{"report_id":"6581761b-af0f-4cf0-9867-3a2cc9b5b467","version":0,"status":"done","tags":[],"date":"2026-07-27T11:43:37Z","url":{"schema":"http","addr":"meta-drop.top","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":0,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"final":{"url":{"schema":"https","addr":"meta-drop.top/","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"title":"AYAK Protocol — Next-Gen DeFi Infrastructure","dom":{"size":80185,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (24350)","md5":"7a1ff2f4edc96c25280988a36b2044bc","sha1":"6ad4e55dfa7bc174ad8fad3e25704b4f4cbf76f0","sha256":"3945c8d74669fb440f52165434f5da69b3d50d14c101ef21c1e71895943914ce","sha512":"2610bacad12baf481294bc7b9d46b67f85ff5194e8409396b34ea6917ff84b6616c50376a2b851857bd15bc604e7efba49adc6b5e6cd494dd1ca670ac3a8b307","ssdeep":"1536:ukhcIGVGlb+UO39c/XO8uidVpHeTYFGjFn/4BP:nq39oeTYFGjFn/4BP","tlshash":"6c73c7706590103ab93fc3926ac1eb08b6a08407ee371e5ef5bdd249cfc3f9e5621665","dom_hash":"domhash8b05cb8d5b7d02c3232bb3d0fbe557c2","first_seen":"2026-07-27T07:53:30.265452Z","last_seen":"2026-07-27T11:44:45.116731Z","times_seen":3,"resource_available":false,"data":null}},"submit":{"url":{"schema":"http","addr":"meta-drop.top","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":0,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T11:43:37Z","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":3}},"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":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"opendns","sensor_type":"DNS","title":"OpenDNS","description":"OpenDNS","scan_date":"2026-07-27","alert":"Phishing Block","trigger":"meta-drop.top","verdict":"phishing","severity":"medium","comment":"","link":"https://www.opendns.com/","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null},"summary":[{"fqdn":"fonts.googleapis.com","ip":{"addr":"142.250.178.74","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":1,"received_data":25420,"sent_data":601,"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":"fonts.gstatic.com","ip":{"addr":"142.250.178.67","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":5,"received_data":217133,"sent_data":2863,"comment":"","tags":null,"fingerprints":null},{"fqdn":"meta-drop.top","ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"domain_registered":"2026-07-19","domain_rank":0,"first_seen":"2026-07-27T07:53:24.168805Z","last_seen":"2026-07-27T07:53:24.168805Z","alert_count":39,"request_count":13,"received_data":6849915,"sent_data":5871,"comment":"","tags":null,"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":"Ubuntu","description":"Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.","website":"https://www.ubuntu.com/server","common_platform_enumeration":"cpe:2.3:o:canonical:ubuntu_linux:*:*:*:*:*:*:*:*","icon":"Ubuntu.svg","categories":["Operating systems"]},{"name":"Nginx:1.24.0","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":"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"]}]},{"fqdn":"min-api.cryptocompare.com","ip":{"addr":"104.18.30.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2013-11-03","domain_rank":433733,"first_seen":"2017-01-31T12:53:23Z","last_seen":"2026-07-24T04:07:55.365303Z","alert_count":0,"request_count":1,"received_data":646,"sent_data":538,"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":"insert_server_domain_here","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"unknown","domain_rank":0,"first_seen":"2026-07-27T11:43:44.496382Z","last_seen":"2026-07-27T11:43:44.496382Z","alert_count":0,"request_count":2,"received_data":0,"sent_data":1084,"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":"meta-drop.top/","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":true,"md5":"e4ed32ddf75071567bab07f221e89349","sha1":"701e2c10d38b38b49feeb9911a16e1cef1f740d5","sha256":"b4b80c3b5cbe346ce56c5e5a5883dcdf25ae2c839cc1263eee5fa2b8125dd549","sha512":"36737aac6e8409d2cab66b021e784415442c22717469be383ce8147a047487d744850a37f01e5fd5c8107e6826e0899f75879d996ca9d711df5aad0e35f79aa5","ssdeep":"","tlshash":"99415391faa13caa11bb51b0823f620567362ece085562c4f7b594507df93581329f99","size":2278,"data":"","first_seen":"2026-07-27T07:53:30.286781Z","last_seen":"2026-07-27T11:44:45.128263Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":true,"md5":"3c2572d7f29e571346da1adbad1492a4","sha1":"3f07368508e40ef5b09b08a1284d1376999ad502","sha256":"7acfa5a2a629759622adf819eafd9f708a7a841cab30bd2fdd21afe27caae191","sha512":"b6a25d58b26b97637e8e64276c54ecbb40389562e8244624c8b74d4606b31500e8585a4e91a57905ceb14626e71ff3c5de25f47323c96257ba6bd9bd1b476a19","ssdeep":"192:OeDK1Q5w1Arg7y71fKhn9AaiQnw3bTFcLT9qpvfNySC:bDKMCAU7W1ih9SC","tlshash":"98e1444d63fb153b615362290f8752157224a0033a07dd5dbe6c83888ff67625a63ff9","size":7071,"data":"","first_seen":"2026-07-27T07:53:30.287857Z","last_seen":"2026-07-27T11:44:45.128859Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-modal.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":false,"md5":"193131d9efe19530d67acafb9e6a670c","sha1":"351361c74b47a62e12a8f39f1c42430ca5881fba","sha256":"be9a39ffd43e717b62eaf4705ce23745aea971f98321a1ea2bf5999f03e797fd","sha512":"3833ee348b4f552875752aef970e7080b61cf1547ef5c4d271029b51bb147a1796c873909dc78fbfe2cb75d4eb5a519a8251ec2bb03ebefdb71b552303759a9b","ssdeep":"384:cuWDybNOzbg3vFixl0blqHuCIELDy/l+ziayRk+d21zeDFZPtDhDeaTCJELhbpqL:8839sl08OvELDil+AkuBCAhqF2qDeHFM","tlshash":"2e33a6b02bfd1274403f43437a991e663b2024bb9b6a7f0571fd2b918f86e4dc9264d5","size":50321,"data":"","first_seen":"2026-07-27T07:53:30.28078Z","last_seen":"2026-07-27T11:44:45.125773Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-loader.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":false,"md5":"4b64ec349c7eeb4324f4e7c20eb7fc98","sha1":"c09046d05daa28ef73e4bf3b58bd6518ce98a271","sha256":"801d62fc02f89e7c1b414392e066dcda139ea3154cb3a48da721ff9a9df49f1f","sha512":"e92c61f409b0a56e41654c1f867089473bed649bf3a8d7167fd1a179993295863f20d0a63b20c5e2c20ba6ee55dab82802c06591cd39d188489a479deefc8b23","ssdeep":"768:sCoOXPhfU4Ui8YG7uOFQgauwF4ifTSQoc8S:SOXXwYG7XQTd4irgS","tlshash":"5b13b8f957a0a8f089a787d5aa131e09fa159c77c7624315f2bc274dbfd2e0cc806e91","size":41716,"data":"","first_seen":"2023-10-17T15:07:19Z","last_seen":"2026-08-03T21:00:55.094799Z","times_seen":405,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-module.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":false,"md5":"d03c4ad3e137ce6485f6b3be0e8c687d","sha1":"9758374b03658c41f7bc2a177ab32dbca0e673a0","sha256":"571b68cfb2c3208ba5bd8420dafc5827de5815a9c72718e2324711fbd3b00f12","sha512":"62ae8ea5cc8e7cc7849334fb9bea591dda0006fc03664a62061434bafa1b5b8c1eabfa971884863b26def3938216bb092773d0828e22199fb70f0293433c9776","ssdeep":"6144:srR7xwaDNbrkU6twbWCNvmsMMi3kXScvbKKLNehw8K0ZpV0aX0/g3Evi2Iyj+DOo:s97xwkk/CWamsM1U1bKC0/VukePg","tlshash":"8f45f9c47691b095c3a25ad1446fd00ae33dfd647c8c4169bb57ecf32ca8a89512bf3a","size":1181323,"data":"","first_seen":"2023-04-05T17:45:39Z","last_seen":"2026-08-03T12:41:36.367111Z","times_seen":347,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-alert.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":false,"md5":"f6309738593ca0c1bd04700c4f01bc3c","sha1":"50d56a5bed5242c3ff2cae3e3fbef5522c26cfea","sha256":"22becfcf833e51cc71faf4b3a99c596e5ef3879543f7007065c8a9730692b6ad","sha512":"f8d5374e47b6bc6d63f22bf9fc836ab4c7dfc4d015a02c229bcc801fc00af1fe843b1652eeafbfc830774293542902197012c3bfe1cd8ba10ee8316132c218af","ssdeep":"1536:etDaj7HoTsRY7OzoSXMg9pIDBgb89rp4qomjqfSTAFZmvxlZUJZoKOwqYfEQc7AA:aF+balAF8kDoXjD7","tlshash":"1be385692ef210a20dab64bc278ba005b6615117b609cd94bdacd7104fdff3486f27ed","size":145398,"data":"","first_seen":"2023-05-09T18:10:24Z","last_seen":"2026-08-03T12:41:36.361684Z","times_seen":395,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-seaport.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":false,"md5":"b2c6707f1e42c4b0459605b9e5a59e4c","sha1":"283fc30b15c201ab97da67af56ec7415cf7b7814","sha256":"5b2297d0b6a5e047db8893989f3927ded2c9f2a58646dd56add1b1a2e4b69d78","sha512":"575a379c5a92ad3bc0e693275697a679bfa517502f87f45feae110d50f8356ad6600e5f7bbf301425a5be0f45ca91612fb1b93108ec163bed3844f5de2257e49","ssdeep":"24576:VYxEUUAXPiSSwILi93wZcevwrr1LGxaxHxJ4yi8K28KGku:VYxEUUKlu","tlshash":"f5559540a3d16c9a179b8b7ab717b0f6e44f199a38c84c4fd180bc60569c727f9e5af0","size":1394145,"data":"","first_seen":"2024-02-12T02:15:30Z","last_seen":"2026-07-27T11:44:45.130811Z","times_seen":78,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-data.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":false,"md5":"0db7e45ea5f8434056245f3672c3c241","sha1":"93bdf7441fc78be6fe1f67c48faedc72cd3a4e74","sha256":"0e5f7c28c6614ae5f1fba671c315cbf6d4ff809a305503ddc2eb3e1fe908e0d7","sha512":"120f57240748e8bef27b58124c02bd209213629e0e0de8a404f8c7f20f2656c1567c9e82c9b3d8162eaa7a5d97a7f300c797c6d8337b3b679518ac6fadbdb336","ssdeep":"24576:x+39dH71t7GgETJvUUSr2Xi58jbmpgA7q4ph184OYZ:q","tlshash":"db558ca547d05cf029ebc3a2f781ddf80706913255de1ccbd1e7ba8052a7fa5eb6240a","size":1371170,"data":"","first_seen":"2023-06-30T00:51:09Z","last_seen":"2026-08-03T12:41:36.368094Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":false,"md5":"a4c9cd27a3a87560bf829a9c6a414862","sha1":"9029614e7f1a72f56caae7ace6daadde952aba2c","sha256":"1d882679a6ff1c7e2fae4e44abb33f0ca796f722169f2abbf77bd7c9e61ce3c1","sha512":"094ead833a6ef3c563c6dbe1b87ff850165bce344706597fed68829d36312e1f40b5f9269cec627df7711cab96586463c7a2d5a0514bcaf979d786a63a8bdde8","ssdeep":"3072:3/durG2y3vBB202AeLffxMkXzV9UFqS49FpRZ:3/durG2y/n/leLffxMkXzVUuFpr","tlshash":"70f3d8a465f71038806b386d595f51907135f247b08decb13abc9090afcda65cfe3baa","size":163063,"data":"","first_seen":"2026-07-27T07:53:30.273549Z","last_seen":"2026-07-27T11:44:45.127586Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-connect.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":false,"md5":"47f795b848c217887b6b777101941080","sha1":"e35aedb35e68be3a777324fd92adf7396132b7b2","sha256":"39f201db3b9481261cc1660c3c2f9880fb09ef44c1e5fe5d9e2fd9deb818bd10","sha512":"ec7124aea23a2262ca514584d77395d39f27134ed5938b4dee942ef87170067e4195b2e9feb595b68deb412cd1916d539c658f06a36543fe54708ef7869ff93c","ssdeep":"6144:Nyk4F3cPmw7kM9YTIPAIhKVlbolFdQMPjqUY2OoGHFiRlQIiH+O3+2zrbwRbCNvr:0SY0zGliQIipDwRbamsjEmLR","tlshash":"e7f4f984b6a4b061439765a4003f540ff27aba2d780a44bcf654d8f6bcbc98d653bf39","size":747370,"data":"","first_seen":"2023-03-07T14:37:40Z","last_seen":"2026-08-08T06:13:35.481633Z","times_seen":654,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-router.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":false,"md5":"85a56c216646e3aa7ae57bab1b834845","sha1":"2a2cd889995e1d2a2c469afca8e7605034afd2d6","sha256":"c259624218132a2cd36ad673de1ef15631307c4c491c3c63b5e930084b6308ef","sha512":"268f515873f0160d2a49020afdf40a9b2b4a9243df2fce5ba7cad114a8f6771d987573c65688889472c0bc6853a41cc61a42e09457fb5971b61703e540b1be80","ssdeep":"12288:7KY9J6iZolXNgr1uogYc86/O/B1rQnRIwhFhAWsfpD2LeQE8mq:7KY9poNyhdcxWBVQnAVfgLeg","tlshash":"e4d439d472a6f039439753a8547f0186f33d6854700c806cf7acf9eaa8a9599c67bf38","size":624671,"data":"","first_seen":"2023-06-30T00:51:10Z","last_seen":"2026-08-03T12:41:36.358004Z","times_seen":327,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/ethers.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":false,"md5":"71f8c498e792c6179d4e2840228f777a","sha1":"b651545587f6257345dc3de9ddaa444b10dedf3e","sha256":"a66293a6a2bb4dee061a68612be0be3c5c0ab7e4068ab8d98a4a357baf664c73","sha512":"14371563e83bbdce425c035bad34a0d4ae6a2f2ae20ac183602134d8b8b5b5711874d40fbcb3c7344fab4f63237a2f0dedf65b7b458b870dbb8f64ab191a5d32","ssdeep":"12288:TfamYTKkkAJs8P+H8Xb2F/nNuwEYtnob6qQr:TfjkhPaNnN9EYtwo","tlshash":"35f43b80b3b1b0b583c729a4143f6046f63af46a505840a8f659faf279f9d4c957bb3c","size":760171,"data":"","first_seen":"2023-03-13T00:48:53Z","last_seen":"2026-08-10T23:53:05.848Z","times_seen":3788,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/ethereum-tx.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"introduction_type":"scriptElement","is_inline":false,"md5":"75df8d29cd9c96b0f29edf2b940da23b","sha1":"de4e9f213eb0b0c77ed78e54f35c093800499301","sha256":"5c9805c397f6744b6bf1aafdc22980094c41e659c636aa453981659fdf873eaf","sha512":"eb8600f68e6da8d03479718ac024d83cc377b6caffb82c7e3806e1cf7cd21d8056e7ffd1db65a5af1624a3c00b6e96571a8460da7dff79f861e7962030f05ef9","ssdeep":"3072:FRpgpHv8o3GVhs8YgHbGpLsev6nshcn1v41C7d8WrB33Tw+8nbdJ7b53Q:FkGVBfCNvmsg1vQcKdQ","tlshash":"26642a89f6607451436671a4012f640ff67afa2e5949006cf258e8fb3df89c9963bf38","size":324950,"data":"","first_seen":"2023-04-05T17:45:39Z","last_seen":"2026-08-03T12:41:36.357102Z","times_seen":377,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":[{"level":"log","text":"[AYAK] Platform initialized — Premium Landing Page v2.0","filename":"https://meta-drop.top/","line_number":676,"column_number":9},{"level":"log","text":"NetworkError when attempting to fetch resource.","filename":"https://meta-drop.top/assets/web3-provider.js","line_number":587,"column_number":13},{"level":"log","text":"NetworkError when attempting to fetch resource.","filename":"https://meta-drop.top/assets/web3-provider.js","line_number":98,"column_number":13},{"level":"log","text":"NetworkError when attempting to fetch resource.","filename":"https://meta-drop.top/assets/web3-provider.js","line_number":587,"column_number":13},{"level":"log","text":"can't access property 1, MS_Settings.RPCs is undefined","filename":"https://meta-drop.top/assets/web3-provider.js","line_number":3713,"column_number":13}]},"http":[{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-data.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:07.863Z","timestamp":1785152587863,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"meta-drop.top","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 19 Jul 2026 23:27:50 GMT","end":"Sat, 17 Oct 2026 23:27:49 GMT"},"fingerprint":{"sha1":"67:D4:87:A1:51:D4:1D:BB:BB:77:02:2B:B6:56:97:52:78:DA:92:C1","sha256":"67:DA:68:05:20:35:91:18:5A:EF:52:AD:9A:51:70:A4:D4:60:E6:DA:FE:67:E3:E1:6C:3F:13:4D:D1:7C:6D:E4"}}},"request":{"raw":"GET /assets/web3-provider/web3-data.js HTTP/1.1\r\nHost: meta-drop.top\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://meta-drop.top/\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/1.1 200 OK\r\nServer: nginx/1.24.0 (Ubuntu)\r\nDate: Mon, 27 Jul 2026 11:43:08 GMT\r\nContent-Type: application/javascript; charset=UTF-8\r\nContent-Length: 1371170\r\nConnection: keep-alive\r\nX-Powered-By: Express\r\nAccess-Control-Allow-Origin: *\r\nAccept-Ranges: bytes\r\nCache-Control: public, max-age=0\r\nLast-Modified: Fri, 10 Jan 2025 13:06:25 GMT\r\nETag: W/\"14ec22-1945052b468\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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":"Ubuntu","description":"Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.","website":"https://www.ubuntu.com/server","common_platform_enumeration":"cpe:2.3:o:canonical:ubuntu_linux:*:*:*:*:*:*:*:*","icon":"Ubuntu.svg","categories":["Operating systems"]},{"name":"Nginx:1.24.0","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":"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":1371170,"size_decoded":1371546,"mime_type":"application/javascript; charset=UTF-8","magic":"ASCII text, with very long lines (50156), with CRLF line terminators","md5":"593fe112236e6db2f6b5de107a784c84","sha1":"3f4f7741358e4db02a665fafb479415260797ef8","sha256":"ca6fccf55e9e90bbe35a4ece74355fc1485c2a6d00bf7af0a4f2b11bfacbc18d","sha512":"43077452a37a755f742821c95c42567be6fa9c8cb50a5926068bf8bef5885b0b2e886ee7b5921f7b8a315ccd5430f5c9eb608cc5aede934b5a84fffe8afb487c","ssdeep":"24576:x+39dH71t7GgETJvUUSr2Xi58jbmpgA7qa:K","tlshash":"b6258ca557d05cf029ebc3a2f780ddf80706913265ce1ccbd1e7ba8052a7fa5e76640a","first_seen":"2025-08-06T14:19:38.880602Z","last_seen":"2026-08-03T12:41:36.35519Z","times_seen":66,"resource_available":false,"data":"Y29uc3QgTVNfUGFuY2FrZV9XaGl0ZWxpc3QgPSBbIjB4MEUwOUZhQkI3M0JkM0FkZTBhMTdFQ0MzMjFmRDEzYTE5ZTgxY0U4MiIsIjB4RmVlYTBiRGQzRDA3ZWI2RkUzMDU5Mzg4NzhDMGNhREJGYTE2OTA0MiIsIjB4QmM3ZDZCNTA2MTY5ODk2NTVBZkQ2ODJmYjQyNzQzNTA3MDAzMDU2RCIsIjB4M0VFMjIwMEVmYjM0MDBmQWJCOUFhY0YzMTI5N2NCZEQxZDQzNUQ0NyIsIjB4NmJmRjRGYjE2MTM0N2FkN2RlNEE2MjVBRTVhYTNBMUNBNzA3NzgxOSIsIjB4MTJmMzFCNzNEODEyQzZCYjBkNzM1YTIxOGMwODZkNDRENWZlNWY4OSIsIjB4QUM1MTA2NmQ3YkVDNjVEYzQ1ODkzNjhkYTM2OGIyMTI3NDVkNjNFOCIsIjB4YzVFNjY4OUM5YzhCMDJiZTdDNDk5MTJFZjE5ZTc5Y0YyNDk3N2YwMyIsIjB4OEYwNTI4Y0U1ZUY3QjUxMTUyQTU5NzQ1YkVmREQ5MUQ5NzA5MWQyRiIsIjB4YTFmYWExMTNjYkU1MzQzNkRmMjhGRjBhRWU1NDI3NWMxM0I0MDk3NSIsIjB4REIwMjFiMUIyNDdmZTJGMWZhNTdlMEE4N0M3NDhDYzFFMzIxRjA3RiIsIjB4ZjMwNzkxMEE0YzdiYmM3OTY5MWZEMzc0ODg5YjM2ZDg1MzFCMDhlMyIsIjB4NTJGMjRhNWUwM2FlZTMzOERhNWZkOURmNjhEMmI2RkFlMTE3ODgyNyIsIjB4ZTA1QTA4MjI2YzQ5YjYzNkFDZjk5YzQwRGE4REM2YUY4M0NFNWJCMyIsIjB4Q0ExYUNBQjE0ZTg1RjMwOTk2YUM4M2M2NGZGOTNEZWQ3NTg2OTc3QyIsIjB4NTkyMURFRTg1NTZjNDU5M0VlRkNGYWQzQ0E1ZTJmNjE4NjA2NDgzYiIsIjB4NDBDODIyNTMyOUJkM2UyOEEwNDNCMDI5RTBEMDdhNTM0NGQyQzI3QyIsIjB4Qzc2MjA0M0UyMTE1NzFlQjM0ZjFlZjM3N2U1ZThlNzY5MTQ5NjJmOSIsIjB4NzhGNWQzODlGNUNEQ2NGYzQxNTk0YUJhQjRCMEVkMDJGMzEzOThiMyIsIjB4MzdkZkFDZmFlREE4MDE0MzdGZjY0OEExNTU5ZDczZjRDNDBhQWNiNyIsIjB4Q2ZGRDREM0I1MTdiNzdCRTMyQzc2REE3Njg2MzRkRTZDNzM4ODg5QiIsIjB4NkY3NjlFNjVjMTRFYmQxZjY4ODE3RjVmMURjRGI2MUNmYTJENmY3ZSIsIjB4NjY3OWVCMjRGNTlkRmUxMTE4NjRBRWM3MkI0NDNkMURhNjY2QjM2MCIsIjB4ODBENWY5MkMyYzhDNjgyMDcwQzk1NDk1MzEzZERCNjgwQjI2NzMyMCIsIjB4QTIxMjBiOWU2NzRkM2ZDMzg3NWY0MTVBN0RGNTJlMzgyRjE0MTIyNSIsIjB4MjVFOWQwNTM2NWM4NjdFNTlDMTkwNEU3NDYzQWY5RjMxMjI5NmY5RSIsIjB4MEViM2E3MDVmYzU0NzI1MDM3Q0M5ZTAwOGJEZWRlNjk3ZjYyRjMzNSIsIjB4YTE4NDA4OGE3NDBjNjk1RTE1NkY5MWY1Y0MwODZhMDZiYjc4YjgyNyIsIjB4OGIxZjQ0MzJGOTQzYzQ2NUE5NzNGZURDNmQ3YWE1MEZjOTZmMWY2NSIsIjB4NDI2OEI4RjBCODdiNkVhZTVkODk3OTk2RTZiODQ1ZGRiRDk5QWRmMyIsIjB4NzE1RDQwMEY4OEMxNjc4ODRiYkNjNDFDNUZlQTQwN2VkNEQyZjhBMCIsIjB4ZEI4RDMwYjc0YmYwOThhRjIxNGU4NjJDOTBFNjQ3YmJCMWZjQzU4YyIsIjB4RTAyZEY5ZTNlNjIyRGVCZEQ2OWZiODM4YkI3OTlFM0YxNjg5MDJjNSIsIjB4NzJmQWE2NzlFMTAwOEFkODM4Mjk1OUZGNDhFMzkyMDQyQThiMDZmNyIsIjB4QUQ2Y0FFYjMyQ0QyYzMwODk4MGE1NDhiRDBCYzVBQTQzMDZjNmMxOCIsIjB4MTAxZDgyNDI4NDM3MTI3YkYxNjA4RjY5OUNENjUxZTZBYmY5NzY2RSIsIjB4MGJjODlhYTk4QWQ5NEU2Nzk4RWM4MjJkMDgxNGQ5MzRjQ0QwYzBjRSIsIjB4MUY3MjE2ZmRCMzM4MjQ3NTEyRWM5OTcxNTU4N2JiOTdCQmY5NmVhZSIsIjB4RDQ4NDc0RTc0NDQ3MjdiRjUwMGEzMkQ1QWJFMDE5NDNmM0E1OUE2NCIsIjB4MDQ1YzQzMjQwMzlkQTkxYzUyQzU1REY1RDc4NTM4NUFhYjA3M0RjRiIsIjB4OGZGNzk1YTZGNEQ5N0U3ODg3Qzc5YmVBNzlhYmE1Y2M3NjQ0NGFEZiIsIjB4MDBlMTY1NmU0NWYxOGVjNjc0N0Y1YTg0OTZGZDM5QjUwYjM4Mzk2RCIsIjB4NTk4NkQ1Yzc3YzY1ZTU4MDFhNWNBYTRmQUU4MDA4OWY4NzBBNzFkQSIsIjB4MTkwYjU4OWNmOUZiOERERWFiQkZlYWUzNmE4MTNGRmIyQTcwMjQ1NCIsIjB4ODQ0M2YwOTE5OTdmMDZhNjE2NzBCNzM1RUQ5MjczNEY1NjI4NjkyRiIsIjB4RTBlNTE0YzcxMjgyYjZmNGU4MjM3MDNhMzkzNzRDZjU4ZGMzZUE0ZiIsIjB4QmUxYTAwMUZFOTQyZjk2RWVhMjJiQTA4NzgzMTQwQjlEY2MwOUQyOCIsIjB4MjUwNjMyMzc4RTU3M2M2QmUxQUMyZjk3RmNkZjAwNTE1ZDBBYTkxQiIsIjB4ODE4NTk4MDFiMDE3NjRENGYwRmE1RTY0NzI5ZjVhNkMzYjkxNDM1YiIsIjB4Q2EzRjUwOEI4ZTREZDM4MmVFODc4QTMxNDc4OTM3M0Q4MEE1MTkwQSIsIjB4NjM4NzBBMThCNmU0MmIwMUVmMUFkOEEyMzAyZWY1MEI3MTMyMDU0RiIsIjB4MDhiYTA2MTliMWU3QTU4MkUwQkNlNUJCRTk4NDMzMjJDOTU0QzM0MCIsIjB4NDEzMWI4N0Y3NDQxNTE5MDQyNWNjRDg3MzA0OEM3MDhGODAwNTgyMyIsIjB4MWJkZDNDZjdGNzljZkI4RWRiQjk1NWYyMGFkOTkyMTE1NTFCQTI3NSIsIjB4NUQwMTU4QTVjM2RkRjQ3ZDRFYTQ1MTdkOERCMEQ3NmFBMmU4NzU2MyIsIjB4ZmZFZWNiZjhENzI2Nzc1N2MyZGMzZDEzRDczMEU5N0UxNUJmZEY3RiIsIjB4QUNCOGY1MkRDNjNCQjc1MmE1MTE4NkQxYzU1ODY4QURiRmZFZTlDMSIsIjB4RTY0RjVDYjg0NDk0NkMxRjEwMkJkMjViQkQ4N2E1YUI0YUU4OUZiZSIsIjB4Zjg1OUJmNzdjQmU4Njk5MDEzZDZEYmM3QzJiOTI2QWFmMzA3RjgzMCIsIjB4NDBFNDZkRTE3NGRmQjc3NkJCODlFMDRkRjFDNDdkOGE2Njg1NUVCMyIsIjB4NUEzMDEwZDRkOEQzQjVmQjQ5ZjhCNkU1N0ZCOUU0ODA2M2YxNjcwMCIsIjB4NUFjNTJFRTViMmE2MzM4OTUyOTJGZjZkOEE4OWJCOTE5MDQ1MTU4NyIsIjB4OTY1RjUyN0Q5MTU5ZENlNjI4OGEyMjE5REI1MWZjNkVlZjEyMGREMSIsIjB4NzEzMGQyQTEyQjlCQ2JGQWU0ZjI2MzRkODY0QTFFZTFDZTNFYWQ5YyIsIjB4Nzg2NTBCMTM5NDcxNTIwNjU2YjlFN2FBN0E1ZTkyNzY4MTRhMzhlOSIsIjB4NWExNkU4Y0U4Y0EzMTY0MDdjNkU2MzA3MDk1ZGM5NTQwYThENjJCMyIsIjB4MzUyQ2I1RTE5YjEyRkMyMTY1NDhhMjY3N2JEMGZjZTgzQmFFNDM0QiIsIjB4ODU5NUY5ZEE3Yjg2OGIxODIyMTk0ZkFFZDMxMjIzNUU0MzAwN2I0OSIsIjB4Qzk4NDlFNmZkQjc0M2QwOGZBZUUzRTM0ZGQyRDFiYzY5RUExMWE1MSIsIjB4QWU5MjY5ZjI3NDM3ZjBmY0JDMjMyZDM5RWM4MTQ4NDRhNTFkNmI4ZiIsIjB4ZTllN0NFQTNEZWRjQTU5ODQ3ODBCYWZjNTk5YkQ2OUFEZDA4N0Q1NiIsIjB4MjExRmZiRTQyNGI5MGUyNWExNTUzMWNhMzIyYWRGMTU1OTc3OUU0NSIsIjB4YUVDOTQ1ZTA0YmFGMjhiMTM1RmE3YzY0MGY2MjRmOEQ5MEYxQzNhNiIsIjB4RmZCYTc1MjlBQzE4MWMyRWUxODQ0NTQ4ZTZENzA2MWM5QTU5N2RGNCIsIjB4NUM4QzhENTYwMDQ4RjM0RTVmN2Y4YWQ3MWYyZjgxYTg5REJkMjczZSIsIjB4ZTBGOTRBYzU0NjI5OTdEMkJDNTcyODdBYzNhM2FFNEMzMTM0NUQ2NiIsIjB4MTYxMzk1NzE1OUU5QjBhYzZjODBlODI0RjdFZWE3NDhhMzJhMEFFMiIsIjB4OTg0MDY1MkRDMDRmYjlkYjJDNDM4NTM2MzNmMEY2MkJFNmYwMGY5OCIsIjB4N2U5QUI1NjBkMzdFNjI4ODNFODgyNDc0YjA5NjY0M2NhQjIzNEI2NSIsIjB4MjBkZTIyMDI5YWI2M2NmOUE3Q2Y1ZkVCMmI3MzdDYTFlRTRjODJBNiIsIjB4ZjlDZUM4ZDUwZjZjOGFkM0ZiNmRjQ0VDNTc3ZTA1YUEzMkIyMjRGRSIsIjB4OTM2QjY2NTlBZDBDMWIyNDRCYThFZmU2MzkwOTJhY2FlMzBkYzhkNiIsIjB4NTJDRTA3MUJkOWIxQzRCMDBBMGI5MkQyOThjNTEyNDc4Q2FENjdlOCIsIjB4OTZEZDM5OUY5YzNBRmRhMUYxOTQxODJGNzE2MDBGMUI2NTk0NjUwMSIsIjB4ZDRDQjMyOEE4MmJEZjVmMDNlQjczN2YzN0ZhNkIzNzBhZWYzZTg4OCIsIjB4MDQ3NTYxMjZGMDQ0NjM0QzlhMGYwRTk4NWU2MGM4OGE1MUFDQzIwNiIsIjB4QThjMkI4ZWVjM2QzNjhDMDI1M2FkM2RhZTY1YTVGMkJCQjg5YzkyOSIsIjB4NUVjM0FkQkRhZTU0OURjZTg0MmUyNDQ4MEViMjQzNDc2OWUyMkIyRSIsIjB4ODEwRUUzNTQ0MzYzOTM0OGFEYmJDNDY3YjMzMzEwZDJBQjQzYzE2OCIsIjB4MUFGM0YzMjllOEJFMTU0MDc0RDg3NjlEMUZGYTRlRTA1OEIxREJjMyIsIjB4MjNDRTllOTI2MDQ4MjczZUY4M2JlMEEzQThCYTlDYjZENDVjZDk3OCIsIjB4M0ZkQTkzODNBODRDMDVlQzhmNzYzMEZlMTBBZEYxZkFDMTMyNDFDQyIsIjB4ZTYwZWFmNUE5OTdERkFlODM3MzllMDM1YjAwNUEzM0FmZENjNmRmNSIsIjB4MDM5Y0I0ODUyMTJmOTk2QTlEQmI4NUE5YTc1ZDg5OEY5NGQzOGRBNiIsIjB4OTg5OWE5OGIyMjJmQ2IyZjNkYmVlN2RGNDVkOTQzMDkzYTRmZjlmZiIsIjB4NDI3MTJkRjUwMDljMjBmZWUzNDBCMjQ1YjUxMGMwMzk1ODk2Y0Y2ZSIsIjB4OUZkYzNhZTVjODE0Yjc5ZGNBMjU1NjU2NDA0N0M1ZTdlNTQ0OUMxOSIsIjB4MjMzZDkxQTA3MTMxNTUwMDNmYzREY0UwQUZhODcxYjUwOEIzQjcxNSIsIjB4N0NlYjUxOTcxOEE4MERkNzhhODU0NUFEOGU3ZjQwMWRFNGYyZmFBNyIsIjB4NjdlZTNDYjA4NkY4YTE2ZjM0YmVFM2NhNzJGQUQzNkY3RGI5MjllMiIsIjB4YkEyYUU0MjRkOTYwYzI2MjQ3RGQ2YzMyZWRDNzBCMjk1Yzc0NEM0MyIsIjB4NzA4MzYwOWZDRTRkMWQ4RGMwQzk3OUFBYjhjODY5RWEyQzg3MzQwMiIsIjB4RTY5Y0FlZjEwQTQ4OEQ3QUYzMURhNDZjODkxNTRkMDI1NTQ2ZTk5MCIsIjB4OTVFRTAzZTFlMkM1YzQ4NzdmOUEyOThGMUMwRDZjOTg2OThGQUI3QiIsIjB4QjJCRDA3NDlEQkUyMWY2MjNkOUJBQmE4NTZEM0IwZjBlMUJGRWM5QyIsIjB4NzU4RkIwMzdBMzc1RjE3YzdlMTk1Q0M2MzRENzdkQTRGNTU0MjU1QiIsIjB4QmRFQWUxY0E0ODg5NEExNzU5QTgzNzRENjM5MjVmMjFmMkVlMjYzOSIsIjB4YkY3YzgxRkZGOThCYkU2MUI0MEVkMTg2ZTRBZkQ2RERkMDEzMzdmZSIsIjB4N2JkNkZhQkQ2NDgxM2M0ODU0NUM5YzBlMzEyQTAwOTlkOWJlMjU0MCIsIjB4NTZiNmZCNzA4ZkM1NzMyREVDMUFmYzhEODU1NjQyM0EyRURjQ2JENiIsIjB4QTdmNTUyMDc4ZGNDMjQ3QzI2ODQzMzYwMjBjMDM2NDg1MDBDNmQ5RiIsIjB4NmY5RjBjNGFkOUFmN0ViRDYxQWM1QTFENGUwRjIyMjdGN0IwRTVmOSIsIjB4NjI4MjM2NTlkMDlGOUY5RDIyMjIwNTg4NzhmODk0Mzc0MjVlQjI2MSIsIjB4RDQ0RkQwOWQ3NGNkMTM4MzhGMTM3QjU5MDQ5NzU5NWQ2YjNGRWVBNCIsIjB4MjE3MEVkMDg4MGFjOUE3NTVmZDI5QjI2ODg5NTZCRDk1OUY5MzNGOCIsIjB4NTUxMjAxNGVmYTZDZDU3NzY0RmE3NDM3NTZGN2E2Q2UzMzU4Y0M4MyIsIjB4NGYzOWMzMzE5MTg4QTcyMzAwMzY3MGMzRjlCOWU3RUY5OTFFNTJGMyIsIjB4MEQ4Q2UyQTk5QmI2ZTNCN0RiNTgwZUQ4NDgyNDBlNGEwRjlhRTE1MyIsIjB4NDI2YzcyNzAxODMzZmREQmRGYzA2Yzk0NDczN0M2MDMxNjQ1YzcwOCIsIjB4NGU2NDE1YTU3MjdlYTA4YUFFNDU4MDA1NzE4NzkyM2FlQzMzMTIyNyIsIjB4NjU4QTEwOUM1OTAwQkM2ZDIzNTdjODc1NDlCNjUxNjcwRTViMDUzOSIsIjB4MjVBNTI4YWY2MmU1NjUxMkExOWNlOGMzY0FCNDI3ODA3YzI4Q0MxOSIsIjB4OTI4ZTU1ZGFCNzM1YWE4MjYwQUYzY0VEYWRBMThCNWY3MEM3MmYxYiIsIjB4ZTM2OWZlYzIzMzgwZjlGMTRmZkQwN2ExREM0YjdjMWE5ZmREODFjOSIsIjB4MjA5MGM4Mjk1NzY5NzkxYWI3QTNDRjFDQzZlMEFBMTlGMzVlNDQxQSIsIjB4NTg1N2M5NkRhRTljRjg1MTFCMDhDYjA3Zjg1NzUzQzQ3MkQzNkVhMyIsIjB4ZTRDYzQ1QmI1REJEQTA2ZEI2MTgzRThiZjAxNjU2OWY0MDQ5N0FhNSIsIjB4YjQ0MDREYUI3QzBlQzQ4YjQyOENmMzdEZUM3ZmI2MjhiY0M0MUIzNiIsIjB4ZTI2MDRDOTU2MUQ0OTA2MjRBQTM1ZTE1NmU2NWU1OTBlQjc0OTUxOSIsIjB4ODRlOWE2RjlEMjQwRmREMzM4MDFmNzEzNTkwOEJmQTE2ODY2OTM5QSIsIjB4OTNEOGQyNUUzQzlBODQ3YTVEYTc5Rjc5ZWNhQzg5NDYxRkVjQTg0NiIsIjB4MzAxOUJGMmEyZUY4MDQwQzI0MkM5YTRjNWM0QkQ0QzgxNjc4YjJBMSIsIjB4RjcwMEQ0YzcwOEMyYmUxNDYzRTM1NUYzMzc2MDMxODNEMjBFMDgwOCIsIjB4YzUzNzA4NjY0Yjk5REYzNDhkZDI3QzNBYzA3NTlkMkRBOWM0MDQ2MiIsIjB4YUE5RTU4MmU1NzUxZDcwM0Y4NTkxMjkwM2JhY0FEZEZlZDI2NDg0QyIsIjB4MUQxZWI4RTgyOTMyMjJlMWEyOWQyQzBFNGNFNkMwQWNmZDg5QWFhQyIsIjB4RjVkOEEwOTZDY0NiMzFiOUQ3YmNFNWFmRTgxMkJFMjNlM0Q0NjkwZCIsIjB4Zjc5MDM3RjZmNmJFNjY4MzJERTRFNzUxNmJlNTI4MjZCQzNjQmNjNCIsIjB4MDc4MmI2ZDhjNDU1MUI5NzYwZTc0YzA1NDVhOWJDRDkwYmRjNDFFNSIsIjB4OTQ4ZDJhODEwODZBMDc1YjMxMzBCQWMxOWU0YzZERWUxRDJFM2ZFOCIsIjB4RDQwYkVEYjQ0QzA4MUQyOTM1ZWViQTZlRjVhM2M4QTMxQTFiQkUxMyIsIjB4RTgxNzZkNDE0NTYwY0ZFMUJmODJGZDczQjk4NjgyM0I4OUU0RjU0NSIsIjB4NDRFYzgwN2NlMkY0YTZGMjczN0E5MmU5ODVmMzE4ZDAzNTg4M2U0NyIsIjB4QzdkOEQzNUVCQTU4YTA5MzVmZjJENWEzM0RmMTA1REQ5ZjA3MTczMSIsIjB4NWY0QmRlMDA3RGMwNmI4NjdmODZFQkZFNDgwMmUzNEExZkZFRWQ2MyIsIjB4RTFkMUY2NjIxNTk5ODc4NjExMEJhMDEwMmVmNTU4YjIyMjI0QzAxNiIsIjB4YTI2MEUxMmQyQjkyNGNiODk5QUU4MEJCNTgxMjNhYzNmRUUxRTJGMCIsIjB4RjE5Y2ZiNDBCMzc3NGRGNkVlZDgzMTY5QWQ1YUIwQWFmNjg2NUYyNSIsIjB4NEZBNzE2M0UxNTM0MTlFMEUxMDY0ZTQxOGRkN0E5OTMxNEVkMjdiNiIsIjB4NGU4NDBBQUREMjhEQTE4OUI5OTA2Njc0QjRBZmNiNzdDMTI4ZDllYSIsIjB4NUUyNjg5NDEyRmFlNWMyOUJENTc1ZmJlMWQ1QzFDRDFlMDYyMkE4ZiIsIjB4QzBlRmY3NzQ5YjEyNTQ0NDk1M2VmODk2ODIyMDFGYjhjNkE5MTdDRCIsIjB4MmRmRjg4QTU2NzY3MjIzQTU1MjllQTU5NjBEYTdBM0Y1Zjc2NjQwNiIsIjB4MGIxNURkZjE5RDQ3RTZhODZBNTYxNDhmYjRhRkZGYzY5MjlCY0I4OSIsIjB4QjBlMWZjNjVDMWE3NDFiNDY2MkI4MTNlQjc4N2QzNjliODYxNEFmMSIsIjB4YTJCNzI2QjExNDVBNDc3M0Y2ODU5M0NGMTcxMTg3ZDhFQmU0ZDQ5NSIsIjB4MzE5MkNDRGRmMUNEY0U0RmYwNTVFYkM4MGYzRjAyMzFiODZBN0UzMCIsIjB4OTY3OEU0MmNlQkViNjNGMjMxOTdENzI2QjI5YjFDQjIwZDAwNjRFNSIsIjB4MTU2NjlDRjE2MTk0NkMwOWE4QjIwNzY1MEJmQkIwMGUzZDhBMkUzRSIsIjB4QzEzQjdhNDMyMjNCQjlCZjRCNjlCRDY4QWIyMGNhMUI3OWQ4MUM3NSIsIjB4QzQwQzlBODQzRTFjNkQwMWI3NTc4Mjg0YTkwMjg4NTRmNjY4M2IxQiIsIjB4NEJBMDA1N2Y3ODQ4NThhNDhmZTM1MTQ0NUM2NzJGRjJhM2Q0MzUxNSIsIjB4OEJEZDhEQmNCRGYwQzA2NmNBNWYzMjg2ZDMzNjczYUE3QTU1M0MxMCIsIjB4NUY4OEFCMDZlOGRmZTg5REYxMjdCMjQzMEJiYTRBZjYwMDg2NjAzNSIsIjB4MzdiNTM4OTRlNzQyOWY3OTRCNTZGMjJhMzJFMTY5NTU2N0VlOTkxMyIsIjB4REFlNmMyQTQ4QkZBQTY2YjQzODE1YzU1NDhiMTA4MDA5MTljOTkzRSIsIjB4MUEyZmIwQWY2NzBEMDIzNGMyODU3RmFEMzViNzg5RjhDYjcyNTU4NCIsIjB4NzdkNTQ3MjU2QTJjRDk1RjMyRjY3YUUwMzEzRTQ1MEFjMjAwNjQ4ZCIsIjB4QmUyQjZDNUUzMUYyOTIwMDlmNDk1RERCZGE4OGUyODM5MUM5ODE1RSIsIjB4NWQ2ODRBRGFmM0ZjRmU5Q0ZiNWNlRGUzYWJmMDJGMENkZDEwMTJFMyIsIjB4MDM3ODM4YjU1NmQ5YzlkNjU0MTQ4YTI4NDY4MkM1NWJCNWY1NmVGNCIsIjB4NzYyNTM5YjQ1QTFkQ2NFM0QzNmQwODBGNzRkMUFFRDM3ODQ0Yjg3OCIsIjB4RjhBMEJGOWNGNTRCYjkyRjE3Mzc0ZDllOUEzMjFFNmExMTFhNTFiRCIsIjB4YjU5NDkwYUIwOUEwZjUyNkNjNzMwNTgyMmFDNjVmMkFiMTJmOTcyMyIsIjB4OTYxNzg1N0UxOTEzNTRkYkVBMGI3MTRkNzhCYzU5ZTU3QzQxMTA4NyIsIjB4OTRiNjkyNjNGQ0EyMDExOUFlODE3YjZmNzgzRmMwRjEzQjAyYWQ1MCIsIjB4NTkwRDExYzA2OTZiMDAyMzE3NmY1RDc1ODdkNmIyZjUwMmEwODA0NyIsIjB4NDMzODY2NUNCQjdCMjQ4NUE4ODU1QTEzOWI3NUQ1ZTM0QUIwREI5NCIsIjB4ODU3QjIyMkZjNzllMWNCQmY4Q2E1Zjc4Q0IxMzNkMWI3Q0YzNEJCZCIsIjB4MjNlOGE3MDUzNDMwOGE0QUFGNzZmYjhDMzJlYzEzZDE3YTNCRDg5ZSIsIjB4QjY0RTI4MGU5RDFCNURiRWM0QWNjZURiMjI1N0E4N2I0MDBEQjE0OSIsIjB4Mzk0N0I5OTJEQzAxNDdEMkQ4OWRGMDM5MjIxMzc4MWIwNEIyNTA3NSIsIjB4MjY0MzNjODEyN2Q5YjRlOUI3MUVhYTE1MTExREY5OUVhMkVlQjJmOCIsIjB4MkZBNWRBRjZGZTA3MDhmQkQ2M2IxQTdEMTU5MjU3NzI4NGY1MjI1NiIsIjB4MmVEOWE1QzhDMTNiOTM5NTUxMDNCOWE3QzE2N0I2N0VmNGQ1NjhhMyIsIjB4RjIxODE4NEFmODI5Q2YyYjAwMTlGOEU2RjBiMjQyMzQ5OGEzNjk4MyIsIjB4MThFMzdGOTY2MjhkQjMwMzdkNjMzRkU0RDQ2OUZiMTkzM2E2M0M1QiIsIjB4MzIwM2M5RTQ2Y0E2MThDOEMxY0U1ZEM2N2U3ZTlENzVmNWRhMjM3NyIsIjB4NWZFODBkMkNEMDU0NjQ1Yjk0MTk2NTdkM2QxMGQyNjM5MTc4MEE3QiIsIjB4NDkwMjIwODllNzhhOEQ0NkVjODdBM0FGODZhMURiNmMxODlhRkE2ZiIsIjB4YWNiMmQ0NzgyN0M5ODEzQUUyNkRlODA5NjU4NDVEODA5MzVhZmQwQiIsIjB4ZTU1MkZiNTJhNEYxOWU0NGVmNUE5Njc2MzJEQmMzMjBCMDgyMDYzOSIsIjB4NjJENzFCMjNiRjE1MjE4QzdkMkQ3RTQ4REJiRDllOWM2NTBCMTczZiIsIjB4RDA2NzE2RTFGZjJFNDkyQ2M1MDM0YzJFODE4MDU1NjJkZDNiNDVmYSIsIjB4MkM3MTcwNTliMzY2NzE0ZDI2NzAzOWFGOEY1OTEyNUNBZGNlNkQ4YyIsIjB4NUI2RGNGNTU3RTJhQkUyMzIzYzQ4NDQ1RThDQzk0ODkxMGQ4YzJjOSIsIjB4QjY3NzU0ZjViNEM3MDRBMjRkMmRiNjhlNjYxYjI4NzVhNGRERDE5NyIsIjB4Mzk4Zjc4MjdEY0NiZUZlNjk5MDQ3ODg3NmJCRjM2MTJEOTNiYUYwNSIsIjB4YTA0RjA2MDA3N0Q5MEZlMjY0N0I2MWU0ZEE0YUQxRjk3ZDY2NDlkYyIsIjB4OTU3M2M4OGFFM2UzNzUwOGY4NzY0OWY4N2M0ZGQ1MzczQzlGMzFlMCIsIjB4QmQyOTQ5RjY3RGNkQzU0OWM2RWJlOTg2OTY0NDlGYTc5RDk4OEE5RiIsIjB4RjIxNUExMjdBMTk2ZTM5ODhDMDlkMDUyZTE2QmNGRDM2NUNkN0FBMyIsIjB4OUY4ODI1NjdBNjJhNTU2MGQxNDdkNjQ4NzE3NzZFZUE3MkRmNDFEMyIsIjB4NzU1ZjM0NzA5RTM2OUQzN0M2RmE1MjgwOGFFODRBMzIwMDdkMTE1NSIsIjB4NzU4ZDA4ODY0ZkI2Y0NFMzA2MjY2NzIyNWNhMTBiOEYwMDQ5NmNjMiIsIjB4MUQzNDM3RTU3MGU5MzU4MUJkOTRiMmZkOEZiZjIwMmQ0YTY1NjU0QSIsIjB4MjBlRTdCNzIwZjRFNGM0RkZjQjAwQzQwNjVjZGFlNTUyNzFhRUNDYSIsIjB4NDJGNmY1NTFhZTA0MmNCZTUwQzczOTE1OGI0ZjBDQUMwRWRiOTA5NiIsIjB4OENENmUyOWQzNjg2ZDI0ZDNDMjAxOENFZTU0NjIxZUEwZjg5MzEzQiIsIjB4ZjBFNDA2YzQ5QzYzQWJGMzU4MDMwQTI5OUMwRTAwMTE4QzRDNkJBNSIsIjB4RWU5ODAxNjY5QzYxMzhFODRiRDUwZEVCNTAwODI3Yjc3Njc3N2QyOCIsIjB4Q0Q0MEYyNjcwQ0Y1ODcyMGI2OTQ5Njg2OThBNTUxNGU5MjRGNzQyZCIsIjB4ZjA1RTQ1YUQyMjE1MDY3N2EwMTdGYmQ5NGI4NGZCQjYzZGM5YjQ0YyIsIjB4NjU4RTY0RkZjRjQwRDI0MEE0M0Q1MkNBOTM0MjE0MDMxNkFlNDRmQSIsIjB4YTg2NTE5N0E4NEU3ODA5NTc0MjIyMzdCNUQxNTI3NzI2NTQzNDFGMyIsIjB4MDNmRjBmZjIyNGY5MDRiZTMxMTg0NjEzMzUwNjRiQjQ4RGY0NzkzOCIsIjB4MDRCQWY5NUZkNEM1MmZkMDlhNTZEODQwYkFFZTBBQjhENzM1N2JmMCIsIjB4RmQ3QjNBNzc4NDhmMUMyRDY3RTA1RTU0ZDc4ZDE3NGEwQzg1MDMzNSIsIjB4ZUJkNDliMjYxNjllMWI1MmMwNGNGZDE5RkNmMjg5NDA1ZEY1NUY4MCIsIjB4ZUQyOEE0NTdBNUE3NjU5NmFjNDhkODdDMGY1NzcwMjBGNkVhMWM0QyIsIjB4YmNmMzlGMEVERGE2NjhDNTgzNzFFNTE5QUYzN0NBNzA1ZjJiRmNiZCIsIjB4NjMwZDk4NDI0ZUZlMEVhMjdmQjFiM0FiNzc0MTkwN0RGRkVhQWQ3OCIsIjB4NzM0NTQ4YTllNDNkMkQ1NjQ2MDBiMUIyZWQ1YkU5QzJiOTExYzZhQiIsIjB4MmM0NGI3MjZBREYxOTYzY0E0N0FmODhCMjg0QzA2ZjMwMzgwZkM3OCIsIjB4MjVkODg3Q2U3YTM1MTcyQzYyRmVCRkQ2N2ExODU2RjIwRmFFYkIwMCIsIjB4MEY5RTRENDlmMjVkZTIyYzIyMDJhRjkxNkI2ODFGQkIzNzkwNDk3QiIsIjB4NmEwYjY2NzEwNTY3YjZiZWI4MUE3MUY3ZTk0NjY0NTBhOTFhMzg0YiIsIjB4MDExMmU1NTdkNDAwNDc0NzE3MDU2QzRlNkQ0MGVERDg0NkYzODM1MSIsIjB4RDA2OTU5OUU3MThmOTYzYkQ4NDUwMmI0OWJhOEY4NjU3ZkFGNUIzYSIsIjB4MTc5NmFlMGIwZmE0ODYyNDg1MTA2YTBkZTliNjU0ZUZFMzAxRDBiMiIsIjB4ZGFhY0IwQWI2RmIzNGQyNEU4YTY3QmZBMTRCRjREOTVENEM3YUY5MiIsIjB4YUJhRTg3MUI3RTNiNjdhRWVDNkI0NkFFOUZFMUE5MTY2MEFhZEFDNSIsIjB4NDlmMjE0NWQ2MzY2MDk5ZTEzQjEwRmJGODA2NDZDMEYzNzdlRTdmNiIsIjB4M0ZjY2E4NjQ4NjUxRTViOTc0REQ2ZDNlNTBGNjE1Njc3Nzk3NzJBOCIsIjB4Q2I1MzI3RWQ0NjQ5NTQ4ZTBkNzNFNzBiNjMzY2RmZDk5YUY2RGE4NyIsIjB4ZDA3ZTgyNDQwQTM5NWYzRjM1NTFiNDJkQTkyMTBDRDFFZjRmOEIyNCIsIjB4YUY1M2Q1NmZmOTlmMTMyMjUxNUU1NEZkREU5M0ZGOGIzYjdEQUZkNSIsIjB4RWQ4YzhBYTgyOTlDMTBmMDY3NDk2QkI2NmY4Y0M3RmIzMzhBMzQwNSIsIjB4QmM1NjA5NjEyYjdDNDRCRWY0MjZEZTYwMEI1ZmQxMzc5REIyRWNGMSIsIjB4NEM4ODJlYzI1NjgyM2VFNzczQjI1YjQxNGQzNkY5MmVmNThhN2MwQyIsIjB4MTdCNzE2M2NmMURiZDI4NkUyNjJkZGM2OGI1NTNEODk5QjkzZjUyNiIsIjB4ODcyOTQzOEVCMTVlMkM4QjU3NmZDYzZBZUNkQTZBMTQ4Nzc2QzBGNSIsIjB4QTE0MzRGMUZDM0Y0MzdmYTMzRjdhNzgxRTA0MTk2MUMwMjA1QjVEYSIsIjB4MDdBYUEyOUU2M0ZGRUIyRUJmNTlCMzNlRTYxNDM3RTFhOTFBM2JiMiIsIjB4Nzk2MUFkZTBhNzY3YzBFNUI2N0RkMWExRjc4YmE0NEY3Mjc2NDJFZCIsIjB4OTVhMTE5OUVCQTg0YWM1ZjE5NTQ2NTE5ZTI4N2Q0M0QyRjBFMWI0MSIsIjB4MTJCQjg5MDUwOGMxMjU2NjFFMDNiMDlFQzA2RTQwNGJjOTI4OTA0MCIsIjB4ODUxOUVBNDljOTk3ZjUwY2VmRmE0NDRkMjQwZkI2NTVlODkyNDhBYSIsIjB4ZjdERTdFOEE2YmQ1OUVENDFhNGI1ZmU1MDI3OGIzQjdmMzEzODRkRiIsIjB4RjIxNzY4Y0NCQzczRWE1QjZmZDNDNjg3MjA4YTdjMmRlZjJkOTY2ZSIsIjB4ZkNlMTQ2YkYzMTQ2MTAwY2ZlNWRCNDEyOWNmNkM4MmIwZUY0QWQ4YyIsIjB4ODMzRjMwN2FDNTA3RDQ3MzA5ZkQ4Q0REMUY4MzVCZUY4RDcwMmE5MyIsIjB4MGEzQTIxMzU2NzkzQjQ5MTU0RmQzQmJFOTFDQmMyQTE2YzA0NTdmNSIsIjB4YzIwOThhODkzODExOUE1MkIxRjc2NjE4OTNjMDE1M0E2Q0IxMTZkNSIsIjB4MDc2NjM4MzcyMThBMDAzZTY2MzEwYTAxNTk2YWY0YmY0ZTQ0NjIzRCIsIjB4NjdiNzI1ZDdlMzQyZDdCNjExZmE4NWU4NTlEZjk2OTdEOTM3OEIyZSIsIjB4QTY0NDU1YTQ1NTNDOTAzNDIzNjczNEZhZERBZGRiYjY0YUNFNENjNyIsIjB4M0JDNUFDMGRGZEM4NzFCMzY1ZDE1OWY3MjhkZDFCOUEwQjU0ODFFOCIsIjB4OTBFZDhGMWRjODYzODhmMTRiNjRiYThmYjRiYmQyMzA5OWYxODI0MCIsIjB4RDQxRkRiMDNCYTg0NzYyZEQ2NmEwYWYxYTZDODU0MEZGMWJhNWRmYiIsIjB4NDc3YkM4ZDIzYzYzNEMxNTQwNjE4Njk0NzhiY2U5NkJFNjA0NUQxMiIsIjB4MjMyRkIwNjVEOWQyNGMzNDcwOGVlRGJGMDM3MjRmMmU5NUFCRTc2OCIsIjB4MjA4Y2ZFYzk0ZDJCQThCODUzN2RhN0E5QkIzNjFjNmJhQUQ3NzI3MiIsIjB4Rjk4YjY2MEFkRjJlZDdkOWQ5RDlkQUFDQzJmYjBDQWNlNEYyMTgzNSIsIjB4MTU0QTlGOWNiZDM0NDlBRDIyRkRhRTIzMDQ0MzE5RDZlRjJhMUZhYiIsIjB4MzkxMGRiMDYwMGVBOTI1RjYzQzM2RGRCMTM1MWFCNkUyYzZlYjEwMiIsIjB4NkFBMjE3MzEyOTYwQTIxYURiZGUxNDc4REM4Y0JDZjgyODExMEE2NyIsIjB4MTYzM2I3MTU3ZTc2MzhDNGQ2NTkzNDM2MTExQmYxMjVFZTc0NzAzRiIsIjB4NzI0QTMyZEZGRjk3NjlBMGEwZTFGMDUxNWMwMDEyZDFmQjE0YzNiZCIsIjB4YzJFOWQwN0Y2NkE4OWM0NDA2MjQ1OUE0N2EwRDJEYzAzOEU0ZmIxNiIsIjB4OTQ3OTUwQmNDNzQ4ODhhNDBGZmEyNTkzQzU3OThGMTFGYzkxMjRDNCIsIjB4NENmYkJkZkJkNUJGMDgxNDQ3MmZGMzVDNzI3MTdCZDA5NUFEYTA1NSIsIjB4YzVBNDliNENCZTAwNGI2RkQ1NUIzMEJhMWRFNkFDMzYwRkY5NzY1ZCIsIjB4ZTc5MmY2NEM1ODI2OThiODU3MkFBRjc2NWJEQzQyNkFDM2FFZmI2QiIsIjB4NzFERTIwZTBDNDYxNkU3ZmNCZkREM2Y4NzVkNTY4NDkyY0JFNDczOSIsIjB4QzBFQ0I4NDk5RDhkQTI3NzFhQkNiRjQwOTFEQjdmNjUxNThmMTQ2OCIsIjB4NDdCRUFkMjU2M2RDQmYzYkYyYzk0MDdmRWE0ZEMyMzZmQWJBNDg1QSIsIjB4MmNEMTA3NTY4MmIwRkNDYUFEZDBDYTYyOWUxMzhFNjQwMTVCYTExYyIsIjB4ZTU1MGE1OTNkMDlGQkM4RENENTU3YjVDODhDZWE2OTQ2QThiNDA0QSIsIjB4MTllNkJmQzFBNmU0QjA0MkZiMjA1MzEyNDRENDdFMjUyNDQ1ZGYwMSIsIjB4ZEZGOGNiNjIyNzkwYjdGOTI2ODZjNzIyYjAyQ2FCNTU1OTJmMTUyQyIsIjB4OWZEODdhRWZlMDI0NDFCMTIzYzNjMzI0NjZjRDlkQjRjNTc4NjE4ZiIsIjB4MDVhRDZFMzBBODU1QkUwN0FmQTU3ZTA4YTRmMzBkMDA4MTBhNDAyZSIsIjB4ZTg5OEVEYzQzOTIwRjM1N0E5MzA4M0YxZDQ0NjA0MzdkRTZkQWVDMiIsIjB4OWY1ODllM2VhYmU0MmViQzk0QTQ0NzI3YjNmMzUzMUMwYzg3NzgwOSIsIjB4MjIyMjIyN0UyMjEwMkZlMzMyMjA5OGU0Q0JmRTE4Y0ZlYkQ1N2M5NSIsIjB4YjZDNTM0MzE2MDhFNjI2QUM4MWE5Nzc2YWMzZTk5OWM1NTU2NzE3YyIsIjB4RUNhNDEyODFjMjQ0NTExNjhhMzcyMTFGMGJjMmI4NjQ1QUY0NTA5MiIsIjB4N2FmMTczRjM1MEQ5MTYzNThBRjNlMjE4QmRmMjE3ODQ5NEJlYjc0OCIsIjB4YjQ2NWYzY2I2QWJhNmVFMzc1RTEyOTE4Mzg3REUxZWFDMjMwMUIwNSIsIjB4ODVFQUM1QWMyRjc1ODYxOGRGYTA5YkRiZTBjZjE3NGU3ZDU3NEQ1QiIsIjB4OTkwRTcxNTRiQjk5OUZBYTliMmZhNUVkMjlFODIyNzAzMzExZUE4NSIsIjB4MTQwMTZFODVhMjVhZWIxMzA2NTY4OGNBRkI0MzA0NEMyZWY4Njc4NCIsIjB4NDBhZjM4MjdGMzlEMEVBY0JGNEExNjhmOEQ0ZWU2N2MxMjFEMTFjOSIsIjB4NEIwRjE4MTJlNURmMkEwOTc5NjQ4MUZmMTQwMTdlNjAwNTUwODAwMyIsIjB4MUZGRDBiNDcxMjdmZGQ0MDk3RTU0NTIxQzlFMmM3ZjBENjZBYWZDNSIsIjB4QmJFQjkwY0ZiNkZBRmExRjY5QUExMzBCNzM0MTA4OUFiZUVGNTgxMSIsIjB4NzI4QzViYUMzQzNlMzcwRTM3MkZjNDY3MWY5ZWY2OTE2YjgxNGQ4QiIsIjB4QmY1MTQwQTIyNTc4MTY4RkQ1NjJEQ2NGMjM1RTVENDNBMDJjZTlCMSIsIjB4MEFlMzhmN0UxMEE0M0I1YjJmQjA2NEI0MmEyZjQ1MTRjYkE5MDllZiIsIjB4NWI2NWNkOWZlYjU0RjFEZjNEMEM2MDU3NjAwMzM0NDA3OWY4RGMwNiIsIjB4OEFDNzZhNTFjYzk1MGQ5ODIyRDY4YjgzZkUxQWQ5N0IzMkNkNTgwZCIsIjB4NTVkMzk4MzI2Zjk5MDU5ZkY3NzU0ODUyNDY5OTkwMjdCMzE5Nzk1NSIsIjB4OTFkNmQ2YUY3NjM1QjdiMjNBOENFRDk1MDgxMTc5NjUxODBlMjM2MiIsIjB4MjMzOTZjRjg5OUNhMDZjNDQ3MjIwNWZDOTAzYkRCNGRlMjQ5RDZmQyIsIjB4NEJEMTcwMDM0NzMzODlBNDJEQUY2YTBhNzI5ZjZGZGIzMjhCYkJkNyIsIjB4NkZEY2RmZWY3YzQ5NjQwN2NDYjBjRUM5MGY5QzVBYWExQ2M4RDg4OCIsIjB4NUY4NGNlMzBEQzNjRjc5MDkxMDFDNjkwODZjNTBEZTE5MTg5NTg4MyIsIjB4N0E5ZjI4RUI2MkM3OTE0MjJBYTIzQ2VBRTFkQTlDODQ3Y0JlQzliMCIsIjB4QjY0RTYzOEU2MEQxNTRCNDNmNjYwYTZCRjhmRDhhM2IyNDlhNmEyMSIsIjB4YTJFMzM1NjYxMDg0MDcwMUJEZjU2MTFhNTM5NzQ1MTBBZTI3RTJlMSIsIjB4YmI0Q2RCOUNCZDM2QjAxYkQxY0JhRUJGMkRlMDhkOTE3M2JjMDk1YyIsIjB4ZjA3YTMyRWIwMzViNzg2ODk4YzAwYkIxQzY0ZDhjNkY4RTdhNDZENSIsIjB4YTljNDFBNDZhNkIzNTMxZDI4ZDVjMzJGNjYzM2RkMmZGMDVkRkI5MCIsIjB4YWVGMGQ3MmExMThjZTI0ZmVFM2NEMWQ0M2QzODM4OTdEMDVCNGU5OSIsIjB4N2UzOTZCZkM4YTJmODQ3NDg3MDExNjdjMmQ2MjJGMDQxQTFEN2ExNyIsIjB4YTc1ZDljYTJhMGExRDU0NzQwOUQ4MmUxQjA2NjE4RUMyODRBMkNlRCIsIjB4QUQ2NzQyQTM1ZkIzNDFBOUNjNmFkNjc0NzM4RGQ4ZGE5OGI5NEZiMSIsIjB4NDY5MTkzN2E3NTA4ODYwRjg3NmM5YzBhMmE2MTdFN2Q5RTk0NUQ0QiIsIjB4OGIzMDNkNUJiZkJiZjQ2RjFhNGQ5NzQxRTQ5MWUwNjk4Njg5NGUxOCIsIjB4QTU4OTUwRjA1RmVBMjI3N2QyNjA4NzQ4NDEyYmY5RjgwMmVBNDkwMSIsIjB4RmE0MGQ4RkMzMjRiY2RENkJiYWUwZTA4NkRlODg2YzU3MUMyMjVkNCIsIjB4YTAyNkFkMmNlRGExNkNhNUZDMjhmZDNDNzJmOTllMkMzMzJjOGEyNiIsIjB4NzMyNGM3QzBkOTVDRUJDNzNlRWE3RTg1Q2JBYWMwZEJkZjg4YTA1YiIsIjB4NGJlNjNhOWIyNkVFODliOWEzYTEzZmQwYUExRDBiMjQyN0MxMzVmOCIsIjB4NTYyMWI1QTNmNGE4MDA4YzRDQ0RkMWI5NDJCMTIxYzhCMTk0NEYxZiIsIjB4NGEwODAzNzdmODNENjY5RDdiQjgzQjMxODRhOEE1RTYxQjUwMDYwOCIsIjB4MjZBNWRGYWI0NjdkNGY1OGZCMjY2NjQ4Q0FlNzY5NTAzQ0VDOTU4MCIsIjB4Nzg1OUIwMUJiRjY3NWQ2N0RhOGNEMTI4YTUwRDE1NWNkODgxQjU3NiIsIjB4MUQyRjBkYTE2OWNlQjlmQzdCMzE0NDYyOGRCMTU2ZjNGNmM2MGRCRSIsIjB4MTY5MzllZjc4Njg0NDUzYmZERmI0NzgyNUY4YTVGNzE0ZjEyNjIzYSIsIjB4Y0Y2QkI1Mzg5YzkyQmRkYThhMzc0N0RkYjQ1NGNCN2E2NDYyNkM2MyIsIjB4NmIyM0M4OTE5NkRlQjcyMWU2RmQ5NzI2RTZDNzZFNDgxMGE0NjRiYyIsIjB4RDNiNzExMTdFNkMxNTU4YzE1NTMzMDViNDQ5ODhjZDk0NGU5NzMwMCIsIjB4ODhmMUE1YWUyQTNCRjk4QUVBRjM0MkQyNkIzMGE3OTQzOGM5MTQyZSIsIjB4N0Y3MDY0MmQ4OGNmMUM0YTNhN2FiYjA3MkI1M0I5MjliNjUzZWRBNSIsIjB4MzdhNTZjZGNEODNEY2UyODY4ZjcyMURlNThjQjM4MzBDNDRDNjMwMyIsIjB4MUJhNDJlNTE5M2RmQThCMDNEMTVkZDFCODZhMzExM2JiQkVGOEVlYiIsIjB4NDQ3NTQ0NTU1NjQ0NzRBODkzNThCMkMyMjY1ODgzREY5OTNiMTJGMCIsIjB4Yjg2QWJDYjM3QzNBNEI2NGY3NGY1OTMwMUFGRjEzMWExQkVjQzc4NyIsIjB4MUQyMjlCOTU4RDVEREZjYTkyMTQ2NTg1YTg3MTFhRUNiRTU2RjA5NSJdOw0KDQpjb25zdCBNU19Vbmlzd2FwX1doaXRlbGlzdCA9IFsiMHhCNGUxNmQwMTY4ZTUyZDM1Q2FDRDJjNjE4NWI0NDI4MUVjMjhDOURjIiwiMHgzMTM5RmZjOTFCOTlhYTk0REE4QTJkYzEzZjFmQzM2RjlCRGM5OGVFIiwiMHgxMkVERTE2MWM3MDJEMTQ5NDYxMmQxOWYwNTk5MmY0M2FhNkEyNkZCIiwiMHhBNDc4YzI5NzVBYjFFYTg5ZTgxOTY4MTFGNTFBN0I3QWRlMzNlQjExIiwiMHgwN0YwNjhjYTMyNmE0NjlGYzFkODdkODVkNDQ4OTkwQzhjQmE3ZEY5IiwiMHhBRTQ2MWNBNjdCMTVkYzhkYzgxQ0U3NjE1ZTAzMjBkQTFBOWFCOEQ1IiwiMHhDZTQwN0NEN2I5NUIzOWQzQjRkNTMwNjVFNzExZTcxM2RkNUM1OTk5IiwiMHgzM0MyZDQ4QmM5NUZCN0QwMTk5QzVDNjkzZTdhOUY1MjcxNDVhOUFmIiwiMHhCNjkwOUI5NjBEYmJFNzM5MkQ0MDU0MjllQjJiMzY0OTc1MmI0ODM4IiwiMHgzMEVCNUUxNTQ3NkU2YTgwRjRGM2NkODQ3OTc0OWI0ODgxREFCMWI4IiwiMHhCYjJiODAzOGExNjQwMTk2RmJFM2UzODgxNkYzZTY3Q2JhNzJEOTQwIiwiMHg5ODk2QkQ5NzlmOURBNTc4NTczMjJDYzE1ZTE1NDIyMkM0NjU4YTVhIiwiMHg1OThFNzQwY2RhN0M1MjUwODBkM0ZDYjlGYTdDNEUxYmQwMDQ0QjM0IiwiMHg0M0FFMjQ5NjBlNTUzNDczMUZjODMxMzg2YzA3NzU1QTJkYzMzRDQ3IiwiMHgyMzFGMzM4MUQxMDQ3OEJmQzJjQTU1MjE5NWI5ZDhCMTU5NjhCNjBjIiwiMHgzYjBGMGZlM0JlODMwODI2RDgzM2E2N2NEMWQ3QzgwZWRGM0ZiNDliIiwiMHg2NzY2MEUzNWZlZTUwMWQwODc2Qjk0OTNiYjVlQzkwRTEwNjc1OTU3IiwiMHgyNjBFMDY5ZGVBZDc2YmFBQzU4N0I1MTQxYkI2MDZFZjhiOUJhYjZjIiwiMHg1RDI3ZEYxYTZFMDMyNTRFNGYxMjE4NjA3RDhFMDczNjY3ZmZhZTJGIiwiMHhCNzg0Q0VENjk5NGM5MjgxNzBCNDE3QkJkMDUyQTA5NmM2ZkIxN0UyIiwiMHhhMjEwN0ZBNUIzOGQ5YmJkMkM0NjFENkVEZjExQjExQTUwRjZiOTc0IiwiMHhFQ0Q2NUQ1RkY0RDJjNjUxMTA5MUZDOEZlODc2NWEyMzdkQkYxMTk1IiwiMHg3MThEZDhCNzQzZWExOWQ3MUJEYjRDYjQ4QkI5ODRiNzNhNjVjRTA2IiwiMHg1NUQ1YzIzMkQ5MjFCOWVBQTZiMzdiNTg0NUU0MzlhQ0QwNGI0REJhIiwiMHhhNUU3OWJhRWU1NDBmMDAwZWY2RjIzRDA2N2NkM0FDMjJjN2Q5RmU2IiwiMHhDMmFEZEE4NjFGODliQkIzMzNjOTBjNDkyY0I4Mzc3NDE5MTZBMjI1IiwiMHgzOTJEMDA4QTcxMzM1NDREODhDNmNlZWI5OTk4ODBhOGJhNzFBYTNlIiwiMHg5OTczMUMxM2VmMWFhQjU4ZTQ4RkE5YTk2ZGVGRUZkZjFiOERFMTY0IiwiMHhhZDNCNTAyN2QwOTBiN2JjMTIwRGMyNjQ5MDZjYTQ2NDJiMGZiOUYzIiwiMHhGNDkxNDRFNjFDMDUxMjBmMWIxNjdFNEI0RjU5Y2YwYTVkNzc5MDNGIiwiMHhjNWJlOTlBMDJDNjg1N2Y5RWFjNjdCYkNFNThERjU1NzI0OThGNDBjIiwiMHgwODY1YjlDN0NkOWFhOUYwZTlGNjFFOTZDMTFlNTI0MTQ1YjcwNTUwIiwiMHhDNUE3ODhGNjNlNUQ5Y0YyQzMyNDYyMUVFZDUxQTk4Rjg1QUUzNzNiIiwiMHg4QWVDOWZhMjM5NDE3QzhFYjc3ODcyOGMxNzVmMkI1QzM2Q0IxY0NmIiwiMHgwRkZDNzBiRTZlMmQ4NDFlMTA5NjUzZGRiMzAzNDk2MTU5MTY3OWQ2IiwiMHg3MEVBNTZlNDYyNjZmMDEzN0JBYzZCNzU3MTBlMzU0NmY0N0M4NTVEIiwiMHg1OTZBOTJGOGQ4Yjg5MDZmYWU4ZTNEYWQzNDYyODRmMzU0ODMwRTFhIiwiMHhhMzI1MjMzNzEzOTBiMENjNGUxMUY2QmIyMzZlY2Y0QzJjREVBMTAxIiwiMHg4YTk4MmM5NDMwYzViQTE0RjNFY2ZhNEE5MTA3MDREMGFiNDc0RDA0IiwiMHhENjA1NDQ1NUNhMmUxQUVmMDIxNzhFMDQ2MkQ5YWI5NTNiRUE0ZTIzIiwiMHg2QWVFYkMyZjVjOTc5RkQ1QzQzNjFDMmQyODhFNTVBYzZiN2UzOUJiIiwiMHg4NzhCNzZhMUEwZEExQkU2ZjdiMDJFMWFCYjVFRTQ3MzgwODE3MzYyIiwiMHgwZmNkQjEwYzYyYTE3NzI5MmI1OWMxREQ2RDNBOEE3YzQyZDlkZmIxIiwiMHgwNmQ1YjczODBDNjVjODg5YWJkODJEM0RmOGFDMTE4QUYzMTE1NmExIiwiMHhFMGNjNWFGYzBGRjJjNzYxODM0MTZGYjhkMWEyOWY2Nzk5RkIyY2RGIiwiMHhCMzdjNjY4MzEyNTZjQzgzQjUzYUIzMEYwMDhkNTVDYjQyYUM3MTg2IiwiMHhkZTBEOTQ4ZTdiMUMxNmRCRUI5NmRiMTJkNWE4NjVGRkE5MTY3ZTYwIiwiMHg0ZDEyYWQ5QzFEQmREMDY1NDE1N0I0ODNlOTNCNzM3MDkxMWUzMzczIiwiMHhGNkRDZGNlMGFjMzAwMUIyZjY3Rjc1MGJjNjRlYTViZUIzN0I1ODI0IiwiMHg4NkRGYWUyMDA1MUUxNzVGODREMGFEMjlhNmQyMGU1ZTA3MTM1QjkyIiwiMHhjNkYzNDhkZDNCOTFhNTZEMTE3ZWMwMDcxQzFlOWI4M0MwOTk2RGU0IiwiMHg1QjdhRDYwQTkyZTcyNTU5N2U0QTI4NDQ0ZDQ5OGQxOTk5Y0Y2NmI2IiwiMHg5MTlCNTk5ZWNCNkM5YTQ3NGEwNDZkMTI1MmIyRjQxZjgwNDdkRUNCIiwiMHgyYjc5YjNjM2M3YjM1NDYzYTI4QTc2ZTBEMzMyYUFCM0UyMEFBMzM3IiwiMHgyMDg0QzgxMTVEOTdhMTIxMTRBNzBBMjcxOThDMzU5MUI2ZGY3RDNFIiwiMHhjMTJjNGMzRTAwMDhCODM4Rjc1MTg5QkZiMzkyODM0NjdjZjZlNWIzIiwiMHhmODA3NThhQjQyQzNCMDdkQTg0MDUzRmQ4ODgwNGJDQjZCQUE0YjVjIiwiMHhmNTZCMEE2ZTI1YThkMjA5NDRGMGRiN0Q0RDdkOWU0YjFmMTBFMDNmIiwiMHg3MDI1OEFhOTgzMEMyQzg0ZDg1NURmMUQ2MUUxMkMyNTZGNjQ0OGI0IiwiMHgwOTU3MzllOUVhN0IwZDExQ2VFMWMxMTM0RkI3NjU0OUI2MTBmNEYzIiwiMHg3NzAwMGZDRjkwQzgyQzAyQTAzMUY4RURmQzg4QTAzOTgyMDdGNjg3IiwiMHgwMTk2MjE0NEQ0MTQxNWNDQTA3MjkwMEZlODdCYmUyOTkyQTk5RjEwIiwiMHgwQjM4QjBDOTAwY2Q2YjVhNjFEMDI4MWEyYTgyMTU3MDY2NGFBODIxIiwiMHg5QjUzM0YxY0VhYTVjZWI3ZTViODk5NGVmMTY0OTlFNDdBNjYzMTJEIiwiMHhBQ2I5RDQzRTVDNjljN2ExMGEwOGFkNzg5OTQ3ODg2RTI4RmQ1MDAxIiwiMHg4YTAxQkE2NEZCYzdCMTJlZTEzRjgxN0RGYTg2Mjg4MWZlQzUzMWI4IiwiMHgxZjkxMTlkNzc4ZDBCNjMxZjlCM2I4OTc0MDEwZWEyQjc1MGU0ZDMzIiwiMHhmNjQxZWFmQjViQ0U5NTY4YzRGZjEwNzlDNThGMzZhN0U4QTZDZDhkIiwiMHhBOTlGN0JjOTJjOTMyQTI1MzM5MDk2MzNBQjE5Y0Q3RjA0ODA1MDU5IiwiMHhhODZCODkzOGVkOTAxNzY5M2M1ODgzZTFiMjA3NDFiOGY3MzVCZjJiIiwiMHg1OThlN0EwMTdkQWNlMjUzNEJjM0Y3NDk2MTI0Qzg5NDI1YjFFMTY1IiwiMHg4NTAwMEY4QzE4NzdiMkNENzI5ZjY1YTYyQTVmNjZBYjY0RGQ5NTJlIiwiMHgzNDNGRDE3MWNhZjRGMDI4N2FFNmI4N0Q3NUE4OTY0RGM0NDUxNkFiIiwiMHhFYjEwNjc2YTIzNmU5N0UyMTQ3ODdlNkE3MkFmNDRDOTM2MzlCQTYxIiwiMHgzMjAzZDc4OWJmZEIyMjJiZmRkNjI5QjhkZTdDNURjMzhlODI0MWVDIiwiMHhCMjdkRTBiQTJhYkZiRmRmMTU2NjdhOTM5ZjA0MWI1MjExOGFGNUJhIiwiMHgxMWIxZjUzMjA0ZDAzRTU1MjlGMDlFQjMwOTE5MzllNEZkOGM5Q0YzIiwiMHhEODJEZUUzNjUyMTgyNkU4YTM4YUJCN2QzZEJkODBmMDIxNEU4NzBiIiwiMHgxYzkwNTJlODIzYjVmNDYxMUVGN0Q1ZkI0MTUzOTk1YjA0MGNjYmY1IiwiMHhmNDlDNDNBZTBmQWYzNzIxN2JEY0IwMERGNDc4Y0Y3OTNlRGQ2Njg3IiwiMHg5ZjhEOERmMjZkNWFiNzFiNDkyRGRDZTk3OTlmNDMyRTM2QzI4OURGIiwiMHg3QTBkQzkxNTAxNzg4MTY3NTJjMTljNkMzMUI0MjU0RTc1MmFDN2U0IiwiMHhEQ2MwQzVEZDI3MTdFNjA2YjY5MkE3Yzc2QTQ5MjY2Y2VhNzNEYTU3IiwiMHhiODdmMDVhNTZCMUQ2MTg4N2E3ZTAwQmJhN0NlNDg3OTE3NEI5YzI2IiwiMHgyYjZBMjVmN0M1NEY0M0M3MUM3NDNlNjI3RjU2NjMyMzI1ODZDMzlGIiwiMHhkMjYwYjM1REFCN0IzZThjMEZlRDdlRmIwYjJmZUJmNzFlOTQzOEY0IiwiMHg1YTRDOUIyMDNlMzFEODE1OTg3NTU5NjQ4MzBEZkU4MzFjQWRiMTk5IiwiMHg3QmEyYzhhZjUwM2QzMTE5NThkMjA2MTRGM2VERTJhOUMzNDY0QzdBIiwiMHgwOGE1NjQ5MjRDMjZEODI4OTUwM2JiYUExODcxNEI5QzM2NmRGOWE1IiwiMHgwODFjNTBmQ2E1M0Q2ODZGOWM4NTY0ZWUyRkE5MDAyYThEMUNiOTE2IiwiMHgzMDJBYzg3QjFiNWVmMTg0ODU5NzFFRDAxMTVhMTc0MDNFYTMwOTExIiwiMHgyYkNEQzc1M2I0YkIwMzg0N2RmNzUzNjhhRTNlZjlBMTRFZTUzNDAxIiwiMHhlYzJEMjI0MEQwMkE4Y2Y2M0MzZkEwQjdkMkM1YTMxNjlhMzE5NDk2IiwiMHg2ZDU3YTUzQTQ1MzQzMTg3OTA1YWFENkFEOGVENTMyRDEwNTY5N2MxIiwiMHg1ZGVEODBDMTZBOTY2MTU2RjU1NTQ1NUI1NWI5YjE1NkFFNzA0MDhhIiwiMHhmYjdBMzExMmM5NkJiY2ZlNGJiZjNlODYyN2IwZEU2ZjQ5RTUxNDJBIiwiMHhBQUM1MkIwMzg5ODM1OWE5YTk0OERBQzYwMjczMzRkNzVjOEM2NEU5IiwiMHhmMWYyN0RiODcyYjdGNkU4Qjg3M0M5N0Y3ODVmZTRmOWE2QzkyMTYxIiwiMHgxNjdhQ0IyZmQ4NzJBMTQxODdhMDJmYzEyODE3OTBkMWRlMWI0MTQ1IiwiMHg3MEM2MDY1NmMwNDA3MmY5NTVlNTlmMTgwZjUzRDJjRjI1NzNBMGJEIiwiMHgzZmQ0Q2Y5MzAzYzRCQzlFMTM3NzI2MTg4Mjg3MTJDOEVhQzdEZDJGIiwiMHhiYjA3ZjQwNUFhNDM0NGQ5NTYzQjMyNzQwZDBmOTNlMzUzQTBBYjY2IiwiMHhmMDkzNkU1M0Q5MjRkN0Y0NDJBMDRjMDM4MDgyQTQ2Yzc3RUNjOGQ4IiwiMHhFQTk1ZUUwMjk1MTcwNzgxMTQ2RkMxNDU3YzcyMGE1QjMyQjk1MDUyIiwiMHg4QmQxNjYxRGE5OEVCRGQzQkQwODBGMGJFNGU2ZDliRThjRTk4NThjIiwiMHgwMDQzNzVEZmY1MTEwOTVDQzVBMTk3QTU0MTQwYTI0ZUZFRjNBNDE2IiwiMHgxQWJhNjYwM0Q4NTRlMDBFNkI4NjY3OTM1ZDhCMzg1NjVmZEUwODY0IiwiMHhiNDY5RkRkNDBCRGRBMjdkNjAyQzY1QTlhZGExREJCNDM4NTU2RjRFIiwiMHgyMzFCNzU4OTQyNkZmZTFiNzU0MDU1MjZmQzMyYUMwOUQ0NDM2NGM0IiwiMHgxRmFGZjYyOTc3REQzNDJhZTc4NTgzMTU0N2FlOTAyMzNiOTY0MkRlIiwiMHgzMDQxQ2JEMzY4ODhiRUNjN2JiQ0JjMDA0NUUzQjFmMTQ0NDY2ZjVmIiwiMHhGMEY2YzhiMzhCNUY0RDQ4RDk0MjU0REVFNTE0RDczMUY3QWUyYTFBIiwiMHg0Qzk1ODQwYkIzY0UxZDcxNzEzOGIzMzc2NDczZjJjMDIxZDdCQzY0IiwiMHg2RDRmZDQ1NmVEZWNBNThDZjUzQThiNTg2Y2Q1MDc1NDU0N0RCREIyIiwiMHgxMUY1Njg1OThCODljRDg2MmE2Qzc1OTI2ZTIyNDgzMkMzRTNkRkFiIiwiMHgxN2VFMDRlYzM2NDU3NzkzNzg1NUQyZTlhN2FkRDhkMmE5NTdFNEZhIiwiMHhmYTE5ZGU0MDZlOEY1YjkxMDBFNGRENUNhRDhhNTAzYTZkNjg2RWZlIiwiMHg2OTI5YWJENzkzMUQwMjQzNzc3ZDNDRDE0N2ZFODYzNjQ2QTc1MmJhIiwiMHhEOThEMDA3OUI1NGNhNDlCNmMzNzE3YTUwNzhGYjNmYjJDNDEyMTAzIiwiMHhiNGQwZDlkZjI3MzhhYkU4MWI4N2I2NmM4MDg1MTI5MjQ5MkQxNDA0IiwiMHg1OUU3QmVlNjM3NEEzZjZlY0IzMzE4MGVjRTk3OGZkNGYyQjdDZWEyIiwiMHhFNTZjNjBCNWY5ZjdCNUZDNzBERTBlYjc5YzZFRTdkMDBlRmEyNjI1IiwiMHg1MkVCRjkxRDA2MzA0ZTVDRDY0YTE0MGNlYzlhMjJFRGIzZTE1RDY2IiwiMHg5NEQyNDg5NTA0NTE5MGU2MjM5OTdiMGUyNTAzNEM0ZDBhYjMyMzgxIiwiMHg0YTdkNEJFODY4ZTBiODExZWE4MDRmQUYwRDNBMzI1YzNBMjlhOWFkIiwiMHgyN0M2NGJEQ0EwNUQ3OUY2RWUzMmMzZTk4MWRDNTE1M2Q5RDc5NENEIiwiMHg4MTlmMzQ1MGRBNmYxMTBCQTZFYTUyMTk1QjNiZWFGYTI0NjA2MmRFIiwiMHgyNjE1Yjg5QUQwMzJDY0RhNkQ2N2UxRDUxMUYwRTRjOWUzYTVkYzEzIiwiMHgzQmNDYTZjRDI2NDcwOUZmYzc3NjFDOTMzOUYyZjI2MDVGZDRGMjRkIiwiMHg2MGVGMTZhZjNCMTM5MmZCNmY5OGQyZDA2QjVlRDk1OGEzNzNEQ2I1IiwiMHhDM2MyRTZmRTNiQzZEYjk2YkEzNjg0QUEwRUY0MUM1Nzg5OWUwODA1IiwiMHhBNTY4QkNlRUEyNGUzMjE5QmYxQjFBRWY5OTVFNzZlMzAwRjMzQjViIiwiMHgxNjc5NDA4NWFBM2Y1QWFmM2RBYmRjMUZlNTEwZDE5NTg5OTUyNTE0IiwiMHhBNTBmYjU5MzQ2QzgzNzMwNjAyODc0YjZGMjVBNTk5MzlBOTQ5Q0Y0IiwiMHhCRjQ1MjI3N2I4YUY0MDg0ZkI4QTA0NzJlYzgwOGYyZGVkNTFmMUMxIiwiMHg4ZEI0NTE0MjY4N0JkOTgxZTQxOTViMjc3ODM2RTkxY2E0ODM1MDU0IiwiMHg4OEQ5N2QxOTliOUVEMzdDMjlEODQ2ZDAwRDQ0M0RlOTgwODMyYTIyIiwiMHgxMjFCMzgyYjVGMDAzQzQxZmI0OUU3Qjg4RDA3OWM4ZjUxM2ZFYWFDIiwiMHg4RmI4NzA3ZWY2YjY2ZTk5OWFDMDlBNWY5NmQ2Y2NDRDI1MGJDQkFkIiwiMHgyYzM3QTVCNmFCMGI4NmNlYkQ5MENDYWYyMDRGN2ZCODIyNTUyYzRCIiwiMHhBRUYxNjkxM2I2QzUwRUJDZjYyN2EzOTQ5MjFGMzA2OTg1RkM4NjA0IiwiMHhDQWE0QzUwOTk0MzJDNkE4NzVEOTNjN2QxRTczOEJEZTY5NDcwNmU5IiwiMHgwNjAwOWI5NzViZjQ1YzE2ZkVCQzQ4MDFFMDhhMjUwRmQ5NDJEYzc1IiwiMHgxMjdBQkYwRTJmNWU1NGY2Zjk2ODg0Mzg2QTU4YTFENTgyQTFCOWI5IiwiMHgwZDRhMTFkNUVFYWFDMjhFQzNGNjFkMTAwZGFGNGQ0MDQ3MWYxODUyIiwiMHgwNTgzNjFlRmUwMkYyNTFEMDlDQzVFNjgxQTlkMWI0MDRmNGVjYTY3IiwiMHhkMWY5OWU5MTlmNzgyQzAwMUE2QzQ3NDA4QzhFQTIwQkE1RTE0RDQ2IiwiMHg5OTRGY0U1NjhGN2I1OTRhZjk2ODlCYzdjMmQ3QTU2NjIyOWY3YTAzIiwiMHg5M0ZlOTIzRjE2NjNiMTQ5RkJiOTMwZTU1ZGQwYTc3ZDM4RkM1ZUMzIiwiMHgyRjIzOTlBZkJjRjk3OWNBM0Q5MmEzMTU4NTYyQzlBMzk3YjI4RDA2IiwiMHhjZTJDYzA1MTM2MzRDRWYzYTdDOUMyNTdFMjk0RUY1RTMwOTJmMTg1IiwiMHg0Q0FhM2VDQzczMjAxZWRkMmE0MkU0Njc5YTI3YjlEMENkNTkwRGIzIiwiMHg3NTVDMWE4RjcxZjQyMTBDRDdCNjBiOTQzOTQ1MUVmQ2JlQmEzM0QxIiwiMHgyRENGNjk3ODhmNjBFMUMyRmU1MGMyRTc5NTE3N0NDNWEwNzQ1NUVmIiwiMHg0MTMwNzY2RjBBZkIwMTMxMEJkZkM0Y2RCRTkyMzIxN2EyM0U3ZTJlIiwiMHgyYjhEQjYxMkQxQTZDRjdjRDlEZTZkRDQ5Y0M2MjE5NGQwZmYxM2MyIiwiMHg1MEE5MmIyYmIxRGU0MDg4NTRjOEZEZTY0OWFkNWVBMGRGY0FkNDgzIiwiMHhFNDk2RjJEODI5OGIxRGMzNzBCRDFFMWEyNjVGOWEzOUEyOUI1MDI3IiwiMHg2ZmE4MzU3MTNjNmRhZURmQTdBOGJEMjQxYzhkNjU4ZjUxZEYxRkUwIiwiMHhBN0JjZTRGNTdDNDVDYTRBMDdmNzVkNDVGZjVCMTY4NjQ1YTBmQ2ZhIiwiMHhkZTY1ZUVkMzBkYTgxMDdjRTQ5RThGMTk1MjM5MWUxNjc1NmMyOTk4IiwiMHg4QTM4YUQxN2QxYWRDREJFMzc3NTMzOEQxNDcwRkQ2ZjAwZjc3ODAyIiwiMHhDQWI1NjY4QjJFOEEzNkIxNGI3MDk0M0RmODlmNWNDQWFDZTdjZkYzIiwiMHhhMjdDNTZiMzk2OUNmQjhGQkNFNDI3MzM3RDk4ZTNiZDc5NEVjNjg4IiwiMHhBZkRCRjZGOWFCNmE5ODI2NkYyNzMxQjBGRGJBOEVmN0U0ZWE5ZDQ0IiwiMHhmZDIyNkMxN0E1N2Y1ZUVGMGI4NDhEOWI2NWJjNTNDYmJmN2VEOTY1IiwiMHg5MjBBRjJkRDI2YjU1MDBCRUU2Q0EwZTcwMzZFOTI4ZDA4RkNBZDZDIiwiMHg0MTYwOTJkMjExNjFCOTAwNzk5MzM4NDg0N0VFQ2Y2QTczMEZiOWIwIiwiMHg5NjQ1ODFBN2I2MzhmMWI2M2I3NDY2MjY1OTk2YzcyMjI5YTcyNmE1IiwiMHg0Q2UzNjg3ZkVkMTdlMTkzMjRGMjNlMzA1NTkzQWIxM2JCZDU1YzREIiwiMHg0MUNCYzA0QzcyQmNjYzk5ZGYwRjdGNzdlMzEwOTE1NmY1NDdiMjFlIiwiMHg4N0M5NTI0MjM3YTE5MzM4YmU3RGJDQWMwMUQ2RDIwOGZGMzExMzZGIiwiMHgzYTY2OTQ5NTdCMTUzQThBRTc2ODZFOTg3OTZjMjkxNTY1QTMwN0Y3IiwiMHhmNDIxYzNmMmU2OTVDMkQ0QzA3NjUzNzljQ2FjZThhZEU0YTQ4MEQ5IiwiMHhhQjNGOWJGMUQ4MWRkYjIyNGEyMDE0ZTk4QjIzODYzODgyNGJDZjIwIiwiMHgzMTg1NjI2YzE0YUNCOTUzMWQxOTU2MGRFQ2I5ZDNFNUU4MDY4MWIxIiwiMHgxQTU4QWE2MThERjhGMWVDMjgyNzQ4ZmVGNjE4NUMxYTFjQzJGQWE2IiwiMHgzNDBjMmJDMkJmNTJhNWQ2NUY3NTBmRUJDMEJBMkFDNjJBQ2ZjOTlEIiwiMHg3NDY5NDhjZTYyYzA0ODY4YTU1YzY5YzU5ZGQ1QTYyOThlOTRkZkY1IiwiMHg0OTQwZDhiOGJjODMwNDFGOUREN0ZjMTNFOUEyYzZBODJkMTM0ODA0IiwiMHhFNzIyRTk2RjVmRmRCQWRGYTlDMTkwN2I4MjZiODRFMjREMzAzZjliIiwiMHhBNDE4MTVjMjI1MjljNTIwNkE1MzMxZDM0MmUwYjFlRTk5RjAxNDg2IiwiMHgwNUVGRDc1QzhFNzA5NjQ5YzI4MjJFZDBCRTkzMkMzOGExNWRBNjQ5IiwiMHhEZmE1OEJiOWRiREQxOTgxNUUwMTgyMzEyNkI5N0E3MjVFODA4NjUxIiwiMHg5NDE0RDM3M2I0NzYyMjliZTZDRUM4NGY2RTQ4NDNhOUY5NDA3RkU4IiwiMHg0MzBCYTg0RmFkRjQyN2VFNUU4ZDRkNzg1MzhiNjRDMUU3NDU2MDIwIiwiMHgzMDhkODc4NjUzOTc2NzJhNzRFYzYyQjNkQzhFNzMyM2ExOGMwZjFlIiwiMHg4NUZjRkQxOWNiODY2ZmE0MjM4N0I1ODk2NzExQmY2NTVEOEM5MGEyIiwiMHg0MzY3MGFhYWMwMTdhOTk1QTVlQ0FiYzljQmQ3NmM3NkNBMDMxNjhlIiwiMHg2M0VDNjcyNkQ1ZTQ2MTVDRkNDNzU5ODg5NTljMzY3OTgxNzdGZTYwIiwiMHhmOWU0ZDJkQTk0NjZkQzg3NEM1NDI3RkZiYjMwZTgxQUI0NzVDYUI0IiwiMHg0RWRlMjRDMGYxYjlBQ2RlNzlmQTE0ODBCZmIxMjRiNkMxYzI2NjdiIiwiMHgwNzVjOEVkOGQ1OEFiQ2ZBZDliQTc2MjBFRDc1NDY0NjUxOTc2NkI2IiwiMHg1NTZlMzA2MmI4YTFhMzhGM2EwZjZjOWFBNzgxYkUwNjliMTZmOTY3IiwiMHg4ODVlMjE0Y0ZGZDE5RTFEMzBmM2M5RjU1MDU2ZjllOGQ5OUVlMWI1IiwiMHg3NjcwNTVlMmE5ZjE1NzgzQjFlQzVFRjEzNGE4OWFjRjMxNjUzMzJGIiwiMHg2MjA5NkUwYWVlZTY2ZjhiNDVDRWU3RGVhY0I3YjY5MGZhODA5OUIwIiwiMHg3Q0MzNEVBNUQ3MTAzRDAxYjc2ZTBEQ0NGMWRkYUQ5RjM3NjgwMUU5IiwiMHgwNzk0OEIzMDg1RUI0ZjI1ODExYUVjNzRDMTc0RDI2RjUzZWY4ZTU5IiwiMHhFZDA0OWNCNEQ0QTRFZTRCN0UxMjQyOTc4NzFjNDUyMDM2ZEZiODgxIiwiMHgxMTgwNzcxMkMyOTE2YzI5NTRjYTc4MEZCOGZjMDE2MzkwNjMyM0YyIiwiMHhGZTk4NDVFZEZlYTRiOGVGRWQ5MzZCOWMxMjk0RTdGYjBENjViYzU1IiwiMHgyMTc0RTZENzZGZThmYTY2MDJkYjZhZjg2ZjVFMTc4NDBCRGIwNzYwIiwiMHgyN2VGMENCMDIxNDQ2ZjZkNDNhREYwQmNjNzRiNjRmZDljMEFCMTgwIiwiMHg3YTlhQkQ0QTA0QjdiNDZFMjg4ZjdFYjhhMDJGNUEyMTgwODcwOTc2IiwiMHhjZjI3NmE4MThBNjI1NWZCNzYwN0NiOTFiQjdBM2VEQ2MxN2VDMjY4IiwiMHhmQWM0OUEzNTI0QTk5YzkwZEVmQjYzNTcxYjJkZkZGNzBEMTJiMWUyIiwiMHg4RkNDYzJGMjI3OWJjNTMxODcwMEIxRjIyNzhCNjk1NTliYWVlMmM0IiwiMHg4Mzg1OTk5RDZFOWJDQTQwNTUyNjMyRDJiZTgwRjA0Mjg0ZjA2ZTJGIiwiMHhiNjAzYzJiNUFCNGVlNzkzMjEwM2I0MmY4ZGQ4OTlDODcyMUREMjVFIiwiMHg5YkY5REY3OGI0NWY5QzM4NDgwOTRjQkNkOTBFMmNjNWRhMjlFYjc3IiwiMHgwZDYwNDhhNkViZWRkNTI5MDljNkNDYjI5ZjUyNmMzQTBEZTYyZjQ2IiwiMHg5M2I0YmU0RUMxYmI4YTIzOEM0NzkzOEM4NGI1MWM5NzY0NTZmM0M4IiwiMHhiNEEwYTQ2RDMwNDJBNzM5RWM3NkZkNjdBM0YxYjk5Y0MxMmFDMUQ5IiwiMHhBNDdFYTVCNzRCNjg3OWM1MjI1MDc5NDM3NjQ0M0VlYmQ4YTE3YkIzIiwiMHhlQWI0NmEyMThiODdFZjdCM0IzNDE2ODFiZUJDNTMzZmMxNjc1ZkFkIiwiMHgwYzlDNURBRjFEN0NEOEIxMGU5ZkM1ZTdhMTA3NjJmMGE4ZDFDMzM1IiwiMHhjZjkyOTBhNGEzMWRmZWE5OGUwZTMzMjc4RjhiRGFiYjA0OENFZjU1IiwiMHhCNmE0NjE0QmY5RjZEOUIwMjVjMDczMTFBMTkxYzhEZTk3NDM4NkE5IiwiMHg4MEE1MTU5Y0FGQWVhREQyMjlhOUVFZThDMDIyQ0FCODQ3YzA5NDdjIiwiMHhkOEM4YTJCMTI1NTI3YmY5N2M4ZTQ4NDViMjVkRTdlOTY0NDY4Rjc3IiwiMHhmNWVmNjc2MzJjZDIyNTZkOTM5NzAyYTEyNkZFMmMwNDdkMGEwN2JmIiwiMHhmMEI2NkZGQTA0NzQ5MmQ0QTVCMDFGM0ZmMDE0OUZEMjIxMTg5ZDdhIiwiMHg4ODc4RGY5RTFBN2M4N2RjQmY2ZDM5OTlEOTk3ZjI2MkMwNUQ4QzcwIiwiMHg4QTQ2MTVBOEExYWQ5NDI1NzU2Nzc2MkMxNjAwN2QwMkY3NkVEZTAwIiwiMHgzZTg0NjhmNjZkMzBGYzk5Rjc0NTQ4MWQ0QjM4M2Y4OTg2MTcwMkM2IiwiMHgwNUIwYzFEODgzOWVGM2E5ODlCMzNCNmI2M0QzYUE5NmNCN0VjMTQyIiwiMHhiYTY1MDE2ODkwNzA5ZEJDOTQ5MUNhN2JGNURFMzk1Qjg0NDFEQzhCIiwiMHgyQjYzNjJhYUE2YjQ5QTAxN0M4ODNEMUZCMzdmQWM1NzM3MjEzNzRCIiwiMHhFNmYxOWRBYjdkNDMzMTczNDQyODJGODAzZjhFOGQyNDA3MDgxNzRhIiwiMHhGODhBOTg4RjA4YTVEQTg4QjI1RjUyNzEwYThDNjY1QjEwN2QwYjcxIiwiMHg1MWZlOEU4RkEzRjlGMTAyODhmQThjMkFmZjE0MDBGODg3RDIxYzQyIiwiMHgzNTBEQjA0NDBmMUZGMThlOTAwRGNDOGMwMTE4MEFBMDBlNzJDQzkxIiwiMHgxQjg0MDlDMThiNTZGRTA4MWYwMTg0NTM1QjA0NDkyODliZGFCY0FjIiwiMHg4N2UwODMzNkJBRWY5M0U5NzdkQ0U4MjEyNThCZmNCM0JCMjU2MTk3IiwiMHg4RmQzQTA0Q0IzMEExZkQ5ZkZhRjE1NDg5NzJCMmU1MTE3RDBhNTJEIiwiMHhBNjE1MkIxNWQ5M0IyZDJmRDYzQ2MwQjJmOTU2RWNBQzAzNDhkY0Y1IiwiMHhmMzdFZDc0MjgxOUVjMDA2YjA4MDJkZjVjMkIwZTkxMzJGMjJDNjI1IiwiMHhFNUZFMjVCMjM1ZGJCOGNiMDJGZjBCRkIxYzNEMjlENzhkNTgxOTFCIiwiMHg4Qjc3NmUxODBhMTY0NjE5NmNCQzBmMDkwNjdhQzM1ODEzMTU1M2NBIiwiMHgwZGIxYTAwNjEyNzA0MTgwMzdGRDk4MzlERkYwOEI4Mzc3YjU1RTFkIiwiMHhjRDNDNUQyNDgzMTg3N2RGMUJGODBlMUNlQkFDMkY1RDlBYzUzMGIwIiwiMHgxNmJCYTM0QTQ3NEU0MTgxYTZjMDY4YjMyNDJmQjJBOTEzNjk4MDhjIiwiMHhGNzA1QkY5MmQ1MzY3MTJCZGVlNWQyNGU2RjE3MWNhNDhmRTJDNzQ4IiwiMHgxZTRGNjUxMzhCYmRiNjZiOUM0MTQwYjJiMTgyNTVBODk2MjcyMzM4IiwiMHhkZEMxQkIyNTZlZTA1QmJkMjg3REIwZTIxQ2E2MTdCYzA1MkRhYTIzIiwiMHg0NzBlOGRlMmVCYWVmNTIwMTRBNDdDYjVFNmFGODY4ODQ5NDdGMDhjIiwiMHhhMkYxNTZiQ0Q5NzhFMDZCNzE0YUY4ZDZlN2NBRjY1NTExQTU4YzhiIiwiMHg2Qzc4MjA4MjU1MkREY2NiOTgxOTBBNGQzNTNlMDRiZEQzMzBBOWY4IiwiMHg2M0U3QWEwNUI3ODE0NDAxM0NmYTRiMjNDOWI2MTU5OUQwYTI5MDIzIiwiMHg5ODUxN0EyMDNBRTg5YjM0OWI2MWNjMUE3OTMzOTM0ZTc5ZUY3YkQ3IiwiMHg5NTU1QTZCM0JiNTM3YUYzNjVEMmQwODc1RDAzMWI0YThiYTZmYjQ0IiwiMHg0ZDQ3MjExQTdEODQ3OTAzNTExYjRhRjE0OThkNjg5QjJhNDUzNzI2IiwiMHg3RjRiYzFGMDIyQTQwMzMwMDM1NmUzRmZGYWI2MjUxYzhBQTRkMjZiIiwiMHhDMTk1MDA1YjJkOWY0MUZlMjk1NEQzN2UzNDhkN0M0NjdCMDI4QUMzIiwiMHhiQzg5QWY0MzNDMjhiN2RlNmVEMzAxZDUzQTVDRkMwM0JBNDhlRDdlIiwiMHgyQTY2MzkyMzE3Njk4QzU4MThkZjdBNzJhNTg1NTYwNDlmMEFlNmYyIiwiMHhFNjdEODFGNTQyYUFiQjVBNjVlQzA1QmE0NWE4MzFhNjNkOWFiMDM2IiwiMHg5QzRGZTVGRkQ5QTlmQzU2NzhjRkJkOTNBYTJENEZENjg0YjY3QzRDIiwiMHhFODNjNzZDNTAwMzNBNTM5NkQyMWNFRkY5RmExOTJlMjU1MEQxMGNBIiwiMHg0NDE4MjhmZDlFOTAzRmFmYTdhNDdGMDZlMmFFOGU2NDlCMzlmMjU2IiwiMHg3MEQ2YjIxOUQ4NmYzMDAyMUQ0ZUIzN2I4NTdiMTg4YUU3NkNGODcwIiwiMHhmQzZmZDhkNGU3RWYzMWQ1OTlmM0QzQjdCYThjMjM1NjM1ODY3OTBkIiwiMHg5NkEzZjU3QzgzZTUxYzNjMjEyNTIwNDk5NDYxNDJENzk1RmFCNjBDIiwiMHgxQzI5MTgxQUY3ZEU5MjhkNDRFYzQ0RjAyNUZGMWE2YUM4NGU0MDdlIiwiMHhhNTU4NkVFNmZhRjA3NkE4RENGMzEyRTA3RUNDNTQyODkxNDg1ZTA1IiwiMHg4MmZCZkREOTZDYTA1NzU0MzYwMzM5MTMxZWQzMzEzODVBMTg3MTZkIiwiMHhBNEQzNTY0M2JiM0IyMzlmYTE0NjI0RUMyOGYwRjc4Njg1NmYzMkUyIiwiMHgwMUQzOWJBM2JkQTNEZjhiOGE3Q2IxNjI3RjU2ZWVlOTFCY2UwQzBkIiwiMHhGMDJBMjgzQUIyOTk3MDg0Yjg5MzI4MzdkRjI0MTJlM0VlMDJGNzdhIiwiMHhFQjU0NTU1OTBCYjJCRjY3ZDU0RDdEM0FGZkFBMTkzMGM1MTMyQjE0IiwiMHg2Y0NDZDYxMzUyRURBQ0EzMTU4NzBiMDg4MmE5QzkxNTkzMEM4RENEIiwiMHgzNTBhNDdCOTAwNDRlRDBBNEYxNWZhOTk1NDEwYzY5NUY3MkRFZTRCIiwiMHhjQTljNGNDMDllOTAxRjRkMkFBMDcyZWQxQUE5NURDYkUzQTdBOEU1IiwiMHhGMjE2MzhlRTMwZTFFZThjQ0ZmMjhjMDg1ODNGMEI1Q0EyMDhEQUIxIiwiMHhCNjZCNkE3QThDNDJDMjRkRUM0MDdDMjkzNTgzMzI4ZWRhNkI4ODY4IiwiMHhBYjlCZWY4MjQyYzJCOTc3NzJhRTIzOUE1ZDcxYzYwNDk2QTA2MzM0IiwiMHgyQjc5NzE5MWI3N0I3NTc5YTVjMzIwMjcxNzRkNzlBQjdiNzI1MTE0IiwiMHhFODE3NTkwRjgxZGEzYjhDMzgzQzYzNEM3Y0U3RWY5NjRFRmUwMjdGIiwiMHhDMDQ3NDRhYjg3QTRDMzdhZkQ5MTY4MGVmMjgwQjk2RWUyMUEwMjZFIiwiMHhGRjFFZDM2NzFiMTA4YzA2MjQxRDhjNkUyNTY1ZUVCQ2MyMTk4OTdiIiwiMHhlODA1NkI4M2JhN2RBRjAyNzQxNGI1ODA0OGE0ODkxMWFjZjFiMkE5IiwiMHg1N2VBNzAzMjg0ZjEwZjg2MmQzOEI5MzlmN2Y2MTQ2ZTA0MEVkN2Q1IiwiMHgxOTUzZjkzMDAzNENGNDg4NzQ2MDFERDc4NDQwNzNGNmIxNTRBZjYwIiwiMHgzQjNkNEVlRkRjNjAzYjIzMjkwN2E3ZjNkMEVkMUVlYTVDNjJiNWY3IiwiMHg4MjE0N2EyNjQyNUQzQWUzMjBBMGM1YjgwODJCOUM5MjVENDU4Mjc0IiwiMHgwOGUyN0U1YTc1ZWQzQTQ5OGVlNDIxNENDMTAxNzExMmJkNDcwRUYyIiwiMHhmZDI5NDIwMDYwNDY0YjY5ZjJlMTgwNGI2ODUzNTRjMzE2ODcxMjFlIiwiMHgyRTNCQjk5MjEwRWJhQTdGQUU4MkMzMmIyNDRlODcyNjEwMTA3MDg4IiwiMHg0OEUzMTM0NjBERDAwMTAwZTIyMjMwZTU2RTBBODdCMzk0MDY2ODQ0IiwiMHg2NTljQjEzNjkzYzBFODE3RWQwNTE3YmEyNjkzNDJDNzVhRjBCOTIxIiwiMHg5MDhlRjE1QjlGMzI0Y0NlNDFkODlFNzU0MmE2ZUVjMDU5REY2NGQ0IiwiMHhiMUZFMzBDRUJjNzRGODMyQjMxNEFDQ0VBYUExZkU4MTc1MjhhNDNlIiwiMHgwRkI0MDIwMTZhZTVBYTgwMDY5NWRkNzgyODA3ZkQ4MTk3MDAwZjY3IiwiMHgzMDA2YzBEMkE2ZTU0ZDM1OTBhNDQzODRjNkYwNjZjOWNGOWE0Y2VBIiwiMHgxN0E4N2RhNDUwN2M4MDZhRDcxQUJlMUY2N0E5QjU2YjlDYjJmMTBDIiwiMHg1MTUyNzAxZERFZEFmN0U5OTNhNjY4ZTIyZmNDOEJDYmU2Mjg1MDM2IiwiMHhEMTkwMWMzYTZjMTUyMUQwN2IwY0MzZDdkNUJiQTBFRkQ0QTI3Mzg2IiwiMHg5NzhFMjIzQWQzNTc1MzM4YjMyZmI4OUY2QTdlM0M5RDg3NjRBMDQyIiwiMHg4Q0YwRGViYTFBQTExMzk2QjQ5ODkyZkNFRTY5ODY0ODkwNzgzZDI5IiwiMHhBM0Q0ZTYwQjI5OTRBNUM2ODQyZTFkODllZDA4YThCZDdhMmVBZTQ2IiwiMHg5OEQ2N2VmRDI2QTIxZTNCYkY4NTA3OTYxNjMxYWExNjE2OGFkMjU3IiwiMHhFRTg5ZWEyM2MxODQxMEYyYjU3ZTdhYmM2ZWIyNGNmY2RFNGY0OUIwIiwiMHg5RjRFMWZDMjM0ZDAxZWYzRDU4ZUIxNTZFODQ0RDAzQmVlYjZBMzQzIiwiMHg3NWVmYjI1N0UwN0MxNEE2NGEwMTBkQTM1MmIxMkY5Q0FDRDhFNDgzIiwiMHhCNWI2Mzg3MDZDZjZjYUM1NGM3MUUzOUFiMDA5ODJCNjMxN2RlOTA4IiwiMHhCNjY4MzAzNDM3MGE1M0UwMTYwRTk1MWM3MjZCMEM5MzNEQzBmRDU0IiwiMHgyMjQ5RjZmN2JjODBiMzNFYmQxNDk3MDZiNjQ0ODE5MEMzNTA1QTQxIiwiMHgxRDJkNjdjY0IyREY0NWM3Rjk3N0E3OTYwNGNhZmYyNjgwOGNGRTA5IiwiMHhmOTYyODBlMjhDODJhQ0ZmYzc5N2M1MDJmNDFFNTk4NUIxRjk0NkVGIiwiMHhGQ0I5MTBkODcxZDdlOTRGNUE1NjZCN2IzMkZiMkIxOTU4M2MwOUQ3IiwiMHg0MkQ1Mjg0N0JFMjU1ZWFjRUU4YzNmOTZiM0IyMjNjMEIzY0MwNDM4IiwiMHgyNzQ5ODRFNDU5OUFjOTI5Mzg3NEI2NzcxRGJGMjFmRGJFOTFkMjdkIiwiMHgxMjY3Njg0QjA5QjJiZTllYjdhNTk4NEZCMUI4QzkwRjQ1NTQxRTI3IiwiMHg0ZmRBMDBENDkwQzFjMDVGZjE1ZDczMTNkMWNlYmU5YzcxMWU0MzRiIiwiMHhhZkExYzdlZTIzNTM0QTVhQTEwODUxQTZiNjEyMjhGODE5QUY0QmM5IiwiMHg4ZmVBODFhMzJBMGFBOGE5OUI2NTY2NGU2ZkRjOWFDQzRhYzBiRGZCIiwiMHgwMDc4Mjk5QjM1QTVDMjUxMUFCYkQyRTcyMTM3OTFEZjQ0NDUyYjc3IiwiMHhjMzNkOEM0OWUyRTBhOEQ5ZUQxNTFDY0REZTkwODdBYjBmNTc4YTBkIiwiMHg5QzFjRUFEYzQ4Nzk2OWE5RTQ4RWVhNzIyMjIwNkM2Qjk1MTRhMzVDIiwiMHhGMmYyNTI2QUI3ZTkyNUU3NGMxMEY2OTg0QmZCMzAzMEQ4QmRhMkZmIiwiMHhFQTM5YjE3NGM1Njk3NDEyMjQzNUVCNEFBMTYyQzE1MTQ3NmYxQUE4IiwiMHg5Yjg5MzNlODhDNGQ5N0ZiYzRmNjBDNzhiNzk4Mjg3NWYzQUUzMzc5IiwiMHhlZEM2OWM3NTRCODhhMUE0NkQyRDI1OWI2NWE2NzVCOTI2MmRDNThiIiwiMHhFMkY0MTRkMTEzMGFBZDUzMTUyZjZDNEZBYzVEZEIyRDc2RWUxREM1IiwiMHhhMzk2NkREMWRBQTMxOTBBNzI4YmZlOUQ0ZjQwNTg5NTUwMTNCZTEzIiwiMHhhOTI2QURmRTBkQkYwNTgzZWYzMDEwZjZGOGRCYzY4YUZhNmUxYzRhIiwiMHgyMGUxNjQ2N0E0MDE1N0YzQzJEODNCRDEyMGE1QjcyNzQ4YThlY0I4IiwiMHgwQWY0MDZmZjYzODE5QjEzOUM2ZThkMWNjQzMxNDFFMzFDNDg3NDk2IiwiMHg0RGE1OTY2NkMxMGE5MURhZjgzN2RmODA5NkZhODliQTMwMTZGNWY0IiwiMHhlNTY2M2VGZEE3RUEwRDI2N2RlNjQ0N2M5YjgxRGFGQ0Y1QzgyRmVGIiwiMHgxMjNGY0E3RTgyNzJBOEU5YzNiYjcxMTNDMjU5QUJjNDkwMUU3OTJCIiwiMHgzMjAzMTk0MzlhMDIyMzM5Q0REYTc5NDdFOThjYzcxYjE4REU4YTk1IiwiMHgwYmEwZjcyNDZlOURlM0QyYmY0MEMxQUNmQmY4Nzk0QWRGMjFkNEJGIiwiMHgzM2E4YTU4NDkyMjdlM0QwMDA2NUY5ZDYwYkZENzhhRmQzNzU4MUY5IiwiMHg2RDY0MjZDZTc1YkYwODJlYThGZTk5MEY3ZDljMzcxMDc3NjE3RTk2IiwiMHhCODlFZDQzZjQ1RDFmODcwYkU4MTVjN2I1MzM2OGExY0M1MTg0NDc0IiwiMHgxNDZlQmFjYUJCMzY5NzFFMUFhNEY3RGNjNWNDMTcwMmM5ZTI0NTYxIiwiMHg5NjU2NjdjYjA4MjlCMzdiYjQ4Qzc5RTMzZDM1NkZDYTU3NTkxZTcwIiwiMHhhOTg2RjJBMTJkODVjNDQ0MjlmNTc0QkE1MEMwZTIxMDUyQjE4QkExIiwiMHg0NzdmQTU0MDY1OThmOGViMTk0NTI5MTg2N0UxNjU0QzRkOTMxNjU5IiwiMHhhMmExMTgzMDNBRDYzQjI1NUU3MjEzMGJjNzI0MjA5Mzg1NjE3NmVEIiwiMHhmMDNFNzIzMDc2RWU1QTlmNTE5M0RCMzUwQzAyZTExQjdlMWUxYzFBIiwiMHg0ZGEzMzYwY2JkRDI3RjI5MjhhNGU2ZkRGRUY4NmYyNzRDZDJjQ0M4IiwiMHg1NjNFNjZiYWRjOTlmMzZkMDIxNjE3ODhBMkI5NjZlMkU0ODhCYkIyIiwiMHhCMjBiZDVEMDRCRTU0Zjg3MEQ1QzBkM2NBODVkODJiMzRCODM2NDA1IiwiMHhFOUE0OGYxRTZjNEJiMDRhODE3QmNjYTA0NTc1NzZlNTQxZjIyNDVlIiwiMHgyQkI4YzNEMWNDOTlGNDU5MjIxMTQyNGVFM2REMTQ2M0QyYmUwRjdlIiwiMHg4NDQ2RjI4MEU4ODM0NDBiOTU0ODJlYWNkOENlMTlFRWI1N0JlZjZCIiwiMHhhNmYzZWY4NDFkMzcxYTgyY2E3NTdGYUQwOGVmYzBEZUUyRjFmNWUyIiwiMHg3NTIwMWQ1NDY1ODVlZDQxOTBCQjVjN0YwQWU0RjQ4ZEZlMWIwYzYyIiwiMHgyZGRhMDlmQjkyOWM1NzZBNkFCNmMxRDFFRTYyRThBRjcyYjJGNmE3IiwiMHg5OEM5Mjc1ODk4NjIxRDY1YjJhODRiY2RBMjI2NjA5ODA2MEQxQ0Q0IiwiMHg3QzM0Mzc3Mjc5MWFhOUE2QWFBMjZDNjA2MkU1ZjMxQUY5QUFDMkJFIiwiMHgyOUUwNjk0MzFFRGNEOWFCMzBGZEUzNTVEQkY2MkIzOUM1MkM5NzcyIiwiMHhiM0RjOWI2QTA1MDlhOTFjMEJCZjE4NTQ2NjQ5MUVEM2JDY2I4ZDU1IiwiMHhiRGE1QjZhZjA0NmJkMzcyNUY5N0UzMTMyMTA5NjBjRWRDZmM1ZDc5IiwiMHgzZkNiYTJiMzM1ZkFiMDg5MjI5RUY1ZjMyYTliNTU0N2YyNDAxMTQ3IiwiMHhFNEM0OThmQ0Y4MDI3ZDlmNjlDZTI3N0RGMGY1ZDQwNTk5NTg0MzlkIiwiMHgyQ2QyZDI3NWNkYjIzN2U2OTZjNjA0MTkxMDlGYWM1RjMzMTQ4NEUxIiwiMHgyNTYxMjc4NzQyYmYzZTM0MmMyNGZkY0NEMTljQjBhNTgxM0EzMGNBIiwiMHgyQ0Y1MDBkY2NGNEI4RjY4MTI2ZUQxNTVBQ2QzNTFhQUQ4YjMyOEZlIiwiMHgxM2FkQjA2ZGQ4MEI2YzhhQjEwYjlEOGU2ZGM4RUJjQjE0QWY5NGZmIiwiMHg0Y2Y2NkEyRUUxQTRBRjExNTIwZTlEY2MwQkQ0ODczMDE4MjIxYjk1IiwiMHhlMjBDRjFmNmU0YmFGMzQ4N2UyNjdBNzgzRWM2ZkQ3OGMzOTVlMWEyIiwiMHgxRTU3NjA5NWZERDc5QTJFYzgzMDFGRUU3ZjAyZjM0MjEzMzAyZGQ0IiwiMHhjNjczQTAzNjg2OTYyMEIwNjNFQzU5Mjk4MjJiNjg4ZmEyMGFGRTdlIiwiMHhhMzc0MmYzNzQwQzVjMTEyRjlkRDBhOTg1OEFFRmU4NzVjZWExM2UyIiwiMHgzMTU2MkMyM2JhNTFBZWJBOEVkREM2MThDMzVDNjJiOTYzQ2YyYjgzIiwiMHgxZEUyOTkxZjFFZjIyRjdFNjEyRWIzNjRlQUViM2VmMThCNTc0MkREIiwiMHg0Mjg4NEJEMDA3Yjk2Nzg5NTZGRTIxY2MxMWU5MkRBODE3OTNEMUEzIiwiMHg2NTRiODg5NUEzRGM2MzU0MWI5NTAwOTI3NDdDN0Y1RGE5NTdDMkNBIiwiMHhBNDUyNDFENkM5NDQ2MTY5MThlMmI5MUM0NjdFMEIyQzI5QjUwMjAxIiwiMHgzOTVBMTM1MGRiOTYyNzM2MEQwOWM4YjNFN0MzMUZCODQyNjFCOEYyIiwiMHg3MjJBMkViN2JCOUU1QzEyNDI4ZGYyMTJFQjk4OTVkQTU1MGNGYzEzIiwiMHgzOUJBYzNENDhBRWIyN2U5ODRjRDQ4Mzg4NDQwRjEzMzA2MTU4QzM4IiwiMHg3MGMwNmNGMURGYzExN0Q5OTZGN0NjMWY0Y2RjRjdiNzJhOUZiZjRDIiwiMHhCQUU5MEYyOTRDQjMxYTZGMjRFNGUxNjUzNDRiN0YzNjZmYWE1N2UyIiwiMHhENTc4NzExZjBkMzBlMEQ1RTNlM0E4OTEzQjdDMzg2RDMzODM2ODNiIiwiMHgxYkE5RjVDMTkyQ0RFN2Q2YzgzRWFEQjY0NEI0MTA2NzU3MTQ1YmUzIiwiMHgxYjIxNjA5RDQyZmEzMkYzNzFGNThERjI5NGVEMjViMkQyZTVDOGJhIiwiMHgzNjFBNGFGOUNBNzg1Y0M4NWUyRDE4M0FhYWVDNTA2NTVhMTQ0ZjYxIiwiMHhDOGM0NDU0RGEwMWVGOURhYzM4MmJjMzVBQ0E4NWVhZjBjZDM4MmJGIiwiMHg0NDc3YTI0Nzg4MDcyMzkwOGFhMzA0NzgzODY2YjA3ZTcwODU4ZDExIiwiMHg0MTA3NTQ0YTVkNTVmYUVlMDA3NzlCNjdjYTFjODFjRjYzQjZkMDIwIiwiMHgyNTIwMmJkZTMxOEZmNmU0QTM0MDUwMjQ2NDU4OTY4MDA3QjEzNTMwIiwiMHhkOGMwMDQ1Y2I3OEFCOWNCRWUwRENBMTU2QkVGMDQ4NkJDNUZDODAwIiwiMHg5YzVCMzI1ZTBEMzg5MDBDNmMzZmM0OGNBQTgwYzQ5OTllQUNjRTdlIiwiMHhiNGY1ODRlY0JEY0UxMkNjYTEyNTlFNWZhZjREOWNGYjlGQzQwNDVmIiwiMHgxQTFGRTZGOTU1QjY1NjdhNzVkZGRFYzUyNjMyMGE0QTFBMjE0ZkE5IiwiMHhGMTM5MmI3YWU1N0YyYTFENDBiMEMzRTU4NjYzNjZEOURiNDgxNGRmIiwiMHhGNkEzMEI2YkRBRjczYzczZDM4QkZCMUI1NTgyMzIxZDdEZTRBYmZjIiwiMHg0MjlBMEJkMjQwNWU1RDcyNTMyZjUzM0IzZjY5MTQyREQzNmIzZmZiIiwiMHg4MTZmRDJjN0Y1MzFkMWQxMjk0Y0NFMjlhMWJlMjhFRTY5MTFGM0QzIiwiMHg5OTJmQUVlMzAxN0M3ZTNGYTAzOTBkZUJmQTU5MzM3QkQzNzhkNDQ1IiwiMHg3OTVhYzQxMkJGYzAyQ0Q1ODE1NzI3ZjQxOTA1MEQwRTlCMzMxRTYxIiwiMHhEQ0I1RkM3YzcxYTcyNDlCOUUzOWM1RUE0MzE2OWIyNjdDMzBmNzgzIiwiMHgyNWUwRTI1OEExNjMzQWEyYjgxODU5ZEM5NGQ0YkM0QTk4QzcwNzM4IiwiMHhmY2M5NDZjRTA5N0FkQjViYTg4ODc1YTViMjg4MDM4NjVmNDQxMDlDIiwiMHg2MjNBNDZmMTc3RUE5NDQwN2M3ZEIxQzBlYTFBNzc2MTlGMTAwMDFFIiwiMHhhYkI0NzMzMjJmMzQ4NmE2RjZkZkUyMGI0N2MwMDllZTcyNjUwRmNkIiwiMHhhQmJDOTIyQ2UzYUZhNjBjNzVBMmI1NmVjNzk4ZGE3ZWNlYTY4QjI3IiwiMHhBMTYzNjY2NzIwMTgyNDg4QkU4YjVCQzBjNzM0Mzk2MzAxMTI2NDI3IiwiMHgyZUFGZDJkQzYyMGRENDBFZjY0ZmIzOTRjMzg4MjUyNkUxMjkwNjhlIiwiMHg5RWM5MDhCQTQ4OUNCMzU5MjEzYzdmQjczQkZEZUMyQTg5NjNDNjE2IiwiMHg2MzExZGRBMkNDYjg3QjM2QWE0NTJDOTk5RDI0OWFlMTMzYkY3ZTE2IiwiMHgzNjlhMDA1NmVjNzUyMzQwRkNBOTAwMTk0MTA0MDYwMEY2OTU5MTQ2IiwiMHhiQjMwM2I1NzM2MjRhRUIzNzYyQzFCRjdCNzk1MjFhM0EwQzZiMURBIiwiMHhDRDY3QjhEMTA0MGE0YURmM0M3ZUM5Yzg4N2VCQmI5NTQ2RjUzYUQzIiwiMHhGMTJDMDg2MzQ3YTMyOEYzYTAwMGQ4OTJmMjM4NzVkODg2ZDUzMGNGIiwiMHgxQUMwMTA1M0Y3NEQyYjc5MEZkMjc1NjEzRTczRmVGREMyMkMwNjhiIiwiMHhlNjcwOTBjMDM5ZWU2MTNjZEYyNjU3M2RjMmM3NDVCMkJkMEY4NTg2IiwiMHgwZjhFMzE1OTM4NTdFMTgyZkFCMUI3YkYzOGFFMjY5ZUNFNjlmNEUxIiwiMHg4RmYyRmQ2Zjk0Q0RjZTdDNTZiQjExMzI4ZUI5OTI4Qzk0ODNhYTY2IiwiMHg0MTY4Q0VGMGZDYTA3NzQxNzY2MzJkODZiQTI2NTUzRTNCOWNGNTlkIiwiMHg0ZGUwNjYwMjZBZkFFMGQxM0ZFMkJEOGE3RmVGNEY3YTQ4ZkIwOWI2IiwiMHhDY0YxNjAyQTgwMUVlMDUwYjQ5NGQxMDVFOWYyNjQ3NGQzY0QwZGU2IiwiMHgzNGEwMjE2QzUwNTdiQzE4ZTVkMzRENDQwNTI4NDU2NGVGZDc1OWIyIiwiMHhGQUQ4QjA3MDU1QTAzNzE0NDJBMzEwNkEyMjQ0YTgyQjI0ZTMxY0VjIiwiMHg5QkZlYTZmYWM2MDQwNjU1NGIzM0Y0ZjhENDNkYzEwMUNGN2E4MDM0IiwiMHhjRDhiNjFkZTQ4MjFFMkZmZkVGZmRDZTkyMzdFN2Q0MTc3Mjg3MTcxIiwiMHhjNmMwNGI5N0M3NGY3RGM5QTY1OGJjNzY5YjQ2ZTAyYzIxMzNiODM3IiwiMHhkYjAxNzJFNWNENjJkRmNBRDNiYTRiQmU2ODE3OTc0ODIxOGRjMDBiIiwiMHg2NjA3RUY0M0Q3OTllRDljYzc3N2VCZjAzODc2OUM4MkEzMjg4Nzc0IiwiMHgzZGVhMzlkYzdBZjQ4MGZFOWI4Y0RhQWI5ZjkzNEY4NTkyYmEzQWRFIiwiMHgxMDFhMzIwOWJGMWI0RjI5MGU1YkRjOWQzMkQ4QTFiRDk2REZBMmFiIiwiMHhhMTI4MTI1M0FlOGREOUVlMkE5NTIzQTIwNUVCNzczNTNDQzVFMUI3IiwiMHg5Y0Q3NDAzQUM0ODU2MDcxNTgxRTFmNWEyOTgzMTdEOUE3MmExOWNmIiwiMHg0MTk1MmFDNTU1Q0UwYzA4NTBmMTg1MTgzMjJlMzQ0MjI3RUM5OEQxIiwiMHhlNTk3NDEwNTA0Y0MzMzcyMjEwOTUyYzdjQTNkODk0MjAyM2RBMjc3IiwiMHg1NzM5NTlEMjZiRDk5RWM4MTYzNjJjZTJiNzRGMGUxZGYzYTQ2OTU3IiwiMHhhM2M1RDdlNGYwRmQ0MWJDY2UwMGIyMjk4OEIzZTZEZTU5RjRDRUZFIiwiMHgwMkREOUZmNjRFZUM1RDg2NmE1MTJFRjA4NDYzQzdjODVBMTRlNEFhIiwiMHgxZjA5MjExMGQxNzQ2RDFENmNjZTI3Y0Y4RDRmYjVEMjI4MDAxMTUwIiwiMHg0QTNmYmFENUNlM2YyM0E3NTk0RjQ2MkIwOTcwZTQ2QjBlZjljZjEzIiwiMHg2NURhZUU2MjBiQzIyNDQ0NDlmNTA1QTgzNWFiNkRENmQzQWU2ZjExIiwiMHg4MUZiRWY0NzA0Nzc2Y2M1YkJhMEE1ZEYzYTkwMDU2ZDJDNjkwMEIzIiwiMHhlMWI3ODNFRGRiZkZCOEI3NzQ1ODg4MTE2MjMzODhDYTQxRTI2ODgzIiwiMHg1OUY5NmI4NTcxRTNCMTFmODU5QTA5RWFmNWE3OTBBMTM4RkM2NEQwIiwiMHgzRDJkM0M0NDQ2RThhODI0NDU0MTg1MjNiOWI1YjM3Njc2NUU1NUE4IiwiMHg1YjliMjY5MTM0RGJCYjYxMUUxNDk5MTNjMjg3ODEwRjI0OTc4Q2MzIiwiMHgwOTU3Qzg1YWVlMGU0NDg5MDJmMzZEQzcyRkM4MjlEYTE2MzcwNmM4IiwiMHg1ZEVkZkQ5REZDZmVhQkRGNDQ3ZDZlOWI4N0I5MDM2ZWEzZTUzQzkzIiwiMHg1MDdkMGI1NzQ1MmQ5NTE4NGRiNmU0QUU3MDA5ODlkRTI4NkQ1NDY2IiwiMHhmMUZmNGM2NzJEYUJmOUFFYTQ4MTNEZEE2RGU2NmI4NjBiMDk3MGI0IiwiMHg4NjM0Qzk1YjRmZDZmYTNmN0NkZjYzMjY4MDQ4QmI3NzYxMWY2MzhEIiwiMHhlQWVjOEE4NjM4QkVDMkE4M0E5MkU4ZUIzMEVFMDlDYmY0ZTZDZkYxIiwiMHg0ZDEzNjg3MWQ1NjE3MDE5ZGZEQjMzOUEyQ0Q3Q0I1YTBiNzVFN0YzIiwiMHhlZEFlREQyMmU2NTNjNTA0ZmY2ODA2YmY2MTY2NDI5Mjg0OGVCMjZlIiwiMHhCMDQwNTYxMzdGOGYwMzA1Qjg5MDM4MjJkYzMwMWRENWExMjg4MzkxIiwiMHg5Yzg4NmVCYTI5NThkMmQ2Y2Q1NmRjMGREZTM3M0VlMkE5RUM2M2NlIiwiMHgzNDBBNWEyRjczZUJhYTE4MWVDMjgyNjgwMkZkZjhFRDIxRmM3NTlhIiwiMHhFNjJjNzUwNjY1NkMzZUIwM2RERWMxQ0M5N0E4MjQ4OTY4OEVCZTc1IiwiMHhkMGI5NmU3QzJCRDZBMDQ1MjFGRjhhMzZEODhFQjlGQzRmNTJjODU2IiwiMHg5Qzg5MzlDMDRhMThlRTUxOTUyMjNkNTMxRjJEYTQ1M0QyMzc2MmM2IiwiMHgwMzRBYzU4MzkzZUNjOUE2ODdjZTU2NTI3ZDYxN0FDNTY2MWQzZTk3IiwiMHhCYmI2OEFBNDM2RDVGNjM2OTgxYzU4MUJiZEEyNzlFNDhlZDE3QjIyIiwiMHg0NjgzNmJiMjU1MUIyM0M1QWFENDc3NWI3ZTA0QzE4YzBmREYwZjRiIiwiMHg2NmVkYzUzYjdDYTQ5ZDU2RTM0N2I1ODk5YjNiM2FjZTUxOThlMUE5IiwiMHhlOEVENjFjMTIwQUE0Mzk1YUI1RUZlZmFGNURkNTQ1YjM3OTA2MzVBIiwiMHg0MkMzYkQ0RkVkQzVFOENENDczMjExOGE5NzE4YThFNDY5OTU5ZTc5IiwiMHg0MTMzQjZiOUIwZDI1MENGYzBhRkUyNmMwMEJBQ0ZkMmI1OTU5MEI4IiwiMHg3Y0QyYzY2ODA0NzEwMjlGQTUxZjZDNzE2OWRhQmE3RGZiNzBFOWNGIiwiMHgxM0U2MzhiNGY4OTc0MGExYzJGRjQ1RDcxRjcxZWUyODEwMUNDMURjIiwiMHgzMDg3MzVCOTM3YjFiNDNGQjk0YjI4OEM1MTljM0NEYjkzYjlDMzMwIiwiMHhFRDNGNUZmQzViNkQ4OTk1MzhFM2U1MzUxNDdmZDc2ZkE2MUY5ODgwIiwiMHgzRUY0N0RBQ2ZGNzQ4NmViODA1MmVlNzY1ZUUwM0VlNTY2QTAwOGYwIiwiMHhENmU4MUUzMDRFYjkxNEFGYzU0MzY2QzIwYzRFMDdiMzg1ZDMxOUQyIiwiMHgzMzViM0RFNjZCNzQxZDZGRWQ3OUMwQmZmQjE0QzkyODYzNWQzYkMzIiwiMHhBOGYyRTU2MWIzYjQ5RDAxQjRENzRFZTc5ZTE4MDYyOTZCYkZjZWZCIiwiMHg5QUQ1NWY0MzI3N0IxRjg1YTYwNGIwMURDNjA2MDczMmM0MTIxNjI0IiwiMHg3NTQ5NDU2RDEzNzdmNmU3NWU3ZmU0MzRGMjY0NTQxNDhkOUExRTM0IiwiMHg2Q2U3MzI3NTk0NTcwQ2Q0OTAzYWJmNzI2YzQ4NEZBQ2I4OWMxNjk4IiwiMHgwZEFDYjQ3RTAwYWVkNkFiQWRFMzJjN0IzOThlMDI5MzkzRTBEODQ4IiwiMHg0Q0NjNzQ0OTdiMkQ1NGZhZEU5Mzk0RmFkOWQ3YTc3RjQ2ZmMzZTZiIiwiMHhjRkY4ZDBBRjlCMjY3QzAwMTg5QmEzMDE0YmI3REM0OWVBNTg5MTVkIiwiMHhmZkVDMkQ5ZjYwNzhkZjg0QUUzRWNjNmJkOTU4NGQ5NzEzQzBjMTJCIiwiMHg5N0NCOGNiZTkxMjI3YmE4N2ZDMjFhQUY1MmM0MjEyZDI0NWRBM0Y4IiwiMHhiRDM5ZDM4MjI3NTVjMjBhNzE3MzM1NEY1MDg3MzA5Y2E3QjgwQUIwIiwiMHhCNkIzZjM2QjVGQTVCY2M1MjFBODI5MTBBNmIwZTNEQzcxNjU4RThjIiwiMHhEZEU3NmFlRWExOTkyRUYyNTU0NGREZjUxMkQ4MTE1MDgzZTM2Yzk5IiwiMHhFRGM5Y2IwMDVCZDY0NWU3Q0FCREU1YTkyNTFlODU1ZjdERjZiYUUzIiwiMHg3NjFBOTMzMjk1YzU1MDQ4NDNmNzA3QWVDMENlMjI5MUM1M0UxODYxIiwiMHgzOTkzM0UwNDY4OGMzYjJCZURFNzRDRTZmNzVCY0VjZjU0YjAyOUYxIiwiMHhEOGY4ODg1RjY1OUY1RGE1Q2JGMWQ2OEE1RDAzRWFmNTc4NUFjZWVDIiwiMHg5M0YzMkNjMjE5YkNjQmFGMzI3RUNCN2RhMTM2QURhQ0NCQmE1RjNDIiwiMHg4MDQ3Njk0ZDlCYzY3MDhhNjgwYUZCRjQ2ZTQ0MkIwMzgyNGI5ZkE5IiwiMHhiODRlOEFDMjgyMmFkN0M5ZjNjNTExMUMyRTdmNjVGNzE5MmU1YjU0IiwiMHg1RjUxNWRhNTBiOUI1ZjhEMkMzRDk0OTg2QzhCMEI3NTQ5NDA2YTg4IiwiMHg0ZmNGMUEyMzc2ODM4NEY2QmQ0REM2NTZBODEzQzJkYjc0YTE4M0RhIiwiMHg0ZWRDNkU0NDZhNTUxRWQ5YjVhOUM0OTBmY2IzYkZkRTA0ZWFjQjFlIiwiMHg2ZmQ1ODEyREI3NTdlMWNCRjYxYjQ2OTg2MTgxMDVGZUY2RmVmNjk0IiwiMHgyMjE5OTM0REMyMEZlNzlDYTQwOUI3QjRDMTliM0YxZDBlYURERWVDIiwiMHhiNjM0MjljOTExYjA1Qjk5NWU0OThCMmU5Mjc3Q0NkMkFBNzIyNjU4IiwiMHg3MjY3NDI3NGIwMUU2RUJBM0RFYTZkYTdFQzFkN2Q5YTJlNWQyRGI3IiwiMHhDYjY4NzA3MTBDODQxNjlDQzdlREY1RTZCQmQ4NDIyOTkzMmU5MzRhIiwiMHgzMDhFMDE5MTQzQjU2MDIxNTc3NUEwYzZFRmJEMjY3MzQxM0Q3NkU2IiwiMHhiOTgzNDk5QjdEMmYyNTY5QTczOTkwNDhiQmQ3MkNBNjVlNEU0NEUyIiwiMHhFZDRDZGE0NzVCNDkyMTE2NGNlMTMxZGJDNUQ0MkI0MkNCY2E3NjQ3IiwiMHhCYzlEMjE2NTJjY2E3MEY1NDM1MUUzZkI5ODJDNmI1REJlOTkyQTIyIiwiMHhlQUI3ZTkwN0UwMTIwM2JmMEI4MjNkQmUxMzViMTUxOTIxQjc0NTY4IiwiMHgwZTIxMjljMWJEYmIwQWZhQTZCZTFlZDUzNjUwQjI2N0MwRkI1NTU2IiwiMHhFZjVCRTQxYkMyNjY3MzY1NDU3Njk4MDgwNDJmYjAzNzA1MjBDOEMwIiwiMHgwYzczZjcwMGRDN2VFYWQzZjYyRTgxRmRCYWNGNzEyMDUxMTdCZWIxIiwiMHhlNzMwODBlRTZGZTcwZEEzOGEyYTJkMDZlOUZhMDlFZWE0QjY5NzhkIiwiMHhkZWVCYjVhMDYwZjQwNDhBNjdEQjA4YWQwN0QxOUNjOWU2QUJCOEY5IiwiMHhFNkM4MDRGRjRlQzY5MkU2ODA4QzBkMDMyQ2RiQzAzNzcyRkM0RDQyIiwiMHg4YzhhZjI0OTIxQkY4NkIyM0Q2NDE4Qzg2NzRFMjEwYUM4NzZDZDJFIiwiMHgxMDE5ZUM5RkRBYzNlZUQyODE5NEFiN0Q3OEVhMkQ2MTU3OEYxMTBFIiwiMHhlRmMxYTlmYTNDMWE4MUJhREZDRWFiRjM0NjgxYmY4MDFDNTIwNGZCIiwiMHhkNjk3NjBFMDIyMjllOGFGOTRkREVjYTliOTRGZGNhOEJCQjYwZGNhIiwiMHhjODQyNTRhMUM3RUVkMWZBNzcwNGJkYTcxYWZFOTc2MGZDNjI5NEEyIiwiMHgxNzQwQWE1NmViNGUzMzNCYWNEMzE3ZGFjRDBjRjI4MDQzZDhlOEExIiwiMHg3OTlGYTJjZUY1MzIxOWFCOTIyZjUwQ2VDZTM2ZWE3QjRkMzczNDhCIiwiMHhDRDFmRDM5NmZmNzFDNjgzNkUyYUNEOGVjZDJmMTA1RDQ4NzdlMTcxIiwiMHg2MzNEQTAwOGVjNEZBMzEzRTdEQmVkQjQyYkMzQUI4MzI1ZWJiNzBGIiwiMHg2MDVhMzI3MWFCMEEyNTVhRUI1ZDdDM0VmRDE5ODMwRUE4OTQzNDRGIiwiMHgwRTQ0MTBEQ2ExM0Q4NTQxMUJCOTI4MWZGMDU3MTA2NDQ5M2RhNDgzIiwiMHg0QzUwOEI5ODYxMTE2YTE1MzUxYUUwYjY3QUFlNTQ4RkNDMDVGOTllIiwiMHgyRGE2NGE2QzNlYUI4QjFCOTY1MkM4ZTMxODA3ZTI2MGY3ODYxOGRjIiwiMHg3ZjZmZTVjOUZGMUY5RDQ2QjI5Qjc5NTM3RDljZTYzMzcxMjdERkUwIiwiMHgxYTUxYjMxRjQ0MDRmMTA1OUVjRDllNzgyODgwZEJiQzQzRjFmMkQ4IiwiMHg0OUY5MzE2RUIyMmRlOTBkOTM0M0M1NzNmYkQ3Q2MwQjVlYzZlMTlmIiwiMHhENTk3NzdlZENmRDMwM2I5MTNGOTViMTFFOThBNEUxMEMxQzAyNzA5IiwiMHhlMWFCMDQ0MjUyMEQ1YjhiQ2YwOTMxN2FEN0UwQzViQUQ1ODI0ZmNkIiwiMHg4NTA1OUNmYkQ5QzI0MGFkNTQzQ0Y3OTdFQWU5QTIyODhGMDk5QzBiIiwiMHhjNGIyMkFhQjY2NjcyNzRkODg2YThmZjdjYzlDOWExMjFiYzJEZEU0IiwiMHg5ZDA5MGZmRDc2ZERmZDk0ZjQ5MDQwREY5MWVERDY5NzdlMzBlNkM2IiwiMHgyQjZmMjM5MzA3OTY4NkE1NkU1NEQxMDMyMzIyNTYxZEU2RGEzYzcxIiwiMHg4YjNkQjQxMUNlOTFENzhENzQwQ2FlNTQ1MUEzQzAwNDc3ZTU5Qjg2IiwiMHgyRDhlQzc2NTdFMTE4QzkyYjg2ZmM1YjhlMzE3MDAyQ0JCNzQzOTQzIiwiMHgyNzQ4M0Y5Zjc0RUIzQjc5YjlhOTJFODM1NzRiRGFGNzkwMWNhMDMxIiwiMHg4NUNGMTJGQjUxOTIxMmNiNEZGQmYyMDRmYjY5NGRDOTViMkQyNkI4IiwiMHgxOWE0MDdEYWNBOTVhMDg0OWJEOUM2RmE0M0RiQ0IxMDE1NjE2RjVDIiwiMHhiNTI3NmQwYWU0RjY4NjlEQjcyNzc1YmI0MWNEQWY2MkZlQkI3RTM2IiwiMHgwRDJDODYwMDBBRDc3MDY3MjVGOUZBRjVCMjRDMmFENDQyMjg1YTY1IiwiMHg1OUFEQUE3MDZCNzAwRkE3ZTNhRTJCYkI0N2NENzQyNzVkYzYyOEU2IiwiMHg4MmM5NTFhMTdERTk3RkYxMDQ3RWE1NjcwMjkyRDc0NUIxOTA3MjRiIiwiMHhkMjhjMEJkM0U3MWQ4RTg3OGNEOEZiMzRiQjhkYWFlNEFkMjM2MDkxIiwiMHhEOTY2QzE1M2M3QjZGQTRGMTUxNzUzQjY2NDJERmZlOGE1ZDRlODAxIiwiMHg4NzQ5MDY4YzViNDVGZGFhMzY5MzE5RTVEQWExZTVmMzMyNDE5YzZEIiwiMHhFMUI3N2RCZjA2ZDI1NEUwYThjRDE4RTVFOWIyOEQ2REJEQjlEMUZjIiwiMHg5NWZFOTg3MDdlOTgxREJkNEU1Nzk0YzJEQjQ1ODI4NURjNDRiMjYxIiwiMHgwODNCMzQ0RDk2MUQ0QWIzODIzQUNjZUM2MDI1M2VjNmM0YmRCNTExIiwiMHgzM2JlN2VEODA2NDc5MDYxQTdFNjJBMzNEM0M5QjUwMGZjOUI0N0JGIiwiMHg0NzExMDlhYmMyMGM3NjFGODI5NDkwOWUyNTI0OTI3ODdGNDNCNjI5IiwiMHg3NDY3RDYwNjJlMzc2OTM4YWVmZjFjQTg2RjEwNzE0YkVmNzcwM0ZCIiwiMHhmYTFFQTJjN0FiRGE2RmFGZUQ4YjA4QjBENjY4NjI3ODZBMzRFNjAzIiwiMHg2YmI3RDg2OUNERDQ1ODREMTFkN2ZDZDAyMkY1NkVmNmE4OTZiQWYzIiwiMHg0NDFkM0E4ZUEyMDc2YWQ3MzI2RTkxZjUyNzA0Q0JFMDBDOTExRjczIiwiMHhkYjcwNmRmMjA2NzIxOGY0NzNGMjBBMjNlNzRkNmViNmJDMGM1MDkyIiwiMHhjZDgxQTRhQkFFOGFhOGNCMzYyZDdjZTg4QzlhM2Q5NEJhZDAzNkJCIiwiMHg5MGJENjI2ZjU1MWFiRkJhZUI2NjYyOGFFMTBmN2RiYUQ1YzA1MjE5IiwiMHhEMTNhOTgxQURlMjE2ODExNTdhNTQwOTEzMUYxNzhFRTYyOTcwZTc0IiwiMHhERmUzMTdGOTA3Y0E5QkY2MjAyQ2RkRUMzREVGNzU2NDM4QTNCM0Y3IiwiMHg0MTdENzlmOWNFMjNENTc0OTAyN2EzNTZCZEMzREVCM2UzQkY1ZDM0IiwiMHhlN0MxRjg1MUFBRDg2RmI2QTdlRGUzOTE5Y2VCNDBlZDI2NDQ4ODdDIiwiMHgwNDBERjIzMDRiNzIxZDc2MUUzYkMyNmE2N2QzRkJhMDgxN2MwMzFFIiwiMHgxYkQ0NmExMEU2MDY1MjQ3MjU4RWFlRjYzQjBDOGY2MDkwNTQzNDBjIiwiMHgxNWY5YkIwMTUwMmE0M2M0NkVFNjFDMzExN2Q3MzFDYjY5Njk2MWRiIiwiMHgzQUQzNTg2ZTJkOGJmOTJGYzVhN2FCRDFjOTJiOWY4NzZiQTUxZDljIiwiMHg1QjhjMTRjYTA4ZGMxNzJhQ0FBOTk1QzE4ZEUzRTU4NDYzQUIwOTZDIiwiMHgyZDE5RkJiODAzYzZmOTc4NWJmQjJjRDJGRTI3M0QwNWEzOTZFYTg1IiwiMHhENTBlNkY5NDZiOTA1ZjIyODI2NjQ1QjM3MDZGMEMxNGMzMkJiNDJDIiwiMHhBZDJGNzZENTI3MjQ4RDY5N0QxNzU0QkZhNzNDNzE3RGQ1ZGYwQTIxIiwiMHg1MDdDNWE4RjRmQWJlZmUxRWE5M2JCMjFiNTBFRmFiYjVGNEIyNTdFIiwiMHgyN0VERjFFMTE0MmEyN2FmM2YxM2NDZTJERDAyN0Q0NmM0QUU5Mzc1IiwiMHhhRTJENDAwNDI0MTI1NGFFZDNmOTM4NzM2MDRkMzk4ODNjODI1OUYwIiwiMHgwZDA3MjljNmQ4MDA5OGM3MGNkRTk2RTBjQzlEZTg0MDk4OTZCQTJjIiwiMHgzRDgzMTBDZDBiOTJkMTY4ZEIxNDc1ODJiMDU5NEM1YWIyOGY5NTIxIiwiMHhkNTY2MkFCZjQ1NWJlQjFkODFCYTQ2ZDYyYTgyY2IzRDAzZTQ3MWZDIiwiMHg4QUQ1ODg1YTRjNmJhNzAzQjRjMEZjNEIxOWVmODg5YzE1ZGY2MTY4IiwiMHhiZkQ0OWRCMkYzQUE3MEU1NzU1Nzk0Q0U5NDBhYUI1MEM0NDY5NDZmIiwiMHgxNDU4M2Y5N0ZENzA5N2ZkNzBCYzU3YzJhMzVBNzdFYUM5RDFiMjdjIiwiMHhjNjMxYjM1MjZEQjRBNjFmODFBYjIzYTBhNEUyNjUyNjdkRUQ0ZTY0IiwiMHhkRGI1MDQ5RkRiNzNFYTg0NDI5Q2Q5MWYzMWQ5MDc3OTAzMmU1ZURFIiwiMHhFNDcyNjExNkY5MUI0NjNmMjIyODUzYjg1NDAwNWIzMGZmM2NCNDBmIiwiMHg5QjhENTIxYzNlNTNBRmQ0ZUE2MzA1RTIyZEVkNDA2QjAwRkNCZTg1IiwiMHhDODU3MEY3NjI3RDBCNDE3MzFBM0I2YjY0RUQxNDU3RDEyNTUyMmQyIiwiMHhBOUJmMzFlZWI5Y2EyYjZFNTAzMDQyNDQyRUQ2N0M1ODZFNjNCQUIzIiwiMHgwODdlNUNjNzMyOTQ0NzcyYjdhMkEzMTEyMDMzMkRiNUFmODFmNzgxIiwiMHhFMGQ2MkJhOWNCOTc5NzIyOTc0MDFFMUUzNDVBQzk4MTBBQTlmOTU0IiwiMHg3RTFhY0ZlZTVFNWNFNWY2OTVEYzA3QTE2NTM1MjRkMjQ1NzI5M2QxIiwiMHhjNDkxNDA1ZDU0MkEzOTNEOGQyMDJhNzJGMEZCMDc2NDQ3ZTYxODkxIiwiMHgzM0ZiMjU2QjY2YTM5Y0Y0QjlCMzBkOTkzMzM2MTU3QTYzMmJCNDQ0IiwiMHhjMTkxNkI1M0M4QzVlOTI1ZDk5MDFDZDY3QWREMjI2Mjk4NDBGODIzIiwiMHhmMzViOEUxNTY4MEQ2OTVmOTI2ZWE0NjkxMTBFNkJmNWM2RDZFOEZmIiwiMHg5RTM3N0Y1MjZjZDI0QjQ5RjZlYUYwNzVCOUFmRWZEMmQyMTc2NWQzIiwiMHgxNkY0YjE0YTUwNGFlNkM4MzQ4NmZGNjZDNzcyQUZkOWE5Rjc5MDUyIiwiMHg0OTdmNDYzM2REZkFjZmM0ODFmOEM4Y2ZBMzlGNDliY2Y0NWIxN0Y4IiwiMHg2YzQ3MDZCQzNDZTIxOWI3NTYzMGFBOTI3OGZlNjY3N2IyREFjRDNjIiwiMHhhMUY0NUNjYzIzRkJGZkNERTlFNTdjMzMwNDk3RGZBNUQwNjA4N0I3IiwiMHgwNzFkMjYzMDMxNGY3NzBmQzZEY0EwRDUxN0NhNjlBMmNkMEY3MjRCIiwiMHg4NDM1N0EwMDNCM2ExMUMzMGRlOTY1YTRmMzlkNTFkMzA5QjU3Q0MwIiwiMHg4NzY1RUUwOEU0QjhkRTcwNzRmYjFhNjUzMDE0ZjIyMjM2NjIxMmY4IiwiMHhDMTE0OWM5QjdERjU4YjgwNzZFYzg1MDM0RDU3ODlDQUYyMkZiMjRjIiwiMHgyMjY1QzkzNDVGNkMyNWMzMGViNTAxNWY0NTNhQTNjY2U0NUYzNTM2IiwiMHhhRjRFMkZCZGE1N2I3NTA2NzYyMDRlODlGMjI5NTc2OUE3MkJEMWU5IiwiMHgyNTcwN0QwNGNmQURGMDFBNjY0NmY5MTNiYTBCNEVGNmE5NjQzQUE0IiwiMHg2MUU5YzM0MWFCOUY1QTJiOTgxM2RCQURiMUNkNzcwMjVCYTlBNjdhIiwiMHgwQjIzMjFBMThGQmFCYjlmNGM3N2E5QTBDMDdGOUZCQjQzOTlDN0VBIiwiMHg2NTA3YmEwZjNlYjgyY2JhMTg1YzA4OEEzZkJEMDQzNWYxQTczQjI4IiwiMHgwRjY0MWVGYkVmRjRiRTE0NzYyQTI3NkQ0ZDM3NDRjRTQwNTI2NjUzIiwiMHgxNDExZjg5MTgzRTI0QUUwN2EwMkVlQmM0QTE1NDBEZTFDZDQ0QTNCIiwiMHgzN2I0Q2FlOGQyNTgxRTgxMTQwZTJlMTcyZDREN0FlZDNBNjc1YmM3IiwiMHg0ZjlGY2RBRTM5NTBBMDMzMDc0YjkzZTI2OUI2QzM4MjEwOUZhZTcxIiwiMHg3MzlkMzY4OEM3RmM0N2VkZTIyMEYwNEE4NDhGOTRBNGRDQTExNDMwIiwiMHhBN2I2NzJGN2JDOTEwNTQzYzNDQ2ExZDk2QUIyZkU2YzI1NjQ4Njc4IiwiMHgzZkY2ZDdBREQ0NTA4ZDI1OGUxOTJBQURDOWVEMTM3MTg2OWE0YUI5IiwiMHgyZjczYzM5OWU1RDA5MjIzMzI0OGIwNTVDNDZFOUVGMzZFMjQyYThmIiwiMHhhODIxMDg1MUM4OTg1ZjYwMzgxNTU4OUU0RGJBMzE5MEMyREZmOTI1IiwiMHgxQzYwODIzNUU2QTk0NjQwM0YyYTA0OGEzODU1MEJlZkU0MWUxQjg1IiwiMHg4RUNCNjc3OTgzNDhCZEU1NzU0YWEwNWNEMjNDMTRBNzdDRjg5NThFIiwiMHg1YzY4NDNCMWM3NGY2ZThmZDdlZDJFNTc3YzAzOGQ0REZERTFhNjY0IiwiMHgzNEU1NGY0ODA2MUY2RjdGYzA0MERmZjgzRWY3RTVEYWQxQTVFYTI2IiwiMHg0MTIwQTBhNDZkNjJFQzkwYjc1NjFGNmE3OUZCMDJCN2NiYTgxNWY1IiwiMHhlYzZhMkViOURCODBlMzRiMkFlNmI5OTQxNDRhRTRBZmI3REM3NjNEIiwiMHgxRGRERTZlNURiMmJBYTc0NUMxYWVlYjYzMDBDY0M4Q0ZkZDVDYzFEIiwiMHg3Mzk0QzZhQWMwMjVmZmNlMDE5QTFGOWI1NDdBZjkwYUU4YzlBQTUzIiwiMHg0QTk1QTlBQmQwMjY3NWUzNTk5QTIzQTM3MGIxNGFhRjc2MzYzMjhjIiwiMHg4OERiODhCY0NGYTlmOWU3OGY3YkE3OUZBODZCNGEzQTQ2Zjg1ODAyIiwiMHhGRTUyMjZCNDNiYzdCZGZmMUQ5NzIxRUM0YUQyNTcyNjlDNEY4YjRDIiwiMHgwNzgyRmIwMjZkMWMyNjRlNTlBMmIyNzQ4MzMyNDBjNTMzNjdFZDFBIiwiMHg1MTdGOWREMjg1ZTc1YjU5OTIzNEY3MjIxMjI3MzM5NDc4ZDBGY0M4IiwiMHg5MEU0QkI2RTA0OTEyNzAzYTA3YjBENDk2MjVkMkU0ZmVDRjM5NmY4IiwiMHgwMjI0NkI1OGFGNmQ2QjY4OTYwYUEyMDE5NERmOTQwNzBiRDk1NzcyIiwiMHg2NTkzYTZmMzVlNTkyMTNBOWU0NzBGQjg0Zjg1OTJmRTQyZGVDZmVhIiwiMHhCOUE4RkNiNzViY0Y4OGVmNjlGYUUyQzNiMjk4MTJBMTc4MTZBNTdiIiwiMHg3NGNFMUIzNDg3ZkUzY2FjZUY0ZjdiMDQ3ODQ5Mzg3ODllRDU4ZWIwIiwiMHg3MjI1OUJFYjI4RjllZjJhRjBmNjBDOWY1M2Q5NjI1NjY3N2Y3MGU4IiwiMHgzQzg0NDUyY2Q5RWQ5NjE5Y2U0YjlkQzU3MTlCZjc5NmEwMTcxRjllIiwiMHhFZEU5N0VBYzM5NDNlODE2YTJiMDkxRDZlRTA4QjJmMmI5NzE1ZmQ2IiwiMHgyZDU2QTIxOENiRDNkQzhFMjREOTlkZjVDNmFkNzc4NzA4MzM3MUYwIiwiMHg4MTU3MjQxMjkyMTg0Mzg2MGJFMmRlZTNDN2Y4Y0JERDhmN0FBOWJEIiwiMHhmODk0MDNhZDY3ZDY1OWQ1ZDFGQWU3YzZFYzE2MzExMDUwNmI4NThhIiwiMHgwNTAzOTc5NTZlMUZDOEEwYTJlNjJBZjAzNTI3NWY4QTQxNUI4NWE3IiwiMHg2RDU5OUU4Y0Y5QzUwNzE1MTY2OUYwMWI2MzM5ZTFmYjk5RjQ4NEI1IiwiMHg0NTFkMjY0NDFDMjA4MEFBNWE3NDhiMEU3RTQwQzhkNmM3NGNCY0M1IiwiMHhhMEY3OTkxMmE3ZTdmMzBFMjI1QzZhOTk0MWI1MTFCZUMwZjE2NzhiIiwiMHhGNjNhRjZGMTI0ZjY0RTA2YTAzZTc5M0M1OTRENzcyMThiRjZBNDRlIiwiMHg1MTQ5MERCQTgwZWYwRTFEMzJDZEVGMGE4MzNENDliQWIwMThiZTg3IiwiMHhCRDJjOTI3MzA2ZDFhMWE2MUU0NGEyNDcwYTY2M0JCNzM3NzVEM2M0IiwiMHhlNDMxMjdFZjE0ODZmMEFBN0JjOEMxYWU3ZjNjNjhmMkFCOTQ3QUQ3IiwiMHg5MTMwQkNiQjFiMWZFMWNCNzMzNGQ5QWZmODlDNWFiN0ZkN2U5MzQ4IiwiMHg5MjMzMEQ4ODE4ZThBM0I1MGYwMjdDODE5RkE0NjAzMUZmQmEyQzhDIiwiMHgwOUU1ZjdhRkU3YzY5NGIzOERlQWFkZTFmNjE4NjNBYjRGMjg0MUEwIiwiMHg1MjAxODgzZmVlYjA1ODIyQ0UyNWM5QWY4QWI0MUZjNzhDYTczZkE5IiwiMHhBYzJDMTBkQzA0NzU4NTFCNTAxMDc5M2UwRDQ5N0QzNUY4Y0Q3ZDU3IiwiMHgxRTkyNzQ4NWM3OTA2RTM2NTJhN2NEMTEwQjAwOTM1OUFEODdEOTQ1IiwiMHhDYzc0YUI4YmNkRkZjZWM2YjdhQzQyM0VmNzM5Q2EwN0I3RjM3NmU2IiwiMHgwNzNFNDAzQ2MzMDFCMjQ0ODhlYzUwMjBjQjZGODkyMzU0Y0YxOUE5IiwiMHg4RjllMzZBMTc4NzVCRTBEYTg1MzczODdjYkI5Y0E3MkQzMDAxMTFiIiwiMHgwMDgyQjU3YmRCREI4MGY1YTQ3QzBERUFkQWQxQUJkYzRkRjY4ZkYxIiwiMHhjNTNjMDVFQzY1OThiYUUzMTJlZmVCODhFRDkyNzgyOTEyMGJjNTI4IiwiMHhDY0FjMmYzM2M2NjkwMjhGMjkzMTRGMjMzMDE3M0UyZkZjQmY1RmU0IiwiMHg5RjlDMzQxMDlCZDVGQTQ2MGZhZDRDMTRGQjUxZGY5OTMzOWNCNDZjIiwiMHhERDljRTFBNkI2YWZlZGI2QUVEMTY4Yjg5YmZjNTk4NjYzQjlkM2Q2IiwiMHgyMUMxYjY5NTQ4MEE3NjhhMzdFOTgwMzczZmQ1NTBkMkQxMzNjMDZlIiwiMHgxMTk5MjY5OTNDRUNERWM1QTBhQTc0NDQ0OTYxRkY2ZkRjRkE1RDFkIiwiMHgzMjRhNTUzQmM4MGM4OUU0ZmUxZDk1ZjMxYjQ5M2E0M0M4RjNiNEY3IiwiMHg4RTc2MTRGNTE0N2IzNWE0MTA0YTlEZDgwNUJGZkY0RDE2MkZlYzJDIiwiMHg1NTk2OTdlMzZGNjkzOWEwMzNiZDM0OEJFOWRCOGJERDZENjIxM2UwIiwiMHg0NDE2RDE4YkNCYTllZTZjRDZhQzZhMjdkODc2Mzk4MDgwNTk0NzRGIiwiMHg0ZTc3ZjAzMjZFMDJBNDgyRENGNUE3MDE1NzA5NDlBYTU3QjYyNjViIiwiMHhFZjFjYzlFRjg2QzVmRkRBMjc5MDU4Nzg5QTg5ZjM5NTIxNUM4MmNkIiwiMHhjQjE3MkM2NWRmRTdFMWUzMzY4QmU2MzRjOUUyYzlCRUIzQjk3NzA2IiwiMHg4Y2YyQjRCNzUwOEExQjBFZTJGMzREODEyRjYzZUUwNmQzNzFEQzg2IiwiMHhjRDAwMzNiMEEzMGJjMDY4NmRDYkE3MmQ2MkQ0ZTBkNDQ3OTBhOTYwIiwiMHhmN2ZlRThEOUFhRGJFQUVjODc3NzFENWM4ZEZlQzEzM0FmZjRDQmExIiwiMHhCMWE2ZTFBNDg2NzM5MjM4RmQzNTU4RjgzQkM0MWYyZTVlMjU1MWYzIiwiMHg5NkIzN0NmY0JkNTA1RmU0NzIxN2ZBMUQyQTEwQmIyYkNhRTJhNzlCIiwiMHhFZDlDODU0Q2IwMmRFNzVDZTRDOUJCQTk5MjgyOGQ2Q0I3ZmQ1QzcxIiwiMHgyNzRjNzFBQmEwZTAwRjhlREM0OWQxMDY0YzQ0ODY3QzVCNzI5QUUzIiwiMHhhMkE4MzE1NDAzZjlhOEI1NzliRjYwNTI5RjllQTc2QjcyNmVlQkRmIiwiMHg2Qzk4NDk3MTAwNDBhQmVlNzJjY0VlRjMxMThkNzlmMUYwMzgwQ0JiIiwiMHg3MzY0MzcxQjEyY0ExNEIxNkRlMzU3YUJBMGNDNzI4QjY0Q2EzNGQ4IiwiMHg4NzBjQWQ3OTliQWY5ODUyNTBBMzcwNDBmQjE2NDk5NWYzNjhmZUIzIiwiMHg4OGEyN2Q0YzE4MTM4NTBmOTdlNzc2NkYwZDdiZTJCRTAzMzAyNjg5IiwiMHhhOTA0QzRiRDMyRjU2QWM5NkU5MmM2RjIwNzE3MjY4RDczNmE3NjFkIiwiMHhiRjZFMjQ4OEFCOTlkMTRiMmE3NjI3QTNFMWVDMzY1ZWNjRDc5OTM0IiwiMHhkYTlBMDllZDQwMDE1MzQ2ZjZCMDcwNGM1QmYxQTJjY2JGOTRkRTQzIiwiMHhBOUQ1ZTY5NDFCZUQwMUE2ODlDYjQ5MDE1OTNkQjNBNzdkNmM4YjE2IiwiMHgyYTVlMmIxNWU0NzQ3YjhGYzMzMzY1NUNkODQ1M0Y1NjJkMDA3OERGIiwiMHg1MzhkREQ0QkJFYWFlQTQ5NmZFQ0FDNWE3NzAyNTZFMGNBRTJmQUVkIiwiMHhGNzhlMjU5NzM4RDVCZGEyOTM3ZmI5MTM0ZjhkMjlhZjVFN0E4ZTYxIiwiMHg4MzAwZjhFMEVDZDVDRDAwYkMxNjYyRDE5NjQ3MmIwQzU4ZTQzMTdiIiwiMHhBNzgzMzcwRDdkZjdDMjdBNzNiYjUzMDNDNzcxZjM2NjNFQ2NjMDI3IiwiMHg5ODAxZGYwN2U2NTM3NTZBZDUyMjBmQmY1OEIxMmJFNTlBRmJkRkFGIiwiMHg3MjNCMGE1M0QxM2ZjMUFjMzRlM2M3RDhCQTEzNWY0QzdFRjEwOTkwIiwiMHhBMzgxRjU4RURlQUYwOTg4RUQ4MjE4NzM3OWM0QTQyMjFEYUEyQzMyIiwiMHg3RGQ4ODVCYkQ2M2FFRGU1ZGU2RDBGMzYwODZDNTI2Q2QwYjE2OTQ3IiwiMHgyMGVmOTBFYTkyNENBQzhmNjIxNDVkYzVCNUQwQWNFMTJjRUVFMjRBIiwiMHg1ZTRFNjVBZGMwMjc4NjlGRjhDRTI4YTI0MzVlMDYxZmJENjFCOTQzIiwiMHgyQTExNjZFMzM1NzdiZEFGODAxOWM0NDA4ZDNhZUQwMTQ2ZDRlNjU3IiwiMHg4NDMxNzRCRGYzMzJGNGIzMjI1NjA3OWYzRWJFMzg3OWIxQjVCYmJFIiwiMHgwM0FkMTk5NjczQ0Y3MTk0YzBCMTQ2NzVkOWQzRDIxOUU3OGZkOUI4IiwiMHgyNWJFNDk4Q0I1MUFhRERBODJhRmU3YkFjOGEyMTAxMzI1ZTE1NGRkIiwiMHhlMUE2MjI5MzU4M2M0QTIzZTc5MEZlNEVhMThlMjc4N0Q3Q0QwNzE2IiwiMHhBZWE4MjY1RDg5RTk4MkFiNTU3MDdjNEJmYjY5MWYyMjQ4NjhkNzI4IiwiMHhGNUJkOTI3MDkwZDVFMDFkMkM5ZTYyMDkyRWI5NjRFMTU2OWE3OTg0IiwiMHhEQTk2QzEyQ0NkZTY3M2I4ZTJhNDY2ODZmNjIzMUFGOTlDNkZlYTdCIiwiMHgxRTQwOEVlQzdjODRiRDMzNzNBY0Y1NkUzZjUwMzBjNjJkZkY1NkNEIiwiMHgzNTE4ZGYyRTRiZDI4MmFkZDhhRjFBQjU4Qjg5QUJiMDdjQjYxODAzIiwiMHhlYTAyZmM0MTEzMzU4QTA3QTQzNTkyNDA3ZDA5ZTg3NUVhRkNiOEM2IiwiMHg5NTZFZDRGNjlBQzFCOGEzMTM2MzM1ZDQwZDQ0Nzk4MjNjMTVmOEE4IiwiMHgyMmY5MzQwOUU0QURhYTc1MjUyMTczOGY1MGZkMEMxNDlmMTAzMTk4IiwiMHg5N0VlODUzZGEwNDYzQTFjMEUzMjA1MjlkNjM3MTA2OTU1ODZGY2U3IiwiMHgzNjc5NzMyZDYwQjZDRTg5RDJlMmMyNzhDMjJlMURGQTI0QmY1ZjA2IiwiMHg5MjhiNEQwZDQxODk3RUVmNzQ1Mjc5OTMyRjA1NjVmQzJGQUI4Y0M4IiwiMHhGZEMzZjY4QWYyMGQ1NmUwNUFEMEM3RWI1MURBNEEzRjdENzUzYTA0IiwiMHhkNjk5OTZhNDE3MzU2ODViZjQ5NTVjY2ZDQjY1MTVGOGEyYjk3QzIxIiwiMHhDODcwQzdmNWExRDAwOEE1NDg0NDQ1Q0I0NjM4ODdDYkZhODE4Q0FiIiwiMHg3QkJCOGFEYjlEMkFDODQ0ZjU5ZTNFRTE1ZUE5ODU5NzQwNzE1N0M5IiwiMHhCMkE1RjE2RTg0NzQxNjhlRjE1OEVDODY1REFkNTE3MmQzNzA1MjU0IiwiMHg1ODNDYUREODMwMzc0YmI1QzFlQzhFMWI2NDhlMDI5NENDMUUwMWYxIiwiMHg3M2IwNzhhMTEyNTI5NDAxRTBhYTUzODMxN2VFYTJiOTVlNDk2ODBEIiwiMHg2MmMxQWM2ZDE4MDI0RWEyODVEMjZlODAyOGRBRkRFZDk1QWI5ZTJhIiwiMHg5QWI4OEJEOTMyMDZmQUM0Njg2OTYyN2FiMTkxNDNmYkVlMDI2OTc0IiwiMHhkNzJDNjFmZjA1MWMyRjRDZjUzNmQxQ2MxZDJGMDFlNDMzMkZENkYyIiwiMHg4N0Y0MjUyOWFlYTYzQjMyZDdkYzAwYTI2MTgzQUNiYzk2RDNjNmRDIiwiMHg0MzUzNzMwNTgwN0Y1ZjRlZDFCODZiNmY2NTI5MzU3YjNCNEY5MEE1IiwiMHhDOUUwMWY4NzYzOTk2ZDdDYzdGNDY0NjE1YzNiNzhjZjU2NDRmNTFjIiwiMHg1YjhENUVkMUNhRDEzRjE2NDg3RjU3MEUxNDdBYzhhZjdBNTc5MDczIiwiMHg3ODFiYTQ1MEVhRGY5ZTQ5M0REZkRlODFEN2Q2QjZmMzM1MjhCYzhkIiwiMHg0QzZkNURFNDdkRWEyRDEwNEI4NTIzMTNlYjY5YUZGMGEyNDgzMmUzIiwiMHg0MDIzODM3ZTJhMTE3Rjk0MTFlNDhDQWE5QWI0ODUwOTY4QkUyNTAxIiwiMHgzRDczQTMxNTg0NTZDMUQzMWRFOUU2NUUzMzhlNzMwYTFCNUNlMDY4IiwiMHhlQzZhNmI3ZEI3NjFBNWM5OTEwYkE4ZmNhQjk4MTE2ZDM4NGIxQjg1IiwiMHg3RTlmNzM4ZTFjRjI4YzVCRGYyOGFmNTM5MGEwNDYzNkMxQThDNjY2IiwiMHhmQjQ2Qjk3Y0IwZDk2ZDE4MDM3OUQ0MTVCMWRGN0JENTA0MzA0MTM2IiwiMHhFN2M0MTc2NzVCNjY3NzdkOTY5QzUwMEY4ODk1OEYyN2NGODM2MDdGIiwiMHhFMTRmRGJkMTc3ZGM3ODYxNEE3RTJhQTQ5ZjkwMjNlZTAyRTIxMkQ3IiwiMHhkQTQ5Q2YzYjZmN2Y0NWE2M0Y4YzQ3ZWJDM0Y4NDJlY0ZmNEZlYTBFIiwiMHhjMGJCRjMzNmZBRDExMTVmMjU5YTEwMmIxNEEyMDRiMGUzNDU5NERjIiwiMHgyM0ZENjE2MzZFMjcwZmY0N2UyOGZEYjE4RTJBNTEyOTFDMWVDREVFIiwiMHg3NjY1RmVjYjM5M2NhNDUwNjFBNjMzODY2Mjc1MUQ2Y0Y0NUE4NTRkIiwiMHhmY0Y1YTI1QWJmYTI1ODJlRTg5ZGI3Nzc4RDhENzg1MDdGMzQ0OTEzIiwiMHg5Zjg3RUY3Rjc5MzdGNjc3RDYyMjRBNzI1ZEYzODMwZjA2NDdlNTMyIiwiMHg5QzMwM2Q5MTBjNzAxMEU1YTRDMzhFNGZhZEFiZjU0NzJhYWMzZDczIiwiMHg1NGEyODZlOGNhN0RDQTQ5QjMzRkJlMTM1ODIxNkM1QjJBZEIwNjMzIiwiMHhlNjQ0QUUwRDc2NDBFRDI4MzhFOTdBM0EwNjg5RTliRjUwNjI3ZWFiIiwiMHg4MkQxZjJkNjAxYUQ1NEYzMEEwNzkyNjlEYmE1NTkxMUVlNTU2OEM4IiwiMHhkNDI1NmJkQzU3RGI4ZUY0MDExNjdhNDI1RDhiMkRmNWVCRUVjNzM2IiwiMHgyNTc1YmY0RTMxNzIzYjJCNTNmQzA5NTRCNDQ5OTI0NDlhMzMxOUFBIiwiMHgwQUQ3MjhkMDFkM0FENmUwNzI5RkY3REZCQjQzZjk3OWNkOTk2RDNFIiwiMHhlYTFDMDA1OEVmM0FGNDcwZUExYThDMkIxYTI3MzM1MDI2MGIxNENFIiwiMHgyNzE2MUYwNkY2MjkyNjJDOTc3YjYwMWFEZkYxN0Q5ODVkZTIyQ0JiIiwiMHhFRkY0NmVkMUVERjIxRjc1NkQ0ODgyNDk4MmM0NkQ1YTczNDZCMTM0IiwiMHgxNzZGMTU0MGJlNmI5RDE2YWZhNWE1OUJkNTExNjRiMkI2NDEzNEY5IiwiMHhDNzBjNTYyN2JENTliODNDRkJjNGNkNTlhN0FjNzA0NWY4Q2E3ZTRFIiwiMHhkRDQ1NjFFREZBNmZBODU2RjZEMWU3RkJBYjI5RGY1RDc1QjkxM0FjIiwiMHg4MDlFRDUzMUQ5N2MzMjJiN2IzMEQ3MDE2NjExZjNCMjlGZDQzZEE4IiwiMHhCNkM1M0U3Y2RjYjdiNDM1MjZiMUJmMjZkNDdhOWNCZmE1RTYxMjhGIiwiMHhiM2VGM2Y3OWYwYzI1NzYzRjE4MTNBNzlEMjllZjFkMzQxQjI3MkY0IiwiMHg3RDI5N0YyMTg4MTU1NDdkNTVFRTU5ZDhkNDBlMDU3NzlGQjc2NDQyIiwiMHg5Rjg1ZThGNzMzMjVkN2Q0NmQxNTc5NTAwQzJkMjZiOWRhYzMwZGVkIiwiMHgwN0IzMjY4NzE3NTkyZGM4MzJFNzY1RTFkOEE3MUIxNWI4NTk1NzQyIiwiMHgzQzFiRmY5ZTI2MmZhNWI5OTlFMUFEY2VkZDQ0ZGNjOGU3MGY5QUM1IiwiMHgwMDE3QUYwNzZlZmIxQzFCQzRmMDNBQjc3MjJGMDYwMzEwRjMwNTZCIiwiMHhiMzY2MWQzRmQxNTQyOWMwMzBiM0E3QkUzNDhjYjEzNDk5ZTE1NTRlIiwiMHgyZjRhNkM3YUQxQTY4ODcwMkUzNjQ1Q0IzQzg2MjJDOTJEMkM0YWUwIiwiMHhlRkNGQzgyREY4RTBBNGM5N2UzYkJBMzRkRTZGMTliRDUzRUZBMkJhIiwiMHgwOThCNzAxNzc0ZkI0ZDg0NjIxZjE1YTA4NDg5MUUxRTQwNThmRjk4IiwiMHg1OWJlMjVCM2ZBRjlmNUUwZjY1REJBMWEwMjBmOTUzM0NDQzgzYTg4IiwiMHhiQjgyQTBkNDFhNzI2NzljRkVjZDU5MTE5YjJmN2M5OTE5MTIyQTliIiwiMHg0YjI0OTg4RDg4MURDNDczNmYwQkRENTE3MDc2REUxQ0U2QjM2NWRGIiwiMHg2OTYyYTllN0ExODI2NTc4NEMwQ0E5N2NkNTZmYzgxNGEyQmE0NjEwIiwiMHhlODcyOTcwRGJGMUZmOUJFOTIwOWU3RUZCMzQ3MTM3M0NhYjM3YkQwIiwiMHhkN2MzOTQ5M2QxMzU0NjEwOUMwNzZBZDJjOUE5MjZhRTAxQWMwMDUyIiwiMHg4MjdlMWExOTA3ODMzN0MwMEU2YTI1OTA2NDFFYjk1MzU0ZmNkMThkIiwiMHgxNzRDZDYzRWM4MUQ1YmMzYzQ5MzlhODdiQjUxZDdkQTljMWYyMzAyIiwiMHg5MDMzZTUwMGM5ZjJiN0Y5MjllNDBEYzgxNTIyNTUxZTFGREU0NWQ5IiwiMHg3NEFmNEMzM2VDNmNBNjYzRWIxMzM2QzkwMjRFRWM2NjY5ODUxREY3IiwiMHgyZmY4Njc4ZWJlOTM3YzUxMmU4NjE1NzVDN0NlMTc5MDJiOEYyRUJCIiwiMHg1YkM1MTI5MjlBZmQ2NEU5NzI1MmE3YTNEZjRjNDlCNDVERjE0M2EyIiwiMHhkMEU4NUZFNDNFQjY1RDkwYThCQ0M0RmNBZWQxNDdFMTVENjA4RWYzIiwiMHg5QTY5MWRkMUI0Mzc5Q2M4RDY3NzJCOTEzNUNFNDkyNmZlZGJiNjEwIiwiMHhFNGEzNTZBZmQ5MjVGNzNGM0REMjJBQ2JFYjJjMEM4N0EwNUU4OTVEIiwiMHhBMkRiYUY2MGMzMkFiNzlkNDE2MTY4ZTk1N0YzZWE1RTM5QzdkNmJGIiwiMHhCRDhFNWNGNUQ4NTUzQjIwMjdFOTllMTFGNDVjQThDNEE1NzdiOTJiIiwiMHgyNmFEZGEyMDZDN0RDQ2VjYjA5N0JhZTM1YWMzNDkzNTRCQTkwMjY0IiwiMHg2NTZmMDNGRjM1OTZjODkzZmQ0OTQ1NEUyNTU0ODE2NTgyNzg1M2RCIiwiMHhkRDcxZjVFMDAyMTQzZDM0ZUEyNDY5NjYwMGJDNGQ4MkI5MDRGQUZBIiwiMHgxQ0MwQWNCNDU4ODFDYTk2QjVjODk2NTkzODNENTIxZWFkNDM3QjhlIiwiMHhEYWFBMmFBOWEyYjlDOGQwYWNhOEVmZjEwMzcwZTIxNUY0MUQyOTdhIiwiMHg0ODlCNUJjMjU5QTUxMDcwYzgzYkZFQUVkNjE2MkM5YUY0Y0RhM2U0IiwiMHgxN2IyRjBkNWMwRDQ3Q0U0MTE1RDAyMzFhOTY5NUU3MzI5NWNhODJiIiwiMHhFNDQ4ZTgyNjk5NEQ5ODYzMTIxODdkNjE4Y2EyNmNlNWU4Njc0MGRDIiwiMHhiMDM1ODBmMTI2OEE5NTQ4QkE4QjVFYjI2OTJlM2Q0MmRkZTg4OTc1IiwiMHgwZTZkRDNmYTNlMjU4NWIwYjI5Njk3OTE4YjE1ZTJEQjI2M0U1QTkyIiwiMHg3NDYzMUUxQWMxMWZjRkJhMzBlMUE1OWQ1YTg0QzI2ODBjNTgyN2M2IiwiMHg0YWUwNTg2NjM0OEQ2NDBjRDEyN0RlRTA3YTY4NTJjMjhGMzkzMDI1IiwiMHhkNzhDNmM0QkJhOWUyMzg5MDc3OTNkYjNjMTc4N0Y5QzE2NjkxMDA0IiwiMHhlNjY2ZDEwMDdhNTZjNDRDMzFCYzBGYzU3MGFlNGE4NzY3MEQzODQwIiwiMHg5MDVlODk1NjU1RUFhMGExZmNlNGY0ZjkwMEQxOWFlNDEyMzVlYmYyIiwiMHgwNjdlMWE1NzllNTI3NDdENUE4QzhmQjQyOEFiNmRGMjBiOGQyNjVmIiwiMHg4MTc1MzYyYWZCZWVFMzJBZkIyMmQwNWFkYzBiYkQwOGRFMzJGNUFlIiwiMHg2OTUyQTZCODM2NDgxNDg4YWQzZkQ3ZGUzNzVDQzdGRDM1QjgyQzc1IiwiMHhBNzY0NUY2NWU5NzEwOTZDYTQzNEU1Mjc3YjQyMmQwNkFiMkE4MTdkIiwiMHg4QThDY0FCOEEwRkE4NjA0RTI3Nzg0Njk0NDM3NGYyYWFFNDYwNzE2IiwiMHg0NGQwNThBRjNiNWU1OEExMjlDNmM2YzA0RjI3M0EzMjk2RDMxNWVBIiwiMHg4MDgzMUVkNjNkMTYyMzM4NjRFQmFmMkFDMTQxQjQwQTNhYjRFN0U5IiwiMHhBOUE0NzNhRmU2NDczNjhmMjYyQzUzNzRiNzA0YjdkMjA0NUVCNkNlIiwiMHhDNmY0NTlEYmYwN2Q2MmU2MzFFNDI3ODRGMzFDOGU2RGU3MjVlYTEwIiwiMHgwM0JFMTQwOUVhODY2OGI3QzVhODQwNjYzNmUzMERjMjQ0QzY4YjFCIiwiMHhkNmMzNWVhNTRmNDUwN2JiNTU3ZmU1OTk0ODc2ZWViYWZkQzQ4MUIwIiwiMHg0MDAwQ2QzYzQzYkVlMEI0ZTJCNEFhMjBFMmU0NDJmOWY0NTA5OGE2IiwiMHgwYzExRjU0ZWM3NzhDZGYwNjJBZDBkODQ2NGNDN2I3QzkxMDhjOTM0IiwiMHg5ZEEyQTZFZjVEMTgzYTI5RUVmQkZhMUZGMzdmODUzRDNFN0JkMmU5IiwiMHhmOTJCZDcwMDlmRjhBRDBDQ0M0RGFiMDBiQzY1MzE2OGNENUUzNjQ5IiwiMHhCMTRGYjdjNjU5RTFlNzcyNjVEMjk4ZjcxRjY4RTQwNTQ2YTEyMEQzIiwiMHhjMkIyMGJkOTY4OGYxRjBmRjA3NzQ3RUZiZDU0ZDk5QjFGMDQyN2E2IiwiMHgxMTIwNjBDMUQ1NmU0ODBFNEIzOUE2MjM0ODBEMjZGMkYxODFlQjVhIiwiMHhmM2Y4YTk0MmY5ZDA4MjdEMzJlYTFiOWYxQTA3MjRiNUZBNzM5N2RCIiwiMHhiNUJjRkUxZTgwRjcwMTU4NDNiODQ3Q0JhMkJBOTY2MkUyMzFCRjQzIiwiMHgyNjExZEFhNTVmNWI4MGQ0YzFENzcyNzFENWRmODRCMkIxRDI3OEY1IiwiMHgyYzdERDZiNjliQ0U1MDk1Y0FjODg5NDVENzRBYzgxODE0MGM5MTJjIiwiMHg1OTdEZEQyMzJEZDFGZUQ1ZEEzNDQyYjRiNjFGOEVmNDcyNUFkYzA5IiwiMHg2MUYwY0RFODk0MDkwNzAzMDc5YTI3MUM3MjgzMkUwY2Y2NjM2NkYwIiwiMHg1OGNEZTA0M0RGNEQ3OUFmNzFmZTZjMDk3MGZmNTQ2NUZkNDEyMDhCIiwiMHhkMkY0NjA3YjI1QTQ2QUI2QmI5MGU4MmYxYzUwODQyZUFFNWRmNzgzIiwiMHhCRDExNEJiM0Q3QTUzMjI0MEU4MjdBMzMwMDU0MEI0MmIyZDg3NDlDIiwiMHg2ODY2ODc0ZmRiQjdiNTIxNjdDOTZBMEU5OGNFMUJmMjNlMWZkZjY3IiwiMHg4NEQyYjgzOTUzMWUwMDcxMEI2ZEIzNzhBNzEyZGNjNjU5RUZiOTBEIiwiMHhmNjE1RTlkNDVCOTk4RjYwNUE1YzFFMjc4MzlDNDY2NzA3MTdhOTMxIiwiMHhjZjg3QjFCYjA4QTM5YjMwYjkyODZlMDBBYmFjRTIwOTY2N2NkMTI3IiwiMHhFZDA2NTFFYzg5ZDUyZTJiOUJmYjEwMTNmZmZkNTI3ZDgxM2M0NkYzIiwiMHhEMTg4NzJlQjQ1YUNlNTIwOTc0Mjg1ODM0RmY0NDMzZTQ4NkI0RUYwIiwiMHgzRmYwNjI1MjZiMTFkODgzOTFEYjFGZDQ3MkVFRkMxOTNhYjk4QjJlIiwiMHhhNjQzNzEwMEUwMzI4NjliOEY2OTUzRDc1RjUxOTQ2RDI0MzFkZmM0IiwiMHg2MmY5ODZEOWM3MTdCNUM0ODU4RmM5MjMyOWEwOERGZDUxNTRBNDk1IiwiMHhhNTk3NzFFM0RlRjRkMTE4ZTBGOEI1MTkwNzAyMkYyZjIzQkY3ODE4IiwiMHhFMUM4Q2NCYjViMjMyRWZiMDQwNTkyMzA0YkFlM2MwZmY1RDkxRjk0IiwiMHhmZmU0NTg2QTY3NzcyQjgyNTk3NDIzMDI1NGMyNDMzNTNGOTNiOTk1IiwiMHg5YWMzOWJGNjRmNDIwZEJjNmVhNDJhMzY3RDcwMTUyN0Y0Y0UxQzZFIiwiMHgxQjBGNGVkODAzOUNiMDcyNDQ1NjNFMUE2OTU5RDY0NjUwZTBhMzE0IiwiMHgwMGREQzYzMUQzMUNkZTVDODRkMDRiMzJmZTJFMDlDNkNjQzBhNmRBIiwiMHhFNUZmNkYxREYyYjg3MmViRGUzQTZGOENFMDgxODIxODQ2MzUzNkYyIiwiMHg3N0JCMDVCNjRmNmQ4MUFFRjE2ZUVEMUFkYkFlMDVEMEU4MTE3NzJlIiwiMHg1MjdkNWYxMGQ3MGNBNDFlMWUwRUVFOGQzMGI1NTNiQjUyNzFlZTQ4IiwiMHg2MUZCQ2UyRjdkODVkMGI3NTNDNmU5QjJlNmNlMjFmNDhhQjRFNUE4IiwiMHhGMjM1QjY1ODkzZDFCNjMyM2Q3MjgyOTI0ZTc1M2IzOTA5NjExNTY1IiwiMHgwMjY0RDlmMjhFODUyYTc5MGU2ZTZiOTBmYjU2NEVjMDNDRUYwQjI5IiwiMHhiMDUyMzQ1QjVmMDllQzQ3M0U4NTZmNWIyMTFmYmYyRUYxMmM0ZTQ1IiwiMHgxQjk4RDM2NjliMmVlNjc4NTFGOEQxMDJkMTk5OTU5QzdEMjE1MDU3IiwiMHgwOEQ0NThFRjU3YzM5MTFiNzFlNTk5MkQzOTlCRDE1YmY1YkY4Mzc5IiwiMHg4NjJDNEZhQjkyN0EzNjM5OEIyNTZjRmRmMWM4N0E0MEE4OTJBQzIzIiwiMHhmMjY3MEQ3Rjk0NTJFN0ZlOTUyZGU3NWEyMEY2Y2ExQzAwMWM2MTk4IiwiMHg5NzE3QWEzNmI2QzZjZjg2MjNkNjNjZTk1MGNmMkQ3MTQyQTVGRDIyIiwiMHg5NUI2N2FlOTIwNWY1MjYwODc0MThkZDA5YkZmOUU3OTcxOWFBYWY2IiwiMHhBMWM3ZmIwNjdlYjk4ODYwNkI1MDI5ODM5N0VBQTNCRDM0N2Q5MTU1IiwiMHgzQzMwMzdmQkE5NWMwZTJCMTI2NjYxYjlCRDI4Mzg4NDUxNEQ5NDRiIiwiMHhiNTE3MTZBYzMyMmQ4YjVlRTc3RjEzZjg2MEIwYzgwOUZFMjBmN0NiIiwiMHg0NDdmOEQyODcxMjBCNjZGMzk4NTZBRTVjZWIwMTUxMkE3QTQ3NDQ0IiwiMHg2NTlmN0M2NmREYkIwYkI0OEEwRUJlRDQ2YjVCMWZGOURGODRBMTUwIiwiMHhDNzAwNjUxYThiZTFFOTlhRGY3NDNlNmQ5NEVDMjJiRTMyMUYyODgwIiwiMHhCNWJkYjUxZkRDNjM1MzU5MTgxMTExNDM5RWZlMjc5OUJjMjMzNmM2IiwiMHg5RGJFOTlFNzU0NzJCQjliZjJEMTREMzAyRDY4MjEzMmE4Rjc5QjgwIiwiMHg3NjMzMGMyYTAyMzUxMzQwMjI1MTVDODAxMkY4RTA3MjAyZUMyNDA2IiwiMHg5NkNmM2VCYzk5NDc1MzFjQkJBZWI5ZDQ5ODI3NDI4RjYwMzRkMzg5IiwiMHgwZEFFOTQ0QTkzN0VCNDFGMDJiYkI3MzQwYjE1YWU2Rjk3NDA3RGEzIiwiMHgxRTZiZDBjNEZDNjc5RWIzNDFERjQxNTE5MjBhQzBmN0Q0MEFhNDU3IiwiMHg0QkNkNjUyOWRjZTAwY0ZGRTQ5Q0RhOTY5ODYyMjI2MUI0MjM4MkExIiwiMHg4RTkwRTYxM0IyQzQ0YjViODJFNDlCNDVCZjlmMTdhMjkwODZFQzFEIiwiMHgwMmFiRUY1NjM2ZjA3Y0NiNGVBZTAzRjVGYjM0RGQ1MEI0OGQyNThGIiwiMHhFN0EzRkI5OGZGNDRERTE4MzEyNUExZjgxRTE0RjM2QkNCRkQzNDI5IiwiMHhCNDczYkY0MzlhOTAwOGUyODY5ZDZGQThEYkZhRWNFMWUwNUJBN0MyIiwiMHgwMzY1MDQ5MWVhMjE4M2IzNzQ2MDM2RDk4YTM1NTg4MEVhMkY5OGExIiwiMHgyNUUwNUUwNjYxNzc0MTFmMjRBZmY5YzBmRDkzYzMwQjM2MDkzMTIzIiwiMHhDMENiNjJmMGI1Qzk1NzRDYzg4OTA3ZEMwNzEyRjI3YjRhNmE2MGMxIiwiMHhhRDZEODQ1MjRCZGViQTNCZDY4Yzc1M0EyMjVjMWI0NzU2NjREM2RDIiwiMHg0MUIzNUFCQjk0ZGVGRWY4OTYwODVGQjNERjA1Y2U3MjQ1YjFFMzZEIiwiMHgwOThFQTE2MGUzODY2Y2JmZkE1Mjk4YTRiMDhkRTE2N2I3MTMwNDQyIiwiMHg0OTYyZDVlZTFmOUM5MmZmQkM4NUEwODZGOEJFYWNmOGE0NzBhQzgxIiwiMHgzNDBENjU1Qzk1OUQwQzgzOEEwZjU0QzcwNDlkMUU3Mzk1ODMwZEE3IiwiMHg3NUMwNDMzNDFCNTQ1RjQ1ZEFFNjkyM0E1MzM4YTMxQTI2MTlhMzQ0IiwiMHgzQkQ5Nzc5Mjg1MGQ4MjY0MTAyMWM5QTJFMGVDNjIxY2EwNzBiOUQ4IiwiMHg5NUY4ZUE5NEMzYjVhRDRBMzBhMkNDZEQzOTM2NDE4NDNFOTFGZEU0IiwiMHg0MUIyNjI4NzBDNEM1RjhERGU5Mjg4QjU1M2EyN2Y5NDUwNjdGNjkwIiwiMHgyODYzMzBFNDllMzExNjI1ZTM4MTk0Njg5MzRlZDM3NzU4QWM1NURCIiwiMHhFRDlDYTJBNjBkNjgzYzliYTA0RkQyQmMwNDNBQWQ3NkEwYWZDNTlGIiwiMHgzMEY1Mjg2RjlBRWU5N2U4RTBhRDVkZDE5MDhkRDhGMGUxNzI4NTM5IiwiMHg5OTQ0MkYwODc5YTcxRDVGNDNkOTM2QzU2YTUxMWUxZTNDYjAwZjE4IiwiMHg0MzRFOTUyZDQwNzA3QmFCRDU4ODE3NTA0OUVlODYxMjY5ZTVjNDM5IiwiMHg3NGE1QTFENDg2Mjg2MzcyMGM4MUY4MzFBZTVENjEyZjM5ZjVlMDhiIiwiMHg5REEwNTg2ODVlMTcwMTc4YjA4REI5ZjAwQ0RiMDM1QjcxMGJkM0Q3IiwiMHhjNjdjMUZCMzVDYjdkMGZiNThEM0VERDIzYjUxMzQ2NUE2NzQxOTE4IiwiMHhCQTYzMjlFQWU2OTcwN0Q2QTBGMjczQmQwODJmNGEwODA3QTZCMDExIiwiMHg3YzQ4ZjhGMThDODBlMTdFQTQxNDlFMGQwQ2Y2Mzk5ODc5NzgxQUVlIiwiMHg0YmY0MzU0NTYyQTI4MzY1ZDA3MjAxOUI4MTkxZTlmOTQ2Rjc1MDk1IiwiMHgwMjkyQjMxZUExNzhBMDEwMTNFMDRENGE2ODg2MmRGZTViQzRGZjlCIiwiMHhkOWQzOTU0MGQ2MUY4RDZFYjJFRTdlRWRGYWU5M0NDMDljQzI0ZjBFIiwiMHhCRDM5YjFGMjRCODk2MGQzZDdDZDJjNTQ3MWQwNDkzNDk2ODg4MTg1IiwiMHhFMDA4NjA4RjQyNDJlQjg4M2NCNEUzQTFlNDlhNEY2YjAxZTVjMjVCIiwiMHg4NDBkZjZCQzJERTM1MTM4MzFBOThFNTNmYzk3MDhFN0FENzM0RWQ1IiwiMHgzMDg0NWI4ZjJkMDJDRTY1ZTI4MDM1MDE0MDVkOGRmMDZiQmVDZTM0IiwiMHhjMDQzMGM4YTZmNjJkRkVFNkQ0NTM5MzA0QmZGZDBGOTMxZTk5QzhiIiwiMHhCMDg3N0QzNkVkYTc1MEU0RjQzQUVmRDRDMzE0MTUwYWZkNEM0NTA2IiwiMHhDZDFDOTUwNTJFOEFhNEE0ODZCZjcxRmRmMTQ0NzEwM2Y3MDY2NWU5IiwiMHgyNmIzODM5RWJDZjcxOGM5NjE3NzFhNDg4MDFkNGUwMEJEYzM1RDZkIiwiMHhiQUM1ZmNiMzg5YTQ2YzJmN2U4OTA5OEE3OTI3OTlkY0YwM2VDMGQ2IiwiMHhlNGM4ODRjYjZlN0VDN0U5ODgzM0JGZDYzYWZBNDhBM2FEOEJhNmY2IiwiMHg0NWZFYkM0M2YzMjIxMjUwNjYxMTcyOGM0OGI5Njc1YTZDRWMzNzZFIiwiMHg0MUJBMUFhMjNiNjJlMzJjMmE1RDQzRkYyQzlCNGEwYTAyQkE2OUIzIiwiMHgzY2FFNDJBNmI3MzJENjFGNTZGRmJGMTRkNzczNWU5MDAzM0FCOUQ1IiwiMHg3Y0QwMzc4MDEwNzExQ0I3MmE2Y2EzNWYwOUQ1RGEyMDk0MDYxRDljIiwiMHgyNjgwYTk1RkM5RGUyMTVGMTAzNEYwNzMxODVDQzFGMmEyOEI0MTA3IiwiMHhGNDNCODY5ZTk5ZTc4QjZFODdkNjIyMzQxMmI5YjY2RjZCRkM3ZDdmIiwiMHg4NGIyMTZFQUQ1MzNmYUZEQzZmMTk4MWFmRGUzMmRhOTY1QTk5Mjc4IiwiMHhDODYxMDgxODZkNzVmODhjNjA3MjhEODIyYjJGMWU4ZDkzOWU5ODMzIiwiMHhBYzBFRjYzQTkxY2U1RDZEMGNBNjREMzI3MzU3MWI5REJFYjVhYjc3IiwiMHhmN0RkQUUzN2E5RDc4ODkxMjlEOUVDZUQ0NzRkRTQ1RjM4ZTkxNzM3IiwiMHgwYkNDM2I2N2JBRTkxMzA3NUQ1RjZCZmQ5QzU5RkU4ZTg1ZjJlOEM1IiwiMHg4MzM1YjNCNDJkQTY4NUJCMjJDMzc1NzdFMjlBN0JkOURkOWI1NjhkIiwiMHgyNTc1YUY5QmI3RGVFMjY1ODI5NzhmODVlQzk2N2RkRjMwNzcyNEQ4IiwiMHg2NGZDQWFEYzBjNTFDMWJBNjgyYWZDNDQ3ZGM2RUJmNjViN0E5YzQyIiwiMHhmZjczQjg0MTIxQ2UyMzExMkE0YjE4MUZBN2NGYTdjZDkwNjQ4ZkI3IiwiMHhDZDgzNTZlOUIyNDBiNzJFMUI0MWJFMDI5NzE0NDYzRUQxOUYxYjMwIiwiMHhlRjMxRjgyRjlCMzFFZjU2OTZCM2M0RDhjRDRBMWQ2NjgyNDhhYmFCIiwiMHhmRDFlZjkwMTI0OTlEMzU0REFFZmFjNzdkRjI1QkE3YTQyRTg1ZDcyIiwiMHg4MmY4YTE3YUEzRTRBNWFiQmFFMzM1NGIzZGJkN0IzMjY2MTYzQUFCIiwiMHgxNjZjZjhEODMxMjJBMzkzMjM3NkE0ZDNFNDJlMGVENDRiQWJGMUEzIiwiMHhGRWMzMzUxYzlEODhhN0VjQTRCNDUxMTQ2Y2M4MUMwODdDYTMzMDlGIiwiMHg2YzNCY2ZEYzk4MzljNTMwMkU3NTMzRjZlODc0OTQ4QkY5OUFFODU1IiwiMHg1M2RiMWZDOUZENTc5MjA4YjVmMzYxNUY2NzExOWFiZDI0RTk1NTBlIiwiMHhEMTBjMTBGQUUxNTU1OEJjNTBiMGU4NDZGZURFMkY4QTVkNzYzOGIwIiwiMHg2OWJFMzY4ODkwODI3Q2QyMkNhMTdGREFFYzdEMzI3N0QwNThiQUViIiwiMHg0Y0EwRTQ4ODJGZDhEY0NDZTgzMjI5QTM1Njc2MTIxNDg3NUUyMTcyIiwiMHg3NDU1QTk5YzYzYWI2NTIyRjQ1NmI2Yzc1RjNhMzFEZDYxZjA1RjNjIiwiMHg1MDRjNzE3Mjk1ZmFEMjA1RTBlMzQ3QTBhOWY5MzE4MWVFQkQ4QmQwIiwiMHgzNzk0MTk2RDNjM2I4NzI1MzJhZmFmZTI2MDlDRGE3NEMxNmZhYmIwIiwiMHhCQzYxRkYzNjZlNzliNjU1OENCM0I1NDdCOTU1OTU1QUE3ODhhRjY0IiwiMHgzRDc2NDBjZUY1QWI5RUM4NzdGMDcwMTc4MkI5OEQzREMzQTkxZDlCIiwiMHhlMmYwYjc5ZjA2NDZGRmQ0MEEyNUY2YTQxMkRjODcyMDE5OUIxNWQ0IiwiMHg5MUYyMzBjY0IwQTAwM0JEOUU0ZTExNjUzNkJGNTMwYzVCODM1YmNlIiwiMHhkN0Y1OUJFNDIxMDc2MTJDMzdjMzI0RTg5ZTI1M0U3M0VlYUM0MDQwIiwiMHgxNjdjN2I5NWYyQmI5MGFiQmNCM2UwNjA0ZDg1OTA5MDYzQzQ1MTE3IiwiMHg3MjNkMjU3RjNjNjdlZjlFRjhmY2U1NWM1YzgzOTRmQkRiMTJEMzJFIiwiMHhjNGIxYjAwOTAzNjNEMmRhMEY2MWIxQTlGZDhCN2IwNGQ1MTYxOTRiIiwiMHg2OEQ2OTFlNzA5MjFBZjhFMDc2QzM0ZEREQjA0RjJBMEE1NTY0ZEJhIiwiMHg1M0M2MzFFZDVlYzc3MmU5MjUxMzZmYjRmMUI5NjY3NjQwMjdiMTkxIiwiMHg1NWRlQjEyZjVmMThkNWUxODQ2QmI2MmQ4OWU2NzM1RDY0NWJlM0YwIiwiMHgwRjVhMmU4YjZkOUNkYTcyODdGRkJmYTE4MzExMjAxOUVlRDE4MGI2IiwiMHg1ZDhiMzlhMjUxQTg5RGQxNzhEODMzRUMyMUJEODY4NTUxRUFkYzFiIiwiMHgyOWEyRGYyMDU2MDg0ODhlN2I1QzUzZDIwMTUyNkI4NTc2OWJGRjM4IiwiMHg2Q2QzMTZjRkQzMjA5MUQxNzVjN2UxOThEQjY3ZWZEODkwRTkxNzUwIiwiMHhmOTY0MjBEMTc4ODRFNjFDMzAwZmUzMzQ5OUUzMDZlRTEyNGMzNmM4IiwiMHgxMUM1ODc5MjUyM0RhNUM5Q0VmZGQ3NUEyNjU1OTBCMzgwQTAyM0RjIiwiMHgxODUyMmY4ODg1ODIxMjI3M2IwODVhYjI3NTIzYmMwNkEyNGRlRWUxIiwiMHgxQ2FjNmRhOEU2OTI4QWFDYjQ5MjY5N2ZBOTJCNEEwNEQyMTYyQzA4IiwiMHg3NmJlNDY5N2NDOTMzZDkxZWExMjQ2YmY1MDcwYjNCYTE4M2RlRWE1IiwiMHhDRjlkQjBBOTBmYWU0ODA1NTEyNDIyOENiNjdDQjQ3MWQwOWYwZENBIiwiMHhFMGU0MTY4MmMyNmQ5RDU4ZTUzMTRGMDlEMGNjZTg3NzhmNkEyNjYzIiwiMHg2NzQ3QTA2NDk0ZjMzQjhmZTgwNjIyOTFhNzJBMTRDZTA2QjYyY0FCIiwiMHgwODk4NjE5OWE1MDA5OTdlRkI5MUJDY2RENjY0MUYyMmFCOTdlRUU0IiwiMHg3MjNiOUE0YzEzMTVhOTAxZjRjMzA0RDI3NDZkNTdkNzgwZUI3MzgyIiwiMHg1NTNGMzNGYzM3QjY4NTMzMmQ2MDA3MjBFNTAzMDE4OTlmMGI2NDFGIiwiMHgyMTdDZTRDMUMwOEU4MTBCQzJkZjZFNjY2OWFBQmQwNDg1YTZBN0ViIiwiMHg5NjYwNTNDYTRmY2EwNDkxNzNlYjFGMjdFNGNiMTY4Q0NiNzk0NTM0IiwiMHg3RmM3MDc5MjQ5NmNmMDhiZWZiQ2UyODY3NTZDYjQ3MTVhMkZjMDJkIiwiMHg0RWY1YmYwOTJBNmI0YjRFMWU0NzEyQTUyY0VDOTlkZDMyYTUwZGE4IiwiMHgxNTRlMjc1MmIxNEU4OUJBNDUyQTRkNDlFZEEwNGY0MThCYzk2NUFCIiwiMHgyMTVlOGI0RmIxYTQxMmM4Q2ZFNDk0NmE0YzI2RjFhQkMzN0Q0OERCIiwiMHhlRkU4QjVEMjU0MDNjMEVGMjkwQzBDMjc3OTU5OUNBYzhEMTcxQzQ2IiwiMHhDRkZBRWFjM2U3ZjExYmI5Njc0OTg3MTIyNDMyMDA0Mzc1NzM4OThDIiwiMHg2MjIxRDQ3QTg4ZjkxRDRjMjI1QTcyN2FkMjNDNzU3N2Y4NzVmQTE3IiwiMHhDMzIxMzk0Yzc3MDc4ODkxNEM0NDA5NDllNzBGMEM1NTI1RTk1MGE0IiwiMHg5ZkM1MjRCMmI1Njg0MzdiYzdFNUM3NENFRUEzZjJjMWQ5Q0Q3OTExIiwiMHg1OTNBZjVCNUZDZWM2RDdjMUY1NmRFMkYxOTk1RDQ3YkM5NjlkOUUzIiwiMHhCM2YxRTJEMmExYTFiYTliY0JDZjBjMTI3OGRlRDU0MWUzMDVCRDVhIiwiMHhlZUI3RTA5Y2FmRTYzMDc1YzIyQzkzMzE3ZkU5MmM2MWE0ZjU0MmMzIiwiMHg4MTRhODY4MTdiZjJjZDk0YmYzZTc2RTE5MjlCQTc5MzMyNjQ0MzI0IiwiMHhhNjg5MGFDNDFlM2E5OUE0MjdiZWY2ODM5OEJmMDYxMTlmQjVlMjExIiwiMHg5ZjY1REY4MjhkMjFDODg2MGVlMTQ5OWRBNjM5N0Q1MGQ4NUUxNGEwIiwiMHgxMzlGNzlEZDg4MWMxOUFCQzc5MDI5NGM2NzBhYUFFNTlDOWFGYTdEIiwiMHg2Qzk5MDA3NzRDOGY3RUFmNzdmNzZCYzE5QTM0M0YyYzZmNjQ1QTBGIiwiMHgxRDY2YkFjMUY3MjM4RDg0OTVDMTBCOUIwNzkyQzc3N0RiMjc5QzMyIiwiMHg1OTIzQjE4YWMzN2MzQmMxNDgwM2ViMEYzNjg0YTE2QUU0MDFFNTU3IiwiMHgxQTYxRGYzOUFkNTVjM0ZiZmNlOTE2OEYwMzM5OUM3QzU4OTNlMjE4IiwiMHhGOGZlMGNDNzNiN0Q5REI1MDY2NkI2RDE1ZGVDN0I2MjI0MTI1OERBIiwiMHg4RGNiMUIxMzE4Njk1OGE3ZDg1MDc4MTU3QmQ1M2QxNzVjMDAzYzBiIiwiMHgwNTU1NjA1M0QwOTY2Yzc3MDEyMDFBMjEwM2RjYjU2Q0Y3NUJkRDkyIiwiMHgyZTJiODE5M2I2MDA2RTc0MTFjMTVlNjcxNjgyMGVGYzBhNDY3OUMzIiwiMHgyMkY0ZDE5NDExMTlkMEY2YTAxOTI2Y0Q2NTc0YUY2NWMzMDI2YmFmIiwiMHg1NGFCM2U5NTIwRDU5NUZmNjUwQTUxMWU5MTY3MTFBNzI2REY1NGIyIiwiMHg0OTIyNzkyODcwNDgyRjEzZTA3OTEzNGREMmIzQjQxYjkwMzEzRjY4IiwiMHg3NTI0MzI2RmYzYjdiMzNGZkJBMDU4NDA5NzAzM2QxNTlBOTA0YzQzIiwiMHg2Mzk0ODgzODZDREVhMzI1OEVGMTZkNzM0Njc1ZGE5MjYyMmZiYTk0IiwiMHhiMTBGNzRhMEU4MmEwQTliMzRDMjVlNUI1YjZmRGQ2NkM0M2FCMDM3IiwiMHg0MkYxNDA2RUI2RWE4QjVBYUVDMGI2OWUyNzlkODkyYUQxQjc2RkFGIiwiMHhkN0VGMTEwNkFBZjU5MjY2N2QzODlCQTYxNTljQjQ2ZDc2ZTU5Zjk2IiwiMHhlN2NjYTc4NGIxRDgzOEQ5OUZmNGZmRjU3NEQzMTg3MGQxNjE5QzFkIiwiMHg3QTY2RGQ2MmVmNjM5ZjNFRmQzMjRDNThiQUU5MzE2MGNlNDYwZTZlIiwiMHgyMUQ0NWVGMThmYjhkM2E5NTI3NDNhZUYyQkNlMjg0NkM5MDE3YjJEIiwiMHg3REIzOEVBMjAzNzI1QjA1ODgzMzMzZTUwNmFDZDk0NzZmRmQ0NWMwIiwiMHhENzQ0NDllNzZlNDM0RDkzMjA3ZkRhZjIxQkUwOGY4MWQ0ZDI4MWFCIiwiMHg0NTdjRTc4NUY5Qzc5NDQ1ZDE1MGViZWJGRWU4NTc1NTUyM2M0NjJCIiwiMHgwNDM5NzE3MDlGNjY4MTA0MTQzYzdEOTRDZTMwZWUzOTREYTdGOTBiIiwiMHgwQTVCMDBiQjMzNjZiMDZmRTdmQmJCNTIxOThEMkQ4REM0MmI1QkI5IiwiMHgwYTA1ZTJFOWQ2MzMzMzg3ZDRGNjM0YjA4RmZGNTIxMDI5MmY1NTYxIiwiMHg3Mjc0QTA2YzA2Nzk2NzExYTY5NEU4MDcyMGU2QTVGQTFEOERkNGZlIiwiMHhiMDZkNDNCOWY4ZWI0ZTY0ZThDNDBmODFlNTU3NGI4QUVhNkUxY2I3IiwiMHg5MTIyNUUwNWE4QTM2Mzk1MjZkN0ZGOWE2OTkwOTFhMjJGZTc2NEQwIiwiMHg2MEMzMzA2RWVBMTU4MzA1N0I1MzdFZjllNTU0Y2YwMzE1NzZGZGFmIiwiMHhiQ0ZkNTExREI3MmUyNWZjQTI2MjcwNzJmYzE0NjIyQzE2NEY1MDVhIiwiMHg3YTFCMzFiNzVGQTEwMjdlRTI0ZjgxQmRmRTk3RDA1RTM0NTNBZjg4IiwiMHg4M0NDNUQyRDY0OUNBNWE1YUI0ZEE5N2ExRjgyZmRkRDg0MjZCMzZDIiwiMHhlZEMzQjM1NmNGRDAzMTk0NTQ5ODE2MmYzNzhjRmIzYTU3ODA3OThBIiwiMHg4ZURCMTBGQjRDZkE2ODNGOWIwMDBCMjFBOUViNTFlNzZFMzBkNkI1IiwiMHhkZUNDOEVBNGQwMTU0NzE0NEQwRjNiMTA1NEYzNkVBNkVhNmU0YzU4IiwiMHg1NDBEODRlMEEyNjc4ODM2NjlBMjI0NGQxYTk2MjJFNzJjNERCM0UwIiwiMHhFNzc5MTdhNjQ4NzY3NDUxYkRDNWRjQWIzN2Y2QTMwNzYzQURGODYzIiwiMHg3OTZlMjVENTQ1MDM3YzI0RjMzNTRBYzFDQzFmNzM5QUVhYjYzYkUzIiwiMHhFOWQ5RkUwZGE5MmI2ZTAwYTQyMDRkQTcxRTJFZTVFOWFmNDU1MDA2IiwiMHg2NDYxQzhlOUQ4NTdFNEI1N0Y3ZTM2NDE2ZjJhMjEwN0U2Mzg5Q0U0IiwiMHgwM0E5N2IxMTE4ZDFmNTk0ZDEzNDQ5OEY4NzJjRmFBMTc0OThlN0Y4IiwiMHgzN2U2NzhiMjkwZDc0OUE1MjBmM2VjNGZiNjcxNzdBMjBkM2Y0OEFhIiwiMHhBNDE0NzAzN2VjRTA0NzA4MTAzYTRFMDE0YzRkYjY2QjcxOWJlRkIzIiwiMHg5NjMxYjgzMDNiY2ZGNzQyMzE5OGRlMjJjRUJCZUM0OTMwREEwRkFhIiwiMHgyZDZmMDZlNmYzYkU2NzExRDI0ZjI2NkRlMDZGNzg3MjgwMGY0YTE1IiwiMHhGQ0ZlMDU4RUZBMGJFNUJDY0ZkRDQ1ZTJDMDc5OTk3OTM1RkUwQTY0IiwiMHhiNjRmNTQ5QzEzOTc1NzMyYTM3RWIyNTJFQzEyOGY1YjA4NzJmNWE4IiwiMHgwYWFFNURjMDI5MDk5RTY1NEZjRkJEOGE5MjYxNEU4MDMzRTY0MDBDIiwiMHgwZTgyQmM1OGU3Mzg2QmU5Q0JGZjlCQTQ0NzIyODQ0RjBCODMxQThEIiwiMHg1NTRDOGM0MEVjMGQ3MjU1NjE1NDk3QkRhNzFiYWIwNjBFMzMxMjIzIiwiMHg5MDY4M2VlNDRjMkFlNzc5NTMxZjRCZDQ3MzY3MGQ2M0YyRUE2NTE5IiwiMHhlMjQwNDk2NTY1ZUIwOWJmNDQwMjczMjg3MmVhNEQ3NkMwYzFhRjA1IiwiMHgyNzRmOWREODI4NTRkQkE2YzEyOGE5OUFFQ0Y4NDBjNDA4M2FiMDkwIiwiMHhBMjc0ZjU3Yjk4NTFlMjkwM0UxMjk0ZThGOTIzMWRkZUQ3NzEwOUU5IiwiMHgyNEY3M2EzQ0I5MTk1NzI4MkM5N2Q3MzI3ODI1NGI2YkM3MmM4MjA2IiwiMHg0MzVhYWJBNDRhNjExOEMzMDhhRDA3ODI4Nzc0ZDhmMDQxRjM5NTQyIiwiMHg3Y0MzNjkxMjllZTRCQzBkMzA4MEViOTc1NUMzRjNEODk3NjI3NWIwIiwiMHhDMTkyNjNlNkE2ZjY3OEVmMWNlODdGOGE1NTQ0NGJFZWY1ZGRENURiIiwiMHhjRmNiNzAyQjIxNDNjRTU2NTcxNTU5QzRDNDhCQzg4OTdkZEU5NzZBIiwiMHhhN2JFMDM0YjIwMTc2MjU2OTY5MTBCMGQ5RmNBYkM1YzNmNDNmRTZhIiwiMHg0QkJBYjQ5MWI1M0I2ODJEN0I3RGJENmY2QTBENmUxY2QxNWNiMTk1IiwiMHhGNTZjMDE4Q0NhN0VGZDAzMjc4ZkExMjk5RTllM0FCNTljOUQwRGZGIiwiMHg1NDJiQ2ExMjU3QzczNEQ1OEZCRWEyZURiYjhmMmYzYTAxZUIzMDZEIiwiMHg3N0YyQzMzMzAwRWRBODE2OUQ2M2Y5MTZjMTdFQWY0RTU1OTdiRWI2IiwiMHg0NzdjMUU4NEYxMTgyODRhMkQzMzUzMjczNWI5OENmODgwMkQ3YTNiIiwiMHhEYjQ1ZGUwQTZlNTJBMzc5OTI0QTM1NUU2YzUxMzdCOTVEOUMzODA2IiwiMHg5YTYzMmNEOWNCNDRGOTM4M0JGNmYzMTE3MDU2YzI0NTViMzBhNkUwIiwiMHgxOGUzMzcyM2ZlRjQzQTMzZjk1NjBhOEI5NzNEMzMzMUU1MjY5RkFDIiwiMHg3ODg0MDEyNjJGQ2I4YTA0ZTVlNmI2NkQyOWE1NDJDRDNBMDBkMEM5IiwiMHhCYzREOTZmNWYyOTFmMkY4NDNCNDQ4MjAwYzllOUZlNWFkNzQxRDIzIiwiMHg4QzBlODc2RjFkYTU4MTQwNjk1NjczRDA3RkY0MkQ0Nzg2MjA3RDFCIiwiMHhjYTczYzNhYzExNkNCYzRDN0ZBZkEyMkY5QTNFQ0FERUU5YzU0MDhBIiwiMHhDZkU5YjFEM0Q5RGE2MWU1OUUzNDcxRjVmMkZEQ0RCMTQwNGUyMGJGIiwiMHhmQmE0NTlhNjdiNTcyMzcwYTQzYzNlMDNjMDc5NjJDMWY2ZTJiQkNGIiwiMHgxNWFiMDMzMzk4NUZEMUUyODlhZEY0ZkJCZTE5MjYxNDU0Nzc2NjQyIiwiMHhmNTMwRTZFNjllYmMxYzFBQTk5RjcxNDhBQ0ZGRGRiNTEyYWNBMEQzIiwiMHhhZGVhN2M1ZmViRjkzYTYyMzlFNzNlMTRlMzdhQjQyOTAzOUViOUIxIiwiMHgwRkRkN2VBNjE1NzI1NGRCNTFCNThCNTUwNENEQjA5NzA4OWJGMjZEIiwiMHg2YTM4MDFmQzIyN0I3M2Y3MzgwZjNFNDI3NDVFNzBiQ0QzZTMyQzBjIiwiMHg1OTVmOWZBMEU3N0ZDZjJkNkVGZkZmMThCQjkyQTJGRDc1NmRBNUNmIiwiMHhBRDc0MTU5MUVEMjAzMzIyNGZFZUFmOENmZWY5Nzk0MDlDNzZlN2EyIiwiMHg5ODAzMjcwQ0VhRWU3Mjk5NjZmNTU4MDUxRDVkMjA5ZWM5QzJhMDA5IiwiMHgwY2U1Njc3MzlhMDZjQTMxZjBBOEVEQzUwRmJGMUFlODAzN2ZhOWIwIiwiMHg2RkM2NzZEZDIyYzBBYTVGN0Q3N2JFMTFmNmU4MjhDMDBlNDJhZEVjIiwiMHhiOThjQzVBYURBOTZmNTAzNzAyMzg0ODE5QjI4ODYzRGRmYjU4YzQ5IiwiMHhmMzI0NzMyY2Q4RmYwQTFBOTExQzBmYmQ5QmU5OWY2MTkzMEYwNTc1IiwiMHg2OTAxNDkxNUUzMDc3MzcyOGFmNGU0QWQxOTM4OEZCMzJlQzc4QzcxIiwiMHgzZjUzOTM1RGE5MGQ4MmUwOTc5ZDJGOTc5RmE2ZmY1YUIyRDYyRENhIiwiMHhiZDZiNDdhOEMzRDg0OWMwRWYxODk4MUVFMTg0N0M5YzM3MDMzRGQ2IiwiMHg3NDMzOUQ2NTk1MjMyMjJBMjAzMkVFMWQwZDdlMDI0ZDgxOGFFNWE3IiwiMHhGYTI4QWY2YmUzNjQ5RTkwRUQ3NmI4MjY5RGI2NUIyMzZmNzE2RmJlIiwiMHg5ZWQxRENjOWFGYUMwYkM0ODE1QzJFQjlBQTM0RjIwNjE1MDJGODdlIiwiMHg1MUE5QzBjZDlmRDc1MjU2NjNCNUQ5NUU4Y2FlODhjMjkzMDFlQWY2IiwiMHg4QjFmOTc4ZjRjNWQ1NDQ5ZEY0NTc1ZDExMTRGNkZiN0VjOUJmNDY1IiwiMHhGNGUxMkNjNzMwMzVCRkMyY2EyZjY4RDdDMDNGZDk4MmYzNTAxRUZiIiwiMHhDRDdFZjhFNzVhMDhiMzBkM0U3OTg3RjExNzdGNDRlNjc4MTQ5RDQzIiwiMHg5MzhkMTQ1OWVlMGFhZjhmRTczNzc4YzU5MEE2Mzk4MjFFNDQ0RDQ1IiwiMHg1YkM3RkJhOTBlRjdhMTFCYjQ5MUIzMzAyMGU1YTQwNDg3MzIwRGRlIiwiMHg3MTI1M2JhRjEyM0VkRUI0NzJDQzlkRUFGNkUzNWY0MzMwODEzQjMzIiwiMHgxNzA1M0Y5NDY3MkQ5RUUwMURlZDJiQzExOUIxZjgzQkMyODIzNzM4IiwiMHhDRmUyRTUxYTI5MDA5MDI2NDJhNmIxY0Y4QWJiNzQ5NDE4ODBCNmEwIiwiMHg0Q2UxMTRDMDUwMzE2MDAyMzM4RjFEMGU4NWMwNEYzZjM3MTU5MjllIiwiMHhlNmQ3NTdmNjEwNmFFOTM1NjE3NkY5NDM4ZTBiOGE0NTMxMWQzZkY5IiwiMHhiNDA3ODFhOWU4NjIwOTlhNDdhZDNDNEIxOTg5NjE5ODE0NTk0N0U0IiwiMHhDRmZEZGVEODczNTU0RjM2MkFjMDJmOEZiMWYwMkU1YWRhMTA1MTZmIiwiMHgwNzk0N2MyOUNmMmViM2E2ZTkwM2U4ZmRERDRiNDUwRjE2ZDU4NDFGIiwiMHg4YzA0NTg4YTFkRUU2YzlkNzhjNWE0MTkwMEY5MmI2MzBjYzQ2Q2U2IiwiMHg5OUVGMkRENDEzMDM2ZUEwNTYwREM5M0I0QTMxRGNBMDY0NmMwMUUyIiwiMHhjNWIyNDlENmQ0ZjQzZDU4YzFBZjExMzcxMjIzMEJEMTk0QUYxRkMxIiwiMHg2MjRjNDViRjg0NDEzREM0MTgxMzE1MDk4NDQ3NjUyMDQ0OTUyMThhIiwiMHg2ZEQwQzc4NTA3MDRhODdmOTZCYzE1MmRiZUI0MUFEMzVDQ0RmNTZiIiwiMHhCZTQzMzg1RDZDODAzOUVlNjc2NDQ0NmRGZkNCNjUwOTBDODBGQ0ZEIiwiMHgzOEVDNjExN2E3YjAxMTA1MjY0MTY5MGQ2NDdhRkM0NTIzOTJEYzkwIiwiMHg2NmVjZDlFMDljQzU0OEZCYjEzOURmRTY3NWQ1QzM5MjczRTkyRTlGIiwiMHg2RjgxZDkwRTc3MUI1NTE0NTEzODJiNGM4QjQxQzg2Qjk3OGQzNDIwIiwiMHg2Yzk4ODNmMzBmRjJGODQzYzI4ZUQwZjlCMDQyZDUxRDhCNjU5N2M4IiwiMHhkNzg5RUU5MEM3NjJGRkYzQTJhMjIzMkRDMkIyOGRGYTBGQzkwRDUxIiwiMHg0NTk2RmY1MTk3MkMyRDA1Y2EwNzAzNEUyOTAyMTFiMmI1QTVDMkRiIiwiMHhkQTE4NDIyNGFkNmY3MjY4QWFBYTQzOEFBNUQzQzMwZjBDRjlCOGY1IiwiMHhmNTVFNDM4Mzc2M2YyYTllOUExY0U3MkI2RjMxRTI3RDhERjU0YjY5IiwiMHhiN2M3MjZkNDViM2M5MjI2YTBhQjUzZTAzQkE4ZjQ0MTI0QTA4NjdGIiwiMHg2ODNEODYzRDFDMDk5MzBmZkQ3ZDVBNTA4OWE1OTRmYjA2NDY2MDZFIiwiMHg3QTk5NUExMkI1NDFmNDFDODJFYTcxQzBhQjcyNDY2ZDFlODYwNDVFIiwiMHg4MzIyMmE0MTY5MjI0ODMyMjYwNDU3RWU3MzRFYjg4QUMxODQyMEE4IiwiMHg2MEY2NkQxRThhNGFlQ0JjRDQ3RmQxMTBCNjI3M0M2MjY3MjZCZDIwIiwiMHg1MTRiMUFDM2MyQ2Q5QkRENDk1QTkzRjRjYUM4ZGQ0OWZhZTRjNzlFIiwiMHg0Mzg5MzhkMGUyNEVFNTY5RDM2MzRCODUwQThENGMwQzMwM2NBZUUyIiwiMHg4MDRDRDc4NkE0NGJhMGIyMWZhQjE2MmQ5ODFCZTM5MDMxNTc3N0VCIiwiMHgwYjZGODMyNzNEYjYyNzBERDM0RTc1NDEyRGRCMTczZDgzQ2Y4QjY3IiwiMHg1YjU4ZTkxZTc4Mjk3Njc1MkU5RkMxMTE4NjJCYjlmNjlEMUY0NUNFIiwiMHg4NTFCNmQ1MUVFRTdjZTU1NkUxZWMxQ0NBNjczZjI1ODdhOTc2ZjQwIiwiMHgzN0EyZDEzODU1N0FFZmYwMzJCOTczZTNhMDVkNThFMTBFODE4ODFlIiwiMHg1QmUxZUIzZTY5OUQ2NTgyZjFFYWUyYjk1MURDNmI5Mjk1RDA2NUJiIiwiMHg4NkJkOTI2NWRiMTg0ZWYyMjA5YWJlNTk0ZUUxZkY5MERGMDk0YTAzIiwiMHhDZkViMDQzQjQwY2VCY0UxNTQ1ZjFkYjhGOWY1MDJFN2FlNmUyOTdjIiwiMHhBZWQwZTJGZkUyNzI2N0VlQTZmM2ZCN2QxYzU4MDJkYkM3MDYxMjBGIiwiMHg4ODM3NjY1RUE2ODI2MGExYTRiMEExOEQzNGNDODM4RUEwNDc5NkRhIiwiMHg5MzZkODFDZUM3QTdGQjliNEM4NzM4NkE3QzQ2QjU1NzE2NUYzN0FBIiwiMHg4NEM2YUM0NmJBMmU5NzNEODIyZTBFQzg0OTg5NjVDZURCQTFlMTQ2IiwiMHg1NzdmRTBGYzI1NUY4NjljYTI0MjBjMWY5NjI5NkRBNTcwOWQ5MjJFIiwiMHg4YjM1MTYzRDRlODJhRjA2OURjOTA2N2RBMkZhYjA2ZjEzYjY4ZGY5IiwiMHgyNDk0NzQ3ZjY2NGJDOTcxYUEwOGY4MEI5RTdiMTZERDcxMzY4YzQ0IiwiMHg2YjMzZjlENWQ4ZTg0N2UwMTM1YmEyMzQxMDUwMDM5QjA5NThmZDNFIiwiMHgwRUQxMTUwMDRCRmIyZUMwNmEyMWE4OGM2MGJmRWVCZWNCRDE2NDYxIiwiMHhhYzE4NDRhOTU2NzBBQUEyNTg1RTg0YjVDREI4REZDNUFmY2EyOGJhIiwiMHgzNWRCNTgwRTUwZTdEQmVhQUY0ZEFiNUI4Yzg4QTk0Y2EwOGQ5MkVmIiwiMHg5MTkwNzY1Y2E3NzgzNTA3ZTRBZTRBYTM4NjJGMDM0MThjYThiRDIyIiwiMHgwNmNjMkQyZDNjM2M1ODI1ZUUzNjM0RTUwNzU5OTJhOEQyYUQ3MUU4IiwiMHg4YjAwQ2FhNDY1MzREN0U0NmQ2ZDI5QzM3MDAyZjA1OUEzYmVEMWE0IiwiMHg0Y0FiMTgzQzM2MDcwNjI4REMzNDNkQjI0Q0Q2ODVEQjJkMTI1MjhkIiwiMHhhREVBNjQ1OTA3RGJlMmI5QkNCN0IxMDI2OTVBZDBDMzIxZjZiNDBjIiwiMHg0ZDg2ODk5RDI1N2YwZjdBYjgyNjM0NjJENzg3NjJFMTkyMGRCNTNDIiwiMHg4NTNEMzEzODU3NjAyNUQ2RUVkQzFCNTk0QjRCRkVlNDI1MjZjMDI1IiwiMHg3Mzk2RDgyQzZFZDA0MGFEQzlENjQyOGNjRWM1OTY5ZTI4MkY3QWI3IiwiMHg3MTc5N2NFNDMyOGFmQjdGNDFCMWQzNzk5YmYzMDUyM2NBZThhMDMwIiwiMHg4NzhGMzZkYWZEZjI4MTY3N0QwOUMyQTZCRkUwODBjMTBGM2YzRGQzIiwiMHg2ZjFCNTlhQ2JlNWY3ZTU3RjFjMjc0RTUzZGRlZjhlYzVFMWQ2MmYwIiwiMHg2Y0Q5YjI5OTkzZEJDYTk3NThmYTFFZDJkZjg4Q2UzMzA4OTA2NTEzIiwiMHg0Y2FlNGM4MEE0NDRGREFDMzJiZDBEZDhlY2JERTMwQzc3RDM2NjdhIiwiMHhhZDcwMWQzN0Y4OEY1RjI0OTNEYzBkNDBlN2I5MWE5MTUxZjE2YzczIiwiMHhjOWJEQjM2MDI4MzNBOTIwQjhGYjRhMjY3NDE5ZDhBNDM0MDdkQTBFIiwiMHg3NTNjYjc5YTc5MTA4RUM2NkU1MkIyODZmQzIwODY1MzhmN0FEMzk4IiwiMHg4ZDVlZTk1OTdERjIzMjg1NGE5NzFkQzY5NTg4ZWI0MDA5ODI4ODc2IiwiMHgyQTVjQTY3ZTAyNmE0NEM0ODM0QTI5MTRFMzY3ODliYjAwNzY1RDdiIiwiMHg1YTU4MzgxMDA1OTc4YUNiZmJkMDFkNjg0MzQ1QmYyMjIxRjk5MWExIiwiMHg0MUZhOWFFNDI3N2UwQjJBYjAyZDAzNDEwOUFBQ0JDNzZEZDUzOTkwIiwiMHhkYmYzMjE3OTA3NTgxZTdjODU5MmEzY2E3YmE5MWE3OTljZjY4NTBhIiwiMHgxYUI4ZjEwNGJhNTc5YUFhNzkwN2MxMDNhNmJBNDJFNGQ5M0FCMmE2IiwiMHhmMzE5NEUyMmQzMjEyQTZGOTMwYTdDNkE4ODAwM2Q0M0Y2OGJlZkFCIiwiMHgwMzc3ZjhDZTVBYUQzYjRDNERjNzlEM2ZCMkExMEI0NTJmQkFFNWREIiwiMHhFM2Y3MUM1OTYyMTcxRkQwODUzZjVjYTAzNTIzRDMzNjg4MzhCZDE5IiwiMHg1ZDVFNjUwZjMxOTM5NzQxZDBCM2FiQzUwZTc3Mzk3M0JjODQ3Q2VlIiwiMHgxN2E3OTFEOEUyNDFENEJFMTFhNTlmNzA3M0IzMTIyYkIwMTlmYUNEIiwiMHg2QmIzYTE2ODM5OTIxMTkxYUY4NmNEZjFhMkI5ZWU3Yzk4MTEzNjhjIiwiMHhDMGE2QkIzRDMxYmI2MzAzMzE3NmVkQkE3YzQ4NTQyZDZCNGU0MDZkIiwiMHg2NDYxZWM2RDcyQmJDNDMxQUQyNDEwMzIzRTQyMWI1OTgxM2UyMTA2IiwiMHg5M0IxNUU3MDJkMTAwMTZBZGY2ODA1YmNBY2I4OWM0NzI5RDBiMWJiIiwiMHhkN2U0NkZFMEVlM0I0RGRFRDcyZGQ5ZUEwM0U4OThkZjVlMWRDMjJGIiwiMHgzRTU4NzE0MTBGYTQ3MEJGNTQ4NjYzRjM4RTEyNTM1Mzc3MjMwNjM4IiwiMHhFRGVCZjU0MDM3NjJmN2MzMjI3NjM2QjEyQzQ5NkRmMjZGNjkyNzk4IiwiMHg0N2I2QjMzNGIyODNGOTkyOWNFRWFDRDBmZmU1NzQ5MEMzRDEzMzkzIiwiMHgxMTEyNzI0OUZhZWIyNUI1ZDREYWYwYzBFZDQwODU5NDE3MWZCZTk0IiwiMHgwODNCMmY5QmYyNTAwYzdmNEFBZDJlZTQ1RjJiNjI3N2FDMjAwMzg4IiwiMHgzMDI3OERCNTFhNGYxYjEzN0Y1NjFmN0I1RDkzNjYzZDAyOWQzQTI4IiwiMHg2QTU3NTllOEIzNzhDQjcyNDE4ODk0NTcyRDYwNzU0ZmM1OTNiMWZkIiwiMHgyY0UyM0U0YURkM2VkZDE2NEQyRjllNTIwNmVFMmZBYzdjYzI5OTU4IiwiMHgwNDNhNzUyRDg4MDUzQWFFMUIyYTcyZTM0NjdGMDA1YjQxNmRhZDdGIiwiMHg3NTA4NTE1RUFFYTg5NGMxRDdFNmIxOEVmMTViOGY4ODg3RTM5NjE1IiwiMHhEODhkMTkxMDdBRmEyNkVBNjkwRjM0RDZCMDY4ZDEwNmI1QjJFRDg4IiwiMHg5MTM1NTA4YzYwNjVmNjczMkU3MkU3Y2M0RmY5QzQ2NjlCQjA0NDI0IiwiMHhlQkVkMTI1MzFCNjMwRmIyRDg0M2UzOTg2YWUxMzQ0RDAwNDk0MEU0IiwiMHg0Yjg5NERiYTVjMTg2MDBDNjdkZTg5YjQ1ODRFZDQwQjRGZWE2MTBDIiwiMHg0NjNjNzBGQkVjYjE4NjI4NzZCZkU4MGVDYkFEOWQ1RTU3NDQ4NTU2IiwiMHhkMEZCQjg3ZTQ3ZEE5OTg3RDM0NWRiREYzQTM0ZDQyNjZjZjVlYmU5IiwiMHgxNkViMjQ4NjdDYkU3RWQxMjNGZTNBOTNiNTI5NTU1QWVFQ0Y2OUQ1IiwiMHhCNmVEOTY5QkY3MzAzMTFmQzhEMTMwRmMzMTRiQTlCOTJiODFiZENBIiwiMHg1MEM5MTIxMzhBY0RERUIxMjkzOENDNjFjQ0M4MjY4NkFGNTg5RDU0IiwiMHgzMDY0NEU1QzA4ODMwYmZGMEQwODRiQjc0MEZEQjMyZjMyMzFmRUZhIiwiMHgwODkxMzg1RUY1OTI0ZDg5ODZDMDFEMmE2NTZGMWFGM0Y1NzAxQkU3IiwiMHg3M2I2NDdhOTc0Y0YyNDhjMjBFZjAwMzU5QzJGMmY4NjU0NUNCYTlGIiwiMHhFYzljNDgzYTg5YUEyMzQ2RjlDQ2NDRTc0QmUwRThCNGJiODg0OWI2IiwiMHhBMUM0ZjMzMDhGMjJBNjhENkYwNTk4QTg3QzBmYzQ0NjBGOGQ0MTlEIiwiMHhEMzkxODU5MmY4NkZDNjk1MTI5MEU0Yzg4MjBGMUU5Q2MxMjg1MDFBIiwiMHg0QzFjRWY5NmU2OEI3MzVFNTc2NjZjYzM0QzNmMDlhRTY2RTViM2M3IiwiMHhFRjEzMTk4MkU0N2I1RjA0RkY0N0VFRDEwM2I0RDg1QWYzMTI0MzQ4IiwiMHg5RWYzZjE1MDkzYjkxZTg5Y0FlNmNFQzA4NDNkMDZmQUE0Mzg2OEI2IiwiMHg0RjBmNGEwMkYwQjMwQjEwMUY0RTRkRDI4NDc0N0JEMDA0NzEzZDk0IiwiMHhFMmFjOEUxRDVBM0JhOTRkNjIzRjM3ZkMxMGJjM0M5M0YwMDZCRmMzIiwiMHg5OEI2ZDlDRThiMDMyNjA2YURiNTIxRDQxNUZEM2Q1NmY5MjAzNkQ5IiwiMHhlQzlGNEZBRjA2Mjk0NDYzRTY4NDdkOTFmMzU0RGIxQTFjMzVGQmY5IiwiMHhjZDI3NDQyZDBCZkM1MUY0OWM0NGQ3NDVGNWU1NjFlMTQ3Qjg3MWRiIiwiMHg3ZEU0MGFjYjYzMTQzYUY4ODY4YmFmNDUwNThjQTQ5MDc2MjM4RGFEIiwiMHg2NDkyNzcwYUYwZjhiNzhlZEQ4QTlFOEE3ZURhRTJCMTlDMzZCMGRDIiwiMHg5ODViMzk1NUEyYjQwNTc1ZGZFYjJGNDg1Mjc2QjYyMGExMmM4REM2IiwiMHg0NDMyNTA1OUM1MDJGMzI1RjU4MTcxQjMyQjZhMUYxZTI5NUE3NDljIiwiMHhjNDEyQWMyMGNEMzU5ZTliMTU5YmFiRkQ0MDE1NjRCNmMwMzlmZDgyIiwiMHgzMjAyNmUwN2EwMzVBQUU0ODU2OTBFRDk5N2MwODEyNzkwN2NDQzcyIiwiMHhBQjJlQzI1RjI4QmEwNDkyNzM3MERiMmM4MUMzM2E5MzczMzllOGZhIiwiMHg3OTI5MzdBZEU0NkM4MEU0NjNDRjdkMTgzYkExQTcyZjRkRjA4MmUyIiwiMHhlZGVEODYzNTkxNWM5NTYxMjg0ODc5RjI1QzQ4OTM4OGQxOGQ2NjRjIiwiMHg1ZjExZDE2ZDgyQ0NiOTE5NGIxODQ1NWMwZDY0NTI0YkY1Y0ZFM2RlIiwiMHhEMjBDMjMyRTVjQUViMEUxNzdiMjIyNzRmZDREMjMxOWZhMEJEODVFIiwiMHg4MjE0MkM0QUFjQzBjYjM2MkVhNTkzODE0Yjg0NTQ4NDMzNkM1NTVmIiwiMHg2OERhY0EwOTVDZkVlMjhhOTE4MDBBRkYyMGJlYkUyMTQ1MDhGOWI2IiwiMHhDMDM2NzY1MTYyMjMzMTFlQzhFMWU1RWE3YjYwMDY4MGNEQzJERURDIiwiMHg4M2EzRDkxMzEwMTlhMTQxMjNGNWE5M2ZhNkQ4MkE3ODJGZEM1MGQ5IiwiMHg3YWFiODk1NjA4ZDhmRGEwMzJlZDY1MjcyMkE0RDZlMkJjNEQ3MUM5IiwiMHhiRDFFRTQyZjM4MjUxRjk1RWU2NDkzNGY2Q0E4OWY2OWNCZThCMzllIiwiMHhDRDQzOWM5MTlCREZlOGY2MzkwYkE0NDA2RTYyMjQ5NkI2MmIyNjc3IiwiMHhmM2U5QWQ4ODhBNTNGQkY2ZEZGMUMzMUI3YTJBMTA5YzU1N0EyY2Y2IiwiMHgzNDNlMDdGOGMxOUZBNDNmQzk3OEExNWZkMGM4NTYwNDYyQjg4MTFhIiwiMHhmQmExMDZmQkM2NTlkZjhiNDFmNTJDMUExZjhFMDRBRWI1REY3ODRiIiwiMHg2ZkMwNTg4MzVmQUU5MTdmNEUwNDA4OTIwMGE0NDExM0NhY0U5QjlGIiwiMHhkMjA1NDFBMThlNDEwYjc4ZGNlQmQ3RjAwNmRDNEI4Q2EzOTg0ODk3IiwiMHhjRmRGZGYxQmQzNTkyOUI1ZDNCRTVFNWRhRDNDOGVkYzg3QzQ3NWE5IiwiMHgyNDgxMTE1NjBjZUVkQmViRWJmRTk3NjBkNWE2OTNlZDg1NTIyMDAwIiwiMHhGMzFkMWY1ZDdBNkIyQWI3NzNmRjgyNjgwYTJmMTAzM0I4YzI5NzkyIiwiMHhDYTczOEI0MzFhOGQ1YWVmOGY5YmJFQTA5YkMxM0M2QjUzOTUxMzJEIiwiMHhkZDljYmIwOTNDMjIwZTAzMkU5RmUwODM5M2NDZkQ2NzdBRjE2Njg4IiwiMHhENDI4NDMwYjI1ZTNkODJDM2M1Rjc4MjZlMGI3MTJiNkI4N2RlZDExIiwiMHhlNTU0NzA3ZTJFMTk2NTZjMzYzNTUzZDUwMTI5RjAyNTVhNDY0NkU2IiwiMHgyZUNEYzM2NThBODJFQTc5MDMwZDY5OGZmQTM5Y0FlMzJDNjhiRjM1IiwiMHg5NjBGNDhhZkEwNDIxNDY0NDRkNEUzMjUzYWZEOGU2OTNFODY1RWQ3IiwiMHhFOUVlZkQ4RGYyYjk2YTRDNDE4OENiOTA1Njk5MzNGRTk0QkVlMTgyIiwiMHhBOEVmQjJDMjc2RGQ5MTc1RkIzNDcyOGZFOWRENzEzOWE0ZTNkMEMyIiwiMHgxMzc3NmFlNUYzRTQ5QjZBMTdjNTAxRmNlNDBENzM1NmU2YTg4M2EwIiwiMHg5NmNCNDJlNTFCYjc2RkY2MmJDY2Q4OTU5NkMxMmE4OWJGNEJhM0FlIiwiMHgzZThlNDYwMmYxOEQ5MEM3MDFlQzM4RDFEMzYwRWY2NzA1N0ZBODg2IiwiMHgxNDkxRmIzYTIwOWE1NzkwNDA1N2M3NDEzN0ZFNTA5MTE4OUFjYzc2IiwiMHgyNzE1ODY1NzIzNjVBOTVBRDcyOTAyMDk0YzkxZjg4N0UwZGZiMzQzIiwiMHhiNUM0NERBN2JBMkYzNzM5ZEI1M0I2Qzg4Y2VhZTc2Qjc2ZGI4NGYzIiwiMHgzYmU5NDI4QUFlMDNGYUJhQjUxYTU4QTJFOWRiMzRlNzZDOTI1ZGJGIiwiMHhjQWJCNjNCMWQ5OEZmNTA2RjAwNTk1ODlmNDVCM2MwQzczMTAwQzM1IiwiMHg3ODk0MzIxYzkzNTRCRkRhQTMzQzMwMWM5QjhlYjEwRDQyRjQ4NUU4IiwiMHhCNjVDNDk3MzM5RjNCOTYxMTA4ZEVGMUIwZkE3QUIwOGNCNDlCMkEzIiwiMHg3MTUwRkI3MTY5RDYzOTg0NjA3YzM3NjdlNjY0NzdCOUU0RjI4YTQ4IiwiMHhiNkI3QzZlMjQ4M2FkN0RBYWNkYzQ4ZUE3MTgxNGQwQTIwMDNBNTJEIiwiMHg5MTA3Zjc0QmVGQTJBMTE3MEQ4NjM4NTEyNmNiYzY4OWQ0NDlDQjYxIiwiMHg4MUFiRTc3NUMwNUI5OTMzMjdmQ2JjRjNiZGI1RDhjNzU0MTZGODI2IiwiMHgzNjg2NDBDMTFlOUQxY2ZlMjlhMTE1MDU2ZTlFRTVjOGQ5OGJEQ2YzIiwiMHhiQjExMkRkRjZCZTdlMDk1MzQ0ZGEwMTY4OTlhRjVFNmY5MDlkY0Q5IiwiMHg5M0E5NDI2REMyRDUyMmQ2NGZGRTM1MDU2OWQyYjEzQzUyQzBmMDM4IiwiMHhhZjAyNzZhMDk1ZTI0YzQzM2UyNjVFNTgwN2FGMDEwOTE1YThDMzNEIiwiMHgxMzFiYjM3MDIwMmRlOEFDZjcxQzQwMTk2MTY0RWZiNTk0M2YxNDU0IiwiMHgyRUMzMzllQjdjM0U5ZmQ0ODlGM0YxNzgyMDk2MTUxQjAyNzM5ZDRDIiwiMHgzY0YzQzNDOTViNWJlNzg2NUZmYkY2MWIyOTAzQjREMUI2ODVBRGQzIiwiMHhiNzcxN2IxN2ZhNWU0QTg5OWU0MkI2MjBEMzUxQjdmNDJlRWU5ZmMxIiwiMHg1ODJFNWI5NjdkRjI5RTcwZDBjYjE2NWQyNzVmNEM5RTY5NDI1OWNFIiwiMHgwMWE3MmRmOTMxMzczODZCN0MxMzIxNkIwMTZkNTM3MWFEMDU0QTcwIiwiMHg4YzRjNjc2YzEwNjRmMzg4RjYxNzI3QTkwQTU3QzcxYzMyMzdiMWE1IiwiMHgwNzc2MjM3MWYwOWJhMTFDOURGNjRjZWQ5MDFDYWQ3RmY1MTA0MTAwIiwiMHhhQzMxN2QxNDczOEE0NTRGZjIwQjE5MWJhMzUwNGFBOTcxNzMwNDViIiwiMHg2NzYwMjAwODg4ZDg4N2FhRDcxNDYyOWM2OTk2NDEzQzk4MzIzNTlBIiwiMHg3N2JiQzJCNDA5QzJjNzVFNDk5OWU4RTNlYjgzMDlFRmZmMzdjZjJEIiwiMHhCMzc5OEU5NjFlMTUzRjRiQkRkMEE1Njg2YzFmMDM0MGU5MjMwZDVFIiwiMHg3NGZDYzE4YTljZkMzNzllMjFFRThlYjczYzRhNGNGQUJGMDkzYjZEIiwiMHg1ODU2MzgwN2JmZUQ0NjI3NjAxNkNkZTEwNEU0MmQyMWM5ZjFDOTY0IiwiMHg4YWRiRTk1MGE5NGFGMjBEZEY2Mjg2YWJFN2JlOTQ4N2Y1OTFiMEZEIiwiMHg3NDAyMmQ5NTg3RjEwMWMwQjc4N0RBN0Q5ZDQ1MzRFRmREYWMyRWE3IiwiMHgxZjlkY0ZiMzE1YjBlRDQxNTc0MzkyMjJBQ2MyNDVEODQ0OTgyYjQ0IiwiMHg3MmI1MjQ5NjY4MUMxYWRjNDQyYTIyYkRmMTQ4ODAxNWE3QmQ2MzM0IiwiMHhiNzI1NzM0Y2RCOTQ1RTQyNTVFNEJkOUNBOUY2QjU3YTYyNTg5REFhIiwiMHgxMWFlZTlEYzgzMzJBMTg5ODU4RjhDQTYyZEVEQjFBMzM5RERiMTFGIiwiMHg3M2FBMzMwNGI2ODdmQzg1RUZERGJEOTJhMDNjOTgxODQ4MDA3NEIyIiwiMHg5MTdGOGY5NjQ3MDkzMjhGRjdlQWZBNGRiZDAyNzNDNTEzOWJGOTJjIiwiMHhmMzIzMGMwMjA1YkRkYzI1NTEzNmRDZDI5MzdhNzFBOUJjMjBjOEEwIiwiMHgwQzUwNzJmODIyYzg2QjFhZmQwMkM4NEM0N2RiNEU5OTljNzA3ZjhBIiwiMHgxZDkyQmYzMDZmMjlGMGNkMTRiZGE1NDg4MzkwMDJGYTExMDk5ODBhIiwiMHhlOEFDYzI5YzU4NUE2NUZlNTVENDRiYTY0NTk1ZjU3NTIyYWVmYmFkIiwiMHhGODg2QWMwM0FDNjQxMjIyQWRiODQ1MjI3RDBFN0JiRTkwRjlEZDJGIiwiMHg1NzZEMzU1NTdEQkRCNzk2RjNDZTEzQzg3RTZFQzkyNTdmQzc1RjM0IiwiMHhDOGY2OGU0MTY2NmIwMEU4YTk0YTlFNzE1ZDdiNGFENkJiOUI2Q2Q0IiwiMHgwYjhmYTkxZEY0ZjQ3M2U1NDc2NjU4N0Q3QkI4NDk2ODA2QzQyYjU2IiwiMHgxN2RDRTkzN0EzMTY1OTg1YjkxM2M5MTQ4Qjk4NkRGM0Q3NDViNTMzIiwiMHhmMjEyOEIyNzA4RjQ3OTY2M0ViQ0VCQzA4YmI4MTUzNjUwRmZFNmE4IiwiMHg2N0JGNDYxY2FlYURFZTg1QTM2MUY4NDFmQTE4RDk4ZkMyZDRjYzYxIiwiMHgyRTNlNkI4ZDAxMTU2ODFGM2Y5N0M4ODQ3NTM4ODE4MmVlM0Q5ODAzIiwiMHg0RmRGRmNBMjg0NDg2MjgyNTE3RmNDMzEyMGQxMzMyNjZmYTJkM0NlIiwiMHgzMEQ0NWE1RDg0MjFiRDRDMDkxN2IwRjM0MDZmOTFEOUE3YzZGNTFiIiwiMHgzN2EwNDY0ZjhGNGMyMDdCNTQ4MjFmM0M3OTlBZmQzRDI2MkFhOTQ0IiwiMHhhNjgwZTdCOWZCNmIyNjQ0MzgzYmQ3NUIyMjg0MzkyRUUwNWUwYTFhIiwiMHhjOTRBNTdjMjQzMEU1NTJCNzlGOEFGMzE2NGVkM2I4NjI0ZDAwMWRlIiwiMHg2ZjFjM0UxQ2Y1NEE4MjkxOTQ4Zjc5NDU4QUI5MzAzQmE2MDgzQTNiIiwiMHhjQ0I1QTU5QzAxNEZjNGRGODBjQzc1Mjk3ODJiQWE5NzY4OTI0OTg4IiwiMHg4N2U5NWIzMjc2NjAyOWQwQmU3RjlDOTM5NjRFRGE3OTY4RjVjMTY0IiwiMHg1RTUwNWQ1NWQ5MzI0NTA2RkQxMUI5YTlhNzllRjE3NkFjNTJlQjVFIiwiMHg5MzY2QzZmMkI5QTVEODVkMUIwRjJEMEEwOWEyZTUxQWU0NmE0NGEwIiwiMHgwMDdhRjBlQmJFMDIwNDEwOTU4MjMwM2M5NkQ3MEIwYUNhNkU1OTIyIiwiMHhmQ0M4M0ExNDI4ZTE5OTJkYjA4ZmVmNDU4Mjg2OUU2ZDIzMmNhZUEyIiwiMHg2MDAzRWVjQjRjRWY1REFjZDVjODFiOUExQzJDMEU1MUQzQ0U1OWQ4IiwiMHg2ZTE0RUI5MjNFNzFiODM4RjU3OTFFNDk0N2FCQzkyZTNDN2M2NDlDIiwiMHg5MTg5MzY4QzhGNTgxOTlmNjEzYWI3MjI0OTg4MGYzZjJEYkUxOWIwIiwiMHgwMWM3ZDA0NzlDMzNCNzBDYTRDZWUxNDU5YzEyOTgxMzg1OTY3NjEwIiwiMHg0Nzg3OUY0MDk4ZGZlMDBGYkREN0U4NDZFOTg5NTJhMDg3QTYwYzE0IiwiMHgzNjRFNkQyNTZhNzg1OENFOUQwODg0MTIwODg1YzZBN2NmYjYxOWI5IiwiMHg4RDlCOWUyNWIyMDhDQUM1ODQxNWQ5MTU4OThjMmZmYTNBNTMwYWExIiwiMHhERTdEOTAxYjUyYTMwNDlCY2IwMDlhMTEzODZBZDQ5OGI5NDgwN0VFIiwiMHhiMmRlOTZlNjA3MDAxYzEzZWZDMzRhRDY1YzM1NjM5OUYzOENDNzBEIiwiMHhjMzg0N2E5MTAwMzRGMkUxMTE5NDBBOGMwZkIxQTkwOEQyODU4ZUVGIiwiMHhCOTREMjk2ZWRDNTMwYjIzODUzNzA3ZWE4Y2IxMDljNjA3NTBEMzcwIiwiMHhGMjRENzhBYWQwOUFiMDI2YUM1MjQyRTM0Qzk5MjAwZUVFMzUyOURiIiwiMHhhZjIwNkI0RDI0NDYxRDdEZjMwOEYwNDMyRmE5RTk3YTk1QWI4ZDg0IiwiMHhiNkUyMWQ2MWU1OTIwMzkwQTU0MDgxNzVmMkEwRjI4RjgwNEMyNGUyIiwiMHhGYWEzOTRDNEY0YWIwNmU2OEUxMTkwNzRGZEQwNTczZjcxZDQwMEM2IiwiMHg5NDJCZTllOGExMmNGQUFGOTk3Q2QyNjY0ODdFYWY4NTUzQjExOWQyIiwiMHhhQzZFZkMzODcyOWRiNTYzNUYyRDZEM2FiMzM3YTQ1OTgwOUU3YTlBIiwiMHhmZDJDQjk3YTI1ODU1RjI3YzlmNmZkRDQ1NzNjODQ5MTE5QTkwNjc5IiwiMHg4Mzg3MDYxNWNDN2IwZWY2QTE1QTI4ODVCMkRhMzgxZDYyZmVhMDE2IiwiMHgxQURjN0RhQzQ4QTY1NjU1MmIwOTRlQjc1RDA5RmIyOWI1ZGE5QWRlIiwiMHhBODk2ZjA0MWEyYjE4ZTU4RTdmQmM1MTNDZDM3MURlMTM0ODU5NkRlIiwiMHg4YzRBRDkwZTYyRjdEYkMxNzZlRDAzZWMyNmRjMzhFNThiNjQyRDA3IiwiMHg5QTU2ZjI0NTBhQ2VhNmY5MjEwNzIxMjc5MDBDMzQxNzA3ODFEMUNkIiwiMHg2Njk3NTMzZmVCQUVGOTY1NjljYzk4RGUxY2I2NEZEQTExODM2NmU5IiwiMHhDOGIyMTU2Njc0NTgzNGE2MDZmRDM2N2MxNTZENTE4ODEyRDlGZjBEIiwiMHhCMTU2MjQwMEZFQUE4NDljMzYzMTI3QmI4NDc2OTNDY0EwNUMxMDgwIiwiMHhhREQxNDNCM2IxZjYwMmZCMDcwMkZhYzAxY0YzQUZBQzE1NjA3RjMzIiwiMHhFM0M4N2IxRDFkN0JmMzAxNmM3OTVjMmJlNmYwMjNiNzVFY0I0ZkNBIiwiMHhjMzk2Q0M4QkFGNmUyM0QwMUI0ZEViOWM3YjM0ZUMwNjZiQUEzMmY0IiwiMHg0ZjQxNTg0ZTIxMTZDZDkzYzVBMzNmMmU5OEEwNUI4MzJjRkZiYzQyIiwiMHgwQWRjMjYxNEZFMTMxMTQyQkQ0MDQ4OEQ1MTc3NzI1YzM4NzhiYzJjIiwiMHgyNDE5QjkwRWJhODYyMzQxOThBMTVEZjMxQjZjNDJkNjc5NjhhRTk1IiwiMHhkNjg2OTVDQUQ1NTFGQzU5QUUzNjEyQzcxMTczQTIzQzVhZWE2MTcxIiwiMHgwNTE0ZEM5NWU0NTk4OThCYzQ2MDkwOTdFMGZhMDZkMkQ5M0U4MDExIiwiMHhBRkIzRGEyZmZlZThiMkYzNDE0YjZkYzcxMjcyYjFEQzU1NzJGNmM4IiwiMHg0ZDNENDc2MERkMGZhNGRCM0U0NTZmNTI4OEY2QmZiQzY0RTMxODdmIiwiMHg0REJhOTE3YkIxMzRiNzA0ODFjODZiOWQzZTE0RjFGOGRlZkUyZDkxIiwiMHgzMjEzOTY2RGVEMUJCYUQ1RTI5ZDUzNTdDQkE2RDMxY0VlMmY5NUJiIiwiMHhBZGRGMTlEODkzOTMyY0MxRjI2NTI2MDA5MDRhNThkNTkyNWZlOUU1IiwiMHhhMzU4MzcyRDJjNUNDZDdjMDc0MTQ1ODg3ZjFFMWRiMDZDMWUxQjg3IiwiMHgyMmRhQmYwMmE2ZmRkNTYzRTAwQmQ2RDRjZWQwMzUwRDkwNDg3MTkyIiwiMHg2MmJFNUU2OGQwRDA0MTM5MjVmRGY5ZUQzMmY2NDAxNjVFMjVjNjdlIiwiMHg3ODA0ZDgxYTUxYUZBYjdiOGY3MDE0NzNjQzMyODMzQ2UxY0Q0MTY3IiwiMHgxN0RhN0E1OWM4Q0I3QkY3OWIyQzM0ODZjYTI1ZkQzNkViZTNjMmQ4IiwiMHgxQjQ2M2U3Y0MyOGVBMjg3M2MwNjlmQTA4MDE1YzUwZTcwNzFGMUJGIiwiMHg1MDg4Nzk3MDA1RDhkNzZCNDVkODUwNTEzRTY5RUQ4YWU4OEZhZmFEIiwiMHhjYTY3MTgxODhhYmI3ZUE4NjFFZjc3M0UyQ0RmMzZBZmFhMkZjNTQwIiwiMHg0NjY3QTA2MjZhODkzY2QzZDJEQkJlYzc3YTBFQ0ZCNkE1MDYxMDFhIiwiMHgzNjgxQjVmMjAwMTY5RDU4REQzODNlM2NDNTgzNjJEZjRmODIwYzBiIiwiMHg1NzBDODA5MzIyNTczODNlNGQ5Rjk3Njc5ZTg0RjlENjc2NGIzYWRiIiwiMHgzYTVjOGEyMmY5QWU3OWM5RGZhREM4MzI5MjJlM0E0OTRjMkVmOTM3IiwiMHhCRTA1NzY2NkIzMzlENzQ4MGQ1N0I5NTFCNTJEMkMwNTNDMkU4MUJGIiwiMHg1MGUzRDUzYjRhMjJlOTRlZTFjRTVjM0E4NTJEOTRkMTQ1ZDU4NTJlIiwiMHgzQTFCNGY2RGNlNTg1ZUY0NjlhNURBQTczQTZFQjg3Y2UxM0U4NTlEIiwiMHhFOTAyMkMzYzg1RTc1QjhEMEFjOTY5YkI4M0E0NmI3RkEzNjFiOGRlIiwiMHgxMTJCMzc2OTE0ZjM5YWZFNTdDNzZFRjgwMjczNjNhMDA0QWFlZDFCIiwiMHg1MEU1RGQ1QkUzZjkzMjU2NjkwQWRjMTJFRjhFZEFiMWVCMTg2MTJkIiwiMHhGQzhkYkMyNDIyOTVkN2Y3ZUNFZDRhRDdjMzY4NTgyNjQ1Mjc5MzZFIiwiMHg1NDg3QkI1YzlmMGI4NDg3NUQyRmIwRjA5MDBhNTBBOTQyNTVBRmY5IiwiMHhiNzBhODliYTA0RURFYTYyYTYxRkFmOTcyRDVhNDhFYTMyQjU1NjdkIiwiMHgwNDc2MTJlNzk4QTI4MkIyYjk2NDY5RmJDOTg1QmU3Njk5N0FCYjllIiwiMHhkNTM1MzdlMzg2MEM0ZjZCMkU0N0JkZTMyYUVCMmIyYjM4MUM5NzczIiwiMHhBYWNkMzZjODc3NDA4ODI0RUU1OTU0MEIwQzA5MzgwNEQ3ZTlhN2Q5IiwiMHgwZGYzZDdjZDMzNTE4NUYyODkwNkQ5MzU5RjhEOUQ0Y2UyOTEwMUIxIiwiMHhlMEEwOGZEMTM2NmI1QjRDRjI1NmRCMWE4NUI2ZWIwRTAxQUFjYkNFIiwiMHgwQWQ4ODhkOTkwMDE0MGJhRjFBQmJkOTgzYjZEZTE1Njc3MzRkNjEyIiwiMHgwNEIzOGYzNjJFQTBlRDg5QjM2OTUyMzk5ZTc5MTZkNzBDYzU3ODhiIiwiMHhjQjdmNzhBMDc5QjVmQzM4N0M4MGI5M0JFNzlkNDAzMDlDMjdBMjM3IiwiMHhkNjlkZmI4QkJGOTM4QmQyZDJkNkIwOTI1MEY5QkUyZjhCQTA4RDMxIiwiMHhDNDAzM0NlMkQ1YTk0MEVCQ0NkNzNiODYyNjVFNjkxNDJhMERDYzY1IiwiMHhlMTFGMjgyYUJlRGFFQ2IzOTNBMzljMDRDNWIxZTIwNDA5ZDM5MDAwIiwiMHgxNjJjYjNBMDA1YzgxZEJkNjFGODViNkE4YzYwOTE4OWMwMjY3MzVjIiwiMHgwYTMzNjJlYUYyOGZFMmFmNjUyOTQyQWY2MmZFN2IxNDMwODNFN2VEIiwiMHhiMjcwRDY4QjA0MzI1QTdGNDNiOWIwQzdFN0VjQkJBMmE2MDA2ZWNGIiwiMHhlN2RCMTlFNTY1MGUzYWM4QWNDMzhCZDRFNTFFZDQ3NjhlY2QwM2JFIiwiMHhBYWVBMjNCODZEZDEwZGU1MzQzNTg5Q2NCZEMwNDdBNDBEQzIxMmE5IiwiMHgyOTU4QjUzZDc4MThjNDBGNjM3NzQwQ2IyMjJCNzZCMzNiMTY5NkRiIiwiMHhjMDdBMDU1OTZmNWRGNzM0YjdDOWI0MTM5ZjM1NEIxZjhhYThGNDUyIiwiMHgwMERFRGFBNkRlRjZhQjllODQ2NTc4OWI5MGMzZjgzNzUwQjAyQjk4IiwiMHgwMTE4MjUwMmVkOWQzODY5OWNDMzVlNTZEYmNiODhjNjU4RDhBQTMzIiwiMHgxODlDZGI5NjEyZDhmMzdBOUZDOUM2M0QzNWFjZWJmNmM3QjMxRDI0IiwiMHg2MGNlOURBMmMxZWM1ZkM5ODNjMzNGMzkwNDFBRDkxOUYxMDcyRWZFIiwiMHg4OUQ1OGQ5QzlkNTRiOTIwMzBmQ0RBNzJEMDVDN0QzQjIzMThBQzViIiwiMHg5OTVCZUNBRTg4QUQ0ZTBCNTMxRTM1NThEMUNCODg3ODkyZmY5N2Q4IiwiMHgyMTQyRDYwM0ZEQkUxM2JkMkQ3RDU2QzI3OWZhYUJBQUFjNjcxZDc3IiwiMHg5YmY2NDgxMDkxNWUxNkI3MjA2MTYwZTk0YTY5NjU2NTUxQURGOGUxIiwiMHhENTkzQzYwMURDOUY5NmIyNGZmN0Q5NGRkMGU0MjdEMkMxNjJGQUY4IiwiMHg2NjI5MWZENDc2YmU1MzllNEY4ZDgyMzAxMjNBM0U3NjQyRTQ2RmEwIiwiMHg1NzdFNTY1NTg5RTQwMmQzZTAyNmEyYmYzMjJDMDQxQjQyRjAwMjRiIiwiMHg0ODI3NjNCN0YzZjFEQjQyOTE5QmUxZTFEMjQ2NDhDYmZlNjYwNjdCIiwiMHg2MjFBQTA3OWVEZTI0ZUMxNkI1ODIyMTJhMzE3OUY3OEE2YWMyZGU0IiwiMHg0N2E3ZTNBQTM1NThmQzk3OGE0RDAwRTllQTM4MjFCNGE1YjlCY2E2IiwiMHg4MDMzNTZiZEMyMDkwNjIyNzI5NUZGN2MxOEMwMjI4MzgzMDM5RDRCIiwiMHgyOWNhQUYwMzhhMjkwOEI1MDExMjM4MGE5OGFBN0MzQzc0MGNEYjdlIiwiMHg0OTBCNUIyNDg5ZWVGQzQxMDZDNjk3NDNGNjU3ZTNjNEEyODcwYUM1IiwiMHgwMmQ2ZTZDMjlkMDAyYmRGOEY0YTZlZDkwYUFGQjk5N0UzOGI4NTUwIiwiMHhDYTI0NUYyMjI5NGE1MUJhNmI2NTMxQjc4RWY5OEY2NzhCNjgyMDkwIiwiMHgyMzRmMDZBOEE3QkQ4OUI4M0Q5RDZlOEU0RDIyMzdFNDYzYzMyZjE4IiwiMHgyZDBBMWM0NWNENmY3Q0RiNzE4NzAzZDA4OTdjODc3RUZjOWRCOUY3IiwiMHg0MjcwODVDZGI0YWZiNEVENzg0MGEzNjM3YTRlMDVDZDkxQ2Y2MWFFIiwiMHhCNDdiQzRCRjk0YTZBODY5MjE4YThlZmZkYzM0MjdiZTY2MjdCNTA1IiwiMHhkRDhDQkNmNjA0OUNFYTBhMUJDOThFQ2EzZGQyZmJDRmYyMUIzODM0IiwiMHhFNTI5NDIwOTI3MmM2MTQ5RDVDOTdDMDZjMzk0YmFiYzU1OGI0Y0U4IiwiMHgxOTg4YTJFMjRlNTI3NGZjYWI2NGMxZGY3OWQwMjE5MjAzNEJGM0ZjIiwiMHhhODAyMDdkMTVkRDkyMmRDNEJiMTc3Njg5NzE4ZTMyMTFCOUJkNWE2IiwiMHgzNTY0MGQ0NTU4OTM5NkFBQTVFMzM2NDAyMjNCNjgxOTFkMzZFN0MxIiwiMHg0NjhlOUY3ZDE5NWU1NDI4NkRkMzA3YjgzMWNmRDczQmZhMjQyODBhIiwiMHgyYzA5YmMzMTliQUZBZTQxYzRkMjA2MEVmNkQ2Njg3RTc4N2M4NDNkIiwiMHg2RDZFZDAxYkE2NkJFRjg3NGY2NzdkZEYyMDQ5ZTNhZDcxNjY5MkE2IiwiMHg3RjZBQTI1ZjA2RTM0OUI4YjNjMTg2MjNlNTAxODM4RmY0QzBmMDdGIiwiMHgzMjYyNjEyMEY3ODIzRmNiRjQ5MWYyODJiODJjMmM4RTNENzgzNDliIiwiMHgyNzY0MzQ5OUU2OTEwQjEyM0UwN2IzOTBEOUM0MzUzNzIxMTczMzk0IiwiMHgxN0ZiQmE3Mzg4MzAyRjgzNUJhMmRFZDhEMThiNTI0OGQwQWQzRDQ1IiwiMHg1OEY2MTJmNTMxOTRFQzA5MWU4N2FhYjhBODM2QjE5M2UxMjMxMTlBIiwiMHhEN2JhMzNBNjZhNTFGYjZkMDFCNDg4ZGYxNjgyREZDQzM4YzhEMDVGIiwiMHhlN0VhQmY2NDI1NTVEYUU5MDlmZTJhQWY3MzgzN0JmMTBFNTk4MGEwIiwiMHg4QTkzZUFCOTk4OUE2NDViQjRjMzhkN0ZmYTI3QjQyYWNlN2M1QjIyIiwiMHhCMDliOGNCN2U2NkRjMDg0ZTk3Q2U3MDZDY2VhZGM4M2RCMzc4MjQ2IiwiMHhiODVCMWI0ZDk3YzI0MzBjNTg5M2I3NEI5NERjNzUxNzA2NzdhN0NFIiwiMHhCYzM3YjhCOWJDMWQ4RDBiNmIzYTMxNDQ2RTA1OWIxNUNBREVhM2UzIiwiMHg4QzNjNTI2MjdDNjY4NEQzOTc1RUE1MWJlZTc0QjlFYUI0OGU0ODBhIiwiMHg1NWRCMUNhODdDQjhmMGU2QWFFYTQ0QmVFNUU2RGNFNUI3MkRBOWMwIiwiMHgwNUIxYUQ3ODUwMUNGOUI2OUNBNmI3Njg2NjRFNDE3NzIwM2VCRmMxIiwiMHg0OTgzRmMyMjAxOTE1OTlkY0JhY0NlMWUwN2JmODEyQzYwZjc3M2VhIiwiMHg0QjdGNGMxMjhBYWUzOTYyMWZDRTg3MDBFOTU4NTU1RTcxNmNBRTQ3IiwiMHg2OTdiQjVFNUU3YTAyOGI3NDhFQkY5QzBlNGI3MTI4RTBjZTYwNTU5IiwiMHhFMzBEQTNBNDYzZWY0MzdBNTBEMkM1YjU2MDk3NEU2NzVCMkE4MGY5IiwiMHgzYTYxQTRhQkUyQmE3MGJiOUI1NjQ0MUQ0REIxN2U1MzVEQmEzMkFFIiwiMHgzM0YwRjExZDA5MWUxNjAyRjY0NWE2RTM1MTMyZTY5RWY0N0ZmZDVkIiwiMHgwYjk0NDIwYThENDU4MmEyMEE4QUQ3NzQxMDFCOTgxNEFkZURjRTcyIiwiMHgwQjU1YTk5Mzc2MjhCNEJiN2MyZjQ3NjA2ZTE2MUJjQTZjMkE1NmNlIiwiMHg1RGIwMTMwNjc3MjJlMGIyM2QyYzFCMEIwQjdEOTlhN0I2ZWI3OWUxIiwiMHg4RTUwMjBFMkE5QjI5YmY3RDdGODRDMjU3QzQ1NDZGNzFlOTcwMzE4IiwiMHgzRWVmNEEzNjNFMUY2M0ZENTAxOTRGQzI0QzM1M2U2MzQ1Yjk2NkRhIiwiMHhjRTI2QTY1RTdBZDhDMjQ1ODk0MTBFMzM0OEY0MzkyNjM1Q2U0MTcyIiwiMHgwYjQ4NzUxN2M4YzVjYWU5QzdkMjhEMzA5OTkwNzEzMGE2Y0NCNDBFIiwiMHg5QzJGYWU4NGZFNEEwOWI3YTc1QWE2N0U5MzY1QTQxZEU0YjY4NTkxIiwiMHhBNzBkNDU4QTRkOUJjMGU2NTcxNTY1ZmFlZTE4YTQ4ZEE1YzBENTkzIiwiMHg3YURmMkY0QjZkZDdCMDA3N2Q4OENCOEREMmM4Y2Q5MDVEQzdjMTgzIiwiMHhlOWQ5Mzg5NjJGNkVFNDdmODk5QjY2NjU3OTc4NzYyM0MxMzIwYjFDIiwiMHgyNkEyZGIzZUE3NUZDZTRDQzc4NjRDNjlFQ0QzMzk3RTg2NDc2NGJlIiwiMHhFNWMxRjAzMjYyOGQxRDk4ODlhMDU2MjQ4NTcyMjk2NUFDODM2OTZEIiwiMHg1RGI2YWJmMDhjMjAwNGZlNkI4ODc3NEQ2YTllNjFFNkYxZjg2Rjg1IiwiMHgxNTQxQ0I5OGEzMkEyYmFDNzAwMDc0ZTFhOGUxMTlGOGQ0OTdlNTEzIiwiMHhBYTljNUUwNTMyQ2IzMmRCNjI5RDkyNEZlMkQ4ZGExRThhZDNCOEFDIiwiMHgxNDQyN0Q3OUEzZTBBOWMyZmU1MjJDNTQ2MTBhNEFmNUQxRTc2NDU0IiwiMHgyMGM5MjA1ODM1NEJDNjA4RTBCMkE4QjdlMTVGMTg2NTYwRkMyQkY0IiwiMHg3Mzk2QWJhZjg5OTFGZEVkNmU4NzYwQjI2Zjc2ZjMxZDUyNThlN0ZEIiwiMHg0NDhjZkY2MDU3NkU2MDYwMzI3OEZlMDAwQzhjMzk1NUI0YzU0OTI0IiwiMHg3NEYxN0NEYjEwOWYyMTJBZjExQTIyODZEOEFDMzRkRDM1OTk0ZjIwIiwiMHgzOWI5ZjY4NzA4RTg3QzM4QkE3ZUVFNzZBODFmYjk1MmQ4MzE2MDVjIiwiMHhDRTVBNkQzODY4MjkzZDljYzYzN2NFODFEY2Q1ZTI0YTM4OGY3MzdiIiwiMHgxMEI2MDFBMzY0N2RhMGM2ZTA4ZTY2MGNhMTAwODZhNTQwZWFhMDhiIiwiMHg5Mjc0MDE5OUQ5MGZFNjE2MTJmZmZCMDFmQ0U3NzJhZjZhYTBCMWNEIiwiMHgwMjlhN0NjNkRhRGJiYzEyOUFhNmM3NzcxQTU0MDU1MDQyYTRGOTM2IiwiMHgwNEUxZkQ0YkU1MDg3MzI5Yzg0MUUxNmNBQjBmOGNFZTc2RmI4QjA3IiwiMHg1MDAwQ0E3NGU3NTVFZjdiNkUwQTE0NDc0YTM0ODBhQkZFNDkzMmZkIiwiMHg1Q2FjZDM5MzQyZjYxNDQ3NmExNjEwYzY2MTQ0NTczQTBjODc1NjUyIiwiMHgyRUY1OThjODU2MTAyNEJlZDg2NTZhOWY2MmRhZTViQTNDMDRmNjRhIiwiMHgyNTk3Y2U0NmZhMjc3MDZjMDg1RTFBQUNGQzZCNzgzMjgwY0MzRjhiIiwiMHgyZDNmRGRiMjUwYWE5OTVlYTFiZTNiNjc2MDcyZmU2OGM2MGIwZjI1IiwiMHgwM2UwMDg4MDRDNUJmNzBFMjBiNWEwYjcyMzNDRjI2ODdjY2QyQTk2IiwiMHgwYjRFQ2E0OTIxRkM5ODU5MzI0MjRjMjA5YzZDYTAyNDU2ZThEMDJmIiwiMHhjMjk4NjFmRjU5QWIxNWMzODBmNTQxYTU1Y0JBYzE0MDE2QThCMUVkIiwiMHhDM0FFNDNGNmI0OWI3NDg5NDhhOEQ0MWRFM0JDQzYwZUQwOTZGYjhDIiwiMHhkNjFlMzEzNTk4NjEyRTFiQzIxNzBlRjI2OERDNUM4MDlkMzZlNDI2IiwiMHhFODVEZWY2MTk2QjUyRDQ2ZkIzZmE4MmMzMDBDYjdkQzVhNkI2MDBkIiwiMHhmMGRhODlmRjQ3Njc1NTcwQTQyRTY0MGZjNDVhMDhhM2YxQ2VlMDJBIiwiMHhjZjljNzUxNzFjOUIxOTNhMTQ5MzkwNWYwZTZlNEU5ZjU2MTI3ZDg5IiwiMHg5RDZFMjBGRDU2ODM4M0U3ZUE4QzFkZjMyMDNlMGI0ZjUzRjI2ODVGIiwiMHg3OUNEYTliMzBBRDY3NzVBYTUwQTc2ZGFiMjM3MWRBN2NiMUUzNzEwIiwiMHhhNmIwOGM5ODBlOTU0ZmQ3NjkxZmJEZGIxMjNBMTAwNDY4NzMxRUYzIiwiMHg2RjQ3OTVFOEE1NjY5YWI4ZDY5Zjc5ZmIyN0I0NkUwNjlmNjYxOUFBIiwiMHg1ODREN0FkNDJCRDBlZGNlMDUyMzc4RkFmOTI4Rjk3ZjEyQTU2NzI0IiwiMHg3ZTg4OWI1MzA2MTJCQzU0ZTk3NDM2YTk4MDlGODI1ODk0NEM5QUM1IiwiMHhkZkQ4MDIwQ0MzRUEzMjU0QzQxY2U4MTEyNkUxZUNiMEQzOTM3RjNDIiwiMHg5NTMzN2Y1Mzc2NTc0NDU2NUNmOUNmMDE3NGQ4NzBkMGJhMzFiOTgwIiwiMHgwYzU2NmJkRTliYzI5RDlmMzVlMDA1OTYwNjI3N0VhQTgyRTFFNzlDIiwiMHgyNzFhODA5NTIyRmQ0Y0YxYTMzNDBiN2MzNzY4NzZBOUYyZTMyMjRFIiwiMHgxZDY5NzM3RmJGNTJiYzRlMkE2MTUxMEIyOTM3NzRlMjIwOTlEMDQ2IiwiMHg1RTY0Q0Q2Zjg0RDBlRTJBZDJhODRDYWRDNDY0MTg0ZTM2Mjc0RTBjIiwiMHhGM2E0YjUyYkYwZDFmQ2I4QTgxMTIzRjQ0OTMzRWRiYzM1YWY0RGEwIiwiMHg1NkVEMDA5YURENTIzZjA3MEZkMDc0NjhFRDFiNDZFMWEzQTU4RmZmIiwiMHgwQzRhNjhDZjY4NTdjYzc2RkU5NDZkMDRGZTg1ZmFDNWZhRTk2MjVFIiwiMHhCOTVENGIyQUY3RUZCZDg2M0ZmMUU0NjM2NGZkNzZERjA5Yzg0ZjMwIiwiMHg1QTExYjY5Nzc2N0VBQjdDNjk0ODYxOUYzNzU0OTFFMmY3RDBCOTlDIiwiMHg0ZkFlMTI5ZDA5MTg4MDNiQTNGYjJhM2RCNDUxY2UyZjFjOGQ1Q0QyIiwiMHhmZEMwYTYzNmNkYzU4YUE5MDNFOTk4MTFERDcwQ0JkQmQxZmNBNUI2IiwiMHhiQkYyOGE5Q2VEY0M5YkIxMTQzMzE4OTI0RTJhOTY5NzE5ZGQ4MTY2IiwiMHg0MjAxOEEyRmY4OWI2RDY2MmI1Rjc0NjI3N2JEMDJGMGQ4NUY0ODVBIiwiMHgwN0M4NUM2Q2FGNTlBZGM4YTg1MDg2NUNDODY5OURjQjc3RmQ2ODU5IiwiMHhjY0M2MjU5MTVBMDY2OTUyNDcxNGRFRDIyM2RkZWJhOGMyN0U2MWIyIiwiMHg5NTJDNzlEOEQ2NWJmMDIyZjNkYjE0QUQ1QUI0ODk3ZDdhYWM1NDhFIiwiMHgzMzhCMkM2ZDA1MkVGZUJjMWUzOEI1NTNBMWQ3NjM5RTkxRkY5MkM0IiwiMHhEODBjNmJmNTI4MTg2ZTdCMWIyQzg3YjNiNDkzRmIwRjk1YkM2OTJBIiwiMHg1QkY0MjZGMDE4NmRDQzYyYzhhN0JFY0U1QWU0ZWViOGE1MDQ3MjIxIiwiMHg1ZUQ3ZWI1NzZBRGVBMDU3NjZmOTUwYTQ5NTM5M2M0NGFGODE1QUViIiwiMHhkMDI3Yzc0QWRkYUU3YzUyNTJDOWFGNDZlMmE3MkQ5RUEzOTY5ODlEIiwiMHg1MDhhNkJEMzZkNjVlREU3RTY2NUMzOUI2MTBkNzJmMjc5MTEwOTExIiwiMHg4ZGNFNWQ5RWQ5ZmExNDc1NDRiZTYyYkRmMGUwZjU3NTUyOEI0MjcyIiwiMHg0NDliMDNGOTE0MmNFNUI2NDJlZTQ0YWE4YTdlRDRlNEQ2MjAwNGY3IiwiMHhiOTI1MDZiMWE3RTJhRmIyYjgzODkzOTdlNUQzN0NGM0UwN2E3ZjNhIiwiMHg1OTMxNzdGOEU0RkU3NGU0MTRBODI1NUE1MTg5NTFENEVBMTAxQmEzIiwiMHhBZWU3OTBiMkUzRThFRkE3RmE5MDA0Q2MyMDYxRTA5MTFBYjFmQTU2IiwiMHgyNThhMUNkYTczODNjMjI4QzY5ODc3MmUwMTdDZGM5YWQzZmIwMDQyIiwiMHgyQ2Y3YTJhNjM5ZDlCMjdiZTUzZjhjOTNhQjZBZThiOTBmMWE5NTkxIiwiMHgxRDMzYjI0OUQ3RUJmMjM5QTU3M2FmODZFOWE1YzBGRUY2MjM4NjQ3IiwiMHgxNTdlNEMxYzY3MjdhRWZDMTMyZjk5MmM3RjFmMzI1N0IzNDZDZGVCIiwiMHgyZDNhQzA5NWU5QWFERUFCZDdiM0QzOTBjMDFjNkNGZThkNTYyMzUwIiwiMHhBYjZiYjRCMmM0Mzk4YTZCOTIyMjM1NTUzMGJiMTNBQjIwOURlOTI3IiwiMHhkMDMyQWE4ZTNhMDEzMzZBQjI3M0E4MkNjQzVhOTJFRTZiMDFlQWM4IiwiMHgzRjdCZkZCNkJDNTMyOTBGNTQ4ZTY5OWQzMjliNDc3OUUwMjM3YTk0IiwiMHhFNDcwRjRCMDM1MDdBNDE2RDU5YkIzQkZmQmFEYmREN2M2NTQ1ZDZlIiwiMHgyQjgyNGUzOWYxOUZiN2NhOTg4Y2JCQzcwNkIyNjhFNDk2MzkyOTNCIiwiMHgxZjQ2ZjU1ZTQxMmRDY0JEQkNCOTQyQUQyYTUzMkY0NjM0ZTlhMUI2IiwiMHgzZDI4MTZhRjVBNmEwQWM5YzYyZmI5YmI1MWEwMzcyM2Q2RUM0YzM2IiwiMHg5OEI2NzI0MTIwRTlCNzRiNDAwOUYwMjIzNjc0MDI0ZDM5QTU1RjcwIiwiMHgzMTUzMWZjNzkzYTYwNWNGYURkNTI3YjUyRDVkNTBlMTUxOGE0MjlEIiwiMHhmN2MyOEQwQjk1MzJCODhFMjEyREQ5NThEMTcwMkFGNDcyMjVkM0VDIiwiMHhEODAxMDBFMjYyRWU3YzNCN2Y1QzZhNzUzNzU2NDZkMERCMDEyNzM2IiwiMHg2MjZGNkI4NTc4NTIzMThiQTM1MTc5MWViMkU1NjBEODQ3OTFiNTkzIiwiMHg5NjViOUY5MTcxNWEwNDliOEYzMDlFMWJBNzFlNjQ1RjJhQjhFODMwIiwiMHhBNTNmQ2I1OUQ5MjQyNzEzMEM0NWRiNUI3NUJhZkVmMDlmZEVBQWFGIiwiMHg0MDM5NmU3NzFERWRCNjgwQjVmMzM0MUNiODkzRjc5N2I4MDAwMjJkIiwiMHgxNzEzNDBiRTBEOTJmZUQ5QUVGOUZEOUNhZUZBY2MzQmVDMDhFRTVFIiwiMHg0NzBjOTVjMjUzYjRjNWFBMDcyMkY2QjIzMjIzZUQyOGYxRTZCMTlBIiwiMHg5QTIxMTRCNzBCODg1NWQ2RTkxOEJhN2RhNTcwNjQwNzdjNTFERUVlIiwiMHg1MzMyZDM1MUIxNDU4NkM3ODJDZDEwM2ZBQmYyNjE3YURlOWUwNzhEIiwiMHgzQTE0M0EzOTIwNkExN0E1ODRmOWFkZjBFYzIwNTZmODNmOWMxRDBDIiwiMHg2MzE5NjA2MGY3NmU5NDFFNzJiMzY0QTU1MTdhNTRkQzA3RDNlMEVkIiwiMHg5N0E3QjA4ZjM3RGU2NzdlQTA5RDlCNjEzY0FENWZFY2VkNmYyNjZDIiwiMHg5ZjFmNTY5NDQwMTZhNDIwMDFBYjJkZjBBMTZkMWYwOTA3NzA4ZjJCIiwiMHhBNEE2YWQ5MTg1MkJGQjY2Mjk2ZDFEZjA2RGMyNUZDNmM2QTkyMjg1IiwiMHhkYzdkOGNDM2EyMkZFMGVDNjk3NzBFMDI5MzFmNDM0NTFiN0I5NzVlIiwiMHhjQ2IzNUFCZDRBYjU2NTYwY0IxZTQ0MTQ2YTVFOGY5ODAwODFjOEIzIiwiMHgzNzIzQjY3NjNBZUEwOWZlMkFEMWIzMjllNDhkMzhhM0Y2MzkxNmM3IiwiMHhjMWE3ODI2QTNDOUYzZjY0ODQ0ZTA4RjQzMGY0OEI4YzQ1OGM1NURDIiwiMHgzM0EzQjFlNTNjOUE3NWI2Mjk5NEYxM0JFZDVlMkFGMERGOTc0OUFGIiwiMHhjMkE4MjA5NDRjRDgzQ2ZlQjYwNEQ3NzFlYkM0NjA2MkQ0OUUzMUVlIiwiMHg1OGY1MzQ5OEM1ODM0NDEyNDEzREM3MUNmZmQ1REQwNGE4RDE4MDFjIiwiMHgzNDQ4NjlDYzlGMDI3OTNCN2ExQ2NFY0M3OEJCRTQwNTBERGUyNjY0IiwiMHhEMEI3OEZmNkRGQkI2ODAzNzhFOEQ4OWRGNENhOUJFYTcyQUZkNzc0IiwiMHgxMkIwNzMzMkJiYTkxNUE1OTQ4NzQ4RDk2RjFEZWVDMEY0YTQwQTAyIiwiMHhmM2FDYjQ1ZjlhNjc1Yjk4YTZlNzM2Njk4NUREN0JEMWRjYTUyMmM4IiwiMHg0RjI2NTlGZEQzZGRmNGQzRDAxN2ZiNDY1MTAzNkU4OEQxRjJGQTExIiwiMHg0ZWNBODFFODBjNzNBM2UyQzNEM0JlOGZGNDgzRTU4MjQzRTM3NzIxIiwiMHg3OTRmYzY4MjE1YjkwNUY2ZDczMzFmM2QwY0MwNDk4Q2ExNkVlZDAyIiwiMHg3QTcxMDlDYTIxYzdlNDE5ZDg4NzFGRWVFMDhDNjMxRDUxQ2VkNjQwIiwiMHhmZDVBRUUyNkRjN0U3NTIzNjVCNzgzRjZjRTUyOTJjNWFDRGMxM2ViIiwiMHgyNUM4NkY0OTRmODlDNGY5MDU4MDU5QjQ2RDhkOGQ2NTQ4ZTc1NDNiIiwiMHhDODRkRDkyODZkMDU2OTU3NTRiMDIwMTc2Y0YyNjdlMDdhZjljOGUwIiwiMHg4Yzk0MDkxMDQ4NGJjOTA2QzExNmY0NmQxNDI3QkEzMDNiYmRGNTEzIiwiMHhENWE5MWZBMTU2NDEwRTUzZWY3YTVDMmNDNDU0RDQ2RjI4M0IzQkY0IiwiMHhCMTk4RWI1RTk3MjVmQjc2QmEyRUY4YjE5Mzc0QTg4OTRGQ0VDRERmIiwiMHg3QmUyNTU0MzFGRERCNjAwYmQ3NDkwMDMyZjUyNGY2NzE1MDQwMzUxIiwiMHhCYkU1NTU1ZTY2MjU3M2VFRENjNTJjRDZlMDlDNWU1Y2FlZmQ0OTUxIiwiMHhBOTZjMzAyQzFFMDdFMjkwN2VjNEU1RjUxMjdGNTQxMzgwODQxMzY3IiwiMHgwMDY2NmM0OGQzMEY3RGI1MDYxOEYwZTZENzRhYkRjYzJmRjEyM2YxIiwiMHg0YTY3Mzk0YjllNkE1ODJEMjdDMjQ3ODYyNGJENjBmNzIwQzg5NjRhIiwiMHgzNTFkNkQwZTEzZUJGODdiQzkwMzg1MmNFRDA1MjdmMDA5QzQxNUE0IiwiMHgyMjA2YzAxZmQyOTdkNDc0NTU1QUM1NjhCOWUzN0Q0NTYzNTZiMzAwIiwiMHhEMEEyNDBCMDRjNDI5ZTVhZjMwQmUxYUViMkIxRDhEODVDY2EwNUQ1IiwiMHgyYTEwNzU0ZDVjMjg1NjVCOWFGMDk3NzZFRmZjN2RkZEM2MTljMEUyIiwiMHhBNDM5RDU0YTY1RWNFQjVEQUY3Nzc0MDg4NUU0NDY4QzE4NjMwMmJDIiwiMHhkOWU4NDY5N2VkOUZGRDg2MzAwY2I3NEMxODFhNDY1MUZhYkE4MWEzIiwiMHg0ODlCM0E5NWUxQjBBQTBBRjVkRjNmOERBQjQ0MGJDYTVkZjBmQUUyIiwiMHg4MDNjOTE4NTA1NDYwMzU1RDcwQjg0ZDYyZTZmRWUwNjgyOTU4RTM0IiwiMHg3OUQ0MkZkNzlCRTk3ZjFjNDBDZDlCY0RBNWI4M0MwQkNDODFDRTI0IiwiMHgxN0ZCMTBGMzRDMTZlQTJBZDJDMkQ0OGRBNGNlQTE3NDdDODIxNTgwIiwiMHhjQTlCNTUzZDlmOGNDRDlENmFkNTQ2NzA3ZjFFQzNCOTE1MDI5MmIxIiwiMHgwYzcwYjkwMWE1OWQ5MjVmM0IwMDIwNkVGQzAwM2Y0M2JDYzllNDE2IiwiMHhBYjMwMDFjZTMxRGY0NDk4OEM4MDk0YUE2QWYzYzFhOEE2MGQzZTEyIiwiMHg1YjFGZmQwRTY3QUViMGQ5NzFhZTM1NDllRjI3RTg4OTQ5MzlDRGM1IiwiMHg5ZjcwODU3NjAzOGQyNzAyQ0U0NWYyNkQ5MTIzNDREMDhGRTFhQzJBIiwiMHg2MzZENjEyNDEwMGZiMjI5MDQ0MzI0NmY1OGFlOGI4OGVBMkZDMGJBIiwiMHg4NkM3Zjg1Yzc1Q2I0NkRENUQ2RTMxYTQ3ZDlCMDk3OWQyM2U3NEQ3IiwiMHhEMUE3NkE5MjM2ODc4OThlMDRmNTZFN0Y1Mjg1NTU3QmQzYzFlMTM2IiwiMHg1OGQ1NjE2MzI2RkIyNGVFOWNDRjAwRGEyMDM2YTIwMTI4RjlDMzRhIiwiMHgyN2ZhNjczMDJDNTEzRjU1MTJiYmZhNTA2NTgwMGMyZDdCMzg3MUY0IiwiMHg2RDQ2ODQ5ZTg4YzJFQjExMzk0YThCMDY3RTQ2MWI1ODNmNjI2Q0Y1IiwiMHg2MjUxMEI1QzQwZmUzQjA0OTU5ZWI4ZTY3NjZGZTgzOWY0NGVBOTZiIiwiMHg1MDI5NWUxREU4OGQwMTA0NzYxQjYzRWFlMTlmNGVhRGYxNDNCN0MwIiwiMHhiQzY0NTREZEI4ODk2QzU1ZGJiNmY0MmQyMUUwYWI2YzZFOUU1ODQ1IiwiMHg4NjZBQTM3ZjkyODdEOGY5OWY0NEJkRGU5MEI1OEIwRDExNThCZTkwIiwiMHhhNTQ3NTM1OUVkQmVlNkZFRTE2MzY4QzMxZUM4NTMyQWY1Yjc5OTNjIiwiMHg3RGFDMjQ2Mjk5OUEwNDRlYUFFYTg3OWY3YjA2MzUxRDQwRDFmNDMxIiwiMHg2RDc0NDQzYmIyZDUwNzg1OTg5YTcyMTJlQmZkM2E4ZGJBQkQxRjYwIiwiMHgxNjcyRjk4ZjVmZjdhMTMxRmMzNjU5ZkQyMGJiQWZEMTQyNWZmYzEzIiwiMHg1RGY1RjM1MTM3MEU4ZDdhRjgyNDIyOTVmRjREMGRBMjkzOTZEMzM1IiwiMHhkOTA1ODc1MjUzZDliMjJjMWNGNGNiMWYxNzJCNDgxMDVlMGZhNTM5IiwiMHg0NzFmQkQwNzI4NTI5ZjhDMDk5YjUyMzQ2YzA1NTc3ZERhNTYzM0Y2IiwiMHhiN2IzOTZDMjFGOTkwQ0QwOGJERkVGMmFmNEI2NTlCZmU4NzYyRDQwIiwiMHgzYTA1M0NmY2I1RDIzQmM5OTNDQ2YyQjc2MDhFRmY2Rjk3NGY3YjA4IiwiMHhlNWVERWVmNzk1QTRBYzdlRjQ3N2NCMzA2OGY1ZTVkMTI3ODhCNkNiIiwiMHhDMTEyNWZFQTVBZjJiN2Y3QUFhMDZkNzBCMzk2MEM1ZGQ5N0M2OTI2IiwiMHhlMTdFNUQyMkYyODU4MTg5NjY2NDY3RGJjMjQ3OEIzQUIyMzBjOGFiIiwiMHhDYzlCZDM4RTNkNDAzRjExQzJCRkJCYjVCNjhjN0EzMjY1YzU2MkUyIiwiMHgxZTlhMTM2NzczNUQ2MGE5YUU2NTIwNkU1OEVFNEY0YkY4NzEwNTVBIiwiMHg4ZTBlOWYxRGExN0Y4NTZFYmI2QWIyMkYyMDREZEZiNTg1NDEyQmQ0IiwiMHg3NzdjMGJFNDJCNDREYTMxYzI3MDhCRDYxNGE3ODEyNTM4OTQ2M2FjIiwiMHg1Q0I2MjJjMjFBRTMzNUU3QkFBRUE3NjM4Y0UwOTdCM0QxNzJiODI3IiwiMHhlNDI0MzQzNmUxOWMxZDA1QThCQTdDRDYxMzJGMkNEODViZDE0ZjIyIiwiMHhkRUFkM2I1QmMzMzNmNTUzQzQ0MDViMDRBMTQ0QjliRDlhQzFEQ2RhIiwiMHg3MkRkNTA2NjZGNGUxMDg2ZGRjQUZEMGMzNjRBRmJCZDFkODcyM0YxIiwiMHgzZDI1Mzc4NEMzODk5MkQyN2E2Mzc2NTkzMDI4RDI3QkNlQTY0MzU1IiwiMHg3Y2QxZkIzMUFGZDBDNzMxMThBYjI5Mzg3NWY0YTMxMUU2NmUzRTM2IiwiMHgwODdhYjk5NzQ5ODE1NzAyYzk1MkRDQTQ5MTQzQWM1MTE0MjlmYWU0IiwiMHg4Q0NGYkJjZEVCN2M5YkI2MkU1NDVBMjBhM0I0M2IwNUEwNEUzNjgyIiwiMHgwNkE2NTYxNkFFQzU2NEEwYWNBQTdDM2M0OTljRDYzRmQ0NWRkY2FjIiwiMHhFNGUxYzNiODU5ODVCNDU5N0U3QjdmZWIwNENCNDU0MTA3OTc2ZTAzIiwiMHhDRTRjYjRiZGYzMzVhMkZkMzlFZmQ4NkU5MUEzQjJjODYxODA5QkFkIiwiMHhkOENGNTMyYTI5RmQ0MzViOEUxM0FGZWQyMjhiQmYyNzY0YTkxMDAzIiwiMHgwNDIxOTM0MzdiZUMzNDdjMzJGQTY4OWMxYTBiYjQ5QWNiNjk2Yjk5IiwiMHg3ZjQzM2Y1OGVBMzJFNTE0NDI4YzFDMEUyODQ4QTE2YUYxMGU1M0M5IiwiMHg1MjNhMzZBRDczQzQwMmU0NTZGNDlCMDRGMGZlOGVCQTVBOEM4NUNEIiwiMHg3ODc1OTYyNTIyQUFiMzIyMjNCZjQ1MjJjZTg1QTIyZTJiODNFMTk3IiwiMHgwRjVhQ0Q5MzU4QzU2MTkxMzQ2MGQ5NkIyYmYxMmJmODQ0YUU1RjNmIiwiMHgwMWM5MTM3NGE5ZmUzNjAyRDg4YzIyMDY5NzA0RGYyZUM4NzAwMDBFIiwiMHg2MzJBNjQzMTNGN0RiMjYwNzg1NTA4NjRlMzNDMkZCODE5NjMxYTRFIiwiMHg0N0VlYTE5M0NhMUVhMzJGRGY3MkFkQTYyOWRkYzI0OUU0NTc4YTYxIiwiMHhlNTRFNWNmNkIyNUUwQkQ5QjAwZEE5N2YzNWI3YUMxRTBkYzg4RjQxIiwiMHgwREUwRmE5MWI2RGJhQjhjODUwM2FBQTJEMURGYTkxYTE5MmNCMTQ5IiwiMHhCMkM4QjFCMGUyN2U3NGY3MDM0NWJjYTg2N2M0MTZiZDQxODg1NTgxIiwiMHgwY0EyNmQ0ZDgyOEU2NjliQkM0ZDY5NDhGNTYyMTBFMjhBNzZCQzc5IiwiMHg5OTI2Mjg1MzYxQUNmNzQ2MTEwNUI0NjRBZTlFQTY4M0RGQjA2YjgzIiwiMHhEMDNlNGRjMUU5MDM1YzYwZDgyZGE1QzAxMzIzM2ExOWQ0QTAwNENiIiwiMHgxOTk5NTRFZUQ0ZDM3M2YwY2JDQThjMDQwZTFjODViOWE1Qjk4MDZEIiwiMHhBQjViOWYwYTlFNjdlOGE1ZDkwNUUyYzNkNzkyNGM1NzhEMzQzRkE5IiwiMHhDMjA4YWE1NEVkMWMwYzg0QzM3ZmFCRWUxYmJFMTgwNDM3OTEzNDBDIiwiMHhhYTJDNjgzOUVGRjllN2YxMjM3RUQ1NWU1NUI0NzQ3QTRmMDVjQTAyIiwiMHhkMmZCNkU5MzFFNDQzOTg1Nzc5MkFjOTU2OEUxYjU1QUI1MDg1QzFkIiwiMHg1N2I5YTEzMzJCNzY5NTUxM2FhZmQwNkU1Q2IzRTk1QTM5MzA3NzNGIiwiMHhBMGQwNkJkQzMyNzQ1NjRkZGRhNjVCRkFiNkFFNjFlNWYwMDBFNDlCIiwiMHhhMGFlNDM2OTVhODk2NGJlODBDNWE1OUQ0OTM1YzFBQzUyMDRlOTQ2IiwiMHhBNkNmOTA0YmViMTk0Q0JlMUI3QTUzMDBmNkUzRjJlZWJEZDczQjQzIiwiMHgwOEZkMTYwMUIxNzg4OTEyOEQyZDc4OUY5Zjg5MDFmNDIyN2VjNmEwIiwiMHg1ZThFYzUyMDc1RDkzMjczOTY0NjU3NDJhOUE2M2ZGMjkwRDc0MEI2IiwiMHhkMDlERWIyNUU2ZUY3NDNhOTk2QjEzMjc4NzE2NjkyRmM0N0ZCYTEyIiwiMHg1QkU1N2Q5MGM2YkE4NzEzMGQyMUE2MjYwOTJiMkM2NDE5ZTk4MDVFIiwiMHg2YTkwQ0JDOGYwMUFlQTZFMDhFNDUxZjk2YmE1OUFBNEU4QWQzNTZFIiwiMHhkRDQ1RjY5NjA2ODVBNUVEZUYwMGQxMjE4NDQ1ZTdBMjQ4RmIzM2IxIiwiMHg2NmRDOTQ3OWFCOTM2RjYxQzk2QTI0ZDBkYjAzMmFkYkIxMTc2OTE5IiwiMHgxRDM5MTU0MWY3ODg3RDQ2MzAyYTg2RTc1N2NiODJENEFFRDM3Mjg2IiwiMHgxRkUwZTUyNEQ5MTZhMGMwMmNkQjU3ZjhENkQ2OWE1ODM2NDY2ZjUwIiwiMHgxZThCODc3NDVGMjdiNGZlQmNjNkQ0NjFlNTQ1MjgzMjg2ZDJFN0Y4IiwiMHhGRkFFOWU3Q2VDYjIxNTdFRjk2QzQyM2U4NzFkNDM0NTEyOGRjZTgzIiwiMHhERUU4ODA3N0FDMjREQUI2RmMxMzcxRTRmNDNiMjVFOUQ3YTFFNDBGIiwiMHg0ZTNCRjY3YURmOTg4MzZBZDI0QkZhMjJFMzhmOUFGNzNmQmI3MTU5IiwiMHhkNjBCNzc4ZWRhZjRlMjRhZmQwNkUxQjg4MTIyYzNhMDlEQkRmMjZEIiwiMHg2Y2E3MkUwNjdlMEMxMTE5NDJjRWUwMjJhNzZDNGRCNWRBNzU3MzNFIiwiMHg2NDhDNTQwMDExNGYyMjNDOWEwMDBGQjczRjU4NTQwMjg0OGRCODIwIiwiMHhEYTNCRWJCMjE0QTVENmRlZEYxZTVmODZFYjlmMzkwOEVCN2U5M2MxIiwiMHg4MkRDZTg2RTFCMTc3ZGY1NDhjZWU1ODUxZTYxNjNDMWEyZTdCNEY5IiwiMHgzMkMwNzM4QzRlRjg5ZmFhZkQyMkVlNDIyOEJGYkE4MjhENDEwYUZjIiwiMHg0ZEU0MzdkRTc3Q0NDMjU3NDExMzdkYzMyRDYzMzZiNmM4NDc2NDIxIiwiMHhDOGQxNTkxYzQzZDNlNDUwMTQ5QTE2MjZkOWU3OThjY2Y1M0EyQzlGIiwiMHgwOGFhMzc2M0E4MTAwODdmRUNlNkE5NzY5NzI0ZGU4ZWNlMjZhRkUwIiwiMHhhMjA3QzBkRDdGRGU1ZjU0NDZhNjUxNGU2ZkQwODBkNEQ4YmVEMDZhIiwiMHgwODRBNjM5YzdjQ2ZFM2Y3NWY1NkQwMTlmRjFmYTY3RGYyYkFiYUQ4IiwiMHg5MDVCQUExMDAwNDViQ2NkRjg5YUY2MWU1MTgxZDFGN2VmRjgwOWY3IiwiMHgyOGY4ZWRlZURmZmY1ODE0YjU2NkVjOGUyNjczZDI4MDUxRTJkYTVmIiwiMHg1MDdhYzQzMDE0M2YzQzU0OGRFM2RkMmIyOTI3MmQyOEJkRmQ2NzE1IiwiMHg2OWRlYTgzMjkxMjIyMUVBODAyQWYxZEU0RjAwMDdkZGMwMEZkM0UxIiwiMHgyMTU4OTU1ODc2YUIyRTdjMDNENmFhRWEzMDAwMTY3MkU0ZWRFRjQxIiwiMHhhMTBlMEQyNjU2QjNiZDQ0RTkwMjlERjkxZTI1NUM1MEI2ZTU0NmU1IiwiMHhmRWE1NTIxRWE0N2Q1YjgyMTE2ODNEZmFiOTMxOGJlMUI1MGNBMjkyIiwiMHgyMjgyMGI5YjQ3NmZjRUNFNThBOTY0MkY2ZmNhZDczM2EzM2ExQUY2IiwiMHg1NDNCNWJhOWM3MmNBODIyQzRDYTE4OTBCMUJBQmNCRDk1YWUyQkI3IiwiMHhCMDg5ZDliZDlmZTQ2MzZkNTA1NmQzRTUyYjU1YWU3RDBEMzBCMkQ0IiwiMHgzMzVlMzEwNDlDNWYzOTVFMDU1NzAwN0E0RWNmNzg4ODE1MTJkOGE4IiwiMHgxOTY5YWQxY2M0NGI5ZDBFQWJiZDIzMDVGNzhGMjA1NEU1QUY4OEIwIiwiMHhERTQ0NzkzNDliYkZCNzlFRjdmZTBjZjQ5MTExNDE4QzU0YjZFYzcyIiwiMHgyMGFiNTE1YTM1ZkE5OTRGQmY3MmIxRjlhQjBmMmZENDE0OUI2QzUzIiwiMHgzQmQxRTAxNWU0NkUxOTJjNGYyMDhGN0ZmNUE5MjE4NGZBRDcxYjM5IiwiMHhmNmEwMkEwRUQ1NTkyMjk2RkJCY2EwN0FFMzEzQzU3MkU5YzZBMkVlIiwiMHhmNjg4N2Q4MjQxYjM0NjEzOTYxOUNlNDM5ZUU4REE2ZEJFRjU5NmQ5IiwiMHhiYTY4ZjNDYjg0Nzc1Q0I1MDY1YmRhMzkyQTc2NjRmNWU1YzZGMGE2IiwiMHhjMDFlMWY2OUU1ZmQ4RTFjMzc3MzY4ZDJjZDY4NTc3YjYzYzkxOTNiIiwiMHgyNjkwYTcwNWMyYkNiOTZCNGZlNzJBQTZiMDk3MjI4Mjk3ZTcyOTkxIiwiMHhlQTU2N2VCNjlFRTk0Qzc4NWUzRWIwQ0FhYUQ0NkEyNjFGOWE4RTg5IiwiMHg5RTA4M2UwODVlREM5MzU0YUI1QTczNWVGOWFDMUI0Njk2MjU3ODAyIiwiMHg4QUVCMzBGNjZkOUEzMWJhOTY0QzJDNGU0MjU1NzYwOTk3MjYxY2QyIiwiMHhENmNGOEY2MEM0YTU1NmIwMzA2RDVlNjdjOTE2ODhBODA1ZjE2MTI5IiwiMHg2MjIxMmNhNWI4MmY2MEY0RTg4RmU4ODhGMjUwMTFEYWEyQ2FlNEQ2IiwiMHhEMDQ4MzEwMTk3NzdjNjA5OUQxNjNDOTY1NThkQUQxMGFjN0QxNTg5IiwiMHhmYjg2Nzk3ZjE1MjZiNUM2NDA0YzJEYmZGMDBEOGZBMDE3YjU4MjczIiwiMHhDM0U5Mjg3ZTJjMDI4ZWJCQUUyMDAxRjQ3N0RDMjJFZEU4MGVEODI5IiwiMHhmNDU2NWMzRTE5ZjBERjQ1MGFhMDhmN0Y2ODQ0MEVkNTdjNjc2MDNDIiwiMHg4QkIwN0Y0RDkzMzM0YzQ3MzNBQ2ViMjM3RTkwQ2IxQ0NiYmI0OTI0IiwiMHhmRjc4QjQ4NGMxMzFmMWM4MDZlMzdDNTRkZDUyNkQ2OTQ2OUQyZUQ3IiwiMHhjQkZmODFGNTJiODAzNjgzMDZhZWRGYUEwQzc3MTIzODREQzcxNDM0IiwiMHg3RGIwNmRENDliMWY2MTk2N0UwYmYxNzNkMmNDM0VlODU3NTg0MTYwIiwiMHg3ZjQzODg3ODA3MTIyODMxOUJkMzIxQjE3MEVFMTZmQzkyZmQ2RDEyIiwiMHhiMkRGNTgyMTU0M0RlMDVFM2U2YkRFOTZlMzc2RDgwODk4YkY3NTUzIiwiMHg3MEVBMWFmMmYxRWM3QWZkNjFmMDY5NjE4NDIxMDMyNzkwQkZlZGFCIiwiMHhlMmI5ODMxMjg3OTVhYTI5OWQzMTFlQTllRjI4NjQyYTUzNTNCMjU1IiwiMHgzNTVkZjI1NEVDRDJkZkIyNmMwMmI3MzMxYzJiQkUwOTI1OUI0OThkIiwiMHhmZjYyYjc3NjcxMDRGRjI3ODVDQTQ4NDdiOTQ0NWZkODA4NTE2NTE1IiwiMHhlOTMyOEM3MjY1ODNENzNBRTk4OTc4ZjA1QzVmZkU0OTVCNjUxNzNDIiwiMHg2YjAyQ2RGMjAzNjljMTFGZjc5ODVmQjcyYjhhNDdCODI4QzQ2MjU5IiwiMHgzNjk2RmE1QWQ2ZTVDNzRmZGNCQ0VkOWFGNzQzNzlEOTRDNEI3NzVBIiwiMHg4QTJBM2MzQmI2ZjFiMmMwOTNiMWY3OGQ2NDc3NzM2RDNjMEZhN2Q4IiwiMHg4OTcxNjMzRkVCMjhDN0I0OWRGNTA2NzA2NTk1OTM5NUEzNWRmY2NhIiwiMHg1MGIzMTY3ZENFYjNCRjM2YmI4QjFFZTczZmM1NUYxYTRkZDQ3ODcyIiwiMHgyOUVlNTI0ZmJBYTY3Q0JmZmJlQUMwYTkwZmYxMURhYjJmQjYwMmExIiwiMHhjZWMyMDlmYTI3NWI5MjYzQTE0ZUFmRmI3OUJGMGNjNjZCZDBGNjgwIiwiMHg1QmNGYTE3NjVDNzkwRkYyNTE3MGEwZGM0QjBGNzgzQjMyOUEwMEZlIiwiMHg1RTIyRjYzNDQzRTkzMjgzZTEzZDQwODhERTNCMjJiMDNmY2Y0MGZjIiwiMHhmOTk4YTgyOTE5RGI0YzRmNzAzNzJiNGM0Mzg0RkU4ZkQxZjlFMjA1IiwiMHg4RWNGMTBjZDhiRkE0ODNBNGFkRUQxYzAyMGU5NDJCMzI5MmQzZkQ5IiwiMHgwMDA1ZUUyRWYzRjMxM2FFMTY4NDUxZWY4MTc0YjRmQ0M1MDg4MTlGIiwiMHhGMUNEQzk1MkU2REE2M2IzMDNDNmIzQzNkM2ZDQTYyOTI4OTY4OTMyIiwiMHhCQTI0Qzk5NzJkZTlFNThBMEIxNWMyNzJFMTNkMkVhYWY1MkFkNUFGIiwiMHg1NDRiRDM4QzIwQTA4REI0MERlQjZDRjUxQmUzN0IyOGQzMDBhZjg1IiwiMHgzNTI2RUZmMEU1QzAyMGU1RDY0NzhGMzA0OTNCZjc3RDM3RUJDNzczIiwiMHhEZDk0RkE5RDlhNjhhRDQ2QzVkNDg4MTdCNjI2ZmJCNkM2ODVCMUFBIiwiMHhCY2M1Mzc4QjhCYzNBMzA1YWMzMDUwMTM1NzQ2N2E4MjRkRThGRTU1IiwiMHhFNzg4NDFhMTdCMjY3ZUZENzY0NUM0NEM4ZWNCZmRhODcyNjRiNzc1IiwiMHhjRjlDZTVBYkYxY2FDMjI5OEI5RTM4QzZEYzc5QTU1ZTA2ODUzODY5IiwiMHgxZmZDNTdjQWRhMTA5OTg1YUQ4OTZhNjlGYkNFQkQ1NjVkQjQyOTBlIiwiMHg2MzgwNEQ3NTdCNUI3YzQzNTA5RkRFRDhmN0NFMTBDYzBCYWMyQUUwIiwiMHgwOGE1NDREZjU2NUM5ZDI1Y2FkM0IxMWY3MkU3ODEzRGYzOGJBNzE2IiwiMHg0OTEwNmNjQzIwRkI2MzkyMEZmMmI4MWQxYUJCMzdmMDMzMTQ3MTA3IiwiMHgyODc5ODc2NEQyZDY0MzYxMjk4NDUwMDVEOWQyZDdkNTY3Y0Y3NjNhIiwiMHg0RDA3ODc2ZjNmMjY2OUIzOEM3OTBGRkE2QTE3MjM0QTY1NEU1NkM3IiwiMHhmQTU0NWNlMzhkMThFQTQzNTBBREI4OTlmMzgwMDU4YUZhRDc2MTllIiwiMHgzN0I3RjU5NzM0MWU0ZTU2NDAzQ2E2MjE1Mzc2YzJmRDI0MzE2NzMzIiwiMHgyNzc4MkJEZjA5MDEzMjRkOURhMjA3YmMxNGE1Njg5MTI2MjY3NTBiIiwiMHhmQzBiNDkxNGI4NTZCOWI5MTgyM2U2NmE1M0FlOTg5Mjk2MzM3RDYzIiwiMHg0OEY0QTZDNjVBQmI0YjIwOTgyMzc3MWIwRDJjMEYxNTZlRTYyNjhiIiwiMHgxMDJBQkRFOENBOTE3RkE5MjNkMzY4MWE1YTYzNzliYkMzNjdlOGZlIiwiMHgzZDNiMzMzOTI0M0QwNTY3QzI4QWMyYjU0QzU1NjFBMjEwOTFCQ0ZiIiwiMHgzNWI3OUUyNTIxQjU3MTMyNzkxQjRkQjUyYjQzYjczYTdlNzY2RTg1IiwiMHgxNURlNjQ5MjhDYjljNWJENzY3NDIxREY1ZjA0YTkzMDYzMjUzMEI0IiwiMHg2MzcyRjI3RkNiYmMyMmY1ZTU5MDRGMjQzMUEwRUNCQzU1NDE2MWVEIiwiMHg0MGM3MzU4Q2I2NTgxNTg5MTBDODdmMTE2YTRFYzQ5N2VCMkQ3MjgwIiwiMHg2NmVlM0Q0NTFjRTIzZkQ4NUYyYzcyYzk0ODZiMjM1RjkwZGQ0YUY4IiwiMHg0MDdmMEVBM2YzMTEzZDA4NEY5NjYzRmE1NkUwMjdjYzI4RmI4OGU0IiwiMHg2NEVDODUwMzU4NTgxN0U2NGM4YTgyZTQxRDNmNjNCNGVDNTI4MjBmIiwiMHhFQkM2YjA2MzE5QUJmZTQzODM4QjQyOTk0NkM5RmQ0OEQ1NDIyNkEwIiwiMHg3QkZkMzgzYTgzQTJFNjdmNkViMjk2NzNiNTEyYmQwMUVjRkJGOEMwIiwiMHgxYTUzMTRDMWIzRTE3YTc4MUFhRUYxODBCQmE0NDZkMTBFNTA2RTZCIiwiMHhBNDI3QjQ5QzdjMTBhNWJkMzlmNTJGRTc5QTU4Zjk5NzAwYTQxRGJCIiwiMHgyNUIwMzc0YmJFYzk0YjJiRDNjMjRiQTgxRTIxNTA3NjQwYzc1QTRjIiwiMHhlMDJGNUY1MTMxODU1QzBlM0FiMjYzYjBlZjg1QzlBQjdGN0Q3NTQ4IiwiMHg3NDU2YjU5NzQ1NzFFMzk4MTU3YUM1M0Q1NGMyQzYxQTgwNEU5MTllIiwiMHhhNDIyMWVBQjg1OTEyYmQ1MGFDOGExQkVhNDcwOTNhMmFmMTNDQmFlIiwiMHg0ODcyRjRlNzExMzMzN2E5OTc0NTZlQjRjMEE2NzExOTliYzcwNjRCIiwiMHhkMmE5QzMxYWZEY2IwNDlkY2FkMEJiN0Y5NjQ5MTNmNDEyOGJlMDQwIiwiMHhkRkZjOTMwRTg3NkNEOWU0ODU0QUFFODI0RDlBY0I5NEI0OTZFMUExIiwiMHgzNmY1OThDNGYyNDgyNWJmQzdGRmQ3ZkZBRjRiMDJCYTYxNTZhQTREIiwiMHhhMUIyQTlmRTcwNzdmZDBiNzZmMTFFNGYwOWI2MTdlMTY1ZTUxYkVhIiwiMHg2ZGVmMDE5OUEyZjUyQkNjMTMzOTNlMjYwNzBkMmI2NDEzMENEYTkwIiwiMHg5MWE3NmMxY2E4QWJiOTIzRjBDOTgxMDMxMzc2YWY0MzYwMENhNzNmIiwiMHhDNUM0MjA4ODgwODZBRGQ1NTM4NEQyNUJiN0U3QmQ4N0NBMWQ0ZDY4IiwiMHg5RmY2RTQzMjIzNTQwNWU1NGU4N2UxOTczZUMyQWRjY2NGNUZiMzU2IiwiMHhhQzcyNjY4MWM1MmI4MGYyMjE0NDgzOUU3NmZEMDViQzNBOGNGQjJkIiwiMHhDZjFkOTQ1NWY1ODU1NzAyNUFlNTM3MDI4NjMxNDE0OUVBQUEzNjQ1IiwiMHg0RTMzQ0QzNzljNTU3RjdGZjQzQjMzMDUxNzE4MERCYUIxNTcxQWIyIiwiMHhGNUM0ZmZjMTQwRmU0YmYzQmIzMjgwYjIzNDQ5NzdBODRmYzY2NjNlIiwiMHgxNUYxMTNERmVkOTI0OGIyMTM0ZTRBNjY3NjQ2MTNjMmQ3M0EzMzMxIiwiMHgzNzM0ZGMwN0IyQTRFNWFmQ0ZFMDliRkIyMTY5Q0E2MmU4NUE3YWEwIiwiMHg3MzAyMDBiNkNENDIxZmZBMjk2RjEwN0ZFZGM4MDQzMUY5Q2Q3M0Q4IiwiMHg2NjQzNTk2RjdFYjM5RmFmNTk3QzRBYjBCZjk2NDQ5NzIxMTFlZmIzIiwiMHhFNEI5NjU3NzkzMUI5QTBBZmRBOGQ1ZGU1MzVBYzUxRWNENWNjMGQ3IiwiMHgyRjRmRDgyOGNhMWU0NDY5NUY5NjU4ZGJFNjJkZjUzN2RDRGFiQWRmIiwiMHg4Q2I3N2VBODY5RGVGOGY3ZmRFYWI5RTRkQTZjRjAyODk3YmJGMDc2IiwiMHhiYzVEYjdDMTQ5RGViOGZDNjdGNTE3NmRlRjEzNzA2NmVkZjNkZjI3IiwiMHg2RjA5OWQ3OGUxZjUzZDMxRDJEOUU4N2JhMTRhYzhCN2E2MzUxRGYyIiwiMHhiMTYyMkU0NGVDODkxNzU4ZDE0YTljZjZCYjU0NDkwMkI0RGZCNzJhIiwiMHhFYkQxODc2QzBhNTE3NTk2YTI2YmE2OUM4QTg3OTliNTcwZTI3MWE2IiwiMHhkMDA5MjVlMmExNkY2MDU4Njk3MDI5QkQ5QzU5QWFkNDgzNzRBOTg4IiwiMHg3OThGM2IyQ0FhMURjZkFDRjFkNjllYUMwQjlkOURGMzQxN0E3NDYxIiwiMHgzMTZiZDFmMjlBNzVmRGE4Y0I1M0RhMDZEM2M3RjEwOTVDOTM3MEZlIiwiMHhFMUI5MDgyMWRmZDU2N2M3ZDE5QzU1YmRjOTZkRjU5ZEI5MTZDYTJiIiwiMHgxMzMwMjMyOTBCODUwRjAwMDU4NDVlMUEzRTAxZTQxZWMyN2M4QUVEIiwiMHhjNDI0QTdDODBkNTI5OUJFNDllQTAzZGQzNDNjNTk0NDM3QkI2MTM3IiwiMHg0RkE4NzEzQ2NiZmU3QjlBZTFDMGFBZTMxODU5MTk2MkQwNUQwZjcyIiwiMHhmODUwNGQ1Nzg0Nzc4NEM1YTc1MjgzYjU0QTc4NzhhMjMzODQ3MDVjIiwiMHg1NGNjN2ZhMEQ1ZTI1ZGQ0QmM1MGQ0OGY0MDBiMkQ1MTZhYzNDNDhhIiwiMHhDZjE3MzQxY2FkMUE5MTliNTQ0NTI5NTFmNDM4NDM0NDNmZjE5OWYxIiwiMHgyODdDRkQxZjAyMEJmNUNjQTcxOTk1ZDQyRTkyMDgzZjZFQjdjRTYxIiwiMHg0M0MzZjUxQjFBYzIyOGIwRjVmMzlmMEVmZkVGMGNiMTg5NUE4MmYwIiwiMHgwQkVmRjU3QjI1NjkwMzA2NkM5NTMwNkQ3MDNCMzkzODU1MGY1QmZGIiwiMHg1OGE3YkRkNDJkQzZlZjY5MGRlZjlhRDBBNGM1NEVEMTY3OTdkZGJiIiwiMHgxN2JDNDBhNjlBMUREMTcxNjMwODVmYkM1ODkxM0ZDMTAxRjRmOGUzIiwiMHhiQkUwZUIyRWIzNEVjRDgwMTNkQjE2RkRDMzczQzVmYkQzMjRiMzU3IiwiMHg5OGY5MGJmQzcwMkVjNTQ4RDIxYjVhNTY2YTRkRjY4NTNlMjg5MGQ0IiwiMHg5ZDkyMDEwZTRFNjNhQ2JjMDNDMkI5OEVhYUNCMTM1MDhlMDY5Q0UwIiwiMHhiMTJGRjc1ZjI1MDc4RjE5OTA0NjYyNkIyNGZCRDk1N2UzNzI3MzQ3IiwiMHhhNjU3OTI1MTFlNDY3N0ViYjY4MjU5Q2VkRTRFNTFFNDBBMDdiY0YzIiwiMHhDN0Q5ZmI2ZTI2MThEQWFlODM3ZTExMmVCZTY5OUViOWU5YzZhMDEzIiwiMHgzQTdGNTQzMGYxMmJlY0ZFN0E2ODc2RDc0OGY1M0Q3NzFBM2NlQzFhIiwiMHgxNDYyM2M3N0Q5ODA2NUQwOGEyOWE4ZjllYmExODk3NTFGMTZFYTJjIiwiMHhDMTY5RjBlYjMxNDAzYzBiY2M0M0RjOWZlQ2E2NDhBNzlmYUZDMEY0IiwiMHhlMjA2NDc1OWUzNGEyRjNEOTI1RWM2NDI1NEQwQmI1YTBBQUYzQzg5IiwiMHg1MzM3RTJEOGNmMWEwMzQxZUE5N0I3MEJmNGE2Yjc4ODNDRUVlYzY5IiwiMHg0QWNiMzM0MzQ5MjRhYTVlODdCYjQ4NzExMzQ0YTI5OGQzZjk2MzhBIiwiMHgwQjMxMjRjNzJGYTE4NmYzMGEzMDdBREYyOUVEQ0MzZWY4NWM2NzI0IiwiMHhhMTQxODhiQjgzYjM4MGM5M0REQjk3YTQ2ZmY1MjcwMEQ3MzcwOEZkIiwiMHg0M0NBNTkwNDc0QUU1OTcxOENEMDUzMjE2RmMzZjAyN0JGYzU5NjdFIiwiMHgxRWVEOWYyRjJiQ0NGMzhEMTA0N0RmQjdFNjY2MzgyNUMzMTdkRTg3IiwiMHhjYzM0NWMxMWU2Rjk4NkJiYUU5NUI4OTUzMDRFNTI3YTkwYTU3QmE5IiwiMHg2YkMyRGYzMjNhRTRlYWNEMDRlNjJiRUI1NEEzNzA2MjY0MEU3NWJGIiwiMHg3RDhBMDViOTM4NTk4MWNjMGRmZTJBRjNjZThDNTRjOWNENDc2OGMxIiwiMHgyOUIzMjhmZEY5NUY3NGM4RDQyNjk5MjdmMzZGMDVCQjBDMWU1Qjc1IiwiMHg5RGU2MGY4OTcxMzZDNDY4ZDUzMjIzMUUyNzZBNDA5RmFFNGQxNDVjIiwiMHhhMTgyN0U5MzMyMjJlNzdmMTFmQThGNUM3OENlM0U2QjhiQTU5OUI0IiwiMHhjQTExQTg1MTRCNDAyNkUyODVEREQ5ZTU2ZWJBOWNkMzEzRGMwNkFEIiwiMHgzNDg2MURkZGFmM2EyMWY0QjM0Nzg2REY4MjY2YzJlYzMxMzJGNjY2IiwiMHgyNDE2OUJFMTA3NkM5ODU0QWE1NWQ3NjdEQ0UzMTdDYzAzOUZlOTEwIiwiMHgzNjVEYjcyNzYyYjNiQzk3MERjM2YwYzk1MTQxMGEwOEVGNjEzYTVlIiwiMHhiMzlCQjEzNTIzNDNCNDhiOTc5MzdCOTJlNzYyRTQ5QTM3MEU1QTAyIiwiMHg0RjFCQjc4YzIyOTRGNkI4OEEwZTA2RUYxRkU5NzAxMTdCYUFEZDlmIiwiMHgyYTM5ODM3M2E3ODc3ZkM4YTk0ODJkNUI3MkI2NDYwNTJCNzliRTc2IiwiMHhFOEFjNkYzNDc0MTIxRjhhODRlOUUzRWZmYzM1OTgyNzlBQ0ViMTUwIiwiMHg0ZEY4NkFmZjEzOTdjNjA5YTAyMTc3NTdkNzhkZkQzQTA3Y2M5ODUyIiwiMHg2OGYyNDNlMEM4MDFlNUVGMUNkMjNFRDViOWI4QjdEMTNCMDlGOWRCIiwiMHg1Mzk5OUQ5RDdGZWY4YjI5MTEzMTdlNGYzYTk3MzE2ZmZjQzIxYUM3IiwiMHgwMUMxNmU2YkRhNmM5MzExODFkNEZiMUFFOTRDQjNEY2FGOTZhOGU2IiwiMHhFYWZkQ0RlNjQyMzQ2Q2MyZjBCODM3NmY5YTIwYTRBNjJFYzQxM0QxIiwiMHg0OGMyNkUwNzM0YTBkREU5Q0Y5NThlNTUyMUU3ZTkwN2IwOUQxNDY2IiwiMHhCZUViZkE0NTYxMTM1NjFFZURCMDBDMEE5ZGI3QjAyNmFjN2VFMTNCIiwiMHgzMTA2YzdFNTA4NGUwOEYzZTg1NTM0NEY0Q2UzZjVFNTZBMjg5MzlDIiwiMHhhMjNjNEFBNzA1MDQyNUQyOTIyOTU2QkVERDlkNTEzRGExYjRhOTc3IiwiMHhkODA3QTFkNTk5NDRBMTIyOTYwRmE3ZTdBMzlmRWM0YjU5ZEU2OUFGIiwiMHg2NzczMzE3MDlGZDhlMDZkOGQ0NzU4NjYzRmUxNzg4MkYwOTUwODhkIiwiMHhEYzMyQzA3MjNDQ2E4RTY0YjUyMzk2NzIxYmEwMmE4YjNhYjIwNEYyIiwiMHgzOTYzMzYzNTIxNzdjZUM0ZUUyYUQ0MmFmNDM1MTcyYUFlMkIzZWU5IiwiMHgzN0QzNmQwNTgzRGZENjExNzk0NTU5MDU0RWQxOUMwMDlBQTljYkY0IiwiMHgwNzNmMDk1RjBkNjlGOTI2OUJmOWZmZGI5OTM0ZjI3NTM5Y2EzY0Y4IiwiMHg4MzkzYUVlZTA0NTM5QjBFOEI4Q2U2OTcwNDc0YjY4NTg4Qzc2ZTVhIiwiMHgxMUE5OTA5QUMyZmZkZTZiNjI3MjE3RTg2ZUIxMTBjQTNCOWIxMzg1IiwiMHg3MjE4YUY3ODZjODUwYjUyMTQ1QTU2Q0VkMjk4MTZiMjhGMDAyMjA1IiwiMHhEMjMxNjYwM0EzZjMzZDc2OEI1ZkQyRjVDNDM2YTE5QkY0NjAyMGY5IiwiMHhFMjdENjE4NjZkOWJlOUViZTk5QkQ2ZEZDQWQxMDE3OThjMWUxQTEyIiwiMHhlODUwNDk0RjA4YUEwNDg1ODZEMjgwMDk3ZDU0M0NBYkFDNDkzM0ZEIiwiMHgyRTYwNzQyNjQ4MDhjQmYxQzU4ZTc4RTIxZkUxOGZiQWU3ZTQzOERiIiwiMHg5QjA2RWM1RmM0ZkFEMzFCNDFlZWNlNTBlMzg3NGNCNTA2OGI4NzM5IiwiMHhjODBiZjJCRmUxMzQwNTlBNGY2MzgyOUYzNzQ1QjljMjA0MkE0YTY0IiwiMHhlODYzMTQwYzZEYjI0MTgxMjY1OGMwNmI1NGNBYmMzZWVGNzlENjIyIiwiMHgxMDFlNDQ1M0UzNmQ5ZDAzNTFFRTEzMDQ5NEVGMDRiNjJkMzQzODg5IiwiMHg1OGMxZjlCZWJDYjIxZEIxNjllMzY1OTU0NzI1NkRCNmRkY2EzOTA2IiwiMHhhRGUwODU1MUJBQjE4QkMzMjk0ZWI3MDgwNjczZUY1NjEzZmRmQUQ1IiwiMHg3Q2RCNzE5YWE5RDA3OWRhMGJFMTQ3NDk1QTE5N2JEMzliZTZlN0M5IiwiMHgzQTBBNWM4ZkI5QzQyZTREMTE4ZDMxQzY5RTVhQUVjNGFmMjAwNzBBIiwiMHgwQjIzNjFkODA3ODc2RjgxQUI0NjRDOGFhNjY0OTBEODQ2MDVBODFkIiwiMHgyNDBjN0MxRTViQjFGOUJEOURFRTk4OEJCMTYxMUU1Njg3MmRjN2Q5IiwiMHgxMWZhRDI2YTY3NGREM0Y0YTY3NTM2OTYyNkU0MTNlNjdFNDMwRTcxIiwiMHgzQ0Q2NDQ5RTc5ZjMxMTNhMTk0NjNkZEQ5RDEwMTRCMDMzQzgwOGZkIiwiMHg3YjJGMjFmMjNjRkQ5NjUzYTlDNzE2NDZmMzRCNmRGNkJFMTNFYTQxIiwiMHgyNzcxNTFBRkEzNjIwZTg2YTFEZjdmNENkMzQwYmJEMThERTk5REMzIiwiMHg3RTMzODc1NDgxRUVlODUzOGJjZWY2OTlCM2M4ZkM4YzMwNUNjMDE0IiwiMHg1NGJFODM2Y2EyOGVGNjQ4MDkwYkFlMTcwNTQ4RmM5YzM5Yzk3OTcyIiwiMHg2NDJEQUVhODc0Y0ZDNmZGQzk1OGE3MzU2Qjg1YzhFRWEzNDkwOEZEIiwiMHhiMTgwYTQ1OTVlN2U5NzEzMkNiOERlODU2QjNmMzMxMDcyYUJCMTZlIiwiMHg3NENiNDEyNWI2MjJhYWM5ZGExQzU1NUZDODZmNWMyZmIwNDU5QjlFIiwiMHgxQzc2QzhDYjhDNWJDNTAwYjYxZWEzNzRCMGY5MWNFOUI3RWY2YzFFIiwiMHgzRThEMDE1MDJBOUFGMTk4NzVCZTlhNTg5MEM5RDdhNjc5MkI2YzQ4IiwiMHgyN2E0NTc2OWEzYkQ2MjYxNzk5MkY0ZEU3RDJFN0ZBREE4MmUzMGE4IiwiMHhGYjhCOTI4YUYzOTAzMzdCY2E3N0I3NUU4QzY2QjIxRTgxOUVkOGNjIiwiMHhhNzg3MTBiMUZkYWYzMTE0ZThlMDY0MTU5ZDA3MzY1YjY0QUVFM0ZDIiwiMHhGZDNhNDI3NzZDMzEwYzQzRjQwNjM0ZmY5MGUyQzVGOGM4ODk2NmQ4IiwiMHhGYWI4NTc4NWI4Y2FiMzcwODkwNWUzNTU2YzE5QjI0MkMxNTdBQzVBIiwiMHgyMGZjNmVGNmE5Mzg1QkQ3QTFBM0ZhNDVGNDgzOEI0MEQzRmJlQjRDIiwiMHhmY2JiMjA5QjVhQ2Q5RGMxMDlFNjIwYjAyYzgwQTc1RkI3MTRkNTBBIiwiMHgxNjRDRTlkMTQyNEZCNTM3ZEM3NEZlMDU1ODgzOWJmQzc3YTlFNUEzIiwiMHhDMzIyMDA1M2Y5OTQ0MTE3OEE0NmEwNmQ2ODFmQUI3MTA0NTI3ZTY2IiwiMHhmMEFEOTIwRUY4YkYwM0RkREU4NmY5OTg1RTI2NjYxMzU2M2RCMTdBIiwiMHhiNTc3NjhCN0ZFMWI5QTJBQjI0MzBjRjJDRkI3NzRhOGFFM2ViNDIwIiwiMHg2ZDdEMjdFN0VFZUUwYmNiNjMyYjRFYzBiMjlmNzcxRTE5N0FmYjZiIiwiMHg0Q0JGZTUwZjY2NUY1MDY4NTM4N2JiMGYwMTRCYzU2NGYwMmRFQzhjIiwiMHg1RTBDNDFlYzQ3RDY2NzU1NjBCODYwOEQ4Nzc5YkE5NDljNUQ5MTUzIiwiMHhhOWQ0MzhhQjNGYUNkNmExMTNFNDFmQ2I1ZGFiYUViNTRmRWM1Yjk2IiwiMHgzMjg4YzlFNEEzQTJlMjhBMjhmMWUxNzQxMTljNzgxQkVkNTNiMDY2IiwiMHgyNzY5QjlmOTdhMTQ0NzUwNkJhNWM0NDkxREVDMWY3MWY0NTQ2N2MyIiwiMHg1NDFBNDZmM0U2MzEyYmNBODdjMzQ0M0JmYkY3MWMwNDkwNkRCYWZmIiwiMHg4MzUwM0JFMzAzRmYwZTA1YTVkNkRjRDFDMkEzQmQ1ODlmQjBERUQ0IiwiMHhBMTNmMEU4QjEyMzU2ZjRkQzE3NzlFOTFFRjYzYTE1MkI2NDZhMWZCIiwiMHgyNDhBYmE1M2NhRmI3N0ViZTZFRWZhQzNiNGRFOEE5ZDBkMjEzNEVDIiwiMHhlMjVGNTJCODhlQjJDRDg0RjNDNzVjQTgyZWVENzA2QkZkNDREMTM2IiwiMHhGNWFDOGU3N0EwOTY5OUVjNDgxY0M5ZjFjZDY5MzU3MjJkOTJiMUVhIiwiMHg0NUE5NTJkRTNlNUUyYkIyZjA1ZjZlNDRjNThEMTY0MDg2OTFkQTBmIiwiMHhiNDc0MTBlNzU4ZTdGRkM3ZDZEMDE0MGM3NDQ3NzczM0RjNTY0ZEY1IiwiMHhmNDhmN2ZCRTA4MzdDNDk3NDU2M2Y1ZDgwODlGRUI3NWM3MThDRmE2IiwiMHgzMjA2MkZBOTIxMTI0QzZCRTg1RjYxNGM3N2UwNTRiODAxNzllRmIxIiwiMHg5QjBkOTQ5MjgwMkQ0MDU4YkRFOTYyRWRERkY2ZTBGQjhGMkQ2MEZFIiwiMHg3MTc5OGY2NjZEOThBRTMwZjU0M2ZmZTM2Mzk0MTQwNkM1MmZBODI3IiwiMHgzZjg4ZGE0M2E0ODEwNTQ2MjAxQTUzNDZCMTFiMUE1MTFCM2VkRDI2IiwiMHhjMEI3OTY1NTkzMWU3NjdBMjU4Mjk3RUM0YWY0REYyMDQ2OTQ5MDdmIiwiMHg5MUQzNTAzMzZDRTNiQjhGOEMxNGZEQ2I0MzI2QWRlM2Y2MWM5MTlGIiwiMHg0OTc2Njk3MzREMTIwODYzRjA4NTQ5MjdDQjFFNTk5ZGUzNkVjNkM1IiwiMHhmMzIwNDVEQkIwNkEwZmRBODFjYzEzNTE3QjE0RTIwOEExRjQ3M0EzIiwiMHhFNUI2NkE0ZkNlNEQ2MTE0QTgwM0Q0OWUzYmEwZjQ3YjFhNjk2NjlBIiwiMHgwZUE5OTY5MzJlNUI3QjE5MjhlMjUzMTY1RUI2MjFBMDY5YjM0MkRiIiwiMHg1MEFkOUM2ZjMyRDUxNzkwQzkxNzA2OTBjNkYwOGU4RjFBMTFmN0MwIiwiMHgzQTM3NjFCRTg5NTBiNmM5NDU1ODM3Mjg5N2RGQjkyZEM2MGJFMTQzIiwiMHhhNzUyZDJCRkNkQURjN2Y3QjI1QUY3QzFlQTZmOEFENTAwY2EwNTNDIiwiMHhiRTdDQjhCRTNkOGQ3NTRDRUQyYzEzRTA5NzI1ODQ4ODk0OTlGMjIxIiwiMHg1Zjk0ZGY1Q2UwYTg5OEE1Qjg3MEE5MDA3RTVhYzJGMDkzNmQ4Yzg5IiwiMHg5OEI2NTQ2NUFDODY0NkE5OGJiN2ZCREZCRjAwQTdCMGEzODg5ODVDIiwiMHg3Zjc5ZmE0N2RkOTRkNzkzMEYxOEI5QjdBRjJDY2JFZmU3Q0M4QUEyIiwiMHg3ZjlFNGQzMjBmN2U4MTY3QzVhYWEyRURBNmQyRUYxOTkyNjhlNUM5IiwiMHhDYTk4NzIyYjBGZjIxMjlhQTViMTlmMjkzRGY4QjcwYzNENmU5MDc4IiwiMHhBNjJjNzFDNTk5ZTI2ODFENzEyNWQ2N0ZjMjZiNzk3M2YyRDVDNTIwIiwiMHg2RTczYzI1NDMyMDkzMTMxOTREZDY1MEVkZjBiRDRkNjVBOTQ4M0Y1IiwiMHhCRjQ0ODdCNkFmOGY0NjNmZDYxZTYzMDY4NzI2N2E4NzdjQjVCNzBDIiwiMHgxRTFmNWIzMkMwNmRENTc4MEY3RTEwQTc3NjcyMzBmODM0MEYzYzdlIiwiMHhkOTRiMEQyNzA5ODlmRDE5ZDM5Q0M3MDU5NDUwZjIxYkMxMThhNTk4IiwiMHg4N2VBMzc2ZTYxRmJFM0RmNjg3MDREODYxOTgxMkM4ODlEMjc3RDEwIiwiMHhBMzVDRDVFRDEzMTEwMjFlM2UzNmQ1MUJjRTg0MjlCYTNGMTliQUE2IiwiMHhBOTFEODRFQjYyRTdGZEU4QzNjMDVGRERCZUNhYzRDODA1N0EyQWQ0IiwiMHg2QkNEMzQyODBiNmJFRTczYzllOTkzOTU3NEJlMTAxMkQzMTYxYWREIiwiMHhkRThmMzNjYkMxYzAyYzQ1OTM5OWRjMDRDMzlCRWNFNTUwNGREMjJjIiwiMHgwMGFlNkZiNTQ3NUM0ODk0MTEwODA2MzBjQzdmMWVkZmFjNDgyMjcwIiwiMHg3OEQwZjIwRGYwNTMzMGJBNTFDMzVEODE1ODI4MUNjRkEwRTczMzMyIiwiMHgwODgyOWJEOTRjMThiNjZFODI2MmJFZWRDMDMwODE0RjA5NThCMmJDIiwiMHg1NjU5RDFDNDJEYjk5MERFNjcyNTg4MGIzZTI4NjdFOTBjOUJiRGI2IiwiMHg1YmM5Mzk4QUJCYzExMjdCNDlhQThkM0M5MkI1RjNmOTQ0MTM3QzliIiwiMHgzNmZjRTJGNjMzNDk3RTY1OTc1YmI0OTQ3YkMxNjgyMTMyMUYxQTQzIiwiMHhCMEE1MzlCRUExNzg3ODEzMzU5RmI5QUY4ZTJlZkQzNWRkMzVhNzQ0IiwiMHhmYTAwOTdEYThDNTMzODVGMTlmZTE4ZWQ2MDUwZEUwNTU1NEIyOTY0IiwiMHgzQWUyMDczODAwNzFjYzBBNTExN2I1RDlGYTI2NDREZjIyOTZGYUE4IiwiMHgzNkQ2YTgxQ0UwODFGMDQ5MGJBMTg2OTAzMDU0MGEyMDM5NGJhYmQ4IiwiMHg0ZjU1QzlCQWIyRkUyMDJmMzlkODEyOUQ4MEUzRkFEODY0NmQ3Njg0IiwiMHg1NTUyNGMxQmRiQ0M0QUJFNDdCZDlFRTBBZUIxZDBBRTcxNjE0QjQ5IiwiMHg2NDM2NzQzNDg4QzdiYkU5NUFFNGRlNWQ5OTU2NzZFODRkOWRhNjY3IiwiMHhCMjhjMTE1ODFmNjYxNzU4NTkwMDZEQ0IxRGI1MGU4QTQyM0E5NEMzIiwiMHg2MDQzMTUxMzI5MzBCNTZFRTI3MmFCQzNBMUREQzNjRTVFOEZhRjA5IiwiMHhERTY4QUQ4NTAyODc0QTdkNURkMTc1OEY3QjBBNzgzMUYxNDJiNzhBIiwiMHg2RGFiMzdEQ0RiNEMxMkY5OTIyZTAxYzI2RjMwQ0MxQzM5NjE5N0YwIiwiMHhhMWU0MzNDRDdlOGUwNTNFOTZkZThCMDE3OTI3QkMxODU5M0IwOTE4IiwiMHhjNTdDYUU3MjFjQjQ4QWQ2OUE3NDA2Qzg1YmU3MzNhYzNlNTI5MTYwIiwiMHhFYzdmRGU1OWEyZUFhZmY1QTZlRUFiZmE1ZTk2ZTYwMEYzQzlBYjhCIiwiMHg5ZTM0Q0M1OGYzMURBRTcxOWMxZTEzZEE2ZjNENzVCMjljQTQ0RmZlIiwiMHg5RDVhMTE3OTc4YzEyZjAxOEYzNjQxODM1NDRCYzU4YzA4YjBhMTc3IiwiMHhiNmFkNUYyMmU4QTExQWFkRjQ3MzQ1QTQ2M0UyZDA1NDE3NWEwZWMzIiwiMHhhQ2QyZkYzMkQ0YTIwRDQ5ZUFGMTE2NEEwMjg2ZDZmNzViN0YyYTRlIiwiMHhlNjlENUYzMjE3ZjY1MUE4QWIwMTU5NjRmMDJkMjY3OEEzRjFjQmY0IiwiMHg3NjZhNDVhNzRDYmU0NDcyNWViMmFhRkQ4NmZiMTMyNGJlOWJGQTIwIiwiMHgxMGVCNURENjZEMzVCMTU3QzlDMjZFQzMzNDAwM0IxMEIwMzFlMzgzIiwiMHg2ZDNDNTFhODZCNWNiNEVENkExZWEwM2Y4NjNiOTNiMzhENjYxQWY2IiwiMHhlYmM5ODNBQjUzMkE3Nzc1QjBjMzE4YTAzQUQzRjI2MTlEYWQzYUUyIiwiMHhlMDA0NWE0NUU5Y2Y4NThlNWE5ZTEyNDIxMDgzODFmOEE0Mjc4Q0IyIiwiMHg5RTA5ODE5ZjIwYzJBNUQ3OUIzODQ2ZmRGM0QyYjcwQTQ2OEI5OEVDIiwiMHg3Zjg4MTVBODJCMTYyMjU2MDJGZGUxMjkwOWU0MTBiQzI0QzU2MzEwIiwiMHgwOGUyMTYyNUYwZjhkN2Y2REY0ZTQ3OTRCYzdhMjY5OThiMWNmZWI5IiwiMHg2NUI1MUFhM0ZFYTJjRmMyQjkzODcxMUVGMGVkMUI4OTBhQTM5NTBGIiwiMHhiOTM1NWIzMTQ2ODNBQjQyODU5MGZjYjNlOEYxZkRCNjdFODgwZDgzIiwiMHg2REVCNjMzRTQ0NDFCODg3OWFGRjQ4Q2FBNmUwMjFlOTE5RGRiYjBDIiwiMHhGOUU2RjQzODc3QTdFNkRGREU3NkFjMjNGNGFmRTI0MzU2NzgxQUZmIiwiMHgzNTA1RTE0ZDIyZDlhYjA1YTNFRjQ2MjkxMEJmNEQ4MDZBQjIzQjQ3IiwiMHgxMjFENDBEQzJlNjQyMTY4NzAzNjk1RjQxMTJkODE1QjI3REFBNzg5IiwiMHgxMzkwMjRCMWI3QzAxMTdiMzczOWY1ODY3YTAzQmU0MjMzODU2MjdCIiwiMHg4MGExM0ZmMzdkOUI1QjE4MDVlREZhYTBCRUREYjViMTZlOEE5RmVCIiwiMHg0NDhiMEY5ZjQ1NTI2RTY0QUU4NTE2YzU2NDc5Njk3QTkxRWUyNTVhIiwiMHgwNUIwOTllZmQzMmE0MTc3OEZiYjk4RmRlNDNBODk3RkRhNDhjNWUyIiwiMHg2MEQ3OGVFYUZhOTc2NTI1QTI1M2RERjFmM0Q2MWY0YmUwMzNhQjAyIiwiMHgxMTczNjc0NzY3NDRDMzE0OTBFQWMxRjlDY2VjN2U5NTM4NjVCQjRjIiwiMHg1YTAxODQ3OTYzNDdENkE5NkVlODVkOEJCQ0RDMUE5M0YyRTdDNzMxIiwiMHg5Yzk5NTcxMDg0NzZFRDQ3ZjlDNWEyYWJFMTdlYjNDNDZlYTg2Q2Q4IiwiMHg3MTU5NDk5OUQ5OTUxN0ZhYzlhYkY2MjAyQTcxYWVDYUUyQzc0Nzk3IiwiMHhFQTY0YTg2QTE5Mzg3MjE4N0Y3YkVFMzRmMENEMEJlNDEwNkNjZjUzIiwiMHhmZEZlRDYxMGEyMGYyMzY0MTUwNjNhYjM5NUI2MDY4YWM1QjYyMzZFIiwiMHg4NGQ1N2QyODMyZjY5YTk5OTIyMDMxOWJFNkJBYzFCODlDNTUwMTFGIiwiMHgyNjdlYzA1QmE5RDMxRUZDOEYxQjhhMjBFQjc3ZDE2ZmJmNjM2NGUyIiwiMHgwQzI5NDU3MGJhRjg4MGVEYTI5NUY5RkUxMjJiNTc1RmMxMTZlNTA1IiwiMHg2N0NFMjZiN0JENzEyQjZlMThjOTlDOUI3ZDcwN2FDZjBiZTc5NTkwIiwiMHhBQTcyMDcxOTREM0E2NTBFNkQxNjM2ZTUyOTAzNjYyNGRDRDUwQkZBIiwiMHg3Qzk2NDZENWNBODgwNTg5NjIzQ0FFNThmMDE1RTcxRjQ5ZGJBNDUxIiwiMHg2MTAzODJDMTk2OEFBMDY1QTY2MkUzNEU1YTI1OENDNjQwNDgzMjRmIiwiMHhCOTA2NmFBNTdhYTAyMTJCMzM2MmE0RjYyNWM0QzRlMjhEMDNhMTlEIiwiMHg5NTIyNEI0NWZCYmFCOTI4NzJiNENEZkEzOTk1MWJBNGE0ZTNmRGZFIiwiMHgwYjk5NzY0MzdkMzk2RTgwMDg3OEY0MTkwQjllNzlBYTEyMDMxRDM2IiwiMHg0YjBiNDA5M0FFRTgwRTVCQ2U1MWIwNDVFREUxMzk1RDJjNTY4ZENFIiwiMHhBMGE0NDc3N0I0Qjk1MzY0OTkwZmJCMjljNDI5OTBBQzI0QkI5YzQzIiwiMHhmZDM5YWMxZUZFNWMwZDczRDRBRGQ4NDlFMjQwM0U5NjRhZDA0ODMwIiwiMHhFZTc1NjQyMzE0NThCNDg2NmI4QTM2OTg3NzY3QTU1MkFiRTFmNTU4IiwiMHg2N0JFQTg0QTlGQzk4MTdBOEY5MEI3MjcwMzlGNEExQWI1OGI2NTY3IiwiMHhDMTg0OUI1M0JlRkE1N0U1QzQxMkYxNGUyOGRmNGVkMkNiNkFmOTAzIiwiMHhFNWIyNDJCRkI2ZjRBMWUxMWJkRjBFQzljYzA0NGE5ZEREMTcyYzM5IiwiMHg2NDk4QjlmNEMyYTRBMjA4ODkyYzk4RmE5OTQ1QWYyZjQ4NTI5NTJmIiwiMHgzYmFFMTc5NzVFRmMxODM1RjI3RUIzRGI2QjlGMzBCQkM2MDY2OTI2IiwiMHhBNzc2YTk0MkUyNTk0ZTg1MzYwZkQzZjBmZjhhMEUyMjAxRkUxYjQ2IiwiMHhFYUIyRGJGMTAwRTcxNThmQTk4NTE2ODM0MUYxMzQ1ZERFZDhkNjk0IiwiMHhDQzRhMkQyNEMzMzNmRjIyOTdERUY5NzcyNjEwY0NmYTE2OUI3ZTFlIiwiMHhhMTRERkJhYTIzRUU4RThiNjk4NzgzODFGOEZkMUQwQkM1MDJjMDQzIiwiMHg2YjQ2MEE1ZDJGODcxMmI1NTc5YkQyZDJmNmFCMTBlNjMwMDJEZDI0IiwiMHhmY2Y2MTZkNDEyY0Y4QzU3ZEVhM2FEMzM1M0IyYTAwOTJBRDQyRmNFIiwiMHhhMTRjOUFBMTMzN0YyNTEzNUNlNjkxNzQ2NGZDNWYwMUNDM0M5Q0E5IiwiMHhFRGUxZWQ5RkU5NGM2NmIxNTNEMEI3YmVkYzU1MTVDRkIyMzU0NzM2IiwiMHhmRjIzOEMzYThhN2I0NjREOEMxQWUyNjYxRTU3QTg3YTk2NTkwMzE0IiwiMHhDQjI4MDUxRWFmOTBGNEU4YjlBNDM4NTkxRTkyZEYxODFGQjAwMjcyIiwiMHg4ZEY5MjIwYzI1MmE5NUQxQjNGZDM3NmFhQTRiZTFEYjYzMjk2Njk0IiwiMHhGRDcxRTlEZTg5MjdhODdFMmRFNTgwQjU1QkUyREI2OTg1MDhhMEFhIiwiMHg1NUI0QUMzNTUxMjc5ZUY3MDQ0OWVjODkxNTQ0RWFGM0E0NzQzOGUyIiwiMHhmMzBGMzJGRjVGMjYxNEY3OEM0MjBlMjk1MjBCODYzZWMwZjg4OTNiIiwiMHhkNjIzNzg1MzVjQ2UwYjNkRTMzNzYxM2E1MTYyYTU0OTU0NEEzN2QyIiwiMHhhODBGOEY4RUJFMDZBZDQzZjVFMTI4OEE5MzY4ODRBQmI0M2ExMDUwIiwiMHhEOEU5Y0VDQ0NFOEE2YzQ1NzBEZDg2MTkyMjhBOUM3MTcyMDk3MDg5IiwiMHg2ZDRmMDVhOTlGZkE4MDU0MmJhNzBEMDEzNzA0NjA0NThBOTVFMTQzIiwiMHg4ODg0ZDFiMjc0MzM3OGI0ZTBjODFjZDY5ZjEwNUYxOTNkNDc2MGQ4IiwiMHhCMTYwNEQ4YWE5NWJCNTdDYzk1M2I4NWZBMDRDMjMyODZCMjgyQUVEIiwiMHg2RmU3Q0ZhNkYzNTNFRDk0M0I5MTA5OURDMEIwMWFCRDdhM2MzOGUzIiwiMHhDNUJFMUE3MzBiQjJlY2Y2RTU2N0JhMmM0RTRmREY0Rjk1RjRlMTdDIiwiMHg0QTFCQkQwRkI2QjAxN2Q3NjZFMjgxRDUxRGUyNGIwRjFiYUJBZWMyIiwiMHgyRmNDYjcwQ0IyYTdBMWY1QWMxN0NFOWY5RGEzMTQ5NmJFODY3OWNkIiwiMHgwMTE5QTU3NkI4NmJEMjU3MUY2OTYzOWIzOUQxOTRCYmFhRDEwOUM3IiwiMHg5ODE4YkExMjI5RjA5MzNjQ2U3OEFBQ0Y3YzIxNTA1NUE5NTRhZUY2IiwiMHg5N0E3NTIxRWI0OTk1Q2FjMUUyRGZkNzNFMzQ4QTk5NzNENmY2OTAzIiwiMHg0RTcxMDBDQmMyNjYyQjI3QzZhMEI0NjJCMzZDNTdEYzExNTRjMUVEIiwiMHgzMjkwYjFDQjc5ODYxM2Q0ZjhjQTg2MDdiYTE3MTdmMTk1ODNGNDMwIiwiMHhBYmE1QzUxQTc5RDIzNkFmQjg2Y0RjMENEZUM4ODRGMDY3QkRmRWI3IiwiMHhhYmJCNjU0MjczQ2EyNTI0M2U4RDJCYTU5MENDYzlBRjk0YzE2NTljIiwiMHg2NURjNDVkYTIxRjM5QWNCODIxY2E3MjcyZEM2QkRlNzY4YkI3NjQ0IiwiMHhBQUJiZDVBRjFGRkIzZTI0ZmNmNGMyNzA4QzgwNTA4QTdBQTYwRWViIiwiMHhmOTI2NGVjRWNiNTZlREQ5MUM0Njg3MTIzNzZiNjFDMkY4MjI5Qjc0IiwiMHhhNTYzNWNhRTY2Q0ZGNkQzNzRBQjUxNDM0QTM3MWUwN2IwNzg1MDI1IiwiMHhFZjVDNjU0YjFlNUM5NmY4YzQ3QmI3NWRmNWMyNUMyMkQzMTMzMjM0IiwiMHg2YjcxZUJDNTUwNjlkRjk5YzNhRTg5ODRiMzlFN0U2Mjg2NDM3RGEwIiwiMHgxYmZDZEQ4ZUZENTM2NWQwOTlERDBjMzJiNjYyNjkxZDIyN2RBNjc2IiwiMHgyODA1OUZCYUVDMzk3MDVCMUM4MzI4YmI4ZjNmYWExNjg5YjhkZDA1IiwiMHgyNGU0MzFBY2NDNTE1NmZCNWMzRTZEZjA1ZEZiRjUzQjFDNTFmMkVBIiwiMHgxMDUwOTEwYTY5OWM0Q0M3Yjc0YTM2NDJlNWJBMTI5MjkzODFDNjg0IiwiMHhFMmU0NDI5N2E5RUUyMjk1N2Y0YUY5MGIyNzcwNjI1NDMyNkFhQjExIiwiMHhCZWE0ODMzNGY3ZjI4ZTRGQzJBMkEzODIzMzM5YzIxNUE2YjFFYWJBIiwiMHhCMDAxNzVGMWE1MmYwMTMxZDdhNzFlNTY4MDlBYzVFMThFOTFlQzY2IiwiMHg1YjdFNjRjNTljNTVGZUMwMTYxN0EzOEUyZTgzMTQ5Yzc4QUFkNDNGIiwiMHg4MTU5M2VFMUFGMjQyMEMxOGJmNTlCMmRjNDFCNDQ1YjI5NTZFOUEyIiwiMHhGZjRBRUY3NzIzMkYzQTk4ZEFkM0YxY0Y0MDhhNDI2RjZiRTJjNjM3IiwiMHhCMDgzMDU5NTJERTVBMDlDNmM2MWQyYTZFNDFkOWNhODAyODM4MzhmIiwiMHhCNzE2NTI0RjQzQkVkNjdlZGZGNkJhRDZjOTU2MDEyQzc2QUI0ODA5IiwiMHhiQjIyZWYyNkYyRDY4NTREREM4NWFhQzkwRDA1MjQ5NjZmNzhFODliIiwiMHgwMTExODQyNTU1QTM3OGNiYUE5MzdlYjAyODE4MTAxZDAwNDA3MzNCIiwiMHgzM2NhNTk2Y0RiNUM0NDBjYjJmZDA2NUJGRkQ4MTQwMTcyMzY3NEU5IiwiMHg5MEY2QkQwNDUzNDMwNDZFRjE0NkIzNmQ5RjNiZWZhNmQwQzVDZmYyIiwiMHg4Y2U4MzhGODgwMUJjOERGRTdlRWEyQTg1YzVEMkU0YTlBMTA0ZTJDIiwiMHhGZkZBNThiMzZCMUZiZDMxRmEyODk0YzcwQjM5YWE2M0IwNzQxMzdkIiwiMHgxZDRhRGM4ODhCQTQzZmZCM2EyNDYwMGI2YmY0ZDI5MmYxRkE4QTVlIiwiMHg5OGZCZjdiODZDNjJFNTdBNzYwYkQwNWI0OERlQTVhRjk2RkU4OTFhIiwiMHg2M2EwMmJBODYzNTgzMzJGNDBCMTJGYjBlMkU3OGQ1RTc0OUE5RjBCIiwiMHg2NEY0N2JDNGZFNDFEMzU4OWIwRTU2MjI1NkQxQUFiMEMxNTgyRjQ3IiwiMHgwNkZmMGMxMENhMkU2MTAxQzFDZjE0M0ViNzVmNjExNzM0OGUwZDVBIiwiMHgyRENkOEUxM0MwN2QwMTJlNkQxRDQzRDRiMGU4MjREQ2EzQjIzNDZGIiwiMHg3Q2NCYmNCMTc5QzdmOTFDNTAwRDk2ZEU2Njc5YjZkMkRiMkE3MTZkIiwiMHgyY2RFNjI5Q2I2ODA0QjIyZWY5Yjk4NjkwNzA1MzVkQTNlMTViM0JFIiwiMHhCMDRBNTBGRTJlOWM5MDQ1QTc3Mzg5MTIzOWVlZWVCY2ZmNWUwODU1IiwiMHgyMDE0OUZDMjFhMTU4RjE5NTk2NGUwMTQzMGIzQjI5ZWIzOGI2YjI3IiwiMHg0QWZjM2M1Njg5MEY4ZmI1RDg2MTE2MjBGOUU0QmEyRjhhRjA4NDFDIiwiMHg4ZTgzRTk0NzMzOTc0YjEwMmVhODg0ZDM4OTljRmMxRGQzOGNBNWUwIiwiMHg3YjQ0NkYwMUI4NTJmQzQ2YjI1MDkyMTk3QmE5ZkNiRGNFMUVERWNFIiwiMHgzZDY1RTMwOEE1RDZlOTkzOGIyZkVkMWM4QTE4MDg5RGI2OTdEMTI2IiwiMHhhYzI5Q0Q0ZTZlNTJjY0UzRjEzYjk0MjQxYzAwMjkyNTY0RDllNkZFIiwiMHgyNjgwN2IyZmQ3NzdjMmM0MTlkMjMzOTU5RDdlMjI1YzlDMjVBZEYxIiwiMHg1MTAzZkI3MDViZGJkODE5QjY3NDQ4Rjc0OUEyYjVkYjZlNUM4RTJiIiwiMHgyNTI0N2M0QUE1ZjUwMDQxYjcyOTc1OERkNGM5ODg1ZDJEOUJhNzlDIiwiMHg5Njc1ODJkRUJlZGYwNjkxMTE5NzMzMTNFMjliQzdjNUY3MTNiODBhIiwiMHg4NURiRDE4RGE0YTY5NjQ0MkI1YzRhQTk3QTY2MWZFYWFiNmQxODdFIiwiMHg5MDcwNEFjNTlFN0U1NDYzMmIwQ0M5ZDIyNTczYWVDRDdlQjA5NGFkIiwiMHg5QzU3NjUyZDZhRThlN2JkMDY0ZTIxRmQ0MTgyYjQ1RDE3MWNBODQ2IiwiMHhmMWEwOTAwYTcxMTgwOTI4NTI5QzNmNjcxYzgzNkY3YURjOTk2RTdDIiwiMHgxNjdBQzE2NjgxNzVBNUZENWM2MTkxZGFBMThDOEY5YzQ2MjI4MTUzIiwiMHg5NjgxYWQ2ZDQ5MWI1MTIwNEIxMTM4QzAzOGE1OTQ3MjU5QzEwQTE3IiwiMHhCRWEzZDI1ZmU0NjNCM2FGZDdCYmVkMzNGMUMzN2RjRTIyYzEzOUY5IiwiMHg3MjkwMEJDM0QzOEJEOGQzYmFCYjIxMzk0MTRkODFGMDc1NTZENTM4IiwiMHhmNWUyMmRlODg2M0Q3ZDRlRjcwQjMxOUMzYTY4ZDUyOUEzNzY2NDk2IiwiMHhiRDI5NjhkQjY5ODFjNDMwNEFmZDBiN0NFOTJCYzM2MjVDYWUwYWM1IiwiMHg5MTc3ODFCMjlhRDA4RTdiYTRBM0Q2MkYwODMyQkRlMUU4Mzk1QURjIiwiMHg0ZmM0ZWM4NmEzMjBlNDRkOWY0MzZEZDA5QTQ3ODFCNTk4RDU5ZTZGIiwiMHg5Y2U2ZWEwN2M0NUI3RjQ2OUY3N2I1NTk3QTBEOWE3MjQxNEQ5ZGU3IiwiMHgzZTcxNDI1NTE0QWQyQmE1NUNiMzU0MDBCMDZCODhkOUY0Mzg5YTlBIiwiMHgzMkMzNjEwN2I2RUMxMDEzOUE5RUU1NWRiNDFkYjlkODI4ZkI1ZjVlIiwiMHhCMjJlNDAzN0EyRjE3ZDU0YjJmZDRkNTEyRjUwZDMwRTg3OTFBMTI3IiwiMHg0MjM0OEQ2ZTg3RmU0MzFCM2MzRThCMTAzYzRGNDE4MjIyMzAxQ2M3IiwiMHg0NUJENEUzRmU4MzEwNWEwNjNlMzdlMjE4NzlmMjY4OWJhQzJmMTNjIiwiMHhiMWU1ODVCNzI2MmYyOGQ1NUJjZDZDNjA5NUZCZjAxQzk5MDQ2YkQ3IiwiMHgzZThlOTlhM0FjNGVjQTNDQzNiMjZjMWUyMjk1NGM0Mjg3ODY2MzQ4IiwiMHhCRWEzMjM0M2I5NkRDNDQzNkQzMTY5Mzk3RWRkNkU5YUIzMTc3N0M2IiwiMHgwOGVDNDNhODgyZTQ1MTM1RDVFODA4RWRlQzQxRjA3ZTc2MzFiOWQyIiwiMHhCYWY4NzYzZTU0NDc3MUZGMTBhZTY4QmEzODIxRTJiMzVmMWJkODE3IiwiMHhjOWY5NWJkQTZhOTk1YWRmZkYzNkNBYzkyOTI0MUQzOTUxODJjOTBGIiwiMHhiMDYyZmNCQjQ4MTU0RkQzODVmMTA0QjM4QTJGOUYzRkZEODJmZmUwIiwiMHg0ZGE4QkViYTUyNWM0QkU3RjI1OGM4ODcyRDNDMmYwM2U4NWRjMjQ5IiwiMHg1NzM5NTRiNzg2NWEzQTIwOWUzQTg4OEVDNDVhNDkxOENCQjM3Q2E5IiwiMHg2QTc5MjNjQzQ1NEQ3ZGZCQkI1NDQzMzE5MEM5NjhBMDA5OUE1OEJFIiwiMHhmNTBGYmY1M2I4ODNCMjM5OWM0NDYxOEZiMjEwMjAwM0EwNzE4MTM5IiwiMHgzNTY4NjhjODk5MTk4ZGE0RGY2ZEUxNDE0RjEyMjI4Q2YzNTFEZEFmIiwiMHhjOTY5NjdkOEM0NzEzOTM5MGRBOTlCRTdiODE1MDk3MzkxZmYwYjk0IiwiMHhjYjdlODExMDUxQWUxODM1Njk4NDhlNGQ2QUFFMWNEOGI3Q0QyNTJDIiwiMHhCY0M5MTRlMzY4YjI2OUZBNGYwMzlhMkU2ZTI2RGQwMkVhNTFGQ0IxIiwiMHhGODVhOTVGMjREZDA2MzEzZUZFMUZiYjlGNjgwZkVENjk2YzQ1RDFBIiwiMHg0NkEzOTZlZmMzQjRENTc2YkRhNGE2NzlENjY2Y2M2ODhiNDgwNkFiIiwiMHgyQ0JjQjIzRmY2NzhERjhEMzhmNTIwMGNCMjAyMjE4MjNiNzhFOUVGIiwiMHg5MDUwZUE2NjYwNjJDZGI0MGUyZjkxNzUwMjY5NjU5YTJBMTBkNUNEIiwiMHg1RUVkNGJjNjhiNkNlRGI4NjE5MDBEODE0MjZEREE1NDEwY2E1NjI2IiwiMHhDMjI3NTI0NkFjNzU3MDk3Qzk1QkYwMDYxMGY3MkEwYTI5NDU5Q2FkIiwiMHhhQjcwNjBjNzZlNTI1NzM5M2U3MUY0NzJjMUJFYzRlOTk5Q0E0MzgyIiwiMHg5NUZkMTEzODVjNzI2RjRhRGM5MTA0NTAyODk4MmJBMTlGRTAzNzVFIiwiMHhEY0M4Zjg4MUM1N0JlMTY5ZDIwNTY2YzZhZmViQTU5ODQ0ZjhGMTgyIiwiMHg5ZDYxYTllODJENkY5ZUY5M2E3ODA5QThFQTM1Rjk5RjI0YzIwMzk4IiwiMHhERjczQjhGNjYzMTRERDc5MTAwRTBlNGRiM0E2NzJmNTZmODU1MWZEIiwiMHhkODZmQjAxRGZlNjc2MzQ2MWU0RWQ0OTdCMTAxOWM1ZkFGNGM5NGYyIiwiMHg1YmRDYUQzNzA0NDI3ZmY0OTY5NzMyYzBGNGYwNTRjQjdmMjM2ZEI4IiwiMHgxREM2YTdhZDAxQTgyZjU1MTJCMGFDOURhQ2M1YWU2RDlBNEM1MzQ0IiwiMHg2OTk5QjRDMDI4ODRGZTk4RjVkYjM2N0QwYjYxZUVGNmU5MWJkMjlEIiwiMHg0Njg1ZjMwNDRCRWJlZjU0RTMxQTI5MWQ4YjNiZTBlOGE2Q0QxY0U2IiwiMHg0NjJCNjNGMmQ1Q2VkMEE5OUVlMUM3RThmZUFFMmU2NjIzN0U3QjMxIiwiMHhDMjEwYUZlNDM2NWY4NTE1MjU1RTA2MGNiOTUzZGZDZWU1QjYzODhDIiwiMHg5NmUzNjg5Mzg4NzU1N2QwNDYyNzNmNmMwMTA1YzhjN0E5MDA0QkMwIiwiMHhGRjJkNTU1NkZEQjc0ZjE4NGVkZTg1MjBBOGM0MjM1NDBGMUE0ZDNEIiwiMHhCNjc4NTY2NEU3ZmQ1OWQzNzVGZWEyMGI4Mjc0RmUxOWEzZUU1ZUI2IiwiMHhDZjQyMzZEQjc0NmRCQzE4NTVBNEQwOTVBYUY1OGRhOUIwMzA0OTFFIiwiMHhDQjdCQWRhQ0Y0MjFmMDQyOEIxYTA0MDFmOGQ1M2U2M0I5QjhhOTcyIiwiMHgyMjI4ZUEyMDhkYTk2NjhEZDg5YjgwYTFEMDZiNDQ2OGY0RTcwMDMwIiwiMHhkNjVCYzEwOTJiNjI3MTQ0M0ZFMDRmQWVmOGJjRTY2Mjk0QjQwYTkyIiwiMHg1QTU0QTk1RTgwNTU1RjZEMUYzZGRCNDVjNjY1NEM1NzMyYmI2N0VDIiwiMHhFZTY5NTMyRGE2YjM3NDRlMTU0NjNiMzRFYkFkZkYyRWVEOENGMTg1IiwiMHg2ZGM1QzM5OURkMDA1NDJGRTdjRTk2NWY1MzdDNTA0RDVjQjJDMzA1IiwiMHgyNDFlQjRiZTY0QkRmNEE5ZDNBOWQ1RmEwNEU5OTdEODdGYUMxMDVGIiwiMHg0RWJFQTkxQzU5MjgyYjg0YjhFRkQ3NjdCRjEzYWRGRTg4ODg2MjM1IiwiMHhBREU4ZDU3Q2NFOTcwNzJGODQzQWIxNjc1RThjZDI4MzQ0N0EwRWI1IiwiMHg5YjFFOUI2MDkzZjUzMmYzM0Y4ODc4MGRDQTMxYTU3OWUzMURBNjhGIiwiMHhFQjEzN0I2ZTFjRUY3NTJGNzRFMzYxZkQ0OTU1YkVhMkY5MDcwQ0E1IiwiMHhmNzJmRTRBOTFjMjk2NjJhMkNkNDk1ODBEODQ5NjEzNTE2YTYyNTc0IiwiMHhGMzBmNUIyMzgzOTJmNTJhREJiZkY2ODg0ZTEyNDJBNjlCMDZDMjkwIiwiMHhGN2VEZTJFZTcyNDkyOTIyODY0MzE4RjRBQ2MxNjY0YjQwYjRhYjlBIiwiMHg2RDg3NWFFOEM5NDZFMjdBZDczYkI1OEVkNWE2NzdCNTcwOTVhNTJBIiwiMHg2ZjE5MGJCOUIzZjgwNjZmMzM0OTg2NTQxMDM2NDg1MUVlMjYyRjlmIiwiMHhmY2FGOUVEN2JkNUJEMUU1N2U4MmNhRjBFMmU1MjkyOWMzQjUzMTlEIiwiMHhkRkREOGRlMjI1NDhGNzVjYjRCYkVEMjZhMTEyNWExNDY1NjQxQzQ4IiwiMHhhNTEyNjJGNzI5Y0NiZTdFZmUxNjFjMzNjRmMxNjEwQzBhZGM1NjZlIiwiMHgzRTYwRGQ5QTVFZmY2NTc4MkU0MzNEQTNjOTBmMDliMjc0OEE1ZDFGIiwiMHg0QTMyMUU2QzMwZDM5NjY0NWUwRTRlMzBhM2U0MjY2N0JkYTY3OEVlIiwiMHg4QzIxM0I2QzFBRDhGMTNjODdBNTI4ZDFCRmI4NjZiMjRFNjZjQzIzIiwiMHhFNWE3OEI5ZUU0ZkYxZDY5MTExODlhMzA4M0M5QzE0MUY4NzRhNWREIiwiMHg3MTk3MzFBOTk1MzE0YTQyNzE5MkViYjBlNWE5ZGM3MDNBMUQzZjQ1IiwiMHhENDc2OEYyMTZBZWI4N0M3OGQ4RjJGRUMwMzk2QjNCY2RmMDBEMDEyIiwiMHhkNTU4ZjA2QmRjRjAzOUY1ZjJBYjE2MTQ1ZDc3OGNCZWYxQmQ3MDcyIiwiMHg5MmFkNUYzOTlhMjc4NzU0NjM3RDg0ZTlDYkE3Y2Y0MDVDOTAxQjk1IiwiMHgzOEFGNTQxYmRlZDZiNjA3QjM0NWJjRkFGNDI4YTQxY0I2QWQ5YTUxIiwiMHg0OTdmMkMwRTQ1MzA2QzZGMzA4ZTU3YTdBMDJkNDY1MjE0OTVkOUM4IiwiMHgxQzk2Qjk1NUNDNWRFODRBNWE1RmM1ODAyQjBGM0Q4M0M3NzdFZjE4IiwiMHg0MmQyMzgzODNBRTg0ZDQwYjc4NGIwOWI2ZGNkYUI2YjkzN0U3Njc4IiwiMHg4OEYzZjhBNDQyZjQ3RjUxNWQ3NTkzOWM3ODNkNmQ4OURGNmJkYjA5IiwiMHhmNkRhRUJFYjU5QmRGMzRjNDQ2YjA0OUYxMjk5QThiOGFFZjA1MTFmIiwiMHgxREZlQjFkRGQ0MUY4MEExZTI5MzcwZkU2RDNjMTVmNGJjN0M0MUJDIiwiMHhhMjQ5ZTY1MDczN0FmMTlhMjk0ZUY0QjVBQ2UyNjM5NGI4Mjg3QTI0IiwiMHhiNkUzMzBlOTkwODk1MTRjOTk1MjJkMDVBNjQ2NjlEQTAyOUM5YTVGIiwiMHgwM0QyQjA0NEU2YjI1QUMyNUEyMzg4NjJBRmRmQ0Q1RDlBNTMzMTFlIiwiMHgwOTZEOTlhMjlFOTgyNmM2Njc3MTNCMGI0MjI2Yzc2ODNmRTVkYTQyIiwiMHgxNDYxMDEzNWEyNTFiMzhFMWE5MzY0Y0I3MmI1YjZEYjAyYTIyN0I3IiwiMHg1MjA1MjM2MGY2N2NlMTFmMTkwZEQzNjgxMTllMzhhM0Q3NTQ3RDE1IiwiMHhlMTEzOWRjNWNhYjA0Rjc1ZjVCYzEwMUQyMkVDN2RiRTg1QjU2MTQxIiwiMHgyRjgzMzU3YkY5NzExQkYwMUY4RTIxYWU2Qzc2ZEE1ZERhMDhiNGREIiwiMHgwZTNGMTEzZGE4ZmJEN0IxNDI2OTE0OTllMjJhZUMzOGJjZGNBYTJBIiwiMHgzNGFENUEyQjIzQTU4NTVCOEQ0Q0FCZEY0QzdFYzRlOTUyRjRBMTA0IiwiMHg4RjczQTBlQ2U2NmYyNzc1OEUyZTUxOTI4MDAzNjE4Q0IzNWRkQzA5IiwiMHg5ZDBEZGI1YjM2MjE4QzM0NDZGNmM2RkQ1MzJmYTQxNGUzOTllZDM2IiwiMHg0RDdFRTRDNzYzYjFDMjkyN0Y5Q0NFNjIyM0E4NTkwMTBkN2NCNzIxIiwiMHhBZDlBYTU3NDlhZDVmQjQ1QTJlZDVlYTEzYjEwN0EwRDE5ZDIxYzQyIiwiMHg0QzE3YUNDMGYwNzM3NmE0MTZiOTZkRjZCM0Q1ZTFlNDQzNThiMzBlIiwiMHgxMGNmYTc0NGM3N0YxY0I5QTc3ZmE0MThhYzRhMUI2ZWM2MkJjQ0U0IiwiMHg4MzY0QURhMmU2MTczMTRFMzQyNDg1ZTg3RmJFMzZhRjZEOTIzYWU3IiwiMHg3Qzg1RWIzYmM2YjI1N2ViOTZFNTNDNWJGOGZmMjJBQmI1ZjI1MDdjIiwiMHhmNjFjZkNjYzYwNDM4NDcxNDE4YzcyMTk4MjQ5MkUyNWFlOTYyRUJmIiwiMHgyZGY5MmEyNUU0MDVGYzFEYjgxOTRENjJDNzBiNjc0RTVkOTVlMTliIiwiMHhiRDM4MWZhMjllNDNkRUJGOURDNmUxMzI1NzY5ZTMyOEVBYTQxNzI1IiwiMHhlZDY0YUIxMWE2ODg4N2ZkNGZmRjkxNzRENTVCNGNGNUE3MGMzRjBCIiwiMHhiMjM2MDc5MWZGMDcwMzMxOUVmM0QyNWI3ZTA4NjlDOTVCNGQ0QzEyIiwiMHg0RjFjOThmMEMyM0Q2YTIyZWM0RUE0NTFjRjJENzM4MDk2NEU1N2Y1IiwiMHgyNTEzM2QwMDdDMTNjQzhmMEVBMTE1NTc2Yzg2Njc5ODU4MUNhNWNjIiwiMHg4MTFlYTYxQzc4OUQ0NjI0NjdCZmMzMWNlRTdFQ0ZlMUVhOThjQUFGIiwiMHhGRTNjMzA5MzAwMjhBQWNGODEyNzM3ZjE4YjM5YkE4MzNDNWExYzE5IiwiMHg2ODBhNzhjMTdEYWUwMjA5ZDJlRDQyRmVDRTE5MkQzM2U0M0Q5ZDk4IiwiMHhGRjQzMUY4NDEwZjI3QjBlYTVhMzYxRDA1NWJEMTVmNUNEMDkxYWM0IiwiMHhjMTkxQzQyNjA2MGU2ZUQ1NmZlZmY2RkRlYTViNmRCMjNjQWRiQjM1IiwiMHhBOTJEMmU5OEZDQzkxNTg1YzVFY0VlNTQ4NDUxZGEyNjFFNTMxNERhIiwiMHhBQzg3YTdmRjQzMkY0NGRGMGNlQzY5ODIyMTgxRDMzYkU2NDdlMUUxIiwiMHg1YTMwNjQxQmQwOWY0NTkxOTNDNGNhNzM1NTczODUwNzBEQjRmQkREIiwiMHgwNDc5YzExNmMyOTE4YjY0NUJiNkYwMGZhMkIyOWYyQWU3NkIyOUZlIiwiMHg3QzlEOTljQjUzMDU1QTgzNUM0ZDg3N0NGOUM5MjE1NTc1RDgyMUQ5IiwiMHhmMzMxRkUwYUY0YjYyMTE1OUZhNTIxMjU2OUQ3MzRjYjRFQWQzNDkyIiwiMHgwMjAzYjM4NTVhQUNmM2U3RDJjRkY5MkJiRTJBMTgzNGJiRDI0OEJlIiwiMHg4MzA1OUE4YzVkMjNEQ0I1Q0E3MzVCMDQ1ZkJGNDkyNDRmNTg2MDQ4IiwiMHg5OTdlZTY1N2NkNDEwY0Q3QTc4NzJkNzFiMjBDN0QyMDVFRWJFRjhBIiwiMHgzMzM0Zjk4OTI4QzM4NzEzMkJkYWQwOTQ2Qzc0NzUyQTY1MTk4QzM3IiwiMHhmYmRFNzcxNzQ3NjhkY0MwMjM4OTk4NDJFRkI3RkRGYTdDOTJEZGU4IiwiMHhCRGJjODUwNzY5YkZhZjQ1OTU4MDE0NTY4NmMzOTcwQ2I2NjM2Mjc4IiwiMHg0MDBiODBBNDc1N0FDYUM1YWNhMjg5MDJBMzYyY2QyZjE2QjlCNTU3IiwiMHhEODNEODk0QkNEOWQzZjg1YTc0NDAzZGE5MTZkY0E2ZTM3MzE1OTkyIiwiMHhGMDdkRTk4RjgyOGI4ZURjYjAxODY3NjQwRkU5N2ZCNDJjZkRiNDc0IiwiMHg0MjY1MENiRmU1NTQ0RDY1MzIyNmIyODU5QkZkNDVDNDI0Q2Y2RGE1IiwiMHg3MjVDMTA0RTI2MEMyRTQ2QTFDYjNFOUU1RDU0RDExMzI2ZjREYTU4IiwiMHgzQzhDNjg1MTBiNENGNEQyMWZERDk3MjFGMUE5Q2RBNTUyNUMyRTgxIiwiMHgyN0U1Mzk4MkIyRDAzYjZlMDJlQzE5Mjg1Y2FhM0MwZjg5NDY4NGFmIiwiMHhhNTM4OEJmYjQ4NjM4ZTZiZjdiOTU0ZjZGNWZhYjQwMDA2ODg5QmY1IiwiMHg4NzYyNzBGYzg5OTM5MGIzQTBBYjRhZTIxQ2Y1M2I2NzFGMTI0NTA5IiwiMHg3NjNlNGU1NDE2NzJhMjBDQjY2RWJEN2U3OWU1MWMyMjhFQzg0ZTJFIiwiMHgyMzU1OWYzYzdkZWU5RTQyYzgyNjU1QmIzYzQ5Nzg0ZEQyOTM0QUZCIiwiMHhCQzU0RjQxQjlDNkQ0M0E5Y2M0NEI2MTRmZEMyNjkwM0ZkODgyYkQzIiwiMHgzN0QzZTZDMGY2Mzg1NTQ0RTEwRDNBNzA4MTc0RjRCMDhBZTRFYWM2IiwiMHhEOERiMjFCMDZlNzM2MDBEZGI2QjhlQjVFNDcwNjUxQWJhMUJjN2NCIiwiMHhjMGVmNzU0Rjk0MEQ3QjQxNjVkMDVCQTJkODBiYjM4MjEwQUZDZTEyIiwiMHhFMzcyM2U4MDVhMzg2OTNGQTQxZTg3MDFjMDlDMDgyN2M3MDNkMEYwIiwiMHhlYzg2N2I5RDJCMDA5QmI2ZDA4NUFDN0E1NzQxMkE1QzBCMGUzOTM0IiwiMHhjMjcyODZiMzUxMDFkQjY5MGFBNDhmQ2E0QTIxQTJhNWNCMTA5RkNBIiwiMHg5NTg1MzA5RkYzNmYyNmQ1MDYzZTdFNTcwODE3OEVCY0JkRDcxODRCIiwiMHgyYUE1MTE2QzhCMTQxYTNGNkEyOWNGOTMzMjBEMjc0MDNjQjEyQzQzIiwiMHg2N2Y3YzAwRTYwOWNmZDhiNUI1Q2Y0OTlkQjY5MTVlNDgzYmNhQTJDIiwiMHg4YTYxNWU0NjI0MjY3NkM5OENFQ0ZhOTY3ODQ5NWUzM2VlOTMxNzFiIiwiMHgyRmQ4MEM4YmQwNjU4ZmRlNGJCNjNDOWZDN2Y2RTU3NWRiNDRBMDlEIiwiMHhiMjBiYzBENjBFQjUxRjIzRjZkNzZCNjU4MThmQ2QyOUUxZTZDNjU2IiwiMHhlMWJGYzJFNkU2OTBBQ2YzREQxRWYyMjAwMzBjZDc3NzQwZTI2NmIzIiwiMHg1MWM3MkM0YUE3OTgzMzQzM2JBNjJGMjRFM2JENzI0MmU4OTI5NWI5IiwiMHg1Y2UyQTYyNWE4OWM3NjhCQkYxOTRmNTQ0OGQ1ZjAyMUMwZTU3NzUxIiwiMHgwQzFjMDIxODRkNmE5OTFCRUJiRUE3QTA5MjZGY0RDMzhjQTBmMUFjIiwiMHhCNDcyRUQ4MWNGQTM1ODYzRTg0MzFjMDg0Yzc1YmMyYjNEMDk4QUQ2IiwiMHgzNmJEYzM4OTAyNzEzZTM3YTYyMjE4MDE4NzM1NEM3N2I3MThhYzg5IiwiMHhhYTg4MzI0MjI2NUYxMDZGNTI2N0U2MDAwMjQ5NTEwMzgzM2FmYjNkIiwiMHhENDk0NDk5RTVBY2Y1NzFhNWMxZWQ4NTY5NGEzYjI2MEI3QUY4MzdBIiwiMHg4OEI5NmFkMTUxRDg2QUFiMjM2NzI5MmY1M2U1M0M4ZWFGMTJkRmEzIiwiMHg3Q2JkNDdiMTAwMjQ5NzQzNjdEZTdCODU3ZDlDMjNDYWFiNmNjMUM1IiwiMHhEOTBhMWJhMGNiYWFhYWJmZEM2QzgxNGNERjE2MTEzMDZBMjZFMWY4IiwiMHgxNDFlM0IyNDM5NzU0QTU0MWRmNGRBQzYzMDZDNDMyODZiQzBCRTM4IiwiMHhFNTU5QTFCZTlBOTA4NmIyNmZENTk3ODA2NzExNTJkODg3QTRBYzFhIiwiMHhFRjZEMzUzN0ZmNzBFY0YzOUJiMjFGZjFGOEZCNzA4YmI4RUNCMjE4IiwiMHg5MzlmOUNiNDI3QTAxZDkxMWYyMjk3OThhNEQ0M2YzRkMxNEEzNkU5IiwiMHhjRTlDMUM1ZTZmMjVhQzMyNGRiQWE0QzQwNkZDMTU5QThCNjJjNTRmIiwiMHg2NTU2NzFGZjdiY2RlMUM5NThlY0JCNmYxRDJlNjg1NTYxNjU5RTgyIiwiMHg2Njk5YzdhZDQ4RjhGOTQ3ZEY5MEVBMDI4YWJCOURDQzJGYzQ5MjMyIiwiMHhiMzIzMDM0NEVERjUwOTFjNWFmRGJlMzNCRDczRGNjNzg5RDQ4NTQ5IiwiMHgxMmMxOTU2ZjUyNmY4RTBCZEZBMDU0YjkzNzFEN0NjMUU1OUY2NDMzIiwiMHhiMTZhOTg3M0RmZjlEMmMzQjExRTEzOWRhZUE4MjMwMWU0N0EzRjlCIiwiMHg3NThlNTAyMGFCZDQ5M2QxNjNFNzBlMzBmZDcwZDc2N2RkNDQwZTczIiwiMHhmMUUyNWEzMDkxMDgxZmRmOUEyNTcxOTU0ODAzMTY4NTgzOEIwNTA0IiwiMHg5MDMwNERDYTI0OEU1NWY4Nzc3NjRiRDQ0RUVGRjc2OEIxMTI2MTc1IiwiMHgwOTAxNTEyRTAxRDg1YTE0MEY2ZDQ2RmY5RTc5ODZCQjJFREYwOWQ2IiwiMHhjMjc5MDhFZDJGODBkZDhBNzk5NjI1MTE0NzMwZjlmMTBjZjg5ZDk0IiwiMHgzMzlFOGJkOTM0RWZBRGI3QWI0N0VhMTg5NDZmRGUxZDIyNkNmZUQxIiwiMHg2MzliYTVERkUzOUI2MTJlNWUxYzYyNTVjZTBkMjg0RmJFYkUyNDQxIiwiMHgzMTU1NDMzNUQ0MzJkQzljOTg4QjQyNzY4NDE1NDU2Q0EwYzlhN2E4IiwiMHhBMzQyODUwN2M4QkMzNzlkNjkyMTQxNkI3ODYyZDQxMTg1RDkzRTY5IiwiMHgxMkY3NDVlMTM0OUI0QTE0ZTUyODE3MzU5NjUyMmNGOEJlN0M3MzQwIiwiMHg4ZDAzOTYyRjBmMEYzOEM3NTM0QmNkNThEOThiZDRmMENCZUU0OGFCIiwiMHg5ZTY2ZDYwODIxYTM5YmZCMDI0MTJEQzdjMkY5MkQ4MUFFZGZkNUMyIiwiMHg1QmI2NGIyOWYwOWUzOTFlRGQ4YjRFYTQ0OTU1NGQxZDVEMDVCZTFmIiwiMHg3ODJhM0UyYWM2QUYzRjU5MmIyRThFMUUzN2Y1NEY5OWJjZjIwMmFEIiwiMHgzNkZlODVjMDUwNDZiNUI1QjhDYkFlNjIzZDIzQTk3MDVBYUEyZTYxIiwiMHgyNjA5QTU1YWMwQjNmNWI3N2RGY0FjNjBCQjdGMEUwRmYwMEIyRGI4IiwiMHgzMTIyNDZmOTlhQ0FBNzQ2MWFjZGIzRjIyYjExZjYwQzM5MThkQzg0IiwiMHhlOEM2ZDc4OEIwMzFjOTE3YzMzNTM0Mjk4N2UzNGM3NzljMzIxMWQ1IiwiMHgxY0YzMUU5OTk2M0NBNjMzODg2OTgxNDhCNDA3MjgwNDgwMDMyNkE5IiwiMHhCMTBCYjQ2MDRCYzgzQUQxRmU4NUYxNGI0MTU4MmU4N0Q0OEQxNDVjIiwiMHg3YmJFNGU0NENkNWI0ZTNDNTNCN0QyRTkwZmI1MjVFNTYxNEZFMDMxIiwiMHg2MGJEYmJjN0U3Q2MyN2IyMWY3MTY1ZEJhZTUzODA2MzNDZUU5ZjhlIiwiMHg1NDNhNTk3NDNGRTI5Njc1NTM1MTIxNjZmNzM5Yzk2NWVjRDc4NzYzIiwiMHhiMGZCMzVDYzU3NjAzNGIwMWJFRDZmNEQwMzMzYjFiZDM4NTk2MTVDIiwiMHhCMDhmNWMxMmQ1MGU3NzVkMzYwQjYwMERhNzY2YjBCNzdBYTFDODg2IiwiMHg0N0FDMTgwOWU5MWE3MkQ5ODNjNDg5ODg1N2M3NkIwMEFCN2E0MERkIiwiMHhGZUYyMmIwYTA2NDVCZDZBNjQ0NzljMDY5MWIyYTVENzM3NUM0Y0Y3IiwiMHg4Q2NmRDEwNUQxQzgwN0IzOTE1MzdiZjJBMzRhQkJhMGY4QjUxN2VlIiwiMHhFNkE0YzdCMzY2NDJCMjFFNDY5REEyNjM4ZWE1N2JCQzg1MGZEN2JDIiwiMHhjZTU4ZTQ0OGYxOUU3NUNmYjQwOEY3YWQ1N2IwOTFCMWFhNzAxNTc5IiwiMHg0OThCMDFFNTMzQmU3QzY1ODI2QTM3NDA4Zjg3OTVjMGRGNjkzYjc2IiwiMHhkMTNCMGY1YTkwOTlEQzZiOUI2YjIwMTNiNUZhZTdlNzUwQkE0QzRlIiwiMHgwQUNFMkJBZTRjMjRmQWMzODU2Njk4MjREZjFkNjQyZDUxYTFiMTNlIiwiMHg5RUIxQ0I3Qzk1MmJhODAxOGY3RUEzYUUzMkY1NmM3NjlhMDAxZjE5IiwiMHg1M0E0MzUyOGM4NmEyQmZFRGZCMjQ0ZkY2OUM2ODAxZDM3MGM3MmUzIiwiMHg2MDg3N0E5M0QyQzRlNkM5NGVmQTBDOTBhMTBmMTI3OUUwMjA1MmYzIiwiMHhDM0NDOTI3RUM2OUIyZWQxNGRlOGQ0QjFkOTI2QmU4OTcxZTJCZjQxIiwiMHgzMTY0RjQyZTJDNTMzNTBEM2FjRTkxNGZjZjAwRWY3QTU3MkNFODMxIiwiMHhBNjJjYUIzOWRlQTI0MzFCNEFiN0Y3NmVFOTZkNDJCNkZiYTUyMjI2IiwiMHhkYjQxZTMyODNEMGI4MjQ3NkQ0NzVCOGEyYTNmMWEwQzNEODJjQTVFIiwiMHg2NjFhMDQ3OWEwZjNCQUU0MTkxYjE1N2MwRDJmOUM2RUQxMDM5QTBGIiwiMHg4NjAwNUI1N2JlNzA4ZTAzMUVhNjBBQ2Y5RDM4NTIzNzdFNzRhNmM5IiwiMHhmNEJlMTYzRkIzOTc4NEFGNjM3MGRGOEM5NGFhODhCQ2VjMjEzNjFkIiwiMHg5MDlkMzQ2MmJGZDk0MTBFMTZENTU3YTYxMzg5MzAzNDQ2NjU4NURCIiwiMHgzMDBhMTNkYURlMDkxRURCZEJmNWU5ZWRlOTE2OTNlMTU2MkUyNTRmIiwiMHg1MzMyYzkyNTg4QzVCMTQxYzk5ODg4MTAyNzA3NWM0MTg2NWZjZDVGIiwiMHhiMUNlNmRENWFkZTYxQ0MyMDlkRmVhZDgwZjBjNEZhNWI1RTUwOTA4IiwiMHgwNTZiRDVBMGVkZUUyYmQ1YmEwQjFBMTY3MWNmNTNhQTIyZTAzOTE2IiwiMHhmMTY2RjYzQzg4MTEyMDQ5NzNkOUZCRTdGRDEzNjgxNUYyQ0M5YTUwIiwiMHg2OUVjNGUyNDMzRWJBOTE3QTNmMEVGMDAxZUE0YjY2MDFDYWYxYTA5IiwiMHg0NzNBMTYwOERBNjBlMGEzNTA5ZDQwM0U5QkRhOTk0Qzk3OTdDNjQxIiwiMHhFMWRBODhiMDAzNEI2MWM1M2QzYUQxZjcxZTM2NUFCRUQ2ODM0ZmUyIiwiMHgzOTI3Qzk4MzlDMjYzNDUyMzI2MDNFODVCQjVmZDZFQThkNmYyMmJkIiwiMHg5RURmMDczM0I0NzE1NWFlM2VjOENBYURkZjFCMjZCNDdCOURjMzFmIiwiMHhmNDdBMTIxYzU5Y2ZEYTdGM2IzNjU4M0QyNmQ4YUZCQTAxNUEwODgzIiwiMHhkN2FCNjEzZTdmNzhFMTk3Mzg0MzE5OTc1Q0RCNDBFNkVhM2ViRkE2IiwiMHhEODM0MDA1QjQxQ2UzNjg3QkU1YUYxZjU4ODAyNjQyRjA3NjA0OUVmIiwiMHhDMmFhODRBNWQwMjUxYmE0NTkwMjQxYjczNUQ0NkZGM0UzOTA1Rjg3IiwiMHgyOTFjNjlmZGFlYmQzQ0JFOTUzODQzREEyNDNGODYwNUE3NjZhMjY4IiwiMHg1M0MwQjE4YUY5MTlmMmU1MzM2NmY1NjNmYTdDODgzMDg2NzFGNjNiIiwiMHgxYTg1QTgwRjZjMTkyYTg2ZTNiZDVEMDQ2QzhGNDIxZDc5NDdEYkNkIiwiMHhCOTdDZDVhM2UzNjcwNDhBMGEyNDcwOGQ2RmYwNjc1ZjA0YTI5OUNiIiwiMHhkYjBEMUMyMTgwN0JGNzA4MUNBMzg0OTk4ZWZBZTRjRTMzQjExNWIyIiwiMHhkYzZmOTEyM0MwYmYzZjM0MDI0NDQwQ0NGM0U1M0Q4ZDYxMUVGREMxIiwiMHg4NzU2NTg0OTJiMUFhNjg3NzQ3ZjRCQmU1MTQzOUVhQTQ3MkRmZDA0IiwiMHhFRjlBYzYzNDhBMDRBYzA3QzhDZmIxOUZFMTk4MjdmMUM5MmQ3NTEyIiwiMHg1NTljY2RFZDM1ZTE1MDk0NjVDQjMwQ2U2NTU1YjU3MUYyYTVBNTVmIiwiMHg0ODYzMUYyRWVmNjJmMWFDZTA2MDBlNURCMzhjRmJmNzdmNjRhM0U4IiwiMHg3RWIxMUZhMDY3MGFDNTQ5YUIzRTE5RjQ2QTE3ZjU3YzJCODg3NDEwIiwiMHgyQ2JmODM3ODU4ZmZGN2FCNjExMkExQ2I3NjM4NGEwODhBNzVEZjBFIiwiMHg3ZDNiQTdDMzE4OGNBYjhhMDJhNjhiMzY5ZGJkZEMzRjQwNUI1QmY1IiwiMHg1MTE3ODAxNDYxMTQ5N0YxZjFkRTk5QzlkMGZBRUIwODY4ODZDZDY2IiwiMHg5MDJjRjFkQmVEMzdhRUViOGE1REYxOTM1NDVBMzZCNTY2RGUxYTEyIiwiMHg2NDM3NzFjZGM1NGY3RmVmMzUwRTQ3OEU3Qjc0NDRGODEwNzc2MzA3IiwiMHhCMjVFODAzYTYxRTM5ZTg0NENiNDcwZkNDQzIyOUQ1ZURFODc1NGNmIiwiMHhERjE1RDczNWY1ODJDYTJlYTFGQmI4RjZGRjhjNUZEMThCMTA2QzI2IiwiMHg2MDg2YTIyMDgwMzlFNkI2Zjc4ODhlY2ExNDZjMTY5ZTZjMWM3NjBCIiwiMHg2ZDBlNzkxMDAzQjE2RTBiOUI5NzBlQjlCN0M1ZjI3MjliM0ZiNGVGIiwiMHhjNDJFYTUzODc5N2YxMkRlMmU3MjEyNzk1Y0E3MTMxODIzNDUxM2FiIiwiMHhFYmY1MGYzNmRkZDVDMzg0RWY2YTMwRENGQ0NmMTM0MWUzRTM2RWU4IiwiMHg5OGM2OTM4RjE1Y2I4ZTEyQWZGMmE4Y0E5YjBhOWYyZkM2ZTIwOTAxIiwiMHg1QzZjNjQyZDM0NUQ3NjA4MzZCRjVGNGZDN2I2NGMyQkQyRTczZGQ3IiwiMHg0ZTM5MTE0YTREN2UzMEQ2NUQ5MDM4Y0VmMzkzOTkyMjU0MmMxNzZkIiwiMHhERTY5ZTE5MDQ5Mzg2ZWYzQTRCYzEzMTkxMDFmYjBDRWMwYzJlNzdjIiwiMHg5RWFBOUYyRTVEQjcwMDcxYTk1QjA1ZDhlQjgwNWU2NEE5NzhkQzAxIiwiMHg4ZDEzRTQyQjg2MWU0MTE0OERlMjcyZjZGNmMzYmEzMzQ3ZWFGOTk4IiwiMHhFRTc3QWE0YkI5Yzk0QjkzNkE1RTczQ0IzMzFENDQ4YmJiRDk4OTI0IiwiMHgwNGREMmFiMThGMjIyMDA0ZjVGNzkwNEUzN0Q5ZTcwMUU0QjAxMTVEIiwiMHhiM0I4QTRmMTUxQzkxNTg4MTA5OTQ1NjM2NTJGQzU3MzBhNzdiNWM1IiwiMHhkMzllNkU0NzU5Nzg1NDNmNkEzZTZGNTNDMzZBMGY2QjU0OWQ3OGUxIiwiMHgzNTUzN2ExN0FFZUMwM0QyYUJjNjBEYmMxRjljZWZjNzc3MGMwM0NjIiwiMHgyMEEzZjdlRTNEYTk5OERjQkQ5ZEIzZkI0OWIyMDNGZjMzYjBjNTc0IiwiMHg3RTM2NzFjODNFZjI4NDI5ZTQ2RDkzOWRDQjhGNzQ0OTRkMTk3M2NiIiwiMHg3QUQ5NGViZjk5OWExMURkMWVkMTcyNUI0OTE0YTg5Y0ZCODkyRmE4IiwiMHg1NGMxNWU3M0M3MUFFMzllQjc2MjIyNTUwRmUyNjdjQzkyRjQ3YThlIiwiMHg4RTMxRWNFZEVkZjRlZDc3ZTNiNDc1QUIyODM4MmQ5RTg3YzYxMzA0IiwiMHg1ZTljMjk1M0FkMWQ2RjlBOTZBNkNFZTE4ZjgyRkMyYjdFMDk0RjRGIiwiMHg0Q0RlNTY4MzdkNjc4NGFENDI2NTM1MjIwNjVCRWMxMDU5MDYwYzUzIiwiMHg3MTExODg4MjBERTFGNzMwMmU5MDI2NTFDMDE0YjdlNUI2RDU2YTBEIiwiMHhhNTE2Mjc4MTVBZTAyYTc3NzNhNTEzMUM2MzNmMzE2NjRDMDE1OWU1IiwiMHg4YWI0ZEVjZDI3MzM0REE4ZEUwNEFEMTAzOGM0YTVGRENFREM1YjgwIiwiMHgzNkQ2QTg2MjI2ZDJmYzU0MzYxMjQxQjhCMDMwZEQ4NkJDNTVFZDA0IiwiMHg4NjlDQUJDMTQyN2ZFM0FhRDY2YUIxOGZiMUU2NTJjYjVhYjdmOUVkIiwiMHg2Mzk0MDQ2Nzg2MjY3NTM2NWJhMGE0NTdkMEVEOTg1NjY0ZkEzOWQ4IiwiMHgzMzAyMTlhODE4YkU3YjU2OWU0ZjZhNEIwZDZmNjk4Qjk2Njg4ZTVmIiwiMHhBNjQ1MjU4NkEyYzNmZjgwNzY0NTcxNTdGNzMxQkE2YjEwYjFlQjdCIiwiMHg5MjIyNDQ3NzZhMDZiYWE4MjIxZEUwQTI0ODM1Yjk5ZmM4MmE2YTI1IiwiMHg3NEJkMEZEOThDQ2RiQmM2NTQ1OTZGNzgzZTgxMDc0YjNDMDNmNjBDIiwiMHhkN0IyNkJDNTcyOWRlNGUxM0JlYjlmM2UyZDZlMzRiNjMwQzdjOTZGIiwiMHg5Mzk3ZTFENDMzMjk3NGJGZUQzRjc3YjNGYTY3NzdkNjczODJkODA5IiwiMHgwZDA2RTBDODAyYTkwOWMwMkQ3MDI4NTU3ZEQxRkMxZUZDRDEwRDgxIiwiMHgwNjkzNDJEMURkNDBGZjY5QkJDZDA5QjZCNzY2NjIwY0U5MTZFOGQ1IiwiMHhDYzQwOUE4MzFFRjlmN2U2MENGQ2U4NThDMmQ4NkNGMTJhODI1MDE3IiwiMHgyRWNGMjQ1QjYwZTM1MUE3MTFlNTZBM2FlMjU4NjZkMWM4QkViMzI0IiwiMHg5MDk4MEYxQkJGNUY2MTNhMjhmMUNGNzRBYjdlMTVhNDE3MzhkOWYyIiwiMHgwRTEwQUJmQWE4OUY5QkM1MTVjQzdmZThFNjJDQTNmMUI1MEM4RDMwIiwiMHhEM2QwNGI5YWZiOEFBMGNCZDE1QTVhYmRGNzIxODMwODNjN2IwZjJlIiwiMHgxMjYwMTBlMjlDZjY4RTU3QmNBRmU1RmE5NmY0YTg1RUVDODU0NTIwIiwiMHgzQjllNGNCMjRGNjgzNWRFM2VkQTVGQUViRGI5MDYyOUY0MTNFQzZiIiwiMHhjOWQ4NzYwYzdhODM0NTU5MTMyZTYwZTk1MTg3Q0I1NTY5ZUQ4N0MxIiwiMHhlMjYzMGMzM2JlZDJkM2RCYkRCMThlOWM2YzVGOTlmRmYyM2Q3RjMyIiwiMHg0M0U4OWQ1NUUzQzM2Rjg2RDYxZTQ1RDc4MDFlNTY4ODk0YzEzYjUwIiwiMHgzODZBQ2JDODhjNzUyQ2ZiNkNhRDYxM2M5N2NERmU1RGQ3Y2YxNWFFIiwiMHg3OTU1MzNEN2JlMzgwOUFDYkUyNjk0RjY1ZTU5YTIzNDhmMjVGYUQwIiwiMHgxRmM5OUE4QTAxMTkxODAyYzQwYTg1M2NDRjE4Q0U4MTBhOTYxY0FDIiwiMHhDOEQxMjE4MjJDRTQwMTMwRjYzNzAwODU3NzYzQ0FiQzI2RTcyRjE1IiwiMHg4MjkwZjg1QzcxMjAxMkJjNjJlNzgxNzI3ZTg2NTk4YzcyODFGNWI4IiwiMHg1NjQ4NUQ3QTAyNTA2MjY0NGFGRjQxOEEwQkZCYUM1NjI0ODRkZDA2IiwiMHg1OTg0NEZkNGI0MGQ5RDUxMDYyZTM0OEVlNWJhNjJBZjhGNWZlMWFhIiwiMHhlODczODkwQ2FhQjAyZGFEMTg3MkI3OWI0M2E0MzY3QWY4QWVhM2JiIiwiMHhCMjBGM0Y3ODI1M0RhNGJEOEY0QTBmYjVmMTlkQTIzQUU5Y0RiRTY5IiwiMHgwNDUyMzA4YzA1N2U3N0E4QTgxOUZGQjU5RThiZkRkNEJiNzIyNmYzIiwiMHgxOEZFYmYyMERiNUEzREMxMDhEOTI2QjViZjIxNjA0ZDExMzlDNTEzIiwiMHgwNEEzZTk0MjcwMkQ2N0Y2OTQzOTdENWJiZDZkM2E3MjRBNTlCQjgzIiwiMHg4NWNkRjA3NWE3QjA3NjFmQTBjODZmMWI5ODE2NWFGZUVmMzE3MEY2IiwiMHg1MUZDNGVmRTUyNDUzQ0Q5QWU3NTI4OTZCNmI2ODFlY0E0QUI1MDk0IiwiMHg3QzkxN2RBOUY4MTY5YjRjMmUyNTExMzlEMGViRUI3OTYwMDQ3ZWNhIiwiMHgyN2FFMGQ5ZTVkMTRlRWMxMzJFRmU0RGFGQ2U0OWZkZUJFYTExZDBDIiwiMHhDNGIyRTdlYkQyRTMzM2I2YjkyZTMxQjJhNDdlMTVGNDA4NDk1ZjlGIiwiMHhiM0ZlRUFEODVBMTczQmEwNjEzNENkMWNlNEVkOEIyZGUwQTI3MkVkIiwiMHg0ZTk5MzA4OGU5RWMxRjQxMEUyRDI0RmMxN0QyODQ0NmU2M2UxRTUzIiwiMHhGMWYxMjU1ZTM1N2MyYUExYkM1ZEIzZTY5Q0ExMENjYzFGOTc4MjcwIiwiMHhkNDNFOGQyMjY2ZWVBMjAzZGNjODcyOTg3NmU5RGY4MGJjMzg4RDA5IiwiMHg0MTY0OWM3RGJiZTNCMDkwRTNDOTMyOWY5OTk3MTA5MDNGMTQ0NEE5IiwiMHhhNmYzN0JCOUFENzQ5Mzg3NTFiQzk4MDc3ZDRGMDhFN2QyODA3NDhiIiwiMHg5QjVEYTk1RjVBNTlFMDc5Q2EzOTVjMEUyN0ZjMUExNzY2ODM1QjExIiwiMHg5RmRjZDNBRTZkZDdhNjU1NTRlOTYwNDA3N2RGODVFNWYwNzU5MDA1IiwiMHhCMjRjODdkQzQwOTZhZTQ0YzA3Mjc5YTg2YTdjOTA4RWEwNGQ3Yjc4IiwiMHg2RERjNTJENTQ3MWJkMWRlNURkMGQ1M0Q0YzZFNDM3NzZBNzAzZDVDIiwiMHgxRDhCQjdGNDU3NTVDMDJlNjg2OWJGNTFhMDQ1NDZjMzM2ZjdmODk0IiwiMHg2RjdDYzQ3RjI1NzMzN0Q1YTc0NjQ4RjdlMmJkOTdjMURmZkRCODg4IiwiMHg5NEVjYTQ1OTA3RWI3NTUzM0NDRWI2ZGM2MkRjNEQ5NjgxOTA5MjlmIiwiMHg0QTFGNTk0ODM0MjI3MzUxNkE2Y0NmYjhkQzkwNEE4QjUwMGE2NDI2IiwiMHhEQTZBOGM4RjczYkMzQjU1NjU1MjA4ZDExZTIxZjcwYWUwODE3ODQwIiwiMHgwNkJjRkMzQ2M2Y0YyOWJDYTY0RGIyYjlkODhiNjczRDlEODMzMEVCIiwiMHhlMDBENWVjQkJiOTg1NDgxMzczZDMzMDA3YWVhNjAzNmU1NUZGNkVGIiwiMHgzODE5YkI0NkM2YjQ4OEYxMzRFNjQ4NDA1RGFhZTUwQjExRkEyNmQ2IiwiMHhhNDJlRjAyM2E0NTk0OGRFMzI3MzhEN2Q5MjIyNkFGODhDMDBmM2M3IiwiMHg0YTQ4NDE0NWIzRDdBQzI2NjlBOTQzQUVhNjBmMTYzZjlFZEU5MWEwIiwiMHg5MmZlMUQ1M2U2ODViZTNENzFGODM4MDcyRTU4MkJlODk3Q0E3Y2VCIiwiMHg2ZDQ4ZjExOTBFZDBFQjNlMzIzMzExMjkwNjViREFkMkM0MzRGRjQ4IiwiMHhENzBCODQ3NURERTZlNjk0MzQ5OWY5MDRFNEQ4NzUyNDg4N0M0Y0UzIiwiMHg3M0RFZDU3Q2FjMkIzNEEwN0QyQzU5OGEzMDIxNjQ2MzdDMDdGQTQ1IiwiMHgzRGY5N0VCNzdDNjY0QkE3NzAyQzJDZDVEMWRGMjFFZjBGNTQxNDk3IiwiMHgyQjJiOTU2RDFFYzkzM0UyZjY2NzE1QTNjMzg3ODQ1NGZGZDg4ODA2IiwiMHgzQTlGNDk0NUM0RDRjYjZBQzYwYjMyMzY5Nzc2M0MxMzg5NDk1RUQ1IiwiMHg0OUYzQjRkOWUxMWI3MTY5QjE0QzQ1NTllOGE1RDEzMjgzM0QxOWRDIiwiMHhlQWZEQTcwMGIxOUJBYjY5Q2M0RTA1M2FCMTUzQmQ0ODU0NEQ5NDA5IiwiMHgzOTdmNEIzMDI3NzkzZkQ0QkEzRTg3YTkxQmIyOTIwZUYzZjhhZGMyIiwiMHhhM0E0Q0EwNzIyZDYzZDE2NTEwRjVEODg1M2JEMTg0MEFlNDAyNEFEIiwiMHhjRDBBNTI5NWQyMDUxRWJkMDJGMDAzNTI0MkVCRWFjOTM5ZWRkOEUxIiwiMHhhMzA5ODQzOGVDZWUyODM1M0Y4ZjJiMUY4MzYwMzFlNzhlNjNGMWEzIiwiMHg3QTg3QzI3N2FhZkQzOTBiNmE2M0E2NzUxRDczMzZEMDA3YjdiYjlhIiwiMHhkMzFhOTM5Q2MyMkU4NTgwYWZBMzU1YWRmRjEyQ0RjMWFkZDQzNmY2IiwiMHg2NWUwZkM1YmQ2N2E3MzljNjQzM2RDQzkwMzAxNmY2MDk2RjBFQjI0IiwiMHgwNzgwQWZkNTRCOTRjZDM4MDk4MjE2MTFkNkQ5MkUxRURGNTQyNzU4IiwiMHg0NTM0NTMyYjZFMUJhZjM1Mjc1YjVjZjQ3NzA3MTMyQTA0ZGVjNmRlIiwiMHhiNmFFODlEYWI3YzIyNDlFMWIyODA4ZjE1M0NhRDE1MzU1N0M0YWExIiwiMHg0YjgyNGQ0NzY1NzA4YzQ0NDc1Yzc4MWZhNDU5NEFFMzdEMUYxMzBGIiwiMHhiQURDODc1MjU1QWRCNzgzNzg4YkUwYWYwMERDRjk1N2FBODZCODc2IiwiMHg3ZTFjOTVEMERBOTc3MmFjOWYxQzREOTM2YWM2NGU1NjUwMDFGODkxIiwiMHg1OEU1ZUY4MzgyRWJkQzQ1Zjk3MjA4Q2Y2OWUyMkUxYjNkQUNBZjkzIiwiMHhlMjE5MGE5MWI3MkQ0RjlBODZiMDVkYzNhNjBCYzIwRGQ5NEYwNjFCIiwiMHgzNTM3OWQ1MTNFYzg1MDZhMGYwZkYwYkQ3M2RiQTlhOEZmOWI1RTExIiwiMHg3OEZhNTUzNmU2QTVhMDY0NzFhZkVkNTIxOTgxNjQ3MTdBRjY1NTk1IiwiMHg1RjA5YmI1QzllYzYxMzk3MzgzZkNlQTQxZDkwZUI1QWNDN0MyNzYwIiwiMHhjNTIzODAwNzI5RTMyMzU5ZDQwQTk3RDRkMDQ5OGQ5N2FiZTc0QzYxIiwiMHhiM0E5Y2ZlODkzNWEwNERFNjdGNUMyNzk5OENmZTNkM0E3YTYwOUUxIiwiMHhlYTFCNTM2NUFmMjhFMTE1NGFlQjU3YjNCOTgzOGVlZDcyYThkMzdkIiwiMHg5MEZDNzgwZTJhN0FEZDBFRjUzMmNCMzNEMmI3MzNCYTJmYTYyNzdBIiwiMHgzNDI0MzNjQzUzNWU5OTczYkZjODdBZTMyNUE0MmMxZURDRjA2OTI0IiwiMHhiNmU0MWY3RDJlNjQyMjlFODBiMDhjZjZDODEwM2JDNzg4MTE3MEUzIiwiMHgzMzc4QzVDRDc5QkNiNjg4NjFBRkUwNUY3MTE3M0VlM2I2ZjkxZmEzIiwiMHhmNzAxM0MxYTA2MTI4MDI2RTZjM0RFMThmM0RFN2NGQTQyMzZDYWJjIiwiMHgzMzc1QUNjRjcyOTFkRjI4ODg1ODIyYjM3ZDg3MmFlQjlkMTQwMjlkIiwiMHg2Q0I0NDZCMzNCNzk3YTgxZTlGMUI4Nzc5NUJCYkIyOUIyZTNlYTk2IiwiMHg5Zjc1Zjc4YjlGZjQyRkJiOUUxYjRjMTJkNzczNzNGMjdmOUVmZDdFIiwiMHg5OTI4YjMyMWFmRUQ0Y2I3QzdiMTg0MDdDMTQ2ZDhENWExMDJGMjIwIiwiMHg5MDQyNTQ1QmFCQzM2MEE4YTVCNTVFNDg3NjhhMmM0RjU5NmQzREMxIiwiMHg5ZEVBMzZkOTQzRDA1YWVFZkJFQTIzNDg5NTZFN0VFMzlmMDA4ZjU2IiwiMHhiNGYxMGU2Y0MzNTlkM0QwMjcwRGVGZGNiMDYzRkVkY2I5OGFjQTRmIiwiMHg1OGZlMDgyODkzOTIyMzdlOUJiZTQ0NzY2NzhGOWNFMTU0MjQzNzQ0IiwiMHg1MDEzYzZEYzYxRTAzMTMxRTBDNDY4Mzg2N2Q5YTk1MGJhQzk0MjI3IiwiMHg5MkM4YTlGODUzRTg2MWQzNjI0NWQzOGI5NEFiMkZENzJFQzdEM2JhIiwiMHhhMTEwNjY2NjMzNUVFNkRDNWZBNjg4OEMzMTlBNjA2ZDc0ZUU5NTYxIiwiMHgzYTgzZTIxQURiZjQ4NzI4ODk5OTZDMjhGMmZlMjQxMDFDODVCOUZmIiwiMHhDNTViM0U5RDg1NTZEYTgxQWUzOGNiMTkzRkI1OTNlMzRmN2RiQkJGIiwiMHgxYzQzYjBhNjdhNWE1YjdjZkMxZWM0MTE0OTY1NEY5MkIwNUNCMDc2IiwiMHg4RTY1N2IwOWYyQzZCMUE5YTlkODM0QmRhOWFlMGRFMDMwMDJCOUE4IiwiMHgzNUEwYmFGQkJjMjNFOTQ0ZTg2YmNiRjg2NDAyN0ZBNWFFNGQzQzEyIiwiMHg3MjlmQzBDMDc5N0IwMjU2QjRlMjRCNkY4RmFhOWY2RjlGZWUyNTAxIiwiMHhjNDFlMmM1NTJkRTQ3NmYyMzkyOTUyOEI5YUQ1NzdmNGI0NTE0Nzc3IiwiMHgzQUVFRTViQTA1M2VGODQwNjQyMERiQzU4MDFmQzk1ZUM1N2IwRTBBIiwiMHgwODQ3NTUyMjA4QWQxMzNENkM0Njg3YTUzMDIxM0QyNjQ5NWUxYmNlIiwiMHg2ZUY2N2VFNTA0QTYwRGU1RjU1OEI1MzAyYkRiQTlGNWRBMTFERkFkIiwiMHg1NmRlMDY5ZjU4NTkyZUYwMTI4ZEFFMDhlNENhMzAzY2UyRjM1MEIxIiwiMHhlNTdFMDI3MUYzY0Q1RUFmQTY1MmY5Mzk3OWM3NzYxNTAyMERBOEFDIiwiMHgzZWY2YkNCNzMwODY2NzExZDE3RWQwZDlGY0ZiMENhZkEzYTU3RTE4IiwiMHhBNjE5NDEyNDc4RTIzRTYyYUI2NjJlMmQ3NUFmRTNmOTExN2RmMUZFIiwiMHg3QUNiQmM5NzcwM2Y4YTRlNzUwZmNmRGQ5QUU4NTg4NDc0OEVhOWIyIiwiMHhCOWI3NTJGN2Y0YTQ2ODBlRWIzMjdmZmU3MjhmNDY2NjY3NjNBNzk2IiwiMHgwZUY1YmM5ZDUzRjZjZGU0NjRiMjEzQzY5MWViZDg0OUFmMkVjYTRGIiwiMHgwQzEwNDUwNGZlNTMwOUNBQjA0ZTg5ZTA4ODFBZGNiMjRiMTY0MzFhIiwiMHg4ODYyZjNkMTQ3QkMxY0M0Mjk0YzhiRjFEODUyYzhCQjNiMTJhYTJiIiwiMHhDNmNmYWEwY2JhNGRlOUFCQTM0QUIwOGZCQmE0MTE5RTgzMWI0MDhBIiwiMHhGOTQ1QkUzRGMwOTAzOTc2NmMwMTRhNzAzODk1NTAxNjA5MjQyRjVFIiwiMHgwRTY4MmExMTJDOGE5NDUxMDI5MkQ1NTkyNmM0MzcwNjUxNTU5OTgzIiwiMHgzN2Y1ZkVjN2E0OWM1MThlMzI4NkQyNjkyZDY2MjViN2YxZEVERmNBIiwiMHgxYjRGNEI4QjEwQmZhRkYxZDllNDRDRWMzYzRCNzI5OGZmOTI4MjdlIiwiMHg1QTNDYjZCM0U0MkM4MTAxQ2JjMEFCNGMzNURBNGY5MmUwRGQyNTg2IiwiMHhlN2VDN2NjNUY5M2U5MTYxYzM0MUUxMDg4MTlmM2FDZjRFMUU4MTBkIiwiMHgyMjIyODQ3NDA0MWYzRDk4ZWMzMTRFYjcxMzYyYjZGNzk5NzFkNWZCIiwiMHg3ODA4ZTVjNTk0YjI1RmEzNUNmMEU1NTY3YTc2ZjAxNDgzOTEyNTEzIiwiMHg2MjdlYjdFN0UzOWM2YjlmOTRCYWQ0MjBDMzkxMGVCMDE3N2FlMENhIiwiMHgwNTMzOTI2MjYwMzhCZTVjM0QyNzk1ZEZjMmNlM2U2RkQzZTQ4OGYyIiwiMHg4YTA3ODY1ZTFGRjZBMWMxQjU0YzIwQUUwZGJiQjA2Qjg1MkUzMjMxIiwiMHhFMDY5NjQzNGI3NUUzOWZmQ2VkNjY2QWE1NjgzM2Y1MjI3Njg3YzFkIiwiMHg3MjM3NzRiZDA1MTI4MDI1Nzk5NjYwREM1NjNCMjdCNzA0Y0QzQTIwIiwiMHhDQTkxY0Y5NjI5NThlNzE5Q2RmRjRlRGYzYzA3NzI2RjZiMDJDNzdGIiwiMHg4NDg2YTVjMDM1NjljODRiYjVDMmQzOTkzY0MwNDRiYTkyMGNFNWQzIiwiMHgzODc3NTllN0Q3RkJCQUIwNWRkMmQxZjhlYzNEQ2JhQTVkYzUzN0E3IiwiMHhFNEI4ZDE5MjM5ZjMxMDFGZDZDNzEwMjY0MEQ0MEZGZDI5ZjUwMDYyIiwiMHhGYmMxRTg5N0U5MjNGOTQ4N2RlOTQ5NUEwQjYwNTFGOEI5RDYzNTBEIiwiMHgxMjdGODA4MDQ2NmQzMTg5MDdiMWFjMGREN0MyMDUzQjA1YmJBYUFEIiwiMHhFQkU3QTRjMTFkQkJiRkIzNTQzOWNGOTIxRDVEYThGZUFhYzZEMWYzIiwiMHgwQWFkQzU3YjUwOGVmZjRmRWVENjY2QTdCMjM0QWM4OTk5MDVFMGQxIiwiMHg2MDhiNDcyMGU1OEQ0MzY1QzIwNzY4NzVFOTU2M0U3MjREMmZkRDdlIiwiMHg0RjZjMGE3RjFDYTkwYjJEQjk2MDAwRjgyMzA5MTFCQWE4QTI0RDZEIiwiMHhBOTJDNzUyNmUyNzdhNDgwOGZjZDQ3MzdiNkI2NENmMDc2YzIxZkJhIiwiMHgxMDJCNjk2NzI3YmQ0QjQ5Q0JGYTU1NkFhMUM4ZGUzM0Y2RDM4RTNGIiwiMHhFNDE0ZkU1MTUyZkQzMUYzMUM3NEY1NzY4YTRGRTdCMTRmNTEzNGY5IiwiMHg5ZGMzRDlBQjAyOWE3NjhGOEZCQzk0ODllQzE5NTQ0OTg3ZTMyMDdmIiwiMHgyRTAyNDk2NkQyQjlCN2ZBZGNDODliYzM3NTdkODUyNkREQkFEZGMxIiwiMHhEYWMzNjNGNTdGYUVjQ2M1NTkzMDU0MTFmYThhNjcxNzJDMTg0ZjM4IiwiMHg5MTk0NTZDNkU3Mjc5QUNFOTRBMkNhNDhEYjc1MjJiRDA3N2EzNDNEIiwiMHgyNjA5N0IzOTQxNjFBM2I4MTlFNzIxMTUwMjQxMkJFZDcyNTFiRjNmIiwiMHgzNjRGNmJGNTNGMUNlZjdBQzRiRjVjMzc0NDE3RTBlODAyQUM3RDc5IiwiMHgxODdBODdiRWIyQUQ5YTNiN0NGNUY1YjlDMTJGNEM1YTA1NTRjNmY4IiwiMHgyOTE2M0U0Y0Y4MDQxMjExMDE2ODAyMTJhRTM5RkEzNUU1Njc5RjI5IiwiMHhCMEU0ZGU0NUJkNTM4ZkRDNjQyN0JDMjJENGI4NDZjN0RjRGIzNUE2IiwiMHgxODJkNjY0NTMwM0U3OTAzMURmMEMzMDdmNDcyMWY3YzA5N2VFNTlBIiwiMHgwOThiRjM1QjJmYmM4YzkyMmVkMTdDRUU1RTgwYUMyMUM1MjAwN2YxIiwiMHg1MTI1OERDMzMyMTk4MzY3OTc3ODA0N2UwNEY2NTRkMUZEODFEMjc1IiwiMHgxMzkzNzVmNTNmNjFCOUZjYzBGNjE0MTFmNjZjNmY1MTkwM2I0RTQwIiwiMHg3NkNCRjlCODFlMjJlYzI3MjNjRTYwRmI3N2Y5RjFmNDNCMDg5ZjE5IiwiMHhmMEJiYzA5QzY1RTYzOThiQmRjN2Y1OEVhNWExNTFmMTFBMjlDZDFkIiwiMHgwNTVhZWNjYzE1YzBiQUIzMDQ3RjhGNTA0OGMyMUI0OTRFRjBlMWI2IiwiMHg2ZDE5NzdDYjUzMDFjMjRDQzI4RUUyMmNCNWExMDFDMkQ5RDE4NTE4IiwiMHhkMDQwNDAwMGNjOUU4OTVhNzYxMTczRTQwM2M5NGIyMTg1NWZEOTk5IiwiMHhjRDFkNWZGOTI5RTJCNjlCQkQzNTFDRjMxMDU3RTlhNzBlQzc2MjkxIiwiMHgzZThmQjQ5YzhGNTc4OTc4MzE3NWY3OEI0NEVDZmU3QzE3MzJjQjc2IiwiMHg1OUVGMTk1RUIxZWM2RjMxNjM4MTllQ0U1YjcxNkUzZWFBYkJFQjUxIiwiMHhBY0RjMTBDYzQ2RDAyMGM0MDcyYTYwZDcyMjczMmFDMDBFNGZiMEU2IiwiMHgxRjgyMWNkNkI5MUZlOGE2M2E3MTI2MDdkMTYyQmQyODE1OTJGRTU3IiwiMHg5MTM5MzNBQzc2QjhmZjEzRWMwNThhZEMxNjY0ZTUwOEY0MjdjMjE1IiwiMHgwMGUzNzZBNmY0YUY0MjM1MjUxMEUzOTk1QzRGMjg1MjQwRDJCNjg1IiwiMHhBYTAwMzMyYzExMDhGMUQ3NEE3NjE1OEFiNDhhODNBQ2RDMTdmQjY1IiwiMHhjNWY5Nzk5QTgzYjVmOEI2MDEzZGY0ZkM2QTU5N0Q3MUQyNDQ5MjYyIiwiMHhCYjM4RUY1OUY1NTQxNENDOGJiNGYwNzBBNmI4NzBmM0UwOTk0OWY4IiwiMHgzOTYzMTBhZjFmNjNEMzE4ZmZBRDAxYjViMDVhOGRjMUU1ZTUyODUxIiwiMHgwNGVBODE3MzNGYzRhREMyNTFlRDU3OWQzNzYwMjg1MzRkMkY5ZTJBIiwiMHgwYzNENmZhYkIxY0U5M0VCYzI1YjUzRjNlNjhENzk0YzMxNmMzQjFFIiwiMHg3RGQzMzdkMzQ1MTQ3MmU2Qzk0ZEVjOEY3QzY1RTQxZTIwMEYxMzVmIiwiMHgyMDI2N2U1NkYwOTg3Mjc4Nzc2NDY0ZTU3YzBGN2RBZjU0QjkzNmVBIiwiMHgyYmQ2OGZkMzc5MjBjNzQ0QzIzNzdmOGMzNjU0MTQ5MDJDNzE3YTQ0IiwiMHg2NzE2N0E2MjIzNzYzNTE4NDg1MzkyYjU3OUQ0MzNhNDNDZDk0MjE1IiwiMHhiMEFEYjM4NEVDNUJDNDk1ODFlN2VEMjM4NzY3Mzc4NjlBM0NkQzE2IiwiMHhDYTBiZTQ1NDE1NTlFRkNCOEIyZDFjNjcyNjM4MDk4ZTViNjAwMjg5IiwiMHgwRjU1QjFEMERCNGZkYzE0N2VhQ2QyNkYzQzdkMzg2ZDE3NTM4Nzg3IiwiMHhiQjQ5MjMxNWE0MzlhMzlGNjRDQmJmRDg4MDdiNjcxMDI2NkE1ZUI5IiwiMHgxMGU0MEE4QzVDYTg0RTdBNjljMjMyMjMxYjJjNjExN0RERWM0MDhGIiwiMHhhQ2I3NDIwMUZlNTU2Y2U0YjAxZEYxMDRBYmEzNjY2ODU1RDEwRDA5IiwiMHhkRDk3QjhiYzcyNTcwMzQyNWMxMmFEMjk5M0U1YmY2NjdiNjA4YjNjIiwiMHg4QzhiYjI5MUJhZTY2OTkyRTNCRGJhOEE4NGYxNEUzMWVhRTE2Y0JBIiwiMHg3MDU1M0UyMDM2QjU4NTYzYWY3ODA1MGQ0NTcyQWZhMDQxNjg1NjIzIiwiMHhkNmM2MjY4OTUxYjk2NTYxMTMzMjliNjBEOTBjYThDNDIwRTQ2MDViIiwiMHgxYUNENWNhMDA2QTAxMDAxZTQ2QzZFRmI2NjQyMzM1QTY3YkUzOTI5IiwiMHg3OTE1ODg5QTk0RjYyNGNmZjIxNjRCN0UwQTEyMzYyQkUzMThDMzE3IiwiMHgxRDE0NjVGRGRkQTlDZjM5ZDc2ODZGMTU0M0I4NjZkMTdhREZlMzc0IiwiMHg3MkVmNzIyZDJBNmMzQjcyZTYxMTNCNmYzZjFjNjJjNzVhQTE1MkU1IiwiMHgyOGU1ODg5MmVFY0EzOUVmMzBiOTg1MGY0MjRkRmYyNGIwQUQ1MUJmIiwiMHgwQTgxNjMwQ2UyQ0I3Mjc3NzczN0IzMTQ0RWNFMmE0QjM2Zjk3Mjk4IiwiMHgzRWU1MjcxMmY1NDU0Q2JFN2RiQzFGQjhCZjYxM2IwMjM0YjgwOTgzIiwiMHg4MzRkQjBDQTQxNjM1OGU3OWIwRTZlQWFlOUEwZTRDRDY3ZGQ4ZEJCIiwiMHhhMTkyMWFhQjM1OTc1MzM3OEZDMDY1MDg1QUVGNkM1OTRhMjQ1Mzg2IiwiMHg4ODgzMzZBODcxMWQwOTZmZTZFZDlBODRBMzU4ZDRBNUVhOTVmMjgyIiwiMHhBRTJBNWIyQjJBMDdDYzQzNGU5NWIwOEE0RTIwMjJCMWJENDJmRDRkIiwiMHgyQkJFNzBGM2Y2QTY1NWE3YTE4MDc0ZTIxODNlZmNmM0MzNzMzZDA1IiwiMHhiNjRCREEyOTNENjA5MTU0Zjk2MDBiNUVFQjFFMUM1NUVlN2QxZjlCIiwiMHg5NzczZjQzOEYwODU2MDk5NDExZkJCQzBDOTY0ODczYjIxNEI3NDA2IiwiMHgwNDcyOGI0Rjc0NzZBMmM4MzAyYTc4MERlQjViODJBOTM5OGVlRkEwIiwiMHg2NTI0NTI1ZjYyODc3NUZhYzczODllMjZjNDRDZWMzQjBlMTFGNDk5IiwiMHgwMUQ5MjI5NEJmM0I3YWRCYUI3Y2Q2MTVBNkRFMTg4ZjQzQjFGNmJjIiwiMHgyNjU4QTdDRDUxZDdmOGUwNTg3OUNEOUQxMUJiQ2U1RTQ4OTQ2ZUQ0IiwiMHhkYWI4MTk4MjMwNTUyN0UwZDU2Y0JCQkEzNERhRTIwRUQyMzc3QzFiIiwiMHhBZmZmOERGQmExQzM3Q0ExMEE0MTg5MjJDQmUxRjgzNzBBNzAxNDlDIiwiMHgyMDVEYWZDNjJlMTg5RURiMzg2NzQ1MzYwRDZjRERjOTQxMWFBMzVkIiwiMHhkNzY1NmM4MTliYkJBRkFhQTAzRDM0QzlDODEwOTQ0MDRDYzAyYzQ0IiwiMHhjZTc0OUU2MjQ2M0IzMGM3MjMyOEM0NThEM2RiNTVlNTVhMTgwOTAwIiwiMHgzZjI0MEI5MjNBM0M2MzEzNTI1QTUyMThGNzVGMDU0NTFjRDNhMjVkIiwiMHgzQ2NkQTlhZTMyYTZENEQwQUNmMjc4RmY4OTE0OThjRTI4NjczMTAwIiwiMHgyRjE0QUMxNjI1NzJmQkQ1YUVhMTZmYjYxMjdCYzY0NTU0ODkwN0RhIiwiMHhjMTM0ZjNCRTI0ZTRDOGRjMjYzMkVFZjNmYzM0RDM2ZDFFOWZkNDk0IiwiMHhENTcyRGM1OGRjRjMwMkJhMWY4MTEwMGNiZEI0OTlEOGRDRDVhQjA1IiwiMHg1QTY3QUQxREQxYjA5OUZBOTg3MWU4OGVkMGEwNGI2MWU3MDcxMGI1IiwiMHhFNDYxMGM5ODM4Nzc0ODBhNTBlZUEwRDUzRTMxM2VEYTQyM2VDNjc4IiwiMHgwNDUzYTNEOTVCMGMxMUFlMWNENzQ4ODYyNzI1Q2Y1NjQ2ZjFEYWU4IiwiMHg0MjhBQ2YwRjliNzkwM2ZGNjk5MEUzQmJhYzkzQ0M0M2VDZTExNDY5IiwiMHgwQzBDNjI0QUVhZjA4NkNCMDk0NWQyMDA3MjcwZjU2ZWIwNTcwMDAyIiwiMHgxMEExMkRBNkMwODVENDFFRGEwYTA3YjFFMUU3NmMyYTU0QzA0MDdBIiwiMHhFNzY5MDEyMjk4ZjU0MWQ0MUMwMDdDNTk0Mjc5YTk3NDg4NDI1ZTM0IiwiMHhCQWU2RTQ4NTYxNTg1RjM0YUUwQTQ5MjFhYjdhQjk4NTFlMTdmMjM1IiwiMHg2MkZiRGYzNmQ4MTU4QzQ0YzZjODVjZDBGMDk4ZmZGQUJGY0YyMTM5IiwiMHgwQUMzMDk1ZTNmNjM1YjhkMkEzMTFGNjhGQTYxNmE2RWEyQTdBNjdDIiwiMHgxMzZFY0Y5ODUwNDE4NjQ3NTgyRTAzM2FDNWIwQjgyMDE4NUM1Y0YxIiwiMHhEZDg4MjM4MDVkNzAxMmYwNDlkYkJjOTM5NDhCMjA2NGJENDk5MkM5IiwiMHhEMTI3YWE1ZWIyNDE0NDcxQTA0NjllNjU3NkU1ZEM2Njc1MjE3Q2NiIiwiMHgzNUMzMzZiZTUyRDViM0JmOWZGZTJhYzIxNTU5QTA1N2RkQmFjRjQwIiwiMHhjZTM0N0Y1QzI2NzI4M2E2MjcyZTg5NzYzQjRhNmUxZjk0NTdCQkFiIiwiMHhmY0ZEQUJDRTg4N0NiMjcwQzkyNjhCZGRFMUU1QzZlMTA1NDQwNEQyIiwiMHgwMkNEZTZCZTM0YTU5ZkYwMUFBNTMyZDU2OTU2QTNjMzM5QzI2MzIyIiwiMHhmQmE5ZDNiMWMxZGE1NDcxM2Y0NTQ4ODJDMDg4NGM4YjhGMEIyM2E2IiwiMHhGMDE3N0ZFNjkzRWI2RUIxOTE1MjdFN0Q1ODZEQ2M3NTU0MzUyN2VGIiwiMHg2Q2Q3MzAxRDgzNjYzODIxOThlMkFiN0QzY2M0YzZBNzRmM2I0RkM4IiwiMHgyNGU0MEExRDc1MkVmNThkNGY1RWRCMkVBOEI1OUUwOGE5MzM0QjZCIiwiMHg2NjE1RDhFRjdENzYyODc4Y2FFNTFjQjE4RUU2NDdmOWMyODI1NTM2IiwiMHg0OWJjMDQzNERCNmY0RkQ3MjY2NjFENUFEMzM4MzlDNzc1Mzg1MWQzIiwiMHg5MjZiYzFhNDJEQ0RGZjYzYURCODRjRDRhQzE3NEU2QjkzZkQ5ZThBIiwiMHhkN2U3MjFENjAxZTdGYUZjODY5QWZCOTYyMjg4NmExMTIxMWE5YTY0IiwiMHg0MDE0MGZDNTQ2ODgzMzY0Njk2OTQ3MWNjY2M1MTQ3ZTdkNjc2MThFIiwiMHhhMzRFM2FCMTY5NTJiRDIxNGJCMTI0MTkxNUUzODZFZDQzZmRjQzFGIiwiMHg3NTIzNTQ2M0U4NTg3N0JFMTEyMTgzMzY4N0RiMWFCQjE0YTA3OTQ4IiwiMHhiYjU5QUFjM0YzQWFiMDkzZEI4OUEwYUI4QzZFOWFkOWRjOGY5RjdDIiwiMHg0M2I2Q2NDZjdBN0YzM2MzMTNkQkM4NjEzYjhDQUY4QzUyMDUxNzQyIiwiMHg2MWJGM2ZGODg5QjgwNUJhMTcwZkU2QjIzOEY5MjMwMTZCNDAyQzgyIiwiMHhCNDVmYTdBMUQzYzc4NDdiMWYxN0M5NmM0YzljQkI0MDMzQTQzN0QwIiwiMHg5NDRFQ0U1MkU3NDNFQkRhZTI0Y2U1M2RlOUIzZGJBNjdERmY3MjIwIiwiMHhkRTczNzE1Y2RBQmFjNTQ5MENDMDAxMTVjYTFjQmZGNTNjZDY5MjMwIiwiMHgxM0M3Y0RjMDdCODY3ZEZCNmQ4RTg0MzM5MjBiRUMxQzJmM2FlODFmIiwiMHg1MWVkNjQ1NWE5NTgwQTBERjkzMTBCODgwN0Y5Mzg5NTU4MjE4MDJEIiwiMHhhODFkMEYzNzlkOUEwNTZhMzJERDQ1N0VmOTQyZjNFZDM3OTZmNWVkIiwiMHhjYjE2QzRENjFBMDU0ZEIzM2M3M0EyMzEyNTIzOUZmZmU3MWM5MmI0IiwiMHgwMjY1MTJCQWIzZWM5YjBhNzFlNDBFRTFEODQxNGJBNkQ2QTUxOWQyIiwiMHhDOEViN2NFM2VhYWZEZWU5ODUyQmQ5OTVEQmJCYjg1QjM0ZWUyNjUzIiwiMHgzOWZiOEQ3OWQyM0YzMzhhNTAzRDdERmViMjJBRjAzNTQ2NUNFNkRhIiwiMHg0RkZDOWJDZjNDNEM0QTg0QzhlRjQ0MDI3NzBBN0NlREFFNzlEMmRhIiwiMHg0ZDc2YzJiMDc2OTZlQWQyRUMzMTg0MUYxOTc0OTNFN0E3ZkVFNzhCIiwiMHg0NjAwNjdmMTVlOUI0NjFhNUY0YzQ4MkU4MDIxN0EyRjQ1MjY5Mzg1IiwiMHgyNzRBODk5MTZDYWY1QTI2MGNjRWE0YkY2NTMzNzQzN2QyRDIwNGQwIiwiMHhFZjYzMTdFNzgzQjIyYjJhMkZDMDczZTY4MjYwNDUwMjM2YzIwNzc5IiwiMHhiM2ZFRTg5RDA0RDAyRGM0QjUyMmQ0ODdjMjRjODEwYWQ4RTU4MDljIiwiMHg3NUQxRjRBQUY1RDViOTc1ZDYxN0Q2NDEzZTg4QTRGMDM0RTc2OGUyIiwiMHg4RjRFNWQ2QjRFYzM4NkM1RTdEZjk4NDE3OGVGMTJiODdlM2QzRjk1IiwiMHhlZDZGMDM4NTM0ZjMyMWM4MGJhN0MxNDkwMTc3YzUyRjBmMzNhODVmIiwiMHhkZTJlNDY5OTJiRDRGODY0NzFCNTJmMjFEYWMyZDdjOUY2ZGVBYzI2IiwiMHgzYUFDZmJDOTc1NzNFRDJmNTdGM0ZlZURiYWNjOTljNTJDREVFYWI2IiwiMHhEYTcyZWMyMGRmOUIzNkRjYUZCMDAzOTcyYjU0NkJDOTcwZDdkRjY0IiwiMHg1ZDM4YzU5NzgzMzRmNjVFQTJkNGU1MkQ1Q0VCYkQyRTRERDI3ZDdlIiwiMHgwODMzQTI4QmFDNDUyZjdFODUwMjY0N0RmQzhDZjBGQTIxMUQwRmM0IiwiMHgzMDQyNDQ4ZjNEZTA2NjA5MThiMTc0M0MyYTIwOTFFQzcwNzVjYjM3IiwiMHhkNDE3ZjFGY2FCNzk0N0NiNEVFODM4RkI3M0QzNUI5NTQxY2E4MjExIiwiMHhmODljNjk4NEM1RjgwMUQ0MDIzNjk4N0M3NDlCNTZhMzRBYkU3YjA3IiwiMHg2MzQ3Qzc5NDUyNzViNjY3MTgxZTU0QTI1MGYzYTBDYjgxMjA5OTQ0IiwiMHg2NTBCYzBBQWQwYUY2NDVlODZDNkZBNDJkZDVBRjU1NDE0RjM3YzEwIiwiMHg0NGY0YkNFYjQ1RDliN2E1MjZiYUVhYTE4ZEM1ZDFkMzA4RjE2Yjk4IiwiMHgwQTg1NTk2MWU5RTMxNjZmZmM0MjBCNDk2OTAyMDdCQ0M5N2EwRDc1IiwiMHgyMTY1QkMxMDM3OEZEZjdFMzc1OTEyMTA3RTRmRTdkNTA5RjA1QWVCIiwiMHgxMzcyNjVGMkIxMjExMjc2MTNCMDEwMEExNzYzZDYyYUI5MTM0MjFGIiwiMHhCNjc2MzcwNDljNDQ5NEQ3RTY0ZmE3NDVlOTAzODE1QzRkMUJjNUE5IiwiMHgxMEYwZjE5MzJmNTk0ZEU1NTdjQTE1NUM0Y2VFZjZkMTYxQmQ3RDYyIiwiMHhCMmUzOEU3NTIwNmNiODRBYzU0OTUzOUE3NTQ2YUExMmQ3MzEwMzcyIiwiMHgzY0NlMDFCOTI3RmM3N0ZFYjI2NzBhOGRCQjYyRTA1OGRDMTQ3N2U3IiwiMHg1NjliODBmODFlN2QzNTE0OTkxNzgwYjRkZjMyQjUzM0REQTc5OGExIiwiMHhkNTgzRDA4MjRFZDc4NzY3RTBFMzVCOWJGN2E2MzZjODFDNjY1QWE4IiwiMHg1QWMyRjdFNTc1YjBkMzZFOEY4Zjk1OGRjMjZkNGI4NjZjMTZCN0ExIiwiMHg1QTBEMDZhMWM1MTk2ZTRGRUE0OTI4NGM4NmYwMzIwZjEzZTExQjc3IiwiMHgyRDBDOWZmNkQ4QTc0RDc3MUVBOUE1RjA1RTMwM0U4MjdkQ0RjZTcwIiwiMHg2ODEyMkNiRjA0MTZiQzIxQjJhNmM5RTBiNjA2NjZmNTM1MzJGRDRiIiwiMHhBOTBEODAzM2Y4NmY3QzlGOEI2MTIxODgzOTI5QjJBRjdlYzBGRTk0IiwiMHg1MUE4RmU1ODczNTk5QzQ4ODkzMTMwNzdCQTliNDI4ZGRBNWRkRTdkIiwiMHhFOThCZDg3ZDhlMzNCNzljMDZlODQ1NjVkNDUwNjVmREJmNGFFM0FjIiwiMHg1NDc4Yjg3NmY5MTZkNUZiYkYxMWI4NWNENDNBZENGRDVDNUY0ZGY3IiwiMHg2OTc5NTZCMjRjNDM4NWFBN0UzZjc5NEYxNzlhQzE1MjRhMUFiQ0RiIiwiMHhCMTA0RTUxZUE4Y2Q5NTUyNDczRTYyMGQ0ZWVlMzgwMWNmNjZiNTE5IiwiMHhjNThkM0U0NTNiNmZlOGFkMjQ4NzY3YzY1NTg1YTE0Q2Q4NTRCODY2IiwiMHg2NzAwQTExMUI3NTEzRkU5OUVkNmFBYUQ4NmJFMGU4NTU3YTUxYzUyIiwiMHhGRDg3ODk2NTJkZTdmN0E1ODNkMzhkRGVGZjRGOTdEMkE2Mjc0MDc1IiwiMHhEODY3NTNENjE4OEM3ODE4NzdEODk4OUQ2OEE5NTEyMjBCODcxYTIyIiwiMHg4MDgxRGFhNjFEQzBmYjk4MEFkNmJCNjFmNTE0NjE4NzdFQzhkYzdBIiwiMHhENUYwZDBBNTgyNTEwYkI1NWIzODM5MUVENGM5MzBCZjkyOEE5ZjQ5IiwiMHgzZWY4NTI0ZTkyRThBM0ZGNEJkMkQyNzk2ODRkMzQ3ZmVkRGNhREE3IiwiMHhEQjg3NjNDZWFkNjlFNDQzN0Y1RjM5ODI3NTAzMDUwMzZGYkNjY0IwIiwiMHg4MWVlOUVlNUE2NDIxOGZjQTUzQTljQjJBMjAwY2I2RjI3OTM5MTgwIiwiMHhBMUQ4MzZDYzM5RTNiOEQ2ZDEyODEzNGIzMzU2ZmY2MzYwQkUxM2I0IiwiMHgwNjUwMmNBRjI2NjkwNmE3MUQ1RjcwMjFjYmQzYjhlOEZGNjNFMDU5IiwiMHg0YzhFQTNmMTA2ZDdhRmJCNzkzNkM5RDZlZUY2NzUxRTIwMDIxNTkzIiwiMHhjYzg4MTAxYWE3MTM4NTREYkUwOTY0MDc4Nzk5Zjk3YTg5MzRCZTE3IiwiMHg4MzY0ZUE0MTBlNTg2MjAxQTcxQkJhNzJjQWNEMGY3MzRkN0EzNmZmIiwiMHgyM2JGZjhjYTIwQUFjMDZFRkRmMjNjRWUzQjhhZTI5NkEzMERmZDI3IiwiMHhCOGFBMjJlOWJDYTViYzdFMGZBNzA2QmRiMjI2YkU1NWRhNzU2OTAzIiwiMHhmMTlFM2VDY0M5NzlGMjNjZTM3ZDE4ZjU1ZjgxMDNjMzE0MjUzMGVGIiwiMHgxMTIzMGYyMjM5ZkE5YzUwNzA0RjcyMmFiOWY4YjVCNkI5YzM2N2RkIiwiMHhFZDZBMzNmYjc2NTEzY2E5M2E5ODZFOWNBZjdEZTFjMTZGOWQ2QzAxIiwiMHg4MzQ5ZkJiZDhGMjI5YjBCNjI5OGU3YzE0YjM3NzhlYURmNDQyNkREIiwiMHgyMzdjRjJFNzU5YTNlREU2MjgyMUU2YmZlNzM3ZTZhMDA2NThBY2I4IiwiMHhFMmM2Njk1RjVmRTQ1ZkQxZWNFNWRjNkZCMjAxQmNCZWQ0QUIyRDA5IiwiMHhBMzgxQUI0MTZhRkYxRDllYTBiRDBjNzRkQWMwYUNlNWQxMGM5ZmY3IiwiMHg5QzhDODRjOUY5QjFiNTYxZjEyMzRiNjYwN0E2NjJFRmQ2Q0Q5MDNiIiwiMHhGN0QyNzJFQTcyOEIxNzIwMDFkNDlBNzAxQUFlRDg1YmE5NzZBMzNjIiwiMHhjN0Y1MWFjQWY3ODc3NmQ0NjYwQUZiNjQ0NDJmNzY1OTdGMmNEODM1IiwiMHg1OTY2MzM4YzIwMzhjMzQyQTBiYzAzNDcwQkQ5OWI2NzBkRDVkMjBEIiwiMHgyZkRiQWRmM0M0RDVBODY2NkJjMDY2NDVCODM1OGFiODAzOTk2RTI4IiwiMHhDZTAwNkQxNDY5Y2E2NzdGYWJkQ0JkZUViNjVBMjg5MzNBMEJiM2Y4IiwiMHhCRDY4YjcxZGIyMDg1QWUzNTI2QkY3RDg1MGUxNjVmOTQ4QTU4NDIxIiwiMHgwMjczNDQyQWE5YzVkMzcxYjMxQWJFNkRBYzIwNzUyNDI2OGVBMTJGIiwiMHhFNzEzY2NGNkM2Yzc2RDlBNWJlYjAyNDg4NDdhMzA3YjAwYjZlODNDIiwiMHgzRjM1YjE2MjdCRmVEZUFkMTY1Nzg0OTU0NEJjOTRFZTkwN0RmQzlEIiwiMHgwZDBkNjVFN0E3ZEIyNzdkM0UwRjVFMTY3NjMyNUU3NWYzMzQwNDU1IiwiMHg1NmJDOEM4NzhjMkNkYzIxYzI1ZDI5Nzg2RjdmMUM1MjI3YzMyRjdDIiwiMHg5NmMzMjVjMEMzMDYzNWM1OEM5MjM4NzY4Q2FGQTgxZDZlQzBERjgwIiwiMHgxMTAxNkQ2QjgwNjNjNEM2QzYxOEMzZGNGMTYxNDdDOWM2N2JhRTkzIiwiMHgyMEYzRDI3MzhjNTEwODVGRmNBMEY1NWRhNjY4MTMwODgyZjEwRTJlIiwiMHhkY2I5YTVGMDhERjJBQTBkMzA5NzQwOTlENTA1NDNiOGE1Njc3NzlkIiwiMHg2OTQyYjdlNEI2RTc5YjVBMEMyQzAxRTQwQjE3NzdBODk5RUU4RjJiIiwiMHgxZGU1YzdmQjRkNjY0ODhEQkU0NUYxQjdFQTBkNGJDN0RCZjAyZWFCIiwiMHhEQTcwRmRDYjY5ZjkxYUE0MjBENTRiOTVGRjVlNDdBZkZCMDA2NGI4IiwiMHgxZTY0YzhEM0VlNTU0YTY3MTRiNzQ0M2M1OTk5MDZDYzYxRGY5QzU2IiwiMHhBNjZmNWY5Qjk5RTcyNjU1OTk0MTJlZGU5NkFlZGQ0YkQ4YjUzOTExIiwiMHg4MmYxM2E2ZTA2ZWU3MjI1QzY4YUM1MTI4NTI0OTBGMmI5RDU1OTJlIiwiMHg3MzY3ZDBiRDMxMzEwQzAyMTUyYzdCOTU5OTdCNGVhZTdmOTBEQkY0IiwiMHg5MDY1NzJCNDVCYjUzNjcwOUJDQjBDOTI2MEEyNDY1QzRhNTk1OGY5IiwiMHgyMGI2OGU0ZUJiY2Y4RjQyMTNGMjUyMGJkOTMzQTlmNzdGZTJCYTVjIiwiMHgyN0RDRTBlQzU4ZjlGMTFjZjNkN2FhYjJGZkFjODAzMmQwZUY3M0NBIiwiMHhBMmMyNzFBQjllZWE5ODllMTcxZjNjMzI2MWIzMDYyODgwYzY1MDgyIiwiMHg1MjliRmJkODRDZmVjMDFhMDczQkMyMkU5NTNmZEZGOGQ2NEMyMmRjIiwiMHg3MEFCNmZGNmE0OTkzMzIyZDIwMjY3ZWVjZTgxQWFDODYxQzVhRURmIiwiMHgzYTFkNEE1N2U3MUZlNWUwMkZlZjJlNWIwYzQ2RDE4OTZmMjBCRjA1IiwiMHgxOUMyZjRiOGQ3MTk1YjkzMDNCYTNiRWFFNjVjNWVFNDFhNDA3OTI0IiwiMHhDRjlGZjYzZUM4RjNBNkI2NDM3YzUwNTc0NDRFNTZmM2JGRDgwY0VGIiwiMHgzNDUyMTlCRDlGZDFjNjcxYUZhNjU2OUIyRDY3QTQzZmI3Q0JjNzczIiwiMHgxNEU4QTMzOThmQjAwMGZCMENEQjAyNTRGMTgzYjdiRDQyNEY3OUI4IiwiMHhDNTEzZjI1RGM0NzUzNWJjOTBmNEQ1NkFlNDdGRjMwNzRmQ0IwRjIyIiwiMHhDZEIxMkQxOEVkQkNEODUyZTgzNUM2YkIxMzA2YmZiQURlYTk5NjliIiwiMHg1MjZiMDQ5NTNiOWMxNGIyRTliOTFjNjFDNDQ0MzAyNTVBRTkxNDFiIiwiMHg4RmZiQjkyMjdjMWRFRkRlNWU0MzU1MDVmNTZkZDIwNjg4NzA1M2JEIiwiMHg5NGQ1OTM3ZUJFNDFmODVDMjBhRUYxM0FjMzY1MDg1ZDBBQTQyNjM4IiwiMHgwN0VBMjQxRTRlZjkzNTczZDJGMTJlQUJGY2NjMzFlRWQ5NjY3RmI1IiwiMHhhMUQ2Zjc5RDRBNDA0Q2Y5YkI5M0M3MzMxNDNEYjNjNGY3MGE0NzA4IiwiMHhlNzljM2EwODBFQzNBNjNENDQ3NENmNkM2RTRjN0E4QmQyRmMwNkI0IiwiMHgxQzFkRUI5NjFDNTM4OTZlNEU3NGI0Nzc3Mzc3QWZiZTBEODJmRTE3IiwiMHg4NmZFZjE0QzI3Qzc4ZEVBRWI0MzQ5RkQ5NTlDQUExMWZjNUI1RDc1IiwiMHg5NzIyNjM0ZjE5MUVBRjU0N0M5ZTBkNmY4Qjc5RjgzNDEwRDE4MjY1IiwiMHgyMURlRDUxRjdiMTExQjc0MjU5RDYwNzU4MjkyMjdlNTIwOTcwNDcwIiwiMHg5Rjc0ODM4QTExMTQ2QkIxRTRjNjg0M2RmNjRkOUZiMzlEOTA1OTI2IiwiMHg0QzdjNjFhZDZEYzNhMzY4N2QyMmYyMjRBRjJhYzFjNjBkQ0MxMDNGIiwiMHg4Mzg3OTI2QmE4RGI2M2JmMTgxODYyYzdhOWZlZUEyYkFhZWFjNTdkIiwiMHhkNjQyMjRhNEMyQmVEOTZDNzVEZjk1MTdCMmQ3N2FFYmIxM0YwRTM3IiwiMHhFYjE3QTM0YkFGOGVjMjk0RkIxQWMwM0ZlRWJhNTg1OWYwNTE2RTc2IiwiMHhjMjAyZTg2Yjk0QWFDM2M3YjUwYjBjNGExNGEzNjM5ZjlhODVFRGIzIiwiMHgzMzVmQzM0QWRiQzFjMTJmM0Y3MzFjM0VlQzFGRDI3RjM2REFlZjRBIiwiMHhBZEM0MTI5YTcyNzY5MDY1OEFkY0U4ZTY3Q0U1ODgwNzRCY2YzNTFhIiwiMHg4NDQ4QTVBMWJhNzUxZjFiM0NCQjJDZGFjM2EwQjdlNDkwMDc4MGUxIiwiMHg1YWFEMjVGYkM4RjI3ZEYxNGM4NTMyODc3YTA1M2Y0ODVjN0QyQkVjIiwiMHg5OGY5NWREOUY2ZDYxNmNiMjk1OEEwNzc0YTA5NzhmZTBlMzJkQWRmIiwiMHgxMzg5MDlCODhBNTZhY2ZmMTE2NTI4RDM3QWRGQUFiMGFDNzBCNTRBIiwiMHg2YmRkRTMzMUMxYTQxNmY2RjBBMDFkMmQ3N2I4N0U4ODdkNzJiQWMyIiwiMHhDYUFhNDUyYzg3YjY2QkZmYzI2OTZhMjg3NTAxOTMxZTkwQ2ZjN2VBIiwiMHhFRkFkOTk1NkZjZUI1YTdBNkQxZDlmNUQzYzk1M2VGMjVBRmE2MjExIiwiMHhlRjgwY2UwOTNmZjQxMkEyMWM4RTRFZjBjYzgxQzlBMTMzMjM3NjRkIiwiMHhkNzRGMUE2RTU1MjU0YzUyMTZhOWM4ZEJFMTNkYjQ5MmI0QmI4YkM1IiwiMHgyYzJCMzgyMEQyNDU5NmY2MjI4ZTI0NzM4NkI3NzYzZjkzM2RjMjUwIiwiMHhCNDUwRTY1NEUxODUzREM0OWZlMWQxZkE5QTk0Qzg5OEQ2YzViMDdmIiwiMHhFYzRhNjdmYzQyNDQ0M0M5MWYxMzk5YTNBYzYxNjFiODVDMkU1ZEUyIiwiMHgwM2NCREI4OEUwOWZFYmFCNjkxMWE1NWM5N2I1QmZlOUU3Mjk1MTg3IiwiMHg1ODlBMDUzNzNiMTdEZWE4MDUwRTVlOTlCM0IzZTVhN2M5YTQyYUJCIiwiMHhFOTVGMDg5ZEIxYTQwRTMxOUI0MWJEQzBjM2ViN2E5RkM2MDgwMUY2IiwiMHg3NTcyMDE1NTNjN2ZDNjAwNzNkYWJDNTQxZjYyZThCOEQ5ZWNCMDI5IiwiMHhDQTlkNENiYmQyMmNBOEQ1OThGMmNkNDU1NmU1M0E0NDg0NzcyREFmIiwiMHg1ZmY4OWE4MzI2MGNmZWEzMjNEMTIyOTM0ODc3MWFDRWEzMjA0QmE2IiwiMHhDREZlOUU4MjAxNkRmNTVFRURmOTY0MzQ3NjhkRkFjYjExM0JGMUFhIiwiMHgyMmFiNjBEYjI4NTNiQkU3OTlERGFhOEJDMTFFRUI1Yzk0NDAyNUJhIiwiMHg3RjM4N2I1MUVmMTMyQWREMzkxNkM0MEZhNjU1YmVBRjlhNjE0ODdlIiwiMHgzNEE3MzkzMjg5M2Q4MTk2RDRlNzY2NjRGYjY2MmUyYkQ1NjA1MDJkIiwiMHgyMzM5RTgyODVDNDJkNjAyMzZkYWE3Mzg5YjU0Y2QzZTA0NjQ3NTM2IiwiMHgwYTAyOUIzOTY5MmZjNzE4MTg4MTUzNURDMDYxNTllNUY4YWY2QmNiIiwiMHgzNTc2RjkyYTg4Q2JmZEQ0OEZkYjREN2U5MDk1MTliNDYwNkVGQkUzIiwiMHg1RjlGMzBEMzkxNjQ4MTg2MDk0ZEU2ZDZCNWJBZjkxQTYxOENFQzk4IiwiMHhiOUQzZENjMDc3QzUwZjU0ZTZlRDQyNGEzMzhDNzExODVCZWMxOWJlIiwiMHhhQzhlNDM3QmVkYmFBRmJkRTU2RjM3YjMzMDlFMzU4RkQ3RTJENkI5IiwiMHg3NGJDMmU5M0Q4ZDYxYjJjNzdiODU2QTBhYWY5RmE2NGFCRDEwMkYxIiwiMHhGNkMzNTk1Y0JkNjg1OEI0N0U5M2M4MzMxMkNFRjg5NzUwY0VBM0E0IiwiMHgzNTlFMTRhZjc2RmI3NTVBYjZkYjJBOWIzQ0JjMzI2N0UwOWRhRjExIiwiMHhGYWE3ZTk4RTYzM2ExMEU5MEI3MWE4NDIwMEUxMDU2MkU1MzAyQTkyIiwiMHhiODM0Mjc3OEJmODQ3NzQ1NTZmMTYyQTZCQ2FkMTk5M2QwNEZiMzk4IiwiMHg3NjFEODU5ODhlMTk1OUY3ZTkzRDc0OTcyQ0Q4ODRhNTM4MmY5MjVjIiwiMHg5YTJENTM3RTQ5QjVmOTI1ZTcwYmZmYWM5ZjMwYkRjRDk1MWY3ODRlIiwiMHgwY2MwZjg5Y0Q5MzMzMTUxYjc3RTQ0ZWNDZUZFOTE4NDI2OTNiMjc3IiwiMHhCQTg2QmJlNjdkQjg0ZDIyMUQzZTkzYjAwMjc4MDUyODMzNDE2ZUEzIiwiMHhBYjM2MENhZDc2MTQwQjFEMmJmZWU4QkIyNzk3ZDg0MjRkZTUyMDYzIiwiMHhCOEUwZWMyYTg4OThCQjdiZkM4MEMxNzEyZjE2RDE0NThjQmU0YThEIiwiMHhDNkI5MEJkRDg5MzczRUQ0N2M5RDIyMjdlQzJGOUU1OEQxMEUyRkU5IiwiMHgyN2ZDQzQxYWQ3N2FGODAzRThCMTk1NGU2NkUxMDEyY0ZkMjk5NkVjIiwiMHhkRTE3MjU1MDZCMjdmRTIzMWU5NzQ1NDM1MzU0RmM2ZmRiNTY4MDMxIiwiMHhmMERCRDhENDY4MjQ4YTlGMDE2OTA4NThhNDIxYTQzN2Y0Yjk5Q0UxIiwiMHg1RTIyN2U5NjA1NUY3Yjk1MEUzNTVCOTI2NjFFZjVkRUMxMGRmNTM4IiwiMHhCMTY2MGVEQzc1RTliOThkNzg2MThkRTUzQjI2NDQ5RWY0MGM1YUFBIiwiMHg5RDk4QzUwNTlkZmUzNjQyNDg3MzIwZjNhQjMyZDJDZjFFNzBGQTI1IiwiMHg4NTVjOTJDODJmMTM2MjRmNDMzM2ZiNjk2QUQwYjhmNzZmNWQ0QUM2IiwiMHhFYThjODBhQkFmMTQ4ZjRiRDY2MmU2QUMzZjhmM2ZiNjVlYWI4ODYxIiwiMHhiZDZmRjhGZGI5MGE3Mjc5RGMzMDU5NWZCRWRhODYyZDhhNWRBYWZiIiwiMHg4NTVBNTA1YzJBZUJkYjJCMUMwRkM4NWZCMTBFRDNCZDAzNTdkQjA4IiwiMHgwNTIzNzFFNjQ4NDNkQzJDMkZhMzVGNjc2ZjZEODcxM0NhNzcwODFEIiwiMHgzODA5Q2NEYjdlZWRmZEIwNjZhZDJiZUQxM0Y5NUJEYzZkOThCMTJEIiwiMHhENzAwOEJDNGIyYjViNjc5QzdlMDU1NjJCNTdBZjUwZTAyMDQxNEFjIiwiMHg5ODE5NWE0MzZDNDZFRTUzODAzZURBOTIxZEMzOTMyMDczRWQ3ZjRkIiwiMHg0MkJBOUM0RjYyNmQzQzhmYzdlNTIwZmQ2NjY5Y0I0NDM0MEFCMTFFIiwiMHg3YUU2MTI1ZTQ2YzRkNEQ1NjE0YzZDNkNDMzY0MDEwNzViOGQyRDE3IiwiMHhjZjRBMDk2N0M2YzBiMGZDRDQxNjI4M2I4NjY0ZjczNTM5MWEzNkVDIiwiMHg2QWY2QkVlRTk5Zjc0QmEzQjU0QkJjODk1RUZFZDQ2M2IxQTMxZWE4IiwiMHhBNzc2ZjhlMTU3MDRGNDc5N0ZmQmY2Q2JiOGU0ODQ4RTBENjE0ZmE1IiwiMHgyRGM4RDdENjJDYkM5NDBBQTcyRjE3QkFFNEU4NzA3NmNCYTNEMzQ2IiwiMHg1MTdBQTNiNTE4NjI4MmIwYzMxMDM5NjJkMGNGQzZDQzZCODNmZEZCIiwiMHhjNjREMmY2MUFhMDgwMGJkOGYwMkU2Y0JGOTQ1RTNhZmFDNzZGN0RBIiwiMHg5YmM1ODJlM2Q4NDQzOEZDOEVkM0RkQzkyMkJlOGZDOTFmRDRCOUEyIiwiMHg5QkZDOTMxQzA4ZkVlRjU0ODVFOTQwMTgwODhDQjQwOTRDNjMwNDYyIiwiMHg2OTlhQzFhNGI0MzU2MWRBNGNkQmM1M2U4QjdkMzBiQTM3ODVhODY0IiwiMHg1MzY1MmRDRUE2RjYzOTYzNTcxQ2I2MzREN2NmZjQyNjIzMTNBOTg0IiwiMHg0MTc1YUM3NjM0MzJiMkY5QjY0MjI5MzZiN2I1QTc5NDk1Y2IzMTFkIiwiMHg5MzhBZjlERTRGZTdGZDY4M0Y5ZURmMjlFMTI0NTcxODFFMDFDYTQ2IiwiMHhlNWNBOTBlMThjRDA4RDMxN2NkMTNENmM4YWQ1NGYxNDFCMmZCNjdmIiwiMHhiODYwN2MxRTc3MDAwNUFjY0QwM0M0MDYwYTZlMDU1OGVjYTgxRjVCIiwiMHhDNGIxMzJCMEU4YjI0MEEwMUI1ZDUzMkExRTM1NzFiMEQyZjVEMUYyIiwiMHg3ODQ2NzA4NGI5ZWRDMjY3MkMyOGM1Y2Q4ZjA3NmRDNmYyZUMxQTY2IiwiMHhiNTY5N2FiMDk5MjNlMUY3NjJDNjBiOTczQjlhYzdFNDhBODllQzQ1IiwiMHg4RkU1QzZBNWY0MDFDNDVkRkI4NDM0ZjE0Nzk5NzBBNjQ3NTBFNDEzIiwiMHhjMGFlMjFhMTM4MDBBNjkwYTk4NzI4MEMyQTI3REQxNDY5RkJkQjBFIiwiMHg1NzBCYjk3YjY5YUIxNTExYTMxQTJFYWJDNzBDRUI5OUJDQjNhQjU5IiwiMHhCNjM2OWY2MmMzMzk2MEZFNTZmMzE4OTZDMkY1MzI0ODFDZmMyNkYwIiwiMHg5NTg3ODgxNUYyOWVhRDZFRTYyN2ZhRGE3N2I4RkM3ZmI0MjcyM0VmIiwiMHhmQmY5OGY2MzI1QThjNGE4MmIyRTcyNUY4NzVhRWUxMGNGQTFiZDMwIiwiMHgzMDkzQWZGMEUyMGExMjUyRDE2YmFDODMxRGE2MTc2ZTJiMzFlMWQ5IiwiMHgzMTM2NjE1OGYyM0NGQ2Y2ZTFCN0NhMjNkRjREMWVkNzY0ODlFRmVjIiwiMHhFOTg0QjZlOThiZDlkMjU4NWM0NzQwYzhiMTY5NzllOUQ0MjBCQzQzIiwiMHg2ODI0OTBEZDJjNzUyNzk0RGQzZDk3M2JjZGVhNzM0OTBhOWM1NGJBIiwiMHgzZTBjQ2IwOTE4MjVEZTE5QWJkNjFDMzQwQjFFRkZGQzMxZmE3NzRjIiwiMHg3OUZBMDNkNzlkNDA2RjBhZjk1NTI1NDVGYTY3QTVFNUI3NUM0NzZiIiwiMHg3MGMwNThhMTRjNjEwYUVFNzNiZDQ2QUU2N2Q1NTZhY0M4YzY4RDk1IiwiMHg4QkNDMGI2ZDU5OTJBYTY4RTBkZTExMGMyQjRiMEM0ODgzQzY1NDBDIiwiMHg4OEI5RWMxN0I4OUI1ODg1NzliMjA3Y0MwOGE4N0NGNjQwQzE4OGVkIiwiMHhFODcyNzYyRWZiMTQyMDYyRTkwYzE5NDgzRjI1QzJCNEU2YmY0OTg3IiwiMHg4MjBEMzBkZmI4NmVkRWY3ODJhMDMxMEYwRThmNDFjZTM3QjgyYzQwIiwiMHg0OTZmMjFFYkVCMGZENzMxMDBENGI5NWJBRjNBOTFiMUYzQzU0MzVGIiwiMHg5NTE2ZTdmZkQzRDJBMzk1ZGEyYjMyRTQ2YjQwZkQyNDgwNDYzN0NCIiwiMHhkYjhkNDIzMEYyZWUzODRCRmIxMDU0MUQ3OUZBYTUxNzA0NDMzNTY5IiwiMHhmNzhlMDQ3MzVlN0VhNUVhZGI4MjcxMDc3OGFhMDJiNkU5Mjc2ODg2IiwiMHhEMDI1ODI4MUNEYjM3RWUzNEQ0Yjk0OGZBMzBiMjY1MDQ2YTAwMTRhIiwiMHg2M2NhMzBDNjkzOEQ2MkVjMzM2OENjZDNlOTI4NDQyN2Q4M2QzMEU2IiwiMHgzRDZCYmQ2M0FENTk0NmUxNTY2NDc3MDc3YkNkMGZGMDU4MTE0ZTgwIiwiMHhCN2JiNkM3MTVDMzBFNjQ4REZmMTI0NDYwMDk3MjI4ZjZmRjgxMmY0IiwiMHg1NDgxMmU5MGY1NzE1MDAzNzNFYjg5ZDQyNWZjMjUwYjE3MzE4NzIyIiwiMHhmMzRDZDg0NUM2YzhBNGIyOTM4MTU5NDYxNkIwYUE0ZDRDNjJFMmQ1IiwiMHg4NTM2OTA2NzMyYjJFZkY3QjA3MDA0YUEwQzAxM0RiNTExQTNiQTFhIiwiMHhEQTk5OGRDQTMxNUQwRDU3MUE2OEZhNUI5MkJmMjJjM0E5ZUMwQmFhIiwiMHg1N2U1MGIxMEY0MjlhOTk0MDkzMTBjNUYyOEE4MzQ2OEM5NTdiNjdmIiwiMHg3MjRCZUVmNDYyQ0YxNDAyMjhmNTJiNUJjODVGRkQ3OUREMDI1YTUxIiwiMHhhNDc1NkVmODFiMUY1NWVGMWViYzZENjVkNmNBMjFDMGY3RDFiY0FmIiwiMHg2MTdGRUE1RmU4ODkyZTQ2MTcxYjUzZjU1MTQxMDZjYjM3N2Q2OTcyIiwiMHhFZTk1OGM2YzlCNmFmYjE0QzQ3MDljNDlCN2VhNzIxN0Q1OTNhYzI1IiwiMHg3MEFBOWMxOGMyRDVkRDMyZDE0OWE4RTVCNGVFMDgzQjFBYmIxYmU4IiwiMHg2NmExRTA3MzA3QTgzMzgwZjhBNzA2NDU1MGY3QjZmMjRBMjM3MDMxIiwiMHgyYjE2OERFYkQxQjlhMDc0ZTlmNDcwRENiY2JmMTkxNmZEZjU4QjExIiwiMHhjMTc4MTNCODE3NzlEOTFDN2EyRjcyOWRDODQ0Mjk2OGUxRjAyQzU5IiwiMHg4QjhCMmZlQzBiMjIzMDE5NDgwYWZjNTMwN2Y5NDMyNzY0RjFkN0RkIiwiMHg1Q0U2ZjdCRDQ3OTQzN2Y1MzRFYzc4M2U5NWUyMTNDZkJFRTcwRjdDIiwiMHgwRDE2MGJFNDk5ZEM5MUU1YUQ2ZkY0N0FGQjFhNzVmNDBGM0E3ZDAyIiwiMHg2NDQ3ZUE4RDc4MkU1YmFCYjVmODBFMkRiNEU5MjA5M2MxMzJlYkI3IiwiMHhkNThCNjNmYjZBRDkwMTlDMEYxQUM0NTJFNGU3OUI3YzYzQkU2NjkzIiwiMHhBMzY0MzA5Njg0MmQ5NkFjNTUwMTI3NzA2ODNEQTM1NENBNDEwRTg2IiwiMHg2MkE0MjdGZDAyYTcyNGMwNDYxNmUxZjE1MEFhODIzMDBCYkQ0RThhIiwiMHg5MzhhQmQxMjg1Q0MxQkY5NTE2NkY0ODY0RjZFQzZFZTkyQkZFOUVhIiwiMHgwRmMwMWNjRjExNzEwRTE0ZTVmMmRiQTM4QUIxMzliRDJGZkFEOGMyIiwiMHhlNWVBNDlhZDg5NzRGMjhCMDEzNDU5QUFENzg3ODEyMzNBNEE4M0M3IiwiMHhlNTljZDk1MGZBNkEzNTRmMDc5MDAzOUI5MkQ3MEIzRWVhRDIzMjE5IiwiMHg3MTExRDM4MTk3MDQ2NmZjQWNhMTk4QmU4MDJCNzZEM0M3NzY0RDg3IiwiMHgzMjYyNDZDQjhERTg5M2ZGYjRjMjU3MjcyQzA3Mzc4NWJiQjRCRDkwIiwiMHgzYzMzMzQzMTdGRDc2QkRDODk2ZGU0NWQ5N2ExNEQ2ZDEyMWVFQTI1IiwiMHgzNUFFOUVmNEUzMjhGMUFEMDMzMkU5OTFCY0FDYThlNDYxRTg4ZkVmIiwiMHg2MDgzOTUxNjcwQzcyQTQxOThFM2ExNGYwNDBhMGY4NUU4RDQyZmRkIiwiMHg4YjQ0YUI3OUY5MDlDQUNkMUJjMTAyRWNDY0M1NmQwYjY1Y0NDNzk0IiwiMHhiRTJENTUyRDA0RjUxMWRjNDgwMDkzNzYxRWRGM2RFNzE2Mzk1MTUwIiwiMHg2MzA0MzFFNDY0ODk0MjA3NDY4ODQyRjQzN0U0RmNhMjlCZEU0RGYyIiwiMHhmMTRDY0FFRjhEZGI4Qzk4NmQyOGMwNUQ0NEExODI0MjExOTQ5MURFIiwiMHhCMjY1OGU1M2E5NTBBM0ExRjc2QUEyRDZkQzUxODg2MTQwNmFDQjM2IiwiMHg1NkNkMDNmMGNjQUFERmU1NzNiRjUzNjNCMTgzQmQ5ZmRCODg1ZmU2IiwiMHhkNjc4QTk0QzNmQTVjZDY2MzRFNjk0REE5Rjc3MDA5MGVCRGJiYTc2IiwiMHhlMmNCNkFkNTllMDQ4MkMwRDFiMmU1NDk4OWQ4OTg2RGYxNTVERjk2IiwiMHg2MDU5MkQzMzc4ZTQ2MjRmNjUzRjFDYjdlOTcwNTcxMjE1MzQxNURCIiwiMHgwODMyYTRCNDREMzEwOTM3M2ViQUI3NWM1MDcxYUM2NjU5RWZhRjM2IiwiMHhBOTdmN0NjMTRFMWEyRTA2NzQ2MDM4Mjc2Njk0ZjhBQjZhYzI4N2IxIiwiMHhmNzYwODVCMmVBQzU2MjY2NjUyNzc0YTE5MTYyNTZFODc1YkNBOTMwIiwiMHhiNzMyQTlFMDdlOWI0Q2RlZTEzNjVjQ0NENDczQkRGM0M2NTlEY2VBIiwiMHg5Zjc2NjU0NTFkZmRDMjgyQTE5MTY0NmJlY0Y1QTBjMTczNzdCMjcxIiwiMHg1MWI3RGUwNzhCNEUzRDBlRDA0RWI0MmY2ZURiMzIyNWNFRmRkMkY2IiwiMHgyNkFDQkYxOWQyZTQ3NDMxY2YwNDBhMENCYTZiMzg4OWJCQWU4MDI2IiwiMHhDNjIzZkNkZGNjYzE1MGZGOUY0ZmUxMjgzNjM5NkZDMzNENTdDRDU5IiwiMHg5QzE2NUI1NzdmQzAyMzMzMjQ5MTFmMzIxQzdDQTMxYTVFMTY0NEZmIiwiMHg4YjVmNjNiMkNFNzk4MzlGM2Y2RjQ4YjBkQThBMzE4RDQ0ZmM2MTBlIiwiMHg3MzA3RmRFYjM2MjQ5NmEyOTE0YTJmNWZEMjI3ZTNGZkY5MGIxMzVjIiwiMHhjNGU4RWI0ZjlhZjBmNEM3NkJmQjY2RTExRTFjYzZlMDExRGM3QTY3IiwiMHhjN0ZjOTkzNjJDYzE0ODZmNkNiYmZlMDYwRDgxMTExQjU2NGQ3YTJDIiwiMHhFRDY2NTVFZDIzNDgzQ0RFZTdFOEJmNERlZDhFYzBmMDM0ZjQ0OEIwIiwiMHgxQzA5NTA1OTU3YTk2M0U5YzE1MDllQzU2N0IxMDQxMmU1MzgzOTg3IiwiMHhiNjNhQTZDMTEwODI2QzRCOWU0RTRhOEE4RmM2ZTEwMDY1NDc4MDFDIiwiMHgzNDYyNzFBNTBmOGNCMDY0Qzk3ZkM3M0IwYjUzMkY5Y0ZlMGJDMjRFIiwiMHhjYzVBODdkQ2FkODExNzg3NGQyN0M4MDkyOWEyYjM0YjhhMjQyOEVhIiwiMHgzQzFGMmZDQTg2REM4RDIxQmZlOTNiMGJkQzMyZGRiZDIyQTIxQTU0IiwiMHg0NkRBODE5QjRmMDJiNzE1ODVhZWEwRjEzNkYzZjAyNTc1OWY2YzY3IiwiMHg4ZDdjOUZhODA4MTUxRDhBMENjNkIxMUU4ZjE1Q0VEMzM3NTg2YzU0IiwiMHhCMzA0QmFhMEY5MjE4OTYzNGYzQTJlMjRkM0FCQjY4OUIxNTIzOUFEIiwiMHg1NTc2YjBlZTM1QTU5YTQ0N2RiQzg5MkFmNzRmNDg0Q0YwODQzMEREIiwiMHgxY0I2YUQ2NjQxNTU4M0NCMTJhZDIwMjYzMTk5NDllMTViYjNEZGI2IiwiMHhkMThCNmY0YTRGOWY5ZTVBNzc1MTRDY2YyNTQ3OEIzNTFBOTVkRTQwIiwiMHhBM0NEQjg2YzUxQ2NDOGY4RDJENTQ2MTU1OTZiOUExODZBY0VFQ2ZmIiwiMHgxMzRlZkFkQTdkMjk4Y2FmZGRFYTI0NzlmOUU4YkVEYThGNzBhOTZlIiwiMHgwOGRlQzE3OWNENkZBMDM2MzZhYzBGMjg5MkYzQWQ1MGU5NTRCNEFDIiwiMHg2OWJDZEUwOTdkZGVFNTkyZTdBYjExOTZBZDM2MDRBMmYzMThCRDdCIiwiMHg3ZGE1QThjNEQ0ZDIzQjg1YTFBMjIwMTAwMDEzMTdhZjNmMzU0ZDcwIiwiMHhDQ2M0M0NkOGE5OTNCNDAwODhFZjQzNzgzRjNFRjU0QWI3NjRmQzI2IiwiMHhFNEZCNzVkQjkxRDhCMzY3MTAwY2IwQTE5ODk3QzhhMzkzYTZiOEJiIiwiMHg0QUFDNzlhOUU1ZTEwQkE4YjAzM0UyNjc2OWViM0UwZmZmYWFGYzZDIiwiMHgxYzc3NWI0NTNlZGQ1ZWJhRjlBQzcyQzJBMjhGM0YyMDNmNDY0MkQ5IiwiMHg4MTc4YjNENjZEREJkZkM1ZjlFQTdFRTNmMTVDYTFGYzljZjQxYzEzIiwiMHg1MGY0RTZBMjExM2VFYTllOUIxZTliZTU1YjZBNjY2OWFEYzdkRTQ3IiwiMHhDMzFDMDhFMjJkRjE5QzlFNjU1ODdmNzU5OTJkMUFhZmUyNDQ4NUI0IiwiMHg3ODI2MUQwYzUyRmNlZjlkNDdCZjA5REQxZEEyMjRjNjFhQzg4NkQxIiwiMHgxODI2NzkxOGNEM2ZkNGY0MGFlNjdjMjc4YTI0ZTNBOWE4ODhEODM2IiwiMHhkQWRmNDQzYzA4NkY5RDNDNTU2ZWJDNTdjMzk4YTg1MmY2YTAyODk4IiwiMHhDQkFGQzFiZTAzQjNkMmMxNjc5NzZmNkYyMDk5M0M4QUFGMEExMDZiIiwiMHgyOTA2OWI1OWQ2OWQ0QTgwNjI1MzUwMkZDNTg1MkYzNzM5MDAxNjgyIiwiMHg0NEE3NjY1NjYxMWZGNjMyRGI4QmJmNTI3MzU5MTkyNDNjRjdFMmEyIiwiMHgzRDk4MzE3NzAwYzg0NjYyMzI1ZjA3REQ5NkI2ZGQ2ZUNjYjUyNjA4IiwiMHg4MTI0YWRkZTAwM0FjRWI5OTcyNzBGOTM2NjA2Y0ZBOTFjMThhZTU5IiwiMHg1RUI1OUQ3NTZiOTU0NTY2REQ3NDQ4MGMwNzdEOTU4OGEyOWMyYkI2IiwiMHg3MEYyQ2RGM0RBM2Y4RWZlNkY5RDFmM0Q4MzBhMDRDMjM5RWE2ZDkwIiwiMHhBOWRGMEZlMTcyNDcwZEQ2ZUU5OTg1NzNDNDA5YTU0YTI2ZGFENDYzIiwiMHgyQzBjZkEzMzEzRmQ0ZDA3RGU4MmUyNzBiOEJCQ0RmMjAwNUNDZmM4IiwiMHgwY2FBOUQ5MjAzREU2ODBCM0UyY2Y3MjJGMDYwMUQzN0RCNTc0NTE1IiwiMHg2OUI2N0QyOTRjNGVmMzU1ZmQ2QjQ3MDgxNDBiNTg4M0JlYzY2NWM3IiwiMHhlOWNCNGE3MDZlRUJmQzFFOTNiZTQ5NTJjOGM3OEFhNEI0NjA0NTdlIiwiMHhlMWNmMDI0ZTk3ZDc1ZkU5ZDE1MDU4NjZDZUUwNDIwMTQ1MmMwMjE4IiwiMHhFQjIxOTdjRDhkOUU0ZjQ2MzhkMGI0RDBkRDhmZjVENDZGNkQxZmNBIiwiMHg2MTM1NDFEMzE5NzRFMjEyZWI1ZjZDN0FDNGVkRTI1ZjQ2YjYzODg4IiwiMHhGQkE1MjZDY2I4N2U2NmFlYmE0MjIxMTM5OTVlRkJiMTQxMjlhYWUzIiwiMHg4NzJiODhGNGUyMkE1ZTEzNGM4OGY4YUQ5NEM1NWIwRjNCNDVCRTAyIiwiMHg1YzNCZmJhMDREZTRjMTcxODM4RWY0MmYwRmU4YzlGMEZBZDBjY2IzIiwiMHg3NTY4MzIyMWViRTM3MTM4Q2NhOGIwNkZDNDA2YTZmMmI5M0FmM2Y2IiwiMHg1MDE4MjFlNWIyYzI3RGM3ODA1MzEwZTlFZGM3OTMzNGEwM2JjMjY3IiwiMHhERUIwZjdFNTFiRmJENWM4RWVFNzY0NEM2NzhkY2NCNEE2MjJmODFGIiwiMHg1OTE2OTUzMjk2RURGMDk5NkEwRTc3NDg4YjNBZjQ1MDA5NWUyYTM1IiwiMHhBMzAxNTUxOEFGMjQ5NzkzMkU3Mzg1RDQzNUExMDJEODlBZjEzNUIxIiwiMHhkMzg3RmM2ZDkyNkE4OTVFMDE4QjVlOUU3NzFDRjBBNmQ5NzdmRTNiIiwiMHhCNEQ1QUY4MUMzOTMzYTdBOEUzRDY0MTVGNTgxNzNkMTQ0ODE2RUZmIiwiMHgzNWJBRjNjQjg0MjM5NEM1MmFjQ0JlZjI3ZUM4M0Y0MzQ5NUFhMzMzIiwiMHg3RkY0NDlENzBCMDczQjM4M0M0NWU4NzcxOTM0OUIyMDZmQTZjN2JCIiwiMHgzRjYzRkI4NmMwY0Q5ODVhMzU0MjcwOTQ3MzkxMzM0MkRiNjAyQzgyIiwiMHg2NTA1NUZENDM2RjEwNDQ2NDY5OTg3NTdGMDdhNWI3NzlGNjY0OTczIiwiMHgzNjA2ODZEODQ4QUFmNDJmOWRDODM0QUQ3ODZmNGFGYzcyMjZBYzFkIiwiMHg0NDAzNDk1NzkwNjUyOTlmMzQ1OEU0ZjEwMWQyZmM0MTA1MTc5OTdkIiwiMHhGNzcwRUI4NmJCNjI5NzQzNDcxYTc5ZkM2NTU4NDZmQjZBNTFmMmQxIiwiMHg2OWU1NDZmQTk0MjBDMjI5ZTNDNTFkY0E5NmYwM2Q0RjQ2NWM2MTg0IiwiMHgyZTQ0ZGRENDdlNDUxNzg5ZDM4M0JFMjE3ZGMzNDJkQTk0MTE2ZEI0IiwiMHg0ZDJBRmJFZDdEYUQ5NGFiZkY5RDBiZjJiNjVmZThCMUI0YjlEMDYyIiwiMHhBNTMxMDNlNDdmODkwMUI2MzFEOEU5ODc0YzdiQ2NCMWM5NUJFQTlBIiwiMHg1NDZGZDJDNWYzNTFDQWVhMWFFODIyOTVkMzkyZTY0OTkwRUZhNzMxIiwiMHg0M0EzYmE5NDFmZmFjNjE5Qjg3ZTQyRGMyRDEwQjRmZDE2ODc4RUU5IiwiMHgyODMxOGQxQTFEOTEzMjE5ZGQyZDM1MWFFOTJmMDZGQjQ0ZGYyMWRkIiwiMHg2YTlmODU4RjM4NzliM0E0MTk0YzlFMDVjMWNhODhEMDllQjczQjVjIiwiMHhmQzJENDE0QjkzRDU2OTg2YTBiNzA4MDcxQzg3YkEwMGY3Mjc5ZTRBIiwiMHg1NTJFMmRGNTJFMjBmNTc0NmIxN2ZiMDkzZDBBM2YwQjEwRDAwNjhhIiwiMHgyRDk3NzU1ZDJkMThhNzdlRjlFQUQ5NzdERDBjM2NBN0M4NDBENUZDIiwiMHhEM0I2ZmNjYjg1MUZiM2M0N0M3MUFCNUQzMTMyOTE3NjkwOTFhZWE1IiwiMHgwMjNEQ2U4YTRDMGEyYjlmRjM0ZTE3YzVmZGNBNDJhNzM2NmNEYTBFIiwiMHgzODZGNWQ1QjQ4Zjc5MUVjQmMyZkRBRTk0ZkU1RUQzQzI3RmU2Njc1IiwiMHhCMjY1NzhGNEI5RmYxOTY3YTJEZTMxYzRlYjIwMmFiMjU5MkNjRDM1IiwiMHhFNTg2RTk3M2EzYzBENTMxZjhCN0ExNGQ4RGNlYjBhNzBDNDYyNUQzIiwiMHg2YUZBRDUyQjQyZDg5NjFjN0NCMTlhRDE4NUYxQzA1QWNmYUMzYTQxIiwiMHhFOTNjMzlhMDU3OUY2Njg2ZDQ5ODAzQjgyNDk4MTEyOGE3NzAzNjg4IiwiMHg4NDNFNzhFMWY2NzU4QjM2NEUzQTRFY2U4MjA5N0Y1RjdBMzIwZjkwIiwiMHgxMjUyZDAzQzNiMzdENzY1MDNDQWNGRjAyZWNmMjIwQUYyNThiQmJhIiwiMHg3MDk1NDJDMzkzMGE3MTNEMzlhQjQ3MjVEY0NFODdhNzkwRTBiM0VhIiwiMHhjZTMxMmZlZDkwRDk4MDE1MEUyODQ1RWUwNjQ4YjUyMEIwNjEzZkJCIiwiMHhjRDg3MzNEMUFjNzIzMzM3MDM1MGUzRDE4YjA5MjExQmRGMzgwNTFEIiwiMHhGNDcyZEFGNUQ5MkE0NmUxRkJGNDRDMkExQ0VjQkM2M0Q2NDgxMzUzIiwiMHg4OTczQmU0NDAyYmYwYTM5NDQ4ZjQxOWMyRDY0YkQzNTkxRGQyMjk5IiwiMHg1OTk5YTNCQTc3OTU4RjI5QkU0QzBhQWM4NjkzNTQ4NmEzYTQyMzFkIiwiMHg4NkJBNkJmYmRmZGY3NGM4YjkyNjVEODk4NjJBNDdDYmFCYTk3MzUzIiwiMHhmNUM1OGM1NDdiNjAxYTM5MzMzODQxMzk5RGI3MjNBMTIyRTlmYmNFIiwiMHg4NmVERjY1MzE1M0FGNzdjZGU2ODM2MDg1NmIwZkEwZGI1MzQ3RDA3IiwiMHgyMzllYTU5OWYyMDU5MDE5ODU3MDg5MTcxNDg1QzNmZDUwYjBmZkREIiwiMHg3QzEzQzREN2ZFYzE5NWJlMzEwOEY2MGIyZGYxOTMxNGVjQzk0QUQ1IiwiMHgzRjdGNGZEYUI4MDg3MjI4MkY2MjFjZjczNDM0QzQyODhDMDE2NkI5IiwiMHhiYUJEMDY2ODY1NWM4MGNhOTlCYjllYUZiN2UxMEJFMDJkQzQ1NTI0IiwiMHg2ZDllN0U5MkY1MDdjMDdmMGVFNGM5RTE0RkI5M2I3RWQ2RjA3NjY0IiwiMHg4REQ2NEIwNmFEYUVENUQzNzczQTk4NDQzODhmOTJGZjQ5NjUxREM1IiwiMHgyQmZmREVFYTQwNzZBZmQ5NDY4NDg4Y2MyRDQ4M2IwZDlCZjM5MGUyIiwiMHg4MEFDY2IyN2NBMUU4OTI0ZjI2NjE3MTFENDQ5N0YyNzlEYTA0M0M1IiwiMHgxQWJkNTEwOTFiQzA2OTE4ZDE3ZERGQjJmMTMzMDY0YTU2RjRGM2FjIiwiMHgyYTlFMjIzNDYwOTlkMDRBY2FCMTViYkMzNDVhZWE4NTAzODNiYkZiIiwiMHgzMTM3NzcwMUQ0QjcwRTBhQzIwNTFkYjY4MTEyNGM4YzRCMkZFZUUxIiwiMHgwRjFiN0Q1RTIzNTA5OGU5ZEE0QUU3ODE5OTAyMWQ3OTM4Qzc3QUU2IiwiMHg1OTc0MUE1RWYxOTBlOTNkNDU1OTM2RDY3M0RDRjI1RkQzYzE3NDIxIiwiMHhhMmE4ODA4NjE2NTQwQjJjNTZlMUU0ZDI3MUMwMEJmMTM4MzE1Y0Y0IiwiMHgxYjUwREMxRUMzOTg1MjYxOEE3RDMyZDAxREZkNTc5NGVjNjJEMzc5IiwiMHgxRTIwNDAxY2FlQzBmMDQxMzEwOUI3MzRhZTdDMDY2MjA0RDczM2RFIiwiMHg1MDRDNjU1NjlGNUVkNmE3YTgyMThBNTI2YTM4QzRDOUQ2YTZiMTM4IiwiMHhhRjVmNGQ5MDFGMzlFOEY5RTA0RkYwQTY3ODBhNzk0N0VFMjg2Njc5IiwiMHhEOTMyNjlkM0VBYUEzQzZGZTE2YjMyZmZlMzdFMzE5NENiNTRhODIwIiwiMHg1MTAyZjM3NjJGMUY2OEQ2YkU5ZGQ1NDE1NTU2NDY2Y0ZCMWRFNkMwIiwiMHhmNmQ3NWREY2VDYjY1N2Y3NjEzNTg1NEIxYTdkNmM0QkNlNDljMjYzIiwiMHg5OWI1ZDIzNjMzODEwMzAzMTY5MzVkMGM5MGE4NjcwZkM5RTI3NTJDIiwiMHgyMzRlZjQ1NzM3Y0U2Y2ZhNGZDYzU1ZDk2MTQzNUM0ZDU5ZmQ5RkRCIiwiMHg3MjI4ODVjYUI4YmUxMEIyN0YzNTlGY2IyMjU4MDhmZTJBZjA3QjE2IiwiMHgxODFFOWExZDA4NGRmQTc1MzM5MDQxYTdiOUUwQjVjMTM4OUZFNDRiIiwiMHg1NDU3MkZEQTE4NDRBQjdjNjc0QmExNTFDNjdlN0Q5ODgxZjJiMjc2IiwiMHhkZTBENjgyNjcwZEIxNEExMUViNkI1ZWREMTk4YzFEZmY3MGUwNTJGIiwiMHgyZDg0OTlBNDg0N0U5QWFEQ0Y0MmMwMTk4ODgwNjY1MWIyZjU5MTJEIiwiMHgwRTRkOTdhOEExMDhmZmVmNUZEOTEzMjVGNjlFZjBDNzRlODdFNjk1IiwiMHgxQThCRTkxOGExMERlRjcxNUFjMjQ5ZDRmOEUxREE5OTJGQjk5MzI4IiwiMHgyOTNENzI1RTkxMjEyRTA5MzE4MDU1ZjIyNjNGMzI3NDcxOGY0NzE1IiwiMHg5NzUyN2U0YWJFQjBBOUVhNTg4NDY4ODJhYkQxYTk2MTkxMEMwRUFCIiwiMHhDODIyZDg1RDJEQ0VkRkFGMkNlRkNmNjlkYmQ1NTg4ZTdGZmM5RjEwIiwiMHgyMmFFNDRmQjdiZDBDQjhEYkMzYzU0NjRiMkQ3ZkMyNzI0Q0Q3YjA5IiwiMHhjMWY0MDJCOTUxOTY4MDdjOGY5NTFDQmUxYzAzQzk0NDU3MUExREMyIiwiMHhmMENmMzA5OTVGNDZBNjBmYzM1NzFCN2RmMkNCRjU5NmFEYmM2QTE2IiwiMHhBNjcyNjMxYWQ2MEQyY0UxMDFkZTdjNUFjRDRjMzU4ODJCNjllREFDIiwiMHgwMzA4OEE3YTE0MmZBYzYyNUNjNzkyMkE3ZkRkQ0IxQ0UxMjc0ZEYwIiwiMHhjRkI4Q0YxMThCNEYwQUJCMkU4Q0U2REJFYjkwRDZiQzBBNjI2OTNEIiwiMHgzZThjNDI4RTM3OEMyRUEwNkRiNTA5MGVlNzQ4NDA3MkVlMTQwNUU0IiwiMHg1YUQxNDQ1ZDQ4QjZjYzc1YkM5NDRBNDIwOTZBNjdGNWUyZjg5RjM4IiwiMHgyNEZCMTJFMjk1MUZCMjFmNTkxNDRFZjBFQ0E0M0VDNUE2YzQwMTEyIiwiMHhDNGVBZTFBRmM5OTU3ODJmMjQ3MTEwNDNlNjYzN2Y0Rjk3NzM5OUI4IiwiMHhiMEZlMzYzNzQyMjdDNWM5YjY2ZkI4MzFBN2MzMDBFOEEzMmQ3YkYyIiwiMHg3Mzg0MDkyZDlDZTBDZTFCNWVCNUViMTBBNjdEZTY0N0JhYWZlMzVDIiwiMHg1YjM1MEI0ZmFDMkFlNUYxRDgyOUFiYmUyZjA3YzMzNTYzMjc5MDI1IiwiMHgzOWVENjQxNUM2MGVCQjI1NmJFNzIyMDQ5OTE2NjU5NTViQzRiRWRGIiwiMHg5QmJiMzMxODY3ODhkNTc1Q0I5N0VlMUIyMDA4MGY3YzU2QzAxQTI0IiwiMHhmMzM4MUNiMjMxYmNjNTk5ZUUzOEIzMTFCMjlkOTcwQTk5OGQxNGQ4IiwiMHg0Yzg2NkE5RjRjRjc4YTYzMEEzMkU3OTkyNjhDNzg4ZUJFQUMxODAxIiwiMHg2QjEwMmFFZTAwZUU4NEU5RjI3NjFEYUU2RjdhRjRDYUJiRDVmQzYwIiwiMHg5RTlGQWQ4MEFiOThjNjhERjlDN0I1NDA1MUM5ZmJDZmQ3MGRmNTI4IiwiMHhjZEU0OTMzZmI0MzA2OTA2NUQ5QTM4N2I0RTM5MmE0N0FGMzYxYjAzIiwiMHhFMUE1RUUyMjU5MTlBRjFBQ2EwNzhBRDgzODQwZjYyMjU4NmUwRDdDIiwiMHhmNjdlMTREYjQwQUQxMjY1QzRDZTI0MjgzQWREOTdGQjIxMTlhYmQ2IiwiMHgwNmQ2RDljNEM5RWFEQ2IwMzE5QjQ2QjdDRDA1MzU4OTE1YmRhOTdhIiwiMHg0M0M4NWExNzNBZTg3RWNBMjVDMjcwNUYwQmIzODkyNjU2ZUQ0MTYzIiwiMHhiMDZhNWY2NjE1ZjdjRTUwNDc4YTVjNTdjNjUxYmY1RWFEMDU3OGIwIiwiMHhjMDlDQzE1NjA3NzIzQjM1ZDk2ODc1Mzg1MTA1MjkwNTdiZjM0NDE5IiwiMHgwMUNlNTY1ODc1QjgyMzcyQkExNDlCOTdjMzZiMzQwODY3MGQ1QzJFIiwiMHg1NkIyZDNEOTczODFGMzM5YTE4N0Q4ZmZhNjFFNkM5NzI4NzIwM0JjIiwiMHg3ZkJBQjY4NjM0NWU4MjcxQzlCRjJFMGRkQTNjNTllNmQ4NkVDRTlhIiwiMHg0Y0Y1YjU4MmI3OTE3ZGVCNTMwMEIxMGUwNUMxZDZjRTAxMDJERWFiIiwiMHgyNzJBQmViM2YxMTRhNjc0RkI5YzY1ODJDNTk5NzdiNzU3RUQzZDNjIiwiMHgwNTNDRWNDODc1M0UyMUM5ZDU2MzlFRTUyZjkxNDI3NzRDN0FlZDQyIiwiMHgxMTk3MmNmQmMzMDY1RGExMjM4ZDFGMzQxODFhZTZBNzI2QjFjNjUxIiwiMHg2MkIzMGM1MDgyRjM4N2NmOGM3NmQ5OUU2OWEwZEMxZDFhMTI0MWY0IiwiMHhBNzYwMTQ1OWIxYWZEYzc4RUJhYmNkNkU3RjczMDVEZDhhRTA3NjUwIiwiMHhkMjA2ODkyRUM0NkE2NjNmNUY0OUREYzdmMzc2MUY2NUFFZDZGRDU3IiwiMHgxRDE3N2RhNDA2RTNjMTQxOUUzQkMwN0IxNjc5NGY1OEY2YkJkNDIxIiwiMHg1Y0MwZDU1NjNCOGY4MUM2QTUzNGRFYmIxODY5MkVhQmI3MGI5MTJmIiwiMHhFNDAzQzVkNzM1MzYyZjA2QkZmM0JCMzhiNGEwQjljOTFmQTgzNUU2IiwiMHg1MjY5MTRDRTE2MTE4NDliOWUxMTMzRmY4RjhiMDNBOGZBYTI5NUNiIiwiMHhiMzNmMUIzODk1NUI2MjJjNWREQWUyZmYwNDQzRDZFMGQyNUVCRTZiIiwiMHg1NDkzOEE0ZDczQTE5OTM2MWM5RmJGYTM5MDY0MDBEOGNjYUQ3MEVGIiwiMHhERjRlMTlFNUNDOGVCOTJCNDExNDRCNTE2MzI2Q2JEZTk4RDk4YkU2IiwiMHg4ZTExNEVGNUVBRGQ3MkZlMTQzMjMyYzhlMGNGMjkyNGZjZTNCYWExIiwiMHg3NDk0OGE0NDFmYTQyYUU2MEZjMzllOTkzRUQwQTgxMDQxMTg2NTY2IiwiMHg0OUNBNTE1MWNmYTY2MDRiNzRBNTM4QzRmNDBkZDExMWVmNDczM2E3IiwiMHg1OEVFQjVENDREYzQxOTY1QUIwYTlFNTYzNTM2MTc1QzhkYzVDM0IzIiwiMHhkNGUwMEQ1ZEJiRTZGNzRGZTljMkI5Zjg4NGI1NWJhNTkwY0JkZWVhIiwiMHg0YjUwQkE5RmUwRDM2NzE3YkUzYzIzRDY4MzMyRjcxM2I4NDYwNDExIiwiMHgxQWJiNjIwZkQxNTEwN0ZGZjlDZjNEOEQwNjVCMUViZTE0RTQ1NjZiIiwiMHg4YzczMjRhNEVlMGU4NjQzMGUwN2U3MzQ2NzFEYzA2YjhhYWMxMkQ0IiwiMHgwYWE5RDlCOTc2QzVkRjYyZWVjMDBBREQ4NzU3RGQwOEE0MzdGRDRiIiwiMHgyMTY0Y2JCZUJjY0MyNzg5ODI1ZGUzMjk1RjdmZTA5MzA1QTMyMEZCIiwiMHhBNDFhODQ4NDk0YjQ1NThkNDM2ZjFBRjBBYUZBOThmOGMxMEJDYTEyIiwiMHhkY0IxMTRCYTNDODNGMjg1RjEzQTUxNEY2RjVDNEFEMmYxZkQzNzkyIiwiMHg1Yzk1MDEzZDM0OTY3NDA1QjkyYjg3ZDJhZGEwYzNDRDQwZmUxREYwIiwiMHg5NzE2NzM2MDRmODZlYTdhNmFCMzQ3ODQ1OTU5MzlFOTE1YTVDNGU5IiwiMHhjMjQ0MkRDMDJCMTIzQ2I5QjQwYkYwN2Q4RTMyNkQ5ZUIxOGEyZjM3IiwiMHg0YjBDQTgxMjQwZkVhZjFkOUIzZTMxNGExMTZhMkRhNkU2N2NDRTdEIiwiMHg3MTVmMzM2NjNiN2U4NWFkZDBDMmMzNTYyYzQ2NWYyRTRGZUE3NjM5IiwiMHhFOTBDYjQ4ODI3RTU2NDg0NjJCQjVkNDY1OTA4MGY5QjJjQTVlQzg2IiwiMHhmNDg4NjU2ODdkRkQ1NzU5M0JENDRBRkQ2QTA0NTE3NjQ2RWNiMzdmIiwiMHhmYTVCNDNEZjhBNDlkMTA4YTQwZTUyZEYzYUVmYjNiMGY4MzM1MjkxIiwiMHhkMkQ0YTUxNEY5RDc3MzcwRUNGNDg4MjhlQzM1NmE5NEEwNkZjYmY0IiwiMHg1OUQ0QTczYjJFZGNERTdkMkUwRWRFQUFFMTE4NjIyZTFFRTEwOUZDIiwiMHgxMjlBMTEwQTUxZjBBODU0MTRjN2U1Nzc4M0JGMDNkNzFENzc1QWRmIiwiMHhBOTNFNDljMmE0YjA2OTRFMTUxMzUyQTBjZUM3NzhDZTcwNzc1ZGU1IiwiMHg2NGIzMTQzNTFkNjJFN0Y1ZGYzNDI3YkVFMTM2OEE3RTBhQ2E2RkI0IiwiMHg1ODM0RDQyNUU1YzVFN0I2NEZkMDVDMUZmMDQ5NDk5YzYzN0NkMTc3IiwiMHhEMDQxNTQ3Y2ZGMjRGZkNlQzViOTZFMjRBZkMzNjVmMDU0NEE1MzVEIiwiMHg2MjRCQkEzYzYwNEVlYjkwRkIyRDU4OUQzNjA5YTg1RkQ2Y0UzNDgzIiwiMHhjNEU2M2ExNGUxRUUwRkM1QTY4ODU3NkVERkMwMEMyMTE0MTQ3NmY3IiwiMHg3NDM2QTUyMjg2ZDZlMjVmMjgxMzE4YTExMzFBODlBMzQyNzkyMGJDIiwiMHg3ZDc2NmM3OTVjRjFhNTE2MkViN0MyMDU3OWZENkE5MjU0NzVkZDEzIiwiMHhBRGE2NzgwZkQ1RmY0MmM0N0Q3NURhZGI5OEYzQmQwN0QyRTkwNzAzIiwiMHhEM0YyQkFmNWY2ZEMzMzBjOGUyQTAwYzYzRjRiYmEwMjA2MTM3ODFBIiwiMHg5NTMwRTBDNzVCNzBFYzM4MDFDYjdiQzJGODY4ZDZlNDQxMkEwQjFFIiwiMHhjQUQ0NjhFNWYxMzRmQkQ1ZDg0QjhGZjA0YThmMWQ4QjJGQzNkZTZmIiwiMHgzNDViMjU0NUU4OEI3RmQ5YzY0MTMwQzQ5YTBDQzhhNTRGMjA2RWZhIiwiMHg3YjdhNDQ0ZTU5ODUxNDM5YTA5NDI2RjQwNDdjOENlQWQ3QjNiNmI5IiwiMHgwRjdGMkU0NTdhYzUwYzc4MDUwREU1QTQ4MTVlMWRhMWU1NWNjQUYxIiwiMHgwQTRlNDc5ZTE0MjRiNDI2MEIzMjcxNEY3YjI0MDhkMTdFQ2NCNDQ2IiwiMHgxOUNBOTg2MDVBNDU4QTI1MDY0RjZlNmY0MDk3MDg4Q0Q3NzJiNzVBIiwiMHhmNjYzNTQwMmVhYzBGMUUwNDYzMzY2Qzk1ZWQ2QjMyNDhmM0U0RjcyIiwiMHgyMDg5NjczMzJEYzg5RENCODkzZENmMjIwZDVFQzE5RjU2MDcyN2VDIiwiMHhEOUE3ZTQ0NmJDOTZFMTc4OWJiRGNEM0JkQkY2OTY2MzQ5MjlDZkM0IiwiMHg0M2EwQTdERTcwY2IwQTFjODNGY0ZEMmY1QThFZDE3OTM2NDlEMjZFIiwiMHg2NDVEYzJkMDQ5MzA2ODhDNDM1QzMxQTJhNTE0QjFGNDBhMDY2NzhFIiwiMHg0ZjllMEZEQ0E5QzA1NmVkMERDODIzZjA4ZTU2OWVkMzE2RTUwRmUzIiwiMHhjMUQ0OTJjNEU4RUJiNDQxZTEzMjMzQmJBNjA0NDYyZDgwN0UxMGQwIiwiMHg0ZjczNjA5MTZCQTI0Y0VCMzA1QUU4NzQzNDI4RTRkN0JmM0Y5YjRlIiwiMHhGODNBMDRiRjVGZkJFMUE1NzE1NzhhZTFiNDk1MDI5NjQ5MzNjMTg5IiwiMHhlODhFQWMyRTUxOEQxMEI4NjZGM0JkMDA0YThCMUQ1NGQ0MTJGOUJkIiwiMHhjN0E3MjlENmQwMTBGZmRFQTc0MzA5MmE5Nzg5OEU0NTBlQzFFRDMzIiwiMHgwNzI4QjgzOWJCNmQxM2QzRDczM2Y2RDY2NWQzNEFlOTJlREZCMzhFIiwiMHhhNDRCYTM4NGE2MzA5RkEzYmExMzU2QjNCMzQwRWNjRTFCRTY2OThFIiwiMHhBMDk5YWE4NmIyMmI0MGFhYTA5NjA5NUEwMjQ5OTUxMjM4ZTEzYTJCIiwiMHgyOUI4M0VmRTc0NjQ2RkJmQjZhODFCNTg0N2Q0MDI2RTg3MGE2NDYxIiwiMHhmYzcyRjUzMjY4ZDIzODM1MGQ3RDNlRjI3MTVlYUU0NTZCMDk0MzQwIiwiMHhBNzY5MzJlNDMyZEQxNjg1ZmI4NTMxODVmOThGQTZGNDI1Q0Q3NzZjIiwiMHg3MEQ0YzhkNzhBMTBkQTFjOTlmNWUxNWMwQjcwN0NBYkZDNGY0RUQxIiwiMHgzNUZlQTA4OTk3MDAzNmYyYTQ0MjVFOEEyQzcwYTgzNjZmZGQzM2RlIiwiMHgwNzA4M2JlZGQ5M0FGNzY1MDhlOTM1M0Q4ODdFMTYzNmZEMjVEQUEyIiwiMHg4RjYyZURDNWY2M2FGRUY0QjlEQjVCRTc1ZTk1MTAzZUNlNEM5OTk0IiwiMHgzODY5NzMxRGQ4MTY2ZTc0NkVlY2NiN0Q4NjZhMWQyMjVFN0FiZGJlIiwiMHhFNjNCMzEzMzU2QkM1MDUzNTc2MEYwYjFmZTc3ZDIzNkQzMTY4NTE4IiwiMHhENjcyMjZBNWQ4NTA0YmZiY2Y1MTZDOGE5MkU4RUIyOTBiZmIyMjliIiwiMHg1NjczMTc1Mjk4MDY4MDJFRDhhYmI0MTMwOTliNTQ0NkU2ZGY3YjMzIiwiMHhCMDRjQTNjRkY1RWJiOGY5MGQ5RmM4M0FiM2I0Mjc2N2UwOENhRDhCIiwiMHg1NWE3Q2I2MkVGOTJlMDJkMzhlNzJkQzI3NThlQzg5OTdhQkUyMjI1IiwiMHgwQ0YyZmY1NDFmNTM5ZjU4ODkzODQzNDlkMTJDM0ZiQTRkNDEzMjRCIiwiMHgwZTA2NkRmNTI2NDNlNjU2RjE5OTQ4QkI0MGIyNjRkNEYzNkQ3MzFBIiwiMHhBODc3MjJhMTQ2MjIwRjUzNGFEQjlBQzhhOGE3QWNmODc5YTlCMzAyIiwiMHhiMDI0QUU4ODA4NjE1OGUxQzY0Y2Q0OTcxNjhjNzI2M0NGQzA5OGExIiwiMHhFMjUyRjk5NTI1OUQ4ZDBhZjcyNjVkMzJkMTAzQTRjQmEyNDc0QjAzIiwiMHhjNjZFMTEwYTBiMkU5OTA0RWM1Nzg4ZjA2NjlmNEU2ODE3QjMzODE4IiwiMHg0MGExQUFiNGI4ODc2YjUwMzE3OTExQzE5YUIxODE0NWRjZjBiMDlmIiwiMHg2RjdGRWIwMjQxOTk0MTlhMzE0MDZiNTY5NDc2N0VhYWIzQjQ0N0I2IiwiMHg0ZjVBODA3Mjg5ZWFhN2I3YjQwNThhQ2U3ZjZFRWM1MUYyRDM5QTlEIiwiMHg4M2RlN2Y3MTc5ODVBOENjODQ3QmIzNkFkYjlmRDc3YTBFMGNCNjhkIiwiMHg5MDc2RTMxRTUxY0JENmQ1ZjdmYzgzNjZjNjJmYjI3MWE4NTQ3OURkIiwiMHhkNEFEZjRkN2Y4ODM5MkIwZTE5OTBBQzA4ZDI3QWE2NEZCMzZFNDU4IiwiMHgyMzNCQmY3NmE3RDhkYTYyNzVjNzBFYTM3MmYxOURlODRkQkNjMTY3IiwiMHhDOWYwMTc2YkYzOGRiQjUxMDE4ZmQ0Y2I1MjM5NDdkMzI1YzNiNzE4IiwiMHhGZWEyZUI0MEM1MUI3M2RhNUM3OUU4MUQ3RTg5NmIwYjkwRGNBM0FkIiwiMHg5YjVCQjY1ZENkMzcwY0ViMUYzMGYwOUU4MDQyRjBCNTlEMmY2ZDE1IiwiMHhCNjY0MzhCYjNjQTQzZmNhRjkwNUQxQ0QyYzEwZmE4NDE2Nzc0MjU2IiwiMHhkNEUxMTZFOUU3RmE0MGYwZUZFMzgyYTllMDFlNDM5NWRDMWFCYjZiIiwiMHg5MDE5QmJlMTFkMDREOGFiMGI1MWYwNzMyQzcwRUVENEY3Q2EwZjUyIiwiMHgyNWYzNzExZmNDMWJhZDZlODAxZkRkQ0E0OTA0QjY1RTkwYjEwMDU1IiwiMHhBYkE2QWE5QjBDNDUzNzU1MzVjMTAxZUE4OThhZmUxNjQ4OUI3YWY1IiwiMHg2NzlBYURmOTlCOEIxZjc1QkQ3OTQ4OGE1YTFDNEFEQjA2ZTJlOWUzIiwiMHhGNjgzOUM1NDRiMzYyRjZDZDM3NGY5NTE0YUM3QmUzN2Q2QTA0YmM4IiwiMHg0MTgxOTdhMzJDYjg0MjUyMzQ3Nzc4QkEyOTNFMzdjMjUwODM2NjZlIiwiMHgwRDY5NTY0ZEZFRGQ2NTkyMDQyODA5MEU4MmE4NzlBYTlGRjZFQjVkIiwiMHhjQjZCNjAyRUU0MEVhODgxNkRmYzg0NTM0MEZEMzIwODA4OGZEOTRGIiwiMHhjMmY1N2NkYjI4NUNFODk5N0Q4RDFiMjZGODFFRjAzNjRFQTk2Y0VBIiwiMHhlMENBOEMzZjk1RjFDRTQ3REEyZjk3OWVkRjcxNDM5NDJlNTI2NmY3IiwiMHhEMEE2NDBGZEE3M2YyMTlEMmRFMDgxN2QzZjRhNUQyMzU5QjE5OEZhIiwiMHhmN0QyQjE3ZjkwNjY4NTE3QUUwYTE4OTcyQjY2NEQ1NWQ2NzJiNDFjIiwiMHgwZkI5ODdCZjE5OTkzNzgzNjgyRTRlODQ5MTg0RjRhNTZGMEFjZTZFIiwiMHg2MmM4ODhDMzVBRTU4YzRGZkE4YkVhQTc1RjVFMzAzOTQyOWY1NEU3IiwiMHg2MzU5QzM3MTZkNkZDODgyNTI1MjcxNUQ4QThmMDE4MWZkNDlDMkU2IiwiMHg4NTNiRDFlMzQ0OWE3MzEyNmQyNjEzRjNlMjIyYjMyQkQ5OUIzNWZCIiwiMHg0MzUyQjM0OWNkMDRjMUYwMkZDOTZCRGYxY0Q3MEY3ZDE3MzlGRDM2IiwiMHhkOGFFMTA5NkQ3MTAyNDU2MThhN2NjN2YxODAzMzZjODZkMDM5OUMyIiwiMHhFRUNiNjRCZjE3OTgwNkI5MWVjYThiODUyODU2NEEzREFBOUNhQ0U3IiwiMHg3Rjc1RjBBRUQzQzQxNThCOTFhZDM2NDFBZmE2ZThEMDM1MzExODYyIiwiMHg3ZDNhMTI0NGY3YmI1OTg3ODIxMzY1MkRhZkEyODZkZUE2OGQ0YzdhIiwiMHg4QjU2QTAwQ2MzRDMwQ2NDM2EyNThjN0RjRWFGNzJCNWJhZTVkM0VCIiwiMHgxNzc4MkQ1OGM3MTVhYTJBNDQ1OEQ1RkIxQzFkOGU1MmE2OWE2MkZjIiwiMHg5OGQzYjVBODRCMjkyNGQzMDIwN0JmMDg1NjBFMjQzZjcxMjFBYzk2IiwiMHg1NjdGMTRjMEQwMjdlMWRCQTg1ODBkMDVDMTJhYTk4ZGM1MGQwZEI1IiwiMHg0M2IxQUQzNjM3Mjk4MTNkMjYwNWYwNzFCYjdEN0JkYzZkMjBiZmYzIiwiMHhkMzAyRGQ5QTk1YjU5OURGRDI4MEZiMDlCMDBmRmJhNEUzZDUwREQxIiwiMHhjMTUwNWJkZUVjMEU1M0M1ZkM2MTFCZjRmQjc0RmQzYjJmYjJERTQwIiwiMHg2MjhBM2VCNGJBYWMzNUFENzM0ZTQwNzZCOGJGNjk0YjEzQkNDZTkyIiwiMHgzMzg3MDUyOTdFZTExMmUzOUVhNEEwMTNhNDc1QTQzOTJiZTE1Mjk5IiwiMHg1ZkMwZjg3MGE3MUE1OTExRkFEM0JkMzNhMTY1Zjg3NDE0Yjc0M2Y0IiwiMHg1YTk2ZTQwMTJhODVkOTVmNGVBQjYwZWVGZDkzOEM2OWU5MzlDNmIzIiwiMHhEZjVjNjkwQTIyNmUzOEYwRWQ5MDA2OUQzMzdGNTg1Mjc5NzQ3MjI3IiwiMHgxMDY0NzM1RDEyNzVBRTI1NENBNjUxMWY4MjE3NTE2M0FlREYxNkVFIiwiMHgzMjFGMTU4RGVEYjk2ODNCZWIxNjc1Y2IyQmM5NjlmQ0UwM2EyMTkyIiwiMHg4ZjQxNWFkYjFiN2Q0NTNBYzRmYjA4MDliODE0QTJBZDFENTRCODg1IiwiMHg3RTlmRWU3ZEE1QjRjOWQ3Q0FmODk5RkVFMzJDRWRlMjM2ZjkxMGMxIiwiMHhkM0U0MTdlZDQzMDE2N2EwOWE0Y0M5RUJhNjMzMzRGNTI2MkRDZGNBIiwiMHg1NDQ5ZmE1QzlCZkJEN0ZBQTlDN2RGNDlENmU4YTMwRmRmQ0ZjODhDIiwiMHhDRTUyNmNFOTgxNmFDMkQzZWZEQUNBMmIyYjVCRDg5ZjZhODk2N2U0IiwiMHg4NjUxMzM2YjY1MmQxZjY4YTIwMDdjRDEzOTg0NjY5OWQwMzRGQjNEIiwiMHg2YzM1YzQwNDQ3RTgwMTFhNjNhQjA1ZjA4OGZhN2NEOTE0ZDY2OTA0IiwiMHg0NzA0NTllRTFDZTQzNjY0MEExNzM5YTM5NzFjMzYwNUY0ODNjYTdhIiwiMHgzQWVhYTBiNTlDZjZFRTQ3MUYxNDgyNzRhYjEyMDdCM2IwMGM2YTFFIiwiMHhmQzUyMTE5ODYxNzIyNjBmYjY1NzllYjA2MjIwYjE0RjQzODkwMTFGIiwiMHgyMDY2Q2NGNzM0QzA2MDI5RkFiMzM2Yzg0OUE1MTFhYTRFMDMxNDQ4IiwiMHg0MjNFYzZkOTczRWM0ODM1MjQ1QTZCODU4Yzg3MWQwREZBMDY3NTFmIiwiMHg2NzBEQWMyYTVmQjkwMGQ3OTk3OThjQjE3MEIwZDI1MTdhYTQxMEE0IiwiMHg4QkI2MGM2MTFFMjMyMzc1OEUwZEQ0YjNhNTQ2NDA3OTI3OUViMTYwIiwiMHhhQzYxN0Y3MTVGMjUxODk3MjUyM2RCZDhGN0RjMTVGMzYyNTMyQmRGIiwiMHhlZDJiYzhDMzZiYmYxRTFlOEM0QjVGYTU3RmI2RDdlMkY3MTRmQkU3IiwiMHhBYkM3RDYwMTk4MkIxZkYyNzk5NjVBMmQwRGIxOWIzOWRCNEYzOUNBIiwiMHgzMzE3ODE1MDUyNzQxQ0ZDQUFiYTY3RjhhNzFFQjk1QjlmMjlFMzY4IiwiMHhFZGQ2N0VGMTM5QWNFQzA2MUU0N2RlNTY4QzJFZTFkNUNDQzc3MjU5IiwiMHg3RDA5OTBFRUZCQmU1NDY4ZGRCM0RiNEQ1ZWUxMzU2MGM0OTlDMDRDIiwiMHhGMjJBNmZiM2MyNDhmNTlkNjRBOUU4NkQzY2NDNTgyN2Q1MUQ1NDlkIiwiMHhFNDExQjY3YzdDZjEzRjlBMjJGNTBFNkI3YWM4QTkxMDAwQkYyMDBBIiwiMHg5NEY3ZUVjYzcxOGVCNWNBMEI3ZjBGQTBhYjQyRTkxRjg1NTg1MzBjIiwiMHhhZjk0ZEUwOWFhYjdjM2Q0YzBGM2UxQWRFNDllMTBBNWQ3YjhDY2IzIiwiMHg1NjgwNEVjMTU2OUI4MTRjMTc3NTJFRWYzYzM4NkMyNjYzRWQyOTdBIiwiMHgwOUUxZGM1ZTUzOUU4YTkxQTI1MzUwOTAyZmUxM2FBQTBmNUI5YjA3IiwiMHgzMURiNkUwODEyNDFlN0I5MDIzQzNCMmRFRWUyNWQzN2RDYzBDRjE2IiwiMHhEYTA4OEM3ZTUzRWVDYUEyYTcyOWRkMTEyOTQzOTgyOTQyRkI1QmJDIiwiMHhlNThENTA3MGE0MjFkNDYyZkQ1RTQyOTlEZTE4NjdiOWFEN0QxMzNGIiwiMHhEMmQ4MDkwMzYyYzQwYTY5NDUxYmU5NUVmZkY3NEFENmM3ZkNEZjNEIiwiMHhEZjRhQTE0MTAzMUU4NTQ2ODEzN0VEMTI1NzQ5QzRmNmE1N0Y4RjVCIiwiMHhiRWFiYjc0MTE3OEU0QjIzN2REMTdBOWNERjgxMWY0RGMxZTdDZDI3IiwiMHg0NkU4NkI5ZDlFNTJBZjlmZkRDNTMzMWZiMzZkRjY0N2MzRDMwMjA5IiwiMHhGM2U5OTc2QUI5QmJjNkZCMjg5MTlBRjMxMjI1MTBkRDY3M0UwNTdkIiwiMHhENjFFNDRlQjkwYUI3MjI4Njc0ZEMyMjgzYThDRkE5MDVlOTg1RmU3IiwiMHg1QzllN0Y5OTY4MGM1QkJDNTU4NWI3MUQyNmJlMTIyQTg1Yzk1MGY0IiwiMHg2OWNjNjkwMEEyQjEyMjMxZjc0OTUwZmUyMjQxMDNCRmUxQjE3QjIxIiwiMHhjMkJEOEJkMTI1MkZhYUFDNzAxYjNjMTI0MTY5ODZmQTQzZjNlOGUxIiwiMHg1MzU5NUQ0RTRDMTdDNjg5MDQ5NzQ5YTYwYWRmZjcxNTMwZGREQTRmIiwiMHg0OEJlYmIyMTBlRjcxQ0Y2ODE5QzY1Y0VjMDI4ZGIzQjZjNzYxZmNFIiwiMHhmZDgyNDg0NDQ5NzI4MUE2QzRFNzNFQ0Y2YjQ3QWI0RjU2NzE5N2Y1IiwiMHhmNDE0YWJiNzQ3RDRhMUUxOGI3N2UyNTdDNWU3N2MzNDViZTEzNTc4IiwiMHhBYzY4NDk0MzkwNzVEOTdmNDA4NDJGOGYwZjNCY2IzNzVlRjEwZWNCIiwiMHhDYWY4NUVBMjE3RTk1ZjE2Y2Y2OTUzNDUxMDIxODA4YkVBNGNDNjVGIiwiMHg2YjM0RTNCOUE1ZTk5RGJGYTJiODNjMTBlNDAwN0ExNDgyODBkOTVhIiwiMHgzYTQ1NjVBZGJFNWUwMWMzMjU0RDkyQjc3RDlDNjI4OWYyRGU2OEIxIiwiMHhGZTQ2Qzk4YWVFYTJENmNDNmU0QjcxMjQzMUZDYzdGZjQyODdDM2MzIiwiMHg0YzQwZjY5YjUxQzdkYjkwMTExNUU2NzlkQTJhODJiMzRERGM5NTljIiwiMHhFN0UwNDMwNTFBNjFkOGNhNDZjZDRGNzYxQzM1ZGY4ODI5N2UxMGU5IiwiMHgwOWVmNTc5YjhhNGVEODFlYzY5QUI0NjU0NzQ3NTJDMDc1NzVFREZhIiwiMHhEOUY5MTA3MDM3MTk4N0VlZTNlNTAwRTkwZGU1MzMzRTBjNDNkMDMxIiwiMHg4OTk3ODQzZTRkMDNCMDkzMEQxQ2YyMURiNGFhRDczNjg2RDUxYjQ4IiwiMHg2YWFEQUFjRkRDQjM1OEU4YkQ5NTE3Nzc4NzcyNDU1ZDkzMTU3MzgxIiwiMHg4RUE4MGY4MzY4YjM2YkI4YWI3QmZCMjBBMDI2NkUwZDVhODUzMzA3IiwiMHhENWYwQ2FiODA2Mzk5MzA5RGY5NWVkQzFDODExNjBDQ2VjMDZmNGRCIiwiMHgzMEIyZTVjOGEwZjg5MTE4OTg2RjYyNjVDMTM0MzcwMjk1MTIzNTc3IiwiMHg5Q2Q1RmJjZUZFNzc3RDJmRDhkZThiOTZDZkM5ZjYyNjY2NUI2OGYyIiwiMHhCZTRFZkVBN0U4RDBDRjEzNjE3MkQ3NDhkOUM5QTU0ZGM0NWRmMTg3IiwiMHhiQzRiQTNlMTgxOWI4YWY5NjhlRjY0MWU3OEJBRUJCNEU0QUMzNTFDIiwiMHhDMkMzMzA3ZDY1MDQyMWE3OTJiMzAxZmJCOURFNTQyRjI0Y2JDMjgzIiwiMHhhNDM2MEU4Mjg2NmQzNWVDYTQyYzRGODAxRDdEOTJmN2YyZjI0NTgyIiwiMHg3NWE0MzVjYzI5YWI3OWUyMEFDM0EwNzRmYTQ1ODhGMTBlNDIzOTk5IiwiMHg5QTlFYTcyYTNDMzA0MDJhNTI0RmQ1Y0JkM0ZlNjJFRDlhRGNlYUY0IiwiMHg5RTQ2OTFiZjU4QzgyMGE2RjM3YmJlNkY4ZjM4N2Q2MUUxQjhjNTZhIiwiMHg4NTJiMzlEMjA1ODNjNDRjODQwMDBkNTA0MmIyMTE1NGMzREU3MGMyIiwiMHg1MTYzNTNmZjIwQ0Q3ODJCMDc5MzE5OUIwRWNjMTdFNmJlMENFNzRiIiwiMHg1MzgwQWEyODc2MTYxZDZCOUZmNjU2ZjY0NjMzMTFGYmI2RmM4NEY1IiwiMHgxMjY0MGQ3NEExNDNBRTgwMTQ3OWMyRjY0MTUxY2Y0OEQyZkVDQzBkIiwiMHhhQkNmQjc3NzA4YWE0YWYyYjczMGYwMkQ3RDI0NWZlNDVkZjFFQUZlIiwiMHhmRjMwNjhBMmYzMzJEYjdCRDhEMzExYTNiN2M0RTkxY0UzMDcxZmMxIiwiMHhBNjczNzU0ZmY0NTMyOTQ0MUVEYTgyMzAwMDA3QUIwMjA0QTgzNzlGIiwiMHhFN2E1YTc3QTdhNDYxNTFBYjA3ZDhDRDNmMkU2Zjc5MzdmM2ZjNTRiIiwiMHhhYTgwRkRjNzU4MWU1MTA2NGE4RGJmN2QzZmM0NDJmMzkwNjNiZTE0IiwiMHg2MDhiQ0YwOTlENmI5MDAwMkI2NEM4ZDA4ZjAxMTE5MjhlOTMzZjRiIiwiMHg4NUNBRDE0QTY2ZEYzNjU1NzBmN2FmRTI5OEFFRjcxNUJFRTdBN2ZiIiwiMHgyNkUxNzNmOWJFRUJkOTgzMUQ1ODFGMzkyMzk3YzQ5NGI0RGRmRjM1IiwiMHg4NGVjOWU1NzlENDI0MjRGODE1MEE5ZEFFZjFGNTE3NTQzRTllZGU4IiwiMHhFMTA4YkUwMjdFODExNzAyNDhBM2E1NTUyN2QzRUQ4OEE2MWFlNWY4IiwiMHg4NTE1QmI5ODdkYjUzRUNiYzc1MDBFMzUzZDAwNDFCNDBhZjViODljIiwiMHhDYjI2Y2JGOUY4NmNjZDdFOGM3MjFhMTE3N0FhOTYwNmVDQzYxMTBFIiwiMHhCNjMxOTE3NjdiQTdlMTQwYTU0ODJjRUFDMzMyMTA2MDExZGJjOGYxIiwiMHg2ZTIyNTM2QzBkOWQ4MEE1RGE2OGY4YjA5NjVhQjA4NTg5MWYzRTAxIiwiMHg5RjRjRjZhYkRDOTNiQ0RDQTEzYmEzNWNENTdlMzkyODk3N0U0ZDkxIiwiMHgyNzBmYjkwMWUxRDE1OUYyZUU5YmMxODlCOTk4N0QzRDA1QTIzOUJEIiwiMHgzZkIyODJiMWE2OTQ1NDlEZEM2OGI4YzI2OUY3QThlN2IzNGQyRkMxIiwiMHgwRjMzM2QzNTQ1ZWEwMjkxYUU3NEUzMjRhMUQxNjViRTlEOTBjNkE5IiwiMHhEMEIxODM5ZDZkNjlDZTJmRDEzMjY3MWI3OTQ2OWJFNDI5RjRiQjBkIiwiMHg1NTI0NzRhQTJhQTE5YTIyODQ5NmVjZDYzMTYyNDFDZDkyMDhkNUM4IiwiMHg0OTI4NWY1OTREMDk2YjJmYkFGNjI5ODQ1MDEzZjliNEJFYjU0RmUxIiwiMHhFODY4OEYwYjU1RDliMkRGOWYyMTZkODc3OGJFZTk1NDc2ZDJjNjc5IiwiMHgwRDc5M0JkMTI1YUExNDFCMWI4MTI4RDg4NTI2NWJGZTZiRUVmMzA2IiwiMHhFQjMwNjQyMGQzNDU2NmIzQkI2NERDQ0NEZTViMURlMmI3NDI3MEY2IiwiMHgyODMxYjBGMDJCRjZDMkZBRjNGMTYyZmE0QkY1NkEyNjUwN0UzOUU4IiwiMHhmYzlFYTgzNDVCQTFkNTU2MzI1NTg3OWRFYjBkQTE5MGJCQzdENjU0IiwiMHg0M2JDNDhGN0Y4QkZmNTMzOTZmMUQ3NWE0NTc5ZTFGNTlkNDE2RDc1IiwiMHg3NGQ3RDkwNkM2RGYzYzlGZTk0RTUwODUxNTBCMjExRTg5QzgzNDRCIiwiMHg3ODY0NDE3M2YzOUM0ZUJFMmI3N2Q3ZTlBY0FDNTlDMkNFMDczMGI2IiwiMHhlOUFGNDM0MTNCYzNEMTRDNjI4ZTkxNmU5YWM2NDc5MzRFM2IzYzc5IiwiMHg1MGQ3MDA1QTczQTI1NGMzOTVjNzZENUJiMmQ1QzgwNzY5NTFmNmFiIiwiMHg1N2NlZTRFMzczN2Q3NjVhOWRCM2JGMkFjZjE0MzU1RTY0NzY0ZTUzIiwiMHhmMjU3OERkMkYyMzVDNjY4MjM2YjI5ZjVDNUZCMUFhOEVFYjgyMDIwIiwiMHhFOEUwZjg1Y2EyQkE4YjMzRTUyMmNmOTNCYmZjQmM3MzUxMjY2ZkVjIiwiMHgxNUJkRTI4ZDU4OTgzMThGODY1OWY4RTRDRDdiNjg1MEMwRTlCNjE0IiwiMHhhNTk5MjdmNjc4MmUyNjljNkRjYmY1MjEyY2Y4NzQzMzdGRTdGZkYwIiwiMHgwYzBlQWM5NDY0QWU3ZTI5MDVlMEZjMzdkQjg1OWM5ODZkQzAwMjExIiwiMHhGNDYyMWRiRmU3MzdFQzk4N2Q2NUNjQkI3MDA3NEMyNTAyMjExZDkwIiwiMHg4MTA3MUE5MjIzMGExNUZlMEYxMjMzNjI1QjcwMTQxY2M3RjA1Zjg5IiwiMHhmYzE3OGQzMjg4RUNhZGU4NjRlNmUxMzJlMEYxRDI2MDZDMDc2NmFmIiwiMHgzNGVBNGUwYjgzYzUxN0RFQzMwODE5NDcwNTIzMkVlM0MzQTU4QjRDIiwiMHhlNWE4NkRCRDMyNGZhOGIxZkE1M0EyNzBjQkJkZmMyNTMyNDYwMTNDIiwiMHhGMjIyNjQyQThlMkE1MzUyRDBGOURiODk2RGY3QjM2RDE1MDM5YWU0IiwiMHgzM2IzQzlmNGYzOTg4RTFlRTZFOWM4NkZFZjlGYkEyNTdjMkMzMTI5IiwiMHgyQjRhYUIyOEQwZmVEMzdGY0ZlMzkzOWJFYTJCNDZlYUYzMzY5NjA3IiwiMHhFOTJmRjUxN0I1MTI0ZEQ5MEFmMGQxRDEyRjIyNjVmOTA3NUM5Yzk0IiwiMHhiN0RCMkZEMUVFYTFiYUEwNThDQjk3MDFmNjU2RDE4ODAzYzQxOTQ5IiwiMHg0MTVkNzM3NDZhNTA3MTQ4QmI2ZTlCOGNCMjE4YTAwZTRlYjFlNjhkIiwiMHhkNjMyNzIwMWE5OWEzMTVBNTRFMmRmZGVhNTcxN0M2Yjg5NjM3RGYyIiwiMHg1Yzk2ODI5ZGViMzFjMzFBMGMyREE2ZkUwRTVmNkNCQTY3QTIwNjBGIiwiMHhBNTM2YmU5NTVGRjNCRDU5NjEzNDE3RDBmZkI2YTcwMmRGNERiMThkIiwiMHhhMDk4RjZCRjI3ODkxMWU2YjVFYTExQzNhRWNkZTk1MTkyN0I5RmY5IiwiMHg5ZDJkOWEyOUJCOEVjRjIwYjc3QTdlMDBhMzQ4QzQ5NUExRjBmRThEIiwiMHhiODdkOWVhMzdEMmM3MzBERTI1OGY2Q2REZjM4MWExQmNCMmMxOGJCIiwiMHgxQmQxZTA4MmM4RWExRDlkMmE1QjE4OEM0MUZEODE3Q0VjYzYyNmVkIiwiMHgwRDZDOGI1MDE5MzMxMTgxQjBmYTQxMzVmNTg2YmJiMDM4QzJDMTAxIiwiMHg1MDUzQzBlQ0Q4ZEEwZjA4MUY2NzUyMDZGMUE4QTZjRTJmODFjZUZjIiwiMHhFMjU0MzcxMDhlOTg1MUZkMDI0OTA2M2Y2QUI2QzAzOUQ1NWJDNTg2IiwiMHhDMjMyMjVDRjY4MzI0ZjNEMTNlODk1RTIzRDlmZTQwMmM1M0RDRDFjIiwiMHg0MmI3RDE5MWYyNDdiODVCNDI5RTY5MzRBYTMxOTZEZGMyZkM5Yjg5IiwiMHgwNDg3MTk3OEExNmIxMjNlQTYwRTA3MTgxQjU4NjlkQTIwNUI4MDYxIiwiMHg2ZjIzNzYzRUI4NzgzYzAyNTFjNEU2NDYwN0UyRDdjRERiM0E4M2M0IiwiMHhDN0ExNmVhNGEwOTAzYjUyMEMzNDY5NDlBM0VDYUY5NmIyNEM2QzlFIiwiMHgzM0E3MzFFZGNlNUM2ZmI3NzdCRTBhNjU0YzQzMmUyM0Y1MTRiOTZEIiwiMHhBOTRmMUMzY2IzZkZDRDJDODU5NGNEZmVFQTYzMkQ0NjZhZTBBOUVmIiwiMHgzNDMzOTU5RWUzQWNiMDk1M2VGNTJEMTVBODViNTVENWU1N0I0MmQ1IiwiMHg5ZTgzRENENDJFQzZlMDg5ZmMyRTk0NGE0OWVCMUI4MDREMTdCOWY5IiwiMHg4NTMyMUU1M0I2RDZFNTM4YjBCYjlFMDU0YUQ5NkE0ZUFiZjNkQTE3IiwiMHhFRjNDZUYwQTNlNjIzRjA2OTdhZjdkRTlEN0MyNjkyRjVkODM3NzY3IiwiMHhlMzZjMDRlMzY2MTAyODRmMmUzMkIxOTNEMDExYzQxNWQ5RDdEZmIyIiwiMHg0YTI5RENFODAxMjA3MDhCNWRCNzI0QmQ4MTY2OUQ5RjU1NTY2NjM4IiwiMHhmMzg2OTNCRmY1RWVEZjlkOThjZUU0ZTg2NDU1NDg5OGI0N0M5RTFhIiwiMHhFRGI2NjA0MDk4N0ExMkRGQTUwYWQ4ODA2MjI1MEFlNEE4NmM3ODM0IiwiMHhENjBBN2RFMWIyMGM4NzU4OWE5MjI1RjQ3MWFjOTUyMTlGRjVmRGE3IiwiMHgzODVFNDQ1MDg0YzFFQTRlODMwMGM3NDc5MjkxQjg2MDI4NGRmODM5IiwiMHgyNDU2ZDdhOTE1YkNjNWM4NTk2NEU4YzhDMjBBQjY0OTIxNzBFZGVBIiwiMHhGODA2MjQ5N2UwQjRBOUQ3MThGYTJGMEI5YkJDMTFmNzcwQkZjN2U2IiwiMHgyMDRFNzMxZEE5NDY2ODIyYzBBNzU5NjJCNjUzZTNkZjE4OWYyOGYxIiwiMHhBOGNDNzI2MThFNDM5OTgxRTYwRjYzYTVGRTMzOTJhMkUyMzgwQjgzIiwiMHg4OTgyQTUyNjNFYkJiNmIxN0Y4MmQ4ZEEzNWNjM2FFNzQ1MDA1ZTI4IiwiMHgxM0I3MDMyZTgyYTlEZUNhRjJCQURBYjgzYUM4NkRGZUE4NDY3MmRCIiwiMHhiRWI1MzY2NjcwNDAwOWNBMDlCNmE3QWVhQ2EwZTAzMjg5M2EwZDMzIiwiMHg3NjMyOWY3NjZGOGI5YmZmMzJDYUU5Njk0MzNENTRCQUIzNkZiMmNkIiwiMHg4OTc5QTNFZjlENTQwNDgwMzQyQUMwRjU2ZTlENGM4ODgwN2IxQ0JhIiwiMHg4M0FlZTBhMzI4NEFGZTc0QWY1YmRiM2E1RjJFM2U5YzExQjI1YUUzIiwiMHg4MDdlRjIxMGIwQTdmODczMTRGNTY2MzFhN0QyN2NGMjc0M0IwZDI3IiwiMHg4REM4OGU4OTUxZEQ2NGNkNjM1NmQzRkUwMThFODNhOWQ3MTYxM0I2IiwiMHg4MTFiZUVkMDExOWI0QWZDRTIwRDI1ODNFQjYwOEM2RjdBRjE5NTRmIiwiMHgxZEQ0OEU3ZTQ3NEIwYjExNDYyZUEzNUUzMjcxMGNiN2I0MGY4MjQxIiwiMHhhMDdkRDBkMjMwMDk4MTE4ZTRCOWJEZjcyQjIxM2NEM0MwYWNBMmU4IiwiMHg5OGIyMzhEOUM0MDMzNDFCYkU4NWJkNjU5ODI1QzU3QzNmZUU2NkJiIiwiMHg5MDc1MEYwRmI4MDUxQUQxMTgwZTk4ZDI2QTE2NUU4MEE3MTNjYkE1IiwiMHhhMzlFNGYyNTBFMTAwOTgxOUY5MDdjRTBGNGIxMzVlMkQxYzU1Yzc3IiwiMHhjMTdlOENkM2ZEYmFiZGEyNTY4MTZlMTVFMjc4YjU4ZUFEMmFhRDdiIiwiMHgzNzMxMGM1MzVBMTg0NWIxMjdCMWU3NDIwNkYwY0RDOTRmRUMyYTkxIiwiMHgyMTM0OERjNTdEYTAxZEJiYTM4YzkyNGUxNzlkM0NDZDY1QjE4NzUzIiwiMHg2ZTdhODdkRjhDNTdGMUMxRTljNEYyMTkzZDFiNDBmZmFBOEUyMDZhIiwiMHhiQjkzODAxMzQ0NDBiNzk2Q2UxY2I0ZTYzOTAyNDA1MjAxMUJBZDdhIiwiMHgyMTQzRjg2QTNlYzY3N0QwNmU5ZDZGY0VmMTIxMTdBQ0E4ZkYxYjkwIiwiMHg1MTI3QTgwM2IxMzlkNzNFOUE3NDBjMzQ3RTYwNDA2YTIxQzhBZmFBIiwiMHg4MzdiQzEzNTc2YkUzNjQ2YjQwNDFiRTg4QjU0MDU4NjAyNDVhMmY5IiwiMHhFMDlhOEFGNUE0NmRFQWIzNDJhRDc1QTk4Q2YwMkNEMDI3NzhmN2M3IiwiMHg1NzQwMDBBNGFjNjBlNWU2RjA4YTNEODE3MTRENjNBRmQ1QzBEMWEyIiwiMHhDQjFjZjg2MDQ2QkJmOEJlNDM5OTZhREU0ZkRDM2U1QjlmMjg1Q0U1IiwiMHg4QzE1YjI5Y0QwYWU4QzY5NDM3QjIwRDkxMDExODcyNDE5YTZBMDUzIiwiMHgxY0ZFNTI4OTU5NDNDODc4NmI5MmZFZUMyMzMwNDdGQTJkRDQ4QTk1IiwiMHhiNzhGOTYzOGZGZkYyM2U1OTI2MDM4RWQ5RjcwMzkyOTUwODRCRkE2IiwiMHhjNjBBYmY5ODQ1YUFDZDkwOTBhOGUxMjNEMjU3YWJCZDNiNjA0OTU1IiwiMHhiRTg1MjdhMDREM0U3MmI0YjUwYzM2ODIxZDdlNzQzOWY0NEVGQzQ3IiwiMHgwM0QzRWMxYmU2MzlBN0M2ZEQzQjU2OUY3NkEwNGQzNGI3M2E4Q0FCIiwiMHg2NzI5NjYzNDM2YzBCMzNjNWNlYkVBRjRBOTQ5N2Y2MjE0MjhFMmE2IiwiMHg5ZDA5QmNjYTIxQzBCZTM4YTA1M2QxNzVCOTg5Q2U4YzJENEVFN0NGIiwiMHgxNTRlRDE3OWNEMzEyOGM2RjgzRmI1NTUyRTY4NjExMmZEODU2MUI5IiwiMHhDODc1OENBMzY1ZDI5MkM1OWUxMGRDN2Y5YUQ0MDA0NTYwQjFGQTZBIiwiMHhlRmNCYTMwODVmMjI2NGY2RkEwMDIyMWRCOUEzOTI5YTg5NTQwMjRjIiwiMHgzZGRjMWQxNTYwREQwN2EwNTRDRTFjMGJjMTIwOWY0NjdiYzNmYkZjIiwiMHgxRmExY2E2NWVEMjkxMjMxODg1NEZBNWQxRDhjNTVkQzg2ZjQ5OTJEIiwiMHhEMWEzNGJBNjEwZjc3RDRCZjQ4M2RkMjA2ODc0QUI4MUNjMTU1Zjc4IiwiMHg4Q0YxMjllQzA2NTMxNTlhQmJiNWFmNTEzMkE1YTRBOEVhODE4ZDRCIiwiMHhkQzA2Njg4OTRmMTgzOTI0NzU4RDY5YjM3OUM2OTBGQ2U0YTNmNWNEIiwiMHhBYmUzZjM4QjJmRUIyNjM1OTE3YjViNjgxOTNGNTkwMDQ2OTUzNjk1IiwiMHg1OWRjMzk1MTU1OUNDYjg5OGJDNjA1RDcyODBjRGE5NDVkMjQ2MkU3IiwiMHgxMDgwMTEyMzZEQTFmN2NFOWNEYmFEOTI0MDczMTZEYzFhMUQ0MzhDIiwiMHhkOUIwOTZjMjk0YmIyQzlkN2Y0OTlFNjY5MjM4NDFjYkQ4OTE2MjIwIiwiMHg0ZWNmYkVCMDE4Mjc3QTI3ZTM2ZWJGRDA5MjczMzllMDc1NEU3RTg4IiwiMHhGNTJhOTRFOUZGZTdkNEE4ZGM3MkU3YWZlOWMwNTEyODgyZkM2NzEwIiwiMHgzNUZFQ2RkOEQxZjlCODU0M2M1OUMyQTE0NzQxNkFjNzhmMWUyNUVkIiwiMHgzZmY4MTliMTFiMjg1OTUwYzI1OGY5RTMwMjVjRTQxYmU2NUQxOTYxIiwiMHhlZGRkNTU2NGM2ZTc0ODU3MzE3N2REMzdGQTVDRUQzRDBmRGVmOGUxIiwiMHhhZkE1QjY1NTQ3MEMzMUI4NDBBMTA3Q0FhNjI1MzVCOWU1OEMyOUQ1IiwiMHg0OGY5NWE0NEE2RUE1ZjJFRkYzZEM4NkU4N2IwZDgyNGY5ODk1OThCIiwiMHhiNTU5NjgwOTM5YzM3QWMxNkUwYUE0NGZFOGZBM2Q3NzlFRTc3MEQxIiwiMHg3ODVmYzg2ZkY0Q2UzQWFhOTc5NzUwYjk0YzlkMzMzREEzNzAyZTUyIiwiMHg4MmE2QUIzYmMyMjcxNzgwZkYzZjY3NTg3ODI4NTVBZUE5ZTY1YjVBIiwiMHhlRkFkYkU5NDNhMDU0ZUI5MmI3MTcwMDdmQTlmMTA3Njg3MEE0QThhIiwiMHg1ODYwNUM1N2QwZTZjNTVCMkQ3ZERmMzU0MzZlODg2ODZhMTg0RTc1IiwiMHhGNDJkNWU1M0I2MTA1NjE0M2JlZjJDMDMxQjU3NzQxOTA3OEE0OTQ2IiwiMHhCODRhYzlhMDI2REI3MTgyMTQ1QjQ5YTVBRDNFRjUwZjgzMUJiMUU2IiwiMHhmNjdiRTcwNDE5RUI0OTBBMTRFNzM5QjdBRTg4ZTE4QzQ0NjlCRTZCIiwiMHgzMzc0NzcwODc0Y0UzRjU4MjFiZmM4YTkzMkJmQTk0QTBFMzVGQjYwIiwiMHg5NDJGZDk5YzRjYkMwRDE3ZmVBMzg2RDY0MzVFNGVFOTc3RjQyOWFGIiwiMHhFYUI0MjFkNTBEODY0QTYzN0Q1NWVlOWRBNkY4RkNEMDY0ZjViNzA1IiwiMHhGZTczMDhENkJhOEE2NGExODkwNzRmM2M4M2E2Y0M1NkZjMTNCM2FGIiwiMHg1ZWU4YzYyNmIzQmUzMTJmQjVkNTczNzk5RjVCMTk4NmM3REVhMUMyIiwiMHgzQThDYzJGRmY0NzYxMGNBMGE3QzM1RjM1YmJCMDI1RkU0NEI5ZGVGIiwiMHhiMDFlMjM0OTQwMDhCQTQxOEMyZTE3M2YyMmM2NEU3NTNBNzNEQ0U1IiwiMHgwM2IxMjhmOUYyODVlZWM5MjY3MzFGQ2Y2ZDkyZGE3RDlGOWZlNmM4IiwiMHg3ZjdGQTRGQWEwMTU5RmUxNUEyMDI0ZmFiNmU0N2ZBQTM4MDc4OGNmIiwiMHhCYjliNmNGNDBBMjEzNjAwNDIxMTczRmI0M0U3YmQyYjBGNjgwOTljIiwiMHgxOTJlRTI4ZTEyYjAwODE0YjNFMWYwRmQ1MERhODFhYzc5ODdFNzJFIiwiMHhENGU0OWI2QkYwZjFhRDA4NDYxQjg1NmI0NmUzMmE2OUE2N2VGM2I3IiwiMHhBOWEyZjRkRjY4NEYwNGJiNzUwYkQ0MTZmNmIxOGMwOEI0MTY3QkRGIiwiMHgyNTliMDFBZjBFRDkzN2NDMjE5Q0UzZDFDMzFGYzYzMWQwYzQ4NjM4IiwiMHgzMGNjMjdiMmUxNjZCMjNCMGIwQWM0MDhEOTM0MTZDZTg0ZjgzRkE4IiwiMHg2NTE0QzA4OGQwMTAwRDJjYkYxMzI1ZTJkYzhmNDVEN2YxMGYwRkVDIiwiMHhlMTQ4OTE2MUJGM2VmRkE1OTJiZDM3NjIwNDgwNmVDNTY1ZDkyMWYzIiwiMHg2MzNFNzA2NDU3Q2RGN0RERjYyMUE3QWNlQkE5RUQ1ODVEZDc3ODRjIiwiMHhGMTAzNTFEYkM1MkI0RDI2Yzk4ZUM1YTRjOThiYWY1QTg4MDREYjYxIiwiMHg5ODM0RDQ5ZEYzMEVmYUExMEEwNDVlOUEzQzA2YzY1OTYzY0RjOTdhIiwiMHhFZUFlNDM0YmFDNTc3OUNmZjY2MTZjZmEwNDVmOTY4ODIwNzIyNDY5IiwiMHg4RDJDY2M2NTExQTNlRDBGRTgzOTJjNjU3N2NCOTdGNkI1NTFjMzgyIiwiMHhiRDUzODNlODFBMkJlOWRCM0RiNDg0QUU2MjJiMzQwYTZkYjc2QmYyIiwiMHg2RTA3QTFDNTBkNGRiMDk3OUEwYTY1QkM4YjEzNzQ0YThBMTUwMURlIiwiMHhlODRFMTg1RTg0RWE2MDk5QzhDNDkxZmFGZkVhRWI2ZTkxRjA0OWMyIiwiMHg1OEI1NGIwMEYzMjgwODcwNDNFRDA2ZkQwQTU3QWQ3MDU1ZkIyODc4IiwiMHhCNTViMDkzOEE1ZGNkN2E0ODg5YzE5YTA2YzljMWMyMzNDMTM4OEM1IiwiMHhGNmVDMjAzQ0Q1MWEwMTVjZDI4NmMyMjg0NWFGMUFDZTRmN2YzRjU0IiwiMHhEMTFiODE0RTQxZjc1MDNhODczZDVlNmIwQjQwZEU2Q2JCZDdhZDNGIiwiMHg0MWFDMmM5MEM4MjlGNGQ4ZUU4YmE5NkJGNzdGNjU0ODVhZjYxYzc2IiwiMHg3MEMxY2IzNEU5MzREMDRkNDQwMmFGRTgwNzNDRTVDNEY4MjIzRjQwIiwiMHgzRTAyNjU5NDM2YjZlNGM2REIxNTE3NDg3MTM4OUZkOTgyMUEyRDVmIiwiMHg4Y0U3OTEzRjk4M0I4OUNFMmMxMDQyMjYwMkRkRDU4N0ZDZGRFRGMwIiwiMHg0Y2MyMEFiNjA1YTcyYWY1ODgwRDQ3NkUyRTQ4QkIyRDJkNENGMDZBIiwiMHg1ZmJmNDgwMDcwNmIwRGQ0MjI4RGVjYjM2QmQyNzk2Rjg4Y2I1Rjc3IiwiMHgyMkU1RDliNjU1ODU2MWQ1NThBZEY5QkY3NGYwZGMwN0RhMkIyMzNlIiwiMHgzNUIyODNGRDNBYjAxMTZhMTgyNTljMjI5YjgzY0JkQjc3YzNmQjcwIiwiMHgzNDY5ODM5NTczNWM3OUFGMTQ4NURlMzUzNzAzMDIwYjI0OWNlRGI4IiwiMHg1Zjk2NDIyMUVjMTQ5ZDdDYWMyMTRENTUxQUMxNDFmNzIwNGFEMjk1IiwiMHgyMTE3QUZiYjVCNjNGNmQxNEIyMDE3MWVlOTcyMUI4MThmMTRhYzdBIiwiMHg2MWI5MjA4NDM1NGZmQTdDNUE2NGFjRjIzNzgyQ0JiZDBmMUU3RGQzIiwiMHgzZDlkNWZjMWNkYjM2RTlkOTBEMTdENTk4ZjMxRTk2OTdhOUQ3MTI2IiwiMHhCN0Y4NTUzNTU0RTViNDlBNTE2ODFFQUVhMjFBNGEwRTI1MzhGNDhGIiwiMHg3RjAyMTdkNTA4RGZDMUVlRmQ5QzExQjVjZGY2ZEFEQzc5MmNlNjU3IiwiMHhDNDFCMTRBOEIyNTk0QjIyN2QwQTJBMzMwZGNCODhFNjRhRkUzNzcxIiwiMHg1Nzg2QjlEMmFFRjk3MWI0ODMzNGUzN2M5N2QyYjQ5NGFCQUI4ZmE2IiwiMHhFN0Q5ZjkwMWY1YUE4MjdBMGZhOTlCMmQ1N0U4MmREZEE3MDgzYzA4IiwiMHg4MDQ1MTA1N2Q1MTczOTY3N0E5QjkyQjQzMTE1NDNiMzFFNDNiZGI5IiwiMHhhNThEZjMxMDQyZThlMDE2NDBFNDkxOEYyMTg3MEU5ZTMyYmU5YjE1IiwiMHgzNjk1NTIyZmI3M2E4Qjg1QUJBNzJhOTlBMDE2NUY2MzNBQjAwOTI2IiwiMHhFYzQ3OWMyYWJBZTYxODNBN0Y4NDkzZDg3MmM2OURBOTk5YTRlMDJlIiwiMHg1NUM2MzQ2YUEyYTVFNjIzQzZiM0JERTIxNGVjMkYxNjIwNTk1YWU4IiwiMHgwQjkzQWMzMWNiY0VhM0Q4NmNBNGI4YjIxMzhkMTRmODY5ZUVGMjJjIiwiMHhlRTM0MDk5OUE3RTc4M0JmQ2I4N2VCNTA5MjUzMzUzYzczQ0E2NTBFIiwiMHg3NTYzRjI3YTdBMTY0NzM5YzE2RDk3QTdiYjY0OTNFNzUwNTMwRjU2IiwiMHgxNkQ4ZTFGMkFCODc0OTFCOTdkZmE0QTZFZmNmNzZCZTM1YzdiMUQ1IiwiMHhjMkZGQTYwNTE1ZjU1NGJlMzA5MTkxYkU3OUY0OEYzYjk4NTdjNUZGIiwiMHg4MUNBRUI5ZEM2YjVjOTI1ZjJhZDU3NEE2NTJGNmU1NzdBMmZFQjdBIiwiMHgxNWFhMDU0Nzk5YUEwNjVjNTc2Mzc2OUM4ZjgzM0IzMDVDOWYzYjU1IiwiMHhjQTFCZEY3N0RENzlkMTU5ZjFiMTNjQzIwN2YzNjhGN0EzZGI1QWQxIiwiMHgyNDJmODBiRmE1M0MyYzU4ODc4NjNEQ0FBZTg5NTU2Mjk5NWQyNmI3IiwiMHgyNzU1MjVCMTNkMWEzNTQwYTE3QUY2Y2FlYzI3NUI2NDg5NjlGNWMyIiwiMHhEMWRCQTUxQjUyNDUzYTAzRDJlRUJlM0M2YjUyNTNEOGM1OEIxYTRkIiwiMHhjRThEYTkyYTVDZTkxN0Q4OTc0NTAwNDkzMTVFYmZmNGRhYzRENTlGIiwiMHgzRkU1MzNjZTRjRkJFYUQ0NzFFRTM5MEQ2NmQ3ZkIzQWVFOTNFOTAzIiwiMHgxM2I1OWE0YmU1RTI1QzE0RDk1NDMzMDY1Y2VhMzYzOEMxY0ZiZmVlIiwiMHg0NEY2QzY3MDQ1NjhENjE2MTM2NDU4QWRjODk2MWQxRjU5RkQ3ZDA2IiwiMHhhYzNiNkNjNTBDNzVjOUFmQ0MwNDNCMkM0ZDNEREVCMzA2NWM0NmE5IiwiMHhCNWJGNGJmRUM5YTYwMmQ0N0IzNTM3Y0FkYjQxNEQzZUUyQTNFQTk1IiwiMHgxMDM4NDk2ZGZlMzgyNTdBN0IyNDFCZjRhQzQ0YUQwQTAxZWJCQkU0IiwiMHhGYTY3NUIzMENBMUU0RDFCQjhlNjVFN0Q3ODUyNkIyN2Y3RmUxOTU3IiwiMHhBODg1NkNCMmFGZEFGRTY5ZkIyYzkwRTk5Q0U1Nzc3Nzg4RDU2OTI3IiwiMHg0ZjVFYzU3OGFjNTVGOTcxYzM1NTBmZDc0OTU1NTY5MkQzRGJiRmNDIiwiMHhBNDREY0VmQWUyNTU0NkU5OTY1YjJmNUU4ODNjODZlZTRlMDgxMmI0IiwiMHg0ODA2MGNhNTBmNjBhMEFhNDcyODUxNTYwODcxMkFkNDYyNGYxOTM2IiwiMHg4YjY2QjAyQ0E3QWFCNGNBQWE3MEUwN0JkNDUyNGM1NDI5NDYxYmZhIiwiMHhmYmNFOWQ1MmQ2MTVGNDBDNkEyNzlkODUwYzkyYUNhMWRjQmUzMDY5IiwiMHgxRERlN2IxNjQzMkNlOTM4QjVkODIwODU4ZDBDZkExMjI0Nzg3MjdBIiwiMHhERTE2ZGZiM0JBZjBBNEFFOWYxNUU1QTI5RDY0ZmRDNTY0NTc2YWMzIiwiMHg1RDNGM0I5M2JBODYwNGNiMjlDOGIzYmNmQmJhZTA2MDE5NzlCNjI2IiwiMHg1QjJBNWMwOTNFM2ExODJCN0I2NzEyNkNGM0QzOTQyREM3NkJkYTcwIiwiMHhBMUYxNWEyQjliRkRFMENhNmYxMWM1NzFmQmE3MDc5NDRCM0FGZTY3IiwiMHgxNkVBMjc1NDc0RmM1ODdiOTcxYTZGNjY3YzFkZUVGMWI0NzA2RDhlIiwiMHhDN0Y5NzhENTU4M0Q1ODNDN0FiRjRCNTNhRDU0OGQzZWIyMURBZDM3IiwiMHhkQUU4MjUzQjcxMTNEMEQzRkQ3NDkyRTc3MjhlZTdmNDg5QTREMzlkIiwiMHg4OEEwZmZGMzZhNWVhRmQ3MmEwODQyNzVDMjBGQTkzQTgxQjk5MzZBIiwiMHhCOTU0Q0Y1QkJlMDc4ZTJlREU2QzA3MjgwYzA1QzAyMWVlYTQzQjEzIiwiMHgxNzA5OGI3MjRjOGM3Mzg2QjYxQTgwMjdEOEZCQzkzRDQ5N2Q4QTJjIiwiMHhlYTM1ZDlhNjk5MjIyNjdlODUxRjg1QTY1ODcyRjhlNTRFMDFkZjQxIiwiMHgwOTdkYTdmY2U2N0MyZTVjODZiMjk0ZDE2MTY3OEREOWUxZkIxMWRkIiwiMHgwODVmNzIzOGE3OWI5QkZmMUU4MkEyNTIxZWQxNGZmZDZmNTA5MDU2IiwiMHg0ZTIwQkY0ZjA2ODU5MzJEOGYxMkNBNTFmMDNhRDM2ZkYwNjE5NzYzIiwiMHhGRUNjNmY5N0E3MEE0NUJiMWVjMzJBMDUwODEzOTJEMTAyMzQzYzc4IiwiMHg5MjFhOWFjMDQwZmViMkU5ZDIzNzk0RGJhOWZGOUMwYzhBOTkwZENCIiwiMHg3QmZjMDllNWI4YTA5RTFEN0ZGOUQ1NDk2M2Y2RUVDRDAxOTdCMjREIiwiMHgzQkY4RkI0MTBDNUNlRTIyNTc2MTE2N0VFNkI1MjAzOTZkNDI2ZGQ2IiwiMHg0MDZkMEQxQmE3NjE2RDU4NUVhOWY0OThkY2NCZGMzYzEwNDA0MTJmIiwiMHgzZGIxOTg3MTBDMUZkODA3MTBhNUI5NWEyZjczZTM0NzIzNkMyRDIwIiwiMHhhNzMxRmIwMTFEYjAyYTA2OTdGRURDYjkxMzBCZjI0OTMyYTBhMDNFIiwiMHg1MjllZmRlMzA4YTY0QmQ5Q2NhMjAzZmIyOUY1RGExNTY5N0U1NkQ0IiwiMHhjMjQwODc2MTJFRDI2ZDk0NDhiNGQxNDdCNDcwZkNEMzc5YWQyOTBBIiwiMHgyMDVmQ0RkMkZiNjM4ZjkxM0JDOTg4MWRmMjQ0NjEyQzJiNTY3Q2IyIiwiMHgwMWIxQmNjRTBGNzM3QUQzY2U5NzkzNTBGMjZCMEE1NzczYkNlYjg4IiwiMHhkM0M2RDRhRmJENTgzNEFGMzEzZTFhMzQ3NDlFQzMzNzkwNkQ2N0YxIiwiMHhGODc5OTI2OEZlY0ExNzY4MDNiM0Q4MzY2MThkRjYyQ0UzOTZCYzAzIiwiMHgyNTU0Y2UyQTI0NjAwYTA5ODgzQjAxNmJERjBiMUNCNjJGMWMxZEVEIiwiMHg1M0RkNWQwNDcyMjZjODVBRTZjRjdBNjY2MjJEZTRkMUU5MTRiY2JBIiwiMHhGNmVhNEI3RDZDMEI4YkQ3N2ZlZTAzOGNDQUIxNDI0NjZhZWZCMjk5IiwiMHgyNWNlMjM0RTYyYjg2RTZmNTg5YTMzRTEwNjkxZDQyRjUzQkFGNDUzIiwiMHhiMThhZWFGYUQ2MTk3MEEyMTQ4MTMxNjMyMDBlQ2M4NDVlNkI3ZEM5IiwiMHhCOTk0MjhGQUMzODlCMTMwNjU0ODNkMDY5RTE1NjNmOTU5M0RhMkM0IiwiMHhhOTU3Q0Y2QTk2RDg0RDY1NTZDMjc5REYzMmQ0OUI4QTMzNzVFNGVCIiwiMHg4YUViNmQ4OTFiMWM1OWUzRmJGQUNDMDlhRWU2MTIwMmZEOTVGRDlhIiwiMHg2NDM3ZDBGQ2VDOTIwNjg1RTIzNWVhNEYyQmI5NUExMzVGRUUwMkZBIiwiMHhiZkQyODMxQjgyNjExMDBkM2ExMjUyNUM3MzcyNDE5MzdlQTkwMzgzIiwiMHgxMTU5MDVhMUIwRWNCMzJlZGIwQzM5NTFmYUNhZUQxNjM2YWRBODc4IiwiMHhkQ0I2YWM2MDYxYTc1NjIyN0I1MjIyYkQzMDI2ZTVmNDIzRkM3RjI4IiwiMHgwZUY0ODE4OUVkNjU0NGFCQUMxN2VCZDdFZTI5NzY1Qzg1NWM2YmFmIiwiMHgwYzY2OEFmZDE3NzI2ZTczOGIzMzRlNjQ5NWQ3Qjk3MTZlRTg1ZTUyIiwiMHhkOTNjMGI3MUVmMmI4OUEzOUJmMDIwQTZBZUE4OEQ4MTE1OGZCZWU4IiwiMHg4ZmMwYTRlYzNhNmVFODMzNjE3MzQ5M0QyNjkxNjc4Njc0NDQ5NDUzIiwiMHhFM2Y4ODExZjg4ZjYwM2QzQTUxOUEwZUM0MUYwRDNFRGRmMmUwMjZEIiwiMHhlQzE3RDBmNjI2MzljY0E1M0UxQTdlOEQxRmQ4QzFGNUQ2YTJDMUUyIiwiMHgwZTJmNEY5NTk2RjYzYkFkMzE1NmY1REM2N2QyMjRDQjc5MDM3OGNEIiwiMHgxNWUyNTU0QUJEMmVhRGU5MzlCM2Q0ZEY4MDg5ZThCMUI5NjYwQUQ0IiwiMHgwNjNFMThlOWQ3NzM1MTEwMjUxOWQ1NTYxNzMwNzJDQzg0ODE4NDM2IiwiMHg4M2Q5NTIxYTQ1MWMwZTdEMzQ1MDYzRmNDMjNhYWUwOEZiZEJjNzM2IiwiMHhGQjk1MUE0YkY5NGMxRTFEM0JmNjRCZjA4NjRjY2RCMzMyNzVFNDhBIiwiMHgzMGE5QTlmZTE3NTM4MjQwMzMxNTMzYWU3YWYxOEQ3YzFiZERCYjk5IiwiMHg5N2MxOEFkNmM2NTkwNDBEODYyMjJiMzBFNEI2NmNFQmYxNjE5ODZFIiwiMHg0RjJhMzA1YjEwZmQ5Q0FjNGJFRTdkNjM1YjM5NUI2YjY1QjMzQzYwIiwiMHhhNTk2ZjkzZjE2YWY2ZGM2MWNGMEY1RWMxNTc0YTg0QWMxMjAyQ0NBIiwiMHg3NzA5ODkzNTE1NDJlMzgwMmI4NjVFMDA5OWNhRDcyNGQ1OEFGYmY2IiwiMHg3MzUxNTJEYzE4ZkQ4Q0UyQjkzZWYzYThERTNhOTc4ZDZhMzhERjViIiwiMHg1RDE4QjMwYWM5RjVlOEQ2YjIxQTRiNzgzRDk1RkVDYzhCM0MwOWM2IiwiMHgwNWQwOGMwMUExMkI2YTk0MjUyMjJiQzc2NzJiNmExMzYyMTQzNjc3IiwiMHg0NzM4YzVDNGYyMUEyNWEyNjE0M0VDQTY0Qjc0RUNGYjBhMTU5MEMxIiwiMHgwOGY3NTg5MTdDNDE3NGI5N2NCZTI4NTA4RTVkMWMwNjY4YkI4MGQ5IiwiMHhkYjRjRTkwMzdlNDUwMWUzNDI1MDgyZjlEY2ZkOEQ3NTMzNzVCMTQ2IiwiMHhhM2JDMzJjY0M2RURBY0M0MjlhNTc3NTcyYjUxQTExOGMzYTRjNTYyIiwiMHhDNWI0NDRCODEzQmY5MURhMUU3MzA0MTJjQkUxMEUxOEU0MzU5Njc3IiwiMHhFMzg3ODJhNEE3RUFlZkNGMmU3NENCNEQxNjZDOWVEQTk2NDBCQjc2IiwiMHgyOTlmOGVCMzQxNENENzQyMTEzNjBlOTcyZjREZTc5QTg2Y2QyNzY0IiwiMHg0MTgzODU1MTE4RWZCOTY1QThhNDJGYjYyNDNiNWM0Q0VjOTgwNzRDIiwiMHg4RTFmQTgyRmJkNDNBN0I1Q0YxYjI1NzI4ZjZFYzY5YzExZTU2NjRDIiwiMHg4MDJmMTE3OWVmYWRlODgzNzFBYjQ5YkRjNTg0N0ZhMGY0NUQzRmQ3IiwiMHhmYjM5OEVFNDMzOEZkRTg5NkYzMzdENWM4YmIwQzdGYkI3Qzk4MzRCIiwiMHhFODA3OTc0YzkzNDU3QjUwMkQ5M2NDOTg1MkVCZTY0QjA5MjEyQzE0IiwiMHg3NTQ1NTQyMzlDMURGMzJDODMwQjc5MDc2NzNhMGY2RDM0RGFmMjU3IiwiMHhkMjg4NzU1Njc5MTIxOWI0YkUwQjNmMDQ2YzNiQjk5N2JkMzJkMUM4IiwiMHgzY2FlZURBNDI0ZjM0ZTk3MzRENUVGYWFFMTE3MDY4ZmVjQ0E1RTcxIiwiMHhFMWM1Mzk2OTNjMzcwY0EyOTZGN0M5RkU0QWFlODExMTJiZTUzODIwIiwiMHhDODUyQjI5ODAzZTZBMDI1MkM3Njk1YjA5OTJmODBFQTYyQzcxYzIzIiwiMHhGYWY1Mjg1ODc4RDI5NEFGYzJEZjM0ZWQ3NDQ5ODQ3NWZGQzIxMzJDIiwiMHg4RjE1NDk0QmY2ZmUxYjIxYzZhYjUzNUI5OTAzOTg1MTI0NDVhMkMyIiwiMHhmQWFmMUIyNWFDNTk0NzlCNjNBMkI4MDY1NmEyRWEyNjQwMzE4OURFIiwiMHg5NzU3MmIyOTlhZUFkQjJCMjQ1YWQ5YzQ0QUI2MmNDNTU1NzExYjVDIiwiMHhhODk5OTA2NjVENjAwMzc3YzYwNTIxNjQ0M0Y3NjQyZTFGOTNkMUREIiwiMHhlMDEzNzgyMDIwNzBCYTQ1QmRBOTU0OGU0MWNhNDE5NTA4RThDOTQwIiwiMHg4OTBBMmY1MjhjNzE1ZUVmMWE0NUE5NzFDZmFmQWU2QzdhYkI4ODI2IiwiMHhlNTg2ZTlEZDUyMUM4RjJhODU3OGQ5OTYwMTZlNDBFNzM4NmM3YzRjIiwiMHhmZkYxNDViRGRkRTQzMzdCZjZFZEVBNWE5YmQ2MTA0MkQ4OTZmNkQzIiwiMHg4OTJlN0JCY2FGRjg2OGUwNjkwYTlGQzI0MTQ1NURDOWMwMDA3QzBCIiwiMHg4OUFkNDUxMDQzRUREZUI5ZkFlNTdEMTQ0NTBEMUI5QTU3Mjk5OTdmIiwiMHhEOTIyRjc0ZTJGNUE5QjRkM2M5NzY2MzM4NzVCN0Y3NTc1OTkwNjEyIiwiMHgwYWUxNzQyN0VjMDFiMEQ1Mjg5NUFFMTlDMzY2RDhhMEI5QzhGNTZiIiwiMHgyMTQ2MjAxMjM3MEI2RDkyRjZBMzI0NkREMzg1N2MwOWY2YzFlZmYwIiwiMHg0ODc5YTUwRjEyNEI4N0ExMkRENTM4MmI2MzA2M0VDZjY5MzNlMTZlIiwiMHg5REQ4N0U4RkQ5NDg5QTFhMDVFNTQwOWRlRGRCNUNFMjg0NDY4OEQ0IiwiMHgyZjhmRThlRDM4ZTdENTQzZGMxNDY5OGNiMDhGQTM3MzRCNzkyQzI4IiwiMHhCRjdBNjIyMDVmQ0NkNzYyNkY4Zjc4YWJCNGNBQTE2NzFhNzlCMWMwIiwiMHhiMEY4NjdlNzAzNWMyOEM3OTUzN0FFZGJCOGFjNjBBNjA1NTU3N2NDIiwiMHg3NzNkRDMyMTg3M2ZlNzA1NTNBQ0MyOTViMWI0OUExMDRkOTY4Q0M4IiwiMHhCMDYzMTJiNzMwY2NGQ0M4NGIxQTY4RUEwQzY1Qzc4NDM1NjU5ZDQ2IiwiMHhkNTE4QjFFNTRFNENCMTk2ODQyZUVBMjY5NmEwYTE5MjdlNEI3YjExIiwiMHg0YjgwODlBNWY2NzA1ZkFjNTdkOUU4RWRBOTQwNzk1ZkM0ZEVDNDFDIiwiMHg4N2Q1YTJlMDZFMUQwQTVGNkQwNDYzNjg5MzU1ODBEYjQxMWRBQ2NGIiwiMHhCOWY3MDQ2Rjk4NWE5MDZlRTNGNDhGNzM4YTQ0QmJjZDIyQkVFNzI3IiwiMHhFNDEwOWUyMjk0YTFGNTA1Njg3NTBmODhBNzI2NzY1ZWM4NTA2MzMyIiwiMHg5M2VBN2RCYjBFOWI3OTM4MzQ1MTAyOTJmMTg3M2VhMEVhRjcwN2M3IiwiMHg1NTE1NjA4YTZGMUI3NzcxNzBCMjcwMDJkNkM5OGY5MDcyZDMzOEUxIiwiMHg2NTdmM2ZkNjJiZmEzZGU1NDQ4ZWMzRWY1MzY5NDA1ZmFmYjM4MzQ4IiwiMHg0YUE3YTllNzg3MzM3NDE5OUMyRkRmOTUzNjQxMDBCMzg3NjkwZTg4IiwiMHgxQjBlNTNlZjdmQ0NlMkEwNmMwNjg5MERFOTQ2OTFBYzVmZTM3NDA5IiwiMHg3Q2ZGODFlMjJkQ0Q0MjRFNzUxYjFCNGU2NjZhMEU0NDlCYzAzZUY4IiwiMHg1RjgwQTg0YUZiOWRDM0MwOTdiODg2MmJEOWM1ZjhENzExOGJEODVDIiwiMHhmOUY1ZDdlNjA1NmFDQTg2RDg0MTlBNUFmMzUyQTMxN2EzNjZkNTkyIiwiMHgzYTMzZDE4MDhhN0I2NTBGNTA3ODBEOGI4ZUFCNkM4NDdmQjFGOTQ1IiwiMHgzN2RENTQyMkU2NjMzZDU3MDdkMUYxMDU2ZmZFYjMxOEQwNTFFMkU2IiwiMHgyYmJmNEM3QTA2MTE3QTQ1ODA5MGRDN0M0QTk3QTQ3MDQxNkY1MURlIiwiMHgwMjExRjI2QTQ0QWU0NzZjRGI5OTBFMTAzZmE4QmE3NkY1Q0NBMWVmIiwiMHgzQWI0ZjcxNkU5NDRBZUJGZUYyZDE4YjhlMmExMkE0QUE3NTJDZjIxIiwiMHg3MzI2Mzc2N0E5ZDVlNjk5OEJBNDA4ODM5RTA2QzA1NEE4ODQ0OEUxIiwiMHgyYzE1NjQyOTBmNTIyMDZCQzM5NjEzMWJhNUE1Y0Y0Q2QyMzQzYTI4IiwiMHg2NENDZEJmRTg4RWY5YmRGMmY4NjJFN0FmNjg1NTJENzdDNDVCMDhEIiwiMHg3ODdCN2FEMWJjNkM3QzMwMEVDNTliMzU1NjFCM2E5ODdGNjYzNjZGIiwiMHgzREM2YTZlNzFBYzBmZDBEQjI1OUNiMUZEQjZiMDA1MDBkNmYyODM2IiwiMHhDRjlDYzc2MUQ0ODZhZGVFNGNFYjcxNTE2QkYwZTI2ZWM1NzFDNTIyIiwiMHg5NWRDREE2NjUyM0MwNjgwNTU3MWI5QzE4NjI2MUU0NmM3Q2M4MmE0IiwiMHhGMzBGNTBDMzQxZjkzM2VjRjMxRTM4QmIzOEZEM0U4MTE4YTFEMDlDIiwiMHhjYmU0NjM1OTI1RmYyQzVmNkI5OWNGNzczQWE5NmE1ZDJmQTU4ODg5IiwiMHhFRjdlZjJGM2JBNzg0M2Q1ZDVFRDI1N0U3YTY2MjYyZTFDNTQ3MkVlIiwiMHgyMzI4MTg2MjA4NzdmZDkyMzJlOUFEZTBjOTFFRjU1MThFQjExNzg4IiwiMHg2OWJFZDJhMTk0ZUUwMDNEYWQxMDMwNkZCZTkzN2NGRjMyNzJlRDBCIiwiMHhDOTZkOWE1RDY0Njg1N2U5NzdmNjYzNTYzQzhBMTRCY0RmM2Q0ODVjIiwiMHg3NDdEMGZFMGQ0ZWFEODZhNTQ0MzcwNTYzYTE4YjQ3MjYxOTAwOWUyIiwiMHgxRTIwRWI3YzNDYTYyQTg1NDA3OGMyMDExMmMxMTlCNzk1YjA2NUE2IiwiMHhhNzVDNDI0MjQwMjQ3MTMxMmEwQTkyNWNlMjRCZDJhNzBlRUQwQjk3IiwiMHhmNmE5OEE1NjZEMTc2NjllQmQ4RDZmRTQ4NzRkMDY3MThkMzkyQjgxIiwiMHg1ZDkxMzYxQUMyMDI3QzJEMmI5YzBDY2U5MTIwNTM1YWM2YzU5QzVDIiwiMHg0QzMwMkVFM0I1ODhDMWVhMTY1QTA2NWM4QjIwRDQyNEI1OWNmZDAyIiwiMHg5QTg1NzEwNDUwOEM0OTM2Y0NjRjBiYjlBNkYxNjMyMzlFZkM2ZDk4IiwiMHgzMjMzRTRFYTY1NWRlZjM2NkU2RDlENjA3MDEyMzdiZUNFNkYyMEVlIiwiMHgwODUyY0UyOTc4N2Q2NzI1MzJBYjU3M2QzQWU4MkRhRjVGMDViZTA2IiwiMHhERjVCZTAyM0UyMzhDNWJhMTg4YTYzY2I4MWQ2MkQ1RTFBNTQzNGExIiwiMHgzZmVjYTA0YzhmMzBhMEY3Y0QxMDUxM2NhODVjOWNkNWI5OEZERjdFIiwiMHhEZDUwNmEzNjU4MTk5MjhiODBhREM4NUE4MDc0Q0Y0OWFEZjA4OTgzIiwiMHg3NDNDY0QwQzU0Rjc2YjljRjc3OTFkNjI0NkY4RUU1OERhZDM1ODc5IiwiMHg4ODA3NWNkODQwYTE0OTk2ZGI4MzNlMTEyRjc1MjdFQWRFNkFGMzAyIiwiMHg4YzllNmQ2NDA4Q2M0OTlhRDgzODc2YjNhOTNlQzY5OUQ5RkQ5M2U2IiwiMHhBMkM1NDdmZjZFOTM0ODRiNzNiNGI5ZkNhNkU2NEE3Q2Y5ZGU0NTNEIiwiMHhBNzM2RjVBMjM1ZjU3RWYzNGM4OEJBODZhQjg4RTkyMzgzODljZDhiIiwiMHhkMkUwQzQ5Mjg3ODllNURCNjIwZTUzYWYyOUY1ZkM3YmNBMjYyNjM1IiwiMHg2QUUzODNCNTRmMzJkQUE1ODQ0MTJDMjQ0QjdBMUEyN2ZhOURhYjE2IiwiMHgyY2E5M2VGNDZjNTM3N2M3MzMyMDM3YmU0ZUU1ODZCNUIwOTJBYTk5IiwiMHgzNEI5MTBGZTA5NDQ2QTJjNEFDNkExODVjNEYxNDQ5OUY0NjIyY0Y3IiwiMHg5NDVhYzE3NmEzNzRERDQ4RDZiREI5RjE0ZGU4Y2MwOTU3RWI5RjA1IiwiMHhiNjAzNGEwZDIwQjZhMjRDNGQyOThDNDRlQ2I5ZUM3MEJhMTQ0YzRjIiwiMHg4NDNEZGVEZkEzOTdjNzczODNiMEY2NzU3MjA0NTBFMUE0NzNCRDExIiwiMHg2OGZGNjdlZWMzZDNiYjYyMWI0OEQ5MkE0MGJDZDRGNzc4NzA0ZWUxIiwiMHgyNmNFNDljMDhFRTcxYWZGMEM0M2RCOEY4QjliRWE5NTBiNmNkQzY3IiwiMHg2N0E2NmQ2MWZjMDk2MjAyZjEyQjU3MERjNUQ5OGIzNzM1RERGRjY3IiwiMHhmNTU4ODY3ZjcwQzU3YzY0NDE1MmZCMThEOWU3MTg5MjcxNEMyMTk0IiwiMHgzOWZlMDMwRjk3RDI5RjZDNDNGMTQzNjI0YTY5NDFDOTYzMDNDNjVlIiwiMHg1MmM3MkZmNTczMDJBNzAxMTUwOTA4OTFBNjI5NDE1YkRGMkZFNkRiIiwiMHgyMzBhNUMzRjc2ZGRCZWVkZDM0MzAzNzhBNDM1Q2ZEOWY0YjZlMjQ1IiwiMHhkQ2I2YTg4YzI5MGRlNThmRjgwNUI4MzIxMDdhNjQ0OEZFOTI1NWZjIiwiMHgzYzJjQzhFNkI5OTgwNDE2ODY5MUIxZjA1NDlmQjExY0MxRWYzOTg5IiwiMHgwNTZGMjAzRDg5MzYwRTc4RDlGMDc5NkU0NmFlMDcwQkQ5MGRlRjljIiwiMHhEMDRlQzA5NDZGRUM3NTk3NUY0QjU5M2RFNDlDRjkwNDE1N0I4NjBGIiwiMHhjODhkM2UzYzVlMDk4OTcwYzlmNEZjYkFFMDQxNDc2QWE2QTcwMzg1IiwiMHgwREM2QUE0MWE4MkU4QzgwNjBFYzMxMkVEMWVGZThEMzAwMzQ2ZjdlIiwiMHhmMTU0NzI4NzM5ZjA4YjY2NWE4MTlmODgyOEQwMzgxNDE0ZkE5MENEIiwiMHg0MmMyYWFjNGU4YkE1NTM3MDVkQzJCM0VhYzA1NjcxQTQ2MzQzNGE0IiwiMHhlNTI1ODhGRDk5RjIxNTU5MTUzQkE1NzlDRjcwREYwZkI2YzA2NDg2IiwiMHg2NWJDNjJENjRGMmNEQ2E2NWRkOGFCRTU2MjY1NjA5NTI0QTI1ODA0IiwiMHhGMmEyMkNDNmI2MTgzNjM0M2I0MGJkMjE4ZjM4NUU4ZDE3MmEzRUI5IiwiMHg1RWYyMkUwNjdmODA3MzdhMzUwM2QzNzc5ODAxNzcwQTA4MUJGNURDIiwiMHhmY0RlYUJiRjc2ZjNFNjZlMEZhMmZmYjBDQzZBYjlmQkZBODdBODViIiwiMHg2N2YzNTJFRTNkNzc3MGY1MjMwMTNGNjgxNTZGZUMzRTk0YTAyNTIwIiwiMHhiQzZCRTJCQkVFMEJGQzhGMzM2ZGM1ODM2OTQ1MjQ0MTY4NjcxYTBkIiwiMHgxNTZjNTZiODNhRDQ2MTcyYTJFM2VGQ0Y2YjZhRjRjRTBlMkE2RjA4IiwiMHgyNDNlOEMxQTVGNjdGMDQyODAwNTcxQTA2NjdiZmQyNmRkYjk0RkE0IiwiMHhiOTVmOGJENTk1NjQ3NTQ3MDhkODdiMDBjZTA4MUJkOTYxMjAwNUM2IiwiMHhlQ2IxYWVCRjNiMzVkNkQ4MGQzODMwY0I4QTQ0RjhhZTYyNWJkN2E5IiwiMHgzNWI5NzI5ZkYyMWQ1NGYwMmJEYTUxMkY3MDYwNDY2NDk0QTQwZURlIiwiMHgzMGQzM2VmYmZhMjNmMjg2MjY1MDQ5ODk5M0Y0M0YzQTg1MUIyNGI1IiwiMHgyRWU4QTdCNzQ0ZDMyZGI1QWVlNzdCQTRBNTIxMTYzQWZCNDI0MmMxIiwiMHg5MjMwMDc1M2U1OTgxREFiMUI5NDU4OTA0ZTUxMThlRDk3QTAyZjgxIiwiMHgyQjllOTJBNUI2ZTY5RGI5ZkVkQzQ3YTRDNjU2QzkzOTVlOGEyNmQyIiwiMHhkNjQ1QzU1NGY0MGZlRjVkY0FiNDA3Yzc3RTdkNUFhNDIwOEE2RUJCIiwiMHg0RGMwMmUxYkIyRUMxQ0U0QzUwQzM1MWU2ZTA2NTA1RTdCMWRDZThkIiwiMHg4MWFBNzM1YmUyMjNDODQ4ZDJFM0M0ZmFiM0VmNUYwYzU3MEZFZjhCIiwiMHg2NzY3QURFMTAxM0ZhMDg4YzkzQWM5NjY1NkMzMmE5NEU0RmNFZDc3IiwiMHgyOTBGRkE3NkNmNzY2NDM4MTU0MjkzMjgyOUU1NUNDMGJiZDE2MTVBIiwiMHhDZTBEMzljOTcyNDk0REMyYUJCNjg5Mzk2RTk4MzE2OEFkM2JjQ2NFIiwiMHgzMkRjMmNFOUExNTY0MjZhOGMzNmQ1Q0NkM0RkY0YzZjdCOGRmRjc2IiwiMHhERjdGQjcwMjM4OWQ3ZjFFN0EwQjllZENjNzA5ODEwNzk1MUJEM0Y2IiwiMHg5NDAwMjc5MDRkRWJjMDM5ZTQyOWFhYTllODUyZDgzNDNkYTEwYjNkIiwiMHhFZTI0OWQ5MjVkMzYwNTAzQTk1NENCOEY5OEVBMmVGODhlNzdDMjFjIiwiMHg3Nzk2NzNGM0Q4ZjNiNDBjYWM0ODAwMDgxNjUxODIxMzAyNTNkNjgzIiwiMHhFRTQ3YzY1ODI4QjQ2RkRGMEM4MjAwYkIwMmU4RWVGMkM2NTQ5MkJjIiwiMHhCQjNlOGVFNTFhQjdmQ0MyYzhGZUYxNDI3MUFEOTRhMTQzMjJDMzlGIiwiMHg1NjU3MTQxNDYxNmNhNzI2OUEzYjQ2RDhEMDA5NkM1RjgyRUJBNDI4IiwiMHgzOTg5MkY0OEEwMzYxNDM3RTU2NWFBNmJGMTZhNEY0ZjVmOTU4YjEzIiwiMHg1ODgxMzNBN0QzQ2YxZDNiODc2RTlmNjYwODI1OTZlQmNBRTM2OWFhIiwiMHg2YTNEMjNmQTA3YzQ1NUY4OEQ3MGMyOUQyMzA0NjdDNDA3YTM5NjRiIiwiMHhBMTYzQmMwRjNlMzczNzQyODg1NjZmOTlGNWFiMzEzRWEyQjM0MTBCIiwiMHhENGVBMjk3M0NEMERFMzc3YTY2MTZhMTk0MzAxRGMyMDIzNzRlMEEzIiwiMHgwMjJGQzQ0NWZEM0VjNjZjQzQ4RTA5NzUyNjVFQzgyNTI0NWNEN2E5IiwiMHgwMEEwMTI1N2RkNDk0MDM5YTdlRDRiMjUzREE3QTBDZkFCQTMwNjk3IiwiMHg1YjlCMzU2RTdCQjY0OEMwRWFDNTEzQjNEQkM4YjI5MzMyMjhjNDk4IiwiMHg0RDI0RWY2MDg5MjNlOTdDMzRjYTQyMUQxQjA4MGI3OWViMzczRWI2IiwiMHgxRTQ4NkY5MDk5YWNBZmFDOTUwYTY2NkNlODE2NzlBNGE1ZDQwQmU5IiwiMHg3OTlmQzJkOTlENGM1NjhlMzY5MEY3MDgxRDU5ODhBMTM3NDViNmViIiwiMHhkRTM3Y0QzMTBjNzBlN0ZhOWQ3ZUQzMjYxNTE1QjEwN0Q1RmUxRjJkIiwiMHg1MGY2MjQ2OWVEMzIxNDgzQjZGZmFiZjFDRjgyQzFGODg1MjlFZjkzIiwiMHg4M0RkYTcwQzIzNWUzRGQ5MzYwYTFEOUMxRTI5OTA2MTFkQzM0NTQ3IiwiMHhDZjY3MGI2NzE2NGQ5YmVhMTEwNDhkQTgxMjBhQ2JjNEFFMzgzYzU2IiwiMHhlRWU5MmQ1YTdmQjhBNmNBQkQ3RkE3OGFjOTk0RDM3ZTlGMGRiNmU5IiwiMHg4NUM5ZTM4NDY0MWEyMTlDYjZDOTg1RjZGMWU0RUJlYzBhNGIyODcwIiwiMHhkNjliNDQwMzczMzhiYjc2QUZlMjI2QmU1MDM1NDgxQzA5ZjlhQjUyIiwiMHgxQWFCMUY0NGFkODhDNmNhMUEzOWVEMTg4MDlmMmYxRjU3MUQ1NzM4IiwiMHhFMGIzMTE1ZjVFMTYwRGI2N0VhMTg4REVhY2ZmQTE3RjQ0YUNkMDBFIiwiMHhEMzk0YzkyYzkwOGUyNjg2QUE1MzI3QzcwOENhNTUwNDRCMTBBYjk0IiwiMHg4ZjIwMzVDNUU2RTdBNzA1MDJhM2E5OWU2QzhFMTc5NTYzRWEwMDYyIiwiMHhmOTI4ZGMzNkZhYTk3NUZjOGI0NzdmNkFDNjVCNDVERjVFZDM0NTc2IiwiMHg5QzA5ODhFMjMwOTVBRTlkOWVGMjkzNzY1MjM1RDM5NTcwRUFFNzQzIiwiMHhjODBiOGNEMDFiZjg3RmE0MmM0RDc5Rjg0OWI3ZWMyOTZmMzE2MDg4IiwiMHgyQzJhZWU3MDlBYjJGMkFFZmNlMTkyM2FjQTIwYzRlRDRGZDMyYkM4IiwiMHg5N2EwY2ZlMDlFYzFBZDkwZUQ5MDUwOTBkYjA0NzZCRUI0ZGQxYTU4IiwiMHhiRTBlZGRDNGE4MDdFMzg2MDJjOTc5OWExZjljOWM3QUE4ZTdGMUUwIiwiMHg1MTNjNGZDNmI4QjIzNjI4MjA1ZGU4RkYwMzRlMTg0RGU1MkE0OUE1IiwiMHg1NTI4YmVmMDIxQjgwODY2NWI0NkM4ODMzMzlhNDgxRDUyNDk4MjM5IiwiMHg0MmEyQjdEM2ZlNmU1MjFmZjgzYmQ0YTUyMTE1NEM0NDlBOGYxOEY1IiwiMHhGYzc0ZUNERWU0ZTlmZkYyZjJlZjRjZGY0RjFjNzc3YjJFRjBlOTA1IiwiMHgyOTM1ZDRjRWFDMjE4MjNBZjgxN2M0MWREMjIxYUQwNjdhOWU5MERkIiwiMHg1YzlhMjAwZTVGNDNBYTUxMDAyRGVjMzRBZjYxQzY3NDJCODdGRkZmIiwiMHg2QUIwZkI4NGJDOUZGRTQxMTE4Nzc0M0MwMDEyZDczNTBDQjZkZWJhIiwiMHgxMkQzYjJFMkU5NjNiNjA3NkU0Zjg4RGIxODUxQjBmYWJlNWU4QTVhIiwiMHgxMGNiNTc0NWRiQzFhOWQ0MGU1NmI4N2E4OTQ0M0I3ZUU1Njg1NzAwIiwiMHhGMDQ1NDNmQkYyMERBRUU5QjAzNTdkYjk2NjQyOEVGMkE0QWUwRjVBIiwiMHhhMGQwZmI4REQwZjdDQzI2OTRGMjNGN0M2ZURkODI1MUNkYzQ2MzI0IiwiMHg0YjUzMzFmNzFjZjM3MTNiRjU3Q0JiNDJjMkU3M2Q3ZTFkMTk4ZjA0IiwiMHgyMWU2NTNjYzc0RjdhNWQyMzUwMkI4YjFlMGE5REU4M2I2MTIzQTdGIiwiMHgxN0Y3NmEyQjQ5Q0EwMzk1YWIxMzhlNTc2QTlDNGM2M0IwMzY5MjU2IiwiMHhDQkEzMDg3MDQzMDI5ZTY3MzVFQUI5ODI5ZDgxQTQ3ZUNGMTEyNTUyIiwiMHgyNzQxQ2RhOGUwMUQ4ODQxOEFjNUI4QzlkMzgwNzE3NkNkM2ZDMDkwIiwiMHg4MzVBMDU4Yjc1MDBCMmIwYzIzZUUwNTYyMDFEQjFmNzBhRDdkMWJGIiwiMHgxNDUxQTQyZkY5OTZFMUE1ZGYzZmI5QUU4MDJkYzZkQzI1Q2ZkMzA2IiwiMHg4QTVFNjE3OTI2MTc1MjVGMzdlN2JkY0YzMDU5QzRkMDlCNjU3NDg2IiwiMHgzQUUwYjU1ODg5NmE2MzMxNGQwYTQzMzIxRWUzNDhhYjFGRDdlNzEwIiwiMHgzOTU0OWY1RDRGMjFGYzQ1MEI2NEJkMjc1ODZGNTI4YTVCZjBmMzk4IiwiMHgzMTEyNWI4QWZhZDY5OUE2RjZDM0MyYmVFMTA0NDk2OTk0QzkxYWY3IiwiMHg1M0E1ZDlCNTQzNDM0MGI1MTlCNDk1M0JkNDJGMjM0ZGE1ZjcyNWFFIiwiMHhFM2VBY0YwNzQzMDBkMEY0MzY5MDI2MzkzQjk5NzkwODgwRjRCY0M2IiwiMHg1ZjA0YzUwREVhQjczMjY1NDUyMzVlMDEyMWQ1MDc1MzNhMjlFMzQ0IiwiMHhDNDVjYTU2RTAyMjlkMjc0NWM5M2U4MDYxZTdFMkZmZkUzNTBFNDFFIiwiMHg3OWU2ZTBEZjE5MDMzMjZlOUNmMDYzNjIwOEFGM0E0NERiOTI5Q2I3IiwiMHhCMjA1Mzk1NDZFMTU1NTcxNzM4ZkQzMGRkNTgxQjExZTA4MTNkMWUxIiwiMHg4YzE1YjM4NjE0N2IwRGI5MTg4Rjc3OThhN2JmZkYxZDEyNkJCYTNCIiwiMHg1NzY4RDc1Q0ExRGZFQ2ZiOEMzQ0VlZmI5Y0FmMUE2QTE1ZjI5MDM3IiwiMHgyNjU5OTgzMDNlMzAwOEZlN0RENDkwMTEyNjc2NTU0REU4ZDg4MzRjIiwiMHhmMjAzNTlGOGIwMTdmMWY5OTI1RTI3ODE0N0YzZWQwNEU1Y2YwMDk5IiwiMHhEQTAyMEJDNWY5MGM4MjFmQTQ3MjExMzQyMzA1MDM3OEFhYjEzMTAyIiwiMHg4RTc0MkU4YTA3NURGODBEMWFFQzEyZWMzMDBEYkNGQTZlOTdhZDRlIiwiMHg0RUJEMTMxYTkxODgxZjE2MGJjQjJGMWQyZjc2M2ExOTJiQUYwZTY0IiwiMHhBOWI4ZGI5REUwNzBBM0MxMTlGNGE1MTgwYTNBNEQ5N0QwZDNhOGVkIiwiMHg0RjJlNmZlMjE3OTA3YzE2N2ExMGUzOTg1MUY1OEU0MzREQzczOTQ0IiwiMHhGOWYxQkY4ODU4OTNCNjkxRDk3NTAyOTE5Y2M5MjI0QjdjQmMzNjJDIiwiMHhmMDIyNEU1MjMzYzNlNTVCMUYxYTQ4YzBiNjVEQmI4NjMwMjRiMDJiIiwiMHg2OGVlQ2Y4OTc5MzMzMDZCMWQ3MTJjMTVFM2QxNjkxZDliNjAwOTIzIiwiMHg1NjE4Zjc1NDQzNDU3Y0Y2NjJkMzQ0NTQ3N0Q3MUYzYjA4OGUwODlCIiwiMHgxZDU1MzQ0MEVEZjE4MEY4NzY4N2U0YzA4NjY5MzRFNmM4RDNFMzJFIiwiMHhlRTAyYzFFOTVmZTBmZTM3ZDRjMDczQjk4NTQ4NGYzOWQ2MTA0NkM1IiwiMHhlMWU0RUFjOTRmYUY2NWZjNEJhMTVEOWU0NEU2QjM3RGUwYjdiZTdiIiwiMHhlMDc1N2MxNWUyNzg2M2M4RkVmQjM3MUMyQUEyOEIzZTcxMjYyYWIxIiwiMHhmZjY1NTUzYTA1NmUxRWJkNjczZWRkNjk4MTlhQTc0RjY1QWUyZEMwIiwiMHg3NUU5N2M2NEE4MDUyZjY3ODUzZTAyRUNDY2EzMkZCMzlFYzEzMzE4IiwiMHg5OTYwMjlkNGJDQ0EwMzM2ZUI4ZmE4NDY1NzExMGREMEE0MzdGODEwIiwiMHhBZjljODVGNDM2QzkyZGI5ZjdCMDQ1QjlkYzM2RUNGYzVFZjQwM0U2IiwiMHgxM2M5MjAxQWI4MjQ0OUY2OGVEYzAyRDcwMzNiMzljNjliQTcyNjAxIiwiMHgwMUEzNGRFQzkwYTdFZDVlRDgzYzc5OTcwMEFGNmQ4NmVjODlFQjZkIiwiMHgyOUY2YmRiMjljQzg2QzY3YkE1OTg3RDc3NEZiRTk3ZWIwMDRGZWRjIiwiMHhFMjAxM2E2Q0NFODJDZDdDNkE2ZDM5ZTY2MjAyMTA2MTE2MDRlMzU5IiwiMHg1QzhjODVEMTA0OGJGMjBmOGM4ZDMzYTlkN0Q4ZTA5NjgzRjIxMTA0IiwiMHgwNzFERTJkRjRCYUZEMTYwMWY1MTExNzhFOUVjZUM2NTY5YjBiODc0IiwiMHhDNzI5MDEyODg0YTg3M0ZmMkYxQjUwNzAyM2I2NjY2ZWYyQUYwOGU2IiwiMHhDN0I5MTUzQTdkNzFEN2MzNjNEM2Y5NDZCMGE0OTBmQ2RkRERlMTA1IiwiMHhmOWE4NTNhODZGRDVlNDk1ZTVDYkMxRTc4YTU2QjA3YjExMzBlODI5IiwiMHhkZEY5YjdhMzFiMzJFQkFGNWMwNjRDODA5MDAwNDZDOWU1YjdDNjVGIiwiMHgyY2FFMmUxMDUzMEVhZTk1YjM1ZjQ3QTk1OUEzMEQyOTE5MEZiMUViIiwiMHhENDQyRUQ4NDVlNTExODAwMDQ3M0U0ZkVDOGM0MTMyMjQ3NjcwYzk3IiwiMHg4YzgwRmFmREEzM0E1MjgxQjU2MkNkZjUxQTVFMDQ1OTE3NkI3ODNCIiwiMHgwQ0EyMzI0YzZlOUY1QmZhNjJjODFDRUIzMjczN0VFN2QxNTYwRDhFIiwiMHgyNDIzOTZiYjY5QjU1MDI5ODRiNDU5NDU3NjBGYkVjNUVhNkNGQzQ3IiwiMHgzQTFmQUZkYzY4YTY5RjZiZmUxMDZlMUQ0Yjk2YTU4MkYxMTg0MkZCIiwiMHhDQzhjZDk0NGE0ZjFkQkI3N0UxOENEQzRCYTYwMkY0NGVlNTdERTA1IiwiMHhlZmE1MDQzNDMxOGREMjliQjlGMTYzMTBGNDVjMTA5OURBNDE2NjBlIiwiMHhhOTQwRTQwMzNGMkI1ZEE0RTE3NThEYjMwODFCQzRjZTE4RTRkNGNjIiwiMHhCMzI4ZUIzMTc1QjU0NDBkZmY1QjE1ODIwNUE5OTA2YTk3YzM3QzUxIiwiMHgzZTU2YjljZEI5MzMwMDk1RGMxQjVBMDU1NzNGZTIzNjVEMTU3Q2I1IiwiMHg2MTVDYzA4ZEY5MDg0ZTNmYUM4MEZFMTkwNDVBNTU2MTIxODVCNmE0IiwiMHhBZTI0RjU5YTBEQmI3QjAzQmQxQjY1OTFkY2MxM2I5NTRGYzk5YTFFIiwiMHhERGYxRWM1QjQ4OTg4QjMyNzljQ0RCZWYzMkU0YTg3QTNCYTVDODdGIiwiMHhhQTEzNjE5MTA4NDI5NTIyOWUxQjBkMWNFRkQ4QzhFMjhGMUY1MDE2IiwiMHhhOGZEZDRlNDM5NUY2ZjA3QjU1N2M1M0NEYzk3YTcxNjhhRjRGN2U3IiwiMHgyMWZERDEyODhBMjFlRTIyMzMzNzUxMWUyNDRCMTlhMzE1NkM3OURlIiwiMHg5ODA2ZThmQTEwNjIwNTE3OTYxRkEzQ0Q0NmJCNzc2YjUxYWM0N2NEIiwiMHhkOUFFZTdjODYwYTNFNjZlNWRFZGEzOTM4NDgxQzY1OEJDOWVBMzg2IiwiMHgyQjU0OWQ2OTgwNTgxMTAxMzdDNjY4YzEyZjFGMThlNTEwODhlMzg4IiwiMHhjMjgyNDYyOWU2RWNBQUQ4MDVkMGZFMThkYWYzMEYwQTg0OUU5NDU1IiwiMHhjQ2YwMTg2RUZEMzU0MzRDMTA4NGUxNTJiQTA2MmEyRDlCMWE4ODhBIiwiMHgzRmVCQ0E0MWMxNDA1N0ZlNjY3OGVjNDFBM0NiMmJCMTFhZThDZGFDIiwiMHhFNzZGMUFBNzJENzc2Qjg0NkQ4NGVGQzBhOTI1RjdmMDJhMjcwOGMwIiwiMHhENzZBRjUwNzk5OWJkOUE4REU2ODhmMDJhRUQxYTdkMDQ4OTc4NzRBIiwiMHhhMTRhNDMzMTA2RWQ0RTc2NTliQjAzMjYzNjA0NTlEZjhmY2M0OEI4IiwiMHhCNkM2NzFBOWUwM2Y0Y2YxQjE5RTFiYzhlNkY4RkU0QzkzNDIzQTUwIiwiMHg3MTUxNUIxNWFjREUwRTIxOTc3QkQwNjIwOGQxODE5MjI1NEJiQUU1IiwiMHg2NTRFZjk4MUZFNjI0M2Y0RjI3ZTJiQjkyNTA3OEQ0MjBERDhlRTFDIiwiMHgxMzU5Njk3NjhmMjk1OWQyNzc2QzU4MjU5RjE5ZEQ1YzYyMjJCQmZGIiwiMHgwZDM5RDI4NzNmMTBFNDdFYmRCOTAwOTBkODYwRDI1RTE3MDNFNDEyIiwiMHgxMGRBMDQzZjVmOTREMkNlOEM5ZDRBQUNCNzhFMTkxRjk4MjE4MjdkIiwiMHgxMTg1YjVDNmRkM2EwOUEzMjEwMTJiRkU3MkUxMTI5RjJEYzU0QjkzIiwiMHgwMzlFZjIyMTY5ODlDM2Y0MDYxODc4QTg3ZDlENzE0QjU3RTdFQTBjIiwiMHg3NzcxZDM5QkI0RDI1ZjA2NENmNkM3MDZjN0IzNDZjQTA1RDc2QzAwIiwiMHhEN2Y2QWZGNzU2QzE0YUVCMzEzNjREMDQzM2EwNjkwQkVDNDcwYzI0IiwiMHg0ZjkwODYxMTRFNzYzMzlkYjc5OTE3MGRBNEM1YWI2YUFGRjdiOEU3IiwiMHgxMjBjOTY2ODJGQTE5YjIxODY5OGE2RGI0RDY1OUE3YmZkODNhNTQyIiwiMHgwMTVlY2U0QTZmOEVlNUNiN0VDMzhFNzYyNDlmODc3REMzRTk2MTMwIiwiMHgzRTdhYzNEZkU5MzNkMzAyN0E1OTY4YkUyM0M2MjRmMTMwOWIxQjAyIiwiMHhkNDVDQjRlNzU5YjU4MTI2NGJiZUYyNUFCMTJFNDdDZjgzRTE0NjJlIiwiMHhmZDg1NzRiQTI2NzY3NERkNTM4RjZmZDAxNzllZDhiMDEwMTBjY0IwIiwiMHhlOTUzNzcwYjQ3Y2FFYzY1OTUxRDY0NzAxNmM2Q0E5ODBmRjY5NWViIiwiMHg0QUUzZjA3OWNmMzAyOTUwNDIzQkQ3NjQzOUE2M2M4RDVCRjBDY2MzIiwiMHg1NDdjRGY5M0IyNmQxRDdjY0NCMWQxYjljNUZDNjE4ODc5RjVDNWM3IiwiMHhGNGVhMjBjMTM3RmQyMzlhQzc1M2Y0NmNDMjA3RTRiRjdDMjVDYjg0IiwiMHhhZGVBRDY0Rjk1NmI4OGIxMDM4RDY2NjQ1MEFGNDM4MTZhMmIyMjE3IiwiMHgwYWE0NzFhMjhCNTA2NzdDNTE0QTdjZTc2ODMzNDlmM2FjZjgyMDk2IiwiMHgwYzFjOUMzNzg3MTA5NEM1MUJGMEJhMGE0NTBhNTdCMzFhMzA5Y0YwIiwiMHg2MDI5NzBlNDRFOTk4MmVFN2QwNjE5OTcwNUNFQmM2NDQ4N2M5MzQ0IiwiMHgzMjE0ZTNGYTc5NjExZjBGMjJkZjQwNTkwMzk2MzlDNzljRGRDODQ1IiwiMHg4MzZBQkZkQ0YwRkJGODAwRTU5N2RlNjE5RjE5N0QyMjEwRDQyZjkwIiwiMHg1YmI2OUJGREE2QTEzNENENWE5RjRhYWY0OTQwNGZEMjYyNWFlYUIwIiwiMHg0OGYyQ2I4QzJmRUNmZjhlM0M5NEQ5MEM1QjUxYThiOWYwNEY1QUEwIiwiMHgzNEE4MjQzZDE4ZWU5MzQzZmFlQzhlQUZDYTEwNDYzOThDMjdDRGVBIiwiMHhBRTc5NTg0ZjlkMTQzZTRCQzBCNjA2OENGQzE0NTk2OUYwOEY2ZjI0IiwiMHgyMjQ2Y0JFRDdlNDIxMUE5MTU2ODY5NjNkNDQxYWFhMkJCN0QwMTdBIiwiMHhEMDM3YjU4NTZjNTYzOTA3REY3Mzc5MzFBZTdjNDg0REEwMmY2YzEzIiwiMHgwRTEwOERENTNCRDVmODAwZDgxMTI3YTZDNWMwYzU2N2I1MTljMUI0IiwiMHhGYjI0NmI3ZDY4Mjk1MjREQzczZDRlNjBFNjYzMjA4OGQ1ODMxNzMxIiwiMHg2MUNhN0ZCNTViNjcyNjQxMjdBNzJDMzZmZGU3MmI5ODE2RTBhQThlIiwiMHhkY0U1NkM3MDIyRjU3Nzc2YTRDRWFCMzM3YjU3MWZGMWE2NmRCOGU1IiwiMHhCMGZBNTAxZTFGOTdkMzIxMzNlNzQyQUNiQzQ5OWNmNEQ4ODQwNzcyIiwiMHg3RDJhMkU5NkIyNEQ2YjI0ZTYzRmQ3OWU0YzgxQTQxRGI0QzE1QzdCIiwiMHhCQTREMzcyNTIwQ0E1M2E4ZjFBMDhFQTYzOTRkOTcxNzI2NzgyN2RFIiwiMHg3YTFCYjgzQTI4MjAzNjM2RjFjZDc1QjZGYWM1NGQ0YThkZmYwRjUwIiwiMHgyRDdEMjEyOTg5ZDg1NjQwMDI3RTliZjIyMGU2YTQ5M2Y5QUFjNjNiIiwiMHgzZkU2QWYzODczMTZFMjkyMWFBYkI4NjkyRTQ4YTQzRmZlYzJlOWEwIiwiMHg4MmNlOWZEMTRkM2Y2N2Y4MTEyY2IxNWQ4RDYzNjY4NjI0NmIyOGJCIiwiMHg4OTg1OTNFQjUzQTBmNDIzY0RhQTk3ZENhM0NiOThlNDdmMDA3NTQ3IiwiMHhjRTczOWY0MDA5MThBRWNDZDQzY2YxQmQ2ODE1NjI2RDg5NGM5MThkIiwiMHg2MDE1MzUwNTMzRDlGYjJBQzE2NGNhY2E5YjM5NjczMDBDMzg1M0ZEIiwiMHhBYjdiMzkxMjA2NjFiZDE5QUNjMTQ2MEFGMUE2MEY2NWJmZDk4NGY4IiwiMHg2MkRiN0NBNWI0MUVDZTdkZWY5QjMzOEM5NjE4ODlmRWU3NDU3RTA2IiwiMHhCOTRGMERGRDFCNTRBZjBGYzhkRDA5OTdBOGRkREU1OWJBZDQ3ZGZFIiwiMHg3OTdGNzhERDVjMGE1QUNkRjNhNDUyNTAwQWE3YTA5MzlGYWUzMTJCIiwiMHhCQ0FGOWYzODU3YzE0ODQ0NTJkNzcyQjBhQTlmRWU0NTZCM0NCNjM5IiwiMHhmRjVCQzRjZjI4MmZlQjQ4MUFCMDYyNTUzRjk2MWNBM2MzZGFkMTFBIiwiMHgxZEFDMTgyZWFlMEJDQ2MwNzAwMWQ4RjI4QzQwMTQ3ODFFZkVBYjQzIiwiMHhhNDk5RmY4N2Y5Njc3YkNkMDNkRWRiQWI2YzhjOGJmMTk2YTVmRmIxIiwiMHhFNDQ0ZjA3OWU4ZjY5ZWUzMmIyNzA3OTc0YjVjOTk0RmE3REQ5NDRBIiwiMHg1ODUzQTI5MEY0NzZlOTM3NUE4MzdDQ2YzMWI5MTI4MDIwMTY4NjBlIiwiMHhCNUUwMzQ4MjMzNzIzMDZhQTBGOTYwNTk3NTNGMjAzZmY0ZUE0MDRDIiwiMHg2RjI5OTZCOUQwMjMyZkQ0RTY3NjVCQWI1YUE3ZTFiQjE2MjMzODYzIiwiMHgzMjlCMDE3NTE0NEYwNTBBMGQ2QjU2RmJDYmRkNmREMDNiNzU4ZUNCIiwiMHhGYTg1Njc2ZjA0RWEyMjBEOWY2YmNiMjlDMzc2OUEwY0E5NENiNjZiIiwiMHhGMGY1MkNBZTQ3RTZmZDYxQkE2QjkyRTA5MjA5ODg3ODZiNmRFNjYyIiwiMHgxRTc3Q2RjZDY0ZDNkNkRFYTgxQzgyMTExQjk3MzFDRTM2MjIxYWE2IiwiMHg5MDc2YTUyNzdlRDdEOEE4OTQ5NkI3MTMyYzBCZjQ1MDNhOUE5RjkzIiwiMHhEOEQyM2NENWM3ZjRlN2M1NzU3MDY1NjUwOGM1ZEE2MjAwM0U2YzdlIiwiMHgyOWIxNDQ0MWI0REU4MEUyNDljMzVDM2E3NTE3RTk4OTE0YzAzMUU4IiwiMHhDNzlGQmNhMEJkMGFmQzUxNDE1RURGMDRmMEEyNjY2NzU3ZDUyRjhGIiwiMHhGNzYxMWJhMkE2N0NDN2Q2MzQ4ZThDNDUyNmViZjM1YzJCNEUwMjRGIiwiMHhmOEE4NURDNGNhOEYwZTZBODBBOWI0ODVEMDVjMUZCYjM1OUZCZEJEIiwiMHg0ODk0NjZmMjIxODI5N0ZGRjMzNjhiNUVhNmI3NjBhQ0Y1NEM2NTk1IiwiMHg0NzdlNjBCREIxRjVFN2YzNUQyN2FhZWQ5NDc2MWE0NUYyMWQ5ZWI0IiwiMHhEMmMzNDRkOWM4MDZDNjMzZDI2MmRkNWU4NTgwYzBDZGFFNUI5ZmZkIiwiMHgwNDM0NkJlNzFFQzNhRGZDY0MzOERmNjM4ODkxM0VCMDVBRjMxQTAyIiwiMHgzMTNhZTI4M2MyYzI4MjhEOTFiNjYyNEFDNDc1YzUwNkYzNTAyZGNmIiwiMHhFNzk4QWZCN2NBRDExNzY2YTkwZjUzOTI4NTM4MkQ1ZTJhNzREMmJiIiwiMHhiNzc1MzNhQTk4NjcyRjA4NmQ2QTNiY0FjNjExRmQ1NDYwZjJlQTQ2IiwiMHhCYTA3RDAwNjkxRDg0QmM5Nzk5OUQxQ2FmZjgwRTQ2YzRBMjZGRkNEIiwiMHhjM2E5RDJjQzI5ZTIzQjZCZGZmQjgwYzkwMGRjZDBhY2MzNDQyNDVhIiwiMHg5MTU0ZDE3NDE1NTZiNDI0NzFEMjhGODMyNDQ3MjRiNUU2MzI4ZDZjIiwiMHg3NTcwMDQ2Q2IzNzM5QzQ4ZjFDY0RDQTA0Q0Y0RjA4YWFkYjI2RTA5IiwiMHg2N0FGRjk0NTkwMjk1Mzk2NTY5YThEMDQ3MEExNTk0MmMzODREQkUwIiwiMHhlNDZCMWMzZGZCMGI5MUY1RjNCYzc2QWRFMTExNTgwMERFNkI2OGVjIiwiMHg0RjlBODI0QjM4RWRFRTQxMDc1NmVBMGMxNDQyNmIxOEFjMUY0OUE1IiwiMHhkYjkzMDYwYzU0QTM1ODRFOWU1NTQ0OTVlYzJiMDM2NDFBRmRkNjU2IiwiMHgxYWRDOGUzZGQ5OEU3NUVkMEU4MjFjOWUyNDlmRUEwRWRCOGE2NTBCIiwiMHhiNDE1QzJFNjNENThjOWUyZTg3OTFEMjk4Y2ZDQ2E3OTY3Yzk3MUEwIiwiMHgyMGM4NEZENzkwN2UxMzkzQ0U1MjI2ODhmMEExNzU2RjE2RTEwRDUxIiwiMHhlZmVhMzBiMUU3MkYzNTgzZUZiZDEzNDYxZTFCZTQ5N2ZEYzQ3NTFhIiwiMHhmZTgxQTRhMGEyNDM1MzVkNzBBOTNCNWQ0QmVkRjc3QmU5OTU4YzI2IiwiMHg0NTg3MmZENjRhOTNhQ2I0ODNiMjIyNTRFMDM0NTExMzVBNzU0ODI4IiwiMHg5M0E2NGE0ZDEwYTYxOWM2REE0ZTFhM0YyODMzMWYyNThhOUJBOENkIiwiMHhhZkIxODVCOWFlYkQ5NjI0MDc3MzNjOTRGOTJhRDljNDU5ODNiMUI5IiwiMHg4OTY0NjM1MkFEOTYzYjdEZDI3MThiMTI4MURDMDgyY2E0NTU1MWM5IiwiMHhkMzZhZDlFMkNmYTZkNjAxYTY5NDQ4NThCOGU3YTM5NGYxRjY3OUM4IiwiMHg0N2M4QjI3OUUxOUQ4YjQ2YWVCN2IxZkU3RUQ4MTU4NzdCMDJkZTk5IiwiMHg2NUY1MGFDYWU1NmU5YmQ4YkYwY0M2RTg0Rjg5OTZjOGRENzI1NjhjIiwiMHg1MDZDMjg5NGY1MjdEQzBCOTQ0OERGRGYyNDQ2NUUxQzAwZDdmNDdGIiwiMHg0Y2U2ODAxZUVmYzYzNDhFMjc2ZTJDOEEzMjcyNDY2RUUyYjFGQzYyIiwiMHgxNzNkMTA2Y2REQjFmYkU4OTQ5ZjkwNkJCMUQ4QzBiNjM3YjIwYzg2IiwiMHg4ZUE2NTE0OTFCYTU3OUI5RjBhMWVjQjllNjRBYThmNzlDN2E4MjM0IiwiMHhiMTU0MjU2MDI0MDQxZTMwMTFjODAyNDg3NGU2OThiNjlhMjA4MWIzIiwiMHg3NDgxMzkyODc2M0E1Y2Q0OUMwMUQ1YjEyY0Q3MzZDRTUxMDAwMDNlIiwiMHgzQTk5Q2FhYkUxRDA5MDkwZWFlOTFFMzI0MWZjQUE4MDhkNDNFN2M2IiwiMHhDN0FGN2FEMkJDQjMzMUJCQmE3N0FEMGUyQ2U3NWI0MDc2OUU2YjYzIiwiMHg5QTJmYzQxQzU1N0M2Nzg0MUZjNjQ0Y0Y5OWNFMDU3ZDFkZUNlMzNDIiwiMHgyRDA2OWFFOWM1NWM3QjI4MjlBQTQwZDNCZWIzRmRCMjkzMDg1NjZFIiwiMHg1Nzk3QjMxNTYyMEM4QTU1QzE5MkUyRmE5ODcyNjU1Mjg4NTEwMDhjIiwiMHg5ODE1MmVCOTQ2QTEyRUU1YzU1ODkyNUFiMWE4NWU4ZDlFMTZlMDE1IiwiMHhkNGQwNTVmY0U0OTQ4ZGQ5OTI1MDAwOTY3QTMwOTMzRjZiRDBGQjAzIiwiMHhkOGJlMzk2MWFGNTc2QkNkRmFhOUM2QjQ1Q0M3MzZBQmFiN0NBOUY5IiwiMHhiMTE1ZGYxNTIxRTYwQjdmQWM1N0JkRjA1RjYwNjNmMzBDNzg3M2I2IiwiMHhlRjA4REViNkZlNjQyQjExNDVFMDEwZDNmQzA4ZDUxN2Q0YWYxOTg2IiwiMHhmOGM2Y2U2ODUwYzYyQzI4ZDY1MEFlQjEzOTAzMmNGZkRhNTI4NTg3IiwiMHg2YUZDMzcwQWZBRTI0MmE2OTVDQzQwZDk3ZEQ3NDg0RDVFNzJiYTlDIiwiMHg3NzM5NWY2M2NlOEFhQjE2ZTg0NEREQThmYzE3ZjJCN2JBZkQ4RGI5IiwiMHhiMjdDMDEyYjM2ZTc5ZEVDYjMwNUZEMWU1MTJiQTkwZWIwMzVhNkZBIiwiMHhkMGRGYUU3NGEyMzU1OTBCQ2QxMDUxMWI3ZjYzMjIyYmFDNzcyMDk4IiwiMHg3Y2EyMDdlOGM5RDJlMjVCM0ZBYzJCNTRkQ0Y0MzYzNTFFZjg3Y2ZmIiwiMHgxMzZlYkUzM2MyZjM5OTJDZTJDQTliRjY2MzQ5MjY0QmUyYzYzMjQwIiwiMHg4RWVFZTA5YkUzYmJjMzMxN2UxZGZmRTAwQmVBMWZBYTQxNjNjYjAzIiwiMHg0RTIxOUZjOGJhODBlNTEwOUVBNWI2NjUxNkFBNzUzZjY5NEFEODJCIiwiMHhGOEZFMjVlQTI3NTAyZEZBNDI0MDdkODZmMzgyQzE0NzQ5QjhhMGNiIiwiMHg3MDM0NGY4YWYyZjY0NEM4QjMzODMzMjM5ODJkNTBiYWQzM0U4ZUNjIiwiMHg3YzlhYzJDNkRFNzE4N0JDMWRkYmU2MUFDODdFNzBGMDI1NjNhYjY1IiwiMHhhMTRDNDBiODM4ODVlMWY4RDUxNkUwZTQzYTczNjFGMzFlQ0E2ODU0IiwiMHg4M0Q5Zjc1MUNiMmFkYWVBMUU0Q2FBZDhERTI3NzJlZGY0ZjViNTJlIiwiMHhEZTMyZUNFM2FGOEI4NThBNmE3YjJlNTY2Y2VFQkIxZUYzOTRFNjI5IiwiMHgzMzIyYUY5NDMxNUJiN0IyY0I0NjhlNzI5MDQ1MjgwN0JjZjkxNTRFIiwiMHhGMjI2ZWNFNzU1RDNiN0NGMjI3MkZENWY5MzFFQTFBOTBiNWQ5OUNGIiwiMHg5YzI2MzQwYkU2YjBGMjEwNEYwQTQ2NDUwRjY0ODgxZUZlYzNFNzJhIiwiMHg3MzQwNTNEOWYwMDczNTVGRDMwODM5ZTI5QjA4NUFBYzU5ZThFODM2IiwiMHgzMzI5Mzc0MmU4ZjBmMUVkMzAzQmI2ZjUxMGM3NzE3NUIzOGUxMTlDIiwiMHhEODBBYThhMTBlNEJiNGUwY2Q4QTMxMzc5MGFGZDYxREI0YTU4MjQyIiwiMHhENjViZTUzODI1MDIzMUFiM2UyMDU3ZjUzMkY3NzQyYTBENmE4OWRCIiwiMHg3MTVmQkY4RkRhZTRCNDA0QUVjNjhiMDUxZGM5YTUzOWEzZGY0YjQxIiwiMHg2N2M3Q0RhRjMxQWVBNjQxQjQ4MmVhQ2U1MGExNTRGRjBDN0Y0NjdkIiwiMHgwMWM0ZjE1OEQ3MzQ2OGUyYjVBMjM4M2Q4QjBGM0RFMUVGM0JBZjQ2IiwiMHgzYWRCNDJhODNBMTRmNmI3MUM4QTJBNUE0NzFlNjczN0RGNzRDYUZEIiwiMHgzNjFjN2JCQTgyOGY2OGU2NzA1ZWQ3YzgyOTVmOGJmODNkM2NlMTBCIiwiMHhmQ0EwQzYxQzY4YTE0OTA1OTZFNDA1ODZFMjllMmZiYzUyYjg2ZGRkIiwiMHgxMjAxRjVmMDhiMmRhNDcwMzQ1OTM0RkQwQjk0OGUwRmMxOWE2YTY2IiwiMHgwMWZCMEJkOGVGNjYzMEM2NTY0NkQ5MDE5MjU5MjI2NDkwQjc2MDgyIiwiMHhhNTQ5MTRFMDg1YTczQ2QwOWQ5NDdjNDI0ZWNlN0MxODI1NDE4OWU1IiwiMHg3ZDY5ZDY1ODgwNmZiZTFkMEU3ZTIzYjg4M2EwMmNlMTZiMTQ1MDZGIiwiMHgyNkEyNjkzMzRiMzU0NTVlQzc5QzJlQzQ1MTE2ZWE5MTg5RDAwNzJmIiwiMHg0RjM2ZEQ2QkM2NjE0QjdEM2RhYzZGMDkyYUQ1NmI4MkYyRjUyRDhiIiwiMHgwNUQ5NTNlNzkxMjg3NUU2RDE4OTk3MjEwOThENzE2MDAyRDk5QUM0IiwiMHg5NmQ2RDRmNkIyOTRCRjBGQzAwNzNhNzU5Njg1MEFBMzkzOTlCZkQxIiwiMHg2QjEwMzQ0MDcxNzI1NWFmNTUxNzYzQjgyYTkyNWE1N2I0MEI3MTQzIiwiMHhlMzhFQjI3MjA3N2ZCYzg0NGRhN0EwQ2FkRDUzODJEMmFmYjcxMjdlIiwiMHhGQTVkODRiNjdDMkU2MDZEY0ZGYUQ3MWE0YmZCQjRhMGJkYjkzODVEIiwiMHgzODYwYjRFRWRCQ2VCYjA1NWIyODVhMmJiQTI5Y2JGQ0ZjNTM2NDkyIiwiMHg1NDlFMDA5MDlmZjY1MTU3MTA1RGIwZjkxODI2NjEyNDE1NjM5RDc2IiwiMHg0M2M3OWE4QzU5NzZhOTFiNUFkQzNkMTU3N0E3REQyNmI2NTUyQjZjIiwiMHg3MzA1ZjVjOTE5N2RmY0I3MmQwN0FBNDc3Mzg4ZjdmRjQ4RjhjZEU4IiwiMHgxNDhlODFDMTdjZTZjNjNlOTkyNTBCMDI2RjdkMWFFZjI3NjU1NWJhIiwiMHg3NDUxYTAyODAyMWM5MUEwNTlGYTc5Mzk1NkJjMzQ2Yzg5RUYyYkU3IiwiMHg3NDM3OGVBZDQ1RDllRDk3NzY0MjgxNzY1RWZBOWQwZDI0OTJFMkRjIiwiMHhiYjg1MjQ4YzgxYzJDMGVmMUJDMUVDOEEwN0Q1NDlhMDY1Njk3N2QxIiwiMHhhQTYyYjY0NEFFZTkxRmQ1ZGRCQjkxZDJlYkI3RkNlMTk3NjU3MTNDIiwiMHg1ZTBDRmIxQjYyMUVmOWFkNzFERDA1OTYzYzAyYTIyMUFiYkE3MzFFIiwiMHg4QmIyNUQyNjk5MjczZDMxYjY5NDRDNTAyODI4Q2Q4QWU1Q0IzOTczIiwiMHg1NzNkNGExM0QxZTI5NDc2NzgzNkQ2MTgzNTJGNGE2MmM2RTlFNzBEIiwiMHg0NUZiZDMxMDk1NWIxMzU5MTc4YmVBZTUzMDAwMTI4NTdiOTk1Q0M2IiwiMHg0NTI2NzE2MGIyQkREZjA0OTRmMDMyRkQ4ODIzM2ZCM0QxQ2NGNWVmIiwiMHg5MjQzMWMxMTc1NjMzOUUxYTc2QTMzN2I3MzJBQzIyMDU3ZTEzNzU3IiwiMHg1NDFiOWIxNWY1Zjc1ODU1M2UyZDE3ODM3Mzk2OGI0Qzc4MDNGZWYxIiwiMHgyYzgxNGUwMzQ2NjcyQ2U2ODEzZjdFMUVhZjk0NGJlODcwM0VDMTBGIiwiMHhhNjllNzIwQWU0ZmI3NzRGNkM4NTM2MDA4OWM2MTE4Y2EzRjg5QTAxIiwiMHhmMEM0N2ZiMzljYjdkRjFmQzkwNjBhMDJBMTFiRDlmOEFjRDJBMzk1IiwiMHgzZjBlZDBFMDczOTQ1NDYwZmJiQzYzNEZiRWM1OENiNDNDQjAwRUYwIiwiMHg4ZmI4ZmVmMGYzZWJhNTQzYUI3MUUyMjkwMjQwNDQ5OTA4MDU2MzFmIiwiMHhmRjg3YjRGNjYxQjdlNkYzZDBlYzU2NmZENGY4ZDgyMkIyQjgwM2ZkIiwiMHgwRTA5NENkZDFkRUM1MmYyNGEyYjA3N2ZlM2E1MDJCNzY3MzRCYjhhIiwiMHhjODBlNDZEYTNGNUU0ZThkNjliNTFkRmI3M0M1ZDNlNjAyNTMwNmUxIiwiMHhFMjMyRjQzZWYxZTZGRWMyQTJFNzRkQWYxOTE2N0NmMzREOWMxRWRDIiwiMHhlNzNiODMyNzdiOWJjMDQyRDAxRTc4YWJmMGJkN2VGYkQzMmVjMzE5IiwiMHhEZjEzMjgwN2I3NzIyYzY4ZjczZDhFOGI3YTA0OTRGMWQxNzUwMUM2IiwiMHg2ZjQwMjgwN2Y3NkZhMGJGRDFlQTIyRGZjNzM1MTc0NzcyODRkZDQ5IiwiMHgwMzA0OUYwYzk0N0NFNDI5YTQ1MjU2MjNjRmNiNUE0OGUzNDhiRjI3IiwiMHhhMGQ2MTQ1MEZDZjY0OTM1NzgxMzY5Q2JBMjg0QUVBZDc3YzFBZTY2IiwiMHg5ZjQ3QjZlMTNGRjNmMzIwQWNEYUY2OGY5Q2NCNkFiZGVlREM1YjY5IiwiMHhEYzU1M0ViYTg2QTRkQTYzMjhkN0Y0MTIyYTRCNkEzQmE3NzU4NDcwIiwiMHgzMUNGMTI5NGJlYkNmRmIyOTM5NDEzQ2I4NkNhN2YzRjljZjBhZjcyIiwiMHhiZWU2Mzg5ZmI0Yzg0QTU0MUEwNjhFMDg5MzI2YzZhQTQ1NjYyMjdjIiwiMHhjYTQ1MjNGYjYwNDVENjVBMGUzMUY5NThBQzc2ODhFNDdlMDkzM0FlIiwiMHg5YzYyODlCNjViZDNlZjM5MTczMzJmNjlGMmI4ODkxNDhiNDQ5MTMwIiwiMHg3YTE5RUEzYTIxQUUyOUQyNzkzZDA2MDM2YjQ0YUFCQWU5RDZFNDFhIiwiMHg3NDMxQzBkZTMwNTY3ZjI2QmIxNmVDMjRmOTVEMzBENjk0YTgyNzlmIiwiMHgzMjc4NzU2NEJkRTk2MjdhMDhERWE2MGU2NjQ2Qjk2REU1NDU2ODhDIiwiMHhBZmM5YjdGQjQyODJGOWYzMTREM0FGNDQ3Qjc5MTQ4MmZCQTJkM0EwIiwiMHgyZjA1MjQwRTgzNzc0RThiMTkyOEExQzAyQjgyZTY5NDY4YUUxMmJBIiwiMHhFQjBiOTFlRDliNzlGQzRiOTNjMjQ0YTlkODBFMUIxMzg3ODYzMTIwIiwiMHhkRmU5OEQyYUQ5NzMzNzdiRmU4ODhFRWUyZTRBNzVlN0Q3NjlGZTVjIiwiMHhjMDNDNmY1ZDZDNUJmMjk1OWE0RTc0ZTEwZkQ5MTZiNUI1MEJGMTAyIiwiMHg2QjMwMkY5ZTU1OWI2REQ2YjFBNmJDZDlhMWU1OGZmNTM3ZjNBRDUzIiwiMHg4OGI1YTQ2NkE2NDI4NDY4MzIxNjlmQTQ2RmIzNjQwRkVFQWNDNTY5IiwiMHhCMjc2ZDA4NUQ3ZDYyNUM0NzcyZEIzQThFQUI4RjRDRWQ0OGZCNDAzIiwiMHg0NWY0OThFZGNBRTM4ZTJCRTk2ZjFCMEI2MjM1MkEzQUVlOTYwMEM4IiwiMHhCOTI5ZEI1RmY2RTkyMWIzNDVBRWFGRTA4ZmIzQjI0QzQ0ZDA1M0M1IiwiMHgxYTU2RGIwNDQ2RmFjZDlmZTI1RGJiMzA1NGMwN2M2ZGFiNGJlYzYxIiwiMHhFNWRCRTRjNThGODg3ZTkwOEFhQURiMkE1ZDZDRjhDRTAzYjAwNUU4IiwiMHgwYTE5QTBEMzc4NGJCYjAyOWJiNmJlNTU1MGU2RDljYTYyNjQ4RThGIiwiMHg5ZDI5RUJjQTZiYkI1NjE0OEM2NDQ0ODc0NkNlZDk2ZTc5MTJiYjc2IiwiMHg4ODVhMzBBYjQzMDE4M2E4MDNGOEM3NDFiMjQ1MTQwRTM1ODcxMTI5IiwiMHg4ZDQ3NDZFOWRDY0MwMjRmMWREQmZDYjREZjY1MjMxNUJmZGMxQzdkIiwiMHgyODhGNzVlZkJEMTE3MDRmOTMwMDg1N0RhNWI5OTZjRjM4OEQxZUFCIiwiMHgzZjhBNDUyNzU3OGJhYjk3M2Q1RDhGYmQ5MTUwMDI3Qjg3MEE1MjNCIiwiMHgyNGViMDg0RWYzYjQyODM0RDhkOEIwODYzNDUwZENGMEY2OTgyZjJCIiwiMHhkODc2YmVBN0Y1MTIxYThFMjE0NTkyMjRlNThBZUM2QzkzM0ExNmU5IiwiMHg1NzA4ODUwNmExNTcyNDFjYkU4NDJjMUViNmIxOWViZUZGNkNmRUE2IiwiMHg4OGVjYkE5ODU2NjIzZDFDNGVDQTkwOGNBMDI0ODU4Nzg3NkMzQWIyIiwiMHhjRUIyRDNCMkUxYkNlYzk4MURlNmQwNjE5MDc2MEQxYzUyMGZDOUIxIiwiMHg3NTlGNDllZTM1OTcwQmMwOTY4RjYyNjYxMjZGM2FENzYwRDg4NUNFIiwiMHg3NzBFRkUzNTBjOTBhRWFkMTA1YTVkRGZiRjQ0ODAzMUYxQjRGNkFhIiwiMHgzOEVBYjczNzA4RTRmOUM0QzE1RUQ2MDc1N2ZlMTA4RDM3OTBFRkNlIiwiMHg1NWM4QjdmNDZGZTZFMDM5NzFmRkZkY0RmOTAzRjBmOTEwNjBBYkExIiwiMHhhN2U0ODIwMkJEREQ5NmJEYjlENUE1NDExM2EyODYzNjMyOTA3N0Q1IiwiMHhGMDBFQ2I1M0Q3NDFlZTkyMUQzZjA0NTJDY2VBMWRkNEU4QTY3MkRmIiwiMHhhZGFGQjdlQ0M0RmEwNzk0YzdBODk1RGEwYTUzYjE1Mzg3MUU1OUI2IiwiMHg4QTk0M0IyNUNCNTdCOUVlRkRGNDVhMTc5YjkwQUQxY0Y0RDk1Rjk2IiwiMHhEM0Q3YjFDZUI2NjEzMDZDZTNmQTMyMzIzMGNmQzY5NUVCQjhjODQyIiwiMHgwNjIxRjVjNDc3NkZiZUQyOTdGMzcxNEZmQzFiYjUzMDNGMTY0NUE4IiwiMHhhRDkyNDMxNkNEYTJlODkwOTBFOGRENzM4Zjk0NTQ1NkNhRjc4ODcwIiwiMHgyZDNiRTI2NUYwOTBBNDdjMUJDOTIzQmMyOTQwNmVCNThjM0M0NDMxIiwiMHhmNUU0MDdkMkU4MTVEYTNjRjYwOTlGNUUzYzhiRmJEYTgzNDljZWIzIiwiMHg5OUE1NTIzRDE0ZWI2M0JlNDAzMGQzOTFlQkYwZWJlMTRkNmMzYzkyIiwiMHhlZERkN2ZmMzY4MDVDNEVBNzk3YTFlQzk1NjY1ZDkyOTAwNTRhNkMzIiwiMHhCRTQ0NDBDNkRlQzVFQjNhNTk1NTc4YUI0MDUzQTk3MUIxODA5NzQyIiwiMHhhOEViMzljRDA3NzY4NTI3QjQyRWFhNjRFYzk3M2VhNWJENTcwQWU1IiwiMHhlOUQ4QzdDNzFjMGQ3YzQ4MzZEOTE5QTVBNkUxMkMzQmJFNzE3RUNjIiwiMHhhNDVhZTExYjFiYWQxNDMzYmREOGM3NzZkNDVEODc3RDFEYWY2NjgzIiwiMHg4OTc3QzNjNjc1QTRjOTJGNTVhYkQ1QzhGZTRjZDIxNzE5MDdhRjk1IiwiMHg1OTZmNzM4MzIyM0RCMGQ0ODRmZDIyMEQwYWIwMzZFMDQyYkFGRUE0IiwiMHhFODg1ODljM2UxQTAyQ2U2MjE5YjU3YUM1YWVlOWQwMTA2RjNiZUFFIiwiMHgzQTE2OEJFMWY2QTc1N0VGQWM2NjNEZUFhNjgxQjIwNDA3QzM4QTY3IiwiMHgzMTI4NjQzNEVBRjk3QTU2MEZERTgxREE3ODUyNjE1RjM3N0VGOGU3IiwiMHgxRjNiMTc4NzEyQjQ4YjIxMzUzNmUxYjMwMjVGYjRDYzZCZGU3MjAxIiwiMHg4ZDUwZDBGZDg4MDE2RWE2MzIyOWU0MzI4MDNEQjQwNjljNDBEQjA5IiwiMHg4Yjk4MjY1MjNCNzE0QWVhYkMzYjgxQzBkRDgzMTczNDM4RmViRmM0IiwiMHhlNTYzRUVCM2UyOWFCNTM2RTlDYzQ5ZEY1NGNkNTAyOUMzMUEwRGQ0IiwiMHgyQjYxNkZmODBlOTNCQzg5MDk2NzhmRkM2OTIzQkYwM0FCOGZmOURmIiwiMHhmMjVlQjkyNWE5NmJFYzkzMkExNUNkODk0NzAzODcwNmJmOThENGIzIiwiMHgyN0RBQzRDOEQzOTEyNkZCODBiODNjZjk0NTVDNDk3OThBNzBjRTMwIiwiMHg5OEQ1RjA4ODY4QjBGODJGYTA2OTVmZjUwODExYTQ5MTMzZDEyMjM3IiwiMHg1MUNjNTg3NzNEN0RjODIyMkM2NTRDMTgxRkUzNGI0NTI2QjFBZjlFIiwiMHgyNmE2NEE2NTY4NDIxOURkNTY2MTAyMTZBREVGMTQ0QjMwMUM3ODMyIiwiMHgwRkVkMDdGYzI4QUNiMjFhNjkzZURGNTUzQWY3MzRiMjNlNmM3ZmM5IiwiMHg3QzBEZjNiNkI4NDk4ZjQ2MzRjOEIxYjY4N0U1MTI5NzFERjc0YUFlIiwiMHhlODVDYkUzNjUzQjcyNDFEYUIyNGVEYTk1OUNGRWQxMmJBQmVhOUI3IiwiMHhhODE5RkQ1RmQ1YmZiZGZBZTE4MzI4NkI2NURBQkVEQTQ5NDdlNDMzIiwiMHgxN0VENjc5RDUyODNjZTUyNUUyRjAwYUVlNThkMDMwZTE2NTI2ZThhIiwiMHgwMjE5QzBhZmQxOEI2NDdFNTU1MDk0MTg0MjZCMjExRTQyYzU4RjREIiwiMHgxNjk5MDVGNUFiRkNFN0Y5MEUyYTU3RTQwNEM0OWI1YUUyQzg4MDVCIiwiMHgzYTg3NWQyQjA4NDIxNDE3NTg2NmNGMWE0Y0RFMzBDMTk3MmE3QUQ1IiwiMHhhN0I2RjJmODdEMzc0MTlFNkYwMzlmYmY0Njc1M2FBYWZiMDE3MWM3IiwiMHg1MTBmYjVkNUJCQjYzZUExMEYwMzlBMTEwNDg3QTI3OGY0NTg5ODQ4IiwiMHgzMTEwOTZlQkNBRTNiMjVERjgzYjRkODEyRTY0YzQ2OTNEMDhkOTEwIiwiMHg2YkNhYzhDNUFGYjYwMGYwZjYxRGU4NzY1NWI5QjRGNWM1MjI1QWIzIiwiMHg3OEJkODk3MUM4ZDNDRDkzM2Q1Njg5ODUwNjc1OEE4QUM2MTUxN2U2IiwiMHhhNEI0OTVEOTYwMjZmQmZDNjMyYTI4MkIwNTQ4OTkzY2MxMWJjYWM3IiwiMHhEMTgxYzM0MjZiOTM3OTQ1YjI5QzlCNGNGM0VmMkIzMGU3YUQ1OWVmIiwiMHg3NGUxM0VDNjkyZkE1NDcxNzdiZDk5YTRFOWQwYjcxZmMyOGI2QjVEIiwiMHhEZDUwM2U3QzEwMTliNEY1MTM5MTc2NDMwNUFjMUI0Nzg2OEVFMTM0IiwiMHhhOTg0MUE3M2MyM0UxNkU1MERERTU5Nzc4YjI5QTZiOGJDMTMyNTVkIiwiMHg3NUQ3MkVjNmY1MjgyNUIwMmVEQ2U0ZTAxQUZDMzAwQmM0Zjk3MzZBIiwiMHhkQTMxRDE1RkIxMjBiODFBODVGQzA4OUIyNWUzMDlBMzc0NEMzZEVmIiwiMHgwMzYzRjMwQjBiZTE0MjUzMTcwRjc4RTNBNjNFYUNhRDQ3NDYxOWRkIiwiMHg4NmQxM0VFZTRBMzY1ZGREODFBNDZkODYzOTg3NENGZGNGOTlDNjA2IiwiMHg5OTdkRkI5QUZCNjI0NjQ2MmVBQ2Q3ODkyOUJFMjlhNkFmNzY5YzI4IiwiMHhBZmE5MDQ2Y2YyNEYzOWQwZmMzOTA0NmEwM0FkMmEyQTg4OEVDNkIwIiwiMHgyRGYyRTFmNDhDODBFMTQ0N0Q2QWI3ODhjMjc3Q0MzMThGQjcyNTIzIiwiMHgzQ2U3OUE4NUE2NTgwM0Q0NjNkMEVEZkI1QjgzYTBBODkzZDA1NDgzIiwiMHgwREM2YzA1MkVjOGYwMzNiYTg1MDliNEZGNkU4NTBBMzQ4M0NCNTY2IiwiMHg5NWMxRTdCM2JCQzc5RjA3MzU3Njc1MUZENzhFOGJiRTlGNjM4NmIyIiwiMHgxMDNlNDhjNzJiNEM2N0RkQUUzOGNGMkNDRjBGOGViMzQxQmMwODU2IiwiMHgyNzY3RWNBMkM0RkFiNDVENjlBODU5ZGQ3ODdiMzJFMTBGNkE1MmNkIiwiMHg2NjJFODRBQmVhNUFmMTU4NDIyMjA3YTY0QTNkMDE2QzdhM2IxRTVFIiwiMHg5OGUwRjVCZjlCMzE4MUVkNzRCOWQyNDU4ZGVDQzI1QWZjRDk0MDUwIiwiMHg3NkRDZjMxNjRFZEQ4RTEwOTYzNzg3YjAzYjAyNkI3QzBENEZiMDU4IiwiMHg1MDczNEFEODkzMGFDRGZEMGEyNUUzMjE3ODlmNDg2NjI4ZDNDZEIzIiwiMHg3YkVlYkYxRTYxOGFEYjc5RDc4ZmQ5RWZCRGM4REU5YkJlODk4RDU4IiwiMHhDOTI5QjNFMkU5OGQxMDY4YUU4MTU5YTEwNjE3MkE0MjA0ZmQ0QkMxIiwiMHgxZDY0MzJBRWZlQUUyYzBGZjEzOTMxMjA1NDE4NjM4MjJhNEU2RmE3IiwiMHhCNjc0OWQ3NEFmMWY4N0YyMTk4NDZiNWFmQjJkMzFFMEM5NDcxNzc4IiwiMHg1Nzk4ODg3ZTU2N0JBRmNmMTFjNTk1MEFCNGVDZTgwYzFBMDg3MjFmIiwiMHg1RTY0ZTBmZGZGZTkyZDY0NURBMDFDOTZDQTg0ZjlhNTA4ZkZFYWJEIiwiMHg1ZTc0NzY0NGZGRGNBRjU1MUU0MDg5ZEY2NzI5MWZiNUUzZWQ1NDEwIiwiMHhhNjBGYTlhMjcyMzJjRDczQTU5MTM3MkQ3MkVjQkJCRjdlOUUwNzExIiwiMHhCRDQ2QUY0ZTE0NTEzQzM4OTljMzE4ODgzMDE3RWIwQkMxNDc4Rjc4IiwiMHg4NDVFMTk1MkI1M2U0YzhEQjcwZUE3RkZhMzgwNjYwQzgyOTcyODRjIiwiMHhjZGUyOWY3M2RhQTk4N0IzMzdGMTQ4NjczMzlBRjE2RThBY0Q0M0I5IiwiMHhCNjY5MzMwMmMzYjJCYzgxRTk2OTFiYkMxQzA3MDI3OTkwY2EyZDQ5IiwiMHg5ZTIyZkI5ZDk0QTYyNThCNmUyNTkyRTM4NGMzQ0FmYTZFMjliNzZhIiwiMHhCOTY2NzFGRTI2Y2RDRjMyOWEzQjlDMjk1NzJlNjE5NkYzODRDMzc5IiwiMHhhNEFiYjVhQ0U2ZjEyNGYxNkIwNjJEZTI1RkRiMkM4NTM4OGIxZDhjIiwiMHgzMmY3YzUzNzZjNjM3MTk0RDQwQWI5NTE4NjdCNTQ4YmRFNjQ2RDhjIiwiMHg4NGZlNGVlNDM4RjFjYUQ5NWY4NGQyNmNhRGQ0ZTM3ODkwODAxZkY1IiwiMHgzMDJhNkM3OGM2MWEwNTljMjYwNkZkYzVhNTgzZUU4YTc0RDU0OTM3IiwiMHg1NGQ1MjMwZDE2MDMzZWIwM2ZmYmFCMjlGQ2MwOUFjNTREZjZGODEyIiwiMHg2NDg5QTJDMDZjYkFENjE0YjI3OTk3OTIyOTU0NDE5N2FjNzU1OTlmIiwiMHhkQURjOTQ1OWMzNmIzNDVlMmUyMDA3RDJkMjc0NkY0NEEwQjNCMmRmIiwiMHg2MDRGNjY5NDBCQzQxNGE5QjczOTQ1MUY5ZmI0NWIxODhGYzc0QTEzIiwiMHhBRTk5OUI0QjIwMjlBOTY2RjQyNTEyMzFjQ0Q5YjZiNERmM0EwODI2IiwiMHg2MDRlOTc1MDhhMDRlODQxNDUxOTNFMDY4ODUxZTQ5NDYzOTMxNDJCIiwiMHhmMWFGOTRGYjkwOUYwMzI4MGVmODgzN0E2NjFDNTJBZDA5YmQ4NDdEIiwiMHhjZDdCMjJjRkJGNzI5NDUwYzU2RjdCOGU5MkZjNzMzQjllMjI4NkYzIiwiMHg5RmU2MDQ0YzVkODA1MzVmNjMxMTJDRDNFMERCYzJlYmQ4MmMyRTRhIiwiMHgwMzA2RDU4NERjMDM4MENmRTE2MzQxZEQzREMzMzQ1RDFhNjEwMDZGIiwiMHgyMkI1YzBGNjFjYjMwMThlZjdmY2VCMzVENWQ4MjRjNzhmMDJEN2Q3IiwiMHgzRDFjNTcwQzREQTAwYjJkMjQ0OWJmNTAzQTMzQzFmMjA0NGEwQmYwIiwiMHg5ODllYmMyQjdFMUUxNkYxZWNFQ2Q5QTRGYWQ5MzE2MThjMTJDRTM2IiwiMHg4NjdBYTBiNUVjM2ZERDhjQzQ5OTNjQjhFODFEOTY4ZUU0NTUxMjMzIiwiMHhmMkM2ZTc3MDkwOTViZGYwYmNDNWE1N0JENzA3OGI3NDdiNWU1ZDg2IiwiMHgzQmEyMzkwMzhiMTJDNEY4ZUY2NTE0RjQwQjFmMWU3MjJkMjdkMTZDIiwiMHg2ZGZCRGYyNDg0NUZEYzhEMkU3MEYxZjA1QkIyMEM2NzcwQ0UxYTM3IiwiMHhCQ2MxOWNGM0VBQjU1YkM2ODdhMDEzMmZGQTJGRDE1RjVjYzkzZjFlIiwiMHgxQjJDNjJjMzZEQUE0MkQ5YmJENTFlZkIxODQxNDU1RTFiRDZFNWVkIiwiMHhEM0ZCNTI2NDA1NDMzQjljMjNiNjc3NTllMTI1RTFFYUQ0NzZFZDBCIiwiMHhDYzUwOTZhMmVlMkIxNDY0REY4NTA2MTc0OTAxNGJkRDVlMzgwOTA2IiwiMHhCYmQ4OTBhMjQ3NUEzRmYzYTc0NzBGQTgxNkE0NUJlZTZjOThiMzg3IiwiMHg5ODg3QzZCOEUwZmEwN0YyYzRFNzBGNDk1MzM5ZWU3YmI2NUQ5RDg2IiwiMHgyNzgyNDhENjIxMDAwZWUyRTk2MDEwZTIwOWE4QTlFNEEyNTg5ZjU2IiwiMHhjMDMwNjI2RDgwNzRkRWQ0ZjllYTNmMjMzNWYxZDU1MUQ4MGE2MEY3IiwiMHgwZUZiMDRGNzZhRmM1NTFFNjM4Y2UwYTI5ZDQ0ZDY1NGUyN0Q5OGQyIiwiMHgxYjEyOGMwMWRDRjFBNDI0NzAyQWEwRkI5N0RiMzBEQWVkRTgyYWJGIiwiMHhkOEE1OGIzMDZBOTZiRTYwODI5MUQxNTZhRUQ1MDc2ZjhEMEUyNDYwIiwiMHhmMjE0NGQ0N0E1ODRhQTI4NDhkMEMxMzRGNjYyMjM3MDc3NzExOUUzIiwiMHg3Mjg2NjU2Rjg3YjYwZTc1NjBlRjBBMGU1M0NmQTQxRjQ1MGVGOTkzIiwiMHg3YTc3NzRhMTdBMjgwNWZCMjNhZmZlYzFFZTBDOUY0NjZDQzBCNTEzIiwiMHg0YUEwZDQyZGYxMjJiQzU0NjcyYzAyRTQ3YkUxNDc5NTkzRDNkODRiIiwiMHhjZDViMjJiNTNEOEM0NTQ2YjBmQ0I4MjEyY0ViNjQ0OTlFNGFhZGVjIiwiMHg4YUI3OTFFZTkyYzAzMkQzNGEyRkM5NzcxNDdiMzdkNDY0OWQ4MGFkIiwiMHg2NTljRGViZjQ4RWJBNjRhYjBlN0VkMDQ5OTU5QWQ1MTZiZGQyMTU4IiwiMHg0NDdBMDA5QTU0OEMwOURCOThlZWI1MmYwMTE2YTAxMjMyY2NFNjA5IiwiMHg4NzI3NTNjMjM1ZTIzODM1QzQ0ZjNkNTVFZThlODQxNDVhMzRFNzFhIiwiMHgzMDdGNDA1ZDgwMDM3RjM1YjZBRGI2NWEzOGY4NjU5MDBmOTAwNWQ3IiwiMHhlNkJmYTU3QjIzNTNmZTNiMzUwRTdiQzFkZjE2NDQ1MjVmYmMzOEU5IiwiMHgzNjAzNTM2YzYwRDUzQzJkQUE1NDU0QUY3MTU4NGI1QjJjMTFCQmNDIiwiMHhFMjUxRjJjODNkMDUzMkEwMzFkOEVjNjdjYTBiYjBBNjY2RTM2OUEwIiwiMHgxNzg0OTg1RjJEODg2Rjk5OTI0MEIxOEEwNzUxZjNiNjFDN0U4MjU4IiwiMHgzYTE4Y2ZiNzU4MTUyMjY0ZWQ0NGE1YjNiYmRhZjU0MzE0NjVlMmU4IiwiMHg2NDQxMThBNGY2MWVjYmFhZWFFNzg5Mjg1YUNkOTljZTM2NTY2OTA2IiwiMHgzOWQwNThGRTJiZTIyMzZjMjVjNjZDM2M3YTA1NTEyYzBDRjNhODBDIiwiMHhFOTkyMDA1RTYxRTM0NzFlODk3MkY0RTVmOWE4ZmZkMTdGNTc4Y2IzIiwiMHgzRDI1ZGRkOUExYUYzMGU2ZjhFQmY4QjNhNmVhMDkyY0EyQTE1ZjhGIiwiMHgzOGNjZDk0RDRkNUVhNDg5MTUwQzY2QUQyY0Q4NDE5QzllQkQ2QzE3IiwiMHg2QUI4MTk5YzQ3MWIyM2FCYjYzNTI3YzZBMTk5M0FFOWQ5YzE0OEFDIiwiMHhENTY3RGFjMDVhOTJGMGI2ZDFBNDAzMjFGOUZkOTJlOWJlMDQ4OThBIiwiMHgxYTc5MjgwN2Y5OTIzMTZkMmVDOTY2NzIzQ0JkOGU3YTQ4YTNDNDQ4IiwiMHgyRDcwM0E0NzI2QTEzNTRBRDdGMDQ2RmY5NTA2ZjZCNTA2NTAxNTFFIiwiMHg0NDdFNTFDYTI5MTMyZjNBZkVGOUQ4NzQxQWUzYjg2NjIzQjM4YjkyIiwiMHhmODc1QzQwZmRFZjdDRUY1MTJjNTE5MzIxMmY1OTI3YkU1YzFlMjViIiwiMHhkMjQ1MDUwMGMyZkFiRDc5YzU4NjU2N0ZkOUZDNTZhRGFhNDliMzVGIiwiMHg3YTFDNEEwN2Y2ZUI0MEY2NzFCYTIxMDA5NDU5OTFjMEE3MTgxNzliIiwiMHgzM0EwMEYzYzg2QTFlNTYzMzk5NmU1QTkzMTc0OUYyRDliMDAzMkQ5IiwiMHgwREZmNzBDNjlDOTFDOWI1NEFjYURkYWY0MTg5YzBhMWJmM0E5N2Q5IiwiMHg2Q2FiZWE0QzI1N2JENzQwM0VlMDgwODk2RmZiYTIxNWU1NzkyOUIzIiwiMHgzNmQwODMzOTU2MGFlZEQ5QTk5OTRDRThEMDZFMTk2MEI1M2UxNTNmIiwiMHgyODAwNDIxNTlDMWFhREYyNTY0YzE1NjZhYmJDZjEwMEIyRkM2MzA4IiwiMHgxZEVmOEIyMjMwMkUwNDM4OWI2N0Q5NTY1OGEwNDRFNzQ0NURBZDNlIiwiMHg2NDFDMTE0NEJDZjU2NjRFQzcwYjZmMzRCNTE0ODMzNGJmRmRCRkFGIiwiMHg3ZDVhNEUwMmI3NmZBMmJCYWMxMzY4MzU3NzQ2Njg2N2Q3RDgwMTE1IiwiMHgzN2NEM2NCRUVkRjgxYjcwNDdlOTdiMmQ4Q2QyNDE3MDZkMTU0NTg3IiwiMHhhMDQyNTYyMTVDZWNlMjU5NTZCQUVCMDcwNzk0MUE3MEYyMzlDOUQ2IiwiMHhkZkYwNzNmNWZGNzY3YkM2ODc5M0ZBNkQ1ZTIzZTNiNzIwZjkxNzkzIiwiMHg3NjdhNmEzZTc4RjA4Y0E4OTAzNDhCYzdEZjllNUZCMGVjNzVlRjQ5IiwiMHg3NzMwM2Q3NGY2M0VBMzlkNkEzYjQwNTAyQTkzMjhDOGU1MTY4MTU4IiwiMHgyMzQ1RTY4NWU3NTRENTQ4YTBBOTNlMGQ2NDU0ODA2NTlCYTFBYUJlIiwiMHg1ZDgxYjI1MDU0ODMzRkRGYTAyM0ExYzQ2QUQ5REMyY0RiOEVhRGRmIiwiMHgwYmRGQzYzNTVEODBlMzUwZmI3ZGZhMTI1NzUzY0EwOUMwNTY1MkQ3IiwiMHg4QkMxY2Q3MmU4ZDE0MThmNjA3MzEyMDIyNkUwODU0MjQ4ZWYxMTZDIiwiMHg3MUM0NDJjRjk1ZjkyNzYxOTIzQ0I3NEY4MjU4MzYyQjAyYmU4M2NCIiwiMHhmZDk4MEJDY0ExMTcyZWM0RkIwOTRmRkEwQTk2NWIzYjZGY0E4QzJkIiwiMHg2NzIyNmEzZGI2MEU1QWFDNUJlQTEyOGU2OUJhNTUxMjlERDcxOUZDIiwiMHg3RDE0N2I0YzM4NzU4NjVGOTdkMjY0N0ExZjRlOTczOTM4QTdlNmJmIiwiMHhlMEREQWM2NzMyNTQ3ODczNjdmM0E0RWZhRTliYkE4ZjgxNTFkYUM2IiwiMHgxN2NjN0IyODFjOGIwNWRFNjdEQTA2RUU5QjlhN0EwOTAzMGQxYTM0IiwiMHg3MzJiMDE5MEI1ZGZiRjJkQzczRDRkRTc2Q2I0NmRjRjE1MTllYWZkIiwiMHg3RTEyZjVEODQ4Rjk3NTAyYkJiQjFhNDcwMmI0MmYxMGI5NTU2MzUyIiwiMHg2NDlhMTVkQUFlOGYyYTM4MDRjZEQxODY1N2IyRTkyMjA3MDk5NzIyIiwiMHg1NEVCNENFRTk4RkI5QUFiNDhmODgzNDdFYTdDOWMxMUQ5NDQ4NjA3IiwiMHg1ZTU1NzJDNjI0NDU5NkIwYzcwN2NlMTVDRTQzMEYxMDcyN0VCNGYxIiwiMHg2MDE4RDdjNThkMERCQkM2NEMwOWMzOEUwNTBGOWExODBGNTE5ODc5IiwiMHhDMTVlMWE1OGE2NENjRTUyODI3RjIzZDJGN2U4QTUwNkQ3OTY0MTlBIiwiMHhFNTNGYjlmMEE2MjFGNDM2QjVhNDVmZEMxNTEzRkE2YzNhOGNiOWRBIiwiMHg3OTI3Mzk4Y0YzZkIwZTMyOTZGNEQ0OTEwQzlBYTQxMzRCZEJFOWVGIiwiMHg4MURhQTE3ZjY0NjY0Q0UxYWVlMUYwMTVGM0JkNThENzVmNTM5RDhDIiwiMHhmMDk5Q2IzNENBRjgwM2YxOUE0RkMzZDc2MmI4N0EzNjhFODk1N2EzIiwiMHgwY0E1ODRiNjk5ZTMxRTNlOGYxMjQzMkZBMERlNDFmMWFDQTZEYTQxIiwiMHhCNUE4MGM4NzFkQjY2M2ZkNzZlRjU5NTY1ODFiMWJCN0FERjg4OWEyIiwiMHhDNEYxN2VkOTUxOENFZDY4ZTVEQWJEMTMyNzM4YzY5NmZmOTZFNzUyIiwiMHgzNUYzOTkyRTY1QmQxODdjRmNCMTMwMDI1RjM3M0Y2MERmNUEyZDRmIiwiMHhDMGJGOTdiZmZBOTRBNTA1MDIyNjVDNTc5YTNiNzA4NkQwODE2NjRCIiwiMHg5QzZjODUyQTU2ZGU1OWE1OUY3QTQ1Mjc3MjRhMmEwQTg3ZjdEMjIzIiwiMHhmOGYxNjcyOTkxY2Q2OWMxNTE0OUI2ZDE3MEIzZDgwMzZEZDhGMmE1IiwiMHgzN0NjMzIzNjlkRkIwMDNGNWY5RTdDMzRkNjc2RmVDYzZDRDVmREExIiwiMHhBNWFCRGY4YTc0MUI4M0IwRjM4NWJlNDE2M2RFQzMzMTE5NjMyMjBkIiwiMHhhOWYwMzk0ZDdiZTY2NDdmNTVCMzg5MEU1NjI4ZTI1MjM0MEIyMDc4IiwiMHg3MGQ4RTI2ZGIwNTkxOWY0MGVGNTNDQTU3OWIyZGEzRDBjYzZhOTNlIiwiMHg2Njc4NjgyNmQzQWYwOEZFMjg3M0MyNzM1ZGQ1Y0I1N2U0RDFkMTgxIiwiMHhCRDUzMDYxYzVFMTY4YTIzYjEwMDE2NzVhMTUyNGRCZjhlOTZENjZjIiwiMHgzMjVkMDcyQTUwMUEzMTdlMzc4N2MyMWVCNDNjQ0Q4ZTcyOTVhRmNGIiwiMHhjODVDZEQzMjQwMzg1QWY5OTU4ZWY5OUJjMkZGMGM0ZGU1NjQwYkNCIiwiMHgyNTljN2U2NDg1M2QzMEFiMzEzQzVDYjJjNzNFRDk0M2E4ODAxYzQ1IiwiMHhERjI4MTg3QzJGQTYwZjk1MTQyOEM3Q2M1Mjk5NDg3RmY3YjIyMjBhIiwiMHhCMTFENWFiMWE3RmY3MUM4ZGJhRTlCZDcwYWViOGVFMTg2NjRmOEQxIiwiMHgxMEMzNGMzMTcyRUIxZDgxMDYwNjYwOEVmY2U3Y2I2OTBkNzY5RjUzIiwiMHgxN2UyNTdmODBmRGE1MjAxMzJDMjdCOGUwNWZCY0UwOEU3NDU5MzcxIiwiMHgzNzQ2YjY1MjQzRUNDNzg4QzdlMzlGRGFBNDk5NzlCMTIxZUFGRTk4IiwiMHg2ZDBBMDdkMWFiRDUzRjI1ZDRiNWQ0NDk3RWNBM2I4RDZjRDhCNjIyIiwiMHg2NEQ1MTIxZjgxYTYzNzdGQjdCQThDNjJCMThGODAxOThFNkU5OTkyIiwiMHg2NmUzMTJCMjQ0QTY0MDA3RjJmMWUzM0VjRjgxNzhmNkVkYUZkMzU3IiwiMHhENUNGNTE3NDM2NzdERjZBYTk0MDkzMEJEMkI4MmUzRTQ3YkE3MDUzIiwiMHhGOERjQzVhMTkzNUJFMzI0ODQ1YmYxODJEQWZjZkRlNUNDYjM5NTZCIiwiMHgyM2FiODE3OEY0NGYxOEQ0NUI0RDBCYTE2Nzg3RDg3NDYwMzExNDQ3IiwiMHg2ZjVBQzg1MjUwMzA2YjdDQjZFOGZmQTk4YzRlY2MxNmM4ODFCNjhkIiwiMHgzQzQ0MmJhQjE3MEYxOURkNDBEMGIxYTQwNUM5ZDkzYjA4OEI5MzMyIiwiMHhFODE3N0NkN2ExNjk4Zjg2ZjFFZEEzMTUxYjBDQkFmYUVkMkFGNTBCIiwiMHg1ZDQyOUQ3Mzc1YjAyNTAyMEQzYkFDOTgyRWU2ZTJlNzZFRWJiM0VCIiwiMHg4NzkwNTkwYkE2MDU1MDcyYTBiZEVBOUM3ODJlMEJiZTBCNzdmYmM0IiwiMHg1NzUwZDM0QjgzNWNDNERGNkFjOUEzRTJFNDIwNTY5ODMxMThkQTc4IiwiMHg3ZGQ4RENkNGZDZDdiQTAyRWU0NTQ3OUI4QmY0ZDNkQzI5NTUwQzVlIiwiMHgyRGU0Njk1MThhZTE0MjEyQjkzQzhhZEUwODQ2NDNiNzk2QjQzMTI2IiwiMHg0Mzk0Y2U2YjYwOTRCMDNmNzcyMTE2MjZEZTIwOTYzQWY5RTFDNDc1IiwiMHhlYjE0QTE4NTBiMzdiRERjQzRGYkVkNDgxRDA2OEE5MTNGZDU2NDBkIiwiMHhhRWQ2RGFDNThmRDc3QTFEODc1MUE4NGE1QUZEN2M1MDNhMzg2OGZiIiwiMHhmOWExZTIwNzk2NDk0M2M5NDZBMzIzNzk3NWZCMWUyMGU1NWY0NEY1IiwiMHgxNkJFQzMxZDc3NTVGM2E3OThCQkQ2QzBFRERiYTQzRDdkZjVFMjcwIiwiMHgzMzQ5RjczMDczNTVlMkQ1MERCZWQwREY0MTRDNkQ0OWZkZTc0MzI3IiwiMHg0N0U1RGQ2ZDVDRDg2NEMyMDQ5MDgwMzJlRTUyMzdiRjEzZmQ5ZjRDIiwiMHhlZUJmRDBEZjE3QkIzOTE4M2U5MjUyOWNjYjVFQUY2NjEzQTRFNzAyIiwiMHhlREZhNTllZUE0MDIyMDFjNUY5NTMzRWRFNzE0Q2VlZjRCNjRDYTI1IiwiMHgxYjZiNUFkNmM2Rjc0MjRlNTA3NTQyNkM1ODAzNzU4NzRkNGFiMTQxIiwiMHhkMTBEMWQ2YTI1MTJlMmVmNkNENzE3OWU2NDEwMmE3NDZlOWU5MjA5IiwiMHhCQ2Q4MjFGZGJBRWExRUEzYWY3RDg3QUI5YmJFMTcwZDU1MzMxY2FhIiwiMHgyNkNCRDY4ZkJkNTUwNkEzN0Q2MUQ5YjZDREFiNDAzNjQ4NkVhM2NBIiwiMHgyOEE2NjRiOUM0QWEyNzZhN2EyNWRmQUZmNDgxZUVGOTdEMjJCQzE1IiwiMHgyRmUwNDE1NmEwYjQ3QThFQjYyOThlRWE2QTBlMDBGZTQ3Y2I5QjNCIiwiMHg1MWQ4OEM1M0Y0QjhCY0UxMmIxRmY0MTJGNmZkMTZEQjA3Y2Q4MDI1IiwiMHg1MEYyRTM0NTdDMjhFOTcwZDhDNmE2Njk4ZkU0OTQwMmQ5Yjk5RjFEIiwiMHhhOEE5RUI0ZDY4YUMxMUNBNmQ2YTU2M2Y0YWJBODY3MGVCMDMyZjI1IiwiMHg1Q0UzMjYzOGUwYTQ5MUFDNGJDNWRDOThmNTgyRTZhQTUwNEE5Mjc1IiwiMHgwMjUyRDQzNEI4ZDJlOTFFODZjZDZGMjI3NjhlNzg1NWVFMGMzNTZGIiwiMHgxNjI4NjcwZjAxQjYxODcwNjQyNjI5OGM2NUM3NGJDYkIxOGM2Rjc1IiwiMHhmY2I5MGExMmUxYkUwYmYxMDFCNmVGNGNEQkRmNkM2MUQ0Qzc0MTdFIiwiMHgxMDliYjgwNEU4ODBEOGQ3MjgxYzREMmFhMDUyNEZENzhmRDM5N0VkIiwiMHgxZkUyYzA3ZjU4ZDBiNUQyNDhmZTdkQTljYzY5MEI0YWU5MkE3MDFmIiwiMHgwMDE2MzFCZTIxM0VkMTI5MTEwOTkwRTMxNjY3Y0Q5NTQ5NzAyNDNmIiwiMHg5QTgwNWUzQTdEQmMwYzJhQzI2QjIxMTBjQjU2RDg2ODYxQjMzMjAzIiwiMHg3OTI0RDFmNDZkNjQyNDM5NmJGOGEyNUY0OTQ1NWQ4MGUzRGJEMjVDIiwiMHg5NzZEMzYyNEY1YzVCZTBkNjQyNTU3NURDZUJGOTI2MjlkOGJFMGRGIiwiMHg2RjJBNzFBNjQ0YmQ4OTllRDkyQjI2NTI5ZDgwOTIxNDUyNTliRWE0IiwiMHg5Qzk3NGE0Y2QyMWZiMTNmZDJCNzc2ZTFhMThEMjNFNUNGYUU1MDM4IiwiMHgyY0U2RUVjODFiMzVERTk4OTY4ZGRBMTBlOThhMGQwYjE4ODkwRkY5IiwiMHg4NkUxNGMxMjkyRUJFNmY3YkUyNTVmMjk4MzM0MjYwNjFCMGEzQ2I4IiwiMHg2NUVBODU5QjJCNWQ3MGM4MjVjMURmRTM5NDFFNjhEOWVDMEYxNzRDIiwiMHhDZjg0MjI1ODZmQzZFQTBlN2FkMWU3QUZFNWE4RmMyMTg3NzQ0QzhFIiwiMHhDMDRjNjk4ZDZmNzhkYjZBYzI4MjgyZTg4NTc0RDMzMjQyYTFiQ2FEIiwiMHg5MTUyYTM1NDc2OWYyMzgyMDFFZTc2NzU2MTg5MjI0NWI5NDg1OWE2IiwiMHhFODJDMTRGODgzMDBlM2E0NGYxN0MyMDA5QmU5OTlFM0Q2MDhmZEIzIiwiMHg4OUQyNjdGRTdDNDg2QjM3Q2Q3NjYxZjg2NjE1MWVFMTNhODU4MDUzIiwiMHhlNjJmNDk0M0Y4ODlhN2Q4NDhFYzRjODhlNzhGYUE1YWNDNGI2OTI2IiwiMHhDNTg1Q2M3YjlFNzdBRWEzMzcxNzY0MzIwNzQwQzE4RTlhRUM5YzU1IiwiMHhiREVhZDBEQzcyMjEyODM4OWU0RjhDMzczNTE3MmNCQjU0NjQ4NTk2IiwiMHg2MzlBN0Y1OTNEODdlOTQxYkFCOTZDN2JmMDE0ZUFEN2NjMTU0NWYyIiwiMHhlODQzRDIyMDZEMTBDNzNkMGM0ZDI3NEVDQkU0QjEzRUMyNDNlZDNiIiwiMHg5ZkIzZGM2Y0NlM0EzMDIyNzk5ZjExNzJEZjM4NTlmMTgwODFkODJDIiwiMHgxNDVDOEU4OWQ5MjU3ODYyNjQ0MzQ4M0I2RkYzQWJkRjc1RTc5ZDlGIiwiMHg5NjhhQ2JENWFDRjVmZGViMzBhM2MwRmRBZDU5NTU0NjU3OTBkMENlIiwiMHg2M2I5ODZCNjQ0OEU5OUM2QTQxRTZjREEwMUIxZjBFNjdjRDAxN2JjIiwiMHgxOTgxNEZhMkYyRmEwMDg2MTcyOEE5NzgxNUNEOTQ2MjE5ODk2MDI4IiwiMHgzZTVGZTk2RkNlODE4RkY1ODY3YTIxODBmOGY0QzhFQzE1Qzc5ZjI0IiwiMHhEOGY5QTA3ODkyRDRBMDI2QTAyMDZmRDg4NEY4ODQyNThiRDdEMEUzIiwiMHhDYzVkNzE2ZTg2NUVGQ0U5MGIzNDhDMjU3NWEwMkM4YTU2ODJjMTlEIiwiMHhiMmVFNzRBNzFlOTQzMTVDNDM4NDY5ZTdFMUZGZTdDMTNGQThDNjY3IiwiMHhGMUI4OTUzNTAyNTA0ZDE5YTQ2QjhkOTY2MGEzQzQ5MDQxMGE4OGM4IiwiMHgzOTIxRTYxMjg0ZEI4NzMzNmRiYTNlOUY1RTExMDgyZjcyYzE3YTlmIiwiMHhkMDQ2RWQ3NEI4OTI1RkMzQUYwQkU4OTYxNkMyMDgyQjlDQ0VlYkYyIiwiMHgzNDU5MEQ0YTI4QTc1ODk5OTQ5YjNBZTkzYmVjOUNhQzc5MDlEYTJlIiwiMHhFOTdCOEJDODRDYzJiQURCYzA3RjJkQzA4MjQwODZBMTA4ZUZlYjBmIiwiMHg0YzNFOUJjODFhZDhmMzkzMEVFMzhhYUNiMWFiNTEyQ0Y0ZTY1OGI4IiwiMHgwODZFYzk2ZTA5M2M3QzZGNjU3RDA4OUZhRThGYWJjNmY2YzE1MjQ2IiwiMHhjNTYwNjRDMGFiZTE5MGM4MGViNzYxMDlEM2QxNkVCODI3RkY4N0NCIiwiMHhGYUVlNUUyMjYzYjQ3NDA0MjA2QTQ1MDAwNTg5NzVmZjg2MUE5M0M2IiwiMHg2NWRDYjJjYzU4NkFCMGVDMmVDMTg5M0E3NDhCMmJEZmM5RDBFNWZDIiwiMHg3RDQzZEJkNUFCMjU4ZjkwODQ5YzQ5QWUxNkJhNjQ0NWMxMjUwMTJDIiwiMHg2Nzg4QUU5OWQ3MkQ5N2JFNTIyYjZEOEE0RmUzQmQ0QjI0NTEyQzE1IiwiMHgxN2I5NmJEMzNlOTgyNjMyODBiMjFkM2QyQmE3ODlBNDVjYjU4QWE0IiwiMHhFQ2NFOGViQ2IyODcxNDMxZERiNDdkNTM0Yzc3QTc2ZDU3MjcyNzMyIiwiMHhjYWEwNjFDN2RCZjgxZGU1ODY2YWU4YjM2MWU3NjUxNzQ3NjQwMEY0IiwiMHg4MDBlMTU5RUVmMUMzQWRDMjVlQzcwRkQwRDYxYTE0NkM0YjI4ODYwIiwiMHg4MzdGNjhkMTFDRDE1ZThBYjEwZEQ1RjNmMjEwNTE2RjJjRjJiQ0ZiIiwiMHhBZEVEMkUzMEU2OEI4NkVEREY5NTdDMDZiN0YzZjI4NTFlNDI2QjA5IiwiMHg1MzM2NjdjRDgyNDdDZjY5ZGJBODhCMWNiODE4ZDA4MDhCZDE5ZEFEIiwiMHg5M2FkMUVlRmQ2QUMxRjA2YURFNTYwNTVjMTc3MTgwN0FGQjAyNDgxIiwiMHhBMjUyYzY2YTVDNUExODIyMjlEOGYwQjA5QUE5NWNhRjg0MzEwNjkxIiwiMHg2QUQ2MEI4NTRlMTNGNzA2OTM5NEY3Y0Q1RDhCMmY5OTVkYWRDNDNiIiwiMHg2NDYyQUJCN2NkMEZEQTcyODA3Y2E3YjY1NzQ0QjIzYkZmMUM5MUZmIiwiMHgzNDdCMjQwQ0ZjNWIzNDQ3RUM2YTQ2QUMzQzY3MjBDMjNjQTM2QTFEIiwiMHg4ZjQ1ZTFFYzNENjVFZEQ0NDFBQUFCQ2U1QUE2YzRDYTVEMjg2ZjFlIiwiMHgyMUJkMkU0NGM0MjFGMUQzNDUxNmM4ODc1YThlOTJkNTkxMmUxYTA1IiwiMHg0RDY4MjQ4RjA0QTEwMjk5QzBjNTcwMGI4QzA0NUViODIwNUNBQzA0IiwiMHg0RmRkNTc5Q0U5ZTgyRjUzZmRmNjFmOThCQkY0QjIwY0IxNDdGNUFmIiwiMHgyQmMyZDQ0NjBGODgxYUYzRDA3QzU4ODIxY2IxNTU5YTM0OGVkYmUzIiwiMHhkZTk2MjM3Mzg3RGYwNThFNjVFREZEN0ExODM2MDk0YWJFM2JhNUEwIiwiMHhBMTBkMTM1MTJiZjhBNTU0QjlDMjU2NjY0RTA5RTk4OUU2Mzk5NUUwIiwiMHhDMTI4N2RmN2NFYzY2RDc4NjcwOEU5MDE4N0Q3Rjc0RTc0ZTNhNDFkIiwiMHg5NThkYjZFNTNkMWMyYkMxOERhQTBFQzg2QTA1ZUIyMjQ0ZEQ0RTk0IiwiMHhEMzk3YTgzNGYwMjA0MzQ4NzRmZkMzOEY3MTIyNjY0QmYyODg4YzkzIiwiMHgzQjA1Y0I4YjZDQjY4RDQ0MTI2QzE2YzAzRjIwRDMwMjVBRDk4MDg1IiwiMHgzRGNhNzI4QjJhNzg5NjI0YTFiMDQzNzY2MzgzMUU5NDc3MUIwMjMxIiwiMHg3YWMzMENmNDg3QzQ3MEIxNDA0YjhDMWQxQjAxQkU2RmM4YzMwRGMxIiwiMHg4Njc1YkY5YkJEMTA2NjA3QjE4YjlFZDA0MmY3OUU4ZWQ4OTEzNWM1IiwiMHg3RDhBMTIyMWIxREUxNTg3YWEwOTg1YWUxMjk1Y0JlN0M3NGM5NThjIiwiMHhCZDQ1YjMxM2MyMTEzODlkN2ZCMjZiODg0MEE3ZThiNEQ0MWU0OUEzIiwiMHg5NTgxMjE5M0U2MDNjQTM1YjU1MDI1QzI0MjkzNEJBZDFhMzA4MzA1IiwiMHg2MGJBZjM3MENBNGREYzA0M2U0MTM5MjJiQjdGQTBBMjFiMUE3NTkwIiwiMHg3ODFDRTlBNjgwODUwMzI2MWFCMjc5NzNGM0EzNERkOUY4NTFhNmZDIiwiMHgwNEJlMzYwM2UxOGZmRDA5YTNhOWRCMEZCQzlhNzM1ODdiMGREMDBEIiwiMHg2ZTAyYzFFNmYxYTEyMWUwQUVCYzA4MGJBMkM4OWYwRTg0Y0E3NTZGIiwiMHg0NTdiQTA5QzM5ODBGMDRBRjNGQTg0OGIwNjE1NzQ5RDAyMDZEMWMyIiwiMHhBM2Y2MkRlOGU3RGFBQzNBMEFBQTlFMTY4NDYxNzI3Njg3RTZDZDIzIiwiMHgxQzE2MmEwNWNhMWVDNDBFYTI3QmNGNzVCZjg3OTVCRUUyMDYxZjU4IiwiMHhDRDkxQ0IxZTk1MjVjOTkyYzVCMDdEZGI1NjVEQWU4MTdmNmM3YTlFIiwiMHg0RTc4RUZDMkRhY0MzMDQ5N0U2MzhGMjk5ZEYwOTAxN0NGNUEzZTc2IiwiMHhmNzhEMjZBZDUzNTE2NzI4MDAwNjFhNGRiODhBMjVkRDFiNzcxMzQ2IiwiMHgyMTdCOUI2MTgyMDRFRDczQkNGOGVhMTBkMTdBOTA5ODlEQjc1NmFhIiwiMHhjOGU4MDEwRTQzYjlFMjJDNDc1M2M3NTA3MTVEQjYwYTA1MTk4ZGVFIiwiMHg5OGRlZTg1ODNGMTAyNDMyODAxYjY4OGNERDMwYTU0RGQ4Nzc4N2VDIiwiMHhFOERhMGIwOUQ1NEJDYmVkOGNGNDgxQ2E5NzZCZTE3ZDNBMzM5M2JlIiwiMHhjOTAxQURhNWQzREVBMWQ5MWE2NzQwOGRhZmQ1NzcwNTI0NjAxRDg0IiwiMHg3ZTYyREMwODUzNEUzOWVEMDMwMUQwQzFEZjhhMTg4OEUyODYyRTZmIiwiMHgxNkIxYzM4NWI2OWNGMjFCQzhiODg5MzVEMkM1MjY2YmIxQTkwZEVFIiwiMHgxMUVEM2YzMDJDM2NhNmYyRTBFM0JkOWI3NzI0MkM5OWQ5NTMyOGY3IiwiMHhGNjgzOUQ3QjhmQzljNzNhOTRjMjY0YjBhYjA4MjVlNjFFZjhiREI1IiwiMHhDNDhGOWM4NDZiYjY0QjkwMzg4Yjg4Mzc4MDExNDgxNzA1NjJFMWU0IiwiMHgwOWMzZDYxMUM3REMxMDQ1NDc5NzgzQjk3N2FBZjBjOTgzNjZDQTFDIiwiMHhBMmJjYUY0MTZFZmMwNDQzNWIwRGE3QjBDMDQ5ZDQ5MjczMTk3RmNlIiwiMHg5ZTdjMDlhYzQzQ0JhNWQwOGJEMmNEMkMwOTlBNTNCYTJhOEMwNmU3IiwiMHhhMDI2MGRCYWI3NzM5QTJGM2Q3ZjkzQWNlODRFOWY2MTU1NzZjRDkxIiwiMHg2RjlBNTUwNjdkMjlEYTIwYjQ1MWIwQkQ3NEExMWI3NUZFYTg5QzBEIiwiMHgxM2M5N0EzNTEyZDg2MjIxNzg0MTRCQTk2QzkyZjMxQ2Y1ODY5QzI2IiwiMHgxMjkyNjAyYzUwMURjYTI3Q2QwZWVlZUI4MTVkRjU0NkQwRjY4YzgxIiwiMHg1NTk0RGFlMjc3QTc2M0E3YkQ1OTZlRUYwNTA4RDk1NTg5MjZDOGVmIiwiMHgwNTA1M0NGREVGRDFmYTY0ZkQzRWI1ZjI2ODU2Qjc0NzQ4MWQzQjE5IiwiMHg3RDgyOWZjYzg0ZjlkY0E1YTNlNmQ5RkI3MzU0NWJBY0YzNTAxNDZhIiwiMHhCNDIxNDI1YjU2RDEyQWE5NTU2NjMxNWNhQjIyYzc4N0YzOTA3MTQyIiwiMHhGM0ExOTNhODUwMDM0ZjE2YUE5RGI1M2Y2NEZENzI1MEYwYURhNzQ0IiwiMHg1Mzg4Mzc4Njg2MkZiMjYzMEJiNzZDNTM1MEMyNTJjNjA1REFmRDU4IiwiMHg5RTRGMEY4QWEwMDlmMzZBNjE0ZjQ1MGEzNjZiRDljOTIzNERiNzc0IiwiMHg1MDM0MTY5MzkxY0Y4NzE1YjJlYzYyRjU5Y2M0YTQ5QjJCRUY0Njg0IiwiMHg1RDRlNjJEOGI0OTI0MDhlOEFGNjVBMjM3MDQ0OEQzZTJENDM1MmQyIiwiMHhBRjFDMmUwNkRCMDQzNDY5Q0ZDYzEwNWJCY2EyQUI0M2E3YmMyNWI2IiwiMHgxZmYxNmRkNmUzOWUzNDZGMEI2MjVjRjU1ZmJDQjNBOGQ4NDUzMkY5IiwiMHg3MUQ1RWJGRTBhRTQ0OUJhMjAyQzQwNzVBQjEzNTY5MDdiQTBkRmM5IiwiMHhhQzdmOWQ0OGJCMzJkYjMwQzAxNTNmNDExMmRDZUViQjA4RTE2MDgyIiwiMHgyYkIwMkMwNjExNDU2M2JBMzMxY2Q3NmNEQjllODlCZDgxY0VhZjM4IiwiMHgyMTE1ZjBBMDYwM0Y4YzMzNzViOTk4QkI3RTZmRURBMTEwMDVFNUNEIiwiMHgwNDMzNWJENDRBOUE0NDU3MWQ2MjhEMzVmNEM2NGQ5NWVkMTcxZGIzIiwiMHg0RTFGRDBCODQ1YUQwODdFYzJDNkU2NTJiNDVGNEMzMWU1ODAwODRDIiwiMHg2MGM4RjZFOTUwQ2RDMDkwZWVjM0RjNkI3YTA0NjhmRDQzYWQ5YUNlIiwiMHg2NDU1NjQ5RTVCNzcxN2FFNzIxNzE0MmI1MzM4MzZjRjVhZDczNTU0IiwiMHhkOEY0Y2EzMDhmNEMwZDMwQTNDZmRjZTY3ZjQxRjU3Nzc2ZUI0YTUxIiwiMHg3ZjEyOWRCNzk1QzkzMDU3YjU5M0EyN0Q5NDEyMTA0MGE0QmM0MTVCIiwiMHg3MTIwYTUwNzFhNjU3MDc0RUE5NDBGNDVhRGM5YjUwMzMwNDQ1MWE0IiwiMHg2N0VlNjlBOGM3NTk1MEJCMmQwMzE4Qzk4ZjQ3NTZBMTM4Njg3ODEzIiwiMHhlQjRmODUxOEY1OTBhMTIyMGE3MDFBMWVGODdiOTJjYjU0MzFGRDA0IiwiMHhCOEY4RmE2OTdCMTY0MTYyQzQxNzM3QUViMTczMTFlNUI3YmMxMmU1IiwiMHhCZWVlMjZDRjdjMWRDMDY3NDAyRkRmOThlMzBmOTU3ZDU0YkNlMzgxIiwiMHg0QzUzMzIwYmE0OTFkZGQ3YzAyMzk3MjQ4Q0FjOEQ5REMzMzE0ZTE0IiwiMHhBNEQxNTJlMzJlRDM2YzI0NUZFMzAzMjIyZEVFN2ExZkZFNjU1MDM4IiwiMHgzOGE5NEM0ZjRkOTQwMDY0M2YwZkI5NzE5OGY5MGM5Mzk4NmYwMThFIiwiMHhkNkI1YTBDNzhmMDgxQTRhMjY0QkE1NDY5MmVEZTkxMTA3MUZGMGExIiwiMHhjNGUyNjIxNTc3MzkyZDMzMTc1NUM5ZTU2NmE1OTM2RGIyRDI0RTVlIiwiMHg2MWZGZjlGNmFmMzNkMGNGNzQ2RDdhRDE4ZjNEMGE2MjY0MzAxMTY2IiwiMHhGMDRlQUE5NkE1NzBiNGEyRDg3MjE1NDk1ODdFZWE0YkE1ZUREN0I0IiwiMHhBOTJkMUE4YTFiM0VDMUMzYTU5MTdEQTBmNzMzQzc1MzQ3NzJDZjg2IiwiMHhGODQxOTA5M2Q0NTM4NGQyNzhlZjUyYUVGZkI4ZThlOEExM2ZiMDI1IiwiMHgzQzAxN0NiQzYzNjM5NWM2OGQ3N2IwNzRkMzI3ZTUwMUQwNjA4YzdEIiwiMHhGYTM0ZkVBNDA5ZTgxMTg1MTUyN0NCMTNCMTZlMzIyNTNFNGFiMmIzIiwiMHgwZDVhQWI2RmRmNDQxRTM1YWQ5RTM2NjNGNTAyOGFmRUJjOTdCYzlEIiwiMHgzRmZmYTBCRTk2YjlBMzZhM0U2NjBFZDk4ZkE4ZmZlNzJCZjZiRjM4IiwiMHgzNjA1MjBERDUxQUJEMjdjQUJhODE0YzhjOWI3QTdhZDhBQjZiOTlBIiwiMHgzNzE2MDZkN2Y5YURFODk0NGQ3MGYwMUQ2NDI5QUQwODEzYTQxMTA2IiwiMHhCQTUxMzg2OGI2MTlhNTZGN2JBQTZFMDgzMDRkMjNDRjE2OWM5MDE0IiwiMHg5QzJiMDhCRDQxMDc5MkUxZjE0NkFBOTRDNmU5YkI0OUU2MEVhNTRlIiwiMHhDNzc0ODgwNzFCYjUyMDE4MDdEMDdGMThlZjg3NTUyMTA0REExODZDIiwiMHg3MTBERDMzYzY2MDM4QWJjM2RmOTM1MGFjQjcxN0NFY2MzMDhFMjgyIiwiMHg5Qzg1NTg2OTY3NGIyMDI5OUJlRDdCNTNEOTUyNzc5ODkyZDQ3YzVBIiwiMHhEODI2N0ZBMmU4YjIwZmQyZjMxYTc4NjQ0Q0JGNTdiOWRmRDQ3OTI4IiwiMHgzQjFFODFiQWQ2OTVlNkRjQWZiZjE2QjcwN0FkYThCN2RkNzUyODI1IiwiMHhFOEVkM0I0RjNBYUNmQzhFNjZCNkVFMTZDOTg2OUNjMjg2M0JGZUE2IiwiMHgzZEU2OTkyN0QzMTk0MDkyNEUxNTgwNDZjQUFlNjg2ZjA5RDQ3MTY4IiwiMHhEYjVBQTQwYkRCYjhlOEIxYWJhRTcxYzFmM2E5MTFmZDA4QkY2OTYyIiwiMHg5Y2Y2MjFERWMzMEU4ODJmMmVFRDk3NTM3ODNiM2I2Qjk0ODkzNDZlIiwiMHhGNUEzYWI4NjY5MTY0RjQ1NTYxRjZkNDkzMjU5N0U0RUM0REM1MTE4IiwiMHhBMzA4MzUyQTI2NTc5RTNmMDQyMjZBMjliNzQ4NThhNjViM0EwRGEyIiwiMHgxRTk3Mjc0Q2NiMTkxMDljMTAzMjBCNGRkMmRkNDcxNTQ0MTIyNjVkIiwiMHhmY2MyRDhENzMyMjFiODRFNDNiODU5M2FGNGQ1Mzc3NzA5RDllYTg2IiwiMHhDYkRFZmQ2MDFDMmIxMzdCNjI4NDVFYWE0ODEwZTRBM0ZCRDJjNmQ3IiwiMHg2N0M4ZjlDOWViODUyM2FCZUQzQTkwMzMyRTM4RUFjREJhQmM5MmVEIiwiMHgzOGRGZjU2NkQyODNmNkI1MmQ4YzRhOUYyQWM1NTI2N2Q1QzM2MTlGIiwiMHhjQTE1NDc1MGUxN0JEOTRhMmQ5RTE1N0Y1MEUyMWI3MWE2NDhFOWJBIiwiMHhjNjEzMjg2OWVmODgzNzE5YjYzREEzYTY0NzA5RjhkODdEZUUxM0U3IiwiMHhGRjRCOWFlMkVkMTZGQWRiNTZGNjVmOUM3OGFiOTlFODdiMDBhNjE4IiwiMHg2OWU1OTZCNDkwM2NCRERhMEIxNjdBRmU4MjE0MWNjMUI0MjY0MEJBIiwiMHhjNmJkOWUwQUFEZjE3MDk3QUM0MWQyODgwYzkzY2FEOWY2NjMxQTk2IiwiMHg5M0QzMDI4Q2Q1MGJDRTM0YmZENzljMzEyNThDMmEzOWJlNDUxQTIyIiwiMHg2MTlEQjM2MUZCNDhmMjNBMDJFQzlDNmYyZjM4NmVDREVDZjYyMTQ5IiwiMHgwMDI1ODhkNDk0OEUzMmFiQTk5MUU4ZEY4RDRkZTlhYUE0OEU5MjhiIiwiMHg4NjJDZjdhRjBhZmNkQTBkN0E4OTVlMzUzNGZFNTYyNDBEY2QxNTI0IiwiMHhlQjdGN0NiNDgwZmY0MWQzOGUxQ0JiZjM0MWJjOTYwZjQ3MDM3QzNEIiwiMHgwOWQzZTU1YWJCMjNhZEY3NjZkMzkzNTBhZUY0M0NmNjlBZTZBZTcwIiwiMHgzRjYxOUY0NGE1MkY4OTY5MUM1NmZiRmJkZDMwNjFmRDNGMjAzMjMzIiwiMHg0MjBBNEI3YUQwQjA3OTI0ZWFEN2UwMTBEMkJiOWE0Y2UzQjY0YWQ2IiwiMHg1OUJhYzQ1ODBjMGIyMTg1MmUyZTNFY0IzRTJGNjBjNmQxQjVFMDU2IiwiMHhhMWNlMzFjRTU2NDNiNjlGRDc0YzA4NTc3MTU1NTk5MTI1OThhNkViIiwiMHg5MkVjMTQxNmFGYUJjMUIzNWY1NTZFZTQ0NzZiOGM4QjBGOTU0YzYyIiwiMHgyNWFDM2U3MDEyM0E3NUQ4NDBCMmQ2NDczNTM0OTEwQTdDOWIwRThDIiwiMHhFZDhDZjQyRDdlODIyMDJBY2E3MDY1M0IyMTBhNWUwMUU4MTg2QWI4IiwiMHg1ODhGY2M4MzA2ZkZkZjg4MEU0QUEyMWU2MTVDYzUyQzQ3NWQzYkE0IiwiMHgzMjQxODQ4ZEFmNzQ0QTM1MTQzZWU2Qjk5RDQwMDMzZGI3OTE4OUZBIiwiMHg3ZUVmNWVkMWYzMjJEZTZmMTAzQmI4ZDU1NTg0YmZFMzNGN2REZTdmIiwiMHgxNTVjOThDMDg2YmJhMzI0NmU4RkIwRTE4NDMwOGE2Mjk1OERiOTE3IiwiMHhjQjJDNTBlMTlGMGYzNDFkNERkYkNlNTY0NjlCZGFCNTYwZTVhM0QxIiwiMHhhMUJjQjBDNzUwZkJiNTk5NDJmQTVmRDgyQzIyMjA1NENGMWY4REVEIiwiMHgwRDk1RUI2NTI0YTZkODE3OUJiODIwOTFlNjc5QjZGZkZENDMzNGYxIiwiMHhDYzMzNDlERWExNzhjYzBjYTJjNjYwMWFCQ0FkZTI2NUEyREQzNjgzIiwiMHg3RjAzMUZGMjRjYzRlZGZDNEJmMEM2MDkxMzlkNzlEZDdiNTNiZEFmIiwiMHgzZDI1Yzc0NzM5MjQzZEZhOTkyQTVlRGFBZGM1NzRmZkYyODA1NjM4IiwiMHg2YzVhNDlhZTVmQzU4MGQzMzhBRGE5MjY5OWIwYzg1NTZmNTg2RkQ2IiwiMHg5NTQ5YUIzQzY4OEFFNGVmYmM3NzQ5QjNEOEU1NTFEYWFDMTAxOTk1IiwiMHhlOEYxZGJGMkREQzkyODdkMEMyOTBFRGViMzcwMTA0MDExQzYzMDlGIiwiMHhkQjI4OTcyNjQwMjZGNDI4MDk2YzNGNDY5ZDU4MTE5NGY4QUQ4OEEzIiwiMHhBRGJEYTU3ODVlOGU3NkQ0NUJlNWE2QTE1YTQ0NzIyNTg1OEZGMGIyIiwiMHhmNkYzRTE4Y0RBQTBhNTA5NDhFZTY2MDg2NkMzQkIxNkFhYkEyNDU0IiwiMHg5OGVBNWZFYTBlMzFiRDliNTcxNDZiMzlENzE5QjQxZDI5MGJjREY4IiwiMHg2QWZlMmU2ZTZBNWU2MDk4ODljMmJFYTE4OTBGQzI2QTY4MTk3NDY1IiwiMHhFRTdDMERjQTk1NmY2Y2EzNmE4NDcyMzZBNmUxN0I0RDQxMUE2MzMxIiwiMHg5ZWQ5OUM0QWE2QTU2N2QxMEIyNThiMTA3ZjUwMmY1NENkYzRDY2YwIiwiMHg5MzQ4RkUxQ0Y5Y0RjM0Y1ODY5RTAxZDFEZEMwMjc3RWFjMTk4ODVlIiwiMHg5YmFkZEQ3MTUxMDM4RkExOUJjMkE0RTE1YjVCZTE1YzMxNDZBNjA0IiwiMHgyOUU4NzY3MmVjYUU5OUUyZjk4Q0UxNzA3RjcwRDlGRjFGQjRhNEFlIiwiMHhDNjVDMjlFQkQxRmJjZDc1N0Y3NTI1QjI3MjZjZTdEM0IwZUY1Yjc4IiwiMHg4ODA1NzliN2FFMDI0RkE2RWJkQkQzODdhRTQ1OWJERTkyNzQ1MDRGIiwiMHg1ZjNmMTc1YTJlMTEzNzZDNThBN2MxY2I5YzRBZWRhQkNBMkRhNEY0IiwiMHhGMTdiNzBmRDhBYUZEQTVEZjI1NjY1NEY0OTY2YUMwODFlMjY1QkY5IiwiMHhjYjgzZGE2N0FEOEFBOTZiQmNhMDI5NGI2OWI3Yjk0RTE3MmRFRTY2IiwiMHhBMjgwMzk3MDRERWJBQ2EzN2E0ZmU2NzgzZjk5MEZmRjMyODc2MGQyIiwiMHgzNjgwOThlNkE5YzMyNzQxMDMyZmMyMTRGMTczNDA1OTk3YUEzODkxIiwiMHgwRTg2MTU0RGI3MzBFMWE4ZkIxMDJCNURCN2VkZUE2ODAyN2JEODM5IiwiMHhjOWMwNDYwYTM2NWI2ODdCZDRkNGM0NzQxRjZkNDRBYUJiOTA0NDc4IiwiMHhBNjBiRDhhOUM5MzczYjgxQWJGMjJmOTgxM2I0QzhENUVlZEM5MjA0IiwiMHgwM2VBNDZjNTlFNTY4Mzk1MDNFYTNlRjM4OWI5QTA2YUNiNDRiODU2IiwiMHgzOTAwYTNmQTExODlBZjJBMkNjOEU0QjVhMTM3QzBFQjFiMjFEYjAzIiwiMHgwNDAwRUQ3OEM4Y0U1NmY0YzlEM2JBMUI3YTIyRDVhZDNDMDI2MUExIiwiMHhGMDZGQkM3NDYyRDBEMTYwNUM4REZFRjc1REZCREM1YmE5MTcwRkIxIiwiMHhCNDgwMTFEMWE4NkFBM2M4NkRjYjE0MWQ1MDkwNjA4NEE1OTJkODU1IiwiMHhGZTgyZDZDQjlGZTk0QTM4NjYzNkMxNTZlQTUzMmYxMDdkM0Q2MWVCIiwiMHhDOTE0RWM3Mjk1MURlODM2MDUwNjlDQjE1ZUM3ZWU0MDYzQkQ5MzQzIiwiMHgzQ2U5Y0Q5MjZBY0Y0QWQwQ2IwNTRhYjU0NTc5QURGOWQ1MDExMWIzIiwiMHg5RDgwZjA3OUM1OTE4YjhDYjhGODMzMWQxNTFFOTE4NjZiNzYwMERlIiwiMHhCMTA1RWQzQUQyMDg0Mjg2MUJDNDUyRmMwRmJGNDBCQzhFQTdlNjBlIiwiMHg1ZTVGQmU4ODQ5MjRjZDNGODgxMDEzNDA1MkU0NzI3NDI0NmQ1MkM1IiwiMHg3ZTI4Mjg2ZjVCNTdlNTJkNTYzQzZFRUIzMzZBMmY0Y0M3ODNEMTUwIiwiMHg3NzUzRWRFNURlMjU3MUVkNWQxMjVBN0MyYjYzQzgzNGMxMzYyOWE0IiwiMHg4ODE0YTY1MzhEN0VBYjMwNzA4YUNBQzJmRDI4M2MzODc3MjA3NmJGIiwiMHhhMTZjOTAwOTZGMDhDQjlBYjUzMjg0NTdBNzc5RDQ1ODU4QTZBNzhkIiwiMHhFNWY4QzUxRTI3YzYxNzQzMjMwMEQyNTYxODIyOUJmMkI2Y0RCN0FhIiwiMHhmZDBkNTYwOUYyYzREMTAyMjcyM0ZmMzk1OTgwMDc5MzVBZjQ1NEE4IiwiMHg0NjMxM2ZFMkJBYzNhNGE5MTc4N0E3YjlFYjQ3YjY1MjE3Mzc0ODZlIiwiMHhEMzc3MkE5NjM3OTBmZURFNjU2NDZjRmRhZTA4NzM0QTE3Y2QwZjQ3IiwiMHhCMzUzNDk3RjQyMURCOTFDOWUxRTg2ZTg5MzNjMTZBMThBMzc5QmI0IiwiMHg1MTREN2NGOTJhZkY0MTNDNDliYTI3YTNCMjk0MzI2Y2RiMjFGNjRBIiwiMHhFRjM3NGIyQjE1NEMyNzY2OGMwMTlFNTQwZTJBM2Q0NWRGNTkzNjEyIiwiMHg1ZURFNzIyNzQwMTI4QjZkOTQzOTRFZDgwMEU0RUM0QzVjOTk4ZkU2IiwiMHhDQjYzN2E3QjczRENDMjYwODE3OTM3MGZjOWVhZTg1ZUJENEFmYkY2IiwiMHhlQjM1MGM3NmY4QzIxQUVjRjJDNDYwODI4NzBFN0Y1Nzg0OTM5MDRGIiwiMHg4QTdkNmE5MTgzOGVBQThGQzlBMTI0OWFENjJDMmIwM2ExRTY0YjQ5IiwiMHhkQTY5NGI3ODQzM0ExMUIzQTg1OTE3NzRjRDIyN2JlNzliNzllYUQwIiwiMHgyQTIzZDI5MjBFZWE4ZWZCOTY2NEM1N2Q1OTAxQjliODFEMTRlNjcyIiwiMHhiQWYwQUMyQzVmMmEwRTJjNTM2OUYwMzJGYTdEMjI2MDNkOWUxQTM3IiwiMHhEQTM1N2I0OGYzN0JjMEU3RWNBNTNjQzJjMmY0Q0YyMGYxRDk3ODY5IiwiMHhmYzM5MTQxRkI0M2EzMDZjYjA3RDg4YzZCNTY5NjNiZjYwNWI3ZTkzIiwiMHg5MDQ1ZjY1RmFFMGFlOTI4OWE4RjRCZENhNzQ5MjBmQjBlNTVhNmQ4IiwiMHhDYzNkMUVjZUYxRjlmRDI1NTk5ZGJlQTI3NTUwMTlEQzA5ZGIzYzU0IiwiMHgxMzdEOGIyNzgxMzY0ODNDY2Q5MjY5ZkIwMzhGNDhDODA2RTVkNjBEIiwiMHhmM2M3QzAwM2M2NWIzMzZDRjkxRkI3NDM5MTc0Njk4ODVFQjgwMEY0IiwiMHhCYzlDNmNlNkRGNjdhN0UxZmIxYzNCRGNBNThmRjNhYzk2ZmJGYmY1IiwiMHg1MDUzNDNmNTY3MmJBM0I1NGFmMDQ1RDhCNDcwRUJmMjI5ZThFOUM0IiwiMHhkNDQzNTcwMGE4MzhCN2ZlRTRkYTAxQTQzMkJhQzg3MEIwN0IwNjgyIiwiMHgzOTYwNDRkMUI5OURGMWYxZEY5ZGU5OUEwMzA3YzU0OTQ0M2ZCNTBiIiwiMHg0MUUzZjkxN2NhMzUzMTUzOTVmNTJCODlFODE2REUyRGUzNTBjMEIzIiwiMHg2MkY2QzYzMEZmNzBjOWYxNzQ1YTE4MTc2OTQ0RjA5MUViNDlCNGEwIiwiMHhlMWZEZTU2NWZhMTBGZjlkZjhBOWU4YWYxMWUzQzhBMzREMzVlRjg4IiwiMHg5MEFFMkIwNTM3MjZBYTlhNjgxNTg2MTY1RjIzMEE0NDk4YWFkNTU1IiwiMHgxQ0RhOTc4OTJGNDAxZTY5MzI5ZWYxNEQzMEE5N0Y2NWExOWU4NTJFIiwiMHhjMzAyQUM3MjY0ODA1QUZjQjQzODhDZTBFMEY2N2MzYmUwMjA1MjE5IiwiMHg3YjY5ODIzMUZDNTlhOENDNTUzRGVEYzlFNmZiY0UyZUM1NjcyODQ0IiwiMHgwMThkM0ExNmZmZDU2RDYyMmYzODBENmFmY2ZGZEIzZDUwYUI1OThDIiwiMHg5MGRBMjU0MjEwNTU0ZTFhMmI0MTZhN0RjZWIzRTQzQjlkMEFlZjk5IiwiMHg4MGNCOWQwZTc3NzcyRDkwNjQwMzgwZjNCRGI3ODI4NDJDMzhGQjdmIiwiMHg4NTE5OTczNkIxMzE5QWIzMzYxZEFFMWFDMUNjYjVmY2M5MWUxNWJGIiwiMHg3ZWFDMTU3MUE1MENlQjUwNTg2REQ2RTczMTgzOTNiNTMwNTQ1YzQyIiwiMHgzRjFEQkU1NjhEMDZBOTFjNjk4NDBlYjNlNEE0MDM3NEYzQWY5Mjk3IiwiMHhBOTQ0Q0NmRjQ5YmVBM0IyMzNhYkQxZjg3N0ZkMTM0NkE2QWFEMjFBIiwiMHg2NzA2Y0Y1NjFkNjIzRjdBNDYyZTNBMjZGMDA0MEE2MDg0RWNmMUUyIiwiMHg0OGU2RDkyOTlCMDBGYTk4NTQ3NjJCNUNDMTUwNjgxRTIwRjAyQzY1IiwiMHgxZDQxOWYyMzFmMEUyRkI1MjA3ZTM3MEMxNmYwNkNiRTBiNEE5MDFBIiwiMHgxOTBFQzhmODg3ODRkNEM3OUU4NDIwMTYxRDQ3MTE3Q0MzMWYzN2Q3IiwiMHhiOTgzNzgyQTViRTljMDY3NDk0ODZFYjQ4YjM2NjlhN0M2RTI2NjBFIiwiMHg5NjE5ZTVDN2EwYTRkMDYyMDE0ZGRERWMyOTQzYTY4YzE1NzAxZjRkIiwiMHgzN2VlQTc2MTNlM2NFYWQ0MENBNjcwNzYxMTYxQWI5MUQ3QTg3Yjg4IiwiMHhiZkJDM0UyM2I1MjEwQWE0QUM2RDM0NzkxMDBENGMwMzU3MjExNTczIiwiMHhDZTgyMGMzM0QxQ2Y0Yzg4Njg0OWVDQUQ2Q0EwNTMyNkUyNWMxYjc0IiwiMHg1Mjk3YmM3NTEyQjA4RTcwYWNhRjQ5MTUyQzc0YzFGMjFCMEEwRDc0IiwiMHhjRmI4NzliMzE2MUNGODBBYmQ3ODMyRkNCY2FFMDU4MDdGNjI2MmFFIiwiMHg4RDA3MWUxNzA5YTQ1YkI2MDAyZDliOGM0Y0VGQTc2NDM2MjQ4QzdhIiwiMHhDMzU4MDAxYTcxYjMxNjBCNEIyNDNENmU4YzZGNTI1NzlmODIyMTVlIiwiMHg4ZDVjMTU2RDEwMzMzQjhmNDI3MUJlQzBDZWEyM0U4MTA2NDc1MWMwIiwiMHgxNkQ0MTk4MERCZTE4RThBNGQ5RTM5NzZENjI3QUYzNjY2ZjJhNjIwIiwiMHg2QjI0ZUMyMWY1ZGM2RDVDMDU5YzUzMDczMTM4NWJlYTNFMjZmQUFiIiwiMHg3MjdFQUM4MDk3Njk0NGE1MEI3YmEzNTYyOURGQ0IwMTNCM0U5NzQ4IiwiMHg2NjRBODUzNWNjM0RENjllYTNGMkQ2ODQ2NDIxRkJlM0IzYTdGRTMwIiwiMHg0ODUwZTJiNjllQTYxZjRFMTUzODE5ZmVkMEJENjI2MjY0ZTRlODliIiwiMHgxNWEzZjYzQTRGNUZDNEI0NDVDNkQyRjI2NzAwMWY4NjI0QjdCN2FiIiwiMHhhY0U1ZGI3OTY4MTY4Y2FlMjFEOTY3MDhEMDU1RDA4Nzg1RUQ5MEYzIiwiMHg2NGVhQ0NjMjI2OUJmMzU2NGQxZTNBM2JCOUFFQkMwNTBhMzI5OTNkIiwiMHg0MTdjNjIyZmJjRjczZThBMzQ2MDY1OURDNTkxMDlGMEMzNTQwMTY4IiwiMHgzRjcxZDI3YjY1NGFhQWYwM0ZjMEI0MDNjRWVEZDYyOTIzZTUyQ2ZBIiwiMHhlNDQ2QTY5RGIzOTM2OTMxOTE3NjczQ0JhRjRiMTY3NkMxNjk1Y2IxIiwiMHhiMmZDYzQ1NDNjREVkNEI1Y2Y3NDE1RTE0ODBEMjJkNDhhYTQyQ2E0IiwiMHg0NzEzMGQ2ZTgwOGJlODI5YUVDYTU5M0E4NDMxNTU3ZjVkYjJFYjZEIiwiMHgyOEM1NzI4RmY4NzljOEU2Mzg4RTEyOWFiYkIzNzMzZjZmQzkzMDI1IiwiMHgyQzdhNTFBMzU3ZDU3MzlDNUM3NEJmM0M5NjgxNjg0OWQyYzlGNzI2IiwiMHg5QTg0OTA5OGJjOWNCQjhhMkRlMkY0Q0U4NzEyZjBFMTc2OUY1NDFiIiwiMHgzMTdlNjAzNjZhZTlCNmMzNTg4NkUwMmFhRGQ5NzUwMDhlNzAxNDFCIiwiMHgzNWNBNjlhNTdGODYxM2JmMjdjMjYxQUU3NTQ1OTY1QWZjYjYwMzI5IiwiMHgzRjUzRmJFOTVBODhmNjI0NzVFM2UyZDQ1QTIzQTVFQTE1ODBhOTZmIiwiMHgyQ2JlNGIwMUNCOEVFQThjQTNmZDc0MDFiNzI4ODFkMzFlMDkyYjEyIiwiMHg1NWRGOTY5NDY3RUJkZjk1NEZFMzM0NzBFRDljM0MwRjhGYWIwODE2IiwiMHg2MTljYTY3NzgzZGQxMUZFNDE5ZkRkZjNlMzBlNGQzQzI3RUIyMmIzIiwiMHhBY2UzQjkzYjM3QTcxMmY4Y2UwRjhFNjM5ZDkxNzEzZEY4YzQ0NkRCIiwiMHhiRDRmM2Y1MTAxZkUzMmJCYmE0NGFDODNDNjJlQmMyMjYwMDE5ODlhIiwiMHg5RGIxMEMzMDVjNjcxMTUzNjYyMTE5RDQ1M0M0RDJjMTIzNzI1NTY2IiwiMHhmRDIxYzI3YTE3MjFhOWM2NTU3ZDk5OGY4NzU3MkI1MzJDZTBiMkRBIiwiMHgwOTlBMDJmOEIyOTNEYkU1ZDIyRERjNDYxMjA0YmZCQTBhOTg3OTRhIiwiMHg3OEMyMzY2OTRjODhBODlCQUYwMUM0MTc4RENFMEY0OGY0OGY2YjdEIiwiMHhiNUExNjI2YkE0NTM0REE4MDI1YkU4MTVmZjYwMzUwNkJmOTY1YzI1IiwiMHhkZmVjMTBlMjUzYmQzMTA1NGMyYjhhRjlEMzg3MERDOWI1OTFENGZDIiwiMHgwQmNENzE3OUZhMjVGODdjMjU1NjQ1RkMzQjQ0N0RhZTEyOTc2OUNCIiwiMHgzNmZCQjRGRGZiNTI3RTBDMjkyNTdmNTRDOWIxNUE1Yjc0MzczNGUwIiwiMHhhMzNkMjBGNDMzNGExMWNmNjM2NTg3ZTZmMDM2ZTNDRWE2MUI5Q0I1IiwiMHhBQTkzRWI3OUUzNmYyODc5Q2VlOTlCMjhCRjdBM0MxNDg1NjFGNTljIiwiMHg1MTA3MTFCRkFhQWE4MkFiOEQ5RjUzODk1NjlGMjkzMzEzRjNlMzM5IiwiMHgxOTMyODUwNzBhNzdiMzRBODI5Y0E2QzI4MkVkMUQyMzIwOGEzM2ZhIiwiMHgzNDlhMEIxNDJiMzg5OGNDNTQxMUNFRjY3M2FkNmQ2MzgxMWJjN2NjIiwiMHhjNzJCNjMzRTkzOWI1YTYxYzBjREYxMzI1YkZiQWUzMTE4YzE2ZDA0IiwiMHgyYzYxOEZmMTRjMzI3MzIzNkVlNDQxY2IyNGFhNjk5OEYyNjZBODcyIiwiMHgxQUMwRjFBOWY2NjI5NkVCMTk5OUU1QjZlREU1N2U5MjBFODk0YjEyIiwiMHg0OGY2MzkxNkNGNWQyQTUwZTI0NzZlYkZmMDAyMDY2M0I0ODhmMzQ4IiwiMHgwM2JCYWI5MzNjNjgzOUYxQzQ1MDA0YjhhMmY3RWJjMWFlNDBDMTc5IiwiMHgyN0VDRDFiNzUzMzY1RDM3MTA4MTYzNzYxQTkxQWY5MzM1NTg1MjcyIiwiMHgxRDZGODcwRjUzODAxODNGODA3RjE3ZmQ2RkU4NjIyNzYzYmQzZGEwIiwiMHg2MjI3NEQ5NTI5ODYwYjQyZDRCNzc1QTREODdhODRhNWYyYzk3MkI3IiwiMHgzNkJBMkQxOWZERWZiYjUwOEQwYTZBQzE0QTc1MDdiMWRkY2EyYTZCIiwiMHgwRTk3OUE0OWY2NUY5ZTk5ZGUxMTdjMDM3OGNhNjEzMTM2ZmMyZWU3IiwiMHg3MTAxYzYyOGY3NjNDZmQ5ZkE5MDM3RjJkMDUzNTVCMmRGN2U4ODE1IiwiMHhlZTkwMEI2YTEzQkEzNEIyNDdkQTAwM2Q2Y2M4MWQ3NjI4ODc1YURCIiwiMHgyMTgzYTEyOUVhNDc5NDZDMUExODkxNTBkNmU4NGFDOTc5ZTQzMkU0IiwiMHgxNzIyM0UxNDUyMTQ2YTRhQUI3MWY2RmZiZDBhMjBjZTlGRTc0M2UyIiwiMHgzMzVmRDVFRkFEM0Q0MEZmNjM5ZEJkMjVGYmQzQzgwYWMwRkEwYUY2IiwiMHhGMjU4Mjg2QTIyOWM1ZTMwNDY0YkM5OGFGMUE3QTI0MDY1ZkQyZTFiIiwiMHg3ODYwYjUyQkM4MDgyMjczMmRlNGNkNjdBMWI2QzAzNzYxNmU3MjYyIiwiMHhmRUFFNjgyODc2MUJiQTE0OThBRjNEQmFEODhGQ0UwYjBlQTdiQjE0IiwiMHhGNTVkYjFlRTE2RmE1YmU4NjMzNTY4OEQyYTFhNkY0ZDQzOUNhNEJiIiwiMHg0ODA1RDdCMjY0YWEzOWU2NTFFQUFkOEEyZDI2NWJDNmM0NTRlYWE2IiwiMHgxMzAwNThBNDI2QzM0QjkwRWUzOWNjM2I1YWEzRUMyN2Y5MUU4YTY5IiwiMHhFM2ZBN2Q3ZDNlODE3M0Y3RTc5NDBlYjQzQUEwNGY5NzI5OTI4N0JBIiwiMHgwYTgyNEQ5ZGI1N2IyQzAyRTA3MTgyZTNFRTFlRkYwM2FiN2E5MmM3IiwiMHg5MTYwNEEzMjE2OThFOTNGMkUyQUU1M0M2MDg3QmY1NDQ2MEY1Njk5IiwiMHhmQTYxMzQ2Njg0OTIyNzYwRWY0MTJBYzVmQzQzMjFlZDM3ZjQxMkI3IiwiMHhhYWFFMDU0OGFkMEJiQzg0ZTU5RGFERUViMjRDNkMxMzdEMDU0RDQ5IiwiMHg1N2VGQThENjMzZjlDNDM2YmQ1YjEyYkY1RmRhNGI4ZjdDMzM2RWY5IiwiMHhkRDVkMUEyNTZiMjVlMTA4N0ZjM0IwOThiNDQzZTk2Q2ZhNzMyMzdkIiwiMHg1NGMzNDNDMWFhOGE5OTc4OWNFMEIxMjcxOWIzQjcyMmNmRTU1RWQ5IiwiMHhFMmZBNjcwNjFCMDEwZDkwRTRmMzQxYjM0QmMxYjEyODhlNjRDMDBkIiwiMHg2M2U1YUJBNDA4Njg1MzVhMDU3NkRFMWQ5NTQ1M2RFODY5RDU4MTQ4IiwiMHhiZjhhMEI4QTg5MzRkQjY5MTI3QTMxNzFmYjQyMzZERDc4OWYxNzg2IiwiMHhkN2EwNTlEZWUwNzI3MWU4MTE0QzI2QmZCYUUwOTk2NDU5NjQzOUFkIiwiMHgwZjMzMzFmYTVjMzgzYTQzZTFCNmM2NzhEZDVlMzNhZDRBM0IxQkMzIiwiMHg5QTlBNUNmMjhGMzBjMTE3ZTU0M0RCNTY2OEVBZjAwN0ExOTI2MjIwIiwiMHhENGQ0RGEwMTEzQUQ5QjNkNDNlYkM4ODc5OEExMjNEY2JmNzRkQjAyIiwiMHg2OERkYmMzZDAyYTNiMmM5N2M3Mzg4MkVhNTRBOEM3RjBFRTJlOENDIiwiMHhCMzc4ZjBiQkUzNDNDNzMwNjUyMTEzZkM5RGQ2NmVCYmQ4RkRDN2Q0IiwiMHhDMDdFQjUyN0I2MkE3ZDA5MTYwMjYyZDZDNzI4YzhiQTEwNUM0RjZFIiwiMHg5NGYwQ0UzRUU0MDBkODBlMWZiZTI3QzhlMjE5RGJEQWUwZDljMzk3IiwiMHhmOWM3NkM0MDY1Mzg5QzBiODcyNDRCRDk5YzM5MjRFNkRDYzIzMDJlIiwiMHg2NzJmOTc3N0E1RjVBQjZhN0RlMzdBNzNEMzE2RkFEODc1NzRFRDM0IiwiMHgxNDcxZUQwMTYxYzM4NzIwMTA3MDBENTIyNkZGN0QwNjdlRWYyNDU0IiwiMHhCRkE1MjU4M0ZkMmRGQzcxMTFiQmU5NTE0MkMyYzU3MGY1ZTZCMjBiIiwiMHhGODZkNkZlOWUyOGVEODA1ODY0RTJmY2E1MWZFYkZFOEJlQ0EzMjNDIiwiMHg0MkEzNTllODYyMzg2ZjgzMjA0NzA0OURmZDYzMzU0NzE4ZGY1NkQ3IiwiMHg3NTA1Y2I1ODU3NzM4YUFmNUE4MjI0NzQxMGE3ZjI3OGFjOWMyMUNCIiwiMHhCQ2U0NThDMjU0MjMwMDBlMDBENThkMmI3OWQxMTJBMDQ2YTEwOTI3IiwiMHhFNTQzNzU2NUNCYTQ0NEYzM2Y0MDIxNWFmZWNDOTJlMzhlMmQxYkE5IiwiMHhlNzg2MEM1M2U2ZTY0OGE2NTU0OGFBQzJCMDg5MUU5MDE4QjJlOTY0IiwiMHg2NTlDODFFYzI0M0FEQ0U3ODY3MUMxQjFBRjI0ODExQUFmZjQyOTQ5IiwiMHg0OWQzZTY1QUM4MTUzRDY4YTI3NENjQmE5NDQwMDdFNzFlZjVGNDY5IiwiMHg5Q2YzMTY3NDQ5MUVlOTVjMEVDM0JBODllYjcyQUYzMjA5ZDkxQWMxIiwiMHg5OTk1MkI1MjUyOTdDQzRmMzVDOTk4YzVhZjk1NzY2MDk0RjQyMWU2IiwiMHhiOTY5MDcxYTY2MjkyYjFBYjc1NkUzNkM5YjdFMGNjMWNlODg1YjE5IiwiMHhlODkzMUYwQTM0REM1MjYwMWIxMzc0NDg0NzVhNzA0RTliYzlFOWI1IiwiMHgzZGMyMDBENDBmQTRFNkI3MTRCMTgzNTU1NkY5NzdBMDM3OTYxYzYwIiwiMHg5MkQyZGRFNzI2RENhN0UxQTREZkU2MENmOTAxNkI3ODJmQUQyRWQ0IiwiMHhFREY2MDgzNjViZjI5YTRkNzZjNjFCMTZCRjM1RWVhRUQ1RUM3MGRiIiwiMHhBM0Q2MzIxNzhmODY1OGZhZDMwNTFlOTNBYmU0ZDlmMzg3RDMyM2ZkIiwiMHg3OGQxNUU3NDYzNTBmMjVEQzc3QzJmQzQ0RGUwQmQ4ZjVCYWZkYmQ5IiwiMHg4MDkyOTk2RTA3MDNGOEZhOTY2YzQ0OTA5MjU3OGMyMDEyRERDQ0YwIiwiMHgyNjNiMTI2MkEwMTFkOTdhOUY3MDYyM0I5NkZGOTlBNTQwMjY4OTZhIiwiMHhEMDUzOUUyYzMyNjRERTVhM2Q0MGQwMzU5MjUxM0RCM0E2MjREY0E0IiwiMHhmN2M3QUNkNGFEY0I1OWZBYTRhYmRGNDgzNGM2ODc4M2YxNzYxOWFBIiwiMHhmN0IwRkY3NmFjNDllOWNBNTJFM2E4NjM3RWMxYURGMDBjN0JGQTdjIiwiMHhCODIzMUIzODY1ODIwZTBDMDQwMTg4NzFBRjU1NkUxMEJDRGM3RjJlIiwiMHg0MzNENEY4ZWE1MEI5RkI1YTAxMUI1ZUU3ZUJENGY0M0JBMTkxMzg1IiwiMHhEOUQzMzEwMjY0NzE1MTFENjBDZkUwZTI2ZTJDODU2ZTA5MzBDQmVmIiwiMHg5YmZDZERkNzYwMTdkMkU5MDlENzBmNThlRUVGM2QwRDgwMGNBZjNlIiwiMHg0ZTg4M2E5N0FFNzBlMzdCQTE4MjhCRmE1YjlhNzlFMDJjNDZDYUU0IiwiMHg5RmEyM2Y4MDFkMEY3Y2U5NWM2RjYwNzA2YjllNjIxQTkzMDlhRTcwIiwiMHg2MjI1ZjZEN2FkNUVhMjU5YTIyMjdEM2YzOWNmODA4RjMwOThBZjZlIiwiMHhhMTI2ZGUwZjFiN0NlQTY1Qzc0YjI5NzM4MjcwNUI2MWFmOTA4M0E3IiwiMHhGNzRmQUQ4NTIzOTUwYTc2MWU1MkVBNzEzNWI4MmVmOGI4RTI1MjkwIiwiMHg0RGVBNDEyNjM4NTJiZDJBYjJEQ2ZiOTdCZDhhNzIwMDk4NzZFMGI5IiwiMHhjMTU1YmY5N0E0RTREOGY2QzljN2U3MUZlYTQ1QjYwYTUwQzhkMkQyIiwiMHhEYjUyZDMwNDNCMmNjMzhjOUIyOGM2ZTcxODYzOWU0QTZFNzc0RTY3IiwiMHhENkIyOUU4RTkyZTBEMTdDNjI3NkQ5ZmU3NDNFMzdhNkY3MjdhOTdEIiwiMHg3REVmZjk1NTkzMzRkNjA5Y2JjOTJlMjRCMDgyODFkNkVlM0M1OTNlIiwiMHhDMkUwRTRlQjFmQ2VBNDYzRWYyMGRkMDA5OGI3NDVBQjVjYkQ3OTVEIiwiMHg4QTgxNDNCNjVFNmRBYzIyNWNiRjAxOTJlOTlhMDk2ZmEwMUZGQTQyIiwiMHg5RTlEMEI4OThjQjUwMjRGRjI4OUQ4NWE5OWZDQUNjOGNlN0FhMTA3IiwiMHhlNjA1NjhGRGY3MDc2MzRBYjI1NjU4RDk0NTk5ZDY0QzViRGEyYTBEIiwiMHhlNTA1Nzg4OWE2OTdCMEQ4NTc4MTkyMjM5Njg0MjFlYTkyZUY5QTUxIiwiMHhlQUMwRTdmRTJEZjJCMUE3M2MyNjRCM2M5MTVkYTlBN2ZBOTk3Y0RkIiwiMHg1YzBhN0YyOTc1ODQyRTM5Mzk4MjcxNDkzREY3NDZCNjNlMjNCNzc5IiwiMHgxNDAyYkFiMUYzMDBlMjJFOWQwQTEyRDk2MEQzZjEzQUU0QTJFMDY5IiwiMHg1REY5QTczMzY0MTNjMzdkNDg3ZDdiN2ZBNTM1MUMzNERGNDFhYjdjIiwiMHhGNjBkM0M1ZUY0MEY2QmJCMDgzNGQzMDg2OTc3MDA3MTg0NjJBOEI5IiwiMHhlN2NjZUMwYzQ4MTgwMTJEMDc4QWMxQkY3NkQzNjNjRkMzNWNmRTNlIiwiMHg1NTgxMDg2Q2QzY0M4NTg5MWYzOUFkRjg1QUE5MWYxZDlmQjdEMzE2IiwiMHhDNzQ4NDlGNTEzOWVjQzJEMjUyQjMzNDY5NDk1NzVmM0Y5NTZkOUI3IiwiMHg1RUVFQWM2NWVlMzY4MGQ3NDE4MDk2NTA0N0FjNjhhQTA2NDc1MzRGIiwiMHhhRjgyNzExRTIzOTk4NUZGZTc4MTBiOUJENTcyMThFMjhBYjY1M0E0IiwiMHhjRTA4MkNkNzIyMTFjMDZEMEQ2NDRiOWEwNTgyQzMwODA2N0YyODNhIiwiMHgzYTg4OEUxNjI3ZENBYThDMmNkNDMwYzEyYjYyMDRFNzkzMDJiYUQzIiwiMHg5NDJiMUJGRTg2ZGQ0ODc4ZmU3YkIzRGYxNTExNUY5MjZEMzM2YjBCIiwiMHhDNzVjYzhkMjMwMGMwN2Q2NDQzODQzZDZiOEFhY0NjOGJjOTQwYWRlIiwiMHhmRTQ2NjhhZTVkODhjNjMzZDMwRDI0NTFFNzYzN0VhOTZDMjUxMkE4IiwiMHhFOTY0RDAxM2QxOTMzNTQxNzBhRDFkM2Q4RTUwMGY2ZDI2MzM0ZjQ1IiwiMHg4MzlGRTBlYTgzYzQ3MUJhQkMzZTRBMDkyODgyYjJCYzk0M2Q5NDVCIiwiMHgzRTkxNzg2RDkxNDcyQWI1QzlBMkVBNzdhYTljZGFBZDNlNDlCNThlIiwiMHhDMzdCRUI4Y0ExZDY3MEM4RTAwRGEzMDcwZTc0OWY4RjU1Nzg0NmY3IiwiMHhCYkJDYWE0M2QxMzY2QWRCMmQxYjIzZDI5N0E3NTgxNzljMUY0QzRkIiwiMHg2QUVhMDI1MUZhZjczMDkyRDAyNzlDNTcyM0NGMzYyQTBjNzI4MWFEIiwiMHhjMWRkNDE5NzhFRDUwMDY5MTg2RkIxNUVGYjJDOTNENjQ1M0U4ZGM3IiwiMHgzZEExMzEzYUU0NjEzMkEzOTdEOTBkOTVCMTQyNEE5QTdlM2UwZkNFIiwiMHhmMDBGN0E2NEIxNzBENDE3ODlDNmYxNmE3ZWI2ODBhNzVBMDUwZTZEIiwiMHgyMTBhOTdiQTg3NGE4ZTI3OUM5NWIzNTBhRThiQTE0M0ExNDNDMTU5IiwiMHg0ZjkyNzkzNjc2NmZGMDI4ZDhjRDU1NjJmMWQzNjgyNDhjODYyMTAyIiwiMHhmRUE0MEU4NjVjM0Q0QjU3NzM2RTJkNDI3NGM2YjUwNzBDM0UyMGQ1IiwiMHhDNTUxNDZmMWQzQjExNWJEMzY0QmFiQzNiODg3Njg2Qzc4MGM5N2Y4IiwiMHhlQkE1RDIyYkJlQjE0NjM5MkQwMzJBMkY3NGE3MzVkNjZBMzJhZUU0IiwiMHhGQjUwMjNDZjUxZTBlYUY1YTI0RDk4MDJEZGU0NEQwODFFNDc4MmIyIiwiMHhlNmU0YTcxNDcwYWQ5NjExNDZjZEVkNTFFOWU2NGFhQjIzNkMyNTVlIiwiMHgyMkNmMGE3OTY1ZTQ3ZENFMzNmMkQ3RDY2OUE1OEUyYzYyNTQzYTdGIiwiMHg2QzQzQjNlNjY0YkJCOTIzYUIyRjQ0YTMwY0NlOGJFM2U5NjhmQzY0IiwiMHg2NjkyNGJDMjhBQWRhZTMyNzczODAwODQ5ODZDRUMwZTYxYTMzMzM3IiwiMHg3NGVmMWQ2QWFmZTk0NGM0NTI0NThjQUViZDg5MmI3REU0NzgzYTI2IiwiMHgzZUVkMEFmMWM1RjM1MEM2NTcxNTI1RDlFM0VFZWE3ZDI2MDhhZjgxIiwiMHg3NjA1RGQ1YWI4NmNhNDIwNGUzOTQwN2JkMzNFMzdlN0E3ZDE1RGNCIiwiMHgwOTYwOThCMDUyRjdjOTJjZjVCOTVDY0JFMzM4Mjc2NDU4MGI5YzA1IiwiMHg1MTQzQjkzNmMxMWM5ODU1MGJGNzVBMDJCQjdjREQ4NjM3NDc2ZjlCIiwiMHgxRjYyRWE5Yjg3NkZBOTZjNmJENDk4MDQ0RjMyMDRkQzYxMzQ5YTdmIiwiMHhGQUVjRUIwNmFkMzJDMmVlQkUzYzQzOTgxRkEzYTA2RkJEMTQyZTg2IiwiMHg0ODkyOTVGMEU2OTBkQTI5YTRFZEE5Y2E1RTg0MDUxMGJCOTMzMzVGIiwiMHg1OTRCNWZFZjU1NjFlNDIwOTg1RmJhRjQzYjgzNmExQzc3OTI0RjI4IiwiMHhiOWZjNWRFMzVCODI5QkFkQkVlMDFjOEMzNjY4NGE0MWY0MDI1NTdDIiwiMHgxNTM5NDMwNDZEYmE2ODA2MmRkNWJFNmRhM0VEM0RDYWQ3ZkQzRWZlIiwiMHg1NUViNzkzNkFFM0ZFODE4MzNDMDYwNUExMTk2QTE3NEMyRkVGOTc3IiwiMHhBNDY5NTlhOEMxNkE4YTEwNDk3QjE0MjQ3NjZlZkUyOGVBNmJhQ2VCIiwiMHg4N2RGM0NmNTQ5NTJjZDExNjU1RTdhMWZiQzgxOURDYjVjYUI4MTI3IiwiMHg2MEU2ZTg0MDAyRkUxQUQ0RTUzMUIyN2NDMDhjZjVFOUY4OGU5QjdhIiwiMHg3ZDM4NzI3OGMzYzFmOWREMTkxMkM1NkMxMUE4QTdlMTBGM0NkMDU3IiwiMHhlYjJFOURjMjI4MTAwMGI0MzdmNTlFODhFMzRlODg1RjNkNGNiMjFGIiwiMHhkOTZiYzQ4YzdEMENiQzc0YmEzNGY1NzJmQmQ0NTE5ZDZFOEMyNGM5IiwiMHgwQUQ4NENEMzdEZGExNTlFMDQ2RTBENTFmRmZENmMyRjMyNjRBQ0Y5IiwiMHhFOUFFM0RFNmY0ODgwMzVjNWQxN0U4RDYwNjgwNmVBNTY1YWI5ZTI3IiwiMHgzRTlhNTdmMjRBQTRiNzc2OTBDMDcxQWQwNzY0QjA2MjhiMjBkNTk4IiwiMHg3ZWVFOTFkN0M4MWYzNkZGQ2ExYTNCNjVCNjgzYkEyODNhMzY0QkVlIiwiMHgyZDZmQjA1MGI5MjhjNjlENzFGMWQxNzFmMkJENjA2RjYxYzg3M2E3IiwiMHhjZmNGODIzODcwODEzRkZlMEY4NkNFMmRkOUUxZUM1MmQ5RDc3QUREIiwiMHhmM2EwOWYzMjVmMDVFM0ZCMTBGNTk3MTU4MzdDODlCZDI4OEI0MENlIiwiMHg2MjQ4ZWY1MjJiMWI5ZDk5YmE2MDUwMTU3ZDVmMTAyNmQ4ODczMDg3IiwiMHgwNTJiMzc2OTM2RWUyYkM0MDk5RGY4QjdDMUY4MDExQTMxY0ZhZjhiIiwiMHg3MERjYzQyNjlCMjc3RmRkRUI2ODk3OWM5Y0QxNUVlMzI2YjI3MTc2IiwiMHhFMTQzODIyOWY2ODI5MWQzODYxYUVmNzQ4ODQ4QzdBNDRCRWYyQTQ1IiwiMHhhMTQxMzAyMzk2YjQxQ0E5OWQxOTI3MjRkYkM2NzNjNjRhRWI1ZkI4IiwiMHgyNTU2OTVDRWE2QjBDN0FlMzg2YTFkNThmMUExODQ3NmNmMUUyNTdmIiwiMHhhZTUwQ2NiMGM4OGU2MDM4QzgwM2VCOEE0NDIxQzY0YWY5RUQ1MTc3IiwiMHg3RDE0MTk0Nzc3RDVGZTM3QmE2ODJjMjA0MTZkRjFFMmJmMzhhQmY0IiwiMHhERmVBMDNFZDFlQzUzMTE2Q0Q2ZUE0NTM3M2NCQjZFODgyM2VGNTlEIiwiMHg0N2ZmQkU1ODMxMTk5OTQ2ZEYzOTZmZUQ3YzlGMkQ2ZTRERTRjRTFlIiwiMHg1OWUzN2JBZmNlMjc1OTZEMzk5YTkwMjc5M0Q1YWQzNjY2ODk2YWEyIiwiMHg3M0I1MmFEMjk2MTQxY2U4MmY2YjIwMGJGZWY5YjM2RTU0ZDI3YmU0IiwiMHg4N2FDYUYzMTI5MzgzMjVDYUM0ZDJjMUFEM2E3MEY1ODliMEMxMUIxIiwiMHhCMmNiM2ZGNDc4MDA1MzcwMURCRjIyYzYyODhjNDYyRDhiOTk0MTdGIiwiMHhmYjZiRUFENzFhNTIwYjJlODYwM0I5NkI1ZDQ0RWUzYzY1Mjk3OTg1IiwiMHhBNkEyZjgyM0JmMDg5YjZhOTBmOUM2ZTBGNDBiRWYzNDBmODgyMDBjIiwiMHhiQzU2NUMzNTUzOUE4MjEwNzU0MDQ3NjRhNEJhMjAzYjVCYjdkYjZGIiwiMHg1MDgxNkNBODUxOWIzNDYwYjg1QTM1YUNGNEVkNDVkZjM3MTIxODc3IiwiMHgxNTY5RjIzMzA3NDhGNzAxZDYzMDhFNzU2MDk2MkUwQ0FiZWQ5RGQxIiwiMHhEN2NiMzM1N2JERDQ0MkQ4QUUzZWYyODQ4NzIxYjc1RDU2MjVmM0U5IiwiMHgzNGU5MkE1MTQ5QWNFZDQ1RjY1MzM5NUY5YkUxNzIyNWI5ODhlOGZFIiwiMHgwODIzMWI5ODZDRGI5NTRBODFmRGNDRTNjNjFFOTE1NTFBYUVFNDg4IiwiMHgwNTdERTIzMjEzM2ZhMjg3NTJkZDYwMDE2ODQ3NTU1ZTIzRUEyNDhjIiwiMHgxMjQ0NkVmOTY0ZDdDYUM2MTRkRTFmYzE3NDk2NTZFRTZlZjgxOWZlIiwiMHhhODkwMDRhQTExQ0YyOEIzNEUxMjVjNjNGQmM1NjIxM2ZiNjYzRjcwIiwiMHg3MkI4Q2I4M0UyNDZkRjQxQTdjQUNGMzJEZTVhNWEwMThhYzRmMTAyIiwiMHgwRjQyNkFiQjAwZjMwNjlFNDhFNUQwMGJBYkNmNTk1MkUzQzkyOTA1IiwiMHg3NUE5RDdlZjlFRUIzMzcwRTIwZGY0OTFjNDE1M2FDMkI4OUE2YWZFIiwiMHgxNzlFNDMzQTdkZjcwZDkxQzA1MzdDZkNBZDM2OEJjRDY2ODMyMmNmIiwiMHgyMDRhRkJFYmJBNjcxMkRmYjE2NkUzRTRjNDAxNjFlMjZkYzk0NTk3IiwiMHgxNzdCQTYzOTBlMzQzNDgwMTUyOTcyNDAxOWUxZWFFQ2M3MTMwNjU1IiwiMHgwNWE4NmU1MGU3NzEwNjQwMUFBNWJFZUE3QThDMkFlYjBmNzc2YzNBIiwiMHgyMGI0NEY0MDlmNUU4QjhjZDk4RkM4QUU3NDJDQkQ3N0NiM2RiZjA3IiwiMHgyZTYyRUFjQ0YxMDA4QjRmMWIxNjUxRWJmRUNmZTYxYzBBREFiRjc4IiwiMHgzNTYyM0ZjQ2U3Qjk2QTAwQUU3MjI2MkFFZjVGOTdCNzE1OGNhNDdhIiwiMHgzNDFDQmMzMDYzNDMyMDgzN0FBQjMwNkM3MkE0ODAyMDU0MjkzNTExIiwiMHhEZGJDY0JCZTg5QTkxZDZDY2E0NkVmZmVCNjI0OTkzMUU5QzNBMjQ2IiwiMHg0NjQ0YmNkYjg0RDY2NWIzNzY5RDgwOWU4YWMxMWRFMjUxMDM3MmMwIiwiMHg1MkRDMzRjOTlEM2M4MDYzNmNDRDFDRkQ5MTg5ODQ3N2FhZDcyQzk1IiwiMHg3QWJDMGQwQ0YyNmQ0MzM5NWZFQ2ZDOENFZGJBN2ZBYzA4YTgyQzk4IiwiMHg2Nzc2OTc1OUJEMDE0NjdiNkNBRjc1ZTVDMmNGMDc2OTQxYjc3MzIyIiwiMHg0OEI3YzdFZjJlNThBMkRCMjFEMjczZGNEZTExNmEwQjUzY2Y4N2UyIiwiMHhjMzM5RGRFMWQ0ZERhZkIwRjRGMjREMzI2NDRmZDEyYjljRDUwZDY5IiwiMHg4MDY2MkFFMjJBMkMyNTY2M2VkMTg4NTY2ZURDYzc1MDFDRjViZTg5IiwiMHhGQjUyNDE4ZjI3MWM5MzkzNUZCNmZlZDkyOTJlMjk5YTk4RmUwMDQ0IiwiMHgxQzU2N0UzY2UwM2FFNDA3NUJjRjlkOGI4N0VCMTlEOWYyYzg1NjBCIiwiMHhFNDY0Nzk3MzQzOTU0Y0Q3ODY3MUI4MWE4ODE4MGNCYmIzNThFNmRkIiwiMHg4MmNmQjdCZmExZkZlM0Q4MDI3QWZDMzMyMEE3ODI0ZTgyNDU1NTg2IiwiMHg3ZWI4NEU1MEQ3ZGMzRTg5MzdhN2IzQzdGZTNDOWQ0NzBEYzA3MkU2IiwiMHgwM2UzOTUzQTE1MDYyQTdEZEEzMkQ1OWEwQWYyYTIxNTI5NzAyQUEwIiwiMHhiNDAzQjVCNTI1NjVhZDAwZTU0ZjVlZGUwMEVCYWU3MTdFNUI0MUU1IiwiMHgzNTc3NjAyM0JDNDIxQWQyMTkyN0RjNDFGYTUxRmZiYTgzQjllNzg3IiwiMHhjZWE2OGFmZWNGODkyOEJGN0ZiMDE1MjE1MDE5N2YzMGVCOUMxNmE0IiwiMHhkMGRBRkNEYmQyNjYyMzIwNmM3QzQ2NUFmQ2JCMTAwNDg1QTM3MEExIiwiMHhEQTczQ2U3Nzc4Qzg3MTMxQjZhRDQyMTA5OTlEZThkOTNCMGEyOGU5IiwiMHg5YmE1OTU5MjQ1NkUyYmZDQWM3YkYzNDhBODZkYzFDYzIwOTY4Y0FjIiwiMHg4NkYxOGQ5Nzg4Y0ZGMDFhOTAwMTg1MDkwMkI5MUM2RjI1MkI5NDFjIiwiMHg0NGRCMDZhNThkMTRDOTRmYTRENzU0MjZBYjM1QTdEZkQ5ZmQ4OTA1IiwiMHhjZDBlNGNGOTk3NjZGN2EyMUUxMDNjRTFjYzA2NGVhMmMwQTRlNUEwIiwiMHhFNmYxYTdFZDUwQTM2NUM4ODg0NjIwQ0ZDZDk1ZjNDRWMxODlFMjkyIiwiMHhFMWMxMTY3QTNCOWQyNmM4OWUwNmRFRDUwODJjOTg1ZEMyQUU2YzdCIiwiMHg1REZiZTk1OTI1RkZlYjY4ZjdkMTc5MjBCZTdiMzEzMjg5YTFhNTgzIiwiMHhkNjAzYzM2OTUzOUFBRUUzMTA0RkY3NTk5MTc0MUJlYmEzMDJkNzRDIiwiMHhBMTE4MjYzZTMyYjg0QjZCQWU0NTg5QTMzMEQ3ZjhjMjVlMTE3MDI5IiwiMHgyOWQzMDc0ZDc4M0MwYjc5YzA1OTBEMjg2OGU4MTMzOUZhZDZDYTBEIiwiMHg5ZjIyNWQyNmNkZjQ3MDI3ZDc1Mjc2MTQwNEQ3RjBhMDFBM0JiM0UzIiwiMHgyQTFENGYzZjVFYTU1RTE2YzA1ZWNDOTlFNGZDNjhjNjUwZURFRjk2IiwiMHg2NUU5MjNjQzA1RWQzNDdFMjk4MDFCZGUzNkU3ODI0Njg1RDIxMjIyIiwiMHg4OGYzN2JENDgzYkVGN0ZDNTAxRTczM2Y0NEEyQWY3MUEyRDFkNzQ3IiwiMHgwMkU2MmEyMDRmQjExNjNmNkEyRERkMjZCZkVBQjNFNjJiYThlRDIzIiwiMHg5MDA5MkUwYTU5ZkNkODY5ZjcxZjNjMEFhQjVkN2I0OTJFNDJkMTU1IiwiMHg5MmYxZWIzMjdCZDQ1RTk2N2I1RThkYWE0MmU4MzFiZTFDRDhDNTg3IiwiMHg1NTYzNjQ3YjE2ODI5MTk0MDAzRDRlN0I0ZDc2QjczNTA5MzQxNDRBIiwiMHhjZUY4ZjIxOEU5RWU3REZBYzlBOERhMEQ2ZmFBQUY1ZEQzODc5NzI5IiwiMHg0NzcxZjljQzA2NUM1YkEzMDExM2QxQzAyNkM2MGViQTFFOTAzNDYzIiwiMHg5ZDcwMjZGYTY3NDE0YUMxZjk4NDUzRDBFMDVEMjVjMDFjMzQyYjkwIiwiMHgzMTFFYjk4MEE2OTM4REUzYUREMGQ5NTM3YkNhRTgzQ2M1RDAwNURCIiwiMHhjRjM5NDc0NDI1RDUyZTQ1MDg1QjAxYUI4YjQ1OTFmYmNDQWJERjIxIiwiMHgxMjU4QzBiYTRBOGJhMGRBNzUyQzQ4QkIzQmRiNkQ0MThDZEJDQTMzIiwiMHhFY0RBMjQ1Y0M2MjEzQTgxNTI5RTA0NjhBMjJiNzIwMzI3OTZhODc1IiwiMHg0REU4MTQxZUViODRjOUNkMTM4YTE1NTBmQzQwZUYxZjg1RUEyNTk5IiwiMHg3ZGNBNkEzODMzN2VmOTlEOWM5REM1NUIxOTg4RkI4OTcxMGVkMkFCIiwiMHhiQ0Q5NDhFNjdlOEY0MWMwRDg4ZDZGMzAzQzQxNDMyNjZjNzg5QjU0IiwiMHhDNTk0NWQ5MjU5ZjViODdDODdjQWIyYjk1ZERFOTUyMkFmYTY0OERDIiwiMHg4NkQ1ODU5NUM4MjFmNTc2QmZDOWE1ODdGNGM4NTFmOGFCQzJDMTJEIiwiMHhiNzVCRmY1ZmUyNzJjQkVBMTQ1MzMwMjgwNkNGRjEyRUYyZDJCNUE1IiwiMHhFYkZiOTE1ZGY1ZDljODA5Zjk1NjRlNmI0NjMxMzQ4OWQ2YWUwMGEwIiwiMHhjQUIyMTU4YTBkRUVmNzk1MDIxRDRGNjhjNjI5QTA5QTE3MWM5RDAxIiwiMHg4NDg1Q2Q5MUQyN2FhRkQ3OTA3ZjQ0YzUxNDcwNjI2RDY4NjZiODNmIiwiMHgyOEIwMUM3QTZGNzc0NDY4ZmMwMzY0MzI2REI4NDlmMzM5OTU1NmI0IiwiMHg5MTAzQkJmMDM5ODg3QTcyRDAxMUZlRkNFMjg5ZTI4MTkyMWZiMmRBIiwiMHhjQzVjRTQzNWZiMkQ2Y0M0RThDZWM1MjQ5NDc0RGYxNDQzNkMyNDQ1IiwiMHhDNkU0ZDAyQjgzNGQ5MWJjMkE3NTMyYTQ0ODBiOEM5NjExNDVEZEE1IiwiMHg0ODMxZTI2MUJiOTBlNDk4ZjY0Qzk5QTIyMmRmYmZEMkM4MjBlOEY5IiwiMHgzYWFCOTRiMTIyMDg4MWFGMDk1ZTNmMDc5Y2RjOEE1RjlCMEY0QjYzIiwiMHgyOEJDMGM3NmE1ZjhmODQ2MWJlMTgxYzBDYmRkZjcxNWJDMWQ5NkFGIiwiMHg1ODU3NzJGODk4MTA3N0QzMDlhOGZGYThlZTQ5Q0U2ODg0Y0U5YzFCIiwiMHg5QjM1OTNlODYyRWNGMGJkMDJjNzNlM2UyN0JmZGVDMkUyNTRlZDEwIiwiMHgxNTZlMWQwMEM4MjJlNmU3QTZGNDdBMTkxMzBlZDMyRjZFNGU4ZkIzIiwiMHg5QTc1MkVFMTQ3Y2NERkUwRDIwRDEyN0YwNjgzMjdCQzJmN0UyM0U0IiwiMHg4YzIyZTM3MTY5Y0I0MjRkNEI3NjE3YjY3N0U1M0VlNmUzMDU0Zjg5IiwiMHhmMDU2OWI2NEZjYTYxNGEwQ0M4NEVFMTQ4YTAwQjkzMTI4NTg2MEVGIiwiMHgzYTRBQjhDM0QzQWJDNGM4NDg2QTY3NEQ5NjE0RENEQjJlQTU2Qjc4IiwiMHg4MDNFRGQxZjQ1QmIzMkU3NzM5MDE3YWJDODE0NTQ0YkM1ODE5M0Q3IiwiMHg4MjI0RTVkYWRGNWNjRmU0NTI5QkNmRjc1MDM4NENmNDdFRDA0MDY4IiwiMHhjODhhNGNlMjZFQTgyNjY1YTdlMjlFQjVEOTZGYTJEOTdkQjcwNkU1IiwiMHhlNTNFYmFiNEYzRjIyZmUzQ2YwOTY4ZmFDMDg5MzYwQjVlMUQ3QTRmIiwiMHgxNTEwM0QxODFGYzkzRTMwQUJlNDBEQ2M3QzI4Y0VGNjMzMTg2NTBiIiwiMHg0QWU1QTY3MzY5NDU3MTY3NjA1MGU4NTBhRTFmMUE4MTRlM2FmZDNCIiwiMHhGMzFhNzEwRTM2MTI1MTVlZkYyRDNBODE5RDg0NzIzNzYyMTA4MzMxIiwiMHhBNzQ3YUJjQUJGZTI1YTFBMjQ4QTk3NTRFQ0EwMzVhZDNGMTA3NzczIiwiMHg3ODQ0YzA0QjA0M0I1MWRjNDVCZGY1OWVlMkRlNTNlNzY4Njg2NWZmIiwiMHhmNzVCZDY4NDJGRGE5OUVmMDc5ZENiODBkZWUzNkU2ODE2RDAwNUZGIiwiMHhkNDQyYjE0RkZkNWMwNmViREQ5Mjc5MGE1MTY0REMyNTIyOWU5NjM3IiwiMHhiNjVmZTNDMDE2MTdEZkI5MzYzODMzMTkzZERENzFGNTliODBlQkE2IiwiMHgzMTAzYzlGYzBjMDk1ZjNGNjUxM0JBMDY2QUJDNTVhODg1YzkzNDRDIiwiMHhDMTU4NzI2MjVCNjcyQWFmMjU1ZmQwY2Y1Zjg0MjJGQjM5ZjI0OTdkIiwiMHhjNzg2NGJhNzA2MjJEOEE3ZjhDYmIwQTZhQTY3YzhCMzM4YzQwMjY5IiwiMHg2MDVGNzg4OTBFNDM1RDZjYzYxMzE2YzQwYjJkMTNiYzZBZEJEMUVhIiwiMHgzMmFhMzVkZDQ2YjQ2RGJENDJGNTFBNUEzRkY0MjkxNWZjOTBFQ0Y4IiwiMHhlMGFlNDMzNTBlNmJFQjhlNzg4Qzk5RGY5MkIzMTc4QjY3ZWU2RjA1IiwiMHg1YzliYTNiNTI1MUM4NWExM0NmMTY5MjVBZjNCMkZiMDlhNEQwRjQ3IiwiMHhENjY1OWRFNmQ0Qjc3QjY5NDA0ODAzMTdlMWJFMTQyODc4ZkREN2I5IiwiMHgyODgwQzY5RGRFQkU4NUI1NTUzMEE2RjYzOTNjMzQ1MGY3YUIxQUY2IiwiMHhEOENEM2ExQjgxNjMzZjc3NjM0YzhiZjNjMjI1NWQyOTg0QTAwNDg0IiwiMHg1MjRDOGE3NTYzMDM0YUEzM0Y4RTUzQTkzNDkwOTkyOTAyNEMzOTM3IiwiMHhkNDg0MjFmNTdmOUJBRjQzYjc0QTYxMGVmMTA5NTkzQjJEQjU2OEYzIiwiMHhhNkIxMjk2MDc1OEM0NDE2REMyRmEzZWE5Nzc4QkJhMUFkRjlmMDY5IiwiMHgzQ2I4NUZFYzc2NjljMUNkYTRFNzJEZjNmQ2Q2OTYxMzQxZDhiZmJDIiwiMHgzOWNBMDc0OThjOGVjQ0IyRjcwNUZCNWNlNzI0NDNlNDVFQzJlMGY2IiwiMHg1NzQxQTFDRWZmNjE0OEM4YWFDQTBGMDQ1NkMwM0M4ODgxN0UwNUY1IiwiMHg5MUI2OUE1QTBiYTM2YjU5MGMyNDVhZjM1MUM2MjIzQURkYzY4RjkxIiwiMHg3YTU0ODg4N2JhMzFlMjYwMjA1ODU4MkY1OWE5RTIzMkRmMGYwMWYzIiwiMHg0MWZkNEZBZmQ3ODA4ODkyOTQzMTFlRmNiMDcyN0JjNkJFZjY5ZjM5IiwiMHgxRDFBMDhiOTBDMTMzMTFCN0MyODRCNUZiYzdiMjMzRWRBQkYzNzJGIiwiMHg5M0IyNmEyNkVCMDM5YjU1MzhkZjczNzhiNjI1OGVCNDMxMDc3NmI0IiwiMHhFNmYxZjhDRDdBMDgxNjVDODk0MjlFNjdjOEMxRmU3NERmRTk3OUY2IiwiMHg2RWIxY2U2OTgxOGE2NDM5N0VmMEY4Njk1MzY3ZUY0ZjJjYTJhMEU0IiwiMHg4YTk1OTU3YzlmODdjMEQ3RTYwMURBYUNlMDgzMmQ3NDA4YjQ3YTBFIiwiMHgyQTAyMkU1NzgyNzgxN0Q4NzI4QTM5NTM1MEE4MDcyMDNjMTk4OTU3IiwiMHg0ODRmNTkwOEU2Nzk0MzEwMTZEODYzM0YzRDc3NTZkMDVCNDZlNTk2IiwiMHg4OGRDOTdlODJkQWE5ODc3MzdiQzFkN2Y4ZDE4RjBiRTU2MTk4N0RkIiwiMHhBOTBhRmExMjVmOGI4MzMzMWIyMzYxN2UzOWRjQ0VkRjZCZmQ2RGI3IiwiMHgwQUQ1MjZGMDA5MzQ0MGZhZjk4ODY2N0MyNzcxZjhGMzk5Y2Y3ODM1IiwiMHgyNjAyZGExNTlkMGM3NDE1OWFlQTFGMjAxYzU1MzZhRjAwNzg1QzJDIiwiMHg1MjNiYjA5MzhlMkQxZjRkMDJGMTk2MjIzM0REODE1MGM4ODhlMkM1IiwiMHhmY0VkNzdlMURiZmM5ODMxMkQ1MDQ1MkE1RWFBNTg1MkY1MDVCQmU1IiwiMHg4NmMxZDYzNDIwMTEyNDA3N0VDMzMzOTRlOGNmMjJEODQ5YmUxMTA1IiwiMHg2OTk5MTdkNEE5OGFFNjlhNjUwY2YyNDg3N0FGRDM2QTllNzU2YzEyIiwiMHhjMjY2Mzk3MTUyMkZEYzVEMmM5RTQzNUI0MkNiOTI3MzEzQUEzZjRDIiwiMHgwN2Y3NTIxRTExMzM4RDdEZmE5NzY3YzE1MGViNjdGNEE0Rjc3RmM1IiwiMHg4ZUNlMERBMDk0NmFCNjE3YzdlYjU0RDE2NjgzMjFjMEI4N2M0NjM4IiwiMHhhZDkxNjcxRjVlRTY5MWJhYzMxNjc0ODQyNWYyYzVhNTBCMUMwMjllIiwiMHgyZEZlRTgyRjQyNTBEZDNGM0M2ODExYzVEMjkyNmVERThCMzdBN0Q1IiwiMHg3YWViNDg5NTdmZWJFODI2RDhCZUMxNkJmQThGQUIwYjk0MDNiMDcxIiwiMHhjN0M0MDI3NzExMTIzODlmOGZGRDMxMGI3NTUxNjM0NGRjOGFiNmI1IiwiMHhmRDAxMDEyZDhkMThGMDcwOTVhMjhmOTJhZDU3NkI1ODc2OTFhZjIzIiwiMHg1NGFCMDYwYjY5MWMwMTE1QjA5RDg0YTJhMkNmZGE2MEI4MzBDODVFIiwiMHhkMzFiZjM1RTQ4RjFkMDM2ODhhZDUzZDdFODM3MjZENzU1QTgwMmQxIiwiMHhDY2Q1RDQzRTY2RjNlNWFEZTM3NmQyZTg5NDg5M2NCZjM0ODU1YUQ4IiwiMHhiRDM2NjIyZEZjMGExNjE4NTVkMTlkNTcxMTE2QmRDQjlEOENlNDU5IiwiMHgxODIzNmEyQWJEQWE1ODNiYTMwQzRBMGNmMzMzNDUzODdGY0VkZDRhIiwiMHhjQzY2NzdEOThiN2Q1NUUzY2Q1NTc1ZTQyNmNGNzExOUE5MjkwRjhEIiwiMHhjQjgyYUM1RTE5Nzg3MkQ0ODAxNTFmMUY0NjM5OGI5RTkzQjcwNDhhIiwiMHhiNzRGMzU4OWI2RWI3ZERlRTJhMDk5NjIxYjI1NkJmZjk5OWViOEE3IiwiMHhkQWI5RTA0MGRjODY5MTBFMmFkRTU3Q0MwQWVjODJENjQzMWRhREY5IiwiMHg5MUY1ZDMxMTIyQmY5NDg2QTI3Q0Y0NTBFNjQzNzM1NjdiYUUwMTA1IiwiMHhiM2VGMzFERDFiOUUwODM2OEQ3YTY2YmVENjJkM0JCODQ0RUI1QUI5IiwiMHg4RDVlMEMzMUVhMzc1REY5Mzk0MzM2QTAwRWZjNUMwQ0M5OTY3ZjYzIiwiMHhmODNlNzY3MWQ1NDUxRTE3ZDUwZWZiM2I3QkQ3RDQ3MDg2OWEwNjA5IiwiMHgyMzk1ZWRBRUI2NDdmRDQ5OTE1NjEzMDI3N0FFQTI5RUI1NDE0MDQ2IiwiMHg5ZEUzMTAwRDIxOGE5NjBGNTA3MzlhYzVCMzUxN2ZlOWIyNzZGNjIzIiwiMHg4NEIyNzlGMDQxQ0IwMTAzRTViMzJGNzRCRTY3YmVhNThkOTI2ZEZGIiwiMHg5NjFBRjViMjBCNTFCMTJDZTU2ZDdFMjBDZDhhNzViRUY5Mjg3ZTdDIiwiMHg4ZDA5MDcxMzgyOTkyZjIzNGFkOTg2NjEzOGIwOUM5MEY1NjgyM0ZjIiwiMHg1OWEwY2UxMTkxMWIxNGFCRjIwMTEyNTNEZjAzZDY2QTYwM0U3MTFGIiwiMHg5OTQyQjkwODdEOTRGNDJGYWFGODcxNTAxMzUxM2UyRjg0NzU2MUNhIiwiMHhjQWVhNDA4Mjg0ZURkOTgzNWMwZGZkOTM0YTM2NjBDYzU2YzlENzg5IiwiMHgwY0FERGM3QzhCM2I5Y2Q3MTI0MDE5RDBhNzkxNjc1MGZiNTdkZjM1IiwiMHhFQWJmN2Y4NEI1MTBFNjc3NzNCOENFZWJmRTJFMzE5MWQ0MWMzNjUwIiwiMHgyRDViQTBhQThBNzc2YTMxMThiMmNjOTZhQTMwMUE4NUYxYTU0MmJEIiwiMHgxNDM1RTJGMEEyNjBmOWZiZUJjYUQ0NGI2RmJBNTk1NGIzQzY2YUMyIiwiMHg2NTI0Q0E1YjgwNkNmNWYxRDg0QzI5MkI0YkMxMTEwNjI1NmZjNWFBIiwiMHgzMDI0M2FmODU2MzNDRjgwZENDQjljMTdDMzY1NjREOGYyMzFlNjI2IiwiMHg3NDlhOENENTA1NkNFRDYzZUVjNDUzNjE3YzJDRDdCYzIwQzQxRjI1IiwiMHg5RDAzZTVERkQ0NEFDNDFhMzNhMDQxNTEyNTczOTBiRURGNjg1OEFkIiwiMHgyZGI0NDJEQ2M1NjQ0NjRCNzdmMGZENDQ0QTI2QjU2RTgzYjZCMzgyIiwiMHg5RWM1NDYyYzlhMUY5MTlkQjI1MUVBZDBkNzVlRWE5NmRlYkZGQTZlIiwiMHhhMEFCZGExRjk4MGUwM0Q3ZUFEYjc4YWVkOGZDMWYyREQwZmU4M0RkIiwiMHgwN2FFQzdEM2M1QjA1M0ZlMDBjMjgyZUQ0NEMyOTJiYmNERDJGZjE0IiwiMHhhOUI1Mzc1YWVDNzkxNzA0RDIwMjhEYmY2RTc5RThiZUFBQkNFMDhEIiwiMHhCYzk2OEFBODIxNWNFY0VmNWQzN2JmNzdmOTZFNjllNzI4OEFGRGZFIiwiMHgwNDQwOUEyQzU4YjVBYjljNzNBMkQxMjdiOTcyNTQzMUExOUYzMEE4IiwiMHgxYTlFNDU2MzBhNzA5YWZmRTQ4YTAwOGQzMjYzRDhEMTY3OUI4QmRjIiwiMHhlOTIzNGU0OWI1NkU1MTM0NDdiREU4QjQ2ODQwNDJBYzk2MEJGMzY1IiwiMHg2NWVFZDBkZTExRjFCOGUxNzBkZTg5NTYxNjM4QTU3ZkRhZjY1NjZGIiwiMHg2MGEyRjMzQTM3NzYwN0IzNTczZUU2ZUNDZDFhM0YzMzY3ZTEyZmMwIiwiMHhBZDFBMTIxNjI3MDNCRmU1QzI1MGVkZjU5NDg0OTY0YzIxRUUwYmY2IiwiMHhkMzYyMTZENzU2NjQ4OEM3NzdCMUI4NDRmZTgxMjM1ZjIwOWE1OTRmIiwiMHhkMUJjNjY2NjBiQTdlZEQ2NEYwY0M0NDJjYTVGMzJlNWQxOTlkZmM2IiwiMHgwQTA2MzM4ODVBRDM2YWE3MTUxMkMwMEY4ZmFhRDZBZjZkRDJjMDFlIiwiMHg2M0VBNDMzQThmQmQ1YmNDMjlGMTU2MmY3Y2VjZUQ4YmM3MTQwYTU4IiwiMHhlOTRDRUUwQTE0Yzk5NUVjY0ZhMmY4NEFCYTA3MkNhNWUxOTExZTBkIiwiMHg0ZjMxODY3ZTI3N2I4N2NEMDM2NDM5QkNGZEZiNTIxYjUwRjEwQmQyIiwiMHgzYTYxREFENDBmNUNEZThDNjAwNGJkNjc3NzM5Q0VCNjc4ZTA5MjVGIiwiMHgzMTFmODIwNzFlMUM0MmU5QjhjODY5RGQwMUYwNmUxZDg5RTg5OEFFIiwiMHg0MjkxQTZlMzQ4ODhEYTc0ZjBCNTIxNDQyYkQ3MTUyODhlMDJmMGFhIiwiMHg2ODFhMUM4Q0NhNTU3QjRhMGM2NjcwRUYyMDk4MGE0MDYyMzg3NmQzIiwiMHg0MDM0Y2I3MTEyOTEzMEQwMEM4Mzc4OGVDYUVjOTlFQjE2MDQ1OTMzIiwiMHgzMTQwMEE4RTg0NTc2MjM3MGFhOEJDQzJEZmE5NEZFYTlmOUI3Mjc4IiwiMHg4OWY4NEZiMDg2MkZBMWI5ODE4QjFGNjY4ZjlCMjI3ZEE5ODY0Njk2IiwiMHg1QTE0NTMxYUFEQkYxNkM5OTM2NDE2RTk5MWVGYkQxMTQ2OWI3NTNDIiwiMHgyQTAzNmRCM2E2NUVEMmNjRUZGMDQwNUI3MEM0YTc3OTVCYzAwNDYyIiwiMHhFNDY4Mzk1NzBGNDk5MTQ3OUVjQ2NiRjZkMDkxNzhmNEIzNWUzMDVBIiwiMHhFNmM2NDM5RTdhRGJEMDVjNzRGNTg3MTM2QTQwQzBEM2EwZDU0YjY4IiwiMHhjMDk2ZTU1MkExYTc0MTJCNGEyYjMyOUJFZTZCQmVCNGQ3MzBmNjQzIiwiMHg3OTAxMDBiMDI3YTM4YzU1NWRCNTA5ZmVCQ2QxRjAxOEFiMjdGMkFlIiwiMHhkQUFBRTYyMGQ5NjYxNDAwMTYzM0M4QjYwMGFhZThBNzM1NzE4RDRGIiwiMHg2N2NkMjY0NmVkOTFkOTQxMDljNTRjZDc2NEUwOTkyNDM4MkFGQzJiIiwiMHhkOTI1MTFiRDYyYmRkNDhmYmJjNjYyQTQ3OUM3MTk0YmIxNDZEZmE2IiwiMHg0MjkzM0NDZTFCOEQ4Y0I4YjI3ZjkzMzFhNTYwOWEyYUUyNTVFZDc5IiwiMHg1MzM3YjFCMkNmMGQxMGYxNmIwQzRFNjQ5NzAyY2YzODQ1RmU2MzE1IiwiMHgyM2U4MmZlNjU2RDUwNTYwZDY0RDRGNTg4QTdkZDA0MzUwMGNlZTJmIiwiMHg3OTM5ODIwMDIxNDdDZjQ4NDZDYjQ1YmE5MjlCMjlEQjQ1Y0VFQWE5IiwiMHg4NzBlZjkyZjljOTUwNjkxNDFmRGEyQWFCZmQ3MzY0QjY1OUQyRjZGIiwiMHhlRDE1NDg4MDVFQjhhNTc0ZDEwYjMzQkJhMTZkQkQ2NEFDOGQ4NDJkIiwiMHhCOTBkMGJlNTA0NGQ3YjAwOTQ0MjM2Qjk4NjMxNTZjMTA4ZjcyRkNEIiwiMHg1QzU2RGY0YmE5MTNDNzJGRUQ3MDNBOTE5QUI0RDZiNWU5NTZGODFDIiwiMHgzN0IyMGZGMzBEOERlOWQ5MjZBOGM1NDQ3Mzk2NjBjQmQyZTcxMjNmIiwiMHhBMEExOWM2ODAzN0EzNTA5OTJjZDMwRDYzNmU0OGRjNjU2MTlkNTRkIiwiMHhDYTcyMEEyYTA3ODJjYTQzRDg3NjVhYzg5NUY0MjczNTE3YzVENzVBIiwiMHg4ODY2MzkwOTBGMDIwMDBBNUE4MEU0MjMwZkY5ZjAwN0E5OTk3NTMyIiwiMHg5RTMzZDUwZGEyY0ZiMDk4NUY2Y2MzQzRFRmE1NUFmOURCNTY0NjVjIiwiMHhFRDFDRTJBOGZGYUMzODUzQkE2MTNCMDQ2ZjFDNjc0NzdEOUM2RTcyIiwiMHg5NzQzYTQ2OWMwMUIxOTE0ZURmMUI0RUEyQWVFMjAwQUREZkVBMjFCIiwiMHg3NjlhMGU5RDgyODljOTFiOEQxMTU3OTBkNDMzMmRhYkU5MDM4NTAyIiwiMHhiMWYyNDNGMUVmRTgyODg4ZTI2NjAyQTY2MThhM0RCMUMxMmIzYjExIiwiMHgyMGIzRDczNmE4ZDM3OWM4NjZjQkJhNjg3ZmI1NzQ0Q2VlMUNhNGI0IiwiMHgxNjg3MGE1ZjkyYzEyNzVjQjJlZTdFNkUyNTY5QzhEMjg5MEY3MERGIiwiMHhGNEZmREVFZjZERDAxNDkyMjc5MjU2NjEzRkJhM2FlZkE3MkFDODU4IiwiMHhFQjVDRkFEOGZkMmFGOTExOGIzMEExRGJBMGU4Njk2MjFGNDVjQjRDIiwiMHg0QjM4NjAwQjIwNjgxQmNGNjIzNTg2OWY1MmI0Y2VEZDUxRDJEOTE3IiwiMHhmMjYwNzZmRkFGQjhDY2FFOTE2MzUwMEQ1OUY4MDc0MGZDREIyY2JCIiwiMHhBNzRlQzA4NGVhRjU1ZmFCQTc0Q0FmOGMyMjAyZTA3MkU5OTFFOTUxIiwiMHgyOTFCNTJCRkE1YTcxMkQ2MUJFQTI5QUFENDQ2MzVhY0UyNzQxMjJDIiwiMHhiRGYxMjQyOWQyYzFkODI3MzVlMjE4MDRmMTVhMWE3M2I5NzQxRjc3IiwiMHgzZDk3NTYzZEY5MzEyNzUxZDU4ZTkyMkI3M0MzNjcyNGE1N0M0Nzc4IiwiMHg1ZTEzNDlFMTZEZmQzMzdCNzZFMkI4RDVCRDMwZjg0YTE1MzJiQTc5IiwiMHhDODQ2MTRGNDY2NjBlM2EwYkYzOGQ4Rjc4RTA4NzY3NTBiZjZjQkY2IiwiMHhCNzMzNzcxQTQyOWEwNTNEYWE0N2E3RDIxOWUwODM0YzU3QjA0YTg3IiwiMHhmMmVERUFENjIwMTVDMzFmOThjOWJBZGU5NjVjNjU3QTM0RkE4RGRGIiwiMHhmNEI1N2FCNjBjNWE1M2RiOTE5OTU4YzY0NjcxYzhDZjFmODU1NUU3IiwiMHhhMGNlMTQ5Y2UyNDAzOTVGYjllMWYyNzFEMjQzYzgyMDlmQTk4ZjA4IiwiMHg1ZDE5QWJiRDk3NDNBZDdFM0Y0MzM4ZDViMGUwOTQyNmJDODY4MTlCIiwiMHg4N2M1RmUzMTQ1MzAzMTU2NGUxYzgxM2JENDIwRkIwY2FGYmU1QkU5IiwiMHhFNjkyMjYzZDc4NzkwNzE4MDdBYkIwZTRFNWNGNUYxRTkzMjM4QmQ5IiwiMHg3MzkyNmI4NjA3YkQ0MzM5ZWQwNUUxYjI0NDMwQjhmYTk2MENjMzdkIiwiMHhGMjk3MzBjMGZFNzU3ODI5NzY1ZmM0OTc0MzRBZDRhZWIxZjQ0MEZBIiwiMHgyYUEwRGU0ZDE4MzBjQUM4ODE5MjkyMDczRWJDMkQxZmVDOTM3ODhFIiwiMHg2QmQ0MThENjUwMGU1QTRlMjYwQjk0QzE4YmE2RDlCRTUwOWU1MzVlIiwiMHgzM0I0OEZDZmJGMGZCOWIxMzQzQzhDYjBmMjg3MzVDOGEwRjg1RjYwIiwiMHhmZmMwYWNEODg0NTU3NTUyNEM2RTVhMEZCNDdiMzA3MGYyZDFkNDJmIiwiMHhhNzlkNEZiM2REQzA5RDY0NzgwZjk0OWUwOTcyNEVERUFEMDFDNjU2IiwiMHgzZGU5ZGVDNWFjYUJFZGYyN2JkMzIyOEU1OTQyMjkwNkY2MjYwZUZGIiwiMHg2MUFFMzIxMTdkODM3QjYwM2JlQjYzMzMzMDM1QzkxNzc5RTZEY2YzIiwiMHhGMTZCNmExNzkzQUM2MDNFRkQ5ZjA4MTlGRjEyOGI3MGVCZmY2OTAyIiwiMHhlYWNlQUM4M0NFY0NBNkJFZUJjNzM2RURkNjM2MGQxNjMzMTc1YjAxIiwiMHg0MzBmRUU5MzY2OTg1ODc3OTIzNDAyM0IwNzhCNjM3QzY3RWRBQjBjIiwiMHhDYzZCOTNjRmZENzI4NUVGRUQ1YTA4ODY3Mzg4RDg1NENhYmI0RjVjIiwiMHgyMWY5MGE4MkY4OTI3NDg4ZWE2ODJDQ0FjNEJDN0M5OEQ5QmRlMmFBIiwiMHg3ZTBBODY3ZmU0MDU4YjZhNTgyNzYzMDY3Njg0MjBmNDVGNjM2MzdCIiwiMHhlYjc4OWU0MGI1N0NDM2QxMTljNjcyODY5NjgzOTkwZDdCYzFjN2Y2IiwiMHgzNmE4QWE3ZjY0ZDUwNzZiODM1RWRiNzY1OTQxOTY4MWFjMUYzMWVlIiwiMHhhYzg1OTRjODZGNWVFYzNEMkY4YjQ0MDEwRTFDZjAyNkQ4MTVFOTEzIiwiMHg2NTM3ODBFNzdkNEM0MTY2QkI1RDAxOTdkMjZmNkEzMzVGNDkxNDFhIiwiMHgzZjY2OWI1RjhBYTJiQTM4OThGNzQ5QmUyNjJCOUNDRDRlYUZmNjY4IiwiMHhEYzI1MTMzY2E0NTljNjFGY0Q1MDg5ZjEyRjAwRTdDMWY5OEQxMkJiIiwiMHgxODMyMzM4MjIxZUFiOTkxYzg5NzQ0REEzMkIxMjY1OEM2M2JkNEZCIiwiMHhlMmYwMjE0MTFhMTVmNjc3MTAwQTc5RjFCRjZBRmQ4OWQwMEM3NzhiIiwiMHhCRTczNDhCYzNCMWI0NDE4MGIzNTE4MjMwMzVBNzUxZTBjOTJDMDk3IiwiMHgxNDUzNUM4NUY2YjMwNDhjMDc2OUY2MzY0YzhDN0VDMmRjYzQ4N2ZmIiwiMHhDMGJkN2JjNjY1NTQzNjEwNzZlMEVhNDNGQzVEOWRFZDFkZmMzQjQwIiwiMHhiQTViQ0E3ZGUxNjdhZmE1MjE1NjEzODM4NmE0MTU1NjM2YjFDN0QyIiwiMHg3NDgxRDU0RTk0QjQwRjhmMDQ3QkU1RDRGMzY3NDY4M0RiRTA1ZDA3IiwiMHhDMzI5QkMwNUNDOWZiNWY0ZThkQTEzQmY2QTg0OUQzM2REMkExNjdiIiwiMHgwMWIxODkzMjQzRDE5NUVhNDBiQzI4OTNFNTc2NTIzMWFmMDlDRTRGIiwiMHhjZDI0ODgwNmIzRjgyMTg5NDNCYkU0NTAxMzU1ZjJlOEU3N0FjMDIyIiwiMHhGQjNiNTZCN2MyMGJiYjg3ZTUxOEQ0ODk4NTIyODJDNjNDNDc4RjZlIiwiMHhmNTQ4QWU1N0E1ZjAwYWI2M2Q3NTQ2RjMyY2JlNEI5OENFNjE3NjZFIiwiMHhiNWEzREUzOEQxY0M5MmExRjk1RDI1NGJlNjgzN0EzMzhCYzU3RDQzIiwiMHgxNmQ3MURBRjA1MTQwNjk0ZEEzMTc2OGYzMTQ0MDdlQmMyMTdiMUUxIiwiMHhCYzNEMjFGOTlEMDkzQ0NEMGUxMzBERmMyOTE1YjY2ZGI1NTUwMzFDIiwiMHhCMjA5QTliREJkNGUxNDMwYzcwYTgzODA1ZjkwMDkxZDBERWMyQzJlIiwiMHg2REJjN0E5MUUwMkI0NUYzNDZkNDIwODQ3QzhBMkVFZThCRjRjOTMwIiwiMHgxMkM0QjY1RTRjNzg4MzQ3MzNjZTU1YzJCNjdmYjlFRmIxOTZmQjRjIiwiMHgyN2Q2OGMwNEU2OTVDZTNCYzhDN2M3MjJmZmY1NDFBNjkzMzZBYUVhIiwiMHg1OWFmNUE4NkY2OWI2NkQ5OTE4NEY4MDAyMTFhQzY4ZThBNEE1OTkzIiwiMHgyMjUyRGI0ZDA4YTEzOWZGMTg3MDMzQ2JFMTkwNjRBMDlkMDNkMTM5IiwiMHhjQjRmOTgzRTcwNWNhZWI3MjE3YzVDMzc4NTAwMUNiMTM4MTE1RjBiIiwiMHgzQzJhODEyNDVhMTNkOTgwZDE2Q2E1Y2I3MjRDODBjNEMyMGJCZDc2IiwiMHgyMzVkRmZBMTRCRTE4Mzc2QjY2OGM2ODIwOGVFNjQyMzk0NWVCNjRmIiwiMHg0MEVEOEZlYkM5MEM0N0ViMzhiMzIwOGVBMDYxYUU2NGJlODE0MTRCIiwiMHhGMkZiYzcwRmVBNjNGRDE2NUVkYzRDNTgwNEQ0RUMyZDAzQzFGZGJDIiwiMHgxRjIxODc5NTA1NDczNjI5NjBhNzA3QmIzZDNDMzliRWY2MEZhZDc5IiwiMHhGMzgwNjg4NzM4Mzk5ZmJDOUJFMkNENjU5QjA4NDBjRGNmNTU5ZENFIiwiMHgzZWExYWI0YWY2N2ZjNzY1NzA2Mjg3ODI1NzA5OEEwRTU5MzAxZmMyIiwiMHhBQ2Q2RDI2MUJhOENCZmJGMTNhNDlEMGI0MDE1OEQwQTc2YUYwNjVkIiwiMHg3NmVFRTdmOGVlMzY3OTYzMjExM2FhNTE3ZDhhQTExNTJjNzU1ZjRGIiwiMHg0RmY3MjlFRjllNzA1ZjNCNUNBMzdjRWU5Y0FCQWRBMkUxMDg3QTkyIiwiMHhCOUVlNWM5MDY3ZEIzNEUxMjY4RERmZmExMmNjMjU3Nzc3NDZhZmJEIiwiMHhEQ2FEQTllNjBjMjgwMzgyMWM2MzNiM0E2NzgyOUZmRGQwREU0ZjA4IiwiMHg2Qjk4ZjhlMTkyNjdFNzIyNjcwMEE4NENhN0RhNjU5ODc2MGViZThCIiwiMHhhQzk1QjkwOGI2MGIyYjY0MDg2NmY4ZUVCZjJDYmE3NkMxNDQxQmE0IiwiMHgwQmIwNzNkQzY2MjhiM2U2YWVlQTIyMjAxZUQyRWYwNzY0OTc1NjlGIiwiMHgzQzQ3N2ViODhFY0VEYTg2QTdkNWY2NDZCMTI3QTcwNDIwNjQ1ZjhBIiwiMHhkODNkMWY4RjFFZTU2MTdBNTBBNEViM2U1NTczRTZhZjM3QjUyYjNBIiwiMHgwZTU4N0QyREIyOGZmZThhMGFGODY0MkM0N2YyYTk0MjNBOTI0ZDgxIiwiMHg1NzJkMDBBN0ZhOTdBMkRlMWE1RTQ0MTQyRDBEYjZDMzhlNzgyRkI1IiwiMHg4ZTY3NUM0Y0NlMTFkMkY2RGY3QThCQTA3NDY0NkNGQWM1NTQ3NkZmIiwiMHg5OEJkYTlhNWY0ZkEyY0U2ZDlGNWM2OUFiOTAyNDQ1YjVCZWI2NGJCIiwiMHgwMTlkNkQwZkM1QTBFQjQ5RkJBMDAxNDIwMTZGYTY4NzliZWQ0Qzc2IiwiMHg1OTJmQUUyYTVjOTc5MjAyMUQ2NGY4NEM2ODk1OTZBRDYwNzBlRTg2IiwiMHg2M2RlNzk5NTUyMTQyMzUyQUFlNTliN2NEMzk4N2M0MzFCOThmRGU5IiwiMHg0MjQxRTA2RkNlYjQzNGIzOTdCOEFhNzY5OTZFMEE1NzcyOEZmRDFGIiwiMHhDNWZGMTJiMjljMkY0NmE3NmNGZTVGQzgwY0ZmMWUxNDc2NTRmQjY0IiwiMHhCNTBBRjYxMDdBNjQ0ZEI2MTU1N2Y4NjU5NTNiRUZlNUY5NjE1Njk0IiwiMHg1OTA4MzU5NTc2NTE4ZDAzMmFlMGFFZDU1NjQ1NEVhNWIwOTMyZUVlIiwiMHg4ZTEwZjA4OGUwYTA0NmIyNDY3Rjg5MTE0NTIwMzgxRjJiNWQ3ODczIiwiMHg5YzU5OTk2NTNGNDQ2NzIzMzZDMmVmMEEwMDA4NTg3ZkE4Yjk5NTdFIiwiMHhGOTNBY0IzNDFmYzYwOEFjODUzMDc4YjRDQ0YyMTREQzY1RjdlZDlEIiwiMHhBNkJDMUY5MDc4NjMwOWM2RjQ3YkE2NzM2N2E2MDQ2QTg3QzdGNmZCIiwiMHhlQTE4ZTg2NjhDRjk5MDFkMkE3NkM3MjczQjBDMEFhM2JEYzE1RWNGIiwiMHg4YWM4RWYzYmI3QjJGMzdCYWU3ZDE2MzQ1NDFlMTM5RjE1Qjc0QzM0IiwiMHgyOUNlYTgwRmUwM2VmNjE3NzE4NTA2RjgwNjNBMTM2NmI0MzRBODBkIiwiMHg0QjQxYzhGNzUzMUI1MjFBQTY0ODkxMDY5OGQxMmZBNTNCOWUwYWMxIiwiMHg4YWE4MjgzOTcxODI0NDZDMUVCNGRDNjBiMzUxNjYxZTM0RUMzQ2NhIiwiMHhCNEQ4RTgwYUY5MkZFN2QyRkI2OGQ4MkIyMGJhZTZmY0U3M2YzMmU0IiwiMHgwNDg0MEVhYTM0OTdFNEMzOTM0Njk4ZmY4ODA1MENlYjk4OTNmNzhGIiwiMHgzQ0IzM0Y4NjZlNjhFZjQyNTA1RUZDMWUzMGQyMTAxMGREYkE4YTMxIiwiMHgyOTQ3OTZiYTJDRjM3OTEyMjQ5QUQ5QkIwRDM0MEU4REMxOWY4QjE2IiwiMHhCNkE3NDFmMzdENmU0NTVFYmNjOWYxN0UyYzE2ZDA1ODZDM2Y1N0E1IiwiMHgyNjAzOENhMDIwNEEyOTE5N0Y1RjE0MzA0M2NmRjQ4NDU2MWY5YzBCIiwiMHhGMTk3ODNhQ0UwRDgxQzA2ZTUwMWYxMTkwRDgxZTNmREMzNEYzMGU4IiwiMHgzNjcxYTkyNzUzOWJEMUYwNzczMzYwMTE1NjdFN0M1N2VCNTIzNDA3IiwiMHhjYmEzOTdFRDVDMDEwQUNlNUEzMTlEQjRDOUY3QzBBNTlkMmZjNUVhIiwiMHg0ZDlmMkY4RDI1MDUxODBiQjk0NjNFNDljRDQ5MGJDQjQ1YmY4RkM3IiwiMHg3QzEyMjdjRWY4YzA3NkY2ZmY5NDg0QTVhZjZhYjA3MGQxM2Y4OTkyIiwiMHhhM2QxNEU3ZTYzNjNmMjc0Qjg5OUUwMDQ1MjJkRTlCYUJFMTE0NzA4IiwiMHgyODBCODBDNTcxOTAwRDhBQjY4NkFjMjRFNjJEQjU3NjEwQTdjMzNFIiwiMHg0MjczNjQ1NzhGZGNFZGE0N0U3RmEwMWRCOTdkOTI4NjFmREM1ZjkyIiwiMHg4MzgyYzQzMDEyNTY2QWY4NTgxMGU2QjcyNUI3NjU4OTVFMTE1NUMyIiwiMHgyZEYzMzU1ZUQxYjUzMjQ4NkIwZTQ4QTQ5NzdhZmMxQ0E4RThhNTY2IiwiMHhlNUNDMzkzNDM3NDc2NjFlQTAzYTFBREJFYzhjOTk2MDhkYjIxMzM2IiwiMHgwQzUxOEFBQjk5NzZiYjU0MzhENTRkRDY1N2E0RGZDZDEwM2ZEZWZhIiwiMHg3OEQ2NkRCMTFjYmExOWNlODA1NzBmMDVmNjQxZjlkODUwQmQ4YjQzIiwiMHhENzU2YzMyOTQ1NkNCMUNBMmZiNzI2RDhEM2U4RGZlRTYxYUU0NEU2IiwiMHg4RDg1OTlhYjIxRjJDQmQwNDhiN0Y4MTE1NDkzMUI0OEQ4RDYwNTQ3IiwiMHhFNkZBN2YyODIyMjM1NTkxMTY2QWMxMzREMTg5Rjk1OGExMTBjMEU3IiwiMHgwQWY3NzRBNGFiMjlkMDI1OERCNTEzMGZEQTJkZTJmY2ZCMkQwYTBGIiwiMHg2MzgyQmJlRTFBNjI1NDdFMTkxNzQ1RWE5NDkwODJCMjBEMjY5Qjc4IiwiMHgzRjk4Qzg3MkMyODFEZEQwNTNlYzRjMWFEMTQ4NWJlRjY0Q2I1NTg5IiwiMHg2MzkyYTQ2MDE2ODUwMDk1OUM0YUVFRjQ4NzUyNTYxZUI1NDExNzIxIiwiMHhhMTg4NTQwODcxNjU1ODU3M2QwMTJBZDA1NjQ4QkQ3MTZGQzQ4OGNjIiwiMHhiYjA2RUM1YzhkNUU3MzkxMDYzN2QwNTQ2RWEzYTRjNTVlNTkzNzY1IiwiMHg2Y0VmRkU3MDNDNDAxY2U1NDRmNTIwOGIyOWY1YzMwQ2QyZDRDOWIyIiwiMHhGNzkzZDlENjFCMGMyYjhDODA3ZjkzMjZjM2UzYjQ5YThFOTU4RTU0IiwiMHgzNzhlNmE1MTkwZTI0QzJiREI0MEE3MmI1YTZENkI1NTY3NTM4ODNEIiwiMHhBOGQyNzEwMmE2OTAxNTRhQkQzMWFDODY5MzVCNmI3YzBkOUI2MGUwIiwiMHhkZTRFOTAwMWM3N0Q2MzNFM0NBRWI4M2Y0MUQyQTA1NWJFNDEwYjE5IiwiMHgzM0Q5YTQxMjQ0NTFFNDJhRTk5NjcyYzA3M2I3NmI0NWUyYmE0NTVkIiwiMHgyNEY0ZDk2MTFhM0I4N0ZDZTNGQ0MxQjEwMjBCRUY2NzE2MzQ0QTk0IiwiMHgzMDExM0Y2QzI2NkE2MENkNTQ1ZjBhNWJmOGIyMDA3ZTYwN2U0NEQxIiwiMHgxMzJiRTA5MDU1MTEwYzJDNTVjRGQ2YTFhZDYwOEY3NWNBQjc5MTgzIiwiMHhENWNlNjNGRjk0MkVhNkFlRTUyQmFCMDJBNTcxNGZBRmRDMDY5NDE5IiwiMHhFRWJENDdCYjRmZDM3M0Q3M2I4MzlmM2U0RjZFMzZDZEQ0NzZlRDYwIiwiMHgzQjIzODU1NzBkODI3MkFDQ0RhM0IwQzNhN2ZGYWE5NmMyQjJGOWYwIiwiMHhlYWY2ODVmNzZkRDczYkYwMzExNDFGNjBkODU1NzQ1Yzg3OWIxNEQ0IiwiMHg5OUIxZEIzMzE4QWEzMDQwRjMzNkZiNjVjNTU0MDBFMTY0RERjZDdmIiwiMHgzRTNhNzlCRjdBNTZGRWQ1Nzk4OTg2ODBkNGRFYTVGNzE2M2IxNzA3IiwiMHgxMDBhMjk0NTJEYzlCYTdmYzYzMTUyNjRkN0NlN0NkYTYyOGRkMmE4IiwiMHg0YTY3MWFkNzMxYjJjNjMxYTAxOTY4OEM5YURkNGY3YUZGRTAyYzQyIiwiMHgzQjBkOEZlRDNmYzgzYjMwMTlkQzE5YzkxQTNiOTZDQmYxZjEwOTI3IiwiMHgyNGUyMjYxMTMyMWY4MkU3MjllODE2NDc5OTFCMEM3MDE2MEIzQWJDIiwiMHgzNzgwYjliZmJkMDBDMTJDN0U0RERDMGNEQzUwM2IzMzY1ZTE3NWM5IiwiMHg2NjYzQ2U3ZkEyODA5Nzk1YTAxQjMzNDgyOTNGMTFCQkQwOUFDMjlGIiwiMHhGOWVhMEEyNDg2NThEMTU1OTQxODhENzlEODhFZDcyOWFDRDRFNzhGIiwiMHg1M0YzNjRhMjhFNzQ5RDM3NTdhNjFjM2JjNTUyOUJmNWJhQzRCQjc2IiwiMHg3ZEFFODUzRUQ4MGI1NjdDQmYyZDA5ZmE5MzAwYUY5ZUYxMzMzMGZDIiwiMHhBOUQ1RTg0MTVDNWVkYWQ1ODg3QWY3OWIxOGRiNDExOUFiRDM0NDYxIiwiMHg2MDREQjE0RjA3QTExMDMyZUUxODU2Y2MyMTlBRTZBQTU4NTc1MzQ0IiwiMHg4MDkwMjZmMTU0OTA4Njc3Zjc5MjIxNzU3OTgwNUIzQjY5YzNGRjM1IiwiMHg1YTJGZDkyN2ZkZWRDMTIzNTM2ZDI1NkI0MTYzY0RBOWI3MTIwMDEyIiwiMHgzZUE3N0UwOTE1M0IwMUFmZkREM2YxMTdiQjAzMkE4MmQyN0QyQjJEIiwiMHg3NURhMzM5YmVlMTEzM0I5NGM1YTAzRGMyNjBkNDA5MGUzRTlBNzQyIiwiMHgzMjRFNzViNzFCNDI0YWM0MDI4RDcwYjgwZmFkNWJCMjJmN2ViMjdmIiwiMHg2MjYzNThGQ2U4YzkwZjhkRkQwQzY3OGMwZTQ4OTYwMDAwNzFDMmU3IiwiMHg1QzU4NWNFNzQ0MmI5YTJlNzI2MTJGQjYzQjk4NDA1MzVFRjU2YTYxIiwiMHhDMDA3NDNBMDMzQTVEZDc5N0E2MTlBM2M0MUI5MDQyYTdkMTdkN0JCIiwiMHgwYjMzN0FjY2MyZjZjRjQwODVDZTE2ODE2YjFkMGExMTMzRThmZjc0IiwiMHg4YkViMUQ5NUJlOTAwNGJkMTM5YmM3NGM0ZDQ0MTU2OTA5ODkwOTgyIiwiMHhlNjA0NDM2NmEyNTE3NjczNkVGQzBEOTlCNjQzNjk2MEFGNzg3RTdCIiwiMHg5ODU2OEZCMTg5ZjRBNDlkNTQyQTJGZkUxOWNiZThCM0E2OTA2MTdFIiwiMHg1MjQ4NDdDNjE1NjM5ZTc2ZkU3RDBGRTBCMTZiZThjNGVBQzlDRjNjIiwiMHhiMTkzYTdhZDAxOThlMDk4MWRmNTYzOUU3OTczMERFMGZjNzA0MDMwIiwiMHgxN2M4QTI0OGQyN0QzODU1MTllNjM2MjJmNTY2OThEMjA0MTEwODM0IiwiMHhENDA4NGUyNGU1ZDZhZjc2ODUxNzRCM2IwNTIwRTVjNjUzMDM0YTdkIiwiMHhjMDM4MzE0MEJDODc3MjY2NTc3MEIwMDFkMTJDNjk3MDBiMzc0M0UyIiwiMHg3QjQ3N2I2Mjc2M2RkRTA1NDMyNThCYzExMkMxYTBEY0U5OWJkQjQzIiwiMHg5NTFiYTBhMDEyMDY1M0RmODIxNDY4RmRFN2U2Q2ZkMjg3YzE2MDI1IiwiMHg1MzkwZTJDRjI5ZjM4QzU5NjllMDE0ZGFmNzY5ZDFEQTQ4MmVEMzI5IiwiMHhCMTBFNjE1ZjM1RDNDYjdFRWFDNDYyMjNDODE2ODA4NTNiNThjMkJlIiwiMHg4ZTk3MGJFMEU5M2YzQjA3MjFDODQ3ZUE4QTA4M2YyY0ZjQkMwMjc5IiwiMHg5OTczMzBGZUUwQ2UzMkJjOUQ4NDQ4QUY2RUUzYzliYkJkRWU4ZWI5IiwiMHhBOWZiNjcxY2YxNUQxQmJkNGYwNTgyMjFBMDBmOWUxNjA5RjA4N2M1IiwiMHg4REFBMDc3ZjY1NUVFNDA5M2MyODJGMzdFOTgyNjQ4NmRjRGZBM0RmIiwiMHg5QThhNTgyNGQxNDc0NGY0QTkyRTkxMjJCODdFNTA1MWQzMkM4MUYxIiwiMHg1QjU3QzNiRTJFQTQ4RTY5NzkwZGVhNzQyODNCYTkxNjliNzFGYTM3IiwiMHhFQjk2NTFlOTRiNmI2RTBkZjc3MTYyQTYwNzFERjZjNDU1MjRENTIxIiwiMHgzNDA1OTVjRDZBY2YyQ0VCOWY2OWMyMTFFM2YwMDk5MTBCMUI0MmQ1IiwiMHg1RkU2MDRkQzdlNGVmRmMzZUYzMkY1Q2I1OURhYTk4QjQ4NTlFOTExIiwiMHg2OTg3MTNiNThGNDM4NUJBNjJCRDcyMWE3MjYxODQyMUYwODZkNUQ0IiwiMHhhMGUzN0I3YzQ0OGY1M0MxRjViMUQ2OTlBZjliMTlDZTY5NWQ0QTM4IiwiMHhkQjQ4NTc0NTM1NURlNkM1MEZENzRBNGUxYTVDM0I1NGFFODlmRGMyIiwiMHgyMWYzOTYwNTVBN0JFNEVGYzVlQWEwZDUzYTg5QTA2NzZjYUE1MWZiIiwiMHgxN2ZCYzhFMkVmRjY1MUFjYURGYTg4QjkwNDc5MEZFMEJiZjk3RkIwIiwiMHhENjk4YWJGNzQ5NmJGOTgyYmVDMjY4OEUwQURmODVmQjVCZjJhZTRiIiwiMHg3ZUYxYzE1NTYxQzBiOTA2MTAyNmQyRDdmZUE2MDFBNDg0M0UyMUY1IiwiMHg1MWM3MjdmMDFlODRGYkMxMmNjNjg4OTE5YzZFNkU2OUY3NDI1ZjJBIiwiMHgzODgwN0VDODg2Mjk4NzEyMTM4OTgzRWUzOGNBYjUyMWRlNzdkOWI0IiwiMHgzNjFCMDJmZDBkM0RmZmRjZjFDOUQ2NThkMDU4ODAxNzQwM2Q5MjE4IiwiMHg5MWU2MUQzYmE4NzVGRjI1M2Y3ZjVhM0E2N0FiN0VGZTNDRDZFMThhIiwiMHhDMzY3NkQ4OWVlYzFEM0QwOGQxY0Y3ZTlEQzllMDkxMEZCOWVmZDg1IiwiMHgxMDg4MmJhZkY3MGM5YkFBNUJlMDU5MzZmNTI5NzBENkU5NUEwQjY0IiwiMHgwYTkzZTgyNDE4NDk3NTJmRTg1OTdlMTIwQUE1NzAyMUQxODcxMTE1IiwiMHg2NmUwYzI2NzliQkU5ODZFNTBENTk1Q0U4RjU4QmJBZmY3OEEyMzM0IiwiMHg0MUZDRjlFMjQ4ZTJiRTIxYzVERUJlOEYwMTAwODAzMzVkQ2IwRDQwIiwiMHhEMThlNkJmRTY4MjJmMjhlNUQ0NjU5NkQ2RTYxZGVBMjFjODc1OEE0IiwiMHg5RmYyRWFjNzQ4N0JBQjUzRjM3Q2JBODI4RjA5RkE4N0FmNDY2ZmQ1IiwiMHhmREE5ZDZmMTA2YTk5M2YxYmU3MUYzOUU1QTczRTBGZkVCOTM1NjlFIiwiMHgxQTc5MjgwRTk2ZEQ2NTk1NUU3NjQ2NGFBZmZhNjk1RDY0ZTY2RmFkIiwiMHhGZjdkOTYyN2REN0U0QjMwMGZGNDg0YjVEZDY2ZWI4NjA4YjY3RTA0IiwiMHgxQ0JlY2ZCNGE3ODcwRDdGMDlENjZhQzkxZTZhMDc2ZWM2Yzc4NEZFIiwiMHhFOTg0ZUZjNTJEY0E5MjFGMzVlNDFEZDdkQjEwRDIzMUE3ZEZCNEJEIiwiMHgyNTc3MzZDODVkMjhiMDRCNThkMTVDRjEwMTU5QzJiMGZDZTNBOGE5IiwiMHg4QTVmNzdmMEVEZTI5M2ZiOTZiNkVhRjEyNzNDNTZBNWJkNDIxM0ZEIiwiMHg2ZENEZTAxOTRGQkRGZDBCNURDN2NDY2ZjRDUyNWRCOUZkMmFDMTY0IiwiMHgyNjY3ODliOWZBZGVCODQ5ZTBhNGRkZTIyMDk4MEEzNkVDMDZjODNlIiwiMHhhQUQyMmY1NTQzRkNEYUE2OTRCNjhmOTRCZTE3N0I1NjE4MzZBRTU3IiwiMHgyZDMwQzE0YzkwMTYyOTZCM2FiRDJGMzU0ZmNDZDFGNzJCQkMxQTcyIiwiMHgzODZlM0ZkM2Y0MjAxNTdDMjdCNTlmMjFiN0Y1ODRGMThlY2IzMDQ1IiwiMHg4YmVCOGM3MTdhOUE3MzFlRTg3Yjc2RjI2MDkyNzk1OEQ0YWRDMkQzIiwiMHg2NDQ2RUJhMERGMzNjMzBlQTQyM2Q4Qzc0ZWFDNDk3OTE3ZGJlMGRiIiwiMHg0ODNjNDE4NGE3NGQ3NjU2QUEyMjZhNEZhODc2MmZGZGY1MDNDRWYwIiwiMHg3MkE1RThGRjhkNjEzMDgxMGQzMTQ1MTdEYzVENzZGODU2ZDZEZGIzIiwiMHg3RmREQ2JiNjA4MjExOWY4ODhiMzAzYjgzRDg0OThEODkyQWU3M2YyIiwiMHhCMGVBNjBBQzJiZDIyRjU5MDc4NGJiYTYyNTUzYzE3NzdGN2I5NzBFIiwiMHhCMUE4MjRhNkNhZjFmNzg5QWE3Y2ExMDcyRTM2RTgzQ2Q2MmJBM2VlIiwiMHhjOGI2MmFGMDY2Nzg4YzI0NTgzZDNhNTE3YTQ1MEUxZDlDZDNiNGIwIiwiMHgyOTlGNWNGNzQ3OWEzQjNFMDQxRDcxNGUxMEU2ODAzNzcyRGE4OTgwIiwiMHhDNjdDM0M5Y2E5NzUyMDkzY0U3Q2ZiQzE4MjA1NjEyRjE4OGQzQUY0IiwiMHhGMzBDQkYzMTgzOGFhZmNiOEJmOTU4NTYzNjE1NmRlMTY4OTM1YWM2IiwiMHhlZTE5Y2YyOGREMjg5OTNBZDI3Y2M0NTdjOTE4RGE2QzEzZUQ0NmJFIiwiMHgzQzUwZGY1YjlmQWE5OGFjMDM5Nzg5ZTk4MjYzRGE4Y0FCRmE5NTE1IiwiMHgwNjc3NDQxQkU5M0Y2MzVhRTk2RTAxMjM2RjJBQjBkQjA5NzUxQjQ2IiwiMHhhYTFiRjkzM2FBM0FlMjdFNkQwMjFjYWYyOTgzOWMzZkQyODEwYjMwIiwiMHg2Q2M5ODM0MDJjYjFiODRFMzlENTQ5MDQ3N2IzM0QwN2EwZDk0QzBiIiwiMHgwYzA1MTlEMzJlZjBjOTk2ZWNDNTI5RTE4NUY1NUVERWFhZDdiNTE5IiwiMHhCNTI5NTgzODI5ODQ0NTdFQUY2MUY0QWM2NDhCQjE3MjBGYUQ3NUExIiwiMHg5OUEzODc5ODNiRTZDYURCNzBBNjZBMWM3YjVCZDZGRjBjRkRDMjdiIiwiMHg1REQ1MGMzNEIxZUJlZjUzRDU0YTBlOTU0N0FDOGY3MTBhZjU1RGFCIiwiMHhiZEZhOWVCRmY1MzY5YkMxMGZmNzViNGEyRkJmY2U4ZDVjYWYxMDI0IiwiMHgwZmE3YTFmNzU1ODVkNEUwMEQ5NEU2ZTY2ZDA3ODI2ODE2QmUzOGVkIiwiMHgyMDM1NEMzMjM2YWYyM0I4MzBEOUVjRkIwYjNmYTcxODMzNjkyZjk4IiwiMHg5ODA0ZjZGMzNkNUFDRTE2NEM1QjI2NkY4NDZmNzRENTg0OTFEMjRiIiwiMHg2NTBFQ0ZFNkM4MEM2MjVFMjExQ0UyYWRhQWYyMjk4OTU3NTU2QWI2IiwiMHhlNTI0NjhlOTNhZkYxOEVBZEVFN2Q2M0ZGMEI5M0RCOGMzOTAxQzg2IiwiMHhiZDBmZWQ1ODVkNjg3NzVjNzZEZGZDOTgwNDlGZWFDMDc0NTRFMjdGIiwiMHhmMEE2ZWRFRDlDNWFBMmY0NzBGOUMyOWZDYTBmZTI2QTg5NDQ2NzBCIiwiMHg2ZEI2ZTc0MDA4NzMzOGM3M2RDMjA1ZkM4MzE5ODc5QUUwMzIxRjdhIiwiMHhkN2IwMjFDOTBjMzkzQzlFMjE4YTQzNjI3MjZhNTQyZjcwYUJDNUNjIiwiMHgzOGI2ZmY5YjlkOTIxMzJFZkMwQTgxMUQ2NDUxYzk1NDJlNjA2RTNFIiwiMHhhNDM1MTU4NDBiNzg4QjNDNzE5MmRFNjhiMkMxQ0VCMzYzNTJCMjg4IiwiMHg5MzQ2QzIwMTg2RDE3OTQxMDFCODUxNzE3N0ExYjE1YzQ5YzlmZjliIiwiMHg5M2ZFQzdiNWUxNjVFRjIxODgzMEY2RUJFY2VGMmRjN0ExNkNEMGUyIiwiMHhEYjMyQzA2YjlGNzVjN0JFRENEOWFiMjU3RTg2YjgyZjZDNjgzZjJlIiwiMHg0YkQ4NTEzQ0M3MTM5ZTUwZDVBNWVjNzJBMzkwMkE3NGJENzkyQjUxIiwiMHhCRURlMjRhQkQzRTE4RjE3ODQwRWExZjZDNTVlRGYyRDEyRDgyYUIxIiwiMHhkNThCMUI1ZDIxNDhGNzQ0ZTllYjNBODdmMjBiZUJmM0NhNWY4OTc0IiwiMHg1ZGNEYjlENDM2OWJkMzU4YUQxYTg0QzM0NDEwMENlODk4OGM5OTNDIiwiMHg1QTJFZEE3NERiMzE3M0E3MjY3RDliRDZiMjhEODc2NkNkNDAxQzc4IiwiMHhiNDZGQmEyNzBmZjU4MkE1ZkZkMGI5MzM1Mjk5RjJjMzQ2QmRiQzVDIiwiMHg0OTJmZDlEYTg5MDY4NDI3NDU1MTgzNmVFQTlhNjgwMzg4N0JFNzg4IiwiMHhEMGRDYTVkZWRBQjAwNkRDNUU2RkVCZDdBMEI4NGY1NEI4RTI1RGYxIiwiMHgwYTZFNzU2M0EzQ2JCZUJFMTAxNDUzODQ5NzMxNkU4MDgzRkQwMUU1IiwiMHhEMDM3ODMxQTBjNjUzNmFhNUIxYTVhM0MzODJFNTgzQUM0MzRFMUMwIiwiMHhjODkxNzA1ZjM0OWUwMDZGMjkwMTgyMjUwQzYwNDg4NDRjRjQ5NkY3IiwiMHg0MTU1MEIwYkEyNjI2NmI5YTlhZmE4Njc2NWE1QmNGZWMxQ2E4YjlEIiwiMHg2MjJkQjQzNzgxOTQyOGZlMmQ2RWNjYmRFMjc4NDFCY0QzYjM5Q0UxIiwiMHhkNjkzNGEzRGUxQTU3NjAyMTUwOUNCOTk0Qjc3NkQ3N0NFOGNkNGI5IiwiMHhDRjE0MjU3NDE4RWI4OUMyRWNjZmYzODFERTFCMDE2RGI0MzREODVlIiwiMHgyNDAwNTI0Njk2MTZCYjllOTBBNmUxNzUzNDA1NEFGZThGY0U2QjEwIiwiMHgzRTc5ZTgzMWJCZEZGRjAwRWI3ODQ5ODVhMWRCOGVBM2NjOTEyODllIiwiMHg4RDJlOUJkMDRCOTRCZjg5NzZhNjk4MzNFYTNjNTYwNDAyYTMyM2M1IiwiMHg4Y0VEN0RmOTU3ZDIyMDY5MkE5OUZjZkRENDVFNjI4YzRFOENFRDYwIiwiMHhDOTIzQTE0YUUzNjY4YjVlOUE4MDg3NkM2NUM1NDdjYkE4ZjI2RUZGIiwiMHg5Qjc3MDJjYmFmODU2NzVGODJCMjhiYjZGNTNkNzE0NjQxQTdlN0EwIiwiMHgxRkQxMjM4NDM0ZTA3NUE1QzRjNzhjOWIzMkY4OGQzMjQ2MjRGQjUzIiwiMHgyNTM3RGY1MjUyMDI4Mjk3NzAyMTE2NjY1RjMwMDM3RjA1MTFFNTgwIiwiMHg5ZmZFMDQzMjBFNkRlNDMxZDI1Y2JEM0VBQWE1OTE4RDM5OWZmNzcwIiwiMHgyMzlCREFiQUU2NDcxNWQ4MmE3YjIzMmVjQTZDNDMyMjRBNThhZEM2IiwiMHg4RUY2ODAzN2YyMTFENDhlNUJDMEZCOTc1NDYzOTQ5MTUyODI1OERGIiwiMHg5ODdiMERERkI3YjIxQTVDMDE3NDNDQUIyN2Y0ZDZlOTNlNGVlNjBmIiwiMHhBNkRiOUE1Nzg2ZTIzYmE2MDY5MzRBQTJhQjQ0ODA1OTk3Y0FBZmNCIiwiMHg0YUFmMkZkODZCQmZiMmFEYzA0NGQ4RTRjQUViRUVlM0Y3NERhQjUzIiwiMHhFNmZhMjM5MjgwMjBmZDQyMzNEMjMxNzAyMTdjNDI4MTU5YzY5Nzc1IiwiMHhCYWYzNWNGMUNBNzYwOTE0MEE0YzcyYjdBNGIyNWFkOUY5YjMyMmVmIiwiMHhlMjcyZmY5Njc5RWVBN2UwODk0MjJEMDlCQzY1MDM4NTRCNDkxZTM4IiwiMHg3N0ExNTcwODlmZTRhY0Q4MDYwNGQyY0Y0NDVFMDkyYmJFOTA5NWY4IiwiMHhBZmQ2RDQyOURBOTNDQzhkOGE0Q0FFNmRmQzRFNWIwODkxNzg3RjI1IiwiMHhDRTUzMTZiNzdGRjM3Zjc5NGNlQjg0ODI1MTZFRkNGNzAyMWI2ODZBIiwiMHhmRjkzMDczOTAyRTQzMTg1NDcxM0NBY0JCQ0FmNzlFODVCN2VBNjE4IiwiMHgwOTlhRjY1NjBhYTIwMDhkMzEzOEJDREI0MjA5OWJGMmIwMGUxODJkIiwiMHhmODFiNEUwMTA0QWU0ZjUzN2IxZEQ5NTU1QjU2NjM1NjQ1YkM5MzlGIiwiMHgzMDhDQjU4NzRGMjc4ZWNlRWM2NGY5REUwRTVFYWMyOTBmQjBBZEQyIiwiMHhjRGQ3Mzk1NGY1ODkwNDcxNTE5NjkyNGFCMzg4ZjFFMjUzNDY5RDk5IiwiMHgxODY5MWYwREQzQWFkMDk1Y0JmMWQ1NUM5NUJiMmRCMDgyOGQ2M2Y4IiwiMHhDQTI4OWI1NDgwQ0VFMjY0NUQwMzYzQTE3NzRlN0JGYTQyNjMxOGIzIiwiMHgwMkIyM0ZGMEI0QkIwQ0ZFM0UwN2FmN0U3OWM2M0ZiZUVkZTBkODg1IiwiMHg3NEVhMTYxQkFFMzgyMTc5ZkUwNDRCNDdmNWMxMEM0MUI0YzBFMTNDIiwiMHg4NTZFYmU1MjQyYkE4YzAzODQ4NmM3QTkzMDkzRjBFRTg0NEUyMUQ3IiwiMHhBZENBNDFGMkZDZTcwMDQ0QjQyNDJDMjlhMzU5RDU5NDAwNGQ2OTc1IiwiMHg3RmI5MDk5NDJFRUUxZmRlZjg2N0UzMzVmQzIxQTI1NTAyQURFNjNkIiwiMHhCNjIwRjRiZURCZDk4QTBiYjU2NzMzMDg4RWE5NkEzYjE2NGY5NUI3IiwiMHgxNTJkMTY1Y0M0YjFCNzBENTM3NjZFMTdFNDE0NUZhZTY2YkQzYjI3IiwiMHhCRjc5MzdiMDg3MjlGY0I1NTdCMjc3YzhjNTM5NEFFMTAyRkRlMTZhIiwiMHhDODIyODczNmY1RTg2NWNhNzZDNzg0RTNFMjk3MjMxMDRGRDREQTU0IiwiMHhGOGJERkYyYzUxQjk4MjZjMzY2N0IxREM0YTc3MTMyRGQyQzUzMEE0IiwiMHhkYTNGODIyYjNDOGQwMUU5NkJBNDc5MGQ5NTMxNzJlNTFBYjA2MThhIiwiMHhBNjliODkyZWVkNkYxNWYyZDUwRENCMzNkQ2Q1ZDU5OGRmNDEyM2E4IiwiMHhGMjU3NDRDOERBMGY1NDNiOUM3Q0U3QTBiZTQ0ZjRkZDQwQ0IzNDI3IiwiMHgxNjE1ZURkYkVCMjEwRmY5OGUzNUU3NzY2MDJkNmE5RThEMzA0OTFjIiwiMHg0M0Q0ZGU5ZDFERjE1QjQ1QjNDMTFkRDgzQjQzMkJDODVDRDZEOUM0IiwiMHhBNTkwNDk2MWY2MWJhRTdjNGREODQ3ODA3NzU1NmM5MUJGMjkxY0ZEIiwiMHg3Q0RjNTYwQ0M2NjEyNmE1RWI3MjFlNDQ0YWJDMzBFQjg1NDA4ZjdBIiwiMHhhRUU4QjRFRTcwYTI3QjI3NjUyODU2M2QzMEMwRTkwOUE2YjY3ZDA0IiwiMHhiMWVFRjhGYTE2Yjk0MDcxRDk2NGNGMTkyN2UxNWQ3MDBFZDExNDBDIiwiMHgzQ0FGNDhENEJhY0Q5QTg5YTM4Y0MxYjBmQTQ2YThmMDlhRTJBZTI1IiwiMHg3ZERiN2Y3NGU5YjNlRjkzNjA0NzIyMTk0MTlDODdmYkY5MjY3RmMxIiwiMHg1YTZhNWQ5RTVlNEE5MWIxMzJkRTAyOEU0MDRGNTYwMzE2NTM1Nzc4IiwiMHg5MUMxNTVBMWEyZjlFYmM5MGViNzU0Njc2NmI5YkZiRGExYUFkZjIyIiwiMHg5MGNFNjAyM2FCMTkxMjY0NDhCN2JGMDg0N0U3ZDI2MDlCRGJDMTJEIiwiMHg3MGE1NTA1Mjc2ZjVFNjAwNTVDMWY1MzFGMTZhN0UzOTRhM2NBNGVlIiwiMHg3OUU4YTcxNTQ2MkZDYUM5N2E0MDI4MjE1MzAyRUMyMjBkMzJkQjczIiwiMHg3OTY3OEM5RjFDOEVGMzg4OTU0ZDFDN0Q4NUI2NzkzMmJmMzJiRTU1IiwiMHhiZkZERGFDMDdiNjBlOWI1NjRCOTNjRjFGOTJCNDczNDI3NWY1Mzc3IiwiMHhDNDkyYjU3MTVlQjNjY0I0QkUyMDM0QTNFM2ExYzNlNEY2NEUwNjc2IiwiMHhkQjcxMEE2NzhDQTU4YTQ0ZGY4NzkzODU2NGZjQ2RBODg5MDgzN0YyIiwiMHg0QTIwNThDMzczRkI4MzE3RDhFZkVlMzAxQTIzOTIxYzhkN2EwOTMzIiwiMHhDRmQzOEExNzBiNzM3MjZkMjg1MmQ4MGMyMEQwYTdGN0YzNDMyZDU2IiwiMHhiYkU2MTJlYTNBNDIwM2U3NEVhRjYzODcxMjlmYWE1MWM0Yzg3YmI3IiwiMHg3NkM5RGNhMzJCMTA4MUMzMzVjQUQzZUM0NjI5MTcxMzhGQzU3ZkMxIiwiMHhkNmM3YWQxODQxQTg4YmM2MzJiYjU5NTZjZDQ1OEEzNzhFMjJjZjhlIiwiMHg5OTA0QjM4NDU2NDlCNTg5NjY0YzRBYTJGNEQ3MGYyMDIzOTNGMWIzIiwiMHg1NTExMWJhRDViQzM2OEEyY2I5ZWNjOUZCQzkyMzI5NkJlRGIzYjg5IiwiMHhhNTNBMDdlQWNDOEVCMUY0OTY5MkU2MjRFYjg2NzUxNTYzYjQ2ODRkIiwiMHgzMDBhYTdDYzk3ODU3NzhhRkNmMTc2OUVFMWMwY0IxOTM4NTdGNUExIiwiMHgzNWIzMzI1ZDE4NTJEM0M2NzQ4MWYwOTM2MTY2NmJGMzMyNTMwN0RhIiwiMHgxREEzRDU3QzBjQWQ5OTVhMjdiM2Y3OWRkY2Y2YTVlZkQ5ODM0MDk2IiwiMHg3OTdhOWFjNTBjMjE3QjZkODNDNTgyRjY4NzE2ZTQzMDJEMGQ5M0IzIiwiMHhCZDM2MjA2NWI4M2M1NzU1MGQwQkQwRWVGM0NBN0E0MzE2NTMzM0NBIiwiMHg1NkY5NzM2N0MxMzhiQUI3NTJFNTQxOGJkN0ZkNDdlNTFEYjI0RjBkIiwiMHgxMjRkMDc4Mzg4MTVERkY1OUI2RDAxNUM5MjU2NEMyNDYxODAxMzcyIiwiMHhhQkRkYjVDNTUyOEM3RDVlRTYyOGFCYTMzQzE4MGE4NzNjNDU2YjdlIiwiMHhjMEUzMGZGN0UwNzlBNkVCYjg4RDA2OGRjMjdGOTg1MTdERmI2YjBDIiwiMHg2RDZkOUE0MkRFMTE3NkE4ZjMxNEQwOWUxZDcwOEU2MmIwMzQ0NjI2IiwiMHgzNDYxMjE5MzdkMjZEZDZjNzM3RTA5N2Q4NWRlYmRlNWM5Yzk3RDc3IiwiMHg2MWQxRDZCZEM1MTIzNDExRjJmYThDYkFBM0IzZGYzNDRjOWVFNzkyIiwiMHg3RDA2ZkI5ZTk5MDg3MzBGRDU1REZhMWVGQUQ1YzMzNWUzNTQwQjlGIiwiMHg0NzY0OWQ1MTA3MDVjNWZkNjQ3OWZiN2ExNjU4NmU5RGI2NjU0NkZmIiwiMHhDMDlmYjhFNDY4Mjc0YTY4M0E3NTcwRDBiNzk1ZjgyNDRGQkVGZjlDIiwiMHgxMTIzQzI4MjdhQzg3NmExRTY2ZWQ5MEMzZmU5MzMxYTJDMDZmRDA2IiwiMHg0ZUZkRmU5MkY3NTI4QmQxNmI5NTA4M2Q3QmExYjI0N0RlMzJGNTQ5IiwiMHhGNTAwMjdDNkY1NmREQkUxMDMzMzI0ODc3Yjk2RDcwMkFCZDlkNTE0IiwiMHhmNkQyNDFmM0VEN2Y1MGI5ZmVhRjJmNGExMUQ1YUI3MjBjNWExRWE0IiwiMHg2Q2MwZjU1MGMzRUM4QjFiNTgwNzkwNDk4NGVmNmViRjdiMTQxZDllIiwiMHhiNjVhOEQ2YzJCOUI0ZTY4QzQ0OGQ3MzE4RjNCQ0JjNmQ3NDcwQmY1IiwiMHg5YzU1OTQzZmJBMzkwMTg4RjBCZTlkYjNkOWM5QmE3NDhiNTFhZjcyIiwiMHhiNzRDM2Y0YjUwMkJiYzcxQUY3YUExYzBlMDU4MDY4REEyQjUxQ2RhIiwiMHg1ODgwY2ZiQjgxODQ0OUZGYjQwMzhGY0JCYzkyMmEzMTk5NkE4NEU5IiwiMHg5NjE0MzQ3MTk1ZkJkNGNCZjY0RjhBOTA1YmEyNEYyRTRhYUIwODE4IiwiMHg1Q2YxRTg0ZTVGMzc4OTNGYTUzNWYwOGJCRUM2MmEyY2ExNDIwM2VkIiwiMHhGRmExOTQ5OWFDNzhlMDk1MTBjZjhkMjkxYTFiYkJjMWYzMDZmOGI3IiwiMHhkMzAwNDVhQzU4M0M1OTNjQjkwNTBhMkY1NjQxYjI5OTVFOWM5ZjgwIiwiMHhDODg5M0YwOGQwRDg2N0RGYTQyRmI0MUQ0QjRCNDc3ZjEzMjVBMWNlIiwiMHhDRjllRGI0OGU4MUUwNjY1ODQ4MzgwMTM3RUZDMjQzZEE3NDY5YzFlIiwiMHhBMTg1OEM3MjM4ZEMzOGIzQjhlOUQ4NENmNDRkMzk0QjBjN2UyMkY1IiwiMHg5QkY1MDJmN2FBNjkyYWMxNTUyZDNjNjZkNzFmNkUxNEQ3NTA1MDY0IiwiMHg5MjBmMENCZjQzQzBiODAwOEI4NGQwNDBDQTIwM0NCRDhENzMzYTBhIiwiMHg0MTc3NjVFNEQ3ODkxQUJBRTI2QkY1YTA4NzE4QjJDNDY4ZEEyRkEyIiwiMHhEQmE2YjU1MkVkMzRFRDJkOTg4OGFEMjQzNTcyZjg1M2M4OTA4NTFFIiwiMHhGZjUwMDk3QmMzQmJFNTdEMTJENDMzQTgzMDVjRWZEOUUyMTMwRGRGIiwiMHhFN0RFOWQ4ZTFEMTAwN2QyYTYzYTFjZmJmNzUxMEEyNzM1NUQ4MmQyIiwiMHg5YTkxMjc3ZUEzQzg1OEE0N2FhNGMyNEU3RTcxRDczMjYxNTEyRDNFIiwiMHg3MjgwRkQ2OWJkZkQ3Zjg1NjI2NkJlMzhCYTA4QzdGNUZhMDgzZDk2IiwiMHgxNDM4NkI2N0YwOEQyOTFGRDRkY0FlQmMzOEJFM0IzMjdDZTQ4RDNFIiwiMHg1Nzc3N0E2QjllYzY3YTk3MTg4OEQ1QzA3RmUyMjJGZkVBOGU3YkE3IiwiMHgyNDM3OTcwZDI2ODE4ZWY5MDEyMDAzNDVjNDg4Y0NiOTdDNDYyMzE1IiwiMHg3YkY0NThEM0ZEMEZjZTA1N2YxRGJhMjE5MDdiMDU0Q2ZBODc1QTIzIiwiMHgwYjM0Mjc5MzZiMjZjQTQ0OWI5MzgxNjg3MzkwNDM1NTBCNTIzZTBlIiwiMHhCZWVGOEVBNzU4M2E4RjhiYkM4NkQ5MjRDOTcyNWY0ZkNFMDdjNjliIiwiMHgwQkU0MENlOEI0RTkzMENmNTllRDJiQTUwOUREMjViQjViRTNGZDlGIiwiMHg4NjA2OUVBNDY0YTM4ZDc3ZDk3MTY4MjhmQ0Q5RjYyOEU5NzZDQzBkIiwiMHgwNTU1RjA1MkRBMEE1MGQzOTM2OUIwZjYzNDg1NWVkYzg1OEJhYTE4IiwiMHgxQWY3MDIyYWNiQ0M5YjMwMTM2OTlDZDI5OEFBOEMzQjZlREM5NjY2IiwiMHgwOEVCYzA3RjY0MzkzNDU0RTU4QTkxRTc1NDc3MDBBQWI2MjE2YzAyIiwiMHg4Y0NDZmQxMDY3RTI4ZTNCMjFmMEYyNTA0Yjg2M0UwOGRGRWU2YzUwIiwiMHg5QjhkMjgzNGJBMWIzYzMxNjg4RTA4NGNFOTc5MmJhQTBDYTJlMmY3IiwiMHg2NGNmQzBkNjk5Y2EzZTc1MUIzOGI2Njc4MTM0MzM1NjkwOEJCYjY0IiwiMHg0NDhlOTJiNjQ1OTc2OENmNGM2ZTJEOWEyZGRjMjA2NzQzOEViNjAyIiwiMHg0MWVhYzEwMEEzM0NiZTUyZDZFZUMwNmUyMTUxRjg0ZjQ0Rjc0RUJGIiwiMHgyNDcxMDNkRTNCOGIyNTY1NjA3OTliOEY5YjU4MkM2MTZiNmI4QjE0IiwiMHhlQzkzZUJkMzQzYThjOWQ3MzRiRjY1QkMyRTQ2MTY3OTQzOTU2NWIzIiwiMHgzMTkwZDlEOWM4Yzk3ODllOURGMTQ0OTZGRUFENmI5NGRkRkVCODZkIiwiMHhhRGRkMzU1YzQwNkU5MTdERjQwNTY5MjUzREUyNGViYTU5MTIwNjQyIiwiMHg3NTQ0MTU2ODVkNjgwQTA4NTUzRjkyMTIyODNiRDVlNTNDZjU2MmEyIiwiMHhmMkQ4NWRkNjkzOGZGQzc3ZTFDYWQ5M2IzOTExOTJiNTVjZDgyMDI2IiwiMHhEMzM2ZTEyZDM3Mjg4MTI0ZmNiNDE1RTNjOUJCNDNFNUIyOTlmMGU3IiwiMHhFMWQ2RDM3OTYwN0M2NDBFMDI3QjU0ZkYzMDFGZUEzNGYxZEU1MzJiIiwiMHhEN0JjZkJhNzk4ZDhBN2QwMjQzMTM0MWNCQjBjNjc5MDNlNUQxODgyIiwiMHhmRGNjMmMwYzg5MWE2MUZlOTAzMDNlQTAyRGVCMjQ2MTM5ODI0OEZCIiwiMHgyREY0NUUwMmUyMzQ2MUE1NTQyOThlNTA2MjREYmFmQjQ0QkI5RmE5IiwiMHgyZDMxMzdDODI4OTYzOTE4ZmE4RTU0YzU5NzdEZDcyOTNmYjU3ZTJlIiwiMHgwYWFhZTY4NDEyMDZhMmJlMTM3MjNENkExYmNjYjQ3M2NCOEYwODEyIiwiMHhGRjgzMTVFMDE3MGRhNjNGYzQxZDI1QjU5MzNiZjY0YUMwY0NkOTU4IiwiMHhBQmI4MTcwOUJhOTdFNzdhMTEzOGE1MTM2MDQ0MkUyYjgyNjg1ZUIwIiwiMHg0RDJlQmYzMzM3YzcyMEE0YjM5ZDhhRUMyY2IwNDQ3RDk0N0M2YjczIiwiMHg1ZGRjMUYyYUUxNWE0NGM4QUZiOTBlN2JGNTYwQzEzNTE4NmRmNDQ0IiwiMHhkRjc0NDRiOTY4QjU0RjA0NTY5NEFiMmQwRDcxMGQzRjIxMTJjYzg1IiwiMHg1OGJFZTRGYTJDZjIzYjZCMUI2NEZBNTFhNjMzNGJCOTUzOTBmRmIxIiwiMHhGYjk3ZTQ4MEI4Y0YxNWE1N0NDRjExRjNjODE1YzFCMDQwQTNmMTMyIiwiMHhhNjc3NmQ3NjRCM0Y2OGFFYjk2NGU1RjlEMDc4NzJDODM2MUJjQzMxIiwiMHhCNjI2OTE1OERGZUMxOTNFODliY2UwYmM2NTA3RjIzNjFCQWVjZTA3IiwiMHhERWE4OGViYzg5OTA0NUI5NDJkRTU3MjU5MDJEN0ZBNjA0OEQ2N2Y1IiwiMHhmMjc1NWY4ZTk3RjZCMGZlMzA1Q0JhRkMzYjgyQzAxZkE1MzJBNUYyIiwiMHg4MDZEZUFmZmQzYzA2OGNFMDg0ZGY0RmUyMjQ4MzE0ZmUyMGNkMDJBIiwiMHgxMGNFZTBjMmIyOTc0ZDY2ODNBOTQxNUM3MDVkMDc0MmNiNTUzYTVjIiwiMHgyYWNERDREQjMzQzc1QmRhNTYwMzZENzNDRTUwZkRGRkE1NDMxNkJFIiwiMHg3NmY0ZTk0MUU1MUY2NDI0ZWRmMTc5MjJkZDUyM0YxZTdFYzNjMmE3IiwiMHhhYmI4Qzc3MkM0ODJDNzUxNTg5OTRCNjM2QmIwYmRkODIwNUM0RUQ4IiwiMHgzZTVmNzgxNjU3MDg2OWM0Y0U5OWEwQTE0NjQ2OWQ5MkRjZjYyZjYyIiwiMHhhMjYyN0JBNzM4M0Y5MzQ2MmJjYWUzZjI0RDE0YzVlNzdlMWRlMjQzIiwiMHhCZjMxOTU2ODA4RTMzNTJhNEIyMTVkNzA1MGUzODJBMjA3OEI1ZkY5IiwiMHgzY0FjQ2VmMjA4MEIxOTA2NGRmNDEyNENjMjE5NDM1YzVBZmQzOTlFIiwiMHhFMEI5NzM3ZWEzNURkNjBGMzMwYjVDQjJGNTQyNGI0NTZFRTAwYTM5IiwiMHg1ZkVlNjk5ZDE2ODk5NTFjOTVmMzllY0NBQzljOGVkMkM4ZEMyNzYwIiwiMHgzODc4M2MwODE4NzVGMjQ0ZGE1NzZCZjkyZjIwOEJjNkQ0NTVkNWFGIiwiMHhmZEQ5NEExZjg2QTc0ZDE0MWFlODE0QmYyNjg3ZjAxZDREMmVFOGEwIiwiMHg3M2YxNmU4ZTVDNzI3MUYxOWVDMTY4ZTY2NTQ5YUUyRjQ2NGUyZDg1IiwiMHg2OTcwZkVhODIyMDBBMTQ5MkU1ZWU5ZWJCNUM0MTI5YzY4NjhhNTVEIiwiMHg4NDAzMzZFNTc3MDhCOEJhMUU4NjRCMmI3ZEI3OEFBYkVFYmExNjkxIiwiMHg1QWVEREQ5QTY2NThhRkY5MWFiODM4YzUwMjZjOTVEMzkyYjhiNmFlIiwiMHg2NEZCYTgwMDI1NjhmYmIwNDNBYzY5ZmMyMjQzODk4OGE0MzZiOUExIiwiMHg2NkFmZEMwOGY3MTBBRDRiRjBkOUI1YUE2YmNBZjFhMzdmMTA0MTkyIiwiMHhkQjdhYjc5ODc4N2E4QmEyMEM0NjdhY0FCMzAxMWY1MUU4RWFEODlkIiwiMHhhMkYwMTlDYTdEYjJmNmMwQjE2NDlBYzUzQjI0QzliRkVDNTBGZGVlIiwiMHhlMGIxNDMzRTAxNzRiNDdFODg3OUVFMzg3ZjEwNjlhMGRCZjk0MTM3IiwiMHhFNjk3YjQwMEM2MzdGNTdBN0M2NEFCMjEwMWQyOWVDNzVFNTY5MTI0IiwiMHhjMjk1ZjVmMDNCMjM4YjNlODFkMEE4ZEREODc2ZWQyZTdhNTgyYzEyIiwiMHgzZGQ0OWY2N0U5ZDVCYzRDNUU2NjM0YjNGNzBCZkQ5ZGMxYjZCRDc0IiwiMHg5ZDYyYzY2MjBlMmU1QmVCRkEzRTEyQzBEMzRBY0Q4YzZBRDQzZDBBIiwiMHhDMzczQzA4OTRmOTY2MEMxREVhMDc2NzY1RUEzNTk5NDdFRTMyRUZEIiwiMHhkRWZBQTMyNDg5YWMzQzhkYTYxMzlBRjYwNGRkYUU3ODBjYzRFOEFBIiwiMHgzNTlEYTk3MzA4YWU0YjhhNzgzNzg1QmJDOTRFZTA5NjBGNTk2NDU2IiwiMHgzOTJGQzYyYkNGNTlGOUZENDBFZDFmNDVjMjdGOUViNWJhMDJiNjNBIiwiMHhBYTEzMjkzNTMxRDFhYTk5Y0Q1NDhlNTE5NTM1ZmI1ZUY3NEMwYjk4IiwiMHhBMDdiNjc3OTYxOEM0YTNEM2JhMUJiNTkwNDgzQ0U1YWZFYzk5QkNDIiwiMHgxYjc0MTY5RjRiOTg4MkE4NDJlMjU0ZjVFQzJkNDBiRTcyYjNkYzJkIiwiMHgxMjFCODY3RmI4Y0QxOTUzQjkyODEyOUMxNWQ5NzBkMWQ2Qjc4MTdhIiwiMHhiZkJkMjllODVhMmY2NjY0NTVDMGUzMjk1Y0IwM2YwMDMwOTlmNDlFIiwiMHhEMWFBOEEyZkM3ZDY3NWY0MzAzRTlmYjIwODQ2MGNDREY4NzgzMzI0IiwiMHhFQzhGRTVCMjQxOGU2MjZDODQyZkFFNjVDNmNmNGQ0NERhZjFEQURmIiwiMHg3Mzk5NGY5MzVCMjM1MTE2ODZjZTFERDU5QzI5NUU1MTAwMDMxRjRCIiwiMHg2ODY4QzNBMzliMmI2RDRDQkE5MTI5NDI1RUJBNGNFMTNFRjNBZmQ3IiwiMHhjQjdjRTZCQTRBNEIzYkEyQzc0NUIwOERFNGJhNTgyREU4OTVEMjRFIiwiMHhEYTg5MTlmYmRhRDc4NkM0RTAwMGQ0MTIyYTA0NzA5NTBGNTBGNjIyIiwiMHhiOTFmZDI3QzdDQWY0OWQ3RTdCOUU1MGVCMzc3OTQwMzVFNzFlQkM5IiwiMHg2QmVCYWE0RGI0YTMxZTk3YTlCRmI3Q0E2MjZDQjAyMzUxYzExNGNhIiwiMHg4NkNmMTU2OGQ3ODFCNjE5MzhBOWU5Rjc4MDA1NTZiNmMwOEE3OTQxIiwiMHg1NjQ5NkVjNjM2YkY2NmM4YUIzNmM1MjFDMjcwMjExMjBhOEY5M0Y2IiwiMHg2RUEyNkFBOGM3ZTgyNEIxQTY1NjMyRjlGREMzOUFCMDgzZkQ3NWVCIiwiMHg1QTRiN0JDMDFiMUY3NjM5RjMzNUMxOTc4MjFBYWU2RjZiNDUxRDhiIiwiMHhhNmNiMDgxMzM5ZGY3MjVkMTJDZENEMDY1MjYzMTRDMEM3M2ZBNjU2IiwiMHgwNDlCNDQ5MzAxMEZjMGVFM2RFZWQ2YTdmY2FlNEU1ZkJhODZiQjQ1IiwiMHgwRGFiQkM2NDhlOEY1N2FkNjZCODgxNTk3YzFjZGY3ZmZEQTJCNWZiIiwiMHg5OWFFYWQ1NzQ5RUFDYUM1NkEzNzQ4MTU0ODlkMTgwODgyN0FhNWJBIiwiMHhhNDA1MWMyMzYyNjExODEwMDMzMjc3MmM4Q2EzZDlDQzBiMzNmRjRlIiwiMHg5NjBCYkU3NWExMjIyOGYzZmRiNmZCRTMwMkY3M0ZkNzZlQzFhRjZFIiwiMHg3QUU0ZjQxZjM0OGI4RTMyMTc3QmM3M2MwNzJGZTNGMzhmZDVEMThBIiwiMHgxRGU1NWI1YTdiQjk3NDUyYmQxZTBGRmFDMTI2MTU0QkZlRjA1MmJGIiwiMHgxNUVmQkE3ZGRkNjIzRWM5Yjk1N0Q2MUY2ZUQxZmQ3YUEwRTY2MTAzIiwiMHhEOWYwNDdjMTQwOTRCOGUwQTViZjgwMEY2MjcxNGE3RTM2MzFGMTdkIiwiMHg0Q0EwRDFhQjA1MzdkZUEwZWE0MjZBOTljMTEyMTliMjdiODhhOTYzIiwiMHgzMjI4OWI5NkJGMmYwNTY4NDFCQ0YwNTdEYzIwOEJhNGRFYTJCMjNjIiwiMHg1ZTViMzIxOTdDNTFDYmQ4MjEwM2E2MjBDNDg5MzMxMTRkODJkZTBGIiwiMHhBODhBNDU5YjFCNDM5RTFBZjVFMTBFRGExNGRFMDE1MjkzNTg4MDE0IiwiMHhCODc4MmIxMmEwM2NCMDc0QWM1QUVlODkzMjlmMTI4NjlFNUI3MTUxIiwiMHg4N2Y4YjQ5Q0FmMkYyYjkyZWIxM2VDZDhiMDA3N0U1NWQzMEVENGVjIiwiMHhkNkM0RThCYTMwNEQyQzQ3RjY2RUNkMEE5RERjNzJGRjBlMWJGRDFBIiwiMHg2MmNkNTAxRWJmOEMzMUQ3YTUxODMxMjg4Nzk0Y2Q4MTBENGFiNDk2IiwiMHhjMUQxNzFFNGI3NDRDOTUwM0NBNTFhY2I5RjlkNjk0MTI3MDEwZDU4IiwiMHhkQWRBNkU4MGRiZEQ2QTBhOTc0RUQzZWRFNWY3RkJFY2RDRjlDMTU2IiwiMHhhZDYxN0UyQUZGYzc4YzQwRDVjRmZhM0UyMjk3MEMxNTlBOERCZEEwIiwiMHgyNDYyOEE4NEM2Q2I1OEM3ZGM5OTAzMGJiQzU0NDJCMTYwQjMxYjZEIiwiMHhkRTUyMDJiRTJEQjcwOUQzMjJDNzJCMUJCNDMxQjNGZDI0QjVkOTc5IiwiMHg5QUZiNzYyNUUxOEEzMWRFZmVhNDZDMjk2ZjdBNWQ1NjdGMGM3ZWE2IiwiMHhhZDg4Mjk1MkY2QzIxOEQ3MjI3YjFERUEzMzIyM2FFNzUzOEI4NDQ3IiwiMHg5NDA3MUQzYjlFZkVCZkE4NDgwNGI0MGM5NDE0MTM0REM5QkNmQWMyIiwiMHhBODEzRGRERGI3OEY0MGQ1NEU5YzYxYTQ5RDU0NWQ2ZjY1ODE2OTMzIiwiMHgwNzc3ODc3MUI0OTcyNjQ2QTNmNUJmMEFBN2Y2NTcwMjY0NTRhRUFEIiwiMHhENThhNGI0MkMwRDgzMUYyOURENjUxMEJlQjlmYTZiNzM4NjQzNjYwIiwiMHgxM0MwOTc4MjYzODcwQ0E3ZGRDRjAwODE1NjllRTQ3RTM2RkE2MEZEIiwiMHg3NjYyYjljNjg4YTBlNTFFMDcyMTJiRjZlMzYzNjJGMDBEQjA3M2Q3IiwiMHhDMWYxQWJmQTZENDEzNjc1MTE4Q2E1ODlBNTdDNzNDN0E4NzE0Qzg3IiwiMHg5ZWJmZmM2M0Y3NmZGYUZhMTBBRTE3NEVFNjY2NGMyNDlDODlBM2Q2IiwiMHgwMUJiRTM4MzM5ZjMzQzUzMjA3Y0I3RDI1MDU4NThDMTM3N0RBNGE1IiwiMHgwQmZBMjg3RjlEMkIxN0JjNEQ5Q2M1NzBiYWVkYjcxNzQ2OTYxMkMxIiwiMHhCMmE1NzEwRGRGRWVhNTBlZEQwMTZBRjJiM0QyYmJjYjMwYWQ4Q0UwIiwiMHhhQjhFOTQwNDZCNTZBNTA1MTM3MjFhYTQ4RmVCRTYxMjViZThCMGVFIiwiMHg3NUZhNmEwMzdkMUE4Y2ZlNmUxQzhBZTdjNGY2ODY4QjZiN0UwZjQ3IiwiMHhhNUYyQjE1ZDY5N2ExMDI0MTI3NGMyYWE1NzQxNENGNTQ3OTExYzZEIiwiMHg2MjBFMmNEYmQ2NzFDYjEzNjM4OTgyZDVDRDU3MDc1MDU2ZTJFYTc0IiwiMHg2M2NEYjdhOWI1ZDY5Mzk1QjVhN0U0NTFiN2QzMTE5OTA5RTdkMDI1IiwiMHg2QzZjNDkzNTE3MDc0MzdjRUE1NDBlRTQyNEY3MEU2MzYwMERCNDkxIiwiMHhBMEM1ODE3NkU0OWE4YzM5MDk0MDZGMUM0OTNlMkU0ZjMyOTlFMjU2IiwiMHg2MUZjMDVjMTUxMTJjNzg2RjdmMGY0Mjc4ODI5MDM5OTM4YjBEMjVmIiwiMHg2QjdCN0EyODA2MDE5NjIxNjBCYWZiN0QzNzM0NDU1RUJDNGJjZGJjIiwiMHg4NDgxNDA2ZjRlYTVDZGYxNTE4QjNCRjI0NGY4N0M4QTg3MDZCZURDIiwiMHhjZDgwMmVlQzJGYTQzMWM4MDVFMDg1MjdjOTJjQWNjOGYzZkIzYjNGIiwiMHhlNGQ1ZTEwOTRkQjA2MTJCRTk5MTI4RDY2YTIxNGVkNURlNDcwNEUzIiwiMHgwYzhjMDY3MzIxMmY3RjI5MDQ4NjBGOTliNTU4OGEwMkE5MjAwMjEyIiwiMHg4NDAzMEFhZTFBYjhlNjlkNEEzRWYxZjA4MzdEYmNmMjAyMWRCMTMxIiwiMHg2QmU3OTE4M0REODMzQWU3Y0VCNTU2YTNlMjdjZTk4YmRkNGY4ZDc0IiwiMHg2NDNDYjQzNzlENDRiMEM4NDg1ZjJGQ0Q2NmExNzdGNjdkNjc1RDExIiwiMHgyNDA0ZTk4NzhBZjY1NkVjMTAwNDk2RjNlN2I2ZmYwMGYwNTdiY2UwIiwiMHgzOTg2Mjg5QURjRUQ1RkVmMkNEMTBBN0M1NUJBMDdDM2VGODdmQjk0IiwiMHgzOWI0MGJmM0EwMDE2NDUyOTk3QzRiNjcwOTQxRjgyMUMyMDFGNzJBIiwiMHhFMEU4OGJiRDMzNEQzNDkzQWIxNWU4YWI4QzExNzM3ZjQ5N0FhN2ZBIiwiMHg3RjBGYTY1MEY0Yzc3RUE2MWIyNThCZDc3NzEzRGZCRUQxQTAxNzEzIiwiMHhiYzk0NUQ5NTQ3OGMwMEQzNTU1MDZDMDVmRDQ3NDgxNUMzODlCMGQ5IiwiMHhlMDJFZGY3Njk5Mzk0OTk2NjhkQjllODU5M2VmRjJhZGI3Qjc2OTRCIiwiMHg1ODQ2RkVFQjg0NzUzZTlkOUUzMjg3REVhMzAzYzllODg5ZGE0NUJlIiwiMHgyYzNmOEI1QjdjNDRFMUM5YmJiRDU0RTc0NDVBQzQ5NkIxOThCOWYwIiwiMHgwQzJCN2YzNzE3Njg3YjI0YjNCMzE4NTNDZkNmMDlGNDA3MjAxZjJjIiwiMHhCMzQyNWNjQjFBNUFCNTg4MkQ3OTI1NGQ4NzcxMjU5MmJlMWExOUQ3IiwiMHg0NGZGODM2M2JhMzUzNGM5ODc4NTVlZDc4MDRFM2MzM0M1OTA1M0JkIiwiMHg3YjIyQTgxMEI4NzNhNDRkNkNCMzdhYkFGM2E1MDREYUUyNDZjMUEzIiwiMHhBN0E0NDNjOUZiNkYzMTQ3NGQzNjZGNWY1REQ5MUJkMjQzMzA4MmFiIiwiMHhjMjlGYTg3MjZBNzNiNjE3OGZkMUZiY0EyQzlCODdmMmFmOEQ1RjYwIiwiMHgxMjAwMGI1NTI3N0RDNjk1YjNGQTU3ZUMzMWEyMjJFOTdjQWU1NUIyIiwiMHhFRjc3N0UyQkQyQjFjYzY3NjJCZWIyRWRlRTA5M0ZDMzEwRmRBNEQwIiwiMHg5NWEyNkM3NGIzNWQ2ZTNiQTQyZTA2QzJjMDg1ODVhNzlCNkM0MTM2IiwiMHhDMDViZTQ5MDlCMDk3ODRCNjQ1M0JBZjhiYmUxMzYxMmIyMTc5ZjQyIiwiMHgzRjlEYWZkNjQ2OTIzMzc0NDM3YUI3OTZmRTRiZTQ2MGQ1NTVlMWYxIiwiMHg4NzUzZDBCNjRFRjE3NWRhN0VFOTJiQTk5QkM1RDQwNDkyQjFkMTNCIiwiMHg2MjNhYzdFMjZDNzc0RGJjNjQ2ZTBkNGFDMTIxMTA1NjdDRWY1NzlGIiwiMHg3NWJBMjc3NjE2ZmRENGE0M0FFMjZFMzUzQjMyMTEzMjQzYkY0QzVEIiwiMHhiYzQxMDBlYWZlMkUyNjMyMURBMjcwQTIyOGJGQzdEMDhDMDVlMURiIiwiMHgwNTBBQjYyYjFjNjhmNDRCNDAxNTA4ZEE2NGRCZjhDNmJGQ0VlQUJjIiwiMHg3NzlGNTIyN2Q1N0FBQzkyMDQyMTY1MjlkM0I2OTNkMDliY0U1ZTQzIiwiMHg0Zjk4NENDYjNDMEUwMDA2QjZmNTk0MDQ4MTRkOTc0QzczMDcwMzQxIiwiMHgwQUI4RGYzNDJDNDhmMUM5OWE0NzA3OGU1ZUUzZEE2QjNkNGE2MTBiIiwiMHg3NEQwYjcyMmRFODZkNUE4Nzc3RTljYUFjYTU3OUVCNUU2NzkwN2ZkIiwiMHhhODAxMDhFOUUzMWY5RUNmMDQ0ZjVmOTlCNWQ3ODc5NTA4NzcwRkNEIiwiMHg3ZDZmNjViNDYzNDE3NjIzY2JhRkY2Nzk1NzY4MDMwOTE5NzA4NTJmIiwiMHg0MGE1YjVBOGM1RDhGMjkzNDZERDg0NTY1Rjc4YURBZDczRjFFODJFIiwiMHgxNTJmRWRGY0I0ZjgwNjdBNTg5RDA3MWQzQkVBMTJBRjNENDQ0RmFmIiwiMHg4Q2YxNDIyMDVEMTdmZWQ5MkM1NjYwZDY3OTAzMjI1MTI4RTg5NmYyIiwiMHg5NGE1Rjk1M2YxNTVlZTVBNTgyMUFBZjFkN2E4ZjMzRERmMTJCZDRBIiwiMHhEMDI1MDAzMTNENmNkOTI3MmE4YTg2N0I4NjQzNGQ5Y2EyZDVBMGEyIiwiMHhGNEZjQjVhQjQxNkQzOWQ0MzREYkJjMjVGQ0U2NGVBMTg1MDgyM0MyIiwiMHg2NTQ3YzExZjMzZUZjOWE3QTVDMzdEQUVjNERjMGM2Y0E0QjE0OTk0IiwiMHgyOTU5OTgyNUVhN2MwMTBlQzYzOUY5YzE0Nzg1MDRFRkI1ZDY0ZmE1IiwiMHgyMzIwMUNFMjY5YTY5RGEwQ0YxZTA5NzBhOTcyNTQwQjQ1N0ViMDI2IiwiMHhkODFjQTY0NWIwMDRmZkIyZWE3NTQ3Njc5NkE0Yjg1MTE5QzUwQjNFIiwiMHhlNzcwMEQ5Y2Q4MDUxN0FkRTMwMzA0OEY0QzU1ZjAzMjg0YTA5NWNDIiwiMHg2YjVhMzVhN0FkZDREODRiZDVBQTU0OGJhMjhDN2I1MUQ3Q0FEQzUzIiwiMHgyQzI2MTUzMDM1NkY1MmM3MGFBYjBiNUU2MUFBQTBkNjRiZjM1Rjc3IiwiMHhlZjU1OTMzMkJDMDI0MDE1NWJlOTQyQTY4MjMwZTRGOEQ0QjgwY0Y0IiwiMHgwZjE2RTJiOTMxMzUwZThGQ0MxRDhEMDA0OTgzOTZhREE4NWE3MjlkIiwiMHhmMDYzODA2RDA3ZkU3NDJCMDMxYTU0MzE0NWZCNDZkMWJDNjcwZkU4IiwiMHgwZjk0ZDEwNTU1Njk2OWM0YjgxRjM0MmIyNTEzZjU2OGJjYzdhNDI0IiwiMHhCQzUzMzE1YzY5NDlmNTAzRkZlNzdmZWM1YzRFRjI4RmM2RTFiYzcyIiwiMHg2MDk4OEU5MjAzNmVhYTU2MmY0NkI2QTI5MzQ4NkZhMEFGQjk2QjREIiwiMHhFRjhEMTAzNjlhMmMzMzEzZEVhNTFjMzVkQjY0Y0Q3Qzg2NjdhNDQ0IiwiMHhiZDk5YUY3MWIzN0UwNzYzZkEyOEU3ZDZiNzc4Nzk5OGI5OUM1N0E5IiwiMHhhYmM3RkM2YTQwMjQ5ZGU4MWJEOTg4MTYzYTIwOGQ3NjM3NWRENTM0IiwiMHg5RjYzMjFiYmM1NWYyZEU0OTkyOTY1QTUzQzA2MDRFMGM2NzFFYzUyIiwiMHgwOTlmNUYwRDRmQzNCZWEzQzBhYTc3ODEzZWEyMUIxNUI2NDI3MTg4IiwiMHgxMDNGMzdENWI0NTc4NkE3N0EzRDBCQTU3Qzk4NGIwNUY4M0YxYzg4IiwiMHgzQmYxQjgzN2NjYzFGNjIxMTRhM0U3NGNFRDRmQ0ZCMTIxZDdlNTJBIiwiMHgxZjE2YTA1RjY3NTZlRTVDZTNiQjFiQmQxQTRiQUQ5NjBjNjkyNTI4IiwiMHhhODA5OTAyMUJjNDMwNTQ4ODJCMEZkNjVkNjNGNjZCNDgzOUU3RkMxIiwiMHhjOTAwOEI1QzBCYTE4NjEzNEYyNUVlNzg3YzIzMTRlY2FBNTM1MkFCIiwiMHg3MEI5ZjU3ODhkZkJBMTMzRjEzNzFmQjE1YTQ5ODQyQ0JjNGVlZEU2IiwiMHg3N0Q5N2U5NjIyZEVhZTI3NDRGMUJkYkQ5YUE2ZkUzYzQxZGZkZGQ1IiwiMHg0N0ZDQTFhNDRjZGNDMTc3ZTAwN0NiREJlNTYxNkQ0NWMxRmEzMTY2IiwiMHg5MThEQzU3NkFFRGIwMzVmODE2YTI0RjYyZGRDNTk4MWRlZjVDZkNEIiwiMHgwREUwMzIyRDNhYzBkNTAwMmUyYmM5YzNhMTg4NzI4NzI4RDkwNzk5IiwiMHg0ODM4MWUxODM5OTU2ODNlMzdBNGQ1YTZhMzllMzBhQTYzRGQyRmIwIiwiMHhFMjJjMTExYTU2NjFjOGY0MzczQjkzRTg1RWE3YzU4YUFjQUYxNjRDIiwiMHhCNDY5ODk5ODEyRjc0RUU0M0JmZmUyRDIwMjI1OTAxMTFEQTg2NDI1IiwiMHgzRDQyOUIxZkEzZmMxMjc2RDRFRWMwNWUxMTI3ZDJhNUYyY2JDNWE3IiwiMHg2MTEzNzEyMTFEQ0RjMDQ1MTIxYTI0OTc1MjRmNkQxZDM2MTZBRTc1IiwiMHhjOUMyMmQ4MjJENjQ2OUEyQzQ4MjJkYjdhMTkxOTQ1MTE0QzI3RGMzIiwiMHg5NTQ5Y2ZhOTc4ODZEODQ3RjgyMThmZDhGMkI2MTVERjg3NzAzYUQzIiwiMHhjM0Q2N0IwNUJFMDRmNGIwZTFmMjJGMjM1RTgwYzZiMGI1MkQxMjY1IiwiMHhiQjYxYThERDRmQjgwMTYwNEY1RDk5QjM0ZGQ0MDkzYUVFN2NkMTY3IiwiMHhlN2NmNDZDZmVCMTE1MjlERGQ3MDg3NmNFYTU3N0JGNEFDZDk4NGUxIiwiMHg4NDM1ZjRhODI1RGEyOWFjRjU3OTM1NDc0ODIyZUE1N2YxNzgxMGVGIiwiMHhEOTI2OTU5ODk0NjA1OWJGRTQ0ZmM5YjlDRGVGZEFiRTk3NkU3QWU1IiwiMHg5MDEwMmZmNzI3NTg1NTY5QWE0QTNmNTViNjBBNzUyMDM3MTBmOTJiIiwiMHhjMjM2NjA3OWYyMDQ0M0Q4OWJhZkI0MURGMTAxNDNlMmE0NzdCYTQ4IiwiMHgzM0UxOUI0OTJBNjgxZjY5MzUzRDAyQTk1RTc1YTQ5ZGZjOEQ4NzA0IiwiMHg0NTUxRTEzQjk5Q2MzMkM3NTJGRTRmNWFiZWI5ZTZlQzE1OTI5RDhBIiwiMHg5MGM1MTdiRTFCMjViMkM5MDRlQjkyRTJlNzJlODhkMmE1QTdkMzg4IiwiMHg5Mzg3ZTJlQ2EwZjdFM2U0ZjQ3N0YxQkEyMTFjMmZkOUVmMkJmNTYxIiwiMHhEQmMwMTk2NkYyQTU5ZEIzYzI0NjkwRDY4YjhBQkZBOEI5MjM5YjQwIiwiMHhEYjU0RjFhNGIxQjlCZGFCYjM5ZDQzY0RjNjk2NjAzOENGNDMxRjFEIiwiMHg3NTdhN0U4OGU5ZDQzRkYyNTE4MjhFZWFlOUI5Nzc2NzQwYTlBM0JFIiwiMHhmMmIyNThEODA2RTQ0ODU0Mzg2MUUwN0UzMTVDMjVkQzNkQTM2ODE4IiwiMHgxMEIzNzA3RTc5NGNkNEYyNzdCNjZEY2Y0NzczNjk5QmVBMUUyNDZFIiwiMHg5NzUwZTVGQjQzMjBkZGE5RDg4MjNBMTFGZTYzNTk0MDVFOTc5NTA5IiwiMHgzMzQzRDhmZDQ2QmEwNDY5ZGIxNjBBODIzODZhODI2MjE0Q2VmQ2I2IiwiMHgyREFENzE1NEY3ZWY3RDJiYUE3MzZmOTdjRjAwMEU5OTMxYmExMjBDIiwiMHg5MjNBNUE2OTQ2ZDM1YjY5NTk1MzIxNzMxYWI0ODRFY0NhRTNlN0FFIiwiMHg2NEUyMGFmNWRiZTU3N2MxNmVDODFhNmQwNGExZDg3NDQwZEQ0RWIzIiwiMHg0NDljMjg0ZGE3NDg5RTU0MUE2QTVlNTU0OGFCODIxMjM0Q0RGMDNEIiwiMHhlMUEzZTgzNjAyQURmYjkzODNEYjJGRTg1MWNlYjAwZDg0OTA4NUM0IiwiMHhFMTBlN2U5NDI4MWZiMUVGMDhiOGM1NTU0Njk5RjQzMEE1MkE4MzMyIiwiMHhkY0Y2Y2VDY0IyODc0NDkxRTM5QjdDNURCMGQ1MEQ1NzFhOEExMjgzIiwiMHgxOWJkMkUyQWI5MDk5MDg3MzVEMTM0ZTY5MTA3Y0U2NEE4N0MyODM1IiwiMHhCZEYzNTY0MDI5ZTdkMzE5RUIzOEE5RTJiMDZDRjRjODM0OTAyZDhhIiwiMHhCOTQ3QkU4NTk5ODI1ODNhOWE1ZEZCMTI0ZUQ0NUYzNUFCNDg2NzAwIiwiMHgzYzlCNTc4NTVGNDA4ZkVhOWIzMDE5NDJhMzlFMzI4MDZFODhGYjQ4IiwiMHgxMDgzMjE0Rjg1N2ZBMjM3ZTA4YzQzNDdmQjUxYmUzOTg2ODFDRkFGIiwiMHgxQjhBNDE5MUYxNjcxMTcyNkMwNDAxN0I4MTU0RDQ5ZTdDY2FjMDA5IiwiMHhiM2M3NDg2MGQwRTQwNTA5YTQ3YzNGNTFFQzU0QjRGOUJjNzk1NzhCIiwiMHg1NjhBRkFFOEVBMmRjRjEwNGM4NUY4NmY3OTdEZDdBN2NkNDhBMDkxIiwiMHg1MDNmNDc2MDBiNjYxMTNFOTg3ODZGM2E5M2ZmMzc3ZjZhMGVGMUE0IiwiMHhEYjgzOUU4ZjI0N0M0NkNiOUFGRWM2MWIzNWY2NmE2YmJkQUJkNjI2IiwiMHgzNTI4YjI0ZTBCZkQ2ODY2NUI2MjE2QzJhRmVlNWYzRjQ2N2RBQzdBIiwiMHg5M0YwN0FhM0QyYTMzQmNGNjk1NWU2YWZkN0FmYzA1M2VlODY0MTJCIiwiMHg1NzM2Zjk2ZmMyMkE2RjQ3QTQ2YjA3OTg5RTAwN2VhRTAzZkVENzFGIiwiMHhCZWM5Mzg1RTVDMzQ1MTRkRjBEMTAzMUFjRTU5M0VFZUIzOGQ5ZjVGIiwiMHgxNzdiOGI0NmE4OThENEM2OGEyMzgwNTRGZTYwNDlDOTAwNjY3NzZDIiwiMHhDYUI2MUI4OTY1Y2Y3YzFCYTFkNUIzNWY1ZURBQTg4NjM1ZjA0QmIwIiwiMHhENTE1YzM3YjdlMjJkYjUxZTUxRWE0ZDI0MEY3YTE0MzAzNDE4NGYxIiwiMHhmOTAxN0EyN2MwNmFlMzg1MTFhNThENTNBMzBmNTRmNjgxZjUyYmE4IiwiMHhlOTM3YkEwMWE0ZkRmNmU3RTBmOTcxNTM3MjJkOENDRjc5OEUxODU4IiwiMHgwNTUyMzA5NDUyMzE4MWJEQTg2MjcxOTQxZkRjMTM4RjQyNjZEMTAxIiwiMHgxRjk5OWI2ZjBmMzBDNUU5MTEyNUE5NDg4NzY5MTA1YjIyOUNFZDRjIiwiMHgxNjEyOEIyRDE5MUVlYmYzNjAwOTZkNTBiNDYyZjhhRDQ5MUI5OGNhIiwiMHhjZjM1QjI5MjNDZjhjYzE1Mjg0NjE5NDU5MmI2OWEwODE4MGNEYWVBIiwiMHg2OGIwOTMxNTc2NGQ5ZGUxRDg4RGIzZTQxMWJjNEExY0UxMzMzOTM3IiwiMHhjQjNjMWY5NmFFNmFiNEZjMERFYzE0NzAzY2M3YUQ5ZkNmRDZEMTc4IiwiMHgyZTkzNzVCMDJlOTFEMUEyRDczOUMxRDMyZjlBYmViNUQxZmVhZTk3IiwiMHgzMTUyNjE5ZjMyNTIyNzZmODE5YUI2QzVhY2Y5ZTc1MmE3ZjhBOTZGIiwiMHg2NTg1NWE0RDMzMjMwNkIzMDE1OTU2NjdEYTg4N2VBYzI2NjhFN2QyIiwiMHg1NUFEOTgzQTJiNDRjRTBCQzkyNjc3MzFFOUQzNDU1NUVlRkQwMjEwIiwiMHg4Mjc5OEFhYjAyYTBDM2Q5NkJhRjkxYmE4NjdjNzgyOTg4MUU4NWIyIiwiMHg3RTc5RDcxMzM0QzBDMmM2MjU0NmNGMjBjOUNBY2RCMWM0ODE4QzFiIiwiMHg5ZTU4ZTJCQjE4NzNlRUEyNDMxNzk2NDM3MGI0MzYxN0FFNTlBNTA2IiwiMHg5Q2E0ODFmRDFjOEVjNDQ4NWJCMWRhMWUxMTNCZWVGQjAwMGU5ZTlBIiwiMHg0ZjE5RmQ0ZDg1NzMxYjc2QUE0RTAwNmU5MTA2NUY5NTJkNWEwQTJiIiwiMHg2NWIwZTg5QURGNTA1MjJDZkFCN2U2YzdhMGQyQkQxQzM1Q2NlRDBmIiwiMHhGRGFDRTdENGU5YjZFOTg5NDYyZGNBYTA0ODZENzBmMDZhMTBkNTU4IiwiMHhiQ0E1NDI4MTVkNzZjM0VhNzBFRUNENDY5ODIyNzZFQUEwQzQyZDYyIiwiMHg4MkJDNjFBRDNDNUJDRDNmNkY1RTdjZTllZWE0ZGE3MTU1ZDU0MDllIiwiMHhFYTRiNDYzMjE0MjBhODFkYjZBNzc3ODU4NzdDNGQzNDk4YTMyNEEwIiwiMHhFMjIwODEzYzk0MzlkQTZlQjY1NDYzYTIxNTIxMmEwRjUxNEEyQjUxIiwiMHg5NDM5NTUxNjNmQWQxNjU5RjA3NzQ2YjczRDNCQjRjNEM3NDM1ZGUwIiwiMHgwNTliOTUwOGY4MmNiNjU5ZWE3MzQwZUJkMTgxNzIwYkJmOWE3NjQ2IiwiMHgyYUZCNzhCMmE4NkQxZDcxNDJBRkJFQzJkMGY3QjBCZjY2ODJiRjI2IiwiMHhjZGYxMjczZTllYTIxNENCYzgyNjgwREJiNTgzYkNDRjQ0QTE1MDYyIiwiMHgxRTA1Q0Y5ODIyODg3MkNCQmVlOWJhOGEyN0Q2YWUyMERFMjZGMzM0IiwiMHgzODhkM0ZlYTFEOTE3NmNENzA5OWY2MzNDOGRCRURmY2E3M2NDRjBDIiwiMHg1QTUwMWVCZDExYjRDZjBCRDA0RmVGM0ExMTk3MzZjMEI3YzBiMTI2IiwiMHhDMTFENWI3NDI2MjU4YTE0ODQ0OTljM2JBZUVjNzVhYWY0OUQwYTNFIiwiMHgzNGEzZjNhMDZmZjVBNzA2YkRGOERFQWU3NDY0OUMxOGVkZTgwRkI4IiwiMHhjQUIxMTJBRDNEOUM0NzEzMGYzQzlDNDZiOUY0ODJiRTRlYWNmQzZFIiwiMHg2YTQyNUQ1M0E5NDQyYzQ5RjY3QTEyMjg4MjU3MjljOGQ1MDZkNjEzIiwiMHhhOWNENDhBNzQzRTgzNzgzRmM0RDQ2YjU3MDdlNDg5MzZhNDUyN0QzIiwiMHhmMTYwMzQzMmE5NmNCMzcxRjAzZDc3NTAxZDFkN0Y1NTA3MGNGOGNjIiwiMHg1ODJFM0RBMzk5NDhDNjMzOTQzMzAwODcwMzIxMWFEMmMxM0VCMmFjIiwiMHgxZjVCRDRFYmM3N2I1NjMxOTRFMWVBNTY0ODYyNUU4YWJBZTc4NzAzIiwiMHg1ODE2NTAwNzRBMGE0NDY3MzIyZDY1RjkyRDg4NjdDMGU1MEQ2NkI1IiwiMHgwNTcwNzk3MEI0MGEyRDQ1ODE2NzU0RTA4NTljMzg1YTc3YjczQ0U0IiwiMHg4N2I3MmFhNjE1ZUVFMTRiNzgzYTgwQTA0QjY4MEMwNEZhMGUzN2YyIiwiMHhDMzcyOTc2RWM5Mzg4QmM5MzcyRTgxQTkyMWEwNzVhNWEzNUJhQTFFIiwiMHg3YUYyQzY2MkJEOURGMUZjMjFENWVlMzk4ZDgzZkUwNDJGMTlGZTkwIiwiMHhDOUU2NTRFMmJFMDRhQzdFNzRBMDg4NEY5NkNGMmRFQ0VDMTdhM2RkIiwiMHgyNTQ5Mjc3ZGQ0ZWU4ZTE2MjA3MTgxQzdhMzA2NDExMDg0NDMyZDA4IiwiMHhhOGFiNGU2NUU0MDYxMENBZTQ2MjE4MDNjMEZBMkE0MzIwNDlFNDE3IiwiMHg1NTdkNTQ3NDFiODMyZTZkMWM5ZDEzMDQzYjQwY2UzMTE5OGQ2QTdFIiwiMHhmODUwMEYzMDNDNjA0MWM3Mzg2NGFFY0ZBRDQ4RGYzNjQwRjkxQzYwIiwiMHgxYUY0MEVkRDA4YjczYTVBQjhlYTcxNDc3NEU3MDRDYmQzMGQ0Q0E1IiwiMHg3MzI3Q2ZCNjkzRUJkNjlBMTZiNDdkOTA4QkMxNzlDMmRiODg5Y0UyIiwiMHhDMjMxMjQ0ODdiZDM3ZTAzN2Q1QkRkZUIwOGYwODI4YTliQTdlNWJGIiwiMHgyMzFCY2YxNUIyQ0EyYkIzYjUzM2Q2YjE3ODAzNDZkYUIyRkIyZTI1IiwiMHhDNTU5OGU4Q2U1NUI0Yzk3NUMwRTdFRGQ5MGNmNjNCNGYwMjQyQTRDIiwiMHgyNTAxZDI5NmY3NUNiZDQwNTI5MEY4YjlkNDZlNTA4MTQxMWFBNjZiIiwiMHg0Yzg0NkI1YmExMkU2Zjk1QzBhNWUwMEE1RDIyNGM2N0ZhNDllMEE5IiwiMHhEMjE2Y0FGNjE3YWNFQzY1MjQ3YTc1MDQ2OGU1OTAyYzREOTE1MENlIiwiMHhCNDQyNTRFZTcwNjBGOGQzMWI4MDkxNWNEMjI0RjE1OUM1Qjg2RDNiIiwiMHg0MTlhMGQ5NTk4QTgyMTk5OTAyNDJGQ2Q1ZUMzMjFhNzhBREU5MjkyIiwiMHhCMEYzNjI5NkUwOGE0N2NEYTliOTgyMTg1MzA2ZGMyZmZlMjI2NzkyIiwiMHhlM2RlOTBhMkZjZjBlNDYyYTkyYzc2MjMyQ0NFNjQ4NjE1ZjExODAyIiwiMHg4NUEzYjE2NjZjYTBCN0IwNUVlMmY4Qzg4NGQ4NDczYzgzYTdEMzU2IiwiMHhmRjM4MGI2MkNiODYwZUUxOUQwNDA1OEUyMDgyOGY1NGE0NUJFMTdDIiwiMHg1REEyMjU0QTdlRDVFMDkxZjA0ZjUzRDRDODgwZWUxM0JlNEJDNzBDIiwiMHhERGFlNWFCMURFRWQyQkU5MDgxNUVmMDZmMjE3NTkwNEVFQWY1NDE4IiwiMHhDOTRlYjdBMUU1RTUyYkQ0MjI0MWQyNzI3MUFBRDg4QUFmNDQ3QTE0IiwiMHhBMTYwNWJhYjNlZkYzRjRiMzUyNTlDM2FlMzdjZGY2ZWEzNjJCM2FFIiwiMHg2OWNGMTZlYjdFOGQzM2U2Q2U1NmQ0ZGFDM0JBQjdFZjM3NmI3ZDU4IiwiMHhBNUIwRThkMmQ1MDMxZEMyYTZCYTA4MTlhYTIwNjZFZjJhMDY5MjkzIiwiMHgyNWY3ZjYwODhENzYwMzc2MTJEOUU1MEIyNmI3RjY3NzdlRDZCNzU2IiwiMHg3QWJGNTVlNTYwMjMyNURFOGVmMmU5N0ZjRGM3NDVGMDMzYTQ5MDdlIiwiMHgwYzBjRTY4Rjc4NDJhRGIzNGQzNUI0M0JFNDk2YjVhNjkxOEQzMTRBIiwiMHhGMDIzYzk3OTQwNzM1NmI4ODc5OWYwQ0Q1RjVkYjc5OTg2NWY4ZUUxIiwiMHhGNjZEN2JlYjlDRGMxN2I4QWNEOWQ0QTBmMEEwYTRjY0U1MjNlMTUwIiwiMHg3NUNlZENFYjAxMmE4NjgyQkRGNzM3QTMwMEY1MTAyRERhNUE1Q2EwIiwiMHg4MTg5OTk2RkU1MGZGMzhDZTA2OEJDMjJFYjc1NDhhOEFjRDU3RDBFIiwiMHhGYTFFQ2ZiOUM4ODk3MzMzMDYzYjIyMmI2OTM4MzFkMTFjRjBBNzM0IiwiMHgxQWQzQzRlNTQ4NjY1NTQ5QTQ2NzYwYkI4RDMyRDViNjFCMzIxMThGIiwiMHgzM2RkNmNhQkU1Y0Y0MTU4YzAzMTY3NDU2MjFFQTIxQ2ViMTgwYmU2IiwiMHg2QTE2NGRBMmNkQUU1RjE4MzZDOEZlNmQ2ODNDM2RmNEEwYTY1RTVjIiwiMHg0RWI1YTU3REI4OUQyMGE0OERFRTVFMDFERGIzNDIyQjAwYzIxMkRkIiwiMHhiRTk0YjhlOTNBZTZkZTlGRDJBNDcwQzgxMTA3YjBBYTJDM0U2MjcxIiwiMHhBNWI5ODgwNDZBYjA1MWQzYzU4OTNGYzEyQ0ZlNzY2MDNGYTI1Q2QzIiwiMHhCOTc1RDRERmM3OUUzNTUyMWIwODkwRTE5MUZBOEMwMTgzOUI3MUExIiwiMHhFYjg5RWMxODFjQTA5YUI1RkEwNzFDNjI0ZURFQjQ3NjFhZGE1YTc5IiwiMHhEQTM3MDZjOUEwOTkwNzdlNkJDMzg5RDFiYWY5MTg1NjUyMTJBNTREIiwiMHhlNDY5OEFCRWE2RDA5NzkwRTQ2NzA4NTA1NDY1NkFiMjQ0MTA5QTU2IiwiMHg0NDQ0ZUNiNjcwZGRCRThFQ0RDRDNCYTExMjhEODIxOWRmQTIzQTk3IiwiMHg5MGMyNzdkQjJhQzE3M2I5YzgzMkE4M0E4NzllRjhFRmVDNzVkMkU5IiwiMHhDYzYyZEM5NTQ1NTlFOGUzMjJlQUI3YjU1ZDIxOGIyNTQ2RDcwMDBDIiwiMHgxMmNjZTc5MkU0MzlDQWQ4ODgzNGY3ZUEzZWY4OWRDMGRCMTYxOGIwIiwiMHg2NWFCNTI0NkY4NjQ2ZDQyRjA1OTBFOWU2M0MwRjdkQzNjNzNGNzVkIiwiMHhkMDQyM0Q4NGY3MzE0NkQ3MzgwMmRFOENGMEM2NEFkMGJmMzZDODgyIiwiMHhkM0Y0NUI4Q0I4MkNmMzI4YzM1RmM2QWMxMzg3NTI0NkJEZDUxMDIzIiwiMHgyYTcyMzg1M2E0NDRlYTg4RGRlN0NjZURmZDhmQ0RkYThCZDEzYkZkIiwiMHhBYjJCOUI0OTZiM2RlNmU1Mjk2YjFDZTYyMjk4REQ5NzQ4MTY1ODU5IiwiMHhlODAzQTRjZjE2NTAwMzM2MmJhYzcxMTQxOTQ1MEY0RTlCMTRkNUQ4IiwiMHhCMWY4Rjg3QTdENzNBN2RiNzBGNzBlMjczN2EzNTA4MjY1MDdmYTllIiwiMHhhNUQ4NTU5MGM1NEQ2YzdEMDU4QjlhMzZFOTA2QjU2MjUzMGJmZTA3IiwiMHg2MzE0M0VGZTViRGE5ZERERDlCQzRkNTQyRGJiOTNCMEU2YjJGNEY3IiwiMHg5NjJFNjM2YzhhOGE1NDBjMTNiNjBGNDlDMDczODFBRTA0M2YwZWJGIiwiMHg5MUU2NTRlYzBCN0JlNjEwODhlODI5N2Q4RjQ1MTIxZjg3N0EyRjAyIiwiMHg5NTVkMjY2QjZiQTUxNjI1MTgzNUNjNDQ2NmM3ZGExMDc3ZDY5MEU2IiwiMHg0ZTVhMkM4YThjZkNGNmREMjNhOTAzODJlNmUyOWRiNjgxNDA3ZDlBIiwiMHg2ZDU5ODlhMDQ5Y2IyMjQzNzZmZUZCMjg5YjBhZTVhOTdhQThjQkRkIiwiMHhlMDgwYjA3MUVDZTU4MDBmMjc4RDQxOWU4Q2RjY0Q1OGIyMENCN2I5IiwiMHhmYzA3ZDQ4NTljNDE5RDA1YkI4RDhCZjIzMTQ0RTI3QzJDQkJkNzYzIiwiMHg0NzgxNDVmMjZlNEY0ZDk2OTY0N0I1N2VEY2JlNDdiNzdkMzJhYTcwIiwiMHhhQTc1NTRFRDM3RjUyZEY2ZUY5QkVjM2NlMDc1QzUxMGI5NTM4MTM1IiwiMHgyRTFGNzVmQTQ3NjQxNDlkMmRFOTQ5Q2JlNDFBMDdDM0REQkM5NTZhIiwiMHg0ODVkMjBlOGFhQzlGN0M2YTM5RDA1MTQ3NzM3NDg3RmY0MDkzQWY0IiwiMHhhNDVGOTQ1OGI4MkNGRUY3MWRBZDI1MmE4OEJjRDkwOWYxNTUxYjUyIiwiMHg5NzNDNzhkMjEyMDU3MTNiNzdiN2Q3NzMxNDYxMUVFYjI3QjI4NzlkIiwiMHhiN2Q3Njk3QzBBMTVjYzc5OEVhQ2YxNDQ1YjA1YkIwQTNhYTVDQzk2IiwiMHg0ZDNmNEM5OUNlNjQyMzU0ODI3OUJjNmM2YWE1MDFhM2Y5ZUYxQmM2IiwiMHg5NDc4YTkzMzY5MTVkNDU2ZWM4MjM4MWVhOTdCNDdhRTVhZjgzQ2E4IiwiMHg4MTgxZGFmODVCMzBCOTcwQkUxZmI0RjI4QTYyZTQ4YTk5OTU1QjJGIiwiMHhGZTU0OTU3MEIyRmZBMjE4NGZmZkJFOTgyQTVEMTFDYTlkNjBiZTBFIiwiMHgwYmIxMTkwNDY4MDhEZTBmNTM2RDIxQ0U0OEFEMTYzZDlhNjA5RTFhIiwiMHgxYkZmQjhhM0ZFRGU5ZjgzYTNhZGMyOTJlQkYxNzE2ZDQwYjIyMGMxIiwiMHhFMTA0Mzg1MTY4ZEE0NWJFRDgxMWQ3NkQyRDgwNGU0NDVBODkxRDY3IiwiMHg2NjViOGViYzZhMjkwOUFCN0Q3OTcwMzhDQUM4ZTU3MTdERmUwNjY1IiwiMHg4NzNkYmM1RUQ0ZjQxNDdFQzZGYkE3ZjAwNEQ1MURFNjE3NzlkNzgxIiwiMHgxYWRGNDBBZEZhMmE3NGEwMGRjNDUxNGVhNGQ2YjU5YjgyQjdiRDhhIiwiMHg0MzUyRWYxMjMyMDVEOTFCODE0MjVFNWI3MThmOGE5NTkzRDk1M2YxIiwiMHgyY0I5MzgzNDJCOUNENjM4NDcwZDk3YWNiN2I0ZTFkMUZjYkE2NDI0IiwiMHg5YTYyQTNmNTdCODFDQjBhMjU4OEJhM2NCN2IyMzk1NjA0MjE1Qjg3IiwiMHhiRDE4NkQxNEMwMjA1OWI2MDgyODA3ZmUwOUE2NjQ2ODgwNTg3NzI2IiwiMHg4MzI1NzFiYUNGMDU3N0FhODUyNjlBOTFDMjRBNjk4ZTEwNTg4NTM0IiwiMHg4Qzc3YWFkMDQ3OGYxMDM5NmViMGU4MjI2ZkFmQWNGNjgyNTI3NUMwIiwiMHgzQzg0MWZkYUNBMkQwRDU4QThjNDNFMDUyMkUyODA4ZjAxOGNkNUNlIiwiMHg4NEFDRUMyNTA1MjhiQmFiYzNGZDhkNTk1YWREMGE2M2Y0ZDI5NmNGIiwiMHhhMGIzNTlCYThhNTAxRTY5N2NGREUwYzllRmFlOGZiOWQwOThGZTgzIiwiMHg5YjA5OTUxMDBiN0JCYUM4QzQzQTAyNTM3Zjg0MEFhQ0Q5YjgyMjdiIiwiMHgxRTkwODJEOGNiN2Q5ODMxNTc0MjczOGNkOWFFQTJhMzM3MTA4M0M4IiwiMHg4ZUFlMGI0OUYwOTg5NUVENjM3OGFFMjA0NWNFNkI3OWNjOEQ4NThlIiwiMHhGQWI5NWVmNjdmRDEzNjNlZjVBMzlhMUUwNzU2NjMyNjY0QjQwNzNiIiwiMHg3MDBEN2M1QTAyMTJlNjUzMDM1MDBGYUFGZkJENWE2OTAxMWVDN2Y2IiwiMHg3OUEzOTE5ZDg2ZTkwRWIxMDFDNWZCYmNhREIwNkI1NDY2NjdCMzIzIiwiMHgwNGJFNThBMUQ2RUIwNTJBNEZEYjI5RUVmNzNFNjBjNzA5NEE1NDY3IiwiMHg5NTNFZDQzMDYyODU0QzQwMDRDMzA1MDJhMGE0YzI5MjU1ZTA0RWE1IiwiMHgxYTIxODMzNkIyMzkwYTE0Y0U0MTExYzZhYkM1RTY1QURhRTA1YTUxIiwiMHg3ZUE2MkIwZTlFODA0ZDM1YjFBY0Y4QmJiYTcwZEVmNjBEZTQyOTcyIiwiMHg5RTAyNDBkNzEyNjQ1MTJhZTI2MDNkMzRBMWYzY0Q4MTlEZDU1OGYxIiwiMHgyNjY5MzE3OGExN0NDNzdjRDNjOTFDMEE4M2RmYUExYzVGNjY3MDgyIiwiMHhDMDhjMzQ5MzBmRjU3YzQ2YzVGODMxRDBiQUUzYzE4OGRGNzhjNzZFIiwiMHhBRTgyM0NBMDBCZDA1Y2ViMzMzMGRDMDQ5OTlENGI0OUNCZERlNGU5IiwiMHg2REE1MmI0MEVEQTVjNDMyNDU1ODFDODg5MzY2OWRFRTI5NDE5MDhDIiwiMHg4NDI3NTQzYUY4MkVDNzg3ZUY4ZEFkMjllQjdCNjUzNThiOTVEMTI1IiwiMHhjOTMxRGRiMzkwRUU1YTdDY0NBMGE4NjZlM0Q2M2RjQTM3N2FiMjk1IiwiMHhjNWMwNDM0NDRlNTkzMDIyZTc4NmQ2MTQ2MWE2YWU2QTNGMWM4NTQ4IiwiMHhBZDBEMzE1ZGVDNjlmMjYwYUVlQUNDYzhhMDA2NmYwQTZjMjBDNzU4IiwiMHg2RTllNjg4M0M3NTdmQkY4ODcyRENhMGJmQUVhODM0MjVDNjk3OTA5IiwiMHgxMkFFMGE1MUEyRTQyMjhkRUU0YTA1YzUxOUIzMUEyOThFODIyNDZFIiwiMHg1NjgwRUY1OTc4MTlFNjkzMjQ4OGQ0QzgzZjU2MTRCMTk1MEY5NDg4IiwiMHhGODgwMjEwMkExZjQ5RTY1NmIyNzE1MGMzMzU1NTg1QjU4Y2NBMzRFIiwiMHhBQzY1NzdDRjRCRDhhMUZhMUU5NjE5Njk3Y2NmNzg2QTMyNzgzQmVjIiwiMHhmN2E2NEVGOTE1NkFGN2UzRDBjMEJhNzQyZjE5ZEZGRjM5MjhBRTU3IiwiMHg3QWMxZDAwZmQzZmFlNzg5OWMzMTZFNjgzQThkNDk2NzA2MDI2ZTFGIiwiMHg4RjgwNEE4OWYwMTY5OTA4NjBBRDQxMzVCMGUwNDBmOWQ2RTlmMWY2IiwiMHhCMDhjM0MxNjdDMkU4Nzg0MTY1ZDlEOTdGMzlmMTFiNzEyZjFFRmJFIiwiMHhGNzA0MjYwRTkzZmIwNEE1QkYzMEM5RENCMTVFMmEzMzMzNjk5QTAyIiwiMHhFMGZDY0Q3RThDZDVDOEVhRWI3YTBiQTY3MzRiNGVBODBEN0IwNzcxIiwiMHhkNjc3ZERFMzgyOGM0M2E4MjU3NkRFMmFGQTRkNWFCNmRENENEZTYxIiwiMHg4YjdBNTM5QmNCZkEwRDkzNjdhZENlMDFFNjNkMDZkQTdFYkUyYTQyIiwiMHhiRjIwOUYxQTdEOWU5MjM4N0ZBMzYwNWE3ZDNCNzI3RDZDRDVmZjBhIiwiMHhjQ0E5OTNjZTA1RUIwNDJCYThCNUIwNDE0NTA4MGVlMmNhNzcxNjcwIiwiMHg0ZjlCMDJCQjcxQjNGNGNCODJlYTA0ZmE2RWUyZjU5NGVBMDBkYjFmIiwiMHhmMDY4ZjI3MTNmMThiN2MzMzAyM2IyODMyN2Y5MjAxQTlFNzM5ZjdGIiwiMHg3YTM4MjhhZWI3NzVkMGE5NkJhMGMyZjFEZjIxM2M1NjRjNDBlYTMxIiwiMHhjYkZhMjdDRDJEYmVCN2Q5NjFjRTJiYzVmZTA4Nzc3MDFDOGYzQUJBIiwiMHhlNTdjMUMwREY3RGNhNTc2QjczMjM1M0JBQTcyZDhhMzkyRjZiRTRFIiwiMHgyYkI1MTk5MDNjYzIyRjJlNjg5Nzc5MWQzZmM3ZWY1OGU5NmI2RjI5IiwiMHg1RTFGMTk1YWVmOWQ4QTBGQTJDZjc1MmVFQTcyOTY4RjkyQjQ4QWNFIiwiMHg1OUU4Rjk3MWNCZkMxMDA4NTdBM0RBZDc2OTZmZjhhNjU3ZmIzOEFmIiwiMHgzODU5QjNEMDFiNGVBYzA0M0E1MDcwRDM5MTFBN2NDZDg3M0VjNmFjIiwiMHg5Mjc3NjkxQzU4MWVlZjc0MzNFMUI2NmIwZEVEZTA5NWJEQTc4NEFFIiwiMHhmQzg0Mjc4NGUxOTUxNEZkMkZhODU4N0FGMDQzRUU4RTJmQWNjNDEzIiwiMHgyN2U3NzQ2YTA3RUY4RjBGYTY5YzA3RGU4Yjc0RTAwQ0I0NzZCMDZkIiwiMHhGNEI1Y0RBNmIwMDNFNDYzOTA2RjA4MDlmMTFhNjI1MjRkRmZEYTMwIiwiMHg0MDViZUUzNTI0YjQwNzY3M2Q5Zjg2YzhhNDVjOGYxQjkyOGEyYTc3IiwiMHg2NkRlZGRkOTZjNDMyRTYzQ0MzRkJlQWIyQjc2QTVBMUNjMDg3ODU4IiwiMHhCNzhBMDFlOTdjZDBlNjJjNGZENDYxYzM4MTBGQmRFMDhDMWZFMEM0IiwiMHgyRjEwNEQ3MTJlN0NmQzYyODIyRDQ0NDlGMjU1ZUNmOWI3OEZENGEyIiwiMHhFOEUzNTRmMDk3MzYxYzdlMzcxYzg0N0YwNGIzOERjQTNGMTQ1YzBDIiwiMHhjYzBhMGQyNGNGMkIyMjRDNzA5Nzk2OThhRUJhMWJDZjdlNjM3OURjIiwiMHgwMWJhNzJjMEI2NDZkZjRkRTk0N2YxM2VGZDE0ZDNBODNFNmNGNUUyIiwiMHgwQTNBNkZkN0Q3MzY2NDU0ZDAwMjE3MDlBQ2YyN2M3ZjlmNWRmNUY2IiwiMHg3QTEwNTJFQzI2MDNGRUQ5NkIyREQ1YUQ3OTlCRWQ3MkJEODU1QzQyIiwiMHgwRkE4RkQyMWRlNDc1NjE0ZjBjYjNFOEM4NDFjRDAxMjU4NDdiNTMwIiwiMHhEOGEyYWE4ZDRiZWQ2NDk1RjQyMzQyNDQyREMzNzg2NDc3OWM3MTM3IiwiMHg2MDExMDQ3RDczNTJCNTVjMUY4MTkwMzUwMkU3MzdiNjMyZWE1QmE5IiwiMHhjMzhBODY1QTQzNTk4NDk3YTMxZWJBMWNlZjVkQWZmNEY2QTkxMTAzIiwiMHhjMGI2OTVCOURFMzQ3YjY2MTM0ODgyQjIxN2U3MWNFMzMzMzU2QkVDIiwiMHhiNDNkMTBiMTMwRDIyMDMyMURlNTAzNDNEZjhmNjgwZDM4NzgxN0U2IiwiMHhlNjc5YjJEZWE4MjMwNzI0MDg0QjE2M2UzNjZhM2U5MWI0QTU3MTExIiwiMHgxY2YwMDU0M2ZhZDAxNzY2QmUxMkMwZWE1M0NBNzI0YjNEZDMxOEM0IiwiMHg2NTM2NTliZTREMzAyNTI4ODNlNjQ4OEE1NjAzOTFkODQxMzQzODIwIiwiMHgzNDZlZkIzNmE4YjA1NWI4ZEEzYjg3NjU1OTMzNTAzMTA0NzQxQUE5IiwiMHhFMmQwOTk2YWQ5QzA4NEU1ODkyODQwM2FEOUUwNTQ1MkI0NjljNjQ2IiwiMHhjMjAwNzA0YTZkNGVEMWExNEI2MTA2QUMyRDJBOTU5QzkxZUQwZGJjIiwiMHg3NTY3QzA5MzU1QzljRWZEY2MyNzhjRGRjNzJjN2IwMzMyMTQwRDFmIiwiMHg3MjAyNmZGRTEwOGY4QmY4MzEwZjk5QTAxM0UwMjQwZEI4N0QwQjg5IiwiMHgzODcwRWE4MzNhNjc1NzgyNDAxOTM5Y2NlOTdGRDZiQjc5OGVDNjU3IiwiMHhhZjg2ZTU4NzIzMjkxOTNGNzJGMGIzODUyMjdiZEJBQUQ0RDM4ZmY4IiwiMHhGNTQ5OENkOTVlNTc4NTkxNzlCOTEwY2M1ZTIzNTRBYjIxNjViNWI1IiwiMHg5YUMwODM3MEEzODAzQTJBMTA4MDUyZTJGN0NEMzQ1Mjg4Mzk5ZEJjIiwiMHgyQzFBZTg3NTMzZjlmODQyMGFDNzU2NDMyOTNEMUFDQUFCNTdjODczIiwiMHgzOGUyRDU5NDY1ZTU0OGI3NTgwQTkwODNiNEY5OTIyZGFlODVGY0REIiwiMHg2ZDZmZWEzRjY2NDRmMzhlRUU3NDA5RmU4OWUzZEFlRGQ1ZTE1NTRGIiwiMHg5RGVlNGE1RDVFQ0U0MjM1MmUzN2QxMzJjQmFiNkUzZWMzOUIzMjNCIiwiMHhmNTNiNTFlMTIxZDQ2MTBhNjYzOWYxOWM5OTFmNWMyZEZENkU0Q0I2IiwiMHhmOTFiOGI1NUEyQjdFRjY0QzQzYWRDQTFiNTgyOTE0ZGY1MjdjNmY4IiwiMHg0QTk2M2RBNjIwRjRmNzVlZDMxNTZjRDg2MEEyMTJGQWQwYjYzNWQ0IiwiMHgzZTQ3QmUyMjVBYTQ1MzE1MTYwNkZhYjk5N0FCODc2ZDI5MTJGNzJjIiwiMHg5NWRGOGVjMkQ2NzVmZmMwNjRkNzViYWMzNzkxODJCYWVlNzcxOTFGIiwiMHgxNDVjNjcxODIzQTVhOWNhNDI0YTY1NzBENEQ1OTVkMUFEZERGODlGIiwiMHg1NzEwNjM0ZjllNjY0OWQxMjUyQjY1NjEwQmIzQTU4Q0RiNzU3N2VkIiwiMHhDNUE2QzhEMzY2NTUyMTNEMjI5NDY2Y0Y4NjA2Qjg4MDhjNjcwRGU5IiwiMHhiQURiNTlEMTE5Q2ZGNzg5NDk2QkM0OTIwNzUxNTk0RGVlRWREQzVkIiwiMHg0NzhkNDUyRTMyN0M5YmU4ZDA4ODdjZTAyMTcwMjJhMjE3NGViRDVhIiwiMHgyMEY1NTgyQTcyNjUyNkI2MDg5ZUIzYzIwN0Q0OGVDMkYzRWM5NjA4IiwiMHg1YUE2RjQwYTMwMDYwMTA2ZDI2NDlGMzYxMzQ4RUFFM2Y3OEY4RjkzIiwiMHg3YUFDZjllMUUzRjhFMDFEOTkxNjI4NDg1RTMwQTY2NDFmY2Q4ZDgxIiwiMHgzZkY5MjRFYmMzODk1ZUM0NzhCNEYzQjg5NDYwOWZEMGMxNTZCYmQ3IiwiMHhGNkMwNDI4RjU2RjlDQTdlZDU0YmQ4MjRhNDg1NkU5MmMzQThlNDAxIiwiMHg1MGI2MDcxNTYxZjA2ODk2M0JjZmUyQjM0MTEyNmNkNmFDY2FGQUZiIiwiMHhkYjVhYTJjYzY3Zjg3RkY0QzY3MmE1ZGFlNWM0OTA5YWI1OTZENWE0IiwiMHg3ZjQzMTE4NGM0YzVCMDI2M2U1ZEUxN0MzN0E3MTBEQTc5MWM3NTdGIiwiMHg3NEFjQzcxODg0MzZFY2EwODdEODIxZjRmQzhlMWYxNDA2QWE3ZTgxIiwiMHhCNTJEQURDMTJBNjJkMzBkYzRBRTdEOTNDQjQ1ZDk3RTdmZTJDMkFjIiwiMHgxOWI5Qjg1MjM0NjMwMjQ5MGVBZDg2RDY1MTNFQ2NkNTU0NjY3Y0U2IiwiMHhlZWY1Njc0M0E2NDg3RjVCRDZCQkU2RjkzMTc4NUQxMDFBNzZDMGRCIiwiMHgwRTkxNEJmNzE3NmY5NjA4ZmRCYTIxOTQ3RTRCQ0VCZUMxMjAyNEE4IiwiMHg1MjYyNmFjYTdGZURDN2I5MzBBNzcwRDhCNjVGNEQ5Mjk5ZGYwRDZDIiwiMHg5ZEMxOGM3MEE2NERiNDc0M2VEMGM4MTg0MTE0MjcyMDE1NDg4OEU4IiwiMHhmMTkzMzgxMDZEZWMyQ0JENGJEMjg1ZmE3ZmE1NTA2QkFmZTkzOEJEIiwiMHgwZEU2QjE3RjAwMDkyYTY3QjZlODhDZThFZTFjNjI0YjBjMmIyNjI2IiwiMHg2MjJlMGJjZUEwNzVFQkE0RDZBRUU5NGFBMDVGRkY3MmRBQTgwMWY3IiwiMHgxNzM5NTczQThkY0I2NWNmZDAxMERBOTk4MTM0NjcxNWIzYzc3OTFBIiwiMHhFMTgzNzgxQmQ5YkU5NzAwN0VGNDA4QmY2ODAzOGU1MjU4ZDU2NGNEIiwiMHg2Y0M3QjRhZmNkNEE5OTlBOWRmYUVmY0MwMDdjNDRhMTA5OGUyQkM1IiwiMHgxNjY0MTczNmMyQkNlNzFhNjkxYzZGN0UxRTY4NzQ0Rjg5Njk4RUFmIiwiMHhCRjY1ZUZmMDIxODQwRjM0QjA5MjNEOENGMzcyODhBQjZBMzQ4MzcyIiwiMHhFREU2MzdDYWMzYUEwOGRDN0U0MTliZGM3ODBGNzhkYjk1MDA5N0IyIiwiMHhCQzM4OTk2MEFFOWNlODQ5QjlmRGRiMDYxN0M4NzA5MEIxNDMwRkM4IiwiMHgwMDQzQzA2ZUYxYTcwN2ZkZTA3OTUzZWE1OWQyMzNiZjBmQTU4QjA1IiwiMHg5RjZFYzVkMDM3QkU1OTBmOTNjRDQxZTljM0EwM0ExMjQ3MjM0QzBCIiwiMHgwQzI3MTRhYTMwRDhiN0MwYUVFNDNhNjg1QjVmMzlCMWRjMkQ1OGQ2IiwiMHgxMTk3MGI2MGNlQjI0OTUzMmRjODkxYjNhM0NjNGI4MWY2RGNDMjk4IiwiMHhBNjk0MzBFMEVhMjhjRjUyODVkYzlENkIzNzU2RDBBZjY5RERlNTY0IiwiMHg0YjFFNGI1NzQ3YUU2QTdjMmRjMDM0NDFjZTkxMzIyRDJCMTg0NmYwIiwiMHgzZTIwRjQxYzBDOTBBMjQ0OTdkNTkzRGQyMjg4NjhkOTYzQTZEMTMzIiwiMHgyZWM4MjY1OUNBZDk1OTUwYjk2OTJiQWVkMjk2ZkIyZjg2OTA0NTM4IiwiMHg2QzU4ODc0OUVDREE3YTlDMDliM0JGQjZjMzVFNzBENEM4M0NlNDlDIiwiMHhGN2JCQWE2NzFlOGRmZTY0YkRmNjczMzU1ODQ0RTgzNTBhMDcxNjYyIiwiMHhkRjI3QTM4OTQ2YTFBY0U1MDYwMUVmNGUxMGYwN0E5Q0M5MGQ3MjMxIiwiMHg4NjBjM0ZCMDVGODY3YkNDQ2NjMTUxYTVEODc5QmU0NUQ0MTI0OTE2IiwiMHg5YmQ5YTM0YTk0MDE2MmZFZWM1NTJmNEU1NjVEYzlDN2Y0MkZkODRDIiwiMHhDYkNkZjAyNjY0OEQ4NDE3MkU4NTM2RkNiZjc0ODYxMjVBOTRBRjZCIiwiMHhiMUJFNUMxOEE4ZjI1ODVkOTkwRkQ5RmIwMkQwZWE3RGQ4Nzk1NjNEIiwiMHgxZmE2NTY2MDYxZWMyYjdkQTk5MzJFYUVlNUU3ZDg2NWU3NDBlQ2ZkIiwiMHg0ZkIzRDExYUY0ZjIzZmRGNzNkMjQ2Yjg4YTg0QzE3MjFENDZmQWEwIiwiMHhkYUJiODgzRDU4RUNmMTM5ZTE0MzU0NjY4MzMxRDRiQzg3RDI1MTlFIiwiMHg2REUzNzlBMDQ1ODk5NDEzRjYxNjY2NmVkMDNiZjUxMTRFOTMzYTk2IiwiMHgyRjkzQzkxMTg5OUMyNURiMDQyMzk5ZGVlOWQ4RTY4OGIyNDQzNEREIiwiMHhkMmRCOUU3ODM5QjhlOTJBZEVCNjc4NWJiQTJGYmE3OTEwQWY3ODNiIiwiMHgyOTczNWM3OTQ3MTM1OTNGYzNkZDdjOWEzQkUwMkM1MDFkOUE1NEY3IiwiMHhmNmFlY0E5RmU3MGYxMDU4MENiQjU1NzcxYjg1ODc3ZDZGNEU4OTg0IiwiMHgyM2FkMGMzZmFmMUZCN0FBQ0M2MDM1ZjFkMDlGNTUyQzI4OWVBRTczIiwiMHhBRTk5ZGJkMDI0ZTkwYzgzY0VjMjcwRjY1NDI2OEM0NTJFM0Q1NjMyIiwiMHgzNjA5ZGE3MjgwQTNjRmJhMDI2YzI2NENmYzdjM2U0RThBMDdBMTEyIiwiMHg1NDAyMjREMTY1YTcwMzBENmNFZTFGMkE1N2Q4NDNkMkQyNzQxOWMzIiwiMHg4Y0Q4MzQxNDZDNzFlOWEwMWE0Q0QxOTJkYjU2NWY4YjA4RDRlMjA2IiwiMHg5OTk3MTY5Njk0OTc1YkNDMzZFNzM5MTI3MTU0RjRjODkzMDVGODUzIiwiMHhmZjQxNzY2NjUwOTM0QTMyMzhiNDQyYjdmRjg0NzU3NUU5YWFmQTRhIiwiMHg2Y0E5NjIyYzJmZDYwMkUyNjJlMTE3MmZBNzQzRmE2MUI3MDA1ZWM0IiwiMHgxZDExMjZjYzJDNzczODQ0NDg5MTNiNDFmYmYzMDg1NjNBYUUxZjE2IiwiMHg4YTViMDM0RGY3Mzg3M0YyYzgxNTMzMjE4RDk0MTZkOWI5QzA1ZDk1IiwiMHgwQ2QxYWE4MDRmOTU1NWNhMjJkYUZDNUVBQjlGYTgzRjJmODE1NTU2IiwiMHhBQjdCNzQ5YTU2MzIyRTE1ZWNENjg1MDc3Q2NCNjlBQzlGQzVEQzBlIiwiMHhENzkyQUY4MTg5NjVlZGRiZTZmNzc2MzAzYWQxZEU2MkQ1NGUzODdEIiwiMHhFMzBiNmIyYzZlOEEwNTBmRjk5RkQyYWEzMGYwRWM0YmRhNGY5RDQyIiwiMHhiNTAzODVDZUJCOTk5OTVGYjE2NmYxYjZBZjQ3ODk5OUM0M2I3MmZDIiwiMHgzNDg3NkNiNUNlODk5Qzg4NmI4MDcxMDRCRjU4MTFjNzUwMTRiNkVDIiwiMHg3RDMzNDg2MUY0OEE1ZGYyNTlBQTcwY2U0MWQxN0IwZTMwRjc4Njk1IiwiMHhlOTNmZjRhMDkyZmY1N2U2Q0M3N2MzNjc0YzljMDA4QjFhNGRkQzFCIiwiMHhCMzc4Q2M4MWNFRjAyNjZjNkRlQ0ZFMmE3NWU2MDc0YjczRDAxNTBmIiwiMHhBMWY4ZjUzQjJBNGM5NjJiYjg1ODFjYzdhQjZlYTRDNmM5OUQzRDVGIiwiMHg2NjVEMThDN2U3NkMxOTQ0RTNGQzhkQ2IyQ0Y1NzQ0RDhCNUEzRTliIiwiMHg2MDg5MDM1MzQ1MjdCMDYyM2ZlMGIwYmQ4MWEyRjI5QkM1YjUwRDMyIiwiMHgwMjcxQWFBMWRhNkUwOTRmNjQ5OGQ3OThhNGIwNTM2Y0FmZjk1MDY0IiwiMHg1OWIzZTVkMDVFMDdhODdmMzM0QWEwN0MwQWYzQ0U3Mjg2NjAyNEE2IiwiMHhBNmJlN0Y3QzZjNDU0QjM2NGNEQTQ0NmVhMzlCZTllNUU0MzY5REU4IiwiMHgwZTlmRTI4REU2ODdjMDg5QzY2MkE0MTI0ZjA3RTNGZTA1YzMzMDFFIiwiMHhDODNFOWQ2YkM5MzYyNTg2M0ZGZTgwODJjMzdiQTZEQTgxMzk5QzQ3IiwiMHhkMmU5NmFkNzBlYTFlRjlhNzE4OTU2Rjk3MzQwMDE1MjRlNDNiMmQzIiwiMHhDMThlYjY0NUMwNjIxYTA0MzdkMUMwMzZENzY3RTQ0Mjc5ZTgwNjNhIiwiMHg4NzE2MWU1QWU0MzIyOTI0MDcxMjY3QzMwN0U4NjFEYmMwNzRDMjhlIiwiMHg2YkJiOGNCMkI3ODEzMDE1MmNlNTM1NTIxQTEzNjM2ODlDNmE1ZTE5IiwiMHgwNzQyRjAwMEQwRjg1REJmMTg2MzlFOUQ5Yjg1MTdGNDVmRDhBMzk0IiwiMHhFOTNmMjhjODlBZTg1ZTBCOThkNDIxMmVmMDNmQWQ0NjRGNDBCMjgzIiwiMHgyMEJkMzkwZDE4ODc0NDBFNkY2MENFZDI2NzdhYTcyRTZEMUFGOENCIiwiMHg1NDYwNkMxOTM0NUY3Qjg5Q0NCNEIxNTA5QkI0MzU1RWYxNGE2Y2ZmIiwiMHhhYTQ3M2Y5YkM0ZDVFZWVBNjgyM2E0OTQ5MjgxNkQ5NDMwOTdBNjMxIiwiMHhFZjA1YTRGYTdlN0RiQjUxNDE3ODNFMjEyMTI2NURBMThkYkRmRjc5IiwiMHhBZjExNDQ5ZTBlN0JGQTY2MEZmOTY5RDhiQzlENDZiNDk1NTBjM0MwIiwiMHhhZjcyN0YxNTg5Mzk5NjIwMjA3YmMwRjI2ZDJmMUFjNDAyMzFlMzdBIiwiMHg4MThmZWUxZDJEOGQwMjZkOGE5NDUxQjlCOTk0YjFlRDZlOTVBRGY3IiwiMHgzNTM4ZTZBMTIyZjc5YzgzNDk0ZUEzMWYyOEQ3NzQ0QUU2NzA2NDNDIiwiMHhiYUU5RDk4MmY4ZGFCNEExOGVCQjk0MTYwRDY0QjU3QjRlMTQ4NGM2IiwiMHhjZDRFMTM4RDFhNzQ0ODZmNjQ4Qzg4QUY3QmZmNUY5N2FjNkJCYjQwIiwiMHg0ODA3OTc1MzFBNWVhQzlkQ2FmNzJiM0JDNmU5OTVCNDM0ZDRDNjQxIiwiMHgzNjNiQUYxMTM5N0MzY2M2Mjk3OWY2OUJjZjgxRDg5RkFlMzgzQTlmIiwiMHg5RjVFQ0I3QzI0MzU4RTk1NkU1NDY5NjgxMTM1YUU1YUQ2NjZhN0RBIiwiMHgxYmUzNjk2MDVmRDQ1Nzg0N0YyMEI1Nzg2QUUxQjlEZTRFZjIwMjI3IiwiMHgzNzFDMzJBYzg1MmJiNTNhM0M5YjMyZDM0NjAxYjU1MThBMjBiQTEyIiwiMHgzZUFhNDhGMTQyRjcwMDAzRThlQTJiYzVmMzQ5MjNmZDVBNDA0YUVmIiwiMHg4OGZmNzllQjJCYzU4NTBGMjczMTU0MTVkYTg2ODUyODJDNzYxMEY5IiwiMHg1OWRlMUM5MzEyRjg1ZTdFOEM1QjQ3MjNlOTEwNDU5MzRkOGM5NTIxIiwiMHg3NjkwNEVjNzYzNEE2NzAzMjI5RjUxNjAxMjM1MUFCNzU0MzA4MTRBIiwiMHhiOTJjNjYxQjRjRDY2ZGEzNTkzM2M0ZDczN0VBMDJDYjg5OTRCQjY1IiwiMHgxOTJkNDZlMDY3QjIxMDY3OWU2QTBhNzhBMzU2RmU3Qjc1MjRmODdGIiwiMHhhMURkZDE3MkMwM2IzMDZBRTFDNTIyM0I4MGQxZDUwMDdiNDEwMDE1IiwiMHg4MzM4RDViODJFNTkwMTJCOTNEMEE1MDU1OEYwNTQyOUZkNWUxQTU4IiwiMHg4NTZGOGZENTlGMmJFNTRmN2JjRDM2OTc5OTcyODc2NWFDNTJENmNlIiwiMHhGMjJmNzMwMTJiODI0ODc3MjIyMEYyMWQ1MTU4RjI2MjMzZTJkYTg1IiwiMHg0MDY0M2MxNDFFZDEwZDY2MmU1MDEzZDlGNzllOTg3YjlFOTIxNjRGIiwiMHg0ZTUyZGZhNkVkMUI0YTU4YkI0MEE1RjY0OWFBY2YwNGQ2NUI5MmM0IiwiMHgyZDBDNTFDMTI4MmMzMWQ3MUYwMzVFMTU3NzBmMzIxNGUyMEY2MTUwIiwiMHgwQzAxM2QxMEI4MDAzRGMzYUVhZjM5ZEQ3MDNiNUYyOEMzRDdGODZkIiwiMHgxRkNjNjlDMUJhMGQ4Mzk3Q0ZGM2ViNTI3NWZmNDc5YzllRTIxMDYwIiwiMHg4MmUzQjg0M2I5NTJhZGUzZGYzNDBENjhjOGE5NzBkZGIyNDJkMjREIiwiMHhGNDJCQTBiZWY3ZjBFRDlDQ0JhNDRhNTMyODE5RENCMmZhNmRGODQxIiwiMHg3MDYxYWRFMTU2Y2FmM0ZkOWQyMzhCZjg2MzgxNzI1MDY3QjIxOUZCIiwiMHg3MjdFNzE2RGQ3OTA3NDg3M2RiMjc3NzBjRjc1NjZDRjNFNjllMmU4IiwiMHg0RkUzNWNlOUI4NjdhOTI4NjkwMGIwMjVjYjY0NTQ1MWFkYzkzMzNlIiwiMHg5NjJDNTZCQzJhMEI1NEY1ODkyMjE0MjY0OEVBQTc2MzEyOUI4ZUE4IiwiMHgwOTM4NTBDMWQzZDk4NzljMkQzYTFmMjUzMWMyNzg3MUUwYUUzM2YxIiwiMHg5YjI2NkE2QzVEMzBiZjIwMGRDNEJiZEJGMDgyM2I0YjUyYWFENjQwIiwiMHhjOTYxRjgzOUM2NjU1MjEyMTczMDc5NzJiOWQzZDkwZTAyYzBEZjY2IiwiMHg4YzFBYUM2M2U5N0JiZDBBREEwOTUzOWRBYjY4ZkI0RTk1OEEwYTljIiwiMHhmMzVDOWVhNDdBMDlDYTgzQkU5MTEwMEM2ZTViOURlMTM3NjkyNzUwIiwiMHg5NTA0QTZBNmM2MWQ2QTM0ZmY4MDBmOTJGNmJDMkFCNDk0YTAwMjAwIiwiMHgxNmY0NkJiMkIwOGRhYWUxRjM5RDYzMjVlRmE5NTIxQTVEQTg3ODQyIiwiMHhFQTg1NTQyRDE4QTcxZTY2NzA2NDYxNDcxZjI0MWNjNUEwRjNjOGJFIiwiMHgzMmM3RkYyRWQ1QThiYjgwQjEzRjEzRjhhNmNlYTVlMzQzNDJFODhGIiwiMHhDNzQ1RTIzMzkyYjU1MzRkNjZCNTYyNEE3MzU3MEU1ZTllMEUwQ2Y4IiwiMHgxQjEwM0MxZjdkMUMyMEUwZkUwN0I1NjZiNjUyQWZFZTM4OWEyMzQ1IiwiMHhCQjA0NDQ5ODA4OThBY2M3OURFM0I2NmE3MDI1ZjI0RkM3MjBGMmU1IiwiMHgzRGVGZWE2ODA3MzNkRjk3NDk5Njg0YzdFRDVEYzg0M2EyNGY0NzM1IiwiMHg3MEFhMDBBRTNkODQyMWYxOWZCMTZjN0ZBMzBmMGY2MDIzN0Y4Q0Q3IiwiMHhEMDdEMzAxNDVCODQ3NTFENjdmMTQ5ODk3NzVkZDBlRDkwOTdmNWYwIiwiMHgxOWQ5ZDFDN0Q1Y2IzNDZlRENlZkIwRjZBOEJCYTBEMzA2MEFkNkY3IiwiMHhCOTE5MThCN2M1RTAyMkY4QmIzQmU2QjNCQjBFRTUyQTNkYjVmODI3IiwiMHhjZjIyYmFBQjJjNDEyMTE5MDI1MkE2MEU5REM5MGRhNTc4NjVlRDQ4IiwiMHgyOTMyNjQ4RjFFM0E0OUY0OGVCMzFlNzdiM2NmOTU4M0IxNzE2MDQwIiwiMHhBREU3NjI5NmNjQjAwMjY1M2YyNTY0YzRlNzVFODAyRDk1NmMyMDlGIiwiMHgyOTY5NTIzM2EwMEMxZDYzZTE2NDIyQTdhMzVFYjk1MzAyOTEwYjEyIiwiMHhBMWMyNWY4ZEEwMzljZTBkNWJiNDZlNGQ4ODIzNzZCNzEzY0JGZTAzIiwiMHhlYjA1ZDZhMzFCQzhFOTNmOEJGOTY4NDliRTFGNmE2OEI0NDNlOEU1IiwiMHgxQkQwZDllYjI3MDgyQmI0MDFEYWU4QmFGNjFhNkJjMzhFQzdkNTJhIiwiMHg3YzBERjk2YmNkOGY4MmQxQjMwMzFGRDJGZDA5ZkE0OUI5MkVFRDc5IiwiMHhFMEJkYUZDN0Y2MDY1OURmN2Y4MTNBQTUyOThBOEVmNzEyNDdBMUI2IiwiMHg5OTNhNzE0YUY3Qzc3OUIxQzkwMTI1MDIzRTQ3MDZFRmFlMkFDM2ExIiwiMHg3ZkQzRUI3M2E1QTE5YkUxMUYzMmQ1MDg5Njg4NzQyQjQxMzQxMEYwIiwiMHgyRGQzQzc3RWUxNDM0RDRERTVGZWEzRTZBOWI0MTRDNzAyYURjNzlmIiwiMHhBZUJlQTg4NThiODFhOTE5MjY0ODQzNzYxMmRhNDg0ODk4ODU4MjRiIiwiMHhiY2Q1M2U0YkY3NDU0MTM2Q2QxMjJDNTE1RDhDQTlmZWQ4ZGQwNDlGIiwiMHg1MThiNTUxMjgxMzVjZDFjMjk0RDNDQjgyQjA1Y2QxQzVBQzU4Y2Y5IiwiMHg3QjQ4ZDNkNzg0NzNiOTMyYjQ0QTM2NTk3OTAzMDgzQ0FkOTZlOERBIiwiMHgxRDNFMEU0NmVlZTlFZTZFOTQ0RjM4MzgzYTczNjVjZDcyODdBNWEwIiwiMHg3ZTk2NTY2ZTkzNTNjNGQyNjIzMjhlQzdkN0VCZjY2NzA3Q0EyOTg0IiwiMHgwZjNGMDVkN0M1ZmQyODFBNGY0NTE3NzE4QjI2M2Y5ODZjYTI4ZmVEIiwiMHhEMkNhYzUwMUE3NTAwMUM4OTNDY2ZiMTRCN0VDQmJmRDBBMDQzOTczIiwiMHgwMDAzMTU1NEVlNzRFNGE2ZDQ5NzY3N2U1MTUyZDk0YzNkQkU1ZjQ2IiwiMHgyMzAwRWI2ZjVEZWYwMjkwZjMyNTc2MzJDZWYzMjI5N0ZGNzI4RTUxIiwiMHgzZWY5OGQ1OTI4Yzk0MTI3ZjcyODUxMGVFNGZlMzMwNjEwODgzODViIiwiMHhBMTBFOGU4NzRmZDYyNzZiMjUwYUJjNmIwRjg5OTUwNDRGRGJFMzc5IiwiMHgzM2FmODVEOGJCNmM2ZTU0NkE1ZkVkMjVmRUNhOEFBZEJjMzM3ODY4IiwiMHgxNjU3YTI2NTM0RGI5OGM3MUI1NUY0ZTE1QWU4MDgzNjcxYTgwNTlCIiwiMHg3ZjFmZDBFMkE2NTA1MTNCYzhiODlEZDY2YTUxMjY3Yjc3MkQwMjI1IiwiMHg1MDcwMkMyMTZjYTY5MDZhMThmZjEwNWQ1REZCMTYwMmU4YmYwRDAzIiwiMHhkNTE3MkJGOTA2QzI2QWY1MWFGRjg0RjM1OWJjM2NFRDMwMkUzYkRjIiwiMHg2MzkxZDQ1M0FiNUQzNzAzOWQ4QzQ2MWNjYzVDMjlmQjA5M2I3NjQxIiwiMHhBYUJFQjY1MDY1QTVEMzU3YjgxNTA0MkFEZjQyNkUxYkM3MURFQzQ2IiwiMHhBMjNGMDdiMDZFNzBFYjhCYTdGQjg5ODE2MERmNDQ0MEQ1RkM2Q0Y5IiwiMHhGMjk5ZDMyMUY1OWI4NzIyRmQ4NkUzM2Q2NmFBY2YyNEI1ZTkwYTNEIiwiMHhiMmI5NUY2NkEwMjI4ZWU0RjY1NTk3QzQxQjJCRmEyMjNGYzg3M0U0IiwiMHg0MTZDM0E3RkUyQTlFOENDODJjNTlFZGEzMGVGMkMxQzRlNDlCNDU5IiwiMHg5RDIzY2IyNWFEMjNENzNFMGE3MjNhNDdiMTQ2MTM5RDQ2QWI1RjkxIiwiMHgxMzRjQTBhODhiOEZkN0EyMzFhQTM5MDUxM0YyNzhkMzNENEQ3ZTk3IiwiMHg3RjIzM0Q4NUVjMjA5ZDAzZkJiMTNFM2NlNDIzY2E2YjI5OTE4MTQ4IiwiMHhmNEJFRTE2ZThDMEI2Y0U1NjVGYjQzQjZjYmM1MzM0QTgyMzMwMjcyIiwiMHgzMjc5MjcwM2U0QTNiYzIxN0FFODI1MEVhMjE1MDY0NThEMzQ4MzA2IiwiMHg4MzFkQzA4YzkxNzVCNjNEMjFmQmYwNkNiMTgwMzE0RjJiRjdGODEwIiwiMHgzNzlCY0E3MDczMjYxZDhEQjJiN2NiRTdmZDU2MEI3ODdiNzY1MzJBIiwiMHgzNTAyMWI0MjQzRjQ5OTE0ZDMzNTQ5NjEwZDQyRDc2MkNGMTJFY2NkIiwiMHg4ODZGMTNFRDVERWRDNTQ5NTY2ODY0Qjc3ZjQ0MWJDRDcyYWIxMDk1IiwiMHhBYzI0OTRBMTJkOWI0RTM0ZTQ0MGUwZmM3RkI0Njg5MjY0RUM3NTE5IiwiMHg3NENEZDlhQzljZGNmNTE1MDA2QTk5MGU0MDAzQzZlY0U0RGE5OTUyIiwiMHhDRjQ0MjIxOUU4QzA5MTM5RUM4MThlODMyYzIyMjBmQTU5ZWM1NmUwIiwiMHhhNTU4NWYxRDU1YkJFQjVDNzEyNEEyOEY3ZUU3NTRkQTE1Mjc3MDE4IiwiMHg2MmRENGI3N0VhOEQ3NERiNTI0ODM2MkQzMTQwODY5ZTJBMzI2NzFFIiwiMHg3NEFEZTQ1OTUxN0I5OTYzRTg1NWUwRWNGMTBCMUU1QzJDRDZlMzRGIiwiMHgwNjIyOGYyNTk0NjM5RUMxOTBlOTU2MjIzNGFGMzEyNzdlNmYyNjk0IiwiMHgzZjNDMzFjZTk2MEJmRTVGOTg1OTBhYWM2NDEzN0MwMWY0MTc2M0M5IiwiMHhhQkU1NWFGMzU5Y2ZGNzFBOTk3YzAwZTYyNjAzNUY0QzEwZDVjNUM5IiwiMHg5QUE3MDYyRTY5MzI0MTk5NzJlNjdEM2E0NjAyZEEyRTkxMDVCNDU0IiwiMHgxZGIxNzNkODljOTRGNWY4ZEVGN2ZjRjI3MzcyMWVCNjg2MjAwQjdGIiwiMHg2MzhGMDI5NDM0ZEI1MmVBYTdmRDUxODU0YTg1NmJCRTJhRDE2NzBBIiwiMHhkNDJCNTAwMkQyNzllMEQ1MUFEMjg3ODMyNDVEMzg4QjhlNGQ2ZTg2IiwiMHg5M0NBNTZEZGFCRmY3MDZiYThGNEI1NzYzM2JEMDU3Q0FkZDNDODk3IiwiMHhlOUQ0MzkwMzJCNUE4ODUzQmFDMTRGOThiNkFCNzZGOTM3NWFBNTVBIiwiMHhlMWY3MkY2MDc1NzU5RkZjRTdiNmNiRWZBNzBmY0EyM2Q4QzJFNUFGIiwiMHhmYTczM0I0NzI3MDJjRTg1MjA5NzhiNTlENDliNzZBYjJGODcyMDZCIiwiMHhEMDc3MGM2OTMxMDkxNUNEZTgxQ0RjRjFDZUUwMDM2NTZjMzdiZTQ2IiwiMHhmM2RmQUI4YmJFQzkyOEE2RkE0NzZGQkNFZmNGRjMyMjZlYjdhQzdCIiwiMHhEQzFiYTJDNzUyMzI2N0FCNjBGMmUwOTRFQThmNjA0MDY4MTA5OTk5IiwiMHhCNzllNjE5RjlhMDk3N2I0QzBBRGM4ZmRBRDg2MzY1QTliZmMxQTc5IiwiMHgxYzVkZDc4NkE2MDU5MWI5RjNmN2E5MDBjZTdkZDVGMjU2OTRDRjk4IiwiMHgyY2QwMjE4MUZmQkViRTEzM2Q5NzkxQTI4ZThkNTdENTZkRDRCODU1IiwiMHhDMEZDMDlBRDdjMmU1OTBEYTZGYjUxQzczYTBhNUM5Q2RDMGI4MDRDIiwiMHgxMkQwMjUyNjNjNDYzMjYwNzJiMDQxNkYzNmJlYzNmNWI3NEVFZjk5IiwiMHhCNEYxOWI0QWMyMTFENTcyZjc4OTdiMzExRDNlNjBCOEQyRTk5OEIxIiwiMHhhNjdkZDJCQTU3N0NjOTA5Q2MyMUMzMWEwMjk3YjJFMDdGOTA3NjQ0IiwiMHhCM0QxNDUyNTM0NzIwMGNkRUE5MThlQWEzNDc1QjVlREYzOWMwMkI2IiwiMHg2OGY4MjlDOEYyNjQ5ZjA0MUU3OGNhYmEwRjI2MmNkYWZDZEE5YzRjIiwiMHhFQzQ2MzkwNzkxNUUyYjQxNjI1QmExODMwQjE1OWQ0OWYzQjUwRWE0IiwiMHhFYzlhNzkwQTQzNTUxMGFjZGVEOTExYWZiODlBNWY0NTM2QjdDQTQ5IiwiMHg0N0Y1MjhkZjliMUZEZjY5NTc2NEMzNzg0OTVmRWVEQzFFQjRlMENFIiwiMHg1NTI4OTcyRUJkYjBENEFlMTMzQUYyOGVDRjQ5MGJhMzYxMGM4YjZEIiwiMHhkZjJGNTZkOTUxZDJkNzI4RDA0RkRjMUQ3Q2ZkOTNmNWZCNTY0NGQwIiwiMHhkMmQxQkZCM2QwQTBkNGI5MGU5MzRkMzVEYzI3OTc4NEVlMjBBN2JhIiwiMHhhN0QwNzhkMDIzMzc1ZGU5MEU2ZTlDQTNEZjVDNzllODZiMWM5RTlFIiwiMHg0YWMxOWI4ZGIwMzZiZjM2MUJCNzA0NjkwMDNCOENDMjBGQzk0NzYwIiwiMHhkMjkyZTdEMUE3RmEwRWMwOTY1YmJGYzA4MGIzQzBlOTIyODQ4ZGQwIiwiMHgxMDI1NzgxRjNFOWVDQ2ZCMjA1YTZFNDhjNDQ3NmRCMjM0MkNDQThiIiwiMHhDQkFFMjU4MzVBMDFBMDdkMEUxYzExMjFhNzkwYTI3ZDVhM2U2ZjI3IiwiMHhGOUQxMDNDN2MyYzdmMEEwRTAxNDNBOTViQjVhZDlFN0ExNGQ5MkI1IiwiMHg2NDQ0OUUzYWFGNTUzMDI2RjYzMTZGMDEzNDI1YTIyZmEyNjdDRWE1IiwiMHg3MTZCMUNDNzJhQjZCOUJlQ2FkNmIyRjhCMjRjYTlkRmZFNjEzNmFkIiwiMHgyMDVDNUFhODBlQzg5RjgyMTk2OWFGQjZlRTg5OTc0RDE2RTE4RTkxIiwiMHg0QmI5Y0IxNmUzNjUzNDcxOUE3NkI4QTk3NWI5ZjY4NDYwNzE1MGQxIiwiMHgwNkUxMzdjZUQ1RjU1NWU0MURBNUY5NWQ4NGI5NUI2ZEMxMDVlMTE3IiwiMHhCNDcxZmZBQTFkM0ZlMjhDM2Q4ZThkYmE0QWM4MjYzMGVGRjgzMTA2IiwiMHgwRDNDODUwMTQwYTA1RTQ3OTcyNjU5QTlGOWQ0NzY5RDZCODMxNGU3IiwiMHg1ODI1NTQ1NTgxNDI5RkFlRDQ4NmY0RUE5NkM2RjZlQzZjMzAxQmZGIiwiMHhhMjc2M2VhOUNmNTg3ODFENTZFRDkwZDMzODc0OTIwOUI4NDc1MkM2IiwiMHgxZDA1NTk2MjdhRjREN0Y2MzhjRjFmM0Y3OTk3OTA5OGU0ZTUwYjg2IiwiMHg2OGExMUE4MDUxMjE5RGRDNDNiNjA1ZTZCMDE4QTREMkU5NDc2NGU1IiwiMHhmYjAwM2YyQjBmMTc4MDlGMDNmREQ1MDhlMTYxQURBMDlFQzMwODVhIiwiMHg3NzNlN2VhRGVmYTgyOGY2N0QzOEQwMWJkZGNDZGVDMTY2QUVFNUFmIiwiMHg0MzFiNUY5Njc4QjNEMDVkODYwNDQ0NUExNDQ5OTUzMzA4N2M1YzMyIiwiMHgwOGYyQ0E5MWFBN2FCNGM0YjhhREYxQkU5NThCMjk5NzkwNUUwNTA0IiwiMHg4NDI4NzM4NDBEMzQzMERBNGI1NDdCNDRGZENCRERCRGVGN0ZkODhDIiwiMHg4NEY2NTREMDIzQTlkMTZGOTJhRTIxNjZlZTJiYjFFMTk0NzY2QWREIiwiMHg1REM5OTRmNTFjN2QzOTYxMjhDRTVjN2ZhRjRlOUM3OTI3QjRDNjYxIiwiMHg0MTViZjM0RmYwM2U1RGEyQWIzYTJBM2UxOWZmYjVkZDhGZmI1YTU4IiwiMHhCNzNlRjMzRGQyNjQ3NEE4OWRDRUVBMzUxN0VhOTZGMzQ0QzdFYzNDIiwiMHg2ODE4ZmI0MjVmZGJFNDM2ZUUxZDAwNTY2ZjU3Q2I4ZURGZjdFOGVmIiwiMHg3ZTM1NWY2ZDE0MzFGMUNCZTIyNTYyNmU4OTExNWZiNDkzMjU3MUJjIiwiMHhEMUVmNDU3MzBEOUU5NmZDYjE3NzI4ZjdkOUZDOEJjZjU5MENhMWI2IiwiMHgyMjNDMmM5NDkyZDg1ZTNlOTAxMDk3MzlkNkU5YTQyN2VmODcyOEE3IiwiMHgwN2M0RDZCQ0Y1NkU1NTc1YTVjMDE3QTY2NEZFZjQ4OENmMDI1ODZGIiwiMHgxRUZGQTRDNzI5NDFkZmQzYUZEYmQ2ZTE5M0IzRDBFQTZCMGYzMjNjIiwiMHg3QkVDODFFQzY0OGFkMTYwM2Q1ZDVBNjgwNDhkNzFhQUE1MDI3OTYzIiwiMHg2ZTkwMDVDOEU3N2VEZjVjNjVFOEYyNDhhNmE4MzdlZjdCRTlEM0M4IiwiMHg2Qzc0RjU1QjA4YzFiNDU3MzJkOTgzZWRmYTNlMkQ1RTU0OTYxOUVkIiwiMHg2NGI3NWQ0RGI2OUMxNjRjRjZhOGQ0MWExODEyMzM4NWZiMTJFNTlkIiwiMHhhYzMwRGFBMTQ2ZjIwYTc2OWEyOWNhMTIzNkRlMjM0NTE4ZkE3NjEzIiwiMHg2NjhDRDA0M2UxMzdjODFmODExYkI3MWUzNmU5NERFRDc3ZTRBNUNhIiwiMHhiZDgwNjE3NzY1ODRmNGU3OTBDREIyODI5NzNDMDNBMzIxRDk2ZTY5IiwiMHg5NTcyRmU4QzEyNjRFMTM0Nzk3NDg5RkRkNTY1MWNkRTYxQTRjQTZFIiwiMHgzZUMwNzFDOGRmNmE1MkI2ODIwNTI0RjA5ZTlmMmU3NzliOTM4OGNEIiwiMHhkMjIxNWUyMDdCMjM3QUFhNmI5YmYyMzYzNzBCQTdENjE0OTgwODI5IiwiMHgwNEE2Q0I1RDEwZDY0NDI2RTMxNDM0MTlGNjE1NzQ3YWNlQjViQURCIiwiMHg1MWI1MzZjMUFBZTQ0MDU0NEJDOTk3MkRlZDBjQjEwODJGZDFkNUJjIiwiMHgzOUFhOTA1ZDViYmREODY2YWNGM2Q4OEEyYTRBRDA2NUZBMTk1MTBhIiwiMHhBRjIxYjBFYzAxOTdFNjNBNWM2Q0MzMEM4ZTk0N0VCODE2NWM2MjEyIiwiMHgxN2JiQjMzMjZDNTg1NTc5MDE1N2YzMjE5ZTUyQ0YzQjJiMDU0OGI2IiwiMHhlQTI5MjdFYjczOTIyZjc2MTg5NGNCNkJFRDBlMkY2N0ExQ0YyQzdhIiwiMHgzNTQ4MTZiQjAxYTA5ODcwMTdmMjU5MDBlMTU4NTY2NTA2RGI0MzlFIiwiMHg0MjFjM2EwMkU2ODQyNWQ5MjE3QkJBZDQ4NTZBOGQwYTJDNzIzMGQzIiwiMHg5NjhmNERmRjBGQUI0NjUzMGMwQTQxZmRmNEZERDY5MjMwQTYwNjE0IiwiMHgyMjNCODA1MDQ0RDg4RmNlODlFRmRCMmE2ZTU1MzFiOUQwRjFFMDM4IiwiMHgyOTg3MkE3MEFiOWRlMDM3Nzk2ZThDYmIyRTczMmY3NDFEZjNmMzhDIiwiMHg2NzY2YjQ1QTE1OEJFNzBhQzFhNTk0RDNlYjVhNzIxQ0M4QWJCNDVDIiwiMHgwZGJCM2ZGYzVGOThjRDljNDYyMDNjMDBhQmQyNjUyRjk2MDdBYTQ2IiwiMHhFQ0ZjNEY0MzVBOTU1RjgxMkNFMUVBQzk5MTUxYTQ0MDdCYzVGQjJjIiwiMHhGNTVDNTAzYkVEM2IxQWE5YjY0NkE4NzhBNjZCNDQxRjM1QWZFM2ZDIiwiMHg2Y0Y5MTFiMkZFMTZBMTU3OUZhMDg5QTMwQTAxMTYyYTYxMTFhRGNlIiwiMHgwRjI4NEMyMzMwZjE0RTJDNTY0QkY0Nzk0ZTM2Q2RCOGY3MEQzMUZlIiwiMHgzQjBEMEY4NzQ0NUExMjhGZjA5YkExYzE3ZjM1QkE5MWU1MmQzNDM3IiwiMHg1ZDM1ODJhOWFiMGM3MzgzMUUwMTNhMDYwMzRGNjczMTBhNDYyODQyIiwiMHhFMTAxNjk0NkJFQzk3Mjk0MDNmY2I4ODEwNzZjQ0QxNjMzOTE2NjY0IiwiMHgyY2QwNDMzQzRENjE0MkJkNjI4OGNFNWE5ZEQxMzAxMjE4ZUFGZjA5IiwiMHhENDYxNjBmOTM4OTdBMDM4NzZCMmI5MTY4OTllYzZjMjcwMUM2MEVkIiwiMHgzMTU5Zjg3YzRBY2VmM0E0NEE4MjM0NGI5QzgyNDI0QzJhMzlmMDFDIiwiMHhkYzg2RjZEOTNEQjQ4RWMxNTlDMUZEQzkwYUUxMUI3NDM5Q2NiYUU5IiwiMHhCQTkxOGFEQjlCMzZGMDRjRUQwM2I2ZkFhYzk5RmM0MjQ1ODFjNzU4IiwiMHhFRjljQTgyODhCZDQ5YzkwMEMyZGI4OGVDMzRDZkJCZTM3QkNGMjM5IiwiMHgwNDQxYkRjODE5YThhOTJlMUVjOEFBQzY0NEEzMzY1NUQ4Zjc0QzU5IiwiMHg4MjlFQjU4NTJhNzRlY2Q1YTBFMmFjYWI0ODIzNjkxQWRkNTQwNjBmIiwiMHg0MjExYzc0MEI2M2MwNjVEODAwM0JkMkY4NzhiMGZlRTcxYTkxOUFGIiwiMHhkNjJBN0MwRThERjg1YmMwMTkwQTFmMjc3N0M1QTZmZjM3OTU3MDQwIiwiMHhENjEwNjMwYUI2MjNEYkNCMTA3ODVENDNiMURDY0UyQkRFMjEwY2QzIiwiMHhGRTk4OGQxZTgzNzRlN2YxZUM2ZkZCRGM2OWQ3ODk5NUQ4MTQ0ZjAzIiwiMHg4YUM4RTA0MDVlQzNCMjdjNDBiNzg3MDMwQjNBQzcwOTBFMmM3ODg2IiwiMHgyYUNkQUM5NDNhNTE4OUVGRDg3MkE0RTkyM2ZCNjQ5QzY4QzREMEZDIiwiMHhCREI2Mzc1OTM0ZGI2OTRCNDdDRkZDYjAxNTMwOTQ5NjdDMzczZDEwIiwiMHgwY0E5NDQ5Njk3MWI0YTQ3NjkwODE4Yzg1MDgwNDY4Njg1MDNDMmM5IiwiMHg1N2ZjOEFEYmY3QjU4M2I5MjlDNTFERjBEYTE2MDA4NjUxQzFEZTc4IiwiMHhlQzU2NWFmOTY5YUM4ODkzODdhNzM4NDRDMmFiMDdhZDE3ZTI3OTNBIiwiMHg2NTU3RkM5QzQ0QjRhMDRiOWVjODY4MTZmOUY2ZkNEOTdCMEU1YTJmIiwiMHhCMzAwQTg2NWEzMjMwOEQyYTAyZTA5NTg5NkI2NDgzMjBlNTAxNmNmIiwiMHgwNDFkYTZjZjk5ZWMxZTJhODg1MTI3MDdBZDRmRTY0ZTBkZTI4NmQ2IiwiMHgwQkY5RjI2NTI4MjI3ZGFmOTViRUZiQjY2YjU0OTEwMTcwNTEwQzg3IiwiMHhENDk4MWVEODg5MmNhQ0MxMzUxOTIzODVERTA1QjE5Njg0MjMxRTc0IiwiMHgwMjY5YzhCMGM5QmYwMGExMmUwZTY1Nzc4NzgwODg3OTRhNzEzNkQ4IiwiMHg0QTExMzBjMTBDOTlFZjcyZDg0YzZCRjBjNjBGOTRENkFCMDg2ODNFIiwiMHhFZWQ5QzFCMjMyYjg1OUNkNjgyOEJGMjQwQTVBQTUyRjYyNmM1OTA3IiwiMHhFRDNCMEQzNzRhMzQzZDhEMGYyYzJlNGJjZTE1RTZDQ2EyMjEyQTk0IiwiMHgzMzBEM2MyODI2YTZiNWMzMjkzMWFEZDcxNkJmMWJGMTZBQWFDZjE2IiwiMHg0NTQ0OTQwNjhhMDYwMEQ4Q0Y3Y2JFNjlBMDMzOWNENjJjQkJmZWI3IiwiMHhkMmUxNWJiRmM5RDA2ZWNmMTY3ODQ5M0EyOUM1ZTA1RTA0OTNEMzg3IiwiMHhEQ2IwZGM0YzcxMjQ3M0U5MjI5QjI2YWFlMEU3MDZkOTliOTZGMUMwIiwiMHg1MzVlRmU3NzFjN2Y5MEYxN0E5RjEwQzVlM0ZmY2QzQTNEOEVlOUJmIiwiMHgxZDdhRkM0NmQ1QWEwMTk1NzAyNzQ5N2QwQzY4N0UzMEE5MjEyOWQ0IiwiMHhlZTM0NDQ2MTJEQTgyOTAzZTIxOTJFQzY3NDg0Mzk0MzQ5YTNGQWQ3IiwiMHgyOGQwMURFMjFEZjJiNzVkNEQ4ZUJlNGFCOUJGN2FEYjNjYkZiMkQ0IiwiMHg2MDQxMjQ3OEZENmMyMTVmYkU1MjhGODAwNTdjNTZlQ2E0MTVlMTM3IiwiMHgzRmRlRTIxRkQ5MTlmY2ZkNGExQWMzRkYyZmEwRkM3RTIxZDE5REUxIiwiMHhEMUVlRjVlY2IyYTM4NmFmOUY2MzE0MDM1RGFBRTU5Q2U4NjUyRTM3IiwiMHhjQjg3NEMxN2RmODE1MTQ2OGVlNzEwRTkzRjdBRUNhNzAzRjE2ZDc3IiwiMHg0Y2ZBMDBGMTM3YjI0NDMzRGY0NjBjMmU2NmQ5ZWJENjMzMDg1NzlBIiwiMHgyMmYzZTY0M2MyZjAzOTgyQjVDMjZCNGZGZmYxRkMyNkQ3NzA2RDU2IiwiMHgwODdENDBCODI3NEZhMjQ5ZmMyMDk2MjI0MTlCNzgzMUU2QkRmMjAyIiwiMHgzMWM3NTk0NWJDYjNjMjBDMzMyMzg5RGI4Nzk1MThEMEY5ZTAyNjUyIiwiMHhCMWYwMjU4YjZkNjZhMTNkN2E1QWVjQ2I1NmRkODhjMzM2Q2UxMEQzIiwiMHhFODRhOEVDZDk3REQxZjU4MTU0RUQ1NTNENWIwRUNhREE3QTk3NzM5IiwiMHg1NTZEMjM5MmQ1MkU5QWQzYzgwNzYxMzQ4NjI2MDE5QmZFYTQ0QTlEIiwiMHg4Y2FlMTA0ODdBZDkyNDgwYjlCRmJmQWUzOEM2Y2Q4YUM3YTBCRGM0IiwiMHhiRmVhMjIwZjQ1OEUwN0ZkQjZkYmI0QWU5MzUwNzdDNjM4NjEzMzE2IiwiMHg2ZEYyZUU4YUVFMzBmNWVDY0VCMGY2MjQ0MzE1MUM5OThFRGU3NjM3IiwiMHhmNTBkN0E5M0M5MkM0Y2NmNDBmZTBhQTEzRTVENEZGMjEwMmU1MDVCIiwiMHgxMjc2NzA0MDZCMzk3NTVDMWMyMzY2Mjk0ODkzQjNENzQxOWU4ZGI5IiwiMHhDMzllQzY5MDkwMDU3MDAzMzgyMjhFNzRFMkU2OUY1YzAyOTdkZjI0IiwiMHg0OTM4RmZkMjkzMTk0OUE4YzM3OUFmNzM3ODEyZThlM2RFNzQ4MmQwIiwiMHg1Mzk3ZDg3RUI4RERkMzZmNjMxQjcwNDY1M0EzYWIyYmYxNzM5NDY3IiwiMHg0ZmY5MTgzRGZhQkNEMDVBQTU0MjEyNjcxRDUzNkE4MzM4OEQ0NzI4IiwiMHgxQWYzMUQyQzU5OWMwZDg4Njc4ODQ1N2M4QjIyZmM1NTkyRmEyRTAxIiwiMHgzNTdhZjQ2M0Q4MDYwNmM3OWZCRTUxNzJBNTMzNDYxMDY1QzA3MkEzIiwiMHgzMDhmQ2JFODA2Y0Q2OTYxMzI1YjlBNzAzOTY5QzE4OWY5RjZGNTVBIiwiMHhkN2JBQjc2QjM1NDFEN2ZEZTBEN0ZiNjJBMjk3MjA5MzcwZjJkNTZGIiwiMHhGQmZmN2NGYjQzMThGNzIyQjQ5Zjg0NzFBMUY4M0ZjMTQzZjk0OGM4IiwiMHg5MzllYUQ0NUFlNTNkZEFmNUE2QTI0ZGQyZWY1RjM4ZDk4ODBERGYxIiwiMHhkZjVBQkJlODYzNWNBZTE2MjczZEYxMTljYWEyZjY0OTQ5NGNmOWIxIiwiMHg1MmQzOEVhMzMyNUJkZGRiNDQ2Y0E4NkIxQTY2NTRhMDk3MkE1MEI1IiwiMHgyMDhCZDVEYzQ3MEViQTIxNTcxZGRCNDM5ODAxQTYxNGVkMzQ2Mzc2IiwiMHg3MTI5RDFjZDUwMTIzQUJmZTA1YjFCQjc3QTlmMmRBMEM5NDE5NWY0IiwiMHhGZmI5ODZBN0JENmZCQkY5MjBmM0MxNmVDYTE2YkMyQmMwRmE5RTk2IiwiMHg0NzVFRjRjMTJlOTg1MDQ0N0QyN0E0NTQ2M0RmNDhCZkNCQzA3M0RjIiwiMHgxNTc3RDdjNzlENzY4NmNDMDBhODUyMTQ4NjNBZTVDZGUwOGYwZDI4IiwiMHhmQmM0NzJFZDJjMkQ5MGZBQTBBODUyOTI2NEI1ZmMyQ2I1RjcxNjU2IiwiMHgyMzIyYzQ2RTZmMmY0QjgxNThiYTU3NzMyZjhjQjEzOTBGNzhjNTJDIiwiMHhDNTYxMEQ1QTk5QjEzODYzRUFlQkQzNTQ2ODI3NmQzZDM4M0VDMTU5IiwiMHhEMWE4QzJDRmFiMzVEYzg3MjQ3ODlGZTQ0OGQ3YzNGN2UyOTYxQWVmIiwiMHhiZEY5MThmMWJEZjg2ODY5RUZiZUQ1Zjk4NTYwMjY1RUU4MDM1MzdFIiwiMHhFMjc1ZUI2MTU0Y0I0QTczRjBCQTU3M0U0M2IyYjA2RTlFNzhiN2YwIiwiMHgyNGY2Mjk3N2ZmMjA2NDhlY0EwQjVGRTYwMThEMTIzN2Y4RDg4MzFlIiwiMHgwNDBkNzNFRDhjNmE1QTA1ZmNkNjhCYUZiNjM0YzBCM0Y3YWY5OTkzIiwiMHgwYkYyMWZkZURFRGExMGUzMDgyMkU1M2Y3YzVlOTcyMkFlODE0ZmFFIiwiMHgyYTM3QTZiYzlkM2RFMzBCYmFhNTVlNzM5ODViNTAxNjIyRjk4NDBFIiwiMHhlMjg1NDgzOWVmQTdDN0QzYzRmM2M0OEI5RDQwYTA1N2NlNzlDMTMwIiwiMHg1NDg4ZWQ3RjlBOTk2ODRkMEU5RUNDZDM4NDc4NjBDNzM0MDE3NTc1IiwiMHg4ZUU3MEU3NzM1MmNjRkU2MmE4QmE0N2VGMTMxODlDOWZCNzJDRThhIiwiMHg2ODRjYjViY2E1NTdjNmY3MGVBNjc3MDE5NDI2ZTJEMzE4RDE3YTAzIiwiMHgxODdBNDc3MmNFRDY2MWVDRjhlOEI4ODM0MWU4NTM3ZTAyMTFDOTdhIiwiMHgzM0MwMzY1NjYwNzkwRWY4MEVCM0ExQzA4MDhDOGY3ZkY3MzYxNDQ0IiwiMHhkZkE3MEQ1Q0M4ODQ0ZkMyZDdBMERFNEZEZTEzODY1ZGI3NDZhYzc5IiwiMHhBZTdjQzRBMDM5Y2M4QmJCQWU3YmRDYjMxQWVEMTQwNTZlNDg2NThEIiwiMHg2NkQzNjk1OWQwOUI3MzBmOTRCMzU5ODI2Nzc5MTY0QjQ4Rjg5NzJDIiwiMHg4QmFlM2VkRmJDNGI1ZGYwNDk5ZWQxNUFEMDQ5ZEZkQmI1MkY4YTg3IiwiMHhjQTc0YjE3NTY4MThhRTM3ODM5NkYyMUE2NjIzRjBCNDBmN2ZhN2VCIiwiMHhhYWVCMjcxNzgxOTA1QkFGOGVhYjM2MmQ0NDY2MjZlNDdCNzgxMjk5IiwiMHgyOTQ5QzBBMzAxZmEyMjY0MzREREEwYTg3NDY1QTM5OTc4NmY3QzM1IiwiMHg1RkUyZDdFNjNBMzcxNjc4OUZiZDYyN2RiZUQ3NTBGNmUzNDk4QTc3IiwiMHg1ZEQyMGY2NDY2OTVBOTg5MTcwNzg5QkQ1RTQ3NkNmZEEzMjc5MWI4IiwiMHhmODZmRUYyNDY4MjYxOWMyMmQ3Y0Q1MDRmZTM4QTJkMkIxNTExRDI0IiwiMHhkZmIwNDBBMWZFZGFDMDA3ODgyNzIyNTJCNzNCYjE4OTU3NzMwOTkxIiwiMHhkMGE0QzhDMUM5OThEOTYwZUZiQTQ2MDk4ZDQxNjVhN0JFNWE2NDJFIiwiMHhjZGZEYjA0OUVDOTA0OTdCNGQ2MTUxODYzRGIwYzU5OEE0YjhGODgzIiwiMHgxZWU4NkExYzkzNjI0ZjA1MDMzNjk2QzkzRTJlY2U3Y0UzQzRiY0E5IiwiMHhjOTE3MURFZkJGYkU2MTY1YzY4RmQyMGEyODI2MEU3NjZmQ2E0NzQ3IiwiMHgxM0Y0NjNBOTAwNzQ0MmI2QjlDZGExNkU2OTI0OGI3OTU3NzI0MzcwIiwiMHhlYzJEMjA3MUQwODZGOUI4MzM2N2FhODkyNUVFYzI0YjI5M2UwQTZhIiwiMHgyZDRmNTFjOEI1MDk3ZDBiMjY5NjEwN2MxMTdlMjNhQTU2M2NlMTU3IiwiMHhmMzUzOTcwMDFGMWJEN0IxOWUzY0FCMTFhMTM5NUY3NTE3MDMxRTNBIiwiMHg4NzAzN0U5YjkwQkVkREI3MTA0Njg5YjZBODVDOTVjMjcyYjRiOGU4IiwiMHg5N2RkMDkwMWRCOUQ5M2QxM0NDMDYwOTUxZmYzNTkyQWUzYTNiNjRDIiwiMHg3MjgxMDJhNUJBMmM2N0YyMjUwMDAyQzBBNDQxODcyNDAxOTg2MkFlIiwiMHhhMTZBM2NCYzkyRDc3QjcyMEE4NTFkMzNhOTE4OTBDNEZiRmIwMjk5IiwiMHhDMDZjMDhCZDViMDI0MjJFMTk1MTkyNTE1MTBDNDFkODM4NzM3NjA1IiwiMHg4MWE4YmQ3ZjJiMjljRUU3MmFBZTE4ZEE5QjQ2MzdhY2Y0QmMxMjVBIiwiMHgwNEY5ODhhYUE1Njg3NmI0NTE1YzQ3NUY0NDRBZTZjMUJCRjk2NDQ1IiwiMHgxZTBlNkYwNzExOWI1ZTVmMTZBQWJFNzlBNmZCMTRCMjM2NmQwYTQwIiwiMHhiNDRFNzM1QTI2OTQ1ODJBZkI5Njk4MTY0MzEwRTM2NjkzMjM4NWYyIiwiMHhEMzUwY2VjY0RGNTcwMzU5MDRDODBjOTYzMDgzMzQ0RTJGQWZBZTBBIiwiMHhmNEQ2OGI2ODMzNGRmNmY3QTBkMzdlMkI3Yjk2NkI5QzYxMWIyNDlCIiwiMHhjRjFGRDlhMjJEZTkxZGE3NDVhNmFmYjRBREZDNDcwN0M3OTVDNTUyIiwiMHg3MTBENTU3MTdCN0IzQTE5NzIyYzVjZDRkODIzNjk5MjFkNzcyMmIyIiwiMHg5OEZGRjZDZDdmRGEyYUJhOEJEMjQ3NjlEYmY2MDJjMGIzNDZlQTczIiwiMHgxMkVENGI4NDZBN2U1OTk0MkM5OWJBYzFCOGJENzEzNDk5RjVjNDdiIiwiMHhBZjAxMzFiYjk3OERDNzJiNjMxMmMwQWQwOTVCNmVkOTZFNjRGMTE2IiwiMHgwNDkxODdhM0NBODY0OENmYTcxYzFhMTQ0MjhmNjIxOTE0NWRGYjI1IiwiMHhDZEE3NTU1RDYyOTdlOTEyOWY3NzUxODViZGY3MDIyZTJDNzc1Y2YyIiwiMHhjNDY3M2MyOWI1MjVDOTk4MDkxMTcwNzk1NUUxNzRjRjNjRWUxYURkIiwiMHhENmJFQWQ4MTgzQTExMEYyNjcxNjhmN0FERDIxMkE1NzNhRjNlNzEyIiwiMHgzNzc5N0U3NjA2MkI0MWQ0NTdBYjRGQ2Y2MmUwNzYwRkIwNTM1MGNkIiwiMHg0RTZmNzczOUU0QTRFQmQxQUE2NjQxNDEyYUJBNUZBNzhlODFGRTlBIiwiMHgyMDA0M0I4QTEzNjNkNUQ0QjQ0ODRkZGM3NGU4QjhhRmNDNjNBZjg3IiwiMHg1MzUzNWYzMUE0YzliM0M4NTNlQzI1YzgyNjRFMDdFRDE5ZTBkQmQ0IiwiMHhkMERDODQyQUM1ZDg2Rjk0QTQyQjZkMUI5OEVBRjVBMEYzY0FkN2FlIiwiMHhjQTg3ODAzZEM3YzVCODc4QTRDY0MyNTg3QjZFNUM0RkZlM2E1YjUwIiwiMHg0M2RGMTE3QUUyZTEzNDVBOTg4NzM5NWRBN0Y4ZjIyZDYzOTdiYzNEIiwiMHhCRTAwZUU5MzRDNTg3OGZkN0Y0Y2E5Njk2MzdCMzc0ZGFCRjg3NUM2IiwiMHg4MzIxNjcyMjIzNWM1MDlmNzFmQTczZDg3MjZDY0VmRGU5MDkwN0I0IiwiMHhGQTA0NDQ1YkE4ODUwM2ZiOThEOEIxYThhRUREQWJkYzYxQTZGM0Y3IiwiMHgxM0M2NDBlMGRBNWJFYWRlQjVCNzIwRDM4NDdjMjM0NTZlZUQ1NjU1IiwiMHhDMUZGYTEwNjc2N2RhOUJGZjc3NzA3YTVlY2IyQ2IzMTA3NUYwMThhIiwiMHgzOWE1QTZhOTUxZTc0MzkxQTQ1OGQ1MjdlYzg2MGMzMjg3RWQzNURmIiwiMHg4N0QwMUQ4ZjMzNzg0NDU1QUFENTM0ZThjNDk2MjMyQzFCOGNlMDdiIiwiMHgzMWFiMTA0NzQ3NTY1RjMxOTFkOEJiNjQyZmYzQzY5MzlBMUIxRTY3IiwiMHhENDk5RWRkOTJjMjY3QTg0N2ZjQTQxMDY5RTZDRjgzNTFmMkMzYjExIiwiMHhDQWFFQUQzMmZkMThmNDdkNTY5RkZmMEQ2NzEyMjk5ZGUwMTJDQ2NEIiwiMHhEY2ZlNzk0YjkzQTE4NGVkODM5MTFEZDk0ZTZFMTFENDZGMDk2Q0IyIiwiMHgyNjNkZGRhODY0NGFFRjY4RjZCYjc1RTg1QmQxNzVjNzIxMDM5MkUwIiwiMHg1ODg1QzRlRDg2ZTRCRDIzODVkODcxNTk0MzhhODA4NTBFNUYxQWM0IiwiMHg2RTA4M0I2ZDlENGVlOUY3YmMyMmY0MTMxNjg4MUViQTI5NGVBOGYyIiwiMHgwNUY3MjI1NDllRWQxMTY2N0RENDZhN0MzRTkxMUVEMjdEMjg0NmM2IiwiMHhFOGJFRjFBQzYwODAwMTREOTkzZkNCMTAxYTI3OTAxNTZkMzJmNDNlIiwiMHhEOGJmQmI5ODM4RTcyRUExNGM2MDUzRWI2RTREZGQ0NWVhRDJkRTU3IiwiMHhhNmVFZjIxZUVjQTJDODUyYTQ0MWY1Q0Q3ZWVGNGVENjQwYzEwRjJiIiwiMHg5M2I1NTgzZjNmRTIwMThmZmFlMkVFNTIzZjc1NTJiQ0RkYjlDMDMyIiwiMHg0MjlhOUFFNDZlRmE5NzlGRDQ1NTkwNEVBYjI0ZUU0NWY1NDc4ZjlBIiwiMHg1ODVCM2M0RTJEOUE4MDU1OTI5MzBjQTZBMzJGMmUzNDgxMjFkNzg3IiwiMHhmOTVEMUU4YTIyNjFkQmQxQWZiOGY4MDNhNDMzQTk2YWY0Y2Y0QTk0IiwiMHg5QzgyYTRhRjZkMUMyQ2FjZjVCZTNlQTk1NEJFNDU4QmQ4QzRiOUViIiwiMHhERUE3MjZFNjZBY0E5NGJkQTJmNDA5MjMyMjY2MGRiMkM5ZTU5QTA1IiwiMHhiQjQyQ2Q0NmY0MDEwOTlCNzQ2MjUzRGNBMzU3Zjk0MTFFMTQ4NDA1IiwiMHhBZjA3RjdENDljNDFjODM0MTZlMzY5NUNEQmE5RkM3MGYyNjRGMmJhIiwiMHhGQUQyMTdERkVBQWRlN2RDZDUyMzVhZTk4NGZkOTY1YUVkMGE3OUQyIiwiMHhiM2YzOWMzMTA4Q2Q0NUUxMTEyZDhiYzlBZTNDRDVBMTEwQTdDRWJEIiwiMHg4QmI5ODQ4MWEyQzM4MjBBNzM3MGIzQjc1QzlkMTU3OEVjOTE5NmM5IiwiMHhDMEY2RWVlMjI2QmVDOGNCMzA5OTI0YWU4NjNjYUJmMTVCMDZCOTRGIiwiMHgyNEQyN0Y0MGJlNDlGNzE2MEZiREY1NjQ0MTBBRTlGMzM3NDhmODJDIiwiMHg1MTUxZTY5YUJlNGI2MjVERDU2OUJGZTI3RjFBRUI0REZiNDQ1M2JlIiwiMHg2RWRGNjZEMDRkNUVEMzM1NzEwMmVkODYwNWI2Mjc1MkY3NDBiNTk4IiwiMHhhMDQ1OEFFZjY0NjBDODc2N0U0QjlEQTk5QjE1NGM3NjRFNjZEN0VEIiwiMHg2ZDVmMTAxNTUwMDU5MWQ4ZDhlNjAyNEQyMTZiMGM3MDY4RjVjNTVlIiwiMHg3MjE1RjI2NTczRTdCYjJGM2E0MDgyNTk0RTc1YjZEMTc0NzY0NkI0IiwiMHhhNDYwNWFhMDRlMDJhODQwM2IxMzc3OTIxMTg1OEU3REQ5MjYxMmY0IiwiMHhDQTBjMmFiMkM1RkQ1RkNCNTJiMTU0QTJCQTQyYTdGM0VBNDI1NjNhIiwiMHgwRThkMmFhZDYwQ2FmMERGNTlmQTg5NzkzNENmODkyOUExNEIzYjM5IiwiMHgwREM1YTc0NzhlYjAyMzY1ZTQxNjFBOEExM0JBQzYzOTRGQzJhZjdiIiwiMHg3Nzk1MTg1YmZiN0E5NDhEMTUwRTQwMDZhMTY2NmQwNTBBODI5YmE5IiwiMHhGNkQ1OTRBOUY2RkNDMEIyMzdlZTJmOTg3Q2M2ZDY5NDA4NUFmRjRBIiwiMHg2YjczRTZDNDE0MzQ3Qjk3ZjUwNjlBOTVDZmJDODU1NTliRTg5MjRGIiwiMHhjZDMxMTlGNTdmZDkxOEFjNDNiZDlCMGVkMDllQjZCRGFGNDIzQzIyIiwiMHg5ODYxZjllNDZCMzRCRjgyNjM1NzdkNzU1NDEwMTY2QTEzYmQ4RmNCIiwiMHhjRkMzNzhGODQyMkFEMjUzQzNEQURGZTYzNmZDM0E2RmM2NjExRmNiIiwiMHg5MUQ3NURjMzFDQUIzNzVhMDc1YTkxODgxYjY1MjYxMzVDNjZEMzY0IiwiMHhBQWU1ZjgwQmFDMGM3ZkEwY0FkNmMyNDgxNzcxYTNCMTdhRjIxNDU1IiwiMHhDRTg0ODY3YzNjMDJCMDVkYzU3MGQwMTM1MTAzZDNmQjlDQzE5NDMzIiwiMHg5Y0VjOTFiMkNlQThBOUM3Q0I3Rjc3ZDY2Y2NDQWY5N2RENDU3MWVDIiwiMHg1NDIwNTlEQTJFNkQyY2M5NEQ0Mjk1NDBjNjdmOTg2ODI0MzI2N2NGIiwiMHhjMkZkOEFiNkM4OWNkZmU5NzNCMDQzNjU2N2UzNzlmZTkyMjA1NzY3IiwiMHgyODIyZjYzNDE3NDNkZjczQThkZTAyM0JEMzk2M0Q5NDVmN2Q0ZjE0IiwiMHhlNkQyOWMzNzBhNjgzZDc1Y2VmMmI1NjI0ZDFmRjg2NTE0YzcxQWQxIiwiMHg3YzgzNTQ5MmJhZTQzQzU3M2MwMDhmYzVEQTI5OTJFYjgyNGQ1ODlFIiwiMHhDNmFmNzNhMjQ4NWI0ZTg4YUU3OTdiNzU2YjkzZjIzQzA3YkVBMkVmIiwiMHg1NUY1MDVhYTMxRkVkNTgwYjViOEE5MzMzMURmRjdEYTgwM0I1OTAyIiwiMHg4OGEyMUE0MTAwQzRERTFhZTM1RDc5MTNiMjYwNzViMDA4N2Q2QzFDIiwiMHg0Q0U0NDdBNjJlN0Y0MzFkREIyNjA1MDkwZmQzM2ZCZUVFNzI4NTAyIiwiMHgxMDk2QUZlNGRFNjhhMjhGNzcwNWFhMDBkMDYxOEE2YjhDZDYzQkU2IiwiMHg2NTY0ZWVkRDc0NUJEYmQwY0RDNGMzMjcwZmZBRDY4MUMxNGRhYzBlIiwiMHhEOGQxYTA1OTMyNDE4Q2M2YmFEOWM0OEQwQzRmNzBlZTJjNzJEMjk5IiwiMHhFOTdkOWQ3ZUM0Y2I2NzgxY0MxZjE3YWU5OWIxNTA1ZUE3OGFFZDIzIiwiMHhmNWVFYkYzZmEyZDI4MzNiMTc2Mjg0ZTQ3OUY4MzE0RmNkOTczNWVhIiwiMHhlNDFBMzQyNDM5NDdiOTZDMkYxNzdGQzk2ZUUxMEFkZDZkMzBlMDQ5IiwiMHgyRTQyN0VjYUIzOUE3REZEN0Q1NkVlQWZFM2NhZUVhZGM0MzIwRDdGIiwiMHhGZDY2Zjc1OTdCZEY3MjQ4NTM0ZjUyMkM0MjdDOEMxMmU3OWZiRTk5IiwiMHhDMEFiRDYwNDc1YmY1OTdEQzY3OEZhM2UwNURmQzZmN2M2MTQyNUU0IiwiMHgwNjVBYUQyZWRjNTlGRGNiZUYzMDNBNDQ0QjdkN0YwZEQ0NDE1QzY3IiwiMHg5REU1NzQ5MzI4RDg0YUMzNENEMDkxNzEzOGY4OGJGNUFlMGNDYkE1IiwiMHhkMTVDNjI2Nzc0OTFEZTVlMzc2NDQxMDg5NzMyNTY5ODMwNTZiNjlDIiwiMHhiNjA5OWU5QzE4QjVGNEQzZWU0QzY5M2M2ZjcyMTRmNDJkMmJjOWI3IiwiMHhlNkFGYmFGNmJkZGVENTlGODA5NjlBRjA2NjVlMWIwNDk2ODE2MkQ3IiwiMHg4QzdDYTY3NThhYzYxRTdCNTYzZWJjNThCMjk3N2M3MDFlNkYzYURGIiwiMHgzZTRlNTYzZjg2MjViNTlmQTNmQzMxMjM5M2QzNTFBYTAzMTU1ZTE5IiwiMHgzMzkwNjQzMUU0NDU1MzQxMWI4NjY4NTQzRmZDMjBBYUEyNEY3NUY5IiwiMHhGZjM4ODBkOTM4NzJkRTljY0I0YUZiY0IwQkIwZmY3RjkzNjVjMTA1IiwiMHgxNDAxNjYwY0I5MjczNDE5ODMzNDFlMkEwNDM1MTVhOTk4MjlEMGExIiwiMHhCMjRDYzhkMjA1QzJmNzRlOTI0NWE1OWUyNzkyOGE3RDNBNGZkNENEIiwiMHhkOWQ5NzY2ZDgzOTY1OTMxRjM4REE1QUVhOEFhQ0E2OWU1OUI1RDMxIiwiMHg5MjZkQTQ0QkZkQkYxREQ5YzlFMzBGMWJjMTU0ODIzOEY0NjUyMzRDIiwiMHhBZUUzN2NFMzI2NThGZDVhNDU1YzdiNDg5MGNkQjVFODQ0ZDczMzYzIiwiMHg2QzA0NDUxMjQ5ZGNGQ2MzRDI2MTE4N0UxZDdCMTY0ZTQ4MzNCOWJjIiwiMHg4Q2M1QzY4ODJiZTBmMTQyQmI1QUViNjBjNTIwMzZlQzU5QjMzYTE5IiwiMHg0MDBGMjYwNjRCZjEwMzJDNGVCOWFlNTExREU2MmIzNjg2MGU1RTU5IiwiMHhkMTAxMjJlRjg2YWUwNDBFZkVlM2Y1M0YzNUQzMjQ3MjMwQ0E2NzBDIiwiMHhBNzc5MzMwNjBhQjlmMzJkQjVhRDJGNDBmOGVmMWFBY2ExZWZBNDhDIiwiMHhmNjA4REI5NUY2OTRCOERlNTlCRjVmN2FEN2FhYTJiM2Y3NDNiMUQzIiwiMHg2QTAyOUE4YzUwOTExQjJEM0YyMzViM2MzZmY2Nzc4RmNGY0Q5Y2RFIiwiMHgxNzE4Q0JkNzdDOUE2RTQ3Mzk2YkQzRGRGQzU0YTEwQzc4QWQ2QTE2IiwiMHgyMzcyMDA3MjNiNjczMzU4ZUNiNGREYTgyNDA2ODVkNTU1Njc2ODI4IiwiMHhjRUM4MDc1RTM0Njc1NzMxNjRCYzFGNDY4MmNBMkUwMTA0NGIxOGJCIiwiMHgxOEUxMkRGYzY0NUUyNUJkQjU0NzE3ZUFjMjM3MzdiNGRFMmFFQUZlIiwiMHg4M2I3OEVmZDRjZTg3MjU1NWM0RTBFZjcwOTJmYmIyMjgxMUZlNENGIiwiMHgwRDYyMkZGRTNkQTU4YzYzOTBEMUEyMTUwMjg4YWRmQzAyMjY0YzBBIiwiMHg4ODQxZjM3ZjIxMDMxMzAwNTMzQjk3NzQ3QzIxMzdBRTE5RDlhQzAwIiwiMHg5M2YzNzc1ZTBhQTA1RjNhRERkNmEyOWZjQzQ3NjBDODY0ODlkODIwIiwiMHg5ODAzQjNkYWZCRDY5N0U0MDc1OEE3MWU5NUQ1RTAxNTZDNEQzODE5IiwiMHg2NDg2NTZmMTVlNzNDYTk2ODhDMzNiRmU4ZDJCMzhjNEEzNGM1ODJDIiwiMHhkYWI1NzQ1ZUVhQTllOERBOWE2QTQ1RjkyYTVDZDc0MTNiMmEyMUI3IiwiMHgwREQ1MWZmN2EzYWZhZTY3MTMxRGFGMDdCMmMzQ2RlYzg1RTFCQjIwIiwiMHgwNzRFN0Q0OTNhM2M0OTI4ZDc3MzZFYmQxNzhlMUY1RTUyMDk3NTRmIiwiMHg2MmI4OTU0Y2ZFOWNFOGVjYzc0RDNmOGZEYTYyODI0NDkzNUI5MDI3IiwiMHhiZTkyMjA5QzEzRTM2NUY5YTM2MGY0ZDhFOGM4MjEyNDdmMzUzOTU1IiwiMHhFNEVGQ2IwNTY4QzVmRDEzNUUzRDdFNDkxY2FkNGRmREQ4Njg4ZDQxIiwiMHgzYjM1QzI1NDlFYjI2ZTNDRWJDMGUzOTFENjM1MzY2RjAzNjk4ODgyIiwiMHhkM0I5OTEzMWM2YTg2MDExN2QwZkQ5MDA1MDRDM2M3NjREMEUwNzYwIiwiMHhCNkNmMENlRjRjQ2U4MTQzRWM1NEY4RjFGMzJkQzE2YjM4Y2ExNzI1IiwiMHhhNDYxNTdFRDBmZDE4MzIzM2FjZGNFNmM3QmMyMjQxRDU3NzExMTBBIiwiMHgzOTk1OGZGMDJlZEIwMmIxNzFkNEZCNjM0OTgwYTkxYTBGNUY4RTgzIiwiMHg2ZUVhNTk2QjAwRDNlMjAwMTYzNTI0NTFCQ0Q2ODQ0MzY4NDA3MDg5IiwiMHhjMTM3ODlDMzVDNDFFMjI3RTFlRTg4MTVkZTE2ZEY4MDZlY2Q1Mzg2IiwiMHg0ODhEOTk2OUFiRTZhNDM5MzY4QzFGOTU5RDVCRTRiNDc0MzNjZDhhIiwiMHhCYzY3NjhhYmEwMDNlN0MyNWQ1ODFmNmQwNzU3NDY2YTYzNzMyM0FCIiwiMHg5NmRmMDMyQjljRGI3YmQ3YjJDY0I4RTU1ZTlmNjMzOTMyMDcwMTg1IiwiMHhENzBBRTE2QjRENzEwRDVDNjllQ0ZlZmEyQjQyMmNDYjE5ZkZDYUMwIiwiMHg5MUZGODA5YzZBY2NFYTE3MzdiZjQzZDQ3MTBkNjA5RjA4YmFDOTQ3IiwiMHgxMmE5OWVkMmFBNDAxMDBFMGY4MTY0YTIwRjZjMTkyNmNlMDEwN2U0IiwiMHg5MzdFM2I1OWY3OTFCNDVCZTA2NTFBYTZlYThENGQ1NUQ4YmJDRUZEIiwiMHg1RmY3ODNDNTZEN0E2ZWE1OWEyMzEwZUIxYzFENTgzNzQzNUM5ZTZEIiwiMHhiMkFCQTBmNjAxRERCM0QzQzE1Q0MxREFDMjBkNEZEMDQ5ZjlDRmRGIiwiMHhFMTJEOEM0ODVjYTQ3MkY5N0QyQzk2NWMyMzgzRjlFNTVBYkE0NTgxIiwiMHg0ZDQ0NTNjMzI2MGY3QTNGMzg2NmEwM2JBMmE4MTQ1MDEwYkVDODFkIiwiMHhFOTIzNDZkOTM2OUZlMDNiNzM1RWQ5YkRlQjZiZEMyNTkxYjgyMjdFIiwiMHgwYWUyMmU5MDc0ZmUyMDMzODQ4RDYxNTFEOTQ0NDkxNEZlNzU4YmFkIiwiMHg5MjBENzQ2NTgzNmM1QTUwZThjRUExNDYzMzBjNUM1N2IxODM3MTU4IiwiMHgyRUI5QjU3RUFlNEI0NmQ4NTkyNzkwMTI5NEEyMTIyZGRhMkUwRDUwIiwiMHgyQ2FjQ2Y3MWJERjhGZmY5N0MwNmE0NmVDQTI5QjYxMWIxYTc0YjVFIiwiMHgwOEI5NTRCMDNkQTYxZGM3OWZhZTNDRjg1QjI2MDM2YTdlRjlBMzVjIiwiMHhhMjM2MTk2OUQwRWEwZDYwMzRFMzNEMkUwNjljNEU0NzQ1MTkxQWZhIiwiMHg2MTQ3OTg2MDhkMUU3OTUyZjViRDhiQ2UxZEI2MDhlODg0N0QzMjdGIiwiMHg0MEIwNDIzYkYzMkNkMDMxZDMyYjBjNDVlMzlGQkE2YjI2OWRiMDNBIiwiMHg3QjRDMzBCQjVjMWQ5ODBFNzU3NDY5NmQ2NDFiRDNERkFhMjg1N2YzIiwiMHgzOWQwMTU0OTk4MTc5OUVBZTg0YTg4NTU2NkUyZDVGNjYzNDQ4NjYwIiwiMHhmNDdiRDRjNjIzNjEwZWU5MUQwMTJmMDkxODc2NGEyMzc5OGY0N0I5IiwiMHg2NDRhMTE1MEI2MjQxNzg1MzhDODc0QWRjNkQzMmYxMDRFQkUyYjVlIiwiMHhmNzc0ZDQ2YzY3MGYzOTg0ZEM0Q2E3NTIwRDBGNDZGQzVDZWY3MzNjIiwiMHgwMjMyZTk3N0M0NEE1NmViNTRFQ0U3MDg5MDdCMTM4YzVjQUMyNjgyIiwiMHg4QjIzMDQ3QzMxNDYyNjJjNUM4NWZkN0E1ZjRhMTFCRmJDNjVGNTIxIiwiMHg4RDcyMjc4MjVCODBERTUxMDc4Nzg1ZTJBOEJFOTk5OUJEQjJDQzZCIiwiMHg3RDhEYUUwQzY1ZEZlQjk4QWNCRUUxODk3NjE3MGRkNDNGMGIzMDZBIiwiMHg0N0Q0NWFFNWI3N0M5MDg1MDRDM2Q2MTlCRTg2MjM3NTVEOEI2QzU2IiwiMHhGMzIyMkFhY0Q4NjdERTJiRUU3MzQ5MDRFRjg1OWVjM2E0MjZmRUMwIiwiMHgzYTJlMzBkMGE5RDhjOWM2QjAwMEI5NzliMkU2MTcwZTRDNTQ1RWNDIiwiMHg0Yzk0NjIxZTVkNTI1ZDBGNkUyYUVGYzE0YzY0RGU1NzMwN2Q3MDdlIiwiMHg0NDMwNDkwOGI3YTRFQzlkNjgwMjk1QmY2ZWFEZDA0QmU2MDM2NDIzIiwiMHgyRTc1OTM1ODFkMTQzMTI5NzUyYkFFQjBCYTQ3ODBiNjM4MEE5MDllIiwiMHg0NUQ2NEI1MTY4NzlDYkFkNmU0MTg3MjQ5RGQyMDRmNzJGNjk4RjIxIiwiMHgzRTQzNjExNzY4ZWMxZWVEMEQyMDc1YzI3RGEyMGM5Yzg4NDY5NzUwIiwiMHg0QjgxMzdjMjg2NjU2M0JFOUYyMTNDYWU0NDA5MzZiRjlBM2Q3Mjc4IiwiMHg0MjAxQTc3NUQ4OUE4QjczOTNFYjEyY2I4NjU3MDY5NDkzQzRCNTgwIiwiMHhDNmRERThFMDI0NDk3OTFjOTA3MjU5RGZjZkIzODM1OUI0ZGYzQjdlIiwiMHg3ZTlGYTI3ZTY3ZUIwQkQyODMyM0VGNEZENDY2NzFCYzQzNzA3OTFGIiwiMHhBQ2MwMTRiODc5OGE0N2NiRTlBZjUzMTk3MUZiYUZiNkI4NTg2NEZGIiwiMHg4RUNjMjE1QTZlQjA0OWZFZjYxOTljNDE3YjZFRDk5NDM1ODc2NUY1IiwiMHg2OTZCZTUyOTBlRkE2ODcyMUJkMjQ4MEY2MjE1NjQ2RDkwYzA3MUUyIiwiMHg5ZTg0ODNmRjkxODE3M0M3OTFGYTEwRDg2M2MwMDhDODdlN0U1MDFGIiwiMHg5N2VCMzMwQzIyNTVkMzYzMjZGMDUxMUFiMDk0YTEzQ0JGZDJkNkU1IiwiMHhGMkI5NDFENjYyYTcyRkEzODBFRDljMzI5MDhGQWY0YzQzY0ZBRjdFIiwiMHg3OWMxM2MwMjkzYTRBMDZlMGE1NjhmNDhmODNEOTJDQUFEZUZBMDNCIiwiMHhmMDMwNTlCM2FkZTQ0RjFGNDUwM0FGNDI0RTc2N2EwMTdGRkRBOUVBIiwiMHg5YjA2RDQ5NDlCMDAyM0ZDNzI5OTg0NzdlZGFiZGM5Nzc5RTU4NzA0IiwiMHgyRDMxZTNCQWYxRjM4OEI0QjI5ZTE3MUEwNDMwNDA3RGZBNWM3RjZkIiwiMHg4Qzk3ODUzMjExNkJmNTVDZTNhNEMwMmFiQTQ2RjM4NDZiYjA3QjZhIiwiMHhkRDMyRjQxODVhQTg0MDU3NjQwMDU1NTgyYjVGNjY0RTg0ODM4OEY5IiwiMHgyNkViMzNlNDllRjRhZEI5ZWIxOTk2QjZmOTQzOTk0NzQ4MzRjMWYwIiwiMHg4N2ZkMTQ0ZDgzYjVhMDA5MGIwREJiYjQyODBENEY4YUU3YUM4ZWI1IiwiMHhkOTA0YUI2ODQyOGRDQThhMTk0QkRkMTM5QTk1MjczN0RGOUFCMmQyIiwiMHg1OTk2QzRlMTAwMUI3MjkwNGMzQjQwRUJjQzllQjJhMjEwMDNEQjFmIiwiMHg5YzRBYzUwNTZhMTBmM0ZkYmZlOEJkRTUxNTYzMTUxNzVhMWU2YjFEIiwiMHg2MzM3OWVDNGIxOERBZWU2YzhhMTc2YUQ0QzExNTM3QTBlNGFDMTE5IiwiMHgyRjIxYmUyRmU5RjY4MThiNjA5RkI1MzNFYkVkMjg3Qzk0NjgyMDU2IiwiMHg4YkUxYzI2OUJlMjA1NUYzNmI3REQ0RjlkNEM5Mzg1NzgxZTYyNjkyIiwiMHgwOTNlZTFlNTk5NmJlMTJmQzYxMUQwMDNGOUY0ODI2Rjk0Rjc3M2I5IiwiMHg0YzE0MkY4ODFBYjVDQjUyN2U4QzFkRTUyQzhiMkI3Qzg0N2JDMWREIiwiMHg3RTEyNUI2QTNkNkE1NzU2NTBlQUE2Njc0NzUwYzMzMjE0OEE3NzgwIiwiMHhDOTY0RjRFOTkwYUREZTdFMzAyNkQ5OTgzM2M2OTY3MjQ2RTVFQzg1IiwiMHhEOTBkRmZCNjJhNDk4ZjE3MjYyYTNiNkZlZUViOUI1MGJkNzcyNjQxIiwiMHgxMzA1NzQyMDM0RDk1MEVEQ2RiNDYxNkU4YUQzMDI4MEMzMjY1ZkNGIiwiMHg4NDRjY0ZiNkVmMUVBNzI4ZjdCODY4NDU1M2QxNTkyYkFCY0Y4MkQzIiwiMHg3NTQ4MTM2ZDMwM2RhMGE1Y2FBYzliMzdFN0E4OTYxMUM1Mjg5RWVEIiwiMHhEYkE1N2JFODQ3OUZhNGY4RjBlNzUwMzE4MGRkRjk2OEVjYjNhNjREIiwiMHgwMURCMTdBN2IzZGYxQzM1RTA0NWZDYzI1Mjc0NmRhN0FmM0JkMTlhIiwiMHhiRjdjRDVlZWNkNTZFOTdDYjdEQWVENDBjZjhCYzA5NUVBNjlCRUM3IiwiMHgzMzkzZDk0MjcxNzQyMzQ3MGVGMWY1NDM3RUExQUQ0ZjE2OTY0MzEzIiwiMHg1MzQ4MTdDODlmMkM3NDI2MjgyZmY4OTg5ODg5RkYxNEUwMDU2RTZmIiwiMHg1NTU2MTRBOTg1NjMwOEI4ZjgxMDJGNGY2RDk0RTVEYmJmNzZGM0FEIiwiMHhjOUI0MzA2NzM0YTI0RDAyNTVBYjQ2OTc4ZGI1OTBkQzEwYjUxQ0I5IiwiMHg4MDY0YzZDNzVGMDVCYjAxZDFGOWM2MTgyMjFlODgwREE1MUU0RDM4IiwiMHg3N2U1NTA1MGRCMDVmOWNmNUZlNTNjMzMyMUNkMkNGRGZlMTkxYzc2IiwiMHhjOWY1Mzc5QzY0MkYzMTAxNWQ2MDRmODMyNTlhMDRCNmZhZDQ2YTIyIiwiMHgyREI1NDUxZWVFZGM2OWRGN0EzQzg3ODM0OTNjQWE2OTViMzAyQWYzIiwiMHhmODBENzljNjJmRmQ4MkJDMjkxNGU0ZTJlNDJDNUI4OWU0QTUwRTJEIiwiMHg5MDc1N0JiQjM4NzRDYzE3RTZEQ0YyQzZjNzE2MjYyZTgzOGVCODNmIiwiMHg1NDQxYmE3OUU4RWVlOTVDMkNCQ0QxNzkxNTZlMjE4Nzg0ZTJDMDA2IiwiMHgxYzc4YzM3YTg4RkM0ODVlNjg2QzM2NGZFNTIyMTRCZTBCREIxNmUzIiwiMHhjOEJENEM3YTI3RWFGNjY0NzFlZjljM2YwMURBRjVENjQ4NDI5M0VEIiwiMHg3NzVGQTg3Y2JGOTA5YWFhMzMwRDhCNjk3MDAwRTg4ODkyZTVBRWNEIiwiMHg4QTVCMUNhOTRENjZFNDRmOTU3ODlGRjk0MDU2RDVmRDdGZTVCMzE0IiwiMHhiZENBZjQxRWYyYmY4Nzc5YjI5MThBOEJCMGYxODI4ODIzODNCMjE0IiwiMHgzQzYxNjM1RGE5RjIyRTI4MDMzM2MxQWU5OTQyNENFMEE3RTgyNDY5IiwiMHgyOEMxNDBGY0ExNDE1OWE2Y0IwNDJDRDgxMjI5MkJiNzA3NTI5OUMwIiwiMHhCRGIyQkEwMkRGNzFlNThhNjZCMTVBRGVDNzEyMjUxODRCMDczMUVBIiwiMHgzQmQ0NDNkODBkMmIxMmRiQzFlMzQ5Y0VBOTkwNTJDZmU1MGE5NWM3IiwiMHhDMzZlYjVBMjliNDAzYmE2RTk0OTVjMGRBZjBEOWEwYTlCNWEwNmMyIiwiMHhBMmIwNEY4MTMzZkMyNTg4N0E0MzY4MTJlYUUzODRlMzJBOEE4NEYyIiwiMHhGMDg0OWFmMmM1ODYxMzZBMGZkMDNENzk1M2ZCM2ZmODUwOEFlQ0RkIiwiMHgwMjVkMzRhY0ZENWM2NWNmZDVBNzMyMDlmOTk2MDhjOUUxMzMzOEYzIiwiMHgzMGFGMjZDRTYyMDY3NDBGQzBhMzcxQzI4N2ZBOWMwOTc1RmI4OERBIiwiMHg0MTAxYmFkY2Q0ODI4ZWQxOTA5Yjk2ODhDYkRiODEyOWVGMTkwM2M4IiwiMHhjQzVEMTA2M2NmRkJhMEJDZEE2YUEzRTgzNTk5NUZhNUI3QkNBZGM3IiwiMHg5Y0MzNTEyYTM4OTRBMTA0NzFlOGU1OUM4RDE5N0VkOUUwZDJGYTI0IiwiMHgwOGU4YmFDOUM1MjYzMTVlRUNENTc0ODJmNWIzYTg3QTE0NjJCOEFGIiwiMHgzMDNGY0ExOTc3NzBGQ0Q1ZTQyNGM5ZEE4NmY5OUVmMTQ0YmQzMDBmIiwiMHgyNjc5OGZFRjJlODA3YmI3YjE4N0Q3MzFmRUQ5ZThhOTJkOGVEQjRjIiwiMHhhMjljRjI5YjE5ZGVBMUFiMTYyRDU3QTgwRTEwM0E4Mjc2OWVhNjEwIiwiMHhmMzRBQjFkNWY0NzY0NjFiQUQxM0I5NWFEM2M4N0ExQ2ZCMDBDYzgxIiwiMHg4MjViN2UzNDZhMjdBOUYyN2JFRDEyNGY0ZjE5Yzk3NmFlREU2Y0U2IiwiMHg2YkU3REQyNjZGOUQ5ZDcxRWY1YjVEODA2ZjJiNjc0ODg0ZDJkNTk2IiwiMHgwRTNlOTA5RmFkZTE2MjdFRTdiNEU1MDM2REFGODY4OEZEQTZjQTIzIiwiMHhkNDYyNjg3OTdCYmFhOEQ1NDE5YTMyYjRlQjM1MDkwNTQ0RDk4MWZlIiwiMHg5MzNlNzNjOEMzM2MyRDE3Q2U2M2Q0ODE2ZERjRTg2Zjk1QTA5MjcwIiwiMHg0NTY1MzQ2MzgxZGI4NzFCNDU1MmUyMEUxOTY2OTAwMjczMjI1NTVDIiwiMHgyYWNkRDc1ODNiNUVjOGJBMTI4ODdiMkY3MjhjREE2NjgwZDU1NzYzIiwiMHg0MTNmRUI4NTM1RmY1NEVlYzM1ZTViYjQxNTM0ZjZkRTFFYmIxMDk0IiwiMHhBMDM2OEMwODE4QTRlYThmZDc2OUNkMjkzY0JhMTdiYjU3NUNlMmE4IiwiMHg3OWJENmFiMWM0OEQxNDJGMTMzNzU2NzE2MDc5QTU3NmE0MzU1MUUxIiwiMHhlMkQyRUJBM0IyOTZkZGQwMzdjNkUyODdDQUI2QjAwRUM2NjEzMjhFIiwiMHg0QTAzMzA4ZkU4NzIyNzM3RDgyQUY4OWFEMkZGODA5M0RkODNEMmVkIiwiMHg4NUY3ODgwMTMwNGZlYzYwMDZFRDkxOEQ5Njc4MDQ1NENEMDUyRWVDIiwiMHhCRGRhZUM2OWM3OTRBOTlDM0JCRTQ2OGM1Q2VBQzhENEZlOUJENDdEIiwiMHhkMjllYTBkOGJjQTY0MDYyYjU1OEE2ODUxMzgwZTk2OUJBMTQzZDU1IiwiMHgxNDc5MEYzRWEyMzJENTk3NmI1RjMyNzQxZjAwRmZGMjIwRTU2RTljIiwiMHgxOUM2YjJlZDdEMjdlNzMwMDI1OWNGZjk0MEU5NDRhMzk3ZTU5QmVCIiwiMHgyNzNjODBiMDFBOTdkMjJDRGFFMDUxNDY5RWMyZDNiMzFiRmNmNTRhIiwiMHg3NmY3QWYwMjExNTNDZGRlQzgyMTgxMjdBNDdCM0E3NDkwNTQ1M2M3IiwiMHg2ZDNhQ2MzY2NhN2NkOUNkYzlDRGRjZDUyNjA3M0I0MjY3ZjQ1NkQ0IiwiMHgzQzkzMDA4QjU5OEZFMGVFNTc3NTFEODkwZDY5NjQyRjgzMWUyZUE0IiwiMHg4NGQ1MGQyMGQwNWJFYzM3ZkEwZDI4MzgyRUI3YTZGNkI0QjlkMjQyIiwiMHgzQTk1NGI2MzY4QTllZjlFRWU1Qjg2ZTMxMTU3MkJCNTFEOERDZUE4IiwiMHgwM2FBRDcwYkI2QTliQTA3MWNEMGRDNjU4NjI4NTBBMmJCOTJEZGU5IiwiMHg3NjZEQUMxY0M1OWMxRDRBNDZGZjI4NzFDOGVGMzAzNTcxNjg1RTM4IiwiMHg4MTA0MjVGMTY0MDdFRDE3NWEwYTYyRWEwODRGODNhMUJDNDIwMDMxIiwiMHhENjJBRjU0RTA1ZGNkOWRjMjQ3MjZmZWI5YTViYzIzMmQwMzdBOTdDIiwiMHhENjE4QzQxMzhjMTkyMGE0ZkFjN0Y1NTZDM2YwMTI4YTRDZjFkZjQwIiwiMHg1NzYzMzhkNDk3MzcxMjdGRTA2NDQwZmRlNmEwMWM4NDY1MzI5MGY2IiwiMHg1NDgzZjAzYzAzYmIzZTk0MzdDYkFBRWE5RkI5ODE0N0NmMWZENzljIiwiMHhiNzVDNTY1MjI2QzU2NTNkRUE2MDI4ZENlQTMzMTk4RTkzNzQzMkNhIiwiMHgxNkU5OTFiNThCRTM5QzEzNDRBN0MzNDcxNkI3QjNkNGM2ZUY4MmQ4IiwiMHhBMDk1MGIxMDViMjM0NTU5MjVhQTlBN2Q2QTI2Q0JGYzJCMGQwZDg2IiwiMHg2NzQ0ODdiYTJGZTg4Mzg0ZDE1MkU2NGQ5OTQ1ZDZlRDUyYzlhNGE4IiwiMHgyNEZGMjczRTlFYTczNjBCZTIxY0U5YkFGQTFBMjExOTQyNmU3NUFhIiwiMHg4QTllZDhhZTkyQWVFYzRiMTI5MUU2YTI3MEY4MDE1YTA1MGI3MTMxIiwiMHhlYjBlYTJhOWRDYUExY0QwMThmNTY3ZUIwRERDRkNCN2UwRjMzRTJFIiwiMHg0YjRFODI4Y0YzOTNkOUU4NWUyMTE1MjMzNTJBQTg0MjE0ODhhZTM2IiwiMHhFN0VkM2FGODQ3RTE2NDc3MkU4YzI3NWQyOTdBZDdBOGE4OUE2N2IwIiwiMHg3NzQxMTU1N2QzMDUyOUI0NTcyYUI4MWE5Q0Q1ODYxQWU0NDJiMzU2IiwiMHgyY2M1OGYzZEQyZTAxZGUzMTc3QWI5YzEzYWY0ODU1NDI1NWNDYzE1IiwiMHhGNDU2QThjMUEwODRkZUI0ZjY4MkY0OTRCNTBkYzUyRWQyODY5OWZGIiwiMHg0Qzk1N2M0Nzk2NTVmMDQxQkY2NzU5QjcyMmQ4OTAyRjY4N0MxOTIxIiwiMHg5N0M5ZEQ5QTU3OGVFMTk0NjIwMTFhODg5QWFiMkZCOTg1MjI4YmIyIiwiMHhkODlmYmU1MjhmMTZmN0Q4Mjg2Qjg0RGY3NzQxQTcxRjYzM0U4OGYwIiwiMHg1MzJiZjQ1YTA5RjY5MTgxNzRlYzNmMzNEMkRDM2RDN0ZGNjU2QTBGIiwiMHgzZDA3OUFmNzM0M2NGOWRjYjc5ZjU5NUI1RDBCRkY1NjNFZTdFOUMxIiwiMHhhNTQ2QmU0RGI0NTJmMWVGYjZCZGFBNDJENzA1M2Y5ODg1ODIxNEE2IiwiMHhBQzY3N0Q3OTcxZTY1YUVmNzAxNDE2MzRDOTg1NzJlMEYzMTM4MEM2IiwiMHg1N0FGQTY3ZTMwZWFjNzMyRkE3RkY2ZTI0NUNDMTU4NUU0ZTIyMzYyIiwiMHg0NTZiZDE1RTREQzJlMDE5N0RkNGI5MzJEZjg1RDY4NkM0MzA5Mjg1IiwiMHhBN2ZDZTdDMTFkMjBCQTBjNTVFYTYwOWI3MzMyYTBFYjI0NTU5M0E5IiwiMHhGOWQ3MTFCOTEzMmU3NmI3RjcxRjQ4QjQ1ZEE1NUNkMDBjMEMxYUU3IiwiMHhjN0EyMzM0RDRBQUNhMWM1MzlhNzIwODUzMUJhYTRGZTQxODc0RDU1IiwiMHgwOENDNTgxZjAwMEIxOUFBMjI4NDJkNTM2NjdGNjBiRDVDMjdBMTY3IiwiMHgxM2QwMTJlMDVBOTlkQ0ZEYUYyNTFDOTQxZjJBQ0E5YUYxMDBjYzFEIiwiMHg3OEUzYkVBNjFDODUyOTkwRGQxZWU3NzA2M2Y0NzEzNmI5QzYxZjhlIiwiMHgzQTliNjc5MDFjMjZlNzVlYTg4N0ViMzExNTMxNTI4NjMzRWIyRTAxIiwiMHhlMzU5RTRBZGE1Mjk2ODVhRjEzNjI3NmQ1YURhNzVlM0VhRUU5RWYyIiwiMHhiRUUxMzVlQjhBNzAwOGEzMTM0OGNBZDQ1QTZFOWRiOEFhYjBBQmQ3IiwiMHg3NzcyNjEyNTQ5RjI3QWE0OWM4M0ZhNTlhYjcyNmY0Nzk5RTRlY0RjIiwiMHg5NmY5NzE4YkY2RGNFNTViMGY5MDE0NzEyRWNlQkFiRmI1YUM0ZGRlIiwiMHg0NzdBZEQ0NTY2RjdiYzZFNEUwZmYxNEExZDU5M2Y5OWU5ZTkwQ2VhIiwiMHg4ZWIzNkU0NTQ2NzFmYjA5YTM0ZTk3NjgxNjhjMDIxQ0IxNDc2NUIzIiwiMHhCYTJFNzFkQjA5Njg5MzczRDc1ZDU1OTA4Njk5YjMwRTdmQUMzZkEyIiwiMHhjQTM0OTA5NjAzNzIyN2YxYjg5NDE4QjJEMjI4RDZCZmJkNTMxYzQzIiwiMHhDRjgxQzFhOURBMzZEQ2RDMTM1QTBGNmYyRTgzMWI3MGNEYzkxZkM2IiwiMHg3YjAzMjQ1ZmEyRjgxOWEyQjc5MTkwNkUyN0FiQTdBM0M1MzQyMTU2IiwiMHgwNkY0ZDRCQ0YxOWJCMTU4NWM1RTJjNzc3N0ZGMDA4NjRkMjQ5Y2E4IiwiMHg2RDE1MTFlODQ5ZGE5YjJBZjlFQTU1NUYyQzBkN0Y2RDZGMDJlMTY1IiwiMHg5N0Q2OThiZkI2MzJlM2NiMjIyMDVERUM1NkQ1NzEzODg0MjZlMUVEIiwiMHgwYzc3N0E4YTRhNThlOGYyNjliMEE5RTU4NEY4ZTBCRjllQ2IwYjY0IiwiMHhlOUM0RjcyNjRlZjYxYzY1YzhkQzFkZUVBY2MzQkFlZTYxYTZiQWJFIiwiMHhDRUMxZkNDOTY5ZTBFYThhNGMyMUFlOWIzOWY2QUMwY2Q0N2VmYzc4IiwiMHhEQTREMkYxOTExRERBZWZkNWEyNEM4NEVFN2UxNTVCOTNCMTczOTRlIiwiMHg4NDA0RDM1MjZEYzBBNTVDNjBFQWE4YjQxZUYxMEFlMGU0MkUyODMzIiwiMHg0QjEyMkUzREE0MzEwMTdlN0MzY0YwNkUwQTlmNDc2MGYyMzQ2MDMyIiwiMHhFNWFkNjAzNUE2YjE1ZmZmOTQ2NzQyMTNkQTA1RDM1QkUxMmZkMDJGIiwiMHhDYkEzODdFOTlCMjM3ODViNjMxREFENjkwYTZFRkUwMGNFZUM4QzA4IiwiMHg3M2FmMzZlMzg5REJiZTY1ZEE5MkMyMjE3MjkzOUQ5OTA4NUE1YTJiIiwiMHhGZTllRTk4YWJBQUJFNjc4MzVjYzU1YUFmNDk5YmNmN0JhZEUxMzFhIiwiMHhjMDI5NjI3OENFQzAwOGZlOGRBMmUwMTkyZDI2OGJjMzNhMEVBMzFCIiwiMHg4RkNlMTRjZDBmNzRlNEMwNUEzNjRlZjZFQTY4Qzc5MjViMzcwOUU5IiwiMHhDNDU0ODc2YzE0NEU0OThjODU2MjA3OEU3RTVGOEE3NTYzOTRiZDE2IiwiMHgzQTRiMjBhNUJEQWQ5RGQwMUU5NjBCMzU3Njk3QTlBNzdENTk5ODdFIiwiMHg5NmU5ZEY5MzBCODRFY2IxN2JiYTMyRjk0Nzk0MTVGODhmRDgzQzAyIiwiMHg5M2ExNzNjMTM2MDQzRjViYjgyMzFhZWUxOWNFQTQ1MTI0Q0RhRjQwIiwiMHg5Nzk5MUY2NzFmYkJkMjY2OWUyQzhkNjREMzE3Njc5NWY5MEU1Y0M0IiwiMHg0QzlEQ0ViOTU5NEY4MjZiMkUyMzNBN0JjMTk1YTY3N2Y2REZiZTMwIiwiMHg5NThBMUQ4NkJDZWMxMUIzN0JBMWUzMUIzRjk5ODMwN2Q4Y0U1Yzc1IiwiMHgwQTlFYkJBNjdkOTFhYTAwMDZhZkM5NzE0MzczOWMyODE4MjI5OWIyIiwiMHg0YzVERDYwYTU2NUUyMjY4YzFBMDJlN0I1YTVGYWQ3MDNDMEU0OWVkIiwiMHhlYWYwYjRhNWIzRmQ4N2ZFMkU1RTI0RTI0QWRGYUQ1QWIxMmQ5Y0FjIiwiMHg5QTY4NEZhOTRBRTY3MmU5NzkwRTE3Y0VjMDgxNDU0NDg4MmUwMzBhIiwiMHhFRjUzZDJFN0I3RTY3MzkxQTk5NzIyRDk5MTJDNkJDODkwNzJkNGM4IiwiMHgyNjIxNmI2MTJBZjEwYWU4ZkZCRjgzMTBhN2YwREMyMEFDMmEwZTVmIiwiMHgzNjQ2MzBkNzE5OUIxQjJmRjE3QUE2MEZDODA5NzExREE5ZjVjRGREIiwiMHhDMmFDMDRGYmI4NTVEYTM0NjE0MTY2NzExMzA3ZDFGOTVGQjRiQmJGIiwiMHhGYTExMkY3Yjk0NjI0YjA5NmNhOTlkYzc4NDRDN0ZmY0U1YzMxOTExIiwiMHhlZDI0RDQ4NWYwYTc5YkJCZDE0ODExMWZEZjEzMDIyRUQwMDdiZjg4IiwiMHg3M2Q0NzQxMEZmRjc5ODU2ZEViMjkyMWFiZTREOTZiMTVBYjM5OTAzIiwiMHg3ODk3MEE5NTQ5YjU3NmU5Rjg4YTMzNDZFNjJBODBGOTE3NjE2QzUwIiwiMHgyZUMwNTE0NEU3MDkwNjgzMzk4ZDhEOTA2MjA5MjUxZUQ0M0JBZjhlIiwiMHgxM2Q5OUViN2VjNzcxODJDOGNjQjYxYTVDNWQ3NDkzMTIyMmIyMTBmIiwiMHg4ODZhNjFFQjY4NDc5MzFEODI0NzA2OWI0ZDRDZWQ0Q2Y3ZDliOWUwIiwiMHhkNjlCM0I4MzFCQzA4NWYyN0REZGZjMTlBZmU2MDhFNjViZTRkRGU2IiwiMHg3ODRCMjc3NjgxNWE2MUNjNDZFZEIzMzUzNTFGRDIxMmQ4NGE0NTZEIiwiMHhFMjFBYkYxMDAyNzMzQTAxMjExNTgwNjk5NzdEZGJDRkU4NUM1NEQ4IiwiMHg1YzA4NTRjNzFEMDE4ZGIyOGI4MWVBNjZFMmI2Nzk3YjdCMEM0OTZkIiwiMHhkMTgyNzQxREI2Yjg2RWNiNzRkMTBGOTE1QTQ4MDc1NjhjY0ZlRjAxIiwiMHhCNDZBMDQ5OWU0YUY5RTY5N0VEZGQ3ODdDNDhBZjIwZWI2OUFkZDE1IiwiMHgxOTVmMThEYTYxZjdlYUUwRTczOTUxRjQyOUZiNUE4N0EzQUI4MjcwIiwiMHg0NjhiMmZjNTY4MDcxNGUxQTQ0OTIyOTBENDA2N2I0REYzQjdiQ2EwIiwiMHgxMkQ0NDQ0Zjk2QzY0NDM4NUQ4YWIzNTVGNkREZjgwMTMxNWI2MjU0IiwiMHhhOTU0NjNBQ2IyMkE1MTRjMjY0ZUM1YzUxYmZDMDM4NDAwRkJERGYwIiwiMHgyNWU4ZDI1MDllZWRiMjY1MDk1ZjNhOGJFODMwRjRmZTY4MzBFMjQyIiwiMHgwYTRGOEREQ0QwZWQ1YjhjMmU3N2RmRTQzODliNTczNDhDN0MxNDNkIiwiMHhlNzJkQzNhOUJlQTdEZDA0NmM0NTkzODJlNDY3MTAzNWRDMTIwYjk1IiwiMHg4MDM1MTMzYzJlODg2ZThGYTRmNzUxMjU5QzkxRDI4NTVBNzg5ZGVEIiwiMHgzNkM0NDRlQUQxMWI5MDQ2NEI2NUFiZmFCZDBkMTREYkNGRjYwNzA3IiwiMHg2YTBjNmYxOTdlQzU5OUREOTY1RmU0MUZEOTI2Mjk5MjFmNTRmNWNmIiwiMHg2M0I3Mzg0ZDMwYzNEYzMwQjE4QjA5RTg1MjhFMGU2ZDYwQ2U4NzkzIiwiMHhkNjAxOUNkMGFFQTU4QzRmY0E4MERGOTBlMzM4NDVFYzc3YzkzMmE2IiwiMHg2NEY3OEQyMzNlMEVDNjQ4NDk1RDA3OTI3RmE2NGE4MzQ4Q0IzOUM4IiwiMHhlODlDMDllMEVlMDJEQTBGMkYxN2NCMzEzOTVmNjliYzE0YTkwNEIwIiwiMHhhQzRFQzdFRjdEYjJhYTM4N0U4N0EyRDBFOTJCOTc4RUYyNzFmRTJGIiwiMHhlMkExZDIxNWQwM2Q3RTlGYTBlZDY2MzU1Yzg2Njc4NTYxZTQ5NDBhIiwiMHhjMjk2Mzg2NUZjOTQ3YkU0REU3MzNEZDMwZTFkNTVkNDM1RWRERWU1IiwiMHg5NDZBZjU3ZjVBMDY0ODAzNjIzRDE1RWRGMDc0MEE0YUE3YTY3YzQxIiwiMHg2ODVBNDJFNmNmZDQyNkI0MDBkMTY2RjFmNTgyREY2ZDNEMjcwMTBjIiwiMHgzMGViOGE2QzM0YjY2ZDFiNkY2ZDJlOTRkZmIyZUZDZkYxZmEzYkJhIiwiMHgwM2EzZGI0NTIyMmFBOWIwZjkxRDcxZjZhMzExMjJBNDZkOThkOTU0IiwiMHg3ODE3YmJFMzZFNTc4MzgyYUMzQzY5QUJkODY4Rjg0ZTk5ODgxQkVCIiwiMHhhMzlBZkZFQTdmRmJFZTA3ZTE5YTYyQUYxMzc2QUEzNEY3NTE0NjJmIiwiMHhFMjU0Q0VCODA2NTkyY2NDOTQ5MDY2MzQ1N0Q0NWQyRjM2YTg0M2FjIiwiMHhjZEJjZjZjYjcyRWM4MzJCYTYwZjY4YjE1OTJjQTQwQkIzMDUwZjNhIiwiMHhFNzY4ZjNkMzhDNUMwNzYwMjczOThCQTNiNzQ4NGU2M2E3ODQ3OEQ5IiwiMHhFNWQ4ZDY5Nzc2MTE3OGRiQjEzNDg0YzIzZTI3MmE5MTk2QmNBZGZCIiwiMHhEODZjNmM3QjIwMzEyODVkZTIwMzlDZDZDMDU1NmIwQTcyMTc2RDM5IiwiMHhDOTU0Mzg1MzY5Nzg0Q0FDMDk5NGE5RGZEQzBmQTU0ZDZmQzdlOEIzIiwiMHg4RjA5YTcxMDQ4ZDBkN0ZjYjY2Y0JlYkI0MDhBN0Q3QTEwMTM2MTA1IiwiMHgzQjBlNmE5Nzk4MDc1MDBGYzQwQTI0NTM0QTMxMDM1YzBiMkY0YmViIiwiMHgyZEExNEYyOTEyMzM2YzAzOTQzZTFmM2E1QTZiQTY1NGFkMmZiNDM1IiwiMHgwODI4MGQ2NzE4MTFDOTZhQzM3NjUzM2UwYTQxZGQ2YmUzYjE1OTg0IiwiMHgxQkEzRDFCZWNmM0UyNWI5RWJlZmQyY2QxYjI5QUZlMjU2ODc0YUYwIiwiMHg1ZWZFNDNCQ0UzMzRjRWFjY0QxQzk4NzJhOUFEYTMzODgxOTc2ZTNiIiwiMHg2RmVlNUQ5ZjQ5MEM5QkE0Q0E5MmQ1NTZFNzUyQmE5NzVBMmVjNzJFIiwiMHg5NEQwQ2JhNThiNERERUMxMGQ4ODBhMkNDOTgwYjIyNjU5OTBFNzFDIiwiMHhmNGMxNzkxNzcyMDZDMzIzRjUwOGEzQjc1NTBFRDFjNzgxMEM0ODIwIiwiMHgwQTQxYTliNUE0ODkzQTI0NDgzZDYxMjg5OWUyNkFiZjY5NzU2QTQ2IiwiMHhGOTBkM0Q3MWQ3YTc0M2RDNUJBREYzNjZBMmREMDU3NGFCMmNkMzE4IiwiMHg0ZEE3RTA5RDQyZTM4RTkzM0IwYjE2ODI5NjMwNzU0Njg1ODU1NzVDIiwiMHhFMDREMzQ0MjBBRjc2Yjc2ODkwQ2U5YTJlNEMzYjE5NTYyNTAzRDY4IiwiMHg3MzE2MUE2M2E4NTk0MTQzMmU2MDc0NmVhNmRiNjA4MTg5MjdmM2ZEIiwiMHgxRDdBZjA3Y2I4NWI3MmIyOWU3Y2Y0ZDg0ZDhENDY0NGFkRmExMmNhIiwiMHhkYzAxMWY3YTlBQUIyMWQxOWQ4NTMyNzFjOGM3RGRhMUVDY0IxQjE0IiwiMHg5MEZCNTkwOEIzNTViMzI3NTMzQzMzRTgyYWRCQzhiY2IwRWFjNERmIiwiMHg2RDYzMjlENTkxMGJmY0JlMjA4MjVCOTlBMUY5QjNjOUI2MDM1RTlmIiwiMHg5N0JiZjhGZEUzNGQ1NDc2YjAzQWZiYTNkM0QzM0IyMThGN2QwODA5IiwiMHgwQTdmODJEQmE4M2I5RDNFRDI3OTlFOUVENTIwQjdDODU3ZTc1OTlkIiwiMHgyNDc3NmQ5NzlDNEY1YzA5YTg4NjlEQ2YwZDY0NmQ2Y2FDM2ZkZUYxIiwiMHhCMTU0Rjc0RTMyZWY4OWE3RmFFYzE2RjdGRjMyODFDODk3ZGQyNWQyIiwiMHg2QTZhM0Y4ZTUyRTJCNTBBMGE4ZmM4NzM5OTU5ODNhN0Q1RDE2QmZlIiwiMHg0NWEzQjlhZTY1NzYwZTI5REU2MkE5MDIyMTFDN0I1NmQxRWNDMWI1IiwiMHhBY0YwMjNkNmEwMDE4QWRiNjFkMDc0M0NDMTg0MzEzMTJEOEI1NzQxIiwiMHhhQWIzMGM2NDM4N2QwNjE0RjRkQzA5MTUzYUFjM0E3YUFmQjk4MzUwIiwiMHgzNzM0ODMxMDhGMWYwQUVBZjFCNTZBNzM3OTZmOWRGYTk4MjQ5NjNjIiwiMHhGMTI0M2NGNjQ2OTY2MjI3NTcyNDM4QTgwRjlBYjEyNTk2NGQzQTFEIiwiMHhDNUY3MTdiZWE1NEFjNWVFMjBGQzE5NDI5NmM4NzVmRmYyZEQzNDgzIiwiMHg0ODM2ZEUzZUZEMjFhOTcwMDgxNjFhNTE5MTAwQ2Q0MzI0YzIzODkzIiwiMHg4ZjJkZDBEQTY4MjFEZGM5QURFY2VGNmViYzc3ZjA1YjY0MDNkQzAzIiwiMHg2ZWU2YjVCRjc3ZDEyYzE0MzE2ZTZjRjE2MTYzMTBGN0ZhMTczMjJEIiwiMHg4MDdkOGY0RTk5M0NkMDA4QTRiN2M3NGRDQ2RCY0EwNjk0RjAyZDQwIiwiMHhGYmMzMjg4NDlEMDliOTczOTFiOThENTRhRERmOEM4NzY1MGE2MUQ2IiwiMHgyODRkM0QyOTI1MzcyRjBDMTlCNjEyNDU5MGQxOTU0OGUwNzVDNkIxIiwiMHg3NjEwMUQ3ODUyOThkMTdiOEM0RTIwNDlhOUE2RTk0NWUyMzFhNUMzIiwiMHg2M0FGYTQ5YTBCNjI4RDFGQzY5OURiMDc0MkI2MENFOWMwRUQ5MGU3IiwiMHgxOWM4Y2M1MmNlQUFhZEVhZGNDNmU0MEQwNjRjMEJCNjFiOTMwYzlmIiwiMHgyMEU1NWU2MDU4ZUUyRjAyOEQ0YTg4ZTg2YTQxNTc4ZDcwNzU5MjBhIiwiMHhiYmZEMEI3NDdhZTg4NTg4NzUwRmEyZTA4MzJBODMzMTIwRGM5NjljIiwiMHg3N0YxNjE2NTg2NmVlOEM0QWQwRDY2NDE0N2U5RjgwQ2M0Nzg5OGFGIiwiMHgzRTMzN2MxMzAyMzZiZEIzNjA0RDdiNDRENzU1MjU4NjBhNDdiREI5IiwiMHg3MUM4NjNFQjBlMjgyMTc2QWY3N2U5MjM2QjZiRDg1QzEyRTkyYzM1IiwiMHhmOEExNzM4M2IzZUY3MzJGNzUyNEYzZmVBMDM3Zjg4MjhFZUY2NzdBIiwiMHg2ODM1YmEzNjkxOUU1NWU4NDQ0RTc1MEE4Rjg2YjBGZTcwQjE1ZDNlIiwiMHgzRTcxMTI0MDExNzI1MjgwMDQwYTkxMTFmZTBCZTk1MzI1NUIzRkYyIiwiMHhBMUREY2RDRTA1MTZEMjZCQTU5OTU2ZmJFMjMxRGM0NjhiNWRDMDVmIiwiMHg2ODZmMzc3NGQ5NDMzNzBmYUYwRGZBQ2QxNTJlZDVGMTM2OUE3NmM5IiwiMHg2MDZjRTAwN0UxNzY1M0QwNjNkOGI1RGExNTY0MDM2ZTU3RDBhNDkyIiwiMHg5NjNGQzkwMTg0YmM1NTE2OThFMjJjRkI5ZjM5RUIyODVhQ0Q3MDdkIiwiMHg4NWE1YTc4MzNhNGJhYTFjNjNDMmU3YzI1OUZEM0FFZEFENzM5MzQ5IiwiMHg1MTVGNjcyZjUwRDFhNDVENUFkNjdjNzNlYkQyM0UwNkRENUVkQTJmIiwiMHgyNTg2RWY2QkM2Y0ZFNzEwNzJhNzVhMWZjNGE3QWZBREZiRTEzNDA0IiwiMHgzZGJiOUQyMGUyMEUxQjZhNGU1MzI5YURGRUYyREFmOGEyRWQ0N0JkIiwiMHhCMEZiYWMyMTU2Q2VBRWIzMzA2NGVBRDA5YUVCNUM4MzAxNjJjZDY3IiwiMHhCQWIzOGUzNmYwOTlhMDc1QjhlNDkzOUQ3NTk5ZmUxMjY1MDVDZWM3IiwiMHg3Y0QxNjE0Mzg0ZjFBMTU5MzhERGZCRjFkMTFDMzZFODljODY3YzdiIiwiMHhEODBhMWU2N0UxNWI2M2RlODY3RDUyZTAxRjAyMmZDNmRDNGZiNjNjIiwiMHg2NUU2RUJkZWQxMUViNjZDNzYxZjkyNjFFMkM0NTg1RmM0MmMzM0UwIiwiMHgxMDE2NENlRTA2RDZGYTEzRjM1NGQxN0I0MUJiOTI3MEVkNDg2YzJCIiwiMHgwMzVmQTc5N2Y4NDA1ZjhiMURGQ0I3N0RmMTUyNzk5MTEyOTY3NzNhIiwiMHgxRDI3MjdmNWFkNkFhRTU4MTI3Y0E4MzZFYzBkZEI1QzNENUY4YkE2IiwiMHhhMDk1ODRGRTY4MUYxMjlFRjA1ODM5NzExYTI2OThmOThhOGUzMTBDIiwiMHg1MENGOEExM2VmNTY5MDdjMGNGYTkyNzFBZjgxQzkwNzk2YkVhNzFkIiwiMHhmODhBMENmQjY3MjNDZGM3QjYyNTUzMzBCRkNiRjc1MkIxNTA0QjIzIiwiMHg1ZjkzMkI4N2Q0ZTdFQzc4ZEU5QzQ4MjE2NWYzZjViQzFlMkQ4OGI5IiwiMHg1OTljOWEwOTFCNzU5MzU0NTVFNTZGRDU4MzhjYjUyMjNGMUVCMzJmIiwiMHg3NGMyMThCMTdCYzk1ODhmNmM2MjNDYzg0MTQ5MjMwMERmMTc3OTJDIiwiMHhmYzU2NDA1RjVkOTcwRjQyNDg5M0M0NTU0RmU0MDFkQTJDREZEM0YzIiwiMHgzOWRhMTJjYzgzZTM3NjRGMzYxMzk1NTI4NjVDNjFjOWVmN2M2NTQ1IiwiMHg2MTJGQTlFMmY4NTk5MmZCN0Q3ODkzZEZmMmM5NWFkNjg2MDU0RkY5IiwiMHhBRTBhYThDNkQ2MDVBODU3NTIwODk0NzA4MzU5NjNGRWI0YTg1YmJEIiwiMHhGODk2NWU2YjNhMTA3REIwREJjODlBYjIzNzkyQzk0N2VCMTYzNjI0IiwiMHg0RUZGRjg5MjkxQzBFOTg3ZDRjRjdBZDRGMzg1NzM3OTJjODVlY2FCIiwiMHgxZDIyODc4ZjlmYjQ5N0U2Q0M4RDFkQ2E3YzA1ZWEzOEZmZmM3RDk0IiwiMHg0MEJEM0ZkZTVlZTA2QThmQjYzQWU1YzlFYTZDMUM1OWUxMWZiNjZCIiwiMHhhODM5NThGNDVCNWFhQUFDRDMwZDFhQ0U1MDNCMTUzY2RjODVkNzRmIiwiMHhjQzRFMDJEQTVhMUE3NjQ0NEY0RDE1MEM1NDJhRTEzNmU3NzJkMGFlIiwiMHhhZjZkQTc3RjFBMDdkREMwNjJkNkQwMDI2ZUNBNUJjN2M3MkRCNzM3IiwiMHg3NTNGODdBN2VmN0QwQmY1NjRGMDc3ZjZFMTlBYTg2NGVkQkMxZDA5IiwiMHhCRGRFMjQ4Y2ZlODQyNThFMTZkQmYzOTExQzFDZTljOTNiZUIzRUI5IiwiMHgyMjA5YjgyNjAxMTBhZjkyN0FGMGYyRWI5NmRiNDcxYUUzQWIwNUVBIiwiMHg1REJDNjg4Qjg0Rjc3N0IwZGMyN0MwM2RmZjY4Qjc1MUUwNTQ1NjNFIiwiMHg4NzVhMkQ2ZDMwODQ3MDUwNDIxODg3MTVCQWFGMkI1NzVBMzUxNTJCIiwiMHhCM2U5YWI1MWI0YjVCNDA3OTU4NTE2MTk2MDRBMkZmMTcwZDQzMjNjIiwiMHg4NTVmYzllZDEwYWM1MDQ5Mjk3NDdDOTRhMTUzRjNkRDUwMEM5OThiIiwiMHg3Y2E2OTM2RDFkNGEyMkUzZEVGQTliZDNEYTYyMUQxYUU0OTI1NjY4IiwiMHhlQjE0Nzg1RDk4Zjk1NjY4OEMxMUIzOTcyNjAxOTg5Qjg5YzE2OTVFIiwiMHhlMENlREQyMkZlN0E5QzcxRTNFOEY3MWRjOUQ3QTdhRjVjRDNjZDY0IiwiMHhlZDlmQzk4ODE2ODE3Y0Y4NTVlRUVEM2NiMkFCODE4ODdjYjNmYzcxIiwiMHg0YjZGYmQ1MzkwQjgzMmM5MWQyRTU4MTNhNDFlZGIxQUE1M2VCN0Y5IiwiMHg1Q0E4MjEzNzkzOThCRTM5QTdCQjkzQmQ4NmY0NkUwN2NmMDM5NkM0IiwiMHhGYTFBMkFDRjQwQkE4MjMwQ2E2RUY5M2M4NDE2MTU5MDczNjViN0U5IiwiMHgwODg4YjZDNTM3NjkyZThmMTYyM2VmZDQ3NTAwRjVhYTliMDE3YWU3IiwiMHhlNTA2YTgwQTJENzMwYkI3M2REZDYyQmVjODVmM0FlM2FjYzE0MDJGIiwiMHhBYkUyYWRiNTQ5Qjg4ODc0OGU3OTc5NGYwNjA2MjA0QUZDNEVmNjk4IiwiMHgwRjNjRTg3NWNkNTY4NzBFQzc5MTVlMEZhMjQ3YTIwMjY4NTg4OGM1IiwiMHhlMjQ0NjM1OGFDODI5QzA2YzUyMWFiZmY5OTYxMTI1YjdlYTMxMDBCIiwiMHg2YWU3OTBiNjg1MTdGMmFDNkMzMEI1NTcxMDdhRDE3MTQzQzUwZTc4IiwiMHgxMDllN0RjRmJGQzY1NTI2MjREY2NENGJGODM5Q2MxYjBERDYxZTZlIiwiMHg0YTE2OUVCRGYyNzI3N0JkNDExNjJiOUFDMjU4YkQ1OTBlN0UyNTIzIiwiMHhlNDAyRjE4QzgxNzUyNDA0MmFBNzQ1YzA5RjA2YUJhZGZkMzIxMjRGIiwiMHhGYTFkMGJlRWE1NzZiMkJlOGU4MDE3YUU1MzJGMzQ0ZDRjYUI2NTM2IiwiMHhGNDU2NTQ5NTBjNTU2ODZBNzQ4MjRGZGUwOTI2ZGYzRTQ5NzY5RUQ3IiwiMHg5OTdhYzBhYzQ2YzkyNjI3N2RDMzY3MTA2OTU3MDQ5OEU3NWFmRjkxIiwiMHhGRTNkNWM2OTYzOEJCNTNENDJhMjIyMmEwRmI2NjFiNTg0ZTE5YmMxIiwiMHgxMmNBYTJFNzVGNjk0OUQ2ODMwNmVFMWNCMzFhNTAzMmMyM0I2MjZFIiwiMHhEMWE4MUY3MWU3NjE1MjExMGYwYjE2ZDI2YWNjQzRlQUMzNTJjNGVEIiwiMHhCQjdlZjc2NkY0QjM3ODk3NkFlQzRlZjBmYzRjRjAwMjhBRjU4RURhIiwiMHg4ZmM0MDVCQjZBNGY4RTVBMDc4MWNlMTU1NjAyMzY1ZjJhQTJBMUNCIiwiMHg4ZEFjNDA5NkM1NDA4MjI4RDM5MTQ5MzM2Y0U0QzM5NjhDNDU3MTAyIiwiMHg3NWY0MzVmRjMzQmE5QUZlYzhjNDhDMGEzNUMxZERGMTU4NDhGNWY0IiwiMHg3ZTJENUUzODg4MzE0RTRiODQ4OThCRjBiYjhiNmU2MDExYjBjZjNmIiwiMHg1QkYxZTUyMjU2NjM2RmQ1YTI0QjQ5NkE0NmMyRGRBMkIwMDI0ZDZFIiwiMHhBQmYzRTAxYWZkNGM2OWI3QzcxYTBmZDM1NEYwRTIyNjIwMjZkMzU1IiwiMHg4Njc2NGYzZWFmZkJkMEZhZDI5NjAwODEwZmU3QkEwQjk2ODc3RmZGIiwiMHhFZDZlRWE1OWVjNjI1RTk2MjMzMzQ5QTUzNTVBZWMyMUUwYTc4NjQwIiwiMHhFZWFiMWU3NEM4NWYwRDk4Qjc5NjhFODJkZkMwODIxRkNiMEU1RDZEIiwiMHgyMGI1ZDQxRTE3OEM4NjVERWQ5MkI4NDRFMDlDNEYxMTlFOTk4MUIzIiwiMHgzOGM4ZTZEZTY3QkIyOWEyNUI2NzY3OTI5NUI4MTkyNzNhYTAxNThBIiwiMHgxMkM1YmMyM0ZlMTQ4RjNjRDQzODI4MDdkY2Y5MjQ3MTBENDUxNjkxIiwiMHgzRmU2M2FlNDBDQTY1MDdEOTQyNkU3QzgwMjBkMzQyOWY0NkRiNGNiIiwiMHhlZmU2MjZEMjNkOWIwZjYxZDBlNjdhMmFmNkE0YjRlMmQ2NDMzOGRiIiwiMHg1NmJGMzA3N2VhMGUyNDdCNWI5MzA3ZDY5QTU4QTA2OTlCODlCMTNjIiwiMHg1NjUwQzdjMjgzZkE5MjMzOEYzQjBDMGM1YTFlNjhFYjgzNjlBYkRlIiwiMHg1MWI2N2RCMUQ3NDVBRDQwQjhjNWM2YkJmYWQ1MDA4ODk0MDIxREY2IiwiMHg0YzJFNTY5OTg3NWRkZTg1OTUxMTNhMGI3RGM5NzhENmNCRDk3MzMyIiwiMHhiMTYyNjRmMDc5NDRiN2QwNzg1MTk3YTU2QzViMzU0MmYzRDJlNDkwIiwiMHgxZTAzOENCMUE2MzNlYjJFMTFFMkMwMzg5NDU5OURmQzU5NDNhMzU2IiwiMHg5NjM1N0FjMDk5Q0YxMUExMmY2N0E0NTA0NkNhZDYwMkFmOTE3NTU3IiwiMHg4NDZEMzQyM2U3Njk0NzQ2RDIxMjI2MjhCMDhlNTYxMDEwNDQ5ZDZFIiwiMHhiRUVENDlhRUI0MDc1YzFhYzQ5MUYxNWFjYTc5MzJiOGNERDEwOUNhIiwiMHg1ODliMzczNjg1MWU1YWUyYWVGYjJGYTkzMTI2QTk2NTEwNmU3NkM0IiwiMHg0YzExN0YxOERBNjYxM2QxNkM5NGY0YzlkNDBkYTA4MWI4MzAxMTRjIiwiMHg3YkUzOUFBNEE1MUY4MTlGNTZDNzdkQ2NhQkU0MWVlY2M2Y2RhRDMwIiwiMHg3YUVkQzYxYTNGQjcxNDI1YzdFNTEyMTgzZjFjZEVBOWQ2OEE1MUMwIiwiMHgwOWI1MjgwOUIwYTlmNUEwZjk5NUJhQWJGMTdiYmU3NzlmQUNEMzFGIiwiMHhBRjg1YThlNDcxZmVhMjFFNjZGNDlDOThkRjY1MkViNUNGQkVDMDkzIiwiMHgyRTU2QWQ3YWVhNTdDNjhCMTM5QTMyM2M1NzdGMTQ3ZjM0MkY0NjFlIiwiMHgzNDYyNjc0MzI0Y0RDRjlGMjU0ODA4OENkRTY3OEZkYjkxZDU5RDAxIiwiMHhkOUQyMjQ4MEJEYjE3RDBhZDVjYTcyYkU0QjNkNThBODI1QkVkMjE3IiwiMHgyNzMwNDdhOTk4RDIwMzUyMTM2N2VDNmQ0NDI1ZGZGMENlMzI4MERlIiwiMHg3OWM5NzI1YjRFQ2Y4OWRGNDY3MjkwMDZiNjNhNzlGNTBCQmU5N2MwIiwiMHg1N0ZDMjZCNzFBQzc1QWNDZDAzMWZmNUFCYmFiM0MxQjU3ZWYwODMxIiwiMHgxZWM2NEViNTk2RUZiMjkwMTRkMTNEQjA1MGZENzMyODMwMDE1NkFlIiwiMHhlNGI5QWQ5QmE0NzUyYjM2NWE3MDNmRjFEOTkwODA3OUEwNWEwNWQwIiwiMHgzQzA0ZkQ5MzQwRjZGOThDMTQzYTc4RDVmYTU2ODRGNmQ0YjljYTVmIiwiMHgxMDVjNDZjNEYzQjdCNmYzRjVlRDVBMDBlNDkxRjViNjkwNEE1OTEzIiwiMHg3M2EwNzgxMTU0MkU4ZmVEMzA4NTg5YTAwZjM5M0M5ODFDOEMyNzhBIiwiMHg4NDQ5YUZlRWZkZjM4MzFEMTJGNDQ1NkM2RTMyNmVlQWNGYTkzMkM1IiwiMHg1ODBGNTg5RGI5YjY5NTVjNjFiODlFQzhjNzNiQmVhQjZGZmVDQUIyIiwiMHgxRDFEMjg2MjUyNTIwYTM2MEFCOUVFNTYxYWFjOTYzZkMyRGFmQTAxIiwiMHhlQzg3M2Q3QTMxMjkzNDU0RDVmYTY4MDk4NzVkOTQ3ZTEwM0VBMDA0IiwiMHhmNTc2QjBiMjM2NjMyQjllNDI2NGExOWU1ODBFN0Q1YmUwNWM2QTRmIiwiMHg4OTg0MkQ0YTAwZmE3NDhjMzVlYjMyODZhRjg1ZEE5OUM0QTZkNTg0IiwiMHg0RjMwNWEzMjBENzVhOWFFRGVCZDcyNGNiMjBhQjI0MEExMkYwQzBjIiwiMHg5MTk0RkJCMDM2M0M1RGM3OGJDOTE4Rjg4OGE1Yjg3NzgxYkI5RDAwIiwiMHhFZTk2ZEI1MDE4M2FjMzlFYmRGZDc3QTJFNTk0N2QxMzFCMGE1YUEyIiwiMHhjODMwNUM5RTdBNDBkNDdlZDY2OGYzNkJkM0I1NGZkYjg0MDYyYjc0IiwiMHhCNDg2OTI0NmJBZjMwOGY0YTJBZTM0OUQ4NTlCN0IyNzM2NGI0YUZmIiwiMHgxRjEwQjNmMTU4MTliZjI4MzQxZkQ2QUE5MjQ1MTMyQzUxNjYxYTc5IiwiMHg0Njg2YzMwRTExNTREMzZCOTk0OUYyRDYyNUViZTdDODgwMUJFNWMwIiwiMHhhQjQ4MTgxNTEyYUYwNTlhNWY4MmE1YTU3M0FkMjhhOTA4N2NBNGViIiwiMHgyMEM1ZkRhZDk2YjI0QzQ5RkI4NjhjQUY1MDhkNEI4REQ4MUMxNjg4IiwiMHg4YWNCNjkzRDM4QTVjOTExNzRiNGJiNGRDYmVkRDE3YzI1OTU1MTJkIiwiMHg0NDk5MkU3ZjgwZWZFMDUyOEQ1ZWExRjU4YzI4NzMzMTg5RDBlNTAwIiwiMHhhMEFkZTc4MTgxOWNFMjc5YmJDODNGNWZjQzcwNTU1NTBDZDkwNkZFIiwiMHgxZGNlMjU0NDYzNzIxZWMwMjA2YUU2ODRiNUZiMzQwOTlkOUQyREY0IiwiMHhmMjg3ZjZFRkI2RTk0RDhDODU3MDdiMmFjM0FCNjZmYkY0NTNlRjIwIiwiMHhkRDE0ODNlRmY2NzNFNDI4ODg4NGI4NjAxRDE4QzA2NEY5OUQ3M0M2IiwiMHgwREYwZUY4ODY2ZTEyOThEQTFEMDI2OTZDZDg3NmZmMzRENENhOUEwIiwiMHg4QTYzMjkzNzkyMmVDODFFM2MwMzkxOWU0RTNFMGFmQjFCRjNmYUU4IiwiMHg4QjgxRjY4RjY1MDI1M0FmREQ3Q2Q0MDA1NTY5MkJjMDA5ODc3ZjkzIiwiMHgyN2Y1MjYzRjYxNkRBMDJlOEZDZUIzMDZhYjNlZDIxOEZGMmZFMThkIiwiMHg3OUM0NjMzRjJjNkZDMkZhMDlCMDQyMWY3YTYzRjI0MDFmRDhiYTFFIiwiMHg3Njc1YUE1YjlBOTRGMjVBOGM1NjJkMWMzNzdjN0I3Mzk3NGYwNDc3IiwiMHg3NzlEMjgzNTQ5QTlBQzFCMTJkRTg3OTUyNWM1YjM5M0Q0ODc4ZDhEIiwiMHg2MjY3ZjJEYkU1M0Q3ZGRFRmFBOGFmQzU2NDRhMDA5NkE2MTJFMjNCIiwiMHhFMmY1YjEzM2RjMzc5NjM3RUIzNTI3MjJjN2VDYkI5ZmE0ODdFMWMzIiwiMHg2MTk1MmI1NTFjMzRENWM5Mjg3ZDNFOEE5RTJDNGE1ZjVjMDViYjVjIiwiMHg3NTk3NjQ0Mzk5OTdiQTA1MTAxMWM3MzJjQkU4ZjhjMDdGMzMzZmIxIiwiMHgwOWI3QkZiMzhjNTczMjhCNmE4RDlmMkQzNDdFOWNDM0U3RTMxM2QyIiwiMHhCQkY4ZTkzNmQ0OTQ5RDgxQWYwQTI2QTFjOTFmOTI3RUMyZjVGM2REIiwiMHhGMjRBODI0YTcwQzg5NTFCMTg0NmFCRDkwQTcyMDkxNTM3NjlBQ2I2IiwiMHhCMDA4NUZFOEFjZjJBNEZCQWQ0ODIxZGJlNUMwYjMxQjA2NGI5QzY3IiwiMHgzNjczOUVGQmNFQ0E2ZUM0ZjUxODJBZEU5Q0VCNzVkNDZkZTZjZTFkIiwiMHg2MDJiMkQ1MkNCRTNmOTRmMjllRkQ1MUE2NDQwNTIyQzA4RWU0NGRmIiwiMHgwYTY1QTBCQTE2ZjQ3NGY4QTA5ZTBiZTM3RTI1MDJBNjRmOTBGYTc2IiwiMHgwMmNlYTVDZTc1ZkVmMWM3NkExOWY4NzE4OGYxZkFFRTg0MmZDODg0IiwiMHg1MzJFNmUyQTAwZDAwZkFhRDQ0YzRiNzZGNmQ0NUE4NDgzNUMzNGJhIiwiMHhhNDU1YmEyMTgxNDY1RDc4MTQ1MGVmNTQ2OTE0MUUxNUNGQTkwMjNhIiwiMHhGQTIwYjBhNWQyNDY1MWI5RTIyOGUzOTE4MjZlMTczMzRkRGY2NkU3IiwiMHhhNDllNjVhNTdFRDgzQTRmRTlmQ2I0NjllNWQ5NzcwNEVFMGVlRmQ1IiwiMHg5YzU1MkI3NTM4Y2RlZDBBYzhjQ0M2MDI5ODdlMkFmOEQ3ZUI4M0E2IiwiMHhhMjNhNEVFMzc2NzlmMzY4NzVjZmNlMmY5QTZlOTIxY0UyZUUyOGJFIiwiMHg0MTkyN0MxYTVDMDRmNTIxNTU5NzljNUM2MWFiMzA2OGI0NUM2ZDU2IiwiMHhGNWRDQkVkNDcwNDg4MjVEY0IxMDE4NjQ3ZTg0OTE0MjZCNDI3NTdCIiwiMHg2MTE1NjgzNEQ2ZDIzZTAxNDhEMTZhNzRiMTUyZGQxMzc3MTRDQUU0IiwiMHg1YUE3NzVFRTlkRUJjYzdlNWYzNjAzMDExNDkxRjQ2MjVlODZGMmZGIiwiMHhhNzc3NmFkOTU0Y0ZkMTA3ZTFhQThiZjYyRWMxNjM3ZDczMWNGNEYxIiwiMHg2NURCODRBRTk3OEMxM0FCOWQwQ2Y5MDIxZmQ4MDJmMTk2MmY5NkEwIiwiMHhjOWRBOTRlOTlDNTM1ZjE2M0NDQzBkN0M0MzRiZDczN2ZiOEFCZmU1IiwiMHhEQjEyNWFlMjVhZGI5ZEE3Mjk5ZUM5ODk0MmE4ODM1NkFBMDc5Mzc5IiwiMHgyQTdjODNlYzNCZTMxODlBYjllNTZGRUJjQTBGN0JhRDU1QWJCMDM4IiwiMHhiNzI1RkFjYkI5Qjk0YjFkQmJmNUNkMDhBZWYyZWM2NTdlQzYxM0U4IiwiMHg0YjM0NzUxQkFGOTY3MDdCN2Y4YkU1OTQwNzQ4MkNGMTQzYjQ0NGQxIiwiMHgzMjhBRDc3RTgzMDg0MDMzQTc0MzlkNkYzNzRDNDJDMTY4YThjRGIxIiwiMHhFOEU4N2Y1RkE1ZjczNTBlMjY1NjlFMzJiODU1ODQxQTA4QjY5N2MzIiwiMHgyQzlEZUJmOUY3YzU3MDVFMTcyZTE3MEU0ODMxMWNCZmY5NkQ3NzlhIiwiMHg3NDRjNjA5NkQ5YzdlMDkxZDAxNDI4Y2U1RUIzQzZlMEJFYzE1NmZlIiwiMHhhQzBGMzhDNjgxQmVFYjNFN2YxNTg5NjYzODI1QjA4NTUwQTgxMjM2IiwiMHg2NzMzNzJDMmM2MzIyZDQxNzA1ZDdEY0JiNzI0ZTk0N2I2OTIxMWIwIiwiMHhGMWIzNGMzQTNBZThFREMxODkwRDBGNUMzN0Q1RmVCN2QzMTM4YWZiIiwiMHg1OTU4M2UzNzMxMzcxNmQ5MTExYUZFNkZEQkJlYjhmRGU5NmEyOTFCIiwiMHgyQmI4MTRkQWI2NGJEODUwNTExZDkzMDlCRjA4MEFjZWU4Qzc5Yzc5IiwiMHhBYUQyYjhGMkNhNmRCZTAzMmM3MTE0NDAyMjFjOTI2OGI5MzhjNjJFIiwiMHgxNWE2RmYwZTIyNDA0RmEyOEJGMUE1ZGMwNjg4YzhiNjU1RTc5OEI4IiwiMHgzZDU4NTEwNTI3ODhjODEzZTk4NDY5ZDA5OTRjMGRGOTNGNmZEMTFFIiwiMHhhNDcwNWFBOTQwYjk5ZjQ5MGU2MjZDOTA5ZmQ2NDYzOUZkQjI5ZGM4IiwiMHg1OUFGNUZGNTQwZDc0MDg2NDRjMDgwM2YxNGY4OTc3Q2Q5ZUJCYkY3IiwiMHg0OWU3QzBlNzMzNTg2ZkZEQTQwNjREY2UzODFkMzAyN0Y1NmQ4NEFDIiwiMHg4Y2E2RkNjRWU2RkQyQTRkODg3RTlGQWREZDNiNTI4ZTY2Y2M0MjJhIiwiMHg2OTQ2MjQzRkI4RjRGOWQ5RGJEOTMxQzk5ZTA0MWQxNjU1RWFlNEU2IiwiMHg0ZUQxYkY1Zjg2MjkwQ0I4NzM5OEMyRWFhNkQyOUNGYTVhNjIzODZGIiwiMHg1MzE1M2FDN2NBZEZmYzgxZjM0MWZiNzA1RTFEQjNiOTZlRWM1MUNCIiwiMHhENjJmRDU1YzljMmIzM2QzNkM1OTk2QjNCMTVkOTYwODQzRWVGRDIwIiwiMHhmMTE3QkVCNEJDYUM5RTM0RUM3MzQ1RmU3ZTJBMzM0ZTg0N2ViMzUxIiwiMHgwYTNGOUVEZjBmOUY2QmJBNjhBMjI1MkZhNzhBRTRCYkVlZjg1ZGE1IiwiMHg1OWRmZEU1RUU4MTFENzM3YTM2MEZiNGRkZEM1QzE3NjQxNDczYWFlIiwiMHg5MUJGZTZkQWFmOGZhMmM3RUU1MzIyMzM1NDA2RmUyNmE3RDM0Q2UwIiwiMHg0NjgzMkNjNzA1RkU4YTVmMTVhYTljN2Y4NkM3YjAxQTIyNmNGNTQ1IiwiMHhlNzM2ZjkwNjUxZjdmM0U4OTMwRTVEQTFjQTFmNGFjNzA0NmFjREVCIiwiMHg3QjdFNUQ5RUU4MUQ5RDk3NUQ2M2I0NERFQjk1YzI5ZkE5NWVCMjVkIiwiMHhGQkM1N0NFNDEzNjMxZGQ5MTA0NTdmNDQ3NkFGQUM0RDg1OTBkQTAwIiwiMHhkMmYyNDQyMWYyNzkzYTBiMTBFRUExZEE4NDA0QzcwMTRBYjI5MWFFIiwiMHg3NTI0NkM4MTUzRTRkYjY1QjczOWFGOWU3MzVDN2MyMTFDNDk1MzRDIiwiMHhBMjc3YzIxNzUzODkyMDUzY2EwNTU5OEMwMDZlMjk1MjBiNzM4MzY5IiwiMHhCQzgwNEFDMkVFOTMwNUE2MjJiOTYzRmQ3YThhMzU1NUM2MDhEMmM5IiwiMHhlRjhhMDIyMmI2Mzc4MzZiZmY1Y0JENzYxMzAzMjQwRTc1Y0EwMkNCIiwiMHg0ZTdENjE1NjQ0RTA1ODViYzVBQTA5MUFDNDY5RjU4QkEyMjc5RTU4IiwiMHgwMEVCOWMxOUM2M2EzQzQ4NDYwMDAwNDU1MDU1MTlGMjA3ZjFiOTlEIiwiMHg1NDk4YUNjOGU3NUFiNmIxNDVCOTQzOUNmYTNjQ0E2YUFCNkFhMTZhIiwiMHgyMmJCMEQwOTE3ZENEQTJkNjNhM0YwODlFM0UwYkE5YjNBRGY0MzAwIiwiMHg0Y2I4ODQ4MDFlRjI2REFmZDQwMUVkNzBiRUI1NDdEQjNCRjZkYmUyIiwiMHg4MUU3YzA0NDM2YjZGNDJlNDk3YTA4ZWZiZUE0OTkwM2ZiYTI5ZTM2IiwiMHg2RkQ1QWY5NjQ4N0M4ZGU2ZTI1MWFGODRBNTBEMDRkZTc1MjAwYzEwIiwiMHhFQzA4ZDU3MzJlYjY3YjdiQ2ZiYzhlOTI4MTdmZmU2ODJEM0E5Njk5IiwiMHhlNjM2MDQ2NjZjOWY4MTA5YTU1NjAxRjhjODliNTNFNTVBNzZjODAyIiwiMHg1MWFlODhmQzI1QTFDM2I4Mzk0NzA3ZTc4M2MwMjYwMDlkYzBkY2E4IiwiMHhGNjYzYjRDODFGNDJDRjA1OTU0MDU0RUMwMTRCOWQ1QTM0NTAxRUI0IiwiMHg5NDJCNDMwZDY3NmI1MzhmM2JGOGYzMjgzMTQyNUFmMzUxYjgzRjhEIiwiMHgxNmRBYzE2RDM3NjQwNTNCNjQ5OTI2ZDU4OWRlQjRjYzgyNTIzNWJFIiwiMHhjNDI4RmEyYjZBRkE3YjlEM2IwMmQwNUZkNDk1NjRiNzhBMjJmRDI2IiwiMHhmMTM5NzUzYjExODYxNzQ0MkIxZjUxMTYyYjA0MzU1N2E3OEVDMjUyIiwiMHg1QjRBZEFFZjBDMTExOGFlRWM0NzQ2ZjI2QTdGNkEwMTM5RGY0NjA2IiwiMHgwRDc2ZTJjOUY3YkU2MzRhQzg2MkFGMzVlMTQyMTkwMDMyODlkQTU1IiwiMHg2QTBiY2Q4NjZkQzgwMDFmMTljMENlNjc3Q0RDNzZjMDM4ZWFFZDc0IiwiMHhGOTJjNUUzNTAyRDc1MkQzZDc4NDE3RUZCMDM2NUY0NDZCYTcwMjA0IiwiMHg5RDAyMzEzOGYxODA3MTk1YjhjNGQxN2NkZkY1ZTJiZTFkNEU1NUFEIiwiMHg1MmQ4MmE2MzJBNGQ4ZGE3QjMyQjU5ZDk2NTc5ZkFBRkM2YzI4M2RDIiwiMHg1NTNlMEQ3OTkyMTc3QmE2YTgzNDc5NjIxOUE4NzM3N0RCZUM3QkQ1IiwiMHhhQjFhMkZBMGE3Mjk1M0U2Mzg4OTdhZDU3M2IwZjg5NUEwN2MzYzBBIiwiMHg2MjBiNzY0RTQzNDEzNmM5Y0M2OUFlNzEzMDAzZDU3NUQ1RURlYzIyIiwiMHhlMzFGQjI1QjIzNWE4RTdENjgzMTgxQ2U5ZTlEZDQ5OTdiQzYxMEJmIiwiMHg1OTE0N2ExMDY2MzAwMjk1MjllMGFkZDJDMTczRThiOTRiN0VFRjE3IiwiMHg1MTJBNzBEZDQ2MzEwRUE5QkE4ZmExYjJhNkE2ODk0MTc0ZDY4QjI0IiwiMHhGODRCNzkzRTNFM0E2NDk4ZDBGMWQyNjYzOTdlRDExNzJmNWI1ODVjIiwiMHhDY2M3NkNkRkE0ZDIyQUNDQkQ2NTU5MWI5RDA0ZjEwMzdkN0U4MzkzIiwiMHg3NzVjRTM5OWMyM0I4MzZCMEQwNDNGODA5RmVkZTNiYTRlNGYzQjFmIiwiMHg2RDM4MTNGMkVCYjVDNEU1Qzk5ODllOTFFMjhCMTY4NWZDMGRiNWVFIiwiMHg2ODNkNTA1QTU5NTJCRWFFNDIwNjhkNWMyOGExRmMzRjFGYTlCN2ExIiwiMHgxMjk2QjdBQUUzYTc5QTM1NjBCODQ5OGFCNjhBQzMzMmZCZEI3ZEI1IiwiMHhFMWE0Nzg4Njc3ZUFlQzQzQmUwMzMyREJlNDAwYTg1ZmI1NmNDMDY3IiwiMHg3OTY4MDc2NDIzNGMzNDZhQzZCNmFlMjA5Q2U2M0M4MzBlQ2RjQTNjIiwiMHg0RDk2NTEzOTQ5MjllODI5MTBjMDZkZTU3NjdhMjA0ODBmNjlBMDczIiwiMHhBMmE4NjE0OUU4MzhFNEMwQTBFNDhBODBCNjgyMUQ0N2MxNGIzNTkyIiwiMHgwMTNFRDhFMDY4NDA5MDg2MTNEYzZhMDFkMWExYzJDOTEwREQzQkVjIiwiMHg0QTljOTc5MTM2NTllMzg0MjZlRDdCMjIyY2RlNTdBMTkyZDMzNjUyIiwiMHg0MTc2MDc5NGZBOTE2OTI5NzcwMGNFRUE3RjcyNzNlN2JmYjk5NjI0IiwiMHg1NUMyOUY5MWU4NTgyRkYxNkU3Zjk0N2U2Y2QyODkxNDQ1ZDJmYTVBIiwiMHg4QmRlNGExMjkxMWM3MjM2NkY5MjkxRTlCM2RiNzNBMTdhMTY0NDhCIiwiMHgxMTkwRDBhRWU1ZTM3QWE3YUY2QjQ0YmRjOTI2QzQ3MjY5MDI1MUE0IiwiMHgyYTE3YzMyMzgwNjdFRWM1QjI2Mjg4Y0YzMDc0RDE1RTdlNkVFRTA2IiwiMHgyQzE4RWE5QUNEZjFDMWM0MEVFQjVCN0QyQzRCYmJFQzhDNEI1ODZkIiwiMHhBMkQzZUI0ODczQmIwMDVhNDI3ZDk3YjVGMDBhZkJGMTJjMDQyZDg5IiwiMHhlMDgzNTgzZmNkQjI4MWJjMjdiRDgzRERhMDJlNGM0YTFGNTI1RDg1IiwiMHg4ODY0ZjZEMjcxNUNFQTc0MUJhMUNBQTk2QjZCMTM1NTQxOTBGYTgxIiwiMHgzMkQ2OWZEODcxMzVhYzk3MzUzZjI4OTQ0MGZmQzBjQTg3NDM1YTc5IiwiMHgyOTM3NThFNzk3MjVBNjA3NTQyNWMyMjFhN2UwQTdiNDIyZWJjMzExIiwiMHgyMWRGMTk3ODYwZjRjZjNFZDA4NzYxM2RmRGRlMTVBMGY5MTVjQjFlIiwiMHhEMTJDM0M2OUYxQTlFQUIxMDUzMDdlQkQ3ZDE0MTg3YkI2RjU3QkFjIiwiMHhBRjQ0MjgyQTU3NDhhMTZGNTBDMjIwRjZEMzg5NzU0MTgwOWVBRDY2IiwiMHgwMEFkNTk1MzVCNGEyNDNmODU1N0FBNUVGMDIyRmVlZGJBNmJDMkIyIiwiMHg3MjNkNTRDOThjYUNlZEYzOTA3MWY4MDA5MmMwQzczOTZlNjY4N2ZmIiwiMHg2RTgzRDJiY2RlNWJkMGJmRjE5OUI2MEQ2NUJGNEU1NEViN2M1MEMwIiwiMHhiMjNCNEIxMDA5OTY5MEZmN2U5RWJlMTZkOTRjMjUxMjRGOUM0ZDA3IiwiMHhCYjY3MjQ5ODBlYzVBNkYwNjBBMjg2NzVmQzViNjZiMTE2OGQ5ODhDIiwiMHg3ZUY4RDAxNjk0MUQyMTI0NDI0NTMwRDUxNDhmNEYyMTdCMTgwNTQ2IiwiMHhkMzczMTA3ZEQ2OGZkZEUyQTNhNjQzZWFlNTdGMTgzNUJiNUExOWQ2IiwiMHgxNGMyMUI3MEQ4RTU5NUM3M2JGZjlmQTRjYThjQTk1Mzk1YTQxNDQxIiwiMHhjZThiMzY3QjY3MkE0NjVjMGQzZDc3RjY3OGI0MWY5MWIyMzFFRmRiIiwiMHg4ZjZEYzQ1QWU1NjM2NGFCOUVFRGRiMmNlMzgwRjc0M0U2NkRhYTEzIiwiMHhBMzA2N0Y2QjNhM0MxM0E1NzlGMTM3NEEwMEU4MGE0MDY4OUU4ZDJjIiwiMHgzODg1YzJiZTY4NkI2ZWI5NzNmNjVlRTUxMDA4OUREOTQ3MDMyZDY2IiwiMHgxNTlDNmVEMDRjQjE1NTgyQTBiMEIwYjA5ODgwYjg1RGI0NzUzRjgyIiwiMHgwMjQ0OThiQzgwNERlNTU5RjA5MTA1M0JkZDkyOTc2NzQxMTZFNDQyIiwiMHhlMmQxM2M5MzFDQUU1MzJhMTZiMUFhMmRBYjdkNWIxOEI0NDI1YUIzIiwiMHg1QWY2RTEwQmMzYmQ4MDdhMjYzODEzNDM5NzE4RjIwMjYyMmVCNTg3IiwiMHhEZjljMzRlMTFDRTI2OTkyY2Y0RTAxYjM3YjE5YTkxZGMyMDM1QjBBIiwiMHg0M0VkY2EyQjMzMjUzZDkzMmViQjhGMmI4QjNGMjFhMTBFMDlEZUY2IiwiMHg1MDI2QTBlYzBEQUZhODFkOTNkOUMxZWMwRkQwYTZiZmY3M0Q3OUFCIiwiMHgxMDBmRjI1MDA5MzRDYjEyNWFBYmUzYmE3QjZlQUY3QTBjZkE2N2EyIiwiMHg2MTMwM2RkMTk4RjI3MEE1NjYyZmY5MjhjRTY4MEZjRkY5MGJERTI1IiwiMHgzNUZmRDJkM2FlZkVGOUQwZDQ4YTAwZjNlOTFhMzdhQzc3YjEyNzdEIiwiMHhjNThlYTI0MkE1ZGY2NTBkNTZBNjA2NEFDNzkyNzhFMTliNmEyOUVmIiwiMHgzRDk5NmQ0Mzg1Njc1RjJFMDk3MWYyQ2Q3NzE0RDhlMzdDYTI1MGJDIiwiMHhDODM5YUMxMDNmMDY3QzA1NDcxYmZCNzMxZTM3YTU3QzhERUZCYWNlIiwiMHhBOThFQThBM0Q5N2M1QzMzNjhiOWE1OWVEQzkyNDlhZTBjOUVCNTE0IiwiMHhDMGNlRTI2ZDhBNzJiYUM3YTk2ODk5ODRkMjZBMUNjYzM5MTcyNTZhIiwiMHgwNzZlMzEzOUM1NTJhZTM3NTBkQTdGMGUzYjM1MTQxRjAwMjUzMTQ5IiwiMHg3Njc1MTQ2NDNkMzVDRjk1ODRBYjUwZDM2OTM2OEZkYzk0OTI5QkZFIiwiMHg5ZDczNTM1ZjM4ZWExNzljOTdBMjVCRDYzOTg1ZDJEMzk4NjlCODU1IiwiMHg3YzI4NWNENDdlQzg3QzFlNWQxOEE4MGYyNDk2NzYwZDU5YWMzMTlmIiwiMHgxQkI2NzI4ZEUyYUY3MUMzQWY5RjIyMTllNUU3NjVkMkFENDIxZjc3IiwiMHhGODA3MWMxRWE4YTc0YjBDMEIzNDg3YTMwYjMzMUU4MDFCMkYxQThhIiwiMHg0NDJlODQ4NzEwOGNlMWQ3RDQxMzNGRDA1MjQzYzAxZjQwQ0M3NjlmIiwiMHhhNEU2YjUwNzNjNjdjMjExNGQ3OGIzMjNlYkU3ZTJCODVmQTQ0NjkwIiwiMHhFYzY4ZTRENzgyMTkyMjdEYjdDRkYwRGU3MzBmZjhEMjc5ODkwRTZFIiwiMHhEY2UyMjUxZjQ2OThjYjA5NzFCNTVkQzQ2NWRiNkVFRGI2MEJjQmY2IiwiMHhkOWQ4ODk1MjExMjk3MTZFOEU0MDYzNkFGZGM5MDBjYTQxN2ExMjExIiwiMHhlYWZhYzJFNjYyRWMyMzg2MDgzNkRhODlkMzcxMUJGRjAyNjBDRDhEIiwiMHhEMDJFRDBhZDg5RkE0MGJmNzc1ZGJGM2UxMUNBODUzRjcxQTY3OTg2IiwiMHg3ODM1QTQ0ZjkxYjlEMTk2MDc2Q2IyQjM4MjgwYmJjNEJmMjM3OTI0IiwiMHg0ZmU0OWQ1MjIwMTMzOGY2YkU0Qjc3RTAwQkFlZjRkOGY2MjdmMDhBIiwiMHhCNTZEMWY4MDExOTFkNkI1MTZkQUE1Y0QzNjJiOUEwMWQwOGU5QjIxIiwiMHgyRGFhN2IxOEI4MUQ1Rjg3NDA5NWVFMTdjNEY2NUI0NTBhMTc5RDE3IiwiMHgwYjc1MkZjNjJmRTRFNTNhOEM5RjQ2Q0Q2MzRhYzNDNTJiMzA5Yjk4IiwiMHg1YjcxY2FmRDhERWNEZGVDZGI4M0Q4NTgzYjZlMjM4MjM2MkFCOTJGIiwiMHg5RmE2RGJhMEJjN0IwNmYwMTlFNDE1Nzg0NWE3MkQyNDAyMTY0YmZDIiwiMHhCNUNiNjIyNzM4QTBCOWY2NTI4Q2FkOWQ1NTk4NTIxYTA1Y2UyNWM3IiwiMHgwMzlBOTkxNkM3OUJhN2VCNjM1MWM1NzUzNkNDRkZGQjY1QmNmODM4IiwiMHhkMkNkNzk4N0VFMTM3ZTkzNDA4NjNGOEQ1ZTk0ODlDQjMzNGEyMjUzIiwiMHg1QzJDRDk0ZkU4MjMwNDJkM2Y2MjcyNUY4MUZjM2FhMzliNTlCMjY4IiwiMHg4N2RlNUIxQ2E1MjZEQ0RFODlFNTE0MDRCRjEyRjMzNjNhQUZiNTAxIiwiMHg2NjM2YmUxNmU0OTJkNDU4NmQ5MDhjRDEwMTk5MjlERDk1YjFhYTVCIiwiMHgwNDkzRDM0NzY5MDQ3YzU0YWJEN2ZCODFiMWNjRjFFM2JCRDVFMmQ0IiwiMHhjRDZGNjVBOTcyNTUxRkZhQzlCNTJGYTJENGE1NjFEOWI3QUI0NzQxIiwiMHhENkZjYjIzMWVhMWZDODRmZWE5RGI3QUVhYTVFMDIzMWM3Y2Q0NDk4IiwiMHgzNDFjMzM4NTc2MTZiYjAwZDY4Mjc5MWUyYzAzQjYxQzk4QWI4NDk0IiwiMHgzRjVlODZjMkE1OGE5M0E0MzFCNDM2OUVkNUE1OTdiQzdFZkVkRjkyIiwiMHg5MzU1MDM4QjM1NjdiMTgyMENCOTRGMDdEMTQ0ODI2RWVFMjlkZEVmIiwiMHhGZjY2MDc5YzAwOTgzZDA1MDA4YjJGNkM3RUJkNkNGMWMwY2E3ZjZDIiwiMHhkOTRDNGVBODlENjlmYkRmZjRCNEJhQzlmQjExNWZiNEREYTA1NkRFIiwiMHhlMGYwNmIzMDJkODVhQjBEOURGQjJjYUFEMzkzYmYxQzE2NTM5MDMwIiwiMHg0ZjFhMkVBMEMyN2Y4RkIwMUViRGVlRWNiMWYwOUVlOTE4N0RmMTkxIiwiMHg2QTdjMjY2RkYzMjE5NTAyMGZlMzBhMjI5NDQ3YkFhYkM1NDU5NzA1IiwiMHg4ODkwOGI5Y2E5MzdDYTE2MTUxNTU4NEZhODcxRWYzZDQ3MjNDMjc2IiwiMHg4QzNhNjZFMzgyNGJmZWY3NjVjMDUwQ2IxNzUwODVlRjAxNEUwMGExIiwiMHgwM0U3Mjc0RGQzNjZkNDUxREMyREMyN0U1MzUyQUE3MzRBYjA2MTA1IiwiMHg2OGMwMTA3NmI5RTRlYjI0RkQ4RjZERkQ4OEQ4ZjJDMDlkQ0EzNWI4IiwiMHg5YmQ4ODQ0YTU2Mjk3ODU2N2FlMTBCNUIwNWE5YjY4RmU5MDhEZTQxIiwiMHg2MTI0N0Q4YUNhMUM0ODVBNTA3MjhFMTMzNmQ5YjI2YzgzMzllNzAxIiwiMHhDZDQwNzliOTcxM0NkRDFlNjI5NDkyQjljMDdFYmQwZGJEOUY1MjAyIiwiMHg2QzhkQTMxNzQ5ZmZkYTI5MDU3MzY5ZEJDRjg5NzkyMDgzYzE4NzBiIiwiMHhkODYzMjRCRDYzMTNCNjFEMDg0N0EwOEM1NTU4RDYwRDdjRTFhOUI3IiwiMHgxODdiOTA2ZDNDRDIzZkE1MzY1ZEU3YjQ5NTFEMGVEOUI3NWE4NjlBIiwiMHg2Q0I4ODg1OWVmZDdiODZjMWZDNDEzMzlCMjkxYzAwRWI5NUQyQjhkIiwiMHg5YzMwNUQxQzg0RjAyQTU0MDgzMkI2YkRGNTA0MDU3OTYwNTEyNzkyIiwiMHg5OUM0MzU3MjMyOTAyM2VGZjVlNDRCMGUyN0RGMUUyNTAxQ0Q5QjE0IiwiMHg2ZDNEMWVFOWRkQWZkNDBmOUMxMjZGYkIyMjI0NUYxYzNGMWQyNjk4IiwiMHhlMzE2RjNiNjcxNmFiMkI4MGExY0Q3MDYxYjFjMzE3YTc1MmYyMDNlIiwiMHhhYzMyODc5ODkwYmMxOUMzRDdjMjI1YmY0OThhMWI4ZTZiYmI3RUFjIiwiMHgzMzBlMGJiRDU5Yjg5MGJDQzgyQThkQ2I4MEQ5M2E4ZWE3QjhjODI1IiwiMHhlODZiMmUwYzFDNzVEMEY0ZTVjNzY5OTA5RUM4NjdFNjViMjNlMTUyIiwiMHhCMTU1MUQxNDk5NkVGNzA4Q2FEZjhjRDU4NzhmMjQ4RUI0MzkwQTNDIiwiMHg4ZmIxZGI1RWU4NTMyMjgwOTgzRTAyRjg4ZTdkQzk2QmVGQzk1MDhFIiwiMHhjZDJEMWY4YTIwMjA1ZkUwMjk0OEY0ZDQzNmM0QjA0NDBlQjg2MGU5IiwiMHhhZmZiMGRkOWU2N2IzOWI2Y2UyQmMyNDFENjVDYzc5YzVkNEZmMTg1IiwiMHg5QkU0NTUyRWMxNDliOTZkQTNhZTVhNmRDNDZGYWE2QzhEZDQ1MEQwIiwiMHg0MDZDQWI4MURkMEY3NUUzNzc0NGYzOTI1NTU1ODdDYTEzMEFGMkEyIiwiMHgwM2IyMjkzNzQ1ZDYxODc4ODZkNTE1QzE3NTdkQkI5NzViMjQyNUQ2IiwiMHgyNjU5YkNjYjRhZDU1MEQ5MTdkMmZBOTViMjUwMzViQ0FlQ2Y4NEUxIiwiMHhFMjBEMTc0MkIxZTAxQTJiZWIyNTdDMzgyNkViNGNlOTZlMTc1MmU3IiwiMHg1ZmU0Q2JCNjkzNTg1ZkYwNzRlNDBBNTdiOGUzYzI5MDUwOTg3NzU5IiwiMHgxRkFCM0Y3MjdhMDhFMjI0MDEwYTkyN0YzNDM5YTY2RkE5YzE3NUQ1IiwiMHhmRjVCMkY5ZTM1OEM0OWUyMEZiOTZDRTc4NDJCRmExOEU0NzFkMUJhIiwiMHhGQTJjYTNhNjA0RDQ5MjdCNDgwMTFEQzE3NUZENTcyQUNGODcyOTdDIiwiMHhFMzBCN2Y4MUVBZWJkY0M5MDEzRTM3NDA5Mjk2RTlmNjM0YzBlNDM5IiwiMHhEOUYyYWRjYUUxOTM1OEI0NjJEZDUwRDVBOTc1RWI4ZTA4Njk1NzA0IiwiMHhiYzU4ZGFBMWFkNWRDY0FmMjEwNTRDMDJjZEFjMEU4RDFkNzkyMDI1IiwiMHhGODkxMzlBNDI4MTZlZTMwNEE4YmE0NTVhNjgyZjM5YUQyNmFBODE3IiwiMHhDOGVlNWQ1RjM4OEQ2QTU2NTJlODBjOTc0RDRkRGY1MGY0RDYxQWNDIiwiMHgxNTdDMGM1ODkwNTE4YzE5NzM5RkM5MmEzQTM2MjIzOTVmNzc5NTlhIiwiMHgzOWFjNDcxMmM4QWFlQzcwNzc2MEE5RjAwQ2M1MDA3MDY1NWEzNzhmIiwiMHhlMjkyMTk4NzViMzFCRjJmNDc4NWIwOTZBMjZhNzgyMTlEMEJjM2VjIiwiMHhhODI5QTVEMjI3M0Y1REU0RUM5NTQ1MjU3MEUyQjA0Q2I3ZUNEZTkyIiwiMHgyM2Y5Mzc4ODYxNzY1MDc5OTE4NkIxNDgyOTg5NjI4N2I4NmI1NjgzIiwiMHgxMTAzMzU4Q2Q2Mzg5RkM1MzZDNGJGN0UyODIwQ0MwZDJmMUYzOGFhIiwiMHhFQjMwNWNhZjMwMTcyZTQ0MzcyQjgwMWQxNWViZjIwRjBFN0VmMTRlIiwiMHgxMTE3QkNhZjExMTZGNjQzRkU4QjA2OWUwODk3ODg3RjAzNTQzNDdkIiwiMHhjYTlmQ2NBNkYxRkFiMDhjZTNjZDMzNjMwNkM4N2YwMzBhOTUyRDcxIiwiMHgwOTJkYjEyNjQ5MDQ5OTc2YmIxMmNDRjdkMjkzQTA0RjlEMGQzY2ZhIiwiMHhlQWFFQjRjYTBFMkU0OWM5ZjE3YjE5N0YxMDA3Y0EwRjkxOTk4YzIzIiwiMHg0ODU4MDM2RTBBZTU0NjJkMmNjMDJBRmQ3OTg1OTY4OWM2MkNBQjE3IiwiMHg4MjY5YmI0QzdGMjRlY2M2MzQ0QjAxMmM0RTdkQTJhNWM1RThGNDE5IiwiMHhBZDgyY2JhYkQ4MDFGQ2ViRGE5NUZFOUEwM2MzYTA2NzFERjE4NmQ2IiwiMHgwNDIzMzc2RDczQkVmRDY0ODJmMzU0OTVjZGU4YTc1M2M2ODA0NThkIiwiMHhkNjFjQjQ4YmY4YjdFMWZGMDQ2ODgzODBEMkIxYTMzRmNBQTMxMDZBIiwiMHg5NjE4QzUwRGQzQUM0MDg4QzUyRDMwQzQ5NTE5QWY1NEU4NjU5ZTgyIiwiMHhlMUEzOTQ3RDM3YTlhNjRkMDhGYjliREQ2N0MxZThhMjdFYzAxMzIzIiwiMHg3ODYxMmFlMWY4OEJkRjUyRkQ4ZkU0YzE4NDQ4MjA3MTZCZjgyRDkxIiwiMHg4ZDYyYjRDZDA1MmVGMmU3QjEzN2JlNUNlMzM3NDU0NzIzNzg1OTgwIiwiMHhlQ2E0NTJhY2NGODcwYTI1ODQxMzNlOTUzYjYwZThiYjg5OTgwZjI0IiwiMHhFYkMxRTlhNUQ5RTJGQjllNWM1OTgxYjEyRDIwNjI1MTJEMjg0N0JFIiwiMHhCZTlCYTkzNTE1ZTg3QzdCZDNBMENFYkI5ZjYxQUFhYkU3QTc3RGQzIiwiMHg4ZkVENUQyNTE2ZTFiY2VENDc4QzUyN0JENkUxQ0I5MzNFYTBjQzU4IiwiMHhCZGY1Y2NFMkRGRTRGM0NFRGU1RDkyOTEyNTY1MzY1M0UyMEZEOURjIiwiMHg0NjlmMGU3YUVkOURmNWU4MzVmQ2VkNDkzMzFiQTZENGJCOEREMUU2IiwiMHhjRmE5MjAyMTAxNTI5NTBFQjE2ZTVFNUEwZTk2RmVCQzI2NTE1NDE5IiwiMHhkNzA3ZkM2YzkyM0I4N2QzOWYzNjhFOTg4Qzk0Yzg2QURiMTYwOGExIiwiMHgwYWM4MWYzMWFmNGQyNjZBNTAxMWE2RDAwMjFFNDM1NWFERDNCNDA1IiwiMHgyM2JlMzEyM2Q0Mzc3MzE1NGYyNDM1ZTllNzI3NDUyQkIxMDE4QkVkIiwiMHhGNkYxYzQxM2ZlMjk1OTMyMzFCRDVlM2JCNTEyNTY5RmU4MUViNjY4IiwiMHg5N0M1OUQyQ2NkNUU0NTQ4QUU2MDVlRTAzYzNGN0VBMzQ0MzY4ZDcyIiwiMHhhMDAwODhkMTRBOTExNjc4RDM3MjEzNzRmNjQzZGM1OTJmN0JhZTA1IiwiMHg3MkFlMzM1NzI1RWY5YTdhYzBCNGFDNDMxYjUxNUQwRjg3MmE0NGJEIiwiMHhFNDA2NDk1QkMyNzNDMzc2OUI0ZUE3Nzk2ZTkxRmEwMzhBMTJhNEVmIiwiMHgxYzFCQTU1ZEI3MkE4Qzc2MWUwODI1QkI5ODM1RTA1MDIxMDlmNDUyIiwiMHgzOTc2Qzk5MzM4ZTZkOTM0ZTAyOTNFMEQzNGFlRTRkYUZCZDM5YzgzIiwiMHgwOGUzMGM0YTkyYkMzYkFBNDU4MERiMmMwMjk4QkI3MzQ2RjRmOTEyIiwiMHgzMDEzODdiMzRBMzBkZDU4MzljNjRkYzgxZjc2Rjc0ODUzMDYzQjA2IiwiMHhBNTgzRWE2OUZmN2M1NWUzYjg4MUI3MEUyRkY1MmQ0MGZDMDc3OGU5IiwiMHg1MDFlNjYyMWYwRWZGMDU2MzQ1ZWZkMWQzYUM0MTgxRWEwMTQ3NGVkIiwiMHhGZjU3QkViNWY1MzkwNmJDMGVmMzkwRjgwRDNDMzgwODU3OTQxOWJkIiwiMHhjMUMwNTRCNDIwRjdlNWYyRkU1MzUzYTI1Mzc5RDBkMjk0YUI1RGY3IiwiMHhjNTcyYzAxMTU4NkNFMDAwQkZCQTA3RDAwMDlDZTgwMzdDNDgxOTk1IiwiMHgzOTA1ZjM4MzU3ZDZFNWFjQzMzQmM2ZkUzNmIwOUYzZTg0ODNEOTBEIiwiMHgyNzJkNzExZDI5ZjJCNWVBNDZiNDdjMTFlQmYzOEFlQUZFNEM2OUM1IiwiMHgxQTQ3ODY5MkZmZkJkZWY2ZDVEYjdGOUU0M2YzZEUwMzliQzI2ZTI2IiwiMHhkRWI5NzI1ZTEwNjQyRDFkRTkwNjkyM0Y1YjU3ODUxYWE5MmE3MEFBIiwiMHgyNzU2N0ZBMEYxNjJiM0YxZWRmODE2NjgwMUQ0NWQzRmVCZDRFNTFmIiwiMHg0NzRhMjA4RkIwZEREOTZiNTVFRjZDMkUzRkY0MDJjQ2U0YjkyMzM2IiwiMHg4NDI4M0JGODk3YmQzRWZFQjJDMDYzZjgyZWJEMDZCZTQ3NTU5M2ViIiwiMHg3ZGE1RGYyNTNiRkY4QTVmMGEwNGIzRDJGOTQwNzg1NTc5ODhlMjBmIiwiMHg5ZmM0NjdhQzBBRDA4NTY4MjY0Qzc5NEI4OUY1MjhkNDFFNDYxZmUyIiwiMHhGNkI0ZUE4OTA3MDE3OUZBYTU3OTcyRUU0MGJkMDljRTZEOEMyOUQ5IiwiMHhDNzlmOTlGNTU3QjQxYWRkMGM0QTk3N0FmREFhODU3YjkyNUY4M0M0IiwiMHg2MWQ4NGQ2RTBmRTM0QUJlNGU0ZjkwMzJkNTcxNUJjYWJjNTI2MDIzIiwiMHgyNzhjYzk3NWQ4OUUxOTIzN2MzQkMzOWE3NDAzMDIyMjBBRDQ4MzI2IiwiMHhBMENBQWM0RDkxMTEwQzFkNDczY2ZmQjgzNjc4OGNFMTYyRTQxRjc4IiwiMHgzMzUwNDdFZEM1YTYxZjIzMGRhNTZlMjI0YTY1NTVkMzEzZTk2MWRlIiwiMHg4NzUwNjUzYjFhOUY0NGE0QkRFMTkyZTc3MUFjODQ2ZUUzYjNiYTA2IiwiMHgyOEI3N2MzODg5NGM5YmQzMDU0ZTkwMThCNzljMTcyM2M1YzBmMDNEIiwiMHgwYjkzNzAxN0ViM2JmRjMxZWJBRmZDQWI3N0E5ZjhjN0Q5NDU5QmJBIiwiMHhlMzUyNjJCRkQxRWFjNWFjYmVCMWIzNEFBZGEzMGM3NGIyNTkyZjdlIiwiMHg1ZGNGOTY3YTQzRjg2RDU1MTVCZjU1Rjc0OWVjOThDNDA0MmQ1RDFEIiwiMHg3ZjUyYTAyMmMxMTViZDZDYkI0OTZBYjlBYjRmYzE2RTk4QjkxN0IyIiwiMHhGRjQ5NmU5MTM1RWUxYkFjN0I4N0Y5MkI0OGVDMTQ3YmJFNGEwNTg0IiwiMHgwODI5MWUyNENFMjdDQ2Y0OUNFREU0MzIwMGNkQ2M4OUZCY2FlNzA2IiwiMHhGNTJmNDMzQjc5ZDIxMDIzYWY5NDI1MTk1OEJFZDNiNjRhMmI3OTMwIiwiMHg4ZmE3MmI2N2Q5NjcxQTgxMDcyYzdjNjQ3Q0MyOWRCRDVDN0IxRTE2IiwiMHhlMDMyOTBGOTI5MkM4MDNCMDgzMkY5RDQ1Yzg5NzRjOWJkNTREZjU2IiwiMHg0MWNCMjM5Nzg4MjVDNUI4Y2VEOUFBNTc5MEIyZjQ0QjMyNDI5ZTYwIiwiMHgxNzczZTE3M0U4QTYwYjMyRWQyOGUwQTRlNUFjNjVBQTM5Y2U2ZmIyIiwiMHg3Nzg0RkFkODZDRkRDNjIxQzE1QUU0Q2VmMDYzRDdFZTM3NDRBMzVkIiwiMHgzNjk4RDdjNjRiQTdkMzE3NThlMzE5NTVjNmI3ZkI5OERlQ0ZlYkQ1IiwiMHhDNGRhMzlFNjQ2ZTdGNUQyMzNCODlDQTBGN0I3NTM0NGU3ZGRCMmNjIiwiMHgwMEEzNGUzZDQ0NjU1MDY0N0NiQTNBNUM3M0RkM0U5NTU1ZjBFOGI0IiwiMHg4ODM0MDNmRkRjMEU4RWUxN0M5NjI1MzAyOTRBYzBmRTU5M2ZhMTE1IiwiMHhDOGQwMmYyNjY5ZUY5YUFCRTZCM2I3NUUyODEzNjk1QWVENjM3NDhkIiwiMHgxRjRlODdGNzAwMDI4NjdhYjVkZjI3NmQ2QTA5QTk0RTNlRGE0ZjlBIiwiMHhDZWU5MTRkNTUxMkRFRjAwQzhjODk4NDFDNUEzMGNCOEFCNzdEODJhIiwiMHhFODc1ZDg3YjYzRGY0MTI5MTgyZTU4MkJGZThCNDYyNDBlZTVEODNGIiwiMHg5RGI5NTMyYUNiMTdEMjg0MWYwMTgxNEZGMWFGNTUwMDI0Yzc0MkM4IiwiMHg0NjA3QUQ5NjRBMTM2RWFkNDNiMDE3Q2Q2Njc5MzgxQWE3ZTY0MUQ5IiwiMHhEMUNGRDdiQkRFYWJCZmEwMDY2QzllNEM5MTZmMDFFRTg5OGU0MmIzIiwiMHg2MzM1NUQyOEY4YTBBZDFhN0UwQzQxOTEyMDJjYTUxMzA1OTBhRTQ3IiwiMHhkOTdhZEFlMTE0ODFFNDJCNDU2NmNiNDNmRTlkNzg1RUQ1ZDRCOTIwIiwiMHgzYUQ2MUZDNUYzNzRDQUQ5MDREMWM5QzgzYjhmYzAwRjQ1NzdhZDlEIiwiMHg2MmZjNWEyN2M1ZjYzQjkzZjExREZENjdERDMzYkFkMjIzODk0YkJiIiwiMHg1RTE3QzZiNkJEQzU5QkE5RTIzZDE3RWUwQjk5QzI3NjY0YTZBZDk3IiwiMHhjOTJiQjg0MzAyNDEyMzMxODU1QzNlMzgzNzI1OTY3YUEyNkMxODA2IiwiMHhmMkQzZDM0ZTExMTEyZDgxQzIyNjUwYjgxMzhGMTVBYzE4MWY0YTZGIiwiMHhjQzhhNkVDZjNlODc0NDJEMDQ1OEYwOTFmNDg5OEZiZDc4N2E3MTkwIiwiMHg4MEQzYzkxMDUyOTM4QTY1MjhDRDYyZGM0OWI5OEE1REI1QkE0OThGIiwiMHgzNDU2YzkwQkI4MzVBOTZCZjY2NjNiNThDMjc4YjMwOTRiZWVjOTYyIiwiMHgxZGM2MWU0NDY4MGIxZEJlMzVkZWE1MzkwMWFFNTczRDFhQTU3ZkMzIiwiMHg4Nzg1MmU2MTkxQUY0MkVjNDc2ZDlGRTY5QTkxMTQwZTE1NjUwMDU2IiwiMHhmMzNkNUMzYTc0OTBiQTM3NDg5MEIwQWI4ZmEwNTliZEY3NzQ5NTY0IiwiMHhBNDQ2RUNFZTFmYTA2MDU0RkQ4RENCZTBEN0Y4NWY1OTc2NTMwNDM5IiwiMHg5Q2Y3MkFmNEM4YjhEMUQzYTE5MzlGQTM4MTdjRDFlQTY3Yjk4QjJhIiwiMHhCMTkxZUY3MjQxMjY2N0M1MDRFMjQzMmM3MDY1NjRGNzdhNjMwRjJEIiwiMHgzYWNiMzkyOWU2MDlFMjhiYTkwMjZmRDUxOEUzODFmYjkxY2M0MWE2IiwiMHhhMzM4ODAxZDNDZUExZjM1ZEIyNUNlNzE0ZEE1NzVDMzVmMTNmMEFiIiwiMHg1MTQ5MDZGQzEyMWM3ODc4NDI0YTVDOTI4Y2FkMTg1MkNDNTQ1ODkyIiwiMHg2YTAwNmNjNDIyNTg3MjVkNTM2Y0FBY2FERkUxZDE5OEFGNTNjZjYwIiwiMHg0MGU2YTI2NzE0Y0Q0YzEyMTFjOTBhZDQ2MGNkZTQ2N2M5NTYzMUVDIiwiMHhFN2E1MmExMDYzOTBlNjUyZDY3MUVENEQ0ZTQ2QzQ4RDU0RjI1MzhFIiwiMHgwMDk3YjgyRjcwMWEyQThEQUI3ZjBhNDE0RkQyYTM3RUFCMUVlMjU0IiwiMHgzNDczQ2NjOUVlNjU4RTNENzUyM0U4ZUQ3RTg4MjljMTBlYjY4QmFEIiwiMHhDNUQ5OTJEY0FjZTg5MWIwNzcxYjkxMzEwRDcwQUEzOWRFODM3YjE1IiwiMHhkMWY5MTM3Qjg3RTVDMzI2MkNGOTBEMTg0NUMwMkI3NTBlQzM5NjMzIiwiMHg3N2UxQzZGQTU0MTA0MDU3NDJmZjYwREU3NUY1OEIzYzQ3ZWUyMTYxIiwiMHg1NmZlQWNjYjdmNzUwQjk5N0IzNkE2ODYyNUM3QzU5NkYwQjQxQTU4IiwiMHg3Mjk1NDg5YUUxMzZhODA2MTRBMDNCOWFmMTgxOThiMDM3MzBhMjE0IiwiMHgyNjg1QzdBREM3OTRFQ2ZlZWE1MUMwMTk5MDQyM0NENkM3QjZFOTJmIiwiMHgzRjBmZkE2ODg3RTQwZEZkQTEyMmEyMjdCYTBDOTEwOTk2Nzg3YzM3IiwiMHg4NTQzOWVGRGI4REU1MjI2MURFQjhGOEI2ZWI1NEQxY0EwZGIyRmE5IiwiMHg3MjJlQzUxRmY1MjlEYWE2MTM1RUJjYmRmMkFDODgxMEFGODBFMDRGIiwiMHg5QTg3YjIxMTQyZDc3MkM0Njg5NjE5MEY1NDI5YmVlRjcxM0I5MDA4IiwiMHhlMUJiZTNlNjRFYTRhQkJDMjYwQTAwMDdmMkYyY0Y3YjcxNTk3MTg3IiwiMHhhMzAxMjQ1ZTlGOGZjMDFhM0NCY2ZiNkJhMjY3ZjU2MDA2MTQxOTFmIiwiMHgzMDk4RGI4ZUI5OWNCOGJDODU3ZjlkRDZiYjk3MTI4NWVFNjRGMTkwIiwiMHhDN0U4OEQ5Yzc1OTQ3NmJhOEFjOWIzMzkwMjE2NDU0RjY2M2Q1YjVBIiwiMHg5MjdBNGFhRTBDOTJDREQ4NEIzYmI2QTIwMzRBMjk5RUNjQjI3ZjdGIiwiMHg2NUNjZjQxNjA5MzBDMWZFOGZmODc4MDQxYzk5MTNiYTQwNEI1ZDA2IiwiMHhEOTlkREFENzEyZjYwQzZDQzhGREEwOWUwQzI5MkFlRDY4MDQ3MjE2IiwiMHhiNkYyY2YxNjRlMjg4RUE4RmI1NjVkQzg0ZDhlNDA4MGM4MTgyOTVhIiwiMHhDMDVkNWI4RkY5YkI2MDM4RTYxODk1QWI1NTkyRTFlMjI0NTIxNGMxIiwiMHhjZjk2MzJDYTlFMjM1RjY5MjBGOThDNjhjNTQyOTNjZjJlYmFhRjU3IiwiMHgwRjc1MDhBMjlBMzVCMzhBOWFEOTNBMzFBRTQwRjE3NzQ4MDAwZUYwIiwiMHg2QjRBMEJkMkVFZTNDYTA2NjUyZjc1ODg0NDkzN2RBRjkxZUE4NDIyIiwiMHgxQzhDRjU1MjhiRDRmNTI5ZmE3NjI5MjY0ZmM4NThDMDYxMDc1MWYxIiwiMHgxOTk3RGMzQTg3RjU5NjJhNGE3NkJEN2JDQTMzRWNBRTRkNzI0MkY4IiwiMHhFMzRDNTIzMzIxMzdEQzBCNWM2ODUzN0VhZDU5Y2JmMzg3MTIxZTQwIiwiMHg4NEUzNGRmNkY4Rjg1ZjE1RDI0RWM4ZTM0N0QzMkYxMTg0MDg5YTE0IiwiMHg4NERGYUExRTJGNjRhMDg3Q2FjMGJjMDk1MTZBOThDYTY4OTVCYjNGIiwiMHhDODlkRTBCNTE0QUZBNTYxMmNCZDU4NzMwNGY1QzA5Yzk1NzJlMzFFIiwiMHg4OTc0MmZjMUU2MTQxM0E0QjU4RTlkNzI0QTEwRDQ3Y2I1QjQwOUUwIiwiMHhCM2ZGYUY2RmIxNmVDMkY1ZjFDMDEwMzVGQjFkMzBCRTg2MTg2NWYyIiwiMHg1YTVkRTZiYzlkMjU0NTREM0I2ODYzZjMzNTgzMjI5NmYzNjQ3NDNjIiwiMHgyMDY2ODIxOTlCNEU3ZTUyQzA2NjNCMjljODJjMTkyZERkMWM4MkRBIiwiMHgxN0Q5NWYyNGIzMjY1M2QwRTE0M2M1MWI2ZmVhODJBMWQxZkRDZDY4IiwiMHgwODI5YTQwMzMzMDdBQjYzMzEyNDg4NDg2NjJiRjMyY2JDNGU4RDc1IiwiMHg3QTI5MDU3MTcwMkRDNWFDQ0REZmEzMmQ2NzQ3OTU2RmIzMjkwZDY2IiwiMHhDOWU1RTkyM0RmNzNjQWE5NmU2Q2JhNGNCOWExNjU3NDYxMENjZDA2IiwiMHgwZDNGNjU0ZkMyZjVhMUI4QmUxMDc5QUZlNTFGMDU1NzA3YjAwZWVkIiwiMHgxNkQ0NDU3NzUxNTc2ODM4MzNjNzA2MDY5NWY5MzAyMjI1NTBDQ0FGIiwiMHhiNTg2NDVBYzMxQzVjNDBmMDNFYTRDQzQ0ODg1ZkZFRkYxRDc0ODUxIiwiMHhFODg5MzMxODIzMTlDNzM5NzdFN0Q1NzNlYjdhMjI4Q0M2NzdCNTgyIiwiMHgzNDI5OWQyMDc2NTY2NTg5YTg5MjAzOUJmNDZEN0Q0NUJEMEZCNEExIiwiMHg0MTAwMzNFQURiNDIzYTE4ODkwQzEwRjBiMjBhNDNjODFGOTE0OWZkIiwiMHg3NjZjMDkyMjM3MmEzRTA0OTQ3Qzg1OERlYURlRjQzOTBiN2U2YzU3IiwiMHhBMTZFQjBhN0QxNDc1OTdFMkYxNzdGNUZBNDU4OEM3Y2Y1MDQ3YUFkIiwiMHhGRDRhNzRjNDlDMTg2Yjk2NTYxNkFFNzA5ZTA2ODA4Mzg5MjFmYUEyIiwiMHgxMjE5YjY3YzYzZTVlMzhEODdiOEQwMUFiQWVERUQ0YjJGMDFBMDNmIiwiMHhDODJEMTM0YkMzNzMyNTVCOTVBMkI5NTc4MjMwODQyOWNDNURhNWJhIiwiMHgzOTZmMDY4QTBmNjA3OTI2M0Y0OTM2NzQwYWI5ZTI1NEJjQjMxNDIyIiwiMHgzRUQzM2RhOTg1OUQyRDUxNDUzRTE1Qjc1RjUwMGE0MjYzM2I3YjBCIiwiMHg1Y2IxMmM2NzlGNDkwYUUyRTJjQWVDOTUxRjM1OTE2RTJBMUU1NjRGIiwiMHg0MmM1RkRmMGNEZDFmNzExMmVkODVGY0Y0RWIxMEJENzQyYzYzZjJDIiwiMHg5Y2MwY2ZmQ0Q2NDMzMTVGRjU2MUZiYUVkNDYyQTYxMTc3NUExMGVkIiwiMHg4Q2QyNjI2MTg2NWU3MGZCQ0ZlRmFGMjlkMjlhZTBiNjE5MjA1ODdCIiwiMHg2M0ZCOUM2ODY5ZDRkNEY3NzI4YzFFNzk5ZTQyYjI3ODU5YjNFNzY4IiwiMHg1QTE3MDdiMzllMjAyYjZkMDcyRTY3OTQ2YUMyMWZDY2U3ZUM4M0Y4IiwiMHg3YjlCMkJDRTk1MUJjZjk0ZkJCZUM2NjY2NTRmMjQxQzI1MWRENzQ1IiwiMHhDMzNGRDU2RDhENWQyYTk3MjQ0NDNlMjZiYTcwZUNmMjgwMDg2RTAxIiwiMHgxNTUxRjI5OWVkMkRmNEFhZkFhODZkQWQxRjYwRjlFNTQyOTVhN0Y4IiwiMHhhZDE5YjdlMkIxRGFDNkNFQTQ2YjE4RUVDNzMxOTgxQzA4RTZmMDhFIiwiMHg1ODA5MzUxOGJlN2ExN2YxMTg2MWFDRUFBMjFFN0QxMzhBMDhFMThEIiwiMHhDMkI3OWI5MmVjMmMwNDZmMTU4NDc1MjYzOUY5RDkyMGI1MGZmQjk4IiwiMHgzOUM4MjM3ZDdCMTU0NzdlZDlDYjA2NkNjNTczRGNCM0VCN2RGMTlhIiwiMHg5YzAzNkNhYjNEN2U1MkZhNGE2MzZmNTRGODZlYTJjZGY0OGJGZjEyIiwiMHg1NURCNDgwOGNhQWJhODBEN2Y3MTNiY0VmODY3NEY0NkNkRjFlN0FmIiwiMHhGOGM2MDM0MzA2Qjc0ODM1REYyZWRlRDAxZmI2NTU2NDM4MzhjNTQ0IiwiMHgyNjg0RmZhMTlkN0M2NmIxMTIzNWIzNGE4MkZmYTM2QzM5OGU3RWE1IiwiMHgzZWY5MTdmQjVFMTBmMDA5YTYxMTMzRDQ2ZjE2MTNCQmQwN0I5Nzg3IiwiMHg1NDRjZDYzYzlhMzM2M2RhQjY2NzMzQmY4MDczQ2I5ODFEYjU4Y0JBIiwiMHgyMUY1ODIzODcyQThGNmVhNDU1NDQ4NWZjY0U0NEMzM2FFYjFjQzI3IiwiMHg4Q0NkNjhBRjVFMzVmZTAxYzU2QUQ0MGNEMmVEMjdDQkQ3NzY3RkIxIiwiMHg0MEMzRTczNDkzQTgxRDY0MzE2NDYxMDJkRDkzQTJmNzVkNTkwOWU1IiwiMHgwOWQzNGZkNTY3Q2NiOGZGMmFENzMyRjdCODUzMmREZjE4MGExMTNlIiwiMHhkZGVENTI3RTk4RmFiOTg5QTQ3Yjg0MzIwMzVGQjVkNDlmNDMwZjk0IiwiMHg4Mzg2ZTNFNzE5NjEyZjFCYWFhOTFjQ2VjNDY1OTMwNTY1OTQ2NTZiIiwiMHhFMjY1QkI2MDgzOTcyNzk3MzQ5MWQzRWI1YzVFMTk3NzVCODQxQWIxIiwiMHg0YjdlMzNFNUM1MDc4QzgzYWM3QjUyNkRjYjgyOEZlMjQ3MkJlM2U2IiwiMHg4MDQ3Njk3RjFkMTYyYzIwQ0IxRTQwQkM3ZkQwQzQ0RjM4YTFBZUNlIiwiMHg1NEY2NTdBZTg0MDExM0YyYjQ2NDVlNjdmYUNGNERjOWE2MGFCYjhlIiwiMHhiMjE4YjY5MTIxMkFiYWZiNTRjMmYzZGMwODdkZkJCZDE0NWE1MDc1IiwiMHhlODIyOUQ1MEQzOTMxZTE0NTU2ZWRlNDIyZTY5OTJhMDc0MDBDNmEyIiwiMHgyRUE0N0RCYjM2OTMwRjY3YUQ2RjIwODdCNzg3MjE3NTZlNTQ0NTNGIiwiMHhGOEEyQ2YwMGI0QkJjRTEyQTg2RmM1NDIyM2NGODMyQjVmNTJGQTJCIiwiMHgwYTkzM0E0ZTEyRjkyMjVEMkFlYjQ1NmJlNjdEMmQ4MzNCNDQ5ZmYzIiwiMHg3RDYxMWU0Q0YxQzdCOTQ1NjFDNGNBQTU2MDJGMzI5ZDEwODMzNmUzIiwiMHhBQzFlRDJCZGRkQUQwMDk0QzFlNDExMjQ4NzRjMDYyYkY2MjlkMDI4IiwiMHgwNDk5NjNhOGM2OEQyMjVEQzAzRjMyQzI5OWZjQjE5MzkxNzNkRkQzIiwiMHgwMWJlMDRmMTBCNzgxNTAyYUNDOUY4Y2UwY0VkNDEyNTEwMTE3RDQ3IiwiMHhiZUU5NTg5NkEwN0RiNTYzRGYyYWIzNmNkNGI5MDQ0NzEwN0VCOUUzIiwiMHg4ZGQ1NkUxMTVFZDg2ZThEN2FlODJjRkM5YjI5MkYwYWFFMkFGOTMzIiwiMHgyRjVmMDg5MkI4NDJhMGQ1NjFBNDlDQURERThBOTE0Nzk5NjkyNzg0IiwiMHg5ZjExZmFGNDJBMTZEOTg2RjdCRmQ2MzM4RjQxZEI4ODBkYTZERjM5IiwiMHgzMDUyNjI4ODU1OWY5MjBFYzIwZDc5RDllQjE0N2VBMzMwRmU5ODA5IiwiMHgwMGI4NGIzRTRBNTg2MDZlN0QwQzQ1QTcyNWVFRmY5OWVhQWRFRUYwIiwiMHg3YjJhMzAxYzdkOTcxNDhDNzVlMjVmRjU4ODY3ZTk4NmQ4QzQ5MzNmIiwiMHgyMkRGMTAxMjJFZTM5QzhEMTU3N0I5MkJjN0IyNTNGYTMyOWZGNDUwIiwiMHgwODk4ZmMyNWY3RWU3MkY1ZDdGRDZDMWVEYkI0YjY3OTFmMjFiQjBlIiwiMHg2NzU5OGZhOGVkOTJhM2IwM0VjNzA2QjJjQzBDMDkyRmExZEQzN0U5IiwiMHhGZjgwNzc3NUVBYzNkN0FDM2VDODA1NzZFY0EzMDY5RTIwYjRFYjE5IiwiMHgxNDM1MTJGNDg1NzdFOTNEZTgzOWY2N0MzODU3YTczNzQxMUMwRjk0IiwiMHgwODk2RDQyMDY5Mjk5OTA0Njc0QjIzMzg4MzgyMTM1QWQ1MjQ0NjQ3IiwiMHgwMTk4ODNmRkNhRThlN2I5MTNFMjk4YWY3NDg3MTk1OTIzNjI2MTlkIiwiMHg1OGIyZkU0QjVDOUY3ZWY0RkNiRjZGNTk1MGRFRDA2MjhEYzFCNjRGIiwiMHhBMEM0Njk0QTM2NjcyYTY5ZTkxNjVEMUI4MjI5MTlhRTY4QTkzOTRhIiwiMHg3MjIyNENDMDQyODM4ODIyNERjM0M4NDE5RTI2OUNhOUVEMjI5MkMxIiwiMHgwZjZGN2VBYTdDRGEzY2M3M0Q1NDYyZDRkOTk2ZjcwNDY2NjlmNjFFIiwiMHhlRjJGRUM5NDAxMmMxNGVkMjExY2I4ODg4Njc0ZEU4MjkwNjZDMzAyIiwiMHhiNjIzMzg1YzBkRDBEQjY2NTcyYUNmRDJBN0QyRENDNmVCMEUxMkIwIiwiMHhjZTQyNjE1QTAxRmY0YWQ1ZjU5MjczMzBEN0RBZTg4ZDE0MmZEYTNDIiwiMHg3QWNmMTY1MTVFYkFENjg1MzA1NTdEM0ZCNzIzNjZkZjdEOTg3MEQ0IiwiMHg4ZjYxYmU5NjkzRTc3NERmYmRkRGY5RjY2QTA3RWE3MTNCNzM5MGFDIiwiMHg5ZDIwNTMyNzQ1Q0M0MDY5ODg0MkI4RTU1NDFEQ0ZDMTdCREJFOUIyIiwiMHhBNmMwYTliZkU5ZkQyMDc3MzJCNkNFM0U5MmI1OTE5ZDI1MmJEQTVhIiwiMHhlRDY0MzYxOERENTE5NEYyNDNhOGYyM0M3YkQ3ODZhMzdBNmRDZjhiIiwiMHgzMTUzOTU1ODc3NEVCNTQ4RDRDQzdiZTg0RDAzZDY5ZTI5OEFCNkEzIiwiMHg4YWRmQjAzYWEzNzEyNjAwMDQ3MDUzNzJEMGU4OWE4YTdlODkyRDY1IiwiMHgxOGM2ODQxQjVFMzk0RTU4N0MwNTk0NWI2QzE1OGYzQjRGRTE4N2IwIiwiMHgwREE5ZmMwNjkyNDc5NzRhOURBNUFkOTdkMTZhNThjQTMzNzVmYzI5IiwiMHgwZGM2Q0JkQzZkMkQ0NDg1NkQzRkQ0MzU0MjQ2QmM3MmFENTM4RDY4IiwiMHhjRTlCMDFlMzMyQTUxQTE0MzgwYTI2MDJCY2Q1YTkzOGM0OWViNUUyIiwiMHg2NDdCOUQ4NEMzQTJkRmM5NzM0QTEwMkQ1YmNEYmJDREI5MWVjY0NBIiwiMHhhZjVhNjdlNTI0MTU4ZjgxMzc4NEU4ZDM5YjkxRWMzMGMzQTEzZEUxIiwiMHgxQTQxODI3RmVGODgxMTMyMDZhYTVjYWQ1MDkyZEU0MDMwZTc0ODU0IiwiMHhBRTA0MDQxZjQ5M0FiYjAxRTU5RDg1MkUyODc0NDgwYjczNjA4MDFjIiwiMHg3ODZkQjY4YzA4QjA2ODI3YTdhQzk1MUVjQjFDOWJCMjExMzRhOTczIiwiMHhGMzYxYmRlMzlhZURDZkU5MjZGMTRmRWNjRmRBMmYyYzY0NmVmMTg5IiwiMHg3RTA1MWI3NTY4OEVhMzQyNTZEREY0Nzc0MjM3NjdBRkExOTUzZTI0IiwiMHg4OWI4MzBiMGFGMzQ4RDhlNGM4ZTM1Q2E4REY2NmRGZjIzMGYwM0Y1IiwiMHgwRUIzZGU1QUVBNjk3OUM4ZjVCODRDMWI1NmFmMWY0RTBkMjc4ZmM0IiwiMHgzYmI3QTllQzlGQTM0RTA2MDlGOUZhOTg5NWUyODU1YTJEYzc4QjI2IiwiMHgxN0Q5NjM2ZEMwMERBRDhFQTg3OGU3MjQxMTJDYmRmMEI3MTNjOWFEIiwiMHg2QTVhMzFjYTY4MTA2MmE3YUMxNmNCMTA2QjZFNTNiNzkwOGM5Njg5IiwiMHgwODJGOGY2ZUU0RkU1NTllMzY3NjkyNGJhNWU2MjZlNzZEOTgxMkU4IiwiMHhjRTJFOWJjYTc0MDQ2MWU0NkJkRjg1OTA3MzJCNmFFNDJkZGZGODUyIiwiMHg4RDE3YmFDZkQ5ZkM1RGM3QTRiMGFERGYwRThEODg4ZUM0MEI0NzQwIiwiMHhlQWUwRjUyMTE2MzY3MkVmNjA5M0UzN0MwM0FlNTZENjkwNDYwNjMzIiwiMHhmRTZFNjdBOTY3ZmY3ODA5MjY2RDI1MzlkZTc1M0M5NjhCNTBCNzc5IiwiMHhCQmJEMTIyNDU5NjhjMDdBMzMxRTgwMTExRTIxRTIyMEU2NTVBODczIiwiMHgwMDRGOGI1MUVCMDk5OEQ4QjE1NUY0ODcxMjA1MTczYzRkRWEzQzZEIiwiMHg4YUIxMjFhNDEyMkEzNEJGMkZBMzM1MTBiNGY3NTkzMEMxNkM5N2RiIiwiMHg1RTY1MUI5NTM0QmU3ZmEyODIyOTRGMkZDRmEyNTIzMDNGNzM4YmQwIiwiMHhkQjhDMjVCMzA5RGY2YmQ5M2QzNjFhZDE5ZWYxQzVjRTVBNjY3ZDZBIiwiMHgxYUE0YWMwOGU5NTAyODIwZUJhMGVkQWIyZTM4RjBmQzk2NzljN0I2IiwiMHhFZEJiMzc2RDY2NDkzMGQ0MzlhYWI5MDYzOTAzOEIxM2I0NTgwNTk0IiwiMHhFQTA2Nzk2NTY4OTFCRjZlRTJhODI4RWFDMDMxYTc3ZEMyMzcxMkVGIiwiMHgzMjdkZEE2Mzg1M0ZCYTc5NjMwOTdFMjBmNEUxZjQzNWE3MjQ0MzYxIiwiMHhhMkE5MjIwRDExRWNmMTA0MjZkNTkyY2UwNjZiNUE5MTEzRTBlOWI4IiwiMHgxOTY5NzI5YjIxMDdCMUQ1NjA1MzM4OGQzNzQ0ZUY2NDI1ODk2MDFjIiwiMHhFNzk5OTRkOTE4MkI1QzQ2MDEwYkU0QzBENDg3ZDI3NWZGZUY5MWJjIiwiMHhiNTZFOEMwNDZDZkREMmU1ZWM3RTBiZTBiMUIzQzQ2ZjU4ZDFGM2I2IiwiMHhGMjY2ZkIxNTBmM2IzMmEwRjFEY2MxNUYwYzA3QTkyZDk5NjkzZTk0IiwiMHhjOGRkOTFlQjdDOTlGQTQ2QTZmNEFmMjBiMUNjMDhBOWMyRDljM0QxIiwiMHgyMzc1MkY5MkY1ZEM3NWQyRUQ5YzI1NTI5ZUU0M2U2NzNkRkRkMkI3IiwiMHg3NGM3MTQ1RTg1MzEwMUIxNGM4MTc2NGIzMTJFM2I2NEUwNTY5OGYxIiwiMHhjMjc4YTg2RWM2MEJEYWMxMkUyZDc2YUMzMURkQzdEYjRCYUQyNTYyIiwiMHg1NzU4QUU2ZTFDNUYxQzU2MjM0YjAzMzI2NTYzQzJhMkNFMDU1NzA5IiwiMHhFODAwRkUzM0Q1MTk4ZWMwMTlDNjQyNkI1N2EzZTJiZkIyMWNBNWNhIiwiMHg2NDUwMTFEYWQ0RWQ2RGJBODFmQUM0OTc0MWE3NTVCNDc2MTRCY2I3IiwiMHhEQUUxRjhBNkMzNjY1NzIyODgzOTI5QzRiNTNGZDNBMjJFMDQ3QkQ1IiwiMHgwMzM5RDI5N0M0OWY5ZjYxNjVGNjZkMjVERUFDNmUzYjRmNjhBYjIzIiwiMHhCMzM1QTVENGQ5MWM0QmIzNjliODEyNDMyODc5QzMzQ0U4OEYyRWY3IiwiMHg4OGNFZTg0OUYyNjEwMDg5MjVBZGZFZDA2M2JFRjI2YjA0YTdFNWZCIiwiMHhGNTVlMDQ3ZGZBRTcwZUU1MWNBMUNmNjUxODg2MDg0YjFlNUI3ODRjIiwiMHgxOTREY0IxRDBFMTE1RDQzQzM3NTlmOWVlMkY2OTYwOTRhMTAzRWY3IiwiMHhjNTVmODNGYjk0ZjVBNzAxNzY0NjdlQjUyNTEzY0I5NjkxZGZFOTg4IiwiMHg4NDdiYjI4MDQ0Mjc1NzU4OTlBOEI3OTJBZjg1MDhmMzQ2MGViMUJDIiwiMHhkZDM2YTUyMGIzQUFiNjZCNzFlRDUzZWI5RWFkNUMwRkI0YzkzRTc3IiwiMHgxRmFFMDk2NmQwOGZmYTViN0FjNzA3MWZGZkQyNTlDZjdkOWQwMjYxIiwiMHg1MkQ5M2MwYjMyM0EzRTQxQTc0MkUzNThDRDYyRTU1YTFFNDY5MjJhIiwiMHg0MGFiMzkwQjY3MTIzMEZFYTJjYTg5MzI5NDk2Nzk2MTNENEY0NjY3IiwiMHgzMjQzNjgzNUZBZDM2MzE0Mzk0MjU0MjQzYTYwZWM5MjA3OEQ2ZTYzIiwiMHhEOUViNDQwRjNmMzMyYzkzZDgzZDhkNjEyNjU3YjhiN0ZjMjgzNDg4IiwiMHhhQTFhMjYxYjYyQjM3NTdjNDgwODJkOWQ3MGVGOTEzMEY0MUQ1YUY2IiwiMHg0OTE1RDg1OGE3QWFDOUJmRGVCRkRCQ0ZDQ0FkOTZhMDcwNWYwQjFFIiwiMHg0NDQ4ODU4QUYxRmFiZkFGZDIxRTQ4QzNlN2VmM2MwMDM1OTgxMzhmIiwiMHhiMzdCNjVFMDRFNkNjQTQ5MjFEMDYwQzBhNUQ1YWU0ZDBDMzg1MWVBIiwiMHg5MTYyNzkzZTJBNTc0NDJkRjRkZDI1ZmQ0QTgwNzU5ODhlYjY2Y0E1IiwiMHg1QzY1NjkyYjM3M0JDODNCOTFFMTYwMGRBNzAwOWIwMDBBZDFiMEM3IiwiMHgzQzFiODQzOTAwMTkxM0IwNzZGN2Y3MkRhNjkwMkFGOTQ1NTQ2NUQ4IiwiMHhiOThDMTFCNTE0M2JDNDQxMDQzMDkxNzFFNTYyQTk0OTBmRUNDN0EwIiwiMHhEMmExOGUwQTlDRDgzOTYyYzliQUQyODJjMmE4OGVlZTdGNzUxNDA2IiwiMHg0NzM3OEZhOGY1NjIyODc1RUZjNDk0QjA2RjIyQzdEN2E2NTYwNTQ2IiwiMHg4NDY4ODQ1MWJhRThlNjEzNjdjYmIzNjkxOTg4NDNBNGM3OWUwMDREIiwiMHhjYjQ4MzRmNzU3N2JFQmQzQjIwOEQ5ZmM4NTc2MmQ3QkM5RjA4ZjI2IiwiMHhkNEFiNTk5ODdFMDRDZjRiYzkxOGNlMTMyN2Y3OWU4MTY5QzRmMEJlIiwiMHg2NjQ0QWY0MkVkZTU3NGZiMzY0MmQ2MzE3MWJEYzdhMTQ0NDExYTkzIiwiMHg5NTllQzE2NDgwQ2JmNDAyMTgxNzU0N2VhYzFjZjhjMTkwNjREOTc5IiwiMHgzODNCN2IyNzkzNTJGNUQ5MzU2OGVGOTBDZDkzRjg3YTdBZTU1Y0U4IiwiMHg2NDUzOGNkOURFZjMwRjNlODA3RTg2MzY2MmE0NzRhYzM2RTNENGRmIiwiMHg4Qzk0QzE2ZjEzNGY1ODY1ZUExYUJGRTY5NTg4ZTFmY0ZCZTM2MTM2IiwiMHgxMENENjA4Rjc4RTI2MTlkNDk5ZDNiOTk3ZDAxRGVmYzBhOGMxQjRCIiwiMHg4Zjc1YTQ3YzVhODk0OWFlZThEM2YwMWU1OWU2OTkyNTY0ZDAxMUNhIiwiMHhBNDQ0NUMyYjQyMkE1MzIyY2ZkMjQ3Rjc1NjNGMmYwNTA4RDMxYUQ5IiwiMHhlNWQ2MDk0ZTVhRGFjNjU2ZDIzQjI5MzBhM2Q3NDA5MTFCODAzQUE5IiwiMHgwRDM2MmZDZTY4N2NjMmQ3ZEEzMkM0OWQwYmIxZTVkYzdGQjAyRTM3IiwiMHgyMDNhNjA2ZTAzNjJBQjZCMjk0ZDEzMDEzODczMzEzNTdGZWJFNGYyIiwiMHhBQkYxYWNlOGMyODYzMGExRTUxMmNlRTU5YTNjNDEwYUJERGMyZDIwIiwiMHg2N0FkMjI2MzU3MDcxMDFFNUI0YThiYWE2MDRFQzk0RkEzNkVmNjM1IiwiMHhCZTJkMjU3ZDk5MGFmMDVkMDFhQTRkOEI1MTlkYjA4ZTQwMzJhMDZCIiwiMHhmYjg4NjQ5MjdiQTk3RjNFNTBFNzQ3YjY0QjlkODE0RDc5MTk4NkQ1IiwiMHg5MkQxMzU0QUM1QWQ3NWJjNzE0MEViMjEwMGM4NzJkNjE5YzllNjhFIiwiMHgwNmMzMzU3MmRCMDc0NDJGM0EyRjM4MzhiOTIwNWFCODk4OTc1ODU5IiwiMHhjOUE5MzRBQWMxNzNGYjdDNmU0QjE3ZjBDQUYwOTRGMWE1NzNCNTc1IiwiMHhEREQ1ZDBDMDJBRGE5YjRDMGExQTJiMzc2MkFFMTIwMDUyOGIzMTY3IiwiMHhmZWE4NzhlMTdBOTcyRDVERDM5RjYyM0M0ZmNjNzBlZDhBMjhGQzkwIiwiMHhiMzY2MzI1MTc5Qzg4NDA4MjBiOGYxMTExQ2IwZTc3ZmNDN2Q5ODIzIiwiMHhEMjA2MGIwNGQxQTMxOGFCOTFDMTFEZjg2NjRhNjA0MGExZmNjYWNEIiwiMHhlOEE3YWRFNEI1YzZDNGUxZWE2NmVjMTUwNzNEYjg1OGU4Q2JmZjJkIiwiMHg5ZjZiMTdlMzU1MTlBRDQ2YUZkMDU1NjQ5M2U1NjdBZTcyYjNlNEYwIiwiMHhjN0E0NjVBNTZFNDU3NUREODlEZjg2Njc4ODYzMzNlQjcwNjM1Y2M4IiwiMHg0OGREOTA4OTk1MDIwNDU3MGMxMDI0ZTZiY2EwNzBBMzhBMTEzQWNDIiwiMHg5REE3ODYzRjFjN0M4M2JlNUQ3MDVBQTQwMzlFOUNlYzU2MjA5QThlIiwiMHhGN0RjQTM0NTVDOTcwOTY2OUExOUE1MTFDZGE0RDgzRjNDMEY1ZUMwIiwiMHg2OURmZTUzZTkzOGY3RDA5N0EwMkZERjIyQUQyOTBmZmNiY0ZmNmY1IiwiMHg2NmFDQTIyYmRkMjgxZEJjODE3OTQ0QjlCQjg3MkEwMmEwNDE2OTFlIiwiMHhCOUQ4NDdkNDNhMkNhYTVGYjgxNzU5ODY2OEJlNjAzZUQyNjlBRERjIiwiMHg2MGI4ZjJlNTM3OTljNTY2MUYzNWE3QUE5MWY0NDdGODU1NTg4YzU3IiwiMHg5NzZBQ2NhOTA5M2QxMjU2NjAzYzM1NEFkMDFjNmJjODgwODk5MjBDIiwiMHhjOTc4M2Q5NDA4MEUzOGEyMjgwMTcxNzdDRjA3M0MxYmE1MDVjNWYwIiwiMHgxZmUzYjgzNjA2OTE5OTZkYTY5MzM2YzgyNWQ2NDQ2ZjdmYjgxOTMzIiwiMHg3N0Q1MDkxOTI0M0RjNkE3RDdhMTkzNjAwMDZhZUVBMUNhZjQ2MWUyIiwiMHhmZGU0MkE5NDIyQ2IwZUU4NGVkRTcyOEFCNTAzNDg3QjM4MmQxMzVFIiwiMHg3OTk5RDREYzY2MmNBQzQyMjYzRWVERDgzNmNEMWU4MGY2YTM1YUIwIiwiMHgxMzkxNkFjNmRGRmNiRUEyMTVlZmQzRDA1MDlFOTQ4RmJBQzVjNUI1IiwiMHgyODRCRTAzZDZjYTExMjlmODUzRTEzYzFlN2Y1MkE2ZDI2MjM0OGFBIiwiMHhBMDk2RTI5MUExZDhhOEJlN2YyMEIxMDVlQ0VGMTU5ODg2NEM5ZTE0IiwiMHhmQjBhQjM5MUEzNzdiOUJmRGRkMDgzZTMzRTBhNzhEY0IwNjMzOWM2IiwiMHg4MTE0NTUxNkJBNjRDNjU1NWY2MDBEN0IzMkUwNTBFQTIzNUE3QjFlIiwiMHg0MmEyNTQzQjBEZWU0MTIyRTlERjVFQ0NmRjM5MzJkRGVlNmY4Nzk4IiwiMHg1MmE0QzhkRjBGRTc3QjUzRTFmNzJCM0MxZjNBRmNjRTgzQTE5MEQyIiwiMHhlQ0I4RURCNzdENjM2NzUzZEQyMDFCQ2Y1ZDNENkNBNUIyOTEzN0Q5IiwiMHg0OTRCYkM1ZTFCRDc1M0IxZjI2MGI5MGIyQjlmRUYwNDdFOEQ2RURlIiwiMHgzNmI3NjgwZTRjYzNlNDNlNjE0Yjg2MkY0NjRjYjAxRjBBMTdGYTU1IiwiMHg5NTUxM2RFMTcxRjQyZkMxNzJDQzRBMDEyYzlBNjZjNTVBMTQ0Y0U1IiwiMHhiNzI1MDRjRUVkOGI1RGI1RWM1YkJCMTY5MEIxYzY5ZDE3OTgxNDQwIiwiMHhmRWI4MDE5MmZkMDk5MmFkQjk5MjIxNGI1OWU2Y0UyM0Q2MjYwN2Y2IiwiMHg3QjA5N0Y2MzA4NDgyQjA3ZjEzMTNlRWYwY0Y4MDgyNzgyQzNGZjRGIiwiMHgwY0U2YUViODc4QkRFODE3ZDc1NjlmOGUwMzNkNjcwQmQ2MkQwRkUyIiwiMHhFQzdGOUVDM2FCZEIzMzYxMDI5Q2M4YThkODg3YzVkMGEyMzFhODRCIiwiMHgzN2RiODEzODk5ZUE2NzlFZTRBYTVmNmJGMTA0OTcyMjk3MTQxRjczIiwiMHgxYjIzNUYyNEZiNzc1OTBBQzQ2NTZCM0Y1NjIyNEYwN2M4Y0NiZGNjIiwiMHgyRjIxNWM0MDMzYjI2NDY4NDcxNzBjRkI1ZkY1OUMyN2FDNkUxMEM0IiwiMHg4ZkE1RjczOGEzNkRmMDM1NTc0NzlCQTdjQ2ZGRTIzYzliZUVDYzYzIiwiMHg4NzZlMzFlMDhmQUE1ZjY5MTIyZTc1OTViMzQ3QkYzZmRCNzM5NDZjIiwiMHhENWMxMjE0ZGVBREEyYTZkRDk2Y2Y4OGY4ZWFlRjI2OTQ1RjI4ZTVjIiwiMHg2ODlGOTkxMTQwZTc2QzM4RDEzNzJGODNkOGM2MEU1NmQwNDdlNmZmIiwiMHg2ODAyM2IzMTUyM2REOTk2ODQ5ZTRDMTFhZDg0MUJCMTU3NEVGNWY3IiwiMHhjNzc1M2QwY0MwNDJkZjBlMGFhMWZCNjgxYjMyRmE3YzU1MjQ3Q0M0IiwiMHhBMTAxQTA1ZTVmQjY2Y2EyMDkyZEEyZTlFNDkzMkExMUU0YkE1NzFFIiwiMHhmNTBiZTAyNGE5QkE1YUM2MUMxOTNlQjAxODNFRGRDRmVDRmZlM0RjIiwiMHg3NzMzNGNGMzQxRmRFN2EwODIyMkEzYjRjRTc0NGYxQjMxODJmNmJiIiwiMHhDOTQxN0IyRjg3YkEyODY0NzczRkEyYWQyODZkQjgxQzk4NTY0NjlmIiwiMHgyMDg3MDg1YWVCNTEwMGNBNTIzMjM1NGRhRUM3MDM1MEFjODExNDJCIiwiMHg1NGQxNmQzNWNhMTYxNjNiYzY4MUYzOWVjMTcwQ2YyNjE0NDkyNTE3IiwiMHgxQTE0OGY5REVDOGU1NmVCMTk2MWZmN2FEYTU4NDljOUJFNTVmZDFmIiwiMHg5MjM2ODdEZEQyMUIyMkFjQThjZDZmMjI3RmNkRTYwMzczN0ZmYkU1IiwiMHg4RjA1YkRENzA3ZTkwZUVEMDIwRjgwNjhBOWY2M0ZiQTBlY2MyNzVkIiwiMHgxZkIyNUM0ZDc1RjE5NWU3ZWRlNzJDNEY2OTk5MEJjODVEZTJhMkU4IiwiMHhFYjhlODNjRTM4NDNGZDU4MTRhQ0Y0NjREODkyMGQwMGNmNjAyQTFDIiwiMHg0OTEyMERhQjdDNGQ4RDA2MjQzMzU0NTc3NkU2NzAyMzFCOEZEOUFFIiwiMHg3MDRhZkRCZTM5NmZBMzM5NTBlOEI5NjVkY0NhMkFjNjc5MEVjRTIzIiwiMHhEZDVGMDVkYWE4YjU3RDgxN0MyMTUwNjZlMDUwNDNmOGFlNUM2NTU1IiwiMHhjQjUyNURBN0Y2ZThFOTkwQmEyQzMxYmEwOWUxRTMwNzhGQTBBQ0UyIiwiMHhFMjY0NWUzNjAzNDQ5Yzg3MUI4MzM3M0IxMDg5MDIwRGVENDlFZkRjIiwiMHgyRTk2NkNCRjQxNTMwYjI4OGM1YzkzM2U4RTRDRDVjQTNhRTZCYjZhIiwiMHgwOTBCNzkyRTFFRWQ0NDE5NGQ2MzEwNDQ3QTlENjA3QzRjNjFDQUMwIiwiMHg3NzU1MmY1ZjEwMjlDMjc1OWM2RjI1MEY2NEQ3Mjc2QkY1M2M2RGUxIiwiMHgzQjdBQjQxNkE3RjFBODEzNTk0ZWJlMzY0MGJhNzU3YWRiQUE3M0QwIiwiMHg4RmNhOThhNjEzYzExNzg2OTI3NDAxNjMxZURlREZjN2VDN2YyMjg4IiwiMHg0ODQ3NzllMzNGZDA2NTJhMEQyNTdFRTRFQkU0Y0M2Q2U4Q0M3MTAwIiwiMHgwMDgzQmQ5ZWIyREUyQjZFQjU5ZTA0ZTNhQ0JiYUM4MjQyRGVjZDY4IiwiMHg1OWU3YmFmOGFmMkY0RjY5YzUxQjAzRUY4NTI4MTk5ZDVFRjM1MjU2IiwiMHgzNjE0NTQ1NjI5NDU4NzE3QmFiNWFkNTM0QTdiNjZCNjhlMWFlNjc2IiwiMHg3RjBlNGRBMzViNGY2YmI5NzdGNTQ1Y0RkQzYzODdEQUVmMTU4OTc0IiwiMHhFYUUxM0UyRmFCN0M1QzBkNjEwNGNDOTlhRkM3RDgxY2NlN0FjM0RkIiwiMHhCMDc1ZDMzOGEzMzE4ZjFhMjFjN2ZiYzlENzgyY2QxQzdCRWJkNDM5IiwiMHhDMjYyNkIwQmQ5MTlhOEI0M0MwOWZjN0MzMDRjODYxRDA0MzBCNEYwIiwiMHgxRjc4YzFCMjViZDNENTg4MkNDRjBCNEZhQWQxYkM0OGU3RmEzNDU5IiwiMHhiRDA3NDAwOTkyNzdBRTRiNTQ5NTZkOUY1OGI5NmQxOUQ1NTcyYjgxIiwiMHg3Y0UwRjYzRjQ0NzU3NDI2MmMxNzU4MTkwYzIxNTQ3ODE5NDViNmIzIiwiMHgyOWMzNTY4ODFENTM4ZTZFYmUzMmUyOGZBM2QyOWU3MjMzQUU2MzQ3IiwiMHgxNDNmZDg0YzA1REYzNTE4OTZGMjAzNDc1MDU1OTZEMjA0NUI2ZEVGIiwiMHhFRjA0NjdGQ0UwNTk3MTdDOTM1RDlhNUQ2N0NmRTRmRTlkODlhQjFFIiwiMHhGNDExYjNEQTc2QTI2NUJhMWZBMTgwQkM0YTZBMGUyN0MwRmVlYTM2IiwiMHg3ZGY0QTFENGE4RDgzOTBCZWYzNkYzMTEyNTI0MjNDQ2UwNGU1NjQ3IiwiMHg2RTMwN0Q4MzYzNzBjYzQ1MDkwOUFhNWUyYjg5ZjI3MmI4YUI2NTRkIiwiMHgzNzQ4RjI1M0JkMDMzOWRmM2IwREFkMDJCYkEzQTVjQmU2MmIwNmQxIiwiMHgxNjRlRDBkRjAyYjM3NDczMTViNTBiODA2Yjc5OTYyQUQ5NTE3NTc4IiwiMHhBNjlmZkM0NWY1NmRDRjBEMTc1NjlhMzYxNzlBQjU4NTk2NTMyZDFEIiwiMHg5YTU0ZWZlMDk2MTJhMEMxN0RBYjk5QkYzOGE1MDY2MWQzMDlhOEJiIiwiMHhFZDM5NGVmNzdCRGVCMUU5YkY2ZDc2YWQ1OWJhQUMzYUZCNjVjMTg5IiwiMHg5NTNDMUIzRkNGNzRkRTlkQzRhZjczMTkxMmY5NENGMkI2NEU5QTFEIiwiMHg0ZmJDMzAyRTE2ZGFkOWREYTY5ODNDNmVmNzY1Zjg2YjE0NEVBMTlmIiwiMHg0MjFEOGVmZjgxOGNFZDU2MTMzYzdmRDk5ZDI0MzQ5ODA5NkE3N0Y4IiwiMHhkMTI1YTMyMzMyZWFkMzVlN2IxRTdBODIzMzIwOTliNDhCN0VlNGVkIiwiMHgyNTc0MzQ3MDgyZEZBRTAyODQ5MDE1QWM3YjQ2MjU0QjYyZTVGZjQzIiwiMHhCQzJEQzM3NDZmOTAwNDJhMWY2YTJDNDRjMjNDRWYzM2YzMURGQmJjIiwiMHg5MTdjMTY0ZTkyNEI1Y2Y0RjM2RjdjNjcxM0UxZTMzMzA5MjhkMWNFIiwiMHg5YjRlNTEwNTBFMzJlMTVFMDREYzgyRjFENTgwNEJiYjU4MEFmOEQzIiwiMHg3ZDUzRGNkZmVjQjY4NTgwNWU3NUM5ZDgyNUQxNjY4OWU3RGUxQjY2IiwiMHg5MTc1N0YxM0RBRTc5MmMyYzNBYTM5NDM3NjExZGJhMzI2MDhiY0JjIiwiMHgyODhDMDUwMGFlQkFENzgyMENEQmZkNzNDM2FlMUU0ZDZERDU3MmI1IiwiMHhFRDQ2OGI3NGUzMGU4YzhiNjIzM2M0QzZkNjhmRThBODI5NjlBZTdFIiwiMHhDRDkyNjg1NTJFNEFERjM1N0U3NTJiYzZEMjZkY0IwZjdlNGI2MjM0IiwiMHgwQWY5OEE1OUI1YjY3YzgyYjI2NTIzRDFkMDlFYTY5NTU1MkFFQ2QyIiwiMHhGMmY4RTk5Y2FBRDQ1ZGRBMGZENTExMUU4ODNGMDBkQ2Q5QjgwZGMzIiwiMHg4Njk1NmU4MDU2NjI2ZDQ1MUIyNzI3MUM4REVkQzViYzNERjMzQjQ5IiwiMHg4NzQzNzZCZTgyMzFEQWQ5OUFBQkY5RUYwNzY3YjNjYzA1NGM2MGVFIiwiMHhGMmNjMTUxZDIyQTE3Mjg3N0RiZDVDOTViQ2Q0NDkzNUU0OTZCMjRkIiwiMHgwNjBFMkFjYjI3NDcxQjEyZjhhRDVEMjA1M0YzNzc0OERmM2FCQmExIiwiMHg1NUYyYjcwNmQ3NjNiNzUwYzJlMTg1ZDIxNEY3ZmYxMGQ2NTI4MUU0IiwiMHgyMDcyM2ZFMzM3MTFFZmEyRTI3YzE1OUI5M0U2ODk3RkI4OTEyYTI0IiwiMHgzYmI3NWVCMjFEMDM0MTAzZjU3RDVBMkRBQzdiYTEyNzdjMDk0MDhkIiwiMHhDQzkzNUI4ODBBNTI0Q2I5N2Q5QzdjOTJEMENjODY2N0E1ZDUzQmE4IiwiMHhlNDVFQjY3NzU0N0U1ZDcyM0VCMEI2MzMwMjY2QjU1NTRCMjE4M0YzIiwiMHgxQjYxOEMxNEExMEYzMjU2MjVhZTU1NUM5MkMwOWZBRjllRTAxNTQyIiwiMHgzQmFDN0ZjNzZFZkIxZDBEZWE0YzM5NjBkOTQ3MmViYzAzMDYzQmM3IiwiMHgyNzQxMzcyMjhGYkMxMUIxQWEzQjE0MTUzNGUzOTA3YjFkODRBMGI4IiwiMHgwYzI2QjJDQ2ZEZTgwRDUyMTI4ODg4MEI4NTMzOThhYzE4ODIzMzZGIiwiMHg3OWYzYzI3OUQ0MTg5MTVlNTRBQTliRDc4ODliMWE0NDlkODA4MmVkIiwiMHhkODgyYWMxNGZiMGEyQTNGMjJkNkY0MUEwNjZlMzc2QjFERjZGMmY1IiwiMHhmNTZCMmZkYzc1QTZCNmRCNkI3NTdiYmU2RTJhZDJGZDQ0ODIwM0ZBIiwiMHg4MTBjMDA3NjhBNEIwYjg5NjY1NzFCOEU1MmI4MjVBOEU2ZDIyQjY0IiwiMHgyODkwRTEyMkZjRkMzMzk2ZjUwNTRmYjhmMENhQjU1RWY3YURlZWUzIiwiMHhkYjUyNkJDNTE4MTVlNDhiOUM2RDlBMjA5NDBiMEI5RTYyNTAwMjQ4IiwiMHhGMkYwNTRFZDFGMDlGODg3ODREQzRGMzU5YjM4MTJkMzcyOTZDYjE3IiwiMHg0OEIzZDY2ZTA4ZEI5ODE3NjJiYUVhNzE5RGEwNGVDN0I1OTc5ODRCIiwiMHg5QmQ3NDdjNjI2QWZhYWE4YzYzOUYwZjU3RmFEZjNCMGJFNzhDMDUwIiwiMHg1ZmZkMjRFMUY1MTkwNWVmZUQzMzYxQzg5YmE3ZjE0NkQwMGY3RDY2IiwiMHgxOWIzRGU0ODM5Mjc3OGY4RTZlZjMzMmZlZTAwMmFBNUUxNWZlNDFhIiwiMHg0YUJjN0U0YzlFMTIxY2Q5MUFEODA1ZjYzN0VFNENFNzM2ZmM1ZTk4IiwiMHhlQzA4YTVhNTZmZDE5MjllYjljQzIyMzdFQTFiZEVGN2YwNEZjMUIwIiwiMHhiZDREMTg5MTg5NDAzYjhhNjIxMzkxNkUxODNhY2QxNEIwNzI5ZDU5IiwiMHg5NDUzYjY3Q2I5Y2EzZTEyMjJkMjIwOTRlYUQxMzU2Qzg1MmMwZmU0IiwiMHgxRDQwOWQ1OERBODEzRjgxOTdlMTZmNUUwOEE1NjJmNjc5NDAzMGVmIiwiMHgwYjFCMTI3MDM5QzgzQjkwMEYzYTVEQkM3NTIwNjdiODY4NDQxM0NFIiwiMHhFOWNFNjQ3YTg3QjgxMDJERGEyYzBEQjZjZDAwZTZkODE2QmRiYmMyIiwiMHg2M0U4OTMyNDJlNDZlNUIxOTQzMzU1ZDk3YWM5QzMxNEZlMTBENWM5IiwiMHg3OWVBZmJjZUMxMDk4ZTc1QUVEQUIzQ0YxMjJCYjUwODcyQjlkYzA5IiwiMHg3NjVhY2I1NzFEMGZlNDcwNzI3MjE5NmQxNTgwRENiMzkyZGU5YWEzIiwiMHg0NDc2QzJkQ0U3RGI1ZDMxNGI3MGVFMDUzYTA5MTNmMzUwMjU4RDM1IiwiMHhiM2E2NzlGNGNiMWYzODY4ZjYyZjg5OTIzYTg1MUMwMDc5NzM2ZjYzIiwiMHhjZkM5QmM0NzA0MUVEMTZFMjVBRTU3MUIxMzFFMTdlMDk1NjNCNzAzIiwiMHhlMDUyNTJmZjA2RGU1Q2Y2RWZDMTMwNzQwNzIzNjVjRThkNjRGMEQyIiwiMHgyNkExRGIzOEJmYUZlRjA5NmU3MDZhNThkODRFOTVmRDA0YzU3ODhCIiwiMHhDNWI0RWQ4QTJlOWY2N0M4MkUzQmY2MThlMmY1Q2REZDQ3OTI3QkNiIiwiMHgyZjE4QmI2QmZBQzY4MTI5ODQwZWE4YWFlQjI5NzAyMjE5NzJmMGM2IiwiMHhlY0JGQzk2MjE0MEJENkYyYTg1RGZjOThFNjJjNTJDMDA5NTkyOTBFIiwiMHg1NDA3MkNGYzMxMDMxMWNlQ2VlMjVlYkQ4NDc5N2JkMzU3MmFEMTI2IiwiMHgzY2U3MEFiMGEyMzM3ODgwNTUwRWU1ODIyMGQ0NDI3MEQ5NUQ2NjhFIiwiMHhCOWU3Y0RmOEJCNDBBY0M2ZjZDMGNDYTkzRkFiNDg4YTIyRDhhRjE1IiwiMHgyYUNEZTk1MTAxOUM2MTE5NUM4OThhNkJGNjc2RDE3QkQ3NDE3QTJlIiwiMHg1OTNCNjk3YjE3OGJBODc2NGFEOTg5RmUyNzgyNTYwYTdBRDNENjNmIiwiMHg0RDI5ODMxNTA1Qzk5MkRCYmU5RTE2MGI5MERGMDkyYWFGM2ZCRjQyIiwiMHhkRjQxQjBmMDk1NGI5NUE3YjNlOUNhMDU1MTE0MzQ0MENlNzdlOUZhIiwiMHgzNDIwZDE2ZThhNDEyYTQ4OTdlNTI5OGU3MDVkNzJEOTBCYWFmYjk0IiwiMHg3OWEyRDRhNjc4MUYyZjU3MzVjMzdGOURDQzc4QTExOWQwNTI4ODU4IiwiMHhmQmVjOEM1OUFjNkU4Mjc4OTk5YUQ0ZWM4MDA2NzZiNzZGQjlGYjQyIiwiMHhhNjBlMzE2Njk2NThkRGJmRjQxRGQxODZlQzQ1N0JiYUNlNUJiODBkIiwiMHhlNDhkMmIyMTY0MjQ2YWJGYzllY0JCNmYyRjg1OTkwMjk0NDM3MmUwIiwiMHg5Yjk2OUJFZDNFMTJFZTQ4Yjk0NGZCODRBNzJDYzA5NDExNWNFNjQwIiwiMHhFNzhkMDI4RDM3OEFCNDNjQUE0MDEzNzU2MTI3RmE2ZjFDYzkyMjJlIiwiMHhjNzY5QjFkN2M5M0E5ZjUyMTIwQkIyN0FCYTQxNTc0Q2IxMTY0MjU3IiwiMHhCNTRFNkVDY0YwNTE1ODIzMkU3OTEwOTgwQjVCNUQwNjhFYjAwNjBmIiwiMHhlMWZGRTUyODcwQzc1NzU4MjcyQkRFODJBNzJFN0M4ZDREYjA1MDY4IiwiMHhhQ0Y4QUNCNjYxQTZCNmI3OENiYjIwODg1ZUZENmZkOTI2NzAzODAzIiwiMHhjQjVDNTI0MzIzMTU0MUY1MjdBNzJkNWUzODJlMUFBQkNGNjFiMTgzIiwiMHgwOEMyQWUwNDNBNDA2NzZEOWQyZjljNTY2N2M5NDVjNzMzRDU1Qzg0IiwiMHhlODhjZjU2Mjk3RkZDZUEzNWMxNWMzZjYyRDYxQjc4NjAwMzk0QkNCIiwiMHhkQTljOGJiMjg2RUFDRDA0ZUJBQ0Y5N0ExM2JFQkExRDc2ODk2NzkxIiwiMHgwMzU3MzQ3NTI0RGViRmY0Qzc4M2QwMDkxYjhDMDEwMWQxNjQ4M0I0IiwiMHg2RGJDMzE1NTE4YzYyRTJENzgwRTQ2MDhjRTE3MURFRkFiRmRhMDNDIiwiMHhDMTA3RDQxM2UxM0Y0OEFBOTI2MjkxRTg4MDZFMTBFQzAwRDA5RTQzIiwiMHhhNTY1Njk0MjA0M0ZFNkIyMTBGMmM3M2ZDQUU3MjE0OTc2MjJkRjA4IiwiMHgxNjJhOTNiNjUwM2M5OWU4OGNiNUU0YzFhNzAzYUEwMjFkOUY1MzEyIiwiMHhlNjg3RERFMzY1NWI0QzE3MDZBM0ViZWE4ODQ3MzQ4YzRkMWI3NmJEIiwiMHg0MDk3REI1MTFGNDI3ZUQ2MWIwNEViNjQ2MzYwRUMwOTY3ZTNBM0NmIiwiMHhhRGMyQ0FCNDM5QTA0YTE5ZDA5MEEzODQ5ZWQ2NGY1NTEzQkE5ZjhhIiwiMHhmZTdkYzMwOTRkMDBhMzVjQ2YwNjc0MTU2MDYyRDliYjhiRkU4ZDhBIiwiMHg3OTZjYjEzMTBFQWUzNDhhOGExNUJCNDg1YjIzQWFEMTJBRTU5QjYzIiwiMHgwZWE3NEI2MjM4M0QxNDZCNWU1M2Y3QmJBNTI0N2JhOTU4ZTQ4QTA0IiwiMHhmRDUwOTdGMDc2RjFDQjYzNEExNERBRDQ1REY0ZTk1YkYwOEVGZEQ1IiwiMHhFZjJhQzkxQTY5QzZiQTc5ZDI0MEUxMzBmNjZkZGU5NThGNjA3YkY2IiwiMHg1MDRDNEFEMjdiMTMzMzE4OTczMjQ1MkMzMDQzN0FjNTRDRThhNTY5IiwiMHhlYTQwMTk4MGJiYUVDMTkzODZmNTcxY2UxMUFDMjYwMUE2OTJlNmE3IiwiMHhlNjUzMjk1RDE0MURlNEZmRjgyMzQ5NDUzOEE5RjNFNzNEZjdCYUY1IiwiMHg0OTAyNzU5MmY2YTUxNmNFRjg5ZUViMzY5ZEVDMEZmZjgxRDFDNGQzIiwiMHg3QTBEOGEzZDM0OTU2REY5QzJhYzEyMjVlMTMwOUJkNjJFNzRFMDE4IiwiMHhmMTAxREI4ODBCRTljMDExZWFFNUE0QUFjNDMyMTk0QzkzYjRhQmYwIiwiMHhhNDAyMmQ1ZkI0M0NGMTRkNUNjQzg2QjFlRkY2YTFEZUZmOGYyMUNjIiwiMHhCMzUwNUI0OGIwNzMxNjc1NWRjZDUwODE0ZDlkZGU1MDdkODk4NzNkIiwiMHgyRDQ1ODE5NDg3RjNDMEZCM2I4QUM4Mjg3MTc2NzMwRThBMjkzRmEzIiwiMHhBMkYyMDA5MDQ2MDNDNzZCQTgyRDdmM2RDRDlkNTUyQTQxNjVlREMzIiwiMHgzNDg1MmMwM2UxMzU5RmMyQUQyNEYyNEViNDI5RTMwOTA3OTYyYjIzIiwiMHhmM0E4MTEwYTE3NzE5MDNlYTk0OTU0MzA0MzEwM0UzMjQxRkVkODg5IiwiMHg1NWM3YzY1NjlGNTNENGE0RTE5ODYwMkVDODRjNERGYzdjNjA1MDU4IiwiMHg0ZTI5YTMzMjgwNkFGYTA3REQyYzU5M0RkRmJBYjNBQjJFMTE2NjRiIiwiMHg2OTY2ODIwMzQ3ZDRjNTU1YzRBOGU0ZjlEZjAyZDNBOTJFNGM0NDZBIiwiMHgyMzlmYjUxMEQ0ZDM4MDdGOTFEMTdjQjJiNUJDRGVjZUYzYWIzNDJmIiwiMHgxMGUxN2ZjMWE0Njk0MzQzY0IzNzhFOTE4QkRmRjMxMTYwMUY5N2Y2IiwiMHgyOEU1NkYzYjM4MDA2NGY0REJBOTg2ZTM5QWZFQUNhYUYwNDM2MzYwIiwiMHhBY2NFYzBDNUQwN2Q4QmQzZGJhMDczOEYxNTIxNjkxYjk4NzYyOEM3IiwiMHg1NUI4ZTYzNkI0NzUyYjBlREZCMDY0NzUyNkZlNDU3NjViZTQ3NzcxIiwiMHg0NDM4RDI3NjY4QThCYTUyNGJFNDBBMDY5NDI4NjZiN0ZjZDlGNjNhIiwiMHgzNzYwYWM0OGZkNWYzMjQ2NmIyMmQzZjc1NEM2OURFMWYwM2YwQzcyIiwiMHhDMjVlYzE3Mjg3OTNlMzllODI2RTZhMjVCODQwMzMzNjRhOTFjQTE3IiwiMHhkQ2Y3M0UyZmMzNDhDZERlN2Q3MkFFOWRkOTI0Y0Y1YTUyNzA1NTY3IiwiMHg3ZjdGRTEyRUJFQzk4MEI4MTNCZjkzNTJENjFiYTc4NURCNTFFODAwIiwiMHg0MkQyOTQzYWMxOWExMmZDZENFMTdkZWRmZkUzOTk3Zjk3MjQ4NDI1IiwiMHg1NDgyZTVDRkU4NzNDMjk5YTdEMzMwNjdCQmQzQjA1OTAyNzQ5OTA0IiwiMHg4OTFiOGJhZDAyMzI5MjFhQ0U2QjQ4NWREZWRhZTlhQkI5RDg3NzU4IiwiMHhmOUREM0U1NEQ1MzFBZThBNjEzN2ZDM0QzODNFNjFGMEE4M0RjQzc4IiwiMHg3YkJCNWEyNjU0NDdDODkwMjIxNjMxZTRmN0QxYmI5RGVhMTBiQTkyIiwiMHhENTAzRkNhRjAzM0M3OTQ0ZDA5RGNFRGFGNzBhMTNGNEQxM2M5M0MzIiwiMHgzMzE3OWQ1YjljNTI1NDEzN2Y0OWI5QTcxODI1ZmFFNkJkMUE2OTRjIiwiMHgyNjM5RjA4RTkyNjFmODg5OWEwOTBGQjMzNzgzNjRiOURjZTI0YjBBIiwiMHhkMThhZWEzNjU1N0FkRTk1ZDIzRmIwNTFiNjg0NDNkZDk5QjFCNjYzIiwiMHgyNDZiQ0IxNUVDOTdmMjIyNDU0MTYyMmE2OTE5ODI0MzA1NzdmMjljIiwiMHhlZTM5YTU4QzExYjU0NDhFOThCNzdmNTJDNGEyYTIwZUQ3MjEwNjk3IiwiMHgzMEU2M2MxNjgwY2MzNGI2NjIyOWEzNEVCNmNjMjg5NjdERDkyOGM5IiwiMHhjOTMwN0Y0MjNkMzNhMWQ2MkUyZTcxMzAwMzAzMzk1MzhGOGMyNzdkIiwiMHhiOWM3MzRiOTQxQzMzM0U3MTQyMzU1QTA1YjU0ZGFFMGY2RUY2YWRiIiwiMHg3ODBmZUEwZWExMDgxRTg3Mjc5N2Y1Nzg4ODk0NTg0MjlhRjYyMGJmIiwiMHhlODc5ZjM4ZDNEQkYzMTdmMTg5NkY2Yjc1MDI2M0U4QjUwNjliYTlDIiwiMHgwQ2YxRkE3NTZjN2VjODVjQTQxYkQyM0U4NkM5MWRCMUZBNkMxODhGIiwiMHg0MjEwNTllQzFEQ2FlNDRkOTgwRjM4NWI4NTIyNTg0MjQ5NDNlNWY3IiwiMHgzNDQ4OUJEMUMwRmZiZDgwODE3NzliMWI5MDM0QUE1OWRiMTBBNDAwIiwiMHgyNmE0OWQ0Y0U2MzFmNTFlNTk0ODEwYTU3MzU3YjgzYTlGMDI4OTg0IiwiMHgzRTVjM0JiZTIzYWJFNDg2MWQ1Y0M5MDY2NWMzMGU5ODQ4MjEwMEE2IiwiMHhhRWQ1QWY0NzA4MThDMWQ4NzU2NjU5Mzk3MzYwZGE0OTg4Y0YyQmYzIiwiMHg4N0U4Mjc4RTVDMmViYWUwOTZDNzE4MGQ2RjkwRTQwN0M3MDI2NDQ1IiwiMHg3YzI5YkIxZDA3NGM1YjhCQWVFYkZhOTJlN0Q1MkI1NzIzYzZmMjY2IiwiMHgzNjcyODIxZDE0MEZkRTREMDBkNjZCMTkxYUQ4OGI0Y0QxMTkwOTk2IiwiMHhCN0E4MTg1QzM4ZWJhRjdjYWZFMjhEZEMyMzRGMTgzMEQ4MjdjNWQ4IiwiMHhhNzdlOEQ0YWNCODU4Q0YyNTY3MWNhOTg1ODlFMjdjNzJBODUzNkE5IiwiMHgzZTk4OTVmZUU1Q2Y5NjNBMzZCMzZmNTBGRTc4NTYxRDk0NTQzODY4IiwiMHg3ZThGZjQ3OEJlNTU0RDY0NzA3MDJiQmVjMmE1NWQ3Yjg0MjQyODIzIiwiMHg0ZmExOUYwMkVhYzQ2NDBjYjViRkRkOTlCZUM3OTAxY0M4N2NlYjAyIiwiMHhjMGQ5NGQzQTAxMzQ0OTdjMDU2RjJiMGVCMzQ3NmJmN2Q5Yzk4NUNFIiwiMHhGZWZlMWZiMjVDZmNlRkZGNDlkNTFEZTYxRDRkQUVGNkVhZjM1QUY5IiwiMHhjYzA2QThGMjk5RGYyNDU3OEI2ZjJEMTQyNjEwYjg0YmJGODdDMzMxIiwiMHhhNDU2MTBlM2Q4MzU2NmJlNTQ2NkQzQzYyZTg0ZTVFMEU1YzMyODdkIiwiMHgzRjFBMmYzNTdCMkZGYmI1MTE1MjExQzZjNjk0NjNFNzRDOEI3NENlIiwiMHg1YzYzRTlFQjdlNkIxNjk0MDJkNTU0OWZkRTUyRDhiNDU1RjFiNTNBIiwiMHg3MjRkNWM5YzYxOEEyMTUyZTk5YTQ1NjQ5YTNCOGNmMTk4MzIxZjQ2IiwiMHg2RTA0MGI3MjdkZWU1MUY4ZDQ1Nzg1ODNlODAzZDJGYTYyNzI4MjhDIiwiMHgzMzRkODQwNUY0OTAzMmE4NDk1Qzk1M0E4RDgxNTIwODNDOTk2NWU3IiwiMHgxZTUxZDlENzcxNGMyMkY2NDk2RTI1NEI0NDUxMGU5MTg2MWM3Q0RFIiwiMHhDNTU5NTM0RDUwZEJCRDQyRTIzRDVkNGU0OEZjMDQ2QzFFNzI1YkVFIiwiMHgxNTBiZmM4MUU2NUM2YkI4NWVFYmI4Q0U5QkZCMmUxNDg4MDU2ODQ4IiwiMHgxN0EyQzNFZjQ4RDFjMUU4RjM0ZTNFZjg5MDhGMTBBQzQzNDk0Q2E4IiwiMHgxOGJhZTVBNDgxNWMzOTlmNjlmMzIyMTEyNTk4NDlDNzJGRDYwMzlmIiwiMHhkNWZCNjY5ZEI4Rjg1QzJiRTM5MWFERUZGRTdFOEM3ODE5OTU3OTViIiwiMHgwMzgxYjk0MDZFOWIzQjI1NUI5MTc5Qjg5M2M1YmQ1MjZjOTg0RjcxIiwiMHgzMzQ0NmQ4NGMxNEYwN0NEOGE3RGRmODkzNUQ1ZDhlQmE1MTYwNGQwIiwiMHhERTY3ODhhMzg3N2I0RUM5MTdBNmY2QkNBOTI0YTIzNUFkMTM5NTFGIiwiMHgxNmU2QjlkRmQ3RmMyNGVGZEEwMUZmOTFGYkI2ODkzM2E5Q2MyODgwIiwiMHgyMkREMmI4OTg1YTkyODgzNDFhRjEyNjViN0E5NUQwMGU2ZDIxMjZFIiwiMHg1MjhkMmViN2NBMmJiNmNiM0M3RTk4MWQ4RTA4YjM3Nzg2ZUJBNzdhIiwiMHhDYTlDN0E2RjdmNkNmQzgxN0FFODExMjFlNjRkMDE0MzIxMWYwMjM0IiwiMHg0NkQ0OTNhZTdhMUE4RTIyNUM0QmRmZDlmNDg5NzcwMEIzMjM5MTFGIiwiMHg0MzllZDI1OTU5OUJDNDExYTk4ODVjNzFGNDBDM0NhYWFhNzk2REExIiwiMHhhYjk1ODc0OWQxRjExMmMyYTc4QjdjOUNEN2IxOTE5NkVjNDdGNTU5IiwiMHhGYTEyMTA2QTZkMjZlMjMzNGM4OGEzRkZkYTdkQjU2OWU2NjA1OWYzIiwiMHhBNzNGNTU0MTZhNDM0MkY4Nzc4RGM2NkFhZkMzQ0M2ZjVhYmU4RTFBIiwiMHg4NDMyNGU4MzQyNjEwM0I0ODZmZWY2MTEyZjZjRmU5RDhmMDU3OThlIiwiMHgzNkI1NTg0QzEyMWFCOTU5NTQyRTU5MEJmMGYxMDE4YjAzQWQ5NkY1IiwiMHgzOUI5OWJiOTU4QWNBNDc4NjExYTUxNzFGMDdBYTJEODc4QkQ3MUYzIiwiMHhDY2JlMmM0MDBCOWUzMGUyMjc5MEMyMjkyNTBlNzg5MDRmNDNEOTJmIiwiMHgzQzMxNTkxOEE0YTQ3NmM2NzM5NEZDQ2RENGRDRDUwMkYzYjJGMDQ5IiwiMHg0Yzc4NTQyRDE5NzE3ODE3MDQ4NzZjM2MyN2ZlYmQxMzE1ZEVhODk0IiwiMHhiMTFCOTY2RjEzYkIwYTZFY0YyRUQ4NWUyQUFENTI0RTY3MGNDOUJBIiwiMHgxNTYyQUJGM0JjYUIxNjc2NTgxQjI4YzY1MjUzODhiYzBiQTQ5MzdBIiwiMHg5NjFlQjE2NDUzNTUyOTdiNUVFNkU2QzYwYkE5RTcyNTA1ZTU1MGY4IiwiMHg4MURENTIzRDgxM2RFNDFFNzU2MzU4MzdBZWIyODZmNWRjYURjMThBIiwiMHg3ZDhCNDk2RWRFOEFlOGMzN2EyY2RmMzdmMmZlN2Q4NGNGN0Y0QTgwIiwiMHg5ZTY2MDhFQjdDMDk5MzkwQjg0ZkFmNWVEQmVCMzA4N0M4Q2FkMzRGIiwiMHg1Y0Q1OTA3NjMxYzQwNkNCYzk4YTIxODBhRjE0NTBiMUUyMUY2MzU5IiwiMHg1Mjc1MjdFMDlmMjNmQWU4MDZmRWRhZmIxZjFhY0ZDQTFEYTMyNTc0IiwiMHg1QUYwMjc0MGVDNmE1OTg0QkZFOEI2QjBkRDUxNDkyRTc2RjVDQWI1IiwiMHhCRjRiYjkwMTkyN2IzQjU5OGFFZENDNzQwNmVGQTIxNmMwMzM1NzE0IiwiMHg4NTFjMzA2MDEyRDQ4NzE3ZTI3NzllZjI4QjZENWNiRjc0NTNkYUQ0IiwiMHg4MTcyQWIzOWQ2OWYyMjViOEYzNDkyM2M0ZDhkOTk5NTU4NjU0MjAzIiwiMHg3YjAzNTk0NzQ0NjY4N0I1ZkZCOTEwNjE5ZmQyRDcyNjA2QkU0YTBEIiwiMHg1MDAzN2MyMEJCOTA2MzVGNjJGQ0JGMDhkQzUxMjA2OUZFZjdkOUU5IiwiMHhBNGMyOWRkNjU5ZkI3NUQ1ZkI5ZDBGMTI0MDk2ODIzMzMxMjRDOURDIiwiMHg0M2JiNERjY0Y3QWFCM0NCQjA0NjQ0NDUxMTUxODkxNjFFRmE3MWIwIiwiMHhCN0MzRTEyOTMzRjMxQWNkMTI3Y2JFYjYzNTk3NDYyNjM1NGI0ZDY1IiwiMHhiZTJmM0Q0RTkwODkwNjk4MzZiODk2RTRDODU3NTRFNDU5QjE0RjA1IiwiMHgwZDYwOTI4MjU0RGM0RTE0QmY3MzUwRTIxMDRmZDE4YjkxOGQ5MWU4IiwiMHgzNTYwYmYzRmVFMEUwMTE5NzQzMkZjMERDN0VDODI5QzNmZkVBN2U5IiwiMHg3NjMzM0IzODU2N2Y3ODI0MEQ2Mjc2RTViMzk4NUJBYTZGYTVGZGE1IiwiMHg1M2RDMTA5Q0E3RTQ5YTkzODVFN0RjMjYwQzYwQzlFNkM4NkZDYjI4IiwiMHhCZTEzOEVFNzhERDI2OWMzQWIzNWIyNTc2MTFFMDQ3QjA1QjNCMkQxIiwiMHg2NUVkMWM4QTgzMTQ4OGNEZGJjMjAwYTM3OGJjMjk1QTJlNTBkNDczIiwiMHgyODkyNDRkRDE0ZjhBOTMzMkUzNDFjNDI2NGM1QzQ3MjE4YmJhNjYyIiwiMHg4Q0ZEOTRkNWYwMzUzZDUwN0YwODc0MzQ3NzE5N2RiMTIxRThjNzQxIiwiMHgzZTVlNzhCN2UzN2NCMTNBNGQ1N0MxN0M1QTAxOTYwYzc0NUFDYzhlIiwiMHg0MzFDN0JiN2EzMUE2ODZGY0Y3YjAxMmIyZTdiNGI4Mjc1YWNhQzQ0IiwiMHg3OEJkYTdhMTRkMzFDNUM4NDVFMGI4RTlFOUU0QjExOUU3NjkxNzIzIiwiMHhiQTNBMEE5QUUzM0IyRDE3OWQ5MzIxQzljNjUzOUI4ZUMyMjUzRjA5IiwiMHg4MDQ1MDdkRTRlNWE4ODBEOUNiMTRkQjNlNzRFNjU4ZkNEMGYyNjAzIiwiMHgyQjI3QzVlODZlNzk0ZjE4QzU2YUE5ZTFBMTc5MEQ1NWRFQjVjM2YwIiwiMHg4ZEE4MUFmRUE3OTg2Njk4NzcyYTYxMWJGMzc1MDEyMzZkNDQzNTI4IiwiMHhmMjQ4MkYwOWY1NDEyNWEzNjU5Rjc4OENmNzQzNmFmMDc1M2Q5NjlmIiwiMHg0NmNhNzExZEIwQ2I2NjBCYjkzQWY0NjQzMkUxQTU1OWRFOUZiRTdBIiwiMHgzZjQxNGRmZjYyQUM2MzE1NWMxODAzQWRCNWU3QzAyOTMxZTczYzE2IiwiMHgxNzliRTZmMGMyY2IxNTU4QzhDNTk1OGIyN0M3ZDA5NTFGNTQ2RUNGIiwiMHgxRDcwNEJGMjZkREU2N2ZGRUU5NDk4NzYzRTM3MGQxMEJFNEQxMjIxIiwiMHhmYWQxRDcwMDgxMjU2NTdEMWYwMUJBNWE2QWZGN0RBRDFhYTE0REU3IiwiMHhGNGFGZTVmMUZBM0M4Y2Q0Nzg2OEE2OTM4MzRmOGRFZEI2OTJkOTAwIiwiMHg4NWQ1NzlCNTkzMTIwNUE2ODg2RDAxMjc1OTYyRUYwMUE3YWNGMDdhIiwiMHhmYkQxMjZhOTkxZTY4NjJCMzU5MGZhNGFjZUNjZWEwOTZDQTJjQTY2IiwiMHhiMzU0ODdBQzE4M2Y4MUUzOTkyNWNjYURjZkIzMEIzZmQxMDE5ZWMwIiwiMHhiMjQwOTkzRWYzYjIzODMyOUU5MWNDYTU2RDMwNjM4NGU4MDk3NWYyIiwiMHg0MTYxRmE0M2VhQTFBYzM4ODJhZWVEMTJDNUZDMDUyNDllNTMzZTY3IiwiMHg0MmUwRTU0MEExOWQxMTZhNDE3MTVGQTA3RjM2RmE5YjY4QUIxNTA4IiwiMHg5QkE4MzFCQzBCMjdCMWQ2YkREMkE0YTg3QTQzOTZkRjhkMGE4ZDI2IiwiMHhhMUM4Y0IzMEMxMTMyODFCOEU2YjZiRDhkMGUzYjk4MjdCOEI0NDg4IiwiMHhiYzA0Y0NlZDJGMUNhQ0UzNDVFRkRmZTlEOEZlQTJEMjhGMUU2ODdCIiwiMHhCMDA5YUM0RjBCQTRmNEJENUY3NjM0NDRGRjY4OWZiNTM4RjM2OEY5IiwiMHhGNDc3NzM1M0I5ZUQ3N0Y3ZjA3NDY5OEY1NUNFNDZhOUQ5YkE2RUVDIiwiMHgxRmIzNjk1YjNhNjM2MDYxRUQ1NDAxNjEzNjI2QmZlZjJhZTE5ZkI3IiwiMHhiOThmRDA5NzE2MEEwZkU2OEVkQjhFYzg4MDFFZDMwMkZFMDVkYTgwIiwiMHhkNTZjMTAyNkQ3NjQ4N0IyMjU5OWUzOTFmNjY4YzYyN2ZCOTk2YmY4IiwiMHhiNDg3NWQ5NkRhNjYxNDI2MjQwMzcwYUViQjE2MzlENDA1YWVGOTQ5IiwiMHgzNUFDMzZFMkI2ZGY5NjQ1QTY5NGU5RTRlMTdFOTdjNzBBNjgzQzZhIiwiMHhFYzU0MkIyOWY4MmVCODJBMTFhMjU5M0U4NUM2MTQ2RGE5Q2RjZGU3IiwiMHhDYzA4OEMzNUE4OGQ0NjdEMzM0Y2IzMDhhOTY2YmQyQjI5RkI1Y2RDIiwiMHhCNTg2MjdCYmIyMjZGM0I3YzU1ODEwOTcwNmE0OWRBOGM3ZTBCMEI0IiwiMHgxYzEyRUFBQjkxOGNlOTRENzA1NzFBNkZkMTQyMjQxYjYzNmQxRDJkIiwiMHg1ZkM5NDE3YTVDYjExMjNGZjZEZTM2MzdmNUJEZWFGNjk4YjU2MjNhIiwiMHg4MzQ4MTg4MjdCY2MyQzQyMTM3NzZkODNDMjREZWE5NzY3M0VFODYxIiwiMHg2NUYyMTBkNzNFQTJjZGJCMmFkMTA0ZDkxMkE3OEIwNzVhNzczMGY5IiwiMHg4MjY4N0Y0OUE5RTRGZjRGZDdDQjczNjhmMDIyOTcyRDQ2QzIwNDY4IiwiMHhlYTM3RTAyMmMwMThiM0JCMjhDYzQ0NzE1MmY5MjM5M2NGNjFENjk5IiwiMHhhMjhiRmRlNDdBNjBDQzU4NjVmODAzNEM0RTMyNDNBNzVDMDc3MzMzIiwiMHhjMDgzNTE2NkRiZmJiN2Y2Rjc2NUJmYTM4ZTJCYWZBRTFmNWFmNTdGIiwiMHhjZkZFZTZjYzA2ZWFjRDZmNDUwMDAwMkE4NjVDZDM1QzkxOTgwYjY1IiwiMHg0ODREM0M1MUMwMTgyOWVENjlmMjlEYzJlNUVhZjMyN2MxQjIzNjlFIiwiMHhEMkVFRTQ4NWNFMDJFRWY3MjU5RTU4YzIwMzYyQTNhM0EwNDBFZDgzIiwiMHg4NkRENEQxYmE3ZkIzYTRhYzVhY2U0ZkE4ZEE1ODdCOTYzN2EyMWM2IiwiMHgyMDU3MmM4NDQwNWY4QzRFQzY3MkU3MGEwRDI5NEUwOGE4RmFBOEM4IiwiMHgzNzU1ODRhZEU4NDdFMTczMjZGNzY2NzQxZDRkODNhNEE4OTAzMEVEIiwiMHhGOEVhMDU5NzU5NkExMDUyNUNCMzkxNThmMURFOWNCYzUwZmU4MTMyIiwiMHhDM0FERTAzMzM5MDA4RTRDNkVmODk4MmFiNzRmMDg2MzY2MEE1M2JlIiwiMHhCYUNjMzc2NTA5QUI0ODA4MGUzMzEwRkIyMDRGNThCRjRGYTg0Q0I2IiwiMHhFMGNjODMwQkIwMDYwQ2Q0MDM5MDk2NWY2ZWY5NWY0NzFmNDI1ZDhjIiwiMHhkZUJhNkI1OTgxMzYzNzgyNGU1OWU4REU2N0QzN2E3MzI4RjJlOTQ0IiwiMHhkRDZkZjdGN2QwNTI3MTYyMkUxMjNDRDcwRjQ4YzUyQTdBNjBCNGYxIiwiMHg5OTk4NkUxQjI4MjY3MzM4QUY5NkI4MTIwMUY1ZWQ0RDg0ZjJkODUyIiwiMHhDNTBGRjFBMGYxNTc2RUQwMUFCRjZjOWM1MjFhODA4REE2MjJGQ0Q2IiwiMHg3MjBiQjUyNmM1RjlBMmNhNkMxM0FFRTJFMTFkYWVlMUREODBhYkIwIiwiMHg3YjYwRWIzMWI2YjJGOWQ4NTcxNWRkNzllYjViRjI0QWI3OWE2ZTE2IiwiMHhhMDE5MGIxNjk3RGZmQ0JjRkVDQ2M2ZmZFYTJmZTFiYjAzNmNjZTI1IiwiMHg5RUYyNEEwOTAxRjUxMGI3MzNjRTMzN2E0NGQ1MjY1QWE5QTQ1NmNGIiwiMHgyMGIyZWYxOTczMDJiRTM1QzRDMDhmNDY2YTY0NmU1ZEE3NUE4NkUzIiwiMHg5RThmZWU5MUZmY2RjRUNjNzExZjgwNzk2OWY1NzcwNmU2MTQ3RkYwIiwiMHg5OTRhNTgyZTlBZkU0RDk3NWMwZGM2N0NhMDFjMmZmZTFkNzUwYTc0IiwiMHhDRkExMWExODQ1Njc5RGUwQTYxODUwYjg3MTYxQ0IxNjY0MUM0YTY5IiwiMHgxZDNiZDNFNDAwQmEzNTdBNTQyNjREOTVFMEU5RjU5NzcxRmQ0Mjk5IiwiMHg2NTZhRmU4YjNjM0UwNTNiODZlZDlFNDI0NDM4ZTIzN0Y3MDM1YjNkIiwiMHgzZUUwOTI1QWJGNzFhMGMzMjBBRGFGNzhiMTI3NzRiZTczODA5RjM0IiwiMHgwQUU2MjdiRjlEMzE0M0JGQTJhZjM1ZjU5N0UxQTM2NTJlNUMzNDAwIiwiMHg0MEU5RTcwYWU5ODYzMTYwMTg5NjFlQTE4MjRlOGU0Mzk4MTEyNTVkIiwiMHhjMGNiRDJlMkQ4NDYxZTRDNTk2NGVlMjI0OGQwOWRiZEU2MjA5MTQ5IiwiMHhkNzgzRkVlZDJEQUE0MWY0ZDYyNEJjMjQ2MmE4NzAwMmM2NWM1ZDZBIiwiMHhEODNlZTg1NGIyQTY4YzllMjQ3OTU5OUFmZWNlMkE5NzRlNzg3Njc1IiwiMHgwOTRFYjhDM2IzNjc0Q0E3ODQ0MzdBRDkzMDEyMkJiYzEzMzIzMmJlIiwiMHhFNzY3NTUyNDlhQ2VEOTIyQTcxYUY1NjA4YzdFYmQ5NDQyZUM2MmM2IiwiMHhENjM3N0I1YjJCMjA2RDU5QjBiNzg3YTc4RTI0RTRhRTBkYzI4NzgxIiwiMHg0NzUwNDg0Q2U3MkNhREZBQzAzNjk5NDZBOUQ4NjI4RDA0Q0ZFODQ4IiwiMHhFNDVmODY1ZmVkN2M4QzVENDU3NGE0MjQwYjk1RGMxRTQ5M2E4NzFEIiwiMHg0QjNEQ2RjNjhCMmUwZmIwYTdFOTJiNjFERTkwMDA4Njk3NzJBNGNGIiwiMHhhYzVBMzIwYzc2NjFiZUUyZkE0QURDOTUwNkQwQzk3NWIyMDFGM2I2IiwiMHhmNUU5NTQ5NkQ5ZDJEZTE2NjQyNmI4QTg0N2MzODVCNEQ0NTZENTFEIiwiMHhkMEI4YTlhREFmNjU3Yzc2NWY2ODBlOTc4NzMwMDk3ZmNCOWRGYkFlIiwiMHhFMjFlMDdmMzUzOThBRGYzYkE4NDlmOENlMTk4NjczNWM4NzhCQjUzIiwiMHhmODdjN0JEOThjNDg1NjFkNjVEMTNGRjYyRDU3ZTBhZTFiRjBhYzJCIiwiMHg2MTYzZUFiODg1MDExNzM4QkYwRmVGRkMxRGY0YkFjOUNjMjE0NTlCIiwiMHhGMjRhODgzMjQyMkVBQjA0NTUzOUE2QmI3MUNjOTZmQ0VlMUREOTczIiwiMHgzMjNhQ2ZiNjY2NzFhYWM2MjA5Njg1RDU5MjBGMzJGNTJBN0JkMjFEIiwiMHhDMTM5RDg0NTAxNzdDMEI4YzM3ODg2MDg1MTg2ODdiNTg1ZjdBZTVhIiwiMHgzMkY2NDA1ZUY4MDEzN0M1RTIzYkQ4M2YyNThkMGNFM2NFMDdGNThlIiwiMHgwOWYxODFlNDE2RWU4MDAzNDRiNzgyRDVCOTM4YWIxOTNEMDMwMzI2IiwiMHhGNWFFNGI4MDE3ZkRkODFkNUVFMjUxMzJkNmJiY2Q3NTQ0MkJFOTBBIiwiMHg0ZDIxN0RhNTdBNzZEYjgzODgzODZFOWFiMTAzQUZmRDY0RDBGNDZhIiwiMHg1QTVlMDM5RUE2NTUxY0UxQTJFNjYzMEVFMTFDM0JiYTY2NzY3MmU4IiwiMHgyZGMwNDk2ZjY3OGZjRDg4OTJFYzE0Y0ExNTkwQjBkYjU5NzE4YzVDIiwiMHg3RjE4NUU2M2Q3NzE4ZGU4NWNkMTg2NDBFQTEzMTYwMjgxODAyRGMyIiwiMHgzRDg2NDU0NDQ4RkIzM0JmRGRGRDEzNzJkMTM5MmMyZmNFMEVhRkNDIiwiMHhmNTEzMjBjMTdFZEZiZEE4Nzg1NTZiRTFCNTVlM2JiMzQyOTgzNjQ3IiwiMHgwNjI2RWFDQkZCM0Y0MTdiMjlhNjkzNzJiY2QzMzBjMmE1MThGMTQ0IiwiMHhmNzdCZjI4M0RCNUFCOTJiMzUzQjg4OTMzYkQ3OTRhMTMwNUEwNWRhIiwiMHhmYzQ3NzBBNkJENzUzNUE3ZjVCMWZlOEVhRWI2OERmNDQ5NzJjNzZhIiwiMHg4MTNiOTkxZDk4RDEwMzZhZTA1QUJFOThDMDY4RUJEQzVkNmExYjEzIiwiMHhGMTBkNTM4NjNkRkQwN2Q0MzRmQjJiNmVlOENhZEFhRjBlMkNDNEQ4IiwiMHg0YzFCYzYwNDE5NjVEMDAxMGQzYmQ4MEIzNjQxNTRmNzQzMjc3RjUzIiwiMHgxYzU3YjA0OEY0MjZCM0M3QWVmODU1MzYxZTRGMDk4Qjc3MDAyM0E3IiwiMHhjMmVkNzg3Yjk2NWVmRjY2QWYwNjFGMzUzNzA3MTY2ODFhNmU4NDJkIiwiMHg4MzM3NTMxMDU1MUJGQjg4NDQ4MkIxODg5MzAwOEVCMDEyYkZkODJCIiwiMHg0MjBFYkJDMTk0ZkU4OWE1MkUxMDE3NmQ1ZDNiMjQ0NDI5YWNCMDhCIiwiMHg3RkYxMEUzZjUwNWE4MUZhN0MxODU4MGU1OEU2MmNBOEYyZTY5MDk0IiwiMHgwMUZlNTYxODAwQWFjRURCNDJlMGZkRUZhOTRlOTg1MTA3MjgwRjRFIiwiMHg5OTVEOWI0OUFkRkIxZkU0RDg0RDg1OTExNGY5ZUJGZDYyNzU5NTkxIiwiMHhjNTY2REQ4OTRkRkNlNjE5ODkyYUNFRGJCQmM3RjI0NDEzQzUxNzEyIiwiMHhGNEY0NDZEMjhEOTJGMDBFQkI4NTlDRjQ4MTI5OWI0M0Q1YTczNTdBIiwiMHhBMTZjNjA5NThGRENDNEFFOGM5RDQ3QzNEYjY0MzUxOGU3QWRhNWQxIiwiMHhFM0ZmYUI4OUU1MzQyMmY0NjhCRTk1NUU3MDExOTMyRWZFODBhQTI2IiwiMHg4MjEwYmYwYjNEZWYyNkI5ODhGOGMwRDg2ZWFENTYzQjcyNWM5ZDgzIiwiMHhFM2VGZGM5MUY0OEZkZWFBRjBjMzhiQkIyQjE1MjlGNjFBMDVmOEVGIiwiMHhmNjZlODdmMGZCZWQ4MTI0RUVDNDBiNzI2MkYxQzM1ZDg4NDM4MkZjIiwiMHg5QjgyODhBOTJDOEVEOWJGMUIxMTkyM2E3N2Q5NzA1ZGEyNzgyODg4IiwiMHhiMDRDOTFhODFDY2QzMjQwQUMwNDUzMTZBMDIwQTRCMTg4MkUxYmI1IiwiMHg0QkRhRjM4MzAzYWM5YkVBMTY4MGFhOTVkZjZmNDk3QzM5MkFkZjcyIiwiMHhCOEMxN0RjNmRhNDQxNDZlOEU4OEMxOTRhQkNjRjYyOTU0MDcwOTEzIiwiMHg5NjBBMkIxRWI1YmIwQ0E1N2ZDMzA2M2FkMkZhMmY5RTM0RjFlMzZmIiwiMHg2NjkyNDY1MEZBRTIwOTc3Y0ZjQkRBYkQ5NDQ4ZGU5MGFEMzYwRTcxIiwiMHhFODgxM2JCZDVhMWJkMTk3QjY2NmI0ODVGNENkMGQ1NTUzM0UyQzEwIiwiMHg5RkUzMDQ0ODFFNjVEQzE1MURFM2MxM2I2NGU4MTNDMTYxNDBGRTU5IiwiMHhmOGI0MTFCMDc3MDczQTREMDBFMTQ0OWNlQjNEZjZFOTY4YjQ3MjE5IiwiMHg2ZUY2MDI1NTA1QWQyMjYxNmQ4NGViOUI5ZDY2MjMxMjA5NTAyOUUwIiwiMHg0NTkxYTEwNzNhREU5NzFjRUEyOTAyYTJGNjQ3RjlDRTAxZTg3MjhjIiwiMHhmN0JFQzkwMEU5YzgxOTkxNjczNGNFZGI1MjkwQTYxRTQzMTQyRDM4IiwiMHhhRWMxNkM4MEQ0NjUwQmNGYjE1Q2JmZGFjNUNDMzlmNTUzM2I2NWY5IiwiMHhhQUM3ODY3Mzg1ZENBY0Q4ZGVkODVEZjBCN0RkQTA0OGFhM2EzNEJCIiwiMHg3NTc1QzFFOTNjOTA5QjM4ZDU1MjhjOTI2MzhBMDc3QzUzMDA0OTIyIiwiMHg1Mzk4QjNiMDIxNjI5QjM4ODc2RUJFN2ViN0FjYmE0M0JiM2Q2M2NlIiwiMHhkZjFCRTNCOGEzZWYxZUQ2QjRBMjYzNTlEZkJFQzFCNTVBNTMxRmJCIiwiMHg4Qzc0QzNFRWQyQzJCZjM5MjA3ZDRFMkUzQ0VlMDhCZjY5OUQ3MWYyIiwiMHgyNzkwNWIyOTVDRjgyNEREYzk5NzRkMkI4NzNhQzNiQWI0ZjE1YTBEIiwiMHgwYjkyNjc5N0I0OEIxQjY1OWRDODEyNGQ0MWM3MkE2YzIzNDEyQjU4IiwiMHg3M0MwMkIyMThiODk3RGFkY0Y5RDEwYjJCMmNhQURhYzA0ZTAxODU3IiwiMHg5NDk4OEI1RWQ5Y0M1MDBhMkU2ZmFhNDVCYTFFZjJCZWNjMmE4NTYwIiwiMHg5M2QyNzA3RTczYjRmMDk2YzI3NDkyOWJCMkU0ZjYzMUM3RTYxNTAyIiwiMHgzRURBQkNFNjUwQjNjMUNkNDQ5M2QzY0Q1NjhlNzJDMGJkZjUwMjI3IiwiMHhCMjVCOTExRWI0NDhmYzQzOTg0MzFDOEVBNzFDNjM4NjREN2E4M0U4IiwiMHhFN0I2NDA4YzBiMDI5MjE3MkNEZGQ0Q0QwMzJGQkEyZDg2YTdBMGZkIiwiMHhiOERiQjM5Qzc5OWM5MDg0QjNCNmJkZTFDMDRlZEQ1NGRFMDYwNTYyIiwiMHhkNDM5ZjhiZWRCOGYyZDBiZUIwMUZhYzlmYTZDMTlmNWE4Q2U2NDVmIiwiMHg0MkJkZjRCNzc0ZGZhN0UxRTM4MWZjNjRCZkI4NWIzYjNCODk1ZkIzIiwiMHhCOTUzMjEwMTk5ODAwOEE0MjEyYTQ3QjA4ZDk1ZEFlNDRENjgzZjE3IiwiMHgwMzEzYjExNTg3NzIyNUEyNDA2OEZFMzAxNDlGRGUzYWQ2MDlDNzFDIiwiMHg3QTY4ZjQ1QzUwNDI2NjczMzc0NDcyN2YwM0RkOUIwNDc1NjI4N2RjIiwiMHgwNTFFYjREZmMxOTBhNzNlY2NlOTk0QTYwNDRkYTU3ODI5MDAxMkMwIiwiMHg5MDAxMzk2NTQzRUVlZTc1ZEE0ZjAzMzczZmFlMUU2ODdFQURiYThmIiwiMHg3MEM1NzRDZDAwY0FiZDNGYkU5MEIxMDczMEFEMERGODc5ZjFlZmI3IiwiMHg5QzU3MWE2NDYwODBCYjA4MDNCNDgwRENBNGM4NTg5YTZkQjY3RDM4IiwiMHg2Yjc0NWExNjA1MjdkZjQ1MjU1QjQ0MjMzY0JENzNBMUQzZjIwYjM5IiwiMHgyMWUxM0RERjUxNmI0QTZEMjk2RERBMEFjNTFkZEEzZTMwNmRmNDczIiwiMHhDQ0U4NTJlNDczZUNmREVCRkQ2ZDNmRDVCYUU5ZTk2NGZkMkEzRmE3IiwiMHgwMDdFMzgzQkYzYzNGZmExMkE1RGUwNmE1M0JBYjEwMzMzNWVGRjI4IiwiMHhCNzNBOEYyNDdDQzdBODhCNGUxQUQzODk0MTQ3MmY3MzdFMGNlQzgzIiwiMHg3MTNmNjJjY2Y4NTQ1RmYxRGYxOUU1ZDdBYjk0ODg3Y0ZhZjk1Njc3IiwiMHhCZWNjMkYwNjc0NzY0NWNDMDhEMTI4OTU0YjUyQkJCN0NCNzZkMzcyIiwiMHhmNDk1NEM5MDEyODJmOTIyQzhhNjc0QzIxQjAyZjIzZWQzRjQxMTQwIiwiMHhGMGRiRjNlNjlCMWFiZDhFMTY2MTQ4OThDMTMyYmIwRjExZTdlMjU2IiwiMHg3ODE1MUI2QzhEMEQwODQyNWE0MzY4MTBlQTM0NTMwM0IyOGM2RTIwIiwiMHhGMzMwN2FjQUExMWE0M2M3NTY3YTM2MjFEMzVjZDY5QzUyNjM0ZENFIiwiMHhENkE0NjA5OEI2Y0ZjRGQ5MjBFMGM5NTA0MDdEMTI0NzA4MzNDNzg2IiwiMHgyMUFmMDczMTBFMGQ3NmJmN2I5NjYzODczOUNjQTYzNTZBQzVmOUI4IiwiMHhGNURGMmI5Q2Q2NzMxZDczOERBOGU2Mzg2N0M2OURlQzJiYjQ1ODBGIiwiMHhkY0FDZjU5OWVENmNFMTJiMGQ3ODczRUJhMzVmQThGOTczQjkwOEQxIiwiMHg1OWE0RDM0NmY3NmE2NTMxN2NFNjRhNmQ5MThkNGM0MkRBZGJCQjBDIiwiMHgyQzRlMzU2NzUyY2Y1MmFDQkNDMDQxM0VhQjgzMjBEMjlmMjE5NzQ1IiwiMHhjQzgyNTJENUZFMTlEODExMzI2M2FmQzZBNjVDMDFkODU4MjczMzgxIiwiMHg5ZDFkQmZGNDk1YUU2ZjhjNkY3Y0I4OTRCQzRFZGEyZjVmRjk3Qzk2IiwiMHgxODkwMDg1N0QzRTgwNTBBNkI4ODdmMGQwZTMxRTk5QzM3OUY2MDc5IiwiMHgxODQ4MGFiYTQ1QTQwZGQ5YjlmYjAxQzIyNTdDNzNENTBFMmFBZEQzIiwiMHhhMzZEMTc2NkNjNjVjOTRmMDYzNkYyOWNDOTJkODY2NmVlMkRFNkZhIiwiMHhlRTA0NTNCYzk1RDUwOEYwQmRENzI5MzBmOEJiZDE5MEE5NjE1RjM4IiwiMHgxRDVlM2NDOTUwRDU1MzQ0NDlCQjU0OTY1RDJlZUVFQUI5MDM4RjEwIiwiMHhGNTRiOGE3N0Y1ZDlEOTA5MTY3RGJDYzY1N2Q5NzYxQTZCZDI4QmQ3IiwiMHg0MmI3MkZmRDI2NkEyNzE1RkZkMzdiZmE3RGIwMTM2ODgxNTcxMjY3IiwiMHhjMzg1YzZmNDkzRDBjNjU0ODUxYzJlRjljYjU3NjI0NzE4MkNlRTlBIiwiMHg2RjUyNDE3NDg3YzU4MkQ0YmZiYzlDNjE2QTQyNEEwNTVFMmZGYjY0IiwiMHhhMTY0NDYwNmFkYzBmMjFFYkI0MDA4OGE4NWJjMDc0ZTdBMWZlNDVCIiwiMHhEYTE4QmZBNjIzMDc0MGY3MDk3Q2NCRjlEMDQ2NTBERjY1RjFhZDRlIiwiMHgwODUxM2VFYmUyNUYwZTA5RmY1OTY2QjYzNmZjODhkOWY0YUQxNTA1IiwiMHhFM2Y5M2RjMTQwMmY5RDkzZDA4RUY1OTVlZDBCNzYwODY2ODZmNzBCIiwiMHg5MUQ5Y2M3OWVmZUY5ODczN0YzNkFBNjUxNDg5ODc2NzI3NGMxQmZDIiwiMHgyNzY3QjgyMTgwQTlkMGEyNTFiMERjNUY2QjBBZWE5OTlDNjkyQ0U1IiwiMHgwOGM0RUY0ZDgyRDAyYWU2Y0FDNTc1RjVEQThhNjM0NjVCNzAxODAxIiwiMHg0QUMxOEFmMjgwM0YxOTlkMjQ3ZkQ0MDMwMTdhOGM3NTE3MzAzNTdhIiwiMHhEZTg0MDZGZmI0RTJjYjY4NjNiOGNjQzM1YTc4NWE2YjJFNzZDZTNhIiwiMHgwRjE4ZDljZERjMjJjMDk1MzdiNDc3QTlmNTI2OWE0ODMyMDQ4ZGY2IiwiMHhCYUY3OUNhMTk1MDBDOWEwRjA2QjA0Qjk1NjRiN0ZDQUUxNzE3MTIyIiwiMHg5ODY1QjgxOEE4NzAwQ2IxYzQ5YWQwQWM3N2UzMjRkQTk2NzVDRTYxIiwiMHg2MjFmODlCNTVBNzA5NzFCRUIxOEI3ZWNiZWU4RDJmN0I2OWNiMWYzIiwiMHgwMzc1NTVmZDExZjlCYTI1QjhiMjI0MENBYzQ1YzM0MDAyM2MwZTNlIiwiMHgyZkNCM0RBODFjOEIzNzkzQjYxNzZENDUyNEM5NEE1OTZCOTY5MTVjIiwiMHg1QTE4YTVCMjkwRjkyODBhNEM1QmY2Q0M2MjBFMkM0ZTA2MjBCNUU2IiwiMHhDNjc2ZWEwRjNkZDI4RDQyMDdCNzEzNTc4RUNFRTYwOUVFNTI1Nzg0IiwiMHg3ZmJBNDBCYTYxOWY0OTc2OGVhZEM3RmJDQmQ3NDlFRUJiOTA1MTAxIiwiMHg2MkU3MDExN0QxNTRBYzE5MDJGODZjQTlGODIwOEUwM2I3MGVEZDYyIiwiMHhhMTJBQkM4NkM3QTU5MDQzZjA4OTU2ODBhMTNlQzA1ODQ0MThmMjNBIiwiMHhDYjA2MzM5NmUzNkJlNURFMTUwZDAxNDQ0MDI5NGVEOGFEQkY3NDQ0IiwiMHhFMERhNEU3YjNmMzRBQThjOUZkMzc4ODBiOEM0QzM2QTAxMDlBNjliIiwiMHg2YTJhMTlkNUEwNTE0ODZhMmVCQzhGZjRFZDFFYWM0QTQ1QUZFNzRBIiwiMHgwOUI5ZDk3RTFkMmQwYTMyQzc4ODdhNzNCYjI1NEI1MGE0ZDI5NzJDIiwiMHhFOTE0ODM2NUVDNGNlMjMyOUVjNTA4Yjk2Q0ZmRDBhMTliMzU5NzdiIiwiMHgzQkI3YmZhZWVmYzVmNjI2ZjVhMDM1YWI4NDBhRjc2RWVBNEZkZEQxIiwiMHhiYjc4OWJjNzBmQWM2MTI0ZjU5QzNjYTI4ZDEwMDNjNTAzNEI0NUFmIiwiMHgzODMwMUMyMTc5REIyMjk5MzJkOEFEOTFGRTAyMkIwNGJENDAwRjNiIiwiMHhCRjhCNDg1ZjREOTk0NjI1Q2ExOTZDQ2JDMjA4MWQzQzY3MUYxMDY1IiwiMHhiOTRiNDNCQzU4OTg5OEY4Y2U1NDA1RTRFNzgwOUIwZDEzMUE5NjdDIiwiMHhGNEUxNzQ0RWI5QUE3QWY5ZDEwNTIyM0FkMzA1NzJFNDcwZjc0MjM3IiwiMHgzNTI4MEE4NDU5RGNmMERkYjFkQjMzOTU2MjQ5RUJEMjlDMUQwOTI3IiwiMHg1N2UyZjM3MTE3YzAwMTIyQzYzMzlkZkNEQzgyYmJjQ0NlZTdkQjI2IiwiMHg2OWZlRDJlNjVCOTgyQkQyNTY0YThiMTMzMjFmMTc4QjYyRTM3QUU0IiwiMHhCZEQ5MzhBOTA4YUJBYTVEOGM3YjlDMTUxYzQ3Mjc3ODg2QTU3MTE1IiwiMHhEOTE1QmI1NWY5NTFBMjVjMkM4MjkzY0U5NDFDQWZFRGRENTNCNGY2IiwiMHgyMkU1MzExODdFRGM2MWVlY2M3RTk1ZTg1ODk3NzBkMDRFRTcxOTBmIiwiMHgwODc4NjE5NzgyNjc4YmJkNTJBNGZlYTRFYTM4ZEY4MzdEQzk0ZTQ4IiwiMHhkRWZFNkU3N2MxNjdFYjBlMDJBNjE4OWFFMGJEMzI5MjkwYTA4ODE3IiwiMHhjNTk5Nzg2Q0Y1RjU5Y0E3ZjM2MmMxMkJhNUM2MmJEMDcwZTVCODAyIiwiMHhjODYzNzc0MjYxQjZCMDExOGIzQjA2QjcwM2YzNzIxYmJjNzdmNDQ3IiwiMHhBMzhhNTdBMTY1MUYxMTlDMDY5M0Q5ZDFCYjgxZDQzY0JkRGVmMjBjIiwiMHg3NDVDQjEzQUQ3NjNhMDIzYTkxYUI1QUZCQTREN0QwOWI3NTEwMjljIiwiMHg1MWRiMDU5MjhlMTQwYkNCNjYwY0FlQzA2QmY5NDVBYjcxNTVmZDdmIiwiMHhDOThCM0I4QzdDQzBEN0Q5MjVkMWE0MDczNDdiODQ1RDlGMDAxMzkxIiwiMHg0Yjk4QzJCNzE1MGEyM2Q0NWJBOTY0ODM1MjkyNDZjMjNBMzZkOTNFIiwiMHg3MDQxMTRFZjg5Q2ZBMDUyMkRhRjE1MWUwODNhMWM1MjI1ZkFjMDdDIiwiMHhEZjZiODYxQjRGQkNGYWZmYjYyZEQxOTA2ZkNkM2E4NjM5NTU3MDRiIiwiMHg2YTNDQWY3RjQxQjlhYUQ5ZDk4MjQ2NTk2Y2RFODliQWQ0MDg4YzAzIiwiMHgxYzhhREJlNjc4MTQzRmU3MTgzZDRCQTI4MkVDZDlCMGM2RjU1MTRGIiwiMHhBMDA0NzllQzM2QTM4NmREMTUzZmY0MzU2MjVCZkUwN0FEMUEwNDY4IiwiMHg1NEI2NGRENjRBMEZmYjE0MDIyYjk0RTNDOTdENjRFRjQ5YjI5YzdlIiwiMHhhZUYwNUJCRjJhNDY2MjAzMmE5MUI0NzI1YjQxRjkwRUZlNEVEMzNmIiwiMHhBMUVBNzZENjk5RGIwM0Q3ZGQ5OTFiMDQ2OTRGM0ViYzE3N0FBMzE2IiwiMHg5QmJiMWM1YTUyMjNiQTQ3OWE1NzdmMDlBMDYyZjVFYTRjYjhBYzhkIiwiMHhBNkJhRDY0RjYzM2I2NzM1NjY2N0RDRTJlYUM0MDdiNTFEMzc1OGFCIiwiMHhCREJDNTVEMUM5RkZkQzAyOTQyMjIyQTg3ZkE2OEQ3MDNiMjRDNTg3IiwiMHgyNTlmOTI4QjVEZDM4OUI1RDdBQ2M0N2U4ODA0YThjNzRDMDI0OEFDIiwiMHg5MkE5MTE0OTU4MmI1NDY4MTUzYTA0ZDU4NThGYjNCQjVFYjk4QTg4IiwiMHgyZjcwMzBFNDBGOUEzY2EwNGUzZDRmOEY2NjVmNzgyZTEzNzAzNEYwIiwiMHg4ZTI0QjE1RWUyOUVCY0JEODY0MjZEMTJiMDJFMDI5ODdGODVGZEZFIiwiMHg0OUNlODVjZDY1ODdDMDQzYjI1NUYwNEU0MTQ5RjdmOWFGREE4ODQ2IiwiMHgzZTBCNEJDNGRkNzlEQkFmOTMyZjVCYzg4OUMwOWM2MTNGREY5YUE0IiwiMHhjMzk5RGU4ZTRGZTlhZWEzZUI5YTA3QTc2NkIwRjU4QTE1YTA0NTJEIiwiMHg5MTExNEFiMjYyNjg5MDUxMzU1RDFGOTFBMjFjYjkzNjNkMjBBOUFBIiwiMHhmOGU1N0UyN2MxNjA1RjQ3QjJGNjg2NDFFMDI4ZWMwMURiY0E4YzA0IiwiMHg0MGYxZjE5OGRhYjczYTVlOWNFMjJDREMyRmU4ODM3QjcwQjhjODA0IiwiMHhiRjYzY2YzOUQ2NDBjNmVkMzM3NUNGMzQ3Q2UzRmFFMzIzNzdGNjg0IiwiMHhlOTkwQWNmMUEyZTcyOTUyMWVmMmQ4Y2NlNDY5Y0ExYjkwNzY1YjI5IiwiMHhiZThCNkIyQjgwRGFFMzMyOEZFZmExRTg1NDE5M2Y5QmQxRjBDZEI2IiwiMHg1ZjBiODVhMTczODIyODNGYjkyYjUzRmM5M2VmRUU1NDgyMTI0ZUMxIiwiMHhGZTMyNkE5NjgwMkZFNjRBNTQyQjZBOTZhMWFlQTkxYjc1NDBFMzY0IiwiMHg3MzBDMDg2N2RkMjY4QmNiN2YyZjY2MThhQkI4Mjc2M0MyYTBjYUU2IiwiMHhhZUVDNDhDMjE1YjliN2RlOTIzMjU1NzRERDU1NmUwQWZlNDA1QjI2IiwiMHhiRTYxMjk2YTQyQWQ5NzViMDhiRGYyODY4OGI3YTdEQTgwZDA2MWVGIiwiMHg3YWU5Yzk1MjNBYjFiZEM0OGZiZEI3OGRhNEYyOTg1MzI5OEQxNjc0IiwiMHgzNEQ0NzA0NjAzY2E1OGEzYUJDMTAxMDIwMzhFQTY5NjhFOGQ3M0E3IiwiMHg3YmFmOEZjYjk0Njg5MTM4NUZkOTZGRWZjOTZiZDdEY0I0MEJkNzc5IiwiMHgxOGEwZDkzRUVmQ0U0N0NEMTBjNjFkYjlGNUI2QjU3NzFDMGQxMEE4IiwiMHg4Mjc5QTQwNTY5Q0FBZTNjMGVCYzA5NjQwNzE3QjlBMkFEOEEwODJjIiwiMHgwMzQwMjIzMUJDRkU4YTgxNGE5OTFCQkVjMTREY2MyODdlOWVjNEUwIiwiMHhiNzI2YzE5YzI3MEIwMTVENGQ2OGMwOGYyN0Q2Y2IzODk5YkU1QjBmIiwiMHhGYkFDMjIzNEM1NjA3OTgyNjcwYmZmMzIzOGM0MzA1REYyMDY0NkI5IiwiMHgyODE5NjVEZGFBMmQ4NjE4MDg0MTUxMGYzMWM3ZGE1MEVFQTU5ODQ1IiwiMHg4RDlhRDZGRTE2YTliOTM1OWY2NmIwN2MzMTc2NUVkRTY2RkY3N0Q1IiwiMHhGMzk4Mjg2OEY2MTRFQTNDMTg0NUQ1Q2MyNDBhMzdjMzkwMzA2OTU4IiwiMHhFNDA1NjZkMmRiQTQyMzViRTA4RkRBODkxNjkxZjE4OEY3QkZEMzA5IiwiMHg4YjMyODVlNGY1NzRkZmI4YzRiYjk1ZjgzNzhiQWIyNDU1MkNFZEVlIiwiMHhiNjU4MzQ5ZWExMzMyMUU1ZDQ4QjY2RGZhMWQxRDJDOGRCOWY1MWJlIiwiMHhkMUU5M0ZmOGUxNTU2ZGM5MDM3QjViNjY0RjVmMjZiRTM2OGM5RGIwIiwiMHg5RmRkNGFkMDIwNjEwOTQxNzBkZWFhNDNmQmMyZjhhNmViMjg2MEJGIiwiMHg1MEMyY0ZhQTZjMzRFMUQ5ODNBODNDMkEyOGVlYjUwMEU3OUM4OGQ2IiwiMHg4MjM5OTlkMjdlNjM0MjlCMjFFOTZEN0MzNjk2YUU0MWQxNDcwNkJCIiwiMHg1RjJmNGY3NmVEZjlCRDAwMTQ3NTI5RjA5Rjk4MUFmNzFDMjc1ODQzIiwiMHg4YjBEMUI1ZTA3MjM1MkIxQTZFNzI5MzREQzNGZjRDMDQxMzE4RTdEIiwiMHhCRDA4NWJhZDcxOEZFZWE1NzY1RkNFYTM1Nzg4M0I2RjVhMDQxMGU4IiwiMHgyMzcxNjZDOTQ2ZTk2NjJGN2Q1RTFBNjRhODRFRTIzRjU5ZEQyQmQzIiwiMHhFMTQ2ODcwNmM5MDE2OUY1Q0FFRDExMzk5MUU5NDEzQkZmNUIyZDJiIiwiMHhjNGYzRUE3RDNhODAyN2FCRjRhMGFGOThiNUJERUM5RjkzZDY0RjM5IiwiMHg4NzM3NTIxZkRCZjhBNzFBQzUyNkQ2RWY3Mzg5NmQ1MDkxNzg0ZTdiIiwiMHhmMTE0N2MxNTQ0OThBRWE2RWMzODQ2REM1YjAxODMwMDBGMkREODQ0IiwiMHgzNEMwQ2Q4Q2Q4ODFjZmIwYTI0QUMzODg4N2RFMjczMDBhN0M0OWU4IiwiMHgxMUNFRTdhRmUzZjk0ZjI2MzRkMmZmMjAxRTNEMzFFQzM4MUM2N0VjIiwiMHgzOTZGZjQ0NDMxN0I0RTQ5MjcwNzdhNEIyN0E5NDg0MWQ3NjU3NDgyIiwiMHg5OTE2MDlkYTQ5NTg2OThjYzY4MzY5Rjg2MDM2M2U5ODFCNjM0MkY0IiwiMHhGNzY2RDhiYUYzRThlQTNDQUY5QzQyNDZFQTVhYzRDNzM1OWMwODg4IiwiMHhmMkQyNjU4YTlDREZDQzljMTI0ZDYwN2ZDNDA0MzkzMjQ0OWU0MzI3IiwiMHg3YjAxMjMwNzhjRTI5MTQ5MWEyRmVkMzU3MDQ3NjVhODQ2ODBGZDVDIiwiMHg1MEFiMzE4NzEyNWY3Q2QyMTRFQTBlNEZDQTUzRERmNjUyM0RlNDI2IiwiMHhhMDA0N2Q1NDM5ZGQzNWI2MEYyMThGRTNlOTU2MTdlQzkyODlEMmE3IiwiMHg2N0M0ZmEwNENmMDFCMDgxRUE5MDJFNDA1NjA0QzAxODUyQzg1OTU1IiwiMHhDNTQzMzkwNjUzQTlhMTg0ZTAxOUI5Mzk2RDRGOGQ5QUM3QTcxNWYxIiwiMHgzRDk3MDlCOENkM0JhZTQ1NDZmNDQwYWI5QjZGNDc5Mjk5MTdEODFDIiwiMHhGNTUxMjhCNzUyNTY1OUFCMjMxRkI5MDA5RjMyRTQyOThjMGMyMzY5IiwiMHgzNjMzMjU5ZDI0NGIyZjcwRTc3MTE4QWE5MTMyYjQ1ZjlmNmFiNEQ5IiwiMHg2YjdBNjAwNTczQmI0NDk0ODU0OUEwYkIzMDZlMDU4MDAxNTE4ZjJEIiwiMHhFRmZlY0Y2QjhDMTBDMTI3NUVEOUQ0RDNjNDI5NDhkNTUxN0ZGNzVBIiwiMHhFMzdkQUIzMTMwMUU5OTk2MzFBMjhhNkUyNDliODZkODMyMDcyYkJFIiwiMHhhMjdjMmEwZkFBNzNBMjdjMkVGREI2NDFlZmNCRDQ5NkVmOTJEOEQ3IiwiMHhkM2UxNWU0YThEMzUxNDhFRjAzZmRCNEFEQzBhN2M5QmRBOEVhMDY4IiwiMHhGRjZEMjMyZDE1RkFCODA0NGEzMzUxRjMwMTVFMjA4OTdkNTFCOUI4IiwiMHgwOTJlY0JENDY1QkJhN2QxQkViMEM1OTkxNkJFOGYzM2UzQzhjMEI3IiwiMHg0MjJCOTdmNkQwMDU3YzM2YTY0NDM3MDA0MmVFMEI1MDRBRDZiNDYyIiwiMHgyQzIwNWZjM2NFOTY4Q0NjOURhRkNFOGMzN2FjNzFFNkNlMzFGZWQ3IiwiMHhEODQ4MkIwN2Q4QTk1RjkxZUUyQzI2MjAzQUU3OGMwODgwQ0E5OTA4IiwiMHgwZDdCOWI0ZTZCMmMyZWZFMTQ5MmQ3NzlGQzI4NjdiMmUzNTM3ODgyIiwiMHhiQTkzMTVEYjY2QzFmMWQ2N2UwM2VDYzNCMjhiMjM1NWMwNTE2NzlDIiwiMHhiRDUzODk0RjEzMjU1N0M1NDQ5MTQzNkJBMEUxMDZEQjc0ODUwMjlBIiwiMHg5MTIyNzY3NjdkYTBEQ2YzOGM1MTAzNzk4NGNlRjY4NDIyNzgxNTUwIiwiMHgyNjdjQzM4ZjRDOGRGRTZCZWUxQzdBNTcxNTA3OTQ0NGNBNDRkNzA1IiwiMHgwNkJmMDU0QjlhQWZDMDc1ZjlCRTgxNEUxQjdGOTQ4YzZlODQ1NTk2IiwiMHgwZUFjNTA0ZjY0OTk1ZTdDQmM2OEZlQzJCZjg0ODZlNUQxQTQ0REZBIiwiMHg4OGE0Yzc2ODFFYTRkZTAyYjMwNDMyZjlmRDQxMDJhNDFDMTYzMTk1IiwiMHhkM0ZiZDk5MDgxMEEwZmNjNWU2MzI1ZjExNTdCOTdFRUNFM0E5OTAxIiwiMHg0OENFRTI4Y2YyNDY1OTgzMzExNTkzNjRkMjhFQTEzMDY4QUFCOTVCIiwiMHhCZmJhMkZCMDMxOGVGMmI2MjZjQzZjMzk0RWEwZjQ1RkI5MEVEMDVhIiwiMHhkYkI5Nzk0ZjdDMmNEMTQ3MzA1MTFBNTQ0NDI2MTI5OGQ5ZTdFM0QxIiwiMHgxODU1NWZkMjlDZmZBOWUwZjUwNDdEYTA0OEQ3N2Y3Y0M5MzQwMzAyIiwiMHg3NzI0ZTcwOTY1QTBBZjRGREViYjNCMGUxN0JlMDljODA5MDMwQ0M0IiwiMHhDMzY2OWQ0NTU0NzFENDFiQjc4M0FBNDg1N0VhREM2NEIyRjUxREM4IiwiMHg3QzU5ODk0MTJBNTZGQUVhYjBmMzRjMUU4RkUzRDJCMWQyODM0MmE2IiwiMHg1YTY3NGY2ZTVlMzQ4M2U5ZUVFN2EyQWM2NjgzNjQyMzBlNDcxQzdEIiwiMHg1RTgwRmEyMjQ1ZmY3MzhENEM4QzI1MDZlMWI4RTkyQjQ4QzUxQzIyIiwiMHhiNzdhOTZFMDZBMjI1NzU5MTAzMTEyMmNDMmJmNDM4M0RkMGNBYUVmIiwiMHgxOEZGMjc5ZmVjYmZjNTg2OTMzMUZmY0VFRmUyODkyMTY3ZkMzZjRhIiwiMHg3Nzg5MTRmMGNlOTUwMjQzRUM5NEY4NGE2NTMyOTcyZTU5NjNmRjY4IiwiMHhmN0Y5MjllNzQ4MmQ1QkM2OGYxZjQ1NmMyYTllMTgxYzk2MDFGYjViIiwiMHg4NWQ4MjVlMzg2QWEyMDQ0MDZFNDMwN2FkOWVhNjkwMjJDMWI2YzFjIiwiMHhkM0I1ODExNkY4M0I2MjE1NjhiMGRCNUFmMkU5MjU4ZUY1OWUyMTVkIiwiMHg2NDczOUU2MGI4OTczRkM0YjA2Q0M3YTNCRDg0MTdlMkM2MzM3YmFkIiwiMHg3MmM4RUJEQkZiODNBN2IzYjY5RjIzOGY4QjZDQTg4NmUxRjc2NzYwIiwiMHhmNEYwMjIxYURjNDljNzFjRTcxZWY0NzZmMDAyOEI0OTczRjYxMjZhIiwiMHg0Y0JGMTFFNjMzMTdBYTRjNDhkMGIzODFiRDZCM0NjNUU3MmMwMTg1IiwiMHg2YmVFYzZhNDNiNEY5MjIwODU0OUFmNUYxNzhkY0M2MzAxZDY1QjZjIiwiMHgwZWRkYmE5MjY2NUI2YmU1NjgwM0VhNjdmQzBiYzMzQUQwM0E4ODY3IiwiMHhiOUFDQjUxNDE2NTU3RUM1NTgwNGQ0NGViM2IxMUE4MTlGMTFERDcyIiwiMHg1ODVBMUUyNjU4ZDVkNzA5RTMwYjczRDhBZmFjMkY0QjA1NjY2NTBhIiwiMHgxMDQ1NDQ0YkNiOTIwYTJkQTYyYjAxNWFFODZGOTdGY2NEM0I2NmU0IiwiMHhBNzI3QTc3OGJGMzIyYTY1M0YyOTQ2MjY1QjYyRTkxOWM1RmM2YmM5IiwiMHg1MTRkODZlQzcwOUI0Y0E2OTYzOWJGRTcyNjIwMmYzRWIyNTQ2YzQwIiwiMHgyOGQxZDE4NTI3NTNhQTg4OTY5NTBGNjU5MTRhYzVhMDM2NDA4ODkzIiwiMHhjQTlDODk3MjRjQTM4RjgyMjdkOGVhOGI5MDM1M2ZFODQ1MDk1NUNlIiwiMHhCMUZFNkMxMDBGMmNmYkIwQzM4MGQ4YjFFYWUxNzlmMTY1ZkZmYkQxIiwiMHhFMDlENmNCMTQ5NTY3NTdkYjE5NzUxMzUwODZjNEM3NjdkOWZERjgzIiwiMHg1OTdCMEU4RDc3MDlkNDE0OEUyRkM4OEIzZDFhQjIzOTY4NTUzMDMxIiwiMHg0NzBjN0Y5YzE1OGE4RThkOUQ2NDc5MzVBMjUzN0NFYTc0Y0I4ZjVjIiwiMHhmOTUyMzIxNThkODA3M0Y5NTQ0ODE3NTk5YWIwQTEyNDc3Q0Y0Y0Y4IiwiMHhkRmUwNDI4ZTc4MTQxRjg4NzIxMzdBYUUzYzFkRjUyMzdjOTlhMTQ4IiwiMHhhMEFDMENlN0NENTkyZkQ5RGY3Y2VCMTBEQTc3M2QwRGQwNTI1MTY0IiwiMHhkMTA0OTY5RThDYkQ2NWMyNmE4RGUyZDhDZjA5YTNFRjA3YzFENGQxIiwiMHhiZDFjNzFmRTAwZmJhNzlkMmFBMDY0RTNmNGE4ZDJhN2M2NTFlNDA1IiwiMHg2NjJiMTEyQ2M2NGI0ZTQzZWJhRjNEM0I5YkIzMUZCMTc5NUY3YTdjIiwiMHhkN0Q2MTA0RDU5ODY4QWU5OGY2ZTVGNkNiQmFhMzc5MkE3QjU5ODM0IiwiMHhGRTkwRGI3Njk3QzdFRDQ3NEViODc4NjNBQzI4MjA4NDAzMmQxOThlIiwiMHg2MTYyMkM4M2NhNTE4MmQ2MGZkZDFBNkVlRGVERTRmNkJjN2M1QUZGIiwiMHhlM0UxNUIwOWUxYThjQjk2MDMyNjkwNDQ4YTE4MTczYjE3MEE4ZDVDIiwiMHhGN0IwZENCNjJiMWM5Rjk4OThlMWVjODI0YjcwODc5RDhiRkNFNjA3IiwiMHhCQWFGYjNhYjk4NjBERTg3MDczNmM5OUIwZDMxNjJENUQzRTk1RDAxIiwiMHg1MzgxZjA2MmRiY0Q4MjcxQjUxOTlmYThkNGRiM2E5NjIxMGZCQ0U5IiwiMHgzNjZhNTlkRWE4Q2Y2OWY3ZjU5ODNkM0U1NzgzNzExNzBBOTNjYTM1IiwiMHhBYkY0NWY4QjNFMUFCRDEzMkNBODk5QzUzYTJkQTdDMGM5MzgyNzYxIiwiMHhlRkYxNzQ1MWRjN0Q4OTIyYjg0RjQ2YzRiZDhBNTA2M2Q5NGU2M0NCIiwiMHg5ZjM3YTg3OTA4NEJDRTMyOGU3RDA2N0M1NWZmRENmNUM1MkYwNkVlIiwiMHhFZDRDYmNlZmMyZTk5RTJiNTNiN0FhRTNBODVmZjg5ZTkzRDdjY0NjIiwiMHgzRTY5MDA2RDZiMUJmYTNFYjk5ZjM0NTA0QWVmNzE5NWQ0NjkzMjNDIiwiMHg3ZjY2RUU5ZDEzMkFkMzA4NkFiNjkwMjJFMUMxMDJiNDI0MjQ2ZTY1IiwiMHhlN2QwNzFiRDlBOEU3ODM0QzliQmFBOTU1ZWI4NkNERjExMEViNEU4IiwiMHg4OEIzQjhmMTE1YTRFRTZGNjVFRjkwODkwMjc4NmJmNDE2ZjQyMUI2IiwiMHg4NjFCYjk4ZGEyQzJhMTM0OGJhYTMzN2NENWZkNEFlMjY1NjAzMUViIiwiMHhmN2VGNTliRmM0NkYzODcwREE5OTQzNzNGNWZiMzI2NTRiOTUxOGRkIiwiMHgzM2FmQkM3OUQwZTBDMDlGODM0Njg3ODRiNUZhZGExMTVmZDkwZTlCIiwiMHhFQzVFMmFkMWJlODQ5QkEzQzQxMDVhMjUwQmMxQTA0MzMzMTFGRTYwIiwiMHhlYTljOTA3ZDUwMGRiNTcxNmRGMkI5QWJjRDhCYUIyYjlGY0RkMzViIiwiMHg5RjIwZUEwRGY1ZDM3MzUyMTRiNkNmOWZFYjhkNjMwNjZmZWMzZDIzIiwiMHg3Nzk0Yzg3ZTkyMDRBM0M0Nzc1YmU4MUE1RmZGYTVENzk5QTEzMTQwIiwiMHhjM0ExNTQxZGQxMDc2NDRDMzU4MWYyOTU2RjlGNGY2YjZDOGZjMGNjIiwiMHgyODk5QjJGNDc3MzFCNDFhOTk5QzJCZDIwRUViRjM2NDJlMDQxREIwIiwiMHhDMTNCNDg1QjhCZTJlMzc2MjE2MWExNWZGMWI4OWJlODQyNGQwMGMxIiwiMHg5NUQ5N2UyNEI1MWRmQjg3ZTQ4RjMxMjEwNmUyQ0Y4OGI0NmUyOTg0IiwiMHg3MzkxNGI2NjdjODkwMzg0MjAxMDIxQmVlODAyNDY0NDAxMTE1YzcxIiwiMHhlMjBBOGI2ZjMxRUNEZDdFQmYxRUYxZGE0ZTE2N2NDZmFCZTNCZGNjIiwiMHg1ZkUwYzY4NDJkZmM5N2ZhNjhhRDQwMDU4RDUwMjMyNjViZmUzM2ZkIiwiMHg5OEI1NjNGNDgzOTRhN2U0MDU3Nzc4ZUE3NURkMWQ3Q0Q3OTRFOTg5IiwiMHg1MEYzOWU5NDE5OTIwODA5RTE3Y2E3NWE2MmE3ODZDZDNkRTVEQTQwIiwiMHhiMjc1OTY2Y2VkNDQ0QTcxOTBjY2ZmNjgzNjk4MjVBNTc4RUZFMTI0IiwiMHgzRTA0N2M0OTIyRjQxQUI0QTU2RTRDQUFjNTlFMjMxYjMxOTdjRDYwIiwiMHg2MjBjQTdkMTk2YmJiMzE2MjUyZWQ0YWYzNGU3YTZEYzNkOUYzODBDIiwiMHhjNmIxNjdmZjZDMThjY2RkMTJiMGQ4RGIyYkYzOUI5RENBQ2EyMzE4IiwiMHg1MTkwQ2I5RDAwMTU4NzIzMjU4MTBhNTBFMDcwMzViYmI3NzVCYWQ2IiwiMHg5RWJBZjUyN2M0MDNBNzE2Rjg4OTM0ODM3NmM5N0VCNzdmZjhmN2E1IiwiMHg1QjU5MzA2OWRCN0U5NENmQzY5M0NCNGVBMGFmQkVmMkNhM0Q4NjBiIiwiMHg4OEUxMDAyNDY2MkIwMzMwZUZCMzM2ZDJmNjA1OTYyQzJmMkRCQjJkIiwiMHgxNzlDRDY2YzcxNDVEMDNmNTgzODg5ZjIwNTk2MTVhMjI3MzNFNjkzIiwiMHgxZTU1OUM1ZjYzYjRhNjc0MTAwNzFFNTI3OGU5YUE5Yjk5NjQxQzRkIiwiMHhjN2NiYjRiMThCNjQwNDdiODgzOWUyOGRERTZDZjY4NDA5MDZlREVlIiwiMHgxOGRiRUUxQWQ0MjY2ZTE1MkY0MDBhOTcxRWE2RTYyYTg2OGY2OEIyIiwiMHg5MGMzRmU2MzdkZWUyNkNERjEyZTMzMDE2RkE3NURlNTkyZTk1MmY5IiwiMHg2MDgyNjk1MTYyZTM2ZjdERDBCNjY1NjdBM0FiZjZiRTFCZDA5MmYwIiwiMHgyMzM5MDRkQTI1MEUyRWI0ZERGRUE3MWUxMTdiNjM0YjAzRTc2MzRhIiwiMHg1YkU1ODQ3YTgyMGQ1MUIzMDAwNjM5MjRDRDdGMjdjZTRhMjJBN2M3IiwiMHg2MURFYTlFNmQ4MmUzOWRGNjU4NURjOUYzQ2Y5OTQ3NWNCOTVBOTYxIiwiMHg2ZjRmOWQ1RTE4MWRBMjY3OUNmMzBhYjQ2MDBhRGQ2Y0I1MzNlRjcyIiwiMHg5OGI3Q2Y4Zjc4MDI5OEZFNjFiNDg3ZTJGNzcyZGZmNTFiOTM0M0NDIiwiMHhjYjQzMWU4OGZEMzUxNkEwZjNFMTA5QTg0NjNBNDdBZmEyQjhBNWZEIiwiMHhEQ0YxODkyNDExQjk1ZkM0OTQ0YzE4RERjM2ZEMjI2OTJGNTg0OTdDIiwiMHg5RDM0YjZENEVlMWJBNDYzNjE4MWY2ODk2ZWJEQzAyMjliMDBjMjY0IiwiMHgxYzM0ODY3ODA1MzA2N0I3MEZFYkMwRDg0MmQ0NTZBNDQ0OWNBOUU4IiwiMHg1MDhhNWU1Mjk1NDFkMjVmRWM0MGNmNjRFNzU1NWFmYmNhMzZkNmYzIiwiMHgyNDljN0UzRmE5NUE3ZTEyRjg2OTI3NTI0MjRBOTYyMmYwMWMyNjI5IiwiMHgyZTIzMWNiZjAzZWExOWY4YTVCRUQxYzA1M0U2Nzg3Mjk3MDNEMGJBIiwiMHgzODU3MjYyNzc1MkFFMEY4QjE2NTJhRDVCMDRmOTJiOTNCMjQzNDQzIiwiMHhCNTRlRThGNzY0MzA1Zjk1ZDhjMjMzNDUxN2JEMzcxN2FlNTJDNEQ0IiwiMHhFMjY3QTA2N0MyYTI3MzlEMEQ1RDJlODk5NUUzNmJFMDM0YjQ5QzU0IiwiMHhFZDdjOWUzYWE2MjZjNzhiY0FhNzY0ZWQ2MGU4MjQ5NGIyMjhlOWQ2IiwiMHhlNUY5NjkyNDdDM2NCZTk2MjlCMzkyZjUxZDNBNDdGRjRFYUM4ZTgzIiwiMHhDNEU5NzQ3OWMwM2JBNTRmRDY4QTliYjcwMUE3ZEQ2NTJGOUY1RDYyIiwiMHgxMDY4RTJFZDRmMGE4OUMwMEM2NEZENjQ3ZGE2NWI5ZWYwMjE3OWIzIiwiMHg4OTQxNDJCM0EzZTdEYzQxMjA0YTBEOWE3RjRDNjVBNzYyZmM0M0ZjIiwiMHgxMzAwNDY3NmVlNkMyRDAwRjVEMjcyN0M2Zjg3ZUIwRjY0MThEM0ZjIiwiMHhFNEJmQTU2MjIyNjU4NjdjNTM2NzU1ZGVBNzczMzAxNzJBQmJCY0M5IiwiMHhiZDUzNjU3NGY4ODQ1QjZkRjRGRDg4QzY0MjNDMDI5M2RGMWIzZkI2IiwiMHhiMTcwMDU3ZUI3MTQ3NTg2NWJlMEM2OTI1YTNDMjU2Njg0ZjNkNTg0IiwiMHhBNmVlNjc2NzRmOGU5ZTExM0U0Yzc2YzQxNjEzQ0E5OTlmRTJlMTZFIiwiMHg3ODFlMDQzNUVBN0ZmRmFlOTA5RWVENDEyODA0OTg4MjNEODJlYjY4IiwiMHhFNWQ5MEY1MkI2MDI5NmJGOTk5YjkzNmE2N0QxMTJlMkI4QmI2YTJhIiwiMHg1OTUyZTk1NDZFYTFFMDNGNDIxRTBEZGViNUEwZjJhMDdCNjBCQWEzIiwiMHhDZjU3MDY4YzM0RjdmRjkxOGVmODk2MWJCRjY5NDBiMjM2NGIyMkZBIiwiMHgyNDA5QTE4RUZDNDc5NjAyY0IwMDUyZDMzZjVkOTAwNjAwMjg0OUI5IiwiMHhhZTg0QjQ0OGU4NjVBZWRlZkVGQzc5MjYyQmIzMjM2MUU4MDQ4MUYyIiwiMHhBMWY4ZkM5MEUzQTRDNzk3MjIyZjg0OTA1MTMzYTExNzkyZDhBMjY2IiwiMHg5ODZjODNmZjlkNzg3NjhiOWFkNWVEMTNBYjE3NzYwYzQxRjlFMkExIiwiMHg0MkIzMjBENDM2YkE1RWRDNzRGMDBFRTk5ZjcxZTI1ZEZEOTc3ODYwIiwiMHhDNDQxNzg3NWVEOTY0ZGJGRjIzNDA0RTBhNjI2NTI4OUM3MDAyNWFDIiwiMHg3QUQ2RjdCYUFBNTcxZTIxNzc0ZDI2MjMxNGZBQTIwMDM3ZjVkREJhIiwiMHg5ODAxMDU2MjIzYWZlMERBNTJlMDNGMDliNDI3MzBkQTMyOTJjMjJlIiwiMHg0N2MyNGIxNzE5ZWRCNjA0MDZjYTU0MGE0YjYxNUI2ODVFMEIwMDMxIiwiMHg3YURCMDU3OTlFZmEzZGMwN2JBOGE0MzU2QjIyYTA0MDk0OTk3NTlhIiwiMHgxN2VDMDg5ZDc1QzI4Y0U3NzYzNDA0NDhERDFlMzM5MTE2MDhmOWM3IiwiMHhBNkNiNTdkNzc2ZTkyZGZCMkE0QzkzZTAyNDk0ZTFERTM1ZDNjMzNGIiwiMHg1YjZCM0IxOTlENEE4MzY4OEU0MzI5MDNFQjg3NmRlNmVhN0ZhZEM5IiwiMHg2QUVCQTVDZTRDQTEyMjRGNjliQmE3MkUxRDk1Yzg4M0EwOEEyMmRBIiwiMHgyMTE3MzU5NUZiRjE4NjFCOWFiZDJkNEM0NTJBM2VFYzAyOTRkMTM4IiwiMHg2M2I1NDkzQzY5N2ZjRDU0NTA1NjJGMjIxRmIxMWZmMUI1N0IyZjE0IiwiMHg5NjU1MTJkN0ZBMTQzMGU2QmZhRkYyNkE3YzI3NTExQkUzRjJCNzBGIiwiMHhjYTBhOTQxRTJjOTQzMUFDMjc3NzUwQTk1YjYyMGJCOTJlOTE0NWYwIiwiMHg3Yjc5RTc2QjE1NTU5MDhhYmUzNDYwNmMwOTViY2VDZDcwMDEyZDczIiwiMHhmODMzQWMwYzJhODBmNjRGMUU0RTg4QTEyNGNkMTQ4OEZmYmYzODM0IiwiMHg3NjAzMzU3ODdDOTUxQzMwQmQ5MjEzQzhlY0FEMzRkMmM1MTI1NDhmIiwiMHhhRjg2MDVBMWFhNzUzNTc1N2MyM0UzRjA0MzBjOEQzOGRlYTVFRDM5IiwiMHhkQWRjMDJEN0VCOTdGMDI3QjFDQTc3MjU0Rjc5QWIzNzM3MTNhNTIxIiwiMHgzZGY0Q2E3NjIwNkUxZTI3RDQ5NDU1OUZhRjQwM0NCNWJmNDBhOGY2IiwiMHg4ZGNhM2I4MDgwZTU1NjQ0Mjc2MjAyNGJENUJBOTcwZUI0YjQ5NmZCIiwiMHgyMzgzNjRkODQ0QThGNTRjQzgzRGNhNmU5RmRDYkU2RWY5NmIzMzExIiwiMHgzRDc1RmE3MDRGNDdEN0RlMDRiQzhDYjM4MjhBRDJlM0Q3YWRkMjlCIiwiMHhBYzM4MTc4MkI5NThjNzM2OUUyMzVEQTcxNWY1YTM2RjgyYzJCMzJlIiwiMHhlZTgyNEI0ZjY2QTA3QjZmNmE2ZTk1QTMyNEE1NDZGNTk2QUJFNDQwIiwiMHg4ZjMzNGIzMDAyODZjZUNFOTAwNzMxMzNlQjIyQzg0NjIzOWUwNDlEIiwiMHhlZUYwYjI1NEQ1RDFCZjU2NEM5MDhGMEUzMDdhQmFjNTY4MENFMzk4IiwiMHg5OEFCNmQ2RTdEZjQxZDYwMkY4MDAzQTk4RWJBZjI5ZGIyNjg1NzFDIiwiMHg0YjhENUNCRWZDYjVBNURDNDU4OTk5YWM1YTk2OUFDNDk5RGNCMzc2IiwiMHg5RDNhNDIyMEU1ZTMwNDZBOEM3ODEzRTNGRDA4OTI5Q2FmNzU3YjI5IiwiMHhlQURkOTY1MzBBNGUwMjM1ODBFNDI4MjI1MTE2ZDQyNDI3ODY2ODYxIiwiMHhGOTY3QTcwODA0ODkxNDY2YWUzNDk4NTI4YWExM0YzMzFGNjJGYTNjIiwiMHg3QjZFRDc3MzJhNEY1NDgyNGU2RDk5YUJmNGE1QjhmZDcxMTRlNjM1IiwiMHgyNzZmM0MxYkU3ZTYzNzMyMzllMDQzNjhkQ2Q0RkI4OUFERDA1MjVkIiwiMHgwMDA0OGNmMUFDZEI1RmE4MUEwZkFjZjg2OWVGNjBDM0Y0OWJmRTM2IiwiMHhhNDA0Nzg5YTMyMzc3OTU0MWQ3MDIzNEJFZTBGMWNhQmM2NDM3NzY4IiwiMHhjQ2IyYjkyYjY5REI0MTVBYTZkMGNmQmE4QkQ2NTg5NTYwMUNDOGI1IiwiMHgxN0RBNjBmOWFGNzU3NDQ4NjZlNUVlRDY0NDM5MGYyNDgwZjk0Mjg4IiwiMHgyNEMxOTBCZTY0NzA0OWZBZTkxZjQwMURFOTY0RjVhQzBjNTg3Y0IyIiwiMHhDMjhEMjRBNjZFNGZDYkE3M2FmQzc3N0QxNzZBYThBNmFhNjYyNDkzIiwiMHhBN0JDMjYyMjg4YUMzYjg4OTRkRkYyM0MwRTUzOWM1OEEyMDIwMkMxIiwiMHg2NGQ1QUE4QWYzYTg3MTNmMGY5QUY4NWQxYTQwZjVmNjYyQ0EwZmU5IiwiMHgyMjdFMDczOTNEQ2Y4ODg1MjZlMEIwODhERWJlMzdmNTMxYzE4OWUwIiwiMHhDQ2I2MkU3YTBmNDdjNDgwMEU2QTJEODU1ODMxRjBkRkM5NjExODA0IiwiMHhlMWRBYmMyNDVFNzVkNzkyNUE0MmUwMTQzYjUyRjk4NDM1NDZFMjVkIiwiMHg1NDZFOTBGMmQ1QTRCODRCNEM4Q0VkMUNmNzFDODFDNjY2ZGYyRDQwIiwiMHg3YzgyOTFFM2IyMTJjOTE4MzI0RjY2RDdmNjQzYjM1MUQzRmI0OGY1IiwiMHg3MTRDODUzNTRFNDgzOTFmNEQ5NzNmNjBlM0U4NUNhYzIxY2UzNTg3IiwiMHhFNUJlOTcwQmI0ZjFEYmE5YTdCNWMxNTkyRmU0ZjQyMDg1NDFlNDk4IiwiMHhhMjE0QWNBNDVGZGUyMjg4ZTFGODQ2NkRFOGY4MDgzM2FmMTlCRjNiIiwiMHg3NTQyNjg0NzViREZDRUJGNjBhOTA1M2VjY0MwODZEODQ3NjdBYzliIiwiMHhDRjZGQzg4ZkFhZUQ3QTc2NkM4MDE3NDM4YkVGMzFhYzAyODhBOTQ2IiwiMHhhQjk0YkI4M2I5MzYxMzVFNjZEMzg0MTVBMDAzMGM3MjY4OTE1ZDMzIiwiMHg2NjQzMzE0ODVGMTUyNGFkNzk2Rjg2Yjc1MmRlQmExNGFEM2RlMDQ0IiwiMHg1NEM3M2I1ZjNmOUFmZTY2OTBiMDg1Nzk4QjA4ZjMzODUyNDIxM2Q2IiwiMHhFQzA5NUY2QjdjZjU1QjVlN2MxMTkyMzc1YWRhYWE5OEU2MGIxNjIyIiwiMHg4ZEFiZTA3OGMwYjk0NjQ5N0IwMGZDQTQ1QTMyZDAxNTQ3M2JkNzYzIiwiMHg0QjBCQTkxRDRhODk4NTU2MjlkMzBCQkIyN2EyZTk1MUYyZTlmMzRiIiwiMHg5NjYwODgyMDU1RUViMThlNTRkZWVFNzcyNWRFYzVhNGI2YWUxMTM4IiwiMHhCZjcyOTM0ZUZFQjQ5ZkIyMzViQjc5ZDA4NzEwNTFCNWQ3MjQ0OTgzIiwiMHhmNjUxRWJGZTU0NjQxOTMxMzFGM0I4MDQ1NDFkNEM0QkFmNTU0QjkxIiwiMHgyODQ4NDk1ODA3M2QzNzUzQWI5NzVmNEE0RTBBZUViNjVjNzg1MTIwIiwiMHgwNkE1RjU5M0ZlNGJBMUNEY0QxYWIxMWI3OTlhM2QwM2YyNGFjMkQwIiwiMHg2ZjcwODZENzRmQTEzNTgwMDAyNmVBMTM2Qjg5MjdDZTNBYkRlZjExIiwiMHg0OUI1ZjEwY0I2ZjcwNkMyOTRlQ2NhRDMxODM5YkE4NTZCNDk2RmE2IiwiMHg4OTY1YTRmMTk0QTgwMzY2NGY5MThBRTcwY2JFMEM1NTAxRjllNDlmIiwiMHhDYzlFOGExRDRBMDQ4ZjM2MTIxMzlkYjgwMkEyY0M4MWY5MEJCNUY4IiwiMHhjYjVCOEUyQTlDMTJmZEE0Qjk5NzdGMUFkNURCMEZFOUYyMTZiNWRkIiwiMHgyNUY2MEU1Mjk0RTE0Qzg0NDY5QzgxMUU4REJjYWQyMTMyOERGMUVFIiwiMHgzRTIxQkVmMUU0RjBkREU0MTI5MDlmZDI0NWU1RGUwNWNCNDE3RjI2IiwiMHg3YWMzRTc2NWI3OTk5ODRBZDJjMjM4QzI3NGU4RTJiRTU3MGU0NjA5IiwiMHg1ODREYTMwMEM1NkQyQTRGODQwYTJGMzlFMGY3ZDI1NGI3QUVDNGY4IiwiMHg5NTM1NTUyMTYyNTdFODJlMThhZTdCNjZlOTQ4ZkZCY2EzZDFmYTQ0IiwiMHg3Q2FkNmQwNkMxYzBkRGFkYjU2NWE2MkEyYkYxNTAzNTUxODdkOEZCIiwiMHhmOGMxYWY3RkY0OGFCMWU2RjhGZjk2Qzg2QTg1NjdiYzdhMTM3ZURkIiwiMHgwNUY4OTE4YTNCOTZhNGUxQjc0NDE2OUZGNjNFMjRjRkVkYmY1ZTc2IiwiMHhEZWM3ZEVlMzA5MzNiRGJDMDM2MDQxOTczOGIyYjZlMmNGRUFkNjA2IiwiMHhCNmEzYkQyQjExMDQ5YUUxZUI0NzhEZjA3NEQzM0Y1NTIzNGVEMDJDIiwiMHg2OWMxODI4MDkxMjY4RDlFNWZFMDI4NDBGNjRhRTNmOEVGN2NmNEFDIiwiMHg1Yzc3MDQ5NEYxYjM0ZmUzQWUzOTBhZDBjNGU3QTU2MDRiRDBGNDFlIiwiMHg4ZDRFMTk2YWIyNEQ0MEYzZmUyMjExQUE5YjNFNzI4NTNmNjIwOUM2IiwiMHhGM0REMmQ5NUEyOTgxNjc0OUVGMTRjREE1YjJBMzIyNGYzMDY1MkFDIiwiMHg0NzUyRmE0MjI0OTkzQjJhOURjOGRjODIyYkQ4RTNBMGIyN2VFZjAxIiwiMHg3Zjc2NmZGODgwZTg4NzdhMGFEMDNFQ0UyQjNGRWFhOTdDMDA4Y0QxIiwiMHhjZjEwRkU1OWZGMzcyQTI5NzcyNTIwODExRDdBQTBlMjZERmIwZDczIiwiMHg4NzMyRjZlOTVGYWJBMEEyNzQ2ZjU1YzkzRWZCNjhmMjJhNTg2OWQ1IiwiMHg2MzRjRThlYTRkNDAyRGY0QWRDNjcxRDUyNTAyN2M0QTBmRDc1OTc3IiwiMHgwRTcwOEM3NjQ4N0E3MTNmMTlmM2NEODY1QzJEYTdlYjcyMzlmM2EyIiwiMHhEN0IwMzFCNDJiYkU5OUJEOUE5ODlmRjhhMUJCNURkQzE1N0FmQTBmIiwiMHg5QzViQkU1ZDk1NDYwNkEzY2JCMGI4MTU5MEU0YzQ4OURBNUU1ZDU2IiwiMHg5ZTU0ZjFFYmQ1ODllODNCQzA4QTI5NkEyMTcyMkY5NDM1NjVBOTY4IiwiMHgyRjcwRTEyMGI1ZEZCMTQxREI1RmUxRWQ5NUEyRmRmOWUyRUM4NTI0IiwiMHg1NWRjYkFENWFjZTEzYzY2NTMyNDA5MEI1NkRlNzk1MDVEMUQwOGVBIiwiMHg0N0U5NjU2NTQxNmMzMDlGOTJiRTQ1M0IyNUM1NTcwMmFlNjIzRDI3IiwiMHgxOGNFYWU2ZDVlODc2ZUZhRDI4MWFmNzIzMjk4NzhhOGExN0IwMTdEIiwiMHhCQjQ0MTg2YTAwOWY2MUZlMzVmQzFBNjEwZjkyQjMwMEEyMDcxQTc0IiwiMHhiNWJEYjQ2QjNmN2Q1ZkQxMzYzOTVBQ0MwOWY2M0NEM2EzQTQ1M2JCIiwiMHhhOEQwZjY3NjlBQjAyMDg3N2YyNjJEOENkNzQ3YzE4OEQ5MDk3ZDdFIiwiMHg4MUNjNzA3NzFmMkJmRTIwMzQ3NTAzQTg3Q0RFNTExODEzNzRFMjIxIiwiMHhhNUE0NzBkODY1QTMwQ2UzMERBN0FjM0ZDODI4OTlBQ0UyNUJBNzEyIiwiMHhEM0M3Yzc3MDk4Nzg2ZThkQUI5NzVhMzdBNzlDQUE2YTkxQzFiY2Y2IiwiMHg5NmZFM0M1YmI3YjMwYjg3RkE3MUY4MjIwMUY1YWNBMDRkRDcwNTk3IiwiMHhFMEI3OWY1MkM1ZDJGRjA0RDU4QzI5QUQyYmIwOENjQTlEMjJhYTEzIiwiMHg4OUQ5ZjY0RjY1Yzk2RDIwRjYxQjVmYjNiRTQ2OENlMDkyMjUxMTgzIiwiMHg3NkNmNTU5MTVGRUQ5MDdBYzg1MjNBOTY1OTdhMWZiOWEzYzE4YjFmIiwiMHgwNmFlM0MxOGYxY2Y5ZjZFYTY3NGE3YjMzNzg1MzE4QjFCRTU2NmFhIiwiMHhBQkI5RmQ1NzQ5YjJGNDAxMGM3OWZEYmIxNThmOWIyMTc2NWZBNjMyIiwiMHhjOTJhNEVmMkQzMjdkODhGN0QyNGYwYThGRmE0YmQ3MjA5NUVEZTQ5IiwiMHhBOTk1OTMyRUZmNTFENmIzODJBNmI2MjNkMUE3MDRhOTI1Y0E3NzJhIiwiMHg5NTM5RTZEMjlkZEE0QTExZDI3OERBZEFDRDcyRUZFMDI2NkI1MzVmIiwiMHhmOGJmN2ExNDNjNDVDYThFMEVGNjJBQWE0NmM5ZjZlRjQ5MzA5ZEQxIiwiMHg5QjZiQ2RENGYyQzU2MUJjZTRhRDhEMGZGMkYxOGEzYzg1NjlFZjhiIiwiMHhiMjdjNDMyZDQyNjJjOTM3N0Y0NDFBMTY3Zjg0NzY3NmI1ODNBQUFjIiwiMHg0QTlFOTI3Zjc3NkM3ZTZmMERCMTkyRTA0NUQ1OENiMzY2QThFNmNlIiwiMHgzM2IxNDZCMEIyRDNiMDVCRjAyZGUwYjlFMzIwNjAxNzA2QjNFOUEwIiwiMHhFNWIwNjkyOURBQWUxNEQ0RjJjNjhDM2I4M2YyRjQwNzg5MzdFMjc0IiwiMHg0RmRkRjI3N0M5YWMyRDg1QjcxYUYyRTk0OUU4ZDhhODlENDJjNTYzIiwiMHhFMjMyZTU2NGY2M2RBNkM5RmQ1YzJEQ0I3MWI0QzI1MjQ1ZWY0OEFGIiwiMHhBRUI4ODFEODgxQzc0ZTczMjgxZDA5MDJkMEEwNjY1MkFGMTNlRmFhIiwiMHgyOGQ3MTcyRURlNEY2RTNjMTUyNDg0NzU4QkRBNjUyN2NFYTA3MDBDIiwiMHgwZTAwOTE3NTBFNDdCMDAzZjlmOTIwMWMxNDRhOTE4N0I0NTYwYmNlIiwiMHgwZDRlNzIwRTU3YzYzM0JEM2Q3MDI5OThBQzQwYWI2RUMyOWMxQzA3IiwiMHg5ZDlmYmE0ZEE0RTQxQ2Y5ODcxMTEzMDREODM4ZUNFYUQ5MmIyNTQzIiwiMHhhZkVhMmU0NUQxMTJhOEVkMzY2YTJhQzI2NjI3MUQwNzhBRjI0Njg5IiwiMHg3QzI5NzU5NjgzZjkyNDkwZkY3N2Q1YjFiRTM3ZjdBRTZFNjg1RTkxIiwiMHg2Njg5MTY1MTY4NDk1OTY1NDVEYjUwNERGMTNkYzkyNTc5QkMzRUEwIiwiMHhENUYxZGU0YWZFMjY4ODE3MDJhOUM3QzkxNDhEMmNkYTUwMTg3NUEyIiwiMHhCODlkNTU1YkYyNTRBNzY2RTRkNUIyYzcyRTYzNzFDZUY2QmFENTk5IiwiMHgxY2RiMmFEMzcyMzY1ODMwRTdlZEFDQzhmODM3MGIxRUM4NDRkNzI4IiwiMHg5Q2E4ODRBNWRGN0FCZTQ2MTkwMzU1OTZEMzlEOTEyQTFBMDIzNDBEIiwiMHg2YTdBOEQ4ZDNENDBEQzMyQ0UxOGFDMGU1RDZiMTAzMjFlODY2MzMzIiwiMHhhMTA5QjQ5ZDlEODljMDA0YWJCN0EwOTMwOTlCMDdlQjlEZkVlZEVhIiwiMHhGYjJGNTQ1QTlBRDYyRjM4ZmU2MDBFMjRmNzVlY0Q3OTBkMzBhN0JhIiwiMHg5NzQwNDk1NjJBMzY1Mzk2YTQ4YTlCMDBGQWNkOWU2MTc1OEM5MDU1IiwiMHg4ODY3QTkyMjJiZWJlMkMwMGM5RTYzQmI4NjdmMDVhRjlDRTZEZDAwIiwiMHhkZThBOTllQjUwMWRhMjM3NjREMzRkRjVjNzg0YWFhMTlBQTIxRUMwIiwiMHgyOUFmRjYzMzVmNjQxQzM5YjYyRmJEY0YyNWFkMGNmYzFjN0YzY2REIiwiMHgxODY2NTE0OTQwNDdiMkRmMjk2NDlEOTQ1ZTIyOTU2MjliNDlGODk0IiwiMHg2YjNBNkI3ZTEwZDBBOUVkRTI3N2FDNDEyQUYxRWVEYTdEYWYxQ0RlIiwiMHhiNzJFMjYwY0Q5MThFMTNEMDFhQzU1MjE4NmM1QTViMzMxMjgzNDUwIiwiMHg4OTYzNUY3OTJGNGNmRTI0OTlFYjFCQmRCYTk5ZTVEMTYyZTQyN0ZhIiwiMHg4NmIyMjI4ZDNEN2FmQ0ZBNzQzMjQ5ZEZjNTAwYTY1MDcxQjI1NDRCIiwiMHhiODcyMTQ1OTFFOTYxYWUxMjg0NERGMkZDMDcwQzQwMzQwMDFmQTkxIiwiMHgxM0RkZTU0NDc4NEEzZmZiRTMxNmE0YkZFRDc5Qjk4MTE0MzY2OTIyIiwiMHgwQUQ4NkJmYWNFQTQzOWI3MzkwZjUyNDk3N0VEMzAxRTA4RkUzM2I0IiwiMHgzQWRhZTY5Nzg2NDM4MDc3MjNkOUMzYTg1YUIwOGRlNjM0RkIzZTUwIiwiMHgyRWM2MGFCNTA2NkM0ODBmODExMUFFQjMwY0YyRTY1RTdEMTU3NTk3IiwiMHg5NTcxMThkRTFEM0Y4OWRjMjk2NEM5MmJlNzU5NzVCRkFjMTFmYTkyIiwiMHgwRTI2MzJDRjFmYzQ4ZmM2N2REQjlkOTc4N0FGQjk5Mzk5ZTk5MmQzIiwiMHg5Y0E5ZmZDYUM3QmIzQzYwMmZhQ0E2ZDExN2RBYzU0OGYwOWI2QjljIiwiMHhhMzI3ZGE1RWNDZEFEZjUyQzlmNUVkM2ZENjQwYzU2MEFEMGVDOGJGIiwiMHhmMWEyMjVCMjYyNEQ1MWExZkZjNDA4YTE3NmMwNDQ5OTlmYzk3RkEyIiwiMHg0ZUIxOUU4N0U5YjI3Q0YwZTVhRjAzMTVBQjY3NjE4M0I0ZEU1MzQyIiwiMHgzRjc0OTVBZTRBODNhQjJkNjI4QTczREY4YjQ4REUxRTE4RDc1OWMzIiwiMHgzN2U5QjMzY2YyYzc0MTUwMTM1YjlmZTIxODBlNTdDMDk0NGI3OEM3IiwiMHhCY2JiNzkwNjRjYjE4NTlDMDY4Yzg5MENiZTg1MkZBOTVjRjQxOTY1IiwiMHg2NTYwZjcyMDljQjUxYURBMkNhMjhkRTE3NTZlRThjRDEzQWM4YTRhIiwiMHg5NDA2RDhmRDgyRGI1QTdCNERGQjg1ZjBEZEQ5MWI1QjMwNTVCRGUyIiwiMHhFRTg0OTM4NTdlMEM3MDc4MDNFZDI3RjI4RDc3Nzk2MDcyQjI1YTEzIiwiMHhjYjcxMTY4RkM2NzVjZTAzMzg0YTI0MkQwNmFCMjk2YjU5RDBhMzU0IiwiMHg2ODQ5MjM0ODE0ZEU0QzMzMWQxNTU5NjE3NGVBNWE1MjQwRDM2MEI1IiwiMHgxOGZiODNCZGQxNWEwMGY2ZUUzMDE4QUE5RmFCQ0MyZEQyOTFmODI0IiwiMHhiNzQ5ZURhQzU3Mjc4QTg2OTg0NjkyZEQyYUExRUUyYWFmQ2Y1QjQ1IiwiMHg5YWEzNDI2ODk0Nzg1MzM4N0JjQTM5ZTgzNDZkNTM5QTkxQ0U2NzJlIiwiMHhCQ2VEMWNDZTk0OUJlZWY0YzM4ODQzOTMyNDMzQzRjRmY5NUU3MTMzIiwiMHg3NDlDYzU2NDgxQ0NBZDk4Mzc4NDE5MWYwODRmOTZBYzg2NThDOEU2IiwiMHgyOTc2NjkzNTJkQzY3NzU5NzE1ZDdhYjJkMjM0MDFlOUQ5OThDRjA1IiwiMHhjMzY5RDFFZTBmNUY5ODQ1YTVDMjk5MTI0RmY5NzJFZTNhRDMwRjE0IiwiMHgyMDI5NjI5Q0FBMWM1NjMwRTFiNWE5QkUwRUQxNzE2OERBYUY5Q2Y1IiwiMHg2NmI0MzI1NTNkNEExRTg0RTg3MzM3NUVFM0Q1NTQ1MTYyMTZBMTM4IiwiMHhkYURFMWM5RDI1MjI5YTYwNWM4N2I1NDgzOTI4YzAyRmY2NGJhQjAwIiwiMHgzODY0NTczMzBEODc5MDlBODRkZEYzYTI1QkM3ZjZkQmY4N2ZFMDVhIiwiMHhlQjI2ODE2ZTIyMjI2OENEMDA5NzRhMzFmOUE5ODhkQTQ5MjI1M0FCIiwiMHhGYjM5MDM5MzE0QmQ5MDZFQmE3MDlFZTlGQjcyZmEzRGE2MGJmMDg1IiwiMHhkNzc4MEI5RjY0YTkxRjE1MDI2NzZFZjExOTRBRWEyMTNjYjZjNTNiIiwiMHgyRGIyRUFkRjM2ODAwNTYzRWRiMjE0NTQyYzRBQjMyRDI2ZUE4ZTRiIiwiMHg0ODcxOUQxOUYyNGQxNTdENGYxREQxNEQ5OWJmYzY0QjNlNTczZDc2IiwiMHg4NTg5OWJhRTc5ZjI1NjQyM0YzYzYyNjk3QzlBNUNGNmE0RjBEYzNhIiwiMHhmNkY0MDM5RjVhREE4NDAzZDcxMDlGNjQyNjYxMDhBOEU3ODJjM0EzIiwiMHgyNjU0OURhZkNkRUFCMjNERTNDMEVGN0E4RjUyNUI0NmM4ODgwNTIzIiwiMHhDOUNmMTcwM0YxMkVjMWUwNjQzZjA4MjlhODZkODJlYWI3MTZEMEZEIiwiMHg3MzAwNzcyQzU2MjIxM2Q0ODYxMTk2NzhFNDI2MDk3NmE1ODIwQTM0IiwiMHg0RjZFYTc2NjgxMUY5MDBGZjQ3QzlDRDM2YTdjZGMzMDQ1YjEwQ2M3IiwiMHhBNTM0Njc2M2ZCMzkyZUMzYzc4ZGY1ODc5ZkYxMjJBOTA0NDg5NTdGIiwiMHhhZTIyRmRDYTNmNUU3QUQ3NDRjQkI3RTJjRmI4OEUyQjU2ZDYwODdEIiwiMHhEQ2Q1ZWU1RjM4QTMwYjAzNkQyMTAwZkU1NkQwODdBNDllMzllMTQ5IiwiMHgzMENhODdGZjU0OGMyNTBBRWE1ZWVGYzkzRjg1RTkxNzBlNTJCNjI3IiwiMHhmZENmYUZFRjQ0Q2YzODFkOGMwOTE3NjAwNkUyNTA3YzJlRDIxMTg1IiwiMHgzYWQyNUJkMzVhZWQzRjU4RmNCMjFDZTYwOWYzRDNjM2E4N2UzNDczIiwiMHhBNzJGZjlkNzJlQjQzOTg0ZDVjNGRGMDMzNEY1NGExZmI3NTU2QjBDIiwiMHg3QTg4NDZCNmU0MTVFQzBiMjZlQzRiOWY5ODhDM0VjNzRjQjY1ZDkxIiwiMHgxNzY0ODNCOTYyZjEzMmYwOTNhZDIwRDExMmZCQzY1QzUyOUQxMEZmIiwiMHg5M0NGNDVjNjFDOEQ4RUEwQUYwOTg0ODEwMGJiN2QxMTJiNjc2OTA3IiwiMHhCODE3MjA3NmNlYjM1QjY3MDFGOTZlQjkwODg4MThFRmMwMTBCRDQ0IiwiMHgzNWVBQUUwNjUxQmM5ZDNiMGM2M0Q0OEFlMTNmNTQ3MDNiQ0ZFNjUzIiwiMHgyRjcwMjY4OTZhMDlGQzZGRTY4NzczOWVGYmQzNTAyMTY4ZDkxODBCIiwiMHg0ZkQ0NjQxOUVlNEY3RjBkODRBYUU2MTQ0RWJjOTBFMzBhRTYzOWJBIiwiMHgzRjIyM2JhY0UwNTE1QzU1MDg1YzhBYkM5QThGMDM1NTgzNDg0MzczIiwiMHg0MDFGNTA5NzAwYTY5RUJDMTU0ZEFBMkFiZDUyM2VjQzg0MmE4NDY0IiwiMHg0N0RjRUVkNTViMUM1M0YyMUFFYTEyRDgzMmU4YzlDNzk1RDczRTNiIiwiMHg3RDkxMzBmOWNCNzNiODAzODE1QUY2NjliMzc3RjkyN0I2M0E1NDczIiwiMHgwNDI5YzkxZDUyMDRFNzU3MUFjZDE2MmQ3MUMxNjE4MWFFNWY4MjhDIiwiMHhBZUM4NzU3ZTkyRUM3OGRhNzMxM2FEQjRjZmNFMTFkNTdGZDIzNThEIiwiMHg3QzY5ZmQ3YTg1OUM0ODQ0ZEZmNTQwMWIwRkIzYmNDQ2VhNUZGRUMzIiwiMHhhMGQ0NmQ3NUMyMTU3NTQzZWNBNTJFNzI2Qjc0MjczRDMwNGMyNzY1IiwiMHhFNWM1MjI3ZDgxMDVEOEQ1ZjI2RmYzNjM0RWI1MmUyZDdDQzE1QjUwIiwiMHgwODY1MGJiOWRjNzIyQzljOEM2MkU3OUMyQkFmQTJkM2ZjNUIzMjkzIiwiMHhjOUQ2OGM3ZkIwYmU0QzZFODY5MTUyYTlBYzRhZTZmMzdiZGFmMzFCIiwiMHgxZjQ2OGY4NzJFOThBOUE2NTI4NjkwNkUxN2E3QzQyY2RDZDM2RjBjIiwiMHg2M0MwQjI3MkVmNzI4MmNDZEE1MGM1NDBGZDU3RTBGNzc2NmJBMTFmIiwiMHgwOGU0ZTBGQTQzMzY4MDMyZjA5MmNkNzQxMjRDRGE4MERFOTYwZEJkIiwiMHg4NDcxQWQ1MDMwNUEzY0FhRjFjNzIzYzk5QmIwNTM3MjM3ODRGYjM1IiwiMHgzZWE3MTNEMWE5RDMyRDQwYzljMmU4ZWIwMWM5MjhjZjdBRGI0RTU2IiwiMHhkNTAwMmY3OTIyMTM4MURCQjE4MDY3YTJmNjYxNGI5REMzNTRFMDE1IiwiMHgzNTNjRTA0M2NjZGYzYWU4NEViZWQ1YzUzODg2NDFCRmYwN0M0RTI4IiwiMHhEREYyMEE5MjcxNmU4MzM0NzhFMzU1NzAzYkE4Qzk4YkYwMzE5OWYyIiwiMHhhNTQ2Y2QwMWJkMkYyOTQ1M2ZkMWM0MGEzNTk2RDNBOTUyQTk4M2U3IiwiMHgxY0Q5MjZmM0UxMmY3YjZDMjgzM0ZiRTcyNzdhYzUzZDUyOUE3OTRFIiwiMHg3ZjBkNzlmMWRBMzQ0MmFkZDk5MjBCM2I3QUNlNzJhZDY3NzlCYmU1IiwiMHhhMkQ2QzI2Y0VEZTc3ZGNBRTM2MDQ0Zjc0ZTM2MmY4NDg4QWEyOUJEIiwiMHhjQjZhRDZDM0Q5RjhDYjYwMTQ1YWYyM0EyNzUwY2MwNDhCQzMxMjFGIiwiMHg5NmEzZENmM0IwNmZiNjkzNzIwNzMzMzI1QzgxZjEwZDQ4RTI1MERjIiwiMHgzMTc5YzZhMGU5NTZBNTFFYjg4QTgyNjk1ZTlhMmZhZDRkNjA0NTg3IiwiMHg1NjkwRUYxZjkyMzAwNzkxMkMyOUNmNzQ2NzUxQkZlQWYzNDM1MTI5IiwiMHgxNTJBODdkMjJmZDhlYjA4ODA4MzVBYWU0M2I2MGNhRTc2MTA3OWMyIiwiMHg2YTgxRWYyMjhjZmM4OTY0Rjc2RjQzY2RlY2RjQ0NBRDE5MWJhRDVmIiwiMHg3OTc4MjExQTMxNDkxQWY1MjIyQjU2ZmJlQkJiYzY3Y2JmMzY4OWZCIiwiMHhFODU1RjUxNzQ5QTBDREI4Q0I4RjY2ZWVlOTVjNzc1OTJEYjE2OTM2IiwiMHhBQmNEYTgwMjIwN2Q1NTViM2MxNGNDODdGODU4MDRiQWZENjBhYTNCIiwiMHhEY2QyMTJlODljQ2M2NWVjZTllMkNGRjdBQWUzNTYyNEEyNjliMDkyIiwiMHgzMjQyODY2NjJmNmQ5MjU1ZkJCMDA2RDE2MDY5MmUyOTRiRGFBOTIwIiwiMHhDNzA5ODZFOUU3NzFFMjhkNjExMzI5M0QwMTkyODcyZmI0NTkxOUU3IiwiMHhDOTFlMWJjNTU2MzQ1QjljY2U3MzM1Mzg5QzkxQjc1MjQ3Mjc1NjZlIiwiMHhDM2NDNWJhYkE5OWZDM0Y3YkI3MjVkODVkMDYzOWZFRUI0NTA3QzUyIiwiMHhBYjQ5ZDY0MDk1ZjMyRmM5NDAyRDUzODQ4NDViZGU3ZjA4NzA2MDY1IiwiMHg3MThjY2FBMzYwNkNBMDQ5YjU1REVBZWE2ZGQyZWQyM0YxMWEzMTM4IiwiMHhjMjRiRjljNTEyMTE0Y2ZERTNlNjFlODEzYUQ3MDVENzdENUU1Njc3IiwiMHg4MWU1RjRFN2EyY2FFNzQ3Zjc0Y2EyMDVGQWZhZWIyNGYzN0M0Zjc1IiwiMHhDMGNmQjk5MzQyODYwNzI1ODA2ZjA4NTA0NmQwMjMzRkVjODc2Q2Q3IiwiMHhiOWFBZjNjNDIzNjZjYWZGOTkzOTBlNGJlNDY4Qzc3OUEzNjZFOTc1IiwiMHg3NEI3RDBlNjJjMDI1OTc2MjlmQ0E0ZjI2RTMwM0VFNkIxOTcxRTkzIiwiMHhCQjhhNDM3MjRkRThCQzA3MWQ3Mjc4YkFjQ0IxOTM2MzU0NWZFNzU4IiwiMHhGOTAwYTZBRWNmRjRBNDkzQTNkQjU0Njc5QThCRDRmN0U3MDViQTRlIiwiMHgxYjllNmU1MzZlMEQzRjYzRTVGNTY0YzhDODg4NkIxMDlEMEFhZTEzIiwiMHgzOTZhNEQyMjc3N2FBZWU3NjhjQ0NiMkY3NjMyMjhFZkExZkQ3NTg0IiwiMHgxYjY4ZjRCYTg3QTEwMDQ4NTJEMmM0ODE4OGQzN0Q0NmE4YTI4MTQ1IiwiMHg3MjMxMUQxQUJENTdGN2U2OGY2MUQ2OEE3ODA0NTUzMGY0NDI3RDYxIiwiMHgzNGQwNDQ4QTc5Rjg1M2Q2RTFmN2FjMTE3MzY4Qzg3QkI3YkVlQTZCIiwiMHg1ZWNGODdmZjU1OGY3M0QwOTdFRGRmRUUzNWFiREU2MjZjN0FlYWI3IiwiMHhhZWE0RDY4MDkzNzVCYjk3M0M4MDM2RDUzREI5RTkwOTcwOTQyNzM4IiwiMHhFRUUxOEM0YkZmMzEzYzE3NEM3YjI2MTA5MTgzRjRmQUM3RjFEYzREIiwiMHhCQTdGMkRFNTQxMjgwY2YyNDM5MTBEMEFlMjMwYmVBODlCMjFkNDk3IiwiMHgyMmQ4YzNDNTcxNDA5ODEyMUM1YTAwMTE1YUM5MDU5ODdmODBGMzUxIiwiMHgwODgxRUFGM2NkMzUwZGM2OUI0QTc2NTlCQ0U5OTM5Y0M5NDM3Zjc0IiwiMHg2OTg4MjRGOTY5ZGY4NDA3NjNEQTExNTc3YkMxODRmMWFjYUUzMUYwIiwiMHgwMmNjQ0U3ZDI3OGI0NDJEODlhZjkzMjZENTg2NmQzRTNjNDNDM2JkIiwiMHhBQ0E3MTY3M2Y1ZDdiMGZiRDAzQ0FiM0ZCMTUwMzc4OGM3ZDFDYzYwIiwiMHhEOTI4MGQxOTI3MUUyNjI5OUNGYTZiMUNhMDkzZTU1N2MxNDZGZjkyIiwiMHg5RjQzQzY1NkJFODQ5MGIxMGQyNWU3OTE1NzUyODM0N2M2MTAxOEUwIiwiMHg0YzcyODVFNDZEMmE2QTg1Q2U0REM5QWU3MEFCRDRDNzg3YjAzYUJBIiwiMHg5MzgwYmE3OTYxRjA2N2RhNGI4MmI5MTc4ODdmM2QyRWI2NjFlMmM0IiwiMHgzMkNGYUMzMjBCOEI2RDMxMzlCNDBCMzRBMzc1MzlkOWUwY2VlNzIyIiwiMHgyNmUzQzhjZGE4ZjdBNERCRDQ0OERjQjQ0OUU3YzJhMGQ2NjJGRTMzIiwiMHhiOEZGOTlmRTBFQmYzOTBhOWNFNTRmNTliMzc1MTAyRTBjOTdmY2RlIiwiMHgwQzUxMzZCNWQxODQzNzlmYTE1YmNBMzMwNzg0ZjJkNWMyMjZGZTk2IiwiMHg2MDY4N2E5NTg4MkQzNzE5ZmQ3ZjJkQWUzMzBDMjhBQ2QyYWQ4NDhEIiwiMHgyRDg0NjRCOTQ0OTUzRUQzNzQ4YjlCNjE2NTkwNjc0NDg2MDkzNzRhIiwiMHg5ZTY5ZTE1YWY5OTRiQjI2NzRkNEE4YjQ0MTk0RTA0NDVmMjg4RjBGIiwiMHgyNjBDMTM1NkUxMzc5ZGM2NTEwOTkyYjQ2YjViRWRkMmIzNTg3QzU1IiwiMHg5NTNDRWJCYzE5QWQ2N2ZkYmE2NzkwNzNjYjhhMzg3RTRkNDBlMDEwIiwiMHgzZDY3Mjk2N0EyNkE1MEZlQkQxOGQ2RjBjYzFEMjliMjFjQTY0RkFhIiwiMHg5RTQ3MDA0NDViRDBkZUVFREU3NkZiMjNkY2E5MDQ3OThFMzA0ZjkwIiwiMHg2NTZkMTkxODFGMzNiM0Q2RTkzNjA0RDFjRDk2NTUyNDVFZTBhNjIyIiwiMHhjMWJBNjMxNjNlNjA1MTgwYTIyMWZjMDkyOTE2NTg0MjZBMzI5NTg1IiwiMHg4Mzg0QjY3OWFCNTMxRTNhMzQwZTBFRTAxNzVmMDBBOUE4NzhBNDgzIiwiMHhmNUM4MGRFYTg0MDM0YzIxMWRkMzBFNkU0QzAyZTU5RDYyOTYzQ2MwIiwiMHgyY2Y5MGYxODQ5Y2MyRGQzNjhBRGE4NUE4QzkyODQ5OWVhODljMzNmIiwiMHhmRjM1Njc3NjhEODVFN0NkZjZlOTNjZTRiMzkxQ2MxM2E4OTFGNTc2IiwiMHhDYzYzZGRkNDM5M2VEQjRGOTMyMjVCODhjYURhNzE1ZDY0RDNCMEU1IiwiMHg5ODRhNjY4NTM0MDZjMjZGZTIzMTc2OWYzMjcyOEE4QjU4MDFFQ0Y4IiwiMHhiQ0EwOGRBOTc2Mzk1RUIyOGI0ZTVDMDAwMGJBMkFkQUY2ZjYyNmQ2IiwiMHg2OUZFMGM3OUIzRGZCQzIxRjY1RDUwYjY1OWUzMjI2OGVEZkIzMEZFIiwiMHgyMkMwMWQ3MjdCY0UzNjRiNDg0MjBCNTEyYkM1Yzk1RkZFQ2U0QzRBIiwiMHhmODQ2QmFmOEFEMGRiNjE2MjhERjY1MEM2MzE1MjU5NDQ5YTZmNzk1IiwiMHg0MDlFMGUzMkRCZGYwNDA1N0JiRTZBMjQxM0E0MDkxZmY1NkJBMTY1IiwiMHgyOUY1OEZGNWNjMjRCMjZkMUQwOGFiQWY5MTYzQURBNjc4REE0MTkzIiwiMHhEZTU1YTIxN2U3N0M0RWIwN0IyNjA3MDM0NjYwQzZmNEM2NjkyZEVEIiwiMHhFMmQzNjBERmQ4QjZkQzVFZENkZjBCRjRGZkNlRmUyNTJFNDhFRDNCIiwiMHg4YzFkQkJjNGVDNjE4YzQwNEMzMGU1NWIwZjIyZWE5RjFDQzE5NGUyIiwiMHhmZDY1QjUzNWVGOTUzNjFhNDY3OTE5MEU5OTgyRjQ0NTA0MUMwMTU3IiwiMHgxMURCYjBiZTA2MEM5NERmZjU1OTM1Mjc4ODFFN2U4NGNFZTVlODIxIiwiMHhGOEY3NjAyNkQwNWI2RDAwNTBmMGI5N0ViYTM0OUIwMWZCOUM1RDczIiwiMHhmYjVjNzlBQTg5ZWVjOWQ1NUUyMzkyZDI2OGNDMkEwM0ZhQjM1NkIwIiwiMHhBZEI5ZGZCQjdjQTJBRjdjYTNiMjBjNzZhRjJmYzMxMEI0ODBkQmNlIiwiMHgwRGM1QWE1MjAzQjU2MDlkRjNEMjZmRmJiRGY3RDk3MzY2ZThBOTY3IiwiMHhGOTY5MTRkOTQ1MjQ0ZDZCMGNBMmZGNTg2MjI0MUQ5NTEwZkEwMkRlIiwiMHg0ZTNGNjEyRjY1NzM4YTg0MWEwNWU2RUI1MzY1M2Q1QjY4OUZjYTk1IiwiMHg0MTU1MGRCMEY3YTZlMzFkMWUwODhCY2QwRjhBNEJENzc4QTcxNDZEIiwiMHg3MWExZUVlMkM1ZTRlOGFEZUI5Q0RCMEMzMDQ2NjhkYTc5QUZGNmExIiwiMHgwOUM2OTE1OUFGYjI5MTE4N0U4YTlmNzI2N0ZiQ2YwNDk5Zjc0OTMwIiwiMHg4RjYwNGE0NWJBNUI0YjgyMTdiQzE0NzA0YTJkYmQ5MjM2NUFhRWQyIiwiMHg0ZjY1OEFiMUUyMTQ3MEUwZmFFMjk3NUJBRWUwM0M2OUYxYWE0Mzk4IiwiMHgxQUMyNkFkMjhEMTVFYjFkYjEzNDhBNTc0NDM2Njg5N2YxNjU5NjBBIiwiMHg5RDI1NDgxMkIwNTZjNGE5OUVkMDI3Rjc4M2VkNmI3M2NGMThjMTM4IiwiMHg3Mzk0ODA3OEMzQjc1MTMxNjE3OUE3YTEyMzcwZTRENUExNjQ5YkExIiwiMHgxNDhjNzgzZDBlZTlkNzc4NTJkNTlFNjRlNzIzZmVFODk5NEMyN0VGIiwiMHg2RDQzNzhBMTkyRmIwMjk0NkY3NTc5OWM1QzY4MTAzNDFCRjMzQzEyIiwiMHhFRUY0M0QwMzFFMTEwOTdiZkJBMTI4MzE0MWI1Yjg1MDY4NTlBQzcwIiwiMHhiNjY0RGM2NzIxNDA1NGRBMjA3ODMzYTdhZEQzNzQwYjUwODNhZGE5IiwiMHg2ZTA5Q2E3N0ZkMDM0ZjA2MTQ3RTkzRURBMTBjNEJGQ2Y4NDRFMzY1IiwiMHhGZTIyMkExNjdlMzI2M0U1NDQ1NUQ0Rjg4OEVFNUUyRTgxYjhERkY4IiwiMHg0YzE3Q2M1NTEzMDY3OTI1ZUM0MDYxN2QxZTg0RkVjZDM3YzI5YTAwIiwiMHg3OUUzYkYyMzEwNUNFMTE3OEE3ZDBkMzBlRDc3ODFENmRjQ2I5RjViIiwiMHhjN0I1NmM4MWFmNmVkODlkZDEyNjNENjkyRjc3YzE5NkQ3RGY3NkRhIiwiMHhEOTIwMTAwN2IxQzNGOGRjNjA5N2I1MDM0M0M5NzA5NjFmYTZhM0M3IiwiMHgyODUxNTQyZmFGNzhCZDM3ZTBCM2UwZTQyMDUzMjNkMTE4OThFNzczIiwiMHhmNDU4RDJkQjZkMWI5MzUzRDhFZjllNmJjM0QzMjI5OTI5N0NhMjE4IiwiMHg4QjA5MkE1NGIyZWQ2NDNjNjYxNzY3MWZDMTMzYkREYWE3ZWRFMUZGIiwiMHg2ZDQwNmE5ODQwZjAxYUYzQzlhYzgzMjQzOUU4MWE0MDdGQzFENjc0IiwiMHgzOGI2N0REZTU2MDQ5NTdCQ0I4Njg4YzYzN0YwOTUwRDlDRTMzODlFIiwiMHg0ODVGZDQwQzVkQWQ0MjQzMGYwYjRBZTZEQTY1M2RhMDE5N0EyNTNGIiwiMHhjODkzMjM1ODMwMENiYjNhNTRjRjZiMDQ5Q2ZCZDVDODFGMTNlYTkwIiwiMHhCNEZmYTYxRTM5NjllNUIzRDNCM2I4REZiQTRkQTAxNDkxRDgyNDI4IiwiMHhFYjM1MmFiZEQ5ZERDRUZiNWUxOTZDNjgzOTdkNUYzRUExNGU3QzQ1IiwiMHhFNTJFNWJjQjlhMjQ2QWFiN2YzZDIyQzA2ZDM3MzI2NGNCMzg3OGMzIiwiMHgzMmUzNkM5QzA4N2E4MzBiMzQxOTYwMWJDYmNGM2MwYzVFNjZjMTZFIiwiMHg2YWY5MDEzNGJmOWZjNzBiQkFEZUQ5MWM2MkFCMDk5MDM1QzcwMzk3IiwiMHg1YUMwNDFhNmQ3NjBFYmY3YjZkMjdDOEY4YUZjY2QzMDcyMmYyMTJhIiwiMHhFMTVBZjJBN0EwQWQ1OENhZjIxODNjNUE5NjkwNzUwNmEzZERiZDk2IiwiMHg3N0I5RjNiMWY4QUU5NDg2M0E2NDEyODNhQjk3MjI1ZDAxZGMxNmM4IiwiMHhmNzlDZTVkZGQ5NjM2ZUZEYmRmODhGNjRlYzM1NDQwM2UwNjM3ZWUzIiwiMHg1M0EyMmEwRjgyQjZkN2E0NzY0Q0U3RUJmRDZkMUE5ZDQ5NTZEQWQ1IiwiMHgzOTg3ZEJGMDlkMjY4MDFEMWE1MTdhRDFkMmU4RjYyQ2I5NkRENTRGIiwiMHhjMDMyNEM4YTAxN0I5QzA5YWZFYjNFNWU1MGE3QzJCMjgwMDU2NjA1IiwiMHhkYTY3M0M0MjE1NkU5OTcwOWQzMjhBQjNBODBCMDJFNjVFNWFlRTJGIiwiMHg2NTUwNzlGN2UyQjQyNzlBODI0MEI0NDFEOGY1OTEwNzg0OTcwMzQyIiwiMHhhMzg0Njg5NTBBOTlhOWE2NzIwQTZCNzkwNjcwMzM0MzU5N0M3Y0Y1IiwiMHhFNmVGREIwOTRiNzcxNEQ2ZTc4OUQ2NGQ1YjFGQ0RGNTMxMTU3RGVkIiwiMHhCNjkyNzJCNWE1ZTI4NjM3MjRiNTM5ZWYyYjE0MjNCMkEyNGY2RDA0IiwiMHhhQ0ZlN0UyOTg4ODM0QjNiOTM1YzAwOTQ0NkUzZThkRjMyRDczREVjIiwiMHhDRkY1ZTI2NTk0ODFiOTc0YjdBOWM3Y0M2NjBkNDYwOThCOUM4NzZiIiwiMHgyYjExNEUzYzI1Q2VFQThhOWZjYzUxMDA4RjMzZDdmOUE2OTdGMEE4IiwiMHg3MGRhNjIwNTBCMjZjRjJEY2M0NDY4MTE1ZDlkQjU0ZmE0RTcyMjZiIiwiMHhkODVlNzhkMjJDMjNhRDQ5RjRDRTBFMjZFQjQ0QTdEZTg0ZTZjOWRkIiwiMHg1QUExM2FkMTNBNDVFODI4REFGMUQ3MEVmZTI3NTk5QUY2RmY5QkRCIiwiMHgxQTY5MjE0RjVlYzQyRjFERTdmMDA4MjdkMmYyNjNkNTkwYWQ2ODRiIiwiMHg2MzQ5NUI1QjdGNThGNjM1NjBlNDc0YzVmQTAzOTEyMTQ3NWE4Y0U0IiwiMHg0ZTNGMTRkNDVDY2VFOWVlRTdFNTU2NUYxODc2NTc1ZkI4Y0Y2OTJEIiwiMHhmYzk5NWY3MDdlNWI5QTg4MzIzMmFiOWQyOThGNWExODlmNWFDZjE0IiwiMHhFRkRiNjYzMWQ1RDhjZTNjMUY1OTAyRDNBMjQxQTZBMDJBZTJlZmU3IiwiMHg3ZmE2NEE0QmU4OEY5QTY2NDAxQzRhOUNjZTZCMDU2MGU1NTAzZjE3IiwiMHhBQzMyMUM5MDA0MDY0ZTZiRGQzNEM4Y0YyMThlYzkzOEM1OTI2NjkyIiwiMHhmMWRhNjYwNTJCMTYxMWM0MjVDZmRBMkUxRDEwOTQ0ZkFkYjkyYjY0IiwiMHg0NGI0MjM2NjE3NjcxMWY5ZGM1ODAyMzRlM2ZkNzMwY2JmZDI4MEJlIiwiMHgzMUVDRUJjNUFEN0QxYWVGZDVkYTg3NTY5ZERFMzZkYzkzODZhZmZGIiwiMHhFNDkyQ0I0ZUZhMkIwYzgyNTI4ZTUzNDQwMTcyMTI2YkUyM2EyYTQ2IiwiMHg4QjU3ZTA4YmNEMDE0NjU1OEJDMDY1MTk0ZDU0OWI3YTExZDc4OEIxIiwiMHhCMDk1NjY1NjBEODUwODk2OTc3ZjQ1MzQ0OTBhMzEwMzU3YmJlRUY0IiwiMHgxQ0UwYTFDQTdDYzllZDdmNWVFRTBBOTRhMzY2NUU2NDc2N0VDOUVhIiwiMHg5Nzc2YTIxNDI3MkFCNDUyZjhDODhDNzU3NkRjRDBjNmZGYmZlZTE0IiwiMHhjQzM0MThmZTg5MTM4M2Q3QWVBNzUzMGMyNWI0YTVmNTIxNjA2YjJiIiwiMHhiMWY1MTNkN0ZDMEI5OTdjQkI1NDRjNkQzRWExNjA5MTk5NjU4YjBkIiwiMHhmN2M1YzM5MzgzNDI2NzFCMzcwRUVmMzM5MEQ5NjY5OEUwOTc3NjRiIiwiMHgwN0U5M2Q4NGFEZmE5RjVENDE0YjgxOTIwNjNjNEEwMzRDODA2NTlhIiwiMHg3NUI2MkQ5RmIxODc3MDRBZGZDNDlkM2U4YUVCNUJCRTUwOGFCOEUxIiwiMHg1MGI5MTRCODUwOUYyODZFMkE2Nzk3NGNiNDhGZjQ5MDE5ZGQ4OTFjIiwiMHg5NDU1MkVGYUVmMDIzNjIzM2I5MDU1NDg5M2FiYjZFQzUyODUwZDIzIiwiMHhCNGIyMzYyMzg2NmI3RDAxRjgyMDc2MkNhOUQ1QmRGOTA3RjdGMDZGIiwiMHg0MzY5NWEzRTM0ZDEzYThEMTAyNzUxODkxMDkxRkUyYzMxY2VEZTA1IiwiMHhBQURDRTg3OWU5RTI4NmEyYTY1NTlDRjI5MDdjNzNjNDk5NUUwMWQ5IiwiMHhFNjg3OTEzNDA1RUQyRDNFMjdCY0ZDMDJGRTVGNmFDYUU2OEYxZDgxIiwiMHhjNTREZjMyNjE1N0U0ZjBDQ2M3OTQ3Yjk4ODlkYjQ3NzdERWMzYUJGIiwiMHhjOThCQ0ZGZGQyZTk3YjNCMzUzMDczZWJlNWRhZTIyMzkwNEQyMUQwIiwiMHg2QTcwODQ4MDRBYThiNUZBRjQwZWY5RDk0QjU2MzY5RDkyMGI1OUM3IiwiMHgyMjMwNWU4NTlGODA2YzMxZmEyOTM0RkEwMzdCNTVmZjgyNzI3N2UxIiwiMHg3YTBGMDkyMEY3M2FjYjYzZUE0MTIwODM2MjI0NzJGOUNBZDg1Yjc3IiwiMHg5NDUxRjRhZjc1ZDE2OEExMjY1NGI2ZUJCQzM5NkFhZGU2ZWEzMGJlIiwiMHgxMzQ3MmE3RjEwQ0VlN0FjQWU4ZGM1QTk0NjhhOEZmNTNjNjBEMzNmIiwiMHg1QTgxQTQ3RmM1M0ZGMmFDMTQzNThEOTQ4RDBmNjE4M2ZmQTIxYTBlIiwiMHhkQzk1MzJGNmFiNUU5MjE2NGM3NDAxYTQ3RDY1OUUxMTk3MzgwNEFkIiwiMHgwQmE3NjhCODAzYzlEMGE4MzJmY2FDQjlBMjhGZkE1NzBFOTlmMjVCIiwiMHgyNDRGZDI2MDcxOTUyMzkwYTdCYjQwRkI0ZUMyRjJGQ0U4ODZkN0Q1IiwiMHg4OEVkMWNCZTY1OWFmNzczOTVFMWY5RDc2MWM3YUNmNjE0MjI5ZjhEIiwiMHhhODY1NjcyQzFkQmU5NzA4ZDQ5NTk5Y2VkMTEyODI1QTMwN0FmMDY2IiwiMHgxNDVFMkIyY2E3NUM3Yjk4ODdFMDM0YWFiNkFiQWEyOTE2MTUxZmExIiwiMHg4OTI3NjE2MTEwY2YyM2M0ZTg3ZGM5ODYxNGVCOUZCYUFFOTUyMTZDIiwiMHgyNmJCRWQxQjlFRjE4RTEzMDFBOWE0ZUE4NEQwOEI0MjhBMDVCNThkIiwiMHhjZDQ0YjVFQTMxQTREOTgwZjg5OTE4Y2E1NzA2NDk3NjU4RWM5NjBhIiwiMHg1OTM1ZTBlQjE0QjBEOGUyNDZmZDg3MTAyYjFBZDkxQ2UyNGRDODM0IiwiMHhmNTE0NTE1NDBjYjcyOWEzYzBiYzU4NTE4NEM3ZWUyNTlhNDMwNzBhIiwiMHgwRmRjODY3MDNDOTM4ZTNFMWNiYzlFMTRmMjFjNkJGNzA5YzEzYUNjIiwiMHgzQjA3QzZkMjk3ODM0QjNBODczYzcyNjNiNDFiOGIxNEU2QjE1MzMzIiwiMHhhNDRjMTE1NkFlMDljMjkzODI5MWI3NzdBNDk0MDEyMGUzNUNmNDQ1IiwiMHhDQzFmZEEzZDgxNzk4NDIwYTg2QUJDYjI0NWE4MzU5YzYyZDE1NTY5IiwiMHhjZmI2NDNCMjk4RkI0NDI5YjQxMEY3Y0NGN0YyOTA2YWY5Yjg4RTAwIiwiMHhhNTg3OUY3ZDA5OURhMzQ3MDNGMjNhMmRkMWFmRTI5ODdhQkYxNWFlIiwiMHgwNzk0NTU3MzEzODIxN0E2YzMxMzVlNzA3NDNFMjI1MjU5Nzc5QWFCIiwiMHg3ZTljQmRkNUMwNTFEMjcyMjgwNmUwYTA5YjVFQWUxMjUyYWQ5ZGQ2IiwiMHg2QjQ0QjdhNDRENzVCNTkxMDU0YkZmZERDZDc0NDU0RDQ0MDIyMEZDIiwiMHhiM2VGNWI1ZTkxNjg5YjI4MGQ1QTA1QzQxNjA0MDhGMTE5NUExMjQ5IiwiMHgyQTRjNzE3MjJFRDlENzA2NjVEMzQwNzBGOWZGNDcxOThjOWUxRjRmIiwiMHhBMTRGNmI4M2JhQjcwNTU3QWZkRkQyMzM2NkU1MEM4OWMyMTNDQTgwIiwiMHgzMmEyMDU3MjZGOUQ5MmQxNzAwMDNmYmM4MzFjNjk5ZUZFODgzRTQ3IiwiMHg4NjdkRDQzODU5RmIyQmZkN0M0OTYxM2Q4NTc5YjhmOERmOEYyOUU4IiwiMHhEODkzOGJFZTExNDg2N2ZlY2FmODM5YTRlNDZDMDY4NTk4ZGQ0RjA0IiwiMHg2QzdFN2ExNzA2YWQ2ODBmRWZFQjQ3MDM3MUUwODcxY0M2ZDdiMTlhIiwiMHg0ZDE0OWEzRWRCYmI4Yjk5Y2ZmMUQxOWNFQ2QwRUZjNTlFMDI5NTc3IiwiMHgzOTE0NUQyYjYxNDA2ODJDNDZGODM5ZUIwZEREODJmM0Q2NTFCNjQzIiwiMHgyM2JDMzY0NEM2YkM4NmIwMThlNzcxNzY2M2JBNDAwMDg0QWQ4NDU0IiwiMHhjZEI0NjNmZjcyM0IwZjZhNjAwQTg4ODg1ZDRlNzUzNzg0NTU5MzkyIiwiMHhFNjAxNTc2RjczQkU3Nzc3OUEwMzlERDExYzdDYTQ5Rjg5RkUxMDg4IiwiMHg5NTI4ODI1NjJjMDM1MDZlNzU1NzJGRDRFOUI3QUQ0ZkM5ZEE4NjA0IiwiMHg0NzA3M0MwOTRmRDJlNEE3QTAyMDExZDA0RjZhYWYxM0FmQmYzNTFDIiwiMHg4RmZEMDBCOTAyYTRCMkYyMUJiNkMyRmIyMjIwQzg3RDI1ZUUzNzczIiwiMHg2OGE1ZjEwOTA5ZGEzRWNiMTQ2MGRjODA0NzNEZUNkMjU0NjhERDI3IiwiMHg4MTEyYTdFOURBRDc4NTcyOTg5QmNEMWJhZTNiOTNiNEQ1YzM2NjhBIiwiMHg3MENDMDVBNTg4MUU1NzVlMDQ0RDk4MDczOUM4YTlmNTExNWVmNzdBIiwiMHgwN0E3OGZEQzc2Y2I2MTJlOGYxYzkzNDREMjRjMTRGOEE0QmI2ZEFmIiwiMHg1OTI1RDg2ZGE2NzQzMjMxNTIyNTMwMkQ4YTJGNDI2OTczZjRjODdjIiwiMHhkODljMDc2ODZCMUZjOWUyQ2QwOEFCMjdEOTFCRjRBQTE0RGQ3M0Y5IiwiMHhiZjg3ZjExMzcwZEU1MUE5YjQyNEYxMTM4ODMzMTRlMDFhNTA5QkFlIiwiMHhkNWVjMERhQ0QzZjBFQTlGRDRmNDU3MGZiOWFFMjk4RmJmQkZlRTVmIiwiMHg1ZDE2OTQ4YWI1RjgxODkwYTI0RUU3NTNEOEI0MzU0NGE3QjYwNkU1IiwiMHg4YkQ3MjQ0RjIzRDU4M2M3NDE4QTJCRTUzNDYxZTRDNDVBYkIyZTZGIiwiMHg0Q0VGNzg2NjA5NUREMDhmNkYwZTRjMmM0ZjEyRTI4MUUzNkMxMTI3IiwiMHhlRjBENTA5ZmQxZjBBMzhlMTg3OEVhNjY3MzlFNTNGMWZEQjc5OEViIiwiMHg1OTZBYjNjNzY3NjBBQkI5ZmM2MjlFOTEwRGQ0ZDdmMTRlZjcwODY0IiwiMHhjZTcxQjUzNjEzMGFCNjk5NDYwRTMxOGZkNTJkQTQ3NmJmZGE3Q0E0IiwiMHg0YjI5NEUxMmRFNzc4ZmZiMjZDOTZCNWE1QzI5ODBiMDYwNjY1NTBjIiwiMHhiNkE2YTNEOEVGMzFEOUZBZWIxQUIxNDg3YUNlNzlGZTFmNWRmMUJCIiwiMHhhZWJmZUE5MjRERTQwODBDMTRERjVDNDMyY0VDZTI2MTkzNDQ1N0UwIiwiMHgzZDFDQjc2MzhkNzM2NTdGN2U1NTRFZGExRDk3NzAzYmMyOUQzYzE1IiwiMHg5MjJBNDExQjBCMjgwMDczRjQ5MEZGZDM0RTZEMkIxOTgxODIyMUE3IiwiMHg0QjMwMTU4ZjJCMzM1NDRkZWIwYzAwMzA0YkNkMDlGMGVDNDNlMDM2IiwiMHgwMDdGNzRjNUM4MmQ2OEExMzhDYzNCYzYyM0U1MTI3MDI3OWZhNTI1IiwiMHg4NzZGNTEzZTlmOTEwOTkyNkU4OGQ3NjA5Q0FlQTlDNDVFNTI3QzBGIiwiMHg3QTVEM2E1MUFCNzgyRUE5QzhmRUE4MzczNjQ5NTY1YTIzNjgzOTFlIiwiMHg1MGUwNTE0Njg4NzYxNTg2YjNmNzE4OTQ5M2JBZUNERWY2NjQwYzA3IiwiMHhlOGQwNmMyZDcxNzM2NDk5MWM3YmRGMTVEOGYyYWNFMjYxQTE3ODQ5IiwiMHhjMWU4MGE2NDgwZjllNDU1RjYzRkZDN0Y5NUY4YkVFMGVkMjg4ODAyIiwiMHgzYkIzNGJEOGZERTkxYTRGNDkxOWY0ZDJCODI4QUFEZjg5YmUzMUVjIiwiMHg0NThDMzJENTNEQTM2NjNiYmQyMDE3MDhGMDdGOTlCMDc1ZGY0NjIwIiwiMHg1N2U2OWU0Mzg1ODk2ZmE0NTExZjk1OGU4OEQ4Nzc1RkQ2YThjNkMwIiwiMHg3ZUY2RUIyMzUxODcxNzliNmU0MmZmMTgxNTQ2OTk1M2Y5OUQ1MjJiIiwiMHg3OGQ2OTc0NWJhMzU0OUMzRDZCZjAzZTk1QzhlOTU1MDM4MUYyNDgxIiwiMHgxQTkyZjFhMjRENjhkMTM5RTgwNjlmQzY4NzYzZkI3OGUzRjFlRDhmIiwiMHgwMWI5QTIzODI3MjM0NzFmZjExNTZFZjdlRkQ3ZDc3ZEMwYzU1ZjZGIiwiMHhDNjM2RjM3MEYwMUYyMzExMjkyOGU0NERCMzdkMDgyZDQzOTYyNTRGIiwiMHhkYzk4NTU2Q2UyNGYwMDdBNWVGNmRDMUNFOTYzMjJkNjU4MzJBODE5IiwiMHgyNWRkRTExODEzNzhGZDhDZjU5NDg1Q0NmMjI1MDYzMDc0MzNhOWE0IiwiMHhlODQ4YzU2OWI2NmVjNjM2RURmNDJBMzNkQzRhOUREMDkxY0MyOTgzIiwiMHhFMThmMzNlNmZlRDJkQzU3NzIyNTU3NzRjM2MyM0MwMkY1MDg5NDMwIiwiMHhhQjQwMzAyODNCNjIyMjMyNUFjNmZlYzUzNjRlMjZiQTUyMzIwNDJhIiwiMHhGMUNFMEU5MDAxNzQyMDFCQmU4MDlCM0EyNUI0YTFFZUQ2NDQ0RTQ5IiwiMHhlZkRmZjM0ZEU2Y2I3NWE3NUJlZkY1QkU0ZEQ1NDQ1NzcyMGE1NjAzIiwiMHg3ZjhGYmY4OTAzMkVmRjFkQmYwMzdGOWM0M0ZmMmI0NDU3YjM2NGIxIiwiMHhCRWUzMEFCNjNDRDVlMEE0RTUxNEJFZGEzOGQwQjI3OEIwNDE5NDU5IiwiMHgwYjdEZUMyYUFjQ0VCYzAzQjU4MDI5NjkwMEY3RDgzNTM0NkFjNDg4IiwiMHg2MWQ3NkFEYjU4NDRFQzcwRTc4QzIwOTEyQzYyMTVGQmI3NjY2MkE4IiwiMHgxMjM1OWUwNDA1MTk2NkZBYTA0N0YzNzQ3NkVkNjk5NzRDQWQ1QmNFIiwiMHg0MThhRTlmQUE3NUJGQzRBMzkxNkY2MzY3RWMzQjY0MmM3MmQ1NjcyIiwiMHg0YjYxODA4N0RhRTc3NjU4MjNCQzQ3ZkZiRjM4QzhFZTg0ODlGNUNBIiwiMHg4YWQ4MjFlMWUzOGI2QWU1Yzk4ZDNjMUVjZmFhNGIxNDBmODM0QkUyIiwiMHgxNjI5QjAyNTlFNkU1YzMxNUI4RWVhMDlmZDFhNEQwQTI2MjkxRjk4IiwiMHgzZjlCMWRkNEY4NEIyNmQ2MjBBRmFCQkQwOThDNzBhOTE1MkM4ZThDIiwiMHg4M0JGRThCY0NkMzVkYjg1MjU2NmQ4ZkNBZGE2YTYyNDRCNEJkNjY0IiwiMHg3N2JDMzU1YTM2NjhGQmY3Mjc4NDBlMkZDMjM3ZTk0RjYwRDNBMzMxIiwiMHgxNzg0NTRDMzFmYTY2QjUyODQwYzY1MWUzMDk1Njg2N0E1OUU3YUY1IiwiMHg4MkFBNDhDQTFhYmI3MTAxMzc5RDFFMTlGN2FGMzE3RTFiYTBjNmI0IiwiMHhhNEVDRkQzRDM3NGQ3RTdkRTYzZTM2YzU2QjlhZmY5YjBEOTI2OTU0IiwiMHhGYzE3MzBGRkE0YjA2YjlFM2JjZmE0ODgxY2YwZGQ0OEY3RTBDREE5IiwiMHg1ZDBBOThjMjI1MmYzRTFhRTRlYzIzMjBGYUVlNWEyMDhCY2UzM0ZkIiwiMHg3RDQ0MkJGNjIyMDFkODg1NTI1MzAzNDgzODI0ZjlCMkQ3Y2JkNjc4IiwiMHgwNWEzNDgyMTcxMzgxQTUzM0E2NDQzRjIxQzBkRjBBOTU5N0I2NUZmIiwiMHg0MEU5NWY1MjVGRUUwNGFFMjVhZEU4MjNmNDZiOWU3ODBBQWY5Qzg3IiwiMHhhYzExRGJFRDVFMjUyMDIxNkY0MjdjMzk5OTQzMzRCN0M0YzEwYjY1IiwiMHhEYjcyOTkxMDZkODZkRGU2QTM5NzhiNTMyMTQ5Yjk4ZjE3Y2RGZjNDIiwiMHhDNzU5OTdhNEZGMmQ0MDdiRjc5N2YzNjgwMzc3YjdDMTRhNjE3MWUwIiwiMHhmNjAyMTA5MTI0NzAwQWZkM2ZkY2FjNTRlMDllZWUxYThBQ0NiMDREIiwiMHg0MzlkYmRlRjM2RDZEODk5ODM3RjBEYTA1RjBjMDkxNGM0QzI4ZjU1IiwiMHg2MDY5NkE5OEQ3RGU5Mzg5ZEY5OUU1ZjgyMWU3YmQ1MTQyNUMwYTZCIiwiMHg2QmRiNDFiMDQ0MEJhNTg0NzM5ODZDNzQ2NmQyYTI2NTZDRjU1OWUzIiwiMHg2ZWEyYWRFY0E3QzZiQjgzQzE2RDA5MDRjY0UxZjAwMDc0YmE4M0IyIiwiMHg0ZDdCQzRFNGM2Nzk0NEU1NTdFRDhmQTU5QTk5OTQ3MDFEZTBEOTRGIiwiMHg2M2Y2MjMxRGUyNDdkZGQ3YmVGZDhlMTA3YzY0REM4NzM5YjJlM2Y5IiwiMHgzRUEwRjBDOWJEMUI1RmU3YzA4ZTU1ODZCMzA0OGFkYUREZTU5QUM0IiwiMHg0YjQ2QkYzMjFGNENjNjQ3NzYzNzAyNTlCNGQyOTFENDY2YzcxNjE0IiwiMHg3MEI4RjY4NTYxQTAxMzdiQzZiMkQxZDE3QWE1Q2FjYzBBMEYwZTg5IiwiMHg0Zjk0RjI4ODhjMDc3NzcxMzY4NjBERTBDOUZkOWYyZmRkMkU2MmNiIiwiMHhBMUViNzk3RDQxMEJkMkUzMkM0NjAwMkI3RGM0ODllMGVmQ2Y3MDBCIiwiMHhkZTA1NDM3ZUU1NUQxMzYzRTI4YUQ2NkZlNDc2YTQyNjkxMmY2MjJiIiwiMHg4QmE1NTlkRjJFQWQzRWYwMzMzOTI2OEYyRTQ4YzMxOGZBZDRmNUFhIiwiMHgzNURlMmEyYjlmOTE4NTc1Nzc5Nzg5RDcyNDBiNGQxN0YwQUJCNmNkIiwiMHg0YjE0ODg0ZEU1OWFlZjhBNmIzQTM3ZjIyZDhhOWE5NmEyNGJkNDJFIiwiMHgwM0M4ZTNhNjI4QkQ2Mjk1Njg5M0I4MTE2QjNCNDY4NmFEYmYzYTljIiwiMHhBRDExOThlODcxOWE0OTdiMmFjOTc1OWIzMzQ0NjY1NDdCODljNzVmIiwiMHhkZjVGNGE3OTljY0U2OUFDRjUxODU0ODdkMEQ0RjIwZEQ0MDQyRkZFIiwiMHhEMzJDNDBDYUFCZDJlNDhiNUFCRDU2MTkyRmM3M0U3NjQ1NERBODIwIiwiMHhEYTlDNTk5YzlhM2M2NTk2MTk5REIyNTNBNzEwQmMxMEZmOGEwQUFiIiwiMHhjZkIwNjU3MDE5YzYxMzVlMzc1MkU5OEUwZDFmMjk4MTBiODUzM2FmIiwiMHgyNDZhRTk3MDkxODk1OGMwRTlCMDI4NzZCMjcwOERmNEQ2OENiQzJGIiwiMHhhNDUzMzQyZjlGOWYzM2M3MUJCZDQ2ZjRlZTdjNDBCMzRjRjg3RDBlIiwiMHgyRUFlNTNjZEZBNkYwNjM4NDMxMGQ4NDU3ZTU3ODIxRkM3MkQ2ZDBiIiwiMHhEMThkMWZFZEI3ZGFiYUZhYTMwOTllRDMwN2Q5NmMwN0M2NWNkOTg3IiwiMHgyNzg5MDc3NGQ2MGYzZDNiNDA1Y0NCMjRmMTI0ODVGMUExNzYwQ2MyIiwiMHg2ODU2MTBjOTJCODA5RjBlRGYwNzBkNjhjMGJiQjE1ZDE5OEVlNDc0IiwiMHhFQ2NCOTM4NDNDOTk3MmYyOGVCQTE0OWYwMTVDOTc4OTZhQkJhYmREIiwiMHhkNGNDN2IxZTFCNTM2MDdCNkQ5RmFjYTliY2M1MDMwQTkzNzM2YUU5IiwiMHhBMkM1NTQ2OGFmYTc2MkYyNkRmNjIxNTVFMTg2QTY4NjA1NjA1N2ViIiwiMHg0MWUwRWNDNTZmNEMyNmE0ODcwNjE4Nzk1NTU5MzBhNDg5ZTM0NzA2IiwiMHg3Q0E4MEMzOTVGZjI0RUVjOTFiYzZkODIzMTZEMDAzZmI3YTNENWU4IiwiMHhmQ0QzNzFBYUIxQzI1NjgwYjM3MjdEOUQ1ZDg1YjJBZWIwMjMyYTUwIiwiMHhGMDdiMEExMjcxMzkyMzk4Y0FGNjA3RGZiNzcwNzY2NDMzOTQ0YjY0IiwiMHg1NERCQzg2RGE2RUVCNzdCRjY2NGMxODdBOTA1ZTljMDU3ODBCYjMzIiwiMHg5MjU0ODVmMzgyRjg4RTQ4ZDJlMTc5MDdBMDkzN0NhRjA5ODg0MzcyIiwiMHg1MDQ4MDkwN2M1YjkwMWQzMjMzZDg5REU5REYxZjJjNzhDODRmMmMyIiwiMHhmOTRhNDIzMzExNjc5Mzc2RDVGQ0VBODNCOTJCQjA2Q2FlRmZiMWM4IiwiMHg5REQxMUQ3MjNhNWUzQWNDNmY1YzE2MTE3NzM5RWQ4MzczMTlFNGMyIiwiMHgxNEFmNTk3MkE4ZjQxMEQzZTM1RmE0RmY2MGMyMEI1MDA0NzJlZTNEIiwiMHg4OTJmNzdFQTcwNEVCNzg2NDU5NjNiRTc2ODAyNUU5MjI4OTkwNTBEIiwiMHg5NUVhZDYwMGE5NmJkZDM3MWJiOTM4ZDczOWFCOWUxNTA2RDgxZTk0IiwiMHg5ODczQjMxRDVkMDk5ZENBODhiMzlFMjREMzMxMWQ2ODVlNjg4ZjlDIiwiMHhCNWJmQzJkRUY0YTE2NERjYkI3MDNjNDhhMjNkMmIwQ2NjOTIxZDE4IiwiMHgzRjEzYjc0YkVDMDMzOTBCMjkwYTk4MDA4OTExNjhiZEY5RjZmNjY3IiwiMHhhNTZBMjgxY0Q4QkE1QzA4M0FmMTIxMTkzQjJBYUNDYUFBQzk4NTBhIiwiMHhlNkVGZEZEQmI2ZjJGMWU5OUVkMzc2RDRCYzgyMDU0ZTExNjExM0ZkIiwiMHg4NmY4MTUyZDA2OThkNjE4NzZBODdhMTFlNTM1NTM5MDc2ODg5ODM3IiwiMHg5NjEzZUU5Mzg2YzhEQjkxOUIwNDJmQzNkRUQ1RDczRTA4ZTUyRDFDIiwiMHhDOUFjNGNDQUFjNWEzNWE0MDI1YzhBNzcxMTU1MWM3YWVDZDk2MzcxIiwiMHhEYkQxOEVDMmE1MmYxMmMxMTczREFhMzM2NUU1Yjg0NzQ5RTBhMkRlIiwiMHg1OUYyQzQ3NkIwRTFmY2Y1MzE0MjcyZjgyODU0MjdmRDc4MTViQzFlIiwiMHhCZjlFYjJFNmQyYTBENTMyQzM1Q2IyNGQ2RDNBRGNFN0FCYjg0ZDNCIiwiMHg4N2YxNzlmRTY3RDA4OEEyMzI5YjI4Mjg5MUZlYjExRTY4NWZFNEJBIiwiMHhCNmQxNTdGNEZEMWY4M0I1QWUxZjhFNzQ1MEY5NTFhM2E1OWI1OTA5IiwiMHhmOTI4RUMwM2UwOTdhZTdEOTY2ZTk5MDk0QzM5MjMwNzE2MGVjYTYwIiwiMHgwN2Q3MmNCMzg0OGUxNjRBYUM2M2M1MWJBZDQ0OUNCMWNCRTlEY0M0IiwiMHgwQzkxZWNCOTY0NzUwYjRmMzg1MTNGZTJDM2U3MkM0ZkU0MUMxRkREIiwiMHg1MTBhZEQ0RDI2OWQ2NjQyY2Y1OTIzNkJDOUY3RUJlQTlDMzAxN2FlIiwiMHhDMjkyM2I4YTk2ODM1NTZBMzY0MGNjYzI5NjFCMkY1MkI1QzQ0NTlBIiwiMHhmM2FDNzhiNjEyODc0MGVhNjU3NDZiNDQ2M2NjMTAxOUMzOWRBMTU5IiwiMHhiNDE2NUI0MDU4MGZlQzljZjZCMEQzM2UyNjcxREE3ZkUzZkM4MTFCIiwiMHg0RDc2NUMwQjUyMUU5Rjg0RDM3RTE2Mjg3YzZmNDhDNjM4QWU2OTg5IiwiMHgxNUY4OTY1MDJFOTI2QWJGMEQ4Q2QyZkRlNzBDN2IyMUNhYTc1NjZjIiwiMHgxMDA3MWUwQzU1ZjM2N2I1OTM0NWIwQmUxNDljMEIwYmEzOTdGOEZCIiwiMHg4YTQ2ZWIwN0VEN0MzZDZmODgzOTkwZDMyYUFkMEY4MjMxOTAxYTY0IiwiMHhmZjQxNzY0M0Q0RTk4QjUyYzdFODk0NDA3ZGQyM0Y4ZUREODE2N2YwIiwiMHhDYzIzMDM1NEQ3RUY2OWMyN2VENUQ4Y0QyQUU0OTc5YTVmODk5MDk0IiwiMHgyM2JERjc5RkUwZTQxNTc1NTFlRWUxNThhN0RDNDliMDFlM0UxRjI3IiwiMHgzMjg5M2FGNEEyMTlkYWUxMzJmNzIxRWFkOEMzNTFGRUU5MTgzOEZjIiwiMHg5NUM4QTkwNzY2MWQ3RjA5MDgzRkM3N0M2QzNENUI4RjhEQTY0MjVGIiwiMHg2NkMyNjM2Mjc2N0Y0MjRjMGZmQTk4NzU5OEM2M2QxQjEwZDQxOThiIiwiMHgwQ0MyNjI2RUUwODFhODM5ODdBRGJBNzhBMTE3MzIyYmNjNGZFMzUxIiwiMHhhYjVjY0Q0NkJDMTg2ZjJGNzU4MzgwMmQyN0Q4NzU5ZjIxMTRhODRhIiwiMHhkQzJBZGJhNGJGMDE4NjVEM2JCNDBDZjBmNEE0QmRiM2EzODZFMjdGIiwiMHhhMzgyOEQ1NzJjREI5NjkxNjU3MjJkMjIzM2JiREE0Nzc5NGI2ODk4IiwiMHhDZTY2RmMwOTdlMEI0YTI5MUFlNzhERDYzZjJDOTVhODY2OThGMzU2IiwiMHgyN0M0MWUyM0I5ZUE2RTg2NzJCYTIwNWE4NDQ5RjM3ZjQ2YTk2ZTAzIiwiMHhmQUViODA0QUU4RGMyYmVhNGZGQjRmQzUwQUM0NkJiY2JBYkY5ZTIyIiwiMHhmMmU2ZDBGYUZjMzQ0NDFlMDJiQzFGQzUwMzEzZjAxOUJCRTBFZTRCIiwiMHg4MEU5ZWFFZjc3NjJhYTQxNDhCZTgxQUUzYTUwMjRFMEE5MUZBRkE0IiwiMHhDQ2MzMUMxYTQyRjY2YkE0NUQwYjVjMDAxNzVDN2UwOURFNERCYUE4IiwiMHgxNWEyN0YxRUFFQTZjMjdEOTVEYzBDMTE2MUNjN2FlMDZmRUFBYzRCIiwiMHhiMWQzODVFZkM2ODFjNTI5NDZjYjg4MTVCMDkxZWI4MjJhMGZCNjAzIiwiMHgzRTU2ZTZENDM2OWUyNWUxRTM2RDI4NkU1MjE0QTk4NzRjMDhGYjQ0IiwiMHhkNWQ2OGUxYkUzQjAxYmYyOTVDMjRiMjkzOTc4Y2NlNzdCQzEzMzM5IiwiMHgxN0VlMDM0NWFFOWMxNDU5Y0U0NzBjRTQwYjM2YTU0MkYyMzE5MjgwIiwiMHg4ZGRDZTcwOEVlNERDNzFmRGRFNTYwNkUwOGRlZTAyZmIzNzhCZTZBIiwiMHg0ZDVlZjU4YUFjMjdkOTk5MzVFNWI2QjRBNjc3OGZmMjkyMDU5OTkxIiwiMHgyNUNjMjYxMUZkMjdGODEwMURkNTk2QTgxQkNlZjVjMTkwNThEQ0FiIiwiMHg1ZjlENjFBNDA1NmRjMTY0NkQ2QkYyNTg1MzM2ODMyMDM3YTQ4OTM1IiwiMHgzY0E2NmNGM2Q0MkVkMjBmNUU3MDQ4YkY1QzM5ZkZhRDAwNTIzRDk4IiwiMHhFOEUzNkMyY0Y1OThGMUEwNDk2ZTE2NTNBMDBkQTcwNjc5NWQzNzgyIiwiMHhkNjM5OWJhODk3MDhjQTNjYzQ5YTJjNDA0YkVDOUVFYzdDMTA0OWY1IiwiMHg5ODlENjlhMzJBMjlENzczM2ExZTA2MGEyMDA0ZDA5MjFiYzA2YTQ5IiwiMHg3YmMzQTc3QjFCOERBYTRCRjRiMzhjNzEwMTE5QjkzMmM1YjI3OTI1IiwiMHg1Njg0NDJiNzM4Y2Y0ZTYwODY2NTM1MTY5MWE1MjEyRTgwMjA1NjYwIiwiMHgzNWMxNUFEN0FjZUY2MTM2NjJiZjUxQzFmNERCQjE3RTAxRDRiMTFDIiwiMHgwRkE4MTdhMWU3NDk4MTkxNzdlYjhjMzEwZTZiQmYxYzc0ZEFiMzI4IiwiMHhCN0ZENzQwRTkyYUE3ZUFFQWNmYTY3OGQwQzA0N0I1OWExYWY0NTM5IiwiMHhjMmVkQmNmQ0M4NDUwZTRDZWNlMjJCYjU4NjcwRWFlYUYyZkRDZTY0IiwiMHhmNzUxRDc2NDA4RTBGMDk4MDA2OTcyMmE4M0M1QTc4ODA5RWUzMDQ4IiwiMHhBOWU2QkQ4NGEzNTUxYTY5ZjIyMkNCNzNDODY3Zjc0Nzg2OUQzRDBGIiwiMHg0N2EwRDExMmZmOWYxOEY0Zjk5Q2FBZDgwMEZlNTczQTk3ZGZiQjlhIiwiMHg5N0U4ZDhmOTc3Njg3MzczMjM0RUYyN0UyNDE2RTQ0YWE0YTlGQWViIiwiMHg4MDYyMTIwRTVGOTRkMzBDMjc2QkVlMTJCMDBEMDg0NUViOTQzYjcxIiwiMHhjQWU5NkFBZjgxQTk1ZDhmOTk0RWRBODZCRmI3ZDg0Q2QxRTU3NDE5IiwiMHgyNmQyNjU4MTVENmJjNEQwNDU4Qzc5ZGY1RmU1MWFGZEI4QzQ2QTM5IiwiMHg4MzQwMEUwMmQ5OWFlOTQ3OTE5NDhDQkIyODIzYTkyZDg0MjllMGUxIiwiMHhlMjZlNWQ2YkI1RDVkMDJjNWQwNTAzNUQ5Mjc3M0M4ZDJBMjM3MDE1IiwiMHhBRWMyY2QzOEE2YTEzMmVEM0I2NzJCZTNBNmFlZjE2NjkxN2IzM0Q4IiwiMHg2MERCYmZhNDQwZUViNGNGMDUyMmE1RWRBNEIyMDQ2RTNGNWY3NDQ2IiwiMHhDYTQ2NDFDMzYyNzc5M0Q5YjM2ZDBBNDA5RTMyMzRERGEyNDMxRWE2IiwiMHhFYTY1NTJEZmEzYzMyQ0I0MjJGZDExNUMzNjJGODU3NjM3QzA1NDkwIiwiMHg2NmQ2RGNERjcyMTI1QzJGNmE0MDM5NTY3MDc2Mzc2RUM2ZTJGMzI0IiwiMHhhOTc0NUY5NThlMWM1ZDE5Qjc1Y0ZhZTdGMzY1MjFEOTlEY2M4OEYwIiwiMHg0NDJlMzgwMzk3OTk5QjIwRjcyNThlNzhlRUUwMzRhMTAyRjJEODY1IiwiMHg1Y2Q5NzkzM2JCNkVBYzcyNzM5MDcyMTQxOTQ2YkNBNjU4RTg5NWZDIiwiMHhCN0M0YTBFY2Q4NWFGRmE1YjU3NTEzMDlCYTVERGJGMmU3QUQ0MGQ0IiwiMHgzQmRhODQ1RTU2MDI1N0FjNTUxQkYyMTEzNDQxRjY3MTE1NEU0RTgxIiwiMHgxMjYyYmJmZkY5MjZlZjJCYjI3NzM3YjBCMjBjMzk2OGJlRjMyOEQ2IiwiMHgzN0I3YWFEN2NCMGE4Q2ExYjg5ZWNDNzIxQjc5ZTAzQzU0NUI3YzA1IiwiMHhBYUJjN0ZmYjYxNmFiQjgwNjU2YmE3MDNFNzA0NTY0NkIyQ0I3Q2EyIiwiMHhGZTBEOEE4NGZmNzEwYWFmMDQ3RTEwQzBCOENBQkM4ZEJGRTNmMDcwIiwiMHg2MUI0MjQ2NDk3NDRCOTg1Rjg2MkMxNzkwQTc2OWUwM0MwMkZmQ0RmIiwiMHgzRkM1YjYxRjM2MDlGRDVGOTA3NTRGZDA3MTAyYTQ5NkRERDMyNzQzIiwiMHg5MjJDRTJhNzgwMmQ1RkQwNzMwMjA1OTUxOENGY0RjY0QzMjlEN2QxIiwiMHg4QTAzMTIyMjQ5M2RCNzUyOWFDRmFlYTU2QkVlNWRFZkJlZjQ5OWU5IiwiMHhFNEZlNDA1ZDgxY2FlMjYyMzg4MTZDN2IzYTFCNTBkZTEzQTEzQTI5IiwiMHg5QTRkMmVFNzYxMkFjYTMzNjZFNkI2RDk1OERGNzRBYjdkODUyMDg3IiwiMHg1ZTVEQjJCYWIyQURiMUMwNDY5RmIxOEM3MDAyNUJBN0JiMTFhYkY2IiwiMHg1ZUI3Njg3QURmZjRGNkNFOEVmMjg1ODA2ODU2MTc0ZDlBODFlRjZGIiwiMHhiNUVEMjE3RUZCZGY3NzM4QjBBZTMzOWYzZTY2NTM4NjAzNEFhYWQ4IiwiMHgwQTViRTFjMUMxMGY3RGQ2RjZGNDRENzM4MkQ5M0RGMDllMjEzMDFjIiwiMHhDMDg0ODFGNWEyZjMzZjdCQzVFODIwM2I3OTI0M0RiQ2E3NDczQjg2IiwiMHg2MGIyMTA3NTQzREVmNUQ2MjYwMzI4RjJDRkYwQjhCQ0ZGMDgzMjhmIiwiMHhjMWUwYTdCOTBFMGMwRmI1QzEzZEVCMEIwN0ViMzc5NjYyNzhkNTkxIiwiMHhFYTgwOTE0NzA0NzlCNDU3NzkyRjJGNTZhNEU1OEM3MzI5QmMxYjFEIiwiMHhDYkMwM0M2ZDkxMTg2OTAwODg4RjE3MEQzMDMzRjI5ZEZmMzBFNWVBIiwiMHhCNjNjMmYzOTA4MDMxMTlBOThBQzYzYTM3MWJDQzY1N2UzNjZkRjBGIiwiMHhGOTAxQTZkMTE1NDgxMTU4NkQ5QkU2NWIyZTZkZDAxODM1NzFjNTM3IiwiMHhEODczRjkxODdFRDkxNjYxMThCMTBmNjFGRjg1QzUwMDU3MDk2NzBFIiwiMHgwOWVCZDQ1QkE3ZDE4ZjUyNzc0ZjFFNTgxOTU4NTc2NTkxMjUwZTMwIiwiMHhlNDRENjc5RGNEMjIwNUNBZGJjNmQ0NzA4MDA3NjdmYTNhYTFBYTU1IiwiMHgzMjkzN0UzZTJDZDU4MzZCODc0NDcxNjM4MDUyYjlhQjk1M0RmRUVDIiwiMHhBNjY3YzkyNDZFYjNEM2VCOTVDQWUzQmVmNDg0ODNkMTM3OUQ2NUIxIiwiMHg2MjJiN0ZiNEIwMTMwNjg3NTU5ZWRjNTdGOWY0Y0U5MDc1NDg4QTdiIiwiMHgzOTk5M0NGMTMwNTkzQjU3MTE2NWY0ZjkzMjc5OUQzQmNCNjJBMWQyIiwiMHg2ZkMwMDg1ZkM1MTY1NWI1NkZhYUYwZjQ5MDFFOWIyMkNmMWQ2QTZhIiwiMHhGRTgzMGVkMzg4NWU2NTU2MjFGOEJjRmM0ZDE5YUJiY0E0MmJGZjljIiwiMHg4ZTRhNTdkMDNFOTg2MjkxMmM4YTI5OWNhRjhmMGM4YjEzNzQzZUE1IiwiMHhFMzFDNzMxOWY3QmEyQmEzOGMzOTNBRTg0NTQxN2VFYmFENTg0QkI2IiwiMHg0ZTVDMzBENTdlZTkzNEQwZGJmODBENDhiZWEwZTY4ZWNiN2M2MDU5IiwiMHgxOEIyNzBhNjBEZjI0NDA3YzM3RGM4NDQwQjQxQmYwMUMzODhkQjEyIiwiMHhiQTY2YTkwNGRkZTRkNzhlOTgzMUQwRDA2RDc0QjlCY2I5NDEyRGE2IiwiMHgwN2JDRTg5MThDYzNjN0U3MGZDQUUxQUU2MDg1NDdiNUU5MmMyQWE4IiwiMHgwRkU1MDQ3NUMxNmE4Qjc5NjQ0Qzc2NmQwZTY1ZTgzMzZFMjNhM2VDIiwiMHhlMGIyNjcwZjNBNTEwMjVmNDE3QzE5NjU1NjhlQzMwQjE0YUEzQWYxIiwiMHhhRjk5NjEyNWU5OGI1ODA0YzAwRkZEQjRmN2ZGMzg2MzA3Yzk5QTAwIiwiMHg1N0M3RTIxMDAyQkU3YjA0YjhBQUNFNTY5RUMyMjQ1NGQzQzM5NzdDIiwiMHg2ZWUzNzk4MWVDMjk4ODQyNkYyMzFFNjhiRTNDNWJDNDQxOUJDMzkxIiwiMHgzYTc2RDBCQjgxODZFRDg4NTE1NjIwRmM0Y2E2MzgyMTc1YkZENkU4IiwiMHgyOWNBZWZmMmM3ZTE5ODFhOWY4Y0ZiZDZGOGU3YWM0RjQwY2E3Njk1IiwiMHg2YmFiM2VBZGM4MEI2N2I1YmYyNzQ1Q0UzMDM1MThkNjFkMzZhMDg2IiwiMHhkZTk3NmIxNEViNTYzRDMxMzczMDJhMENFYzRhMzA5RTBEMDJlNTQ0IiwiMHhiYTIyNjExNzIzMWZCQjYxRTVkOUFiQjk1ODg0RkY1MzM5NDE1NjM3IiwiMHhGNjVhNkJlQzI2ZjNBMGRiRjVFMEZkZEI5RTBCNmQxQUFEMzhGQTNEIiwiMHhEN2VFOTVmNDg3YkMwMDYyNzEzODFkNjQxRkNmMzQyOTJkN2Y3NDk0IiwiMHgzNTlDMTM4YjE2NjZhQTIxNjdBYUZDMjA1QTg0MUZGNDMyQTIzMDQwIiwiMHg4YzQwZmJiM0YwOEUwODMzQkE5QzgzZWU2YzE3MjQ1N0RENkM0M2EyIiwiMHgwMEY2YTk1NzM4MzFkOUUyNzY4RjIzNURhQ0JkMDFmQzc0OTEwNjY0IiwiMHg4N2M0NDA4MzUxOTEzMkU3NWZlOTczMjgzNGRhQWIxMjgxYzc5RGZBIiwiMHgyODAwMzkyNjZlOTNmYTE2QUE2ODY3MzNEOGJCODJCM2JkMzAzNGZEIiwiMHgxMTRFNzk2NjhENzM1OTVBM2ZBMEE0OGZEMjU4Y0ExYzEzQ0VFNEMxIiwiMHg5RjcwM2UxODE5NzA3RDU1RDc5YTlCQkYwQkRhQUVCQkVjNTc5YzEzIiwiMHhBNTMxQjc5MTQyMjlENDVCOTYxMzY5NDE2NEUwNmM0NmNGMzAxQjlhIiwiMHgwQzcxQUVBOGIxMzJiNWMyMGM5M0ZBNTUwRDZjMWY4ZTQ2ZWM5ODkwIiwiMHg2YkM4QjFERDBBMzBmNzE4NjQ4OUQwYjczNDQ1NTBCYzI2MThkZDk1IiwiMHg4QzAzNDhGRjdlM2U0RTAxRWMwM2U4ODc5MDU3YWVmRTQ5ODBBOUE1IiwiMHg1YzhiNjI5OTQxZDRDOTgyOUJBNmM0NTI2MDMzNTJkMDNEQTBiYzIyIiwiMHg2MjM0NDc4NjEwMTk1NWJFNUFDQzhiZWM3OUY2NEVlMDJhYUM1ZmM2IiwiMHgwMkY2ZmUzNzNmMTdCMDgyQzMzY2VkMTdmNDhjMzZCNmE4MzM1YkE3IiwiMHhhOTAyN2M2ZWY0MDJhNjI4ZDk2OEU5NjFGZDEzN0M2QzIzM2E2OGExIiwiMHgwYzhkNjE2RjhDQ0YwQkY0MDdCMmZiMkNDZUY5NjE3Nzg2QjRFQjQ3IiwiMHg0NjU3ZDc4MjEzQTU3Y2U4NDJFNTliRUNDOGIyQTlERUZFNmMzOUUzIiwiMHgzRDM3ZDk2RmY5NERkQzQwNTUxOTc5ZDA3NUM5QTBBN0JmNGFjODZkIiwiMHgxOTg1MUI4NjM5REJhMjU5MjllMDM2RTBEOTg4NUI4Yzg2MzE3MDYwIiwiMHhhRjUyM0E3NTBDZjI3MzA3MGYyMWEzY0RGNWYxOEU4NmU4MjFENURFIiwiMHhjZUYxODk1Rjg5MDIyODg3MkNhRjZBNDk5QTZCMzg4RDY0ZjgxNDc3IiwiMHg3MTVlOTdCNEQ0RWFjMjgzRjZlODIyOEQ4RmJCNzFEM2E1YjAxQkFEIiwiMHg0NjcxOUUzNjVBMGUxMTE5YzFFRDhENzZhRTE0MDhjMzhCODIzMDYyIiwiMHhlRThBNGRGZTJjZjkyYTI4NUIxOThkMDJCMjgwMGRBMWQyMDE3OTgzIiwiMHg5NDgzZGNGOTIwOGVlYTI2QzQ2RGM1NzFGM0JDRUZhYjcyYjY0NDRFIiwiMHgyMjUwOERFM2RjMDcxODAxZmE1NTM1NzlkNzExMDg3NWFDMGUzMDUyIiwiMHg5NmZiRTlGM0IyMzA1RjM4ZjdGMjYyNjRjRWM2ZjJFN0VlZkUwMjM0IiwiMHg0NDJmMkJiMUZlOTg0OTZhNzUwQ2MzMUVlOUJCMmYzMWQxNDc3OTlCIiwiMHhCN2NiODBGNEQ3MGY0NTE4ZTM1NDA0MDZjYjRmMDYyNTY3NzhCMmMzIiwiMHhBYTZiRjdERDdFQWU1MDBGZDkyNDNBYTBCN0Q1ODZlNTZlQkI1MzdCIiwiMHgwMGQwYTdlNDNEOEEzMkIzMTY1NjM2OGFEMDIzMjRiODZlN2Q4OGYxIiwiMHg3OTMyMTU4YUE2MjRkZjRFZkQyZUZCQWQwNThkZDJENkI5MTkxNjVjIiwiMHg3N0JFNjE2ZTIzYWNFNjZBOTU2NWZCM0MyQUYyOUVDMTUwMEJkMjU2IiwiMHg3YjQ5RTJDNDc2NGIxNEE1RDgzMDZBYTdDMTJFMUQxMTFGMDRjQTZlIiwiMHgwNUVDYTA5MzBmZTMxRjUzMUY2NjlGRjZGNjZkYjFGZWI2YkEwODQ1IiwiMHgzRDM1RmVEMTg1OTIyNmQ0Mjk5ZjMwNzdiQzY2QjNDNzE0QTRFMDU2IiwiMHgwODMwN2I2ZDY2NDg3RTc4YTgyQUZiQTNFQjQzZkYwZjUwQjgwMWU0IiwiMHg0MkZBNUMxNmFkZjhkRjc1Njg2OUY3QmM2NkMyZWY4NTg0MWYyQzIwIiwiMHhhNEY4M2JFQmM1RTRjMDgyNjcyNDU0NGQzYWExMWQ1MjIzYjI1NDg4IiwiMHgwMTBCMDEyYmRBRDBGMmU3MTg4Q2NkRDg4Mzk1NTczNDQ0QjJkZDIzIiwiMHgwNDAyNjNkODQ3YTZiMTZlYmI5MzAwYjA3QWExNmYyOURENmJFNzMxIiwiMHg0MzE0Q0JCYmU0MzI5ODBiNUMzYmI2QzliODg0MTk2N2JlZDllMTZDIiwiMHg0MTU1QmM1MGY4NDFCZTJiNmMxRTJhYTgxMTg5NDdmM2U3RTlBRWQ5IiwiMHgzYUFCQ0MyMEY5NDg0N0Q2NkQxMTU0RjZDQTZhZDE2NThDYmFBOEEyIiwiMHhhQWIzMEVBN0NCMTBENUJBN2UxODg3MTNlMTg0MDA5NzM3MTJmNkIxIiwiMHhiZDhCMTcyOTYxZTc2QzU4RjBGYzcxMGEyMjc3NUZEOTMyZDhCQjRhIiwiMHg5NzRBNDE5NTBhNTg2N2VENEU3NDNEMjZjNTU2NUZhYWJCQ0Y3MjgyIiwiMHg3MDhEMjVhYTEwMkU4MDk2QzVjZWJCOWU2YUJGMDFhMjRiQjNENkJmIiwiMHgyOGNiQ2Q2OUREQTk5YTI0ZUZiRjNGZDg3Njc0ODhDNUM5OEY0ZTJGIiwiMHhiRTAzNDA1NTYxRUQ4ZEIyRjA2M2UwQURkNUZDZWUyMzE3MTk2NjExIiwiMHhGYjNjN2Y0MkIxNUE0ZEJmMzBkZDAzY2NkQ2FiMWZlMzE2NzQ1ZGIxIiwiMHgyYjFFMTAyQzZkMjYzMWFlM0E4MDdEZGJlZGIxRmU0OTU5NWU0M2ZDIiwiMHgzYkEyQThmODA1MDhhNjliRDY3NEFDRDdlRTIwM2IyNkU4ZEI1QjRFIiwiMHgzOWJlNWIwZDEwNDhiMjA3ZEU5OTZEMzY5MzViMjU4QzVlOUExNTY2IiwiMHg4MjQ2RjVBM0RiNzBjMThBNDhmMkNjQTZhRkRlNWIzNTkwNWExNDg3IiwiMHgxMURiNTI1MDc4NzJEYkI3MENEMkMzNjViYzRDZTI4MEJmNTE5NmZBIiwiMHhGQjlCM0YwNTc1ZTM2ZEQ2NTJFYjU4RDUzYWUwOThkQmFjODI2NEVhIiwiMHhkN2NGYkNhZGFhRjY0NzUzMjFjZmNmMzg4NEYxNUE5MzQwMGJFNjU4IiwiMHgxMkNGNzI3QkRDMTYwMzY5MTcwZDBmMDk1ZDE0MDJGNzZBRUM5NzM2IiwiMHgzNjE1MjA3MjFjRDUzZTdEREY0NkVhM0JENzc4NzA2NDRhNDY5OTYyIiwiMHhGNjgzMTc5NDY4RUM5MTg4NWExMmVjQ0FBNTUyODM5MjFCZEFmNjIxIiwiMHgxQjg3RkRFNmFGNTM5NjE2NWZkQURmN2Y1MzI3ODQ2MjJBODI0QWJmIiwiMHg4MzRlMDZjRjAxRjEwMDhjZTE3NkFjNWI3YjlkNTJEY0I1N0RjNjQ1IiwiMHhkQjZjZDc2NEYzMmU4NTM3MzFiYzhhMTQ4ZjJGQzMyY2U1REQxRTY4IiwiMHgyMjhkRDQ4MEIxQzZjMjUzRGNDMDBkNzU5OTZBODlCRDdDM0JkQjBiIiwiMHg5YjAyODg5OWE1NWFkMThhNDAzRmExNkJFODlBNzU1NjA4OTMxNDY3IiwiMHg5OTc3MTVCNzE0NjFjRWY1NzA4Qzk5MzI2MzAzQjgyNEZkNEE3NTMzIiwiMHg2RDFlNzBBM2MzYUIwMjIwZmI4MjFGQjQwY0IxODM5NDQ4NUY3MDQ2IiwiMHg2MmQyYjAwMjdhZkNlNTJBY0ExNDVkQjQ0NjY1OENFOTQwZjA0MmQ2IiwiMHgxMjM0M0QwNzIzRWYxZTU3NWVmRjUzYmQwQzA1NjY0MEQ1RjdGOTgzIiwiMHg5MjUwMDU0QmIxNzg3NWVBNzEwNzE2MDcxYUI2MDVEMTc0YkJCNzMyIiwiMHgzNGUxZUUyM2U4OUJEZTA0ODM1RDYxMzdjN0JjRTZGMDYxN0I5N0Y2IiwiMHg1ZmE5NTY5QjBFZDZBYTAxZTIzNDQ2OGU2QTE1Qjc3OTg4Yjk1MGRGIiwiMHhkOEFmMDkwRDkzY2JGMEU1REJCRDFkODUwN2E3YTFiNGE3ZmREQjBFIiwiMHg4NmJBOTRmNWRDQ0M3MUIxNUM5RUJiY2JCMzdBMTlhODc1Njk0QUE5IiwiMHgwYmJlOEY3RDg1NTM5RGMzMDczOWYyOTc0YjIxNEJBNDg1MjE1NkM4IiwiMHg1OTkyNDZlMEU4RjlBYkEzOGEyOGNCMTk5OWNCMDViM0JBRDcwODgyIiwiMHhGZEVhODhCRWQ2QTlEM2NjRkQzOTcwNjcyNjE2M2ZlQUFiQUY1NGE3IiwiMHhGNUUwMzlCRjFiOTI3MEY3MGMyMTcyYzkwNjk5N2FFMjkzQkJGQUI3IiwiMHhmNzI0RTRjOWJFNTdlNjkwM2JlRDdFOURBRDBENjU4N2Q1MzA3MWZkIiwiMHg2MTVGMTA4NGU3RTRlODczMzgxMjE0NDVCYzkxMzNGODY1NzlGRUI5IiwiMHgzNjk0YURlZWIwMjcwQ0E0N2I3NjBlNmFhNEFDREUzMDQ0NDMzZDE5IiwiMHgyMzNCYWFjMmMxODcyMTQ4ODBERWU3QmMxOTRlNjI3QTg4MkEwQjM1IiwiMHhmYkE3OTNFZDA2M0E2MTU3MzM0NTY3MzIyZjM0NjdhODZkMzZCM2E4IiwiMHhBQkZEMDAyODBkQkY1OTZjQzVEQzY2MDFGODIzODdEMDI5OGFhQjNDIiwiMHg5MzdBZDY1NDA0N2I3RUZCMjFlZGFmRjA5NGQwMUMwMUU1RjIzZmI3IiwiMHg1M0I2YmY3MTU3QWIwQzA2NEM5OURkQWI3NGJhNzNlYUU4MTJlYTMyIiwiMHhEMDQwZGI3Mjg5OWZGYTE3MmZGMGMzRmI3ZWY0NjlEZjdiQjUxRDk3IiwiMHg0ZUQ0N0NmMmExYTY1MGYxNkJERDYxOTIxNDlEQjQyRDkxMzA0RjdkIiwiMHg3NDVmMzYwODNmZjFiOGE3Qzg3MTIzNTU2OWQxYkU0MjA3ZDc0QzM3IiwiMHg3MWM2MTM4N0I4MjZDOThiNmQ5QzI0QjJjOGEwZGJhYWVBNjRkOTcxIiwiMHg1NjM2N0U2Y0YyMWQ3OWViNzNCZWU1NjVDN2MxNDMxN0Y2Nzk5MkJBIiwiMHhiRDdFMGMyRUFFMUFFRDY4MjIyYjAyMjU2MDAyNjEzQzBlMjA2OWNiIiwiMHhFOTY1Qjk1MDU0ZTNCMzdFZmZDYTg1QjM0NzgyMURmQTUzRjk3NDhmIiwiMHg2ODYzNDE0RUE1RDM2YWQ2QzZiYjEwMzZjNzk0YUM5RTNDN0M4ZjBmIiwiMHgxRDA0MzREMkVBQzk2NEU2NDk5MTVhMzM2MWIzQTcyNmY1QzQ2OTBFIiwiMHg1NUI5N0U0N0ZiQzhmMjk1MGRGOUFFMTg0NzY3MTVkMDljZjlFODEwIiwiMHg4Njg0ZkMzYTFjQTYzODQxZkZjMGFjNWY2N2QyNWMyNjIyMGVGN2YxIiwiMHhDYjA2QjBFZGI4MWMxODdkZjgyODhDRGQ3NWUyMEI5ZjhBMjlkZWY3IiwiMHgyY2ExYTQ3ODcxNTJlMTg2NTQ1MjlkNDAzOEQ4MDZmRTczQTE1ZjQwIiwiMHgzRGI1MzMwYjU3NjI0NzU2NWYxMGM1QzlBNzUwQjg0NUVEMjI0RDg0IiwiMHhEMzQ0RUIyMzJhMjk2RDkzMzRGYWFhRjQ1MEJhNzFCMmQ3MTQ0QjM5IiwiMHg0OUJDZjFBQUJCY2JDZUQyNUQ0QjIxMGU0MDg1ODQ0OEM1MzIyYkU0IiwiMHhmM0RENWJGOGRGM2M5QjhiNTY3OUY2ZGRBZTZiNDdmOEE0NjA2NEE2IiwiMHhkRUVDMDZBNGI5QjgyYzA3NjM2ZDdlZjE4N0MxNzJDMUI4MGI5QmFmIiwiMHg5M0VEYTQwREJBYjIzODM0ZTI5RTA2OUEzQzYyZEE1ZWQ0OENhODUyIiwiMHg5OTNiOTRBMDgwQkI5YThiYjM4YjM1NzQwNjQ1MDQ3MUMxNTJBZjdlIiwiMHg2MjUxMzkxNzRFNDdGY0Y5MjQxMzRjQzUxNWRjM0FBMUFkZWU5MzYyIiwiMHg3QjUzYjlDNDhhMDMzQjJGMTc4MjRCYkRmODgwNDZEMkFiMzk3QTNhIiwiMHhFYmRjYzYyQmJlQTBkN0Y2MjdjRjhhNUIxOTU2RDE2YTE5ZDE4QjcyIiwiMHg4ODY3ZjIwYzFjNjNiQWNDRWM3NjE3NjI2MjU0YTA2MGVFYjBFNjFlIiwiMHgzMjU4NjZlOTBFYTI0NTI2YjExNjFmYmU3NzZkMkM1NUY3YjJmREQ1IiwiMHg5NkRDZjAxMjI3MGJFMkREZDM0NjEyOTAzNDQ1QUE1ZWE3MGUxQTM2IiwiMHgxMTY0NDQ3Rjk0OEQzM2Y2OTEyMEE4YWU1MGU0M0E5MzA5RDYxMzM2IiwiMHg4OTE2OWJhOTczNTNhQzMyMUNENWZGYUNFYUM3NWU0QTBlRDJkNTBBIiwiMHhGNzhENEZCZjU1NTRiZTc3OTk0NDQwYmNmZjgxQThmYjgzRDQ5ZWRhIiwiMHhhOTE2QUNGOTBCMUExODA0MWM0MGU3NUYyRjU1NUNEN2EwREIwRTIzIiwiMHg3OTIxQ2YwNGJGNTUwMDNCMDY1RDVhNjY2QzYyZjkzOGJCNEZGRGY1IiwiMHg3OTQ1ZDlGMGU1YzA0Y2Q0ZDFDODBFZGI1QzYyMGYyNjcwNDI1MzNiIiwiMHhBQzRjNGY0ZjgzZkIzMDY5ZjZhQ2RhQTYwNTJBNzhDRmMzMDBjZDMxIiwiMHg0ZTFmODlERTEyYzUxMDQ3RmY0MTM3ZDFGNmFlZDI1ZmNjOUFBRTUyIiwiMHhGNDY4Nzc5OUJCMDViZTAyMEYyMDgzMzk4OTFjNjEyYzg2ZTk1ZWIzIiwiMHgwNGJEQjg1NkNhQzNjMDk5MTFjNDZiYmM5MDI5YzhlZjEyQjhDYmU3IiwiMHhjYWNmNzk4NDQxQjQwQTVlYTI2NjVGRjQxQjBFOGYxMzE5M2UxZTc2IiwiMHg3QjE1NmVFNzcyRENlODNDMEU5RkM4NEQwQzlkQ2RlNGU3NUYzQTUwIiwiMHhiNUEwYjYzN2JiQjU4Qzg5QjRiMzczODlhOEQ2NjE4MDE3QjAwMDMzIiwiMHg3RDFiMDEyOTcyRTE1NDIwOThkNTk1N2E0NDAxZEY4YWIyM0I1ZjE3IiwiMHhGZmMxZjA1MzE4Njc2NTI1OUZCNTE4NDQ3ZTBCMjczODBCN2NkOTFBIiwiMHgyNDg4ZUZEYzQwOUQzOWQ4MkJlNTMzMEJjYUFGMDJlMTQyOGJiMEVFIiwiMHgzNTNBMEI5OTk1MjYyMEU2ZDYwQzY2ZTA2RERCQkU3YkI4QWZjODgzIiwiMHhENDRjYkE1MjkzQTAyYkJiQzE5MTZjY2FBRDJFOEQ4RmU1NjVjNzc3IiwiMHhiRjQ0QTM4NDkzMDZFNTIyZTIxNEQyOTg1MDc1ODRmN0UzNjg0QjEyIiwiMHg2OTAyRjI1NUY2N2I4MzI0QTFBMGEwZWJhZDhBZjM5MUQyNkYzMkQ1IiwiMHg3YzVlNTA2YzNkNjAwYTg4MDE2RDY5NDQ2MzM5RWVDY2U0ZTgwRTc0IiwiMHg2MTk0MDAzN0NmN2NFNkEwNjI2Y0FFOTI1MGJGMTI2ZjJkMTU5MEE5IiwiMHg0REU3NzEzYjA5RkQ2MTkyMzk1OGU5NDQ0QjlCYTlmYjk1OGM0QWE0IiwiMHg5OTVBMWQyM2I2RTJFMzhlYTUyNDI1OUJjMTUyMTkyQTE0NTA0ODZGIiwiMHg3NTQ4MUZEY2Q0NTg1MjJiYWRCNDhlOGIwZDY3OTE3NDMyMWI4NWU1IiwiMHgxQkJhYjVCODI2ZjVjOTlDMDM1ZjVDZDI0Yjc4MDM5OUE4QjExQTQ4IiwiMHg1RWFGOWQ4Q2NkNTM2MDc4Y2I2NDVGQUM4MTZDOTMyQWE5ZjhGQTg3IiwiMHhEMWRhN2I1RGE2Yjg4OTc3OThFQWU0ODlDNDE5M0VCOTYwMkI0Rjc4IiwiMHg3Njc5RWZlNUU2ZkQxZTQ0NDI2OTdFQUFGZDQ3OWZBRDRFMDFEMDI0IiwiMHg1MDRkQWQ0MUI1REM3RjUwMWVFZDI4MGE0YTg2RDI1NDE1ODc2ZmI4IiwiMHhjRkJCMjcyRDEzYzM4RjY2RTRmYkE1ODI1N2RFZjNjNTU3NWQ4MWQ4IiwiMHgzZjc4MmU1MzM2OTUwQjQyRjA3RTZBMkYyQWZmNzNjZEM2YkYwMDhhIiwiMHhlYUZDNjRFRWJkRDBDMjk3RWQ1ZUVENjQ3YkUyMTUzODA1MThjNGM3IiwiMHhBQzUyM0VCNjg0YmU2ZTNmQzVFRjIwYThiMjMyODI1NmIyN2QzNkU0IiwiMHg5NTYyMDA3ZjNiZGYwMTBlM0MzNzU2YjIzYzFENDEzRGVDYjQzODYwIiwiMHg0NWM4YjNFQUI3Q2U5ZmY4RTM0NjIxRkU3NjJkZmM2ODk0ODk2NzUwIiwiMHg3MTgwNkNFNmZFNzNkN2MwZjYyNzExQzc2ZTIxMkNlMUYzYkJDQWY1IiwiMHhBOTk4QTcwMWUwYWMxOTE4RGQ2OTAwNjViZEU4RGNGZDlDNTExYkM5IiwiMHgyODJiMDczOTVCRjcwMUM4MTMxMzI2YkU3MWFjNEFFZGRBODRGYmNDIiwiMHgwYjg2OTc3NDQ0M0I4ZjlhNDRBRjUyMTgzNDUzYUJFMkZhMThCOTBmIiwiMHhkQzcyZkMyNzQyMTM1ZEFCRDJhQWVENDhCOTgzNGVjMjgzQmYzRTU0IiwiMHgzQjJjOTQxMGJFNzUzMjM2YjU1Q0REQ2RiOTllNzhDNTQ0NjI4OWI2IiwiMHg0MkRCRTlEYTMzNGNEMDBFNDc5MmU5MUY5OThENjk2NDU2MGEyQjI0IiwiMHgwOTRBZDNFN0QxOTBFMTEwZjE2YTlEQzU1RUYyN2JEZkZlMTgzNWE3IiwiMHgyMmY3QzQyYjNEZTQ1MjFDQUVhMDdlRWM4MDlDNDE2YjI0MTg5OGE2IiwiMHg4YTFiRTgxYzJGM2E2ODRFQTE1NDMxYjIyZERFRGEyOGNlNDlFNzAwIiwiMHhmNjYzNjk5OTdhZTU2MkJDOWVlQzJBQjk1NDE1ODEyNTJmOUNhMzgzIiwiMHg5OGRBYjNFMzJmMkE0NjhFMzhmMTYxYzBhMDREYTkxQjdGNDJBQzI4IiwiMHgyMDI4Mjc3MTJEMzBlZmU0MWYyOGU0N2RjZEJlNzg3MDg3NzBjNTg3IiwiMHhhMDk5Y0I5NmUzOTVENGZBNjYyOTQ2N0NDNWJCNjVmMUE5NEVjN2JGIiwiMHg4RGY2NTJhMjJkNDZlYjcxZmJBRjYxOEYyOTQzRTI4MWJDNzEyMjE4IiwiMHgzRWI1MEYxMjA2MEQ3NmU0Q2RkQWQ0NzJGMjBCOGM4NjZhRjE1Q2QyIiwiMHhFOTBiQWZjQzdmMDBCMjgyRjJkMTgyNTExOTYwODkyODg2QmVkMTk1IiwiMHg2MzNCNGRhZTg1REMyOEE3NkFEMkNmMDUzRDQ0QjljNDNiNUYzRTA1IiwiMHhkOTFFNUU3RjZhMTJGODU3NThiN0I3Rjg1NjFFN0MyRDQ4RGVEMDI5IiwiMHg5NzNjQ2JmNjhCYURjYjRkNTJDNURCNzVFODQ3OTA1NjIyQmMzNTJFIiwiMHgwQzE2ZjdjNkRENzdCZkEzQzJGMWFhNTVhMDJjMzUyZGM0YTVlZEU5IiwiMHg4YWQ3N0MyYUM3MDZhNDJjNzFCYjAyMDY4QUNjZUI4Yjc0NzM4N2VmIiwiMHgyMmI0NTA2NDcyNjc4YkM1NDVlNTk4MTQ4NTc0QTk0MGQxMkFFZjhiIiwiMHg2NzdEZTcyQjUxNDM0NzVhOEJiMzZENjk4MWFBMjRFRkZERjBDMzRmIiwiMHg3N0ZmNURBQkU1Rjg4NUNDOEI5MEJBMWM0ZjRFNjBjZDE2Q2RGNDUxIiwiMHgxN2I0NjU4MjQ2N0Y0NTAzZUM2MzMwMjhDRDhmRjA4QjE2M2QzNWUzIiwiMHhCMkE1NkQ2YTE5MDAyY2JjMjNDZWYxNTk4RkZlNGFkNjFmNEI0YzZkIiwiMHg5ZTIxOThBRTM5NjgyQ2U0ODhFOTMxNDhFMjc5YjYwNzdCNTU5MGMwIiwiMHgwMEQzQUUyQTBhMUFCRTRDM0ExYjE4MGEwODE2NDFDNzVlYTlDMDE5IiwiMHgzOEFiQzlkZTc0NGU0NzM1NjY4NUYxYzExNUMxNTgwZUZFODA1MTUwIiwiMHg5NWYyYUY4MjlmMWY5OGI5QWQ0RmU3ODc4MUFjYjEwNTFDNzEwQjZDIiwiMHg4NWFhNDgxMjA2MGVkQjhFMjZCNDhBOUQzZWViNzE0RDY4NEU1ZUZBIiwiMHg3QzRkN2ZBN0VCNTZhODVDRGZFM0Y0YTA3NGU4RjQ4ODA0RjRFNzQ2IiwiMHgwM0IzMTcxNDUwOENlMzYwODVEMGRENGQxMjMwZTI1ZWI1YmY4ZDg3IiwiMHgzNUM3ZUVmYUZlZmNmZjRCN0Y4QkJmQTY5ODY0NjUxMjJEQUM3ZTVlIiwiMHhDZTYwODc3QThjY2YxMzIxRjMyQWE3QWNCOTE3MTFmRGJCRTQzNGZCIiwiMHhFMzdDQTU1ODNCNzcwQTExNUE3OTYzM0EwMWVmRWRkQzIwZDQwMTc0IiwiMHg1OEJBMENhOGVlODgyODQ2REYyRjk3NjdGN2RiNDU4NWMxOWM3Q0IzIiwiMHgyNEE3YTgzNTUzMTJBZDRkZjk4MTRBMzk4NDA5RTZDQzA4MjdCNTU5IiwiMHgzOEQ0ZGQzOTcxYjZEQTVDODM0OTYyQkNjOEExMDIzQTI5YjZGN2UzIiwiMHg4Yzg4QkE5OTA5OUY1NGI1MDk3N0NDRDk4MDVFZDhEZDE3NWQ1OEE1IiwiMHhiYzgyNTY1RTJCNDlDMDQ4YjIxNTZDNDhDMEUwZkU4RjQ3ZjQ2QTE2IiwiMHgzNmMwQjIyMDY0NzI4REE1QTM3MDYxMzgyY2U4MkE4Rjc0RmY0ODlhIiwiMHg1ODg1NDIwNDE4QjYzRjg3OTFiQzYxQjREMGNEYkFFQzJEQzc5NzgyIiwiMHgyNDREMTdGZTc3ODYxQTdhYjA3REQzNUQwZjA0OUJlMDI4NjVBNjg5IiwiMHhmYTZkMUEzMkY3ZTAyRDgxMTdFZDQ2ZTA4Q2U1QjU2YzYwNTE0ZjU5IiwiMHhCYTcxNjMyQmEwOTVCQzgwZGVlQUU5ZkRmNzM1MjIxMkNBMTA4RTk3IiwiMHg3ZDg1MEI3RGQ3RUIwOTFlQzMxM0Y3MzBlZTgxRTE2NUE4MEU4NjNmIiwiMHgzODA5MTM0RjgwNjJEOTA0QTYxODVlNjFmMjZlRjQwNzA0OTJCODU4IiwiMHhDOWU1OWI4MDU1YTZCMGM1NDdmZmVBRjViYmRBRWY3MzI5MEFhN0M0IiwiMHhBOERjZjc0NjI1ODZFOUI4MWY1Q2M2ZUFCZmJFODhDNEFlNjJEODYwIiwiMHhmODQzNTkxOUYwQWU5OEIxODBEOEY5NEVCRjMwMjZhNTljMTQ1NjdGIiwiMHhGQUMyNzA0ZUMyOTVmQ2NFYTQ0NzkwZmZCOTBhYTU4RDY1OUY2Y0FmIiwiMHgxMTJiYWYzZmE1NGM3RGM0ODI5RjdiMUYxZDI5N2IxNTg0YjhENUI5IiwiMHg3YWVGYUYzZWExYjQ2NWRkMDE1NjFCMDU0OGM5RkQ5NjllM0Y3NkJBIiwiMHhmZDNDNmYwNjBFYjJhQzNEMTlhYzRjOWZmNjFiNWVBODFGRTUzMDhjIiwiMHgwNjE5ODk2NEE0Rjg3QUY0NTQ0MTI5ODg0RWFBMEFlNTNBNTZkMzlFIiwiMHgyM2Y3RDk5QzE2OWRFZTI2YjIxNUVkRjgwNkRBOGZBMDcwNkM0RWNDIiwiMHgxMjczYUQ1RDhmMzU5NkE3YTM5RWZEYjVhNGI4ZjgyRThGMDAzZmMzIiwiMHg3YUE3Nzc1RTc0YTUzYTE4RjcwRWFiNDU4NDQxQzg4RmNDNDRiNjdhIiwiMHg2NzExN2EwNDIwMjk1OUY4MGRiY2M4Q2ViMzY2ODA2NkJCRmRBNmVFIiwiMHhBNDk3ZjhkNDQyNGI1NkYxNDMyODY3MjhBZTliQWNGY2RiNzk2NzI0IiwiMHgwRDQyMjg0NjI4RWYxNjhDZTAyODA5ZmRFOEI2ODdBRTVFOWIyNzJEIiwiMHhBOWYwNjlFY2VFMkQ0NDQ2RDY2QTc0NzdjNzk5NzZFMDM3MDFjRkRFIiwiMHhiNWNhMkNGOTIyMjA4ZTRDNjA1MWQ5N2NENDlCYzVFRjUzM2Q2MzNhIiwiMHg4MThFRTMzZDljMTE1Mzg0RTQ1NzgyQkJmNjE5ZmFmMDZhNzdCNjk3IiwiMHhFQzgxYzllQjgzRTQ2NDQ5OWIwOWIzODUxMGY5NjdkOTczNjM3NDViIiwiMHhDMmU5MTJiMEExMTZDNWY2ZjkwMzZCNTNmOWJjODI3REFjMjIwNTlGIiwiMHg5NzUzNmM5MzNBQmVEQ0UwZTk2NjM3RmFDQTEyZjFiNjIyQzQ5ZDZkIiwiMHg0RDVFQmIyMjk4MmZmRWNjQjdCM2U0MmE2MjQ1NTVDYjMxMzI4NWYwIiwiMHg5NzFiMUQzOGQ2MkJFRjU2ZTc2NDNGNzJiRGEzNDljMjIwZjFBMzQ3IiwiMHg5OWQ5MTVkYTBGNzdDOTJkYkE0RWYxYjlFODhEYzhmNTkwYkI1MDlBIiwiMHg2NTAyODA4ZjFjMkVmQjdlZjhBOGY0YTBhNUVkMWJFNzA5NUFjY2M4IiwiMHg5ZDllMjc2QUU2OGU2NThBOWM2QzMyMmE4NTI3RjRkRTg0NjdjQjdDIiwiMHg4RTZiMmJjREZCQTYzNTI1Yjg4ODUzNWUxNDRhODc3MzgyNmVjN2M4IiwiMHg1NUYzNzNFODg3ZUIwNDg5M2Y5NTYwZTdDRTk2YjU2QjQyRDlhNDgwIiwiMHhDRURiMGEwNTkzMDY1ODIyQTViOWMyQjNjMzY1MjVGNGYwMUE1N2E4IiwiMHg4NTA3ZTEyZkM2YUM2ODc1NjY0RDgxOWY2NkU2N2Q0RDAxZTA1RjU4IiwiMHg4RDcxNjRhRTllNTRBRjgwRjE5MjkxNGI1ODdFNEMwMjdmMjBlRDM0IiwiMHhlNDFlMDFBMzIzMUMwZjE5QkFDQjlCQWVlMjZhODU1NEUwNzk2MzkxIiwiMHhDQzI2RjQ2M0MyMmZmODQ1NjhBODUxNjgwN0QwMjcwQTFhQjdCQzE4IiwiMHg0NzE5NzUzQThjYjBkYWI1Y2VlOEE1M0Q3NDU4ZWY0ZUVmZTZFQ2Y1IiwiMHg4NzlGMjNjMUQ2RWJFMGM3ZDZjYzFiNTM5RDQxNThhM0RBYzg5ODQxIiwiMHhkRjZFMWRiNGJFOEZkNkFBREVCZmE5NzZFQzREZThENzQ4MjA5RDcyIiwiMHhGMTUyYmI3NDcxOWU5OTQ5Nzc0YTVFOTQ0RTI1Njk2M0MxYzRiNEExIiwiMHg1RkQ0NWY5QWI3YTg2YjMxN2MzNDdGZDg1MUM1NjlCMjZlYTE5MDQyIiwiMHhCNDlBYzU1M0FlZmYzMDNCMWM3M2FmMDBBODUxMUNiMTU4NWMxMjA0IiwiMHg5YmEyNTg5QTIxQUE5M0QwQmZFYzE0OTAzMDQ5NWFDRDUwZkVCQzNFIiwiMHhDZGJGYmM2MjJFN0EyMmY5M0E1NjQzM0ExODA2NjkzYjJDMjExMkZDIiwiMHg3MDk0Mzc4MWEzNTE5NTg5OTI4YUQ5OUY5MDI0RDY4MDY1YjY5ZjQwIiwiMHg4OTY5MzlmNUZEMjZEYTdGRTJlRTk2RTg2NEUyRGE4ZTIwQkM5YWY1IiwiMHhlY0UyRTI3YzgyMUQyZjcxMzNGNUI3MkQxMDNlM0QzMTI1NUUxNDc5IiwiMHhkZkU2M2M0REYzMkUyMDgzZjk4MmExQ0E3Q0ViNmU3OTZjOTQxZDU4IiwiMHgxN0ZCZTdhNGFCMkMzNTJBMTkwMEExRDUwQ0FhOTlmODIwYWFBOGY2IiwiMHgzQTI2NWRGNTE5MDQ3RWE1MEZFMDBhOTM2ODg3MjFBMERmYUFBYzUyIiwiMHhGZDdlMkY5M0NmQTc2ZjZhNmVjZjc0MGJBMjgwQTk0NDY4YjEwM2VjIiwiMHg0MzVkMTA2MDliNGFkOTk5ZEZCQUE1RDAyYjMzRjg4ODM1Mjk4YzUxIiwiMHg4MDNCY0VBRDhjRTVCNTYzNDIwNDIyOEQ4ZjM0MTlhQzA0NjQyNmYxIiwiMHgyNEQzNkJDYjNjMTRBMTA1ZkM1NjE5YjkwZjM5MjJhN0U3Njk1QmZmIiwiMHgzMGI5QTlmMTc4RjUzZDAxY2JDMDMyNEQ0MzVkQjBjQmFERDc1MjRDIiwiMHhkZUQ0NzkzOEEzRDBkYkUwMDQ3YzFkOUY0NDNmNWJlRDM3MDU0ZTdjIiwiMHg1NkJFZTJmMTMxODdCMTkxODMyM0U1QUMyQTVmNzY5MTI2OTkxNkIzIiwiMHhiMEE5ZjY5MTYxMmE0OGY0QTk1ODNiQjBkODM3RDgyRDFEODFhQjA2IiwiMHgwZDFCMTMzMTdEMjVCMkUyRGI1NzFmNzEzMjE0NTFjNjc5MUI3ZTREIiwiMHgxM2ZERjg5NTA1QkM5Yzc3NmM5RWFDNWI2NWMyRTYwNzIxQzAxOEVBIiwiMHhBYzBGRTZDMEIyMzllRURjYzEyQmMzZTk5N0U1NDkyYjA0Q2M2MUMzIiwiMHhEOGU0MTg2YjVDY0Q5RjMwRjk4MjAzMjVlMGVEQTNBMjI0YWFkMTZkIiwiMHhGYUYzQTMxQTdhQmE4NENiRjc3MjFDOGQ4OGY5NDdFRTlEMGEyOTZCIiwiMHhDMzUwMTc3MTQwNzQwNTQxQWQwNTVGNmQyQzU2MDA3NmJmNkIyRWMyIiwiMHhiMTg1RDZDYjQ3NjNEOWFhODIxNzc2NjVmMEU2QUIyRmI5ZWYzOEE5IiwiMHgxMGU1OEMzN0IwMzNGZTRFYTcyNjUxODIyMDVhYzE5QzM2QTJCZUQxIiwiMHgwNGIzZTQxNWM5ZTNjMjcwYzY4NTkwOTkzMjUwOWY0MzJFMDMyNWJFIiwiMHhmOTMyZEI0QjQ5YjFDZmZBNDQ0ZDRiRDFENEUxRTMxMjI1MTgwOUJjIiwiMHgyMjAyNEM1MGJkNWE2NjRGZjQ2RDYyOWY2Rjk3NkM3QzI2ODMzNzE2IiwiMHg5RGVFMTQ4M2U2M0YxOUJCZUFCNzU2MTJGRjYyNDdkMGVDQTQ1YkZBIiwiMHg5ZDAzRjM3ZTk5N2ZiZUQwOWQyNTkzMzE4ODdkNGFiMThmQUE2QTE4IiwiMHgwRDBDOTkxN2NBNzM5MzEwQzc1MzY0Y0M2N0VlMDFkN2JiOEM3ZDJlIiwiMHg3RGE3ZUUxN2JlMGI3NEUwNzQxOWQ5M0ExQzRGNmQ1NzAxNGExNTEzIiwiMHgxZjIzMzgxYkE2Mzk3Y0M2MWE0Qzg4YjUzM0EzRjcyNjgyNThiZUQyIiwiMHhGMDA4YkRCNzVGZDVkNjNkNkU2OTk0Mzk2ZWNlNTA1MkQwNDQwNTY3IiwiMHgzNTI3ZTQxNTZFMDI1NzBCMjZmMTBEMDA5NjM4MDhDRDZlNzYxYTQxIiwiMHg2ZDNlRTU3NUVCNjYyNjkxNDE0ODUxMGI5M2E5YmFEQjQ3Q2QyNTA3IiwiMHhGYzg3RjYxMDM5OEYzNDIxNzQ1ZmJFRjI4OWM4NWZGMThkODI1ZmVDIiwiMHhDMTFDNWFGRjA4ZkU3MDJGNjUwMTVEZDFGMEU5MkY4Y0UyRjY4QkFEIiwiMHg5MjZhRTg2RDcwRkMyRjNDMGFCMEQ3NEU0NWQ4NDUyYmNBMjJCMDc2IiwiMHg3Y0M0NzFhM2FmZmVGRGE4QTc4ZWM1OTAzNjI2RTM3MjZiYThiNDM0IiwiMHg2ODQxYThCOGM5NGRDOWMzMTdhMjM2RjUxYzcyRjM1QzA3Y2M2OTY0IiwiMHg4Q0YxMDkxNGNmMThGMjhlMDRjN0I3RTkxZjE1RDhiNTE4OTRFQTBFIiwiMHhDMGNjY2E4QjU2QUFlNDlBRjU3NDE4ZjlmNjBhMEMxMzQyMjEyMGNGIiwiMHhiZTE5QzMyQjRDRDIwMjQwN2U4ZUVCNzNlNEUyOTQ5NDM4NDYxQWUzIiwiMHhEMjZlOTVFMUY4OURBNjAzQ0M5NjM2ZDA0RjlENjM5OGE2N2ZCMDRFIiwiMHgwMjU1MDdFNDFiN2QyOTUyZDEzMjdGOGFCMGQxYzYxMzQ2OTNEOUYyIiwiMHhGRWE0ZTAyNDdFYzczYTZjRDY1NzEzZDFhQTU0OTk4QkQxNGY2OGIzIiwiMHhiQTZCZTgzNTBCQTc1QWVBZEVFNzQ5ZTQxQWE0NDAyQzRDNkIzNjZlIiwiMHgyYjkzYjUyNkZiYTMyOTY1MDdiQ0I2RWM3ODAxODM4MDg3M0Y1NUNiIiwiMHg2RTI5Q0UwNzI3QUU2M2ZEOTg4MmIyYWZBN0JCMEQ2NzU4OWY0Mjc1IiwiMHgyY0ZhNzEwNTcyNzg3N2E0NkU3NTQzMUY3NjczNDBiZmRCNzVkNkEwIiwiMHgyNmFCMzY0OGQ2OGFGMjQ0NUE4MDg5QUMyNDg3QzY5YTZGMUY4ZjhkIiwiMHg5QUE1NTBjOURiZjk2NDlkMjJEMUZkMEJlZkI0MjRmMDc1NTA2N0M4IiwiMHg2NjVGOUVjMzk1Q0I2NGUyN0VhNzc4RUExQmUxODgzODVDOEUzMjM5IiwiMHgyMzViMGZiMDJGNjE4NzZCMjBGMWIyNjQ4QzZiMDYzMEE3QjEyMjNGIiwiMHhiMTk2MUY0MzFFQTVGYjVDMzkzMjU5MDg5N0EwRDNmMUNmN2VEMDg4IiwiMHgyMTU1MTI4YzA2YzRlZTRCNzUxYzIzRDk0MDNjMDc2NDhBRmE1RjVhIiwiMHg4NDU2ODExYzhENDZENzMzQTFmYUQ2NTA4REYxZTM3OEI0N2UwZjgyIiwiMHg4MzA2MjA3YjgyN2Q0YjJiMDdGRTRDRkMxOTFmNWFEY2VEMWM0N0YyIiwiMHhlODM5NjIyQjRjNEJjOEI5Y2RBODE1ZjJlNkEzM2I3ZDE1MEVlNTI5IiwiMHhBMDU1NGRkMjI4NjhjRmYxRUE1MDdlN0ViQ0ZlOTIzZEVDMUE4ODZlIiwiMHhEYzA3NDA4NmUwMjE2NDA4NTVFNDg5MTQ1QTg4NDRDOTcyRTc5YmU4IiwiMHhDMjk3N0I2OUUxNjhmN2FCRTM4MmJmZjNENmE1N2M1QWVFOWI2ZDlkIiwiMHg0YjFDMmIyNjJkMDBkMTNEOWYyRDBDRUVkRGQ3QWZCYTM2MWQ1NzExIiwiMHgzQjYzNzYzRjMyNTIxRWVBMDgzMTlGNjVlZjY2ODlCYTM0NTUwMzJDIiwiMHgwYjVBYTRlNTZDZEZGNWZjMjk4ZjM5NTQ5NkJhNDhlRUMzOTM2NTA1IiwiMHgzNGEwMjBEQkVFQjIzNUNFNDlhMDRlRWYzZDA3ZDExZmQ4OGQyMzMwIiwiMHg4M0RiNzUwNDU1NmI5NWM4N0IyMWRkZUI3MEIzNWNjMmEzMTg2OUQ5IiwiMHg4YTdFNzc0NTQ0NDJCOTRmOTcyODY3YURkODkyM0I3QjE3Yjk4QTVkIiwiMHhGMUI1MUE3QkZiZTlCRDNhOTZmNTg4YUI5MGM1ODgzMEJDYmM4MTRDIiwiMHg2ZEFFRTFjRDBEYTQzMTBhYTFkRGRENkQwZTQ4NENhMzFlNDY5ZjdlIiwiMHg5NTI2NmZkNTRmMGE4Y2FCQmVjMTg3NUY1ODM3QzBkZDcwMDhGOENBIiwiMHgwM0M1NTZEOGJmYjFmZmVjNUYwZTZGODk4MWI4YWJEZmZiMTkyRWMwIiwiMHhEOTUxQkY1ZkVlMTdDYkNCM2NmNzkzMjNEM2UzQWVGRjNGN0MwQmMwIiwiMHgwZDFEZjhmZmYzYjMzOUZBNDRDOGZiMTY0MzcyMWFmQTcwNTliRkFFIiwiMHgxRUQ3MzUzODY3NERCNGUyRDRjRTgwMmU5NDA3MTJGOTY1NzhFOTRCIiwiMHg5QTI1NmM0NTM0MDM0NDY1MTRmODljNTFDQjdlZUM3ODM5M0FDOGEwIiwiMHg5ODkzQzUyYmVBODg5RTNDNTkyOTBBM2MzZTRhQjNENERiMTg4N2JhIiwiMHgyMzAyQjAxODA4OTE4ZTIxN2IyM2ZEN2M1NkM4RjFDM2U5ZTFDQkEyIiwiMHg1QTVmQTg0NjQ4MWJFRmUyODFiQWNCZTMyQTM0M0JDNzE2NGEzOWIzIiwiMHhlNUZlRjhhQ2MxQUMwY0NiOTgyRDkyMDNlRGNCZDVlNWIwMTE2NzIyIiwiMHhhYUUwNENDODk3MTFBNDg2ODJGN0REYTM2OEMxOTViNDNCNzFhMEFhIiwiMHg1MzNENDFCNWM2QjQ4NDgyYTA5NkRFMzk5M0JmOGNBMDY1OTEzQTEyIiwiMHg0NjRmZDM5QWVjNjY0OTZiMUU3QTExNTg1NjQ0M2E5RmMyQTdENzY0IiwiMHhGNGQ5QjQzZTAxMjQyRDlCOUIxMTNkOTQ3RjM0RjIwMkYyNzFhM0Y5IiwiMHhGYjgzNjIwNDUyMEFjOEE1NEU3ODgxM2IyODREYmViODA4MkUwNjkzIiwiMHhGZjA0MzdDZjI5YmE4OTVjQTNEOGNiNDQyYkNGNTU1REI0OTY5ZjA5IiwiMHg2MjkwMDE5ZUNCOTAxNmI2N2FCOTUzMEY4NUE3OTIyMzRCNzNCODFkIiwiMHg4MTFGMzZERjdFYTFlOGRlNTJDQzQxODA0NzVlNzE0MENmZWJFMkMxIiwiMHgzMzNEMUUwQTU3RmJBRGRiNzMwMjExRkNCRDhGZWM0NjA2ZjU1YzQ5IiwiMHgyYzgwODkzMjkwODQwZjdhNjA4RjhFOGMxZjFlZWE0MzlkNjkzMDg2IiwiMHg0NzBGOEVCZkY5OUQ3NTQ0NWFFQjY0ODQ0MzA3NGVFNDFhMWRBMEM5IiwiMHhCMzc3ZjM2ZkQ1MjgzQ0QyYzUzNzhhMzBhNUFlRTA2MzZjMzI2NzM0IiwiMHgxODFGMEVGZWNBYjQ1MEI1RjY1NjdCQzFhYzYyOUQ0OUM4QmFFYTlBIiwiMHgxQjZEZWU3NDJGOTc5OGE1QmRBMGEwMDE5YUE0Y0Q3NDU3NjQxYmJhIiwiMHg1ZjJDMDk3NTk4M0E3N0E5OTA3OTZGNDJjQWZhZWYxN0E2MTFFYTA3IiwiMHhjMzc0ZjRhMTAyN2RlMzA0QWE4MjkyMmI0MjVFNGEwQTNCQTE4RjM3IiwiMHg1OWZkRTZBMmNGM2NBMjIyMjZmMkMxMGE0ZDY0RTQyNENFMTkzNzhjIiwiMHg4RmFFNDNkOEE4QmE0QUI1YUU2ZkZjZThlOWVhN0MzMjQwNzM1ZENlIiwiMHgzYmU2NDNlQzk1MDQyYzY4RDM4ZUY4MTIyM2FjMmNDYzdlYTUwN2U3IiwiMHg0MzRmOURhZjI5Q0QyQ2IzNzcxNkEyRUIwMzAwRjJGYzc1ZDA1NzYzIiwiMHhCNjdDMTc0Y0UyN0YyYzc0NjE1ZWEyODI3OTdjNTM2RjYxNEY5M0UxIiwiMHhmZTcwMkZENDAyMGI5MTlDMGZmMzg1ZUM5RjY5MzJhODQzM0YzNkU4IiwiMHhmNUM5MWVhYzQ5RjlhMTY0RUEwRjRDYkM3RDIzQjJjOGU0ZEZBMTk5IiwiMHg4NDFlY0I2Njc0MTJkODMyNjg0MTU0NzkwZGVDNjFBNEQwMGE1QTA2IiwiMHg4MzBDMmZlOTA5YTBmODQyOUZjN0FiNDdFMWNmNDJGOTI4NTdkQTFiIiwiMHgwNWRFQTQzNDRENmRmY0M2NmU5OEUyNGE5RjkxRjBGN2EwMzVlNDZkIiwiMHg4YzJDRjRjMUVEMDg5NzJDQTQwNjI2RDBkQjFkMmUwNzU1RjE5QUE2IiwiMHg4OTFmMWE2M0EyMjY1Y0MyQkY5MDNEMzRhNEQ5NEExOUJiOTUxZUQxIiwiMHg4QkJmMjczNjJBQkI0Nzk3MTgwZmQzMjFjNTY5Nzk5MWRlZWQ1NDE3IiwiMHgwYUJiMGY2RmQ2ZjUzZDRFQjMxMjUyRTJCRjc5MzAxNTQyOWZlQTJGIiwiMHgzOTRENTA5N0MzYzU0MEJmOWE1MDQ2MGEyMDM0MDg0MjJEZTVBYWM4IiwiMHg3ZTZkY2NGMjE0MDk1RjlBYThGMzk4ZjA5ZTEzQzlFQ0ZEOTE3ODlDIiwiMHhiMzI4RDFhOTM1OTY3NDJlMDExZTBCNTRhZDk1QjZhNGY3OUMyNDU3IiwiMHg3MzI2NkJGM0I0OWQ1NjlCYUZFQzMxQ0U0NWQzOGFDOEUzOGFEZjNjIiwiMHg4NDhCQTI1NGU2Zjc1ODAwMjM4ZjE5NGQ4MEU2OTQ1OEI0QjUzRTVGIiwiMHgwZWQ4RUEwNDAwNzUyRWYyQjc3ZmZmMDhjOGIzNjU1NEIxMjJBZDhDIiwiMHgxZTMzRkFiMDRkNWVDOUM2MkE3M2NiRjI3MzI3RTcxMzU3YTM0YkIxIiwiMHhlNEUwMDZGQjQ1OTVEQ2Y2ZDE2NEE4NUFGRTEyRkQ3RjU0ZWFBNEVDIiwiMHhjM0Q0QWE3NjNBN2FhYUFjN0Y1QmFmNjRBNDczRGMzRDUyMTM4MDdjIiwiMHg1MEVkNEQxN0FjRjBEOTU3NTQ4ODlEYURCNENmQTBCREVjNzU4ZTY2IiwiMHhmM0RGODY0NjE1NkM4NDkxMGQ3NDAyMDdCOTJDYkU0MTQxMjcxY0I2IiwiMHhENDJENWRiYWMyMTllQkI4YjU4NWY4QTg2M0Q4Yzc5OWYzQjMzMGE1IiwiMHhiMjU0MTM5Nzk1OTAwZmQwREYyMTIzNzA4OTM0NjIyOTIxMWY4MjU2IiwiMHhDMTQxODJkOUMwNDIyNTQxQTc2NWFlNjc4NjNENjBEMWEzMjIwYzVBIiwiMHgxNjU5ZjA5QUNDYzdlNkQ0MTk3ZEE5MmI3MzdBNTgwREQ0NTc2NTk0IiwiMHhiOTNDOUY4OTI1ZDExODEzNUVFZjAyMmE2YkRjODM1QjU0YTNFOEJGIiwiMHgzREZGNjdEM0M2Njg3ZTgyMjZmZkY3MDY5ZWFCQ2RBYjZlNWJBNGU1IiwiMHhDODA4MTE5MTEyQ0ZEMzQ3MGI1NzIyQkRmQzNhQUE3NEQ3NjRlYTkyIiwiMHhmQTdhMDc3N2ZlMmZhNERDNDAyYjM5ZUFFZTM1MjZkNzM3MDM5MjU3IiwiMHhjODM4MjM0QWEzNzNENDI0RjA5N0ViMEM5OTQ4MkU5ZDVjZGJkNWM2IiwiMHgwMjk5NTA2MmY4NDNCOEEzMTI5ODY0NjBEMWE2MEI0RUVhQ2NhQzE0IiwiMHg5QWVDYzcwN2VhNTQzZjU0MkIzY2VENTlCODg3MzdFRDYxOWQxNDkzIiwiMHg4NWE2NzY2MWMwMTk2MzUyMTgzOTQyODQ0M2RkNEQwQTE0MERGOTk3IiwiMHgxMTAxRDkwNjljQjE5Y2NjQTU3OTAyNTM5NERmYjFEOEI0ODJGNDQxIiwiMHg1NUMzNmQ3NzM4NDk2NUE0Q0Y1OTlEOWUwMUY0NGMyZjU1MDY0ZGZjIiwiMHhmODBlRGE5OTdkMDI1MUI3NDEzNDYwNEQ0OEZGNWI2ZjRGNmE1Yjc5IiwiMHg4OTgyN0I5MGQxNTBENTc0ZjYzMkEzMTBFRTI1NDZCQTZiOGZGQjRmIiwiMHg0YkJhOUU4NjQwYWE5ZTY5ZjA0ZDZGNGNGNTVBOTg3M0U0ODJjNkUxIiwiMHhDMjQ1ZDYwRDg2ODQzNmVhRmQ3RjBBOTE5YzM1MjQ1NTI1MWRCRTI2IiwiMHhFYzQyMTlkZjIzMzlFMDQ2NjkwQ0Q5N0Q0MjViMTc2OTMzMjVhMzlBIiwiMHg0ODE5NGU0YTZhZjFmOTc5YjE5MDJFQjg2MDVFQmI3MTYxOTkwM2I3IiwiMHgzNDZlNWM5MTJmNTdmOGIzOTNERTk0QzBENEY4YzM4OTI4YjJFNjVDIiwiMHgyZTVlZERGNzQ5MzUyNjA0OWNlZkE4ZkY3QTRCRjdiNENjQzkwRTU1IiwiMHgyZWMzZDgwNDhiNGUwMjg1NzU0ZTJhMjBDMWY4RDkxMGMzQjE0RDNjIiwiMHg3RDg5N0MxNjYzYmU3Q0ZGMWRlODYzQkQ1OTcwQTBDRjkzODg2Mjc0IiwiMHhBNEFlOEE4ZDFmMzliNzVEN2M5OGQ4MzM1ODZGMEVkZDQzMDkwOUY3IiwiMHhhNmQ0MkU5QTJBRWNEQTkwN2Y1M2M1RGI5Q2Q3MTg2MDMwOTU0N2I5IiwiMHgwMDE1M2I3QzQ3MTYzQTJDMkZhYkQ5RUI0NDc0NTY3OEY3MDk4MDBkIiwiMHgzYzdkMTQ3M0Q3NjZmMEUzMzI0MjBDNDAwMTc0NzgyMTQ5NEVlNEUwIiwiMHhCYjgwMDM1NjA3ODlDRjE1MzRFNGRDNDBhMjNkYzhFNDYxRjVGNTBFIiwiMHhiN2NEYjMzZTEyRjJlM0Y4NkU0YmZCOEIxMkU2NTM1MTUyMDQwZWM4IiwiMHhDMzAxOTg4ZjUyNEIzODAwQjNFOUIyNDI3NDkyMmJkZjNkMTIxODgxIiwiMHg1MGVDMUU5N0M5MUZjMDY0ODI5MDlhZmNGNkQwRDFjNmZFMzQ0NzdGIiwiMHg0NTg4QTg3N2ZiQjYwQzg0OUM2YTJkMjJkQkIyYzg0ZUI2NzkyYzIzIiwiMHgxZDI3MEI1YTQ2YzRmNDRmYjQ3MWJEOWEwMTc5QTYwOTA0YkNkMTUxIiwiMHhCNzNjM2Y2QzVlMTYyMzREMkExNWRiNTMxREFkNmI0YzU3NkUyZWZGIiwiMHhDOGFGNjU2N0UzY0MwMGVCNEZDQjYzMkU3MDJGM0RBMzk2MURDRjhGIiwiMHg2ODg2OGZiNWU1NmYxNjc4MjAxZGFkZTYwNjI2ODkxYzY2OTc0N0ZBIiwiMHgyODY1ZjUyQTZmQ0ZiMzc5ZTY1NjcxMDEwMDY3RDAyQzFmZDllZmVCIiwiMHg5ZDA2YkJFQkYxMmM5OUU0ODk3M2M4ODFhOTY0NGZkZDBmNTI1ZTlBIiwiMHhhOGQ5NDQ4MGUwN0FiRTQyQzAyNGYzZDY0NkNENkUxNEQ5OWVGMWRFIiwiMHgxMkQxYjIyMjQyREI5MmEyNWMxNURGMTBBNjQ5QTZBNWUxM2UyMjMyIiwiMHhBZkMwODExQmM3NTE5OTY3Y2UwMjZEODk5OTQ4QjlhRDlGNDRBMjA3IiwiMHg5YzEzQ0RERGRlZTJmYzU1OTY2NTFkQ2U2ZTk2NTQyMjU3QzRFMzY2IiwiMHhiMzhiRTdmRDkwNjY5YWJDRGZiMzE0ZEJEREY2MTQzQUE4OEQzMTEwIiwiMHgyRTZBY0I1NTFmRjkwMjg0NDkyMjIxMzJkN2JBOTM1REI0NEE4QjkwIiwiMHhENkU2OTJBN2I0MzkzQkI2ODJDMUM2ZDY5MjljOTQwMDAzM0UwODU3IiwiMHhBRUU2OTE5NzJDRDcyMEU3NTQ3QUExQTNhMEY4ZUI3YTRENkY4MGVhIiwiMHgzNjRkRjMxNUI5MzNFN0FEYjcxN0EzNEYxN2U3ZkUwQzkwQ2Q3NTQ5IiwiMHhDQTAzQjM0MGQxYjcxYUY2NTcxNzE5NDllNDNCOUQ3Y2E0OTFFNDI2IiwiMHhhZTcwQUUzRDUxOTc3MjliRDFCZTYzNDE1ZDQwQWIyNTFBODlFQkViIiwiMHg4OUQ4Y2IyMzA0ZTQ0NzRjZUVEYjVkNjAyNjhEMDZGOGZjRjA5Mjg2IiwiMHgyOUVhQUZiYmU2YzdGOThEYzMzMzkyMjA4N0EzNDUzNWEzNTcyQ2M1IiwiMHhlOWEzYjI0ZTc3NDI1NUVBMjUxQTdEM2QzMjlENDc1ODAxQWNGOUQ3IiwiMHg1MkU3NDJiMTgzMDY2ZjU4YWFhMDFkNWQ2MkI5ZDFGMzYwQzBhNTZCIiwiMHgzMzYzMDVkQThFNDAxOUM0ZDk2MUQ3NkZiODEyMDhFODYwZTkwMzk2IiwiMHg5M0EzQjNEN2NGQzM4N0Y3M0NjREY1NEI5ODQ3OTJjNzAyQTQzNzE1IiwiMHgwMGRkRGRkYjc4YjQ4NDgwMTI0ODU3RTE1OTREMzNmREI3RDZjZjZhIiwiMHgzN0JENEEzOUM4YWU5NkIzMDAyMEZmYTcxMmJGNmY3NTlmNTU3MTNDIiwiMHg0RDU2MjQ4ZjcyRUY1MDY1OTliNTNlMTYwNTFkMzcxYzExOEMxRjAzIiwiMHg5QUY5MzU4YkFmZDQyNDE3RDg5ODk4ODYzYjc2ZmZkNTQ0NDc3MUJiIiwiMHg1YTM5OUU2MTFjMDk2YjhCOWRDRDA2RmMxOWFDNzc5MzJFQjdGMGM2IiwiMHgwMjJFOUQ3MGQxYTA0MjliODAzODMxRjBhNDNBNDM0YjYwZmI5RDkxIiwiMHg3NEJERWE1NjZDNzJmOTY2MUIyNzY3NjlhMjBkRjk1MzUwZjFDNkY5IiwiMHg1OWY4ZjYzZjkyNGU4NDdiQzAxYjE3NmNhNzUwMjgxZDg3MTRFODM3IiwiMHhiODJENjJkNDk0NTI3YmEwNTU1YkY4MThiMWM3RTEzM0MwNTE4OGI2IiwiMHhlMWQ1NjFFODY3QmU4ZjU4MjFlQzAzZTg4RTRDM0RERUE5ZDVFRTEzIiwiMHhGY2NEYjQ1Njg1RTk0ODZiNzMyZkNkNDUwNkYxQ0VDQTA5NDcxYTU0IiwiMHg0NkRjQjk3RTdjNDg1YkE5ZDU0MTAwOGUzNzUwODAzNzY5YWQ2MjBhIiwiMHgzNGRlNUI2MDBBQTQxQjRkZWU0NkQ5MTg1YjIxQWQ5ZEJDMDk5YTU1IiwiMHgwNEQyQUNBQ0ViYWE4RkRmYzc4ZTliY0YzOTNBQzg0OERDNzk4QWNFIiwiMHhBOUEwQWFjMTNBQmZjOUVFMGM4N2Y4ZjU1NkNEQzI4YjUxMDcxQzQ3IiwiMHgyMzcwN0NDYUEzNjU5MDgwMzM5NzU3OEI0QzQ0ZDZEMGFFMTZDNUI2IiwiMHgzM0VBQjU5YTVBMjgxOWM2QzRjRDY5OEM1QzExMDE1RjVGODAzYjcxIiwiMHgyNzZCMkVmNTBBMzM4NEQ0ODkyNzQwZTJiNzFCQjY1NTA1REI4RDJlIiwiMHg4NmZhMzQzNGJFMTdiMzhBOWM3MzFhMDk3NkZmMjZhNjMyNjU2QzUzIiwiMHhGQzg3MjU5MTMzMTUwRGMzNTM1RDE0OTFDODAzOTUxQjZjMTJBN2Y5IiwiMHhBRjBFOWEzMERkMTkwRDc3RjNiRDViY2JDMDIyODQ4RmZmNEU0NjRCIiwiMHhCMTc0N2U5MTZlOEEyQmRCRTdmZjU5RjhkQ2RhNzE5N0VlNzBDOWI1IiwiMHgzMUI4OUIxYUY3REY3NzJjOGY1NUM4QzRGNEIzNTljMGFkMkM3Q2EyIiwiMHg0ODMwMjJmMDNGNDg1OTdmMTQzYTlFNERDNTVFMDI2OUFjNDdCNzg0IiwiMHhhQjY1OWRlRTMwMzA2MDJjMWFGOEMyOUQxNDZmQWNENGFlRDZFQzg1IiwiMHgxOTIyNTVFRjg4QTkwNmFmN2VjYzZmNTRiMUExRDhGNGFhNEMxOUUwIiwiMHhGNjNBMzkyRkI3MDg1MDg2NTVjMkE0ZWRhZGEyOTZBZDRkODZmNmEwIiwiMHhhZEU3NzA2ODlmNjlCNDM0NjY2M0QzODVDNjgxNDFjRWMyQjRCNTYzIiwiMHg5MzI3RDU4NDk1OEMzODZCYjhCNkM1RWVDQ2YzNDgxN2FBNzc4YThCIiwiMHgyQjdmNzQ2YzMyZGE4RTMxMDc0MDQzODdDMzQ4OTBiNjUyRTVBRGZlIiwiMHg3MTAzMzZjQWYyMzhkQkQ1ODI2RDI5ZUY2NGRiMjMxNTRhOUJhMTkxIiwiMHhhMUY1MkY3YjA4NzdkMjM1NzFFYmZBMDI3RjExZGI1MEFiRTAzMDE0IiwiMHg3NjM0MTk2MzQ5ZGU1N0JFRDA3NTg1N0FjZjExMzcxMjczNjdiMzZlIiwiMHg0MWJlNGRjYjhiMDNkZkM5MWYxRUZDN0M1M0JmMWZBOTVDMTkxRTllIiwiMHg1Q0QxMzZFODE5N0JlNTEzQjA2ZDM5NzMwZGM2NzRiMUUwRjZiN2RhIiwiMHgwZDhmMjdkQzE4MjRkOEYxOUUwNjZkMDAyNWRCQjM0YTk1MDk3MTc3IiwiMHg4YjM1ZjliZjJhNDUzOENCMGM4QjQ3MDFCQUUxNkNBNTJmMDlFMUYzIiwiMHg3NTcyYTY3Qjk1MDRkMDc4MzEzNmZjNmJBQzU2MGM3NzEzQkQ5ODk5IiwiMHhiZTg1NEQ1ODIwYjFhYzREYjA1MUI3RGEyQWIzQjRhOWI2YmI1RDAxIiwiMHhBNzgwZDEzQkRFMzlFZDE0QTVkMTJlRjAzNUEwNTg1NjkzMGM0MUY1IiwiMHhkMUQ4YjVDMWJFZjQ1YjVjNjI4MzhDNDgyRDgzQkI5YTQyMWVmNjg2IiwiMHhFMzU0NjkzNkRjQzg2M2QxNDdiZjU2MzU1Mjk2NGUwZjhENEIxNDQ0IiwiMHg1NjVGQjk2MjM5QzZGRUVENzQxZDVBYTM1MUI4MEJlRDVhQTM5NWI0IiwiMHgzODZjQzIwZjY5NTFDMzE3Q0EwRDk5NWM4NjhlRjI1N0QyQkNFYjhGIiwiMHg0MEUwMGVjOTRhZDRmQTBhMTMzN0EwMDhGMWVmYjQzYTg3NDhFMDhGIiwiMHhmODhBNWM1OTgyQWY1MERiYTE4YjczNjAxNWI1MmFBQzY5NTQ0NDRFIiwiMHhjZTc4RTEwRDMzZGQ3NDc1MkU0YThmZGZmZTc0NDhBMmEwN2Q4MDE2IiwiMHg3Mjk3YzI0QjQ3NDI1ZTA2OWQ0QzQ4YkZEQjQzM0M5NTNCNjJmN0Y0IiwiMHg3NThiMkZBNzI0OGNjOWIyNjAzMjA5M0Q3YUQxN0U4NTZFZTMwOUI4IiwiMHg0OEVFOTY1ODZiOUEyYjlEMkM5M2MxNjJhZDE2MzJjQkE3ZjVCOGI1IiwiMHg4ZDQzNTAzNEEzYzQxMDc0YjQ0YWFFZDcxYThGODA0OWZGMGM4ZDNjIiwiMHhBMEUxOUZDMmFFOEZDM2JEMTFkZTIwODc1MDI4YUY1ODRCNWJDNTRjIiwiMHgwQjYyMEU4NTUyMTBBYjE1YTcwNjRiMzRFM0NkMmUyM2RFMUYzQTM3IiwiMHg5NTI1MUY5OEM0NUUyODNDZDQwYUE3YjQyRWVFMWMwYTU5OUM0ZDFkIiwiMHg4RjAwRkEwMWE2NjY2NEUwYjM2YUEyNDA4ZTQyNUMxRTFCNjUyQjBhIiwiMHhGNzJhOTMxNjYyMDQyMkY5OTIxYTE2MTZjMTkzNDU0M2U5RTdlOTVFIiwiMHg0NERiZmVFNDhmYmFBMjYxNDA0MWY1ZTJBOUI2MDExN2FGNkJDNmM3IiwiMHhDQTc1OUI4MjY2ZjhkQmY4QTk2NzAzQzFiZDJGNzE2MjlENTcxYkZFIiwiMHg4OGVlNjcwNzA1RDhlRjBjY2YyOTIxNDQ1ZDFmQmExQmZBRjA3M2VDIiwiMHg5MTVkNzNlNDVCRGFhRDU2RkM3OGZGZDNlYjE5MjI1QjZCOGFEQzEwIiwiMHhEMjNBREIyODA0OGJiYjlDZjAwNjNGNjhCMjVlOEZmY2YxYTg1OWI0IiwiMHhFMjQ4QTY1OTc3QUJEZThFMGQxMTRCODdCNzUzNmEwRjVhMDM3Nzc1IiwiMHgyN0ZERDY4MDk1NzExYzY4ODlBNDJkQzMyYzMwNWVDOTI3MTkyNjU3IiwiMHgwYmEwQTQ5MjM2YWJCRmY1YWNkQzM4ZEE4MzFGOUI0MWRlMERGNDlEIiwiMHgzMWZlYzRGQTI4MmJCMGY0MjUzYTc5QWEyMTdkRDdiODRlZDEzNjc0IiwiMHg1OWU1OTM1NENFN0JiOTJiQjJDNDI4N2Y2ZkFmRDk3ZEEyRmM3Q0E1IiwiMHhlNURkMzZFMUI2QmMzM0YzMjMyYjBiMGY2NTYzMkU5RDUwMTM3MEM2IiwiMHhENUQwYzU0QTAyNzA3MWQ5MWRFQjg1MzhjQTdGM2RFMEI1ZWRGOTNiIiwiMHgzMWE0Mjg4Q2I3QjliRTUxQTQ3QkRGNDExMDFiMzlBMDZhMzY5NTI4IiwiMHgwMDJkNWQyRTA0OEM5ODkyNkFiMERhRTVlQTc0NDVGYzMwOTFlNGM0IiwiMHg4MDI1NDM3OWQ0QTMxOUNDODhGOEQ0QzM2QjIwMzdmMjcxNzlCNEMxIiwiMHgzMjZEOWI4QzViOERENENGOTAyNjQ4NjhEM0FhOEE0NzBlOThBOWY5IiwiMHg2NjZDNzc1NEU5NDNhRGM5QTIzZDIyN0IwN2RlQkY5OTc3NEYwODQ3IiwiMHg4ZUM3OUQ0MmMwZGY4N0QxMEUxMjIzQkU3QkJkOGU2NDgwMEE0YTA1IiwiMHhGQjhENzFENjQxZTM5ZDhBQkEwQUYzMzU5MWI5RTRDQzJERjRGYmIzIiwiMHgyOTJhNWFhZTYxRGRiMzI1MTY5N2Y1RmIxNEQzMkY3Q0EwNkI4NUNDIiwiMHg1YjRiMjZDOTAxN0MyRUU4NEFkMTgwOTYxMWM3ZDkwNjQ3MTFGODRiIiwiMHgxZTk5YzJkYmM1NWU3RTI2NDg1NDhCNTE3ODViY2Y4NjAyMjdkRTlDIiwiMHgyYUYxRTExRGVmQkMwYmNFQzhGODg3ODk1Qjk4QmQ5ZWZkOTI4NzJEIiwiMHhhYjJCQ0ExYTcyMjA0NTc2ZTg2MUEwMTJiOTRGZEJlRkI0YUIwYjJkIiwiMHgzMzI2NzdhYjRCZjJDOGRENWQ0Zjk5MDc0Y2VjOGMyOTUyMTA0ZDBEIiwiMHhiMzYwQ0ZiRjg2ODlEODdiRDYzODBCYkI1NkYwNjhCY0YwNmE3NTY5IiwiMHg1NEU3RWRiNmMyNjJlRjEyRUE2Q2NENWY0ZmJlMDUwMTJhN0YxMzAwIiwiMHhiNzlmMTliYzQwNDhDMzVBYTRGQUMxMUE0OGE3QjNCODIwMjhkOTYxIiwiMHhERDZhZTNiRTIzMzY4MGRiNUFhMGQ4MjE1NDU2OTM4YjljYzA5MjIyIiwiMHhEOURhOWMzYjU2MkU1OEEzNDg4ODUzMTk1YTYzNjVGOTZERTcyQTE4IiwiMHg3NTY4OUJlRkE2RUQ2MmJiNUMyQkUyMUIzN2JFNkY4QzY0NzQ2ZTg2IiwiMHgzODcwNEFEMDQ5RDk4NjUyQzViY2Y0ZjUzZWFBRGVFOTFmNUYzMTA0IiwiMHg2OTRhQzgxYzE1QjY1N2M0RTkzQ0RFMmQ3OTMzZTMyRjI4RDMxMkFjIiwiMHg5M2UwNDI4Yzk1MzVjOWU5OTRhMzcwMzc2MmU1MDI1OEZkYWE4RDRGIiwiMHgxRTFlMTc4YzU0QTJEOTQ2OEQ0QWRmZDY2NDg2NGYwNGY2QWQ2Nzg5IiwiMHg4ZmI5OGFBMjliMDJERTQwOTlkOTVkNEMzNTU3NDRCMkVBNDkyMkVhIiwiMHhmZWIxRkQyQTU4MzEzM0JENzk3NzZEQzI1QUYzQzk3NWM2NmRCRmI5IiwiMHgzN0Y2OTlFZmFmQTk0MzRlRGI5NjRjYThDYWE3MWFENGNlMTNDZTNEIiwiMHhkN0ZkMzY2YTJlNjE3NEQ0MzQ2M0FDZDVBRTcxNDkzODUxRTEzMzQzIiwiMHhjQjMxZTY5QzdiMWE4N2YzNjMxNmZiQmQ3YjM5MDY2MWRiNzg3YTZFIiwiMHhDOTI1RTUyZjNGNDI2NzIwN0M1NGI4ZmE2RTJGQTY4MjdFNTNkZUFDIiwiMHhlRmE2RGM4NjY1NkRDRTNDODQxYzRiOWY4MDZCM2EyMzlBMWI1NjM4IiwiMHgyNTg0ODE0MDgzRTRiMTdlMThGMmFlQkFGNzJkQkY3NTE0RkE5NmY1IiwiMHg5NGNEZDE4RjUzYThmM0VDOUEzRWMwQ0JFODk3YUVENWVhMDA5YzQzIiwiMHg2MDY5YmI2NTM4NTc5MTIzOUUwQjk5NjRjRjlENTVGNjY1OURkOTFFIiwiMHhmOTU4QTRDZmNBN0FBNGIyMTcxMTIwQzk2ZDAzZTk1MDhDNEZDOGRCIiwiMHgyNGIzNDA5OEY2OTUwYTVkNUI2QmJFMTM1OEFENzlCNjA5QjkyNGZCIiwiMHg1NEZBYmRlQzEzNzQ3MjE0NzI0ZTFFN0E5OWE3Mzk5MkMyNTcyMzE4IiwiMHhhMTQ0NEFDNWI4QWM0ZjIwRjc0ODU1OGZFNEU4NDgwODdmNTI4RTAwIiwiMHhmYjg3MTRmQzJERjAxOWE1ZDI2M2QwOGNBMDU5MDgwODE4MDQ1YjNmIiwiMHg4NDQ2OTUwZjYwY2JCZTliMTFBQUViOEYzMURjMWY5RGQ5MjNBY2EzIiwiMHg1YUY1QTgwNEREQkY3MDUyNjBjQTBjQTliM2IyNWE4NGUyMDdDNkQ4IiwiMHhjMDU4ZTY2ZWYyMDRhNDY0MWI5MzFEZDY4NjhmNEEzY2Q5QmU0RjIyIiwiMHhBMDU2MDU1ZmRhOTI4OGEwNzc5M2IyM2UzMTU4ODZCNzY5ODA5N2JBIiwiMHg1MjgzNGMyQmIyQzk4Zjk1YUU1MUIwMTlhOTAyNGMwOWRCOTg4RURDIiwiMHg4OTEyNDg0NDI3OTVFMjI5NzA2YmU0RTIwNzlkNmYzZGQ2MDZjRkVEIiwiMHgwMkRCOUM2M2UwQzVhRGMxNzhlNkVDMTYyQ0RhMGM4NUM1Qzk4RGE2IiwiMHg0ODJmRTg5ZTc2NDEwNTNGOTIwOUNGMDU5MkU1ZEQ5NUQ0RENGRDdhIiwiMHg0N2ZBYUREOWRkMDc1QjE0MGM0NzlkQ2QyMzE3MTIyODg1NDUwRTc3IiwiMHhCNDE3MDBhOTYzMEIwNjJhRDFEMkMxRDdEQjMxYTZCN0NiYzA4YzJGIiwiMHhDNUVlNDI1OEMwMmEyRjdjNzJGQjVEMTgxMjhFMmE0YzQ3ZGRmNTg3IiwiMHhDMmUyNWJlZTIzMzJDOGU4NjU5YzQ3MDQ2Y0RCNTRDQTBFMjRmNDVBIiwiMHhGZDI2YjZhQjJiMzI5MDVCMjBCOEY1NTA4NzkwNzdhODFBMzI3QWYyIiwiMHgzQzU5N0ZmNDg4MDAzMDUwNzk5YjhjQzU3RjBiRTNiNTBCMzk1YzE1IiwiMHhmRGQ2M0NhN2IzQTY0MTAyM0Q5YTRhOEZERjE2MWU2RGVhYTdkN0I2IiwiMHhERmFBZmFCOWUxZEIxMWM1MjNkOGFCZGJDMDBENEJFNjAzRTg1MTcwIiwiMHhlQUQzMTQ1QzNEN0ExMDUxRTg0Nzk4ZDRGYzMzMTU4NTM5M2MyNTE4IiwiMHgwY2M0RURFMTcwQzMyZDYyMWU0N2MyOEJjNTFDOWI2YjQyQmRjNTdlIiwiMHhlRUE4MTQ5NkZmNjkxZDg1RGEzN0ZENGFiNTA2RDU5M0VkNjU3MTNiIiwiMHg0NEE3Qjg4MkI1NTBGM2FGMmUxZmJlNjQ0MzE2Q2JEMDdFOTBBMTQ1IiwiMHgxQzkzOTFCMEQzNGYyNUUxMmYzMjcwQzNiNDYxQThhMjgxOTA5MDY2IiwiMHhGNzUyOURCNjNkNTBjYUE4QkM4OWEzNmY5N0EzNUE3YjBENDZGZkM4IiwiMHg1REU0ZjkwOUY0MTYwMTM1NThiNjlGQTJiNzhFOTk3MzliNjFjODNkIiwiMHhEMkNlMTAxMzQyNjg3NTRCMEM4NjA5NzJjMGZDNmY4MjI0OWVkN2UzIiwiMHhkOWM3NjY2QmQzYzAxMjYxMzAyNDg2NTlmQjA3RTZkNjRlNEYzQTllIiwiMHhFQTIyRUI4ZkZiQTRFOWIzNzg2NjY0RGQ5YjQ3Njk1MWViQzlCN2M2IiwiMHhhYTNkMjhGZmMzNUI0MmZiOTUzMzBFOTZENkU4OUFGOTFCY2MzMTllIiwiMHgyRDQ0QTRGMkIzY0Y1QzhmNWJkOUMxMzM2MDI2M2ZGNmM1NEZGMTRhIiwiMHhhQTkyNzk4RTAzMTU5ODhFZWQxZTBGYjc2OEQ3MjA5ZGJFQ0RmQjg1IiwiMHg0YjM3ZWU5OTJlN2VhODM3ODUxM0UzYTIxNzNGNjVmODhBMDdGNEM0IiwiMHhCMDE0YmUzYmM1Nzc5NGE4MTJCMkY2N2NkRDlFNjA5Rjg2YmQ1MTI5IiwiMHg5NGE1RTQxNUNCQ0U5NjM1MDVCODY2MWZCMDAwMEY0MDQ1YUNjNjgwIiwiMHg0OUMyREQwOEY3MzVmMzNkNDAxZDMyN2RlMzEzOUYzYkI3NzcxYzM1IiwiMHhGN0UzZjgzMDE2QjlmOWM0NTdlYjMyZDhFOTU0MzViYUVhOGM5OERhIiwiMHg5NzFmMzFEOTJDMTdjODc2MGUzMDRlMDY3Q0I3OTg5MjEwRWU1QjU5IiwiMHgxMzJkMTQxMDMzNUJkQ2I3YUQ4ZmI3ZDUyYmFjNTU3M2UzRGVGMzk4IiwiMHg5RTk4ZEVhQzFBNDE2QzlDRTNDODkyQkQ4RWVGNTg2ZjEyOTFDQTM1IiwiMHg2NzIyMmI3ZTJmNDhhOEMyM0U4NEIxOWEyZDhGN2I4MTYyYUI4NmM1IiwiMHg4ZDVEODkxNTlDZjcxMmVGMkE4NjdBYTEwMjlhRjkwRjc3NTVjMGNlIiwiMHhmYzZGQjcwYTdBMGY3MTlGODdFZmU5NkEyMzYyRTAwNTEwNDYxQTY1IiwiMHhDQzBjZjkwMzUwYTQ3ZWMzNzA0NDIzMzdkRjY3OURCRTllNWIzMTUxIiwiMHg5N0Q0NWJBYTdiY0Q2OGMzODY1QWQ4NkE4NDNhNjkzRmNGNWQzODQ4IiwiMHhmYTdlMDNEMjQ3OEY3ZTNhNDg1NDdBNTY3NTdiQjZCMTk4MzE3Rjk2IiwiMHg5RjYxRjI2NjkyNDBCM0U2ZDRlZGNGYTQ4MTAxYTUwMEYzRGI5MGZDIiwiMHgyMTIzNmVmZTZkMjFERDkyODhmM2UzOWEzNEFlNGE1YzJBNTVEODA0IiwiMHg2N2IyNmFjMDk4RTU1NzY3OTk2YkZGODFiYjU2Nzk0ZGIyMDI2N0FEIiwiMHg0MDAxNWJEZkVCQTM0MzA1YmM2QTgyNWI4NjMzNDgyMDk0MjViMDIzIiwiMHhBYkY3MDk5YUU0MzVmZmJBZjdGMjM2NTY3NjE2RkU2NGU2YTJjMWEyIiwiMHhDM2EwNWZiMjU1RTQ0ZTk0MjI0YjNGODg2NUE0NTliMDdhMDEzYjlEIiwiMHg0NkI4YkU5ZkVhRDM5QmQxZUUxQzgxRUZlOTFmRTk5NGRmMUYzNDFEIiwiMHgwMTM4OGY5MjQyOTY0RTJBQUFkRUY2Mzc5ZUI5MjI3NmFjYjU1MjBFIiwiMHg1OWRkRkFlQjIwMUJEREJhYjZDODM5QTMzNjkwMEEyMDY5OTFDNGJFIiwiMHhERjc2NmM4NGQxRkExRmU3RTE2OWJlNzJBODRjMDI5ODI4NDcyMzExIiwiMHg0MjAxOEMzZDc5QzYzMjMyREExNDUwRDJGZURjMkI3M0UzMDY5QzhkIiwiMHgyRUEyZWI4RjlBMUJGMTdiQ0JmMjU1NTUzNmM5ZDFFMjRFNDVlYmMwIiwiMHgyRjA5MzM4NzU3OTAyQTM5NkYyMUMzZThCZjVBYjA3MDcwMjc3MmM5IiwiMHhDQ2E0QjlGOEI5YUFlRUNkZTVFNTVENkFGMjdlMDZFOGU0OTA3MTkwIiwiMHhhYjY2NDc3OGQyMTg0MzZENTA4ZUJjMjUzNDBFYTE4NzY4NzIyNURjIiwiMHg1QUNGOTg1MDM1OTYwNEY3NjM2ZkJiQzUzNTk1OTA2OTMyRjM4ZjZkIiwiMHg3ZWRBMEVENGQ2NWFiZjU1NGVlNDdENmMwMDQxRDIzMTc0MjI4RTQ3IiwiMHgwMDREZkU5RDM5N2M0MzNEZUQ1NjhjNUZlNGMwYzlGYWQyODQ0YjAxIiwiMHg4RjIyNEJBNzM4NTcyZGVkNTMzQjQzODZiMDc3MDMzRTIxNjgzRDdkIiwiMHg0NUJBNERGNTgxNERmZjhkMDNGMjBlYTNDN0MzMmFkRjU5NjY1OTBCIiwiMHhBMThERjkwMjY4NDI3NThkY0U3N2ZhMTNhMDI0MjcxQzc2QUFlNkM3IiwiMHg5MzY2NkZlOWEyMzY3MTYxNWFDQ2U5MTUyMTgxRTEzQTY1NWMyMTE2IiwiMHhCNGZBQzlCQjgwY0I4NEUwODJEZjBlQ2ZDQTMwMjBFM2UwMzMyZDllIiwiMHhjZWRGZDZhOTdlMGU4MTBGMUU1OEE3ODMwMGM4MjIyQkNhNTQ4NzE0IiwiMHhFN2M0NTQzYjUzMzYyYzZFMmQ4OTBCNkU3MTg0NWVBRTFjRTFiRTIyIiwiMHhFRWZlNTU0RGNkN0ZEQ2I0MEMxNWNBOTE4RTIwOUI3MTBkZkYwMjg5IiwiMHgxQzk4ZmUwMUQ1Zjk1ODkzZTg5MjJERjIyQzEwOUUxMzVmNGM2NjY5IiwiMHhGMzI2NEUyNmFFZTEzM0Q4M2IzM2M5ODdGMzczMDkwQ2U3MzlFZWQ1IiwiMHhBYTA5MjJjQjdjYWI0NDNFNDUxZTQ0NkE4NzZiQjk2MzVDODQxOGEwIiwiMHg5RjcwRDZCRGFCZDdEMEVhNGM3NjQ1QTNiRjEwY2YxQTc0MkEzN2JlIiwiMHhkNTI2NzI0QUM4ZTBCM2NkMTgxZTUwRDU0OGVEN0JmMzBiOGE0MmJFIiwiMHhmMmQ1RWQzMTY2YTAyNkEzMjIxQjA5RTNmRTJhYUQ5ODE5MkNBNTBEIiwiMHgxNEZBOTdlYTg3OTJDODRjODY5NjA3NDQ2NDYyOTcyNGEzY0FGZENjIiwiMHg3MkFDNzY3NzMzQmVBMDc4YkQ0MDEyZDQ3YURFMDJlODkwMEI3MGY1IiwiMHgwRkFEODlBN0Y3ODg3NUI5OGU4OGFkOGJFZmQ2OEE0ZTg1Rjg0ZjFkIiwiMHg4NzUzYTczODBBNWIwMWFiQzhCYzU2NjIxM2ZCNGYxQ2Y1Q0FlYWQ0IiwiMHhBOUU5OGRjMjA2ZjIxRkEwOTkyRUM2NDBCYTM3QUI0ZjYyQjIyM0U5IiwiMHgwZDZhOTUxNEZGOTk1NTU2NzAzMWU1YTc3YTQ1RjBDQzk5MjhjNkU0IiwiMHgyRThFQjkwOUNiNEM3RUJDRmYyNUQ5QURFODYzMzhDMjQ4QTk5NjQzIiwiMHgxNDZDNkM5OTE5RGFFOGJlOTcyOTJCY2Y4QzE3OTc3ODYzZjFGNUY3IiwiMHg2MkFmNDc3MTQ3ODAzRTA5MURCM0NlQzM5OTE5MDczOUIxNEEzNzVmIiwiMHgxQjIwRDVDMjIxZDc1NDZhZkI4Q2RGN0E2MTFlRDc4RjkzZEQwMGY0IiwiMHg3MTJBZWI4Y2U1QjIxYUQzMjgxNzU3NUVlQjZFNDM2NTVhNjE2MzJDIiwiMHhlN2U2RDM1RjY5MzIzRmJkZjJBN0E3NWUzREJmNjBBZENFZDFmNkU0IiwiMHg3NGQ2NEExMTI4MjFkMzBGOUNERDBhMzM4NjVhZDc0MWM0Mzc2Y0JhIiwiMHhCRDI0NkVCYzk3Njk5OWE5MDk2ZGU3MTczMEY3NkFhMzI4MTc5ODIwIiwiMHg2OTE5YUZDMUNBNmFFRUUzMjQ1ODQyQ0UzM0RlMzMwRUJiNTRhZjY4IiwiMHg0NDc4NTM1REY2OWY5RDliMTUxYjA3OWMyMUE1NkExYzYyNjZlZjgyIiwiMHgyMGYzYUZkYjdjMDJkOWU5YTBkNEZkYUUzNjZENUJBNzI3MGYzY0Q4IiwiMHhkNjVjZDg0NjJFNUMxYmJCMUFjMkZFODg0MGE4NjY4ODk1NDUxQjYzIiwiMHhCQ2YzYjk5ODhDMUMzNUUzYjkyN0RBQ2I3RGUzQjBhMjAyMGQwOWU0IiwiMHg3ODQ4NUE4NmFiOGM4YUEwZDNkMDQyNTIyRjhlNUEwYTQzQTU2ZTg0IiwiMHg0QkI0NENFN2QwQzNiYTE0Mzg1MzM3NmExODkzYTdFMzk1NzU3NzQ5IiwiMHhlNjVmOTJBOWM5ODRlMURiYUJFNEE1MzI2ZTY4N0UwMzg4QzFiQjAyIiwiMHhEQ2Q4MDE3QjY2OEU2YWMyNGE4YTMwMEY4ODg5RTc3NmNFZTQxNDEzIiwiMHhiRDViN2QzNjE5ODNFMzYyNTlEMTc2NTBmODRGRkNmNjRhREMxMDUyIiwiMHhBNmEyMDFiMjhDYTY4NTc4MWNGNDg1OEY0RTNhMTNiMGYzNGMwY0UwIiwiMHg0YTdjMDkzOWVhOTExZjlmMzI0YUUwNDZmZUVDMWE2MTczMzc1YWZmIiwiMHgyYTZDMzYxYjQzQTJlRGNhZTA4ZTJiZDU0NDhFOTBlOTM2OWNjRWQ5IiwiMHgxMzUwMjg3ZmQ4MTBBZWJBZDdhNTU5QkRCMjI3YzA0ZTdlNDY3MzhiIiwiMHhGMTY5YjAzZDc4QkZiOTBDNzc5ZTdFOWZmMDc4MjQyMTNmMDdDRDU1IiwiMHhEMGI5QkQxNzI3OUU0MzA1ZEIxQjE5ZDNiQmRGZmE4NjY3OUY2MjkzIiwiMHgwMDY2ZjE3RDBmMGVhMkQyMmFhNzdCMWYwYTk0ZWRkNDc1RUQyYzU5IiwiMHhDOTBiRDZmYTRFZTJDREFBOTNDZjQwRjU5ZDBlZEI1NTU5YjYzQWUwIiwiMHhjMEM4RjdCMUREYzQ0ZUQ3ODFBMjQxMzQ0MDBCNjE1OTlmNkE2MTQ3IiwiMHhiZmVGODgxNTkxNzNDNkJFN0MyMkJmMjQyODk1MzZCNmJFQThmODExIiwiMHgwQ2E5QTRhOUEzZGU2NWE3MkYwODRDYTM2Njc5RjEyZmMwMzdhMjk1IiwiMHhkNmZiZGE3ZTgxODNiZjM0YmNCNEQxQTdmOTk2YUNBNWY4MEU4Mzg1IiwiMHhhNWRlNTY1MzVCRWI3Yjk3RmE0RmJDMjRCZDdhYTFFQ0REYTAzYjYzIiwiMHhGNDZlQTY0NTA5RUNkZTMyYTk2NDI3QzM5NEVhYzc5QTM1OEEwNmFiIiwiMHg2NjgzMDlmMzI3NThlZTc2NkI1MzI4ZDZDRjBBZWQyYjIyOENlRDk2IiwiMHg0QjUyOTE0QjdmNDU3QzkxNDdiMWRBRGJBQzQ4RTc5NjY4NTQ2RjhmIiwiMHhlMUZCM0YyNzEyMzdiYUU2OEQ0NkZiOGMwNWVCNzU4NjYyZjY5RGM2IiwiMHg2NjBFMDFDNGJCM0UzOTYzNkQ1MkI1N0I4RUJjMWJENTBkMWExOEI4IiwiMHhkRDNiMjg2NUE3NGExNjM4NTUyMjNFYUFiOEFFOTM1RTc0NDlBQTkxIiwiMHhEODRiRkE3RjZDMWE2MDUwY0I4MjNEMTY3MTRkZTgzMDc5YjljQWQxIiwiMHg0MDlBMWY2RDY0ZjQwODlGY2FBYjk4NDBiMjg1NUQ0M0Y0MEYwMkM2IiwiMHg4NjNiRTEyMjQyNTg3NjQwZkZBOEUwNjRkODRDY0ZiNjQwNDQ5OUI2IiwiMHhhZDNFM0NjNTZDZkZBNDIyMzVCMzI2MDkwMTc2ODkxMjkyZEZjYTIwIiwiMHg4NkRGZjQzRTY4YjRkNDA2N0ZhQTNhN2ZBODEyQTA4ZjM3QjcwRDYxIiwiMHg4MzQ2RjQ2M2RDMzJDYWMwQkE3ODk5N0Q5Y0QzM2Q3YjlGNDEyOGM0IiwiMHgwM0Y2QmM5MEE5NGU5ZTRjQ2ZFRTQ1ZDY4MmU3MWY1YzkxMDQ4NjllIiwiMHhENzNCMEMyRTlFRUU5OWQwNjE4QjI5QkMzRDNkNzU4MTA1Mzg2MzlGIiwiMHg1QzE1YjFCRjc0NTU0YmI2RTljMTY5MDhmODg1ZTcyNTk5ZUY3NUVjIiwiMHg2MmYzZjI5NGRDMUI4ODQ4ZGE4QUM2QUE2ZTFhODNDNzRFMTQ1QzUxIiwiMHg4QTE1QjlBQTA5YWU3ZDlFYTc5YjUyNDZiOGY0NDJiMWRjN2E1NGY0IiwiMHhlZjk0N2E2ODg5YzFmZDQ2MDA0QTJDRmEwODJmQmNmNmJmZjM2MjVmIiwiMHhENjNmOEY4YUI0OTM4M0IzQTg3YzgwMTJDODgyRTA4ODViZDQ1QTFGIiwiMHg5YWQxYzExRmQ3NUM0QzI5ZTQxNGJCYzVDOGNDZTgzNzY1QzE5OTExIiwiMHgzMWY3QzdjN2E0N0E4NDcyQWM2NDIyRTM5NGJFMDAyN0MwNTJkRjU0IiwiMHhjRDVBMTk3MDdmNkExMjIzNkM2NDM2MTAyRGI3MDlGNDMwOEVkMTI0IiwiMHg0ZjdkMzcxZGUzMUJFZkI2MEJCQjczMTE5NWEwYjA1NjFEYWY5OUFFIiwiMHhmMDNGYzU2NUY4NEExQzU0OTg3NDY2NWFkRUNFMkQwMzg5ZThmNzQ3IiwiMHg1NmQyMzkzMTFjNWM5RkI4QzVjODlmNjY4MDNlQTYxMmJCZTQ1MkQ5IiwiMHhlM2Q1MjkxQTJlNEMxNzY2ZWNmMDYwRjM1NGQyQ2UzOEFkRDk2OTE0IiwiMHhmM0VkMjg1N2VBM0RFMjdjMTJFMzU3YjRENEQ1MDQwMDU1NzY5NDA5IiwiMHhFQTIzQUI4YzNjMDQ4YjhGYTZDOGE3NkJBNGI4OWZGMjkxNGJCODdCIiwiMHg0QzVlNzhkMDMxODg3MEIxM0Y4M0QzQTk1MUM2RkQ3OEQ4MmU2Qjg1IiwiMHhFYTkxZjdmZmQyNjU3MDUwZDdmZDE4OTA5Mzg2ZjdBMDFCZDBlOUREIiwiMHgwZmI1NkVERjBhYTgzMEM0NjUzMTEwRjE2MmEyRTE5NUJGMzAyOTEzIiwiMHg0ODg2MDMxOWRhRTc3MDlDRjNkZjk4NkREQzRmM2Y1OWVkNzAwNzA1IiwiMHgzQjU5QzgwMUZlMjJiMzYxMjExRjFmMDY2YmI1YzE4YjlCYTllZENiIiwiMHhFMTI1N2U4RTgzMDI0ZjZhM0JlNWMyNDgwZDI1QTUxNTUwMjE4NjgzIiwiMHhmNEE3MjZGYkIyZGIwYjg2MjUxNTQ0NTQzNTNhNzJmNjAwMjMzMzk4IiwiMHhENkYzMUQ0NDJCMDY4MzVhRTY5NjZhMTVlM0JlN0Y3MzFkMWNDREM3IiwiMHhENThDYzFCNmQ5ZjQzQTQ3Mzg3NzA4YzY4MTExRUZFODNjMUU0QjBiIiwiMHgwNjI1NjE3ZTMzZTFDMjM3YzRmM0M4OTg0Q2ZEODVjNzk3NEE4OWEwIiwiMHgxYTlkZjM4ZjcyQ2E1ZTM0ODMzQTUwOURCMjVGNzYxQzMyNEVlOWQ3IiwiMHhhYzcwNjU0QTcxRkE3MkJmNGY2ZTE4YjI2Qzk1ODVjOUYxMjNEMjkzIiwiMHg2NmRiYjVBOWQxQUY3NWZBMzE4YzA5M2Y0RkY1ZDYxQ0M5YzAxRDAyIiwiMHgyY2Y3ZDE0RGEyOTc4NkYzODQ3Q2FmNTE4MjZjQ2Q5NGYwQmRDOTQ5IiwiMHg5MTEyNjE0NzU5REFEQTE1NGFiRmJGNmRhRDgxMEE5MjUxOTg2ZDA1IiwiMHhDZUQ5NUVlNjhjMEUzRTlFN0MyRDYzZDQ5M0Q3Y2YxMDFCNzU0ZjA4IiwiMHhhMkVFNDQ0YTUzZTE4RTQ2QTQwRTc4RjUxNjIxQTQ4OTVmN2IxRGZDIiwiMHg3MmI1NTg3REJEMWEyODkwMjNBMDlmNEI0MDBkYmM5NzA4Y0EyMDFGIiwiMHgyRUE2ZkFjNzRjODk4ODExQjUwNEFBNkY3NEQ4ZTMzQkYwRGM4NTU0IiwiMHg0QUNGMUI4YUQ3ZjIzNTc2NTk3Njc0Q2FiMDZjNjNhZGQ1NjdFRjAyIiwiMHg1YjkzOTA5YjE2NTYxOGYwMTMxMDkzOTEzYTM5RkZDQjc5MzZCNjQ3IiwiMHgzMDQ3N2VENzkwMjcxOTQzODc0MDM4MEUyZjU3NjMwNThFN2U5NkUzIiwiMHhEM2Y0MGQ3ZDhiRDQ2MTE1YjVhODgyRTY2RTdEMGVjZEE4Yzg4MDc5IiwiMHg4ZUExNkIzZTBjYkY3Rjk5N0NjZjNBOWVmRUZkNjM5MUVkZDg0RDJBIiwiMHg4ZDRGN0Q1YTRiNEY0Mzc3OEIyMjI3ZDcxNUU5OTkzMWQyMzdFRWZFIiwiMHhmYkE1ZDllNDMyZDk4ZjgzMGIyMTIzMTUyNEZDMDA0QzE5Njg0QzBBIiwiMHg3MTQ5NWM0ODUyMEVEODBkMTVjNjA2Q0RDMDgzOTM1NTZBOGE4ZmNmIiwiMHg1NDc1NTg4RTNBYkQxZjFkNmMzM2FhQmY4NTI0RGU4ZjlEOWVBRWRiIiwiMHhiM2FEMUY3YzNBNkRFY2UzMDVGNDAxM2RGYmQ1YWNhYTQ1ZDg1NjA2IiwiMHg5NTg3QjAwNjY0ZTlDRDFhM2VGMTAwOTNjMjU3ZDMyOUYzYTJmODZEIiwiMHg0MkM4NUVkNThGODE4NzU1MGVhNDk4YmM4ZWE5MjZBMjJFYjUyOWVhIiwiMHgwZTVlOWMyQmYyMjc1ZDU5QUIzOWIwNTUxNjJlZDQ4ZDFmMDYwNDExIiwiMHg5YjA0MmEwNTkxY0U5RTliOGRkMjFEZjQ1QkQwYTVCQjg3MTY1RTZDIiwiMHg3OTNFNGFGYzA3NTQ1Mjg2ZWY2MTQzYzRmZTMyNjY4N2VDQkFFRDdEIiwiMHg1Y0JFZmUxNGM2NmJhNzA2ZTc5Q0E0MjM3ZkYxMEYyMTg0NjEwMTRBIiwiMHhmODQ0OEM4NDNEQ0I0NEMzODAyZkYwY2ZEZGJlRTAzMEMyNTgxMjk2IiwiMHg5MTA4MTNDNzVDQjM5YTA4YTMyMzdmZDgyZjE4QkJmZkFmN2RlRWUzIiwiMHgwYjg1QjMwMDBCRWYzRTI2ZTAxNDI4RDFiNTI1QTUzMmVBNzUxM2I4IiwiMHg0ZUNiRGZjOTdCNzQ5YURjZWU2QWMwMzVhRDQzRGU5ZUQ3NTM3YzZmIiwiMHgyRDBkOGY3NmYwMjMzQjBDNTNCMUQ4ZmFGZWIxQzM1NzE3MGVmZWFjIiwiMHg1MTE0OTI5QmQyRGJFNmQ5MEY3NEE5M0U5MDE3MDNmREM0ODlkRTQ2IiwiMHhDNmIwMTVDYWI4RDY4NkM3QWNGNjAyMjUwZGU1ZWM2OTQzZTkyM0I0IiwiMHg3MDc2NmE0NTUwZjU5MDdFNThlREMzMzczMTM4OTU1MDc3Nzk4M0E5IiwiMHgwMGFEODREOGE5YzVmNTlhQmM3NWM0Mjg2ZkRGOWMwYmU0MTBCNjlCIiwiMHg5ODc1NDVENTQxRjE1N0NGODllMEE4MjAxZTgzMUFlQTU0ODM3NjlmIiwiMHg0MWRmMUEyMDIzOTc2YjhiYzAxYkQzNjg3MDU5NjI2OTBGMWIyYUYyIiwiMHg5NDM5MEMwNDBkZTVmMGVhMjFEMWIxYmUwNDk0ZGQzOEY4MWM1M0E4IiwiMHgzRmRiOUFDNmY0MWRmOTM3ZTgwMjI1N2U3ZTA3OTNEZjZkNDZhMmE1IiwiMHg2MWNlNWEzNTUzMDViN2UyYUQ5YTJERUZGNmQ5M0VhODg0ZmMzN0I4IiwiMHgyRTc4MjM3ODRhOTlGYzQyMUY2M2QzNjI4QTY3NWYwMmU1NDZBNjRhIiwiMHg5RkVkRThDNGQ0NWYyNEYzOGJmRWMzQ0ZGMzBkMTA5OGNjQmM2ODg3IiwiMHhDQTQxQ2Q5NjZjMTY0MDExYWY4YjEzNUY2YWU5ODAwYjA4OUE0NGE0IiwiMHhGMkZDZTAwODA1MjgzYTA0NTIwQTkwQTVCZWFGNzE0YzU3ODMzOEUyIiwiMHhhZjQ2YzRDZjFDQjJBNjY5Y2UyZjdCYzFlN2E1M0YwZGE4YzdDNTc0IiwiMHg5M0E0YjQ1QTE5MGQyOTAzYTE4NDk2RDMyM2JhNGUzNjNEMzBFOTliIiwiMHgyNzYwMzg3N2NCZTZFMGY1NGMzRDY1NzQyYzgwYzJGNmYyQTFCN0IyIiwiMHg1Yzg4NDRlODg5YjhEMTc5NkM5RjY4MEFDNDI1OEU0NmU2MTI3MkI1IiwiMHg1OTBlNkYyNWU2NThDMEY4NjJGNTAzMmY0NzkwNmZCMUIyMkI4NzdCIiwiMHhiNGM2MDQwMDhkMGMzM0VjYTZiZTg5QUIxNjM2RDlmNzJlMUZhOGE1IiwiMHhkNWQ3NTFBQTQ4QTFjZDk1YjVhMjgyNjdDM0E2RWE5YmE2ODhmMzAxIiwiMHhmMDlkNGE1MmIyNTg4NmNENGNhNDJENDBmQWUzMDJhODVmNjllMDJEIiwiMHhiRTRiNjczYjIwMWU0ZkZlOTYxOWUwMzdCMWJhQ2I2OEVmZjQ4ODJjIiwiMHg1OGEyRTYxODg2OTc2MkQyQzg2ODM0MTZiOURmNjAwQ0Y4MmEyNDhmIiwiMHhBODc3MjY2Qjk3YjgzRjFiYkNiZTI3M0YwRDQyODc3ZDY2NTE1MTREIiwiMHg3YTdDNzlkNDc0ZDBCOWZEM0ExOTVkMTk3Qzc4Yjc5NjdGNzMyNTcxIiwiMHhCNkU0RTJhMjdBMTYzRTViNDBhNjdFMmExNzUzOTYzNDkyMjYwQTlDIiwiMHg4ZmMxNjcyYkMyNDdBNzREZmU4YUVmNDVmMTJjNDdBRjRhMmVEMGI1IiwiMHhkZDc3YjcxMUQ5MGNCOTMwNDc3Q2IxMjg2Q2Y0ODBEOUQwQTc4Mjk4IiwiMHhBNmRjODQyYjIzODVEOWY4MUQ2ZUY1ZDQ5MWM3N2RmY2Y0MkU4NDg5IiwiMHgzQzc2ODY0YzVkYjIwYzYyQUY2MjBFQmFmMTQzNDYyNzlmMGJjYWVDIiwiMHg2YTkyOEQ3MzM2MDY5NDM1NTk1NTZGN2ViMjIwNTdDMTk2NGNlNTZhIiwiMHgxZjFiMTVFNTdDMzhkNjg0MmI2QzA1NDY0Y0E2QkM5QTQzMUFiZDViIiwiMHgyREY2MzMzOTJBZTJFRjNGMjI3ZDgxQzRERkNjMkM2OEU1NDNlZDg1IiwiMHgxNzk4QTQzNjM0MTA5Y2NkOTU3MjVhM0YyNDBhZkZFYTE1NGY5Qjk1IiwiMHg0YTYwYTM2YjY5OWZGQzU2Njk4YjQ5NTAyODM4ZTMyMmQ5M2QwOTNBIiwiMHgyODhhM0IwNjRDNWExZjgyRDg3NUREZUExZDVmOGFGOEM2NjkxNDE0IiwiMHgyRjdiZGQ3OTUxQjNGODFiMkNBMWIxRTFENjA2NWVCNTIxMWE1NTNlIiwiMHgzQmMwMzI3RTdkYzY2ZDMxMzEyMTY0MDUwMkQ2MTZkQjg3MTYxRjhCIiwiMHhBNjg0OTUwRjBCMDFmZDAzQjcxNWUxMGNDOTU4Zjc2ZDhmNDIzZDYyIiwiMHgyNzA4YzM0Q0M2Y2VFRDgxZmNjQzQzMDY3MDU5RkQzRTMxNmExMjI2IiwiMHhjNUE2MjNhNzE3RDkyOEE5YzQ0NDU5NDY1Yjg4NEQ0N2IxNDczMzNCIiwiMHhlZTUyYWM1ZmRlODlFODZiNzYwMDBhOUE2NTBCMzhmNjgxMUFkNDA2IiwiMHg1OUNGNTIzNjY2ZEQwNDhiZDY1QTk5RTE0ODVlODcwRDVjMmE0ZDNDIiwiMHgzRURhNDYzNTQ0YzRjOEEyZTgxMTE4NkUyOTRjN0QyNDA2YjMwQTc4IiwiMHg2NmUzMmQxQjc3NmE0MzkzNWVkMjBFOGRjMzlBMjdBMTQwZDMxQzhmIiwiMHhmNjZmMkQ3ZTIxQjI2YjZDQzg0MzY3Mjk2MEE2MUFDNzE2MjY0OThGIiwiMHg4NTMzRThFQzQwNmJDOEU4RjJiZDFlRjRlZDIyYzM0NjZiREYxYTIwIiwiMHg0QTQ1YzBmYzkzM0FiMjdiQWQ3NTg2ODJmMjU5OTIxQjcwMTg1NjJkIiwiMHhCOGI4NENlMENBZGU5MTY5ODhCRDEyOUVhRmQ3OTM0QURFNUZhNmE5IiwiMHgxMzZiNDAxOTQ3QjA4M0NkMzMyODU5NTM4NTkwRjAzNjEyQjY3RTE0IiwiMHgyZDZBMENBNUVDQUVjYjAzQWVhMkYyODY4NjBhMDMwZTg4NWEyNDllIiwiMHg4MTAyY0JCMzM2NTM4NjM0MjdDNTEyQjdGOTFmNjJjNEIwQTc3NDQ2IiwiMHgwRjc0QzgxYzY3NTMxMTQ2MjkwYkMzNEJkODU1MTZlMmY5ODkxRDJDIiwiMHgwMUYyYTk2NkIzRTAxNWNDMjE3YTZjMGEwYzJDOUMxYjY3MjIxRDBiIiwiMHg5QTc3Yzk2ODFGMTQzODVBZjBhMDI2NTgwYzljYTFBNEJENDNiZmFiIiwiMHgwQTE0NkEwMUVmMjVkYUZjYTM2YjZhY2VBMEIwRmYzYjU0ZDg2NWRmIiwiMHhDRkJFMzY1RDM0ZDcwZTFkM0Y1NjQ1M0FBMmY1ZkJDMWQ1REZlNjMyIiwiMHg4RjJEYUIxNmM1QWRDM0NCM0Y2OTgyNzliQTlCZDk1NGVlYzNmOTQzIiwiMHhDMzJhQjVmMTdjMEVEQUVCNGQ1OTdiRkI5NzI2ZjI4QkMzN0ZENkFmIiwiMHg3Rjk0MGFERjI3YWEyNjUwODU3NUExQTY1ODhjNkFEZTE1ODAxNkE4IiwiMHgzQUJDQjVjMmQwMzI0NzhmNTY0YzA4RDA3YTQwNkE3ZUY4NzVhMDg3IiwiMHhlNDE5MjNEMDQ4Njk4QjU0NkI5MDYwZTRFZDAxNzU1Y0U3QzM5OENDIiwiMHgzOTkwZGI3MjczMEM1YjA4ODUwMjBjRDU0ZTNGRjBjOTYxMTlhYTI0IiwiMHg3MzYwZDk0Zjk5RmI2OTE3NWU0OTNjODQxNDQ5MzZCNjZiMGIzY2IyIiwiMHhCM0JFREQ3YzQwMjJjQjVjMkQwMmYzMTE0OTYyNjZDMDFlRTQzNjQ1IiwiMHhGN0QxQzkwOTdmQjRkOTlCNjQyMmU1YWMxQTM4MkU3Y0QxNkUxOTU0IiwiMHhENzA1MWJDYzE4RDc0NkI4Q2EwNjZFQmJBQWJhNjBmZDc5N2YzQTA0IiwiMHhiOTEyMjRGNkI0OTZmOTcxOGY5MkMzYTZBOEY4NWY5M0ZBMkJFNzhBIiwiMHg0MkRDRDk1NTM3MzYwZGQ2NDc3NTZmMzA4MWJBYTA3OEFBMEI2RDJmIiwiMHgxYTcyNjFlNTIzNjFmMTZiNmRGZUQ3NDRBREY3NUUwQjNEODY5ZkU3IiwiMHgyRjYwMEViN2E2NDEyN0E1MEI0NDRGNjI2MmFCNTI5MzNCQWFFMmExIiwiMHg4NzlFODFkMDQzNkVjNjg0QjdDQjJGZDdkRkQwNkIzQkJCYTkxMjUxIiwiMHgwNmU3ODNmMGM4NDJmOTY4MjhiMWU2MERmNWIyZTg1Q0YzNUU5ODc2IiwiMHg3MDZCOTg1NTA4Njg1NTREMzRBODM0N2U5YjA0MzNFNzE3OTRjRTFEIiwiMHgzZTk5NjcxYTUyNkNDNGVjOUU0QjIwMEQ5YmM3Q0NBNDZhODdmZWM0IiwiMHgyMUIyM0U1OTVEMEFjZDU4ODdERGY1OGRFNTdENzE1ZEEzNThhOGNiIiwiMHhENTU4NzdjNzdhMzFDZWJEOEVjMjQyMzNlMUY3MDRjYjU4ZjMxMkZlIiwiMHg1ODUwREQ1NTBlNjBjOTNhNjQzMjBjOWJmQzY3NEQ1ODJFMDVGMDZmIiwiMHgzMkM0NEQzRDA3QTFBMjZlYTE5ZTY1Y2ExMDI5M2ZBNjQ4NDVCMEYzIiwiMHgxY0QyQkMxZUEzMWZFMzk3NTVERDZDQ0UzNTVlNDQ1RUEwQjg2NjczIiwiMHgzZkMzZmI1NDI3NDE4RjdGMUM2NGY3MjA3NzYwMGUwMzZDOTMzQ0YxIiwiMHg0ZDM5Nzc5YUE0Y0NCNDFiYzY1MDMwMTQ5NDhCMkI2ZDRCYzg1YkIzIiwiMHg1NUMxYjIzZmU5MjU1YjUyN0U3NTM2MjAzOTA4NUI5RWI5NUJkYWQ4IiwiMHhFRGNBZDU5OGQ3NzEwNzVDRmE0Qzc1MzllYzMxN0VhQUQxZEZEQ2MwIiwiMHhGNzlkN2NjY2U4MDhGYTE1ZTdGMTQ0Q2Q3NTRmN0FDMDIzMUVGRDU1IiwiMHgyODlmYjhlNzE1QTU4RDdiMGMxNDM4RjlmYmZjZTAxM2NhNTAxMzQ3IiwiMHhhRTE3RmY1QzkyNDFFNmQzMWI3RjI3RmM1MTBjNUNlRTE0MUU1NmNiIiwiMHhFM2I4M0I0ZUU2NDdlYjIxZDI5ZDk3QkM2YUU2ODg3YUI0MDBhQ2ZhIiwiMHhBMzc4NzAzZWM5N2U3OUUxZUMyNTUxMjE4NmYzZmM0NzlkOTU4NzFFIiwiMHg3MUQ5N2RiQzFBNEZGQkYzOTJiMzBjMjRlNjQzN0Q4YTM1RTRkYTU2IiwiMHg3NUM1MzIxZDhFNmU2YjVBYjBGYzY5N2UwRGEzNTBBZTI1NGQ0NDlEIiwiMHgyMUQ2OTUyMGMxNWE5NUM0QjYxQzAxNzY2YWQ5YjVBNzRBZjgyMDNDIiwiMHgzMzhhMUI3RjQ3M0M5RTg0MzQ5NmJDYzgyNTU2YTM3ODhENDAxMjEzIiwiMHgzZTY0MzNkYUI1MjAwMEY2MzdlRDEwQzVFZkUwNjIzN2EyODZhMDdGIiwiMHgwOEYxYTRjNzJFZjEwZDEyMzY3MUNFOTQ0M0I0MmY4RGViZjYwMTM2IiwiMHg0OGU5NmFjZTgwMDAwMDEyYzg3OUVENERGNjVjODIzZDFERDFBODQ1IiwiMHhiRERCMzdkNmQ2MTk2RURmYmZDZDJjMTFFMTg1MWNBMWQxOTg4N0RGIiwiMHgxN2EyRjc1NzAzNEZkQjU0NTcxRGVmYkZkMTQ2RUMzOUU1NjIzRjMzIiwiMHhDMzIzNjZkOTRCOTZmZEQ3MmM3NDk2OUE2RkYwMTg3NDA5YzFlRjBkIiwiMHgxZjVEMzVmMEY3RGIyMTg5OTI3NzE4NjZkMmEyMkMyMjk1Njg3QTQwIiwiMHhEZkI1Njc4ZEVkMTI4NmZDQTlGZTQ4RTM3NzQ3OGM4NDhERkVCYjA2IiwiMHhjZTQ0NUNkYmE0OTMyRkY1OTg5NTM4RDc0QjEyNDAwNjU0NjExMjk1IiwiMHgxYUJBN2U3Mzg1ZUY1YjdGRkE3MmJhMWQ5RTY3NzZmMTQ2MERDNDFGIiwiMHgzM2RDRDExNTE0YWE4QjM0RDQ2NWRDYzdGOGMxZTY3RmVBRDdhYzE0IiwiMHhkM2QyRTI2OTI1MDFBNWM5Q2E2MjMxOTlEMzg4MjZlNTEzMDMzYTE3IiwiMHg1NzA5MzQxQ2UzMTEzNjI3NjEwOGEzOGMxOTAxYTkwRTE5YWMxRjc5IiwiMHhFMjBjNEZhNDU2MjlFZmFEOTJGQTdGZDRlOTk2RWMxODdlYmEyM0JDIiwiMHhFQkZiNjg0ZEQyYjAxRTY5OGNhNmMxNEYxMGU0ZjI4OTkzNGE1NEQ2IiwiMHgwN0NFN2M5OGExMTZhNzEyRkQxOTdlOTkwMzA5ODYxZEY5ZDhERjJGIiwiMHg1REExMzY0M0QxYjg2MDcyNWQyQ0Y4NGJGRjU3OTE0NjgzRDlCMTM4IiwiMHg3QzQ5OERiNUNiNjVCMzk4ZTExOGVkQTdFNzFhYzczMDZFMEUyOTIzIiwiMHhiZjk1Y2E1MTEzZWE3NjY1MDA5ZDc4OUUyMTVDMjBhRjFDRjQ2MUYyIiwiMHg1YWMxMzI2MWMxODFhOWMzOTM4QmZFMWI2NDlFNjVEMTBGOTg1NjZCIiwiMHgyZTViMjQyOTcwNkVDZThEZjk0QmNjZmI4ZEY3NzlhN0U1MTMzMzgxIiwiMHg4RjFBMTI1YjZlM2NjODM4NTVFOEUzNmE1RmRlNjVhMjQ1M0FCMzk1IiwiMHgzOTMyQjY3RkE3ODBGRWU5MjgzQzFiMDhDMWQ3ZTIwQTZjQzg2ODQwIiwiMHhlREQxYzg1NUU1ZjExZTc2MjNGNUI1MENiNjI4ODA5RWZENkMwMDQyIiwiMHgzMjFkODdFMTc1N0M4YzlCNTdlN2FmNWFhM2ZFMTNkMmFlNzc0NDQ1IiwiMHhlOTM1M0YyQUE5OTY4M0YzYkUzQjE2MjVhZTNFZjhiN2U2QzlEMDJCIiwiMHhFZTZGOGNDODlENmQwYjE2ZjdFQWYxNTM2OTMwNmNkOTJkNjJCYTI1IiwiMHg2YzExNDRERDBBODY3Y0I3RDA5MzExOTZFMTkxY0QwNjMzMEZiM2RjIiwiMHgyMzM2Y0FhNzZlYjBDMjg1OTdjNjkxNjc5OTg4QTVCY2Y1ODA2ZTExIiwiMHg5ODk3NDRhQTg4M0U5NjFEMWQ0RjUwMTg1YzU0MDU0MjZBODE1NWE2IiwiMHg4QzM5OTE2ZjcwMUM2MTViOWIwN2MwYzc3ZmMzRTQ5ZURmNEIzMDJEIiwiMHhhODVjYTA1YjNBN2JmMTk5NTVDYTNENTUyM2NGZjAwOGFFRjE2MWE1IiwiMHhGMTExNjE2RjhGQ0YwQzY0OGM2MjYwMEZFOURGMDMwYTQyMDk5OTkxIiwiMHg1OTgyNmZhZjlENzU5ZDRkODM4MmRiM0I5YzQxNzFDQThCMGM4ODRjIiwiMHhCMUYyNzMxOGI5NTMzNjExRDM1OEE2MjM2YTM3ODIxNzJlNTRCMWQ4IiwiMHgyOTM5RWM4ZDk5N0Q5OTNCY2Q2ZTM2NEM4ZjVGM0RjN2Y0Q0QxYzUyIiwiMHg4Q0FiM0UzMTE3MDJhQ0I2NGUyNTA5MjZENzcxMzRmRGU2MDRCRDREIiwiMHhGYTM3ZmMzOTUyOTUxMzk2MjQ5NDRjOENkNkZCOUJEMDM1MGFjODk0IiwiMHg2OTI2NENiMWUxN0IyMzVjMWRmYjQ0QjkwNDY5NmQ0NjA3ODkxZEUyIiwiMHg0NzJDOEFBMzc2MjkzMjE4QkEzMjMxMTYyOTkwQjVDQmZkNTcxNjUwIiwiMHhEOTZBNjMzYjdlQ2UxN2YyYTg4YjY3Y2IzMjNCNTI5ZmU3MkIyMzE3IiwiMHhBM0QxZTBBZTBjQTVDMTgxMTFCOGZDMTkzQjA0N0Y1NEIzRDNmMTEzIiwiMHgxOWRGZjQzOWZEOTFDMzk0NmI5OGViNjVFMDczNjhjNWM4QzM0MTREIiwiMHhhNjhDMkEzMzlCMDc1NUU0Q2JCZmNhYzliNUZjMGVhRjM0Q0Y2MEY2IiwiMHg0NjNmNEM5NDA2NUY0NkQ2ZWFDNjZGZGVjQTEzZjlCOUUyNDNCRTMzIiwiMHg5NTkwQTAyMUZkQ2Y5ZTZkYzMxOTlhOTNmNjdjQUJGZGQ5ZjkwMEQ0IiwiMHg3Q2QxQ2JkNWVhY2ZkYWM5QkU0NkIxMDlGMDY4MjQ5OTAyZjI1MzNGIiwiMHhiNjA4NTk1QTFlMTkwMTc0MzYzQkM4MDA4NjBFNDRiMDc5OWQ2RDJDIiwiMHg4ZjM0OTZCQ0VhQkE3RTkzNTU1MEM4QkJCNTI2ZmM0MzNGYWE2OEIwIiwiMHhlYjJBRmRlOTlEMEU1RUU5OTE4ZkJkMTYwNDk2YjBBY2Y5RTlGOEYzIiwiMHhiZEExRUFGNGJiOUU5ODEzQmQzRGFjZDQzRDgyNzI0NDkzOTZiNUZiIiwiMHg2MzcxQjgxMDIyZDdGZThkMmNmNEUxNDM3NjNEQzBlRjM1NGJFNmI5IiwiMHhENTJGNDk0MDg1MkVCM0VjMEZkM0VjNzYzZUFkNjE2MDI2ODVjZDUyIiwiMHg1MzY4MTJEMDRmNDhmOTY0NTU1RTZhZDI5M2Y3MUMyYURhYkM4ZTFmIiwiMHg2NkRERDNCN2QwMTdBNzY5Y0MwYzcwMkI5MzdjMjMwRUJkM2M3MkQ2IiwiMHgzNzA3MUMzOTM0QWYxOGEzQzhBNUZDNzBCODFEN0M5NjkxRDAyYUM3IiwiMHg1QzU2YmY4NGRDYmIxZDNGOTY0NjUyOEE2ODUyMGI3RTIxNzkxZERkIiwiMHg4NjI4NkNFNEM3ZEI5ZkY5MzE0QzVmZUNBNmYwOTcwNUE0MzdGRjBlIiwiMHhGRDUyYjI3ODVhN2JFNUVCQkMxZTEwMUYzMTk3N2Y3MDM2NTM2YzU3IiwiMHhFOWE5QzVGMmE5OTE5ZDlhOGYxNzZDREY2Njc5YmEyYkY4ZjI4OTZmIiwiMHg0NDJiZGRjMDU1M2FhOWI4REJFNjM1QjBCMjE2MGY4ZGFFODhBOTFlIiwiMHg0QjI0QzkxOTMxYTIyRTE0MzMwYUM4YTNiQjkyYTk4MjNENkNCNEI2IiwiMHg5OGUxOTE4OTM0YUY4MEVFMDdhNGUxZDE4MTFFNTE0ZTY4NDg2Q2U4IiwiMHhGRjZEQjhGNzhGOUZCQTJGODREQjA1QUE0ZWE0REYyQ2QyRTdDQUI3IiwiMHgzOGZDNjExMTRjM0FCOWZBMEU2NGU1OEY2QUQ4YWNjRDQzQTBFMjQwIiwiMHgzNzNCZjQ1N0I2ZTJBMzU4MTVhNjY0MDQyZjA2MWRDMjgxMzc4QjY4IiwiMHhCOTJmNGVhM2NhOTY2RThCNmQwNkUwNTI1RUYwM2E4MDYyRkMyMkEwIiwiMHhjMTJDZTFhMGJDMzA4OTdiMWY1NzA4YTQxOTNEOTFkQjJhQTMxRjIxIiwiMHgyOEQ4RDQ3ZkM4NmFGQjYwY2E1YjM3RkU3MjJmZDdEMzU1MjU1OWRkIiwiMHg0ZkFmRjBBRDk4M2U0MkIzRDkzRjIwRDAzYzVkMkIzRWIzMDRjNDkyIiwiMHg3YjlhQjcyOGMxNjAzYTM1QjQ5YkI3REIzODFBQjM1YzVjNmU3RTQ4IiwiMHhmMDBlODBmMERFOWFFYTBCMzNhQTIyOWE0MDE0NTcyNzc3RTQyMkVFIiwiMHhmQ2NmYUY0ZTgxNzYyYjk2OWI4NjI4M2QwMjY2NUQzOThBQ0RjRjkzIiwiMHgzNzJBODhkMDlCZjE3QzVCOGM5NzE1MjUwQjIwMWRDRDY5Mzc5M2VCIiwiMHhkNUZEOEY1Mjg5NTU2ZENiNDhkZTI0MUFFMjU1N2M3NDMxOUIyMTU3IiwiMHgzMERlMzQ1MjdBMjE1QkQyZWYwNjY0NDA2MkM0MTlhMzNCZjkzZDI2IiwiMHg0MUQ5M0NkOURDOTU1ZUE0MmYyMzUzMzg0NDlmNkQ3MTYxNzM2MjQxIiwiMHgwNzljQzcyQmVDMjlCODQzRTQwRDk5OTA2M0UyNTY5MzYwMGEyNDg2IiwiMHgzMTdBMzI4NTA0Njk0ODFBNUJiZWQ3MTg2MjVGN0EyOWJCY0Y2ODAzIiwiMHhDMTE4NkViNEM2NTRDMGRCNjhEZmFEMkJiNzYxYjA4MjUwMzY2NUE3IiwiMHgxZkE0NzdBN0I2YTY4RmMxNGE3OTI5RjBlNTU4YTQ4QmE4NTBFNzAxIiwiMHg3YkY0NzhkRGEwNzA4Q0ZhZWE0NzcyMjE0Y2JGOGI5Q2JjZGZDNDZhIiwiMHgzOENjNTI0OWViNGI0NzY3YkYzMjNkYmYwZTFmODhhOTZmNGMxM0EyIiwiMHg0ZkNFODM1QzUwOTNkMGM3NjU3Nzk1NmFjZjJGNDFhNDQ4NDg2NDFEIiwiMHhCODJFOGZEY2UzQTZmNjIyYTlmNDhlZkIzOWEzNjI1QkVGMjRGZDk3IiwiMHg0QzgwNjc1QUVhOUNkYUUxNEMxYTBjQ0NGOUFBMkRhQUJjN0JkZjdhIiwiMHgwRGRmMkQxNTczQ2REMDNBRDJFMjkzYzhGNjg0QkU1ZDRjREQxMjc1IiwiMHg2NzM5MzZCNWE0Y0JBYzNDQUQxRTZGOTk4MjQ2RERBM2E3ODgyNEVFIiwiMHg5YjI2NjJEQzhiODBCMGZFNzkzMTBBRDMxNmI5NDNDQjVCYjE1ZThiIiwiMHgzZDA5NkRFZjllRmU5NGU4MEYxOGNCMjc1MmQyNjc1RjQxMzMwMGRlIiwiMHg2YTE0YzUxMTIwRjJEMjY1RDE1NzgyOEM2QTAyN2UxM0NGNzc2NDU5IiwiMHg3OTM3YkQwYTg2NDQyMzEyRUU3NzU2MjI4MDA2OTY4YjQ5NzUxQjZGIiwiMHhEODBlMGFCZjU0MmM4NzRFMDU1ZGE3M2YyQTlEN2NFNDkyQ2RmQjUxIiwiMHhhZTZlOWVENzdmOTMzQzVGMTc2Qzk5RUI4OGJlMUExQ0ZkMjE4YkIxIiwiMHhDMWI1NzI2MUQyODQ1NTFjOTExNDAyZjc5OTk5YUQ1ZTFBNEQwMGE0IiwiMHhCN2Q5RTM0Mjc5ODg0NEVjODBlNDU5OGEzM0Y1M2IyZThjYWFkQjdDIiwiMHg4MTZlNWVDOURkOUFBNDE5ZjAwMjBkYUNlNkU0M2Q1YjBkYWFDQjE5IiwiMHgzYzhGMzczM2JjOTMyRjU1N0RlOWMzMjgwRTQ0OTUyNkUwOGUyMzhEIiwiMHgxYjBDODkzMDQ0Njc3ODY1RGZiOWIzNDg0YzIwNDUzNjgwMTU1OTM0IiwiMHg1RDkxZUU4NjczRjlCN2M3NEJhNDI1NGIzQWZmQ0Q4NzgzZTIxNkRkIiwiMHg0NzBGRURBQjAyYzExMTdDZGM3OTY4N0RBMEExNzEyMTY1MzYxYzgwIiwiMHgyYzdlQTQwRTc1NENCZEY5NUVENTUzZDcyY0YwMjM2OTNCMTZiY0JFIiwiMHgzNDJFMjJEZDJCOEM4YzIyOGMyRkFBY2Y4QjZCQjMwMTA2ZTA4RERhIiwiMHhBQTg3M0M5REE2NTQxZjEzQzg5NDE2QzE3MjcxYjRjMjFiZjdCMmQ3IiwiMHgxYjYyOUIwNWJGODMzQzA3ZTM3MzlmQTQyRDBFNmI1OENmNkRGMkQ5IiwiMHhjOWY1MzNjNTlhM0M5NzIwYzM3Q2MxRDRkQTVhMWIxODZlODAxY0RhIiwiMHgxMTA3QjYwODEyMzFkN0YyNTYyNjlhRDAxNGJGOTJFMDQxY2IwOGRmIiwiMHgyRGY0ZkI3YmUxNjY5M2U0MTE2ZEE5MEQ3OTcxMkUwMzFiMzVmNTk5IiwiMHg1YkU1MzcxMTE4ZTQ2RTAwQkE1MkYzQjI0QzZCQTgxRTI2RDNiYTkyIiwiMHg5NUEzMWI2MDBENkFEZjYwYUVFMkRiMGU1NkNhNDhCNzUxMGZGM0VjIiwiMHgxQmMyMTREMGU4RUU1ODc2QmZiN0U3ZDJjMDVhNTcyMzYwZDRiMTlGIiwiMHgxMzcyMEEyYkIxNjY5Qzg0YWU0QUQ2YjZhNjAwRTFGNzk3MEUxZjI4IiwiMHgyQUYyNUE5RWFlNDBkRGNGNEVDNzM4NTQ3NjhFODQ5OThCQTkwYjNCIiwiMHgzRTkzYzREQjZDNjEwMDllMEQwZkNmNjE5MmM5NUQzMjJkMjNlZTgwIiwiMHgwRDNGMDMzQTNCMmUwZjkwODVBMEE2OEYzZTAyNzA5MzlmRjIyNWI2IiwiMHhDMzcwNzJDYzE0RjU1NzA0MTcwOTAwQ2Y2M0EyMTZFNUZmNThkMzg3IiwiMHgyQ2Q3NjIyOEU3M0ZmYjM2Q2E5NjYyNGFGMkRDQ0E2NDljOTlFNjZEIiwiMHgwYzQyMzVCYzNBNURmMmQ3REM2ZjNCMjFmNTUxRTk4MmYxMkU3MTA2IiwiMHg3ZjAyN0RBRTgzMDFFQmJjQjE0YjcxRTdCNDNiOEI1MDdkMzA3YWM5IiwiMHhBMUYxNjVkRkRCNzUzYkIwY0RkMTQyNEVFMGY1YTc1YUIxM0RDZGUwIiwiMHg3Zjc3QzUzYUFiOTZFZTI3OEI4RDdiREY5NUJCOGU1OTdBNzU1ODI3IiwiMHhhQjkxRjlBMDBFM2QyMjNkYzZlRUNjNEY5ZWE5NjJlNjE3NzlFRWI5IiwiMHg0Nzk1OGRiN0I5YTM3M2FjNjEzNjA5ZjIzN2JERmYxQThEQzJBN0YwIiwiMHgyOTc3N2RhNTYwZjZkNEQyRGE3ZjIwQjAxOTAyNzVCQ2YwNmNlQTkzIiwiMHg1N2JDMzRGYkUxYzM0YjJERTZkYzhCNmE1RGU5NTBhN0MzZTUxOTgxIiwiMHg1YzE5NTZEZjdEM0M4RmJlZDNiNjVmRTQwNzdDNEJGYzhlM2NiMjNEIiwiMHg1NWU3ZjFCNENmMjNhZTFDQTk1QjQxNUM5M0NDMjEwOUZhRTI4MEMwIiwiMHhCNEFENzg5ODdDOGI0NDE3ZDgyNjExN0YwNkI4NzcyZjRBN2ZCNEY1IiwiMHg2NUIwRTNiMWYzNmU1MjA1ZTdmMzU3ODFmRjg5Zjk0ZjZBN2Y2QzRFIiwiMHg3M2E1OEI1RUYyMDJjRjJBZjY0Mzc5MjA5Mzk2OTkxNDQ1ZjY2NTA4IiwiMHhGZDZhQzA1ODRDNDVDMzM2MjcyRWYyMDA0MTVBM2YyMUE1M2Q2RThDIiwiMHg1M0U0ZWM1YTVlYzg5Zjg2NzJFNGU2MmJiMkM1YTJCMmMzM2E4RjFkIiwiMHg5NUFCOWEzNzEzNkIzOGIxN0I3RWI3MzU3MDg4MGMzQjNEOTIzOEVFIiwiMHgxZDgyNTRFM0QxNGRjQzQ2RUJlNzEwN2U1MmE4Q0JGOTdlNkQxMEQ5IiwiMHhENzMwZTRCOTc2OWMwRjAyODQzMzI2ZjRFZWJGQTYzNjNkMzk2NDNlIiwiMHhmNzVCNzU5OTc4REQyZjMyNTM2MkIwMzBhODAxZWNhMmRCMzA2YjNiIiwiMHhCM2I4ZTBiMjkxODlEMTJhNDMxN2YzNDg2MDg5NTdhNjBENjA5OEI3IiwiMHg1MDRmYWQ5MzY5YzA0YzM3OGVkODM1MEMyMzU3ODExMjI5RDNhOUI4IiwiMHhkOTE1OTM3NjQ5OTkzNjg2OEE1QjA2MWE0NjMzNDgxMTMxZTcwNzMyIiwiMHg3YTJjODEwM2E5YzQ3OENjMjU2N0UyOTVkMzZlQWEyNDlkNjVFNDcwIiwiMHhDYzVhN0UzM0Q1MDcxMzE4MGMwNkQ3OWVEQjgzMUYxMTM2NDAzMmJBIiwiMHgyYjg1NGQwNmQ0MEZjNkU0MDQ2OUJhODAxZDBjMDRiYThDMTYyNTQ3IiwiMHg0YzUwODU2N2VhRUE2OTlmNjE0ODNDOTMzMTg0ZDM1MWU3RUNiODYyIiwiMHhjNGI0NzhFNzQ5ZGJDRkRkRjk2QzZmODRmNDEzM0UyZjAzYzM0NWE5IiwiMHhmQWNCQjg1ZjM1OGRBMUZhMWFDNzQ2Y2I5ODA3NDNlNzNCMjFiYzc2IiwiMHg0ODg4Y2JlRTAxM2JjZmQwQjdEMDRiNzMxNmU0MTM4NjNCODVCYTkxIiwiMHgzRmNiNDU3MTdhQ2ZBODgxNTM0NkQ2MDk4MjJBYWIzMmY3NmVkOTUzIiwiMHhjMTFFY2FCYjEwZmE0RDFiZjYzRGExZjgwNkU4QmFlMTJkODMxZDM3IiwiMHgxYTMyNzY5NmM4RTVlYTBGMDdkYmUwQ2YxNTkzODA5ODBFMDY3RENDIiwiMHg3OGViMUUxNDUxODI4QjA3NjE3M2IwODU3RUE1OTNkMGY0MjJEMTM2IiwiMHhjODY2MmI0NDM4MjdBMTg4ZjQ4RjdkNzJGZjRBM2EwMUJkNGNiYjQxIiwiMHhBOUZiNUMwNUI0OTFhRTRmQTZjZjlFMzcxNTRBNDU2RThhNDNlZDJkIiwiMHgyZDMwQTA5Yzk3YTc4NzE5OTcwYUU4NmZCNjBGNEIwNDZEMTE0MWRhIiwiMHg4MDc5ZjY3ZmM3MzUyODJlRDY5MDNCOTExRDM5YkFhNUNlZWIxYTczIiwiMHgzOUNkQjMxREE3RWEwMDgyNjhFZDg4RjhmZEQ0ZDM4Q0M1MDhGYmU3IiwiMHhkODVhMDUwNDdhMWVmRDQ0NzVCRjdGNzAzNTFiOTNjM2YxOTE1OGU2IiwiMHhlOTZDOUIyRUExMUEwRDVFZmZhMjdENGM4MTU0QTc5ZGM1MjA3YTA2IiwiMHg5ZWE0QUZkNjNjRDQyNjRGRjIzN2EyOTdCNTVmNjNhODZhRjU1NjA3IiwiMHgzQjAyMkQ4YTRjMDM0YjVkMWI4MzU0NjQwZTEwQTE3MzZlZWFjNTMyIiwiMHgzQjE1NmFiZjE1MUNENUIyZjRkMTE3MUFFODAxNmRCZDI5ODA5MmUxIiwiMHgyNTlhMDVBRWNFNjY3ZDZiN2I5MkUwODZGODRBN0MxNTIxYkNhNEQyIiwiMHgzQzdGOTI2QjkwNDQ4ZUIxNTQ5NjAxN0Y3MzE2MWM3OTQ4RmU4Yjk4IiwiMHhEMTk1NjY1MEFkMzQ4OTA4Q2I5MzgxMTQ4NTUzYzk0MUVDRmFEZGQwIiwiMHg1YTkyYkUwRmYyN2REMTE1YzYzYkMwRDZhMjY0MkUwNzQ2NTE2OUM4IiwiMHhDNEVCRmMyMDIwMDE5OThEMjNEQUZiMTFEMzY0MTc2NjY2NWZENjA5IiwiMHg5NTY0ZUUyNEZkMkY4MGFkODNjNTcwNmZkYTQ3MTdDMjhjN0RlM2MyIiwiMHgwZDE5QzRhZjYyNzMyMDIyYTE2ZDg4NmIwYjhhZDI4RTU2ZURBMzUwIiwiMHg3NGRkNzcwNkFBNDRBQzc2NTM0OEY5ZWQ5NTQ5MTZhMzFhMjhhRTkyIiwiMHg5NjBEMjI4QkIzNDVGZTExNmJhNGNiYTQ3NjFhYWIyNEE1ZmE3MjEzIiwiMHhiOTZDYjE5MjBGMENjQTAzMDgxQzU2YkFBYkViOTYwOEVBOTgwNWZjIiwiMHhENjk5YmUwZDlFNDU4RjkxYWM4MjE4NzE3QzYxRUI1OWYxYkU1MkQ1IiwiMHhCM0M5YWMzNTgwRjUyQTY0RGI4NTBmMWE3MUZlMjlkNDIwZTEwODI1IiwiMHg3QzljMGM4NzUxNTEzQWE3MTAwZjI1MjI1QUJhY0VDRUIwODZBNjQzIiwiMHhjYjkyYjBGYzQwYzczZGEwNUZmNDBCZkNiRTVEMmVhM0VkYkE4NzQ2IiwiMHgwQzM2YzM4YmM0ZDVGZDE3QURFMEJFNWNjQzhBM0EzNTY5ZjgwYjgzIiwiMHhBY0QyNTU2RjY0RDRCRTlBYWEyMDUyNzg4OTU2NTNEM2U2ZDYzOWFFIiwiMHhiQjE2ZTdEOUJmRjJkOTI5ZjE5YjJkNTQ2Njg4MTE5NUYwMjBhMDkzIiwiMHhFYUM3MEE5NTY2MDI5OTA5NDc2Nzk3NzBENWNlMTQ0NjY0MWRhZjRGIiwiMHgyNkNlMzEyYjhGMDc2NjBlNUNCYjM0OURkYjdGRDYzMUZjZjgwNTFGIiwiMHhBNkM4NzJGNDY2ODBhY2E4MzA5RjBjRjczNTE2RGNkNmE4NTYzOUZlIiwiMHgxQTMyQzVDNDE3MzRBOURCYTQxMjQ5OUFFRjJjYWMxYzE3ZEUwNzVBIiwiMHhkN2U3YkJiM0UxZjc5ODYwMzBCMDQ3YTkwZjM0NTA1OEFENTc1NWI4IiwiMHhiQjdCMzE1MERGYjZlNUExNzJBMUZmZjdGN0ZlODA2NjNlMzczNTdCIiwiMHhlMmFBYjcyMzJhOTU0NUYyOTExMmY5ZTY0NDE2NjFmRDZlRUIwYTVkIiwiMHhiOTNDYzA1MzM0MDkzYzZCM2I4QmZkMjk5MzNiYjhkNUMwMzFjYUJDIiwiMHhEMUY2OUM2M2ZlM0JhMWM3RTYzNkY5OGJmOWQ2NDNGRDNlRWE4RTExIiwiMHhiQTZjYzg3NzA2ODM2M0MxNzIxRTNFOTg5QjdlMTgyQzE4NTY0NjYzIiwiMHg2OTY5NWM3MTdGODFFRjMzMGFBNjJiNzA0MzFiRjU0YWFDRTcwYzQ2IiwiMHgwMUFhQjE4YjkxODYyMjgzNTRiMTUyM0QwN2FlMDZDNWU4YzQxNGZiIiwiMHg1MTA0NWFiOGFkMTZCY2U3Y0E1ODEyNDM4ZjkxQzkxM0UwM0YxNzY4IiwiMHgzMDM5MEJDQzVFMkRhNTVhZjYxMzlkM0U2RUZCMjIyZGU4ZTQ4Mjc2IiwiMHg4NTBDNTgxZTUyNzU5RGExMzFlMDZjMzdCNUFmNDc5YTJFNGU0NTI1IiwiMHg5MjA3QkMyNUY2NmU2RjRlMDUxYTVjM2EzNDZCQzU1ZWZlZjAyMzRjIiwiMHhEMTQxMWYwQjBmZTk1MWU2Y2NjMjExNDBBMmJmNDU5ZEU5OTQyMTQ2IiwiMHgwNzBCNGNEM2RlN0I2NEE3RjJlYTAzMTlEMTAyREQyNEEyOTIyODBkIiwiMHg4MWU2MTc0MzQxZTlkOTQwNTg5ZUZiOTliOWM0MTMyNDI4QzA4MjllIiwiMHhiMjFlZTNiZTdhYWUxMDIzREQ1YzkwNUNFREE0MDI5MzhiRjE1Q2NBIiwiMHhlMEQ4QzY5NkNBRjk5ODA4ZTBEZmNhZWE0NmI4NjE0ZDQyNUM3M2M5IiwiMHg5OWQ2MkQ4NjdGZjI1MjhCMjVkNmY5MGJiOEJCRDFERDBDRWYyQTNlIiwiMHgyRWIxYWZlNTkwNjhFODNmRDI1NzI0NEQ2NjU2NDk2NDI4OGZCQjc5IiwiMHgxQzhGMGJEMjQ4MUU1OTQzNzMyMTcxMUNmNzFCZGZjN2E3ODY0YUUwIiwiMHg5QTNDMjAxZjhEZGQwRjAwRGQxQTU4MzgwMWQxMWVmMmY0NTZiMjJEIiwiMHgzYTc5NzVFOTJkNEJjZkFhNTlmNzhCMDAwYzY5M0I0ZTQ0OTljM2FBIiwiMHg0RTNkQWJCQjI2NDk3ZUIzOWZCMDJCZGFBMDk3NjhDODg2NTJhNkMxIiwiMHg3RjdiNkI2RDNjNTQ5NUNGNTY2NEJBQTc4NTc2MzllM0I5NjREQURlIiwiMHg0MzMwRTIzZTZmYjI4ODgyMDYwYzhhMTI1YzRGMUQyNDAwQjdiMmQ5IiwiMHg0Mjk5QzQ1MzIyZDhmMjc5NEIwN0JGRkRFYTdCRGZGN0EwMzRmZDQxIiwiMHhGODA5NjAwNzJiNzY4MDRkNGUwQzEyYmViRTc4NEU2QmY5NTg4M2I5IiwiMHhhYzYyMWRBRENlMDQ3NDA4ZjhBQWMwMmFFMTQxMzFFOTM1OEE2MTY0IiwiMHhlYThhRDBCMTY3Y0VGNTM5Njg2ZGM5NTUxQjQ0YzA1OUM5NmI0YzU2IiwiMHg2ZEU2ODhBNzRFMEE5OUYxMGEwN2VCZEJhNWQ3NDhBMkVCMzAzNTcwIiwiMHhEQ2ZGNGM3MDEzMUI0NzY1OTVCNDQ5QzdkQjE3Y2Q5MjY2M2FhNTEzIiwiMHhmOUI2ZmRlMzRBNUY3N2Y0ZjY5OTJCQzlGOEI2Yjc2MENENTdBMjgwIiwiMHhCNTVDMzZGOEI1YUU3ZGZhMjI5ZTcyOGQ0NDZEOTI0NTYxOTEyNUQzIiwiMHhDNjBkNUVjMjcxNzQwODkwODYwNENiZUZjNDJhOEM2NzRmQmExMjk1IiwiMHg4YTE2NDNENzc2MjFkMTcxZGY5N0RmNGZjODYwNTFGNTRGN0VCQTkwIiwiMHg4QmVmQURCNTcyNWZhMGIwRjQ3OWM3OEQzOWEyOEJEOTA3MTY2NjE1IiwiMHgyQzBmMzA1OTgyZTA2OGNFNjM2NzZkOTY3MDUyMTE2RUVERkRCNkJGIiwiMHgxOERmNTM2NjZjMTI5NjY2RGU5ZDU0NTlEODQwYTdBYzYzNGNiQ2I0IiwiMHgzM2ViRTIyODY1YzUwZjQwRDg0OEI2NmE1MjQ3NDE0MDlBNTFBYWVEIiwiMHg3NzUwMzFhZWJmZTc1Mzk2Mjk2YTVmZjQyNzJlMzAzNjY4Mzc4N0Y1IiwiMHg3M0Q4NWExNTYwNDc1MmRlNDZGNTlFMTRkQ0U4OUM0NkJlNjdBZWMyIiwiMHhERDBFMTQzODY4YjM0ZDk3MzU1ZjI0OWE0RGRGZkJFRTAzRkQwNDgxIiwiMHhCRmIzOTg2NzM3RjI3N0E0MTNEN0FlQmEzRDFFZDg4NTU0OWQxQjQxIiwiMHg0N0MzQUE4NDM5QmEyQTJEQUI5YjE1MDc3QzUxRDZmMDEzMjdjQTBkIiwiMHhBQjMwN0IwOUI4NDA4MTQwZDA3QjkxQmMxNDQyYTRmMUE5ODFCODk0IiwiMHg0Qzc2MTY2MGM3NjlFY2YzNzlGYjlBM0E0OTU5MDkyMjVBQWM0ODMxIiwiMHgxNTM5MzUxM2I4NjA2NTA3ZjUzOTA5ODg4M2IwMWMxNzAxMjBDQjRhIiwiMHg5YzZFQzlCMDRDQmEwM2JjNzc5MTBDNWMzZjhhNjU3QzY2NDhiRTlFIiwiMHg1MTg2OUFhNUY5MzllNEQ3NTFGZTk2QUM4RTViNGRBZDE2M2E1MUExIiwiMHhEZDdFN0Q5ZDc0ODUzZTJkRTk3YkUyMzdDMzIyNjU2MTRDZTViOTI2IiwiMHg4NUJDNTZmMEEwMURDMTAyRDQxNUM5ZDhlQzBhOTcyRTVBMjc3OGM0IiwiMHg0QzgyMDUxZEM5QWFmMERmRUFBMEU0ODE1OWY2ODY2ZjA2MmVCNDQ2IiwiMHg5ODQ1OTI0ZTc1MzZGRjcwMWZEQjREMDJEMEY0RTgwMmI2RDg0MTZEIiwiMHhEMjFlNjFBRUE1NmEwOUIyNTMzMWVDQjEzMmExNjUxNUNFMjAyODFDIiwiMHgyQUE1RENFMGMwYkY2REVhYkMyNkM3OTZjYzliNkZlODc3MjM3MDhhIiwiMHgzMkRFZDUxZTJkNDZiMzQ0OGNEOEEzRkJENmJkRGIyRWZDZjZBYWMxIiwiMHhiN2M3YWFDNjU1RmUyMTlCNGJlN2IwMDg5ZTNFQzUwNjk0YjU4REM0IiwiMHhjQjQ4MDM3MDFhRjNBNDM5NUZmZThmNTY3QjlhZTU0Y2E1NjI4N2FlIiwiMHg3ZTExNzRCMUEyMDU5OUIwRWU3RTBBMDg5YkE4YmExODUyNEZmMDE2IiwiMHg3NDIyMTVlMzE2OTYxMWM4ODczNWRlQTExMzE4YjYxZTgxM2Y4NjEyIiwiMHgyMmNDNzNlMTFBNDYyY2UxMTcyOTUxMDU0MzYzNWY2NTA3NWI5MzdkIiwiMHgzRUQ0NDFmZjZGMDhDYTQ5ZjlkQ2U0MTZkQ0QyNGU2M2M0OTc4REY2IiwiMHhhMTNjMWQ3NzU2ODhGQzU3NWJlNTFhMzY5MTgwMzIxYURBOTZlRGYzIiwiMHg2NjQ5OTI3NkI3QjQ2MWY2RmM2NTgwMTQ3MEFENzY2QTQ3MDRkNTg2IiwiMHg4NzhGQzE2OTY2Q2ZBNjY3ZUFiYjVlQzdkYmYyYjVhODdmOGFBOTAxIiwiMHhlRWY3ZEZDYmU2RDE2ODY4NEJEM0VDNzRCMEVhYTM2NDIzMzcwN2YzIiwiMHgyQTBmQkQxQzNGZUEwODc0N0QxODI1ZmZlRmQ1YjRCN2ZCNDU2QzkwIiwiMHhhNzQxMjNEY2QzMjFCNTMyODdGNkI5NTA0Q2IzMzUxNTA2QTlhQUJCIiwiMHg2MzUzYzA2MjA0NjlDM2RFOTQ3MWVERTA0QTNDMDk0YmNBNjUxYkRiIiwiMHg0NTM3OGVhNzE1MjgxMTJiNzg1MUY2QjFDRUM5MjZFRmE1QjQzNjliIiwiMHhhYzhiMzcxMTNiMzc4RkFDMDFmMGNDQzYwMzZkMGFlODc3RDVmY2QxIiwiMHgxODJCZTFGQjkxYUI1OUZiNjBiYmQ1NjM2ODkwZDU4YkYxNzQ1ZGI2IiwiMHhENzg0MkE3Q2QxRmYzMGRENjAxNjA3ZTRmOTJjOTFCRjEzMzA3OWMyIiwiMHg2YzRFYzYwNUI5NEU0QUM5NjkzNDMyRjkyNTFDMTUxQzY5M0I4RTE1IiwiMHgzN0FhQWNiY0IzZjYyZTlBYjI0ODUwOTgyOWQ3ODI5MTQ5REE3YzBFIiwiMHgwOTNCMmQ4NGJlQjMzN2FGMWQzOTczNWVhMDlhRThkRTQ4MjRlMTQxIiwiMHg4QzBEODU5QTE5MjgxMTFGZDRjNDE1OTg1NERBRjBCRDE0NUEyODM0IiwiMHhjQTk5ZDRDMTFEYzgwYjBiNTgxMzI0M2E4QUE3NkEyN0MwMGNmZDc2IiwiMHhmMUY5M2U0OTA0YWRDQTNiMTVEQjFFNzlBYmQ5ZjMzNzBCMjFGYzM4IiwiMHg3NTcxNjMzNTI2NGVERkM5YzQzMTMxODY5MzljYzVmOTA1NjY3OUZEIiwiMHg0YTc2RTQ3OTY0NzU3NUE3REM3ZTQ5NUY3RDFkZDAyRDg5NTZCZUQ0IiwiMHg1QTI2NTMxNTUyMDY5NjI5OWZhMUVjRTA3MDFjM2ExQkE5NjFiODg4IiwiMHg2OTFhODJjYzdmMDU1MDE3ZThEZkQwNTY5NzNDNmJBNTJkNWI4Zjk2IiwiMHgwMzgxQjFGRDBjNzg1NTk2MTUzMEM2RTk1OUE0OTkyQzhiNzMxMjgwIiwiMHgzNzFlRWMzMjFDMTFkYjIzRWM3OWIwMDZkOTA1MjkwOENBYTUxODcyIiwiMHhlRDFlZGRhNzcwNDljNzc3NDM2QzU3MDEwM0I3YzVDMDA2Yjg0YzU2IiwiMHhDNDEyOTU4QzY2M2VhQ2NhYjUwMDBmZjU1NGQ2MTRlMTA3MzdGMTE2IiwiMHg0Njk1MDZFNThENGQwRDdBQkI0NzZEZDVDMGE5OTlENDY3MjMzNTFGIiwiMHhiZmU0M2M2YmZEQzIzQUFFMEI2YzhlQmVkMmRCMmJkQ0NjYTlFODY0IiwiMHgzZThBZTc5ZTdjQ0E4MTkwNWQ5NjZCYUVmZDdiMzc4ZWU5OWMyQTE3IiwiMHg4ZjBlZTZENzMwNzNkM2E4NzNEQTgxMTkwOEQzMDczNzVhMUNENTNhIiwiMHhGOTYxNzM1Rjc1NDgzMWE1ZTBiMEIxZTRkYjU2NkE5OEI0RDAxQTUzIiwiMHhBNTdDRDgxZGQwMDU2ODZCQWMzNTYyMjhlMzU1RWJlZUVmZjYxRGI5IiwiMHgwNGViMzA1NzYxMDkxMzQxODg4M2JkQ2Y5NDNGQTUwM0NjNjk4OENhIiwiMHhhNkU3RTUwMDMyMzdjNzZBMjJlQzZlMmFjNzNGOTA3MUI0ZDY5M2UxIiwiMHgyNzAyQmQ3MjY4NzkzQjVlMWM3ZUUxYUMyRDlDQWUyYUUyZUNGZTU1IiwiMHhDNjc4OWEzYTEyRDJiM0Y4N0EyQkMyNDk3NTY1QWRhZDFkNGQ5ZThFIiwiMHhjZTkxMzE2YTRhY0ZCMTAwOTI1ZGE1ZGMwMjE1RWU1REEwY2NlYjgxIiwiMHg5MTg4NjBEODMyODFjRjdjMjUwNTM2ODU3YzZFMWEwMTJjOTNlYzkyIiwiMHhlZmVBMGQyMzRFQjQzNDVBZDgyRTZmNEYxYzY0OWQ4M2QzNWI3NTYzIiwiMHgxMjc2MDdmODdkMjlhZEUyYTk2QjMyMWQ5RTEyODVCNzE0ODg0NTNBIiwiMHhjOWU5MjBDQzU2NzYzYjM0MkVkNDFlNDU3MDAzOTM3NzE3MEFkNkRFIiwiMHg4N2YyMjIzRjdFNDA5RWIxNzI4M2VhOEM0MjZERENEOTdkMjgwNjNiIiwiMHg5RjViQ2NENjg3Njk1ODg2RDg3OWNBREUyRkI1ODYwRWQwMkExNmM1IiwiMHhBYUMyQmVDMUEyQ2EzRjM3QUJhYjg2Y0U4RjI2ZUVDYzZCNjY3REQwIiwiMHg1RDhiZDMyNDFFOThiMzQzYzEyNDg4OTA5MEQ5NWNhMzhhMzY3OGFhIiwiMHgxNzFkMGU3OEEwMjg2MEExQWI2ZTc0MDU4QTNmZEFDOGRBYWUwNDg5IiwiMHgwOGFiN0QzMzlBQUMzMEFiNDFGOGZDNzMyYzQ1MDJhRWE1MURlNEUxIiwiMHg3RjU0NUQ4ZjA1QjlDZTcwNTg3MUQ0RTY5MzAwNzkyOEZCRTJhNDEzIiwiMHgzOGUxOEMyMURjQTQxY0NiRjQwNjA3ZWU3ODcxZEMzOUJhOWQ3QzEzIiwiMHhjOTAyMzk3M2UzZTk2YjJDNjEwQzhjZTlEYkI2NWI3ZWNkRTg5MEM2IiwiMHgxOUM2NTA1M0VmMTY2RDQ2RGEzNWRjQjcxQzgzQTlmM2UxNjFEQWU5IiwiMHgzMUI3RmIyRTEzODcxNTk4MzAyNDc5RjY5MjYwRTk0RkNDZDRGMTBDIiwiMHhDZjNBNzJDMTgzYzY0NDk2MThlZjY0NGJBRDg3NjdjOGIxQzYyYzkzIiwiMHgxQkIwOEM1YzQ3Y0IwNDUwMzBBQ2FDNjZjNEM4YTFGMzE0YzAyMTU1IiwiMHgzOWExM2E1NTQxMTEyRDI0ODMwQkRFNGI4Q0U1ODFiNzQxNmM1MjM5IiwiMHgyQkJmNGQ5QTI0YmUwOUFlNTgwM2QwRkU2OEQyMDVmYjQ2NDgwZkJFIiwiMHhFZTgzMjMyN0I1OTk4NTA1Nzc2N0UzMzA3NTZkZDlBMTgwODIyRDBGIiwiMHhhYzMzNkEwRjkyMDk5ODkzZTY1NDVDZTc1Rjk5MzAyYjI5Y2ZmNGU2IiwiMHg2NTcyRERiQzBhODhiZGM4MjJmNGI0MDhlMjIxMDAzRmE2MTE0YTUwIiwiMHgyMWM3ODg1REJEOEIzQjNDMDVDQzY3NzgyQzk2RjdlOUFEMjZkMEVkIiwiMHhDYTA4MTc0MUNjNTQyNjQzOTNiNjNFYzU1M2I0ZTcwN2VkM2M1YTIzIiwiMHg2MTA4MDZFOUE0Mjk5N0Y2NDI0RjU5NDliOWExM0YyNTlBMTZDMmI1IiwiMHhlZDkzRTgxRjg0M0RENzEyNWJmOTE2NDBmNWM3N2RlQzNGMDZjZUE3IiwiMHgwRTU3OTFDQjUzOUZBN0Q2M0JFODI0OWU3NWZjMzE0NDIwMmI2M0JCIiwiMHgyMzMyMkMwMTZkRDYwNDFkNjY2ODUyRGE1M2EzMjY3RjdjQ0JFYUVGIiwiMHg0NkJBOTVmRjRmNGNEOTM1M0VBZERlNDNCRWU1MTlmQTUwODg2ZTcyIiwiMHhFQWYxQ2MzM2I4RDFDNEMzRTY3Q0Y2NDdFMTE3M2YwNkFhN0I2ZDBjIiwiMHhkNzg3Q2M4QWFkY2VkOEVjYzEyZDA0MjhCQ0Y5ZTI5NTkzQ0JFRTMwIiwiMHhGM2M5OWFlOUIzQTM3ZDVCRWNlN0UyNTdFMmQ4OGMzOEYyZjkzODQwIiwiMHg2NzlmN0M4MDljNUI5NDU2OERjZmQ0NkIzODI2RUI2QUI1NjUyMTRkIiwiMHhDQzM0ZGQ3OWFjQ0MyMjIxZmRkZTZGMTUwYjkzMjlkRTFCMkE0OTA3IiwiMHgyMTBGM0M1RGQzQzM2QTJFMDY3MTI4YmI5MGI0OTY4ZDkwYTAyNEI5IiwiMHhjOTdlQmJkYzg4MzU3ODUwZkQxOUVjODUyMENjODUzRDJmQzRkYThlIiwiMHhFNTEyNjJjNzE5NkFiNDIxZmI5QWYyQTBGOGUxMzYwYjczODFFNEE5IiwiMHhhMjAxZWRiMzUwYWY5OUEyOTZlNmUyMTAyMGVkNTgyNGZFNkVkZGUwIiwiMHgyMkExNzA0QWYxZDlhQjE4NTI0QjQwMzc4MEZmYTkzODM2NDI5OTZlIiwiMHhmODE4M2JjYTU0RjY4NTI2OEIxNDNiNGY3MTRGNUZDMDQ3ZjY0ZDhEIiwiMHhBNGY1MDM3MjE0NTZCQkQ4NTE5NmUwMkZjMzgxMzZCRjJCOTA3MTlEIiwiMHhhRUNhMDdDQzhBNWQ1NTc5MDZjZGFiOThFOEE4YjJEMUFjMTQ2MDQ3IiwiMHhmZTYyMEM1OUYzMDlGZmY1OWE2MTA2YzM1RTlCRDBmMzIxZmU5YkExIiwiMHhmQzAzNkY0RDRmRWQ0NTE2Qjg3ZkE5YThGMWMwRDc0MUQzRjI3YTZGIiwiMHhjODcwQWNBQjZiZkUwNzA2OTBFNDJDOWMxOTAwRWZlQUFGMDRDRTA1IiwiMHg3MTA1MTkzMURiZDcxOThkYTBGMDFCMzFEY2RDODY0RTYxNkY0NTY1IiwiMHhBYjdDREQ0OGU3QzY5MEZGMEI4NjRCOTU0RjM0OTU5RDQxYjAxOUUxIiwiMHgwOTNERTg3M0M2YTg1ODY2RjZCQjUzMDczYmZFMzU1RGMzRTEyNmI3IiwiMHgzMEY3MjFjM2Y2NzUwM2FFZTY2NEM4MjhFNUQ2QjZiOEQzOTk0MmRGIiwiMHhBOTI1MWE1NmM0QWM5YjQzYUJENDVBYjNiRThBMzg4MTBjNjNmNDc1IiwiMHg3NWNhQUVhNkEzNjQ5YjAwNzYwN2I5MDliRDhFQzliQzAxMENmQWQ1IiwiMHg1ZjFGNmIyRDk0MThCOTQyNjRmNTJCOTA4ZWVBQjc1RTRBZDFEOTFEIiwiMHg4QWI1NUFkMDI0MTFBZDc3YjgyRjVjM2M2MDI5YTNkNGE3MjE5RTk5IiwiMHg2MTgzRTdFOTQyNDU1MThmODQ1QjhFNDU5NTA5ZDNlMjgyMkNmM0Q2IiwiMHhiZjYzQ0FlOTlBMkZFRWE3QTVlZThERkNCNzBGNURlREJGYzA4YUZCIiwiMHg0N2Y4QTJmNDkwMEFiRkQyMjAxMGZkODM4Mjc4MUI0ZDdhNTQzZkREIiwiMHhENWI1OTNGNUQ2MDU1ZDBkODg3RkRkNkVGYTEyMWZlYWY2OEJkMWFmIiwiMHg5Qzk2ODViMzQyYzIwQmRFZjllNTdGNTcxMTIxODIwMTRmODcxOTIwIiwiMHgzNTIzZmNiMzMyNkZjNzIzMDhmMkQ4ZEU5RjUyQTkwOGNDNDQyMTk3IiwiMHgzMUQyMkU2OTU5MjNhNzMwYzAwN2U4NTI0MThlOWJENkM0MzY0OTE3IiwiMHg0NUNhRDJEYTc1OTdkM2M4ZGM3OWY4MTdCMDExNEI5QTE5M2VmOTNmIiwiMHg1OTBGRENiM2Y5ZEQ0REYzNEM2NUMxNzM5NTczNjRGZkQ0YTY4ODQyIiwiMHg4ZmM1RUNFOTU3ZjEyMjM2MmZiRjk5NEFjOTdCNTQ2Mzg5ZjBEYzAwIiwiMHhmRDEzRTEyMzJiRjU1OWU1RmRDNzFiQ2MzZTk2NjcyNjI0MzFiMzcyIiwiMHg1Y2ZkNGVFMjg4NkNGNDJDNzE2QkUxRTIwODQ3YmRhMTU1NDdDNjkzIiwiMHg0Mjg4NkM0MDA0QUZhNWE5MTA5NDkxMDk2MUMwQzQ0MjUwOTA4NTZGIiwiMHg1NDBkMTA5NEJiOUIzOTk2ZEFDMTk4RWE4NDBGRWMxZTIzMEMzQ2UwIiwiMHg3RTgxOUQzNkNBYkRCNGViOGM2QzZGMTNiOUJkNWEyOEM2QjAxMzc2IiwiMHgzMWIxRTc5M2VhNmMzNTA1QzI3ZTk1M2NBNGZFODc2NmQ2QzRGOGFGIiwiMHhjRUQ5MGI5ODFkMTVCZTNlQzgxRDg5MDM4RjRCNTVmMTkzRDIyNGJCIiwiMHg5ZDJBZDZFOGMxMzZDZjM4MjFCZWJGMWY2MmE0Mjc3ZTU0ZjY5NmVCIiwiMHgxOUNFMjE1RjMwRGYxM2Q3MWFlOTg5MTZDQmM3NjExMkIwMzZDYzNDIiwiMHhFNDg4QzQ1QURFYThkODNFMjVFYkM1NDhGNzExQ2VGNzk5RTVBMjRFIiwiMHg1OTE4OTgyNzcyYjU5NjcyMDQ5NjIzMUNjODg4MUVmZjIwY0NFOTc2IiwiMHg5OTdGQmQ0RTNjNEU4ZDg2Mzc0NTBmYzRkMTI0NGJENzRGYjNlYTBjIiwiMHgxREUxNDI2MEEyOTY4OTQzNTM2MTFmRjZkQ2YzODlmYjYyMEUyNzJFIiwiMHhjZGVlOTFlNURlQkQyMUI4Njc4NGE4RWRmNTIzQUVDMGI0OTJCQ0ViIiwiMHhlOGU3ODcyYzc1NWRlNDZBMzFhMTUyMUU3MjlBNjUyMzY5QzlkNDI3IiwiMHhhYTE3OUY0Q0U3MkI4MDYxZUNBMkM5OTcyMGY0MzRhRTcwNzkwM2FDIiwiMHg3RGFCYzIxYjY1ZDgzZTAzNjViNDU0MjFjYWFmNjQ3OTE1NzI0YTZFIiwiMHhBN2FBNjE1NDg2RDk1QjAxRUJlQkU5M2NBQ0Q5QTYyMDQ3RDEyNThiIiwiMHhmZjNlMEQ0M2VBMzI0MDg0RkMyNjU2MzUzRDA1RThjMWVhN2I5MTM5IiwiMHgwQTcxYUMwODBCODJBNzk0NzU3QjAwZTJmMmQ5NkUwRTk0NjNmNDhkIiwiMHgzMkNlN2U0OGRlYmRjY2JGRTBDRDAzN0NjODk1MjZFNDM4MmNiODFiIiwiMHgzZjQwZDcwYjYzQzZCYjYwNjY4ZDBCRTE3YjkzZTg5RWExZjg0NThDIiwiMHgwNzkxYjk0ZDYzQjY5Rjk4Q2I1YzVCNjdCMDM2ODQzOEZiMjM3OTM4IiwiMHgxOGVmYzRDMkIxNzQ4NjE4NkE5RjdFRjVkOTc5MjNkNzkyMTIzZjYzIiwiMHg1MjE0NkE3NjlhYzAyQkRCNzM3Q0VjRDg3MTI1MTVkYTc0NkVDZTdGIiwiMHhENDYyOTM4MTkzNDZGOUQxQjg2OWRjODg2ZTI1YWYwQzBGQ0ZiNzBEIiwiMHg2MjdhRjFBNDg4NWFFNDk3NjM0RmI2N0FjNzFFMDg0NTAyMTFBMzA3IiwiMHhjNTk5ZjRkOTY0YmRkZDU1NjNEYTg2MzFBMGZjMjA3M0ZGMzk1ZDFDIiwiMHhCMTdEZkE5QTM2ZjE3NzY3YjllNURCZEVmQjNjQWE4YTY5NkM3MmUyIiwiMHg2MmYwOUEzQjVjYzg0QTk0ODE4MjVBNTcxQjY3NzVmNmVFN0JCMjM4IiwiMHg4Q0FENEQ0ZDA5QmFCMDk0YUVjM2M4OWM4YzQ1NmFhM0E4NGNiQzhCIiwiMHhEQTMwN2NmMkFhNUMxNzIxODJBOTNmZTNiQkNFRUYxQThEMDk3RUI1IiwiMHhlMUEzYmFFOTYyRWQ2NTEzYzNhNzNkZWM1ZmQ1MDJlNzYwQzk1MzEwIiwiMHg0OWZjMmIwMmU0ZGJjMjZDM0NDMkMzODBENDFlZjlBZDM4NGVCNzM1IiwiMHg5NTYzRUZBNWZFNTRlMDBEQjhlN2ExQTExRjJiQTk3Q0NGODExYWFEIiwiMHgxMzZkQzIxRERBYTJCYTc1QUZlYmJCQkE4OWI2NENmYTdBY0VkYzE5IiwiMHg2OUE3Yzg0QjYwQzU4OTkzMzE3MjlFQTA2MTc1RjNiNDZEZkE0QzFEIiwiMHgyNWMwZDYxRDQ0MzIyQTRkMDFjOTFDRWQwOTQwNTNjMkVhMmE0NzE3IiwiMHgyNzBkNUVjQUNlNjUyM2Q0YTgyNEZDYTY4MTQ1Njc1RjY5ZEVkYzZhIiwiMHg1ODg5MzQ4Yjg3MjA5QkZlMzc2ZDliMThGNDUwRTlhQjg0Mzg2RjMzIiwiMHhhNTlkOGFmM0RjMmQwOEJiOTRCRTQzNGMxNjY4YjJiMDk3MGFBNzQ5IiwiMHg3MTdkRWY0ZTREMTQ5YUM2M2IyNWQ2QjgzODU3NmE1NzcxQmU4NUY2IiwiMHg0ZDk4MjRmYmMwNEVGZjUwQUIxRGFjNjE0ZWFFNGUyMDg1OUQ1YzkxIiwiMHhkYjlDZDJmNTlCOTMwQ2U4MjNEOGIwNzFCYThmMjE3NEI1OTE5NGI1IiwiMHg1ZkE3OGZBOEY1ZDYzNzFjZUQ3NzRlMEQzMDZhNThmRDFiOGIwM2UzIiwiMHg2ZWNDNGZCYWE5NDE1ZjkwYjEzZTZBNTM4ZmY0N2JEZDlDNUJiOTQwIiwiMHg1MDFEODkyM0UxN0E5NmRBQTFhNWIyODEwOUIwOEZkYjIyNTM1M2U5IiwiMHgwNGVGOUU5Q0ZhYzkzOWZDMWEwYWRhMTVBM2Q2ODk4MWM1QkNDNjIzIiwiMHhBQjVjZjY2QkY4MzExNjRiMWIyNDhiZTU0NDU1QmE3YTNBOTY3OEM1IiwiMHg4ZDg0NzhhYzEyMkQzNzUxQjBCZTdFODEyODhjYjIzN0E3ODNBNjNmIiwiMHhhYmNCMzA2OGIxMzg4QUQxMjc2Q2U5QWI3Y2Q0MmY1MjFEZkVGNDlDIiwiMHg1M0I0NGI3OURDNzI3YjIxRTg1MjA4NTA1NzkwZmFkQzA5ODZhMThmIiwiMHg1QUJBNGU5YjIxNWIxOWM5NUJFNzJhMzJCNEViMDNGZTE3RTQ2OThCIiwiMHhhY2MxOWZFMDM0QjMyQzUyMjc4Q2E4ODEyQzczNDFjNTFGNWM0MkVmIiwiMHgwNUYwMmJDNzUzRTBENjM3OTgzNTU2ZEU5NTA3ODRmMDk2MURjMTMxIiwiMHg1NTAxNTJmNkQ0NTk5NkMwOWFkNTIwMDU0QWQ3NjNlZDg0MWM2NzI0IiwiMHgzRjc1YTVCNDA4RkVCMTRDQkEzZDIxQkQ5MzRkYzVCODg5MDhGMTA1IiwiMHgxNjAwNDIwRjY3M0U4NzI4MDlCMURiNzAyMUVEMjA1OTA4MmZCN0JhIiwiMHg0RUVBM2E0ODg2NWE2QTY2Yzg1NDUzMjM3NzNiODkxYjMyMkRiNUZjIiwiMHhhN0U0NDY2OTU1OThEMjFiMUZDMjlBMzRDODgxNjBCMjgyQUY4NDQ5IiwiMHg3YTNBOTlFMDUxQjFFMTVEMjE4N0JEMzFEMmYxMTliZDA2ZjY2NzVDIiwiMHg3MjhkNWRFOTNkQTJkOTk5QTRBQjgzYTY1NkMxYWMzOGQwMzg1NkRDIiwiMHgyMDk1MDEyODc4ODZFNzgwQTkzRjYwYjhhNmU5NjM3MTMxNkExOGY0IiwiMHgyM2I5ODU4ODcyNEYzMjZmOTMzZDM4QkFDMzdjNGRGYkRGOTQ4OUFEIiwiMHhGMUFFODg4NzRhMzM1NGU5NGZERWY0OEY2OWI4MjFjODIzNTI4OTdBIiwiMHg3MkI4ODc5Y2M1MTU0MjkzODgwNTJjNDQ2MjJhREZmNkVDMmFkOTREIiwiMHhjMDk1QjA3RDA2NjQyNDc1MDUzMTQ1ODE2MjhCM2E5MTFBZEIwMzc5IiwiMHhiNUMxNWQyMjE0NWYyMEZkNzkwQ0JGRERERTc3RjNGNGFhMDM2MzAxIiwiMHg3MDUwZDMyNUM5YkE1M2MxNTBmNUY4MDg0QzUzNTRBQTBhZmQwYWRCIiwiMHg1QzVGNGQ2MDQyYzdjNDc3RkRlMGUwN2VmMjM4NTRBZDQ2RUVENkUxIiwiMHg4M0FENzcwNGNhM2E0NDdhRDRGZjg0M0VGODUzMTZlNDBjZkZhYmI3IiwiMHhkYmUwODViYjUwMzM2Mjk2ODAwMzU5MDNiOEEzYTlFMTllM0MwNTlBIiwiMHg3YzUzQjc3NTBBNDIzNjVFRDVBMTAwMWY5MTM3NTczOTZmNTYyQUQyIiwiMHhjMUNGOUY5MEMzMDc4MEFjZGU1NmE2NzhkNjI2MWE2OTdBNjNGZWEyIiwiMHhlQjE4YzY4ZTgwNzk2NkQ0NEYyMWQyOGNFRDk3ODhiNkZBQkRjMTc4IiwiMHhCMDA2N0M0OUM5ZjZCQUY2RmNCRDdBNTlhMDM2NzM4OWVGNUQ3NzE2IiwiMHhmNTlhNDlBNmVCYkUyZkMwODI4MEY5MEZGYzY1M0EwODRDMkYwNTMxIiwiMHgxZTVDNTk2NDQwZUIzMDlGOGQ4RjVjMDVCZDI4M0Y1QUMwZDlBYjBkIiwiMHhmNjRmMzljNzNkMEVjNWVEYzlGOGZmNDBmQkI3MzVEODQ1MDgxQWQ0IiwiMHgwYzAwNjQwQzZBNzI1NmIzODNFMzRGZWEwZDQ0RDRGMTExNTg5YjQ0IiwiMHhBMjczMmMxNzgxM2VEMTBhMjE1MTJmNzc2RTk0ODk2MzNERUIzNmUwIiwiMHhhNEM5Yjg2MTVmOUYyMDE0ZGM1YmVlYmVEYWI5N0IwRTk1Mjg3OTVDIiwiMHhlMkM2OTdBMDIzYzA4QTFmNjRjM0IyYURGNzU5RjQ1RDI1RmM2MEJkIiwiMHhFRmFlOUExODdBODM5RTFhYmJiNDEyN2FmMTU5YzQ0YTU3MzU1QUExIiwiMHg2MjFCYUMyYTRiNDQwNThiNkJhZTRmZmUyMDY0OEQwRmQzNzI5MDcxIiwiMHhDMzE3NDg1OGIwMzNhOENDODBCMzcyMDYzOWJlMTAyMmQ1RDE3NTM4IiwiMHgxN2Y2OTBiQTE5NEZDQURERGI2QURiQUQyOWZDNzBFMTAwRjM5MUU4IiwiMHgxMTViOTA1NmM3NWMzNzE3M2MxZmRiODIyMDg3NGZmODUyNzk4NDU1IiwiMHg3NzI1M2U3ZTc4MWE3NGZDNkZjQ2IzMTY5NjkzMDA2OTViN2VBZThFIiwiMHg5QWIzMjU1NUJmNUE1MUM5MjJhZUU3RDJlN2M0MWIyZWNmNzk4ODYzIiwiMHhmY0Y1RjAzOTllNURBZGVBQjQ2OTlENUI1NTQwMTA4NDQzRDkyMDc2IiwiMHg3NUM2M2FmQTY2MjNERTZiZjBiYTE5ZjAxMTEwMDhEQWZiQjlCNjI3IiwiMHhENGM3ZDYwNzEzRDQ0NGM1YmNlZDQyOWIxQzQxZTU5NjZFNzM3NUFGIiwiMHhBYWMwNzJlNDc0ODQxYUNiRTk1ODcwRDk5OTNBMmYxMDExZEZlM2U1IiwiMHhjQzQ4QzdiNDgzMDNCMTMyOTVCMmE5QTE4NGYyMTM5OUZlRGZDNkE1IiwiMHhlREQwZTRmNTcyRjMzYTZGQzJGM0I4MDk5OUI1MzNFRDE3NzY5M0JFIiwiMHg4NDkwQUYwRjA2NzFmYzEzQTI4NmVjOGUxZDAzMDIyQzNhZDRiQTNiIiwiMHgwNTIyQTQzN2I3QzQ1N2NGQTE0M2YyMUYxOERFOEE1RUNBRTU0NmM3IiwiMHhhQzA3Mjc2ODgwNTg2YWM4QjFjOTlBRjhGMDdEYjA5RTNBQjE1MmY0IiwiMHhEYWREMDhEN0MyMzk0NTM3MjU2ZTM1OUNEMzIwMWViNzdFMDE4RDg3IiwiMHgxNTE2RThkMzFCOWREQTBFMWY0YUJjMmYwNGZCZDM2OUNmMjhmQTQxIiwiMHhiY2M2REE1OWVBZTc4ZTRlOTVlMjZGYzVENEM4MjcwOThjODEwZDZkIiwiMHhlRkM0ZWE3OTljM0RFYmZiNzIzNTI3MUFEMTc4QTk0RjVCZjIwZkQwIiwiMHhhNDZkNzIwQ0QxZURDMjFCODYwNzA0ODhFMTBFMzI1Mzg2Mjk5MThGIiwiMHhGMmQwRkM0N0NhODNhZDYwN0RCNzczZUQ3NWI5ZWQ5OTc1QjBGOTc0IiwiMHg3NUI4QmNEMjY1YzczMDU1NGMwMDFGZjE3ODEzNDY4RjgzY0U4MzM0IiwiMHhhOTg0NTQyYTc2YkQzNzQwMzNDMkU1MGU5YzFBNDcwQ0I5MTA3NjZkIiwiMHhhRjY1OTVCZGFjMjIyNTBDMGYyMjliNTYwQmU3N2Y4YzM4Mjg5OUM0IiwiMHhmNDNFYzVBNjkxNjRDQUI5YjUxODU1ZWM0Q2U2Qjk0ODc4OEY1MzEyIiwiMHg2MjE2OTY5QjAxNDQ4M2JBZjE1OTkxYmZmYTZEQjgyYzMzNjI4Rjc2IiwiMHg4OTM0MTEyYkI1NWQ5NjBDQmU1QzlDZkE1MjU4QmMwNTJFQzhlOTczIiwiMHg3YjY1MTU3N2Y0QTFDOUY4NjcxMDRDQUU3RTUyZDJkNGJmMTEwQjlDIiwiMHgzOUJGZDk1NmZGRDFGNzhmMTg2MTIyODExNDIzN2Y0QWRBQzQxQWUzIiwiMHhlNDI3NjVlODlmZTk1MkZEMEFDNzVBMzJFZkNCMjg3MUM1NjU3ZGZiIiwiMHg0RmIzOGMzMDJEQURGZWJhZjlFZDc3NmY0NDkxYzJiNDIyNzlkM2ZlIiwiMHhDQjA5QjRGYTA5RjlhMDQzODMyMjU2RjhlZTcwRGI3OEY2NTQxNUZDIiwiMHhhOGY1RDcxMDAyZTdEMkQ2YjRGRTk3NjM2MTRCOWE0YURkMkJmYzMxIiwiMHg4NzM1RGFDNENkZDhFRjBDMTcxNmRENEMzRmI3Nzk1M0YzNzA2NEY1IiwiMHg1Mjc5ODY2N0JiQjQ3MUU0NUIzYURhNUVBQzY3MzYxMGM4YTBBOWIyIiwiMHhGZjE2Rjg1NDc5RkNEMTc4ZDA3MDkxNUEwQ2Y3MzVlZGZCYTk5NmFkIiwiMHg3MTNkNzE1OTMwYkJEMTRCOTgzREM2M2I1ZTMxNjJCRjMxNWY3RDdlIiwiMHgwMzQyYzlmOGIxMzI2YTQxYWY5QUE2MmU3RGE4M2IwMDk1YTc5M0EwIiwiMHg3OTY5NDc1OUMyY0IwREEzODg5MzNmNkQyMURiMzJFMzJGQzg1RGUzIiwiMHg2MDhBQkRGM2Q3QThjOWRCZjM1ZDZlYTM2M0FBZjg2NDY0N0QyMjc3IiwiMHhDN0RGMDcwMjhBMkNmQzk5QzMzMTc0QTg2QTNBMzg3RkM1NUEwOTIxIiwiMHgwMUFjRUQxZWNlRkQ1YkY3ODM1OUM5ZGMzNGM4NkZCNmI4Q0VlOUVmIiwiMHg3RjkxMzZmNDAyMjdmNUE0MzExRWNFRjVGYTE4MTU2QjQ2NmJFNkIyIiwiMHhmOTJmZkJjM0NCYjk2OWJCODE1Mjg5MTI5OEI1ZWVGNDg3MjUyNkJGIiwiMHg4RTg1OEVBYzZlRjExQ0Y4OUJEM0QzNTA5RDdkQzJmQTBEZGFBNGM3IiwiMHg3OEE1ODVDZjc1RUI1ZTY4M0EyMzIwQzg3QmQ5OTJhN2I4ZTAwNDIxIiwiMHhENDU2MkMxNjVmOTJjQkFlODFDYTI0ZTdGNzBFZjNERjk1RjAyNUE3IiwiMHg2NjUzZEM3ODkxN0NFMTg2YkQ5Q2VGRDQ4NkY5YkEzOGM2NjAxNDhkIiwiMHhBQTQzMWE0RjQ4YzBBQmIyNzQzNzNiQmFmYjhjYTE5MmEyZTA4MDdGIiwiMHg1YjM1MWM2NDM5RDZGZjEzNTQxOTBmNzA3NjU5MTRENDQ1MzY3QTU4IiwiMHgzMEZiNzBDMTAzMTk5NkMwZWQ0YzVBNzZFNmRENzQwNTI1MzRjRGU3IiwiMHg4QzhDOTRhMjM5NDA1QzI1YjA5Q2ZFQjZCQjU0MDEzZWUyYWM4NTc3IiwiMHg4OTUzYkI4MzMyNzIyYzg2N2FhQzg0ODJCNUQ0RjgzYTgzMmVjNTgwIiwiMHhBZUU1ODdjNjEyRTZCMjhFRjZFMTNFZWY4OUZGNUEzMWNCN2FmRjZmIiwiMHg4YjRjMUJmMjNkYTg5MUU5NkJlRTY1NjViQ0M0NTJjNDcxYTZBRDE0IiwiMHhjMDZFNDRhNjQ1MzJFOGIwNGM0MTQ1OUExNzU2Nzc1RmY0MWJkM2EzIiwiMHg2MGQyMTk1MDY5OWZDNUNmODgzYzQ5Yjc5NTA2MkE2ODk5MzI5YjY1IiwiMHgyQTE4NTYwYzlGM2NBYTg3NTI1MzE4YTAxMDAzQWViYWU1MEQ4NWY4IiwiMHhENTI0MTY5NEQ2RTM2ZkI5Yjg0MjE3ODYzOTIzNEIzNjc3MENCMTdFIiwiMHg1Qjk0ZGY4NjQ4RkVkNTM4QzdhQjFCNDViNWVDMjk5RDdCOTY2NDQ3IiwiMHg3QTFjMTAxMjMzMzg3OTc0RTM4OUM1RDI5NzUxMjMyNTZjRGE2YzFiIiwiMHhiM2M0N2QyNzczODY5MjMyNWYyOEU0ZTZDMjVmQTQ0NjA4MDYwYWNkIiwiMHg3ZmRFQTY1NTczRDFiMTJDMjhEOTUzNDk0ODMzOWI5QUQ5MWU3REMwIiwiMHhkMGMzZjRmMDg3ZEZBYzgwN0Q3OERDNjA1NEYwYjMyRDA0MTkwRTBBIiwiMHg2ODgyRjU3OGNEZUZhYzQ0NzkzZDIzYjQxQTY5ZEU2NkUwNTAzYUMxIiwiMHg4MjlBNjY0MjkyNEY5MTYzQTQ3ODI4NWNiMWUwNThjMjg5MTBFODA3IiwiMHg5ZGU5ODVmQzBBRjVEREUxRjI5NTg3MjA1NTIwRWNmZjZCNzdmMDEwIiwiMHgxMDJDODliNjU5M0NFNzM5MzY4QkEwMmY3YzFCZTExZTBEM0VhMEY1IiwiMHg3YTljNjk0MTU5NDU2MkZCRDNFY0FmRWNlZGJEZjM0MjRFODdCOTA5IiwiMHg0OWU1OGIzMmNkYkUxMzUwYjgwYWY2MjU1NTc4YzJBMDA2MzRkNDhmIiwiMHgyRWI3MWYxMjgxYzE2Q2Y3MjQwQTQ4Nzg5ODQxNjVDNTZlNjUwMDM0IiwiMHg3MmE0ZDBkMGY5QzE2MGIxZjQzRDBDNjc1ZUUyOEVFNGZjMUZiOTY0IiwiMHg0RWU0OWVCZjZmODM4M0JkZEU4OTNiRTA5QjIyMzNEZGZlMjU0NTc4IiwiMHg1YTU0NjE0MzUwMTc3NWJCQUM3OGM2Mjc2MUY2NzZDMTQxNzgwNDg3IiwiMHhlMDBkYzhkOGRhNzdkNTFiM0VBNmI5ODJlOGREQjdCQ0U4ZDc5MDExIiwiMHgwNEU4ODc1YmI3MzFBMENFZEY0Zjg4ZmM0NjYyMTRlMTM5MDI2RWRBIiwiMHg2ZTdFN0Q1ODUxREViMGUyODcwQzM3ZjY2NzNGM0QxODc3NDRGMTMzIiwiMHgwNGRkNTZFZjcwNUE4MGM3ZDQ3NDg0RjAxQWJjOTlENzY4Rjk5M2Y3IiwiMHg4ZjVENWQzOTg3NEQ1QjdlNjlCMTFBY0I5Y2I1MzcxQUM5Mzg1NTFBIiwiMHhFYzlFQzkzRkJFMjQ3NzE3QjY5ZTNiMzdDMzlhNjExZDgyNWZhRGM4IiwiMHhEZjAzODk1RjdmQ0I5MEY1NWRmMmRmNTUwMTRGZTI0MGNFQjIzNzdGIiwiMHhiM0NlZTAzMzJlMTZCMDg4QTg4NDAyOTdBYUU4M2Y5OTg3QjNFNzVBIiwiMHg1Mzk5MzdlYTQ0QUQ1MTI5N2NlYTI4QTdEOTBEQzNmNzM3REYzODFhIiwiMHhCNEE5OTUzNjM1RGIxMjA5ODkyOWE3MTM1MjNhQzMzZUExRDQ1N2YzIiwiMHg2OUIxODdBOTMzRGM5MzJlNDBDQjJiQjA5NzE1MEY5RmM3ZEFEOTU4IiwiMHg2NjlkNEIyZjBjNEI0NDgzOTk5M2E0NzM3QTFEYmM4ZGMwMzgzRmQxIiwiMHg1NmJGYkI1MGFFN2VhRUFGNjI3NkNmQUI4RmM2MkM5QjQwRDUyMTk0IiwiMHhDZkNlMzAzNDIyQTk3ODU0MEFENzNENEQ2MWY1ZTM0OTM4QjJBNTA5IiwiMHgzOWM0NjFkNENCZENBQTNFMDEzNTBlMDQyNTYyNWZkOUFiRTBBNEY1IiwiMHhBOThjZTVDQTk4NDM5MDkwMTQ3OWYzMGIyYzU3MDRFNDkwMjhDRDgxIiwiMHgzYjYwM0I1YTI3MzhDODYzN0E3YTFhZjFBYTY4YmNlMWVEY2U3Q2M0IiwiMHg1Yjk1ZEJjMzk5NUYzNmU4NWI3NzE3MjAwODNmMjE2YTExMjMwNkExIiwiMHg0ODk2Njk0YjZmOURjMDgxNzRhZjJEOEFCQzE2NDgyOTZBQWQ0YmFGIiwiMHg1MmY2OWM2NTFmYkZjRGQ0OUE2MDQ4RkExNEJjMzBDN0M3NTcxNTQxIiwiMHgzMzQ3MzQxY0REOEM5ODc5ODRiZjg0ZENjOGNCZTE0OEY1ODczM0REIiwiMHgxNDkwOEQ1MDI5ZTc3ZTU0QTFDOTYwODIxMDBiMUVFNTg4NzlCZjBhIiwiMHg1NzI0Y0UwY2RhNGVFZDAxQTk5QzhhRTU0RTUzYzM2ZjRGNWJiZjU0IiwiMHg5NzU4MWQwZEUzMURGODliOTcwYzU1M2IxY0QzNjMzNzk0RTg2NjNGIiwiMHg0YmFlRmY4MDAwOWUwNTJlRjY5RGYyYWREQjhlNzcyZEZGNDlDYTc0IiwiMHgyNzE0NmEzNEJENTg3ZTFjN2NBYjcyYzA1MjYyMjEzRkEzNUVDRTQ1IiwiMHg1MzgxZTBlNzk1OGNDZjM1NGU5REE5NTM5MGNEOTQ3OGUzZTVmMjlmIiwiMHgwNjI4ZjBmYjE3MTRiMTBmMzBlRDRmZjgwQTdCMkI5NkMzMTg0OTQ5IiwiMHg3MzI4RDAwRGJkNTU0ZDNBOGRFZmY0MjJlZWZiOEU3RGFDMjNGNDExIiwiMHg0M0Y2NDdjNDkxNTVBN2FmNmIwMzIyZTdBMEM3NEJBOThGMDlhMWVDIiwiMHg0ZDE5NTU2N0E5QzBlRUY3Y2NmYjNlQ0YyREZFNzI0NDFFZDg4M2MyIiwiMHhBMDk5N2IyNjY5RjkxYjY2MTQyZUQzOWJDRjFGMERmMmIxNTc4QjAyIiwiMHgyODVBMzhFZjQyMjAxRjNlODFlNTVmOGZmMUYxREJmYjY4QjQyQUQ1IiwiMHg3ZmQzOWJEMDQ4MENBZDUxNjUwYTkzODYxNTgxMjNBMDIxQjA4OGFjIiwiMHg2RjdlMkNjYUQwMzI3ZjM1RENlRWYxMjZmOTY5YWMxOTNkMmU3QzNkIiwiMHg3YjM0NjBFYTUwOTQ5QmU2YTFlNDlFODI3OWM0ZmZEMUMyMmMyYkU1IiwiMHhEZTU1MzlCZTUxNTE4OWRkNzZhYjkyYTlDYzcyOTg2Q0E1ZjQzNmM5IiwiMHhjQ0ZmYjMzMTFGN2ZERkYwOUJlNTcxZWM2ZTA0YzUxQmE0QWJkQTg5IiwiMHhiMEI5NDhmMzIxRGRjNUUxZjEzOEVEYjE1ODUwNGZGQWMzNzVGMjFGIiwiMHhCMzA3RTZjYWE4MmI4NGQxRDIyOTY4OUE5NUNhMWViQmI5NEZFNjVGIiwiMHgzQTEzYUM1NGFjNUY4YzE4NWM3YjgyNjRjMDVFNDI1Zjk5MjIwNjM4IiwiMHgxNDMyZTI2RmQ2MzhhODA1NDYxNEZmMDA0NjZDQjE3OUI4OTdCMTgwIiwiMHgyODczNTdDREE4NDg3ZEQ2MjFmQ0M1MmE3ZTkwOGQ2M2QwNjEzMDZGIiwiMHhBQUVhZWQyM0MwNzJCQjA3OTVlMmQxMzg0NjZkRTlkMjJFRTEzNDFDIiwiMHhmREJEYzAyOTIzYjVCMzQyZGIwNjBmYTA4Njk0RDNGOUMzOTQyM2IxIiwiMHhCM2JlMUQ3QUQ2NkQ1MEEyRWM4QTZCMzYxQjlBZjE2Q2I0NTdiOUEwIiwiMHg4QTAyQUVhRURCNkYzOGU1NWM5NzU0NEVGOGM1NEQzRTE4ODAwM0NGIiwiMHgxNTM4ZDQxMzdiY2VhM0M3QjlEMjk3M0YzMTM4MTc3ZDVCRTExYTE2IiwiMHhjYWNhNjkwREE3NzJBMDk4YTg1NWZEYjY0QTM0NTUxNzJDMkVjMkIwIiwiMHg3MDg4N2RDNkY2YmYzMUI0OTFGNDc4NTA1RjYxNjU5OEZjNjJiOTRhIiwiMHhDQzRkMDdBZTE5YTYwMkZiYTY4OTM5REVCMzI2NDZBYzI0NzYwMERmIiwiMHhhOTY5OUNkMzUyMGYwRGI3ZjdhMTM3MUFhYmNCNTk4QmY3MTdmMWE5IiwiMHg2OUFmNjE0MzkyMDY5NTg3NTg0QjYwMTcwNjA2ZjgwNkNEQzVGRkM3IiwiMHhCMjkwNGZGMUY3QjNGMTExYzRjNkI1YUE1NjMxYkEzODBhRWY0QzNBIiwiMHgxMzhmZDMxOGU5NjkxNDU3OWM1NTE5MzQxMzUwN2M3NjUzREYwMjAwIiwiMHhmRkJlNzBmNTIyNGVjNzc0MjFlZEI1OWNiMDk1MjQ4YjQwZDUzNDZiIiwiMHg2NzIwOEUwYkFhQjNGMzNGZTJjQjM0ZTJENDNkNDBFOEFjNDFGNGVjIiwiMHhENDhDODgwNDIzQkQ2MEEwQ2M5OTkwQzc3NUJBRDhBODI0RkIwM2UxIiwiMHhBMjMwMmVCYzdkNGE3OTFGNDczYzk1NEFEN2I1MWMzZEUzOWVEMDY4IiwiMHhDOTk3OTFiZTA4Mzc4RTc2MjljMTk3QzhhRUE1NTQ1QmNkZTdhNmYwIiwiMHhmMjU1NDA3ZGIwY0I5ZjI3MkEyMjRjMjUzQmViZjFDN2E4NWI0M0RkIiwiMHg3YjJmNjRFOEQ4NjhkQzBlNGUyMmRiNkVhOWZFNzM3RUEyMTBjMUEwIiwiMHg0NUZiOUQwYWFlNDhCMTRhMWZBNEVFQ0JFNWI2Q0Y1MTdGMjc4OWYxIiwiMHg4M2MzQWREOURjNDc4NkY3MDAxQjc5MzMyQTIxODE2RDJBNzY0ZTZGIiwiMHg3MDEyMTMyOGUwZmUxZkI5MkJlYzE0QkMwODMxZTdiOTY3NzYxODQ3IiwiMHg2N2M5ODQ3MDg4NTg4Y2IxMGZCZjAzRjM1NUFBOWRFNjFmN0JCNjYxIiwiMHg3M0U2NDM4OENlMjQ5RjE0MDhiNjVDRTZGOTVBRDg2Rjc5NTM5RkVEIiwiMHgxY0NhYjlBQjQ3NGZCNTc0ZEQyNWEzM2YyMzJCQ2YwOTc5NDE0NzVGIiwiMHg5ZmFDOUVFZjBCOTE5NTkxMTU5OTUyOGY2M0QzNzNBYzQ1OUQwOTA0IiwiMHgwNzIzQ0EzNzdkQzMzYjFEMkM3MTM4MzJEOTc0MGZCOGZmRjlENURhIiwiMHg2MzU4ZTdENkNERUYwODQ5NDA2MDNGNjA5YmU3OTJkOGMxRjczOEE4IiwiMHg5NjBGOTc2REVCMmY0OGMwNUVjOTE4NTBEQjVEZWI0ZjFkZUU4ZDI4IiwiMHhEYTU3MjAwMjI1NmVkQmU4NzUzRjFCQmUxOWExMkU3YThlNmJDRUQ3IiwiMHgxRTYxN0FiQTUyNjczRjRkMTkzMTA0ODVEN0QzNjhBM0Q3N0ZFMTIxIiwiMHg1ZUI2MUIyNTM4MEJGZkI2QkUxQTMzOTJCZkY3N0Q2OTcxNzY5MTZhIiwiMHg3NEQ3OUJDODgyMDM4ODI4MTI2QjgyRjBhNDEzQjFERTcwODg0RDJEIiwiMHhDMTExM2Y5QWUxMGJlQjE4OEQ1M0VBRDQyZmRmN0IwZjAxYmI3QTU1IiwiMHg4MEE5MzllMmI0Y0U5MEIwQTQ1RjA4QURDQzEwNjQ0RUQ2MkE4YTdEIiwiMHg0ODUzMUU3NjZlNjQ4N0Q4QTRiQWFFQjUyQjI5OThFMzlEMkYyQUE2IiwiMHg5OUYwMDZFMTk0MTVBNzdGMjJmNDE5YjQ4OTAyN0RFMTdkZUY4MjUxIiwiMHhjMkZiQjQ1YTJkYUI5NTY5RjNkREY0RThmNUY2M0E1Mzc4OTE1OUI1IiwiMHgxODA1NkUxMjg2M2Y0NzAxZTFiNDhBZTFmMDU3NDkyQTBDMTVGNTY4IiwiMHg4N0ZFZTQwMUZCOEUyYmQzNkU2ZUQyZWJmNEExNGM5OTRmRjc0MWRjIiwiMHgyNENCODExNGM0OENCYzZiNGVCMDcxZTI0N2Y4NjY0NTdlOTQ4M0RjIiwiMHg4ODQyN0JFNTk5QzYzQWRmZTlEYkY3NTJkRjBEY0RFQmYzOTBBRmVkIiwiMHg4Y0Q5NzJiQmQ4QTNjMGEyRTY3M2U3OUY1NDQ3OGUwMDMyRThhYWE0IiwiMHgwMGUwM2VGMjNmYmEzMWI3NTM1ZjQ3M0RlMEYyNjdBODlGZDlkRkIyIiwiMHhiRTczRTFmMTcxQUQ4OEVCNTZDOWU4NUMyQmUzODBDM0Q2MDQ2MWQ2IiwiMHhGZWZlOTJkRjIwNDUzNTg2NzA3NTA4NTVEMUIxY2UzRkRhNzEwMDEyIiwiMHgyREQ2ODM4YzYyMGMwMjBGOTMwMjlkMDVBMTdDNDhEMWFGRDA3YTNDIiwiMHhhOTBCMjRDODBmQ2ZERDczNkUxNDYyMzE3MTZmNTBENzQ5ZjAwODY0IiwiMHg2YjMxZmNEMzExOGNjRDg5MUY4Q0Q1MTUyZmVjODgzQTQyM0U1OGQ1IiwiMHg0YzU2RTUwMGFCRTZlZDM1ODY5N0IzYWVjODE4QjkwMDY4MDdBNzM1IiwiMHgxYzA0MEU5ZEExM2JiQUE5NTdCY2E5OTA2QTJFNDU1ZTVGNGE0MjNGIiwiMHhCOGQxOTQ5MzhEMjk0MjcxNWYwRmUyNDg1NTJFMUNERDQ5NGE0NjkxIiwiMHg5ZkY5Nzg3MGM3YTAxMDg5YjlmOTU5NUQ1ZTM2NkY4QkYyZTEyMzVkIiwiMHhGNDYwMmI0RWM2MkNhYTg3ZDc5OGJjQjI5ZmJlMTM3Rjg4NzIyYjFmIiwiMHg0RTkxMGQ4OWY0N2E0NWM3ZEMwNTM1MEFCODkyZDk5N0Y2ZERjMUYzIiwiMHg1RkI1ZjRCNDQyMzM5ZTJBMUQ1NDQ1QjdkZmNFNjcwNTAwM2YxMTNCIiwiMHhjQjIyZjRCMUY2YTFjMWZkMjVCMjQ0MzBEMUE3MzYwMjZGMzFCNzkxIiwiMHgxZGE4NUMzMDExMTczOTc0M0IyM2NCNjZDOGE4ODFmZmQwMjEyY0I1IiwiMHhkZGZDMjc1RUZlRDFjM2MyYUQxQThhYWZCOUQzMDkwZjQ0ZWJkNzc4IiwiMHgyNDViNDQ0OTU0RDFkMzNhQUEwQ2RlN2M2NWM0YkMzYmVBQ0M3Qzk3IiwiMHhlZDA1NDdmMWI0Mjg1NzlmNkRmNzkxY2MwOWI2RjBGODQyQzAwMEExIiwiMHgxN0QyMGI4ZTc1NTYyZkQxZGZhODQ1NzM3RjM3ZUVDNTcwYkMzQzI1IiwiMHg5YTM3NzgzYWVkQ2YzMDlkZmNGOUI3ODY3MENDN0NjM2M4ZjU1RTE3IiwiMHhjN0VBNUUwOTlCNmJDM0MxQjFBOTM0RjVmZjQyRTQwQzI3RDI1YjRDIiwiMHhlNDI3N2NkZTYyQ2Y3N0Y2QzRCMjlEOGI1REE2ZDUyN0RkM0FFNDU0IiwiMHhFZTg0OTRBMDZFQTJlYzA3MzYwYzkzNDFBMDA2YjM5MkVFREE0NzQzIiwiMHhBZDczZDI1RUJjNmVBYTBlYjMxNjk3NDY3MEM3NmIzZTUzQ2RkZjQ5IiwiMHgwOGI2ZkVmMjIxZDQ3MTdEOTNFMTU2MzRjZTJBMjdERjVlNUNGRGIyIiwiMHhmYjNmMjY1ODE0YWM3MWFiYTg3YjMwMkZEN0RlOTI2QTVlMGYwRjRDIiwiMHg1ZDdDMjM1NTk5MzJCMjM1RkQ0YTlDRjY2NjI0NzkxYkI3M0UyMzViIiwiMHg4Nzk3NDBFQ2VhMkRCQjkxMzk1MzVCNWEwOGMxM0MyNjRlNTU3MTFCIiwiMHhEQ2I5YTkzMDZGMUIzOTk1MkREOThjMzBGYzRDNmQwOGRmNjhlMzFDIiwiMHg2MzhEYWQ5ZUNFODNDODViRmExQThhOWNjM0QxNkU5MTA2QkQzNzEzIiwiMHgzOTMxMWM3MGQ1OTg2NmViMThlZUMyNjMxZTVlQ0VERGRhMjBGNTI4IiwiMHhDMEE0MjBEMzliNDI0M2Y4ZGQ5Yzg3ZWYwNjI4ODQ2NjFhNmVFRmZFIiwiMHg1NzM2MTVGNUNkMEIyNzlGY2U0MTRBNmVCYjcwODYxYTZGOEU3MEU0IiwiMHg3MzE4RjgzYjBDZWUyRDhGRDVCYjkwZUYzMjViMDBCMzk1NmQ0NWQzIiwiMHgzNDJBNzZGODVhNzU5MzU5NkI1NkI5MDEzMWM5OTM3OTE5NjhlYjU4IiwiMHhBYjIxYmUwRjg4QzY3RUFiYzYzRGNhQTJCREY3RWI1MDFDMWFGMDA3IiwiMHhBMGVDM0NEOTZBZjg3YUIzNEE2ODQzNzg3QTkxRWE1RTExNDY2ZWE2IiwiMHg3NTQ3NzI4ZUFDNERiRGY4Zjg2ZjlhNUIzMmNjZTdCYTRCMjVENzk1IiwiMHgzMzJFMzcxNTREMUY1Yjg0ODc5MDBEMjRlMDM1ZTkwMzk4OGUxRTBjIiwiMHgyNDM2YTNiNjcwYmU1Q0FjMzQxMTIxMzc0NkQ5RjMxNEI2MDNmMjkwIiwiMHgxYUQyOEY4YWVFNWE3OUJjYjBhMmExNTg3ODg5RDc0RTE4RWMyMDA1IiwiMHgxODEzMjk2OEZkNUJENUIwMTY2Q0M3MEQwQjQxNEVhMDI4NjBDRTBCIiwiMHhFNTExQkNFNjBERTgxNjBFRTZkZDY1NjgyQWVCNmYzMzkxQ0U2ZThFIiwiMHg0YjI4QjUxQ2Y3NTVhQTA3ODc5ZDkxQTg0NUJlOTllODgxNUIyREJEIiwiMHg3NzQxNTI0ZjYyMkExMGQ4Mjg3Nzk1MGJEZDljM2Y4NWFGRGQ0ODllIiwiMHhBZDFFZUZFN0U1M0U4ZjAyZjUwNjcyZDgwQkI5ODk5ZUQyN0Y4RDNGIiwiMHgyQzFDRTE4RTc3NmQyNzIzNjkxMEZmRDFFMDVhQWE4Mjc2MUZmODEwIiwiMHgzNmJkYmE5ZjUwNDhDNzlDMjg2OTI3NGM5RjdFOGIyNGZEMDg1Y2FiIiwiMHgyOUZjMDZiY0FmMDhkMjU1NjFkNjQ3N0Y4Mjg4N2ZGMDc5ZWExNEFCIiwiMHg4ZjIyMEY1OTBCMTFDMEU0QkQ3OTlhOTU4ODJhOEU4QTgxMTM0MDU2IiwiMHg4Y0UwNUYxOGY4MzMxOTgzNDVFNUEyMDA2ZWY1RkZBNDMxQkMxOURlIiwiMHg0M0Q2NjY5RjlhZTBkRDNlMjUyN0ZBQWMxRDAwQUUxM2RDNGRGNEIzIiwiMHg4MjFCN2ZkNjkwZDQ0NGUyMjU1NzZCMjBCNUE3OTM0NTZhNDM2ZUE5IiwiMHhFMTg4MzMzYWY5QjFmNWZBQTJEOGRhQzNmMWQ3ZTI3MWMwMzIxNkY5IiwiMHgwZTRkQWRmMUJhOUFFZTYzNzkxMjliYWUyZkNiMDlGMWIzODVlN2VmIiwiMHg1N0NGOTY1MDVFRjlFYTVEMDFFMTQxNzJlN0ExM0NhYUFBYzgyQTQ0IiwiMHhiZTE5MDNDQzdENTQwQjk0QmUxYkE4MUZmNDUwODRDNEQ3ODhhZjVCIiwiMHg2OTAwZGY0OTg0NUMzMURjMjExZjVCZDBmNDZCMWM3YTczOTIyYzlEIiwiMHg0ZDRGRDU5MTM5ZTA3OTBiRDE4MjkzZjNiMGI4OUQ4NDBhQzE0NjM4IiwiMHg0YTQzNTRGZkRkQjI1NzY3MWFjMDBjZENlZGVmODc1MDNhQzZCMzUyIiwiMHgzQTIxNmRCNDYyNTY0M0RiMzY0YkI5NTNiNjgwNzhGM0RmMzY0NTk1IiwiMHg0NjQ0ZTJBNUU0NjVjN0NiMTVCN0UxNmI2MjcxQjYwMUExNkMwMDU4IiwiMHhjNEFiMDg1MjQ3Mzg3NUJGN2E0NDUyN2RCMkQzQ0YxRGM1MzUwODExIiwiMHg4ZDFBODc2NkJCNWIzRWRjN0U3OTcwOEM0MDQ3ZDViNUU2NDIxRmFGIiwiMHhhNjkxRjcyZTAxMGRhNzE1NjQxYjE4MDNmYWZDMkM4QTQ5NzQxZDgxIiwiMHg0RDgyOEZmRGM1OTYyMDQ1YmQ4ZjAyQUEzRDM2YzBDRDNlODVGOTc1IiwiMHhBMDc4N2U4N0IxMGM5QjFiODhkNzU5MTVhQzhlYzU2MDhBQzZkMDU0IiwiMHg3ZEJkNTFBNTQ4MTJiYzIxNmRFNThjZTE0RWMzMzJBODk0YzRDQjExIiwiMHg3M0MxM0RFRDIxMDk0YkYxRTRiOGZCMjVBOEVFMDlkNDA4M0FkOThjIiwiMHg4RkU0Njc1OTFGMzc1NjJlNGFlMGM2MGFmQjUwYUEyYUI0MmM4Y0U5IiwiMHg0NTBhNDU3ZjMxMjFhMDExQkZhMDA2OWMxYTEwM0UzODFmNWRjNWQ5IiwiMHhCODJENmFhQWM0NmVkMTAzMENDODhFQjZGNTdCNWU4OWM2QTZhMUU0IiwiMHgxNWEwNTNmQUI3NmQ2RmY4RUZBQjkzNDUyN2ExZDAwOTViOGMzZkYwIiwiMHhFNTQ0NDdGQWQyMTQxZTc0YTJmY2VCMEU3YTRiOTk4RDFkODFDMEYyIiwiMHg5MDU0NGMzZjg4RDBhOWUzNzRFRDM1NDkwMDI4ZjQ1NjQyYThCM0YyIiwiMHhlN2IxMTcwOTFBZTNBMWJlQzlDZUZENjkwOTMwMzVjYTdGZTI0ZjliIiwiMHgwZTBDM0ZiQTI5ZTgzM0NFMzM5ODBDRDg3Qzg3MDU3ZUQ3OUY4MTQ4IiwiMHhFMTVhOTA5OGM0MTE3RDcwNWI1NTU3YTljZDdENzM0ZDhDNDE3YmVDIiwiMHg3NUY4OUZmYkU1QzI1MTYxY0JDN2U5N2M5ODhjOUYzOTFFYWVGQUY5IiwiMHg0ODA2N2ZFQTI0NTNmNkU3OUZFNTg1QjdhMDIwMEFlOTdBZDVEMTBhIiwiMHg0NUYxZjQ3RDRhRUU2NjI0RjAwM2Q3MEUwNjA2M0IyMGE4YTdGNjIwIiwiMHhDNTY2ODI0MjAyYjRGRDA5MTg0MDkyM2I0ZmJmODJkMTFjYWFmM2Y1IiwiMHhiM0I0MEIwRjQ1M2NlOGQyM0YyMTU1NzA4NmY2ZDU5Nzg3YTcxYThkIiwiMHgwMGRFOTVFMzc5N2VlRTFhMmRGNkM2MmJjZEJDODAxM2Q5QTBmNkVhIiwiMHg2NTRGQUFjOEM5OEYzNzFGMjA2MEI0YkMwNkMyNWM1M2Y3M0FFNUEzIiwiMHhGMTFDNmM4NjU3NjcyNzQ1OUQwMTU5ZjI1MDg1OTA4RDU2ZTM3M2Q5IiwiMHhjQTQ3YkRCMjIwNWIzOTE2NDE4YkU3M2FGMTEwMTI2RWQzY2U3M2RDIiwiMHhmMmI3RGYzNTVkMDJmNzlhMmE5RTE4MzU4MWFCY2Q1NTkwMDY4OTliIiwiMHhBODAzOTk0NzMwYTNmOTE1REQ2MkEwNzEyM2M2MWI2ODEwNEFFN2VDIiwiMHhFMGIyRjFCNWJBZDQyMTk5QWI4OTk5MTY4QkMxMUE2MmQ1NkJmZjE3IiwiMHgxZTNiMmExRTFhNmYxMTQzMzc3N2Y3ODA0MDM1N0YxYjYwNTFkRGYwIiwiMHg1OTA5YzE0OEM4MzVmNTJGMTUyODg2REZFODdDQjk3NjliNkNhZGM4IiwiMHg0YmU4NjAzOTAxQzQyNzI4YThiQTQwMTRmOTViOUVlMzYzQzBjMTE2IiwiMHgyODM1NmNCNzc5MDJCYThlMkIzMEJDOUYyQzJFQzhBZDc0OGY4NzAwIiwiMHgwRDY2ZDVGNDAwMDIyZjkxZDQ1MmUxNDAyQUUzOTIxNDU1MzlkYmFEIiwiMHhCNDNCMTY2YWVlOGFEMTE1MjAyMDU0MmY0NjVlMjcxNzVGMmZDOUFjIiwiMHg1QUFGMWFBNzlkZTkwRjk2ZWVjOTRkMEFiNEFFYjUzNUE5OWI2Qzc2IiwiMHhkRENlZDQyNzUyOWM0QjVCNzgxMTk0NUQ3RmNBQ2Q3ZjkyZDA2ZjJlIiwiMHg4MGZEMjFGZjRBMUZGNzcyN2ZiODFFMDk4QzUwNjJiQTQ3RmU2N0FmIiwiMHg2OTM5NTEzOUYyNjM4NDJmMkUyM2Q5RmJkMzhjMTFmY2YwREFENzZmIiwiMHg1YjFkYWEyNDFiNkVGZTg2RDAyNDY5RDY4NGE4NTdFNmI4ZDU5NmJCIiwiMHg1Y0NhMDE0YzA1NzQzMjhlMzY1RDZDRTkzNWY0YUQxQTQ4YjRiMTJFIiwiMHgwRjBkNmE1MTNGZUQ5MkZDRkVBMDFCM0QzNkJCZDBFQTljZkNEODZGIiwiMHg4NTNhNDNDQzY1MUU4QjI1ZTc1M0VFRDE5RGRFNjhjNmE2Y2FiMjU0IiwiMHg5RGZBMURmNjFDYTA0YzI3MjY5MDEzYzY3NTVGZTNmMDk2NzkwNmM5IiwiMHgyRWI0ZjUxOTU2RTU3YTc4NjhjMjE2N0Q3ZjYyN2UxMkFCY2QyMjEwIiwiMHhEYTExOEQxM0E4Mjk3NkFFOTM2NmMwOTU3NEQwMEJFQmFDMTk2OTkxIiwiMHhCMDQyQTdjOTE5YUEzMDNDNkMyMDkxMDI3NmQzNGExMjFFNDExMkRGIiwiMHgxM2I1MzlBQmMzMjY0OWEzZjdlZDY2MDI5ODlmYzA2OUMwMDMxRTA1IiwiMHgyODY2OWI3ZDI0YjYyZDkwNjcxRDZDZmY1NmU0RDk1MmE1MDEyQjkwIiwiMHg0YzIxMWE2MDhGODU2NjFhNzI1NjJFNTM4MTQyOUVDQzAyOThDMjk3IiwiMHhCY0I1MEE2MzQ3YUE5RDhFZDQ5MTMzRDA5NDA3MWQ3ZDg0MTUxQjMzIiwiMHhjZDNBOTc3QjUyNzQyNEE2ZDI0QjZGQzZERTg0NDlBYjA0YTNGNDg0IiwiMHg3QTQwRjAzMkYzMDUxQzAxQkIyM0JhODcyNEMzOTIyRTJhNmZhRjVDIiwiMHg0MTgyZTI0OWEyMTRhODBkYUY0MzU4MGQ5OEZlZEJkOUM0YmNCRDMzIiwiMHhiNmQ0MWZjY0ZDNDc4M2FiQjllRjEzY2UyOTdiMzQxNDk5RTNGMEY2IiwiMHhlYjcxNzE2NzVkNjYxNTU0ODNmN0Y2YTZEQzZiYWNkQjk3ZkE1MjIxIiwiMHgxOGYyMzhhOTYzOTJBOEZBYkI4NzA2NWI1MTI5REQwMDE5MmU2Q2IxIiwiMHgxQjY4MTJhMDAwYTYxODVhMWQzNkQ4QzNDMTY4YzBGRmVBZTgwNmRBIiwiMHgwMjljOUYxNmQyMTk0ODYzMDU3MTZmOEM2MjM3MzlGOUM3NUNlYUJEIiwiMHgwQzY0M2E2NkZjN0RjN0VBQ0U5RkEzMTA2Nzg0QzhCNmVhNjE3MTU2IiwiMHhGNjAzNUQ1MTg4NkYxNEE0QTIzMzhBNzI3Yzg3MDhlYThBYjc0ZmY3IiwiMHhiNzU5OTFFODc2NmUwNkU1NGE4RjdkMDdDMzdCMmQ1QjQ0OTE4ZWQ0IiwiMHhmZEFkOTU4QjU2MzlERDZFMjUwMzQ3N0NlRERDMzE5NmY1YzA4QTFGIiwiMHhjQ0RhMDMzRmU1ZTVDZjM2Q0M4QTQzQUMwNTg3ODRiQUIzMWIxQWI1IiwiMHgzODQ1YTM0MmEwMzBDYTY3QmQxNmREZjczOUIxQTY3RkU1YjNGOGY5IiwiMHgwM0YwNThhQ2NGYmU5OUY3MmMxOUU4RERhMTU0MUE0YjZCYUE2NjU5IiwiMHgwZGFmMDFjMGZiNmRCMjM5NEMxY0UzOWJjMjhEZjlCNDVjYTMyMWEwIiwiMHhjYTcxOUY3OEIxNjg3YURBODFDOTVkNzlEYzc2MTQ5ZTdEODdkZTg5IiwiMHhmY2VEODhiZDY2OEFmNjM1MDUxNTM5ODE2NjhDN2ZmRDEwNzVmYjdCIiwiMHg3NUE2MmY2ZDk4QmQ2NzllRjI1YzA2REM4OERFMzY5QTcwRDQ4N2IzIiwiMHhDMzczYTAwQzc4Q0JiNzcxNThEMUVEYTBCRjJCMDQ2M0VmYWNlMDljIiwiMHhFM0I4NEMxN0IxZjQ3ZDQ3NWZFM2VFOWE4YUFFQkU2ZDQ2Y0QzNUNCIiwiMHgwNTcwNjgzMkY0MDI4YTcxNmNDMDdCYmVmNjhFMjI0MGUxMjdGZkJGIiwiMHg0NjBDODhlZjQ2RkVmODEwNkNFMjA0YjI1RTJGMTQ5NTNlNkNFY0M2IiwiMHg0NkEyMWI0MmI3MTYxNTY3NzkxODFDMWZDMmRhMjI5Q2Q0NEYyM2E1IiwiMHg2MkY0NTgzRWU5REVBNTk3OWI1NDJkNEM5REFCMjJmYjkyOTJlMUMyIiwiMHhFRjZhRmZFOTZjOTExRThENjkxODA3MzQzN2E3RkY0NzJkYUFBMzQ5IiwiMHhDMUREZTgxYzUyMGVBMkMwMEZFNTIxM0FGRmExQzIxMTZmRDA5MGZiIiwiMHgyMjA5YTVFMzZiYTU0RDM4OUYwQkU0MjFGOEIyMEIzNjhkZjk4RTkxIiwiMHhlNGYyMWMxNmI4QjdEMEQyQ2Q2OUU2NEUxQjM0M2M5NGJEODExZkQ3IiwiMHhCMTU5M2U5OTQ0RmMxYTU5ZDYxMGE1ZjIwMjAwNjFDRjg1NjczZGNmIiwiMHgyRUNmMUY2RTRiQzkxMGUwQjc5MzZjMUEyYjY3NDU1MWMxMjJEZjE3IiwiMHgxYjI2YkUxMjU1YzgyODhBNDRBMmRlQUI1ZjRjZUZCYkQ1NTY1OWJEIiwiMHgxZjljMDkzNTgxQ0RBQzcwMDBjYTc3Y0E3Mzk1Qjk0MDAyQTc3MTJkIiwiMHgzNDIwY2Y2QmJkZGY1NEVmNTFmQjliQUZlQjViRDZBZjg2MmE2MDAyIiwiMHhDNzlBYWUyZjFiNWUxZGU0NTJDNEExNjM4NjMwQjc3MjgxNEI1ZjY2IiwiMHg2NDczQzE4ZGUwNTI5MmJjQ2ExYjEwMTkzYzMwNDQzMmVENmUwMjAyIiwiMHg5NkZEZDdmNjVhRjM1YTcyNEY0NGNDMjA3MUZlYjA2MEVGMjdFN2I2IiwiMHg5ODU2Q2E1MDVDNGRkN0ZCMzQyMDRBMEY3MTE1MWYzZjhDNEY5NDk3IiwiMHgyODc0NWFiMEMyMmY3MDQ1MTdDZUJjYjExMTlDNjEyNDE5YzZFRDZGIiwiMHg0M0ZBZTc4NTliOEY5MDViZTNlNTRBNTE2NTY2ODIzMjk4Yjg3ZDFCIiwiMHg2MTcxMGY3Y2EzNDkwQzYxNDNFNGU3ZTU1MjJCNEUwNEY5QTA4ODMzIiwiMHhFRjYwNDg3M2NGY0VhRDZmMDRkNzJiMDU3MTg5QkYzMmM4NjYxRTJiIiwiMHgxMGVCRUFlZTg1NTlhNTIxMTJiOTEzZWNFMjA2MUY3NjZGQzI2MkRjIiwiMHgyQjljMzk5ZUMzMzhCMDYyQ0FGNDg3NzNFMjhlYmQ2NERiMDk3MjkxIiwiMHgwODlDQTcxZTlmZTM1MGY0MzBjMmJkZTdDZUZhN0Y0ZWNCRTU0MzJEIiwiMHg1RjI0M0NGQjA1YWJFMDE2ODNiMmEwMzNEQmUxZEY3OTJENEJBM2E0IiwiMHhBNjkzNzY1MzIzN0RlQjcwMUY2OTAzOTdhNzBDMjY2MWJGNWFjNkQ1IiwiMHhENzg2YWEwMzhkNUQ3NDk4Y2QzNkE3MTA0ZUREOTg0ZmU0MGUwNzhCIiwiMHgwN2E5Nzg4Yjk4QTZGYjVBZWQxNTBkRjhEOGU4RWI3YkQyOTNkMjMzIiwiMHgwYmNFQTNCYTg4NTM5NWI5NTQzMTYyMUY4MDdCNTI5QTQwZjE3MDRmIiwiMHg5Q2M3MWI4NkE3OTBkMDk2Q0VhOTBjZmJlZDU4ZTc4MDY5Njc1YjI0IiwiMHgxQzlDMzIxOGI1M0Y2MmUwMUIwYTE0YTIzYjgwMTVCOTU2MzNjMTAyIiwiMHg4NDE0RTczRDEwRTNBREMwMEU0YzIzQjJGNDU0OWFDMDRmYTAxRjQ2IiwiMHgxYTM4MjExQTJDRGY5MTFFMDAxZDZmNDA0QmFFOTAyZUQ4MTMwZkY3IiwiMHhmNTIzQzNBMjlCMDZlZTNkMDM0NDYyNzkyMDlkZWFEMEY2OGUxMTk1IiwiMHg1ZUFhMDcxY0E0NzUxMGI3ODE2QjRjRTI5NkNDY0Q1MGRiMDI3QjZBIiwiMHg1NTI2YmZmODRCNzg3OEIyZUM4NzMzMzNEMzM4QzdFYjM0N0Y2OURBIiwiMHhDMDExMDkzNjBGQjg4NWQyMEFhNkRjNGVjN0RBNWZFNWY0N0YxNzlkIiwiMHgwYjkzMzQ3MWVkMGQxRjhFMkI1N2U1ZTc2QzEwYUU0QTZjMUEwMzJlIiwiMHhmM0Q4NTE3NTAzZUNCMTUwOWJBMGI4RkIyNDNmRDBDYWU1NTQ2NzRGIiwiMHg2NDk2NUVkNEU4MkI1NDBkNzMxMjNkRDk3ZjljM0YzMzIxYUFlOWJGIiwiMHgwQjY4RjBhNjMyOGNlN0MyRjcwQjM3OGIyMDhhMUY1Rjk2OTA5ZEM1IiwiMHhBNmU4ZWNiY2E2Q2ZjMDYxMGQ4MDkxZTMxRWY5NzI2NzY1MzdGQzlmIiwiMHg1NTBlN0FEMmJDQTMxOTgxRjI0OTE4Y2I4MDY0NTcwMDhjMkIxMWJlIiwiMHhkNUQ5MjkwQjVkNTk5NTdkNEMxQzQ2RTA2NTUyMGZFMDYwRWE1NzdDIiwiMHg0MzFBYzhFNzdCMDQwNjlGYzYyM2E3ZjM4MjJmMmVEZjFhNTlCZmZjIiwiMHhBNWU0RTIxNTllMkY0NUVCRWMyNkY4QzREMjJiZTYyOGE1ZGY1MUM0IiwiMHhkNTQwYzExNkFBNzREODAxNzEzODE2Mjc3YTg0YUZmRWJEODk4OTgzIiwiMHhBZDU5NDFDMGMzOUQxMjUxYTYxY0JFMjBlMDgyODM4NzIxMmEwOWQ3IiwiMHg2OWMwNTdGZmVhOUZDOGMzNmEzMTdjQTFFODY3NDMzNDk4MGMzNEI4IiwiMHgzOEUyRUFENzk2NTA2NWI0ZUFmNTM1RkIzMjBGODIwOURiZWJBN0EwIiwiMHhiRjE4QkRCODJlOTIzNjIwOWI4Yjc3QkFCM2MwMjE0NzA5MUNhQzI2IiwiMHhhNkNlNDcwRTFFQjEzNmMzNzJBZTA0ZTU3MDQwQzk0OGMxNjFmMUFhIiwiMHhhZjQ1NjZiRkExMWE2NUMxNzI4QzBBMzU4RjFFMzhkNWMzOGMyMDcyIiwiMHgyMzc0ZTlBRThCYzc4RTM5Q2ZGY0FDMEY4RkYyNDcwQzQ0NjliQUFEIiwiMHgyREY0M2Y4NWUwMzMxMjlGMEE4NzNDQzc0NmVEQWIyNjRmRmM4YzNhIiwiMHg0RDc0YUMwMzM5OGZiNzNDNTA1MDQ3YTk4ZDYyMWFGNDM4ZjQ0RjljIiwiMHhhOGRmOEIyOEEyMzczYmZjMUQyQzExRTRmYzUxOUM0NDZBRjJkRjQ1IiwiMHgzOEM5MzYxNmExOTQ0YkYwMGQ2YmNiNTQ0RGNDNDJCNzU3MUUzQWMzIiwiMHg2NzZDNkM2ZThCMUFBNUNjMDU1QTI4QjYyOEEwQWVlRDBhMzAwRDEwIiwiMHg3Zjk3NzIzYjUzMEMzOTg4RjBiY0U2MjZlYzZlNGQxRDQ2MTdEZDZiIiwiMHgyZTkwZjlhRjdmNkU2QjQ2NWYzMTBCMzg2MTZlRjY3NzYyODNFRTQ2IiwiMHg0MTVENTliOTUzYjIwMDg3NjEwQkJiMDNFODNmNDVGMzQwMTYzM2UwIiwiMHgwNTk4OUU2QTk0NDQwMDA3QjA0RTkxMDUzMTFlMzUxNzcyMTYxMTA4IiwiMHgzRUJCMWY3NzgxOUQwMzFkODQ3RWZCYTg4Qzk1QzYzMWVEMkVDNTljIiwiMHhEMEEwMEIzZERCQmI1MjNBYjIwYmE3ZjAwQjVmZUYwNjRDZEM5NjUzIiwiMHgzMjg1MTEzNTEzREE3ODc3NDA2NkJjYkZBNzQ4ZGQ1ZDU1QzE0MDBiIiwiMHg5OTQxODNEN0RFYjY0MzZhNzc4M2Q5ODQzNWUxRjM2RTU2OTFFMDMyIiwiMHg0NUY2MjdmQTY2NDBCODUzZTJkRjc3QjliNkZCYzM0NzUzNzFCMjVjIiwiMHgzODBDZjkzMWVEOTJiMDhhNkQzNTliNjNCYTdlRGFmMzMyRTU3MzM2IiwiMHg2ZWIwN0JiNjI0ODM4YTQ1RkNCYmE4NmU0Yzk5ODEyMUIxRDE3OUMxIiwiMHhjM2ZDOUJhMzZlMjY4Njc5MWRGNzA5MTgwMTEyNjUxNTU5MjE2ZjU3IiwiMHhBMTQyZGFBNTAxODQ3MTA2RUVlREYyODYzZkZjQmQzYkMxMzFhNTQ1IiwiMHg1NmRFQkRkMzM3MTI5N2JCN0I0M0E5NTA5ZkQ5MWM2MmJhOTUxQ2M2IiwiMHgyNUJkZjY1NzUzMkMzYjVmZWQxNTZDMDhDYTlGMjNkNGY3REQ1RDBBIiwiMHgxNkVBOTUyQzFkNEJCRDNGN0MxNDVmRDc4QzRmMDEzQTYwOGUxZTc4IiwiMHhDQzAxZDlENTRkMDZiNmEwYjZEMDlBOWY3OWMzQTY0MzhlNTA1ZjcxIiwiMHg5NDAzMTE0MUE2RkY4MDA4ZEFEQTY3RTdjQkVBQzVEMUVFMzRmNDYwIiwiMHg0MzYxOTY2ZDZiNjEzNzU0NDg3ODY5OEViQTg0QjczQkQxODMyZjVGIiwiMHhmQjE4MDIwM0U0RjcxYTk1OUNkOTJjODk2QjA4QkI5Q2ZDYzRmYTNGIiwiMHhkNTE5NDAwNTI3RTg1NTA3RmRGYzg2OTU2NEU2NDMxRWU5MTg3NjMxIiwiMHg3NDViMTlGQzhhRDg2MjFFNWQ2YWU5MDM5NzE3YjZENzkxODA3RTg1IiwiMHgyNTMxMzMxRjdBMkNkMGVCQTc0YTNCMjNFMWI3NjFEZmRFMjFGYzIyIiwiMHgwNzg3NUQ5NjYyQTM4YzRmMmI1OTgxYzZBMDM3NjQ3MDJDMTc4ZTUwIiwiMHgwNjE5RDBjMzg2MjQ2MDhCYWY5MEExOTNjQjZDMDJlYjZhMjFlMjQzIiwiMHg1MDY1MTY4OTg5MDRFNzY0MzVFM2QwRDE4Q0YxRUMzNThjODdEMEVlIiwiMHg0RERBRTRjQjRhYTdlN2RjNDAwMTUzY2I1NWIxNzM5N0U1RjU3N0M5IiwiMHhBMTMyRjFhMzQzNjZFZjlhRkM3NkFFMzM2NjQ0NjkyYTA1NERjMmE0IiwiMHg3ODJkNGJFZjYyN2E3RmU1RWI3QzFFODFiQjUyMkZjNDhENTc0OERlIiwiMHg1ZEQ1RkM1YUVhOWViRTY3ZGIxRDE3ODJiMDU4Y0UyRDMzMzg0ODQwIiwiMHg3ZmE3OWJkMEQ5ZjhiYURjNDg0NjAyMjc0MWJlNTlCMTg0NGFEODVGIiwiMHhDRDUxODcyNDE4RDU0YTdmNGUxZkI2NjhENTI1YzcxOGJCMTA3ZTBhIiwiMHhBMzA2RTlhMDg2ODhhM0MzMjg3MDA0NTAwNjMyQzI5MmIxMTlmNGJlIiwiMHg1MDQxODI1NGZBNDFFOUQ1RkQwMTRiRTgzZmYyQzRCMENGMUY3OWFBIiwiMHhBMjMyRTBkYzVEMWRhRTc4MjJDNzEyZTY1MzEzNDBGODBkRGY2MkUzIiwiMHgwZjkzNWZGOEE5N2U3RDQ3YzhBYTQ3OGVhOGFiNzM3RURlRDI1Q0FEIiwiMHg0NTNDNGY2ZDNCNTZEOTQ2QzExOTNDMTFmM2NmNkQwM2NENkQ0ZGRBIiwiMHgzNjk3QTRkMjEyZDI1YUZjNEJCMTc0QzgwMkIxM2FiNUUwZGNjZEY4IiwiMHg5ODJCODY1MzZhQTMzOEU5Y0VDZjdhYjAwNTdkNzVhN0M4ZDQ0YTUwIiwiMHg4ODI2REU4YTczNDVlMzcyNjEyQmNBRTA4NDg1Rjk1MjBkNmZFMDg5IiwiMHg2MTk5OTI4ODJiMzk2NjBGRGZmRWEwYkExNGM4NTcyMENGMzEyQTZGIiwiMHg4OUUwYTlmMjY2MGM5MTNCNjNkNEZhMmMxYzVhMzdjOEFFMzhFNENCIiwiMHhhNzY5MTA3MDNmN2Q4NTY0ODhhNzI3RThEZTUwMDk2Y0Y1MzI4MkQyIiwiMHhDNUU1OTYxYTQ5MEQyOWIyNzNmNmFCZUJFMzNjRmQ4OEE2MzM5NjQwIiwiMHgxYWI5ZDRGQjNDYThFN2Y1YUUxNTE5NkNkNkM3OGZmOTFCNjUxMTdjIiwiMHg3ZjQ2YzEyYTdBYzgzNDNEMTE2NTJGZkZEYWVkNDExRDJENDI3ZUIwIiwiMHg3MGEzZTg1OTJFRDQ3MjViYUUyNjk5MDk0RDIwQzIwRkNBYzg1MjUxIiwiMHhkMjFkMkVFN2ZhOGUyZjRlMjFiQzk4QzRiMUY2QzZiRjg3MTRFNzY4IiwiMHgwY0IzNTllMEE2Q0M2MDJhZDQ0QjVFNjMxOEQzOEFkRTAzODA2ODJGIiwiMHg5RDc2YkZkMEE1ZDY2NTUxN0ZlNDYxY0Y3QzUyM2E1MzIwOTMwNkY4IiwiMHg0RjZlNkMzRGRFNkMxYjhEYzY4MGE0RTRjM2YxRWQzZUYwRThFQWUzIiwiMHhiYjYyMDQ5Qjc4NDUzQTA1NmEyNTNCOWIzMjIxNWYzZTIyNkY4ZkVjIiwiMHg3M0JENEI3NGNlZjExOUE0QzVjNmREM0IyODRmQTdjNTZEMWZGYzQ0IiwiMHhFZGIxRkZkMjJiNDVFZGI0NDE1YzEwNjM5NjVmNmU2MDAzMDI1OTNhIiwiMHg0NmI3MTJGQzZFMTIyNDhlZjE4NzQ3Nzc2MjlGNmE0MUM0RDAwNjk4IiwiMHg5MTFENDJGNTZmMjFkNGJjMWU4YzI3MDA3RTVBNDEwN0Y3OTIyRmE2IiwiMHg1YzkyQ2E2MDRhQ0NDMTA0NjZjZjM4YkUzNjVhMmU3QzRGYjAzNjk3IiwiMHg3QkE5Yjk0MTI3RDQzNDE4MjI4N2RlNzA4NjQzOTMyRUMwMzZkMzY1IiwiMHhEQjUyOGRhMWZENTg1MEZkNGE4YTkzNjI0N0QzODIwZTQ5RkE1QkQwIiwiMHg4ZDVjM0E5NWM3RjNmYkEzYzA4NjBEY2YzMzVFMDJkOGZlNzAxMmEzIiwiMHgzOUUwNjYyMmMyYmU2OTVhRjQ2MDVBNjMxQThCMTdkOTExMDgwODEwIiwiMHhiMTQ4YTQzMzQ4MUQzQjYyRjAyMTg4QjUwMTRjNEZjM0I0MGNlMUQ3IiwiMHg3OEE4RTVFM0NkZTdCZDdjNDhhNjYwMjFiMzlmOTRhNWZjNzZCMTBGIiwiMHgwOGQ2MmY1QjgwQTlEOEQ4MUI1QkY4YzUzNTkwNTBjY2IyODBjNDY2IiwiMHgzNDEyMjMwNjk4YmM2YjMzRDJlODc5ZEY3N2IzRDNmRTY5ZDVCQTQxIiwiMHg4NzU2MEFCMzUzQ0IwMDFlRjU0MzlBQ0E2RWM4Zjg5YzZjNTdEQTAzIiwiMHgwQ0FFQThBMjk1OUQwMDVlZUYyRUVkOTY5ODRkMzBGMEY5OUREMjgyIiwiMHg0YTY5MzVBMkFGNzY1QzMzQzBDMjkzOURDNDFjNzFCRGJBMGVmZUJmIiwiMHhDMjJCRTRjOThiZEQ2QUFhZjNiYmQyYmZjMzA1OUU2OWMyODYyYzMxIiwiMHhkZEY3RTlEMkE1MTliNDExNjgxZTRlOTgzZDY0ODEzOTFiMGE3ZDgzIiwiMHg4ODY1NjI2ZmMzNjY0MUE5NTlGMzQ3OTIwOGQ2QkFjMTg5YkRENDI3IiwiMHg0ODhmY2NGREU1MTdFNjJGRDRGN2M2QkIxMWE4ODBlNzdhNzhFQzE1IiwiMHg0YjY3YTc4YzQ0NzU0QTg3MTgyNzQ2Y0VlRjg1YzUzMzM3YkI3M2RBIiwiMHhCYjVEMEQ3YzQ0QWI1QTZGZjI5QjczMzJhQzc0NEZEYzlGMkQwMjdCIiwiMHhENEFlNmVhZTE5Q2VCYWE3QzU5OEY3RDFENUVDMDQ1NkY5RDFhNjExIiwiMHg2MjU3YmU0OTQ5NUEyNTEzZjFiZkNmNzNBM2ZhRUI1NDg5NUY4MWNjIiwiMHg1MGZjMDA0OWJmRjFjNDJmOGFEOUMxRTZGNGQ0NDE2ZTg4REU4YzI4IiwiMHgwN2NkMmQ2MDA0ZTRBRkFBOEE3NmY1NzkyMDIwNGU0ZDZiZWM1NGQ0IiwiMHgwQzA5NkE2YzZiOTI5MjM3MzgyZTVCMTUwNjA1Njg5RDAyNDBlNkU4IiwiMHg1NkM3RDQ5QzYwMzgyOGVhMmJhQkIyMzMwYUQ1RkY4MmQ5NjY5OGY5IiwiMHgyRkZDNmNFQTA1ZDBjMmUyMzAxMjIyNjkzOGZhMkI4YThlNURFNWE1IiwiMHgwRTE1YjdmOTQyRDVCMDY1ZEJkM2Q4YzcxOWFBRkM5YjU3ODgzNTM5IiwiMHg0NzhjODljNTVGMkYyM2ZkRkFBMDYyZEEyMTg0YzcyNTNFQ2YyNGZGIiwiMHg3OENhQ2Q1MjQzM0Q3ODY0YzczMjI1ZkRCODllRTIzZEM0RWYyY0FBIiwiMHgxODE5MjhiYWZCMThlNkEyMTNkNjJFMmU3ZjBBMjQxOWFCM0YwZWM5IiwiMHhCYTU3MWFlMUU3NEQ2MkMzMDVmNjkyZTYyQTk0NkU2ODVERTBBQzY4IiwiMHg5N2UyN2U4MkVkN0M3YmIwYzk2NGU5OWVmMDZBNDgwM2U0QzEwNkVFIiwiMHg3NzhkMDVCM2I5QTBFMzFiMzhhNzVCYTE3MDg5MWU3MDY5MjRDNjBEIiwiMHhBZTU1RjIwMDIyYkZCOEIwNDgxNDI5RmJFNTZkN2M1NTZmRTM0N2Y0IiwiMHgyMEVGOTVDRkY1RGQyNEI4ZjM3MkU2NUU3RDNkMDlEZTdFNDU2ODRjIiwiMHgyRTU1NkQzOGU2OTljMERmODNhOTBGODQyMmFlYmY4NGNGMzgxNjAxIiwiMHhkNTI1MWE2NWYzZTEzNUYwN0E2NEREMURGNzg3MTg2NjBjMGI3QjYyIiwiMHgzOTgwMzgwMkQ4ZmZlNGU5NTgzMGVmNGNmRmIwNzcyRGU5QzcxN0JhIiwiMHgwYTZFNTc4NTEyNEFBM2ZhNURCMWQ2ZDdkM2NhNTAwZDBBYTlGY2MwIiwiMHgxNDM1NTlGZDMwYzA1NUY4QzkzN2RFMzQ2MGE2MzAxMDA3MDFBNjQ0IiwiMHhBMDNDRWY3MTUzM2VBZWJDRkRCQ0MxMDQ4NzI3ZkZhNEMzM0FiOTk0IiwiMHgxQWU2MTc5RWFjNkM3YzFEOTY0YzNENjg2MUMyYzc3YTg5RjdlZjg3IiwiMHgxZTkwRDM3NjgwN0FlYzc0YzE3ZWRjQmIxMzdDY2YwMTdlYUZGQzk5IiwiMHhhMjNmRGMyMDVjNDQ1RjE3ZjAwMjNhOTg3QTA2NTRlQjliQUU5NjMwIiwiMHg5Nzk3Y0M0OTVhNUJlMzM0ZkU2NTczQjVFNDM5Njg0NGVDQWE0QWJCIiwiMHg4MTFBQjk0NmNmNGMwMjM5NTgyYUE4M0UxMDQ5YTA4RENGNkIzNjJlIiwiMHgwMjBBNzcyNjI1ODg1QmMzYmU0ODgxOWVCOTk2OGE5OTM4MjJFNDc5IiwiMHgwNUNhODc2MzRGMTUwQjlFODY2QmMwNDEzQzc1NWQ4QzcxMDBiMzcwIiwiMHhmNzIzOWEzYkU2MDdhZDg4YTA2ZUFlRTM3QWUxYjkyQzFCNDQwNTQ4IiwiMHgwRDc1OGYwOGFlMkU2ZTI2NjlkNzhlMDY3RUJGNDUxNzg3ODIwYjRlIiwiMHg5MDkzMGE3NDlBOWJFOUJBMTE3QjdhOWZhYjhkOTAxQkFlNGFkYzk5IiwiMHhCMWQxMTdDYkFlNDcxODVjNTQ4RDYyMWE3YThDNDg3OTY2OWFFRDMyIiwiMHg1MzQ1NWYzQjU2NmQ2OTY4ZTkyODJkOTgyZEQxZTAzOEU3ODAzM2FjIiwiMHg4N0U2MjFiMmQ4NGRDMkJlZDlkMmE4MzNmMEY0RTk1NmYyQzU2Mzc0IiwiMHg0ZmIwNDIwMkFENkQ0MjE0YzM3Y0MxYUVkMTYxQWJDNzdhNUU4NDRBIiwiMHg3Mjg4NzJCMTg2N2E1QzdENmUyMjVhMjVkRTYyRTNBMzZCZUFBOEJjIiwiMHg5Mjk0Qjg2OWM5ZjQ5NmE5NkI1ODg5MUFmOTk0MmNDYTg5NjUwMzlEIiwiMHgwNTBjQzczM2M4NWJFNzFkNGE5MDIxMTlEZDI3MTEyZEZkMTQyNTg4IiwiMHg1NEFFYzc3NUYwOEZFMTRFQUE3NDhGQkJkZTM4NkIyMjQ1QUI3ZjBiIiwiMHgyNjNmRDQ0ODQxRWYzQjY4NjkyMjA2QTRjQTU2NDhBMUI1MTc1OUYwIiwiMHgwYzk1ODdFNTdFNUVmMWFmMDEwY2JiQTI1NDU3ZTBiMUNmMWRlOGU5IiwiMHgyM0RiYzBjZkUxNjc5MGJENmNlZDEzOUFBRTM0N2JlZDc1MjJmNUI5IiwiMHhjM2NjNjRjZEUxZTk1NkYyYmE3YjdmZjRhNEI5NDcxNjJCRmE4MzIxIiwiMHhmODZFRThCMjU4Q2I3ODA4MjRiQ2VlOUVhNDQ0NTE2OTU2ZjVkOTU0IiwiMHgzMjJmRWQ4ZDVBNUE2QTkwYzIzOTlmMkFlZjYxMTM4QmY5MEU5NzhjIiwiMHhFN0UxRjU1OUJERkVCZWYxRWZFYkRGNDM4Y0Y0NTNkMUQ5YzM2Y0Y1IiwiMHhGN0NBNjZkMjgxMjhhZjJhNTRjOTRlZEU5Zjk3NDk0Q2U4YjE3Q0E1IiwiMHgxNTI3YjRBZTE1MTZDODIyRGNBMjc3NkQ3ZTk0Mjk5QTdhRWI2ODdCIiwiMHhBMjA1YjA3YjBCOTkzNzUxY2QzODJlOTc3N0VlOTQ2NDQ3OUZhN0JkIiwiMHhFMDZhN2U1NThFMTFCMDlFNTQyY0ZlMGM5QzVmNzk4NDZDYTM3ZTkwIiwiMHhFNGM3NzhjNUU0MzYyMTk2MkQ2OWQzZjJmQThEMUYzRDE1MmUwZUYxIiwiMHgyMTU4MzIxNjExYTA5NDcyOTNlOTFBZTM4ODczNDI5MUMwZjBlNENDIiwiMHhiQkExNGQyNkMyNWQ4RkQ5ZDNmYTRhMDlmQjI5ZTZhM0Q2ZEIwOTFlIiwiMHhDM0ZCMDNmQzU0NDgzYzk4RjJhYTExNzVkMzFjMzdhQzRkZmI2MUI1IiwiMHg0MDQ2MDdBMmMyNjViNjA2ZkNlRDJiZTIwOThkQjc3YmU1ZUUxMTY2IiwiMHgzOTUyMEJGMzlFYzYwNzk1MjExRGQxMkMyNjUwNkU0NjU1YmIxNmRiIiwiMHhkZjQ0ZGFCNmY2NEIwODMwQzBmOTlFZTZjRDk5Q2M4YjUzM2FiNzhkIiwiMHhkQzYxNTExRGE5NjlBMzJBMjlEYTU0NjRkMWJjNzFjNTQ2YUM3NTc4IiwiMHgwODVCRjY3OGI3ZDYwNjBDM0YzNEVkMjk5ZEYyNzI3NjNFNkZmNWQwIiwiMHg5YTFGNTdCNkFGMTI2M0M2MjVFNzY2YTE0QjgyQmY5MDQ0RDIwMGRCIiwiMHg0NzZlMjYxNWY4OWVkNzNFNjI1YzlmMWFjN0FGRjMxNzdjRTU2RUVhIiwiMHg1MDZENjk2RjgyRTM4MDRiMzExMjljNzA5ZTA0NzQ1M2VEYjY3MzJmIiwiMHhDNmZjMkQ1MTAxZGE0NjI4REI4RDA1NTc3NmFlMWE5MWZhMEM4Nzk2IiwiMHg2NzNmMWQzNDlDMTE1NTVlRDhEYUYyYWUyZDM5RTY5QkM3OWE1ODYzIiwiMHg3RjM3N2RlMDQ4ZjhEODE3MTg0MjMzQTFGN2MxYUU2M0UxMzk5Q0Y3IiwiMHhkZjRBRjFBNjc2Nzg2ZjgwMDYwOWQ0QTJCZDkyZjhjOThCMzQyMzY2IiwiMHg0MzcwMjk4NzA5RTkxNzJhZEYwNzU5NUNBOGZDOWQ1ZkIyZjIyZmJmIiwiMHgzRWVCNjM3MzNjMjg2OEQyZDVhNEI0NzIxOWJFNDRkZEQ2ZjQ1RWFiIiwiMHhhMjdiZjBFRTRiNTg2NzRDYzU3MUNlQTcxM0Y1QTlENTgzNDNhODVlIiwiMHgzQmNiYzVCMjc1NTlkNDU3MWZFYjUxOWRhMzg3MjY3QjUzQTIyQzI1IiwiMHhFOTk1NTQyQTU4RjQ1QmI5ZGMwMEEyMTFBMjRhM2FFNzg2NTM0MGE0IiwiMHg2NjQ0MGI0Q0IxMUU2RWY1RmI0OTMxMWJDM0ZhNjE0OTZlQ2FkNjk2IiwiMHhFMUQ5Nzc4MEJENzUwYTE3NzkxNzk3ODQxMzlDMjY5QTc1Mzk5MGE1IiwiMHgxMzYzNENFNDBkNjVFMzI2NGM0NTg1MTUxYTlkM2RDNjNmMjE1M0Y4IiwiMHhkRTRDN2JCOTYzNWM0ZTlmRDVEMDkzRkUwMDg3ZTUyNDZlRkUyNzE3IiwiMHhEZTE1QjRkOTU2MGJiMjI1OUE2ZUZFN0Q4MDI2ZkNmYUM2NjY2QkRjIiwiMHg5NDAxODRjN0VhMDQzMjIzZjIyNEFFYmNmNDA4OTZhYTIwMzUyNDQ0IiwiMHhFYTUyNWQyQzk4QmEzQTY1YjdBMUVFNmMwYzcyNUE3MTdiMDg2ODhiIiwiMHhEOTRBNzkzMWM5N2I1YzEzYTM5NDgzQ2E4Njc2Njg3NDYwMDI3ZjdDIiwiMHhDN0YyRDRmM2QxODRjM0Y0MzBiOGFkNTMzN2Y1NEUzZTM2NGQxNmE4IiwiMHhGNEEyYkFmNDBiNzM3MjdFNDZCQjNBQzlDMGMwREU2MGY1QjE5YkFDIiwiMHgzMDA2NjkwMjAzMTIzRDUzRjg4MkJGQzBmZDc2ZTRDOGM1ZjI1OGRhIiwiMHg2ZmJmZDMwNkU2NEZkNDMzYThmNGY1ZDA2NDg0NDlmRDIzODFFQWM0IiwiMHhCMEE0YkYxRDQ2OTBENmU3ZENDZmQwQzM5NjEzODc0Y2IwNTFCMzNGIiwiMHg1NzZDZWE2RDQ0NjFmQ2IzQTlkNDNFOTIyQzliNTRjMGY3OTE1OTlhIiwiMHhCRTQ5MzBhOTNmNzEwNDM4MjYyYUI4ZDBEZDg3NDNjMjcxNWRkOTQzIiwiMHg1YmFBNGE2NGZCZTEzMDJiRjcyZjJkMjc5QzQzOTc5OEM3YzNiNDFBIiwiMHg1MTdFZjk4REZhZUE1NkI1NDA2Q2Y2NmNGMzMzMUYyNjg5MGZCMzM0IiwiMHhBQ0ZlQ2IxNjUwNzlFMWQzNWE2OTA3MkExNzFGRTdFOGVDRjA4M2U3IiwiMHg5NWVjMWJmMkE0RDY1YTg2ODE2NDNGMjFkOThhNjU5NTQ1ZDAwNjNhIiwiMHg4MGM4NTFEMzA1QjMxOEFGZkFmZGI5ODI3MTZhOGM5NUM4NjE0YTk1IiwiMHhCMTUzMjFGNDVkYmJlODIxOUQ1NzgzQ0FBNzUzZTNjRjA5MDIzZjVCIiwiMHg1YzU3NjRiZDIwRDBBN0JhOTkzMzBmMzMwMjE3QzM5ZDk1ODI3NzA1IiwiMHhFRDAxZDAxNGYzMjgyNDAxM0E4RmRCY0NiMDg0NGI3NmU5RTE3NjMwIiwiMHgwYTE1MkM4NkUyMTdkMGJEMGUyYWZEODMzOGU4OGY2Yjc0MDJkNTNjIiwiMHhFZTBlYTg2NUFERDBGNTdkRkMyNDk5RmY1RjM1YjA2NUU5OTcxOTMxIiwiMHhDMkIwNzQyMzVFMTZlRTY2MjBiZDQ5OTY3MTc2MjhGMDgxREViYWExIiwiMHgzNGQxQjhhNkIzMjM4NTVDM2NENURDMzk1MUUzODVEMjQ3QWFkOTMyIiwiMHg1RWIxYzBiNTQyQ2EzMjJjN0Q3YTA4ZDdDQThCMTBFMzUzRTA2YzEzIiwiMHg0RTE5QjVjZDY1ODljMGI3MjA0RjM5NTExOUNENjE5YjI3MzcwNEFBIiwiMHg3N2NmY2Y3Q0YxM2M0Q0U2MmRGYTU5NTJmRWM5MDgwNTI0YkIwM2FDIiwiMHhkNEQ0MTQ5NzNhNDk5YjlFY0ZEODU1ZTBBRDA2YjUxRmE5ZkY5OUE5IiwiMHgyYzNBODZDOTFCMWYwOTJEN0Y3ODkzMWVGMjRGN2EwNGZBYTJhYjdhIiwiMHhjMzhGNjMyN2NlM2Y5YjMwODhiNzcxZDFhN2E0NTY3MDliYzMxRGVlIiwiMHgwNjhiMzYyNjdGQjU3MjgzYmVBQTRFRDdlNzc5QjEzZjY4OUNlQzE2IiwiMHgwM0U2NGE5MzRhRGQ5OTQ1NDk2MzE0NTIyMUIwOWNCODRmOTkxQjIyIiwiMHg0MDA3RTBjNmZhQjEzZWE1YkU0NmRENUZhNDE0NjgzM0Q4ODYzZGQ5IiwiMHhmQUFCNTIzOEY1RDIxNjNFMjU1MThCMEMxYUYyMDVkYTBmNzgzZEQwIiwiMHhGNTM0YUQ5MkZhMTdlRDY3NUNjMjcyQ0EwMjMxNmFBRjBlMjZkZjhBIiwiMHhmMjNmMEQ5NEI2ZjllNjc4NDE2MzYzMGJkOTY3MEFFMzU0N2E5RkZGIiwiMHgyMDQxRThEOTRhMzRGNDM4MkUyMzREZmEyNDAyQjExQjkxRTYzODczIiwiMHhDZjFkRGVCOWZFOTg0NDg2RjUzODA3MUU0QzVBRmJENmMzOTU5YWNDIiwiMHgyRkIyZDY1NGVDYjlFM0FjNkQ0NGQxZDRFOTE4ZmU4RTc0MTZDMkRlIiwiMHhhM0U2QzBkMWI4Q2Y1NjAzODdBM0VEZDFlODE1RjQxNjlhODdGZTNCIiwiMHg4OGEyNDJEYWFiRkE5ZTA1YzJiODlGODZBODMxQzIwQmJkMUI1NTMyIiwiMHgyMEVkZDIwYzdjMTI3MEYwYmIzZGIxN0RhMUY3NkM1MGZiMjEwNTA3IiwiMHg2Y0U1ZDViYzc4YmYyZDQ0MkJGNGY0NGVkNmY0ZDJiMUIyZTcxQjY4IiwiMHg1RTQ4NDQzNjExRDJEMTc1M0NmNDI3YkQ4YTYxZTBEMjc5Rjk3NWM2IiwiMHhENkMxYTZFMDA1YjU3QWQxRDU1NDkwQThEMjNlZjdjN0ZCNzUxQWYyIiwiMHgwMjk5Y0UxNENGN0U5QjIwYzRGZDYxRkFlZWRkOTkzZWQ4ZWE4NzIwIiwiMHgxQWQ3NUJEYTQ1MEM1MEM2YzVhQjA2RmM4MGIxNzZFODU2NjBFNWQwIiwiMHg0QzcwQ2YyNmI0YTAyNTBjYzE4OEFDZTMwZDJCZjE1MjJhMWYzOTcxIiwiMHg0REVmN0E2YUYzQTM5OEVlNkVBQTYzYTI2ZUQ5QWQ5ZTc4RDMxMGQyIiwiMHg0Y0MzRUM5ZDcxRTFDY0RkMzMwNTQ3NkI2MTg2NTE1MjFhYUJkNTRFIiwiMHgwOTlCNDgzM0VhNjE4OTI4ODE1Mzc5MTIwRTNGNmM2NzQyNWZlQ0YxIiwiMHgwRDdmMzk5QWU0MUQ5YWZlZWE2NTM5OEYzYmVBMzEyNDAxNTViODgwIiwiMHgzOGE5MDRFOTVhODM5MDYzMzI2OTdlODc2YjRGYTU1NUM5QjJGYjMwIiwiMHhkZGI1QmIyY2ExNmFGNUNDQTI2YzgyMTIwRjRhNzNhOTc5RTFBQTA4IiwiMHhjNERGRWQ4MzA1NzgxNjA2YmNBYTZlODBGQWQ4NTcyMmM2RkYxQTY1IiwiMHgxOWRiOTNmMjZDYjZhNkNlMEJBMDZBOWVkNDlGYUJEZWVENWE2RDViIiwiMHhkNGRBZjgxMTdiMUJlMjYzOWIyZjgzMzhBNGU5MDBDN2VCNTBmNTQzIiwiMHhBQWEwQjNDMTlkRjI5MDBlZTlhQzE5NTcyNGM4OWMyMTkxQzdkMDg2IiwiMHhkOTY5YjJFZjdlQTQ5NDU4MTZmMDUxYjlmMTczZDU3QzVmMTkwRGFDIiwiMHhDMDY2YTdkZkVCYkZBNmNjM0Y4NTAwZDM3NjZEM0ZjMWM2ODc1MDVCIiwiMHhEMDc2NzFCN0QzYTE2NGY2Mzc1YmYxNmU3OTU2QjAxNDY4QzgzN0RDIiwiMHg0YWNEQjU4ZkQ3OTU1NmNEMjc2YTA4ZWMyZTU5OWQ0OEExYWM2MjkwIiwiMHgwYUMxZjBjOTk5MUU4QUE5QWVmM2VERDQxRjljMWYyQjg0ODExOGI5IiwiMHg3N0VlQ0ZFQzZGNmM4QmU3ODYwODkxZTAyQ2NEYjk4REVFMUY1N2YyIiwiMHg0NDY0OGQ5RGExMEJiYjkwREZBNzgwNDBiQkY2MjU2M2Y0MWYxZjIxIiwiMHgzQmRjZTBkOTI0MDhDNzJjMzlDMTlBRUZmMDA1NkE4MjMzMDYwODBBIiwiMHgzQjc2YzI2ODgyQkRlMjlmOEFFMDdGODk3MjQxNWM2MEUxRjU5M2Y2IiwiMHg1QTY5OEYzMTYzRjVjQzg4RGIxNjI5MGU4N2MzNzUzODMyRTc0ZjNCIiwiMHgyMkJhZmEyMTc0NDNDM2VGNjRCQjIxMTU1MjVGYjI4Mjc5ZWUzMzdGIiwiMHhFMGU3YzdDRDFkNWIzYzE5MUYzZEUxODQ4QjUwRTc0Y2M0MUIxMjY1IiwiMHhhOWNlMWEyQzViNTcyMmIxQ2VFNTIwQUMzNzNjNkQ5NDM5OTQ0ODQwIiwiMHhlMkJlYjc5ZTJhZjZjYzRGNjUyRDUzMjU5NENCQUMzZkE0NWY1NTc1IiwiMHhFZTcwQmIwNTA0QTc4Y2VBRTI1NTUxMjk2NTA4NDk3YzI1NjE1MGI1IiwiMHg5ZDY4MUIwRTQ4NDBiNDIxY2IyYzU4NDA4NkJjN0E5NDFmODUxRDgzIiwiMHgzODdCZDVGNDNlRDNGNTkwMmM0ZUQyNDgxQ2Y0ZENFNTBlMjc0YjU4IiwiMHgyNUJDMGM3OUUzOUJiMzk1MTA2YTFjRjEyRUJmN2Y3QjAyM0E4OUE4IiwiMHgzZTJFOTJiQTdiNmFkNUZBMTc2M0Q3NjM1Mjg1ZDI4ZTY5ODk5ZDlDIiwiMHg1MDJCQjE4N0I3Mzk4MzA0REM1RTlFNzkzOTRFNzA5MmRjQUQ5QkM1IiwiMHgwN0QxNDM1ZDc1NGY4RWI2M0Q5NjA0MTcwQTNEOTQ1ZjZDM2Q2MzhhIiwiMHhCMzkyQkM5QzA3NzJFNzYwNTEzMDM1MzVhNzE0NzNjOTk2NzdGYTUyIiwiMHg4NTQwNTZGZDQwQzFCNTIwMzcxNjYyODVCMmU1NEZlZTc3NGQzM2Y2IiwiMHg2Y2QxYWIxZmIzOTAzZDA4RGYxMjgzN2UzN2EyQUVGQzQ0NzY1OGM5IiwiMHg5YjMzQzE0OUM3OTg5NGJlMjJERjM2MzY4MUVCMGJlOGZlNzU0Mjg0IiwiMHgzMzkyMzJlY0ZDN2Q4RjVmZUIxNDkzM2U4Q2ZGZkI5ZTQ5MjUwYzMwIiwiMHhEQzFiYjA3OTAwQ2Q3ZjM5NjFGQ2YzYjdmRjU2RkU0QzcwYmMyRGNDIiwiMHgwZjA1NGI0NDE3RGRmNjlhZmVkMmZEYjI1QTU0RDFiRDY3Y2UxMzRlIiwiMHhBNDU2NEM2RTFFYmJmODBGMkYxYTAxRDMzODkwRDgyQzJhYTBBNEUzIiwiMHgxYWMxOEYxRmQzNDNGYzRmODBkNzVGOTkxMTEwNjc5OTc1ODY5ZDAyIiwiMHhjODBlRkUxMzkwMzJEMGRkODYzODRmOTEwNWNlYjJjNzAzZDk3QkRFIiwiMHg0MzBhZGRCYWIxQ0U2MTcxRmQzNjNkZjY3YjQ3YTUzMjBFRUJENEY4IiwiMHhmYmUxZTM2QTI4YzZjMjM1QjVmN2MwMUQyNEQ4YjI2MDQ4RkY2ODMyIiwiMHhENjViYjdDN0Q5NUI4ZTk0OGM2RDZmRDg4ZjNFQTU0NEQ3YzY3YjU5IiwiMHgzNUIzOGQ3OUU0RWQxNmI5ZkRCN2VhOGU5NmFiNzI2NEIxNjhiMkU3IiwiMHhBMjc0NjA3M2NhMTc2ZDAzMmM0M0Q1RjljOTMwMTIxM0FFRjhlMmFlIiwiMHg1QTJiMkRCQzBDN2E0RmY2MEExN2UyNjMxODk0ZDhkNWY3MTUwM2Y3IiwiMHgwMGI3NTczM0JkRjYyRmJkZWYxY0FkYzZFNjg2MzIyNWU2MGFGQWM5IiwiMHgzZGM2N0U5RDdkY0FFRUI3ODUyODRhM2Y3ZDAwMjE3MzgwQWRBMDBEIiwiMHg2MWJlOWYxODYxZGQ1YzAwNTM1NjExMzRmOUNDNGJBMEZjODgwMTE0IiwiMHhmYUU3Rjc1N0U0ZDMyNTgzZTQwZkUxQmQ1NUM4YzFDNjUxYkEwRDFDIiwiMHgwNUU0NTJCYzc0RTg1YjAyNmFCMzZDQTkyNzY1NzNmRTQ3MzhlNzdmIiwiMHg4OUE3M2RmQjZhZjY3ZEM0Q2I0OUNFN0Y3MmM1ODBlQ0IzZUJiOUUzIiwiMHhGMEMyMzU2M2U3NkZkMGIwNDljZDRlZmU0MGYwQTNhNTMwYjBFNDRiIiwiMHgxYjVhODVFODA4YjJjOENiOUFjOTc1ZTQ3Mjk4MDA0REM2ZThmNzhFIiwiMHg4MUExNEMxYjBFRmM3NEQwQjVkNWI2NkNjN2VlNDBkNzNiMGM3NWZkIiwiMHhiQjI3RjM1NDA3YTJBMjMzRDQyZTA1MjFkODE5MjJkMEUxMTY3Q2Q3IiwiMHhkMGVjQzQ1MUZhODRCMkFlODM4Y0VFOGVGRDlCOEVFM2ZjYUMwMTNhIiwiMHhFRjg1ODkwZmIxNmMxYjgzODlEOUY2NjBCZTkxMDYzNjAzMjNhOTU4IiwiMHg5ZGI0MTlkMmU4Yzk3ZDE1NjZBNDE4MjI4OTczRDMyODEwYzYxNjM2IiwiMHg1QTdBNzJFNTc5RTQzMjY3MTE4RTFkZmUwNkUyYTIyMDc0RjFlODUyIiwiMHgyNEMxM0RDNGI5NTk5YjJmZmY0NjQ5ZTgxOTRDMEE2MzRiODg5MjNDIiwiMHhDNzcyOEEwZDYyRUU4NkQ3QTVhMjcwRDZBZkVhRjM5RDAxZTkwMmFiIiwiMHhjMzE1MDhGYTUxOUU1YjNmMTI4Nzc1OUIxNUVCNzE1MENGNzZiN0VmIiwiMHg2QjY3QzQzMkE4QzQ1OTlGMmQ0NWM0NTZDN0UzNjkxMDU1ODNCZGE1IiwiMHhGM2ZmQTM0OEFkNjlCNTk0YkU3QTUyRTVCZmMxNDhkNjM2N2Q0NzRDIiwiMHg1ODZEYjdiMjYxMTFkRjAyMjRiNmZBYUQzN0MzRGQ5OEM0YjFDZjAxIiwiMHg0NjRDMjA0OTIxMDlCODBFMDc5OTczNWUzNTAwZjZFMEM2MGY4YjY3IiwiMHgwRTYwZTc2OTBGQ0UwMGI5NGZEMmM2REEzOWZGOEUwM2MyYTY3RjQxIiwiMHg3MENFNDhBNTI1OWQyMjk0RjI1NjI0M2I2MzREODZiMmQyZDBiOThDIiwiMHgwYTIyQTI5RDc4MzkyMDAwZTg3MjBjNWQ4QTJEOGYxRGUzRDVBNTRhIiwiMHhhMTJlYkE3QjYwMjlGQjQ3ZjVhQUFkMzMwYTgwMzhjZjY0NTQxOTQ3IiwiMHhiOTYzNDQ4Mjg4OTlDNDkwM0JiM0FEQzM0QzY4QkZENEEzMDJhRGZiIiwiMHhlNDZERjQ3NjU0MWZFZmE1MTg5YTliMjk5RjE1QTQwMjY5OGVlQTViIiwiMHhGQzYwNjYzNzlDYzI2MUQ2MUEyOEMwOGFFNGE2QjIyOTgxRmVFOUUwIiwiMHhCQzFhNjY3YThiRTYyRTM4NmY1QjNmNDAzQjA0ZUFkZjkyRTMwYjRFIiwiMHgzNzM3MzdlZjJFM2QzQkEzMzEzQ2ZmMDYzNzJmNUIxZTdhNUE5Nzk3IiwiMHg5YzgxMzgxZDM4Yzc1NEYyMmU1YWEzMzVBZjkwYzk4ODJmYjVmYjFlIiwiMHgzZThGMUFDNDBiM2MzMDFiQWUyYUI3MzkzRUU1NkNBRjZERDE4Y0UzIiwiMHgwMjM5YTY3YzI5YTY0ODFBYjBkNEY1RDQwNjJmYTc5OGVBZEQ2MDFlIiwiMHgyMkQyQTFEZjg0MzVlZEY1MTBBZGI4MjVhNWVBY2ZGYTdGMjM2MDE0IiwiMHg1OTE0MDQ5NjIxRDlhZEQwNTJkQzc0MzZEMTdhQTI1YkU3RjRkRGREIiwiMHg0MWJiODI0YjhBNjM1OEUwNjExQzk4ZTViRjNDY2IzYjBEYzk3MzMwIiwiMHg4NjU3MzQzQWFFNjMwYTY2YTUxMTk1MzMyNUQ4ZEYzNTM1MjNBOEQ4IiwiMHg4Nzg4MjNGQTQyNUFEMGU2NTg2YjBjMTlBQWVhNGNjNDg4NjU1ZjMyIiwiMHhlZTVkQzc4ODc5NEYzYjU3M0RkZDMwOTVBMjJlNkE1RmFlNjg0MzhGIiwiMHgzNzJEMDcxNzAzREFiMjUxYzAzMGRiOWQ1ODAxNmYzMDQ3NGNGQTU1IiwiMHg5RTYxMTIyMWI4QmNiOUQyMzA0QTQ5NzhiMTVEZjIxMDQ5NDBlNDRiIiwiMHg5RkUyZDZBNDkxQzAzZEE3ZjM3MjAyNUQxMTA5MDE1Mjg3NGZhRDM0IiwiMHgxZWI1YWQ5MjgzMTM4MWU4MTAwMzE5NERBODQ4M0JFQTlmNjMyMzAxIiwiMHg1QURlNjY3NzU4NDE3NWE2ODdBNURFOUI2ZTM5MjYyYzViQUJCMjI0IiwiMHgwOWYzZEE5MjlGRDBkMjU0MmE5OEIyMTZiODU5ZDBkYjI2NjUzYzhmIiwiMHhGRGJhOTY3YjdBRjUzYzY2ZTgzMGY0M2NBNDVkNDVGZGU5RjZlRUE5IiwiMHgxN2QyMWNkOTY0MTMyNjdiNWU1RDQ1NjUzOWYzNWJDMjhGRTIzMzUxIiwiMHhBZDEyMkNGMzY3N2VDNjE5OThCMzk3MzViNDIxOTQ5RjY5NUUwYkMwIiwiMHg0ODdENjViM0Q0RTY3MTQ2NzdiREI0MjE1OUUzODMzMDdEOTFlZjk2IiwiMHhlNjlFMEVCODVGN2FBNTA1RUM0QkE2N2VGOTBhMDdhOTRGMDI4OEJBIiwiMHg3MDJFMTEyQ2NDQzEwNTUyRmY3M0M0RTcwMDRBNEQ2QjQ2QTczODk1IiwiMHg1NWEwNjk0NUU3OUYyZDZhMTRiNUM0ZjE4RThFNzMwOTFlMkU1N0Q2IiwiMHg2N0U4NTNBRDk5MWJjNkM0OGFhMDE5NGRjNjJBQjE3MEU0QzJBYjIxIiwiMHhBRTI3ODc4YTVjRjMzODBmQzBjMjc3NzBkN0JGMDNEOUZEZjYzOTdFIiwiMHgzN2EwNTI1N2VkYzg0QjM2NTEyZWUzZTdjRDNiMjFEZDc1NTYwMTQ5IiwiMHhENjdlNTMzZmI1MjdlYTBiNjIwMjIyNjllYTg1OTQ3MDYwNTFENDY2IiwiMHhFNjI0QkMwNzU5Rjg2NzJCMkM1OUEzMzYzMDkzNGQ4RDI1YjJCOGQ3IiwiMHhDMjQ4M2RhODgzZjQ3YWE1M0NhQzlFRDBDRjg1ODM1RjNkMzVEMTEyIiwiMHg0RTYwNzA0YkU2MjMzNjBkYTk3QzkzNGY2RDg2Y2I5YkI4QTM4MTVBIiwiMHhFZUIxYzUwQjVBMzIwOTZBNTVmQmJkMDBDMDlBNTE0NUY2ZDdEZDE2IiwiMHhjRDhlRTdFYTAwOWI1QzhiQzExYzVkNzVEQzJBNzM1MzFGQThBYThiIiwiMHg5NmE3QjA4Mjg2Y0JEM0ZiMmY5MEFGMGMzMEVkOTQ3MEM3QzlFMzFhIiwiMHhDZGY5ZDA0MzRmMjM4RTRiYzljRDcwNTEyQTBBMDRmNWFCM2VlRTQwIiwiMHhFNzBjOTJENkRDNzlFNTUyQUU4NmZhOGU4MTBlN0YyMDZDNjkxYmU0IiwiMHhDMzkxODA3MjBiNEI0ZGY1NjFhMzUzNjZEQTEyMkZCYTAwNkZCQzE3IiwiMHg1MjNlOWYyMzFEMkE3OUUxMUI4RjZmNzcyQzgwRDdhNzI3Y2UwNTAyIiwiMHgxY0NiOTlmMDQ0NWY4QjVmMDY1MUY3MmNGNjNjNENDQ0E5MWJDNTQ0IiwiMHg2Y0JjQjg2ZjUyRjQxNWFBNUFBNTMzNzFCNzI0OTc5NjBlMUIyNDcwIiwiMHg0RDY5NmFDM2IwQjY0NjIzNEFmQzQ2RjZFMmRBMDJjMTIzNkQ4RTVGIiwiMHg4N0NjMTY2N0Q5ZTRjNTVjRjZjNDdDMEExQmY5NEIxRWUzNjY3YTk4IiwiMHhGNWMzMzEwN0M3Njk3QWZENjdjRWY4ODM0MmFFZTQxN2E5ZDYxNEMwIiwiMHgyOUEwQmNFOTA3REEwMTZFMDg2NkQ4ZGM5YmY1RUZFMDE4MmVGODYyIiwiMHgwNGZDNWZiNGFmZjY3YjlGZDRkRWZiMTZDNDlFNUIyZUE1Y0YyOGU0IiwiMHgwODVGQjE3MTdGMTc1OEYxNUIzNTRjMjBiMDRiQmNhOWU3OGYzNzhlIiwiMHhmMjFhNjczMGI1ZTNDZjNhNWI1ZEViQ2VlOEIyNTZiZTNhODNmOWIzIiwiMHgxZjU0M0U1OTczNGU0N0EzMzM4NWM1OEUxQjZkMTAxNzBGNmMyOGIwIiwiMHg2YTNBYWQ1NDVhNEYyNTUwMjNGOUVCQkFhQzJlNzI3MjBkMzBBRUYzIiwiMHg3Mjc4NzkzQTE0NjkyMEQ2YTZkQzZBRUJDNDU3NUYxY0I1MmQxOTE1IiwiMHhCNjkxNmJjMjBjYUUzNERlNjRBZjM5Qjg1MzREMTQ1OUQ4QkI0MTI4IiwiMHg2MUQyQzQ3OEUyMTNFMkJhMEZjODI5MzA2N2M1QTE4YzljZWYwMTEwIiwiMHg0MDczQjMzNzVjNDFjYWMzMTcyMEUyZkE0ODMxYmMzN2Q3NUViZWY3IiwiMHg5RTEzYTBGMmNhMDY1MjkyNTRDYUU4MzdiRGVEMkNGRmNBOGI0YTM3IiwiMHg5MDk4YzRjRmRkQjhEQjY2Zjg5YzEyM2VjYjYwNzFmQTk5Yjk1NDI2IiwiMHhkYkU1RTg0M2ZGMzFGMGVFNjRCQ2JBYzFkMUNEODA3MTk0ZDJlRWMyIiwiMHg5ZUUyODg5YjVmMThiMWQzNTREMjJCODdmODVGODgwRTQyNGYyQkM1IiwiMHg2MTlkNzY1YzcyOEEyNkM3NDkwOTZjMDA4OEU4RDI2RTExRkZmRTE0IiwiMHg1RjFFRmVFYzYxOTg3NzNCQTc4MTI1MkI1NDhhNENjZDQ4MWI0RTgwIiwiMHg3ZTdENkJmNDlCQTg0ODE4QzIwNzE4MTBhYkJBMUQwZEY5MjQzODYxIiwiMHg2ZDhFNjdENzJCNjM5NEVlY2RhNTc3QUU4NjNFODU3YmMyYzI4NDc1IiwiMHhFNjIzN2JhODlBN2I5MzRBOTMyRmQzMTc1ZDYxZDRBNzk5Mzk3YjNiIiwiMHg3NTU4RDNkOTgzYjIwMjA3OTg0MzU4MGEwQTEwMzI4MTY2NTE3RDExIiwiMHhlN2E0YjRGNTNlMzk5RjQ1Qjg5MTgxRjJjYjQxNzk2MWZFMEY4QWQ3IiwiMHg3QzQ5MTJBMTZENzc3RDQzOUZGMTlGQWYwMjc3QkZDQ2MwNTZCYzc5IiwiMHg5QjFFQWUyNzk2OUM4Mzk3RjBmMjk2NDlhZjZBYzE2ODk4Njc4NTQ0IiwiMHhkMmQ1M0RDNDdlOWRCQUMxNmYwM2ZhN0ViY2IxQTMxOUJhNTE2QTM2IiwiMHgzQ0FDNjM2MThjZkU0ZDgyNzQxOWUyQUZjRTBDOTgyMTcwYTdjYzhDIiwiMHg1MWQ3OWRGNkIwQUEwRTcwQjE1MzZGQ2I5OTdBQ0I1OTc5ZTA3RDgyIiwiMHhGQzFkMDhBQzk2ZTY5NTUwYTc0YTU5Mjk3QjJFNmYwYjlFNTg2RDRGIiwiMHhiMzE5ODg3OTMxQTVBMUJCMzc5ZEVCNDVjMjU4NjQzMGIxNjZmMjFCIiwiMHgwOTRiM2NEYkRGRmEyOTI2RERjYzYxOWFCZmQzYjIzYjE2RDcwNjQxIiwiMHgwMGJEMzUxQmEwRDdjYkIzOGQ3NTdDNjA3YzQ3Yzg1QjY2RTMwNTFBIiwiMHg1MTE5M0ZkNTU3MzMwQUI2NTg2QmUzNTEzRDVBNzE5QjEyYzY1QThmIiwiMHhhMjBkMWI2NWEwMDdGMzk1OGM5NDhlZmJhYzdCYWJmMzYzMEQ1NzhFIiwiMHg1YkFmNkI1Njk5NDM5M0Q0OWZFMTJFNEFDMjhDNDkwNjkwMmQxODI2IiwiMHhiQTYzMDZDYWNlOTFGMmUwQTY3MjZDQWI0ZjhCNjkyN2E0M2UxM0QzIiwiMHgwMWU3MjJENEU5MzY1MjY0MUZlYzEwY2IyRTg0N2E4NzgyMjQ5ODYzIiwiMHgwMmZkMjUzQjY5REUxREI3OThlMDBCNzk0QzNFMjFDQzhkMmI2YzZkIiwiMHgwNzg2MzgxMUVCMDk1QmYzMjNhZkM0QjI4NWI3MERFNDA0ZTNmNEE5IiwiMHgwNUYwOTRiMWYyMWMxQzgxYTE1REU2Nzk5OTNBZDJhNWUzMDY4OTY1IiwiMHg4ZDRiOTI1NWYwYzNBNjE5RWRhOTdBOTFjQjdBMTgzZkJDQTYzZWU4IiwiMHg0YjVFMzkyNEQ5MmJmNzQ1ZUIyODE0NGYyNDI0MTBFM0NlM2EzOUQ1IiwiMHgxOThhMDk0MjY3NjE4NjRmNjU3YTQyQThCODUyMTUyMUZEQTFDNTNBIiwiMHhjZDFiMzE3MTAzNDg4MjEwNGIxN0RmMTIxY0U0N0NDMTIxZTAxRTQ2IiwiMHhiZTI5MWYzN0MwNmRENkZFOTA3YjliYkM1ZDE3MThlMTUyYjMzZUNCIiwiMHg4MTEyQUFkRDQ3N0JjNTg4YTc0NzE2N0Q1MDE5Y2QyM2QwQzU4OTVlIiwiMHhGNTg2RDExZTRCZGFDNDQ5MjFEMURhNjlFQzM0M0MyYjg1OEY0YjVCIiwiMHg1NTQ2NDQ0RTQ0M2Q3NUQ5NTFiYjU4MzU3NTIwQTY3NjhlNUU2M0I2IiwiMHg4NWM0RjExQzRCMzg4NzQyNTc2MkU5ZDdFNjM3NzRGMDg3NDExZGNGIiwiMHg5NTUxOWQwNzZFM2QzOWFjMjhlMUE1OGI2RDliOThFN2M3MTFFNkVDIiwiMHg3MDEwQ0E2N0IzMURFZjFBZjE5NDI0YjQ0OUFiQUIwYmY2ZjlEYTI2IiwiMHg2RjUwYUYxMTc1MEY1RWQ4RTQxNzIzRmRjNWM3RTlkNjZBN0JDYzZmIiwiMHhEQTc3MDgxMTRlYzMzZWU5Y2U0MTlkMkRBOGRkZmM4NjEyQjEzNGJhIiwiMHg2ZDJiNUYzZUQ2RTc1MjBlYkU2ZDM3ZTk4ZDEyMjNEM2RBODcwYjg4IiwiMHgxM2Q4MzVGY2Y0QWYyZUY2QmVmYzJjNjA5YjM5N2FjYzYzOTNlNDgyIiwiMHg4ZUJDYmM4OTZBRWZhQ0Y5NUY0MTc2RjM0MTg1NTUwOTY2MDEzMjJCIiwiMHhkYjY1M0ZENkM0ODlFRDI2NTlmQjlmN2I5MTJlNEFiODNjMTlCMjkxIiwiMHg2M2NDNEQ4ZWIwNjMzODZlNDMzMjI4NzZGM0E5NTM1NzdERmEzMTY3IiwiMHgzMzQ4MjE2OEU5YzhhMTNGNzNDMDE5MjcwYjU4MTVFNTZiNDkwMUMwIiwiMHgwMDVhQTg1NDk5YkZlNDM4NDllQTE2N2M1Qjc4MDc2ZjM1MTAxMzFCIiwiMHgwMWQwMUZFNTIxRjg0QjQxMDhhMEUzRGJDODcxOTE3ODYzRTMxOTJlIiwiMHg4ODhmMjgxNjE0QTE1MEZjMUIwNkFhMTk3ODc2NDUyOUEyYWI0ZWVhIiwiMHg1MjBjMkJCQjRkN2YyQjlkOTM2ZjA3M0FCMEZEM0IzMzM5ZDVBYjUwIiwiMHg4MGM2MDFCNjFFNWRhODhCNjI1OTkzYmQzNTE0ZDNEMDVGQ2VmQ0IyIiwiMHg5NzYyRURkOTdhOTVGNDhhNzliYkQzMjVGNTk0MWQyZTg0Y0I1MEMzIiwiMHg1NEJjNkE3YTMyNDAzODhCNmQ4RjZGRmJlYTg0MGI5NTQyRTNCOTZEIiwiMHhmQjREOTJmRjQ0ZjI4NTg5OTZFMTE1ZTE0RTBGREI2N2RmNjg4NjVDIiwiMHg0NWVhMDUyMUQ5ZTQyOGFiMDc4YWYyNTg2QzNCZWU5N2E1RTUxNTZjIiwiMHg2ZTE2OGQ0ZkQ3NTY5RUExQzU2ZDk4NTI1NmNkMkU5M2VlMTI0OTBlIiwiMHhiMDNlNTJmMzg4ODA1ODc4NkJhODU2MWE2OUIzNkI3RDMzOUFjMzBkIiwiMHgwY2RjOTNBRTIxMzUwOTM2MmJmNEQzNzBlRmRCRjg3YjdhNDlkZGVDIiwiMHg0RTI4MUY0MzM5MzY5MjIxQzIyMTYyNUI1Njg0Yjk3RTBkMDk3MjVkIiwiMHg4MTM0N0M2RDRGYWJGMTU5NDZiOUIzMTM2NTE4YTkyMDQzMzdCN2M2IiwiMHgzRjg1Y2ZhQjhCODcyZDM0MjQ0ZDU4MkM0RDFhQUZmYUM1YzI5RWM0IiwiMHhBZDQ5NDBEODE3Mjg1NjA3ODdkM0I4YTVCMzVFY0VmYUQ1MUYwODYxIiwiMHhDOUI1OEQyNUM5NzU1NzExQzUwNEE4QTQ1NTE2ODk1ODVFN2FDN2QxIiwiMHhkNzhCMUM0YzYxQTE0MkJFODRmNkVCNzUwOTVGOGYwRTBGQmQ0QUY0IiwiMHg5MzcxODAxYkI3MUZmMjc1NkM5RmZhYzM3MUI5QzMxMUY3N0JGOTg2IiwiMHg5ZUMwNzVCRDcxQjBmNWRlMjU1OTc2NzJlZTZiNDBEYjkwRGI5YWRDIiwiMHg1OTQ0ZmE3YTUxOTczNDdDREM5YUMzZEVjOTdmNUFCNjlhRDM4NUJiIiwiMHhhMjA1MUE2YmVGZDdBNDNCRGU3NmE0N0I1RTVCNTIxQkFjZjQxODhmIiwiMHhhOTIxMkZCQTkwRjkyNTdiNzYwM2NFNTcyMzc2ZGYyQmExMkI4MjhkIiwiMHg1OTc2ZTdDODk3ZDEwYjI3NzVFMTI2MjA0Y0I1MGRGNjY1NTgzNENFIiwiMHhiNEQxYzYyZTA1NzAxMGM4N2QyYjdDYzIxNDNGNWQzRURDNDVCRDhDIiwiMHg2YWIwMWZiMjU5MWYxNThBM0U2QTgzOGNENDVCRmIwNzdCRDQ2OTBjIiwiMHg2YzBGRDhmMkVGNzNkMjAwMDFlOTEzYjAzYWQ1N0MzMjhFNjkwYTlFIiwiMHg1RDdDOThDNjFmNjI3NTY4Q0I5MDI3ODU5ZkJhMjkzYjQ3ZjIxMjdkIiwiMHg4NzkwQ0I4NDhDNUMxOEM1QTI1RjVGMGRCOTQxRTMyMDE0MjQyZTg1IiwiMHg1MGJFYWUzRDRmZUNDQzc3ZDEzNzdkRjkzN2VDOERDMTUyOTFiYjJGIiwiMHg3QTY3OTNkQUQ4N2ViNTZjMGJjYzJlYmZmMWI2RkYzMTE1RTMzMDhBIiwiMHgwMzFGMTU2MUI5QTkwMzA5MUJiRDA5M2U2NkVhQjZDOUQ1ZTc1ODU5IiwiMHhEMDBFZDEwOTgxODBiMUQ2ZWQ0MmIwNjY1NTVhQjA2NWM0NTE1NDkzIiwiMHgwMzY2N0IxYWUxQzgwRjRBNUUwMEUyMTIxZDYzMzMyMDdCZThlNzg5IiwiMHg5NTgyNzc2ODI3MkY0RTEwODQ0NDg2OGQ3YjQxZTM0MDcyZUQzZGRmIiwiMHhDRmRiMDYyMzRDZGE1MDI3M2IyNTc4YTQ5RjhCQjQ1NkYxNEEyQjY2IiwiMHg2MTkzNjM3NTQ3NTUwNTg2Nzk1ZjU5OGYwRTc2RTQyRTlmNjMxOWY5IiwiMHhhNTg3MzI3NzAzYTQ0MDZFOTcyREVDYjAwQ2ZDYTJBOWEyNzI0OTY2IiwiMHg4NkY0MzQ3MTVCNzdiNjZjMmI0NDI4M2U5NGUxOWI2NjEwYWQ0MDQxIiwiMHg3NjE2MjJBMTNGNzVkYTM2MEJlMjI4ZEJiNTU3MkVjYjg1NmJjOTA2IiwiMHhiODIwYzM4QzVBYkQ0RTdCQjg4YjdDZkI0MUJEMGJBRGExNTVDMjI0IiwiMHg2QkNjMDQyOWViNDk3NTFlZUNFQTE1ZTNGMTc0MzM3MTVmNTBDM0E1IiwiMHhlMTVCYTU4NTRmYThGNGM0NTFFQmExM0IzMkNEMjRGOTdhNjYyRTUzIiwiMHg1NDkyRDFFNUNmMjViYTQ3NThFMUMxNTU1QTBkOWNDMzc5M0NBMzQ4IiwiMHhEMWUyMEM3MmYzNjA5MjRmM2Y0NTkzRERmNzRiMmFGMkMxNjY1OTRlIiwiMHg5ODFEOGE3NjI3MjNCODc0QTU3RmRjY2RhM2UwNWYwMjY0NjE2NWQwIiwiMHhkZjMyRDRiNzYzMzAyMjRBMTMxMjM4MTIwMEQwRTAzYUNjQmY1MTMyIiwiMHg2MGQxZTU1QkMxMTRhNjVCMzBCMThkQjkxQjE1MTZENjMwMkIwQkM3IiwiMHgzODIyNjcyQ0VmZTFEMDA3NTc2RmZjMWQ3OGQ4MENDOWM1RWI3MzY2IiwiMHg0NTNmNjE1NkREQTMzYzJBMzhlY2I2OGYwNGEzZWQxYzc3Qzk1NWQyIiwiMHg0NTI1NzJBQjExZjg1NjA4N0U2NThmYzA5YzkxNjc1MDFDMmRBN0U5IiwiMHg1MjA0OWRBQTc3NjQ4NWI3QjhjNkYxOWE3MTk5ZEY3ODBFZkI1NjcxIiwiMHhDYTVEMjJBQTdiMkE0ZjVEMDk1RTM5MmQ4MTE2ZkJGNkI5RTk4MmZiIiwiMHg4MzVkNEYyOUUwNmRlZGU4NzY2QzE5ZjQ5YjY2OTYyMzA0Q0Y5NWE1IiwiMHgyOTQ0M2E3OGRmNjFEMDIwOTk3NGU0MEViYkE3MWY2MkU4ZDI0MDU3IiwiMHg5M2RCMzkzYTkyNmEzQTVBOTc1MzA1RDNGMDBmNGIxNkM4ZDgxODEyIiwiMHhFRTVmMzI1NENlMkYxNDVGYWQ5OTg4ZEUzMENFOTg3OGQ4NDJDRjk2IiwiMHgwODE4ZmMzRTFhOTc4MUYwODFENzQyQzhmODllNjQ2NTg0N2NhYjgwIiwiMHhCOTNGM2UxNjMzNjQ2NGEyOEU1NENENWQ1ZjFlNThjOTVFYjg5RWVmIiwiMHg1NzY1YTk4NzBCQ2VDRDBEMjdCRDQzMzQ4ODk2MEU1OTFhMDBiYzdjIiwiMHg2NmYxMzFDYkViRDNhZDhhMzc2ZGVlMTVlQTFDMUQzNDkwQjQ3ZEYyIiwiMHg1Qjg4MjUzMTI0ZkQyNWI2NjkwN0RGYTdFMEJDNzVENjYwMjE1MDJFIiwiMHhBQzZBYjU3ODM4N0EwNDcxZUQ2NDU4QjU0M0M5ODBCNjAyN0YxNmJkIiwiMHhBY0JhQzQ1ODMwRDVDREQ3M0Y4RjI4YmNDMWVhOTcxRTNjQjNiOTNEIiwiMHg4QjM0RTM1MDFkN2QxYjY2MzgxREI2RkQzRTYzODZmNzMxQTBERmIzIiwiMHhDZDNhODdCMjRhNjA0OTI4MzMxQ2Q4Y2ZiZEYyNUJlRmUxZTkxRTBlIiwiMHg0MjM1OGIzZjQ1QWE0MDI2NGM0MjI4RWJjRDc4OUY1MWQ3ZDkzNDUyIiwiMHg0NDlFYjkyMDRjQTY4NWU5OWM4M2EzZjM0M2ZjOGNjMTRkYzBmMmVBIiwiMHhiYTJiNUJlMGI1NDUyODkzNmQ4OGY0ZTkwMzk1MkMwRDU1MjE5NDk5IiwiMHhBZThCQThEOGJhQTc3M0M3M0JFRDU3ODk1ODhEZGQ5YTlENzQ0YWFhIiwiMHhDM2IxY0FjQjlhM0M0YTU0RjEzNTA4OUY0ODZhODg2MGIwNjM5MGE4IiwiMHg0Qzc2MWUwOUUyQ2E5MzRkMDNhYTgyY0RDRTMxYjQxNEI4Q0E1ODk2IiwiMHg2OTgxODQ2QTIxM0I1RTcyQWRCNEFGRmRCZWNmMUI4MDAyMkVkNzY2IiwiMHg3MjM1ODM4ZmE2OTM5NTNiZGE5YmZjMzE3YzVlYjdCRjU1NzIyQ0VDIiwiMHhFMkU4NDQ5N0I5OTA5NDkzOTdENTE0MjhmNTllMWUxOTZGMTkzOWE4IiwiMHgyNjY0NThlNTM3OUI5MUIwNzZDMEQxNzc5NWRGMTViNDAwQkRBQ0I5IiwiMHhCZDU1MjQ3ZTBlQUY3Qjc3RUVCOWUxMWU2NUU0Q2U3MzQ2NzEyN0IzIiwiMHgwQjI0Y2I0MTEzODU1MjNGNzM5YTZmRTRkYzIzMTcwMmUzMEYzNTVEIiwiMHhiY0M2NUIzOGJCZDRCMGY0NWUwMzNDN0NBMEQzMGYzMDI4NzlFN0U1IiwiMHgyRjNDYjNkNmRlQ2Q4ZDk1RDcwMzNBZEQ5NDZENzEzMDU1ZUIzYmZmIiwiMHhEQjI4MzEyYThkMjZENTk5NzhEOUI4NmNBMTg1NzA3QjFBMjY3MjViIiwiMHg0NkYxNTg0MzI3MzBGNTFhYmI4OTlGNzUzMWYxNTExNkEzZkQ4MTU5IiwiMHg0M2JlMWE0OGYwM0I1YTNBNEM0MTg2RWNlREJDQTNGY0RkQTlFODQ5IiwiMHhFY0FFMzIwMkI2NTI2RTgwMDQxQzkyNjRGNUQyZTVGZTVmRTNBRDU0IiwiMHg2OTAxMjNmNDYxNTc1MzkyOWIxMDQ0ZDVENUY0ZDExNUMyQmZERTNBIiwiMHgzODM2MTA2ZGRFODliQ2E3NTMzOWJGQTZDYTA5N0U2NTAzNjE1OTBGIiwiMHg5RDkxQUVlNzgyNEM3RUQ4YTBlMUM1MTdGNEU5ODRkMGNjOGE5NTY3IiwiMHhFMTRFYmYzNzFBOThmNDViMzE1RTVBOTExNDFmMmIwODdkNjQ4MWUzIiwiMHgzZWQzM2Y5NzNmNEVCMDk4NGFlNTM4ZGQ1ZDBGN2I2NzMxNjZiMUM1IiwiMHg0OTQ5M0VhNkVCMzZGQjZDQjA3MzU2MGNkNzcyYzAwMDI2OTU0M2QyIiwiMHhjQ2FFNzI5RTdBQjA4NzIzM2Y0RDU4MkNENjQyOTUxZjE5MzdjNWFhIiwiMHg3ZmRmRjc0NzA0YUI1RTg3MDk5OWIxQ2E3MEMyREU4ODU0NmU1ZUQxIiwiMHgzZmUxNWNjZTMzRmQ0NWU5RjBFNzhjYjg4ZTFiMjc5RGIwRTE5ZjhGIiwiMHg2QTNCRUNiNWM1NWMwQWJBZmQ1OTQ4MkE2ODMwYzdEOUQzQjQ5MjQwIiwiMHg5Qjc3NzdENDE5RWJBREU3QWZERDJEOWUxNDY1NDhmZERjQzkyRDBEIiwiMHgwMDc2M0E1ZDVGMTlFQUVhOURlMEQ1MWVFRkUyNTdBMkQzODlCQTQxIiwiMHhDRjZmMDQxOUNkRDUzNUE2OUI5ZkVkNDhhRGM1NzI3YzFmM0Q3NGZkIiwiMHg4MWVmNGU3MzExNzczOEE2MTVkNzk3NzkyOTFmRkZCMTEwRDk0MzdFIiwiMHhCQUVBRDVkMDVGNWI2ZDkyYTliZWNkNEYxRjUyQzUyMTE4OGFhMTU1IiwiMHhCQjIyNzBENTI4MGUzZjlkNmE0ZjUwNzA0QkRDODdGNDMxMEZkYzFhIiwiMHhFNzdERGUwOEZmMUVGMDFkQ2FCMDk3NjgyNTFFQmI0NjM2ZGQ3YkI0IiwiMHhGODM3YzYyNjNlNWM3NzBEZWY4M0UzMzVFNDRDMmFmNEFEMEJGQUE0IiwiMHhENTQwMDcwOTQxNDM2Q2JiMzAwMDEzYkI5ODM2YmEyMjE4RjE4YzAzIiwiMHgzYzNFRkFGOTQ0RTlhYjFhNjcxMEYxZWJlOEQ4ODY1NkNiODA2NzRkIiwiMHhGRjgzMzc4QTY3NzE5NDZiNDIyMDExNDkxQTdGMTk5YTk2MmZBRjQ1IiwiMHgxY2IyN0JkQTBlRkZFZGQ1MEJEZjM0YTkxQjJCRDkzRkQ4ZUNhNjhDIiwiMHgxMDI2N0U0YTRlMzhDRjAxNTM1ODlkYTEyMjczZDJhRjhhMDhiMDQ3IiwiMHgzODgzMTZhNzg1ZDI4Q0FlMDk3NGM1YTk0NDc3ODE4YzZkRjkxOTE3IiwiMHg4ZDg5RTUxMmE3YzM0ODlCNkU1M2RjRDU4ODU0ZjYyQ0MwOGYzNTZEIiwiMHhkODc0NTk2NTYxMWVlOTIwQzhBRDVlQUIzZGYyNDNhRDNmYTM4OTZDIiwiMHg4YzA1NDVCOTU5NzZEQzAzNzcxOEE0NmRhRjZmQzUyOGI1M0UwZTMzIiwiMHhBNjA0RTVkQjhhMTdBZWRmODk4MkYyNTBBMTgyODcwYUEyZWE4NjdiIiwiMHg4NkU0ZmU0M2Q1MUFDODAyMTkyN2RkOTcwZUVkMzQxODc2MWI2ZkJGIiwiMHhDY2VjODNjOTM5MTA5REExNDA2OTg0OTg5ZjE1RjU0ZTU3Njg3MUUzIiwiMHg3OTRBNTE0MDM4QkMyQTM0NUE1NjRCOEFlREY5RjBDQjg4REY1NzQ5IiwiMHhDMGE3ZDM1NzFiRThkNzRiM2E5ZUQ2RjZCYmUwYTZjNkY3QkYxOWM4IiwiMHgwYTdkNTQ5NzUwYTA3M2RhZDYxMjNhZDg4YjI3RTZlQzI1ODAyMDM3IiwiMHhhYzgyNzVENGM5ODJmNzI1MTNhZTc3RjY4RWNjNDFENTlDOEYwZWE5IiwiMHhEODVCMzUxYzE4QjRCOWQxMjVlMzExYjRENjU5OGE2MGUxOTNEOWQ3IiwiMHhBYjg0N0NBZWZEQjRFOTI1ZWZjMzJlRkY0NzE2YTFkM2U4RjNCNDY0IiwiMHhBQWYzRTcyMzFjMDA4NTdEZERiZTMzMDE1YWU5Y2Q1QjkxZTcyMmE5IiwiMHhmRDg1NzhmOTY0MkYxMjdiMzM3MkEwRDQxMDRlMmExMGQ0MzVkMTVEIiwiMHgwMGQ4MWY1MzUwNUUxYjk0ODZBZkY5ZUM5MTZBNDE5Nzg2YTI5MDU3IiwiMHhmNzlmZDdjQjcxMDUxM2U3NkI5Y0RjMDc5ZGE4OWNmZjEwODQ2RUZiIiwiMHgzMjFlMWRlRTJjNDU5M2YwQjc0NDM1RjNFZUMzNTcxNkZlMTAwNGY3IiwiMHhmNjRCOWIxODk2MEM4ODBCZjY0NGI2OTM1OTQzRGVkNzAwZjI2NUI2IiwiMHhkQUZiQTQ3RmIwMkY2Mzc0M0M1MjcyOWZlMDRlRTgyMUJENDI1QUIyIiwiMHhkMEE4QjRmRjYwMDIzNzQ1ZTlmMDJhRDQ3MjNENDA1NDQ1YTg4YzcyIiwiMHgyOEFEOTlENjkyOTcwOWMxMWZjODVlNmMzNjM2MzczZmU2M0U1NDE1IiwiMHg3MTY2MkQ4ZTRDYzU4NkJlNUU5OTY0Njc1ZGExMTY2NThkZDdBQzE2IiwiMHhkN0VhMjVlYmQ2QzY5RUI1OTNkODRmODQxQ0Y4YzU1QjYxODM0ODhGIiwiMHhDMTlEZURhYmEwQUJBMDgwYjczZjRiYTU0YjcyNzI1OWJCRjI2OTczIiwiMHhDMmNGRkYzNTU1YzYzQjk2MjlFNjhiMzIzMTYzMDc3MDhENzEzNzFlIiwiMHgzN0VlQ2QyZEM2ZTg2NmVjMGM3ZkU0MTdGMTQwY0I4QzZjMUZGQTNFIiwiMHg4MEI0NjQxZEEwZDQ1NDI2YzU4NUU0QzM4RTZiNmY0MDRjRTc3NTg0IiwiMHgyYjE3NzQ4OUYyMUU1ZDM5M0NFMENlOTU1OTYwNUY5OEQ4MkNhMTdDIiwiMHg1NTVEZWJjOGYyNDRGN0NDNDNENjBFMDdhMzc4ZkQ1ZDk0MjgxZWZlIiwiMHg0YjFENjE5MEQ1MzVFRkU3QTY5NDA4Zjc5NkU2OWE5QUY0NjIwRmM5IiwiMHhGZjdGRjBBQjA0MDhiZkUwNEM0QmU5YTdCZkE2NDE2YzNGRTUyQjdEIiwiMHhiMTVhMDM3MkEyRjc4NjBiYzU0Zjc3N0Y3MmI4N2FhRjUxMTIwZjY1IiwiMHg1MUIxMUQyRDYyQzNCQ2JjMjY4MDBhNUFiMzdkNjkyNmNlMWJjYUIzIiwiMHhBRUI3N2ExNWQ1MjEwM2U3MGJDMGMwMURhRWE5ZTdiMDhGYzY3MjM1IiwiMHg4YThhRDI4M0IxMTg2YzA1M2ViODM4MGE3RTU3NjlkQzMyMWU0OEQ2IiwiMHhBODIxZUZDZjZFMzFDMmU0NkY1MTdmOTE3YTYwZTc4MGMwMUNmQTU0IiwiMHhjNDM4ZTlGMjEwRDg1NWY1RmU4ZjA0MTYwYzhBMTJhM2U1NGFFYmQyIiwiMHhiZmMwMzE4MzUwOUNDOTk0NEZjOTQ4NDAxZkZBNzJhODYxQ0NkRkU4IiwiMHhENkRlMEM1ODkxMERmMUMxRTEzNjY2MjE1M2Q3YURGNzUyMzAwNmZBIiwiMHg0RjNmMjM4Njg1ODJlMGVBZDVjNTc4MzhiY0IzZGNhNjM2OTY3RGU1IiwiMHgwMGFBMkFmOTMwNkE2RDIxNTU4NjZCRUE0OWM4MzgyNjIwMTkwZjU1IiwiMHg3ZDU1YjNCMDc5YzFFQWIyQjNCNEQwODZFMjYyNEU4OTBGRTFEMzAwIiwiMHg2NTExOWQ3ODY1NzM1NTQzYzM0NTAzREU5MDE5Mjk5QTU3QTJhNDJGIiwiMHg1NjJCOEUzRGY1NUQ0MENjOUI4NDM3OTYyQjE4QjBCMTI4RUQyMTg4IiwiMHhCQjNGRjgwM2JhZDIyMDU5N0NCOTVDMDZDRjUzNEUzNTI2MzRhQzU2IiwiMHgyYjJFMDUxMDZiOWE2MmJBOUM1MUU1MTg4OUIyZUEyYTQ2ODQxOWVBIiwiMHhlQ0VEY2UzYkZFNWVGMmNFZTBBMTg5NjFFZTE5MWVDYjNkNDdkMDg4IiwiMHg1N2FBRkYwQzk1MEE2MDQ2MDg3QTQ2NWFFOTFlNDMwNDRhYmQwNDQ5IiwiMHg2NjA2RDdmZkJGNzc1QTNDM0JlYWZlRDk3QTA5QTM3QzkzODE3ODU2IiwiMHhCQkZDYzRDODYyYTVFQzY1MjVDMzY3YTE5MWM4MDk4YjNGNDgxNENmIiwiMHgwRGY0MTFDZDczREQ2NjQyMzdBOEU2N2Q0M0MzZTEzRDZFN0QyQkZmIiwiMHg2N0M2MDEwZTlFRGEyRDM4NDA0NDY3NDdlOEM0NTBBMzM5YzUyNkIwIiwiMHgzMDNCN2NiNjQ1NjA3NDU2QTBEZWFhQjU0N2Q4OTFBRTc4RjE0OGNhIiwiMHgwRURmRjUzYjZjRTEwM2M4NzY1ZjYxMTU4MjhlOWMyMWQwMGZCMzNCIiwiMHhCNDdDRTNBNDgzMWFCRTI5YmQxNjE3RjE0MWVBNDkzQjhkNjA2NDYyIiwiMHhEM2VFMjU1ZDk1ODVEYUMzODEzQzlFOTlGOURjM2QxM0JiNmFBOWVhIiwiMHgxODRDMDA3MEQ3NmU1MDJENzZlNjc4M2NjMzNjRjIyNzg4Qjc1NzI2IiwiMHgwNTRBMERGN2ZDNjgxMWVFQ0NGOTMwODM5MTZiNDE5NDFERjdmNEMzIiwiMHhkZmE2M0VGNjUzYjVjMjk0NmFGNmRhQjk1MjIxNDFjNjM1MzYzQUUwIiwiMHg0ZGM5N2Y3ODAxNWZkNjdkZmUzNUM0NUQ5NTYyMDcxQ0M3Y0FjZDIwIiwiMHg2NDdmNDI5OUM1NzBhZkJEZjYwRGM0ZDhFN2JBZkRlNEVkRjhlMDcxIiwiMHgzY0IxNDVlODAyZTI3MzI3OUVlNDIyOTcyQjcxQmU0MzE2Mjc1RGRBIiwiMHhhRjk4MDk2NjY4MTJGNDhlQzk2OTA3MkM0NTdCMTI4NjU5N2NmMDU2IiwiMHgxODc0MWViMDllRGY4YmI4MDA1RjczMmE1QUVFN2Q2QTY3QTlFNzQ0IiwiMHg2MjYzNWVDODE2YjE2NTQ3OTVEMmVBNUQxOGM4RDJDMTUyNzc5YTg5IiwiMHhGMzI3OUExNUY1MzYxMjg1MTAwNDc0RGIzODlmN2Q3ODg0OEJCOGQxIiwiMHg1Qzg5Njc0QzRBZDFjY0QxMGEyOWJDYzlBYUJDMzAzQ0Q1RjJkQTFEIiwiMHhhYjEyRjViNjRFMDY0ODlmNzk5RjBjRGQzQTBmZWQyMWI4ODcwMTA0IiwiMHgyRTVDOWJBMzU3OEY1MjE1M2MyQ2UxRGYwRDBFRDlEODcxZTQ4MzZhIiwiMHhiMDNCNDEwNTJEMjRFMUIwRjQ1MEMyNmI4N2E0RWRENGQzMEMxQ2M4IiwiMHhjQUQ5M0JhRjVjQzVFQmZFN0Y4QTQ4NTgyOEYwQzBFQ2QyZDBlOUI4IiwiMHg0NTAwRTNGMTAzMjEyODk1YTY3MmI2QkZCN0ZBOGRjMzM5Qjc1M2Q3IiwiMHgyQzBhYUNEM0YxYzk2NDQzZTcxRDRFMDBENEI5YTU5YjhhNzM5ZDFEIiwiMHhjNzU5MzgxMzJDRjk2MTEzMjc2NkQ5OUI1Q0IyNjcwYzQxYzg1RjhCIiwiMHhjYTQ1Y2YyODc5NjlhYTgyZDM0NjI3YjRFZWRlNzc4NDNjNDRDM0FlIiwiMHhBMjkxZTQ4RTZmMDVDNkJBRDJEZTdCMTNCMERjNmM2M0EyYTA5MUJiIiwiMHg5OGMzRDg2MThjMjE3YTEyRmZDOEQ2QjlGZjFGQjUxMTJCMGE3OWYwIiwiMHgwRjVmNkNiNUIwZjc2MzVGQTI1RjU4M2FlYzk1YjcyYzMwNDcyNUE3IiwiMHg4MEE1OGU2RERhZjJmMDM2YTMxQmYwM0NEOTNGYTQwNDAxRWE0M0MxIiwiMHhBRUI2ODAwOWY1NWFFQzg2NTU5MWQyOWU0YWRlOGYzNDQ3N2RmYjhiIiwiMHhkRERjM0M4M2E5NEUzMDQxNEQ4RDlhOTRFMURhMzZjNTc2MjhkMDhjIiwiMHgwRjk3NjhlRTA5MTRjNDhmNjUyMzRDZjEwZThhRWI2MDI4Qzg0MjZDIiwiMHg2MzI3MjA3NDcyQTI5MDAwNUU3MDk1Mjg4QjA5YWFjODRjZTI3ZmMwIiwiMHg3ZDRlYTY3QjFGNTUwMDRhNDQ2YzQwNTY0MkFCNDlkOTcyQWIyMzU4IiwiMHhlMTc1NkRFYjIyMjE3QzBGZTE1MGRGODU4OERlQzk1OWZGOWM2QUNkIiwiMHg1NjkyNzYyNTU0RDk2NzkxM2ZlMjJlNDg0Rjg5MTU1NWNEMmU5NzcxIiwiMHhmNUM2YWI4QjBiRTBkOTEwRjk1MkM2RTgxMTkzZjdEQjZBOTc2YzM3IiwiMHhiNzU5NjFjMUVkODQzYjJFMjgzOWJjZjAwMTFENzRGMEVBQjk2QzVCIiwiMHhFZTE0RDdjY0Q4MzQ0RjEwNzQxYWVDNzA4NjdjZWNjOEQzNEI5OTQ2IiwiMHgzNzRCMzA1ZTNlOUQ4QTNEOGVFZTM4NTY1NjJCRmI2NTI1QjI1M2RDIiwiMHg4NDQzOUM2MDc4YTY3ZGJCRmViNTJBQ2M2RDAzQ2MxNzI5YjY1NjFEIiwiMHhkODVkMTZCMmM0OThCMDZGZDA2Nzc3ZkM3NDlDNThFMDFFYUE1YjQ1IiwiMHhlRjgyNzVjYzQ0NEVkMThERjEwNkRDMjcyQzA3MTM4YTIwYjRhN2Q4IiwiMHhFQ0MzYmViQUVhRkE0ODkwNjJmNmNDNDM3NkRhNzMzODE0OEU2NzAyIiwiMHg4N0YxNkY0RTU3ZjBhOTBFNjJlRkVmQkNkZDU5OTc4NkE0NDJhZDExIiwiMHhiRTQyYjBjMUUyOWMyMzExODY4YzEwNzI4MTFkNEY5ZjQ1OTUyRDZkIiwiMHgxQjEyNmI2ZmY0RTZGYjY3MDdmNkYxMTVFQWQ3YUJhM0ZhMDE4NjZCIiwiMHgzMGNiMTYyNkI1NWYyRDllNGE1ODk5NkQ0ZDk5MUNEMTIwMGRGMjFhIiwiMHgyNzNFMkI5RjYzMGFiQkMwZjMzRDY3NDdEMDVBMjQyQTVjQzNkRmJDIiwiMHg0MTBhYjc2ODM3YjE0ODRjQWJmYTljMjdhNDUzMTkyNTdGZDhhRGNCIiwiMHg5MDY0ZjAwMzIyM2Q0YjkyRTVmQ0U3ZERCOUExNDdlNGE5YzE4NDZCIiwiMHg5MTAxN2E1NkMxYjZlYzEzNzJjMjMyYWFjNzUxYTg2RDAyQjdERTM0IiwiMHg2QjI1ODRiNUJBRTkzOUM4MWM1YTMzQjZlYTU4YTIyYzM1NDI3NTAyIiwiMHg2ZDU4RTUyMDE5OGUxZjUwODYwQUFjQWZmMmNhODc1RjA1MzY5MUE2IiwiMHg4ZUVDYjdhZjE3NTEwOTQwQ0U1NDU5NzIwODgxOWFBMjE0QzBkQjEzIiwiMHg2NzhmRjI1OWNFQUYxOTMyNDAxMTQ5MEQ0RTdEZjJjMjE1QjM5NTM3IiwiMHhGMzAzOUI1NDNlMDc5QmM1OEJjQzFmQWUyNzYwNUYzMDQ1QzczNDA1IiwiMHg5NjkyYzU2MWRkQjk1RDMxNDMzQmU2QzE5ZjU0ZDFFMkFGM0YwMDFhIiwiMHhmYTFCZDJGNjkyQTFENDUyNmJjM0ZFMTBkZDNhNjI2MkEwOTYyMDFhIiwiMHgxMDNhMGYwYTk0NTZlNDJDMjU5NWFhZTlFM2FCMmFBQmU3M0UyNjA1IiwiMHg0NmJBZjY4MzA3ODRkMDNERGNjQ2I5ODc2MDhkOTQ1NTZiM2VhYTk1IiwiMHhiRWExMGI1N0ZlMTJFOGM2MmE5NDk5OUQyODI1QjcwODEyNjkyOEEyIiwiMHg4Yzk4ZWNCMTIxMzBhNGU5YTU5OTZiRjUzOTQ4MjcxNjJDMDE0MzBCIiwiMHhEMWY4ZGU5ZDk4NDFhNDIzNkMwMjVBMGVkYTc3NzA4MzYwMzZjOEQwIiwiMHgwQzNENkYwNTk1YmU4NTgyQjg2MWRDZTlENDI1YWJmOEI3RjM0ZTgwIiwiMHg1ODg3MzJmYzc4NkY4QTUwODlBMTg0N0UxRjA5MmFmNmE5MTYwRTk0IiwiMHg0MzdhNzM5MjgwNWIyNDdjZEVlMzBGN0Q3NTkyRmY3MUYyRUM5MTMwIiwiMHg4NDQ5YzMyQzllQmVhOTI4RDhFMTJjOTE3NTZGRjU4Q0RBNjAwQzZjIiwiMHg1RDEyM2I3NjIxYWE4RjMxMjQ1MDgwN0ExNDg1QWQyQTYwYmQzMWRiIiwiMHhiMDM5OGQyZDI2Mzg5Qzc4NERCQjFmRUJCZkI3MzAwRjg3MDdBMTM2IiwiMHhlMDJjNjRDRkY0Mzc0QkNFMjMyN2M3NDJhNERDQjJEODY5MGZEN0UyIiwiMHgzMDAyMDA1M2ZkNjVEZGYyQjcxYzY1MDBjYTdBQjc3NmY2ZjkzMDRkIiwiMHg5NEIxZTg0OERkODI1ODhFRjcxQTFDODFmMEJEYjk4YjRDZDhENzAwIiwiMHgxRjc5NUZCMUJEZjU0MDk2NjA4NjhhNzU4QmU0ODk0MThDOGJlQTM0IiwiMHg2QWIwNDQ1QjgzN0YyNTA3MDdFMDE2ODY0Y0QzMjZFRTM3NzNFOTM0IiwiMHgxNzZkQjkxOTUwQjA0MjZBOGY2RGM5OUNEOTA0NkJjNTlENzg2RmJBIiwiMHhBRjI4OTdFQUEzMUI5MjFCN0JGRjFEN2Y0MTVGMjczZTM4NTQ5NmNkIiwiMHg4YzVlMWRGNEI3RjM2QWQzOGEyMGZDZTEzOWRmNEM4OTcwYjc0ZUE4IiwiMHg2Zjg4MTEwNDI1QTI0NDFlZmFhNkY4ODg4ZGM2NThlN2E2NmY1MjEwIiwiMHg4NjE4NDEzNTYyNDRCM0NDNTIzOWE2Y2U1QTcwQTg4ZThhM0I0Qjk5IiwiMHhhYTNBQmQzYThBNkZFMUIxZDIyNTM4OTFBOTQ5YjNlMjcxNjAxN2Q1IiwiMHhBNjJFMjljRDlBNDNlNmE2N2M1ODFGYjg5OUJhNTI2OGFFMEMwMTNjIiwiMHhlMjMwMWI5MkY5NTM2Q0RDNTIxZEJmNTEwZDg4ODhlNDRiMUVkM0U3IiwiMHhlMjI3YWZGRWY5YjFENjI5YjYzMzFkNUU5N0UzMjA2MWE4Y0IwNzY0IiwiMHg2RkVGODFmYTdDYjc2MjIxYWJBZTM2MjU1REQwRUMwOTJGMjIyZjA0IiwiMHhCRTM4YTg4OUQ2NzQ2N2I2NjVFMzBFMjBlRTU2MDRBNkY1Njk2ZTM4IiwiMHgyNUNDNmYyNjcyMkU1YTE0NjI4NzE0NjU0NkI3N2NhOTdFODNkZWY2IiwiMHhhN2Q3MDcxMThjMDJkQ2QyYmVBOTRGZjA1NjY0REI1MTM2M2M0N0JEIiwiMHhDM2Q0NjU5QzlkMzA0Y0NFRUNhMDRlMTZEOTY2YTEwRUY4RjkyYjg1IiwiMHhBOEQxOTExZTUyNDY2RGNCMDYzNGYyQjFiMDVmMzY3NEQ5MDQ5MzQ2IiwiMHgzOUQxODhjOWNhNTQ4NjRFNjkxY0I5ODJGN2RiZjYwZEFiY2JhZmI0IiwiMHg1NDk2NTgwMTk0NmQ3NjhiMzk1ODY0MDE5OTAzYUVGOEI1YjYzQkIzIiwiMHg0ZDQ3MDE0MUJiMDhiMWM3NDM3ZjhkMzYwNjkyQkM2NTQwZTRBMDdhIiwiMHhjNzEyMjY5ZEQwMjRFMDZCN2NFYzU4ODFFNWY0MWZlZEQ3OTZFNEZjIiwiMHg2MTY1MzNmYkM3NTVGREVlMERENzliYWQ3OTUxYjVDMjUwOEJjMDgyIiwiMHg0MmZlY2I5NmI2ZTRmQzdjYzdGQ2IzMTk3NEUwMjcwQ2JhOTJkOGM5IiwiMHg4YTQ1OWU0ZTAxMTZBNzMwQTRBMDQ3RTNDMkJiNzgzMDk0QkJCMGYyIiwiMHhkOGU3RGU1NzlEMTM0ZjI2Y0E5Q0M1YjUzMzdjMDkyQUFBM0U5ZmIxIiwiMHhhYTI0MzYxMjFBMTI3N2I1NDBDYTgzMjlGY0MyMmFjNEJGQmEzMGZEIiwiMHhCYTU1YTRCYzJlMTE4Y2UzMjA5QzhGMTkzMTMzMEI5RkJDQkNlOTM0IiwiMHhkQTE1MDg3ZWM5YTg0NjBlMkU1MjUwNGQwNzU3QTE1NEExNThCOTEzIiwiMHgxODg1NjU2QzZmMTM4Y2U3YjY3NTdDZTgxNjE4YUI2NDA3ZmJiMTFCIiwiMHhBMzhDNzQwMTdjZTE5NjJBYjU1NTRFMDAxMjgxNGI1OTc3RTUxYzEyIiwiMHgyNDAwNGY2ZkNFN2UzODQyZTVhMzA4ZUFDMDMyRTA5ZjE4ODNDZUY4IiwiMHgyODc4NTZkMTA0MThFMDFlZjFlOTNERjk5NjJiMDREOWEzYTUyMWM5IiwiMHhCQjdEMkY3OTBmOUE0NjQ0MjVEQjlDNWQ4QjQ2MjdDMDVFNTFjMkNhIiwiMHg0NTc1MjcxZjk4MWU5M2U2MEU3RjY1OTc1MzRmMzRFYURmMUMyOGJDIiwiMHg2MDBDZjFDMDM5ZTFmRDMxQmM0NzYyYTM5RDMyMkRkODk3N0RkMWFCIiwiMHhCZEQzMWZGOGYyRkRlODdiQzdFMzE5NjdEYTdFYjRkNDVkODkzOGYyIiwiMHgwMDU4MWFiQUY1NDMwN0MyNzc5QTEyZTQ3NTdhRDAxRGEwODYxQzU5IiwiMHhDMmQ1YjkxYmM0RjdjQzU3OGU2NWFiQUE2NzM1OEIwMWJFNDA1ZUYxIiwiMHgwNjcwN0M5Y2QyOWRjMGZjQzQ0Nzk2ZmFCQTZkQTY0RDlkNUNCNDNDIiwiMHg5NTA3NTY4YTc0QjBFNDM0NTZiOTAyQWRlQTY0OEQzRjY5NTRmNTcwIiwiMHg5QUQxMWY5MDEyZjI5ODk1NWVkNjJkNTU0M2REMzU1YjFGQjFGNkY4IiwiMHg5NDA5Q0IxZDgxQzA4QWQyQTdFNDA3ODMzOTcwMTdCOEQwNjBFNDRFIiwiMHgwRmQ2MDFENDcwRERGNTUxRDU1MjdhN0QwZjY5MjAxREM3QUNmNDkzIiwiMHg1MTExNUM0QjMyZGQzM0FFQWE0MTQwOTYwMkI0MDQyNTY2Rjg3MzJjIiwiMHgwOENlYTZhRDQyMUU2Q2E0MzUwMWE2QjVDZTE0RGZGMzQwNTREMjkyIiwiMHhlMGJDYmUwNTE5M2NCMTNFQjYzNTFBRUZEMzM2ZmEzMmIxOTJhMkZmIiwiMHhhMmZFNEIxMTJBNjcyRjdiRTQzOTAzMjE2MTQzQ0VmQUFCNjQzYjlBIiwiMHg4MDYzMmYxNEU3OTQwY2JlQkFhNDFiRWZhODQ2MWRGRjdDODlERjczIiwiMHhmMjdCNzdlZTQ1NDk4Qzg0QzNGN2Y2ODU0NURGRjhkRThBNzBENERDIiwiMHgxMmRlNUM5OTVjNmQ1RDE2MjVBMDI3QjI1OTdEQjcyQ2ViMUM3OTkxIiwiMHhFMERlZmM2RUFBRTM3MUQ1MjdhQTUyOGRkOEU5YjE0QUM0QmVCMTY4IiwiMHhFRjhjRDZDYjVjODQxQTRmMDI5ODZlOEE4YWIzY0M1NDVkMUI4QjZkIiwiMHg3ZTM2NjY5ZTUzNkY3RjkxYWI0QmRBNDdCNGZDMTg4YzQ4NzY3YUJEIiwiMHhFYUU2N2VmNEJFRDdiY2RGNGFhN0RhNDBlMEZCMzJlZDczRjU5N0NBIiwiMHhENzdGNjk2QTZjY0U0ZDVCMjJFREVmODA0N2E4YTdENTQyNEQzNjdlIiwiMHhFNTAzNDA3MGMyODUzRTc3NTkyZkIzRmU2RDY1MTljNDVEQjM4ODhjIiwiMHg4NTMyNERkOTdFYzEyNzZBMjhCOUQ2Q0E3MEFkNThmQTQ3NTk3MjRCIiwiMHg3YWYwZTM4QzU3N2RiMzczOWYwOUVDNDJjNDQ3Q2NEZDE1NWU3Q2U0IiwiMHhlNUVhNkZDQTBBNTRhRDE5NWQ2ZEZhNDE3MERGNUVCZmRhMEZkMzc4IiwiMHhDY0FDYUNFMmRjOTZjNzFlN0MzMWY5ZTNhRWZkNjFDNDg4N0QwM0U1IiwiMHhlMjMwNUI5RUI2OUQ5NmZCNzhFRGI3NkVhNmY0Qjk2NjRhNTRFOTQ5IiwiMHg3MzAyZThCQkY2RDk3MzNCYWY1ZTRFMTI0YjczMTFDOGY1REZGZjFEIiwiMHg0Qzc3MDkzNTgwYzgyQzg2MGY5ZkU4QzQ5NjVGMmQ3NjlFMzQ3QmQyIiwiMHgxMGRiMzdmNGQ5YjNiYzMyQUU4MzAzQjQ2RTYxNjZGN2U5NjUyZDI4IiwiMHhDNzY4YzMyZUQwQzAwQkY0RDQxNTc4ZGRhMzQ0ZDJjZTViNTQyQUQ5IiwiMHg3MWM5MzhGMjU0RGJBMTkxYjBkZjZGZjk2YkZkMGQxYjZlNTdGNkYwIiwiMHgzY2Y0NDg3RDNmQTFhNDlhQ2RlMjdDOGJlN0M2QjQ5RjIwQjdkREZlIiwiMHg5MUU2NDRFMzY2NTdlNTUwNEQxZjRDNjdhOTY1MDlDYzBjNGUwMkU1IiwiMHg1OGI2ODNmQ0JmNWNDMzMzNUE5RDYyQzJDMTY0NmUzNDlmZDFhNUE3IiwiMHhlNUJFNjMyQjg0NkFmMzhjNzJFQUMwMTM0NTk0MDVFRkFDMTU4ZDRkIiwiMHhGQ2QzYjFCZTM1MEM2MURFODgxQUM5YzYzNmE0MzlFNWExQmM0Njk2IiwiMHgwODcwZkNFMmExNDFjNzhkMEQ4YTVkNkFkM2U0YUQ1YTUxRDZBZjdFIiwiMHg2NzY5ODdGOUM0MzlhMzhEODRCN2ZiNDhDNzZFOEI0Qzk4OTc0RWEyIiwiMHhiNDUwMjhkMTlmODMxNzY1ODMxQ2Q3N2NEYkFhMjRlN0Q4NTJlNzkxIiwiMHg3QzhGZTQ4YTJGN0M3ODM5MzhjOTU3ZjY1RDVmNjExNjU2MjQ5NTU2IiwiMHg2NTgwRTU4ZEVkMmI1NjJDRjVERkEzNjE5NTZmNjg1NEY1Q2FiNTA3IiwiMHgyZWVmOThCNGVBNzI1QjNjZTMyMjIwZkU2QjNkRUJhRjliYzNBQzM3IiwiMHg1RTU4YmQ1ZjI4QjUzMTZiYUYxRmY3MDQ0QjczQzcxZmE4NUZFMjk2IiwiMHgzOUE2YkNjOWYzNmJkNzE1QmMxZDgxYUFjRTU2MDk4OUU2MjJFNzE4IiwiMHhlODdhZUY1MTgwNWU0MkUxRTAwNUQyZTE5QTI1YzAyNDIwNzhENjdkIiwiMHhCY0E4ZGI3MjA5MjkxNDUzM2RkNTNCQzZhQjEzNzAzNWZFNERBNGIzIiwiMHhhNDIyRDMwNkE3QWFmNUM3MDRkNzAzOTUyNmE0NkZhNmQxMGUwNjgzIiwiMHhDNjc0NGZBMTQ5MTY1MTM0NzZiN2I2RjliMWRhMWFBZDZFMEM1NWYzIiwiMHgzMEFDMzRjMzcxZjBGOWI1ZDM1MjJlNTREYTNhNmFjNmE3MzQwNUI1IiwiMHg3ZkM0RTU5NjQzNTE3QWYyM2UzNGRGZGQ1ODA3NGNhZWZENUEzMTc4IiwiMHg0ZjgxZTc3ZGE3OTQ4NGVCNGUyNTM3MTNkMkJBNkJkQmM2QTU4RUNlIiwiMHgzMzk3NDMwQjlkYTcxRWM5MTg2NjA4MmRGQTUxYjk0QkNlMUFBNjQ4IiwiMHhkZUIxZDZhNUE5OTcyZjUxQ2U0RWU4M2I0MUUxMTg3ZTZFOTE2ZmQwIiwiMHhiMzcyNzllMzZBMDQ3MTIzREM2NTNhM0U5NWZiN2RFMDgzMENmMEZBIiwiMHgzQzkyRTQ5N0RERTA3N2VlREQxYUM1NmFGZERGZTM5MmQ0MDRkNkQ4IiwiMHhmNDJiQjEwQ0ZmN2MyNTk3MGU3M2UyMEYwODlmMUU3QjRDZjRFOUFCIiwiMHgxODM4ODhmYUUyMjlGMTUxM0Y2MjJmNjI1MjczQzI0N0Y3ODFDRmY3IiwiMHhFNTRiOGE4RTUxMzRlOTY4MzJCM2IxZjMwMzc5NzAxYkE3ZmY1MzI0IiwiMHgyNkE1RjY5NkVGNGE5OTc3MkY2Yjg1MjJENDAzMDE2MDhjMDdiOGQ4IiwiMHgxMzMwYmNjZTZjNTVhYzJmZWJEOWRDOUNDNTM2MDk1QzRDMzdjQzBGIiwiMHg5MERkZTg4YzdEOUM4MTcxNjFFRDY4NmQ1YTkzNjdkYzY3MDEwN2E4IiwiMHgyNzgxMDNCMzE3NTIyY2E5YkQ2YjVGQ2ZFRTdjQ2E5NTY5NDYyRTNFIiwiMHg1YjdGOEYwOEI0MTdCNEFFNkNmRTc2N2EzMTZlMTMzMDZjNzlCMDU4IiwiMHhFNTYzNTM2YzNFMDdkYTcxNTVDYTNhMkY4M2RFRTQzOUZkZkRDMTdjIiwiMHg4MGZiQzIyOTFFMzgxODk5RjMzMzEzZUYyYTk2ODE3MjNlYjkyODU4IiwiMHg5ZEJiMEYyQzU1MWE3MzVFNEMzQTVDOUFiRmFmYjZmMUREYmEyQjBFIiwiMHhmZWE1M2EyRGJlYTJhYzU4ODBlMkE1Qzk4ZThmM2U2RmNlODZBMWE3IiwiMHhDQjJBMDg1MjRiMjJDODYxZjcyRWE4MzdkNEJjMTI5ZUIwNDI0NDFlIiwiMHg2NDM5MUE2RUUxZmE4ZmMyYTlkMzQyM2MxNDQ1QmNiRDBFNGFlQjExIiwiMHhlMGExRjhGZjEwNUUxNjMwMTg3ZTVhNzI2NDFBNzZlYmE5MkYwRTliIiwiMHhhMGZjNTExMTkyOWY5RjI1MDdBYTg5ODIzNDBhMzNjNjdCYjlhQzBFIiwiMHgwOUIyMzk5MUNmMEMzZTU2YTQwNDA1MTA3YTIxRjA5MTU1NTExZjAyIiwiMHg4RTRCNWYxMDk5YjAyNUI2MmYyQUJmNTU0ZTM4OTE0MjlEQ0I1QzljIiwiMHhmQmFmNzUxOTI0MDAzMkQ4ZmEwMzdiMDYxNDk0Zjc2QmVlNDUzMGM2IiwiMHhlNTBBNTM1Q0REMDA5ZTg4YUJjM2JDNDdmMWU3RjlkMmM1OGFDYTNCIiwiMHg4N0NmMDA2RDk2ODA5OGYwMWQzQzY2NmUxRjdBQTI0NzVGNThCMjE0IiwiMHhmQkY0MzYwMGFlYTAxRTc5RWU5ZmM3M2ZDMDQzRjBBNzQ1YzE3QkFEIiwiMHg4MTY1NzkyMzBhNEM2MTY3MEViYTE1NDg2YzgzNTdiZjg3RWMzMDdlIiwiMHg2NTU1MWRGMTgzMjExOUEwRDk1MzU4M0QxZTViNTZkNkIzOTVCZUY4IiwiMHgxMzY5MjBjNWQ3RGY3MmVCQzc0MDUyMUE2Yjk4RTZEQzY4QTczNEQzIiwiMHgxYmIwMjE2YmM4RDI0OTcyNmM4M0Q2N2Y2ZjNFMzA1NjljZUM4M2Q0IiwiMHg2MWFhMzI2NDcxYThFMTU3QzRlYTM1OTQyZEI0N0M1RDA3ZDhGRmQ3IiwiMHg5QzA2RThFMTM2ZmZEZUM3QTE5MzUyNDM0RTVENDE5MmE1NWJBRDI5IiwiMHgzMzJkRERkNDM5NzYwRDVhNUU3Y2U2MmU3MDEwNGQ3QjM3MDllMUE0IiwiMHg0YjM0MGY4MzhBOTBjNjQ5RDljNzFiOThkNDY0Y0E3NTg3ZTA1N2I1IiwiMHg5MmVmM2EyMTIyQzNkOTZmODFFRjkwOTY5YjA3RjVBQzcyYzNBNTYzIiwiMHg2NjY1OEUxYzZjMTAxQ0E4MTFFQTc2MmMwOGZkMjA1YmE5NGU2RTgyIiwiMHhFQzY0NjMwNDg1QTZEQThBOGRkQkU0N0E2Q0Q5YWQ5OEJlNUIyNDBmIiwiMHhjMzkyQzM5NjBiNmRERjA4MDM4MUY4MEE2MzhjYzVlQjg0MEI4MkEwIiwiMHhjOTc3MkQ1YmYxMjZkNjNDMThFODUyZTAyMDVhZDRBOTg2Qzc1MWZiIiwiMHhDMzdEMGQ5OTEwNjgwZjE4ODliRDBiODExODVGNTQzZDQzRjJjZTBCIiwiMHg5QzM4ZDRFMzU0OEZiMTM5ZTY3NDdkN2Y3NjdGMzczZGZlOTllNkJjIiwiMHg3N2IxMDllOUFCMDc1QzVjMGJCNWY0NzJkZDcwQjMzZjAxMTVlYUU5IiwiMHhDNUFGMjUwNUU0NGNkN2RBNjMxODgwNzk3QjQ0QTZENjFmMTRiMWY5IiwiMHg3NUU3ZTA5NDFBQTk1MzVEMjQ4N0FiNTZhZkUzRjZiMWFCZjRFYzM0IiwiMHhiNDM5MEEzMzdkOWRCZkI5ODUyMjY0NzMwZTc4YjY1OGYxREI4ZjU2IiwiMHgwYmU0ODRGNTYwQTk1MDVCNEFhNDE5MzE1ODYzMDY4NTU0QmIwYUU4IiwiMHhFNkQ5NTU5NjlmRmNmY0U4ZjkxNzJBMGQ3MTlBOTczNThjNjljZjMyIiwiMHhjMUI2ODgzQ2U3MzQzMGU1RjM1NWVEZDAyMDMyNjk2NDhBMjgzZTBBIiwiMHhCZWU4MDkxQjM1NjUzMmI0ODkzQzk0MGYwRGM4MUFiNzcxMjNlMDE4IiwiMHhBMjE3ODY1MGU3MDI1NDlDMzI2MDI3MjcyMzY1MkY0Y2ViM0Y4ZDMyIiwiMHhEYkM5NWZmNDUzYTdFMUQ4MzBDNUM0MDlCNTY1YjY1MmUxNmY3NTM5IiwiMHgxZTkxRkFiMkNhMzUxNzAyMmMxMGQ5YzZFQkQzOTQyYUMwZThGMzA0IiwiMHgyMUQ1ZjNlQTU3OUMwOEFhQjk4NTRFYjlGMGZjN2U0ODk2MDJGMzNjIiwiMHhCYjlBZTUyMzI1MTI4ZTg4RDc4MDNmMjk5QzI2NmRCMWFiOUYyNWU0IiwiMHg1QjRiODYzNzFDQ0QzQzc5NDI5ZEFmZjU4MTdDMmNCRDVBNTE3MjdmIiwiMHg5NTdmN0Q2RWNjNjY0NDRjRTM4M0U4OWEwMTE3YTdhODRFQTYxNzg1IiwiMHgyMzZjMzBGMWUxMTJEOUExMmJEYTc0QThkNDViQzgwYTI4OUFlOTJCIiwiMHhDMmY5RENGQUJBMTI1YzUzRWQ2ODhEMjg2NjA3QmYyYzlhMDk0OGIxIiwiMHg5RjYyNGIyNTk5MWI5OUQ3YjE0ZDY3NDBBOUQ1ODFERDc3OTgwODA4IiwiMHhDZWQwZTllRTFGMkMxMGVhQjcyMWNGNzQ2NGNGMmMyNURmY2ZBNEVFIiwiMHgxMGRhNTRFQkI0RkU4RTdmQjhjODQ2ODRBMzQ3NTBhYTMwMDQ0ODJhIiwiMHg4RUREZjFmMzFFNDM2RTk2ZUI0NmMyNTA4RGFhRjFkMDMwMzdFOTlGIiwiMHg4N2ZiMTM1NTI1NzRFNzYxM0QyNEMwODY3MjFFQzE2NTkzNjIzZjRDIiwiMHhlNDNlRkM0Qjk2NDVFNTJDNzI0ODVDMDM4OTY1MTY1ODRBYzE0MUQyIiwiMHhGMGQxMTA5ZTcyM0NCMDZFNDAwRTJFNTdEMEI2YzdDMzJiZWRGNjFhIiwiMHgwYzkyNzE4NDM1NzE4MjQ2YjhhNUU1NzI4QjY4NUJjNTUxRDllZGNmIiwiMHhmOGViQTdEQUZkNEMyNGI3Q2IxZTdDODY1MTUzOGJFOGU3YjM2YWMwIiwiMHg2NjA2RTQ0Qzk1NTk0Zjg5YTBiN0Y0ODExOUUxOTAwYWRFN0Y0MkViIiwiMHhmZDI0MERFNmMwNzRGMTk4MjRmODBkNmNkRThGNzI3OTMzMzlCYTBBIiwiMHhBNTA3QjdFOGE3MGREMzcwQjNmMDA0MTA4ZTA1Nzk0MmIxNWFCQjMxIiwiMHhCM2U3NUU3ZmNhMmJhRDU2MjJkQzM1NDhmNEZDNTBmZENGRTFkMDFlIiwiMHhiYjJFYjFFMDA3RDZlMUMzNjZmN0ZEYjBCOThCMDY2YzAyOWQzZTBkIiwiMHg0OGI5MzFkQzI5OGI1M0U0ODk0OTlEMzEzNmMxZjU2OEVhRjRmQjY3IiwiMHhiRTFhMmZkODQ1NTU5MWQ3MTRhMUVlQmUxOTI0NjA5ZEY2QzQxRjI3IiwiMHgwQkNDRjQxZmIxQTIwNEJDZTk4MDJkOEI1YWFDYzhEZWVhMmYzOTlhIiwiMHhmNTA1M0IyODBEQTVhRTlGMzI4MTM2MWFCRjA3MDdFNTY5NzM0MzZEIiwiMHhDNTRBZWM1NmRhODlERTkzODkxYmQxYjNlQzMzNjBCODI3OUFFMDg1IiwiMHgxYzAwRjczZkFEOEUxRDNGOTRiOGM0NmZFOWVjOUJhNjkzOENCMDEzIiwiMHhlZmI1RDY1YkU2OUU2MzQ3REU2RWYyOTRmMTA5MDk2RkY5QWREQkQ3IiwiMHhFRTgwMmIzMTJhOTU3ZTAwZEQ3QmJDMDhlRUM4QmI5M0Q0MGU5ODFEIiwiMHg2RTU5REI0NTBCOWM1NEE2Q0NiMDNENjIzMTYwNmMxNTA0Zjc0OEE5IiwiMHg5RjMxOUUyNjViODE4OUI1YjVDMjE1MmNBY2M3OTFiOTViM0RhMTgwIiwiMHhDOGM1NWM5NEFjMUMzYkEwMTQ2NGFmNERlRjZiRDRiODgzYmJFYzVlIiwiMHhEMTNEMzY1ZWJiOTFGZGRCQjE4MjhkMzcwYUNmRjFkNmVkNDRDODkyIiwiMHhiODhlOTgyQzhGOWZmZGIyMjVkY2ExY2FDZWQzZTRhNTQ0QzNGNzhGIiwiMHhiNzk0RDg1YmI0MTYyYzVFZURiMjhBRmEyQTQ0RmMxNzY4OTNkMWU4IiwiMHg0MzFjM0UxNTFlODA2QTczQTgwNTI0OGU4Qjc0QjM4ODU2N2U4MzEzIiwiMHhiNjYyMzhDM2VlOGVERTJDYUJDRDIxRDdGQ0Y3OTE1NzE0M2JFNDk3IiwiMHg5ZjEwMzljZUFiQ0U5ZTYwZTkzMUVjRTdjM0ZjOTA4YzFlZTc0NkMyIiwiMHg4MzA4YWUwOTJBNzQyOTQ4NjU4MDBmZjMzMzhjRjcwMzUxN0IwOEFmIiwiMHhGMjMzMEY0MkFhMEU1Yjg1YmMwRGVjNURDQTFkQTg2NDFBNjNmQzM2IiwiMHg1QTNEZTMzQWU1NDhhQWU3YWJhQTQwQ2MyNUE0ZWRERkU0MjIyYjNCIiwiMHgxZmU2Q2U3ODAyNjliOTc1NjBmMTNGRGMzRjM5NEMwODFjNEU3MWNiIiwiMHhFNTc1YTIxMjNGM0E5RDVkNDQ3Y2IyZDMwMmVFZkIxQ0M5N0RjZjJDIiwiMHgyN2QwYTcyZWIwN2EwQjZlYTY0RTA0N0E0MEVjQkI4QTM3YmZDQjMyIiwiMHg3RjdjNjM5MWJhNWNjN2M3RmY5NUZBMjMwNjhjODAyRUM3MTE2RUY2IiwiMHg4NjAyNDM3Mzg4MDZDMDdhNzE2N2ZENTdFYTg3NUI2RDhlNDU4NTg0IiwiMHgwMTEyMzRiYkIyZGY0NDk5NzUxMDdFODkyZjFiNDg0NzRBMDg3MTZBIiwiMHg2ZGM4NTkyRDQwMTM1ZmFkN0RlNjMwQzc5ODZEOTY2M0FiREFGQUY0IiwiMHhCODVlMmQ3MDIyMmFmMTcxNWFGZjg3YWE4RjQ5YmUyNTJlNmFlQzMwIiwiMHhlRmZDMTI0MGQ5RTczQkJlM0ZBNzZGNzJhNzMwMDczMDFjNUY3QWVGIiwiMHg0ZDA0RUFhMjQwNzMwQjEwYUVCZGVmNzI1REZlYjI4N0Y3NTIwNEQ1IiwiMHhhNjk4Q0M2NUYyNDZEODkzN2EzZjRDZjg4ODExMzAzMjQxNjdFMkIzIiwiMHhjNEMzNDFjYkY1NTJhOTYwYjc2MjgxZkMxNEFEYkJhN0Y5MDA1NDgyIiwiMHg4RmZGMWM3YTJhNjgxQkMyNTI0ZDBEMTgzYTNBNTIzNDM2QTZCMzM5IiwiMHgwNGZDQjQ4N2YxOERFNzYzMDk4ZjYxZTY3OTlFOEY3NGQ5MEY3Y0ZlIiwiMHg3MDkyMkQzMzcxRjk2MmEyQmIyZDQ5NDg5NDViOUI5MDdjQ0MzZjQwIiwiMHhGZTNjQTVhMkM5YjMzODg4MjFDNDU0MmFkNzc2Nzk3N0FDQzE5NTFDIiwiMHg3MEIzN0ZGNWM2MjNjNUYzNmFBOEM3QkUxMkY1QzJBODlGMDNCNzlGIiwiMHhBQTRCRDNBZDJjQmQyQTcyODdBMzNjNzU5YzY2ODJDMDA3Q2VCNjI3IiwiMHg2NmQ3ZDIxNmIwMTU2NDkzMTQ0ZmNkMjRhOTBlRWEyMzEzRDU1OTNEIiwiMHhFZmNkNkNCZGU2NEM3Mjc1MTgxN2Q0NEQwMzkyQTQ2YjRDQzU3QmY0IiwiMHgwOTUyNjdlNUQyNzBBZThhQTlFQWJiQjZENjAxNDAwRDZGQjk3N0M5IiwiMHgwOTdENDlDZGE2YWYzMTUwMDczMmY2N0FCYzZjNUMwNzI1RDBjRjJCIiwiMHhFMTQxNDVEQzE4MWI2YzFhRDg4RDk2N0VmMDBkNzRlRTA0YzlCRDdDIiwiMHgwNzc4OTA4YTdkNTUwM0Q4QjhlMzVmNjNFMjVhMzQ5ZTY2MzI0MmQ3IiwiMHg1YjQ2QTA4NTljMkQ3NDNBYzhmNzFjMEM1OTAwQzBGQ0UyQjRjNjM4IiwiMHgwNzU5NEVkYWE0QzM2OEZjM0EzNDk5YjJkMDQzQjJBQzNEOWZhRjFDIiwiMHgwM2E3MjAxNjE1NGJFMjI3MWI4OEMyMTM2M2VlRUYyMjUzRTU0ODcwIiwiMHhkZDgzQTFjZjcyNkMzNTVhZWY2ODMyYmQ0MDQyNTEwYzA4RkMzMkMxIiwiMHhDQTNjNjRGNTU4NkE2OGYyQzc5YzRFRjEwNDhDMDMzZDg2QjAzYjVjIiwiMHgwRjAxNDlENjhkRGRiMjg2OEE2NmU3OGJCODdhOTI0QzJGYzRGOEJCIiwiMHhkMjJiMzQxMTg5ZDk4MDBkNTJkNTJlMWQ4MjM1OWNEM2Q1YzhFQWNkIiwiMHg2M0MzQUNGQzQ5ODdjMEI1Qzk2MWE3NGM5YzZiQmIyODY4MmVGNzZjIiwiMHgyMDZDMWFmZDcyNWE2YjE4OTYzOTgzYmY2QzIwMUUyOTJjNTViY0YyIiwiMHhkNTUzOTI3MjhhYTAzZkZhNjI5YmQ3YzU1Njk1MjQ3NTdBYjU1NzQ5IiwiMHgxYjc2Q0ZiM0U4NEJjNUJBNzJjQjhDNTdFMGQwMzJmMDgzNjI4MDkxIiwiMHgwQzhBMzQ4ODY4N2ZmMDRDNjA5RUExNTM0M2REOTMzZWM3NkFiQ2ZlIiwiMHgyYjI1Zjg1QTlDOTE1RDBDQTZBNTVDQUU5NTY0OTMwZDNBZjlmYUVjIiwiMHhCRmY1NDI2M0JlM2JjZDI1RjE2ZTNEMDZiZTYxNTk2NGMyZTc1MDg0IiwiMHhjNjc0QjRjYzE1NmU5MTcwNTAwNzlENEI3MmVjM0UxZTE4OTZhZEI1IiwiMHg0OTkxQmFCRDEyMTU3ZGFmYjg5MzY4N2NENDUyRDk0QThhQzE4RTU0IiwiMHgyNzZiMTRDNDc0NzJGNkQ0RTMwNjE5RWMxZjdEMjNhRDNjZDA4Y2FCIiwiMHg2RTk3NkViNjI2NTFmMGViMjZGNzlFQUUwREVlNjYyM0JiZDU4OTlEIiwiMHg3MTg5M0MwRDFlMDQ2NGU1MTk2ODk2YUZEOTk3MTk4OEU1NkMwODk5IiwiMHhDMTE3ZjE2OTkwNThCNUE3NzhFZGUzYzVhN2VmQzAzMjhFQTQ3NEUzIiwiMHhBNjFFNTgwNTdmYTRFMGJFNDcxQTA4MUMyOWY4N0IwOTZFNTRCMDEyIiwiMHgzNjNFNDM5RjBiNzE4ZjQ1MUZkQjczQUU5QzEwMDhFZTkwRTU3ZTJhIiwiMHg4OTY0NjdGNmJmRWZDNUQ4NDYxQmU4RjFkQmM2MWQ3NjIzMUY1NTNkIiwiMHhBM0ZCYTNjNDkxMzVDNzI5QTVlOTY2MkRCMGIxNDRhRkU1QzdlMDlBIiwiMHhlNDcxYWNEN2I4ODBhMzdlRGM2Mzg1ZmM4NzRCM2JiOGQ5YjE2OTkwIiwiMHg4M0E4NzBiQ0U3QThBQTk0MTZmMTNDNGQyMDkxNDVmQzU2ODVDMWE1IiwiMHgzMjc5NmFkZjVFNzgzODVDNDg2YjkyMGFiNDIyNDE5ODUxNmUzRTZGIiwiMHhhY0FjNTFGMWU0RGQwMTg5NDk5M2ZCNjcxNDczZTk0NmU5NTM5M0NhIiwiMHgyMDg5MjY4NTY1NTY3QjMxQ0FFRmM1MDk3NzUyYjY5MWY3OUZiMDk2IiwiMHhBQWQ2OGEyODE2ZjREOUM5RDBmOTA1OTdFMWZhRTdFMjUwNTc5YjZiIiwiMHhCN2IxNTBCYjRhRDM5ZjFlYzNlOTc2MTZmODgxRDQ3ODYzNzdhRkMzIiwiMHg1NEJkQzA0MDc4Y2I5NDM2ZDMwZTFjYzMxMkZjMTcxZUI1RDc0NGU0IiwiMHgzMDAzM2QxOTQ4NzdhNjc1ZmRlM2FBNjg4OWFDZTVkOWU2Njc2ZUY2IiwiMHg1ZUQ2ZjRjNTkwMDRiRUU5ZjQ0MEU4NDk2OUE5M2VDY2FjNTgwQjQwIiwiMHhDNjM4NkRFZGE4OUIxQjE2ZGJhMjViMkUwNzhGNTIwQzNDODVFNDlGIiwiMHgzNkVCNWE3N0I3REM4NDhkZTc4NmY5NjA3NTJCMDZERGI4YTVFMWJEIiwiMHgwNDJjY0Q0QUQ0NzM4Yzc1ZTc0M0IxMjg1QTdjRGUxY2I5N0Y2MjlBIiwiMHhhMUUzQUQwMjdlMDQzODgzQjMxMEJDZkVhNTczQzIzNDI4ZGMwRDA4IiwiMHg4QjFCZTI2QTUzNkMxMTBkODg4ZTMxQWNBYzY5MWJmQTNBYmU2YjlkIiwiMHgyMDlDMDM3NjEyMDc1MEEzZmJFQmVkOTJEQUNGMDg0MTUyN0M3NzlEIiwiMHg1NTg3MDRBRDYwOWZkNjFmOEVEOGY5ZjQxMDA4RTJkN2IyN2U5ZDE5IiwiMHhjOTBGMDBlMjIxZTE4QWE1ODgyOGQyNjBjNjhBMjg1MmNiRmRiOGRBIiwiMHg5MGM2N2E4OTBGNTVhNTk0QmY2NmM1OGRlNjQyNzJkRWRFOGJGRTgxIiwiMHg1ODUxODMwMmRhMDU2MzEyZjA1OTYwQTExQjRBYTc4M0ZmOGE3NDdmIiwiMHg2YzZEN2UzQTRCMWE2NjMyMDhCMWI1NTAxRjcyYWYyYjgzNDA4NDJmIiwiMHg1NzYyMjliNTNjRERFMmZhNWVGMDNDNzU4M2E1YjcwYWJhZUY5MDYzIiwiMHg4MUM0QkVmZDJFNzREN2ZDNDZmRDM0REZmODI0NzI1ODA3MDZDRUNiIiwiMHhiNjRDRjdDM2M2OWNCZEM4NUJhQmVjQkIyODk1NjgwMmUxMTcwNEIzIiwiMHg1MzFDMzIxOUVlNmU0OUEzMjkyNmVFODBDODAzZUI2MWFDMzBhQzM0IiwiMHhEQzAzMkIwMUQxNzMzZjIyY2E3ZDIzNTYzRGVkODA0NjM1ZEY0MjRiIiwiMHhBNWQ5NTU0MzI2NWE5MWM0ZGYxMmY4MjAxNmUzQzU5MWJEMjBBN2VCIiwiMHg0NzExMGVBODU1NGE0QTY5ODJFOTY5MDRBYTEyNDRhMEJhQjAyMDNGIiwiMHhBYkQ5NkYxZmY3QWNiMkYwOGUxNUMyOGVlNThmQjYxMzgxNDc0YzIyIiwiMHhmRThDMDcwYjZmNkEwNEE4ZDMzOEIxQURkNkVkMmNDZmYxZmQwNjIzIiwiMHhDMzVDMjNBNjBiNjhDNzI0RTM2MDU2YThlNTRGQUM5YjA5Qjk5MEMyIiwiMHgxRTc5ZkEzY0NlNWIyNDMzODM2NGU0MjVEYjgzQThGY2Q5NjQ5NTU0IiwiMHhDN0M4MjZiNzU3MUIxMTYyMzI1QjQ5YTVhOEJlYWMyNTBlYjA3MDEzIiwiMHhkQTE1M2E4ZTllNjAzNDQ3OTQ5NkEwOTlFMWYwMzBkZDI4QzJmNzNhIiwiMHg3NjZCOTNCMDEwNzhiNzhCMzY0NTBDZjUwMjE2YkM1MDJBOTUzRDc2IiwiMHgxNkVlODJkQzJFMTYzOTViMTQ4Q0I2ZTcxQzM2NWExMzMxMjQ5Y0U5IiwiMHhkZWI3MDZGQzAwZTMzNTA5MjUzMjU4N2Y1YjhDMzgyOUViZGFiMzAzIiwiMHg0ZDRFQzA0ZmQzQzQyY0RFNDYyMEMwOTMwNTg1OWQyOTEzZUEzODM5IiwiMHg2Y0Y0MkE4MjYyRGI3NDE3NGVFZjQ2ZmI3YjcyRDQxODhFMzMyNjVjIiwiMHg2ZGNFQjZmNkE0MmJGMjJBMWQ0Q0RGOUVBMTg3MWRENDBhMTRlM2JDIiwiMHhFNjBEYTQ4NEJDRjlFNzZkOUM0ZjI5RjkyMGNmRmUyMDY2RDNGMUM2IiwiMHgyNDZDMTQ5QzQ4NjdBREFjZjVDZjc3YTBGMEVEYTI2RTk5NjUwNjkxIiwiMHhkRDk0NWU3NzA1NDZiZkUxZTA5MDg5Q2I1Mzg3QzFEQ0YxQmM1NTE0IiwiMHg1NkI1OTVCODI5MUMyOTg1MDU3ZGM5M0JGNjkyNEM5ZTg1ODk0MGEzIiwiMHgxQzI2RGYyQjQ0MDc0MUZhNEM4Mzc2NkNkQzM5NGI1NDM5OTc2MkE4IiwiMHg3QzBEMzU5RWU5YmYwNWI1NjU3YTE4ZEM1NDJBYTdmQTk3MjAwMmQ0IiwiMHg0NWY0NzZiYTExMEI4NzlmYUNkMTJDRmRCZTdkNzhGNTlkOTVlMkMzIiwiMHhmNDJGODY5RUFBMGQzMjY5OTJhOWI2MmY0RTE5ZDczYWU4Yjc1MThjIiwiMHhiMEFCMkNjMUI3REFkYTlEMmIyODY2ODVkYzRGOTI3REJFNkRiYjhDIiwiMHg3RDA4MDg0NTEwNGU2RGRhNDJhRUUzMTg2MTYxNDU3MmIyMUZDRGQzIiwiMHhiMzJmQzg3NWY3NjQ5RDJiZDQ0NTE2NzNmMDZkMjllOEFDN0RlOURmIiwiMHhGMDMyZDZDM0Y1MmQyMEM1NTZlMWQyOTI1NzEyNmNkZUQ1OTEwMThEIiwiMHg0YkI4NzNDQTA0Q2ZDMEIyYkFiRjI1YzgwMjgxRTk0OUIyZDY3REU1IiwiMHgyYjQyMDNiMkI3QTg3MjliRDQ4YjZGZTk1NDdCODNkNDcxYURGQTJEIiwiMHhENTI1NTNmNTVkRWFGMDg1ZjU2YjMyNUNBNjVjY0RFRGVkMjVDMjAxIiwiMHhiMDkzMWIzMjZDMDgzQTBFNTdDYzVBNzFmRkI4ZGY1RTYwMTZiNkFkIiwiMHhmMGI1ZjAxQjJhYjBENWU3NzQ4N0VENEY4RTcxYTM3OTFGOWY0NUZFIiwiMHgzNmNFYUYyMTEzOGM2NjA2QjgzNjFlOTc0RTY4RDgwQzZEZUExMDM4IiwiMHg5MDgyNzlGRDViNjc2NUNjRkZjZjdGQUZDNzc4MzE3NjIzNjY3QTZFIiwiMHgwYjc0YkE4ZDg0MjFhNjI1Y2E1QTU1NDUwOGYyMjBEMmIyMUQ0MjU1IiwiMHgxMjI4MjdGMTY4RTQ2RGNlNjI2OTczZjE1MmRmYTRCMGI4NjBiNzdlIiwiMHhFMEI4ODI5Njk4OTRjZUI1ZjA4ODQ2MUQ0NmJEMjI2NTFmNjI1QjZmIiwiMHg0MEZiY2ZFOEIxMWM0NkJkNTc4NDMzZTg1RTE2RTRDZThCMjYwQzkwIiwiMHhCRDVlNUQ4MDkyQWM2Qzk5YjNEQmE1RWJEYjYzODVDRWY1QTVEN0YxIiwiMHgxMTY5QjhhZGIyOTgxN0JFRkZCYzVmNTkzNzgzYTRFMUNGNjkxZjQ5IiwiMHhkOTY0ZjA4YjI1MURhQ0ZiRDlkRGNiRGMxMENiQTFCMDhGYjU4ODQ0IiwiMHgxMzRCNzM1NmE2NWU5Q2Y1NDZDREVhNDg3MDNFNjc3N0RDNTE1Qzg0IiwiMHhBNWRmZDhjNjYxOTk3OTJBMjRGMjhBZDhlNTJmZDE2YzIzREM1QzFjIiwiMHgwN0NEZjRBRDE2MDUyMmU1MDg2YTkyNjUxNDg2OTE3M0NkQkU3QUY3IiwiMHgyMGI4MzI3NjQwMjUxN2FFM0UxNzAyZWQ3ODk3NjhmM0E0YTQ5NzZjIiwiMHg1OTkyNkY2MjM5MDllMDZiOEU4NTkwYjBiOUI1NTAwQ2JkMmI3Zjg0IiwiMHg4ODY1NjJmRWVCNUE1RTg4NDc5NkI1ZDQyOEUxNTc5MEEyNTY3MUY4IiwiMHhDMkFmMUQ2OGMzQzdEREFmYjRmOTUzNDQ4ZWFlOTZCMWFENWM1RDU2IiwiMHg2YzkxMDA3Yzc4MDZDMjhlRWFGNDM3NDUzMjU0RTQ2N0VFNzQ0YzhGIiwiMHg5NjA5NjNBMDE4MjMwY2I4QjI1ZWQxODlCZjY1RTI2N2UzMGJhYTE2IiwiMHgzRDIxOTlhOUE4NzgwNGQ2NmRkYmI5OUY4ODQzOTQyQjFmMjg2QzNiIiwiMHhCZTg4MzIzNDUxMGI1ZDlCM0YzOEU1MzA4QjI1QWI2MzcxQWQyNzdDIiwiMHg4ZjMwYmExRjc1ZWMyN0EwMTQ1OTE3ODlkMTE3YTFCYjQ3MDNiRkY4IiwiMHg0NDlkNEI3ZTczQWZEN2JiRUFBQTcyRkY2OTdDNDMwM2RCNDk0NUIwIiwiMHgxQkM4OWM4QTlkRTY4NGM1ZkUyYjYzOWUyMGVDQzRCZEQ2MjE0MWIwIiwiMHg4NjE5NjBEM2U4ODY5ODA0NkU4QTYxMzY0NTE2NTVkNGJEOTdlMDVEIiwiMHg1MzQ3ZjlCNjBEZTU2NjkxOTdlMEI1MzdhN0RmMDIwOTIxNzFFNzFBIiwiMHg1MzFlNEU5ZmJDQ2QyMmI2Y2ZlRWYzMTZhNUUxQWQ5N0YxQ0VlZkVjIiwiMHhCNzg5ODVERURlQTJDNGZGNzU5ZkM1M0Q1Q2U0ZDZkODY4RjRkOTUzIiwiMHhjY0Q0NDM1QmY5RTQ3MjRjOGYwRWEzZUQxMjI2ODNCYjE5NERhMTg1IiwiMHhhQkNiOTdGZTNlMWZhMmNFNEMzQ2VGQjkzODM3ZjMxOEUyOTYwMDRDIiwiMHgxQ0RhNGI5NEE4Q2I5YjI1N0ExZUNhQkRiMEE4MjA0YzMzNjA4MzNBIiwiMHg3M0Q4NmFCQjA0NDQ1ODZjMTFBNWZhMTdENjIyYzgyZkNDODkwNjc4IiwiMHg1ODk4MDllRDI0ZmZhN2I3MWI3Yjc3ODM1YTA2NmMxMkRDRjMwOUEzIiwiMHhlYzg1YTRDMjcxNjU2YjRkM0E2MDY5NDA2ZkI4MjNEQzVmNmFCNUU3IiwiMHgyQzA5MjJmOEUzRjYxREUyRjI2Njg2MjMyYWYyZDY4OGM1OEJBMDA3IiwiMHhlZThhNDQ2N0IzZjRBQjdiMkY1YUQ5ODZhMDFDRjY1MDA2QzJhMEU2IiwiMHg2QzYwQTg1ODE2NDNhQWI3RDlGN2Y1OTAyRUE4Y0I2RjE3QzkzMzc2IiwiMHg3NEI5QkVDMUUzMjE4QzJCODlhNjE3OWNDNWE5RWU1MDUyOTUzNDhjIiwiMHg3QTU4YjRFZDdCQmRkN2U0RUU2MmNiREVlNDE5NEY5ZjNiNjgwOTU1IiwiMHhGQkNEN2JkMWQ3NzkxNzNlMjM1YTk5ZjZlY0FDQTExN0ViZTY1NzViIiwiMHgxNDgyQTBDOEJkZWRmN2VhMDZGRGQ3ZTk4MzFkMTg1NGExRDg1RWRlIiwiMHhiRTZGQjk4OTVCNTE5NTI1NjlERWVGQzYwQzhGQkY0MEE1MTIyRDJDIiwiMHgwZkIyNkEyMEUzNDBlOWFkRmIyOUQ3Nzk2QjEwZjE4QmY2OWNiMzNFIiwiMHhhNjlGYzJEM0NEZURERTQ0RTI4MzIzOWVCNzllMmY0ODJGRjA1QjA0IiwiMHgzQmY3RkI2OWQ3NjRkNTQwMmU3YzllNTA4MGQwNjk5MzlhOTZCQ2VBIiwiMHhCOTUyRkMzRDA2RjQ5MTU4NzgxZURiMTkzQzM4MWNGYTFCNDkwMDdGIiwiMHg3OTYwMjVmODVCNDY4YTAyQTgyYTFEZmE3Y2RCODAwOTM3MjZENGNiIiwiMHg5RDQxMkQ3QUU2NDdiNjdFODExYjk1MTgxNzk2RTdFNkEzOThkNUYzIiwiMHg5QjU5MDgzMTY2MDRFMTMzQWEwQzc1OTYzY0E3QjEzMDQzQmU1NDkxIiwiMHhhRjBFOTI2Y2NiOGRlNDg3MzFEOWIwOTg3MEE4NkQ3NDA0MTU2MkMwIiwiMHg3ODY1QTQyYTE5RUUwYzg0YjE3OGI3MDA5N2QzOTEyNTEwMjVmQkRBIiwiMHhENTk2NmFiMWE0NUM3NDhENUJERGNBOEM5NzI1OUNlMjJiQjk4RjJCIiwiMHhjM0Y2NTVERjk5MmQxOTc2OTViMTcxOGE4NzZkODVkMDAyNDUyNjA3IiwiMHhkMTJhMDlBMDZFYjE1YTFjYzEwQWY0RDkzNmM1OWMwMzI5QzU3ZGM0IiwiMHg0MzJBZWREOGFGOEMyZTY3MEFmMGViZDhlOTYxNWNGZDkyMDVlQWRlIiwiMHgxQmRCQ2ZmMWRCYjU5MDgzNDI1NDdiMzEwNDhmQTkyQTM1ZEIyMTMzIiwiMHg3RTg4ZDRmRTU3Q2Q0RjRCQjMxMzA2RDQ5MzJiMUYzMWJjMjQ2Nzg2IiwiMHhBNWE2ZDkwMzUzMjc2NkZGM0YxRkM1YUIyM2ZlODBmNjNjQjFCYmEzIiwiMHg5OUQ0RDA2RTQ2MzNDMjY1QjZiMkEzM2VGRjM0QjQ3QzJmYzU4NDhkIiwiMHhCODA1OUYyOTI2MDVhNzI5OTJmNDUwQWJiMEE2RWMxZDA1RGU2MjE0IiwiMHhmRjhFMzQ3Mzk1OGZFNTIzMkQ3RjM5QmRlZWNlNjFhZEY4QjA1RkE3IiwiMHg3N2RGRjVjODM0NzQ3YmNGZDNEY2NDMzVjMjM4ZjJhM0Y0NDk1RTlGIiwiMHg2MEIwMWZGMTI2ZEU5M0YyM0ZGMDc3QTk0QjMzMzgzMTRkNjU3NUViIiwiMHg5OTQ0QWZGRTNBMDI1Q0RGREQwRDAwNzc3OWUyN2I1OEY0YTVlQzQ2IiwiMHhhZTgyRkM4N2M2MTczMzliQTdkNTRGNzJFQkI2MThDZEM2NzdiZGE5IiwiMHg3MUQwM0VEYTJhNmJjNDFEMzM0OTE2NTE5MzA4ZjNhNmY1MEVjQTNkIiwiMHg3RDc1ODI2NUMwMEEwMGRmYjFhMzE5Rjg2OUYyZTI4YzNhMzY3MjE0IiwiMHgwYjFBMGQ3ZDE0NjU2OTQ3YjdkYjNiOTMxQjViY2YxMDYwMDE2QzdkIiwiMHgyMEVkN2NiOGM0NGFFMWY2NjM3ZDA3ZTZiNDYxZjI0Njc3OERGYjgyIiwiMHgzOTQ5ZkUxMjY4Mjg0N2MwMTAwYzcxRWFCNkRDNjNEQzI0MDg4RjEzIiwiMHg3OEJFMTE3MTg2NjU3NEZBRTFEMjAzZjU1NDE5NDUwNjk5MTRlZUEzIiwiMHhCREE0QzY2QmUxRUM4Mjk3MTY4MTkyNzJBMUQxMTBDMzFFZjIwQWFDIiwiMHgwNDIzYWVjNTE0MzNkOGJiMUQ3NkQ4QTBiMjExMTI3OTFBNkQ5NjgwIiwiMHhFN0VjYTI3OTg1RDdhOTU0QTk5NEU4MjkyRDhhYzFkOTQ5YWFlMjJkIiwiMHhBMkZhZUIzNTA3ODEzMGEyOEU5Q0ZEQjYxOTBBMTZBNDFBQ2Y5OEEyIiwiMHg1OWE3Y0M0ODgxN2QwYmY2MzMxRTE0MzE5ODI3Njc1MTdEMTg1ODA0IiwiMHgzNTI0NWQ3NDg2Mzc5QTA1QjU5YWQ5QUIzOEViMmYwNTQ3NDYyMTM1IiwiMHgyMWNlNUUyMmRCYWJEM0I2MDAyZGU3MjQwZDNmODE3MjNFZjY0YThEIiwiMHgyMzhDMWEzNzYwM0UyZDE3RkIyQmE4ZTdjZENiREVkRDgwNjJmODk3IiwiMHgwRjM2NWEzN0YwMDY5RTRmNTUxMTcyRjNmMDZFZkU1QkFkMWU1OWYxIiwiMHgzNzQxODAyNzQ3MkI3QTY0QzgxQUFEQTRCYzA2MzNhN2JENmIwMDNGIiwiMHgyODM1YWIwN0RjMGZjOGVkOTc3ZTY2NjdjNDVkOERiNTM4Y2Q5NjIwIiwiMHg3MDhEREZGOTYwMkI3RTg5ZjdhNjhhMDRCMDVjMzQ0Q2Y4Yjk1RTQ1IiwiMHgyOTdENGQ3MjI2NTE4RjM1QzdBRjAzNmU0ODMzZTBGRUUwYkZDNmE4IiwiMHhBNDY5QWRhYTBhQjEwZDBCNEI5ZTRhYzg1MzlBMDc3MzgzQmRiQ0EwIiwiMHg5MzZlOEQ2N2FlOEM5Mzc1RjU1NjJENTk3MmI1ZTg5MDkyY2M5MzRFIiwiMHgzQ0M1NjE3RGJCNDNmNDE2OTk0Y2VkMjQ3OGM5N0M1ODA2OTFGYjEyIiwiMHgwNzM5NjZDMWMxZTM2MkIwZWM0NDNhMjU4MjA0MDIyNmE2RjhjNjg5IiwiMHhmNDVjNTBkOGNBMTJDN0JFODMxQTI0OWZFMUE5MjllYTk4OTExOTY0IiwiMHg2ZTZmMjA2MjE4NEM3NGYxMjRFQzBEQUU0MTg4MUFBQTgyZTg4QUJlIiwiMHg5NkRBMUFCNUI1QWE2ZTNENjQ4ZmM5ZTdBZjYwNkNkYjdEODZlQjdFIiwiMHhDRDcyYTNlM0ZlNThCNzkyQ2UyQzdhN0Y0ODhhQ2YxQmM4MTAwMTM2IiwiMHhDNzc2REY1NzAzNGZEYzdCNDVlZDQ2MTMwNkZjREVhYkViZDhlOGQyIiwiMHgyNkRkMkVDMTk0ODJCM2ZFNkZFZjc1OGVkNWIzMDlGODI2QzExYjk1IiwiMHhEMEQ2OTI5MDBlMzU3YjUyZGMwRkZDZTgwMGE3NzRDNkRBOEE5YUVhIiwiMHhiMUE2ODc2YWQ5OEZCQTY0OWE2NkJFOTE2NTU5MDM5QUJkRDNEQmJlIiwiMHhCOUZEZWZBNWRmNTM5NTBDNTY2NTk5OWM4RURhNzA2YmM3OTQ5MDNmIiwiMHg2OUJjZTJiMWNmMjI0RDBiMDRFQTI1NTA0OUNlRURDNDVDZUY0RDhBIiwiMHhhN0VlMzFBQjUwZmQ0NkM5RTA5NDExY2NCYkNDM2YxMkU2ODdlY0I2IiwiMHg1ZDcxYmRFMzIxNWQ2MTZFRWVkNTI2NUIyNzE4ZEY2OGZhMDgzMTMxIiwiMHgwQTQ4RTQ3NTMzQmMzYzM5QTU0MUVmRjIyZTYzNjhBMjUxNDQ0RjEwIiwiMHgyNzVFRTUzYWY0OUEzNGU5OEE5ZDcyZDAwMzE1NjZDQTkzMTRDZUFBIiwiMHgxMEI0QmJiMjc3M0FCNDc0RTliQ0I0RDcxYUNGNWI4NjI1REZGOWYwIiwiMHhlOTY0NzRhMGUxQjc2REFGN2JCYzVlMzIwNTA5YmUzNDRjN2E3RDM3IiwiMHg0MDlGNzk3RmMwODRjMjdFN0ZGOGJmZThDNzBGNjNFNmYwYWVEREU4IiwiMHg4NEY3MzIxMzYwRjViNGI3ODBkOUJlNWFkYTI0NjJENTM0YWNkMzI4IiwiMHhkOTZiMjBkMTYzQzBBYjBBQzRGN2RBNTg5NDExQTI5MzNDYjVmMmM2IiwiMHg0OEY2Njg5ODdmNGEyYjBENkFCOUNlNkVDNzIxMjM4M2UzRjU5QWRGIiwiMHg1MzRGNkZDODkwMzREMDE3OEYxQzdBNDI3MDMwNTY3Qzk2Q0QyOWJjIiwiMHhhRTU2RTQ2NzhkM0UwNTgyNDhkYjA2MTcxNTY4QmVDODE5YTZFMzU0IiwiMHgxODhhY2ZGOUM0YmM3RGE0YjZmMEU4NzM0ZjhBMzI4NjcyNEMwNTU1IiwiMHgzYjRBNmQ0YzI5MDgyMjFFMTM2YzEyQjcyQTlkMWQ2MzdBRTcwRkVBIiwiMHhkN2E5MDVkMjkzODA2NjYwRUJjNkUxNjVFNmEzZUY0YjliQzUyMWIxIiwiMHhDMWE1QzZlN2NCNkFiNDEzMTEzRGQ2MjREYjRBN0I2Njg4MzlFNDJCIiwiMHhCZDI4OWQ4ZkVEMjI5NmY2ZDE4NjE3Yzc2ZjkxODk5NEREZGIxQjBiIiwiMHgzMDk3Njc4Q0ExMGM1M2Y0MGMzY0VBZjU1ZDE5MzkwOTZhY2NDODNDIiwiMHg4QTBCZGZCNDg1YzQyMDFlZkYzZThFMWQ3NUQ2RTM5NmY4N2U2OEQ4IiwiMHgzZjFkNjY1RDE4M2M0ZDAxZUY2RjM3Mjk3OTQ2QWM1ZjMzNmQ2N0VGIiwiMHgyNkQ2MGNBOUQ3QURDQjk5MjliMDgxNzkzZUE5ODQyQWQ2MDM0NkVCIiwiMHg5NzkyN0FBMjc2OGQwZWE2YTFkMDY1OTIyMUVGNDFDRkVBOTgxQjEzIiwiMHhhNjc5NjQ3MkRDZjBmNTNlNjQyMDFlNDNCNEM4OWExNTU4ZkYzMkNjIiwiMHhjNEQwOTQwZTcwMzk0NUQwOUZBNGZFN2QzNjk2ODQ0OEU5QzIzM2U0IiwiMHg5QjM0YjlDOGNBNzdGNDUwMjU3ODM2MTRjN0U3ODBjM0VFZjYxNThCIiwiMHg1QzFCRDBiMmQ2YTNEQjNlRDA5MTE3OEQ0YjVhNTI3OUI4MmIzMzkwIiwiMHhGNEMyOTZkRmU5MzBDQTZCM2U1NUZmRThCMzhkYjYzRWJlZTZjN2U1IiwiMHg0QzgyQWExMzE3RGE4MzNjOTE1OTY3Mjc4RUU0OUY2N0Y4NjcxMzg1IiwiMHhEQURGODFCMWY3OURmZGUwNTU1YzIxOTgwMmI5M2VGQzFkZWVhOEU3IiwiMHgxZTcxODVFZTliNjgzNzExMzhhNmE0MjNCNkE2MDFlOWNCYzUwMmJhIiwiMHgyMERlZDEyZjMxRjMzOUZGNUM0YjcxMTYxOThiRTQxNzZDMTEyYzY4IiwiMHhEOEM2NTNEQmRhMTVhRjFFZTJjZURGN2YxNTc4MEU0MzI0RTJkODdCIiwiMHhjMjIyNTEwMWUyMjEzNzZCNWI3MEYwNTJkNDJEYjU5MzIzOEQ5YzdEIiwiMHg3Qzc1MmRjOTk0ODdhMEU4NDRGQzM0NzZjYjg1OUZjZTU4MTUwMkRDIiwiMHg5RWNBYjVFN0U5YjUzNzQ2N0I1ZmY2ZThENjVCYjJCNjBGNjc5RGVmIiwiMHg5MEE5Njc1YWE2N2E5YjBhNTAyQkM5OEQ1QmRlZDY2ODNERjBDNTdiIiwiMHg3MjVlYmI0OTQ0NmMwMzRhNERDQ2VDRkQ4MjkxNTY5OTk3NTEzQ0JEIiwiMHg3MmU4Q2JDYmMwN2FGNjBmQTUwRDIyNjRkRTg3RkFEMTM0NEZGMDI0IiwiMHhGMzkzN0NiN0MyQzY2MDk5QzQ5MDliNUQwNEU4NjZhQTAzOTBDNDBhIiwiMHg1ZGZkRDMwNDU4Q2Y5MTAzOTEzODc2RTJiQUJCQzBDRjhFMkFlMzMyIiwiMHgzNzgzZjIyZTAxMmJGNjBBZjMyNDA0MTAzNzhCMzNmNjRiYkE2NjU1IiwiMHg4Y2Q5QjZjNzExNDIzZTM2MjI1NjA4Mzg3RjMzRDA5NDdFYzhFN2I3IiwiMHhkNUY2NzE0RjZkODMyODgwZjJhNjJDQzk2MTNiMkMwNkFjNjg4NjVGIiwiMHg2Rjk0REU5ZjNiYUZGQTg5RUNDMWUwNTIzNzY0OTQ2ZGUyZThjOEVBIiwiMHgwODAxNjU3Mjg3YjAzYUU1N2YyMDEwYjE4RWVCNmU4Yjc3MTEyNkEwIiwiMHg1MzE3RTRBZUIxYWFFYkY0NjUxQzA5QTY5RjAyMWJhQTE1MDdFYzAxIiwiMHg3NUI5MjcxNTZGMUI2YTc3RTc2RDJlZjk5Yzc2RGE5ZUM4RGFmMTA4IiwiMHhGNGY3YWMxMTMxZWQ4NTQ3REU3MzZiNjAxYzJhNDQ2N0UyOGI4ZWE1IiwiMHg0MzM3YTk2OWYwMTYzODNjMUIzQzZDMzFGQjA3M2RGZTM3QjYzY2U2IiwiMHg3NGUwQzlFZTkwNjExZkFhOEE4M0Y4MjQ0M2MzRjg3QzU3Qzk1RjEwIiwiMHgwNjIzMjZEMmZGYzFFOTNlRmQwNjk2Y0NCODhGYzIzMTQxRUE3Qzg4IiwiMHhCN0MyNTQxNzUyODE3MTY4MzAxMDIwNzZCRkZiMjZERThmZkY3RGQwIiwiMHhmODhiNjkwNTc4MmFiM2I5Yzk3N0U5MkQyRDM3RUQxQTJkZDJERDNBIiwiMHhEMkJCQjFBNTRCMDgwMUU3N2M5YjQwMjdkNzg4YjkzOEFlQTdlNWM5IiwiMHhERWVEMzhGRDA3ODk3RDk2Rjg2NzFmNWZhZDc4MEY2OEVGM2VCMGE1IiwiMHhFMmI3NTZGN2JkQWRiZjM0OUIxMTJGNGRGMzUxMGU1NDQyQmQzZUJmIiwiMHg3ODc0MGE1NjY2Mjg0NzM2MjBhMTE3OGJFQTIzNjIzNzI2ZDcxRkIyIiwiMHhCQTVFMDE0OTY2ZEU1NzA0Q0Q4OUU5NTJCZkQxMDg4M0IyNTY1MEUzIiwiMHhmMjcxYTk3QjgxZkMyRmJkYTMyNDFkRTg4NGNGYTNBM0VlMzc0QTc3IiwiMHgzYzY1NmE2ZDViYjMxMzYwZGVlN2Q2RjJiMjBmNUM3NDA4ZmVDOTIzIiwiMHhjOTEwMkFiQzE2NzI1ZDVGYzJjOUFCOGEyQjE5MzY5ZjNlODRlOEYxIiwiMHg4NGI3NUQ4OEY5RmI3N0QyNjQzN0E1NmU1MGJGMTEwOGMzMDZlOUZjIiwiMHhlNjk5MDAwNjRBNTIwNzg5RTAzOWZmMDI1ODBGMTEzRUE4NTc1YzVlIiwiMHhFOEUxY2NjZjgwOGVlM2M3OTFlYWExYWM3N2EyQmJGMzhmYzQyZDVlIiwiMHhCNWUyNTkxQ2JlMWVBMjRCOTZmMGIwNkE4NjIwNjI1OTIzNjNkNjI3IiwiMHgzMGVENDhENUE1ODA3REZCNzU0MzU0Qjk2ZDQzQWREMzhDMzQ3MkU0IiwiMHg4MjgzOWUyRTE3NEE3NDZmMjE0ODNGRjcyRjZGMzhmQjlhYUEzNDE5IiwiMHgwOEY5YmM1OEQ2YjYzRjQwRDk2YzJGNTZFNzBkMDNmNTBGODU0ZmJFIiwiMHhFYzEyOTE3QjUxRERlNDBDOEE5MkE4M0Y5M0M5NmVkNmYwQURiMjExIiwiMHg4QTMxMjdjZjFERjdCNDMxN0FlZTE5ZUJmYjlmOUU1YjY1YjIxMTMwIiwiMHhEMzA5QWQ1RDBFOTg2MDBjODM3NjI0ODYxMGFEQjc0MjMwNzMzZjJlIiwiMHg4YkMzNmU1ZDhkZjliMzI0OTgwYWE2QjRiOWFlMzA0MEMxODg4Qjk4IiwiMHgwRjJERDBhMDI4YjA3NzkyNWRFOTAyQzYxQjk3ODMzNDZDOGRDZGE3IiwiMHgzMTQ1NEM3YjVmNWM5MzM2ZjRCMjVBZWNkZTYxODU2ZTlmN2FENjRBIiwiMHg2Y2JBNTUzNUIyNDFmY0VlNzBENjcxYzdDNDkxMTQ5RjhBQjc2NjliIiwiMHhCNjYyNEM2QmFCZDEzYTJjRUI0QzQzQUFCZjhmNTQzQkM3Yzc0MjEyIiwiMHgwMThGZjA3MUQ2M2Q3MDdGNTE4NzliQjllNkE4NEM3NUE0MzBhZmEzIiwiMHg2MDRBODFFYzUyZDUzNUM5MkU4NTViOTZiOGY1RDg5YTA3OTFCMEJjIiwiMHg0NzE0OGY2OWFGOWE2NjMzNzIwQkZlYTBmMEQ0MTQzMzlFRTE4NDJhIiwiMHg1NzBkNzQzNDdGMjFhMmNkMTgzOEQ4NzAzOThGZUYxNDA5NzM4MmE1IiwiMHhDNTNFRWExMzZBQjMyMDQxRDA5NDQ1NzI5YUM0NWNENzREMjMzNTM4IiwiMHg5MjY3NUJhOTM5ODhiNGZDMTlCYjkyMDc3RTc4QjVlMDhlY2FCNDhlIiwiMHgzMjk2MjY2M2E0RTUzZTc1N0M3OEZlNTA2NDNCRkNhOWQ5MmNjMGE2IiwiMHhmNjYwZTBjOUE0RGJiNzYyMTMyQjU5QWQ1NjA2ODBBYjc4YzA0MDEzIiwiMHgxNTlkNmRFMEU5YWY5MGE4YzVDNWMyZDlkZjk0NzA4MzE0OGM1RTI0IiwiMHgzOTEzRTgwOEE3NzUzYkY0M0VlMGY0YzgzRmQwM0Y2ODFlODQzNTFBIiwiMHgyNDU3NzkxZjc5QkIyZjYwNjIzODliNENDNGIxOThiM2ZFMzRlOERDIiwiMHhEQzJmMzUzY2Q5MDkwNjdmRThFMWNjYWMyMDZkRDRiOTk3YzU3NWFkIiwiMHhCMTk4MEY1N0FCMTQzMTU0ODYwQTNjNDU0NEVmZWU5NTkyOGJhQTExIiwiMHgyMDNiNzdCMDZCMGZmYmQyQmNFOTAwM0Q0YjYwZjM3ZkY3YzU1NTBiIiwiMHhhMTBlMkZEMDBkQzQzQjZCOTZGYkM5MkY1RTY1QWFlNzY2QjRhQmMxIiwiMHhDYzc3NjVCMUVEMjVBM2Y4MDZkQjQ0NTBjOTk2ZThjY0U2QjE3RTFjIiwiMHgwMmI1N0QyRjNDYjdCZUE0MTJjNzEyODEyOTJiNTIzMzA0MzIyY2ZEIiwiMHgxODA2OTk5NzZiM2FEQUE1M0REQmIwQjhGYkY2QjFEZkJlRTZGQUE2IiwiMHgzN0E4MkE5MzU3Mjg0NzlCMDNkMDU3RjMxQzU5ZDhjMTgzRWFlNThDIiwiMHhCY2IwZDZkZjU5NjQ2M0NBYjZFOTdCMGNmNDA4ZGI2MThFQ2JDNTk2IiwiMHg0YTAzZTA0YjA0NDdFNzdkNmE2M0Q3OTE4ODJGODVmZkIxZTEzRGIzIiwiMHhhNGJGMDVjMUE2ZTliRTc0MjEwOGNjN2UyOTlGYTUwQmNFMjI2MjkzIiwiMHgzOUZCN0FGNDJlZjEyRDkyQTBkNTc3Y2E0NGNkNTRhMGYyNGM0OTE1IiwiMHhjM0YzYjQzREUzYkIzNmFjZDNDMjM4YTg1NjYwNkE5QTg3OUU2NjUyIiwiMHhjREI3MTZkNDU4ZDMxNzJmYzFlNjVmMzk0MzQxODMzNjRmQ2Y1ZTQ5IiwiMHg1YjRkNUU4RDYwMmUyODdhMkEyRERmMzM3OTFmNjViYTdEREZEZWUwIiwiMHg0RTg0OUUzM0EzOWJjMzM3RDg2ZTExYmI3OTUzRDM1NzA3NjllOTk4IiwiMHhmYjZBNzZhNDc2MGU1MkRCZDA4NEQwRDFjNEM5Y0QzOWI5RjU0NzlDIiwiMHg5ZTM2QjE3MUExMGExY2IzNTg4OEFmQ2U3OTdBODc1ODY0NTZkNjk1IiwiMHhhOWQzNjY0MzNlMTI0NjZiRTEwOEU2Y2EwNTIyQTkwNzcyMjA1Y2U0IiwiMHhjMkU2MGZERTQ5OUQyMmNBNTA5YzlmYWYyQzNBYjNCRDk4MjI0RUMwIiwiMHg2ZTg0N0NEM0EyMzI4RDU3OENGNkFCNkVlOUYxZTE0OTFGMjFiMzM5IiwiMHgwNmFFNWQ4RjRlZGY3QjNCMjczMGQwMDlBQjJjNjIzZTVhMkU4RjQ3IiwiMHhEQ0IwN0JkMTRhRTNBQzUzMjY3ODE2OWY5YjUzOEU5NjE0Y2NmN0U2IiwiMHg0OGZFZjlCMTkwOTg3OTk4NDdlN0VjNjdmMjZCODIxMTVFYmViZTAyIiwiMHhjRGVFMGE1OWJjODRmNjE0NmNGRmM0YUI2RUI2ODI5OTgyMzdCQTI4IiwiMHhDMkUzN2RBQTkyQzkzMDI4YkY4RmZBOTRkMTNjNzFlMTU5NjQxYUEzIiwiMHgxYWI1ODI1ODljQUI5NDhlYTM2NjhGYmRBRjc1ODk0YTkzODkzYzBFIiwiMHgxMjQwNjhDRjE2QkY4NDNEMWJEOUIyM2Q1YjdBOTg1NDhDNWQwZmY5IiwiMHgwYjEwNDY5RGU5YjAzMmQ5ODc0MUViYjREMjg1Mjk3NjRmMTFmNTQyIiwiMHhGQTg2NjI5MGUxMDExOTAwMURlMDBkNERkQjdiM2Y4NDM1RTRhMjQ3IiwiMHg2YjUzMjFBMDk4MzVCMWVBNEQ1ZUFkRjZhMjc2NUFDZmYyNjA2ZDQyIiwiMHhCRTQ5RjRiQ0RjMjMwQkQ1NTExYTY5ZkU5NUI0NEM0NTk5NjM1Nzc0IiwiMHg1MmExQTUyQzlFZDczNUVjQkUxY0QyNDlhZTY4Q0NkMDhjZjAyQ0FDIiwiMHgyMjUxRkI3NmY4YzQ2NTQzM0Y4OWJiMjJjMTg4NTFlQWRkMzU3NzVDIiwiMHhBNkY1OUI0NTFBNUFDOEI3OGU5MDZGOWRlMzhkOTc3NDEyRjZiODFCIiwiMHhEMjM0RTZDMTEwZDIwMTAxMEFkMGZhRjU3NjgwZWUzY2NFODZkMDg4IiwiMHg5OTIzMjBmNWYxNzMzM0VhNzE5MzllZjU0RjQwQWY2QjUxMzdjQmI1IiwiMHg2NzA0MzYzM2M1Y2Q3QTAzRDhCNkUxNDFhY0ZCRTk0ODk2NWU5QmQzIiwiMHhhQTU3QzgwQkI5YTM0Mjg5NDNBZWREOUFFMDRlNWE2NzM2MzQzQjU5IiwiMHhDMzc3YmM5MzhDOTk1QjZFM0NhYTFjMzIzMGM1MDgyNEQ3MjQyMzVFIiwiMHgzQTcwNjg4MWYwMDdiNDNlMDkxM0VENDgwNTU5OTU5ZjY1NmI5ODI4IiwiMHgzNTRmYjJlZDFBMTc0OTI2Zjk2MjFEM2Q3NjUyQjZEZTk3ZDM1NzA3IiwiMHg3MGYzMjBFRkY5YzE5NmRhY2ExYjU5RUREOWY0QTA1NDE3OGExZTM5IiwiMHg1MzhFYjcxMUZERGRCMGU2QzY4YjIwMjZlMTZiNjA3QjlmOTJhQ2U5IiwiMHg5NDdCMjFCOWMxZWY0ODBDODQxMTY5ODA4YjZmMWJEMmM3Qzk2ODdkIiwiMHhDMUFBRjZBNEVEQTBGNDVlNDlGZjMwQzEwOTNEQjVlN2YzMDYxMzI4IiwiMHgzOTIxNjVkNUQ0NTk4MEVEOEFkNTVBNDNhMDlFNTgyOEVFQzNDZTA2IiwiMHg2RjgyN0QzMEExMkIzNTdjODM3ODZEQUQ1NUQ2NDI1ZjUyOTU2MjdCIiwiMHgwQUIwNkY5OUYyN2Q2NjRkZTFDRjc4ODMyZjBDNjg2OUM5ZDljRGIzIiwiMHgxOGMzM0Y3NThlMDlhMzU2MGU4ODJDRGUzN2FEM2U2OUZFNGQwM0NBIiwiMHg2MEI2QTA3QzBmZTFlYjc1QzMxQkI4Mjg1M0IwNmZGNDE1NzdiQTc0IiwiMHgwMjkxNGIzMTI3MEQzM0FlNWNGMWY3Q0UwMmM0NkVjMTQxNWRjRjRCIiwiMHgxM2Y0QUI5N2MzMTdEYzEwODkwNTFkNjkwYmQ1ZDI0NzM2MGViNjg4IiwiMHhkMWM2RjkxNjQ4RjYxOWU3MzVFODg1ZjExQTdGN2VmNDI1NTE5NEY2IiwiMHgwMzg5NjY1MzQxMTRlMjExQjFBN0E2ODVFNzJjMzM1NTlDNTMyNjMwIiwiMHhENDA2ZmY2MTk3MjdGZjFGMzRlOWJCMjdiNTdhODE0NUQwYWI2NDdjIiwiMHg2MTZFNWVhMWM0QzNEYjVjRjhjNTkzYTRiMUYzYkYxOTQwMmI2MjgzIiwiMHgxNkM2NjY0MzZhNTM4M2Q2OEQ2QjVFYURkMWRENTk4YjA4Yjg4ZTc3IiwiMHg3ZGQ4ZjRBQkY2MGI1OENFOTg5REI2NmFCMWFmMWQxMUU4OTM0MjlEIiwiMHgxMzRBQzc2YmJFYjE1MDBkNDRBOERkNTUxMGZBNUY0NTllMzcxOGY1IiwiMHgyQ0NlMjBCMWUwODE3NTU4Q0JkMzhFMzlFMWQ4YTgxRDE3ZTRmOWRmIiwiMHg2QzhiMERlZTlFOTBFQTlGNzkwREE1RGFGNmY1QjIwRDIzQjM5Njg5IiwiMHgyM0E3NDEwMDA0MGI1MmIwRmIzY2IxODIxMTRDYjY2NTZkMDEzRGIzIiwiMHg4OWRGMWJGQWU1ZjA4RUYxZjIwRTdFNWY5QmRDODJCRGQ5YTgwNTlCIiwiMHgwYjFENUE2NTFjMTZFNDIxODYxM2NBNGEyNjFjYzllRjcxZjJBYzlkIiwiMHg4MzYzMWFDNDM2ODgxODM1MTJlODRENzUyN0M5MTUxZUUyNWRlODEzIiwiMHg3ZjM4YTlCZTA0YWFEYjk3ZkNlMzA1MUU0RTgyOWZEREUwNDM3ZDFDIiwiMHg1MDVDMmY5Q2FEYTk4NDk2NUE4MzZFQURFMTRjRDM0ZTQ4QTQ3MzBCIiwiMHgyOWJBM0Q4OTlFOGE4MTlDZjkyMGFkQWZGNTNlZjFDRjMxOTY5RTY2IiwiMHg0YTM2Q2ZFQ0JEMDliRTAzRjQ5M2M4MjlFZDQ4MkE0MjlkOGFDY0RkIiwiMHhEOEE5ODdmYThBMEVBN0FmQzlBMzBmNDlCMzAzNTgyQUZkYWY1NDc0IiwiMHg5QzA2M0Q4N2RBQjVCREUxQjVDYzI2NTQwMjdiZDYwMWRlODk5M0JGIiwiMHg5NmE0N0VBYjAyNjdjOTQ1QTM0NGVDZTYwRTJmRUE5YzQ4MzA2N0REIiwiMHg2QmFhQkI5NjE5YTg0MkQyNjE0RDVhYTE2OTQ2MmJlMzQ1ZWI2NEJFIiwiMHg4ODNmNmNENDkwNjI3MTBjZmI3MDE3Y2YxMzdDRDg5QmY0NzM5ZkQ4IiwiMHhCNTI5RDQxYUZiYzY3QTFCOEU5QkQ3ODkyOERkZEFGNmFiZjU2OUU0IiwiMHhlMGRDNWY0NWNCM0VCMTM3ZjVhYzgwNDkwMkQ5RTkxYWUxN0ExRURhIiwiMHhjODY0NDczMzE0YTY2ODQ4ZDM5MjFhMDJBRTI4YkFhYTY1OTIxNjg0IiwiMHgwRGE1NGZiODUzMDU0OGU0MTI5NjQwM2NBM2Y2MkUzMDJENGIwZTdFIiwiMHg4MjI5RjhjMTMyQUU3MzcxY2YxODliQmE3NDdCMTQzZDBDOTFkMjk4IiwiMHg4MDhFZTI3OUVhRDVEMDExQTVjNTFGNjgyOUZkYTU3MTg3MzVlRmNEIiwiMHgwNTdlYmVENUMwN2I0ZWMyZTcxMTRhMTM3MzYzODJBMjRCOUQzM2Y2IiwiMHg0ZjkyNjE5RTlCMzc0MkY3M2RjZjE5N0E0RDVkMTBkYzg5NWNkNzJGIiwiMHg3NjEyZjU0M0ZlMEVGYTIxMWJjMDI0ZWY5MGI1YTM2OWQ5ZmExNzg1IiwiMHgzQTNCYTc3ZWM1M0Q5ODIxMWJGZThEYmM0Q0JFMjA0MjEyNDEyYzhDIiwiMHg1NjAzMTY5QjNkQTgzZGQxRjc3OTlFNzE2YkY4MmQyNDIwN0REOTMzIiwiMHg0NTE0RDFCZEEzNzlFMUNBZDAyODUxQzFmMjViRkU4ZmZiMDRmMDgxIiwiMHgyYUMzNDI5QTVkODQ3NTVBOTYzZjRhQTRCMzc4NDZGYzlCMzVCMTIyIiwiMHg4RmFhMjQzQzUzNjlmRTVEMzI5RDQxRTUwMDUzOTg4N0E4RjlkODgxIiwiMHg0NTk4QjA4ZERiZjM2NzQ2NTA1YWM3MzRFRjBGMjAxMTFmYzgxNWJCIiwiMHgwNWQ3Y0QyNkFCOTNFMzAwOTUyODc5MzIyNkNDMDcyMWVDNjMyYzczIiwiMHg2ZTlFNmI5MjhlODg2NUJEZTE5NWNjREZjYUZmRDdBNDE4NzFiNEYzIiwiMHgyZkZjYzkzOTMyMTVjNUZjM0M3OUQ0Q0I0RjY1RDUyMkU0YkYxZjcyIiwiMHhFNUQ1NDkzYzA3MTcyYTcyM0ZBMmMyNDIwMjI0Qzg2RkJlY0JjYzM1IiwiMHhEMTJBZUFCOTRDNzlkNjJDYTczOTc2NzJBMTQ3YTAzODE1RWQyYTA4IiwiMHg4NTZBNEQ0MDVBNDk0MzYyMDg3QUFlZDUzNmVjMDUzMkE5ZjQyNTgzIiwiMHgwNTc3MzYwMzUyZTQyOEY3OWQ2ODM5NWRENURmYzM4NDU5MEYxMDA5IiwiMHhCMmQwNDhDQTYxOWE5N2JFRUU4QTU5MDQwMGUwYjRFNTIzZGFhMGQzIiwiMHhGYWQxOTMxODA5N0U4Q0JiMUFmMmNkNTllYzYyOGNlOEEwZjAzMkJBIiwiMHhGODE1MTFjNkNkNDBGN0M0RUU0OTQ4ZTNEQjg4RjU4MDI3ODBBYjVDIiwiMHhGNWMzNjFFMmZmOTk5RTc0M2E5MjY2RUFDNDdlNGQ3MjI3Qjg1MDM2IiwiMHg2ODY1ZDAyMDM0NjczODlCZTk5NDRlMzU1MmJGMzJmRkU3NDIwOWRkIiwiMHhFNDMyRjlkMTY1NDJmMDZBM0MwNDNjNmQwMzg5YTk4MDczNjZCMmQ5IiwiMHg1REVGMTcxMjQxMTEwOTAxYkJCMTIxYzkxZmI5NzE3ODc4RjE5YjM3IiwiMHhFOUNkMzQ1YmQ1NDg1REEwNjA0QjlGQmQ4ZWYzNGQ1ZDM2RjllZTkzIiwiMHg2ODIyZTUyNzk3OEU1RGFkQTc0MkFiRDJBNzIxMjY3YjFmMDFDNDk2IiwiMHgyRDI1NzRlQTgzM2MyM2ZjZTJkNTc2MzM1NUYyMDM1MjgyOEE2NTJFIiwiMHhBMzg5Yjg0MzFBMUFiZDQ4N2JhZjUzNWYzMUM1MmRkNzFmMmZEZkI3IiwiMHhlNzJBQkUwNGI1MjQ5NTllNzU1MWQ2NzgxYjBFZEZGOWVEOTQxRDI3IiwiMHgxODA4RkQ4MkMxMDc1ZTZmNjllNTQ1NTcxM2E5QjRkNGFhODFmMkZDIiwiMHhERjUyQjRDRjMzMTRhNzI1YzYxNmJiNTRGODBkNjA2M2M4MzgzNjQzIiwiMHg1OTk3OEJkY0U5NkE2OEY3YzFlODI0MjYwRWNiYmU5NzlGRGIwRDVCIiwiMHhkQ0IyNTg5MkIzYzUyYWVkODhFOGUxNDMwMzY4MjQ4OTI3NjJhYTkxIiwiMHg1Y2QyMzJhNmNDMDczZDFBMzg2QTJkQzZhYjRFNzlDMzkxYjk2ZTA2IiwiMHgzYTE2OGIyNUNhMUU2ZjBGNDZCZGNlOTVmODYwNTk0NkY1NGEwQjhkIiwiMHgzYzdCQ2FGMzljYzU3OUUzQTk3OENiMzcxZDAwYTEzRjVBYjdFNERBIiwiMHhFMEJDYkQyNGY1NDAwMzkxYzFDYjc5YmU5MkU3MzJFQTdhN0RkNGM5IiwiMHg5NzJlOGM4RjE3MUE4ZWQzYzY2RDI5ZTc4RkU4QWNkMmEwZDRjNjREIiwiMHg3ZkU2RTgzMUQ3ZmZjRGQwNkFENTAyMkI2ODdBOGQzMDU1NEUwQzJiIiwiMHgxNjRhMTUyNEJhMTU5NjFhNkQ5QURBRDU0MzI4OTlkYTg1NDE3NmVFIiwiMHg2OWE1NmVGMzg5MjliNTEzQmVkQUI1ZmQxNjQyNmRDMjk5NTVFNGJFIiwiMHgzRDQyQjhhMDRlMzMxNjEzMUVEOGIzMTg2NGUxYWI5NkIyOEY2OWEzIiwiMHg4MmQ1RmIyOUM1NEMzREQ3NjJjZkY4QTc2RjNCYzM2MjVBYmY2OTM5IiwiMHg2OGRFNDM3Qjc3M0I2RDQwMmI1ZWM3RTNkMDI1ZTVjY0NDMmVEMjE5IiwiMHgxQzIxYzRBODZjYTA2MGQxOWRjNDhhNEVBOENCMTA5NDE0MDBCODI5IiwiMHhhMzM0MzVmY2E0YzY0OWQwNDhERDc0ZjAxRTA0REZDODU1ODA3MkI4IiwiMHhCZjc5MEVCYTVEYjZlZWMxNTRBMTRiYUIxRTFDNDYzQkQyYjU4MGUyIiwiMHhGYTdBMDFhM2M5MTIyMzIwMGFmNTdENGI3NjEzMDNmZkY2OGQxNTgxIiwiMHhDQjlGN0YyYWE5MTI5OWFEZWFCQ2NDZkY0RDNiY0JkMWZFNTA3QzVkIiwiMHhkYjBBMjYyYzU5QzFlOTM2MjI0ODA5NThBMDFDMGZEM0I4NEE0OWY2IiwiMHhEREY2NDQ4OTIwNUQ1ZDExN2E5MkM1RDY1ZTAwOTUwOTA0RDEzZkMyIiwiMHgwYzA5MENiNzY3QzJkYmMwQzc5ZmE5OTY0OTdGYkI1YThiMjk5RTE5IiwiMHg0MzFEQ0RiM0FBZEIxNjQxNkQ2NTY5QjRDRTIzRjUxMjkzNjgzMGQ2IiwiMHgzOTljNzRGMDVDOTEyRDYwMzI5YjAzOGQ1MjYyODU1OGYyOEU0ZjdlIiwiMHhFNjI5ZjAzODY0ODA0MjdhOTE0Q0Y5NDI2OEI5NjhDM0RjRWE5NkMwIiwiMHhBMzU2OTM5RTIyODc4YWY2NDU2MEJhN0U0MjUzNjUwRjhDZDk5MTVkIiwiMHg3Mzg3MTM4Qjg3M2RCNjdGMUYwQjg2Mzk5NEUzOENFZWVDYWY1ODIxIiwiMHhBQTJFNDMxN0IxM0UzQjRlZEZkNDU2NDI1MTZCMzFFMjExYzNlNzFGIiwiMHhFNGE1QzNkZkUyOEI3MDcxOEU2MzlkZWQ4NjI3NGViMzRkOGQzNDUwIiwiMHhjZEY1YjIwN2Y5ZWVFNDE1ZWQ3RDY4QWZiRjcxNzI4NmNiOUFjNkUyIiwiMHgyRDU4N2JkQjgxOWFCMzdmMEMzQkRjMTFFYTIzNDBmYzU4RTJhMjUxIiwiMHhERjEyM2RhNWY5MjM3NkVCMkZjYzU1NDEzN0Y2Yzk5M2IyRUYwMjBEIiwiMHg4ZEY0Y0I5NzI2OTA5NDU4MjVFZDIyMTljOEE1NTY2NjhFQ0VhRERjIiwiMHgyQjZmMjAzNzE4NWE3RDMwOUVDYzdDNGFEZjE1MGFCNTg4QTIwNDY0IiwiMHgxYzM0MkE1N2FFRGViRmVBZEM4NTBEMkViRjE3NTEzMUIwQ0UwMjJEIiwiMHg3NjNBOWU4NUViOTFiNUEyNzdBNjQxRjE0QUUxOWUwOUIwRkMwRThEIiwiMHhFOWJlOTM3MGI1ZDg2NDZBN0EzZUI4NjQ4M2U3MUI0ZDRjZmRBM0NkIiwiMHgwQ2VmQjM3ZkIxMjhGQjcyNTMwQTUxZjcxNjg0QjMzNzg0QmYyYURjIiwiMHhBNTZhRWFGRTc0NTBjMEUyNUFGZGFkN2EzMjg2ZTY3Njg2MWRiZmRGIiwiMHgxNTZCRUYxZTIzOTQ2MDgyOTJmRGRiNjk5MjBBNjc1NDM1Qjc5MmI5IiwiMHgzMzY4Q0I2N0Q3NEJFOUFBNUQ3Njc1NEU3YjlCOWU2ZDBiMDk4ZTk0IiwiMHgzN2U1Q2FFYzY1QTJEQTdlM2E5Y2ZENWIxMGQ1ZTY2ZDVGMWEzNzg4IiwiMHhGZjc4MDIxMzUzNThGMmQwYTdkODNiNzhGNzgwYTcyNjU1YzZhM0Q3IiwiMHhEMjE4RTI0MDYyQWE3QTY3YTY0OTNkZTFCM2U1NTcyRjBkOUU3YmZjIiwiMHg1MmJGNTYxQkEwRTZERjM5MmQyRDFCZDdhNzVmZjBhNDM1RGM3ZmVhIiwiMHhFNTNiZkZmRDVkOUE1MzI1MGEzZjMwNDA5ZkRDNDYzQ0I1RWQwNUUxIiwiMHg0RjI0NDBCNDQyQjZkODNGODQyQkYzQjBkNTlhZkFkOUIzZTVkYWFjIiwiMHg3MmUyNDgzZWZENjFlNzZEYTAzODU3NUY4NDZBMGZDNkIwNUFGMzNkIiwiMHhGMkFmZTg0Njc3NjU5NTI3RjE3MTZjRUJlNzE4MjRlMDZDNzQ0ODg3IiwiMHg2N0U5MUZkMzM3NjFlZGQ3NWY4N0Q3NWY1ZTJlMzIxN2M4YjM1NGQ2IiwiMHg1MjNjMUYzYjE5NkI4QTAwMThmZDE1OUE3MEFiNDg5MzlkMDU1MUIyIiwiMHgyMjVDMDFlOEM1MzEwNzE0YkNiOGU4Y0VGNjhENTgxNDM0OEVGREViIiwiMHhBMDlBZGRmZGZjOGU5NjQxMzdCZjYyZjE3OWZDZDE0OUJkOGM0NThEIiwiMHgzNTcyNzAyMTYyYTg0OTExRWZCN2RiNTE1Q2IwZGMyYkE5ZTk5ZDEzIiwiMHgxNWY3QjlhMGM1RkUyRjMzRDNkYkRmMWJDZEIxRjZkQzdiRUQxMEIxIiwiMHgxOGRjODA2MjlkMGY5OThDMzkyOGY5RDczMzI4ZjVCRWZGRGU3Y0YyIiwiMHgzRUQ0OEZDNDBCQkU0NjAwQjZiRDlkN0EwOUMyRWJFMTIxOTg5MDgxIiwiMHhBNURjYzVBNDg3NmJiZUM1MDYxM0I5MzhjY0IxM2ZjQTAyYmY4YzI4IiwiMHg2NURkMzhENTA4QTYyRjRCOTlmQzBhRjdEMTAwQ0RFMkE5QTA0ZDc0IiwiMHhhOWU3MUVDZkU0Yzg2MjI0QkFBMkZBNjdBNjY3YjVEMjMwRjQzMDdiIiwiMHg4M0M3MkJmN2M2OTc5NUI1MzQ5N2RCM2QyMTRiNGU0MjM2MmYxYjVlIiwiMHgxODUyQjkzMDhGMjg3QTA1NDBGMWVkQmRiNUVCNkFCNTQyQTRiNTkwIiwiMHg5QjY3ODFFNGFDYkUwRkVFMGIxQ0QwNDIwMTBDOTg2ZDM3MTc1MTZCIiwiMHhFMjc3MDJCYUJhQjNhNDM4QzU2NEY1REI2RWVhNUYzRDNmNGNBMDkzIiwiMHhjNzVkOGMwMDY5MGQ0MUU1NGM5MTRCNjdFNUQzNTQ2MjE4MGNCQWFmIiwiMHg2M2ViYjJGNzQ1ZDQ5MTA3ODlDOURDMDkxMjJBZTM3QzMyNGUyMjBCIiwiMHg5YmFDOTBmYjkxOTIyYkQ3NEQ4RDNjMzQyNjVlREJjNmY2MDRFZDExIiwiMHhmMTU1M2UxQzJCOENhRjNlNGExNjgzRTNDMzJlOTBhRjg4ODY3RjBBIiwiMHgyY2RBNmM4Y2YyMDJiZDcwMjE4ZTQxZjg3Qzk3MWYwZEU0Q0UzMUQ5IiwiMHg4MWMwMTFjNDBCODhBQjMzMjE5Njc5MTYzMTE4YTU1OTJhMkQyMTRDIiwiMHhiNEIyNjI5MTU3MjBEZGNmNDU5RjMyN2JmOTIyMGI3MTYwZWJlNTA1IiwiMHg4Y2U0NDAyNGM0NjU0NUU1QWIxRDE2QzMyNkVhMTU3ZGFkN0IzYzAwIiwiMHgzNjFmRTMyNUVlY0ZkNWVENDdBMDAyMTE0MDY3MTlGRUZiRUNhMzJCIiwiMHgwQkZBNzJjYzBEN0E5YjcyNEY3NWE5MzliOTZiRjg4NTI5YTY3OERjIiwiMHhjMUU0MzFmN2YyN2QxNzdDZTQ0RkQwYTU5ODJlRTM2Mzk0QTY1MDA2IiwiMHg0OGNkOWZCQjYwRDRlNzI4N2ZCMWQwODIyOUQ1N2RhYUE3ODY1MzYyIiwiMHhiNjgxNTk5YjBBRjEyRDFjNDAyMWRjNTc0MzhjMGZGRjg1Y0ZjYUEyIiwiMHhDMmI4MjQ4MjE5QUQ0MjQwOGNFYzYzNkIwMzgxZTQyNkJkZjdjYmM1IiwiMHhlOWQ1MmI4MjE1M2E1QzA1ZUMwZTQyZThDZjA3Qzk5Qjc2NzBhQTJiIiwiMHg0OTkwRGZjOEJFQzU3ODNGOWY3NjMxYmVmMDI3MGZmMjc5MzFlOWY4IiwiMHg3ZGZEOTBCNjQzNzA3ZERDMDZkZjgwODk0YkNCQkYzODY5MDJkODU2IiwiMHg0OUVGOTlkQzVhMDRjQTg2NGM5MEFEYTA3NmI3NzFmMTFGNzJjMjI3IiwiMHhhMEU5N0JEODBCYmIwMTFkRDI0NGExMDE3Q0NBRTExN2Q0MTJCRWNBIiwiMHhkNkJlMThDN0JjQmNjRmUwYTMwZkQ2NDBGQzNFQzg3NkJhMERjZENiIiwiMHgyNUE3ODEwOUY2OTMxY2IyNjAxODMxN2IwNWMzNGY4OTYzRTEwMEIyIiwiMHgzN0NDNEZiNEExNEFCMTI2YmIxMTVkNjhhMDc4NjMwNWQyNGZDODdBIiwiMHg5QjRkNzE0YzAxMDQyMWUzYTMyRkVBRDhBNTYwOTY2MDIwNzMxQTEwIiwiMHg1MTE1NTZGODVFOEFCOTQ3NDE2MmQwQzQ2NjM4YzlENDE0NEJDODQ2IiwiMHgzRUUxRWJEODhBODM5NjY2Q0M5MDA1RkE1NzE2NTVENUQ1RkI2MkRhIiwiMHgwYzg4RDcxYjFEM0Q4ODIzMzI5OEFCRmQzZDdkMEY5NDc3M2Y0MWM2IiwiMHg0OUE0ODUyNjM4NTcyZTEyOTczRjU0ZjZmNDMwQTU5ZGNENUVFYkZiIiwiMHg5REI1ODg2NDQzMTk4Mjk4NWU5MUE3MjMzMjA1MzE2NmNiREUwZTJEIiwiMHg1NzhBN0VFZmFlY0E0QzQ4NThiN0RlNDZmQzU2ODNkNkU4YzVkQzZGIiwiMHgxRGRGQzQ2ZDllMzRCMDM2ZjQ3MkU1YTU4NGRmNDIyZmIzZTlkREE5IiwiMHhkN2JFN0U2NTkwODIyM2MxNGVjNTM0MzlDRjE5YTk4NDRjYjIzY2Q2IiwiMHg1MzgwM0M2MkEzN0RCQzMzYTI0QkE2OEUzMzU2MDBhMzczMWQ4ZThFIiwiMHg4NzUzOUUwNzEyOTg5MUZDNGUyMGJCNzZkYjVhNzA2M0MzYmQ4NDAwIiwiMHgzMjc1ZjZDREQyNzIzZDhFOTUzMzJiOTQyZTJDOEI5ODMwMjNFNjNkIiwiMHhhM0NiOTQ3RDYyNTQ4ZGQ3MEM1QTgzODE0RDNDZjFlOWNlNkM4ZmIwIiwiMHgxRDk2QTlGQmY0OEMwMThkOGFDNTJGODE2ODRjZDFGN0RCMjkzOTMzIiwiMHhkOGM5RTBhMjczOUI1Q2VlRDQ1NDg2QTBDM2IyNEQ1OEIyNjdENDhkIiwiMHgwNEQ1MDFCRjc5MTM2ODMyNmIyNjgyRjNFREU3ZmRCN0U2NjQ0NzRDIiwiMHhEZGJkMGI0QzlFRTUzMTdCQTk0M2RBMjQ0N0ZGZDEyOWU2ODI0OTAyIiwiMHgxODI5NjM5NUM2NDU3ODhkQjlGNTk0ZTU4NjFBNDAxNWQ4Mjg2NkQzIiwiMHhDZDllZWRlN0IwZTkyQzUwQzlFYWQxRWQ2RDhmN0Q5MkQ2ZmVBNTliIiwiMHg0ODc2NDRGMjQ5NmNDMmMwODFGNEY3NDM1RTMwMUI1NEEyODBiNWJEIiwiMHhmOEFjZTNiODA0ZDE1YUM4MDgyZTIxRGYxM0NBNDdBNzk5RkRmRTEzIiwiMHhERDE1MTg2MGQwNGQ3MDc2ZmMyZTA5RTZkYTU3MzY2RjdCZjVEN0YyIiwiMHhBOTYyQ0Y4MzUxMzJFNDhGYzM3MTBCNTlDMjZCRkM5MEQyZjE0NDEwIiwiMHhhMEZDNzBhMjQxODIzMTg1ZWZCMmY3MENkQjVBOGRDNjFBMmREN2YxIiwiMHg5ZDM2ZWUzNjBGYzgzQzc0ZjJiMjI4OTQ0MzRkMDBCMTUxRDA2OTE5IiwiMHhjOTU2ODFCNUNBMmNkYmNkOURiNTdiOTMwRTVCNDY0YmM0NzZEMEVCIiwiMHg2MjhlM0MzZTZEMjJkMzFGMTA0ODgxOGQ3NUE3ZjlDM2QyNDgwZGJmIiwiMHg0MzlERTZFMzg3OWE4OWYwMDVmMDg3MjkzMzZhYWUxRjNmN2RiZGU0IiwiMHhFQkI2YjRBYUZBODVCMTZEMmViOGY2RmI1NEU0OTI2MmEyRUY1OWQzIiwiMHgzRTcwQzFCQmNhNkViRTkzMDRmZjI5MzQyREY0MDQyMUQ3N2NmRkE5IiwiMHhmMWZhOEQwRjcxNTc2YzA2NTRjNkVBRWNmYTQ0M2Y2MzcyMTY5NzM4IiwiMHgxMzg3NUE2OEFDYTc5QjM5M0M0NDQ0MEE3ODM0ZURiQzIwOUZkNjExIiwiMHhBZTJGYWUzMzNENzMxMkQzZWVjYkFhNmZmMjBBZTAyRDBDMDEzNWZlIiwiMHhjOTBlZWFDNjQ0RDcxNWI2QmNiNWRmNzQxYTRkNTkzOTIyNEMyMTZFIiwiMHg2YUQ3MTBkRTcwOGExOWI0YjhjOGE0M2U5NjZEMDY3NWYwN0RiMjIxIiwiMHgxMjhBMjYzRDI2NjM5ZDVmZjc5NTY5Nzg4OUFiRTM4YmViNzE2RGJBIiwiMHhmYzFjMENkQTczRjQ4N2E1MzlFRmMwOTIzN2NDQkFlNGE2NUNiMTBCIiwiMHg0NThFNWJENDk0MkFlNDhkMTA0N2VlYTAzM2ZEOUU3YTllOGYzM0NFIiwiMHg3OWI3NDIxN2E2RTBhQzUyMzAzZThGRTA5REI5MjAzMzk1Q2U1NGNhIiwiMHg5ZDhiMkQ3ZkE4MEFBZWFFYmI0NTgzQTQxOGQ3RGZhMWY1NTQ5MzVFIiwiMHg1MjlCYjM4MTU2ZDc5RUIzMWYwZTczZTZjN0FGQ0I0NWJGMzAzODg4IiwiMHg5Q0UwNzRmYTNlNjAzQ2JjODc1NjREMWY5M2E1YzVFMWQxZjIyYzc0IiwiMHg3ZTFGQzFFNzg1OEYyN2NiN2MxRmE3RkQyQjhCRDA2MDhkOWVjY0RlIiwiMHhGMzRiOWFmNGY5NzgzQkJDM2U1Nzg2Qzk2ZjkyZDY3RjE3ODU4NjA4IiwiMHhDZGMzRDJjOEM3OTA5MWI5YjYzQTcwQTk4NzE2ZTNiNDBkMTI5OUQ0IiwiMHgwODI0M0NGMjk0OTZCY0Y4Q2E3OEVlODdCMzc4RDk4QTk3RThDMEIyIiwiMHhFY0VhYjJiRTFlNjI2RDM0QmRFNzgxN2ZmNWYwZUZmMWE3ODcyRWJmIiwiMHgwNDFFMzMxNjcwNzNGMDk5MERjMGM3MUFDZjM1N0MzNUFGMDBCNjYwIiwiMHg0ZjY3NTlDOTE0QjU1ODdlZkJEYjUwYjNGN0Y2Mzc5NzRmNjg5OTMyIiwiMHhEZDBBMTU1OGFGMzAzMTk2MjQyQzBEMDgzMDJiNmMwRTYzQjM4OTU3IiwiMHg1RjYzRDNlMjM1YWQyRjlGZkNFMEM5OTViZTI4Yzg4NjE0QmQ3QzkwIiwiMHhhMjg2QTA4QjlDYTJlQTA2QzljODVkZjNhNmRmMWI2NDBGNGQ3NjRBIiwiMHgwYjU4NkQ4ODgwNjVEOEE2NTlmNjg4NWI1QjFDNTljRDA5NzlFM0E5IiwiMHg4Zjg3Y0Y4YmE1MzMwMTgxQTI1QTRGNDAwMGY0NThhOUFkOTA1RTFlIiwiMHgyYjRGZTlkZWJhREEzRjg5NDgzMDI5ODQwMmQ1QkM2Q0I5M0UyYjYzIiwiMHgwNDVjMzhFMDAyQzlDOUMxMWYzNTVkRTc1YWQ4MTZhOEVERTYyMWU3IiwiMHg4RTk2ODFEYjU5ZTJmNkI1NzczYzcwRjc3RmFhMTc3QkE5ZDJhNTkyIiwiMHhmQTlmMUVBQ0YzOTZBMDhmQzkzOWQ4MDhhRDc3NzIyNTEwOTdiNmNCIiwiMHhCMjhENTYxQjlCMDkyN0UxMTljZDAwQ0E2ZTZGZjM4MTRFNmRDODgyIiwiMHgyN0FGNTA2MGNFM2YyM2UwMUQ1ZEU0ZTFjQTY4NDkzM0MwNTlEMDkwIiwiMHg2ZDVDMDA1MjUyMUQyQWMyNjAwN2I1ZDg1Nzk3M0JiZDhjODUwM0VCIiwiMHhjMDIzRkQ3QzlBNzNGMGMxNGVlOWZkODViNzBCQjQyQThlNDEwYkYyIiwiMHhFMzBmM0Y1YWNBMzFjNmFFNDhDOTkzMDY1ZjUxMzc1ZGMyNDE2ZkZEIiwiMHhmZUNDMjk2OThhRTE2M0YyMzJlQjEzNjg1MzdjNzU0NGJhRTI2MjU0IiwiMHg3QTIxMzNBQ0ZhMTY1RTk0QTJERTZDNGYxYzA3NTlCRDBEMTVENmIzIiwiMHg0NUNjMkNiNTk1N0ZGNDc1NDk1YUVDQWM0M0VhNjI4YTYzYTlCM2YxIiwiMHg0OTc3MDQ2NDI4MjE5M0QwNkIxYjI1MGQ1RjkxQjRDNzM3MTNjNjA5IiwiMHg5YjdEYUQ3OUZDMTYxMDZiNDdhM0RBYjc5MUYzODlDMTY3ZTE1RWIwIiwiMHgzRTRlYzkwQzc3Y2I3QjVDMjFlQmRCNjk0NENFM2RDNEY3MTJCQjVEIiwiMHg5OGQ0RDc1NDMzODNEODc3ZDZFZDE3NGU1MUFGMkNDQjQ1YTgyNjMzIiwiMHhkMDk2ZjFlMTcyQTFiMjk3NEQxYmNEMDBjNjUzNGUxNTE2MTVhNTE3IiwiMHhGRDQ3MmY4QTkxZDc2Yjg4ODY3NDkwNzM3MjQ1NTlENjFmOWY4NzVGIiwiMHgwRjdENjA3MzM1OTU1MTAzYzYyRTg3ZjVBOTRDRjFFMzYyMzgyYTRmIiwiMHgyNUM5YmQwODk0NTczMjlCNDVjNWUwNENkOEI0ZjQ5MDlhRjU5YmVGIiwiMHgwMTkwNDc1MEVFNTMzY0JlNTE3RTMzYmNlNTI4OTRBMzEyYjIxMDcyIiwiMHg1MDQxRjdBYTFmQWQxRGQ1NTVlRTkxNDFjRjQyMjk4NTY2Zjc0OEIwIiwiMHhGOUZCMzRkYzgxNUIzOTc2ZDdhOEJFQjEyNzkzNWJlQmY0Qzc1QjgxIiwiMHgwYzRFMDAzNDNhNzZFRDVhM2Q3OTJkMUUxYmVCOUM0ZUNiMEU3MkE3IiwiMHgyOTMyMUE3NjVEMTliYjcyQmZjMUMxNzYzQzk0MmJBZDQ1YkIxMDZkIiwiMHhCRTUwNjMzOTI2Q0ExMTE2MkJGODA1OUEyOEIyMzgyNjdkQUJjZEQ5IiwiMHgxMjBjYjBFN2YxNjRCMGVjMEY0ZTM3YzZFRWFhZGVEODY2MGQyOGJGIiwiMHg1MEI5NGVBZDVjNjA5MDk2OWNmNzNCNGRBMTE1NTVmYTFGMDNhOTE0IiwiMHg3NDc3NTU3Y0Q2NjkxYTU1MzFmRjY0QkNhNjM0MGM4MzA0OTUzODkyIiwiMHg1Y0Q1N0ZFQTFFMkVjNDYzZjkyMjIzRTg3MjY1MzVhRDYxMTY4QzJCIiwiMHgwNjhCNzhjOTJGY2RBM0FmNGM2RTk1NWVjMjlDNzhFMDQ0NDZDMkI5IiwiMHg3MGVmM0NiNTk3NjFiNmQ5ZTkwMjhlOUZEQTIzRDAyY2MyMTFDZDczIiwiMHgwMjU2NjQ3YkQ1NmM5MjRjMDBhNjVEQTA0OWJlMzU1MmM1NDQ3RTQ2IiwiMHg0MDRERmJhMTliMjlEMjM4QWU3NjRmZEM1NmE5NmVFMGE2MTI5MTExIiwiMHhDODc1ZWYxOEExQzcyYjU4MEExMDAzMTVERDA0QTIzNTdhRjNDNGM4IiwiMHhFQ2EyMGQxNTUxODBBRDBlMTY1MmI0MTA2MDQwMjVDZUIwODI2MTgwIiwiMHhjOUYyMTA4NjUyNTczNUI1MDAwMzc1QkU1MjE0Qjk0Y2ZDRDNGMjJDIiwiMHhkNTgyMWUyMjZlMjkyNDRmYjM1ZjJBOGJiMDE3MjAzNTg3RTkzODNlIiwiMHhFNDc2RUU1NWUxQjg4MDllMUU1MDc0MjIzYzQwMTVGODI1NTcwN0UyIiwiMHhjOWE5NTU1QmJGQjU2YmE0ZTg5YWMzOUYyRmI3MzYxQkM4ODM5MTFhIiwiMHg3MTQ4M0MyYjQxMTY0N2U3YjYzNzFhQTBDRmE4YmU3ZjQyN0I2QTdDIiwiMHgxNUU2OGU2Njg1MUVkOWY0MmJiZWVGZTA1RTRFZmM2OTA3N2VEZTA3IiwiMHg1MDIwMzFhNzA4ODIxZmVkQjMxRmFDOTg5Q2IxNzRhZDFFRjUyMGNDIiwiMHg3NzQwNjQ2NWI3Q2I4OTUzRDBhMTViMTE2MTcxMjNjYUI1MzUyQzJDIiwiMHg3ZDBBMDk5QjQ3OTJENzI1OGFkYzg5ZTJFRmY0ODg0NDA5NDVENTlEIiwiMHg4MDcwNkMyODcyNzE0YjVmOGNDNzNkODZEY0I1NjMwQzQ5Mjk0ODcxIiwiMHhhMDU5Rjk3NTM4OTNEMTg1Rjk2YTliRDNjRTQwRDk2RDNBYTBhNEVGIiwiMHgyZDQzOTM2REIwOENhRmIyOTM1MDc1YWM5MjhBNzBDMzdEOERjZjEwIiwiMHg4MzkyNDkxZWEwNDU3OUQ4YThmNjllZDM4RjgyNjk5ZTJmMEFmZkRiIiwiMHg5ZTdBYkYzMUU5MTcyMTQ0RTAyZjUwMWYyNzJhMDM4MDdhQjE0OGI0IiwiMHhCNzIzQjA0N2QzM2U5OTI1ZkIzRUFlNUZCMDFmNEE1MTQ1M2YwQkQzIiwiMHhiNUQxMDQ5N2YxM0FBNDU5YjUyNjdiZkQwQjg5QjkzNkNDMmQ4NTMxIiwiMHhiOTgxODVDQURBNzhiNzQ0YTBmNTQ3RmM1MjA0ODhlY0EyMTRkNmIwIiwiMHhjZjE3YTRkNzhEMjIzNmQ5RWQ3ZDFBNzg1RDBFM0NERmYxMkIxMDlGIiwiMHgzYUM5YjkzZTE4NDFDRjYyYmM3NzY2RTE4NGQ5MzA1MzE5NDYxODcwIiwiMHg3N0IwNzBjNzU3NjREMTJDRjc1NGNjOEJGNjc2ODNjNzhGODZBNkJkIiwiMHgwNjNFQjk2YTgwMzc5NDVCNUU4QTFhNjMxQTZBNzM2ODZlOEI4ZkRmIiwiMHg5MzU3RGZFMmFjMGU5MDdkRjREOTU2YTEyOEUzZUQxOUYzRDJENERhIiwiMHgyRUYyRDUzMEFCMjRhNzM2NjBjOTMwMDJGMzhhRTc5NDgyMTlBZTc3IiwiMHgzOEIwMjViZmI4QTNFYjhmQTQ4NzVhOEFBNkY5MDhDMEFmOGJkNDVBIiwiMHhEM0JlOTJCNzU3ZTI1ZkQyMjJBMEVmQzU5ZTREOWY4YjM2QzVjRTUxIiwiMHgxM2U4NmI1NDZCNzk2MkEwMDJDODJmMzQ3MGNiN2U4YjhEMjFCNmU3IiwiMHg4YUYxMTE5MWRkOGM2REQ1ZjFkZTYwMjFEQkFiQ0EyYjM3ZURDN2NBIiwiMHg3QjQyMEY2YTAwYzE3Mzk0NjFkYjE4YzVhZTFBRDc4MjBFQjI5RTVmIiwiMHgxMDgzYjk1NEExN2JjOWQ0QzY2ZjJFZTA2YTRFQkIyNjREYjYwYTU5IiwiMHhGMjQ0NTdCRDJEYUQ2QTUxNmExZkRjMjkxNjVCNGU3YTVmMjkxMjFjIiwiMHg2MTg4ODM0NzE5MTJCYzYwNTI5MENhZjM1YzEwQjQwMEZCN0Y1MkU0IiwiMHhmRGQ5YUVjYzEyMmYyQzgwYzYwYzJGOTc1ZGQyMTA0MzY0MTgyMzAxIiwiMHhBQmRBMTdlZjY0QTFiRDVkOWFBNjZDNThkYzBiMWYzNzIzYzE5QUE2IiwiMHg4MzU0ZEFGOTQ3MzU1ODhCMjQ3NkFGN0IwNzFEYUMxNkQ1MDI0NEFkIiwiMHgxODlDMjU0MDA1OWM4YTU3ODRkNUIzZDQwNTA3OTlBN2E3ZUY2OTQ0IiwiMHhDMTY5YjY1MDlEZDljN0ZENzBCNjQzMzNhM2I5ZWVhQzFGNzIxQzMwIiwiMHg1Yjc1MUY2RjY5OTUxMjVkNmFDY2MwMzc2NDJFYzVjOWREZDEzYzkwIiwiMHhlYTg1YTVCMDAxMDgzODgwOTFCNGIxNTgzNUE1RDgzMTMxNDc1ZGRjIiwiMHgwN0M0MzBmNzMzNTBkRTViNWZFOTU3NDdCQWE1MzVDNTdmQTE2QWY2IiwiMHg0RmI4NjE5MTVjMDQ3ZGFBY2JjYjRFNTU5MjhmNjY1MTQwYjE3ZWZiIiwiMHhhMmFFNGI3YjAxZTg4N0NDNGE2MDk1NTVlYWNmOTA4M0ZEYTE2MTIxIiwiMHhhQURkMWFmN2U3QjcyMzlBMjQ3NTY2YTJkMTNkYzM2M0ExODdCODJCIiwiMHg2MGQxQUMwYWI0NzA3MjBCODMwMDQwYjlhMWUxZkZkYmNCMkMyNDU0IiwiMHhCRGM2OURGNkUyNzM2MTM1MjA1NWE2ZDFENTQyYzk1RGUyQzgwRDllIiwiMHhkMjQzMTRDY0NCNzQyQ0VlMDJjMjNlODE1QjVGYkY5MzBiREQxNmM1IiwiMHgwZmRCMDMwQ0RDNDA3NjlhQTdlOGZGNTAzOTUxMEFkQjlENDY4MzY2IiwiMHgwMmJFQzE1MDc4N2E4QUU5MmFmQmE0OTQ2OTdGZDc2MmMyYUZiZTQxIiwiMHgwYTY2ZmVjODRlNzFhMzUxRGNFZWRGNjU5NWQxODk0NWIzMzAxN2QzIiwiMHg0ODQ1NDAzQTZiQzQ5MjBjNzliODFlM0Y0MWExRDExMThFNEVEMkI2IiwiMHgxZjc2YzZkN0ZhYzNmNzc1MDU5ZjUzMkUzMTdiRjM3MDcyRjU5QTQ0IiwiMHg5ZEM4NUVBZjAxYjA2NGIwMEUzNTY0ZmM5Mzg0MzU0YzJmMGM0RTkyIiwiMHg2QzE1QUI3MDJiZmE4MDYzYzgzMDM1MDk0NjQ2ODM2YzEyOTJDNjA5IiwiMHgxNzJFYzYxNmUxMTBGZEIyOTlmRTkxNDQwNDNkNzlEODRiMTgxQjlDIiwiMHg4MTQ2NzdlNTRhOUY3MzAxQTZGOTY1NzliMzU4NzBEZTlmQTcyMjAyIiwiMHhjMDVDMTY5Nzk4OUYyNDk1N2JDN2Q3NzM3MzI5Njc3MEQ2Njc4NjFjIiwiMHg1NDFGNEMzM2NlOEZDNTI1NTQ3NDBkYTQyMmM2RkZBMjhEOGNDOTZBIiwiMHg5ZDg2MzM3NkJmRTRGMzgzYzQ5ODc0M2Y2NzBFNkE0NTBhZGQ1MDZGIiwiMHg3ODc2YjEyYTA3MDM0NkUwNzYzYUQ4NWI2NzdCNTY5RTA3MDAwNThBIiwiMHhiNTcyZDM4RTMxOWNEMzkwOTc5ODBGZWNGREFjNkZlMjA3OWNCQzQyIiwiMHg1REU1QUYyODFlNWZCNUZENWRhNTE5MGMwNjkwNTljM2QxNEIyM0NCIiwiMHg2RkI3ZkQ2NDgxMDUyMURmRjIxQzlkQTNFNTZCZGRiRjBlNzFFNTM1IiwiMHgwNTI0OUM2ZWRlMkVCYzg0NDkzY2E5QjdBRjVmYjgxNmJBMDBDRDAxIiwiMHg1RkI5NmEyQ0VmODJjRjI0MTJGOTk3RDJlQzlCMWJCMmU2YjM1Q2ZGIiwiMHg2YmRCOUU3OERBNDgwMWYzMEI5NGZiMzdlMkJmNDNEMkUxNjZGZkU2IiwiMHg2QzMwNWI4MGI0MDUxODJGQTNFQWNmNEMzYkNBMzg2NTYyNTQyMmUxIiwiMHhGNDEwNWQ5MTJiNEU5Yjc0MDBFOWVGOWJCQzY1MmUwN2JDRDBlMDJlIiwiMHhEMGY4MGViQjZDYTVEYUVEODNmNGU3MzI0NkE5NkMzNjVBQTE0RkE1IiwiMHgwODQxM2UwMmVjNEFGYzc5YjU1MTY5MzRjMEY0MzhBQzkxNEYwZjY2IiwiMHg2MkQ4NzY4RDFGMjc1YzE1NjBkM0Q0ODlCQzg5MkE2MzFCNjc0Nzg3IiwiMHg0NGNCMDhiNzQ0YzI1MDhiZTVCNTZhNzM4ZTBGOTJjRmFGNDEzMTA5IiwiMHgyMDVhODIzYWFkMjMzNTQ4NEM3QzA3MmVmN2E4M2IwRmZmZjA4NjZjIiwiMHhjYTY1RDNjYzUzMjFDMjk4NUJhRThGYzU0ZDU5NjY3Q0VjM2JCQTVmIiwiMHg1RmY0Nzk4RUJmNDUwMmZFNzc5ZGQxMGIxMzc3MjMzNDRlNTcwZWRFIiwiMHg5NWE2MzRBNzgxM0ZBM2JCOEIwRUZGMzI5Q0QwQWI1MEQ4Y2Y2YzdmIiwiMHgxYkQ5ODkxZjg2MEYzMmI4ODk4RURmNjk3NWRBYTczYjkwMzBjMEE0IiwiMHhGN2RkNmQ0RTY0OEZhRTMzZWEwRDkzRDUyMDg0MzFENDNmQkYzRkI2IiwiMHgyMkVjMjExRjI4REY4OTBBZGY3NzdGQTk4NDJFNzdkMmZDRjdmMGMzIiwiMHhiMzA5MkI2OGZEM0VBQjYyOTEwYjc4MEY3MmFjNjg5ZTA1NkI2MDYyIiwiMHhEMTgzNjZCOThiMjQxMkU2QTAzN0JDM0Q5OTFBNmY3MTAzODcyY2I2IiwiMHhCMWU4MDBhOUQwNzkxODA0NEZDMmY4QWFmQzE5YUQwQWJiYzVGMjZkIiwiMHg4QjcyOTk2NTU5NUE4YjZlMzI4RDlDRDk2MTgyNDA2YTVDQmNBRTIzIiwiMHhjNEMwYTE5QzZiMmYyNTdhNkQxNjUxMDdDMDc0ZDA1QzE5YjNlNjlFIiwiMHg3MGIwMzZFYkM3MzA3NkE1NTNhOWRiMWI5ZWNGOTU4OEFhNDZBQTA4IiwiMHg4NjlhNjJEQ2REQTM5ZDg0RjVCNTU2NDdFNWI4QjYzODZBODAzYzYwIiwiMHhjM2Y1Yzg4YzcwZjQ0NWExRTBiQkE1QkEzRWY2NGFhNTc5NjdlZTdhIiwiMHgzNTVjYjA0Y0NhNTRhNTI4NjYxODhFYmVGNjYwOUYyNDA4NmFGNTNFIiwiMHgyQzUzOGVkMjYzMTA4OUJlMjRDMjM2MmFENDUwMkRmMWVEOTgzMDBEIiwiMHg1ZTRmMWZFZjg2Q2VhNTZjRDE5QzhiMzBiMTkxYTlmMjY3NzU2RTI3IiwiMHhmODA2NDRjNkJFN2YwZDY0ZUZDYTFCMzZlODM1NGIwYWZBQ0M1RDkwIiwiMHg5ZDg5OTI4MjczRGY1MDM1YURFMjlmOURDNThmMkJlZTFmZEIxRTU3IiwiMHhkRTgwMzc2MTZmMDE4NjcwM2RGN2ZhMURhYkU3YjE1MDk0QjUxRGFDIiwiMHhmMjQ3MWJhYzRkQWI5MWY4Q2NBNjI3MzNhNjNjRmNlNUQzNzdjY2ExIiwiMHgwNkRjZWQ4ZDQzY2Y2ZWRmMUFlODYxMzhCNjU2NDJkMGQyQzU2NjAxIiwiMHhkZDVlMTk4QzhjYTkwNDBCOTU2ODZCYzQ5ODE2ZGFBNjVlNjNFNzMzIiwiMHhDNWRlODkxRkRhNjdmMWJmOTdEMzRCZTRGNjIzNmJiMzA1ZDJmZEUzIiwiMHhkNTQ4M0VlQjYxODZEY0FmNTllN0IxMTQ5OTQ1NkJCMGZCNzNmN0JEIiwiMHhDYjQ0OUMwRDA4Q2Y5OGQ5N0U4ODhGYzI0RjAyQjkxODg1MjEzNDU5IiwiMHg3YTJiM0VEM0EyQjI2YkUxQ2VhMkRkMWExNDYyRjAyNzgyYzU5MWFEIiwiMHg3OGJCYTQ1MzQ5MWM0ZDYxNWEwODlCOUZBMjFERTMwMEZCN2UyNzREIiwiMHg2RDZEN0MzMTNiMTRDZjQzZENCM0VkNTYyODAyNzFGREVCMmUxNzkwIiwiMHgwNjVDQzJmOEQwOTI5RDE1YTVmZGFEYjNkMjVkYzBCMjc3MkIxMDMwIiwiMHg2NUVmZGM2M0VkMmIzOTY3Nzk4ZTQ0ZTM3RTQxRGNlNjQwMjg4Q2M5IiwiMHhkQWYxOTk3RDI5NEU0Y2Y3MDVDMzg4MzQxZWNDRWIxQWU1MGI2OGZkIiwiMHhDNDA2Nzg4ZjhjMGQxM0VlMTk2QjRFRTBCMmFGNzQ0MGRmMTJkZmNDIiwiMHg2QmI0ZTJBZEM3YmU4QkMzRkM2RTE1NmMwRmE5NDlGMDJjOTdGOEZFIiwiMHg0MDU2M2U1Q0Q4MjA2YUJDMkVhMjE3NzJjRTk0NzczQ0ExNGJBNzk3IiwiMHg2NDg5YzI4MjgxNTYyMkIyRDc4YTRBZTMwNDI5ODA3QzJCZDVBNDMxIiwiMHhhN2I5MmE1NWVmZDY1NEM5ZTcyOWM0M0I4RjI3MGRlOTc5ZkI1NDZEIiwiMHg0ODA0OEY0QzEzMjc2MEI4RmJiRDVDYjRCOEM0NjAyMEU1OTlDODU4IiwiMHhjZUI3NkI5OUEzNzdGQWM5MTRCOGUxOTBmRjcyZWVDYjIxRDlBNjEzIiwiMHgwRkQwMWNjZDk3YjA4ZWYxYjhFRDk0MjM5NEUxQTQzODlFNEVDN0RGIiwiMHhCODkxMDU4MDE5NDY2NTdDYkFFNDcxNTIwNTVjOTIxRjk0Mzc5QjcwIiwiMHhDN2YwMkQ5RDZGNEE4Q2I4MjlFMWY2ODg4NkFBNkREYTk5NjhiQTFkIiwiMHg2NTZlMDRBQjE0ODU5MzRFZjM2ZTNkZDUwODgyNWVlMDI5RTM4YTRiIiwiMHg2YjAyMURmMkJhM2Y5RWM2RGQyZjdmNTNiMzlkMWZmNDNBRjE4YjJjIiwiMHhCQUMzOEYzQzcxMjk0MzUyYjljM0Q1ZTcwRTRjMzUwODk3MDU5MURFIiwiMHgxNEU4YzJhMjI0OTQxRjIyMzk3MzczNUU2NzZkRDcwMmNkQ0Y5Njc2IiwiMHhGOTY0YTNlQjA3RjZEQzU2RUNkNjE3MTk5ODlEN2Y2YWIzMTAxM0RiIiwiMHg5Y2Q1OGQxN0VjZDJBN2Y4NDhiYzdjZkUwOUNhMkNCRjA1ZkIxMUE4IiwiMHgyYzNiZmFlNUJBNTM2RmU3QkFEOUZhMGI4RDZjOEFmNkREMkExOEIzIiwiMHg0NDZjMEUwRjUwNWY3MTA1NjdlYzFjODkzMGUzQUYzNjMyQzY1MjdEIiwiMHgyM0VCNjBiRjg5OUY4QTdFQzlENDhjMmMxZTU0NTQ1NTM3ZUZmNDA2IiwiMHg0NDY3MEFjRDhiQWVCRmQzNzM5OTk3NzhlQTBDRGJlOWFlQ0I1ZkI3IiwiMHhhZGY4Y0Q1MjVFOWY2MkY4MzBhYTMwMzNCOTAxZjc1YjYyMDNjQzMzIiwiMHhmNTA1MmVDRTcxNkE1MzkzODdGQjgwOTAzRDQ1ODhEYjkxOTU0ZDgxIiwiMHgwNWYyMUU2Mjk1MjU2NkNlRmI3N0Y1MTUzRWM2QjgzQzE0RkI2YjFEIiwiMHhCMmVjMjE3OUY1MUJCZjllMkY2NkNFYTQ0ZEY1MzgwOGMzNEVGMkYxIiwiMHgzOTE4QzREMDFlNjYzM2FBQmE2MDliNUFENjA0M0VBMkE2NkJmNzU5IiwiMHg1QjI0MGQ4YWI4MDk1OEY4RGRlMEYyNmE4YTM1ODc1OWI4MDE1NWQyIiwiMHg2MUQ4RDE1YzVFOGZENzRBNjVlQmE5ZjJmNTdFNTIyNzE2M0EwQzkwIiwiMHg2YzE4MzQwNTE4MDI5NzhkMTdiZDk3RDg0NTJCQjRlZDAyRTFhNGEwIiwiMHgyNjM4NDRiQ2RBNmU0YzE0NENmYzFjNDU3NjI3MWQwOGU2RDI2RTEyIiwiMHg4YTIyN2I1OURiMEMzOUExZURBZDFGZTcyNDgwNzQ2YTJEY2Q0YkJCIiwiMHg0MTE2NTYxMTk1MjQ2MTk3YjA3YTVhQ2ZkNmU3YTFGMDZiZEVmMTI1IiwiMHhDMTJEMUJiZTUzNTIzMDE1NTFCMDQ2Q0QwYjJkMWRCODI1NGM0QWVkIiwiMHg2N0E4ZkVBYTBmMUJmOGRmRjA5ZDY0ODhjMjIyODBEQjZFNjMyNkI5IiwiMHg4NmM3MmY4RTg1Y0VFQzZmOUNEQjdEQkYxMURkZjE5Mzg0ODQyZjAzIiwiMHg5QWQ2RTAzYzJjOThlOUM2RkVlMzBmZkIzZGMxMTZkYzg2MkI4YzIxIiwiMHhDRDdDMjliN0FCMTQxQTU0ODAxMUFkZTBDYzJENUQyZTBlOWM3RDYyIiwiMHhjNTFjNUU2Y0U4ZTU4MjExYzE0OTQ5NGVmN2U2MWY0ZDJCMjkwODM5IiwiMHgyYjYxMzBEOUMxODlCOTAyZmVEMERENTlDN0JjODY5ODg1NGVjOTYzIiwiMHhBMzFGNEE0OWZlNDVmOWY1ZjJFOWM1ZTY5MjMxN2JmZDQ5MTcxYzI1IiwiMHhDOGMxNTYzOEU3NkI0QjI2OTJGNTEyQkU0MWMwNzc3RjlEMzYxM2FCIiwiMHgxMWM5QjIzODE4YzI4RmQ0ZDQyOTEzNzRkMDE4NmRFMkRBMjQwYzgzIiwiMHhEMjJhZEJFN2NjMjk1QjEzMjU5QjE0RTVGMkU5OTRDNjBiMTI4NDAzIiwiMHgyMWRDODZCOGM3ZDNFQzMwNjBjRDZGN0U0MDVhOGE2QzZkZDFmMkFiIiwiMHg5OTBGQTRCM2UzNmU0OEE5N2I0NzllYjQ1N0QwMUNEYzBkYTVGNmUzIiwiMHg1QTA1YjcyMzhmNTg0N0NENjYzNjQ1ODQ0NjlGODIwNWIzMWUyYjVjIiwiMHgzOWNkNTk4ZDc4RDAwMjdiREVENjJmZmI4YjQxMzQyQ2Y4OURFYjBGIiwiMHg2M2FCNWFBMDUzN0FGMmM5RUZjMkVlYTgzMEI0QkE0M0E5NGMyRDY4IiwiMHhiMTFFMTIyNmJDM0VGMTc0ODQ5MEJiNmZBZDhBMGQxQWFhRjBBRDQ0IiwiMHhBN2RBNTk0Q2Q3RDgwMzEzRGM3NDQ5M2JBNjc2OTFjRGYwQTQwZDcxIiwiMHgxZWQxN0JENjFEMDYyRDYzOTEzMDY1NDk5ZUUxNDdCMkYxNTRDNDlCIiwiMHgwMjlBMTcxYUNkM0M0NEJERTMyY0VDRDlFNzY1ZjdhMENlQWFCQ0RkIiwiMHgwRjA4MzE2RjI3OWVGNjdENzgzOTAxQTY2Njg1ODRhZTlkODJDY2I0IiwiMHhBOTI4NWJGRmYwMUNkNDVDYkU2NUUwZDg1MDI5RWY0QzZGQzgxQ0Y5IiwiMHg4NTY0QTE4MzcxMzZiYjNkMkFCNTcxRTAzMTk3Y2JFQmI4N2MwMDRkIiwiMHgxMzk4NWI0YjA1YTY1OGI3YThmRTM3NDQyQTIzY2EyODAxYzAwQzg4IiwiMHhhYzI1NzMzMzU1OTU2OGFBNTIyOTQ5NkZCMzQxZkNEZTM4NDNCNjFGIiwiMHg1M2QwQkE1YTg5Mzg4MjkxOWEyODk1ODlkM0YzNjQ1MTY5RGQ1MEE1IiwiMHg1N2MyOUQ5OGIwOTFCMTZlMDdFMjdGODQwMzgzNzk1ZDQ2MzZiQzcxIiwiMHgxOTc1NTMyMTU2NWY4YjI0RDg5MDE5RTk3N0I4YjI3RjA2OERhNjhjIiwiMHhiNmM4ZTVGMDAxMTcxMzY1NzFkMjYwQmZiMUJBZkY2MkRERmQ5OTYwIiwiMHgwQjk4Y2VkOTcyNzBEYzA3NWVGM0VCMEQ0ZTcxQTkxNDg4ZDA5QmMxIiwiMHg5MDc2MDBlOUJhOWU2MzgzODhlRDMyZTdhNDE0YUJDMkY5OWQ1ZEFiIiwiMHg5YzRFZEUwYmY3YjE2NDY3NzI5Y0VFQTlBRjY2YkI2RWJBNjE2MjI1IiwiMHhEMzY2QzIzOWM1NTFjODFkMEFFZDE4YzNiNjlCNEFlNzUxYmZFOUM4IiwiMHg3MjUwMUI0MzFlRkY4RUI3QmEwNzZiRkFBYkU2QUZhNjExNGQxQzBhIiwiMHhiOGExQTg2NWU0NDA1MjgxMzExYzViYzBmOTBjMjQwNDk4NDcyZDNlIiwiMHg5QjgzMjQ2YjE3YjYzRjIwOUIxOTA3NTNhQ0IzQTM1RTA2MmNmNjE5IiwiMHgzOTRlQjc2YzVkRGFjMzY2NWYxMzdhNEVhNDhBREYyM0ZjNGM0ODE2IiwiMHgxMDA3RENCNjVlY2FENGQ4OTVCMTIxNGY2YzQyMjliQTY1NkMzOTRmIiwiMHgxM0JiM0VENkIwM2M1MDc0ZTllRmRCNEFCMWE4NTQxYjk1RUYyYUFEIiwiMHg4ZTQ1NjAzM0E3NEZDNjk2RDc2YzRmMTUwYTFiN0RmMjVEMGE3NDM1IiwiMHhlMmM3N0M0NkU0NTAxOTAwRGI5MjIwOERlRDYxOEJiNjlmQTk3MmUwIiwiMHgxZmFlZkEyZTc3Q0Y4NGJiMGEyNzU5OTc2NWQzMzUyNkY1NWExMDE2IiwiMHg1N2U1MDVlMDliYjE3MjlEQTVkYzk1RUJmMjE5QmRmRjJFMDYzOWFlIiwiMHg3MkUyYzg4NzA5YjlDNDExNUQ3NEM2NzdhNDNjYUJBYTRBMDMxNmNhIiwiMHgwM0EyYjA2M2ViRDM1ZGM2M0ViMTNFYzk1OUZFNTlEYTc5YmU5Y0ZGIiwiMHg2QjE4YjNkNjVkMzQxRUIyY0Y1MDZmNjZCNkUzOGRDYkZmMDE3NDc2IiwiMHgyNDlkNWYxYkMxNmVBZEZFNmI4OTVFNmIyRThCZjdDNkJFQkY3Qzk4IiwiMHhFOGMzRmYxNDFiMThlZkUyYWIzQkQyMzdDOUE2ZTYyYjZmNjI4YTM2IiwiMHhjNTBDODcyNTg0QWFjRDNjODRGNTdjMTdGOUUwZDEyQTQ0MGI5N2RjIiwiMHgwNzhBYTU1YTgwMEUxZDRlMGFCMzY0NjI2MWI1ZTNENGI0Mjg4NjA5IiwiMHhGQzFhYmY4NTY3ZjlhNTgyODdGYzM4NDg2ZTExM0YwNkE3OTE4OGQxIiwiMHhBOGREMTE5OTJFQThEYzlEMTBjODhDODZjYjk1NDNhRDk0NWY3QTAzIiwiMHhlYzU4OTU1ZTNjZDMxOTk5NzZEYjdkODA2NDVERjE3Q2I2MzdhMDMxIiwiMHhmZTE1RGEzOGEzMDM1MzI2YTgxRjFjRjQ1ODEzNjFDNTVEMkJlZGM4IiwiMHg2MjRkNmQwQTBjQjdCQzU4MmEwMTAyQjM2MmU4YmVmZTFERDdiMTczIiwiMHhmNDIyODhjRjQ2NDdERTdhMzFGMjkyZmNkREFBODZkMzE3QkNBNEJiIiwiMHhiZjNkNDA0ZjMzRUM5ZkIwRWNhMThmNmU5NkY1RGU4MGEyNDQ5OTUzIiwiMHg5OGJEMjRBODkwMjlGNDVFN2Y1OWFjNThiMzcwMDUyYjc5MDBlMTYxIiwiMHhjN0RjNjA1MmQyOEVFRWRDOUY0NDg3OTQ2ZTg1YkE5MkI1QUVkZWQ1IiwiMHg1QkY0YUYyM2ZkMTYwRWYxZGMwYzMyOTAyMUQ4NzUyRWM4ZDE2OTUyIiwiMHgwMTE4ZjkxQzQ4NjQ5RWM2ZDlGM2EyNDQzQkJlMWVCQTFCODEzMEJmIiwiMHg0MTEzOTEwZDFDODJlRTE1NDlEMTljNjEwQTI5YzNkNThhMDNCN0ZlIiwiMHhGYjM0NTEzZjA5NUI2Mzc0OGFFNzM1MTIxY0I4MGU0RDM4MWJiZTRjIiwiMHg2QWM5NjE5Qjc5NzczRDU1NDM2Q0NBOGNlQ2ViYmQyZEZFQzVBOEJhIiwiMHhkMUJlMjg1OEE5YmFiZWJDRDQyNDRiM2M0MkNhMTczYjc0MDQ3NEEzIiwiMHgyNUExN0E1YTkwNzk0MUFhRjZENkQxYzdBQUU5QzljYzNhMzg2ODBDIiwiMHg0NDUyNzE5OTVkZENEMmY3NDJEOTRDZGJhNjAyZDdkMEIzRDA3ODdEIiwiMHgzOEVkZTQzQzFjRWE1MjgyQkM5RDFkYjJEQkY2NUNkNkJjMzAwMERCIiwiMHg4Njc0OTFkOTkzYjNiM2E4Nzc2NDc3ZGQ0MzNjYTliNDYyZDY3NUQzIiwiMHg4NjMwMDA1RTExNWQ4OTA2ODQwQmFGZEY2NzI2MjFmNzBjOTRmZDMzIiwiMHg1MUMxZDVDZGYxMEREYTQ5MjE5MDU0OTIwYzIyYzhkNGEyM0VFZDg5IiwiMHg0MGY4ODA2OTRGOGE0MkVjNGU4YjI4RTE1ODk5MTBDMEJlZTNCMjNiIiwiMHhBNjMwMTUxM2IwQzlkODY4MEM5QjViNDA0ODZjRkQwOEEwNEM1NENGIiwiMHhGMDRjMUM4MTY0OEE4OEUyMDJjQTgzNTEwMURmMTkyNGM5Q2RCNDdlIiwiMHg0NWJiOTcwODFCOTAxMzE0RGY4NWE3QkM4NTI2MTY3OUMyQjk4MjMwIiwiMHg0ZDg2ZUI5NzU2NzBhNDU5OUM2MTk2ODc5MEE1ODk1ZTVjODAwQTcwIiwiMHg3MWVkMTFDNDk3ZTZiYjZGRjREOTcwRmY3OTVCMDc5ZGYzQ0RDZWE0IiwiMHhDMUVkMDUzQzBmNUI2N2Y1NzIzNjcyQjE0NzRhNkUwN2Y1RTViRGY5IiwiMHg0NGMxRTg1OEE0MDJjQTEyQUNjZDAxN2VhQjdmRmZhMzMzM2NBZGY0IiwiMHhhM2Y0N0RDRkMwOWQ5YWFEYjdBYzZFQ0FCMjU3Y2Y3MjgzQkZFZTI2IiwiMHg4OERCZTJDZUJlQjNFOWFkMTVlODYzNWY4YkZmMzBBQTZlYkFENGVjIiwiMHg1QkQ5QkRFMWU1QzVERmU1NUZEQTY4ZGU3NkUyNGE3MTUwNTg0YmY2IiwiMHgxZjRiZDUyYUEyQTBmN0IwNDFBZkJBMjU4RkNiRUIyM0UxRmQyOUNiIiwiMHg2QzI1Q0YyMTYwZEI0QTFCRTBmMTMxN0ZDMzAxRjVhNWNEYkE5MTk5IiwiMHg3MmNmNzA5NzhCQmUwNzE3ODdENDcyNDEwNjA0MjdlZDk5ZmJkQTIxIiwiMHhEODdlMDMwREI3NUFlRDUwYmYxYzdhNzdiNDBlOUIwMWNEYzk2MENjIiwiMHgxMkI4YzE3OTI5YUYxODE3OUY0RmUzMzJDQjcxMjViOWMwM2YyMTZDIiwiMHg4MjdBODI0NjI3OTFjMTE5ZDFBMzU0ODgyMUFkMzg5NDFBRkIwZjU0IiwiMHhCNzYzQTc2N2NFM0Q0NjQxOEI1MjVBNjkwRTgxODM1YzA0M0I1OEZiIiwiMHgzN2MwNDkzNTIwRTZDYThkYkFDMjNCRmE4MTdEOTE1NTA3ZmViNjIzIiwiMHg5ZDg5RUNFNjBBNWFlNGVCNTE4MzQyZEY3MGFBRDk0MTI2RTNkRjc4IiwiMHhGMWIzQ0FhMDMyNTA3YTdDMzVjNDlGOGU0NTZBNTNFYjE0OWUxRUNhIiwiMHhiODRmM2JjNDdmMjBhQjM0MTcwNkU3ZTJmMUUyZmNlMzk1ZWYyYUE5IiwiMHgwZTgyM2E4NTY5Q0YxMkMxZTdDMjE2ZDNCOGFlZjY0QTdmQzVGQjM0IiwiMHg0MzAxQTM0RDMxODdFZmRDMjEzMjExMjc1MUE0MTA2ODc4MkRFOTAxIiwiMHg2NjM2NDJjRWNEY2IzQTNDMGM1RGM0ZjQ5RTc0ZjBCYmFCMTBEOTNDIiwiMHg0NzBBMkQ1QmI2Rjc0RUEzOGQxMjE3OEY3N2Y2MTVGMUY1N0Y5RDgxIiwiMHgwMjEzZUVhZEVFOTkxMDVDZDZDYjMwMjY4YkM4MUE5RjY4NTJiOUIyIiwiMHg2MUQ4YzNkN2FkM0MzQzAwQzlFNEI4REEwODllMTlFNTdkYTkwYjkxIiwiMHhiM2FkQjhkMTVDMmZlZURGOEI4ZWMwNjE5OGU4MzY3QzQ0NDc3MGFmIiwiMHhmRTRCM0RBZWI5NkMwMTkyMTFjYjY0Y0QxOUU3QWY5NTM5NDU4QWE1IiwiMHg4MDZFRDZCMTMzQTQ4YkE4REIwMzRiMUQzRUQxNzA2MWI3N2QwQTRkIiwiMHhmNkJBY2M5MkJlNjRBMWQ2ZjBCMTU2ZTFCM0NCMDdGQ2IxZmE5MEY5IiwiMHg3YkI5MDg1RUZjMTZlQmMzMzBlMTAzNjVCMUM5MWRBOTAzMDcyMDVFIiwiMHg0MDI1MEUwMUI2RTEyNTZkMTQ2QzgyODc4NzdBMTU4OGNhNmVENDIxIiwiMHgzNjQ4MWU0ZkE4RDQ0M2ExYTZiQzQ5ODdiMkMwNjFFMUFiYkFlNEU1IiwiMHg5MDAxNjUzQjMzMkM1MTEzQUI5NzA3NUM1MjU5MDIwMDg4MTM1MWI0IiwiMHhhNTJFYTllMTU4MTY2MGU3OTdGZGUxQWEzNzlBM2RhQzk0NTI5NjNmIiwiMHg2MjdmZDU5Q2VjNjE5OTNkMDBFYmQ4ZDIzOGEyNDExNTU0QjcxOTcxIiwiMHhkMjBGOGE4MjQ4ZDRFM0QyOTc0QTY4NTE0RTYwMGFENUI3NzY4YTVEIiwiMHhlN0NkQjY2MWQ0YTUwNjBhQjUwRTZGYWU3YTREQzNBNWQ2N2RmNDlBIiwiMHg3YzhDZTY0MThiMjQ3ZjVkMTg0NjQ5MkVCQzI0QkMwOTg1NkVlRjUwIiwiMHg2MGVEQzg2NWU0YTk0RTBGYjkzODlkZTg5MDI5NThGOGY3OURjMTk2IiwiMHgxM2I1Mjc2NzJFNzk1MzlGZWUwNmQ5NDVjNDVDODY0Y2RDNUMyOEEyIiwiMHhGNzcyQ0VCYTgzN2NCYzkwZjhkMjFiODY1QzMyNTdFMmVBMEZkMjJCIiwiMHgxNzdDYjIxZTZhZDUxQjhERjhCZWY1REIwRjM0ZWUyOWEwQzQ2OThjIiwiMHhFQUJkOWI0Qjc3QjVCNDM5RDRmRWI5NjlFYTY3ZDJkNzlCMGRiOWE3IiwiMHg5N0QwYkMyYWVDNkE4RTZmMWY3OGJGRTRDQkZiZDlkN2M3MDk5YUIxIiwiMHgxOTY0Y2YzZDFkOTU5NjVFRWNFYWVlMTFkZUJFZDk5MjIzNTI0RjQ4IiwiMHhEOGE2RDYzNEM0OTlDMEFhMDgyQkQzZkI5NTJkYzdkQTlBMzFDODJmIiwiMHhmNzQxNTY2NjI4ZWNCQzg3OTZCOGUyNzBBNTcxMzhDOEM5ZWNBNDEyIiwiMHg4ZUE4MmE2MThERDQ0ODkwQWZCRjZhQkMwRDcyQzdmNjhCNjZiMDNiIiwiMHgyNTJEODFCODVDMDI2MURDQzYyZGRjNDc1Rjk1NDJDNzJBYzAyNGY4IiwiMHhFNWEzZERiQ0NFOTU3M0U4YTA5NDkxY2I1RWJBZDFiODUwMUI5YzA1IiwiMHhGNTY0MUM5MkNFQTc2RDJlNjVjMDY5Y0FBZjQ1ZDEyM2FmOTVDMjE5IiwiMHg5Y2Q5ODhhMzUxREEzNjI0NUUwNTU3MTZlNUFiMkZkNjYzQmZiMEI0IiwiMHhBOUEzMjBDNUZiM0QwMUM5MEFmNDlkOTA2OTBjMEM5Nzg3NTgxQkVhIiwiMHg3QTU5YzgwMTg1MzA2QTVCZDgzZTUwNDlkMjgyMTdDRGJhOWFGOTYyIiwiMHg2MkQ4NzMyZTc1NzAyYWE2QjE5MjY1OTY4MDE1YzkzNTRmOTQ2MDEzIiwiMHgwMkM5MDc5OTYxOWYyYTI2OTIyNTA4N2NGN0IzNTAyQmJCZUQ1Qjc4IiwiMHg2OTVmOTA0M2JEMTM5M0Y2MjU2NmE1ODFCNjVmYmM1QjZBRDVhNWQwIiwiMHgyMDRFNTAzMTcwQTVCMDJCOGYxMjVCYkJiNDQxNTg4ODQ1MkQ3Yjg2IiwiMHhkRmNmODU2NGQ1OGQ2QmMxMzA5NmIzODIwNGM4YTIyNjNkNjAyYkYwIiwiMHg5NzkwYTFhZjhFOWU3MjIzNDA4YTkxMzA0QTQ5NDc3YkFlY0IyODMwIiwiMHg2ZTJDMkEyYzI3OTRDODQzMDRCYmRlYUI5OTQ4QmNmMkI0MTlFMjE3IiwiMHg5RTJGM0UyNDBGMjExNTBlQTE4NUM1NGI5MjI4NkQwNzViNjhhQzIwIiwiMHhDRTBmMTI2RjY3OTk2MUJFZTQ2ZWFEZEE3M2E4ZDc3NGMzNTkzMTdFIiwiMHhhMjJBMTFEMTYxODdDMjgzM0I2MDY3QzFhNjY2RTZmQTkzMTc4MzZmIiwiMHg4MmY5Q2JBRTQ2Q2EzNTkwODAxMDRiYzZBYWExQWUyYTQxODQ2REM0IiwiMHhCRUZjOGRFQ2I0NTM5NTUzOTQ1YzFGNzU0MmIxMjhjNDUxOGEzNTU4IiwiMHhFMjY0QWE5MWI5NDkwZTEwOEMwYjlFRDY1NEQ2RTNkNTE4MzJDNDM0IiwiMHg2NTI5MjZlMEI5RjlGQTBlM2Y3MjdhZjdiNWZCOEU4NDU0MTJCRUE1IiwiMHgyNjBENTM1M2E4QmI1MWVGNTU0ODA2NjMxOTlGNjFBY0E5OTMyQjc4IiwiMHg4OGMzM2E1N0FGYTBmN2Y1ZUFkYkQ0YTc3MmEyNDU5OEEyYzUzOWVGIiwiMHhGQ0VlMzQ0ODExMDMzQjIyNzEzODk0MUMwY2NFMmYzQzlkOTRmOGNDIiwiMHhjMjA0NzI1NDQ0RWJkRWMzRUFjQkZmRjMwNjkxYjZBM2YyYUUxOWEyIiwiMHg3NjdEY2Q1ZUEwM0VGM2MyMzk0OTdGNWJCZDVBMzFFZTcwNzgwRTU5IiwiMHg4NWRCRUVENWEyYjVEQTFBN2MxZmZiMmVDMTViYjU2RmZiODZENGNiIiwiMHg0YjBmRDgyM0Q4MjczOUQ1MDMzMDMzMGQ4NURFNTg5RTBhQjM2RDYxIiwiMHgxNDIxOUY2NTZmZTI2ODlGY2ZjZDZkMDVFQWEzMDk5M2Y1RjAxYTQwIiwiMHhGMTFCMUVCRDRjMjA0NkQ5MUMxNzVlMDg5RUE3Q0Q3M2ZFZWIwMDI5IiwiMHg2ODE5YjYzMzhkNWI5ZTcwN0E3QjQwZGZBYjBDNmUzNzYwZTIxRDUxIiwiMHhhQzJjYTBGNTU5Q0Y1MTVGQjYyYzcyZGZmRjgxNzEzQjFhZkZlMjdDIiwiMHgwMzk2QzcxMzMwRDVDRTdiNTQ3M0FFMjMwYTFGZWVmM0U5QzdBYUQ5IiwiMHgwOGI1NGI4ZjQxOTM4ODljNkMzNkVkNDI2NUMxQjk4MDMzOTNmNDAyIiwiMHgxMjJmQzMyMGJENDliRDc1NUZjMDdFRjNjOWQ5ZTk4N2Y2OWQyOTk5IiwiMHgxZDNBNzA3ODk5ZDExQzgxNDczMTE3YjYyZDVjZjM2RmNEODlDOTBjIiwiMHgxYzY4Y0ZjNGJFZWY2MDM0NUJBOTgxYUVBZTVGMDQxMGZiMzdiOTI4IiwiMHg2NzRlRjg3OTg5OGEzMGQ0NzM5ZWRjMzc2NTU2ZjNFODYyNDQ4NkQ1IiwiMHgyMjNlRGZGQjRkQTBGOTVlNjgwNzMzNzY3NUY5NGYwRDA1MkUxZEYyIiwiMHhmNzc2ZDA0MEFlZEYyMzk3NzlGMEQxQUI3MzIxMWQ4MURFNkU4OGVlIiwiMHg3N2UzZDkyYTViNzY2RWQ1ZTkxNzU1NjFDREJlYjYyQTM2NjYwRDBFIiwiMHhlMjM3NTNGRWE5RDE5MTQ1YTk4N2E1Y2JBMjk1NDM2RjIzY2NmM2UxIiwiMHg4M0I2NmRhZTgxNTQxMjI0Q0YyMWRCQjIwRjZmNTI5Q2JiMWRFMTc5IiwiMHg5OWI0Njc4MkUzNTBBMzdEMjg1MGZGMzcxM2JGMjlBYjM5MDJDRDMxIiwiMHg5Njk2OWUzRTAzMDY2MTY2ZjA2Qjc2NjdmYjQ5QTVERjYyMTI1NTY1IiwiMHgwNzI5YkU1OTIzNjFjQTNmYTBjY2VGZDQ4ZGUwMjBjNzZhNWI1NGU5IiwiMHhkRWU5MTg5YThiNjc5NGRBYkEwQ0M2OGIwZEFENEUwNUE4ODU2MzVEIiwiMHgwMDVkNzU4QjJhMzkxODFERThhODBhY2ZlMDI1NTc2NTk1ZTQ5MDUwIiwiMHgwZGE2Y0U4OEM5NzUyRWJENDZCZjgzRjdlMDhCNGYzM0MyOTBjMkM4IiwiMHg5YjBBNjU2NEYzNDQ5RDZmODUzMGI5NEIxMGY4OTI4NTkwMzZmZmUzIiwiMHg3MzYxMDg5NzM5MTYwQzNGRTk4N2EwNkJmNTAyODM0ODdCNjcxMjE5IiwiMHgwMjdhRTg0NUQxZWIyNzI2NmJhMkY3OTlkMWI2ZmY3ZTk1NzM3YjI1IiwiMHhCMUIyMzYzYzBhNTU1ZEFhODg4MTU0MDQ0MTlDNDE4NzI1ZDUwQjE4IiwiMHhBM2JlOTQ4MzVlZjI0QzBlOTcwNjQzM0E3NUUxYjA1NDkzMThjNTBmIiwiMHg5MTMwOTk3NTZhNDIxOTFhOEM4ZjU3MzUwNDVmNjk5MTc5ZjZFZjM1IiwiMHgzZmNjOWNFNGQ0ZmIzYkI4OWEyMkJBRGE2QTc5ZmRFOEFCZjEzNjU0IiwiMHg1MDYwYmU1NmM5Q2ZEODI3MEYwMWRGOUJlODlhZTM2MEE3NDQxQWI0IiwiMHg2RUNCMjBjYjk5RkExODdhNmVjNDFhZThDNDMzY0JFODE0N0JBZDg1IiwiMHg1MWE3NTEyOGVEOGIxOEE1MzE3MWZFNTU3MEFGOERERmY5OTJGZmVFIiwiMHgzNzlDOThDMDE2RTI2RWM5MTBmZDdiYjc0NDVGNjhhRENiNDBlYzA1IiwiMHg2RERmMTA5ODZFMTZEZTRlMzZjNjk5MzZiNUI0NjViMmFlQmQ4QjQyIiwiMHg4M2M3ZTFhMzlBNzMzNDkyQkE4N2U3NmY4NDdiMzA1NDVBQzc5N0I4IiwiMHhGNTNEN2JCZWIzNzRjYjgxMDQ1MWQxREYyNTg2OTk4MUQzMzkyMTRiIiwiMHg3NTgzMkIxMUJGNjA5NUY3MGQ4QTRDMTNDNTBDOEViMjExOUQwMDQzIiwiMHhCMTllMThkNDIxM0Q3Q0JFNGNGMTg0NUUyNUM3OWY0REZDNWQwRjFGIiwiMHhjM0MzZmU5MzcwM2ZlYjczRWI4YUY2RDMyMjNFOTFFOEI4MTU0ZTg5IiwiMHgwMTMzQjhlYWNBQTFGMTY5ZmVmMkE4MzNhMzkxY2Y4MENmNDg0M0U0IiwiMHg3RjJEYjA2OTgwYmYzMTIxQzBkYTk4N0EyOTE3ZjY1ODM0MGM1M0RiIiwiMHg0RTk5NTBCOENhODBFOUVEODQwMmQyZEJmYmNhMTIyNDI0RmU2MTY1IiwiMHhhYzM3ODk5NTFEYjQ1RmQ4Qjk1MUZERGU0QjljNjdDMjg3NTkxZmM1IiwiMHg1RTg1ZTBFRjU5ZGFkRGM0NjljOGQ0ZjdGMUNlNzc1NTY5OTIwMjUwIiwiMHg0QjIyMWYxZTI4ZkI5RmE4QjhiOTUwNUVDMWNlYjEzNkIzMDcyRUNkIiwiMHg4NkM5Y0ZkYTExRjQzQTNGODFFMTBjNmYwRWJBYTRiODJhN2E1MzQ4IiwiMHg1NzhhZkUwZURCQjUzRWM5OWNkNDZEYzJCRTUyMTZEMDNjODUxMDk4IiwiMHg4NkQ4QWRiMDA1MTJDYTNFQkYwQ0ZBMGE3ZDZCNUZkQzhDMjI1MGUxIiwiMHhDOTdlMWQ3ZjE2QzExQ2E2ZjY1ZEMyY2Y5QTFDRTcyOTk3RTNkMkI1IiwiMHhiQTY0N2JFMjQ0ZTQ5MUQ2NkFEOTNjMzRkMjFEMTFDRWI5MjA4RjcwIiwiMHhDNzNCZGRBZkU5YjIzNUNDMWU1OEQyMzU1Njc5MkZFNjA2YjY4N2MxIiwiMHg2NjJjRUY2RkRiZkREMDQ3ZjA5NjdEODFDNTY3M2REMURhOEYzZTg5IiwiMHg4NWE5QzJkQjVBOTFFN2ZiYUQ5ZjZmNWFBMjRFMUZGNThmNTJCQTYzIiwiMHhlNDQyMkM2MmY5MTZFYjczQjY1OURhNzQ1RkU0MTgyQzUxMzc5ZTY1IiwiMHhFMEI5QTk0NGRmZTFGMDhEMjRBMTQ3NmE4NTkyNEFGMjE4MTc0ZTc5IiwiMHg5ZGYzM0I5NDVlYjNlMmQyNEU0Njc3QTMxYTFmQWIxNDcxYUUyYUEwIiwiMHg5N2YwYjg4QzI4Rjc3N2QxMEQ2MTk5NEIwMmE4RDk2MjVENTRjMzFkIiwiMHhmNDUzODJENkEwZGEzODhFYkQ5MGJiNDdDODI1QUQ2MmVFMDJCQjg2IiwiMHg5Q0ExQzFjRmJkQTY2ZmIxZDRlNUIxOTAwZDE3OUZhZjM3MTc5ODk1IiwiMHgxNzhGMUNFNUY5OTc4NGU4QjM1NjIyM2Q2NzRBMjMyOWNBMmRhNUY1IiwiMHhmRTg2MmFlY0NlMTRCN2Y0MzUzM2Q2NjJhNmVhMkJGMTBBQ2JBQzc5IiwiMHgwZjMwMzY2OEYwYUEzNjBmYTQ1M2UxZGU0MUYzZEVDOThBQTVjZjI4IiwiMHhiNzhhMUU3ZGEzNzE4MGUxZjJBYzM0OTMxOGE5QjNEM0ZDMzZCMzk0IiwiMHhjRjdDRjI1Rjg4NjkzMjg1NTNBMWZDODY1RTY0RmUyNGQ1NzZERTBlIiwiMHgyRTE5MmU0NjU1NjE4ZDU3RjMwNTcxZEU5OTQ0MEQ1ODcyM0FFNDJkIiwiMHg0NmE5NGRCMjA2ODE0ZTU0MjRjNzU5OEVmZkY4Y0UyZEJiNzA2YjE4IiwiMHg4QTQ4Nzc2MTZkMTJkNTFDMzg4NUI2YTU1OUIzNTNmZEZkN2FBRTljIiwiMHhiYjIxMjUxOGFCQTQxRTk4MjBFOUQxMkZBY2VCRDZlNDY4MmQ0MGQ0IiwiMHgzYzcwRTU3YjlkMmRmODI1ODg0N0Y3NDBGY2I5NWE5YkU0NTRjNTUwIiwiMHhjMzlkMzA2M2E5MmI0YjUwNTZBNDEyYzNmQjgxOWM4MDg4OWRGMTI5IiwiMHg2M2M5NTQ4RjNlOTkxYTJmNzVkRWIwMmMzMzU4OGVjYzQzZEIxYjljIiwiMHg5RmM2ZEQxYmYxNzk5MUUzM2IyOTgwNDc5QTQxOUE5NkZBRDdGMEMxIiwiMHg0QjZFNTcwNjFFQjA5MThhMEU2ZDM1RmZhQzM5NkY4ODM5NDJhNTRjIiwiMHhhNUQyMWNmY0UyQWE4MkZGNTA4YzcwMUZGZmFFMTg1MTg2NTMxNzZEIiwiMHhmNUY0NTgzNTM3NUY1MkRFMmNjODk3MDMwMkVkM2M1N0QxMGZGNTVEIiwiMHg5NzMwYjAxNDcwMEU3ODU5M2ZlNjJjMDZDYWQ0N0FEMUUwZTVkZkY5IiwiMHgxRTk5MWM0OGYwZUFDZTNmMDRERTg1ZUNDMDliYjFGN2M1N0U5OGY4IiwiMHgyZDE5MjA1ZkEwYzJiOEM4NzUwOUU0MDhGQzYyMDlhQTRDMThjODcyIiwiMHhFMjNmQjI4RjBGMjRkNTUyQmI4MjAxRTNBZjVjMzM4ZDViQ2ZEODNDIiwiMHhGNjkzMDNCZkRFQ2I3MzJiQkI3ZTRkMjU5NDkwMjJDODA1YWE4NDlFIiwiMHg2MTYxNmIxN0U2MjMwNzU3OGUzNjdiNzZiYzc1RWJGYzAzY2QyNUMxIiwiMHhENWE4NjVBZmQzZDVBMkU3YjljMDA2RWM5RDY2MzZhQzJiYzhBZDk1IiwiMHgwMTc3MUY4MEY2MkFkMTQ0NDI0QTA3OGM0QzQ5M2Y0ODU4MzYxZjVEIiwiMHgxZjkxQjFiMzQwNTRmOTZCZENmRDlDYTE2NGI1ZjZjZTIxQ2JiMjE0IiwiMHg3OEE4ODA1YWNmNUQxQTdCMjhBODNENzliY0NkYTBkZWY0MGI0MzM1IiwiMHg2MTJmMUIzMTM2YmMzNDRDOEFGQUM4ZTdCODIzNUI2ODg4Mzc5OTEwIiwiMHgzNEI4M2M2ODczOTY5M2Y1YTViMzlkMzVlOTA0OGJDNTk1N0RiOTlDIiwiMHhCMDE5N0JGM2I0Qjc0YTZiYWIwMTY1RDU2RWY2MTg0NkMxMkRhNUY3IiwiMHhkZTkxQ0RkOGQyMzQ0ZUVBZDdBNEY2QWNCNzBCMGFDQjEyQzQ4ZEI0IiwiMHg2OEZhMTgxYzcyMEMwN0I3RkY3NDEyMjIwRTI0MzFjZTkwQTY1QTE0IiwiMHg0MDZmNzg2ZmMwYTQxMWNBNzcxNzNFRDE5ZTZGZjJCYWUzNmEwNkYzIiwiMHg2RjY2OUM2ZGNEZkQ3YzNBRUUxNTQ3Q2ZhMzBiZWU0RTNhNTBhNTBkIiwiMHg4MmU1MUE3MEUxOTlGNWEyNUU1NkVhNTVmNDIyOURjZERCODIyQUZEIiwiMHg1NkM0OUJBZDdDQTMwOTM0QzFhNDdmN0Q0NjgxM0VEZTg0MDJGZTE0IiwiMHgxOUVDY2MzMkRjM2U4MjQ0NTMwOEM0RUY5QkUxOTNlMWM3OTBmMWFjIiwiMHhFNEQ0N0U5OUNhN0NFOTEzNmU2QUVEQ2I0QTgzMjA1RkFGZjBmMzg2IiwiMHg5QUU3MDQ5M0M2YTlDQWE3MUJDNmI1NDlGMGQ0MzA5M0Q3ZkEwN2E0IiwiMHhhN2I2RmRCMjExRGNjZjFhNTI5MzU1NDQ4MzA0QTYzNjAxZGNjMjU1IiwiMHgxYjY2ODk5ZjViNDk2YTNGMkVhZjE1MjlBNkUwNTgyMzgyNDVBMzdjIiwiMHgzMDhFY0YwODk1NUY2ZmYwYTQ4MDExNTYxRjM3QTFGNTcwNTgwYWJlIiwiMHhFZkYzZWYyNWI5QTI0MzMzMDdCYTkwYkYxMzc5RTA3RTRiQTUxNjNGIiwiMHgyMGRFYTYwQTc5ZGVjNmFhMURDMDVENTNCN2U1OTM2QmI4ODk3OWUwIiwiMHg2ZjdGM0ZENzYyQzhGQzM1MERlNzZFRkRlNkI5NzExMDJlQkExZjhBIiwiMHg0ZTc4Qzc4MUNCYmJkM2NhNjk1RjMwMzhiNGNFOTU1MGIyZjQxMzVCIiwiMHgyYTg3QUVBOUE2NGY2MzM5MDdENDM3M0JCNzE5OTk4MDFGMjVGZjkwIiwiMHhGZkE5OEEwOTEzMzFEZjQ2MDBGODdDOTE2NGNEMjdlOGE1Q0QyNDA1IiwiMHgzOEZkYUUwQTNBQjg1MkY3QzI2M0EwQjZjMjcxZWQzYjc4NEVhN2Y2IiwiMHg3NDc4Y0I5NEE4ZEU3MzdiYTExQjJBMTY4YmQ2YmU4ZjNlMjdmMzU0IiwiMHhGODk4MzAxQzI4MDdlOTlBYkFBMzkzOTZBNjk2RDEyMDIxMjJkMjNlIiwiMHg5ZTNkYjMxMzlEMGM4NTQ3MDFFNjJjNWI2Qjc5OEM2OEQxQzFkNzBEIiwiMHhhYjZCNDNhZmI4MzgxRGI0RDZEQjY1QjVGMzBCYzlBRDVCNEFlZkZGIiwiMHg4OTYzZGE2NDMwYWY5NzFjMTczYTc5N0Q3QmRGQzVjNzZBQkVkN2ViIiwiMHgxODA0N0I2MzA1MjlDMUE2MUZCYTFhZTQ2RTI0MGEzZEE3YkEyQTQwIiwiMHg2MzQwMGQ3OTA4NkIwZmMxMjY1MjA3ZmZlRjlmQzZlQkU2MzcwMTBGIiwiMHhhNDk5NmUxOTdlNTNkNDIxODgxYzc5NUE5Mjk5OWYyZUVCMTE4ZjNmIiwiMHhCODczMzcwMmFBMDVjM2MzRDI0NDgwRDYxQTVDQTQwRDEyZkRlOWI1IiwiMHgyMDQyYmM4ZjRkNzgxMGYyZWVBNjNDREU2QTRjQTFkM0E5NGM2NWJmIiwiMHg3RTQxNGRhZWZjZTZhOWE0Mjc3NjM3MDIwOEZFMTA0MkMwMjRjZDc0IiwiMHhEQTQ2NzNBNDZCMENENjM5RTQ1NkJENjhiOTBmYjAxRTE5ODBlNTNEIiwiMHg0OGUxMzBCNzQwQWY3RDJiQWMwRWU3RTBkRjk1ZGNkQzNGNmVBMTYyIiwiMHg1OEJFZTMxQmFGOTg0MEZGMTlCNzE5RDcyQzM3NjRiNzM0RTA5MkUxIiwiMHhENjgwQzk5YzQzNWQzZURBODQ2YkE3QzViNzczYzNlNDRENjg1M0JBIiwiMHgyOTc2ZjA3OWUzMTEyRjBDNjFEMDAyMGVFYzdFN0Y4MzA1NTU4YzM0IiwiMHhjY0Q0ZTg2NDU4RWQwMGRGNkFlYjE1OEFkZEU3RDU2QTExN0I0ZWI4IiwiMHhDZEI3ODIzYjEyNDY3YmZFNTg3ZTkwNGE0NDVCMDFGYjM2QzM3N2Q2IiwiMHg1YkNjMjIxNDAzNTg4NTM3N0RDNWUzMzhFNTUzMUU5NzdiQTAzOERhIiwiMHhCMEQwZjJmMTQxMzU2QmIzNEVCOEJjOTk4ODBiRDcyQzkwQjI0Nzc3IiwiMHgzNzg4YzE2NjI2MEIwM2FhYWMyMDIwMTVlODc5MDQ0MEMxOTQ4ZTdjIiwiMHhhQTQ5QjlmMjZlYjBlNkU4QjJCYTk4NjlCNGU1MkYwMmQ5OTk0MzRmIiwiMHhiOGUwODM1RDhFQUM0QTkzQ0IwMDE3ZTNGRkU2OGM3MkM5YWM0MEI3IiwiMHhlOUNhMWZjNTFBQmEwYjIxMDllY2JjODM0MTM4OGQ1OERjMGRCRDFlIiwiMHgzRTkwYkM1NTZlMTRlM2Q1MEQ3MzhhZTZmMjM0OWJlNEUyM0QwMEIwIiwiMHhGQUMyQzkzZmI4OEExNTM2NTc4RTFhNDQ5MzYxOTFkMjRFZmZjNjgxIiwiMHhhNzA3NUM0RDBiYjYwQkU1MDBlZmIzRDk3M2VBNDg2NDRDRDQzMzQxIiwiMHhCMTNiYzFGMzk0ZDBDOUFDZDI2Mjc5OTQ2NDExNDNjZEY2ZUIxYWNmIiwiMHg3MWNDQjIyRDI4NjJFYzAwN2ZFNEI3OTI5NzdhQjI5NEQwODk0QjQzIiwiMHg2MTQwNmJGNjhkRjg1MThmNTE5RjIwOTQwQzQ0MjVEYUM4NGZBNEUyIiwiMHhjRjA5MGQ4NGFENGM3QTQ3NDZFMDQ3MUVlMGJBQzVGQTMxM2E5Mzc1IiwiMHhmOUQ1ZDJEN2Q0QTIxMzg2OWEzOGMxZkY4RWFmRUQ0MjAxQmJmYjM0IiwiMHg0M0RlZTY5ZTQ0OTRhODdBMjkyRGJlMGE2QzQ1NTRjMmZBYjkyOEIwIiwiMHg4YUEzNEM3ODY2RGE5MDFiM0I1NWQxNjI4MjFFRjNEYWU4Nzg1MUYzIiwiMHhDQTY3RjE1NDg2MzczMjFiNDVEZTc0MmM5OGJBMTAzNzdCRmE4YTUzIiwiMHg1QjhDMjY0YzVBNTZDQjE5ZDgwNGVkMmNmNTcwZjE4QTcwRTNGOTk5IiwiMHgxZTE0NDY4ZDgzQ0NCNmQ0QUM2MEEzYjQyM0Q5QTQyNjZDMTFFNGY1IiwiMHg5NTcyREYxRjYyNWY3M2EwMzc4NDBjMkE3MTQ2MjlGNGFlRDg5NzUxIiwiMHg1ZTQyMDZCNkFBNmU5MTlCMmJjNkU4MTNFQTBmZkI5QjNDOGFDMDQyIiwiMHhCYWI5ZEI0NzgwMzRjQTYyYmVjOWEyMEU5QjQ5RjNGNjg4NTQ0NjhEIiwiMHgyZDgxNzQxOTljMmFjMEU1QWRhNzEwNTNDNjIxN0MwQTVCOTFjZUY0IiwiMHgwYjEyRDdEM2Y3MkI1MzFlMzBCQ0VmNDI0RTk4MTIzNzYyNTc0OTg4IiwiMHg2YTRjQThiZUQ1NDNiODQyNThlRTI1OGQ2MTAwOWQ5NzdiOWREQTIyIiwiMHgxQUIzNGU0ODgzQ2QwMTVjOTUxNDFGNzRGMzREQTJjY0Q5MTE3MzAzIiwiMHgyQjk4QkJENTNjMzk0ZWNCMzAyOTc5MzEzZDk3YTRiNkE5MTIxMzk3IiwiMHhhMEUyNkI0OGU1OGZhMEE1MmI5NDIyY2U4ZDk3QTQ5QUZmRTlkYUQ4IiwiMHgzNkUwN2Q4MjAxNzNCOTk0MTY0M2I2NTZCOTQ5ZDE0RTI1MzMzNTU4IiwiMHhjNTNjZGIzQzE3NjU1YzM4OTk4YTg4MDcyMkZkNDI1QjM3OGUyZTBhIiwiMHgyMzZmMmMyRTExYTBkNzA1OEU4QTQ0NkU0RDM0MWMxNTc3NWQ3MThkIiwiMHg4ZDE5Zjc2Mzc3NTZCNGJEMmIxMkMwMTQ5QTlGOTRDQUJkRjBFMGVDIiwiMHhkMDBBQ0ExRjE0MTY2Nzg5MUUzNmVmZjUxMTBkQWRFRmJjY0E2Rjg2IiwiMHhDZTNmY0JhNkIxNUMzNUU2RDlGQWM4NDVmRDcyODY0OTA2NTBmOGVGIiwiMHgzQjcwYjE0MTZGMTI4ZTY1MkFiRTg3NEEzRjE4NDkzNDY5YjNjNDRDIiwiMHg3OWE0MzFjNzk5NzViODY4YTgyNjkxOTI0YTRjOWQ0QkIyOTUzM2M5IiwiMHhENmJiNEQxODZEYzQzNGZlNWRkN0ZkNmRDZjY5MjQwMzJEYjdkYjI4IiwiMHhEMzQzNjFGNzgzMEZEZjJDYTZENzAyM2EzMkE3NzZEYjM5NzYyQ0U5IiwiMHhFMTIwMTdiMDE5NWJENDU0QmFhNkU4YTJjN0FkMDVFNTk0NjNmN2FFIiwiMHhhMzY0OGRiMGFmMTJjRGY0NDBDMEEwYmVmYjJjMkM1YjI0Rjc4MDJGIiwiMHhkRUY4QTE5MGVlRjFEOGQyNUNCOTljNTg2RDRFNzRiNzREODJlODE4IiwiMHhjNWQzQzY2MTMzYTYyNjRiMGYyRTcxMmI4ZTEwRUY5NkVGQjkzZWIyIiwiMHg1OGU3NTNiNkNBQ0RmMjNFRjEwNmRmQjQ0MDdGRjI5RDUyOTAxOTZFIiwiMHhkNDNhOTMyZTVBZDQwRGFDMGFGRDhiMDMwMzU4MUZGNkZhNkQ3QjBBIiwiMHg5MjY1MTMwODgyNzI3NzBkNmUxYjBFMDg4N0EzRTE4N2I3MTBhMzkyIiwiMHg5QjE1N0FDMzZCMGFiY0VlZUREMDk2ZkFDQjhkMzcyMjlGYzAxZDNFIiwiMHg5NUEyMDIyY0YwMTIwQUE4YmNBOUU0MDg3RGQ2QzJhMUIzMjA0ZGY3IiwiMHhCMEE5RThiNjlmZDI0OTE0NDk3MDZmYjA5MEFjQTAyRmU4MzA2NkFCIiwiMHg5MWNhMjY3ZTk4RTdjRWQ3YTRCZWRFOEJlQjE4NjBCNTI1MkYyQTRkIiwiMHg1ODhhNjlBM2E2MUYwODA2Yzg0RjA3QWJCN2I5MTRiNzllNTdEMzBDIiwiMHhhMjU1NEM2RDBkM2EzMjIwNjVEN2I5ZTUxODZkNzBkNjZGMkFiRTcyIiwiMHgyZUJDOWEzNjg1RkNGZmUzQTRkNGZDYTQ3RDUzMjhFQzkzMjQ2NjJEIiwiMHgzMzJFMDJmMjZlYTU5RDM1OWY0ZDk3ZUE0MzAyYUVFYmI4YTk5M2E0IiwiMHhCYzI1YTc2NTU1ZUZCOGQwNzYxRWQzZDYzZTNBMjJCMTZkQzQ4RUNGIiwiMHhiNTQ3ZUI1OWNFMWY3M0Q0NDhjOEZDMzZCOEY0M2M5NWU4NzQyRWVhIiwiMHg2MjE1OTAyMzRmZDc1RkY2NDk0OGY4NWU4ZGMzNDk0NUVFM0EzNjY2IiwiMHhFNTUzYUYwRkYxMkU2NjY4MDdFRGY3NGY4QzIwOWM2Y0UzMDdENTc2IiwiMHhCNDVlQzE1ODMxYUQ5ODY5NGM3NzFBQjA3ODQzODVmMjQ1RmUxY0EwIiwiMHg2NDUxN2ZkOTE1REYyOTA5NzVkOTg4ZTgxNTJFMjQ0YzQ5Q2EwMjg1IiwiMHhkMWU0MDQzODMyMGM1ZWM1MmY3MDE5MzI0ZTY0QTA2OUQwNjA5QzQzIiwiMHg4REU4Yjg4M0ZiQzdjZEU0NTdmM2M0YUQ1OWFFY0M4QTNBM0VlZTljIiwiMHg0ODA4Njc5Qjg4ZjQ2MTZFQUREOTMyYUNkYmMzZTVhODg0ODhkMDcxIiwiMHg5YTY0MDBiMjg4ODI2YjI3NjlDMmVlQjIyMjA5MEE5NTY0ZWM3QzEwIiwiMHg0MzAxNUEyNTVmOTFjZTAwNmIxYzhlZjhhNzRiNDkyOTExMWI2MDUxIiwiMHhmOWYzZTQ0OWVkMTE5RTBFQWMwRDcyQzBCNjY3MzYzRGQxNTM5ODg1IiwiMHhmQjlFYzM1NGVGQzg2MTY3NzI4YjRlYWREODU0ODUzRjQxMGI3NjYwIiwiMHg3NkM5NmRBN2IxZWZlOWRGYTI0M0I4NEQ1MEI2NDQ2MDY2YTk4NzUxIiwiMHg0YjExYUNCNjNkMUE2OTRiOGU0MjVDZTgzNDFEQmVmZjBFYmQ3Y0M4IiwiMHhDOTQwNjUzRTMzYTFiNjUzZjg3QUUyODEyOWM5MDVjRkMwMjQ0NzJCIiwiMHg1ZTBCOThEMjNDOUJGZTg0QzA5NGE1OUQ3NDI4NzFFMGE5NzRhMDk5IiwiMHgwOTQ4MkNDRjAwNDA3NzhkYzJhMEI5QTc3Q0UzRWU3RDMzYTk0YWI4IiwiMHg5MzMwMWNDMkQ0MTgyOTg1QWZGMDg3NTc1MTQwMTlmMDRGRTVFYjY2IiwiMHhmMDlkMzdkQkJDNGRmN2U2NDg5MTVhY0E2RTNCM2UzNEJjOUYzYUE2IiwiMHg5NzY0N2ZkOTYwNmMyNmYwN0Y3NEI5NmE0ZjE0MjRFQTJDNDUzQTFFIiwiMHgyOTc2NGMyZTQzNGMwMzhBNjc1QzFFRTkzNEIwYzU4M0Y2RTRiZTViIiwiMHhEMTU5QmJmMEY0YWE0RDBCREE0ZmZFNjFCMzU2NTM1ZTU5NjliQjM4IiwiMHgyYzhmOTc0NzQ5QTVhMDY1RTVhNUI1NWMwNTNiMDRBNUQwNjc5REI1IiwiMHg2OTRiQjY1MmUyZUFGNTBEN0VFNDM3OWViNUM0QzM5Mjk4NTAyOGE2IiwiMHg3RjA2N2QyZkU3MDk1ZGM2NDNFMTgzYjg0QjRiYzU5Mzk3RENENjM2IiwiMHhEMTU2QzlDRDZjRjZhRTY3ZTBjQ0Y4NDlBYzY3RkIwNTNFMGNkN2ZEIiwiMHg1YzAyMzNBMDAzNTczQTU2MDYyOTQ1OTAyNzA1NUM4OWNjRENiNzYyIiwiMHgyOGZDMTRDMTU3NzUyQzJjNDI0ZjIxNDRhNGQyMTQwZDY2MzZmQTNGIiwiMHgzMGE3OTc5NWEzRTk1RUU4RWNiNEY0OTY1NjZGNjM1N2FkMDc4NGI5IiwiMHg5MkE1MTI3MTI5MTA4MzcyMjgxMjA4YTZGRDQxNzUwMUY1RDIxNjI2IiwiMHgxMzQ1Mzk4QzExMDQ2NjdCMjAyOGIwRjU3YjQ2QjEyOUJBODBkYTNEIiwiMHhCZjhBZjA4M2YzOWNCNzIxQjQ3YTA4MzliMDAwRjRFYUEzMTczZDQ5IiwiMHgyZTgxMjcxYzFEYkI1ODAxMGE5ZTNkMDRkOTJEZDRBN0FGM0IxOWQ1IiwiMHhmRjIwRTQ4OWMzZEQ1MjUzMkM1MTRDOTgxQTE5QWM4YmM4NUJCMzc2IiwiMHg5OUI3N2YyOTRhYjMzZUY0MzU2OEEwMjE0OTM0YWJBNmM1NWQxYkQ1IiwiMHg5QTVCNzA1MzFjYmU5NzdiMjVBM2UwZGM1OWJBNjc2MEU5QjZDNDY1IiwiMHg2MkNhNDExQjQwNDlEMjIyQUZhY0Q1MEZFOTNERDE1YWVhQTBmYTM5IiwiMHg5NDk2ODVhN0E0MzBCZTYyNkE4Q0E3OTU1N0JBNTQ2M2M5NmNjZmU1IiwiMHgzOWRjREVhNzgwNDhEOTM2Qzg0MkJlMDlkNDA1NjM1NEY5MThiZDlhIiwiMHgxMEU3RWY4Mjc2ODM3Zjc2RDY0ZURBRDg4MDhjNDQwRWNEMDRiMEQ4IiwiMHgxMjhBQjZDMkQ4ODNFZUQ4MWE5MDA1MTBkMGY4ODU5MzNBOTM1MkRmIiwiMHhlYzQyRjNBYWRkOTFmYkRhQjA2NGRGMjNDNjA3YzIyYzk1ODA4YTY2IiwiMHg3RmFFMzhCQ0Q2MTJCZDQ3NzJmZWU2MjEzRDMwRDlkOEMzMWY4NTE1IiwiMHgwNzI1RUJDNzdGOERCMUYzNzU1OTAyNzRlNzllMzY0OTFFOGVjMzg5IiwiMHg3ZDA3ODA3ODgzYTJlNTEzYWE3MUJDRkE5NTdhNjBhODU5MTZjM0E1IiwiMHhFNzgxZkFFQzk2RWY1QmU2OTFDMUVjQWM2NzVEM2I0NzczZEQwMmMwIiwiMHg3YzczODc4NzE4M0VkNGVDNzIwNjI1ZGI5YTBDMTFEOEQzRDk3NjAxIiwiMHhBOTY1N0JiYTg2MkJlMjdjNkFDNTdkQUQ0OUI5NGM5MzMzYTQ4NDAzIiwiMHgwMWZEMjU0MWFENjRCOTg5NTIwOWJDOGRGNWQyQ2JDODJBNTAyOTA1IiwiMHhDNzc5MzViOTk1QkE5NWZhNDBFQTgyOGYxMGQ2NTlGM0YyRDUyNTZFIiwiMHhDNmVFMTU2ZDEwRjk2MkM1Rjc5NWI3OTkzNzZjNENhNEYxOUU3YTNjIiwiMHg3NjA5QTI3M0ZkMWJDMUEzRjc0ZTNhYzYzNzhjNENDNDc5NUU1NzA3IiwiMHhDNkYzMUQxQzQ0MjUxNzAwYTRkYzMxNkZiQzQ5NkMyODNDYjFEZjA4IiwiMHhBZjA5NzM3MDhmMDA4MTg0QWM1ZTBkNUJBNDFkNjBDNjhCMTdGMURDIiwiMHgxQjEwZkY4MWMzODE3MTY2NUZiNjlCNEExOTMwRDY3ZEU0NjYxNWFkIiwiMHgyRTA2REIzZGZlMTQzMGQxMTg0MzgxMGY2MjBiNzhiNTc0MGZBNmM4IiwiMHgyNzg2MmQ4ZDkxMzNhY0ViZkEwZDg0RUJEMTdiQ0ZiY2M4NjEyNjUyIiwiMHg1NTNjRUFiNDA1Q0U2QzMwNjM4ZTIxNWQ2ODIzZEJEMzhBYjk2QzEyIiwiMHg5RDUwN2Q2NTNFYzJCNzllNEI4ZjhEMzIzMUI5MzE4ZTVmRTdiRjAwIiwiMHg5ZDAzQjY1MWI3ZkREODVkN0M4N0QyM0FBYWRCNTRFZDE3OGY2ZmNhIiwiMHg2YTUwMDA0ODM0ODdlRDg2OTY2MjA1NDVDMDdGZWI0YjU5ZDgwMTUxIiwiMHhDMDQyNjYyOEU4ZDNEYTc0MmI4M2M5Nzg2NjNiZDIwQzZmRjE4ZTQ0IiwiMHgwMkJBQmFFNEZiMzBFYThkNUVDYjU1NjQ0RThkMjE1NjIwMUVCMjk3IiwiMHg2NjhEMkNlMUJFYjBBNzlhZTk4MzIyMUJhYjY4MmIwRTA1ZjAzMTY5IiwiMHg5Mzk0NjkxMzgyNDdhQzExNTk0MTkzQTQxMTc1NDc0MmU1RTgwNTAxIiwiMHgzOTI1MkY1ZDVhNjY3REVDNGRlQzMzRjk3MWE2Y2IxNTAwY0Q0MDI4IiwiMHgwNDVDZGQwRUNBQWY4MDRENkYxOWM0NDYxRDc4NkU2ZTNiNjY5NURjIiwiMHg2NzUwMWJENzczNDA0NjZENjQ0N0JDZTBGYjc5RThFYzQzNWQ0MkU4IiwiMHhEYTMzNjVhMzYwM0FjY0U3ZjkxMjFFRDE4RGYyQWM3N0E1M2VjMEUyIiwiMHg0OTc0ODNEMTM0YzAxQThFN2RGZTRENjYyZTBBQzAwRGE0Yjk0ODQxIiwiMHhhMWNFMDU2MTU0MDk5RDNFZURFNzcxM2M2ZWU4YjllRTg2QTFBNzA4IiwiMHgyOTREQjVCODg0YjExQkM5YzZFNzI3YmFBOTU5MDMwRDNGQzc5NmM5IiwiMHg1NGNjRjY1NWMyYjQyNTY2N2E1NGVkN2VDMTAxNDhFMzY5MzNhQzI0IiwiMHgxQTZCMTBFQkY2NkMzNzYxZDdkQjQwMTNCZDE4RTExRTU0MjZjYUVEIiwiMHhCNzc1ZUI3MTIyYjM2N2YzRmNhNzI4OWNjRjJBOUEzMUNmODQ1OTIwIiwiMHhkNjRlYzAyMzg0RDc3MDVDREE4NGZGZjVmQUQ3N0RiM0E1QjY2YjU5IiwiMHhmRUI4QjZCNTdDNzkwNjczMmQzOWRkZWU5MTlkRDBlYzA5N0YyNjA3IiwiMHhDRTkzQzg3ZDQyMzc2RjE3MTk3ODc2MmRBOTJGNjgzNUI1RWQ0MGMzIiwiMHgwYTQ5NTQ0RjYyZTM5QTAzN0E5QjkwNGE1NzA3QmFCNzUwZTYxNTgzIiwiMHg1YUNhQUM5RDVkOEE3ZDg5MDk0ZDlBQ2VGRjk1NjljMTQzYTY0RTUwIiwiMHg0QzAwMTMyOWQxQTllOTlkMTk0OERjMzY2QzBCNkUxQkU5ODRlMzYyIiwiMHg2OEQ4MDIyNzM0NEU0OTMwOEU2MTE0MzM1NGJkYzc2OTkzNjJmNzliIiwiMHgwMTcyNGE2ZjMxNUFFNTU0NzllOENhZjBlMjU3ZDMxNzk2QzkyODM3IiwiMHgxQzdBYzMyZjBGRmFBMzhGNmU5ZjRiQWMyMDNmNDQ1QjE1NTA2MGJEIiwiMHg5YkY3MjIxN2JERTQwQjljZDFiMzA1QzU3MDhCQjYyNDdhNmQ4NDA3IiwiMHg4RDAzMGZiZTgyYUM1MUYxNDMyNDg1RkIwZTkzY0U2Zjg0NWZlZWM4IiwiMHgyRjMyRjgwNDg4MjRiMzk1MUYwNTAxOTY1MDRjNDhjRmVlZUM1OGU4IiwiMHg4MDNENjdmRUVhZDY4ZTQyNjg1Njc3ZWRmN0E3NjMxNkYyMmYxOUJiIiwiMHgwQzI3MDNFYkNEQ0M0QUMzMzUzMDk3NURhNjg4MTk4MkJBOGM5YjQzIiwiMHhBODdhYzk4Mzg4NjIxNzUxY0ExNzE4ZDE3MUUyYzA3NDZEZTI4NjA5IiwiMHgyQzRjNkZBNjJCNzYxNzc5QzA5QTJDQjRjOTY0OTBhNjMxNzBCYThEIiwiMHg5Nzc5MzNlM2Y2NzhEMzg4ZjQxRmM2RDNFQmY2NmYzZTI2OUFhMDI2IiwiMHg2NDU4RENBOGUzN2YxNTJkMzQ0OUIxNjUxODIxMTc4NjhiQTRkQWFBIiwiMHhCZDQ1NUYzNUJDNWU1MzE5OTlCMUM4ZkM3MkRGOTM4NzY3YUE2OWI5IiwiMHg5NDdmYjcwQ0JCRDJlNWQzMTllOTgyRTlFNDI3QzdGZkZiNzg4RDQxIiwiMHhmODRFNjIwOTU2NzFEMTJmRGU3ODQ4MzM1ZTRjRjAzMjlDNDNmMUMzIiwiMHg4YmM0MmI3NWIxY2UxMTUzMUU2QTlGNDZlQmFERWJjMzVkRmI3MDAwIiwiMHgzMDQ4NWY1NzBjZTkyRDQ4MzExYUVlYWQ3QURGRjI4M0M0OEQ4NkRlIiwiMHgyODQ5NGU1NGE4NzExOTVlMEVFMjFDY0MwMjg0RjlENDgyYUU0RGMxIiwiMHg3RDIzMjBiM0M1ZTFDNDhDNmE3Q2U4MzY1QzI5NjU2ZTUzOTAxNTU3IiwiMHgxMThkNDViRTRCOWY1MkI5N0IzMkU4NzFFNjg1NTMzZjdiMkI1QzU4IiwiMHgyRUI1MEQ2MEY4MzZDNWQ0MGZlMzQ1OGZkMUFkZThjQTZCNThGMjljIiwiMHgwMmIzNUZENTY0OWY4Y2RDOUJkYjI2NjE3OWIwRTlDNzhCOTZBZEViIiwiMHhhNjU1N2E0RDg1ODA5MzkwYjZERTBDMjViMjVFMTgyMDIwRmE1OWZGIiwiMHgxOUFjODY0YkU0YWJjMzg2ZTM3ZmY1ZDgyYzYyODhDOTFBMDM1ZDI4IiwiMHg0ZWNBNDA4Q0U4ZjNlNTA5RThGMDAyOWU2OTgxODYwZjE1RTY2MUIyIiwiMHhhRjY5MWVlMDAzMjU2NDFjMEI2ZjhiRUYyNWU1OUU3QkJDYTM2RDJlIiwiMHhlZjZCN0QwMzY0MjUzZTVCMDQ0Mjg0NDNiNzY1NDZDOUYyQ2FFM0Q4IiwiMHhjMTE5RkRhYWM4OGQ1NWIwOTQ1OGI1Q2JCMTA1RkI4QkQ5MzI3MUNmIiwiMHhmOGFmNzdBQjUwZUQyMzMxNzQ5ODk3OTQyNDAxZmUzNjYzZDAzYjM4IiwiMHg5RjAzN2RFNzU2NWY0N2Q1NzAwMjg2NjFlQjI4MEI5MzM5MWU3QjNDIiwiMHhmMTU4MDljNDBjMDNmMTVjNTYyQ0REQmY0QWY4M0Y5QjFlOUFCMmUxIiwiMHhkRjI5Y2M1ZkYxZmQ2NkJBMzZmNzhGRTQ2Q0JmMkI2MDFhMTA4YmJjIiwiMHhhREQ2NDFiZDM1QWY1NDdFQjBmRWVCYWE1MTU5MjUxMjkzNjAwNjVjIiwiMHg0Y0Q0RDNCOGI5Mjg3ODJFNzA5Q2I2Y2QyOGNFMDJiODQzMmNFRTUxIiwiMHg4M2QxZUFiOUMxQjM0REZCNkMzMUM4YWU1N2Y3ZmE0ZjYwODUyRjllIiwiMHg0N2QxMWJENjcyZjFhZDlEMUU5N2Q5MDNmNTIzMURlYTBmQTBBMkViIiwiMHg2NUM2QjUzMWEzMmVBRDQ3NjQ1MzI2RmY3YmQ4NjI1MWZGYjMzN2JFIiwiMHhhRTFGMWVGMTZBNjdiZjk5MjYyMEYxQ0YzYUU2OTA0NTM0MzA1QUZCIiwiMHgzNzI4Yjk0MGQzQTY0NjJlYTQzNDIzNGI4N0M2NkU1NDI4MGE1Q2JGIiwiMHhmYWQ1N0QwM0Q5MWNkNDc3NDA3NzgxZUM2YzliNTY2OGI0NjhlNjk2IiwiMHgwOWQxQUM3NkE0NDBkRjFjNDlhYjQzZTYyNzE3MDM1RjgwZTUyNTRBIiwiMHhCNjBjQzZiMzhiMWYyODEzNjlkOTY5OUE4ZDk3QjE1ODcyQkQwODdBIiwiMHg4N2Y5QjI4Mzc3ODdiRjRBMGJBMmJkNTYyZDcyMkQzMkQ5MzhEZTUxIiwiMHg5ZmFmNDg3YzVhY2FGMjZFMTU3RjQ1ZUJhNTEwMEIwMDVCMjgyNGZlIiwiMHgxRDhhZERCMjhjMmJiMjI2NGJEOTkyYTk2OGE0MUMwQTVjMDIyZTE2IiwiMHg2M0Q0ZGM4NzBhODdhNDk3ZDI2RkQ2MTMyMEU0MkJFRWY5RTZmMkU3IiwiMHg3YzhCQjA2NzI3MjBDOEU1M2UyNDQ1NjVGNGEyMzEyYkUzYTkzYTU5IiwiMHhDMjYwMDk4MDlDZWE4MTMwNERkZWIxM0QxRTAzMDkwOTIyN0MwNzhGIiwiMHhkZDQzNmU2MzM3MjdlNTNCMkI1ODIyYzE5RDNCQkQxQmQzZGVFOTAxIiwiMHg4MUU4OTY4OTNCNTUwYzEzOGNBMDYzRjg3MDU4NmYxQzZCNjdFZGM5IiwiMHhlZERmQWZENDcxNkZBMjQxYTgyZURiMzI4OGFDYWFEM2QxMEMzNWFGIiwiMHgyQkE3ZjRBNTMyOTE1MzEyYjBjOTY1N0YxNjhCNEY3MkRhNTE5MWFCIiwiMHg3RTlGNzkxYTQ0OTY4YTlFRjY5NjkxNGZiQTA5YzA2NzYzOTREZDAyIiwiMHgxZTY4NzZiQmZCRmU3RTcyNkU5YjdENTQ4NTcyOTg3NzY1NzA1MzIyIiwiMHg4NGM4OTIxQTExRjgwNTNBNTMzNjFmYkFBQjZjQTg0RTYyQkYxM0U5IiwiMHg0M2E1QzM1ODdCRjg2YjY0YzUzZUZGRmZmM0YzNTMyODE3NEI5YzZFIiwiMHgwRDFBZTlBNjE1NzBhNWRkODUxNTBlMEM4NTI4NmZERTFDQTVlNjFFIiwiMHgyN0Q1ODg3OWY3YjZBM0FmNjZDMTkzYTA4NTM1YkIzODg5OTlDMEJBIiwiMHgzYjdiRDE2NjFjZkJjNWM2QjY3Y2ZDYUYwNTUzZGVjMzY1MGVFNDA2IiwiMHhEMTNGNTJDNjJGMkZkNGI0YjA0MmI0YmVmODRmRDA4ZjhkMjA1NENmIiwiMHg0Y0JDMWI3NUYwYzNiMTFGMUU0NUZBM0YyMjUxMjlEOTkxNTFFQjczIiwiMHg1YjdmNUVDZjYxNjMxQUYxZTdGMjk0NTBhQzkwN0VlOTM2MTFhQkZhIiwiMHhjODVCMjgyQTM3RTM5Y2JjRGZBOUJFMTU4NmQ3RUQyNEMxY2RFNjBmIiwiMHhlNTAzMUZkOWVEQ2QzQzJENzIzRTFkNjFhRThiNDdEQzFlNUZiQzk5IiwiMHhjOTZiYjA3QkU5NDZGODRiOTYxMThlMzZCNUM2MTFkNzBhNDg2QUQxIiwiMHhlRjM5MTBkNjc3MmIxRDFhRjc5QzcwOTgwM0RlZkI4NThFZkM1N2I0IiwiMHhBZkRDREMxYjhGQkJGMTc4NGYxZjJCYjU0Yzk4RjA4OTkwYkQzOTRlIiwiMHg2QTBlMTg1YWI0Y0I5RDU1NjAyNzhiMzI1QWJFNWUwYjgyODcwNDkxIiwiMHgxNjI3OEUwNDUzMGZlRjgzODQ4ODNCNWVDOUY5RjczMTA2MkRDODcwIiwiMHhiMWQ0MUNjRTNBQmE3NzA0QkQxYjdFZkY1MDhEOGUyQ2UyZTFhODc2IiwiMHgyRUNiYTVjYjMzZTZmOTYzZmVlODc1NjAyMTY4RkM3ZDg3M0E0MjNiIiwiMHhkNjE0NGU2MjljMWY2Qzk3YkQzQTU3MTNGMjAyOTk0QjIxMDAzRmRmIiwiMHgzYzRlNDA1MTYxODg0NDUxRDUzMDY2RWMyZTU3NTM0QkEzNzg2NUU0IiwiMHg0Y0Y4OGRhMkY2MzAyNTNiNzRENThEMWU0NmY3NmVDNzY3MWQ2ODNhIiwiMHg5MDgwODNEZEYzMDVCMWFGMzZERWE3ODIzNjZkOTliMGZkNWQ1Yzc2IiwiMHg4ZDZBZGQzM2YzMDk4Q0ZCNUMxNUIwMzAyMTk4RmVEMzZlOUFlQjViIiwiMHhENDg3ZjBmQTU1QWFCQjU0MGUxNEQ1M0ZFZDFmMEZGMjkwNjIxNzI3IiwiMHhkQUE5NjQ3NkZGOTcyODFiOWY3N0RlRkYzYmE3NTgwMzNGRDZlQ0I2IiwiMHgwMjk1MkYxMWRFY2U5NzBFMmNGMjVGODAwZDI3MTIxNTQwOEJDMzU0IiwiMHhBMzQyRTczZUU4MjEwNDBiNDRDYWJlNTQ4QmIwMmMzN2VjYTdiMGY5IiwiMHhDNjlENDk0MDU3MGVlMzUxMTBhNTcxNzU5OUIxNTlmRjNiYTI4MjM0IiwiMHhFMEIyNzE4ZjZCNEUzRTRhQjFGMTQ2ZTI4OTBlZTk3MDE2N2YxYjNBIiwiMHg4ZWQxNzllNzkxQ0ZBMUU3QjU5QkY0MjlENjM3MEJiNzcyYUExNzBlIiwiMHg4RmMxZDNFODI3ZDdkN0ZiNjJlRWVkQmI2NGE2MDFlOWJGN0Q3MzNhIiwiMHg4Rjk0ZDI3NUJFMzBEMUM3NDRGOGE0M2ZBQkQyNmY1RTE1NTY5MURhIiwiMHhFMGQ1YkU4MzYwMzI4MjM2QkIyNjEwM0E0RDIwMzEwZDFlRTA0RUVGIiwiMHg2MUVFNDM3NTgwN0I1NTFlMGJFZThBQTMzNDUxNTgyMDA2ODgwQUFGIiwiMHgxRjczODc5YWU0MjQ0MTM4OTA0M0I4RjVEZmRGNjVmMzA3OTJiQTNjIiwiMHhjYzI3MTE2NEI4YUNkNjc4YzBiMEQ5MmI1YjJlRDczM0NmODg2YjNiIiwiMHg3OTkwNTE4QzU1NDdkMzBjMDc3MTdCZDM2MjgyOUMyNmIyMjdhQjIxIiwiMHg2M2FFREQwOEM2MTU4OUEwZjkwOWVCNWJCOTZCNGQwNTI0NWRiNjMxIiwiMHhjQTNCMWQ0QjlCYjAwNDJkQjYyOUJDODEzQjc1NzFERDNiODM0ZjU4IiwiMHhEM0Q1NzQ4N0VjMkI4ODdCMjJjZTNBMjEzOGY0ODlhNzFGMTBFMDJlIiwiMHhEOWIxZjgzYzYzMjVEMEYyOWM4NjA0ZWM3ZThFODU4OGIxRDMzRTY3IiwiMHg1NmZEYTdjRUVlQmI5RGE3Y0QzNzk4NDIzREJkNkFBM2I4NDkxYjIzIiwiMHg1NjYzOTI4MmI2RmUzMTEzZUE2MTVjYUNGQzlEYzc3MEZGRTk4MzA5IiwiMHhlODBCYmVENDQwRThFNjM4MDIxNkM2YUNjMWQ4QWIzODkwOTZlMjUwIiwiMHhFNjc5Mjc2Y2EzODgzOGVkNTk2ODU3MThjNmQ5NTBCOWJiQzVBMWNhIiwiMHg0OTJhQzBGNzA3QzA0NkRBMzA1MDZDZTk5OThmZDMyMzg3MmY2NDFlIiwiMHgyMDNiNEU4NzEzMmExZkM3MDUyNEUwNkZBMzAwRDNhRjA1NTQzQmNlIiwiMHg1NDNENzM4NmE0NkUwMzBlOTJDRDk2OTNGQzlCMjU1ZkQzM2NlQ2MyIiwiMHgyZEQ1ODBhQTdlRDRDYUQ5MDdFMTY5MEFlOGIzNDQ0YjI4Q0FDZjkzIiwiMHhGYzI4OTBmZkIzMDY5QTFBOWQzRjdCMTFDNzc3NWExQTFlZTcyMWMwIiwiMHgyQzg2NDNFNjIzMkE4MDZjOEU3QzI0QTU2N2MzNDUzODM1YjlDYkNEIiwiMHg0ZDcwNzhENzc5NjY1MUNCYTc0YWY2N0U0MkRjOUNBMzlmZjJCMTI4IiwiMHhhRUQwMEExMThlMzdkODVhNTI1OWQ3NGQ1NzRmMERkYjQxOTQzYkQ2IiwiMHhEM0QyQjdlMTFmNjRFRmZDRTRlRjFlNzBmNkQxN0I1OUJmOTk1RDU4IiwiMHhERTI2ZDcyZkNGMzc2QThhOTg1NjBjOEQ1N2IxNDY1NzE1MDM3ODUxIiwiMHgxRjFDNTZFMGEzNUI0MzdiOTMxQzFkM2M0ZUIzZDNEZDYyMDk4NjhmIiwiMHhmMjBGM0UwMDcwMmM0MzE0ODUyMjk5NDY3YkU1NzY3YjdhMDc5RkM1IiwiMHgzNjc1ODg3Mzc1OUYwRDM0MjdlYzMxNzFhRTQ1NTAyYjg0Q0I3NTE2IiwiMHhCMzU5YTg3NDVlRjQwNzBCODhhOGMwMjg4NEQxNzQxMjY4N0Q0ODNjIiwiMHgwQjYwY0Q3RThhMThjNzg5MTFlYmQ0MjMxOGZGMzg4M2YwY2M1OTgxIiwiMHg4MzlBQmZGN2IyNjZiNTc1NDhmNDM2YzhFODRGNkE0NzkxNzc0QmY2IiwiMHhCMTgyOTI0Y0E3OTU0Mzg3NTY5NUQ5ZkQ5NUQxQzg0NmZDMzQzMTU4IiwiMHhFNmRCMzQ2ZGI5NzJhNTRlMWQ0YTVBZTJEOEVkMzg3ODQxYmZiMTBBIiwiMHg0NzU2NEIyODczRjg5YzQ4QTFGNThCYjJDMjAxYjNDMzAwNTc5MjJCIiwiMHgwYjAwRGZhOTJmMTFhZkJBOEE0NjYwQmMzZDNlYTU3MzFjYjdDNjFCIiwiMHhCZDQ3MkQyQjA1QzYxQkFDRTQ1ZTA4RURhODU0QzMyYjNiODcwNWNkIiwiMHhhZDVDZEFlRjljN2U2MTk5NURCMDhFOWJEZTgzQ2IwYjRhYzdBQTQzIiwiMHhCM0MwRjI4ODNmRTNmNmI3QjYzMEEyN0I5OEEzNkU0QzFkOWFGRTU2IiwiMHhkRTE3Njc2ZjdENTk0QmM1RWM0NTcyOTY0NTZhQWUwOEE4MDhBMjdCIiwiMHhGYTJkMUMyOWUwRTczQWIxYTA1M2RkOGY1OTBDQkFDQmFFMmRlNjJkIiwiMHgzNTJjNzg4NmQyODFjNUUwQUQ5RTM2NTFDQ0NCOTAwMDE4ZDdjRTJEIiwiMHgzZkI0MWFFZGMxMzVmNjE5QjhlQTdFY2Y3MjY4RjI2NTk1ZTI5ZjZEIiwiMHg1YzUxNjIxOTYwQkJiNzJiNDNBMWNlQURkQTNCMDdlMkI3QzU2OTYxIiwiMHg5Yzk5RUQyODIzODU3OUIzZThmNzEwY2IyYTRjMzAwN0M2QmFERmRkIiwiMHhEY2RDMjZhMTIwNTdEQ2Q0MDk1QTlFMzUxNkQ0OEE2NDA4YzhGQzY1IiwiMHg1OTNDNTJCODhBMWU1NGVjZDA3QTIyMmE2NzcxNTIwMDU3OTE1OThFIiwiMHg2OGZiQmYxQ2FiQ2QwOTlFMzEwOURhMjg5QzEwZjI0RTY3NmY0ODhjIiwiMHhEM2MyRTVmNDQyNDU4QmRlOTJiZDM4ZDBmOTZkNUI2YzcwNmRkYUI3IiwiMHg2MDA0OTQ2ZmM5MDk1NmNDQjEyQmQ2NjE5ZTQzN0ZkRjk5QzA1MTU1IiwiMHhlZWU1OERiNzE0YTg1RTdiQ0NlNDgzZTcyMDZkY2Q1QjNFYmUwMzc1IiwiMHg3YmNBMzQ2NDI0RGE2YkFmZGQwMTc3NTM2OTU2NjgyOGY4NUNkRTFCIiwiMHhiYWU2MjE4QmJEOWE5NmI2NjgyNjM4YTE0ZDc0NmMzRjdiODJGNTgzIiwiMHg1QWU5NEE2ZTIxOUE5RDIyMGYwQzg1MDU0NWI5RmMzYzhBQzEyMDQyIiwiMHhiOWRCNTE1QzFhZDIyRWUxNEEwOTlFNzEzQjA1OTdERDUyRjQ3NzhjIiwiMHgzQzYyOGQ1Y0YzRkQxMzgyNDg0Yzc5MUUyMEFjYTViZTFhODExOEYwIiwiMHg5OTdhMmJGMzM5MzI0YWU2OEM2RDllMkI4QmIyNjA0NTg2YmY4NGI0IiwiMHg2NzY1NTkxYzE0ZmIzQzI3M0UzQzk1ZDEwODY3QkM2NTVkOTg5MDZjIiwiMHgxODlkNjNkZTY2QzU1YzE4QUQ4N0E4NTkwMDhBNTVjRURhRjE0ZjIwIiwiMHg4NjkxNjA2MUM3QjBDYTJmMTExNmE4MzFhMTczNjNFOUQ4NTEyNWM3IiwiMHg4MGRBNGFCZGM2YzI2NzQ3YzBkNDU5NzQ0MzNGODQzN0YyNjYwYTE4IiwiMHhDMEZjMkU0Q2JBRjQ4YjM2OTQ4OTcxQzRBRkQ0ODdhOTAyNzJEZGZlIiwiMHg4NzZCMzg4YkE2OTM0REI1Q2NhNTQxNTM1RURBOGVlMmZlODk2MEQwIiwiMHhmMDI3MkQ4YzY5QkFiODYxODg4Q0RFN0Y0N2M2Mjg1YjM2YURDOTEyIiwiMHg5MDc3YjdiNjAwZDlmODNlOGVEYUFkNkU0ZkMwMTYwMDIzNGYzMUZlIiwiMHhmNDMzMTdiNzZBOTMzOTUzZTY5MDlkRWE5Nzc5NUI5MmZjNDNiNDUxIiwiMHhiRkIxY0Y0NTAzZTJhRDA1MzQ2RDRjN0Y5RTQ1RTNmZWJFMjg0NzYzIiwiMHg3YmYzODBmMjI2NjI4YmU1MDY3NTQ3OGY1MmNBYzAwMDZhRDhjN0VBIiwiMHg2Q0E3OGI0MTkwMjE3NDZEOTNlMjI4NTgyMUYwQzI2NzJhRTNjN0NmIiwiMHgzMDQyYjI4RGQwQjVCNjZkNzBkQzlEMWJmNjMxQWQ4Y2M4RkYyNDg2IiwiMHhiMjY0MjY1QzU4OTAzNjYzNTNiYkMwODFiZDI1ZTMwMjE3MTA0NDM3IiwiMHhFODdiOEZkNDQ2NDk4MUU5YTgyQmYzOTVEMmM4ZjJkOGU5OTkyNjVCIiwiMHg2ZjM2RjJiMTc4MDA2RmNGRDQwYjkwMmE0ZTkzOERCNjJhNGZkNmZCIiwiMHhmMzQ2RDAwOTY1Nzc2RTUwNDkzMDY3NTEwMEM4RTI4NzFiRDY1MzBEIiwiMHgzZmFCZTNENzI0MjJEYjEzNDM1M2FFNDQ0ODkxQjg5MUYzMEM4OTc5IiwiMHhhZkNmRDNERTM1OTE2ODg1RTgzNzEyNTc0MjZFMTNlMDE1NDJEREM2IiwiMHg1N0RCMkEwZDIyMzFmRTUyMkVENUQxY2I0MDQ1OEFDMTUyYjQxRTAxIiwiMHg3MkNkMjg5ODY1Nzg3RTA2RTMzNjBCREUwMEU3MEQ2MWM4ODUxYzlFIiwiMHhGNWNBRmEzOThiRUIxMmRDQ0ZCQTkxN2MxOTkyMkMxRUEyZDZjMDU2IiwiMHhDMjExMzNmMzVCYjAyNzdjMEVmNjdBNjlhRDcxNTRCMmI2QzMwRGQ5IiwiMHgyMjE1NTlkNTFiMmI5ZUQ5M0M3MTIxMmMzOEVDZkIxNmUwOGM5OEQ2IiwiMHgxQkY1NGM1MDVCNTQyYjcxMDZGRDQ5NDY5QjU5N2ExNDVBMDdEMUZjIiwiMHhGOTExYzQ5NDI4RTJCRWQwN0Q4NzA2YTg0MEI5NmZjZTM2MzQzQTk2IiwiMHg3MTg2MTQxQmQ1YjkwNTc2MDE5ZEU2OTg4QjI5NUEyMjEwNTY1NjE4IiwiMHg2ZkIwODUzOWY2QjFCQ0MyYTM1NDcxMGQzNjNCRDVFZDJhOUE5MGE2IiwiMHgyQ2U5Njk0RUNDN0UzNkNjNkM5RjM3MDk2N0Q5NzEwODE0M2Y1RTg0IiwiMHhDNjkxNkNlN0QxODA3YzM5REY3NmYzOWEzZTMwNkFiNzg4M2VGNjM2IiwiMHhiZTkwOTM0MzcyYzMyZWM5RUMxNzM3NmFhNDlEZkFGNGYxMTY1YjgwIiwiMHhBRUU4MkM4MzhEODQ0RWFjNGE3N2VhOTYwNDFDRGQwOTBmMTkxMDk3IiwiMHhFNDQyY0U1NDA1ZjA2NjAzNjdFNTg5NEEzNTI3NjFkQjE3NDkyNTYzIiwiMHhkZTVjNzg5MDJlZjkyNDlhY0Y1OTZlNTZhQzc0MjVFNTFjQzNEODBFIiwiMHg1OGI1MjI1ZTU4N0U0OTZCNWVlZDE5OTZjMTU3N2Y5YjgyMzM2ZUVjIiwiMHgzNTEyMUQxQUM3YzU5ZWU0Q2IzOTdENzA2OTkwZjJlMjQxMUQ1MjE0IiwiMHg1Mjk3RkQ1NkFlNGZEOTBmZjVlNzBjZDc1MGVlMGJiRjQ1ODEwNGU3IiwiMHgyNTVFNDE2RUI2NkM5MERlNDdmM2FjNDQ5Yzc1M2EzNDVkNjlFOThhIiwiMHgxMzhFMTI2ZTg2Y2JiN0YxMDgzYkRFQUMwNEQyRjMxNERBOTJkZDI0IiwiMHhCQmExRGE3ZTU3RjMzREE1OTMwYjg0MzE1MTRmYjNBNTQwNGUzQjE5IiwiMHg5MzMxMjcyZjg4RDlBRGY4NzdCQWM3ODA1NTBCZkFiNjQ5MjdCRjhDIiwiMHgyOGNFMzVlOTY2MTI4RTk2RmQ5MWVjNjNiNjZkNGI4RmEzOEFmNTBCIiwiMHgwRUU0NkVGOTA4NjY0YzA3YThEMDIwMDkxZGI4NUYxYzdGM0VjQTRGIiwiMHhCZkZhZTAzODgwNjFBMzI3YjdmODljNzg4Mjc5ODRBYWQzMTgwZjNlIiwiMHgxODc4Y0E0OTY3OWFkNjgzNzBCQjIzNTgyMjMwZTI2YTgwYkY3NjUyIiwiMHhCNDM4QjEzQTFBNGMyMmVmOUNDMWYxNzY1ZDM1MTdjNDRkMkREMjJDIiwiMHg2Nzc1ODg5NUU4ZTczNjA1NzljRjAzOTZFNmQ2NENFOTk3NjQ4MUNCIiwiMHhjNDM5OUUyMzRDOWZDQjQ2MzRlNjE4NDE3QjE4ODExY2M0M0FmREFEIiwiMHg4RGJDMDQxRDBlZDA0ZkUwNjQ5MjU4MTVBQ2UzNDFjNWEyNTU2MTEzIiwiMHhlOTdiRkY1MjFEYWU2NTJhMUJiMTA3ZTIyMTI5MDc2NDJjNUE0QUM0IiwiMHg5OUMyZDc1MTAxOEQ1NkMzMURhMkViYzRGNDg5OThjMzZEMDhiNDA4IiwiMHhFZDU4ODQxNzU4NTMzNTczOTQyMUUzQmE5MTBlZDEyOTYwRDJkMzg3IiwiMHg0ODFEN0VGRjlEQzBFM0Q1N0E3Nzc0Qjk0ODk4OTc1NDMyRDk5OWE2IiwiMHhBOTU2NDQ4NWQ3MzhiOUUyOGFjMGJiNkNmRDZhNmQzODlkNEEzMUUzIiwiMHgyN0MzQ2ExNzY5NDg0MkRGYTY2NURmZDZkQ0MwYzdDMWE5YzgxMDZmIiwiMHhDNzRkNDYzMTExQTg2YTc4QjMzRjAxNDlDNzhBMjBBZTBiYUNCZWIyIiwiMHg5OTlGODgxMEVGYjAzREM0NGUxQkE4OUM0NjM5ZmJjZjQyMDMxQkQ0IiwiMHhCYWU4Yjc3ZEUxOWExODhiODNkNURhNjhCODdiRjMwQ2Y3Q0Q1ZjdFIiwiMHg1Y0RiOGJkODlEQjI2MDgwZGNiNThDODdGY2YxYzNhODNmZmFDYzY2IiwiMHhFMkRjYjNFYkNmNjIxRTY3QkVhMDRFNUY4MDQ3RDg1NzNEYzk5NDA5IiwiMHg2Q2FENjFlMmRhNUM0NmY3NzE3OTlCOGUyYTUzRDRCRDE1YzBiMDlBIiwiMHhlNDEwZjFCOTE5OTk3N2JlZTk4NDY4ZjlFNDA5ZTE5NzhBQjRDODE0IiwiMHgyNmFmMkM0MTc1Nzk1ZjA1MzEwMjJmZGYwMEZGRDc5NTM0OTFFRDk3IiwiMHhhNjE5ZUZDZmQ4NzllQ2MxOEFlYzE3Zjg2ODBmNkY0ZUVBRTkxRjlkIiwiMHhENDk2NURkQ2VGMzgxOTY0YTE2M2ViOWE5QmY4QmVBNTEzODI2NzNiIiwiMHg2YzMyODAzZUNGMmY5MWIzNTZiZTdBNkI3NkU4MDIyODIwMzI2NDdmIiwiMHgyOGU0MzI3MjBBMzNlMTlhZTNlMDBENjc5Y0QwZWE1OWU4OEVBODgyIiwiMHhmNjllMzQwRmEwMzIxZDNEOGY5Mjc2RTc4RDRDRmViZUMwMkUxNzE0IiwiMHgwMDYxMWM2QjQ3NjJERTAyM0FEMzkwM0RFQjdBMTA5NEFiN2FDQTJDIiwiMHhiMzYwZWJiRWJhNGM3NEVCN2M5NjA3NTcxMjdCODMwMDkxRTI1NjdBIiwiMHg5N0FDMEM4RTUyNUU5MTNiQTQ4MENjOWNhMkEwNzExZDlhNEJCMzZFIiwiMHhEZDQzMDc4QmM3RjRiZDg5M0E5YTBiYmM1OERiMzEyQjI3YzQ1RWQxIiwiMHg5ZTRkZkJEOTVDZjkyNUVkNTdEODkxMjNGMzNhNDYyNTA2RjI4MDg0IiwiMHhlNEEyZUNkRjZCNGI4QjczNTQ5OUUzM0YzM0IyMWVGMTc3NEI3NzdmIiwiMHhGMDBmRThERWJBNGZFOTQ2NDI4NDZhOTE1NjhmNDNCRDkzMzMzZmZiIiwiMHgwRTc5OWVkRDU2NzFmNjk0OTZlQTQ1NGI1M2RmMmFCRDdEZmVkMDFGIiwiMHg5Mjg1ODk4RTBBMEMwNUFiNTJEYjQ5QjNhNDViMjlmMTk3ZEIxNTU3IiwiMHhBMjFmNUFDNWU2MkZhRDZCMDQxN2UyMzQ5OTk3RTliYkM0M2ZGQzhiIiwiMHhDMjlFMmE5NGY5MzM5QUIzNjYwRDhCMjQ4Mjg4YUUxN0VEQjVkOURkIiwiMHg2QWJFM0VEYjYxY2U5NDIxNGZBODA2NzNCMkI3QmUyYTY4MkNGYWExIiwiMHg5Y2U0ODc5NzQ5NzAyMTA5YzdGMzdhQ0IyREVBODBDYWFiYTBBOEJjIiwiMHhCRDdDNUZhNTAzQzU0RDk2MTcyOTYwODM4NTk4OEEwN0ZGMWNDNzM4IiwiMHg2NTY0OWY3MEQwMTUxQTQ1RDgwMUMzODk1ZTMwYUE5ODU2YjM5RDVjIiwiMHhlNTI4Qjg2RWUzMGEzOEVCN2MzNDU1ZTdjOUU5NDk4QjhlRmI2OTM4IiwiMHg5M0ZBOENjQWQzNDlmM2ZlODQzOURiMzJCZjhDNzgzZDhjNDIyQzg4IiwiMHgyMWYyYjJkODZCQjM5MDkzNzMzYzk4M2U0YzExY0M4QjVENzQ1YTIzIiwiMHhBMDcxYkRCY0MyZGVDMjRBMzg4NTFmNzk5OGEwQjM1QWZiNzk2QTMxIiwiMHg2NDE0MjJENzM1MTBDODRmMDdkNThkYzMwMDBhQzZEQjNhMTM3ZTE4IiwiMHg4REUxOUU3RjYxOTg1REJGMTRmMDdkMzNDRUI5ZGM2Yzc1MjA1NjBDIiwiMHhCMURiNWUyQTQ1ZDlFODExMjU1N2M1ZTFCMjQxNkEwRDY1MkQ4YTNEIiwiMHg2MTA4MzE2MDhmNDc5Q2VjZDYwODFjQ0RFQUUxZDBGZDc2ODVBNDg4IiwiMHhkMWY0Yjg4OTJlMzE4ZmM4NTg2YjNiOTUwMjY1ODdiRDg3ODY0MWQ1IiwiMHgxMDNGYmIxMjZBMDFDMTlhZmI1NDFBNDc0QjdlZEY3ODE2YjgwMTEwIiwiMHgxNEQxODI1MTQ2RjcyOEI3M0Y0YkQzZERmMENBMUNmZDlhYTA2NDNkIiwiMHgxNDM4ODc1YWM3YjI1QUZiRjMyZEU2NWE3OTMyYjljNDFhNkExZjZkIiwiMHhFQUI5ZGEwNmNiRjZFRjYyYzhlZTQ3YTljRTIyNUI5NTkyOWZCQzVjIiwiMHhmNzgwRDhjNTY4N0JCZTY5NzdjRWYzY2UyYjQzNzAzOWY4QTI1OWJBIiwiMHhkMDY3OTEyNjc2M0NDQjEyMTlGMTY5Q2FmOEYzZDJCOTAwRjZCYTZhIiwiMHhCNTVGN0FDMDIzRmRGQTIzODBGZjUxMzUwQzRERTYyODQwNjY3QzI1IiwiMHg0YTFGYzI2YkQ2MTIwNzAzOTIzMmMyN2ZmMkM5NzRlNWJiOWQ2NEE1IiwiMHhGZTI5ODVEQTVENEQ3MTg3RGQxOWFmOGRBMmQyN0Y4MjZCNDg5OTM1IiwiMHg3YTI2RWQ1MWU4OGZmQTJEZjk0NzMwYzEzN0JhZDczZDcxYWNlNjAyIiwiMHgyNDU5ODM5NTYyYWU5Q2Q2MjMzMDFkNkEzQ2FiNzBiRDlBM2Q1QkRhIiwiMHg4RTIxMDAwZTdlRmE0YTZhOEMyNDFBZDA4NjJDRjliNzQxMWQwYmFlIiwiMHg5ODY2MTAzQjU3NmJDMzYyRTkzNEI4RTk2MTE1ZTcyNDEzQjZhOEMyIiwiMHgxNjgzM0U2YjhBMjM2MjM1NjI4NDg4MGU0OTQzRDM2OEZmMzFCZjRFIiwiMHgyZDg5MTFkOTQyODk5NDI0ZkRENWFEMkRiMjM5NTE3N0Y1M0JCNWQ3IiwiMHhDQTNlOUI5YjM0NzRBNzdDRkI5N2Y5OEFDNzRCOUYzNDljYzg5NjAxIiwiMHhGQmM2RTk3NzhmODgwZDJCMjE1OUFGOURkNEE1OWM5RjdGOTlFNWEzIiwiMHg5QTVGNkI3OUNGNUM2YzE0RTlBNDE2NUY5QTY5MmZjMTI2MDUxNEY5IiwiMHg2NTgzMUZhMjJlM0M1YkEyMzE0ZjM5RTBGMTYzQTljMDIwQzU5MGI0IiwiMHg2MUQwMDgyODI0QjJlNjhlOGUzRTA3YWVDNDhEMTI4NEYxNTE1MGE0IiwiMHhFQzRDMEJCM2MwMmFGNThGRmM0MDY0QzhlMmEwQzllMzIzNkZEMTU0IiwiMHhGNGU4M0I4NjRFYjczYUM0YzVlNjMyMGU4Y2FjMzc5ZTY2Q0Q0N2Y0IiwiMHgxMGUxZTZDZGExN2E3NUFEODI4OEU1NjlEYjk0ZWIxMmI2MWNFNmYxIiwiMHgxNUU0NzBmMzc2MjFCNkE2MzVEMzJDM0Q4NDczYTU3OGI1RWMwRDJiIiwiMHgxRjM3NTJjMWE2MDU0NTFEOENEQTcxNDE0MGU1Q0U3YjNCYzNkNjJiIiwiMHhmMDRDMTlmMzgxRTY1NDViNDQ1RTRERmFkYTIxOTk0MzlDZDkzNjQ0IiwiMHg5NTExM0M0MTBhYTNGZWE0ODFDOWZmOTk3ZDI3OThEQzRGNGZmMWRDIiwiMHg3MkM1MjM2ZjI1ZGZlMTU2ZTA0M2E2NDU3ZTRkNDllOEYyMTE5MzgyIiwiMHgxZDg1REUxNzkzMzg4OWIyOTcwMWNkOTM4N0FkZmVBZjEyMzc1ZEU3IiwiMHgxNUI1OGI1MUM0ZTY1NkYyRTYwRjFhRGYyNGQ3YjY0QzFCNDg5OGQ4IiwiMHg1ZjA1YjY4ZEZkQmFDNzU3RjgxMTY2ODY4RUE1RTE2ZGY4OTdkRDYxIiwiMHg3NjYyOUQ0Rjg4MTY4MDE4ODRjOUNGM0VDNGJCRmUzODU5YjMyNjg4IiwiMHgwRkU1Yjg1QjFlNzY4RWU5RUExRUMxNTY2Nzc3OUUwMjc1QTNGZjIyIiwiMHg3MzYyNzY5MTI2NjRCNjFDMUNjNDVENmFEMzJjMjY5QTM5NDYyNDA1IiwiMHgwOGM5QmNGNTJEYzgxREE3RmYwMDk0NzgxZmZlMjVmQTdDMTlGMzYwIiwiMHhEMDlkMmUyRjU1NkQzQmM2RTRlODNEQ0Q5NDlCRURhMjk2M2JhZDdDIiwiMHhBZjBFMUVlMzczNDliOTkxZEY5ODg2Y2M4MDdhMTBDOTI4Mzg3NTc4IiwiMHhkNjdmQTk5OTM0NkY3OTdENkMzYUM3MjNCYzgxNDc3QTBCYTUxM2Y0IiwiMHg3NTBhOWI2MTRGMDdlYzI1MmU1Y2M4MDBBZTRCYTJiODcyOGQ4NkFhIiwiMHhmMDRjRDAwNkRkMzNjNERFNTJiMjY3NzUzRTRhNjkxOEZkN0NEMjk3IiwiMHg0OTRDM2I5MEVBRjI2NkQyQjdCMzg3MjhlNDA4NzhmMkQ5N0VGYzg2IiwiMHg2NzdCZDY0N0FDQjQwNGY4RjBBQWU2NGMyRTlGN2EwRUYyODhCODlCIiwiMHg0N0VGM2M2OTVFOTlmMjdhMjIzZUU4YzQwMTg0MzVkODZjN2FDYjkxIiwiMHhhM2QxQWQ1NUJCNjk5MzNFODg4NTI5NjI2MTljNTZjMTkxN2E5NUUyIiwiMHgxYzcwOUZGZjkzQjZmZjhBODU3MTdiRTlCMUIzZkNBYTYxYUY3MEJBIiwiMHhjRTE1RTFlREJmQjAxMjU1MUIzMzQ0ZTdBZmZFNTU5ZTQ0QTA3NzE1IiwiMHg4OTE3MEVEYTk2MDNlM0Y3NWREZkQyNjFBOEIyMjliRkUxMkVFYmNkIiwiMHg1YTQ4NzAwRWFiZUMxNDVBNzUwRmExY0ZGZjAxOTk1NDdiODNCMjhGIiwiMHg5M0JFNDMzRjJkNTVCZGVEQTQyMkU2MWM4QkNBZGZERDNBRjgzOWM2IiwiMHgxMjIxNzU5NEMwQzU5QTc4MjBBMzU2M2Q0RjFFQjA0MjQwODA5ZWJiIiwiMHg4N2RlRjA5YkE5ODNCOTU2YmUyQmQ2QzA1ODY4NjhDNzQ1NDczN0Y0IiwiMHg4QzlFQUEwMDM5ODk2NTVFRDY1MmMyMEY1MzREYzMyMGRGMTY0ZkJFIiwiMHhBY2ZBMjI1OTI2MThFZEI5MDI3NDU5N0I5MjA4ZjQ3NjVBNjg4RkRDIiwiMHhFRkI4QTM0MDgyOGUzNGQ5NDYzODFhNUNjZjNlMTAyZjE2NERmMWU2IiwiMHhCYTg4NjU1NEVEYWE5OTllZjc2M2M2M0FhNzQ5MzY0NDc5ZDA0ODliIiwiMHhhNjVjMkY1ZTBDQ0EyNWYzZmI3NDFjQzhDMjQxMWFjNENDMjIwMjU2IiwiMHgxQjU4RjcxODkzN2EyNEJjRDAwQzgzMDU5NjUzNDUzZUM3OWU0MTg4IiwiMHg1YjM3OWQzZkREZjM0M2U1RWE3MTNjN2I0Mjk0ZEEzMWZDYzYwMzI5IiwiMHg1M0JhNWFERDJmQzdFMTBhZjFGNzkxODNBYmMxQTcwNDEzNzM3NmVEIiwiMHg5OTQ4OERERjQwMGI1Q0IyMTRENjVlNDY3ZTU5ZTZkNEU2N2M3MDQ4IiwiMHhBNkE3NzIyRjY0NDQ2NzZiN2QzMzFhZTYwMkQyOGUzNjZiYmZBNDZmIiwiMHhmMjc0ZDIxRTE2Q0Q3RkE3MjY1ODVjNkIxMkY4MTdCODFmN2NFRDIyIiwiMHgxRTc3OTZEYzY5ZTg5MjYzNzMyOEZkNTc0NzUwQTU1ODBhMDUxNUIyIiwiMHhjOTllYkQ3ZjlhNzBjMTE2MDQ4MUNkQjI5NGU5MDdiYmJjYzRDODNGIiwiMHg3Qjc4ZmZhNDNlMUMzOGRFMEQ2RGUyZjc2QTRGRDExZDg4ODExZDFmIiwiMHgzOGU4ODU3Y0UxRjNmM2I2RWQ1ZEEzRDBmZTk2NjIzZTA0Q2ZhYzBGIiwiMHg5NkYyMDZjNjBGMzhDRGQ4MURCYTcxZDU0RjE5OTRlMjNGNmQ5MjI4IiwiMHgyNGQ0NTcyYzlEQkJhMzcyMDQzOGUzZTRDZTMxM2VkZTkwNjNlQWIzIiwiMHhlNzA5NkYxRTZBNjkyMDk0N0VDZDYwNjUxMDQ5MzIwYjU3NDU4NzA2IiwiMHg5Q0ZDRjdkNDQ3Mzk4YkYxMzExMDVBOTdCZDQxQ2RlNTQ4NDcxMTgyIiwiMHhjZDgzRDJlMjMxNUU4MDMxRTI5NkY4N0QxNDhlYkY4OTg0ZDI4OTg2IiwiMHhlOTFBOTIxODU2ZTdhQzllN0QyQjE3QkRkMDk1MmYyNjg0YWNEMjIzIiwiMHhhYjczQThGZDFlNzUzRWQ0MkViYTAwN0VGMjBFREE4RDY0Qzc2OTY2IiwiMHgyNTczYTUxMjc2NzE4NGJlNTFCOUFCMkIzRjAzN0Y2ZkY3MjA2NUVBIiwiMHhGMzhkODczRDkyOGUxYTk1RDc4RTUxZEEyQzVlODNFOTcyMTdlMUM2IiwiMHg4N0UyOTg0ZTlBNzM5NEUxODEzMDUyMzM5MWIwQjlEZGUzOTA2ODBBIiwiMHg4YkEyMkQ5ZmIyMjk2YTkxMkM4N2NlZUI5NjYwNDE5Qjc1MjM1RDhlIiwiMHg4ZkI2MzUxNDM4RDhkNkM4MGMzYThBQzY4ZjYzZUIyNUNGMEE1MzI2IiwiMHg3N2E4Mjg2NkQwZWYwMDlkRTg0Yjk4YzZEMzVGYTIzZWRmZmI4RmJEIiwiMHhlOTA2YTMyOTczQTU3ODBDZDQ3N0ZiNTUwYjlBNzhDOTNiMjUwNkRmIiwiMHg1NGU0ODhEN2YwYjZkRWVDNjhCRUUyZWNiOWRiNUU5MDc4M2VFOWM5IiwiMHgwZEE4REMxQjI0NDYzRkZjNjQ2NjgzMTI0N2Q3RjE5NjU2NkU2MTljIiwiMHgwNzhlMTYzODJBMDU1M0Y0OTYyMDU2MERDNUM1NTNkNEFiZDFmRjA0IiwiMHgzMjIxYjc4NzA5RTc4ZTVlMDY5ODU4YWJERDc3MjNkNDQwODIxRjdBIiwiMHhCQjNjYzM3RUQxMzRkNUNDOEEyMjI4OWQ1NThBOUUzOTBkYkNmNjQ3IiwiMHgzOTM4ZjZhNmEyMzcyYkU2RDcwQjRlNjU5NTQxOTE2OURCZTA3MjllIiwiMHhGODNDRjY3ZkU1RmFDMDM3ZGJiOEI0ZTg0MjQ5ZTJiOTUyRDcyMUEwIiwiMHhCODYwYjZGMzY2M0EzN0NBNUM2RmMxNENGNDE0NDJmODk2MzFBZjE4IiwiMHgyZTA3MjFFNkM5NTE3MTA3MjU5OTc5MjhEY0FBYTA1RGFhRmEwMzFCIiwiMHhGNzQ0NDE3RDBhNUZEMThiNUIxODcyNkNFMWI0OGY5MzFERkEzMkVhIiwiMHhlNUNmNTQ3Rjg4ODkzRmZmREE0MDU4OWUxMGRCOTkwMGIzNjIzNTdmIiwiMHg2MDE0M0UzNkQ1ZjU1NUU1MzU4YzU2YjA3NjY5QTY4NkY5OTM3Q0EzIiwiMHg2YWQwNEE4RjFGNTlFOTc0ZDdmNzgyNmJkMUMyNjQxMzY1YTAzMDI3IiwiMHhGNDQwNkRBMkJBRDZlNDYxMWM4ZmM4NUI0NGFGODU5RGZCNTEzMDM0IiwiMHg1MzVFQjA5RjI5RjcyYjQ4NkY5NmExMDlDNzZjNzBEOGNkYzk4QUZFIiwiMHhkZEQwYjU0OEM0MTgyZWYwMDg4N2RCRjZFNzA5NERDMzdlMmRlNjhiIiwiMHhBQmMyYzUyOGI0MWJjZDUwNzlEM0VGRmE3QWZlNjlDOTZkREUwYzNCIiwiMHhBNmYzNTRGYjNhM0IyZjVkMEZjRjI1ODIyMERCNTA0ODBiZWNhNENGIiwiMHg4RTUwN2NBMzFBNzU3MjI1ODM5NDlmZTQ2M2U3MWJENDJGODg2NDNhIiwiMHg0Y2Y0NjdjNDE3NTg2ODI3MDQyOUYyMmIwMzliNzZkOTBBNDliYjFiIiwiMHgyMzAyMTdjOGNDQWQ2MTEyMDIyQjIzM2ZiMzI4N2I4YTQ2QTQzMzZFIiwiMHg1MTY1MDg3NTdiOGEzMWQ5NkQ3MEEyM2ZlNEQ2MkYyNDMxZjA0N2NmIiwiMHg4OTliNzdkNGEyZDBCM2NBYjA3QzNBNjlDQzc4NjA0YTcyNzU0MjQ3IiwiMHgyNTgyOTc5Yzk5MDkwODU2MzFFRTEwMjg3MzdENjEyM0VEOWVlNDkzIiwiMHgwYzhmQTE0MWFCNjRBODJhYjRhNThFMThCMGU5MmRDRjgxMjY0QTJkIiwiMHhENzQyMjQ3RDdFM0FjNEJCQTU1YUQwNWMyOUQwMGRkNDNjNURGMUU4IiwiMHg0NkZFQkZmNEQ3MTBjNzcxODEwMDk5MTJmZDE3YkY1MzA1QTk3NjRmIiwiMHg3MjNGRjUyMEM2MUM3NDYxYjQ2ZWVmOEFFMDczMDE1NUM1NzliQzQ3IiwiMHg5ODgwMkYwZTE1OTBkZmUwMTBjOGVjRjgyNThBMjVDNTJhMDU5N2FBIiwiMHhkNWU3QmQyRTNDOWMyMmU1Y0M5RGQ2NmYyODBGMUEwRTNDM0JEMWFDIiwiMHhhMTg3OEM3NDNGMmFFNmNkQ2EzYWIzNkFEQTNBRmUyM2JFMjVBRDI3IiwiMHhENDIyMkVkZDAzMkYzRjIzYmRjODQ1ZUEzOTQzMjc2ZjAwMGZGMEU2IiwiMHg5MDgyNTRBNDI1ZDczMzA2NzQwYTA4OURmODJiZDQ5Q2EzNkZmODQ1IiwiMHgxOTJhMmE3NDE4RjJjNDE0ZGU4MzYyMDdERDA4YmVENDNkNURhRDVFIiwiMHhFODc0RTRGNTExOWM4QmVBRUYyNTNjNTU4NTQwOWExNWIxNEU0ODM1IiwiMHhFRGRFOEYxMDg3OGY2NzYzOTMzN0Y0NDNDQmFBZjRBODAyNGIxYTc2IiwiMHg1NjczQTFFYzc3OTQ1RjU1QTczNWE4MGU3NWMyRmQ4QkIwMDBEMzAzIiwiMHhiNDIyN2QzQThGNWJiOTE0ZDYzMjBkMGUzZWZBNzE3NzZkREM4ZjU4IiwiMHgzMkU2M2YxOTBEQzkxRkE0RkM4NTAxRjJjNEY0ODg1MmExNjliNjZiIiwiMHhiMzllOWM2QzY3RmVFRjlhMjgwNjNkM2JlRTZCODE4ZDc4RjZEMzAzIiwiMHhlNjFmQTNjZDc1NkUyNEM0OEExNDk1NDMyMTAwOTdjMTUzQmUwYmZDIiwiMHhGYjRFYUY0NDU5MGFkY2E1MTQwMTc2MTA4QTdjMkM0QmUxNDJFODhFIiwiMHhlMDZCOTM2OUVhNzQwOWM0RWIwZTYwYzRGRTM1NjU2NDYyMzZmZkQyIiwiMHg3MWQ0OEIzNGJFODFCOGFEMjE0ZTQ5QzNjNjY4QjRmQTgxMDE2NTZDIiwiMHg0NzRGMjMzZTFFYTJhNDEyMTAxZDI0ZUZiN2RBY0Y4NEZFYWFGM0U3IiwiMHhFZDQzNWU0MjM5OGE2NzQ1NkYyQTE0MkU5RDI3OTk3ODU4NjkwNzI4IiwiMHhDMTA1MzlEMDMyMjkxNGMzZjdFYzAzOTU2RTY5NWFBODExZEUyODVjIiwiMHg1ZEVBZDA4NWFkNjc1NDMwMmY1RURFMjQwOTg4YjNmNjBmNDRlRWQxIiwiMHg4REUwMTc5MjZFQzlEMjdDOWE0ZjIyZEY5QTExQzdhQ2NiMzVjNWQ0IiwiMHg0NmMzZTczREFFOTJFODdBNDAwODgyQ2FiNTQ4MGEyNEIzQzhhMDc5IiwiMHgxNjcxMTYxQUNiNUI4ODE5NjhlNWUzNjk4Njg5NTlBNjREMTYzRThmIiwiMHhDMjM4MkRCRUU4NzFkNDVGMTY0MzA0MTUzMWE1Yzg1N2RhMDFiMTY0IiwiMHgyNzA5ZkI1MUQzNTYxMDEyRjRBNjk5Q2ZBYzAwNEI2YTlkMDVlNDQ5IiwiMHgxNDNFYThFRDNlMzY2MWE3YTljOTVEM2VEMWJGZTdGMGZBODcwNzU2IiwiMHgyMmYxMDUzOUEyOEY4NzVCMGRjNTRCNTVDMzU0Zjk1OGUzM2YzOTI0IiwiMHhmRjE5QWNFN0IzM0NmNWVGRERBMmEyMTlkMTc3M0M0NTZCMTI5NDZlIiwiMHhFNjEyQjVjNEI5QmNlQzA3ODlEMjVhRjJFMDY0RGZhNEU5MkY1MDFmIiwiMHg1QjkyZEUzYTgyNzM5ZmQ0NzYyYzE1ZEEzMWRlNzJFRjE4NDUzZGJFIiwiMHhhODEwQWQzNmU1NDVlM2RCMDA5Q2M4Q0E1MzkzMGYzZDc2YTdlOEU5IiwiMHg4OTZkNjUyQUZFYzNmMzRiQ0U2MWQyOTQ1MGQ1N2M2ODg3OUVmZDFjIiwiMHhiYTAyQkI2NUQwNjBERkE1ZWUwZDI5Qzc0NjVjNEIwQTQxMjNiQjMxIiwiMHgwMDU0QzYxQTE5RTMwN0REZDNmZjgxNzQ2NDg3ZDc1MjZmOEM0YTc2IiwiMHg0NmMxODQ4YzIyZjFBRTFCMGRCNGVGNWI0NjhmMkJCOTMwYjY1YTFkIiwiMHgwQjBlMzgwMjA0ZUU5Y2YyNDExODZEMDRkZEYzQzJFZTA3ZGZkMzdDIiwiMHg3M0IxRUM1Yzg3OThGRDI1NjBlNDhEODhlNGZkYjI2OTdmNGVFMEVjIiwiMHg0QWY4N0Y2QTc2OWVDMzM4RDZkN2MxYmI0OGYwNTBEOEEyMzFmNDQ5IiwiMHg3MzQyODk1MjA3OTJiMkQ3YUQ4QTBGMkEyMTlGNDljOTdFQzFENDVjIiwiMHg0QTg1MDlCRDlDRTM0MDExOTc2NDRlQzNCYWU2YTdmZjRmM2Y0YjE5IiwiMHgyQUIxQzM1MmVjN0JjMzRFNzREQzU0RTc5YWJjOGZmMmQ5NWUxMjZBIiwiMHhmNTA1M0VlMWNhMTk2QzQ4MkIxNDEyODM4NjAyQzc4N0M5MjU1MUI4IiwiMHg5Y0U1MzQ4N0YxMjBiNDEyYTQ5NTM5RTZlM2RkNjUzMzYxMTY2NTcwIiwiMHhDQjIzNDcwMjgyYkYwNzEwOGNiNzY1ZkEzNjhGMzU1NDdjOTQwMTk4IiwiMHg4MTM2MzkwQTc3QjEzQzE4QTdjMUU1NGQzRTI3MUY1YzczZkVkRTMxIiwiMHhjNTEwOWY1MUQ3MUI2RjI3QTE4MjlFM2Y0NjdhOTJlNEVBNWUwMWYxIiwiMHgwMTg5MDVhNjQ3RGYxRGFFMTRGMUQ5MzhGOWJDMzlBMDk5QjZmYjBmIiwiMHg4NjA5QzJjN2I2ZTljRjM3QjNmNjQxY0ZhYUQ4ZmFjNTA5MzA5RDBhIiwiMHgwZUVEQjJFOGFGOWVhNEJBMENCRjA5NmM0Y0MyOUIyNUQ0REYxQTNCIiwiMHhCMUQxNjU3M2ZFRjE5ZTJGNTA4OGEyMGEyNDkzMTE5NDcwMTI4RUFEIiwiMHhlMGEzMDA2MDcxM0Y4ZmNEZDlCMTg1MEZGMTAzNDBjNTZGYzE3NGZGIiwiMHg1ODNhRDMwODZFNjk0YmY0NEYyMTc2NzZENDFmYzI3N0M5MUQwMzgyIiwiMHhmM0FiNDZjMTQ0RTk2NTg3QTQ4MEFEMjlDMWY4NUUyRGE0ZjA5NDI1IiwiMHg4MDQ2ZDg2RWI5RUFFNEQ2NDM1MGU4M0ZGNmIxN0U0YzIyN2EzYTgyIiwiMHgyMzhiREI0OEMwNzJFNmUwQWFCOTAzNDc0OUYzYjM2MzYyNTc5OTgyIiwiMHhhMDQyOTMxMzIyNEQ4QjA3MzA5Y0M4MEEwMGY5RGIyM2E5MTQ3NjQ5IiwiMHgwQzE3Yzg2M2JjZEFGNDY3ZjhmZWM4NTdGZDY2NzkzZjYyOTM0YjEzIiwiMHgyQThjYzkyNjk1RTQ4N2ZCNDA2NTk0Nzk1YzAzZTM1ZDg3NzU0MDdhIiwiMHhmOTQ3NTdiODgxQTdhYkU3ZkExMzkyMzE4OTkwMTUzYTM4RmM5MkFjIiwiMHgwOTU0OTU1Q0FkNzJjZTVlNUE4Nzk5MjJGZkJENzU3YjA0RjkwNDZDIiwiMHhkYkJDYzhhMUI3YjNhQzU2MDA3Y2ZkNTVlOTUwMjIyOTUwZDhCYTQ0IiwiMHg0RGY2Njg5OTY4MjFENTYzNkQ5NEVjOWRiQjZmRWI4OEU1MmNGNjE2IiwiMHhkOTdBNzQ2MjQzM2Q5QTgwYzNCMDRkQzEzNkQzQjQzMzliMjI4YWM4IiwiMHgzRTZGNjA5NTIwODdjNWY5QUFjZDVhQTU1NTNFMmU3NjA1NTA1Zjk1IiwiMHg5N2JjOGMyQzA2MDY5NjZDQTRlOENBYTQzODlDNjdCRDA3Nzg4OGM0IiwiMHg2NmM0OGFCRTIyNTA4ZTA3NkQxQmE5QTkyQzY4OTZlMjk1Mzk2YWZlIiwiMHhhNDYyY0E5MjU3NDhCODMxM2E1NTFjQmIyMTJmMjFERTViMDYwZEU2IiwiMHg0MTE4MjExMEU5QzE0MGMwNDk2OEUxQkMxMDI5ODhhOURlM2ZlMzc4IiwiMHhBMjMzY0FCODRlNjVEYUZjZmYzNTk1MDAxMjZBREE3MGUyRjYzNWRBIiwiMHg3QTJFMTE1MTMxYUE5MTkyOTcxN0VkNDY3YzVBRWRmQjBjMGJlQTlFIiwiMHhjY2EyNTM5NDE1NTRhMGEwNTkxYTczRWRkMDQ2RTU4RjViMzg5N0E1IiwiMHgyMURiZDgzODYyRjBCZjAxMjhEOWY3YTdiNjYyMkJkNTVBYzcwQmZlIiwiMHg2MTBmNWYzODkxMTE3MGUzNDUwMGQyMTIwZDkwZDZhMjRkMjZkQWVDIiwiMHgzODI0MDVEOWExNjdCMkIxNUIwNTZCZTg5MTlkNjYyMjZjZjRhZUEzIiwiMHhBZDE4YzU3MjU4ZUExYTEzYUYwZTJlNzIxQmM1YkE4Qjc5MGE5MmFjIiwiMHg5MkVhMjEwYzBkMDc1OTE5M0EzN0U3MTE2MzUyNDJmMDE4YTc2YjQ2IiwiMHg4NTYwOUM2MjZiNTMyY2E4QkVBNmMzNkJlNTNhZmRjQjE1RGQ0QTQ4IiwiMHgyMTgzNDA4OUVlM2Y2QWY5ZDEzRDBCOUI5MmNjQjAwODQyZjA0RTA3IiwiMHg2NjQ1OUI1ZTQyZTQ0OTEyOTQxMzc5NTkzMzE2NmNhMWNhOUU4OTk1IiwiMHgwMEJkRWQ3ZjRENDI2NzQwRjZEY0QzNUNjZkYxYTE2RmMxMEI3YWMyIiwiMHg4YmNBMzNkYTNCM0VDZTkwREYzMGZkNjMxRDM4ZTAyOTliRUY4YjgyIiwiMHg1NjkxYjM0N2QyOTYxMjhlMTYyNjZkMGMxMzEyMjllZEY0M2FDQ2VDIiwiMHgxNjE5NzhlNzEzNmI5MDUzQzgyMDc3MDlkM2QzQ0NBRUJhZWU2QTU2IiwiMHgwNGI1NDczRDU1N0M1OUFhNjBFYjFhZDc3NjI0MGZlODJCOTgxMEJEIiwiMHhkRGVDOTdCRDZFMmYxYUI1ZjQyYzJiZkEyMmE2ZGVFNTVlQmIzOTljIiwiMHg5OTRkZTFjMkEwOTA0NjZDNGJiQ0E0ZGNmMzRDMWI5NTlCN2Y0ODRCIiwiMHg1QUJlZTk4MjI5NTA2M0MzMTcwOTU0RjBEMDNGNDk2NzNjMzVlMmQ3IiwiMHgzYjRiNUJFOEE0MDU1NDVBN0ZmNjJDM2JmRjcxNzY5ZDFmQTU3OEJFIiwiMHgzZmY5REI5YjlDRDYzRGRhNTkxOTc4YzZhMDEwYzJGYUM4ODQ5RDBFIiwiMHhFRjMyOUFhRUQyNzU0ZTk1M0NiM2U3OTgyNjVENjBBOTI0Qzc4MDBlIiwiMHhENDFkMDk4OTJiOUQ3YjA0YzRFMTZhMEMxRjk4MzlCOTYzYzY5YUQzIiwiMHg4OWIyNTNFRDc3N2ZFQ0JEMkQ3NjEzYkUyMzNFQ0RDMUYyRTNBMjc1IiwiMHhBQmY4NDkwMUVjRkVGNzRDOTczNUZGNjFDOGQyRGNhNWY4ZkU4OTllIiwiMHhGN0VERTgyQTIxM2FCNzFjQTYwNTQ2RGVFNzUwODc5RDcyQWU1ZDM1IiwiMHhBRDQ0NTZCMWYzNGY1NGY1ZjJFNTlENzE0QzYyMTJjZWRhM2I3N2E3IiwiMHhmOTQ5NzA4YWU3NWUzQTMwMjAzQzNERjAwNEFBQjFFZEZBQTM3QTE1IiwiMHg1MTdhN0M0NjkxZkI0NjJDMUVhY2NEMERBNTZBM2M1ODBkM0M2NzE3IiwiMHg1NzRCMDVkMkM2RGI0MWU0NTY5MjIwYzAwNzA0MDk2Mzg3YmYxNUExIiwiMHg5N0QzNWZDMzBkMEFDYjk2OEU3RWQxNTEwMDkzM2NEMjAyYjJiOGQ2IiwiMHhCRTczNzQ0RTE3OWQzMTM1NjBGYzUwOThBZjI4NThiMWVCNWZhNzExIiwiMHgzMDVEOEYwMjcxNzU3ODZBMTY4OGNlYjZiNUQ1QzM1ZDgzODVCZTg2IiwiMHg5QkMzMGViMTQxMzFCODUwMTRFZUZlNWRCNjgyRUIxMDMzOWIwRTE1IiwiMHg0NkFiQjFGQ0RjMTQ0YkE2ZUQ3MEI0MDAzQjM5NGVDMzg4NkZmMjkyIiwiMHhDRTk2RWM0ZjU1NDg0MjlkYzNDMDVhNGFjQUFCMDI1MEJDMmY1OTdkIiwiMHg5NTYyRjdEQTQyRDhCRWZDNTc1OUU5MTMzYzBlZTVEZDlmYkYzOTEzIiwiMHg0QmQ1NjUyNzkzZjE0MDA1NWI2OTA0ODY1MTVGNjY2Yzg2ZGM1RDIyIiwiMHhmMTE2NDc3MzQ5NzA3ZTI5MmFDOWNDNmVFMjU2MDQ2OTkzMDZBMzZjIiwiMHg0NmUzZUIxNjRBODc1QjhhNERiNjM3RkNhMUI1YTViMUMxN2MwMjA1IiwiMHg1ZDUxZDU3OTk3MTk0RDUxMzhBMTc5MDA3NDcwZDBEODE0M0I5QjgyIiwiMHgyNGQ0NmQyREU0OWJBOWJiQzVDYzZkYzdkMTE4YUNDODQ2RTBiNDYxIiwiMHhFQWQ2RTViRkRkRDY2Mjg2YTMyZTM1MDk3NGZiRjQyMjhhZEM4NTMyIiwiMHhiMWFCQjNmNkVFQzMxYTVGNWY4NjVDYjI0NmM4ZjUzYjdCZUMxRDc0IiwiMHgxYTYzNTU4YUU1OTAxOUUyOWE5RkQ1QTAwOTJFOTU4MDVDMkY5OWRFIiwiMHg2RGNmNDg3ODA5MzJjYmMxZTAyQ2YxMDYyMTVBZTQ0MzE2MTMzRDUwIiwiMHhENjJmMjI3MTczOGIzYjZkOGViQTEyYTEwQjM3NEMwNkIwNmM5MjM2IiwiMHgxM2UwMWI1NTdDZmU0YjZmMGRGYzExZkFiZTg5QTA3YzUwNjMwMjY4IiwiMHg4MjI4ZDZFNDM2YzY3NEZBRURENjM1NTQwY2I1OWU3MkNDMDEzRjAzIiwiMHgwNjJFMEVmQTEzNzhmMzBBOTE1MjkxZDg0RDUxMkQzOGFEMjVBNDAyIiwiMHgwMDJkRjQ1YTcxMzQ3Y2U2OEUxMGEwRWIzMjhBMUU2YkJDOUQ3OUY3IiwiMHg3ZDlmMzc0NzI5ZTE3MDMxODBCNzAwNEU3OEUwNDYzYTk0MDM2YWI1IiwiMHhGMGRkNGUxQ2E4MGI2ZTVBOTU0RjMxRTg2QTNmM0RiNUVkMmY2MWE2IiwiMHgwQjg5OTYwQzNiRmZlOTEwRDA5RDRiOUY4Y2REOEIwQTJEQzA3MDdlIiwiMHhmY2M2MkE1QmNlQjQ0N0YyNDA2MDdiMTI4Qjg2MDhBMWQyNTQ5ZjJGIiwiMHg2NEVkYmVlMjhlNjA4OTlGNjBCM2EzQzI1NTUzYTM5RjE1RTNFMUY2IiwiMHg3MTk3ZjZBQmU5ODY3NjA1NzJFMTRhQTAwNEM4MUU0NzZkQTU0ZWRFIiwiMHg3Mjc4MGM0OTBhODFhMEU1ODE5ZDZkQzkwYjc1YTNlMTRkYmRDQTU1IiwiMHg3Qjc0MkQzRjk2NDI1MTNGNjViQ0M4MWU4NzlCNzRkQUMwNjBlY0MwIiwiMHgzNzFBNzUxYTMyMjY5M2UwYzI4MTY3MmMzM2JFOERmMTcxNGVFNTVGIiwiMHgzODE4OTc4MDJBZTVENWY1MjA0NzE5RDJjZjhjRTM1MWVlMzk5MDY3IiwiMHgzMzk0ODYyODI2ZDYzNmIxYjFFQjdCNjYxMkUxN0M3MDBmRTg5NzI4IiwiMHg1Y0Y0MjZFZWU0MTM2OThiQzJkMTNlOGZhNzlGYTI1Y0IxMEJiMkIzIiwiMHhBZDIxOWI3NkYxZTU2MjQ2QTc3MjU4NDlFOTg3MzA2MWU3QzY1ZDZBIiwiMHgyNkNBNzBBODA4MTRiMDNFRGFFRmFhYzUxNTNFNTBFMTA3M2VDODA0IiwiMHhkOTE5REYxQTkxZWIzMDEyZGZiOWE5OTkzY2Q5YTFjM2YxMjE2MDQ1IiwiMHg5MjdGQTUzQUVlNURENTliMERGZDM5MzE1YUY2RjQ0YTc1NDdBMGIzIiwiMHhFOTczMmI2MzJFNGNiZDBDZWQxOUJkYjZFNDJBMjg5NTlFYzgyQ2VGIiwiMHgzMEQzMDc0ZjExYTk1ZWIwRTM0MzgzYTVCM0E0NTk3MTdlODlGYmM0IiwiMHg3OTI0RGFCMTM1Q2IzYjZkMTIwMEIxMTVFRjliNzkzNWJDNUIxZDk1IiwiMHg3ODM1MjliYjRGMkVjNDYzQkU2MTA2MWZhM0Q1RGMyQ2ViRTY1NzNCIiwiMHgxMzUzQjk0OUM3ZjZlQWYyMjhEQTA1OWZBQzBFZTAzNENDNzBmZmJjIiwiMHgzMDA1MDdmMTQxMkNkMjBhRmFmMkJCMkFCRDZGYzRlQmZjM0NjMTVEIiwiMHhEMTNjYTgxMDg4NjkzNDJGNzRDQjE5MjBhRWNBZTJGYmM5YjNCM2Q5IiwiMHhlMzc1YTQ5QWRDNmMwNmYxNWE5MTE3N0RmODQzZjg3ZWI5RTkyNzlFIiwiMHhDNTVkYUMwODQ5OGFDODdCQTM0NGM5OTJBMTlBZkU5RjU0NGM2QWVCIiwiMHgzQTExNjI5RDdCMjZmNWVmMzlCQjI1QjVkRDVEZWE1ZGE4OTY0YjI1IiwiMHg5YzFFQ2M2Mjc1YzIxRkViMjBlN2Q3NzkwREVDMkZDNmIzNGZEMTFBIiwiMHhGNWNCMDU2NTcwNEU4MjFGMDkyMGI3MkQ5QTI4QTY1QkYzMjdEOTAxIiwiMHgwODZlOTEyNTRkM0U4NEExYTQ4ZDBkYkJjNDVkOEM3Mzc4MjMzQWQyIiwiMHg1RTQ3RjFjMTE4MTQ0MTY5Q2NCYjUzYjNkOWQyQzdGZDcyZTMzMzgxIiwiMHg3NjE1QkM4ODAzQThFRGE2NzRCZTYyRkZBZEY3NjdFYjM0NTY2OWMzIiwiMHhCQmVDQTAyQTUzYkYwMzFmNTBBM0M0NjVDZEJDMDIxRWMyZmY4NGY0IiwiMHgwNGU1ZURFODU3ZjBiMEYyMTcwOTkzQWQ1MDBFQWUzQzY3NzJmNTc1IiwiMHg0QkQxYjQwQWQzRDg5RjY5ODUwMTM5MTg1MzdGNTVGQThDNkYwODhGIiwiMHg1RDIzRmFiNDAzMTZEYTQzZWVEOWRiODY4ZTNDRTQwMWI0MzUyYjg5IiwiMHg0MzhlRTQ4QjM3N2Q3RGYwN2M1NTFhNzU4ODcyNzViY2ZDODE2OWQxIiwiMHgzOEMwNWJEYzZCRjZlMjBkNjQyYTczNTk1MTZlNDRmNzNEOEZGMjljIiwiMHgyMGNBODUwQjYzMTUxRThlMUMxYjkyODI2RUEyMDQwNjhjODE0RWJEIiwiMHhmNTBCNzg2NjREQzQ4OWJENUNEZkNDMkQ1NzZlMDk5YmM5RGE5Yzg1IiwiMHg0N2E5MjdiYjk2MmE3YmNiRmE0MjgzRDI3MDUwNzlhNDg0NERmODNhIiwiMHgwNDAzOWM5Mzc2OEU4NzJDNDY5RWQxRThBNmExOTlBRDkwZTU2MjA2IiwiMHgyMmMzNDYwOWExMzZhMzc3Yjc2RTVFRTEwMzdkNDdBNjMwOURmZWQ4IiwiMHhCMzRlRTk1MDYxNjFBRDFjNUIzNDRDMzZFMDJCMUI1NEU2NzIwYjE1IiwiMHg4QmFlMTE0ZTgyMTU4MjMwQjNFQjdDNzU2RTE1NzJDYjI1RTc2YzIyIiwiMHhkNjJlN0U0ODIxQjEyQjY1MGMwOWIwOTU4RjdGMDgwNTdBNTFmM0IyIiwiMHhBNzMwYWY1NzIyNkYxZmFDMmI4NzJDZDY5ODUxN0Y5QzU1NWE1MENBIiwiMHg0YTc2NGY3ODIyYjhGYzNDNzcxZTNhQTE3NTk2OTNjYUE3MDc1MjEyIiwiMHg3NGE5QjYyNzQ3MTFlNWIxZTRBOEVmOTViZmEwRTU2QjE3ZDE1ZWM5IiwiMHg1OTgyNUM0MGEyMjFhYmUyQURhRDlhNGYwYkJhNDBjOENCODQ2RTBEIiwiMHgyRTQ1QjNkMDY4Mjc4QjAzNzEzOTQxRTUxOEI0RDQ0MUZlOGY2NTQxIiwiMHg3QzU5NjM1NTAwNkI4MGM1MGMxMGE1ZjNCMEY4MzM2QjJDMjVmODEwIiwiMHgzNjU3QUZlNjU2RjJjQTZGMzJDZmQwZWI3RTQwNzU2NTVmNzdFQjcyIiwiMHgwMzM4ZDBmMzAzMTE3QUQxRjE3MTEyMDUxOTBBMWRkMEJiMDNlNkQ5IiwiMHhEODk5NWYzOWJCRDA0NEY2RDY3NUVCQmZmN0JjMDk2MzAxZDNjNUE3IiwiMHhhRjhEZGMyODQ0NTU2YmQ0NDU2MzY4YmM3Qzk4MTA2YjkwQjY0ZjEzIiwiMHgzMUQyMGUxQTFFMUFhNGQ0Yjk3NDMxNzAzY0UxQjAzNGNmN0Y2OGVEIiwiMHg5RDg2MWNjMTk5ZUNGQkRlOTA2MEJBMTQ4MEIwYTU1ZkM4NUREMjMyIiwiMHgzNTlhNDE5MDczMTM2MjQwNWMyM2U2RTQ0OWUzMGE1MzY2NTZEMGY0IiwiMHg0ODk0NUUyYzEwY2IzNEZFMDA1MzlhNkJjYTg4N0IxODk5NTIyMjAxIiwiMHg1Y2VBN2ZGYWIyMTBERGMzYTc1QzNmYkMxZTRGQ0YyQjM3MDM3NGMxIiwiMHg0NkRBY2Q4Zjc0ODdDNWVmQWYxMjA5YTEwOTU0MjVBODNFY2QxODM3IiwiMHgyYTlCYTA5NDg0NzJCOTkyM0YxNDY5MTZEYjVjRTYyMjRhODBGMzIxIiwiMHhmZUE2OTVmYTg1ZjczMkZlODMxYUM5NEVhNENDQTU2ZDk1MUJhMEM5IiwiMHg5NGM5YTM2OTI2RjY1NGZhNzgwQUEwRjY4MTg5YzFlMzFkNTgwOUM4IiwiMHg1OTQ2OUY2MTFiQ0I2MEYwMmZhMjhFMjZBMEQ2Q0FBMWExY0ZmRjVhIiwiMHhBMDIxMDZkNEE5QUM5YThDODYyMjNGMzFCRTI0OTNhMkY2MjM0ZmU4IiwiMHg5NkM2MDNkRTlGYzMwQjg1OTJDMDUwMUVkMTcyZDdiMkE5NzI4M2QyIiwiMHg3ZDAwNjI0NGE4MzAxM0Q1YkMzRTRDRDM3ZWRFMmRhZGFmMDk1NDcwIiwiMHgyNjM1MUQwZDgzYURCNzdjM2M0YkE3OWJBYjIyNjk5RWU2QkIzRmRlIiwiMHg2M0RjQzA4OThlYjU0ZjU1OTUzNzkzODhlNTlFN0IwOTRjQmZDNjFiIiwiMHgyNkU1RDUwNkUyNzFDMEQyOUJiZkE5MDg0MDdjZjU4YTk1NTgwRkJlIiwiMHgxQTlGMDRFMWYxZTA3MTI2MDQzRmUxNGVFNWEyODI4MmNGNjlDZDBEIiwiMHg0NDI5NzQ5NGJiMjI2NTgzRkZEZDM2Njk2NEFjMTM5NzEzNUZmOUIyIiwiMHhmZDljRjgzZmJhYzA4NjUzMDUzM0Y5MTdkQ0E2QkY0Q0UyZDI5YzVmIiwiMHhFMzAwMDIzNWFlREYzNUFkZjY4MjhiYkEyMWE5NDU1MDA1ZEQzQjFDIiwiMHg1MjkwNDlkNWE0ZTFDOTc5M2VmNUI3MjEwNTIwMENGRjRFYjUyYTgyIiwiMHhiN0U3NzVjNGE1YkRBYjgwNUI0QjMxNjAyOGJiYzhiOEU3OTg2NGJlIiwiMHg1NEY2N2M4OTM1YjgyOTlGQzhGNkUyQ0ZlYjBhQ0I1ODdjOWU2MTlkIiwiMHg4NDI4OTc3NGExMGViNjQwNEJDNTY2QTg4OGYyOTMwNzRGM2Q2MWJhIiwiMHgwYjI1N2QyM2EyRUQ4MkIwNWE0MTIzMmM5RDUwNzIwNEJBRDEwNWZjIiwiMHhBOTEyNjlGMWMxMzAwNTZDNkRENjMxM0IyQ2M2MUQ4M2ZCMWNCNUUwIiwiMHgyNzc4QTI0RTlCOThBRDFENjJGMkZmM0VEMGQzQzk2MDE5MDhGMWFFIiwiMHgxMWU2MkIyZTU1NDg1NjU3OEUxNUQ2RkVkNjQzRTY2NmYyMzQyYzZiIiwiMHgzYTYyYTFmNWZmYzQ5RjUxNENDZDMyOEI2NTE4NjZCYThhRkE2NUNmIiwiMHg5ZjgyQkU2ODUyRTMwMDUyMTc1YTZhNmMxODY4NTkxMzkxRGUxMmExIiwiMHg3MUVGNzk4ODRBNDM5YTNiRDU4MmU3NDBDNkRDMWY1MGM3M2UwMDE5IiwiMHgzNDhiODIyZGM5MTU4ZmY2OTA1MDlGNDJjNzYwRTM3MDYwOTM0ODU0IiwiMHgzODlFRTgzOTdBOUVmODZDMjNiQTllNDQ4RjZCYThCRTFjNzA0NzNkIiwiMHhERkMxNGQyQWYxNjlCMEQzNkM0RUZGNTY3QWRhOWIyRTBDQUUwNDRmIiwiMHhlYmIxMWJBQzNGNzE2ZURBNGI0MmY1Q2QxNTMzOTZBMDY5OWYxNmU5IiwiMHhGODE5ZUJENmEzN2Q4ZTQ4Q0Q4RUU1MjhDOTQwQkMwRjFmODY5QTJDIiwiMHhBMTg4QzlBNGE0ODk3OEJGNzcyMTY1ODBGQ2VjRDllYTQ1YjYyQzhiIiwiMHgyQUM0OTU4QzI1NjYzRjBkQ0NjMTljQTc2N2VGMTFCNTVCMDkzOEMxIiwiMHgyMUE2OEQ5MEFlOTM5YzhiOEE1OUQ4Mzg2MEE2ODlFOTA1MmE1MDE2IiwiMHhEYTZDZEY4MTU1QjRjZjliZjc2QjVEZjY0NDE0RTY2OTQxNTFFRTMyIiwiMHhBYTAwOEI0YWQ3RTYyYUVmNUE2MUE5OGZCOTUxN0I4NTljNTQ3ZmJjIiwiMHhENDVjNDliMkRCNTc5MUJBOUYyMUE0RDM1YTY5MjU4MDU1YmZlZTQ5IiwiMHhENTI5Njg1MzA4MjZjNjExYjExMTNCNmI1ZUNkQjU0QzEzNjVGNjk5IiwiMHg4YWU0ZjNEOWI0MjVmNWFiZmJCRWI3Y0ZmNDdEY2RiMjM2YUNBYzcyIiwiMHgzYzhhNzk4MDZFNzNFRTY4NTU4RTY2NDk0MDFGNThBNmFjODlFNjU0IiwiMHg5OTEyNzcyMDUzYThDNTBkNzMxOTQwMUQ5NTdCNEQ4REU4RENiMTY5IiwiMHgxZEE0OEJmNWY3RGVlNjUyMWU2MDAxNDA3MTBDM0U1M0E2NTNhNzIwIiwiMHhENDhBNjQ1MmI0YmVFRkUzNjMwNzIzMDc3ZTlFRTk4Q0QwQjJGQkFlIiwiMHgyODkzNTQwOTdlQ2M2YjYxOEI5ZDJDOGRhNzVkY2ZCYURERTI0Y0MzIiwiMHgzODE2RjhkQzFCN2I3RTQ2MkY4NWViNTY4ZmUwYzkxNGI2OTlEMzg0IiwiMHhmMmEwMDA0MDIxM0YxNzFiM2E0OTE5QjE2NDgwYTE0NUNlNzE0OTI0IiwiMHgyQjg3OTU0NzVhNjFDODU2MzZFMUVlMTNmZDIxY2ExQjdDODYwMjQ1IiwiMHgzN0Y5N2RhMTcxMTkwMGViYTQyQzA5MzM4OTMwMzU3MWY2MzhlOTIwIiwiMHg3N0VDMUU4ODBhNTA1NjRDRTA0ZEQ2YzA3NDZiZDEzODZCOTExODNlIiwiMHgyMTc2MzY1ZjFEODNkOThFZTBBNzg1NDA4OGQyMDI3YkRBOGI4ODYxIiwiMHg3OUNFRjBGODcwZTU0QkZFNTBCM2ZFQzA4MkIxYThhNTE4NTkzNDUwIiwiMHg0ODkyQzNEMzM4NjlmOUQ2OGUxODM2NzA1RjBkQkUwZjcxMDVFZTIxIiwiMHg2NTQyNTAwZkE0ZTRDMjVCMGY4NWJENTA4ZUI2NGUwODdhZTcwQkFGIiwiMHg4MDcxOWIxYjY1Q0M4MDRFYjYwZDk3NTRiODRhQzZkRDI0MkExRmZmIiwiMHhDODgwQTgzZWM2OWMyYjdBOTY0NUFCMzQ4NTlDMjhEQ2E1RDMzY2FBIiwiMHhmMmQ0RWNBQzZhMWYzYzllNGI1MDBkMTFCNjNDQjY3NmJkM2JlQ2NDIiwiMHgwNDA4NUVGMjZjOUFCODgxMDZiY2M1RDBDYThhOGFGNEU5RTA4MjMwIiwiMHhkYzg5QTg3QTZhMzE1NjBFMDZGNDI5M0JERERBOTE2ZDFlNjIzN2Q4IiwiMHhmZTAwMTEwRENEZmJjRGIwMmY5QkFlRWZBQ2Y3OEM5OTZGQTgwMTVhIiwiMHg3NThkOUU1MkM5ZDVhMzZDYkRFMmRjODcwQjRGNmJiOWExNTIyNThGIiwiMHgwNDdmRDFkNWY0ZGVCNzlBQzFmQTI1ZjkxOWE0YzlEMzg1NDM2QjI2IiwiMHg3QmJDMUExQWQzYThGMEU4YkU3Y0FmMzdGODEzOWFkZjcwMTM2NDE4IiwiMHhmNTZCNUY2NmM4MWU1MDA5MThiNTY4MGQ3MUUyQjM4YzI1RkE5Y0RDIiwiMHg0MjhlZURBMkJFY0QzZUFlYzI4ZTUyNzdiQzQzM0FCMWJDYTQ2REY5IiwiMHhiNTYzNUY1NmFGNzczMzJDNkVEOThlNzZlRDY5NTRlYUJjQTk3N2VEIiwiMHg2NDQ5NTg5MWM1NzMzNzI5M0I4RjA4QUM1YTBGMTUwMGI4MjZkMjdGIiwiMHg5QzM1OUYyYWI0RUY0NDhGNzc4QjkzNDAzNzhGODE0NjZmZEMwNzBEIiwiMHhGMTk1NzQ4NmE0NmY2NjUwOGFDQTg3ODZmMmFCRGEzMTYxZjUyNzU4IiwiMHg0MUFGYjg2MzM3NGZhODhBRmIyM2NjNmFFOUIxODNCMTM0NkU2NGE3IiwiMHhGQUVmYTIwQjRlYjdlNWMyRURmYjMxRDk1MzAyQWNkRjIzZTRiY0M5IiwiMHg3Q2MwQzA4QTVBMzBCOEJjMjgxODE3NjJjODU2MzdjNjhjNEVkMDcyIiwiMHhjOTExMjcyOTdDMmViRTIzMzZEQTllOUJGRDM2Mjg4NUE2ZEM0YzMzIiwiMHgyQjkzOGVjMDUwNUEyRDZGMmY4QWNlYkFmRTczZGI4ZmNDNjgwMTNhIiwiMHg1NTM1MGY5ODQ0NzZhNUU5ZjQ5YzBkYjRGQjVBY0UxMkE0NDA3QzA5IiwiMHg5MzA5NTU1RDgxYTFlZkNEN0Y3ZDBmYTdhQzJlMUI3MjY2QjkyOTk2IiwiMHg1OWY5ZTA1OTlGZjQxOUFBNWIyQUU2NjM3YzU2ZDgyNWRBRDkyOWIyIiwiMHhFOGUxNjM1ZjIxM0VCZWY1ZmU5ODcwNDY2NDE5MjBEZDg1RTYyRjc0IiwiMHg2YkNCRTk2MTlBYTVhOUU5MkYxMjRhNzBiZTIyNzM1ODFjNzM0ZDhiIiwiMHg1N2VmNTdCNjQ2OWI4Njg3MURkMDlkRjE1MzIyNWEyYWFDMmUyZGFDIiwiMHg1RTUzMWM2NTdmMDM0ZGU5MTllOThFNmZCZDQ5REYwRDAxOTU0NjNkIiwiMHhlODY3OTE3MkRmNmJjNzBGMzg5MTQ2OTY3MUQzOThlMDE3MTgwOTdjIiwiMHgyMjhiNGYwQjJlMDhkRDEyOTE2MzhkNTc4NTlGNWU0RTk2YzFDZjhiIiwiMHhjNWRkQzNFOUQxMDNCOURGZEYzMkFlNzA5NmYxMzkyQ2Y4ODY5NkY5IiwiMHg5OTlkQzVEOTA4MjlBNTk0NTJmZjllRkZGNjAyYjFGN2Q5YTYyMDgyIiwiMHhEOTg4MTc1MkE2YjE0NzAxODZjOUI3ZDBCNDU4YmZFNWJCNkY1ZGU1IiwiMHg4RDFGODQzQjRhODIwZjc3RGQ2YkM1ZGUyQTZFOTIyNUFBNmU5RDk5IiwiMHg2NDUzMDkzNjVEQzM2OWRiN2RBMzc0MEE5RTRhMzYxNEEwYjc1NUZGIiwiMHhhYjRBQmE2OUFiOGJkNDFlYTU3MmIwYkUwODgwNUNEZjdCOEUxM0Q2IiwiMHgzQUYxRTU1OWFCODg0QzVENjBhQUY0RkY1MUMzRTFlQTBFNTlDQ0ZGIiwiMHgxODYzMmMzNjkzYTg0NDc0NUQwYThlOUQ5ZTRCYUE0NDY1MWJGNDZkIiwiMHg2OTFENkFjMkFEMmI4N0VBYkIxZDQyMTllQ2VlN2ZjMDc2OEYyMjAxIiwiMHhERGI4MjIwNWRCMDQ0RGViOTg5ODMzMTIzNzBGRkIxODJDNGQ4Y0E2IiwiMHhkY0UxODlEOUJlNjc3MURkMzI4Q0Y5ZEI5ZjQ0N0UzYzcyOTkxN0IzIiwiMHgzMDY5NDI0MjU1OGRlNzkxMTdmYzdmMTQ3YTIyOGRjZDE2OUI1YzI4IiwiMHgwRkRENEE0MzQ3M0JlMmQ1YjE0NEZlNjk0M0RBQTg1MzcyODcwMDA5IiwiMHgwMkU0ZjM2NUU0OWRiNkMzMjc2MTA2M2ZhZjhiZEE4QTcyZDliZjQ1IiwiMHgxN2QxZkQzZkMyQTBhNDE3MkZlMkUxNjdEMkE4MTQyNDlGNWEzODhmIiwiMHgyOTRFZmIxZWEzOUE4RUEyNTMwMzA0NzAwN2Y5OEUwMUVCZTI4NEVDIiwiMHgzYzJmNzEwZmVjM2M5OTZDNWE5MDRiNmIxZmQxNDQ2QTc3QkY2QjQ1IiwiMHgyMTBDNjNmYTNlMTJEQTk5N2E4YzkzNGM2QTE3ODQ5ZTlhNTQ5ODhhIiwiMHhhZTJjY2MzYzQ0MmQwRTcwN0UxMzhkMTUxNDE3NEJDNENEZDk0NEY5IiwiMHgxYTQ1NUI0M2UxODVFY0M4MGI0MTE4YTQ3MjU1YmY5N2NkRTk3NkZlIiwiMHhjREU4MjgxMzBjODQ3NTkxNjQ3MjZCMjJkMjNlOEIzMzA1MkY4M0Y2IiwiMHhGQjA3NjREN0I4NTcwRDc0OTdhNzdBZkU2MTRENDE0MGRkYkE5NDQ5IiwiMHg5MTkwNTQ2MTE5M2E1RTliM0E5YjczZmZhQ2M1MjYzOTZBZDU5NURBIiwiMHhEMDhGM0YxMTc1NDc2NjhlOEY0OTg0QjAwZjk2NEMyNTM1QkM5N2QwIiwiMHg1RWRGOUI0MEFmMDI3ODc0N0ZDZTE4OWM1QjFhMTI3NkVBNjk5ODYwIiwiMHg4QzRFYmMwMDk0REZBM0FhZjU4RjAzNkFkZWIzYTQ4MDI5OTZBOUE3IiwiMHhGOEU2NTE4YkI0M0UyQzY2ZTdFODFBNUFDNjZlMDA0OTBiMTNEOTJlIiwiMHhGNzU2NDczOUNjMGM5NjRjOTY1ZDA5MTlFMGZBZjcwOTM1NDYzYzdDIiwiMHhhODMzMjc4ZGNmYkY5ODRmZUZkNTZhZUUzOUI5Mjg4MkVCNjVDRDVDIiwiMHgwQTk4MDMxZjUzMmMyNjhDNmE0RDIzMUUwMTU0MzIwODRDNDkyM0M4IiwiMHg0MjhDOTZiZDY4MUZFOWVDMGM1MmU4ODFCNzMxMmFCMmE5Njc1ZUZhIiwiMHg3NmM1ZDU5MDk2YjdGMWIyMzlFMTE4YUUyZTZhNWUyYjA3MUE2NUY1IiwiMHg5QTRhZDFkNTM2QURjOTQxMWIzQzIyZGM1OWMzRWJBZGEzOUNFNzI3IiwiMHgyMTM1OTM1OWVEY0QzNzA3NkYzYzE0NTE3MkY1OTAxODkwYTAwODZmIiwiMHg3RDlENzg3MTZDQzc2RjJCMjg0ZEU5NDU4NWUyRDZDRkQ2MTFhYjc4IiwiMHhkZGJFMWRGQzY2ODIzM2JiODgyMDE0ODM4REFFNTBkZUY1RWE5NjdjIiwiMHgxOUE2QzYwYTJFOTMzNzRFOTBiNmQwNjU4OTNmNjdCMTYyODU5RDg3IiwiMHhiYTVEYWRGN0RENEEzMjVlQjY2RDk1NDFlM2ZkMjgwRmY1NzkwZTNGIiwiMHg5OGZjNjFFRTZFZmVmOGU0M2FhYzhDMTdlQzIwNUE3ODM5MWIwREQ2IiwiMHg5QzYzMTJjODE1QTc1ZWE4QjFBQzMyYjBDN0MyRDVFREFlMjBERjk1IiwiMHgwNDE1RjdBMDczQTVEOGQ1MTBCZDQ3NjNFMGRDNDkyNEI5N2ZjQzc1IiwiMHhjMzYzNEFBOGU2NzYxNTBlY2M2MERGNUU0NTY2QzQxYjhCNDRhRTU4IiwiMHgxN2ZGMjkxRTJmNjI2MDIyMTZBMTYwYTg5ZDhFZjU3NjczNUU5OTNBIiwiMHg1N0ZENDkxZmE5NzAxMjQxMmQ3NDEzNjZFOEU1NzNFNEU2NjhlMmU1IiwiMHhlNDk4NjkxRjgzNkI2MWRiMGEyZDM0Mjc3MmFFMjQzMmQwQTUzZkY4IiwiMHhiMTZjZTQwYzZlREFiZEJBODQyQzk5MGRiMkI4MjgxMEU5MjU0MWExIiwiMHg2NzRFMTE0ZEFkODE4MzhkMTUxZDlCZWRBMjI3MTIyOGVlQWUwRThCIiwiMHhBREQxOTJlQjM5MDkwZTgxOEY5RmEwODZENkE3NThlRjJCYTBiQjM5IiwiMHg1YkMwNkFlODVDOUVlOERmRDk5YmQ2MmUyNEUwNTY5MTY0NzgxZWUxIiwiMHg2YzJiNzZDODQxOEZDMGZDZURDMjYxNjk2MTJjYTkxNWU3MEJENUVhIiwiMHhmNzhCNjkzRURhNmQ0ZDMxNDI4MjE2RWM4Qzg5QjMyNDNCOUQzZjIzIiwiMHhjNTE3NjVjZTczM2REZDFFRTVDMDQ3ODZDZTFlMWVkMjRjM0FDODhlIiwiMHhhZDRkQjc5MDMxZEU4MjE4ODQ1QjIzMUYyQjU0RGUwMTM4OEY2ZjY2IiwiMHhFYzcxY2FEOTg2M2E3QzJjNDEwZDRBMTUxZDQ0MDI2NGU2ZkM0M2QxIiwiMHgxRDFiRTIyOUZhMmU0NDJBM0ExODMwNDRCMkY2NDA0OTA0MmY4MDRhIiwiMHg5MzcyQjJkRDRjNzBCZDczQTg0NDU2ZURBNzczNDVDN0VmOEUxQTRiIiwiMHhiMDRkYjc2QzJEOUUwNUM5OWY4MDE5MTdiNGFmNGFFZjcxZjI3OWE1IiwiMHgyQjA4QUU3NGM3MzYzMDkxMjczYUMwN0RBQzU1MWNCMGJDNzQ1NzJGIiwiMHhiNWZGMDg3MzFiZEUyNjI0MjVjQmIyNGI5QzBDQzYzODk3ZTJEMzg3IiwiMHhlNmRDYUJBRWY2QzczMThGNjEwZTExZkFEQ0YzMzg2MmNkYUI2NUM5IiwiMHgzMkVhZDBkNkU3YWE0QUY0N0I1YWJmNjM1RjQ2NUJFMEUyNWI3MjA4IiwiMHg1MDQ5OTMzZDFjZEI5RTNENEIzMjAwZEQxQTU0NTAxMTFDYURFNTZiIiwiMHhCMjEwMzNjMWNGMjMzNjI2NmE0OTkxZmZhQzg2NTc3NERkRjQ2MWZBIiwiMHg3MzcwOTc3NjEyMzE2MDcyNTM4NUJCNDEyMTMzYTQ4NzI4NEFGNzY5IiwiMHgwOTBmQzkwNjY4YTBhN2M4NzNlREY2MzBDRGY2ODM0ODc2NmQwZkMyIiwiMHhCNkI0YTgxQkY5NjAxODAyOTUwMGVBQUI5MEZhOThBMjhGRmJCNDBmIiwiMHg3MWRFODkwYUU0N0RkODBGYUQ2ZDg2MGM1ZmIyOTA3MDQwOWUyQWY3IiwiMHg1OTMyOUNDNTM1RTUwZUYwQWY0Qjc1NjFjOTg2RkE4MTQzQjFBQ2JmIiwiMHhERWE1NzU1NzRkMmU2NzMxRjJCOEVjMGYyYTZFOWUzOTc4REY1NTA0IiwiMHg4MzFjNTU3NzJiNEEzOGIwOTA3MkZDN0NmYjkxNkM5QzEzNkEzMDQ0IiwiMHhkRDAxODEzMDcyRkVmRWNEMGFiZDhGNzU1ZDk1NEFjOEQ1NzM2NTRkIiwiMHg3NmU4YzZGMkE2MzRCNzI5MGRCOTA2MDU5NDdlMDY3NEVBNDdENGZBIiwiMHgxRTNlQTE3N2RlNjIyRDQ5MTkwQjgwYjI2OTFlMDQxRTAzNDE4MjhhIiwiMHhEOERlRkU3NzEwMTlDMzNmNmFmRjFFNjQwNjg1RThFNjdkOURjQjIzIiwiMHhjMDQ5ZDA0RDQwNDQxRDc3RTk5ZDc3YTM1MDM1NWQyRTJFRjYwZGYxIiwiMHhCNDI0MDAzNzI2MkNkNDVDOTQxM2EyYTIzYzdhY2U0NDk0QmVCNGFEIiwiMHhBMWIyNTYyMjFmOTZCMTAxRTg2ZTUxNDYwOTZhYzkxODFBMjE5YWFFIiwiMHhENDA4OWM2NTU3ODlBZUVGZTk0QkU3QmM2NTM0NUI3MDkwYkU5NEE1IiwiMHhEMTBGYWQ1MDliQTkyNDZmNjk3NDc3OTE1OTZmMGYwNkRDNzljNzI0IiwiMHg5Q2M0M2ZBNGE2MUQyNjM4YmQxNjc5ODMxQWREMUEyYjlGMjM4Nzg3IiwiMHgwRjhmOTUyMjY3ZUVFODNFODExNTk0MWVBMDc5NTJFRDQ2NjhGOGJhIiwiMHhlMDYxQTE0MkM5M2Q2NUQ1QTE1ZEVkOTQxMjA5MDhjMzhmZDg3NTBEIiwiMHgwMWRDOTA2MDBiZGY0MTc2QzA2YzJGNTQ1NTMyNzNBZTJCQWY3MmQ5IiwiMHgzMGY0RjRhMTg2MUJmQTYwQzJGNUMzNGE3MjJlN2M4N2EzNjE1M2YyIiwiMHg0QThmNmFDRDFCNGZCOEIzNGMyNjFGNDM1NDkyYmM2RDdBMTZmNGM2IiwiMHhBZEJDMmIxOWM5Y0U1YjIyNzUzMDgzQUFlYTU1QzAwMTJFNjBhNWFFIiwiMHhiQkExZTQ4YjgwOTJGQThlYTQ5YmRkRkIwOUExNTQxQTg0MzlDQjM3IiwiMHgxZUVFNzQyNjNBY0IxN2I5MkUzNjMzYTlGYjhjNUNBYWI1Yzc4NjU5IiwiMHhCMzBDZjgzOUU3ZUI3MDY5NDU0NmI2ZDRBZjc4MTcxMEQyMDkyQjZDIiwiMHhBQ2UxNWQwNDUwQWFGQjI5NzQyQ2VGMDFGNTA0Y0QwQzc2RURiOTM0IiwiMHhBNUU0NTgyMTRiZTJjYTc5OWFmNGI5ZGY1N0I3ODk1M0NENTJmODE1IiwiMHg0YjJCZDA4QzNGMTJCZURGMUEwNzk4MDdDMDkxQUE4MjNFMTg1MjFlIiwiMHgxRjlDMEYxZmRhZDlmNTc4RjQzYUQ4NmQ0NTRmZEI4ZTJjMkE2ODIwIiwiMHg5ZUI4NGYxNzAyMzUxNkRjOTQ1YjE1M2YzRDFBOUM0OEM1MTEyOGE3IiwiMHgyREJBOUQ3NUM0RUVkY0Q2YjZCYkI3NDZDODM2OWZFOENGMjRCMTE3IiwiMHgyQWIyOTY4MmMxMGE0MDBBRTA0QTdENDBjMzdhZmM4NjZhNDBlMzYzIiwiMHg4OGNBNjExN2Y4MThmQUE3ZDUxYzIzMEY5MDgzOUM4OTg0QTYyZjY3IiwiMHhGYUVCMDU3ODQzYzgwM0VBYjNEM2Q1NzAyQzg0ZEY2RmY2YjExNTM1IiwiMHgxZjAyNERGZjZjMDZFRDc1NDVlYmUxMGMwNjY2ZTIwMzA5OGM0OTAxIiwiMHgxYWQwZEJkNzM0ZkE0NjAxMTQ4ZURFMDIwYjZlOTQ0NGYxQ0MzRTIyIiwiMHg3OTU3QjVjMTUwQkM2NGFFRDAyNGRBOGYwOTFCNUUxMTg4ZDNCMzAzIiwiMHgyZGU5OWQ0Mzg4MjgwZDI1RUUzN2I0M0I3NmUyYjE1NmZkMjQ1N0E2IiwiMHhmNjkzMTREOTQyZTkwNEQzRkQ2Nzg2NDk0ODkwN2EzOTRhMmJhN2Q3IiwiMHg5N2YyRmM0NTY5YzQ0MTgwODIwNDcwYzBhZTIxNTk4NTk1RTkxNDZFIiwiMHg0QzRDQjg3RjY4OUZmMTc5NTlkMjg3OTdkZmE0NjQ0NzQ3Y2VEMDBiIiwiMHhCZTk2MjMyZDhCOGVEMDA2ZTIzMDc1MTM4RjQ0NEU3MzEwRjY1YWJCIiwiMHg2NUM1NDBkRjJiYjM4OUM1NzhCZTM5YjZkNDJGMDQ3OTJDMjY2M2JEIiwiMHgxZjlmNjJGMDgxNzBlMjQ3OEQ4NzJCMjAxNDRlMzIwNzA4NUQzQTBhIiwiMHg0YjcyYkJEM0FEZGFEZGIxMjI2RDg1ZjRBNTFEMDkyMDY2QTUwMDZlIiwiMHg1NzU2ZDYwZGEyNTk4ZkY5YzM4MUJhOTMzOGRlYjU5NjE3OTg4NDVmIiwiMHg5NTJhYmIzOUI1MzQ5M0Y0NTcyMTY2QWNBNDQxYzkxZTgyZThlY2JhIiwiMHhDNjBkZTU1MjQyMTA2Q2Q1NDFDNjhmOTQ0MzMzODdCNDMwYTFFNDNjIiwiMHhEOWQ3OTEyOTNlNjA1NUQyNTAyRUI5N2JDN0Y0MWI4MDJiRGRhMzFFIiwiMHg1ODIxMjNlQzhFNzAzOTA0ZjBEQTBjNThCNWI1NTcwOThkYjU1YzEwIiwiMHg5M2VGZjNERjM3MzZhZTI5NGJkZDBEN0JEODJjRTUyRTExOEVlMmQyIiwiMHgzOEUxMmZEZDhEQzUxZTQ4ODMwODYzMTUxZTFBZmE3Nzk5ZTZmRTk3IiwiMHhmRDNEM0E1MDc3M2M5MjUzZUExRDkxNkMwMDUxMDcyMzlEZUZBQjYwIiwiMHg1NzYyMDY0NzQ2OTBGODVGMTU5ZjRhZTMwZTQ0MTA4NWI0QTkzMmZEIiwiMHg4RUI2RENlOENjMTdDNzA2NUJlOTFGYmVENzU4MkEzOTkzNUQ5MDQxIiwiMHhFM2JEYkI3NTAyZDg5NmZGQmM5MzA5Mjg3NDlGQ2E0MmU4NzE1RDUwIiwiMHhGQjY4MERCYTc4YjE3RUIzRDAzNEJGNzY4NjYzRTAwMzQwYUFkZTlEIiwiMHhjZUQxRDFGM2UxNDJiMzY3Zjc3NTQwZGZDRkExRTk2QjM4MzQyNTU5IiwiMHg2MDk5NTJhODQ5MTYxMmZGNjVCNGQ1NzVDOTlkNUE1OTdiNzBEY2MyIiwiMHhGQmUwQTdlNUM1RjcxMzNGNDIwNWI2OUE0NTU3ZkQzMmYwOEEwMDEyIiwiMHhjMEQzQTM2QTU1NkM3QmM5QTQ0Rjc0RjhEOWY1N0I3OTRkQTFCRGZGIiwiMHgwM0Y0Rjg2NTg4MDQyRjlhOWZGQWY5NzhFMDA4NDE3M2IxRTJDYUJmIiwiMHg4OTg5MDY1MmI5MjU3MDQ5MzM3NmY5NTEwRjJhNDNDNzdDMUNlNWIyIiwiMHg0QjFhZUMwMEJkNmY4ODAzOGYyMjM4NzhGRUYzY0IxZTM3NGUzMkJmIiwiMHhlMDQwMkQyZjFiQzk3NzI1QmI0QzEwMzM3ODBCRTQ4NDhBOGIyRjYwIiwiMHhBNUFhN0U3ZjUzNTVFOUJCNDlGYjk2NUIxODhCOTEwNWE2MGRlQzk1IiwiMHg4MGE5N0ExNzE0ODBGMWEyYjk4ZTc3NmRDQTk5MTUwRDgzODgwODMwIiwiMHhDN0Y2MUJhMUNhZEQzYjg2NjY1ZjQ3MDhFQjVjNjk1RkRBNGVGNWJGIiwiMHg1MjQ4QzI3MkMwMEVlZTFFODIzMDM5NkQ2MjA1ODI4NTFEZTk1MmYzIiwiMHg0QTEyZjUwQzY5OTRBODllMEZmZGYwNGNCNDc0NjRkRDc4QzI4REU4IiwiMHhERjAyMTA2NjBiMWNhNEQzNTlEQjFCQTYxRGU3YmU0MzY0ODAwZDRlIiwiMHhFMDg1NTkzQ2M0ZDBCMEM5ZUFGOTUzN2ZlYjgwN2JmNUYyRjQ4OWJlIiwiMHhEODJjYUY0ODQxMmM0MmJBM2Q0MTA4NkRjNTIwRTQ2Mjk1NjE5OTJDIiwiMHhERkQ1RmFBZGQxMDJBYUVDN0FBNTZCNGNFNWE1RERiN0Y2NTY1MWFhIiwiMHg2Q2U4NjA4YjlDMkYxNzUxOWI0ZmRmYTFFNTZjODUwOWFmMTNFN2ExIiwiMHg0NDM3YjM5MkNGODc0OENEMzkxNjllMTg3Q0RkOGE3MTY4NDZENjk5IiwiMHg5ZTFCRDUxN0IxNmQyQzU3OTc0MjcyNDExMGI1YUQ3YUMzMjc1QTQ3IiwiMHgzZDZkNzhkRTJmM2ZDOWI3QmExY2ExOEE1NTIyODQ1Mjc1ZDJFRjU4IiwiMHg3NzZhOGQyQzJlMzlBQURDOWRlOUFFRTJkRDRjMTVBOEY0OUIwOTdCIiwiMHgyQTI1MWYwMUU0MTU2Zjc1NTY5NGE5MTFGNWMyYjBlZjREZjY2NjZlIiwiMHhFQzFCODVhRDhlRUU3OEQ2QTA5Njc4RGZDNEZDODVkNjhiYzk3MjYwIiwiMHg2NDk2YzdlYjQ1NjBmMTExRkMwOGM1YWQwMEUzRTg5OGEyRDBGNjAyIiwiMHhkMUYwMTUxRWZkMEE1YTQxYzA2MmQ0YzU4MTkyRTIyMkFEYjRCNjYxIiwiMHhmNGY1YTA3Yzg4Mzc2MjAzZDUyNDlhMDI4MkEzMDEyMjFmZWY0MGM5IiwiMHhlZDY2NjQxQjI2YjBENjRlZDA3NTlCMkU2NjgyMjc1Rjg0ZTRmQjczIiwiMHg2Q2MzQjc0YTIxQTJCODEzNjdDMTM0OGY5N0E2OTcwNGUyQjNCN2QzIiwiMHgzNDIyZENCMDEyN2Q1NDREYmIyQjVEQTJCZTFFOTlCQ0MxZDMzZDBDIiwiMHg3NzA3NjM5ZTVkOWI3MkVhQWZiYjhjMTIyODhhMDg4NWNDQzg1YmU3IiwiMHhFODg0NkIyNzk4OEZGNTJjMzcxRDVCRDI3QmY4REJBNDA5N0M5M0QyIiwiMHg4ODdBOGViNjc4RUU5YzdDMEI4QTgxMGRlMEE2MkZBNGNjOTBBODFCIiwiMHg2MjNmQUMwNjM0MkY2QjA0YjJCZDI2NTgyYzc5Zjc5YUU5MTMwQUM0IiwiMHhEOURCZEI3QkNkNjJDZGM2M0UxZDFFQzhlODg0NUVjN0EwNkE5YmE5IiwiMHg4Q0ZkQ0IwNTRjN0NhNTc3NjA0NzA2NTBlNWRmNWVFZkVmODlCMkVDIiwiMHgxZmU0N2JjNmVjOTgwM0MwMDFlNkYzZTJCNjg0YzFjMDYwNUQwZmI0IiwiMHg1MDVEYzI0ODQyQ0JCODRGMkQ4NzZmNDMxNkFiYTY1MkQ5NmY0Njg1IiwiMHgwOGIyNzFFNzJBZDVDMDkzOEE3NzczMDIzZjBhMzVhMEUwOTZlMWZiIiwiMHhhNTgzMUE1YzM2NjRGNjZhQkU5NjcwM0Y4NTYyNzllMTAwZjQ4MThiIiwiMHgwZUI4RTFDNTUyRGM5ZEY4NDA4Yjg5NjcxQWM1MWNEYjk3MkEwMThBIiwiMHg5MUViMEZCY0ZmRGE1MjI5MEUyNmVmN0M5N2VhN2MxQURCYmQzMmFiIiwiMHhDM2ZjNkYzNjYxOTkwMUY1NDkyNUM5NTk0RTRmRDM0QkE1MkQyN0M4IiwiMHg1OWU0RDRmZmI0YjkyYTQwRjUzN2RkYzYwRTUyMDNjNTRFNmFkZDk2IiwiMHhkMDkwNkUxZkM1OThkOTc0YzYxNEIzNmEzRjc4NkFjNmNCYjkxMUUxIiwiMHgyNzFiOTgyOTIwMjQzMGZjQ0JhOTFkMzkyRmNCMmEwNmVEMmUzYzBDIiwiMHgwQ2Y5MEIwYmE0MjQ0QWEwMmZCNDgxODQ0MTFFRDc0NjExMDRiRGM5IiwiMHg3ODY4OGVCNTBjZjZmQ0ZmMTk3ZGI5YjIzNzBhMjdhN0Y5OGFEQjg4IiwiMHgyRjI4N0ZiZDgxNjgzYWFCN2MzNUZjMWRERjI1YWExREI1MTE3MURiIiwiMHgyNjc5ZUYxZTVDRjRhNjE4MjQ1RmQ0RDI2REVDODNCMmQ4OTQ1OTk3IiwiMHg5ZjdEZUIzNjRkYmFlMWEyMGIzNmJiMzI4NEU5Njg4YUUxYmRBMTU3IiwiMHgzODA1NEREM2RkZkU2NzRiYTg1RDNFMWRFM0E3MmFGOWU0QTM1NUVFIiwiMHhBZDVlMWM5YmNlNUJkMmM5ODgwNWY3MEEyRDYxMzgxNzhjNkYzMkFjIiwiMHg5MDRmODZDQmMxNDZGQ0U2OTVDRTg4MWJjZTNDNjY3ZEVhMDI1MzUzIiwiMHhhMDJEOTBBMUEzY2ZCRDBBMERhYjE3NjFlMTQ0NThDYzZhN2RmYmREIiwiMHg4ZTk1MGJlZWUxODhEYzIzNWVCNzQyQjFDNDZDMWY4MWZhQzA0NzM4IiwiMHhDY0NDNEE1ZTEzQjI2MzkxQ2I0NjViNUMwNmU2MjU3NDcxRUVCYmNDIiwiMHhBRWFCNjAwQjRkMjdjY2E3Y2E1MzRBYzFDN2QxZDlkNDg1MjFBMUU4IiwiMHg3MmFDYWUxOWRiOEQ4ODFhMzhhNTNmRkI5ZThGNEQ2ODI0Q0RjMDJFIiwiMHhkQUIxNDM1NDg4MzIxOTRDOEYyNjc3ZWJhOTgzMEUwQjQ1M0IzN0M2IiwiMHg4Qzk2QTk1NTc0MDVDOWJFNmMxNTZhMjA4QTk1M2IzRkM4OTBDOGRGIiwiMHg2YjZBNkZmMDc4Q2RlOTg4Zjg1NGI5NTQyMTJjNGVkZEZCZENCNjREIiwiMHg2MTc3MzEwZDNGYjQ4NkYxQThCNTEzNjM3NjA5MzQ0RWY5QUNhNWQ3IiwiMHhEQzkyMzdFMUIzN0ZlN2M1ZEY5NGJjMzNkODVERTY5QzZBNjBiYzYzIiwiMHhiNTdmN0Y3RkU0M0FBMTgyNDlCMEEyMzNBNmUxQzg3NkI0RUI5NzA4IiwiMHg3NTc5NTE0QjhERWZFMTZDOTJjQzBCMzc3QTE2MDk4Qjk0MzMzMWY3IiwiMHg1YjhiMzY0QWZjNzEwOTY4OUIxMzUzRkFCOWYzOGY0QjY4NjY4MzUxIiwiMHhkYzk5MTEzZjJEYjAzNkE5NEZjNkFGNmFkMjE2NTI2OTc0ZjZDOWREIiwiMHhFRTVlODdkRDA0NDRFYTYzQkQxZWYyOWI2MGM5M0NDNDgzNGNDN0IzIiwiMHhCNjQwNDI1NmI4RmJjMzEwNDcxMjc1OTQ0NDQ3OUJCRjYxZjE5ZjdlIiwiMHhlNjE4ZkNCMTlEMDE2MEZCQ0Y2NWRmNzg3NEEzMjc5N2Q2NGE4MjFBIiwiMHg1MGE0RTNiNGY1OTQ4MTI5NTZlNDRhNzNCQmQzMDk0NjdlODdEMTIzIiwiMHhmNzhFNzNDMmE0Y2VjOUI0OUE0ZDNiMzY0ODNlMjE3MzFhOUFlOTU3IiwiMHg1YzZFMjM4ZTcyOTNlRUM2RTQyMzNmNTA3QzJENTM5MDAyQUQ3M0IyIiwiMHhFRDNkNUQ3QzFEMTI2MzI4ZUFjRDAxRTAyNDg5ODgzYzgzZWE2MzliIiwiMHg1NjdGMjgyMGUzZTdiOUYwQkZiMzNDRjBCODZENkRmMzE2ZkRGMzdlIiwiMHhmOWExRWRiNTZFRDc3REFGMzg4OTY0OTExQTg0ZTUzNjA2Y0QwMDUxIiwiMHg1YkQ3NjAxZTQzMGUxNTY4MDczOGEzNGU5QWE2YjQ1ODAzRDkwQjdhIiwiMHg3OEM1RmZEMjFiMDVGRTAwZjg0ZGVCMURiNDExNjdlZTNEZjA5MzY1IiwiMHhiNGMzNzgyRWRjMTAyMTU3N0Y5M0JhYTIwMTI1NDhjNWMyODM0ZDM1IiwiMHgzMUFBOTBFNDBCYjlhOWIyQTdlODRFNTZCNDE3NGQxOTNlODYyN0IxIiwiMHg5ODQ2N2QyZDUyODg5MTI5OEYxMDFmNzM2YjQwRmY1ZTUyQTFCOTE3IiwiMHg2MjlkNzhhYjlhOWVjODM1M2E0MzNhNTE0YzdkOTJGMzI0NDM0MDAxIiwiMHhiODY5ZUI5OTM0NzE1OTYyODgwZmEwZkU5YzRhOWMzRmI5MTk0OThGIiwiMHg1NmFFMTI1NzMxMTVGYTdFQjcyOGIxRTZFZUQ4RjQzODQ3ZjQyQUQ0IiwiMHhjOTRkQzgwRTRFNDk1Qjc4MDQ2RUMyNTc0OWI0ODU2MDlmMDExMWQ0IiwiMHg5NTE2RTc3MDRBYjEzN0JFQTA3OGI4MTI1NDIwNkQ4MzM3MDgxZDhhIiwiMHhBMzJENmFGYzA0NTYyNmJkNUI4QjcxMjUxNDE5OUUwRTlFNTkyOWQ4IiwiMHhjNDdhOTNiRjg5RmNGZTMzRTAyQjBhNjk3MkMxYkQzNTMxZGVlMDhCIiwiMHhkMTM2Yjg1Qjg4YWEyNzJhQTI3NGY5OUU4ZGEwZTBDYTc3ODY4QWMxIiwiMHg5RmJhYzQ5YjhGNDI4M0FBQ2ZlNjg1Y2QyYzZmYjU4MTI5MjMzQWVhIiwiMHg5MjU2RGU0Nzg0MjVGNDYzMUE3MjdDNkJDN2M5MUNENDIwOUNDQTVFIiwiMHhDMDlCOGFlNmQ1MDhlNmZmOGU1RDc0OWFFNjcyQjk0Yjc3MzBCN2U1IiwiMHhEMDY4RjEyMzk3ODhEMjhjMkZjOTk3NDkxOERBODhjQzk0NmEyNzNFIiwiMHg3ZTQ1Y0FBMEM5OTUzMGY0NTRGNDhGZDZFZWI5OTkwRDVhNzhCNEE3IiwiMHhlQzVGOTkyRmZkNjdGQWY2ZTYxOTBFMWZmMTNkMzY3NzcwREE1NTg1IiwiMHhBOEQyN2I4YTdkRDg5MjJmRDYxZGQ3NjIwNjlDYjUyOEVmMTdjN0EwIiwiMHgyNzM3M2MwYzYzNGJkODFFM0FiYmJCZDQ4NEZjMEY2MGM0OEQ1MDNlIiwiMHhDNzlFYWYxZWM3QTQ4NjRFYkZkNUUzRDRDNjg3ODMzNjI4MEFEODFjIiwiMHhlRjZlRDEyQjJCOEFGNDcxZDUwNTMwMDVERjVFMWNiMzU1NTU4Qjk4IiwiMHg3NzM3ZDRmMzBDYkYxMzBCQTM1RDljQ2VjNDMxNUJFMzU5YUNjMzk1IiwiMHg3QjY0QmFlNjVEODZhMDg0NmU0M2NlNDBkM2ZGNzRFNEU3QUY5NDFGIiwiMHgyMDI2N2IzQzQxNDg0NDZmMjY0N2FmOTZkMzIwRGI4OEMzODM1MzdGIiwiMHhiZkI4MkIxRUQ1Y2NEOTgxQjdDNDQ3RmE3NzhFZTdiODI2Nzg2MjI1IiwiMHgxRWM0NmM4YUEwNTg4Q0VDODM4QTdjRDg0ZTE3MDAxNzM3ZUJhNDhFIiwiMHhEY0I1NjBCNTAzZmZGYzg3QTlmMEZkN0MzN0I0RUEzM2REYTFjMDg3IiwiMHhDNjkyMTlkMTNGMDkwNzFkYUNEZDQzMDlkQkE1OUMyNjRiMGJDOTBFIiwiMHg4RGFkZTgxZDREMTM0MjdCRTAyOGZmNzRmMjVjRGUwOTI1MThkODlGIiwiMHhCMjk4RDZCMzg5MzA1RmUxRGFjMEU5MkQ2MTk4Y0M2NkI0OUJiOUZCIiwiMHhCMWUwNmExMTIzNTAxOTIzRjgxYjhCQjE4MDQ2ODQ0NzBCMTM0ZTJhIiwiMHg3ODMwNUI3NDA4NTdhQ0FDZWUyN0IxMDg2MWJBYjM1YmFGZjI5OWMwIiwiMHhBNzI3NTljNzE4MWU4Y0Q4NmNEZDA0M2MxYTgyNTIwRTUwQUZkZWU1IiwiMHhEOUY3MDgzODQ1NDZEYzAzYTdmOEU0MjY5YzQ2RGU4MDM4OURlY2U5IiwiMHg4NTU1MEU4NjE3MDBjMjNCMDZBQjMyZmMwMTAzNGNjMjM4M0U0YTM4IiwiMHhBZTczQkQ3NzMzODEwMTM0MzRkNDI2RjczQURlQ2U2QjdDNWNCMGM2IiwiMHhkM0EwMWExMUMwMDdmQjZjMWM2MTAxODhhMTZmNzNjM2ExZDAyNjg1IiwiMHg4NkY2Q2E2QTJiYzhDODA2QzFlNEJGYzA0NTFkMTYyMjQyMmE1MTc5IiwiMHhDOUQwMjI4RDk5OEU1QWUyQzgxZjRlMDE1ZDIyZTE4ZTBENzlCYzNFIiwiMHhCMjk5OGRCMThmQjM0NjY5RGQ0RDExRGJjMUExMTU0ZEU0YTAyRjkwIiwiMHhFYjdEMTI5NUJkQTdDODEwNjZGZEFENzkxZEYxNUYwMzk0M2U3ZDgyIiwiMHgzMjkxMWRBOUQ1MTJFMERCODA3MWFDQjE3MTUwNWFCMGU1NTZkQjM5IiwiMHhkYmQyYjZmNzlmM2UwOERjYzJlYTM2MDc1QWZmMTk5ZWFFZmU4ZDY1IiwiMHhlOWM3RkJENzEzZkRFMmRENUE1N0QwMWE3MTczQUEyOTgwRTIwOTg0IiwiMHgxQ2IyNWY1NjQ2NTdDYWM5OGI0OEQxYUU2MmY1MjI0RTc0OEJDRTFhIiwiMHgwODdBNDUxMTdFOTI3MTI0MWQwNzZGNEE4RTcxMEMzOGNBMzMyN0FiIiwiMHgyNTkzZkFjMDA5NzZiNkY3YWQ4MjBmRmRBMzQ5MUU1OEFhNjM3M2Q3IiwiMHg0MzM2ZWY0MUNlYTFENWYyQTg3MTk0MGVjY2QwM2RDNTFDOWM3MDA4IiwiMHgwQTQ3RjQxMTI2Q2M1ZUZCYkI2M2MzOTc5NjJjMjhlRWEwQjFlMDM4IiwiMHhiNDQ0MjUyZTk3ZjFhYjM2NDJiYTk3Q2NDMDk0QmUwRTRCNEM2MDgyIiwiMHg5MzkzYjRDQzE0MGNDQkIwMzI3YWRENDFkNzg0RmMyMDhCNDZFRDc0IiwiMHhhNDlEYTRkRUMwMTQyOEU3RjljRThjMEVFRDYzMzQzNkFmYTdkMjdiIiwiMHg3NUQ1MkYwZTQ0MmY4MjNBOURhMUZEZEYzMUI2NkZEQWI2NTMwNjM2IiwiMHhkYTk3RTJiYkZDZEE1RjZmYzRhODgwNEI4Q0JlNjA0MmI0M0NBMjE5IiwiMHg4RWM1NWJEZTQyNjVkN0JkNkQ2MjhFMzMwMTQ4NTA2RmFGMjM1QTJhIiwiMHgwMTg5NjVFZUNFNWU0ZDk0ZEI3ODdhYjZEMWMxOTVkMENCQzVhMkY4IiwiMHhENjJhN0Y5Nzk0MjI0MzI5MTkyNTAxNkY3MzFhYjAzOGQyRmM2QkYxIiwiMHg0ZTJDODhBZGZmOTc5NTk0QTA0MmE4NjRlNjE0MDgxYTYwYWEzYzQ5IiwiMHgzRkRiYmQxNTA3MmNmM0QyMjA2Mjk0MTZjMTJCYzU0NDU1NzY4RDJiIiwiMHgzNjc5Yjg5ZTI5RUI3NjUyNWNDYkM1ODdBMjk2MWY2MTlFZUI4YjRlIiwiMHgyMDA5ZTJkRWIzNzVBMDQ5RjU1OTc0NzUwRkQ3NDc0YmY4Qjk3N2JCIiwiMHg5NTdhNDY5OGQxMzQzRTdCNTZjNkZFOEYyNzk4M0E4MTc4MTZlMDU3IiwiMHhCREVFNkU3RjlDOTI3NzQwQTRiNmMxNEFBZDkxYzMyYTk5M2IzZTQwIiwiMHhDZjIxYTZCNjg1NWQ3ODY3RmNEMWY4YUFGRTc3ZmFBNTAyYWQyOTQ5IiwiMHgzMTY2YWQ0RTZGOGY4M0JCYjk2NmY4RWUyNDAwMGI3ZDY1NzViRmFiIiwiMHhjMjBlN0ZDNzFmRjU3MDM1MDQ0N2NGNjJjMDEyQjJjZmQ2MjUzNjI0IiwiMHhCZTMyNjRiMzY1YTcwODlDOUY4NDA0MzA5ODgwYzZFYTY1RURhYzI5IiwiMHhhMDNEOTI5MjFGNGU5ZGVGNGI4MEFhOWE3RjNhOTk5NDE1MTNFYWM0IiwiMHhiMkIxMTUwOWUwNDZBRjFmOUZEOTI1ODI5MzliYkY2ZjMxNjYxRURlIiwiMHg0MTQ1MzgxMzcxZDU4OTZFQTRkMzE1QkUyODg5MTBCQWUyYTEyMTI4IiwiMHhhMEIzRWJjMzJBYmNkRGY2YjcwNzRhNTU5RDFBNzIyMTFBMTE5QkRkIiwiMHg4NzczZkViQzUyMTAwOTc3NjczQjUyN0U3M0M4NEJBODA3NTk0OEE4IiwiMHgwMDAwODcxQzk1YmIwMjdjOTAwODlmNDkyNmZEMUJBODJDZGQ5YThCIiwiMHhjYzFiMGM5MTE3NzlkMWFmMTgwYkJFNTg2NWRmYmY0NjJmNEQ3YjdiIiwiMHg4MTRlMDIwY0VhMmNFQjI0YUNBN2UzZkM2YzVmNDIwRmUyQzlEQkVhIiwiMHg1MDAzQzJBZTQ1QjBENjFCRmY5Y0VhMzljQzc5QjEwMTIxNjNCZDU5IiwiMHhERTVkNmJDRDQwMUUzN0JBZjczMGY1OTdkRWZjNmVGZDRhQTdmNzdjIiwiMHgwN2YzQjFGMTRlNTgxNDQ2QjVERTAyODc4NTI2ZTQ1QTcxZTlFMTQ1IiwiMHg5OTYzZkMzY0NmN2JkOTAzYTczMTRhNTNEOWQ1ZDRiZEU5QjYyNDVEIiwiMHg1OEZDZDM1MTc3MDM4Y0I4QTdERjY1MzJEOEJCNTYxMjNkOUE1NTFGIiwiMHhEZUUxNWNGMzM5ODY1ZkNBYThDNGFFNDI0MUM2OUE0MTc0QjVlNkY5IiwiMHg1ZEQwODQ3YkNCZTgyQzE3MWQxYjI5OGYyOWNEMmIzNjFBM0M1Yjc1IiwiMHg3OWQyYmM0QjVjQzQxOTU3MzYwN2FDRUJGQzY5NDVGYzJDRjZBZDUwIiwiMHgyQzA1NUU2NzkyZTRhQkM5ODBEM0ZmOTI5N2EyRmEyOTdDRUIzQjhCIiwiMHhjMTM3ZDAyQUU3NDU5MEM2ZmVlM2Y5N2ZjNjE0ZTg4RjVmNjY1QTdCIiwiMHhlRDg2ZTIxNDczNkM4RjUyM0I3OUNGYjg4QjUwMEYxOTU2NDI0QTkxIiwiMHg5MjhiNjQ0Y0FmMTI3MDc3M0UwM0FmNTkwRjUwYUYwZGUwN2ZFQTY4IiwiMHg1NTVBRUExMTNEQ0Y1YzcwZDkwYjQ5ZTMwNWRhOGJERTA0MkU1NTExIiwiMHgzMzJGRGMzNGMxMDU3OUZDYjQ5MTNkMmRiYTMwMERFOUFDNkUxOEU1IiwiMHhDZjI2YUQwNjYzZDQyNDM5MjA0ZjA3M2RBZThGQ2U2N0JhMmY4NDRCIiwiMHgzN2YzRDQwNWZjM0NCZjBCM2U3RjBGMDExMTQ5YWYwMjU4OEVGNGUzIiwiMHgyMTdhYTY0NzlGRGRkNTAxZEJlOGE4QTBmQmYwM0MyNjE2NjQ3Yzg5IiwiMHhGMDE4QUY5MGMwYjg0ODg3ZURjRDk0Yjg0RENDOTM3QUIwMURlMzgzIiwiMHhBODY3NkMyZWI4QTI0NzkzNmQwOTUwODczZTIxMjNmOTE2OTg1MUM0IiwiMHg2ZjE4YTdlOTdEZGYzMjk3YTk4MUNkQmEzM0YxZWQ5OGI5MzgxZjc5IiwiMHgxM2VhMWJBN0VlYUQ5N2MzZjgxNUQzZGEyNDhmRmIzNjcxRTQ5NEQ3IiwiMHgwNTdmM0Q0NWU4MkJmMDY4MjE3QzgwYzY3MDM1MjM3QjU5NGNhN2ZkIiwiMHg1N0EwZDFjNDczOTQyMjlFNUNGNTM3ZEE4OTAyODMxRTA5MDY4NTlEIiwiMHg2ODQ2ODU0QzAzQzhkZGE4ODgwNEJBMmRmMGMxQTBjNmVDOTJEM0NFIiwiMHg5OWNEN2QwZTk5NDRFN0M3YmM2MEZCODRiQTBkQjM1ZjM3RTZhZjdEIiwiMHhiY0RFMzA5MzcwMGU4Q0FmQTE2NzJDNTZENjg3RDZDYkIzNzA2NjFGIiwiMHgzMEVlNEU4ZTQ5ZDgxMzEyQjkzRjQxNzc4RjY0NDY4MjdBMDgwYWRFIiwiMHg5OGJEYzU4NjZCMzQ5OTFiMGI0YjRkZkEzRTYwZGIxNjI2MmMxMUMzIiwiMHgyYUNCYzE4NjdmOEQyQjUzZTFhNTdkRGQyNTEyMEVDMDQzNTFGMDU0IiwiMHg4ZmEyQUNkNjkyOGUxQ0NCZGY1MzI1YzdhMUY0NmI1MDk2NEE0NWU1IiwiMHgzNTUxOUVDMzQzM0QxNTM4ZTM4OTJmNDEyQTA5MTBBNjM4NjIzNzQzIiwiMHhkNTAzNTQwNjlmMTE5ZGJmQjY3YjA4Qzk2RjZEOGNBNkUyMGIxMTk4IiwiMHg4NTQwMTYzNzFiZjA4QzBhZkY2NzlBNzhkOWJlODU2Mjg5YzI1NzIzIiwiMHg2MjQzZjk4ZDQyZjZGNzc5YWFjN2FBMTMzNWU3Q2RDNzk1NkFmQjU1IiwiMHg1NWQwOURiQTM3ZTU2QTM3NjFkZWRDZjQ3N2E2N0RjOUYxNzczMGQ0IiwiMHgzNEVjYTI4MjE1RmQ2NUYxZDU3QTAwQTEzNzA5NjYwNGZGOUY0NWI4IiwiMHhhZEZjOTVjNmI5NzBDMjFGRmY5YzhFRTgxNUYzY0E2MTk2YzU1QjRjIiwiMHg2QjgwRWIzNjMzOTAxQjBDNUU1YTQ1MTZlYjhFYkI5QjE0NDUyYjRBIiwiMHgzRkRkMDY3MDA5ZWY1YUE3NGMwZkMzRWZkMkIwZWM4ODk5OUJFOUY2IiwiMHgxNGQyNjZCMTRkODdiODlDODk1NjJjNDZFYTdBNzhlNDc0NWUwMDA0IiwiMHgwMmYxQWJEOTcxRjQ2Q0FENkI2YUYwNjQ5M0RjNmY3MDI4NkFmM0EwIiwiMHhkZkVlZUZjNzg0NjRmNjQyYzg1OTU5RGYxNDYzZkM5MDY1NzEyNTU5IiwiMHhkNjk2RDM4QmVBNDkzNDBEQzc4NzAyNGRDOTJhYjQ2Q2JiNkJiMzRkIiwiMHg1ZGUxOEFDZjBENWFmOWU5QmQ4QmRmQUQzNDg0RjRGOTExNzkwNjVlIiwiMHhDQTVBZTRFMTRDOTcwMGM5ZmM0YTUzYzI5MDREMzUwY0IxZjgzOTcwIiwiMHgwNWE2QzdhMTgyMDE5YUUxRTZjQmQzRGQxYTM4RTQwRTBENjVkYmFkIiwiMHhjOTVBMDhBMWZjOTVlMjFjMjA5ODczMGE3NGYyRTA0MDE2MTQ3NzI5IiwiMHhGM0QzODliYTVhOTUwMDU0RmZkNTlERDVGN0M0OTkwNjY4OEIzMTMyIiwiMHg1MmJDM0IyOTYzQkI2OGIzZTYyRmU4Mzc0ZDM1RmUyMjZEYjZGNDBDIiwiMHgyMDBEZTI3NTIwMjQ3NDEzMTQxNDU0NDE3MmIyRTgwNjBkNDYyRUIxIiwiMHhkNDM2MjlkZmIwYTI4NTgzOUUyNWMyODVENTI3NzQyYTYwNTk2MzJmIiwiMHg5MzJFOEM0MDEwMGQ3ZmY2NTQ4OGZkZTg0N2E3Q2Q3MGZjMzZjOTVFIiwiMHg1MzRmMjY3NUZmN0I0MTYxRTQ2Mjc3YjU5MTREMzNhNWNCOERjRjMyIiwiMHg0OUI1MjIxMEFmRWE5QkU4MDdDMEJBQjVGOEQyRTNjM0UyOTU2NTNCIiwiMHhkOGY1Y0RkRDA3NjQ2Zjc3YzNEOTYyNDk2NzYxODhmN0IwNjZENkIwIiwiMHhFNEVEYjk3ZWJiZTRlNEY4ZGQ3MTA0QzM4MzczNjMwMGEwZTZBZTBBIiwiMHg1RURCZTQ1MWU2NDA1QjdGMDhEOGE2NDczOGVmMzVmNjk4ZTZiQUU5IiwiMHhkQ2NFZmUwYTA0Njk0QkE1QUQ2ZDNiNzJFMkQ5RTBlNjQxMDJiRWIyIiwiMHhjN2NlNWZlODcxYzNlYTE1M0I3QTIxNEMyZjMxMzQwYjQ5MDdCYjllIiwiMHgwRjAxMTk3YkIwMzhGN0E3NmJGMmQ4MDEyYWIyRjgwNjk2MUMzRjJFIiwiMHhkZTM3N2M0NmQzNTY4MjhlMDk0MEZiMmU2M2U4NzdiYjVCMjhCNGE3IiwiMHhjRjYwNkY4YzdEYjk1NDQ5OGVmMTVGNzVEQWQwRjNkNzk0M2JhODU2IiwiMHgwRkYwNTZCZjk2N2FjMTEyQjUxZjcyZTIyMzUxMjJiOUU5QWUyMTBCIiwiMHg1NUM4NDdjN2IwZTFDOTUzN0VEQUE1NjQ4ZGNmRkZkMTY0YmE4QWI4IiwiMHg5N0MwZDVFNjc4NmRDRTVlQzA5MDQ3RTZkZTVkRjZjYjlGQmU2NEE4IiwiMHgxNkNjZmYxMTNBQzJlMTE2NEY4RWVlNmIxQUM0MjI3NjQ5RjI0NzJjIiwiMHg5MjIzQzAxNGQ3OWE1MzkxNGJiMkFkRDhlNDE0MDNlMTI5MmZiMDE3IiwiMHg1NEJkNzVFQjIzY0U5Q0RiNzdBOGQ4NjhGNGI3NThhNTE1NjI5NkMwIiwiMHhjM0ZBMGE4RDY4YTQzRUQzMzYxNzRjYjU2NzM5MDM1NzJCQkFDZThlIiwiMHgzNDk3ODhhNzQzY0JEMTVmNDJBZjMzNjRGMzREODg5NzE2QkIzNzc4IiwiMHhDODZBNzdFNjU5OTY2MjVFRDMxMWRGNTkzQTQ0YjcwQTU2ZDI4MEU2IiwiMHg2MzdEMTMxQTk2ZTNDOWFlMTgxZTYxQTYzOTY5NDU2ZmI2NTAxQTY0IiwiMHg0YjUzMzQ4NjU2ODU4Yzk5MGIyMThhQWVhMDE2NDMzRmU1NGMyMjFCIiwiMHg5OWJGNzBkMWQxZUZDM0RBZjAyYzc4QTMzMzg4MDcxOERmMDVDRjljIiwiMHg4ODU1ZDBhYTBkZjlBMDQ4YWY5NTdmQTM5RWYzZDlCNjg4M0Y4MTEyIiwiMHg2RjdiM2E5ZDIwQzY0QUYzM2E2OWI1OTBlN2MxMUVkQmQyNDExNzNEIiwiMHgxYTU3ZWM1NDU5OTI4Mzg5ZkJCNTYxMmZGMmE1ZTBiNTM0ZkQ5RTJFIiwiMHhCMTlkNUQxZDEyQTBjRTYyODg3NTg5MDY3MDIxYjk3YTU0QTNiNDMxIiwiMHhEMjM3YTA1M0I2NTViQ2Q3QTcyQTg0NjE5NTYzNDBGMGQwNjAwNzdDIiwiMHgzNWYxNTQ1ODgwNzk4Yjg4NTY0QTNmNzMwZEZFMzc0QzZjOTFDMzREIiwiMHgyOGM0N2QzNmI3Rjk5Nzk1YTAyNjVCY0U3RTJCMjA0NWQ3OUEyM2ViIiwiMHhiNGU4QzNiRjU3RTUyRmJGMUIwOTkwQzc0ZDY4NWE0ODRENjFjRUEyIiwiMHhDNzkzNmQ4MzA0MThjMzk2ODRjNEVhODAzMjViYzFDQjgxOEQyOWE0IiwiMHgzYWQzNEU4MTMyN2JkOWM5YTY5Qjc3RWJkMkE4YTVjMzY4Nzg4NmFjIiwiMHhlNEE2YTJlNzUwMzkxNzEyNzM4NTg3NUZkODczYzUyOGZjMDdiYkNEIiwiMHgwNDdGZEIzODM1MjE1RGFGZUZDRDYzZTAxMzU0N0RGN2RhQzAyRGJEIiwiMHg5MzVCOUFlMDExYWZiNjY4OTQ5Y0Y2N0E3MmM0RWY0Yzc0NEI3ODQ4IiwiMHgzNGQwQTI2ZGNEOUM3MzZCMDhhZDFkYjVlMzFiODJhN0FjNkUxRDdjIiwiMHhFODI1MTY3RTcwMUUzZkIyOUFjOTY1ZjkzMThlNjUxQTEzZEQ5MkQ3IiwiMHhEOTE4NTM1ODhhODQyNkI0NUI1Q2MzY0JDNEViRDIyODUyYzNCZkJiIiwiMHgxMTI5QzJDNWIzM0Q3NDAwM2QzNmM2NmVhMzMzY2ExMjI0MDhmZkVDIiwiMHgyYkYxNDIzQjQ5YTdBZDg1MzcwMGUyNDdjRmY4QjlmZTdhMzA0OTNlIiwiMHg5QWY4N2FmQzVDQjBBOUM1RUEzZjZmMGQxQ2UyYzYxNUIwQjZlRDIxIiwiMHgwOEM2OUQ1MzREOERhMjFjOWIxODQzQUI2QTQ4MTMzNzY2NDk5RDVhIiwiMHgwMzY3RjQ4OGY0OTIyODBFQzM1Y0Q4OWY3QTY3MjUyNDFEOUNCOEQ4IiwiMHgxMjkwMzYxMDI4YTU1QUE4NzUyNWQ4NjdmYjRBMjgxN2ExZUQ4MGZEIiwiMHhFOTFCZDFDMDM3YmJGMzVhQzI3MDc4ZjBFNDZCNTlmM2FiNTNCMmRjIiwiMHhDNzVBNTc4MEZDMTliNEQ4QWU4ODk1MGU0NjA2NzIxZjEwQUEzNDExIiwiMHhlYjJmRDc0MzFlRUIxZjFCZTkyMjVCRjU4MzM1QUQ5NWRhQWQwNTE4IiwiMHgxRTcwMjhkMWNBODdkOWMyMDI3MjkwNzgyZWQ0MkE2QjdkYTU3NDZCIiwiMHhCRUY1OTk0YzhDNDYxYUFFNjUwZTFBZDg0RUE2Y0EzMzhlQjc2QzJCIiwiMHhCNzQ5RjE2NkM1MjI0ODY1MGQxOTUxRDREOTVmMTlEZWY0ZDgwMWRlIiwiMHhEZjQyNjRhYjExN2ZmNDcwMThDMEIyYTBDZTRmMTBiYUYxOTNkNTljIiwiMHhjRTNFNTcyNkVBNUVENjkwY0U5YjdDNzE5NUIzRkYxRTYzRTMyODYxIiwiMHgzMjZFNGI3MGRDMzczY2VFOTNEMDQ5Y0JhZGI4ZmEzYzE2MDFFQmFiIiwiMHg5ZjNjNjExMTVlMTg2NTcxNjhGOWYzMEQzMmI4OTljMjUxMWUxQkRBIiwiMHg5NDIwOGZGOTA3YjUzODJlN0FkRTUxMzhkZGZlNzQ2REI2ZTM4YUUzIiwiMHhjRTg1MjFiOGVmMDBCOTMyNzQ3MTYwYzA0MWE5NDIxQTk0QzlmMDU4IiwiMHg5QjhCYTU4YzMxNTQwMzMyM2RBOUZEQ0M4MjNDNzg2NGU0Y2M2NkI5IiwiMHhlNjgxYjVFOWY2NzM1N0Q1RDRCNkI2MTdBYkUyRjdFMWU3ZTQ4OTg2IiwiMHg0M2VEMTBDZDY5ZmYxRUVGOTk2OGY4MjI0ODJhNmNkZDFiRDM2REEzIiwiMHhDQjI4Njc0MEExQTAyNTEwNDBCYTdmQUYwYTg1ZDk1M2U3RTMwRTkxIiwiMHg4NDQ5QzhCMDhhRDM5YThiY0ZkRjUxZTk3Y0JCRjY5N0QzQTBlMjI2IiwiMHgzN2NGMjMxNmEyN2EwQjc2OTg1ODdBMGQ4MWQyMDFEMzkyZWUyM0I5IiwiMHgxNUI3NkUwMzhGODlEYTU5MjMzOGM5ODU4YjJEMEE0QjliMjBmZTdkIiwiMHgxMDg2NzcxNDMwMjg3MzBhYzE0MEJCNkRDMkVDYjJkOTlhNDk5RDlBIiwiMHgzQWNENTY1OEIwMDkyRTEwQjA1MWVlMDdhRDlGOTY1MDQ3YTJiRkQzIiwiMHg3RkUyOTU1MWJGQjcwMGQzZUU4MDFFZUExYTY4OTUyNWQxRUE0RjU4IiwiMHhmMTUxNTNCYjVGNTA2NDhkNWEzQzI4MkNCMTdFYTU3QTc5MDM4QkYyIiwiMHhlRWNkREI3N0YyRDMxZmI1ODYxZUEyYTdCZTJEMWZkQ0YxMGNBNTFGIiwiMHgwMDk3QzJiNGZGMzc2NDU3M2FlNUEyNmVDNTk4RDhjYUQyNWYwM0M4IiwiMHg2MmY5OEZiMzlGYjFBODg2NzMzYzIxRTA5QjhhRTc3ZTUxZjAxYmM5IiwiMHgyNTJBNzQyNDBEZTFhQjQ0YTlGODRDRUY0OEQ0MzkxNTdGQTg3NWUzIiwiMHhGMzg3ZjdhMzE5NThBN0IzMTAxRTc2Y2YxNDZmODc1MGJmMkJCNjYyIiwiMHgyZWVlNzUxRDI1YmU4NjQ3ZUI1MTlEMTcxYTA2ZGNiM0Q0NzIwQ2I0IiwiMHg2NjYwNTUxODg0YjFjQ2M5Njg2NjJkNzJjMmU2ODk3YTFDQTRCZkFjIiwiMHg0QUVmN2YwZjU3NTgxODUwNTc4OUQ4YjhhRjJhNDIwNUEwZGYzODE3IiwiMHg3RjQ2QjVmMDc1QjVEMTQ3QjU4QmM0NTA4NWZBNjJhNzk5Nzg4M2VFIiwiMHg5YTQ5NDUwNjk5YkU5OEY2MTc0OEE5Yjk0Yjg0YTVEZDkwNTE0Q2FiIiwiMHg0NGRGQkZGYTg0MzM2OEQ2MkE5RWJlYjJGNUUzRTU1NTc2ZkI4NWYwIiwiMHhmNWJhRDI5NGE4NkI4NTc2NUJGOTVjYjNBREQzMWZjNDA5QTZhMzE2IiwiMHg1MDZmNGU4QzVkMmQ4RUQ2RmUzRmU4ZUM4MjQ3NzE3NjZmYUYwNTYyIiwiMHg3OWI0MDlBQjE3M0NmYWI4QmQxZUE5MDRDODc0YjkyMjNmMWQ0MzFDIiwiMHgyMzhDNjg0QUQwYWZDRTRhNDJENzlBMkYyOTk2RmQ2M0NkOEQ3QjUxIiwiMHg1NzlBMGUxNjg4YjQ0MGM3NURjZGVmMDhhMWM4QjJEZjU2NmFmN0MyIiwiMHg1MjBBMEMyN2YxOTJhQ0Y3RmUzM2ZDMDQzRGIyOGE5RjcxMTc2ODBFIiwiMHgwNUNjNkY4QUMzZjAzMTUwZTExODI4ODVFMjBFNTA5MzUxMWI5Mjk3IiwiMHgzYjcwRWNkNTFlODA2MzFCMkNBQ2E5RDhEODA1NjU3NDVGZGE1NzRDIiwiMHgwN2U4MjIxYzVFN2YzZkFmM2ExNTVjMzNBN2M0NmEwMTc4NjA4MTA3IiwiMHg1MTM4MUMwMWMzOEEyOTgxMDljNGQwQkI0OTkyNjMyOGQ5MzQ1MkI2IiwiMHhjN0IwNzg0ZTVhOEJjODA1YjM3NUQ1N2Y5QUJDN2Y1NjdDMzkzNDE5IiwiMHg3N2NBMTZBOTFjRTc4MDgzZjU5NkUzNEQxQzJFODFBOTgyOUQ5ZjQ5IiwiMHhiQTM3NjUwRjFkQUQ0NDRFMEVFODNhQTRGNDJGN0JiYTI3NDlBNTQ5IiwiMHg2NDIwZTg0Njg3MkNmYURFZmI0M2Y4YTBhY2E3QjVBMzA2OGQzODFEIiwiMHhkNEJhMDlENTEwNjYwYjM5MjAyZDNBMDVDQTZhYzlENjQ5ZTNFYUZBIiwiMHg1MDJmZDAzMDI2MjREQjBiMjdjOTY1MkUwOTI0ODcyQjVkM0ZiNzI4IiwiMHgxODI2MjVDNzMwYjczNzEwNjFCNTE1MzhDYTY5RWQzOURiMTlmOGMwIiwiMHgwODY4ODE4Q2E2NDhFMjQxQTZBOENDMzhjNzc0NDg5MzNBOGNGRDExIiwiMHhDNzc4MEFmMUIyOERGNTM4N2UxRmM2QTgzMjQxNjMwYjVDRDdFMzFCIiwiMHg1NDg5OTE2Qjg2MTY0MjQ5QkIyRjliYjE1Nzk0MjhmNjhmMDRCNzA3IiwiMHg2QmQxYjdFRjRDZTQ1Mjc0RDI0N0Q5MERFMzU2NTY1QzgzNkYyQTU3IiwiMHhFMkM4Nzk4ZUQ3OTJEZjAwMzIxNDBCYjUxRGZlNzgxMUQ5ODg5QThEIiwiMHgwOTA3MTQ2OTQ3NTdCRDUwNmM3QmMyNTI2ZDRGQzVGOUVBODZmZjZhIiwiMHg3M2Q5NjFmQzg4QjhiZTk2OGZmMjY2ZjFGNEZFNkIxRWNFYWRBYzE3IiwiMHgzZjRCMjkzQTE4Y0QxNTY2NDQzQUE2RkYxMjdGMkVkQTllMzE2MGViIiwiMHg1NjAyQjQ1MkY2OTExNDNlNzAyOWExMDBjMjg4OWJmNmQ1MzNDMTJBIiwiMHhGZTA4Y0U4MkE2OTY4YjAxY2M5MTU5QzkyRDcxQzAzNzA1ODdkZDdFIiwiMHhiQWUxMjY0Q2VDOTM3MTIzOGRhNDg0QzQyYjU2QjBkQzhDMzFjNkI5IiwiMHg1RThhRDAxNTJmMDYxQTg1MjgwOGE0RGJmRDdENkZCNUVjNzMwQjQ5IiwiMHhjNDgzMGREZjUwMTIzM2FGRDFkODY1OTI4NURjRmVhNzdiOTBjODA0IiwiMHg0RmU1RUYxQzBmRjZiRjE0ZTVhMEJBMzFkYjgxMzlFNkJlRjU2RjE4IiwiMHhDNWFlN0U2YjhmMWExMmMxMjNjZDJkZERlQjQ3ZEVGM0YxZjRjN2Y3IiwiMHgxODg3ZDQzMWU2QTBlMjc2RTZiRDhiNjQ1ODc0MDI2NkU0MjIwNDBiIiwiMHhFZmU2MmM5YjBkRTc0QjBjNTY2Y0M0NjdFYjg2QzU3MDNFOTg5NzI4IiwiMHhmMmU5RjM5ZDVCZTM1QTNBODUxM2NGNTBiNjg1NmU2NjI3NjgwNmIwIiwiMHg1RTUxZDgyODQ0MGQ1Y2FFMmFiNjM3QTM4Rjk1MTQ2MDk5ODc2RUUyIiwiMHhkRjRhNDhFOUU5OURmNTc3NTE3OTU5OGQxRDhFQTgyMGNlNzM4OEU3IiwiMHg4RjAzMUQwZDk4Nzk2OGE5MzhFNDE5NzAyODIyNUVEZTBGNTM0QkNjIiwiMHg1ZTk4OUIzNkZCNzlFNTYxOTdFMzE3RDUyNDEyRDQ4QUVlYzcyQzFEIiwiMHhCM2YyNDVDQzdiRmNhNmFhMzEyOTAxRTQ3MkMzYzQzZTE1NTE2OGE0IiwiMHg4MzQ4RWQwNjgzODM5RjRkQjlGZTEzMEE4YTU2NzI0M2YzNTU0OWUyIiwiMHg0QjVCQzAxMWQzMUEyZDYwRjRiNjg5ODU2NjU0QTM1OURBZERBRDIwIiwiMHg5QjJmNWE5ZTI2RTgwMzBENTdGQTFmQ0U4YzkwMjIwY2ZjRTIwMDgxIiwiMHg2Mjc2YmIyOTMwMkUzRkI0QzIwMTRBOTA0MkU0MURjOEQ3NjkwYTUyIiwiMHg0MGU1ZENjZmRjMzJmOEUxYThjMGE1NzEyZTcyMzQ2QjgzYTBEMzBEIiwiMHgwYWQxZTUzZjIzZjFhYzEyQzRjZkUxRmU4NEUxRDMyODBDOUNGZGIzIiwiMHg4NGY3QjA1QTQ3MDMxNmViQjFhNjBmZDcwMjYyQ0REZDlGMDljRUNFIiwiMHhCNEVhOWRENTE2M0EzRjQxMzA1MTAxMDNkRkFhNzI0RDI4MmJEMDM2IiwiMHhDMDNBRDQ1YTVlMkQ5YjY3OGMzOUIyMjgxOTEzNDFiMkE4ZjRkQzEwIiwiMHgyOUYxMjVlYzUwOWY3ZjBiMmZkQTI0MUM4Yzk5NEQwRjk2RThlQzI3IiwiMHg3MEFDNWFFNjQwODM1MzhhYkI5YTZmMmJBOTA3RjAxNTk4ZmJENjc4IiwiMHg2OTRFYmY3QzBGREZjNDUwN2QwMTYyMzZFMzViZTJmRDczRjEzRTc1IiwiMHg0YTczM0M2RUQzOGM5YzlCMEZlRDIxOGNmNWIzOThhMTE5ODA4RDZCIiwiMHg3NTU5QTI0MTNDYURiYmM1ODUyMzM2NDBlY0ZCNGQ3NTk4QjA2ZTc1IiwiMHgzOTQ5NTM4Q0Y2MmExMzI4NzBjNzlENTI0MjI1NmE1OUZCQTBhMmUzIiwiMHg4NDUzOTMzMTI3NEY5RjZhNTY4ODNENDU0NTQ5RWY0QTUwNDU0MzUzIiwiMHhjM0Y2NDg2ZDBlQ0FFODAzOGIzN0FhZUYxQzM5ZTJhMTJEY0I0NDIzIiwiMHg1NDQxNTNlNDVENDk4QTQxYmM1NzIzRWVCOGNmQTIwNTdFNzAxQjIyIiwiMHg3YTA0REJlZjRiYTkyMTA4ZjQzMzJkNkFjMTRFOUIwMzUyZmFiOWIzIiwiMHgwODRFNjhjRWJjMDlkMDM4RTVCQWJjRUYyNTI2QTkxMjgyQjgxQjA4IiwiMHhkMzgwNjYxNzczMjM3NTFjZjc2NTcwQWY3ZEExYWE1NDUxQThGYWI0IiwiMHg4YTEwMzRkNTczY0VFQjVCY0Q0YzUzQTBkMzdCOTRFMWJhOTZBNGI3IiwiMHg4OTUxRTZGODdBNTNCOTBDRDI3MzkzOWVmOTAxMjI2MThEOTEwYmU2IiwiMHgyMzkxZUQ1MzZlNjE3NjQ0MEEzZUZiMkMwZWVBODc2ZDQ2NTRlZTM5IiwiMHg3M0RlMzMzYWMxNTY2NEU2MDI1ZjZBMTJmODhCQjg1NzNjMURCNDU0IiwiMHhkMzY2RWQyMkY1YjIyNjJBMkRhNEMzMkQ4QTQ2MDdDOTM2OTAxMzRhIiwiMHhBMzBEQjk0Y2NFMDRCNmQ0ZjZjRGMxNDA4ODc1MDkxZTkyQUNiNmFDIiwiMHg4NDdiY0Y2MDA1NzQ4RjUzMjY2Q0RDQTY5OTJkOTBhNTJlNjY1MTNBIiwiMHgxMzhiQjM5OWM4ZDFDREQ1MzNjM2U2RjQ5MWQ2N0FGODQ5OEI3MTc2IiwiMHgxNDE3NjAzZUFFMTU5QkY4M0YyZjE4ZUY4RURGQUQ2NzVBZkQ3MTkyIiwiMHg5MDQ0RGY1NUJBNmM4YTQwMTM0MTFlQzlCQzMzNTkzZjc2MUY2YzU0IiwiMHg0MmREQUE2OEREY0QyMzg5MmM1QTE5QjgwNWIzQmEyOTkwYTNDNERBIiwiMHg5MkRjMGY5RkM4RjE1QTNmMEQxMEJBNjQxQkNiQzExQzhlNWNGM2MyIiwiMHhjOEZlODczRWJjOUNGRjRiNkUwYUZjODRiNjhkZURCM0UyYTBjNjY5IiwiMHhGZjhBMGJlREE1NGQ3RUZhM0UwQzU2NDU1MzE3YTJiOWE2QWQ4MDQwIiwiMHhDMjhlZDU2QmI2ZGNBMjk1NzFEQzUwQTQzMjZhMDNkNzJBQTY5NzM2IiwiMHg1YzRkMTk4NWYxQjAxMGMyODcxODhGNDg2RjhGNEJGMjczQjZDQTNBIiwiMHg1MEU5M0YzNDBmMGJBM0NGNDNFNjFiNURmNDM0ZjVEMEY2OUFmYjMzIiwiMHhCQjU0ZDgxYWIxRGRhOTI4ZEM2QzFhZDEyOEY0NUU3Zjc1NzkxNTRiIiwiMHg0MWIwNzE2MTlEMjZkQzVhNjUxNjBEQ0JjNzEwNDc3ZTA1MUIwMjU4IiwiMHhENmNkMkNFQTgyQ0QyMmM1RGZDOTE3MUQ3MzBFMTgxRTM2NDgyOGY3IiwiMHg1QzQ3MDE2RThBNEEzYzZhN0M0NkE3NjVmODFEQ2UyMDVEMDAzOTNlIiwiMHhhN2M1MjZGNzI0MTUwMTE1ZkQxQzRCNEJBMTAyRDg0NTVBNDhBRmNmIiwiMHgyYjBENTIyYmZGOTY1NDBDQUEyNUVkMEM5NmVhMTZGOTQxZjg4NkY3IiwiMHg1YjYwMzE1ODYwNGUyNjk4Y2MzNTI3NWI1OUQ3NmNiNTZkMzZkMTA4IiwiMHhGNjlBYzY3MDI2OTdhNEVmNkMzNGMwZWYxZjYwOTRmQ0I4QTcwMzIwIiwiMHgyODg1MDY5MDExY2M3YTNmZkI2NTM2MDI0QzkyNjU0MzM4OEFhRDA2IiwiMHhGMjZkODAxQzMwNkUxOTU5ZjM5QTQ4QTk5OTE0N2U0RjkzOGY3QTcxIiwiMHg5ODMzMTM5ODE5OEY4MTQ0NDc2MUI5NDI0NTVjOTRjYjExZGY5MGE1IiwiMHg5N2MyNzc5Rjk3MWM3MGQ5MDA1MjdFODA1OTAzQmZGRTE1NzMyQjVhIiwiMHhhQjg0QjE5MDQ2YTdhMkM5OEFBNzllOEQzZENCMzg0REUzMjlFRDY5IiwiMHgyM0RFNTZBMjhkOTE0NDU3ODAyRWZmRDMzMzU1MzkxRERkQzExMjQ4IiwiMHgxMzRmQzIwNDhjOTE3OGFBRTI3NjE3OWRiNEMyMTFBQzcyQzRkN0QwIiwiMHg0NDUwZjRiMjkzMTA3YTJhODQwOTJBMWI3NDRiQjVGZmJjODA0MTViIiwiMHg0NDA5ZjAwQzlENzM1Nzk1RDM4NmQzY0NiMDMyODA4Y2E4RWY0MThhIiwiMHhFNTk1MjJiRjE2RTRjOUVDYWMxQTMyOGRhOEY5RWY0RTY5ODVGMzIzIiwiMHhDOTU5MUU3MTFCNjUxNjlEY0VFMmJDNEQ4MDJkMDE0QTE4Mzg2ZUM5IiwiMHg0NDA1NEM5NEY0NmZBMUQzOUEzMkQxODBlYjU3OGUyQTkyNTA5ODk5IiwiMHg1NDQ5MWVhQmFFRDU0NDRlYUZBMzU4MTBCN0FlNTE0RDY5NjRBQzA4IiwiMHg4MEM4OGVlY0I1NzdEQTlDYkUzQTBEY0FDMjY4NDQ4NThmNDM2QTllIiwiMHg3N0Q1NjZGOEYyMWI5MkY1RWVGNEVlYjE3NUNFMDVCZDU2MTdhMTM3IiwiMHg1MUM4MjYxMGNBRTMxYTk5MjAyYTM4NzUxNDFiZkNCZDEzMTQxNjEwIiwiMHgxQTE2ODgyNjU0ODY3NzhlQ2U2Y0FGODZjZDQ1NTJBNThDNjJBMzk2IiwiMHg0NkFhMkRmNWFhMjlBQzYwQjczNkRBM2E2MTdmM2MyOTA0NENGOGMzIiwiMHhmRjQyQ0Q4QjY0REQ0YmJkMmI3OTk5OThkRWY3QmY0ZUVhMjUyODMwIiwiMHhiNjFmNzg2OGRiZkU0NTUwMzViOUU3NzZFNjc5OTliOUM3RjU5NTdlIiwiMHg2MzY1QjhDNTY5YWE3RDZEOTk5NjQ2MmYzZDU0MUY5NTQ5ODMwQ2JEIiwiMHg4M0VFNThjNjIyNTFBN0IxODBkQkYxRGNEM2IwMjFjQmQyMjJFMGI4IiwiMHgwYTM1NDMzYjc0NzQ4MzcxMzBjMzIzNzgxNEQ5MDU5NUMzRjBhNTU1IiwiMHgxYjFkNDcxRTRiMzcxREI0OGY2OGYxNjI3MDdGNERjNjkxREVGRUE2IiwiMHg5RjBGM2IxNTkxQmE5Yzc5MmM0Qzk0M2MwZGM4MTNhNzRlODhkMmY0IiwiMHhhYzYxNTFiNmRBMTFiN0Q3RDQ4NGYzZjQxZTRDNUM5MWQ3ODhBY0YwIiwiMHg1NDYwNmM3ZTVEM0FCMGQyMjQxY0M3MzEyZWE1QzgyNUMzRWMwODRBIiwiMHhDQzQ3ODVkYmU0ZDJjRENiZEYzYzlCNDA1MDRlMEFhNDI2MWU0NUU3IiwiMHg4NDE2YjAyRjA5ODA3NUY2ZjgzNTEyMjUxRmRmZjU3MjIzZkEzMmI3IiwiMHg3MUUxNzVCNDEyM0FjRjYxYjhkMDNDMkRBQjE2QzhlOTA3MDdhZTY4IiwiMHgzYkJlMDg5N2Y0ZjEyOUI1MmVkMDUyN2FjRTlEOTgyQTA0MTExMDQwIiwiMHhFZjFjQTJlNTYyZTVmNUI5NmNDNjM5OTZEOTY5N0E2MkUyRmU1YzRkIiwiMHhiMkU3YTNGOEUzNmJDNWY5MUI5MTlDRTVBYjcwMDhDNDExRWVCRUUxIiwiMHg2NGY0NDIyQzkxQzYyZDA1YTk0Yjc1YmVhODk1ODBlMkZCYzhEOUFjIiwiMHgyYThmNjE2NjE3QjQyNkIxMDUxMjc5QkY2RTVjNDAzMkFiYTkzNDBiIiwiMHhCRDE4NDEyNjJFRjE1NTIyMUQ3OTYwQzU2NDFGN2QyMjc3M2E2M0IyIiwiMHhCMjhGQzM3NjI4RTRFODAwNTg4MjJDQjQxMjgyN2Q1MTExMkE4NWZEIiwiMHg1NmViRjNlYzA0NDA0M2VmYmNDMTNENjZFNDZjYzMwYkQwRDM1ZkQyIiwiMHg5NTgxZmYzMmIwRTZhNDc2MzU2QmEzYjVBQjgzYzEyNjM4MzNDZERhIiwiMHg0MzdGZjY4QTk5ODA4ZkNFNzBBMDE5YTI3ZDA3OTg0NzAxREUyNGVBIiwiMHg1ZEYyMzdCMTkxOUFDRDlCMDU0OGRDNGIwNTY2OTBhNTJjNmE1MDBiIiwiMHgwNDRBRDczMzQ5N2JCODIzMjc5MjVDRTVlMEY2NEM4OTFjMjZEYzM4IiwiMHhCRTAyRTdkNzU1NDM3M2MxNDdjMTNmNTA3MDFDOThkNjVGRGE3QzFkIiwiMHhGMzM3QWNFZjgzYjc2NjA0MjVFOTZBOTQ1YWIyNDYzQTE3OGRmNDQwIiwiMHgzYzNCMGE5NzBENDI2NEJCMzcwNWEwNjkwMUUxNTcwMzBlMjBhN0M3IiwiMHg4M2ZEOTk4MzY5RTRCODY0ZjlkYzc0RDk5NEU1ZjZjOWQ1OWFjMEFmIiwiMHhDMmJFNTU1MEFhOTZBYUVFMkY3ZjRBNzIyZDQxOGI1MjlBQjM4NTI1IiwiMHgzNUY3NThkZDJkMjUyNkYzNTlGZUFhMDQ5YkE3MDljYjk5OTRCMzVFIiwiMHg2NkVFMTgxMTIyRGNEOTNGMzNlRjQxYTI0ZmYyYzg1REJkNmIyMzA0IiwiMHg3Y0U2MDJhNEE4NmQwNURCODMwMWYwOTRiMDhDNjdmMjMwOEFhMUQxIiwiMHhCNkY4QzczZmYyNEMzOTJjNGRiMjIxRDA4NzVCNWFENDNhYTM2Nzg3IiwiMHhiMDg4QTA5OTMwNEI5MmUwNjQ4RDYxNjlFM0JDQ2NBNjkwNzBGMzhkIiwiMHg5OGU1MzFDOTc3NDQ0MDlDRGNEODUxOGEwNEVCODhjYjFlMjYyNzY2IiwiMHgxMDU2ZDc5MDgzY2NhMEFFMjRmZWM4Mjk5ZGIyZjJCRTE0MTAyRjIyIiwiMHhEMkY4NmUzYjJiNjM1NDFCZjA2ZDNBRWJGNUVhMTdDOTBiNWRkNjFBIiwiMHhEOThBMkM1NTI0QzNCNWQ1OTRkZGFmYjk2QjhlODEzMTc5Q0IzMUI4IiwiMHg5M2VBMTk5YTFhMDI5NjZFZERhNTJjZDg5MDY0Q2JEQjBmZTM5QmIxIiwiMHgwYjMwMjI3MTNiQjJDN0UwNGNFYmRBQzcxYjdjNkNhOGFiMzM4MTNDIiwiMHg0OWRGYzdjYjAwQjIzYzU1OTA1RTU0MTY4ZTg0YTUyNTA3ZTA5MWFEIiwiMHg4ZjAxN0VCNjJiODVEMjQyMTBmOWIxNGRBZEI1ZGNFQzYxNjQ2MjVGIiwiMHgzYTYxZWExZEQyQjBjQTUxRDc2NmY2QzRlRkQ3MEFGMjgxZTVmMUFDIiwiMHg3MGQ4QzBFNDM1ODJEREZlYjdkNGU0OTBiMTQ5YWU2NzFCMzgyYUYxIiwiMHhlZmZjMDlCRTA4OTYxRmYyNzg3RDk5NjEyQjRBOTc5QzNBN0FCNjdlIiwiMHhDZUEyMzUyNTM2NzYzMDk1QzlmNjI4QkY1MzBCOEI3REU2NTk3Y0QzIiwiMHg1YjIzMGFDMGEyNzEzM2FjMTQ0ODdBOEM2NzkxNzJEMWI5MEMxOGIwIiwiMHg2NjAyNDcxNzI2NzU2QzU5NWY5ZWMxYzMzQWEwOEI5QTg2OEFlYjEzIiwiMHhGODEwNDcyRDBlZDQ4MDkwRjlhM2QzMDk4MkM1MDU0ZTc1MzBBNGJiIiwiMHg4MDMyZjk5YjJjMmQ2RDc2MTNiMUMzNDA4NjZlRTgxQzBDMjFmMjhiIiwiMHhGYTJkYUIzRTg5ZDUxNDI3NGVDNTFkMkMyQmEzZjc0ZDJlYWY4Y2I5IiwiMHg5MUUwMTNmODI3M2JFMEU2Nzc3QTUzMjc1MjdBMzdjQ0RlYjkwOTg2IiwiMHgwNDk5YWQ5QjI3NDlFOEI2MmJhNjEzMERmZTE3MTAxYkI0Zjg0OGJhIiwiMHgxNjNEODg2NTk2MmY0MDBCMDQ2NjNFQjQyOTk3ZTdkOGI5Njc3NjY3IiwiMHg4NTIwZUI5NmQxNmRmMTRlOTkxNkJlRmE3NWM5NUNFNDBmMzIzZjJGIiwiMHg0YmE5NDAxOGYzQjc5NzFlNjY5MDFjMWQ1NzZEMGU5OTFDNTE4OTczIiwiMHg1ZTBjREI1RDcwZjhDRWRFNzM3QWQ5OUU3ZDU3MTIwRTY4MjZiMDE4IiwiMHg2RTRGNzg4ODA4NjBDZDAxNzY3NjY2QmJGMGM5OTEzNjZBYzVDYzlhIiwiMHgzNkE0MDAzMTMyYTJCNDQ4ZDk3QUUwMmZmQ0Y4Y2E4MmZDNUY1NDgyIiwiMHg0RkYwYjIxMTY3MDc5RWMwNTJFYzU4MkU2MDUzZWNiQTQ2M0UwZTI3IiwiMHg5MUQ4NEJEZDY0N0QyMTMzMjUwMEQ2NTQyRkI0ZTM5OTBBMUVDMWJCIiwiMHhjQjczODY0RTJGOTYxNUIwYkYzYUNEM0I1YTdFODc0QTREYjkzYzBDIiwiMHhGRDY4Nzc0Nzg5NkUwOTY3NTZjZkM4NWMxNEY2YTJlZjQxMjcwNkE0IiwiMHhFQzhmMmE3MjQ2OTQ0MkYxMDY0OGE1OGMxQjE3MjVkMGQ1ZjNhYmM5IiwiMHgwNkM2MDVkRjcwQTI4RTZDMjVhM0FBMzBiQTc1QjQzNTBDMjEzNzI4IiwiMHhiZDFCZkM2MkFGNEVjZWRDMTJCMjkxNzc2ODg5ZTM2MzcxOTgwNjgxIiwiMHg0RWQ3YjFFNmYyM0IzOGQ5ZjgxNjEyNUQ3MDVlZkUzNzU0RUYwZWY0IiwiMHhEZkU4MWNFNzgzOTI2N0Q5OTI1QzU1OEJFMkI0MzBEYjU5RjEyQjVhIiwiMHg5Q2NjM2UxN2FlMWQxNDM4YkFDZEU0RDkwNmNEYzU2QmI2OTM3RTQ2IiwiMHg0MjAzMjM2Yzc1ZTg5YjM0QkVBMkE4M2U0RTU4ODAwNEZmNjdBZTBEIiwiMHg5MUE1ZGI5NkI2NjA4MTFGRTM4NzYxQjRiZDc4ODdlRmQxNjgyMGNiIiwiMHhmRTFFYWQ3MUIyN0U4Mzg5ZDgxOWVFMEE0MjAwODBEOTBhNjAxMzJjIiwiMHhENDlkRjZBRTQ2MjVDMmU3QjliRmM5OTVDMDEyNmMyODg3ZmUzMDc0IiwiMHg0M0Y5MTNBRTY4Y2ZBRTY4Zjk3ZTJDMzYxRDEwNzExOWYzNjAyOUE2IiwiMHgzNkQzMGU2ZkQ4OUMzNEJiNmJDZDkxOWVBYzk4N2YxYTRGRjg4MzMzIiwiMHhFRWMxOTQ2NGZFZDc5ODYxYTU5YUREQjRGNjZGQUU0MkQyNWEzYjlFIiwiMHgwMkVjNTgxMzUyNkY2Q0UyNGJGNzBEOTcxMDk4RTZkY2QxOGJlQkFhIiwiMHg2MGRENzdjZGRkOENDRDhERTA0NzE0NEQ4ODAwYzcxQTJjZUM0QTJGIiwiMHhCNWIwRjVjOUYyMzYwMjYwMjllNzIyMDY4NTNBMTU3N0E3ZkM4Q2U2IiwiMHg2NzA3ZWI1OTlBOEJlNTczNjEyMDdENjY4RTczNTE0MDAzQzY5NzcxIiwiMHhlZjE2OTdEZkVDNjhEN0I4NTZGRjU3MzVkZUNhN0MyMzdBMzMyNzVDIiwiMHg1ZUJmMDA5REFBNmJlREQzZDNmZkQ1MmRCRDEwQUVFZEEzMDg5RWU5IiwiMHhiMTAzOUU2MUUzNDkwOEIxYjgxQ2M0OTkxOTc3NWZjMTA2OTY2ODRDIiwiMHhiYzIwMjA2RTQxNjVmNTU4OEQ1ZDBEZkFDMjRGNWM3YzZlNGQ0MTcyIiwiMHhiRjM5QjZEMDU4ZkI0NUE3ZjUxZkVjQzZkNDkyNmJiQjQ3MEMzRTNDIiwiMHgxYzZDRjE0OWFDYzEwNzA1MjIzRjg2YzFmYTU2NWYxZjU3MjNjMDk0IiwiMHgyZjczNTQ0MzA3NzlmODUyNkFFRDIzQWVEZEY5ZmRmMmE0MDdmN0I3IiwiMHg4MTY1RmIxQkZiNTFhNzY5NDAxMmE2QzJGZGU2OTY5MTk0YTY0YmMxIiwiMHhhOTk2M0Q0NjhhM0NkNTUxMDBEMzAyOTczMUMwNDJDMzJBNTU4NjEwIiwiMHgzM0MyOEEyQUIzNmM3QzQzRDI1Mzk1RjdCQ2JhQTgyOTk1OUUzYTFkIiwiMHgyMTAyYmZjZTk3NGQ5NjgzNzBCNTVFMmExMjUxNzY1ZDk4NjYwQ2JEIiwiMHhkODQ4NzM2ZjY0NTAwYjczMWNhMThFRWZjN2QwQzRiYzFBNTY4OGJBIiwiMHhlREM1OEIwQkFEOTA0NkNFRGE0N2RhZWQ4OTAzMTZGYzc1N2ZCOGRjIiwiMHhDNzIyYmIzNEM3MzE2MjYyNWZjZTBFMTYxQzc3NEM5NjVmQkYzZmI3IiwiMHhDQmQwRDkzNGJFNzgyOUQ1MDUxZjBjQjE5ODY0ZkMwMzc3RTNhQ2ZiIiwiMHg4ODQ1OTVmNTM4QTgxOEI2ZDdGQ0Y0M0M0ODQwRTI2RTQ1N0MyM2U5IiwiMHhCNDlCMzViM2Y0OTI1ZDU0MEIyZGM5NUI1ODE5ZUM4NzhjQ0NmMTg0IiwiMHhBRDBhZUUzRTdGMWM4ZUMzMTk3RjQwNENmQzNCMjMzMmI1OWQzODFCIiwiMHgyNDIyMjZlQzE5MzVGQ2MzMjBFNDI5QjJlMUJmMjFCRjYwOURhN2RCIiwiMHg4ZTQzNTE5OTlDNEJDYzQ2MDMxOTg3OUE4RkQzZTYwODViMjZFM0JkIiwiMHg3NmU4N0ZCMzQwMzY1N2Y3OTI5NDhFNUI4MzYzNURmRjNlM2YzODdDIiwiMHgzYzhBRDM0MTU1QjgzZGRCN2Y0MzExOUExOTUwM2QzNEVkMkI1YzdhIiwiMHhDMDg3NWUxZDU3QTcyNENhZjdhMGJFZjNmODE2MmRmZDc3MzkzRTE2IiwiMHgyZDRkMDM5RDY3M2ZGYTk1QmY5YkUyMjRGN0UzNDFFNGNDOEQ1MDU2IiwiMHg4YjBDNjRCQkI5Q2FBMmRFYUQxNjA2REU3Q2JDMDA4NGU3N0VlMjYxIiwiMHgwNDE3OTBkMUQ1NEE0N2MzODkzNEJlM0MxM0E2NzIzQjBEMTgwMWU4IiwiMHgxM0FGODc2QjMwODc3ZGUyNjFlZTNGNGFhNzkxOUJkNjVmMDJDMDU5IiwiMHg5OUJhQTdEODZiYjIwNjM2MzkzNTM4YmYwNTJlNjdBYjAwOENGZEM4IiwiMHg5MjdmMGY1N0M0N2Y0MzRFMkM4MTcxMTQ3RjI2MmMwMTBGNTA0NTI2IiwiMHgwQ0ZDMzMyYzE3MzA4OTg2MDBCQ0U3Y0VGODU2NGViNDE1NTNhMTQ4IiwiMHgyQjU3ZjNkMjE2MTQxOENiZmJiNzM3MGNBNzc3MDM1QTg1MDRlMWQ4IiwiMHhCN0ZhMzYyYTVGYkE4MjMzY2EzNTBGMzU2ZjA4MzYyMTBhNEE5NDgyIiwiMHhFNzkxQUE3NGI1ZUEyMTNCOTE3ZDNDNjg2NDJjQzdhOTMwQUQwMUMzIiwiMHg4MmU1MUVERUI4NTUwRTI4MmE1MEUyMkJENDcxNmMyNmQ5QTM5ZjdGIiwiMHg5Y0EyMzNDMEE3ZEUzNzk0ZGYxYzA4N2Q1RDIwMTZCOWQ4QjgxNkUxIiwiMHg0RDQyNmM0RjY1RUE3OUVmOTgzYmU4NTg3YWIzM2Q0ODBiQjJDMDE5IiwiMHhjODJhYjY1OGNmNEFCMUJDRkI3MUNiMUQ3NEZBYzg2OWRBOTM1NThBIiwiMHgzRGYzNTRDODc4NEY5NEI2NEQ4NzlERDEyOTU1MDVENDY2NzkzRWUxIiwiMHhCMDA3RDJhYjkzZjM5NjM0RjRCQ2QwRTQwQ0EwMWYwNWQ2NjYyOTBlIiwiMHhjN0ZFM2U2YkI1MTA3MDg0NjIxNjgyNThkY2IyQTM2OWVEMDc1OUU1IiwiMHg5OGQ5NUEwNDg4RWE2ODRGMDdiODkwMDY3YTNiNzUxRGY1OTQ4YjgwIiwiMHg5NUI2RTAxZkRGNTVFRjJiNWRlNDZBNjZhYzQyMmRBNzdDQTgxODM5IiwiMHg2RjREMzc1OGM3OThjQTFmRWY1NTQ2RjRkOTc2MWZEQTUyMmU1Q2MwIiwiMHhBOTE0NUY1MzVGZjJiMDVlNUQwM2VBMkRFRmM3MDAyNWFiODNjYzczIiwiMHg4ZDE5M2UwRTQxNmY5RjdFNDM5NGUwNjk1NTFGYTFERUQwODdBODRmIiwiMHgyNTBCMzhDN2U5MzkxMkY4MzJBNTVjMjU3NjJCQkE4ZTgyOUIwNERkIiwiMHgyMDYwODI0QUI0QUYyOWE2M0RhYTg4NGZiMjQ3MzMwNzY0REE1QUQ1IiwiMHhEN2M1OTY1Mjg5OTI3ZWI5Yzg0Yjg0NEI4ZjBCMEY2MDc0Q2M1YUY0IiwiMHg4ZGE0NThEMjExNEJhMTM0NjdhODY0NGUzMzlkODFlQzNFYTk0ZTY4IiwiMHhhMTUzNkFCMUNjMUI2ZTgyOGNmMDhGYzk3NDc5MzhjMkQ0MTlkMDdjIiwiMHgxODY3QjYxZUY4MENGRDBGMDFjNDhDRGVEN0MzZjkzNzU0QkE5ODY5IiwiMHg4MTZjMjQyOGY2MDI5MzI5NkY4MzMxM0E3NGYxMTA3YjUzZkIwNDAyIiwiMHgyYzAzN0YxNmFmOEFiMzE4MzM2RDVEQzhjODk0Njk5NTQzNzE5ODVBIiwiMHg5MDFBNDgzNWJlMEJDRjM5QkM2MTc5MDQ4NEU4ZTA3NzUwMjcxOGVjIiwiMHgwNzk1NzY4Zjg1N0VDMGE5NDY3Qjc0MWRkQTZGMzU1QjREYmFFYkMyIiwiMHg0REIyNzNjNzUyZUE4ZjNDM0Y0N2FFYjczODRCYUI0ZkVBRjkzRGNmIiwiMHhmNDdBMGRDNTI3NWIzNkFDZTUyNDg5YTgxNDkxMTgzNGZDNzk2MmYyIiwiMHg3MTBlN0NEZTIwRmJGYzA0NEYyQjlmNUY5QjJiRjU2Mzc5ODZBNjliIiwiMHg5YUY0ZmI5NjlCQjE2MDM4ZDc2MThEZjhBREJkYjJlNzEzM2IwZjY2IiwiMHg3NmFBOEYyMGUzZUZmYUJkQzE1Njc1MTQ1MDc4MzM3NzNhOGI4N0Q1IiwiMHg2OEVkMjY1OGQ2ODQyMDZEQjMxZGM3RkU4YzcwOTQ0ZTdDOWQwNkY2IiwiMHg4NTgyMDMxOWY0NjBDMTM3YjQwODJlRTMzRTA5Mzg5MzM5RDJiZjMzIiwiMHgyQjljMDg3MUYzRjAxNkQwMzg4QzM0OWI1ZUE5ZGFDZDRkRDMxRTc4IiwiMHhGODc1RjE3MzIyRjBBNGFDNzM1MDFCQUEzREVFYTI2YzlENzIxOTJDIiwiMHhDMmE0YTAzNGVBZjFDODg2RDhhMTRkZDdlMzAxQ0FiQzljYzFBQ0Q1IiwiMHg3RkIxMzYxMjQxODZiOUEwRTUyMGY3YUU5NjI1YmJCYTc5Zjc2NERCIiwiMHg5ZDQ4QWUwMzc1MUI2NGNhMDA4REFCM0Y1ZDI1Yzc0NURmMDc4NTlmIiwiMHhlNzE2M0FmYTQxQzgxRTRhYzlFMTAyNmM5MUNjQkUzMkM3OTBDNTk0IiwiMHgyNDEzRjE5NEEwNzg3MmU2YkFBOTdFQzhFYjA2MDIxQzlDOTUyMGNCIiwiMHg1NDNCQTgyMDM5Q2NGMzVERDI1MzEwMmI1MTUyQzE0OUNiOGM3RDAyIiwiMHg3NjUyNGM4ODNlMWYyRTg5MTUyM2I5Nzk2ZjlFMzlkYWU4NDc2NjBmIiwiMHg4ZjE3NDU4OUI0QWZlMjgyZWVCNkFlOEQwMTBDYmUwRTdiN0M0MjgyIiwiMHgwMDBiQzRGMzFEMmM4RENDNjZGNkYxYzkzYkIwMDkyMGUzRWE2YzVEIiwiMHg4Yzg4OTE2NTMzNUQ4NTY0ZGNhMkZmNzk5MzQzMDVhNDc2NzgwNzhEIiwiMHgxZTZGQjQ0NENhMmQ1NzJCNjhhQTYzNDY5ZjczQjM0QjZlM0QxRDhkIiwiMHg2ZWJCMUM0MENkMzc4OWU2ZkMwMkYwMDNCMjQxNjM4M2VhNUM5NkY0IiwiMHg0NzQxMGVmMUYzYzNDQUJjNjc2QTQwNzdkNzdjMzk2M0YyODQzY2E0IiwiMHhEMDI4ZTVmNWNCZTM1MjNjODgxM2VDNjRiN2Q0RTNFZjVkODhGYmI4IiwiMHhEMGUxMTA3NDY0YTg5OThlOWQ2MWYxZjRjMTVDQkFDMzE3NTIxZTI5IiwiMHg5YzNDZDU5M0NEMDUwMDBkZDViRDU5NTNiRjc0OTQ3NjgzRDM4MTBDIiwiMHg1QjA1RGE1MjdlMTgyMzMzMjI4NjQxNTMzNGYyN2E1MzhiNzQ5MkFiIiwiMHg4NGMzQjg4NGE5ZkYzNzY1NURDOTE4RDcwRDk5RUE4ZWU5QjNmMGQzIiwiMHg0NTE5ZDM4NjVhNzJDNjI4ZjEwQmRmQzEyNjQ1MWRCNWRFZWU5MDYwIiwiMHgyNzE1NUI3QUQ1MUQ2QTg1MUMwRkMwMzJDMENFYzM2Mzk2RjM1MjA1IiwiMHg5YTc4MEM4REE2NzUzMzYxNEQ2RjFjNWU4RjE5YWYwYjAzQWQ0MjliIiwiMHgxNEQ0NzBEMDY2MjAxYzY4M0RmMDc1MkMyYTA1RGMyNTM1ZGRlREFiIiwiMHg3OTRiRmU3MjEzNzRENzM0NzdFNkFDNDA3MUZBMWVmREYyQjUwQTg2IiwiMHg1NTRGQ2FiMjNjMzg3OTVjOUUzMmI3MzU2MmVFRDlGQTQzMUQ3QTdiIiwiMHhDMDczRThCM0IzMkRGNjEyOTBBOWQ0N2Q3MzBmQjJDM2NmYzMxYjkzIiwiMHgxZTNkNmQ1ZjMzQ0FCMERDNmI1YzQxRDAzMzk4OUIxNURmMkY0RDMwIiwiMHgyNTgyNkU0MzZCZjE3ZkQ0MDAxMEFjRWRFMDg2OTU1Yjk3ZDYxZmFBIiwiMHg0QTgzZjdEYkFjNGQzRjlkYjJmRkE4Yzk0OTNkQzQxNEJhZTRCMUEzIiwiMHhmOWEzM0JmYWVBZUQwMGVjOTQzODQ2MTYxNzYwMzEzMDAyNTIxQzYxIiwiMHg3QmZCMzJBZmUzMDU5NDJlODAxNWQxOGJkMzEyMzhmRTc3MThkYjM4IiwiMHg1MGMxQ0MxRDFDOTcyOTk3NDRjMTUzZmNkN2VEMDQ5QzVBQzEwM0I4IiwiMHgxRjE3Q0YzMmFENTJCMDVjZjkzYWFmOWUyMTA3YmRhNjkxMzM5NjU3IiwiMHhCODI2MzUzY2NCNDJiNTZFRGZFMjMwNTdDODdhNTE0QTY2RTM1RWIxIiwiMHgwOWQzMzExZjljNkVkOTE1OTJFNzI4NEI2RDQ0N0RmMTkxQkQyMDNGIiwiMHg0NjQyQjJkODhlN2RCNTNEQTA4NjQxN2Q0ODZkYjJBQzRBNmUyQmU2IiwiMHhlMjcwM2U3NTQ1ODQ4NzA1YTVBQTJlMDRlMGMzNzQzYzdmNkJhRmUzIiwiMHgwQTY1OUViMDZFNzVjMjQ5NzA4MEEzNDAxQ2NEYjBDMURBM2FlNzgzIiwiMHg2NDIzOTEwYjkzQWJEYTA2Nzk1MzJCZmRhRDMyNzhBRDM0NzY2MkY5IiwiMHhlRUFDM0ZiNjAwZWY1OUIzZDZBRTM4MUQwMzZENEEwMzFFNTQxN2U3IiwiMHhGQzgyOTU4Nzc3MjdCNUVEOTU2YmU3MTc0NjY1NzNkNjcxNDg3Q0RGIiwiMHg2RTY2RjU1NTFCQzc2N2M4ZGUzMEQ5NTk4Qzg3ODE4YzA3NGZGQTJmIiwiMHhhZThlRWM4NzU4MmQzRDQyOTk4Q0MzNjI3MjNiZWEwNWMyM0E1RGUxIiwiMHhGMzY5MzAxZkM3MTcwMkY5MzhFNGMyQkVENUNhMTk1MWU4NEI3Q0JmIiwiMHhGOTI5QTA3MjUxOUFjRDdGNzk2YjZGREE3YjkxNzk0QTFDMjRGYkY3IiwiMHg0RTkxMDIxMERFZDVjQ2U5MTVjMUMzODQzNGFBYTE2OWZCMjMyNzMzIiwiMHhhRUQ0NWQxNjFiNEFlNWE4MDUxMDQwOTRDRUIzZDM3NkYzNkJjMDkzIiwiMHhBMTYyZEREMmZGYkIwRWUyODBEOEQ1NmMwQjBCODg3ZDUyMWUzYkFDIiwiMHhCNEE3RDA0NGQ3Y0Y3MTE3ZTlEMTA2ODE4NTI2QUViRDk1NDNBNzRhIiwiMHgzODZhZDJENWU3NTQyYzdjZGFGMzZCODIwNEJmYjNFNDQ5YzA3QTZFIiwiMHhmMTE4MGZEMzNGQTZFRjgwRDhiMTNEYjI4RTFCN0UwRWNkMzFhRTdBIiwiMHg1ZmFGRkM2MzM1OEZERjMxZTFiNjgxM0NEYzhBMzJEMEE1YTZEMjZlIiwiMHg0MmJlOUM3QkQ2Mjk1NTI2NzU5OTkyQTgxNkYyRjY1MDk2RTllYUQxIiwiMHg5NmMzY2UzZEVCY0RBNzM5RTlFRmExMTFjRjRkYjliODZGMUJmNGZFIiwiMHgwMWNjYWJmMkE1OTNFRDYzOEM1YTlGMTFiNzQ4N2FhNEE5MTk2N0I2IiwiMHg4OTAxOTUxZjE5YTQ2MzczNjE4MDkwOURlNWY4NTNEN0Y4MzNjYzY1IiwiMHg0N2Y0NEEwOEEzMzM2MjEyMWU5RTM4MTUyMjIzM2UyODIyOTlGQjFCIiwiMHgyMGQ5RjExRTg0YkNmODExNjE3OTdFNjU2RjZGNTRkRjZmMjg2RTRjIiwiMHg3OWY3M0Y4MjE4OEFhYzlCYjlkYjgxZUY3NzA4Rjk0MTMwQjY5YTgxIiwiMHg3OWUzRkIzNzIxZUYzNGFFNzQ0MmMyOEFBYTU0QWI3MWFkOTBCOUIzIiwiMHgzOGQ0RmNDMDREMDJFNDc3QTlmMTQyYzNiZGFhNUNiN0ExYTMwQ2JhIiwiMHg5MTIyYjc1QkEwMkUxNGZGNmQwRWZjMUYwNzJBNDczQTdBMzFBNzI4IiwiMHhFOTIxQjRlREI2ODFEQkY0MDIyRTI3ODQ1MGRmMDliNkNDNTlhYThDIiwiMHhFRWQ4MzAyYkNCNTE0MWI5MWQ4NTlCRjhEM2JmM2Q4NEQ1OTc4MURCIiwiMHg4Q0MzM0QyMzVhYjc5Njc3NTM3RjNhQTRjQTMwN2ZmM2I1ZjFkRUZiIiwiMHgwM2I0RDIwMWE5NzBiRmQ1ZEI2NGY1RDMwNzg0ZDM3QzIxZjZFMTU0IiwiMHhCQzU4YzA2NTcyOTM2NjdlOWZENTkzOUM2QjJFYmE3RmE4Y0JjN0U4IiwiMHgxRjY4ZUM5N2NkNmIyZDRDRmQxZkViNjNCMzlDMTFBYzFlOEY5Mzc1IiwiMHg0MDgwNGUxZjQxYzdhQjJhYjhDZTQ3Mjc1OUI5ZTM2QzFBOTA1MjQ0IiwiMHg3ODFjNzMyRTUzMzljNWE0YzUwRUVkOTAyOTE3OWQyMWM1NEFDMWJGIiwiMHg5YUQ1MEE5YTgxNWM2NTMwRDdjMTVFNzMzMDJFMGNhNWU5MTMxQ0ZFIiwiMHhDMUZDN0IxOThFNTliMDgzQjFEMjlGNTk2QkY1MEQwRTNmOEI0ODM2IiwiMHgyRTAxMjU2MDJkYjFmOGYyQkE1NTM3MTg4MkIyZEVDQjZiYTkyYjYwIiwiMHg5QWJCNWJjZTcyOGIwQWIxMmJmODEzRDc1QjhiQTU1YUFEMzJBZDFkIiwiMHg3OUJGYTU3MUM0MDc1ODA5ZjQ3NUY0NjkxREE4NUMxYzkwQjE5N2I5IiwiMHgzODc4OThFMDc2YUVEQjc0OEZDMjI2MkQzNDBkM2U1ZjUxQUI3RGQ5IiwiMHg0MTRmYkY2NjJmYzk4NDE1REJlRTI3QzcyMDEzQTZmM0E5MzdlRDY2IiwiMHg0YTMyQjAzNDBhNkVENTg4OURENzlGRWFGQkE3ZDJGNTU0NDZhMTI4IiwiMHg4NzJjYTQ1MDkxOTg5QzJDMDlkNzU2MjQyNjYzRDMyYzA2MzViMzc3IiwiMHhENjc2RkQ5RmEyYTNkMjAxMzI5MzZCMTNCRGNlNmI1MWZBMzU3MzU2IiwiMHhGOTQzOTU3QmUyNjFGNzdhMEZEN0JmODlFM2YwOWIyMkUyQTQwZEY2IiwiMHgyQTNkMjM4RkJBOWNFYTM5QkFCM0EzMDlmRTM3NEE4RGU0OTRmQ0E5IiwiMHhEZTI4ODI1NzRkM2UzOEM4MzJjRDNDYmI4MWZGM0M5OTUwMjcwZGFFIiwiMHg3NzkwNUE4NzE3MzlCOWQ3YjkyMjJFNTA4NUExMEIxQzE2ZWY3RWFCIiwiMHhDNDRGMURCMTA3YWNiMzU4YmE0NGMxMERGNTRBMTMzNkY2NWQ5OEQ5IiwiMHgxMDhGMjJCM0M4NUMwQzIwQzcxZmJGMmFBQTlkYzUzOTAzZTRFNzM2IiwiMHhFQjE2M0I4MDlFZkNCN2QwNDUyM0Y4NDFjYzdBM0M4NjA4ZjYxNzI5IiwiMHgxNjk2NmQyOTlGZDBkMjNiNEY0YTZCQzBkNjM3ZDAzODg5ODAxNERjIiwiMHhjNmU4QWNBRmE1ODAyQzYxMzk4NTdCN0Q1MkI0OEM4N0YxQTg1ZGE2IiwiMHgxODZFNjE1RDk4ZGQxOTM0RDA0YmVjOUE0YzgzNTc1QTc1MDNjMTY3IiwiMHhlZTU2MTcyYjcwRDdiZEJmMTMxNDUwZTVBYTE2MDdkNmQ4NUQ1ZTBkIiwiMHhCN2ZEQTFCMjQxYTViNjFCY2M2YkNmQkE0YUZmY0MxMTgxMUNlMDVjIiwiMHhCYzE2OWE5NTg5ODY2RWUzMEI3RDZCQjU5M0M0N2M5ZjJlODNlQzVlIiwiMHgwN2EyNUVlOTEwZjRENDdBNDAzMDdkNjgwRUEwQjI4RjBDMzZCNDA3IiwiMHhEOThCZjEzQmJGRkI0OTgyOTk4NzY3NzcwYWQ0MDVFMzIyM2Q1NDFlIiwiMHhGREI3RUEwOWJFMUMwYzc4ZTczQ0U3NTY3QjMzQWIxODE5ZEM5MDBlIiwiMHgyZjRBMDMzYTQ5Y2JFODFmNDBCNkZGRTgyNzU4NzM2MDUxODFhRDczIiwiMHhFMTA4RkRBQjhCMDNmNmJkNEMzNWI4ZTdhMjI0OWIxMjBiZjkxQTg3IiwiMHg5YzUxN2FmOUY0RTAyRjJDMzQwMmU5MTAzQkNFNzAxNjFBZGNERjNkIiwiMHg4NTk3OTNlODdkZWY0NzllMzY0OGFhMmJBNTQ4MEVhMmI1NDM1NUI5IiwiMHgzOTBkNTY2MkI3ZTU3NzdGOEVkNTY3OGEwY0JhYUM4Qzg3NTE0MjBlIiwiMHgxRjZEZkFENTRCQjc2NjVhRjBkOWI2MkI0NjI2NDAyQTZCODRBMDA5IiwiMHg1MDQ0RTg3NmVFMjhENzk2MTAxYzk5MTMyQkQyOWM2ZjY4MTMxNUU5IiwiMHhCODdjMUE0QzlFYjA4OTQwYzYyMUZiRWVCM0NDNjM0Y0U4RjYwYkEzIiwiMHg5QzU0NzdGMzg1RWNBZjkyODE1NDc3RjkyOWI4MTY0NTgwMEI4NjAwIiwiMHgzMTM1MGRDYjY3NTNiNzhCZkNkQWVCNEY3YTE4NjAxOEVGZGRlNDBiIiwiMHg1OEE1QkI4QTcyMzQwNjA2RTA5NzNGMjQ5MzY3NWY5ZTU3MkU4RjY3IiwiMHg1OGU0NWQzRDg0M0IyM0E0YWUzNjljNTlhZWU2ZGViMmQ0YmM5REMzIiwiMHg4RTRmMzI4ZTY0MjQzOEUyNTkzRTI3ODE2Q0FhNTM1Q2QzNGQ0MEE0IiwiMHgyMEQxRUNjZmFDODZFQWZkNGE5RDU1NUQ3Mjk2QjdBNzUxNjk1RTA5IiwiMHg3NUE0YkFCNzUyZDI1ODQxMDEyZTU1NTg5NzJhMTkzNTMxNDViOGI5IiwiMHg2QUVmRTUzNGI5YUEwZmMwRWZBNGNhODQ2NkI5MzY3ZDhFMTMyOUE3IiwiMHg4YjY2MkYxNjc5MTZBYzkwOTVEMDY4N2QxODVmNTY4ZmIyMUI4NjQ3IiwiMHhGQTBDMmU4MDAzMjRFNUVGNzFhODRENTEwNTA1OTU2QWFCZWUxODRmIiwiMHhCMWJEM2Y2ODU5RDQ1QTRmMDBEODA1NjY0Mzg0RTk3MTFkOTk2YTU3IiwiMHg0NDc4Nzc4YjhEMTJFYjY4NEJEMTcyMTQ2MjdmM2YzYzI4NmNmQkU0IiwiMHhCRkExQUI4RTdFODM4MzI5NDQyRTM5Nzk4ODVFOUE0OTFFNDMzQUFFIiwiMHg2MDI3QjRiYWE2OTc1MUREMjI4MjU3OTI2QjE1ZjRBZDBhMUEwZTUxIiwiMHg4MjBFYWIxZDE5OEU0YTkzQkQ3N0U4MGQ3NkMwQ2I5ODQwNTRBMEFDIiwiMHhmYjkzMDk0NzQ3QjlGMEYyNjlmNERjNDJCOUEzQWNhYjY2NGQ4ZUJGIiwiMHhBMEJCMDg4Q0UzOTZDRjhjMDdkOWE3ZDc2ODU3MzdjNzZDZjhFNkVCIiwiMHgyRDcwM0Q1QzE5MjRmNTc5MUYxYjg4OUE1OEMyNWIwNEQ4NzhBMzlkIiwiMHgwY2I5QzE4ZjM0NzJDNGRmZDZDRUY2ODQ0NjJGNEVhNzBDMzFFNmMxIiwiMHg2ZkRhRUU2NjAzMjE3NDQ2NjFDNjY3NjU4ZjRiZkRhQjQ0ZkU0NTk3IiwiMHhmOTlDOWM5NDk5N2E1MTUzMjk4MjkzZjIyOThmZmZjOUVEMDYyRmY5IiwiMHgwM0YyMjU2YTFmNzE3YUZERWM0NUQ4MUEwRUNiMzYyNzREODdDNDVCIiwiMHhDNTdjZUVGOTVEYTM1MGM1OGQ0MjBhYzkwYjUwRTQyODY1MTUyMWNjIiwiMHg5N0JjOUEzRDlBMUQ0Zjk5M0UzRDE5RUE5MGNCOTlmMzE5NDI1NEI4IiwiMHg1MWM3Njk3OTQzODk0QTFjREUzMTA4N0Y2MmYyOTczYkFEM2QxZWVFIiwiMHhjNkM3MUYzNmE0MkYwRmVDQWRkQWU3MjczMjk1OTljRTM0ZUIxNTQyIiwiMHg4QUIwMTk1QjE1RjdERTc3RDYxZDkyOTJGQ0I4NjI4ODY3QzY4MGY1IiwiMHg5NmNjNGJlRDAzZDhkZDE3NjQ5MGQ5OThFOTM2ODhmMDQxZjEyMzQzIiwiMHhjMjAyZDBhQ2Q4NDNjRWMwNjk5MUIzNTViYjVBRjIxNDBjNEQ3ZkY0IiwiMHgwMWUzMDAzNTRGYzA0ZDAxRkE4YUM0ZDlkNTdiNDRiNmYzMzBkOTVBIiwiMHgyQTJCQkJCQ2FEMTNGNDg3MUM3ZjY3ZjMzNTg1NjFBMzhENDFmMjQyIiwiMHg3NDMzNUZFRTFjQzk4OTlhYTI3ZUQxQzhiMWY5MUJCRUY1YjQwNGVFIiwiMHhEOTVCZmVhYjZkOEFkNUZhOUJGYzUzNjgwMGE2ODc4ODJkNzlFNTMzIiwiMHgwNzQ4NjI2Q0MyOTUwNzQzNUREMDkzNWNFMGZCOWNlODA5N2M0RjIwIiwiMHhFZTQ0M2Y2NGZlNjA1ZUYyODhDOUI1M0Y3NDg5MjkwRTVkOGU5OGJhIiwiMHhDRTExNjJEMUM4OTM4MjM5ODI3RjE3OUZkYzQ0OTM5ZTAxNDgzNjZCIiwiMHg4RjMwNTkwQURmNzA1ZTVhMzU1YzZCMWFEQzZDNEY1MjdiNzFDNDZhIiwiMHg0Q2JDNkRjQ0Q3YjQxM0EzMGFmNmRFMjREMjliN0U3ZWM1MzczMkExIiwiMHg0MTBmMThhNWM4MTlDMUZmNjczMTZjMzQzNzFlMzBjZTA0MjI4MDI3IiwiMHg2N2UzZDU4MjRjN0MzY2E4MGQ0NjI3MDU5NEIzYTk0OTU3ODM5OEVmIiwiMHgzN2E5RTQzMjg2OTQzNjVlMEMxNmNGOWU0ZjE5NUU5MTc1NDAyNjYzIiwiMHhCNDZhYjhFMzgzQTQxNjAyNjY3NkFkNzQzMjVkOWFFMzdGNGMxYTVmIiwiMHg0NzA3OWFBMDVkMDAzQzJkMjI4ZTE0MEQ4QjQ0MzYyNzM4RDMyM0U0IiwiMHg2MDUwRWYzMGJDMjk4MWI5RDI0NWZBRkRjNEI0MWMwN0ZGNzUxYkFEIiwiMHhFRkNCQjI1ZmYwMzZBNTRmRDkxQzAwNjdjMjFmQkE0NzYyNTMyN0U3IiwiMHg4MEFjNWM5RjYxQjg1MTg0M0Q4QmE5QTdGNWQ0RmZDNDlENjFjOTM3IiwiMHhhNTFkNTRjNDUwMzMzNjM5OTI2MzhjYzJmODgyMDBGZDgzRDFhN0E5IiwiMHgyRjZBYzkyYTNhMjUwODU1ODdiOTAwMzlCMzcwNTdDYkRjYUY3ZmM2IiwiMHhDNzQ4REIxRDM0NzlkM0U2ODg3MDc5RkI2NTlmMTIwMjUxZDM3MzZCIiwiMHhDMjdjQjlEZTRDQTVCRGJBQjlBYjQwMmYyN2E0NzBDZTgwQ2IwQjQxIiwiMHgwMDQ2NDc5QjJhMzUwMjYwNjEwMTk3ODNjNURGRkI5MmQwNkRlRDZFIiwiMHhjQTExMTVhYmQ3QkFFNzgyM0I3YjIzZmI4NjIyNmY2MTlEYWYyOTQ0IiwiMHg4MTczNGNFRDlhNkQxZjU4YTBCOTE5NkY3OWIyNUIyREFGNUYzRWYyIiwiMHg0RjFFRDY1NjJiZDdkZDQzMTQxNDRjQUQ2REZGRTZBRmEwM2QxZEJEIiwiMHg4Y2JmMzVlNmM5MzQ4MjUzMWQ0MUIxMTExNmRmQzM4Rjc3RDg2NjFhIiwiMHhGYjI5ZDg3MDAwQzlhMGRmNmNDMjlhNEY4ZjYwYmM0ZWE0YTEzN0Y1IiwiMHg5ZTJENDMzMzU5OGM3NEY5MzJiNjc2MDZhOGI4NjVDNWQxNmM3MDI2IiwiMHhBZkQ5NGVENzFhNzUyMTAwNTU3NkQxMWQ5MEU5RDQwNzJhMjdCYTgyIiwiMHgzNzUzZGQzN0QzODljQzBDQjJFNjc3MDQyMzU1NjliMjA3MUU3RDY3IiwiMHhmMjJkQ0JmNUUxNjc3RTZFNTI3Yjg0OWFGNjUzODkzOTllNzc1YzFEIiwiMHg3RTJmQ0UzODRCMDg0YThlMDVDODY1YWVBMjRjRmMxQmE3NjE4M0QwIiwiMHgzNTlmZkRjOTdmMjA3ZDAxOTg2NUY2OGRBY0FmRjg3ZTkxMUQ5NEIyIiwiMHhDQzNkMUJjMDYwNzk3MEVGNWI3NDE1OTIwMjUyYjgwNjBFMTg4OTc5IiwiMHhBNWY1NzI0NThDOTBGNTljMUQ1ODQ3NTY0ODc3MjU1NWQ0MWVlNjQ5IiwiMHhDMWU2OTcyNjZjNGNGOTBiMzY4ZjA2OEY5M2FkYTJkQzhkNENEOUNkIiwiMHg2YzdlQzZiM2ZlMEVkNjBjOEVmZmYwRTA3NTQ4NzY0QkQ5QzViZjRkIiwiMHhFNTA3RDcwZjdiZDZkZTY0NzZDNjJFQjJCNDNmNjY3RWY2M2Q2NTJDIiwiMHg1ZjhhZjYwRDQ1YTIwNDk1ZTMzNjM4RDg1NDIzMTQ4Yjg3QUI1ZTEyIiwiMHg4NzEyRjYwMUY5MURlRjdjOWM5NTFiQTFCOUUwMDNDNGZjQUEwRGQxIiwiMHgwZTQwODFlMzg0MjYwOGJDNDI2NDEwMGRGNGNjRjBmYUNjNDhjNjU3IiwiMHgwOUY5YmVlZkU1QTBhOTE3YzQ3YkJhODcwQmE5OWNBMzEyNTQyZTRBIiwiMHgyNzZFNjJDNzBlMEI1NDAyNjI0OTExOTlCYzEyMDYwODdmNTIzQUY2IiwiMHg4ODU3NTJiNTMzRTA2RWFCMTQ2OTlGRmNDOTFiYzg1MERiN0FBNUFEIiwiMHhDNUZjOUI0OTJENkZjM2E5ZjNjZDlBOWJFOTQ2NGE4REYwN2VlNDQzIiwiMHhCRTBmMjdlZTFBNGFGNzkzNzJBNTU1OTA2MGI5NzZCOGYzNTU3NzVCIiwiMHgyRDk3YjcyNTJCQ0JDNUU5N2Y0M0IwN2JiZTgyMjEwZTkzYkNjNmUxIiwiMHg4ZDdBNzczM2E5NmVmQmIzZTljMjY0MTI3NmQ4ZDdkMGU5OTdkMmZhIiwiMHg4RkEzQjQyZGYxMWQ2ZjMwZDg0MGJGMjA1OGI0NkI4Njc4OUYwZjI2IiwiMHhEY0JjNzljRmEwNmE3Nzc1NmVGMDBiNDhENTcxMWM0MjM4M2JBNDc5IiwiMHhEMDdhMUE5MDYwOTYzNzc5ZDc0ZDE3NGFiZGQ3OTZEMTRiQTYxMUNlIiwiMHhCQUQ4ODdhQkMxQUYzODQ5ZDgwMDVFMTIyNzNlOGU1N2MzQzdmYzY0IiwiMHg2OEI1NWU0ZmM2NjQ3MTU1MDhmM2EyRjVkN2EzOWE2QzExNTMxN2U1IiwiMHg4OUE5Y2M4YmRhMmQ2NjRCMzZhMTNDY0RhRWYzNkE1MTkzNjVkNmYwIiwiMHhhNTg2NEE4MjA4ODUzOTlCRWJkZDA0RTQxM2RGOWZGYzAwNzMzNjgzIiwiMHgyMjhGYjQ2MTIwMTlFMmRGOGI1OUZjNjAxMDc4ODAyRTVBMEJmNTVFIiwiMHg2MjhmNDJCMDRBNTNGZmVjRDA4MjhiRDNENDlGZGQ0MTBFYmU0QTk1IiwiMHhmNTBhYjNlNTM2ODFhODZhOTM0NmYwMzQ3RDlkQUU1NmVFNkI4RjBCIiwiMHhBNTA3MjViMTg2ODIxOGZFMTc3Q2JkNEY0ZWM5ZTcwZjk4RGI4N2Y5IiwiMHhEN2M2ZEI4QURBMUUwNTk4MWEwMzE0RDU2RDk3ODhjQUYxODdhODI4IiwiMHg5ZERiYmZhODk3MjYwNjE0NGFEZjE0YUM3NjdlRGRhNjZGOWRmNzlCIiwiMHg4RUUzMzA0OTk2MTk4QzdhNTkyMjk0Zjc2NjJBMDhFMjY5NjNFNzE2IiwiMHg0NjY3OThiYTY2MDE1REQ2ZmUyY2VGMDREMDlkYTRBNEI4NjdCNEE2IiwiMHhlQ2M5MTA5NUQ3NDVEODY4ZmRCRmE2N2MzOWUwQzZkNzAwMzNhODc4IiwiMHg4ODI0QkQ4ZEUxQTFmMTUwMzU2NDY4YkU2NTkxM2VkZUVEQjU5RUJFIiwiMHg5OGQzNzBlRDZGYWE2NzIyNmRkOTk0RjEyNWFEYjY3ODMxMEQwOTkwIiwiMHhhNDRFQTEwNjk0QjE5MDMwZDlEZTZmZEJEODNlQjhDMWY4YkJlMzY5IiwiMHgzZDkwYTRlNjUwYjhmMkM4NzEwMDE4NTM0RTA0OUI2NUM1NGI0QjIyIiwiMHg5ZjMyRUNmM0YxOEFDZGEzY2Y5NTlEMTA2ZWIwZTJBQjFkNmM3YWZlIiwiMHhGNzYzRjEwNTk4OTllMTlBNDNhMDkwOTY1M2M2RTNjOGI0ZTE2MmViIiwiMHgyZjNFOTQ3MEUxMmUwNThDY2I0ZjlmMmMwODk0YTQ5M0M5NEVBYjBFIiwiMHg2YzdDYzZkNGMyQkI0RjI4ZEFjNjcyYTdEQ0I1N0VhNWNBMUJBNTdBIiwiMHgwQTFhMUMwNTZkNzQ3MDAwMTY5OTQ0OUJlNGIwZTE2NTEzZTU3RjJDIiwiMHhDOTZkODhGY2Q0QzVENDhkMDFDM0Q1NWEyOTZGRmIzODkzYzcxMTdFIiwiMHhFMzQxQjRlQkNmY2IzQWI4MTUzQjExMTMyNTM2NzU1QWE5ZGI2NURiIiwiMHgzNjIyRTg1ZTgwMzY1MUM3NjJCZDkwMDI3NjE4NmM2QjFjNWRFRWQ5IiwiMHhkNTM3OTE4ZDgyNkMxNzAxODE1MUY2MWU0MEY2NWM0M2QzZjJBRUQzIiwiMHg5ODBjMDg2NzI3MTRjZUVCRjdhQWQ5MDBlY2YwMjdDNDQ4OEU0NWM3IiwiMHhmQjZmMDQ3ZTY1YWM2N2ExMTZFYjY5NEIyNzFjNDk5M0VCQjU2MzM1IiwiMHgzODJiQjEwQzhBZTliNDM4MGI2OTdGRGIyNWFBRkZlZWExOEVmNDQyIiwiMHhmRDNGOTFGZUZGMDc0ZjIyNTUwQTcxZTIxYUVBMDk0MmJEMmRiY0Y0IiwiMHhhQ0IxQkJmY0Y1NjkwODJGYzg0ZWJDMDA1ZWFGNzBDQ2YxRjkwNTkwIiwiMHhhN0IzMTFDM0I2MTU3OWRCYzhmMDNlNzJCQTFEY0VhNzcxNjlhMzc5IiwiMHg1MWMxNTVCMDRkMUYyRWRFNjZGZjYxMjAyZWY3MzgwMjg5OUUxMTM4IiwiMHhhYTkyODY1MGUxM0YwNDQ2MTJDQ2RDMDFiODY0NzM3MzgzMjgwQ0Q2IiwiMHgwM0M0QWE2MzlkNzZBZDRlOUE0NTU4RDgyODYwQzE3ODlkOTkwMDA3IiwiMHgxOUI5MDY1MDlDYkUyRjUzYTEwQkNkM2I4OWM2RjJkN0JFNzU0MDFBIiwiMHgyNzU4YUYzOTI3QkY5ZkI1QTQ4OEZFODg3ODU0ZEFjN2NBYTc1YzY2IiwiMHgwRkM4MWQ5NGRBZmExZjhkYjc4OGFENjM0NzUwY0FBYjAyMTNFYjZkIiwiMHhhYzdhYTkwOUY2ZkMxRGFiQUJDNmIxNjJDRTRhNzNCMWFlMDkwYTdjIiwiMHg5QkRjMEEwMmU1Q2Q1MTRGMzVmMjBCRGI4YTJhYzBhNzUxMUMxYWEzIiwiMHg2MDQ5MTkxYjYzYTdERTU5MTg3YzdCRTY5MTRBN0QwNjQ2MmQ0MDhCIiwiMHgzOGQ2MEJBYWEzMmMzM0MwNDhhNEQzY0NmM2I1YTNBOTRmNUEzNGMyIiwiMHgwMGU1Q0Q2ZThiYThhM0Y3Q0Y2QkJjRTM5NDE5QzgyZkRBMzQ5RDQ1IiwiMHgxODNkMmViMDFiNkYyMDAzODk5MUU1OTdDNjdBOWFFODkzYzgwODQ2IiwiMHhEMTU0QzYzQTc3Q2I0ODc3MjEyOWIxMGEyYjFGRTk5QWRhNEJhNTdEIiwiMHg5OTYyYTQ0QjNEZWM4NTNDMkUyMDQ3YzNmMzQ2N0VEMjZkM2Y1OEVkIiwiMHhhYjJEMkY1YmMzNjYyMEE1N0VjNGJCNjBENkE3RGYyYTg0N2RFYWI1IiwiMHg1ODAxMkRlMzRiMzA5OTM2OUQ5MGQ4ODc4MkZlYjU0NjhBMzlCOWEzIiwiMHhDODI0ODg2NDU5NEQzNWRFQjNDMGRCRTZkMDQxMUEyN2MzMTJBMWJFIiwiMHg2ZWIzYzcxODEzMmM3OThiNjI2QzQzNzU3NTc3YzhlMjkwMWEyQkUzIiwiMHhmNEVjZTg1RDdmMTk1MzMzQzFGODgwMkE4NEQzMjA2NTI2NEY0RjUxIiwiMHhCNDM2M0VlNDVCOTM4NWNjZDUzYTEzQjc1OURkYmZlYTA1NkM1NENEIiwiMHgwMTQ5NjY1OTNjMDg2NEZmOGJmMTgxMzQyNDEzNzUxMDI5MzVhM0FBIiwiMHg2MDc3ZGY3ODRkMDU4NEExMUJkZjkyODg4NTg3ZTQ3YkJlNDhlMmUwIiwiMHgyZDlhZjgwZUNDMWVlOUE3NzkxNTBlZTZmMmZCNDgwODM2QjZkMTIyIiwiMHg5NkQwYTAwNDZhNTE5OEYxM0MyNjdkNGZENDM1MjM2OTk0ZDY3Q2E1IiwiMHg3QmJkQjhFQTFjNGI4ZTI1M0Y2YmZlNEE4MzY1YkJjNUI2ODNDNjhiIiwiMHhlNWIyNmFhNDczOWI2QjBGM0VDQjUzNjYyNDdBOWY2ODhCYzAzNjgxIiwiMHg1ZTRiMGYxODk2MjNiNTQwZTE5M2I0RTI0ZENhRjEyZjhlZTAyYTFkIiwiMHhEYzQ2MWU0RjNBNTc2MTEyMkJGODMzQTk2OUI0ODI1NDcxQWYyYzBjIiwiMHhjMWM3RkI4MzBkNDMzMWMzNTRDYjJhMDhCMjA2NUFlMjM2MTI3NDRjIiwiMHhiMEQxMzZDRkE0YTkzYTA1MDBCY2Y3MzZjRjU4QkQzNWYyQUJiYzVmIiwiMHg1ODdlOTZhMjgyNTBjNDU2QTkwODRFMjZlMjVFNmQ2MjY0ZDM5NDNCIiwiMHgxOUYxNTJmMUI5ZDIyQzEzRDJhOEE5MEQ4NUIzNTkzQzM1MmFGOTI5IiwiMHg0RjA0RkE2MWMyZGI5MENmMTQ4NDAxNDhiNzJCZEJmOUFhZDBCNUNCIiwiMHg2YkQyOUM3YzFGOTMyMUFiRjhhNWJCODM2OUFkZUQ3OTgwMTcxREY0IiwiMHgyQTIxYTY5ZjNlNjBjMzY3NDNGOTEzYUM0NWJjOWIwNDZBYTRCNzIwIiwiMHg2MWU3ZUJhQjhmMjI4MmJGQzQxMTkyNjQxMDQ2OTc0MkE5RjM1MTA3IiwiMHg3MThkNWJiMTY0MmIxRmZDMkQzMjc2MTNBNzczNTQ4M2VDQjZhRTdBIiwiMHhFOURBN2ZENjlkYjIyMEEwNDZFM2ZiMGQxNTU1ZTUwQTFiQjcxNTA0IiwiMHg1RDFlRmUwYjE0Zjg3MDcxMzU1OEUxOTJiOTZjMjU1NmY1MWNDMjA3IiwiMHgwNTQ4ZmRmMTU3MDRBODc5YWU3QTgwN2E2QTE1QTkwMUU0ZGI5OTZkIiwiMHg2YzA1RjA3NzY5YzVhMzNBODE0ZDllMTI2NUJhODBlNkVDYzU2MjI4IiwiMHhCQzY0NUVmNDllQUY5N2U4MjIwY0Y1NzhEOThhMGQ3RDdkQjMzNjcxIiwiMHg3OTZGNzk1MTI2QzVjQ0YzNWIxNzBCMTI0MkIyM2VEODZCRTBEYkQ5IiwiMHgyNTEwYTI0ZDk0MzA3MWI2NkZkYWY2YzA2OENFRjIzM0U0ZkFhZjc3IiwiMHg4NDEyMkFBRDVmYTI0NTMzNjIwMEY3NzEyM2VkMjZlYjMyOTQyNkExIiwiMHhBRTlmYkFFNDM1ZEY5YzllRDZGOEREMENlNzg5YzQxNWNhOUZiNzAzIiwiMHg5Mjc0MWExRDA1YjM3QzJjMTI2RUZFQkEzMjBGQzMwMWRkMDQ4RjVlIiwiMHhGNTU0NDFhODFCRDFlZDI4MDJDMjBiQkI5MUI2YjI4MDUxZTE0NUY4IiwiMHg5MDY2MjA5M0FlNkJDYTc3RWRjRDE1MzJhQjU1RDg0REJDYzk1NzRjIiwiMHgyOTU2MWYxRTlBMTZEZTAzRTExOTIzZTYwQTJDYzM4NTg1YTc4NTAyIiwiMHgwODYwOEQzM0YxMTMzM0ZkRjMxMDVkOGM3MkNEOTM3ZTRmMkEzODE0IiwiMHgxYTQ0NzcwODc4N2I5YjdkYWZENWFEZUI0OEZFQzNmRmM5NTg3NWE2IiwiMHhhMTYyNDYxNUM0Q0Y0NzREOWYwNGY4MUJDZTgzMjQ0YzQwM0IwMTEwIiwiMHgzNDUyQTdmMzBBNzEyZTQxNWEwNjc0QzAzNDFkNDRlRTlEOTc4NkY5IiwiMHgwRjEwMjhhNDg1RjFmYzRCMkExNzM3MzAyNjViMDY5MzNBNTM5ODAwIiwiMHhiNzgwRGUzRkVGYzcwYjY3MzQxOENiQ2M0YzRBMTcwOUI4NUVlRkYwIiwiMHg3YjdGRTRBNzdFYUE1RmM0Mzk4NzEyRTgzMDY5OTM1OUEzQkE5NTAyIiwiMHg3ODEyMjY2MTdFQzYxMjk5MjE1QjQzYWRlOThGYTUzYzFmMUIzODBDIiwiMHg3MUU0YjgzOWVmREREMWI3RWQ3ODY5RDRjYzYxRkFiYTliQTdmNjYyIiwiMHgyRTVCNDM0ZDk0M2YxNzI3MEU5ODUwMjYzOTk3QmRkMzA0NjA0NjRCIiwiMHg1MEQ3N0VFMzFhMzhFNDBmNTYzY0FBNzU3YjZkOGY1MDZkQzc2MzY5IiwiMHhBZDJEZDc4MTM0NzNCMTkzQjU5MjYzYzY5N2I2NTBCQzA3YjUyNzI1IiwiMHhDMzQzNjhDMzEyMTZDREJEQmM1MTdDQkE2ZEFFNDAxNWNmRGNjODhjIiwiMHg4Rjg1NDNhZTg2MzNEM0IwODU3RjdEYjQzMUQyYjdjNEIyRGQ2NGVCIiwiMHhBRjVBNDIxY2RFRDNGNUQzNzJjNmYxM0E5MjgwM0MxQTRlODUxZEQ4IiwiMHhjNWFENjI5OTA3MDdFQkVFRjkyNTljOTY5NmQzYjQyRTgxNWVFOTk5IiwiMHg3YTBGYjM5RUJkNjM4RDgzNjEyY2Q2NWFGZDk4ZDc1OTc4QzZBYzVGIiwiMHhhQTVkNjYwYjlFOGU1MzkwMjU2NWM3Q0E5MjY5ZDQ0ZEYyRDI1Y2MxIiwiMHg2RkU5MTYzRENEYmNFMzE5NzM5QTNEMzdCMzU5ODFhMzk2MzlBMDQ3IiwiMHg4ZmM3NjQ2OTgzZGZFYUZEYjU5Y2MxMUNiRDUzMTdiNkYxODI4NUE0IiwiMHg3QWFGODI5YjBGQjVkYjg5MzY1Zjk1NTQ3QTExNzg3MGRGMWFGMENmIiwiMHgxNDFBNDEzY0QxNEMzRkJiNUQ0MkI3MDZDMDg4OTUyODRDMDdjZjQ1IiwiMHhBNTg2MjYwNDYxN0ZDOEE1MDBhZTM0MjVjM0ZGQWRFODRDNjc5OGNiIiwiMHg5REJlQjI3N2M2NDcyM0M2Y0Y2ZmIxMmNkMDhlMUQ5RjcxZkM2NTA2IiwiMHgwNzMyNjhlMjJkOTBlOWVjQzhiMjg0OTNFRjZDODRFQUNCQWMwYTdjIiwiMHhmOWNBNDE3YTk3ZDg2OTU0RWMzRkI2Qjg3NTFGOTI5OTUxMUREMzJEIiwiMHg4ZGY4QjUyMTA4OEI0NkY5M2FjNzcxNUM1RjM1MkM3MzE1ZkZFRURkIiwiMHgyZDEzNjM0ZTBCMzlkZjUyOEYxRjkwMEZBNThjMDQxYTBGYTQxZUIzIiwiMHgzRjk4MTU2YmIzYzU4N0MzQkEyMWNGMDYwZTI2MTg4ODc4QjM3NTMzIiwiMHhDYUVhMDA1NDVENjQyMTZGMTY5RkMxNTdEN2VBMTA5MTBiNTZGQ0M3IiwiMHhhN2U1QjA5Nzg4Njk0QjI0NmIxNWQzMGNhYUMyZWNGODQzMzBGODZEIiwiMHgxOEJCNjc3ODQwNTY0RTY3ODI2NzAyOWE3MDU4QzYyNzAzODg2NmE4IiwiMHhFY0UzZDg4MzgzZDBiZjIyOTk4MTE0NDQ0MWFhMUQ1NjFlMGEzRjFFIiwiMHg5M0ZlMzU0NjNEMGZiRDI5RjgxQTgyMzRCMjg2ZkFFQWIwOTFBRTBjIiwiMHhlMGJCNzk5MGVGZDkwZDY2ZGNmOTc4OGVCNUVjNzZkOGE1M2RFN0UzIiwiMHgyMjE2NDYxOUY2YTUyRTYxM2RiNTAzMDIxZUVCRGREOTQ1M0Y1YjE0IiwiMHhGNzNhMkVDZjVkMkEwZGI2QjExMjQxQzUxMDg3N2RlQjZkMDdEZDhCIiwiMHhiMWQwNTlFMjE4NGY4ODc0MWJFNDlCMjg5M2QzMjgzODA2OTQxMjkyIiwiMHgzNmM0M0E4MUZDNzE5QjkwNDQwYTEwZjk1RDQ3NTQ1RjNFNDFBNTQ4IiwiMHg5ZEE4QzJFYzFhYzNDNDBlM0IxMDA5YWE0N0U3RTRFQzRjMUU2Njg1IiwiMHgwN0ZkNGJDZDM3RGIwMmE3MDA0QWRhRDc4MjQ4QUVmRjZkMTg3MTAxIiwiMHg1RjU4MDdlREFCRDE1NEUzMDhmRjNDOTZkNjZhN2IzNWJmMDZBOTc2IiwiMHg3MkYyOTNiNzY4MGVmOGRjMDA1Q2NkQmZiZWE3NEQ0NjlCM2RBQzM4IiwiMHgzNGNmNTVFMDM3NTg1NmIyNTdiRUFhNDJCNzAwYTAwYjFCRUQ3ZDc0IiwiMHg4OTBkOEI1YTk1MGUwREYzN2IwZTJkOTM3NjQxQ0IxRDYzNkMzNzQzIiwiMHhjMEM4OGQ4MzcyMzcxNzEwNjk1ZDJjMDIxM2VEMDU2MmIyOTIyQzhBIiwiMHg0NmNDZDA2RWJCM0E2NkU1YjI0MWM1YzA1N2U3NjIwMzNhMERGZDJCIiwiMHg4NjVkNmFGOTQ3YjVDOEMzYjUzNjU2QTZDNDQ4OWQ0YjQ3NkJhZjNDIiwiMHhhM0IyMDE1N0Y0MTVGNzgzNTEyNTdFMWM1QjY0RTFjOENmQ0VjMUM1IiwiMHhiMDU0OTRDYkM5QjI1RTc0M0RCRkFEMWFCOUZmQjVkRTBkMDgyNDI3IiwiMHg4ZDBCODM5MTQwMTljMzM4Y0YwRDQ2QUYzRDkzNDBmZjMyZGY3N2FCIiwiMHgyMzk5ZDFDRWYxQzgyNzdlMmJFMTRGNGY5OWQ1NDg4Njc3RGUwRkI2IiwiMHhGN2EwODgyYjRmZDczNDAxQzRlYjFhQTAyNDgwMzQ4RUIzZjY3ZDczIiwiMHgwOWQ0NzFlYWNGMTRDOGVENjg3OTEwOEM0MjE5MDVlNzAwNUE0QTNkIiwiMHhEYUFmOGEwRGExNDExNDk3MTkwMTAxQTgyN2Y2NDIxNTBlNDg1MGIyIiwiMHgxMDdmNzgxOTJBYjQwQUU5NzQyMGY4MDY0RkJmOGZjN2Y1NzhlY2FFIiwiMHg3N2UyMzlGM0Q4MGYxODE5RjAyRUFlZTM2ZTAxNWI5ZjQ5RTg0ODQ5IiwiMHhENTQ2MmU5ZTUxNzM5RDlENGY1MGI1NzYwYjA4QWUxMDBiNjg3YkU4IiwiMHg5NjY4MDViMjg2OGQ4N2Y4M2JCNDU1OUUzRDllMTk2YUNDODA1OUYzIiwiMHg0REQxMmVCQkRiMmM4MDI0MThmMjI5YjJlMzU5RjM0NUYxMTc4OTVDIiwiMHgxNDA4RDI1MzUzNTgzRDdiY2NEQjliY2MyNzgyOEZkOUJBMDI2OTE1IiwiMHgwZmNlQTg0YUNBNDA5Zjc3YTQ3OUUxNkZiMjhCRDRmMzA5MDhlMDY2IiwiMHg5NzBhMWM3NEFhZjM3MEZDOTJGMDZhNDJiNkMwRTUzOEUxNkVkNTQ5IiwiMHhiMjc5M2YwY2U3YjY3NDg4MDc5NmE4OTQ4ODIwNUM4RWE2YTViMDhBIiwiMHgxNjMyZDdFQTZlNjY3YUQ3MGI5ODEyNTA2ZjZkMTRiZTVGOTRkZEE2IiwiMHhEZDM0ZGYzQzFDRjA3NUU0NTAyQzJFQmJkMWNBNTk0ZDdBN2YyMDRmIiwiMHg4QUYyMjMwQTkwNDY0MzRCNTc5M0VFNTFmOUUxM2JjYmI0MWNBRmM3IiwiMHhCMzcxMDQxMEJmYjA3QzhDOGNmOGZDZWQ2OTI2NzY0NjFGZTlFNkRhIiwiMHgwMDk3NDQ4NGVmMzgxRDkzNUM0ZkY5Y2IzRmNjYURDOGI3NGNjMkJGIiwiMHhFZEIxODVkQzk0MTllNTlERjRkYTk2YmQ1MjM4RDE4MzQzMTYxQjA5IiwiMHgxNWNEODc2ODVEMzJmNzMwYjk1NTg0NENkN2UwRGEwM0IyOTBiNTNiIiwiMHg5ZGEwN2YwNzMzQzM5NTFmNUIzZDkxN2ZjM2U3MGIxYTc3NTA4NzJFIiwiMHhmRTgzODJkMGMzRTQ1QmFEOGI1NEVBNDRGMkNhOUZCZTg4MmMxODFmIiwiMHg1RTZDQmEyYjBFMUZEYzdiNzNhOTQ3QzJiYzM5ZmJEMjc2Q2Q4QTM5IiwiMHgwODU1RTY0ODU2MDczN0M2ODU3MTA0RjQyYTY0NWFDNjA5ZjkyY0I1IiwiMHhjNzdFMzBlQjAwMzc3QkNDMjdEYTMyNUFlOTQyMDY0RDUwMzlEN0RDIiwiMHg1NDI1NjY5NzcwNmMzN2JmZWQxYjJBMzA5YTY1RmNCODEwMTQ2MzAxIiwiMHgxMTE3NTcyMzVFQTA5MzY4MkU5MTFDMjBEOUVCRkNENTE0YzIxYTQ2IiwiMHgyODQ1NGY1ZGVGNTBhRDY1RjEzQjI1MzRGODU4YTk0QWM3MTRjMThhIiwiMHgyMjI0ODI5RDIxNjJmZWY0NDJhZUREQTcyQjQ1MkQwRjYzOTU3MGY5IiwiMHhlMDlhNTJFNWViZGI5Njc3NURkNzNCZGRjNkQ2MGYzODM1MjA5YUREIiwiMHg4Q2Y5RmY5ZmRGYjM0MDU1OTRFRTRBYTM1Q0QxMDAzMDk5NUY0QTg1IiwiMHhCYzVBOUY1NmNBNUI1QUE4NGU2MWJDYjc5NTFENDYzMTYwNjM2NTU0IiwiMHgxYzUyRDM0OWNCNUVCRjlDOThjQmY0NmIzZjkzOEVjMzIxNTA5ZjdDIiwiMHgzNWE1MDM5ODA2ZGJkQzY4RjlmQkI3Y0NCNjE2YmIwMzBGOGJjMERiIiwiMHhBRTJiQmJGY2NGQzQ4ZDcxYzQ1RDYzMTc1OTM5ZjNCZkI5MDk2NDA0IiwiMHgwMEI0OGY3RTQ4YUM1MzFEN2U1REE2NDU0RjZhZjFmN0FiODAwMjgwIiwiMHg0QTJBMUM2N2I3MTVDMzU2NzZEOTYwOWE0M0NDRUQ2QzY1N0E3OTA3IiwiMHgwM0Q4OWJmRWQwOTkyYUI4Y2U4OTgwYmJGM2QzOWExNDk1N2ZhODkwIiwiMHg0MzdGQkI1NEZhNTdGZkZDNDZFNjNEQjZBZDQxMjEyODU5OWNjN0E4IiwiMHgxRGI5MjZGQ0U3MkJkYTkyODEyQmZBY0EzNjNjNjJEMjdDMDVjZjZCIiwiMHg3YzhDOTc0M0RiMDliQzBDNkMzNDNmMkQwRThlNzk0MUNlMjUwM2E5IiwiMHgzNzJFQzA4MjViZGM1NUE3OTE5MDk2MEQ4YjhGOUJjMTdmZTUzNEIwIiwiMHgyOWE1MzgzMjEyODk3Rjk4MjE5ODdlRDdlRUVEZTc1NEE4Q0RkNjI5IiwiMHg0NjY3MGQ0RDhGZEZGM0QyZDdjM0Q4ZjVlOTBhNWVCNDVGYjMxRjQwIiwiMHhjNmM5QkM4NWFhNjc4QjEyNTVGMDE0NjdEMzE3QWNBYTEyM0MzMzAwIiwiMHgwNDZEN0VhNmY4QTc1OGFBYTE0NDg1ZUQ1MDM2ZWM2MjIxNGVGQjk3IiwiMHhBMTg4ODQzNmM4YzRjZTczRUMzYWQyOWYwMWFDOUU4YTJlNTQ5ZDcwIiwiMHhhNTBEM0IwNzQ2NkQ2OTdDZjQ0ZWMxMTc2NDQ5NDAyQzU4MTYzOEVlIiwiMHgzZjZhQzFhY2IyQ2IwYWM0QkE4ZmM0Mjc5Mjc1MjMzNmRiODRiMGQ4IiwiMHhCOENjQThDQzc4RTg1ZjZmNjdDRUEzYjIyYzQwMTExYWJmNjc3ZUQyIiwiMHg4NEQ1MGFFNDJFQjFlMDc2RUE2MjFkODhiNTA5RDkzODM5QTgyY2MzIiwiMHhjNjRBN0IyYzg5MzM0NWNGY2VEOTQ0M2EzZUY1QzZFODgyQjc4QzI0IiwiMHg3RjVBNzQwOUVlNTVBNGVBRDJFZDJFOTIzZGY4NEE5MjQ1QkE5MkEzIiwiMHhBOTFENDhjNEUxODcwZDUyZTE2OTA1MDBDNzk2YjU4N2UxRmE5QkEwIiwiMHhGRjRlQjQ1NDFDY2IyMDU4N2M3OGM4NjM5ZGQ4OUNiZTI1ODhhNGQwIiwiMHgzZUE2OTdDZDViMkM3YzUwRjk5MWY5RkViYjNlODUwNDlhMTAwOWY1IiwiMHg3RTJhNzIyRkM1MWIwRjY5M0YwYzYwYTQzZTY1Njc4N2YyNzUwOUFiIiwiMHhBRjQ4ODE5ZDgwNmMyOTJGRWQ4RDkxNThlNWFFMmU4N2EzOUU4YmM0IiwiMHg0ODkyM0MxMzM3QTRhMzAxNjRjNzU1NTZkRTE4NWE3ZjIyMjBhRmI1IiwiMHg4Rjg2OTgxOTU1Y2Q1OUU1MTIxNTBEMGRkMTQyNTc0OEU1NTZhOWQ5IiwiMHhkRjJkMmRjZjM3ZUZENjFlZWVhRTBDNDA5OEZjMDgyRWQ5OEY4NkJmIiwiMHhFMTA5YzZFRTQ1ZkREZUI0NjYzZDEzNDVBZUM4OEY4ODZENDcxMjBlIiwiMHg1NzM3ODhGMUNDNTMzMmQ5NTAwNzQyNWRDMzNEMDhEOTU3MzIwRjUwIiwiMHg3QjEwNUVjNjBhRjM5NzFFNjkxOTBmMjQwMjk2M0U4MDUyMjc3YTY5IiwiMHhENzE4NkQ0Njc3NEE5ZEMwN0ZBMTBlMjc2RmZhNEU4RTA0RUM4YzRiIiwiMHhiZjY0Nzk0MjE1MUU2ZEQ1NmRjRjY0MzAyOTlCOGFjNzVENzI3ZEEzIiwiMHg4MEMyYmIwQzY3Rjk2MTdjYmJmYWZkOEMzNzNlYzEyZjkyOTAzOTFkIiwiMHhGMDQ1NzkwZWUyNjFhRTc2RTFhNTFBNTJGRTA1OTE4MjIyMDk5YWViIiwiMHhDNThjMTE3RUIyQ0FlN2IzNzg5MTQ2NmExOGE1NTc5ZTEwNTAyRjRGIiwiMHgyQTFCZUNlNkIxZTUxN2YwMjVGRjFERTRmNDNGQTk1RDViQjNEMzkxIiwiMHhiNzY5QmUzQTg5QmE2NkJlQmE4NTFERTRlMTg4N2ZGMDdmNkQ2OWM2IiwiMHg2QkI0NEE3ODAwODI2NzZhMmRlZjRCODYxMWQwQ0QxQzcyN0NkMWUyIiwiMHgyNjQzM0EwMDVjN0Q4RTU1NWFlYUQxMjYyOTNDOUNlNDM1ODA2ODE1IiwiMHhGRTQ1NjU0MDhFMTlGZDZDMjYyOTBhYUFBNUQyNjdDQTk5QjJmMjY1IiwiMHgwODVFMkExNjQ3NmM2M2E0QjBCNjJkQkQ1ZUQ3MjE5ZDMxMDY3ODYxIiwiMHhiN0E2NDE3ZTRGQkI3OTY3NDU3MjNDMmE0NjIzMTQ3NWIzQzA3YzIxIiwiMHgyQjUzNDcxNkVBN2U0ZTkzRTI1ODE2RDQ1QTRFODlCNmYzN2UxMjVkIiwiMHgwNjYxMmRCMkUxMTk3RUI2Y0ExNDQ0YWNhN2UwYzFjRUU0ZjVDMzNCIiwiMHg1NjYzRjhDYjlFNzA3MGY5NEVhN0IzNTM2YjA5ODc0RjQxNEU1MTUzIiwiMHhFOTU2N2MyOTEwMjI0Q2I0OTZCRDAzY0QxQTZjYWJlOGRiQzY2NTE1IiwiMHg2MzZjYTVDQjAyZjdhYTM2MmZEMTEzNEY4MWJDMTZmNDZBRUVERUI4IiwiMHhjNzQzNDU5NjY5NUVmQ0I2YjQ5ZjcwNkM5OTBBYmYyM0NlRDlGMjE3IiwiMHhlRDRkMDMxY2Q4NEIzMWVFOEQ3ODgzOGFEYzdiRmRiQWU2MTY0MjBhIiwiMHg2RDU0MTY1NjdFMDliOTlEN0I0Yjc4OTcxMjlFZGIxOUMyRjEzMDVBIiwiMHg1QzEwOWE3YTJBNjM5Nzc0OEQ2NzFkMzc1OTYzOWVEMDdDNGQzNDRGIiwiMHhhOGE4NTA1MzMyOTJmRDVGOTUwQmQ1MDlkNjkyMWJiMDNhQjVlYjY2IiwiMHhDNmZCRDU0NmE1MDUyNjJmNTlCNzExY0M0NTMwYzQ3MTFjMzY0ZkFCIiwiMHg0NTE3MjhGNjA1YjdDNjg4Q2FlRDk5NDMyNWM4MEQ1NEM0ZUMyMjc4IiwiMHg1NjIwYjE1YTdlYmYxRTNlZWUzQmVDYTZlOUU2MzI0MjEyMDYwMDUwIiwiMHg5MzIxZjg4Rjk3MjNiMTY0Yjc5NmNGMTM0NGJmNkJkMGFDNTcxOEE2IiwiMHgxODM2MDUxOENFMUUwOTBjNTM5RjhCNDkxMTIwZTdBZDc0MjYyRkYyIiwiMHhCOEU3ODNEM2IxOTVEMmIxOTk4MWZGODBmMjgxQjY5RTVjNmFDQkYyIiwiMHg1NjhDN0Y1QmM4Q2NGMzA1RGQxNzFEMDhGYTFhNjg3MzYzRjE0NjI3IiwiMHhkNjVEQjBmQ2MzZDQ5MTQyNWZBNTcxRjgwNkZGNTcxQ2JFRTE4NzAwIiwiMHg4YWNhQzE5RTQzMUU5N2U2NzUxNmRDQjkxNGViQUUwMGIwMGU5MTdEIiwiMHgzNGFDMzRFM0NFOWMwZjRCQURBMDAxQWYyNTE2ZjQ3ZUU0OWE3OTVlIiwiMHg2MkI5NkViY0I1ZTUwYTczMDkxMzdFZDllQkQ1QjljODdGODg4NDBhIiwiMHhFN0RkNDNjMzYwMDZFMTMzNjQ5RkUyQzY3YzUwNjAwN0JjZkNiMTZEIiwiMHg2MGFBNzE1N2UzNUNhMzE0OUNGY0RmNjQ4ODk4OURjMzAwYzVGNDlFIiwiMHhjMDExYTMyMTc5NGU3NEY3MTQ4MzMwMTRmNDQwMEJlRThhN2Q3NTkwIiwiMHhkRTdBZDdGNjRiOEQ3ZDM2OTE0NUZBMGU5REM3NkVEY0ZjZDg5ZDY4IiwiMHgzOTI0MzJBZDE1MzNmQzZGQzU0Mzg4YjI5OGIzNTIzNzQ1MTNiRkRDIiwiMHg5MEUzZTY1NWViMzkxRDk2MjREOGQyNUI5NDljMUYyOGQxYmNGZTFBIiwiMHhFMmVEYTUzMDlBNzQ1NjU0ODY4RDYzM0ExMTUzQjI4RDg1MkYzMDg1IiwiMHg2RGY3NzE4OUY0ZjQxNmY0NTVlZGYxMDI2MEViMWYxODczMzVkMWNkIiwiMHg4MWQzOTJCMTRiMWQyNWRFNzMyRkQ3MTJFRkY5MEFiM2UxZkQ0NTkzIiwiMHg0NkQ0NjUwNjgxQzVlMTNDRENiMTZBYzE0NURFMjQyOTI2RTg5NThjIiwiMHgxZDA1QTkwQzI1Qzk1OWZBZmU0YkIwOWRmYzZkRDhlZDM0QTZkYjk5IiwiMHhjODk4RUM5MDg2NzYzNDdBYUY0ZDc2RTIwYjgzMTI0MkNCNTRiNWI4IiwiMHhlNzNjMDg2OTUzYzdjRDVlN2E0M0E5ODQ1N2Y0MWFENDk0NDg5QkRjIiwiMHhDMWEyYjI0ZGJDRWY5MGRGQTc2NUU0YmEyRTNDNUQ5RDViYjE1NDU5IiwiMHgwN2ZGMzQ4NTY5RTIwYWM5OTNhQWUxYWI1RTJmNEZBZDUyNzcxMjVmIiwiMHhjNWM0NmVkYzFDMzNhZkQyMjUwMTI2ZDlCQURkZThjODcxMTY1MmY5IiwiMHhFRjQ1MkY1NzA0QWMyMDg1MDc4YzkzOTdhMEJkRWZFODFmYzA0MjRhIiwiMHhjNDc1NDNCMjY0NzcxYkI4YTczRDYzMWVDOTBjMzNiY0FGMjZEN2JBIiwiMHgwZTc4NEJEQzlGZDg1QmQ0YTQxMjJGMTU4ZTNlY0VCNmQyYzg1YzNhIiwiMHgwM2IwMjUwQTQyMGI0YTFDMmEwNThCRTg1RDM4YTVhZkNGZkVEYTM1IiwiMHgyZTg1QkFBRTk5RjFCNDAzODQ2RjA3OEQ3ODJBQjA5N2YwOTZjY2JEIiwiMHg4YzVhY2E0ZjlBRTgzQ2E2QTNDRjExNjQwOEVCQjNkNjA0MWJjMTRlIiwiMHgxYUU2QzdGMkU1M0Q5MDU1MWVBYzE3NDY0RDBmNjNjODYzNkMxNTBFIiwiMHgwY0NEM2UyQWJkODZDNkZjY0FlQkJFM0YwOTY1MTRBZkFGQTUwZDRFIiwiMHhmQTJmYjgxMzdiZjExMDI2NTI5QWJENWExZDkxNDA5OWQ0ZTM0NEQxIiwiMHg0NkIyN2Y0MkYyN0FhZDc0NTZGZjIxYzczMDQ2ODhGOEY1YjdGZjI4IiwiMHgxQjRlZmQ4MTE5YTdEMkE3MGZEMzg4RWZhZWQzRjU4MEY2RkFGQkUzIiwiMHg0ZUVDQzE5NDk2NjkyMDQ4N0E0MEMzM0U0MDNiNGE1ZjZhNDMxNDY0IiwiMHhGODY5NjE5YjI2MWI4QzVDRjM2RGMwMDYwNDRlNTIzRWY4MDY5NjA5IiwiMHhkMzMwODE0OEZCMjkyNjRlRDI2RmZEN0RBMDQ5MTlBMjlBNGFEZDQ2IiwiMHg2YjY1RWZkQzY4QjAyNzYyMjBmMkM5ZmM4QmZmOTg2QTMwOWE5MkJGIiwiMHhBZjI1Q0M2ZTM0MUU5RmViNmNENTQxNUFGNGNCOEU0OGEwNTZERjNFIiwiMHhlRTA0OTFDNDdFNTE0RTljRmQ4RTlGYTA1MTU3YkRFNzc3ODYyOTk4IiwiMHgwMDE2RTdlZjA5OENFNTYzMzkyOTYyOTJEQTkyQUUxYjcyMjhENDMzIiwiMHg5MjFDNTJiRTk4RTE0OTQ3MmZhMDI4NzFCMDg5M0I2OWQ2YzlGRmY0IiwiMHhBRjc4QzJiRGI0RjRhM2M3YTI5OTllRmQ0NDRiZTBkNDRGMEY3Qzk1IiwiMHg5ZjdlNDRhOWYwQkU0MEY5MzJmMzlCRjlBYzNEMDQxMTVBNTE1OWZBIiwiMHhCZjAzRWMyMTAwYkM5YzZGMDI3NkI3ZjNEMkE0MzAxQUExYzUzNGNkIiwiMHg3Zjk2OWQxNDFDMzY1MmE5QjkzOEQ0MThGZmM5MDRkQkQxM0YxYTY3IiwiMHhjNGRlYTNDNTc5YUI3OTZGNWZERTZhRGI4RUM0NDQ4ZTk2OTQ1REYzIiwiMHg2NjVCOWRDOUE0ZDEwOTc5NzEwNDczYzYxOTQ5YmYyNzJmOWZlNDhGIiwiMHgyQ0M2MWRBMzNCYzY4ZTU0MUVEOWU0QmNFMDdBRDNGRDNkMzdmZjYwIiwiMHhENWRDYzdmMTA5NDY5NjFmNTQzNzc4NTg2MkI0RUMxRDJkYWM1NDE1IiwiMHhENTY3N2Q1QzY1NGIwODUyOTk2NkUyRWFEMDNBODE2QTY0NDgyN0FBIiwiMHhENTIyOEIzMjRkNWNBYTc2ODk5NmZEQkVDZEMwZDkxNjNlODVBY2VlIiwiMHhFRWQ0QUZiMUU5N2JDNDU0ODg4NTU1OTg1N0MyOTQzMTBkOGM4ODE4IiwiMHg0QWZGQkY4OGFkMGExNDFFYzQwMEI1ZDI4Nzk1MUE2NTFmNUQzN2Y5IiwiMHhkOGEyRjY4NmQzQTEyMzM3MzI1OWZDNGRBQTdhY2Q3YTg1NTMyODQyIiwiMHg5NzREODU4RTZBODA4MTBhZERiMzQ5NzdEMjE2QWVhMzczNmJmZkQ1IiwiMHhjQ2QwNzg3NkM3MDRBNjBERGU4MWFhY2I1QTg1RjM5ZTU4MTg4NGVBIiwiMHg4QTZjYTE4NDVjRWEyM0QxODU5QzIwOTRhNGZCOEM5MmMyMDY1MTVCIiwiMHgzMUNBNEI1ZTVEZENBNTRCMjlFMzY1RkM4MGRhZEZEODUwMGQyOTBiIiwiMHgwQjk4ZjQ5NENFYTkxMGNFNjY4MDdkNDY4N2VmNzQ3ZjEzNkQyN0JiIiwiMHg4N0JCNDJkOUQ0NTBjQ2JlMzQ1NDkxNTU5MGIzNjQyZTU2MjA1MWQ1IiwiMHhlMDg5NTcwMGJCMjcxNmU2MjgxRjE4RDc4NzgzMzEyNEJkRUNFNEQ4IiwiMHgwYWY1NDA3RGVFNzQyNDM5Y2I2MTNEMmY2OTE5RjE3M2YxQzMyZDgwIiwiMHhkNkRGMTEwN2FGZmE4RTQ2ZDRlODE1ODMxYTMxYzBDNzlhOTJGM2RjIiwiMHg4NkIwQ2Y0MzM5Q0Q4YTRGMTFiMmE5Zjk2RkZkMEJhYzhmNDdBMjMzIiwiMHg3YzllQjEzYkZlRDg1RTE5QjAwNDA0RTdjQTM2Mzg5ODMzM0FiRjk3IiwiMHhmODkyMGQ1RUM0NzQ2YzlmOTk5NDQxZUM2MDJDODViNzQ4QjEyYjBBIiwiMHhhOUNiYUY0ODBGNEY4Y2QxNTlCRjAyMjQ5QjBjNDI4ZTE4MDk0QTlkIiwiMHhBMGY3MERmNUI0OWE0NjkwNTgyYTY5NUUwRTUzQWU1NjY3QkQ2NWYxIiwiMHg1QTQyMkJFZGI4QjAyNkU2MThiN2ZBQTZDQ0I5MDcwMkJlYzlmQjJEIiwiMHgwNTViMzk4MDZGNzNiYjU0N0ZFMzBDMjkxN0IxODU1NDNhNDk5NDYzIiwiMHg4MGY1MmU5RDQ5MDVkNjYwY2U0NDQxOWNkZGVGMjUwMmJDOTlEYzY1IiwiMHgxMEEyNTYyZEE1MmEwMUMzYTk1OUFDMGQ4MEUxNWZkNmVhOTU0QTM1IiwiMHg3MUFhNDRjYkVkMkNBMTcwNzdhZUU3QzUwODdlODZhNTNGYzAxZjZFIiwiMHg5NTFGQTAzMDY1YUE5NzMxRTg3QzkxOTI1OEEyOTRmZDBDRWU3NTYzIiwiMHhlOWVhMEU4OENENDhDZDJmN2Y2NDBlOUFBQmI4YWMyRjFjQmU5YjRlIiwiMHhFMTAzRjkzZTI0RGZlNDJEOTU1ZDQ1NEM3MUU1NTkwYzM2MWEyQUI0IiwiMHhjNjhjMWFiM0VDRjU5ZDg3NDg2MmNiMzgwQjU5ODMwMTVkRDUyQjBCIiwiMHhCRDBkMzFFYmIxYTQ1MjRkMDM4MjlmNzYyODBhRkZGNTY0RTQ0MTRmIiwiMHhiYzJlNzkwMDMwN0NCNUUwNzkzNzM1QjkxMDA0N2JkRTA0ZjA4OTI2IiwiMHgzREU4N0M1QTU4NUM3YzdDMGQ5QkI0NjI2N0MyNTVmMEJCMzQ0NDU4IiwiMHhGY0VFRjFBN0RmQjAyQTg4NGEzRjJlNDk5ZTIwNjU2ODBjNzVBODgyIiwiMHhjRTQyM0Y3NEM1MEI2Y0M0MGFjODAyMWVDODc0NWM0N2FGYjMyNGQ1IiwiMHhEQUY3ODFiRDM1NDNGRUI0NGNFNkI1MTRGNTZmYzJkNzY1MWNENDc2IiwiMHhmNDczZjM4NWMwZEJlMDNhMjc2NjE1RGU2NEM2OWJjYjQxQzY1MDkzIiwiMHg0ZDMzQzVhNzhBMGI4MTQ0NmE2NWE5ODE5NmIwNzljMTJFODdlZTk5IiwiMHg0YkZFYTIzODkyRUI4ZTI3ZGUzRTVhZjAzRTIzMUM4MjA5MkRkMzZEIiwiMHhBOGEyMDg0MUQ5YTdGNjRBQ2Q5RTZDODc1NTZlZGU5RDQxMUMxRkU3IiwiMHgzRjUxN2RDODIxMDEwYzhDZkUyQTI2MzM3NjVmNTczNEQwQ0ZCNjY4IiwiMHhCNzk2ZTBEMTZjMjNkNzFiMkIwNTY0ZDZEQWZGOEE5ZjdDQ2UxNDQyIiwiMHhlNzQwZWQ3REI0OTJhMTk4OTk4ZjAxQ2JGNEJGREE2RjBDNjAwMzU3IiwiMHg4M2EwMzFhNDc5YWMwYjhhZjY0YTNFNEY0NkQwMmMwNzBjYUFjMjlhIiwiMHgzQTY0YzNCRjkzOTk1YjAxNDM4ZjY2RjhiQkM5NEQ5RDAzMUZhNUFGIiwiMHhFNTg2NjhGQUIzZjJhODFlMTMxNDQ3RjJjZWFEOTk4OTRFNGU0YzgzIiwiMHg0ZjA5MDA4YTNhOEM2OGYyNThjQzFmYTE3NjIxMzQ2ZDZjRmM2RTJmIiwiMHgyMDExNTNDODJmOWJFMDQ2MGVlNGMwMjRlZmY2QjFBMmViYUExOTNjIiwiMHg3YUQ0MTI4MjE4Njk3ZTljNjE0MkUwMGZFMTNhYjM1ZjQyMTI4RjkzIiwiMHhlN0QyNTRFMDI1Q0RCMzZjOTNiNjE3MzJmM2E3ZTU1YTE4ZGJjMGMzIiwiMHgxODcxMjBkMDlhOTBEMzFEM2RjMjVmMDcyNjJjRjVCOTZmMUVBRGNlIiwiMHgwNjY4Qzc3NGZkM0QyQjJERUUzMjM2ZjA5OEIxNTg2NjVGYTY2NjJGIiwiMHgwOTZEZjI0ZEYxNWIwMDg5MWI2NDdCNmREQmUzZmM4MjU4NDFkMDkwIiwiMHg1ZTgyYWNEYjA2MUQzM2YzZDBjOWRFMmU2Q0YyMzA1ZEFEY0FGYjdhIiwiMHg1NDc0MjUwYzlCM2RhZjk2YzQyRmNGMjkyMTU0NzdEOTY3YjgzMjlFIiwiMHgzOWI1M0E3ZDAyNTNEQjcwNTY5RUNENTYyMjVlMUU3OWFENDk0Njc3IiwiMHg0RDk0MUZjQzU4NzZCNjFGOEZkNzE5QzVhOTNjMzYzNkUzNjQ2QjYyIiwiMHg0YzRFY0NFODMwNTY0NzBCOGRBREM0REZhZTQwYzhFMzQzNkZkNjhjIiwiMHhCNzJmQkQ4YTgxNDdlQzgxNTk2QWIxMDBjMTc2NzA5REZCOTU0QzhjIiwiMHgzMmU0YmI1MWY4RTVFRjVjZmYxODhjNThEOTJmNERjNzdiNTU5ZjdGIiwiMHg2NDhFMDEwOTFEMDE5Q0RBOUFFMEI4ZDJjNjI2YzA0Njg1ZkJmRTQxIiwiMHhFNTNEMDc0NDQyYkFEOTMxYTFBMTE5MkRCNjBEZjRGMWNlMzE0NjBhIiwiMHg5MzAyNmY1ODQyZjNENTA1RUExZjY4RWU3NThlYzdjMjg5NTkwRkY4IiwiMHg5OUNhQzIxMzI2NzUzZEQwYzdlMEE4N0Q4QkFjZUE5MzZiMkU3Q2FCIiwiMHhiMGIxZDc3QzU0NzAwNzE1NThlMjYxNzAxMzhEMjk4MjRlNzI5NDZCIiwiMHg1QzllRTY0NmY4OTMyQWNhOUQwNjUzQmM4MDFkOWI4ZUUzMWIwRmRkIiwiMHg1OTQ4Q2JCNTExRjZEMzdGNTYxZEI0ZDlDNjhGZDZhN2RjZEY4NzMxIiwiMHg0MjU3NjJDN0REYTY2Y2I1NTg5MDk3ZDhENjFFQjM3MzA5QTFENzBiIiwiMHg1MjdjZjMxYUMxNUVFYzQwMDc3NTBGNjNlYTc4M2U0MTg5MmY1MDY4IiwiMHg2OGZmODczYWI4MzJBMzc5RGFjODBFMTkzZDdBMzVjY0ViNkZiOTU1IiwiMHgwRjg3NTAzOUM1MjA2OTlhMzIwQzZCMUQ3NEQ5NTQ5NzM2NjQxNzk1IiwiMHg0RUQ4OTMwZTQ1Mzc5N0M1RGNlMEQwZjdjOTUxMzNCNEIyRTIwNjFBIiwiMHg2NjJjRWQ3MTIxYzMwMTg3OEQ3MjUxMjNBOTYwNjRDQWVGOWM3MGUyIiwiMHhjOWEwMkQwOEVDNmI2N2NBYzExMkY0NjcyY2FCNDEzYkEyZUMwN2JlIiwiMHg3YzgzMUVFMDNFNERCNzU2MjJhM0IyRjc1Mjc1RDcxREY3NWJhODlDIiwiMHhGNjE3Q2UwMzFjYzZGRGJiNjg4NjkyODFCMEYzM2ViNjIwMGVlRTQ2IiwiMHhkNTUyMEQ3MTBGRTM5NzU3NTcyMjI5NjA4YWZEQ2EwMjhENjc5Qzg1IiwiMHg5QUI3ZEE4QTc1NERkNmQyMzc4NWE3MDJhM2JGYTJCMmQ3MWE4MWJFIiwiMHhBODlFMDU4NWQ0NTNDQWMyNUQ4MzU3OTVFNmJDRTZmNkJhMzY1NzcwIiwiMHg3OEY2MUM1MzhiNEYzMzdiNDEzZThFRWJjRUIxYWFEMmM3OTI5OGQ3IiwiMHhEYTBlNDQxZkRmMWJGOWE4QzNGMzBEMkMzZDI5NjY0QzFlMGI0MzY5IiwiMHgwNWFCQjdEZTg5N2I5MTg5NUQzMkQwYjk0YUY1YzgwNUU4ZDVlMDBiIiwiMHgyQzgzNjUzNzI4OWI5RTBEY2NCZjVhRjRlNENkZDNmZTMyQjlGQjI5IiwiMHg1Qzg3RTIyREQ5MTZhYjg5YzFlQzc1YjViODI4YTc2NDAwMDdkQzI2IiwiMHhiRjJhNDE3MjlGNzI5RDU0MmRCQUUzRWE4Q0Y0ZDZCRjU2ZjU0NmY0IiwiMHgzNDM1MDAxYTlkNWRjRTI1NDAzNkQxMTU5QWE3RGJCQzNENkEyQzIyIiwiMHhjODNEOEE2MjU2NjM5ODBlZGNkODUyYTdCN2RBOUFjZTE0NjE4MWVFIiwiMHgyYTQ1ODdkNTNCNjhhMzExRDdkMjI3NGJBZDc3ODI5Yzk0M0I5NTY1IiwiMHg3RjJCOWQxQjJhMjhCN2I0OGJkZEIyODVGQTlDQjgxMTk1Nzg2QzMzIiwiMHg1Mzg4RjQwNjYwNDFkRTBEMGFiZmYwNDE2QUZiQkY3MDY4M0I2YzkwIiwiMHgxZjc4NDlGNUI2OTNDMzRDMzJlNjY5N2ExOWM3YjI4Nzg4NzhkMUIxIiwiMHgwQUEwM2VBNUE5NDA1N2U2MjQ1ZjI1MzBBZjBGYWYzMzVhOEE3YUQ1IiwiMHgzRDk4RGIwODJkYThlRmQ2MzU2RjYzN2E0QjQ4NjFmN2RjNzU4MTc5IiwiMHhCZUNGMzVlM2IwYUM2QjZGNzRjZThjZGExMzdiMTFiN2M5NjA5YkVkIiwiMHhDMjQ1ZDJGNDZFZEIwQkNEMEY1ODhhODgzYWQxMjc5MTA3NzFkZEQzIiwiMHg3MDE2MURkYTI5MEY3OTQ3RmYzMzk5Mzc1MTk2MTJERmY4QUM4NjUzIiwiMHg5QzhmMTM0QTA2RDY5ODUwQzI4MDUxZTM0OGNEZjI3MzNiMDUwRTQ3IiwiMHhmNDJlMEJFMzUyOTEzNzRGYTE0QjM0NjIxNmNjQ2Y3MDc4Y2ViOEQxIiwiMHg2YTE3Nzk0RUJFMDFGZTE2Q0M0ZUYwMDQ5RDYwNTdjMUMxYzMyMjE5IiwiMHhCMmZGQzVkQmVCODUyMWZhNjdCZDk5MDg3QmI0NWUzQjBmNWE5ZTQ2IiwiMHhBQTUwRDM5RURjOTgzNUZBRmYyNDI1NTk5ZTVlYThiQzQ3NzNiN2E5IiwiMHgwM0ZGRmJiYWVFY2FBMzE1REQyMkMxRDZGNWZmOWM0ZkU4MTRkZGIzIiwiMHhDQzhFZkU4MDBCNTNBRDZkNDc2MzQ2ZTE2MTQ5MDJFYWNEN2I0YmQxIiwiMHhFQjE5NjFhOWRBOUI3OTNmZDYzYTU1MTk2MTQxM0E4MEI2YjMxODIyIiwiMHg3NzczODJFQmZEMkY1MjcxNGE1MUFFODYwZjk4Q0M4MUFhQjEyMjg2IiwiMHg3M0ZiMjUzNjgxQzJhMkYxMUM5RDVDOGU3MzFiRTQ0QTNGNDZCMzUzIiwiMHg4MEU3MjQ1ZjE1N2E2ODJhMGRmMEY2QUNjRUMwMjZCQTE5MDVGMzc2IiwiMHhFQTczMGEwZTkyMzEyNUJhRDE3Mzc4RTlmRDlkODBkMDM4NzUzYWQ4IiwiMHgwOTM2QjQxNjI0OTAyODAwYmJDYTE4NjVCNjgwQTgxMjViMTVEMUNjIiwiMHhiMkE4MmJkOTc5MUU4NTUzQ0VFODRmMDZlMjAzMDRCZDgxRTQxZjQ0IiwiMHhmYmFmZTNDODY5OWY2NDc0QTgxNGU3NTY4NzMyNDcxODNBZTBlMzY2IiwiMHhBODJFZjQ2ODREN0NkMGJjMEY3NzM3MGFiMWJkZDc4Yjg5M2ExYTk1IiwiMHg1MUYwNDc4QzJlNTlhMkIzNkUyRjQ0YjVCMWUyMTk1MDA0ZTc4Y0UyIiwiMHhFNjNDRmNjYTY0QjU2RTQzRmREMjEwQzQ0QjkxODQxZTcxQUUyZTMyIiwiMHgxYjM3QTU5NDk1YmExRDcyOTY3OEM1NzczNTI5MGIxYTI1M2E1YzRBIiwiMHhjNEUwMTNCOEVFODk4QjQ5ZDRkRTVBQTBhYjI1ZjgzN0U4YzIwNmIwIiwiMHhhMzU0OEFBNzEzNzhiMDg5NjZEYzgwODY1NDM4YWMwMWE5MjlFOGE3IiwiMHgzMDg2MmU4YjNlOWVkYTUyMjM1MDc1ZTdBOTQzODE3NzJFRDk2YjIyIiwiMHhENjNGN0FiOTRCNTI2OTI3NmU3Mzk0NkVkNkNFOTAyMUMwNjMyQjg4IiwiMHg4QzE3ZDE3REI0ODZjZDY3NzA3Q0NkOGU1MjQwNGYzYTEyZmEyMzI1IiwiMHg5QzE3NTc0MDE2YjQwZkExNjdmMTAyYzMyNEIxQUQ3OEIzODU3Q2NCIiwiMHhmQzNENmNDNGE3MzJmNGQwNzNhNTI0NkE0MjVhQzliQzI0OERDZjhkIiwiMHg4NjEyZGM0ODNCMTkxZjE1NkI1YkY5M2NCRjM2YjljMzZhQ0VFYzczIiwiMHhDMDI3QjBhYURiMDIyZmM3Yzk3OTIzMzk4RTNBMjg5NGM1OTU3NTA2IiwiMHhjM0ZGYjlCNEU0NUMxMTBFZUZjNDRDMzczMTU1OGE5YjhBZGYzNDNjIiwiMHg4OThENGUzYjI5NzhjYjZBM2M4MjZCQzQ4NUU1MTlkYjYyYzc5MjMwIiwiMHg4QzU1QTAyY2IxNjVlNWIwRTdlYTM4MzlFQmRFQkQ2MEU1ODdmQjY3IiwiMHhhMzM4MEMyY0RkN2ZlYWJFREViM0JCMUJGOWU4YzlmNGExMWIxNDJhIiwiMHhmNEFhM0NmM2Q3MTMwNUM1NDgyQjU3MmEwMDlhQUFmYkVENzUyYUYzIiwiMHg2MTg1N2JBNDA3NjRjZDVDMTczMUMwNGU0ODljNDdCMDkwQTdmMjcxIiwiMHhiRUE0YkY4OWI3ZjQ2Mzg1MDkxMDIyMUI2MTFlNEUyNzgzNzA1N2RjIiwiMHhBZmE5OTVFYTA2YkZhNzdkRjFCM0Q5YWEzMWIxRTQ0MmQwRkM5QkY5IiwiMHg3NTk5MWZiYzVhZjM4OGVBYjBBOWQ4YTViMTI2ODJCOTgzQzU4M0ZjIiwiMHhFM0VmZDM0NjVmMzU0Mzc1NDg0YkE2NDg0MDhCZDNCNWY4Mjc4ZUNFIiwiMHg5YWExNUI4OTkzMzExMDg5OTg5ZjYyNzJjMDg0OUUyNTFDQ0ExRUY3IiwiMHg3N2Y3OTM2MzY5NDQ5MTg5ZEFCMjkwNTU5NDgxMEE1OTI2ZURBOEU1IiwiMHhlOUJlQjk0MzcyNzU0ODYyRTNkMDM2NzE0YWQwYTA3MDgyMTQyNjUzIiwiMHhFMjhjOTk4Nzg4NjZBMTkyMkNBOTMwNGM5QjYzZkI5QmY1ODUzNDVlIiwiMHhjYzZEREQ2RDVjREFmRDhDMzJCMzAzMWQzOTNkOGRBMjgyNTk5NzVGIiwiMHg4MTQzRkZGQmVDOUMxMzdBODhmMDM4ODM2NWE0N2YxMjk3MDg4ODA2IiwiMHgwMGMyRDUwQjg2MkMxN0MzODc5NTAzODY3YTQ3OWQwMTJmZWFiODkxIiwiMHhhRjkxMDBjRkZlODQ0OTc1M2U0NDA5NjQ1MTI3QzdDODJERkU2MDJFIiwiMHgwNjQ3NDNGZkEwMzgwNGRGNTdkNDIyYkVmOWQ3NmMxMDhlMWMyRDZFIiwiMHg4Q2MwYTk0OURGOTg0MDhjZTEzQkU1NjBlYjNhQ0VmMDczNTM3QmZCIiwiMHg2NENhQzhmYTI0RjQzN2NFQ0E5MGUyMEE3YTI0YTYwOWYxNjJiMEQxIiwiMHg2NkU5RTI3MGI1OGY2NzQ2QmFmM0M0YzhmQzgwQkVDRkRhODEzNTVCIiwiMHhlMDc5NTJDNGE2NmVDYTBjZjM1QzgxQTU4M0JCMTJEMDFiYzc2Zjk0IiwiMHgwOGJlNzY2OUY4NzBFNzA5RDYyNTMzNjBGMzk5MzQ5YWZEMzFBYjdkIiwiMHg0YTU1NTBiNDczYTI4YjA0N0RhMjVDMDg2QzlBMTc3NjZEOUM4NUNlIiwiMHgwRDQ4YjNiODE1M0JBY0MxQTcwMzkxN2M0YmMzOTU4OWNBMTdlMzEwIiwiMHgxYjRjYzdjMjM5OUM4ZjZjNTk3NzA1MEI0MDcxNWIzRTY1OTA3OUNGIiwiMHg0ZTViNzk3NEU4MENEQ2JiRDkyRjY1NEUyN2FlYjU2RjM3ODc5MzgyIiwiMHg1NGZFYkZDNjE1RDkwYzhCM2U4MzZDNmU1YWVBQmJiNzM0ZTE2NzJGIiwiMHg2MGZiNWIzNDEyYmU3ZThjYTk3NEE0MEMwREVGZTRFMTQyYzZENWE0IiwiMHhiMTIzZjJBRDI1OGNDMGY3OTk2MWY1OTc4YkIxODExNTBEN2UwRmIwIiwiMHg2OUMwRmQ5YmNGMzBCM0VhNDIzMTZkQjIwRDBEOUZlMDBmQjlGMkNjIiwiMHgyMTZDMTRmZDY2NGExMDE2NWQ1MzNFZDI0ZDkzOWJENDNhMmFhNjkxIiwiMHg0NjE3ZWExMjU3M2I1MjFCNDBGNDJjOTI2OUIwQjNGNDkzYjRDNTQ3IiwiMHg4NTM3ZDI5MjcxYjY4OWVjOGU1NjNBZTZkOWU5OTEwNzAxRjY2MzJmIiwiMHgyRmUyMTI0NEQ1MDMzRjk5OTRBMTNiRDFkZTA0MDg0ODk3OTEwNkI0IiwiMHg4YUU4RjA4MEJiRjczNjI1MzZlQ0ZBODdiMDQ0RGRDZTRCNkEwOURBIiwiMHg5MjM4YzEyMjU3MzA0NThlNTJCMDUzZGU1MjMzQ2VENjJiNzczYkFDIiwiMHg3YjQ1QzQ1RjRERWJjODhmMmE5NEUwNjc2RjkwZDFFNjI0ZjA5NzkyIiwiMHgyNzJGOTY2NEVmZUZDMUY4NDdEQTNkRTViNzM0RTVGRTM5MGU1NzhmIiwiMHg1Qjc2OGVmYjkyMDNEMDg1NjJiMjBkOWUwNGJkMDlEZWI3ZTFkM2M0IiwiMHhlOEM2ZmIwMkNGNUMxQmRjYTYzMWFjOTkzRUJjYTliODQ4MDNkOWNkIiwiMHhlRDJCOEIwNDJBNDA2N0VlN0U2RDI1NDRjYTY0RDNGMjdFYjEyRjAwIiwiMHhiODQ5N2I0OGE1ZTU5RDNBQjUyNDUzNDc3MGNhNjBBQzViZmRiNjVkIiwiMHhFYzQzZjk5NDA1MTdkMDE4ZTA5NTc3YjhFYzc2Mjk5ODNDNjQzMTI0IiwiMHhCZjVmRDRhM2RGMzI0NDIxQTFEOWMyNUU1NTk5M0QyMTdFNzhjNDQ5IiwiMHhlRjk1MzgzMzE4YzcwRjk3RkU0ZDE4MjI0NmY5MkY5NTNEYjgzYUExIiwiMHgwYjE4OTUzQjJkMjc2MTE1Mjc1NWRCYzk2Nzc0MmVjM2RlNDI4MGNjIiwiMHgxMEU0ZDMwMmVmODc5NDJmNjY5YTdBYjI3RjcxNENmRjE1YjYyNEMzIiwiMHg4MTAyNjdFMGY2MTY3MjExNjFmMTg4Q0FmZGYyNmM4YTRFNEE3MjM1IiwiMHhjNTFjMTc5NUM0OTNFMzlFZmY1YjVCOTRlMzEwQzg4MjBlODZGNjdiIiwiMHg0YjQ0YkZGNEQ0RTVCNjljOUE2ZTNkNjUxNUFCZmJkMGIwN2I1QWQ3IiwiMHhjNGVCYkRBMjhCQTZEQjAzNjRkNDNBQjQ2RDY1YTE2QmZCMjNkYzBEIiwiMHg0M0Q5NTQwZEIwODMwM2IyNDk0ZjExMEUyMUVENzAwMjM3NDZBZWNGIiwiMHg0NmU1MTI1MTdDRjdFNGQ2OWQyQTNDRTZFNTJFYjVhNDRCNDk1OTU1IiwiMHg4MDVEOTA5RkU1ZkE4ZTM3ZUZFRWVGNEM4MkQyYzY1RTc1Y2YyRjdkIiwiMHgwNDYxNTk0OTRjODE4YjU2NTc2N0RmOTZhMTBjZmI4N2I2ZjAzRDM3IiwiMHgwMEU3NjE4NEQ1ZUMyNUMwYkZGQ0M4YWFkODdjRTQ1YTQxYjQzNTg5IiwiMHhmNTZFMjcxYjA4NzYyMjg0Zjg1NjZmMzQ0ODQ0NDkxNDM1QjY1OWEzIiwiMHg3OEYyMTRkRUU1N0Q0NTc4ZGIwNGYxMmYxODcyNkZGNzFmOWQxYTM0IiwiMHhhQmY3ODczMzUxRkY5MDEwNjlhNzZENjg3MGM3Nzk4QjZGZDEwMkRiIiwiMHhlNjQzNzgxY0MwN0U2MDg1OTgwQUFmNzZlMjMyMzUxM0Q1QzEyNTFGIiwiMHgyYjA5NTk2OWFlNDBCY0U4QmFBRjUxNUIxNjYxNEE2MzZDMjJhNkRiIiwiMHgzRjhBQjVjYkVkNTI5NzNiNTk1MzM0MjVmNDc2QTlmMGEwYjJCOUY4IiwiMHhkNDgwMDA3NjQ5N2FCYWE4RjViMTAzOTFGMTI5NjJlQUMyQzgzMDdhIiwiMHg5NjZkZDQ2ZDlGMDk5ODZiQjc5ZTZmNmQ3RDRiQTRBM2VFYzIyMDUyIiwiMHg3YmM5NEQ2NkJiNzE5NEJlOTZDNjNkMDYwNjIwMkQ5QjczNDZEQjdlIiwiMHhjMDc5YmMwMjkxNTc3OUZDM2MyNmY1MDk1NkFENDdFMjgwMENhNDQwIiwiMHg2QkU3YTZGZjcxOTJiMENiNmJlQTJBNWVDNEEyMEU5QjIwY0NGQzJlIiwiMHg5NjdBNGU0NjVENTRjZWJCMzM0MDM0OWFjOTBkYWFhNzU2RmM2OUEzIiwiMHhBYTgyN2I0Y0ZlODIwYWYzMjJlNWRmMjcwNEJCMzEyOGUyOGRlQzA0IiwiMHg5ZjNkZUU1MGUxNjEwNDlhOTMxRWI0QzNFNDIwZkYwRmJBODc0RDI2IiwiMHg2OWFmNTIzQTI3MUQzRmUyNDBjYzk2YmU1MzQ4OEZkQkMzRTkyMzM2IiwiMHhENUMxQ2EzYjU2RTVEOTIxYzRkMDIyQUVhYzc3NDc5QWVFNDUyQWE5IiwiMHgwOUY1NjYzM0E0QTgxODE5MWZmQWQwYjhiNTQ3MTQxMDhjYzg2MDU1IiwiMHhGQjQ3NUYzOUYyMTBGYThDM0M0ODBDMkZFODcwZTlmOTlDMzliZjQ5IiwiMHgxNTYyQTYzYzY2YTFmMDhjYjgwRjkzQmFGMWE0ZjFlQmE5OTJFNUFkIiwiMHgzZkFBMDg3N0M1RjZCZDkwNTQzOGNDNjcwMzI3OTEwNjhiNjIzMjczIiwiMHg0RmVmM0NBYzUxMERkQ2MxOTBGMTEwZkVFZDllZjlhOTBCNmVCOWVBIiwiMHg5MUFBMWE1YTc2OWVFM0Y1ZjE2ODMwNThjZDEzOEMwM0EyYzc3MjEzIiwiMHg5RDY5NzU1NDM5QzljYjlDYzQ5QmI0RjQwZjA2NzcyYUZhNzgxNjE0IiwiMHg1OGI1QUFhZTc2MWQwMmE2MmZlRjQzQUIzRGVFNzcxMjRFOTk1NTJBIiwiMHg1MDA5OWVEODIyZGQ1MDUwOEE0NWI2OUQyNEE3MTZkQTZGQ2Y3Q0ZiIiwiMHhDMTQ2MjZGMzc5RTkxMTI3NDg0ODE3MEY2OTY2ODcwQ0NiYUMyOTUyIiwiMHhlODliN2I2OUNlNmI4MDNCMDRBYjZiMDBkREVDNzVCYkVDODE5MWFmIiwiMHhEMjYwOEZjNDhCNmNCODZmZGY5NjEyYzFlZjRDMTQxYTc4NjZlMkY5IiwiMHhDNjBmNEE1YzA1MDE3OTc5RjZDNmM5NEI0ODczNWZBYzU4QzMxRTk4IiwiMHg2MzIyNTIzNEU0MGUzMzI4OThFMWMyMkYzQzY5MzY2OEU4NUMyNEQ2IiwiMHgzMTQ3Mjc2M2IxMzFjMjJFQTMzMDI1MjU0NDREZTcxMDMwM2M1RkM1IiwiMHgzYzVFMzRhNGQ5ZDdkNUJBMTIyRDQzQkM1MzVjYmViQ0IxMjE3YmMwIiwiMHgxNmJDOTZiZjBmZDA1MTM2NDgwRUI0MDQ2OUZDNUYyRUM4Qzg4NTI4IiwiMHg1NTAzMzRjOGFlMkMwNGFFNmFCZGJGMWQ4MmZCODJGZkIxRWEyMjY0IiwiMHhFNGY4RjNDQjliMzMyNDc3ODllNDk4NEE0NTdiYjY5QTFhNjIxRGYzIiwiMHg2NWVkMjdjRDk3MDdBODhFODkzODA0MDhkODBlMTRiN0EzNzlFRTU0IiwiMHg2NTA2NjBCQjg1NWUyMjQzZUE4MTBCMjJDNkZBMmZFREZmNmIzRTMyIiwiMHhGOWI1QjkwOEYxNTg3YzY0Y0JkZERDMjU0REMwMTVCODkxYjE0OWYyIiwiMHhBMzI5QTAxNTUwNjI1ZTNhZGI3MDYzRTg1YzMwRDYzZUFBOTc0ODgzIiwiMHg2ZTdhOEU0MEEwRGY0OTk2MDE2MkI5MDY5ODlDYzA0MjU0ZTFhMEQ1IiwiMHhlMmFmRTMzYWE5QTc2MDYyYjgwRDM4OWRkM2ExRTMxN0ZlYzkzMzI5IiwiMHhGOEVjN2JmZWVBYTI5NkM1M2ZlQzE0Rjc5QzczMDI4ODIwQUQwMENkIiwiMHhCNDE1ZEJkM2E0YzQ5ODI3N2EwRUJiOEIyMUZGOEY1NmFlNjdDMzBjIiwiMHgxOTkxN0RCMjdiRDM5NTg5ODY0NDYyZTI2YjQxMzgxZDE3ODM0NjRCIiwiMHgxMzkzODQzNzVBRWNiOTQxRThDM0Y1MTRGZjM5NzhmMGExZjNCNjhmIiwiMHg5NTI2NmM4YkUxN2IxMkNBNTcyRWZjN2U2NTY2OEExNDUyOGFlOWU0IiwiMHhDRjE0RDFhNEVlN2I5MkMzOWY0RDJEN2ZBNjhiM0Q0MjlhNDk4NzUzIiwiMHgxMDI4NUQ3ZTJDNDU2REQwOTU2MzE0N0NBYjJBNzA5MTkxN0RhRTFkIiwiMHgzYUE0MUYzQTM4NzA4NjA5RTY0ZjA3N0JkODQ3RjY1ZjI2ZjQxRDUyIiwiMHgzQ2Y4ZTBlQTIzZDZhYjVBMTEwNEQ3MzY3RkZCRjQ0MWIxMDU0YWQxIiwiMHhEZjI5NjNDMjRENDdBMUZkQTc3ZDU4NDk3QjAxMjU3OTU4MERiNTU5IiwiMHhFODQxQTFkNjRlMDM0YzJlNTc4MTY5MTFmYWZhMzBjQTNGN0NhYjUwIiwiMHgyRDdEYzllM0VBMWUyODJlQjA3ZkJGNmIwOTQ4ODJBMWJCOWE2NGY5IiwiMHhBNTdDZGRFZWYxOGIyYWI3NjNDZTlmQjQ2MkJiNGNiMjNlYzBFN0U4IiwiMHhFNmVhNkM2MEZhMEU3RjVjRjkxMDA4QWQ3ZGRFODY5NTU0REZGMWEyIiwiMHgyM0U5NkZiMzVDZjBGQzJGNDI5REJiNzczMWEwNDk5RjA5QWViNjE5IiwiMHg3QmM1NmUwQTUzRTdjNzEyQUI5NDIyOUVFM2QwQmNkRDA0ZmMzRThDIiwiMHhGMDY2NTU5OWIyMjJBMzY5RTg3Nzc2NjU3MzdBNzgyQ2VDODU4REI5IiwiMHg1Q2Q5NmYyN2I4RDJlMDBFMDIwNEU2Y0IzRjdmNDU3NWI0NjE2YUQ2IiwiMHhCYTFmOUZBMjk4NGNlMkM2Nzk4NjA1NUU0NjdGZDRERTA0MkM5MzY0IiwiMHhDODQ3OUY1M0M5OTNCNDEzNDc0OGZFMDY5ZjkxM0E3NUZEOTFDQTg5IiwiMHhCQzBlN0JEZGE3NjBiODJjM0VhQzExMjY2NjQ1OGYyNDhBNmVhMTRDIiwiMHgyMWJDMjhmNzhBY0RFRDE2YkE0OEYxQUNBNzA0NmQ2M2NlZjFiZDE4IiwiMHg4ODhkNThmODdlRDJBZWU1ZUYxNDE3Mjc4ZkZCMDU5ODczRDlDMjYyIiwiMHg4RTU0ZUZkNTBmRUJCODQwRDZEOWNCYjFFMEZDODJmQTVhREViNjc1IiwiMHgyOWIwYUExMWRFOTdmNmQ1QTMyOTNkOTgwOTkwZTgyMEJEQTVGQkFiIiwiMHg5RjFDQzU4NDA4MzY1MTU5RjU1OTk4YjJFOTYxOWZhNGVhYTIyNUNmIiwiMHg5MzhlNzYyZEUzRWI2ODBkNzE4MzkwNTBCMEE1ZjA1MTViMTI2QWNkIiwiMHg0YTEwMEE3RjBkMTU1NzQ1YzVkYUUzRkIyNDc5RDhlZTY1OTRhQTcxIiwiMHg0ZjRDNmUzZjZhZWE0M0M3M2EyOThCMmI0ZjEzYTdkNEYwN2RGMGU0IiwiMHhjRkRDRDY5NmRkZTVkZjM5ZjU2OTgwN0M2OTM0RTZiQTk3Y2VCYjhBIiwiMHhmZDFERjQxZDg4YTcxODRhOGQ1YUI2MjhBOTk2ZGI0NTZBZDc0NjU5IiwiMHg0NjQyN2JjNzU1MWMxYmREMTVDNTU0ZDVlNWVjNWY1ZTA5ZWMwOTdGIiwiMHhDM2Q3YTFBQjU0MTRhZGE0NGExY0Q1OEJDMmIyODFmOUUzN0RhMEUwIiwiMHgyQTYzQWVjOTYwRDE5OTNmOTM4MjI1ODE1OENkZUQ1MDY3ZTI5NzhhIiwiMHhlZWQxYUI5Rjc0NzgzMzBDNTA0MzczNTRFMjE5OWU0QUQxNDY4YkM1IiwiMHhjQjYwNTMwNzYxOTRhODM2NzNiOGUzNjk2NzQwQzZkMTRENTRBZDBFIiwiMHhCRDg3RWQ5MTE1QjM2OEQ5NjI5OTU3RTYzNmZjMkQyZTYxODhkZEFhIiwiMHhkN2M4MDk5N0EzRGE3ZjdiNmI3NTFiODVlYzJENTExNDc0ZDM3MzkwIiwiMHhDNDJlMEQ0NWI3RTVkYzk5OUIwM2VEMUU5MzE2NjA1M0ZhOURiMDFlIiwiMHgyMTRjYjNFOWU1MTY0NGZDMEYwZWRDNjI5ODcwRTRERjVGMzRhMGU0IiwiMHg1MDhmODAxNkREODRkNWE0MEViQkExNjJlMmRCODljMUQ4OTk1NkUwIiwiMHhEMjk4QzA5MjAxZTNEMjg2OGQxYTU3YzUyNTMxMzE2OTQ4ZjFkRGE3IiwiMHgzMTc3MEM5NzE0ODk5ZDk3ZDkwOUJDNjQ5MDAyZjRGNzZjOTQzMDAzIiwiMHg3OEI2NzU5MzM3YkUwQjg4YjJhZjFiMjBhQjk4NkI3NjI5QjFCMDRhIiwiMHgwMmNkNDE1NDkyZWIxYjNlNzAxOTZFNkI4MzY5RDA1MzI4M0FlZDU0IiwiMHhhN2M2QTY1QTM2RTFhMzFlOTU4MjRlM0FEOUYwMDU1NUYzODc2MzNEIiwiMHg1NUE0Mjk4OUJDMUQ0ZjhGM0FEQUI5RTc3NTkzYjgxY0NiYjUwYTNkIiwiMHgwMWY3REY1QjZmNjZjMjlEMDY0MzdGMkVCODJFM2VkMjlGNTg0NTc2IiwiMHgyODA1ODMxYTUwNDE0MTlmN0EzNzhjOTg3QTJDYUQ3MkVEOTFBNDFFIiwiMHg4QzUzMTYyYzFFMkJEMGNjNEU1M0QyNDdDZkFiMEIyMWY0YUNDMThGIiwiMHgxODk1OUU1QTcxNzJEZDYxQUMyOEU4YTdGMWE2Q2M3NWQ2Q2I0Mjc2IiwiMHg5NUE2M0NBQWEyRjlhNzU1NjU5NEVlMjBGYTdhM0FlMDdlRjI3OTFmIiwiMHg3M0UyN0E1MTc0QjU2ZjYwNDQzNDQ3ZWNEMTdDZWI1YkE4MTZCRWEzIiwiMHhmQ2Q1MzU1YzE1MDVkMjNBMmM1NzBlMDVhQjI0ZjJiZDU1MjBhNDU1IiwiMHhiMTRlNTMzYWQ0Y0JhMTBFMWUxMUM0NTJCRDc0MjYyQWMxMDMzMkIyIiwiMHgyOTE4NzI0Njk3NTg2Y2FEMmFhYjc4NTA4ZjMzN2M4QTFlODFkMTliIiwiMHhkQzI4NmUxNENDMzYxODIzQ0I3QkUzNzEyNzZDOEQzOTI0N0ZkMzVGIiwiMHg4QmJlN0VGMDU4Y0IwMjRiNDQ4NThlNzg4QmM4Mjc5NjYxM2EyOEYzIiwiMHg2MDdlZTk2QjBlMThDMWZFODE4QWUwYjg2N0Y4ZTQ0MDJCNjA3M2ZCIiwiMHgxMzA3MTVGZmU1YkQ0NEUxQjFFNzMyMzlCOWMwMzRiMmE5N0I2MEJhIiwiMHg1NjMzRmZBRmM2Mjk4M0FCRkVFYjA1QzUyMzQzQ2Q2ODY5MEEyN2RmIiwiMHgzNkRCODhBZmUzYTNmOUYwMDc4ODM4ZkJDNzRlQjU1MWNCQjg3NzBGIiwiMHhhMTJiN2E3OGEzMTg1NGQyRTlFZThGQkM5MkUyNjJBQWY0RkNkNGYxIiwiMHg0NDQyMWJkODgzMzRmMmI0NDYwYjc4Mjg0M2MwMjM0QTcxMzVjOEMxIiwiMHg0QzkyNjdDYjU4YTQzNmY1RDYzQmVGZWQ4MDkyODdiYkEyZjM5N2M4IiwiMHgxRDRiMkIyYTJDYTg3NjI0MTA4MDFiNTFmMTI4QjczNzQzNDM5RTM5IiwiMHgxODAwN0YyNmVjODJkZGQyOWFBRTczYThlOUUzMzA2QzUxOTI1NERiIiwiMHhhNDlDYjBDMzk4MkIwYWU0ZTkxQ0M3ODIzRGYwZjBEZGZmOWVhODQxIiwiMHgzNmE5OWM1NkU3RjMxNjI2QzJGMUM1QTJGNTlBRWJGYTM4QmJGYTk1IiwiMHhBY0QwODhhOTA1QjMwQzI4MDYyNWZkYzZBMTkxOTNkRjVBYTliRkE3IiwiMHg3QkM1RjIxOUJBNkU1N2Q2NmUwNzg3QjI4MTk5MWY3QzA5ZDc3YjU3IiwiMHgxZTM5YTkyRDVmMDcwMDM0QzM3ODAwRWNCZDg3ZmVjMGEyYTZGNkMxIiwiMHg3MkMxMUJlMTZiMjgwMEE1MmFkNTdlZTE5NUEwM2Y3MzNmODY0M2UxIiwiMHhCZjJBNGZhOUU4Y0VCZDJDN0ZBRDliMGZiMzJiN2JENzVBNDQ2QjAyIiwiMHhmRDU4Zjg2MDNDZTkyNGU5ZTUzMUJmZTFmY2Y0MzY0NTBBZEU2NWY1IiwiMHhCYWY3MTYxRTI3NGVEZGNDNkNFQTY3RTZmMjhCNDM0RDAwM2YwMTJDIiwiMHg4NjA5N2E0RWM0QWY1M2M3NjE4N2I4QzViMzQ0NDk1YmJGNDI2OTI2IiwiMHg1ZERiZDlENTA4MjREMGIzMjkwQjVBM0UxZDBkM0VGNjE4RDBGYmJEIiwiMHhlYWVEMGM0RDhmMUU2QkNjRDA5MDNCQmY2NzhENzVGYkFhMDI0N0I5IiwiMHg1N2E3NjgyYjRmMWU4ZmUxZDVGNjRDMDI2NGNlZUY1MWQ3NzY0MjI0IiwiMHg0RDE5MzljYUE0ZjkwQTRiOTJjNjBlNTg2MTViMDJDNUEwMDlGMTA5IiwiMHgzMDY5ODFGZjc4YjczMTk2NDI1RDc5NEM0RkRhQzIzMzUyODMyNGQxIiwiMHg1MmQ1MmM3NTVkMDg1Y0Y3NEY5QjVCYjc3N0RGNkYzNTliYzczRjc5IiwiMHgzODFFQjNCYmEzNzU0MDZCNDRCNGEyYUM2MTIwMDk4Y2YyNTI4NEZjIiwiMHg0ZWFlMWIxRjFEQ2IyNmNhNzJkQUM1RTRBNmU2M0FENWZhODhENDY5IiwiMHhjQjNjODIwODc5NzYyOTgwRWMzN0Q3RDQ2MmE1OTU2MkM1RkNmNTIxIiwiMHhmQ0UyMzIxMTg2QTA1OUUxYjFDNjA5MzI0RkIyOTUyMDg2NTQxNTYyIiwiMHgyY0UxNUYxOUI4NjY5MjRmNjc3MzdDYWFlRDNmM2FkNTdlOUYwN0REIiwiMHg3RjFlYzhjYjQyQWJEOTNDMzc1YjQ3RDA3MTU4YjIyOUI3RTE0QkQyIiwiMHg4QjU2Q2QzREFBY0REYTBCQjIzNTlmOTBhMEExN0IwMmY5ZENmMTVlIiwiMHhmMzAxZUI0M0NmZDUwYkRBQTlmMTc0YmQ5YjZkNzM0ZmM4QjIyMDI2IiwiMHhCMTY4ZUEzYUYwRDgwQkQ5MDhEY0I5ODJBNjUzQzBkODYxYTFBNTRhIiwiMHg1MTVmZTVBM0FEQ2UzQTAwMjc4OTkwMTAxMTJDYkVFMjQ5NDAwZjNEIiwiMHhEOWU3NmM3NmM5YzFDYjkyRTY5Q0REQUE5N0E1MmRBNjFhOWQxMWUzIiwiMHhjNDk3MjA0YmZmZkUwQThlNDE4MzlENUE4MTVBNkEwNDM0MTBBMjk3IiwiMHg1MDlCNDNCMzA1ZURFNTg0QTE2Y0JFNjZmNDQ2NkYxMzU2MjUwOTJlIiwiMHg3MzczMUIyRERiNjAyMDgwNjgwNTIyRjcwNkQwZWVENjVBMkE0ZUUxIiwiMHgzNGUzYjA3NUY2QmE1MDQ1OTg0MzExNzQzMERBMENhMjQwQ2VGZjYwIiwiMHhCNDk5NmViZDA3NDU3Y2VEM0Y0NTA1QThEQTk3YkNDOUVlMDlBOTliIiwiMHgwNTUyYjRFMTU1ODhGRTU5ZUFiY2QxYTFDNWVGYzdhNWZhODMzODg3IiwiMHgwREZhMThiQTI0NDk1REMzOGE4OTZjRmZFMDgxNDdlQWVkYjAyOEUxIiwiMHg2RENmNjJDNmZCYjI3NDk0MjQ1N2M1RkNhRTFlZDgzNUExNENFNGMxIiwiMHhmZGIzRGQ5ODk3ODU5YjZEOTYxMUE2ZjQxOWQ4RTYwRjNjNzY2YTAwIiwiMHg3YTRhYTNiRDVCNDhjMTMzOTNhYTBhOTVCYzIyQmZjNjA5QkQyRTMyIiwiMHhCZDgxM2ZBQzEwODliQmFjMjYwZjc4OTJFNTkxZWVENjNjRDQwMjFjIiwiMHgxMDRCRjg5QjlGNzk0MDkxMkIwM0E1MDhFOTI3Y2Y5NEYxNkE1NjY4IiwiMHhBMEExNGM0RURlNzJFRDY0MDU2MjIxYTI1MDA0MWEyQjUwNzZjNTBhIiwiMHg2MkViNEZhNmJCMjcyREVkNzhFQ2YyODAxZGU2Y2E1RUU0NURGRjcxIiwiMHg0NEQzYjNkNzkxZkVjQzY3OUJkZURhMjE0MEQxOENjMmQ3Njc2QTQ3IiwiMHhkMWIyZmNCZkFGOTI3Y0EyZjY2NDlFOWUzN2FBNTJFYWQ4MzIyNEM4IiwiMHg2MDE3MTA3MjBEMWNhMDREMGIxM0FCMzQ5NTFGZTM4NWI4QmY0NzM4IiwiMHgyMmI2YTQ1MzUxZDNlQURiZDc4MWQ3NTk0OUIzNzQ0NUNiODZmNDZhIiwiMHg1NDgzRWM2N2NkMDI5YThDZDQxNDdkODg3MGNkZmVEZjNlYTI5MTZkIiwiMHhiQjk1NjVGNDg4REVFMGY4RDlCRDA2ZjcwNWRhODVkNzJmNkUwQzliIiwiMHg0QUU2NDdkMWVFMTZlMjVkQzRkZUEwMTI1MEE3ZGNmYTkwOTQ3NDhBIiwiMHgzMjlERTFCZjFiNTA3QTRFNTQyNTkyRTY1MTg4MUE3YTgzMDVmQjBhIiwiMHhCNDg1NTBEODdENDAyNTZBYzQ3MzVEM0M1MGIxNTdiNTJjMkM4MDBCIiwiMHhEOTc3YTg3NDdEMEIyMjZENTdCOTNGMTc5MmYwNDBFMTQ3MTcxRDc5IiwiMHhlNTE3NmY0Zjk0YWY5MTNjMjQ0N2U2NjM2Y0ZCOWRiOTBEZjg1Nzg1IiwiMHhiNTMzMTkzYzExNzkyMDI1MUIzQTExNmU5Yzg2YzUzNDdkNjdhNmU2IiwiMHhkNUIxNTIzYjQ4RDQxYzQ2RTVkMTA5MUE5YjA2ODE1OTM1M2ZmM0Q3IiwiMHg4QWRDYUU1MUYwNjBhRjFFYzg1NTUwMUQyNTJkREExQURDRUMyM0M0IiwiMHhiM0MwNDdFZThDNjQ5Qzk2OEQ4RTIzQTM3NjJEYTQ3Yjk1RkQxNzZjIiwiMHg1ZjYyNDA0M0MyYjRmNzk2QTViNjQ4ZjQ1NmVhQTkzZTFCQzk4MjAzIiwiMHg4OEMwOTVDOEJhMkM3QTEzNTNjRjNEMjFFNjkyYzVkNGQwRjkwNzkzIiwiMHhkNmYzYzMwNTlkQzYzMzNCODEwMDNmY0UzNjYxOTBCYjI1NkRENkI5IiwiMHhkMmQ2NUI4MjI0NjJFNDUzZEM2RTVCNjI1MUIzOEQyRGJjY0RjMkViIiwiMHgyMzY0ZDg5NDMwNzU2ZWM1NDBFM0I2RUI4M2JmQjI3MEU1Q0Y1NDFFIiwiMHgzN2JDNGQxN0REMDNDMTY4YkQ5MGU0N0I5RkUyYUZlMDU1MTVlOTExIiwiMHg0NjQxNEUyQzUyMjY4MzgxNjczM0I3QmNERTIyRTU0OTk1YTkzMUEzIiwiMHg1MDI3MDBGMjgyZTZCZkMyQmIzYjgwNTg5M2ZBZEZmYUNmNjg4ZTdiIiwiMHgxZTFjRkVDZTQ4ODlhOTMzNTkwNzhENkU5YWQ2ZGFmMjdFOTkxRjhDIiwiMHhFNzY5NzE0QmIzZkYzOUQ5MTYyYjRGODg4NjRBMkQzZTI4MTlhRGI0IiwiMHg3NTMwRjEwRkIxRDUwRjU5N0MxYzE2NzMxQjBjZTRiMGE1N0U1OEQ2IiwiMHhENTZGMjA3MDc0MjAyMzY4MTU2M2U2QjBjYjY0NUUxODQxNkU2NEI3IiwiMHhCNjc4OTUzMTg4NzdkOEIxNzkyRDdkMjIxMDVhQzRhMzZBRUU0QTlGIiwiMHg2ZDMzZkRhNEQ1NDNiRUVFNTBEZjUwMDhEYzRlRDBCYzQyNEI1YWY2IiwiMHhFMjhkMGZiNzgyMjE1RjQ0QTc2MkZFODhkOWZjYmQyMUU0QjlBRWMyIiwiMHgyMGQyQzE3ZDE5MjhFRjQyOTBCRjE3RjkyMmExMGVBYTI3NzBCRjQzIiwiMHg1YjQ2OTIyNEYzMkI4Rjg5ODRjYTA1NTI1ZjIxOUUyMTkzRTM3RkE1IiwiMHgzZjc1MTk0OWI5Y2NkODNmQ0Y1N0UzQzY1NEQxYjcxNjcxNEVGYjUxIiwiMHg4NkVlZjE4NmU4OTFkMWI4RDNlOTVGOTYzM0NjRTgzYmI2MzQ0MWEzIiwiMHg1QTNBMEI1MThEOEFDQTU4NTdmQTU2Y2I4OTliRDU1OGM5Mzc3ODM5IiwiMHhhMjRBZmUzQ0E2MGI0OEIzNjNiOTFBNjg0RENjMmQ0NjQ5N2EyZTI1IiwiMHhiNTQyYTRmMDFGRDQ4Nzk4NDg3M0ZjOTRCOGUxYjAzNkU5MDBiOGZhIiwiMHg3MTU5OTM5ZDA1RTBCYkREQzIzRDU5NEE1MzhFNDk2OUNGMEZBZkE3IiwiMHg2MDE5Y2U4OWU1ZGIxNWYwNkQ0RjA2OGJBYzcxYmRhRjVGYUIyQzA2IiwiMHhBODYyNkZmYkMwRWFmM0QxZmRDNkVlNTg2RjVGYzc4Mjg2N2M2NkM3IiwiMHhhNjgyNzAwMDc1MGYyNTUxQjg1OUEyODAwNGIyZkIzNzJmNWFmNDQ4IiwiMHgxZTA2OTNmMTI5RDA1RTU4NTdBNjQyMjQ1MTg1ZWUxZmNhNkE1MDk2IiwiMHhhMkUxMDEzN0RCRTg4QTEwREQxOTdmMjRFRkE0MDNmMDAzNmU0ZjcwIiwiMHgwOGQxYTVkN2U2YzI0RmVlMzcwZDc0Q2ZlNDkzQjA3YTU0YzA3NTI0IiwiMHhGOGI3MjAyODgzNzliN0ZhNjAzZjQ5Rjc1Q2FCNWU2YTNlOWZEM2UyIiwiMHhhZmI0RDY4Nzk4NUNjYzVDMGM2QkQ4NTIyMDRDMjJkYjBmZDdCYTQwIiwiMHhEMkUyQkNkM0M3NTNlMkIxNzg2RDExYUVkNjQ1NzREM0M5YmJFMjg3IiwiMHhBOGE5NmUwMTRiMjQ1MjJmNDgzMTIzMGNFNEE0ZUVhNzQ1MUU5ZjM1IiwiMHg4NTBhMTQ0NDU0MDRDNGI4MjRFODljOTI4QzNhODEyMThCOTA5M0MyIiwiMHg2MTIwNzhGOTM3N2FENDU0NjhBMEU3OWE0ZDJBMDZiNEY3NTAwQzU2IiwiMHhGM0UwMDlkNTU0ODU5NzhEYzk0NTU1MDYyYzAxOWIyNDk1MTVGRTY2IiwiMHg3OWExYkNhMUMzMWU5MDM5ODczNmFEQTFBYzU3RGNEQWI3ZGYwMTgwIiwiMHgxNDZEMzQwMUI2YTQxMTIyQmQzMThiYTY3NkEwMWM0NGNCMDc5NUUyIiwiMHgyODRiMGY5ZDY2YzUwRWRFODNkNjg2NTBjMThENjM3YThhQkVmNjM4IiwiMHg0QTVhZDYxMTU2NGM3ODE2YzUzMjE1YjREYjQzQmNjNjY0ODhkNzFkIiwiMHg2Q2Y1MzcxRjg1Mjk3MDcxMkE1QmYzODNiYjVBYjM5MkE5ZDg5MzUzIiwiMHgyNjlFOTA4MTY0YzFFMkYyMjAzZTZDMDZCN2RERTlEQWFFYmYzNWUzIiwiMHhjNzlDM0VGNGU2ODViRkM4MjFEMjk2MGVEOGRDODI2OGQ4RjVDMTBCIiwiMHg3MTJhOUMyNEQ5MTIyRkZDOEM2MjAxQjU3MDljM0JjZGViNGZEQTE5IiwiMHg4NTFiMjUzOTdCN0ViNDM0OThjYzQ4QjJmYjQ4MzA4NjAwN0REN0YxIiwiMHgwZkQ5MTExNTUxMkQ3NjcyNzU1MDY2ZTk4RkE3QTI3NkQzQTI1ODRFIiwiMHhiNzQ4OEUwQTYxMjU5OTBjMThiMzIwN0Y2ZUNiRTAxMmE5OUIyMDAyIiwiMHhDZTFlN0ViQTQxYzM5YkY5MmNFOTVhQTUyOUZjQ2E5OEU0NGYxMjZkIiwiMHg5M0VjRUI0MGE2NkRhNzU4MDNmNzgyMkMxQ2U1NDUyOWU3NTY5YWMyIiwiMHg5N0E1NDZkM2YxMENlODAyRGMxRjk5MjE3ODZDQ2YxNTNiNTc1MWU4IiwiMHhhRUQ5RjIxZUYwZTRGNDI4NTY4MjEzNkNERjg3ODZGRTIxMTkzM0M5IiwiMHgxM0YyQzg1MDZBNjMxQjNhRmJkNzQwMkMxNzg0ZWNGNkM3NWZGNmRFIiwiMHgzNjIxQTVGRGMxOGY5NTQwNzQ5M0VCOTQ5Mzk1NzNhMjkyQzJhODdkIiwiMHg3YzNCNTZFMEQ1ZWUyODg5RWFEZkVFMTM1NjhmNUI1NTA0Y0JGMzJGIiwiMHg1MzRkRTk0MDNDMTEzYzcxM0IzN0YxYjNGOTdCYTc2QWE5YmIyN0RFIiwiMHgwMzk1YWU5NDNGQmUxY2UzM2IxM2YzNDI1YkYxODA2MDU1MkFhQjI5IiwiMHgzZjUxRmI5RDgwRTMyMDZiNzRCNTg0ZEU4ZGI2MzA3ZTJjMzY2NjZFIiwiMHgyYjk5QWRFMmYxMjk0NTFFRTBGQ0NiOEQxNERGYjQ4MTZhNzYwMmRmIiwiMHhiZUFiMWVCQjM4RjczNjIwMzMxYThFODY4ZThCZTMzMmQ4RTYzMEM1IiwiMHgyMjFBNDhhNDc5ZDE5Q2M3NUE5MDI3NEZCOEE0MTczNkRiNTliRDkxIiwiMHhmMDMyNTc5YmJDZDA3MEZjNmMzMzJmMjcyMWI5YjNjQjYxRjVmMUEyIiwiMHhDYWJkNGYyODJEYWY3MjJkMjg2NEUyMUNDODkwN0U5RDczNTQ4MDQzIiwiMHgwMDBENkJjNzllNkQ3M0JkZDIwOTk5NDJmM0ZkNEI4N0Y4ZTNjMzNjIiwiMHg4NGU2MDI2MWZDZTlDNTQ0MjJjOEExNThFN2Q5OEEwMjhhQmIwNTlFIiwiMHhmRkFiOUY2ZjdDQzZjMjVmOEZBMjUxNmQ5OTQzMzgxMzc0MDlGNTJmIiwiMHg1MDY3NzNhMmVCNTFFZDQzQ2VhOTRCYkZhNzM0ODAxOWJkOEIzRjczIiwiMHhmOUMzYjNhM2ZGMDgzOWNGN2ZGMjliMTUzN2UwOTcwMDRiZkRFYzI1IiwiMHg4OUYxMGVFYjJlNkIzMzNlOUFDOGU0QTZFNmZkZjU4NEU0Rjg1MkYwIiwiMHhiQTM0RkZENjNmMTc5MjE4RDQ1MDlmMmQxYkMzNzUxMTg3YTJBNWU2IiwiMHg1YjRENzE0OTFEQzYzZTIwYTg1MjZhNjRCZkE0M0YyNjkzMDNFN2JFIiwiMHhFOTgwNjQ3M0FiNzYzOWRFNzkzQkRhZDc1OTI5ZmRBNTkzNWE1ZjU2IiwiMHhlNzcwMjFmYkVlNjkyOGVEYWE4MUJEZTQ5NzZmYUE3NGVBMDNCRDlBIiwiMHgzMGVkMmIzOTFFMTYwNUFEOUNFRTJCQ2FBM0NBYTdEQTlmNDU5NDVlIiwiMHhEOTEyYUExMkUzY0YzNDU4ZDQ3OERhM0M2MjkwOTZmNGU4QmQ1ZjcyIiwiMHg0MjAxMTM5OTIwZjU4NWZGNDExMTMyRDNBQkJENmQwMGJCYkI1RjU0IiwiMHgxNjAyOWZCNDg3YTE4NDI1OTM0Rjg2MEViNzY3M0I3QUUwNTNlRUM1IiwiMHg5NmI1MzgwRjY1OGYzOWQ0MWMzRTI2QjQ0ODQ3OEQ2RUJiOGFBN0YyIiwiMHhFNzcwNTFhMmQ3MDdDQkY5RmYzMzcxZjc1M0EzOEQyMjUyMzVDMzhFIiwiMHgyMWZiZDUwMDg2MzVEMTE1NjdCMjk1RDVEZjQyODgyMjRlNDAyMUFlIiwiMHg2Mjg5MzIzNDNBQTNDNUE1ODZhMDU3MzBEOWVFYUQwNzAwREE3RTY2IiwiMHhFYUU5ZUE0ZjUxNjFBYmVEMkM1YzBlNjc3MDZFNjFiNGMxMzAyMDQ5IiwiMHhjOERCNTQ1NUMyYUM0YjM5MjQxMTY3ZEMyRDEyNUNERmQyNTRiMDU2IiwiMHg4OTQwYjY1ODQzNUU0OTE1NTZEOTgwQmQwODRFMzdlYWJkQmNGYjczIiwiMHgzQzNkOTIyOWZiOURGZENmNjE4REEyRTNCNTQ2NkUwNmU4MzA0MUUwIiwiMHg4YjY3NjBhRTAwNTdDOTY1NEEyZmEyQTdFMUNENDc0ZTFmQTRFYTZGIiwiMHg0RTk5RkE2MzA3N0M1NEE1QzRFMTI3RTYzZEUwZTI4ZWQyNDdmOWRhIiwiMHgwMzcxYzdCZmQwYmZlYzZGMzIyNDY5OWU5M2NkMWIyQjc5Y2Y4QjgzIiwiMHgyNDQzMjgwM2NiZUMwODQ2MTYxY0NiN0M2ODZlMzY0MDMyZkU5NUY2IiwiMHhlQjE5NTkwN2Q3NTZlOGI0ZjgwQzgyQUIyZDdiRjBlRTFGYTEzMDlGIiwiMHg1MkFEZDA2NzZmZDAwYzQyQzY5MDc0Mjk0MzY2RDQzMzQ2ZkJFNjg4IiwiMHhkN2ZkMjZiNjAwRDkyMWU0N2I2NzEyRWE4OTMzM2Y5NjBiOTMyNTI5IiwiMHg2OTUyOTU3YTA3YTE2RGEwY0VCMDc4YjE5YTNGMGJCNzAzMjNDQTA3IiwiMHgzM2ZENjkwZTQ5OWU1OWYyMDg2Q2Y4ZjRjMEY4N0MyMDdGMTlhMEY0IiwiMHgyMzREQjAzQjRDQ2UxNzg4YThCM2M1QWY0NDk5M2QyRTdiRDQ0NUY0IiwiMHg2MzY1MTE2MkFCMTIyY0QxYjg0N2JDNDYxMTQ2M0RDNTY1OTFFMTczIiwiMHhGREMxMzE2RDFkZkUyRUFGNDI1NDY1NzUwZDQ1ZGREODAyMTE1YmYxIiwiMHhEMDE1NTQ2NzczNDg4MTE0MEI1MUQwMDM4MkExYTQxMDNiMTgwMzg5IiwiMHgxMDlDOTQ4NTQxM0NjNTgxQmZFN0Y2N0M0MDAyNTI5NGY3M2U5YjNiIiwiMHgwODQxMWFiNjc3N0JjRkQxMTY3RkFlMDJBYzQ1MjYyMmUxNTcyZGI3IiwiMHg2MUZDZDY2MjlEM2Y5M2FmOTYwMjQ2YjJCQzI3MjA5OGQzZjM2Mzg4IiwiMHg3NDg0NjE5RDdDN2EwRUI0RTY3MjcxQ0YyZjM0NjMzOTZhOTdFYjg0IiwiMHhkRTM4NWZjNmU1N2YyODlEMUVGRDQxQzg5NjhFNDExZDc0N0QwMjE1IiwiMHhjNWI5NjYwZmNhNUEyNzllNmI4ZGMwZDA3QWE2YzBERTExMDg0M2YwIiwiMHg5M2NEMzhmZmI0NmIwMTE0ZjE5NTY0Q0I2RGU4QzdEZmExNGFlRTVEIiwiMHhmNTM0MjZEQjM4MERBMjNmMzY5OEZGQkU2YjFDYzM1ODdGNzBDNzQ0IiwiMHg2MThFM2MxZTg3YUNhYTAzQzI3MERBMkI3Yzk3Njg3YjgyRTZDRDY3IiwiMHg2M2RiODQxRTRmZUIxRmEwMjM3NTg0QTUzMDgxOTYzZTBiODk2NWMyIiwiMHhCNjE0RDJBMTg3RTExOUFGNDRiNzNENjgwZmE5QjcwNTM2RjcyNGM2IiwiMHgyOENjOGNhZGMyYWEwMmMyN2I0NEViMzc0QmMwQTc3NDY4ZjM4MzBkIiwiMHg3NWZDOUQyY2ZkODI5NzgzQ2MxMjRkOGM3MzdlQTNhN0ExNkU4ZEZGIiwiMHg1RmNkYzczYkU3NTM3NzIyMzcwZmZFODY5NDM5ODMxQTgxNEYwRjlDIiwiMHg2MzlGMjdkQzY1NGU1YjU1MDRBNGQ4M2E3NmZBMjIzMTA4NDg0QjAzIiwiMHg3NGQ3MERiNWEzNmY4RjA3NTM2QjA5QzdCRjNGZWE1QmRBNUY0MEI4IiwiMHg5NDQ4MGJBRmRmRDQxZUNBNGMzQzY4YTdjMmY2NjBEQkQzQzY2ZEE0IiwiMHg3M0Y3ZWIxMDJEN2YxYjVGODFFNTIwMDA4NTQxOTY5MzhiRDg1QjQ2IiwiMHg1NEE1NmQxMzc1NDNFMjQ3YjU5YUFhOTBmNDkwN0FjRTcwZDQwZmMzIiwiMHg5RjJlNzAzYzI0YkU4ZkVCNzY2ZmQyNjQ1YjcxNjMzZEY4MjMzOTIwIiwiMHg3YjY5YTE1OGE5NGExNjdFMjFkMzMyYjFlOTkwOTc5NDRhZjQyMmI4IiwiMHhBMjdEMzk4MjhhOGIzMDhhMWEzYjczOWY3Y0ZDMDJhRDQ5NTdiZWZGIiwiMHg0MjlDOTk4NkJBNjRkNDNFZUQwZmJjNmZmZUJENzgwNzA0QTk1MmU4IiwiMHgzRTVlNGI1NTk3NzE4MkI3MmJmQjNhOTZiNzdhRjNCRTU3NTRhOTE2IiwiMHg0YmEyODE2YjM1NEY1NzlmOGMwMDhCOTZmZkJGODRlODRmNDFhQ0MwIiwiMHgxRkE4NDYyZDA0RGI3MDM0QzAzMThERWRDMTU3OTNiNTc0MUFFNmI4IiwiMHhiYjgxMkYxZTIwNURiMmViQkRGYzM5RDZFMUIxMGRkMTA0ZWI0ZUFkIiwiMHgwRTIwNjQyQjMyNTY3RjJEQzc0ZjE0OTY2M2ZjNDc0RjUzNEUxRDVBIiwiMHg1MWU0NzE0OGJjRjUyRjU4YzFkMjFENDVhRGU5MEM1NjdmOEFhNUUwIiwiMHhEMEYxNUJkMGJkNkU1OWNEMmY4Y2E2YjIwN2ZjMGVhYTcwRjM4ZWY1IiwiMHhiYjhhMTg3M2M3MDlmM2FjZUEwMjAwRTk4Y2Y3QjU1MzZBNjUwMDJFIiwiMHg4RjdjYjlkOUYwRTRmNDllRDc0RTljYThhQzFlOWIwRTg1ZWEwM0Q4IiwiMHhCYzM2RkE2Yzg0QTJFZEIyQjFBRDZmOWQxMDU3MDdDMTQwRmIxZTlmIiwiMHhjQTI3MjljNWM1YjExQWIwNjFlNzdjQUFGRGMyZTUxZDZkMTNBNjY1IiwiMHg0MzlGZTgxREVENTM5ZTA2ZEYxOEQzNzA0OGVBNEJhMTBkYkQ0NkJGIiwiMHgyMzNBOTRBYWQyYWMxYTc4ZWM4MDczNmU0QTQzRjZiNTQ4MzVBOTI1IiwiMHgyOWZERTNkNUFBRENmZjMzQzAyMURDNTAzMDg1ZjZDNDQ2MjQwMEYyIiwiMHhGZjVjN0Q4QmVhNTQ2OGQ4ZGE5REQwNDY5REI1QjcyMjc3NWU0MDg5IiwiMHg1N0FEQzc2NUQzQzU0OUM2QUExNTg5NkRmNjY3MkJiQmFjODMxNTYwIiwiMHhmNTRCMjZBOWVjNjI1MWFmQzVjN2E0NWU2M2I3NzViNmEwN0ZGN0FEIiwiMHhBQTliNjQ3ZjQyODU4RjJEYjQ0MUYwQUE3NTg0M0E4RTdmZDVhRkYyIiwiMHg4QzEwOUNFODg1NzVlN2I5ZDJhOTdBYTBBZDM1ZTRBZUQzRjAxRWIyIiwiMHgyQUJmMUNGODM2QjMyMUI4ZTc3QmExQzkzN2I2ZGUyNTM2YzRlODdlIiwiMHg0ZmZjRTJiMmEzMjVGNjAyMTk3MDFBNTdFQzVFRDM3OTc0OWM0YzkwIiwiMHhhZTU5MDU3OGNjOTYzODlGQTQ3N2Q1Y0MwZTQ2MWE1QmVjZWRkRjllIiwiMHg4MTE3OWVjNzkzNkEyM2UyRkY0NDgwYURkNUYxN0QwMDNiQThBNkU4IiwiMHhlODM5MmZmOTI0QjFBMTkwNzg3OTU4MDQzQTE0OTZDNTViMDg0REExIiwiMHg4MmIxNTA2Q2M4YzE4NGIyNTZjZEU0NDMwYWU2OEMyZTQ5YTg2NzNDIiwiMHg0MDAwYjYxNDdGNUYxRTRhNkQyNzI2NTFFOTU1Q2Q3MTg3MGI5ZGMyIiwiMHgxZjM4OTg1MEZlYzBhQjUyMUM2MjdkRTNCQjlGYWQzRjlmRjlGMjE0IiwiMHhjMmFEMUVGODZBZDM2OUU4NDY4NUNiOGFiNzVjYjdCNjRCZjg4OUE2IiwiMHg3YThjZGYwNDFDZDU1RjcyRTEyQmYyYjI5Y2UxQWM4ZGVhMTgwQ0Y0IiwiMHgwNTZlRDEyQ0NiNDY1NUVEMUZBRjk5MjEyM2M1NzFkMjY3N2I0MzU1IiwiMHg4NTlEZUUyODI0NTMwMEMzNDI4Qzg0MzJEQkRBNzYyODRGQ2M5MDFlIiwiMHgyMmVCZjM0ZUUwQjU1OTg3NDQxMDg5QjBkNzZjOUNCMDFFMzlmZDRmIiwiMHg5NzFENzE1RGNDNTJCMDFGODJkOEJhRjNjMDYyNzdGNUJjMjYxRWZEIiwiMHg4Q0Y4QzkzMDU0NkZjZTY2MTVhZDVDMkQxNTVFMDcyMUQ1M0VlRTFCIiwiMHg4MDkyODA1MGQ2NzRiYjVBRTM0N2YwRTBDZkFEZjdjNDFiZWFmMWM1IiwiMHhCMDEzQzk4ODk5YzNlQUUzMDkyODg3RUZEMjg3OWRkZDlGZUMxZmU3IiwiMHhiMjlhMjI1ZTcwQTQ3NGRjYjAwN0QwOTQwMzBFN0NDYzE3MDQ3YjcwIiwiMHg3N2UwZTg3QjNmMUExMzM2NDE5YjJjMzlBMmVlMTEyNzEwODM0MTNCIiwiMHhBNkYyMjFENDUzZkFjQTUxNzNERjhlODIxQjM2NTc0ODQ3NWNGNWU2IiwiMHg5YjU0NWEzQjRiMjQ5RTA4MDExYUI0Q0Y5MzcxMGVhRjQ1MkVDOTA2IiwiMHhCODMxNzczNjU0NmVERTQ1ZUIwMEM2M0EwNjU4YjAwMWVkNDE0ODEyIiwiMHgwMTVkRkVEYzMxOGQzMzJCRDU3QTNEQjQwQUEyRWM3RjVjREVjRjc3IiwiMHgwNjhkMkRjNDg0YkUwMmFGOTkzRDU4OTVCNjdGNUVFRDZiRTIyMEI5IiwiMHhjMUVGODQyYzJmMzE5NUI1RUYxZjE0N0I3M2IxNjJBNWQ1M0Y3ZTI1IiwiMHg2RjBlOTk5ZWQ3QTQwMmY2MjM4ODFCZGYzNDhDNDI2NzQxN2FCODEzIiwiMHg5ZTE4ZGE0NjU5MjVDNDk5YTIwMUY5RmY1NmZDNTlDOUIxNzc4YWJkIiwiMHhhZUQ3ZTBGNTA3N0VEMDgwODVCZTM1MzU4YTVmNDVhOUY5YUQ2OEUyIiwiMHg0NTg2Q0RFNEVDNjk5M0ExMWM1MzAxMzg1N2E3RDEwYUU0OGY0RTI4IiwiMHhiZjg1MEEyNTk2NEMwOGM0NkE3MDBkNjI0ODAwNUY4NUFkMzYwMmVEIiwiMHgzOGI3ZTlEQWUxNTJkQURBZDU2NDg5ZUI3N0IzQzNENmM2NjE4OWQyIiwiMHg3MDI1RjRkNDE4NzM2NzdjNDMxNGI3M2ZDYjZBNUM4RGM5OTk3OTlBIiwiMHhFODg4ZkIwMUREMWUwY0VDODZkODRkN0RhQTQ2ZTEyZTlDOUZFNDBFIiwiMHhCOTZkNURmRDRENzI4QmFiNjEzNzk5NjRiNDQxMkU1YTFmMzYwMmU0IiwiMHgyMmYzOGE0YjUxQTE0ZTVkMzIxNTM0NTVhZEI3OTAzNkQ0RTgxRGE1IiwiMHg5OWIyNTMxNTU0Rjg5NTcxNzNEYzc5Y0ZCNjJmODExMjIxQkY4RGZBIiwiMHg3OUZhQjcyRjA4M2ZiODc5NTFkNTBiMGVBQzM3NmZCOERkZDhGMTM4IiwiMHhmOTU0MzgzRWUxODcyQzBGZTE2RDQ0ZjlDMDZDMmI1NDE1OEVCYzlhIiwiMHg3QTg2MTgyMjJhQjU4RGIwQzM5ZGYyZmE1QzA5NTJhMTJBMzM2YzYxIiwiMHgxNDlCQTk0QzNDRWNlNEQ0MkVCQTFDQzJkOENkYjM0ZDM2NzdGOEU3IiwiMHhmRTBkMEQ2MTVFNTgwNzc5NjM2RDdkRjM0NzIxNDM0Nzc5MDRjNjc5IiwiMHg0NERjN2E5ODRDRjRDOEIwNjU3OEM3YkJhZjY2NzI0ZjY0QTEyMTFkIiwiMHgzOTE5MmY4MjcwODY1YzEwMDY2MDE2MThFOGRjQ0IyMkM3Nzk0RkI5IiwiMHg3RTFlN0I4REFhOWMzOWI3RDlBNThmMzU0OTkwOTNjMDJCMEY2MTFCIiwiMHhFQzRFNDQ1ZkEyZjUzM2VFZGU4ODMwOTUxODA5OTgzNTg2MjkzMEQ3IiwiMHg0MDExM2NDQzYwMzVCMzc2NmM1NDdhODJCYjdFNDIzYzU5RDI1RDYzIiwiMHg1M0Q4NjMxQWM1NGYzNzZCZjM2MGU3NDQxRjQ2MDkwODlmNGIxQjFjIiwiMHhlODBhQUQxNzdFRTM3YWFFYzgwZURiOTc2NWYyNmNCNDYyM0Q0ZDU5IiwiMHgxQ2E5ZTVGNTcxRGI5NTE1ZTFkNENEODRlODg0YWNlODhBMWUyNjBDIiwiMHhkQzg2NUExQWFGNDM0OTcwOTY2QzdGRmE5NDMyYTAyMDk5ZTU2NzM5IiwiMHg3NzVCMUI5MjhFZjg3OGU1RTMxYjMxNmFhM0ZFN2I5YTcxRjAzNDNhIiwiMHhmMEVjNUU4ZWEzNzkxMURlYzhlOGU5YmM5NDBFOWRiQTJkZTYwNzA2IiwiMHgxNzQ4NkNkODBFYTFjNEFiMDhiOGQ1NGVDRGI4YTk1YTFkNzc0MTA3IiwiMHg2OTRBRDQ3NGVGMTZhOGVlZkI1Y0MzMTE5Zjk5NTZBRUVmMjhjOTg3IiwiMHg3MTU1NzExZTM2NEI1YTkwNUI3NzYwNTYyYUM2NkQ3QjkxNkZBM0UwIiwiMHhiMkRFOWMxYjUyREIzMjZhYjlBMDBhMzZDNDI2QjM4ODU4NEYxMTYwIiwiMHhiMDVEMTNjNkYwMWM1MDBFMkEyM2M2YzE4QUE0ZkQ1QjgyYUIxNTBkIiwiMHhkRmY3NUU3RkRFOTNlNzQ1MEE2NzFGM2JDMzMyMDNCODAxNDNhY0I4IiwiMHhGMDM2MUM4MzMwNjFFNEIyYjkxNDc3NDFjYjg2MEU4MzM5MUJlYjVjIiwiMHgxMUI5ODFiQjAzQ2ZhNTkyNjU3MWVlMDIzMzVjNTk1ODAwQ0EwNjc0IiwiMHgxNjNmMEU2MjNhMzU5NjA0OTgxZDQyMDk1MjdDMDY0NjUyMTRkNDU1IiwiMHg2Qzc1QjNkNTMzYzE3MzY0NjBiNjA0ODk4QjJBZURBMTZiQUZmNTJhIiwiMHhGYjUwMzFCNEJiQjE1ODQ1NTQwYTczRjYwNDFkNWFCOGQ2NjdEM2NhIiwiMHgyQ0EyNzM5NmY1Q0U5OEIzMDczMENDQ2ZiRmI0MDMyZmM3MzU5MDFlIiwiMHgzNDAwMDU1MDY3MzUxNmY2ODcyOEJlRUJBNzM0RmM4RmE2MzEwNDAyIiwiMHhFMzgxY0ExODBBRDg2OEE4RWY4RjE3ODFDRWUzMTRjQ0QwODAxZDZEIiwiMHgxMjFBRjg3RDU2QzVGOTBhN2I3NmQwMzMzZTk3MjYxNGRmZTE5NjNDIiwiMHhENzRjQUY0MDYzNjVFQTRhQ2RCN2NmNWJkODgzOThmYzc1ZEZhQUI1IiwiMHhFNTY0ODQ5YmU3ZUY1N0JkOTZkMzIwNmIyOTY5MDljRTAxMjlkQTBmIiwiMHhjMjE5QkQwNERDMjdCY2YxNzhhNDE4YTI4YmVjY2I5NEUyNDY1NDZiIiwiMHg1QzIwRTQ1YTFCOGRDMkExNjMyQThCMUU1NzkwNDdGMDk5MDgwRjBmIiwiMHg4MjcxM0M3MkZBNjhiNjFjODQzRDFEQjlENTNlZDkyQjIzMDY2MzQ1IiwiMHgxNzlBZjc2NDIxMzg5QjQwQjFjMEUyZkJlQjhhNjJBNTAxMmVkMjVkIiwiMHgzYzhmNDM1YTUyODkxZEQ1MjNhMzQ3YTFjRDVhN0M4MzdGNjFGN0RBIiwiMHhGYkY1REJhNWUzOTVFNDU3RTZhZTY2YjZkRGZhZTZGRmMzOGI2OUEyIiwiMHg1NWFjZmE3RkZkNWY4RjQ5MjIzMzc5MjE3RGQxNjI4MEQwNDRiNTIwIiwiMHhDMTQxZTk2NzhFN2IzMzA4MUZGN0Y4MTZFOTdFOUY3MDRjQzgyYzJhIiwiMHhGMTkwRTUwRTEwYTJmYzhjMzIzMzYwZjI2NDQyYzNBMjc1MTNmZGNmIiwiMHg0QUVmNjQzNDcyNTAyNDRDNDAxYmQ4ZjE1NmNkQWM0ZkQ1Nzk3Y2IzIiwiMHg4NTAwMjYzMTJjMDc4MEU3NkU1Mzg2NzBBQWM0MjNlNmFiODQyNjc1IiwiMHg1YmUyRmI3MjY2MzNjRDQwMTEwZjY1MWVGYTMyNTdBMzVkQUM4NjkwIiwiMHg2NjFGZGIyMDZFMGUyRWQ0NjUxOGQzMUQ3NDI4QjI0NTcxNjZDYzA1IiwiMHhDMENmZkY0Yzk3QkJDOGJiQWFBMUQ3ZjU0ZjA0MDNmQWU0MmJkM0QyIiwiMHg4N2YwMkIzNzQ5OTc1MkY5MjcyNEVFYjk1QjEyMkNDQzkzMjMyYUUyIiwiMHg4Mzk3M2RjYWEwNEE2Nzg2ZWNDMDYyOGNjNDk0YTA4OWMxQUVlOTQ3IiwiMHhGNjNmOTkwMDI1ZTRCNGUwM2ZlZThiYzhCNTFDOTAwMDIxNTE3YWM3IiwiMHgxNDVjNDIxZTRBMDhCOTlCQTU0QTg2NjgwNDcyN0M5NGIxMEFjODhBIiwiMHhCZDgzZDFGMDY0OEY2OGJiRTY3RjdFNjg3QmYyMUMwM2Y0YzM4NmY5IiwiMHg2ZTBmOWYzNTM5MzAxMEFDYzUwNzUyQTU3YWQ4QkNmMjJCOGUyNDc2IiwiMHg4MTAwNTJCMjFGRDg2ZjM1MzlkNjYyMzQ5REQ4Qjg5NDk3ODY1NTYyIiwiMHhkRDQxN0Y4MTc3N0I3MjI1ODQzRDBCRkMyNGQxZWQxZjNEZUMwOTk4IiwiMHg2YkQ4YkQ0NEQyQTExNTIzY2VmZDBEMDYwNGQ0QzVGMWRBMTU5YThCIiwiMHg4OGRGMUQ5MDVEMkQwN2QzRjcxMjgwRTdiQjhhMEM3Njg5MUZFRThmIiwiMHhhMDc3OGMzMDkzODM2MGQ2RkEwOTJiRTU3MzBFNTE1NTM0Y2U1OGExIiwiMHg0RDY3RkQ3NjU5NGM5MGE0ODY0YjM3Q2Q1NzVmNWI4Njg4NjNmOGVDIiwiMHgxRDg2MjNGMTdGMzhkOUQ5QmU3NTk4QzRjRTA5REQ5QWFDRjIzYkJFIiwiMHhmMjlCMTI3ZjdENjBFRTI3MkFGMzVhRmExZWZkMTNhZEIwNDU5YzZCIiwiMHgzNmVlZkUyYkM5QzJCMTAxOEY3MkY4Q0Q2N0JlNjViOTk2YTVjNDk3IiwiMHgzMmVhNjZDQzg5Y2ExQzY0NkJlMjM5M0JCZDYwQmM4YjE1YTU0ZTc5IiwiMHgxZGRCNmJkMUExY0I5MkI0RmQ2NTI1REM4QjRBY0NCMzU2ZkNhMDZFIiwiMHhjZjk5NDRlQzc4RDg0QTM5ZjZlMDU1ZTFFQjRDYjg0MjQ2RDk3NzJFIiwiMHhiZmUyOEJBQjA3QTIxMUJBRUJDNjZEMDEzRjUxOTM2NkM4MGRkMGZkIiwiMHhDRDE4ZTEzOWM5QUU5RjE4M2NkMmRDYUYyNWIxN0VhYjNDYzExODJFIiwiMHg3Rjk5YjFFZkY2NjRjMmRjRGVCQjIyN2U0NDkxMzk1ZDg1ZTYwZWIwIiwiMHhiMDQ5ZjQzMGQzNERhOGYwNzdGMkYyODFEOWIxQ2MzYjg2NzYyMDc5IiwiMHg3NjMwM0JmNEU2OTFBQWM3OGE4NUUyM2NlNmYwNEEyZTI1N2VCQmExIiwiMHg1OTgxQjdBRTNkMzA0MTgwM0U4NjEyRDZhRUJhOTBCMDk0ZEM2QjU2IiwiMHg2YTk1NmQzYTg2NkQ0OUQwZWRBNzU0QjIzN0VhM2VlMEVBMmJmNjY4IiwiMHgzMkIxYWRBQUJhNzdDMWIzZjQ4OTZCMTY1ODgyOWU2RjVjMDg0RURhIiwiMHg4ZjVGZEE1M0ZkYUE1NURkM0MxQkYzZGFCZGQxNGIwN0ViOGU3MGMzIiwiMHgwMTdFZmJEMDJhNGRGZEVEMjZBOTg5NjE3ZTEwOTlCQWNlMTU5NkFEIiwiMHg2Mjg4MTMxYTlFNDhjRTE2NjkyYTdCZjQyNzYwM0E1YWRFMGExQjBBIiwiMHgxZjE3RDkzMjBCYjMzMzZhQzhiYzg2ZjAxNkU5OUY2NTNhNDVENjg4IiwiMHhGNjEyMTc5OGVEMkI1NGZjNjUzRUJCMjhmOTI4NEE2NzgwZTc2YjlFIiwiMHhkN2E5RjdBOTQ0ODg2MzI5MzgzQmE5QkQwM2NGZkI4Q0M1OTliMEEyIiwiMHgxNEEwNjdlNGM4OEJkNDBBMTIyNEIyNjdkYUM1NUM5MjNiMzllNzZGIiwiMHhFMDQzQTcyZjlkM0RGMUM0ODYyODJiMWU5M0U4NWExMEUxOWIwMkFlIiwiMHg0MDNBNTQ0M2Y5MEFjMDhDRGI5NjM0NzlhMkEyN0ZkRWUzZWE0MzQ3IiwiMHg5QWNmMTQ4ZDY3OEU2NjM2MDVmMzY0MUYzOGVjQTcyRUM0MTEzYTk1IiwiMHg3ZDEzMkFFZTgwNDBFM2U4MDhhODdCN2ViQTZkZGUzQmM3ZjU1ZjFFIiwiMHg1MWE4OEQyMDcyYTMwZDU4NTU5NDdGYTIyYWY5N0VBYjdjQzFmOTM1IiwiMHg1ODJCNjM5OTkxZmE5MmQxZDkzN2EyOTc1RWI0Nzg4NTM2NmNBNUY5IiwiMHg2MUJjYzQxMEU5ODIwRTg0MzBjODFDYkMyODA5MmNhMGM2Mzc1MjEzIiwiMHhFNTk5QjM1MTdkMUU5MGZDQ2Y3NjA1N0MwOUVBM0VBMzlBOERBQTJBIiwiMHgxQThDOTc4NDc4Q0IzNGE0NTc4ZGM1QUVBNkExODY0OEQ5MUEzMDlCIiwiMHhjQjY4MDkxZDYyOUJhQzVhYTk1MWYzNzNlMkFBZmQ5YmQwN0U2RTQwIiwiMHhlZTE2YzA1MzdFMTUxQ2Y3ZkUwMTE2MDI3NWRFYmFCNzMzM0U3RDY2IiwiMHg4MjZEYTYwMmMxYWUwRDMxOWY2MzBDRDc1OTE1QWMxMjY4QTk5QzNCIiwiMHhDQWQwOWJiQTdhMTM2ZDFlMjNjZjAwN2Q3NDZlN0I1NWExOTYxZDg1IiwiMHhEMEY3N0FlODZkMzgyRDFGNjM4NEE0MjU4MTVlNGMxQjdhNGRlYzJCIiwiMHg3NkIyRUU0ZDFBQzFFODUyZjBmMzlkMDA3NDRGOGFFMEZmMUYwNzNhIiwiMHgxOEY1MDEyOEIyYzg3ODkwNTY2ZmMyMzlFOTFEMzY2Y0QzOURjNjRkIiwiMHgyMzE3QjI0QTZlRkI5MTkxMzU2QTg1RjMxMTEwQ2NkMzE3N2FGQ0VFIiwiMHg5RDRhZmJjN2ZkYUU2YzNENThmZDg1Njg1ODdDNmM1NDU2MGM1MjhjIiwiMHhmMkZBOGRiMWIxZjZBNjA3MmNBMmU0NGE5YjEwQ2E5MDVmQjBDOGZBIiwiMHgyMzcyRjlhNWJlZjIzN2EyOGRkODc1RmIxQkVGZDg0ZUE1MWY4ZjRiIiwiMHgzQ0NFZjQzOTdjQ0JmOTIwNjUyMTBkMjBGYzZjMjM3MTZhZmJCMzMwIiwiMHgzMTE5NzIxMDU5YzhmRjdEMTU4RmQ0ZkI3NzU1NkZGNkUxOGJFYjdDIiwiMHhBMGU5MkEyQTM3MDI0Yjc3NkZjOTdkMzczMkE1OEYxYjcyQzg3YjAwIiwiMHg2NTI4YWNmQUEyMjY1RWI1NmMxMzREOWZhNTFhRGI4ZGI4NTg3MzI1IiwiMHhmQkExNDBkN0JlMTFlN2RmZDVFQWJmNDAyOEYzNjEzY0U3OUJFQjAyIiwiMHhlZDdjNDhjOTk5YjY5NTZCRDY2OEI3RkIxNDYwQWVFNDZlMjkzN0ZBIiwiMHg3MTVENThBYWQ0Q0RCRDM4RDE2RWZkQTA2QmYxZkI0RDFCMmM2QTY0IiwiMHgyNjNCZWI3NGZFODcyYUYxMTQ4ZGYzMjgzREFBODI3OGYwOTQ1NEVkIiwiMHgzQzUzMmVBZTc3ODc5NjlhMTg1MDM1MDczMjZCMUUzMjRFY0Y3MzI3IiwiMHhkNkVGQ2M4NzFGMkM3Q0Q4RWQ0Nzc1MTM1NUYyOUUzQzg3NUMzZjlCIiwiMHhCMjA2OGFjZWY4YzgyOUMyOTFDRDlFMThiQzYxQ0I3ZWQ0MmVhNjM3IiwiMHg2ODU5ZTIzY2NENDgyNjEwNDZkMjFlNkM0YUUzMjIzZkYzYjYxYzE3IiwiMHhmNTE1QkZFNWM3ODViRWI1N0ZiOTNjNjJEQzI4NTY5ODkzMWEwZkY3IiwiMHg0MjliYjg5Njk3RTBkRjE5RjRkMzkyOTc4MjAzNTQyNUI0MzhFNzI4IiwiMHg1MGYyNTBERGY4QjE2OWQ4OTBjMDQ0YjllNDAwMTg0OEQwQjc4NTgyIiwiMHg5QTkxRTUyRDI3QzVkM2Y2MEE1NGFlOThFODllMmMzRDJkOTU3NGUxIiwiMHhiMjY3MjNGREIxYjA4NTZhMDBCNDZEYzZGNzM3NDBjMTkyNTMzYWY0IiwiMHhCYTc0NDZCNDUxNGUzNTY5RGExYzAwYTg0ODJCZjYwZDZhMGM1NjhDIiwiMHg4NWJENTlENTg3NGE1ODJFOTYyMzk0NTE5NDg1YjA3MDgzMTE3YTUwIiwiMHhGZkE1NDgwQkY3MjAwNWYzMjUxQWNmNjU0ZDY5MTQ3MzhiMzM4M2FGIiwiMHgzQjcyODUyNjc5MUNkMTUzOTczQTY3ZTI5NTVkN2NiZWMzMGJERjc1IiwiMHg5Q2NiNzlENjUyMzE1MmFFZTREQzJiRTU4MjJmRGJBRkQwRDYzMjExIiwiMHg5OUUzYzVlNjc3QTQ0OTg1MTBhN0RmMTk0MTY4OWE4NWVlMWQ2ZTQ2IiwiMHg4QjYzYTBCNGQ4QUZmMEY0MTUwOTFkYzgwMDU1YTlmOTZkMTIzMjM1IiwiMHgzM0QzYzhlRDRFYzEyRDhBMmE3NjM1MEUxYUQyNTdhMkYyMTZlZmI0IiwiMHg3NTRFRDU2MDJlRWJGNDU1ODVEZTYxMmMyMjJDYzM3ZEU3ZGEzMjFFIiwiMHg1ODBENWZGODA4Y2RBNTI0NzE2NWZlRGFhRjY2ZWZCRTUyZjIwNGY2IiwiMHg3OEEyQkQxMDVlMTNjMTI2NDg0OEY3MTVCN0Y4YkU2YzUzMzEwYTk1IiwiMHgwNDYwNTRCNjBlN2QyM0QwMUEzNTE1MzNkQUZhMDgyNEM4ZTk0QTE4IiwiMHg3NjlhZjUxNjdBNkUwNjBiRTIyZDcxODdlMTZlMTEzMDRiNTEyZERBIiwiMHhlQTVEMDNkOGRkOGVjN2ViQzY5OTJjNkY0MTU0OTYyOTUyNEU0ZjRhIiwiMHg4ZWRENDRiQzE4ZmM1QUREQ0U0RGZBNjczRTgyMjIxNUE1MkZkYjMwIiwiMHg3N0ZCZDQxNGViYjdjZjc2RkNkODNCYTBFQjAyZTUzMjUyN2ZFOTAxIiwiMHhCYURBODAxODY3YmRjMjZiOGY2ODhmZTkyOTJlOUZlMTdmNTFDYjJCIiwiMHg3RjQzMUZBZDJFZkYzQTVhMEY5NTc2OTQ4MDQxZWVlOURjZEJiNTdDIiwiMHgzMmU2N0Q3MTlEMGE2RTRlNDgwOEQ4OTc4NzkxRDk5MzQ0RmQwMEFjIiwiMHhkOWEzRDYxMDg4M0YyQjdkZjhGOEJkZDEwNzQ4N0ZlQmVmNjc0MzRjIiwiMHhmMUY2ODA1MjYxNTk5OWIxODZkYTlCNTdGRGEyMWM0YkU1OTcyQjZiIiwiMHg1NTZCNTJlNTE1YTJCM2ZjOGI5M2JjMjAzMTAxNjcwZTdmYjg5ZTE0IiwiMHg2OGRDNjM1ZGU5MUU4QUQ2MzMyMjIxOWNiMDhCRDk3NDM2NDMzM0I5IiwiMHg4ZEJCMzk4NjU4QjBERDQ2OEFkNmQzMjMzMzNGQTI4N2I5ZjQwNmQ0IiwiMHhEQmY3QWJmNkQzNzI5YTY2NTVkNzdEOUQ4ZTcwQzA4N0ZlOTdiMzQ2IiwiMHhjOTk5ZkJiOEY5RTdmMGJCQTEzYzlFMUIzMWQ3MUUwOTk2QjQ0ZjQ4IiwiMHg5MTEyNGIzNjEyNzg3RUViODNEODgxYURGRjdCYzQ2NTEzZjk3MTJDIiwiMHg4NGU5MTlkMjA0MmNGRTFBNkMzMGQ5MTc1NzJGOTEwMDUxNDk2QjI3IiwiMHgyYUY4YjRkMkExMmQzRTE4MTBmZTQwNDgwM2M5OWQ4MEFDNGUyMGMyIiwiMHhFYTc0NTA5MDQwZDU4QTA5OUJmNjE4NzYxMzA3OWE2ZDRFNzMzZDVFIiwiMHhiMGMwNkI4MTE3YmNFODY3NGMxOTc5OTQwMDhBQWIwQUVjMDlGNjM4IiwiMHgyMTJmNTY3MTVlQjQwQ2ZEMDA0RmE1Nzc1Zjc3N2U4YTAxOThDMkRhIiwiMHgzOTJjMWI4OGUyZkM4NDgyYzhjM2ExQzhFODE5MTY4REE1YmNiNThlIiwiMHgzNDY0QkNlMzQzMkNiQ2E1RUZGOEE1MGQ0OUFmNUZmNzZGZThmYzMwIiwiMHg0Qzk4OEU1NEIyNTMzODk2ODNEMzA0OTRFNEU0RGExMkJhOTg1YkY2IiwiMHhFYTM1ODk0YmIxRjgwRWM5NDlmOTdiRTlkQzRCODUxNWNjRTRhMUQ0IiwiMHg1ZDMzY2ZBZTdEYjQyMzVhZTlBMzNGNmRBNkQ2ODIyRTg1NGM2RWJDIiwiMHhlN2FjNmY5YmQyYjBBQ2YwMzBkN0U0ODJmRmVCYjc3ODliZTEzZDNDIiwiMHg4MUJiQzVjMDRlODQwODYzNDgwRDYwN2Q4MDI5MjM0MjlkMkZFMDc5IiwiMHgwMmYxNGMyNzAzN0JkMzBmMThBNjU3ODU5MGZENDBGQUZEMzM3NmZmIiwiMHhDZDgxRUZEY0Q1ZWUzQkVmYkFkQ0Y0NmNlRjFiNEMwYkY3QjQwRGYwIiwiMHg5ZTQ2NTA0ZjQzOWE2RDE3QjY3YzMyN2FDNkIzNzE5QkJBYjhGM0FkIiwiMHg1OTJhMTdhMWEzQmIxRDcwREM5QjYwMjk1N0YzNUM5QTUwODgzOTRCIiwiMHgxODljRTg4YThCNzc3YUU4Y2I2RTZFQzhDZUVmMDUxOTU5MTkyYUE0IiwiMHg5OTFFMEM1MmUxNDQwZTY4ODlBYzY2QTg4NERkQTUzOTE5RUI1OTg1IiwiMHgyODdmMWUzOWZiMTQ5MzRBNkFmOWNkRDg1OTgxODQ1NGQ1YjEzQmE3IiwiMHhmMzBiNkY3YmI4NTI4MGNiNjhmZjc1OGZEOTAwMDEwQzA3MzMzMWExIiwiMHhBZkViYjg4MTUxN2M4MTRGYTYwMThhYUE3ZEUzOUM1NTMyZTlDOEMzIiwiMHg3MThiZTBjMjQzMUVhZEQwMzVhOTkyNENBNjhEYmM0OWMyRDFiNmU1IiwiMHg4MDRDMjc1MWQ4M2MxMzkyMjUwMTFFMUVBODUwQmM2NWI2NkQ2MjhFIiwiMHg5YmUzMjM3MURFODVEMEE4Yzk1ZDJDMzMxMTM4QzhEQTczNmNlNzgxIiwiMHg2QTlkMWI1OTJhOWEyQzRBODJmZThCMTBkZTViZUFDOGFiODY5YmM1IiwiMHhCYTUyOTQ2ODc0OUIxQjVlMjM3MDc2ODJFY2NhM2U4NTZhNDE2NjNiIiwiMHhDNDAwMjQzZUMzMWJhNDA5Yzc2MTY1Y0Y1OUY1YURFMzQzYzBFQ2MyIiwiMHhENkM4MWQwQTQ0YWIxNDg1NGQwNzhDNTU2NzQwMEQwQjg5MWUyQUQyIiwiMHg0YmQ1MkFjZEJhOTU3MTdlZTVlNDE2NDRlODkwODUxMzBGYTM5RDI1IiwiMHg3MEUzOTY1OGZEYjU5RkFhQjQ1MjM2MDAwOWRDNzZhZjI1NEYzQUM5IiwiMHgwOGE2NTU5NmEzNUY3RTIyRTk1ZTQ2ZkRCRmFmOTk0MTFEZDVlOEU4IiwiMHg4NDVkMDM5YjdGMjg3ODkxYmY0NTcwZGMzNzIzN0I3NDQyN2ZjMERGIiwiMHgwQWJiNmVhRkYwNjdDNDVjNjdhMjhGNTc2RTYxZWE0YWRlYzNjZjJiIiwiMHgzNzU5OTU5NDM5ZUVkMjhGMTQ4RTY4RDBFMThFRTFBNEI3ZTU1OGRjIiwiMHgwZDBmMjJmYTE5MWZhMUM5NjQ0YjBkYmY0NGRBMjhEMWYwNzNEQ2U2IiwiMHgyMTA4NmMzZDM3NzhBNjI4NEI2MUNGOGMzZjMyMUY5N2JlOTVEMDUxIiwiMHgxMmI5NjIyNDU5Q0FDQUIyZDc3ZWEwNTg1ZEQ5NzBDYkIwNDJmNEZEIiwiMHhGMDQzMEMzMzRGMWM5ZkJBM0YzZkIwNWI0NkI3ODRGREFGNmVDYzNGIiwiMHgyRkFENmNiQzE1Q0I5RDhBNmM2ODIzRTBFQjYwMDc0RjYyMDY0YWNEIiwiMHhGRTZGMWE0NUZDNTFGNTM4NTU5MUM2NDM3YTcxOGY2NGZhQkJEYTIwIiwiMHhCQURiZkRiZGVDMTkxM0MxMjE2RjM5MEM2ZTNEN0I1NjMwNzMwNjA0IiwiMHhmMjhBNTFhMDI4N0Q2MjU2Yzc5MWUyMDcyMUU0MkIyOTNiYWYwYzAyIiwiMHgzNTQyY2ZhMGVkYzU4RmJCMTI1RThEYkEwYUUwMzBiMTQwNjM2MzMzIiwiMHhGMzNhOTE4NEQ0YjJiNzA4NDgyQjFmM0RFZTA5QjREZjlBQTRBREJFIiwiMHg2ZDlkOTJFZkM4RUE1QkVjYkNEZEU3MjEzMDdjM2QwNWQzNzEzMGMyIiwiMHhDMTc5ZWNDMkJmZGRBNEU3MDlhQjExNzg0MURFOTVFNDg4NWJDOEViIiwiMHg0OEI4ZTJmZTNkZTYyOGUzMWM3ZjBlNjE5MjFGNjZlMENGZTU5RDcyIiwiMHhGOUFBNEYzODUwNjUwMkUwMDFiRDAzNWQ3YkFDRDJEMDMzOTg2NzRBIiwiMHhFZDRjYzFFNDdmZTc1OEZEOGZBNjMyZTlkOGM0QWVhNjk3ZWY1MmFBIiwiMHhkZDhlMGRmMzk4YTBhMzJmMzRGRTcwNzhDMDJEOWQxMTlBNDJGN0NkIiwiMHg1RTcxOTA3M2VlMDIxQjlDRTE5YzVkQzJkNUYxNEMxZGM1ODRDQmViIiwiMHhGNDk4NzZDQzdhRjdFNEVCNmYxMDk0MDQ2RGY4ZDQ5RDAxNWQzNzk4IiwiMHhiNTQ3RkZBNmY0RDM5MzBlNTA4ODg4NjA5NDkwMzc4MGE4ODQ5RDU2IiwiMHhiMDI2NjllODZmMjc5NjY3ZDdFOTFjQzFFOTY5YTAxOTM0MUZDNTJFIiwiMHg3NjVCOGU4ZWI0RDAyOEQ4Yzc2NkZCMWNjM2FmNThmMDk0YzA2ZWVEIiwiMHhjQzAxNmI1NUVENzIxNjdhRDU2MzE3MTI0ODc2NTU1YzJFOWMzNjcyIiwiMHhiRDU4Nzc4NTAzNGIyQzJlRDI2MmQ2NzAyMDFlNDA0NEFlZkQwOTg1IiwiMHg4ODE0MEMxQTk0MDY5OGM2OTEyM2E5NUMzNjBFNzdlRWZiQmY2OTgwIiwiMHgxNDU5MDlFMDJFZmY1NzVBRmMzMjhlM0M5YzJkRkI0ZTZiM0JiNjFkIiwiMHg5NTQzMjI4MTgxRTQwYkJjZUVBMkYwYTVkOENENEI3RTgwNGU0RUZhIiwiMHhCNjZjODREMEQyMDhGMkZlNTkzMzc0RDE0NDdmREZCMTQ2QjJkOTlkIiwiMHg5RmY3M0M3YURCNzJBZjcxZTUyQjU1ZDI3ZTI2OUZFNTg3QWQ5QzZDIiwiMHhBMzRlNUZkNzlEODhlOTM5Njc5NEEzMDEwYWVmQjFENDNkYTQ4NWIxIiwiMHhjZDFlMWVlMDhmODhFZDhlYjcxMzczMEE3MzQyQjlDNTVkMDU5NkNjIiwiMHhkMERmOTEyODUxZkQwNjQ1NDBiQzE2MTNjNTM5RjVBMkJDZDk3ZmYxIiwiMHgyOTI4NDY3NGU2RkMyMzAxNjlFOEUxRjk3OEU3Q0Q5MTZBRWNmREU5IiwiMHg2MDY0NDI0NENhMjg5YjBkNzFjYTI3NDNCNTM0NDRFYkUxNjlhOUU5IiwiMHhiNDA2RjYwYUM5OEE4MTI1YjE5MDU4NjVGN0UyMzBhNUZmNzBGNjdkIiwiMHhkOTI2NGYwOTg1QUNkZTk1NjVEY0U5QjkzODNGOTY0MjM4YTFiMzI0IiwiMHg4MTQwNDFEZTc2ODZhMUQ5NGJjMTVjRDJjQTdBODZjOGZEMjJiNmMyIiwiMHg2QWU5QzlGRTFjZjdkZjkwYzdCYTU4NjQ2ODBDRjRBOTUxMkIwMTljIiwiMHg2M2VlNmI5MjliMzZBRDgxMDVCQTVBMjZlNmNhZDhiMjJhRTJkQzM3IiwiMHgzNjIzRDJkMjcyNTdGYjRhRDVCRUM4NzZCMWY3NUIyNzgzYjIzYTQyIiwiMHhhOGVGNERmMTU3N0JlMUExQjRlODg0RUI2N0FlRDQ5NEYzOURjMzZkIiwiMHg5MTZmMTJEYkRCMjJDNjA3OWNCQzE1MjllMDJiOTU3MEYxNGMzYWY5IiwiMHgzNDc5YWIwRDkyQkUzM2ZiNzcyMEZFNzU5Njg2Zjc4MUZiNjZkNTcyIiwiMHgwODlFQURkZTdFRjVkNUI0MzA1NGZlZUIzODc4OUEzYjNjNUQ0MTZkIiwiMHhkRGYzOTJDOTM2NTYwMjY5RDIxYjM0RDNBNTE3QTBGRDc4OGExMkRCIiwiMHg4QTAxMmM4ODJkNUU1ZEFkOUUzMjA0MmU0MTFhMDMwMjZhM0MzOUZjIiwiMHhhN0ZhNjIxZjJCMjVGQTQ1MzFBNERmRTAyMUIyNzMyM2I5ODgxZGY1IiwiMHg2OTRiMTkyMEJiRTljQjYzMTBkMkM4NTVEMzVGNjUzMjU4MzgzMUQ3IiwiMHgyMzRFNTBEMWU1NkI0NDI2NzVBQjY1OTQ0Njc1RjBmNzg5ZTc4NUY3IiwiMHhDRkNiMDExYzc0NWIzNTM0MkZhZDU3NTg0QjFiMzhkQzlFMzEwZjk2IiwiMHhlNzNmRkI5QUE5RTVkOWVkRWEyMUU4ZEU1RjI4ODBDRmNiQzI1RTQxIiwiMHg5Mjg1YTBmZjA4ZTE0RWExNzMxNTM4NzAzRTc2NTM1YTg4RjMxRmQ3IiwiMHhlOWE3MDNGQjA2YTA0RDk1OTRCMjQ5YjczMDliMDVDZEJDNjQ4ZTQ5IiwiMHgxMWE4QWIzOGZGOWU5RDJFYWQ2MkI1OWFGQjM3NTQ4YjIxMGQ4NzEwIiwiMHhGODk4NDcyNzJBRjdBMzFiNTM3RjUwNkVEMDk4NzI1MWY3Qjc1ZDdjIiwiMHg5OUFmY0I4NTc5M2UxMTFDZGNmNGVENzFGNmNjRjQzNDQ4NDkwMzdEIiwiMHhGODI3YWE3NEUxMTg5NTFDNmIwNjhGYTFENDUwMjIxYTMwNjg5OTg5IiwiMHg3MkE2ODAwQTFFMmMxRTU4YzIzNGE5MmY0OGQwQ0JCMUY4NDQ0NWVCIiwiMHgxQ2EwNzA4YjEwZDQ5MDgyYzFEYjlCMDlGNjhGZjc5YzM2NTU2MkEzIiwiMHg5NDgyMzhFN2RiYWU1RTliNzgyMjMyNDMwNGE5MEM5QjZkMjAyMjJGIiwiMHhCNWU1Zjg0MTY3YTY5ZWQ3QUMwOUE3MDk3NmVjMWQ1MDc2Nzc1MjM4IiwiMHhjOWQ4MWI1ZWIwOTkxNmE1MzhDQzlCRTNkRTY3OTEzMDgxQzBBZWQ2IiwiMHgzNDEyMzViNGE1MWY4N0I2ZWU3OTgwMzMwZEI0QjEyMjM4MTZjM0EzIiwiMHg4YTVGQzVFRjUzMjU4RTA5YzhlMmZlMmVkREQxNmEyNjA0ODQ0YURlIiwiMHhCMzAxODIxNTY3YjJDOEI3QTQwNDUwMDA0MjdlNWMxYzg5QmM2NDQzIiwiMHgwMzI4ODA0MDZjOGFCNjU1MUMxMjEwOEZGNzcyNDlCN2NEYzQzZWE5IiwiMHg2YzZGZjg0MzYyOWU5OTQzQjhkMjhmNWQ5YTc4MWY5MTBjMTU2NzA3IiwiMHg2ZTQ1RjBDMGFkYWJjQUYzNTMzQzYxNUU1MWM2QTU3ZUU5Y0Q2NkU3IiwiMHg0OTlBRGJBRUYxZDY4MTQyY0U4MjdDMjgwQTJlMDI3ZDcxNUJkZkVmIiwiMHg1N2QxQTcwMUQzM0JlODk2OEMxYzFlZDQzRjk4MTdjN2I0MDY5ZDgwIiwiMHg2QWQzOGMxOUMzZDNCMzVkNjdFMjVDZjM5YjBkOTAzY2Q5MGJmNjU4IiwiMHgwMzA4MUY1NjAzMjVhN2MwOTVFQjM1RjIyNzI4NTIyREVhMDNmRUViIiwiMHg4Rjc5MURBM2I4OTVEN0JENDViOUQ3MTI0MzI0NjU0NDE0ZDNjOTFiIiwiMHhlODE2RDI0YzQ5MGRlODgwM2NBYjI2RDZGM0E3QUE3MmU2RGM0Nzk4IiwiMHg2NkM5NTNiNGQ0MjFBMWE3MWJGRDFBRjNFNkE0Q2ZiQTg1MTE4Qjc3IiwiMHhFMjU3QzE2NUVCZDYxYWI0NGU2RmZBQkQyMkFlRDNlZTAzMTIzNjVFIiwiMHhlMjg1ZWY1ZUNlNjlmQUEwYjk3MDRhMjIyQTdmMDI0NWZjMmQwNjM0IiwiMHhDODAxNGYyMjFFNjZCOTQzZWY3ZDI2MTJGZDJDNDJGMWVjMmIxZjkwIiwiMHg0ODY3OTJiY2RiMTNGOGFhQ2Y4NTI4OEQ5ODg1MEZBMjgwNEY5NWM3IiwiMHhlOUI3ZDg1ZUI1ZjI1NzViNTQyNzI4RTI4MjRhRjRFNzhmYTk0MEJFIiwiMHhDMWUwYTEwMTdEMTVmRWE1MzMyNzYyNTdGOGExNjkzYzkxNGYxMjkxIiwiMHhDRUIyQTEzMkNGYzAwNkEwNTBGYkQwRDYxNTYwYmNhYTY5NzZkMENBIiwiMHhkMjE1MjU1OTFBNjQxYzI0NjM0RTBkREQ0NzNFMDQ2MjI1NTk3ZTdkIiwiMHg2RDQwYjI2M0Y0M2Y0MWRlNjIyNjZDRDJFNGU5NDYxMDQ2RDY5NDYyIiwiMHg0OTQ3MDM1MDA2MWNjRkFGNzZiYjIzMThEMjMxNDYxMDQ3NjJGMjliIiwiMHg5NDA0Y0M5ZWExMjdCYjM0OENhNkJBOTc3M2FhYzUzZDU1NDIwQzYyIiwiMHgxY2ZhNDEyMTI1Q2VFZWMyM0YzZDFDMmUzODNhNzIwMUI1ZjIzNjI4IiwiMHg1YTJEMDExNDUzZEJmNEE3MzFENmE3MzNlNzMwMGFjODQ0NmI2N0M0IiwiMHgzNjA4NENBNTYzMjIzMTA0ZWViN0Q3MGI2NzZCM2I1YzdFYjc2MWZGIiwiMHgzM0ZkZjYyNzcyNjdGMTE5MUQ4NjM0NjY3NjY3MUI2NzU4MDhEN0MyIiwiMHhlODZiRDU4OTlmODVlYjk5N0RGMUE2MTczOGYxZmY1NjQwM2JBYWU2IiwiMHgzNDFmNUY0RTZDOTViY0YxRkNDQ2UxMjcwMTFkN2RkNTRGMjc3MTJmIiwiMHg5OTFlOWIwNTdmYzkzNTUxQ2ZGMjE2MTkxQzQ2NTAzNkM5MjI4NTQ5IiwiMHg2NTQ2RjRGNThhOEU4MGU4NjdiNzFmZmQ4Y0U5OTExZDU0NzI0OTNhIiwiMHg2NjNhMDdmZTZBODQ3NWQ0MDYxQTkwQ0FCNjEyZTk1N2VFQTE0ZDc5IiwiMHg5MGU2MWJjNkFjMEZCMzZkYjE4MDA5MUQwYTRkNTVlNTllQjAyZTFiIiwiMHhlZjAzNUY1MmU1YTg5NzRhZEJGNDM4MGUwMjBjRDRBMEEzNDlDNTE3IiwiMHgwRjMzRjU1ZkM2MGEzMDBlOTdjREVDNGM4YTlCNjgzQmVhMDkxNjhkIiwiMHg3REM1QTlDOTk2MTkyZmQyNTIzY2JCOEY3QTYzODI2N2MzNTVmNjk5IiwiMHhkZDdENkM2Mjk3NjMyNWZiZGE2ZTNENkU0RWQ1ZWI5OGM0QTliMUQyIiwiMHhiNTczMTU3NDgwOUMwY2NiMmQ2QjYyOUVlQjFGNDJFQTE5ZTI5MTFkIiwiMHhCNjFBOEEyNTE2MUUxMDJhZDkyNUQxYTA3NTM1YTk5MkVjNGEwYTM4IiwiMHg1OEJkYTFFRjI2NDhkNjA0MTgzRjkwYTE2YTRGNzY3RTAzNTAxYjk5IiwiMHg1MkY2NkEyNTdjOEY1Qjc4NmJFMkYyRTM0M0VEMmMxNzMzQmJFNDcyIiwiMHhkRGY5MTRFNzA4NTg2MjlhMzA5M0JGOTBFRDZiQWVDODUyMDhCODRkIiwiMHgwRTI2NTc4MTYxN2YxMzkzMENFMTcxNjQ1YzA4QUQ0RUZhZjA1ZDkzIiwiMHgwNTFCQTdFMzg1N0NkMmE1RUI4MDRGMTk4MDMyMzQzN2UxRDk4NEY1IiwiMHhhYmRkNmQ2M0ZFNDUwYmJDN2MyOTM0NzQ2MDVEZDMyMzEwMTEzMDg2IiwiMHg2MWMxM2UyN2FBOEU5NjdkNTJBZjBiNmZGY0E5NTgwMGU1QzI4QkRiIiwiMHhiMTFjQkVGNjZiNjJERUIxODE0Rjk4NzZjYWNGZTRFMkEzQUZBOTRhIiwiMHhjY0MyM0QzZTUyNzUyRDIwNWJFNjU5M2JhNkUyNmE4MkI2MWI3NTcwIiwiMHgzYUMxZTBDOGMyQjVmMDEwMjIyODQ2QUUwNjQzNmYyNzYxN0NBMjY1IiwiMHhBZDMwY0UxQmZmMjU2MDc2MjFGQzZFRDRmYzk5RTVkN2JlNmIxMzMwIiwiMHhjQkVEQ2IyMzU0N0E0ZTY2MThhNjdDZGZhYWRDNmFlNkRiNWIzQ0FkIiwiMHhGNUQ4MTRBMjQwMDM1MGJjZDFFQTFjNzhhMzEzMTk5MjBFMzJhQmRkIiwiMHgyN0Y2RkMyNjI0NGYyMzg2RmY5QzU4MDMyNjcyNDZCNTIwMjc1NzdjIiwiMHhkNUY3NjMxY2ZiMzg1NTFDNEZhMzgxNDlDOTlGREEwODk2MzJCNTc5IiwiMHg2OEJkQ0QyNDQzZDgwNzZBYzVGNzFGNzYwOENiODI1OGVDYjNjZkFlIiwiMHg2RWRFREM3MTAyQTAyRUYyZWE0ODBFNzcwMjVDNDFhOUFBMWVEY0UyIiwiMHg0RDkzNWQ5ZjJkQTRFM0Y5MjRBNDFjZTY0MDg1ZDAxYkMwMDQyNGFBIiwiMHhiRjU2Q0ZhODg3QUI1MGY0NGIyNDI5MUJGOTEzOURBNGZmYzZjMzRmIiwiMHhlOGQ0ZUQ4QTNBNjM2N0QxMTgxOUFDZDgxNDk5RjE3YmQwQzI2MTkyIiwiMHhGQzdhOTREZWIxYTYwMzM4QTZiOEE2OUYwN0U5OTdiMUIwMzQ4ZkQ4IiwiMHg5NDc5YjYyRkQxQ0IzNkY4RkVkMUVFQmIxQmIzNzNkMjM4ZDA4MjE2IiwiMHhCOTczQTczRmU0RDJhRjU1NDFlRDhlMzUwNTJlRTM0ZDBlQjMxNjRkIiwiMHg2MEIyY0MyYzZFQ0QzREQ4OWI0ZkQ3NjgxOEVGODMxODZlMkYyOTMxIiwiMHhlZTcxOUQzNjU3OENBRjQ3MmE4M2JhMDI2MTkzMTgwN2E3N2RlOEU2IiwiMHgwZUQzYjA2YzI1OGRlRWJkMDM5MjlmMTJlMUVFRTM3NjFDMUY0N2RBIiwiMHg0NTczNjJGYjBkOGRERTA3NGE0QzlhOTEzYmQ1Mzg3NWE2MkE4NUI4IiwiMHhFMDg3OTNmNEZmRkJlNWQ0OTYxZjVFN0FiNUY2RDViYjJiQzhCQzREIiwiMHg2MDk3NmE2ZEQzNTBCODkyREY0ZDQ2MDQ1ZUQ5NDEyZTAxZDkwRjU4IiwiMHgyYzlFQWVEOTlhMGIxMjgzQ0Y5ZWJkZGZDZjVlMkFGZkRmOTk3MzJBIiwiMHg2YzVFNzFjRjg1QWExRThDODZFNWI5NWQ4QTkzMGE3MTI2OTBkOTkxIiwiMHgzYzE2OEY2ZThCMjhEOURmMzU2RUE0ZjQzMTViMTMxZmFhQzM2RTdBIiwiMHg2NzM0ZTFjN2VCMjBlNjM5ODk4Yzg4MTFDNUJjOTFkRWFCOTc2YjNGIiwiMHhGYzY4NURERTczNDJlQjVDNkQzZTQ2M2FDMTU5MUFlN2Q5ZWNiNzFkIiwiMHg2NjYyRjE4N2IwRjZiMjlDN2U5MjUyMGM5OTZiMkZhREJkNWI3QjllIiwiMHhlRkNDMDhBYzUxYUY1N0UyMmVlRTEwZjkzNDgzRUM2OTE2M2NDMURjIiwiMHhCMkNkNTBFYWEwZURBYmY2NDA5Nzc1RkNjNkIwNDZGNjUzNTk0YWRGIiwiMHgxM0VkMTcwM0JiYzc3YTNFNGQ3Mjg3RTIwM2E0RmNjMjlhRmQ0NjAwIiwiMHhCQUY2MzcxRUYyYzZEQWVGMDY3NkJmQjE4MEE3OTZmRUI4NEFiMkU3IiwiMHg0Mjk1RDcxQzU3NjAyQzMyNjBhMTAwZjU4OWVEM0EzYUQ2RjA1NzIwIiwiMHgwQkE0MUY1NjdkNzQxODE4ODk5NGUyNDU4NTFlM0ZFMEVGQkRENDk3IiwiMHgzNjBDNkRmOTAzYUVBREMyNUMxNzA0MTlBOWQxM0I1QUFjOEUzQzNEIiwiMHg3RUQ5NjhhMUZkQjBFMjUzMkFDNjQ0QjZkMWJDQjYyMDE1NTRmZkNkIiwiMHhlZGExMzBDOTRDMmZEODcyMWYzYjk2RjNjNTcyQTFBYzNmZTVmZkE1IiwiMHgwRTM1MzRjNzA0NDEzRDc4ZTVDOTYwRjhCZWFCZEI5OThkQTQ5ZUMzIiwiMHhiRWNCNjdGNzMxZjljRDU3ZTVGMzhiYzNiMEY1RTNEQjE3OUYwN2Q0IiwiMHgxMkU0NGRhRTc4MGRBNzA1RDRiZjlCRjI5QjY1NkNiQWI2OTQ4OUM2IiwiMHhhNjkwREU2ZkJCYTk5NTQ3Yzk2QWMwNjc2NzIxN0EwMjJlMWU1Q0Y4IiwiMHhDYmZDOWM5NDJiRjRhMDY3QjVjNWQyOTg1NUQyZUZFMDgxNDg5MDE5IiwiMHg5MGJlMWMwMmM4RmVlOTZiMDYxQmU3YjgyM0U0ZTdEYzRBOEJFOTlFIiwiMHgyOUNiM0M5YjI1RDY2M2NmQmU2MzdBMEYyYWE0OUExYzg0NzI5NDlhIiwiMHg1RmFkYWE2MjcwMGMzNjkyMkM5NWI1MURFMjI5NWRDNjhFY0M4N0FBIiwiMHhBOGQ3MmYyN0E1ZGEyRUY4ODZjMGIxYjMxQ0UyOTlCNzdBMzcyZjkxIiwiMHg4ZTdhNTlGQTMwYzA5QTg5ZUMyMUE5YzJlMWM1NjEwMTVhNGRhRjRBIiwiMHhkNTRGNzlGYzY5MDRkN2Q2RjM0OWQ0Mjk4ZjM0NGVEOTgyNzQ1NDU1IiwiMHgzNUJGYzljZTYwOTMyRGNEOTczMjMyNEVkYkU3N2REMTc5OEQ2YzBhIiwiMHg4YzMzZDExMDBkQzRmYzljOWYwZjkzMzBhOWUzMzFBOEVmNDM2ZTQ5IiwiMHgzZEIyNzQ1ZjE1NjNhNEM1NWNDM2RmQkYxMDE4NjI3NzcyY2YwMThGIiwiMHgxOTJEZDNCNmU3N2FGOTMwMjczRkFjOERhZDI0NjU1Nzc0MTI1NjVjIiwiMHhDNUYwMTkyNDJDYzNDOEMwNzZkYjM0MTRCNUZGM0Y1ZTA0MUYyMmJjIiwiMHhBNkY0RUFFN0ZkYUEyMEU2MzJDNDVkNGNkMzlFNGYzOTYxODkyMzIyIiwiMHhBYkM1MTA3ODZhQTQyNWI3NUVBQzlmMTQyZjZiQjdEQWQ5NmZBMThiIiwiMHhhOTRlOUU5NjFBRTc0MTk5MUUyMkI0NDlFMTZBMzQ5QjhEOTMzYkM1IiwiMHg4NTUzMmI4N2IzN2JhMTE3MjQ0ZDE5MGUzZjJjOTc2NzE5RTlhM2E4IiwiMHhlNDAwOUVhMWZBMzRGNjE3OTA2MjNGRTNjNjAyQjFjMzNDQWVCNDA1IiwiMHg0MERFYTAxRjc1YTk1MGRiOUFlMTk3MDdmNEIyYTUxRWMwODZhYUUzIiwiMHgwMzkzNjkzNTU1ZWI3M0E0ZGI3OTUzOTMzYzEwRjVGNkQxMzhkNTQ0IiwiMHgzODcyRjJhOWY4OGFiZTM1ZTY5MTE2N2RlMWVkMDE5ODAwZDAyMDhmIiwiMHgzNGNlODkxZUQxOUU0N0UzNTY0NjI1RTQyZjI3YThCNmRFQzgzQUQ3IiwiMHg5MjJBNjZkNWVCRGQ0MGY1N2FhYkYwM2M2MWQyMGQzN0Q3NDQ2OTRGIiwiMHhlQ0Q3YUJFOTg3MTExMDg4YjAyNjE4MzE1NTZlZEQwNmE1NTQwMTQzIiwiMHgzMzMwQTQyMDZlNTcyYzdBYzBmNGQ2ODA1Njc2MjREYTBCZjEyQzI5IiwiMHgzNDMzNTFDMEY3MDc0MmEyZjk5N0VmMDFGYjMwMDQ2MjRCNEE5NGE0IiwiMHhhRTA5OEVkRjBjOWU5MzZBM2ZlMDM5YzcwNzA1MzVCN0I1MDIzMEYxIiwiMHg0MzlmNmREOGRCOGE5MTdiYjU2NThlYzk4MmE4YTkyMkRGNTA5YWI4IiwiMHg0MzJkZDVlNkU0ZjI0NzViQjRiMTFBQmM2QzQ0MkRENzQ5ZUJCMjQwIiwiMHhENTA0ODFBY2ZmMTI2MzkwNTRhRGY0RWJGODlCMmRlYTJEZkY4MzUyIiwiMHg3MDQ4MzY1RjQ5OTQ3ZEE1OTFmRTY2MWJFNmIwMTVkMTQ4NmQ3ZjI2IiwiMHgxRGNCOTI3NTIyRUE2QmMzNmZhRDhmY2MzMjIyZTI5MTM5RjNhMjc2IiwiMHg0MTU4MjI1MzkyMUY4NEE4QjlkYzI2RjM0ZDBBYTg1ZDg5NmU1OTlkIiwiMHg2RDk2NzgzQkIxNzg3NzFmMDU0M2QwM2Y5Y2M5QjE0NzJFNUVmRWRlIiwiMHhBMjA2QjQ4ZUYxRTU4RGI4OTI4Q2JmMzE4M0FiQ2NBRTliNDdGYzM5IiwiMHhENDU2YkYwOGYxYmY0YmM4Mzg3NmY0Qjk0YzUwNzgwQTIwQ2M4ZjQ4IiwiMHgzOTJjOTJCMEMyOUI2NkVFQzlDNjFkN0I3MUI1NDVkNEJhOTk2Nzc2IiwiMHg2NjBFZDQ0ZUJlNTE5Mjc1MDQxQjgzYTlBQzE3NzdDMDhBZmY5M2FGIiwiMHg4QTc4NGEzMTA2YTdDMjMxMzU0MEFhNDkyMjRkOEZDRjA2NTlFYzJkIiwiMHhBNzA5RDhEYjhiQTk0QWQyOTQzOTA3ZUQ5YzE4QkEyMTUxYzFjYUQyIiwiMHg1NWVmZUQzMEI1YUZGOTAyNDM3NzFiOUVjNzFiMjA1ZEViRTkzMjZkIiwiMHhGODY2YUVFODFDMGY5MTZBM2Y4NjllMjg1ODgwMGU2QzUzMzUwQTY0IiwiMHg0OTBFMUQzQWU0NTA1QWEyRkE0NGM4OTIwNzE1NUVjMzkxMUZDNWQ5IiwiMHgwZjJmRmMyQmE1MDJBQ2JENUFlM0UzNzdiMzI5ZDJjRTZFMjYwMjMxIiwiMHg2ZDg3MTQ4NDI4MzIzYWYzMjgwZTAzMjMxREVlMzQyNTY1Rjc0MGMzIiwiMHgzQTZjMjU0ZkQ2YmM1OGFFRTAxQWUxMTQ2ZEIyODM2NWZlMjhiNDgyIiwiMHhjMjY1NTNiMjM1NUU1OGE3QjMyOTZGMDdGREI1ODYwZTNjQ0RCZDg1IiwiMHhGZEYyNWE4MzhiRTVhODIyM0JFOTgzYmI2QzNjMmZhZTY3OTRiM2E0IiwiMHgyNjYzNURBNzAyOTE4ZjdDMzA1OTdmNTI2NzhkRTk5QzEzZjc0YzdjIiwiMHgwODhhQjQzYjYwREVDNTZiZTc3OTNkNWFDOWU5ZmMwNzAyNDk0QzM3IiwiMHhkMGIxRWJhNTkwMDI2MzgzYjVhNkI5YTZlRDJFZTZiZTE5N2I5ODcyIiwiMHhhOTFjMjg2QzcxNjk2MzYzMTMzRmM2YmU2ODQ4NkRmOUE1MkFFZUZEIiwiMHg4ZTRDMzdiYWM3RGFDNDE2QUM2QzcwODA5RWE2NjBjREFENjY1OWM2IiwiMHhiMTM1NDIwNWUyNzgzNDAwNzM2NGJDZTdlRThhNDg5M0E5NTExQTFhIiwiMHhCMEY1NzA1MDk0NGFDZjU2ZjgyMWE0ZDNjMjBFNGRGNDM3NjgwQWM3IiwiMHhFQjk1MDU4ODcwNjg4M0QzYzlDNjQ4NEIzMTFkZjA2RDc2MGIyRjBGIiwiMHhFRkVhMjM1MDREM0VFRTM0ZEUxNWZEZmZlYjJDNjgxZkYxQTk4NzRGIiwiMHgxMkEwZDYzMDcwYkNDMTc1RTkwMjM1QUU0ZEQ2RjFGYjIxNzQ3MUQ3IiwiMHhEMWIwMDAzRDU4NkRFOWVDOUQ0NzEyM2U5MjY1ZEJDY0JmM0JFRTk5IiwiMHhFNGQ5NmVBNThFOTA5NzJBMGRmNDVDYTFEQzY1MDJGRWE4N2RjZEE5IiwiMHg5ODI1RDc3ZDgzZDI5OGMzMjJmMUZFM0ZFOGJkZDRjMTE0NjlkZUFmIiwiMHhkZWIzRWVCMDc3ZDk4QmRiMTQ3MjNFRDA0Q0VjYzg4RmMxMTM2ODVEIiwiMHgyMjM2YTk1MWQ0MjUzNzJiOEI2RTE5OGFkNzBFQmE4MTA2ZTUxQTFmIiwiMHhDY2UxNDQ5NzdFOTNhRkE0NjViNjgxMUJkYTlBQUYzODdlZEFCMzhBIiwiMHg0MjA2MzMyMzQ5MDk1ZjlFOGZlMjk5OEY3NDJkRTg0MDQxNDU1ZDcxIiwiMHgzZEQzRjQ5NzAyOGIxNzJlMjUxNzJDMzY1M0U0N2I5MTRiMDkxQ2M0IiwiMHhlNjc4MDQyNTM0ODUzZDU2OWY1ZmFENDg2NjFFOUEyOGI4OGNCNkRCIiwiMHhFRmUwNjI2OTM3RUNmNDY5MkYxNTkwMjVhODhiZGI4RUVCNDQ0ZTIwIiwiMHgwYUQ4ZkI4YzZhYzhGYTc0NDZGRDAwQkQ1M2NFRmE4RTAzRkMwMUQzIiwiMHg4OGU2MjNiNTJhM2E5NzljMkY4YTdCRTQ2YjZiMTNiZTE3NjMzNjlmIiwiMHgyNGUzQjM1MUNFYjY2YzE1ODRENzYzNUUxMEE3NmM0Yjg2NDM5NzM3IiwiMHgwNTJiNTA3ODMwNEU3ZDRiZEI1RTQ2NENmOTM2ODJBYjRCZjYwMjlkIiwiMHhDNUEwMzQzM2Y2NzkzMjg4RTY1ZUQ2YzVFOTI2NkZFRDlCMzI0NkUyIiwiMHgwNDIzNTlmNWE0MTQ4MTRlOThjMUEwMDIzMzdFM0E3OTc3OWMwRTUxIiwiMHhiYTM0YjU3NTkxYzNmNjI0RDlEMDBFM2JiMDE3MDA2MTYwMWUxNWUyIiwiMHhDMEQ4QkM4ZTQxZjhCMzhDMzVENTY0OTY0NzEyNzdhZEMwYTE0OTU3IiwiMHg0YTViQTM0MUY0OTM4MjdiYTZCZEZFNTU5MTQwNjgyZGFiRTY3Zjg0IiwiMHg3N0Q3YjhDNUQyMDcwOTAwNjA2YTQ2ODA5NmQ3MTZhQjViNjlhYjEwIiwiMHgwNmU5QTk5YWZCNzIyMzY4RjM2NzQzNTM0YzU1REM3NjRjMkJmRDA5IiwiMHhFZjU5ZTE1OTg2RERmOTVDMDVGZjE0MThCQzVDRjJjNTQ3QzM5MDk5IiwiMHhiYjdjYzFjNzcxOUNBYWUyMjBmNmE5MURFMzE2NUUzRjYxMjYxYjAwIiwiMHg4YTM5MEY5NWQ1QUZhQTlGNjMwN2JFNDhCODQ4MTZCYTRCMUQ5Y2M3IiwiMHgxQjEyNjc3MWQwODBhMjFhNzUzQmY1OEU1MjJjNzdEMjg4OWVBODhBIiwiMHg5OTc4NjRmMDg3ODdjRDRCQzczMUZBZTA5ZjRjQTBkZTY5NEUwRjk2IiwiMHgwMDNDZjkwYkE5YzQ5ZkQzOGNFMjBhMjM5NWVlMDI3NkJhRmVmMTI1IiwiMHg1NTI3QTI5YzZBNDYwRGNkMUE3NDRGOGEwZDIyNkY4N2Q4MzJkNjA2IiwiMHg2ZjMyMzYyZERjZWY5OEVBMTEwNTA2M2NGNEU5MDFiMDE3Mzg4NTIyIiwiMHhkNzhlRTBlQkVGYTZhNTViOTlhMzY4QTg1MmYyM0E2MGU0ODE4NTVDIiwiMHg0ODVFOEVCOGQyNWQ4RGQzMzEwMEM2YmZCMTA1RWMxQ2JkQzUwQTY4IiwiMHg5MDM5NjAyZTVlOThBMGQ2RkIwZEZDMjg2QWMyZDZDYmNiNjJlN0I4IiwiMHhlYjZhMmRhMzhlZDU5MDMxYjIwNDdlMWJmMDlDOTIyNDU5YkIyODUyIiwiMHhFNmNiQzEwNjY1ODZlMzM3RTQ2MjBBMzdGZEZiN0M1YzhGYjg2N2ZlIiwiMHgyNzkyRDc2MzEyMzdENDA2QjNGNjNhZTQ1OURBQ0VBN2M3N0ZGYTZBIiwiMHhFODljQ2IxMGJmM2VEQjMzQTk0MDY2ODU4OTJkQjMwMjA1MEUzMzQ3IiwiMHgyZjk5MThEODU0ODU1ODY3ODhlOURjODdkMjNCOTA3N0YzMjIzNGJkIiwiMHg2ZkMzMzhjZGJlMDI5ODBiQmM0Y0UxNjk1YzAxMmFBNThlMUQ4ODI0IiwiMHhEZTgzNTAzMWFDNWEzYUQ3MDg0MDMxMmE1M2Q3Mjg3Nzk5MTc4NjU0IiwiMHhiQzI3NjBCRkZmMDkwOTkwN2NENjU0ZUE2MDgzY2I3NzM3OUM2RTI0IiwiMHhlRjgzNkM1YjFlYjA4Y0FBQWI4YTg5OEI3QkFBMTY0OUJCOTZhQjkxIiwiMHhCNmJEMDFGMkI1ODU3ZTY4NTBjOEIxNWM3NjFCMDMxMjFjM2JhMjBkIiwiMHg5MjVEMzkxODQ0NEJhODIzNjVDQzRhNjhjZTAyOGEwODg5NDkwRmI0IiwiMHgwYWM0RjY3Rjk3ZGU0Q2U0MUE0MDNiNDE0QTVkYzk2MjVEQUY2NzkzIiwiMHg5Q2I5NDcyNjZDZmU1QkJCQTA3RDFGMzMzNzgwMUU2MmFkMGE4MjdlIiwiMHhkQzBjRTRiNTk0NjRCMmJhMUMxNzY1NGNhOTAwMDJDNzNiQzMwOTIyIiwiMHhFODY1RkE4NWFjYmJkQTdFMjc4ZWJmRTYwYTVkMmI1OWU0REQ5MzljIiwiMHgyMGM0OWM5NjZiMDBFNzBBM0IzNjZkRTgzMDM4MjgxRTU3N2U2ZURkIiwiMHgxNUZFYkI1OTc1MTI2MWY3ODcwZEQ1RTg3NUZGN2I5NDgyRDg0RUQ2IiwiMHhkN2NjNzE5NDI0ZDAzNTQ1NkUyZGU0QmVCNzQyNDhiRDEyZUYyZUVjIiwiMHhFM0E5NzE2YkEwZEE2YjgyMjk5QTAxN2I0QTYzNjc2QjIyYzkwNTFCIiwiMHgyMmE3QmNCZmNGNzgwODREMzc5N0VBMmNiMzkzQTdiMmFmY2Y3NzhGIiwiMHgzNTgzYjc3Zjg0YjIyMTJhQ0QxMDA3ODExNjRkMGE0YmVGRUQ4QjZhIiwiMHg1OGIzNUJGNUUyYTUwOTQ3RmYxRjM2OEI4ZTU0OTcxZDhDYTQ1NEJEIiwiMHhEMTliMkJlQkQzY0EwRUFjRTY0ZEY5OUU4MDAzMDZGYzJiMjIzNzg4IiwiMHhDQzJlNjc3QjJiODk2NDcxZEY2YTUzMTNCNzM0ZTc3RTI3OGYzMzg0IiwiMHg1QTgyQjQ4N0RCNWE1NWE5RGM4OGEzYmMyYjk4NGQ1QUFiNDU1NzgzIiwiMHgwZDY0QTk0MjgwOWE1ZjIzMDk3Mjc4N2Q5RjZCMzBBNzA1OEU2RDVmIiwiMHg0QTJGQjQyZjdFYTc2NGU5OUI0ZjQ4NjA4MkYyMUE5ZGRCNjk5NTJEIiwiMHhiYjA1MjgyRENFOEQ4OTljMUZmQTgzY0E1QzQ5YjU1MjgwZTMyNzMxIiwiMHgyOTQ5MTYxQ0M5M0M3NDUwMTNhMUFEQ2FBREVmNjc3RTllMzkwYjhjIiwiMHg2RkIxMEVjQUQ4MjA0ZTc5MmUyYjMwMDJDOUNBNTAzNjNhRDUxRkRFIiwiMHg4MkJkQ0YyRTM4MzBhOWJkNzYxMkJlYzg2N0ViNjJCOENGRUQwMGUxIiwiMHhEODhGMzQwOTQ4QzQwMGMzZjI2OURmN0ZGOTc0RjI1RDY1ZDZDN0NDIiwiMHgzYWM3ZTMxZjgzNDU4ODVkREQzNmMzNjQ2MTQ1OTllQzA2NGU0RjFhIiwiMHhGMUJFQzRjMGEyNjU3RDI5YTdmNjM1ODczREQ0OUY4QjYyOWMwZWE0IiwiMHgyQUY0MGE1N2QyRjhGMTM0NkM2MGM1ODlBNjFDZjQ1Njg1MGI1ODVjIiwiMHhDRDBGNzVlMjI0N2Q1M2ZCMjhEMjFiMzU0NUI5YUREM2MzQWIwNzY3IiwiMHg4NjY3NWI1MGE3NjQxQzA0Y0IxYjdhRTAzQUE0MDk3NDA0MkZlODNDIiwiMHgxRTc2MDNiZmU5YjA2MDc3YzJkRTkyMjE4ZTRFMDE2MjUxMjg0NEUyIiwiMHhEOTgwYkNlN0U0OTQyMTExODE2M2E4QmVjNTc4NTVENDExRkM2MTdhIiwiMHgyRGEwMjk3ODRlNEE2ZmZlNDc0RDliMjBiNDVlNDE2RWNiQjVkMzkwIiwiMHhlNTREOUYwMDlmNDkxZkZkZjRjZkFFMTBBNTcxMjc1MjcyZDY1YTYwIiwiMHhBNGExNDIzN0FDMzZEMzY2QzZlRGQ3ZmY2ODkxQTFmRjAzZkQ1N2EzIiwiMHg5ZDdhMURiYzM1RmFBZTYwNTNiODVGMjIyMTlGMDc2RTdiNUVkRDViIiwiMHg0MkQyYkFjRjhEOTVlYWM4RTFlN0ExMURhZmZGYmQ5NjA4NGZjMzhmIiwiMHgyMjJjNzZGQjcwODA0NDRjOTFDYTBkM0IzOTNEOUZDNzFFMzlBMzBEIiwiMHgwQjlEQjc5MTQ1NWIyOWNmN0FDOEJjMGVDZDNEOTVFMkYyMjhFODM2IiwiMHgzMDQyRjg3ZDA0OTdBMzkyMDk0QzQzQjI3MzA4MTRFMUFFNUZBNkMzIiwiMHg2NkE5RDg5OWU4NzYwQjBhYTg5N2I5YUQ3NjRlNDQ2Q0ZjODk3QzRCIiwiMHgyM0UwMzVBMzA2ZjkzQTRmQjlCYzVFQUNmOWJGNkI1OWRiOTRjNkMxIiwiMHhDNjVENDAzODUxN2RFMENjMUNFMzY0RWMzZjM2M2FENmIzNjQwMzJEIiwiMHgyYTQzODY1OTg4M0YzMTBlMGFENTYwZGIwYzgyOWY0QUU3NzM1MzkwIiwiMHhhMDJkMjVFZTgzOGJjYzVmRjRDRjk2OGIwNDQ1OWU5YTY4N0QzZTQyIiwiMHhjMEI0MjdkQUU3NjRCRmZmMzZiNDZFODIwMmFhOTk4Q0M0Zjg4OWY1IiwiMHgxYzA4M2Q1NTMzRTQzNEUyQUQyNjFlNkVkZmNDZDljOWY2QmQ2ODU1IiwiMHhkNDM5MTZEN0RhMjk5NjZEMjVjZGIwZWM4M2M4OEI0M2Q5OTBBY2QzIiwiMHg1RmRBODQ2OWM5QTAxOTQ5ZjlFN0ZjOTkxMjNmQUVDRUYyN2Q0MTljIiwiMHgwOUFhZDczM0VjNWIxNDk4OURkRDAwOUQ2Qzc0Nzg2Q2UwNjIxRjlCIiwiMHhEQUU2Qzc0ZjFCMGIwNTFEMTFCMmJGODExYmYzZkQxMjQxMzMwQzA4IiwiMHgyMUUzRDc4NzdkMTkxRTVENDkwMjkxRkVkOUYzMkFDMWJCRDVmMDIyIiwiMHgzODI2OTE4NDY4YzE4ZDJFZWZEMjI2NmQ5N0UwOTlBNDI3RTUyMzFFIiwiMHhBNUViNjIzZTlmY0E1NTk5MzdhYjBERTdhYjE1MzU3ZjE1YzFDZEJhIiwiMHhGQzliNDhiMUI2NWMyZkU5NmZjNTJEMmVCNTY5YWNFODBjNTYyZDRjIiwiMHg5OTJDOTdFMTc3MjUzYUVEYkQ1NDgyOTk3OUMwQkU5RmE1N2M1NUYxIiwiMHgzMDk4ZEE3YUI0RjhFZjczNjU5YTc1MEUyRjYxY2REQ0VGZEEyMWMyIiwiMHhhRDY1OUI5ODU0NUU2ODY4N0I0OTZlMkFCMWUzN0YyNTNhNjJCNjZFIiwiMHhCNGJENEMxYkRDQzVlN2QyY2VBYjQ3M2MxNTMxN2REMzQ5MTlBMTQzIiwiMHgwMkQ3NzAzMDk3YzlCZGYwZDk3MzQ3MDIzOURGM2I5Y0MxNTg5QjAxIiwiMHhGOTJBOTBBRDQzMzgwQjZlQmFCNTRmYjFBNTUwZDM4MUFGMDkwZDM5IiwiMHgxM2UyQ0E3OGM0MkZiMjExZTJFQzQ2QTIwMTRjZUZENzk0NjJDMGQwIiwiMHhFODkxMEE2RjE1YkJBNTk5MGU2RUI0OUMxY0UzNDIxNzgxODg5NTk2IiwiMHg2MzNFYWIzNkU2NjI4RkM2YTFlY2QzODU4MGM4NGI0MUEwMTc0MkY5IiwiMHg1ZWMyMEE3YUMwRTY4Yzg0OERENDBiZmVCMmQ2Yjg2QThCNGM4Q2M2IiwiMHg0ZjE2ZjUxMDZCZUUwMWRjNzU3MDVCMzg2ZEMyYjU5MkFkQzE0OEYyIiwiMHgyMTRmRTkyYUVFZjE1NzFjNDVjNDQ5MzkyZTYxQjIwMkQwNDM4RkEwIiwiMHgzOTMxNGFjMzlBNjY3YWI1QTQ0OWY2QzA4RjNDNTQ4NDBCNENlRWE1IiwiMHgwYzUyREU3QkI2OWVERDE0NEQ1OGQ3NzJmYWIxQ2QxOTY5MTlmNWVGIiwiMHhBRGI4RTI4OEJBQjM2NkE1MGQ0MGQzOTM5RmY1NThFNGU2ODY2MTNiIiwiMHgxZTU0MTY4RkZDNGQ5Qzc1MTE0OTNFMjUxMDNiNTFjMTdlQTdCMUUyIiwiMHhEQUZEOWIyNTFGOTY2YzMyRDgxYzE3RjY4NGI1QTBGRDM0ZTc1QTk2IiwiMHg4NDBiRUIzOWM5MzkzODU2NTRFMTI0YkJCMzExM0I0RTExNjRiYmQ3IiwiMHgzMTdBQjU4NjNFOGUxNGNmNjdmQTRmQTUzNGZCZjNGOWM0QzcyQjhBIiwiMHg4MjlCNjA5OWRGMUMwOTM3NzY3NWRmNjE5RDJmNjY4MDU0QTY3YjMxIiwiMHg2QkFkMTk4MWRDZjUwNjdEQzhEYTcxQWU3OGNDYkYzZUZhRTQ1YjQwIiwiMHhmNDgwOTliOWM2ZTQ3OWQ3MUUxNTgyOGJDNDIzRENFZEZlMUNGNjlkIiwiMHgxOTc2MGUzRDI2NTVkNTMxRjViYzRiNjBiNkVGMzllNjJFZDc4M2FCIiwiMHgwNzRhYmFhZmYyNjVmRDg3MkY0MzhEMzdkMjJkMzFiRjFEOTNmZEM4IiwiMHg3MjI1RDBDM0E3MDQxZTJCQzk1NzRBNjUzNjJiNzY1ODY4NDJjNkU5IiwiMHhDOTBCODkzODFGOWIyNTQwNEI5NzZBMTAzODg4ZDkyQUJEZTFBNDY4IiwiMHg3MzM2MTQ4RTdCNjExMjJBNUI3RTI0N0QyQUViYmQxYTYxQUU2OEMyIiwiMHg5ZGI0NmEyYjhkMjlBNDVCYjA1MTNDNjVkMTgyNzU1QTI0RDk0OWJEIiwiMHhkMmIwZUQzOWExQkMxMTVGYjhGRDhBZjllOUNjOTI2QWQyNDA5NzNFIiwiMHg0OTYyNWZkZjZBYjUyN0IzNTdhOTg4MzJBNmEzZEViNTUwYjc1NmNiIiwiMHg2MDhENDgwZTQxMjNGMDY5NDA1MDAxZTM3RDhhODU1RDU0MDJERjc3IiwiMHg4Q0YyZDE3MDIyQjM1ZDJFMzA2ZDYwYjRmNzcyM0I3M2Q4MUQ1M2NCIiwiMHhiOTQzMjRBNmI0MEY2RjYwMmZlQjA4OEU0QmRkOTdiQjMyMTI3OTUyIiwiMHhhMDExNjJlZTY3MTAwMDkyYTY2ODg5N2EzNDBiMDk4Q0Y2MjQ4NjMyIiwiMHgyYjZhYjgxNDhDNTA4MTg2NzhkN0UxRDM0OEU4NjIyMERhYjA5MEYwIiwiMHgxNTA1NzY3ZDMwN2VDYTlkMUU5MTdlMkVmZjc2NWYwZmFjMzEyQmM4IiwiMHg0NzMzZTczQTRCNDE0NzkyMDE2M0Q2MzQ4QTJkMTMwMTU1YjdjZjVhIiwiMHhFMzI3NDkxQTdiYTQ5QTlEYjAzNmQ3QTZBMWNjMDJlMTExM2NEREY4IiwiMHhiMDIxNTk2OWVmYzNlZTE3Nzk4MjdFRUU5ODlCMEJiZUU5MTMzMTY3IiwiMHg3MjRBQTc2MmM2NmQyNDkwOTM1MGYyMzhiMjUyZjBmZTNDOGFCRmI3IiwiMHg0NTBGZUNlNmZkOTQ4MkU1ODMxMDgzMjViNjcxNGZiQTk1ZDk2QTIxIiwiMHhDN2MwRURmMGI1Zjg5ZWZmOTZhRjBFMzE2NDNCZDU4OGFkNjNFYTIzIiwiMHgwYTQzMTU3OWE3Q0RkM0IzNkY3OEI1NmFjRTBhZGI5N2NCNUQyNmI1IiwiMHgxYjA2OWVGQkQzZTc1NzU4OGVCMjIxQzdBM0U0NTRmMjgwNWNDQzZGIiwiMHgyMDdmRTA5NzZBNjQyMzA0MjZGMTE3N0MwZDA1NDFBNWFCMjA5MkFCIiwiMHgyQTFFMTU0OEE0QjkzYjVkNzQ2ZTk2Nzk5RWMyNTYyNTE1NGNGQjhBIiwiMHhkYzg0MzAzNDk2ZkU1OTQ5NWE3Y2M0YjJCOTdDM0UxQzAxNmIzN0IzIiwiMHg1YzFGMDRmZkQ5NzA3MGNkNDBBMjUxNjljYmVkYzFmMmJmOGYzMjM2IiwiMHhjQzE5N2U5RTM3MWNENGIyODBhYzJiNzZDNTBBNDYxZTAyMTJGNTYzIiwiMHg3MDNFQzk2MzUzZUUwMzBiZjMxODM0MkIwRTE0YWM3NEVhRDlBMzM4IiwiMHhENTdmNjExMWM2RTI2RTQ5YkJDMWY4ODczOUZkNmQ5RmQ2OTdGN2NkIiwiMHgzMTQwOEY2ZWRjNDA2NzJEYjgyNDJlNjYxNjdhZjQyQTU3MmQwMjlEIiwiMHgzYTVEMkRlZkEyMTdGMTYyRTliQjkwRjUyODY4OTkxMjJGNENCYTkxIiwiMHg0NkU1MGRCQjczQjUxM0IzZThkNkJhNTI4ZmQ5QzJkZGJjRDUzMTViIiwiMHhBZjc4ZWU5N2JiMjZjMjNBNjNDYTE0NTcwNjIzMTQ4OUY2MDAzQjkzIiwiMHg4YThlZWVGMTg2MjdBMTljYTMwOTI0MkM2ZDc5ZDJCMUQ0RjYzNzY3IiwiMHg1MUIwQ2MxNzhCNzNCRWRGZEVlQmE2Q0U4M0U5OEUwM2MzNTRkNjAwIiwiMHhEN2QzNmQ5OEEwRDA1Y2FkREMzZEJhNDQ5ZjI1ODhFQkQ0RDY0Y0FBIiwiMHgyZGI1MWRhZjRGYWQxYjFmYmZmNWZEOGUyQjM1RWQ4QjAyNGI4M2Q0IiwiMHhmODRlOERGRDI5NDEyM0E4ODJlNzM1RTk1YzYwMWFkQ0I5NEVhMjg5IiwiMHhCNTcyMDRiYjhFMzczYWU0YTI3NDk3MUU4MzE5YzY2ZkY5RDgyZWFmIiwiMHhhZUQyMjY2Q2UyMzE1MTM3N2MyOTM0MGI4ZTYzZTczQjIzQ0U1MGI3IiwiMHhkODI4QTQ0RjZBQjY5Q2VEMzZCMGQ2NTAxQTU2MzFkYUFhMzI4YkE2IiwiMHgyQjIxMWIyYzVEN2FERjY5ZUQ0NjdiMzQyYzA1YjBjMTQzM2ZEMjQ3IiwiMHhGQkYyRTczRUI2NzAyYjU1QTJCNDE5MmU5YjI0Mzk2NGRENzU0ZTk3IiwiMHg0ZmE0REJGQzU2NTE0OTA4NDgwZDI1YTMzNkJCRTg0MEYzMzNlZDNDIiwiMHgzM0QwNzU3OTc5MzMzZDQzZUE0ZjFBRkY1Y2QyQ0U1NTYwY2FCYTU0IiwiMHhFRTM5NjA5RjU1Qjk1ODkzRkFCRTBCMTU5QTM2NmNmMzBCZDdBQTZmIiwiMHg5MGNGQTU3ZUE4YzdEZTMwNWNFZmRjQkZmOTJjZGQ1ODU3YTYyNDQ0IiwiMHgwRkQzZDUyYkRiQTRENWVkNEQxRTFBMEVEQ2VhMjQ0MmZDODlFNGMxIiwiMHg4MjE4M0Q2M0JmODJiZTYxM2I2NjQyNDVjY0NGRjRCMGJFYTBkZkNGIiwiMHg2OTk1N0FiRkZkNEQ2RDI2NmYwYzc1YzJmREQ5MjlBOUQ5NGM3ZEIxIiwiMHhkQjRiRTczMDBFYUFBZTJkMDhmRjdCYWI4MWJjNjA5NkQxMGQ1NUNiIiwiMHgxMWZmMEIzM0UzOTYyY0RmOUE3YTQ5QjI0YmU2OTRBRThmODkxYTQwIiwiMHhGYjY1MkZCN0I5NzA2RjE1NUJBODllZjgwNEU1MUY3MGI0NzJmYjBhIiwiMHhlMjNjNGFGRDg4YmE1YzBhMzA0ZkQ1ZWE2MjMxRjk0Mjc2OEEyMTEwIiwiMHgxQWVGNEZCMGI2NjZDNzZlYzNiNjQzRjc1NjM5RkUwNGJhY2JDOThDIiwiMHg3OTVmMzkyN2IxOWM3NTE1OTM1YUNBZGYyQ0I2NkZhODAwQWIyNzVGIiwiMHg3OGI5NTI0MTAxZmI2NzI4NjMzODI2MWRkRDg1RTIwNjY1ZTU3MUMxIiwiMHhiNEQ0MEZiZDA3MDUzOURGM2NCNjU1NjI5ZDIzMzFmRkFkZDYzMWI0IiwiMHhmMkM4MGRlMjk2NjUzMUY3OTQ5MWRDNDI0MDVDMThjRGU0Nzg4ZkNGIiwiMHg5OWY4MWEyYkEwNDU4QTBkQmQ1RTI1NDU4Qzg1YjRCZUNFNTk0OWM5IiwiMHhBM0FGOTA5QjQ2YzJEMTUyM0IxQTYxNUMxOTQ4Q0REQzI1Njc2MzkzIiwiMHgzYzA5ZDNDMjM2RDQ1NThDOEI0RUE5NGE5ZDM2OTA0MGUzNDFBZTEwIiwiMHg0MTUxMDcwZDdENTMxOTdGODFmNThCQmRGMzE5M0UxZjNCQjM2NDFGIiwiMHgyNWZlMTI4NTlDODI2NUJDNmE3NDY3ZTczMzVlMzQ4YWNCYTNkNGYxIiwiMHg4Mzk3QjU4NEUwNDUwRWJmOGIyZTUyMUIxOUI4OGIzNDQ5ZjI3NmZDIiwiMHg2OTYxZTMyYzVBNTUxYzJFRjUxQjAzQ0I2RTA1NzdiOGQ5NGMwMENmIiwiMHgxYzgzQjk5ZUJjZjdmQjI1Mzc1MDFEY0MzOTMyOGZDMjExYkU4OTU0IiwiMHgxOURBZjkzNEFiMzM1Mjc0OTRGMzdmNjNmZjVEODI0Rjg0ZDI5Mjg2IiwiMHhiRmZEMjRDZjAzOTY2MEY1NDgyYTI2MTg2OTQwNjQ3QzI5QkIxMUVkIiwiMHhiQ2NhMzI5QTdGMjdBZjhhMzhGMDJlRGFjMjVFODAxMTM3N2NkQzlhIiwiMHgzOTUyRmQyNkU5ODdhZjNjZTZjOUJEZDk5QjI0NGVCNjc3YTBiQjY3IiwiMHhjN2RDNjJhMEVFNEY3OTRjZjcxM0JFNUU4MzlBNjFiZUY4N0VDZDQ2IiwiMHgwNDhEM0JEMDIzNDk5NjRiNjYxMTk2ODdhMjY0MDYyNTMzNEQwZkJhIiwiMHgyYTUxMGQ1QUIzYWY0NURGY2RiNzUzOGNDQzQ2M0E2OTY2YWExQjY2IiwiMHg3MTIyNTk0N0Y2MTNERTNFNDBmY2IwMGQxODc1MDI1YmFCRmY4QUU0IiwiMHgwN0YyMGJBNWY5MThBZTEzMzE5MTllYkE5NDEzZTEzNDRjMTc2ZGE0IiwiMHgxMDc1MmE1OEI0NDM3OEYwYkZGMmI3Mjk0Q2RBZUVFMTBBNzFBMTM1IiwiMHhCZTdCZTUyYzNiOUFiQzU3M0E1MjdFZjIyMjZhODdFRDM4MUQwYWVEIiwiMHg1MjE0ZENCZWUwRTRDMjU3RDMzNWZCYzE1NzE5MjQ3ZTY1MjYyZTZjIiwiMHg5MTc2Njc2OWNFMTVkNTdkOERBREY5Mzg0YTJGMEU3MUIxNDhhQzhkIiwiMHgyQTQ0OWE2MDc2MDAxMDgwQzgzMzMyNEJCN0EzRENEMDE3ZjE1NTQ4IiwiMHhiNEMzYzA4MUE1RDU4ODEyNEI4ZjQ5NDc0RUIzMzNkQTFhQjY1QzM3IiwiMHhkYzc1Q2ZFYjI0ZkVDOTdGYzRjNjUyMWY0Zjk3MjcwMTNjYjEwRjIyIiwiMHgxM0E4MTVEMzIyMWIwNmI3MDIwNmUxNjkwYzMzRTcxRkZCYTFmQjVjIiwiMHhhMjE4NzcyODEzMWFGMzhmOWYxNkVBNWZjMDEyMDE4RTMxMmUyOURjIiwiMHhDQjI1ZDk1NTU3OTY5ODUyNWJCZjBFNWZkN2QwNTBhNjIyNjI1ZkI4IiwiMHhDQjJjNEI4ZTMwMjU1NDcxNDIwMEU5OTU4OTNEQjBiOWZjNDQ4QjcwIiwiMHhmQTY5NWZFMjIwQzAyYzhCNjE3MTZFODE5RTY4RmIxOGYyMDM4YTREIiwiMHgzNTNjZWU3MDhlREZjQkM0OWRkNTFlYUFkRDIzYzNBZmViMDNkMDlDIiwiMHhBMGJiYkY4NzM4NzE5RGIwNDMxRGJDNzNkNTJBODFjOWY3MjM2RmUyIiwiMHhGRTFBRWEzODBBQjAwMTU2ZjZFQkY5MkExYTkyMUFmYUM2OGRGYjNiIiwiMHhGNGYwQTczOEEwRTE4YmZGYUM1NTFBM2I4ZjUzODY5NTY1ZjkzNDg3IiwiMHhGMjI3ZTk3NjE2MDYzQTBFQTQxNDM3NDQ3MzhmOWRlZjJhYTA2NzQzIiwiMHgzRGUxMEU4ZjJhZDM0OENiNWJENjM1NzdjYjNiNTdFMTcyNzVkMDhCIiwiMHgyNzJmMzBDYzkyOTVmNTREYkMwQjU4NEM1YmI0Q2ZFMzY0NGY0NTk0IiwiMHhBODkyRTFmRTdFOTAyZmMyQzQ5N0FBNzRCNDFjMDJCMzBDOGEzOEM2IiwiMHhkRmJhZTRjRWVmZmUzRTMyOTRFNWFDNDlCRTgyYkUxMGM3QTdhNjk1IiwiMHhlODdENDk5NTdiNjFCN2U3NzM1MjgxM0FmMkZEMzkyMEQ5NkMxMGM0IiwiMHgyMEU0OTQwZGFmNjc3NzhmYmFjODQzRkZhOTg4ODU1MWZFOTBFMzcwIiwiMHgxQmVENzI0NGFmRDRjMUJEZTJhMjg1NDZlODBFYzlkNzc4MUE1MTI2IiwiMHg5MmE3MzFCRkJFODI1RTI0YTA3NTRBNUY3RjZhZmY4ODlhZDU4OEZhIiwiMHg2NWNjMjlkMkU5MTI4MjdlNkMxQTUzQTVkMThBN2MyM2M5RDI5MjBkIiwiMHgwNTFiMzEzMjk3MGRhODdFQzVGN2VCM2IzYWM5RjUwQTc1NjE5M0UyIiwiMHhkMzY5RkRmNEE1MEZGMTU1NUZDQmQwRTdhQTYzRDVENTU1QTQyNTllIiwiMHhDNzc3RDgwZTJEODAxNjc4ZmRDZjM4ODMzZjc3YjFDYTRmMDUwQkY0IiwiMHhFNUJkNzQxZDlGM0M4NjFkOGMyRmQ1NDdmZjZhMTlBMEQ1MTBCRDJFIiwiMHhFYjIwQWFBMTRGN0UwRTZiRGY2RjU5ZGQxRGRBOGI4QzA2Q0I2MTdBIiwiMHg5OTI1NjI3QmZBYWE3NjQwNDg3MjBFMzI0MTU1OTgwM2VCQTBmNjg1IiwiMHg3MTAxQkQ2MjcyOTREMzI2OGFhQ2ZFMzljOTUzYzg5RTkwMmNENjJCIiwiMHhBMEM2YkVBMzMwZThlM2NBRTEwZkQwQzc0MkM3RkM1OTQzRkVlZjYyIiwiMHgzNzM1ZjRDQzA4QTFiNDg4OTEyNEY2ZkViNmNENjdjYzI2NzQyYTJBIiwiMHgxODdDOTYxN0NhYzhCQzU0QUJGZDM1NzI3ODY1MTliZDc1MzczNTA2IiwiMHgxZEREMUUwNUY4MjNFMzllNWU0YkYwN0RjMmI4MDA4NDJjNzAzOWNDIiwiMHhkMTFjMkIzNWQ4NzBGNDREODQ1NTYxODVGQTU2ZTdBMGQ2RDA2ZmY1IiwiMHgxNjk0Q2FlZjQwMkI1MzhBYThGZkM4MEYwQThlMjIxNmIwRWFlQWNFIiwiMHgyM2FhRDJCRWMzNDU3QTdmNmFFMjA1NDQ2MEJmMWRjNjc4MzdmMTg2IiwiMHg3OWYwYjAxMEQxNDc2MzQ1RjAwODc5RDAzYzIyRjFDMDkwYmIyNmU0IiwiMHg3MzM5MTI1MzM2YzAyMDMxZjE3YmM0ZDQxQzYzYTk4QTg2ZEQ1RGVjIiwiMHg2RjZiNDRDNjU5NzQ3ZmU2OUIwODREOTc3NTVlQTg0ZDZBOUI4QTc1IiwiMHhmNDg4MkU0Qzg0NjFhN2UwYTgwNDgyOEM5NTdlMzQ2N2Q2OGQ2MDRCIiwiMHgxMjU3YWMzMWJGNjIyYTU4MTNhQjcyOWE0YzRlMjg2NTg5NzhjRWI3IiwiMHgwY2FCNTFCNGRhQTAxMTJDMDI3MEQxMTlGMTc0MjFBMjBkMWFEMzk3IiwiMHg0MGRmMDhjMTZDMjgzMzc5YjgwQjE2MWQ3OENiRGVEYWFFNkM1ZjQ5IiwiMHg5RGI2NDBlMTgzOTBEMjQwOEM3MUU5OTI3ZDg1MThjNzlkNTU2OWM2IiwiMHg5MDQ4RjZGMzY2OTg3NzZiZDQzN0QxQmNCZTAxM0MwRDc1RjdEODc3IiwiMHhDMDAzOTYwMDgzOTk4YjUyZUFhQjhmZkQ0MzViYTFFODI0NmM4M2YxIiwiMHhENUNGOTlGQjBBOTk4YkVEMWU2ZGJFRWNBODQ0YTJGN0FCRjZjNjk3IiwiMHg1QzM1MTdCYzMxNzNkRTM3ZjZFNzBDQURkRTVkM0M5MzBkRTg2ZjdCIiwiMHgyY2U0NWQ0MDU4RTk1MzgxYjc3NEMxNTVDNTIxRThFNGZGNzdCYUVmIiwiMHhDZTM3MThkM0NCQjI5NUM4NjcxYkJmMEI0RjhEMzI5OWU3YUYwZDRFIiwiMHhBMGU5MmI3YUY1RTRENTgwMEE5M0M4MEREZmI3MDkyNjNjZjhEMTIxIiwiMHg5NjFGQjRiMGJmODlFNjllQzI0QzE1OEI5MzY2ZDYwQTkwYmY5NzM1IiwiMHg4MUM0NzhGN2ZBMDFiRTQwNkMwNEVDNjA3NjM2Yzc5YTI3QzI3ZmZiIiwiMHgxMkIxMjQyMzREQzgxNmVkODFEMEVjRDUzY0E0ODM4NDQzQzQxQTM1IiwiMHhhNTY4YjZGMTE3M0Q2QzZBZkZkMTI2NTVBYzBFYjIyRjc2NkJCREIwIiwiMHgyZjBkRTc4ODY0RjYzNzg0ZTQ5NzRmNjQ5YzRBZkEwYzZGNzIzOEI1IiwiMHgzM0U3QWU3RDczMzdkQTVFMzZhNEM1OEQ5NDRmZkI0M0FCY2VjMzg2IiwiMHhhNTllNzJDZmMxMkU5MUUxMkFDNTQ2MDg2MjcyMzZDODQ2MDdmQjZGIiwiMHg0NTgxN0FjQjNEMTNEMTE4NTU4Y2U3YzZjOWZERmY4MDNhZmEzOEY4IiwiMHhlMzNjQTdlMWZhNzk0MmQ1OTA0RDAyYjQ0M0FCNTYzMzIyNTJmYzQzIiwiMHhmNDcyZGJmOUI0N0UyRTU3NjEwYTU2OTcxYkRDNDkwQzYwOTU4RDAyIiwiMHgxRDE1MzIyOURBRWNhMzRDMkRBNTMxQTI1YzAyNjNmRDI4ZTlmMDQwIiwiMHg4MTYzNDQ3ZEJEMGUyNTBBYjFGMWNlMGMzNDNhMWU1MjdhMTZhOEIwIiwiMHhkRjVjRkI4OTBjMDdFZkQ1NzQ4MzAzQ2MzZTdlOTM1ZTkwODk0OGE1IiwiMHg5M0U3ZGVDOTg4RTI0YjA4Q2MxNjA2MDYxQjIzMmRFZWI4MGZmQmY4IiwiMHg3NkY0NTAwYTA5OUVDMjMxQWJjOTcwODMxM2ZmZWZGNjcxMjQ4RWMxIiwiMHgzQUUwM2ZGQjBmQTYwMWI4NDBEYUIxYTY2MDgzODQ4ODUyQjhBNDJjIiwiMHgxZWVmMUYwMjQ5ZmQ3ZmU0NURDNWY3MGYzYTAzOEExMURDNjc0OTliIiwiMHgwZkI2NjE4ZUM4NzQwRmFhYmFkYWNEYjBBRTYyOGUwRjQ1M2FFYzAyIiwiMHgyNTQwRThBMDEwYzc3MTE5YmI1NzFFM0E2QzNFRTQyZmUwYTJFMDhFIiwiMHg4Njg4NmJFMzM4ZEYzMkQ1RjhERDc4NzA3NzU0MGQ1MzBCRTM5RjU5IiwiMHgwMjA1NDBlYTM5YTM1OEViMjZjYmIyM0YwNTZkMmIyODczM0VjNTU2IiwiMHgyMmMyMUZBNmI4ODAzNGZDRDE2NDMxMDgzQkE5YkY4OTY2MzY4RmUzIiwiMHhGNDFlYjBGRGMwQTIxMGU1M2I3MDllN2IyODc2ZDQwNDg4ZEZiMjIwIiwiMHg5QmMwRDFCNWVFNmYwMDMyMWE4MmZGM2YxQzAxQUQ0Njg1MmE1ODJkIiwiMHhiYzZDODFiNkRiNDA4YjEwODQ1MTNGQmIzYkI5YUE3MDdGMjc4REE4IiwiMHhCNTA3ZEFDRkQ5M0MyZDcwOTE3N2VlRDEwOWE4MjBmYzYwRjZmY0ZCIiwiMHhhYmQ2NGRmM0EyNTM4MTEyOUVDYjY4YUIyYzhGOEVmMDU2ZWI1ZjhDIiwiMHgzMDU5OTAxNTFlMzAwODdGODEyOTlEMDk5YzJhOTEwZURDNTdEMzY5IiwiMHg2YTFDOTg0Zjc3MTVBYTgzYTJmMjI1ZWI3MDhBNUJEMDNlZTEzZDU4IiwiMHg5OUVBNjE1NDg1M0M2MDQ2RDc2NzA5NDVFODhmQzc4Y0E4OEViRTU3IiwiMHg5NjBFNkMwRjFGMDQ4RGEwNjM1NEJENzY5ODA1OTQxNDc1QWU1NGUwIiwiMHhlMTY3OTc5MDBGNDY5ZGVFYUIyQjcwRkUwOUI2MTM1NTI5NTNkQkM5IiwiMHgzQjRCMjZhOTJGODEzNjYyREVBRjBGOUJhN0QyM2IyYjM3Q2FBQ2IyIiwiMHg3QkFmMzkwOGM4OGRlM2IxMzg4MmMzOWVlNzY1RUQ3RDhjNTQyRmVGIiwiMHg2NzkzRDBkNEM4OTM2MkE4NGRjRjY2ZDg0MjNFOGU0ODc2MjU5NUQ5IiwiMHg2OWM1YzgwMTYzZmQyZjczYzJDZmY3NjgwZDQ0OTUxMDlDMDlFYzVjIiwiMHg0MjJhOEE3QTlkQjNjMTM1MjA3MzdiRTU5RDZBOEVDMjg3Zjg2QkNFIiwiMHg0MGMxNTM2ZWJmOTg4QWYyQzRmMWMzODFBZTU3MUUxMmU3MEM1ZTFBIiwiMHhhMUE0N0Y3ZEQwRWNDZDc4MjE0MjgxNjYwMWZGMkE2YmE1NzgwOEY0IiwiMHg5M2U5ODFmNWQ0NzIwODFkQ2Y2Nzc2YTZGRjQ0Njk1RTRCYkJjMkUxIiwiMHhiNkY1MTVmZDUzQjc2QkZlOEMwZmIzNzI2YjQwRTQ2ZDFBNTEzNEFmIiwiMHgwNWY1MjliRjZEOEI1OTNiOGY4NzExNThlYjU1QzUzNWZmRTQ5YmQ4IiwiMHhFRjY3RDY0NGI1YzQ0NDI1OEZjZjU5Mjg4MTZENWIzNjA3NTM4Mzg1IiwiMHgzODVhNTk2NTg2QjRhMjVlNDJiQkE0ZjM3NTFFNTIwZDQwODNFQmQ0IiwiMHg4QTVENTg2NENjQ2EzMzVFQzk5N0JEZjQyZEJEMzJDQ2VjMEIxZDVFIiwiMHgzOTIyYWQ4MzI1Rjg5RUYwMDJkMjNjOEM0N0RmMTEwODI1YzM1MjZlIiwiMHhmMDc5QWYzNDY0NzFkRTA4OTE1MEJENEYzZTI3MDFGNUFCNWUzYWMwIiwiMHhGMEQ4M2Y0QTk0ZWYxMGQwRjY2N0IzMzEzNzk4NjgxNmFFYjhlMmE5IiwiMHhjN0JjMGRBOGUzM0ZGYTIzMzI3M0YyMDk5QzQ1OEFmMkIwQTczMDZDIiwiMHg1NDAwNUE4OWY4MjFFQTk1OTFFMTUwZTRFRDdlNGIzMmRlQjkxQmNhIiwiMHhjMjgzMzA5Zjc0OTI5MjBBQ0Y2ZTQ5Njk5M0IxNzk1NTFDMGU5NDM4IiwiMHg5OWRGREU0MzFiNDAzMjFhMzVkRWI2QUViNTVjZjMzOGRERDZlY2NkIiwiMHhiZmZmMDFGN0NFYTY5MzM2NTU3OTlCQUU3ZTFGRkZiODI4RTNEYWQ3IiwiMHg4MzI3ZmJmNzRGN2ExOEZjZDhCZTdiNDEwQjZkOTcwNmUyOWMwMjMxIiwiMHg0QTg4QkVmYTI4NDBDNzQzZDBDM0NGRjQyMjQ5RjM1YWZFRjZCQzU5IiwiMHg1ZDJkYUY2OTU0NDI4MTc3NGQ5MmREYjI0NDFlQTQ0ODI4QTI3ZjQ0IiwiMHhBQkFmNjgxNDA2QmM4M0IyNDRFOTFmMzAwOTUxN0MxN0Q2RjIyMGQzIiwiMHg3MUI4NjRBM0FDNDFBODVGODFiZUY3OEM5N0I1Njk2NTAwNDUxQzA0IiwiMHg4MUJBRTdlYmJhZTc3MjREYTQ5OGFDOWFGNTYwYkIwY2MwZTI3QUQ0IiwiMHgzZUIwOWQxMDhEMUY2MUYxMDg2MGI4QkIxYjEzYjVCNGFCYzNGNDlEIiwiMHg2NEYyZDVFMzU3NDI4NThEZjcxZTA0Mzg1MDUyQkQ3NDIzNjIzMzkyIiwiMHgzNWQxNTVFOGIwRDM3RjIxRTNDYTI5M2Y2RTZDNDRmM0I3M0IxZjA4IiwiMHg1OEY1NjI5MUJhZUUyOWE3NWMyM2Q2MjhjZmJmZkY3QkU5NkM4ZTJkIiwiMHgzMjk5QUI4MjU3NDE2M2NCODllQjhBMmZBY0I4RTk5NDYwRTAyRWNkIiwiMHg3N0I3NTU1NzM3OTBiN0FjMkRBNjMzQTc4Nzg1NDgyOGY3ZGQ1ZEE2IiwiMHhCNmZmMDgxMTY1RUNjMTJEMzc3YTg3NzA0RjA0QkM2OTgzOTc2Q2EwIiwiMHgyOGU5RTc0NGEyOGU3MjM1OTc0M2NBNjUyN0JGQWE5NUNkNzlFMzY2IiwiMHhDODY4Nzc3RTA5OWYwMjAyYjQyMzFEZDUyNmE0QzU2OTJGM2U1MzI0IiwiMHgzRjFFYWQ2ZTQxQjdEYkQ1ZEY0ODczOTg5Nzc3NUU4RUJmZWI4RUQ5IiwiMHg5ODA0Nzg5ZUM4QjIxYTc0Mzc5MDFCNWM2NjFkMEI3M2VEYTlENmFmIiwiMHhBOUFCMzg3NTkxMTA5YzUxYWQxMTlhQUM4ZTBhZjI2YTRkYTIzMjJCIiwiMHg4YzhEOGQ1YTg5MDU0MWZCODc3YzI4YTA4MkE1NTA0NEUyNzUxZmUwIiwiMHg1OTRFRTBkOGRlOEVFRDIwMEFlMzZGZDVGRDQyMzY4RmU0ZkIyYjA2IiwiMHg5NzYzQzE4MjkzZUQ4ZTQ0MTUzQjE2MTVGQTYwZjQ0NUJkMDgwYjc3IiwiMHhDMzhhRDNFQzNjM0I0MjBmOGQ2RTJmRmRGOTZEQTc1MGVmZEUxZEYzIiwiMHg3ZTYxMGY5RDBiNGM2MjA0ZjYwZDRFYTUzNWMxMUQxMmJlQTBEODlBIiwiMHg4NkUxNGFlMWM5ZTZGQmREMzMzMzFBN0IxOTZCRWU2ZUUwNkMyMDYxIiwiMHg0MjA3QzhFQTBCODAyMWQ3MUUyQTVEZTNBZDcyNUFGMzRkMGM1MDQ1IiwiMHgzRDNlRTg2YTIxMjdGNEQyMGIxYzUzM0UyYzFhYmQ4MDQwZGExZGQ5IiwiMHg1MTQ3N2FmZkNlMzZlMGM3NDM4NjIyRmUxNUYyNkU3NzlBNEZFQzAwIiwiMHg5NUFkMDdFY0NCYWI2NzA0Y0ZhYTUzYzY2MjY0MDg0MUQyNTczODJCIiwiMHhFM0I3NDkyOGZFMjA3NmY0MGMxQ2I0NzYxYUVjM0JjMUI1RDljMjQ0IiwiMHhmODRGNTlkYTAyMEUyRDVFRGM4OTBiMTU5MzFjZWQ0RGNFMjcxM2IxIiwiMHgzRTlCMDRDMEExMUZDODAxMzM1YjBjNDM2YTNBRTNEZWEwZGMyMTg4IiwiMHhFZDU1YjFhOGMyMjk3NzYwRjVCOTVjMjdlQkY1Rjk0ZUQ1QThmZDQ2IiwiMHg3Zjg2ZWI1OWZlZDcyYjJhZkZiMWM3OEEwYUQ2RTZGNmNGNDg3MzdiIiwiMHhlODhjODY0MEU1ZDJmMDZlQTZhRkQ0MDEzODZCOWE2NWJhMGIzRDhiIiwiMHg3MENCNTJjNTZlMTNGNEM4ZTgwZDAzNzc3Mzc2NDNkRTA5NDIwOGQyIiwiMHgzMjY4ODM1M0U4ODMxZkZBZDBCZkUzOTM3MTQ0M2NCRDk0OGQ3NkZiIiwiMHg5YTQ4ZjkxYjU1MjNERDQ2MkI5YzVjZjlEZWJERmZGY2EzQkExY0ZFIiwiMHgyNEIyRjIzRDRhMkQ0OTI1OGIyMTgwQzIxZWNBMkVlZjIwMjE2M2M1IiwiMHgzMjAxZWQzQ0ExMDU3QkQ2RDU5NWZlODdkYzFmQkNiOUNEZmFBRDMwIiwiMHhDMTNhQUFhMzQ2NzMyMDYwYzJmQ2ZjNTFkMEY0MEM2NDU4MGRlNzExIiwiMHgwMENhNzY5OEMzRmU0MDc1NzM1OEEwNThFMWQ2M0YxRmQxNDI3QzNBIiwiMHgwOTM0MUQ0ZjZlZkQ1MENDQzE0ODQ5MTBCN2UxMTIzYjM4MjM0MzVlIiwiMHg1NTQ4NUVmOTgzZUY0RDIyZGJCMTlBODc1Yjg4NTVlMGU2ZkFFYWZCIiwiMHhCNTQ2NzFlZWI3N0E0OGExZjg2MDRlOUIwQ0VlMGM1QzRBMzYwOTdBIiwiMHhiMEE2QTQyNzM2QzcyMzk2QURBMzNlYjk2MTFBN0U2Zjk0ZkI1ZThCIiwiMHhiOTJkQkI1OTkwNzNDMTk5MjE1YTRmREE4YTRkMkU5NjRFNjJCNjVlIiwiMHg0ZjIzQTdCMTAxNjRFYjM0OTNlOTQzYzE1MUY5RjliRDkyMWJjZmVjIiwiMHg5RmYyRDBBNTUyMkViQTUzQzU3MDNENkNmMGQyQjFhYkU3NTg1N2M3IiwiMHhBYzM1MEVlZkNDZEFFMDUwNjE0MDcwRTUwNDBlMTc3NTlDZWJiM2U5IiwiMHhiMjE5RDQ5ZTIxNUM1RTEwOWJlY0M3ZDllMjU5MzEwNzc0ODZGQmIxIiwiMHhhMmExMzk0NDA2YmVlMmU1Q0EzNzk0NmQ0N2FCOEE0M2EwRjE2QjU4IiwiMHhjZEEwMUY1NjgxQzAyQzg3YjRjRjI4MDE4NDFGMWI2QTM5MDNmZkJkIiwiMHg4NEFiNDBDMzc3Q0I3ZTU2Njc2YzUzODUwQUMyRTRkZjYzQmFFNGY2IiwiMHg4N0ZkNUE1M2U4NTY0M2MyZDZEOTQyMjNGNUJkRTlkMjFFRDdBQkQxIiwiMHg4YjlmMDBGNTJFMDFmOTIzNzJFNGIwZjE5MEZFMUY2Zjc0NjVmNjZCIiwiMHhCODYxOGJkMTU3QWQwMjk0OTY1YzYwOTU5NTNhMTQ4MjUzQjhiMzhBIiwiMHg3ZDlBNzE5Zjg4MTg2ODc1M0RERTczMDcwMTRjMkU3QkFiRDk3MkQ2IiwiMHgzMTViYzczMzE1Q2UyRDY1NDQ2ZmIzMEFmZTNGOTAwQTMzNjcxNTIxIiwiMHhBRUE1MTYzRkEzZkNBRWY4NDExMjg2NmJkYThiNjdDOUI0NUY4NkYwIiwiMHgxNDQ4QTA3OTg2NjMyMUMzMTdiMTE3ODhCOEVEYTNkNDM5ZTU1MDc2IiwiMHg2MURkN0FGZTVkMEEzMjI5ZUQ5MGQ4MTYzQjQ3MDYwNjA0ODBjZjk0IiwiMHg0ODZlN0FhMGJlNGZmN0NGOWRDMjQyMTNhQzJFZDNiQmZjZEQ5MTYwIiwiMHg0OGZkZjQ3RDZjMDgxOTM2Q0IzMzNENDlDNkNlMDRjNTJCQzhBMEE4IiwiMHg1M0EyNjI0OGU1MjY2Mzg0RjkzMkNEN2IzODk2NDY1NzkxMzhFOTFjIiwiMHgxZEY1M0UxRDg5NGEzZTIyNjI2M2RFQmQ2RDk2N0M0NTJmOTg3YTU4IiwiMHhBNmM1MDlhRmUyMjY0OGUwODU4OGVmNzJjNDI1MDQzYTczN0VBOGE0IiwiMHg1M0JjZjE5RkFFZkRCZDg0ODZhQTRlNDUwOTQzRDgzQzhGMTVGMUJhIiwiMHg4MzY3YUI4MDgxN0FBOURhMjYzMkI2OUI3MkYwNGUxMEIwMzg3YjNFIiwiMHhGMjdEQTE1NzUwZDNFMjE0RDM4QzIwNjA3RERmMDlDZDlDRGIyNDI2IiwiMHg5NTcyMzcyOTkwN2YxNDNBZjQ2ZUYzNWEwN2JBNjc0YTM4NEQ3MDNGIiwiMHhjNzk3Q0E1NjI0QzFkYUYwMTA3MzI3OTg0Mjc5ZGVDM0Q5N2U2ZThlIiwiMHgyZjBiMWUzNDViMzA3NjlCRDZhRTU3QmE5NTYzMjY5NzJkYjVFQTFhIiwiMHgzMzA5OGM4MDFhNkRhQjU1Mjc3NUVhQjVCZDEyYjYxMkI3NTcwZTRFIiwiMHg3MWUyODAzN2FjRTQ1RTc0OEYxYjM4RjlCMEE2YTkxOEMwZTg2MUQzIiwiMHg5MmYxNzM1QTkwMzhhYjg4YzA1NjQ1ZTE3MjE0YjIxMWE0NTkzQkY0IiwiMHhDQ0RjYmRmM0VCRDExY0NFNmE1NWI0NzdCMTQyN0MwYTRFMEUyODI5IiwiMHhkMzBkMjVkM0QxQ2IxMTE2NEQ4QjcxMTc1OURCNjhFMTc3YTNmMTg3IiwiMHhCMTBlMjQzNjU3OTVDMDE3ZjJGZEVmQTFjQzFmZDJkYjUyQTFDZGU5IiwiMHg1ZDY0NzhhOTRBZThiMzI0OTMyZTEyMzA5YjgxNGFBMDY3NUM3NzIxIiwiMHhlQjA3MTdhOTI3ODY0NWUzMWJGOTA0OWM1NDc0NDAzN2IxMzEwRjU3IiwiMHgzNWEwMTIxQ2Y4MjNCRTEzMTI0MURGYURmZTkzNUU4ODUzMjRBODFGIiwiMHg3YkVhQzk2Q0IwYjNGQUFhNTBlMUExOUY4OWZCZTgzZUIyMzRGQTE1IiwiMHg2MjA5NkZDMmFFMWZkNmE0ZTc0RWYwN2RlRkM1NWU4M0Y3NENiRUI0IiwiMHhDNTY3NzBmRDIwQjk4MDVGNkNBZDcyYTRGM2JiMzBFZjdEMTIzMmYxIiwiMHhhZTUzMTU3QjIwREZkZjAwMDQ4MDE5Mjg1RkEyNTgwY0Q2OUMzZThCIiwiMHg4MDUxOGU0QjgzNkJjOTAzMTczMDg5Y0ZlMWIwY2VjYjEyY0M3N2UwIiwiMHhjRjJEMDZCZWYyNzBlZTJjZDNlYTQ2NDA5NTIxMTQzYjVhQUI3QkNEIiwiMHg0NWJjMTI4ZTdEMjk5ZDVCQjVCMEIyNWMzNTc2QjhCYjIwMThCZkQ1IiwiMHg3NzZhNTg5OTQxMmFENjc2MTIxNGQwYzcyOGQ2MDhkREQ3REEzMDU0IiwiMHg5YzQzMjY0NEJlN2ViMzY4RjZGMEMyMEUxNzRFREM0OEM2NDhDQTE1IiwiMHg3YTI4RjAxYTIwYkI0NEQ0Q2Q2NDhjMUVGODU5NzkyM0M2MmQ0NTMxIiwiMHgzNzc4MDM1MjAzN0M0MzNmYTM4ZDQxYjkxMDNGNzVmMjdiQTU5N0ZlIiwiMHhhMUMxMmQzNDIyQ2U0RTRhNjdiMDE5ZDczMTIwNTc4NkQ4YjY2RDdCIiwiMHg2OEQxZWM1MjY0RUU5MDc2RGIwNjI2ZjREQ2E5ODI0QTI1NjJhODhFIiwiMHg1MmJjNzM1MkE0MzdmQTIxY2ZEMUYwMThENDZhNUE2MjMzZUJlMzNGIiwiMHhkOEU1NzI1REJkZjkyMTJGN0EyMDI4QTU4ZkUzOTA4NTFCRjlhNDBCIiwiMHhGMTRGNDUwQUZDQTI5Y0Y5MjM0YTUwRUIyN0ZDMzgyMjU0ZjZkMDBkIiwiMHgzYmY1MzJlRWQ4YTlkMzAxRDBEOGRCYmRENUI2NjhlYjc5NGNGMzk1IiwiMHhjMGU5MjJGRmUwOGRFNTI5NTY0OWJiODdlQzYyNTRGRjU4RkQ4QTA2IiwiMHhlOEUwZmYyODNCNDFhNzlEQzNFOTI1OTY0MEJBOUYxZmNERTk2NUZkIiwiMHgzMmFjQjk3RURGMDBFMEE0YjRjYUZEOTUyZEM3MEU3N0QwMjVhNzc3IiwiMHhhNjU1ZWYwNjc2QTgwM0Q1OUM1YjIzZUVjMDViMjg4RUJlZUQzNDY5IiwiMHgxMTFlZTcxQkE3MjgyNDlCMGY5NjNEYUZlQjc5QTA1MWVEQzZkN2VmIiwiMHgyNjNFMzVCQTFkNERBNWQyNTQ5OGI5MTgzRmMxRjIyYjc3ZTAyNDRkIiwiMHhmNzhhQTY0NDEwQ2JlMzU1ODBDMzQ2YmUzYzNFMjk4MkQxNmFENDBlIiwiMHhhZWNhNjgwNmY0MjVGNDE3NjZEMjdBYzRjMTFmYTRlNUNDMzMzRWNCIiwiMHhFYjhCM0E1YjlBQTNhNkVDRmY1NTMwYTQ3ODhGRjJEY0I4NTMzMWVBIiwiMHhhMkZCRmE2MjQ2RGUwYzRhRDFEOTYyMzQ4Y0M3YWY2QkUxRTQyNDg3IiwiMHgzN2U5NkM2ZUI3ZTlhMEJCNWYzOTk5NzRhNzk2Zjk0OWZhMjA2MDdBIiwiMHhBRkYxRDM0NUFhNEQ3ZGMxZTUwNmE3NzY3MUJEZDBjNEQ2QTJGYUU1IiwiMHg4YmI4MWE1NmVjZkUzZDQ4Yzg1ZmQwNTREMTNiNDhlNjc3MUEyOEUxIiwiMHhkMjBlNzc4QTFjRWI5NzdjMjc3Y0I4ZkUzNWVkZmU4ZjE4OGI3QmNFIiwiMHg1NGY1Zjk1MmNjYTg4ODgyMjcyNzY1ODFGMjY5NzhGOTlGREJhNjRFIiwiMHgxRkMxMTUxY2Y0MDc0MjdjREI1OEUxNDQ1ODk0RDgwMGY0MTc5OUNhIiwiMHg0MTFDQmMwNzU3NDkzNjY3ZTk0NDFlMzVGMDcwQzNmYzFjMUU3NGE2IiwiMHg2Y2QyNDYzNkYzNEVBQTIyN0M2Y2ZjOUIxMDIyOUNhRWNlOTAwNTZBIiwiMHgxMzNhNTA4RkJkNDAyZWMxYTVGMDAyNTdDRjI2Y2I5MTA0Y0Y5OEE3IiwiMHg1OUFmNzY5MjE1ODU1NzgwNzgxOEFmRjhEQjJFMjRGNDA4Y0E4Y0NhIiwiMHhGNjQ3ODMwQ2JkNjAxZUE3QjZhM0MxQjM4Q2YwMzdmMzFBQjZDZTc5IiwiMHhCZWVDRGFiMjViNzczN0RCMWRENzMxOTFhOTNBYkFiRjI0NDBFMTlCIiwiMHg2MmU4YzdjMDNmNTQzNTQ0Njc1RTZCOTI5MDU0OTQ5OTRBQ0YyQUNjIiwiMHhkQWIwNjRiYTBkNjNBQUI2RWM1RDEzMjY1ZTc4MjRGQ0NiQ0IyZjViIiwiMHg2MDE1NjQyYzRlNzZDNTlDQTczNUJFNDBmMDAyN2QyRGVGMzE2QTJDIiwiMHhEYjc1RkNDM2MzYmFCQTMwQTk3QUFDOTdiYTY5QTIwMDU3MTkxNmEyIiwiMHg1NTQ4MUZmZTNiRjM0OGNFRTlFNDRDOGEwQTFiRTY3Mjg0MTY0QjhCIiwiMHg3MTVlMzMzNjE4MTQ5MWI0RUJGNDk5QmQzZDA5M2U3MDRBZTRBNzNEIiwiMHg5MTY1NjBDOTJmNDIzQkY3ZDIwZjM0NTkxYTZCMjdhMjU0YzNiRDdBIiwiMHhBOWI0NTQwN0Y0YUZFQjQ3ZWVlYTRjNTI3RjFCNDIzRDQyZDIyM2M0IiwiMHg0NkYxOGE5RUZENTM5OTMwRWEzRTkxOTg3QzZkNTIyOTU4MmVDQzZBIiwiMHg5NzBlQjQwZjY1MDAyZDMyNzQzNTc2QzZiQjUwOTU0RTFiREVBYmI4IiwiMHhGYzQxZTcyOUI1NjAyMGVGOGQ1NWEyNkVCNmFCOUQxRjM0NjQ4NDBhIiwiMHg1M0U4NDllM2FDYjZGYTZDYzczOTlBYThDZTFkMWIxZGVGNDkzZTZlIiwiMHhEOTdDNTVBMzMxMTI0ZTQ4ZjdBQjBiZjUwMDZmOWJlOEI2NzU4Qzg5IiwiMHhlRTJEQjFkRUZERDdmMkU4Njk1MDBCY2U0RjFBZTQyNTdmZjRFOGViIiwiMHhlNUUwNTJlNzRhNkZlMjYzNjVGRjgyZTFCNzJmRUI1OEU5Q0YwZGE3IiwiMHg5NDk2NmEzZjcyRUY1NzE3ZUEyODhkRTMzMGYwZUI1YTNmMDg5MGE0IiwiMHhiQ0ZlZmZGMERhQjhFM2M1QmJGNjM1ODU4NjJGRWQ0N2QyQjI1RDU1IiwiMHhEZTEwNzE2YjY4MzYwYjI5RDJkZGM0NzU2QkUwMUVhNjA3NjUwMjQzIiwiMHg2OTU2Qjg0YUU3NGE2MTMzM0E5QzIyNjg0MWRBQjE2Y2YyMTE5ZGUxIiwiMHgwNzhjMEM1NmM0MzQ3MzMzYjE2YjQyMUMyZTNmYzgzNzhlMjI0YjMyIiwiMHgyMGEyMzRDMGFhMTk1RTMxNjFBNGUwNUFFNzU3MmQzM0MzNDYwYkNkIiwiMHhDODFmYTRmYTI4NzAwQmQ4NUM2M0VkZTVDRjcyQUJDQjk1YUM1NWJBIiwiMHhDMzc5MmI3QzA1NjQwQWM4Y0IzMTcwZERkNDM5NmY5Njg4ODAyYTgwIiwiMHhFQWI0MWZiMzc3MGVhODQ0ZTZjMTNGNTZmQzJENTU2MTkwMDhCNzI3IiwiMHhEZTc0MzMxNWE3Q0U5ODdEZDZGMERjYzVEY0FjYzNlNTA2QjNGMDIwIiwiMHgzNzYwMTBmN2Q1NTUzNThjODgxODhDNDc5N0YwRjc4MWQ5MzNhRjAyIiwiMHhEMUZiNkZhZTI1NTdGQmYzMTQ5RmVEZUU2NGQyRDExRUQ4ZWJjNTNmIiwiMHgzQ2RlZjc4MERBRDFjREE1NmMxNWY5MTRiNjBCRDU0NTQzNTdBNTQyIiwiMHgyNjk0ZGVhZjFkZDNGYjhBMUM3MEMyRTUzM2Q4YWIwOGUxNEFjZWQ5IiwiMHg2YmEyNDMwZDg1RjhGODc5NWIzNzQ2MDdFNUMwOGU0QWYyODRlMmEwIiwiMHhFMEQwQTFENTRiMTc4NDY1N2NCNjZjNjUwQTc1NDljQzNFQjhlYTkxIiwiMHgzNTEyODA4NUE4NkRhMkViRDg2ZjMzZDkyOUNDNzhGMzBlOTJkOWMzIiwiMHg1RTUzZWNBNzI0MUJGNjU0MTMxNTgwMmJjMjM3OTQ1MTRmQzA2YzUxIiwiMHhDQ0UwODhDOENBYmQ2YTI3MDM5OWIxZTkxMzMyZGJGOTEwNGUxZTZlIiwiMHg5OTVFNTQ4MzZhZGU5QTQ2ZTFiYjgzYjg0YjBkMmQxQ0UwYWIxNmQ1IiwiMHgxOTQ5NTgxNjgzNTQ5ZEM0MDFmMjBmMUE4ZTc1NmFjNkJCNjBDNDM4IiwiMHg3RTMzZjI2RjIwQzgzNWQ5NDIxNTA2MzQyQWIzOEY0QTdFNDEyRTIwIiwiMHg5MUQzM2JGM0FGMTVFMTMwRURlNzIwZWZkQUVENjVhRDg4NTU5YTI0IiwiMHg3MGVlNTI0MkRiODNlMDdEQkEzNjQxOTI0ODI4RkZlZWMyMTEwQWZBIiwiMHgwNkU2NUM0MDI1YzBERGNFN2U5MTM0QjA0N2UxMWFhYmFkNGI1Q0VlIiwiMHhjN0RCOTRDNEJkOTJEMDVmMTU4MTI4NWRiNDcyY0MwRjAzRDM5Y2IyIiwiMHg5MzI0OTU4NzRFM2MyQjUwRjZhRjFDQkQzMzE5ZDVhRTc1NzJiYjI2IiwiMHg2OTAxNUUyOWZhREMwQ0FDMWU1MDZGYUY3ODNkQjI2NWNCRjkyQUYzIiwiMHg2NTdDOTQzNDUyNTQxNjBEY0M3N2E2QTNjNTIwYzUwNmY3MTRlZmUxIiwiMHg0MTBFMjE5ZjJERDkwMzZkM2ZEMzY1ZTg5YThmMTc0NTY1RTc1YUZkIiwiMHhGYmIwZDAzNTNhMzczMjJkZUVkOTAwNUY5MDFGQzAzZDZhYzQ2MERDIiwiMHg4YzE4MzM5NzRjNEVFNmQ3M0FFZDVGQTgzODgzRjg2MDM3RUEwMTk0IiwiMHg5NWYxZjEyNDJCRTJBNzQyMGE5REY1Mjk5NGQ3MjVEOTZkNTdGY0FkIiwiMHg1M2YyOEI4MmRjRUZjZTc2ZDJmNDU3Qzg4NzIyYzVCNmE3NTJlM2M1IiwiMHhkRTVhNzQ5YmRhOTgwZUEzQUI4YzY4Q2VkZDk4NkQxNDVmMWZjMjNGIiwiMHhlYzk4MDFENDk2ZDM1NGI1MzJhMzIxNzBDNjYwZTliZGQ0MGZlYjJkIiwiMHg1QkY0YzhENENFNjg3RjY1YzczZmYzRTU5NTg2N2U4MkM3YTQ1N2UxIiwiMHg3RDVlNjE0YjNjNDBmNzMzNmFhNTc5NkRjNTI0NjQyQ0UxZDdjNkNEIiwiMHhhNzg5ODkzMWJlNDI2RjhkMTMyRjNiQzUyMTcwZjM2NDcyNDJGODQzIiwiMHg3NjZkNjk2MUE1RjNmQWE5YTYwNjMzMTU4ZWQzOTk1YkVCY2U3M2NBIiwiMHgzQ2YzNzgwMjY5MGY5REYyMTgyOGE0YThBRTE5YzA2MWQ1NDljODJkIiwiMHg3NmQxNzFBOTUyNWQ0NTIyNDMwQjQzOGMyQWU0MjEyMDk5RGU3MTMwIiwiMHhGOTFCQUZmYjY3OTIyQTVBZUQ4MTBDYjA3RWE0YTM1OWJkNDI5MTE5IiwiMHhEOTVBQWY5ODI5MUMxRTQ5MzczOTUxMWEwNzc3NEQxNzQ1NEM0MkE4IiwiMHhhNEExNzJBRjQ5MzEwNzU0YTBiMzNFN2Q3ODU2M2NjYzU0YTk2MTIzIiwiMHhjMzNhZTZEM2UzM2YwNmY4MzU1OEY0ODFGMGZiODM5YjYxOTI2Q0RGIiwiMHgzODhFRUIyNjY2Qzc0MTRjMUEwMTc1ZmNDZkM5ZTgzMGIzOGE3NjFiIiwiMHhFREE2OWI4NzE4MzU5ZWRiODRENzA5MDdBZjNiNzJBNzkxNzBBRjQzIiwiMHhFMDE4MWU3NzMzMzQwOGUyMDM4MjNGZjI2QjAyRjI5NUU1MkE5MTBlIiwiMHgxNTE1ZDIzNzFBZWY0NThBZTM1QTVlRTNDYTZGY0UwNUU5OTJFNDQ5IiwiMHg0QzI5NDhBMjhhMzk1RTY3MDE5YzY3MERiNjhlNjQ2M0MwRmJmRWU4IiwiMHg3ZUQyNDQ0MTBDMzZEMUY2NUMxOTJhNGQ5ZkQwODI5NkViOGM0NjZjIiwiMHgzMTQxOTgyNTA2ZTQzY0RkM0YwRjdjREYzNDc3RUNhNDQ2M0NENDEzIiwiMHg4QTRGMTZFNkNGQkIyOTdERTJkNzkyQzhCNzI2ZDIxNTBDNDVDMkViIiwiMHhlYTgwZjNEMzI3OTM4QkQyMkMzOGEyRmIwNjlmQjQ0ZDk2N0JCMTUxIiwiMHhFQTRmNUZiRWM4NDExOWM3M2M4RjYxODQ4NjNFM0Q4OEY4OTJDYWVBIiwiMHhjOGExNTg1QjQ5RjY5MUE5OTBCMDJlN2UwZDgwNjk3RTA4YjEzQzMzIiwiMHhFNjFjQzRBYjkxYTY3NTNEZEY2NDQ5OTA4YTA3RTc4NGI3Y0U2MjcwIiwiMHg2NmZGOEFjYjk4NkFBQTQ2OUNhZUNjMDVCQmU0NDRjQUU4OTE1NjFjIiwiMHhjMzZBQTI2Rjg1OTVmRjZmM0E0YWJBOWVlOTFGMzdhMDBBMTVkOTcyIiwiMHgzZTMyNEJmM0M1Y0U0MDcyODk3MTdjZUZCMkI3MEFGNjRBZWQ4MTIwIiwiMHhiRmRENEExYTZDZUM5Zjk2RDkwMjU5YzAwRTM4MzM5YzE2MDkyODJDIiwiMHgyYjVEOGJiRjRGNWJFM0VkMTI1OTAyZTQ5OGYwYjIwYTgwNUY3OTliIiwiMHgyRUExNDU3ODhiZkJBQjk5NkQyN0RmN2E1YWU5NzJlNGQ4NTkxNkIxIiwiMHhhMGNDMzhlODI1NTQ2MjYwY2ZhQzJlMDViOUY3Q0Q2ODYwMjc1NUMxIiwiMHhFNEUwNjNGRDc1NTc2N2RlNmY3RGNBMzYyNjQ2NjVFY0I5NkYwNjNGIiwiMHhENThBNDg3MkRkMGVlREJFYWNFYUM0NjFkMjBFNzU5NTZEM0Y1YURCIiwiMHg4MzU1ODZhMjNDMGNDNzQ0MTQyM2Q1NTA0YjgxQUU3NzczODk1NTVkIiwiMHg3MjgwRjJhRUMwMjExNzcxQkNDMjg4YTc1MDhlYzhCRmQxNGEwQUI0IiwiMHg1QTM1YTM0N0JFNTgwYzIxNzE5NDQyNTI1Y0RGMjE5RWI0Rjk2OTM0IiwiMHgzMzg1ZTNiQTQ5YkZlMmQ2MzA4NGVFNWMwNTA3Nzg1Nzk0ZGFGNDY1IiwiMHhjMjIwMDhjZTBmZkZkOTVEODFkNDY3RTA4NzlFRjA2ODAxOUVmRmJiIiwiMHg3RTkzYTlDZkQzZTdmOTk0OWI5NjRFMDQxMUZlMzU5RDFGNUFDNTI3IiwiMHgzYzY1RTI4MDY0Yzg3OTlhN2JGOTJFMzY5ZWYxNjRCOTY3NjYwMjkzIiwiMHgzNjM3NTY0QzM5NDQ3Y2IwRjlDMTY5ODA1MzY1ZjhjYkEwQ0JERDY0IiwiMHhDOEFhNjBGMzZCZTZFNTJCREU0MThkZGZkNTlGYzA2NTMyNjk1NjBjIiwiMHgzYUE2OGJhNGVBZTgyNzE2ODEwMzEzY2E2RWRiMjQyQjhmMDg0YzdFIiwiMHhkOGI0M2M3YzA4Q0UwZEYyOThjRERDNmJFNTlCYzRkMDg3Njg5NDA1IiwiMHgyMDU5MDI0ZDA1MGNkQWZlNGU0ODUwNTk2RmYxNDkwY0ZjNDBjN0JkIiwiMHgxMzgwOTM5MGVGQzAwRGY3RGMyN2Q0N2ZiN0YyMDBDNzczMzU0ZUM0IiwiMHg1MDFDNDM3Y0YyRjM1NDMzM2NFNjI5YmNmRTdlREMyRUY2NzY5ZDUzIiwiMHhFNjdDOTRhRGNCZDZkODA3Nzk0YjUxODEzMTFkODQ3NUE0YWYxNTNEIiwiMHg4QzAxM0YwNzJmMkRBZThhMTg2YUZjODEzNjdGMGQxMEFGQ0Q3ZDdEIiwiMHg4RjY5OGYyOERmRThjQmUwMTAyYjMwRDk4YUFDNzU3NUU5NzFCQUYyIiwiMHgzZjU0QzJFMjc1OGE0NmIxMDEwMTI1ZEEwQzM5Mzc5ZjE3NkQzODYwIiwiMHg1MThiMEYzNzIyNTYzMEM2ZjhDMUMxOUFBODczNWNiODUzNzI5QjNhIiwiMHgxMjk2NEQxYzg4OWI5YTc0OTgxMDhhNjAwMTU2RjM1OTAyRWIwQUM5IiwiMHgxNTRBNjk4MzA3Nzk2Njk4NWE0QzJCZTgzMzhBNGYzYjZGMTUxMGI2IiwiMHhFNzQ2ODE2RDlhMDhmMDQzMTJEZWVmQTdFYzUzRjFFZjhhMzc3OGY5IiwiMHhDMjdGM0Y2MTU2NkY4MEFmRjVFRDdjMjRjOEU4MzFhZEI1QmVFNjgzIiwiMHgxNjdCNjg4ZDA3NzU3MDE4M2ZmMTFFZjZDMDI2MDU2N2JDMWY3NDA5IiwiMHgwNEYyOTdhZWUxYWZiMEQ4YUQzMkExRUY1YWM2ZTJDMTQwMDlBYzA1IiwiMHhhRkY4NkViMjNEMjY2Y0U5OTI1RUY1ODhlQTlBOWQzMTBGQ2NmM0JmIiwiMHhlOTUwRThmRjIwQkU4MjY3NDg2MGM0MjljM2FGNDg2MTFiYjk2M0VFIiwiMHhFMjRhZDEzMEQzZTg5QzIwZDBlMEZFQTY0QzhiRmMwMzgyQWEyMjdBIiwiMHhFZkNBMjAzNDUwNjg1OEUyNjBhMjlEOTE5RmVhNkUyRGUzNDIxQWYyIiwiMHgxNTNkNWNENWQ0RjA0Mjk2MjA1ODRGYTM2MzkwODRCMjlhYzE0MERmIiwiMHhiZkU5YkY0NzZmYTJiNzI5MjA2NzcxODVmQTY4RmQ2OEY0RDU1YjhkIiwiMHg0MkYwYTJENUYwZEVkNzg3MzdFNjEzQ0ZkMzQ5MzNhNTZCQzJlNzFhIiwiMHgzQTk4M2U4N2ZBMUIyQjI4NWZlMTRjMDg0ODhhZEQzMjZFNEFhNEUzIiwiMHhFOTNkRUM4MzkyODBBMTkwNzMwMWU2MjMyNWJkOTMxYjY2RkJkYjVjIiwiMHgwNjczNGI5MDgxMTZmOTdmZjM0ODc0YzA1MUU2Nzc3ODczNzQ0MEYyIiwiMHhkNzlFNUQ4NjFDMzE3NzlFNzI2YzZlNzE5MWIzMmU4NDM4MTA3REExIiwiMHhmMDcyRmVGQTMzRkI1Q2JDNDY4MDRCMzg5ZUNFRjA2Y2ViQTk0OTNGIiwiMHhFQ0YxNDJhMGE1MTU5NWQ3MDhCQTIyMDEyODBENDRmNTFDNTc3OEM5IiwiMHgxQjkyN2MzNDM4NjQ4N0MyODRlZjBlMjcxREUwYTQ1RTY0NDA1OUM1IiwiMHg3ZDU3OWJGNjEyQzEyM0M4RGEyQWNmZTIyMTdlNDBkODc4MTEyOTA4IiwiMHgwNkJDNDVCYzYzM0QwODkzOGNkQjVDNzQ1NDIwOEQxODExMDM2OTU0IiwiMHg0YzBhQzc4NDRGNDBiMjRhRTc5NkRiOUY1MmUwNmYzMzM4MTg4MTY0IiwiMHhDQUI3ZkZkNjU1MjM1ZEQ0MURGMjFmRGYyRkE3NmRDQmY4QTcwOGQ5IiwiMHhkNTcyOGFDYzViNWFjOGREQ2U3MEQ5MGU4OTNFQjQ5MDcwZTE0Y2U5IiwiMHg5NjgyNGE4NUFBQzNBMkNjZGQzMUY4N2ZmNzZhZTBERTAxMDAyRTAxIiwiMHhkMzU1RGVjMDNkMjIyOTlGMmRlQTA4M2Y2OTg3NTA0ZmM0MTY1QTA0IiwiMHhCZWE1NmRhYWUwNDYyNEVDMzVCMGY1NzEyYkRiMDBGRGQ4MjM4Q0QzIiwiMHg0QUU2NzU1NDMyYkM1YTcwZDg0NGUwMmQwODgwOTIxZWFBZGJBOTZGIiwiMHhCMjgzMTVlYWEwOUNGOUI1RDIxQzA5ZTM0QkU5OTM4Njk2RGY3ZUM0IiwiMHhCMWI1MzdCNzI3MkJBMUVEYTAwODZlMmY0ODBBZENBNzJjMEI1MTFDIiwiMHgzRDE1M0I2MTBDYzIxQTU2OWY4MGE4N2M5RjkxNDIwM0Q1RUQ0ZjA3IiwiMHgzMzZEMjc1MGFjYjI1NDYwMjlkNjNBY0M5OTUzZDg3N0IxRDRlQzE1IiwiMHg3NUMyOTFmY0YwMkVkZTAzMkUzMUI0RmIxMjU2Y2JBMDI1NmQ0MGMxIiwiMHhmQjdENDE4NDMxMzdENjMxRTJDZDg4MjhDMDBFNzMxODBBQjlCRDI5IiwiMHgzNTk4ZjNlRDkyRTMwQjllNzFFQ0E4NjY4OTc1MEFhYzBEMkJlN0RGIiwiMHg3Yjg1ZTA5Zjc4N2ZENDJkQUQyY0QzMmM2MDA0ODVlY2FGMTkxQjQ5IiwiMHgxODJEMTkxNGMzOUNDNURFRjIxOTQ5MDZlNGZmMzRkY0I4ZTYzNzZlIiwiMHg5Yzc2OEZBRTg1MTgzOTY5MjM1RTNFN0MxYTBjRjBhMGI4M0I5MzM2IiwiMHhmNGVmNzA3ZjNGNDE2NmNjNzlhRjE1OTU5MDE0ZEJFMEVDRDdFZkEzIiwiMHhlQjAzMTAzNTgzYUY1YzJkNTExZUVlZDlmMDFkNmU2MTE2ZTQ0Yzc1IiwiMHgzQzNhZTc3MjdjMzdkQzhjNWEyRjAxNzExMzdEQTQwZTRDNzlFRUQ3IiwiMHgyNTZlMzM3ZjI1QTIxODgyMTAyRDUyRjdBNjUxNWM4NWJjQ2EzNkY0IiwiMHg4YzNENzJjOTg4QTYxNzM3NWE4RjZBMDk0ZkYyMEEwNjQyM0FBNWQ3IiwiMHg2ODEwRTNjN0FmMTFDMEUyMzI0MTcxNjAxQzkzOGVjZTg0RmFkYzJBIiwiMHg1NWM0NzQ2YjI0MTREOGEwMmYzNEVjNzUyNTlCYzNhNkFBRjg5QjdBIiwiMHgzNzAyQ2Y0RWFBRUE0Q2FmZUJhOTc3MDlGNWQxRWUxOUJCODlkQWZhIiwiMHgzN2QwODcyOGE3MDMzM2UyQWZBQjA1YmNEMTdENzZlMTkyNTI2OUNEIiwiMHg0YjA1NTM5MDM4N2E2QThDYzNGODhCMjAxNjlGM2RCZDUyM0FFRkI3IiwiMHg2MjY3RDc0NjI4NzliQTAyNDI5MDc3QWQyQjE1MzgzZEYyOThFQUZCIiwiMHg3ZDJDRkUyRTVmOGEwMzE4YzcwN0E0MDA0QzYxNUVjODgyMURhZjQxIiwiMHg0OUEyYkIzMjY4MTMwMzA1QjdlQTEzODY5MjlBRDRmNDUzODc5OUQ3IiwiMHgyNDFFNUNhNzI2ODYyMjU4NDhFNjRBMTY1NDQxOTNCMTBkRTQyNUY4IiwiMHhENzg3MTEwYUJkRDREZjMxZDA4Mjk2QzBmYkJDMzVjMDQ2RTc4YTViIiwiMHgwRDI5QTkxMzQ5Qzk1NDdBYjY1RDBCMzlmZjk3QzZhOTA4MTc3QTg0IiwiMHhjYjc1OGMzNzIwYTMzQzc3Yjg4NDQwZEI2ZkEzMzdEM0M4ZDg5OTY3IiwiMHg5NUQ0MzNGNTNEQzg4OTI5ZDBkN0M0RUU4Yzg2NkE5ODM5NTUxY2ZlIiwiMHg3RThlMzNkNzBDYWI0MzI3OUNENUQ3ZTZBMTNhMkY5QjJkMkE5YzA2IiwiMHgwMTU3MDcwZTI1M0JhRTZiYjJDNTlBOGEwYTg0RGZmNjA2MzA3YjFkIiwiMHg0MEJhOWI2NDIxRDU4NENlQzEwMzMwRjg4MkM1QTM0M0Q4NDY2YjcxIiwiMHgwNzJiY2NjNzE3NmFCNTgxZjExOTM0MDdBZDVGNjU4NDQ2MUE2MkExIiwiMHgxQjcwNzgzMDk5MDU3YjVFM2M1M2VFNkExZWJGNkVjZTM0ZTc5NTQ5IiwiMHhlOGFFMTlEZTI1NkU3NTZiMDYxYmVjYjlkNTE5NjZBZDNlNjQyZEE3IiwiMHhjOEM1ZkJmNzJFMWEzNGVlOTYwYzJENTBFNjdEMjNlMjhlODVmNjMwIiwiMHgwNkE4OTQ3NTRlRjFjODdhZWIyYTlmODU5NTAzYjJEYkZGNGRjMTA2IiwiMHhEMUVERTMyMjcxMzE3NjU2Q0E2QjZENzJFMWE1OUMwZGMyRWI0NjRjIiwiMHg0OTA5Y2Y3MUY2YjM0N2VGZDQxOWM2NWIxNzA1NmUxN0RENzI1MDcxIiwiMHhlMUIxODRlMDBDMDdBNzFkM2Y3NDU4OENGODQzNzc1ZjkyODhhNWMwIiwiMHhiNDNBMGJlY2E2MzJjMjg2Q0QxRDU3NDhhNzQ5NTYxYzQ5YjAyYjA4IiwiMHg0QTgwNjgzRTREYWQzNTU4MWYzQzUyODg1MWI2NDdDNzcxOTFiRjc4IiwiMHg3QjI4RDBiNjIwMmQzMmI4YkI0OUIxNkJhQTIyZTk5MTZjOThkZTA3IiwiMHhDMzQ2QUI2YUYxQ2EyYTJlOTY2MmU4OGQ4NUZGNDQ4YjYzNjE0OUM3IiwiMHhkOUYxNDg2NDNmMGRDNTY0MDhjRjVmQzgwY2FmRUQ2NkExNTk0NkZEIiwiMHg5ZkJjQjZFMDM1YjU5NkFGMzZCRDNlNGFlZGQzOWExMzA4NDUzRmY1IiwiMHg1M2I5MzcwYWMyQjc5RjJkNUZGQzIxOTlhNmM0ZkQ2QjRkNzI0YkEyIiwiMHg2NDVCMmZFYzQ5QmM5NTBDYkNmRkIzN0FCYkZlODBGZTFFNTQ1QjVBIiwiMHhDYzZkNzlDODEzN0Q3MDUxRmZhN2M5NDhDQmM4ODIzNTJFZTE2OUI2IiwiMHg3Zjc5QjUzNGYxNjI3M2FjNzBiMkIzYTdjYzQzMTcwRTk0MjQ1ZDBjIiwiMHhGM0UzODdjRkIwQTk3QjQ3Qjk4YjM5MWIwRWIzNjg4REE4NmJiM0Y3IiwiMHhmMERkYjZhQ0E0OWFERTJCQThkQzYyMUU1NjhmQzgxNDUxZmQ1NGFjIiwiMHg2YUIyMTc2M2FmQjQxMUM2Njk3QmNkNzkwZWQyNjZhMGJCRTc4MTMxIiwiMHgzNjc3NDkzMTIxNTIzOWVDMTdBM2ZEYjZGNkNGMTdGNTI4ZTExRDY3IiwiMHhhMzIxZjBiOEU1NUYxZGRjOTYzRjNjMTYzRTVkRDlDQjY3MGQ0N0I1IiwiMHg4NTZhOTA1ZWQ3ZUUyOTQ2MzY0MDRFREY1MDcxM2NDRTE0NzU1NzE4IiwiMHhmNkRjNEFmQTMzOTE3MTk1ZDEwNTY0OTlGNzI3Zjg5NzQ5NjdBMTE0IiwiMHgzOGUyRDdBNTRDMUYzNDNEOWVDOGEwOGNmMTMxOTAyMGMzMTJiYTc1IiwiMHhDRTlhNDU4Yjg1RTlCMWFjNTFjQ2NGOTQ0MEQwQjNjOTM4MjllZDEwIiwiMHgyMzZkYWM3YjY0YzUwNTYxRkMxMDM1Qzk5OTUyQmYzNTk0MTQxNzdjIiwiMHhCMjgwMzIyYmE4NDI3Q2UyODZiM2EzRTg3QzM4ZTcyMzY1QTYxRmVBIiwiMHg2MTY1Mjk0M0M4ZjRiMjYyMTExQTU1NjUwYWU0YWNDNmJDNUNmODAzIiwiMHhENWM2QzFlODhhMGJGZDU3NDJFNzg5OTc1OThiMzU5NTJGQzVBMjEwIiwiMHhFZDBCZDJjZUExMTQ3MTZhMzE1NTU2MjYxNzMyOTQ3MTVkYWIzQjQxIiwiMHhDRmRiQjlDYkYzOWZlMGUxMDI5YTgxYjcxQzhjYThhQTdmMjY5NjE3IiwiMHhFOTQ1MjdCM2E2QWFiOTEzYTk2QzFjODZENDAxMTNlM2UwM0MyNzAzIiwiMHgyOGZDNTY2NjllRTVEQWI0NjFkNkFkNjc4QzQ4M2Q1NDRjRDVmMTViIiwiMHg1OTBENEI3OGY3Y0Y5QTczZUFFMUU5NjdGMkIwQzAwQmYxMDZlNEE1IiwiMHgzOUQwMWJBRTUwREUxQjgyMDkxNUM2QjU4NTRCRDgzZUZhQjYwOTUwIiwiMHhCODc0NzI1MkY0MDM2MGI1YUY4NjJBMzI1OEExMEQzRmQ2QTIxMTFjIiwiMHg1NWI4YTVFODZlZDIwYmYyMDExOUNhZmIwOEQ5M2Y2MjgzMEJlNzk3IiwiMHg0QzAwODc2NkMwMzgyQWMzZkQ4NUNGQTYxMDRhRWQ2Y2U5N2I5NEM0IiwiMHhFYjU1ZjNFOWZhNGRBODc5Y0UzRTI2YjQ3RTIyMzZFRTFiQ0YzZjREIiwiMHgyZjZkRGM3MjU3OUVhOERCRDBGNkFjRGRkNjI2REZFZUEyRTNEQ2NmIiwiMHg5QTg3ZGY1MTNmOGQ1MkQyMUYyNTg1MmQzZDc5QTUxMUJBMTUwQzMzIiwiMHhDOEI2ZmFGN2QwMzgyNDIyM0ExQzk2RDkyYWYzQTY0RGRmRjBhNTAzIiwiMHg5OTIyNEMxODQyNGI2YzIzYTIxZEU2MkViYkIyMjZENkEwMDYyQzQ1IiwiMHhCOUQzRWREOTRBQzQxQjVEOEUyZTg2OWU4Zjc3QzE0NDVFRjkyMUEzIiwiMHg4RjQ2Q2Q3ZTg1OEY5Q2E3YzgwRjlkMjExOTI3ODk0ODVkNjFlRjVmIiwiMHg4NGREQUFBMzVjNERFM2E3RTU3NkFjQjczNDM0ZDVGRTc0ZTY2YUMyIiwiMHgxMTgyMWM4OWE2ZjM2MTYxMThBZjIyN0NGYjJhYkI4M0YxNjhjMjVhIiwiMHg1MjhBNUIzMzgyOWZBRDYwMTg2MjA3MDM5MzgzNTgyNTZGMUQwMzNCIiwiMHg4MERBMDdBNDhBMzBENzJGOTQ5MzRBRDUzMTQ5NDczOEI4OEFiYzNBIiwiMHgzNjVGYTBjQzJGMENEOTU3YjA5ZDVGRDUzNmM3NDZCQjdjRTY1NTRFIiwiMHhERGJBRWUyNWIwM0E0QzYzNkU2NzFERjE0NjQyOUY2ZEJhYzljYTk0IiwiMHhBYzMwZEM1NWMyNUM2OTMyYTY2Q0U0MWZCOWVBYzZkMWY1YzQxNzIxIiwiMHgxZTNiNWZCRjU1NmFkZTIzZDMyQWVjM2EwMzU3ZTU3RTI4MGVFQzUxIiwiMHg5NGQyQzlGMDk5M2FFMzg0QjZFMzgzNmQwMTdGODA5RTYxRjI4OTBFIiwiMHhDMzM3NkRkNjg2MEY0OEFCMGZBOEEyMjVlY2I1Q0ViMEVBODA5NGMyIiwiMHhERTY0MmI4RTI1NzFGN0JjRjAyOGEwQUI0ZDlGQkZFNTlhMmM5NTI1IiwiMHhBZDA4QUY4NTFGRjQyZWViOEJiMEIyOTU4M0NkODcwMGRCNjFFOTc4IiwiMHgyN2ZGOGQ3NzIzOTJmY2JGNDdlN2U1NjZBNjQ3RDQwNzNFMzBhY0U2IiwiMHg5NjQxNmY5MDdmY2VjMTREOTI5NzAzYTYxMzgzNWUyQzZiQWM1NDExIiwiMHg0OEEwNWQ2MjdkMjBiNTZlRkE5NDdEZTIzOUFlODYzMkU0MUEzODZjIiwiMHhFM2MyN2VlNDRlMjZmNTRhOTAzMzJGQUYxNDU5OTE5MTUzNzc0MEU3IiwiMHg4NzQ1YjE0MTcwYzUxMEJCMTJkNkJBMDEyQTVkN0U5Q2NDMzFGQzlDIiwiMHgyMzE4MWZhNTE4MTRENzMxZmVCQ2U0OEIyZDM3REQ0ODU0YzI1NjJmIiwiMHg3Nzk2Y0Y2NjY2MEY1MkFBZmEyY2Q1Q0ZBNzhGMTc5MjRkZkQ0QjY3IiwiMHg5OUQ3YWQ2N0Y1MkFiODVDMDE3ZDM1QTQzOGZjMDJkM2IyZEY0YTQ5IiwiMHg1NDU0MGQ2YTU4QzBjOGEzNjYwN0Q5NWE2MDY3YTI3ZEE5OTQ0OThjIiwiMHg2M2I3ZTg1MEU1MUFmZjc1MEVkRDAyN2ZFMGRlQzE0NUFhQUVkMzk4IiwiMHhEY2ZFM2U3YmUwMDU4NDk3NjY2M0NjQjY2NWZFRWRlRUUyZmJlZThkIiwiMHhlN0M4OTA1MkFFQTZmZTM5ZTY3Njk3MDMzODlEZTQ5MDQ3OTdGMTdDIiwiMHhGRDU5NTkxQTc3RDMxNzI4M2Q5N0FEMzI4NTBmNjJiMWFlY0I3NkUxIiwiMHhENGY3ZTBiNzY2OTQ1OGE0OGIzYzM3ODAwYzhmN2VENmNhRWUzMkY4IiwiMHhjNDFFNTE5MTQ0OTE4ODgwNTExYWVGRjZmMDUwNGUwQTNBZmQ4NDc2IiwiMHhFMGM0NTExNDI1MjU1QmE4NjZjYjBjNDBGQTNEODZiYjc3YTE5MzY5IiwiMHhGMDU1ODkxM2UzN2IxNjgwNDNCNTE5QUY5Mzc2MTYzZjM5NkQ3NWI4IiwiMHg4QTM4N0MyZDE1NkI5NWJCMGZhQjM2RDQzRUNBRTY1Q2Y3QTAxQzBCIiwiMHgxOTg1MTUzQzBCQjhFMTc2OUZBNmViYmVCNDAxOTdEMjc1YzE0RkQwIiwiMHgzNjk5OWFCNTQ1OTMxNDEwNkNiQjViYmZBNjY1OTBhNkFFNTRjNjkxIiwiMHg5NEZBYTE3NDBkMzFlRTNEY2UzRUZCMTY2MDIwQzI5MzM0ZjFGYTlkIiwiMHg0MUYzNTlGN0ZmODc5NzE0ODQyQ2RkOTM1OGZCOWIyRjdlNjU3MEI5IiwiMHhmY0JjNGQyY0IyREI2MzJhOTFkOEJmOTFEN2EwZjgxMjlBMTk4ODc0IiwiMHgwMTJhYzZDMWI3RGM4NWZhNkRCODZjRjk4NzI1N0Q5OWMyMzFiNzFmIiwiMHgyMjNhQTcxMzU5MzU5MjZmRjMxNkQzMEU1Q0Y0MkZGZTdBNWU0OERCIiwiMHhhQTk2MTJkMDY4MDBDQzdEQjg2MjU5MmUyMjJkZjMxNjAxOTYzYWNiIiwiMHhhMTM5MDNmNjVhRkRDZGZkRGYwN2YxM2NjZDIzNWE1ODBkNzA3NmI1IiwiMHhGNDQ0MTljRTI5RDI4Q0Q2MTFmODg3REExODNhNWJjMEUwNDYwNDc4IiwiMHgxODc3MDUwYTcwYTc1M2FBYWM2NTc0M2ZmNDMxOTllMDhiNmUyRkI4IiwiMHhkNTVkRjkyMmI0QzkyRUQ2QzcyMUU4NDhFQkNmMjhGMDcyZjUzNTA2IiwiMHgyMzUxRTM1ZmY0RmZDMkQ2OEQzM0JFQzljNjJjMzc4NjMzODMwN2UwIiwiMHhFQkI0OTQxODIyZmU3ZDk0QkI1ZTI4ZTlGQjU3Y0YyMDIzNTkwOGUzIiwiMHhiQTA2REQ3ODJFMTJjNTYxNzI0NkQ1ODVjNUEwZDZiQTAyZjY4NEJiIiwiMHhDNTkxQ0M4MjEzZUIyMzlCOUYwZENiOGUxMEU4NzczNUQ5MEY1MDNlIiwiMHg4ODM2RDhDYUI3MzVhRDczMjgzMDg2Q2QzODdCNjkwMTRhNzYyNmVmIiwiMHhiNThFNjFGZDhDMmM4QmY0ZjcwZjFEZDEzZTdmNzlDNGRFQzBERTA0IiwiMHg1NzNFRkU2YkIzM2IyZmJlNjcwQzY2OTVjQzIwN0ZkZTFiZDcxOGVFIiwiMHg5ZTc2MmJDOENhMjZBNjUwRUU4QkRhODBkMDQ1NzMyZjY0NDUyMUY3IiwiMHg5YUY0ODAwMzNhNEM2MDI5MDNjOURFRkY3NmIxNDA4NTI4NDYxQjc4IiwiMHgzZUJEYTVjMDVGZDE1N0MxMjVEMGE3MzRGMTRhNTNEYzRCM0EwNDFjIiwiMHg3ODAzOWQwYzAzMzlEMzQ2OGZDMTY5OTA4OTM1YkZhRDIwMjQxRjBCIiwiMHgzYThhZmM1OGI3MGIzNGEwYTU2MTVkM0E1RmZFNjIzY0ExZkE5MkI4IiwiMHhjMzhhMDNFYjZBQjlFZDc4ZGYzRDMxNURlOTQyQzk3QjQ2OEMzRTY5IiwiMHhGM2ZCODBhNTQ0NDJCQzVhNURDNzM5NzM1MTcwQTJkNzU2MTBhODc1IiwiMHgwMDE0NmIyM2U0ODYxQjAwZjZDMjQyQzI1RkJDQkM3MmY1REJBZTY5IiwiMHhjOEFFMjcyODlmNjEyMjVDYkVmOTNiNTk2QTdkQkE4ODI4MmZFRDkwIiwiMHhGZjVlNTVCZjZDMDdlMkRjQ2JhNjE1RDc4NDFCNjkyMmVlMjhDY2JCIiwiMHg5ODRlMjE5QjlmMjEwOTQ0Yjc1MUQ0NjI4MjJBMjVEMTRhNTVBMUExIiwiMHhCMTdlNWY3N0YxQzMyMTM5N0FmQjUzMDU5MDZlOTVBMzc1ZEY2ZUJkIiwiMHgyNzc5Y0ZkZjY3RDQ1ODc1ZjNFZDg5Y0Q3NjU0NTQ3ZWYyRERFZDBkIiwiMHgxNmU5NzU1ZjM2Q2ZhYzBBODRFZThkYTc3ZWYzZkZDNzRmQTgwQWYwIiwiMHhEOWZEMzQ4OGQ4NjhEN0FhREE0QTgxNmI2ZDgwNjY0MzEyZEVGNzIzIiwiMHg3NjliNzcwZUY2RWM5MDk3RTA3NEE2M0YxOUE2Y2QwNTg4ZjdGNDVGIiwiMHhCZDhBOTZkRDZGOUI3OUMzYzk4MzQ1OTdDOEFFNUU0NGQ3ODdFZmE0IiwiMHhCNjA5RmRhNDY4YjQzRjlmNjFBZTY2MDJBNzA0N0E1QTM3ZkI4NEY0IiwiMHhiNzQ0MTRFMDgxMEFkMWY5OUIyRmE0NjY4QmVlNEUzNjI1ZkY4YjYxIiwiMHhkRDM4NjIzMERGMjVmOGJlNTlFZTRCMDBhMzczNGE1ODE4YzI3M0I1IiwiMHgwYTVjQzM5ZDQzYTEyNTQwZGRiQUI0M0FmNTg4MDMzQTIyNGZiNzY0IiwiMHg5MkQyRjk4OTAwQmUzNjBkMTI2NjA4NDdBNEYyMjQyRmI1OTk5RTQzIiwiMHhhMDJCMjI3MDNCQmQ2MGNBMjE0NWI2NGVhNTVkRDJDZGQwQmMyYTY1IiwiMHgzNGUyOTBjNTZCM2RlMTgyMTI3Q2Y1ZTU4NjVDY2YzYzRjNTM5NjRDIiwiMHhkNzhjNjQwMERkZGI2Q2MxOWE4NjFEMWI2NDYwMDJGODhiQ0NiYjUwIiwiMHg2RUUyNzQ5MzIyZDUxQTUzOWFCQzY4RmJBQjVEMzg4NjY3ZGE0ZDA3IiwiMHg0RjkxNjRBN0I1NmUyZTYyMDE4NTkwMTI1ZkVlZUZlNjREMUM4RGFmIiwiMHhlOTEzRTRkMzg3NTJiMDg4N2Y5N2QyQjcyMkFGMmQzMkY1QTg5MDQ4IiwiMHgwMDFkQTc5NDBkNmVmNjQ2NmM2ZDRBODlCNzVDOTY5RGM4OWI4MGVFIiwiMHgzQkU1QzVBQzE2ZjY2NGY2REZGZWU5RTMwMmFiM0QwQzEwQjJhQ0MwIiwiMHhiNTlmZDY5NmFjMDA1NzZkQzI4ZDgzRjU5YjNDM2MzMDBDZEZFN2JEIiwiMHgxMDQyYmE0NzU2YzZENEVFQzE4ZkRFNDcwQzE4RUM5MUI3RkUxRTAyIiwiMHg5QjRmYzA2QzVjMDE0ZkRlQTliMWMzYTkwNzUzNTBlY0Q1MjdhYjBCIiwiMHhmRjk4MDY0MzI4RjhjQWRjRDk4QkVmZDMzRmUwNDU5ZEIzYmJjQTY5IiwiMHgyMDM1NGM1NGU0NUQ5ZmRFYTFlODc2MTM3NjM3MEU4NTc2ODBiMzZFIiwiMHg1Q0NENTA1MDI1ZDc2MTUwNTlhM0JhYjVhRDM4MkZCOTRkNzk0MTkwIiwiMHg3NmNjNzhjYzg5MjMzNjE5MDgwMDNENjI3YjI4NWRjNjNlNjA2OUNBIiwiMHgxMDg4ZWQxNjVCQTYzQTk5Njg4MWU5MWFmOWQ1MDJjZWNjZEZjRkE2IiwiMHgwNUU1NUE0MjE3ZjIxQTVCMzAzZUExMUJiZDE5MDJlRDE2NzBkOTgzIiwiMHg1ZURiNDFGOGY0YzdlNmUyMDZBRTdFNTk5NkJDNGIxNTU0QzZkOTFkIiwiMHgzNTVmYTE3OEQyYzMyRTQwRTUxMzkzMEI5Yjk2NTJGZENhZjUwZTJFIiwiMHhjNmE2OEU0MzA4RkE2QTUyMzdCM2Q4NjJiODQwRTdkMTdCYkNhQUQwIiwiMHg1N2M0NEM1MUREYWRlMjRhMjkwRjlhNDI4MGE2RUIyNWY3NjZlNjJCIiwiMHhEOTFBZkU3ZDJBN2E5NTlFNWY0MTI3QTY1OEE5RjkwQTcwMzlGMjI1IiwiMHg0Mjk0NUNDMjE0NmViYzMwNDMzMTA3ZEJkODhDQjE3OEQwNTBBYWQ5IiwiMHg5OTYyYTQ5MzdmNEEwNzNCYjI2ZWNCMDEwOTRGRjMzRjdFYkJhODA5IiwiMHg0NmVCYjMwODQ4Mjg0QjI3YTA4MzdBYWNiYmU2OGRlRjFiRTcwNGE4IiwiMHg0RTRBMmZhQ0U5Q2EzMTdBRkNBOEJFOUNlMzU0NjlBZjU5NjdBM2YxIiwiMHhBZGZBMTRCMmRjMjY1ZWYxMjllOTRCNjIyMDBFQjlhQTQwRDJGMDhGIiwiMHg2NjIyMkE5MjgwQzYyNTJENTQ3RjgxQjExOEI0RUE3MTFlZmExRmZhIiwiMHg3OGQwNEEwQkQ5YjE4RTlmNjQyYzI0MzI2MjAxMzFhQkIwM2Y3RTUyIiwiMHg4MDg5ZEVDODg4OTREMDg1NjVGNTAxMzViYTViOWVkZTdEMEE1QWNBIiwiMHhmM2JjZDgzRDE3MDA1RDVjQmE0NTc0NDY0RUViN2JCQTI5QTQzNzgwIiwiMHhlQ2RkQTFFN0I4OTRmY0QyMjUxNTM3YTUzMDRjMzYxRjdhODAyZWI5IiwiMHg5N0E5NjMxYmFBODEwODllZDZFMUU3RDAyOTVhNzU5N2UzMzRmOUI5IiwiMHgwNTU5RTRkMzBDMDZkNUEwNzNCMzJGRWRFZmEwNzk4MThlMjc0ZGUzIiwiMHg3ZTRGNDA2RWM5NjFmQzlBODQ4MmRlZEEyYWQyQzY0M2U4MzU4RDdiIiwiMHgxNEYzOWI0RTcxQmQ2RDM1OWVkOThGNkM0YWZlMjEyMjU2Yzk0OTc2IiwiMHhBNTMwMUY0YzM1OWU1NmJFNmU3MmY0N2VhNkFiMTVDRWJjN2M5QjNiIiwiMHhjZTFFQkU3MTI5QUU2NTYxN2ExMGFmNWUzOTA3MjQxNDc5QzY2RUM3IiwiMHhCMjBCNjdFNjk0NmMwMjExNDI4NTU2QzY2NjRjMTVBMDBlMjA2RjdFIiwiMHhBNzhhOUViZDcxNDNFQzllODgwNTQxODE1MDc3NzA2MjE2NGFmODFkIiwiMHg3QTRjYjMzZDBmOTE5NEIxQ2JENjM5RTFjYTQwNTFlRWI5MGYyRGU5IiwiMHgzMUQzM2NBNEQxZjUwMjIxOTNiMDMwMzNENDIzNUFGNzU4QTFEMEMyIiwiMHhDNUIwMjA3MDdBM0M3NzNGOTlkOWZFNjU3NzRlNDc1ZkZCOEY5OGE2IiwiMHgyQjdBZDY5NzIyQkQwNTQ0RGExRDNCOTIyNTlCMzk2Qzg3QTZCOTM3IiwiMHgxNDkwMTFjYjEwNjA3ODBkREQzODM5MzZFZDY0QTUzOTYwQmVhNTRBIiwiMHhlYTlFYTRBREUxNkMwYjgxNjI2NDQ2MjQxYzc1YzNhYTdmNWQwODA4IiwiMHg4ZDFDMjk3ZjdDNjU2YmIwOTkyMDVmODU2MDE4NjkzYzM3MTc1OWU4IiwiMHg4RmNEODIyMTA5MWFjZDgwNDhmODcyYjJEQjczRWU4RGM5ZDI0OTlhIiwiMHhmM2UwNkU1NEE0OTE5MTZENTU0YmI3YTgxODQ4MDUxY0UzMzVkNjVhIiwiMHg5QWJjOTEwZDgxMjI2OUZlYjg3Mzc0M2Y2NDc1M0QzNzI4RUJmQzQwIiwiMHg0NEM4ODk3QjY3Njg5NzJiOTE3RTZhYjJGMDk1NGREMzRiNjA4NjM1IiwiMHgzZGMwMDY3ZDdCODg2ZDQ2MjM4MGIwZDY1NzdDM0VlN2JGMTI1ZDVjIiwiMHgwMTVkODU5ZDAwNzBlMzhGMjk3MEIxZDFkQTI3NGUyODA2YUFlYmZmIiwiMHg0MDI2MGIxNTI2NEI5QTljYjA0NEVDOTkxRGY1MjY2MzI3OUU3MjI2IiwiMHg5OTM5ZTIzRGFhN2I0OGI2M2I0NDA0NTUwODM0M0EwOGY5NTZlOTlmIiwiMHg5ZjhBMzc3YTE3QWEwMDA0M0ZCOUQ3NDc1NDliQjhBQmE0MzQ0YzQzIiwiMHhGMTE4ZmU5MkZGOEY5ZWUyODcwOUY5NGYzYWY1NjNjRTdmMEJkNDcxIiwiMHhiQzc4MjhCQkFlOERjRTk2ZmY2ZTY0N2FCMDZCMDExOUQ5RjQwNEUzIiwiMHhiQmRGOWI0NmI5MzBmOTNBNWViNTM3ZGRDYzdGNTFFM0I4OEEzNjgwIiwiMHhhOTU1YTM3Mjk4YWM4ZmEwZkE0NkNGNGU0Njk3QWFhQzgzQzc5Q0QxIiwiMHhlMTVDNjE2MGE2OUVmZkQ2N0Q1RDcyMWNDMDRiZmJENzgwRGFDZEIxIiwiMHhFRTQ1MGQyQzc1MzIzNjc5NTYwM0UwQzY4YzFCM0FDYkI3YkJDMmFhIiwiMHhiN0E5YjE1ODdlMzZFN0Q5MUQ1NUI4MzJlNjJBMDI2RTJEMTBBNTQ3IiwiMHgzODZjOTg2NTNlNTM2ZkJhMzNkMTI2M0FkYmNhRjhlNWQ2RjYzNWZCIiwiMHg2ODJmNzA0QzRGOTc4NzE4MjE3Yjc3QzE5NTMxMTliMDU2M0U2MjNlIiwiMHhGNzU5Y2I3MTZEYzc2MjQyMTVjNzAwOGI1Nzc0ZkQxYjY1OWI5YzBCIiwiMHhlRDY5YWNFYzY1ZjhlMzlEZkIwM0NDMTY3ZDAyNjk2OUY4RDQxMkQzIiwiMHhkN0M3ZTZBYjY4YzkwQTgxZGJjMDExNDAxRjcwMmY3REExMkY2QjIxIiwiMHg4RkYzQTExMDU3NjczN0JDRTY4YTBlQTZBYkNFRTA1Q0E3OTRFOTcyIiwiMHhkMUY1QmJiZTk4OWQyN2YwMzIxN0YyMzYwNEIzRUJkQUYwMThiMjYxIiwiMHhDOUQxZjVBODZjYzE1MmIxODA5MkRGMjRGYTFlRTYwQkVkQTQ0MTQ1IiwiMHg2RDhjRDVDODczOWRFRmMxRTVlODQwMzcyRmM1MjVmYUFjN2ZhODFlIiwiMHgwQzJkRDExZUEwRDNlQzE0NWUyOTNhMjZGMmFDZEEyRmUwNTFGYzhGIiwiMHg0YUU2MzFENDgwMTZkRURiZDg2NjNDMjBhM0NhNzZjMUY5MTgxOTYyIiwiMHhCNGYyMjYxN2U1MzkwNTZGMENEODNjNkVCZTI1MkM5NDVjMWNFMjFEIiwiMHhlMDdkOGU2ZmNkNzliNEZjRDAzYzIxNWNFQTg2ZUMyNEQzRTdmQjliIiwiMHgyNTNEMDhCMTMwYTc0ZTg3QjM0RURiNDhDYmYxQUQ5YzJiRWJhQzA3IiwiMHg4MWY4MzYyOTJiMmJDYmREQUZENmNBMjMyOWU0ZjY0OTAxMkM0RTJjIiwiMHhhM2VBYjc5RTkyNkMwNjMyZDI3MDVhOTQ5NDJlNTVDOTFhMjk0OTcwIiwiMHhmODlGOTU2ODMwNWU1MmQ5MzdlNTFENkVBMDlkYjlDYzVDMEFjQUExIiwiMHhFNzdjNTcyYkRiZkIwMDI0M2I2YTVkNWQ3RjY2QjE5MDYxYTQ2NzYxIiwiMHhGODViN0YzQmZhODEzMThiMTRGNjgwMDk3MTRkZGExMUM5MURBRjlGIiwiMHg1QzE2NDdlZDVGNjgzRmUwNzU0ZjcyRTM5MWM3QjUzNkFFMkNCODA0IiwiMHhDNzBiQjI3MzZlMjE4ODYxRENhODE4ZDFlOWY3QTE5MzBGZTYxRTViIiwiMHgwMTUwZTRCRjdFNzhEQ2VEMDMzODUxNzk1QzQxNmE4M2Y0Yzg5NkM3IiwiMHg3ZjVkOWYxN2FCN0Y4YjZjRDYwZWE1MzhCZmQ5OWMzMDRhNTY2RjUzIiwiMHhmMzIxRWNlOTVDMDZFRjNBZkQzM0RlMjk1RUI1NDk4OTlFZGFEZjVhIiwiMHgzYmVBMzM5MzE0M2YwMTVhNGQ4NDU0RWMxQUEzRDI2Y0ZhMmM2QzJBIiwiMHhhNTU5QTAzNTQwNDIwMDJkOTVCMzQ4OGRGNDk2NTMyZmFFNUU5ODQ5IiwiMHg1MTlENTVBNTgxMzJDODlCNzI3OTVhNDEzQjg0RDc1NjZlYzU4NTUyIiwiMHg3ODU2NWFEZDg3RDQzOEMzMzAwMTIxNzcxN2M4NTljNzI3NWVBYTFBIiwiMHg5QmU5NUM1NjhCNDZFY2M5QzhBMjgzODM1ZTcwMTkwNWNDNTc2ODgxIiwiMHhkNWIxOGFCYzJhNjhENEMwNDg2MkQ0NjQ5RTUxMWMyNEVhMTg3REVGIiwiMHg5MTAzZjQyQ2Y0NGRkRTc3NDczZDliRDI3ZDc0Mjk4OEE1YjMxMjllIiwiMHhBOTNlMDBBMzcyZTdjNjBFMTcyQzVjODQzNjVjZDQzN0I1YUMwNjBDIiwiMHhGRTY2NTZGRjQ4OTA3MDg1MDI3M0Q4M2VlMjEzNjI3RDA0NjRjYkU0IiwiMHhENjc3YjJkMERENWM4RjcxY0UyMmNjRGI3MDBEZmZjNjU1OGZkMWQxIiwiMHg0Q0VhODZmRTZFQjNDNTlFNjJjM2FmODJBNmVDOTU2M0Q4OWZmMmYxIiwiMHgyM2QxNUVEY2ViNUI1QjNBMjMzNDdGYTQyNTg0NkRFODBhMkU4ZTVDIiwiMHgxYTM4RjNDNDIxQTU1OTVCQTg0OGE2RUNBQUNDZTMyMmI0NUQyM0RkIiwiMHhkRDlBMjJhRjBGZmViYTc0ODk2MkJlMDBGNDM1ODU5N2M2MzdhMjlmIiwiMHhkNDdhQzJiQzhGQkFDN0ZFQTNDZjA1YzkyRkQzMDYzMjQ4RTQ4Q2VCIiwiMHhCNjIyMEIxMEZjYkJjMmY0YTRkNzU5RWIzOTNiRTEzRTA1NEIyNjE0IiwiMHgyYjMyMjhDOUE5NDc3ZGVmNUU0MGEyRmNBNTdDMjlGMzE0YjJDOEQwIiwiMHhiQzc4RkIxNDExYUExYWNDQURhN0U3NWU0YkY2ZGJBMWQ0ZDg4ZTY4IiwiMHgyYzAwYjA0MWZEMzg0OGI2NTIxZTI3N2YxRjY2NDE5NEQ2NGNDMjczIiwiMHg5QTVhM0JiNTc1MTIyM2IyZDNiMjcyYzExNERGRWM3Q2YxMmM1NEQxIiwiMHg4NkEwYTNlMGVBZWQzYjlGNkVmYkY2Q0U2NGRDRjlkNTNiYWM5ZENEIiwiMHhjNDRjQkMxMDQ1MDgzMDdlNjI0NTc0Q2M1ZWQ1QTkzMTI1NkJmM0JGIiwiMHhjYjIwNUMwQWUyODFhMDQyQTk0MjI5NDlEMzFjODI0RDMyRUYyODE4IiwiMHhjNEYwNTU3YjBlMGM3QmY1OTY3ZjZhZDJBZTRCYzJiREFDRjRhQzI4IiwiMHg2NDQwQjk4RkFhMTZBODUyNjJENGI2MjFlODA0QTM4N0QzMDIwMGU5IiwiMHhDM0NGNTBkQTRmRmExOUFkOTNiYkQzZjEzZjlFOGVFNzAzNzU3MWE0IiwiMHg3ZTM2M2I5MzRBZDBlMTUwODkyODQ2NTFiNjYxQ2EzRWFhYWExODA2IiwiMHhFMjY2OURiQWJkYkY3MkE3ZDkwZTNGZDU3ZTkxN0MxMjk2NTBCN0IxIiwiMHhhOTA4RmFkNTMyRjVmNThjZUY1ZDFjZjA3YzVCOTg0NGI2QWExYjYwIiwiMHgxOTlmODBmNjcxYjZGOGI0OGFiMTMzRWM4NTM1QWI3YzU3MEVmZjAxIiwiMHg4RDk0RmU1NUY1NTA0NjMzM2VENURBNTAwYjY0YzM4MWExZTk0NGNDIiwiMHg4MDQwZTMwMmFGQzJBOUMxNzk4NEQ3N0E0ZjYyNDZENjY5MTVjNTQwIiwiMHg2NjIwOWQ5QjE0NEYxM2FENDAwRDI3RUIyODExMzU2YjlEOTI0ZTU5IiwiMHhiMDYzQjVEMUZlNDQ1YjBjNzgwODAxZkNCRkQyOGQ3NDkzNTU2QjVjIiwiMHhjMDcwNWZFMzg5NDU3MjhlRTQzMjEzYjA0NTlFODA0RmJENzU5NUU2IiwiMHg3OGUwODFEMjNEOTY0Y2YxYjI1Zjg0N0M5NzUwMTk0NzJkZDIzNkY0IiwiMHhFNjhhMzlmMGFkMjVCNjhDY2Q3QzBkNUZERDNlMzQ3QURhMGYwOWUxIiwiMHg2MTQ2RTNjN0VlMzhhMEJiZTg4NTU2ODZCNEZkNmYyY2E2REVCN2NmIiwiMHg5RDhENDU1MDYzN2UzZmM4NkNCNDY1NzM0QWIzMzI4MGU0ODM4RTA4IiwiMHhiNjVBNTdjODFENDczMjMyMEYyNGUxMkJDN0E1YzA2RDJiYjMxNDkzIiwiMHg1ZTI4NDlEODcxMjIzM0YwMjE4Y2I0NzljOTUyMzY1MGE0ODQwREZhIiwiMHhBOTgyNzZhRDZhMmRjOTlmNmVkNzQ3ZWYwRjhlN0Y3QzY5RjQwZUQ5IiwiMHhjOThBNWU1MDI1NWI4ODA4Q0E4RjM2NmYwQjIwNDZBYzg5NzdEQzg2IiwiMHg5NUIyNEIwMkMxQzVjYzMwNUMxNUY2QTk1NjUyNkYzOTgwMDRiY2FjIiwiMHgyNjJDNGEzY0JmMjI3MjAzZkY1OEVCMjg5RTQ3MzBFOTI3M2NGQTVDIiwiMHhFRjFhNDA4MTk4ZTRBMkNCNjdGNTM1YzY5QTFjQzJmOTZmODdlN2IyIiwiMHhGYThhMzU4QzVmQUY1RWFCMkUxZTRlMkRDRUU4Mjg2RjNDY2Q2RTU2IiwiMHhEYTM4NDZGZDA3NUI2RTNmNUNBMTc4MjIyNGFFNkE4NURENTk4MDYyIiwiMHg4NDI3RDRmQTE3RjgzNkI2QjQ1ZTdBZkJFQmM3YWE0N0YxMDIyZTJjIiwiMHhDMzUxOGZGYmY2NkNERjlhQWNFNkE0NzBBOGZjMkVkMzVFRTRmMTUxIiwiMHhlNTljMjY5MjFGYkVmODVhNzcwNTM1QjFCMjBlMzIzQ0UyMENBNjdCIiwiMHgzOWJjZDI1NjRhZmIwYTk5ZjA4YURmOTEzMGM4ZDlmOGMwOEZCNEU5IiwiMHhEYjBkNUZBQ2MyNzE1NjAwMTk1YzhFMTNjMDU0NEFBQjg0NzA3NWQ4IiwiMHhEMjZBMzkyNTFhOGMzQzhlOWM5ZWU0NkViRjRmNTc4ZTRDYzdDMEUyIiwiMHhmNWU2ODdCQTFCOTM3ZjRBNDIyMzBiY2FDRUMwRjNhYjM1NDQ2ODAxIiwiMHhjRDZlMTRlMTI3ODYwNEM0MWZmMTY3ODFjZkEzQTM1MjY3OGQxMDIxIiwiMHhhRTc0NTg3RGM0YTA0MjliNGUxNUNjOTkwRTZkNDViNTlGNzhBZTE1IiwiMHg1RThiYzBGM2JkNzA1ZTIyOGUzNzc0N0VEM0Q4NzMxQzc1NTg2NTk3IiwiMHg0MTBkQzI2ZjExZjMzYjViODNkOEI4RDE4ODQ5NmU4ZjM1ODA1ZkQ1IiwiMHg4QjAyMUZGOTc4Qjk1QTU1MjNCNDQ5ZDNkNmREMTk1NkQ2NjNlNDgzIiwiMHg4Zjk2NTVkZjA5NGY4MDVhNjFFZTY5MTEwOTIxNWZDMDA0ZUZlYTkyIiwiMHg3MTA5ODBiYjRhMDg2NkU5RWMxNjJjQ2Q4NDQzOUREQTVBMDRiOTljIiwiMHhEMWM3ZDkyN2YxZjM0NEU0NTAzRGU5MDBkNDE0YTQ5RjMwOTc0NzYwIiwiMHhhM2IxZjRiQjU5NWVGM0E1OWIzMTE0MGZCQWRmMzU1MmQwRmM5MzQ1IiwiMHhCMUI2YjY0YjhjQzM0Qjg4RkUxNzk2OURCRkI4QjgwNzI4OUM4NEU4IiwiMHg4OTMwOTk0NThDNEI0NkYyMzMzNTJlZUE0RjE2OUFBY0REMEQ3YTkzIiwiMHg5NDUxOTVCODRCNzhlNTQyZkRDMDZhNEEwYzdiMmQyOEY1M2Q0YWM5IiwiMHg3MjJkNTlBQ0MzQkU0NGE2ZUM1Mjc5ZkZjNzA1ZUMwYzQ2NmJlQTZGIiwiMHg1NzA3MTk1OWJkN0Q1Mjg5YTA0MzU0MjA3ZEVGYTYxN2U3QkUxZkNjIiwiMHg5M0E1OWFkMThEOWFCOWRjQzNiYzhCNjE3Qzk5NTk4ZGUxMGZFQTM4IiwiMHgxMDM2OWFFRjlkMDM1ODhhNUEzQjE5NTEzYjY2MWQwOTEzNWI4QUQyIiwiMHg0NkQ0NzgwRjYxZTNhMEE0Y2JFMmU1MTg5Njg3YThiZjkxMzI0MzYwIiwiMHhiMjkyNDMwNTU2YmQwNDQ5MThhNjNlMjA4QjE5MzU2M0M4QmFiMTAzIiwiMHg0Yzg1RTk5QzZEQTQ2NGVjQTY2MGZEMkNDMDE2NmFhQkRDOUZkMjQxIiwiMHgyZUQxNDQ5MEU4QTI3YTg1NDBhQ2NCRGM3RTlmRjFjYzlEYzFjMTgxIiwiMHgzN0M1NEE2MGM5NWZiODdhZGU0QTJhYWI1NDQ5NDZBOWZENjUyOTE3IiwiMHhFM2RGNDUxRTljZDc2ODUwMjQ4MzNFODE1QThFMkJGZTAzMzM5MTAzIiwiMHg2OEFEN0YyMTBGMDVDMDQ1MzZkMkQwQ2ZEQmU4QjlmMzdmRjE1ZTA0IiwiMHg0ODU3NGMwMDNiMEY1OTVkNEY2MDFjY2RhQkZlNjY3ODI5Q0I4M0NkIiwiMHgwZTllYjJmMjQwQUM5Y0M4NTY1ZTFjMDlGMzJGNzlCNEI2RkJCYmQ4IiwiMHhFODJEMmQzQzA3NDc4YjcwRWUyRjc5YkMwOWFGOTRjNDkzOEE1ODE1IiwiMHg2NzcxQTY4ZGExY0QyNUY3NTRDNjYxYTE3NDM1ZjNlMUMzRTc0ZTYxIiwiMHgwQURGODcxNzY1NjFhMDU4OUE5RjdDYTBjZmZhYjVmMWM4MDlDRTgwIiwiMHhBZjc5QTZEODI4NTIzOTc5NWIwQkVBOEJFNTVFMDA4ZWE2NzUxZDNEIiwiMHhiM2RjZDQxMDAwRDJCRkNGRDFiRGZmNDIyNkFCMDk1RjYzOGJkNTZBIiwiMHgxQTNGOTExQ0FlNDVhNjk4MTg1QjY5QUZmZjlENjY1NjA0MUIxOTI2IiwiMHhkZDdlMjcwODU2REJiODdFNDRlMjc1YzMzNDkzMGJGNDU2Zjk1ZTBkIiwiMHgxNDNEQTIyNUQ0ZWJmMUFhNTM3MzRjMjI1MDUwQjNFMDlmMDMwOWUxIiwiMHhlNTdDQkZmNUZFOENDQkE4NDc1YTJCZDdmOEM2OTg4ODEyNmRkMkMzIiwiMHhhNzEzZTMxOWNkQ2JFOEUxYjY0ZjlEMkM4MzMzZGIxQTliMjdkMzlkIiwiMHhBZWE1YWJiM0UzOTBCQTU3YjYyMGI2YzA5ZThmMjM5OGUwQzEyMDQ1IiwiMHgxQWE0ZkU4YWUwRGUwOEU2YzQyQjc5RUVDRDUyMzVFZjIxNTU1M2FhIiwiMHhkOEYwNTY5NDFhMDJBMDljMjk5OUM5OTJEODRiNEUwZDNBQkE0OGM1IiwiMHg1MzliQjEyMjljQkM0NzU4RTc4ZUI1NTUwODVkMEExMGFDMDI3M2E4IiwiMHhFQ2REQTI5OTAyNzZkZEEyQUIzRDIwZmE0M2IyQzE4NjNhQThmZTc0IiwiMHg2MTVFRWIxMTE1NzE4YjI3MEYzNmM1MDQxN0M3YTEyNTUxNWE0QkNCIiwiMHg2N0QwZTJFYmQwYTI1OWQ5MEM5ZTVCMjk1NUZFYkVCYzlCZjFmODU3IiwiMHg4RTlkQmVBODgwMDliYjg1MTdmMThEMzM3RTY3NTFCNDYwMTE3NzljIiwiMHg4YjU1MTI3MTg4YTc5MkY3OTI1YjMzNWU2ODlBMDQ0RjE1MzcwRDk3IiwiMHhlRTE1NWZjQ2FkOTg1MGYwQjM5ZTA1YjFDMjE2QzNiRjg2NjhCMzhCIiwiMHhkRkM5NTgwODBkNTQyMzYxM2I3NTg3MkM0OEExQTlCMDc4ZUUwOUZkIiwiMHgwNTIwMUZiRDcyMDRDNDMyQzhFOThjZjFjMjUyMjNDQWM2NjQ2NzhlIiwiMHg4RDAxYzZlMTA5QzNkQjYzRjdhQTQzNDA0MTU3QjI3NGNmMThmZkQ4IiwiMHg5MWViMTE4MUE0ODE2MjE4QmNhMTRmZDkzNzBBRTc3RDNlRjAzY2JmIiwiMHg3NjZGZjllNzdGMkY4YjFCRmIxNzE4ZWIyZDdiMzBERkMwYmFmMDUwIiwiMHgwNkYzMkVhMjY5NjFhNTU2YjA1QzJiRkREQmFhRWNlQkZkZTg1NDk2IiwiMHg4N0Y0MDVkM0U4QzQ4RTlhOTYyMmI3OGU3OGM3MzQyZjg0Yjc2QzIwIiwiMHg0NGY5RTMxOTc1ZTEyZURmQmRlNDZlZkUwRDUwRDQ3QTFBQWEwOTY1IiwiMHg3ODA4RTk4YWRmQWVmZUQ4NzY5QjNkMjg4NDk0MmUwNzdERDIyNTJkIiwiMHhCYTVDZTI1NjA5QTViRDUwNTcwNjlCZDdiRTYzMDk1ODNBYWJlOTc3IiwiMHg4ZWFFYTgyYWNjMTgyN0IxRjU2M0UxMDAxNTYzMzJhMWIzOGJFNWI4IiwiMHgzM2M0NTZGZjQ3OTQ2RjEwNmJCM0NFMUVCNDNFODVEMWNlYThjQjRjIiwiMHgxYzVCNTc5OGRCY0YwYTIyNDA5ZkUyOEZBYzVlQjY0Njg5QTMzMWVjIiwiMHhCRDdiYkUxMEVkMzhBRGU3NDE5NDQ2NTI0RDk5QkM5OTNEMzc1YzU5IiwiMHgwNTFEQTJmOGZFN0UzNkZCMTFjNkIzZTRCMWI0MDhmYTlBNTgzNmIxIiwiMHg3RThFNGU3OTY5NDFEOGQxMDYyZmMzNzZGYjRDYTAyMWExRDkzNTdjIiwiMHgzNEJjNEU2YjY5OTdhZjFDRjY2ZTc4OTk4NDliZDNFMjg4ODI3ODkwIiwiMHg1Q2I4NzFlRTNGODc3NkIzMTIxMTNGMTQzQUVlODJCRWYyMzM5MTAxIiwiMHgzYzg0QTY0Y2YyNzZDZjhDMmY2NDZEOGNlNGU1RTkwOUJGZmY4NkI5IiwiMHhDNWE3RjlDNzJmMzNkRkJmOUIzRjJlMmRGYzhiNDBiZDA0OTlFOTJmIiwiMHgyODJkZTRlNzBhMjcyMjdBREQxNDFlN2FhMTUwNDgxQjEyODY2YjBBIiwiMHgxQzZmRDNlRkY2QjgyNGMxNEZGNzNCMDBmMGY0YzU5RDU2MkEwYTUwIiwiMHgxNTY1MWRGQzg4RTA4ZTE5NkNiOWZDRDE2QTAxZUNFNTc0NTQyM0YxIiwiMHg5MkY5MzZENzQyM0JmNTc3MDUxNTBDNkQ3MjliOEM2NGIzRThmNmNFIiwiMHgwRjk1ZDUzNTJmMDQ5NWE1Qjg5Yzk2MzE4NDk2MTk2NDdEMzc0N2M0IiwiMHg0NzExMjg1ZTIzOTg5OWRBMTRlZDMxODE5ZTA4Q0E1RDMyRjYwQ0Y1IiwiMHgxNDc1MzBFQWM2QWQ2OWIyMTgwNUVjNThEMjg3QzU5RkU1MjI3NjFjIiwiMHgzQjkwY2FBY2FDNkNlNkNlQzY0YUExZjRBODQwMGIxQzdiNDczMWM4IiwiMHg0MjA3NEUyNjc3N2NmNzVGNjcwMDc3NUQ4OTA0NjdjZGMwNkExNzc1IiwiMHhkRTE5ZGJmMDRjODc0NWUwRUM2MDA4RDBmMzk0ZDIyNzkyQzEyQ0EzIiwiMHgzYUE0MTI0OGNmRjgyOUIyRDAzN2M2NjRiOTBCNDZlMDY5ZkRmYmRBIiwiMHhCRDkxMkE0YjY1NmRENkJkNzBBZTZBRmE1ODU1NWRBNTMyN0UyNGYxIiwiMHhhOEJjNTVERkYwMzk5ZDBmOTY5QkUzNzg0OUUzN2QyRENlYzFhMzk1IiwiMHhlMkVhMzU4YzE5YjVhRjA5MEZiOGZlNTg0N0MxRDNGQzI4Qzk3MDE4IiwiMHg0NUM2OTVGNGZiOEMyMDZiMkQxMTQ2ODNFYkZhOTdjNkJiZGEyMDg0IiwiMHgxRDQ4RkJFOTExNzNGMzRhZDhFYzFFZkI3ZTU4OGZFQjU3NWFmRWQ4IiwiMHhiNEI3MDg0QzEwRkQwNjA1RjE5MjkzOGZkMjZDQkM1YWMxQzQzZjFDIiwiMHg1QjcxRjQ3OTk3MGI1ZWNmMDFEQzllQmMzNEI5RDAzN2FkRkRiNkRGIiwiMHhmNmI5N2ZCOENmMWE0NTgyQ0YyMTU0MDg3OTNGMUU5NjE2MUZhOENFIiwiMHg5MWM4MmZhYjM5OGEyMjhBYjVBRjA5ZDE3ODE3NjY3NmMxRjMzOTVDIiwiMHhCMUYwYmY3NTQ3Mjk1NjkyMDIyQ2NkZENDNTNiOGRFRjAwZTRkMDlEIiwiMHhBOWNiM2UxYWQ4RmU5NzgyZEYxREU0Mzk4OTY3NWJjNGU5M2Y2ODQ3IiwiMHg5OUM5MzA5MGMwRjQxNUM1MDkxMTk3MjJFNzgyOTcxNWIyOWYyNDAxIiwiMHhjRjBlYkJENjFFQjI2N0I0N2I1NDQ0OTU5NTMzNjU5NzBEMWFiNDNiIiwiMHhkMDZBNWNGRjI3NmE5NkMyMmEzMzAxNTkyN2JmNEZCMzY3NzcxZjU1IiwiMHg4ZEU2QThBQ2FBMzM1MzI4RTgwZjVBM2UwNzE4Njg0NjdkY2VlMTEwIiwiMHgzNmJEMDYwZTE3NTM4ZTkyMUQ1NDJEMkRCRjVFZGFhMTFkNTI4ODNiIiwiMHgyOERBNDkxMkUyNWMxYjgyNjM2MjMxNDdFMzk5MDE1MTEzM2I0NzUyIiwiMHg1RjMwRjZFMWIxOGY1YTMwNEZkRjk5REQ3ZDQ3MTJkQzNhNjI0ODEyIiwiMHg0MmY2NkZjRkQ1QjNhNkIzNDBCMEI3QTViRTEwNTMzYjU3YTA0ODBBIiwiMHg1NTE0ZjgwOEU0MjFiMzVhMzI2OTA3NmRDM0UyNTI0RTA4QjAxNWMzIiwiMHhkMmExRTNmOTlGM2Q0MTlDNTI4N2M0YTA5QjgxRWE0ZkUzQTQ1NTFDIiwiMHhlMTU2ODY2RDNjQ2RDMjJEYzdjNzAwOTQzNDQ3ZTYwOTZjNTFlRTAzIiwiMHg5MzJjYjJDODdENjVkQzRjOUQ4YzJGZEMwYWQyOTFDOWU2NjdDNjUzIiwiMHhiOTM1YTA2MmQ2NDZCNUU1NDJDNzU0N0I2NjY4YmY2ZDRjRmFjYzI2IiwiMHhmQ2YwRDAzNDVGRkY1MTc3OGM2M0I1RDMxN0VEOTNBNjVEMTMwQmY5IiwiMHgwQ0E0M0YzOTQwOTgwM0Y2ZEVmYTMwM2UzNzlmZTRGODAyNzI2OTU3IiwiMHg2OWJjNUI0NzIxQjQyZUQ1ZjgwNDE5RkIzNmMxNWFmNTA1OGQyZDJCIiwiMHg5OWM5NjM4MEMwMWQ0YTViYTE4YzFDQzZFMjNFQzkwODc5NTFGNTBGIiwiMHgwRjZjMTE4MDczOGEwODA2YzhGNDJDNzRDYzY5ODg1N2Q3MDlDRTlFIiwiMHhmNTJiMDM3MDMyNTYxOGJjMzg1RTU2ODEwRWNlMDlGOWIyQWY1NjQ1IiwiMHgyN2ZEMDg1N0YwRUYyMjQwOTcwMDFFODdlNjEwMjZFMzllMUIwNGQxIiwiMHg0NWU1RjVDYjNiODMyQjhCYUQ5OGJEZTFkQUI5MzRERkIwYWRiN2Y3IiwiMHg3NDBFQjE2NDExNDEwYkI5MDE1YzQwY0Q5YTI1YjFEM0U1RmMzZjliIiwiMHg5MThDNTg2N0VCYmZhODA4QzFhOGQ5QmY3RGJFNTZlQ0FBNTQ4OTdGIiwiMHg2MDcxZjMwMzVFM2RmZDI5RDMxODU0MGVkNzU0QzA2Qzk1Nzk5OTBkIiwiMHhhNkVFQjFkQmQ4RmU2MTU3M0M2ZDQ2MTU4OWMwMzU3NTk2MURCOTEyIiwiMHg4RTIxQTMyMEM0NmExQWQ2MDE1NDg1ZUE5QTQ1MmNBM2M2NjJFRGRkIiwiMHg0NDMyMTdEYTRFNzk0MDY1OEE0RmU1RDQ1ZDY1MDJBYUVjNDYxMWNlIiwiMHhkQzVEMjRERTZDRDQ3MThDNmFiMDU1QzQ5NDZCNTZEQjcyMDAxZjVEIiwiMHhDQTU3ZjMzOTQ4QTZkZTRjNzc1MzA5ODc0ODgxRjMwM0NkMjQ1RTc5IiwiMHhiMTNGOTkxZjUyNzgwZjZCOUM5NEFGZDY4RGY0ODZmQzQ0Y2EwNGQzIiwiMHhDNDY1MjRmYzMyNjE2NmM5NzE2OEM2YjBFQjgyNzZmYzU5M2RCRjJlIiwiMHhDMTlmYUQzM0MxMGIyODEyQTU0ODg3M0VjZjlhNzRmNTg2Mjc1OTZFIiwiMHhCN0Q2MjNhNzU1OGQ1YTlBOWNkNzk1MmIxZmYwQzYwMGVhMTcxMkNGIiwiMHhhM2FCMTEyQ0RDZTBEYjRhMTQ4MEQwMzkzMzc5MWYyQ0ZjN2Q1QjEzIiwiMHhlNTg3MkFBMGFlM2MxOGZlYzBFQkFjMzZiYzZBNzI1YjZCZWQxMDk2IiwiMHg4NTdGNjA2YTJlMWIxNmUxRGYwNThCNEYyZmJEM0E1NDQ0NjU1ZDczIiwiMHgxN2M5NTZjMjI0QUU4MTY0RTNCNDRCRkY1MTM0MkYyM2U2NkExNkMxIiwiMHg0ZTZFNjM5MDIyM0FBN2EyQWU2NjhiNTVhYjUzQTRmMzc3QzA3Nzk2IiwiMHhBNTA4ZTYyQjY4NUQ3NUY3ZTdiQzg2NzBGNEYzNzlkQjRGQ2Y4RDFiIiwiMHhmZjg4QTlDMjllYTc4Q0QxRTFCODExMTA1RjNBNTAwQjk1RjA5RmYzIiwiMHg1NjE2ZWIwOTU0MTk2NjVDM0Q1YkNhRWY3NTIzQTM1Yjc2MTgwNTE2IiwiMHhGNjEyQjMyMDdmRGVkMjRFMDNENDdmNzA0OTBFOEIyRmU3QTA5MzMxIiwiMHgxNjIwOUE0ZGNjNmMzRjRCMzZjNzdGNjE4QzBDRkQ0Mjk2N0FCOGI2IiwiMHg2ZEFmRkFERjc4NTFmQ2IwOEM1YjU0YTVkNUQ3OTI0N2U4RjUyRmIwIiwiMHg2MTJiNmJmNTc2QjI0QjdDMDAzZjhCODRjQ0Q5OWVlRTZhQzAzMGREIiwiMHhCQmQzYzNEYkY2MDExNDRhOWM3YzZkM0UyMDE3MjI1NzAzODlBN0RFIiwiMHhBNmNkMkExRTM3NDVFNEE1YzE2NDJjOTg5RjJiOUFjM2EwNTg1Nzk1IiwiMHg2MTIxNTY4NmQzNkIxYjE3NTk2NmU4ODU3MGFBOWJiY0EzNzU0NTAwIiwiMHhhMjQyNzA2NDQxMzdEZUI0RjFFRThERDE1Njc0RDk1MjI4NjBBOEJBIiwiMHhlZkU5RTlCMzJDOTkyMDg2NDJGQTA4ODg2YzA4OUMwMjczODg4ZkE0IiwiMHhGZTcxMmYyMTg2MDY1NTcwZkE3QjgwNDU2Rjc0YmE4RDA0N0E3QTY5IiwiMHg1RkQxN0U4NmJCNWViOGNhMzQyYjE2QjY2OUE1ZEQ1MDljODY0NjBFIiwiMHhlYTg5ODk1MzU3RTAzNDY2MTE2MjI3MzFENTZCYkMzQWE4MDk4YmU4IiwiMHg1NDliZTYwZDNlQjA4QWMzMDU2NjBFNjA3NTk1OUJlMUZDMDk0MTdhIiwiMHhkODllQ2JjOGUxQzlCMzA5RkE0ODY3MTdEOTc0MjE5NkY5ZjcwYjAwIiwiMHgzNjFEQ0MwZjA2YTUyYzhBYjUyOWY1YkNDMjBmMzljZTM0RTUxMzhkIiwiMHg2OTQ3OWEwRDQxODIwOGJGZjNBNDk5QUVmQTNDRjBhMDlBODBFMzEyIiwiMHhGMjI1OTk1MTBEYmQ2OEVmNDc0OTNmM2Q2RDQ3YjBmNTcyQUExM0NiIiwiMHgyNmNmMmU5YzlCMWRDM0EwY0YxZDA3MjZFMzZlMTlmZTE2QjFlOTRGIiwiMHgxMzI4MDFFMzg3OTk2N2JEODA5MDU3NjFkNmI5YWU0MmJlRTYwNzRjIiwiMHg5MkFkYWI2ZDhkYzEzRGJkOTA1MmIyOTFDRkMxRDA3ODg4Mjk5RDY1IiwiMHhlYTc3RDQxMTBGOGU1MjVkMEEwRjFhYjkzZDI5MzY5M0QwRjdEMzM4IiwiMHhEMjAxQTlkNDE1M2UxRUIwMzEwNzg5MUJhQkFBNEQ4RGREN0RjODlFIiwiMHgxYzk1MDVCNjM4NDBEZkNGMTVBM2NCNDExMWZkMjgyNTA4MzUwNDVFIiwiMHg2OTdDZDIxREQ1OWU3MjUxZjgzY2UyZDY0QzBkNzYxMDcwQjI3RDY0IiwiMHhmODlBYjQ1OGQ4NDAwOEY5Y0ZBYTU0OTE3NjJiYkZmNGI2RTI0MkJiIiwiMHgxZjE5ZTAwZDYzMzQ3MDM5MTE4Yjc5NDdkOTU3MWE1NGE0QTRmNkFhIiwiMHg2OTBiMjAzZTFENWEyZTVDZjY3QjMwY2ZkNTlmMUUyRkFkMjFFZDJDIiwiMHg5NTg3MEQ5NzNDYUE5RUU3NTlCNjk0QjZiNmVDYzUyNEM1OEVDM0IyIiwiMHgzQUM2ZkQ5Mjg1Mzc0N0M0MjE5MkVlODNGNDE2MzFCMEYxZmI3Qzk1IiwiMHg4QThFMDJGMjJCOGMwNzc3MDMzMUJmQjVhNjgxNmM1OGVmMWYxNmQxIiwiMHg0ODg2NzhmMGQxMjM3NzEzQWFhNTBDMzQxMTU5RTE1Y0FmOUFGQUM4IiwiMHhDMjA0NjM5MTk1YTY2NTA3MkE0NUI2M2U3NDhlYTFGNDk2Yzk1QTliIiwiMHhlZTdFNkZFMTI1OTFjYTQyMUI3MjJDODE0MEFGMjFmYzY2MzkwMWMwIiwiMHhiNjJhNzAzRmVBRkQ1M2JBNWQwODEwNUZBNTQxRTBCRDg4NUM1NDFFIiwiMHhBRjgxODgzMWY4NDEwQThGZkI4NGRCMkVCMDFhMUJGOUU2NTc3M2RDIiwiMHg5MDlEN0I0QTkzNDgwRDczRDhBZjQ5QzdFMkVEMDdlYWJkRGQwNzM4IiwiMHg4OTQ5NTlCNEExZDdCNDQ2MDQ4NTFhRTBiQjY4QUI0MWM2OTI3NUY0IiwiMHg5OGEyMDEzOEUxMWYwNDgxMTE2N2M3MUEzNUI0YWIxN0Y4MkZlNTA3IiwiMHgxMDg2ZGVhOGY1MWZiMTZiMjkyNTlENzg1ZDIyMkE0RkE3OGQyQjRGIiwiMHg0M2ExOTE1Y2RENDBkNmJlQ0QzNEQ4MEFmMmZkOGQ0NUYxN2NjOTYxIiwiMHgzQmVCZGJmNjhGMjk4M2ZkM0M5OTJERTVBNjRENTZiNjhFNTBiMTIzIiwiMHgyZDNCYjM1MUM0MDlFMzllNzhlMWYwZGFBNzU3YURmOTIxYjVmRTQ0IiwiMHg2NDdhNDRCRjVFODNiZDA5NDhCYTNhOTc2ZTQyOEE4NzNCY2YwNUQwIiwiMHhGRjU3OTRlOTc0QmUxOENDZjNjN2MzNGIyYTBFMDE2Y2I1MkU5RTVBIiwiMHg4MTg0QjE3ZjhkN0JFMkZmQ2QyQ0M0MjJGNmUzOGFiY2EwYWVkQ0VhIiwiMHhiRTE4RjU0OGY1ODY4YjViODZCM2E5NTg5RkNiYzlDNzU4MGI5QjM2IiwiMHg5RDczMkFDYmQwQzg0NDI1Y0EyMDhlZmM5QTA0MjgxYjA2REI1OUI3IiwiMHg0MDc0MjJGNUM2OTBEY2FEMDZFNjA1OWY3M0RlOUFGQURGMERkMDMxIiwiMHhiMzg4NDdjYzlkOGE0NThERGNjOWY2MDdmOWQxNjU2ODQ5OTJBNEIyIiwiMHg0MTViZTViQzg0MEFGYmM1OGRBZDI0MTkwMjZmQkUwRDZFNzU4QjYyIiwiMHhiMEZiNjgxQWY3NjRGQTMxNjBjYjMzOEI0MTllYzBlRmNENWMxQkRDIiwiMHg5ODczN2JCRDEzQ0NDRjRmRkVmNWI5MWMyYjhiMjBiMjFEZUI5ODdkIiwiMHg3MDdiMzcwODY4RDU0OTJmNTRiNzc0NUI4NDk2NGFEYjUyMTdmM0I3IiwiMHgzYzBhN2ZDN2I5QTU0QmYxNzdBNDk0MDVEMEE2OTVDMTgwRUVlOGVkIiwiMHhBNEI4MTNiYkZlMzdjNDA3NEJEMDQ4Rjk4OTA3NUZFNjYxODcyMjVEIiwiMHgyNUIzRDMxY2M1ZkMyNDI5RjA3NzYzODYxQzUzNmI2NDUzOTJiYUUwIiwiMHg1QzMyZTg1NjFGRmREMjEwMEJkNTBlMEUwNWQyMTI0RGVmMjE3YzY2IiwiMHhDQTc2Yjk0NDBmMjZGRDMwQTMxMzg3MDI5MTA4RjYyQWJjM2IyNTE2IiwiMHgxYkZjMWMyOThkRTI5ZmRDMTQxMUIzQzJCN0VBRDA3NzcwMDIzYTFCIiwiMHhlMzdEMkFmMmQzMzA0OTkzNTAzODgyNjA0NmJDMDNhNjJBM0ExNDI2IiwiMHgxMkJlNzgwMEQyOTAxQ2Q3NGM1M0QzQzM1MjEyNDFjZmQ3N2Q3NEM0IiwiMHhmRTVlNUZlNWMzQTA4ZEQ1ZjlDQTQyM0JjOTYwNjVGMzFjNDM5MTRFIiwiMHg4RTJjNmIzNEE4MzkzMURlZTExNkJGZEJBYTBkYTViOTEyOGM1NDg3IiwiMHg3RjE3N2NDYTZDOUE3QjQ1ZjZFNWI1RjE4NkU0YzYzQzMxMWE0MDFmIiwiMHg1QzAwN2ZmODlhRDFBNEM4NjhlMDA3QmNBM2QwRDVlNWE0MGRBM0IxIiwiMHhmRTRBRDc1MDU1RjM1Qjg1QzJEQTFmMDkzNGNDMTI5ZTdjZUY2ZkM5IiwiMHg4Y0U4NzIzOWQ4M2UzNjVjRTQ3NGRBOTdmNmREMGI0NTZkZDA4YzQwIiwiMHg0MjQ1ZGZCMzQ0RDNGZTM2ZTk1YjU5Nzg3N2YwRDY1ODRGMzZiOWYwIiwiMHg1NEYxMzY0YTAxQzUwNjA3REFBRGU4MDE0ZUMzOGJBNDIwQjVDMzkzIiwiMHhkMGZlQ0I1OTAxOUQ4RDFmRGQ2YTRkN0JlOUU4OUFBNTRDRmI5NjJhIiwiMHgxNGE3ZDkwODlENTkwQmYzODc2MEYzRjA2OWYxZTVGNzFlMzdCOTIyIiwiMHhmN2I3NDcwYzYxRTM4NTg2YWQ5Y0U4MzBFNjc0ZTNEZGFhQTczOTBmIiwiMHgyMDgxQmY0MTQzZUVFOTA5NTE5NkYxMzEwZGQ2N2E5OGVhNDY2RTlhIiwiMHgyNzdERTdiMzVjOTBmNTFCOGY2QzUxOTA5MjU5YUE2RkQ1NTZBNjAyIiwiMHhCMjU0OTMzYzA5RjY0NDFiMTYxNmQ3NkMwODIwNDU5ZDgzRjJmQzliIiwiMHg1MDgzZDdhMWZlQjcxQjFGQjkwZjFhZkUwRkYzOTNmNDVkQTA0MTY0IiwiMHg3RjJjY2JhZDJFY0JmYTRBMThEYjA4ZjhFMTRkRDQ4NjY3RmZCRTdEIiwiMHg2Nzg2RkZFMWU5NmUwRjQ0NkRGOGI1OTVkQTNlNTI0QTM3MEU0RTg0IiwiMHgzYWQxQjAyZDQ4QTM4NjUzMjIwNGVjMjVFMTU4ZjJlQTIzNTg0NURkIiwiMHg1ZjZlNmMwZjhEOTI4QmFCOUIyOTVFMDE2NjIzN2I0OUNkYzBCQTdCIiwiMHgxQzg0YWY2YTAxQzc4RWNCZkM1RTAxNzQ1MTEwMkIzMkNDMTc0RjU4IiwiMHgwYzAyMUY2MURDODk0ODEyODFDN0IzMTNjN0VlMTNEMGFlRjc5OTlFIiwiMHhmMEFhMGM1ZGRCMzI5YWRGY0JlMDczODNkQzdDNjdBMzJEMkIwNDNFIiwiMHgxNDY1Q0ExMDM5YjQxQ2I3RUM5YURjMWREMENjOGEyMUQxMDhGZjY1IiwiMHhBRjc5ZjhmQ0Q2QzhkMzkzNzMzN2JBOTk1MWM5NTZFQmRjYUQ3N2Y4IiwiMHhFMzUwN0NDNWU3QWYzZEVEQjRDYjg2ZTlENTUzNTY0YTRlZDY5YzgyIiwiMHhBMTk4RjM2RTM2NDhEZDE2RTc1ZDcyMUYwQzY1MTZFMDBlOWNhMDUzIiwiMHg3OWRiRTAyYjIxZTA5ZTEzRWFCOUZkNUZERTQ2YzQwZjIwY0REZDZkIiwiMHgyNGJDNjNlMDJGMTAwOGJGY2JlZDJGRTE3MEJFOTUyYTBlZjNmYzVBIiwiMHg2QjE0NTVFMjc5MDJDQTg5ZUUzQUJCMDY3M0E4QWE5Q2UxNjA5OTUyIiwiMHg4MmVCY0ZkMTFiMTJlMTNjNTBENTBjNDE3QTBkYUVBMDY2ZDFCNEFmIiwiMHg2OThBMjg0Nzc5RTgyNDU0MTA1OUU1YkM3Njc1QjE1RWFmNzBiZEQxIiwiMHg2ZTE4ZTNkOEZFRTAyNTZDNjhhOWFGQzJkMmQ5NUQyQTBGQUQ0YWVDIiwiMHg3MzM3NjlERDA5NWY3QzUzODgwMkY4NDIxOTQ0RGNENjVENjdhNDVCIiwiMHhmMzY1QkI1NDlkMmFGODlBODY5MDgwQUE4NGIwOTkzMmE1QmE5OWFkIiwiMHgxNzhmMUE3MjE3MkE5OUY3RjQ0RTEyNWRFNjQxM2VBODA4NzEzRTdDIiwiMHg4QjlmMWQ5NWVlQzlBN0ExNDc3MDc1YTFiMERGNDgzNTJlZjdERjk0IiwiMHg1ODQ2MkFkNzI0MzcxY2YxMDk1NThlMjgyRmEyRDEyZjFiNEVmNTdjIiwiMHg0MTRCZUMzOEEwQTMwRjhjZkQ2NTFCYzVGYjA0OEU4MTg5MTczMTg2IiwiMHg3YTVkZGNjRDNGQmVjNDdBMGVGNDMzYmMxREE2ODE0QkFFQkMwNDAxIiwiMHgwYkRiOWY4QTJjZDAwRmMzMTYzMEIxNjgwNUYwMzE3ZjFBZDdEOWRiIiwiMHgzMDFiN2QyZTQ0NTc0ODA4YjdhMTFBNTJmYTYxRGQxNEE1Njc1RjRFIiwiMHg3YjVhNmRlOTk5NjAyZjkwNTc3NkNGMGRCZjBGNzk1N2E1MjFkMjhlIiwiMHhhMTE3QkM0MkE3YzZFZThkZDYzZUVFNTI3RTg0NjkxOUY1YTIwMzhiIiwiMHhmMEM0NjE2NDNGRGJBODA3QTU5RDJiYjUxQzQ1ZDM5ZmIwRDVDZWUyIiwiMHgzQmEyQzZGZDRGNDExYzU1OTE2ZkI5ZjNlYUREQUNhZDdBNzY1ZGYxIiwiMHhEQmRGMWJFMzZjNTE0QWNDMTFkYzkxNjJGZEViQmQ2QTQ2OEI1YjIzIiwiMHhCRDdlY0ExODRlNzQxNDAwOTEyYTcyQ2UwMzNjMTZlMkFmMDdiMDk1IiwiMHg1MDVlNDdDNWY3MTZlODBENTFDNzBiOGNDMWZDOThiODFjOWI1NGM1IiwiMHhkRjA0MDNFMzRjOTgxMjg4ZENFRkJiZDM4OTE1QUUyOWUxYkM1ZDJDIiwiMHg0MTM4ZDlENEQ3RTU1N0FlQzhiMGUxMzRCMmM3NzgzYTI5MjE5OWM1IiwiMHgwZjY3RUE3QzBDZEYxZDJlNkYyMkVDNGFhRTM2NmU0MUI1YmE2ZTk5IiwiMHg5ODkwYzQwN0YxZGJEZDEyOUQzY2I3ODhjOGM0MkMwYjk5NzMyRDMyIiwiMHg5NDQyNThBOTVCNjIzN0M1MDU5MkFBOWFjNzc0NThhNzk2ODNjMjhiIiwiMHg0RGUxMjZENDk0MGJCOWExODNFOUI2OTJkN2Y3REQ1YUJCMjYzOEM1IiwiMHhDYzA5OGE1NDRENTJmMjRFZWMwMWIxNEI1MzA5YTU4MDAwY0JCZjAxIiwiMHg3M0JhRjREMzRiMmI4ZDZkRkIwRUNEOWU2ZGFDNkJEZjExRjIwRDMxIiwiMHg0QzNCYWREOUJENTU2MDQ4YUZEYTI5Q0FCZUE4Zjk5ZWU5MjBmQUY0IiwiMHhBOTc1OGE4Y0Q3YTM2YTIwOENiNTVhQTllMDJGQTFiNjBiNzRDMzZhIiwiMHhmNWEyODM1NTMxODc4QkQxQjVjOWM0NzU4MWVlQmJGQ0M4ZTVGMDAzIiwiMHhhMTZlZGVjRTlkNGVlMjdhOUIzQzM3MjM1YzQzRmEzMzNDODFkOGQzIiwiMHhmZTQ0MjlmNzQ0OWU3ZENERGJjNUJGZjVFQzcyNmZhNDc2MmE0Q0U4IiwiMHg1ZkE4MmE2RWMxODQ2MjZEYmM4ZUMxMDA0ZTY4YmExODI0MkFCNzkxIiwiMHgwOWU4RjMwMmZCNTczNkQ2QmIzQjczMDJjNTRFREJFYTVFMzg2MDNBIiwiMHg4NTg3OTIzZjBmZWNGYTk4RTMyOTU2M0RENzA0NTI1NzI4OTFCODBkIiwiMHg4NzA4MDg3RTIzMGZFYzVkRTNkNDk1ZEE5NEM3MkU0MTVjZkMxQzk4IiwiMHhmMjQ4OTU5RDdBQTUwQ2Q0N2I0NDhGNTA3MDYzZWFhNkNDNTQwNGM0IiwiMHg5OWI1RERiNTFBZTJjQjBjYjJERkNCODk4RjZFNzg5RTM2QjQxMzc0IiwiMHg1NTlkQzgwRkY0MDVCMTAzRmJFMWY1MTA0ZTZkQmE5YTU2RGFlMTRDIiwiMHhjMEU1RDNjZWU0N0EyNEM4YjFjNzE4QzZCN0ViNWQ3OEY4N2NDMGYwIiwiMHgxZDI3OGE1OUIwMmQyZDhiQmU0OTRhRkFkOUNhMUZGODZhMjU0NWUyIiwiMHg3ZERENmY5NzM3MTU1ODcwODg2MThBRWNlZkNCMDMyMEFkNGE5YTY3IiwiMHhCNzlEOUQwZDI1RUY0NTYxRDkzMWEyOTEzMjU4NDExOWExNTI2MTc5IiwiMHhCNkViNzBhNGE5MzA3RGRBRjIyRjFCMzYzNTY5ZUQ1YzI5QkJmZDIyIiwiMHg5MTI1NjM3MWU1MDAzYUFhZmRkRWQ0Y2RFQzIzOWQxNTZGMzE4M0I5IiwiMHg4NWZGNzQ2QURFQUFiZDE5NTA3QkVjRUQ0ODg0N2E3MzczNDVkNkZjIiwiMHg5Qzc4NDQ1N2ZCODBlQjc5ZjYwZEMwQjhGNTI3ZEM2ODg4Y2E2Mjg5IiwiMHhERjE5Y0IzQzhmOTIyMDZjNjZkMmVkMTY0YWQyZDhmOTQ5NTMyNTFiIiwiMHhDMzFGYjkyNTY1YjQxRDA0NTBDRjU5MGVDNDMzNzMzQTFjMkQzZEJEIiwiMHhlYkU5NUMyY2NEMjBhRjQxMzZDNWE4ODk1ZUI2OTU2RmM3Yzk2YzYwIiwiMHg3ZTQ4OEExMzc5NUQxNzFhZEU2NzYwNUE3QmJFMkRkMWQ5OEIwNEU1IiwiMHhmQzUxZWFlNTQ0MmEyREJhQzFiNzJDMzMwOEY0NzU3OGU1MTBiZUJjIiwiMHg2MTcyOENiOWY2YkE0NzM1MDkyZUYzNTYxQTlDNThDMzI5YTgwNjBDIiwiMHg0NTJDODgzNzQzOWFFODNlMEMxYWM3QTI1MUE5MzU0QkE1NjE1YzIyIiwiMHg3YzkxN2ZCMEVkY0I3MTg2ZjdkN2RCMzAwMTg4ZGIzRUQwNzVhOTk2IiwiMHhGZTQzY2M5MmQzQmQxZEI4ODY3OGQ4MTJhQTMwNGZEMjhCQTZGOThlIiwiMHgzMkU1NjE0MDgwQjRBZTNkNEQ3ODMwQjk4RTRjYjY4NTYxMGNDYUI2IiwiMHgyZEFCRGI2NjZDMTNFREY1NjI1ODkyNzIxNGU0MGNmZDEwOGQ3NEU4IiwiMHhCRWMwNjc2OTk5OEJEOUQ2RDY3M2VkNjMyNzNBMDY2OTgwMTAwZTIwIiwiMHgyQ2UyYjdFQzBBYzU1MDA0RmFjQjc1NGQyZkY4ZDdjNGY5NjlkMERFIiwiMHgzNjBFRUY5RTMxODI4OTlCYzY2RDJkMGJlNUZFNWE5NzhDQkRCOTgwIiwiMHg4YUUyYmQ0OTgwODhGOUU0ZkQ3QjkwOTI3MkM0Mjc3OTRkRGY4NDgzIiwiMHg4QUE2RDgyOEQ0MzYxOGFiREYyRTZmQjVEYzE2OTNlOTcwQUZEQ2FkIiwiMHgwQWE2OWQyY2EwZkVBYWM5Nzg1MzNhNjIxMzg0ZTUzNjMxQmNEQzNCIiwiMHhhRDJGOGM4ZDhGMzE4MTc3ZTM3RjFGN2VEN0RkZGQ1RTE4N0JiQjUzIiwiMHhGMzFGZDg3Nzc3YjhCZEVCZDk4N2I5ZGZCQjY5ZTBiMkU5QmQ3Qzk0IiwiMHgzRWUyNDRlMTJiMTcxM2QyOUQzQzIwNTc0ODdGZTE5OTJBMGU5RTRGIiwiMHhEMzE2ZUU2ODhlNENhMTc1NGUxOEE0QzNDMkIxOTUwRDhDYzI1YWExIiwiMHhhODNlYkJkY2QwOEQyOTg2NTAzMTg5ZWNhNzJERDE2NmY2RjlGOUFDIiwiMHhjMTAzYzMxMTdjYkNCNmMyMDQzMTBBODMzNzQwNmQ5OTE5RkFEZUQ2IiwiMHg5ZWQxMjkwNkVkRUY0ZTkxREJBQTYzNzhiZUI3N0RFM0RBQTBDNTlhIiwiMHhmMzA3MzBFZDNjMmUwYUI0NDU0MTlDMjIwOUUwRjQzREEzQjkzOTIzIiwiMHg2RkZBNmIxNUIzNzlDYTAyNTkxM2U3NjJBMDYwYjY1N2U0MWFhMWZBIiwiMHg1YTc5YkVCMTU0OGU2MTdjQThCQTMxNTg5NzVCQUVkNGE3NDliMTVhIiwiMHg0MDUxYzZDYzI2RGMwMzFFNGRjODA5NDk4MUMzRDk0YzMyZTBiMzE2IiwiMHhFODU0ZjY0Nzc2MzU5MjJmMGRiQzEyN0NkMUUxRjA2ODc3RjQxNDVGIiwiMHg3ZUU2YTgxN2YwMzhBNEUxNzM5RTY1Zjk0QmYzQTJFMERCMzFlQjEzIiwiMHgxNkMwYjIzMDc5RTZGY2NBMDQ3MzFFZTQ4MzE0NmI4MDk0ODI4Njc1IiwiMHg2MzgwM0VlZTNhN0Q1NzUzMjc0OUNmMTlGRTVDODI5MThjM0Q1QTdDIiwiMHhjQTE3NkFDMWIxQjVENDZDOTdhMkE1NDRDMjc0NUJjN2JhZUQzNzBEIiwiMHgxQUNmMkE4MTE4OTIzMWFmRkI4QTM2MzZmYmYwMkE2MkVCZDBiMTA3IiwiMHg2NzkxMDdENUI2NjYwOTg1ZDJjQTg3YmZkRTE4MTRiRjA2MTYyZTllIiwiMHg2MGM0MUU1Q2U1M0MyNzEwNzMzOTcxNzAwMDI3RjdGQjkyQjAwMDU1IiwiMHhhMzk4OTI3OUU4YzdlMUMzZmM3OTA5YjQ4MzRkY2FlY2JhMjhhNjc0IiwiMHgyOGQ1NkVhRUQ5QjYzZEE5NjY3ZWRhMjczNkJGMEVENjg5QmQwRTkzIiwiMHgxNzBFNDE0M0M5RWJGMTQ4YTk4NWRkNDlhN2VGOUI0MmEwOGQ3Njg2IiwiMHhjMkQ0MTVkNUY1NzM4YUY1QWJjNTZmOEJGMmVEMGRhOWYwOWQwODdFIiwiMHg3OTUyZjg4NTJkODcyZjdFMUFlOUEwNjFBNUM4YmRhZGI2OTcyNEU0IiwiMHhkQjQxQWQ2MDRFMzQwYzA2ZmI4OEQzMjA3MDNFYjI5RTg1RDFhYjNjIiwiMHg1MmNCRWIyODRiNzYzMTVhYTZCNzZjMTkxZjQ2MjQ0YzZGZTg3ZkY4IiwiMHg5NjRBQjMzNGY3NGFFRDE2MDRCODA2RWQyOTlCNDIyRTQxZTk5RDM1IiwiMHhkNWZGQWM0MUQxNDA2ODk3NmYyY0E0OTVCNDgwMWVmODZDNGQ2OGE1IiwiMHg5NTYzZTdlMzU5YWMyMjY0RmY5ZjBhRjgwRDU4ZjU1OTM5OWRERUMxIiwiMHg0Y0U5ZjFjNWU1NDEwODZmM0MxQjBCMEEyZjRlMjI1NmVEMUI0M0FEIiwiMHgzMTEzRENmMGM5Y2JDZmNCNWFmODQ0RThhZGNDZkFCODdGYTRkMzI5IiwiMHhiQzc2YTZiQTBCZTQ0MGVBNjJFQzJiOEFGM2Y3MTI1ZDZFY0ZGQzU4IiwiMHg4ZGQ0RkFmMjkzY2QxODFhODY1MzU3ZDNkMDNhZmVBMTFkNUZjODMwIiwiMHg1OUIyMGY5RDI3NzM3ZDc4Q2YxNTI0ODA0Mzc3MjZhNkIwMWQwRjFDIiwiMHgwQzhFMEU3MEZlMDY0MzcyYTNFNGE3NDJjYkJmYTdkYzhjNjljN2U4IiwiMHgyMEFhODVlNTQ1MzFmNGJCNmI0QjdjZGI0NjY0RTYyNDgxRGY4ZmE5IiwiMHg2ZTExMENiZTRCMkY4NjU5NEJjOTBGMzQyNjVBZUZkQjY0NURiYTI0IiwiMHg1OUFDRTE3MjZEMzQ4MDlDRWNBNTMyNmQwQmQ4RjM1Nzk3MkE4NjhmIiwiMHg4RTQ2RTdCQ0NlOUEyRGZENEIzRUU4NTVGMmFBYjBDNjVkOTFBMWYwIiwiMHgwRWU1ODY4ZEFGZDFFMjQyNDlkNDljRkEyQmIwNDJmOTBGNDcyMTUzIiwiMHhDZTY5RDJhZUE1RDk3ZmU0OTg2NTAyMTY3MmQ2NmJlQTdBMTQzQ2IyIiwiMHgzZjRGNjM0NjQ1MkIwNTFFREEzMmQyZUNCY2VkZDNkRmYxNWMxZTgwIiwiMHhGMkEzMDM0YTU0N0Q0ZEU5OGJDMjVEQzYzRTdDRjNGMWRENWUyRWE5IiwiMHg5YjU4MDI2MTgyRTIwNDE0MzI0ZGIxMzY0NDEyZEUwODUyQTI5YzQyIiwiMHg1MTQyMkE2MjhjOUQ4NmY0NjU3Qzc2YTE2Mjc4NDk0ZEE5NDM5ZTE3IiwiMHg5NDI5RkY3ODkyZTY3NTJmQUVjNjIzMzgxQUEwYUQ0MjBBZTVCMmEwIiwiMHhCY0M0QWM2MDZhN2EwNzk3Mzg5M2ZCNjNENWI4OWU0Rjc4MzZjOTg5IiwiMHhGQTc1MTQxZDMwQkE3RDg2N0Y2ZWY4NGNFN2EwRjI0ZDExQzI1MDkxIiwiMHg4ZDZGZTkwMjY2YkI1RkI2RjRiMTcwRTU1ZkNGMkZBNEVDQ0E0YUI4IiwiMHgzRjU4MjFCYmU4MzU1MDQwNkZlOUY4MDdmMTYzOTg4Q2FBNkIzOEVFIiwiMHgyODhERjhGRWY0QjI4ZkMwMmU2QjhmOWI3Q0YwMDg4NzdmNWMzNDQ4IiwiMHhBMWY1MTJmMWM0N2Y3OTY4RkYyNzQ1NTA0RWYyMGRhNmVFQzc0ODk0IiwiMHgxOTAyQzYwRTk4N0NBODI5QTcxZGY2NjZGQ2M0MTAwOWE1MDYzMzBDIiwiMHg3YjAxRTk3OWUyQ0EwNjE0MGIwRWI2RTgzQzAxMEUwM0EwZDY1NDQ2IiwiMHhFNTNkMGQzMDkzNzRjYjAxQWFjMmIxY2ZBOGQ0OEY4YzQ0MUE5YzZjIiwiMHg0ZUFjQ2EyYmRkMDFEQzg1N2VmYjc5OEE2OTA4QTM3NThiOUFiN2Y5IiwiMHhmMWYzNDQ0NTEwZkQ1NThFZGVFZUUwNjJlRGY1ZTdDQUUyMWU2MDdiIiwiMHg1MDM0QmMxNzFERDJDNzk3MjFiMkI2Njg2N2IyMDJCOTJFY0ExNjQwIiwiMHg0MGY3MTJiNkVmNjRlRDExRDYzRUY2OERkZDM4MjdlODc3ZmI5MkJiIiwiMHg5QjNhZjc1NUE3QTM2YUY1OTY5YTFjNmY0RmQ3MUQzOTUzNzU0MWIzIiwiMHhjQWNDOTJkMTQ2OUNiOWEzYjg2MDRCRGVmMjhBMEI5OGVkNDkxMEM0IiwiMHg1MUI2ZWYxOGYyNDU4NUQ5ODAwZmU5MDlkODJBMGE2MWQ0MjE3ODFhIiwiMHhCMTE0OTgwYjk5MmFCMDgwNTJGMjJmNjZjZjMwM0NCOEUyNTFEYkNEIiwiMHhiNzg4NTJBM0E4QTk3RDRhYkE1ZTBjODQ1YjkxZjZkNzVjQzA4QmFCIiwiMHg0MEZlOWRmYkFlNjlFMzA4NkY5N2ZmNzdBODA1MWE3NDMzOTJjMDJiIiwiMHgzQTVCYUVBMGMyNzZFMTkxNzgwNjUyMUI0ZEI0RjIzMTc5RjUxMmMzIiwiMHg1Njg0MmZFMDMwYUVmQkNmNDI4M0E5NEEwMWM5RjZBMkU0ODUxOGIyIiwiMHgzYTJhYzE0MGIxYmFEZDlhZTliNTQ4MjY3OTQ3NEE4QmQ1QzQ4OTMzIiwiMHgxNkY1NkExMDEyMzZkNmI0NDc2ODI2NjI3QTRGNjczMEY0NTAyNDlkIiwiMHg3Yjg3MjQzMTk4MjJBYjhFNzg3QTBkYkJmZTJCQzJjQzYxZDM5N0NiIiwiMHhCRTM2RTM5RENhNDA1ZWU5RTQ0QkE4RUI2NzE3YTYwRTAxRDM0MjI1IiwiMHg5NUUyYkYyMGE3NTdBNWM4Nzk5MjE5YzBDQzRmNERGZTkzRDAyRTI0IiwiMHgwN2Q2M0VEMjFEYTI3MDg0NWM2MGY4YUJGZkZjMkI3NDJCQ2EwZjEyIiwiMHhlRjUyQzdhOENGODc4OTFDMzAzM2U5QTkyMDVDNzk3OGY3NGQ1M0VmIiwiMHhmMzUyMjdmNDgyMmE4NjBFMTE4NzBlRjU4YzczNTRCNjliNzk4Mjc3IiwiMHgxRWQ5MEM5ZjlFODFmMEVBMzYxRGRGQjhkMTkxOUM3MzdjNEZGMjE4IiwiMHg3MkU2M0ZlMzEyMzI5ODNjZmYyNDQwRDVFQjczQzQzNzA4YWVDNWU4IiwiMHgwOGQ1YjA0MUE0NUUyZTE3NzZhRDQ2ODg0QjlmREFlRTM5QzUyMDZiIiwiMHhGOURhMzY5QzcyMmFmMTZjYTE3M0E2YzNEN0Y0ODVCOUI5MjkyODAwIiwiMHhENzlmMjQ0MTc2ZjQwMkVGMjMzMjBmQUMyMDY1RjlGZjQ2YzQxMkFBIiwiMHg0M2VEMDE2ZTgzQzU0OTQ3RDkxOWMwN0ZlNDUyZTM2NmQwOGY2QTY2IiwiMHg1MDg5QTExM0UyOTc5NDQ1MzhDQkE5NDM1QzAxNUQ0RDBkNzFCZkQ0IiwiMHg2NGIzNkMwNjBEYzkwYjhEZEM5NzdCQkZDY2M4NzE5NjY5RGRjNmM5IiwiMHhmQWRBNGJkNzVGNTE2OTQ1RUM2YjhmQ2JBRDk1QUUyNjdGNTllNmMyIiwiMHhhODdkNTRGRDY3NDVFM2UzY2I2N2EwZDk4M2JCMzk3NDQ5MDdCNUU4IiwiMHg5ODJiMTk2NDYwOWExRUVlMDNDMmJFZGQ3NjA4QmEyMTdEQmU1ZTJEIiwiMHg2NzEyMGQ1NTkxNDgwNDEyN2UwNDM4NjZhNThjM2MzMmE4ZDI0ZDJmIiwiMHhCODU4NTE5RTFDQzE1OTE0REFlNDcyNjlDYWFmNTFDQzY1QTE2ZjMwIiwiMHgxOEUwZGNGYTk0NDk0YWEwMTcxM0MwY0IyNDJlOTc2ZjEyZjAyOThDIiwiMHg5OTQzMUFlMzRhODdEMzkwNjNBMzRGNzI3MUQ4OGUwZjk3NmFjMEZFIiwiMHhhNzllZjRDYjM0QkE1NmY3RjEwMURmNTA3MERBNjc5Y0NlM0IyMDFFIiwiMHhhNkM0MjU1NDk2MTI0M0QwYmZjZDA4MkU3NTIwQ0RkOENCRWVDRTc4IiwiMHhkRjVhOEU0MGI4Y2U3MzVDMDA0NDk5Yjg3NTFEZThCYTIwZjZlZjcyIiwiMHhFODMzMDUxOThkYTNhMmU4OWZlNEIyMUY3RERFZEM5YjM1NDA5NDY0IiwiMHg2MTM5Njk3MDZjMThiN0Q0QjA0NGJiZDRCRTJjRWQ3QkEzMzlGRDRmIiwiMHgwNGViZDc1NmVGRTE4ZEIxNmFFNTAwOTFEMDcyM0FlNDhmQjlFRDczIiwiMHg4MDAxNTcyNzNkMTc0MUE1YzdjNzJjYzFiNzcyMjRmN2ZCQ2RiOGNhIiwiMHhhZTRBMGUzQWZBMjc3QjRFOGQzNTgwNzNlMGRhMWY4ZDE1OGEyZTczIiwiMHgzQmNDMkYyYzlFRDNFZjNmQzlCRjNkNDk5NzhiN2IyMjkwOTQ4MTEwIiwiMHgzNjBlQ2MwMTllQWZFMjk5M2ZiQmRCOTI2N0ZBYkYzZDEwYmUwZjM0IiwiMHgyMTRFODcyOTZGODlFMzRBYTk3REYxOTM3ZjgxMDBCRDMyRjhBNjhCIiwiMHgxQTcxMDVFOTYxMjFjOGUzM0E4NDJBNTFCMTMxMTU4YzcxREJiMzUzIiwiMHhjMmJFNWFjMTZEMTg4OTEyMjQ4MTllN2YyOTc2RjNjNTA1QmZjMTY0IiwiMHhDZUZmZUJhRjlmODE2MDE1OTU4NDJjMTQ1QWEzMkNFNmNENGIwNjM3IiwiMHhiNTQ2RWYxQTFmMURGN0Y5YjMxQkNmMjViMzQ3QWExOTFjMjM5MmFCIiwiMHhjMEQxNTUzNWIwNzJCNmJFM0FkZTZlMUQwRjdlYzVEODY5RDQ4QTkxIiwiMHgxNDU0NjBiMjhGMTI3N0UzNDZBNDZjNjA3OUE1OTI4MEVBNDRGQWEyIiwiMHg3Q0MyOWREMzJDMmQyMzRmMEM1NWMxNzM3OGVDRDU2Mzg4MDg4OUU4IiwiMHhFYjI2OGQ5NDFFMkQ3OGJhMEExMjNDNDJhOURhQjQ5MTcyMzBBRmIzIiwiMHgyMjg4NGY5YzMxM0QyRTZmMjc0YzE4OEM1RDAyODlmQmM3MThCODhFIiwiMHg3YWQ2MEUzNTBhRDAwQjY2RjVmYmQwNDUxZTQ2ODBhQTY1ODA0RTEzIiwiMHgwNTQ4ZUU2NGJCNWE0NjZjNzM1NTZBOGJlOENhZDQ3MDYzMDQzMWUyIiwiMHg1OTY3Mzg2MUI5YTA0ZjM2NmE2MkE0NTgxYzVFNWFiOGZBYUUwYTljIiwiMHhhZDFFQTE1ZjE2MjIwRmJhOTdkN2I4RmQ4NjY3YjIyY0RGNTVhMGVGIiwiMHhjOUVkMDUxMmEwNzdFNTA5MTAxMWQ5Y0JBNTk2MTI5NzIzM0Q1NWZBIiwiMHgwQWY0Yzc0NDE3OGY5NzM1ZjM3MDY3MDg4NDU5Q0E4ZDgyNTM3RTdDIiwiMHhBREZjZEI5MzZBNGNjNmMzNTNGN2NjMzFlZDA3MGFFYjk0OWJlODU5IiwiMHhFM0RBNzE2QjcxMDQ5MmFiMjkzOWZiQTA5NUQyRDFjNzQ3ODU1RDk1IiwiMHhjODJiYzkxODU1NzMzMjUyNWJFYzRiMkI3NkZiYzE5NGE3QzJkRUNFIiwiMHgyNjUwODk0Qzc4Y0FlM2REMDJCZTQ0NUREMkYxNmI5RDEwMEI4ZEIzIiwiMHhDNkJERTAzNmE5YkUxNzY4OTU1MTBjNjVFQkJBODQxNmMxOWY3MmU0IiwiMHg5MGEzZDBBZTIwNDVGOWNhYmUxODRERDg1OGVhMENEYjI4YjQyMjFhIiwiMHgwZDREQTM0NWNlOGMwNzYyN2Q1RDc5MTY3NTRFNDVhZjE3YTQ5MTNCIiwiMHg0Mjk1N0U5NEVBQ0M1RTQ3NjUyMWY4RTc1MTliOWYyQTg5REVDNThjIiwiMHhhQTg4MjVkNzlmYWJBRkYwNmI0NkVBNkNFMTVERDNGNTk5QWI4NWY2IiwiMHg0NjMyNkZhMUFEQzhGNTk3MkMxRjQzOTE1YTMwYzYxNjM0OTI5QzMxIiwiMHgxNDAxYzhFMDEwZkE0NWVjRDI0OTEwNDk1MzREN2Y2QkZlOGNDQjBDIiwiMHg2Nzc2ODkwMDRFNTc2YkYzQkE2OTNDODY4RTM4ZTVFRWQ2OThFODE2IiwiMHg1YjVjNDc0RjEyMzJDNkFEZTMxMUM4M2M3Yzg0OWZCOTMzZEU2MTQzIiwiMHhhMmVBZEE3YTE1MzQ4NWZiNUNhYmNmQ2FlNjVBZDgzOWFCNDNlMjg1IiwiMHg2ZjJmMjA4ZDFCRjE0QjljOTIxMDVmM2IwODQyY2JhNTA3ZTdFOUVjIiwiMHhjMzUzYUNmQjVBOGVFNDRlMTMyMEE4Y0NmMmJkNEVCOWQxMzAxRDM0IiwiMHhiQmI0MDc3YkE4N0YwZUFmYzE3NTRjOEZEMTIyQmUzMDRlMGM3NzA0IiwiMHg1QkE3NTBmZTRmN0IxMTVhN0I4MmIzZTMwMTgwRTBmRjgwZDhlODBmIiwiMHg5MzcwNzVmRDFhNzU4NDJFZjBBNEE2OTc5ZkI4ZjAwMzZhMjAzZEYzIiwiMHgxNzJmNjdFOURkMzJGOEViODkwZjQ5ZTlGOTIyM0QwNzM1M0ZkZmY0IiwiMHg1MkU0MzU0MDEwMTY3NjU4MEExYmY2OTZjRjZmMTc4RWVlYjFjOEY0IiwiMHg3MDg2MDY5MjgwODcwNDIzM2U5MzUzMkI4Nzc4MTA1NTljMzM5YWZDIiwiMHgwOTkzZjEzMjQ3ZkM3MTlkMmQ4MzYxNjI5NDJFODY5MTJmMUMwNkM5IiwiMHg0ODJDQTlhN0IyNDZGYzVmMzMzZjYyNzFGOEQxNjQ2ZmRGMjkyOTE3IiwiMHhlMEEwRDkyOEM5NTM2OTkxMmVFMjRjQkU5MTc4Q2ZFN2Y4MDM5QzJjIiwiMHhBNDAzNDY0Njg2NTEzYzVCNTlBNzYwZUMzNDQzMzQ1MTFkRGZCZDY0IiwiMHhiNzI3ZmFDNDEzNmRENDRkMjZFNzM0ZTc1ZUMwREU3QWEyYTMyMDNBIiwiMHg0QzY3MWY5RjY5NjZGMDM0RjJCRjMxMDQ4M0JDM2FhMTQxODE0NTU5IiwiMHgwQzE0NTVkNzJDZEI3Q0Y0YzE1QThFRDY2MDFlN2Y1NTIwRWViOTFkIiwiMHhhMWQ3OGI4QTUzN0M4MDNGZGVEQjhDQUFFQTBDZEZBMTE4YjU0NkQ4IiwiMHg3NmIwNjBDZDc5MTMxNDgzNDJCMDVDMjc1OUJDYTQ4RDQxYWYwNDIxIiwiMHg4N0FGQzY4NzVGYmFDOWMwMGMxM2JmZTU0MDNGODQ5MGJjZTlEODkwIiwiMHgzMTc2RTM1RmJlNjYxOEM3ZTliNzAzYzJENTBlMDlFMTlFYzkzMDBmIiwiMHg3MDIzYUVBQTNmMjdCMmU0OUY5MUU5MDZhYmJDYmQ1YTc0Mzk3MTc4IiwiMHgzRjBBOTEzMEU4MGI2N0NBQ2E2NjY0NDREYTdhNTM3NzNmNDUwNTI0IiwiMHg4NDZkNjlhQzZhRDA2Qjk3YjAxMjRFQWMyNDI5QmQxY2Y3ZWU0NDg3IiwiMHg1OTNkYzcwOEUyZWYzNkJkMGI4QjE0OUMzN2ZDYzVhQUY5MjUzMjQ1IiwiMHhmQzkzNDI0NDJhZUNCNWFiRUEyYUU0RTBBRTlBMjM0M2E0MzQwODNFIiwiMHg4NzQ0NTIwNDU1NDA3NTRiNzc2NzVDRTIyMkFjYTBEMjUxZUFjYTBjIiwiMHgxZTc2RTBBOTdGMWE5OGVlNDhhNzUwMjNGNDY3MDQxNjI2ZkE0MDg0IiwiMHg3RDM5YTg3MTNDNDU4N2E1QWYwMjc2RDJlRDE3NEE4MjI2MDQ2NDczIiwiMHg3NGY4YjVGQzA4NURGMzcxQTNCRjBkMzUwNEFGNzk0NDVjQ0UzNjhFIiwiMHhDMzBGNzRlMUM1MTkxRjg1M0REODE2MzY4MkU3MTY2RTA4YzczNUFEIiwiMHgzQjk5NDAyMWIxMkYxQzQxMTg5MDE5NWVBRjA1NjNhQjY3NUUwNTdlIiwiMHgxNzY2NTMxOWQ1MzZiYUNmRTJlZGY3QTFBZjRBM0U0MzczNzEwNThBIiwiMHhkNTA4YjQxY2FjMDU1ZmRjRWRmMDYzMWE4NWEwYURFMjgwOGJiNWI5IiwiMHg1NUQzNTgwMTk5MjUxNzMxMjYwMDU5OUQ3MzE5MDE1MEQ3MzlhMDY2IiwiMHg1NmM4MTIzNTE5RTA2ODFlRTE2NzU4YkJmZEE1RERlOUM5NDJBMGQ0IiwiMHg5YzkyMGFCMzY3ODM5NmYxYUMxZTY1OTJCOEVBQ0M1MjRhQTI1NDcwIiwiMHgwMjU0MjBDMzExQWY1NTExNTA0NzE0NTYxOTdFQTBEMTgzYTA5OTZDIiwiMHhEMzU3MTAzQzNDNzA5Nzk5MzlmYTNlNGM3NzVENDUzYjk1MDA3OTI4IiwiMHg2MUVDOWZBODlGODAxQTQ0NjUwN0U5NjVjM0FiNTBkY0Y3OGQ0NzU5IiwiMHg2NTBFOGI5ZDIwMjkzYTI3NmY3NmJFMjRkYTRDZTI1ZjJEMDA5MEZiIiwiMHgyMkMyNjE5RDc3MTUxNTI0MWJkQUREZWRmNDA0ZDQwQTRFQTUxRjE3IiwiMHg0OWRkMTU5QjIxQjg0MUZiYWI1N2VGNTJjMzFhYmZBNjEzYjYzMDU1IiwiMHg0NjI4NDBBQzg3MEE3MTEzRTZCZTc3QjZDYkZCYjQ0YzZFNWEzQkRCIiwiMHg3OWMzYmI4NTFlN2RDOUVjQ0EwNGE2NjdmYzJEMGI2ZjgwMjczNTBCIiwiMHhCODQ2ODZBNGE0MWM3YUE5YkI3MTBjOWVBOGEwREJlMzU5MzMxOTY2IiwiMHgzZWI0RkVlNTlBNUYyYkY2N2U4MDdEOEY4RDY3NkZFOUFjN0UwZDk5IiwiMHg3MmNmRWYwOUM0ODczNGY5NWYzRGYwQTU2NDVkRDQ3NDYzQTY0Q0NlIiwiMHhmRDgwOTM1YzhmMTY0MzExOERmNWY1MTgxZEE3OTc4Q2YwQzhFMUM3IiwiMHg2QzUyYjgwNUEyN2UyYkNmNEUxREVENjAyMzkwNEI1QzdDNTNCOGI5IiwiMHhmOEEwNjM5NTE2Y0JCODQwMmYzMDVlODJFZDc4QjA5NUIyNmY3MzI5IiwiMHg4MzAxRDE2RmQ2Nzk1NGFDNDJkOTg4RDU4NmI5MDExZDhBOEVhN2Q3IiwiMHg1NmYxREM3NjQ4MDdGOGY4Mjk2RjU0RjNhQTVGRTAzMkI0YUM3QUIzIiwiMHg5MTBlOWFkQUNkQzhkZjk1OGY5ZEFhYzNlMjQwMTBCOTIwNzgyQ2VhIiwiMHg0ODMyNmM0NWQ4ODgyNUM3Y2UyQjcxYkRmMmE2ODI4NzdGNWZhRUVlIiwiMHhFRUE1RGMyYzM5MTQ1NDE3MUZFQTIwMTE0ZUI5Q0Q0MWQ5QUU0MjMzIiwiMHgxMmQwNWE0MjMwYUZFOURkMzliOUVhQjQwZEQ5YzA1NjcxNDliRThiIiwiMHg3OERmOEI2QUFDOUE5NzgyYmE4OGMyMkNlYzc2NEIyZDk5MTYzMzdBIiwiMHhmZjkyRTIxZDAxOWY2MGQzMzU4MkY3MjFBMkNDNUIzQjI5YTA4NTFBIiwiMHg0QTBEOGM1YWIzZjFFN0NBZkM1NzkxYzMxMDlGNEJkM0RDYzk0ZDQ3IiwiMHg4MjZCOWVjNkQ2NzE2MTAzOTVDQUNEMTQ1MzQwNTZjN0Q3NTgyNjhBIiwiMHgzZTAxZDA5QTUxOWQ1MDQ0YTM1NmQzOTgyNTE1MzQ4N2I0MTIzODUwIiwiMHgzZTk5ZGQ2OUYwODYyNjhCNzQyMEREN0YzODJFMTg4YTU3M2Q2Mzk1IiwiMHg5RUZBYWU3NThjZTJBODQxODRmZENEODhkNjQ2M2MzOWVENmQ3NDI3IiwiMHg4MjdDRkY4NjhFMDI0QjYwQ2NDMTEwNzJFOGMzNEVkRWFjM2Q1RGFBIiwiMHg1NWRGQTJDRkVERkFFMWQ4OEVkODcyN2ZBRDRGOWI4Y0RlMEQwQ0JmIiwiMHgyOTE1Y0VlYjRDRDU4RDI0MjI4MTkzNGZmQWZGQTJhNzVBOTBGRjU5IiwiMHhjRWU0YTJhRmE3NGJlQzU3MTczMDZjNEMyQWNGNTZENTM2ODI5MTI3IiwiMHg1N0E1ZGQ5NzRBZEFjODczOEQ2Nzk2NTAyYzg5OWQxM2U4OTAzMTQxIiwiMHg3YmRkMWQ3NTg5Yjk2YzM4NTU4RWFkMDQyRTgxMDczRGU1MGE2MjAyIiwiMHg4YTM2OGY1RUJlNDVmZDFlODljZkE1MDgxMkYzRTViOTAyQTViYmZCIiwiMHhkZEM4OTRmNDYwNTE2MWYzQUNDNENFMDBEOTE3MzkyOTc0MjQyNDE2IiwiMHgzZjA0Yzk5MTZmYkM0ZmEyNUU5MjE2MzEzYjFjMGNCRTkzRDYwZjVGIiwiMHhBOUFjYTk3REY1ZjQwMzcxNTJmOEMwQzU0MmQ5RDRiMjhGNEIzZDFEIiwiMHg2M0IwMkUyMzliZDFFNjY1QzIxNDZmNjIzN2Q5MGE2OTNBMjc3YTAyIiwiMHgwQ2NGQzJmQjc4M0QwQzgwY2E5NGVhN0I3MjM4OWRCOTYxYzU1QmQwIiwiMHg3ZjgxNmUxRWNBOTFBNmI4OWI3RENDQjFkNDZFY2MxQUUyOTQ5Rjg4IiwiMHhFRWJDRjQxNjQ1NGNmQjFFZkEyMDcwZkNFZDFhQUI5N2Q4ODU2ZmFmIiwiMHg0NWI1OTkxOGUzNmRDYTlhODcwNzZBMjVkQ2FEMUUyNTQ5RDUyODQ0IiwiMHhiMjhGMTMyNkU0Njk0NkYxNjlkZDM1NWQ4MjIwRmI4ZWNFRmFmOTI3IiwiMHhGZkE2YjkzQzlGYzdFNzBhOUQxNjhGNzY3MmRmMkRkYTFCODZkOEM3IiwiMHhkMkI4ZTNDNEMzNUM3N2Q4OTZFMDJmMDI1QjQwMDhhMkE1ZjE2YTNmIiwiMHgwNzBlRUY1NkU0OWQ2RDZFQTM3MTNDMzMwNTUyMzM4Qjc0ODdkNzkyIiwiMHg2QTE5RWUwMGUxRjcxMDZiQTZhYzE1QWZlMTJkMjQ5YTFGOTc5ZDYzIiwiMHgyNGQwNzUzRTBCMURCMTZBZTRBQ2M2NDU2YjgzYTQzQWYxNDI0OTVCIiwiMHg4NDQ1ZDY2OTkyZDY3QWVkNTE4N2FlZDkzNDE0M2MyOTFhYTFiOTgyIiwiMHhmZjg0MTc5QmY3NTczN0I5QjY1MUQ3MTJENjgwOUU0NENGRkIzODJhIiwiMHgxNjRCNjg2OTU4NTkxYTJEMzQ5M2FGRDU2MjU5YjgwQzJkZTcyZDdGIiwiMHhjODcwODQ3QTcxQzY1QWI4ODNjZjBENEE0RWE2QTczYTFjQTVFRmRCIiwiMHhEMzMwQWNhMzE3NzQ3ZTMyYUI4MjlBM2MzNUI5MTQ3MDRlOUViZDBGIiwiMHg3OTYwN0Y1MGFiOGZlRTQ5MDFDRjAxNUMwNERhRTlhMDEyQWMxMUQ2IiwiMHg0RThiRDVCQTA3MjA4NzI1M0I1OUNiYTI4ZDk2ODcyNjU1NzQ5OUQ1IiwiMHgzM2NBMjQ4NmQ5RGQ4YjMyNzcyNEM1OUMzODhEY0QzMzgwNmNBYzgxIiwiMHg2NTQ3MGMwMEY1ZDVFM0VjZUJBNzExMDQxNzhBYjFDMTNhOUE4OTJmIiwiMHhhMDgyOTY5N0FmMDlhQzM1NUU1MUY1NTRDODJCZjUzODA5MkViMDE0IiwiMHhDZjExMzNiMEJiYmUzZTE0QzlEQ0Q2ZUZkQzYyNmVlYzIyYTg1MUFFIiwiMHgzQTdhMUIzOEMxNTBCMzk4MTczYkI4YzgzNjU2QTE4MTJFODVBYzIxIiwiMHgxNTA3YjkwNTg2RUE3RTFCMTE0YTNCZTlENDhmNDc1MkM0NjUxMzgzIiwiMHhCMkI3Mzc0NEEzRDg1QmZlM2NkODQ1YzRiRUQyMUY1QjM0NzI5ZmNBIiwiMHgyMWMxOGJFMjAwM0FkQzU1OGFDRGMxNTJDYjZEQzU1NDA2MjE0Njc4IiwiMHg0M2Q3RTczMjJkM2EzNTVENzVBZDM5NmRGODJCMWZlMzMxOWI5MkJBIiwiMHhkNDI2ODM5ZTk5MWE1NDcxNWJGQWY2RjZBZjNiNUU5NjAxNEFhODg4IiwiMHg5ODhEQkUyQkJkRDgyNzY0OGQ4OEVFMjExOTlmNzFGMzNmODM4NjVBIiwiMHgyNEY2NDFDMDU0OGZGOUZCQ0M3M0ZBY2VCMUNlMTFiMzk1ODZjMjZGIiwiMHg4QTY1NTFGMTE5QkI5ZDEyQjgzODQ0ZEU1NzA1QzI0MTdENEJDOEYwIiwiMHg5MWM1NzAyM2NBRjQ5N2NEZWQ4OUY1ODVkQmRhMDY4MTlBYzUxMTU3IiwiMHg2MWVERTgzNzRGNzczMjI3NUJBMEVGQzgyOTY4MDY4OTBjNkYxQmVGIiwiMHg5RjY4NjJiODZFYjRmZjRiMDYxYmFGQTczNTk1QjIxNWVlNzI5QTExIiwiMHhDMDYxM0I5MDRhMzE4MjlhNEFkNTcxM2ZhOTZDNjIyNjQ5OTc4ZmRjIiwiMHg4MjZFZEQyMDczQWU4MTIwMERiYkZjRTYyYmE0NTJFNGU4NmUwOEE4IiwiMHgzOGE4YjVCZjIyOTJkYmY0NjE1Y2QwNUY5YmU4NjFENjA3MDhkOEY1IiwiMHhmNkMzMUUxQTE3MTBkRTY4YTQyQjg2Mjk4NDgzNkQ1NjE0NjJmQzFFIiwiMHgwOGM0MjUwNmQ1ZkY3QTk4M0FFN2JlMmU1YTM4MEE0MjUwOGI2OThjIiwiMHhiYmYwOTJmZjk1MDZkNTY4MUMwMkNEQzIxQkZhZjAxMEQ0OTFjYTBhIiwiMHg2QzU3RDJBMURFMDNEMjNBRDg5ODVhNDBCNjlGQmUxN2M2RDc5MUQ2IiwiMHhjMTAxNTcwYUE2Q0QyRDIzMzlhMEUyOGMyNjQzRkE0MEVGRmFiQjkxIiwiMHhiOTFhYzFkOTgwNzM2OGM4QkFjMjUwM2JCODU2NDk1MDJmRkE5YzM4IiwiMHg4MjZiYkVBNDFlY2RiNTE3NDQ0ZWY1MzJlZkRjOEVDZGJiYjQxOTRiIiwiMHg5NDRmRDUwMjc2NTk5ODA3NjI1Nzg2RkI4RURjOTg3NkM1NDU2NWU4IiwiMHgxMDEzNkM4OTVDMDAxNjIzZTQ1NkI3QkYyZjFkNkE2M0M2ZTZGYmJkIiwiMHg3ODA4MmU4NkE0QjFCNTljZUIzNTRGMjNGN2QyRUU3QTc3QzgwNzM4IiwiMHhiNjI4MEUxRThiRUUxNmZjNzkwODRBNTI0QmVDNWM4MzUwOTY4MkMzIiwiMHgzZDgwNGM4QTI3QzUyZUFiMjFFY2NjOThBMDY0OEJERERDNGM4MTREIiwiMHhCYzhFZTE3N0QxYmNlNjMzZDdjMDMzMEI0QmJjNGU5ODFGYTczMjdBIiwiMHg0MDBGNEEwMUJjNTAyYkQwNDg5OTY0YzFGYzU1NjhkODcwNUE5QzkzIiwiMHg5ZUFDNEE3NWQyQkI0RGYyMUI3ODlhNTY4MDlFMmVDNDBENjQ2OTExIiwiMHg2MDdFQUM1RjM0ODM5YmQyYTE0Rjk2RjVGQjI4ZmE1Nzk2QjgwOGFCIiwiMHg0RjVFODY4QTA4OWQzNzczNGY0MjA4YjFERjI5N2I1ZEJiQmYyRTdBIiwiMHhiRWM4MDBFODVDZGVlMDg5OTg5M0MwM0VhOTA0OEE0ZjdiNjVjMTAzIiwiMHgwNTAyMmM3OGVFMjliNmMxZmZDOWE1MDI5ZTYwQzI1N0FjQTFBNTAzIiwiMHgzMDdkMGI1OTAyMmQyQkJBNGY2Rjg3YkE1NjkyQkVmNEQ4NzM1NUM2IiwiMHg5RTI4NzU1MUJiMTc1Zjg2NUY4MDRDNjI5ODcyQTlmNUI5NDQ5N0QwIiwiMHg0Y2U5ZmE0RTY0NzJiOTNENzFCNjM3Mzc2N0RDMDg2MzNBYkI5Mzc5IiwiMHg5M0M5YkM0MDZDOEQ3MDExNzdjM2ZiOTVDZjlFNmVENzgzYzE4MEJCIiwiMHg3NDYwYjBhM2MxMDA4RjNiM2RlM2MxZkVBNUM4ODMxQzgyMTRiQmUxIiwiMHgwNzc2Yjc2MjI2YkJhNjhiRDgzODQwRDVEMjQ4OEZDMTNhNTc1ZGM5IiwiMHhCRDg4ODhCNDAzNTYyMGMwZDhEN2EzMTQ3OTQ4NzNiRDY0ZEVDMDAyIiwiMHgwM2IzNDkyMTFGYkZERTVBQTQxYzVlRjgyNDU0YzVkYkQ2M0EwM2UzIiwiMHg3MzNhYjU4NkI0NzQ5QzE2RTQ5MGE2N0E3ZkQwM2Q3NDM0QTcxRkViIiwiMHg3ZUQxN0RhZDM3QTEwOTk4MzEyNWZCNTA5MDY3MjFkQkI5NzM3ZkI0IiwiMHhENmNiMTEzMzdmMDk2NjEwZDlEM2E3MDhmMGI3ODc1ODg3NUYwREUzIiwiMHhERDA4MWE1MGNEQzFCMmFDMjQ4REY1RTkyYTM5Q2E2YTI1OWQ2NTBCIiwiMHg2MUI0NjY2QTZCODVBQUJERTFBNjBFNjlhMUU3RTVDQWY2NTlEZmREIiwiMHhkRjA3NTk4OTQ4ODM5QjlDQ2UzMTg4QzA5MkUyNmEwMWUzN0YyMDk4IiwiMHg0MDQyQTA0YzU0ZUYxMzNhQzJhM0M5M0RCNjlkNDNDNkMwMmEzMzBiIiwiMHgyMTA4ODBBRTkzZDUyOGI5ODY2NzhjOTZlOTM5RmVmRDM1NGY5MTM3IiwiMHgwMDg3MWM2MTc3NEVBNTMyQmQ4RkVkMWUwNTg3NEU4ZmYzQkI5RDk4IiwiMHg4YjVGQzczQ2ZFMjU4MjlhMjBlMEIzMjAxMTVGMTQ4NUM3MWMxMzMyIiwiMHgyODhmRTM1M0U4RDkzRUE0OTQxRTY3RTc2MkFCMGNCMGE1NDk5NkVBIiwiMHg2NGU0NUM3ODI4Q2FkNDY2NEVENjY2MDgxNzAwOTg0YTQ3NGYyODRCIiwiMHgzN0NjQUYyNDg2NWE5MWRGMzE1ZjY0NkEyMzI0MmY0RGYzYTNjNTNlIiwiMHg1NjBDMWRiODkxMjE3N2I2ZTdhNkNhZkNiZWQ1NUM1QzgwQTBFNDZjIiwiMHhBMkMwQ2MwMWNiOTc3QjQ3MDlERjIyNUY3NkFmZDA1MjQ4RkM4MTdCIiwiMHgwMGI0NzIyRDllZDA4QTM4NjE5ZDQ2NzU0ZTBkNUE2RUFjYzdEQ0JkIiwiMHgyY2UwMkZjMTFCRDZjOUUxYmMxMTk3NGJGQ2MwRTczNzAxODgxNTdEIiwiMHg2ODQwYjg3RjFEMDUxMzUzYzk3OTIzNWVkNTM3YURBNzUzOEZhMEM1IiwiMHg3ZkU2ZjdCNDU0MUVmNEQ0MDgwMWU5Qjc0OWY4ZDAwNUFmOTg1QTNGIiwiMHhDOWUxN2U3ODlhMWNmOTEzNkQ2M2JBOWE3QTlEYzNDNTUwNjY5MENGIiwiMHg2YjMwQ2E2RUY0MGU4RUI2MjYwRjRjNzM4NDkxNDlEMDcyRjBhN2ZmIiwiMHg3YWM5OWYyMzI4MTI4NkZmMGNmYjI0ZTYwQTYwMkMxNTQ4RDU2OWMzIiwiMHhFNGUwNGQ5QzI1YjViZjg2NjU2RTYzRWIzNTA5MjgyNDU0MzE1ZTMzIiwiMHg5ZDJlN0VGRDg3NDMzNTBiNDg5M0IxNmUzZjQ5ZUE3NGU4ODc2OEQ4IiwiMHg1Nzg2N0JiNGJlQmE2ZjMxNmYwMDcxYzVjQjJCODQ3ZDUxZUVEZjI3IiwiMHg0MDg1QThjMGI1MWVDM0QwMzE5YmZiMTEzMGM2REE1RjlFQkY4MzUwIiwiMHhFQ2ZlNUYyY0Y2MTdFOTU0RWNFYjYyYzA2NzdDYWZEN0QxYzVjZTdDIiwiMHg2RWI5NGQ2NzQ5MzUzOGRFM2M0NTFGOGVCMTUzQmNjQ0RBOEY2MzU0IiwiMHhBRDVDNTU4RjkzNTgwQWY2NDA3RGEwOTNFYjdmYzY0YzQ5OWFhNGYyIiwiMHhmOTIxMGMyNEMyZkY3MkUwMDQyMDBDNzExYjkzNzRGYTA0N2E3M0EyIiwiMHhCYjZGNGE0Mzg3M0FGRGRGMURlOTNDNWZkOTM4NDk2OGZmOTBjNTU1IiwiMHhEMWFFMTdmRjc3QzYzQzAwMjAyRjRDMmM5NWJmRjc5ZjFlNjI1NzI0IiwiMHg5NTNFNDU5ZWJFNDgxNWExOWI2ZDBENThBQTlmZTZEMDRCOEZjRmI2IiwiMHhFMkFjYUQ4MTI3QTM5YUVCNTY0NjM1NjJBNDQwYkRBODU1NTcwQjg5IiwiMHhkNTE4NDY4RDg0ODFmQzVlOUM4YkFlNTExMTlCMUIwZjYxODRBOTEzIiwiMHgyZkY0NTc2MWI2Y0E0YjYwQUU0NjhEOWU2NWJmODQ4NWJiRTQ3M0Y5IiwiMHgxNTQ5Mjk2RTNhM2EwODIzMDBCZTdGRDQzQjcxYjA1RDc1QTBFYURFIiwiMHhlQzdEYjI5MUFBOTRFMzEwQUE4OTgxRjU3MzIxMDk3QkM4QmVjNzAxIiwiMHg2RjQ2MkM1NGU4MTM3MEE1NkE3Mjk1MURhMEZiZjA5OTlCNWJCZTdBIiwiMHgyODM4YjVmOTkwZTgwNjg5MTdENDkwNGEwOUZjYmYwZEUwQ2MyQjI3IiwiMHgyOTU4MjlENzAxZGQzMDRmMWI1NDhEQzIzOGU3NkJjN2UyODVCNTAyIiwiMHhiNkQ5NTUyNGRFRjExMTZERGMxMDYzMEY0MjZmMDhDYzJiRTg2Y2U3IiwiMHg3MWJCZTM5ODJkMTdCRDM1M0E5MjRjMDhDNkY1YTlGMzM3MzE1MmI5IiwiMHg2ODNmZDYwQzNkMTk1QWY4NDRCRmE5MDc4Y2E5NTZBQTEzOTc1RUFhIiwiMHhGQ2VGRDRGRkU4NjRlNDI3NDJFNTAyQ2IwZjZBNDQ5NWQyNTk4MjVEIiwiMHhhYzc2MUYwODAzOWQ2RDM3Njk0YzgxYjVjYjgxYTc2QTQ3N2IzODJmIiwiMHgwOTVkN2Y2OWE1NkUzNUQ0QzcxYjZhZjQ3NWQyQWRCNUVFRTJhRjY2IiwiMHhmMjQ0MjE0ZEVhNjQzMEI2MmY4YzBhODUxOTI5OWNmQTVCM0Q1MEQ2IiwiMHg3MTU0MTcyN2RBM2U1OUJjQzlhMmEyMDRCNTk2MjRFNjc3NkJGM2MxIiwiMHhBYjhCMWIzMDM4QzVGRTc5ZjczNDVCYjJBNDlFOGY4OUZFODIxMjA0IiwiMHg0NTU3Nzc2NzgyMzdDNjI1MzdEZTZGN0JlODc3QjNCMjJhQTdiNDZFIiwiMHg1NjQ0NUNiZjk3MTJCNDBmZDUwMTk4NzFlZDI0Mzg2NTA4QWNBNkIyIiwiMHgxQzE3Q0Y2OTE5YjIzNjQxNGVEMUMwZTNEQmI3QjIwNmZhNDZBNEI4IiwiMHg2MUUwQTIxZDNhRWFGQ2JDOTY1NEM5NUEyMDkwNmVEOEM1NTc4Mzc3IiwiMHhBN2Y2NWQ4MUJFYjM3NjYwRTZENDNGNDRDQjE0QTgyYWU0NGExMzc0IiwiMHhEMjU2MzNEOTY4Njk5MTBjNUVmMWM0ODM3MTU1NzIwODIzMTA5NTYwIiwiMHhFOEZGQkFBOEJBNTcxZDMyZkVCY0ZGZTM5ZUJkRTFjRjhBRTU3NzI5IiwiMHg3NTYyMjZlNzMwMDE3NTMwMzU0MDk0ZkJGOWFkOThjREQ4OEI5NjIyIiwiMHgwZjY4QzQwMmY0QzM2NGE4Njk5QzczMDA3ZjQxQjlmYzFERjNhNDM5IiwiMHgyQjVlOEY4MjJCNTYxYzYwYURkMTM3MzQxOTg5NjAzNzQ4NmNGNzI3IiwiMHg3MzhjZGIyQTFENEMyQjlDOEFFOTQwOWZBQkNmQkY3MjAxNDlEMzFGIiwiMHhBRTE0MUVhMTJFZDZGYmJiMzIyNjRhNTQyQzE5QTdmOTc0MDE5MDQzIiwiMHg2MzdEMjU2YTEzNjdjYTZDMmYzNUViMjI2Y0YyYTRjNjk0ZUYyODVkIiwiMHg4NGNFMDc3MDljNjkzRkMwN2MwN2UzNzcxMkIwNjhlYjhDQTJGMzY4IiwiMHhhODBkOTBmQ0IzNkNBY2M5MzU0NmY0NDBkNzVmQTNFQWVhZWM5NTk5IiwiMHg4OEJkRjQ5M2E3OTc2MmNGNTVDN2Y4Nzc2NzFGMkEwNTZGMTFlNjE2IiwiMHhCMkZhODA1MDlERTA2ODVGOTNkYjE0NGYwRjQwQzQ3OWU1NDgyNmE3IiwiMHg2RGI0NjkzMDBFMTljQ0RhNEY2M0UyNjNGOGE1MGYwZjc3NjM0N2M1IiwiMHgyYTg5MGM0NTg5ZTVGYWU2MUEzNzJDYTA2MTUxOTEyMmQ0QjNFNzUwIiwiMHhjYTBiMzllODlmRDUxNTkzYjI5Y2Y5NTljQmI4QzRDMTc5MEJCZWUyIiwiMHgwMjZGYzhBMTdFZTYzMDgwZTRmNDBlNDAwQzhmNEI0ZDhmMzU2OTIwIiwiMHg4QzY2YzFEYzQ5M0QwZjQ3N2E1NDM4NGFBNjZhNjMyMDQ5N0I4OWQ3IiwiMHg3ZjMwN0M3NmRjN2EyYTg3MzAwOTcxOWFGMDlEMDdBYzFiNzFDODgzIiwiMHgxMjczMjE0ZTBiQTgyQ2UzMTM0YmJDOTE3MTYxNDlDNTJiODQyQ2Y5IiwiMHhmODI0NWY3OWU5MDA4MUVEOGQyQzg2OEQyMENlNDZDZDhlYzQ0ZUYwIiwiMHg0MjUyMzg3MzdFY0JCQmJGNzc0ZDBBNWZjMGMzYjMyRDI1YWM0MTYxIiwiMHgwOTUzNDhiOTk3Q0Q0ODBCQzdjNjdmNDk0NGQ4ZjNkNGVEOEZjMTA4IiwiMHg2MDUyNWI0MjFiMzg1NERjMjBFNDdCNzI1QkM1NDA5YTJFYmRkMTY2IiwiMHhGOWVBRWUxNkRFY2VBNTZlNUY3MzkwNTNkQmVBOTZlQjQ2MTkzQjE0IiwiMHgzMjg5NDVjNjBGOTM0ZjZiYWUyNUU3OTNjYjg3NUNFQ2YxNzNCNTlmIiwiMHgyMkExNDc2OEJGNjQ2NjI4MDBDQjU4NDk3ZjgyNjlFOTQ0MzZFRjc2IiwiMHhmMDhDNTU5ZjVkQWM4MTA2OUI4MTFCNUQwMTI1ZTJFOGJFQzgxYzc2IiwiMHhEZDg4NDg0ZTY1NjE4MzdBQTcyMzUyRWU3MTVkNTQ2Yjg2RTVFNzE3IiwiMHhEOTgxZEZiMjM2QjY0MzJDOUNhODE0OWE1NzY1MjU2N0M2Nzg1NTI5IiwiMHg3MDhGQWE4QjQzNUU3NUZBZkQzMjhmMmRCZTI5NUZGMGYyYTZBM0ZlIiwiMHg5NTRlOWIxRGJGQmM2ZkNBYzE0MUZBNzYyNUZiMDFBQWY2ZjAwQTJkIiwiMHg5OGJDQTBEQzZCQzYzRTY4MUY0NDRENTNDNDI3M2E5RUI4RjE3NzgzIiwiMHhEMTQ4ZDA1YzM1OTRGNDVjNzJEQjQ2NTJkOGNhYUQyQzA2YTU3NWFGIiwiMHg4NDA4N2IyNTZkMzE4MjQ5M0Y2MDI3RjBmY2NEMGNDMDNENDZhQWQ2IiwiMHg2NERmMzY1QjRENzFmNWYyMjM2RmRBNDY3MkFGNTlDQ0IwMUY5RjMwIiwiMHg4NTE4OENFQjQ0MjJDNTBGOGY0RTI4Nzc3MTM0RDkyNjhDZkVhMzg1IiwiMHhiM0Y5N2M2NkY0ODEzOTM3ZENmNTdFYWY5NTdhNTM2NDFjNGRmM2NjIiwiMHg2ZDhEOGZjOEI0MkFDZEI5Q0IxQzdGRmI4ZjgyODNmOTUwMTc5NDBmIiwiMHhEOGI5RUZmNzAzYzdjMjEwY2E5MDJhM2NkOWE3MDU4OUYyNDBDODQyIiwiMHg2NDk4ZTk5YTQwOTVDRDZGMzMyNkJlQTAwMzJmQUVCZDQ4REE5MjY5IiwiMHg3MzJGZTI5M2YyNGRiNURCNzUyOTc0YjBlZTVlNjFCNUUwRjAyNEY3IiwiMHhlMDQ2QjEwYUQwN0U3ZDdlZTYzNTg5MUI3OTg2NGNERTAyMkYxYzgxIiwiMHhEQTk2MjM2OTA1MkE2N0VhMDEyMTMxM0U0NzYzMTlFQmVFZUE3ZDBmIiwiMHhGM0FGYzU4Zjg2QTFGM0UzRDJiN0U0YTFkYTYxRUFkNzBiNjc4YjJGIiwiMHhiMDA0NzY3YjExMTNlMGMxOGZBODUyNjE5OTJFOGQ5YUJFMDdjNWNlIiwiMHgyNWYyNGZFQ0MyNzEwNzNCNjkzQTJmMjM0NEQ4OEI4YTE0NGEwMTk5IiwiMHg4ODZhNTA5OWM0OTMzNDVlMTgxNEJkMzMwYzVlOWQwOUI4NDk2RDJiIiwiMHhmODgxYTY1RjRlMzc0NzM5ZjZiY0E4ZDM2NTY2MTRlNjM2YzNDMDJkIiwiMHg0MUU0MjE2NzhkQTIzY0E2QkFBY2E4MTFFZTNDMzllMzg2MjBiQTZGIiwiMHhFMDc4ZWM1MjkwYTMxRDRjZWFGZEE3MDFiMzMwNUFjRTY5Mzk4MTdlIiwiMHg2ZTUyNTJmN2NjN0E5Njc2OTAzYjVkMEVmQUZiMjk3ZkI4RDQxOThlIiwiMHhhZjJiNDgzNzA4ZDU0MGMyNzg1Yjk3ODczMzQ2N0ZCYkJjRjA2NDdiIiwiMHhlQkI3RDAzMjBCNjUyZDcxOTc5OTU1M0QzQzRFZWZlY2IwZGI5ZGM2IiwiMHhGMkRmYzA3MmUzYTYxYkU5NERGMjkzMjIzYTcxNjA5YkI2RERGZUExIiwiMHhDODQ1ZDRkOTVGRmNjZDIyYUY4NEI1MDVkOGRiNzFFRWI5NzNENjcxIiwiMHgxOTZCYzQ2N0RkMGUxOUVFNTRlQjJDNWY2M2YyZUM3MjJGOEM4YUJFIiwiMHgyQUExQjFlNzRjNmE3NTBFMTMwNWUwZkZiODkxN2Y0MGU0QjYyNzEzIiwiMHhBNjY3NjJBNjRENjI0RGUwNkIwNTk2OTY4OTI2NTVjNjAzNjRlMjcyIiwiMHhlNUYxNTVhODA0QmRlMkVjMTZiMDgxNGY4RTk3NTZDRUEyNDgzQWZjIiwiMHhmMWQyOTg3MkMxMjkyZjUwYzk0ZDY2MzhDNDEyZUQ2RjE1QTI3MzRDIiwiMHhmOWEwNDJDRmUzMzM3Y0VmM2IxQzJCOEQ2MTRGMEJFZTA1YzU0MDA2IiwiMHg4NGIyMGRDMGIzOTBjMEFGNjQ2MTNmNEQ3MWZmZTcyNDA2Q2M1MDdlIiwiMHhkQWNhNzVFMjBiNjhmOTU0MTIxMGYzNTYxZDZEMzBCMkJlMGM0YzIxIiwiMHgyNERCMjBmNEJCOTFCNDJCMDdFQWJkNTA4N0NkRUQwMzNFMTdENDAwIiwiMHhBQ0EzMkYxYzRlYjgxNjkwYTQ3MmFlZTE0NUY3MjhGODFjMWUxOTYwIiwiMHgzMEQ0MDJDNWM5NzRGM2NmM2U2MjhEZTIwNTgyMmE2ZDkyRGY5MmM3IiwiMHg3MjA2YUU3ZDc1NDdENDZhMTNDMjk0NzYyQjgyNmYyNzREMDNjMjcyIiwiMHhhNmIzNDcyNDgwOGU5ZjBkNzMwYjY0MjkzZEY5RENhOTREMTY5ZmIyIiwiMHgzNEVkMjkxMTU0MDI2MzBhYTM3ZEMyYTFDODMxMjgyNDFmYzc5NjMyIiwiMHhiYWNDYzVhREM4ZkI2MzYwYzQyQTNhNmI4OTk4QWQwMUM2MzVmNzc2IiwiMHgxODI1NEIwYjM1MDA4Nzc0YjZGQzQ5OTdDOTljN2QzRTQ0NzNDOTc4IiwiMHhCMzIwOTY0NkM0RDFDRTMwQWZEQTM2QTRBQzYyMEE3MTNDNzAwRWI4IiwiMHgzMDk4NDIyOTQ0RjZiODkxRDhlNzhBNDc5QTRlNjZBYWY5MzBGOGU5IiwiMHhGNUEwZkE5ZEUyMTIyYTRiOUNCNWQyNzIxN2E4OEE0NzE3NzEzNDA2IiwiMHg2NzcwYTQ5M0E5NTE3NTMzNEYxZkM4NzQ4QzZmMkRENDAzMENEOWU3IiwiMHg0ZEEwOGExRmMyZWJBMkY2MTNGNTRmM0I0ZjNjNjgxOEUxQTJFMkJDIiwiMHgwQzQzNDg5NDRGNGJmZEFiMWU4OTg4RThEZUQ4NzdFNzMyYTM2NDY1IiwiMHgzMDY5YjEwOTkzNDgzNEY0NzhBQzc5QkEyODBFQWVBNDE0NzA1RjlDIiwiMHg4RjQzMjdmRTM0Nzk0ODQ5NTM3ODlhMzMyRmQwMjY5MWQyNGE4NUREIiwiMHg2NjU4ZmFFZkZGQjFhMTA5ODUyRjVCM0Y5MjhFZDUwMWI4MmQ5N0ZCIiwiMHhCNTI0NjEwMzMxNEZDQjM4NTgxREE0NjM0ZDdDZDg3MDFjNDVGZDlkIiwiMHg5QjAxQzQyYkFmMjkyYzE2MDMzRWU1OTYxMEMzNEFhNzgyQ2EyMzNjIiwiMHg1MTBCMjdCYTJkOTI2MzY0MjViZUZjNWU0ZDFGNDA0REZmODBFOEQyIiwiMHg0OEY5OTVkM2Q2NTBlMTMyRjdjOTk5NmUxN0M3NDBlY2RjRDVFQTNiIiwiMHg0NUE5NjdDMTJFRDViREMwNmUyNDBmMDA3MjA2QjM1OWY5MTg3N0ZEIiwiMHg3NjQ2ODgwQkFiMjY3MkJBNGZBNEQ2NkRiNjRlOTg5OWFlRDcwZjBBIiwiMHgwQzdDODEzY0QyQUQ5NDhjMmNGN2IyODBiMzZFMTAyYWExNzIzNUQwIiwiMHg4ZjhjM2Y4NEU4ZTJjODgxYzk5MjkxNzA1NGVmQjVlOTcxRDdhQTgwIiwiMHg0M2NBZmEyZjcyYTI2OGIwODdFRTAxRjY1YWYwMDBkZWEzRDY4QzA1IiwiMHgwMGRkNEZkNWU5OEE0MTNEMDYyMTRiMjEyQmE3ZjU3QjVDNzVGRTkxIiwiMHg0RDEwMzQ2MDMzYjFkODQ4MTQ2NDYxYkEzN2UxN2ZiZjJmMDBGQTdFIiwiMHgyY0Y0YmU1ODc4YjUwMzJkNTdCRTVGM2YyZUJjMzMxOTI3MDk1NkUzIiwiMHhiOTJCQ2UyMkM3MmZENDhFNmYwN0E3ZUMzMWEwOGYyRWI3RWJkNjU4IiwiMHhDNWUyOTNkMUFmNkYzMzEwODhCODM3M2YzNjdhRmI5RUYyNWJmQTNlIiwiMHhlMmJBRTRjNTRiMTRDODY1NWUyYTJkMkZCQ0Y2RDZiMzM5ZWVmMjU5IiwiMHhiN2UwNzBEMEJFN2U4RTM1Nzc3QjJiM2VlMkFlNGExOEJkMDVEYkRkIiwiMHg5QjJBNmRmYjU0MzM2NDhFRTNGRWI3ZTQ1NjcxQjk5OTRiOTFiMmUwIiwiMHg1OTgzOTJjRjE1YzcyMDRjRTNCYUUzODNCY0EzZTIxOEFGNzU4NWMwIiwiMHgzNTkyMUQ3NDc0NjNhN0I5OGE5RGUyNmY1OTlDZjhDMTlkMTY5RUVGIiwiMHg4NWM5ZDNjY2RiYjUyNDMzRUE5RDUwNDI3MTg0NEJjNTJmRWQ2NzAyIiwiMHhCOTMyRDQyM2VDMDEwNUU3NEJBQjM2YWQ5NDdCMkZDZDhlNWM4RURDIiwiMHg4NDVEMTQ1NUY5YzU0Qzk3ZTczQWMzMjAzNWFiOWJmYTAwN2M0MDRjIiwiMHhlODc5Yjk0MUIyMDAyODJBNTU4NjQ5ZTFCQTcwOTA2YjIzQTRFNmE1IiwiMHgzYmQ2NzY1QmJjZDc3N2I5RjU5Q2Y5MkIwNTJEMURCZTJjMEZiMDhFIiwiMHgyQTI0YjI1MDM5RjE3ZDg2RjUzOWJFOTczYTA3ZmZhRkQ1QzI0MmI1IiwiMHg4QWRmNTEyYTdGNjg4MTM5MUU1YTA2MDMxMmUyYjk1QzMwQjJjQ2YyIiwiMHg4MjM4N0VDYWI0OTJkMzRjRjQyMWNkMTE4RmU5NGZmZEEwQzA0OEI0IiwiMHg1MzIyN0RBMzEwOWE0Q0QxQTRBYUE2NjdmYjUwZjI0Mzc1QjQ3OUQ2IiwiMHhiMkI4RkI1ZWVBNWZiMGU3OUYyOThEMjQxQTdiMDc3QjQ0MDY5ODhFIiwiMHhjRDQxMEZiOUFEQWM4N2NFMTI4RDY3YzU3NjM2ZTI2MTY5Rjg4YjdDIiwiMHhCMDU5OUJmYzgzMDE1QjYwQjE4RmYxNmVmQzI5ZDdiZDhCZDk0MjU2IiwiMHg5RjVhNTY0QjJjMzYxOTJlMzlFOGREMjk0NDc5N2Q0YzUxRWM3OWM1IiwiMHgyYmZhNTAwNjYwOEYzMjFjM0IxREUzZTZhMDg3ZjgyRkU3ODExMDVFIiwiMHgxYjQ0QzAyQkFDYTc3NjBFNzY1YjI4NjlCQzZEMTMwNkM1ZDU4NDdFIiwiMHhFYTFkMDEzZDBkNzI3MDMzNzk3MUZEMmNDNEY0RUU3MTA1ZjIzMGY2IiwiMHg5OTM1OTljMDBjMDY5NDNjYzAyMTVDMkJjQUVmZmFERGYyMjQyNDFEIiwiMHg1RDI5MThkQzRjRTY5NkIyZTA0NzBlRGQ5Y0I5OTJBOTc2YjI2ZTFkIiwiMHhGOTVCQjhhNjhBMTMzNzY3Yjg1NzE3ZEE1ZDFlM2EyY2JGNzIzYjA1IiwiMHgwNTE3Nzc4MzYyRjM4MjA3ZkEwZTgyRjEzYTQwN2Y1NUY2ZUViMDM4IiwiMHhiRjcxZjQ5ODY1M2ZhNzFlNEVGNTYzREI1ZUVmZDdjMkY5ZkQ2MTM0IiwiMHgyMEY2QTU0Mjc3MTc4MmE0NmY3ZjIwMDFlNDQzZDNCNTBjMzIyMjY1IiwiMHhlMzczNGRBRTQ1NjZkRTc1QWU5MzIyQzU5NEFEMWI2ZkZEMWRjMDQ4IiwiMHgyQjY4MzBBRjMzMGU0NTMxZTA1ZGVGMjE2ZjllQzBmOTUzREZGRDk3IiwiMHg1MWMyQjc4RTQyM2ZGNjczZTA3QjEwNjZGNjQ0OGI1ZTkxQTlFRTA4IiwiMHhkODVEZTFkMTJiNzIwYzg1RTlkMGJjMDNGYTZkQzE1NTM1MTEyNDA2IiwiMHhmRGRBMDc0MGZlYTJhOUU1RjM3M2EwZjI5YzQ3QjJhQ2M0YjViNDA3IiwiMHgzNjFmOTdhYzllYkI5NjgxNmZjOTZlMTEzYkQ4ZUU5ODZEOGNjNjljIiwiMHg3MDBGYTAxQWM1QjAxZDZkOTIzODQwNjI5MDZmNDYzMjkyRTY4MmM5IiwiMHg4Y0Q3YUM4OWUxMTZERDU5YWVDQWMwZWFGMmI3M0UwMjk3ZTE2OGU1IiwiMHhBNTk4MjYwOTNEMEMxYzBDRDJjYzhEMUM4NUU3OTk4RWJDMDhmM0Y2IiwiMHgyQzAyOTkwODM0RjhmOUFDMjlhMTFGM0JBMkNmQUUwNzYzNzFkRkFlIiwiMHhENDk3ODVmODJFOTFBYUY2RmM1ZEVERUJFNEU5MjVhNkJjMmZBMDAzIiwiMHhGMGUzQjljNkJGMjA3ODcxN0VlMzVFMjU5ZjQzYjRmOTUzQmQwNzlmIiwiMHhlZjhiM0ZjYzJBNDBEYjRjY2U2MDRDMEM2QzVDMDA1MTEzZEU0ZDQ0IiwiMHg1Rjk0MTlEZDM2NmQyMzZmNTBDMDQ1OTgyMTE1QzA2QTVEMmRlNzE0IiwiMHg1NzgwMkE2MTk3MzlFMzY5YmJkZTM4ZUExQzY5NWU3YjE2QzU3ZDU3IiwiMHhjNTA4NTgxOEU5ZmZjYjQzMTNlOTQyQkJiZjQyMWY0YTJFNWM2NTE4IiwiMHhCNDE0NzgyZTAwNDIzMzcxMGM3YzhiMTY0MjE2YUQzNEI4MkUxQ0ZFIiwiMHg2ZjE0YjBFN0MzN0MxNjNjRjk4MkJFMjAwNzIzN2IxOTMzRkM3MDI3IiwiMHgxRDEzZDFmOUIxM2UwOUY0OUI1ODhBYmIzNTIwMjFBNTZhN2EzMGYyIiwiMHhiNzg2NEM3MDhBZDU4YWY3NWM3NTZjMjZiMUJhMTU1YkZBMEUyMzA3IiwiMHhmOWRjN0NjN2M1NDgwYzExRDQwRDNkYTk1NkEwNEI3NUM0QzdmM2FhIiwiMHg1MzM1QzZDRUJmMTJiOEU0QWI0MmM5NDk5N0JmZDNFNzIwRjgxMGM0IiwiMHg1RDc0QTY1MzAzNDBGNTA3MWY5ZERiZmQyYWJkOGE0OTJjNTUyMDlFIiwiMHg0NzUyRGI1OTBDNTk2RDY1M0U1QzZGQTUyRWJjN2I1OWMwNGMwMTg2IiwiMHg0MTc4MTVmYkQ4NDQ5ODlDNzk0NEQ0Njg3NDUzYjdFYkQ3MTVkQTFCIiwiMHg5RDIwREZBMzYwN2EzNjFCQzcwY0RiQTJGMjc2YjJFRTM4ODY3MzBmIiwiMHgzMDI1NzQ0MDQ0ZmFmMkQwNTk5NDY1NzE3MTFEZjY4OEEwNTJmN2M4IiwiMHg5YzVDODNDOTZmNkNBNUI3N0QzNTk3MmVkQjhkNjJlOTU1ZmQxMjhEIiwiMHhhMzczN0JkOTkxNTIyMTYxMDE5OUU5ZWMyNjczRGVCMjE2ZWNDRDIyIiwiMHg3YWE3NjlFNmJmMUE5ZjlhYjY3YThmMTUzODFGODMwZTczODc2RjQ5IiwiMHhiZWZkZGZlMEJlZDNEMDA3QWJiMDdEYUJFNTc4NjIzYTRhNzRDMWVhIiwiMHg5MTg1ZThGNGQ2N0U2MmUxMThBMTQ4NDMyM2ExNWI4ZDAxN0UyRDFFIiwiMHg3YzA3RDhjYzJlMDE1MUI1ODhmNThBMTBhMDE4RkI5NTkzN2NlOTc5IiwiMHhkNmIxM2UxRjJkNzA1N0Y2QzA4M0REMkNDYmNjRDczQjNBMzY4ZDhEIiwiMHhENDlCNWM2OTAwZjVDNzE2Nzg1OTNERjUxNDg1NzY0RjI4YzcwRUFCIiwiMHg1OTA2NTdENDdlNkY4OWRFOUNFRjA4ODRGRjFGODliYTFiMzY3ODlCIiwiMHgwOEVFMzc2NTNGQjNiZjAzM2MwNUU4ZTIxNTY5OUZBM0FEZGY0ODgyIiwiMHgwMzZiNDU5RmM5MTk2Yjc3MGZiNTYwNzQyQTg1MjhENzQ0QTI2NWQxIiwiMHhjNzBBM0JmZjZGOTg1Y2E4MTM3Q2IxNGQ0OURFMzcxQzQ0QUQ3MjY0IiwiMHhkMkNjNmQyQzYyQ0VhMDA2MkUzMjlDN0E5MzY4MzIyRjA2ODAxREUxIiwiMHhFREJiMWJFN0YxYzg2M0NFYzY4RmVkRTkwNzZGQzZlNzJCNDI1MjJmIiwiMHgxMzRmNzExRkMyODAzQThhZjNjMmIzOTg2YjllYjcxQWNBNjY0YmNmIiwiMHgzRTE5NGNiRUQ3ODllMzBhMDJjQUVGRTE0NjRDQTc0MjVCMjNBZUI4IiwiMHg2M2EzQjczODdlQWY1NGIwYjkzNzA1ODMwNDc3NmIwMjIxY0Q4MTYwIiwiMHgxMGYzMGEyMjIyZTRlNGNlOEEwYmY2NUFiOTg0MTIzNzFCMEEyNTQ5IiwiMHg4MzU2NzgzQzg1M0JmNTI1MjcwREFGMTEyOEFEN2Q0NjRDN2Y2MzFlIiwiMHg0QWJiMjc1OTMwNjY5YzFCNkFERjYyMzExZkJhODc2MzE4MTI4QTUxIiwiMHg5NzQzNmRjYzFjMjdCN0Q4ZUJmQUU1ZEE1OUVEMkNhZWVlREI5NzY2IiwiMHhFMTVlOEY0YzUxNjc0REY1Rjk5OURlY0UwNUM0RjFDY2U3N0RjMzYxIiwiMHgxOTZjRUEwMTJFMjA2OTAyM0E2ZTAxMTQzQ0UzZTNhMzRlMjFBMEY0IiwiMHg5ZjliQjEwZDYxMDQzNTI4OGJDZTRGOEEwNDhmYTZFZjM4NWJEZmYzIiwiMHhGOTMzMTY0QzE2ZkZlNUIzNzhhMjMyNDE0MTdkYzg3MTZBODkwMTQzIiwiMHhkOTQ4ODQ1MTE0NWY3NDI0ZDYwMjM4QUNiOTVGY0U5ZTUwNTBiZEY3IiwiMHg0NDUzMDA5Qzg3Q0JCMTUxQjM2N2Q5MTM1Njc4MDUzZDA5M0MwNjRkIiwiMHhEOGRCRjFEOWE3ODI4ODM0YkU4NTQ4REFjZjcyOTQ2NTYwQTZlMGYyIiwiMHhCRmQ2ODYyOEIwRTRjRjdCNDQyODgwYTlDNzIzQ2Q4NDgyNTVmOTIxIiwiMHgxNzM2YTg3NmU3ZTBGNzM2MDQ4M0E3NjAxRjM3OEI2MTdFYUY2M0U3IiwiMHhCZkExNzA5MTJENDE3MGQ2RmQ2QzE3Y0ViNkJDRjBkMTcyZEIyZjFlIiwiMHgzNTYxOWM3MDUyQmRDZTcwQ0M1NjA4MUNkODg1NDQyYWY4QzY1NTdEIiwiMHg2YTk4RTYzMDdiNGM4ODk5ODMwQTRFYWMzZTFCRjFmOTI4YTZGNEM3IiwiMHg0NTk4MGI3NmI5MDhGNDNBQkIxZjU0REJCNjVmNDk4NmJjMDE5RjBkIiwiMHhEZjIyMEMyNDkzOWE4RWRBNTVEQ2I2RjY4YzBCMzVjOTQ1N2VGMGVDIiwiMHg1YThBMjU3NTEwQTFjRDEyNTI5RkFERDlkNmMyM2E2NTE4MEI1MTA1IiwiMHhhMjJEOGJkRDI4M2YyOGVENjViMmZlNEFlZmMwMzA4RjJCMDRiZTE1IiwiMHg4Q0FmOTIxNWM4NzE3NThmNmFhQTQ1OTREZGE1QzFjQTk5MDUzMmM0IiwiMHgwOTE1MEEyOWY4NTA4MTFlQTlkNDVmREYzNTBDRTIyNzExNmQwZkU1IiwiMHgyNkUyNjUyZWNGMkQwNTFkRUFjNWMwMEQ3RDBhMmI4NTg3ZTRkM2MwIiwiMHhDMTg0YTJDMUQ0ZjdlRGIyZDYzYjU2QmJmOTVmNTEwNTdjQTJkNEViIiwiMHg3NTY5RDZCNzkxNEUwZTM4OWYyRTk1M0IxMWQ2OTJmOWI5REI4RUJjIiwiMHgyRWJEODlmNjMzMDRkNUFEZjAxNGJFNTNlRjJCZTU2YzU3YkE0OTVFIiwiMHg5M2NENmE2M2MxZTk1ODIxMTA3ZDcxMmU2OUYyOWRlZEY3NzMyMDczIiwiMHhlYUQzQmQ4Nzk3NWY1ZWNDRWVlRWY5RDQ4NzM2NEZiOTA3NTlmOGFFIiwiMHgxMzk4NDdEZjcwRWZEODk2NWFCMWY5OGZCQjRCYjQyQUQ0RjdkNWMyIiwiMHg0RTlmMjcwMTdmNzI4MjkxYTg3MWE1Njk1RTgzNjcxMGY4NTlERDJjIiwiMHg5MDJmNmIxZmRmOGUxNTA5ZUJlMjZENmRmNjcyZGQ3MTZjYUViZjg5IiwiMHg0NjIwNjQwZjhCZDMyNmMwODExQTk2NzU4YkRkQ2YzODFENzIxM2MyIiwiMHgyYjNiMzFlMzM0MTQ3MDg5MzE5Qzk2M0ZGNzQyNTcyRDYyMkI3ODU5IiwiMHhmYTA1NjU5ZDE4OWFFREExOUQzM2E0NDdBNTk1MjYwMzIzQTMyOEYwIiwiMHg2NUU5QjhBN0EwNTQ3ODc2RjQ0QjlGY2JFM2MyNjc3NjhFZTQyY0ZhIiwiMHhkRTM1OEI0MzY2RjhDNmE5NENmMDBlOEFjNjBjY0EwNTdFY2Y2RTU4IiwiMHg3NjJGNzhCMzJkZWRkNjBmMkY1MDlmMDIyMmM0RjdlRTRBZTZjMjc4IiwiMHg5RTI3ODMyRDNGMmI2MzZCQUZmNjAzMkQ3RkMwQjI2NTFGQzBmMkQxIiwiMHg1NzU0QkE3ZkFhZjExQjgzRDcyMjJkRWI3ZWI0YkY2NzQ3YzVCMzU3IiwiMHhlNGIzRmI4ZUU2N2NjOTE3ZWM0MzFmQjcyRTY0MzgwOUI0QzZlNDY4IiwiMHhDMDIyN2NiZDc3RkYwYWU0ZEY4YTY5RDk1MjkyOUVkZjdEMDExNjAxIiwiMHgxMTQ2N2IwMDBmNzBlMDAzNEZEMTk1NjhiZjVkNzJFMjJDZDcyNjg4IiwiMHgzQjE4MTM2MzE3QTRGNzVmZjdlNzNBZEU0MjZjQTJFYWE4M2ZjMzc5IiwiMHgxZEQyMzc5Y0UxRDYxRmQ3RGQ2ODg5OTk0MGFFNDE3NjY1NDI0RTVEIiwiMHhjQzM1OUUxMTQyRUJkOUMwQUJiQTBkRDgwMThBN2ZiMTBmNDQxMTE0IiwiMHhEYTc2ODJiNjY0OEY3RTMwZDQ2RUQwZkZlMWU2ZDFlMTlhNDU1ZkZiIiwiMHhDOUY0OTk4NjRhMzdhMERhZjc2RkY4ZDcwMmY5NjQ2MWVFMkM0YmExIiwiMHgwQ0FGZTMzOEY0Njg5M2Y1MzEwNzNCMTA1Qjk5MDVlNDhiRDJkMzk3IiwiMHg1Q0E2ZWUyMEY3ZjlhNWQ0OEM3NDU5REMyMDg1OGZBM0E0Q0M1ZDlBIiwiMHgwMzlDOTJkNWQ0M0Q5NTE0MDQxMmNCMTU4RWJlNDk1N0E1QjA1YjlEIiwiMHhEYUNDMzk0NTBENjc3ODRBNDY0OGU0Y2U0MkYyNzg5RTNiYTIzYjk0IiwiMHhhYzc3YzZlOUY5ZkJlZjVDNWM1NjlCYTM2NEE0ZkUwMWM2QTJmMjhBIiwiMHhDMDY4RjlkMjQxQTIyN2E3ZGIyNjQ1NGRDNEE0MTg5NjkyMTRiOWRFIiwiMHg1Njk0QzEwMzRDQjNFMWU3Mzk0N0Q3QTRiZDE4MjE4RDY2OEQwODcxIiwiMHhjRTU0NDQ0Q0YzY2U0MGVFN0JjRDRkODc0NzUwNjE3NEZiOTk1RDQ1IiwiMHg4NDc4Qjk2NzIyOTZDMTA2ZDIwQjY5RkMwMzU3NzM5MDNmQjcxYWY0IiwiMHg5MDgxQjUwQmFEOGJFZWZhQzQ4Q0M2MTY2OTRDMjZCMDI3YzU1OWJiIiwiMHgwMWRGQzY4MEVmMDcxMzlGQ0JlMzNkMTQ1REFBMDM4Y2NiQzRFOGFhIiwiMHgyRTAzNjc3YTY0Q0ZkOEVGOTUxMEUxMTg1NTU4MUNiMjJmMmFjYURlIiwiMHhkMDVENDk5ZDIxNDE0OTUxRUE1NTk3ZTUyNzc0NDY0OTc3ZWZhRERjIiwiMHg5ZTVBMTMxMDRjQjY3OTk2YjVhZkMwZmJmRDJiNWFEOUJCNDYzYjFlIiwiMHgyMTU1MDFkRmMyNDBhZTlDODRkNzQ2REE0MkUwZUY4MjVEZTBhQ2RGIiwiMHg1MjNiRkM0MmE4ZUI4QmMyQ0JkQWNiNjI5MmY1RDk3NzFBZTg2NmRjIiwiMHgyODAzZDczNUMxOWQ2RjYxMEJkNDBBMTBBNGZDRDhlNUIzNDI5ZjRlIiwiMHg4QzFkNjkxOGJGM2VBQUFjNERiN0E1YTdGMDhkZjIyOEZFZDM2QjMwIiwiMHgzQ0EyOTYzRjQ5MDdBYzRlOGYwQWMyMzY3NzM0NjFiYUM4MGE0ODE4IiwiMHhmOWE5ZDEyNjRjZDM3NjU3NGI5NEM4YjE0NzVjMDJkODNmNTY4ZDE2IiwiMHhhMjUyNGRiMEQ1OTNhOEFBOTJGYzI0MGRFMDkzREEyRmY3NmIxYjQ2IiwiMHg0N0RBNDdiOEM2QzhFZjE2NGY4NDhFYzY0NDIwMTk0QzJBYjU0MjU0IiwiMHhiNzlEYkUwNjQ2Q2JkMjhFZTQ0RTMyMkFFZDFGYzJCNTJmNDRlYWYzIiwiMHg5MEU1NDAzNzQ5ZEUyRWZBOWRmQjU0NTJEMEE2M0M0ZGFDODU1REJkIiwiMHg0QTM2Mjc1NTQ5MzRBYTU5ZmVjZDEyZGNCOGM1ZGVmMzk1ZGNhMEE3IiwiMHgxMEQ4RDgzYzc5MkVDYzE0ZGY2ODQwN0I1NWZkREQ5NWVEOTNFYTg2IiwiMHgxN2YyRDYzZjViNmQwODcwMTk4NzQyQzhFM0U5OTUwQmEwMmVFNjNlIiwiMHgwMEQxNDIwQmMwRDdhZTM3ZDMzYWQ5MTYyMTYxYzk1ZTQ2YTlmNDBkIiwiMHg3NTg1ZDFmMGIxNzA5QzI3MDQ5ODE1OTY4NEM2Y2YxZTI1OTEzMDVCIiwiMHg4NERDNGYyYzk5NTJmNEU1N0UzRDA4NGU0NUQzMDg5YkY1NzE1MjhhIiwiMHg3RDBDQzRBOUE4N2M4OTAwNDAyNDE0QTI0QjJENUFGOUM0MWM1ZGMyIiwiMHgyYTlEODIyZjM5NDFhRDM2NTYyNjA1Zjg1YmYyMjE2YzhBNmRhMjAzIiwiMHgwZUY2YTIzNzdhRTYxMDRlM0ZGN2Y2ZWUwY0ZBOUQ0MDRmQTcxQ0YyIiwiMHg5MGRGOWM3OTE1ZEY5ZEUxNGFjOTgwZDYzZDFGNTQ1ZmJEQjcyRDM5IiwiMHhFYzVCQjNDRjZlNDQxY0QzMDQ3NDg1RTAxMUE0MTI2QUQ5NDRhMzAzIiwiMHg0NmMxMDlhNDAxNUEwOGM0YjMxNUZkNjQ0QTU2MUMxOUEyYTJmMDkxIiwiMHhFMWVFNDgyZWVmRDNGYzM3OUI3MTU0Mzk5ZjhkNTI5NTZmQjNDNTIwIiwiMHg2NENiODk5YzE4YmJDNDVkNTMyMTAzNTk5RkYzOEQ1Y2MyMDdiOEI2IiwiMHhFNUREM2Q4ODdGNGU1MjViOWVCYkEzZDA0NTY1NEVFMTA3NTE1RTM1IiwiMHgwOUNFOTcxNGY5MTAxZkJGQjc5MDUyNjBBMUZhMjgxQ0I5ZDdlQjNEIiwiMHgwQWQxNkNhQTk0NGZhNzk0ZjQ3YTFjRUM5QzczMjExOTc1MzZmOGFhIiwiMHg5NjdhZjk3Nzg0NTM5MDlGRDc1MTIyNDg4QTQwMDAwNDY4MjJjMzJhIiwiMHhmZUQ3ZDQ0M0Q0MEE0NUIxNEQ0Y0FDNjViN2NhMUQ2YThCNzgzZDVkIiwiMHhlMmQ3NDAzRWUwODZGNTFGRkJjMDZkMTU5M2Q3ODVBN2MyY0U5Mjk1IiwiMHgyMGNlODZFMkYyYjY4ODk5YzVGRjMzZjk1MjcwZTgwZDY2RkVFNTE0IiwiMHgyMTBjNTk1QjJiYzhDNDhkMmY4MzE1ZmRlNjE0RTc0MjRkMDczNjE2IiwiMHg4NTMzN2JBNTk1OTlkZUQwODkxOTExQjdGQjE0ZDcwMDcxODlFYzJDIiwiMHgwNDBiMDc4Qzc1YzIwNDFkNzQ0NUM1MGE1RjdEODhGRmU5QTJCNDkzIiwiMHhDQzg5OTA4MzY1MzEyZDQ4Qjg2MDFlY2JFNDNjNjFkNzA5MDE4RTRCIiwiMHg1MWZCMGQ1Nzg1MjQ2QTkxRjU1NUM3QjUxM2VBZDNhODAyQzUzNzJkIiwiMHg4ZTZGM2U1MTBhODBDNDVGNWQ3NWZFZTg3RjBFNzZiZmI1ZDUzQ2M4IiwiMHg5NDY0RUUwM0JCOUM2Yzc0N2UzQTcyYzAzODcxRjYzOEExRTQ0MWJlIiwiMHg3OUZhOUU5ZjM2MjIyNjcxMjhmODU4YzVFNzNiNDkxOTZBYjc5Qzg3IiwiMHg5MzhFZjFiNjA2Mjk0MDhhMmFDRGVhZThFYUMzMkYyMTk4RDk2Q2I5IiwiMHgwODk2NzU3MjJFNjM3RmM4RWM4Zjk2QWJhN2Q3NUEzYjJkMDNBOTgzIiwiMHg4N2Q0RDFEMzY3OGZlN0JkYzI5MUFFNzNkNDg3MTAzZjM4OEYxNjFDIiwiMHhCYTM1OWREOGRjZTMxNmM1OTQ3NzAzMDFEZGJkYjA5OTc3ZWE2QkRkIiwiMHg2RTU1ZGYyZGU1RjAzQ2IyNWU5MDYwOWUyNjQyNDkzMGI4RmRkQkYzIiwiMHhhMzgxQjRmOTExODNFZDc2NTNFYmM3QTkxODg0ODQ0QUVmYTU1MjNkIiwiMHg0NzlCNTYwNTE1NUJFZTU1NUI2MWREODhENURCNTkxN2FBNjhmMjk1IiwiMHg5MUVjNTM2MEVGNEM0M2IzRTBCNTdlYzUzMDdhYzc4MzQ3Y2Q4NzE1IiwiMHg5NjA0MmQ0NDZiOWRGYjY3ZjQ1NWM5ZDY4MUFlNjcyOEI1NmNhNTUwIiwiMHhkOTM5ZGYzODEwNTdlQjBBMjBCNzFCYjIzN0ZjYjVENzNCNjU3QzNFIiwiMHg0QzNEZkE4MTg3NTdDYmY0NzE4MTJjNTU0QkYxNGIyYmNENDFlMzM3IiwiMHhEZDM0QjFFQ2RBNDE3RDkzYzJGNGEzMDRkOGVmMjdjRGEyMkZDOUM2IiwiMHhlQjgxOTViZDlhQzRmRkQzQmUyMDU2ZEIxQThlOGM2NkIyNzA4MDI4IiwiMHgxRjY1Mzg4OEEwN2RBM0EwMGY1YjQ1Qzc1RTNmY0FERmQzNEQ0MjBBIiwiMHhhMzU3MDkyOTc5OTkzRjFhMzk4YUM2RDRjMDMzMTIzMzM3Q2E3RWE3IiwiMHgxMDdDQjYyNDdiMDgyQjBDM2NBYzA0NzQ0REY2NzU5QWQzM0U2RWNFIiwiMHhiRTMxMzIzQUFEN0Y3NEI4MzQ1Mzg1OTQwRDIyRUIyY2IwM2YyNjg5IiwiMHgxODFlMzljQzFCZDg5MDZFZGNERjhFY0FCRUQ5ZWE3NTg1NzEwZjYxIiwiMHg4NTI5NDQzQzYyNmIzOWI4NTlEMzJhMWI3QTYwNTg5NzQ3MjFGNzgwIiwiMHhFY0U1MzI0RmNDMjhmNUUxZjE1YjZlYkY5RkI4RjgxQzU1ZjQ0QzJBIiwiMHgxMjczMmE0M2RmYTk3NDhlMzlFMTc0ZTU2MmI0MTUxNDNjMDYyMzk2IiwiMHhjMTYyMjk2Mjg4NThmNzBkMjZiRDQzYjMzQjc1MEMyRDM4OTlGNEEwIiwiMHgxRjYwQzVDYTQyZTdlZjdjMmI1ZThkOTFCQ0NlZkUwQ2YxMUM5MGYzIiwiMHhGRUVhRjFDNDdiM0U3ZTY5OEUyNGI3MDI1YzJGODY3NEViNEE4Nzg0IiwiMHg4MUJFMmYwQkFEMzg1NWM4MTUwRjZBNERjMDc0ODUxODUxRTcyQ2RDIiwiMHhjNjUwRjVmRTUwYmQzNkY3QzM5ODREMjFCRkVBOWU2NDM5QTQzNjBCIiwiMHgyMEYyYWVCYzExZTdBMjY5ZEUxNGIxOEU0OTViQkYzNTNiMzkwNEYwIiwiMHhGMWM1OWIyMDdENTY3ZDBBZjZhNWRmNGNDOEQwMzE5YzE4MDExZDhkIiwiMHgxZDQ4MmMxNWM1RGM2OGNGMDZkNDYwNkFkMzdhNzIxRTI4OUJiRWFhIiwiMHhBNkY3OGE0MGQ2MDdhNTgyRGM1YWNlMzM4QzJkNTcxQkY3QzE3NjUxIiwiMHg0MUI2NjBCMjlDNjAxNGRDOUUzMTY1ZGU0YkU1RTZGOURDRDQwM0U4IiwiMHgxRDJCNEMyNTY0Y2YzZDQ2M2Y5YjkzMjRjQ2RCMjhGMTQ0MzAzMmUzIiwiMHg0MkYwOTgyNjJjMTNmZEUzYjlmMDBCRTI1RDE0OWJFRWNjYkJiYWY3IiwiMHgxN0ZmOTM5RjIzNjExMTJDYzg3MDNBMjc2ZDJjOGEzMmE5MkM5QWNCIiwiMHhEOGIyMGRBQzk5RmJGMWM5RTg0RWVlNDE0RTlGZWREQzEzNUM1ZkQ0IiwiMHhlQWFEQjZkQzE1NDA1NGE5NTg5MDU2ODI5MzJmNEYwMTAzQTY0RTNhIiwiMHhEMTg0M0U5RTQ0NmI2ZjM4ODk2OTJiMGJiRTUzRDI1NjVmMzA4OUVhIiwiMHgxNzIxMkYwQzY4YjIzNzNlNjUyNzBBZDJkZmQwODA0Qzc0RUEwNjBFIiwiMHhmM2VBMjEwMEUxQjg1NzcyYjc2ZTM0MmM5NTVlMjJBMDFDOTcwQjhhIiwiMHg4MGNmMGUzYzEyN0Q4NmQ3QTk3RUFGYTUzYWVkMWFDMjFGYThGZDEyIiwiMHgyOTcyNTAzN0Y0NDA1OGI4NjlBMTM2NzBFNmRlN2E2MjBCQ2JhODM0IiwiMHg0ZkFGNTFlMDAwODJjNDFCMDhlODdCYjg5RDExRTlDNzFGQjg4OGI1IiwiMHg3YzdkQjk4RDc2YzE1NzkxNGE4N2ZFYWQzNTBkM0M5NjAzMjJGN2ViIiwiMHgzMWE4NTNhYkM0QzcxMzRjMTA3ZTI1MjE4NjkwNzJhQTlDNzNDOTdGIiwiMHg4MTUxN2I4ZjBlYzFBNUJjMjhjMkE1ZDYwNEY4NDJDRmREMzcxY2NFIiwiMHgyOUNlM0JBODJGQmQ4Zjc0NGJBM2QwQWM5OTVjNmRFNkQxNUMwZjc2IiwiMHhhN0NmMGY5MGU0MzgxRTdjZjU5MjZDNTUxNDQ2MmE3YUNjODg5MzhjIiwiMHg5QUViY0QxNTAxNTczRTIyYTAzNzcwNWNhMTYxRDE3OUYwNGQzOTc0IiwiMHgyZWY4MTNiOEU5OTFjQTQ4NjIzODI3NTIzY0MxNDMxNzRCOUIyNjcwIiwiMHg5NzZiOGQ0RTkyMmNBQkIyMkU2NTRGZjc3M0Q4NzVFYjM4MTU3OENGIiwiMHhmMTBCNDhlY0ExN2M0NTVBNTc3RjdhM0ZBODhBM2U3RjMzREMzNTk4IiwiMHhCQ0JEY0Q0ZWFkOUQwRENGYTBBMTU3RkU5QTYxMTcwM2I2Mjg4NkMxIiwiMHgxODlkOTM0ODJmMTk3N0EzQ2Q4MDYyQmQwM0JGYzRhM0ZFMzQ3M0Q0IiwiMHhFQzRjQ0E2YjRDMUQ3NTQ0NUQyMTAxZDI5MkI2ZUUwZjg2RTIwZDU1IiwiMHhjRWI3YzAxM2QzN0RDYmJiMjNkREM1MzhjNzU0NzAwODY2N0Y5M2NFIiwiMHhmMkY3MWExMjgzNzg0YjU3N0MyNzVkOTRlOTcxMUQ2YTRCMTJiRjlCIiwiMHhmMzkzM0E2YTgyZmJhOGEzNDlhNzEyNGM4RDgyMjZkN2M0ZDdiNkNiIiwiMHhFRTUxOTg0NzgxMjU0QWQxYTBlRTNhZTBjYTI2YzRENTNEZWE2ZWNCIiwiMHhkRDQyM2QwZWE2NjZiQTUxMTlmZTYwRkZlMzM0NTk5QkNDNUNjYUZEIiwiMHhiNENhRUZGMjk4MzcyNjI0Q2VGMTlmOEYxYWU3MDNiOEM2RjdBOEVkIiwiMHg4MDI5YkU1MTBiNDM2MmU0QmFFYzljM0M1RjNjMWY3RjY0RDNGODhiIiwiMHgzMGQzOEExNDA0ZjkxNzU0MDRiQTNEYjExNzFjZDFkZTc0MzY2QkFhIiwiMHgwOEJCMjJCMWNiNUNGRTI0NDkxOThCODBlYTU5QTZDQzk0OWI5NGY2IiwiMHgyMUFDOEU0MzgwNjI2YzMzNjMxNmM0QTM0N0I4MTdlNDlBYUU5OTQ0IiwiMHhDNDZlMzNmNTlGMzZDRUJEOWQ0MjJjMjdhQ2EzMUI2MzlBQ0U3ZTc4IiwiMHhGMjQ4NkM4RjAzYWZiNDQ0NzgzNDI3ZDYyMEJGNzU1MTA3NjZFODhkIiwiMHgxODUzZUU5ODNCMGYzRjkxQzJCYkFENDhFOGJGQzA5M2RBYzE4N2Y2IiwiMHg5Qjg5MENGNTk1RWMxRGZDQjFjMEI0NjU4M0NlODkwYTU5OTUyOEFkIiwiMHhDRjBmRDJFN2M5RGEyRDc4QTlkRDg4Y0Y1NzA2RTA1MDJiZmUyNWI0IiwiMHg1NjAxMzU3RjE3Q2ZDNjg3RjQ0MDA2NmU1MTY5MzY2RGFjNTcyRjU2IiwiMHhGY0FFODk4NEEzNTRmQjAyNDZhZTA0NUU0OEY1MjllNWEzOGE1OUU1IiwiMHgwMTVFZTcxMDMwMEU4MGIwYzg0MzBhNmViMEU4NjgwRjI1QkYyYTdmIiwiMHhFMDlGRmE5MzRlZjI4MzMzYjQ1Mzg5MDI3NTdiODBDZUM0ZUY5NzA4IiwiMHgyM2UwMjQwYUVkNjdlNjIyNGU0NmU0YWU2OTM0NEZlMTQ5Nzc3MUYyIiwiMHgzNzhlOUQ0OEI3M2U1YTRBMkJCNWUzMDIwMDNDYkVDQjU0MzVmMTk3IiwiMHgwMzM4Mzg1NTBkQzRhNjJiOTUzODQwNDI5MWZlNzk0YjVlMzQxOUZDIiwiMHg5OWUyQmQ2ZjJGZDUwODZkYzE4ZjViMjVhOTc3NzBEMUM0MDdGODEyIiwiMHhhZjJCMjYxYjZBMzdiMWY1M2JEMzQ4M0JkNDA2ODM4MTNhQzVGMzZGIiwiMHhDRTY2NTVGOTkzOWZjM0QzNjFBNjgwMjI1RTc3ZTYzOGQ5MTNlYWM3IiwiMHhDQWEwQ2UzRjFDNWEwN0NENDI1OURBMjZmRDZlZjUwYkRhM0ZiNGVhIiwiMHgzMTlBQjJBYzRjYzZkODEwOURkODZFZjExMWJkRTQzOEQ1NDQ5NTU2IiwiMHg5NDE1Y0IyMzYwN2I0YjI5YkZBMjljOWIyMjNhQ0U5REZlQkMwNTZlIiwiMHhiRjczMDc3QTM1NjQzNzE3N2YyQ0JBYWRiQTEyODJlNDI0RTA5ODNjIiwiMHhlY0UzM0EwRDFFRTc4MjY5MDhkODUxMjJDMzg2YzRhNzA5N0MzNTNDIiwiMHhkODE1Mjc5ZDI5QkRBNjgwMTE2ZTc2QmE3MkYxNkJGZjY5YmE5Rjc5IiwiMHgyRjA5NjFFNjZDYTA2RDU0NDJiZGEyNmU2MTRBZjk5ODhENzlCREJkIiwiMHgwRDE0YTNCYzcwMTk1MDQxMGEzQUExYzk5NDA0ODFCYWNBNUNBZUVCIiwiMHgxNjhlMDBiNUVkOTkzMjM3MEE1RUEwN0Q0REY1QzM4ZjNjMTM2ZTJlIiwiMHg3QjE2ZTcwRjBlYzQ2YzI5MkU1ZjY5Q0ZCQTQ5NzQzQjc0NGQ1MTMyIiwiMHgzRGI1QzcyQ2M1MjMzNTJBRmI0YzJCRjkyMTlEZUZFMDcxZmMyMjEzIiwiMHgzMDI0MmI4NzQxRDVmNDFFMTczNEFBMjY3YjE0MDM3ZWQzNzY3MzNjIiwiMHgzZWJlYzZhOWVENENFNjlkRjIxNDFDZWNjQ0Q5QzlEZTVERWFEQjA4IiwiMHhmZDQ1NUI0N2RiYjRCMWFEMjgxZjg5RjA3MTk3RDlBZjRjZkU3ODg2IiwiMHg1NTcyOEQwYmYzMzI4RjY2MzQyYTdkMjIwRjcyODM3RmMxYjZGMjA1IiwiMHg2NjQ1MzJkMDZFRTdmMDYyQzQwQTkxYThkYjA1NjVDRTUxNEVhOWQ5IiwiMHg4NTczMEVhOTRBODVENmRhYUIzZmE1NTI3MjA4QTk2NEZGM2QxMzFkIiwiMHg5MjREN0FhNmU0NTE4Yjg2NTYwMzY0ZjEwZDAwMTFCYTQ0NDUyOWY0IiwiMHgwODNDQWI5YTg0ZjE5NGU1ZWIzQjhBZjNiMGNhMGRCQTMzZWNFNTVlIiwiMHhhNjk4MUNCOGVlZTYyNzRDQjY0MWQ5OGVCRkIzYTIyYjA2MTBFNDE1IiwiMHhmQjFEMUEzODlGNWNCMzNGNDhlQ2QyYzhCZkM1MjBBOTVCYmY0MEFCIiwiMHhEQzUyMDNCYzUyNzQwMTc1YzQ5QWNkZmQxMTQ3NDRlNTk1MTkxNDY5IiwiMHhjQkI2ZDNBNTgwNDc3OGJmRTkxQjZiRDA0MWM3QUU0RDUxNWI0QzdlIiwiMHgxOGZBMkRlZkE0NzBEYzE1RWY1OEJjZDk5MUJFZmJDQzM3OGU4MDY3IiwiMHhkNjQ4N0JlMENEQjYzMzExODdEYjYzOEY0MzM5MDdFMzQ4NTRjNTU3IiwiMHhhNTEyYTFlZDU2MURiMTU5NUM3YTMwYkM5ODE1ZDk0ZjVhNjFmNzM0IiwiMHg3Nzg2NzQzQUQwYWVjZTM4ZjMyNUE5MEJjOTZBRmIyZTljZDMwQjVlIiwiMHg5NzYxZjBCYUZBMzNGNGEzNmZiNGE1QTQxMTkwOTUwYmQ1ZDMxOTAwIiwiMHgyY0UyY2E4MDk5ZjJmRmVDQ2FiZTYzOEI3MTJlM0I3Nzc2RkE3OThiIiwiMHhCMDI3MWUwMTBEZDNBMEZCOTI4MDJCNURBMjVDMkQ1MTIzOUE1MDU1IiwiMHgwNTk2MWY3NDQ1OWVkNzlCNUM0RkI3MDA2ZDU2NzA2MTIzZURhZDU2IiwiMHgxNEMxMjgzYTg0YTVCNzBEMWQzNTI4Q0U3ZjE2Y0JjMkJGYUFiN0JlIiwiMHg3NGIxZDQ2NTlCRTZiNDljOTVlM0UyOTI2NTI2ZWY0NkMxNTM0OTBGIiwiMHhkZDQyMjQyZGQ4M0U0ODA2ZjgzODQ4YkI4MzlFMjQ2RjdjRTBERjYxIiwiMHhBYjczOTJlNjJiNEE1YmMxMjk2YjVDMkZjYWU2Mzc1MTY3QWNFOThEIiwiMHg3OTQ2YkVmZTdkNmY2YmEwYjIyNjUwOEQ0MTMzZkRlMTM2MjlkMTEyIiwiMHgxQmI3NGU4NGFDMDVENjM3ODFGYzU3MzgyYmJBRmFCN0EzOTBhN0U1IiwiMHg0NDJhMzdBRTk0NkE5QjI5YTk5ODE3YjhCODMxYjVhMzZjQjdEMGE0IiwiMHhkRDAwN2U3QTAyNjNmRTM5NjlmMkNEQUY2QWM5MUMyNWZEMzBGMGVEIiwiMHg1NWQyNGNmNTgxZGFCMDc1MTM1YjhmMmExNDE2OTE4OGY0NUFBRmFDIiwiMHgwNEZFRWY5YTAzYTFFQTU3NjZlZjZjOTJiOTIxNDVGZENGNTgzRDU5IiwiMHgwNTA3N0VGOWQ3ZTQ2ZUY2Q0RBODM3RDFENDk2MTc5NkJhQ0ViNGU1IiwiMHg1ZDIyQjY2OTE3MGY1ODI5MEY3NjcyODUxOEU4OUY4NmI4MUNmYjYyIiwiMHgxODFFODQ0ODkzMjliOGM5NWRBNWNkNThkRTU3MzQ5MGM4MTk0MzQ4IiwiMHg5RjVlYzkwNjBhZjNBZDA5NDFiMzcxNDFGMTRjQjkzQUJjNDhEMzU0IiwiMHg0NjlGZEFGRjBiMEMyNjJFQ0NCNjFFYkIwMmNBQkRkYmExNEExN0UxIiwiMHgwMTBBNTc0MTM0RTE4NzMzYURhQWYxMkIxOEQ3ZDU1MzkyRjM1RTk4IiwiMHg3N0EwMDMwQkVjQ0VlNjVhOWQzODUxRmVCNkI2ODNDMjkzQWMwYzhjIiwiMHhmNjYxNzkyMDY4Yjc5YkMzOTNjQzdjNjJENDRDNzE4MmQ4NTM5OTE1IiwiMHg1NjcyQTU0ZUYzNjEzYzI2MTkyMGVEMjIwNTQ5MDBkNjFFNTk0OUVEIiwiMHhBNzFEMDE0RkZjMEQyYUZGMzREMWZlMTY3MmRjREVGNmVjMDBBZjY2IiwiMHhFQkI5MTk5MkVlMGUwMUNkRTE0ZGNBMDI2QkM5OUNkMjg0MURBRjI3IiwiMHhCMjhhOGM4ZThlNkE5OTIzYTQzQWE0RWMyMmFFMTQyNTE2OTFhMzFiIiwiMHg4NjdGRmFGQjc1MURGQTUxYjhENzA5NzVkMjljMTVDQ2E0ZmJDYmE1IiwiMHg5MTk2NTZGMDE5NjBFNWFGNTFiNjY3Yjg2MkY2YzgwRTY0Zjc5RTliIiwiMHhlNDVDNzY4Q0M1NkZEMTM3NGIwNzkwMTAyYjE2ZDQ0ZDcwMkJmNjQzIiwiMHg2Mzk4NmJiNDYzZGQ0Yjg2OThBMWY4NjA2MjYzYTlhQTg2OTQ2ZTc3IiwiMHhCOWZkNzA1RTY3QTQ4ODUxZWRCNjMwM0QwRTQ1MjM1YWIzREEzODJhIiwiMHhiOTc3NDQ2MDIxMzhDNDExYkI1OTg1OTRmMjYwN0ExZmU2ODc3N2E2IiwiMHgwNjdiM2I4NzNCODExZWNDNTk4MTRhQTM0MzJkODM5RjhEZTgxQzE0IiwiMHg2MjVFMkUwQkI4NGQzMTllQTE3NzU3OWNjNDU1MzEyNTQ3ZjUxMjEzIiwiMHg3RmYyZjIwODc1N0NDODc0NmQ0OTRlODcyZDkzNDcyOUM0NDc4MjZFIiwiMHgxYzQ0NkRCYjVhNUU2MTFBYzUxZEVlQjRFNGMzODA3RGM4MzI5NjkzIiwiMHhiY0U0RUNCODcwYjFENDk3MTFBRjQ3RTVjOTBGMjMxYjQ5YzYzYzZDIiwiMHgyMjgxNzk2NTQ3MzVGOGRkMzk5NmRmNzA2QTc3NzZGQjhjYTMxZWIzIiwiMHgzRkZEZDA5NTU2YzkzNWE2NDZkNTczRGU2MDdkMjkxYzkzRTczOGIyIiwiMHhiZDNjYTk4OGNFQWY4ZWY2NTJCMURkNTQzRDRFN2FlNTRkYzVlNzk3IiwiMHgxNTA1MTRGNjRmYzEyMzA2NEY2ZThGNWJGQzI0ZjM4MTQ0MWYyYjU0IiwiMHg1NDAxODdFMDdkNDFkM0JhNjFCQjk3MzFjODVlQzJERDA1MjVjYWY0IiwiMHhDYjRBNWU3ZTc3ODFjYjRGZkJkOUZhMTcxRWZlMTNCQTQ1YkNGQTY1IiwiMHhhYTY5MDY3QzkzNDUzOWJmZjY1ZDgzOUIyN2I0QUFjRjRkMDNDNDUzIiwiMHg1Y2Q4MTk0NERjNDk0NEFBMTNhZmQ2MzU5ZUE5MDEzOTcyMkZiZUE1IiwiMHg0MTRiOWU2MzZlMTg2Y0Q4ZWY4NTAyRmZCNDljMTAxNEQyNWFiZDJkIiwiMHg5M0M4OGNiNDlDYzY0MjczNmRhMkJkMzlkMGFDNDM3ODE3RTBBQTdBIiwiMHhGMTFENjUzOTk1MjU3Mjg4N0YzNDIxRmViNDRGNDdFQkRmYzIzRWYzIiwiMHgxNGM4RTNCZTBCNzgyOGZFYzkyY2EyRGQwNTVhMWQxZjU3OUY3QkJlIiwiMHg2NzM3MjYxNDI3QzRBNzI3ODBDM0MzM2E5NmNGNDk3RDZDY0MzQ0Q0IiwiMHhmQkQ0QTc2YUFGNUU3RjJCQjVDN2VENjc5QjJBRTMzRjhhQjBEZjA0IiwiMHhiNDA0OTMzRUE3NzA2MWM2RTQzM2EzNzFiOWVFMTFFZDEyY2ViOGE2IiwiMHgzMTQyM2RhOGZBMDAyODREODA1QTA3RTU5ZTdEODZhQzA0MmUxMDdkIiwiMHg5ZjMzODFCNzkyRkVmODhkNTM3YjVEOUI4YTM3Qzg0ZGM5OTgzQUFFIiwiMHhDN2Q3YjVEQkIyMDk3M2M0OUI1ZGM2OTkzRWNGNDI0ZGY3OTVhMWQzIiwiMHg1Q2MxOWY1Qzc2NjIyZTNCMzI5Q2MxNjNkMTI1NENBMjIxMzY2QjhkIiwiMHgwQkVGODY4MTg2NmNiQTk4YTU1ZGUzMTAyODcyRjdkRkFEQzFGRjMwIiwiMHgwMGIzQ0ZiNUQ2MDMwNDAxY2NjMGU4MjdGYjQ0YzQ3ODQ0ZTQ4NjdiIiwiMHgxMTlCZjc5YzI4YjU3Y0U0MmI5OWQ5RGI2OTI0ZWIxMzEyMDA5OWFmIiwiMHg1RGYzOUM0MDg3NzVEYmNERDBCY2YyZERFMjVBNjI5NWZlRDkyYzk3IiwiMHgyMDk4RGVBMjE5MDEwMTAwNzE0NGIyNTQyOTkxYjcxRTU1NmUzM0Q5IiwiMHg2NDFBODUxMzcwRTBmMTdFQzVkM0E3MjJCNTdEODM2OTkyMGU2RGQwIiwiMHg3M0NmNDcxQTQwY0ZDZTg0NEM1NjU1ZmMwMUE4Q2E4M0QyZUYzN0U2IiwiMHg4NThmOGYyNzlhM0FjRjU2MWRCRWRBNDgxMzRFZjc3OGQ3NjU3RjU4IiwiMHg0OTkzQUIxOTRlNmVkQjUwOWY0OGE1NGVDNzUwQ2E1NDhkNkFDNDEzIiwiMHg4MGJlOWJDZWYwNDk1MkMwZTM1MDMyMjU0MDBENGYxQzg1Q2MyNmM5IiwiMHhmQjZjOWZBMmFhMjAxY2IzMTMyOThDNDk2MTA4MEFFNzlGYzg2MjVlIiwiMHhDMDNENGFjZDU5MDA5RGQxM0Y2NTBFNTAxYzE0NTgzNkIzZWViNjhkIiwiMHg2ODUyNjY0NTVkMTFGYzdGQzg3RjU0Y2U3OTU2YTMzNzdENTZEMDgyIiwiMHg3NGJDODY4RjM0NDk2MjlCMGMxYjQyYzQ0RDBDQTg2MDhlODdmMjNmIiwiMHg0YkZGNjk5OTE1NTU2ODlENEQwRjc0NDAyODYzMDJlMzJBMzRBNjU3IiwiMHhGMTc0Mzc0NmI2MDQ5MDNFRjc5NzEyZWIyYkRFMDY4NDAzM0ZjQkViIiwiMHg2NEFENTkzN0I5NjViRjI5ODU3Mjc1RDU0MUIzZmI1NERFNDAyY2Y1IiwiMHhERDQxQTY4ODI1YTI5MjI1MjFBNkE3MTkzNDMwMTBCODQ5MTM1ZTBlIiwiMHg3NzM4ZjNFMGNiNGUyRGRGN2E1MjMxQjRlOTg2MzYzNjkyMTdBYzQyIiwiMHhGRjRjMjdjMzhhRTAxQzViZTFCOEE5NzUyMUVCMzVjZDY2NzM1YzU4IiwiMHgwMkNCQjA5NUJmQjA5N0MxZmU5ZTNENjExMUZmRDM2Qzg4MDEyM2I5IiwiMHgwZDZCN2NBNzdBMUJmNDdFYjNhZERDMTVmM2JENjI1RWQwNDgyNDg3IiwiMHhiNmNiNUY3NDZCMzU2NzU1MTA4MTc5RjNDMjkwYjUzMDQ1ZTUxZTJkIiwiMHg0MzVkNzQxMTE3NTIxM2Y4RkVCMzg2Mzk2NzI5MDhmOTU3YjZiRjQ3IiwiMHgwOTEzQzgyQjE0NjRhRjc3ODY2MGM2QUViMTNFZTkyNUQ1Q2FjMjA3IiwiMHg3ZTkxRmI3N0NENDFiQ2Q0Q2U3YjU2OUJlMzEwMTUzNWVhNTU2OWNFIiwiMHhlQzEwNTQ3MmZBNTc1MUU4NDA3MjE5Yzg3RERkMDA2NTZkYTA2YzliIiwiMHg4Qzg1YjRCYTlGMmU2MEMxNjA5RDBBNTc1NTU4NzNEYzAzMDZDYWQxIiwiMHhhNjQyQjYwMmFDNkMyNEM4NTg2ZjA3Q0MzYjgyMTRCYjFlRjgzNUZlIiwiMHg0REY1QTY2YTlmMjNmM0JkNjYxODQ1M2JDMmJBOTRhNDU0NzIyYzYzIiwiMHhjOTIwZjAwNjFENmE1MTgyQzc5Qjk0Rjg4RDFjYmQ3MkVCQTBCNDEzIiwiMHhmYmQ4NzAzMTM4MzE5Njg4NWY2NEYyNDRmODVjZjlhRDhCYTc4M0ZlIiwiMHg4YkE1YjVjOGZlNWVDMDJmM2VFMGJmYTk5NWU3RWYzYzhGQmM1ZmM5IiwiMHgxMGQxQUM4RDFFMGIxMDFBOTlkRUMwNkU4OUI0NGUyRTYxN0UyYTk2IiwiMHhlOTI2OUZmREI3MjZFNTE0RUQ5NjU3ZTBEMmU2MTM0MTg4YTlkYWM5IiwiMHgxODk3NmY0ZWQ2ZEJGMWM2MGEzOEUwRURDQWMwZWFDZjljNTJEMjhCIiwiMHhENmYyQTdGOTU4MjkzOTk3ZDE3Mzg4MzdENTQyOWQzNjNEM2QyZEVkIiwiMHhGZGI4OWZDZGFhYzM3YTA3MUZEZWQ4OTEzNDc2Q0YzNjk0ZGVlQjhmIiwiMHhCRTExZDNhYTliQzExMThGYTlEZTAyQ2UxNTQ2Qzg0Mzk5NGUxRWEyIiwiMHg4NjY0MkY4OTU1ZjU5MDBlRTU3ODZEQWQzNDc3ODdCNDkzOTlDOTI3IiwiMHgwMEYyQzg4M2NGYWMxZGMyODIyRUYxNUNFNDQ3MGFhMmIyNGVFMzhmIiwiMHgzMzE3NkUzOTA3MTQ2NjFjZGZhOTcyNDlkOWNCMGY1NzM0N2QyYmEyIiwiMHhGNUZFMzI2MzY0MzllRWZjZkMyYTk3RTNFOGNlMzcxYUE3NUUyMEU0IiwiMHg2YzQwNkI0MUU4RWU0RTkxMjM2QTM5NjY2RmEwRWFkZkZlZjgxQ2RmIiwiMHg3RDRBNWNGNDk5OTI1NjI5YTViYjBjNEU5NWE0QjBDRjVDRDk3N0RBIiwiMHgwYTNmMzIxMTZGNDg4OWE0NTMxNjgwMTVmMDc2NzI3ZTMyRGQzQ2M5IiwiMHg4RTBDYTQ1MWFiMjNkMmY4MmFBNWE2YTA0NDcwZEQ2QTU0ZDU5MmM5IiwiMHgwNmFmRTA0NTZDN2FDNTAzZWRGYzNEMjJFZTJmYmY4ZDk2QkU0NUQ1IiwiMHhDMDhlYzVDMDlCMjdiZUVEZDhBNUUwMUI1N2I0ZUUzNWFkOTlCZTg5IiwiMHhBNjYzMmY2RjMxNmNiNWQzOGYzRjEyN0MzMDNhQTg2MzBGRjI2ZTlFIiwiMHg1NTY4Q2RhQTg3NTAwQTM3NzA3NzAxMDBiRmMzMzA2ZDA5ODZmMWMxIiwiMHhlNUJEMzZBNDU0QzA3ZTM1NGU3YzMyOTc3NDgzYUZDNkU4NjlGMjAxIiwiMHhhOUJmMzE3OUQ0NGRmRmJBOEFiNkU5ZDE0MzA5MjhjMzM2MGIwYjQyIiwiMHg4RTJlMzRlZkVGYzUyYUMxNmFCQzEyMTQ1REM5MjQzYjhBMTg2NDk3IiwiMHgxYWMyNkE5MkUxZjI2OWExZDNhYTUwOGEyYjczMWU0RTA0YWZjMUU4IiwiMHg0ZWE5NjAwMTQ4NDhFMkRCRUI0ODQxZjE1RTMyMUM5NjMxRjcwZEU5IiwiMHgxQzQzMzQ2ZGMzNzM3YTNFMDEzNzRiODg3NDM1NmRBNUY2NTEwRWJCIiwiMHg4Q2NEQzIyY2FmNTgzMzdlRTRmRDgzOTk3NzY2NDkyOUREMENjM0FBIiwiMHg3OEFBOTQyRmFGMWE0NEIyMjVhMDAwNTE2NTY1ZDE3OTIyODQyMEY1IiwiMHgwNmFmNjNmOTNkMzIyQUUyYmIwNzk0NzY2NzA4NmRkN2ZkMDA4NzVjIiwiMHg1M0JkYTUwYjZFMDY0RWY5RjczM2U5NTZlNjM3RGExMjQ1Q2NBQ2Y5IiwiMHg5NWY0OUQ4NTUwRUNCQjBiMWU4NjFDZmY3NjVGZjY4MDVkZEVlYjdDIiwiMHg4NjAxMTVEQzkwMDdmRjVDRDY4NzA3Qjg2MzM0ZjY5Y2U3Nzk0NEVEIiwiMHg5RTMxZDlDNzY5OTc3N0UyMDdjRjJmODY5ZTcwMjhGNWE1NkIxYzRjIiwiMHhlNkQ4YmVjMTJlOTZlQjAzNzU1RDNDQzk5NDhlRjkwRjM2QTU4QjkzIiwiMHhFNDBkRDdENTc4MjYwYTJiYmJDNDY0ZDc3YzBlOTEzOGVhNTcxQjFmIiwiMHgwZTVEMkY3ODgzN0Q2Q2NCMkMxMGRGMzU2RTExRDEzMzAwMzcxYjQwIiwiMHg5NmJENzAzZmE0MGYzMGQwN2EyNEU0NjkyNjljN0NhODA3NmNFQTA1IiwiMHhEOGUxMkEyMTM1MEFjOERmY0U5YjQzZjgzOGI4NjM3NjlkNDhCQkFGIiwiMHg3MEYzY0REQzU5MGI3ZGIyNUZlNjQyNGNlMDNGM2JmYWM0NzEyZDFGIiwiMHhDMDFhZGFlQTdlZjgzRUNiOTU3MkI2ZTA5NTljMkIyYTAyNTg5OWY2IiwiMHhmN0E3OWI2ODc0ZTYxMmM3NTQ0OTRhNWQ2OTU3MGY1MUUyZDk2OTgzIiwiMHgwZGE5NGE0OTYzNDQ4MmVjNkEwNzlmNjQyZjU3NWNCNWREQjI1YWFhIiwiMHg1Yjk4RGQ3NzljMjc5NDc1ZDczZmExMjhBOWU0ZDNjZDRCN2ZCMUM2IiwiMHhhOGZkQ0FiYkJERUJGNmJEZDk4RDc2NTdhNGEyMTZkRWVGQjNkRjNBIiwiMHg2ZmUwM2UxMDYxMDg0Y0U2N2I1NzBEODdDRjQ3OWQ4NzM4MUYxNmM3IiwiMHg1Njg1MjZkMUZiZEQ0YmUyNDFhNkFkZTdGYTRjNjY5MTg5NzJDNjg1IiwiMHhERGNDYTg3YjM4ZjAwMjIxREIyNjkxNjAyYTYwYTM3OTMyZmNjRDg4IiwiMHhBNmQxYTc2RWU5YjRFNTBhNDIwRkQ3RjNkNkIyNDM0YTYxNTlDRDY5IiwiMHhBZjgzMTFBQzc3YzhmYzkwMDY4ZGQyN0NGYzU4MTIwQWFGMzA4Mzk3IiwiMHhmOTkyQUI5MjIxNDE1MzA0QTMwZEY4OUYwYWE3NTIxNzU2Qzg2MDVEIiwiMHg2MUU0RTAzQzM1NWQyOEFhZGMzQjk1M0I1NTFiM0YyRGI4OTU2NzVFIiwiMHg1QjIxMDM1M2Y1MzkxNzJkNzZjY2M1Mzc3N2M5MTY1Mzg2QWI0OWYzIiwiMHgwQkU1NmE0QTBENDZjYmRCOGUyYURCNDdjZDRkZDRiOWRDMEM0QUU0IiwiMHgzQTM3ZDgyNzNGRTM4MjBkYzg0QTBCQjc5MzEyODZkZjY0YkY5QTlGIiwiMHhmZGE5RjgwMzI2NjZDYzlhMjIyZGFFODFjZDU5RTlhQTgwZDVkZDY2IiwiMHg2RTMxZWYwYjYyQThhQkUzMEQ4MEQzNTQ3NmNhNzg4OTdEZmZBNzY5IiwiMHgzM2EwQWMwOGE5NjM1NzI5QjAxMmRBNTFDQ0QzN0M4Mzk4OTY1M2MyIiwiMHgzQjhjNkRCNDNGOTE3YkQ5ODhkOTBGZTU5OTc0QUU0MTJDOTIwMDQ2IiwiMHhCMTc1RUM3QWZkYjQ5NTRmMGQ1M0UxM0UxMDYyNzRCZEJmNDNBM2E4IiwiMHg1QzQ3RDU4ODU0NzVkOWMxMDc2NWFBN0RGMTg1OTIwNzg4MmI3NDQ1IiwiMHgxNkQ4M2IzMzY5NjYwODAyM0E5ODVjMzJhMTA5NEQ5ZEIwNEE4RjgyIiwiMHg1ODY2MGZCNTE4NkRENjNlQTlGNDA0MGI5ODg1ZmM2RWM2NEQ2YTNiIiwiMHhEQTFBOWY5RmVjQzIxY0ZlZWFFMmQzZTE1MzM1RUY1YUYyRDVDZmVlIiwiMHg4NDkxMTJDZDc0NjFiYTIyMzU4MTUxOGYxM2MyNkJDZDQwMTA5RDBCIiwiMHg4RjkwMGVlRUQ4RjRBZTBlQmQ1ODc4MjJkOUZjZjg0ZDkwNGI5Yjg1IiwiMHgzYjg2YzNBRGUyNzg2MUVhYzdGZDRhMmMxZjMwRGQ2QURhMUQyOUUwIiwiMHhkN2ZFYkNCRDc0MGMyNWRCMjZlNjgzMDQ3NEU5QzVDNUVkOWY1QzhlIiwiMHgxZTZCMzJGYTNFNEM5MzkyOEVDNkUwYkUyRGU2NDRlNUJBMjM5OEEyIiwiMHg4NWRCYjE1ZTI1MzBGNkFjQjM0YzQ5NzU3ZENEMTAyQTViM2RCMzM3IiwiMHhjOWE2RjRBMDk3QzQ3NUNlZUJlQzc1MEE3NDkzRkRFNTBkQTQ1MUI1IiwiMHhlZUJlYTg5MTU1NjRkODAzM2Q3M0VlZkE1NDEwMTkyNDY5M0Y1OWNkIiwiMHhFQ0ZlMmMzYzFhQzBBNWE1OTIyN0EwMWYzRGQ3MDQ0MTU5YjExYTU3IiwiMHg0YjdjODRDMTUzYkE4Nzc1RDU3RDBGNTFGMzYwRkIwNTc0NTQzNzMyIiwiMHhERWY3YjFBODJhMjVmNEI1MDI3NGU0OUFmRjdkNGE0MTExZGNCODdhIiwiMHgyMjVDMDE5ZjNmMkIyM2M1MzAyMWI2NzdGNDE5MzM5YTAzOTFjRjA5IiwiMHhENzZjQzRFMEUyNkE3QzBhZTcyQjJGNTg1NmI1NDNjMTdEODNmMTJmIiwiMHgyQTJkYzE2RjBENDgwRjcwNzJjNDNhMjc5NkQwOEE5MkFmRTlmODVGIiwiMHhFZkM0RTQ3MTZFNzFBY0M4NTgzMTk2OGMzRDM3MjIyZjg0MzU1RkM4IiwiMHg3MGVGOUMyMTYzYTkwNDg0MmIxMzA3RDQ4QjM5NUZkQmQxNUIwQkJhIiwiMHhERjdmNGJENTVDMWVBRDFmNDVENTFkZmM5ZjMxMjgxNjkwNTRENDAwIiwiMHg5ODA3NTQzNWFENTYyQTJGRDY4YWVhNDg3NDNmZkE5MmMzMGRmNEVGIiwiMHhkYmI5MDc0QTQ3OGREQ2YyYzU4ODQzNzM4NEUwMWM1NjhBZTNmRGUxIiwiMHgzMTQzMzU1MGI4NTFmRGE5YjEwNmQ2NTEyMTAwMjMyNEY3QWI2QTBlIiwiMHg4MWY5NTNCMTNmYTY1NGY4NTQwMDYzMERGQzM1OTMwNEQ2NERBQWJEIiwiMHgyNWIwNTQ3NGE2Y0VBZEZFRDg2MjllMWQ3OGY0Y0RGRTI2N0JGNkNkIiwiMHg0OEZlMDg2OWViZWRBODNkMDk5RmQwODI1Yjg1RDc3RDYyYTIxYjREIiwiMHgwYjc0MzdGNTRFMTJlQTMzMkExODM4NzgxMTM1OTQ2YTk0MENGMjQ4IiwiMHg0NDIzQWM0ZWJGMkY2OUY3ZWZmQ2E5ZjUxRDQzMzFEN0FGZTI2ZWZGIiwiMHg1NjQ0MGIzMzIzRjA3YzZiNGM2QkU4NDY4NjE4Q0RBMTBhNjhlQTQyIiwiMHhENkE1QUMwNDdkMDkyYzlBNDExNDFlRjY3NkM3MzljODMxQmREMzQyIiwiMHg2Y2M0Zjg5NjJGMmM4ZWExNzEyRWRDMDQzOGI2OEFjNUY1NzJmNUVBIiwiMHhEN2QzMjZEOTM4MjVmMEFGNTk3NUE5NmY3NTgyYTk0YkY2NDA0YTJCIiwiMHgwYkYwNzY5OGYwOGNCRDE4MDg0M0I3YjIyNEMyMWMyYTI0NzZGZDExIiwiMHhhMzJlZkY5MmU1MkI0NTFGM2Y1ZTRFMDdGNjQxQmE5YTFEYTUxM0YyIiwiMHg2NGJCRENhYkYzMkM4M2Y1OTBjRENFN0M1NTJjNTAyOTg1Qzg4MDY4IiwiMHgzZTcyNjcwRDFERjEzNDJDQUYxYjE2YTZiQTAyYjA5YzIzMzk1OGRFIiwiMHgzMEE5YTM2N2E2QjMwZGMzYzZiQjUxNjIzNDY5NjkyNzRlZTM1MzMyIiwiMHg4RTZCNjAxODYwZDU2Y0Y0NzhDMzQ4NWM1OTA2NWIyZWVFRGRmMDQyIiwiMHhmYjNiMzE4RDNjQTNDNDhBOEQ1N2EyOENiNTdkZjYzZmY2MjU2OWU5IiwiMHhhNGQ4QWY4MmVhZmU4N0FlYTIyMTZDNWJEMDAxRERkOWU5NDY3Q0YyIiwiMHhmMTE1YjU3ZjEzNzlmNTUwMTEwYzQ2OTQ2MTVhRTg3RTIxMUMwNGI1IiwiMHhmMUE1NEEwQUJjYkVDODZEYTNGYTI4ODU0MzA4ODc3OEU4Yzc1NkQ5IiwiMHgyMDU0ZTMyYUNkQTU5OTc5NTI3ZWVmZTA4QWI3Qzc2Q2REYUQyMUFiIiwiMHgwMTE0QWFkYWZjYTEzRTE4RkY0QjRCNDdhNTFkRWJmM0U3M2U0MjVjIiwiMHhEQWJFMGI1QjIxM2E0MGE2MDUzNDhENDczZWI4RTEwYzNiY2Y5OGYxIiwiMHg4ZEYyM0E2MGJlQTRjOTY2OUJhZDQwODg3RGQzNjA2Mjc0M0U2MzFBIiwiMHg1MjIyQjM0NkYyNDYwNUQ0NjdDOGZlYmY0OTBGMEFkOThhZjE5YjJkIiwiMHg0MDNGNURCNWZGN2EyMWUwRWMyNjlFMDQ0ODY4NTYxOTgzYUJGMkFjIiwiMHhDMzg1NDBkMzc3QjI3M0FlMGIwYzdkNzQ1MzQ5N0NhNDkwNERjOTBiIiwiMHg5NzMzM0U3NWVkZTgxOTVmY0I2MEJDOGJEOTc2NDQ5OUM0MkEwZkM5IiwiMHgyNzkyMkNhRTZGYzhCNjRlNzJiQThmY0ExMzIwM2YwNjc0Njc5MzIzIiwiMHgyNzE3NEFEMzUzMjhBYmY1NzFkODQwNUQwYkE1MzI1OGFkNDBEN2FjIiwiMHhDMjlGZURBZGEwQjA1RmY4QmJCNTc3NWJBYjc0ODE5ODQ2ZDQ3Qzc0IiwiMHgxMGU2Q0MwRDMxNjk3RjMxMGQzYTBjQUFlNkMwOWFDODNGYzA4Y0I5IiwiMHhDNDBDMmFlODc3Njg1NUJGNDdiN0RlMTkxNTM2ZGY5MzIyMWQ5NjE3IiwiMHg4QzI0RWVhMDE1RGI1MDZENTA2QmU4MzM2NTVBNGQyZmJFMzE1NzZCIiwiMHhEQTA3M0ZDMjJlY2E5ZDhjNjRiOUY5YTU0MkIwYmJmMTE3ZDA3NUE4IiwiMHg5OUIzMTI4RGRERDc5QTQ5MUM0ZjczY0FBNWFCQmExNjQ4Qzg4MTU0IiwiMHgzRTE4ZUYyMjA4RTE1OUI5ZTg3MTMwZUI3Mjc4NTA3ZUVkQjI2QjE4IiwiMHg0NWM4QkRBMGE1OTM2MEUxNkFEODA1NUFlZGI3MzJGNmYwODUwNkFCIiwiMHhEYzJiODJCYzExMDZDOWM1Mjg2ZTU5MzQ0ODk2ZkIwY2ViOTMyZjUzIiwiMHg4Y0VkQjBCYzE4NWMyQkMwNmM3Q0JCN0ZBZTNiNkY5MTZDNDhFZDA4IiwiMHhDYTg4Mjk4MkVjQjM0MjlBNWJCN2UwMjAxOWUzZGE1ZGYyNjg0OTM0IiwiMHhhNDJDZDMxMTQ5RmFhNzExYjRFMTk5YWY3NjdDZTE1ZDk4NjQ1MjRmIiwiMHg4ZGRjRjk5MEM1MmYwZjlBRTg4Njc4M0U4ZTY3RTBENzA4OTVDNDQ5IiwiMHhhREIxZjdhN0U4NjgwQjVkNERBRGFhODhCMDg3NGU5OTQzYURiNjIxIiwiMHhFMkNBZGU2RWNjYjI2ZjZEY0I3NTU4YTVhNDE4QzlkNDE4MWNmMDZDIiwiMHgxRmNGN0RFOTk0NTg5MjMxY0IzODlFNWE1NDhGRjIyOTZmMjNDOTk3IiwiMHg1NDIwMTk5OTdlMUNBQTg3QjdjYjVEM2IzMGI3ZWUyMjM4Mjc1RDIxIiwiMHg2MjRhNWFGMjk3Qjg3MjYwN2IwMGE1OTgzQzRhMDE5QzhkREFmYTRGIiwiMHg2OTdBMTlBMjBBODg4YTQ5OWYzRDA5RGFmNDg2QTM0MjcwOTA3MUNEIiwiMHg0M2ZDYTEyRjYyNDZBRjE3YkE1NkNDNmRFQzA0RTdjNjk5OWNFQTcxIiwiMHhmN0NjQjBjZDU1OTE0MDc2RWQ2Q2UwNEMwRmY5MDRmZDVBNzZGRDhjIiwiMHhGMjk1YjBmYTFBODljOGEwNjEwOWZCMkQyYzg2MGE5NkZiMzlkY2E1IiwiMHhkZTMxRDhEYzJCMzAxNzVBNjAxNjMzMTIyMTFiNDFjNjY1NzA4ZmI3IiwiMHhmNzVlMGUxMjlkMkY4M2M4RTE0MTdBNTYzNGUwZWRDYkEzMTAwMTFiIiwiMHhCQTVCNTg4OUM4OWQ2ZWNDMjJkNGE5NjRCZGNhOTEzRDcwNjBlMzI3IiwiMHg3OEZlRGExNjJERWI1MThCMzU5ZTkzNEYyQWRFMDM5OTlmNzRGYjZmIiwiMHhENjE3NDUzODE2NUYwNERlZjVCOTcxNGMzOTJBMUIwQTkyOTJiNzM3IiwiMHgxOENjZDU5MDczNUQ3M0NCZkFGRkM0OTczODQ5OTViNTQ3ODAxM0QxIiwiMHhENmFjOEMyMTc0ZDdENTE5QkRDQWUyM2UzRTJjQjFmM2Q5ZDZEMDIzIiwiMHg3M2RhOTlENWEwM2E5QjJmOGIyNTEwMDRiMEZEMDJlMjA0ZmU0RmM0IiwiMHhjODRCNjgyMzQwMDBCNkQzODMyOEQ3M2NERDQzOENCRDM2Nzc1MjQxIiwiMHgzRjkzMUYxQzcxNjg2MEE3YTU2ZDdlYzQyOWM5MEQ3OUYwYzQ2MWM0IiwiMHhmQzZkYzNGNTJkMzJGM0MyMEI2MWMwNmY3NmQwRDc2Nzc2NTk3OTZEIiwiMHhlREIyNzRhMjRhNEYwNzA5MTk3ZmQwNDRBYzI0NDQ5NzUxQTI4ZUUyIiwiMHg0ZjIzMGY3MDUzOWY0QzllMzc5NjZhMTJkNzgzNDY0ZDE1ODc3YWU4IiwiMHg3OWY2RTkyYjEyNzEzMEI4QjU4Y0RGNDY2MTdGRUY1Y2VEQkY0MzdDIiwiMHhGRjdmRmI3MkQ2MkNFNjlEYThBRDQyOUQ5QTc5MUZmMjM1NWJBNEZDIiwiMHg2OTJCMUY0MDYxNTllQTc3QzY1ZDdkMGQzNzUyMWY2QUY4Qjg5MTBGIiwiMHhENDI4OWEzZTU4YTI2ZDE4NmE1ZDQ3NzcwNzdCNEQ3Njg5RGU5ZjUxIiwiMHg3MTFBNDVFRDRFNkZlQTE2NzAwYjhGZGM4YkU4ODRCY0ZhRWZEYjI4IiwiMHgxMDM1N0JGMWQyYzQ5MkI0RkQwZjdEQjM3ZGM5M2Y5NzAxMTBENjczIiwiMHgwNjAxNWU2RjFGMzY3ZEEwMTg2YjQ0ZjZEOWJGYUI4YzIyNmJDMDY2IiwiMHg5NDI4YWNlNTY3NjA4MTkwMDM5MDFlZjljOWYyNEI0ODk5MGFDMzAzIiwiMHgyNzZGQTU4ODkyYjBENGUwODhhMzY2YTNDNWE2M2FiN2RhM0YwNTMwIiwiMHhhMmM5OTQzYUM4MWZlM2E3QmIzYUFkYjVDMzE4OTBmQjdmQUJlMTJBIiwiMHhBRDA3M2QxZDg1RmM4N2YwZTRlYjEyODg1MDJlNmY5NEZjM0FGZUQ1IiwiMHgxMTcyYWI3Qzc3RjIxNEZhOEYxNzVlYjVGNjhENjBlNTRiNzc4QjVFIiwiMHg3MTAxOEZEQTMyNDExYTBBRDM2YzZCRjU0QjM3MTVkNDEwMkQ3OGUwIiwiMHhmNDQ1OTM4MTkzNkIwRDgyNjQ1NTQ3ZGY0NDdlNDU1Mzc0NTJBQTUxIiwiMHg2Nzg2NDY2RDI5ZjA4ODZhNDM2MTU1NjQ2YjdiY2E4OTUyNjZFOTQ1IiwiMHg5NzM3NWQyNTA0QzMyRTdCNkZiNDY3ODk4MzlEYTE3YmJGMjNBMTlCIiwiMHgwOGQwNTYyMzY5Mzc4YjMyNjZhMzhmNGRiYjZCMTI3Y0NiODM2RmI1IiwiMHgyQTU1ZjhFMTE5NzczRTkzNGI3NENhQTExRWZjYzkzNTVDRjFGMjgxIiwiMHg0NTI4NzAwNmZFYTY0M0JDMTA1YzQzODYxQkFFMzczZjRiOTZGRmJjIiwiMHgwRTQ5RjY5NjI0ODEyRTNlMTBBMkZhOWE0OGEzNjk3ZGMwMzUxQTcyIiwiMHgyRjE4N0IxQTEwODdjMGM2NTczYjc0ODc5Y2ZGOEI4NjlCQWE2YkU2IiwiMHhBNzRkMDkyNjgxRjRGMDg3ODJDNjEwNWEwNUM5RDkwN0NjMDBmOEIxIiwiMHg0NDY4OEIxODA5QzU4OUY1ZEYzYkMzM0YxQTBjMWVkRjQyYUJkYThBIiwiMHg5NzgyQjI1ODhCQkIwZGRBODM1QjM1MTFiZjIwNDM3OGQzMzlGMjZCIiwiMHgwNDI4RUUyNzM3YzU0QmQ4OUU3NmY5NjFjYjI5ODREOTA4MERlMjY0IiwiMHgxY2U3ODRjODBBMzBCNjkxMDI0OEY5NjUyRkREMTNFNmVEMzRiZTA0IiwiMHhEMzA4MTJDQzc5MDM5RDM1M0M4RTI1MTUwY0I1NGZiMWJFYjg0YTZFIiwiMHhDMjZCMTc3NjY1OWFBOWQ3OEU0RkIyNTY0RjFFOUI4NjEyMTdiNTJEIiwiMHgwODNFQjg0MjlkYkZjOUI3OWI2MTdCMmQ2NTRFNjczNmQ4ODU1Mjc2IiwiMHg4MzMzYzM4MDEyMzUzNDg1RTcyREI1YzU5YjRmMkZmNDc3NzI1OGNhIiwiMHhDMzcyMDg5MDE5NjE0ZTU3OTFiMDhiNTAzNkYyOThEMDAyYThDYkVGIiwiMHg5MjdDREI0MTM3RTZmYmJiMmFGYTgzNUZBQjhhNDA1QTFlQjA5NDlCIiwiMHhhNDc0MTM0ZTE0NzVENjgwMmEzYzMzMTJEN2JlQTdCM0FDRmI5NjQ3IiwiMHg1MjRBQjZGYjE3NEEzZWJDY0Y1M2JEREQ4NmQ5YjI1ZkMyYjQ1OUY5IiwiMHgxMzU3NjNjMjI4NkUyNzRBZWQxRTA5NTZDMDY5Qzk4RjE3MTE3YUJEIiwiMHhiMDMxOGExY0FlNzE2MDIxM0ZkYkI0NzI3NzcxNzU3ZTY3ZEVkMTJmIiwiMHg1MTE5NEIxMEEwM0NmRDlEOTE0NzkwZUY5Y2NEMWFCNEFiNzc0MzNmIiwiMHhGMDhlNjBjMkQ2MmI5QzYzQzc4MTQ4QjYyZDhkMzUwYjk3QzRlYjQ3IiwiMHgwNjVhNDg5QjJkYTVkMjM5NDA3YzA0RjVCQzhDRjY3ZTBGMURGNDBGIiwiMHhjNzRiYzc0ODFFNzJGRWNhMWMyMjBEZEE1M2JhNjVkRmUxMzIwNTU1IiwiMHgwMjNhMEQ2NjRFRkYzNEYwYTkwMjgzNzJGOGQzOGNiMjk2ZEZkZDJkIiwiMHg4NTI1NmQ5OEYxMjZiZTgxOUNiM2E1Mzk1ZkRiZjEzMGYxMWZkRDkzIiwiMHgzNUEyNjU2N2JCOTIzNTQwRWVBN0UwMWNENTMyODg4MkM2NjVjQjM2IiwiMHhCODA5NGExMkExNjg5QUUyQWY2NGYzMjY2NjY0RUZGNEI0MTVDMDhEIiwiMHgxMjFhQzVGNmU2RWY3MThEN2EyMTg3NzU0NDU3ZDg1NjIwMGY1YWFhIiwiMHg5ZjhiNzc2ZEQyMzc2M0M4MGFGMDU3M0Y3YjBFNTk4RDgyODRDMkQyIiwiMHg4MDYyRGRlODQ2QzM2YzQ3YjQ1NTVhYzZGZmZDZTdCMDliQmJFNzRBIiwiMHgyQ2Q1Yzk1NWU2NTUzNjNjMjk2Zjk0RkQ0NGNiRjlGNWFEREE1M2UyIiwiMHg2OTRBZDlGYTk3NGQ4ODMxM0RFM0FkMjIwMmJiRWZGRkE5MjJEODMwIiwiMHhiODYxZUFCNGIyYzQyQkZCRDBjMEEwRTIxNkI1MTM2QTc3NDg1RTFFIiwiMHg2RTM5MzBhMzZEODc0QmZmM0I3NUVGNTc3OTM5OTAzRUQyOEExQzEzIiwiMHg4OWExOTI5OWVEMmZCQTVGQzQ5MjZmNjIyMzdlM0JGNTg1MERGNzBCIiwiMHg1OERDMEEwODdFN2NGOTViZmQ3NTc5NjZhNTUzODQ3ZTdBMUVhMjlkIiwiMHg5YTJGMzI2QjRBNzhiMjNmNDE2RTlDNkM5YTMzMkNCY0YyNjIwMzNDIiwiMHhkMGZkNGRGNjc3ODQyNzBFYzJENTJkYzQ2NzM1ZjcwMTRjMDVhZDYzIiwiMHg2NTlkMzBBRTQzYTk1NTNmQUY3ZkIwQjhiZGUzOTNkMTlmNkJkZUJiIiwiMHg4MTM5ZTM3Y2NiNkI4NzZCN0YwMzY4YzdkY2FGNUQ1RjE3NzhGNTdDIiwiMHhiOGM3MDYzQjhkNGMwYjQyM2Q0M2E3MGZENUExNUJjQjQ5MDc3OEU4IiwiMHg5OGRlZTY5NTZmN0RiMWJlZGViYjVDYTNmZDI0NTkzNTZlOWNjNDVjIiwiMHgyODU1ZDUxYTZjMDU0ZTVlODc5QmZjRTE4ZTNhMDI4YUU1YzE5MEY3IiwiMHg2MDg4OTQyNDNENWJhNEZmZjRlOTdBRWM3ODMxRTMxQjQ1QTg1NTdlIiwiMHgwQTFEZTRDRDAzMzJjNzYyZUI5OGMwOTcxOTUzMmFiZDhDYjc2Mjg2IiwiMHhiRDVhYzlBNWZkZjBlOUQ2OEEyZmIxYzU4MTExYUUyMmEyQ0UwRTQ3IiwiMHg3MjcxQzA5YmVhNDdBNTViNTM0ZTAzY2FiNTI1ZTQ1ZGViZjNBQTA4IiwiMHhFNmNFMDkxNmE2Q0UxZkU2Q2Y2Rjc0MjdkMGFDRjgxZTIxNTlhNEI2IiwiMHhhMmYyYzY5Mzc3NmM1M0UzYTZjQTQ5MkQwRDQzNDFiN0JBMThCY2IyIiwiMHhmMzAzMDRjZTNEQmNGQTA5NTQ1NTg1N2M2RkM2NTYzZDVGRmY0Yjc5IiwiMHg4ZTdCMjAyRjQxQUQ3MDgyQTVmNkQyODE0MTE2MWZiQTk2MmM5ZjQxIiwiMHg4NWJkODI2Qzk5MUE1ODYxQTg1MjAwYWQxNWIyMDI0YjY1NTZjNmVDIiwiMHg2RGRjMTJlRjI5NDAxMzdGODlhZjYzRjA1MTk2YTRjOUQ0ODgzRWU0IiwiMHhBRjVkQTdmNUEyNjIyMUI5NGI2QjY2YjZlM0U2ODdDY2YyN2JEN0JGIiwiMHgwMGU2ZTlCNUY5ODRlNjA5REQ2RTY4NzNEOTM1NUQ4NzE0ODU5NzU0IiwiMHgyMTFiMjZGOGE0Y0I2ZTFkZjg3RjkxOTlkMzkyZmU0RUZlNjUxNDM1IiwiMHgyQjk5ZjczZkIzRTNERTY1M0ZhQjY5ODY2RDQxZTM5Y0UwNDA3NzYyIiwiMHgxM0U2MGZkOUM2YTQxRkZiNUY3NDI0QTRlODgzOEFBNzlDNjU2MWE4IiwiMHhiMUVGODFhN0E5MjQ3YWQ1Y0I3MEQ1NGYyN0ZhMmFjQWQ3NmU0QkQ2IiwiMHhiM2JFZURCMmUwNjA1RTFlMUNjNjVlOTAxOTQ1ODdCNDJkMjZhQWVmIiwiMHgwYTc0Nzg2ZEZkZjg2ODQ0MjYxN0NiMEE2ZDIxN2Y4MDQ5MzllNDE1IiwiMHgxMTZCMDk3OWREZjlkMEY3QzIzRDVGMkQwMDk0MDlFNWVFNTQ5MDdmIiwiMHhDODU4ZjcxNzQ2N0ZCYmYyMDFDMzU1MjJGNmQyQ2QyMUNENUJmOGY4IiwiMHg4NzVDN2ZBMzY2NDI0OGJFQTk2YjA2QzU4YTM1MTJkZDIwMWFEMkY3IiwiMHg1NTU0RDAyNDQzMmVGNjNEQmQ5OUI5ZUZCMkM2RkM0MzBmN2Q5OUI3IiwiMHhiMzBjNjMzMzcwOTY1MDc2N2UzZDE0Yzg2RDVFMkE3RkU0MmM3NURjIiwiMHhCQTJkRTlGNDUwZTgyRjEwMzU4NDhjNEE3M0EwMzY2ODIwOTJmRkRiIiwiMHg5QkQ4OThFZTBCRWE4M0QyNzdjYmJlQjU1NjBhZTBlOTMyMTU2MjUyIiwiMHhBNTkxNzQwNERlNjBCODM1MzdBZGIwMTQyNDczMEVlMWVjMEVENWNDIiwiMHg1NjI4MzNEODc4MWEzNDhlYzkzYTMwMDVENjdFNzkwNDljNTJGODg3IiwiMHgzMzk3ZDQyMTkyODEyM2U1NGJkZDIxZDA4YjVlZUI3NDU5NTUxZjhjIiwiMHhiMjNlNTFjQ2ViNGYzRWU3Njg5MDZhRTRERDQyODJmZDEwRjBjNzEwIiwiMHhlNGFCNTVFOTlGNzdlNmFBNUI5REIwNjgzNjRkMEU4NUJkYWY2ZjlCIiwiMHgyNDMwMTcyZEM5NzEyM2JGMDJDRGJFN0M5NEFhNzY5NWEwNGY5QTAxIiwiMHgzQzcwZjRGQWVBNDlFNTBBZEM4MzA1RjJFMUFhMEVBMzI2QTU0ZkZjIiwiMHgxNTc4MUM5MTEyQkIxNEE2YmQ4ZDZBNTU1RkFBOTAzRDdhNzJlQjEzIiwiMHhhODQxODg1RWE2OEUwODM3OTMwYTViMTczMENkMDk0QjEwMDA5N0QxIiwiMHg1QTI1MDhkNzZDNGIzYTE4Q0VEMUFCOWM2RkVhOTA4MTBDNjZBMTRjIiwiMHg1YTc4NmY4MjMxNDIyNDRCOTI3ZUMxNTYzOGQyYTVCY2VDNkYwYmMyIiwiMHgyRGQzMDA4N2RmQjJkMThDZDQ2OTkzQkI3QUZmOTQxMGI3MDA2RTYyIiwiMHgzYmIzNGU4MWE1Yjg3MkNhM2MzMDI4QUJmNDEyZUJkNTk5NjJiZjBhIiwiMHg5MmNkNzU0N0M5M2I0ZjdGN2JmNmYzMzhhZWJkNzZjRTJDYTg1MUZhIiwiMHg2NzdFNTVBRTkxODc5Y0EzRGJFOTA4MUI3OTE0MzZjRDc4NzgwZEQwIiwiMHg1RTNDZTkzNjgzQjE4MzQ0OEVDZDk3M2I2ZjRBMUIwQUZGMDY5NjYzIiwiMHhFM0Q4YzZkNzVBMjJlRTZFQURBMzY4ZjkyMTQ2RDIxQmIzRDg1YjBhIiwiMHhBMEJCNUZDNDRlMjFhZDI0NjczZTg1OTkxNTIyY0E0M0ExZDg3QURlIiwiMHhGQ2RDN0IxZEJkNzM3MDc0ODcxQjQyNjgzNjk5OUE5NEM1OWEyQTc0IiwiMHhjYzIwZDhBNDVkODJGMGMwRDg2Nzg2Njk5ODk3M0JGMjQ0RjIwQ2U5IiwiMHhmM0UxRTI1NjVkQzA2QTQxOGIxODVkMDRGNEQ4MTU4MEU1MkREZEM2IiwiMHg2ZGI4YmNkMzQ1MDJBNzQwZTk1ODU5MDdENWYyNkM0ODJkY2Q2ODBiIiwiMHgzRjZkYTQ3OWU1NDhCNzY3OTNiRkJDNjMxYzMzZTk5QjU0RTJjNjY4IiwiMHgyRmNkYWM0RjdDMzZBNTY3NThDMkI5YTIyYjU5ZThjQmIzMTVEY2VjIiwiMHg2OUNmQzBiNWFGNzIzMWIzMTZkZTg2ODFGODFhMjA1MzM4ZTk0OTczIiwiMHgxZDU2NzFGNjgyRDk1ZDAwMzRlMTE1MkM5NzU2RWRGODhmYjFlNWExIiwiMHgyRGNmYmJEMkVBNzQ5OUU3MTBFODc5ODc3RjhhYkFlNkFhQkIzMzhiIiwiMHg3ZTM5OTk5OUIzNzQxNDlDOTdjM0YzNENGOEJlZEYyOThkNDgwRGJBIiwiMHhiQThFMGU2RjQwMEE3NjMxNjI0YThDRUI4RURjYTI4M0Q0MWRlYzEwIiwiMHhmMzBmRTQ0Y0JBMjdGZDBkNmE3ZkZCNTE0ZjYzNzNCNjBlQzE4OGQ1IiwiMHhjMmU3MEI3RWVFOTcyRkMyNDEyRTY5MDg2MjU2YThFMDY3ZEI3MDg2IiwiMHg3NkY1NTlDQjk4YTI2NmExM0U3NDNCRmFBZTNlRTA3NEVFRjI1ZjIxIiwiMHhEZTVBNjgwNDUwRTRDYjEzYTRiMTQzQ2IxMTM4Y2IwZGYyQjc1ZUYwIiwiMHg1MkY5NmUyYjU4MGMwRDQ5NTAwZTQyQTJhMUNBNWFkNEI4YUY4NDNiIiwiMHg4RTVhRDcyMjE0RTdjODRBNzdlNzFlODQxMjQyN0M3QjljZkJCRjgyIiwiMHhlNTVlMjVhODM1NTU5YzNhNWY2MTkwMEM5NkM0MjZjNTBhNEVGZkQ0IiwiMHhkMDRCNkE5NTBiZmJjMDBFM0FjMGFFNDFBNDg1ZWQyMDI0MzRjOTM0IiwiMHg2Y2RiNTFBQzQxNmJGNjI4NjhBNDFEZkE1MThCN0ZkMjlCOUU5NmE3IiwiMHg2NDYzRmYxNDQ1QjdmY0YxOUU2ZDZDY2NiRDU0MTE5RjYxYzMyODFlIiwiMHg0RGI1QzlEZGVjNjIxMmFCODEwRjdGM2E2MUZERjBjMjUxN0QwNGNFIiwiMHhjMmRCOTUwNTgxN2MzMDIzYTZBOEE5Njc3OURGZEJCY0I2OTMzMDJEIiwiMHg2OGIwNjQ4OTFFZmI3N0I4N0ZlMUU4NzIyMDVFNzk1Zjc1YTcyYTZEIiwiMHgxZjEzQmRmMUQ1MDliM0EyNjk4OEVFMDM0MjQzQmQxOEJBYjM3MEEwIiwiMHgxNUQ2NDRhRDBkNDQ3OGVkRTMzNzQ2NTdDRTcwMkYzYzQxQzRjY0U2IiwiMHg3NWRERWVkMzIxY0JEMUU5MjFkZEFlMUVkYTMzRmJkZDNkOGM1NDY4IiwiMHgzMmEyYzdDQjYwMmQ1OGY2NjQwYzZjZmM1NDhDRDIwYjRhOWJFNzEzIiwiMHhBNjMwMDBCMzlEODkwQUUyMDhiYjk0MzRFNDkyRDhDODhmMzU0OTAyIiwiMHhDZjY2ZjBjYzE4ZDQwOTY2MTQxYzA2QTkwMzE1MjdmODI0MTRiQzFGIiwiMHgzMTEwMDA5MGZkMUUxOTk2MjJDNEY2NEM2MDIyNWIwY0UxQ0I2OTA0IiwiMHhDNzFjZjREMmUxQjgxODBEMTk1MDhkMjgwOTI2MTMzNUFiMUEwYzc2IiwiMHgzRTgxZDk4ZTU5MGYwODg2NzBFMDc4ZTk0NTgyRDBFMGE3ZjAxMTY4IiwiMHhhQ2I4YTA5MzIxODA5NWNhNUU3Njg4RjhDZkZDNzNjNTcxYjI4ZDJCIiwiMHhBMTUwRDUzMTAyODE4ZDgwMDNhZjEzZmE3NUM3MTQwRjhCMmVGMTU0IiwiMHhjYjY1RDQyMTEyODM0YTVDMzQxMUU3ZGViOThkYzhiMzM1NDg3RUQ1IiwiMHg0ZEJlMmJkN0NCNURjN0RlOEFjNDk1MzYwMmMwMEYzMzY5QTk1Nzk0IiwiMHg0RDQzMEVlMzMyRTgxRWIyOTZjN0MwNUQ1MjBlYmUwODQ3NTEyRjY0IiwiMHg4QTY3OTlGQTc5REJDQmQxQmFEMEU4Y0M0OTMxOUU2N0U0NjYxMDM2IiwiMHg4MzM5NzJlYjNEODhhZGE1QzA3Y2FiNzg4YTVGNGM1RGVCMDE2NTIxIiwiMHhFZTU5N0Y1NzFDNjVDNWFiZmE1NkE4MTI4YzRCN2JiN2ZiMzFlYkM2IiwiMHg4YTI4MTk1QTg4NTFEQzVEMWY3RWE3QWMwNDI0ZWJCODNhQzRmYjc1IiwiMHhkYkZDRDM1YjUxRmZEREEzMkIwNDUzYTZkNURiNzcyOENkZTE1ODAyIiwiMHg3ODMxNmZGOTA4NEU1QTI4MzQ3OWEyMGI3NmI2OEIxQWVDM2I0NEJhIiwiMHhiYUM1MTc3YjY0Q2YyMjZBQzkyMzUxQWRFQUZlQUI4QWI0MGZjYTk1IiwiMHg0OTcwODVhNzVFMjNGNjA1MThkOTk4NDY4ZDgyZTJCMWU2QWEyNTEzIiwiMHg4Nzk4OTRFNjAyMkM2QWJDNWQ2MjgwNDdmRjcyMmVCNDA1NUE3NWFlIiwiMHhFQzVlM0Y1YmQ5RjM0RWY2YzJmMDgxMTcyQjE4MzQzNjllOWEyMzFBIiwiMHgyN2U2RTdBNTVjMmU0OEY5YTY1QTUzMkIxQ0U0MUZiZkY0NjUyRGRmIiwiMHgzOTYzQTQxMjJkNzU3NzQyYzlkOThlN0NjZkJDMGI0QTgzNkUxZDBmIiwiMHhjNUFmYjU5MzdlNWFFN0Q0MTkyMkI4Qzk3MmU5QjgwNzZmNEE5OEZiIiwiMHhDZEFlNzFkNGFmMDA0ODlkNUZEYWQ5Q0U0MUZkNDBEQTJlNTQ3ODBDIiwiMHgzYmFkNjNFMTc4ODRhODg5NWZmQ0MwMzkyN2RFQzQwRjlmNjZkQjAwIiwiMHhCYjFlRDY3NjM0RDIzODk3MTYyYzY2ZGM1NTczODVDODNFMzdCNzc1IiwiMHgxNjdmNTkzMDkyZjA0M0FEZDBjMkQ1OTZFRkY3N2I5MTI5MzZiRjE2IiwiMHhmMTE3NWQ1QWFmQjg2MjUwRjhhMDJDOTExRTM0RGM0NWZCQTFhN2JDIiwiMHhCMzgyRGVjZDc1OUY3MDRjNDI4OUM0NTJlNTc4ZjUzODZCNkJGZTY3IiwiMHhDMWJBREIxNjk1YTNGMmY0MGU3RWQ1YWRiNTdjN2VFODc5OUYxMEZGIiwiMHg1NTUxYTRkZDIzNTRiOTlEMzQyOTE4NzUyRjYxMjIwYmRiODg4YThmIiwiMHg5MTZmMDBiRDcwRTI4RGU5MDQ5NGJlQzVFOERERkRmOUJmNERmMjBFIiwiMHg2QWRmM0M0ZjkxZjU0MDQ2MjUwOGQzZmJkNTA1RGM5MjJhNUM2YjIwIiwiMHgyMTAzODEwMGM3OTMyYjNmQzM2MEZlNUYyQzdiNWEyZkRlQjdlOTFBIiwiMHhBNjUyNjg1OGRiY0Q3RDRmMkMyYTY1N2Q5RmMxODJmYTMwQjlmNDYzIiwiMHhFMmUwY0QxZWI5M0QxQTA2QTZFZTQ2N0EyYWI5MTE2Y2YwNzIwNTlBIiwiMHg1MzYxNDg5ODdGMTQ1QjJFMjI0MzRlRjAzQUNkOTc0MDY5QjI3OERhIiwiMHgwODA0MzViZmFEMmJEZGZGNmIzNjMzRTRGN2Y0MDUyNTUyN0E2OTU0IiwiMHgyOUIxNkY1Njc4QzQ2NTdiZkMxRjQ3MGEyMDg3MzA5OEE3ZEI1MERGIiwiMHgwYWFDMDAzMGI3OTQ2N0NiZjA5Q0E5OTlBMDE0ZTE5MTkyNjY4MDRhIiwiMHg1NDNmQmNmZTdhOEFiM0QwMzUzNzcxMjBDNmI2YThBOUUzYTMxOTFEIiwiMHg2NDM5NjMxOTBFMDIwQjI0ZUI0QjE0NzUxMjQ5NDU3OWM1QTY5MDM2IiwiMHhCN0NjZDBiODcwQTdmMTVmNkJGN0U0OUI1MjMyZEViZDAyZWFjNEM1IiwiMHgyMjk5NTE2YmY1MzY4OWE0NkQ3ODFmMzcxN2Q0YmNBNkIwQURiYjRBIiwiMHhjMmJhNzk1MUQ5NDNhMTkzN0ZkMTBiZkY1M0Q3QTM5MDliMGFkYjYzIiwiMHhEMzRlNERlQzdhMDA5QjIzMDc4MzhmNjJBYzIwQmI4QjJkMDcxZTc5IiwiMHgwREI0ZmQwMzJDRTg0YTNkQzQ3QWNmM0RDNzRGNTcxNkY5OTkwNjExIiwiMHgwYzVGQjE5N2VjOUEzNTU4YTNiNDVEOTVhZkVlOEI2NDcwOGI2MDg2IiwiMHg0OEY4ODFCZDY5MTI0MDAzNDQ5ZTM1RTExMjg4ZEIzM2MyOTU5MUUzIiwiMHgxOTg5NWFDMEU4MTZEMTY3N2Q0NjEzRTQ4NERCNjQzOUFkZmFCYkEzIiwiMHhmOTgyYkIyYjllNUE5MmFmYmQyRDg1MzQzMDk1MDFDNTRiZjA4ZDc0IiwiMHgyZDU4NjUyYzI1YzVCRjg4OGFjNTg1OTNDMDgwMkU2NzFCNzVhQjM4IiwiMHg3Qjk3M2E0N0ZDMjhCNGU3YTlBNTNmQ0FGNDU5OUJBQTc2ZTQ0RDE5IiwiMHg3NzYyYUYzYkQ3YzZCMTNkNzA3OUI5NmVmYjI1ZjIyNDc1MkQ3RUUxIiwiMHg4NGJjNDY5NzRFNjkwMjMwOEFCMzBGNjlmYUI5QTgyNDEyYjE1OTg1IiwiMHgzODFmZTc0Njg0NTZhZTc0NDA3QmY3RGViNDIxQWIyOTk4NjcxQzU1IiwiMHg1RWI4NThGZjk0ODllQzQ3ZWM4N0M0NEMzMTEyMTZmNTAzMmUwZkRBIiwiMHhiOUY2OUQ4ZGRmOTI2NTY5Nzg3NkQ1N0M3MDdkODhCNzE5MDY0OTg1IiwiMHgwNzZFMEFiYUY2MEZEOWQ1RDg5NGQ5QjQxN0IxM0IxMEM4NEFiOUVBIiwiMHgxZURENmI4NmEyRTNGQzRkMzQzMGQyMDYwMjhDQmJkNDA2MDkwNzg4IiwiMHhjZTFBNUMzZkVkODA5QjUxMDBlM2UxMmQzOTdDN0IxYWY0MjY2MTdmIiwiMHhkRjdFOUYyYzY2YjIxNTA5YzYwNTM1NTc4OTA1RkM1MWNhOTQ5NDk2IiwiMHg0N2JhNzgyN0Y0ODM1MkI0MUYwMzZmRTE3YjFBYTFCMDJEYzkxNkEyIiwiMHg1ZmY2NTBCY2UzZTIxREY1YjJCQTc0NkFGMzU5ZTBBM2RCOGEwNjQxIiwiMHg0NjFjOWVlZGRiYWQ0NjQ4QjAzRmY1ZEMyM2MxQjI4QTVFNzJiZTQxIiwiMHhhYjNkNEY2MmY0OGU1ZDcwNDQ4Q2MwMTA2ZjNEYmFjNTEwMEEwNTc5IiwiMHgxRWQxQzQ3MzkxRjIyMDhhM2E0Q0ZiNjI3MTFCOEY5M0FhYjVEMjFjIiwiMHg5NDA1MTljNzY1Nzk1NkU0YjNDNzdGNURBZmMzYjBGZjQzQzlBMjcwIiwiMHg0M2RBRDE0MTFmNzZENEIyODUxNzY4RUFjYTU4MGJBNUNmOWY2MjVCIiwiMHhFZjFhOUZjNGE1MjVEMTBEMTY4NmVmZjE2MDA2OWFENUMxNzE1NjkzIiwiMHhGMzBEMDkwMGUwMGM0OTU4MUY2YzEyY2NGOTE2NjM0RkI5MzkyNzdGIiwiMHhmOTc5NTI2ZTliRUY4NTdiYkU1OTBmNzZDMzE2ZTgxNzY3QTU0NjUzIiwiMHhmNWU2MTlDNDQyMWZDNDE4OTlEZmQzNmVBZjhBNjlDQ0QzNEYxZjcxIiwiMHgzMDVGNjIxZjg1Qzc2MTNhNkY4MDJlMWE1MkMwODY1MDJmNzQ0OTg1IiwiMHhGNTI3NTMzNjRkMjc3MkJmNzczZWE3NzA4Yzg3M0I5Y0QxNWE5QzExIiwiMHg2RmU0MmFENDVlQkIwRTgzMTFDQ0M5NjhhNTg1NUE2Q0E5OTVDNDIwIiwiMHg1RWUxOUQzODlBZDRGNzBlN0VCZDY4Zjk5ZkFkMzZFZjE5ZUI5NTc5IiwiMHg2MjM4MDhlOTQzODEwOTY1MmJlNUY0MDVEMDEwZkFBQzA1MEVDMTA1IiwiMHg2Q0QxY2M3ZDUzMDhjYUIyN2I4YmJFREE3YTdkQUMwMUQ1M2RBMzIzIiwiMHg0RjkxZTVCZEY2OTdmMjZDMkZlRDUyNTcxQzhlZWMxRUQwMGEyRDIwIiwiMHhlNjg0OUUzQTdmMkI3NmYxMWZjQTA0MkRjM0EwQTQyOWM0RERjMzFBIiwiMHhiMmJlMWU5NzYzNURBMkExYUE2QjY2NDQzYzk1NjM5QmQ4MUQ5YzBEIiwiMHhBYzAwM2Q3ODAzNDYxMmQyNURCQzg5YzY5ODhCYkUzOTRBODk2ZjhBIiwiMHgxQUJhNzg2MGNhZmNmMWFmRkMwNzVmZDhmNmMzNDJhNzUyRjI2NEU4IiwiMHg3NUJGNTA3QzMzRDA5YkY4OThiMzI3YTViODI4ZTI5QWYxYkEzNGZCIiwiMHhlRDM1Zjc2ODc3ODA0N0RCNmJBYTQxOGUyOGFiNzIwZTFENzhiMTg1IiwiMHhCMDAxRUE0MWMyQjY4NzVBODJkMTQwMTJEYkU5Q2Q2MDgyRTA3MzgyIiwiMHhlYjMxMTcxMDYwNDIwMzQyY2U5OENlNkRjNzU5NEJhRGFjOTFCZDIwIiwiMHg3QUUzQmRFNmFlMzQyQmNGYWExMkNlRmJBNjJDODE3YkY1NkE1ODU0IiwiMHg2YzMzOTU5QTEyZWUyQ0JiOTRmRDZlQmNhZjA3YTczNzU1RWE3MDY5IiwiMHhGOEY5YmVCNWIxOGQxNGEyYjQyQjhCNDM2Yjc2ZTM5OTYyM0Q3NWIyIiwiMHhGZGE4ZmU2MmU3NTQ4QzIzMkVGZjc1MzdiRGQyMEY4Qjg3RkU3QjQwIiwiMHhiNzIzRTdBRWI4MjBlQjhCOTJCM2E2NzlkMTM5REY1RTdBNWQ5ZjMwIiwiMHgyQzI4MDk3OGZkMTM0ZDI4Mzg2YjJCQjg1YTlmNDg4NDcyNWU4NDlkIiwiMHhkOUE1RGY1Y0M2OWM4MjI0MzEyODJlMzExMTljYzNCMTljNDEzMGQzIiwiMHhGMDZjNjFlYjFlQWU5QTA5MUEyMzU4RmRlNDc0MDY0M0QyZEIwRTFEIiwiMHhiMjFDMzg5RkQxQ0U3NkU0NzM5YzQ2NEI5M0QxODY5NjU1Qjc0MTgxIiwiMHg4RGY5QjMwQzM4MDc0NDQwNkIwNzRhQ0EzYzI5YmZmQzEwQjVGYWExIiwiMHg4MzhkNTMxZTE3MkM2MjY1Mzg4MDkzNzFFMEJERDU0ZEI0MjExZWVhIiwiMHg5QzJEMGYwMEU2QTZlMTEwMUUzRjU4NzFkODU3ZTZlODQ1RmFiRUE2IiwiMHg3ZTMwOWM2QTAwNzUxMGFCODdmODdFNkZEOTJDQWZkZjEyNTNjM2FDIiwiMHgwNTNkZEE3MjBhMDU3NmU0YWFiRTg1ZTdFZkYwM0Y1NDJiOTI3ZjY4IiwiMHg5NkMwYzUwYjNjODQzOUI4RTkyMDZBQzY1Y2YzOTNkOTg5NjBmRkFiIiwiMHhGMEIzYUUwYWJEOEY3NTU3NDljYjRjQ0VkMDlENjg2OTYwMkIxMzY3IiwiMHgyQzhlYjA4NjFiZjZmZDc2MTQ4MUU4ZDFmZjFjNTc1MzZDOTgzZTk4IiwiMHg1MERlYTRjOTA4YzU3MzcxMjkyQ2MwZTNiRDlEYjc5RGM4ZjYzMDE0IiwiMHhDNTNCQkJDODgwNTI2OTUwNDU0RjFmNzIzOTA3N0YyZkM3YzkxRDEyIiwiMHg3MGExOThGNzBmMDNBQjI5MkFjQkNCNzY4NzRGNGQ2Mjc2Y2MyOGZDIiwiMHg3ZEM3ZWE4YjA4MGUyOTRBMDVDOTNiOTVEYzMwN2QzMENjNjUxNmRkIiwiMHhmRDUwYzBmNzI5NGQwNmU0YUU0OEQ5MDVCNEFENjMxMWViNzM0NjhBIiwiMHg1ZDQ2ODI4Q0NEMTNGMWFFNmE1MEQzMThlNzMzZjJFMWJERDI1MjZGIiwiMHg1ODc3MDVBMzMxNDc2ZGNEOWZGMTRkODRlMzJFRTFFQTY5RjkzMzlCIiwiMHg3MWZkOWU2MzY1QzJCRjU2QWU3OTM4QjBmOTczYTQzN2ZiRkQxMTJEIiwiMHgzQjQ0N2MxQWE0YTA2M2NiNzlmMEI5ODgxRDBhZDRGNGQ5QTczMDNkIiwiMHhiZDk5YkQyMGQ0OEJkQTJkQjk5NzU2OEVFNTk3MThDYmI3ZDA2NmY2IiwiMHhiZjk2QzM4MDZCNjU0YzM4NGEzMGQzOTZiRjc0Mjc5RTdCMTRCOEE5IiwiMHhDNDY2NDA3QThCOTU0QzY4NjM2N2I5RThmMDkzZDJhMkJhYUUzQjJmIiwiMHg2MTFBQ2JDOGFkMmI5MzIzRDM5ODlDNTRjRjU1ZUI4MERiMjY3NUEzIiwiMHg1MUZCNjlFNjg3ZDYzYzI0MmMwM0U5NEY1RDc3MDE0MmNCMzA0QzhBIiwiMHhDZmQ1QTMxMDU5MjM0N2Y4ODM4MENEZmE0QmNiQTlFMzVDMTAzODhCIiwiMHgxMjk5YmJGOUI2MEZmNWQwZThmOUYzYzREMzlmNjA5RmY4NjczNmZCIiwiMHgzZDVBMDk0MmIxQzUxNDA3YTUxNEM4NTM0MTlEZTQxNjNiMmVFNDFmIiwiMHg1MUZEYjFiMjlhMTA0QTU3Y2RlOUM4M2MyMUI3M2Y1ODMxYjRCZTEzIiwiMHg5MzkxMWRmZUNmMmY3ZmQ2OUUxYTNFQzVlZjNjMjJFOUEyNzVFNzAyIiwiMHg4MDhmYzI0M2YxMDcyRjg0MTUzMzk3M0Q4ZjFjMzhiMjJhMjUyNDYzIiwiMHgxMUNiOUUwMjhCODJlZWU3NTQ0M2ZEYzI3OTI5YjlDNDk3MzZDNTUyIiwiMHg0ZjI0MTY1NTMyOThDMEE5NWM0OTY1ZDgwNjU1NkNhMjgwMjRCQTMwIiwiMHhEZERlYjg0Yzc4NWU0N2Q2YWQzN0RlRGU4MkIzNmQwRThiOTY4NmU1IiwiMHhhRTJmQzM5NDMxYzA3OGU1Y2NEMThjNENFM2U3NDVhNmY4OTExRTg3IiwiMHg2NTZDNzU3RWE1ZUQwRjYxQmYxMjNmOTQxMWE0OGFlNjYzOUY1OEQ1IiwiMHhCNjE5RjE5OUNiNTVmZUJkNzBFOTAwM0I1QTdFREZiMTI3RjU1NDgwIiwiMHhhRjljOUQ4Y2I5NUJEOWZENkI4NmRjODhCM0YwMGY2MDNENjQwN2JCIiwiMHg1OEMzZTliQWUzZTc0ZjM4OWU4N2E0N2ExN0QwRDY2RTg2NzAzQkJjIiwiMHhGNTAwRDVEQUE5MmQ2OGU2M2ZDYjQ4NTM3ZWVhZkUwNjNmMmIzNWQyIiwiMHg5MzFiRTkwMDFhOTY2NjAwQTg3RDFhNUIxZDYxMjQzRDVGMjU1RUI4IiwiMHg5QTNkMTVBNThCOWRkRDcwMTJhNEQ5RjdDM0VGNzkxYzc1NDliY2JlIiwiMHg4NTIxRmJGZGRmZmY2MTNCM2IyNTY0YUQ2ZTMxNkRjNzFGMmI1MDZGIiwiMHg1QkE3NEJiMzA2M0ZjNzVlMWE0MDFhQjVCNDc2MDFCMzM5QzJEZDhDIiwiMHg3YzIxOTFGZkYwMkQzYTJjYWYzMmM1OTNDQTEzMmU1MDY1NTQ0OTA0IiwiMHhjYzJmRjJCYUI2Y2RDZEQxYzZEMzUxNjU3YzE2ZjdEOUNCQjM1NzgxIiwiMHg1Y0QwRGJBMjM2NWMzNTYyMEQ2Q2I5MzgzODVhMDI5MTk5YTlBMjkzIiwiMHhGRmZiQWUzYkIyMzc0NTU1QURkMjNjMzUxZmU0MjVhNEY2NTM1NmUzIiwiMHgwZjVDMDBmQkQ0MTE1ZDYzODNBQTE4M0NjNjQ5ZTkwMDFCNkRiZjI1IiwiMHg2RjE3Q0U5ZmQ4NWUwRjgwODEzMzkyYjYwZGQxQzZiNkJmMTgwMWY1IiwiMHhjNThDZDFhZjlFMzFCOTJiNWU5QkQzZjk2MGNDN0M2ZDRiQzUxMDFjIiwiMHgwNjc2NjIwNkREQTVBN0E5MWY1MjQ1NzU2OGU0NDcxOUUyMGQ0NUQyIiwiMHg5M0M4ZmNEMTlhNDE3N2FFOGVBQjk5RDRjMDIyM0JCNzE4QTYxNDA2IiwiMHhGNmZBNzI3Yzk1MEY3OTgwMzVBMzQyQjBjOEU2ZTMxZGQ1OEIxQUI2IiwiMHhiOTNjYzQ5QjREMmU4ZDFlMUY1OTdERDlDZjM5OTBDOGYzQjhGYUE0IiwiMHg3RGRmOTkyQTk1NTBCRjgyRWM1NTIzYzMwNzc0QjcwYjZhNjc3YUIxIiwiMHg1OEI1MDNBQzYxMDc0MzM4Q2ZlYWNiRGMwMTYyRTFEOTVjODVCNzdFIiwiMHg2ZWFFRURENDhDMmRmZTE1MjFCRDRmOTk1YkJFODYyYUFFYzY0NjYwIiwiMHg2NzIwNDkzMmFBNTQ1NGMzRTFFOGJDRjM1YzM3REM1MmUxMEUyNThEIiwiMHg1QkM0OEZCMTIzOWRCODM0QjA5NjlhZmFCOWI0NzE1ZUQzN2I0MDM0IiwiMHhDMEQ4MmE4OEQzRkY1ODNmZTBCQzc3NDkzOWMxODJhRjc4Y0Q2MjQ4IiwiMHhhNzc1MGVmZEUxNjZmMzJlNjc0NEQ2QzgxYThGNjhlZTg1MDdkNjU3IiwiMHg4QkNENjY0MTlmMDg0MTQzNGI3NkU2Mzc0MTAzMGQyQTIzMTRFMDFmIiwiMHhkODAzNTMxZDU1YzBDNWY1MjVkRjQ1MTBiMzYxMmQ5MTdCNDFmM0VFIiwiMHhEYzIzOTBlMTNCODU1MzE1NTZjZmFiOTMxMTIzOTM2NDFhQWE3OTA2IiwiMHhGRWU3MDVGQ0U5ZjUxMTBGNDViODZBNzY5Y2JBZjY2QzQ1MUYwOGEyIiwiMHhjN2JDMThDMzEyNEFmYzZjNmM5MzEyMTc5MWQzMGE0REU2QThDOTJjIiwiMHg5MzQxMDM2YzZkNTkwZEJDMjRCNGE0YkVBNWU4YzA4NEY2NTUxQTIxIiwiMHhDMkQ4RkQ3MTdlQTIxRkIzMTczN2UyRUY2NDU3ZGIzN2JlMkZmMmUxIiwiMHg0NEM5ZTQ5MWNBOEE3ODk4NWFlQ0UwYkQ1YTcxMDhDOGYzMjczMDdkIiwiMHhkMjUxODFGN0ViMDhiODI1MUZkZDc1Q2Y2RUM2YTVhOEIxNDQ1N0E4IiwiMHg2YzIzOTUxODQ5NUY5MjM2M0FkMzQxQjIyOTA5ODRFREE3NjIzZDFlIiwiMHgxZjZGODgxOUQ1MDU2QzNBNTJkNzVDMUYzYjlmOGZFNmMwZUNkOUE1IiwiMHgzYjc5ZUQ4MjA5MUVmQzlhZTE2RjZiYkFEMkE4M0Q5MTRBNEYzMzQ2IiwiMHhBQTE5ZDM3Yzc4NTU3YTI3MEYwY0QzMDgxMzFFMTA3YjgxOTA5OTQxIiwiMHhCNUFDNjUwYWU1Yzg0OTA2YTREN2Y1M0ExMmNEMUMwRTBmNjcwOTRCIiwiMHg5RWQyNzc0RjllYjhDNUMwNGQ3MmI2NDgyMmE2M2JlMTIyNDdiMzE0IiwiMHgyMzU2MkFiYjc1ZkYyMTk3OGJBMGY0OUM4QWZCY0IzQUE4ZDA5RjFhIiwiMHg0Njk0ODVjQTE0NUQ4NTBjMGU1NDM2NzA3NjU1OGRDNzJiNURDZTE5IiwiMHg5RjlCODE2Mzc3OGFiZmIyYzQ0QjhhNzM4YWM1ODY0RUNiZDU1Y0FjIiwiMHg3OTc3NzQ3MjA0OTMyMmVDQTIzOUVGZjI1NTZhNDI2NDg5MzZEOEFGIiwiMHg0Q0MxZTFiNTdGODEyOUJjZTZCRDIzNEUwZTVjQ0VlZjZmOTFhNTg3IiwiMHgxYUI1OERhMzU3MjAxNkE2NmJmOGZkY0Y3NjU3ZmJhMDkxMDgwZEZmIiwiMHgzYkU4MjM4QjM5NWY3MzI3OGZCOUQ1NWMxZjM2OTU1MUMxNjEwZjBCIiwiMHhkMDlmYUJlQWY4NTYzRDYzNEQ1YjljQTNGYTZDZTY5YjBlNDM5NTcwIiwiMHg0YzIzZThCMmY0MTU3MEM5Yzk0Y0Y3MEE0QzM1OGU3NzlmRTgxMjhEIiwiMHhhMEYxOThmYzEyOEI4M2M1ZjcxQ0M2MUQxMDVhZGY2QzdkNkZEODhmIiwiMHhiQjIyZkRhZTIxZDlkQjQ3MzZEYkUxYTc4ZkVBYzliMTE1NjFiMUNkIiwiMHgwQUEwY2FFMGM2ZDNkNTA2MUZmOTE4MkI4OEY2MzdiNERkMmEzZmNBIiwiMHgwODhlNDZDYTIyQzNGNTQ2YzI5NUI4MUU2ZjkzNzE5MTE5MmE1OGE4IiwiMHhFZDUwODU4NWYwQmI1MDdjMjg4Mjc4YjY5ZDkyZkUxYzg4ODFhOGU5IiwiMHhhMENGNjIzZUE0YjhBNURhZkYwQUVhZDczNGNhODBlZjJCRmU4N2NlIiwiMHg1Njc3NDdlZjJEMmIyM0ZhNjUxMTc4Rjc1NDA2OTExMUQzQjkxRmQyIiwiMHg2ZmJEQzcyNGRhNmM4Y2ZGMmI2MUY3OGI4ZTVjRUQwMzlmNUQxQzEwIiwiMHg5ODE1M0U4MjA2MzgyYUIxQUQzMDlDYzIyZWM2YzkyNWUyQkZDYzc3IiwiMHhkMWEyMzFEQTVEOUEzNWU0YjhENEFlZjE1N2ZlQWU2NTIwNTUwNjNDIiwiMHgyYmU2Q0MxQTg3NjBFN0QyNjYzNTE4YjA1YjRCNUE4ODJmMUY3RjAwIiwiMHg1NTIwNDIyYURDMDMwNzZlOTMwMDMwNjU1OTgwNDRhMmI3MUM3RDQ4IiwiMHgwNEYyZTNBYTJGODg3M2JENTMzMzQ5NTRENUZkNGRkRkMwOTA4ZDUzIiwiMHgyNDU4QzgwRTJiRWE5ODY4NUI0MkJhQWQ4MTExMzNkYmE2YjI2MDMwIiwiMHgzZWI5ODMzQkJFQTk5NDI4N0EyMjI3RTNmRUJhMEQzRGM1RDk5RjA1IiwiMHhDYUY5OEZFYzBGMmM1OTc3OEJENjk0MzdmNzdFOUE3REYzMjlBY2FlIiwiMHg5OTY2MEY0ZkNhYkUxZWJiMDQzNGQ5NjJGQzNiYTc5OTUzQ2I0OEJFIiwiMHhiNkZGOGI4MmRiY0Q1NzViNzBGNzMzMTY5RjM3QUI3MEFGZTY3YTNmIiwiMHhkRTlBMzNmMGM1NUU4MjU4ZjE3RjczZDVhMGUwY0Y4RTQ2OTY5OGY1IiwiMHhhRjJlNTM0MGYzZTczNzZlMzNGNDlkOTAzQjk4QmQ5MzA1NjA2NkFBIiwiMHgzQjBEMDg4MTA5NjE0OUM1Q2FGRDdmYjYxMkU4QjEyMUU5ZTNkNTUxIiwiMHhGMGMxNEE4OWI3YTM3RTA2ZWQxRjc2N2Y1M2YxMEI1ODY5YTVmNDg5IiwiMHgxNGRCMzVGMDBDOTI4QzE2OTE3RWJlYmQxRGRGQjcyMzVBN0EyOTBjIiwiMHg1ODM3NWI3QkU3QzlhNzk2MDU0OUY5NzFhMDVjNDExRDk1QzUwNUJjIiwiMHhjZTU5YWI1NjRlMkE1RTQxMkI3NjU1MWU0NGMzODBFNzgxRGEzNTZEIiwiMHg2NDZjZDA1NTQ3MTlCNDQwYzI1QUMwOTYyMzZFOWE2OWFGNmIwOWExIiwiMHgwMDViY2QwMzNGMDgzMzNEMTFmNUNlNkY2RUUyMTFjZGM1ZDU4MzMyIiwiMHhDOWJjMWY5NjU2MDVjQjVEMzg5QjdkMTdjMDBDOGVBRmU1YzRERDFjIiwiMHhCNDM1OUIzMzcwRkVFODJiNGQ1ODNGN2NDZDgzMDU4MWU2Njg5ODQ2IiwiMHg4OEI4NTIzNTRlRkE5RDlGQjQ3QzE0RDZGOTlEZDMwM0IzNTlkODUwIiwiMHhmNGQxMzM1RmI5NDBEMzZCNWI5NGY0YUU3Njc3MGYzZGM4ZTA5ZEZkIiwiMHg3NEVlN2FFNEUyMEIyOTcyRWQ5YmJmNjJiQUM2MmUyZDI2M2UzOEJjIiwiMHhENTFjN0M2MzE0MTRhQkMxOTFkNTVkNTM1ZkE4MzQ4ODAxNzExNzNmIiwiMHhhODYwZmRCZEZCQkIyNTI0ZUVEOTQwNjIwOTZEMWU3QTlmNkIzNENCIiwiMHgyNzZDZDI3NTFDMDU4RUZhNzc0MjJBQmZCNzNjNWU5N0E4RDk3ZDMxIiwiMHhmYjg5OTUwZDljODNCYjM2MTNDNzdmMDFmREIxNzZlYzRDNEU3RTI3IiwiMHg4NWNmNUU0ZTY0RDcyMmY0RDEyMDJhNDdFRTUwN2M4YzRmMDM5NGFBIiwiMHhjQzc2REZhRTUwMDQyMkQzMEMyQzc3YkUyYTg3NjREY0ZGMzczNUJhIiwiMHg0RTA5RUFCYjQ0ODUyNUE3N0E3QTc3MjdFMDQ5REZFNDI4MDEyYzFhIiwiMHg2MTg0ZUE0NUJiNDczZGVlOENlNzc1RmY5NzBkMDUzNTBhNTA0QjVlIiwiMHgxMUEzZTcyRTQ5RDE4RkE4OEVkZjEwODIxYzg3ZTQ1ODA1YWVDODc0IiwiMHhmNjRDQzZlNWFlM2UyNzc1OTg4OWRlQ2RGNjgyN0UwRENDYzkwQkUxIiwiMHhhNThkMDhENjRiN2YzMkE0YkI1MDczNjZjN0NmMjlEZDc2MjNiREViIiwiMHhiMjUwNEFkQmE2MmVENzM5Yzc3MjM1MzM4MTk3NjAzMjFGNDZFYjRhIiwiMHhiOEU1OTZENUY1NEFBNjRhOTU1NjE0MjE5RjAzNDg2RTMyOEEzMzM5IiwiMHhEMDkxNDUzYjRiM0FiRDExMTBjQ2ZjZjkwNjI1OGUxYjUzZGI4RDZjIiwiMHgxNkRjM0Q1ZmI1NjkyMzRBMmUxRTEwZUY0QTU2NzNkNjc4ODA4QWFDIiwiMHg2RUExRDgxMkNlNmI5NzY1RTlEMDExOGMyMTE5ZkVhZThGMTJiNzdGIiwiMHhlNDNjNzdiMDliREM3YTFGRDlGODk0NDVERTBGMTg5OGQ1QjVkMjA5IiwiMHg0M0NDNDQwN0M3NWQzY0JDRUE5NzFBOGVlOUFjZTcyZEU2QTk0OGU4IiwiMHgxNjMzNDVlMkE5ZUVDMTk4MWQ3YTYzM2ZBZGQ5YTJFYTlBNzZFODIxIiwiMHhFQzZBRDYyMjU0OUY0NDgwYTNCN2NlOTdDZDc0QzZlN2M2MjU5MUY3IiwiMHhmNzQwMERFRTNjZGNhZjQ4NWJDODU3MDhkRTQ4MzYwZjBENjIwMjQzIiwiMHgzYzJGN0IyZGFFM0FGRGUxY2M0RDgxN0QzNEJjMzcyOGEwMzdjMkZhIiwiMHgzNTRlOWUxMWYxMmQyNDBEMDU2Q2ViMjNBZjZjRjUyODQ2YjEwOTczIiwiMHhGNzFFRGI2MTkyNGVCZjBjYjVDNzg1NWQzNzc4NzY0MTlENTBmYUEzIiwiMHgzMTRCMTRGRTZjQjRFYjQ1MGQwYUM3MjJmNzAyODRERjNDMUQ1MTZiIiwiMHg3MkEwOEY5ODFiMjYzYjEzZTAwRDU5NTQxY0U0ODI1QUI2ZDlCMWNhIiwiMHg0QmM1ZkYzNzlCODMwOTA4NDM5MWNiMGU1NjJEZjVDYTQ4ODkzNjlFIiwiMHhDOTJBMDNFMWRlMTgyMmQzNjM1Y2JENDBiMGQ1OGI1NDdmMkUzOEFGIiwiMHgxNmJiYjNENTEzMTI4OTRlRmIyOTk0NzNFZjk1MjhkMzIyODEwRTIxIiwiMHg0NUM4MTAyRmM2Q2U5YjFjODE5NERjMmYzOTMyQTM4MTM2NzZGMzMwIiwiMHhmNTRkZTk4OGZCMTQxZTdlQkNiQTY3ZjNiOGU1OEYyZjM5NzI4QzNkIiwiMHg4RThiYjVmMEE2RTVCNjEyRmQyQ0I2RjU1MzIzNDA4RDgwZGZDOTg1IiwiMHhCMjI3Y2ExZEIyM0JiMDQ4MkY5QmU5QWFCMzc5ZEVjZTI3MjhBMGU0IiwiMHg5QkQ0ZDNjQzMwN0FDNGE3MkNBODgwNTAyOGMwMjg5RDliRDI5QkFGIiwiMHhCOTNEZDI0ZjU2MjNFMjBiMTdFQmUzNTQwNTM3QWYzNzg3RjdBQkUxIiwiMHhkRTA3Q0ZjQTc5NEM2MDgwYWY5YUI1Q0I3OTRCQTk4MzlBMzQ0MWQyIiwiMHg2NzgzNWE4MTMyQzliNDU3Q2JmNzBBOWMzMWNmMDJERjY3QWE4MEI1IiwiMHhGYTRlYTJhQzg3NzlCY2Q1NGU4Q0I5MDk4NUEzN2QwRmQwODc0MTdmIiwiMHg5MDIyN2Y3M2RFQzY3ZEQ0RDIyYTdBN2I3OTIwODlDMGU2ZDE3RGI0IiwiMHg1RENGYkIzMzQwZjg1MjkyMzE1MzJkOGVDMkZiMEEyMGMxMkI1ZkM0IiwiMHg1MzdCNTdGM0YzNjA1OEQ0NjRlMjJEMGIwNTMyQkFiNmNDRGU2MGE4IiwiMHg0ZEE3MEFEMzY5MTc4ODg4OTVlZDEzMTAwQTE4QzcxMDUzZEQxMzYwIiwiMHg3MkU4RkVBREQ1N0Q3NDM5NDg5QUFkOWRhYkUwN2Y1MTA0MjU5NzNCIiwiMHg5MTJFNjMwNWQ2RDQ1YTA3NGNBZTY4OEU1ZDk5NWE0RjE2RjZjMzU2IiwiMHg2QTUyNTMxNzFBNjU3Q0Y2ZmQzMTJhMjNkZmE3YzMzMjc2Qzk2QzM1IiwiMHgxYzNiNDA3MEIxNjRDMzI2OTY4QjQ2MjM0ODU2MTlhMUNGOWUwNTY5IiwiMHhkYzM1MzJlRTE4ODA3YWQ0ZDM1Mzk2NzFiNmFhNzUyNDQ0QzBBNDRhIiwiMHhlRWM0MEQ5MmQxMzVBNjczOTYwOTliRTdmNDcyNDE1NGI0Rjk2NmNiIiwiMHg2NzlDRmI2ZGJlNjdkMTE1NUE5MEM0MTAwNzhDNjFhNDFBQmY0MDgwIiwiMHg4MGEzNjA3MEMyMzY4YzQ2QzYxOWMwYUExMTc0OTIxYjFjMjExRUM3IiwiMHg3NDZiQ2IxMTk0NjRmNkUzNzI0MTE3ZDUxZTIyODVjYTFlMUQ5ZDdBIiwiMHhhN0IxMzVEMDcwMGMyMTA0NDk5NjU5ZjdmOUExNjY0NTNBMEI1Zjc0IiwiMHhCMzUyRjEwRkZDRmFkOEFCQ0E2RUNlYUY4ZWE2MkM3NmFkQ0M5QjgyIiwiMHhiQURFODZlZTNmMjVGNWMwRGQ1MDMxNjE2QTdmYjIzOWJhNEZhNjYzIiwiMHgxMkNBY0IzNDg5M2FDZEQyMTE0YzQ0MDc3NzI4ZWNCMDBkMjZlNTdGIiwiMHhkQ2EyZTNEZTM2ZjY4ZTcxNkY5MzdkOTkxREVENDUyYTk0RjE3NUY0IiwiMHg3YzQxMDIxNDVFMEM2NmM1NjI0MUEzRmY0MGJiQzVFRGM1RGE1ZWZDIiwiMHg5MmU4Zjc2NjBiNUFCMERGMUNBQjVhQjQzRkRBOWI4YkYxMzhmM0I4IiwiMHgyYzY4Y2Q4NzU2NjNBQWZkMGY2NEIwOGM0ODQwMDA3NTQxODQ3MTQwIiwiMHhjNUY4Q0FDODZlNjE0NGMyRENDMDFCRmRFMkZmMWRhQTE1ZjAyNTRDIiwiMHg3NmIzZDEyM2UyM0IxOEMwYzIzNjk0MEFkRTYxNTI3ZUY3YjEwMTJEIiwiMHhlQjZCZGVhRTZDNTUwMjQzZjFmMjE2NTg5MjdkNjg4ODNBMzNjQTgwIiwiMHhBOUJFZEQ3MzZEQWRjQzEzOEJDOGU3NjJENmZGQjcyYTdGNWQ5NDAwIiwiMHgxZjRlNjQ1MzQ5M0M4YmQ5QjVDM0E0MEMwNWJjOUE1NGY0Q0VCNUYzIiwiMHg1ZTUyZTI3NDYzMTAxMERBQ2IxRkQ0RDU3QTNENmYwQjVmMTNCMjA4IiwiMHhhYzdiZjQ0ODJGMmU5YWJhNjg3NTMzNzI2ODdDYkJmQjBlM0QzNWFjIiwiMHhCRkJCZGFGYjQ2YzY3MjIyQjBjOTA0QTRCN2NEOEU1RTk0MGM1OTVlIiwiMHgyMUVEYURiOUVkQzgzMkI2ODkyODMwMDVCY2FhM0I1MjJGYjM1MWJlIiwiMHhiMWIzMGQ4ZEIzODM5OWU4MTQxOUUyMjEwYWU4MEM4MDM2OGFiMTAzIiwiMHhjNzc3QkRiNGYzNTYzYzY2QTFEOUMwMTk2Q2JiYzk4NDc0MDUwNjQ4IiwiMHhkMWIzMEYxMDQxMDAzMEYyMkI0NTVFZjAxMzA3YzVDNUMyNjQ2RmRFIiwiMHhhZDIxYTAwRTMyRWIxNkUwYTREZDgxMTU0ZDY4NWNhMzkxQTRjMUMxIiwiMHhFM0E1NGYzNzdhQ2U2ZDkwYkJmMTQ1NzNhMDAyNUYxNTMxYTllYTA3IiwiMHgzN0E3MTY1ODlhOTM2NGYxMjMxMDcxZjBhMEJmZERjNTVhQUJFZjRGIiwiMHhFZEIxNUQ4RTU5NzQ0QmI1MDFhMjE3OGZlQzcxZEI5Yzk1NTEzQ0JCIiwiMHhFYTcyNTRCRGEwZDQ1MzVmMTJBMGRiMDE2MTRCMjMzRjk1QTlGRjI1IiwiMHg0MTgxYmE2QUM5QUM1QUUyMUFFQzYxNmQzMDAyOUMzYjM2MjJkMDUxIiwiMHg3RUExRjc3NzhkOUU1Mzc5MjNDMDc3QWY1RGU5OTVBRmM4NUEzYzhFIiwiMHgxMDNjZDFGOTBDOTE4ZUFkOThjODg2YmI5ZjE5QkQzQTE1ODA1MTlmIiwiMHhjMjMxRjQ0ZTQ5OTllYTc0NDdhNTRlMjQwMTRkYWQ2OTEwMDFhYjM5IiwiMHhhQjZhMjVDRTRENkNlZUY5YTI3RmIxY2I2MTllOTczMDdiNjM2NkMwIiwiMHhGODI0ZTJGMUZCZDBkMTdkQURENDdiOTNEMDQ4YTJEQkFEQUExQWJjIiwiMHhCNzRDYmY5ZWM0QzJkNTEzRENGZEY5ODlGYzAwMjVGQWU4QzhEM2M5IiwiMHgyYzg1YWQ3OEY5NDc1MzNkNzFDYzk2Nzk0N0JhNjFBMDRiNjc3NEYzIiwiMHg0MkUzMmQzQjE0MWU2ZjZiYjExRWJiNjg3MjNBODg1QUIxQzY3ZjAxIiwiMHhGMDM4RjdhNzk3MTJkRjYxMTQzNjU0NzA1ZjlERDlGYUIwMzc0NDJEIiwiMHhlQTQ4MzMxMmQwOEZEZEEyN2U4Qjc2RTI5MUQxZjREOTIzZDA2NkY3IiwiMHgwMDJFNWFhMjM3NTFlQ2E4NkVDMWNlNTE2YzZhQzY3OTgzNDY0MTI1IiwiMHg5MWVjMTY0YzY2NjU1NWE2QThjREQxNmY4QjljNDU5ZjAwZDRFOGMwIiwiMHgyNkFhZjM1NTNBNzQ2NTNDREFhMzQ0N0YxOTJFNTRhNkZDYTI5M0U4IiwiMHgxZWU3MTY3OTIwNzhhZjdDRjdlNjk0NWU4NUYzZmI0RjUwYmExYWE3IiwiMHg0NDgzQUU3ZTkxQjU0NDhmNWQ4MWUwMUMwNkQwNGM5YjczZmU0OWFGIiwiMHg5YkY1QWZDNjk4NmFDNDY2MDUyOTg3M0NlODNkNkI1YzIyODk3NzYyIiwiMHhiMGJhRGM2MDY0QTYzQjAxOWZDMjkzODM2MGY1NGNjNkI0RWI2NmY3IiwiMHg0N2RGRDY0ODA0M2ExMTNBNDIyMzBmMzI2MThFZkE1NTRiQjJhNUYyIiwiMHhGYWIyRTY1ODU2M0Y2NGQ2OTFBZTY5YjUzMkJjRjU2MjNFQTdFNDBCIiwiMHg4M0M3QjU0RjkxOUZiN0JBNWYyNDY0NjkyMmU4NEJDRmQ3MUUzRUY0IiwiMHhGMUU3NjViMTFjNEVmNTdDZDNENTU4NDE4QTc5MzNiNjczYTg1MzZDIiwiMHhBZTk1QUViZjY1NWU5QjQwYzdlMEQyNjIxOThCOTcwY2QyNWYyOEFmIiwiMHgwNThDRTQ5RGEyNTZhNzhCNDdDMDU1YkUxZmQ5YjQwOWUyMTMxMWYxIiwiMHg5MDhBMkM2ZTg0QTc4ZDc0ODQ4MUMxNWREM2VCRTMyOTM2MDFhMzE1IiwiMHhEODIxODNjNEUxMzI2ODZCYzQ2MEI5RDY3Y2UyMDE3N2ZlZjRGQUEyIiwiMHgyMDBjNTE5OWYxYTg4RkNDMWM0MzkwNTk1Qzc5MTY3ZTAwNGFDM0Q4IiwiMHhkM2RmNGY1NjEwMTlFOEQ5QTk1MjJEQjRFNkMyOUIwM2UzRjE5NzlFIiwiMHhBNEU0ZGYzNTUyMzY5RDQ2MDM0QTA2NjhiODhEZDVhQmYzNzI1NTg5IiwiMHg5ODBCOTJGRDA1NTA0QmUzNjEzYzg1RDc1QzBjMjI4Njc3RGU2YzEyIiwiMHgxMDYzODk0QjE0NzQwZTgzMDAyYjk1RjYzMjg5RGU0MjFFNzBkMjNEIiwiMHhGMjYzQmU1QUE1NjI2NTAyOWZCOUMyMDE2RjE3RGY0NTQ5OTVjZjFmIiwiMHhlMjIwNDFEYzUyNzQxZjI2NjAyNUYzQmQyNjFGNkIyMDIzNEI2ODI1IiwiMHhGYTQyZTBjQjlCNjJGRGEzZjVmRkFjNDAyQjgzMmUyNjNEYWU5OGY0IiwiMHg2M0Q2QWNGRmIwRjc0N2M2MDFlRDZFMGI1OEMxYzJjZTBDRTcyRDYwIiwiMHgxMjlhNkNlREYyMTM0OTYzYjkzMjY4ODU4YzRCOUEwYzY3RTE5M2NFIiwiMHg2NjAxZEI3QkY4OWU2NTc5NTYxNzY2MkM3MkNDYTMwYjQyNjE3OTk5IiwiMHg5ZDU1YmI5YTk5MjFmQmMwOTdiQjczYTNEZmFFZDgxZDQ0NTM1RjNlIiwiMHhFNjYyRUE5NDNEMWJmNTg0MDk3MzgxMzkyOENGRjM0NjE4NDQ2MTI3IiwiMHg2N2I1ZWQ1NmIyMTE0REQ1QjAwRUMxRWI4ZmU1MUQyMkNmOTkyRDE3IiwiMHgzOEQ3QUExMUQ3RTNERDdFM2YwMkVhQUQ2RkU5OEU5NEU0QTI4MDY5IiwiMHhkZjFhQzVFNDlEREY4MkMxM0VFYUY4MEE2MzJiMUZiNWZmQWM1REEyIiwiMHg4MjAwMjk3Njg5OWYzQjEzNWRDMDFjMzU2ZDJBOUYxOTJkQUEyZjZlIiwiMHgzMzE5YTY0ODJkYjE4MTRkMDkxZTIwYWZmRmMyNDUwZDk0MTgwNTcwIiwiMHgwQzFBOEExNzE3NDc0ODU4QUE5MDVENjc2RDA4OTQ2M2QyNkFDYjAwIiwiMHhjRkNGQmJBOUI0QjJENmEyOEIzZjdEODcxZmYxOEQyOTkwNDMyRGM5IiwiMHhCQTg4NjhEMUU0NzBGMWExNzFCQkYzNWJkNTJjM2UwNjMwMkNiM2ZEIiwiMHg0NjA3NDk2ZGFjMzM5QzA3MWM3N0VkOGVhOTJlODk5MzhCMjliNThDIiwiMHgyOTNjMzQyMDEyMWJDMTNlYWJBNjdiQThkYmViNjMwZjE2OTEyNDBGIiwiMHhkQkY5NkRjNGRkZDBmM2Q1OGZFNmEzZmIxOUVFZjExQTNkYTIxRkQ5IiwiMHhDMDIxNDEyNDExYmEwRWMxNTU0YjRCNkM5OEExMkY1RTVlOTM0NWEwIiwiMHg5QjM0ZTRGNDAyMjc5ZkQ1QzFlNDI4NzM1MzQwMDU1RjQ1MWU4MTBDIiwiMHg0ZjQ4MThhYzhmQmVDZkNjRDBCMzI4OTBiRTg1MmQ2NjdEYTcyNWQwIiwiMHhDODAyNmZBRmU5MmIxMTM1NDc0Y0ZDZTFlZkY2M0Q2OTM2MWEyQTc0IiwiMHg3ODAyMDUyOGVCMDdCNWMwN0FCMjA3QTE2MTYxZjdkMGMzOUM1OTc2IiwiMHgyZDNBYzlkNzhEODhlOTE2OUExZGM4NDc2RWJDOGQxNWI5ZjQ2YzcxIiwiMHg5NUEyN0NFRjFhMjQzY0ZGOWU3MWJCRDRjZDEyZUJhNzBEN0Q2MkEwIiwiMHg2ZTMwNjNhYmUwQkJFNWVBMDJCOTAxOTE4NkYwZUYxQzEwM0ZCRUY2IiwiMHg4QzA5RjI1MDhkOWU4MDI4MDE2NzExODMzNEFEQjcxRTU3RmY4QUI5IiwiMHhkNTI4QTk5RGNkRDcyMkNDQkNmQTQ5QkU0MjgwMjFiYzM5NkVlYkE2IiwiMHhmN2M0RTdGRTYyNTI3ZTMxMzk4RDQxQmQ1ZTlDMTJlRkQwNDEzMzM0IiwiMHg2ZTkzRjMwQzBGMzJDMzA5MDRCRUVBMzNCMzk5QzMzQjRlN2Y5YWM1IiwiMHgyRGFBMmMzNUEyNTJjMDcxOWE4MzJlMmRkOUVhZkU2ZkM0MTk2OGUxIiwiMHg2ZjQxMmI5MjQyNTUzQzFhNTc2YTZBZkU2QmNhNmY5YWQyQTk1YzUxIiwiMHhCYTUwMEQ3ZTEwZTkwQTk2MTg0OUI2MWVBMjIwRjVkRjUwN2YyNDg5IiwiMHg1OEM3MjQ4MTE3MzU5Y2M2RTNCQUNCMjJFMjA4RjQ5MDM2ZGVlMjQxIiwiMHgzYTJGNUU1YzZBRjEwRTlCNDg0YWQ3RTIxNjEwNjM2NzQ2MjIxMEEzIiwiMHhkYkM1N2JhMDY5YTUxRGFhZDczMzUxRWI0Mjc2MzkxOThENjY5MDcwIiwiMHhFMjYxNzVmNzA5RUJEM2NENDZEZWI0MzA1OUM1ZTM1MjY5ZGM3NzBiIiwiMHhjZDQzNTMwQjExNWI4MjQ5RTk2OUE1YmQyMUJFZTkzMDNkMWFGNEU5IiwiMHg5NzY5ODQzNjJGMDM5YjBiNTlhNGFEYzExNzcwMkQzZjQ3MTg5QzRFIiwiMHhFOTIyOUIwZEQzRDlmMWY0MDU5Qzc2MGU3MWY3MDIwMmFDMkUzREJBIiwiMHgzMzVBRUMzYmYyYkIzZDczYmVhNkE4MDkzRWYwQjU1YjU0YTM1MEI5IiwiMHhkNEQ4YzUwYTQ0QzY0OEVFNUIzMDY2NzVEMTY3RjcxRGQ5NjE0YjYwIiwiMHg3NDRFNjU1RjIwMThGZTNBNDVENzc0YjQ3NThDRWYxYTdDNDVmQjBiIiwiMHhDRDY0RDZFMjk4MzY5OWI1ODU3OTYxNjgxMjRDQjUyOGFENjVEQTUwIiwiMHg5YjYwMDY5NEY5ODg4ODZjOWY1ZjVFZDViYzIzNTk0ZGVDQTZDOGQzIiwiMHg3MDhGMmUxMzI1MEQyN2M5MDFjODk5NzAzOWJlMGIyOTBEZkE3MzBiIiwiMHhmM2RFNzc3MEM2ODc5ZThjQ2FiMTBCZGE5QmM2OUYwMzBGMUI5MENDIiwiMHg4QzQ2YmU3Mzk2MEM4MzEwQmYwOGVhRDJCNzhEMGJBNjg3MGI5NDE4IiwiMHg5NDJhNGI1RTQzMWY2ODkyRjcyMzAwNDJiOEM1OGZkQTBhQ0M2ODdDIiwiMHg3MzMyOTFlODVmNDBGNTZlNzZENTQzNERDMjYyNmU3OUM3RDM4QmM1IiwiMHhhMDQyOTc4ZWMxZjcxMDU1M0QyYTNEQjQwODNGOTg3MmM2YmM1YzExIiwiMHhDNzZkNDFDZjQ1NDNEZjgzNGE4NjU0RDZBNGI5MzNCMzRhMDAyOGYyIiwiMHhiRjc1MTdBNUEyQ0UxNzkyQjMyMUE2MGQ0RDNFYzY0OTA1MzMyMmU4IiwiMHg4ODE3YUNCNDA0MEIwMzFBZjcyMzVmMkNCMjhFNEY4YzI0RUVGQmJiIiwiMHg0N2FGMjY5YzM1MjhFODRhZjBENzJDRjEwMzhjYkNkNzgzNDUzRDhBIiwiMHhiZkUzMjkzZTVhNDk0RDU5NGMzQTA2ZWQxMkIwNkE1YzA5M2YwODRFIiwiMHg1N2E2ZWU0NjcyNjUyRTREMzcxREY5NTk4NTA3QjgyMDEyNDkyQkNCIiwiMHhlYTVjYjZhNjA0OTBjZmM4MzA2NzBBRjlGMGM2QUIxRjE2M0MxOTBkIiwiMHgxQzA2NDBERDE0NzA4MTQ0MjdiOTAzNEI3MzZEZDNkODM4MDAwNEE1IiwiMHhDMmM2RjA5ODA5NjNBNTg2MzIzMWFiRGI2NzlBNTQzMWJjMTA0RTE5IiwiMHgwOTNGODczQUNjRkY0NkE2RWM1M2UwQjUxYkY5YzFENTNiMTAwRTVFIiwiMHhhMDk1N0UxOEQwNUY4NTNBNTUxOTBEMzVBOWY2MzAyOWVhNzg3NGM1IiwiMHgwMzJjMmU3OUM4MDczZTZiOUQwNTljOWNGYzNDMTVBNmFiM0MwNTEzIiwiMHhEODIxODA0YjI2OTVDMWE1NThCRjc2OUQ5MTI3QkQ3NTY3MzVEMzFhIiwiMHg4QzNBNDBCMTYzNTNCZDA0MTRhMDJDRGI3YzI4YWIxMjEyNzkzZjE1IiwiMHg4NjE2RTQzOTIzOUJmMEMxMTZGNDMwZjM5OTUwMmU3MDZkQzhCN2ZCIiwiMHg2QjUyMDJjREMyN2MzM2U5ZTI5MEE2NzNGZTBFNjc4NDkzYTlDYjkyIiwiMHhiOEMyRTFkYmRDNWYxOGRiZEVjMTBhQzgzOUQ0NzYxY0I1YjVGQTQ5IiwiMHhEZkIxNDQ2NTU2MDdGRmYxNjkxMDg5YTZjMjllRUYyNzY2ZjAyMmFEIiwiMHhlN2JkMkNjNUU1MDE2MDA1MDA1QWE3M0VENTQ1NWEwODE0NjdkRDU1IiwiMHgwN0U2NUE5Nzk0MTdCQkJEOWNCNGRhODg5OEUwNTgyMDlFYzkyQWZCIiwiMHhGODA2NDZEMTA0MmM0NzdEZDA0MjgwQmYxYjJkNDY4NkQ5N0JkMTMwIiwiMHhiRGY5QTk2RThkMTI1NzUwNjE2YzdEQzI5YmQ0NTA5MzFiMTY3ZTgxIiwiMHhjMUQ5NDFBMDcyOGNGMTA5NDQwQWM0NTFCN0UyMjc4MEE3QzU1NTg3IiwiMHg3ZDM2MmZiRmQyMjhhM2Q5NzFmNWQ1RERlQTE4MUNCZjQ3QTk2MjM3IiwiMHgxYWYzNGM2YmExNzFhNTUwMjY1MWNhMDUwNjZkMzM0NjA3QTZiNDg4IiwiMHhiNTc3MTE1NkUwZTNEQzE5M2EwMzMyYzMyRkRDMzY2OTJCYUY3RDlhIiwiMHg5ODc1NzY2MzBDOTU2NzI3QTc1NkU2QmVlM0MxMDVBMzM1NzliODVhIiwiMHg2YjdBREQ1MDBBRkE4QzY5OEU4MWMxMjc2NDA4MjczMWZjMThFODkxIiwiMHgzM0I5NzllMTUxNTA2NWM1Zjg3Q2Q4QzgwMmRGRUQ2YkM4ZWNDRTQ0IiwiMHg4OEJlMzA2ZWRGMjFDNTdBQzBmNTk0NTJiNEQzRDlBYjAxRWMwMkQzIiwiMHg5NTZBNjQzMUU2RWE3MjU3MjFmOGE1YTQ5NzUzYjgwYTRlZjc0NDg4IiwiMHhDMTIyQ2VEZkJiNTQ4M2QyYUVjM0FDNDY5RDcyRkViNWY2MUIzQzNDIiwiMHgzNTcxYUUyRDAxNTgzM2NhQTU3MUQ0MTY0OWI0Qjk5YjY3NTc4MWZEIiwiMHhjNzIxRTA4NkI5MWM1RDY2NEY1NTZiNWJiMTFjMTQzYTI5ZTFkMzQ5IiwiMHhjZTg3NGE1QjU0ZEQ1NTUzNkE2NTk3ODFjMjM0MjQyQmJmMWNjNTI5IiwiMHg3NjExYzVlRkU5MThFOEUyMTVCQzQxMjc4OGE3YkU5NGFkNjc5NWU1IiwiMHhEODAzNERCQzk5OWU5MThCMDFiODYyRTk5NjUwODFDMzcwNTQzMzE2IiwiMHgxMjljOWQzRGY0YmYxMzUzODBiMkMzQzdmZjBDQzIxNmUzQTJDODc1IiwiMHgxNDQwM2JCOTBjOTdFYTA0NDgyNTdkMGY0OEM5NDg4NUEwRGI2RGJmIiwiMHg5OTRkMjMwOTA4MDQxMjI0ZjhGOTIyMTFiRTcyN2RjNUI3Q2NmYkU4IiwiMHgxQzEzZjQ0QmZGYzg1OEFjOTliMDBhOWNCYkY1YzdDMTYyOTA3ODM1IiwiMHgzNDM2MGFENDdjQjAwMUYwQTMzMUU2RDMwNkZBNDM0MDFhNEM2NDg4IiwiMHgzMmMyYzY4MWNENDIwMUQ3M2UzMDUxMzkyMWNlRWYxMmI4N0ZGRTJkIiwiMHgzRkNBYjBhOTBkOEY1NDIzODlCOUM2ZDdkZGM3NjJFZWVBMzlCNDlBIiwiMHhCYUExM0NmOTdkMDRiMGI0N0IyOTc4OTg2ZWY2NzdDRUU0MUJENTcxIiwiMHhlMzZiNzlmQ2MwODE2MEU0ZmUxRDEzYTQ0RDY4MjdjQzFDQzg3NzIyIiwiMHgzQzJCNDI1MTEzZjlhNjczZjY4YmYzNkM2MkNmZWQ2MGU2M2FBMjY1IiwiMHgzREREZjdhQjQzNTJhRjgyMTIwNDcxOTVkMzRGOUYzNzg0NDI0OUQxIiwiMHg1NDZkQTliMDU2N0IyMTg0RWFmMzZiYjhDNkExOEE0NDgyOWY0MzFiIiwiMHgwNTY2RkU1QTc5MTE3M0I2NEMyRDNjNmQwRDM4MjMwMjRGQUI0QjI1IiwiMHhDOUJiYzNhMzJDNjVDRDkwNDViNTBlNTVFRURhN0FkOThGRTgxMTFBIiwiMHgxQzYzZEIyRDU4RGJGOEJBY0RGMDUwOGZEQzY2NTI4YzJCYTNBMUVFIiwiMHg2NDkyMkE1ODM0MDU4RjkzMTM2RWFjMkI4QTg0RDMxZTU0REI0MkNlIiwiMHhlRDEwRjQ1MWJiQTQ5Mjc4YzZDNDEyNWYzMmY0NGU3ZTMzYTI3M2E0IiwiMHg4Mjk2NDdBNjQ3ODgyMWUwNTBFNjlhZjcxQTY3OEU2Nzg2N0MwZjI5IiwiMHhmNmFFY2NENzUyZjAyMmU3MUExNGRhMGY2MjE2ODM3OGYzZTQ5QTEwIiwiMHgzMmQ0Rjg1M0Y2Rjk0ZTQ2N2RkNDE5YmEwMmZCQ2YxMjBFQjhlRDI3IiwiMHg1YmU2RDBBMTMwODljNjQ1YjVGOGU4NUI0MUI2MDkxNTlCQTgyQmU4IiwiMHg1MGE2MjNDODdmNTRENTJhNjE2MTAxREYyOTVGMTQ3YUNiRDk2MEU5IiwiMHgyQTZFYzEzQWU1MjUzOEYxQUVEMGFDY0JGMDZlQjg0NTI5MDA1MTcyIiwiMHg1MEMyRThiOEFmYTIwYWQyNzg3ODRENDgyM2I4NDhBZWJhMUI2NGEzIiwiMHg1ZjNiRkNkMTg4NTViZWQzODkxODJBNTQ4MWJkMDZjYzk3ZjExMUU4IiwiMHg2ZTQwZjUzM2E5MWFGMTJmMzg3NWIyRjM3OGM0MjkzQzk3MzQ4YThEIiwiMHg0OTU4NzFGMTgyNTE5MzQ3MUY2MTRGZGUxOWM4YzU4MGY1RTdBYzYzIiwiMHhmYzI5MDNmYTBlRTQwM2IwZTQ5Y0M3RkIwOTE5RjA0YzRBNDlFRTI4IiwiMHhhNEYxOWJmNzYwYWMzYTBDNDQzODAyZEEwOTk2RDVEYzEzZUY5YTUxIiwiMHg1MzgwMWRBMDQ5OEI4OTQwRjAwNzY0RjY5ODkzRTczMmUwMTU2N2E5IiwiMHgzNzgyNUU1QmJlMDFDNjkzNjk5MzQ5NjczMzZlREY0MUE1NTlGMUNlIiwiMHhERWZFY0QwODQ1OTAxQTExMDIxQmZkODllRmVEYzNiZDI2MkFlN2I3IiwiMHhlYTVDODM3YmM0QTdiMGZBOTFmZDk5QWI3MTM1Nzc2OGVlMzY2N2EwIiwiMHgxQjk1YzUyRWE4QzVCZURGODhFOTc1NjU3YUM5MTU3ODA3MjYyMDdEIiwiMHg5M2MyZTBiMDYwNmFGRDNmQzNhNTBmQzk4ODA2MGY5NjY4YTYyZDZGIiwiMHg4MzFCMUQ1MDE5N0ZCYzIyNEEwNzlFYzM0MDRBM0MxMjMxRjU5YWMzIiwiMHg4NDllZjc3OTc2MmZjNGVhYjBmM2ZCODM1NzM1N2Q1ZkI0RWZGQjZlIiwiMHg0MThiNDZEYzJFMzYyNjQyMTFmNjlCYjk4ZjlkNTFhNTFCYzgyNEI3IiwiMHg2NzVhODg1M0U1Yjg4MzI3NDNGNGJmMjgwMDY5NTI5RDJEMWNEN0M1IiwiMHhFNjQ0MzQ1NTIyOWE5OUYxOEJBQzU5Q2UxNGRCN2U2N0JDNkFkYUQ3IiwiMHgxOWQwZkRhOTUxNTM0ZDBiRTdGMzcxZTQwNjZFQ2RFY0Q1OTYwYjJFIiwiMHg1QzY4RjYzRjkxMWMxMGZFQWRDQzE2NTY0ODQyZTZEZTkwN0I3NGIzIiwiMHhiMjUxNDQ0OWNjQ2VkN2NFYWI4YmIzNTQ1YTgyZjM4ZkU0ODBlNUNEIiwiMHg3MkY4MkEyNTgyQjMzMzkzMDI3NzUyMzk5NjQ1MDdmNjRjYTA0MzRjIiwiMHg1QmI3RGFGNzczMEJlQzM0N0M4Mzc3ZTZEODc4NTBjYjNmODM2MjEzIiwiMHhmOGFEZDQyOEQ5NkY0NDZDNTdBRjk1M0YxODk1MzgzREI5NGZiQjU0IiwiMHhBNzdGZTBEOTc5NjUwNGY2NTIwNmE5QTIwOEE4ZjI5ZjdhODFEMUJFIiwiMHhBOTllNzBjMzMyZTA4M2UzQTJCNDE4YzU5YTliYjY5NDc5OGQyOTg3IiwiMHg3QTUwOEM0NkU5QThmNTlBRjk1Q2Q0ZDVkYTM1OGExNTIwMDNlNTQ5IiwiMHgxNjllMWE4YWI2REUzMmQyZDcwYUM4NUVFMjhGZjk3MkEzOTExNGRCIiwiMHg5MDM5OTE0OTQ4MjRlNUE1NjA3NmJCRDAzMjg1QjUzQzhkYTUwZDM2IiwiMHgxZGNGZjc3QjdhNGIxZmY0MzZhMzg4MUZBRTI1YTA5QjA5OTZjNDJCIiwiMHhCMDc4ODhFMjUwM2REQjRjOWFhNzRhNzY3NjM2OTFiMThEMWVBMjQwIiwiMHhGM0IwNTBhQWE3NmZmQmFhZDkxZkFGMDUwQjI3NDhBMzZFOTcwNzgxIiwiMHhhOTQ0ODUxMTU3RDA0MEQ2OGFiNDQ3ODAwQUJCNjI3Nzg2MjkwOGNDIiwiMHgxOWUyMDc1NkRFYTQ0MDBkMjZjNzAxMGRkYzVkNWY3NDViNjQ5MzM4IiwiMHg1RWVFMzE0YWM0MUMzYjBCZWUzNTU5NzdENTVhZGM5QmY5OGQyQzkwIiwiMHg0MjBlNEEzMmZCNTkxMDVFMTY3ZDg5YzM0MTA1NDVhNjA2OEIyNDE1IiwiMHgyMjM4N2MzRkY2NDRiNTU1ZTNlQUE5RTgzZjQ1ZGY3RkIwRERFOGZkIiwiMHhFNDNjZjE1MTUyOThFYTU5NzBiZDE0NkNkMzIzNDY2QjIwQTY2OWRjIiwiMHg4QTU0QTY0MTRjZERDNDJGMTI4MDA2NDYxN2RkMTA5QTIxN2QyNTRDIiwiMHg5MEMwYzUyN0QxNWZkZTA5N2JlYjVDNmNhQTA5NGQ2MTMwNzRhMTIxIiwiMHgxODJEMzI0OENEMjlCNDdjZUExYTRiMmY3ZTk3ODI3M2IzODkxQTI0IiwiMHgyM2Y1QjQxOUZCMTg2NDY3RWRlYTZlQzk2NjYwQjNCNkJkQzE3OTNGIiwiMHgxRkQwMzc2ODE2RWRERGIzQjY4MmVDZTc1OEI2YjFmRkFBMWQwM0MzIiwiMHg3QTg1NDA5RWE3Y0NDMjA4Nzk0ZDFlQUQzMzE0OTc3NzVDZjkyNzdmIiwiMHhlNzE0NTgyOTZjZTY2ZjdFOEM4REY2OTQ1NjliNTE5MDEzZjNCRDNjIiwiMHhmNTgxMmRkMTgxZjREYmU3ODk5MjUwZkM0MTA2OTAyYjNkMzI0YzVkIiwiMHhlOTNEMDNCYjZCNTUyRUVlNmZjMjcwNzZjYjM3MTUwQzkzM2UwNDM1IiwiMHg5REI1QTFkM2FCOUYxNTE1NUU1MDhFNDE1RTY0NzFBMjdmRThjRGQ3IiwiMHhjOWJjNEMzMWEzMTI3OTQyNjgyNkU1OGEwZjNDN2M2NDhBRjM1ODFmIiwiMHhFQjFmQzVBMjk1RDhGNTA4RjBmNmFkNDMyZmU0NTBCNDc0QmM5M2QyIiwiMHhENWRCRGI4OWZiZjAzMWI5QjQ4OUQ5OUMzZjNFMDU4OTcyQjhDNDQwIiwiMHhDOTlBNzdhMTYxQkNCNTc4ZGRmN0E4ODI4Y0UyM0M5NDVEMjY2MmYzIiwiMHg3YjY4YzI0ZDYzM0ZCOTIzMTc4QTgzMjZkNzgzODQ5QjY3Qzg5MTA5IiwiMHg4M0YzRTE5MTMxODNhRUY5NGU3NjAwOEFlQjgwNjQ3ODA5QjkzYjNFIiwiMHhCYjMyQTAzMERGREFlM2QxQkFFNzM0OEMyODk5NzI4MEE5ZjQ0QzgyIiwiMHg0NGMzNjkyMUQ2RDczOTJEMENiRTRhMzY4QTVBMEU0NENCMkZCNUM2IiwiMHg1RGU1NWM5RTJEN2FhMzBFNUY0RkU4NzZGNzFiMjIxMkM4NjFmYWMzIiwiMHgxQmMxNDc5NTNiYURkOUI2NjBmODE2MzYzOUUxQjEyMDRjOTMxMEUyIiwiMHg5RThjMDkwNzA1NkMyRDVjYjZkQzg5Mzg5NUIyNTNmZDJjQjJiOTFDIiwiMHgwQTI5NDUyN0ViNjc3QTdBODk2MWEyNDUxQ2IyNzZlNTRhOTgzRGY0IiwiMHhiNUMxYjY2ZTFjOTRiQTYwMWI0M2ExOEMwQjMxNjJENjZjY2I1NkMwIiwiMHg1MTY2Mjk3QjFkRDRiODNERGY3REM4MzViNUQ5ODcxOWFDRDRlMjM4IiwiMHgyODRmYTQ2MjdBRjdBZDE1ODBlNjg0ODFEMGY5RmM3ZTVDZjVDZjc3IiwiMHg3YUM2MjFBM2UzRWRmNjMxOGQ1OTE4ZEQyODNiQjdkRGVlOUYzYTBiIiwiMHgxMDBEREIwQUIwRTkzMTA3NGVkODA4ODA4MmFBMDIzMEMxYzIzYUZjIiwiMHhBYWIzODRjZjVjRjE0Mzk0REFFMjk2ODQyQTdBMDRkNDAzYmFFNjExIiwiMHhENjYwMTVlZEQ0NDIyOUQ1MzQ5NzIzZERlOEI3ZTQ2ZTI5RTEwODRCIiwiMHg5NjkwZTQ1MjVDMUVhOUQ2QTU4MmE0MEI4NDQzNTM0OWRhQTIzNTA0IiwiMHhGRTRlNzE1NzdjQjBFNjQ2NzdmMEExMWI0MUM4MGIzNUExRGZDQTUwIiwiMHg1QzAwMjBhZDYwMDA4OTc2ODlFOWQwYzQzOEQ2ZkM1QmVCNzY0OUM2IiwiMHgyMjhCMmM3NzM4ZjFGMWEyNTJBZTc2OWQ0OEE2QzQzMDk1ZUM1QUFkIiwiMHg0QzBEYTM3REQzODQyYkE0ODEyRjdCN2EwMDI4MmZmMTE0MUVlNzdEIiwiMHhBOTY5ODA1NzZiYTYyY0M2RWQwMEVkYzI0NDNhOWIzQjcxMDI3YzIzIiwiMHg3NzRBQzlkN2JjM0Q1N2I0OWIxQkFBNjRCODQ3YjA1ZWU4OENFMjEyIiwiMHhiRDhBNUMzMjRBYTk5YTlkN2MxZWRBODdBZmE4OENjQTAyY0YwNzA0IiwiMHgwNUI5Zjg2MDFhM2IyNGZCNUVGMjY4ZWEwNTdmNTg2MjE0MTE1MTk5IiwiMHhGNDZjNzJiNTkwNjJiNmUxNWIzOTc2MEJmZDUwZmE0MzExNENEMDcyIiwiMHhlRDA1OTAyMzRkQzMzZTgyYkUyQjgzQzIzNjYyNTgxZjkzM0JCNmFjIiwiMHg2YUU1M0IyZTE0MWYxMDNFOThDMzYyMWEyMkU3MTFGNzAxNDcwZjUzIiwiMHhDNkFFNUY5MUFCRDg3MTkyZTMwRjA0NDkxOWJmOGEzNWJCZmFEMzIzIiwiMHhlZDQxMDM1Mjg1ZTY1M2FEQUQxODcyQkViMjJGQ2E0MkRDNDgzZDk2IiwiMHg0MjEyNjBFODljNGQzQjhGN0QzOTYzRUU0QkU1Y0E2ODgyNGMwNjAwIiwiMHg4YjNmMGY5Q2JmNGNDZTc2Y0EzM2QxREE0MzhlZDI5NDcwYzlDYzI2IiwiMHg5OTNFMjJmYTIzYzljQTBkMDMzMEUzQTA3NmExMzc2NkM5N2FFM0FCIiwiMHgxRkZCMDVBRjQ2MTREQzM1Q2FDYTM2RjhmQTU5ZkQxRDRENmE3NTk3IiwiMHg1M2I5MjYyZmNBMEM4MzczRTJkQjdlNWJEZTUwN2UyOWNiNjVGRTM3IiwiMHhlYkM2MTdEYzFhMDFCZEEzRWQzMDZEZTYwMjRkOUNFQTAyY2I1YjgyIiwiMHg0QjA3REJGYjkwNDg4NDE5YzgxNDE4ZjQ2MEE2QkNCMDk0OTE1MzQ0IiwiMHg2MTNDMzcxYTUxOTAzREYyNEMwYzQ5NzdjNjkxYTVGM2IzRjMzMjNlIiwiMHhBOTA1YTVGMjdhNzFmNTg1RkFlMjM5YzhlRjUyOERDMjM1M2E2ODUzIiwiMHgzYzZmMzkyRDcwMzQxQmU0MDRjOUIwM2M2OTg2MjYyMjMxMDRBYjVmIiwiMHg5MTYyMGYzZENEM2Q2MThBRmRFMGM3OTMzZURCMGNhRjM5MjRhYjc3IiwiMHgzQzkxNmQzMEIyRENDYzhENmMwMmUwMTA5NWFhOWMzNkExZjg1NzNBIiwiMHg0ODNFMDM1OTA1ODQyYkM3NjQyZEIxQTVmQzQ5QjVCNzNBMTJBRDI1IiwiMHhDNzMwRUYwZjQ5NzNEQTljQzBhQjhBYjI5MTg5MEQzZTc3ZjU4Rjc5IiwiMHgwMjU0ODYwZmQ2MjZjODc3MUEzMDc5NDJiZDliZjg3Nzk3RTA1QTJDIiwiMHgxOUVFODRCYzYxZjQ5NTMzNUUwZWQ4RThlZkEwYUVCNTQxZkEyMTZiIiwiMHhBRDlEODBkOTMwZDdCMzFjMUI2NDVCQWEwMEU2NTQ2YkMzY2NFNzJCIiwiMHg3NTFDYzJhRDdGNzg4NzkwYjBkMjAwQzYwRDBFODkzQzU4OThDMzc2IiwiMHg2NjYxMkNGQ2MzNTY0OTNEMTU5NkE4NWREMEVkRjE3ZTBEYkQ2NWJFIiwiMHhmNGRmRWJGNzQwOTkwRTc5MTcwQTI5M2JlQkMyNmM1NkZiMzc5QkRhIiwiMHhiOWMzN2NBMkRGQzE5ZjIyMDY5QWREQzI1QTAyRjJkMkY5NTI3MWNEIiwiMHg2RGQ5MTI1OWRjZTI2QjhkMTIxODk4MjUyRDk1NTdhNTFhMzU0NUNBIiwiMHg5RkE0RGY0RkMxQkUwNjM2MmU3Yjg5RkE1NDZDMDI4OTMxRDEyNzczIiwiMHgwNmYxNDcxQzJjOGFhZjFCNjFhNjRBRjlDZWJlRDM1REJDMTU0M0RCIiwiMHgxRjY0ZDA3REVERDg3NGFDMjFBYzdiMjM2ODAzM2E1MDZFQ0JhNDE0IiwiMHhjMjNiQjJDMjA5YzIwNEExMGI3MTliMkFEQ2JFZTVlMDE5MDBmN2I5IiwiMHg2OTkzQ0QyZTY1ZjZGYkVjN0I5NkE2MmM4ZThiMDREMmZCNWVEMDhEIiwiMHg0ZTlBODEzODUzQTREODQ0NjU3RUNGNDZENUM1OTAzMTJmMDc4NzI5IiwiMHg2YzA3RmQxZTJDZjlkYzlEQUM1YTkzMTJFYzQ3OEIzNkQ4NUYxMDQ2IiwiMHgyRTUwMTEwY0MyZDU5Qzg0MjUzMWFjMzVlMUY2QjNFQzIxRDUzOGUyIiwiMHg1YjhDMjI5QjdmMjM3QmNCMDA5QTgyQzJBQzlCMjE4RjZBNUE0ZjVBIiwiMHgxZjkwMzJhM2I1NWRhRDVCRGEzOEUwNjZmMjg2RjY3RGViMWYwNUY0IiwiMHg1Q0M3NTI3M2JDNzc3YUYzMGMzMzUxOTUxOTEyMjgzNUM1YTg5NWFlIiwiMHhBZDQyMzI5MERBNEJFMkY5MzE5MDE3ZGFBMkE2RDJBNEE2NkFCOUY4IiwiMHgxMThhMDFhZWZENGZlMGM0ZTc1OTFENEY1NGJhODljMTc5MDMxYTM1IiwiMHhDMEI0NTEzRkExNzI0MThFOURCRUFiQjRDNDlmZTY5NkYwNDdBMjBkIiwiMHg0RTE4NmZFMkU5OTg3OTAyOUUzRUY4NDg0MDNBNWJGNDBFODdFMjlCIiwiMHg5MzY4ODEwNkRlMjNGRjcxRDlCMjIxYUQxZjE3QkQwQjhjM0U1YTBhIiwiMHhkZkYwQ0VlOEUxNjFDYTNDYjhCMjZFQkFEZmM5OTlmMWU2NjY0Zjg1IiwiMHgxOTE5OGZEQjhENTU1Njg4MTdjRTg2MWY2YzIwZDY0NWUzYWJmZkEyIiwiMHg2NzU5Y0ZGMGUzOEJmOTJGODQxZDc0MUUwYzlCQUY1NDBDMjk3NkJEIiwiMHg1ZDBkQUYwRDMzYjc4YUNhOWZiNzI2MDg1OTcyODRCODg0MzU0ZUNBIiwiMHg2ODRGM0U4NjQyMmI5MDVFMTVBNzIyMzg5MzY0ODg1N0E0ZTlCQjRDIiwiMHg0RjczRGJBMDRjNTAzOWUxOEMzYTk4MGQ5QTdlZTAzMjU1NDFBQWM5IiwiMHhhNjhjNEViZTZGMTVDNEIzNEJGMjQyNjZEQjlCZTg5Y2M5NUU5NmY1IiwiMHhFNWZmNTRjMDlDYUFhMUM4YmFlNTlkNzUzYTcwODhkZDlmMDE0OEQ2IiwiMHhjNjJFOGVCNTRFMkE4NEFBMkNBYmZlOERBRDNFMGVkMzJmNmNFYWM5IiwiMHg0QjAxODljOTU1NTk5ZEYyOEY4QTE5MUU0QkJiZURBZWVkNDBkNTlhIiwiMHgyNzg1RUIxNkNGN0E1YWE0QzgyODVhRWI2NDA2YjBCYWE1ZTZjQjM0IiwiMHg2MGJkMEU3ZWE1NmM0MDdGNUI0ZmRjQjM5MTRCZGY4MWRFZDFmNUM5IiwiMHg0YWMyMTgxOEVkYzFhZGE5NEIwM2VCOTBDRjIwM2E5ZDlmZmFmN0ViIiwiMHg1QTc1RDllNzcyMTZmQThkQzBGYmI1MmM5ZTI4NEE0Q2ZBOTE0NURDIiwiMHgwZThDYTRjNmQ4ZjM3OWEyNTY1NUI4NWM0NTExYTE5ZTUyZTAxZjgzIiwiMHhkZDg3NTBBMTk3NUNBNjA4NDdENjhiOUQxZDAxRkYwNDI2YTY2Qjg3IiwiMHg4MkIzZjAyYmRlNTAyRTFBZThjMWRiZDRmNzgzMDI2Y2UxN0RENmYyIiwiMHg5M2FlQzU3QzI4RWM4NTE3MzhBMDZGNDYyMjQ4MDMzM0U5NzJjMDQ4IiwiMHgwYjcxMzk4NEY1MThlZGU2NWY4OTIyRDNCODE0NzkwNTc5NWMyMkVBIiwiMHhBRDUyYTA0YTQ5OTA2NDdENkI5ZEE0MmY5OGJCYzQzQzFmNDk3MThhIiwiMHg3MmFFNDc1QjM5MTdlOTE0MjZBOGRDMDQzQkVhRjQyREE1ZjM4ODI0IiwiMHhhQjZhZjY0QkMzNzY3ODZGNjQyRTY0M0NhNmVkMDJiOTE0QTQ4RDBBIiwiMHg4YTVENDBBOTFDMDg4ZUQ3MzgyNERhZjcxNzc5M0M2RjIwRTk4NzdBIiwiMHg3Rjg2QTlBZTk2ODlkNWU5YzAzNjdCNEQyZTIzNTBEMDgzN0FGZTg3IiwiMHg0NmMxMDc3OENkNTBEYkUxQjRjODM4MmVDNERhRjNBN2ZlNmEwZDIxIiwiMHgxMmM3NTdmRTg1ZDZENDQxZDlDZUYzZjY2N0VCQ0UzNDdhMjM3N0ZhIiwiMHg0MTAzY0VEMWE4QkU3NUMyMDgxRDdlY2QwMGIwNjg2QTBDMkYwOGU4IiwiMHg1N0ExMzQ4ZkZjRDAxOEUwOEU5MzQ1QzQzNzI5YjM2M2MxOTc2NzkyIiwiMHhiMmE4NUI3YUM1ZDc4ZjNBMjYyZTlCRjI1MzRkZDI4MDY1NTdhMzQ2IiwiMHg5NzdiNDgzNjg4YzQ1NTFGOTEwMTI2NjkxNGI4NmVlYkU4RmVFMDQ4IiwiMHhiNjFmNzhDZTNjMzg3NjUxQTQ2N0ViNjdmZDUzYUYxZDEyNDM0MGNkIiwiMHhjMDdiM2M5MjZmMzlEYjZBMTkzZmU4OEUzRTU5MTQ3OWRiNzQ4NzU2IiwiMHg1QjFlNjdmNjY2MjBiNGRmRkU2YzlEMGI1NzMwRTI1M0VBMTM4MTQ0IiwiMHgxZjEwMjUyMUUyOWVlY2YwNTBFQTUzM0U4NjFhMkEyZjQ1YWYyOTA2IiwiMHg4NkY1YkU0OWU5MUIwNmYxQzFlMzMxRjVDNUE0MTcwZTFjQTRiM2Q2IiwiMHgzNTQ1RjQ2YWIxQTE5MUI4RUI4RDYzNDJCQzVmZDlmMzk5YTUyQ2ZjIiwiMHhlYkJGYkZmMWM4MTdBQzRhMDhDOTA1NTY3MUE3MjBFRUE0ODA1QmJiIiwiMHhFRGZGNDI3MzE1ZDRhN2ZiYWE5YkZlOTc4QTNEMjI5QjFiODE4NDRiIiwiMHg2ZmZkNDk2Yzc2YzIzMDc3N2U0NjYwNDYxMzM1RmUxNjREZGQ4MDMwIiwiMHhDY2RiMDc4MDRmZDcwMGU3MjI0ZjcxMTc5MDU3OUE1NDA5MmREMTljIiwiMHhmNEE3ZkE5YjM0N2NkYzYxNERlNDY0ZUE3RDEwNWMzY2QyN0MyMkYwIiwiMHhFQzI5MTVBRDFlOUFDNWNGNjhkRGEwZjNFQmRBZkJjOEI4ZjY5YmVBIiwiMHgyOWU5MDRCQzNmRjRFNjBEOTkyRGMzRWJkNjI2QkM1YkE1QTRmOTliIiwiMHg3NmM1ZjE0NUExMDI2QzIwNzM4NzVERUY1OUNGZWM3NUI0MDZhQTBBIiwiMHgzNTMzQmFEZDhGMmQ3NjgzMDM0RTY1NUJiRjdmMTE0MjhFMmE2REZCIiwiMHg1MkZiMTdmOGQ2YUIzMzk0YWE4NEM4OTdBQzZmOTRkNENmNTc2NTc0IiwiMHg0NzZkOTZCQjZlMkQwQzExOWJlODM3NDk4MzVFNTQ4NUE1MTZDZjJFIiwiMHgzNUZkMDdjRTY1NkM4NjU5YTM5MjI3REJGNzA2QUVGNGYxMzNlOEE3IiwiMHgzRTNCNmUzMGVkMmFkRDk4NWREYkIwNDgyRmExNmIxMzk3OTI5NGNEIiwiMHgzZDYzNWMwNmY2MjBiNmVCNDUwMkYzZmVBQjcxOEJmMEIzQWE1Mzc5IiwiMHg1MTBDOWIzRkUxNjJmNDYzREFDMkY4YzZkRGQzZDhFRDVGNDllMzYwIiwiMHg2QzZEMTQxMjU2ZjVhMzM0NEM0MTFkM0JhNTg4NWM3NTJlODgxOTQzIiwiMHg0NzU5NzE0MzA1NmM0NDYzNzlmNDIyMWFCMmJmZWI3OUQ5QjNEMTVhIiwiMHhmMkY4NEMyNzRGNzE1YmExZkU3RDFEMjhhNEUzNzdGYjU5QTMzMzg2IiwiMHg0YUU4NEM3NTMzOTQwOEM1YmVBMWExOTEzMTRiYkJDMGRFMDU5ODAwIiwiMHhCNGU2N2M1MTc0QzBBMUQ1RDRGNzhkODA4M2NkM0MyMjNDMTI3RDhkIiwiMHhjMDIzOUM2MTQzMkZlMjNBQkZGMTQ0OEJENmJFZTBhMzllQTNjYkViIiwiMHg2ZDE5MjVCM0VFNzRmODM2MUZhQjk2QTM1OTc3ODZBYTEwODhjQTQxIiwiMHg3YkVhRTAyMjQyQjBiNWUxNjFjRTQxNzMyZDA0NjhlNzFDYjFFMTIyIiwiMHg1RjEwNTg0MWFEQTBCYWI2RDhiM0E5MDI1QzJCZTEwQmYxNkE0Qzc0IiwiMHg4QjJkMjg5MUYwM0U1QWM5Yzg2MUVBZTgwQkE4NDc5QjlmQWMwRTBDIiwiMHgzRjBBQzVkYzQ2ZDAwMjhGOTBhMDgyYkUxNWMwMTEwOTIzQTk2QkNDIiwiMHgyOGYwNjIzMDAzY2UwNGNDQjIyYzA2N0YzNUMxY0M5ZmI2NGExNjc5IiwiMHg4MjU3RjgwMzZlODMyMDg1OWYwNDI5QUM5OTE5NzU3MTM4YjI1MTVEIiwiMHhlMzgxM0MxOUEwZUE0YjkwNEI4Y2FEMDAwMzI1Nzg4YTI0ZTZkMUQ4IiwiMHg5ZjFiM0Q1ZTQzMmI0MUFjYjk0MjFENGIwMWUwMDI3OWE1MGI2OTVEIiwiMHhkN2E5MDNjNTBEMWE3QTM1MTk3OWFGNTExMjBFMDJkZjFFNDc3NjIyIiwiMHg4NTY2RUZmMzMwMzlDMDdkZDIyQjhDNjg5MUE3NkQ5RWMxOTg5MzQ2IiwiMHg3NDRGMjU2NTBhRjdjRDAxNmRGNzIyMUJkMDc2NDdDYTI1ZEZjMkYzIiwiMHg2YjkwNkJFMzUyNzg3NTAzNjEzMTgyQ2FlNUU3NjQzN0Y5MTZiMzQ1IiwiMHg2NjIwQjQxMjJFOGU0ZjVEMDQ3MUU4NjBjNUE4YmI5ZTYyZWJjNTMyIiwiMHg1N0ZjMzQwMTdGYTdBMkQxMzQ0QmFDMzdiQTM1QTA5NjYyNjhhMTZBIiwiMHg4Y2EwYzFiQjVCQjVEZjIyNTQ4MEMxMkEzQzA4ODQ5YzREYTk5ZEUyIiwiMHgyM0VmZDI4YjU5MDEyZjY1QUI3YUY0MzIzNTlCZGI4OGMzMjYxMTE1IiwiMHhCMThiQTkxZENFOTQzRjAwNkU1MzIxMkQyQjg2NEFBRkJDOTE2NUZFIiwiMHhGMTE0NzljMTYyNTcyNjM2YjNERTAzQTU3ODAxMTZGOUU0ZTE5OENFIiwiMHhBMmJlQTYwMkI1NjIxODY3Y0QyZDQ4M2JFYTQyOUUyZkRjRTdhMDBFIiwiMHhjYzdEN2VDMjJiMmNFOUJENjA2NjdhQzVBMTE4MmZkMDY1MzZFMDNGIiwiMHg4NzliNjA3NDg5MTQwRTZCOUVmNjQyNTFFRmEyN0IwMWQ2YThiMTFBIiwiMHhGNDFiMWNBMWY4ZTcyQjA5NjBjYzE0Mzg0MzY4NjkwYzU4MzNmMGIwIiwiMHgzNDU5MjA1N0U3M2IwNzM5N0ZiNkYxQjkyMTFFYWZGOWU1ZjNhQjVlIiwiMHhCQTEzQzA5YTVjMDQ1RjE4NDVhNzQzOWY5NTE1NEJDYjc2NDEwODAxIiwiMHgwZEYzMkU1QjM3NTU0NzY3ZjI0NWMwOWQxRUZEOEM2MDE3NWJiYjYyIiwiMHg4QjJGRERlNzUwNUJkQ0MyQjJBMTZDZmFkOTY2NzQxN0M2MGFDOWI2IiwiMHhkMjdmQzExMGVDMTJlNzJlMUZGMEM4NjAwOEIxRjZCMWVCNGZFQjZCIiwiMHgyYjVhNTBkNDlmM2U1RDgyM2UwN2NhM2Y3ODc4MmRFYTUwNDg4QzEzIiwiMHhhZDA5MTA2YWMyYzFENzgwMDRFNzUwMzQ2NTBmRGYxMDI2RTcyZEY1IiwiMHhDOUVFNjg2NjA3QTczMThkRDI3OThjNUQ2YjE0RGUzMUJjNjBhNjY0IiwiMHg3NEQxZDlENTc0MTEwNjMwMzk0ZkU3ZTZCNzBjYjY5ZkE1MmZDMTMyIiwiMHgxNDkxZGRCNjgzYjI1RDhiM0JmMjk5YUE3MjUyNDcxMDNkYTREM0Y0IiwiMHgyNkNlOWEzMDdBZWU1MWRmZDBEOGFEMDIxYUFiMUNkYUNGODE2Yjc4IiwiMHg5NjY0RUIyMzMxZjNCNWUxMkNEN2IwYkZGQjAwYjU2MkNiRjQ2MkUxIiwiMHgzMEI4N2NEOWZDYUE3QkY2QjkxRjM5NkE2QzYzMDJiMGIzMzY2NzJCIiwiMHhFNTc5MWE4ZjU4QTk2MjU1YmI0NmRlYTEzODBDYzY1ODhCMDExNjJBIiwiMHg5NWE1NTQzMTExMzQzYUIyQTY2YTA2YmM2NjNhMTE3MEFjRjA1MGI5IiwiMHhGMUQxMzAyNUE5RTBGZDc5YzRDMjQxZkI5ZjlmMzgzZjJiNDU2ODQ1IiwiMHg4MkEyNDQzQWY5MTExNzc5MjI0NzExY0YyNDVGMkM5NTZmQ2UzOEQyIiwiMHhEYUQ3RDQ5ZTAzMmMwMTdhYjU0MTREOTY2MTMzRDk4RDFmMmY0MkVhIiwiMHhDOTZhMzk3N0Q1MkM3NzYzNUJBMDVBZTg3OUI4OTI4NEM3NTVBNjcxIiwiMHg1RmVGZmJFNDM2YUQzQjZlNDVFRjI1MDhGMUY2YTg5ZDYzRDBDNzU3IiwiMHg3ODg0M2QxZGE2NThCNTA0Y2ZiYzRDMkE4MzkyZTRjQUQ1NzA2NkU1IiwiMHg5ZjQwZTljRTIzNTYwYzc2NDU5M0E2YzQyNThGZWU5OGNkNmEwYWQ3IiwiMHgwZjE5NjM4MzhmNDNiOTMxYWUwYkJFMzlDYjY0ZkZFMENDYjg3MmNGIiwiMHgxNTYxZTU1RjE4MGZkNkQ0QjhhMzNDNzY5RDE2NDc4OTQyZTRDZTMyIiwiMHhEYzUxMmU3NWQzNzc5NGY1YmNBNDUwOTZiYjIwMUYzOTgzYTYzNUFmIiwiMHg3N2UyOEI1YjkwREQ3QzljQjQ2NzI2QUM3QjgzOTJEN0ZENTlFNzlEIiwiMHg1M0VhYzBBNDEwOWFFMUI5N0JCNDlEMDNkYTc0NGZiODE3RWFkRURFIiwiMHhhOWMwNDYxMWY4OUZlYzc3Nzg1MThDMjk5Njc4M0ZjZjYyQkQxMjk0IiwiMHg4MDJFRTk5MzNDNDVmZTRhNzZkRTJDRTc2NDU1QTA4OTYxMUM0QWE3IiwiMHhENGYzZDQ5ZDliMjJCODA3MjkzYzZjYzk4YzcyMDczNGFFMjdCNzI5IiwiMHg3Y2MwODc1Njc5RUUwRWU3MjA5MTJFZTU1Q0IxOWJEYzE5QTE5YkQ1IiwiMHg1MzE2YUYwNTVlYUM1ZDU1OUQwN0RjMkNlQUMyMzQ4Nzc3MzZiNjVEIiwiMHgzNmRmYzA2NUFFOThFOTc1MDIxMjdkMDNmNzI3ZEVDNzREQjA0NWJBIiwiMHhjMjFhZjAyMkI3NTEzMmE5QjZDOGY1RURiNzJkNEI5YTgzMTNjRDZEIiwiMHhjOWNhMTBkMzY0NDFCNWI0NWQ1RTYzNDgwMTM5MTA1ZjAzNzk3MmUwIiwiMHhDMmU2M0MxN2YzOEZFZmRmYzFlNzRCODViQjQ3MEEzOTI1NkRhMmIwIiwiMHgyMTIzZjcwYUJmMDkxMkNhRmJmNDlGYzRGNjRDMURGNEZENEIwNTE1IiwiMHgwNUUzNThlMUZmOGExMTE5ZTJGODRBOTNBMDM4ODk5MUUyMjRlMmMxIiwiMHg5MzY3MGFkQjhmOEIzYjY4MDJCMzdhN0E1MTFlMGU0NUE2ZkY5M0U1IiwiMHg2MDY1NDlGMkJCMDhFNTQxQ2M5MzUzYmU0ZDVlMDA3MUNFNzI1N2NhIiwiMHhkZDZBMmNDRkRkRjg5MjVENTY2MDhGNGQ2NzM1MzRiQUIyNzc4OEFkIiwiMHhkQTBlNzRCZjBhRTUyZTI1NkI3NTYwQzZCMjk1NmNiRGNFNTlkRThDIiwiMHhCOTM2MDkyNTNGMDc2MUEzRjQ2YzlCQjQyRDUyZDdFMTc5RTU4N2FDIiwiMHg2NjgzRDYxMDkwMDRjYzQ2NjA3NzI0OGQ0NzZiNWU5MTA0QTNDYkIyIiwiMHhDNjY2REI5ZUY1QzQxOTBlNDNjMWUxMUYyMTMwN0RhNWE5YjFGMjVlIiwiMHg2OTEyQ2JBM2NERjY0OEZmM0IzYUM3ZGQ0NjZBRUY5OWI0MjJDNTlGIiwiMHg1ZkU2OGMwNDNDYWM0OEUzZGE2RjE5MkY1OUU5ZmVkN0Y0NjJjYTE0IiwiMHhmNGE4NzA0ZDRCRWVEMTc1MkEwQmEwNjdFYjNmMjVENmM0ZDRDODc1IiwiMHg2YzZBRTg0MDVkNTdjNGI3RDA1QTI0OTBjMzlkM0E1Yjg2OWRFNGRjIiwiMHhBMzM1MjM2Qzc3NTYwQTZDNTczY0FGRDYyOTYyZDZmOEVmOTM2RjE2IiwiMHhEYjQ0NDFBMzUyNTZiMjcwQzM2OWNFZDViQTk1YWE5OUVjNDYyM2EyIiwiMHhkNjhjYjY2RTM4QjA3RjRlQzU4RjUwZGRCQTVGRmYwMUMwZjBiMzllIiwiMHgyRmYyMDYzZGE2NjQ0RWU0N0Q1MzVkRTFGNTU1RjQ3Q2YxNjk2NERjIiwiMHgyMzc4ZjkwNDUyRkYyODI1NWM4RDUwMzZBNkY1YkYyQ0E0RUU3NjAxIiwiMHg4NGI4MjQyNjVBZDlkYUQ4YzFmMjNkMUY4ZDA2N0ZCMzMzN2RGZGFGIiwiMHg0NDAxM2RBM2I2OEJENTFBNUEwMEE4OURmYTFiNUY1M0UwZTA5NmU3IiwiMHhmNTQzRWFiN2RGMjM0OTc1ODBhMDU1RGZjNTkwMjJmNGE4NDdhQzIwIiwiMHhBMTUwOWY5YjNFRjIxMjY1YzkxYjY4OTU2QTMyOGNmRmI4YTkyOTM1IiwiMHgyYjA3RGNGMTA2RTQ4MzJhNjAxZTVENWFkYTc4MDg5MTcwZTExOTRkIiwiMHg4RkVkYjdiNURiQzZmMzg3N2U1RUUxNzY2QTFhRkQ4Qjk5NkNENzUzIiwiMHgxYTdhODhmN0ZDMWRDN2MxQTdGYUQ5NDc5ZEY3NDMxOUI5OUEwZmRBIiwiMHhCMWZlNENkNWZCODYzN0M4MGY1QkM5ZEI4ZjQ0QjM0NjU2ODg0MzIzIiwiMHg5OGZmYjJEMTQ5MTE0QTVGRDY5ZDk2NWExZDUwQzI5QjQ3M2Y2N0U1IiwiMHgyRDJDNTMxOTdkQTdDNEM4ODZlQUMxMmNlNzg1RTUyMDI4OTNDQjk2IiwiMHhFQTA0NDU0NjE3NDAxMjRmQjE4OGU1OEVlMjZmODkzRTU4M2IzZjhjIiwiMHg2NzJkNTQ1YjIxODI0QzU3MzdBOUQwRDI3RkJFNUJCQWRhMkIzN2NGIiwiMHhFMTNCMmIzOThiODVDMmI1QjVjOTAyY0JhMGE2YjY3QmM0NTliOTY1IiwiMHhFNTgzRjRmMUNDODk3QjhERjExYjNmNEM4ZDRBYTE1NDk1YTQ5MjY2IiwiMHhBMjBiNjc0QmE5MjExYWY1RjllMDY1Yjk3QUQyRTYwNjI2MUMxMmE4IiwiMHhFNjEyMTkzMDIzYzhGMkIyMDViYjU4OTVGRTQ1YjM3MTUyNzRhNzkyIiwiMHhDRDczRDk2ODNkMzJDMzJBNzFhNmJFNWY4QzE4Zjg5NzY4MzJmMGMxIiwiMHg0QkZjODg4M0U5MkQ5NjU1QkU2YjRkY2EwNUQ4MDlkMmNlQkIzMkJjIiwiMHhiNUU4YzQ5MGJDNzIzYThBYTA2RDZENzY3YTIyM2I1Mzc0QUI0MkY2IiwiMHhDRjAyYTJmQWRjRTFBNTczMzlBRDE1ZGM3QkE2RkVkZmQ4ZjhjYUExIiwiMHg2YjJkMWFFOGNiNkE3QTI2MDk1MDBEMDI5MDk5N0U2N2Q2REI0NzEwIiwiMHhjODZBODNDQTYyZDgzNjE0OTE1MDEzQzQzOUM5NGI5NTg4ODcwYzE0IiwiMHgzMGY5MzA5N2Y0NDNDQ2YwQ2Q1MkE3ODJlRTc5MGNGQzA1Yjk1REIyIiwiMHhiZjNlOWNBOGJmRWU5ODQ1NjFEMUVCNTZCOTk4MzEwZjlDZkVDNTlGIiwiMHg4NjYxMmVhZDQ0OTNDMWY3MkJGZjY2QTY4NkE0ODFBMzc5ODMyQ2E1IiwiMHg3MzcwMDM0MTM0Q0E4M0E2QmQ4MDk4NDhFM2JFMTViYWNlNzM0OGYzIiwiMHg0RDc1NzM2MkZkOTg5MTk1RGZGNDZBNjgxNTJCZWRBMWY0MmExRjQxIiwiMHhmQjk0QWYyQThDQjQ1OWM5RjY3NzUzMTBCYTBlNDdEZUMwZDA3YWM0IiwiMHg3Qjc4OGQ1MjRFOWRmOGNFYzk4QkYwOUM0NjhGMGNlNmQ1MDdiZmNBIiwiMHg1NWU4RjAxM2U5N2YyMWM4NGIyOTBlN2ZkMDkzRjYxMDI0MGU3NGI5IiwiMHhFZTAyNjVkODFiQjE4MjNGRjVDODA0NjdFY2U4OTEyMkNmZGNhMTAwIiwiMHhjOTg2NzI1QjJGRmI0MjM1NDc0YjY5OThlODgwMTliRTNBRkNDMDFmIiwiMHg0NTI0RUMxMzFmQkFDNUU1ODEwNTMxNEYyOTJkZDZlNmYzOTZDNzQ1IiwiMHgyNERBQWYwRTViMWVjRTQyMzNiNDcwN0Q0QTQ4OTE4OWEwNDFlZTFiIiwiMHgzMTc5ODlCYTRBYjg1N0Y4MjZGRTUyQTk2MmU5ZjU3QUZlMjJjNUE4IiwiMHg1M2Y4MGI2NmZmODRlM2Q1ZWExQTdCRDhjMTVmMDYyOTVkMTg3MzNmIiwiMHhlYzA1NWZCNTcxODBFMzY1RTY5ODFkMjE3N0UyNDMwZjU0OTRGZGM0IiwiMHg4QjA0MTg2QzczM0U5NGE4ZjhEZjBERkRiODdBQjFhMjczMjk5QkY4IiwiMHg4RjBiNjYwMTE0OTk2MzQ3OTdhZkVCZTVmYTNiMWEwMkE2YTY2OTY4IiwiMHgyYWEwRGE1NUJmYUEwNDBkNzg2ZDJkNzQ1NTUxQjdjMzgyNWFkOERBIiwiMHgzRjBFMTY5ZmZiMzA2MDNGMWQ5Y0ZhQTRCNUNCRmQ1ODYxM2I2RTAyIiwiMHgyZjZhRTUyNDk5NDIxNjJDQzcwMjAwNjAzZENhNzMwMGNlNjM4NjIyIiwiMHg3OUU4MzE0YzIwNjVlNjdDMUMzNUREZDNBY0ZBNjIxRmExMmIwODc4IiwiMHg3RUJhMkI1NTRGZmE1MjY2QWFmYzNkODdEMmJjODgzQjE1MzkyRDdBIiwiMHg1RUU2OTlCNzk2MUViZTM2OUMyNGRmMDA3MjdCRThhOTA5OTE2NTIzIiwiMHg1OUU4M0MzQWIyMEFDMjZmMGJhRjhCNjdlZTVDMkViODBEOWE0OTNiIiwiMHg4MDIyOTU1MjVCQkJkQjQ4MDA2NjlkOTgyQkQ3RjgzZEY3MzhkZkIyIiwiMHhkMmJEN0Y1NUM5NGEzN2FkMzVEMzdlRDM0OEQwNjc2YzhEOGFGODJhIiwiMHg4YjVGYzhjMjlCMEFFZWQyMDM0MDZCODlhODA4MzVCMTI4NzU3NWExIiwiMHg1MDNkZDdhYzNiNWZlNDFiOEE3QkVDZTc4NzU1NzlCNmIxZjREQWUzIiwiMHhjNmI1NTJFOTc3OTg3NUNGZTc0NDhCNWE2NDQwN0E4YTJEMTFBZDViIiwiMHg4YjZBZjk1NjVjOTk2QmJhQjkwOTQwMTUxMjIwOWM1QTE5ZkEwOWRCIiwiMHg3MjI4NWVDZGQ3MmMyNGNBYThiN2NCNDNmMDYyOTVDOTBFZjMxMUFFIiwiMHg2ZTE5QmU3YTZFRkNkYkNmNTUxZTg4MzRjN0I5NTQ4MjYzNjE3YTZDIiwiMHgwMzgzZWViODk5ZTdmYzBGNEY2OTZFYkZDQjU2NzJhRDdlMGQyNzFjIiwiMHgyRDlCNDVmRjgyRmUwQWU0MzdCOWIxYjYyMTNmODVEOTNiNUJDMjNmIiwiMHg2ZkVhRTRiYzA0MDFlMzZFNEJFM0YyZjc5NGRhRTY5MDllQzIxMjJjIiwiMHgyNjYzMkI4MDVkNUY1MzNiZUFGOUU5QjZBY2U5MTY2RmJBNTY1RTkyIiwiMHg3OTE1MDI0RTA0MEJiNkY2QUVGRjhmQzI0OEZFNDcwQTMyMUU4OWUzIiwiMHhGQjBmZWNhMGRkY0M3MjE3RDhlMTU0Mzk1RjhBMTFhNEYxQTBkMEFmIiwiMHgxNjBFNEI0ODU2MThCY0M4Mjk4NUY1ZDZBQzA3Yjk2NWE3MUY0NmFmIiwiMHg1NmM1QTJmYzgyMzBDOUUxRGNCOUJBMTdCZjYzRWQ1QjA5QTE5QUQ2IiwiMHg4OWEzQjJmNjM3N0EyRTQwMjkyNjFmMzhmMzc2OTgxNTQwNUMyOTliIiwiMHhlQjkwZEIxMTNBMzdFZEZDZjEyMDQ2MzZCM2YxNDQ0MzRjMEVkRUEyIiwiMHhFRmIxQzVEMTNBZDQ0QzJkOTNjMjBkRDM2ODFmNjM2RjUzRjkwRDY2IiwiMHhmQjNjNzMyMTYyRTgzRjNFNDFCMGY3OEY0ZTYwZTk0NUIwYmZGQmM2IiwiMHg5N2JDNkYzNmQ0MUY2NEVBZUM2RWVGODUzMTM4NTg3QjcyNGNDQmQyIiwiMHg5YTFmOTRlYzU0M0NkMzQ5Y0Y0ZTI4QkMzNEFmOTMwOTRhQTAwOTVGIiwiMHgwMTdBMzhFYTI2MDdEYkQ4NDQyMjU3RWUwMTY1NjJBQmE0N2FDNDMxIiwiMHg5RTdiZjE2MTMwMEM2YTU1RDRDODNDRjQ5QzNhMjExNjljREU0RGUxIiwiMHhDZUNlMjJCYjY2NzIzZjM0OUMyRTUxQ2ZGMzkxMEQyMzEwOTNCRjM1IiwiMHg4NkQ4YzAzQTk2MmExRTRBZDA0RDA4ZmRjRTlkNDgwNzQ0OWNEQTlGIiwiMHhlNjA3MDE0ZkI2YTMzYjc4OENkQTQwOTg5ODY4N0Y0OTRiNmY4NjZjIiwiMHhEM2Y2OTFlYjMwMkY0NmQwQzAwYjZDN0NCOGQ0NDI5NTNDQmRiNTA4IiwiMHg0RTg4MjViM2E4Mzc4NzBjM2I5MDNkZkJmNzU4RTFlNTkzNUY4QzVhIiwiMHg4MTNGYzc4MTA0NGU2Y2VCZjg3N2E2ZGRjNzk4Yzk2NTEwM0Y4YUQyIiwiMHhGQzdBNTQ2NWJDQzE4RUY1RGZGZThlN0FlNTI3MDgxNzA0NjcxOGVlIiwiMHgzOWRDMjNGRmZlMkZmYTBFNjQyMkU5M2IyYTg3MUU5YjVmQTVjQjhDIiwiMHhGN2Y5N0FkNDZiOGJENTY0NGEyMTQzNDlmMjM5MTJGQzkyYTdFYTQxIiwiMHg0MjQ1Yjk4NzgwQ0I4ZDEwZWQ4RURDMWFEMzQ1YmQxOWVlNjI4YUI2IiwiMHg5NWI2QWM4NkMxMDMyQjE5MTIzMWI4Y0EwNjFCOTBmNzFFNDA3NGI0IiwiMHhGMWYwNzY0RTBmNzE5M2FDMDAwODkyN0U0NzNhNDI3OTMwMUEzNDQxIiwiMHhhMzMzOENhZEQ0ZTVhMTdCRjA3MDJkM0IyQWYyNWVEMWY1OGI2RmE3IiwiMHg1MjYwMTRmOEVlY0VmNDM1NzA2NDA4MDhBNjdhYUM2MDcxRGM4NDRDIiwiMHhGMEFCY0QzN0EyNWY0MDE5OGY2RDRjNGM1OGUwQmFmQzg4QzIwRDJiIiwiMHg2MzU4NEI4NTM1MWUwZjYzYzM0NjI1MTg1YTVFRDgzYTQzYURCQ0NhIiwiMHgyYTI2Y2Q1NjYzN2M2M2NBZTU5MjkwYTM2RDUzNGMzNjlBRTdjNTFBIiwiMHhEM0FmODJEMWNhMkVGODJENjkyNmY5YzE4NDVmMWU5ZENCRTgxNzI0IiwiMHhEODM4YjBBMjM4ZDkyYTFiNEMxMTRmODA1NTk3YTQ3NWJjMjE5ZDZjIiwiMHg2ZjNFYTQxNjNFNzdENDc1Qjk5YTdhOTZGM2ZDMGFFQWEyNGZjN0FlIiwiMHg4Qjg3NzVFYTlGYjI2ODc2M0NDYTVFYjk0NjYxRTdCNDc4QTNBNTc3IiwiMHhDOTVEMGQyQ0M2MzAwZTdlRTVkMTA1ZEVBQkExRGMzOTQzQTJiRmQ5IiwiMHgyRTVkYjA4QWM2YTFjMkIxMDgwQ2QwQ0ZDZjdENzMzMWMzOUFkYTA0IiwiMHgyNEU1ODdEYUY1NzgxOEU5NTg1YTg4ZGU5ODRhZWNEMmVGNEYwMDYyIiwiMHg0QjI2QTQyYzU1NjI3MjlmNzYwNmQyNmUxYTIyNGJiZmM3MmNiZGU3IiwiMHg4Q2JGNTY5NjU4ZmRmMDI0Rjk2YTQ2QzMxRkNGZDk4Q2U5NzVCNjUxIiwiMHg2MTJmNkQ4QTIyZDdlOUNiQTBkNEVEYjZkOUY1Q0I5ZEIzOTFGRDVFIiwiMHg3NjgzODZBODcyNjA1Zjk3NTUwNDcyOTU2MzgzNjc1NzljMUU0NzI3IiwiMHhlQjU3MjA1OGQyQjRENzEzZjI1MTJGMDgwNzMzM2NkMTEyZmI2MjgwIiwiMHhhRDJkNDY0QjMxMjEzMUZEZmZCRkQ2OTYxZjE2ZDVBNTZGNjQ4NDZjIiwiMHhEMTE3MEYyZDg0M2UzRWVkMUQxMDZBRDM2N0ZmNzNDMUM1MUJBYjRkIiwiMHg5MWU1ZDNhRDhEYjczNDBmM2FjYzAxZjU2QjFBNEZFMjg0YWFEM0M3IiwiMHg0NzFlMEY3YzdmNUM1OUEwZEQ2NTYxMGYxYUU5Njc2ODg1NjFCYWQzIiwiMHg2MWNGN2U2MTMyMDNEOTc2REM2ZDEwNTk4Y0VGY0Q2RDZFOTBFMTYyIiwiMHgzM2FjZGJDMjczNjRmRDBDMzA0MzdDZGMxQzQzNzc5ZjBiYkE4MzUxIiwiMHhBMDhmNzgzM0JkYTc3OTlGQjJGZjUzYTgzQ2Q3NjljZTgzRDUzNDhjIiwiMHg2RUU3NDIyYUE5ODk5M2RmNzA5ODk4NDJBYzBjYzk0RTVFQkQ3YjNlIiwiMHg5QWE4Y0JlMDRGYTJEM0M5QTFkMTVjMTM1MTNmMjZEYkUwNEEyNzJjIiwiMHgxQjdmNmRlRTkwNDJhQzA1Nzk0YTdDNjBEMTY2OTYyMmE4NmQ2M0UxIiwiMHhkNmRFQjhjZkU1QzA1YmRjN0UwNTE1MEE4Y0MwMGU1YTgzMmVkNjk1IiwiMHg0MUM5ODAyRTU1NzE2MWUyQjc2NzQyODQ4RGZEQ2E3RTlGNWE0M0M2IiwiMHhBY0NkOUI4YjU0ZTQ1MkNEM2JiOTgyZmY0Mzg4MjhlZTI3NWYyQzNhIiwiMHhFNmJCMDY2MWE2NDdGNDE0RWU2MzA3NzI0OTIwMjUxNDRBMjA2MDgzIiwiMHg2NkREMzI0NDA4RjNiZkQyNWFFY2UwNzYxNTU2NTM3ZmEwRTNiMkVlIiwiMHg5QjA3OWM3MDUxMDE3MTdFOGNBZkVjMmJiQjgzYWUxRUExYjI0Q2QyIiwiMHg4YmUyNDA5ZDQwMjYyZTA4NEJkMDhEN0RkYjlmM2NmRDc3ODQzQTc2IiwiMHgwQzc4ZTFlQTQ4OGFFNzU5MDgyZUE5YjdFMWY3NjU2ODIzRkNjYzIwIiwiMHgzNUIwZTY4MjM3MjgxYTUxMjdhMkUxZUQzMTVEQzg2NDc4MmUxMWMyIiwiMHgzRWNiZWY4QUNCODNDRjRmOTM0NzkyZjEzQ0Y0YzYzNDFhRTg4ZTU4IiwiMHhhYzUzNkNiMjJmMEE3NTQzQTRjMjA3MDEzMEYxQTE3MzE4RDlEMmUzIiwiMHgwRUUzNTUzMjRDZTczYzNlOTkzYUNkQjU0NWFFQmE3NTc2ZWYyNDcxIiwiMHhEMTZGNzk2OTk1ZjMyMjEzOTJlNmRmMWU5NDlGYjQ4YThFNEMxMTQ5IiwiMHhlRWFiNkRFNUM0ODQ1N2Q0YzU0ZDE0NkIyNjIyNzgzMDRhMGJhRWE5IiwiMHg4MmMxMTkxRmI4NGU1NUI5YTI0Nzg0MjljNjE0NzQ4QzU0MUEwMUQ0IiwiMHg1MDM5NTJmNmEyMDAwZDZDQkE0MWQwM2IzRjkwOGU5ODE0NzlGMEU1IiwiMHhmRDJDM0NhZTExNWM4OUQ0N0EyM0Q3MDdkM0U5RkE3YkYyNjc3QzBGIiwiMHhFN2Q5NDRFNDM4ZkI2OGMwM0Y4Yjk0QUYwNjVmNzAxMDE3MzYwMzY3IiwiMHg0YjI3YjdhZDA1OUEzNzVCRDNhYmFGZUEzQ0Y3YzY5ODRiYUI3MjA0IiwiMHhGNTBkRTBGQjI5OWQyNTVEMjQzMTgxMUQ0NmJEMzBhRTJGYjcwNTMxIiwiMHg2RTFiNGEwNmFEMDdBOEY4OGRGQTkxRUJjRjNjODBkNTkwMTlkNkJiIiwiMHgwMGM5OTQ0MDk2MjBkRkM5NTlGN0U2ZTAxNDlmN2FiMTVGMDk5NUExIiwiMHgwNEZFRUZlYURhRWJlM2NCQTRFQjZmN0E1NTRDNTVjMTQ1N2MwMjlBIiwiMHhCQTk5NUFiOTE1YTZCNWRhODY4YTc2NDMxNmM2ZTAxN0E5NWNmRTIwIiwiMHgzNGRDYzdmNzg1OURlNzNDQjJBRDc3OUQ3NzQ4MDRjMDlBOTUzNTYwIiwiMHhhRTlDYTE3MUQ3NDdmMjA0YmIxYjY5RjZlMTlkMTA4YjMwNTg0QTZiIiwiMHgzMTIzYzJiODMzMkQ5NzJCODhmNWE1NDk2MjEwMTM1ZTgxQWVmNjBFIiwiMHg3YjUyNDYwYTE0NmI1Q0Y3MjNCQWU1NTAxMUFhNUU1RDUwM0NERTZFIiwiMHgzYzkyYkVmZTMyY2RGNTU2NEZmMmYzMDkyRURhY0I5ZjlFNDBENTA4IiwiMHgxMGZFRDU5MThlQUFEMTA2ODFEMkE3MDdkMDY1YkRGNzVFNTI3MDFmIiwiMHhlMUU2MmYwYWZmM0FDMEQ5N2VBYTYxNDhEODQ4MjVGMTAzNGZBZUQ1IiwiMHhiNjQ3NWQ3YjUwNkQ5MGU5Y0QzNzVhMzNDRkZBODg0ZUFBRTE1NzYwIiwiMHgzN2IxNTg3NGI5MDc0ZTJCMjYxYTg0ODQ1MGU1RmRCMGIwNjNiNzkzIiwiMHg0NjUxRkVjZTg3MjhjYjRDOEIwZjE2QjBFOTM1MDkyODVjNDY1MmZjIiwiMHhFMzFlNDk1YzFhQmM2RjM0MURlOTc1YjE0QjZCM2UyMDQzMzNENDIyIiwiMHg1YkVlRmMxOERhQjE1OTk3RjgzQ0FhM0JDMTM1NGQ5NmEzNUI1RUZkIiwiMHgwNzNmQTZGNTg2ZWZhRjFGMDE0YTllNzljODAyMkRFNUYwMTRBMkE2IiwiMHhBZjM3QjFmMTc4YjhEOTY4MUEwQjdlMTZFREJFRjRBMGRFRGE0OWU2IiwiMHg4RWYxMGM0RUEwRTBkRTdiN2U0MzQzOUI2RTkwNDFCQzRhOTYyMzYyIiwiMHhlMjFlMzQyQ0FmRTc0NWViMGQxQUJlMTMyMEFFMmJENEEzOGVjMjM2IiwiMHhjZTU1OTk1NGEyZTI3ZGYyNkNlZmIzMTA2OGMwZmVlYWUxNjNCQzExIiwiMHhjNzg5MWRjNjkxYjBDMDMwNDdFOTQxNUU3ZDRhNzVkQTc2Q2Q4Mjk3IiwiMHhiNTRmZjgxMTJENThBN2Y4NGMzYTc5ZDg2MTUwOGEzRTFENTRkMjcwIiwiMHhiOTU4ZWY0NzJDMTgxNWM3NjI1OUUzOGUwMTUxMTg5YTY0OWE1RTFGIiwiMHg2RDc4NDM4NUExRjY1NWE1NzhDZTMxNWQ4OGEwNWI3MWFjMUMyNjVEIiwiMHhDZUFDZDQxODJDN0ZmY0VjN2UxRjM5OTM3RjBiMTgwNzkyYTFlMkRDIiwiMHhFNGRBNjg5MWYzODhCNDI5M0EyRDdjMDE4NGE2OTVFNDlERWU2ZEUwIiwiMHhlN2YxNUY2OTdlRTcxREY5RTIwOENDZjE1RmY5NWU3YUQ0MWEwNjdBIiwiMHgyODE5NkY1YkMxMEYwNTVDYUNCM2Q5RTY3OTliQUI1NzIyRjZGNmEyIiwiMHg0ZTAyMWRlNDFjN0U2MDJGQzkxODVmZkU5MTE4MWRmNjQ0NzFBYmRDIiwiMHg3OWRlY0ExZTVhNzUwZTVGQ0JDOTlGMDYwQmM4YWZBNGJhNzkwREQ4IiwiMHgxNzM1MDMwNTU5NDdDNTFjNDgxMmNFNEZGM2FjMDc3ZWM2NWFjRWJiIiwiMHg4ZWU3NUMzRTZmQkRFRDNCQjE2RDI1MkQzRThjMTI5N2YyOUI4RDgwIiwiMHgwZjYzMzBlMDE5Qjk2NmRCMTczQmQwM0YxMjkzNWE5Rjk4MEU0Rjc3IiwiMHgxNWFlMThkNDU1OTNlMDU1ZDAyMGMyM0U4MTkzZTBFREJCMDY1QUNGIiwiMHhkYzU1MmM1MUIyMjdjMzJmYTYwNjFDOWJlOTg3RWVEMzk5NThhODJEIiwiMHg0NkEwN0FkMkI4YTU0NDUzMzNmYUI0NEU4YjE5RmNCZjc2NTEwMTJkIiwiMHg2ZWY5MTIyOUMyODNBNDc1QjA4MDcxNzhiOTNhZTdhNDM3QjE0NjA4IiwiMHg1N2Y2N2IxOTkxQkM2YjREODJmQ0Q5Y2ZjOUZiMDJFMjcwODk3Y0E4IiwiMHhiYWFGNTg2MWFlNDZiNzQ4NGYwNWRBNTQ4MkEyNTVGM0I5MmI5OEU1IiwiMHhjNjNFYzRCRjgyMmNBODE4NDYwMThmMDk0N2Q2OERCNEExYTdDODZmIiwiMHg2NDY1ZTdiNGYzOTE3ZTM2QzIxNGQ5ZjJGNjZCNkQ5RDJmNTMzZkRBIiwiMHg2Mzc2OTNjRWE4OTU4M0QzNjA2NzkyNDk0ZDYyMDE2MTE2YzIzZjFEIiwiMHgxOEJmYmRERjkxN0Q2YTlmMDYxMkY4QmI2ODg0RTE5QzJCMUJCMzBCIiwiMHhGQzlEMEFiNGE4RTdGOGU3NDQ5ZkJkYWU4RjBGRjQ5NGJDREQxNzIxIiwiMHg5MUM1YjI0NWVGQTJBMzdiODU3MGFmQzQ5ODQxQ0MwOTE3NDE2QTkwIiwiMHhkQTk5Q0YwNzhiY2UxQzU2ZkRGZjVDMWYxRjQwQTc4RGY3NjZlMzIzIiwiMHg2MmExMTMwN0ZmNTExRDhjNTdlNTczNTU3OTU3QzU5OEE3NDAwQmIwIiwiMHhlMzRlRjI4MEVDYkJlZDc4YzUxMDZhODk3MmZDZjczNjEwMUUyMUU5IiwiMHhCZDM4RDNFZkM4YjVEQTI0QTRjOTcyMDFkYzM0M0E4NWFiMTUzNkFGIiwiMHgyMGU0QTJlNGRFMTEzRDhBYzdCODIwRDcxNkI4ODk4ODRiMjdmMjFDIiwiMHg1MzEzZDFDNWM3Qjk3NmZCODQ1NUMwNkI4QjY3RTRiMDZlN2E2MkI0IiwiMHg0Q0YxY0VjQWFGRDY0YTFFQjdhRWUzN2Q3ZGIyRUNlQjA1MkFjZmY0IiwiMHgxOWExNkIzMzlFOGVkOEI1ZDliOEUyMTU1RTdFOGYyZjM1MmE5NmMzIiwiMHg3OTRGMzM4MzU5YzJFMTE5QWU3M2MwQkJFYUQ0ODhkY0FDODFDQzEyIiwiMHhFNThlYjBlNjIzZDA2ZTMyOTAyMDgxMzU2ODEyNEUzNTQxQTM2ZkNjIiwiMHg5NmY2NkU3MkEyRjY1QTNjNDdGZERiYTUzYUQ2MTQyQjczQ0VFMjNiIiwiMHgwZjBlODZkNUU5ZWY0ZDIzYzY0NTQ1MmE2ODJjNTZFOUY4QkU1MTFGIiwiMHgzMzJmZjUyMDkyNmIwODY0NzM4NDYzRkNmMTExNDk4MDAyQWQ2NDY1IiwiMHhiZDVhOGE5M2JiOEYwREQ0MjQ3MzkxNTFENjlCZjQyOWUyMDgyNjJiIiwiMHhmNTlkRDc4MTAzRjA0NDVhNzBiYTNBYUVhOWYwQzE0NEUzRkM2MEMzIiwiMHg1RjkxMDY3YWJCM0MyNUUwZGY0MjkzZjFiMzg0MjQ1QjcwODE1YmViIiwiMHhBOTQ3ZDk0QkRGYWZiMEU1NzAzODQ0MDk4Mzg3NEJlMTgwMTg5QTg4IiwiMHhBMkYwREVjMUQ2YmRFZkJlRDk0QjU2NEEzN0U3ZWY2YkM0NjFlM0I3IiwiMHhjNGU0RDUyMDcwN2E2RDUzNGFEZWMwZTk2ODM2YkUwODdGQkVBYkJlIiwiMHg2ZTM0QTJFMzBGNEZiODUxOUM5QzAzRUMzRWIzQjlFQzRGMGJlNTQ1IiwiMHg1NThhOEY3RThmNWFEMWQzZUI2MmU2MGIxMzBEN0Q3MDM4Njk1NTY5IiwiMHgyNURBY0Y5OUE2Q2FCYTk3NGY2NDhGNTM2NDdhMzExYjVFMEYxYjkyIiwiMHgxNDQzODQ2NjQxOTg4NTkyQjM1Mjk4Njk4NTE0NDREOTI1NjNGODQ4IiwiMHg3OUM1ZEM5QWU4RUVjNjlBOTBkZmYwMjU5OUYxNDhFOTgyMWRiODUxIiwiMHg0QTZlNzEzMDdmMjhmODUyQjU3NjkwZDRmQTRiODA4RDNjOWQwQkQyIiwiMHg2MTQ0ZDM5OTJhNGVERkEyQWJBNzRERGQxOGNDQkVhRkFEMDNlZTlDIiwiMHhhMkMzMEJGYTI3YjdCYTE5OEE5ZkE5QzJhMjhCNkNGNjUxMzM0YkI4IiwiMHhhMEZjZkFlRGVERjgyMWZhMkZDMTdmQUU3RDM0ZUQyMGRjZEY5QkY2IiwiMHhCMDE2RDk4ZTBBMzVFMzNBMjU4NGNmM0VBZkE0M2Y5MTdkYTYwNzBFIiwiMHhhNDUzNmZCMjA4YTUzOThiZjRiNTgwRjg0MzM4MzA2Q2Q0YTc4OTA2IiwiMHhiNmEyRjE1MjI4RkEwY0YwMTZmQzI3NzdGRkFGN2U2MzBGZkE3QTIwIiwiMHgxZWJkQ2IyMDRFMjBFRDlGNjFkOWQzY0ZlRmM2ODNmYkY5OWQ4OWFCIiwiMHgxMTcyMDI1NDUwNTM1YWUwOWNkN2Q2M0I0NjhENzUxZWVCOEE0ODIwIiwiMHhiNGI4ZDNkOTJCMzA0ZTVhNzViZTkzYUJkMWI5NWZBMTkxY0UzMDgwIiwiMHgwQTMzNzJDZThBZkU2RTBBNDBGNDc0RjhFOWI3NWMzNWM1ZmI4NDljIiwiMHg5MTUzM2VEMjIxMGEwNTQ4ZWNjODZCMmFjQzgxNURDNkM2NjFkNTJGIiwiMHhiY2YwOEU2MTY1RjUzQTcxRWY2OTk1ZTBENTc0QWNCMkM4NDkzOTgwIiwiMHg4ZTBmQzE5YjQ4QUFmMzVmMzA1YjRjZjc3ZDA4NEE3Y0QzM0U2QjYyIiwiMHgwMjNkNTIxQzdDODRhN2JENDUyNjNCNjMxNGM3YURCZEFjRjMxNzEyIiwiMHgyYjUxZDU0ODI1OTNiQTIxQzk2YjMxZjI1ZDNBRWE2ZjI0NTczMTc4IiwiMHgzMTM0YUVkMWE2NTg5NGQwZmUxZWREMWNCMjk2MzE0YzgyQ0M2ODlGIiwiMHhEMjU3NTdiYzE2MkRFY0JiMjlhRDRmZDY3NjZCM0Q4OUMzN2RGNDYxIiwiMHhBM0YyM2RDMDI4NDkyODI5YjE0OThDN2M1YTk4OGJERTU1MjI1QjdkIiwiMHg5NkEyNmQxMDhFNUYwMWJEQ0NBOEM1Yjk5NUEzRmFFZmY5NTI0YUFDIiwiMHg0RTBEYzZjZWY1NzBDNDlhYWQ1OTJjNDMxRTg1MzU5ZEIxOEQzNTgwIiwiMHhDNTdDMEMxZkM1NGQ0RTI2ZmY1MTZhY2ZhYmYzQTE2NTQ2MmI4RjZBIiwiMHgyMkJjMUU3NjZCOTQ2OEU4MUQxMDlFNWViRTQ3RTI3OTA0OThDRjEyIiwiMHhhMzUyZUFGZUMyNTM5ZkRBOTMyMjFjNEVEMjdDYzdkNGM1ZWVENjhFIiwiMHg1NjkxMDM5Mzg0MGQ5YmUzZkQzNTk3NzMwZDAyM2E0NzFjMGNGMzM4IiwiMHg5ODlFQ2U5M0U1MzM3ODM5YWU1YUUzYzA2NzVhOUE3MDdmYjNDZDcxIiwiMHg0NjE4NzgzOTFiZThiRjUzZjREQjNCOGJlMjI4ODdCNGIwNzgyYkIwIiwiMHg2MzNlZEMzRmQ1QzE2RTRGRDE2MGQyQmJkODVEM0FlNGI5RWZjNjgxIiwiMHgyMDA2QjJBQ0VkYTU1NjQ5ZTFCM0ZCODMzZmVGMmMzODM1YjNCNDJDIiwiMHgzMWRCYzYzZDVkODNmNjdBNjBGNTVEQkY5NDBDOUJlNjg5MUU0ODAwIiwiMHhGYWYyRDFhOEU4RUYzYzIxNDZCQjZhMTg2QzBDOWFGOTdBMEU1ZmZkIiwiMHg0MzUwOTRjMzA0NzRDYzlmM2Q4QzlDYTZGZUYwQTQyOTM5MjkwNDQxIiwiMHg3YjQ0QzY3NEQ3MmE3OTE3NTk2YjNBOTY0MzQ5OTZCRjA5NTgxRTU2IiwiMHg1MjM2M0MzOGM5MGNCN2VjNDdiMjk0MDBENDM2YTIxNzA0MTI0MzMzIiwiMHgyRGI2QkY5MGIxNDdlZThGMjY5YUE1NDkwQkZlMjY4MDU0NjQyNjZlIiwiMHhFNzA1NDc0ODc2NEQwMjdDQzY4NTE4NjQ3RTA3ODRGNDQ5MDk5RkM0IiwiMHhEZTc2OTM4ZjI3Y0ExRGZkYzEyYkM4NjU5YTc4OGIyODBmMjg4ZTYwIiwiMHg5MGJDODEzMENEMTlBMTFiQjU2NGI4ZTk5QTRDMzA3MUM2ZkJFMjk0IiwiMHg1RTc0YUIzQzc5ZDNFNDQ2Yjc3QzZiZDQ2OURGZjNDZTJEODIxNTAxIiwiMHgwZTIzRjdCRjBBQ2ZmMTU1MThEOTMyNDU0MzZjZjZCZDAzMjc2NjZjIiwiMHg5YmEzYkUwMmNjNjJGNjcwQzNDOTIyRGFkNDA1MDE2ZUI5OTgwNzcyIiwiMHg4M2E0MDU2M0ExOWM2ZjE5ZEZCOTNFNWM0OTYyODAxMjlEOTdFNDIzIiwiMHg1ZjQxOEJiRDQ5ZUI0MGU4YkMwQ0IyYTNERDA5Zjc3QjAyYkRlRjkzIiwiMHg4OTA1ZGJjNUFkYjU0MWYxQTc4RTJDMzI5Mzg1NTI4MzdFNDNmYTdGIiwiMHg0NGM2MDYzOUYxNjZkODE3YWY2MUM1YjQ2MjlhRGMyOTYwZWI2NTg4IiwiMHgxNGEzN2U1MjE4YkQwODZGYzZBNDgyQzEyNGFBMjcwNEQ2M0UyYzY3IiwiMHg1NWUyODEwMTg4OTg5YTUzZDdFNTUxMDZDODM1NDBBZDlkQTQ5MzI5IiwiMHg0YWUxZmFkQTkzN0NFMjU0NzI2ZGM5RTU4YjI1RGMxMjNkMTI4MUZkIiwiMHgxMDM5MUYxNTk1MDAzZDZhMDg1MjYyQjAzNTAzRDdiMTA1RDBFRDEwIiwiMHg0NWFDYkUxRjY1NkUxY2MzNUNFYzA5OTcwNTA3NDBBMjEyNjk1MGZBIiwiMHg3OGFBQ2JENWZENjUyOUZlZDc1NDkxM2ZDOTQzOGZmYzE0Q0FGMzdBIiwiMHgwNzU1N0U1MzBlRTFlMzQ4QzQyODg1NDBFQmIxNzM1YzUxRjJiMDk4IiwiMHg4MTMzNjYxZTljOTRjODMyOWRjMjk1QUE0MmU0MGE4ZEYzZmJlYjVhIiwiMHhBNzNlOGY4YmQyMDE0Njg4Njk3NWZjMTlCZjM2N2JBMEJDRjY0NzQ0IiwiMHgyZDNlMmNEMmQ4NDRhNmM4YTY1MDM1Q0I1NDJGM2UyNjNlYzVDNzlhIiwiMHhEMEI5MDc4RGNERDJEMDIyNzQwOWQzMTJDQjMzNjU3RjhmRTA2YmJkIiwiMHhmODVmMzIwOEE0MTY5YjEwMDA4Y0YzOGZGMzk4ODBkYzU3MjJjMDU0IiwiMHgyMEFlNUY5NmNFQWI3MTI2MDhmNjBFMUNBNmMxZmZmNDA2REZiYTU0IiwiMHgzMmZBQ0EwNWQxMDU2NzM4QzU2MmFFRTk3QTQ4MURiZDdjNzFlZDAyIiwiMHhkMzM0NDQ5MzQ0MTRmMWIxNTQwMmZGQ0ZjMjhFRGQ2NkVjZDg5YjFiIiwiMHhlOGM2OUYxMTBEMEZFNGJiOTJFYjk4ZjE1NUUzRDUzREEwRGM2Y2RlIiwiMHgwNTNDYmJlZGNDQTlFNjc0ODAxQzM3MTI4YTNlMENkMDVlMzU3MDgyIiwiMHg2NDFlMzM0OUUxRUYxMGY1MTdCOGMwN2QzMUFlMDViNjE4RUE0RTkxIiwiMHgwYTIzNEUzNEI5Y2U4RTIwMTNCMThBYmREMTM2ZDNmZDlkMDk0MTE3IiwiMHgyMEQxMDlkNkU1NWU5ZGQzQjRhN0NlMjNjMGU1RGFBYUEyMDU3ODMwIiwiMHg1RDgwNDk0NjgwYzFDMTEyM0UwMDVjNUU4MzExOUI0RUJkODQ2NDdjIiwiMHhlQzVGNzM2RUQ0Q0NCMThGNDQ2NDZjZjM0NGZmYTQ2MWUyOUQ0MUY2IiwiMHgyZTMyMTgyREM5Mjk2ZWYwQjA5NzA2ZUUxNUIzYzcwQkRERTFiOTNBIiwiMHhlMDY2NmIyRGVmQjMwNjAzMDA5QTg3RjdFNUNmNDk3MDZBOTk4OURBIiwiMHg4MWNCQmYxNjNlY2JmZjc1YjhjZEIyMjVCQTAwM0E1QTk1NDk0QTcwIiwiMHhFRTc5MzBiZDVGRDBCMGZmNEUxRjA3MkRmNzFFMDJCODlkNGI2MUUwIiwiMHg3MTBhZmE2MkNhMEM2ZThhZDQ3YTQ5OTM0RGFkY2FCRTc4YTE2QjQ4IiwiMHhkYTM1Mzg1NGE1MDQ0OUQzQ2ZDYmMyODE1RTcwNGU0RUNGMzFhZGUxIiwiMHhlYjZFMjc0NzM3NGU4MmFCMzVlQWVhNDJiMDhjNGMwNDMwNTcyMzM2IiwiMHhDRDUxYjAzMWVmOWMyZDBGQUNFQThGOTExQkE4NjczOTNENWQyNjFGIiwiMHg3ZTJCNjI2N0U5Rjc2OThFZjBkMEY5MDQ0ZWNFQTk4NGNhMzEyN2RlIiwiMHhGMTQ4MzA0MzVjMzZEZDgyMjkxNDk1QzkzMDZBQTYyQzgxZmNEMDRlIiwiMHgxZjYzNzlmMWI2RjY2OTBFNEEzRDQxMTAwQUY0MTM4ODU2MjA3QTBmIiwiMHg2RGQxNUU0MEUyNmY5YzIxNzgwRmZDMjIyMEQxRDlBMDg4RDZDNDEwIiwiMHg5YkM4MjUyMGZkMjJDRDMwNDZBNzcwNzlGQzFiMzA3NTMwMEY1NjYxIiwiMHhEZmMzNzNlOTQ4NGQxOTE3MTg2QWRGNURENUY2QTVjYmFjN2VCM0EzIiwiMHg4MDAxRDFFQ2RCRDY1OUQxQTcwYzAwMzRGNWY5MkI1QzY4RmEyMTZkIiwiMHg5MmUzYWNENjYwQ2Q4ZjEzNjk0N0I1RTUwQzAwNTg1NUJENzdmQTZmIiwiMHg1YmEwNUNiQzA5ODUyNzU4N2JkOTQ4NERGMDE5MDM4NjJjZkRjNDQyIiwiMHhmZjQzMENjQjM2Q0FGQzIyNTMwOUQ2RUQwNEVCZTc5YzE5MkZBM0E3IiwiMHg2ZjY5NTk4NTRGNkFhNzQwODY3MTY4ZWM3QzQxMUZkNjgxNjkxMzY0IiwiMHgyZkYyNWRCYzQ1QThENWJBMjE3QUZEMjU3Mzk3QWFBQ0NmRDY2NTU4IiwiMHg3MTVCMDVhYTg0MjJGQzFiRDM1NTZiNTcwQjlhQTYzZTE5MUVmYzBlIiwiMHhlMThlNDc5ZURjZUUwNUMxRkM2MTJkN0E3OTc5MTU3NDBmQzkwRTQ1IiwiMHhGQjVFMTYzYzMzZDhENGUzNmIzNWExNzRiN2UzZDJGMWExMzQ4NTY2IiwiMHhFRDExZTYyOTZlNjQ2Y0QxQkVmMjU4OWMyQTJCODk1QTYyQzZhNUI1IiwiMHg3OTIwREZjRmI3N2FhQjk3NDZCMTQzOWZmNTI3RDdmNURENjY5YkI0IiwiMHgxZEY2YkM1NTc3MjFEMDkyMTY0MDQ1NDBhNjUyMDkwNkQ0N0M4MkFEIiwiMHhhQjBiNDA3YUNFQkM1OUQ5QzgzOEI2NUJhQjdhOThCQzljNDk5OEE5IiwiMHg4NDJBNGRBRDMzNDZkMzQxNTliMzViODc3RTMzNmY4RDVCMTg3Y2YwIiwiMHg2QzBlM2E4NGVGN0E3MTk4MWIwNTQwMTRlRmU3NUU1NDhiOGFkRDUyIiwiMHgzMDhFMzI4NzNiQTZhYUVEODhkZDllQkE3OGI2OTExMDFGQzJGRDViIiwiMHg2MzI0OWU4MjExNDVhQTFmOTk5MkMxNDhBMGZjYjI2OTJhMTAzMzNlIiwiMHg1MDcyQ0UxYUQ3MWRkYjI2MUEyMERiQjUwODFCMzE2QWZDMzgzZjY3IiwiMHhlZjBFODIyMDQ1MzZGY2U5RUEyOEQ5RkQ2MzE0MjZmNWFDNGI4ZjJkIiwiMHhiQjQxNDM1N2NlOEIxMGVjMDkzMzhkNjUzMDE3NjI3NjQ1RGIxRUQ0IiwiMHhkMThhMTVFNDFlZjc0NTY1MTE2RjkzODgxNDhmZWQ1OGZBOTExYzUzIiwiMHgzN2UwRTU0M2Y2MjlhMDE4NDg2QjlkNDQ1YjU4OEU0QTRlRDI4M0ZlIiwiMHg2NjQ2RGZCMkVGNTMzMjdmNjExMTg1RmRlMTYwQmQ3YWIyNUVkRWNkIiwiMHgyRTcxQTU2MTVGNTdGYTU1NzhkQUNiNjQ5MmE2MDU2NDJGNkYzM0Q0IiwiMHgzNEZFNDA3MDM0MzUzQzA0NzcwNWY3NjlmNTBjZjcyMGMwMTg2YTdjIiwiMHg5RjdCM2U1ZDNlNTg3NTZBOWY5MDNCMGMxNDFiZUI3MmQ4ODk0OEZjIiwiMHhkMTY2NDYxRDE5MTZDRjcyRjhhNjc3Mjk5ZDhGMzg1QTBhQWU2ZDEwIiwiMHgzN0Q5RDg0RjUzY0REMTFGNUFmNDZhYzZkZUQyYjhENTJCQTUyNUVFIiwiMHg0MWQ2MzRhM2NBMzE2MmIzQzlCNWIxMzE3MTkyQjE0MzYwOEFGMzQ1IiwiMHhjQTczMWQ2MUVGYTAzRTBiQ0FkNDYwMzIyYUU0Yjc4REYyRUVBZDM4IiwiMHhiOEVCQzA5ZjFjNzdDQzJhNkVEY0UzM2ZhNzdFNTZBNUM2ZjljNzU3IiwiMHg3MzQ0NkJmODBEOEFBNEMxMjM4N2UzODJiZTZiYzEzRTM2RDdBNEI5IiwiMHhCMTYyMjZlOTRhYTEyZDQ4QzgwRjk3Q2UzMWFCY0I2RTk1QjRkMzYzIiwiMHhiNWU0MGQyNkYxNGRmZjlDZWUxMGZlRDVGNUJBOGY4NDI1QzkwNGNlIiwiMHg3OTUyZGI5YzI0MzFjZjAxREIxNzBDZEQ3ODVCZDkxRjhmQTBjZjNiIiwiMHhEMjUyYTY2RjIzZjY0Nzc0NUM0N2ZCNmE2MzU4NGE3MDk4QzEyOWYzIiwiMHgyZWEwNUFmNkQxMTEzMjdCQTI1Nzc5NDEwZjQ2N2NFMTZhNmQ0RTc2IiwiMHg4QjQxRjEyMThDM0MyMzM2YTM0MWUzYzI4QTM5QzAyN2U3MEQyNUM0IiwiMHgzZDMwMERDOUVCQTQwOUQ5N0U0YTE3OUZmOTEwMEY0QmEwNTNhMGRBIiwiMHhBNTIwZWUwODY1Y0MwMTQ0ZWVBQUY3MzE5MzFFNTVCN0QxRjZGMWU4IiwiMHg0ZUZEMUUxOTFmQTFGNTkwNWJDMDU1Q2Y5QzBkMUY5NjA3ODBhZUJmIiwiMHhBRWVjNTliYzc1ZjI3Njg2M2ZiQThhRjFCMjI5M2YwNzMxRThmRTJBIiwiMHgwNjllYzA3NkY2MTljODMxRkQ2QjdCYzBFYTQxMjc5MjZDNDhCQTAwIiwiMHg3RTUyZDkwOTNiN2JFQkM1MTFGNDM1ZTE5ZkIxMzI4QUY0NTRkMGIzIiwiMHg2QmQ4ZEEwNTRDNTFjMzNkMzcyMWE0Qjc2YUE0NWExNWYzNWRkNTU4IiwiMHhFNzk3Qjc3MTFEMzVCQWYyQmQwNUVjQUNDMUI4MmYyNjc4MWRhOTMzIiwiMHg0RDdmZTNGY2JDYUI2MTc3ODAxMmEzZjAzRTFmOUM4MDhkNjg4ODYwIiwiMHhFNTZCMTczYzQ2NTNjNDk4N0MzMTE1NDNlZmM0MjlEYmNFNjEwQTE0IiwiMHg2N0E0OTFCNTRFMTM2RGJGMzhmM2YwOTg0MWU4NjExYzU0MTQwZUMwIiwiMHgyN0MxQzQ4OTgyZGIxMjcyOEE0QkQwZWI0OWUzRDM4NTZkNEM1NDM1IiwiMHg5RWE4NUMyNTFCMjAyMzlGNzg1NGE4QTM4ZTlhOTFjQmQ2YjA5NkQ3IiwiMHgzMDFBMDRCQ0I5OWNmZDBjNjRmYzUxZEI2MmRjNTZiNjhBMDg3OGMzIiwiMHhFZEFmM0I1NTRGMzhDMmE3NjBDMTZmMWEzQWVBQWMwNzZmMkVCZjk4IiwiMHg4RTYwMEZhNzQxZEE5MkREZTE2ODBlNDFEOGQ2N2YwQ2ZkM0UwRTBCIiwiMHg2NjdmNjc4NTg3NTFCNTI5ZjNEYzNEOTkyODUzNzE5MzllYUJlYjkwIiwiMHgyZDZDQzdCMmY4YmY0MTJhRUUxQ2ZhNzNjM0Y2OEEyYzlFZDIwNEFGIiwiMHg5ZkU1NTIyOWU3OTU3ODE5NzdBNEVGYUZFNWMxNjAyYTE4NDVERjI1IiwiMHhkQ0EzZjZmQ2FhZEQ0OWYwMWZFYzBDNzk0OGIyNDI2RURlRUI4MTJEIiwiMHg4QmRCMmYzMTk5RjhEMDFBZDk4MDFmRkVDRTBjQTBkMzI2OTk4Y2Y2IiwiMHg1MTYwZjZFOEI2YjAwZGQ2Mjc0NjA4ZjhmMzQ5NzA2YWE5NWE1MTFGIiwiMHg2YTRGODExQ0ZCNDVlNTU4MzJDYjI2ODI4Y2NiMDYzZUQ0ZmQ2MDc0IiwiMHg2MTE4MDVDZTQwNzFDMDk2ZjViNDQ1NTdiNDU2ODU4MDJkOGE0NkZFIiwiMHhjQjJBODMxZEJEZTRFMmExNTBDNWEyOTgwRDQ0QzY4NTIyOUI2YWEzIiwiMHgwM0VCMGNkQ0Y3OUI1Mzc0RGNhMGI1Njg1NjkwMzJhQjhBYTYzQjYzIiwiMHg4ZjE1ZWQ3NDJDZDNGM2MyYTAwZmE5MzM4YTE3ODAyMzFkNjUxN0Y4IiwiMHgyQjQ2RjFBQTU0NjM2MDdBNGE0NTJDMWUxOTQ0ODQxMzAyNDdBMjI0IiwiMHhDNTIyNkNhNDI3Njc1MjIzZkFjMTAwQ2UwMzc2NTAzNjdjNkUwNkM2IiwiMHgyQUZhMzZiNmQzNmNEQkM3MTIyYTgzOTg4RDE0Mzg0MjBBN2IwYUJBIiwiMHgzQUY1ZjYyMDE0NDUyODNjYTA3MWIzOTU1MDFlNGViRjBjNDMyODlGIiwiMHhhOGRkMjIxQmMzMTA3NjM2ZDhmOGI2NEM0MDcwZWQ2NzA2YTQwMjM0IiwiMHg3YmU4MzcyRmIwRTE3Q2QzNjU0NWZDNGNjNTIwMjY5MTVjRmY5OEIyIiwiMHhGRDY2ZjM3MEM0N2NFQ0MwQ0ZDNDdCRDlGNzZmMjQxM0VjZEM5YTdjIiwiMHhFNjBCNTNGNUU3M0E2RjkzNDdlMzlkODk4NjFFMTZhZjhmNEE2NDA3IiwiMHg3MkMxRjZGNTQzMWQ1MjIyRTVhMkQzZEEwYUU3OWZCZGE5RjBGQ2VhIiwiMHhCNDBERmMwMDAzNjU3RjcwYTM1MkY0NDc0YjY4NTVFQTM0NEM3Y0MzIiwiMHhDOWRkMTZFOTM1RmFkMmQ0OWFkNzM0YWQxNjcyODIxZTFkMzgwNjBCIiwiMHg3RjkzNTdhNDdCYkJhQzIxRTMxYzJGQjM4N0YzMTcwZjI1NEQyMzFEIiwiMHhGOTJiMGM3NTY0MDdjNkEwM0ZGNmU0RTUxRTFGMTA2NzNmNDQ4NjIwIiwiMHg2NDFCRWREOURlOTc2ZThhZjVGNzU3MjJFM2IzMTA2ZkYzQkU4M2YwIiwiMHhiQWU5YzcyRkRjOGFDQTg5MURhZGM0RmI2RTg5MUJmYTEwMkVlN2M0IiwiMHg3NDdhN2UxZDVFNzE4NDA2N2U5QTU2QjMzRDA4NjMyZEFkM2Q3Y2Q5IiwiMHg0MWZkNTlmMjAwMzAxMTg0NTA4ODNiNzFhNTUwZUEyZjk3MzA0MkFDIiwiMHhlRDM0MDVERTBkRjE0RDZDODRkMWMxOGZmRkM4MDI5QmNEZTIyNjVkIiwiMHg3ZjFkNGFFYzNDMDYyNzcxZThkMEVGMEYzQzVmMmQ3M2NlNkUyRTEwIiwiMHg4NTA3MTAzZDk4RDFDNzA1NTYwZDViNmIzNmYyOTI5NDI1YzM3NWUzIiwiMHg4MGQ3MDBkNGU0MWUzYjBCNzMxOGM0MjE2NDljMzMyRjkxQjE4MGM1IiwiMHg3OUYyMTBiQzYwZjk0Rjk4MjcyOTZFMGM3NGZhYUMyYkJEQjlBMTAxIiwiMHhEZjY5MEQ4Mzc1QzIzMGNjQmZEMWM2NkFCMkQwNEI0OTk0OTc3QzkwIiwiMHg2MTI3OWFGQkIxODQzQUVlYTY5Y0M2ZDMzZjcwOTAzMEQ0MzZCQjc5IiwiMHhlODUyNWQ0MWViNTU4MzhlOWYwNzcyY2QyYjMwMTcxMTQ4ODMwYWRFIiwiMHg4NjBhYkM0OWM0QTY4MDJFNjBkMzVmYzJhOEVEMjA2MUEzODE4MDdkIiwiMHg2OEFEYjVEQjZiMTI2OWUxNzcyMTg0OWYxRmREMmRjMzlFOUFCN0RlIiwiMHhGNjQwYTM2NjFDNjhEMTk0OTcyNjM4OGNiNDAzMjlmOUQ5ODc4RWVmIiwiMHhhMTkwQzAyNzI1OWJERDBCYWEwQzllMjk5RjM5OUFFYTY1ODIxQzlCIiwiMHhFMjBDZTJmNjI3Nzc2N0JDNUY0MUExMEVkNTdiZTFENzdlRDlFMGFGIiwiMHgzMTUyMkI2NmJDMGQxRTU3NmE5NzE2OWQ1Y2I0RUMyNjZlMDQzOGFBIiwiMHhjNjY5MkVjNWM2NDhhM0UzYzg1RDE1NmVBM2Y1MTUwNDJFNjBGZkY3IiwiMHg1N2QxMDNDOGU3YmI4NUE1ODRhYUE0Q0VBMEVBODZmNjA0OTBDRDg1IiwiMHhDZTQ0M0Y3MkU1OUM4ZDAzYjU0ODgwRjA0MThhYjY3NzMwQ0UzNDk3IiwiMHg3NEJCZDc3ODc1NjNmYjgxNzVBNjBGMUQxNDM1NTkzMkU2NjYwOWYzIiwiMHg1MTUwZDM3NzlGNTUzNzU4NzZGQjlmZThhMTQ4MThCNjI1MTlhQzk4IiwiMHgwZjc4Mzg1YjA1NjU5RWRiZDYwNjk5NjgyMzNERjExZTM2ZWNkZjAyIiwiMHhDMTlCNTdBOTE3N0UwM2VBNGY2Y0MzOTVFMjg2NjlGOGNGOGFkMkUzIiwiMHhlQUJFNTlFOERkNDIzOWM2ZmY3MzE0N0FENTAyQTk3NTQ5MDI4NjE3IiwiMHg4M2ZjNDUxNzc4RDgxODI3ZDY4MUQ0NjY2MjgzRDQzNDQzMUZhRjVBIiwiMHg4REI0RTZhMkZDMDJCMzMxZDk3ZGI5NzAyYTlkREE0RDZGNEFDRjZFIiwiMHg3Nzg3MmIxMDRBM2I4Y0JGMzg3NDgwRUEwZENmRThjYzRkODBmQzc2IiwiMHg0NmYyYjU0OWM2RDQ5YmNDZGM2ZUM3ZGM1RDk3MmM1ZTMzMDkxZjI4IiwiMHhCNjgyNWEwMjA0MDJmMEVjMjY0OWQwNWFBMjJFNjVGOUVDMzE5OEJiIiwiMHhkNkU0YzM4M2FmMDQyNDgwRDg4Mjk2RjQzNDQ0OTJiMzY4ZTQ5ODkzIiwiMHgwZGVENzZGYjc3NzBiNzdiY2M5NkVkZWZjN2QyQjYwNUVkQjlmMDljIiwiMHhiMzNCQTIwYjkzZUM2ZkQyZTdmYUJFNjQzOTMwMjIzQjQzOTI5M2JDIiwiMHhEMzlFODcxMWUzREM0NGU1NTk0MjI5ZTY5OTk2YTEwMEFjRTFlMjIyIiwiMHhmNzU2QTM4OEJGNDI0OTlFZGM5MjI0NWU1ODI3Y0QyNTY2YzgyOEYxIiwiMHg0QTE1N0VGMjMyNzIwMGJkZmU4Zjk4NTc0ZjY5MTJFOEM1MjRiYjZDIiwiMHg1NDM2NzM2QWQ5NkVkODg3MGNCRDU3RENlNzZEQTExREY5YjE1NGNmIiwiMHgwNkU0YzExRUFhQzg4QUU5MjUzZjlFODZCNjBjOEI0RTdENEIyODFDIiwiMHhiNjc3NjNjOTI5QWJCN2ZDODU1Njc2MTdEZEYyYjdhM2ZCZTBiMTlhIiwiMHg1MzQ4ODc1REUzNTcxMmJEMjlCNGIzREZiNzJiMzk0RmYxQ0M1M0I4IiwiMHgyRThmNDAzMDMyQzE3MUY5NzFlNzljZThGRUQwZmQ2MmE0OUYyZjYzIiwiMHhlRWY1ZTdEQWQwM2IzZTA5MTAzMTI0NDZjOWZCYTcxRjMzOGNmOTU4IiwiMHg2MDc5QzY0RjBCNTA2NmVFOEY4MDI1QTMzY0U5RTIwOGY5QjE2RjY0IiwiMHg4OWQwNmE1OTZiMGY0NGU2NjdFODdGNGI0NjA0OTc3Mzg5ODc4MzJmIiwiMHgzNWRBQWQ1MjFEM2JhNGNmNzA2YzA3MkI2NTMyZDk2NDlCQzNEQ0IzIiwiMHhBODAwODBiOTZkMTZiMDY1NWI2NkE5ZWY1N2YwYjk0MEE1M2MxRWFmIiwiMHg0ZEUzN2MzZGU5RkREMzBiYjYzYzcwQ0VEZGNjNjdlYzc1QkQ4MTcxIiwiMHg2MUY0ZUFEODA4OUMxQ0JFNzBiNUNDQzNBQ0I3RGZBQTAwNDE5Mjg4IiwiMHgwNDYwMmVDZGNFN2RBQkYyZDI4OTQ2QkI1OTlGREQyRkIyN2RFYzM0IiwiMHgyRDc0QjkyZjZjYTE1QzU4MTUzMzg4QzA1QUJjQ0I4NDk2QzVCYkY5IiwiMHg5YkZkMjEwMDg0MDFENGViNGRjM0Y2RmViOUU3MjA0RjIwNTIwZDU4IiwiMHgyMDAwNEIyZWE3ZUI2RGFGMWVCRDhCOUM3MUU3RjY3OWQzZEM4N0Q1IiwiMHhBMDI2ZDJjNjlkQTFCRGI0MTkwNzFjOGFhNzFlQ2Y0YjljRTk2MjIxIiwiMHg4ZTEyNTA0ZTAyMWNkZmNDYjk1ZjMzZjQwMTIwRTRhNmY3NzI5Q2NDIiwiMHhDMzkxZjI2RTRERTQyOWQzMTc3OTgwZTQ1NkU2OGYyNjZCQjY2QzNBIiwiMHgwNTFmZTk5OTAxYjlFODIwQ2VhNzU1NjViN2E4OGNGNzU4MjQzNWVGIiwiMHg2MDhiRTlGRjVEMTYwOThFMDQ2ZmQ1MGQ5MjIzQzNhMUVhMDRFMDE1IiwiMHgwQjNBODZBODczOTc0REU1RmRGRGJCMEIyOGMzYzFiMUJCZTQ3OTJhIiwiMHhCZDgxMTVDN2E2OTgzMGM5MTJjZjMzY2U1NThFN0I0N0E2YUZCNTFkIiwiMHhFNzM1NjZENjkxOTJERjA0Nzg0Mjk4ODdEMzBDOUQ0NTRjZTJFZDNlIiwiMHg1MjkwOUU4YjU5NWE1ZDYzODA1OEFjQzcxQjRDMzE1NDM0ZUNBMEFGIiwiMHgzMWUyN2RkNGUzQzcyOTgxMGZkY2EyMzQwYTRDMTBlNzQyNmU2RmI4IiwiMHhkQTQ1NzQ4MTE5MmZiMjk2MjMwN0Y2ZERDMzVmQjZiNDY1N0VkY0RCIiwiMHg3MTBGNTVhOWNEQ0VGM0RBMDA1YjllNzRCNzQzMDcxZmFkMmQxOTZBIiwiMHg2Mjc2ZDlkN0YwRkU5NjAzZjk4ODIzYUZlZTdmRUNDOGZEMjY0ODI4IiwiMHhkNjIxYkM4MjQzZGUyMTc4YzFEQkM5MTNlNDY3QTcwRjk4OTJBQ0I5IiwiMHhFMDk5MDVhNzE4Mjg4NDI2YzUzOWE0YWU3Rjg2ZEU5N0YzYzBmRmMxIiwiMHgwQzc3MDI3NDRlRDk0YzQ0NTM2NmM3MjJhQWNiNzFjMDJBODgwMjNGIiwiMHhiYTZENTRkMWVDNTFmYzA2ODJlZmEyMUEyNTUyOGFGOEZCRGJhRWUwIiwiMHgwZkI2MDdmMEI1RjlCNTQ3M0FjZjRmNzI3N2U0QjEzNjlCQjdCM0ZiIiwiMHg4OTZCNmViMUYxQzFGRkNFODQ0QTE4NkQ2RjVCRTk4NkZlQTg0OGNlIiwiMHhDMkIxNDFCNDI0QzYxNGIzODYxNTBENmRGNDllZWY3ZTk0NzlkNTg0IiwiMHgyOWFiOGNEMjJCODRGNTJBQjM3OGJEYmFhNzU1RjUwOGQ4ZjU0N0U0IiwiMHhBNEFBQTM3RDAyMDFCNEZCNWRmNjZiMWIwYWZlRjI1RWYyZDQ4Yzg3IiwiMHgzZGY1OTY2MmU0NTkzNDY4RDRmN0NDMGUzYTAwZEI4RUEwNGY0M2FkIiwiMHhEOTMwNTAzNzdmOTU3RjBGYTcyYzlGRjhCMDZCRDAxMjg3MDE2NThiIiwiMHhBMDNhMTA5OTZiZWFiZUVEQzZGNzVBYjI4RWE5RjIxODc4OUYwQmE2IiwiMHg3MDYzN2Y0ZjU2Yzg1ODllM0E0NTIxZkNlNERCOGRiQzA3ODAzYjE2IiwiMHg0N2U3RTRkRTVGNTNFMjQ4MDAyODIwOTQwNkVGMjhENjY0QTMwMjdjIiwiMHg5MzMzMDU1ZUY2MDBiRjdGMWI0NGZhRDI4NjlBOEUxMWJjYjhEYTBiIiwiMHhkOTFEODFmMTczNWI0OUZCYTNERDFEYzIwMDY1OGJhMDhGOEJBZkFCIiwiMHhmMUE0NTAwRkI2NTcyRGE4ZjFFMDM0Nzk3MTU3MzhGNjFERWVGNzQwIiwiMHhjNmJFNGUyNzU4NzdDNEU2YjcyNGQ4MWIwQjMwQUEyYjAwOTZmZWZEIiwiMHgwNkE0YjM1NWIwRGE2ODUwMjhDNDc1Zjk1YmQxQjZiYzllNkU0MjZCIiwiMHg3MkIyNGU2ODYyN0EzMjMzMTBlMmJlN2EzNTE1MTdCYWExQTI2QjMxIiwiMHhkZEJjMkRGYzJCZWUzODdjZTMwODJiYWE1RTI3ZTJFYTA4N2M5NjkxIiwiMHhiOGUzNUE0NkFjMjlCMzY5MTUwQWI5QTdkYUE3RjBFN2FEQUYyNEM2IiwiMHg5NmJhMDU3MTM2RkViMjdhOENEQkQxQWE5QzhhQmNGYzREMDg0ZDhiIiwiMHg1NDRkMmU4YjMwMTJFNjgxMjAyMjIxQmUxMkQ0RmU1QTE4Y0Q4ZjFiIiwiMHg3MTZGMkFDYTcwMWYwYjFhNTI3ZkE1NGJFRjA0ZkQ5ODI3OTBhMUMzIiwiMHhjMDFDZUZFZDExY2YyMThlMjc5ODI0ODdhNjdmRjEzODcyZTc4NjU2IiwiMHgyNzk1MDQ3YkI2QUM0RTdBNjhkRDkzOTg4ODY5QUY4YTNkNzVmMzREIiwiMHg3Q0IxRjY2NDZBOURDQjk0ODRhRDc1Y0Q1M0VhQzc3MWU5NjRhNWRlIiwiMHg0RkI2QUFCOGY1YzIxRDgyODYyQWMzMzIwMTkyRkZkNDM3ZTI3NUU1IiwiMHgwRTA3YjYyNmUxRWVGQWYwYTJiOEJlQUQ0ZEVhRTZCNzQ2MjUzNGRmIiwiMHg0ODU5OGI2NGQ4OGFCNjQ5ZTQ5ZTgyZjllMzI4ZUVlRTUwMTFhOGZmIiwiMHgyQzc0RTE1MDNhODNCZjhiNTUwNzI2NEM2RTFFOGZkNkY4MTdiNzFFIiwiMHgxRjM3NjVDZjk4ZDM3NkE1RGNlNDJCNkI3QTAzZWQ5OTcyNDNDQjhkIiwiMHg5YTgzZThhRkJBNjU2YTYzNkI4QjQxOWNFNTQ2N0ZGOEZlOGQ5OEI4IiwiMHgxMzczM2YyRjc2MzRhNDk4RDUwNTk4Mzc0ODFBRDRBNGE2ZjkxQ2EyIiwiMHg3OWU4ZTBmNzBiZkI2RGUyZUM2NDg2NEU1QWM2N2IzYTRDOGJERTNmIiwiMHhkMTE0Yzg5RkYzRmRCNjQxZTYyZEE5QmYwM0NBZGY0YkQwMkI3MWEwIiwiMHgxOTNENkE5YTljNzc4ZDFBOEE3NGQ4MjgxMWRFMkMwRTA4NkI3RjRCIiwiMHg3NEZBMTczOWNhNTcxQTkwQzU3ZmYyNWIyQWZFN2ZhRGRCNzc0YjM1IiwiMHgyMjk2OGZiQUI0Y2RjQkE5MDIxYzcxRjZlMTBFODBDMTJGMEQ3Q2M0IiwiMHgwNjcwNWQzY0UyYjUxQjc5OEE0MTZBYWM5MjdFNmVlRDM2ZWY3OEY0IiwiMHg1M0E4MTE3NDcwRDc5RkRlNzJkZTM0N2Y5NjYxZjhhZDJkQkVDYzMxIiwiMHhhRmIxNzVlYTE1ZEYyMDcxQTYwZUY5NTgwOGMxRTAxNTFmRDA4NEZjIiwiMHg2ZmFkN0Q0NDY0MGM1Y2QwMTIwREVlQzAzMDFlOGNmODUwQmVjQjY4IiwiMHhGRDc1Q0ZFNDZBMTk4NjgxODAxYzg5MjdBMEZGRTNBMjc4ODQ5YzY0IiwiMHgyOTNDMDY1NUVBYTI4NDg1MjU0RUFhNWE4RGY4MWFCOTg2ZkYzNEFlIiwiMHg1RWQ0RTdEMjBGNUE3NGU2NmI3NzkzYTFiQWJkRURlNTFFZTExOGEzIiwiMHg5ZjM1NzUwMjFlZjI0QjczQzNDNTk4ZDMyOTY2NkIyQTdBYTc5MzNiIiwiMHgzMDNmNDY5QzAyNkQxNTMwNUMxODBENTM1RjQwMEUyOTAzNjdEMWU4IiwiMHg4NjRiMTcxMTBFQTJiM0M0NjdENjNhNzNlYkY2MGI3QTM0NDk4MGRDIiwiMHg2YmYwQmY4MEJmNTVjMDU5QUI1MTVkMDE4RGYxRjA5NzQ3NWM0NTkwIiwiMHg0YkNCZDM3MjQzYTI0NDJmZUI3M0M1OWM2QmJkNDA1MTZGNTQ5Nzc1IiwiMHgyMzMxOEExZDAyNzEyNWEwNTc3ODA2NDNFNEQ0RUFFOEI2YjIyNDY1IiwiMHhmNkU2YjRDMTBkYjFmMDU5OTc3NjI0RDMwMTQxZjgzNzI1Q2U2ODJkIiwiMHg2RDBhMTgxZDE4MUIxYjZlOTU4Q2ZmRUM3QjdCQzMwOTc3ZDc3MTIyIiwiMHgzZjdBQzAzNzk4QmI4MkI4QjczNDFjRkU2N2M3MkM5NDZiMzZEOEM2IiwiMHgxNDU5YjU2MjMxRjkyRDQ3OTdjMWRmQ0E0ZGRDMjI4M0I2QzU5OWJBIiwiMHhiNDU4OEVDM0Y2QUVFZmQ5NThEMTI0MGRiQWU2NjA5MGE5QzRCNTZDIiwiMHgzOEUzMWEwQzdBRkYyYzRCMDAyYjcyMGE5MmQyODBlOUQ1Qzg0Mzg2IiwiMHgyNTFlMzAwNjdBNjEyZUU4NGE4ZTI0OTg2NDk2NDNhMmJlZTZlOTI0IiwiMHg0NzU0QzBFMUYwMzlmMTE3NTQwMDYyOTY3Qjg0NjgyNjI4NzY5Y2M0IiwiMHhjRWUzOWZGMzhEODI5MmY2QTUwZUI5QjNhNjUzODVDNWJlZDY0RTc1IiwiMHhkNkM1MEViMzA4NzY2ZUY2MTMzRTEyRjNCRTg5NUY4RmQ2MjIxOGUyIiwiMHgwODk2ZDNFNDI0MjE3NjMzOWNBRWI5QTAwZjY5MTA0NEU5MmQxZUIxIiwiMHhhQzAyM2ZhYzQ4QWYxZGJBYThmRDNiYjhmMTYxRTQwNDIzNTdkMDBBIiwiMHgxQzU2MzM4YzM1MjMxRGZGZWMzQzkwQUMzZjEwOEEyNTE5Y0I1MUM0IiwiMHhBZmVmNTI1MzA1YkEwNjY5Yjk4NmI0NmNjZTEzQ2UyMzVjMjBGMThEIiwiMHg5MWI0RjU3RTI1MjNCQUE5N2NjM2ZDRDc2NTFFNTQ3YjhBZWFFYjJhIiwiMHgyM0JhOEYyNDFCRWFmNjVDZWYzMjc1YThiN0MyNTZlRjY5Nzc1Zjg0IiwiMHgxNzM4N0UxOTIxYThEOWUwNmQ1ZjIyNDJiQkRGZEU4MzgyNUQxMzQxIiwiMHg5RTExQUNkYTdCMzg4Mjk0ZjVlNDc3QkFDOTNCYTc0RDA2NDMyMkY4IiwiMHhBQkJhM0U1ZjIzMTcwRWY2YjQ5NzgyZWVlQWRENTgwNTlkOWIyREQ5IiwiMHg3MzU2OUVjOUI2MUFCMTM2N2Q0MjlhMDBiNmUzMkYyODEyOUQ2ODU2IiwiMHgyNmE2YjdGZkI3NTc4RTU2ODIzZUUyZEZFYzJmMDZjREFiNUU5MURFIiwiMHg2Q0ViMWYwODIzNzI1MjFCNmZCODlkODliNzcwNDhmMTIwYmRGQTc5IiwiMHg4OUNBZThhYjJGYTJkQmRDYjlCNERBODBjRTA2NjJCMDZBNTdjQzMwIiwiMHgzMjQwNzc2NzE5ZmE2M0EyMTRBYzg5YzI2NzdlOTRENjFEMGUzMzE3IiwiMHhjM0ZBMGQ5YjIwYzlEYTlGNjVEMjhBMmJDODlmNzg2ODcyOGJiMDMyIiwiMHhFMTAzMjhBOTJmYUE0OThENDBCZGJiRDUzMGEwNzcyOTlhYzE0MjhBIiwiMHhGRjk1NDQ4RTJGMmY3NzU0NDM4ZDJDYjUxNTMxNTgxODQ2RjM2Q0M5IiwiMHgwMTQxYzNGZTRhNGU3RGFjNTIxNTEwMDk4QmY4Njc2Q2M2NUQ3MkE0IiwiMHhlN2VjODRCNEI0ZTA0MjUyMGU5MTEzQzUxMTlmM0ExNjI0QjUwNTEzIiwiMHhlMUNjNGQ1Y0UzODBiNzY0ZjEzNGUwQTU3NUQ2M0U4N2YzNzI5ZWE4IiwiMHhmODNlMTk3NTc4NjAxZUE3QjlDRWE3MWIyYTA2Mjc3Q0JmZDcyZWU0IiwiMHhBRDAwMTQwRjdGREQwOTQzYWM0RWZGOTJEZkEyRjc0NUE1OGE1MGZmIiwiMHhhNmVBMUNFNDZENWMwNjgxODcxMDAxZmNmQjg2RGQ1MjJGZmZjNTM1IiwiMHgyODJFM0MxQURkMzBDNEQxNzM3QjQ3YjA1NEQxOERFMGIxOWI5NGU4IiwiMHg5NzVBQUQ3RTRENUI1NkI3NDMxZEZlYUFCMjYzZEFEOTM3OTEzOTE4IiwiMHhEMzc2QzM4QjM4NDY0MkRDOGE3MERlOUFiN2MxMWI4MDk4Y0E5Zjc5IiwiMHhkNUZFMzQzRmYyRUI4MzZlYTVENkE4NzI1ZTRBOThkMzAwNzdmQ0QzIiwiMHg0OTRiMzg5QjNDMDlmREJCNUM2MTFGQWNBODIxQjlFODY5MUM3ZTVFIiwiMHg0OWY2NThFMTlFN0NiRDdhODg0NDlkMTQzM2NjQzEwYzU5NTNlMzdCIiwiMHgxYUQyNDgxNmZGYjg4NTExNzFkMmU3NmQxOTU0QkZlNzdGNzYxNGY5IiwiMHg3NUZkMWFCNGQ0ODc0QkRBNTczZkNkYmMwREM2YzcyODYzNmUzMWI1IiwiMHg0YzQyNDc4NmY1Q0VBOGYwQzgxODk4ODdjZjUwNTY2MzJCMDBlMzQzIiwiMHgzMTVhMWY4NUVjMzE1MTUxMTQwNjY3MTU4MUY5MzgxNzg5RGY1Y2IyIiwiMHgxMzlCODFmQTlGRTliNzAzNjYwNDk0OTQyZGRjNTNEMTc4M0IyN0QzIiwiMHhkZTNhYzJDNTY2OUVjZmIyOEY3MjE5Mjg4NUVBNDg3ZTkxODkxMmMzIiwiMHg4QTc4ODAwQjQyMjliMEZBMDQ5MkZkYTE1NTNlQzc2RTQ0YTBDNjM3IiwiMHhDMENCNjc0NDExMzA2OThlNTcwRjI2MTI1MEJFMmIwRjJCODlmMjQyIiwiMHg5MDlGQjA2RjhENTkxQkE0YjNBQThEMTEwMjVmMzRDODU4NTFEMEFiIiwiMHg3ODJCMjU1Nzk0ODk5N2Q4NjZlNTkxZGY4Y2Y5MTYxZEI0MGZEMzEzIiwiMHhDNDZERjA3ZUFGRmFFYjhBNzEzQmM5ODU2RGE4ODMwOUYzODgzYjg3IiwiMHgyNTRBQWRCRjI2QjIwMjlFQzNiYzU2QkIyOUVmMmRiMTlkODJGMjg2IiwiMHgxOGU4MGZkNjM5ZjEzMzNBYTkyNmNGOUIwYWFlMDg1RTE2MjM0OGNlIiwiMHg1ZTBlRGJmYjhENDM4RDk3YkRmNGU3RWZEZDIyYzFFOGNGRUIxY0YwIiwiMHhGYTQ4NDI1MDRFQjg0OEVBMjZlZkMxMzM4REY1Q2QxNGE5NEE0MTFkIiwiMHhmNzQ1M0VEQzRmQzFFMUIzRTA5MEY2YjBhZTAxODM2RWM1NWU3OGUxIiwiMHgwYTYxNzRCOGQ4OTVjNDY0MkZjZDYzOTFhMzc2OTZCMEYwZkZFNzcyIiwiMHg1Y0JFM0MxMzcyRjIwOTE2OEE0ZjRDNkI1Mzk3ODlCNWVBQzA0MjRkIiwiMHgyRWUxQzg3N0NBQ2Q3MDRmRjQ4YkU3MDhEMzE5MDE4ZWU5NTllQTU5IiwiMHgxRWIwYWQwQWJmNGI2NTM1ZkJlNDNGYjU4NjM5OUQ4Mzc4NDllQzZFIiwiMHgwMjBiQTlFYzJmN2VGNEU5MUMzQjREOUNCMzAzNWVBRDZhNDRiODdBIiwiMHgzZUZhMjIyNzFCMDRlNkY0ODI4MkU1NWJkMjQ5ZjdGZTY4MzhERDY0IiwiMHgwRTgzMjAwM2NkMTlkODkwZDg2YmVDN0ExZUVFNTJDMEQ5N0NDNTAzIiwiMHgzQjEzMTUxOTVmODdhOTUxOGMzRUNCNzc2MUI2N2ZkREI5MTlBQTQxIiwiMHhEQTYzQjc0NDdkYzA1NkUxMWNjZjNFYjM2MkU0ODg2RjJENUJFOEIzIiwiMHhjODVBYzc0NDcxRERkYTZFNjE0MjcyMzE0MTUwNTFmQzk5NTIyMTQ1IiwiMHg2YWIzRGNhYUU1ZkIyMWUwNTk1QmMwYWFmZTNiOGI5MEM1ZTE2M2IxIiwiMHhkNjNFOEY1MGI2OTRBOTgxNDQzZEYwODc4RjdlYjM1NDk2MjAxQUJCIiwiMHgyOTJGQjgyNzU4NDBkRDQ2OTk2ZGRBOTJhOENhRWJGMmYxZTIwYTMxIiwiMHgyZTU4NjFEOTdCYkNEYTQ4NzY4ZGUyYzMxOWVkMmNlN0YyZEJBMkQ0IiwiMHg4NDA2RDc1QjA4ZTdCMDNiN2Q0YWE5RjRDMGY3NWI1RjgwZmJDYkE3IiwiMHhDYzhiYUE3NzllMmExNGY3NWRGQjU0YzU2M0I3OTc4RDM2YzgyMTY5IiwiMHg5OTM1ZEY1NzBjMUU1MjM3MTdFNDViNWEyZjc2M0Q3Mzc0M0Y5MjY3IiwiMHhFM2MwNjU3OTNDQ0U3NTExMzlkRmVBOTgwQTg1Zjg5NzQ0OTNBODczIiwiMHhiZjE2YmM3MEQzNEMxOEZEZUJEOTg0MEQ5NUYzM2FCOTVCODMxNEM2IiwiMHgyN2IxNjQ3QmQ1MUJDRTQxYzlGZDJlM2UxNTc2Y0Q3REUyRGJBMDhkIiwiMHgzNTNFMTU2MzhGRjY5MGE2ZDQ0NmRGRTk1NEE2OTIyRmU5RTgyMjE1IiwiMHg2ZjQ0RGIyNmQwQzFBOUFEOEQ2MjA2RGE4NDdhOTM0RThiOWFBZGFEIiwiMHhiNUNkZTZlN0VjODFkOEJFZEI5MWEzNkExZDVEOTNkN0E4MDkwODJiIiwiMHhkNzFGZTk5ODE0NmM0OWFmN2UxODJBOGQ4MEM4MmM3ZjZDNGMwZEE0IiwiMHg5ODNkRTVhMGRCOWFEM2VBOTdBMzAyYmVhYmM1NEIxNmViNDAxN0Y1IiwiMHg5MmFFMWZEMDUxY0JlYmQ5NzgxNkFjZDhEMTlGMjE3NWUxZUFhZGEyIiwiMHgwYTc0ZmFjNWYxMmU5NDI4NGZCNkM5OGQzOTZhOUY1YzAyMjU4ODgxIiwiMHgzYWQwYjU3YTljMzhlN2E2RDA5NWFhNjRiRWMxZkYwMDAxMDBhQzA4IiwiMHg3Y0U2NkNkNTczMTMyOGUwMjkyNzMyYmYxOWRiNDMzODJjYjBFRDAxIiwiMHg3MzBhODU0ODg0RDM2Q2NGNWIyQ2E2YzkyQ2YxMzcyRUFmOWM2MDA1IiwiMHhkQzE2NTFiZjk4MkNlZWM3NGQ0RTczZTFFOUU1RjU5NTQ5M2ZmNDE3IiwiMHg0ZDRhMTZkOWI3QWVhRGI4MjQyRDdlRDI4NTdGMThBODZEZjkwNjc5IiwiMHgyZGZBZDQ3RDY2M2IwNWVBZjY1OEEyOEZFMjlBQjk3YjczMTMyQTIyIiwiMHgwN0E4MDU0RkZkNzZERkYyOUVCNTIxNGJGYTg4MENCMTY3NDc1YzNjIiwiMHhFOTMxNDRlZWZmNjVBYmZEYTlERTE3RTkzNzY2QjkxNWRCOTVhNWFjIiwiMHgyQjVGYTY4QzliNjVhRDlFMTMyNUQ2OEQzN2I3NDc3NTk1MkE4QzY5IiwiMHhFQmE2NzI4ZTc0N2E3OUY1RDMxZDY1NzM2YjNENThjRGVmNmU2Zjc5IiwiMHg4NDU1QTE0RDJCYjdjMTk1MGRhODA1QzhlMzMwOTk3ODI2ZjM0OTdiIiwiMHgwOGJjOTFBQ2MyRWQwMzMwODllOTU3MDczNWRCYTA5MDJDQmZGNjY3IiwiMHg1QjNFODBCRTkxNEE1OWQwOTU5QzA1NjczNEQ5YTJFNjEwQTI1RGNCIiwiMHg4MDY2MjIxRTg4QjJEMzA2MDI4QmZCNTdERkFGNjRENThFRkFBMGJhIiwiMHhFNjAxNDUyYTU4MEE0QkVjRDE2MEVkQUU5RUM1QmZmMDZBOTgwNTc2IiwiMHhDMTI2QjJmOTRBNzdmZTQyMDNjRmQzODI0MjY5YzdFNWE2RDU0MjY3IiwiMHgwMkNiYzBEOEViQkMyOEI2ZTUzZkEyNzI4Zjg3OGNGN0NBRjkyNjcwIiwiMHg1YWQ5MjM0ZDQwY2I1NDg3NjI4MjBhZGVGY0U2YjZhNDA3ZEEyZDVDIiwiMHg0NmMwNkQ3OThGNzQyRTdGQkNFNDY4MGNlMzY4MWJjZkVmYTA3MmI5IiwiMHhBRDlhOTMwQTY0MTFFNWMxNURBRTZhMjdjZTMyMmZBNGUyZTFDMWFjIiwiMHgxRWE3NTU5ODIxN0YyQTc5YURjZDRGOWNGQjVhY0JGNGUzODA5OTRGIiwiMHg3MUNCM2IyY0EwNTY0NTU4Qzg0ZDY3NTA4ZjYxMUQwZDQ4RGU3YWU0IiwiMHg3ODUxZEFlRTQyMmFmZjcwQ0Y1ODFCZEM3RjRkMzQ2OTMwRTc4NzlkIiwiMHg4NjcwM0M2NkM2YzI5OTJkN2I0NzMyOTc4Y2YzNzBFZjhiRTkwNjEzIiwiMHhiZmZiRTRjMTZlOGM2MjM4OTE4NTgzYUVGQ0NFMzUzRjk3Y2Q1NDkxIiwiMHg1RUUyZTFlNUUyOGNjZGNhRUQwZDE1YmUzNzlhMkIxQzk1NzgxMzhjIiwiMHhBNTdDQ0U4YzVDNTQyOEIzMDZGMDM5YTBDNTkyNkY2QTcwZDkxZTNFIiwiMHhiNzZCYTU0OTYyNjM4OTAyQjI4YzlGYmNiMDgzMUU2MUZEYmE4ZjQzIiwiMHg1Mzk3QjBlYzkyRjBlQjVhRjBjMDMyZjcyMkYzQjVDMTQyOUMzMjFlIiwiMHg0MmM5NWY4MDk5ZGVDNTIwNEExRDY1NDdlZTA5MjlGZjEyNWUwN0Y4IiwiMHg3NmRFOTcwQWFCOTQzMWIxMWVDQmJDOTY5OGYyQjU1RmMyMUIyNTA2IiwiMHg0NDNEZWE1ZDk2QTcwYjJmNWE0ODZmNDM5Y2ViQzZhNEIwOTBFQzViIiwiMHg4NTUzNThjMjQxMzg1Njc3MTAzMWU1ZDFiNUE4NDJDODhDNmM1MDYzIiwiMHhFRThkN2Y0RWFiMDQyMTI1NmEyRmY5QjE1YWQyNDMwNWI0ZmIxODI2IiwiMHg5MDA5ODJBQzZDNTZEODNhODVjYzg4ZTY1MTZkMTczZDFDMTVjOWNEIiwiMHgyMTAzOTkzMjE4YmJBQUQ1M2IxMTI1RTAxNjY1M2M5MTEzNTMxNWM3IiwiMHhiRWZkRTBGNWExRTQ2OTlBMGY3Q2ZBNThiZTEzYmQ4NzZGZmI4N0E5IiwiMHhEMTBDODg1OTM2ZGQyQ2Y3MzYxZDQxMzU2MURFZWM3YzEwYTA4YmNCIiwiMHg0NTY1Y2Q3NDY5Mzg1ZTA0NGU1QzljNjEzQ0UxNTkzYURlNzI3N0ExIiwiMHgwZWRhZUI5YzNlQTI1OWFmQWU1NDg0NkU0MDFiM0MzMDkxY2E4MzhlIiwiMHhlRDhCYkY3OTE3ZTFlNEQzYUU3NDVCRGVmNWNDNzA4MDFENjdhMUI3IiwiMHgxODgxN0E2MEY5OUMwQ0ZlNkZlNWJBQzE3OUNiZkY0NEM1NEREZDFCIiwiMHgyZTE2MGM2ZGI0Nzk3NzU1MUVlNzg0OEQ5ODg1NzRjQjU0ODhGNjkxIiwiMHg3NzQ1RjIwNEFlOTFBQjFFNTE1NTkwNkY0YmY3NzgzNmE2NThhRWY5IiwiMHg5MEI2YTVEMDVhNDI4MUM1MEVDNjAzQTg4QmU0MThBQWY3N2I3NjA3IiwiMHgyREYyNEUxNzU2YTc3MjA0YTYyN2Y0RTBFOTA0NzJGZDRkNjkzMTZhIiwiMHhGMEMwZEFCQzAwYjY3NUM5MzIwOWU0ODEzNkQ4MTM4Q0IwM0UwNEU3IiwiMHhiMjA5ODk3NjE5NjBlNDI1ZWNlNDkwQzZGNTVmN0JmNzk1YzUyOTc1IiwiMHgyNDg1OTk3NzIxQ0I1YjIyRDkwZTI5Mjg5Mzk5OTQ1N0ZhRkUyYTUwIiwiMHhDYjQ1MDg4RGY5NzI1RjVBQWM1ODdiMjJlRWYyRjM1NUM5MDBlMWViIiwiMHg0Mjg0ZTEzMEQwYzkxNWNlM2VlNzg3Njc3MWRlRjRhNURiM0I4NGZkIiwiMHhiMUU2M0YyNTU5OTU5RUQ0NjQyYjlmM0QxOTc5MjQ2Qjk3MTJkNzJBIiwiMHgwZDZlY2MyQkMwMGYxOTRmODk3NTBkNTA3RUE3MjQyOGI3ZGMzYzdBIiwiMHhlOTI2QzI4YTUwNDc3MDgzQ0Y2MjdkZmRBMzgyRTdBNzdCOUFhRTJGIiwiMHgyOTY2MGM5MThBQTEzMTg2MTMzQWU5NWJmOTYwNDM3MmNmM0UxNDA1IiwiMHhGYzVhMjVENjBCQTM3MDI2Y2E2MDFmZDM5MENjNDNkRDJkODA2Y0EzIiwiMHgwMzk0NzA0MEQyMUQ3ZjZCM2UwNTMxMjQyZTkzZjUwOTUzZUIwRTg0IiwiMHhDNDQzYzcxM2ZGZTUzYTQyNEVEQTQwNkY0YzRjN0Q5MjI4Q2M3RmYzIiwiMHgzMThCRTJBQTA4OEZGYjk5MWUzRjZFNjFBRmIyNzY3NDRlMzZGNEFlIiwiMHhjYzU3YTYyZGY4MzFlQjllYjEwNTc0NTRFZDMzYUNGREVFZUFENTZBIiwiMHhjRkVEMEZDNUJmNDg1NjgwZGEyQ0NmNzljRTAxNjFiNjRFOTgzZDY5IiwiMHg4MjJmM0I5QTFkMjE4NjE0NjE5RmMwZjYwODYzMWJENEE0MTg4ZWZmIiwiMHg3YjRiNkVjNEY5QjY1NTJBQjNhOERGOTM5NTcwNGMwNjNmMzIyODMxIiwiMHhFYTEwNDgzRTA2NjFGNzNFQmYwQTExOEQ2OWNiZkFmODRmMzA2NTM1IiwiMHhiNkJiMTgzZDUzNTc2YzBhNEM5MDQwMDM4ZjI4RWJGMjkzZEQwQ2VmIiwiMHhmZUM3N0Y4NGEzNjlhQTlCODEwNDE5MzkxQTVhNjRiMEFjZkYyNDRlIiwiMHgwYzI2N0JFOGUyMjQ3NzBiODdFQ0UxYzMyQUI3OUQyMzc3NjlGZmE4IiwiMHhjOTA2YmZmMDAwN2FGNjlCMGI2NjlDMWREQTZkNzU1NTE4ZTNFOTI5IiwiMHhGMzE5MjlCRDc3YUQ3YjgyYzQ3YTNkQWI0YkMwQWViZkY0MEZERTVCIiwiMHhBOTdmYThjYzg5NEZhNTY4NTQ3NWIzNDg1MTQ1MTc4NjhkMjcxODVEIiwiMHgzMTM0NGFmOEJCMDhERTM2OTUxYTgxMUVhMUJlMTlCM0FmOGRjNDhhIiwiMHg5ODYwRTI1RDA1ZjRlMmQ0RURjMDQ0MjAyY0Q3NGQ0Njc4YTU1ZENFIiwiMHhBNjM5N0UxMzI1ZWQ4ODU0ODUyQjE5YTdDNEMzNzNDMTI2NzQ3NjRCIiwiMHgwZjM0N0I2Mzc0N0EwODQyYWJkNUU3NDgxMDMxMUZEM0IwOTNCQzUxIiwiMHhiNDU4OEM0YTI4QTA4Nzg2ZTQ4NDk2MjIyMzEyMUZhMDEyZDZFYWMwIiwiMHgxOTdFMGUwZDQwNzU0RDNhYkU1RWE1OTBGNUMyNEQ2NjJkYzc2ZTk0IiwiMHhCODEwRUExMkNEMDVEMDc1MWFEQzYwMzA5ZjFBNDM2N0FlNzhmMEE3IiwiMHg2QjY0YkY0ZDQ0ZDAxNzM3OWVkYjBmNzIwNkNjMTBkNzY0NTU0Q2EwIiwiMHhDQkZCZDM3RTNhZDMwZGZGOTg2REMzNWU5QUY2OWIwMWQ3MEQ2ZDIxIiwiMHg2NDZlZUI3MjIzNEM4RDJhYjk2NzA4Y0Y1ODcyOEIzRTcwMjQyYzM0IiwiMHgyNjA3Y0Y3N2MyM2I2YjI0Zjc3MjI5NDY0YjczNjU1QTRkOTU5ZUU1IiwiMHhhRTBjYmM2ZjVEOTk3OWFDMzgyNTcwNGY0RTFFNDkyOTM0RDdmMTUyIiwiMHg3MzgzOTM3MTQ3RjBiOGU4ZjY1RDMyYjJDNDNjZDc4MUY4YTE4YmFDIiwiMHgxOGE2ODVkNDc2RjdFMzllM2JDMzI3MTFkQUZENjEyQzE4NWYxRkNDIiwiMHhBYTdjOTY4Qjk0OTQ3OTM0NTUzMDY2Q0Y5REM3NzI5MTNmZDllNkJmIiwiMHhlZWYzMDFjRjM2ODkzNTM0RWI2MDY4OWM1NUJEMzk5MTg3NjRGQTQxIiwiMHg1N0REODhCYWQ0REQxM2RFZDkzYmNBNzJGODBjNTFGQmI2MjYyMUUxIiwiMHhEOTk5OTkxMTY5ZDNmMTJCNjdEZUZFMjU4MWJmM0Q1MjkzODU4RTgzIiwiMHhGMEFjQjI3NTYyMWY5MGJGMzhkMzREOUI4NzAxMzQ5ODJlQTk3YTlFIiwiMHhCNmZDY2U5MDYxQTkyY0JBQ0VkNGYxOUE3QkUzM0QwNjRmQTAyNDc2IiwiMHgxMDQ3MWFlN2QxMmQ5ZGM4ODNFZjVFYzhmMjhmMmNiOWFCN0VjMDU2IiwiMHhjYzgzYjZjYjI1QWQxNDhDNWQxODgwNTM0NThDZGM1NjVGMGQ2NDQ0IiwiMHgyMjAwOGIxMjA4MTBDQTYyRjY1Njk5MDVFODkyODczQkI2Q0I2RTVlIiwiMHhGNjgwNjQ0MkNCNjE1MDI4MERmN0U0QTIxZDk5OTU5RThkRDIwRTQzIiwiMHhiODczMDRERjk3REUxQTljMjc4MTM2Y0JBMzFjOTYxNjJiNjZmRGQ3IiwiMHgxNjAzNEUwZEM0M2MxQTM4Mjk1MzMxRDJFMDU1NTFjYkQ3Q0Y2YTZjIiwiMHhiMGZmNDJBN0Q1YWQxNGJCMDYxYjQ0NEY0OTNkMjdmRTA3MTg4NTMxIiwiMHg5REU2NTVmOGFDQzdBOWRhNjIwZGJlOThkRjc5NjU5ZDZCQzZlQmI1IiwiMHhhODljMjk1NzA5NWM0NjQ3NzYxNjUyOTU1NzRCYTY3QzY1YmUyNjUzIiwiMHg0Qzg3ZDNmNmIxODY5Yjc2ZjE4NDVCRjg5MTFiMTZDZDM4QTlFNjU4IiwiMHg4YzZEYTg5MjMyMGFFZjc5MTM1MGNGMzI5Yjk2ODljODVjYzgxMTA5IiwiMHg4MzFBNWNBZEFGNjAyYkI1RDFhNTdmNjRBZDc4QjQyMzQwQzMyNDY3IiwiMHg0RjZBMERjRDE5NTEyOUQyRTcxN2Y2RTIzMTZhMURlQjg0MTYwODFkIiwiMHg5RjFCZUEwYTYwQ0M2NGI1OEIzNzg4ZEY4MkMyYzk3ZkMzZEI1NUUwIiwiMHgyM0I1ZjlhNTFiODYwRDMyRjFDNjI1NmRBQzA4RmRmMkJDZjY5RDI0IiwiMHg0QzQ1ZjY1REM4MzI2RjgyNGQ5Qjg4NzhENmYyMEQ2NDhFMjRFRmM1IiwiMHgxRUIyM0U3MEE3NEM5ZUQ5ODZlNEYzMGExNUI1Yjg0RUU4RTg0QzJhIiwiMHgxODdCZTUxNjBCNmY0OGExMTBhMWQ0N2U2ZmYxOTFDM2IxRkYwNUY3IiwiMHhkMURBMmQ1YTAwNzY2Q2IwQkY1ZDYyYjgzOTE1ZDY2NkJiNDRjQjcwIiwiMHhDN2ExMGNjNDIzMEU2N2RFMjA0MGQzYTg4MjJCMTNkZDM0QWJlMDliIiwiMHhlMzlhMTIxOGZmN0Q3ZjUzRkEyMTE4ZTgxMzgxNWZCN0U2MDUzM2U4IiwiMHhEZkMxQmNiM2JmOTcwN0FkZjNGZGJkQUIwRkZhMzBhOTk1NGNFM2Q4IiwiMHhGMTA3ZjUwRjJGNmUxMkFCNzBCMzQ4MzM0OEUxOGMwMDYyN0Q1ODNDIiwiMHhiNWJkNzRlM0ZCQjU4NEU2NjA2OTI0OUUyNDY1MjBkYjIyOTlhZDM3IiwiMHhmY2NDNDdmODA4YzVhY0JFN2Y2ZTNkOTEwOGQ4NDk0NWViNTM0ZDhjIiwiMHg1NGIxMGVBOTVkNkY3YjZBRjE5MTEyMjIxOGRhQUQzNTc3NDNmOTQ1IiwiMHhlQmJENDMxZDMzZEFGQkYyNkUyY2Y4RDI4NjI1MWZDNzYxZENiRjI4IiwiMHg1RUNjMmE1MjU5MzlEMzFjNkYxMDE1MjBBMTgxRDliNWQ1OWMyN2NDIiwiMHhCMTI1YzQ0NDllZGU4ZDY0NWIyYjYzMEYxYTdlRjM4MEIxZEZFMzAwIiwiMHgyMEIyNjlBMDYxZDI2QmY1YjAxN0Y5ODk1QWJDZDg0RmQyOTg5QjY1IiwiMHg4YmYyMjQxZTkwOEE5ZmU2Y0JFMzQ1MTFlNTc0MjkxZTYzY0ZiQkRGIiwiMHhEQzhERDI3M0E3ZTQ3RDRBQjk1MWNCOWE0MDA2QjAyREYzNWFFZDBmIiwiMHg3ODk3OUYzM2NCRjhkMWRkMDdjOGFmMjc0Qjc0N2UxMzgzRkJkNWVlIiwiMHhkMDUzNDg5ZUY3NTc0Yzc1OTg4N2NDOTE3MTMxMmQ3ODY0NzU2NERkIiwiMHgyNWVDYWUzOUE1OGIwMzcxZDYxNzUxNzgwMmJmMDNmZkFhNTBhOTk2IiwiMHhFMjExNjM3YTMyZDUyNkIyQmRCQjNkNjFGMGM5ODg2OWFkNzNDNjY2IiwiMHg3ODM5MDRFQkMxODZkMDk5NmQ1ZTYxYzZhREE1NjkyODkzRTZhMTc2IiwiMHgwNTRhNjRkODU5NjVCYzNCNEZCMjc0N0Y0YUYzNzhEQWJFNDMwNDBkIiwiMHgzRTExOEQxNjNiYTUxNDhlMDY1NzVCRjU1NDQ5N0Y5ZjgwZTQwOTdiIiwiMHg4QzlhNWRhYTBjMzgzZkMwNDlEYThmMmIwNzUyMDM3NDA4RjFkY0VFIiwiMHhlZTI2MTM3RTdGNTZBNzdlNGY1NjkxMTEzZTlBYzQ3MjRGODQ5M0M0IiwiMHg5YThmMDczYzUyMUQ3Q0IyOTYxMzE5MWUyQjQzRkUzNzM2QWNDNWFlIiwiMHhCZDE0M2FDMzgyNjQxNzFGNzdkMWUzNzJBMmVFOTlFMWVDZTIyQjlkIiwiMHg1Q0Q4RTI4RkQ1RDE0Nzg1NDlmYUZkQjJjODIwRTgzMTM1M2VlZGIzIiwiMHgyZWE0M0Y2RDUxNEQyZTVBRTQxMDM3MjU4NTg0QTRlMGZBMDVjY2M1IiwiMHg3MmIzOTVjNzMwQkZEODU2OTNhN2UwREUxRTJhZjI3YTRjNUZEMWEwIiwiMHhCNkEwMGFEMEJjQTNjYkZkNDgxYUM2QzZGNmM3MzYxMmFDNkM0QzZiIiwiMHhmQjA4QTI4MDVGOEY0N0RkODJBMmFGNjU5MDY1ODAyNzkwRDhlQUUxIiwiMHg0NTQ0NjZmM2VDNUI5M0VEQzJDZDg4MDU3RmQ5OTFiMmI0ODk3RTlGIiwiMHg0Q0ZkOEIwYzEyNTBkYkZmQkNkQzE4QTQ1MjQ1NUJkMEY3N0QwYjZFIiwiMHg0ZmE1NkYzRmNGM2JCNDE5NjFBNEU0NGFEYzA2QzE3QjQ1ZGJlMjFBIiwiMHg4Y0JjNjQ0NTJDNzIxMzViODIzOTU0MWU5N2RFNUUwMzE3ZkRBMGQzIiwiMHg2YmIyRWMxNzdGNjZEMUQxRDI3MTQwQzdFMTJBY0ZEQjEzMzdGN2I4IiwiMHgzYzlkRTlkQzdBODBhMjE5MDA5MDcyMzBlRTQ4YkZFQTA4OTM3OTFFIiwiMHg0NDcxZmRCOThGY2NiMzMxNmU2NjdDOWExRUMwNUIyREVkRENjMGYxIiwiMHhhOTk3NTdGYjUxQ2YwYjM3NUFmZDg1MWNhRTZFNGM1NERCOUY4MDY1IiwiMHgzRWI4MDI4QTA5OWMxMzY2ZjUyZUQ3NmZjMUU5MjdGRDhkRTU0ZUMwIiwiMHgwZjkxZkFDMDg0NWZDN2VFNDE1QTA0NTU0YTQ3M2Q2N2IwZTAzOEM3IiwiMHgzMkJGYjlGMjY3NDY5NmVmMEVjZjlGNzc4MDNhZDJlQjVGQjVhYjhFIiwiMHhkN0REOWM5MDU1OGYzOUU3NTFGMzRENjE5MzJlYzUxZjkxY0I5RkREIiwiMHg2MGYyMzk0RWQ1ODEzN2Q3MzQxOWIxM0EwMzJlRUU5RTVkM0FDZjZBIiwiMHgwMzdiZTg1YUNkODE3MGNGMDgzMzQ4MDNCMTIzMjAxNmQzNTM5RkIxIiwiMHg1ODY2MGU2RTE4RTJjMDVEZEVhOUMwNDRFNjk2NTg5REZhQTM1QTNkIiwiMHhhODk1NkMxRWRGMDRBMzA3MEE3Zjk0QzljNTU4RTU0ZDRGN2Y4ZEI4IiwiMHgzQzgyMEM5ZDYxMUMxN2ZlNDIzRDgwQzNjMWUxNDI1NTZDQkJCMkZiIiwiMHgzQzRiRTU4NThBNjgxNkQ4RTQ0MDQxZGE2ZDgwZDA1M2IyNEREMDQyIiwiMHg1OEU5RTc1MjY1ZEYwMTE4QWQzMDNiN0FDMzE4ZTlBQ0U3MUM3ODIwIiwiMHgyQ2QzNDU0ZmUzMTU0MGIyZDYzZkMzZThiMTZCQjI4NzA4NDVlZmM2IiwiMHgzNWExMDVDY0Q5MTNFQWFmNjUzOTg2NjkzM0JDOWQ2ZDY1NDc3NjE5IiwiMHhBNEY3ZUI0YjUwNDVGM0ZmNTM2Mjg4NzliNTcwYWI5ZDIwQWJCYzNkIiwiMHgyYzMxZDFjMjY4MzU2NjI0NDk0MTcyMzgwNDE5MjBBYWIwODRhODcxIiwiMHg3MEUzNzJiOTJFMTZGY2VjN2VhRDU0ZUViNjhDMWU3OTBkMTc0QkM2IiwiMHg0OGM3ZDk0MEM4MzkyNjI5QTM4Q2YxY0MzMDJiM2E2RTRCNERhOWZGIiwiMHgyZEU5MzRmN2Q2OWIxOEZhMjUwMGU0OTRlZGIyQTcyNzM1NGI1MTFmIiwiMHhjN0VhOWFkQkExYjkyNDdmQTBCM2RiM2VmMTk5NGQ2Nzg5ZDMwM0FGIiwiMHhjYzExOTE1MjYwMzQ1OTAyYWM0MjJFNzc2RjMxMmMxZDYxYkVGQTg3IiwiMHg1Qzg4QTdjRkU0Q0ZlYTI5NThGNTk3Nzc5OWM2YTlEMzEzRTE2MzcwIiwiMHhEMmJlMDlFM2UwYTJBOTQ1YUUwRUU4Yzk2NmI4OWEwNkE5ZUE4YzljIiwiMHgxZDQyYTRCNDNEOGY1RjI2OTk1QjNFNzI5RDI5MkVDODZGOTUxOGU3IiwiMHhGZTkyRmQ4YmExNTlBMjE2MjZFQTZiMzU2OTMxMDcyNUMxMjhmNTQ3IiwiMHgzOEFGZTdlNjIwMTNiRkZGMzM2ZDVFQ0E0RDIwMjZhOTYzMjdGNGU1IiwiMHhFY2ExNzIxNDA1NjUyZDlCMEFkNDBGY2NkZDEzMzk5QTBEMUM4ODVFIiwiMHg1NEUwNDU5QkRGOTkzZGEwRGVFRDJDNEZBYWRhRUJkMTUxQUQzM0NDIiwiMHgxMDVEMDI1ZDMxYUNmMTE1MWE1ZUJEODhjNzM5NjdmQTJENjEzQjBBIiwiMHhGODA2Y2YxNjlEYjM5OTI0QTRENTg0M2Q5YjI1YWQ5QzliOTkyODIwIiwiMHgyQTFBZDllNzVBNTA3QmFDQmI4MmQ2NzgyYkVGNjZkMTYzQjdEQmQxIiwiMHhiQkJBNTAxNmQyMmY1Y2ExZjhmNDFGODkxNkQxNjdEMjZjQzMwMTAzIiwiMHhEYzUxMjQxMzAzNmFjNDY3MTI4ODMwZTVlNDZlQkU0YjQ4MjZBZUZhIiwiMHhFZUY2RTNDMzIxQzdCNDc3NEJlMjBBZWQyMGU3NDg2MDIxRUMzMmZmIiwiMHgxOTBCMjY5MzBlMTc0YTRkNjczNEI5MDZmRGMzMUQ0YzRmMzVmNDliIiwiMHg4MjQ3NGVhNTQ0RmJENjk1M0MxRGZiQzg5ZTMyMWFFNDU0ODAxMkVFIiwiMHg0MjE0MjkwMzEwMjY0QTI3QjBCQThjZkYwMmI0QzU5MkQwMjM0YUExIiwiMHg3YmFDODI0QmI1ODNiNjREMGQ4MTc3MUEwM2Q2YzQzN0RmZmI2Rjk5IiwiMHhmNDRjOWZDRjA0OTFjMDdBNzM4MDcyN0ZkMkMzMGNjMTEzMUZGMTAwIiwiMHhiYjQxRDVGOTViNDU1MTFlRDIzOTI0MTQ0QjczNDhBN0JkNTBDN2VhIiwiMHg4M2UzMjlmRkRDMTFGMjM3N2NiNDc1Rjc4NDc4NDhCOGZkODM0MWZGIiwiMHhiNjFjMDBDMjY1ZjM4Q2I1YWIzRjU2QmM1ZDFGQjRhOEFEMTUzZTJhIiwiMHg4RmRhNzY5MjJjNTAzZDM3NDNEMjRDYUUxMjgyODE5RTdjNDI4ODZFIiwiMHhlRjc1MzExNTYxNTQ4MjA1QUEwQzIyMDJGZjg1NGNhMDkxOUFENUU5IiwiMHg2ZDAxMjMyN2JjMDcxMTRkY2IxQTg2MTAzNzdkMDc1NDhCMjk3MTAxIiwiMHhhQzhhNjVDYTQ1MTRFOTUzOTdlN2JiQkE0ZTI0NDNEZThCOGU1ZjExIiwiMHgwMjlkODVBMmVmOTYwOGQwRjBmM2ZjZDBDY2ExNDNBY0M3NjkzYjU4IiwiMHg3OUE0QzQ1NjNBMjlkNDlBQmY1RjY3QUYyZjczQkIzRDFmMGQ2RmQ2IiwiMHhmMGIwNjg3MzdGODY1ZGE4Nzc1ZTg5RTFEZjRjNUNDY0M2RWE4ODVkIiwiMHg4ZjY0Njg0Rjg2MTQyMzAyQ2FCODY4MWVjZEJDNzcwYjYyRmVCNjQzIiwiMHhCMTQ0MzViNjczNDQxZjQ0ZTdEQmY0NzNjNkRkMkVEZmQ2NTdBNmQwIiwiMHg5NTIxMmNBOTVlMzFlZDEzM2FhZmY3MjNCYkQxMzNhZDQ0NjlhYzVCIiwiMHg5ZkQzMGUzODc4M0ViOUQ0RWFBQmQ5RTlBODM5QTFGRUQ3MWFjNEY4IiwiMHg2NEU4RDU2MDA2OGI0QUI1YTFiM0JkMTk5RjZENTdDNUY4MkNBNUE0IiwiMHg0NjQ2ZTU3OTUzZGRhMzI3MTAzNmJjMmE0M0QxNzk3ODg3MkNBOTVhIiwiMHg0RTAxMDYwNTgzNWEyMjBCNTdBM2UxM0JGNDhhYTYwOTdiRDk4OUU1IiwiMHg5MTcyMjNmOTQwNzA2NUQyMzhCRTM3M2U5QTJGZTlDQjRlNDgyMWM5IiwiMHg3NjNiYjk4QjJmNTA0ODgyRWYzQTJFQjYyQjRDODAwM0I5NEM1OWNjIiwiMHgxRDMzNTQzRGEzOTVEYTZCMjMzZGU0NTM0NUM5MjAyY0VmNzdiZWU0IiwiMHg3MjAwYzk1OTQ5M0E2RkM4QTcwNjQ4MjlhN0JGNGRDMzUzRjE0RjE0IiwiMHhFOTQyNGExOGIyMzRlMTllRDA1YTgxZDA0ZEEzYTZGMEJDMjA3M0QzIiwiMHhCREQyNTU4RDU1RTk4QzhCQTQ5ZGYyYzY3QTQ0YjU0RDdEOERjQzhiIiwiMHg3NjA0QzEyMTlCZWE2ODdCYjBFN0M2NjM1ZTcwMmI4MjAwYjVGMmU4IiwiMHhBNTE1YTMzRjFiZkFDZmJhODU1MTIwNTkwNDY0MTI3NmM4NTg5ODhlIiwiMHhiQjY1RjIyMWE2NDZBMzkyOTI1QTdENkQ2OUE2OGJEYzg3QjIxZDZCIiwiMHgxNzJCMjlDNDQ4RjgyOTREOGQ3NDkyMEIzNjIxNDYwRDlGNTJEMzBFIiwiMHhFODU0RjNCYzQzODRiMDJBZDRCMWQzRDI3MEJkRjAwOTg5MzJBNzdlIiwiMHhCNTZBNzlCM2EwMDZmMGRjMDZjYTllRUJDZUM2OEJBQWRGNThCRGUzIiwiMHhBNEYxNTQ1N2U1NDQ2MERCOWJlMjNhMjM3NThlRTM5OTYyZDY3N2JjIiwiMHhmNzk0QzMwNEEyNTc1MzJiMGVlNGFEZDJkYjZGRTc1QzdBNjFjNDZlIiwiMHgyNzk0NUMyMTRmNzQ2OUI1NDM4YzQwY2E3MjE2Q2EwMmUzMWVlNmRGIiwiMHhCNzUwOTA1NzdERUZmNjUzN2RjZTAwNTI5RDAzMjBBNjAyMWFjQzkzIiwiMHgxZkZhNGVFQThEMmY1M2I3MzNDMzFBNGFBNzE0YzA1RTMxMDhmODUyIiwiMHgyMjMzMDFCMTA2YkZhNTFGOTI2ZGU5QUUxRDcyNzI0YjZGNzYzMDgwIiwiMHgyNmZEQjNFNDJjODdlRWZENjc0ZUMxNzgxYUU5ZWU4REU2NjlFRjI1IiwiMHhGZkREQkRjYUVFRTk1QzAwZDY1MGVjOEE3REVERmU2NDFGRTU2MTE1IiwiMHhCMTdCMTM0MjU3OWU0YmNFNkI2ZTlBNDI2MDkyRUE1N2QzMzg0M0Q5IiwiMHg2NTkxYzRCY0Q2RDdBMWViNEU1MzdEQThCNzg2NzZDMTU3NkJhMjQ0IiwiMHg4MjM2N0M0NzIzOTMxM0I2YjFhZDgxMUUzYjVERTNjNjNCN0Q1NTY3IiwiMHhEN2RlREM1ZkFmNzRkMWUzRGM1ZmI2MEU0YTJkMUFEMjVhMjlEQzMwIiwiMHhjMjkyNEE1ODM3NUE1NzAxNTRCNzdjM2YxM2UyMTkwYTFDNWVBZDIyIiwiMHhiODRERmUwYWZjMEY1ZTdlQjgwYjQzQTRhNzVmZjc0NDNjRDcyOTI5IiwiMHhDMjE0NkNjODg3ZDM0MTUzNzAxNTE1ODBGNkY4MkNDZEYwNTA3ODA3IiwiMHgxNkJiODhGZDQwQmU5MDMxYmFDODM4MGQwZGU2OGIzNTk5Yzk1MTQ2IiwiMHg0YTI1MzcyYzM4M2E0QzFENzNCNjExOTc2NWVDZDAwNjQwQjcyOThCIiwiMHgzNmJEMzI4Q2EzN0YxNTJBQzY0MjQxMDA2MjQ0NDNCQTdlOThiQTU0IiwiMHgwMDVlNTg0MEZENWE0QjQ3YTRBQzZBY2JDRDg4N2NGNDE0QTk0OTQ0IiwiMHg1RjA5NDE5MUREYWQwNWM1QjZEREZBOTkyQTRGNDlkOGQ2NzkyOTBkIiwiMHhEMzNhNUFmY2EzQzc0ZjQxZkMwOWFiOWVlREQ3NGMxZjgzN0E1NmM5IiwiMHhERDY1NzBhQ2JEQzA4YUQyNERDNDFmMjAyNWI2QzYxNjE2QzE4MjFEIiwiMHg1NzQzMDRjMDYzQjM1Yjg3RDhkNmEyMTVhNEJDNGFmZjg2ODQyZjNEIiwiMHhhRGIzRTY1ODM4NzQ0M0ZlRWMwZTVFNTE3MzIzODlkNzM4QUU2N0RkIiwiMHg4OTBmMGUwRTI1ZDNDZTY4NjNmRDIzYWZhYjEwM0E2YTM0NGUxZTg0IiwiMHhmYTA5N2ZhN0EzNmM2ODQ1QjdGNDhiMUU4OTVBYjIyNUI5MzQxN2QxIiwiMHg0MDc4MGNhZGI4Njc1ZTRFRGU4MGVmMjZDOEQ4NDhkQzkxNEI2NDJmIiwiMHhBNDAzOUI4YzhlN0JiQkMzQWYwNkZkNTIwOGM0MUYyQWZENWU4NTgzIiwiMHgyYzg3MzhkNDJEQUZmNTYxNmI1MjY4MkU0MGI1ZTYwOTYzQmQzM0YyIiwiMHgyNDgxMmQ0OEFkMWZiMTNjOGNFQWI4OTEwNGMyQTRmMjk2MDFERUE5IiwiMHhFNGMxYjEzMzQyMjZCRjg5RTY5MzZEOEYwMzkzM0Q3MzM5QUNFNjBCIiwiMHhjYjNDOGZhQjVkNGRkREU0NDc1YTU3YzM0QmVkQzZENDAzMjJhQjEzIiwiMHg3Y0JCZGYzODEyZEJGMzQyNTE5ODcwNDZmODIxNjZDNkJmQ2E4Y2ZDIiwiMHhDYUFjZTM2RTI1RDYxMThBZWQ5NUQzNDk1NUI0RWUyQ2Q0MUNjNzIyIiwiMHhBMTIwOTQyOUEwRjg4Q2NFODI4ZTBCNUZkZDBCYTdGRDI1NTlGQTZDIiwiMHgyZjhEMjlEQTZFNEVBODI3Njk4NmQzYURENDEwMjM2NjQ1NjMyMjIxIiwiMHhFOTJBMTI2NkUxOTBlMWVlYzU5NjdDYTJjNTQ3MTA4ZDBENjA2MDNhIiwiMHgwRmZmOEJDRjdDZjdhNjA3MjMzYzM5RDAxMzQzNjhlMzc1QUJjMDgzIiwiMHgzMzIwQ2NDMTMyQkEyOTAzZmFCNmJCOTUwMmQ0YjFCMWIzMTg3ZjRjIiwiMHhBNDAzN2ZiQjA2NWZFNUZiNzZEOWY5ODgyYzY1NzU4QUNlNTQ4MmZlIiwiMHg3NWU4OTMzMjZGN0UzNWI4MWY4NjVFRjhDMDY5ZGY1RTNGMTJDM0ZEIiwiMHg3NzM0NTc0OGJmMjdCY2UxYUE5MEUzMTNiYTQ4RTdjNTI0N2MxZEYxIiwiMHhmQzM0ODNFMkRCNEVhNkZmNTU3QkYwN0U0MEZDMzc0M2IxZjAyZjNDIiwiMHgwNzEzQzhEZEM2ZjI1OGM0RTUwZUNhYzY1YUZFYkQxMWU1YzM2NWVEIiwiMHhkMjhDMDlDNDlBOTkxMUQyNjQxMTBBOEJlOTcxOEViODUxYjgzMUU3IiwiMHgwMmJjNDU0NjAwQUM2MkMzYzdCYTMyYWZlREM3REFBMmFCRjM1ODQ4IiwiMHgzMzgyOWE4OUI4ODcxQ2FlZjk1NjlFZEQ2RDA5QWQyNzY2ZTUyRkJEIiwiMHg3MjVhYzQ2YzAzMzFiNDExOTYxM0JEMjEwNzE1RTAyQmE3YjlCNzVBIiwiMHg5MzhjNWJGMWMxQUM1ZjA0MDQ3MUU4ZWQ3MDk5ZWJjRUZmM0REYjI0IiwiMHhCNmMyNTk5M2FjQjI0NkYzQzY5MEU2MmIwYmFlMjY1NkJGNDkzMkZjIiwiMHg2MEMyODE5M2ZGNTNmZjM1ZjVBYkRCMzZGZkVDQjg2OWRlNzg3ZDgyIiwiMHg5QTVjMDU1MkI4MzBBNDA4NWMyNzYyNjAwMTdiMzM3YUQwOTQ4NEJEIiwiMHgxMDE2OEE0YkI1ZjhmMThBMzVmMDA5OTc4NTA1M0ZmMDRjNjA4RDFiIiwiMHgxRkVENGRkOEE3NUIxNzg2Zjg4NUMyZDFmNTY4RGVCNGIyZUU1ZTZmIiwiMHgxM0ZhOURiODJjMDdlYjAzZGFkODcwZjIyMEYyM2M5MjNDZUM4OWRCIiwiMHg4MDc2QjE4RTA1RUVGYzk0RDFlODM5NTA0NTgxOEVDQjU3MWZCZEVhIiwiMHg3ODdDOTE2YzI4ODFEYjNGRDVkNDM2QkZDYWFhZjIzMzFhNUJGZTRFIiwiMHg5NzhFMjJmNDg0NWM4YzE1NmI4MTk1MTM4MWU4MzlkOTFhNkFiMTNDIiwiMHhhMDgwM0ZjZjk0RTVkOTE3NDI4MEQ1ZDA1NmRGRTRCM2EwNTMzOUYzIiwiMHg5Yzg3MzA4NDVmOTAyMjREYTFkOTNlRjkyQjJjNjM3MTZFNTViOWIxIiwiMHg1REI1QTc2QUNBYmI3QTk5OTE0Y2UwMzUxNDdCQTI3QTc5OGRDRkI0IiwiMHg5NDFjRmEyMDI0Mzg5NGY2MzBDZDlFQjNFZmU1Mjk4Nzg5ODNGMjNGIiwiMHg5ZjdCYzUxOEU3MUE4RDg3M0JENDU4NDYzRDhFMUE1YUVFNzU4N0MzIiwiMHg1OThFMEZBMkZDMzhiN0IwQzg5NTNkMjk1OTE5RUFBNGMyYTg4MkRjIiwiMHg1MzQ0RDZjMzg0NzdmNTNCNUQ2MEEzNTk5MTRkQTI1Mzk0RkYzZGNGIiwiMHhhNkVEYUEzMTI2OGYwMGVGQUU2QTNjOUVGY2ZDNjY2RGU3MmYwYTk2IiwiMHhiZjQyMEIyMzYyMjY3MDFmOTRFNWRkREQ5MjdmQ2Q5N2JhMzM0OTNEIiwiMHhjODFBYUM1MjA2ZkY1NUJjRjc3YUJhREM0MDhmNjQ1MkViY2UzOTdmIiwiMHhlMjM2ZGU5YTA0Y0I0NDJGMzVCRThmNTIxYzRkMjVDYjQzOTZjMzc0IiwiMHhkRDc0ZDAzNjg0NDNEOEY0OTYzMzdENzMwNUQ3M0E3MTFhREJBOTljIiwiMHhjNEM4ZEU1YzNDZWY2OWU0Y2RENTA4ZTY4MDFBZDQzOTNlNTRjOEE3IiwiMHg3OGVGOTNCYzQ2NjlCZTY3NTM3OGM5NzVEYUI2NDZGM2EwREUxYzMyIiwiMHhCYmY5ZmYwODZjODIwNjg0NDE1MDJFMzhDZjMzYTc4NDA5ZmRlODczIiwiMHhCZTg0MjYwZjc2RGY1MDYyMzQzNDlmNDQ5ODMxMjRjMDA4Q0VFNDAxIiwiMHg5ZTI3YzA5NzlCZDNkYWFGNWJCMGEwYzA3OTJmYjNCNWI1NzM1MjUwIiwiMHg5ZkJDMTYxQzlhQTkxNTNDNUUzN2I0N2FFYzcwOWFmNjFFMzYyZmU2IiwiMHhjQjJEZDAyMDE0ZjViZUMwNWY1QmMyODEyOTM2YTM1NjUxMkUzOTM1IiwiMHhGYWZkZDk3ZTc1MDFmNDc3MTYxMjU3NDUyZjk4NjI0NDI0RTE2QkNCIiwiMHg5YWZiQjdEQzZhMTM0NThkYzBBNTIwZEUyYTU0NUMyN0U4YjlhRDJiIiwiMHgyOEZmRTlhOTVFMDgzNDA4MmQ0MzI0YjczM0M0MjE5QjA1NDg0ODY5IiwiMHg3NUQ4NDlhMjAzOTE5NUVCQTUxZTIzZUZDNGEwOUM1MTkwNTcxZDkyIiwiMHg1QWI4YTQ3NTEzNjFiMTYwMjMyNDNEZTdlNjAyMThEMjI1MzgxOTZBIiwiMHg2NWUxNzFCMzBFMDIxOGUxNjI4ZjEzNkMxZDM3ODE0QkM5NDlGMjc1IiwiMHg3OTVDY0EyQUQ3OWY5YTk0N2JjQ0IxNjYyNGE2MDg1M0ZCNTJFYkVEIiwiMHhlNUY5MDBERGNDZDY0NEI1OTEyQjkxMUU1NGQ2YTFjZTQ2ODBiRTk2IiwiMHhjRjA3OERhMzhkNUVjRmM5ODFiN2E5MWZkQzBEMTQ5M0ExOGNhODQxIiwiMHg0YTdlNkM1NjQzMTM4QWQ2NEMxNjZiYTQyYzYzRjM0RDczNzg4YzBDIiwiMHg1MjQ2MDk1YWUzZjFBRWRhQThiNTE0NDA1OTMzMWNGNUI1YzM2RTlDIiwiMHg4OTZDMmMxMTk0N0E3NTIxNjJhRTQ3Njk2ZDM5MDNiMjg2ZDczMDFDIiwiMHhkZjY0NGJhYWJEY0ZmNzdlNkE0NmI2MEE0N0JlN0RkYjdEOWQxMzZBIiwiMHg1MjRhMWMwM2ExOEIwQTBkM0Y3QTMzZEVlMDUxNUI5MDAwMzkxNDZCIiwiMHhmNkVmYmFCMjU1YmM5NzQ0RDI3QzJDQzEzNzA1M2RkN0NCOTNkMTU4IiwiMHhBZWEwMzE3OEZjYzc1ZjFiN0I2NDVkRTE1MjgwRjhBYzAzODg3Y0JkIiwiMHg2Y2ZFMTZhNjlDMDc5Y0Q1NzA4NjI2MWNDOTU4OTk5MDcwOTViZUJkIiwiMHg4YWIzRTFGYUViNDRCNTFFMDAzYThCRjEzMzhCMDkwRGQ1MjQ3RTUwIiwiMHgxNTdhNjExODQyZDgzQTdmNzY5NDBBOTI5YTU1MjlCQjI1NDdhZTk0IiwiMHg2OWY5ODliNDhmMUFhY0IxZDNBNUFkODljRjA3OUMzZUNGMzNiRkI4IiwiMHg3NTkwNUVEMzllYUU3NDdFNjhBMzVDRDM4N2FCODVjMmVhYjVlNWM3IiwiMHgzOUVjQ2VkODNFOGVkMDUxQzA5ZWI0QjY3YTRDQmRiYWZBYmM2ZjdiIiwiMHg2YTRhNGIzMTRGM2U1MjgxMDI5ZDQ5MmQ3MDFmZjllMzRCOURBMDc1IiwiMHhkMzFkMkEzZEI1ODgyMmE1Qjc5MkMyRDcwRUZFYmVCMTVDZUY4NzM3IiwiMHg0ODg0MDM3NTI1RWM0MUZiMkIxNDk0YjhjQWQwOTREMDllRjA2RjBGIiwiMHhCMjZGNzM5RDM2YjIyQ0JkRDVCNjgyNjVCZmNkNTNlNTE3NDQ1ZGUwIiwiMHhCMzIxZWE1NTE3OTAxQ2M5RTJDRDkwNzA0ZDFCOEJGMkVlZWJGN2NDIiwiMHgyNjE2QTEyRDlFODcyRjBmMjcyNGY1MDE0MjQxMkFFMkQyNjBDOTQwIiwiMHhiQkNkOTk4NjMwNEZFMzQwODcwZjQ4MTZDNjE0QmEwYzdBNTM1MTJFIiwiMHgzNTM5N2ZFMzM0RmUzNDZBQjY0MDgwZjM0OUNGRDE5NDkxNzU3YkY4IiwiMHhjNDFiMzVmZkJFNGY2MDQ5OUE1NTEzQjgyMTNhZGRFN0NDRDVGYzc1IiwiMHgzMUVjRkJDNzU4NEM4Mjc3MDdBZmNDRTZjMDY5RDE5ODA4Nzc5MDY4IiwiMHhBMkZiMDY5ZmRGQzVlRDY3YjZFQzg1OERhMThiNzlDZDVmNTZjNUM4IiwiMHg5ZWFDN2I1MWZFMzA2MjZiQTdkMTBlYWFCNTZEMTA1YzgzODU0Mzc5IiwiMHg4NUZDNTU0QjIwMDZlMkFiQzg3MjVENzgwYTU0YzVlZjNkNzA3ZDlFIiwiMHgzRjk1MTkzOUI3NjE3NTY0OEIwZjA3RTBGNDMwQkNDQ2VCNTZEZTIwIiwiMHg3MUM2NTk1YUI5NzJFODdDOURkNTdDODk0M0Q2N0Q0Y0FiQjY4RTcxIiwiMHg4YzYzQzY0NzM3MTA0MTIwM2NCMjRGZDYxMjY1NzAxNGI1MjJBMEYxIiwiMHgyN0FBNTZCQkNjNzY1NDJhN0ZhMjlmOUNiYzJDRTNkNzJFNjY5Mzk2IiwiMHgyOTA2RkY3N0NGMDM2RTQ3NTVBYzkxYTE0NDFEMDdEYUQyMTE4MzZCIiwiMHgwMWI4RmZhMDQzMzc4NmE5M0U3MTBFMkZiNDYwQ2U5MTlkQWJENThFIiwiMHg3NzdmMzdhMDg1NTQ5Q0FFQTMyMDJiMUFiZTYxZjgyYTYwZjhFNkNCIiwiMHg4NjkxZmY4OTY3RTIzQTlDZDg4Yzc1RDUzN2ZCMmM1NEMyRGViNjI4IiwiMHgwN2MwMzU3OEE0MTJGRTUyNjE3RjkyZTUyMTU4RTZjMDVlQTQwZTI0IiwiMHg3Zjc5NWY1YzdmNWU4MTgwMjQ3YTZjZjA2ZWZmZjQyYkJFOUY0NGNGIiwiMHg3NDJDZjI4OGRhNTVDNUUyNTg3ZDQ0ZDEyZDkwMDBiOWRDOTIxQTQyIiwiMHgxNEM4MjdiNUQxZjhmMDVEMDA1ODE2YzkwODZkNmJFMjlBNjg3ODk3IiwiMHg0N2Y1Y2ExMDZGMzlFYjNlMDdhNDEwQ0Q3ZjBlMjI3ZkIyQzc4RjVGIiwiMHgxODdhNTU5RTJCZjhmNWNEY2IxRjY0QjJBMDI1QTc5MTdiN0U2M2VFIiwiMHg1MTdFRDQ5MDZkMzU3RjUyYjVDNzNEOUFiYjM5OTM3NjcyMDY0RGUwIiwiMHg2NzdiZkIwODYxNDI2N2RBMjk1NUU5MmNhNTAxM0FkYkE1MDFGN0M1IiwiMHhmOTgzOUI1RjE3YTlhMjVDODVjMkM0QUQ2NzM5YWI2OEYwQTY5QTljIiwiMHg2MjA0ODc3NWViYmIzNGJFMTc2NzNBMTU1YTZBN2QwMGQ1OTBiNDI1IiwiMHgxMzFiMTBGYjc3ODhGMDczZWQ0QzcyODdBQTJjM2NkYzk1OTFlRGU5IiwiMHhDM2NGYTcwNmM5ZTQxMDc5NjM1NDcxMzQ0MTBCMzI1MGRjODlmMmMyIiwiMHgyNDlBODI5RjQzNTFFODZEODVFRjIyOTg1MDM4YkMyOWMyQjE3RTgxIiwiMHgxNmI2OGE3NGJFY2VENTk3M0EyRTZiODA3MWQ5OTFiNkUzYWQwOTI2IiwiMHgyOGZFZDY2OTBiOWNlNTRBQkQzMDljYUExMDE4MTk4NDc1OWZiOTQwIiwiMHgxNUNhNDAxOGI3NmVFNjg2NjIwNzAxQzNGNDU2NmIzRGEzQTZkRUVCIiwiMHhERjU1RTVEMUU4YzNlMWJDMjRDZjE3ZjAyOEY3MTdhMTQxMzYyN0IyIiwiMHg2NmZkMGE2NTI3OENkMTMxREIxRTEwMTYyOTk5QkZEMjM2MkVlYUNEIiwiMHhkRDRmRTNFMEM0RjU0RUExNWYxOTE0MjA2RjYzRmU1M0MyMTFCMzYzIiwiMHhDQjdDQzY5NTBlRDZmYjBBY0FBNDQzMjk1M0YwMjA5MDdiRWMzNkNEIiwiMHhDNEEzZTM5MUY0MTg1OTlCMTQ4YTZDNjM4MjhiQTk1ODU5NjEyRjM1IiwiMHhEMDQ3QWMzOGQ5NTU3ODk0NzRGM2M5NjZkNkJCOTExQjVmMEQ0NDUwIiwiMHg5YjRhZTc5NjdiMDU2NEI3M0U1OTZCYTI5NjNkMmJjN2JGYjljRmQ2IiwiMHg4RGZkNkYwMzU4MEY4ZWU4ODU4N0Y0YzA1MUFhQjcxOTNkN2JkZjhBIiwiMHgyOTZjNDUzYjg5NzkyOGRhZUYzODZmNThGRTk2RjQ3ZTdkODA3Zjg2IiwiMHhCOEYzZWY4QmNEZjU1NDE3YTQ3Yzc3ODVmRWY3RDMxODk2MzA5N2RiIiwiMHg2NWVFM0I4MzY5RDJjMGRCRjZENDczMjBEODNkRTBlNDdBNTgzM2UxIiwiMHg1RjAxNEEzMjk4ZDYzZjU4NTc2MEE5QzM4QWUwNmFjZkNlQzVCMTM0IiwiMHg1NDZhYjFFMTMxRTA4MTA1ZTBmOTg1N0U2RDVkMjM0ODUwMjdmNWUyIiwiMHg1RURhMEJkZDNGYzdCOTZlYkExNkE4QWU5MDgxQ0I4MUU4NzJhRTEwIiwiMHg3NDc2Zjk3Qzc1M0I1RThkMjc3ZTIwYmVjMWFDMGFlM2RCRDUzODNEIiwiMHhjN0E0MzUxOWI4QjQwQzhEZkJlYjU5MzQ1Q2Q4YmYwQkZmMkY3MTg4IiwiMHg3ZGY0Mzk4Njc5MWQ0RDBiMmRlNDFhYzhkOTFFZjU2YjE0OWVERTc3IiwiMHg2NGMyNDQ4MkIwOUFBOEFmNjBhMjk5NEMzRDk1RkNmNjk3Y0ZlMmFmIiwiMHg4MjEyOGQ3YThiZjIxZGVmQTFCNUEzRTA4YjRGQzkzMWJGZjBBYzlCIiwiMHg0ZjUwM2Q4NGM4MDBhYUVDMzEwYjlBZjRDNjg3NWI4YTc0ZTEwMDc5IiwiMHg0RUEzNzY4YmM4N0U4OTM4YjcwQjUyZTY4NzIyZTcxNEQ5MkJjOTc3IiwiMHhiNzQyQzcyNWFDRjU4MUIzOTY3YTc2RjBmYjM5ZTc3MmQ5M0Q1MjA2IiwiMHhFNGZDQzU0RUMzM2U1ZUZkOGYxZWYzOUZENUQ1NGNhOUQ2NkI0MTMyIiwiMHhCNWM4MDMyMTllNzRjRWUxRDM3NUVGRjJiZTdiMjc0MDkzOTJkMjY5IiwiMHhmOTBCYzQ2ZTQwYjcwNjNlNDg5ZTZkOGU4ZEI5N0I4MjMyMzZDNzlDIiwiMHgwYjg4MUQ1NjlkMWE5YzFlOUI0OWIxN2U0MTdkQTgwMTMwZDIwOTVjIiwiMHgzMTAxOWU0ZjlCNDYyNzE5QzYwOERGRjI1NkEzZUU5MTc3QkJGMTc0IiwiMHhEMkQzNDdBRGFGMTFBNjZmMzg1ZTA5YUY0M0MxRUQzNTBhZjRiM0UxIiwiMHg0QzRBZTE1RkEyZjA5RTg3ODE4MjljYzIxNWNBQjI2ZUJGYTI0NTNlIiwiMHg3RjQ3OUM4MUFmZDdkMEFFMTAzRkE5M2FDREQwOTRiNzVjMTMyN0VDIiwiMHhENzdmZmQzMzg5NkI3ZENFODk5ZDUzNzA1QjkwMTYyZDFjNTM2OTRkIiwiMHgwYjg4Q0YwNmM4ZmY4QWY0MmZkM0Q1MThmOTM0OEIyN2JiMjRjMzQ3IiwiMHg1NTg4YjM0ZUM3YUFENkQzOTA4ODdiZjY2RDE3QjgxNGE3NDUyN0NGIiwiMHg2Mzk3RUNmNzc1NUExNzIzQ2JBNDM2OTk0NEYxRDlkQTNkNzJhOTk4IiwiMHg3OTlEMTBhM0ZiNzc5MzlhY0FlNkFEMkMwZUU3NmRjOWUxQjE0QzRiIiwiMHhDNTIwQTA4NkIyOTczN2UwN2I4OEEzYjljZTdCQzQ0NkZiQUJlNzUzIiwiMHhmZjM5NjE3YzFCNzhhMTJBN0U4NDBkMzYyZDczNDhlRDYzREI3Q0NkIiwiMHhiMGU5NDExOTk3NzhlYUU4MENmMjBDRUNlYTk3RTQ1OWQwNzVFQUJCIiwiMHhkYWEyNjQxRjdDMWUyRjlhQ2UxNTJlNUJGNkVjRDg2MDI3QjhBRUQwIiwiMHhCQTNBRTFDMGJGMTNiQjFBOTg5ODdhNTNjMzZEMEJlZUIyYjE0NDdhIiwiMHhkMmU5NjZGOTQzYTYyRjFhNzM5ZTI2RTRiYUZiRDE5QzE0ZTJGOTBhIiwiMHhlNDgzMmE2OWRhZWQ1N2ZkYzA1RjNERjc1NjFmMEUxMTEzMGNkZDlhIiwiMHg5NjNlRkJDNTBjMDlENjMyMDU5MTYyM0FGNkIwYjM4QTczMTA5OEM3IiwiMHg1RTU2NDk4OEQyQWJGMWQzRjI5RDE4YmJjODMwOTRBQTA1NEUzN2ViIiwiMHhDMzI4QjhmMTBlMzIyRjVmMDNiZjUxNTJEMDQzNzk0NTg1M0I2NDQzIiwiMHg2MDZFQUY3YjUxYjc4ZUNCMzY4ODU1MDdEM2IzMTY5MzFGYWZlMzFFIiwiMHg4RjM5ZUU1MzhBQTAzODIyMjgyMTkyRWNEMTQ4RTYyM2E1NDcwMDhCIiwiMHg5MEI0MjgwYWM5NmU4NzdlNTA5NDYyNTVhOUQ3NjJFNjUxYWFDM0I0IiwiMHgzODJjRDNGMTE2MzFmZkMwRUIyOThkMjIzOTdGZTY1MzEyRTVkRWIxIiwiMHgyODIzMWZkN0IyOEIxY2RBOEE3QWY1QjNiOUE1NjlENGYxNjkwOThBIiwiMHgxOGUyRTRGYzdCNDViOTUwOERmYzlEOWRlNkJlQkNCOEQwOEFlNDM2IiwiMHg1M0I0MkRGODMzYjQ4MEE5YmFBZjg0NGJCNzBBQ2NlMTQzNTJBNDNEIiwiMHhmYzMzNzhGMEI5Qzc4ZDk2MjI5ZGJkNzIxMGVkMjc2ZGM0Mzg5Yjg4IiwiMHg1MEMzRmI1RDJCMUMzZDk2ZkYzMGI5MzQxMzYzMjY5NjNhMEZkMEE5IiwiMHhBYjdEQzFlMzdkM2IwRDBBNDFlNjZiMzA2RDg0M2QwMzVGNzU1RjNiIiwiMHg1NDc5ODU0NjExMmE0NzA0Njc1MDg5RTZERjk5ZTkzNzM5OTlmMzBhIiwiMHhCOTIwMjNCOTlFQzUwOUQ3Q2ZiRjlENGFjNmU4QWM2RjVEMDhlNzEzIiwiMHg3NTc1NmFGNjA5OUMzOEY2NUJkNjJlODlDOTBkOWJmNTE3Q2VGQzk2IiwiMHg1NTM2ODcyNTEyOEU2QzMyOGIxMjExNkQ5OTY1YzNlNTVhNjlDODIzIiwiMHgyMDIyODEwMGI5YzBCQjI4OTc4MDg3MTI0ZTNhRmMzNkE5OWZBNUNmIiwiMHhlYzU0Q0I0NkMyNkYzQWEwZTI4RDgzQzdmRmU2Y0UzNjNmMzE5NGFiIiwiMHg3MDY2QUE2MmUwNURmRWU4ODc3YkExYjI2NTYxMzdmMTFlMjM5NDdiIiwiMHg5NGU1ZWQwN2FiMWQwY0M0ZDQxMDQxMDY2NGZjNzdlMDg4ZTIyNzgzIiwiMHg1YTBhQjUxRThBRmU0RjAxNjFkNDM1QjE0OTk0NDQxYTRDOGIzQTMzIiwiMHg3OUI0MDQ2MGMwRTREYTAyMjBiRUQ5YjVjQzYzM0UwYzk1QzZDQTc2IiwiMHg2NmFBQTRDRjJhNjc4ZGU2MjAzNDk5RUE4MjRhNzgzMENCYUY2ZGQ5IiwiMHg4Mjk0YTM1NEUzZjBjN2Q4Q0RmOTQxOWJEMzZDMURENDk4NDAwOTc5IiwiMHgyMTMzMTI1QjhlN0IwMjhGN0RFMEIzRWJCNjIxODIyNjJlQjdCNkE4IiwiMHhFQmRFOUY2MWUzNEI3YUM1YUFFNUE0MTcwRTk2NGVBODU5ODgwMDhDIiwiMHg2MWMwODIyMDNiN2YzRGNCY2VlNjY1MEYyNDI0ODgzZDdGODRkYjUyIiwiMHgzRDI4OWE3OTEyMkVhNDdDNWZGZTIyMTMxZTBjZkU4MWE4MDkwZThGIiwiMHgzODNCMjAwNkRDQ0JERTY2MzMzNzhiOWYwZDEwNkRFRDAwMDM4ZWVlIiwiMHgwNjYzNEJGNTZGZjE4NTc5MTkzNzY3NGY1OWEyNzA1YTQ5ODcxOTk0IiwiMHhhODg1RjUxRjc4NkFiNzczYjVGNTEyMzE5YjhiNjlDNUQyNzQyYzNFIiwiMHhBODA4M2NDNjQyY0U3MDc4ZkQ5OTk5MTFhRjEyODc1MzI2OTllZDkzIiwiMHhhNUQ3MjZDOWI0MDUxYjQ5ODBiNjVmNDQ0N2JFQzk2RDM1N0Y5YTdBIiwiMHhDZDk2NTJGMDA2RUZERTY0ZjA3MDMwRjEwQTE5NDVFQUQ4QUMxODU1IiwiMHgxQzFBQTEzMTYzMDI3Mjg3YTAyQkYzRDI5ODBCNjlDRDQxYTIzMmE4IiwiMHhkNjZFQkFiNTcyRTJCNzExRGE1MTZFRDI3YkIzOGVhRDI4YkU2MDM0IiwiMHg1YmE0Y0M4MjYxOGM1ZUM4OTg1MjQyNTYwOGUxMzU3RTIwOUFhQzQ0IiwiMHg3M0FBMmRCZTlkZDAyNjAxNGM5NjdFNWFGODA1MTcyN2E2MGQzMWYzIiwiMHg2QWVDMTZkOTU1NzdDZjE5ODlhM0RhMTkzOWQ1NTEyZjU5NjlmNzBkIiwiMHg2OUQ5ZTRGZjlFMmRCOGRENkM1YzRiODhFNDY3NWZCY0I5ODU5NUZmIiwiMHg3ZjhDMzVFNjM0REEzNjczYjU0NjRCRkEwN0JFMTM3RDQ5RDVjOWIyIiwiMHhhZkUwODc3RTQyNkM2Mjg5M0Q2NkQ1ZjBCZDdjOTc5NDU5OEU0NTg4IiwiMHhlN2IwOUJiODQ1RjVCNUFkYTczOTQyQkE4ZTZCMWY2MEIxZDZjQWMwIiwiMHg5OTBhN2NCNjQzMTU1MjI5N2YxZjRmRTVFRURDMDBDNDBmOTRFOWZhIiwiMHgxMjZDNzI5QjRhYzdkMzMyODU4M2QwOUM3ODNkN0MyQTQ3ODVDQzRhIiwiMHg0NmVCYWExNTYzMEI1MjQ3OEQ5RTJlYTExNzg4MDFmNTNDMTZkNjUxIiwiMHhmRjlmOWFkQmUxZERlYWZEZjgxMGZEYzlGQThFODNGMGRFNDZFYUEzIiwiMHg1YzdDMTFDYjg1RkViOWMzODY0Mzg3MzNjRWQwMDVCNTE2NWNBNTJmIiwiMHhmNTJFMUExMDM3MTc5YzVCMDJhMzI4Yjk2OWM1YTdmNTU5MEE0ZEQxIiwiMHhFZDg2MjQ0Y2Q5MWY0MDcyQzdjNWI3RjhFYzNBMkU5N0VBMzFCNjkzIiwiMHg2ZWJlMjAzMDljMDgwNDMxZTViOUJENWNFNjU5N2IxRENGRDMxMDFlIiwiMHhFOEZjOUYwMjFFODBhNWIyMjRkZTBBOTgxNmJFQWMzMzA5RDc1QzY5IiwiMHhENWZjNEI4MDc5ZGIyNEQzZDZGRjg3YzAxODI2ODVCMDkwNDQ2QTU3IiwiMHg4YUYzNGRlYzJlRDg1OTIyMkJkNmE3NmJGODY4MUE2QjQ5NjRlNzAwIiwiMHhlQjg3Rjg0Zjg0MDk4NzljNTFiODQ0ODEyMWM1OEIyN2E4NTVDQzI5IiwiMHhkNEU3MERhZDE4ZTRGQTFkNTAyZjQ1MDdFOTk1MTE3Njc4RDI5RjYxIiwiMHgyMzQ0NDNhMTgxYjM2NTY1NTIwMzc5MjdFNDJBRUZGY2Y0Rjc3MTI3IiwiMHg0RDMwMTQzOWJFMjMwMWNlNDZDRUY4MEI3Yjg5MjNDRDc1N2I4RGE4IiwiMHhBMTM2NWQ4YzhjZWFmNTVmNUVFYmJDMzc1N2I0ZmIyNDc1QjhkMzY4IiwiMHgyMDg0QjZmNzg4ZEVkOTViRDQyRTU3MmM4MTIzNDIwNjhkNTAyZDQyIiwiMHhkRjdkMjZiRjc3NTU1MzU4MkMxZThFMDVCNDIyQTFFMDcwRDE2RTdlIiwiMHg0ODUwQmU5RjBjNTE1NDE1ODA0Mzg5N0I5YjYyNGY1NzAyNjg4MkFhIiwiMHg5NGJiODYxRDI5RTFiNGY0NGMzYTg3NGU3NTQ1NTdjY0NCYzBDZDU0IiwiMHgxYmZDREI4Rjc4QzFhMjhmODJGRjU5RGQ1YzAzZTNDNzdhNkI2OUZjIiwiMHhiQ2MzNzU2NTk3OTIxMTA5ZmU1NmU1ZDQwZDc0ZEEzODdkYjU3ZGY4IiwiMHg3YTU5MzExM0Q1YzAyZTlFMTYzYjQxRjRFQzJlNjMyM0I1ZmE2NjE2IiwiMHg5Mzg1OEEzRTNFMGJFOWVBOWMyODFEMDM5YmFlMDVmMTcxMjYyMzRlIiwiMHg1NkY0NjQ0Mjg3MzgyNjhCMjJkY0U5QTUzQzU5OUI3MUU3QWU2YUYwIiwiMHhjMjhBMzkwQTE1RThBODNGMENiMmQ4QzcxMzMwQUMzRkQ2NjM1M2U2IiwiMHg2NjQ0QkZEQUQ1MTRGNkRmNTM4QThGMTg0MzMyMGFhZDIxRDViQTc3IiwiMHg1RTFGNWJENjEzN2M5YmVlQjk4MkVmMzZmYzVkOGFmMjE3NUQ0MUFlIiwiMHgxOEUwY0QyQzU4MTVhNDI3QTZkOGNDNGIyOWM5OEU5MmMxRTJjMzI5IiwiMHhFM0U4NjhkNWIxNGFCZDE0NDQ0MzBiNTk0N2UyYTcxNkZGZjA4NTQyIiwiMHhhZThmMzkxZjYyMzlBRjM1NEFDMThiNGU3ODIxODg4QWE0N2QyOEI1IiwiMHg5RjE3RDA5N2MyYzg2MkFmODRFMTlBMGIxRTc2RDM2REU0ZDI2M2QwIiwiMHgyNUVmZTZCZUFjNEVBRDYxYzkxRTE1NjBBZWI2NEE2OGQ5QmY1NzlEIiwiMHg3NTAyNEYxRjc1RDY0QjQ3OTA1NjZFODJiMzYyNzg5MDAzNTQ0YkM2IiwiMHhFODVCZTUyMjg4NDgxQTlmMkQ4MTk0ZEJlMDI0ZjhlOENCQzI2NkQ4IiwiMHgyODkyYmQ1M0ZjNjcwMGNGYTU1Yzk3MGEwNjg5M0Q1MzYyZDUzN0Q0IiwiMHgwODUzODIxMzU5NmZCMmMzOTJlOWM1ZDQ5MzVhZDM3NjQ1NjAwYTU3IiwiMHg0QmU1MjYzZTEwOTZhN0JmNzZCOTI4Y0Y5OTJkNjk0QWUwYTIyZDQ3IiwiMHg5MDdhRWI3Qzk3OTc1MEM1RUQ5QUE4ZDZFNTBhMUE1OTQxQjM4MDM1IiwiMHg5NTM0MEZEYWM2ZjNlM0MzMzI4MzlCNTIyNmU0MDdlMTY3ODhFODQxIiwiMHgxNTk5OTRiNUQwMjU4MDAyNjI3NzlkNTg0MGU0MzZBRjhDZjhmM0E2IiwiMHhmNWI5ZTEwNjQ1YTdGQUM0ZjU4NzUwRGMwMGVhRWI1NDcyRDFkMDgxIiwiMHgzM2M0MWY2NjYwQWY4YUY0NTY0MWVGNDU5N2NlN2FmMkY4MzE5NDc1IiwiMHg3QmUxMjU0MzI0NDg2QkI5MzIwMzAyMkQ4RDNlNzc3YkE4RTdjMmY1IiwiMHhFMWMzMDZGZjM5Zjk3NzAxYzRhMDQ1ZDhERjYyQzdDZkZFZEJhOGVFIiwiMHhFMDI5ZTY4MEJCYWQ2YmU2OTg1NDM5NDBlYWI1MDJlRkNEYzM1ODgyIiwiMHhDMzY4QWUzNDAwYkY5NkUxMmQzODZCMTlCMTY3MDQ3MUE1QTg0MkEwIiwiMHg5NzE4MEUxZTk3RjQxYWYxMTNBNjg5ZTY4QzkwQmRjOTExYmI1NWJiIiwiMHg5MDEwZTBiNWJBMTUyQzM5ODAwMzExNWIxMDhiNjJjZmFmNjVBYjI4IiwiMHgxN2JBQTA1ZTk1MThmOTg1OTIzNTlCNzgwMWVBMTIzMTgzYzg4RmYwIiwiMHgyNUI3ODBFMEEzRmFkYzkzNUY0OTkwYjEzZjFiMDE1YzI3NkNGODlmIiwiMHhDYjliYUMwNkJBZDE1YWQ3MkUyRjg3NjE3NTZkN2U1Q0Y0OGY4NDU4IiwiMHg1MkJmOUJlNTkxNDI5Q0U5ZjA0RDk3MDc2QWIyRTlGOTc1NjljQTM1IiwiMHhDNDA0ZDFGMzQ4OTY5Q2E5MDI4NzJlQUFFOGYwNTVmMDQ0RDlBZTlEIiwiMHg2Q2UzYmIzMDFhYmQ1MjY3NkZDOGExQjU2MmIzRjEyRjg2RDg4MDNiIiwiMHg3NEQ1MTI0QjBEYTYxNTgyNDU2ZkVlNGI4NzkzNUYxQjM2MzA5NDkyIiwiMHg5NzRDMWE4NTkzZTk0QkRiRUE0NEE5RmRFQjUyZDlkODdBQjJkNEFjIiwiMHgxOEM3MUNmYWI4MzE5Y0IxOTEzN0IxOWMyMzA3QkUwNTAwRTdERjIxIiwiMHhlZDNBNWZDYTBBNGJFQzg5OWQ3NjZhMTY3ZTMxMGM0MzRmQjgzMUFGIiwiMHgyQzU3MjQ1QjQwQjdGQjcxZDExYWY3OWUzNGE4OTlBQjMwMDU1REQ3IiwiMHhDNTU5YUFEZDlDMzU2MTRFM0U4RDg3MTg0NjNBOTYxQTk0MWNlRDFlIiwiMHgwN2Q0MEYzYThjNzY5MDIxMjJkMTE2ODAyZGE2Mjc2MzdmQjIyMTRDIiwiMHhCQjcwOGMyNjg0OGNBMjZmNjNDMDYwZGIwM2U4OUMzZEM2ZDUzYjg0IiwiMHg4NzIyMzMwNjg1ZDE2YUIwMDE4MjRGODg5MDZBQzM4RTc1N0RlQTA4IiwiMHhjOGM2NmYxMTI0OTQ5Y2VGZTU5M2U1OGNkNDUwMjU5M0MzRDgwMTk2IiwiMHhjN0U0QmIzNzA1YkU1NEQ4MEVBRjc4MjQ2NjJhYTU2NmZGYjQ1NEM0IiwiMHg0OTE3OUE1OTBCMDg2ZUUwOWRhQ2M1NzUwQ2ZEYjMxMmMwYzczRDEwIiwiMHhCNjQ1NUQ2OTk2YmYwNTE1QThjQTM0YzhkMmE3RjE3ODFDNWE4OTgzIiwiMHg1OTBhNDE0NTBjYTU1RmVDZjhBZDQxYjM2NTQ2NUUwNjc2ZTgwMTVjIiwiMHg3N0UwMDVCOTMwNzhGNmI2ZjYyQ0Q1OUU0YjU0NzUyZEJFNDI0YzVCIiwiMHg3NDhGNDAxMDlBMTFkYWYxNEQ1RjlmNkNiYTMzZDZGYTIwOTkwMGY5IiwiMHhENTZmNUNhYWRiRkFiZTk5OTUwQkFEMDIxODA3NjQ5QjlhYzREOUYyIiwiMHg5NzZiMjA5MDQ0Y0MxRDFDODQzOEYyQjM3MjMzMzVlY2Q3NzgwNjlEIiwiMHgxOUVjQzg3MjYxMmU2M0VmRUMwOEFlZjE4MzdkQ0ZCMDI1YTJDMTU4IiwiMHg3MWU4YjNFMGQ2OWQ2NmZGQ0NENzFhNTg4MEI5Nzk4ODQzZThiMDIwIiwiMHg5QTZFYjBCNGM5MDJlMmEwQzg2NjM4NEY0MjBCNTYwNjZGOTk3QTJGIiwiMHhmYzJmMzQ3M0UyNTgxMzRCOWQ4MDgzOTEyNzJCMzA2NEY2ZDRlZjIyIiwiMHhjMjcwOEE3OGEzOTdhNDFmMWM5NGRCYzFDRTlkYzBkNDliRUUzM2MwIiwiMHg3Qjc2YTA4QkMzMTEyMkE5QjQ2MTI2NDI4RjliMTU3NmFFMTBBNjAyIiwiMHhBOTczZGVjYzc2OERGYzlENTM1OTM5RjIxZjZBYTZEZjE1QmM0NDc4IiwiMHhERDZEMjJkRjYwYkM1RDQwNEI4Q0UwOTVjQUM4ODEwNERmM2VDMEIwIiwiMHg2YTNCQ2ZFNDgwNDgzZmM1MzEzMzg1ZkY3NGQ3MjhmOUMzRjdjMzhDIiwiMHg2Mjg0ZjU4OTdkNzNiQjJhODYzNDg2NzFiNjlFODU0ZkVFNWJFMTFCIiwiMHgxQ0YwZEVGNjk1ZWNERTE0ZTU2OTRBNzAwMDYxZDE5YTg4QmNCMjZhIiwiMHhFODIwZTA1NzNGNDMxMTA4OWZhNUY4ZDhCRWQxQmQ0MDI0NjVDNzgwIiwiMHhkODA4MTM2ZDQ2YWM1RmNGRDUyQ0I1NzgyZDI5YmJBYjUxMzMzZEE3IiwiMHgzODA3NTJBNTVGQmFiYjI0NDg4Mjk2NTRDRjZiMDhhRWNCNWVBQmRjIiwiMHg5NzcxRTY5RURCNDM5MjdBRjcxQzg5OTc5NzlGNjIzODFEZEMzYkY4IiwiMHgzZTk2RUM3MGVhYjFCNERFZDQxMWRmNkUzNWIxODY0Q2Q3MDIzQUY2IiwiMHhmNzhmNjMxODI0YTYxMjc1ZkU5RmRCMzVDMjY1MzA3NzRiODE0ODRlIiwiMHg0YmU4MDgxQTIxOUE2NUY0QzY3MjlFYjhBQTg4NjRiYTJCNjRjNjc1IiwiMHg4MWE3Njk4YTQ4MDIxRkM3QzhCMWExNzlhOTRkZUU3MjdjQjU5NjhEIiwiMHg2MzQwODBFMjdjNmFkNTUxMDc2QzAzRDEzNTZlN0NFODY3OTRiMzgyIiwiMHhGQzIzRWNCZjJFMzM0NDk5ZGRhNDM4Q2JBNWUwZUYxNTY4NzExQ2EzIiwiMHhhMDEzQmIxMkM3ZjZENWVlMjQ4QTZCMDAxYjVDNjM3MDYxMTc5MGU2IiwiMHgwZTU0YjVmYkQ0RjUyMTNiRkY2MUZCOTBhQmUwM2RmMjIwNmUzYTg5IiwiMHhhYUNENjI1N0I1QjRCNkY0NjhlMjUwNzc2ZTczNzk5YzUwYmYzQTg3IiwiMHg0ZDBiQjMxZjdGRWE0NTg0OTNjZTgzYTNEOTdiMjlCNEUxNkRmMjY1IiwiMHg0RDYwNjI1OGQ3M2MyOEUwMjQwQzAyNTkwN0MwMWY1MEE3MjhBMDNhIiwiMHgwNkMwREVCN0YwNDdlYjM4ZjMyRjMzMzczNzhlYzMwNjU4ZWFmYzE4IiwiMHg2NkM1ZGVEMWI4OTBEMEFkQTE4YTI3NjlmRWY0MzAzMjliMTdkNUZFIiwiMHgwRjJCOTQyYjRlYjk3OTBkMjEyY2IxYzA0OTkzRjY0ZGI0ZGZFMjg2IiwiMHhhZDEyOGM4Q0VDMjFiN0E5MTllYjRGMjY2QzA3QTRhYkNBN2IwMWU0IiwiMHhDYzEwNUU0QjhiYTdiOTBkRkY1MEY3NjM2NGIyQmQ5M2QwM0MzNTcyIiwiMHhCNzU2MEZiRjkzOEY3NGRjQjU4OTc2QTA5NjFGOTc0MWRhM2FCNTQ2IiwiMHhEQUY0QTNBRjFlYmYyNzNDZjBlNEM0NzNBQTMwN0M3NjI4ZGM0QTg2IiwiMHg2N2Y4MDNFNTNiZDgzMzFFNjc0ZDhlMmJlMjg1YTdiNjg5QTJkMURiIiwiMHgxNGY3OThmRkY3NTkyNkEwNzRlODM0MEQ0RjdiMkZDQjU3NTQ5OTAxIiwiMHhmQmZBQWE4N2VGYzEwZDUyZDU2YjQ0NWRCYjQ1NDkzRmU0MkRlMjFhIiwiMHg5ZEVGOTUxMWZFYzc5ZjgzQUZDQkZmZTQ3NzZCMUQ4MTdEQzc3NWFFIiwiMHg0MjE4MzVkMzhEQjE5OGExY0E1ZkJlYjgxMTdkZWY3ODlGZjEyMDM2IiwiMHgyRTMwNEFmMTQwQjI2NmI0MjhmOTQwMjQyYjRCMWU2MGQ3N2UxYWU2IiwiMHhBYTY5QUY5QTk1NmRDNDk5M0ZkQTY2MjU5N0VlMTI3YkE4YkIzZTY2IiwiMHhGMUMzMGY0MGMxMDM1NDkzQWJiQzNiNjBCNjJEOTQxRGI2NjYzNjU1IiwiMHg0N2Q1OTcyN2IyZTZiMTgxYjg5OWQwZjU5QkIxM2RhMGVFMzRGN0M1IiwiMHg0QjNGMDIxNzUwQjAzOWFkMzc0NTNEMDc0NTk0Q0RjZERmZTkyQjE0IiwiMHgwNGJiRmZmOUZGNUQzOTU5NkM0MzI2MjA4ZjkxNGNiODg1ZjAzZDI4IiwiMHgxYmNGOTBFMjE2QzhENTA0RDRBMWEyYTBmMmIxNTdjNEY1Y2NlMTQ3IiwiMHg0MDA1MkYzQzVGRDVkZUVhYjMwODYzMDQ5MjY1REEwQWM4RkZhOTE4IiwiMHhjN0M0MWM4ZTU0ZDk4NDcxMTY1MGJiRjkwOTkyYjY2RjQ0YTZEMTc3IiwiMHgwNkIzN0Q2QTFiNmQxQmEyN0UzMGIwZTlERDZDQTU3MTlBYUQ4RjM1IiwiMHg2OTMyNDMyYTZEZUMzQjk2YzBBMDEyYjZFMmVCMGQ4QjlhZTZhRDYzIiwiMHgzNEVlZGQ1YzRBRjVBNDY4NmIxNmE5NTg1MTcxNDdGYzExM0QxM2YzIiwiMHg4NTA2ZjI1OTgzRDc5MzRBRUEzQ2U0Y2FFMDcwN2QwODJCNTkwRUFkIiwiMHhiQjdmMzZjNGRmZGM0ODhjMzMyMTZCNzA1MDlFNTk5ZTMxOWI5NTg1IiwiMHgzNTc4ODQxMzkwMTIxQUU4MjFlMjlmNkM1YzAwNTA4YzI2Njk2NzhlIiwiMHgzZjBlOTRBRjE5QUZBNWExNzY5ZWMzMWFDOGU5OUM5M2Y5RDdGZEEwIiwiMHgwMEZmYTViNGE0MzIwNTIzNUVDOTJEODU3MDM3NWM2NThEYTIyMzIwIiwiMHgxMUQ2ZjkwQzcwRDgwMzhBNjY1MkQ3ODc5OENmRjkxMWRBMzVhOTQxIiwiMHgwNzVDOThhYzJFZkMxQWFmNjI5Q2JjOTg5NThmMTMyNEJlZEE4RkYyIiwiMHg3MzdFOTI4NWRBNjMzNjBCNkRFRDRBYjY4NTgyMzZERTU1YzgwMUQ2IiwiMHgxZjg0OGM4ZUExNGE0YTFGNzlGMzdGRjJFYTEyOEJFMDJlRTdBZUZGIiwiMHhFNjcwOTFDRjJDNDhDZjdFZTFBMkVDMTk5QUNBZmNjMzEzQjc4REFlIiwiMHgxMmFmQmEwNDExNkZCZWQ5ZkZkNjllMzBjMzA3YzMyMGI1MGJENDJkIiwiMHg1ZjIxYkUyMmRCQWRiNDE4ODM4NjhFRGE0MDU1M0YyMzY0YzdhODgyIiwiMHg0ZTM5MDEzNmVDZWEzNjRkNkMzRmVhNUM4YjMxYjA0RTVkNTNjQTNiIiwiMHhDNDgzMDFjNDUzOGI2YkI0OTVEQTY0NWI4MkJGYzg1NkI0NUNERUFBIiwiMHgyNjQzYjU2NUNjQjc3MDBhN2M0ZTkwNWZEYzU3NDUyN0U0ZDI3ZTI1IiwiMHhBNDREYkQ4RkRiMmE4N0ExNWZFOUM5MTAzM2E2NjRFYmU0RjBBYzE0IiwiMHhhMzk1NDVlYWVjRTZmOGU5MUE5Mjk3NDVkRGQyNmIzNENjOEQ0Q0Q4IiwiMHg0ZjY1MDgzMmQwNzg5NkUzMUQ2NUI1QUNFQzU1QjcyZDJBRkM1YUJGIiwiMHhCYmU5MDRkMDYxQTBhMTM5M0IxMTY4Yzk5OTIwMTA3OGExRkQ2OGMwIiwiMHg4OEE4ODExRjQ3M0Y5MDhGNUI5NkU5QkZFMjlBMUQ3NUI0NjIzMTNGIiwiMHgxQjk1N2QxNjFEMmY0MTREZGFDQzhFZDI2MjczQkQzRjc4ZTg4RDVlIiwiMHgyRjk0YmZkNjRFOENmNzM5NUM5MTE2QTRlZjIwNzBFNjhBYWY5MzAzIiwiMHgyMGFkZTBiNzllQzVjNzFEMGYyZTQxODI5MmMzMUM5NzgyMzM2YTRkIiwiMHg4RjEyNTZmQzJBM2Y0ODc1MmE0NDY2QTE1NjE0ZjQ4RWU1NEUxNWFFIiwiMHhDNEY0MWJGNEJjNTdDZTk5NzlGOEFjMWRBYUUwNTM3MkVGZTlBNEEwIiwiMHgzMTIzRTE0M2NDNzRjNjRDZmRDNDRFMGFCMWQwYTEwYTM3MUUzM2M0IiwiMHgwYmEwN0I4RUNiODBEZkQwMzNkMDM3ZGRDNDdBNDgzZEJkMDE3N0MxIiwiMHg3Nzc2ODEyNTc0NGE2OEEyMERlMUNiMGI5ZUUxNTM1OTQ2OTYwNkJmIiwiMHgzYzgyNEQ5NTAwYjAxMjQyNTYxZTY0QUY2QjdlMmE1NDJlMEIyNDMwIiwiMHg3MzY3NDg4MGYyYjQ1ZThFOWY3NkZFNjQ0ZmMzMjM4MEZhOTE5QWVEIiwiMHg4RDU0Q0EzNWU3ZEJiMDFEMzRCQURiZTFkODVCMUE1NWI1MEIzMTM3IiwiMHhjOTEwNTUxMzNCQ2IwODE3RDE0MTA5ZDUzRDQ5M2Q2YzM5RjQ3NDAyIiwiMHhGMTBiOTUzNzJiOThjQ2ZkRDg0OTU3QkZiYzZjNTg2ZjJjRjI2NDk5IiwiMHg4ODMzMTEwMWFEMTE3NTlFQjE0NzhmOWY3MDNjM2Y3MzM1NTNhQjQxIiwiMHgzRTkwMDNFNWNiZTk5MDMzYjI1NEY5OEU0RWU4QTU5MkU5QzU3MUIzIiwiMHhjMDFFNzVBRmJFZEQ1RjlCOUI4QkNDNjE5ODUyRDgzOUIxODJjRDM4IiwiMHgyNEQyMDlhNWVjMmI2RTY5OEYxMDViMzVlZjNjYmQ4YTgxQ2VCNjM5IiwiMHg3ZDJDNzc4QTkyMzY0OEE3Mjg4ZTM4NTU0Yjk0MzNCRThkNTFCNTdFIiwiMHhFMTI5ZmMxMTg2ODI4MENDODQyNjEwQzNFMTkyZUM5RjlCNzM2RDc1IiwiMHhiODcwRTY4NzljNTI1ZGVGNTZCODE4NDZFNTJBYUQ0NTczOWFiMzk0IiwiMHhEMjEyNjg2MTA3MEExMTgxQjQxMUZmMGNCMmQ1M0YxRmU5ZkYyQmQ4IiwiMHgwMTc1NjYzZTI1ODAyQ2U1NzgzMzk0NjE3MThiOTA3RTU0YzRDNEY2IiwiMHgzRTI0ODZhNDJFNzc4Mzc0NDAxQTBmN0U4NEUxNzJiYTljNGU5MjU3IiwiMHgwMkQzNjNGMERGNDI3NDM1NDgwNDg3RjEzYjc1MzU4NjBlMEUyMWQ5IiwiMHhkYjM4RjU1MDY4NkFjZDU1NjhFMmVlNDJENzBmRjYxYmQyNTBhMjZlIiwiMHhmRjUzNjg3RDRkNzc3RUI3NDM3ZDk3RTE0ZjhBMTFmNzcxM2UzOEFBIiwiMHhCRjYyRDViNGNlRDA1OGYxYjAxYzkwNmMyYmM0N2UyNTQzNTkyQTgzIiwiMHgxM2FEMGFCOWY3NzQ2RTNCMDM0N2VFYTZEMkY0QkEyNkVjZTY2NEIwIiwiMHg5ODM3Q0RFMzMwMjE2MTI1YmM4NTMxOUJEZDg5RTc4ZDI1MTRhODVCIiwiMHgwRUZiM0FFYWZlNWY0NTY0NTk4YjNBODBhNDJmYUFBODREYmE0N0VFIiwiMHhiZjJmNjQ0ZkNDMzdBZjZBNDA0MzkzNzgzODFFYkQ5RjFmMjgyNjMxIiwiMHg1NDQ4MjU2YjQ1MUIyMDk4Zjg0OGRhOTQwZDE3YTRFZjU3QkQyNjc4IiwiMHg5N0I5RTc1M0ZkOTc4YjJBNzY5N0Q5NTVENkM4ZDgxNzEzMjg0MjhGIiwiMHg5M0ZEQWJDOWE2NEMxYTZkRjkzMjQ0ODczQzJGYTgzMTNkNEQ5MWMxIiwiMHhEQUFhQzMxNkRlOTlkMzQxQWE0M2QwNjRkZDVlNTAyNDE1NkZiM2Q1IiwiMHgzMzgxOTE4NjY2ZWJERTI4NTk4ZmQ5NEFDQTc5OTk1YjU5MTExNDBjIiwiMHg4MDFmMzIyMUY1OGUxRDJjRTJGYTg3NURmYThDNTA1OTJlN2QzZDE0IiwiMHgyYThiNzBmNTk1MjRGNkRCODY4NmZGNjQ2NDNFZTBkZjUwYzNhYmY0IiwiMHhmY2UyODcxMWVBMDA5YzdjMjI0MjUyOUVGREUzZDMwNTFiOThkNTRiIiwiMHhEMDBFMzgzMjY0NDVjNTMyY0I1QTBEZTFhYzIyQzAxRDJEZjI1MmM3IiwiMHg3MDU0Yzg1MjgzRGU1QzIxZmMyNzYxMTg3ZTZCYzFiNTRmNEY0QWY4IiwiMHhFRTU5NWIyODllQ2I5OEVDRDI4YzQ3Nzc4YTkzMmZmNUFkYTg2ODlGIiwiMHhFRjk0OTE5OEM4ZDlhNjA4NDkzQTA5YUVDOTkyQzlkZjA0ZDM4NzdFIiwiMHhmNUNjNmJBODIwOThDMkQ3MGZBOTJGNjZENTE3MDhEMUU4MUFlODQxIiwiMHhFZTQ1ZjQxQjdENjNkNDgxMmI4MTA2OTc3NjkxM2FhODkzREUzMkU3IiwiMHgyMDNEZkY2NzNCMDA4RjY0NDA2NDk3YUIyQ0ZkQTMzMjEwODI2YTI3IiwiMHgzQzg5NzU5QTY1NTYxOGI5OTA3RDE0OUYwMjg0M0QwNjk1NjkwOEQ2IiwiMHhFZDZkRmYxNGJBYWE4Zjg3NTdjMzRhQUE2ODQzMzJjOWFCZDZmZDc1IiwiMHg2NDc1RGVCYjk0NzZFZUM0ODI5RTBlNTEzQTZhMzYxYjA2MDJFNDRkIiwiMHhBRUNFM2Y1NzM3NkRFZjFmRjVCMkJEYmMxYjNkOWVGMDBFOEEzY0E5IiwiMHhGNDI4MGUzRTNBOTBmMjVkODk1MEYwMzIxQTI3OTFiMDA0YUFGZjkxIiwiMHgzNzk2ZmVlMmI1NTVEQTEzNTZjZGNEM2UxODYxMjYzQjM1MUE1OEEwIiwiMHhGQjc0ZWFEMkNGQkY3MDc4ODJFN0RFMzRGMTEzNTcyOUJCMkM1MjIzIiwiMHgwN2UxMzA1M0NGNDVmRUJhQTJmODZGQkQ2NjdmZEI4REJmNTI5OTRGIiwiMHg0ZWM5RTVGYzA3MGMwMEU1RjI5NzFhNzAxZEVjODY4ZmI1QUUyQjM3IiwiMHhENjA4N0Y2ODg1NDY5YTNBN0FhZjIyRDU1YkZkRjY5NTI2QzA0NTUxIiwiMHhEMDgwQ2Y5MzJFRDY3NWMzNWU4YzM2ODREMzVmNUEwYWEwODQ3ODJCIiwiMHhkNmFhNjlkODM1NDNiMDE3MzgwMzcyNkVjMDFFRjcyOTM0MzE0ODRBIiwiMHhGZjkwNkQzMTFGNjE3OWU2M0ExNUQzYjc3NTRBN0FkMTkzNzUzY2I2IiwiMHhjNDkxNjY2YUU0ZDhlZGFGMjM5MGM1NDlGOEZkYjJBMUU4RDgzMUQ2IiwiMHg3RTA0ZjJDQjIyOEI1OTBmN0FiQjQzOUZFYzAwN0U2OWEzOTI3OTc3IiwiMHgwNEQ5NjVmYjQ1ZDg1ZDgxODMyQjUyYTRiODMzM2NhNTA4NEQyMjk5IiwiMHgwNUNDMWU1NzlFNEEwNjMzQkQ5Zjk4NDAzRTU0NUU4NzMyMjA4N0MwIiwiMHg3NzBDMjJDZmZmQjkwNGRBMTZBNDZmODRGM0ZBNWRGMTM1RTliMGEyIiwiMHhEMzRBY2Y5OTdBOTlDYWNmNkU3MDA5NjVhOTAwOTcxN0VGMDJhREZEIiwiMHg4YTFCMjZDODVjRjY5YUFjM2M0MjEwZDkzMjlkOUY3Qzk1NjA3MmRjIiwiMHhmMzk2OTIwRTcwMmE2MjcyRUI4MjhkNmE4ODAyZUY4MGY2ODIwYUM1IiwiMHhhNDg5MTA5QWU1MUM3M2VhODE2ZjMzYmNGYzBkMTc2NUZmNkEwNzExIiwiMHg3MzgwNzZmNDRjMjQ3M2EyNjlGYWUzNDZhNGM1Njc1RTc0QWJGOEY5IiwiMHgzM2MxRWVmYjYyQzAwNkQ0ZjViMGQ2NDdiYTc0Q2M5NjU1RTBiNDE5IiwiMHgzMjg2ZEY3ZTEyRDBjRTI5MkE1MTQwNTliNDM4YTg5NjIzNjg1MUIzIiwiMHg2NEZBMzg0MTY2ZGU4MjUwZDlmODI0MzUwMTViOUI2ZTQzNzczRTk0IiwiMHhFRjdEMjE3MUIxRDNjNjc0ZjhCNjEzZEY0NTVDOTA0OGI5NzQ4QmVmIiwiMHg4YWU2RjZiNDQ3MUNFMDgxQjdjM0MxRmIzNjMwZjM1MTc4ZUZmNDhGIiwiMHgyZEQ5ZERFMGQwN0IxNkI1ODM1NkJBNGQ2ZEFjNjI2MzA2M0I1RmE5IiwiMHhmRGZBN0U3Nzk4RDdCMjlDNzBiRTY4MjFmNTAzOGRlNUViZjc5MDFhIiwiMHg4NjU2RThFZTViYTNmNDk2NkNBNDhhYjkzODFGOTkxMDkwN0NhNWFEIiwiMHhENDgwQzJiRDlkZTcyNEJhYTVkOGE0QzI5MWE3OWQ3NTkyRTI4NGNFIiwiMHhlMmIxMDdhMjQzODZERDNmRDhmOWQzODY1NDNiMjc4OEM1MDcyNzAxIiwiMHgxM2FjYUM4Qjc0MzQ2RDI4MUVhOTEyNDhlNDcwOUZCNzk5MTkyMjg3IiwiMHg4RDQ1ODY5QmVkZkNhZjA2QmU5QTkyQ0RmNDIwMTNmNDA2MzYzN0IxIiwiMHhCNzRkMjVBRGE1QjBBNzZhNjRCMUI3RDM4ZUY4M2QxQ2UzZTdhODg5IiwiMHhDQUU1MzBmM0FEZTQwNjkyQmJBNDYzM0FFNUFENDZiMTQ3NTdlMTU2IiwiMHgzN0E5QjQxZTJDQjIwYzU0OGNkNTcwZjM1N0NENUVjNjc4RjhCNDU4IiwiMHgwN0Y5MDEyNDM0OUQ3RmI3MTM3NzE5OWY0ZmVDM0JBOURmYjM3Njc2IiwiMHhmRDgwYTRhZDQwMWU0MWZhYTUxOTZDNERkNTljMTFGQ2E0QkY1YzA2IiwiMHhCMTYzN2JFMDE3MzMzMDY2NGFkZWNCMzQzZmFGMTEyQ2E4MzdkQTA2IiwiMHhhMjJiQjYxMzI3ODlCQ0VBZjMxMGVkYzg4NzhFYWRhMTIzNEU0OWI2IiwiMHg0OEE5OTRhNzVFNTJmNTkzNEEzRWUxZTMyRDQ5MTQ3RDREMWEwRkVFIiwiMHhDRjM2ZTk1MTQwMmRENkFGNjBDZEQ1OGQ1N2Q3NmIzZUE1ODYzQzgxIiwiMHhFNjk1OTE4QkY5NDU3OUQ2OGM1Njc2MDRhYzBiNTAzRDBkMzAzN0JBIiwiMHhlZjExNmMxNTQzN2Q0ODUxMENlZDE0OWE2YjU2ZTM0QzIxODExRTZjIiwiMHgxM0UwRENiREVGNzY4OTVEMDk3RjVlQUE0N2FDMDBiOGU2NUQ0NEJBIiwiMHg5RjE0MTQ0NkNBMDU5MTUzMGNGRmQ1OTZDMzgwMjMzRjRBNzc3N2EwIiwiMHg4NjIwNWM3NDUzOGI2N2JEN0UyNDE0QWE0ODk3ZjkyMzQyQzAwQkZkIiwiMHg0YjExQmEwMjY2OThCMTI5NDliYjEzREM4MEQyRTY5OWE3Y2VEMjllIiwiMHg2NERlZGU1OEE0QzU5YTI2OWUwY2U5RmJDMjVCMkY1ODllMDkxOWIzIiwiMHg2ODYxZGQ4NDYzN2EzZGJhNGNjRTdBODdGNzg0QTVBQ2Q3ZTBBM0M0IiwiMHgwMWYwQTU1NDY3ZkRkQzlEMTEyQTBmRjg1RkEwMjZGMkEyNTMwNjM5IiwiMHg5NmZlZTRmQTY5ZDVlOEE1RDg1RjFhNWZERDU3Rjc3NEREOERiQ0MzIiwiMHhjNDI1OGFCOGFDZmMxOUJjYjc1NDhlRDdjQzQ3MjVkNkJjOEU1M0MyIiwiMHhFZkZBMTA2ZTZlMjRiNmZFNjRDMTc5NDgwM2QxRWQxMGY2ODBFODgxIiwiMHhDZGU1MTU4MjAyNDA0MWI2NjE2ZTNhOGE5ODY2NzNFNWRhM2E4MTZkIiwiMHhmOGE2NmRiREZkRjg2MzZjQTUxZTRBOWRGM0NDMmY2NEJFMmFGODQ4IiwiMHhBN0E0M2EwZTY0MjQ4Mzc1NmI0RTUwMTFEN2I5ZEIyNmRCM0U4RkVGIiwiMHgzZjBGNzhkNTA3MjFlMGY0OTkyMjZEMGNEOERjODlGODBhY0QwRGMxIiwiMHg3OTdBZkI1MTUzMzJGOTAwMjlhNGNFRjA2ZkIyQ0Q2OTg3YzIzZGQ2IiwiMHgzNmUxNTBkYTc4MzEyNkYxRTc1ZDlEMjlmQ0Q1ZGVmMjIyZDI1NWY0IiwiMHg2MDgxRTAyZDQ4NTJhM0E1N2MwMTlmNjYyMDQxNjFkMzkyMGU0MTEzIiwiMHg4YjhjNTg3N2NBMDlDNGMxQTg1MDFlQ2VjRkMxYzNkOWNCMDdhNjRBIiwiMHg1ZkQ4RTMxMTI2NzZmNjlhMzYxM2MxOTU5Nzc3OEU2ZjdBOTAyZDdDIiwiMHgxZGIzMTdjZmYyNzRiRDUzMzUwRDcyM2JEQ2EwMzIyYWQ0MTJmQjY0IiwiMHg5MmJDMTAyZWZjQWFhOTE3MjE0ZTJkM2U4MjRlNzVCQ2EzODU5ZDIyIiwiMHhBNTBCQ2VjQTRFNTk3ODNhNTY5MjgyNUE4NTZkMzBFMUUzZDFBMzA3IiwiMHg4ZmFjMzg1M2VmMkE5YTc0Q0Y3MzI1NzdEMTg3NzAyMzM5ZUI4MTQzIiwiMHgxNzgxYzllMDg3QjE0QTU5MTM3QTEzQTJmQjc3Yjg3MDZjMDc2ZjhlIiwiMHg4MjRhQjEzMjY5NjRiQ2MxQzA0NTFGN0YyNTRlNUM1Yzk4NmM1NmY0IiwiMHgzNUY3NDA3M0I3ZjNjZmJlNGI1MTNCMDA2OWU0MDg5RWFhQ2IwMGE4IiwiMHhCMjc3NDVENjg5OENmZjZkMTg0ZjQxMEMyQzU2RDYxQThBREI0QTAxIiwiMHgxMjVBNjdhOTBDYTc2MGQzNGU3NTY1YzMxRDU4ODY0YmZiZDZGQmVlIiwiMHhCN2YyY2ZCNTZFNkE0OGY2ODk4NDFGRGM5MTFFNjI1ZTE4NTUzRDU4IiwiMHhEQUM1YTlGNjQ0N2RiNWYyREFkZmFiRUE3MDJBYWZENjQ3QjkxMTNDIiwiMHhiNjMyN0QxYTM0NzJiNjdjOWMwNTlDNkM5QmY2NDA1MzY4NjFFNmU1IiwiMHgxOTkzNjZkMTg5NTYyODc5NzY5M2ZlOTA3YzA1QjY5ODg5ZTU5NTk2IiwiMHgwMENCNTNGRTc5ZjQ0OUFDZkFBNzA4MzkwMjM3OTM1MEJFRUI4Y0ZmIiwiMHhEYTA4QURFODA2QTU0MWMxMDUwZTBENjUyNzcyY2UyOTU5ZkM1Q0FkIiwiMHhiMjhCZWZFNmIwZDI2ODA2MjJCQjdmRTU0MjgwOGUxYzEyMkQzMTczIiwiMHhCMTBDNzQ0Njc4NTVDYzBENUZEMjU4OEVFMzlBZDdkMWY1YjRDODY2IiwiMHgwNTA3NUZGMjQ5YTQwRGQ3ZkQ3MDhmZmMxNmE4OTIwNURkMTZGOENDIiwiMHhmNDAyNDA5MzM1ODExMzQ3QmE3NzBmZTc1ODAyRjJCQ0VDZkE1OTg0IiwiMHg0OUEwN0YyN2I0ZjBGREZEM0U3RjEyZTcxY0Y5MzcwMmRhODA2OTgyIiwiMHgxOGY5NDNGQjkwODIxMGUwNGY4MjQ2Mjg5QTY2MmZkREFCOEMwMzY1IiwiMHhkOTVCQzlDQTA3RTI1RThlZDQxODJCYmE5RjBBNjM0Qjk3OEIzMEI2IiwiMHg2ZDdjYjM5ZjBGMkU5QUNGNDRmMzE5NzM5OWI4NEI1M2E0RWNENkJjIiwiMHg1NTExMmY4MmJENzUzN2U3N0Q0NTQwODNGMUFjOGU5ZWRkOTUzOEM2IiwiMHg5NTY3RTEyRkI2ZjE4Y2M5NGRCOTAxYmVmMmMwMjEwY0FjYjM5NjJBIiwiMHg0MWI0YzUzYmZGNTU3M2RmZTcwYTAxMkNBNjVDMzU0OGU0RDEzNzc1IiwiMHhGY0Y0OTIzZmZkMzlCNkQ3NzFmM2I0MkY3RUMwN2Q0NTc5NURBZWU2IiwiMHg4MWVDQzlDNTMxNjc3RDdFNmNBNTZGRTM4NTVBNjlDZGJFN0UwMjNBIiwiMHhjQkU1MWNCNGFjOTRFRjk5QmUzZjJkNDA2OUREZEFFQUM0QTgwOWJGIiwiMHhjZjdDOWMxYjNCMTE3M2MzYzMyMWYwYzc3YTQxMkYzODM2MDZmNjBhIiwiMHhlMTY0OTJGRDM0YkQ0NzJmZkE4NDEwRmU0QmZkMjA3RTEwNTAyMjk2IiwiMHgxMWQ4MzVmNUQzNWU5MTA2RjRiNjdENUFkRGQyMkU0NDQxNGNmMkFGIiwiMHgzOTg0RUQ4QTRGMDI0Y0YzZjc1RGQ1NTRiZTkwNzkxNTgyRjRDMDBhIiwiMHg5NDM2RmIzNjM2NUY4OTFBMzk5NDFhNTM4NEE4RkFEOTA0YTA0RDNEIiwiMHhkNzdlMWMyNjIwRTA1ODBmYjMzNkE1YTNCNzM2NDQ4QzAxZTMzMjVjIiwiMHhEOGIxZjAzMjBCQkRlOTE2YTE0QjA0MEFlODNDYjZGQzkxYTQ2MzcyIiwiMHg0RDY0OTdlM2RGNUJGMDlENDUxMDRiYzZmN2E1NTFCNDU5NDlhNTU3IiwiMHgwQTQ1QWIzYjM2NGNEMjVBMDQ2RTU0MkM2MDhhMzhlQzQzNDA4NjI4IiwiMHhmYzZDZTlmMzE5RDc1YWQ0M2FiODc0RTFDRUZiRUI5MWZiZkIyOTFDIiwiMHgwNDQ5QzY2M2ViYjNkNDhiMmNBODJGM2Q2MzNEZTNFYjdkNTFlNDQ2IiwiMHg3RDdjYUIwZWYwNjgwYzlGMzA5ZEMzNjUxMzhkYWFjMjI4MjVFMmZiIiwiMHg0ZTMzOEE5QmYxNEUyRTA4RERlRjI1NGNCMzlkRTkyNDM5RWM4NTFBIiwiMHgzYjA4M2E4MTBBOERlZTdjNEQwNGE5Q0EyNGM1OUE4NkNFNjgyOTYzIiwiMHhBNzU5MjE0M2VjOTE3ZGIzYzZBODlEMThhZDY0YzFjOEY3N0NCNkI3IiwiMHg3QzFEQzg1NkIzNjJGMDlGQWIzNjMxRDI1QTk5MUNmOTk4NzU0ZDk5IiwiMHg3MDQzODAxNGNmMzVlQkNGRDllZTM3NjQ3M0VjMDJmYjg2MDUzZDY3IiwiMHg0OEU0ZmM2ZTVGOUY1NzI3ZjBGMGEyMDkwNTYzZTIzMjZiNzY4ZDE3IiwiMHgyNjYyY0RCNzljZTMwZTJjMjIzZWRCZTk1MDAxYkYxNGQ5NUYxQTc1IiwiMHhDNEY5Mjg3ZTM5NWViMDI2RmY0ZGYzM2NBNjI3YTE5Yzg2NjdCOGE3IiwiMHg4QTI4Y0JkYzY5MTE0Y2RhYzVGQ2FkNjc1OUY3OGFFY0VFRGNmNGEzIiwiMHgzMTU4RDhEMTM3NUQzRjBjODc5OTE2ODM5ODk3RmM3NzdmNmEwMzI0IiwiMHgzYTg4YTMyOTY0ZGU5NDZBOUY3OTgzMkUyYWU0NDA4ZTBFQjIzMEYyIiwiMHg4NkUyZDQ5YjFGNjQ4NjQzOWMxM2QzN0QzODk5OWNGZDcyMEMyNmVlIiwiMHgyODBkNjMyN0VGRDg4Y0JlOTlFYTQyZjY5MjdmNTNiNWRCZmUwNjU2IiwiMHgxNkE0NWI2OTc0OUUwM2IyZjliOThhRmY1MGZiNDcxZWMwMDYzQ0FjIiwiMHhCNmU5Q2NENjY1MzcxREIwNkViNjA3OEQ5OEI2ODIxMDUxNjk1YWZGIiwiMHg0RjQyNzAyOWMxODNBMWUyOUI0NEU0YkUzYTYxOGQ2M0FjYjk5ZTExIiwiMHhmQmRiMjY2NTA0ZERmOGRjMTg5NzIzZDI1ZDFiMTgwYmVBNWY0MERiIiwiMHgyMjkxRTZBOTVDQWYxRmIwNDA1NGE3MWIxZGNENTBGMzM1Q2UwRjIxIiwiMHhjNUNiMDk0MTNhNTJmNDQ3OTc0OWUxNzUwQUMyMjRCODljRTIyNTlFIiwiMHg5YzBjNTA3Yjc1ODQxRDM4MDIwMzNhODBmMGU0M0UzOUREZjIwMkJBIiwiMHhiMzgwQTg5MUVGNUFiZEJmNWVBNUMzMTU4N2Q0QUU5YUI3MjU5MWNFIiwiMHhlM0UyOGZkRjM5YjUyMTA4REE2MUU4NWQyMzI4ODJlMjExNGQxMGJDIiwiMHhEQjE4MzFiNGJmYjNjNzhkOWYxZGYyMDc1RjM1NEVmODQwNzJhOUQyIiwiMHg2NDhFNUZiYTcyMUE5NDlmMDAyN0U3MTExMzgxNDg5QWU4MzJiMjE2IiwiMHhhOGY3RWEwMjI5ZEQxNDI5YTBmYThDNjI5NjIyMTY2ODI5MjE1NjlFIiwiMHhCODM1QzZhZjkxODE2MDE1ZDBjMDFhZWRGRDNEZjBBZUZmMDZDMkQzIiwiMHg3ZjUwRUE3YTI5REZmMkM1RDYwQzg5OWQ0N0YzMmRiRENFYTlFMmUyIiwiMHhCZjRjMDNlMkUzQzZCMDNkNjgwMDBDZkE5NGQ3RkI3YzRhZjI5ODlmIiwiMHg1MmQ1YkZGMGJGM0E4NDQ0MTg0NzcyQzFEMzBlNjU4MUZlNGVDRDliIiwiMHgzY0FBMTIxODc5Yjk2MjFlYTNjMDMxNWU3MzAwNzBhRTdFYzc3NjgwIiwiMHg1MEYzMDdjMDU0MzJlOTU4N0E1NDkzMWYyQzI0NTJENDBlQzREMjk1IiwiMHg1YjEwY0RhZWMxZEFhYzBhMDRjOWNlMDFlM2U2OEM5NTk0NTliNmViIiwiMHhBNTMzNUM4ODg4NmU2NWM1ZjcwODIwNTBEZDhGQmQ0ODUxMkY1Mzc2IiwiMHhFNWNCQzIyNTMxQzZjMjJlN2NlNjBBMGYwRjZFOTlENTZEMTAxMTc1IiwiMHhlNzdGOURBZjUyZTJlRUM0MWExQUM3MEZDYUU4MWE5OUZlMDU2RjBiIiwiMHg5ZDMyYUQzMzgyMzdjYTQ1QmY2RUIxY2Q0NmM2MDgxQmY1NTI5ZjAzIiwiMHg4N0U3NjJiMTYwZmQzRUI3NzI4MjQzMjY1NjQxYjk5RkQxRDI0NjAyIiwiMHg3ODJGNjIwMzJlYmQ3MTBCQ0FCMzRmNDJGOGU3QWM0OEE1QUE0QkRBIiwiMHg1MjExQURkQTk4MkQ5NmY1YTk3MjM2MkI2RDdkZDViNDFkNmRERjYwIiwiMHgzMTRlNTlkMGY5NDM5N2EwNjJCOEIwQ0RjNzk4QTlmNTA5ODdGMTQxIiwiMHg3MzIwN0E3M2Y4MTI0ZTU3NTg3MjM1NzM1MmRhRDAwMDdlYzIyOTE5IiwiMHg0Mzk2MzM3Q0JkNmI1OTExNkI5QWZENzExYjczOThENGRBOTQwNTREIiwiMHgzMDkyRGMxOTQzYjJENTE1RmQzNzMyYTBEMDhENDk4MzAwMWM5ODMwIiwiMHhCN0RlNmYzNWRjNDNFM2Q1NTE5M0QyNTJBNmNEMjI0MjUyMmUzMzRmIiwiMHgyMzI3ZDVBRDExYWMzYjM1QTJlMzRjMDlBQjEwM2VBOTQ5OEE4ODIyIiwiMHgzQ2U4YWZkYTZEODk1MzU3MTM0MjY2MjAxNjMzZkIzMzA0YTQ0NTE4IiwiMHgwNTM4ZTA0QkRjNUU2OTJGZWIwNjFkZjdBQmZDNzgyNGRFNDAxOTBlIiwiMHg5OEYwNGFkODc2ZTFGNkY1NDQzQjUyNmE2OTAwZWVCNGM5NWM5YzJkIiwiMHhjOUUwYzA0RjgwQzI0OTZGNTkxYWYyMTdhMjY3NUE1YTQ1ZjNiMjAyIiwiMHgxQ0M2MkQ4NTMwQzlFN2ZjZTc1NTA0ZTY1RjYxNjg0NTFlMjg4ZTZhIiwiMHg5NGJFRWQ5ZjNjN0JBNTgyZjhmYjVENDAyNkRhZENlN2JjODlhNzRGIiwiMHhkMjI2N0IzQjYzODY4RDg3QzE3MEQ2ZDNDRjQ2MzY4OGUwOWUwNjljIiwiMHg1MDVhMTUyQzI0QjAzQTY2NkU5MDNhQTYxNTllNUY5NDMzMDk0ODkzIiwiMHg0NzY5NjQ2QjVCNEE0NUQ2ZWNDNDQ3OTViMEIyREFhOTg5NDcyMjFFIiwiMHgxYWQ0MGU4REQ2NWQwNjQ2MDNmQzQ2ZWE0ZmVlRDg5ZEY0ODY4YTBiIiwiMHhBMTk3NTFkRTRjMTAzYWVCMjI5OGY3MUNjMDYzOTY2RWY1MTRDNzU1IiwiMHhCNTk0NDg4RDg5M2NFMTFGQThiQjA2RjEyRjk3MDI2QzlDNGM4QjZDIiwiMHhkN2IzMjQ2MjkzZWZkNDUwYjQwNTY2ZmQ0NjEzNDlDQjA3MDZCNEQ0IiwiMHhmRThlNjQzMzdBNGY3OTMwN0VDNjBhYjU1YjE0MGY2OWRkNzY5OTlBIiwiMHg2YTQwNDczOTlDNTE5YTU2NzgxMkNjNjM5MzEwMUIwMjcwZTE2NjVDIiwiMHg2NmJhN2ExMjUyMTc4RDBlNTM4QjM2MzhiNDMzM2VjNDRCRDUzMDBBIiwiMHhkMDAwZWFhNUYyYkYwMzBkQTRkQjI1MjE4ODExMWRGMDZCRjBBQjdDIiwiMHhBYjU2OWFhY2JkZURiMTFBMjc2ODk3MTgxNDVEQ2Y3NDQ3NTE1RTMyIiwiMHgzZWY3MDg1NjNBY0Q5MDJlODliNzc0OEQxQ0E1MUY2YzQ4Q0VDNTM1IiwiMHg1MEJjMTFhRTlmNDI3RERENjdENUJiMDc2MWIwRjg3OTI1MzhiOGIzIiwiMHhGNDk2QjM1NTViNEY1MzlDRTRkYzk4MDI0ZDcyNDdhODIyMTk1MkQ3IiwiMHg5ZkJkZTVjNmQ5MTkwOGUzODM2NGMxYTdlNjY4YzYxYzM4YWE5QjIyIiwiMHhDMzFCQkZCNzdkMzE0MWVjQTk3OWU1N0Q2YjVCNjM4NGRCNjQ5ZTIzIiwiMHgyMjY3ODY0ZUYwNDQ2RjljZDUwNzQ5QzJENjZGQmQ1OWVjNkJkODQwIiwiMHgxN0QzZDlkMTAxNERmNTcwODRlQjM5ZWU2NDA1NTEwM2RhNTMwNGE5IiwiMHg1RjBBODU1NEEzMWQ0M0I0REI1RjBiZGI4OThiNUQyMzE5YjZlYTQ4IiwiMHg4N2ZFYmZiM0FDNTc5MTAzNGZENUVGMWE2MTVlOWQ5NjI3QzI2NjVEIiwiMHg4ZjJlRjlGNkNkQzEzMTJlQjkzMTU0NDFiNTAxZjUwMzRCMDM3OGVCIiwiMHhERDlDRDMwOTA0MTQ3MjIzNUI4NjliNzFBYkI0MjRDQ0M0MzcyZkRkIiwiMHg3OUQ1NDRCRjk4MTJmRTU4NGUxMjcxZUI0NjVmOThlMTFkRTY2Yjk1IiwiMHg5Q2REZjIyODE5ZDQyNDEzOEZBMjIxZUU3NjVFOUJlODdFRDdkNkE4IiwiMHgxOTM0OEI3Y2RhYzkxQjY4M2I2Mjg2MmFhZGEyM0JBMTlkRUM5MDMxIiwiMHgyNjlCMkM3Njc2NWQ0ODNjQmIwNDc1Njg1ODdmNDlhNTA4YjNjMDJCIiwiMHhmRjNGMEExQTgxNTZBNzdkYzgxZjhFODAwYzM0MGQwRGJFQ2YzZGREIiwiMHgyZEE2MzdCQTFCQTIyMjYyZjk0NEQ2MjhkNDEwOUZGMzBFOUYzOWE2IiwiMHgzNDljODI1MTI1NjFlNDg0YzE1M2M1MGMyNjcwMUNiN0NlMzc3M2ZmIiwiMHhCZjdEOTJlMDlmZjk1NkFFNkFEM0VjZTRjMWU4MWE1ZDE3MjBFMkY1IiwiMHg0QjRkOTkzNkMxN0E5RDQ2QjM1OTdCQzhkOTIxZDAxRmRkOUE5Nzk3IiwiMHhEMmQyODRFZTE2NmQ2MGY3M2UyOEY2NDc5NEExODNmNzI5N0IxZWQ3IiwiMHgyMDEwNEEzNEZiZDdjNjY0RUM0M0UxMWRmNTBDMkZENjRBRjQ4OEIzIiwiMHgzMzUwNjFiMzM5RUM0NkY1RmM1YjhhOTgzMTZDQWI5NDlhMmFhQjc5IiwiMHg5QzMyZWYyNzljMDgzYzI5Mzg4NDE2QTk5MGRkODUxMTgxMTE0RTQ5IiwiMHhkODNGM0UxNkFCNTM4ODk3NDY2NjY4Y2U2YWI3RjdDMzQ4ZjIzOTMxIiwiMHhmYkE1ZjgzMDYwNTZBYjk3NkE1RWNiNmM0ZGFjNTM3ZWVkMmZkNTJGIiwiMHgzNWFmOGY5NzY2MDVGRmIxOTJEN0MzMjJCMzQ2MkE4YzI4Mjg3ZUU5IiwiMHhDZDI2NkZlZmFFMGUwQTZiQjFmNDdjODM1M0M4ZGQ3NjY2MjkyNEIxIiwiMHg2MDllNTFBMDAwYjMxNTNBZjJjRDJBNGJkMDZDOTk4OENkNUYxMzdFIiwiMHhmMDRiQjFmRUM3Mzk2NDg3Zjc0NjRmNmM0MzRlMDVhQzczZmQ0MzU5IiwiMHhiOTJlQjA2N0E2NmMyNUQ3OGYxNDg0QTZiRDNCYzU3NUM0YTUzNzlmIiwiMHgxOTczODZDM2Q3ZTREOTRjMUI4MjdFNTJFMjc0NEY3NDRjQmE3MEI3IiwiMHhkZWY2ODE3Mzk0ODFlMjRGMjVFODAxRjhDOTNkYTAyY0EyNDEzMzk1IiwiMHg2MTg2MTZGMjA1NTJDNGM4Yjg1QkZENzhFODlhNjUxNjdENzBGYzYxIiwiMHgwZGY1ZTc5M0E1ODA4MzNkRDNkMTFmNDYxQmVBMTI3NTFkODkwRTI5IiwiMHg1MGM5Qzk4RDk0OEQ0MDI4ODI0RTgwZmM2NzVDNDBkNzFiOWNlMDZhIiwiMHg1NjBEOTJGZWRBZkUyN2U0NzlmQ2I2QmQwNzM1ZTMxOTcyMDFlNDE1IiwiMHhENDU0MkQ5YmU3OTIwZTY0NTc4RGYwN0JhRUJlMGJiQ0E5MDU1MUM4IiwiMHhmNTg3QUFBNjRDYjU1YzA2QTMxZmM4ZjNEMWE2OUFmMjk0RmIzOEEzIiwiMHg5QUFkZDgwZDA5YmVkMjlkOTg5MjQ3RTA1NmYwZjE1YTg4N0U0QzFEIiwiMHgzMzVmYzZmMGY4NDkzNTM1ZjYwQjVBOWUwYkJhQzM3ZWY1RTcwNzY0IiwiMHg0MWQ3NkQ3ZkIyODhENGMxZjdCYjY4MTlGRGE3NTU5NmUxNDhDRjIwIiwiMHg3MjU4NzI1NWU1NTIwNDAzN0ZGQjdmQ0E5ZmM2MGE4NzAxM2ZFNDViIiwiMHg1M2RDYTY2NzhjQ0JiRjI2OUIwNTY2M2QxRTI0MDQwQmQ3ODQ4OTA2IiwiMHg0NjQ3ODI5MTkxNzVBNzVGZjMxRDdlMDY1NjRGMzAyMUFCNmYzOGY2IiwiMHgxOEY5MTZjNjU3YTY3Mzk1QTZFOEE5NTFiODFmRTA5MzVjOTZkMTYwIiwiMHgxMDBjODYzMmFGMkMxNWIzNDVmMGNCNDM1NjQxYzE0RDIwQTQzY0E2IiwiMHgxQWI1QzdBNEEzNUQzMmUzQkRkMzFENTkwOTMxMTI2NjcyMzBDNjdiIiwiMHg1N2M1YjViNGFhYUVjNTdGMzE3N2ZkZDhBYjY3OWYxNUY3RDlhNTQxIiwiMHhCYTc4NzI1MzRhNkM5MDk3ZDgwNWQ4QkVFOTdlMDMwZjRlMzcyZTU0IiwiMHg3RGMzRTk1NzQxMmJjOWViMzk4QWY1MEU3QjI2NTc3RDA2NTkxRTdkIiwiMHhjMjVGNTFlMzczZkJmNjU1OWQyM2ZjRGYxNEI3OTY4NGZEYTNmRUM5IiwiMHg4MWI5OGVEYTQwM0FBODUxQTU3NGQ4OThlYzYyZDU1MTFFYTNkRTAzIiwiMHgxMTUwMDk0ZjFDQUY1YTllMzhBMTc3NTQyMTFjZjg1MTMyOGQyNTNDIiwiMHg1OWVDQjFmQ2IwQ0E0MmYwRDIwQmIxRjVFNzVEYjVDRjM0MDMxRmYzIiwiMHhjNThFNjUyQzUxMmJCODNGQ0YxNERlNmJGQzUwZjI1OTZDMTQ1NWFCIiwiMHgyODk1NGJFNTZENDBhMENBMDhlMTIxYzlhMThhOTY5MGM1OGRlNDVjIiwiMHgzNEI0ZjM1MzIwQjRDM2QzMDNlQ0Q5MEJjODQzNzVlQjNCQjMzMDRCIiwiMHgxNzBCRjNBYTE0Mjc2YkQ4NTg1QUU4NmI1N0FiZWRENEQzOThlNTgyIiwiMHgyZUJDN0NERkJGNzEzMDc1MUNkZDRlNzhEMEE2ZGRlNDg1MDZhODMyIiwiMHg5ODNjNDMwOUJkNjY2QTIzNDg1RmFFRTZFMGVFQzc3Nzk4MTNFRGMwIiwiMHhCNDkxMzcxRjE1OTU0NTIwZjcyNUUzNzAyOTgzNzNkZkMxQjZFOGExIiwiMHg3OWJlYWY5RDU3ZjlGMUM3NDQ5MUM3YTYxYjBhM0M1YzU3OWFiYjcwIiwiMHg5MzgxNjcxNjlFYzQwRUMzMzE0NzhjQjUxNmQ5NThEZkMwZmE5MDk4IiwiMHhmMTg5NDBFZkU3MDhmMDBiNzkwQTNGODVkZGYzN0FBYTU5RTYwMGE1IiwiMHhhNTE0NWNmMDE4QTUyNWUwNzVhRDYzMERkYTQ3NWE4MDE1QkJmNjYzIiwiMHgwNUUxYmQxMzFBRWUzNDg0OThmOWU5NzE3QjUzZDBGZjZGNkNCNjE5IiwiMHhiQUJENWQyMzZlQ0Q3MzQwQWQ0NzJiMjllRjllRDE2MDM0NjRiM2YyIiwiMHgyMkZCMjc1NUM0QjlBMDBkQjNEQkJhOTc0MDg3RkVEZkEyNzNCQ2ZFIiwiMHhlNTNhM2U3RmY3MmVDQWFiOGE4NjJCMkI0ZDVDZWIxZkNDNjY5ZDBEIiwiMHhEZjBCMzg5MTQzMWRkMzRkMmU2QmViNUI1NTEyN2VCMjlkOEEzZjU0IiwiMHg5ODkyMkNhYTNBOTFhNzlDNDU1RURFZjQzNzcxZGQ1YzI0MjExMUU4IiwiMHgzOTVjMERiNTkyNjY2N2ZkODlkODRlMTdiQTI0ZEUzOUFFOTQ3MjNFIiwiMHgyNzk2NWI4NzBENTY3YTQ4MTQ0MTEwODQ0Y2RGRjU1YTkzMjE5RkM5IiwiMHgzZWE3Njk1ZEMyNDAyM0UzOGQ4ZDQ2QTJjOTk0MzRlNTdmOEE3NWYxIiwiMHg0ZmRiRWI4RjU1NWZiQkQzNzNiRjIwOGRENEI4NzQ0ZjM3YjQwRjhDIiwiMHhDNTgwNzc1NDVlN0JjMTZENmRmQjMyRjQzRENEMzE0Njk4NDk4MUQ5IiwiMHgxQmVhOTkyMzhmYUMxZEIwOTc5OTVmYjU4OTc0RTFBNTk3MEM5QjYzIiwiMHg1MmUzOEEzOGNCY0UyOEY2MEU1ODIyMjVCY0Y1NTQ1MDdGN2ZmODg3IiwiMHg4RGZjNGNDNTk0ZjRFMzZEYzI5YmY2MmQxMzQ5MDc5QTczMEI4MkY4IiwiMHhDMTI2QWZBZjcwNDdCMDY5RjBlNDlGZTMzREI5REY0NDBDQUMyQTcyIiwiMHg4ZDBmNmQ3QjA3ZEUyMDQ3M2M0QTk2QmE0NUJGOWFhNUNDNjIzN2E1IiwiMHg3ODZCNmUzN2I0RDE5NzM1RGMxMTc4RUY3NjNGYzMyYmY2YzUxYWExIiwiMHg2RkMwMjNhRkY0MUIwYTU2ODU3MTI2OGVjODA5NGNkNzFDY0M5OGE1IiwiMHgwMTAwMEY2MjRDMjQ3RTQwMDNCYzRkMWI4MmFBMTk2MzMxMzlENjMwIiwiMHhlRGUxNzQzYjk0QUYwQzM0YzRmMTI5MGZkY0E3Y0E5ZDhmRDAyNmQzIiwiMHhiOTY0MjRiYzk1NTRCMTZiMDNEMzgwNEVCOTY3RUNFQUJjQmVlQzJkIiwiMHg5RjljQjNCZjZGM2MxMzE4RjQyNDBDMzg2QjNjNTYxZjA0YzExYTlDIiwiMHhCMDFGNTkzM2JDMzk5ZkZhODg0NUM3MjdCNWFBRjA4ZTQ0ZWU2NEE5IiwiMHhGNDQ1QjUwRWJlRGE0NDgzMjAyMDQ2MTU0MzZhRTM4OTliRDUxRDJCIiwiMHg0MjMzMTNEMzYyRDM5NWEwZTVFQzQwNjZkMTMyMTIxRDhENjdmQjU0IiwiMHgzNTNlNmFmQTBlNUM0NkFENDY2NzQwQjMxODI2RWM2QjgzOEU1QWExIiwiMHhERDU2Mjg2MzQ1NEJCODk5NDU4MmJiRDBFMjcyODg0NkU1QTM5YjZDIiwiMHhiYTJlNGE0ZTVmQ2QyYjNCMmU2NmI5ZWM3NjVkQzI2MzEwYUJDQWJiIiwiMHg4RkNlMDE5ZkY3MzgyQWM5NEQzQTZEM2U4YTFGODAxRjlDMkJkNDQ0IiwiMHgxZTgxQzIxNmYyMjBFNGQyRmQ3MjdEYzRlZkYxODQ2ZTVEQmVFQTRkIiwiMHg2ODkzYzgxYTc1MTdCMDZGQzg3MDczZDRDMDVFMEU0ZURlMzI5OGUxIiwiMHhhZTAxOTY2NDFGMmVhOGFiMTUwQ2Q3OGI1QzQ3YThmMzhBMkNiMjQ5IiwiMHg1ZTFlMzdGMTg0MTJBMTc2MTU1ZjMzYTJEQ2M5N0NGMjJFZWM4MzExIiwiMHgzRTdjMjRCNWYyMDFFMUMzNjY2QjI5RTk3NDE2NzY2OGI3QThDNTI4IiwiMHgyM0UwOEY1YmQxMzU1MDM2NEMxQUEzZDgxZmYzNjYwNTgxRjM2YTkxIiwiMHhkMzFBNTE1Njc3ODZEYUYwZDZFMzYzQTQyRUI0RTg0MjU0NzkyMWUzIiwiMHhBMkVmNjdmYTdEOUQ3NzgyYzg2RkZhNTlBODc3NmY4ODU2ZTljQzdjIiwiMHg3ZTYwZjhjN2JBYzFjMzEyOGEzNjcxQUI3Qzg1YTRjNTlENjRBMGFmIiwiMHg1NDI4NTc2YjVmNzAzMDk1QTA1ZTU3MTBlMkIxNWRlN0MxMUVkNzM5IiwiMHhkMzE2MkNkYjMzMTQxMDk3NzkxOUFlRDM3MWUwMzU5MURlMTgyNzEwIiwiMHg3RDI5NzIzNjg1QmVkMzZmYTk2ZENGYzA1NjkzMDdkMjM2YTM5MThCIiwiMHgxZTBkNEREOWQ2QmZCNGE2OTBDMWJlY0UyNThBOGFCY0E4YWY3NDRjIiwiMHg1YUM2NWFiYTdCMjdhYWQwOTM0ZjVCMzYyOTMzNzRGNDQ0RWM2MzgzIiwiMHg2MGRDZTgwNThCNmZGRmFhY2QzQmI1NmU1NzgwZjZCNENhQ0I0MzI5IiwiMHg2YzVkMTgzQjU5MGQ1MjYxQzEyOUUxOTJhZDYxRGI5RUY5ZERCMTc5IiwiMHg5MUJDMzFCYjlDNzhiYzU2NTIzMTI4MzQ5ZjMyQTAwMWMwOGI0NGVhIiwiMHg3ZUYzMGJhRjY4MDdENzRhOTk3MmMwMTEwMkU4OEE1OURkYWNlRUE1IiwiMHhhQmRDMzI1NDE5YzJBODRBNzk5ODZjNjBhQjc0NzVkNkM0RTc4YjUzIiwiMHhhRjA0MTFBRTc1Mzg3MEQyNTFEQ2VFMDI1NTgwMTFjYjgzMkYxNmZDIiwiMHgzOWEzZjljZDNBMENBQzhENjA2QzI4N0U5Q2FBNGY4MUVhOTRmYzg2IiwiMHg4RkE0ZTYxRjQ4OGM5MjY0MTY5NTMyQkE4OUQxQjlkOWQ0ZGVmRWE0IiwiMHhiNzFGMDM1NUVGMUQ3YWE1NUI4YjZBNDRBRjcyRjg0MjBlOTI3RjllIiwiMHg1MWNCMzk0OEI5N2RCYjk2OTZBZjMzQjE4RGFiNERlNDQyY0Y2QjNiIiwiMHg0OGI0NzYyNjBiMzI1QzViRDNiZEJmNDlmOWE1NTQ2ZjFhMjM1RmJkIiwiMHgzNDc4ZGUxMjdhNTJFOWEyNzdlNjk2Y2Q0NDNlYkJBZDEwRDI4M2Q0IiwiMHhFZkEzMmY3MzU5ZGIyRDYxNjI2MjVCMGMzQTlDNGIzOEQ2NkU3MjJkIiwiMHgzNjYxMkY3MjdmYmQ3MjQxZjU4REM1OTM3OTMzNUNCQkIyMzMxNzk3IiwiMHg1OERiMWFCNUE4Njk4YzBEMGFiQTBlQTU3MjFFZGU2NzFCNDU4YTU3IiwiMHg1NTZiMmM1MUZiZDJmNEUxRjg1MUFmNkZjZWI0RGI5QjNDQjllMDQzIiwiMHg1NWRmMkYxNzM5NGU2N2ZhQTY2ZEI5ODAyMjYwMDdDNjlBODlEZTIwIiwiMHhhZjNFYkQ4QjAwN0Y2RDM5OGRFNjcwNDg2NUQ3Qzk0NjcxMzg4ODk2IiwiMHhhRENGOTkyNjAyRkIxNTk0MDczZEI3NEQxRDVkQkJlQzE1RTg4NmNFIiwiMHhFNDY5MkJlNWU4Mzc4RTBjOUEzOTZmMjgxZGUxN0YyQTkzZmU0OTc5IiwiMHgzRDkwRWNiY0U3NjI1N0I3QjIzMUU5ZDZCQjJFQjJDYjYxNjUwN0M4IiwiMHhFQWEyNjAyRmNEMDQ4RGI3MzY3MWQ0OTJBRTdmNTMyNTU4MWQxZGI2IiwiMHg2N2Q5MTAzNUQ1NDZFNjkxN2E5QTNERjM1RGZiYzdkNUQyMTA4MkRiIiwiMHhkN2ZCNDM3NDg1YWRjRDE5MjBlQUI4YzM5MDYxOTY5NUNkMTJiNmE2IiwiMHg4MGJlQTRjMkRiOTRFZTQ5MzY5MTYyZjBiRmJCYUJGQTllOTdhRjVmIiwiMHg4NzAxNkU5MkZiNTMxNTU0RmY3OTFGQ0RlNDY0OTg3RDg1ODhDOTZjIiwiMHg2MWI5OUU1QTVkMzEwZDFiMWE5NGY4OEQyYzIzRGU5NTExMzMzMmQ1IiwiMHg0ZDJBNjNkOUU1Rjk0ODlkMGYyRUIyQ0JBQjM0Q0JDODEzNmMyYjgxIiwiMHhlMjFiM0MzOWI5NGJBMTVDMjYwZEZkYzY1N2YxMTBCMjE2OTYyNzk0IiwiMHgxNkE2RUY5MTJGNDQ4RTA4NDZBMEQwRGFlOTkxNjZiMTNkOWI2YTM3IiwiMHgzNkYwN2MzNmY3OTU0NGIwMUFCQjVFN2NEOEUxNzA1NUQxMDYxRTJiIiwiMHg4MTU0ODg4ZDFlMjNCQWY5NDM5NTIxNjc4MjY2NDA1MjM3M2IyN0E0IiwiMHhjNjI4MDFEN0I2NzgyMDBlNDAyNDc2NkNBRGVlQkMyMWY0ZmM5QjUxIiwiMHhhNTEzMDM4RjI2OUQ4RTU2RjcwQzY1ZEY2QjhGOTBCOUY3MzFkNDNFIiwiMHgxZjk5NTVFODU3OGU1YjAyRmYyMkU0YTQwNkY1QTI4QjNFNDA1NzVFIiwiMHhEMDdkODQzQ2QxRDc2OUNERjkxOGJFOEEzYzJjMGI3MDg4ODlmN2ZjIiwiMHg1ZjU2MjcxNGU1NDYyREJlOTMyNTJjRUE5MjFlNWEwMmMxQTY2QTY4IiwiMHg5YmNjNGQyZDg5NTFhOTgxQThlMDQwMDI3OUY2NWVjQ2NkQjlDRjAyIiwiMHhlMUUyMjVBODFCMkZBYjE0ZTA4OUFjMkMzREY0MzU1RGYzOWM2M2YwIiwiMHhhNzg1MjZmNWFmM0MyMzQ1M2U2Y0E1MTQxOTZiNTAxRmIzOUEyQzYzIiwiMHhFMWIyMEIzMzQzNDQ4RGYwNzVFYjhiNDAwMWQyRjZBNTg1NzZDOTFDIiwiMHgxNTkyNDZhODVGYzA2MjQ2NTVFMWIyMDlBMzQzNzE5MjJjNjczOUQxIiwiMHg3OTc3MUI0YjIxMjY3ODhmMkJDMDg0MGU5Y2ZiZDEyQWI1NTdBMDI2IiwiMHg3MTVlZDA2Q0ZBYThjRWQzMWRGMGY2ZERmZjQ3YUIwYTU4MUQzMEJmIiwiMHg2OTEwQTE4QjdGNDczYzYxZTc1MUM4ZDZDMDA5N0UyZThkNDgxN2I2IiwiMHgzRTgwYUFjMjI4MTM1NzgyODhBQ2YzNkJlNGQ5Nzk0NmI2ZTI2RUNiIiwiMHg2OUUyY2ZENjBGOUY0MkNEQ0EzNjMwNjZDNjY3MGRFYjI1YWE5MzcwIiwiMHg5NkRBM2I4ZURFYTcyMzI5Yzc5MWQ5YmFmNTUyMTkwOTc5MWRmNTYwIiwiMHg3NWJjOUIwMDE1MGE2NDBEMDIwMjU4NDYyMUI4MENCYjFCMzY0NTZGIiwiMHhlZDE5NmY1ZjAxZThjOTllRjRjNmQ3N0I4M0NDYUY2MjkwMzJBOGYyIiwiMHgxQ0FiNTcyOTRGNjg1OEFjMWIxODFjYTNjOGQ1RjEzM0NlODQ5NzEwIiwiMHhhMGY4OTk1OTJFMmIwNkEzNzQ1QTc3MDdmM0Y4ZkM3MGFhMDI5MkFlIiwiMHgzYzExQ2EyMjI2NTQxQzgwYTVhMWNDZjEyYjMzM2UxMTY0Q0YwMTgxIiwiMHg4MjBkNzg4ODk3N0FDNzhjYjg1Mzg5ZjhFMTJmN0I5YjMxNTRENmEyIiwiMHhBQjZlN2U3OTFiYzE4RUUzMGZGOWRlOEI3OTY2MEM4NTg2OTk5NjZFIiwiMHg5MWJDQTZGZjZGYzYzYTBjQTVmOTFjYjkyMmQ1ZDhENjNCMzNEZEQ1IiwiMHg1NzMwRjFCMzAwNjlFRDFiM0QzMTJhRkM0QjkwYTQ1OUFjYTA4NUFDIiwiMHhkQjZiOGUxOGI5NEVBMTBDNzNlZjU4RTZmNjA0NjdEMjE0ZjMwYzZhIiwiMHg5ODY1Mzk0ZThiZmZhQzJFMjc1MjdhQzFmNDU5MDE1Nzc4NUVDMjNiIiwiMHg5YTZCRjcyMkU3ODU5RDVFNTk4NTNmMUM5NjA1MDc4ZDVBMTI1NkFkIiwiMHhERmNjMTJhMEFBZDUwRDg0NjM5RDU1ODU1MWVEZDdhNTIzQjY5YUM1IiwiMHhGNzhjODQyMEZiQzc2NDgyMjA5OTI4RjczOTY3ZDNhOTkzNmU2ZkFFIiwiMHhDN0M0YTEwRjUxZEJDZTkzOTlmNjQyNDZjYjM0MTkyQzNmYjI0Yjc4IiwiMHgzQTNlODk2OUQxMDdFODIwN0IwMDdmYzI3NjZhMUMwOWUxMjU5NGJDIiwiMHhkN0ZmMDZmZjk3YWE5ZkUyMDM2NTc0NDBGOEJBZTVFODQyYjRmNWY3IiwiMHg1OTY0RDAxMTM2NzYxZTRlMzMyNTk0YjUwNjZjYjZlM2M3N2NkMTIyIiwiMHg0YTFhNUE0NzEwRjBhMzlCRWUwNjk5NTBEMTRkMmJENTQyMTdEODBkIiwiMHhlMkFBRDc0NGM1NzY0ZDZiMjgxMTI4MTcyMEU0MWNjQzlEY0JhOGZmIiwiMHgxZWY1RGQxMkNDNjdFMjY1NkY3NmY5NjU5MDhBMjMzMTk2QzliYTRCIiwiMHhENGI1MDZjMGI4MEQ0MzQ3OTExYzVEOEIzYTdGYTFmNzk1MWY5M2VlIiwiMHhjZjE4NTAwZDY5RmFlOGFjN0ExZEVDNjgxNDZhQTM4Qjk0NUMzMTRGIiwiMHhiZkVFYjVGNzM5QzQyYTgxQ0VhZTZDRThENEI5NmFjNzZEMTEzNDdhIiwiMHgxODRhOTZlMjIxRkJGYmFCNTYyYTNkNGMzMzY1RkUxMkUzNUY0NjNlIiwiMHhDNUUzOTUxMTA4OUEzZTJCOTgyMTJmNUM3YjAxNzk1YjM1OTZiNzQ5IiwiMHgyMmE0MmI4ZUREZDUzMDcwMjU3MmE5N2RGRjFmMzMwNDA2ZDA4RkUxIiwiMHhjQjczMWRkOTJGMzgwNGRGMWJBNThFNWI3MDFlMDNmRTliMDQwOWZDIiwiMHhjOTMwN2FDMTAyNTZmODA3QzdCNjMyMzFBRTVjNTQ4NDY0YmFhZDhjIiwiMHhEMEQwY2QzQjlEOTlDOWIxNjNBOGIxNDViY2YwMDg2NDJGQmRhREIwIiwiMHhDNzc5ODNFMkU3ODE4NDRBNmEzQzBlMGRENjc5RTJFNWRmZGFiMzkwIiwiMHg2RmE4RTFiMjg4NDk5YUIzNGFhN2EzMzBGQWEwZjFmYURlRkIxM2Y5IiwiMHhDRDE5YWM4OTIzOUE5NjY3YkIwMDU4ZWI4ODBFODc3NzM2NzAxREY1IiwiMHg0NTZEODEzNDI1N0QyMDFiNzQwZjA0QzVFZEIyNGE4N2VkYjFBNjViIiwiMHhiNzI1Q2I0RjUzNjMxNDczQWU1MTI3NjNhQjU1QjAwYTM0Q2NhYzkwIiwiMHg5ZmJGOTE3RDBjMDk1QWFlZmZjOEFlYkEyMzI3MTYyQ0YxMWM1MDVBIiwiMHhFMjk5MEI0NGJBNUIzNjI2NzA4Nzc0ODc1REI2ZTFGQzU2Nzg2MGNjIiwiMHhEMzIyNzc3ZjI4NjUxMzk4ZEZhNDgyMzhlMzZkODdGMmQ2MzBiQzBDIiwiMHhjRWE3MEYxYjQxM0NDOEY4NDlmNzc0QUZjYTM2Yjk4RjVlNjU2NTkzIiwiMHhEM0U3MGVBNEJERjk0ZTE1REQzZkQxQTZEYjU2NDFhMzg1YzU0NTc1IiwiMHg4OTFEQzQwNWRDYzZDNUUxM2RkMDVFNzYxM0IyMjg3QzZFMjk0ZjFGIiwiMHgxYzE1NGRCYTdlMUZCMDdCOUZkM2ExMTQzMUM4OGIyNzFCMkYyY2Y2IiwiMHg1YzhjQzE3Mzg2QWZCMEUzOUU5MDU2OTI2RDA1ZjFEOTEwOTY0RDk2IiwiMHg2Mjc3MTU1NDM3RTQ5NGI1MDYxZGJGQTBBNGYxMzUxNmUyY2JjQjkzIiwiMHg0MTAxMTBFMDJiMDdmOGRmQTI5NDYzYTY2N2JhNUM3MTE4RDM4RTU2IiwiMHg1NTFBNjQyRjM0OTAxMjgyMzM3RTk4MjNEZDc2NEM2ZjI1Q2YzMzMxIiwiMHgxN0ZkRDZmNzA2Q2MyNEE2RmQxMzAwZDU2OTYyMzg4M0ZCNDkwZUYyIiwiMHgzM0IxMEZFM0Q0YTJCYjg4MTY0NTZhZUEyMTMwOTQ3MjIzNDIyYjcwIiwiMHgzYjg5Q0IzYjEwNzIzODFkNGY3ZWY0ODFCRTY2MTFhMzUxODlDMDlFIiwiMHgyODVhQTI0OWRmN0ZBQjZBZjNGQTBkMWE2MDNmM0IzN2ViMkFBRWVmIiwiMHg2OWQ0RDE2NjE3NTRjRjVjNjVBNGJmMmU2NzE3RUQ4ODAzNUYwNWVGIiwiMHg4ZWY3RjhBMzYwY0Y3NzAyNkQ1QWM1ZDNiQ0JhYTAzN2RkOTUwOTM4IiwiMHg5NzZkNTk5YjBEMjMyMDFCODc3NDM2OTExMEM4MmQxMDAwNjU1OUQ4IiwiMHhCNkEwRDA0MDY3NzJhQzM0NzJkQzNEOUI3QTJCQTRBQjA0Mjg2ODkxIiwiMHgyMUZDMDM3MDQwQjlENWY5MUM3MEYzMGZCMGEwOWJhZjRGMUI1ZGYwIiwiMHgzNTVGQjAxNUNGYmY2YUZmOTlmOTk4ODhlQTVBNzUyMTgwN0MzYmI3IiwiMHg3NDc2MjhGMmViNDM3MGY0NEJERjBDOGIzRkQ0QzUzMDAwNWI3RmUwIiwiMHg0NTA5MTU5OGJkOEUwQWNCRjQ1YzYxNjMzNTdkMzdkRkM5OTkwRmNmIiwiMHgxMmQwOERkRTMzMWYwQzBkMzcwOURBQTVGM0VENTkwNkUzMDRhNDJkIiwiMHgyZEUwOWU5NjMzZWU2QmZmNzIwNjAxQTQwNGNDOTU0ODZGOGQzZTczIiwiMHhDODg2Nzk5NmVjZEQ3NURiZWMyOTUxYjI1NjJlQTM5QWY1RDRGMkQ2IiwiMHg0ODg1N2VFNEY1MjZENDc2NTBCZTlDY2M3ZThCQ0I2MGZmRTQzM0IzIiwiMHg3NUU1QjFhNjJGMmQ3ZDA4RWY5NkY1NDE0ZDJCZTBCRDQyNWI2QTEzIiwiMHgxNWEyZjFGZmJhODhhMWI3MTc4RmZGOTEwMmMwNDc3MWY3NDU2MEU4IiwiMHgyYjg1NzhBNjg3REI3ZTNFZTg1RjE4NTU0YTg0NDU4MjUwOTc1OGMwIiwiMHhDRTE5ZjFmQTk5QzQzMDhBOGQ3ZEFGRDI5MkI2MjNlNWZkYTQyQ0MyIiwiMHhlMzVkQTQ1ZWViQzBmNjYxQWIyNTFiNEI5ZkYxRUVEQUU1ZTQ2N0ZDIiwiMHg4MGU1MDFiRjc4MmQwNzg0ZUIwZjhlMTNjOGU5OTFEYTNmMjNFNWNkIiwiMHgxMTdjNUVGRTljRkJhNzNFNTA3RjI2NjYwQzJDM0MzOTE5MmIwRjIwIiwiMHgzMjIxNEJGMzA2Mjc3YzI5RmUyMjc5YTBmMDJFOWJjNjYxQzc1NjhEIiwiMHg0RTQ1Q0YwZDNhMTU0OTAwN0Q1NjI5ZjdhNmVGNzkzODQwMzI2MzgwIiwiMHg1ODYzODI0QTc4NGNiMmNlZTVCNjkzZjE0RjNhZjY0QTg1MTBGRjcyIiwiMHg4OWI0QzZERkQ4YTdlZjkyNWQ1NkMwMTIxQ0IxMDFkQzgxMDgxNTEzIiwiMHg2NzQ2MTBBYmI0NTdDOTgyMGU0Q2JCNTdjN0Q5ODA2MDVFNDg3MWFiIiwiMHg0OWM5NzhGQkEzY2Y2NmY0NjI4MzFjQjZDM0I0RDQ5RkRkNEZmNTdkIiwiMHhlOTI1RTc4NTJGNzhkMUQ3MzljNDZkRTA0MjYzODZiQ2RlOTY3MjlEIiwiMHgxRjI5QTQwRDNFQTQyNjA2QmRFNDExNzNlNmYwMUZmREM3Y0I2MWYyIiwiMHgzNkRCM0NFMkZBQ0MwOGI4YTVFOUZmMUNBMzFjZGQ3MzczMUExMmY3IiwiMHhiMzhGNzU4YTRhNmRmYzI0NjBkOTFEQTA5OTVDZkY4NzZGZDlGYzAyIiwiMHgxQTQ2QzUyRDI2ZTc0QTYwNzg1Q0QzNGRENkI2Mzk5MzZDYTFjZTc2IiwiMHgyMjIwNTE3RTY2Y0FEMkMxMDVkNzM2NEVkNzg3RkJhMjRjRGU2NmFkIiwiMHhkOTBDMjQzN0NlMzc2MzVkNzM3QTM1Zjc0NkY1ZjJiNkJkMzhGOTUyIiwiMHg5NEY4QmZFMkVmM0ZGN0NmMDVCQThFYjZjQTVhZjgyQjYzMTY5MjMxIiwiMHhiMjZBRDlCQTVlZDBiYjMyZTJjZjZkQzEwMTFmRTNjQUQ0Y0ZCNjU0IiwiMHgxRDM2Rjk2RjRCMkU1YUIzODNkMzg3NTZGNDBkZUJkNzZkODRBZUY5IiwiMHgwNjlFNjJiNmVFOTM2QTIzNzVBNWQ0MmI3OTgyQ0I1YTA5ZTZCRmM5IiwiMHhiODEzMzBDYzA5RDgxYzBEMUREMEM0Y0VjN0JEZDllQTVENGU1OTQ0IiwiMHhCMGE4RmQ1YzU0MDNFNjk0YjU0NTUwMTkzNEJhMzQ0ODE1YTdjQTAwIiwiMHhCNTMwYWFjQkY3YjAwNTA0NjFkNEJhMzUzRTM0ZjA5YjYxMzkzODAzIiwiMHg5OTRBMUIyMkY5MTU1NTQ1YjZmRDAxMjJGMkJlOTA3Nzc5RDk0QzNBIiwiMHhlMTM0NkM5MmI1NmFGNDI5YTljRmFiQkVmOGFENTExYzU0ZTczMzkxIiwiMHhDZjhBNDE1QjI2OTU2OWQ2MjUxNjE4NzYwNzRlZWIwYkE4ODZEMDU5IiwiMHgxNjJhZjVhQjU4MzUwMTVDOWU1OTA3ODhjMWZmOTBmMkEwOGJjMDBEIiwiMHg0YkI0QTMzN0JEREVhMkZmRTZGQjkxRkQxYTg0NzkxMkE1NzM1ZWY5IiwiMHgwMGNDQjc3ZjhhNUVjOUM1MGJDMDI1OUZiMUYxYzMwRDk3MjFFRmFEIiwiMHg1NzcxNDNDY0ZFQ0YwY2I2RTNjOTUyOGNjYzhiOUVmRGFDNDY1ZDNGIiwiMHg0QjhBMjIxZkZkYWU2RmQ5MTE3MDlDNUYwNEI0OGJDMzY2NDYyODgwIiwiMHg1OTMyOTU1Y2I5QzI0OTlkQkU2Q0NDQTU3NDk2MTdGYjA3RTIyM0UzIiwiMHg2Q2IwM2RhMzAxQjI3YzM4MWZFNzBBMDYwZmIzZjlENDFBMjhmNWUwIiwiMHgzMDk1MzUwMDg0OTFlMEYxMDM5MzVGNjYzZWI2NjI3RjI0MDU3NzM5IiwiMHg3YzgyZmE2MjRERThjYWQ3QkE3OTMzNzA2NTY0M0NhNzBiMDY0OUVFIiwiMHg4QzU2MENlN0RiNWI3QURDZjZlMjc3MzE4Qzg0NDUwMUVENTQ1Y0Y1IiwiMHg1YmM0RTYzODI5Mjc5MEMwMjU2MzMyNjA2MzZFNzFlNTA5NzUzMzZDIiwiMHgzMmQ1ODhmZDRkMDk5MzM3ODk5NTMwNjU2M0EwNGFGNUZhMTYyZGVDIiwiMHhENzM0ODc0MDQyYzk3MkE5RWIwZUUzMTU1NDVEMjE5MzAxRjM4MDIzIiwiMHg5MTgxRjcxRTYzYUM3OTlFMDM3QjU0MjBiOTM3Nzc0MTlmMDFlMjIzIiwiMHgwRGM5OTMzOTU0Nzg1OTNiRjk1N0YyMzZGMkYwMzQzRWIwZWViNDA1IiwiMHg2MDE5N0FkQWFCMDAzZkUxRTdBQ0I4MjBBOTY2MzQzNWEwQTg5MTUyIiwiMHhGYTQ5ZWUxNUI4RkQyRDA4ZjYyNGQ0NWM5OWIxOTI3Q2M2MjQ4YTdFIiwiMHgzYzI1MDBmNDNEMGMxM0I2REFjMkNkMDQ5OUQ4NTAzZTY3MjcxNDI0IiwiMHg1YTBFYzIzMzExQzE3YjM3ZjYzMDRERWVBQmY4YzYwOEMyQTliMUEzIiwiMHgzYzM4MzhBRmVmOEU1ZjZCYTM2RTgwMzgzM2QyNzE3MWI3YzEzRTBDIiwiMHgyNjUwZDEyODREMDU1NDkzY2VDMmU5RTkxYUQwN2FEMzVFQjkyZTVlIiwiMHgxNjJiMEY4ODVBYjNiNUM2YUY3MzAyMTVlMDE4QTcxMjYzMTFFNjBlIiwiMHhDYzlhNDQ3MkQ5NGUxNkU1NThGZUY4RjdCNDU1YTdFODY2NmE3NjQ3IiwiMHgzY2FmQjQ2OTZiMjllMGE1MTkzM2FkN2E2QjFBOERmZThBNTMyRTQwIiwiMHhEYjU5ZmVkNWIzZGM3Y0NBMmE3MkRCZjMxMjFiZDU4NDM4NzdBNDFGIiwiMHgzMERGNTI1QTJmMWRmYmE1QjRjMjgyOTAxNjI2MjBCMEU1ZmMxNEM5IiwiMHg3MjcxMEE2NjZBOTVDRjVDRkRCNGU4ZTQ2N0EyM2UzOERhMjc4ZEU2IiwiMHhGNUFmRTIwOTk5Q0I2M2M1Mzg0RTYyZTljRDg0QzRCYTVDQWJkY2FDIiwiMHgxMmExMjFGYmEzNTA5M0FDQTBhMzA0MmI0NTg5RkFlMUQwYUNBZDlFIiwiMHg3N0JFMjM3QUI3Mjg3ZDIyMmM5OEE4NTQzQzYyZDA2NTRhM0IzZGRiIiwiMHg0RDU2Yzg3QWQ2MkI3ZWJBQTZkOTY0OTBmRTA1MGNmQTdkN2U5MUZEIiwiMHhERTE0RDkzRGYzNDFBN2MwMzg2OTE2ZkFBNEY3MjgxMzE0ZDhjNTNiIiwiMHgzMzEwN2M0NjI0MzZkQzA1MDVGMzA5RkU3MzQzYjEwZjU0MmNhNTQ1IiwiMHgwREQ4NDhiNjNFMkMyNDg0YTI3ZGY0MjJCM0MyNjREOWNjZjNCOUUzIiwiMHg5YjU2OEVhOTUzQTVDNTNDNEY3QThhMjMwNDhkNkRFNDA2MzBjZkMyIiwiMHgyRmVlQmIwNDAwRmRiRjFiOWY3NUNFZjA2RWM5NTY1ZDgzOTk4MjZkIiwiMHgwYjEzNzhjM2ZiZUYwMkZGNjk4MTU4YjlEMTk4ZDAwNTIyOTJiMmYxIiwiMHhBMzhGODIwNjk3NjFDYThiZEQyN2NDYmQ3ZTM5MDI5ZTZDYkQ1YWJCIiwiMHhkQjEzZTBDNjI4YjBlMDRjZWU1YjljRWRhODIzQ0JiMWYxNkVCNTViIiwiMHhjMEY2ZDYwQjZEZTBBMzM5YTUzQTZCRmFjODlmMjQ4NEE3M0QyMWJDIiwiMHg3YzBmMGYxQUVmNjkzMzQzRTliQ2RCNEU3QTQ1OGY0NkVDMDNiRTY2IiwiMHhERDM4N0VDQzcyOENhYjZjRTQ4QjRGMGU4RkZjNDBkZEFjMTRkYmI1IiwiMHg5NzdjZUVBODg2NWQ3OWYyYUM0OEEzZjZiOTM2RDczZmU3ZkI0MmUwIiwiMHg2QTc4MEIxRDRENDNCNTg4MEU3MTcxQTM5YTg1NTJmMzdFMzhFMmQxIiwiMHg4ZjdDOTMxQTZkMmIxZkUyN0Y3Y2E3MjAxQUM5OWJCNjQzNTBGYjQ0IiwiMHg2NDUwYTAyODU4NzVGNURlRWQwQTM2NUM0NkVGQ2I2RGVFNjQ5NkIwIiwiMHhhNTkyNzVDREE3ODA3NGM2MUU0Q2FmYjVGMzhGYTY2NmNBQTkxOGQxIiwiMHhhNDZFQTZERUJjZThlZjlhRTU2Nzg3ZEIxYTU0MTNEZEVBYWE2MWJBIiwiMHhBZGJjNDNGOEI3QjNGQ2ZBOWUxMzFFZjA1NzkxRTRmMDRiNzk5MjNiIiwiMHg1MjNCNjAyMmYwMzQwZDBhMzdCN0ZjY2JmMjE2MDU2OGFEYzFmRTRFIiwiMHhhZWVlZjc4ZTk0NUI5OUMyODBEQTM5MzRkMDg4YjA2NjE5ZjM2MTNjIiwiMHhlMzZCY2VCMTNhNjAzNThEZGE4ZEU3MENiZTdkREQzNjZjNjRlRmUzIiwiMHg2OUY4ZEY5NzQ1Njc4QTBEQjhhODBiRTFEOTZiNjUyMTAzM0FDMmNEIiwiMHg2RTBGNjMyNUYyRjZCMzFDZDIyN2U5NTA0ZkZGNWM4MkU0MjVBZTBBIiwiMHhmNUFlMmU5OGRmRWE0MDZjQUVGQTQ0RDdiQThDRkRDNkE2NmYzYzRCIiwiMHhGQzdhNjg4N2I0NWNBMTAzZTQyRENjQzY2RDgyNjVlRTc1QjMyMWQwIiwiMHg5Yzc2RTY1OGNjNTljNGE2NzkzZjcyNTVkMjVhMTBDMTQ0OWEzZDQ1IiwiMHgwMzAyNTU1MTc4RTM3QzdBODZmMzUwQ2M1NmYzNzc2MjE3OTM2RGEwIiwiMHhjNGM1MjQ4Q0QwZjY0Q0FhYzRGODhhRmFkM2ZlNDE5OEUwNjA0NTBEIiwiMHgzRDQ0ZTZmOGQ1RDYzY0Q5OUEwOEI5NzAwM2FiOTI5OEU4YjY3YUUwIiwiMHhBNEEyNTVmMDM2ODM2RmIyMEFFMDI0ZDRBQjkyMDIxNGJGYjc5ZDQ2IiwiMHhEOTI0OTlBOTFDMzA5MzI4NTA0QjQ4Y2FEQjEyRDVFMjQxZUIzNGQyIiwiMHgwYzI4YTI1MENFQjk0MDMzMDExNDczQ0I5MWI0MTg2NTJhOTEyZWMxIiwiMHgyNTVCMDBGRjBFNGRhQzIyYzZBNTMwQzcxODc0NDEwYzMzYTY1ZUUyIiwiMHg1ODNmMEMzQWI2MjViNjA1ZUQ2ZDM5M0NkNmU5MDk5MjZmZGVGYTY5IiwiMHhEMTQ2NEFjMmVBMDY2QUQxRThGN0U1MjVEMzczZjQ5N2Y0MWI2M0MzIiwiMHg4MDdDMkU1ZTdFMGMxQ2IwZjhDNDI4M0FhZTlhMDExMkU1MDdhNTEyIiwiMHhBMTNiQjAzNGI2NTUyZDkwMTU1NjAzQzYwZDEwQUI0QTU3YjQ1MEJjIiwiMHhlN0VhQjYyOEFGODY4M2ZlZDdBMEI1OThGMzU4ODQyYUU4NjA4YjU0IiwiMHgyODg2ODVEY0JhRTA5NzBmNmZiMDliNzA3QjNERTI1MzVjRTc2NzgwIiwiMHhDMTdEOEEzZTFiZTBEOTJENjI5ODBDNTkxOWE0MTNiYkFhOWI1OWZEIiwiMHhEOTc1QjIwMDRkNDliZkM5Yjg0MTU3OUYyOWFEMzVkRTliYkFBNjhjIiwiMHg4MjdDRWRDNjRhMzJFMDQxRTU0N2E1Y2ZkYjk2NTdCODJhQjY5Q2ZkIiwiMHg1ZWYyMDY1ZDU2MzEyZDcxMjFCMDg0MjdFZTExYTZDNDQxNTczOTVmIiwiMHhGZjNmMjBiNTA4NzE5NURjMzE4YjU1ZDFkMDUxREU2N2U2MjJkQmQ3IiwiMHg5Y0U5NDVDQ2JmRWFBMTA2NDJkMDdDNDMwZTVCNTZGOTJmQTQ2Y0VjIiwiMHhDNEUzZTE1ZWY3MGRCNTlGQ2FDMWFCRUE3MURBN2NmMEEyOTMzZGE0IiwiMHg0NTIwZTljQzE0NDY3MjMxRDI5QWIyOTc1MDQ5NzA5N0RCNjhlRDQ0IiwiMHgzZWQ0ZTE0MjdCNGE1NTY2ODZFNTY5Njc0Qzk0OEIwQTY4RkQzYzk4IiwiMHgxQzlEM2I1NkZERTJhRUUxMjBGZTUwMWI2MTFCZUNhMzUyMDEzNjVGIiwiMHhhMEYzN0Y4NzExZEFlYzkwMGI0YzQ3ZDE1OTAyYzE1RDYzNjJDNkQ3IiwiMHhDY0QxMzhDZjQwMjAwMTVEZTk1Yzc3NmY4MDVCMWI1RGE1NzI0QjMzIiwiMHg3N0Y5NGJmNzUyMmJENzA2MTJFMmIzOTczY2YyYTQyRDMzNUJiOTM5IiwiMHhDODcxZTRDNzhmRjAxMjkxNzhBQTdDOEFiMzVCZTIyYTI3MTIzODQ0IiwiMHhBRTc4OGVGOTlkRjk1QjljYTBFMzcwNTFkN2FhQjUwQzI3MDEzNjgxIiwiMHgyYzMwMDU2NjEzMmE0N0YxOTMwRkI1NEU3QjY1MGMwZjk1RTZhMzM4IiwiMHhGRjVkQzk0M2E4ZTIzQWQwMTEwNDhENTkxNDg4QTZjODFjZmI2NDQzIiwiMHhCYkM5NWUxZWI2RUU0NzZFOUNiQjgxMTI0MzVFMTRiMzcyNTYzMDM4IiwiMHhGZDUwRWM5OTQwNDQ4M0YyMDgwRTg2MGEwZGIyNDVDQmQ2MDJCNDk3IiwiMHhCNDVlMjQ3YTAxYTYzQmZGZkYwQjc0NkNBY2ZEYmQ1QzIwNDQ4YzU4IiwiMHhkZjlBMDVmNDI3Rjc3MTc5NDBFMjlGM2JmQjQ1QTQ1RUNGMDAzOTNDIiwiMHg2MzJDYzMyOEUzNkVkYzc2ZjQ2MURhRTlBQzc2NjcxMjY2OTk1MDQ0IiwiMHhGYzQ2ODQzMDllNGRGMDczRTVDNzU4YjA4MDE5NERGRDRmNjJCMzU5IiwiMHhmMDk5OENlRUJmODA4ODkyOTBjMTZhZjY3OGM5MTZmODExODg5MjcwIiwiMHg4NjUzOUVFNjQ0NTkxRjFhRGExMjg1YTUzM0FhNzU0Y0M2YTI2Njg3IiwiMHhFNmRGMzNlMTcwZDYyMUEzQ0Q1NTkwOGNDN2ZBNzQwNDIzZTQ5MDNjIiwiMHgzNWQ3MmZCNGE0ZGYzNUYwYTY4NTUwMzRiOEE2MjMxNzljQmVhRTkyIiwiMHhkOTZjMjFmNDVGOTgxYjQ2ZmM4NTI2RDkyOUFmM2JkNTBkQmVkYTcxIiwiMHgyODU1NjVCMjg2N0RmNDk3QzFiRjQzYWU3ZTkyZUY5NWE1YUNiMzc0IiwiMHhhQWE4MzI4MWM5ZTdERjMzOEQyYjFDM0NDMUE3OTRmMGI4MmQwM0NBIiwiMHhEZjZlN2U4MjBFMGUwNDAyZjA4MWFkMjE4QzZDNDhkNkExOUIxRDYxIiwiMHg1N0QwRjBlMTZmMzA3NUFBNTVGZjBDNTFDMDczMjNCMDM2MGNCNDkxIiwiMHgwNDFGNEM5MTBjNjQxMDIxMGY2OTU3QjU5Y0YxNDZBODFjODJmODAwIiwiMHg1MWJlNkQxMDA2MEFCMWQ4NjRmZjdmNjFlN0Y4ODEyNzBFM0E3OTNlIiwiMHg5MGE5QjZGMjQzMWE2MDg2YjIzMERmOTM3OUE5MTZkNkU1QjA1OEU1IiwiMHhkRkE0NzdCZjVGRjUyRUVhNzgwNUE3MGMzZjQ2NEM0MDRCRjdDMjY4IiwiMHg1YTc0MDBGQzAyMDhDMzFkZDM4MWQ3NGUzMmU0NEQyOTY5MWFjQjUzIiwiMHhGOWY2YzFkNERBRDIxNkQ2MUFhMzcyODQ1MTM3N2MwNTFhMmNERWJjIiwiMHgxRTBEOTIzQTE5OWYzMzQxRkRlMDREMjA5Y2ZBZTU0YjcyMjlGMUM1IiwiMHhjOTlhRDZjMzAwZTU4QUQzNzA1ODJjYUM1MzMyMEVFNkU0MkI1NkYwIiwiMHgzRUJGMjZmMkQ0NUI2NkY3MjFDYUM2ZjM4QTlkM0ZDNENFNTI0ODEwIiwiMHg4Nzk2Q2MxMTJDRDhmQzAzZERBRUQ5ZDIzNkQzZTY1RjNjQjdmM0JlIiwiMHhlNEQwNWVhNmRmMkY2YUNjMDdhMDU0MUIwMDMyMTA3ODMyQjZlRUU2IiwiMHg2OWQ0NzU1NDM3QTUxZjc5NEQ0QzI1OUFmNTAzZDJDOTJkOUE4ZTQ0IiwiMHgxZjMyQmViRjY4NTdBMWJlM2VkRThjMzQ5RjVCMDE1MTk1NDc4NzAyIiwiMHgwNWFFYjBhZTRlNWFmM2JBQzQwQTIwNjFDNEIxN2ZiRGREMWEyRjM3IiwiMHg1Q2QxNmQ0RTEwNzhjMzRjMGFEQTVlNzM4ODU5OERGNkM4MzM1RjI1IiwiMHgxMTYzNjI3NjAzQjI0ODlBNTc2YzFBNjlEQ2I1OUIwY0Y4Njk1M0M2IiwiMHhDNzJCYzlDODE0RTM2ODM2NDAwODE2MDRhMkE2OWM2MUM1MDc2MmEwIiwiMHg3ZGM2OWQ0QmFhNDlkZGY4ZWE5MzA2MzhmMjI4QjZGNjYwYTQ2MmQxIiwiMHg3ZDBkN0IyRWUxREU5ODk3MjM5OUU0RTlBMUY3Nzg2NWNFRjJEMTljIiwiMHg5NDEzQUM3NDUzQzRDYmNhOUU5ZmUwYTc3NUY2NkU0Zjg5NEQ2MGZjIiwiMHgzM2JBYTc1YTE1YzFhMTBBNjc5YUUwNzgyMzg2MzY5Mjg5NGJmNzQ5IiwiMHg4RDliQjU2OGRhRjNiNzNDRDVlN0RhQTA4QmIzZTllRmQwODBhMDQ4IiwiMHg0NWUzNzdGMGYzOUE1NDM1MTNkN0MyMTk3YzkyOTg5QjMwZTFFZGZlIiwiMHgxMjIyYzEwYTNBRkMyN2ZhMkRENjllYkZFZTZlZGQ2OTFEODZkNzE4IiwiMHg2MmQzRDNFRDQ3Q0FiZEM4MTI1RDBlQzY2MzhkZDI3OGQxNmE5NThiIiwiMHgxNTc5YWY3NUM1MjZhRGEyODZGMjE5MWYzNkNhNTdGZDBBRmI2ZTczIiwiMHg0RWE1QmQxNjk0ZDQ0RDQzRkJmYkZkNUVFODFEMzBFYzI5NkMwNEM1IiwiMHgwYmI3MGU4RDMyMzA4ODQwMTlBZDVEMWUwYjkxODBiQzE0ZTNlMjc5IiwiMHgyMWQ4NDQ0OTM4OThkNzE3NjYyNjhmM0IwZDRjQ2JGYTgyNzlDNjEyIiwiMHgxOGYyYmZiMDk1MmRGOTQ2NzVEMUE0M0VhOWU1NzQ2YTI0ZjBDNTY2IiwiMHgzMzcyZTRGYmI3NTRhRDY5ZEU2QTU5YTAxMTNjOWY4YzcyQzg5YUQyIiwiMHg0YzRiZDBDYzY0YkEyMENjM0ZFNjczRTFCZjYwQTQxOGIwYzExODA0IiwiMHg5MUQ4NjYwNzg1MDRCRUQzNUM5MzY4MmUyM2ZCYmMwRjllOTQzMWYxIiwiMHgyYjgwZDIyMDMwZEI2M2U0YzZCQ2E5MjQ4OGQzMzFlNUQ3OTE0MjU0IiwiMHhERUZkMWVCRjVFODg0NzlEMDkxOUU2ODcxODgwZDlGODUxZjkzNDk1IiwiMHg0NUExNzM0ZUZlYWY0RDI1N0Y0MjM2NkQ3N2RDYWUzMUFENmJlODM0IiwiMHgwQjc2RTIzMTMxNEM1QzExRTA1NWU2Rjg4ZDA5NjI2MjdFNmE4OWM3IiwiMHg4RDQ4RTcwRmJhNzdEMzdkNUZlMzEyMTJFNDEyNzg1Q2Q4MWE3Y0NEIiwiMHg3MGE3OENkRTk2ODdlNjQxRTVFNjdiNTJmZEVjQkI0NzM5YzI2YTMyIiwiMHgwMDI5YzJENDEzQjM0ZTk5ZjBiNTI4ZDNGNkI1NDYyRmMwODE5RmI4IiwiMHg1ZkFCOUVFY2Q3NzMwQUUxMURCMjFBRmQwYTIzZjA2NzQxMDFGRjlFIiwiMHgwQ2M4ZDAxN2Q1Q0EzNDMxRDBkYjYwMWVGMzlCMDUwNjUwZThjYUQxIiwiMHhkZWM3OTQ5NmZkRWExRkE3RThkN0RFNEU1MDIzM0Y0MDVkNTk4MmViIiwiMHhGM2VCREMzMWRhZjdiOTMyZjY1NENDYkM3MDE3NWJFNjkyODJmNTc3IiwiMHhiZTExOWYxZmRmRGNmNWUxOTdmMmEzOGE0M2IwZUEyYmRFMGIzMDMwIiwiMHg5NTU2ZkNhNkIzMkE1Njg1NTRGMmQzOTAwNDBDRDBGNTAzNzlhY0IxIiwiMHhENWQxODc0OWMyNzg2MmI3MzNFYjYyNTQ2NTQzYUQzODQ1OUY0NEVlIiwiMHg5MzdDMUI2YWQ3Y2ZBQTRkNjU3M0QzNDY4MTRDNzYyZDZGNmYxRjFCIiwiMHhlQzMxQjc3QjY3YTg5YjJjNjNlRmQ0YzkwMDM3NTlCNkY3NkZlRDg3IiwiMHhmODYxRTIxM2IyRkZjRDVhNjhDYzJmMWU3MUE3MTQ0QTJENzBjNzM4IiwiMHgxOTY5OTlBYzRlMjEzODJhYjAzNzgzRmJGZTZlODcwYWRjY0I0NjA1IiwiMHhENTQ4QWNhNDgyZDUzRjYxNzgyOTc3ZTQ2YzEzMUY0MDA5NDRFNzlFIiwiMHgzNDBDMUFDQzQ2RmYyMjI1OTNGNWVmREYyOTIxOUJFMUU2Mzk0ZTZCIiwiMHhjMkJDODliNDc3M0MyMDUwNzU5MDI3OTI1ZDg5ZmY5Mjg4ZWJDODVhIiwiMHhjMjAyQjMwZTg2Qzg4NTk5MDdlN0ZDQmI0RDcwZGU4OWQ2NUQ3QkNGIiwiMHgwMWYxMjc0NzAxMUE4MUI0OTEzNEI0YTc5OWNiNDgxNTU4ZUZCQkVmIiwiMHg4ZjhkOTI0Q0UyOGUzMzIyN0JlNTE2MjU3N2M5ZkFlNkI3NmUwOGUwIiwiMHg4OGZFNjMxMTVlYTMxYmVFQmQ0MzIxNzUxQTJmMEYwZDg4RDZCMzkzIiwiMHg4NDM5MkE4MjcxNDczRkVDOTk4N2U3N0QyMDJFMUI5NDY2QUQyNzJlIiwiMHg0YTU1QTY5NWEwNkM2N0E2QTgwRGU2OTAwNmY4NTZjQjgzNjRFNjM2IiwiMHg0NEYzNjI1MUZCMTM5MTFiQ0QzNTJDMGQzMzk4QzVCOTg4MDY3ODQwIiwiMHg5MUYxOTkxMWVCMUJhMDkzQjBBNkVhMEU5M0Q0MDAyQmQ0NEE3YkZFIiwiMHg3NDEwMGI4Q2JlMjg4MDU1MkFhMEMwQTE1QmM1MTQ3ZGE0ODg0ZEZjIiwiMHgwMmJBQTkwMTE5NzFFYWEyNGI3YzhlRkQ0OUYyMDI1ZDgzZjNEMEJBIiwiMHhDNUJBRkQ4ZjEyNzk3M2Y3RTY2OWM5MmE2MzUzMjVCRmM1NmFlNDAyIiwiMHgxYjBDYTQ4NDFEMDA2YTY2M0ExNzBFZUJCRkNiZGI3YjMzMTFhMDI5IiwiMHhGMzVmNTcxM2E4Q0JjMkFiMTcxNTY5NUQzMjkwOURhNjA1RjVGMjFCIiwiMHhBMDlDYjk0NTVkMDg2Mzg3RWRjQTc4Njk4OUE3YzA4QjNhMkNFODc2IiwiMHg3MTA4MmI5MmFGQTU1NzJEQjM3NUE4YTk4MDE5QjdENGU0OTIzZmNmIiwiMHgwQmRkQjgyYjgxODE3MDA0Zjk2OUJjOEY3MDBkQ0YxODNiOTQ2QUNlIiwiMHgzRGZjMDUzMTNjNTg4NDBDMEI0MTljMEYyYzMwYzg4MDFFNjBDNDgxIiwiMHg5OTFhYjZFYTYyMDI3MmNGMTc0YzJkQjc3NmNiZjM4MTYwYzExMURkIiwiMHhlZTRGMEMwNjc4NDNlNzg0QTg1MWRlRUJiOTM1OTFBOTg5QTRkYjNGIiwiMHg4YzU0NGNGMzM2OGM0RURiMDBkQzkzNzljOTA3MTZlMjk5YzM5ZDg0IiwiMHgzQjMzM2Q1NDhhNzE1YjcyNjc4NzRFOEE4YTZiNjQ4QTA2QzY2MDQ5IiwiMHg5OGZmNzBCMDNmMmIxNjNlODg0NTdlYjFjNkQzYzEzMTg1NmY3RTcxIiwiMHg1REE4NDdDMTM5NjUzRTRhOTJCNDllYUU5QUNjNTgzMTA1YTU5QTEwIiwiMHg2NWQwQTE1NEQyNDI1Q0UyRmQ1ZkVEM0JkYUU5NEQ5YTlhRkU1NUNFIiwiMHg1OTkzNzUwNDlFODFBNEIyOTk1QTFjMWUxMTAyMzY3MWU5MGFjOTk5IiwiMHg0YUFmNjRDNDczNTg3ZTQwRGVFNzg5MjBFMWU1NDNCMzJDNzJFMzY2IiwiMHg0MUQ0YTU2NDVGQmY2YzVlRjA2Q2Q0OWU2MEVjZjFDMTkyZGVCMTQ3IiwiMHhkRTI2ZjhhRkI0Q2U0NGRkRWUwNDBCM0MwQmVEZGE3MDJEMzIwZkUxIiwiMHg1MTBlNjJhZTQyQ2RGNjFiNkUyMDRiYkRkRjhjMzFlMjI4MjAyNDNDIiwiMHhjYTE1NDk3Mzg5MjY2MjZlMDdlZjJDODdkYmE3ZDc4OTY3ODUxNDQwIiwiMHg1MzIxMzk0RDA2MEFhMDczMUZEMjE4NjkzOTgyYzgxM0E4OUIzRDg4IiwiMHg0MGNhMGM1QzAwM2FGMzlEMkU5MDBENTQyMEMzYTFhYTZlOUU3RDk3IiwiMHhGQTlmNmI2QmQ2YUViRTA3M0JEMTgwYzM3NTk2NjczNTQzOUY1NjlFIiwiMHg5ZmQ1MDUxNDMyY0ExYzlhOTE2YTY4Nzk3RWRhNzIyQTkzNWFlMjM0IiwiMHgwMjRGZjNGNjIyMzgxQTFiNzUzMTQ5NzgxYjM1QUYyQjA5YTc0YzgyIiwiMHg4ZjZCY0I2MTgzNkY0M2NGRGI3REU0NmUyMjQ0ZDM2M0Q5MDUyN0VmIiwiMHg1MTBFQjgwYzQ2RWNGOUViNDRiMTA0NzM3NWFBRGYzNUVDMEJBQjc0IiwiMHhCN2YyMzhENzQxZDFmNTZCMGZhRDhiMzdGQTJjMGZBQmMwNmM1OTJjIiwiMHg4YTI5NGViMGZEMEE5MjBENDQ1YWQzZDNFNTk2YzFDNzA4Y2RjNEM0IiwiMHhGZmVEZUE0ZjBlQ2JCZjI1NTg4MGNhMWQ0MjRCMmYzMEY2RGE3YUZDIiwiMHhBNkQ3YWM4OTZGYkFBQjY0NGFiZDg0Y0QxMjdjZEZFYzk1ZUQwZDc3IiwiMHg2QWRBNDlBRUNDRjZFNTU2QmI3YTM1ZWYwMTE5Q2M4Y2E3OTUyOTRBIiwiMHgzQ0NGYmIzNWNCYWFiYjE3ZTc2ZUY1N0RiNGNhOWRGZjA3OUVmMkI4IiwiMHhhNzZjMzU1QjAxMjQyRDIyM2M1NjQ3QzMxQzRhOTc5MkNGYzYyOUJiIiwiMHhGRWIzN2UzZEZkQkRhNkQyZUZhZjY4RjBDYzgxZGNEN0ZERDI1MjhDIiwiMHhBOTQ5MGQ2NmNBMjFmZDZiM0Y1NThEOTlFQTJCMmJiOGFiMTVkMzQxIiwiMHhjNjc1QjMwMTU4RUQ2YTc2ZGQxNjM4QzU5RTdmZUM2Njg2N0ZlZTBlIiwiMHgzMGQwZURhN2UzQUMyNDJjZEUyMjZFQkNiZDRlNjM1MzQ5N2Q4MzNjIiwiMHhiZjNhZEJFRDA1OTk5NTAwNDkzNjVjNTIyNkY1M0MxQjcwNGIxMTQwIiwiMHg1NDg2NjVGMzczOEJiNDUxMDQ1Y0IyMTFBQzFBODU0QzY1YTdjZDdkIiwiMHgxMjE1MjU1NDVhOThENDRBMGFEMkM1MDJjNTMxYThjNTFBOTNBMjRFIiwiMHg0NDZhOWZiZTFCODg5OWM3RjE1OTdkNjIwYzliMWMyYUQ1OGE1YWIxIiwiMHgxOTJmY2E3OGYxNzE3MDBkN0EzMUJFMWUzMzEwNmE2YTY3MDQ2Mjc2IiwiMHhjRTNlRkMyQkI0NTg4NzFFNzk3OTBERGE0ODUyRjY2OTU4YjIxYWQ3IiwiMHhmYUY5OGYyNDMwNkQxMjRGNEEyMkU0MWUzOTdjZjQyZjk4M0FCOTVBIiwiMHgyQzBDNDEzNzY1NTFjOEJCODVCQWZhNjNEMzNBNUQ1Mzg3YTUxNmM4IiwiMHhiNEFmODEzQjNENTg5NzQ2M2E0OUJFMjM1Mjg4ODYyODljODYzMWRFIiwiMHhjNTBmRjUwYTZFMDFjRDVEMDZjRWM5Y2VlZjgwNWNhN2YwNUU1YmQzIiwiMHgwOTYxQzgxN0FFM2ZCODRjMTBGNDc4MTQxNjNGNzQ4NzBiZGY1Y2Q1IiwiMHg0ODdENTYwNDZlOEMyNjhlMUYwNjdCNGVENDJGZEIzMDc2MDVkN2M2IiwiMHhGMTU3NjAwMjhkQTM0NkMyMEU5ZjdiZjQwMzYxNDU4MjFjMzVjYTY5IiwiMHg4RjAxNjAyRTVCZmU5NzgxMEY2MzZlMzc4ZjEyMzE5ZGU1NTFGMzM2IiwiMHhjNDgxYzc3MmU0NkIxZjUzZjg4YkQzMzQ1RWM4MzQzODUzZEFEMTYxIiwiMHg1NDZjRTBEYTA1MTAzMjU0MmEzNTI5NzUzNGI0NmI3MTIwM0U2MTNiIiwiMHg4MjM1NmZBMzE0RjMyOTBkNzA3MTVGRENkNDg2NTVjOTA3ZTY0NTI4IiwiMHg3QzJCQzZEM2Y0MWFlYTQzYWI4ZTgzNjNDNmI2OTJGODY1NzVCYjVmIiwiMHhBZjEwMDI2ODAzNzJkMGRjNTQwNDA4QmE5QWQ2OTFEQkUzMjg0NEU0IiwiMHg3NTJCMTg0ZTE5M0NjZmQ4NWFlNDAxZWYxNmNBMDU0NjE3RDExZDE4IiwiMHhlZDNEMTRlNjI1YjkyYzJkZjE4NDk3MTI5Y0NhMzAyM2EzZEYyMDhBIiwiMHhERDIzQTg1OGI2QURFMkQwMTY2MUZEODE1NzlmMzcxNTAwQWVjN0U3IiwiMHhmMzdEZTY3RmVhQWRlMzlGMEU2OEJDZjU1Q0VCYWZhN2NjNzkyNzNlIiwiMHhFQ2FiNzM4YTRlZGE1OTllMTUzNzJkQzIxMGVFZGNENTJFOWUyNTVCIiwiMHhjNTE5MTBGNmExNjYxZmEwODBhYjdCOTBBMzVkQWNjMGE5NDBEY2NiIiwiMHgwNmVDMTMyNjhhYUFCN0RkNUMzNzFlOEFkMThkYWJlYWNEM0Y1MGI1IiwiMHhDQTFCMjcxOTI5MTJlMmVBYzk5M2IxM0YyZkMwNGRBN2NlNjU0MzM2IiwiMHgxODhCQTE1YWVDQzlmMDRmNmY2RWIyMWRDNzkwNDUzN2NlQjQ0NDU1IiwiMHg4NGRkNTczZDU3QzAyYTM1MDExOWVDMEY2RDljNTg1ZTM1MDBGOTAyIiwiMHg4ODA0ZmNkZDdkNzdEMmY5MDA3Mzk5ZTgxOWI3NTI0QURkRmQwMEE5IiwiMHg3NTY5QmJEQjE4NEQzOTY5QTRFRTM3Q0FjNjhBNDNmM2MzNWRBNkVFIiwiMHhGYTgwYTQ2MDk4NkQ4RDAwQ0E2MzYzOUMyQTJGRDllYTM2RDczMTUxIiwiMHgzRjAzMTUxQjEzZjJFNjA4QkQzQzEwOGNFM2UwN0JiMjU1OTE3ZkJFIiwiMHg5ZDIzMzY5Q0NENjk0N0Q3NmEzYUQyYTBDMzhGODhENzBlRWRjZWUzIiwiMHhkN2M0YjhhOEM4NTAwM0EyRTFiYzRCNTk2NUQ5QmYzYTkxNDhjRUFFIiwiMHhFZDIwNzExNkM3NjBEMjVjNzhjNDNGRUEzMDI4MTIzYzRlY2E0MUYxIiwiMHgwOTdkNGJmNzIzYTQzZDUzNDUwNEEwM0FkYzZiMTM2MzhDNzAzNTlFIiwiMHgxYzM1YzBiYjM3MjNjMGFmODQ3RTZjNzY0YTc1OEQ5NDY1NTkyODZkIiwiMHg3NDgxMGEwYThiNGIxN2FiNDM3YUNFNTUwMDFhODcwNDA1ODQ4NTVDIiwiMHgyNmFmNDBCMUM3YzlCMjcxYTEzZDlEM2Y5NzMyOEVhMjgxQkY4NGRhIiwiMHhmZjQwODA1ZjA5OUU3NDcxNmQ3MkM0YWQwM0E4QTg3MTNDOGIxOTQwIiwiMHhBRjRFRmI0MEY1NjRDMjFhYWEzNjAwRTYxNmU4OTAxZjk1OTIwNWQ4IiwiMHg4ZTY0YjczMjNjRUQwOTg2NDczMzlGMkFFODk5RTU0NjQ0Qjk0RDgzIiwiMHgyMTEwNjEwZGExNzY1NmI3NjgyYTliMjc3MzdBZTk2NDlERTgxQzg0IiwiMHgwODZmYjM5MTk4NDc4NkUwREJjNzZkQmY2NzI5NTkwQzMzRUU2OTBmIiwiMHhhMWQ3QWNEOUFkMTUwNzQ0ZTI4MzM3NkJFMmY4MkU4MTUyYmIwQ0I1IiwiMHgzNjE3RDg0MDAyNjU1QUMwNUEwRWQ3NTk0MzFkRmI3ZDlEOEMzQTU1IiwiMHgzYTlCNzlEYjZGRjgzQTBjYzdhMmQ2MzkzOWY3RDI0OTA3MzJkYjEwIiwiMHgxYzZGRDBmMDM1NUE5ZTE5MUQ2QkFkNTgxNUYyNGU3YkZDNjVCQzE5IiwiMHhlM0U0NjQwOENBOWJFMjI3ZjhDRTYzN0M0QWRiMjI2NUIxNkE2ZWVGIiwiMHgzZEFlNzVGNzZCMTRGRjBiZDdmNWNBZmU5RmJCY2NFYTgxMWI2Yjk0IiwiMHhGRkU3M2RiOUI1QzQ4M0M0NzcyZjBCNjIyREZGNDUzMWIzQzk2M0FjIiwiMHg1ODNFNTlBNUJDZWNENzgzYzYzOGFlYjU4OWQ2NzY3MjBDM2E1YTQ4IiwiMHhENTcyRjNEZUJkNDI5RjQ0MGFhQTE1ZTQ2ODk0QjQ2ZkU2Mzk5QzEyIiwiMHg0OWRGYzE2NkQyQmI4NDc4M2RBMDBFOEYzMjg0NGI3NDdENzhmMzhlIiwiMHgyMDU5NDE0MDM2RTU2YTA0MTQ0YjkzOUY2QjA3RDNBMTBGMkU1OWYyIiwiMHg0MTY5OTAzNDllYzFCRjUyQURmRWRDQjlGRDk5QjNBMWEzMTZEMzhiIiwiMHg0OTcyODZmRDYyRjA1QjY3ZmQ4QzNENmE5ZTIxNjZEYWJFRUFiMWY4IiwiMHgzMjZjYTNGNUFmMDg3M0FjODJhRTUxMGMwOUE1YzVFMTM5QjI3NkMwIiwiMHhhNTk0ZkMxZTM0ZEI2NzlkM2UwRGU2M2IwNmNBMmJmMzY4OUE5M2Q4IiwiMHhFNGZhQmRiNmIxNjU4QUEzOTE0NkQ4MDE3YzAyNjZGOEZCMEYxRjFFIiwiMHg5MTIxOEY0MWYwOUY2MjViMDAwN2IzMzY3YTIyNkZhMEVGOUFkNEQxIiwiMHg2YWQ2NzQ0MEE2YjM0YjE0OGNBMjdFZWE1NEU2NUQ4RGI0ZmJlMWEzIiwiMHgxNENjNEI3ZTJFMEM3NzBhMjQ4Mzc0RDE2OUEyYTAxRjY5QTZkQzcyIiwiMHhkODBDZjUwNEI2M2VBNzY5RkM5YTlmRDdhNzE4RmM1NGQ2NGNkQkI1IiwiMHg1ZTkyNTE3NTVmNjMxNkU2NjQ0OUM2MzFhNjQ3NTUyZDk4MWRGNTM5IiwiMHhmRjU0NDk3NTIzNzRBNEI3RTYyZmZFOThCRWU5MDc4QzI5MzhFYUNhIiwiMHg1N0I3M0YwNWMxMjUwMjU0YzQyRDI5NTkzODAyZTVjQzQ4QkJmOWE5IiwiMHgxMDkyMjkzNTNERWIxZDkxREM3Mjc1MEY3Mjk4MGVhRTgwZjVBNTEwIiwiMHg3RUQwNTMxQWJENzEyRTQxQ0FBZDE2ZDQzNWYzNTlhQjQ2QTQ5NThmIiwiMHg0NDE5MmExMDBGRTY0MDdhNUJkNDQwNDcwOTE1MDRENmIwZjdDY2FiIiwiMHhGRDE4MWI1ZGVCQjNGMjE3RDE4OTEwYTc4QzQwOTFmRTc5MjYxY2QxIiwiMHg0ZEEyYWUwQThGZjRkZDQ3OTkzODU2OWMyYzRlMzIzNzZjNjljMzgxIiwiMHhBMzg0YTE4Njc4MGM4YzFGOUYwNTZmQjQ5NTkyQTQxYkY4Q0U0MTZEIiwiMHg0MEIzMzBDY0UxMEFiNjIwNmYxMjU4Q0NkOWIwMjE0RTdGNmY3MWFGIiwiMHg5ODk5NTQ3QmRhQzNiRTExMzVFOTAyMWFBNzY4N0U2RDU3ZTgwNDcxIiwiMHg5YkY4M2QxNGNjRTM2MGFEMzhlOTE1MWEwRjIyMDM2NTc0YUVFN0Y3IiwiMHg2QUMxY2E5Nzg0NDM0NzY3NjVEYTc2MmEyMDMwRDQ4MUUyNDViNTZGIiwiMHgxNTg4NTcyNDJCMTQxZjhiODNhRTQzY2E2ODhCMEEwN0IzYzYyRjk3IiwiMHg5NmI4NzgyNTVlRDExZTE0OTkzOEM5OTM2ZjlhQUQ4N0Q5NTViMGNjIiwiMHgyMUU1NTAxYmY4QjVDNzE4MmYyNDNlMDExMjc5NzZmODg0YTk1OTEyIiwiMHhiM2MwQzE3ODA5RDVCMjRENDA2MDM5NEFCNmE3NjkyNjNENDlBYUQ4IiwiMHhGMDA2NTc1QjYzN0I3OUU4NUFDRjM0NmU5MzllQzg4M2I5N0ZiMzkyIiwiMHg2RjFiMTU4Rjg1YjNmYzVEMkNlMTBCMUZFMjI0OTdmM2MxMTEwOEEwIiwiMHhjMkE1NGE4ODc2QWExOWY1QzI4Q2FmRDIyNzZjNTVkMDcyOUI2ZkNmIiwiMHhiNmRhREZhMTYyOTM0Nzg5M0FmYThCQTNiM0EwMzU1NTBkQzEwZTNhIiwiMHgyNUVBYzYzRjlFZGEyRjRDQWNFMDg2NmJiM0NjOGFBNUJlRjREODQwIiwiMHhiQ0JmYUY1NzFmZjk0OGFDMjFDZWNkYkIyQThjM2QxYzljMzIxMTRhIiwiMHg4OTY2ZjAzOEIzYzJhZDE5NmQ1ZjYwQjEzNDk2NERGRURmNjhDMTViIiwiMHhFQmUwRjQ0MDc4MzA5RTc5MmVkNzQ3Mzk3NzFGMjU2MWRkNUFhMzFmIiwiMHg3RDNENURCNzI0MTNBZWRkNjFBMjg5NGYyZmI3ODcwRDQwNjYxRTU5IiwiMHgzM2ZFZjZGYWI5N2Q5MTdlQjcwMjU5NzA2RTNmNDcyODcxOWZiMjNmIiwiMHg2N2ZCOTZGMUU3MjNhMTMwOTBlMTZhNTA5OWNlYUFBNUFCQjk1RDFCIiwiMHg2QzU3RjVGNEQyOGNCMzdFMTY3RTI4YjNBODg5YkJjODg2MEM3MzhEIiwiMHg5NUUxQzk0RjZlYzBlRGIxYTQyN2I0NTlERUUxRUUzYzM2ODZFNDBFIiwiMHg3YjM3ODI2Rjc1ODlhZWE1M2I4ZGZCZEEyQWMzNkZhQkNlOEQxM0U3IiwiMHgxOWJjMzIzNjkyZmMzOTA3RkRDODY2NEMxMzI2YjVlMTU2NjllM0I4IiwiMHhhM2E5NjBBZUM1NDcxRWRlZjk4REUwMzRkRTQ0M0RjM0I5MWM5MDRCIiwiMHg3MjQwOTgyNGE1Q0U5OTlBZGVkZjI4YTJhZDQ5NEI3ZDYwZjA5OTFGIiwiMHhkMzU5NDI2MjMyZjM0NzhDMEE5ZDQ5Q2Q1ZTg4MWYwNjY5RmM1ZDFFIiwiMHhiYTdmODE4NTI0YjFCNDliNzQ4NDg3NWVGZDAyNWQyMGFCMmZkYzgxIiwiMHhkMzcwMjlhOWQwNkYxRkMxZTljNzFkOWUzRjYyMERBNjBkNTU3Q2I0IiwiMHg4MTA4ZUJDZTIyNWIxZjIyMDgwODMzMzQ0NjFjRUNlMzY4MTQ0NzQzIiwiMHg4NDExZWYxMmMyOGMzMjQ2ZTUyRjNhNGNDOEU2ODBkNTVlRDJFMTRCIiwiMHhFNUE4NWZFMmVENEIyNDhmMWVCMjBlN0Q3MkFBNkYzY0Q2ZjBlMUE5IiwiMHhDYmY3NmNhNzcyZUM3ZUZiZkRlMjU5MmFjMDkwNkFiN0QzQzc3OTI2IiwiMHgxMkY4MEVCQjE4YjRENmJiNDczOUVBYzU0NTVGNzU3ZWZlZWI5REI0IiwiMHhEYkFkMUQ2QUYyYzUxYTlhRjE4RTFBRTY0YzIxRGMwODhGYTQyZTY0IiwiMHgzMWI2MTk3NjFiMDgzYWVDMzNCRGY3RjdmN2FBN2EyOUVlODM1QjJhIiwiMHhDOTcyRGI5MjM3MkYyZWFDRWUwMDExNTVCMjJCMjQ1YzdDQWI0RWEyIiwiMHhCQjBBNkRBYTllODUwZWFCOEY1NGQ0RTc0YzE3QmU2QTkzMkMyRDk3IiwiMHg4OWZDNEZEZDFjMkI5RTBjN0FjNWE4RDI3QWRFMTg2ZjM2QTRGMTMwIiwiMHhDYkYzNUQ1QzZjQzE5MjQzMzE4MUZBYTBBMTk4QjM2NjMzOUUxRDlCIiwiMHhiMzA0NTZBMjkzQUQzMjY2YUE1MTc4NjdGZTc3NjQ5M0VCMTJkQTJhIiwiMHg1RDQwMjE5RWEyODUxMUIzRTlBMkUwNzVFOTQxNzY4MjQ4MjIxZGE4IiwiMHhmMjY5Nzg1MTc1NkE2Y0Y5YWNDMTkwRTVFNTkwMDY1Q2M1MUE4QWMyIiwiMHhGOEIwYTZjMTZBZjk5QTQ4RDdiZjg4YjYxQWU1QWEwODAzM0VFODlmIiwiMHgzODMzMjQ0MzdiY2ZFMTAzOTU3QTc3MDI3MEVlRDVCNDE1OTk4Y0U4IiwiMHg2NzlkOENjZjMwODlGRDQ2MWIzMkJBQ2UzMTM4ZDhlNDA5ODZlNjY3IiwiMHgzNTlmOUUwM2ZDNDBhODk2ODkzM0E4MTZBZjAyMjVkMDM2NzM2ZDc4IiwiMHg0QTZlNDNCODI0NDdhQ2Q4MjMxNjU0MDlFMDc0OTAxZGRFZDQyZTFkIiwiMHgxMTUwMDcxN0JhYTk5RDY2MjVDODBDQkMzYzE4MTc1Qzc3RjU4MEJjIiwiMHg3MDlCOTQ1QmU0Y2I4N0E4NjdjQTA1NTkxRjlGYjY0ZEZDNzM4RjVBIiwiMHgxNDc2Q0MyNzExMTRhMzA3YTQyRTk1OTBlN2ZDMEQ0MTkxMEYzNmZCIiwiMHg3QWEwQTMzNzQ0MmViMjg3YjExMTUyNTkyMzdkOTY3NDIzNjdjRTUxIiwiMHgzN2Y0MDAwYmVCODQ4MkRlODNhNWQ0NDBhYWMxMTQ0YjQ3YkQ4NDhDIiwiMHgyYzE4Rjg4NzA4RDAyMTU5YUNBNDk2RmVCNkMyQ0VDMmI3MkUzMTdmIiwiMHg3M0U1NjY2NzQ4NzEwMDJBNmQ0RGY1NjdjOTU0MkY2MjZiOTJBNUNGIiwiMHg2YjYwQWRFNzA0YTM2QzJmYTI4MDM4QTQ3QTIwNjZkMDMyMzJiQkM1IiwiMHhDMDFGN0RkMGFEQ2UxZTE4MTU1ODAwYkExNTYwRUYyNGQzRTg5ZTQyIiwiMHhEMzgzM0Q1ZjhmNDU4NTY1RDcwRmYwNDk1Mjk5YzgzQjQ0QTU5NDE2IiwiMHgyMjBDNUQ1MzA3RDk1NDk1OTYxYzM4NkE5MjczQzJCMzU4QjFhNDczIiwiMHhDMjk0ZmUyNTBlNUNiMjk4OWY3MUQ3MmExQzY1ZDVDRjRGNURCMmUzIiwiMHhjZThhZjZlOWIyQzY3YUNkNjJGNzViN2I1NzY5Y2M1ZUU0NzE5MzE4IiwiMHgzNTJDMzMwZDM1MjhGNTUyOEU3ZUREMEYyN2Y1ODEzM0Q0Q2Q0OEMyIiwiMHhGNjIyZTFGYmJDMDY2QTc3NTg3MDc5ZGYyNDk1ZWNjRjBlMDNlMDVjIiwiMHgxMkZmZTMyNWY2QzRjNjkzNzczQjQ2ODEzMTRGNTg3OWQzRTQyNjVDIiwiMHgyMDBmNTZDNGQzNDg4MkIxNjI4OTkzYmQ3YTZjNTExM0Q5ZkEzMjMzIiwiMHgyZkY2NzA1Yjk0NUY3RWJhNGM5N0MwMTM3NUI4NWFmNTcwNDhmMTEyIiwiMHg5OUE4NkE3MEI2Njg3MzU2NDFBNDBBMTFEQzlhNTJBMTQ3Y0RCRDdBIiwiMHhmMzEwQmI3NWZhRjg1NzdDMTBlMjM3N2I3Y2VGN2YwODRhMTI5QmVjIiwiMHhkNTA1Zjc1MkFFNTc1ZjE0NGRFMTVlQ2UxRTVhYUM1OUEwQkNjMjMxIiwiMHhCMDBFZDQ0Qjk4N2U3M0VjNmQ3Mjg3MjdkMDVCYjdlYjkwYTFBNjMxIiwiMHg5RkNjM2I0MDhhMjhFOTFjNzRENzdDZjI3N2VmQjA2OTFENzAzQkRkIiwiMHg3RGU3YjUyNmUwZmZBOTRmMDhCQjE1RDJFNDdkMTc2NDM0YjhlYmY3IiwiMHhFNmI4YjMyNTc1YTZGMjZmYjU2ODkyMDcxMUQ5RWJiQTYwOUY2ZDYyIiwiMHgzNTI5MTQxQmMzZmExNWE0NWFFZjZDMjVlQzI0NkJhMUIzRGE3Nzk4IiwiMHhBYjlCMjcwNzZlMDczRjlmNzIxMkI1QjVFODY1Q0RiZDUyMDlhQ0VhIiwiMHhlNzcxNGNjOGY1NzlmNjBEQmU1M2JDYjk3N0UxMWJBYUYwNkZDYjIxIiwiMHgwRDU3OTNEQmI1ZjA2Q0MzODBkNTAzYUY1OUFmODg5NDk2OUU4ZkM2IiwiMHg1MDgzNjQ2ZDZBRGJlMjREOTA3RmViQThGMDQ5YTQwQWY2ZTlCMUY3IiwiMHhFODMzNWM2MGIyZWFiREQ1YkJhMGNlMTIzMTVBYWYyQzIwMTQ0YzY0IiwiMHgzRWU5MWZjNTdBN2E4NmZiY0YzRDY3NkVEQWUxMkQ1NDIyRjIyQTY4IiwiMHgzMEIzMDViRERBRjZkMjkzQzMwQ2Q0RmVGNWM1QjhjMzk1M0VDMjM1IiwiMHgyMTY4OTYxMEQ4ZEM0QjQ2MWIzMDY2MTRmOTE4OGI3OGE1MDY1NTlGIiwiMHg5MDRmREFiQmIzMWVGN0U4QzdFRjIxRUMxNzczQ2ZhNTI5YjM5N2Y0IiwiMHhFNjE1MzBCZDU4MzkyNDg4RjdhOGQzM2FkMUMxZjU5NjI2ZTJmNjUwIiwiMHg5ZjI3OUZkQjMzOUNjOUYxZTA3NUQyNmYxNTk2NWRlNTI5MEM0MjdGIiwiMHg2MDEzMDgyNTRFOUIzMjIzNjgxZkRBYThiNDdlMWFCMDYxMzA2RkIzIiwiMHg4ODY0ODJhOTMxYWMyODJjMjlhOUEyNjcwZGE0QTlBM0I4Njk4YkFGIiwiMHhmNjkyNDlmN2Q1MDI5NDAzMjk3NTEzNGY0ZmVCNTlGMDU3YTY1RjNCIiwiMHgzOGJhOTIwN0ZiRjE2MjkwMTQzMkE1RTgzOGEwRGNiMTFBYTlGMjg1IiwiMHg3REM5NTQzNEY5MTA5OTUxY0RGYTMxMjIzNzcyQzY0NUQ3NzRGMDQ3IiwiMHgwNjE0NThFYWE2NDVEQWVGNTE2NGZGQmE5YjI5OTYzOTM2NjhDOTVDIiwiMHgyM2Q2MUFlRDNmMjM1QTY5MEQ1Nzc1NkMwN2Y2MUIzMTgxOUYyRkMzIiwiMHg2MjQxRTQyMDZDMjg3MzJEYzdBMjFBODNjQTU1RDYzY2ZhMDFkOTUwIiwiMHgxZTVDMTU3RjAwQWU5ZjE3MzU3NjIzZjA0MjY4OWZDNTkwYjc4ODRlIiwiMHg5MjY5OUFBQWQ5NURBNTA0RDUyZmViODBBNEMxMTNGNzEwNUY5MzM5IiwiMHgwOWNmQjExRTQyZDhFNGUyNTk1YzA5NDJGRUE5ODIyRTBGMTVhNzRGIiwiMHg2RTcyMEI0MzhEOGQyNzk0QkNBOEI0RDE0QUViOWZFYjFmMzU0NThGIiwiMHg1MjhEZGUxNjViNEM2ZEM3NUI5Nzk1ZDY4Nzc3MjYzZTRFNDZmNTI5IiwiMHg2NmM0QzMxQmY1ZDA5NDk0MkI4YzRlMTZEZGE4MUFCOTI0OTczQkU4IiwiMHg5MTc1M0Y4YTYxMEI2MGM0MWZiRDlmMzQ0YmVjQzM1NTE1YzY3MzIxIiwiMHgzMkI5QjMwNzg3MUE0MjkzZGJlZjdDNzJhZTUzMkI0ZTFkNTQyOGE2IiwiMHg0ODZjMTYwOWY5NjA1ZkExNEMyOEUzMTFiN0Q3MDhCMDU0MWNkMmY1IiwiMHhENjUwQTJlOEJENmMwNTMyZDEyYjc5YmQwMjE4ZjM2RThENzJDQjkxIiwiMHgwMTgzOTM1ZDM5MWJGN2FjODBFNThlOERlQ2Y4NDMxRjM5MkJiZDdiIiwiMHhGODUzODg5MDMyNDBGMEQ4ZTg4YTUzZjE3YTgwMWE5OWQ3RTc2NUVFIiwiMHhDNTFmMzZiRDE2MUI0YkZlQWE3QWQ4NEMwZmJGN2I5NjU4NUZGNzJDIiwiMHg1ZDQ0QUZBYTFFMGU4QkY0ZjEzYmM1QUI3ZUEzY0I0MWFDZGMwYWY3IiwiMHg4Mjc1ZjM3QjFiOTk2NzVGRTY2N2UyMjRCNzRiMDVkMkUyRDJmNEQ5IiwiMHhGNWQ2QzUwRmU3OTU2OTY4MkZkQTg4YkZhODJBOTUyMEU3RTc4YTkxIiwiMHg1YWNmRGM0QWU1NTEzMzRBOWI4NDAwMzk2MDM4MjljN0MyNTkxMDliIiwiMHhGYWQ4NTI3RDI1RTg2MkNmODUwNTQ4NjBEQzY4ZUJjQTNhMEZlZDU2IiwiMHg2ZUUzMkM4MTdBM2U1OTQ2Yjc0YzhDMmI1MGZhMEYyRDY1NzA3NTAyIiwiMHgwODQ0MmY2MTNlNjEzZjk5ZmQ1NWMzMTkwZDU1MTNFOTg4RTk4RjkxIiwiMHgwQjYzRjExRUI2NjViRjNjYTM1NTUyY2E4YzQ4RGQ2RjBBNzk0NjBlIiwiMHgxRTM3RGZGZTYwN0M2MTBFZTFjOGFjRmJhNjY1MUJiMDFjMTRFNDE5IiwiMHhmNWU0ZkViOTk5QjVmMzQ1QjE2MDYwNmUzNzAxRjNkOEFlQ0VEOTAwIiwiMHgwODI1MUU0RmExNzY3OTZlNTI4MWRENEM4ZGUwMkVBMDE2NEFjZDRFIiwiMHhCMkM5NDM5NUEzYjk2NGZmNkQwOGQ3QTQyNzNBNzA4N0RiNkFkZDc4IiwiMHhBRmVmNjkxN2I1MTI4YWU0MWFjRTBhRUQ2NWM4MmFFMzhjNDE4YTRkIiwiMHgxYThERDAwNEQ2OEM1ODEyYzA4NkVBNWZiOTU5QkE5MjU4Njg3NTljIiwiMHhkRkI5MTU1MGNkNmFBNTUzOUEwNDE5MWVENjQ1OTYxMzdENzRCRTgyIiwiMHgxRDA5NzBjNjFlYUFhREI0NjZDOTJBODgxRDUyZjQxRkFEZTg1Y0RiIiwiMHg5OWM5ZThFOUUwQTU5N2I0NzMyYTQwRkJDMmI0NjI0NjRkNjAwZjA5IiwiMHgxMWZiODhFZTE0YzE0NTI3QzdGMzRCMTU5MzBFRjcxZTUxNUE1ZTRGIiwiMHgyOTA5RGNmNTY2YTU1QTAyMDkwNGMxOTk1Rjg4YzI2MGM3NUUyY2U1IiwiMHgwZjVCNmFiQzQ5OGI4ZjA2ZTgxODIxMEU2ZjAwN0U4MzFkMDE5ODY5IiwiMHg0NWRiZDc0NDM2RDkyNzgzNmU0OUUzZjUzM2EwNUU5MENDMzFmZjc1IiwiMHhDM0RmY2Y4ODcyOWIxMjA5RTQ1MDRGRkJCRUZFRjgxYUZhOEUzYjg4IiwiMHhkYjQwYzJGNGJiNTcxOUZkODMxNjBBNzY0YTI2MGU4ODQxODMzMWFjIiwiMHgyNUVFMTAwNzQ3OTYwYzVmYzMzNjM0RUY2ZUQ1OGE4Y0FEQkQ1Y2I1IiwiMHgzZmQ4MTYyOGI2MmIwY0MyNkZjNTU5RUM1NjhBNTZjRDI2QUYwMDI4IiwiMHg2NzIyQTFhOUM2MTg2ODFiYjU2RjAwZjdiNzQ5ODc4NUVEMUREQzNiIiwiMHg2MGQzMjI3YTg3NjJDRkE1YTJjYTdDMkYzZEJDMTM4QzRmNTM3MGQ4IiwiMHhjRDE3MGExMkQ2ODhkZUU3YTM4N0I3YjFhRjYzNjQ1RTcyNWExNDBhIiwiMHg5QTEzRjVhN0YzMWRmMDg1OERBNzY4NzMzODUxRDMxYzhmYWE1NjNkIiwiMHhDMmU2M2QyYTY4Q0YzZDczMjMxZkRkYjMxNTdGOUMzM0M1NzMzOTlhIiwiMHg1YUJDNTY3QTc0OTgzRGZmN2YwMTg1NzMxZTUwNDNGNzdDREVFYmQ0IiwiMHgwYWJiNjBGQTg1RTI1RmI1QzE1MTMyYjc1MTkyMUM0NzRlYTgyQzQzIiwiMHhmMzVjNzYwMjg1NDAwNmQ3QTI4ODdFMTEwZTRjNkYzMDM0N2FhM2I5IiwiMHhEMzM0ZUM4ODUwZWQzOTI0ZjZDQTJDMTcyRDdiNmIzZTA5ZThGNEY4IiwiMHg1NDNDODMwMzMzNTI5MWY3MDdhNUIzMTBiMDZBQ0Y5QjIwMzc5RTBjIiwiMHgxODVCYkNlN0ZBNDZmNzJhREI5MUI3MDNiQkFmRmREN0Y1NzJCN2Y0IiwiMHg3YTIxQTMyQjUzNmQ3MjYxM2NEYThmNGQyNzM5ODIxRThEYzBmOENhIiwiMHg2NEY1NGVkRTMwNjBlRTJhNjY1NDFkRTgxMEY0MTY5QTM5RjI1N2VEIiwiMHhCYzhGOTA0MDVmNEY0RjllN0EzMmIzNTE0RmJEMEJCOUEzODA1N0IzIiwiMHgxQ0FlODFlMDllQWI2NzcyMkJiNGE2RmFDYTUzQjlEZDU3QmQzNDgxIiwiMHgyMDUyQkNmRDRjNDMzRTMzY2M3MzkyRUI1MDg3RjkzOTc5N0JFZDcyIiwiMHgwM0I1N2Y5YjQ2QTUzMjJlZDdmMjA2MmRGODUzODg4NmFDMkU0Y0I3IiwiMHhlZUE1NEQ3YWEwNDE3OWIwOTMxM0FEMDU4YmJEYmU4MEY4RjNCZDc1IiwiMHgzNmQwYzdFOTY3QzcxYUU4OTIxZGUzMmQ1MTkwNGNENEVkNDg0NzM4IiwiMHg5NEZlOEUxMEQ5N0M2RjkxNTY2OTkyQjhlODk3MTkyMDlhMTM1MDgzIiwiMHhlNWY1QjBjYTQ5ZjA5YzAwZDM5RTg4NDZGNzNENDA4ZjZBNjhlZWVjIiwiMHgwZDE3N2UyMzRjMkNFMjJjYTkwODgzZjQxRjQzMENBREMzMEI2NzM0IiwiMHgzOTcwMkZiMDJmOThhQTE4NjA3MDA2MDYyMEE1MTFFYTU5NDZERTQ2IiwiMHgxNDhFODdlQjQ4ZGZERkIzNDA4MjM0NDVEYTZBYWIyMmZhMkY1MUYwIiwiMHhjMTA3OWZEYjE4MTA3ZDgyZEIwOUQwY0VjRjM3NDdBN2RCMzg1NzY1IiwiMHg3MjQ2YTY0OTBENTU0YzY4ZTdiY0FiM0VkOTY2Y0ZENTM3RDE5RTlhIiwiMHg4YTllNEI0MUM0NWI0NTA2MEM4ZUVBZTcyNWI4NkM2Njc1OUQ2MzM2IiwiMHg5MzkzZmQ2QzljMzZhRWZGMkVCODdBMTAwZDVjZDliZDAwRDM4QzMwIiwiMHhjNDEyQjNiNDExNzg5OURCZjg3ODk4ODU2NjEyQTBiODU3ZTg4ZDBhIiwiMHhkNTk5NUY4RGZFZmJGM2ZiOEY0NDM3NjUyQ0NEOWVDMUYwM2JkQzkzIiwiMHhENzRlMmQ1QjJkNzMxMDczZDk1QUQyNTk5MmE5MzcyMDQ2MEE4NGZDIiwiMHgyMzZCNEZmMUNEMjU2NjY3NTBmZWJDQmUxZDgzMjcxQjI3N0FkNDMxIiwiMHg0ZDQwQjExM2Y5MzA1MjE5RTBkN0NlYzMwRDM1M0NCNjY3ZjU3ODk5IiwiMHg0M2Q0ODVEMDljRDBERmNDODBDNzNkODAxNkE0N2IwNTE4NDE3NGQzIiwiMHg1NzM3ODY3MEIzZjRlMGE0NkMyMTVBMjM5QTI3MkZhRGIwZGMxRTY3IiwiMHgwNTkyMkI4ZDBFMEE3ZTYwOTk4MDdBYzVmYWJhRjYwQUJjODJmQmMzIiwiMHgxOEJCMjM2MzJiMjY3RDk5ODlmNDEzMmU0NkNBOUE1RjhFYTRGMkU4IiwiMHg2MGFkY2JiRTYxMUJEZDM3MDcxMmI2MkU3NEE4YTNDNDcxYTcxZEFkIiwiMHhBYjVEMjNCOGZFMTcxNDQ5YzMyQTk0N2IyQ2M3MDgxNDExRTU0Qjg3IiwiMHg0ODYwNTA4OWZCYkE0NWU4OUIwNWQ3MUUxNmQ5MTdFMTlGMTUwM0IyIiwiMHgwQjIxNUY0Yzk4OTlFNWM2MUJGRjBiNzE1RDgxMGRmMTY3MDA1MzNlIiwiMHhmMTlDZmIzRDZkQjcxNTBEMGI2NDE4ODliYkEwZmQ4YUMwOGQ5NWMyIiwiMHg2MDgwZjJlZjlEMEY4NkU3RDdjQjdlNjIzQjRDQ2REMzgxOThhNGY0IiwiMHhkMkU2Mjk4YzdEMGU1ZDg2Qjk5MDIxMWY1NWMyZTYwMWE5ZTU1MGRDIiwiMHgyNTlFNTU4ODkyNzgzZmQ4OTQxRUJCZURhNjk0MzE4QzFDM2Q5MjYzIiwiMHhkMUIxN2JkNDIwNjczMzk5OGM4REE4NDQ2NGI3ODI4REJEZDJBNTk3IiwiMHgyNmY0Q2M1OTU1NDkxNDI2NTQyRDk3QzU4OTM2NTQ0Rjg1NjU2NkNBIiwiMHg3Yjg5OTI0NEQ2NTA4MkU1Rjg2ZjdhQUZCZjMzNzQ1MWM2ODhCODI4IiwiMHgzYWMwMjhEN0MzOEIxQjk0MDI5N2RkRjZhN0Q4NERhMzQzNTNGM0MwIiwiMHg3MzUxNGE3ZDcxMjkxM0M0N0JmQTMzMGFERmQxYjg1ZEJkNzhEZTljIiwiMHhjNUMxOTk0ZkU4ODBiYTUwNTRmMTAxYkE3MGEyMWUyQjk2NjkxYzZEIiwiMHgyODUzODM1ZkM5RGY0MGQ0Y2E5MkQwOWUwZjA0NmM0OURDNDU5N0M1IiwiMHg5MkFjNGI5Q2Y4MzRGRjIwZTk5QzU1NjcwZTQyYkEzQTAyOWRBNDA5IiwiMHhDOUI5ZkMyMzgwNjU3MGJFOEUxYjgzNTczMDkzZkI3OTVlMmYzMTlEIiwiMHgwQzU1QTA1M2Q4OWI3Q0FGODhiMTQyZGQ3ODRBNTJjOTcyNGIxYUI4IiwiMHgzNGE3QzM1ODJFNjNBNUI1NTU4ZWFEQjA4RDUzMUE4MjI3NzMyNDNBIiwiMHg0NzkwZjA0NjE5MjEzQmNGYzNkMkE0ZjgyMzNmY2Y5ZDQ5N2UwMTExIiwiMHgzMjA0QWMxNEM2RDdEOUU0NkEzRjE1MTQyQ2E3Nzk1MkQ1QzRjM2JjIiwiMHgzOTcxNWM2Q0Y0NmZjODM2MTM2ZDcyQzY5ZkNkRjQ4MzMzM0U5OURFIiwiMHg2QTU0NjI3RTFjMmEzOGYwMkE5OTMzNDliYzg2NjJhOUZhNkUxY2FiIiwiMHhFNjY2Njk1MjZFNTZlMTQyMzdDQTE1NGQ4ODM4YjdEYjMwN2Y0QTBFIiwiMHg2MTU5MDc1QTlhOTg2NzJCOTVkNDRBODBFRkVCY2UyMTc5OGRGMjgwIiwiMHhFMjZBOGM4MWFlNDIyNWZFMjA3MzBCYTlCMDkzMTEyYjM5NTY0RDdFIiwiMHg2ZTkzNTcxMWZGQzk3QWM5OThlRkE5ODY1MDE1QUJCMjVmMzdkYjU1IiwiMHgxMTIzZUI3ODE2RjAwNDBlOTk2NEQ4MjgzNDk0YUFFMTFCMDUyOTE3IiwiMHg1MjM0NTBmNEU3NDViMjUwMGY5NzczNzM1ZDAyOGFBNmQ0ODAzOGU5IiwiMHhBZERhMEM4ZDJjMDUzMjBhNmE0QjBmQzgwZWExMjE2MUJmYTg5NmFkIiwiMHhlQzJFNTFjMzBEZkIwQzZhMWJiNEQ4Y0EwYkUzNWVhOUEzNkNjN0IzIiwiMHg0YzkzOTc2ZDgyOUY2M2IwZTI3QUIyRWFiMjczNWZBNkZEQTY4NDQ4IiwiMHhFN2MxYThhODc2Y0QyN2E5NzU0Y2YwQ2EzZkRCOTkwMTIwMjA5MDgwIiwiMHgzMGVlRTBCNjlERmJkQzE2RWI5ZjIxODJGNkUzNkMzMjg5NTY1RUQxIiwiMHg0MmQ5YjlCOGZFNDc3NUQwOGQ2MDk2MTUxOTE1Y0Q4OUVDMjczQkFkIiwiMHhkMWY2MDI0M0ZDZGYxMkNlMjI0MDREOWEyYzYzMDJkMjVhQzU3ODJEIiwiMHgyQTYxRDc3NDkzMDI4NzRDQzMyODcyOUFDMGIzOTE3YTUzMzNlNDNEIiwiMHg2MEE2QmMxMEUwNjhjN2E2NzRmRTE1NDZBNTJjMTlBMEMxMGY4ZDE3IiwiMHhmRDMxNzJGQjhlQzJDM0M2NTBENGU0Q0Q1ZDM4MkY3NDA1QjVlNjFhIiwiMHgzYzQxMTg1MjY5OWRCNzU5RTZmRmI5MUUyMEIyMjAzMWNDYzQwZjg5IiwiMHhkNEVFZDA1MzBFNzNFQTQ1NEIwNkYzOTYxNjg3YTg3MEU4ZjQ0QzZGIiwiMHgxMGVBMWMxQzE1OEY1NWE1NzgxOTE1ZkYzMTczMDEwYzA0MjM2NzFGIiwiMHg4MjIxMzAyNjhGYkExNDAwNkI5MkM0ZDEzYjhiNkZFMzE5NmVBMmYwIiwiMHg4OTdGZjQyOGU4ZTQ3YTY0NzNEMzAzOTIwOTJGMDNjMTE5YjBkQkE4IiwiMHg5NTE5OUUzNDZjMjI5NWU3ZDk5OWNBOEY3NDQ0NDM2NTkyMzk3MWJkIiwiMHhDNjUwRUFFOUU0M0FEQmM2MTUwNTgwRDMwMzQyOTJGMkJiRDBmQTg1IiwiMHg3MzE4ZjBGRjM5NzVCMDQ4MDQ5NEVGRUQwMzhENEY1YTFERUM2M2ZhIiwiMHg3YUIwM0FlRGVDMDUwQTJiMDg2NjdlZTE3MDUzOTMyM0VhOTE1QTllIiwiMHhkMWU0OTY5YjQzMTI5ZjFlYTg2RTJlODI2YzM0OURjNGEyMzBFMDNDIiwiMHhFNThGMDc1YTU2ODY5QzIzMEE5MmVlNTcyMTFBNzI4NTMzRTAwOWZlIiwiMHg4NDgzNmExMDI4ZGI5QkY2MTg1NmU4M2NFMTE1MGY5QTJhOGM3YjgwIiwiMHg4MzNDMGNGQTFlM2VDMDExZTY4ODlGZjE5NDY4MEQ5RjI5YzIxNTBBIiwiMHg2NzNFZEMyNjk4NjEzQTE1ZDBBMTA4NGYxYjcyMkQyNTViZDE5ZkEzIiwiMHhmNGI2MjIxM2QwNDUwN0ZkMTY3YkMzMGJiMmQ3MTFmNjAxQjlGODM2IiwiMHhiODg1MDFjMzkyYTQyODU1YUM5OWYyRjI5MDg4NkRFZjI2ZWRDNUIxIiwiMHgwNzRhYjQ5OEZiNkY3MTZCMDZiOUEyOTU4MjYxZDk3MmE5NzEwOGYxIiwiMHgyQ0Y1MTI5OTY3OWE4ZjUzRUM1MTBGRkM0OEYxYTJhMjBlMUVCREE0IiwiMHhiZjkwYjFiNzczNjc3YTNFNTQ0NTNlQTM1ZDg3MTFjMTk4MEFmQWU2IiwiMHg5Njg5NkE4NGMyZTYxN2UwNDA0ODI5OTFhMjk0OWNENkI2M2Y4OTc5IiwiMHhmMDY5RTdFRTBjMmRmMTgzRUFBNEU2RjAyYzk3NjFGNzRlYTI5ODkwIiwiMHhEM2IwRjEzNDdhYzdENTVDNmVkMTIzOEVjRTFmOGJGNDNjNjczMDAxIiwiMHgzRmMyNzMxNzMxMDY2QzVmQUI1NkU4NmI3NTUzOWVCMDJkOTE1MzdDIiwiMHg3MjM4OUFjQkNkNTNDZkU3MjI2MmM5NDIxMjcyRGM4YTg1NjY5QjYzIiwiMHgyMjVFZjE5YzVEQ2M0OGIyOTY0OUE4MzI1YkVjQ0ZmMTEyMkFlQTExIiwiMHg2QTkzNUZmMTUxZjJhYTVkNDlERkNEREQxMDM3QTUxNTg2QTEyMjdiIiwiMHg1Njk5QzIzNGZCNTQ5NzQ5Q2VFM0YyNDhCZjlEQjU0NjI3QzY1ZjFhIiwiMHhBNjlGNDNEMDhlMTFBQjA3M0Q1YzY0ZkZmRjZGZDFGYjU4Njc2QmY5IiwiMHg5QTg4MjljQ2I1YTI1NjY0Njg0MURjNjg0M0IwNkM0RjA4NjFEMzE5IiwiMHgxQmQ2RjNjNjlFYzRBOWVGMzRDMWRDYmM1ZUQyZjk3QTc4MWNERTdjIiwiMHhlNjVjMkM4YTI2OGViZWM2RTFGOGY2QzcwQTIwMzc4NDg3YUIwNzVCIiwiMHgzNDYzZDY0MGJEYTc3YTcxRjk3MGQyMGQyMDgwMTY3MDEwYmY2RjlBIiwiMHhGZEMxNmRhYzM4ZEFiNjhiRkFDNjk3ZjEwQTVFNzVkNDdjM0E3M0IyIiwiMHhCQjgxM0JmYTVkYzNBMDNFQ0RkRDU0YUUzYzIxQTM2NzQ5MzkyMUU5IiwiMHg1OUYyZEVkYTYwNDJCNzdmMjYyN2NiYzg2ODU3RDMxNDNFQjFlMjYyIiwiMHhBOENBZTMwNjEyNDQwZjMxQjA2ZTVjQjlmRUQ4ODk5M0Q2MDk3MDIxIiwiMHg4ZGZhQzgyMzExRUNkMDk4MTgyNUMyYTAzZkRGMWIyRTZhNjQ3ZWExIiwiMHg5MWUxNzFlZmNjNmNlNTE3OTliMzg2MjU4MUE4MDJhYkQzZEMxMDUyIiwiMHgwMUFmM0U0ZDViMjcyMjZGRDhjNTJFNzBBZjNDMDU3NUUzYjZjRTcxIiwiMHg4ZTU5M0U4MmZlODRmQjUwMGVFNTBFNkJjNENBMjcwNzgwNmIwRTQzIiwiMHg2OEUxQjVDODNhMEY5NzA5NGJEMDE4NmExMDkxMjMwNDAwRDMzNTY3IiwiMHhBMDAzRDY4OGUyMDA1M2RGNDdDMjIyNTFmMTM5ODAzNTNGNEQ4MkYwIiwiMHhjRUNCNEU1NjJDQTMxMUMyZDdjNjQ2QzhFMjQ0MzM5MjdCOTNFNTVGIiwiMHg0MkFkMzljOThiNjA2NzMzMTZBOWNFRDBDRTcwQTI1REJEMTc5Y0FhIiwiMHhCNTg4RDFjM2MxRTZDZjhENjdhQjY2OTFDRWU1ZTQ4NDMzNTFkNjRFIiwiMHg1ODNFMDExRDlmZjQ2ODdBQWI5Mjk4NkQ2MjY2YTY1OTdGY0FCRGMyIiwiMHgxQzQ3NTQyMTUzODk1RDA4NzdmRTVkNkQzMTI5MTZhZjVCNjVjNkEwIiwiMHhCMzUwRjVjMzc3QTEzQjYzOTNmQTA5MjFFMEFiNjg2ZUIyQ2E0RTQ3IiwiMHgzYjUwMGEwZEY3QThlYUQwYWI2MTcxRWZDQzZmZUQ1ODVhZkE3Q0FiIiwiMHgyRWE5ZmI0NmU5YjY3ZmZEMjMzNjlkMjFiZGNFOTM2MjFkMEVBRTdCIiwiMHhkZjlkMjU5YzkzRTVhNmU5MGFDOTQ4ODY1NTM3N2M1QjE0RjQ3QTVkIiwiMHhmODcyRDJDMTdmQkYyZTA2MmZjNTg4OEVGMGU2MTAzNkRiZjM5OUZGIiwiMHhFRmI0MmIwZkM1OTMzOUQ5MmNFMzU2MzlDMEQwMDFGQUM2MjdkN2ZmIiwiMHg2MjU5QzcwMWJjQ2ZDMDk5Y2Q5Y0MzQ2NEQTc1YTYwYjVCNzNmRDg3IiwiMHgzNEIwNTY2NEEwNTgwMzEwOTNhNDM5OTc3MzRhRDg2MjYzYjllOGMxIiwiMHgxYmJGMEFGQmRCRTc0ZWIwMmE3ZEZmZDRlNzVDMEY5NDc0QTgzMkM4IiwiMHhiOEI0MTQ4MzExQjcxQTZEOTY4NGZFQTE3YTEyRWMzQTU1RThFOTdmIiwiMHhkM0Q4MkQyRGUyNENDQWNiN0JCRjU5OTM2MjdGNzhEOTAwQkRiRDJEIiwiMHgyNGQwMjM3MDM4MDJBMkU5RTg0NjFiMjU0Nzg3NjlkRDQxRDliRDFjIiwiMHg0MkUyYjljRTk5MzQyQURGYmMyM2MzYTczMzQ4RkMzNzIyMDY4REM5IiwiMHhCOUI0RmViYzU2YjFBRTA2YzU0ZDliOTU3YWRENDY0NjZmNTZBOTNGIiwiMHhkMTMyMzBlQ2QzNDVGZDE5RGRkNjlBNzlDNzAyYkFmQjBkYmFhNjk4IiwiMHg0NTFGREEwNWYwYWE2QzQ0ZDFDNjRENkExQ0NFOTJCRUQ1MjBiQTI5IiwiMHgzRkM1NDNkOTFFMUM4MEE3MzQzQzU0ZjFiM2UxMzU0MjQzOTkyMGFFIiwiMHg1MzAyNjRDM0M0NDAwQjc3N2M2MzgxNDY5MjdjOEE5ZWIxNTJEMmJCIiwiMHg2NzExRkZEMThmMTczMzA1RjI1QzE1QkRCQUJFMUM0MjZlNjQ1REJhIiwiMHhCMTY5MTZjMWU2NjllNjI2RUNFOUQyMEJDQTIyOTMwOGMzRjlGNDI3IiwiMHhDNkM3RTVBZDM5MzI0ZTU4NjczZDRGMTczNmFFRGE1MTI3NEJiMjI5IiwiMHhBQWZEYjEwMmE2RjBiOGFEOTZjMzc3NEE1Mjk2MWU4MWMzRDI5MzY1IiwiMHg2MDEzMjZGZjIyNTExQThlNDU4MzgxNzk0OTc1MTM5MTZGQTE5MUMzIiwiMHhENTc4MWQyMUQzQTdjODcxRTREZWQ0MTU0MjAwMjI5NWM5NDA4ZjhDIiwiMHg4NzJjODFDOTg2NDg3NDYyYzk2NDY3YzgwZTkzNTJCODU2NTNkRkRGIiwiMHgyM2U4Yzg3OTc4RWVjNTVCODIzODUxNWYzN0YxZDNjMWY0MzU2N2Y4IiwiMHg5MTlmOTkxMDEwMjA1MUM0ZkQ2YTVFMzMwNDkyNmM0MjQ1ODMzNGY5IiwiMHg4ZkMzRmFBNTU0ZDNEOGRDYjhjNDNCODMwODgxNGZDRWFjMzUzYjljIiwiMHg3OTkzODJCNUFjODA3NTFEOTE2ODhGNkNlMmY4ZTU0ZWE3NzhjNjk5IiwiMHhBODJBRUZEMkRCOTc4ODQ4Qjg2OTc0RjI2OWJlQTAyMDU1NEFjMDk1IiwiMHhkRDBDODVmYmEyYzhFM2UwOUY1M0IxN0FjNERGM2Q0QTkyNDU4OURFIiwiMHhkQzMxYjg4MDk0RjVDZWVhMDUwNWQzNzVFOGIxMDQ3NDFjNzg3MjEwIiwiMHg0OUUyNGMwNDEwNWNFODE4YUQxMzg4MGVGZmJhMTRBNDQwZEExQjVFIiwiMHhiOGY2QzNlRkVhZjNFQkRBNzlDNjAwMzU4RTU2MWZjRGZhRjM0NDNiIiwiMHhmMkQwOGM2OTA3RGFkN0IwZWRlM2UxMTU5Yzk0MGRFMjEzMjAxQkRiIiwiMHgxMjgyREZGYTIyNDAxZDFiZTc5OTIzNzBDOTE4ZTJjREE4RDdiNWNlIiwiMHg0NDhiMGYxNzEwQTExRWQ3MDkyMzdiZkNhZTQxQjIxMTBkNkU5ODZkIiwiMHhjMEYxNDc2ZGNDNDdkRWY5ZUREYTA1MDRmOGRiNzNFRDc0MjJBYTZmIiwiMHhhNDM5ZUJkNWQ4NDNmYUIwNkZmMjAyZDBmZEEwM0QyZkEyM0FFQTM4IiwiMHg1QjY2OWVkNzEzNTA3ODM3MzkyOTZFMjE0ZGY2OThlY2I1OEY2ODRFIiwiMHg2N2Q1ODg4NGI1YzI1MzBEMTU2MjczZWQ4YjU4YWY2YTU3OWM4N2MzIiwiMHgxMzQzRjIwMUNEZjdBNjJjQTk4OTFBNjhkYTgwQTNhOWIzNTEyMzUxIiwiMHhDN0REN2JCQWE1MkY4ZjYwM0U0QzQ3MjhEZWFGNmM2NTMwNWZCMDZEIiwiMHgwOTIwOTgxNzlDNmFFNDdFOUU1RTIzZTZlRDZDMTM1YzQxQzZjQ2REIiwiMHgzYjhhNjc0OTQwMjg5YzBkN2Y2ZTM5MUQ2Mjk4OTdhQTQ1NjlkNmU0IiwiMHhhZmIwNmQyRUVjNUVjODNhRTVFNzE0YThCYzQwMjNkODgzYzc5MDBkIiwiMHg1MGM1NjUzMmYzZjJhRDVhZDVCNjdjMGJlODMxZGNiODIwNjI3RjFFIiwiMHg0MzIwMkNhN0ZjMjljRTA2QWQ2M2YwM0RmOTcwNTlBNzE5OTc2OThmIiwiMHgzOENkNTQ1M2Y5ZGRGOTQwOTY5YzY0M0M1MmU0NEQ4NGRlNmY5NjVkIiwiMHhGZmM0ZmE0NjY0ODYwZkI1OThhNjMzYkI2ODQ3ODYxMzIzRjU4MDIwIiwiMHgyYThEODFDRUU0ZDAzNTI0NjMwMTE0NzE4MTQ3ODU2MTgyOUI2NjA2IiwiMHgyMUE3NDk3MmIxOGZDQzUxN0YwNWYxODkyMjI0MzdGNmRCNDY5OTVDIiwiMHhCRDM4YTdDOTBDRUNjMUEwODkzRTQwMzIyQWY0Y2Y3MUREMkYzOUFlIiwiMHgxQzU2MTM1N2U5MzFERTZhQjJBNzBDN2JhMTFjZTNBNjY2Q0ZDYzQ1IiwiMHhFNzNCQjQ3NGYwRjgyNjY0MDc4MDVFNmIyRDNlOERDN2M2OGIwQzRiIiwiMHhGNGU4RTVDNjVjMjI3OTkzOUM3NDA3N2Q3N0QyZkE1MjMzNjQxN0QzIiwiMHg4NzczMzhiMTQ0NGJlYWFmQzA3QzgzNGMzOTAyQ2VlNTE0ODg3Y2YxIiwiMHhlOGQ0NDhBMGQ4QkU1QTgyQjhBOUMzNTgwYzBiOWU3ZWRjQTRDMjJhIiwiMHg4NzgzNUQyYTcwNkE2MWQ1NTlCNUMyMjNmRWY0MjIwZkFGZDYzNjI1IiwiMHg3OTAwQWI2NEUwRDQ1Zjk5RDgwQkNFZjAwNzc5RDRlNjI3M2MzYkJkIiwiMHhCODRhZjM2RmVGRjVDYzAyMERlMmZhNWNiNjA2OTE5NTk3MThBM0Q2IiwiMHg2MDA2ZjZGNDhBZThDM2I3NEFlQkFEZDAzMDg0RTg4ZmU0NDRiZTVmIiwiMHg1RUE5ZDEzQzRCZTkzYzRGM0E4RTIwYzEyNjg2MmYwNjE3ZmJjMjJkIiwiMHg0MkRBZDlCOGI5NDVmMjRmNkNkOTZEMzc2NzM0ZjkzQjFDYThBNzIwIiwiMHhlMjQ4NTU2MDFhOUJERWY2RDc1NTIxMTlGYUIzMEE3MTA5OUY4MzQxIiwiMHhCZjI2N0I0QTRlZDQzYTlBNjRlNERmMjA3MjIzMzgwMTk4MURmRTNhIiwiMHg1MGQ4QzdiQUE5NzNmNDAzODk1MzcxN0QzNzAxMjE4OGEwNTQwNzhiIiwiMHgzZDAwNGU0YzgyNUIwM0MzQTRFNTNGMDMxODhlMjNEMmIwRjczQjlmIiwiMHgwNTk0YWE3NTdDN0EyODk0MGNDZDM2QjY0RUJERmZmNEQ5ZDQwMmVhIiwiMHgyYjg4ZDQwOWRmNzA2MEExRTgyZGM1MjAzQTc4MzcxNDczMENDNzljIiwiMHhCRDY2OTcxMTREM0JlNkZGRDYwZTE3MzhDMEFBMDlkMTZhNzMzMzIwIiwiMHhFODRkZDQyN2U0RmJGQ0JFZEIxNUIyNTU5MzcyYjk0NDhiNkQ0RWE2IiwiMHg0MzU4YjBlQjlDMTI2RTQ1Njg3YzQ5ODdFQjlGMUY0ODNGODk0OTgyIiwiMHgwODQ2QkNCQTMyMmI4QmUxYjIzMTIzMWQ0MjU5ZTNiYzIxQjFCZGRkIiwiMHgzRjliZUI5QzQ5NmM3MTNFZThlMjgxMjA5MUY0MzFjQzc1MWZhMTQ5IiwiMHgxOWMwMDg3YTlDYTM0NzJjNGFlMTg3YTE1Q0MyYjczMUFmYWZiZTJBIiwiMHhlZGZhNjZCMkI1RDZBNmVCREFjNWUzNjRCOTg4OTkyNDllYjcwOTIwIiwiMHhiOWFDNTM4MDAxNEEwYURGMjI1ZDk2OUYzODkyZjZBMjg1NDM4YmMxIiwiMHhlNTU0MmRlMjJFODgxOTE5NTE3MWJhOEE0OTZGNzgwMDljNzQxMEI4IiwiMHhmMWNBOWI5YTMzRTdCMWUzRmNlNzkwZjIwYjhEMkVDQWZCMTdlQTk3IiwiMHgwQzZmRDAzNmNFZGI0MzA2MUM4NmY3MWJGMTBhOTUzNjBkNUM0Q2M0IiwiMHgzMDI2QkNFMENDQTc1NTg0OTYyRkU5MjBEOGVDRTY2Njg3MzgzODk2IiwiMHgxNTI5QjU4Y0VGQzcyOTZlNzQyMDI4QjRENDQ1NDUxQTlDOTJmNTJhIiwiMHg5OUYwRjc5ZThiNjRkNmNhNGYyOEQ1MGQxNDYzYmY3ZDZkNDgyNWU2IiwiMHhmN0M5QjVhNTdGZDdGMERGNDdkMmMwQjFhMzgyMzRjMzBGRDRBMGY3IiwiMHhEMjYzMjFlMmNEMTVlNWNlRDU0NmU0ZTQ1NGE4ODQ4QzBkNjUyYWM2IiwiMHg2M0I5RWYwOTZjMmQ0QzY3MjlCRGEyNTgwYTE3MDA0OTUwQzBmOTgyIiwiMHg1N2EwNkZjMzIzMzJBNUY4ZjEyNkIxOTY5MTRlM2U0QTZlRWNjN0YwIiwiMHhjNWRhMTAwZjU1NjY0YWExQTRENzk0NDM5NjllNDA5NzVkNDdFMDc5IiwiMHg2MmVFNEQzZjJDMUYyM2NlYzI4NWJCZUVDY0E2NjU5QzUyOWM1Mzg5IiwiMHgzMUIyRjlDZDc1MWNjYWNDZGUxOUM3ZTNhN2E4OUZhQUUyQTA2MzM4IiwiMHhkRjA5RDM2Y0NFODczMDczQjdFMzA4MTQ1NEIyODA0YThmNzhBNzE5IiwiMHhhM2ZBYkI5QTdFMDc5MjMzNkVCNUMxQzFGMmUwQ0Q4RjI0Qzg5ZDE4IiwiMHg3NmE5OGFhQkYyY0NEMGUzOEY4NWNjMTJmMzZiYzYxNUFGNmY2QWQ3IiwiMHgzNkFkMzhhNWUxQUVBNjM5NTMwMEUxNmE0Y0YyNjBlOTJkNzJEZTYzIiwiMHg1N2Q3QTQ2MWM0NjNCYjc3Mjk1OTE1QjA1MjJiNDM3MWUxOWU3RkVFIiwiMHg1MTMzYjdGZmIxMUE2NjY5Q2JjYTBENGQ5N2QzNDE5MURBMjc5MzY2IiwiMHhDNUVkMUFFRUNCYTMwNDk5ZTg5QThFYjUyMjNEQTMxMTg3MDdBMDU1IiwiMHg2OWMwNDE4NzI2ODBCRjA5REE3MkI2MmE3MEM1RTRkN0E4NDU2ZEUwIiwiMHhiYmNGYzdCZjk2Q2QzMkQzRjcwRTY3NjE3MDhmOEFCRDZkNWQwMzg0IiwiMHgxNTA2MDE2MDlCQUIwRjI4OTQzMENmOTQzNzQ1NzFCQjA3Y2U2OGEyIiwiMHg4MEM1NkVlRDY2NEM2YUEwOTdENTYzODBlNTQzOEFlYWU2MGZEMUZjIiwiMHgzMTFiRkJmMTUyMWQ4NzE2NTY0MEFhOEY3NzhGNDUzNTIwQ0FhMzVEIiwiMHgxQTdFRTBkZjE1ODFFMGY0ODhDN0ExZDgyOTVkOWUxOEFjYjlkQzA2IiwiMHg2NjhmOTA2NzU4MzQ4OGUxNDYyOGYwMUViQ0UxNkJkRjZhMTI5NWY5IiwiMHg0NUEwNjc5N2NlYTkwYkE5NWUxYmIzNjM1OUE2MUEwODcwMjBGMTk5IiwiMHg3ZWMwNzFFOTRFNEU5NzBFYzlBYTg4ODIyYzA5M2U4NUNGZTdCM0M3IiwiMHg0NGYzZDE5NjEzRkQ1OTNDNTY0YTM1ODM3Q0JDMjBjNkZFOTlkQkE3IiwiMHhjNGFlMDhCODQyMTFCYzRBQTg1Mjg5MTY4QmNDY0ZiMUYxNUJGQzY5IiwiMHgwZTczZDFGOTI3YjhhNDQyQzRiMGI1MjNERTMxMjk3NURkN0U1MmE3IiwiMHgxZDVCRDQyY0M4NkZkRUUzZDY1ODRkOTU2MWI1NzkyZjgxOThBOWIwIiwiMHhkMjU3M0U2NDM4NzI0MTE2NTc0NGU4Rjk4ODI1MzI1MDg0NDliNzBBIiwiMHgxYkIzYTJmNWY0NWIwRjU1YjlCQUE1QUU0NkRiNDhBZjZkYTQ1MzhkIiwiMHg3MDVkNTlEYTFGMUE2OEI1OTM0MzY0NDE4NDU4QTllNjAwMGVmNTZiIiwiMHg2QTdiZDAxNTk1OEM3NDY5NDIwNkIxZjk1OEQ3MTdhMTM3ODNBM2E5IiwiMHgxNTM5NGM2MmMxYzE4NjU4REM4NDlBMEZDRkJhOTQxYjE1NGRkRjA0IiwiMHhlODk5M2M1MTY3MDJEMkIxNzZlNWMxQkFCZTJlOTkyMDg3QzY0ODAwIiwiMHg0YzVkYzZFMUE1NTYwRDFFY0UxNjE1N2JmMEI5Rjg1NTcwYjA1ZTY4IiwiMHg2NDI2YTU4MjVCQWQwYUU0ODJlM2JBNDljQkViOUQ0MGFkOEMxMWYzIiwiMHg5RDBCMTkxYjVBMjVkZDUyRUNDQzYzRGIwMjAyMjZCZURjNkI0M2I0IiwiMHgwOTkzOTQ4NEFFOTlFMDI1RDBhMmEyRDRERjFjOUJhYTY0YzViZjk4IiwiMHhBQzY5QUZlRDg2OTAzN2Q4MWRCRGE0NzY3Q2E2NDBGQTg3NUFFMzM1IiwiMHgxNzQ4QTFDNERkOEFhOGVjNTczNDY1QTA1MjVkQzEzZkZjNTkzN0Q1IiwiMHhDQTBiMjAzZTcxNmZhMkM3ZTg2NEQ4N0YzMTkxOTFCODBBMDZmRkY2IiwiMHg0ZjhDNzEzYjM5NDQ4N0FEYTFmMTYzZjMwREYyNzQ3NjU2MTk4RjZFIiwiMHhEZDA3MDAwRjQyNjViNUJDZDcxMWFERDQ2NmE5MkMwYTBhZkU5MUM2IiwiMHhiQzRBYzU2YkUzMDFhOGEzYkU1NENlNTlENTVlQzhjNTBkOTgwMzQ5IiwiMHhBN0MwMzNDREQ4MjNBNmVjN2JjODE3QmVhQUY3YjAyQzBGYzhkREFDIiwiMHgwODRGNTNGNUNiNTNlMTY1QTUxNjc4NDkxNDI4MWRkMDQ0M2Q2ZTJGIiwiMHgyYjUzODYxYkI0ODk1MDE1MzdDRERGOWJGZUM4RjFjQUEyODUxQTI0IiwiMHhiQkI5YkY0NDBEMEY2ODY0ODc5MjVGRUYzQjBhMEY5QWE2Nzc1M2Y2IiwiMHg0NUMxMmY4OTVmNTc0NDE1MzM1M2E0NmZENzQyRDUzMWVlYzQzOTljIiwiMHgxNzEyNzQ0NDk0Rjg4MzAxYzNiNTI1QzNFRTEyMzc4YTViMUQ4MDY4IiwiMHhEQ2UxYTdjNGNiZTY5RjFFQ0JiNDA2YUYxQ0YxOERGMDI5NUM2QjJjIiwiMHhDNTE5NEJGOThENTZjNzk4NDU4RDY1NThEMzg3Q2E4NzcwNjQxMzNGIiwiMHhDOUEzZjBFQjNmZkU5NjlDOTNlYzMzOUFjOWM0QmM5ODEyNzRBQUNBIiwiMHgwRDEwZUZDODIzODRFYWMwOEU4Nzg4OGNCRTU4NWUyMjI1NzY2OGVBIiwiMHgyOTA2YWFEMjc3Y0RhYmQ4ZmZBRGU4ODRBZUFlRTc5NjhFNzI0NDcwIiwiMHhFNzI0MGQwREE3NUIzQUQ4OEZGMTJCMzg3NTZDNTA0MDVmRjM5ZkUzIiwiMHhjQUNCYTYxZDI0YzVmOWVGN0IyOTIyNDhCMjkyRjQ4QmMyODIzMUE1IiwiMHhkNWMyZkNFNDFhQmVENjE1ZGFhQkFiYjBBZmMyNThjOUM2ZDc3NzlEIiwiMHgwYTY1OTc1MTBDYTllMURkNWRkM2FiZUUzNDZGZUE4NjMwNTcwMjRFIiwiMHhEQzYwM2QyOTg5ZkVhNThhQzVCY2U4NTUxNENkNzFBMTMxOTYyZkEyIiwiMHg0OTZCMTg2MDM1MWM1NDA2MDgyYkYyNDU4Yjk1MmJCYjZlZjAyYWRiIiwiMHhmM0QwYWMzNzI2YWU0NTk5ODFBYzIwNjkzOTI0QzhBY2VjNDFGMjMwIiwiMHhFQTA2YTg4OTQxQzAyMTFlRTc1Rjg2NThlMzIzMTQ5RmY2Nzk4ZTY4IiwiMHhmN0RGMEEyNEFjMUMxNDVhMzg4YTJlZTc0QjkyZWFDNzQ4ZGU5REIwIiwiMHhmOTVCOWIyMzE1MWRmNGI1MjU3OTdiNzA4ZTVGNmU2MmY4RjhCM2NFIiwiMHgzYTI2MjdGNzFGRjBGOGE4MDEwMTNCZTlkQUMzMDk3NkY5ZDY5NkU5IiwiMHgxNjkwQzZlNTA0ZmFhY2M0M0RFRmNiRkYyZWY5RTE4RGFmM0FhMEI3IiwiMHg3ZjMwN0ExOUI4MTY4MEMwMmQxOEIzOTMwQkE5RGY3N2U0N2M3ODdiIiwiMHgzNjMyODhiYjZmNzM1OGVkOWM1Y0QxMjk0MTAxMTQ1MzRENzUwZkIwIiwiMHhmNzUzOGYzMWVDZTQwRDcyNmQyNDRjNDFkZTMzNUU3NzJkOTNGNjM3IiwiMHhlNWUxNkIzMWE0OUI2NjZjQmQ1ZUY1MmQ3MkZDZTI4M0NDQTZmYkQ4IiwiMHg5NjM4N2MwMzUyNzBDYTYxYTJhMjE2NDE0MkU0RGQ5YjRiMjg5ZEU0IiwiMHgxMTczN2NFNDQwMjVkMDQ2NTEzMTM3Y0REMUFCRGE4NDQxQzJmQzg4IiwiMHg3ZGY0NEEyOEE4MEIzYmExRGY3MkJjNDg4OUJhMzI0N0RmYzY0NjU1IiwiMHhlRjQ2OWE2RjRCZjIyZWEwNzE0NDk5NDhDZUY4NTI1NzRhOWNGMkRlIiwiMHhBMzMxODQwMWFCNzgwNjI5NTVGQjM4RDAwNDhmNUM2REIyZDkyQjc3IiwiMHgyYTcyNDgyNDE5QkIyYkUxMDU1MjFkMkFGODZjZDk4MTNBNDJkNDM5IiwiMHg3ODRFMGNDQjlGRDExZDAxOTc2RTIxQTU3ZTMyM2I4MzAzMWI2ZDk0IiwiMHhlNTFmMDYxMDZiOTIwNDg1ODE5Q2FEYjU2NzM4NzZCNWVCNTA0YWJEIiwiMHg0YzRiYUNFNjE2MDUzMWFiNWVBMzY3NkY3ZEJlRDRjODM2ZjNjODA4IiwiMHgwQzY0ZjQ3MTI1NzFFQ2E5N0ZjZmY1OTY5OWQ2M0RCMjQ3Q2YwMDJDIiwiMHgwYWM3Qzk3QjE2NDUwMjQzRTIyMjAzZGUzZDgzN0FBQzg1RTA1NTk0IiwiMHhmYWVGM2FkNTg4MDA2MzRCRjYxM2E4RDRjMjE5YTcwRkE0NUY0NTcxIiwiMHg4MDJBM2IyN0I4MERFRkMyQzNlQzhkRDcwMEQ2NDY5RkY1OTZGNTFEIiwiMHgzN2IxN2VjYzFhNDRjMERFMGM2RjMxRDFkMzBmQjg1NjU4NTE4OGUwIiwiMHgzRGExOWQwOWQ5RjRBNmU3MDc1ZDBEQTJmRTk2MTRCOUYzN2QxQzhGIiwiMHhjRTdiNDFiYjUxNkQyQmFhRWQ3ODZlZUIyZjNjRTg3NjRGZjgzZTQ2IiwiMHhFNEEyMTA4NzEwRjZjN0IzMUE2NTAwMjUzMkNhNzA1NGIxMERkQTEwIiwiMHg4MTYyZDhGMzk3OGNDNDRmNkZiNkE4N2EzMGI0ODQ1NTBEMDFFNjk5IiwiMHg1OEEwY2I3QTgwRUJmNmQ4OTZFMEJBNzY4MGM3QjYzMmI4NmEwZjExIiwiMHgzMjU5MGY5ZDMyMjk1OUVCQkFBQTNmYTE1ZjM0NWEwNkVDQjU4MEQxIiwiMHgyY0MzOUE3RGY3MEQ3RkEzNzkxMTJGYTM4MzNBNmZDNzU0MGQ3Mjk3IiwiMHg4MTM5MjNDNTY2QTgwMTc2NWQ3Njk2YkQ0ZERENTMwNDE0MWQzQTBEIiwiMHhlNzlmNGQ0OTQyMjJEYUNlNTcyOGFlYjkyODMzMGRlZEYzYTY1NUYyIiwiMHg2Nzk5MjI4OERFYUQ5N2JhZkYwMGE2OUQwNDQ2MTE5N2RlQUY0OTYzIiwiMHg4OTFjODgyRDUwMjNhNmYwNTE4YzY4QTA4YjIxNzBjNTExODRCN2JGIiwiMHg1YzQ2NzJFNzE0ZGRjRjBmQjY4MGQ4ODhDYkM0NjQxRTIyM0U2M0IyIiwiMHg0NjdFMDZiOUIwRDJDMjMyNTMxMUI3QkU1NDUxNTI5YjFCNGE4RDI0IiwiMHg3MzI0YkE5ZjhBMDEwQzdiNUI4M0E2ZTQ3NUY3ZEM2ODk1Mzg2NDQ4IiwiMHgxMkUzMGMxMTIyQkEwYTM1NDZCZkM3YmY0NTAyYWQ5Y2U2NjY4OWQ0IiwiMHgyM2MzMzA5QWI0Y0ZiNGQxMmU4QzRlNEEyOTlDNzBlMGIwRDY5MUUyIiwiMHhmMkI2Mjg4NTkyOTEyNmIwZkFENjdBODgzNTJiRjM1ODZCOUJGYjA0IiwiMHg2MGI3MWFCMDJhMTkyYTM4QjIxYTIzMERCQzYwNUNiNGQyQzk1QmNjIiwiMHhjRWZBMDA1Mjg3NzE2NmQxYTRhMUUzRkQ5OWY1Y0Q5OUU1OUZGOWZBIiwiMHg3QzU4NDQ2QUJBRTVlMjhlNEY4MmI0OUNlZEY0QWQwMUQ3N0U5MWE5IiwiMHg1NTBmNDM0YTExNEQ5ODYxMDQ3NEJlNTAxNDM1NzZDMTY2MDYyMzZDIiwiMHgxZjZEMTEyYzdENWNGM0VhMGVkODU3MDUxMkM0YWRmOTUxNDM4OTBFIiwiMHhBMWVlQmM4MTRmNDM4MDE1NzkwNzU0N2VGZWMzOGJhMUNiN2U2MDM1IiwiMHhCYjcxRjEwMDFCZjFlNUNkMTY3ZjJFRmM4NGQ1MzM2N0NBNTY3NDM0IiwiMHg1MUYwYmMwQmMzNjg5ZDk1QjNiZDY3Q2NjNEM3QWM2ZjdFN2IyMzdhIiwiMHg1NzZCMjhGQzlGRTU5MTkxZDZFZGFhODRhQjM1MzczNjBkNjk4NzA2IiwiMHhGQTExZDkxRjEyQmZDRDhCOTBBODQ0QzBFZEZlOTk1ZGRmRmNjZkI2IiwiMHg4NDZGM0JlOTUyMzIxOWFBMzg1MzYwOEEyNzA0M2E2OEU4MTIyZDE4IiwiMHhmNjlBZUQzOWVFRkMxN0UyODNDMmYwRkI2NzQxOGZlNUUxNmM1NjhlIiwiMHg3OGZiM2YwYjNBMjQyMTQ1NjYxNDAzODI4ODMxN2UwNThDMjc2QjUzIiwiMHg3MTBiQTZlNmE2ZTFEZjcwQ2M3N0VEOEUzZEQ4NTlkOGYzMjU1OThCIiwiMHg4NGY3NjIxZmQ2QUNlRjU4MjQ3MzIwQzRhYTY1NTgwYjkyNDExODFCIiwiMHg1ZDQ0NTVkQTFBRTg2YjkzZDMzQzcyYkJEZmJDZTZGMjcxMDg0QjNkIiwiMHgyODFENTYyQUY4RDA4ZkI1MTdCNTQ4Nzg4MjhjZUNkZDhmNDEwN2VlIiwiMHhjM0FkMWQxMTFEN2REOGFkM2M4NkY3MjhlYjgzYWI0ODRBRDZFMzYxIiwiMHhhOUFkMUE3MTUxNUE2MjJkMjcyNENhOEM4YkNDOUMyYTAwMzY5OWNkIiwiMHgzMzYyMEQwOGU5MmEyMEQwOWEyRjJBMGIyMTY3NzAwMjJlMWI3YUI0IiwiMHhBZjI2Yjg1Mzc2NEQ3NjE0NTIxNTNEQjA3Nzc4NzIxOTMwZkNFZDM0IiwiMHhFOTcwOWJhNjY0MkY3MjdDZTYzNTM1M0MwNUVkN0E0OWI4OUVjMTZGIiwiMHhEN2EyMmFkMGNDM0ZkYWUxQzNCRTg5YTUwODI1OWRjODI1Mzc0NDIxIiwiMHg2MTVmMDBENTkxYmRjODZmQTVkM0FhMzk4NmJDM0E4NUQ2MkY5MGM2IiwiMHhlODljMzQ5YkUwMTMyNzk2MWMzNTRmMTA2YUM2OGE4QkM0ODUxNzk1IiwiMHg4NjkxOUE0ZmE4MjU5Mzk2NUMwNjhiZmNiMmY5QUU3OWVBMDZhM2I2IiwiMHhEMjRkRTY2ZkY0Njk1ZEM4ZjM5MkU2QjY1YTU2NUZCRTYyOEU2Mzg4IiwiMHg3MUFiMUU5QjFGZDEwYjZCNmQ4NDUwNUVjNDkzZjlmQUMwMzdkQTgzIiwiMHhBZDRkM2ZFMjczNTRBNWU2YTc3Y2VjQTg2RTlkYmQ5OEZBQzcyMjk2IiwiMHg5ZDY0YUQ2MTEyMTA0N0E1QjRBNWViYUUyNmI2MDk2MTUyZjE0MkQ4IiwiMHgwOWVBMUFDYmMxNDQyYzRBNkZDZGYzQ2IwNTBCN2MzNDUwMTJFQjdFIiwiMHgyYjgzMUM2Yzc0NzBmODFEZDRhRjM1Y0U5ZTgwYzlCMUVmZWU0MEI0IiwiMHhjQURDYTgwYzAwM2RlMDNkQTRDRmZjMDQyODc0N0ZiMzg0MmQ2MzUzIiwiMHg2NjUwMEU2RWM5N0M2NTA0Mjg1YTA4MjcyM2FCQ2NlRDU2NmRFOGM4IiwiMHg0MGI4NTFDRGQwNkVlOENhNUY3ODg1Q0QzMDI1Q0QzZTVBRjdiRkE2IiwiMHg4QTEzNzFmOThkNDJhNkY3NzdDYmNlNTgyNDExZjlDNTA3OEY4QjE5IiwiMHhmRUQ2QTY5MDFlOEIwNGQ3QmE1N2VENGNmOUQxODc5YkRCRGVmNUY1IiwiMHgyZTcwQTZERTcyOWI3RkM5N0FkRTRjNTZCOWE1NjBlNTREOGIzMDY3IiwiMHg1NDM2NUFkMkFEQkY4YjhjNUIzODM3RDgxRDM2ODc1NEFlRDdiNkY5IiwiMHhhQTNGZTk4YUFFZTU3RkZEQTVDZmQzOEE3NDYwZjFDNERENzA4MDU0IiwiMHhEQ2EwMDc2MDE5ZTkxODVmMDkxYzc4YUNEREM3NERhMTJhMTk2MzY0IiwiMHgxQkZiMDZmMzBjNjlhRjIyNDkyYTg2NzRDMzg0NzMxQTA4OEE5N0ZCIiwiMHg2ZTRGNjdCMjcwNmM3NTVGMDAxRDM5OGUwZWUyMWQyMTdCODQxZTQwIiwiMHhFN2YyQzY5ODZERDQ3NkI0YkQ4QjFhQ0I4ZWRjQTdFNjUzRDdhQTRDIiwiMHg1ZTM2MDhmQkI4Y2EyYzJCNjkyODM3QWZGNkVhN0Q2QTdBOTdCMjk4IiwiMHhFOUUzODlFMGVCNTk5MkYwQzNiMDMwRjQxNjUxMmUwYjJCMDcyN0JEIiwiMHg0MkE0ZGE0MzYwMjdBMERBMzgwRkYyY0YxRjA0ZGRjZEVEOGZkN0E0IiwiMHg1MGE2RkNjNzY3ODhDMzM5YWQ4NTNDMDhCMThjRjg0NDFiRjI0NDg5IiwiMHhEMmNhZDEzNmFCNGU5OTk2MjcyY2Y3MmQxMEUwNTk5RjA3NjZiM2FlIiwiMHhlODc5RjgxMWY0NUU3NjUxNzcyNkUzNzI0Qzk2NkUyYTU0MEM3YzlGIiwiMHg3Y2YxZmViRWUwMENhYjViMTMwNDM2QkQxQjkxYjVjMDEzQjgzNjQxIiwiMHhjN0M4OWI3MDI4MjZiNjI1QUMwNTZEMzE5NWNmNTVBQTg4NDBENzUyIiwiMHg5NmY3NUJkM2VmNDA1NDREODEzNGRlM2FjYjVDNzJFQUQ5OUUzYzk2IiwiMHgxM2Q0N0ExMzhlYmZDRmE4ZTUwNDhlQTIyZTgwMjE2NkM2NTBEM0IxIiwiMHg0NzcyNGNhMTFlRkYxZTkzYTA2MUJEMWVCOTdBNTYwMDdjNDRGZDkyIiwiMHg1RDEwYjA0MzVmRjYwMjlCRTZlRDg0MDFhNzFDODU2N0UzRUFBMzk4IiwiMHhFMTUxNTM5M2UyMDYxM0EyQjZGNmNCNTk2OTJCYUU1ZDIwMTY0YjgxIiwiMHhmRDg1YWYyOEU3MEU2RUMyRDkxQkVGM2Q3ZjM2RTNENUNkQjE4OUFBIiwiMHhmNGZlMDM4ZDVGRUNEN2QzODM1ZkNCMDFlNUU1REIyODkyRENlYjk3IiwiMHg3ZjBDYzBiOWQ4QWExZTUzZDA5NDI5RjFmOWFCY2MzQzQ5N2U1OEY4IiwiMHhkNzE0YmIwNzU2Rjc5M0I4YmY3NDU0NGYyMkFiNmY3NEUwYzA2NzJCIiwiMHg2YWQzQjQ2QUE1Qzc4MjU3NTQ5MDRFNjBhMzcyZjJiMzUzZjQ1OGZGIiwiMHhGMTIyQkE2NEQyMDk2MEU5MEVCYzA0NDhENDIwNkQxMTI1RmI5MjY3IiwiMHg5MDA4QTBkYzJGMjhEOGMwQkMzRjFBMkJBMTlEM2I5MjRmMjJENjczIiwiMHhDQTRlMzdjYzM3MGE2QzI1ZDQ3ZkQ0ZDg5QTVmNjZjZmM3NDkyYjNDIiwiMHgyNzA4OTAzNGYzMUEzNzE2M0NiMUYyMjI1NTQ0QzQwMTc2ODBBMTY1IiwiMHgwMjYxZkIzOEIyOEZEYTk1OTJhNTA1QUI4ZGZjQTljQjU4REQ2Qzg2IiwiMHg3QjdlNDc3NjdGODI4MzdjRDMwZTMzMDJmNjE3NjBhZkU2MjBlMTg4IiwiMHg4MzlGNWYzYzcwOTBhQjVFZjZmODBlNzg5ZDQ3RmJBMjgxQTFkZjI1IiwiMHhkRGViRjYwRjdmODYzMjRCMzVDRjg5ODY1NzkzYTU0Mjc3MmU2RTUwIiwiMHg3MDJCYzVmMDczODVGZkRhZDY2MkFGNjAzODYzNjQwY0ZlMWVBYzM5IiwiMHg5ZTVmMDBhREViMzlCNmIzOUQ3NEIyOUI4MjA1QTBGYTUwQTcyOTYzIiwiMHgyNmU4NTZlYWIxYTU5RDk2NzJFYzQ3MTU4OTk0REYzMDRBOTdmMWE0IiwiMHg2QzNDYjJlMTAzMUVmYTIyQzY3YjFGMUVCMTkxZjVGQ0UwMzMzZmJjIiwiMHg5RWM5MDVkMTc0RjE5MjBDMjVlQWUxM2QwOTAwRjQ1M2M3NTBGZWNGIiwiMHgzMzM5MDM3ZWZkMzJFMDJCRjY2N2QwNzViMjY3ODU3NzgyYzQ1ODlBIiwiMHhFOTg5NjVmZmNkN2U5NkYwN2I1N0IzNDU3MjZiQzg4ODVlMEE0YjlhIiwiMHhhZTJlMEVDMEQ4ZTY0NTFFRTIzN0M5NzA1Nzc5Mzc1QzgyMTZhNDE0IiwiMHhBZTc0MTQ2OTFEMWIxMDREYzk1NjFBNjMzRjQ5YTFmNEU3MzY4QTk1IiwiMHg1YmU5OUM1MjhBODUwOTIwZmFCRTU2NDY0NzBiNzZiMDYxN0FBMGZmIiwiMHhCNGU0ZTQyNUY0ZDM1REIxRDcwNTdjOGJGYTI2ZWU3MkYwNENGODIyIiwiMHgzNTEyNzQ3NmU1MDg3NTA3N0Y5ZDYxRDVGYjMzNzIyQmY1MTUzRjE5IiwiMHgyNEUzQjVmNGFkNEUyODkzMTFmNGJiYkU2QzEwMWExZmQwYkUwQzQ5IiwiMHg1MDJhRUQ5NTc1RjY2NmFBM2M3RTliYTNDN0FDNDBFMGQ1QWQ1MEFmIiwiMHgxMzBDOTdmOTBjN2MyNEY4MTg2OWNBMDY3NDBkNzZlOGIzRGEwZDMzIiwiMHg5QzM2QTc3MjA3YjA2QTY0MDBkMzc3ZURhYzllYWQ4ZGM4MjI5RkIwIiwiMHhmQUM4ODQ3NzkzQjY4ZjI0QzdEMkU1RGZGNGFlM0YwNGQ0M0RhQTVlIiwiMHhjMUU0ZmQyNDI1NmQ4NkE5OURGMzA0OWJiOTM0QTAzOWQzZUUyZDBmIiwiMHgxRTllZDJhNmFFNThGNDlCM2Y4NDdlQjlGMzAxODQ5YzRhMjBCN2UzIiwiMHgzMThiNjE1YTkzMTRkRmIzQjg5NzY5MDlGZDYyOWM4NTQ1NDE1RDcwIiwiMHg1YUFDOTc5Mzg3MjU3NENFODFENTkyYTZGMGE1OGMzM0I5ODJFNkM4IiwiMHhCNDkwZDdFNDllNTk5Q0E5ZDE5RDg3QTE2M0VFMTY2Mzk5QkE0YjRkIiwiMHg5NEQwNmVjRDhFY2NkMUMyYzgwNDUzNEViRTNEODJjODMyRUE5ZjU4IiwiMHgzNEUwQzZCMzMxMDM3YTkyNzMzM2Q0MDZmMmE0QzVDYWZCOTcwMzBEIiwiMHg1QTVFOURDYzRhZWY3RjJiRjcyNmI0ZThFM0MzODhiN2ZCRjJlYTM0IiwiMHg0YTkwMEJhNDdDNDBDODhFMkI0QkJGZjUwODNBNzU4Qjc1ZURkOTdjIiwiMHhGM2RDRWREODlCNWFmM2RlMmNFRDMzNzQyQ2Y0M0FiN0U3MjI2MWYwIiwiMHgwNDc1OTA3ZjdBRmNGNkU2YjlBQTYwQ2JiYjQyNTQ4ZTYzRjgyQTkyIiwiMHgzYWZiMUEzOUVDQjczOTU4OTNEMjE5NUYzMTA5Y2NFZjIxNjE3YzNmIiwiMHhCRGY2NzJDRGY4ZEQ3MEQ1NTI3NjQzZDdhN0QzYkZGQzE0ZjkyYTIzIiwiMHhiZEZCOTczYTI5NGE4NzI1ZkM4QmU1OEE4NTRGZGYwRjg3RDJBRDM3IiwiMHg5NTJmNDAwNjZFODgzODAyMTgxMDUxYkM2ZUFGMGREZDJlNUI5MzIxIiwiMHhjOURDMzQwODdiOTNGOGIyZDg0NDAyQzIzQ0FhMTJkMkMxQmU1NjA5IiwiMHg1MzEzOENCNTQxNmNhMzg2RjkxRjk1YTY5MDU5QmM2YTNhQzEzN2I5IiwiMHhCNTVFYkFmYTUzNDVDNDY1MTY4MGZhZGQ0MGQ0RGMwRkQ0NkY5M2M0IiwiMHg1NDA4RDkxOEQ4YzBGRDQ1MmQwMzYwMjI4MzM5ZTM2NjM5RDk5RDUyIiwiMHhGNTdGODExMTk3RDgxQTQ1NTA0QzExMTIwOTBmODFjNjU2NTU3RDRjIiwiMHg5MkYxMjlGMzE0MzFiNkQ3MmQ1OUM0NDFjNDM3Yzc4NDhlZDg2NTIxIiwiMHg4ZTdBNTBBMkNmNjhGODY2NTE0RkYzMzAxMWM3OTMzYUJhOUU0N0U5IiwiMHg4RDZDNTFDMDFhMTFjYTFiQjRlN0NFODcwODc3NWU2OGRjMDlmMEFFIiwiMHgyRmRGYjRkNDk4RjNlZmJmZWJBODMyMEM0QWI3OUFEQ2Q4NTViZTZkIiwiMHgxNjM0YjgzQjJkOTZFMDk2NUQzNzRBRTkyMDYzMTg5Q2JBYzcyRmJiIiwiMHhDZDA2N2M1ODZEYmMwOUVGQzEyN0I5MDcyMjc4RDVDMjExMDc4NzFBIiwiMHhkQTcxOUQwNjc5NDhlNTg1NUViMzYyYjQ5NUY1QTgyNjQ4YTE1MjA3IiwiMHgyODFiZGJlM2I3NERBNzQwZWNFNzAyYjFiZThBMTliMzVGMmFhZkMzIiwiMHhjNjZhQ0M3RWIwRTFlYTk0OTU2OEJhMDE4NjYzMkUyMjYxZTcxOGMxIiwiMHgzRGIxOTVmZDNkODVjNWFDOTU3M2NGNEMyYjA4QjNjOUFEYzFlOUZmIiwiMHgzNDc1NEY4QjlFNTU5MDM4NENBQURCMjdDMDcwMjI4NDRFOTRmNjg1IiwiMHg3ZTk3MTJlNjI3OEQ4ODY5NUJkNzY3ZjQ5MWQzQWMzNGRDZDkwNDk3IiwiMHhDNEI1RjQzNGYzNzIyOTBiNzViNjk4NTAwODZhZTU1NzgyRWQyODQ4IiwiMHg3NkJBQWY1OTY4NUIzRkI1RjRGZkVlNUU4NjM0MTAzMDcxMjZFOEEwIiwiMHgzNkYyNjlBOUEyNDVlMzM2QTk3MWE3QmNiZEVkM2UwQjA3MzQ4OGU4IiwiMHgzQzc0RDUwOEYxQWIwYjZGMDg1NjQzRkExNjQ5MEI2ZjU1Njg3NjQzIiwiMHgzQTg3Mzk2OGM1ZTYxNGJiNUIwMzM4OEFmMTI4ZERmM0IzNDk1NmM2IiwiMHg3QjhFZTk0NjU3RDRjNWEwNzE2NWU0N2VEMDU1ZjhmMDcwMjBFMTU4IiwiMHhmMUUxNDczNDMyNUYxM0NFY2IzQWQxOWNCMTAxOGYzZDA3YkU0NzU1IiwiMHg2OUI1ODI4NzA1ZUQxQjQ1MUFiMzMzQ0U2NzBFNDExNjExZDk3MGFEIiwiMHhlMDc2MTNGRkEwMDExODZlNzhFNGUxRDM2ZDQyMTU3N2JkMTQ2OWVFIiwiMHgxYjU5NDk2Mzg5OTk5NkVGNWZCZmJhNjExQkJGMUJjZjI4MkFFN2MxIiwiMHhmMmFCMUI5RjcxMTk3NjdhNWE2NjgzNzI2ZGExNDQwNjNEYjFCMDA0IiwiMHhmNzYxMUMyZTc1QUQ0NUM5MjdFNjg1RDlEODdjODU3NzYyRDVGOWY2IiwiMHgzZDU3MzE4MzBDRkE1MzBGQzYzNDgzY2JEYTEwODUyMUVDNjFFMDRlIiwiMHhDYWY0MjlFMTQxZjRiNTg0OTREYmVkYzE3MmEwN2ZkNTVmMDA3N2FhIiwiMHhmNkFiMTgzZDdlOEI2QjlkZGNjOEIyZWM0NzAzOGU2NTlmQzY4M0IwIiwiMHhDNUZCOTVFQ2M3ZDE0MzQ0ZEFBNTU1RjA1MkFjNTliNEVjMDMzQzE4IiwiMHhDMDYxRmUyOTMzZDY0MDM3NDBDNzkxZTlBQzYxM0ZiQTA4NEREMkZGIiwiMHgxRTA4RTk2OGZCZGQwZGI0NjkzQWFFYjU1RTI1ODdCZDlBYTUwMTUyIiwiMHg5ZDE0NjUzMEJEOTUxNWM3OTIzNzVDZDgzNjYyNTI0OTVlQ0RlMWM4IiwiMHgwNTlhQjc1N0E4RTczN2JhRGVhOWQ0ZDY5RkMxNzFkNjdjRUU2YjQ0IiwiMHhmMkMzQzdiMEVBQWNGMUE2ODU5MGVDNGRDOWVDMTQ4OGEzMTcxNzk4IiwiMHg2YjIyNzQxZEY4YUI2ZEU3MDQxNjY3NUM4ZUU2YWY4OTZmZDk4MEViIiwiMHg5NjM1QzZBOWZkNjMwOTIyZjhBNzIxRDVEMmQ5QjYxMjJjMjg1OTYxIiwiMHgwM0Y3RERlMjRiZDY4RTAzZTUyMzQxN0EzQTAyYTJiRTY1NmEwRjczIiwiMHg4MzkwMDg3ZTM4YjNFOThlMTdCODQ3OTdlNEU0MzFCMDRGYkE2M0U0IiwiMHhEMTNCOEE3QkVENDVDZDRiNzIwQTA5OTg2YjJhODAwMDRkNTQyRUU5IiwiMHg0NjA2NTU2RDJiMDY3Mzc2RTQ5NkY4MDFBYzc2NmIxYTMxNzQ2RWI3IiwiMHg0NDNjMUJmRjY4MkRiZDhFMDg0NUM0Q2I3RmMwZmRmYWM2N2Q5RjlEIiwiMHg2MDc2OTEzMTBBMDFhMmYxYzIxNGY5NDRjMzEwNGMxQmRENTg4ZmM4IiwiMHgxOUE4ODhFZDY1OUU0QTI3OEY2YkUxMkU1NWE0OUI0ZkE5RjMwQjVBIiwiMHg5YzYzNDlEOTQwMzU2MWVGYTU2ZDBkOGM2YjRBMTNFRDBGN2RDODg3IiwiMHg0QzBmYTJBODhiNjlCMGZENDE4NzY5ZkJGMUMzMTA5NTM2OGY0MjJlIiwiMHgzZDdCQjc1ZDdiNTk4NDFBNmNiOGYzRUM3RDYwNjdhNTVDMTc4N2RGIiwiMHg0RjE4RkExMDA5OWVlNDE2Q2M5QTEyMjc0ZDhiMjY3MjczQTk1YzZjIiwiMHg4M0JkMDk2YWJkYUQxMDExZTRjM0NCQjE0ZGUxQTQ5NmNkQUFmOTkxIiwiMHg0MTIxODJBNkY3Y2ZhMDA5MDAxODJDNzhDYjM0Yjc3MDk1NDMyMUNBIiwiMHhBNDAzOTVGMzU5MEVmQ0NlYjVmRWExNTM0Yzk1MUUwMkZFMGFhMzdmIiwiMHgzRGIzZWIzNkVEMkQyNzBiNTA0NUM5QWRDZDcxOTMyOWM5YkFFRDMwIiwiMHgzMDQ1Zjg2MWRFNWE3NUU2NzlDNmY1MWJlM0JDOEJCRDg0YTM1RDYxIiwiMHg4OTI3RmY2NGY3OEM0MDgwNTEyOUFhQzZGY2RGMkU4ZjlDRjk5MTBhIiwiMHgyQjUzZUY1QmQ4N2U5ODJFNjk2OTMyMjk4ODI0MTIzOTQzMGRhNTUxIiwiMHhiZDE0Y2Y4N2YyQmVmMEFkNzA0RWU5NjJhMjIwZDQ0OTI2OTVFQjRCIiwiMHhhZDRFZDRDMmVlYjVjNmUwRDY1MTMyRjg2N0NhMzEzZjY4OGRBNDc1IiwiMHhBNjAxMDIwQUUyYTJmZjRlRTQyMDJhRWNCMDQwYjIzOGYxNUQ1MjRlIiwiMHg2MThBMjY4QWI2ODU2NWIzQzdGNDM0Yzg1ZDRDMWRjMkZDNTA5OTQwIiwiMHgxNzMyRTRmNmUwOEI3QjI3OGJhNTJjMzJiODA3NDVGNTRjODk1NjMyIiwiMHhkNmM0NEEzNzNiMzA1OEE4NDI2ODJCOEJFMzQyNDY2MGY2QTM2NWM2IiwiMHg2QzJFMTNmOTczOTlDODQ3MjUyZTdEZDQ1OTdiNEUzNTQ1YTVjZUY0IiwiMHhjNzJjNzA1MTQ1ZWE2NDU2QzRFNjEwMDQwNmY5ZDcxYTZEYzgzYWQ5IiwiMHgzMmVFODI4MDU5ODhCNjJjNzRmODdjQUU4OEY0REVFOTkxZWQwYjI0IiwiMHhFYzIwMTdhYkIyMkY4NzQ5QTY1OEJhZDAzRDVCMDk5NGUxNkRCMjRlIiwiMHg1OGVENTNBRUU5Y0RmMWYzNTJiNTE3MDU3YjQ0MWI3NDI1YzU1NzA3IiwiMHg3MTEwOEU1NmExYmMwM2Y1MDQzYzBDMDlENDVCMTk3NEI1ZTc3OUY3IiwiMHg4MDA3NEFGNmY2RDk0NkIzMTBFOTVjRTQxNGY5MzlkM0VkMDFGMWFhIiwiMHg1YzRkODE4OUIyQjM3NGYzNWU2NjgxODVmZTc0MGFGQjFFRmVBMWU0IiwiMHgyYTc4ZGVBY2FmOTA1QzkyNzQ0ZGI0RjI4NmZlNjA1YkNhMjE1N0M0IiwiMHg2ZkYxMTNjM0M1NEE1QzFDNWEwOGNEMTExMzA0ZTQ1QUY5QTVkOTczIiwiMHhGRTdBMEI2Zjg5QzY1OTE2YTNCQ0NmZUQ4NTk4NWE1NzY2NkE2YTlEIiwiMHhlRDI4NjZmNjhhNTU0NTVEZUE4RkYxQTg3YmE4NzI0OTlEN0Y1ZjhhIiwiMHhDMjRjMmRDNURENzU2MkNlMDUwZDkyODMwRDZkRDE4QkFDYmM2YmU2IiwiMHg2MmRENzQzMDdEQ0IxZThGNWMwYjk3ODNjYjJhQTk2MGYwQWM2ZWJlIiwiMHhBNDQwYzc5NzM5ZUE5NjZEZDNGQTA2MTlFYzhEYjY2MUEwNWM5NzdCIiwiMHg2NUEzYzM0ZjE2M0VlODI5ZTc4N2VmMGNEN2QzZTE2OTg2RTI4MDNkIiwiMHg0OEIyOTQ0RkJmOTcyNjE3ZTc1YUJjRjk4YmNjQmE4NDMzZEJkYmVBIiwiMHhCNzYxNDQ1MDExODVENGNmYUEwQjAyZjFhNjdkNzE3MDE3QTRBYjNFIiwiMHhFMjExMzg3OTNFMTFBZTA2ZTE4MmI5MkRCOTRjOTc2RkU1YTJFNDQ2IiwiMHhhRTE0ODMxNDY3QzhEMGUzMTUzYUJBMmVhMDA5YkNEYzQ4NTEyNWEyIiwiMHhlNmIzQjE2MDU3ZDk3NDU4NzFCNDRENmMxMmZDQzg2YUM2MGU5ODczIiwiMHhCMmNiZDdkZURBMmMzMzJGRjY3MjBBQzg5MERiRWU4NjJDODQyNTQyIiwiMHhmNEJjMjc5OUNGNDA2NDFDOUU5REYwMzUwQjdiN2Y4M2YwMDQ0NDI4IiwiMHgzYmUzYWViNkZGMDVhRTIyMDY4MEU3MWNkOGZEMTc0M0ZiMEYyMjgxIiwiMHhGRDI1QTM5NENkNDllQ2U1MzVGZWZBMzY1Njg5NzkxMUMxRDdFZUM2IiwiMHg3N0JkZjNBMjAyNzYzMUNhN2FEN2Q0NTcwMzMwYjNhRjYxRDY5YkExIiwiMHg3MDY1RmUyMDUwQzgzMzQwMWU0NzJENkQ1MjE5ZTg2ZEFBNGM0N2RGIiwiMHgyMDAyQzRlMjA5YWU1MjQxREY4ZGIxOTcxNDFBQTFmZjkxRDNkYjY2IiwiMHhlRjBCMWZEMjBiRGREOWM2OUEyOTU3RGM0NjQxYzFjNkRGNkY3YUUyIiwiMHg0Y2FhN0ZGZTNiMDRCM0ZjQTQ2QjdGMTY0NTQ2OGE1Mzg2QmVDMGI0IiwiMHhERTZlQzNFMjU0NDUwNEM3QzZDNGE1YjYxYjVmZWM3NzYzQzM2YTk2IiwiMHg5ZTcwRUFBRjI5OGNBYzk4Zjg0QjJBNkY1M2EwRDE5MEIwODU1QjU0IiwiMHg5OEYyZUU2RTU4Nzc4ZjEzQTk3NUZFMUQ2QzNBOEM3NzM3NzljQzczIiwiMHgwNzFBNzhlQTU3NDM1MzU1Rjg2MDZDNEUxYzZBRjYwM2Q4NTIzMjIwIiwiMHgzNTcxRTdmNTE2RURiMUQyODNENzRkMkJCNTY1MjVDOWZmMDU5RDYzIiwiMHgwNkY5ODM5ZjA1MDM5NTIwM0U1ZjJmMzQ0OEIxM2JhQ2NBYjgwNzkzIiwiMHg5REFEQzNFRTJiNkY5ZUVGNEQ4MWQyRTE5ZTE1OWEwNDY5MEYxODgyIiwiMHgzZThBOTE4OGY1ZjE4NWU3NTQzMkI0RjE0MTU1RGRDZTg0ZkQ1YkQ0IiwiMHgzQ2Y5MDU1MzBCMUE4NTZmNDY4Qzc2ODk5YTMxOTcyNDU3NzI0MzE1IiwiMHhhRDQ3N2ZDNGUwQWI4QjY2YzJBY0ZiYzkzNjNlMTBGOEREQzVCNTMzIiwiMHg4YkUwMWY3NWZhMjE5RDZGOTFBQzExNzg4MmFhQTk3RUI1YTExNzFjIiwiMHgxMzEwYjU1QjBkMDZjRTEyMkRGOWIzOUFBYzY2N2Q2M2FmNDEzNTcyIiwiMHhlODU4MjM2Qzk0M0Y3RDVlY2M3OGYzNDFEN2M5ZjAyQzIzRjA0MzlmIiwiMHg3YTdmZjgxRDA3NkQyODg2YURhMkU2MDU3NjFCYTlhODA0MjI1M2FBIiwiMHgzNTFEREM1ODMyMDgzZTcxQzc2ZjI1OGU3QzQzQUI0MDM0MkU1NDViIiwiMHhBMDZEQ2NmNUZCZTRERjA2YjhDRjA5OTE0MUM0RTM3Y0FDMmRlZDhiIiwiMHg1MTNENmJjM2U2MjdhODQ2QUIzMURiNjc1MGJhNjYwYzI4MERlNjE2IiwiMHgyOTJCNEIwRWQ3ODA0MDBFQzYyQzBCYmJkZDc3M0Y5Njk0NDE1MDgyIiwiMHhDOTQ1QjMxMEJmOTY0NWQwRTY3MDgwMmExMEM4ODcxN2NDZTIzYkNmIiwiMHg1NzU0NUQ3RTMyZUMxNDVjNGM3MjQ4NEQ0NDEzNjc4MjVEOTljNzM4IiwiMHhhNzAzNDQxMjM1QzJBMjczYzM0MDJkNGRiRjE3QTcxNzBDMjM1MDE4IiwiMHgwRDNEMTkzYjM5MTRmMTk4MDc1ODRENTY4N0Q1OTQzRDM1ZDMyMmExIiwiMHg4NDQzRDhmQzc1RmU0OTc4MzBCMDg5Zjg4NTgyOTM5N2MwZjYxNjQ2IiwiMHhDQ2REOTUyYWFhYmZEMzI0M0Y5MjZkN0JDYUU4NjE4N0M5REM4RjcyIiwiMHg4ZmRGQzA3YzdGZjZBN2ZhQ2M0YzczMmFGNEE0NmRjNUEyNjZmMDgyIiwiMHg4QzRhNmY4MkU4NGIwYjNjYjk0OTI4QzFFMWYwMmMzMmY4QzcxMjc1IiwiMHhDRDRkOGUxRjI3MTg5NDcxNEVlQmRCMTRkNDIxNzYyNTA5Q0JiQmVBIiwiMHgzQmJjNTY1RDY4MjVENzA3Q0I5Rjg5MDdGNzkzMjJEZEI2N2U5MWY5IiwiMHg2MDYxQTM2YWQ2Qjc5NThGNjgxMjlCQjMxM2U2ZUZmODFDZDkxMTNjIiwiMHhiNTEzRTI1NDBlNzM4MWZEM0YwYTJDNzg0OGIxOGEyOTY0NjM2RjcxIiwiMHg3NzBmMkIzRDNkMzJlODJmMjFFNTZGMTdiYTFkNzdkOGM0NGI1YzJFIiwiMHgxY0E4MzI1MTE1ZmE4YjdjNkNiQzI2MTg3MzExOTFkODIyQ0IzNjgzIiwiMHg0RTFCOTFBMzNhRDY2NkQ2ZkVENzU4Q2Q3QjI3MzZCODVCYjc4NjlmIiwiMHg2QjZjQTJFNTMyYUQ1ZkM4MkViNDgxNEJjMDlBNEYwMEQ5NjNFNTdmIiwiMHhGMWYwZTQwNDVCMzk1NmU5ODgzOUU5MzczQTVDOTUyQTYxYkQ5ZEVhIiwiMHhGODg3Y2Y3NGNmYmFhYkFEQjUwQURmMmExOTZjNmU4MTVDQjlmRGIxIiwiMHhDQmQ0NzIwZjFCNjk0ODdlNjg4MDU5Qzc5REE1MDZjMTE5ZjYwNDYxIiwiMHg2MEY3NTk2M2JlNDAwZmRCNUJBMjM2NTQ4NGRDQTUwZUUzMjYwNjI3IiwiMHg1NzY3MEM5ZEYzZEI3OTlDOEEwZjM5MDg4MTUxNTVmZjlEQTQxNTE2IiwiMHg0Q2U0NjdGNDMzMTJEMDEzQjM2OWE4NDEwN2Y0NGYwNkI0M0U5OTUzIiwiMHhCYkFkMTEyNzE5QTc1MzVFQTdhOUI2ZDY2OTg5RWJFYzdFQjFFRWZlIiwiMHg4OTA2M2E2QWYyOTEzMDA1RTMwOTlGMEJjMDUwNEUwMjYxNjM4NUZlIiwiMHhjNjExZDU5NGY3MTU1NjQ2NDk1MUFERkM2RjUwMWMzRTYwNjM1NzI0IiwiMHgwQTlmNmJFZjYzMUIzQjZjOEU5MTk4QmE3RDZGMEM2Q0Y5MzRDZDc2IiwiMHhjYjk0MGQ4YkExYWQ0Y0MxRDdFM2VENTc3QTkwMDVBMTU4QzZBMjAyIiwiMHg0NDFmMTc2RGNmNDVkYkM2QWY3RmRDNzZDYzFiMDdDQzRhN2Q3QTM0IiwiMHhmN2RlMjIyM2I2YzRkYjJGODYxMTYxQjdCRjhiOTFCRDUxODVjNWY4IiwiMHgzRDNiODdlYkE4Mjk4YzlFMzJkQjI5NzZERjAyODg0QjIwNjg0YTBhIiwiMHhDYjFCMEQ0NEJiNWQ5NTMwOWViNTg5NjAxN0IyMkQyYzJBZDc5NjQ2IiwiMHhCYzE0NDYyZjYzYjY5Y0I4ODc3ZkMxNDQ1Q0NGRUEwNjdlOTE3YzRDIiwiMHg1NzMxZjdjZGIyMUUxNUM1MGZGQTE2MjdjQzExMThGNzkwMGNiMzkwIiwiMHg4Q0ZEYUZBMGVGMTNkODFCNzRhMzZlM2JDNUZCNGRDMEUwZTY5M2JDIiwiMHg2ZGUwOGZBQUU2Y2M4Nzk0N0NEYmRmNjU3YjI4ZWE1MzVGOTdlOTcwIiwiMHgzODkxRTlEOTdBN2U3QjY3YzdGNDRmQTNjOTk5Q2YyZTc5N0Q1YkYzIiwiMHhBOTE0MDZFNzdDMTVGYzVlMzY4NzFjNDYwNGFjYzIyNTZGNTJjYTgzIiwiMHgyOTQ4OTk0NjU3NmE4OEYwM0E0NmU5YjI0OGI2Nzc1NDZiYTRCYjgwIiwiMHg4MTdCMDBBODYyNTMwOTRjM0QzYjYwM0MzYzZmQjMxZTc4NzM5NDQyIiwiMHgyZUQ3OGFCMkM5MzA1MjkzMWE5OTU5NjBFOERjNDAwNWVlMWJmODI0IiwiMHg3ZkM0QjFjZjc5MGVENzJiNTMxNGRlQUU1RTZENDYwZGRCQTljMjlmIiwiMHg3MWIzRTQxZGNFQjRCOGUwMTE5MGI2RWVmOEMzNzM4Qjk0NTE5QTgwIiwiMHhlNzYxNjczQUY1YTBCNTk3QmU4NDcwYjVjNzgxNzY2ODk3NUE3MTYxIiwiMHg5NjA3N0YxZGUwZkZFN2IwOUREZURBN2FlYTc2MUNjNjlCNjFENTBCIiwiMHg1ZEUxNkIxN2JlYzNCMGUyM2U2NTgyOTA0OTc3YTg5QTgzQTJEQkYzIiwiMHg1NTQxQkUyMjQ2MEVGRTI5QzFGNjNGNzQ0YWIyNDM2NDE1YTk0Yjk0IiwiMHhiMkFCMGI3NDgwMmI2MzdCODk0NzljRjMwNjllODdBYjdjQUZmM2NiIiwiMHhkRDRlM2FiYjY1MGFGRmE2OWZiNmI5QzJlNUZGYTY0NTczNTRmMzkyIiwiMHhmOTE3QzQ2MUE5MzI4YjlBOGY0RDA4M0M1N2NBRDhCOUNhMjY0MDk2IiwiMHg2YTc1MmRmRjFCZDY2ZWFDQ0NEMjRDMEU1MzI0ZDc3MTFhRTFiRDE5IiwiMHhmMjgzOEE1MTk2NmEwRTVFZWMzMDYyNTU1QjhjODEwZDZCRDYzQTIwIiwiMHhiRWU5NDlhY2QyN0NiMjQ4OGZjYzMyMzkzQ2JGOWU1NzM1QzE0MGQ3IiwiMHg0ZmU3MzdGYTc0RkFjMDIxN0ZjMjQ0ZkNhNzRjM0ExNzA0ZWFCNjY3IiwiMHgxYjFmN2RFMDc3NmNkMWRiMkVENTdDQjE0QTgzMTcxMjU1Y0I2MTA0IiwiMHg3OEJlYzEyNzc3OThFMjYzNDc2NzM5NkZFYWUxQjQ5RTUzNEZlYjhjIiwiMHhBMjdCQjZBNDA3YjhDQWQ4ODZjN2I5QjhGQmNBMDk3RTEwMjk2NDhGIiwiMHg1MjMyM2MwOTEzNTI1Q2NDRThhNDJBNkNjMjg0OWRmRTZmMWYxQzdCIiwiMHg3YjkyQzhjRTljRDI4ODExYzEyNzdjYjRjN0ExY2JFZjM3NTk0RjNjIiwiMHg1RTEzODk0OTQyRWU2MUE0MUZFMjg3OWU3OEE0RGQ5YzFCNDZEM2RkIiwiMHgyODE3NGE5ZTFBYWMxN0U2MEU2NTFhZDNlZGE2MzVGMDg3MTkxNzgxIiwiMHgwZGFjMTU2RUNhRDEzRDA1QmY3MjdDMmEzMUVBYzI3MEQyMzVDMDAwIiwiMHg4MUIzMEI4YzFkMzVBODBkOTZmNzk0RTYxODY0RTQ0MDJjMzEzMjI4IiwiMHg3ODIxNUI0RjJjY2YzNWM2NjNEZTcwY2EwOEU5NTY2NDY1QUJEMkUwIiwiMHgwYjkxYmIwNzAyNTg2NDQ0NjRlODJjODVFY2U3REJkMTlEQjY2MjdDIiwiMHhDQ0YwMTEwRmFkRTVCNTU4ODBGZDVjNDM0OENjOTQ4ZEEyZTcwZGVEIiwiMHg1M0I2MTg1MDcyZUZjMjMyRjREODE3NjFEYjE3YzVEOWQ5QjI4NTdjIiwiMHg0MTNEMWVCOTFkYWRGNDQ3NTlmODExNkMwMWJlMDI3YTIwZEZjRjU4IiwiMHg4NkI5ZDkzRDFCMUUyNjNiRWQ1NzNlMTc5NDM5MzliOTQyOEE3YzYzIiwiMHg4MDA1M2JFNmJCOTBCZDQ5NTA2MDc5MDIyNjE0N0Q0MWI0NkVBYjAwIiwiMHg1MkFiNTUyRDVCRWU4NjZFRjQ3MDFjZEVjMTc4N0M0MjJmNTQwYzI5IiwiMHgyZkY1OUJBRjk3OGMwMUU5RWM4QzIyYmE3MWQ1MzVDMjcwNTVENEUyIiwiMHgyOWRDMzgyODk4NTZCYzhCMjgzQ2Y2ZjQxOTIwODc1YTZBQjMyNDhjIiwiMHgzRTRCNWQ3QjQzNkQxRDA0NUZCRTM2MWM4MDg1ZjlkZjlBYjFhNDM5IiwiMHg4Y2M3NTI5MWI1MUYzRGE1NzgxREExYzQ2NmQ0QzUzYkJjYzQ2ZEZEIiwiMHg1N2M0MWFjMzdDQ2Y1ZjdFMmUyMDRkMGZBNWIyZUIyNEIzQTFCNDUzIiwiMHg3MjVjN0E0Qjk2MTc4MGEyMmNiMDVBRjMyYjgzOGU3NTFCNEYwNzQwIiwiMHhCNjAzRTJBMmZiNTFCMDJmNTBiMDdiNDA5MjkyOTlhZGFjYzFGNEY3IiwiMHg1M2M0N2Y0MGNGNTdkZTZBMUQzRDM1Mjg2QkUwRjNGMmMzMWQ3YThEIiwiMHhiMGJhODhBQ0RkNDU4NDM1ODgzNzJkRDA1NmM2Mzk1RGZBZGZmOTk0IiwiMHhiZmUzNTlGZWVBMDBmZmRFRTI0MDIxM0U5YjkxNzk1OTg1NmY0NmNmIiwiMHgyOGExOUY2Zjg0NDlmMUQ2YTBBNTY3NkUyNjNmMEZFZTRGM2NBYTc4IiwiMHg1ZDVjQmJDNjY2NjY1NkY0QmY1ZjAxMGFhM0FDMzFDMjAzRjY4QTA0IiwiMHhEQ0FDZDY0RGM0NjhERkI5MWZDZDc5ZjQ2ODQ1MjMwMUNlOTg5OTVFIiwiMHgxYkM4ZDdDNzllMTQ0ODgyQWU0MjU3OUEyOEE4QTM2RTI0RTE2NGE5IiwiMHg1MzkwNGI2NTQzYjQ5Qzc4ZDc3MzUyQjVGQzI0NzNlMkQyRUQxZDllIiwiMHhDODUxMDczQjc2NTFCZkYxMDE1RTQ0RjVERTUwMmYxM0IwNDFGZjkyIiwiMHg0ZGU2MzI0NjdhMDBGM2IzMkY3MjM5MWE0ODI5NUQzRjBCNDBjOEI4IiwiMHhEODIxMjI1NzMwMUQ2MTIzNjg5NzREQjc3M0JCNURlRmQ2ZDY3ODQ4IiwiMHg2YmI4MzFGOTU2NkE1OUZjODY5MTNjYzc3NjdjODBhZURjOWZjZTNjIiwiMHg3NzVGQTE2ZTBBMjNGNmYzNjkyOUIwMEQ1Qzk0MkY5M0RhNWZFN0NDIiwiMHhBODIxRTcwZjBGMzg1NUM1OGU5NjhDMjVmYkJiZTg1NTJCODE0QzQ2IiwiMHhiOEM3NkJmNEZGRjg0ZTI5NDgyNDc5N0Q0NWVGMzU4RGZhMmRkRjVmIiwiMHhBQzZFMzBGRjJlRjNkYzY2NTVBRjVlOTUzYUM5NTEyMDk4REM4Y0VjIiwiMHhDQTc1MjU3Y2ZlMzBjYkM3MjlFYkUwNTE0MGQ2ZDBiNUE2ODQ0QjdBIiwiMHhEMUNkYzQxQTA1NTYwMTU0MUU5MTE2NzUxMUQ2RTQ0YjdEZWU5ZkNFIiwiMHgwODEyOTNhYTRCMEExOTliNkY4YTJiRjY1NkQ5ODBGNzRGZDBhZUYxIiwiMHgyNzBmZmYzYjk5ZDVhMjBENmU3MTc4NjU5Y0Q0ZGMzZENlZDY3OTliIiwiMHgxQWUwZmNGODUyRDc1NzlDZkIzMmY0ZEE0MEY0M2JFMTMzNDg3MDNCIiwiMHg5MzBiM0RhM2EyZjQ1OEJhZTdFOUNkNDAxMTdDQjNEZTZBNDZGQzMyIiwiMHhhNUE3MDUzRDYxRWMwRTJCNTdjOTJjNjQ5RTk0NDJiN2ZCZjJhY0RDIiwiMHg2N0IxZEEzMTNGNmIzNURBODA3N0UxRDkzRDA1MEQ1QzE1MzdjZDI4IiwiMHgyNDlDMzQ3MzMxMENEZjQ0RmRkMjUwNGY0MjBGMDhENmJCRUM4YUE3IiwiMHhlM0ZmNkZmODM1RjFBRkEwNWZDODU5OUI1OGQwNDI5ZEI2NTVGNjE1IiwiMHg3NkQwQjUwYUI1Y2MxZDYyODc0MjdBOTE2NEIyOWYwRjAzZEM1NTA4IiwiMHg3ZjRCQ2ZBY0NGMTEwMzUzNERkQWQ3MGYyZURCNDIzMTRkNkNBMTNEIiwiMHgzM2I3QzhGMjQ5ZTkxMmU3QjM5ZmU2NGM5OTBCNjkzQTNmZUI0ZjVBIiwiMHhFNTY4NTkxOWMwNWE3ZDYwMzA2RTkwNzlGNmEzODQ1NzFhMkIwRWI2IiwiMHhhRjlGQ0VmYmZkZDcxZUI1NmIzQmUxNTM4YzViMzIyRTIwRjMwNTVCIiwiMHg2MzQ5OUNBQWNmZDM2NEM1MTYwNzUyNDVBMjk1MEU4MzBBOTEwQjkwIiwiMHg2NjBBMmEzNmY3NTcyMjhhRTk3YWZEQUVhMjY5ZGUwY2U4MUVjNzVGIiwiMHgzMzljZjY2M0VjOTk3NzNiYkE0NjVkNEE3NDg0QzM3N2U5NDFhRUQyIiwiMHhCYkY5MzNDMUFmMGU5Nzk4NjE1MDk5QTM3YTE3Y2FGQzZEYTg3NzMyIiwiMHgzM0Y5Mjk1MzI3ZTIxNjA1YkMxMjM3YzFGMTA3ZTMzQjREQTFhRDg1IiwiMHg5NDNGN2UxN0M1MEMyNzRGM0UwNjU1NWIyN0VCNjkyYjc4NDcwMTY5IiwiMHhlZGRjZTZlZTI5Rjk5Q0JmMDEyMDlGYWFFRkEwYzc1NmNlMmRjNjNCIiwiMHg4YTNBZDgyRkVjMTNmMTREZkMzMjA1Rjg4ODZiN0U2NWQxNzc1N0RkIiwiMHhGZTliRjk4N2QxRDg5NmNGNzc5MjdDQjMzM0ZCZjY4YWE3OUZmQmY2IiwiMHhFZGFEYWRCYkJkODk0MzUzNGREODg1MUI2NjIwMjFFOTY1MUNBOGM1IiwiMHhmMTJmMUU5ZTQ2NzBBQUM4MTQ3YkE2NTU0RDQzRjAzMkQxOUQyY2Y0IiwiMHg4RjEzYTE1RTA1NDlkYjUxQkVBNjk1OWE3Nzc2Q0MyZjQ2OGY5QkIwIiwiMHg4NUE5Mzc3QzljQzk1RUEwQ2ZkMjc0Y2Q1NDFiRkFiZDlDRjgzYmVEIiwiMHhlM0Q0NkNBOGNEOGExNjM4NzVGODU5MjNFRTA0MjllRTc2MTEyQkU1IiwiMHhiM2NERTNjMDkzMzRGNkI0M2NDQkI1NjcxZjM5RjYxMjU1OTg0OGEyIiwiMHg2QzREODg3ZThFRjNENTFGMjA2YzJhNTQzMDBEZjQxRjkxN2JiNEE5IiwiMHhlMGRlQjk3NDg3YmRkZjRDMjhBQjFhYTE2OTE3OURCMGRhNjI1YjI5IiwiMHg0YzcyNkNCNjVBRjJmQzlkNjAwRDRkNjkzNGYzMzE3YzY4YkQ1M2IyIiwiMHgxNzc2YTJDZENjMTM1ZEQwQ2VDNzhjRGIwMmFkMDg5Y2MyRjY3NjU1IiwiMHhEOUVGOTBBM2ViOUMxQzFCNTIwOTBDRGFhMEE4RTA4MTk3YzA4Zjk4IiwiMHgwRDJBMmVGQTE0NjA3ODIzNDRDMjA0YTY0ODA3QmVkNTNFNUJDMUFFIiwiMHhhNmIyNDk2MjE4MDVmYTY0NDE0OEJjMTJmODNiQzhjMGE4YjI4NGU3IiwiMHhlZjdlNThDMzQwNUFGMkMzOTNmNzI2MTBjMTk4MWQ2NEFhNTVFNWQzIiwiMHhGZUE2RUY3RTBENkU1QzQ3NTg0ODk4OTNlMmE4MTExMzczNTdBQWMxIiwiMHhFZkFFNDEyMjE4MUZBZDQ1YUY2RUE5MTY4NGM1NjdiRDVjOEY2ODBDIiwiMHgwMTM0NDBGMTgyMDI1RDgxQzhjQjQ1QmMyMzEzQjZjN0Y3ZTNlRDM5IiwiMHg4MDAyNjc0Y2ZkMGZhNWE3YzcyRDRiNjlBNTU2NTExMTA2N2M2NGU1IiwiMHg0NTJjQTBBNjAwMDQyMDRGNjBkNmJiRDg0NjYyY0ZmRWFCQWFGMkE3IiwiMHg3NDAzNDI3NGJhYzM5MjQwMDQ4MDFEMDBlMzM1ZmMzZGE4QzQ4RkY1IiwiMHgxZjFmZjFkMEEwZTI2MDMzQ0UzNjJiRkMxMmM4MjAxMkI5RTQzMTlCIiwiMHg5MzdkQjM4NkJmNTY5RWUyOUY4N0IwRTFkNzA4ZjQyMzA4YTQ3NmIwIiwiMHg4MjRmYzhBQmVlOUVlQ0E3N2I3ODQ5OEUxODZFNjk4MTMyMjE5NDgzIiwiMHgyNUVhOTNiNzQzMmZFZDkwNzU4ODI4NjkxODk3OTAxYTMwQjRDN0Q5IiwiMHhBMzU4QTAxNDU0ZWNBMjRCNDM2MzQ5NjY4MjU2ODYyRDNBMzYzYjhiIiwiMHhBMjRmQkI0QmY0RGRiYkUwNjM2MzYwNUIzODUyZjJENjY3OTA0REQ5IiwiMHgzNDRDMzBlQ2ZhMkQ5ZkFkMkM4ZEEzMUIzQTQ5QjQ5MzI4QWZkRkZjIiwiMHhlNzdhZDcxYUM1RjRhYTYwQjI0ODc5MWFDYzE1MTc3NzBFZjc5QjkxIiwiMHg0Qzk2Y0U4ZTUxOTFkMzk1MTkxNjkwYzI2ZjQzNjhGMjI3MjMwNWUxIiwiMHhEZjBEODMzYjAzQjJhNzc1NThCMGU5RjhEZTA1MjFkMWJiZkVDODQzIiwiMHhERTNCOTk1OTc0ZTdlODAxMjMwQjZjQzA0N2QwODVDZkZlZDI0MzIyIiwiMHg3MGVjMmZBNkVjY2Y0MDEwZWFmNTcyZDFDMWE3YkNiQzcyREVDOTgzIiwiMHhjNGQ5MTAyZTM2YzUwNjNiOTgwMTBBMDNDMUY3QzhiRDQ0YzMyQTAwIiwiMHg3QzU4RDlkRjljNDIxYUM2NTNFNzVGYmNEZDc5MDAxNDdiMEJhZjAxIiwiMHhkMTlhYzU2YThhMGIxMTAzQzJkMDA0NWFjRmVkQUFGNjdDZmRGNUNFIiwiMHhFNEUwODk1QjNGODNkMWMxNzNmOWU3Zjc5ZmFDNGUzOTNFRTc5YWFjIiwiMHg0NDc4N0EyQzMwZGEyRTIwNDU1YzcxZEI1MjJCNWI4OEExMEEyZDEwIiwiMHg5MDFEZjI5QTQ5MDIxODdmOWQwQjI1NUQ5NDI2ZTMzNTA4NDMxNzNCIiwiMHg4OTMwMTEyOGU0Y0E2ZWRjMjM2NzBkMjIxM2U5NTc3Q2FBNzE1Njk2IiwiMHg5Mjk3MUU0RjZmYjYxOThiN0EwYzA3QmU1QTBhRGU4Yjk0NkFjYUZiIiwiMHhFMTZCNWM0ODQwMzBCNmZCODc3MDUxN0FBZTBmM2VFRmUwNzY5QzA3IiwiMHhhNjZGNGVENmU5RTdkYjNCNWU1YUQ3NDhkMTYxNTAyQTQ1OTM0MEYwIiwiMHg1YjEzN2U5RUQ0OWUwZDFlYzBlRTBjZTgyMkU5OGZlMDA2NzdkMjRlIiwiMHgxNjNGZDA4Y2NBMDBEZDJFNjVFMzFkZDQ1MzI5MDI5RTA4YjA2YTFGIiwiMHhlZWVGNWQ5ZmYwYzE0N2Y0ZjM4QjVBNDdkRUZFYTNGODhiZURkNTNkIiwiMHhhRDA3MzFlRTIzOWREMDlDMEJCZTBCMjdiMUU0ZWVEYTQ3MDM4M0Q3IiwiMHhiREFhY2UxM2Y2ODgyMUJGNjJENGI1ODc2NmIwQjFjZTVhNGUzOTM3IiwiMHg1Nzc4NzJjQWI5NzcyMUIxMDJmRTczODMyNjYwZDkyOEJjYTViOUU1IiwiMHgxMjBBMDIxOUNhOTc0RGE1MUM2Q2QzRjI0QUU0NjhlZmZGOGY5QzYwIiwiMHhjNjM3ZjE4NkI2NTVGODJCNGNBMjIwNjA5OTg4ZWFEOGRERWViMjYxIiwiMHg5Nzc2RkI0MmYzZjk1NTY3MjA1RTBBOTZkZDc1MkFGN0FEZGY0NkZmIiwiMHg5OEEwZTY4RmZCMzZiRDJlRkViNzRjMTBBOTlDMkFGMDMyMTUxMUVhIiwiMHhEMTRiNTk1OEU2MGIzNzYyRWU3ZEY4YzUyOUE3ZEM3M2ZmNjJiM0E3IiwiMHgwNTM1OWY1ZUIwNEVCNTc4NTBEQ0QzMTYzMDY0MDE0NjZCMTcyNjBiIiwiMHgzQTBlNTEyQjlDNEM4NjkwRWE2YTI1RERGYUY0YmY3Mzk5MjIwZWJGIiwiMHgyNTVhNDI4YUIyZDRCMTM3NmU3MDMxNDA0NjQyNmY1NGQ4MGJjN0IyIiwiMHhCNjVkMTNFMjMyMUMzRTk3Zjk5NjFlYUZiMTg5ODM2ZURBNzIzRUZmIiwiMHg1NWMxOUQxYTkxMzc4NzVBMWUwRDIxODIzMWNEYWQ3RDU2MDkwQjkzIiwiMHhGRWUxMTQzNDI1MzdBMTA0MjI3OTAxMzEwQ2YzN0NjQTIwNzU4Yjc2IiwiMHgyREJFNkY4MTRhOTRCYzQxOTkxODljNTM2YzVmMjExOTY4QzE4MmEyIiwiMHgwQTc4RjhlZUQzRDg1NTljOEU5YTBGMTRhZDg4MGVBRmQ3MkU1NDQ1IiwiMHgxRDNjMDk0MzQ3ZmY0YTk5QzQxYjYyZWJEZTk2MEI5MzMxNkU1NDVmIiwiMHgxMzMxMTdkQ2ZFMTE3MjZjM2Y0N2IzQjdlM2I0MDAyRDhEMTM4RmM3IiwiMHg0NDFGOUUyQzg5QTM0M2NlZmIzOTBhODk1NGIzYjU2MkY4RjkxZWNhIiwiMHg3MzgyNjBCYUE4RGQ4NTZCZTgzMmQxMWFlMTAxNkM1ZDg1RjY1OTc2IiwiMHg5ODFhMjkzNzZlQjU3QTEwMUJBZDExMmE4ZTBjNTg0NTI1Zjc3RkYzIiwiMHg1MjZENjQ3ZTI4NzBDYTlkRUYyNjc4NzgzMmNEZjExYjgyMjBBYzgzIiwiMHhCOUUzYjgxMjg2ZDBGMGM4MDEzMUQ5ZTBlNjg2NjEyZjNlZERBREJFIiwiMHg4NTM5NmY1YWRmMkRGYzkwMzlhMzQ1MThlYkJDQWQ3MzAzMWJjNzBBIiwiMHg3ZUY0YTVmNmNjNGQ3YjVCY0Y0NTU0ODRDNEJlNjQ0ZDM1NzRFNUEyIiwiMHhkMEMzNjgzRTA4MGU0Q2U2MUI1RjlmQjUxMWZmOTA5NzU2RjIxOGRkIiwiMHgxNUNBYWQ5MzUyNjQzYTMyNTFBOUExOTA5RDYxMThjRjhENjJlRThCIiwiMHgzOTEzMTk0MDIzMjFGMDRFZjI4NDlhMWQ2RDZGRDM5MzJiZUVjZWQ4IiwiMHg5NjdhRjUyREFjMzI2MGNCMDRBQjA0NGUyODU3NEI2OUI1MWMyY0YxIiwiMHg0RUE2QTkzNjE5OEZhMDVDYjM0ZjRDYWY3MTkwNzMzZDMyMTFlZDBhIiwiMHg3M2U4RTk2NzFmNzc2NGE3N0RkZTZkMTFmNTc5Y0E1Qjk0ZDA1NmMzIiwiMHg2ZEFhNDczYTExNzMxZDQ4NGJGNTA1YjBkQjRlNTc2Zjc3ZDU3ZWY4IiwiMHg0ZTU0YjI5NTgyZEU0OWE3NjgxNTJGOTE3OTQyNjFDNTgxQjA1RTA1IiwiMHg0NkFFMkVCNmUxMmYyMWQwRkQ3NGI3YjFiNmZiNTk1RkFDNTMzZERlIiwiMHg0NEMwRjAyMjg5RGE1MDk3MTk3M2JlZkVEYzIxNjE4MDJkOUE0NkEwIiwiMHhDRmNBMzY3MEEwZjE1OUI3M2M0MmQ2NWFGQkJlOEVFN2RkMkI3NzgxIiwiMHhENTA5OTE5Yjc5Q2JiREU4Y0Q3RTZFMkY4QUFDOTVhNDU3OTAzMTQ5IiwiMHhBQjVFMDFkNkE3YjNDQzU1RERBYmVjMDJmYjk1MWQ2QjBiRmVGYjU0IiwiMHg4OEIxNEYxQ0Y0MDFmOTdmOTEwQjU3QTQxYTBiZjViZTNCRDg3OGI4IiwiMHhBZDdBQjg2ZkUwNTE5Y2M0NEM5MzZBYjJkN0ExNTRCNTQ5MDMzRDZlIiwiMHg3RUY4NURFNjBlRkZiMWFFMWYyYjUwQzg4NTkyODA0NzMyYmQ4OURjIiwiMHhlMTZEMzg1MzIyRDIyNjljNEM1MmI3QTQxRjJGNUNkY2M3RjQ2MUE3IiwiMHg5Nzg1MDMyNEQwNkJmNjNkMGE1N0FjMEQxMWIxZDkxMDUyNEJFRTBkIiwiMHhGYUUxQ0IyMzJBODQyOTBiRmQyYmM0YzRFNDE0MzkyMDhkYzIzNUQ1IiwiMHg1MmU5QzYxYjQ4OTlhOTEwQWY4ZkJDZjY5MGFmNGYxYWRDY2FmNWViIiwiMHhiNGM2YThEMTRERmNEM2U1OWZBMzNDNUM4MzY4NzBhRTVkRTY4RTc0IiwiMHhmOTM3OGM4MTcwOTlDMzFkNGMwNjhBRWViNzVjM2IxMmJlQjYyQUFEIiwiMHhBZjQ4QjQ0NTEwNjM1YTgzMmQxOWMyMDU4N2FGQWRkODZCQTQxNzk0IiwiMHg3OTRhMzI2YUZFYTZlMWY0NjE4NUJhMDc1MjU5OTBlZjRkNjU3MTlDIiwiMHg5NjllYzMwMzlFMTc3OUM1ZTNlZEQ4YjdFODVlQzExNjc4RTNGMDRhIiwiMHhFMTkxNTcyYUU1NzRFOTc5MTkwRGQ5ODgyQTMzYmFBZEE5MTc2OUU0IiwiMHhBREUzMkYyMmNiYTg0MkIxRTA0Q2UyMDE2MGFFMzY4QzJhOWU5NUQ0IiwiMHhEMjcyMGU4MTJFQUJFNEQ2M0RlMjlFNzcyQTliRjlhODc3RTgyMDY1IiwiMHg1OEY5MTcxNjkxZTY0QTg4ZTNFNTEwMjdiNDIyMDkwNTk4QTZmM0NhIiwiMHhDNTdjNUM5NUUzMkY3Nzc3RTk1RWY5NmM0ODAyNWYwZDU5MGEyMjcxIiwiMHgxMDQwODhGYjkxMEYwMDRjODEzM0U5MjUzNTllYjg0MDU5MDIyNjI2IiwiMHgxQjFkMzFiMkM1YTZiNkRBMWY3OEFEMDIxRTQxNzBmOTQ0QjhiNUUzIiwiMHg0Y2VDMjljNmRkNkExM0ZjZDIxNTVCRmE1OTdBZENjNURjQjc0RjBBIiwiMHg5OTIxREEwMTM0NmQ0N2E3QjdCRTE4MTE5NDgzN0ExOGU5NzhmNEMzIiwiMHgxMDI2YUQ4QzFmOTU4NjJjMEI2ZDBiY2VlNGNDMDEwMDJmNjgzYThiIiwiMHhjMUNiQzMwNmM4NTNGNmE5QmJkMjM1N0Y4N0M1RmJBMmQ2RDUwNDZGIiwiMHhhNTI2ZTFkMjFENjU2OTYxYzk0OTQ3Q2Y2NDQ1ZDg3REEwOEFlOTBEIiwiMHhmMjlkMjc0MTg1RDE5M0RlODk1YzBlMDRiMDc4RkQ4N0Q1RjlERWRCIiwiMHg3RmVhNEEzMjQzMzhFRDI5OWIxNUVlMDI5NjcyODdCODQ4OGU5ZjJhIiwiMHgyODVlOGQ2NWM4NkM1QjQ2MUJBOTlDQUUzMDYxZjY0ODJkZDVERWE3IiwiMHg3OTRjOTI0MjViNTc3MjdmMkQwMjk0OTYxMzYzNjgxNTQ5QjkxOTMxIiwiMHhFQzBmOWNjNDUwMmE5RDZGQzZhNWMxYmFDMGYyYTg1M2YzMThjM2QxIiwiMHhFYTYxMjUyNzk0NDVGNDYzOUVBMjFDRDE2QTRCMGQxNzY2NTM5MWI0IiwiMHgwNDU2QTQ5Qzg2MTEwNjg2MmEwODQ2NkVhYjE3REYyOEVhNTU5ZmE2IiwiMHgwODViODkyNDBmOTRENTgyZEI5MWM5RjM2NUY2ZkZBZkM5M0YyMDZFIiwiMHg0NDlEQjRlQzcwNERkMzY2NDUwMkQxNzY4M0E1NjZjYzRDMjdiOUQ4IiwiMHg4ZTMxYjVkN0Q5RWMxMDk5MjlEZDM5MjMxMjExRTRiNDYwZDUxNTUyIiwiMHg3RTU0MkRGQjVjOTI4OEI0MDdBY2MwOWNhMTY1MEMxOTUxMDBGNGQ0IiwiMHhlOTYxRUJmZTNjQjQ1NDU3MjVFREUwNzQ2OTRkMzA0RUNhQzUxMDMzIiwiMHg0ZmFDNTc4ODI3RUJlQjQwRUQ1QjhFQWIwNjQ1MDRDODU4Q0M4MDJlIiwiMHhmNDUwRjM0YzdDMzY4OEQyMEIwMzY5MDhjMkEyYmQwRjBDMzQxNTEwIiwiMHhEYmIxMzlEYjVhMTAyM2M5MzYwMzc4ZmVDZDE3MDM4N0JhYjYzMGUxIiwiMHhlQjYzZTQyNDY4NzQxYTRDQkJEMEJCRjFkYTM1MzJhMkY1NDJGODI2IiwiMHgzZTI2ODk5M0FEMjFDNTc1NmJmQTVDRTQwOGI4OTYxMTYwRDVBMkQ1IiwiMHg1RTYzMzc0NEEzODNmMDc5MDc0MTJmNEQ5REQyYWFkRmJGOEY1MzBlIiwiMHg5MkRDMzA3NEY0Rjg5MzA1Y0JkNDJCMjU4QzdEMmFjRmEzMzYwRkZBIiwiMHgxRTBGODgyOWE3OTk5MEM3YmFjQkJBODg0YTg5QTFDQWE5MmM1NzIxIiwiMHhlNTBmNkVkNUQ5Mzk5QzZCOEJERjNCRTZBMTk5YTA3MDU3Yzg0MTE0IiwiMHg1REYzN2M4MERDNzAxZTk1NzY0Nzg4MjdGY2RBODcwMzQzMzk2N0Y4IiwiMHg3ODZjNjIyOTRBMmFCNmM3Yzg0RjExQzdBOEFlYWQ2OWJjMEY5MTA0IiwiMHg1ZTA2ZjRmMmNBM2I3ODNhN2QxNDFkNTJCMzkxZDk5MWIzQmFhQzNiIiwiMHg5NkMzNDcwZWY5MEY4MDREZGMzMjgyZjhlMjJjMjkwOTRmNEYxOWY5IiwiMHg5ZTg0NjJGQzYxYTVmM2I1ZkZBNkVEQjAzYTRDM0U0NTkwRWM2YkYyIiwiMHhCMDBmNzMxN0FhYkNFOTRjRjIxQWNBMDdjNjc4NjM3QWJkN2Y4RmZiIiwiMHhhREQ0Qzg0NDIxMmJCNTZjMzFkNDU5QUZCRTVkMDU5YzI0ZDg2YzAzIiwiMHg3OGY5OTU2NUI5NDEyODNCRDMyZkM1OTVFQzVmRjIzOTY0MTA5OTNkIiwiMHg2OTg4NGRBMjRGMzE5NjBGNjk0QThmYTFmMzBhQThFMDQxNkZCRDA0IiwiMHgzRTg3MUVlRDM4NzZBRDI5MTI4MUJCMDk2QTAxQzJkNjg5QkJiYzY2IiwiMHg0Mzk1MkYyYTE4NzExYTk1OTZiYTgzQ0ZjMzIyZDlCRGIwODIzNDhDIiwiMHg2N0JkNWMwZUU2OTNEMjIxNDNDNzNCMDY2MEQ5RDVBNTg1YkE1NTI0IiwiMHg4MTI4NTAwMzc5ZDFCMDhkMkY3NzA0MTk4N2IyQTZiYzk3NDA1ZEE5IiwiMHgwMTZCYjdkNDlGMjVDRDJjMDI5QzU0MDMxMjM1MWY3OWM1MjRkNjUyIiwiMHhhNDRhOWU1QTI1NjJjNGRhQUJlMkUwQzBDMWNBNGM2OTE2MDY2ODFlIiwiMHg2ZmMzMGFkRWRENzlmRkI0Y0JCMkZEYmVmMUY3NzliQkYzYWE4ZDM2IiwiMHg1YTc5OTZBY2QwNEZCMDJhMzRiNEFhNTEyYjhEODY5OTYxMmQ0YWFmIiwiMHgwRTg1ZkIxYmU2OThFNzc3RjIxODUzNTBiNEE1MkU1ZUU4REY1MUE2IiwiMHhmOEQ4QzYwRTkwN2YwNEFhZTExRkVBNzgxYjVkRmUxMDA3NzU2MzE5IiwiMHgwN0VENDYxNWExNDUxMEZjMTM3NTJEMzFENDk3MjlkQmUwOTRBZTIxIiwiMHgxZTBCNEY3NmU4Yzc3QWNjNDZiNDM1NzcyMDQzODQxZDUzMkEwYUQyIiwiMHgxNjEwMjljZDgzN2JkOGQ4ZTIzMWQwRGQzNjFGZDBDZTMwOWNGQzBjIiwiMHhDM0ZhOTlDNEUxOUY0Q0FkOTVGMzhlRDM5RmY5ZUEyNzMyQjgxZjE2IiwiMHg4ZjM4NjljMTc3MDkwZWFDRTc3MDM5NmY5NDk1NDI0NzgwYzczNTM3IiwiMHhkRmQ1ZmZCMURiZjczYzNCNGIwOTAwODZjY2RkMzA2Q0QzZDkwRDk2IiwiMHhmMkE0QkQwNTAwOTMyQkMxMTI5Mjg1RTQ4RDdBRDJkMjdhRjk3ZTYwIiwiMHhiMzMwNjJFYzk4Nzk1QzJkYTYzNjY3OTBBZWUwZkE1NzVjRTc4NzlmIiwiMHgyMGY2NjgzMDZFMDc5QkNBMjRFNjVFOWRDNTM0RTkyNzRDNTYyNzM0IiwiMHhBZmM5RGZlZkYxY0E0MEFCMTY4QjAxNjlERUZENjRiMTREREZDQjM4IiwiMHgxM2VmRjczZjk0MjQwNTJiNDBkNjc3ZDUxMjM3MDFGMDQ0ZUI2YUQ1IiwiMHg2MThiN0YxNDc5NzhGMzNmNUE2OEVhQjRkMTVDMTBCQmQyNDBmMTEzIiwiMHg0NWYwM0ZFMUZFNDlDNkY1YTVlZDY4RTZlYzA4OTU4N0I4MkQyMTFlIiwiMHhkNTg1MjU2QTU0NzJBM2ZCMzZBNjQ4NTE5Y0U4YTRlMDYxMDgyZjcyIiwiMHg4MzY0RWJBOTAxOEY1QmUxMERkMTk4RWE2Y0RDZkRGMDMwNkM4MzdiIiwiMHg4RjM3OUUwOTkwMzYxZDEwZTdiYkNkRTIzYzkyYjYyYTJEMGYzZjIzIiwiMHhiMjMxMTRiNjIzQjMwZDcwNjA5OGFFMzlFMzEzZGYxNUU3Y2ZjQkJjIiwiMHhBMmI1RjUwMmI4NjM1NzY0NGYxMEViMjdkZTE1ODkwM0VDODU1OWZDIiwiMHhCNzVCNDk5QURhRmIzQ2I5RDgzN2RGOTM1NUJBZjkyNzExODY0Rjc2IiwiMHhkQmFmRkVlN0YyMDhiMmMwMTkwNTkzMTk3MGE1RGJjNjMzMGY1MDJlIiwiMHgyMDYwQWZiNjFFOWJkNzI4ZmY5MjdjNWQ3ODAyZTg4NzEzOEM5ZTAwIiwiMHhFNzkzQTA3MmFBODgwYTM3YjZFMDRiNzZBMDQzODNjMDFENkNmNEZjIiwiMHg4MjJjYzZCQjQzNUNFODlkOEU1ZEIyNTAwYzUyZDAwQzk4RmM0OThCIiwiMHgxRThBNDc2OTJCRkU4ZTQ1OTUxZkVGNEVhNzMyNjA4MDI3NEMyOTRjIiwiMHhDMjE0RDA1OTAxOTgyQmE3MDMyNzUzODIxNkIwQTUzMDU5RURkMmIwIiwiMHhDRjVkNzMyMjg4OTA2ODhkMUY2ODM1NWJGYWYwMENGNDI5NEYyZTg3IiwiMHhDMzAxRkY4RjllNTNCNjA4MzdhZjkwN2VGQTJBODk1Mjk4NmY2MENlIiwiMHg5NDAzMjFCNzU5NDdGNDRCY2ZDOGE2MkM0Q0JhQmMyMjEwMTA4M0NlIiwiMHg5NDkyY0YwZUI5MDMxMmUyY2MwZEVDQzA3MTJiOTg3ZTQ0QWVCYkIxIiwiMHhBZDA2MTYzNDIzMzgyYzg3NkM4MzY3Mjg0QzgzMTZmNmNiMEMzMWRjIiwiMHgyZTM3Y2Q3QjBlMDk0ODE2ODFFQTUzQjg3YjA5YURlRkQ2ZmJGYzhDIiwiMHgxMkU0MDE5OUM4M2M3ZjJFYTBENDM1MTliZDBjMzI1RjQ1NmREMEE4IiwiMHhDN0IwOTRjRTQwMmMxYkUyMjM3M2FBZjRmNjIwNmNFREQzODBCOEUyIiwiMHg2MDdkMTIxOTQzYUQxMzY0NjI3QUEzMWRBMTFEZTNGMzNmMjhDQzlCIiwiMHhiOWJhNzM0ZUQxMjFhM0M1RDZGMzJmNTA2ODg1QzlCMmQ0YTdiZGZkIiwiMHgxNWM4NjRlNTRCNjhiZUZhNWJmM2IxOWU2OWU5YTJEZTBBOEI1YWFEIiwiMHhhRmQ4YTFEMGI5YTYzNGZhYzE4RDBGODEyQTY3ODJlMGJCMjk4YWIxIiwiMHgzRjQ2RDY2NEJCODQ0ZTk3YTkwNzk4MTAzMzQ3RjVBNGM0ZjdhMEM5IiwiMHgyMjE1ZmUzNDBBMTU3MGNGMTQxQ2Y3RDI1N0VDODdGMTNjM2IzQ2JDIiwiMHhBZWUyRWVEOENkMjI5OGM1MzIzNjUyMmZFRTA2Y2VFQ2RlZWRjYWQ1IiwiMHgxYTNjZUVEQjQyMTgwMjg5NDRjMEQ0ODhlMTUzOTIxRmM4YjBhQWM1IiwiMHhGQTAzRUMxQzlGN0Q1NWIwOWRDNkY4NDg4MjAwOTk3OTQ1NTc0QTY5IiwiMHhEYmVEOEQzQzRlMWE2NDkyNmJhYThGODNhM2UzNzViNzA1NDFCQWRmIiwiMHhBMjA1NDFFMmZhNmFERjExMDk3YmYxRjVjODQ5OUZhZGEwQ0I3MDdkIiwiMHg1Q2U3MTFiYzQwQ0UxMzA5NDMwMDQwZWZhNzI2ZTdhODlCRDI4RTM2IiwiMHg4ZTc5NGU4ZmJhYjc1ODhFMjdkZTExNzE4MjEyZjc1QzZGNjAzNjk1IiwiMHhlM2U5NDRkOUMwQTFiN2UyODYzOTU0QTMxMzJjRDhiYjFENThGMTA2IiwiMHg4QTQzNjQzOWRlZTM4NDY2YTlGQ0VmNzNCMkIzMDdjMmYzOGExRTRCIiwiMHgxMDBCZmZjMTc1YkNiNjJEN0QxRjBDRGY4YkI3ZjQ4OUFBYTY5M2QwIiwiMHg5YThGNjNjMDJlMGE5ODI4YjIxQTExMDNFYUQ0MTRmM0U4RkIzRTI1IiwiMHhGN0U0OGVEODhmQzE0NUNFMGUwOEY2ZTAzMDVDMTQzNzNGMjU3YjM3IiwiMHg3ZGZlYUUwQTdiQTQ5MDlhMDA3MmYyOUNFZjUxMDY5Qjg0M0Y3OEZCIiwiMHg4NjA5MEJGZDhENDg0OEIwNTA0QjYxNjVFNTU2YTIxMzBmMDE3NjU3IiwiMHg3QTFhMDU4YzYyM2FFMzBhQjZBNDM5NzcwMkNhYTI1NjgzNzE1NUU5IiwiMHhEOGZFNWM1NWU2MkJFMmZEQjBFZTRjYjJkYmNFYjdERDY2N0JkQzYwIiwiMHhDQTM0M2U1NTk4RUExNmUzODdBNDBCOWIzNTUyOEZhMDlCNDQ1NzYwIiwiMHhkOTBGMENBYTUzYjY4OEUwOThhMmVlZTFFRjhkOTM5NjY4MTBGQTczIiwiMHhBMjA0YjYwODRlOTgxNzZmMzM5NUY0OTA1MDhFQWZFZEQyZDYxOTg3IiwiMHgzZTA0MDA4RTNkMWQxQjYwQmFjNGJlNTJGNmE5NkUxQTUyRTYyQjY0IiwiMHg2NTE5MmIzNzkwNTQzMTdkMTgzODM0Qzk1MzZEQzRFQkY2ZkRkN0VDIiwiMHg4REIzMjc2NDI5OWJFZUY4OTM3MzYzMmQ0MTUzRUUyZTMyMmQ2QTE5IiwiMHg3RDg1NDU1NDFDNGZiODM4YWVjMTUyMDBmNTk4MmUzMzM4Mzk5NzhmIiwiMHg1MzY4Q2VkMDM5QTBGZTlCMTIwOTY3QzFCNDcxM0VCNjg3MzRjYjJFIiwiMHg0Y0Y3ZWZCMjVEN2U3NkQ1MWY3NjQ4NTBhNDIyZjQ0NjE2RkI4OEI3IiwiMHgwNTI1RTQxRDEyREZiZDQ2RDJkRTkzQkJCNjg0NjNDNGFmNTdkYkNDIiwiMHg2OThFNTM2YzExNjE0ZDFmYzRFNmQzMjI2MjI0MjE5N0NlQkI5OTE5IiwiMHg3RDMzODAyZkM2YTU1NzBEZkE5M2Q3OTAxNWVFQTg4OWFlZDMxYzYyIiwiMHg2YjgxRmM3MzVhMmZBMkUxMDNlMTA4OUFBNUViODk5ODdFNmI3ODgzIiwiMHgzNDc4OTY3NEZhZWVmRkFiNDZhNmE2NTczQUEwZTBkMjE2Y0NhYzg1IiwiMHgyNzE0M0YyM2JjYzViOURmNzkzNUYyMEU2MWE2YWQ5QzJlYWRBN2E4IiwiMHgwZTE4MDJERDczNEU5RTc3MjVFNGMzYkZhYzY4OUQ5NTM0MDM4NzYxIiwiMHhEZDZmNjEyMTExNDVBMGFlMDk0MTBFRjVFOTNGODFCMjgwZTk0NThCIiwiMHgwM0YwRTVGMkIyYTkyOWI4ZDM3QTFGNjcyNTFEMmNDQTM4Njk2N2YxIiwiMHgzNzc1OTgxNWI5YTVjMzY3MTI0Q2EzRjJmOUZmMkVkMjUwYTEyMTZGIiwiMHg4MUQzNTYzNzIzRUJCOTEzOTQ0ZUE2NDRiNTM1YmIzNGY3QTQzOWE4IiwiMHhlRTk5MTA1MkYwMkJjY2ZCMzc1OEI4MGI1QTE3RDYyOWNhODE4MDhBIiwiMHhhODM4MThCZmQxNjNjMENlMzNFZTMxNDdhMzY4OGEyMDU0OTlEQ0M4IiwiMHgwNjA5MzlkNDE3OTZhNWQ5MENDNURCMTAzMjVmOWE2QTU0OGFBOThmIiwiMHg2ZTFhMzNCOUU3Rjg3Q2U3NzI4YWQ4MEY1NjZjMGNCQkI4NTY0MTQyIiwiMHg2NTZENzY2NjhiYTAxZTdBMjQ5QmJhYmZDNmFjNTlFRkQyNjFBOWY2IiwiMHhjODQyRGJmM0EyNzI4QUM1MDNDNjdmM2Y4OTdBOUJGQ0MwN0YzNmQ1IiwiMHg3MDI2YjUwRmZGRjdiYjhjNzZlMjJiYTU1RTZjMDZCMzBjOTZGZDQ3IiwiMHgyZGVCNTcxZDNFYTU4NGE3RmY2MDlmMDQ0NDgxNkFkQUQ2OGIyNWM4IiwiMHg4NjUzODA0MjA3MzhlMEM4YUVBNGQ3NjYyRjM3RTdBYUUzMjIyOWJFIiwiMHg1OGY5MzI2MTQ3MTM1NUQ1MzI0NmVjZjNlZDMzMTEwZWRiOENFODRiIiwiMHg0QTg2NGVlN0UyNTExRTA3ZWZBNTZCZjVlRTVjYWJCNzQ0OTUwZjkyIiwiMHgwODIxMDkwODVlY2YyOGZERjdDODYxNzgwQTQ1YTMyMTgwYjQ2NjYzIiwiMHhjZWUwNjkxQzFhM2U3NGQ5YzQwMTA3QTBmNkZDNWVhMEY5ZDE1OTkyIiwiMHg3NEMxRGM4OTE4NjBkMzMzQ0RCMDBlYTg1MTlDMjM1RGJFOUY2ZjA3IiwiMHg3YTdDM2QzOTA1MjZDOTA4MkRGNTk1NUFjOTk3NEUzNWEwZjJlQzEwIiwiMHg1MjI5ZWZGQURGZDhkNjVmNDI0YTM2NWI5RmE5YzlhQWE0RGU4NzU5IiwiMHhCRjYzNDlEMkQ4MTljMjE0Q2JEMjA5MDIzOTJEMTE4MDVhYmRFNDcwIiwiMHg0Yzc4NjI1NDQ5MGU4MTJhODg3MTY3NUZCMzcxOTlhMTlEMWE3M0IwIiwiMHg3ZUM5MjRkQWREMzc0OWE5RTcxYzVkNGYyN2U3ODQwNzg3MDU1MzdiIiwiMHg1MTdBOTM1N2NjMDhEOTFhMjcyQzJBZTkyMzM2YThkZGYyQjE5NDkxIiwiMHg3ZTdlMDI4MjAzMGM1RjMwNUY4RjZFMzc2RTk1ODE1NmZkMTI2RkI4IiwiMHg2YzUzMEJBNmNlMThiM2VGQzg4YmQ0NTQ4QjU2NGVCNmIwQjQ2MzBBIiwiMHg4MjUyOUEyRDMwNDhkNTMzNWYzNkNGRkRkOEI3REIxMTJjNjc4QzU3IiwiMHg3QzU5YjEwMzAxODI0MTRlYTM2QTVlMjhiZTAzMDFFMENBMTFGMUU5IiwiMHhlYzRmYjg3ODIwYTMxMzEzZDgyODdGOUViMTRBYjQ3RDM3NzRCRDk4IiwiMHhhZjA3MDljMjJCRTYzMzYxRTVFMDYyNmMwNzc0QUJlNkU1QTMwMDcyIiwiMHgzOGVBOWM0NTA4MkNlYzhkRGVEOTMxMzRhZEY4NUQxM0FmODIyOEI3IiwiMHg0OUEzQzNEMGIwYjMwNzQ1Rjk1NTQ2ZTEzNmE2YjZEZDQ1MmIxN0UzIiwiMHg0QTcwQjVmNTU1ZGQxOTY2MzFjNjVmNGVjQjNFNzFmYmYzYWQzNzIxIiwiMHg3MzYwOTkxMzM4NEUxNkEwMDQ1NzlGMDA0ZEJFOEM3MjM1MUQyNDg0IiwiMHg5MTkwNzcyZjg4NThEZEI5ODM3RDY2NzMyMGNiNDA3QzY4OTk3RUU2IiwiMHgwOWRFOGM4RjNDNTVhNDY3NGE0ZWMwMGExZDc3RDFhYkQ3MjFjQjAwIiwiMHgxQjdDQjQ5ZTUxRTZFQjA0ZTgwMDhBOUNkNUY0MWUzNmUxNzgyMjgzIiwiMHg1Yjg4NWQyQjAzMEFGYzc4MTE1OUFkZEYwYjFFRDdEODkzODQ1N2Q5IiwiMHhFODdDNDkzYTYxOEY0MDdBN0E3ODdFZTExQjYyYjREMkU1RTE2NzIzIiwiMHgzQjVCMDY4OEMxMTlhRjhkOTMwNmYyMDRBNmQxZDYzNDYyZDBDNEMxIiwiMHg4QzkzMzIwN2I5MTJhMDUwODQ1Q0UwZTYzMDg0RENEOERBMEIyZUEzIiwiMHg5YzY0NkJhYTBCYTUzMDcyRUQ1NzNkN0U4MTAzQUIzYTc5QjE2OGFiIiwiMHg1NzlDOTBBMzBjNTMyNjYzM0Y5ZGYyZjA2RTg5Zjk1REQxZURGM0UwIiwiMHgyOGQ5MWE3M2NBYzYxRTI2YTcwZjUwRjc4RDFhMDREZWJlMmQ4QkMwIiwiMHhENGM4NkIwYWNiQzQ4NDNmZkIzMjlGMDQ3ZjE2Q0MzNzFjZDZmNWNFIiwiMHhEOTM4NkMyRjI4QmQyNDQ5NTgzRThmNjQ2OGRlMTE1Y2EwMWE4RmVhIiwiMHg4RGRkNERiYTc0REI5Y2FGNDc1QTM2ODk0QjFkRUUyYjkyYUI3NDlkIiwiMHhGRDk5RDYxY0NFYkI1MzJFMDIwRjg1YzRDMzZjM2RGMjNmZjUyQTlEIiwiMHg2ZTdhYkU1MGU5NTNlQ0I0NTAxMGQ0OTI1MUFjN2E4ZTY1Qzg2MjdiIiwiMHgwMzMwRTA3NUM1RUQzQTI4RDJkRUI5MzgwRTc3MDYyNjYxODIzN2Q1IiwiMHg0YTVEOTIzRmY5N2M4MTVjZjEyODM3NTI0MjkzMDZjNjUzRjhjMjE4IiwiMHgyNjhkQThGZDYwNGUxNjMyNTZjN0Q5ZTBjNTQ0RjFBODAxMDYxOTAwIiwiMHgzMjQ1MzQ5YkY1MTJhNDI2YzM3RjUxNjhjNTk4YTBCZGJiQzQ3MTEwIiwiMHhkNjU5YjlmMDU0ODQxYTA4Q0Q1MWQzMjIxZGFiM2ZkZjc0OTk0ZmJlIiwiMHg4M2ViMkNmMmY5NzQyNEIyMUNhN0M3OURkODAxNkIwNTQ3NEI3N0Q2IiwiMHgyZjYzNTkyYzJmRTY0ZjBlNjlCZjViMDM4ZGNmNmY2RWUxQmIwOUUwIiwiMHg4Mzk3NzQxQjg1N0EzODNGZjJGNDc1ODM5NUI2NzNjMEJmNDFhNzNDIiwiMHg3QjQ1YzMxYzZBZmFiNTE2MTJEMjBGMTZmNzk3QjkwRDFEOWI2Mzg2IiwiMHhjREVjMUVFOTljNTVhOWI5NGVDY2REYWI2Q0Q5RDQwODZkODdjNkMxIiwiMHg2MDEwREE0RGZBN0M4RDViOEZEMDc0Y2FDZjE1N0U1MTE5NERmZGViIiwiMHhBMGExYjA0MWFhNDYyQmQxYjQ0MzYzODc0QzAzNDc5M2I3MTIyNUYxIiwiMHg3RWM0NzFBRTQ3RDVkM2M5RTZBRkE0QTY0NWY4MjZmMDZEZDM1MmQxIiwiMHg2NTNDZTNGMTkwQ2I4RjM0MDJjZkVjMEY0NEYwN2VGMTA4RkQ1MDQ0IiwiMHg0OEVlMTlkNDg1MEI4QkQwMWYwZGFBMzg2N2FCNjNDMzFkYTVCQzIxIiwiMHg0NEIwRTI1OTYyNDUxRjdDNjM1ZThjRDU4NjA4Q0YwNTQzNzI2MTZFIiwiMHhmRjMwYzkwNURDODlkNTBhNTkxZUZGNTIzODlBYWI3ZjlhMzNjZjhEIiwiMHg1OTcwOUI3MDJFNGI0N2I5QTkyMTRkMTFBNjc5ZmUxRmM4NzYzYmNhIiwiMHhlNWE5RTZiZWNDRjA4NDZDRjMwMGIzNTk2YkJjYzdmY2U4ZWM4RkEyIiwiMHhBMDJDQzhhNTVjQzRiZEU4ODE0ODhkQzYxOTdDODZCZDA5MjUyODUwIiwiMHg4RjFCMDRkMDhENTc3NGQyMTA1M0EwRjZEM2M2ZmIxMzMxRTRFOWU1IiwiMHgwMWVhMjVDZDA2MTgwYjE0OWIyYUU5MURDQkI3MDg5MjBlMjc4NEZiIiwiMHg4MjgwMjg1M2QwMWIwMjY0MjgyRGQwY0I5NzM4RTlCNkFkOGJFREVDIiwiMHhjMmZkMjkyNzlhMDYzRWE3RTgzRWQ2QjJGMjBFNjdBRmQ0QTk1ODIwIiwiMHg0MDU4NmVCQmMzQkVEMWExZGZlNmJFMDA4MkViNUE3OGIxMjM0M2E4IiwiMHhhQjcxRTY0MjJEMDdiQjEwNDRiMjBDMTlBNDhmNEJBMkFFMDFBYURFIiwiMHg1NDBDYkEwMDQxNTA0MTQwYmNjNWZkMWMxNWQyYzhkNjI4RUU3YzhEIiwiMHhjYUU2NjU3MTNDNzA2YzhCMEU2ODZBZmJFMkFlMmU3YkRlODg1ODA5IiwiMHg2YjE0QTMzYzM3N0E1NThlZTI2YzVCZDllMzU1Y2E4NTZDRTU3ZjJhIiwiMHgzQjkzODEyNDNjNDIwRTI1ODUwN0E0NmIzOWREYTk1ODBFYzgxMkM4IiwiMHhDYjU3QTAxNEY1ODE4RmExQzI0NjBlMjg4MTAzNjQ2ZjI4ZmMwM0U4IiwiMHhhN2ZjNWJGODI3RDZDM0JCNWVGMTc2RWM1N0UzMDg2OERhZEI3MGE2IiwiMHgxNDJjMWYzN0MyNDA2YjQ1NjQzNTY3NUJmODkxYjQ3NTMxRDFhMDc5IiwiMHg5M0UyZDZBRkMxNTgzMWZiODQyZDBhNjU2MTU2MjNiRTQ0NzI3ZTc1IiwiMHg4ZDFGMjg1NmYzQTg1ZUJENWY2OUM1RjVlNzAyODJFYjM5NzM0YThDIiwiMHhDNjI5Y2FiN2I1MTE4NzA1OTc1NzZlNzJkYTNBMTlGYmE0OTRlOEYxIiwiMHhkMDZGMUZmMWU1YkFGNjk1RjlBQTY3RTcwNWRiZkUwMTcwZmI3YmM0IiwiMHgyYUMwRURCMjIxQ0RhMWI5MWE3NGE2NjI0Njg5MGU4Q0UzMTE1MGY3IiwiMHhiOTM4QTY2Njg2MjkwMjNGODJDY2ZBOGRiYWVkNDMwMjRBYjRmQTUwIiwiMHg5QTU5MDRlN2FFNzg3QTQ4MjY0ZTc0NEYxQmExNzMwMDJGMzc4NDdDIiwiMHhlRjBFNDAxZmQzNjhiMGIzNjUzMzBlNzI1NGIyMTQ5MDE2NDM1NDcyIiwiMHgwNDQ5M2Q2Mzg2MGI0OUNmNjAxMzFlN2VkM2I5MzFkYzg2MmY4YzIyIiwiMHhBODRlMTQxYjFFMTc0YWQxNjZEMTc0YkE2MmFDN2UyNTFFMDllMkI5IiwiMHhiRDA3YkJmOTQ1RjQxMzgxQTlGRjVDZkI1Yzg0RWExNjAyODlCNkE3IiwiMHg2YUZGNzA3MTVkZEJENGQ2MUIzMDAyQzcxMGI3OTBCMGIzMzdGNTExIiwiMHg5YTFkQUUwNEZjZmZjOTZCRDYyYzNjMzc2QkFlMTBhOTM2N0RjQjAyIiwiMHgyNTQ4MDRGOThlNzQ0MDkwNjdDNmE5NGE2MjU3MjI1NEQ0NmEzMGVFIiwiMHg3RDllYTU4ZUI5QjUyN2REQWY0ZmVlNzhDZkZkMDc1NDZBODk3OGQ5IiwiMHg4OWY2MDI3YTgxMGM4MEVEYzdBRUNkYTdjYWIyMmY2NDllN0ZkZDJDIiwiMHg1RUIzODgzNkQxMEMwZjMwRTlEZDhGNDFmNzBCNjZmOUM4RDkzMkQ0IiwiMHgxMDIwYzRCOUY4ODdjNTJDNjc4MkY4YjcxMGU0NmZlNDc0ZTIxYmU2IiwiMHg4NDgwNjM1N0U4MzE5NjY5RjNGZDlFYkI3RTc3Nzg1RUVBYzBhRDgxIiwiMHgyNGU4RjE1RkI2Y0QwNDAzN0ZDNURiRkNBZDVFOWM5NUJjMDkzQkMwIiwiMHhmNzRjOUU0NDg1ZkNiNzFlNWUyMjQ2NzI1MGY0ZDkwNGYzZTVEQkU3IiwiMHhFM2IzMTFEYWQ4NDBmRTJkMTVlOTRGRUNGRjU5NWQ3N2VhYzAwM2ZGIiwiMHg3MDAxYUUyNjgyOWNEMGNlNjNBYkE0RGMxZWI4NzNlYzc4NjFlODcyIiwiMHgxZDg5OGMxMjg1M2VDYzkwM0ExNTI3MzVBQjQ2QTRDQmQwRkE2QzgwIiwiMHhiODgxNEI0YTVGQzlCQjAzMTVGZEUxOTU3OTFDYmUwMEVEM0Y3MjQxIiwiMHgwNjIxNDNmN0NDM0RERTYyNDI1REM0QjlDNjY4OUZGZWUyQTNCNzU4IiwiMHg5Y0ZBMjg4MTQ5Yjc1QWM1MjU1NGVhYWU4NkJCQkI0OTI5MDdDOGZGIiwiMHg1RWUwOTVkMUY4NjgxYzRkODdmMTdmMzVlNWZFRjRkNzE0NDM4NGY1IiwiMHg3OGIwQzE2QjhkODVhYzZmZEU3RTljM2ZhQTlhZDgzMjQwNmY2OTI4IiwiMHhkM0Q4NDgxMzBBNTZCMjU2NzEyYkRDMTY3NWFkMzM1MzRmMzEyMjBjIiwiMHg5N0I0MDNFNUI5RWNkQjIwQjRlODU2NzViNWYxMWEwYTFlMTVFODYxIiwiMHg4MDlFN0NCMEZhQmQzMzE3QzA0MmUzQkVFZjJkZWVhNzM0QzdBQ0YzIiwiMHg0YURCOWJiNTVlRjUwYzVCNjgyNzAxMjU5M0ZCNjY1YjYzNDcyNkIxIiwiMHg3MmFCMzhCYzVjQTJiMDg1RjA1RDg4NTYwNTEzNzI2MDlEMDI4QTBmIiwiMHhkMGEyMjZGQ2I0OTQyRjg0QjFDMkVhYTQ4RjFEMTg4YjYxN0E4OTc4IiwiMHgwNTcyNUE4NUVEOGYzZTczN2ZhNjgyMjE2NEFiRTUwMjQ0RDUyNTMwIiwiMHhCMjBkNjI3RGE2MDNDYWVDMzQ0M2M0QzI2ZDFhOTliQjlFNTIwMGUwIiwiMHhGOUYxRDI0NDNkZGRiYjhFZEJlNjlBQmRiNThCMDI4Nzg1NTBBOTRDIiwiMHhlNDllMjcxMzMwOERkQTZDZjQ1YjA1NDNFNDc2ODFENjlDQWNlRDgxIiwiMHg0MjM1RDlkNTk5ZDUyZDg1YzgxZTA4Y2RBNTRlNTZjRTc4QzlGMWNBIiwiMHgyMzUwMTVkNjRDNjUwMWE0MjgxOGE3NTJjQjM4QTMyYTU5MDVhNzZhIiwiMHgwQWNhRWQ3QzgzYjcxNENkZjAzYmY5OTg0MjE5QTA1YTFDNTk1NGQxIiwiMHhFYzFBMDREOEUxOGZjQUUwMjRjOTAyOGU1RTAzY2JhMjY1RUI2YkUxIiwiMHgyQzRkOTFDOTIwQjY5ODI5RkM5REU1ZmQ0MjQwQkZiN2RlYzIyODJBIiwiMHg4ZWI5YjczQUZBM0MxOTFjZDRERERiM2Y1RTYwNTAwN0I5MDcyQTI0IiwiMHhmOTQxNWE3MmRDY2Q0M0EwMDUyRjg1NEMxOGUyNjcwNjJlQ2U1OURmIiwiMHgxNjU2RDRmYjA2MDIzRkJCRDdjNEQ0MTQ3NGNkMzg2MkFEQTVCNTQ2IiwiMHgyN0Q1NjJkNjE4NmIyMDBBRDlBNmFlYzIyMGM0NmRhQTk5NTEzMjBjIiwiMHgxOUU5MDJjNEE2Qjg4NjMwQjNCZDk0QTQxZjUxMTExOGI1QUFmOEUwIiwiMHg1QzBhNzJFZDBhYzZEYkE2QkYyOTk5QWM5NjIyODJjQTcwZWZBNjZFIiwiMHhmZjFkNjJBZDMwMzg3QjM2MkEyY0E5ZjlCNjY2MjZDNTY1NkE3ZDM3IiwiMHg5MjVmQUNjZkYxNjY3RjQxZTFlZUQwRDE2ZGFjYTM4OWQxMTEyQjAxIiwiMHgxZDQzNGFlOTc3MTAwNEI2ZTI5NjcwQkU5QUM3MzExOTgyMEFjNDlGIiwiMHg4NzMwQUM4OTE1NTM3YzFhRTUyREIxNDE1YjEwY0EzNThEODIwMTg4IiwiMHhDZmM4MEY0N2U3MUZBQjg1RUVkNTAyNjMwQzIzQ0M0NDk4ZWI1RUQ3IiwiMHg2QTMyNTM4Mjg3YzIzNDRmNzVjQzk4YmJCOTI3MDdiNjNjMkU4QjhDIiwiMHgyMTBjZTcwZmM4M0RhQjNiOTg3MjhFMmQ3OEZFNTk0NjVGNzI3MzViIiwiMHg2N0Q4NzI1ZGRCNzAwNEE5MDNDRGY4ODY0NENFMEJiNjllNTc4ODVGIiwiMHhGQmFDNjI5RGYyYWMxYjkwNzg4N0EzN0RmMzYyRURBNDY0YzQzMjRBIiwiMHhGOTg3MjM1OTlCZDM5MjUwYmMwMGNFOGYxY0RlMDJCNEE1Q0M2NTJDIiwiMHhGMUQyNDUzODI4NjJiYmQ1QTMyMzg0ZTY2YkY4QjU5QzRiMDlkRTJmIiwiMHg2QzUzOTMzMzVhRjgyNEUxNDk4YTg2Q0I5RDBlYjRkMmU2Qjg4ODVEIiwiMHhmMDY5MzI2MDlFZmYzOTA1YmU4MjkzNjdCQzYxYTQ4N0E5NDk2NTBlIiwiMHgxNjAzNjk4NzdBMGNlOEI0NUUyYzFCQzI1MDAxNTk2MWMwQTYxRjg5IiwiMHgyNTlmNmNkQUEyRTI2MGRhMjgxN0IzMTYxMjcxQ0Q5RjAwREI1ZjFiIiwiMHgxNGE0NEQzMjE4REZiNEZENkQxZDQxMUY0MWViZDdmNTVmOEE1RGM5IiwiMHg2MGJCNzhEQTkxNjJCMkNFYTYxZDE1NjExM0FFYTlmOWU0YTZlZkIzIiwiMHgwNkFiZEMxRTQ4NTE3NWY2Y0FBMmZiM2VmNzYwYWJCMDBhMGUzYTc1IiwiMHgzMTdkMzBiMTYwNEE0YkFiMjA1NjNBMTY2RTNiNjhlMTQ3Mjg3MTQ1IiwiMHhDZDA0QzY1OWUxRWRBRTBkQzQzYTk4QzgwNjExRjRCRDNENzY5MzUwIiwiMHhkMzYyRUQxMzE5MmQ5ODkyMTExM0Y5NGYxNkM4NzM2MzMzNzA4YUJkIiwiMHgxMzg2MzY3MEZhQWY4ZThBNzA1MWM3ODlBODE4QThhNzFkMTgxZUY4IiwiMHgzNjEwMzZCNmY5QUI0RGFCMkI0Y0QzMTI1MEZmQzlENDhiYTk2NDIxIiwiMHg0NmNkQTRmRjc4Q0IwRjJBMzc1RmFENzI4MzE0MTBiNzY5MWQwNzBlIiwiMHhFZDg4ODg5ZDY0OWNDQTMwMjdiYzYyNGYxOUQ1NWNhQ2VhZTIzMUM5IiwiMHgyZDIyZWJmYzE3Mjg1NTBmQzEwZmEzMjFGOWM2NTAyMzM2RmFFOTY0IiwiMHgxM0IyN2M2ZjFGNTQ0ZTZGOTEwNTQwODY1MUMzRmU1OEI1YzM0M2Y5IiwiMHg2NjBENEIxMGQ2RDFCY0Y5OTdFNTc4MzA0OENEZDUzNDBFYTcyNzExIiwiMHhjY2NBNjZiQzAwNDFBOEE3N0M2MjZhNjFmMGE3NEJEOEVlQzFiQzY5IiwiMHhDOEM5REIyQWJhZTRlNjExZTlFYjExNzgwMDZkYTUwNWM3ZmE5OWNkIiwiMHhhN0EzMDZEZDkxNDQ3MzBCRDJlOTZFRDQ3RjkzMERCNDk2OTI2NEY2IiwiMHhmMkJjY0MxQjViNmZjNGRhNkJjRUFiNTFkOTM4NUEwRkQ2MURFNzE0IiwiMHhlQWI3NDEyODQ4ODlBMjQyMjIzZTRjYjIxRUNjQTFENzUwNUFEYkY3IiwiMHgzMzI0NTkzQzkyYTk5Mjg4NjM1RThFMWIyMjg2ZjZhREQyNzM5ZDRDIiwiMHg3Y0RDNUJlNDMzODc0NjIzYzViQjk3ZDg3NWIxNjVEZDllM0U5OGU2IiwiMHhBNTAxMDZFODIyOTAwMUIxYzI1NDAxODYxNjJjZjI0NmZGMTVENDY2IiwiMHgzMjcyOEU1MGE0NTBFZEUwZTg2YjYzREUzRjQ4OUYyMkYwNjEwZjRFIiwiMHhjMzVhMjJkMDljQjFjMkEwQjFkNjFGMDE4Qzc2YkQzN2Y1NGJhMjI2IiwiMHgzOTBGMzdFNzkxNzZlMEE4NTc3NDQzMTBkYTY4N0U3MmFkNWVkMmU3IiwiMHg2MzJDMGY3ZWQwMDlCNzRGNzRiNWE3M2IyZjMwOTEwZUQwODU5NWZGIiwiMHg0MDk0MUY3ODI5QzdFRDdEN0Y1YzY2ZTJiYTdjNTliOWJhZTQ1MmQxIiwiMHg5MTc1YTA3NTZkNDI3NGRBRGU4ODFkRmEwNzY2NTM5NzI5ZDlGYUM5IiwiMHg3ODVBMTRGNjNENUEyNGI1N2E2QWIyYjEyNkI5RTc1QThjMGM0RTRjIiwiMHg2MUNiODQxYmZhMTQ3MjBGMzY0YTA4OGNmNjQzMTQxOTU5YTY4ZTQ2IiwiMHgyNmZkZTBEYzkxMjAzODYxMTkxZTRDOTg2MEI2MTYxRWY0MDkwMzA1IiwiMHg4RWI5NjgzMjA3NDVhMjU0OTcyMTAyNDgwMmEzNjVmMzcwNEU5YzI4IiwiMHgyNTFiRDY5Yjc0NTk4MWMwOUQ3RjZGZkY4ODY1NTdlZDY3QjMyNEVBIiwiMHhBNGUwMjU3YmREQTQzMTJCMjhkMzVmRDM3RmE0RjE0MEQxNDFiY0M4IiwiMHhiM2FFZTJCRmFjMWZDNmY5YjJCNjMwZTE0ZDY1MjlGNmE0Y2MyOTBDIiwiMHg2MzJkNTk0YjA2RWJkQjQ5MWIxNGZlNjEzMzY1NTkzMzE4MTBGNGQ2IiwiMHhENTBjNjQyOWFjMEJFNTU4ODZhNjhBMDkwNjYwNTRFYTIwNTk1N0VjIiwiMHhiZkRFMUE3N0ZmMjhmYzkxNDgxOGIzOGQ4MDlBMDFEZTlDMEJDZTdjIiwiMHg1OTU5NmYyMUNFMUI4Qzk3OTQ1MUFlNWMyQjM1ZjYyMjE4OEQ4RUIyIiwiMHhhOEI0OWE3NTdDZjVjMDQxQzJkOGUzREYyMDgzRjExRUYzQmVjMDQyIiwiMHhEZTgxNTNFYjMyYTZGMUI2OUEzQTNlM0UwODg4MTk4YTgxYTM0ZDEyIiwiMHgxNDgxN0FkN0QwZGY1MzA3YzQyNDFkNjc5QThhNjZhRTVERUJGMzczIiwiMHhlRTU0YTJBZDNCMzUyOTExODRmNTM4ODgwNmNjN2YxMEY4ODVDN0RlIiwiMHgxZTAxZDBiODMwNEYwOTg0Mzk1MDQwOTM4OGFGNDMyYjIyMzI5MzEzIiwiMHg0YzFDQUY5Njc5YzYyNjY4ZGM2NDdmQWQ1MmQxQjFEZjY2RmM3NjZBIiwiMHg2OGI4QmVlNkFlYjBhRDBiMzI2QzMyRDgxMzNhY2E4MDQwMjRDYmIxIiwiMHg1MWJmRTJBM2JkRUEyNkU2ZDBDNDRFMDcyMmIxRUVkODM2NjUxM2U3IiwiMHhmRTQ0MTRFRDBBMzU3OTRmNWZDMTY5RDg3MWI4MjZlNUQ1NWU2NmI3IiwiMHg1ZTYwNGM2NmVGNDkxOTk4N2ZBNjI4MDExZWMxYjY1YkY2Q0E4NkZEIiwiMHg1MWJBQ2E4ZGZGYzBDRTI1NzY4MTY1ZTY2NzA4NzMzNTkxQzhGRTg5IiwiMHg5ZDg0M2E2MGZBOTI4MGIxZTlmNUI5MjkxQUFhMmE3ZjAyRmMwNkU5IiwiMHg4YTMwNzYzRDgyRDdBQjRDY0EyZUY0ODhBQmUyNTE5MmNERDA5NTgwIiwiMHg0NDZlRjMxMjRDZGY0MjgxMzExQWIxNGQzNzkwNTgwZURGRjE5QzQyIiwiMHhmNTVEMjFCQTM2MTQ3N2MzRWNmOThDZjY5OTQ5YmIxMURCN2RjRDM4IiwiMHgwYTgwYWVCYTExRmUwN2QxNGY4MjliNWI2QTcyRkU1ZTEwMzkwMkI3IiwiMHhmMDI0YTA0NDU4MDA3NEEwRGUzYjBkYTBFZDYwYUJhNjJkQUI4RTJjIiwiMHg5ZUMwQTBhOWYwN2IxRmUwOTFlYmExOENmN0QwZTkzNDg4MDJhZTA1IiwiMHgxYTlkMjZGOUM2ZTlDMDliMUQ3ODgxRTlGN0U5YjUzMGJmYjdDNTcyIiwiMHhjYTk3ZjQxOTY3NDQ1MTNGN2Y2OTk4OTUwN2I1ZDNiQTc5MjVCZmY0IiwiMHg5MzBmNThhMThGMUE3OTU2NTE5MjIwNjJhRWQ2ZDg5NWE3OTNEN2E0IiwiMHhjZEMxODVGRThkNDE3Q0RhNThGZTNkNTZCZkYxMTg3MzRGZTUwZTY2IiwiMHg5NGFjYTdlN0I4QTU5MTg5YTY0RDYzYTc5QzM0RTA3RjM1ODFlMmM1IiwiMHhEQjVFZWEwMDEwZERBZGM1ZDI3ZjdlMjQxMDlBMDE2REYzNWNlNzQ3IiwiMHg3NTcxRjMzMjhkMDFmYkQ5QTZmNjJiNzQxRDhlQjYzZWYwMTM5NWRkIiwiMHgxQWMwQjRDNDlGZEE2ZDhGZDE4ZTU5OWU3ZDk0YUY5RTg4MDlFMWQ0IiwiMHg0MTM4Y0MyOTg0NkI0MzJjMjE4MjdhN2E0MDAyMmI3NzA0RTg3MDIwIiwiMHgyOGQxQzhCQzNiYTM5MmM4OUQ5NzA1NWU3RDUzQTI2NjQ0MjBGQzgxIiwiMHhBQTFEOTdCRjI0NURhMDE5MkEyMTk2MDQxNDU4QzMwOGM2OUNFMGEwIiwiMHgwZTYwMzI3M2MzMzVDYzMwZTc0QmE4QThEQTFlNjQxMEJjYTY4N2M5IiwiMHgyODY3ZmYxMjY2ZUJiODkzRjlENERCQzFBNDFDOTI5NDNlMkE4RDgzIiwiMHgyODBjZjhEN2RGMDE5QTgyNDVEODVjZDhENjcyZGE0YTlEMzliOTdiIiwiMHgwOTk4NGNmMjQ5ZmYzRTM2ODc3MENjMzZERkU3MTRlRjNmMUU0MTY1IiwiMHg1OUJGMzFCYzMwNDY4OWVBOTAxODc5RWY5RGQyMGEyODA5M0U3Q2JGIiwiMHg0NkYxOUY1ODQ5NzI1QmMxMDgzODAyMThEMTgyNDQyMDI3QTk5MGY4IiwiMHhEMGEzNDExNEIwNjU5NGQ4M0YxODVGNzQ1MDgwNDREMzFmODU1QTU2IiwiMHhFMTA1N0EzODVlOUYwQzY3ZWU4MDFFM2U0MUE0OEE0OURiNmJDNzEyIiwiMHg4MTNCZmNlNDA1OGEwREYzNWFjQjc3NzMxMzczYjg4N0U3ODczNWRBIiwiMHg0OTc5NTA3MDgwRmUwOTkxYmJGNWQ1NjU5YjY1ZDY2MTU5MmJiM0I5IiwiMHg2NGMxMjRGNDhlMEI3MTc0OWExZDNFRkI3OWQxZTZGODUxRTVDQTRhIiwiMHgyOEJDNjVDZjRCN0VCYzM4REE5MTVCNjcyMTgyQzVDMGNBMDRkNUQ0IiwiMHg1Nzg2ZDJhZEUwNWY5NTc5OWU2MmI5OWYxN0RDRDJFNTM2MDhDNTUyIiwiMHg5Y0IxNjZlN2ZGREQ5MzcxNTM4RTM4YTQzNTdFMDBmYzZBMjdlZGZkIiwiMHg1OERkNDlCMkE2MDg0YzgzZGM0RTg2REYzZTYzODUwNWIzYTY2QWEzIiwiMHgzYzY0MGI3RDYxMWE2QWI2Y0QxN2Q1NEI3NTllMjE2YzQxZDI2ZjI5IiwiMHhDNjc3NENCMzljRjc0NzNEMDhEZDQ0QjliMjEwNUU1NzUzOEU1OENBIiwiMHgxZDUwMEU1MEMyYUQ3MDYzNmNjQzc4ZDZlNTgxNENBRERCNzc5RTZGIiwiMHhCOUFBOUQ2NmJCNDVlNDg5Nzc5YzY5ZWVjZWFBMmY2MzMwODI5OTQxIiwiMHg0ODU4NjQ3ZjJCYTYxQjJCNjZFMThiMTQ4NTU3MzE3OTg3ODg2ZDA5IiwiMHgyMTJFYzJjQjRiNUUyYzg5NjM4QTdkQ2MyMTc3OWY0MkQwRDcyQzhDIiwiMHg2NjY2ZTA2OUI4ZDJDQkQ5NzJkMDJEOGQxN0JGMmI0MWQxQjNCM2I3IiwiMHgzNDM4MThjMzUwRUMwNzQzOTg5NDI1ODI2NDgxNzUwMDViZTAzMUQ1IiwiMHhjQjQzMzgxMzNEMzU4OEE4MjM4YzY2RDc5YkQzNzBkNjg4MTM5NmIxIiwiMHhlOTRmMTY3YTRlMjI3Zjg0ZDMyMTEzZWM0NTFjZjU1QjgxYkI2NjM5IiwiMHhhMUI2YTU2OTIxNTQyOTUwNTlCM0NjOTAyYmI2OGREOWY2M2U2OTFDIiwiMHhDQ2Q0NjJCYTREQzgzNEZBNzdmRDU2RGQxNjIxYjQ1NkQzMzFiMTQzIiwiMHgzNjQyNmUwYzVGN2EwNjUyNzY3M0M4NkFGMDU0MzQzN0M3NzExMzhEIiwiMHgwYzQ3MTM1N0UyNkM1QmY2MDBjODcyRmRmYTljNDlmQUE1QTcxOUVlIiwiMHg5YkNBNzc0QTgxZTEyYWVjRTZGRjgwODBBNjg3N2U5Qjg4ZmNBZjI2IiwiMHg3NjNhNzAyZTM1OTlDREU5NjBjNzMzRjNDNTZCNTM4NGQxNjBjQjc4IiwiMHg5RTREOTc5MjVBOUQwZWI2MWMyMTg0NjI1QjU0OTRBMENhZTJFZDRhIiwiMHgyNGZGMWEzMzk2NjhGZjUzYjU1ODkwRUNCZDA3Njg1NkEyM2ExOTI2IiwiMHg5MTA5RTQwMjREQzg2MDA3M0YxMjkwZUZGQjE2RTJCZUU4ZmRBRTNiIiwiMHg3NzQ0NTAwOUFhNTA2ZjY3NzViMmMxRUViODA0RjZjOEJFOUE5MmE2IiwiMHgzM0E0MjZCY2ViYzBhMjE3YTdkNUFmODM1MjcyYjFDNmUxNDI1QUVBIiwiMHg2N2ViYzUwMDhDMDFBNGQ3NEQwMWVCQjljYjE4OWZkZWZhMTNGRWQyIiwiMHg0QTRmZDc2MmNkMjRERjJhMTkyOUJBMDA4YzNCNWMxNjgyQTBmNTQxIiwiMHhDZDM4NDQyMUQwZDc5RTg2ZUI4M0Y5N0VjOTU1QjFkRjhDMTcyMjcxIiwiMHhDMWZhMzExN0Q3OGEwODg1N2RhZjliMDc5NTAyMDJDNUJkOERDYkMxIiwiMHgyMjkyMUFkMjgxODkxRTIwNTE1M0Y5M0UzZjI0MUMxNGVDMGY3RjdBIiwiMHgyNjQ4RTkxQTdFZUZFY2M2MTUzMTZGN0EzRmI4MmFmRjUyQjYyMzkxIiwiMHg2MkY5ODU1NDBENDA1M0RCMTM1NDU0NmU3RWI0MTU0RWM5Y0Y0RTYxIiwiMHg3QzgzZjBkZkFBNmNCRmI4NmVFRGM3ZDYzQjQ1QUUwNTkxMTg1MDQ2IiwiMHg4NzBBMDBlNjA3RDYzOTU5QzkzYTMyY2YwZjhGMTJBNjAxNmYyQkY2IiwiMHhBRTUzNGVhMzlkYzkzM0U0Nzc0YzdENGFlOTg0NDI1MGE4QTIxNkNGIiwiMHg0YjRENTA1Mzk3ODM4ZmRBOWRDMDEyNTRhNTM5OWNGRTZDNzI4NTVlIiwiMHgwOEZBMkM1YTAzNEFmQzExOEM0RTY0NDg5MDJjNmUyOTUyNkI5YWQ2IiwiMHgxNkJFMkI1NjQ2NWQ2RDEyM2FFN0Y3NTIxNzZiODdmOTMzNDdFZTUxIiwiMHgwN2M0OThlNzk1Yjc0QjU1M2UyNEU1MEExRTY5ZjIyNzVmREM1YUUzIiwiMHhiN0UzMTdiNWRFMjBlYjU4RmMzYjJFM0JkNWVlNDlGYjIxRUQxMzNmIiwiMHgxMEQ0MWEwN2E3N0E3MDU2ZkZmNjJFNzkyNDI3MzVBYjBmMGYxNjNiIiwiMHg5MmU2Y0E2MUQwNTg0ODJFOEYzOTMzNjY0QjMwZDExRTUxMjM4QjkyIiwiMHgyQjY3N0U4MTEyMTYzNTBlOGNDMUIwNGVFODFjNTE4NjA2NmFiN0E5IiwiMHgxMzZFZERDYzQ5YjAwYjBBYWQ1YjcxNzE4QThhRUNCMzRlMzRiNzNBIiwiMHg4MWYxMDQxOEE4N0YyM0QwNTg4ZEViY0U1NDBjOTkwMTUzZmFBRWY5IiwiMHhDMzhBNDMzY2EwYTE0M2EwZEMzMzg5ZWE1MjdBRUY4MzQ5MTc4RjQ0IiwiMHhFMDI0QjUyNGIyZkNmNENFMjIxQmExNDZDYWQyQTI1M0UzYzgwMEYwIiwiMHhlOWIzZEY1ZEEyOURBMTYwMDNhOTUzNzJjZWQ1RTliM2JFMTc5Nzg5IiwiMHhCMDc3MjYyMTcyNDM1ODhjMzMzMGZGRDMxOTIwRjEwODgyZjY0RDFmIiwiMHhBN0NmMzk2MDAxNTBhOGE5MjZCQjU0MjQ5QjVGNjJjOWI3OThGMTA0IiwiMHgwYkFFNjJiZGRGOGU2MjU0MjEwZmNCMmRjMUI3MEFkNEIzMjYxN0UxIiwiMHhjRkE4OTE3M0I3QjE2N2E5ODcyQjE2OTJhYTUwQzA0MUE1ZWE0NTUzIiwiMHhFMmVhQTA4ZTEwRTc2ZWEyZjdENzdGQTdhNmM3MDJDOGEyNGY4N0NmIiwiMHhGQTlGMEI4YjU2Rjc4QWM4ZDU5NGIxRjFENmM0NTlCQ0YzN0ZkMzcxIiwiMHhmNTJjQzc4NUQ1RjNFN0Q2RkYwQUQ0ZTY2NWE5MjliODRGNjllN2M1IiwiMHgwMDcxMTA5MDA3Rjg2MzA3NDM0RDY4M2M1NzZCNjdGZjY0NzA0NjYxIiwiMHg5MjQyQzhjNjdFMTliY0ZiZmNiMzJmYjY0YTZCQ0Y5MjdBMkJGMDI0IiwiMHg2ODhFNjRFMjQ4NWREMDM4NjdlODBBMkRjOEFkMEE4OTY5QTM5NTAzIiwiMHhCOTRjNjA5ODcyNDM5RWFhYTVBZUYzOWZDM2M1MEQ3MDMyNzY2MDg0IiwiMHhBNWIzYjViZjAyMzdFYTA4MkM4MTlBY0FjNTYyRDY3OTlDZjU3MmFEIiwiMHgyNzFlMkIyZTk1OTRGOERkYWJGMTY4QWVkMWEzOTA4NTI1NDExZGE5IiwiMHhkQzJCNWI1YjI3NTZlODlDODQ2ZmQ0RDJCQjJDZkNFRTBFMjYzNmE1IiwiMHhkOWU4NDQ2NDI3OUFCZWY0ZGUyZGExNEI0ZDM1MmIwNTM1NzZGMzQ3IiwiMHgyMDYzMzRFNjg1ZTg4MzdGQTVFQTI1OWY3QzEyOTVFN2E2Y2U2ZEU4IiwiMHg5NjVDNGM4RUE3YTI2QTE5ZTdCNjZFRkY5M0FiZDIwMTg5MzY4QzVDIiwiMHgyNEM5ZDkwYUUzQTliZjJkN0Q2MzFiRTZGNjIzMTY2MTcxNzVBMDREIiwiMHg2MjFBNjE1QzI3ODA0ODQ1MDkzOWVEOTM3MjYxMjRGM0E5MTM5NTM4IiwiMHhmMDVhMGVDMTYyYTAzNTg1QWIwNmE1ZTExMkVkQTlCMDM0OEQxZEEwIiwiMHgzQTUyNjlCOTFCODZmOTY1NGE3RDQyMTFiNDEyYThlMGIyNTk0NDY4IiwiMHg0YTZBOTE5NjRiMTljMkQzZkJEMTNkYzZlNzY2RDUxOWFjMWFCZDVmIiwiMHg4Nzc5ZEU2NGM2MjQwNjM2MUU2MWJCNzg4N2I3YzM3QjYwMzczZjA0IiwiMHhlNTNDMjU2OEFBQTRhNGM2NzdCOTM0NTg4ZkVCRjgxNzBhMkMzQUM1IiwiMHhkMEM1OWVDMzFiM0U5RTBGMjZBNUJCZjFCM2NCOWRhYjA1YUU1OEU5IiwiMHhmOTAwM2Q3NWU5NGM1MDU3NkQ2QzI2OWZERGViYjhCNDc5NzI2NzZGIiwiMHg3RmU3MUY1MkU4N2EyOTg3MTdjMjY4MDc4NDdhNGRjMEZlMDcwMGY2IiwiMHhEZkNGODM4QzZFMkM4MTc5ZGU0M2I1ZkM0QzZENEU1Qjk4NDM2MDFEIiwiMHhiYzM5MzQ3MjlkRThCNTgzOTk3ZTA3OWMwRDFCRURFQzI0MUFCNzZDIiwiMHhiYjlDNzIzNGFkMEIwMjI0MEE5OUJCNTQxMDE2NTQ2ZmY4MDQ5ODA4IiwiMHg0M2JhRUE1YUUyNWQwYTdCNUI5ZGMzODhGM2QwN0FEMDUzNTY0MDYzIiwiMHg1MTRCMDAwZDVCMzQzYkM4YUUyRmM3RGNDNjM3NGNmMTI1YUI5MjBDIiwiMHgwYzkyOTUxMWZGN2ZiMEFGMEUwRTNlNTQ2RDkzNERmY2FhMjcxNzc1IiwiMHhiMTlhOTY1QjVjNDgyYTAyMzlDMzdiYjNlNTJiNmM4ODMwYTk0YkVDIiwiMHgxNjJBOTU3NDNhZTk1YmI3NzU1YjNlY2ZCMzdiMWUwMGRiRjRDMEYwIiwiMHhFMDJFMzc0MDcwNmZGMzYyM0RlNTNkMDc1OUIwNzNjQ0M3MjM0NjNlIiwiMHhhMUE3MzVhQWIyNzkzODM0OTgzMzQxMjQ0Nzc5ODU5MjM3MmVGOGI5IiwiMHgxOUU4Q2UyZjk3ZTQ5ZWVhOTgwRGQ3NDA5NjgxQkY2ZTVkNDljYzY5IiwiMHhFODJmM0JjMDE0NmQ4NGE5REU2ODgwMGU0MTQzMDJEYzczMjk2MzYxIiwiMHg4NTc2OTI3RTBlYTQ4Q2UwRDU2QzIyMzJjRTRjQzVCOWMwZDk5MDcxIiwiMHhGZTM0MjIzMUY3N2NFZTZkYzNjOTUwZjVDNTA0MWQ5NDM3MkE2ZmVEIiwiMHg2NUMxZjM2MDNDMDE3MWY2ZjFhNzFBODhCREUyNjNjZjZjYTAwYTUzIiwiMHhFRDUyZTA1NjA0ZTQ0MzIwRjQ5OEVhNDYzOGY0OTMwODE4ZmM3NTk4IiwiMHg5ODU1YjNlQjJmQzU4REZiRjhlYkQzMjk1ZjQ1MkE2ZDdFMmQ4NDcwIiwiMHg3MGZBOTZDNzhFNjllNGEzNDA5QjhiOTFFNkMyNTgwNTAzYkE0NDIwIiwiMHg1OEVmMzY4OUMwODg3Njk4NTZlQkU1Njc1MDg2NGRGYTRCODU3ZDBhIiwiMHg4ZTI5NWRFY2JlMUUxNjZDMjE5OTVFNkE2RjIwQjY3NTljMjRGMDMxIiwiMHg3MmMzMjU1ODRkYTI4NkIwYTlENzMwQjQ5Yzg4OThFMzhDZDlhNTg4IiwiMHg1QzQ5ZTY0RUE1MTk2YjE0ZGJDM0FjZjNGMjYxYmUwMjliOGMzNjM1IiwiMHgyNGIyNEFmMTA0Yzk2MURBMUJBNWJDQ2NlNDQxMGQ0OUFBNTU4NDc3IiwiMHg0ZDc1MTZCMTYwRDRjOEM1NkQxMjdEQkI4OTAyRDM1NjlBM2Q3ZTc1IiwiMHgyZWNFN2MwYTNkNTFCREU0MEJkZWQ3MDdmNUExMUQ5NmZEMzI5NUJFIiwiMHhCOTgyODQyOTMwNDk0NGRjQmM5M0YxYjExZDI4RjZEYjU1YTBmMUJlIiwiMHhjODY4ODFlZjQ5NEIwNDlmZTNFNjI0QUU2RkRGNTQyZjU4QWIxOTMxIiwiMHhkMkVkMzg1MjAxMjI2RDAxMGQ0ODMxMUY0QjgwOTY0ZTNlOWY5ZkQ5IiwiMHg5YzZDQjQ3ZjAyOUM2OGRGMzk3ODliRjExN0RCNzA2MENlOWEyYmY5IiwiMHg5NTMzQTEzRDBDODQ5ODA4MUFCQkFCNzIxNzRFNGY5ZkZkOWQzNEFBIiwiMHg1QUY5QzJENjNFM0MxNzUwNTAwQzM4Y2Q0MDhmMTNBRTk4NDVEMzNBIiwiMHhBODFGMjdjOWE3NTZFRWVlMTVhMDEzNjc4YWM4RWE3ZkQwMTc1MEJmIiwiMHhBNzc0ZTBFYzAxNjE5NjBkZDk0Q0UwNzIxN2Y3ODU3NTU0ZmZlQUEwIiwiMHg0ODdjYjQ4RTAxNUZBODY0ZjA3OWZhRmMyYTE0MjVDODhEMWMwYzcxIiwiMHg3QTg1NzJjYTRkYTkzNEJlNDBGOGNiNWRlMGE4ZGVlNkJjRkQ1NTc4IiwiMHg1OGU0NTBkNzU5Mjc4MDJCNkQ5MkNmMWE4MWVkNjJjZUYyOWM0M2ZGIiwiMHhkMTk0ZDU3MzMxQzIxMzdkNTUwNmNjMWEwNGQxQzgxRTUyMzlGMEM1IiwiMHhEM0MwMjAwYmIxMUFFN2RENWVmOEQwRTI4RkRhNjg5YzI1MDlBZTc0IiwiMHgxYUQ3RGFjN0VkRWQ0QzQ3RDZENDhhMUQxYThmYTEwYzFjNUVBNjUyIiwiMHhmODUwOGVjNjUxNkIzNTAwRGRkMDhmNTkzZEFiMzBmRGRjOEQ1YTVEIiwiMHhBMjI2MjY3NDNkMkRBMGY3NTY3Nzg0ODUxQTVmMjcwMTViNjE1YTM3IiwiMHhDMDNDNzBiMTI2QTlENEJkQzBGOEIxYjZCZDkwNjFBMjJhNDE5ZTgwIiwiMHg0M0I5MTI5NjZiMDc0OUM2ODUzN0FDOTZhNDkwRDBFRUYwQjQ3MmQ0IiwiMHhCNThGOTJiMEIxQjlmNmMxQUIyOTZCMkY4ZGVhRTE3OTgzMUYxMDk3IiwiMHg5RERCZGZlMGUxNzA4Mjg4MzM1NmRhMjMzQkNiODkwNTliMTk1NjdhIiwiMHhiRDZiRDBmYzdhMDAyOUFFQzA5MzQzM0U2RTJFODhkYjY0YWUxQzk4IiwiMHgyZGRmNmFiOEVBZjQzOTkwNDk2YjY0NUMxMjkxOWYwNzlGRWQ4M0Y5IiwiMHhlOGY2NEJDMzBDMmZiRDlkRGUzMjI3RTNCMjc5ODMzNmE3Y0NGMzYwIiwiMHg1Y0UzYjA0NDIwM0RFNEVGMUE1MjQwMDRmMDcxOTQxMUIwZDRmZjYwIiwiMHg2MWFEN2RDNTViMENhNzJBMjgyMTgzOUFhODQzMjZBOGNhMjgzQjQ0IiwiMHhCZjJDY0U0M0Y2YUQyQ0Y0NDUwNkZjNTlmYTM4N2ZmZTgwMGE3ODE0IiwiMHg2ODU0OEJEYTIxQmM0NWU2MjVjMjIwOGViN0ZiNWQ1MDk4ZkU1NEIxIiwiMHg1Rjk4NTU0MEExYzQ4MDc4ZERjMUU4ZjdGY2Y3MjJBNjAxNmQ4ZjVEIiwiMHhjOUEyQ0ExZTRjNDc4RTBhMjg2OENkYjcwMTJDNWMyQTJiYzJlNDZiIiwiMHgyOTc5M0EwODUxMDU1OUZhMTUwQjA2YjE0N2MzRUZhZDkyZDAyOTM0IiwiMHhEZDIzQjdmOWE5QTcwZURCMkMzMWIwOTM2NWRBQjJmQUQxMkZiMjRhIiwiMHg4ZmNCMkZFMTlDMjU5NDdEMzVmMjI1NDdhYjQ2RWU0YmE1N0I4NDViIiwiMHg1MGMzNzRGRDkzQmU1NEU2RjY5MTA1QzQxOTQ2YzI0MUUwQzNCNzNlIiwiMHhmMjlkOTMzYThBZGM1NkRlYmY5ZUU4MzJBMjk5MkQwN0I0YzJiODBkIiwiMHgyYzFENTMzNjEwMkRGMUM4Yjk4ZGUyN0NkY2ZGNERmMEIyYjk1Mjg2IiwiMHg2NEJhRDdiZGNGZjRCQTU2ZUY2NzgzRDIwN2FkMDNCMjBEN0NhQjdlIiwiMHhCRDIwY2JFYzMxYmVBMERBNDI0ZkM3OTVhNjlkNUZCOWQ4REM0NTkxIiwiMHg4YmFmZjgwODJiZjk3QTUwODU0NEQ2ODYzQjY4N2RlZTM4RTZERTA2IiwiMHhCNWJFM2YxMjhkZmU2QjU2OEI2MUI4MWUwMmNmQ2Q4RTgxQTE5N0YwIiwiMHhFOTMyNmI5QTE4QjNEYkEyMUZkZjg4NTdkNmI3MmM4ZDhEMDBENTlDIiwiMHg1RDQyYzRGNjQ4N2ExYzlkNDAzODM2RUY1YjgwNkVCN2Y5NzliMzRDIiwiMHgyQkIxODc4ZjM2NzFGNEM4RGJkRDE4MkE0NzhDOTRCOTIyMzBGN0M4IiwiMHg5OUQ1RmJDNEJiMzY2MWU0MGUxOTk4NjMwNGE0MjQwMTZBN0MzQTU0IiwiMHgyNjQyM2E2MzhDZGNiODQ3YTk3MmRkY0JFQjU4MDI4RTg1MTNhNjkxIiwiMHhjNTg1YTg3QmQzZGU0ZTU1MjhkM0MwN0IyODE0MDYwODZmQjhFNmRFIiwiMHg0Y2NmMjE1QjMxNGM5MDE0NWVhZTlCNkJmMzZDRWU5MjcwMDQ0MEFkIiwiMHg0MDQwNDU4ZDAyYzlGY2M0NTAxZjVhNGZjQTQ3Q2MyN0FGMDk0REVBIiwiMHg5RTE1MmFDODY0MTU5OGZlMTg5QzRGZWRlQjE4MjdDYUY0MDg5QUY3IiwiMHg0Yzk0YTZiQjBkN0I4NUQwODRFYzI2MzU5NUY3OTMzNmYxZkE0NTIxIiwiMHg5ZkQ3OEM2QjIyNTc5YjI2ODE3YUU4NzlDMDgxYTc0MDY3YUJGZDZlIiwiMHhGOWEwRjE4OUYxYWNCZmZGQTBBMEFiQ0M4NUM4OTEyQTQ4RjBDOWFhIiwiMHg4MEI4OEM1YWFjQTgzYjk2OTAwODM0MjU4MkE1OUEyZjJiMURBOGMwIiwiMHhjOTVBOTdBOTE0QzlFNTFjMUE4QkE2N2VGMjAyOTZFYWFmMTY3Nzc2IiwiMHhFMDMxYUNFMDMyOWRGMGFGRTkxRTQ5MzY4ZjQyNjk5MjJjYzI0N0U1IiwiMHg4NkZjREQ5Yjc0ZDk0QzM4YTgzQzA0M2U3YzJCNjU5YmQ3REFFRGUwIiwiMHgwM0ZCOEI0ZjRhMWZBRWQ5NzQ4NDMwNDFDMDEwMTY4MkI1NjI3OThjIiwiMHgwOTdGMjVGM0RGQjExMzUwMDAyMjRkMjE2MjBERDJDMDY4MTBiNDI4IiwiMHhhRjIzQUZjMUEwMWRCMDkzODZiYzlGOTRkMDE1MDQ3YmI2NTdhM2I2IiwiMHgwYzQ0OUJDQ0RiNjY3NGU2REZGNTg0ZjEzYUQyNEUzNkRDMjcxQjEzIiwiMHg5OGMwRjRhMDVkRWNkZDFhMTQyMGY0M0I4M0MzYTA1YWJCRTU0ZjM4IiwiMHg0QTExYTk3RjI3ZDE2ZWNDYzZFYTM4RDQ4NDkzMENmY2QzOTU0N0QwIiwiMHg2NUI3Y0RBQ0IxN0MwOTA1NjNGODM2N2Q2NDMzMDRDNzFEN0YxNTUxIiwiMHhCNUFGOGU2Q0RjNjcyMDgwRUY2NzFhNzI2MjNFODA0YTA3MDIxNkQ1IiwiMHhBMDZiZUJlQkVDMjNiQzY4MDljNWM4NDM0MkIzODhiYTlFYTg4YmExIiwiMHgzMDA2NzlhOTRhN0ZFZTRkZDFlY0QwRTUzMzg0NTM4NTJlMEJBNjY2IiwiMHg0MjdDRDBCMzA5RDUzMzhBRDA2NDFENUM5ZDQxMTgzNTNkZDAxMGFiIiwiMHhFQmFCRDkxMjM2OTEwNmMyNGVERDYyMjVjODAwMGE1OTk2YUZCQzMyIiwiMHg1YjYxQzJkNjdDRkUzYTE0ZDcxMjU5ZjI5NDdENjJGMTlmNjMyNzlEIiwiMHg0RTU4OTYzRTBlOTYzYmE3OTYxQmQ4ODJjOTA3Q2Y3MjE1YzJmRjAxIiwiMHg1Nzc2N0M4MEYzRjY5NzFFMTQ1YTA0OUFlQjAyYjdDZTIwOUM4MzEzIiwiMHg3NDJDNTUzNTVENzQ2MUMyMjgzY0I5MmQ5NTVDZjJEMjUzOTAzMzQwIiwiMHg0NDU5QzY2ZDNEQ2RhN0U3MkFiM0MyNTA3MDNGNTRFZTcwNzdiNDk3IiwiMHg1ZjVBODI3ZTA3ZTQ0MTBhNDRmQWQ2MEFiNjEwQ0REMTRBYjJmMzA0IiwiMHhBMmEzODQ5QWEyQ0FlQTE1MzUxNTVkZTQ2MjNlYzA1Y0NGODYyRmE4IiwiMHgzNzA3OGM1YmU4NjAzYzVmRUU3OTM4NTIyYjY4RjdhRkY0NEY4NzBDIiwiMHhFOTYwNkIxNTA1YzAwQjYxOTU2OGZhQTFiRTg5MTVjNDEyZDVDZkYyIiwiMHhhY0JGQzkzNTEzN0FDMGI2QzVjZWM5QTg3ODQzNDk5MTMwMzczODFkIiwiMHhkODE2QTM1MEZmOWFmZjU5QUU4MDlhNTcxQ2FFQThiMzRlYzA3RTM4IiwiMHhjMjk2MjJkOTc2NDA3ODA3QzU4NjhjMURCZTg3MUU4RUQ0NWVjNzlGIiwiMHgyNENFYkViOUE2MDhDQzY3OGRBMDRBNDNiMTE3M2Y3QzU0ZTlhRmI5IiwiMHg3QmMyNDIyODE2QTY1MkNmNDVhMzlDNjYwRTc5OGQ0Mzk0OTE5Mzg2IiwiMHg5NUJCOURERWY2NTM2NzE5MUI5NTk4M0U2OTQwODY1OWYwMkY4NUQ3IiwiMHhkNkE1ZEM4NGZDNjA5RDI3QTFGMzY2YWEyNTE4MTAwZjk3QTIwMjRmIiwiMHhGNTBDMkNjN0EzQWYzN0VERTNCY2Q5NWE1YzYwOUQyNzkwNkYxZTY3IiwiMHg3NjFEMTU5NmM1NTIwNUVGMDA2NmU1MDFDOEY0YmZmQzc0ZTI3MDZEIiwiMHgxMmE0YjJlMDVDYTRmMjc1MEJFZjA4RTNBZUQ2N2UwMkY0QzlhM2YwIiwiMHhFRUFFMjdhNTczOTVGRDNBMDdiN0MyOTkxNWNFNDQwMDk2ODk5MkQwIiwiMHhEMTRFYTBFMjUzM2YyRDdiZjAxY2YyMzAzMEFmMERkOEVGMEVCMTg1IiwiMHg4ZmM0ZTYxRkFDQmNhNTE3Q0U4ZmRBNjVmMUVhNjAwODQyMzNjZTdFIiwiMHg3NDVmQzkwMzYyMDkyMTY0M0UzMkMwODE2OTc1RTQ1RjQ3Y2FiNmYzIiwiMHgwNTFhOTIwYThkRGI3REFBMTE0OThmMTk5M0U1MTJGZTJFMjhBNGNEIiwiMHhFOTkyZjFFYmRGNjUwOEIxMDBhYzE0M0Y2MTEwNkQzNEZkNDJEZGFiIiwiMHgzY2QyQUUwNjc5YjRlNTQwMTU1RThGN2UwRjM4NGJjNzNiMTE0OTU4IiwiMHgzZkU3NjRCMDY3MkY3NTI5RjY2Nzk2Mzg5MkNkOTM4MGZhN0IxM0M0IiwiMHg1Q0YxM0U5N0E3RjIxQzIzNTM2RmRFYTRmOTU3RTgzYkM3NjgwMkQ2IiwiMHhjMUQ3NkYzRDhBQTk3MjdGZTI1Mzc1ODBFMDgzQzdiY2E4OTk0NGExIiwiMHg2OGE5MzBCZDI3RkI5NTA1Qzg4OTcwM0VGNjVGNjBBNWYwQjQ1MzRlIiwiMHg4NjY4NkRlRTJENzIzNEY0ZGQxQmM5NDkyNjdlOTU3MjFBQjQ5ZTc2IiwiMHgyYjlCOTY2MTk5MUFCMUU0NTAwMzM3Q2Y1NUU3ZDkyRDYyRTlBMTc1IiwiMHhBMTI3OWZDQzNjQzU5ODkzQjdEMzQwMWJBMjE5MDk3Zjk3QkMzOTFBIiwiMHhhMUY3OWMwZjI4N0ZmQmI3MDJjMGJjZUU2YTUxMTU2ODBCNmUzODNkIiwiMHhhNjRhY0UxN0YyNTFhNDFFNjMzNDc1MzQ5QTU5Q2ExODcwQmI3YzkxIiwiMHgzRDczOGUwNjExMDJkM0VkODJiNjE1OTY0ZDE0ZjYwNDExMzc3NGZDIiwiMHg5NjNGNWJjMWU1N0FlZTQ3NTQ1NzUxOGYwZDE5NzY0ZEQyM2ViOTQ0IiwiMHgzZkFiQjAwMDBmOWQ5NDM3QmVlNWQ0OTU3NjZBQ0MwZGZEMTIzMDU3IiwiMHgxM0IzZWE2YzlBYTkxMWY3MjA2ZTlDNTg5QzE2QzlhRDcwMmUxNDMyIiwiMHhFNjY4OTAyY2UzN2Y5Njc2QmJmQzgzMTMzYjBhQzY1NWYyMDY4MTIxIiwiMHhjMTg3RGUwZDU0NWRjQmI2ODgyN2Q4ZmU1MWY3NDMwRjEwMTY4QzZFIiwiMHg5ZjRmRThBZTlBQzIyNDFjNzdGNzAyOEMyNTVFM2QzNjU0QkZlMDA4IiwiMHgxM2NjYTU3MWEwZjhlMkFBMTJBMzgzNzRFMzE0YzVCNEVCMEZGMGRBIiwiMHg2MjAwOGEwNDQwMTY2MjY4OTQ2N0Y1ZUU1RDU3YzQ4NjNhREFiRkMwIiwiMHg5ZTcxNDFmRDYzMUJCYjJlZWIwMjgwZWEwNDFDM0I3M2Y1ZUJhNEI1IiwiMHgyYTExM0M1Rjg0NUM0NTQ1QzhmZTMxOGM1RWM1MkY0NEU0ZGUxOTNjIiwiMHhjN2NkN0I0RTdjYzgwOENiMmE5NTIzNjZiNURhMTZmRTRkMTMwMWU4IiwiMHhDMDlBYzU5NGJiNTBmRWZBNTg1Mzg3MjY1NWM4ZTE0QThBZGMxOEFDIiwiMHhGRTJlRDAzMmZmNTc0ODgzODZiNGE5RDY4NDgwQUQxZjlGMjVGYTk4IiwiMHg1NUE3ODE0RTc2M2UwMjg1MGI2MUY2OGMyMzUxRjEzMjA3RjcwNTNhIiwiMHgzYTBmZjc0NURmOGI0QjMzMDFiMzE4OEM5ODc5MzNiOEUyMjA5MUVkIiwiMHg5RTA1MTZCOUM0OUZDNzYyY0NCNjU2NzI2Y0RBZTBFMzQwNTE0OUFkIiwiMHgzYkMyRGE2OUZkY2VhN0M5QkZjMkMzYThBNUFjOWM1YTI2NmZhMzE4IiwiMHgwMDdjREU2YjZhMzgxMzFjMjAxNjQ0RDU3RDRiNDk1NjQwMkRFODdiIiwiMHhmMjMyRkZFNTAzODRhYWI1ZjhFRWE3YjREQTRiRGYyQjJkMzk4ZWY1IiwiMHhjNDRkRTZCODE5OEJkQTA2QmUxMzhmYjIxMzBjNEMzMDgzOGRmQTRBIiwiMHgxNGREMzVjYkY4MDkyMmM0RDJiMzlFODlFOTdFMDA3NDFFRkExNzE4IiwiMHg2NkY0MTM0Y2NEOTZiQTAzMTI3NjYwRjM2MDMzYjRkQTIzMjM0NkQ5IiwiMHg5YmEwNjY3QTJFRWI2YUM3NTYwYTViOEJlYTFlZWRkYTdhRkFiOUFDIiwiMHhEN2ExRTRiRjMyNzBiZjQzNjEyN2IwZjZmRkMzYUUzZjhjMDk3ZDdlIiwiMHg4NjlEMmQxNjM4MkY2ZGUyNUEwOTBlRGVhMTExQ0IyRkIxNzgwMjFGIiwiMHhCNDAzZTlGNWNBYWVBMTgwNUU5ZjlFZDU2ODM0MWRjNDkzYjlCMEZCIiwiMHhlNEExNzcyQTJGRUNCMDYzYUE3MzdlOTYxMmExMzdhOTk5RDA5Q0JDIiwiMHhCZGVEMUI0NThjZjZDMUNhYjdCNjEwNUZCMDMzNEExMmFjMThBRUIxIiwiMHg4OWREYkUyMTkzZGYxMjdiRDUyQjQ2ZTdDNjdiZWFlMzA0NTI2NTg4IiwiMHhkNDcxYzkzZjZDQ0M3OWZhODBiRmUzMjBCNTVBNDgxZGIzZTRiOTJkIiwiMHg4OWM3OTk1NjQ0YTAzMzY3NTBCQkQwYjc4Yzc4RTBhRTU4ZkNjQWEwIiwiMHhhNjEwNTYyODg5N2Q1Q0ZhRDY4M0FDNDU0YzUzNmRCMDBhMzM0YzM4IiwiMHg0NmZGNDViZDVBNDM0NmFBMDE5NWNDYkZDOGY2NGE3YjYyYzBCNGJGIiwiMHhBODI1MjNjMzRiMWNhNzRCQkI3NGJEQUFhMjEyRGMxRTZFODQ1MTM2IiwiMHg4MUZhRmQ2ODVEYURGY0MzNDcyQzU0M0I2QThiZTZhM2RCMTVDQzllIiwiMHhmMGU1ZWIwQjkyRjg0Mjc1Nzc0NjljQzlCMjdlRjY3QWVBMTlGMTE1IiwiMHhhOTY5QkJjYTE1OTM4ZTA3NmQ3MjRkRkIzMWNkNzQ3Y0Y5MDc3NjI0IiwiMHg2N0Q5ODBiNWRGQzc0RGMyNjhmMzREMWZmYzhFQjgyZDE5Qzk0Mzg2IiwiMHhiRUU2MDY4Nzk0NDkxOGU4RDdhNzM2REQ1ZDM0MEVmMTg1MjYwMjY0IiwiMHg0NzYxNkFmMDUxNjlGZEY3OEFlNzlFNjhkRjJkNzVBRjEzZjQyYjlhIiwiMHhCMjQxYzU4QzQzREU4ZkU2ZTAwODU4YTRmZjJCMzdDQkQzZDdEOUJlIiwiMHg0MzYzNThkYTk5NGVGOUI5MDhGZjg2NjY1ODM4QTg1MkRmMzZhOENDIiwiMHhjYzY5YUM1NkI4QzY1MzhEMDdCY2VhN0EyNGExQTA5QjVhMDNhQ0VGIiwiMHgwMTRjQmQ3NjJjMmI3Q2ZGODJCMTYzMDVhNEU5MTE3YkI4MzdCZUQyIiwiMHhkNGQ2NjUzMGJmODVjMkYzZjQxOTZDYzcyMGE4MDRmYzZBNjQ5ZGE4IiwiMHg4M2VhNjBjRGJkZmQ5ZmQxMjYzRTdkMjYwMTBjMzc3ZDExQjUwODdlIiwiMHg3NjdFMUU5NjZDOEZhRGUzODFCNGY1MThlOTFBNkYxNUM5NzVlOTM3IiwiMHhBYTcxMzMzZDlhNTJBQzRkRkVGNEI0YUREMDVDNkEzNDI0NjE0OGZhIiwiMHhhZDhCOUU0MDM0NDY3NTQ3ODAzZTIwQkIxZkRiYzU3YWM4NzgyMjYyIiwiMHhkRTI3MjZEYWZEMTE0NzJEM2RjMEVCQUU4YTZBZDcxOTFhMTgxMTY0IiwiMHg2MTlmOEVDMjgwNmJmNmY1RDJFOTI5YWI0NjY0MjlEYzZDZGVFMURGIiwiMHg2NDQwNERDMUFhYTJiN2YxNDM2OWZmYkEyMzYxNzFjMUY4NTk4YUM2IiwiMHg5NzZjYzVFRmVjQjhkYzJFMTk2MDI0NjlCMWZhNDNiMUNFQmIxNDRGIiwiMHg5OGNDMUM5QmY2QWI3NzEwNEM3QTZkY0M4NTA1REI4NDQ3MThFNjdkIiwiMHg5REM4Y2UyMGU5QTA5Y2Q4MkM1MTQ2ZmNFNkVGNTQ4NzJEYkJmQUIzIiwiMHg1NmVBMjU4RkM3MTEwNERDOUYwYWUwMWZiMTMzRDkwOTAxOUNkOUFDIiwiMHg5YmQ0QTBCYkRhMkYzMzNBNjBjN2ZCNjM2OENEZDIxZDdhMTAwZEZiIiwiMHg0MmM5M0Y3NzkzYzAxMjQzQzkzYkRjMDRkQTRDOTUzOGZjMDQ2MkZEIiwiMHhlMzlhNDlCQWQ0NEJiZGMzOWFCMjZDNGMwM2MxMzg4NzMyQjE4QjA2IiwiMHhhZGE4QTc5ZjA5MDQwRmE2MjU2OGJhRGI0RWI1ODg4NmJkYTBCNDkyIiwiMHgwM0JBNDNlNTY1RDdDNmRjNzhGMTBmMzM2ZTc1NzhhOUM4NDBhNDM1IiwiMHhlM0VFQzM5MjNmNmEzOWQ5MWFGRWU3NzFhZTREN2FmQzA1NjhkMjgwIiwiMHg3OWVkMTY1MDg3NGVhMTUxREZmQzk3NTU2RTg1NjZGREYwZjUxNTNmIiwiMHgwODAwYjkwQ2FERENkZDQ2OUU1OGRhNTliMkVhNzE0RENhMDExOGE4IiwiMHgxNzVEREViOGJjYzJkQjBkOGRjMkFhNDg3NjZjNTZlNGMzMEU5YjQ5IiwiMHg1QzczMTZmMTY3RDgzNmVmQ2QwNjk4MTkyMzI0OUI1NkM5NEQyNTVjIiwiMHgyYjQ1MkQwMDUxNUM5N2IwMTY4ZDRFODlBMTBFMTQ3MGMwYzczMzgyIiwiMHhhZjU2ZDMwMUJmRWUzOUQzOTk1NDM0ZTI0MDkyQTA0ZjhFMDVBRjFhIiwiMHgzMmI4NmRmOWU0MUNFODBFOWNDMTZENzczODU2MTJlYzI3ZUQ2MGI0IiwiMHhhQjJmQzZlMTkzNjc4NDdkMTliNzdENEEzNDI2NDVGYjZGZTExN2EyIiwiMHg0RThEQjIwNEUyYzI4NGEwM2MyOGM1MTYyYTExRjI1MzI3ZmQ1MDk5IiwiMHhFNzE2MWJkOUExOGQ4ZjkwM0FFNEExMTRGOUNkMTZmNjUyNTZBODdiIiwiMHgzNTM2NDU0RWNGMzEzQTc2MDJEYjg4NDQ1QkIwNjU4NGI2QWI5YTZmIiwiMHg2NzYzODk5NGU3M0M1YjFCMjNGOGM4MmQzNTkwRGNkNThFMEJlMDQ1IiwiMHgxMEQzMGQ0MzQ4YjlEYTc5ODI4Q0ZhODlmNDM4NzE2ZDg3MTc2Mjc0IiwiMHhCMWI3REExZDBDNTRjNjhCNTA4M0ZhNWQ2OTI4ODQ5MmI1NjI1Nzg2IiwiMHhlMDMyNUE5NjUwNkYzZUIwQzlFMzk2ODA2OEIwMDNCODY4YWYwYzFlIiwiMHg2NkVGYzFCQ2Q3NmZBMTEwM0NBYTUxN2Q0OUQwMkJBNGUxNmMwMUEzIiwiMHhGNjQzQzBBMjc3ODUxN0ExODJBYTUyQ2JDM2NDMjkyNzVEMEI3ZDhhIiwiMHg1Mzk5NDM5NzU0RTdhY0MyN2ExMEViOTQwMEM3MjFkODIwMzIwMjI3IiwiMHg2NDdmMDRlODk4QkRBRjExOUY4MjE4MTE4ZGRmNTBmMjZEMzA4MTkwIiwiMHhDMWM2NWI0NDU1NTk0ODg1QzlCNjU4MjgxNzVlRjUxOWRFRTZkMWVmIiwiMHhjNWUxNjhEMzQzNmJGOTM4QjY2RkVmYzRDYTdEMjNkNjMwOWMzNjUwIiwiMHhmQjMyOTlkODVCMTYzNkQ3OEQxOGFCZDZkOTc0ODllZjI3RDBiMkVmIiwiMHg2MDBjNjg2MzRFYzhjMTg1ZTlCOUUxOTZkMDVGNjljY0Y5NTUxZjRiIiwiMHg1ZTA0QjM3Yjc0NDcxZjE0MDE2MzM0NkZFYzcwMDEzMTNmYzFlMDllIiwiMHg3YWExMTU3YkVlYjY1YmNlY2Y4NUQzMTEzQjczMTcwODIwNkJBMjQ0IiwiMHgyMjlCYjJmMWE3ODhkYWQ4MEI4OEI0NDkyZGE4MDFEYjEzNTlFQTg0IiwiMHhhNDMzMDU0NDlCOThGODA3MjU1Yjc5QWQ0QjNlYmQ4NDBiM0RmRUYwIiwiMHhiMTdGMTUxNmFDNDBERTRjOGIwQThFZGRFNTE1NjFBMDA2OURBNjRiIiwiMHg0NDAzMmI4RDllYzYwQ0VjNTc1NDY3NTA1RjQ5NTMxZjk3NkRjMzAxIiwiMHg1REJjMzBkOGFiNkQ0NjcyMzQ0MGNhNkUyQmY0ZTcxMGFmZWM4NmMxIiwiMHg0MjBlOTIxY0FlMzZmNjY1MzNBZTdhRDg3MmI4NkQ0OERmOGExY0FEIiwiMHg3QkMyMmJBODllOEQ2RTYxNzQzNjU4ODU0NDQ5YTAxOWRkNjljMzA2IiwiMHgzYjg3RDA1OEQ0MTVFODM0RkREMjQwQWM3NTczN2JhOTlEMjU3Qzc2IiwiMHg1QWI3MTAzOGFiRmQ0MzVhM0Q4NTZjMzk0MWVhMDhFOGMxMjRBZGZlIiwiMHhkZjZhOTczZGFmRGNhOUJiMzYwZjgxMkRhNjAyYzVDRDliRTQ2ZDlDIiwiMHhmZTljODk1MTVBMjFEOGRFQmZhNUQyRUQxNkIwNmZkYkJGRWU3RWEwIiwiMHgzMDAzN0RiYjM0QUE1NTcxNWQyZkRlQjJEZDNhOUQ1YkM0NDczQjVhIiwiMHhGNjVCMzhkNjAwODNlYTk5NTlkYmU5QzI5NUYwNjM3QzVhOUVENzU5IiwiMHg5MzYyNUJkQTREMTY1Q2ZENTBGMWRjMWI4RkZEMzQ0ZWI0NDMyNTM5IiwiMHgzYmI4M2Y4MEMzMjAxOURlN2QxRjliODY3MzJBNGE5NzlkYjNkZTc5IiwiMHg2NjZFMUMwMzJDNTkwMGRlNzJGNTA3ZDNhY2IyZThhNjkyNjA2NzY1IiwiMHhhNjlFNkM5QTFBMWVhODFEN0ZlZTZlOTkxQWY4ZDU0YTc1OWQ3QzZGIiwiMHhmMjM4MGEyOTYzNDQ4MjM3MWIxOTViMGExY0RBNzkwMGFiNjIxYjNFIiwiMHgwNTljMzZjYzE4ZWY3ZUVkNENCMDJhZDk3RDVkNUE4MDM3Rjk0ODY3IiwiMHgxYTgzMDViQzdkNjIzODZBMTBhZTUyNzA4MTA0NWM2YTFkM0I3MGM0IiwiMHgxNzc2OUJEMTg1QzI0YUYxMkNlZDVEN0YxMjMyNDNGOTE2NDQwOEQzIiwiMHg2ZDVhODkxMkVmNTBkNGNBQ2NDZDIwNDcwNjQ2ODQ0OTVDY2MzZmMyIiwiMHg3MDI5RTNlMkM4MWI0N0RGQmFkY0M1NDMxQUFkNzhjMTNhZDM3MmRGIiwiMHgxRjFGMzFhNjRFODM4RjZFRDM5Yjg2OTI0NDY3ZTY0MzE2NjhlMjczIiwiMHhCMjFhRUVlRThhYTY0OTdEZDI2QjI2NmY3OTAxNEZEMGZDMjgwNjM5IiwiMHg1ZDhERTE2MUQxZkQ3MEIyYzlEQzhlYzU3ZTFhZjFmMDQyM0Q0OTY0IiwiMHhmMkUyMTg1NzZhODVjODgwRkMzMkIwM0E1YjcxNjczQTA1Y0FiOURlIiwiMHgwMTM5NmZmMGQ2NTY5NTE5NjY5ZUVhQUJkOTI2RGI5ZkNFNDJBZGE0IiwiMHg0ODJCNDEwNTc1MzBFNDZiM2UxQjE4ODkwYkU3MDgxODgyQ2U4NzhmIiwiMHg1ZmYxYzYxMjYzZjc0QUI5ZTBDZTI0NzFCZTI0MWE1MTU5RWUyNGFjIiwiMHhiMDQ4OTAxZDI5OWFFNTkzNDk0NENBNEU3NEZCYjdFQTQxOTUxNDkwIiwiMHhhQjk4NUJjZUI5ZjY4MDFjMTVhMGNCNTgxNjkyMkVkQzExODJEMjg3IiwiMHg5NzM0MTk5ZkE3MEY1NDkxNTk5QzU0MDc3Qzk0Q2U5YTYwM0M3N0Q3IiwiMHgxMENkOGNmNjdBYTcxMEJDMTQ5NDNhRUI1MzU3RmNGRjRBMWI2ZUY5IiwiMHhDN2MyNjg5MmVCZkVEMzZkMDZlQzhBN2I5RDIyZjg2ZUE2NTY5MjgzIiwiMHhiRjg5MDUxZjhkMDRhZDc3MGUyMjMxRTkzMzVkM0I3NDgzQTBBNTFGIiwiMHgzRjg4ODA5OTIyM2JmMTZmQTY5YkIzNWEwNDZCRTViRDA0MjU0MTFGIiwiMHg0NDFCNTAzQ2NFRjExMUQ1NTVDNUNhZGEzMjU0MEYwNjc4MDBCM2Y0IiwiMHgyMDczMmUyOWIxYzcwNTAzQWZmM2Y0YmIwYzM2MDlCMGQxMDAxOEIzIiwiMHgxMjM0MTA3ZDJmMzY3RmZDQWQ1QzVkRkU4ZWNmQjk4NERENzMwNzhhIiwiMHgxMDUxMEFCY0QxYWY0OTBCYTFGODA0YUZkREQ0NWE0Qjg5MTliYTQzIiwiMHhkOWZCZjM0NjQ0RjY4RTJkRjAyNEYyMWUxZTNlMUUzMjUxRTk2NjcwIiwiMHhlMTVGMjkxNjQ4YjEwNzVmODg4YTcwMUZmMWU2RDNENzhGOTUxYzkyIiwiMHhCOTZkOTFlRjg0NjJCODk0QzFhOTQ5NWRkZWZGRWI0NDE2NUM1RDE0IiwiMHhkMGI1Mzc2QjY4MjNENzcxNjdjMzc4NzU2ODNjOWQ2NkFkQjU1ODRFIiwiMHhGNTEyOEJlODQwNEU0MzNFNUEyOTQ2NzgwZkJDMWVFNDMyNDYxYzQyIiwiMHgyMTMxNTY1QzVkYWFmZjNCRTZmMjBBQTMwODk5MzdENTgxNEVhQTA3IiwiMHhkOTJBN0Y2QzU5RDQ2RjZmNDJGNDI0ZjdBNGQyQThGOEM0MEMwZjExIiwiMHg1YWFhMjFjOEQ4OGM5N2JBMjc0OUZiRGQyZkIyY2IzZmQ0MWUzNDRhIiwiMHhFNjRDZWMwNDBhYUQwRjRkRDhCMzdFZDkzZDE0MjI5RTc5OEFmZkE1IiwiMHhFM0VhODI3ZDJBNjBCNTQ3MGE4QzM3ODA3MGJFZDE4ZjNFNGJmNWM5IiwiMHg4MjMzRWI3MzM0NzI4YTQ5MDNGRDA5MDBiZEE5QUNlOWU4QTAwQjU3IiwiMHg3Y2RERTYxNDFmOTVFODUxY0NEMzVjREExMzk0RkI5MDRmNjhiNmRkIiwiMHg4YmFEYjkxNzIwMjNmNjBFMkY1MzJBODdjNDVGMzlGNWQ3NkQ5YTc3IiwiMHgyZENlZEYzMDg1MmY2NTliYTE0QjhlNTc0NkMzYmJjMTBGRWFkQWQwIiwiMHhiMTVFRTgyRUEyMzdjMTgxNDg2NzZGZTZjMkRFMDA3OTVjNUFiRDAxIiwiMHg2ZDVhOEM3NzVjRkE1RDMzNDYzRjAzNUM4RjQ5OTc0NTg3RWNiMEY1IiwiMHgxM0RjN2U4NjIyMjk1ZGU4RDU3OTlmYjExNkU0NDNFMTNlOTFjNWJkIiwiMHg1NzI4NUU3NjdGZDRlMmIwZDFmYmRlRjZlQmQ4MTg4OTA4MjI3M2ExIiwiMHhjN0JjY2RmYzcwMDA0NkZBZTg2NDdGOTk0ODY2ZWRGNmI3QzQ3YzkzIiwiMHhGZTBDMTdDOTAyQzAyMDIwOTc2RTUzRjRlZWYzNjk3Y2E1ODU0MGZGIiwiMHhhYzE2QUQ0YzNjNDJiOEQzNjhBMzkxN2VEZWRFZjQyMzMzMzlFZGQwIiwiMHg0ODVmQjZDNDEyODUzODZBMGNiYjQ2MzFFQzREMzZBOTlCNjgwYjJlIiwiMHgxQzQ4YjFERUYxNDA0NzUwMzU5RDNmZjVhNzY1YTkwQzNGNzAyOTk5IiwiMHgyZTc1NjRhQkYxNDhjNmRGOEMyMjIyQWQ4NEM3ZTQ4MUNkNzNGNTZDIiwiMHgxNzZGNTQ2RmI0NWU5Q2RiYTlBN0NEZTk5QWNDNTY1QWE3ODVCNTAzIiwiMHhjMjNBQzgwMTRGNDE0NjJDNjEzYjA4RjZmNjI1NkUzMTA5RTk5RTI5IiwiMHhCODNmQ2RBODZFOGM3ODFmNTY2NjkzNjMzMjRjM0U0MUMxRjVBRjk2IiwiMHg0ZDRlMTNDOThEQTQ0ZjYwM0ZmZDFFMGY5OGFBYThlOWQzN2U3RTE5IiwiMHhDOTQ1NzdCY0NFRTU2YzU3NDkwZUFjZEEzNUJhYTk1QTAxZDhlOTdCIiwiMHgzOTMyMGFENzc5QTFlRDA0NjgxNDI4MUY0NzI2ODJFMTQ2NjA5MGFjIiwiMHg3MzZCMDlhQ2ZEMTZhM2UxYjFiQzlFQjRjQzJCMDYzNTY0ZDg4N0YyIiwiMHg2RjA5NDdkOWEyZGIyRjYwMzY4NGRFNTM1QTVCOWIyNEI3YkZlOTRDIiwiMHgxOGZmYTk5MWFkNDJEZDc4Q2MwYjljYzFGNzI0NEI0NjJGOUU2M0Q5IiwiMHg5OThDYjJiMkE3MDA3QjE3OUQ5Q2Q0MUVjOWMzMDk0YWQ0NzM2YjQ2IiwiMHhhNThGYzk0Y2ZjNkM0MDYxNjViZEE0ZDRGNkZjYWYzQTMxRkQ4N2VjIiwiMHhDZTM5NkM1ODcwNEIxODFDNTBhZDM2MTE2MjNhNTdBZTEyNjJDOUUyIiwiMHgyYTQ3MzIzODVGYTE5Q0I2ODBGZUU4Nzk1NDU4NEU0MDY5RjMyNGU5IiwiMHgzNzZlNkEwNzVCNzlkOGFiMzg4Nzc1NDY0ODc2NzBhMmZBMTUwRDllIiwiMHhmRjE4QkJiQTE0YjU4QTk5QzJjMmM2NTk5NDg1YjYzNUFFMWRlNjFkIiwiMHhBMDdkMzQ0OGEwMjI5REM2YzNEOUJBNDBhZkE3MzNDYjQwQTIyMjEyIiwiMHhhMEMwRTIxOEYyQzc1NTE4MDlBMjgzNTk0RmVlNThhYTIwODA5RDQ0IiwiMHgwOUNEOTgwQjU4MzkzRjAxOUJlN0EzZDJjOTQxOTg0NWIwOTY0RDM2IiwiMHhGNTQwMDM2M2IxNzM5Mjg5RjUzNTY3RTlDZkMxNzg3NUREMzZhMTBkIiwiMHhCNzE2NjY3MTZmNWIzRUMwOEQ0OTcwMjJBRUVlMEQzYTE1NDIwZkIyIiwiMHg2Mzg2Y0Q4OUFEODNlNkQxYTMyQzE5NzAxNjEyYTZiNzRiRTZDNENkIiwiMHg5YzFhMTE2NzBiNWNhODI5MjBDMUYxNWQ1Qzc1NkM1NGREMEQ3ZDllIiwiMHhhRDA3ZUEwMzEwM2Y3YkJhQTk4OUQxNUFERTY2MDEzODAyOUY3ZkM1IiwiMHhjMEE2YTIxNzAzOUUyMTVCNUExYTJmMWMyNzc4M2UwNDNDYUYzMDg3IiwiMHhDMDkyMDQ5ZDdjODAzMzhlRjBCYjk4Nzk3RENFNzZDMzg1N0I2MDhDIiwiMHg2M0ZmNTgyMjY0YUE4OUExRjg3MDU2NDk4NWMwQzg3MTk3OWE4OThlIiwiMHgxMTc5RGIyMDVlRkM2MkY5ZTJFRTk1NkJGMTNDNmE0OUE2OEFGN2VFIiwiMHhmMTg4MzA2Nzg0Y0ZiQzY4NEYwODA4YWE3YzYwOGFmOUZhM0I0QzIzIiwiMHhCYjgxYzM3OWUxOTZiYzY4NWEzOUQ0MGI2NUM3MDZjN0U3MURjZTMxIiwiMHg4NWYxNDdCNDZjYmU4NGI0N2VhZjQxZmY2NTlhZmNmMTI2MTc2MDFFIiwiMHgxYTcyRjVGMDYwQzgyMWVmZEMyNEE1YkIyMENFNTlBM2IxY0FhRjc3IiwiMHhiNEEyNzYyODdDRjM4QzdFODJhNDFGYTlkMDY1NENCOUNDMjBlNjVFIiwiMHg0M0ZkYkVFMDFBMWY2Njk4NzY2YTUxQTY5RDRBODQ5ZUMwOUNCZTgxIiwiMHhhNzI0ODFjMkYzNWJEMDYxMjdkNEIzOEI2RGMwZDhiMEZkRkE5OUFBIiwiMHg0OUEyZjdBQjU2MUJkYTA2M0ZEN0EyNjAyMDdDYmMyMDAzYzVlZDk1IiwiMHhDMTYyRTU0QkQ0OWJlY0U3NTY0MzI1YTRmZDZiODE5NDJjZTVlNzljIiwiMHgwREIwRDQ3MDlERWI2MWI0QWVEODM1MzIxNDRjNGRiQTNEMmUwMkI5IiwiMHhDZjczYkMwOUQ5NDcxMTQxYzZGZDNkMDhBMjQ3YjA0QWE1MDM2RDBkIiwiMHhiNmZENkQ5NkFFNzNDNTU4RTQwMmQ1MWRhZDRiM0FhYkJBOTk0YTE5IiwiMHg0QkVjQmZmZjgwMzM0QjQyNWM4M0M3NzMzMjJFMGExNTJiQ2JlMkE1IiwiMHgxYjJhNjA1RDZDYkM1NUNhNzVkNWJERDFBYTEzNDNiNDY4N2M2ZWE1IiwiMHg5MDU3Q2NkMWFlQjQzMkRCNzcyODE5MDEyQWY4MzE0MUIyQjA2NjQ1IiwiMHg0NjVBOWYwMWFhRDI5MWRjRWYzZDJhMDJCN0RlOTYwOGFlMTUyZEEyIiwiMHg2N0UyQkNkZGM5NjQ4RTRkMTFEMkM3ZTczRjJEMTM0ODllRkNGNTU3IiwiMHgyOUFBMzRmN0I3MzcyNDQxODZlOTAyZUQ0OTgwMkVkOTgzQzEzMzg4IiwiMHhBOUJkQmZjMDA2NEJGMDlmOWVFMWRmRjBBREU2OUI2ZjAxMTMzMjYwIiwiMHgyN0M2MGM5RjgyODA4YkM5ZTQ0MURhQzNiQjhmYTNDYTg0MjRjQ0FhIiwiMHhFY0QyRmE4NzYxOWQzMzBiMDAwNkEyMjk5YURGNTJhNUFENDE5QTUzIiwiMHg0MjBmQ0FhNDAzZkFEYkY5RTlGNTJEYzUyNDlFQjIwMmU2QWQ0RjhiIiwiMHgyMTU2QkFhODA3MkM1Njc2OGY1NjAzYTBEN2UxMjE3NERDNDVDNmFlIiwiMHhFYzk4QjVEOTM5ZkE4ODcxQjVCQ2EyYTQxOTBhYzNCNjJkNTFjNUQ0IiwiMHg0RmMxRUYxOGJFNTQyNzIzMDdlYThFOGU5RThBMWNERjRCZWI1OTQ3IiwiMHhBQTIyNzA3MUU5Mjc0QjJEZDU0NWExNjFiRDFmMDc2MDcyOGQ5MjQzIiwiMHg4MjcyNjc5M0ZCNzcwNEEwRjEzODk3QTdmQjBjMzMyNzlBQzY2NDg4IiwiMHg3QzE5RDJENjI0N0YyMEM2ZjBFMTk3MTI5RjQwOEY4Y2QzMjBhM2Y3IiwiMHhEZGJCNjM0Y0UyMDE3MzQxZGU2NGM4MzM5RmYwNjIyMTVjMkFjRUNBIiwiMHhGODU0MjhGNjJlYzQ2ZTUxOTQ2Qjc4OTczQTZhN2QzRmFkM0Q5MTkyIiwiMHhkOUIwNjUzMkE1ODMyOEM3Yzg1QzdGN0Q3ZjMyNzYzZTA0MTdCMERlIiwiMHg1MDYwRUMzQjQ0NTAzYzk5NTBBOGJjRjBhMTllN0QyNTc3ODhFQjg3IiwiMHg2NjI1MDdjN0UzNzdGOTUyRTYwNmE5ZTk2ZjQyNDRkMTM4RDg2RDk1IiwiMHgxRTk3QTFmNURmZkI3MEUzQkIxNUI0OEE3OWY0ODdhM2QyZjI4MDlDIiwiMHhkM0I1YjkxNzBlNjA2MDc2MmM2NTliZWEzRUQxYjM4QjBkYkY1YmRkIiwiMHhCMTQyN2I4NTAxM0MzYWVhRjEzZUJFODEwMUFCNUEzOUIyQzUyYjRDIiwiMHgxNmIyMTFBODA1NDJERjZlNzhhMTBmMDYxMjBDMzA0YmYzMTE1ZGM4IiwiMHhGRWQyOWZCNUQ4MUMyMmUzMTkwMkRlMzlBNDVjNUM0NDk0OThhQjlmIiwiMHgwODZkRkE4M2M3NmI5NzU1NWQ5NDQ5NDEzQmQyZDVCMzExQTYzRmFlIiwiMHhFNjkyRmRiYzI5MDEyRjAwMGU0MTQyRjE1MTkzQjY4OTVCMzM5YjQ4IiwiMHgzOTQ4RTIzNjQwOTg5NjY1MzIxOUE1NDYwYWY0YjkyODUwZDBkNTlGIiwiMHg3ODAxYzcxNWMyRDQzQjg1QTkzZmQyOTU3MDc4RkJlQjBDRGU2OGUyIiwiMHgxODg0NjA0OTIyRWUwNzM1NjlBOEY2YmRkRTQxMzBDMjM0QzA3ODdGIiwiMHhBZTI4N2JjRDQ2RjI5NDZkNTFCNDg2QUU4ODU4ZGIxRTVhNzg0M2Q5IiwiMHg1RDM4NjU5NTg3NEY4NTc2NWI4QTk1MjczOTU4NzA3QUZENDQwNjFBIiwiMHg4NjM0QjRDRTg1OTUyYjUxZTEzYzYwNEI3QzdDN2ZFM2QyMEREOTYzIiwiMHg4MDFCZTU1MDg3MTZiQ2E5RTFhZWNBODE1Njk1Q0U5OGM3NjUzRjhmIiwiMHhENEQwOTBBQzViMzcyOTE1OWYyZjY5ZkExRTg4MDBDMjQzQUU1QjU4IiwiMHgwNDk4RjU4MGNBRTFFNTUwRjlmOGE3MkExQzEwZUQxMjg2OTAyOTRhIiwiMHhjMDZCNWVhMkJENzE0MTE5MzlBMTUwZjk0QjZCRUMwREQ4YTRkOEI3IiwiMHhBNkNlRkE2NTBFMmVlNTQwNGI5OWY0OWY0MmQ4NjM4YTAzQmEwODQ0IiwiMHhkZGQ0ZGU5NTdlRkQ0NjJDQmM0NDc1NTRGMWNGNzU1M2E1MjdjRDdGIiwiMHg4MTc3NEZGNjVjMDE4NDFlNmY4MUI1Yzk1MWY2NDcyZEFhN0NlQTlCIiwiMHhmRTA3NUQzRDJiNDcxMWJBMDJDYTUwMjI3YzA0MjZEMjY4NDU2OTJCIiwiMHhhRWI3NUQ5NTRiNEIxRjRGN0Y0OUYxYzNhRjI3NDc2MmRCYTMyYUIzIiwiMHhCMWU4M2I1RDlDRkVBNTM1MTRCNWExODZmMTlmNjQ5YzBGMDUzNzIzIiwiMHhFRTI5YmFCNDAzMzZhQ2Y4MjE2RjY3QWExRDk2YkI5MmU3ZjhjMjRlIiwiMHhEMGVGOUEyMjRjOEI4M2IyODcyNWMyOGU0NEQ3QzZjZTA5NDA4QzMzIiwiMHg0YjkwNDY0NzQ4MTJmNGQ4RkIyNjc1QkFkMmI4RjQ4QWNkNmIyQ0VmIiwiMHhkRGM4NzZFNERBOUUxNkVhMGM2NmM4QmM3MjM1MjI4MTQzMUI0YjhBIiwiMHg5RTY0MmY2N2Q3NWQ5MDk2ZGE5M2JEOWUzM2ZmMmYwY2ViOTBkOGRkIiwiMHg2MzI1YTkxMmU4MDI4NTE4RDcyMTQxMEJiRGVmOWU5NjgwMjA3MjJhIiwiMHg5YjhFY2I5OTA2ODNhMjg4NzQ0NEY5YjBhQjdhNDY3MDdBM2U4NUE3IiwiMHhlZUZEZGU2QjNGZkFENWM5NEY1MjVGQ0UzYTI2ZDFBMzJGMWNmMkFiIiwiMHhBMjYxZTIxOUNiNjRiZGI5ZTNCNEYzNzVlNzUwQTlGNjRBNjEzNDRBIiwiMHgyNDlBOGQ5QmE1OTVGOTg5ZUY0YzA4QmMwRWY5OUQ4MDdDMWRDZjk3IiwiMHgyNGI3NTFDOTJjNTIyYUExN0E2NkU0MThhMDU4QjgzMjhDMTE4OTc4IiwiMHhGZjBiMkQ2NzQwQjAxMDcxNmFlQWYyMjc2NDg3MzlBMjExZUQ5MjdjIiwiMHg3NUVlMzQ5MzZmQzcwQjczYzUwNmU5MWJFMEE3MWI3QTcwNWU3MUJDIiwiMHgzMjdiQTEzNjExNjc5QzNBYzU5MGM5MWVENzk4N2JjNDRBMzgwREY1IiwiMHhBMWQ5QkY3OUZCOUJBZTE3ZEE3Q2UwYUMyY0M4QTVmOGVGMjY3ZWJiIiwiMHhiYjU2QzlhNDc0OTMyNERiNjhFMDg5OWQyMDY3M2E1MUFlOERjMUJlIiwiMHgzZTIzM2ZiOTFlODVBNDk0YWE0YTc1MzZlQUEzM0MzMzA2QkM1ZDU4IiwiMHg3ZUMyNzQ2QTI4RDc5NEYxZUYyMDliNjA5OEJkMUJlZTMyMDI1NTVkIiwiMHgxRkQxMGQwNDIzNzE3NDM3OGNBY0E3ZDE0MDgzZTRENDIyRDYzMDkxIiwiMHg2MjM1MTBFMmI1REUxOTEwNGEwOGEwNUZGMjMyNTI4ZjQ0MzA1RGIxIiwiMHg5OWNEODNkNGQyMjk4MTg0NTFlNUZFODNFMTJkRDU4MDVFMUE4MjE4IiwiMHg4QWZFN0NiMTkwQURiMzg5Y0Q3RjA4OUJiQjAzYWU1ZTNCRUNkNWNkIiwiMHhDMmUzODYwMjk3OEQxQTVjMmZkMjE3Rjg3ZTVBZjI5NTBhNmVmRDREIiwiMHhkY2VEYUJhRDEwYTJCQjU4NThDMTk0OTYwMTI4MzVhMjMyMDVjMWRGIiwiMHhENTFhODZBOTdkZWUyMDM1MmJiMkFBNmJkQTdjZGIzMkQ3Zjk3ZTY0IiwiMHgzMDVhNGNGOTA3OTU3ODFjNzU2M2NkREExQTFjNGE3RjQwNDVDRkM2IiwiMHgyRTcxMjMwMDRlNTdCZjIxYzRhNDUwM0E5OTk1NWVkODg1ODUyNDdhIiwiMHhDMDZjRmI0NjI0REUxYzlEMzU4QzY5NzUzZDNGRTVhYzkwYjIwN0M4IiwiMHg2OTc5ODAyMEY5MkFmMWIzRjRjYzM1OGViRDEyRmUyNjQ3YmJCYTM4IiwiMHgyRTg0ZDY1MmExODQ1OTE3NDMwMkNkOTkyMjlmODMyYjAwYTU1ODBkIiwiMHhDNmE4NWMwNDcyNTAzOWJhNjQ5NEFDZUQxOTYxY2FDNUY3RTQyN0I5IiwiMHg2M2Y1NDFlYTIyN2ZGQjk5NEU0ZDdEODViMTVGOTI5MTJEQzNkYzIxIiwiMHgwMTg3NjIwQkUzOTFCNGZCMTNlQjRCZjU5MEY2MDMyOTUwNzdjMUU4IiwiMHhkZjUxMDU5QkRkYzFCOGFGNzMzNkQwMUJmQmZhNUFBMERGNDY2NUY2IiwiMHg4MzI5NWE1ZGE0QUQxRUFmRUEyNEE4OEIwNTNFMDc1NDlEN2EwNUE3IiwiMHhGOTFlYkFENEY2NThCOTBGOTM4OWVFODhlODBBNzM3RjFCNEE5ODQ4IiwiMHhiQzdkMThjMjk2ODc2OUZjODQ0NWVFNDU5QTdjYTRmOUY4YkQ0NzcyIiwiMHhiYzJjRTQyODQxMjU3ZmZDNTY5MzBjQUYzY0Y3MkI4MWE0OTYxMDUzIiwiMHg1MDczRTBmOGNkMzZiRkFiZjI1RTQ4RTVjQjFERDNEZEIwZTg4MWRjIiwiMHgzYUI0MTJhY0U3MjgzN2RFNzk0NWY1NDdCM0ZCNWUyODM3YzAwRWM3IiwiMHhGOGM3NmRlRjdCMUFFYkQwOEI1RGRGMEU0M2UxY0VDOUY5QkFFOTk5IiwiMHhDMDJFZTM2Qjk1N0VmRjI0QmRkMkY0QjY2YjA2MjU1OWUyMTgzNjUwIiwiMHhDYzVFZGJlNTlFYzY3MjBBNzJCZDExNEMxQzVmRDFGNjkwNzc3YjE4IiwiMHg1NGY2NTgzYzFGOTVCY2Y0ZDM4ZkQzMmQ1RENCQjcwMWVhOWYzM2UwIiwiMHgyQjAyNzU0NzUxMjAzMzhjODU5OUI3QjUwNDZjODY0REYyODdDODMxIiwiMHg1Nzc3YzdjZTkwNzA2QzQwNzA5N0NGNUI2Y0RGZmQzQUJBOTE5NGM1IiwiMHg1QjdlOUE4OUU5NDZENDBiMmVGNkZhY2UyMWJBMDFmOTJmZDkyZjMxIiwiMHgyMjA0OTQ3YzgyM0M5MjZjQjRiMTVkNjc1ODRhYTJCM2ZhOTExZmE2IiwiMHhCQ0M1NTU1ZTJDOUU1MDg3N2NkODc5RGVFRTc5OTAyNEQ2OEM4NzAyIiwiMHhGQjJCOUZmQzk1MjQyQjJhQUVDOTI3MmYyRGM5YzMwRWE1OWYwOGIzIiwiMHhENDA1MTI4NWFhZTJjNThiNTMyNWUxRTYzM0NkMzlGNTNiY0IzZjk2IiwiMHg4NkNlZDEyMDMzMDA2YkUzRDRDNjhjNUQ5MDVkZDE5RDMyNTE5OUEyIiwiMHgyYzdFNzEzY2RjM0VkMjQ1QzM4ZkU3Mzc4OEJkNEZBMjMyZUQwYmE0IiwiMHg4RTZkN2I4MDI3ZmQ3MmUwRDA1MkMyNjFFOUU5OGVDNDJCM2MzMzNBIiwiMHgxMDgwMjRENjQyRjdhNjJhZmE1NTc5YkRFREJiNGY3ODAzMjRjQTcxIiwiMHhDRjc5MjQ5ODA1Qjc0YWE2NUVjOUU2QkYyMDVhMTFCNzdjRjJEZjBmIiwiMHg1NTIxMTJmMkU5OWY4Rjk4NDliNTY1QzUzQTlhMzRjQjVFMDA0NTJhIiwiMHg5RDJhOWRjRWVmOTA3NkQ3N2UzMGJDREYxMjU3YzE0NzRGOGIzN2RGIiwiMHhCYTBkQjEzQmRlOWY4OTY0NDhDRkI0NzA1QmY5OGU1RDM4OGQyZjg0IiwiMHhhOTFmZmU0MGJkRUIyNWUzQWU4OUNhYmRBNzRiMDViQ0E3ZjU5RThGIiwiMHhDZTgzZkFFN0I3MTk2MGUyOGQ4QjcxYjBmZTc4NDFCNjQ3ZTIyZTU2IiwiMHhiNTI1ZTg1QjgxMTgyMTA0ZjY4NzlCNTFiNWE2MTY1MzU2MTY0MjQyIiwiMHhGNDZBOGJENzYwOTZiZmQ0YzBFZGYzRkUzODlBOTZhMzgxRDgzQWM4IiwiMHgzOEZFNDY2RWU3MDVkOTkxRTBCNEI5N2FFODZhNTAxRGE2RkI0MTZmIiwiMHgwQzMyODI2NmQzQzEyQWYxNkI2NzJmRGZBYjA0NjU2MzYyYkI0Qjk2IiwiMHhkYzQwYTg0NkU1NjU0NzRiQWMwRGYwZjE3QTBCOTc2NzdBY2E3ODM1IiwiMHg3ZWM1YjQ0NzNlNWJDODgxNURBYjQ3NjAyNUIzNTM0NzY1RjY5MWNhIiwiMHg0RjgyZEVGMDQ3Mjg4NzAwMjYxQTdhRjY4REREMWVFNDM4Njk5YTM4IiwiMHg5MjE4QzczZGY1MzQ5N0Q1NzhBMWEzMjAxMkFmRTJBQTllNDVjNzQ1IiwiMHhkNDUyN2E0Qjc5NDlGRDc4MDlBN2RGQTI1QTEyOTFlNzU2RTI3Y2JEIiwiMHg3MjgyM2E3NDc4MDExZDA4M0ZERGNBMUNGREQyZkI4NTA0ODkzNDE1IiwiMHhhNTRENDBDNTlmMWVjMjZFMjc3Mjg0MDY3MTYyQTk2MDA1MDVlZEJFIiwiMHgxMWY2OTNFMWY0OTUwM0Y4YWNiOUE5ODlBNGE1MWQwMzcxNzJGOGE5IiwiMHhmQjNhYzVEOTk5ZDk0Y2NEY2RERjA3ODQxNjlDY2Q3MDE2N2M5YjZCIiwiMHgzMmIyMDNkOWYyODk2MDExOUE3MzY5NTU0MkZCZGUzRDQyNDk0MUE1IiwiMHgzRUMzNzNmYmIyMjREQzJBNTlGNTQyNzA5Q2EyMjYzZjVjZDMyQzRjIiwiMHhERGIyQjQ2NkM2OEI1MkFjZGM5OTVFZUNjNDhhMkIyYzIyQjAwZGYyIiwiMHhEOTc5MmFDMjhkYjEyMDY4ODg2YUY3MjlhRTRCYTQ4YUE4RUIxODQ5IiwiMHg2NzRkNTY3NmNBYUE3NjRFNjFiZTRFMzczZjhBQjMzQkQxNDQyQkY2IiwiMHhkZTQ1MzJiODdmOGUyNzAwMTVERDNkMDQ3NjU2ODI4Q2ZiZkExMUE3IiwiMHg0NUM3N0IxMTQxZUQzMjMwY0VGNGRjRUI0ZTM3MGJkODBBOEYwRTI1IiwiMHgyQWU0MDU4MDg2ZDQwYTFCYmMzNkQzNTUxNjBGN2UyNTdlOUVBNzcyIiwiMHhEMjhGZjU5MGJEZTkzNjQwNGM2NGM2N2VmQTFjNjhhMzc1OTMxMDU2IiwiMHhDMUM5OWRCMUYwNWI4ZTg2NjY5NWVmN2MwYUQ2NzJmN2ViMThFMTY1IiwiMHg2NWM4NjQ1MkZBQTFBNEZFNjliNjNGODEwYTFlNTBFRUY3ZGZlRDk1IiwiMHg1RmZEOWVEMGY1YzczNTUxNjhDNmRCNDc0NjkyMjE4MTEzMDlDNjk1IiwiMHhFMUY0QzRjQTNjREQ1YmFGYkE4ZTg2MDM5NDU4RjM0M2QwYzMxNzdiIiwiMHgyMjY3MjA4Mjc0QjMyQjhCYWUzNzk1NjI3MzBjQTdiMmY0OUQ2NWUzIiwiMHhBOGVDZTliQmU3YzQyNzc3NGUxNkU5NTE1YTFhZGM2MDZGNTU5MTdCIiwiMHgzNzYxNDZiMTE3NkQ1NUYxQmM4YzQ0Yjg1YzA2ZTE4MzZkRTFEN2FiIiwiMHg2RWZkYkYwM0ZCQWMwNjEyMzM2N2RFOTFlNUNhNUNFYWU5NzRDNURFIiwiMHhBYTA5NjYyNjM3Q0IxN2ZEOEQ5Yjk0MkJiOWU5ODRBRTA5RjQ3ZDBEIiwiMHhGMDQzYzM5QTEwNmRiNkI1OEM3Njk5NUYzMEJhMzVmRDIxMWMzYjc2IiwiMHgyMjMzNzM3RUJDQjE4RmQ1M2U4MjVmZTJGNjI1NUMxODBhQkE1ZWNBIiwiMHgwRWMwRUE2ODFjQjM3OTMwOUIxNzQ2OTk4ODFmMDk4ZkEzY0UyNjdGIiwiMHhkRDM2NGZBQzA3MTkwQjc4Njk5ODAxRDc5N0E2MTI3ODAwRjU3MDU3IiwiMHg1YjU1YTVGRkJjNEVCOWM5OThjMUMwOGQzMzdENzQxYTYwN0NCODEyIiwiMHhCOWU2M0QxNjk0MjNEMjczQTE0MmM3RmUwZUYwNjQ0NzYwQTA0ODNhIiwiMHgzN2YzMjZhZEFFYTQxQTA5ZTlmOTY0ZDAwYTJBODQ1MjYyRDY4RkQ0IiwiMHg1Y0EzQkFkMzU2MDZiQ0U5OUQwMTljYjgzNDM1OTk5ZDhmNkE5RUYzIiwiMHg4ODgxNUVBQjBiZUE2ZTQwZjU1NjVBRTRkQWFBMzk3YTE0OEI5RDc0IiwiMHhmOGI3YzZkNjlhNWViMkNlRDBhREFmYjRmODgwYkVmMkI1RkMxOWM0IiwiMHhBOEVFMjc2Yzg0NzUyMmJlNjQxNDQ1OTYxMDA4OTI3RjUyOUU4M0VCIiwiMHhhZTcyMjI0ZGE5YjkwZDk0MTVGNTMzNzJFMzZkOWIyNmMxMmQ3N2NBIiwiMHhmMzVjQWMyQjI1QThGOTk5YjVlNDgyODY5MDIwNDQ1MUE0MzE0Q2JiIiwiMHg5MDhhMDA2OUZGNDQyRTA5N2QzODE0YWZiRTYzQzA0OGZFMDZDNDc3IiwiMHgxRTk5NTAyM2MwNUQ0N0JEOEZjOEQ4YTU4ZWQzNkIyMjUwNDQzNjBGIiwiMHhFYkUzMDZjRTk1RTcyMzQxNzY4RTNCNkQ1OGM3NDgyQjJiODNEM0I4IiwiMHhiNjJCQUFGNjZjN2IzMmM2QTAzNDY1NTdkQTI5NDlBMjM4ZmRDQzUyIiwiMHgzNThDZDMzNDBlM0E0OGU0ODc5OUE1ZjJkNjMzOGY4M0MyMTcxMGFFIiwiMHgwODBDM0E3NDkwMjg4YjUwQjUxQzM4ODdFNjMwYTExQWE1MEUwZDFhIiwiMHg0QkJlZGQ4M0ZGNTY5NjYwM0E4YjY2OERhMGU0NDYzMjM3ODI4MjU1IiwiMHhEY2Q5MDU0QzdhRjA4YmFBRTU4QzlFMjU4NzQ0QzQ5ODcxQTg3MzIyIiwiMHhGNGI5RjQ2MWNGNUNkOEIwQzM5NDM4YmFGN2U5MTBjRUI0Nzc3RDkwIiwiMHhiRDk3ZTFjNGREMzBBODQ3NjMwOEVBNDAwNzA0NjRFNjEzZDQxQ0IyIiwiMHg4NjRlMmUxMzIzODA0REM2NTIwMmExNmE5N2NjNGJhNTRjNzM3MGMwIiwiMHg4NjU4RUZmMzBGYjY2MTY3NjQ0OTNlQjU2MjE0ZkJBY0RkNjNkYkY1IiwiMHg1YkQ1ODVCOTY0YTU0OEQ5MTFDQkUyQzUzQTgwNzFiNDgzRjIzOUI0IiwiMHhhMjAyZjcxNTViQ0MwM2RFZUVDMzU2YmM1N2RkMDMyOUYyY2RCRjZGIiwiMHgxYTA1RWY4NzJlNjY0QjQxYURlRDc4QzlEQTcwQzU1MDM3NkU1MjM4IiwiMHgwMTQ3MTkwOTNGMDVkRmYwRkVGN0MyNDY5OTViMGJDMTZmNDgyRTM1IiwiMHg1QWJjYWY4N2QxNTgxNzc3ZTJGM2Y4RjYyN2IyYjYwOUE5OTc1NDYzIiwiMHgxYmJkY0Q5OTJmNGU3RTNkNjMzRDQzRWUzMTQwMWY1NDZDY0UyOUZEIiwiMHgwQ0I5RTEzYWM3NUM5MTk1OUYyRTI0ZDU0NGNGMzVlYzUyOUJiYzRGIiwiMHg1RjMzZDcyZWU2ODBjZWExQ2Y0MUIzY0Y1NTllNDAwMTc2RDg1QTI4IiwiMHhmMmIyMTE4MmQ3MzZhMTVmNTFBOTg5ODZGMTViQjEwM2QzNmY3QUQ2IiwiMHg3OEJkOGU2YjAyMTUyZDQ4QzlERjg1M2ZkYTFGOUE1NTNhNjA5M2U3IiwiMHg1OUM4Mzk5MjQ1NTIwZkVEMkU3ZjNjRTYxNzExNDllRTYyNjgxYWQ4IiwiMHhhQTUzRGY5MGI2Y2UxMEZFZDc1RDc2NDE1RGIxMGNjZDM1QTU5OUQyIiwiMHhEN2YwZTY1OTYwYjM5MkMyZjEwNjVFMTNmMzEyY2ExQzQyQjJjNTI0IiwiMHg0M0JiODg5OTdBRWIxMGJBYzdhRTA2ZDI1NTY4MmZEZjI1RjA4RjU2IiwiMHgxZEExNjc2NWIxZDZFQTBGMzcxMkFhNEI3MjI3MTdDQTY1NjM4M0RjIiwiMHhCMzRGQ0U0NkQ3OEI4RTJFNDQzNDMyQjE1NDM4MjVFQUJmNThjMDM3IiwiMHg2QTllN2YwODdhN0QxMDU3ZGQzNkE4NEFFMTQ4ZEFjMkMwN2VhNjdlIiwiMHg3MzBkY2VBNGU3RTA5MkEwZmE2M0Q0MTkzMmU3MjY0MzRGNmZiOGNlIiwiMHhEOUY3MzFmRTk0Q0U1OTc4RkY3MDU5ODFBRjE3OTRCNTI4ODlBQTZFIiwiMHhBMTkwNEIwRjc1MTcwNDkzQjUwNTk3MjNiMmFhQkJBQzY4MTBBODJmIiwiMHhFYjgyOTJFOWIxMzkyMThFY0FlOWM0NzNkMjdhYzQyZkFCZEE2ZGM0IiwiMHhCMThDYjc5MUI2ODNGQmVGZDRGZTc2RmEyZENCN0RDZmU3YzRkRGUxIiwiMHg1YTRFOTNhZDBEYjY1QTIzODZBOUJiMTVCODdDODkxZjMwQWY2MjI3IiwiMHg4ZDI5QTAzOERmOTNEREJBOEU4OEY2ZGE2ZkQzMjY3RTdBOUZBQ2IxIiwiMHg4ODRmNTdFMzVkNEVlNDI5MmY4NkEyMzViNDVCOTYzOUQzNjU5MmFhIiwiMHhBMTA1MTI0NTc0QzkxOUEyRkVEZGRhRGUxYTVEQTFhMTIxNUU1YjU3IiwiMHg5NWREZUIyQ2QxMzQ3ZjcxZjk3NjYyZDM1MmQ0NjhlNzE4OTM5Q2VFIiwiMHgzMTc5QzBiN0FEQTA0MGEyQzllMjQ1NzlmYWE4QzE1NzUzMTkwNjc3IiwiMHg1YzhEZjEzZUM2MDc2MjM4NzUyZjJCOEIzNTYyY0VENjEyRTY2ZUFiIiwiMHhDNmE1NTRhOTc1NTNEYTkzRmUzMDlhQTY2OTlBZUM4MUU3MDllNzE3IiwiMHg2Zjc4NGVCQUEwMjVBNjhBNjczMTdjMjRGNTU3ZEM0MDg1OWQyM0RkIiwiMHhmQ0E5MDk1N0RiNDg2ZjJEMkMyQTY3OWFlNDFCNkZGQURlNzA0RjFiIiwiMHg1REMyQ2RjMDQ3QjQ5MUVERmQ4MDkyNjY3NTlDNUU3ODUxNjJBNjRGIiwiMHhBYzk3RTJjMTQ1ZUQyNDYxYmEzMDJlMDUzYjliZDkyMGYzRjg0QTE1IiwiMHhBMzE1ODY0NjFlNzBEZTEzRGRCQThkM2U4MzAzN0M1MWE2NzVFRDg1IiwiMHhkODViNzA1ZjNlODhhRmEyMTdlM0UzNWQ4OTdFZkUxZDU2NDRDYWNkIiwiMHhiOWRmNWM2QjcxMzVkZTkzNzc4RGI2QzBmMjFkZjYyNUYwMWMwOTg2IiwiMHhDZTlmRGI5ZTlFMzU1MTIwNzE3MzkzYTI3NDhmODQ0RjIzZWQ1NzA0IiwiMHg4MjE2NTU3YTA2RkZiMTU2MDMyMDkyRDQzNWNGNzZCMkY1MjhENzM4IiwiMHgwYWYyMTg0MTczRjJhMjg1NWU2ZkE4OGUwNTg0MGU0M2FEOWVDN2YxIiwiMHg3ZGI5OTJDOEVjOEY3OUZEMWQ2MWU0MjJhMEVlN2RkNzIwMDMzRmM2IiwiMHhFRTIyM2Y2REQzNTg3Q2M1YjU2NDEzM2E4ZjFmNEI3YUJEQkQ3NzNEIiwiMHgxNzgyN2Q5NjFCNWZiRmJiNjlGRDc0YkVhRDg1NEZFNTYwMjYyMUFlIiwiMHg5MTJmNjBDYjM5ZUM1OTM2ODlBQzUyQUNiQzY4NTM4RDNmNTk4OGU4IiwiMHgzQTUyODg3MjdFZDAxOUE5ODM4ODMwOTg4Njg3MDE2Y2VEODBhNTgxIiwiMHgxNmExM2YzMDg3QzVjYTk3RTgwMjBmYjdGMDE4MDg1MzYwMkQ4NTY1IiwiMHg0NTQ4MzJDQzA2OTk0N0RBRDUyMkRDNmNkOTk4RDkwZDNjNDBBNjFiIiwiMHg4MzBhYjc0ODgwNUNmNDVCNGNGNDlFMjEzQWI3QjhCMzhBMjE5NWU4IiwiMHg5MjMxZkMyNjkyMTQ0ZTBjZkRGODRCZmY0OURDNDE3ZmJCYjA5M2I0IiwiMHgyOUVkZTVDODBmMUU4RTlDODllRjY1NTgzOWQ5M0YxMjJDMDA4YjkyIiwiMHg2ZjY0REY1NDQ0ODVEMmVjNTkyNTZDNmYzMDVlMjM4ZDU0ZDQwMTg5IiwiMHgyNDA4QjFlYzM1RTY3MjY2YTMzNjI1QzQ4NkFiQ2MxYzJBMkRmNTg5IiwiMHgxNEREMGUyYTBiODNCQTQxMzRGQ0Q4N0Q3QzQ0MzA3OTI2M2Q0MjQwIiwiMHgzNGIzYmU1MTY4YTI1ODZhQTFkMDMyZWM1OGMwOGY3QWJhYTI1MGQ5IiwiMHgwYzY0Q2ZGYkY4MzUxZUE2ODJCY0RlMjBkNWNhMDBFNTg3RmZDNzM5IiwiMHhEMDEyMTAxMzYwMjU5MTlBRjU1RWU2ZTgzNTk3N0UwOEQ5NzlGMDdEIiwiMHhDMzlkZDJBMTYyYzdiMEIxQTg5Q2ZDRDIxNjMwZDQxNTA3OWZDYjE3IiwiMHg5MDEyMGIyN0FDMDg0ZEUzMkEyMUVEMzM3MTQwQTlDQmFCMzZEY2UzIiwiMHgyQjU2YTNjOTc1MTJCNTRiMzEwNjQxMThhRkM4OTViODc3RjY5Q0Y4IiwiMHhlOUY2OTU5NzAwMmE2ODVjODcxNDg2NjE2NWJDZDkyRjE0OTU4OWUyIiwiMHg1OGVEODA4NTVkRTAwYkQ4NzI2NTA4RTRhMjk5YjhmNjY5ZTNEQ2Q5IiwiMHgzMzc5ODg4YThFQ2M3MzlhZDdlODVlZkVEQjgwRDFBODkwZDdDZmM0IiwiMHhBMDIxRjhiYjREZTlhMkY4OUI5MTdDODc3ZDg0NUMwYjY3ODMwZjFFIiwiMHg3QTY0MDBEMEY5NDZjYzQ2ZERkNzI4QkQwYkQ1ODMyMGJjOUIxMmRhIiwiMHg5MTFCMzBiMzU3NzVlNUZFRkQyYmVDNjNEZDRFYzU3MjM4ZWNiNkIwIiwiMHhiQjdBQmIzNzc1QmM1NzYzZjdkMUI3NWQxNjc4MjFCQURBNjk3RDBBIiwiMHhENTUyNTI1ODcwRjIyZTcxREM5QjE1Y0FDNEM4ODdlZmY3NjE4OGIyIiwiMHhDMGI4N0Y1MDk1MzNGODM3N2RiYzIwNjlmYWUyQjg4ZEVGZmI0Njk2IiwiMHhBNUM5MjQ5MzQxMzkxRGEyRTYzRjdjNmQ0NWIyRGNEMTJmYjZiNEMyIiwiMHhjZjM2QmYwZEJjODczQmVGODJEMTg1NTFmNUQxRmNiRTEzRjI5MjZCIiwiMHhFQTJDNzc3NDlhNDVlMmY5NEE1N2IwZGY4MzdDRjBlOGUzN2FGY2U4IiwiMHhGNDE0MWY4OTUyOEFGYkMxNDQ2MWY4YjFhYzBENEQ5NjJBQTVmNUNEIiwiMHhjNzE0ZUZlODA2RkI5NDFiODNlM2Y1RmMyZDA4NDM2OTE1MTk5MmE2IiwiMHg5ZTNGRDhhQWJiQ2U4NTI1YkFFMEYwQjNGY0ZjOTllNjA0NjAzNjE4IiwiMHhCQmYxOURmRjMyMzRGYkRDNDZmODk0MzBCMDBFZEM0Rjk4N0JkNDM4IiwiMHg3OTA2NUY4ODc2ZjJlN0Y3NTk0NDM0MmExQkY5M0M2NDgzZGFiQzJDIiwiMHhCOTA3NDJDOGJmNGI4OTdCZjEzNDgxNjU3NjZhZUIyQTc1Qzc4ZTAwIiwiMHhCODQxQjRDNkExZkVEOTIyN2ZEQmRkNmNEYWMyMDk5NjYyODM4QTliIiwiMHgwNjNjMWM4MjMyOGRBMTMzM0IxODVlNTU2ZDE1RTZCOEEyY2JhQTJhIiwiMHhCMzRGMTM1YzhEYjM2NUI1NTQ4ZjlGM2ZBQTNmYThCYWFENjZjOGU5IiwiMHhiM2FBNTczZDFDM2FiODE4QzVCNDFkNTMwNzAwMTJDOWFhNDkwM2IyIiwiMHhFMDVCMTVDMTk0OTQyQTYyQkQzYzA4MzYyOUU4RGY2MTJCMzJlN0NjIiwiMHgwQmEyRUU4QWIzNzgxYmNDNDI2MjZhNzY1ZjZiRkFmQzA1MzI5ZEU4IiwiMHg4OWMzNWU4Mzg2Nzg4Y0VCNTk5MDUzOTQ2MWI5N0Y4ODVCYzc5RDhFIiwiMHhBMjRERGNFYkNlZEYyQTIxNEZlMjBGRGMyOTkyRDI0NGFjNTE1NDk4IiwiMHhkMDdFMTgzNDFkMDIyNzk2NjAwOUJhMmEyM0IxQjY4NGFkMDBBMjUxIiwiMHgzN0VDYkRCRDlmNDA5MTk3ZGFjZDVFZWM0QzBCQ2E1NkNCMENlZUExIiwiMHgyYTQ0QjkzNkU4YUQxN2UzNzBhQ2RkNDI2MTQxMEU3ZjI2Y0FmMWMzIiwiMHhhMTc3M2UxMzE1NzA2MTU3QTVlNzg0OWRiNkQ2NzYyNTc4NDkzQjQwIiwiMHhGQmY2YWZiMjM1QmQ3ODU3QTUwNTFhNGUxNUM1MTEzRTk2MzFiNTU5IiwiMHhBYUNmOTA4RkIyRDg5MDFkYjVDM0ZBNDIxNTU4QmUzOTllNWI0ZkY0IiwiMHhFMDE0NTc2YUUyNGRiZjY3RTg0MmUyNzEyOTZGMmM4ZEVEOURlNzQyIiwiMHg4Qjc5MzMxMDM3QTE3Yzc1ZTlGRWY3REE4RjFGQkI5ODY5NzFCMEMzIiwiMHgyMDJFNDA4MUQ0ZEFlQmU4ODgyMjE3RmM5ODFENjEyMjg0ZkM4OEU1IiwiMHg1NjRhNWY4ODk5ODZjM2EyQUFkMTQzOTAzN0Y5MTcyN0JiQTQ5OTg0IiwiMHgyRDBDN2MzMDJGRmZmMTI4OTREZGU1OUY5RkY3MzhFZjdlRjJhNjYyIiwiMHg1MWE4RkNjYmNCNjYyOThjMTAzRjEzYWJmNWE5NkFhQTE5NDYyOTA5IiwiMHhFYjYwNDk5OWM1NzdGM0MxNGY3MjM4QTMyMDRFN0NhN0VGRDdmNWJBIiwiMHgyNWYwZWFkNUQyYjREQzhFODI1M2EwOWJDNWU3MzRFMkNmNUMyRDAyIiwiMHhFN0QzNTI4YUUwNWMxNjA1RTMyNkExQzMwNzdDNGI3MjdGNjdlNTg1IiwiMHg1YTU1MUM2RkMzYTgzRUU4ODFCNzgzNjI1YkExZDNGNTczQ2YxQzZkIiwiMHg4NDc3MjY1Rjg2NURlY0M0YTNkQ0YyQmRlQTUzNGJDNzk4YkYxNjkzIiwiMHg4MzVlZTU4NUE0RTdFQ2M4NmJEZEUyNjlDNDY2NjA1MTZkMURhMjViIiwiMHhkNTQ3NDFmZjkxNTAxRTdhNERiZDNCQ0E5ZEM1RGMzRjM2YjJBNTk2IiwiMHhmNjJhYWI2QzY4MGMwYjgzODM3RWY2MDQ4ZDVFNTk4OTk2Zjc2MjdFIiwiMHg2MTAwNUY4MUNkYkNGNDRCMDlFNUIwMzhGODQ4ZjFjMzQ5Q2NlNDg5IiwiMHhkMDI2ZTBCMTMyMEIxMDg1OGUzNjk0ZWZkMmVhMjUwMDQ2QjdhZWIwIiwiMHg4NjAyZDY1OGZCMDQ0MWEyNjc1YTU1MzYxM0Q5NzQ1RTBiZTY5RjYyIiwiMHg3ZkRDYTBjOWYzMTBiYmQzZGMxZGE2MDY0QTlkMWNjQTY0MUY4OTczIiwiMHgxRTlCNTRFMTRDNTFiYjlFOEJiQjc2NDY3YUU3ZDkyMEY4MjdBMjg0IiwiMHg4RkNBRjJhNmEzOTZhZUE5MkU2RjIzMzE1ODQ0Njg4ODcxMjk5QUMzIiwiMHhmZDM3NkQ1NmY0NDIxMDk4NjFhYTc5RjNhZkY0NjJiQkM5NzBGYjYzIiwiMHg5NDc2NkU4NzQ5NjRlYkI1M2I5NzAxNDgyZmM0OTIwRGQ3MGNiRTZBIiwiMHg0OTQ0YkMxODdlYzZGNEI4Y0QwYjVmNWM2MzUxNzdiN2NlQjdlMTkwIiwiMHhFOTFEZkFlMjZlNGQ1MTM5MzM0MEJmOEExMjlBRUI2YkYyOTY4M0U2IiwiMHhFODUyMTJCNzBDYjA3Yzk3NzdGMzAzNDM1N2MxMjZBMzlCNURCYTJlIiwiMHhBMDA3NGM5YzY1QzU2NzRFNDFlM0M2Mzg5NjU5N0JCQzU5MEExNDQ0IiwiMHhlQkU3ODJGZDJmRjJCNkE5RTUyNzU4MzhFNjEzNTdlMTY4RDkyNmY2IiwiMHhmOGE0MDIwMzc4NzhCQTYzMDY3ODNEMEE1QUVkMjcxOEU5ZjYyOTZGIiwiMHgwMjU0MWQ3Q0FCMzkyRDdCNDM3YTk0ODNhNmVFNDc2ODIwMWJjNzgyIiwiMHhENTBGMjVlQzA1NTA1NkY3NTIxRDhiMjNFZDM2M2UxOTA2MGQ5OEQ4IiwiMHgyRjUyYmRlYmE1NUM5MUYyMjJENGIzQzk0NDJlNkViNTNCMmZEMkJCIiwiMHg1Njc3MDJhMmQ1NzA5ODcwNjNERTJmQTI4MDBkYTRlREY2YkJhM2Y3IiwiMHg1NEQ4ZjUzRjkxMWZjOUI4N2U4ZThDMmQyMkMwRmJhQ0MxNmQzMTQ1IiwiMHgwZTgzNTZCM2U0MDA5MWJBZDBmQjljRUM1NjRhMEZFNTU1OEIyZTZmIiwiMHhkODNGOEJkY2M3NGNlRGJiYTMyQjBmNWJiZUFEOURFMTU5QzI1NWY5IiwiMHhkNTMxQzdDMjFENmQxYjMyODUyNjM5ZjM2MURkMWFGOTI1NzBhODM1IiwiMHgzZWY1MmEyMDNjRjA4MTI2QjMyOTQ0QzY1NzE3RTk5YUI0Y0I2QjFiIiwiMHgwQ0NjMURiNmI2MjFkRjQ3MDU2Njg5NWIxMTBEOTk1NjlCMGUzM2VDIiwiMHhFMTE4NDhCMTM3MzhkNjJFMDg2OGQ3MUNDOUI3ODBGOUQwM2RFQzVkIiwiMHhGRTZFQzJFNzVlN2U0NjM2RjVhMTNCNUE0MmYzOTYzMTY0NTIyNWY5IiwiMHhFOWNjMzFkYTU1MDgwNTkzMzY5ZTNDZGY1ODlCRDFERTg1RTAxNTFBIiwiMHhDMDRGMmUyNjc2RDc1Mzg2RmVhNmI0RUIyYzAwNzZjRjFlQTFCMGFDIiwiMHhhNEU4N0Y2ODQxZDU0YjU0Nzk4MGFhNTA0MThlNjJFQTMwZjNEMDJEIiwiMHg2M0FhYkY5RTg1REFhNjE5YWM4RUY2NzA1NDIzQmRDQzcwZDQwNURCIiwiMHhDNTI0QWREOTg0NGIwZWIyRjY1NmNiNDFiYkJGQ0QzY2Y1OEU5NjYzIiwiMHgxNEJjNDY0QzgwZDc3Njc4NTNDZjI4NGUyMzY2Qzk1MjMxNDNBQjUyIiwiMHhiYzQyNEFEMDljZDkxRTVDZDY3ZTNCZDE3NjAyNTk3YjAwNDNjYjREIiwiMHgwRjU2QzY0ODYyM2JFQ0VFQzIxNGY5ODBFM0E1Y2EyQjRFMzY4NWExIiwiMHg4NjVCZmM3ZjdhRDQ2NmIwNTFBNUU5RWUzYUMxMzlFQTY2ODQ3NjYzIiwiMHg2NjhFOWJmZGE4RDhiMTQ4N2M3NDYzN2M3MjYxMTQxNDc4MTkxZTdlIiwiMHhlMkMxNjMyNTg4ZTA4MjVkOThiMEJENmY2NGJkNzAyRDkzZTZkODdiIiwiMHg3NDdhMzIyOERCRjBCQkJjOWUzMzk2OEYzNzU2OTczMTZmMmU5QzcxIiwiMHg2N2ZFODE1OUZjM2YxNTFFQzM1OUNhMTE5ZTUzNGJlNzcwMEQ1MDljIiwiMHhGQzZBQ2JCRjgyMDA4QTY4NzJDNDU5ZDhjMmRlMTAyQTcwODAxQzQzIiwiMHhhZTU5QTRCOTgzQ0I5YUJlZWNFMzRGMGQ5Y2VFNkUzODU1ZUE0YkU4IiwiMHhCZTBBMEI1MGNBMDk5NzEzOWFDZGRFNWM2MTEzMTc0OWI3OUYzQ2Y1IiwiMHhCQkY5RUIxQjRCREJhQjlFOTJFMzRhRWMwQjZBMzc5NTFCYTUzNDJiIiwiMHhFNjQxMTdkMTdmY0U0MDEyNzAxMTA5ODdiQTIxOTE0MjM4MmUzMkQ4IiwiMHg0Mzc1MjNDYkU2ZDFkOTYyMjIxYzViNUJCNkE3OUE3NzA0OUFFNTE5IiwiMHhkYzAwMDY3MDE1MDI2MjBFYTFhMjZDOWEzNjEwYzY0YTkxM2I1RDUyIiwiMHhiYkRGMzRCZGRmYjc3MDA3RjFDQUFEZDkyYTMwMWMxOTQxZTc5MUY3IiwiMHg3REY2MDM1NEMxODBEQmRGMDg3NTg1MENiNEY1MDMyMTk0YkNjYjhFIiwiMHg5NmU2MjYzRjZDYjY1NGE0NzdCODg4Mzg4RjAyNkQxY2FENjFBMzQ1IiwiMHgxNkZhYzBiOTY2N0FmYjBmNmU0MDcwRWIyZTNkRDE5ZEExMkEzM2MxIiwiMHgyOTZjYjRiZTRGOTIwRUExMkE0NjhkMzYyN0I3YTg3RkY1NjQ1ZWIxIiwiMHhERkZlNjNFMjBEQTA3RGNFOTQyNTc5NDBmQjNjNDM3RGEyZjYxQmYzIiwiMHgzMDc5NTc4OGQ5NWI2MjhFYjQwM2RCMTM0NTk5MmI0NDhENzRGMTg2IiwiMHgxZWIxMDdkNkNGODlGZDFCMDdhNjRENWQxYjYyZDA5YzkwZTMxMGU4IiwiMHgyMkY1OWNhOEUwQjQzMTM3RDA0ZDE3MkU0MTRiYTQ3ODZBYzYxZGMzIiwiMHg1ODM2NWY4MUI0QjcyNjAyYzUyNzJmNTQ3ZjMzOWZBQzJiMTYwZEJlIiwiMHgwQTI2QUY1ZjZhMDU5NjkzNjYyRTIzZDAwM0I3NzZmRjgwNjZhNThFIiwiMHhjRjgzRWU3NDFEZkNGMDM5MzU0MjdkODg0RjY0RWRkMTMyMDNDNzVEIiwiMHgyMDkyOUY5MDhmQWJiOUJDMjY2ODlBODRDYTExM0RlMDQ1NWE2MUVCIiwiMHhhZDA1MDk2OTA0YzVCMURDZTUwOUMwQjhFOUE0QjkyMzFhMTc3OEJhIiwiMHg1OTkzYzQ2MDY5N0Q3NzM5RTUzMzNEODk2QThCNzg5OTU2NjI4MzFjIiwiMHg2OGIzNTIyOTMyRjI0NDZhMjY0QkM4MzVBNzk0MDk0M2NFNzZkZDlEIiwiMHg1MUM1MTM1NTRDNmZFNDhlNTY1ODhjYTBDQzZjNUM0MTgzYzBkMjc3IiwiMHg5YTBmMDFjNTZjZTU1MjU5ODY5ZjRjQjY2NzRFYUU1NDJDRDg1NTVEIiwiMHgzYjIwQjg0ODc2OTAyMDQyOTU3ZmUyOEU0OWI0NEZjMTg5OWUwMjQ3IiwiMHgxNTY2MWMwRDg4RTYxY0VBQUQ2NzZEQjE4MDllREUxZjI2OWQ4ZjI4IiwiMHg1NTMwMEJBYjVGMTkxRmMzYTBiMTY2NWIwOWY4NDE1ZDgwMkU3MDgyIiwiMHg5MkM4MTk0QzgwY2UyOWUzRTk5MjRhNzc5QWM3MjAwMkQ4RTkwYUFFIiwiMHg3NjMxQkFjZUVjMTg4MTdBMGRmZTA5ZUJjNWEzNEZBYjU1RGJGODBEIiwiMHgyM2I4NjRjQ0RjNjllMjk1ZTFCM2Y5OWZBMmU3Y2FBZDM3NTQyNzAxIiwiMHgyMTA0ZDdDQ2Q4Rjk4NzVFQjhhNzNBZTY1NEUwMDNmZUMwRTU0RDI4IiwiMHgzYThlMjIwNTA5RUI5YmI0RUU1MzA0ZjQ5OEY4OTM2MTc3OTcwNjkwIiwiMHgwMDZCNjM3NDRkMzFiOEQxMTcyQzNFNGU4MTE4NjE4MUJlYTdEODg5IiwiMHgwMzQ4NDhENTVkODQzOGY1NDMyYmM0YjA3NjQ2ZTkwMzczNjg5NmY0IiwiMHg0ZTMxZEQwRTNEMUI1Mjc2RTAzNGIyY0FiYjNFMEZBMUM1Qzc2Mzc0IiwiMHhCZTgwOGZjN2I4NjhkMmU1ODhmODlkY2EzZTU2MjgyRDEzZkEwYzBjIiwiMHg4M0M2OTg2MzE0NEQxMzJDOWQ1NTAxZmM3ZTIzM2JERGQ5Q0Y5NDBFIiwiMHhmNzE3NGIzNjVDYTUxN0JCMEU4MjU4M0FENkU3MGQ1ZmI0N2RlRkM2IiwiMHhkMjBDRERkZEJCOTdGODM2QjQ1MDY5YmQ2MUI1RGQ2NmRDRjNjQkE3IiwiMHg4MDQxN2Y0MTM5QjkyN2MxMzkzODU4OGM0ZWZDNTc5QThlQjRjQzM4IiwiMHgzRTY5NWE3OWZGODQ0NEE4NDk2Njg3M2Q0RTVlY0Q0RWM3NDBENDQ4IiwiMHhmZDEzODA0QzI3ZTA5NjNEZGJiRTBjZkZCRjVFMEZCODU2NmFGNEIyIiwiMHhmZDlhQUNjYTNjNUY4RUYzQUFhNzg3RTVDYjhBRjBjMDQxRDg4NzVmIiwiMHhDYjg5ZkMxQTA5YjYxRTdhRUZCZUYyNDRjNzk4NGNkNjYxODZiMGYyIiwiMHgyMWRBYTY0Y0ZiMDdCMmZDMDNmN2UwOTI5MTkxZDIwMDM5Y2YyMzgxIiwiMHg2NTMyOTNDOUUxMDJBMUM0RkM0MUE2NEJCNzk3NWYzNTM4NGI3ZTU2IiwiMHg4MjcwM0EzOEM3MDdiNzExODU2YjM0NTlmNTk1MzdkYTFFZDM0NDk4IiwiMHg2ODU3MWUzYTNjOUI3RDZFZDYwMDE4NjI2RmE0Y2MxOUIwNTQ1ZjI0IiwiMHgwZGNBY2NmNEUxOTI0NmJEMTQ5NTI5OUU3NTk5RTQ5RjIzYjgzYUQzIiwiMHg5OEEyQTYwQzg2YTc5QUIwNEM2MTIyNkUxODE5MzEyOTEzRTgxMGViIiwiMHg1MmJjRmM3NDE5MkE0OTMxYzQzNTdmOGY5RTBmOTI3N2M1ODc4NDJhIiwiMHhhZkU4OTQyZEM3Qzk4MDhGZkE1OGU4ZTVBOTQ1MThkMzg4OTUxQzBBIiwiMHg5NTRjN2I4Mzg5NWQxZTZDQzZEM0RiMTZjNDlmMkZkMjkxMGY2Q2EwIiwiMHg0MTZkN0I5NDM4Njg2OGQ0MTYyRjQ1MWQzN2QyQzNBQmIxQzkwMUVCIiwiMHhDMzMzMjJBQzkwMjIzQmU2NTI0Qjc0RDY5OTczYWM4OEFCMzk3NmI3IiwiMHg0MkIyYWNCNjcyYTIxNUI3QzA4ZTQ5NjBCNWQ1MEQ2NkRhNTlhNTFjIiwiMHg4NTJCQTA3NTBBNEFCOTY1NkY3MmFiZTFFNzQ2NDE5YjA3N2JmMDc0IiwiMHgwYTdiMjgxRDBDYkYzNDk5MGJDMWE5ZEU3RGJhNjRkOUYxZDNDRDc4IiwiMHhBODY1ZUIxYjM0YzUyMmM5REZFYjYzODRFRjBDZjlhMDRmOGRFN0RiIiwiMHhiNmI3NTBkQzdEMjE3QTA3QWVCNTRhMWYwZmFjYTI3YUJGRGM2NDJhIiwiMHg2QUMwOUUyOUQ4MjQ4RjY4NTRhOWQwNmRBOEU0MTMxRWM3RWI0NjZBIiwiMHgxN2IyODYxZWI1YUI0RDBEMTNjMEM2MkE4NzZBM2U4NjI3MTA5YTg5IiwiMHgzNjYyRmNCZDBmRDdEOTYzYkI5M2M0ZWM1ODRGOGJEZDQzODRiQTRjIiwiMHhCRGYxOWZhMDhmZkQ5Rjc4M0YwMTUxNTQ5NDAyNEVGMEI1RTBDZmM4IiwiMHg3ZUNCZTc2YzI0RTMzZTA4NzJhNzg2OTk4NTIxODRlRDU0MUY0Q2Q3IiwiMHhDZjAxYjIyNDEwQzgyRGI1YzcyRTI1YzI3ZGY1YTgzM2YxODQ4OGY3IiwiMHhBRTYxNDJmMzk0NDczRkI5MTE4Zjk1ODhCZjY3YUIzMmI0NUVCNTQ3IiwiMHg3OUQzMkQ1MmU2N0Q5ZjcxQjlDMzk2MDM1N0UwNjI4QWI3NTRGRTA5IiwiMHgzM0NEMEI3NjMxNEQxMEY0ZjkzNDU3OWYxOERBMWQxRTUzRWZBZkNiIiwiMHhjYjE5YTMwNTZkMkFhYjZFNjgyMTEwREE1OGJmNWE5MTJBNjJlNDI0IiwiMHg3Nzk5ZjE4NjE1MkNCMkM5QjUzN2UzQkQ2MmVhNUUzRDViYjliOTA0IiwiMHgyMTYwNzlCY2QyNjQ1MTE3YjA1MDU1NTkyM0Q5ZUVlODM3MUJhZkYwIiwiMHgwQjQxODU0RjVEMjUxQzEyYjFERTZBODhkZDQyOTI5NDRGMDQzMDVjIiwiMHgxYTA1ODBlZDE0NjI3ZjFFZGM4RDBhZmNFNzUwZDMzMkI4MjYwNWFkIiwiMHg1QjcxMWU2OWYyYTdjYjIwYjhEMDU1MkJhMTQ3MmYwYzdmYTFlQ2VFIiwiMHhlODdFNUJkMzRDRUZBMTcyNzI1ODBBMTVlMjBmMmZEOGJBQkIyMjk1IiwiMHgyOTY0ZjdjNWMxYjZiYTc3MkM1ZkE3RmJlQzk4NjBjZjMyMDBlZDA2IiwiMHgyQTk2ZDQwNTM5QjJjODg0YjBEOTlmYTIyOGY5Q2I4ODQ5NTAxYTAyIiwiMHhmQmYyMjRBNWI4MzVkN0ExODMzNTdBOTI2MzlDRTdGNzY1YjAxYzI2IiwiMHg5M0ZmNGY0ZmMyRjUxMTdFOWVmNWFEMjUzQTZFMWQyOEFEMkY4MWIwIiwiMHhjZjFFNEMzMDdmQzUxMTAyMTA3RmNmREI1YzRCODA5MWM5OEQ3MmZkIiwiMHhlOUIwMGZCRmMwOTVENkU3MEQ0OTkwNjBiNDJDMDhEMjM3ZjJlMGEwIiwiMHg3RUU2NGZDOEY2ZjdlOGQ4MzZkMTJBQkU0OEU5Mjk3MkVERGY1MjQ1IiwiMHhFNzBCNkZEMzlmMzg2QjVlZTQ0NDAyMTcxYjk4YjBGMDg3MEQwMTM1IiwiMHhDQzBhN0ZkMkJhYUI5NGU5NjUwZmM1MTkxNDczNTQxNmVhQTQ5MUU5IiwiMHhlQ2JDNzQxMDI5NjM0YjkzMTMyYTVDODE1MDI5MTJlRDc2REE4RThlIiwiMHhCNEI0NUQwYkI3ODNkRTRFZDBkZDk1OTJDNUQzQjlmNTNjMUEwQ0RlIiwiMHgwNTNlZmE2NDJkNWJlZTdGNjBDYzQxN2RiYWNhNzE0NUQxM0YxOEEzIiwiMHhmOTcwYkU5ZDJDODMwRmM2NUE3RjhiQTQ0OWJCNEIwREFlQWQzQUViIiwiMHg5ZjNlYzFkMjMzNkJFZTYzRTFEYmVmOEQ3MzM2MDgzNTJBOTQ2RkNEIiwiMHg1QTA5MDY5QzkwMTA5QzQyYTQ2QkJBMTBGMTFDMEQ0NUUyNDQ5RUI3IiwiMHgwRmU3QjQ5ZUZkMzBhZUQ2YUJlYzBhY0RhMGY1MmQzMTgyOGU4RDBjIiwiMHgzQzc2MjI5ODI2NDkzOWZEZWM1NThDRDMyNDRiNjExNzREOTY3Mzc1IiwiMHhCNkZDNTVkNjM1ODIyMzk2YWRhZTJmZjFGRGEyNzU0MmI1MzgzQ0M1IiwiMHgxNUJiYjc2Y0JBZmM3QTZERTQ2ZDRjZTQ5MDAzMzdlODJENERjMmQ1IiwiMHgyODhlODNiNjg1REI5MDQ2NzRlMGU0YWNhZmQ3MURCNjYxNTg3Nzc2IiwiMHg3ZjBEZjE3NDQ1YzY0YTIyMmFmMjI3NkEzRWNBRmNkN2M0M0E0YTVjIiwiMHg4MUVhYzZDZTc0MDEyYTBFOTNjMjVkNzdhMUQ2OUY4MjgwZDc1OGRmIiwiMHgzQWZERDMyNjFERjc4RDkwMTIyOThmMjI2NTlmOGM5YTNlMWJDNGVjIiwiMHgwQ2RCRjQ4ZTIyM0FGREViODc4ZkVFM0U2YzA1N0I0MTZiREE1ZDFjIiwiMHhDRDRBZGM1RTAxODg2OTZENjE2YzMxMzNjZkI3NEZDRTY3MTM5MjMxIiwiMHg1ZkMxQUM5Y2QzZDZDRDlBNENlNzM0MWM0MmRBNDlFYUJDODQyMWZjIiwiMHg5MGVEZGFkZEJBRDIyOWQzZEVkMDQ1MzE0Qzk3N0Y3ZjUwZTMxNzRGIiwiMHg2MTdCYjljNzg3YjdiYkIzNWQ3QjQ2QUFjQUFjNDRiMDE2ZTAyNTI2IiwiMHhiYkRGQUJlMDk0ZjRiOGI5RTA3NjVDRDdkQmE2ZmNBRTVBOURGY2I0IiwiMHgzOGI0QmZDNDg0NTM3NUI1RjRCMDI1QmEzMjFkZGYwODljM2I1MjFDIiwiMHg2MTNBNjc4OGZBZWE3NjhFQzkyMTA4ODM0YWE4NDFBNmExMzlmQTY4IiwiMHhGNWY3ZTgzMmYyQTM1YzVERkZDRUQ5M0RGOTliMDk0NjA4N0MyM0UzIiwiMHgwNjU0RERhRTRkRjc5Yjg4YzYxNEM2MmVFMTRDZDFGMTAzZTEzRmJlIiwiMHg0ZDg1OUNhZWZlMDllZTIwZEM4RWUxQWRFZGFEZkE2NmRlZTFhMDJEIiwiMHhlMEEyNzhGRWVmZTE4OTQ5QjNGNUM4NEM1MkE5NEU5NjIzODA1NWQ4IiwiMHg3NTk1MmQ1NTk1Mjc5OTY4ODlBZTVhNEVDNzdEMkE5M0QxZkQxZTQ2IiwiMHg3NWYwMTlEQTExZjAyYjE0YTU1MzFkMTc5MThjOThDN0VENkNFRDQyIiwiMHhmNzA2Qzg0YzFlOEVDQTBkNUIzOTUxNjcxZjRkNGY4NzNiYjNFM0Q2IiwiMHg5RWQ2RDVjMWJDNDZhMDQ0OTY4QzE5MWFDNDYwRTk2ODAyRUZEMTZhIiwiMHhkNDI1ZWYwNTNGNDYxYURENzcwNTgyMzEwMDg2ODgyYTE4MjU5MWM1IiwiMHgxMjFCMjNFMTczNTE1N2M0ZDdjZDE2RGYyQjlmNjVCN0Q1QjgzYjdmIiwiMHg2YjI3NTU3MDA5Mzg4MDNBOTIyM2IxMWU1OGI5ODA5NWY5MTRGN2QxIiwiMHg4NWZlNjg3OEFCZjA1NDE3NTRhNjIxODlFNURGNjM3MTk5NDJmNmRlIiwiMHgzN2M1Rjc2ZDc5YTUwMDQ0RDdDMWM3OEVlMUI2NDhiOTZjQjUyMjA4IiwiMHg1ZWViNjdBN2I5ZUZBNjA2M2ZBNzg1N0VFMkIyYWFjMEY0MjIzNzUwIiwiMHgwOTEzYjJBMDE3ODQxMzYzRkE2Mjg0OEM5NUFCYzI1Y0MyZWIxQ0RCIiwiMHgxYkVCNzQxMENDMUYyNzk2YTJBMThmMkIxMjU1NEYxNzBCNmJCMzU0IiwiMHhDZEUzY2I1MjhlNWIzNmQ0OTkwMkZmQUE1ODE2NTI3ZTI2YzVBNmNDIiwiMHgxMzc0MTRmQkJGMzQyMTJkRUJmQzJDNzkwNjg5NTVCZWVmZDYwNDM1IiwiMHhCMzIyZkQ3RTc3NURGM0U4MjVBOTJBMmVCMkUxYzE0YWUwMDg3MTYyIiwiMHhDRmFFNDBhZTQwMTFCNTYyNzg1MjdEMEQyRDcwQmZhNTg0NDgwRTkyIiwiMHhBMTgwRTg3QTNFNkQzYTg3QzM3Y2QwMjFhQUQxOTRFNjcxRUU2MWNEIiwiMHhkQzQwMzUzQ0Q0QWM5OTA0RUJiMDNhY0IzZjRkQWQ2RTRBQjJEMmQ2IiwiMHg5NGU2RDAxMzY3ODAyNjQ0MkNCMjlBNzRlOTZCN2Q4ZDgwMjAwMDkxIiwiMHgyNTE2MjZGNEY2Y2MxZmFBNGFmNDZDNzhkOUQ5MDYxY0I5MmEyNThEIiwiMHgxYmVkMzYwYmI1NzE0N0U2Q2MwRDhiNDBDOEJGMzFiNTM1NDdBNWJiIiwiMHhkNTM1RUY1ZmRlMkE1MTcwZTU5MUZhODExZmE1NTk5QjFkZWZEQTIzIiwiMHg1RDM1NjQxQjFjRTI3MWJjNDZhQjI1ZjRkZUEwOUI4MTQzNDJEMTlEIiwiMHgxNDMwNEE2MTk5MTU1NzhDNDY3NzdmOTJhMzExODQwRDk3ZjI1ODE0IiwiMHg2NTRkZWYzRTk3QzNGNDIxOEMzZjQ5YWNlODE2ODc0ODNDMzYxYjJiIiwiMHhmYkI5NUY3RUFiODExNTkwRkFFNTQwZDBGREQxMjE3OERjNDc4MjUzIiwiMHg2YzZjMEY1ZGEzODY5QzM5NEIzMmJGNGYzOGY1OWJjMjgxMUM1ODg5IiwiMHg1MkY2ZDE4YUQ3NmUwMzBkNDljNDcwMjFjYjlBYWNiNTlCNDc5ZWY2IiwiMHgwODBENUZGMjgzMjIyMzNFQzlDQjMwNUZDNUQ2MjRmZDE1MjBjYTQwIiwiMHg0RWYwMzMxOTE1ZUI0MUM3QmZDRjU5ODBCNUE2N0JiNmI3ZDlmMUFiIiwiMHg3M0ZDODhiMTRFNjhjOGNEZDg5QzUwZUNDZjZmQzVhOWNhNzI1RTBBIiwiMHg0NTg5NTQzMTY1Y2Y4ZDBFMUFjYjI1MGM0NzA5MjBmZjAzMkEyYWQxIiwiMHhCRjc3OTJGN2JGNTE1ODhCNzRhRDNBZmQyNmI4OTU5QTMwMDQ3OUI2IiwiMHg2MDZhNEE3YThBODk4Q0JmQjkzRWUzZmZiYjNENEY0Y0EwNTQ2MTIyIiwiMHg1Q2ZFREM0YzViZWREOEZBN2E2NEY0MEZDOWMxMkI0ZjJFOTEyQWU0IiwiMHg2ZjMxMGIwNTExOTBDNEI2NWE5OTA5NzI2NDQ0ZTQ3RTM5RDI3NjRFIiwiMHgzQTRCNGRCOWVEYmMzNmMyYmFhQ0NCM0VDRTRDOURCQ0NEQThFMjNBIiwiMHg1ZEQ2YjVlOWY0Y2IzNzJGQTE4Qjg2MEM1ZDhiNTIzOGMwYkI5ZmJDIiwiMHgxYWNFOTY1MjZkRUMyMDJkMjJiMTlCRDU2YmI2NjQ0M2YwYjEyOTI0IiwiMHhGNUY0NUZCMDMyYzgzMWVkZDA3Njk1NDE4NTJFRUZFNGUxMmM4ODgxIiwiMHg3MzBERGYzQjM1MDk5Mjk5NUZCZkY2ODI2MTBhQzQ3ODIwOTkxMkVFIiwiMHg1OUY1OTEzODNBRDY2NzQ1YTAxMDE3OEJFOGMxNDZDMEFBOTIwM0ZFIiwiMHg3NDFiMzA0MjBENDFCMjczMzkyMDY2NWM4ZDE0MDhFMTlDYTQ3MkRlIiwiMHg4Rjc4QTQxMGM3ODFmM2IyRUUxOTdhQzI0ODIxNzI4M2EwQThGMTMxIiwiMHgzMzJGYUUwNjlDZmJmOEM3RmFkRUVmZThjMDE4NUE3MzEyYUNDRDc2IiwiMHhmYjBEM0ZhNDA0NDdCNGM5NzE5QjE4ODQ5RDYxNEY2NmNBMTk0NTEzIiwiMHgzYjk5M0VENGUyNTI2ZGIzMzllQ2M0MzYyNjI3MkRlN0Q1ODRmNzNlIiwiMHhhRWU1RDdCMTZhZDBjNENGNDI1ZmVCMDJDMGQ4MTMyQjA4OTIwZjczIiwiMHhhMTI0ODgyMkM3NTk5QjY5NkFEZGU0MDg4YjdFOTg4YmU0NkExYjEzIiwiMHhGOWFDNjU3NTJjYjFDMDgwZURmNjFCMjVBOGQwZTY2NGE0RkMzQjhhIiwiMHhjODlkN0RiNGQwRDY5NTYyQjQ1QjcyM2E0MTlmNzlkZDFkOUZGQWE5IiwiMHg2NzE0MzFDQmUyOGUwZTUwNDdGOWVkRTM5OTcyNTVlQ2ZkODEwMzkzIiwiMHhDMjIwYkM3Njg5QjU1ZDRhNDI0ZUVCNEFEY2I5OWY0NjMwZTE0OTYyIiwiMHg4ZmVFODM2NkI3MzY1NDNmZjE1NEQ1ODNGRmJhNzExYzA3YjRiMzdkIiwiMHg2NzlFOTc2ZkFGNEZiYjhFNDQ5OTQ4RDc2ZThhYjQ1NjBlRTg3MzUwIiwiMHgzZmU2MDNBQjZmNTY4RTMyMjQ3YmNEYzdEMWZBMWE0NEZEMzJCZWEzIiwiMHgxRkI4NTQwZUYyM0YyNkJmRWIxQzNhYzYyODU0RUFCNTgxQmRlZTM4IiwiMHg0M0U2YTUyYTIxRTkyOGMyNjg2NjQyMkI2MUQ3NjExOWFFNDJENjk2IiwiMHgwMEZhMTBjQ0MwNERmRjAwRDY1Nzg1ZjI2RGU3YWU2MDAxMTU5ZjI3IiwiMHgwODBlRkFGOGE5ZkI5Njc1YjdjN0QzODQ4M0U5YjQ0NTBhMGZlN2E5IiwiMHg2NkY0ZTBkRDJhYWM3NkRmQTUzNWQxZTlBYzZFYTYyZDBkMTBCNGM1IiwiMHg0ZTU2REM4NjNmZjlGZGE5NDMzMzQ4OGM3NzJiYjgwRDdCNzk3QTYyIiwiMHg5MmQ0N0VmMGNhRjZhNTJmOUJCZEEzMTk0NDBDNzY3ZUFCZDBjZmEyIiwiMHhBYzU3Mjg0YzQxZjlmYkUwNjZCMWNjMzgyNjcxMDMzMDJDOWY4MjRGIiwiMHhhNWFCMjgxRjRlNzk0QjgwQ2M4MTU1MTAzZjU1RjI1MjJlODM5OTlkIiwiMHg1OWM2NjcxNDE4NDA3RjQwYjhEM2U2NjlmMGJiQjAxMUM4RjQxYjcwIiwiMHg0ZDUzZjI0NmM3YURkNUY0ZTBDYkU1M0ZhNjZCNjI5NjZGMDJEMTYwIiwiMHgyOTBFNmExNThiMjM4NDBmQTFhMjNiNDVBMkEzN2NkNDgwNmYwMmY4IiwiMHgwOTEwZThjRjlGNmRGMWRBYThiMUE0NzEzODgwRjMwMGU2ODUzMzg3IiwiMHg0QzdDMWUyYjVEMDUyNDM0NDJBMjIxRjYwQjU3N0M1OTQwOTU5YjcyIiwiMHgzMUE1YTBkNjU1NGRBMjczNjBhNjlGMzI1Y0QyMjJGNDcyNkFjQjM0IiwiMHgwZEU4N2IwQzJFZjNERWRjM0I0NTk1N2UzOEQ0Yzg5MkU1OUEwYjc4IiwiMHhBMjczYjA1Q2MyMTUxNjgyMUQzOTVEOERhZUQwREE0MTg2MzBiY0I5IiwiMHg3QjU5QTgwQzZiMUE3MEVmMDAxMzMyMzM5QzcwNDhEMEJhZDUwM0EzIiwiMHgxOUZEZGZBMTgxODI3RjRFNzdlZjZGREY0MzUyNzJlYzIwNzQwNjkwIiwiMHhDMDJDNTdCRTU3MzgwNEMzYmY5ODdlZjY5QjQyNDlBN0FjQmE0NDJlIiwiMHg1QTA4RTgwZjJmMUQ2ZTJmN0JCZjVjYzlERTY0RTk2RDhhMkU2OWUzIiwiMHgwNjEzODI4NTVhNzlFRTE1YkU4YUNiQjBlZDEyNzBhN2E5MzMwZDNhIiwiMHg5Y2MzN0VCZmVlZDgxMzEzOEJFMUIxMzc5MDJhRTY5RjQxQkYyMWFlIiwiMHhhQmM2Nzg3QzE5NDQ2NjFBZGJBNDdCQjI0RTBEMTJiODk4MDcxODE0IiwiMHgyMDEyMGJCMjQzYzNiMzAxMDYzOUNkNEE3Njc2MzIyNTJCOTZjQ2FCIiwiMHg0NEM4ZUU4YmNhNjE5NTZkQzk1YmVDZUVjMzVmREY4Y0VDMjllYzkxIiwiMHgzY0ZmNGVCYWQxQzY4OTVmNzMzODYyNzc1NjNmMzIyMDUzRDIyMzFmIiwiMHg0RDA1ODZENTlENmRjMjQ1MDJlMzY2MTdCYmZGZURiNUU5ZUZiRDc4IiwiMHgyNWU2RWE2YTNFQTU4MjEyQzRFNzEyN2VjOTdCOTlDZDcxNUNkNzBDIiwiMHhjNzE4Qjc5YWE5ZkVGMTI1QTVCQkNDQTQ4MWVlODlmMDFmMGU0ZTY1IiwiMHgyNGE5NDAwNTk1OGU0RTZFYzUzM0QwODBkNTFmYTRCOWEyMjFmRUM5IiwiMHg4ZDg3YjczNTVEZUQ2NDI1M2Q2MTgxMzI4MzgyNTVjRDBkNDdCNDZkIiwiMHgzODg5MTM3NDg0ODhGQ2NmNkUzMzdEM2UxYzY1NGQwNzI0ZTllMmMxIiwiMHg0MUUzNmZmNjJDNDAyNUY5ODIzOWE4NUJlMkU3N0VkYzBCMDcwOWY1IiwiMHgwRjg0OEI1N0FBQTdhM2YyMkQ0OTBBRTI4ZDgyN2M4NEIwNmFlMTE2IiwiMHg5MDlBM2IyRjFGRUM4YzlmQWJhYTE5MzA2NDQzOENiNEUzYzIwNUNCIiwiMHhBQ2MzMGU5M0Y1QjJhMGVBZmQzNWJCNmExMzE0MTMwMDRiMkVDMDFDIiwiMHhCZTk4NENGRDU5OTE5RDQzRWI1NjM1QmRjMjkwODlGMTQ1MWM3MDY2IiwiMHhEN2M1YzM0MGM2MzVFNDhmZDNiNTAwNDg5MmRjNTUyZDlBNmFlZEM3IiwiMHgzOWRBNmE0ZWE4YzczNWEyODY5NEM3ZDNlRjExNzg1YzVEMzlCN2JDIiwiMHgwNjY2RTY2NjczNzk3NzI4Y0ExOWQyQzgzMmE0MTkwZjBEM0ZmNjI5IiwiMHg4ZDk5QmZhZDQ0ODM1QUVjZkJhN0RhZEE4NzFiMzA1QWNkMjhDZTZGIiwiMHhjRmZhNmRjMDllNzYxOWQyYmVDNDMwNjdlNDg3REVFMDYxNThCRDc2IiwiMHgxNTkxM2U1RTE1Q2YyMjBkOTZmODk0OTA4RjQ1Q0ZCMTg2MWNFQTc2IiwiMHg3MzM4ODg4MmYwOTI5OGZBNTc3MmQzMzk5YzZlNzgwOTJmN0Y3QTdjIiwiMHhmMEU0NmNFNTNEQjBGRTVjQ0FjOUU1YTc2ZTdmNUJGREY5N2M2RmRiIiwiMHhhM0MwNjNiMjQ4NEI5YURDNGUyRENhNDk2NzM2M0MxMTI3QzI1OGNDIiwiMHg0MWQyZjlmNkNkMTM3M0YzMDViN0EwMTk1ZDNjM0MwOWJmOWNGRmNhIiwiMHgzRDlGRjQxNDZjYkQ2ZDU5NUJlOTg5OTFkMTk0RWU5NGRkZUJCNjE2IiwiMHhCMGE5REMyMEExQTcyRjUyYTEzZjFjOUY3NDJDODAzMUFCNjRjMzBGIiwiMHg4Rjc1NGY0MjY2OWYzQURlZTE4OWM0NkQ3NmU5MDg5NTQwODBFOEJGIiwiMHhjMzNjQWVlODc4NTA0Zjg1MTVCMmM5NTE1NTI0OTY5MERhQTI4NDg4IiwiMHg0OTU3NTQzOTc5Y2RENTlENkE4MUM2NTk1YkRCRmFhRGY4NjUwOWU1IiwiMHhkOThiY0FjOGJDNDE4ZGYzZDBBMDQ0NjM4Njg4ZjdkNTAxMDQ4NkE4IiwiMHgxN2JCMzA5NTZBZjYxMTZkMDRiZTJkN0VEMTdCNDkwNTA4MGNDRTVCIiwiMHgwMjMxOUUyNzU4YUFiYjQ1M2NCYTg2ODQ2YWJDNDY2YTY2NTNmYzYwIiwiMHgxYTkyZDIzZTE5MGUwOGMyOTBhOTI3NDVCQjRjNTg4YmZjNTJBMkZCIiwiMHg5ZTc4NWE1MjlFODk3MDM4OURjNzMxOUQ4QTRmZWFlODQzZEEyODQ5IiwiMHg1MTI5NzQwNzlDMDBDMEJmZDk4ZDUyNzI5MmZGYmI0OTIzNjJmM2EzIiwiMHhENGI2NkEyQWE4NUE0NGYxYmM2YzQ5NDQ0NEZGNTcxNjBiN0UxYjkyIiwiMHg5NGZGNURmZWFBZUVBNUJEOTM1RDI2Y2NjMmYzN2U0Q0VBYjNjNDZjIiwiMHgxRDEwNDM3NTA0NjYyMWVCODVFYTQ1ZTI0NEM4QTM3NDFENDU4NEZDIiwiMHg5NzI0NmNmRUUwMGM1QzZBMzY5OGM4MmUzOERlRUEzQTIzNzdCODMwIiwiMHhFNkRhZDAyZWNmRTBBMUNmMDUzMzJFYzE1NTk0NmMyMzNhY2ZjYzVmIiwiMHhjYjJkMDhGMmQzZENhMDM4OEM5MjI5OTY4ZEY5OEY1RTMyQjg1QUI0IiwiMHhiNzAxOWEwODM0ZjQ3NzBlQjg1QjdkNmZDNkRiRjc3ZGRBNTczMzEyIiwiMHg2M2I4MzkwOGVDNzc2NjA4MzMxNEFDYjI5MDBEMDYwRmRlNzk0NDI2IiwiMHhkREJEN0E5QkVDMDQ3MTA5NkJkRThFNWJGNTg4RTlFNzFCMzBmMzI3IiwiMHg2OEFBMDQ5MjE2MDFDNjM3MzE5MGVCNWYwQTQ5MDkwRGRCMjgyZEYyIiwiMHhFMjg0NWY5NTdCODEwNzYxM2EzRmExMDUyMUNCMEM4RjFhNWJjNmQ0IiwiMHg1RDUzNUI3ODZjMjBGYjE5NWMzNENDNDdGNzU1NzQxRjJDOTczNUM3IiwiMHgzMkM0MzRlYjBmRDcwOTM5RTdFYzZBNTU3YTUxNzkwZTEzQTVkMUI5IiwiMHhkMTBlMkNjZGZmYTAxNjAyQWIxOUMwNjYxRDNFNzBmMDk2MmVGOTdFIiwiMHgyNDczMGNlOTdGMDg2YWJFZTE3MDY4NzhGQ2JjNjFmQTJjMDM4YjU2IiwiMHg2NDJFMTA1RTk0MzAxMTE0MmRmZjY1Yjg1QUYwNTQ2MTVkMDI3Yjc5IiwiMHhiMmUzNTc2N2Y1NjYzYkRFMUZkRkFEMDljZmU5RTQ3MjljMzM5Q0RGIiwiMHgxZjA5REFBMTYyMDg0RjgwOTRjRTk4YzNmODhkQ0FEOTVmZmRDYzVlIiwiMHhjOUEyNDZDOUQ5ZUIwQ0I0NDk2MzhGMUY0QWE1M2IyZDliOTZkOEVFIiwiMHhhY2M1NEU5RDhGMTQ3ZjJmRTQwY0Y2MTUwYjg3NzAzRDExYjNEZURjIiwiMHg2NjUzZmIxZjNlMjRiMzE3NDk1OTNEYTcwMDc1ZUU1MUFDQmE0NTdGIiwiMHgzNjhEQjBhNWI0ZWE3MWREODc3ZjIxOTY5MDk4ODQ2MWJGNWFCM2EwIiwiMHg0ZjkxNEM1MDJCRTlkRDA0QTA0QTZCNTczOTcyNkVDYkVmMDM4ZjYxIiwiMHhGZjM4YjQwYTcxZUMxMzMwRmMwQjY4ZTdjNzVmOTMxODE0RTk4ZTliIiwiMHhCOThGNUFjYkVFOEQ1YWNCMzA5ODAyNzdiQTBmOTI1OTAzQjQyN0E2IiwiMHhBODE5QkMxY0JGMDdmREIwMDM2ZjkyYTFmRTg3N0FENTIyY2JiNGZCIiwiMHg4OTY2Nzk5MjFEMmM5ZTA2OTZEOEM5Y0YyQUZmQ2ZiNjdGREFFODA2IiwiMHgzYjFBOEMxNDUwMjZkNWNCMTkyNTBEM2Y5OGEyODU3MkIyMmVGNWQ2IiwiMHhGMmQ3NDE1YTdmM2ZGMzc3RGI0MTZDQTU0NDc1MWZGMTk3MzY1MEZEIiwiMHg2RWQyOTlEMzAzRTNiMzFCZmZDMjFmOTE4ZDM4NEUyMzlDQkY0Q0ZiIiwiMHg2RUU4RTNkMGMwOTdBMzY4QzEwQzM2QjNCRTdDREI5ZWVCYzQ1NjdBIiwiMHg5ZEU1NjVENkIzNURlN2ExNkU5Zjk4RjM0MGRjNUY3MDc4YjA0NTE5IiwiMHgxMTQ1ZUZFY2I3MjgzMjc0YkQ0QjVmOWNhMjkxOTZGZTlEMjIyZTU1IiwiMHhGQjY0RkNlREE4MGVmMEM5MDhERDE2MERGNTlkNzkwOEM1MDhEOTYzIiwiMHhEYjE0ZkNjRjAxZGYwMTc1ODg4RjAzZDE0NDA2RjlDOTg0RTgxM2VFIiwiMHhERjU5RDBGMmYwOGJlOTI4RjdkMzdmMjQ3N0MyQmY4QTFkN2RjMWRFIiwiMHg5NTY5ZDdCODkwQ0M1QUQyYTQxZDcyQzAwRjY4Mjg1QmExYzVlZjMxIiwiMHhlQjE2MjlGQTZkMGZhRmY5MzFmQmJCZTVFNjdhQjk1MTFGMDlBZWI4IiwiMHhCYzZCM2RDMTdFODZjOGNhY2YwRjM4NGYyRTE5NDY4YzM2MTU0QTIyIiwiMHg1QjI3MkNlM0UyMjVCMDE5YTNmQkQ5NjgyMDY4MjRCMjRDNjc0MzQ0IiwiMHg5RmVCRTIyRENmNzY2Njk2RDgwN2YxQmM4ZWU3ZEMwQTg1MUMwNjhlIiwiMHhCYTE4ZEFDY2I2NDdDMzViRjE1RTQzNmJEZjU1YmM3N2NFMmRENUVjIiwiMHhCNEM5ODdBNzY5Q0EzMjIxNzVlQ2NhYkM5YjUxOUU4YTQ0RUU1RTI4IiwiMHgxM0Y0YTZlQUJhRDQzYjUxRDBGODQzMjVCMGI1REFERTkxRTc3NWM0IiwiMHg3OUYxYjk0ZkYwMTM5RGUwODlmQzIwNzhlN2JmNzlmN2E2MGVjMzM4IiwiMHhBM2E4N2E3ZjZCMkM2MkQ4MTc5MzU1OTMwOUM5YmMxRkY5MEI3NUI5IiwiMHhCNUYwRDZGZTc1Nzg1ZjJkREY2ZDBCZDRGNzBGOURmZDY1YjFEMmEwIiwiMHg3NTkwMEI2Q2EwODA3RkFERjlDOEY5QzhFZTE5NWZCNWRmNDk5NjgzIiwiMHhhMEQxRGQ4QjhFZTZBMDY2RWUxMzM4RTc5NEJBMDQxQWI2QTA2MzYwIiwiMHg1NTIyOGUzNTE2NGZmYjU1N2YzZjI2YjBBMTEyNzYxRDI5ZURkRTRmIiwiMHg4ZmE3YjVjZGM5NzU5OThEMmQ0MzczMTYwMjlEM0QyN0REZjU4YTVEIiwiMHg0OTU4NTliMzc5NmI3NzJlRDg0OTg4NTRjMUFBMzgyODcxZDY4MzViIiwiMHhlRTliZjRCNDBiQzM5NUYzNDE4NEY3NzZBQjY5MkUzNDJBOEY4MGE2IiwiMHgzMmQyOEZkMDk4ZEE4YjI2ZWI4OTAzRjg4NzQ5MTE4RUZkYTkyNkI1IiwiMHg5QjZDNDk0YzU4NTI5MDBEREFjQUFCRWExM0RBMzRjNEI1YjA0OWI5IiwiMHg5NGE3QTU5RTI1MWViZWY0YjRCNWYyOGI0MzgzODY5ZGNGOTJFNzIwIiwiMHhkQTEzRUI4ODBFYjVCNGJBMzU2NTE3QzRFNGVmZkZlYThFMTRkQ0UzIiwiMHg2NjM3NzYzMjlhNmRiMjY5MjFCODk0M2E3MTI3ZUYzYzM3NzI1MGVlIiwiMHg0NTM0QUYwNzVGQkJkOWRmNjcxNjJDZWVBODk5RDc5NUMyNjQ0MWM2IiwiMHhiOUQxY2FCZkE2N0Y4N0M5Rjk4Q2ZBRTM2MzY1OGJEMkRFMzYyQjc1IiwiMHg0ZTdFQzZhQmQxNjRiY2VBRUM1OUI1NjQ0Q2QxMDlGMDI4NGYxODExIiwiMHg2ODlFNDc1ODllRTNjMTI2NjdjMjEyQTU2OTI0RTNmRTg5M2Y3YTNCIiwiMHhDRWYxNDBkQjA0Y0NENDY2ODA4MTc5ZjE3MUIwOTExNkI5M2MyZGJlIiwiMHg3MjU3MGYyMmE5MzAxOUY0MEQ4OTYwZEM2Q0YzOWVFRTQ0RjFjZDQwIiwiMHg3NDAyNjFhYUJCNjE4YjViNkY3MTY2OTMyNjE5NEE0ODY2MzI1YjMyIiwiMHhiYTc2NTc4RERBQWExQ0IwMkE2MEZiMjBkMkZmREU1NTM0MTg5YmJiIiwiMHg0MUM3NDREMDQ4NzAzOGQ5ODE5MjdkNWVjNGM4QkY4NzgzMWVEOEI1IiwiMHgwNzhEQkE1N0Q5OEE5ZDYyYzY0N2MzRjVlNTQ0MEI3MjQxNzUxYUE1IiwiMHgxMWZiM0REOTBFQkZCZjJiQTNmNjg2ZWIyN2E5NERkMUVjOTNjYUNhIiwiMHg1NEU5NjUzNjA5MzYwYUZlNDNDNDAyRTdkQjcxMzc1NDlkMTRiRTQ2IiwiMHhGNjBkMEMzMjJEOGI4NzI4RTc0NTQ5MjY3ZkQ4NGNENmMwNzIwOUU3IiwiMHhFMDYxOThjYUYwMkI0MmI1RTM4RDJGNzI4MDI2YzlDYjIzM2EzRkVGIiwiMHg4OTJhMGYyOGQ5MTI1MTg3NjU4NzUxQUQ2NDRDYzQ4ZWRhMDQxRjE3IiwiMHg2MDM0MEI2RjMwMjRmZjdkYzI4MmU1ZjM4MDhhYmMwMDAzZDQ5NDExIiwiMHgyMjIzRjRjRjFFMDI2MDI3MTVmNWJlMWE4YzMxNjZiNTYzMzY5OEZCIiwiMHhkYzNiNzE2NDlEZDk2QjBEMDgwZURiYTJmRUYxRWJiNGQ3NDQxRkI3IiwiMHhjYUM4YTI4NDM0NGY1ODNiNzliMGFiNDIwRDI2YmEwMDI2NTcxNTg2IiwiMHgyMWFEMDJlOTcyRTk2OEQ5Yzc2YTcwODFhNDgzZDc4MjAwMWQ2NTU4IiwiMHg0QjM0MkNFNkM3NTFGRWJjNWMxQkMxM0JBZDUzMjVmMDRFQjNEZjk4IiwiMHg5M0EwQjA0MkQzQWI1NjNDZmRkNDgyOEE3QWZCOEFFODgyNzZBYzE2IiwiMHgwNTU3YjE2RjQ4ZGYzRjQxYTAyYzM3Y2RBNTk1M0RiMTA4Rjc1MDcyIiwiMHg4MTI5YzREOTE5MTkxNUU2OTZlODMyNjEyMTMxYjA3QTk1NjlCMjAyIiwiMHg0NEY3NTVjOTk1MzY1NWEzYkQ4OTdFNmE1NzExQTJiQjhDYjM4M0ZhIiwiMHhhODFCMDI1NzM5MjFiMWU3MGUzMkQwNEMzYTk0OThEYmNhMDQ4ZjMyIiwiMHgzZTFjMDZCQzg1NzJFODE2MDY2YTdjMkFGYjMxZTQ3ODA1YjhENDk1IiwiMHhERkQ1ZDBFMGFmMjA0OWZEOWY4QzZGRDczN2FmMTgwMTk0MDg2OTQxIiwiMHg0YkI3QjFFQzk2RjI5MzNCMjZGMDA3MzY4RTUzYTA4OEQ0YzdGRjgzIiwiMHgzZGJhOTY1YjhEMkM3NzVDNmQwNzYxMTNGNzYzQkNjZjgzNTgzZjBkIiwiMHgyOWYwQzhCOTEwNTMzZDFBMTI4OTIzNUMzQmE4NTRjZkEzQzM3M0U2IiwiMHgwM0ZERjdDNDIyMDRlRkNGM0YzRjk3NDc2MGI1NjE0QTRmQjFmZmJEIiwiMHhCMTc4NDRhNDczY0I4NTM3ZDIyRGQyMWIyZjAyOTk4M2E4NkIwMjYyIiwiMHgxYWQ5N2JEMDA4NzBhYkYwQTc4QUExNzFGRGE3MDlCNjFBMzk4NTMxIiwiMHhkMDcxZjM5YUE0MzlmNWFhRkE0YTkzZjhhRWExMzQ3N0RjZDc1ZEYzIiwiMHg2RWUwYTU4ODU4YjJhQjg4NDEwQTkxQjYyZWE5QTBFZmJCOUQzNjJmIiwiMHhGMzJkNTIwZmQ1YjJDQkU3ZTZFODRmOWREQjYzNDQxYmVlMzBBNjBlIiwiMHg5ODgxY2Y3ZDc2ZTA3NzVlM0M4Q0I1OTMzNmM4MmJGMzZkZGIzMUJBIiwiMHhhNmMzYzlGMjI1ZkJmZkY3NTFFRjcxREFBRTdjQzdlN0Y0NTkwZjY0IiwiMHhmQjMwQTExNkMwNTdlMjExNkM4ZDRiYjViQjkyMWU0ZTVFOWUyMzQ0IiwiMHhlZTQzRWZCNjJGY2Y2Q2MxOWE1OWMyYjM1ZDAzNUNiZmE2MzY1ZjIzIiwiMHhjMTQ2MDExNjgxOTAxNTczYjAxRDQ5MDc3MmQ4NTQ4NTRGMDAxMjE0IiwiMHhGMWU4NmEyMzYzNjRjZmY5MzY0YjlhM2U4MkRmNzQwRDgzMDNEOWVEIiwiMHg2NDc3M2NjRjA0MmRmN2NjZDNEMzQ5MjI5OUM3MDdiODJjMTlCZDRFIiwiMHg2Y0ZEM2NmZjhCOTJBODNGOTlkMWMxNkMyRjg3OWU1OUE3QTI0RTc1IiwiMHgwOTg0MjY5MEQzQUIzQTlmQTU0ZkY3QjU4MjhBQjc0MzczY0ZlNjVjIiwiMHgxOTE2M0FGNUZiMjg5OTdlY2NCNTczMzM5NmU1RDU2ZTA1MDgyYkVhIiwiMHgyZTQyM2NlM2UxMzZDODQ0ZDQxMmRiQ0M4NzE5M0Y1YzY1ZjJFM0YzIiwiMHg3M0NGNTFlZDNDNjgzRmE5MjBkZmQzOEZhZDMyNTExNTE5ODI1YUVBIiwiMHgyMTkwYUEzNmVCNDRkZjIzM2VDRjZGOTljQTNkOWIzOTcwMDlBREZGIiwiMHhlODhlMmQyMEU0ODBBNkY0YTYzRDkzRjM5MzczZTVERDFBMTAyQzE3IiwiMHg0ZEZDYjE0ODI4NzhFREVEY0NENmNDMTlGOUQwNDNDRGQ1NmZmRDA2IiwiMHg1OTRGYTQxYjI2OTlCOTkwNzZjYWQyNjNDZTgzMTFmNWU4MUEzNjJiIiwiMHgxREM1RDE3QmY2MjczNjNmOTM5RTNmRjZmNzQ3NjZjMDE2NWU0M2M2IiwiMHg5MDc0MDQ2QjEzOTZmRTBFQWRhNzI2NzNCMzYzNjdjMUMyQTBEQkE3IiwiMHhDMkE5MzBjMzg4OGVFMmM5ODI4QzdjQTFjMjdkYzNFRjQ2MTExYUJmIiwiMHgwMUU1ZDJEODlEMDg2MjE1NkY0MUE1RDc0RTNjOWM4QkUxQjllOGEzIiwiMHhhRDUyMDRBREE2YTE1OUUxNWM5MmYwQjM1RDdiN2IzRWYwNzQwQzNmIiwiMHhlNzI3MEYzMGZGYUY1NzBBZENlNzMyN2E2RDQ0YzdEOGZhOWQ1MTc0IiwiMHgxMkRlOGE0MzVmRjU0ZjNlMDA5NTFlZjA0MTE5ZmYwZTZBNzE3QmZGIiwiMHhGOWJFYTQyNjYyRUJGRjU5ZmVFYkZDZDYyNjE0MTkzRUJiYzk4RmY1IiwiMHgwOTMxM0YyNWE3OTc3ODM1OTI3MEVjYUM0NEI1RUQ3OUI3YTFiRWUzIiwiMHhFRkVmZDdCQzYyRkY4MURENEQ3MjI4Mjc0M0E0OEQxZmZFYzI0OTcwIiwiMHg4OUQwMWZEZDkxZTlGQTY2OTI0QmI0YTNCMGY5YzUxMTBlMDc1RWZmIiwiMHg4RDg3MDExNEY4Njk2N0YwNGVhRjRBYTg2MEU3ODVEQkI0ZTdCYzk3IiwiMHg1MGI3ODJjODQ5NjMwQWI5MTZDNjhkODVkNDM0MzFmN0I1NEQyQzFlIiwiMHgzMzkyNjkwZDU2ZEFEOTdFMDQ2MzhGMTVhRDViYTE4OTExMjRlRjMzIiwiMHhCMzVBNjk0N0ZmOGI3YzVhOWMzNzUwZWRGNjJjODlCZDBBNTgxNEM5IiwiMHhkZThDZDI0OGZCZjFkQ2M5ZkUzMGQ1YUM2ZTg1MzQyMTY2QjhmNTkxIiwiMHg2ODVjN0FCZDQ0MUUzYkFjYUY1MzUzMUMyN0NkMTdhNzZkNzlkZDkwIiwiMHg0QmZlNUY2ZTNDZDlGZDcwZUQ2YWE0NTlkQ0VhQ0FGNDg1ZDU0M0Q5IiwiMHg3OGVmMThkNTJBYzhCN2JhOENEZTQ0ODViNjhGMkEwMjUwM2FkNDcwIiwiMHg3Qjg3RWZmYTZiNDg2ZEIwZDhiMTQyRjFBY2M2RjhDZjFhNjdEQmI5IiwiMHg2NUYwZjZlZThDODVERTFmMEMzRGJjMjBDNjRBNjY1M2EwNTlFOTkyIiwiMHhmZTY2QkY0NjNjZTg3NWM2N2Y1YjFjOUIwNTkxNTg4N2Q0NGQxMDg2IiwiMHg2NDZDN0I0YTY3N0FEMkYzMjk1NzEwRmQ0OURCYmU5MzM4YzdlQzlEIiwiMHgwYzRiNDBlQjk0M0YwMkM4RDFDMTE2QkJkRkRBQ0JCRGQ3MjFmMTkzIiwiMHgzQUE1OTJEOWIyYTljOTFhYUQ2MkFjMWJFODAxMEQ3YTlCQzRDNEREIiwiMHgzZTkzMEE2YWVlMDIxNzQxODZiRTY0NmFjMjZlRjQ3YjkxMTQwYjUzIiwiMHgwQjI3MGM5MENBOTY3RjZlNTFENzEyNUVEYTRjYjRCNEM5N2IxMWMzIiwiMHg1NWY3Yjc4N2Q3NmYzMEFBMzQ1MzgzODVjNjc1REQwN0M5MDg0ODkzIiwiMHg3MzZFYWRkMUNEYkE3NzU1QjhhQjlGYUJjNGZCNTE3ZTdjQ0Q1MzNjIiwiMHhkZWEyNDdhNGVjNjA4QTFFMjk3NkQxODYxYmY5ZmYwQTVGYzUzMjAwIiwiMHg0ODQ2M2Q1OGIzQTg5ZmFDZDc4MjNjMDliRTk1NzU5MTQ5NDlmMjA0IiwiMHgzMjE4Nzc5NkVCNkQ3NjBGQTFiZmVDRTRjYjU5YzlEZDZENUY2MzhlIiwiMHg3NzBkMzJBQTRGYzM0NGEzZUYwZTQwRTEwNzJiNjkyQzE4OGFjNjIxIiwiMHhGNzBGNDgzMjNENGZhZjBFMjQ2QzMyYTRkMmIyMTZDMDYwOThkOTRGIiwiMHhDNjdlODRFMTc3ODk4YkEwMzA2RDY2N2JENDhFMGM5N2M5ZjEwNDM5IiwiMHg1RTU3RjRiNjgwMzdkRDg0MzNFM0I2NDUyRGJDN0FEOTJGYzk4QTc5IiwiMHgwNGJBOTA4N2E4N2Y0ODM2Yzk1OEVCRDRDOTFiOWFEZmY3NTE4NzcyIiwiMHgzRkM2NkJiNkMwMzg5RmUzMzAxZDEzREU2MTYzMUM3YjgwZmFGMzc3IiwiMHhmNTJFRDU3ZTU4NUIzYTFkN0QyMTM5NWY1NzI3MDMwOUE1MjdGNDgzIiwiMHg2RDA3MjhhQTgyN2RFZUJDODYwQjg0NGVCMWVCMjVjOTM3MDM1YzJDIiwiMHhhQjA1M2I3MzVkMWNhMjllMTAxQkFmRWM2N2I2OTFCZEMzOGMxOTgxIiwiMHhCMURjOTBlNDVmMDA3MzMwMDdmRUEwQjcyQkZkMTNjNTkwNkJjMThDIiwiMHhkZDcxQzhENzFiZjgyOTFFMTY1MzVCRGFEQkQ0NGU1NGI3ZDlCZUU2IiwiMHg3NTM5MjMxODkzNjlBM0U1NENhYWIwQjk5MjVFNDg3RTY0NTU5OUNBIiwiMHg3NjU2RTIxYjcwREYwRTg4M2JCN2UzNWMwQ2I2MjhGQ0RjMjM4NUYxIiwiMHg3YURENjM4QjFFNTdGMmFGQTFhNjBDZEIyYWE0NDhDYmQzNmFhRTA5IiwiMHhmMTViMjNlNDYyNDQ1YjgyQ0M2ZUVjNzFiMGE1OEJlZmJmYjJmRTk5IiwiMHg3MmYyMGZEOTE2MzYxNkZGYTdFRWFiQUM4OURDMmNlNENhMjJCNGY3IiwiMHhENDFiQ2NCYjczNmRENTZENDA2YmU1NTE2RTE2NUZkMDc4N0YyMDI3IiwiMHhmYjQ0OTQxZjUwQjlBQTFFYTJiRTJDNjczMTUzMDMxZTM5NWQzQTk2IiwiMHgzNzk1NDA3NEUzZDNkNmI0Mjk4QUQ3YWRlMzA4NjlkMzhlYjRjNzBiIiwiMHg4ZjI2RmYyNzViNUY2YmUyZjE2NTRBMzk2Q2Y3MjZlOGVDODg2MzZGIiwiMHg4REZCYTYxMDJlNTc5NzBCNDcxYzljOTBhNDcwODc5OENiMjU4NmZDIiwiMHg1OWJFOTUwMTMwNWEzMEQ0MjA2MTAwNDBiZjMxNzc4NzBCQjE1OTk4IiwiMHgyMTRGMEM4OWYyMDE2ZDBlYzU1RTU3NWNFNmVhQjQ5RDVkNzQ3NzIxIiwiMHgyMEVjNGFkNDRBQmYzMDhiQ2M4YThENGUxOUExRDNhMUFjNjhCMEM4IiwiMHg0N2ZDODljYzBGMzZlNjhkZWFjYjg4NmE3NzkyMzA2OTA0RjRhNDkwIiwiMHg1NDA4MmE1NDAzN2UxNkJDMjAyMTg5NEMwNkM3OTIyM0VDMTUxNzZEIiwiMHg4QkYzMUE0MTAxMmE4MmI2MzEwQmNhMGMzMGUxODdhNjJkMDIzYjc3IiwiMHhCMTM3NjI0NUY1YUY5YzQ1NmUzNTRBRDEyZDU0NDVCRWM1MzA0ZTVDIiwiMHg0ZkI5ZkI5MTE1MTk5OTMxMWZDM0U3MmExMEZkMTkyNDA2N2Q1MTg3IiwiMHhlNkUxRTIxMTVGZTUxN0Y0RTI4NTViZWUxRDY5NDk3QTVlYTllODY4IiwiMHhiQjFjMDBGNUIxRDQyMDgyN0FBYjM2NjkzMEE3QjdlQzdCMzUzQkVFIiwiMHhmQWQ2NDEyZmY1YTMwRTk3NzUwOTAxQjFFQjMyMmM0MzY2OEREN0I0IiwiMHhlNDQ0ZjRjOTk5RWM2NTE4ZGE5NGEzMDgxMDg2ZTEwMDk4YTlmOWZGIiwiMHhjRjQ3RDMwMjk5NTM5YjFjZmU5NjUyNTZCQWI3RjVBODEzM2Y5RDgwIiwiMHhlRTdGMGRhODI5YTYyNzU2YTk0RWM2QjUxNjdmMDI3OTg4NzE0MjlCIiwiMHg1Y2Y5NjAxMDBhRTlhNUZlNmY3RDkxOTMxODUzYjMxQTVhRjBDNjdhIiwiMHgyODNDNjA5Yzc5YWVmRmJBNWQyZjEwNTY5MzI4MzZBOURjMTE0NEVhIiwiMHhjOTMwRmVkYzUzQTg0MjYyMDNDOTIwMzA3OUNBNzZENDlmNjViOTY0IiwiMHgyRTZERjUzYTE3QUExZTYwQ0Q0MTI0OUU4OGRGQzE3NWQ3Mjc4RWIwIiwiMHhkQTc5NDU2NEQxMUM5QjkwMDREYmIyNjJjZDZkODRhQjQ4OTJlMmQyIiwiMHg5NWI3NzE5MkFiMmFhQzgyODRGZEZFQTY2ODBEODUyM2UzRmQyNGU1IiwiMHg5NWQyNTUxNkY5NDQ5OTI2QUIwQkNENDgxQUFEZDEyMkFiMDkyZjQxIiwiMHg3MzBGMzY1MDU0NjA4NEU1NTQ3M2IzMDVCZDE3QTEzMTJBODExODY4IiwiMHg2NDQ3OWI1N0M3ZmZiNzFkQTI0NjUwQUE5Mjc3M2U4MDcxRjA4ODU2IiwiMHg0OGE1NDY3NkEwNkU4N0ZBNGYzMTNjMzJFYUU1Qjk0OEQwMzg3MmQ2IiwiMHhBMmVGZTI1NTFCRWNkNzEyYmNDMjA4ZmU1YjMzYzg5RjZGNzU4OWI4IiwiMHg5RUMwMjJkNWY4ZkM3YWY0NjQ5REE2YjE3OTNFRWUwNGRBOWFmQUI0IiwiMHgzY0E4ZDIwZDVCMjBlNEVhODI0MkFjYzg4QkE3ZTg2NzYyOUM5RGFEIiwiMHg0NmE2ZDA5MzFDNGI5RmRBNDc4MmRhNzg5NjFjMzg3QzQ2NEUyODk0IiwiMHg5ZEUwQTI5NDc5MjBmNzU3MkM3MTM1QjhEQjIwOTIxRDMwZTMyNDY1IiwiMHg5NjZiNTY1MUUwNTI4NzY3QWY3YmQ4NjEzQjRGNmJCZTE2MjU1MDE3IiwiMHg3ZTM3ZTIwMTc2NTk3OUM1NTlDQ2IwNDdDNWFCMjc1REI5NjA2NDlDIiwiMHhDMzg5NDc5OUZjMjNlMzg1NDgzMzljQjNhMzg1MjRDNDA2MTMyMzg5IiwiMHg2ZTg0QWU0MzVDQTVkQkNGODIwYjVEMkM2NEVmMWQxMjVlZjk4YkE3IiwiMHhBODgzNUFFNGFiRTg5MzQ4NjJjOTVDRGI1ZDUzOUQ0OTRlNUJmNUYzIiwiMHhBMjliOTUyN0NhOTQ5N0JEMjQ0QmIwODAzOWU2MTNDQTk2Y2MwN0RBIiwiMHg5RTVCRDhjNzBENmI5OWJFOEYzRjE5RkI3ZTk2YTM5MDFjRkVBNjFmIiwiMHg5NDQ2YzZBM0RjMDk2YmY4MWZiRTlGQ0NlQjdEN0E4ZjNDMmRFY0M1IiwiMHgzMzg4RjQ5QzRCQmQ0MjM5MTg2OTUxNUI1YzQ4QzJkRjE2MzI1NTQ3IiwiMHg1Q2JDY2RGOTZmRTY1OGM2NzU0RmNCNDg4MzU1MzU3NzlGN2VFNzY3IiwiMHgyOGY4MzBiMTlDOUI0Nzg3RmFCOTFBNmUyMkQzOUQwM0UxNzA4QWMzIiwiMHg5MUVjMTdCNUM4N2M1MTc1QTRFYTExMTEwNDBDNEM4ZjNjMDU5QkFBIiwiMHg5NDc2QURkMjVGYTM3NUU4NWY2RTQ3NjIzRDQ1NWY5NTE1QTY1NTQwIiwiMHg4Y2FBZUQ0MDgzNzA5MWUzNjUyQ0RhNDllMDREZENBMjQ5Q0U3QzMwIiwiMHg3ZEQyNmUzNzgwYzQ5ZDk3ODJCMDZFRDE2OTM2OTgxZEU0ZkE0YjEzIiwiMHg4MzlCOTVDMDFDNUZhMkM1QzgyOTc2NTI1MWJhMWIxNTEzNmI0MDU1IiwiMHhlYzVBNWJDOTQxMDBlYmRGNzU4MTJFRUZlNTZmRTBmOGMzYzVFZkQ0IiwiMHhBNTMxNTk4QTc3RjYwQkEyZTgzMjNmYjNEOUU3QmYzYkE5MkM4OEUxIiwiMHg1RWFiOUMyMkEzMjBCNzk5MmNlMUEyOEMzZTlhODY3Q0ZGMTZlQWI0IiwiMHhDMGI2ZDlhRjIzOTg4NGVmM2RBMmRGYjhDODIyN2RDNjBBRWZFM0I3IiwiMHhBNjY5RjdkRjM3Zjc5NEE5MGFkZjdBOTk1RTg1OGJjYjA2NDc0NDllIiwiMHgzQ0RmRDliY2IzZDAxQjMxN0E3ZjA1MzkzZDllYzdBMEU5NmVENUUwIiwiMHgwMzljQzFEMGM2NUQ3NUU4MDVGODIwNzlCRDE5QjhjMDE5YTNBNDAzIiwiMHgyOUMxY0JCQjFBMTIyNjBkNTI0NDQ4OUYxMzYyOGY5MDkxOENBY0Y4IiwiMHhkODZkOTA2M0E5MkJENzM1NEVEQTliMERhNEU4QmVGN2ZGNzg0ZTFFIiwiMHg3MEJEOTcxNTExNjM5MGExQkZmNTdjNWMyZUYwMDREYjMzMjg4RjFiIiwiMHg5MjVCY0E5RTM5MDBhNTBCYzI1OTVhOTQ3NzcwMWZiRmEyRjU1QmFjIiwiMHg2ZjM2ZjFhRTg2MEIwZDM5OTZmRDRCQjNFNjlENjhjZmI2MEU1Zjg2IiwiMHgxMjk1Qzg4MTNCMTcxQjAwMWZhQTc4NENjNzU2YzcwMGQ0OURiMjJFIiwiMHgwYTk1NTQyNjUxMDY4NjMwNTU2MTg1RGE2RTU5ZEY4OTEyZmVDZGIxIiwiMHhGQ0VjODM5OTY4OTRhYTE2ODVDNkEyQUM2Yjg3MEIzOUVkMjcwOTYwIiwiMHhCQmI5MWQ5MTA4RmU3MjdDNTA4RWIzYTUwM2QzMjM5MWJmNDY4Nzg3IiwiMHgxQTI1RkRGMjREMjJmMDk0MTkzY0VlNWJkZGQ5M0UxOGUzZjkxOUM0IiwiMHgyNTkwRjZiMzc3OTZmMTkyYTkzREI3MjA2YjdiNjE1OGU4OUM5ZTVlIiwiMHg4NTI2MTFkMzFGNEQzRDA3Nzc2YjI5MjgzNDMyMzlGODNENDdmMTRDIiwiMHhjYTlhN2I3RDQzNTdBMDFlZTg2OWNEYzZkMTdDMEMyOUE3YzEwNmNiIiwiMHhlMDk0N0Y4MEYyMzlkNGQ3ODhjNTJGYWI5NTU5ODU3Y2JFMzcxMUIwIiwiMHgwMjdjNmU4MzQ4RDk2NURiYTU4NDdjNDBFMzVBMDkwYjFGYmFkOTJjIiwiMHhhYzZGZmNlQzA2NDNjOTY2MzExRTMzYzZiZWQwOTY4MGE1MEFkRUMzIiwiMHhBOUZhMTg5NDU1MUQzQjIxOEQ5YjRGZmNhZDViMTQyZmY1QzUyODgyIiwiMHgxQTBmRjZiOWMwYUYzNjNEMEYzZDJlMDdCRkQ3NDllOTNBMzliMGQ2IiwiMHg5ZDYyNTcyZEViNzE2ZDY3RjNiYWQzMDBjZTExOTFBM0I2OTE2ZEE5IiwiMHg5RkYyZjcwY0M3ZDk3ZTM1QjhBNDczMzIxRTZmMDEyZDE3QjA2RGFDIiwiMHg3MzRFOTJFNEIwOGNDMjUyNzE3ODZhZWMzMzBDNTRDMUQ1NGQxMkVEIiwiMHhCQzkyNTI0M2RDNzg1RTE2MTQ1NTIyNjg2NDU2OTA5MzdmZEVCY0Q2IiwiMHhFNUQzQjkzRDQ0RDUxYzYyODExNUViN2RCRjJjQjlGNDlDM2UwOWJlIiwiMHgwNDQzNkJFNWMyNjdjMUI3NDFjYWVhRGQ4ZWQ1NjU5REFDMGRGOGY3IiwiMHg5Mzk1RkMyNDFiMkI5OUE4Y0Q5RWUzZGI2MTYxZDlBODcwMDI5YTFDIiwiMHhGNjgxZjRGZDI2RThmQjA0NWY5NTQxOTg4RDQwOEU1MTNmMzNmMzRGIiwiMHgwN2I4MTUzYjYyNkJkMUE4ODdDNzYyODFmODIzM2JlNTEyNEE4NTlCIiwiMHhlOEVlNjY2OWQyMEREMjk4Mzk0Y2E3MjY0QjQxMmI0MDc4NTgyNjNkIiwiMHg0OWUwNDUzMzRCRDUzMTRhRUQwQmRmQzk2Zjg3MTg3RmRFYUFiYzQ3IiwiMHg2NzgwODdjODgwOUQ5OEYzMUQ0NjFkOTI4NWY1NTA3QjEwRjAxMTBEIiwiMHgxYjUxRTRDMGE0Yzc1RjMxMmZBZjQ1ZmY5MzA3NDFFOWQyYmYwQWNCIiwiMHgzZjM1YzAzZDczZWJGQjlkNUY2ODMzMDlGMjk0QzQ0QkViOEI3NjQzIiwiMHhGMWQ2OTI0NmE2MENiNmNGOGI1NkE1ZUQxRTM0OUVGNWREY2VhNjA4IiwiMHhiNmU2N2EwNTE3MTcyNjUwMjRCMTBjMkE4Qzc4MDk2ZUFENkNCZDUyIiwiMHg5OTY5MTgzRDU3NjIyMGIzMTM2OWFCODc4MjYwZTVCQjlCQzM0NzQzIiwiMHgyOEZCYzZGM0U2YkM5OTE3Mjk2OTc4YzBBRTRlN2ZGZjc0ODMxZjg0IiwiMHhBQThhOTJBMjkyNjMxNjU3NWJDQ2QwNjU0ODk3NTYzNjBENGU2NjMwIiwiMHg4MDg4ODZFYTA0MjU3QzBiMTMyQzlkQkVCQjZGYTBDNDlkMTEzMzllIiwiMHg5MzdmNTZlODdFZDc2MTVkMWJhNDNEMjFEOTEwM2I0M0FERUEyQTZGIiwiMHgwMTI2MjUxZjk1MENmQjljNWYxN2M3Q2JkMThDOUEwMjk2ZTQzYmQ4IiwiMHhEMzRhNGU0ZTRDMjMyRmM0N2M3NzQxYkJCNDdhNWJEZkRkNDYzNDAwIiwiMHg1NDYyNjMwOGNiQjQxOWRFN0JFRTgzNzM4ZEM3MUNkQjZmODY4MTYyIiwiMHg1OTI5OTkxYWFjYzI0MWE4MTdmNWIxOTg0YzQ3QjZCNjIxZTA3ZjQzIiwiMHgxRDk2NGMwMjUxNDY5RmIyNGJjODA2NDBhZEFCYTJCMjA0N2I3NGZhIiwiMHg4YjQ1ZTQ4NzBDZjY3MjFhZTZCNTlDMzQyNzcyNzAwNmIwRkY3OUJkIiwiMHgzOTYxNDU2NDU5NDZCMzFhRTk0YzU4N0I1RTg4ZEM5YTgzQTEyMjZCIiwiMHg1M2ZEYTkzODcyMTJiODlEOEJmRUU2Qzk5NDliRkZjQWM0NzhGM0Q0IiwiMHg4OTRkMzAxMWY2NTc3ZTU2Q2U3NzY0Qzk1MUE0MDhCMmQzMTlDNzY1IiwiMHg5MzA1RjAzRjc2MWNlY2JjNzI5NkEwNjMwOTE3N2ViMzI4NDc4RTgwIiwiMHgzODZEZGFFZUNDQjkyOWIzNTQ3NzA1NjEyRTE0ZDc4NTM0YWJBRDM4IiwiMHgyQzcwQjc2RWMxNGFlMzFGYjBDNjkwNTBhYzA5YjM4RWQwRGM0QjVkIiwiMHg2MTk2MTM1M0JmNjI3Y2RDY2I3MTcxQTNjOEVDNTA3YjJiQjgzMzYwIiwiMHg5YjY0QzY4MjUzRjI4OGY5OTMxMzI3MkUyRjMyMGVlZDVkOTczOTA1IiwiMHgzRUVGNzE5RjBjZjczMjE5ODg1MjEyNjdENDM1OEZDQTU3ZjdDMThhIiwiMHhiYTQzNTk0ZjY2QTdBNERhMkFiYURkNTcxZTRiOTkwODU4OGJEYzY5IiwiMHg3NTAwODBlOTc0YmUxODBlQjQ4NDQ3OWExM0U4MTM2ZjlBQTUyNzNmIiwiMHhkMDQ1MTEwQzQ2NkNDQjJFNTdFQjQyNkJhYUU3Q0U4Njk0NThGMTczIiwiMHg1NDNhMmU2RDQ3NzQxQjRFRmZGNzk0ZGFFMTg5ODEyMzJhMTM1NEYzIiwiMHgwNTQ1NDEwOWFhMGNhNDUwMTIwOENGNWM1RjhBZDYyMGVmMERkY2EzIiwiMHgzNWZBYmYwNWVDRjhFOThENjU4QjJlOEU5OGFCZDRkYzYyMGFmMTgxIiwiMHhhMzNCMzAzMTg3MjM0RjFjNjRhNWY3ODlBZDk0YkIxNTc2MTZFMDUzIiwiMHhjMDAyOTcyMzVmNEY3MEZDYTM4MjgxNEM4Q0M1MTVhQzk3ODBGNzJFIiwiMHgxZTAzMjFiOTA1MjU2ZkM3MkRFYjg4ZDYyMGI1OTIxMmM3MjM3ZGE3IiwiMHg5QTAzZTcwMkRiNzhGNUI1NDA4MTIyRDBlZTVGM2Y0OTgwMTE0MDg5IiwiMHgyZTEwRmQzMEI1RjkzNjlEY0ExOUYwMmM3ZjJCNzZlQzU2ODM5OTU3IiwiMHgwNUQ0ODkzZkQ2Yjg3ODQyNjcwNmI2ZTgwMzI3MzBCRUY2NjdGRjdjIiwiMHgzOTFjMTRlOWFlMzNDOEY3MWY4ZEZBMzkwNTM4NDY0NzEzRDhFOTkzIiwiMHgwNDFkMzVGMjc2MjY2ZjEyM0ZmQUQ5RmQ1ZGU5NWY3MTAyN0JDZjE3IiwiMHg3MjMzNTk2NjU2NEMxMDUwOUMwMjZGRGZiNWM4QUY0MWE2ODAyRTdBIiwiMHgwNTE0ZjkxRGJFNTFjZDVGQjA3MjNjRjM2REJFMmU4QmRGNTZkMDQ4IiwiMHg1NTQ1NTdENTdhQmJCNGM3MTNjMDk3MkE0ZEVDODdFYUM2NEUxMTU0IiwiMHgwM0ZFZWQ4QmU0ZDc3MTVkRTk3MzUxOTEyMkVCODhCZjQ5MzVhNWYzIiwiMHgyNkQ3NGQ3NDU2NTc2QzBmNmQwZWUwMjA0OTE4YzhiMWU0YTU1QjgyIiwiMHhjMzcxODkxYjY4MjdjRjBGRTQ1NTIxN2RkNTYxZDk3ZDE4ODMyRThmIiwiMHhiQjkxMTk1QUFCMjczMjIwMzMxYUVDNzY4ZmE1MjhBMDFFNzUyRjJiIiwiMHhmOEIwOUJmMURmNTY2OUY3MTliNjQzZkEzQkUxMjc0YTQwNzg0NzQyIiwiMHgzQjllOUFmYzQyNGJkRERBOEEzMzE4ODRlODhhOUUwMkFGZTRGMzM1IiwiMHgyRWVjYzBFY0UzQWI4MmQ0YjRGNkM2NUU3YzQ2MkZiYzFBMTA5NzM0IiwiMHgyNWEyNmYzNWY2MEY3MDJDOGZmMUJCMkY0YWU4RTdhOTU0ZEYwRjBhIiwiMHg3MTA5ODBCRjUxZTJmMTU0MUE0NzE0MTBjRmM4ZDFkM0E1QzlkYThCIiwiMHg4RDNhMDFCMTQxMzkxMjk4ODM5QTMxMjBBRjg0OWVhMDcwMDIzMmNCIiwiMHgwYzQ1MjU3OTliOTlGYzIzOTE0OTRjMjFEOGMyMGI2Nzg1MDc1YWE5IiwiMHhCNjJhNzRGOGJFMzhjRWYzQjAwNDU1Qjk5ODk2MzczNDlkNGExYkMzIiwiMHgzODY4MWM3ZThiYWRiMzZEMjkyNzY3ODc0MjcwMURFMWY0ZDMxNTAwIiwiMHg2ZDBmYjY1QmRBREU4NDlFNTBDNzcxOWI4ODE4RmFhOTBGQjZjMDAzIiwiMHg3RjQ0QkY1YkY5OTlhNzE0ODIyOEJkMGQyNzgzMzhFM2IwYTQ5NDMwIiwiMHg0RDQyMUExNzNhRWFjOTk1MEY4MzMwNTM2QjZmNTEwMkJGM2NCMkRCIiwiMHhmNUM5MmM2QmYxZDU0REUyNTdFODg2NUViRjM0QjA1RjkzQzkyRWRlIiwiMHg0RWEyNENkQTJCM2RiMjgwMEI5MmIwOUIwMzM4MUM5NzBBNjQ4ZjJFIiwiMHg0NTNFOTFFNDc0YmEzNTcwNjdFYjk3OGQ5NzJkRTc1QzcwYUZFOTg0IiwiMHgxRkE2QzNlMjk5OTQ4Zjc5NTg2ZEMxZTMzNWUyNTMwNmRCNkQ1RDM4IiwiMHg3MzJiZjJkMWY3OEZBMWY1NDMzNjM3QzZjMGU4NTJFREY5REQ4NTJEIiwiMHgxNGM3MTVFODRiZDA0QzhEYUEwM0M1NTM0OGZmNzlkYzkxODIyNjU5IiwiMHg0MzYyZDM4QzkxMzFhQTgzZDJFNGVhNTZDMjQzZTZFMDI0NUMyMDY1IiwiMHgyQzZDMDRlRkM4Y2Q1RjMxMkNlNUI1ZTA4MUZhQzMwOTFBOUI0MTY4IiwiMHg4OGNhQTlFZmI2NEJDZThmOGJkMmZBREYwQjAzMWVhM2JmMmY0NDYwIiwiMHg5ODRFRmFjN0VFMTI1NTMyNjY2QmMxMjVBQ0JiRGFGMjlGRDcwMGFCIiwiMHg5ODA2MTMyYjE4MTExQWFjNDUxYTQ0NkU3YzBlODhmZGQyMDJjMzQ5IiwiMHgyNDUxNWVlNDhEOTVjODJCM0M1MTQyMzNEMjc4RjM4OEZjMUY1ZEMxIiwiMHg1OWU2NzhCZjgyZWM5MEJEY0RiOEEyNTlkNDYwNWExOTkzMDk4YkFhIiwiMHhhNGJjRDE3MTY4NWYyNkU0MDVhMzc1ZjZDYTZDOThEZDVhZjA0MDYwIiwiMHhmMkE4ZDZkMWExRTQ3MTc2M0U3ZjM2MUJiNzQ3YzYwM2MyNDY4MURFIiwiMHhmMjA0M2M4ODQ4YmRjMTQzNDZlM2EzMGVhMDA5NUNBMTc5ZDY3NDYwIiwiMHhjQTJkYTc3MGRBMUQ3QWI1NjUwNGZmZUM4ZTAwMjIxOERhZEM3Yjg0IiwiMHhiNURjMERGMDAyYWQ1N0NjMjAwQUYyRmZhMkFmMjNCMjBiZDY1QzY0IiwiMHhiNGJFMzk3RDM1ODQzOEI4MDBhNzc3QjUwNjY4QjQ1YmFhNmJGZDNDIiwiMHgyRTc3ZjBERkFGMUIxNjNjMWE2QjU3NzJjOTY2ZDgxNmUxNjYzMmJEIiwiMHgzMmFlMDZjM0MyRkIxOGY5OTRiNUM4REIwMERCZmM0NmNGRjYzRUZmIiwiMHgwNGIwQTU0MTQ1NDY0N0MyYjc4OTUwZkEwOTBhQ0UxOTAwNzA1Yzg3IiwiMHhhMTk4NGYxQzIxMEM0RjMxRjM5YzFCQTRkOUJjQzNiYUVFNGRjMGVEIiwiMHgzYzNBNWREZkEyMzE2YTg1MDY3YjVGMjYzMTI3MTc1NDZBRjc4RjU1IiwiMHhkZjZhNWJCMzQzYkE1YzNFMjZlNjc4RDhDNzc0RDJDMEEyQTRGM2Y1IiwiMHhlNzk2Y2JlYzFlNDBGMzA4MTQwZWJERUUwZjcwMGVFQmU5NjEzQTU3IiwiMHgxQ2M2OGY1MkVDQjNENDFGNTYwQzBEQkY3OEZCQUM0NmE3ODgwNDhFIiwiMHg1NmU5ZUI3NDY3ZjBkNGEyNzg1MDEwMTA0NjZBOEU3MTAzRDFlQzU3IiwiMHg2ZDZFMGNhNDlmN2U0OGZmRTAzNTU5OTZEMDREY0IxMmIwOGU0OTg5IiwiMHg2N2FiM0ZDOGJkM2ZiOGRGNDJlOUZhNjY0MEIwOGE0YTg1YUYyNzllIiwiMHhGNjdDYWQ3NDhCNDM3QTZkMUEwNzk3QjUzYjE2YUExNDdkQjUyRTY2IiwiMHgzODYyM0EwZGM0NDhkNDQ5RjNENjAwNjRiNjVBQkVmMjc0MEIxODM3IiwiMHhkZmYzNTc4Yjg4ODI1M0VFNTY0NTQ5ZDVDOTUwQWVkYzY0RGNiM0NmIiwiMHg4OEI3YjFhOGY3RDFhNEEwMzgzZTU4N2MzQWZBODY1NGY1NjJlMzNEIiwiMHgzMjZlNDlCMGJEMGJjYTIzZmU5REU5YzY3MDMwOTdiRmFERjlGOWQ5IiwiMHg4QUMyMjliMTFmMEVGZDdlM0Q3QmE0OEFhNzI3NEI1ZUUyOGIzRTJkIiwiMHg1YkMxMDdCM0Y2ZDBDZUU4QjlGNTU1Qjg0QWU5Y2JkRjlhZkQyOTg2IiwiMHgxOEQxOUJEMDIxYTEyODA5YzNjYjU3NmEwNWREYTA0ODAyMUE4MUNkIiwiMHgwNDAyMjQxODI2NmY5OWNBNDVCQTk3MzY5QjAxRmFiZDlDNzM2NjA0IiwiMHhjMzA0MTFjM0UwOUQ1OEQ0NjEzODE5YmI0NzEwZTlmMzYzYzY1ZDUwIiwiMHhiRTFENGI3NDUzMjBBRjQyNUEzZDBjNTg0Mzk5ODBCQjEwZkY5ODU3IiwiMHhkQUY3NDA2QjI1QTE0RkU2OTVGNUQyODVjQUY2NzljQkM5ZmY3N2U1IiwiMHg4NzA3OGRENTkxOGE1NzU3RTI4NzE2OTQzOGUzYzQ2MDRmMWUzODZGIiwiMHgwNURlM0Q0NmJhQzgyYzM1MjQ3ZDUxZTk1ODZkNzlmREY2RTBDRjlCIiwiMHg1MTlDQTY1ZEZmMjVhNjlBN2FiMUVERjQzNjU4Nzc5MzMyN0ZDRTYwIiwiMHg3NEMyN0VBNDY3RDZhQjc5MWNBNTFiM0Q1M2VGZTA1NjY5RDFiQkRDIiwiMHg5NmNlOTM3YTMwQUQwZmU4M2U1MjI4NjY4ZjM3OGMwQzMxNDZGMURDIiwiMHhhRUFkNmFhZTE3RGZkOTQ0NTEzREQ2MGE5ODA5RTM5NDEwNTg0NTFFIiwiMHg3NEJBZTIyOTYxNDNkMjU2NmU5NGYxM0IwNEFmNTM0MGNjNmQxMGMzIiwiMHhCQjFDRkY0NTYzYTQ1Q0ViZkIyN2E0ZDRmNWNkRDJFNkFkOTMzYjhEIiwiMHg2MTdiMUQxMzI3Q2M0NTYwNDVFQTM0MzhEOTFCOTU1QkI1RDlFRTgzIiwiMHg0Yzc2NTAzQkMxODlmN2IyRmU5ZUNlOGYzQ2I0M0QxOURmNjRiMUMyIiwiMHgwRjYxYTNhRjY3NjJhNkY2RjA1MWVFRWI4MEU0OGMwMTg0NzZiNkM0IiwiMHhmMTVEOWYwQWU3YUE5RjZlMzcxYTM0ZTZGZjI1NDY1NjEzNWZmNDBEIiwiMHhBOWQyRjAyNzU4NTdENGRjOTYxZmQ0OTk3MjlCRkNEQjlBNGM4ZjkzIiwiMHhFMzYwZDQzOTA3NkQ2NzI3MkJEZjk3Nzk4NUFEZjkyOENiQzkxYzEwIiwiMHhGNjA4NDhkRmU3ODNCYzFiYzBFNTlkZkVjNGZFN2FkMjVjRjg0QkQ4IiwiMHg5NDMxMGVDMUMyODM1ZDc0NDhFMUZmMzkzMjQxNzJmNzlEZjlFMjU0IiwiMHg2NTdjRjFhMjhBYTlGM2ZGNTg2ODVEYzEzNDgxOEMzZDE2RDA1OUViIiwiMHg2OGEwZTA5M0ZmZDVjZjFlRGM3MjU1QTUyNzE0OTEzQTIxQTM4YTUzIiwiMHhCYjAyQmI1RmJGNDRFMTY0MDMwMjg1NTVlNkI2RDAyNTc0YTBDN0Y4IiwiMHhhY2VGMzY5RGE5ZjlCMjc4QTQzOTA3MjM5NWJGQThDQkY1YzQ0YTQ0IiwiMHhBMmJhYzA0RjY2ODM0ODU4QWFiYTA1ZGY3YmE5MDAyYkNiMmM4ZjZkIiwiMHhhYmRlZDA0MGQ1NjM0NDgwMzU0MjRDNGRCQmE0MmEyYzM2NTRmYURjIiwiMHg2ZGUzN0M1NjY5MDE5MTJjN2Y5NzFlMmY2MTA5MzUxNTM0MDA2M0MxIiwiMHhlQzc4Y2MwMDU2RkY3OTUyNTY3ODE1REU4MzQwRTQ3M2ZjN0U2NTFCIiwiMHg5ODkwZjdGMjgyMzgwN2FFOWUzNDQ2MzM0RjAxMDFBMjBBMzcyZWJlIiwiMHg4NmU5ZjFkNGViNDgyOEMzQjNBNEFEMjA5RENhNzlmMjk1MDEyMTU4IiwiMHg3RUY2Q0YxNzBmMDk5ODI3MjlmOTZmM0Y3ZjFBNjlGMjhlMjkwOEYxIiwiMHg2NUZjMDVkNEM4ZDBENzAyMTdiNjRBRDU2RmY1RTk2ODRDMjg0ZTE0IiwiMHg0Y2Q1MDlEMjVCRWFEYTNGYjIxM0Q5NzBkM0QzYjNlNWI4MkExYUFhIiwiMHgyNDY0ZjBCOTBFNmMxMDNmQ0VBQ0U5QkFlYjNlZjY4MEEwOEJGQzI5IiwiMHg5NzJEMTU3NjExNzU4ZTY1YmMyNjU5ZmQ0YzNhNjVDRjkyODdmOWY0IiwiMHgwMzYwYTY5MWM2ZjIzMkY2QjZFRDhFNTVGRjc0RTY0N2YzRkFiNjNkIiwiMHhBODIxYjE3MDNGYWZDOTE3NGNEMjI4ZDAxN0ZGNDYyNDA5NTU1OUI4IiwiMHhFMUIyMTQ3NEZlOTNkQ2U1YUFBMjc0MzMyNUFBNDRiODE5RTNFZDMyIiwiMHhEYTNkNTg1NzNCNTA2RDQ3NzhiMDYzNzk2Rjg5M0Y3Zjg5NTg0Yzg0IiwiMHg4ZDRiODVGNDA4MDhBNThlZTliODM5RDE4OTBCREYzNDhmMDA5Mjk3IiwiMHgyRjNjNjgyNDU5Y2Q1MDc3YzNlMDJhNTNEMDU3ZWVjY0M0N2Y1NGFlIiwiMHhFMGRCYWViMjMyN0U1MWE4MzFiNTJjOTBGNzRjNjc1MGJhYUQwRjE5IiwiMHhiQzQyNUMwOWNkM2IyQ0Y4Y0RGOEMzRUM3NTJhOUEwMmRBMWNEMjkzIiwiMHg1ODI0RjVDOWNGNmZmRTI4NTUxZTFEZkEwMTdiRTBlNzFkYjE5OTEwIiwiMHgzNjEzMjUyOUZBQjBGNzZhMmNmMDZDZmFDZmQ4YzQ3MzE3NDQ2NzEzIiwiMHg1YWVFYzA2QmUwQWMyNjljRTI4NGRCQjMxODY0NTRlQTU2NDg0NzEyIiwiMHg0NDY3YjlkRGY3RjI1OTVmNGE1MDVDMTdhODFmODNDYjQ3OTNFMGE1IiwiMHgzNzViZGRDN2FjMzU0NzI0QzFjMzI2MDNBNmNhNzU4YWY3OTI1NmY3IiwiMHhhNDM0YUZjNTdlQUVBMUUxMjI4NkY4QzI0QjNiMzI3NTQ1OUVCM0Y2IiwiMHg5MTM5MTg5MjhGYjA3RmUxMjg5NDQzYUNCMUUwMjk4REYxMTM3NTkwIiwiMHhFOEIzMEU3MTA1YTBkNjA1QzcxQzMwMDhkMzU3ZThFOTgzQTgzMzFDIiwiMHgxQWUwOUVGNkE4QTY4Y2M0MEI0N0UyNEU1ZmI3ZjU1N0ZDMDZDODYxIiwiMHgzOWRiMzYyMGQ3NkJBMkNlOERmNDU2MDMyMTczYzA4MWQyYjdFNzM3IiwiMHg2OTBkNWY2NzY0OUU0NTFhQzVkMjE2ZEU4QjJlNzY5NWVBOEUxQjE3IiwiMHhhOTk2QzQ3MzdDZTFGRUJENzAzYWI5MjAwMjE5ODZhNTg4ZjFBMDdhIiwiMHhlZTZiMERmMGRCNzc2ZTk4RTBGNzFEN0QwM2U0NUI3RjAzNTk2REYyIiwiMHg3YzRkMTY3ZTU2N2U4ZkMwMTM4YmE0MDIyQjk3RjU5MTFCMDc2NmFiIiwiMHhFOEQ4MjM5Mzk4MDRlNjZiMTkwYjc0MTlGMjFENjA5NDgyMjI3ZDI4IiwiMHhCNjVlMEY5MDQ3NTVEN2FGQjMwNDZDMjI4ODg1M0ZlQ0ZEZDZEMzU2IiwiMHgwNjE3ZDVmRkIyOUMwM0FjMzVGMTg2M2I4QTUwQ2UxQjUyRDQ0NmY2IiwiMHg5MjBjODdEOGIzQ0M2NzVENkFjRkYyODMwYmVDRjc2RDU1YmM5NzRDIiwiMHgyNmE0MGYyOGZjMUZFNUI4YWUxOTY3MjUyYTVlNTIwYThhNDI0Mzc0IiwiMHhjN0M5QjViMzgxNDJCQTEyMTgzRDE0RTQ2NWNBNzU5NzAxZjQ2ZkRlIiwiMHg3Y0JjQ0QwZTVGZkJlN2Q3ODAxNjg3MmIyOEQ5QTM1OEZFZjUzZWQ4IiwiMHhjOTMxZTEzNzg0NWIwQzM5MkYwZTdjYzZEZTE5QTJjMUVlRjRiZjI3IiwiMHg0QUVlOUIzYjNEMzI4M0FGYzNkZkRFN2NFNTI3NTQ1MGVENjFGMkMzIiwiMHhEY0Q4NEEwMmNjNjg4NjlmZTAwMzk5RjdCODVlMTAzODZGMjk2RTI2IiwiMHgxMzEzZkNhN0MzZEZhZTIxMWU0QjU5MTFjQkNmNzExRjgxRDgzZENkIiwiMHg2NDQ4NjU5OEI5ODcwNkIxMTJkNzU3MzRjQjQ3YzYxNDhGQTA1YjI3IiwiMHgxNzBhNDY1OTI0MzkyZjBCQjEyNGUxNjgzMTAwZEI2YmI0ZTMwN2U3IiwiMHhGMkFCOERBM0Y3OTA5NDg1MzQwNjcwQUY4MGUyMDE0OTIzMzdkMTNhIiwiMHg5ODZjNDlBMjI4NWNmRWIzODI5Njk3MzUxNWVBNTdiNTk3RkMwZDE2IiwiMHgwZjZFRUZEODE4ZDIzNDIyZDQwNTAyMUI4MmNjMTNlNTViMmI4RUQ5IiwiMHgxYkE0ODZjMWZmRjQ2YzIwMkY3NjczZjNBZkM4NjMxN0IwQzYzRmEzIiwiMHgzRmI0NjUzNGMwZTdDOGFjZEVkYTc3OTM4Q0JiMTA2MWI4YWI4QTIxIiwiMHg3NEFCN2FmZDBmOGFEQzk1ODcyZjIzRmU1NmZjNkE3Mzk2MzU5OUFBIiwiMHhGOGE0RmFCRjQ2NUI2YTgyMmNlNEMyQjk3RTIyYTdiMDFjMGVhNjA5IiwiMHg2NjdkMjkyMEFCQzdjMjVkQTQ5MUExYTIxZkNGOUI0OTQzNkEzMTgzIiwiMHgzMTVEMDc3NjA5ZDYxNEJDMDlhMkJCRGNGMUIwNTkxMjUwNDRmZTQ0IiwiMHgxZkYwNzREREVFMDQ4ZDhhNENEODdDMzUwNTc1ODdBNzUwMDFkMTdlIiwiMHg2NGM5NzlDMjUzREJhRTZDQmE4OEU3MURGRUEwOTA3MjIwQ2Y0RDQ4IiwiMHhDODY2YTFiQzI0ZkQ1OGI2RkVGRTFDMGE2RWY5QzIzMGM3OTM0OTkzIiwiMHg2YjcxNTQxM2E3ZTc1MDM1RTQ4OGIyNTRmYjJDOWJkQWZiRmJBMTkxIiwiMHg5NDJGRTc3MDkwMzlDMjAzNkI2OGZDNWVmZTcyM0YwYTZiMUYxMjg0IiwiMHg0ZUY5MDEwNTRBNjdhZDFlRjQxMjU5OEU5YTdDNjYwYWRhQ0IyMkQxIiwiMHhGZTgxZDc2ZDBiYjlFMWE2YzVkMGYwNTc2ODkwOTBmMjkyMDM1MTA0IiwiMHgxNUNhNDVBRTNGZTA2Zjc1NzY4NzI4OUU2QTc1NzJiNUM1ZDFCMkJmIiwiMHg0MWYwYjQzQ0VmQTVDYTFENjlDOTQwNGYxNmE0NTk1NUFjMDAxQjJkIiwiMHg4QkMwZTk5RDY2Mjc1YjZFNjdmNzgzMzE4OUJCMDNjMjY2MmIxYzlBIiwiMHgzNGUxNzM3RTdiRmEzZjE2MDI5ODlENzlkQ2MwQzJhZGYwQzE5Y2E2IiwiMHgyQjM1QkZhQzY0MjI5YTgyRTYzRDhlNWZCOWU3NDlCRjdlNTIzNzc4IiwiMHg1YTlFOGZjRTg5MjJkNjVkNTI5MWEwMzU1MzQzMzczRTBkMGEzYjgzIiwiMHg5QzMxNGVCRjMxNjc1MDAyQWJFNjZCOTc3Yjc0NTRmODU1NzUyYjMwIiwiMHgzOUMyMDNkNEJlN0NCYzU0M0E3ZkMzNjU0NEE2NWZiMDFjYkRENjhDIiwiMHg2MjhDNkRGREQzN0MyQzA0NEU5YTdiMGU2ZEQ0MDJkNzkxODhEQWREIiwiMHgwMTVDMjQzNzNEODU3NzkyM2ExYTA0MjBENmVmYmI5RUMyQTBlMzQxIiwiMHgzODQzNEU3MDljOTg5MmU5NEJkMEM3ZDQwQzhEQjBEZmQxZUQwMzczIiwiMHg2RjFjYTE4NzA1NGUyNDc0YjAzRUIyMzgxZDJlY2VlNDdCNWIwODQxIiwiMHg0MzFhQzc5NDI3ZGNjRDc5M2E4NGQ0NDg2YTlhZkU5ODlDMEI3QUViIiwiMHhlZkUwNjcwQkQ0ZjgyRGE0M0JCODU0NENDMzhDODE0MURlMDQ2Njk2IiwiMHg5Y2E0YjA5OTU0NTExMzdkNDIzY2I2MjZDNDRhMjYyYjFhMGIzZjNjIiwiMHg4OTQyNkE4RTMwNDdkNDY3RTFkZjcyYTRCZTJkMkU0NENCZTIzMWJmIiwiMHg5MjdkZDVBMzcxZjAwRkY4YzJhNWUwQTg0YjI5ODQyQTIyOTY0YjVBIiwiMHg5M2NGMDg0RjVGN0E4MEFFNzhGYTlFRTdCMzQ4M0FlMzhGNUQwNzQwIiwiMHg3MGE1NTVlMWU0ZTIxMTZDNzk2NEZDMkI2MDg1RjdlMDIxQTJGMzkzIiwiMHhhRDYyQzkyNTcyMDlFQWY5NjBhNjkzMzg5NjMyMGZENEVDRWY3NjlhIiwiMHgxZTY2YTE5NjM2MmRCRERlYmY4OGIzNkM4NmNGZmQ2YkYyNTc1MjA0IiwiMHg4QTVmMjczMDBFODQ4MzUzZkNEMkVCMDY3ZTY5NjFmMjRFY0FCOTJiIiwiMHhjZjJBN0YxNzU4MTRFNUQ2MDUyOWQzNTQ1MDIyNDg1Q2RGN2Q1OGU4IiwiMHhkNDk0ODg3ZTdiMjc5NkMxNjU0M2E2QTkxZDE3RGUzRDRkZjdBOGJlIiwiMHg4Zjk5NjhiNDRBYTYxREVDMmUzNzg1ODRDYzk2YjUxQmYxNzNlOWJmIiwiMHhmNkM0ZTRmMzM5OTEyNTQxRDNmOEVEOTlEYmE2NGExMzcyQUY1RTVCIiwiMHg1RTk1MTI3RWY1ZDU0YmRjNTgwYzU5RkJDZThkODM2YzNCZTAzMDY4IiwiMHhDOTYyQjcyNkYzNTYxMDVDNEQ5MzkxRWM4NUExRDAzMjRmYzk2YTQzIiwiMHg3MDVERkZEODQ0ZjkyNTJDZjg1YTI2QkMxNzhlNTkyMTI5MTRmMmVmIiwiMHg3NDM5ODg0ZDI4RGVkMjBjRjYwOGY2MzZmNzA1MTY5MTkwYjY5MTFjIiwiMHgyZDdCYmM2NzI0RGQ0YTcxRkE2N2Q5NGRlQjJiZDI1ZkNjZDRBMjlFIiwiMHgzOGIyMDY0MjIzOTNiMjBCMDZFN0RDZEExYTJiQmVBOTk1ZDQ1ZjhkIiwiMHg3RWU3ZTYwMzc2NjU5OEUwZDZFNjU0NjJGYjMyM2JGY0VkMTQ3NTNhIiwiMHgxYWY2MTU3MDRiMzE2YjkzMWE1NDIwNWI1Q2QzQ2M0NzlCMDY3ZUE2IiwiMHg1Zjg4ODYyNzJDN2IzQjVGRDVDNTIwNTM0YTYxNTIyMDVDM0NFNjUxIiwiMHg2MjNFOTBhQTQwOWYwQjI5RjVEMzM2MzJjNTYwM2ZmYjk3MjVDODhjIiwiMHg5NzBiNjk1QkVjNTg3OTE3Y0E3N2U4MzcyOWQwRjgxZUYxNzNFMTNFIiwiMHg4NTk4Y2ZkNUM1RUZEZjQ3ZTY0ZTQ5MjU4RTQ5N2M1OWE0MzNjRWQ5IiwiMHg2M0RFYUU1NEU5MDg5MjYxM2QzQjU3MzFlRmFhN0QwMzgxQjE2RTg0IiwiMHhEN2Y2QkUwNkMzMTJkZTFFNjAxQzBjYUViYzFCMDZDM0M4MzdFNDhDIiwiMHgyZDUyNzREMzQyMkYyMDE0MUY1ODFlNDU4NmJGNjQ1QjBFZjhlODY5IiwiMHgxYjQxYzI4RWU5RWMzNTBCN0Q1MmUyOUEwY2NEMTBlMjRDM2E5ZkIzIiwiMHhBOWI2Yjk3MDczZmU0YUFBMEJENGZmODRGQ2M3ZTM4MDI2MmY3ZDNiIiwiMHg4NUZjMUJkNUNiRWI3M2I4NGYyYUY4MDdBMzE3MDcyOTQ1QUQ2NDRDIiwiMHg5MDFlNjg4MDM3OTg2MzIyQThDYjRkNTJjMzlhMjcwMjUwODRFNTgyIiwiMHgzNmEyMUVENzZhOTM2ZUU1MjUxRTJEQ2NiNWIxYzljNTdkNjQ2MzY2IiwiMHgyYkQ2ZkZCQTg2NTkyMUM1YjdDNkZCNTVBMzA4MURlNDI0MDFBQmRmIiwiMHgxNWYyYzhmOTdDQ2UwMjQ1MDc2M0IxMWFGNjRkNDQ5YTEyMzNhNjQ3IiwiMHhGMjE4OTUzYTI4MDlkZkEzNTU5QkI5MkJDNkYzMDZlN0YyYTBBY2YwIiwiMHhBQzg4MzNiMERBMDFiOGYyQ0E1M2Y1NDlGMTNiNTc5MDA2NmE4NDJEIiwiMHgxYTJGY2E0RWJCNzMyNWNmNDI1NDVhZmYwOGJhOTJDMTBmRTUzZjlGIiwiMHgwMThCMTc4YzMyMTAxQTU0RjY3MzE1MUVBOTA0RTI0N0MzMEI0MDE0IiwiMHhCYkQ2MGI5NDY2ZDY1QzQxYzE1NkY2QzVEMzZGYjkyMmZhRjk1NzQ3IiwiMHg5ODg1Y2E1ODU1MUE5QWRBMTM0QzY2MDlEMkI5M0M3YjFhZEVEZTE1IiwiMHg2MTc5QjEyZTE1MEE4QTc4OUJiRmYzODFFZmZhOGVlN0QwMjhEY2RkIiwiMHhBQjY5RGMyMDBlNjY0RDFkOWRCZWM1MDBiNzk4QkVDNmUxRWU4NDIyIiwiMHgwODI4YzMyZTJBQjA4MTEyNDBBYThkMEUxZmE3YjU4RDIxOWMwMWVhIiwiMHhjQmNBMTU4NTExQzAzMGZDMmZFQTI2MjYxYjM0NDZCZWY2MEQ2ZjE4IiwiMHgyRDZDRDVCZGJkQzE3MEJmNTdmM0NEMjdGNUVhYjdiNzU5NDUxMWUwIiwiMHg0RjY0NjZhM2IzNDkxQThlM2VBMGViRjVjNDFBMTI0NmNCQmM5ZDJiIiwiMHg5RkU0RGEzNjcxYmVDZEJlM2M4RjY2ODM5ZDI2OWVBZmVFMThFNDZiIiwiMHg2Y0FiRDlBMDFjMkQ0RUU4YTZCNzE0QzA0NDUwMTgzOTgxODJhNUY4IiwiMHhjNTEyQkZBOTU0RTczRTlEZjgyN2ExN0FiQWJkNzdhMTUwNzhlOUU2IiwiMHg5RjJhOWUwODJDN2U0NjM4ZkJGNmVBMUU5NkE0NzVlOTI1OTQ4RmRBIiwiMHgxRjAxOTM4NjFmQTk0NDUyMERGMzRmZjYyMTQzOTczRkI5NDU0MmU5IiwiMHg1MTZlNzFDMDU5MTE3YTEwM0MxMjcwOUNENTVCMTMwMzY3MjExMzBlIiwiMHg5QzE4QTJGOTU0NTExMkFCMkZDQkRkMjI4NTM2NTYyNDA2QTUzMjMyIiwiMHgyNzlDMjg0YjFBM0Q0Yzc1MGI3MGI0NzBBZjVmNTEyNzMwNUI1Qjk0IiwiMHhGOWJiZmEzNzI0MDhlOTU1M2FmQ0MyMTkwRTA1MjQzZkQ2OGU3QzNDIiwiMHg5MTIwODRCNzBlQzM4ZDZCNTdENjNDNDNiYjM4OEU2NjRFYjQ3MjhjIiwiMHgwMzdEMzFCQWEzNmZDNEVjNDhhNmI3OEVFRmM2Qzc2MDViOUY4NEE3IiwiMHg4N2FlYzI5NEVjRUUxNjVFOGQ1ZkNFNzQ3M0RjNzZhNjQ0MTMyMDQyIiwiMHgwNTJjZjhiNDA5MjVCRGY0MjdCZDg1ZEJjM0Y0RTYwM2I4NmMyMUZjIiwiMHgwODRDM0Q2OWYwMzRhZEMwNTI1ODcwOGVmNWI1NzdkZUNkYmE1N2U4IiwiMHgxZWJhRjM5YmE0YUQ1NzM3NUREQzQ5Y0M0NjFiNzBhNUJDOGQ4NDU2IiwiMHg4OTk0NTdENjdGMUY4ZDI1MGEyMjNjOWJlZTFCMmM0ZjAwNGQxOUVGIiwiMHg2ODRCMDBhNTc3MzY3OWY4ODU5OEExOTk3NmZCZWIyNWE2OEU5YTVmIiwiMHg0NzVkZWRFNDU3OTQ4ODYwQzI0QTY4MEVBODI5OUNBNGNEREEwOGI0IiwiMHg0ODRFOTEzRjJDOUY4N0U4OTJjYTk1YjI5Q0VCNTU4MTJhZmI4OTgzIiwiMHhlRWZmN0E3ZEMyNjI4NUU3NDJlYjgwQ0RBRkM3MjE4YTI4YTIyNDNBIiwiMHhhRTEwODE3QURFMDlGNzdmQTEzNWJmNTQxMEY2NkIxNTgyNzA2OTc1IiwiMHg0NGUyYkE5ZDc1NTJFNjk1QkEwYTAwRjc5ZjkzZTUxZEE3YUI4OGY5IiwiMHhjOWVjQzcyQjgyMTQyNTk5MjA3NmNBZTY2Rjk4YmE4QUMzOTAyZGM3IiwiMHhDNjE5ZjljOTgwYjhBRmFlYTlFYkJmMGZjNEVDRjA0M2I3OGE4ZDliIiwiMHg2OUYwMWJEMzMyMzVBNDdBYUU1OUMzQzc0MkRFNUEzQ2VFQ0U3RTJFIiwiMHhBOUFDZDg5NTczZEVEMWZlQmU1MWY0NDI3REUwNzYwMmY3N2E4NEUxIiwiMHgxOGNiYTk4MDQ3MTgzNTlENTU2RjUxM0UwMTAwMEREZDUwNWI3ODc3IiwiMHhkRjg5MTI0NjAwNDljYzA5NjQwQjMwODU4NUI5NDM0NjRhYzIzNWM1IiwiMHhhNDNmOTIzYzAxRTRjOEE0MjQ4NzFkNjBGYTJkMDllQzJhQTBCYjM3IiwiMHhBMjlFNTlmQ0UwZjllYjM2MDFmNTQwMUZmMTRmM2M1M0E4NjE2Mzc0IiwiMHhDOTVDMDRDNGU0MzBkYzkyZjU4NWRlY2E4MDMwNDYyQTc0NTVCNjM5IiwiMHg4MjhDZjIyMzAxNTFDZUVGYzJBNDcxMWRFNzg3QjVkMTcyM0UzRDMxIiwiMHg1MDcxQkZlQTI2ZTg4OGNhQkUxZjNCMDE1QzczNDU3NzUxN0JDNTk3IiwiMHgzNzU3MEExNDM4RWY2RjQ3OTlhQjQ0ZTQ3OUVlMzZjNUNGODNkNDM5IiwiMHgyNjU5RWUwODcxOTUyMTE2YjQ3RGEyMWMwMmZGMTU0QzIyNzEyQmZhIiwiMHg4YmIyNkI0MjQyQUU0N2JEZjVBN0Q4MzliODRjYWVBM2ExMmUyNTI0IiwiMHgxNTM5OUUyY2NlZTExNTcxMmYzN0Q3NDM0NDU1Qzc5NDgzRUU4NGJDIiwiMHg5YmMzRThGMTA2MDQyYzcwMzhhOTAyZDZiMjU1RTBBMjYzYTNmMzM4IiwiMHg5RjMyYUY3NGY3ZDZiM2U4NmM0MUEwNkMxNDMwMDA0NjNiMjg3NzVhIiwiMHg1ZkQ1OEI5MzEyMGY1Yjc5NTdEQjBmZTBmOWQzQ0NkYmVmZmRiNUIyIiwiMHhFNTU5NjUwMDM1NDFBYkZCMTdhODg3NDYxY2E0ZjMyMDQ1RTFjODgzIiwiMHg5RmFCOTc1MkZiYTVjNjY0RTExODc2MDZDOUVGNjY0YTMzYjBiN2EyIiwiMHgzOTg3ZUQ1YTI0YWMxMkU3Y2FBMjdiZTdCZTFhQWJkN2YzOUUyNzBlIiwiMHgyRTg5Q2QzMzc0ZDg3NTQxZDYwN0JmOTJDQ2IxNUM4YTlkNDZiQTY1IiwiMHg4MDk2QjM1NTFCRWZFNjlEQzRlZWM4NzU1Njc0OUJBYkUxMTZiMjRBIiwiMHg5Q0MwNTUxNEUxZGI5QTg4MTI0NTI4MjI1OWUwMmYwOEI0OGEwNjI2IiwiMHg3QzI3RDI4MjM0QUJEOTQ3OWM2NEEzQkZlRjQxMDQzZkNDNDI0ZDczIiwiMHg2NUJkM2UxNmJEODI5MUJFNGU2Qzg5Y2JmNDMxODJGZTBjRmJmZmY5IiwiMHhjOEYzNzJiOEI5Nzk1NDY5Rjg5ZDhhRTBmMzM1YzRBQzM1NUFFNkYwIiwiMHg1OTIwMjUxRGZjRTY4NzMzM0E2OTkyNTUyZjdGMzdiYjQ0MEVFNTgxIiwiMHg0NkI2NTQ3OUExRUUzM0ZlOGNmYWNFOTU2NjcyNkRENUM1MDIwNjI3IiwiMHg5Mzc3ZTBENWIwM0Q0MTM2QzM5YjFhMTE5QUVhYmRjYjdBM2Y3OTA0IiwiMHg4Q2M0YjNlMUJhNkNENEYzM2JBMzc4MkQ3MDE5NjJmZjBhM0Q1MGIzIiwiMHg0ZjkzNTYyOTNkREE4OWEzMWE5MjRGRTFGODY3ODI1YjNBZERhNEQ4IiwiMHg2YjE2QThFMzY5N0U5NjkwY2YxN0E5RjUyMDNlMENFMTM1MEI0Q2E2IiwiMHg0OWZjNzc1NTcxNjUwMDQwYTFjOGNDNmIxODM3RmU3NGI5NjUyZUU2IiwiMHhEMjI3MWExMzFhNzdiYjdiZTMzN0ExNWI3NGRjRjgyOTQ2MTRFN2VCIiwiMHhDQTIxOTYxNTE1OTc1RjEzNkJDQTRDRmVjODMzNmY4QjJhYzFDNDI2IiwiMHhGN2FGODNkMGFDNGY2RTM0MGFjZDNEQzU1QmZlMEI1RTg0YTJjRGY0IiwiMHhBNmY5N2U1RjM5MUY4YjhkNTNmNDg1YzhFOTlFODA2QTY3RTQ3N0M2IiwiMHhGYzMyYmRGRjQ5QjFlZURCZTQyMmYwNjQ0OUJFM2VlY2MxYkU4YjM4IiwiMHhlMzAwRjFlRjc2OWYxYzk5RTA5MjM2N0VhMDkxNzUzQmVGZUJCZTQ4IiwiMHhiYmU4Q0NjNzU3NjAxMDVjQjgwNzRmNjgzZUEzNWNENGQzMzIxNzgzIiwiMHgyMjNFNzEzNTUwRjBhMTBhNjRlZTdkMkJFNkJmODlmOTE0NDA2Mzk3IiwiMHgwOUYyM2U3MWU4NTVCM2VlRDJCOThmNWJkMkZjZDBkZTVjNDFjNDQ4IiwiMHhjZDU2RDIxMDUzNzQwYjkzRTU5NjA3NzZkODVmMzNiYTNCMTBjOWIzIiwiMHg0YjA5NzRGOTM5YzBEMzNCRTI3YjI3NDcwMTE2ZTk0ZUVDNzMwQWEzIiwiMHhjNzUwNGM0N0FhM2U0MTdjNjBFZTcxMUQ0MTZDZGExZTk2MDE2YjNhIiwiMHhGQ0YwMTliZEExOUYyN2U3RkFiYjM4NzQ2ODllMmZEMzM2RjJmRWFFIiwiMHg4MzkyODcwYjVCNTQyYmJDYTQ0ZkFiRjYwNTYyMzA4NWQzNGNEQjBhIiwiMHgxNzVDMEUwODNmNkM4MjZFRjEwMTg4YTIzNkI1NjBBNzUyNzVEMjRiIiwiMHg5MEU2MjRmZjExMTQxRWYxMUIxNjgzMEU1OTRiNjliYTJjRTk1MDJGIiwiMHhiMjcwQzA0QWUwRTI3NTZEQjFBNjgwMWE1ZDFBNGQ4RDU0RjNiMkFlIiwiMHgzNjcwNUQ5MUNmNDQwOTQzNUVCNTAyRkZjMWM4RkZmNzEzNzk4OTQzIiwiMHgwMjMyMjk3YzI0YjM1RTc0MDNjMkQ5NmM3QTUwYTgzNDNmNGZhM0Y2IiwiMHgwMzZlZUE4Qzc0OTY2QTJjZGQxNjJFRWEyNWQ0YzBkN0M2ZEFjNDNGIiwiMHg3NjAzQzlDODA2NTA0QjM0QjA2YWQ2RjlGYTAzNjQ5QzA0MTJiYTREIiwiMHhGNjcyQ0RhZTIyYmI2Q0VhZmIxYzc5QTVCYUIzRmI2NkM0N2NFRWZGIiwiMHgzMjUyRDExOGU5MEVFQ2NkYkVGNjVFNTYwMzgxNzM4YjU4ZTNlREUxIiwiMHhDQjcxQzk2NTYwYjVDMTgxNTQyNzlkMkE1NDQ5MDZkODcxNTFlMDU4IiwiMHgyOUYyNDFhODA4YzZDNUM5RWEyNTYyQWI0MGY3QWU3QzIyMjhDOTIzIiwiMHhiZDMyMWRkOTNFNTUxOTlkOWEzMkI0QTI2NjMyQjdjNDIxNGM1YzY3IiwiMHg0Nzk4MjA2QzFBNjI2MzAyMjQ4YzFiREZCQzIyQzA2QjUxMmJDNWQ4IiwiMHhDNDQxMUExZmZlRTQyRmZGMEFkOWI3Mjk5RkIzMDI5NDUyOGRlODY1IiwiMHhFMThlNzc4RmNlYzk1RTk3MzNlMzk5NzU4MUYyMEZGMTIyRmE2OWJFIiwiMHg0NTgzMTdlMjhFNkI0NTRmYTVEZmU4Mjc3MzU5QTEyMjM0NzE0RjYyIiwiMHg3ZDdEOTNENEMzN0FlNzA2MDRkRjhGZTAwQjg1NzlBM0VmNTMwMjE5IiwiMHgwMzNGYTM3NTlhMzNiMmQzYWNmNTBENTE2NmJFQUExRGI1M0ZCMkEwIiwiMHhEMDNiNkNlNkFDMTNBMTdGNTc2MTljM0VjOEE2NGRBZTk4MzVBNWNlIiwiMHhkOGJhQzc0OTNiMjg5NTZDNjE4NDJmMmJhNEZmRjdGREFhNjhCZUI1IiwiMHgxQWIyZDI4OTQ0QkE3MmQ3Mzg1OTNjMjk4ZjYyRTVCMzI2ODgwQmNjIiwiMHgwMUUxOTU0MjI4MTRDOTU1MWEyMDM0NTEzRDQ1ZEM4ZDI3YmVBRTQyIiwiMHg0Q2VCRjUwMDVhZkREYTc2M0VhQTc3YUU3MjliMGUzMTMzZTRhRTE2IiwiMHhGMkI1YmI1MjFDODRkYUZBODMzNzQwNTM1MzZENTM1ZEIwNmNhQjg2IiwiMHgzNTkzMTE1ZTY2ODExNzBCRTk1YjYwMjFENzJmODczRDlhM0FlRkEzIiwiMHg0NjNkNmZGNDYzMjE3ZDM4YzgzZWYxOWJiQjk5YTY5NGE3RTYzY2QyIiwiMHg5ZDA2MUVDY2NhM0U1NjQyRDI1MzFhNTU3QTg3MDJCQkVlODAyQTY0IiwiMHgxNjA3QzkyNGVjRjg3MDIyQWZDNDEzNDFlMmRjMzNlNjA2QTg2N0JDIiwiMHhiNEI3OTMwRTg4Y0ViOTAwQWI4NmIwQTY3NDU0Q2Y2OUVhZkZhRTBGIiwiMHg1N0Y4NDBjQUZDNUVCYmU0Nzc5M2VCNWIxQzBFMDRmMjMzRWI5QzZiIiwiMHgxZDQ3NGQ0QjRBNjJiMEFkMEM4MTk4NDFlQjJDNzRkMWM1MDUwNTI0IiwiMHhlMUREZkFmNjZCMDg0MzY4ODAyMDQzNjRlOWIwYjk3MTJjMTkyRjVFIiwiMHg2RTRkMWEwNmI5NUJEMzcwNDJjRjRhZkU5MkUwMzREODU4OWI1NThCIiwiMHg4M0FBNkMwM0VGODlmNzI3YTY1QWE5NjA5Zjg5RDJFNTVCMURBOTc5IiwiMHg3MkIxOTU3MTM2OEE4OUNmM2FCMzcyQjk1YkZiNTQ0M0Y1NDkzYjI0IiwiMHhEMTYyRTZBNUVjODQyYUI5M0IwMDhlNmE0MzBCRkI5NDI3MzY4OWU5IiwiMHg4M0FlNzMxY2IxRjkxZTBmMDE2NjY1M2IxN0RDNjRCMjhmNTVDMGY5IiwiMHhiOTg3NGJiN2IzQUVFMTYyNDZGY0EyMjQzNjZGNEQ1ZjM5YTkzYkIzIiwiMHgwNDkxODlFNzUxQjMyOTUxYmNkZUI2YTVCMmJiNjg5MjI1ZWI4RTJDIiwiMHhhMjAyMTQ2MmMyODkzZERFQUNFNDlEOUQwNTM4NDdFNTg3ZjE2QjM5IiwiMHhlRkQ5Qjg3NEMyMmQ3Y0RhOTFGOUEyOTFENzdCQTczRjU5NGQzY0I0IiwiMHg3MjUwODVmNmZlNDA5MTM4MDYyMkZCYjcxYWNkYUZENEM1ZDY0MDlhIiwiMHhCYzJEZDZGN2FmOEVmMmI1MjBCRGEyN2JDQzZhZGE4MkRBZDE3ZENCIiwiMHgzNTMxOWIxODNkNDg1OGM4Mjc3MkM5NDU1YjY3RjQ1ZTBFOGUyQ0JEIiwiMHgxZmY5MjNjOWFBNUI0OThGMjExMDkzNjI1MzdhQUUwNjMyNDM1YkU0IiwiMHg4MkJGQTNCOTE4ZmI0OUYzZkY3NDFGMTI2ZEI3ZmNGNDBFNzNkOEYzIiwiMHgxNjljZDhFQWEzNDhkM0RCQmU1NDIzMDJGNjUxQzUzQTFFNDNjNzM2IiwiMHg5MzhCODFFNzAwNjA4RDMwZThmMjkwRmU0NTJkRUFiZWY1QkRiYmFBIiwiMHg4ODU4QUY2NTVFRTYxMWQwOUNBQmUwZjAyRTZERTYyQ2I3N0IyZDYwIiwiMHhkNTk5ODBmMzdiOTVlNzJlZmFjZkU0QjM5MDFjQmZBNzhiRTRlMjBhIiwiMHgxNEEwRDI4RjE4MGMzNzI3YjA4ODExODg1Qjg1MjQyMGY4NDFDYjI1IiwiMHhhOGU1NTMzZDFlMjJiZTJkRjVFOUFkOWY2N2REMjJBNEU3ZDVCMzcxIiwiMHgzZjdCMTU2NTg5MUIzZmZiQ0Y1RDgyRDBBMDNFRUY5Zjg4NWVlMWUxIiwiMHg3MWNmODRhRTU2ZjUzZUNFZTA3QkEyMGM2Q2ZjOWIzQTZkNjYyOWI1IiwiMHg3MmFiQjJDYzJkQTUwQTA4M0Y2MmUxMWNCNTQyMzZFNkU1NWQwNjJmIiwiMHhBZjhFNDMwNURkNkIwN2M0OTJjM2NhRUU4QzUzMjYzOThGOTJCNjg3IiwiMHg1RTc5MTVBQjFjZURCNzIxRDU3NzlDNDVjZWU0YjE1RTUxRDkyNzEwIiwiMHgxMjBlOGQ2RWQzMTcxMEQxMURFNEM1ZDJhMzY0YjU1YUJFMjJiZUM4IiwiMHg1MWE1NjNmZUNkYzJlNTgyMDBCRDU5OTZGNDA4NDI3ZEM2NmZDZkQ4IiwiMHg3OEI4NTM0NEI1OWY0NUVBNzg3NUQzRUM1MjNBQjcyMjllNGFhZWNlIiwiMHgwYjU2RDczZkVDMzYwYWQxRjUxNjdlQUZCOEY2NjlDNGJmQTZlRDA0IiwiMHg1NjczRjAwMzEyQ2UyMkY5Njk4REQxMjBiYTg4OTZkNzc3QzgzMzMzIiwiMHg4NDZCQTc0NzkwYjc5NjlGODc2ZkM3QzNEMTYzNjcyNEM4ODYwNkQ0IiwiMHgyOTFlYUZkYmNCYzdhOTQzNGMxNGMwNjUwOGEzQ2I2ZUNDN0E3OTA0IiwiMHg1NjRiQzJERDFkNDMyZEU3NDJEMjI3N2VENDUyNzc3NDc2ZDlmNTFmIiwiMHhFMDI5MzNjMDkwMzVBNERCZjlkOUYyQjA0ZDdkNEI5QjQxM2M0MTNEIiwiMHg1OGEwNWNEOGIzMjUyRmQwN2I5NTA3MTViRTNGNTY4ODNENEFBMmQzIiwiMHgzNjQzRUM1MTAxYTRlRWZBRDgxMDg4MjcyQjEyOWY5ZDY5MzkwOTBEIiwiMHhFY0M1NEY1MTMyREFmNjhiOTM3QkE2MEY3N0Y2ZTk0NDk5MWM0ZTZCIiwiMHhlODM1Q0I2ZGVBNmZCNkQwM0ZGMDE5OGE0MTVkZmUwRWVFRWNDM0VBIiwiMHg1OTAyYWI2RjY5NjE3ODMxYzRCOEQ1NUI4REYyYUIwMjQ2YkVGMUM1IiwiMHhGNTU2MEE2NDQ0ZTgyYjM4RDRENTgzNWRBNDM2ZDhDQ2Y5OTYzYzJDIiwiMHhFOThmODlhMkIzQWVDREJFMjExODIwMjgyNjQ3OEViMDI0MzQ0NTlBIiwiMHg2OTZlNTI4ZWIyQzQwODMwZjNiRmRjQ2YxNGE3MzA1Yzk2YjM1YjlEIiwiMHg2MTkxMzZDQ0FDODllNDljNDUzQTNmRENEOTA0RDlhMEI0OUE2M0Q2IiwiMHhmQzZCNjI2N0Y0Qzc3MWI3NjI5ZGFBZmFBN0QzMTY5NThjRkEwNzgzIiwiMHhhOWQ5MDcwQjJCOWJDMDJEOEE4YTU5NkMzODBjNDk4MjRFZjE4NDY0IiwiMHg2N2MwRjYzNURFOEVBMTNGMEU1OTVjYzI1RkMzNjRmM0I3YzE5ZDhkIiwiMHg3NTIyNDg1YTRDNjllODNkQWZCM0Q2NUI4M0VhMEU3MzYzNDc2RmYyIiwiMHg2MjI1MTY1YTYwNmRFNDBjODFlOUI2QzUyMTBhRUQ5RUJFNTBlYTE4IiwiMHhBZWUzMzc3MDMwNjM2NDBjN0ZEMjNDNTljMGI2QmRiMDAyNjQyYjI3IiwiMHg0QkUxNjc2YWNjYjZiRWZmM2ZBZDhhZTEwMjdkNjIzOTkyNmQ5ZTViIiwiMHgzYmM3Qzc5OEY3NjgyNWIxRmExOGJjOUJiMkM2M0VBOUYwMTRjM2ZFIiwiMHgxQjc3RGIwMDU0NDdkQWQ3NjE4MmIyNzU0M2M3NjVCQmM2MjZBNTBCIiwiMHgxMjg2NDRBNTQ0NkVlODRjRUNFNDRCYzA4M0I2RWI2ZDIxZDk3ODhDIiwiMHgxNzZENTY4MUFGN2E3RDMzYkNBMkIxMEY3MTZCYjE5NDk5YTlkRDEyIiwiMHg1NTI3NUNmNTcxZjZjYTg0ODFCOWE1Q0EyMUVDOTA4MGEwRTYzMTNDIiwiMHg0NjI3NDQwODYzNDRDMDJEMTA0MzZjRGYzOWYxMGEzN0EwRjE2NDhGIiwiMHhhMGFmMjdCOTQ4OUY0OUFmRWI5NEM0NzgwZjNDMUFBMjlhQkVmRTNiIiwiMHg5RjBmMTdmRTM3ZWY1OGIyYzFkY0QzZTU2MzVEMjMwNjZENzlERkY3IiwiMHg0MDNkNDcxODY4QTYxNjJkMjIyQkRjMjE3RUE2QTFFN0FlMzNlRDQ4IiwiMHgyNzUzOWVDODQxMDU2ODc3NzA0OThDMjcxMjY2NjIxQjI1MGE4MzE0IiwiMHhlQTBEODI3RDhFZjk2MTUxMEQxNzRlNzYwMzI1QmRmMjkzZUZDODQ1IiwiMHg5ZEREMjdENDNDMTY4Mzg1NzYyZkUwMDI1NzI3NkUxNTc5ZjA0Y0QxIiwiMHg4QTQzMzMyNjg5MTBmMmMzYzc2OUIzYzE4MGQ0MWJCMTBmZDRBNmZiIiwiMHg0RjZmYzQ2OWRmOGI5NzUxOTFFNjBCRmUyOTI2ZWVEMDJlN0YxMkVCIiwiMHg2MGYwNjRBMzE4NTBkNDVBMTVBNThEMGM5MjVBQ0Y5NmYzOTJmZkIzIiwiMHgzNDkwMzA0Y0EyODMwM2QxQjI4MjJDZDNhMTQ0MzQ3N2M4MkE0NmRhIiwiMHgyMDJlMzk4NEM5MzQ5QTA3NzU5MDRmNEVDMzdCNjJCNmFkRDY4MmRGIiwiMHg1MjM5NDMyYjU3NzdiZEEyMDc3RjczMTM2MDM0Q0NDOEU0YjAxRTE3IiwiMHhlMzJjOURDM0YxOTNjODY2OTgxMUExMDU4Qjc3ODJhNEVmNzgzNDEzIiwiMHhENjBkOWI0N2E4ZjExNDgxMDU0NGY2RDY1MkRiNTRiMUJBODhDQzllIiwiMHhhMTRlY2E2ZEMyZThCZWRiMzYwM2Q2NjNEMkVmMTkyRTc3ZWY2OTk2IiwiMHhlNzljMzhhNkVmQjM4NTUyMWVERTFBM0ExMTZDMmIxMzEyQjU2YzYzIiwiMHhFYjU4MzIyMWM3QTMwNThjNDQ4Mjk5RjdlZDVlMmI1NTAwYzY3NGFDIiwiMHhBQTFDNzBFMDFlODYyNDZEQjYzODY0MWVkMUMyYTg4Y0QyMEZkNUFBIiwiMHg0MUU0MDA1QTBDNjdiRTVCRTlkMUJGMjEyNDdFMmYyZjg2YTM3ODgzIiwiMHg5MjFkNjQ3RGUxMzdDNkI4NDc4Njk4ZkRkM0QyMzE3MjY1MTM5RmRDIiwiMHhDYjAzNDNCMzA0YTcxNGJGYTlCRDk2MkQwNzM1NUVBYTY2MzgyRWUwIiwiMHhkNkNjOTJmQmZBNTU5RjY2OTA5NTcxYzA5MzE3OTcwRTQ5RGE4RTM1IiwiMHg0ZDgzRjM1NzBBNzI2Zjg4NmE2NWNmMTc5MzQwZUVjOTRCM2U5ZmMyIiwiMHhkODA2QTgxNTJjNThhNmIyQ2M2ZGM2YWM3QzA5MzM2MjY1QkNEQzNhIiwiMHg4MWU3RGIxMGY2RDVCYzJDODAxRTczMmMyMDUxQjZlQ2Y1QTUxMzYyIiwiMHhEMDc4YkU3ZTFlYzM1NWFDYTYwZWE1MzkxMDAwRUU4RGNmZTY0MDREIiwiMHgzRjQzNzJmMTMwOEMyNmZEZTI4NGE2MWQ4RTI4NDUzNENDRmQ0YTMxIiwiMHgzQjYxMzFGOWQ3MzI1RDlmQTIwZTg1NUQ0NkQxZEZGMDA5NDIwREMxIiwiMHhmZGI4QURiODU1MUMwRmIzYzdmQUU5OGVhQ2Y2OTMwZTQ1RTkwMUE4IiwiMHhkMjA3ZDg5MTc4NGIyOTI2OTVFMWMxNGRGRjk2RDlDMzE0YzI5NjJlIiwiMHg2RjhmMzk3OGZhODQ5QTEzMmUyMDgxMTk3OURiQkMyODQ2ZkU1YjBFIiwiMHgyNWQ1MERlNzE5OTZjMTQ0MWQzYjJkY2NlRkJjMGZFQ0MyNTBBNGM4IiwiMHhlQ0Y3OTljMjYwODA1MEZDNEExOGRCNGM0OTI2ZjgxRDc4MEQ0RjA2IiwiMHgyNWFEMDg1N2QzOTQ0REEzNzQ4ZEU3YUFhMkQ1MDE3ZTExMGFhZjIwIiwiMHhFOENhOEE1NWFENjU2RmExZjIwNTU1MTg2OTBBODQ1NzgzNTViOUJFIiwiMHhEMjhCOWNkOTE5OUQ0MjUyMUM3YmFhMzljNWU3ZjEyMDA0MTNCNTg0IiwiMHgxNjI5ODlFYUY0RjE4NTE3Q0M3RDY2RTgzMTE1MzY5NDlhOTcxMEU3IiwiMHhkNUEyMDczMEVCN0RhN2FCYjg0N0M3ZEMzMTY1M0NBZjYzQUE3Mjg1IiwiMHg1OWNCNDcxZkYzZDY2NThkNUI4NDUzMjM5N2NFM2FjMTg4ZTc1NThiIiwiMHg4QmEyNEFEMkY3ZGE1RWZBNjM1QUFBODNGQjVEMDc5RTk2QWVlOWRjIiwiMHgzZmRFNTczNjBhOWNiQkEyREQ2OTBDMjFmMWUyRjZmYzYxQUIyZmE5IiwiMHhhZTdGN2QzNTk4NEIxQzAzMTkxMEU0YjkyQzJkM0YwNjIwN0ZjY0RGIiwiMHhFNjZGMDJkMjEwMmE3Q2YyNjVFNzM1MkY1Njk3OGNjNEU2NEVhNmVkIiwiMHg0MjVGRTY5NGVGMzhiOUFlYzFEZjg2N0EyMDdhRTk4OERmMTIwMjlDIiwiMHhFMGNDMTgzRDIwY2ZGNzJhOGI4OTg4ZjZkMzdlZmM4MzQ3YzdBMDk3IiwiMHgzOTRiOEQ4ZDg1QjFmNTAwOGZGNzZBMzg4NGNhMjFCZTc5MEU2RTFDIiwiMHg3NDg1MzA5OTg5NjlDMjhFMkRmNzJFZERlNGQwOUUwNzJmYzIzNjk2IiwiMHhjRTRBOTBFMDc0MEM3NTNCMURmQTU4NUM3NWQyZkQ2ZjdGRjFiMkViIiwiMHgxQmE5OWM3YTAzN0Y0M0QzQUZFMTU3NTIyNjQwRTdkRkJkMUMzODM5IiwiMHhFMTQ0QTA5NkNGNDc3MDI3OEZGMjI1MGE5Q2E4RThmMzhBMkE3MkM2IiwiMHgxMTAzYzI2ZkE2MGIzN0YyMUEwMjA3QjJCOWE0MTI1M0E0YzgwNmRlIiwiMHhBRTk2RDk0RkJmYWU5MTJGRTg2ODZiZGE5YzQ5YUIxREIwOUYxNzg4IiwiMHg5ZmVFOGMzNWMzNDRiN2QxZjJkNzBCQmQzQTFDRUQ1ODNkMTA4QUFFIiwiMHhkYzZBNUZBRjM0QWZGQ0NjNmEwMEQ1ODBlY0IzMzA4ZkMxODQ4RjIyIiwiMHhEQUI3ZTNlRTM1NWNkMzA2Y2I4MDZEQjZjY2UwQzE1N0UxZDMwMEJEIiwiMHhjNTBFOTAwOEIwYTdERTI0NGRCM2Q0NUY5OGM3NDYzMzIxRWE5ODM4IiwiMHg5MDZjNmY2MEQzYmQxNGM0MzUyM2RhM0FkQTkxMzNGY0MwNTY0ZjkxIiwiMHgwQzc2MzkyNGMwM2MzQ0MyRTc1MzM0MjM2YzdkQWQ5YWY1Q0E3NDg3IiwiMHhFZTVmQzczRjc0M2VjNEE0RkUxQWNhMjFCQ2M0NDlBNWY0MjQ3MzAxIiwiMHgzNkNkODllOTgyMEJkNzg1YjM4Nzc2QzFkM2VCMjRCRTRmQmQyMmIyIiwiMHhkODlkZjhFMDEzOUYzODI3M2Y4MzcwMWQ5MTllM2I2MEZDMTRmOTBFIiwiMHg3ZTZjRmE2ZjQ3MDFFNjYxNGNjNDhlMTRBOEEzQjc1ZjFCODIwYzkwIiwiMHhBQzk5MjA0MEVGNGMwNTRFMkVjZDRlMDg5ZjFjMjNmMWUzRDA3QzBFIiwiMHhBNzYwN2ZBRTQ1OTc1MGI2MjJhQWFiOTYyZWE5MzQ5M0UxNTM1ZDBFIiwiMHgyM0ZiRjJlYkIxNjEzQWM3RGVjY2Y0MmJlYzEyNWY3YjZEMjI1NzQ5IiwiMHhjMmQyMDMyOGVCOGJiMEJmMDk4NGQ5MTQ5ZWFiNjExOTIwYmU5YmExIiwiMHg5ODIwNDBBN0Q0YTA4NTQ1MmQwRDFhQkE4MjBlQzhhNWJDOUNiOTY4IiwiMHhhQzM1NjBlQTY3RmE5NDMwMGFiNzBDMWI2MkJBNGE4MjJFNmM5QjREIiwiMHhFM2IxMjc2NTYzQjI5MTBhOTFDQTQ2MzdCRTJFOUE1YThiQmExRENhIiwiMHhGM2NBNDdkZEU0OWU1YTUzMjUwM0E3RjE4MzRFZjBGNjg0Rjk0QTgzIiwiMHg4MDhlNkEyMDY2NTE4RGI0MDYzMDFFRjQ3MTU3NTIxMThiNTA1RmFmIiwiMHhFMjZkNjZEMjhhYjVjOUY0MTQwMzQ0YTA0NTYxMzM0NzExNjA3ZkI2IiwiMHg2ODkwZkZhNTIzOTlBMTQxYTAwQkREMmNBNDQzYkJBN2E1ZDVFMDg4IiwiMHhlOWU0ZkJlQ0Q5MjlDNUM5M0FDQzJEQThjMEJFNGQzZjVFNGJCQzU4IiwiMHg1MzVCMUUyMUJFMkM2QkFEYUZmNjBjMDc0RDkxODM0ZEY3OTlFMWREIiwiMHg1QjczOTkzOGNlZUE2N2I5ZjQ3MzlkMjdhMzhGRGUzYjJiM0MxOWY2IiwiMHhhZTA3NWY1MjIwYUNGODhDOTRhNzViMTczQzYzMWFhMDc5NzU0REU5IiwiMHhhRUEzQzhGQmEwY2YxODAzMzg4NzRFQjYxQWEyZDVlYkVhMTM2OWI2IiwiMHg0NmQ4NjA3Njk5QzU3QTU1OTZiNzM2Q0U0NUUxYmQ3ZWJlODFiNTMxIiwiMHhjMDk1NjY4Nzg1MjkwNzgwNjhEMjBiODNhNTU1NTY4RGY3MDI2RmEzIiwiMHg5ZDg0QkZFOUZBNTYwMGYxRWNGMzNlYThjMzU0N2I1RjQyNTFBQzQzIiwiMHg5Q0U3YmYwMTcyOGEyNjBkQjZiYUNmNjBiMGVlYzQzNzdDNWM1YUNBIiwiMHg2NzhkQzRFMWJGMDdiOUY5RTRhZEEzQWYzOWJhRTU1MjNFNzRiNTJmIiwiMHg2Q2M4QzBjOTI1ZWE2NzdiRjEwRTUzNTU2RDYzYjNCNDJlNzc1Y2I3IiwiMHhDMzQyNGQ0NWYxOGM1ZTk2NUM3RjM4QzM1NTgwZjVGYTM5MGE5YmVFIiwiMHg5YkQ4MjY3M0M1MGFjQjRBM2I4ODNkNjFlMDcwYTNDOEQ5YjA4RTEwIiwiMHg3RDM0ZGI0NGQ4ZGUwODlCMzRlOUYxRGI1Q2VCMjA5NUIxMTJiYjg5IiwiMHgzOTI2Qzc3NUNGQmM1ZDI3NDk5MzZiOGQwNzkxNURENzA3YUJmMWUzIiwiMHg4MjMzZGM0MTAwNjVjY0NCYTY5MTIzQjNkNEVmNjE0MTIzZDkzODExIiwiMHg3OWE5MjY4Zjc0RDA4NTRCQ0IwYWU4NjcxMzc5Nzg3MDFGZWUyMWM1IiwiMHg5N0ZhNmU1ZDY4Q0MwZDhGOWFDRTIyNERBN0Q5OGExMkYxN2NkQzZEIiwiMHg3NmIzNWExOEY3QkVBRTM1OTgzYzJkMjIxYTdkRDc1NTg0NjQyRDZhIiwiMHhEMTc3NTg5NjczQzlkQTczQjRCNzQwQzg0N0E3Y2ExNDg1QzE5MDE5IiwiMHhFM2NBYkFBYjE5N2RDQUIzMzQ0NTNFZjU2NTQ0NmIwRmQyQTRiYThjIiwiMHg0NUE4ZTIyMDRiNjFiNWRDM2Q1Mzc2NzhlQjEwNTFiNjlkQTk4N0RjIiwiMHg0MzQwZkIwYWJlMENmNWNENEY3YkZlQThmYTUzMzQzMjUxMmE1MTYxIiwiMHg3Y2E1NEY5YTZiMEI0N0E5M0E4MUMwOUQwMjc0NERiNTI3YjEwNTE5IiwiMHhCOTZlNTIxMjYxNmE3QzdFMGI3MTcwQ2NjYmQ2YzMxMEFFNzYyMGVCIiwiMHhFNDZiNWNiOGQ5ZmY1MDE5NWJGQkNCYzM4NzMxRjgyQWI0RmY0RTAwIiwiMHg2MTA5NDQzRkNBZjUxNUEyM2YzMDI0OEViQTFlNWViZUI3ZjUzYzU1IiwiMHhmNWNjMzhjMDA1M2M1NTE5MEZDRjEzZDI3NTlBNUE0NDY2ZGMyM2Q2IiwiMHhDNjFDMDE5MGQ0MzhhNDVkNTViMTBBZDgxMEU5NzJiQWY4RTc1OGZjIiwiMHg4MUYzNEMxNEMyMzg5NjRBMDBiMzU2NEViNGQwNzBGOUFmRjUxNTZkIiwiMHg2OUU4MzMyN2NhYTQwODU4QTIwMDRBQkYxMUVlQTVkODQ4YTg4NzgwIiwiMHg3MjU1MEZBZjVEMDlCYzFjM0RCRUNGQzgyZTg3M0RkOUUwMDdjNGUxIiwiMHg3Qjg0ZkJhZEE0QjFhNDhEZjA3RmFEMDYzZjkxOTgwNEM0RWI1OWRDIiwiMHgyMjdFOWZiZjRBRDc5NDZFNDA3ZkJGMDFBNTZhZjRmQWI2RThlMGViIiwiMHg4NTlGMjA0NDBhMTBBMWM5NkZCNTQ5OUMwYTVGNUMyMTI0MjMyMEMyIiwiMHgwODBjZjQ3MEVBOTE1MzJiZjVlMzEzYUNDNjBjNEIwZDAyOTQwOUQ0IiwiMHg1Rjc1ZDk4NUI1QTFhNjZDNmIyZTI2OGIyM0QxNTRCMUJhZUNGMzY1IiwiMHg3MzMxODlCZDhiQjhEYTUwRTgzRThmNGM1YThmRTJhZjRGNzEzQzAwIiwiMHg5ZmIyNEVmZWM2M2M2YTk3OEVmZDIxYkRhMDEwMDk5Q0I0ZjIzNzA3IiwiMHg4MjVmMWI3NzgwYTUyMjQyMzk3ZWFCNTRlN0VCYUREOTg4M0QzRTM5IiwiMHg2MzU4ODIyMzQ0QUJkMEQyOTNGNTU2MjdEZkExOTA4QWQ4OTBkMzdjIiwiMHgzQTI2RWJmRjI2YmMwQTZhMkFEODIzMDkwMUQ3NTYyQjFhYWMwNzlGIiwiMHg0MTFBOUI5MDJGMzY0ODE3YTBmOUM0MjYxQ2UyOGI1NTY2YTQyODc1IiwiMHgwNDhkNjdhN2IzMERkRjhiOGE4M2MwNDBENTIyN2U0NDZDMTYxNkJEIiwiMHhhNDYzNTM1YTFCYTA2NWEyMzg5MUMyQzBBZThhRDkxNmNjMzUxODhFIiwiMHhGZjhkNkNiNzQ3OTBFMGU2NDM3Q0IzNzkxOTM3MWU1N2NhRDk0MjRjIiwiMHgwNUNDMDcwQTE4MTA1NjQ1YThCN2M0OUMwZEVDRTYxRTQyZDMxMWQ1IiwiMHg3YTBENzJDZDRDQzJjMTA5NDk0ZWI0MGIyQmQwNEY0MTA2YjVDYmVmIiwiMHg2MjU1QzAzMjk1QjBlYkJjMDcxQzIwMjBhODMwNUY1MDY0MTNlRUMwIiwiMHgwZDBmOTA4YUQyOUJEOGE5ZjhkOTk1MzNlM2FENjlFMmU0MGYzMDk0IiwiMHg0MkU3RWNkZDc2MUM1MTVFNTYzQmIyQTI5NTQ2ODFkNjA0NWZFOEMyIiwiMHgwOTA0OUM1ODA1NzZFNTA4NDc5MDBCYmRiRTgwOGM3OTUwREM4MzVDIiwiMHgwY0U3NzNEMzI4MGRCZUY1NkQ3N2NkMDQ2RjM3ZjJiNTAxMGI4ZjNEIiwiMHg4RkMyOUI2MTdFNUFkODE2MWU5MzRkNTEwNkU2ODU1MEFDNzc0QUM0IiwiMHhmMjE5NDE1NDJDMDVFRWEwMjFiOGE1RTc4NDIxQzVBQUIzODhjZDIxIiwiMHgzNTY1NjRmQjEyOUVFODY3NDY5QkUyOTg3OWJjOTAwMzkzRWUwOTYwIiwiMHhBMDZkQTVFMjExZDYyMjAwOTg4NTRkMTg4YTY5ODA0YTMyNGVlY0YxIiwiMHg4Mjk1NjEzNGYzYzgxM0RFM0YxZTQ3NzIxMjRCOGY4YTFmOTQ1NENlIiwiMHgyN2QzNDdEQUFDQ2VEZDUyMUU1MEQ4QkQwMjExRTYzRmFkNWJlQUE1IiwiMHhBODlhQmUxMWJEM0VGNGNmNjhhNTAwNEJhOTliOWZkQTUyZDVFOGZjIiwiMHg5MjMyYzQ4YTRDY0REMTI4NmE3ODE1YThiM2E2OTg1Zjk4NGE1OWMxIiwiMHgzNjkzOGQxNDE5YjcxN0M5N0VCREIyNzM3MDI4MDZDQTczZjg5YTRDIiwiMHhhNEQ4MDU2NWI5MkE0Mzg5OWRhQ0U2QkNlNGFBNzZlYUMzZTM3NDFDIiwiMHhFRWJlNzEzQTE1Y0FhYTRBNDM3RWYzMGNkM2Q2Rjg2OGEwNDFiQmMwIiwiMHhEYUNjOTBhOUMwY0JlRmE0NmVFQkMwMkFkNjk3NTA4ODMwOGIwOGE3IiwiMHgzYTE0MTY3NTc5M2M3MzNhOWEzNjkyYjBhNDk5MzAyRUFmRDUwYWFhIiwiMHhBMEVkMTNlMWEwNWE2MkEzMjIyRDgwODkwMzI5MjQ1MWJGOUJEZDQwIiwiMHgyODZEZkJDYTBjMDJmNDU2RTljM2EwMUNkYjhEN2I3NTEyYzhEYTJBIiwiMHgyODVhNjc3ODFDNjA4YjA2MjkwNkVmRjAyMzQxRWIyOGExNTU0ZmM4IiwiMHhCRGVCQzEzN0ZGODdGQzRlOTkyZTUxNURkRjQ3RUM2NGZGYjQ1NTRFIiwiMHg2OEM0RTEyODY4OTg1MzQxNTRjYTNmYmY4N2MyRWViOTE1OUQxNUIwIiwiMHgyNzNDNmFCODdFNTZCNTIxMDUxNUY4ZUMwYjE4MjA3NTdhNTE5MTEyIiwiMHg3NUQ2ZTQzQzYwQjYzYkI1OURlRjM4MzdhNWEyNkNjNzkzMUNCNDcxIiwiMHhiOTc1RjU4NEM4NGRFN0Y1NUIzQURlMjcxYzExNmJjNUE2MDg5N2UzIiwiMHhmMWI1MjZmNzRjNWEzMERBODQ4Y2YxZTQ4MDg1ZUNGZmRkODJDOGNEIiwiMHhBODVjOWE1OEE3YzI2N0E5QjhlNTJmREQxNjdEMTE5OEE4M0Q3YTcwIiwiMHgxNDI1RDkyQUMyQ0M4ZkU5QTQ0ZTQ0N2I2MTEyNzY0RjlEMjRlMUYwIiwiMHhFMzgzYkRkNzc2YzlCQjA2MDYwYkNDYjkzODhCZTRkMTBBZDhhMWYwIiwiMHgzMjJjNTgyM0Q0NjFEMGZDRUM3QzNDREM5NTFhMTU5Nzc4NzgzMDI0IiwiMHhmRTdjOEI2RDRCOGZDNTVEM0E3MkIyOTg5QjY1QjYzODMzZkU5M0M2IiwiMHhhMDdjMDJCNjA1ODlEQTg3ZEViQTFFOGE0RDI4YzAxNEJlMzJhYTU2IiwiMHhBNDk0Nzk4N0NCMUE5MDhjMkZBQ2EzMDlCMTFDMkQwNGZGRGZjOWU1IiwiMHgzM0Y4NjAyYmM4NGFGODE1N2ZGNzA1OTMwMTJhZTNDOTFENEY1ZjI4IiwiMHhhMjQ4YzQ1RkM4Rjg3NTEzOENmNzk2OTk0ZjdkY2Q5NUI5NDUzNjc2IiwiMHhEMEE3YTlBZUE0NzUxYzM4NDk5OUVDQjk2QUNmZmQwNjU4MzgzOTRlIiwiMHhDNEIxZjljQUYwM0IzNjhGOUJBNUJDNWQ0NUNDNkNlQ2MyNGQzODM4IiwiMHgxMzQ3ZGRkOGFhM0Q3ZTM0ZEM0QzdjQzNCYjhCM0NEOTQyMkYyOWVkIiwiMHg4NWRiNjY4RWVmNDFiNTMwM2U0RWFlNzE5ODQwYTg2ZDNjN2JCODZFIiwiMHg3ZkNkMDBmNTQ2MzZFYkYzYTU2NmY2RTZmNjJBNDZENUIzOTc1ZmI0IiwiMHhENjE3M0E0N2FhQ2Q1MmI5QTYwNmI2MjI4MTU5MkMwOTdENzhGY0U2IiwiMHhkNDczMzgzMzM5ODkzZTAwOUI2NTRENGFFNERFM0IxNUMxNEVkNDFCIiwiMHg5MWRCZGQ2RmJFMzMzOUNjMWU3ZDdDMzQwZDhkMTQ0Njc4QTdlZDQ0IiwiMHg0ODZFM2FjYTMxZjNkNjExMmU2OTlCZkZhMEQwQmIwRTZGZjE0NjU3IiwiMHhFOEFFMDEzMjRhNDI2NzM5QjhlODIwODM3QWM5MzIxRjY0NTM0QjNiIiwiMHhCOUUxM2U3YTU4MUU2MWFBNDQ1MzAxQzk1MUEwM0E4OUQ2MUU5OWQzIiwiMHg1NDgyMjIwMDFERkViMTcyYzAxMjBDZWM0RDAwNDIyYzNDMzc3NjJhIiwiMHhCNEFDYzZGYUI1Mzk3MDMzYzE4QUY2Njc4NDgxYWU1QTQxYTkwNjU4IiwiMHg0NjUyMUFFMWZiNWU3MzA4MDYxMkIzNjg0QjVEMzVGMzY5ZDliNEQ3IiwiMHgxNTYzOUM1ZDFkNTREZmE5YzRBYmQ2ZjE1YmJjNEQxZTBFN2JjYTU5IiwiMHg3M2FiNjAyRGYwZTEwRDIyNDAxZkZDREYyQjE5YTFkNmQyMUUzQUNDIiwiMHgwNjg0NzU3NmYyOTFEOEIwNTYzY0U0MWZiNDFjNzMyOWZmRTZjMjY5IiwiMHg3MDg5YzlENDA1NTc0NmZCNjczZjk1Mzg1ZTI1ZTI3NzczZTk4M2MwIiwiMHgyNzljNzIyRGIyRWIwNTJGNzM0REEzZjk0MkFjNWY0NzVCNkQ2ZjVCIiwiMHgzNzlFYjUyMjhmNDZkM0FhQTJjRDZGN2U3REE2M2U3MUZCMjUyRTg4IiwiMHhhRjEzNDIwZUEwYzNhRkE1MDk4ODVBOTNlZDUwOGQwRjFlMDdlMkI2IiwiMHhCOWJkMjEzM2RERTllQjg2RDNkZUE0ZUUwNWZiMTcxZTNlRkNBNjMzIiwiMHhhMTNENTE2MDRjZEEwMUYxQzE5RjY1ZUEzYzc5YTA2Yjk1REZlMmI5IiwiMHg2OWZmNmQ5ZjAzYjMyNWFkZDI5ZkJlYTg0MmRjNmM3YmRFNjA3NjEyIiwiMHg0RWRhOUU4RDdkYjk0NTQzRjJlMGNBMWNmYWJFNmMzOTZjYUNkOWZEIiwiMHg4RkRlMEZCODg4QkNjNjgzRUM5ZGJkMjAzZTlkOTlGYjIxNDlBMTM0IiwiMHhlMWJEZTFkMGM1NTYxOUU4MzUyOUU4NjdhRmNBRmQ1MjFBMzQwMDI4IiwiMHgzRkYxRUVGZjk1QzJDMjA0NWM5OTE4ZTc1NjRCYzkzNTJkRTU3Q2FDIiwiMHgzRTdEMzcyN2ZjMDRFODhCOTgyNWM0NzAxZTQyQzhBOWU3NjhFRmEwIiwiMHhCMWU3MWM3RUUwNTYyRWEzMjllM0IxRjAzRDYzZUI5Zjc3MWM0MmVhIiwiMHhiODJjZTIxMGY4NzllYjgzZTdGQ0NiQTgwQTVGZTcwNzVFQTc2ZWNCIiwiMHg4ZmVBRDU4QWE0NEM0Y2E0OGE5QTMxMTg2Q2UyMzk3MjlkMkQ4MTc0IiwiMHg3NUFCNzA4QzE5YWRmNzY3MjNiNDJlODQ4QThjRTlkRTkxMTE1MzcxIiwiMHhBNzI4NjdhYkQwODQzNjhEOUUyYWJiQjYwODc5MTNFMjc2Q2IxOUY2IiwiMHg4YjgwRjA1MTFFM2E3NjI2NzhEMjdENTAxMTZFN2I5MmJiQUU5OEFFIiwiMHgyMjg0QjVkQ2U0NkI1QzA1RWYxOTRkNGQxYmQxMEQ0MjIwRTk1ZDI2IiwiMHhGYkM2NzA0YWM2NDQ2MmVhZTE5QjAwOTg2NzI1OTdlRDZEYzAxN0YxIiwiMHhFMEZGYTM0QjhDMTM5NzIyZkMwMjFhREU1MTNCZjZmRTdkRjM0MDZiIiwiMHhFODA2QjlFMmNlMjljOGE0Yzg2OUFlMTIyNjU0M2Y4ZjRjOTI2NjFDIiwiMHg4OGEzMjdCNDIwMTVhNUU3ZTYxN2FFQkREOTkxQjMyYjhCODQxMjE4IiwiMHgwODBlODg1NjZDMzMxMzY4MjFmOUIxMjQxNzlmNmU1QTNCNmZmQTU4IiwiMHhkNDk2NjZFNzhhRDU1Rjk4ODM0MTlGYjZiMjE3MjJjQkY1Y2Q2YTBmIiwiMHhhQjE0OGU3Nzk5MTk2NjFEOWQzMGUyNEJDZGI1OUQwRkE4YmMwNjBFIiwiMHg4NmE3MzlkYzJFQjFlN0VjZmMxZTk5ZjRBNjQ3OTI4ZmIzOGNlZUZDIiwiMHg1ZTI5QzkxMTRDODI5OWQ3QUQ3MDQ3ZTFGYzFmRWVDNzRmMTFhRTg1IiwiMHg1QTk1RUNlRjdDYzVmOEI5M0IzMURmZTA5YTVGMUM0ZkRGZTZhZDVmIiwiMHgyMTU3ODVCNzVhMUMyMTYxMDg0N0MwYTdhODI2MDk1MmE1NjBhM0ZjIiwiMHg1NGY3Q0MxN2YwYjFlOTA2ODM1NUEyZjRBNUEyMUQ5OTkwQzdhOTk2IiwiMHhBMzhmZjBlQjREODUyZkMxQ2ZFZjczNzA2NzcxQTEzQzM3MmRlZjI0IiwiMHg4QkMwYUQ5MTVhZjIwQ0RiQUIyREVkZDNDODlBMDJGMDk2MjgwM0I3IiwiMHgyMjM0MWI5RDg1RkJCQmZGMWI0ODNBZjM5ZTNFMjE5OTA2Nzg3ODdGIiwiMHg1QkRDY0RlNDU0NzczRTk0OGJEMTE3YkVDZDUzZjlkYjc0MDQ4ODE3IiwiMHg3NEI5MTVCNTgxNDBjMTg4NGVjOEVhZWYxOUNkNDg1Y2UzNDg2NDJlIiwiMHg2YzlEMTAyOTZiODQ5YjVlM0U0MTFCQzFDRjc4OUEwMmNFNGJCNWE4IiwiMHg0YmFjQWFBYmUzZTk2OTU5ZGRmMzI2OUQzMDkyRDVjZWE4OGZFRmU5IiwiMHhjMmIwQ2ZFYkUyZTYwZDJjMDFlQTI4OTg2QkYxQzhkMUI0MDgxZTg2IiwiMHhlNTE4ZjVkNjVFNDU2RDJFNzcwNmZjMWFhYUNEOWZBQUNDRjMwRjc1IiwiMHhhMDcxOGNmMmEzMDAxZkJhNWY5YzhBMTVDN2EyNkZkQ0Q1NEZlQWQyIiwiMHg5RDA0MjcxNjRjRWQxMzRkOUFGNWExOTM4NjczODA1OUZCRjAwOTY2IiwiMHg0M0U5YTViM2RBMjIyZTI4ZDREMTU0NGQyQWUxOTg4NTcyNzY5MjM0IiwiMHhmMzk2NDA1NGY1NDYxMEExNDE1MTVGZjk4MTc3NjYzOGM1MTc4QzA4IiwiMHhlNDMwMTA3Q0IyZDYxMmI1OGJkMTZiZUNmNzkzNzk0NWVjQzFiZTlhIiwiMHg5NWQxQTgzZGExNDgwZDczZDRFMDI5QzUyMzgwMDRjODYyMEQ1QTlFIiwiMHhjOTUxMDk5ZkE3MjI4M2Q0MmI5NjUyMzhlNThERkE5QjQwRDRlN0RmIiwiMHg2OTMwYTViRUVDRmM2N0NhYTMxQWM1OWIzODJERDAwNUE5QjViOTU2IiwiMHgxQjhmMjQzYWMxMDJFNGU1NkFlY0E2NmRFNEY1ZTYxNzFERUJFMzA1IiwiMHg0OTQ1NTdDMDYyNDU0N2NBZkViQTgyNzdBN2ZBRjk0ZjQwMzlEYzVmIiwiMHg4NzhiNzkwRUJGOTMzNjAzZDFmMzUwYzBmYTg1NzUzOEUwOTc4YWExIiwiMHgxYjNDZjgzZTFGODFBY2RiODlFOGNGNDc0ZDRiN0Y5QmYxNEQyYzllIiwiMHhhZWI5RjkyYzJGYkU4MjNiNTcwMjlGRUU0OGQ3RTVDOTZhNzZCRjQ0IiwiMHhDRjNDOTMzOThlMEFjNGUxODMyNkI2NzQyNDk2RDZlOTRBOTJGRjI4IiwiMHg1OTgyY2M3OTk4MTg3NmI5M2QwQjE4Mzc2ZkYzNzc5NkY2QjVGZmNlIiwiMHhjQzRhZWFiM2Q1MUJFNjU1QmMxQUFFMzMyNWY3QzQ2MjFDMTZGZTJEIiwiMHgwOGEyQ0UxODMyMzU4RDQxZDk0NUNFM0ZkZDBiOUQ3RDg3YjM5RURlIiwiMHg4NzZGM0RCNDEzMTZlZjhiOTQ3YTU3QTIxMWE2QjdkN0EyNDE2MjVCIiwiMHhhNjg3MEUwQzk5ZDE2RDI1MjI5QTYwMDBhMzVBYkI2RTE2N2JkNzFGIiwiMHhBOThjZEFhNTJhOTkxMUFDNjg2MzhjYjVhZDExN0JiYTRiOTVCOTQ4IiwiMHg5ODA5NkYxNGEwRDY1RkZiMjg4YmNmQ0YyNjUwNUFmNDBCMTZmMEVkIiwiMHgwN2E0MGFlOWMzY2UwODkxNDI4RjRBMWY1YjFiNzkwMjJDQzBkMTA0IiwiMHhEQ2Y2MTFBM2FBZTNkOUQ0MTk3NWI5RjA2MTY2QzBCZTBDNUM1ZjgwIiwiMHhhZjdFQWVkRjU0YjU0ODUwNTRhZjliOGE0N2Q3QWE2NTQ3MDMzNjJjIiwiMHhGRDc3ZTVENEQ5NWU0MDQ4MkUwRTQyNGM0RTQwRGM5Njc2MDVEZkE2IiwiMHgyNTY3Q2YzRmVEYzJDYzVFNTcyYTA0MGUzYjlCN0E5QTUwNjA4ZTQ4IiwiMHgzMDQyOTBEM0NmYjMzQzkyNjQwN2QxNDVkOURhYUY2QjM5MjEwYmE5IiwiMHhFM0U3M0Y3MWYyOTFkQzAzYUVBMzFhQjc2OGE4NjExM0U1NmRBNjc1IiwiMHg4RjU2Q0I5MzZlYzVmQTI5MjdDMDRjYURCNDhBMkU0MzkyNjU0MkIzIiwiMHhlNTI1QkFlNDhkODlEOUQ5MUNBOUQ3YkMzRjIzZTU3OGE0RTNGYTdiIiwiMHg4QmQ4NmQzMTJGQzUwYzEzMDI3YzQ2RTBhOTQ4ZUUzMkE4QURhNjVEIiwiMHgzMjI1NTZhMTNBMjg3NjdGYkJDNTM4NWNiZjIyYzE4ZjE1NEYwM2YyIiwiMHg3NTg1YzE5MUYwMzEzZmEwMDgzZjY3NDc1ZjgzRTkxNTg4MTFlM2MwIiwiMHgzMjYxZEY4ZDk4QTY0N0E3NDZiNWJDNTMzNDc1NmVkMUI0ZjNlOTgwIiwiMHhFRjE5YmM0MDJiNGQzNjcyZEU1NkU0MEIzMjgxZDA2NkM5RGQ1QkYxIiwiMHgzQjM1OGMyN0VCZEQzMjY0NmUwOGI0MGQ0QTA3NjNjMUQxQ2E3ODRCIiwiMHhiRGNiNDI2NWQ3MDg2N2EzMENEYWVkNTYzYUM4ZmRCMDgxMjRGQjVhIiwiMHgxNTliQ0UyZjMzMTg2RTEyNTJiZjFjRTIxNmI0QzhkZkIxNkUxNEU1IiwiMHg5RTA1MDQwNDY5NjA3MGVEMkVlMGVCMkI5REE4NkFmNzdEQjFjMzhGIiwiMHhGMDNlQWQwNTE3NkM2ZmNDOThkNjQyQjM0M2JBM2IyZjFCOUNmMDJjIiwiMHhDN0QwNGNlRWYyRTAzNTQwRjI3Mjg3M2Y3ODhDYjU0NjNmRjc0NjNlIiwiMHhEYjNGMzFmNjc5NjZBQTlFZEI4QzlEQzYyMDUyMWZCRjY2ZjkxY0NCIiwiMHgxRGZlQ2EyNTk3NzcyMGJjNUU4ZWI0NjI5QTNDNzE4Njk1OTM5NGJCIiwiMHgyMzgyRkZBZmJGMTUzOTEyOTM0QUU4MWUwOTY3NTBlNTI3MzE0MjE1IiwiMHg5ODg4NTBhNDg2MDYyNzE2NTkyYmY4RWVFN2U2NzM0RUFjODI4MzQwIiwiMHhkMDZCRkE3ZEM5MzI3ZDM3NzlCNjYwNTRhRDM1ZTJCMDgzYjkyNTdlIiwiMHhjMThDODQ0NGI3RjM1ZWZjOWU1ZjdjZDU0N0NjQThlQjUwYjdEODYzIiwiMHhkYmYzMmVjMDhENEUzOUQ3MmFBMEQ5YUY2QjM5NTYyMUYxNjNCODE2IiwiMHhmQjBlMjlCNDU0NTM3ODczMGY0ZTE4NDdDZmJlMDljODE5MjdiRTg2IiwiMHgwYjc0MTBFRGU2N0U3N0Y5ZDJhZjFmYTVEZWQwMzgxQTYyMDhmZTQ2IiwiMHgzN0JjZTBBNDYxNTc5YTMwMTAwODFCQzU3OWRDNDQxYWU1MUExNTBFIiwiMHhjMmJlM0REMDg2MGVjNjhGODhCMEVjMzgyMjNGQ0MwQURCODUwRUMxIiwiMHg2MDc2OTM4NjFhMEZENGM5MzE2YjM2NUU2RkU4OGRGMzNFNmVDMTg0IiwiMHgzYTg4QmQ4RjYyMTVDN2M5YUMxZkQ2MTEyYmFBMTcyNzg3N2E3ODRFIiwiMHg5M0QxZTgxZUQyNDgzM0E1ODhDNmM5NTM1OWJBNGI0YjM0NTIxODBhIiwiMHhhZkE0QkJkZDhENjJkYTU5QTNGMkE0ODliMzczMzNFZTY2N2E3OGExIiwiMHgxMzIyZmI3MDI3OTUyNzRGOGM5ZkU3MDU5OWM4QjgxRDJhRTUzQmQzIiwiMHhkNkI4OTEyMTJFMDYyMTFDMDYwM2VhMzYzNDQ5NDk4NUI0YmYzRmE4IiwiMHhhOTlkNUI4OUFlYzdGYzUyQWFBZjQ4MTg0MDM3MjZFMmMyMThFNGYzIiwiMHgyMUU1RDM3NDhkMGNjODRjOTQ2QmM4ZDYzRmEwNDM0QjQyYjkzQTJDIiwiMHhlYkNkMWNmMEFENDlhNDhjNTVGMzdkOTFBMTA0NjQ1MDYyOEIxYjg3IiwiMHgxMjlFOEFERTMzQjYzYjA0QzVBQWE1Yjk3MzZFNzFEOWNkYTUwODE4IiwiMHgzRWVEYjAxMDZiNDE1MTcxNkRjMzdFMDBFMjY1YkU5MGUyOWU1MDhEIiwiMHgzZWFmNzdhNTg1ODI2NkIyNURkOGJkOGYxMThCN2JCN0Y4ZEM2RmYwIiwiMHgyNTUwQzYzM2JiMzBkZkIyOTIzMjFjZjJmQTY1MmM5NjY4YkUwRkZFIiwiMHhiOTYxODEzODc5NDM1NDQ5NGIzODYxQjkxNDIwREJjYUI3NmRCNzUyIiwiMHhmNzQyODFmNTJFOERBRDk3ODg1Q0MxNjM5MTU0MTUwMDZEQjBiZUIzIiwiMHg2NTAyQjE5REY4MzViOTIyNzhhYTFmNUNGMzUxNDhjODM0MzM4RGMzIiwiMHg4MUNFMTlGYzREMWVFNTIyMEY0MzA5RjE1YThmNDA0YTExRjMyMDM0IiwiMHgzREVFOTg5ZDUzNUZiNzZCMjkzYjk4NjFmNDQ2MDRFNzVDODIzNjE3IiwiMHhGRjhBMzQwOWI3N2EzMUIyMzUxMzFhYzRCMzdEQ0UwMTIxODFkQTQzIiwiMHg5QUU5NzlGMTNDZkVCRjUyOUQzNTI0QTQ4Y0Y4MmRGODZGYzMyMmNiIiwiMHgyNDI4NmVhMTlCREEzRDBlNDA5MDVCNjBFQTgxODlEMzM1OEZlOGQyIiwiMHgzM2M2QWNFYzA3N0YxN0U4ZkUyQTFiRDQxNDcwMDQyYzdDNEE0NTZEIiwiMHgyNDZCODdEMTdGRjY4YzZEZTE4MUViNjJFMTg2MmY0NjgyZENjMEQ4IiwiMHg2NjI5NzdENjIxQkUxNjBCODkxRDA3NzcxRkIxMTU2NTQ0NTQ4ODFjIiwiMHg4YUI2ODFCNjQxM0RhM2UzM2FiM0ZFQjBEYzlmQjcxNTUzODI0ZjhkIiwiMHhCQTU5QTg5MmRCNzdkOTMyMDcxQThGYTk0N2ZkNGQwMzlGNGYzMzgxIiwiMHg1MDJiNzc5NDNGZjVEQzNlMDUzOWExZTI3OUYwNTQ2RTdlYTcxMGMyIiwiMHg4RkREYjZjYzBiNDY0NjJBMzg5NEVGMWViMDA5ZGM1NjRCQjllZDg1IiwiMHhEM2ZFYmFhMjcxMjA2MzFiYWREZDFEM2E0OTFjMDE5QmE0NTdCQTY3IiwiMHg2NjUxQzVlN2VmQzFkRDkyNWRENzU4NDI4MDU1OWZkNTc2OTZEN0VkIiwiMHg5NzkyODdlZTQxNjQ0MWI3ZjZCZkY2NTExMTkxNDE3ODFGNkVCMmM1IiwiMHhkQjBhMjdENTM3RDc1MmEwMWExMDQ2YTQ4QWI1ODA3RmU2MWJhOTY2IiwiMHg3ODY3YzczNTUzZTg2MjI3MDM2M2Q1M2Y3REVhNDYyMUI3MWMxREU1IiwiMHg1NzAyQkFDNzUwQzMyOTYyNjIxODkzOUI3QWI4REY1OTZCNkEwRkQyIiwiMHg3ZDZkOUE4OTlkODg2NTAzYjFBZmFBNzQyZjJiQ2E1YzhFOTQyRDQ5IiwiMHhkNzVBNDE5RmRjQ2NlN2UwQzlGYzQ0ZDg0ZGUxRTVCODFmNkY4YTUzIiwiMHhkMUFFNDM0YTQ5RjRmMzg1MTFDY2QxNWYyMjIxM2JlRjlEYTczZDc3IiwiMHhCYTY1MDQ4YThjZERCOEMwZTEwOTFiMjAxQzgwRDM2M2I1QzlmMzE3IiwiMHhjNzI0MWVhMEUzQ2U3YjMwNmY0QjlCRmY4QUY1YjFGRkZDRjZDOGExIiwiMHg5NTQ1NmU3QURFODdFNDQ1YTA4YWQzNGE1QTAwZTkxODM5YzRmOUZkIiwiMHgyZjgyOTlFYTBiOWFENkYzNjVBMTcyZTFFMGQ0NDgxNDQ3NzhBMkExIiwiMHg4OUM2MkYyNDNjMzZlNjI1OGQxODU2QzJGOUQ1OGVDZTg0NjFGNzBhIiwiMHg3ZUNDOWQ0NzM2NmViOTk2RjhhOUQ2NTdEYzgxMDUyNDczNDYzMkE5IiwiMHgxQjYzODFGQThhYjg2MTkyYjA4ODA5Mjk5QzFFOGM0Q0U3ZTU2RjMwIiwiMHgxODQ3QzIzZTYzNzFlRTQ0MmRGYzgyNTBkQmIxN0VlN2EwNzUyZkU3IiwiMHhBMDVlYTE0ZjdjNmNlNTdiYTI1M2M4MGI2RDRmNTRCQTA2MGVGOTNDIiwiMHgwNTg3QTBGOTJEYTNEMGViNEQwMjYzZTg4OTRlZGI4RDJmMjZBNEVBIiwiMHhjNmI1MTRlNTY5RTExREUwMDFjMTdlNThmNTJmOTQxMjYxMTg0YTkwIiwiMHhjOWNFZDM5NzRBZDQ1YzA0NkZkRmZmNmIwOTVhMTFlNTRDZGE5ZjdiIiwiMHg5MjU0MjNGRjk5ZmE4RTQ4ZUU3MDRmOTU4M0U3NzFEODdiY2I2NzJmIiwiMHhiYWMzODg0NkJhNjUzZjdDOTM5NzVEMUVjRDRCM2RmRTJGMzdmNkQ4IiwiMHgwYjFBMDgxYzYzZjZlMEQ4QUI3Y2I2MjFiZjUzOGVhN2U3N2U4ZWE4IiwiMHhmOTU2Nzg1MzJjMEQ0MERlQ2M1N0QxMTJEN2NGQTBhYjM1NzhEYjAzIiwiMHg3ODEwMDA5RjNlNDQ2YTQ2NTQ4RjdlQjRmMDBGYWJmN0U3QzhhNTQzIiwiMHg5NjAyYjJkOTE2MTQ0ZkVEYzc0MWQ0ZGRmOTdDNzFhRmQ2NGQyNzM2IiwiMHgzOTkzNTYwOWU4NDNkY2ZhMDEwODI4RjFFQkYyZUNmMjFCODgyMjBhIiwiMHhCMEQ5MDU2MjcyNzMwZkUzYzFDNjhhNkRDMzNEM0NDNjE1NmY3NkY2IiwiMHgzZTM5M2NFODNiOTJlNWFGNUNmQjBDRjAzZmE1MzAyNjQ1NzNhMEIyIiwiMHgzRTM2NEM4MEMxRjU3QkQ4OUMxN2FlMDNCNDZDMThBMUUwRWNhRmUxIiwiMHg5NEYyQmU4NDgyMjE0NzMzYzY3NjQwQTQ3MUUzYWQzMjJEMTM2Mjk1IiwiMHhDMThDOEU1OWVkNzc5NGY0N2RkQjdkOTFFQTczQTA3MDU1RkI0ZTIwIiwiMHhGOGQ2OUQ4RGJlNTIwMmY4Zjc0ZkVjNDRBMDQzOTQ3N2NENTEwMjFjIiwiMHhmM0YwNzAwZjIyRTRhMTRFYTc1MjgxRDIzMkJlNTk1RTFkRTVFYjdBIiwiMHgyMDZhNTk3ZDY2MENBMkI2NjRmZGI4Mzc2NDQ2NEFjMjhBY0Q4ZjhFIiwiMHgyNWZBM2FiNTMwOEI3MDA1MDY1QzA2ZGI3ZDA0NTc1OTQ5MWI4NWJlIiwiMHgzNTE1RmNmRGYwQzhGNDkxMGRiZTE2MDlhNmI2YWQwYzE1Q0FBODg0IiwiMHhiYmQwOEY4OUY1MzIzQkMzZTYyOTdhQTM2OUNGQzEzNTJGNzZDOTVhIiwiMHg3QmIxNUNFNGQwYTYyMTdhQTA3YTI2Njg0YTM1MmU3YzEyQjZmZmI5IiwiMHhBODBmOUFDNDdEQjFkZTBBMDExMDdlMzRGOThGY0QxOTEzRUY3MUI5IiwiMHhCQ2UzNjVjNDVlRTg0QmFlOUY0ZTAwREQ4MjY3OEU2M2UxN0QxM2NFIiwiMHhjNTQ3MzIyQjUxOEQxNTFkMmM0MEVGOURBRGVmMEIzNDc2ZGYwMEJmIiwiMHhFMzI0NzlkMjViNkNiOGMwMjUwN2MzNTY4ODEzRTExQTM3ZmEzMkNBIiwiMHg2NTdEMEMxMDFCMzU1YjI0NEFhNkIzZWU1QkZkMzY2ZWNGQTczQjRBIiwiMHg0ZEYzQzQ1RWQxRUExZUVFMDU5MWY4OUYzMUIwMGM5NzU4NTA5NjJmIiwiMHg4MjA4OTFjYjI2MUZlNDBFNzQyREI1NzdFQjY3RmUxQzUzQTQ3NTQzIiwiMHg5MzNFQjBkRWM3YjdBYzNmMDY0OWJCNTdGQzJFNDQ3NjFkODBmOGY5IiwiMHg2NDA4ZjQyN0VEYzQ4M0IwMzIzOThEQjVGRjcwMGM0RDI4Q2Q2YUUzIiwiMHhmQWI1NzcyMWExZTAxNkE3QmIzMzU0ZWEwNGFBNTc4NDA4OEZmYkFFIiwiMHgzNGQ3QTFmNEQ5N2Q1NjIzZkEwMjAwQ2Y1ODBiOUY4NzRDMWI2ZWE2IiwiMHhkNGFCZGY0OGJDMjQ3OUIxQmM1NTgzQjU0Nzk5NUVBQUU5N0E4NEEzIiwiMHg3ZDY4OTU3NDk0MDc0NjkwYkVBRTIzRDRmYkNkM0Y2NUU0OTEyZjgzIiwiMHgzNDBBRTg0MWVEMDY0MDQ1YTJmYzBBYzhFM2RiM0QxQjU3M2IxMmNmIiwiMHgzYjQ2N0IwNjNhNzZGODgyMDc1M0Y1OTU1NDc2NTFFOTkxNmQ3NDg2IiwiMHg2NTM2RGE3NmQyNTlkYUEyNGI3Rjk2QkI3NDA0NTM0OEJhMTRmN2MyIiwiMHgwMUEzODg1MzAwODNlNjlmZDBCNjAzNTNDOTBkOGJGMkIyOWJlMkU3IiwiMHg4NGE4MmU1MDMyZWYyNjMxN2YyMWZkNTEwNTkwODRlMDEyQ2NkMzM0IiwiMHgxQzdiOWZhREVhZjQwYjFFNDEwOWVEYjk5N2ZkZTdFNmI4OUU5RGZkIiwiMHgwNTc1NDBBNjRFMTFiNDc5NGU4NjRlOThFMjRkMjkwRjBkNzlBYTgyIiwiMHhhMmI2QjhBN0FhZTE3YjJhODc3YjM2NmJFRDc4RjQyYzE4MDhDQzIyIiwiMHg1OTMxZjhCODM3M0MyMzhiN2M5OENiYkFhYzJhN2E2M0NCNWFhZDVCIiwiMHhGQjQ3REQzZGUxRkYwOTJBRmU1NjA5RUI4YjhFNkIwOTE1YWRBZDc3IiwiMHg0QjQxMjdBMkFGRDk1NDc0Nzg2MkUyZjcxZTNFQUNiN0FhQUUyYTMxIiwiMHgwNzY2ZkRhM2NEZDgxRUFCZmZCRDc4MmI0NzA4NmI4QjU3OWQ5QmNlIiwiMHg1NTU4MDhiOTlFQzk2NmMwMzYyMGZiRUUzMDJjMDQ4MTVBNDc1ZTlmIiwiMHgwMjVhRWE0NENjMEZhMTJjNjQzODg3QWVjMjkzZjg0MEE3NWFEMEMzIiwiMHhBZjg5MTU5MmQ0OENCM0JhODYxYTU5ZjZjNmY1Y2MwMzZmYTI3OTBEIiwiMHg5Y0U0RTE1ZjhiOEUyYkY2MUNiQ2RFQTIyYjQ2ZDE0NjY5MjZlMTdCIiwiMHhDMjk4QjFGOTM4RjA1MDRFMzFBYzQ2OTAwQzRiNzEwN0E5ODhiMTc5IiwiMHhGMWU0MTlkNWZhN0ExMTEwOEExMTJiMmIzRjY2NzUzOUYzNDU3YzNBIiwiMHg0NmNGNDM2Mjk3NTc1OTgwZTg1MWY4NzJDZjIyOWM4MTlhMjZEN0FkIiwiMHhDYjVDOEUyNDIwMmI0YkI5OEVCQzM3ZTk0YTRjODg0MTA3ZTg0RTIxIiwiMHhEQjYxRTAzNkY1OGFCMjFBNzk2OTkxMWEyNzJiMjFCMmY2Njc1NzQxIiwiMHgxOWQwOTVjZjQ5MTY5ZjI5MmVCMjA0QmNGMjljMUI3ZjIzMzE3N2EwIiwiMHhjMEQ4MTZDOEM5MjU4ZmFBMWE3NTdEZURBRDMwZDNCNTk5OWJlMkQ0IiwiMHhGMjg5RDI4NTJhRjFlRkM3ZjVkOGFkN0RmYUY2NkM3MWRGNDZCMjU2IiwiMHgxQTNBYjhEMjM4MmQ4NWJDRmEyRGYxNDkxZWNmMmQ0RjI1ZTZiYTkxIiwiMHhjYzY3NTJhNTIxY0FFQzUxNUY3NjkyMmU4ZjJjYzA4RDY1NzQ0MzA1IiwiMHgyOTM2ODE4MDVjRWVjNzg3ZEIzN0RhNEFGMTYzN0NGMjIxYThFOEM3IiwiMHg2RDlDZjI3ZjE5Y2RGN2RjOUZCMGY2NmE5Q2NiNWExODNDNGVjMGZEIiwiMHhjYzNkMDc4N0IxZGZFNDNkNEI5MjRGRDQxNUFiMUZBOUEwY2JCQzA1IiwiMHg5QmM3RjY0NDZiZTdCMjEzQTVkN0I4NDE1MUYzMzMxZTFBMzczQzJBIiwiMHgwNERjOTlCZEFDOWNBNDRhNThiMTNENURCYzc1NWQyNzUzODNjMkMyIiwiMHhhNWMxOTUwZDUyYTBmYzk4NEIxMEJBNjcxMjBFNUZiNzUzMjUyMTM2IiwiMHhlN0IwYzNjMjIyMzEzNzRkMDJEMzhENTljRDA1OWI0NzJmQTExMDY5IiwiMHgzQjRFMWFGOTRmQmM3NzZiMDAxMWM4REEwRjI1MDUxMDhmMjM3YUY3IiwiMHg1RDdkRjlEYWM2MmZhMmEyNjA1RjdlNUM5RTg4NzBDQWI0NTQxYWM5IiwiMHhDOTM0YUJEQzc2YzExYUNGRjAwREJlZDk2OWE3QzU1NjU2QzQ3MmVjIiwiMHg1OTk0YjQ4MGY2RTA2RDM3YTNkZjMyMENGNERjNDJjOWNBZEE1ODYxIiwiMHhFYzcyNjljMjY4NDRiMDUyNzFDNTUyZDY0ZEMyRjAxZjIyMTNjODVlIiwiMHhDNmY0OTE1QjgyRkUzNzM3NEQ0YzkzNTRkRTBiMkQ1NWY2MjkwNzkyIiwiMHg2NjI1MzJjRWNlNDFkNDdDQTA1NjQ5NzM1ODk1YWUyMDZBQzdiQTJiIiwiMHhiMzQxRDMyOTFDQ0NDMDQ4ODEwOGJmZjE5NzZCNjM0ODBDNzY3QjI2IiwiMHgwM0Y0YTc2QURhNDZGNzliQzBkYzEwN0ExMDZBMjQyRTYyNzEyRUVCIiwiMHg1NTkzOWM0QmNmNkU2MGJhMEYyNzdBNTIzNkFhYjlCM0IyMEVjNjk3IiwiMHhDNzRFMDE0YTBmMkI1YkVGQkM1NkY0MmQxQzc0MTI0MmY2OTg1MzY4IiwiMHg5QzM3OWUwRjU4MTMxOEUwYTg3YUY3NDU2NjQ5NENhMjk5OTFhMGUwIiwiMHg0M0Y2N0JCNjE4YWI4M0FiZjRGNkI0QzFGNjNlNjJjMDhEODUzQTY5IiwiMHg0M2YxYTdGNEE3ZjFmNDBkRjA0ODYzZjRFRjM3YmI2RjVEMkYzNTM5IiwiMHgyRjAxNWRmNjc3ZThGOEM5MWMzMDQzZmM0OGQ4MEFDNmQxQjQwYjBjIiwiMHg1YWIwMmZiMkNjYTFGRjFiRjM0Qzk3MjAwYWI4NDg3RDAyOTk2M2M0IiwiMHg1QjhGMTgxYzU1QjU3OWIxNDVGMkQ3MjUyM0E0MUY3ZTJiNjY1MWVjIiwiMHg4NThBQ2RkYTQxZmUyNDExNTRhREUzZGY0QUU2QjE0MWFBNDdjNEFFIiwiMHg5MzQzMzk0NjU0MDRjN0Y4RDAxY0VmNjY5RDk4YTliOTEyMzgzN2UxIiwiMHhCMzhiMTNhMDUzNDMxYjBkMjQxRTZkNTc4OGY3OUY4MGE2ODA1NjMxIiwiMHg2QUFBMGE5RTBCNEUxNTVGNTI1MWVGNjYyOTVFNkZhQTAxRDhlNDQ1IiwiMHgzMDc3YTA0NjQxMzc5ZDk0NWJmMDZlRWI3ODM5MzE0OTM0RTE2NzIwIiwiMHhlMjhDNmFDOTVCMUU5RjYxMTEwODA1MDMwNzIzQjdENTdjMzEzMTkzIiwiMHhBRUYxZjhCMzc4ODlGNDFDNTA4OTgxQkU4OUQ4N2VGOGMyMjI5NDc2IiwiMHhBODkxYzc4NTkzNDNFNkYxNDk1YUY4RmE2Rjk4YzY1MzdBNzlhODNFIiwiMHhjNTBhYzdiM2VCM0I1MkNDQzdCNUQ4MTRENjI2ZjMxMTYyMDI1MjY3IiwiMHg2MTRDMTc1Mzg4NDY0MDllM2IyYjQ3MTUxOGU3YmVFMDIyODc4MjA3IiwiMHg3M2YwOGViOUZFQTdjRDBENTZmNmMzYzVmQjc1NTk5ZjJBN0UxNGE2IiwiMHhhMzRjMTZkQjBENDhmNjE0NmFiNjcyNzk2MkRmMkZiMzNkOGFhNTU4IiwiMHgzQTA5YTYwZDY3YWY3QzA5NTM3YjY1QjY2MDVhOTY5Njg5ZGZFMTFlIiwiMHgzMkQyZjRhYzA4M2IwNjFBZDZDODE4QjdEYTJlM0VGRDRGOERmNDVmIiwiMHgzM0I1ODkxRTAzNDdFMTVEOTliMkQ1NEZCQmY4NzQxMGEyNmI1RTBFIiwiMHg2NzFCOTA2QzhBZjE1Nzg3OGUwNTMzRDA1ZTY2MzQ0MzQ0Njc2QjdhIiwiMHhkMTMyODgzNGEyNjM0MTEyYjg3YTk2MjREZkQwNDAyODA0QkYzYjcwIiwiMHhjQjA4NDJBMjFjNzlDM0REMWM1OUFCZGE1MGM4MjFEOGY1MGYxM2FmIiwiMHg0MzgwQjQ3Q0RhODE3YTk3NEFCQzI2NTlFRGFFZmY2NTg0NDRDYkJmIiwiMHhiNWVBQTFjMjQ3NUE2N0QxRjk0ZTgwQzc1QzA2NjBhMTI0ZDNkYzI0IiwiMHg3YjU2ZWM0ZUE4QWUzNWE2MmExYUU1MUI1NzRFMUUwNTgxNjlhMzdEIiwiMHgyYjFGODBGYTliQTVGNTc5NGNjNTc4NzI3OEFkNjUxN2QwY0JmNUZiIiwiMHhFNUY5M2VkMTRDQTE4N2UzRjVBMjg4ZUQ1ODNkMTU1MTY3YTIwNDg0IiwiMHgxNDQ3ZTM4YTU3MThiMDI4ZDEyOTlmNmE4OGJBNzYxYzE2OTY1Q0FEIiwiMHhlM0E5NzdmRjNiNjIyMGQxZjFhNDM0NmM2RDI2OURhODMwZTNBZEQzIiwiMHhiMmI2QjlkZUVmYUFlODJmMEIyZWY4NjBCMTI4ODAxNzU5Y0U0ODFiIiwiMHg0OTI1MEVCMDlDNzZGQjFFQTc2ODAwQkRiNEU5ZGI5MTY2M2QwNjFBIiwiMHg1N2U2MTM1NTg3NjYxMUQ0MGU4NzU4RDU3YzI2MDQzMGRlQWFkODRhIiwiMHg5YTRlZEJCNkU3MmU1QmNGNjNBNTY0NWEyMTJhOTkyNjJFQzEzNjNiIiwiMHgzNTMxQjE0OUMxRkYxNzgxM2JBZDM3NkY5NkYzNzE2REU3ZjI4MzQwIiwiMHg3QTY1MGYyY0UzQzU3QURmMjQwMzE5MjJEOTg1MzFDMDc0OTRhMWE2IiwiMHg0N0E3MGI2MzJjZUYyMDg2RjAzNEI3MkFlRTg4NzI5MTg0NzVmQUQ0IiwiMHgwNTA4NTBEMDg2MzRGYjhjM2ZhRDhBNDFFYTAyZDIwRjAxZDQ0MGI3IiwiMHhGNzNGYTVBQjUwMWY4RDBEZDRmNGU2MzIzYzA5Y2FkNmM3OThDRDJFIiwiMHg4ZTE5QWVjRWMzODU2MDlCODEyQzVBQTc4RmM1MDFFMzM2ZERGZERlIiwiMHg2ODQ4MGQ1NzNDN2JCM0U0QkMzMzFkMEQyNUQyODY2M0IxMzhCNzRCIiwiMHhlNjNENTY1OWVENWJBOTI3RmE1NzEyZWM1MTgwMGYzNDFjMjZjMDREIiwiMHhmZTk1QTZiRGIxQzM4QzM2Njk0MUEwRkQ2ZEYxNTdmMUZhMmU0M2RkIiwiMHhkQzMxRjFEZGJjYjlFNTg4NDkxODAwN2U2RTY1MzdmODA2OWYyZTIxIiwiMHg3RjNkNDg4YjMzODY4ZGEyRUY0NEUyOUZmMjVFNDk1NjVGNzJjM2Y3IiwiMHg2OUU2MDJjNDE2MzgyM2EwOTM5M0NFYjY3NTBFREE1ZUFGOTI0ODQ1IiwiMHg1OEIzNDc0ZjlBOTIwQ2QzODgyNTZlQkI4MDVDNUFjMWRkRDRDZmNFIiwiMHg0MkFmOUM0OEQyOTUxMTRhOEFlQTE4NjU4RTc3RmRmNjAyMGI0MzVEIiwiMHgyQTNlMTYzRjBjRjlmRDUxMWY0Yzg0Q0I4OUQ2ZTVDNTk3YjY3NjNlIiwiMHgzMUViM0ZlMWIxRmE3QTBkODc1MTNFODMwMkI0NERhQUFjNkY3ZGYxIiwiMHgyYTlCQ2RFNjAzZjc5ZTVDMDdFZDE5MzYxY0Y1RGEwNTMzYjAzQzg5IiwiMHhhN0E4QjM0OWFhRWFGQjRFMzk1OWQ5NTVkZTAxZjM4NkQzMUZlOGM3IiwiMHhkMDdENDMwRGIyMGQyRDdFMGM0QzExNzU5MjU2YWRCQ0MzNTVCMjBDIiwiMHg0OGEwZUNERDg4OGU4RjdGYjFEN0EyN2UxNzRmNTExQjZFRkNGMWMxIiwiMHgzOTc1RkI5NjIyM2Q3M0E0MWViZjJiRDljMkQ0OUNBQzMzMkMyNmQzIiwiMHg3RmNCNjIzOUY0NDg2MWZFRUQyMTY1MTI4MUExNDNjMDRlQUQyYkQ4IiwiMHhGOEI4YjZCOTVGQzkxMzZiMjM1NWIwMDJlOWY3QTE4N2E3MTY1NEQ0IiwiMHg0NDQ3MzA1RGVlODQ5N0YwNjliQ2Y2QTA0MzA5ZWQ3OTY1RkE4YzMxIiwiMHg5ZDZjRUNkMzllNTQzNDU2YjY3ODI3ZmE0QjVCRjNFYTYzNzA4MGFiIiwiMHg3YWI5MDlBNmU0MkJGNzY0ZjNjYkNDMDVGMzFkNGUyQ2RlRDc3NjU2IiwiMHg2NzcxRDVBNDFkQTMwQjgyODZmODIyZTUyNTY0NWFGNDkyRWJCMjNhIiwiMHgxNTA3ZWVmNEMyQjhGODY1ODQwMDFlNjNEMUE0NURFRmQwRGNGN0NhIiwiMHg5NDIzMDgyYjA2NzRmMUJENTAwODlEOEQ2NEE2MTFkNEQ5OUI1NmUzIiwiMHgzOTFhOTc0ZUM4Njc2NTIwNjE4MjA2MkUzQjYzNjdkMDg2MDY3NjNGIiwiMHg2RmMwMDRBY0I5YjcwMTk4MDVCQ0MxQTRmNUZjMzZFRUFkRkVEMEE2IiwiMHgyZjg0MjUxNGRjN0ZEZGM2ZDdiNDdEMGFBYzI0NjE5MzNDMjc0Q0E3IiwiMHhmYjkwNDNkMUU3QUM3NWJEMzE0OTkyZmI1NTVBYWZFMzFmNmFGN0FBIiwiMHhjQmNjM2FjNDFGOWFiNjZCYzA1ZTVFNDlGNjc1QWU2NTNBQ0U3OUY4IiwiMHg5MWRkZDI3MTg2YWRCRTM1ZDM2ZGU2NjA4NWU3ZUQzQjc4MDM4MkUzIiwiMHhGMTk3QzQwNjhERWYyYkM1QjQ2ZDMwMTI3RWU0NDcwMjUyOTkzZjFjIiwiMHgyMjU2RjAwOGU2OUNBNEZmMmMwYWZGMjIxNzk4MjI1M2U3MjUwOTAyIiwiMHhDNUM1N0FiZjEwMkM2ODJCMDBCRDMzZmU5OTg4ODUwYWRGMmJFODBBIiwiMHhiZERlNDJFOWY4ODBlMTAzMDUwNzc0M2RkN2RmYTA3NTgzZDlDMTRDIiwiMHhhNThlOGFEMDUxNTMwN0Q4NjE2ODI1MDg3MjAzYjY4Y2U2NTExNmMxIiwiMHg1OEVhZkQ2ODJFQmY3OTRjOTVFNzM2MDAwMUFkZTg0NTg4NzJDRDU4IiwiMHhDNjkxNDU4OTEyMTQyNTQ5RTkzY0E5Mjc1RjQzNTdkQTY3MWNiN2QyIiwiMHg3NTAwMWIzRmZFMGY3Nzg2NGM3RGM2NGM1NWUxRTIyYjIwNWU0YTA3IiwiMHhiNDVjMTlGYzk3MjBFNDQxMjZCNzhBRjkxM0MwYjZlQWZlNTA1NDRBIiwiMHg4QzRBNUY0ZkQxYjkzNDBlMTc0ZDIzOWI5NTcwRDRDMDU2RmMzZkNDIiwiMHhEM0Q5QjI3QjVlMzlhYjlmYzYwZkI3MUU5ZTFlZjc4Y2NEMjM4RmE5IiwiMHg2MEM2YjYzRjRFZTdDMzE5MzZlQmZDMzQ5MmY0MmQ5ZDkxRDM1RTNGIiwiMHgxM0VhN2NmYzIzYmMzNzI1MjQ2NDcwNDk2MzI4OTZkRGYxZWY1OERjIiwiMHgwQUE2Y2ExNjFGOWQyZWI1RWRFNWY1ZDU5RUYxY2JmOTU0MjYwQTdmIiwiMHhhNDQxRTA1MDUwZGE0NzQ0MThhQTNEZjFCNkM3NzU3NTkwOTg5N0QwIiwiMHhFQkVEYUE0NDVFOUZFYWYyMzBmM0JDRDZEQTRhRWFFRTQxZkFhYjBFIiwiMHhjREExOEM2QjBjYzhlMzE1RTA3YjQzZTc5RGNDNWY4NTViMUYyOUNlIiwiMHgxODRDZjIwMUVDNEZlNUQ3M2Q1N2RGRGUxNUFDM0MzN0I3OTg5MEQyIiwiMHg4MTRkRjY4YTIzMzNmMTA3Nzg0YTk4QzQ0OTNjNkM0RDNDRDM1YjljIiwiMHg1OEEzRDdFQTNiQzY2MWRhNDk4NTNCODhDYzVhMUEyMGVDMzk0YkIwIiwiMHg1N2Q5NmZDNjU3M0UxMjU0OTJjYUI3RjUyMkE1NTNDM2Q4RTFkMDNFIiwiMHhDYjdDMmU3NkZGQUYzRGI1RjIyRmMxMDQyNGM3OTFEOGU4N0Q2RDY3IiwiMHg4QTdjZjNDM0MzOTE0RUU0NjhGNzViM0EwZTUyMWU0ZjEyRjZFODdBIiwiMHhEQzFCMTBGNThFRGJkZDg1RjI2ODJGYjk5NjBFYTQ4MWJFYUZBQUYxIiwiMHhlNkU5NTQyQUJCNUE0OTNkNkMyNzFhOWI1QzA4MGQ0Y2YxMjQyYjI5IiwiMHhFNTIxOUZEMWMwNDRDQ2Y3QjU5YTBDOTkzZTFmMTk3MjUzZjZmMjQ2IiwiMHhDOEMzQWI0MzlGQTk3QjYxQTQwYTBlNEFiMmYzMjE3ZkZkMmI4MDY1IiwiMHhmRGM2RWEzNjYwMjMyZWZGZmQ3NTE1NGFhNkJFRkQ3YjdDMDY1RjY0IiwiMHg4RUQ5ODcyOTk2MzJjZjI3MDA1ODAzYUUzMkQzQThFOEVENjBEOTI5IiwiMHg4OUY1RmIxMDUxNTJlNDQ5NjI1ZTI2RDg5ZGZFQzI1NDFFMzlFMzJGIiwiMHhiMUMxZGREODMyYmQ0NWNkMDMzNGRDODQwQWY1MzRDMzEwOGNGMjdGIiwiMHg2RmM3RUMyOGY4OUJiMWRBN2UzOTk4MUY3RTAyNWE0Q0YzZWJDYjEwIiwiMHhERTg3Mzc5RDM5ZGQwNTY2MGZmMkUyMkU2MDBCNWJjN0NGYTAxYTEzIiwiMHhmNjEyQmIxOUYzODM1MDE5RTk3OGQxYWRlNDYyODVjOUNkODMzMkE5IiwiMHg3RGUwQkU4ZWRhMjhlMTU5ZDg2NjQ3ZkRBMTJkMWUzN0U4ODY1MjFlIiwiMHgyRUZkYTMxMDI5RTFBOTMzMjc2OTQ4NjcxOEVCMEFBNTQ3NjZENUZBIiwiMHhDNzYyMjUxMjRGM0NhQWIwN2Y2MDliMUQxNDdhMzFkZTQzOTI2Y2Q2IiwiMHgwMTU1NTNENTg3RjAyNzkyYjYxNDA3RDM5RDAyYUQzQzUzNmU1MjA5IiwiMHg4OGJjZjcwYjQwQzI0NDRiMjEyNjU3ZGE3NkZiMjUxMkY3OEVGMWVBIiwiMHhmRGMzMDU4MGNlZWU5ODA3RDc3YzQyRGExOWM4NmYxODhhYjczMTg4IiwiMHg2MUJBNDNiMDNFYkM2MjY3MTE3M0VBRmM3M0QyMUE2ODE1ODNiOWQxIiwiMHg4NTYyQkU4QjllQ2FiMzU2RkQ5MmU5OGJCODJhQjNlMGRFMDQ1MTBkIiwiMHg0NWIyY2VmYzVCMDI1MDZjOUExQmQxYkUyQzI4ZDJlYkIyYjQ0RTBEIiwiMHhGRjlEOTM0RDk1NjcwMTlkZEE4ZjlDMjQwMDEzRDdBNGJCNGNkYWFEIiwiMHg1M2Y3ZUIwZWY1NjcyMjJiOEEyREFmZjEzNDVhREI2OTkwMzExRjhjIiwiMHhCMmRENjgwYmM2MEVFMzEwOTQ3NTVERTM2Mjk1OWM4MTVkMjI5ODcxIiwiMHg5NTQxNzA2ODRFNUI4MmU5QjQ1RWM4RTk0NTM1YjVGMUQyNTRlODcyIiwiMHg5MGU1MDk1MGEyRGE0RDVmMDFEMTBEMjVkMDgxMkExMWRhMzJCZDRGIiwiMHg2MDRlMTBhQjNDY0FmNDMyRmRlOWExMjlFQWRBRTk0Rjc5M0UxMWNlIiwiMHg0NWRCOUM3OGU1NzUxRTA2ZmFiZjFFRDc1NTk2MDdiMmMwODk2NjUyIiwiMHhCNzFFZGQ1MzIyY0UwMzA5ZEMzMEYwN2QyNTQ3MGRiZkNiMjc1QzI4IiwiMHhFMTMxQzUxQUI0RDk4YUJhNzQ5NDBkNjU4OGY0ODY4N2VBNzhiN0ZkIiwiMHg4RkU2RjExQjFGODg1RTlkMkZmMTFhOEMzMjg2YzM3YWJBOTFmODJDIiwiMHg4MWM2OTBGMjAwNzI2QzlmMEQwZTlBQ0FGNGJmMjhBMTRmQmZiQTZDIiwiMHgzQ2M4N2FhZGQ1NDg4MmE4MUEzZkVCMUVGNEI1Q2Q5NzJCOWZiMTFkIiwiMHg1MDc5ODE3NTcyMmE1MzlDQUJiQTU3MDczMmE5MGYyYkYyQzliOTdGIiwiMHgwNGZFYkE3YkNkRmY4YjFFQkU4QjY5MkRhMTVjNTI0MDNhQjRhZjRBIiwiMHgwNjgyYTY5NWU5YzFlNEM1MzBEZjNEQUQyNGM4NjIzMzNEM2YzNTYzIiwiMHg3QzQ2NmFiRTEwM2I3MzA3QUMyZkE0YTQ3ODhBRDNmNzc3MjcwMTYzIiwiMHgwODNiYzZCMkVGQUUzNmJCRUM4OGRhMDYzY2ZmNWE3ZTVjZTgyNDAzIiwiMHg0Q0I0NzE2NGZGODkzMURkYzM2NjJBY0M4OTgyRjBFN0MzNjA3ODU5IiwiMHg2NEMyOWFBYzY5ZDMxMjJmNmU1NTMxQ2VjQTFCNzUzRjk1MzUwQUY0IiwiMHgzMzVCZDFGOUEwNzUyMGM2N2JmMzg2OTczNjhkRjA1RWU0QTZFNzA0IiwiMHg1MTI5MDJhNWI4MmZkNGFFRjk5ZGJEYTM2NDZmQzBlMTNlZTFmQzJGIiwiMHgzODJFNmVkZDcxNDU4NTMzQzIyOTY1YTQ4NjdkYTMzMjFFYmVBYjM3IiwiMHg5OWYxMzAyOTkyMjJiNkU1ZDdFN2VkNjEyNjE3N2FkRTNhMDQ2Mzg3IiwiMHg3MGE1MDMzRkY3NDg5MDM3QTIyMzcyZWQ4OGI0NzUxNmQ4ZDFFRWYyIiwiMHg4NEMxOUMxZDNDMjQ1ZDJkRDQ1N2MwMTczNTUzM0VFRDMyNTZBYUU3IiwiMHhFYTNkYjE4RkIyNUMzRjk5MDZGRDgyRDdiQTE0Qzg5MzAwZTNmRmI3IiwiMHgzNDY0QmI1MGRjNTM2YzdjMjc1NkZFNDU5QkNCMzlCOWUzNDRCQjc0IiwiMHg3MEIyZTY2NmZjOTZiRTFFNkQ1OTE1ODMyNDJFMzE4ODViQjU4NGQxIiwiMHgwRDJCMzRDY0MxNjBhMTk4Nzk5NTkzYUYwODhhNGZDQWJkNUJCRkRDIiwiMHgwYjdBZUMxN2VBNmE0RjJkOWE1QWQ0MjNmOTRjMDI2MGM3NTExNEIxIiwiMHgwMEFmNUExMDFGMzlkMDI5MzIxNzBkMGIwOTY1NTYwN0I0ODBmMmQ5IiwiMHg1OTcxQUQ4OTFDMDA3Qzg1MzNEN0QyNkYzNjYxYUVEZDQ2QWIzNTU3IiwiMHg4RjkwYjlDRkViQjk5NUIwNjM2ODQyRjgwQ0ZmYmM0MzU1N0ZGYkY2IiwiMHgwZEE0RjRCQTgwOTc2NzRCRTgyRjhGNDdGNTE4YzZBMTEzNjE4RUYwIiwiMHgxNDgyY0Q4NEM0MzhlM0M5MzQ5ZEIwMTVmODRkRTNjNjU2QTBDYTRDIiwiMHhCYjA1ODZCNGU2NzdCREQ3RTUxYmRhMjVCNUY1Njg1RjU0ODYzQTFmIiwiMHgyNTllODgzNEEzQWI5MEE0ZjNFYTlDRmQ4NzUxQjRhNDA3MWZkZEVCIiwiMHg4YzVhNTFhYjRhMDMyMWVhM2EzREEyNzgxNkJhOGY2QjZEOTJDQzhFIiwiMHgwYTkyZTE0MzcwNWQwZURkNzA4MzI4MjBCZDI3ZTU0ZTlGN2RDNjA2IiwiMHgxMmE5QmQzNDcwMzZlMjcwQzJCM0E2N2VCNTQ0MTg2MDcwM0I5NDcyIiwiMHg4YzkyZGE1OTkwYjlCMWI5QWM3NzIzREMyNTc2Mjk0QTViYjNBYjA5IiwiMHhGRDNFMkY2MmRDYUIyOTU1YkNkMTVBNjI1MTUyQzU1RUNlMWFGMmY3IiwiMHhDNmJBN0U5NGI5RUI3RjQ5MTFEOGVERjc2ODU2N2UxOTcwOUE3Y2JmIiwiMHgyQzBENDA5YjBENzE3NmFmNTQ2NDNiODA4N2JjMTU2QkEwOUQ3MDZhIiwiMHg1MzQ3QTYxMzg1QjY0NDI3N2E1RjZiNTZlMjEwNjIxNjI5OTAzZDk1IiwiMHg0QTBGRkQ2ZWE0QzZCMzFDNjgwMzY4QTVlRjIxMkVhZTE5QkFGNkZGIiwiMHg4YzdDNEYyZTk1YTU1NmEzMTM2NzBiNzJBRmIzNjExMDRlMjYxOTVCIiwiMHg4QkE1MDgyRTIzOTQ0MUFlNWE3RTRhMkQ5QTU4NzhlY0MyN0FGNjUwIiwiMHgyMDcxRjg4NjRCMjcwQmQxZjA1NjdDMTRBYjdGMDA1NDM2OTlBMUM1IiwiMHhjQzVFOWUzNWJDZWNlMjEwNWQ5MDUyNzFEMDYxY0UwMzI2NUQ1NDI5IiwiMHhkZWEyNDg4OTVkMzUwZTEzNzk5MDIwN2YxMEE3MzAzZmVFZkM3YjgxIiwiMHgwMTFjYTE5YzgxQmU0MmExNWVCN0RFNjc2YWYwNWQ5MDhjNWM3N2M5IiwiMHhFRUI0Q2FCYzA5M0QzM0UxMkJiNGVlQTNlZjc2OTljNUU4Rjc5MzBCIiwiMHg3MmMwNEI0NzgwNDVmMWE4NzAyNjMwRUMxNWYxMTlhMUMwOEI5NGM2IiwiMHgwNGQ0YzU5NTM4NzUxNDJkM2MyYTgzNDBCNTVEZERFRjg1Mjc2YWIyIiwiMHgwMzRkRTZFNTkyNjViRmEyNDAxOTJiOEQyMzkwMTM0OUJENjk3OEJGIiwiMHg4RmNFODFhQjlCNzhjMmIwNGNkMDJFN2IxQTAzMjlENzVGN0M3QzREIiwiMHhlMTQ4MzllOTQ0N2MwYjExREU2MGM4NTFENjM2QzY3RjQ3RTc5YTdDIiwiMHgwYjg4Yzk3NjI0NTdiODYwYzM1OTFiOTYzNDU0NEQ2QTBGNjVCMUQ2IiwiMHg5Y0Y1MTk3ODc3NEM4MjVBNDAzRmNmZjVDNGFFYTRDMTFFODRFODg2IiwiMHhiMTFFNDZkZjFjQTE0Mjc0QjcxZEEzYkZhZkMyNmE5MDA2QmVmNEU4IiwiMHhhODAxQTNBY2I3QjRGY2U5NDI4OTY0MjExRjFFYkFBYjlFRGY4RTMzIiwiMHhFMWY0OUE3NTA3MjQwODhlYWUyRkI3MjNjMjEzMjQ5MTY3YTRCNGZlIiwiMHg5MDNFNDczQzZjNWNiNTZEODlFNjg2Y2ZmNGVBOTQ1MDExZDkyMEY2IiwiMHgxYWM2NDZjQTI0MzQ0MUQ2NmFFMzNGOTdkNjhGQkYxNWZlNjRFOTYwIiwiMHgxZjdiODMwNTU1MjIzOUQ4MzJjMTFBNTZCOGVBNjgwRWRiY2U5M2ZCIiwiMHhhODNjMDI1NDJEZDAxZGJiNWZmQzM0ZDQ0MTliRWY5ODJGOUJiNTZFIiwiMHhCODgxNzllMThCOGVlMTM4NGM3MmJEQzI1RTc5MTljQmZiYjBiOTdFIiwiMHg5RjMyOGZGMkVEOUFCMTg4MzA1MjUyODg1MjI2NDcyOENGYjFGMmY0IiwiMHg0MTBDRjhiNjk4RjkzOTJENTYyNEQxNzIzQTdCM0VlNTlmODg5MWMxIiwiMHg0Zjc4YzE4QUQxOWI4OTg2NGY3REJDNEY3YjI0MmM3N0YzQkUyMjAxIiwiMHhGZTg0NzM0MTEwQmRFYkQ5MjllM0IxY0FCMTQ4YzhhQzUzZDRiNDMyIiwiMHgyMDk5YzZhQjhhN2M2RGQ0Qjg0RDkyYjcxMjUyZTZCOUU5NTRFOGI3IiwiMHhEYTAyQ2FlQjU3MWZjNEYyMjgzNTYyYjFBRWEyYzk0MDE4ZTA1MDlFIiwiMHg5N2YyMmMyYTFBZjlEQjAyREIwNEQ5RGY2NWZGNDUyRjVhNzE0YjIzIiwiMHhlOGZjOUQ0Q0YyMTYzNzRiQTBCNTgyRDVDYTE0OThmNDk3ODIzNWJiIiwiMHgzNEM0RjU5RmVENDgzRTU0MDc3MDk5MWE2NzEzRTRlN2Y4ODFlMjdFIiwiMHhkQzUyMjM3YTRBZTNDNmVmMkU0YWE2MTc0OUMyODFkRTYwNTdkOTRlIiwiMHg1RUUwOTY4RmJCNDY0Mzk2RjVmZWY3Q0YzY2JjMDBBYTFBMjYwMTk0IiwiMHhDNTIwMmUzZjVGNjA0MjNkNzEwNkE2ODI3OGM2MjdGRDA5MWI1QzdEIiwiMHhBRTlBRDg0NGJjNjAwNkJkYzFEMzIxMTA4MUQ2NTk5NzNBMkE1RTYxIiwiMHgyNUFjM2U5NzAxRDQ5MzYxN2Y3ZjEzM2MzMjBEOUMxNjNjYTJBNjNlIiwiMHhjMkI3ODg4QThkN2I2MkUyQTUxOGJCQzc5RkJCRDZiNzVkYTUyNGI2IiwiMHg4NUI1YjQ4NEUwZDRiZEY3MEFEM2UxOEEwQjZhRWQzNDUxRTBjZTdBIiwiMHgwYzZiMmExZDVGRDY4NmJmYkE5ZjRiMzBlRDJFREZCNmVmNTI5NUQwIiwiMHhCZDFhQzIxRmVCY2Y3MzY1N2M0QzZmQzlBNDk1YWJhOTY2MTk5MmRGIiwiMHhlMDM4YjJhMkQyNDFEN2YwNzY3NDQ1YzM0OGJCOTFhYTZFNENFMDlhIiwiMHhBMzc0MzUzNTQ3ODExRTFBZTU2Q2ZjRjMyODFjNWQ2ZTYxMDNFZUViIiwiMHhDM2RkMjJDYTRDZUE5YmYzNzM1NjBGN2ZBNDAwYzRDZmE3MDdjYTM0IiwiMHhkREQ0RTJGN0FhM0NFMGFhRjEyMDQ3RURmM2NiN2IxNWYwMGQ3NTk5IiwiMHhlZUNlQUMxMjZEMDFERDgxNjJlQjAxYUIxM2Y1MDNjMjgzNWNjOUU1IiwiMHhkQzM0NzhFODA0NjkwMjg4OTFFZDlkYkI4MjdEZjU3NjA2MjMxRTVkIiwiMHgyN0Y0N0E0OTZEQTczOUZDMzVjRDVBNDkwQmZiQjI1REFGOGVEMzM5IiwiMHhCMTc0N0E2MWIxYWRDMkI4NTY4MzE3NmUzMDE5OUVmNjA2MjM2MUY0IiwiMHg4QzJmODllOERCODBDYmVlRWNhNWZGNDIxNmE0MWIyMThDNDZBZTMxIiwiMHg5MzI5YjI5ODA1QTQzRmU1MTA1ZDQxMThmODQ3ZDZDMjIwMjY1NjQ0IiwiMHgyNTA0MUE2MUZjMTRkRjI1Qjk2M0U0OTlGNDc5MTRCMTEwNzVjMzkwIiwiMHg1NWZhQ0I3QzBjYThmNzliZTU5QTliNmUxZTQ1MDdmNzNjMTA1NzEwIiwiMHgyMkNjYzIwRDhhNzBDQmI5YmY3NzhBNTIzMTIwM2M0NzNCZjYxYjE1IiwiMHg2ZmYwNGM2ODJjMjM3ZTUxMUIyRDJEMGY2NkE0YjBGRWFiQTBGRDJhIiwiMHg5MGQ3ZDJjMDQwM2NhZTM2MzVGMjY0NERiNjVEODEwY2Y1OWI5NzRiIiwiMHgyQjQzNzlCMDI1MzdjOTNmMjFlOWE0ODlmODM2YmI4MTYzMDVBQjFFIiwiMHhmOTcyNjk5OEVCNzA3YUFjNjc5NzU4Q2M1NGNmMjhhZjg1QTg5RkQ0IiwiMHg3MWM3YjI0RkI3YjU3RDc3M0EzNGMzNDAwQTcxMzA4RjcyNDJhRTAxIiwiMHhBYzMwRkFCMGZDOUUzMzZBQUQ3OWFFNGZFODM2OWY1OEQ1RjY2NzhiIiwiMHgzYjU4NmQ3QzE2QUMxRDkzM0Q2ZDE1Q2M0MzQ1NDE5QTkwM2NkYmJBIiwiMHhBNjA3MmVkYTI2MWFmNzIyYTk1ZjhCNDAzZDYzRDUwMzI5YjBCNEUwIiwiMHg1QzFkOWQ5OTFDN0FhNjI5RTk0NTMwQUQwNzIxNzA4ZDFEM2ViMjFiIiwiMHhBMjYzMENjRjZDNTI2OGRGNTQwQWRlMjMxYUM0ZjFBYjE1NTIzRjFjIiwiMHhBZTdBMkU4NDc1OGQwQ0IxMTJlODUwYzkzYTg3RTkxOTAzMzE5Mzk5IiwiMHgzYUIxZTI5OEFBNDg5QTZCY0ZFZmNCM2NkMjMxQjI1MEZGOUVhRDY4IiwiMHg3RWI5ZDhEODE5NDc4MzYxODcxQzQ4RDkwNEYzNjlkNzhDZDc0OEVEIiwiMHhGMjVFNmM2RDk1MTUxYTczMWI3MTExNjk1NDAwN2JkMTY5OUVEOTI0IiwiMHhhYUE1ODE2Y0E2ZDRERjQwYjM2ZGYxMzgxZjBBOTBhMjk2MDczQTBCIiwiMHgwQjM0MDRFMEYyZTI3YTQ4ODkxOWExQWVjMjhmRGYyNEQ2RDM0QjJBIiwiMHgyOUNCODBlZDY5MzI5NTRBNzA4NzNiMGY2YTQ0NkUyNDIyYTU3NjEzIiwiMHg0M2E5REFmYjQ5OTA4YjRkMUFhNzE5NzhkMWMyQTk5YjI1MUYwMTc3IiwiMHg5YUU5NzIzOTQ3NDE2ZkNDNmI4N0FBOTk0MzEzZEJjQ2FmOTYwNDcwIiwiMHg1OUJhMWM2MzEwOWQzNUI2RTFBNDRCYjY2MTYyRGJCMkJiNjFlNzRkIiwiMHg5NEREZWUwNGY3MjU0Q0JjZjY4NDM2MEQ2ZTc0NUE4NDdEYmE2NDdjIiwiMHhlMzhDZDViN2Q1Y2MzNjBiYmM1M2MxNzBBMDFhY0VkOGEyRUQ4MzFjIiwiMHg1ODdjODJlZDE2Q2E5YWU3NGU2Mjc5MjQxQmE4MDhBMWYwNjQ2NGEwIiwiMHhmMmM0NkM4YWQ3OEREQzQzM0IxQkVhRDA2MjA2NEY3QjZlODI4YzUzIiwiMHhBMDY0ODBmMTE2QUFCQzI0MkQ1NDVkODI3MzA4RkI5NTUzMjE5QzBGIiwiMHg2Y2Y0NzlENzBiOTE5NjIzNjE0RjFmRkQyMDAwYTgyZkE2MGViQjk0IiwiMHhhZTBEQTZiNUEwOUFBMmIwNWNCMjc0MWJFNDNGZTEzZmM1MzlmMjZhIiwiMHgyMDczMTcxOGI0RWEwOTMxMkVjNjk1MDk5MTY1ZmM0MkJCQjk4NzBDIiwiMHhlZTRCOTBFOTlEQTE2MGI2MzhmYjc5NkJBMjFhOTU3Nzk3MEQ0NzJjIiwiMHg0NjMxNmZlZUM4OTlFY2QwMTAxRjVGYTZBYzVENDVCY2IxNzk3MDMyIiwiMHhGQzY5NjBEMWNmQjc5MjNjNTk2YjI0ZTBhNDljRjRGM0RFYkNlOTEyIiwiMHg2NDkxNzBGMUFjNDVjOUZhMWE5MzQ2QzIxNWVCNTE2NmJFZWNEYmUyIiwiMHhkN2IzN2IxMEIyMTQwMjJjRjg2NDUxYUFGMzI3MjBGYjBhNjIxMUNFIiwiMHgyOThkMTM0OENFNEY2RDI3RTFlNmQwNkUwMDRmYjM4NmY1OTdCYTgwIiwiMHhGNjkzQTYzODc2N2Q4ZmY2MjlBQjNmODY1MjVDNjUxM0RhRmIyNjlkIiwiMHgxN0RkNzc1NTg5RURhMjYzNzM2MUU0ZmQ5M2IxMzE0N2Q1NUYzMWZhIiwiMHgzMEM3ZjJDMjFhQWQzRmVFQmEyQTMxN0E0RDk5RWQwNTVBQ2JmMzkyIiwiMHhDNUFCMzk5ZTA1OUVkODQwZUUzODE4NDZBNTYxODhhYTA4MEUwMDJEIiwiMHhCMWZkMkNBQWQ5MTg5OGNjNzU0Y2M5QzIzQTNEM0MwMWJlNzA1MEIwIiwiMHg2QjE4OWEyRThEYzAyZTVCNjRjRENhZmQxQmQwM0JjNGMyOEEyOTMxIiwiMHgyNzIwOUU4MDdiYUNhMmY0OGRjNmIyMjA5NzhDMDdCMDBkMDI5MzlCIiwiMHgyODkzMEVhRjAzNjVhNENiYzgzNGYwMDUyNkRGNzRDNjlDREY3MzcwIiwiMHhlREVhMzNENEI4MkU1YTU4MDk5ZDIzZkU1M2I3MDQxRkU0MTY4QzhkIiwiMHg1QzcxZDFBNDcwMTI1MDUyNzQ3ZTRmNENlOTMwNzljNTgzNkViMmZDIiwiMHhGNmIyNThmMkMzNDg2MmE5RTg3YmNjZTc3OTRGNWMzMjdjMTA3M2I3IiwiMHg4ZEYzODA4M2RkOGFlMDdENkY5NmI1OTY3ZTk2RThBNzkyOUYwMTJCIiwiMHhlNjdmRDJmNTVFOTc3QUZhQzk0ODM5MUM3OEEwNDNCZjZhNUYzMkRmIiwiMHhENTIzOWZiYUVFRkZDZWU4MDMzNDg3RjE3MGZGM2EzNjkwOEVjQ2MwIiwiMHg2RDFlNGFiMTFkNTgyZThlZDFjZTU2MTZjMUI4MGFBQjIyZDIyMERlIiwiMHhkODkyZmMzYzk2NzVmNmRFMThmQTIzYjFlMzdjODJBMmQ3NTI3Q2ZEIiwiMHhFZjRlNjYyRTBEYTE4MWU4MzRkZjhmMDdENTZCNTFFMmNEYmRBMTQ3IiwiMHg2RmI0ZTIxQzQyMzk5NjI5Y0U5RTNFNGM0OTk5OUM1MTNlNTU2MTZlIiwiMHhlZmY3ODcyZjJjRjIzOWJGZjdFQkY1M2Q5NTE3OUIwYkE2OWY1MTQxIiwiMHgwNzFCMDVGMjg3RkY1NGVGQTMyMTQyNTk3QTBEMDlCMDQxODZjMjlBIiwiMHhGODk4QTJmNUVlMDgxNjMzN2VkNzBDNTA5Y2Y1QTQ2N0NkNWNhYUFBIiwiMHhFQjM2QjY3Mzc2NGJGNEI3M0M1MjRkODU0NTNjNUVkZDNkODg2QUE3IiwiMHgxRUY2N2NkOTA4ODRERTQ1ZDAwYTM4MzUxNUYzN0FGNjMxRDljREY2IiwiMHg3MDY2N2I1ZUE2MDRjOGYzQkYzRmEzRmI5ZDE5MjI5QTk4OGY0NDZjIiwiMHg0NDY3MzQ3M2JlMWY2RTgwZDFBREY1QkFENjZjOTIwYjNkMWY0OTNjIiwiMHg2YTdFZUJlMjlhMzg0M0Y3ZWM1MDUzNjEzNTI5N0VkMDIwZTI3OWJmIiwiMHgzQkY4NEYwNGFGNzYzYjAzNDViNDI5NzRlNDdlZjc4Y0JFNjM5YmZmIiwiMHg0ZDg0OTU5ODViYzQxNThiMmRjRWU0MjYyOWM5NTViQTI1Y2I4Zjk4IiwiMHhiNTFmNzdlZTlBMzBjNUE4MjBmMTk1MUNGMTFkQzllYzU2MTM5QzQ2IiwiMHhiRDNEOTdkNDM3MDY0NWM4MDQxQjY3YUE0Mjg4YUI2MzdlNTQ4MTEwIiwiMHgzNUZCQjEzQzMyODFlMzdENGZhZmZiMzREM0FkNzZBZTU4MzNDOEU3IiwiMHg0MTczMDJhMEY3RUNhQTI4Nzc4QTI2ODdDQWYzNjAxM2FDNjU1NGMwIiwiMHhGYzJBMTNlODg3YzRiMzU0YkVjNjVlMzgwYWM0MDJCN0U5OTdmOUZGIiwiMHhkQzI5OTUwMzA5NUQ4MWQ1RDBjN2RjQjNBNjFFMDZBMGMxNjU4NTg4IiwiMHhBMGJCNTY5MjgwQTQ4NzRjMDJBMUI3ZkQzYUEzMWExRDE0RDcyM0YxIiwiMHhCNmNlNGY4NDNCZjFERDhkNjYzODc1ZDZjNzI2YTBlZDYxZWI3ZEEyIiwiMHg5ZDBkRDE0YjVCYTViNjAyNTMxMjRCMTcwMDFiMUU0QzRDQzc4YTRCIiwiMHgwNGU0NDc4OGJlM2U5QmVDZkIwZDRBMjk0MEM1MEYxMDc2QjQ3MzM3IiwiMHhmNTBlMzU4YTIyMjc4OENDOTcxQzc3MzRBY2ZBODRhNURmZTc0QWYzIiwiMHhmMmY4YTkyOTlDOEYyQkI3NTFFOERGNTAwOTgzZTYwMzBENzdmNDExIiwiMHgyNWZDMzI4NUVjNkYzMzkyN2YzNzk5M0ExQzYyODJjZTExOGQ0OEE1IiwiMHhhRThjQTY0QzJBMmMyRDEwRDc4ZEIwMjc4MzA4MTg3N0JCZGNCRUVGIiwiMHg4MzU0NmE0NEExNDM0MjYwZTUyNzc3NDY4NWUzNTI0ZDAxQTA1MEI4IiwiMHhBMUNFMTIyYTBDQTZkNTFmOGY1YzM0ODcxMjk2OTkzRUM3NGI2OEM1IiwiMHg0QTc4ZGJCNUUxMGFmOTcxQjZCMDZCYjg5NDMwODdhQTFFMTQ3NWJCIiwiMHg5YzVlQTg5NzYzQ0NiNTUyQzhFZjBCM0I3NjA1MDJhNjY5ZjBFY0JGIiwiMHg4OGJEYzA3QjY0YjZjN2JFY0ZjMzliREQ1OUU1N2NGRjgwMjVCNDk5IiwiMHhEYjk0RjhDNTRFQjg5NTRiMDNmNTBkOWVmMDhEZEEwOGQxMTk4RjVBIiwiMHg3NDVkM0IxNzA2NmJiRjNhNDI1ZkJFN0ZhOTJDMDg1RTg5RkE2ZjRjIiwiMHgwYzFhN2ZmZTY3OTMyMzdhNDVDYzI3NzU4NDA5MGIxMmREZmZkNDUwIiwiMHhENTI3NDUxNTgwQTU1RjUzNTlkZGRkQmJGRWI2MzE3OThDNDAyYThFIiwiMHhmN0FBM2Q0RDE1RGMxYTc0Y2ZGZDdlMDcyNDBhZjYxNzM4NjJFN2Q5IiwiMHg1ZTE4Qzc2MTk5YWJFNUUzQzlhMEVlODA4MzUwNjBGRmZlMGZFNzM5IiwiMHg0MEZCYjQ1ODA4NDE2MDMwNTc0ODRFNjZGMDA2NmVGNkE4NkI0RTY3IiwiMHgzNTMyYzdCMzc1NjkzM0MzQkQzNTAzRTJCMEFEMjUwQzJhNjM3ZGExIiwiMHg4Qjc0YUE3MmU4QUMwRTRERjcxREFjM0FGMEM0QjJjMDk1MTRFOUY3IiwiMHgyZjhlMDlmZTU4OTZhNTUzNTJhMzFCMTZjOTE3RUZBMjZkM0U2NmU5IiwiMHhkODVBRTEwNWQ4RjQ1ZTkwZjQ5NTcxZmI0NUE4NkU5RjY2Mjc2ZDliIiwiMHg1Q0Q1NTZlMzU3MjE5NkIzOUJhODZGQjFjQzVmNTg0ZjBlOEY0MEQzIiwiMHhCNUI1MDJjMjM5MDQyMjg3NTI0NjU1NjgzYzYyOWE2OTc4OWUxM2UwIiwiMHhkZUM5ZEZiOWI0MDM5ZjdkMDNjNGMxOUUyMWQwZGY0ZUExOGIyNjgyIiwiMHgyRDdiMDk5N2VEMzI2RDNjOThjNTU5NGRFMzkwQTJkZjVkOUYzMGZiIiwiMHg5QjQxOTVmMzRiMWZGOTFCNDE2YjIxNzMwN2IwYTM4RWU0N0Q3ODM3IiwiMHhkNWJFMjY0M2U3MDNGN2E0NTZBMjgwNGJhQjU2NDFEMzZCMDUzQzczIiwiMHhFZkZkMjJhOTVGNWIwZTQ3MWE5RDg2MDdjYjUxMDAwRmVDODhjQjA0IiwiMHg4MzhmRjM2ZTdFOWJkYzU4REQwM2MyRTQyMTE5MkZBOTYzMDg4QjI5IiwiMHg1MDE1NWMxMzNDOTBCMTIwOGM3YjI4QzMyODJjYTdEZWFlMzFFNDg4IiwiMHg4NERBQzIzRjkyODZlOTJCNzA3Njk3M2Q2MjVhMDk4OUNmYTgyODlEIiwiMHhGNzNFRTBkOTcxMDAyODYxMTgyMTkwMDAzREE1QzZFNTJiMzNDMURjIiwiMHg3RTA5MTIzMWUxOUMyMGE4YjE2NzdiQTExNUYwMGM2MUU1MzY4MDk4IiwiMHhkMjVjOTkzNURCNDg0ODUwMzhkRTA2YTY0ZTVGMGVFZmRCOGM5ZUNCIiwiMHhlNUFkMzlGRDBkMkNjMWZjNjYxODMwNEM3MDliNUU2QzE1MUQwNmI4IiwiMHg3NUFmRTdGZEExNkZDMjlkZGM5ZjNBMjVFODY0ZjBjMGYxZEE2ZDFEIiwiMHgzRjMwZjJBQTg2NEY3QzY4MTQzOWExQjZFMzI2MjI5MDE0MjkwMDY3IiwiMHg5QTcxRUM0ZTVhRjM1YkJiYzVmOWY5MmM2RUQ5OTY4NDlhNGZBOTQwIiwiMHhERDY4YTJGOTNFRmIzNWExOEJlN0ZCNmJmYTkyMEM2OWE4MTQwN0E3IiwiMHg4MTRlNTE1MzQ3NEQzYjhmMmRiMGU4RThhNTdDZENBMDZBMmVCYTQ1IiwiMHhEMDkzQmJENzdjNTJCYjY3OTdmMjdCNmFmNDg2NTVlQTU1NUI1NzMwIiwiMHg3MTBEMmVGOTI2NmM2YTQyMDJBQjg0MDBhZjJjNTAxOTU2MzNmODRCIiwiMHhlNDMzMmQ5M0I0ZjA0NzdkNTIzMDg1MmY1OUQyNjIxRTJBY2RFYTFBIiwiMHhmMjhFNDZiZmJDZGJiMGI1ZjEwNWY1Qjg2YzM4ODEzOUU0NGZhMEQxIiwiMHhDNWMzQ2Y0MjEzY0Y0YUNiNDQ2M2U5NzM2ZjZjOTk5Rjg3NDJFNzUzIiwiMHhhRTY1ZDQ2NzNEYTUyZTUxNEVCMjE0NGU5NTI1ZjZBNTRBMjAyNzU1IiwiMHg4RkE5RTNDNzY0ZTc4ZEIyOTcwOEM1N2M1NTgzYUU4MDQ5Zjg4NzViIiwiMHgxRTg2YmFFODIxOGI3MGQ1ZGMxZDczNzM4MDNlNjc3RWE1MTdkQTQxIiwiMHg0OWE4OTIzYzFDYTQ3NkE5QUJlQ0VDMzZlZjJjYjQ0RjUwMzAxNjQwIiwiMHhkMzNmRWZiMzhlZmY1Y0UyMTM5NTkxZDUxNTdkRmMzNDgzOTE2NzJkIiwiMHhBQUE3MjAyRDMwRjQ2M0I0NTdiYUM4YjExNjQ1ODU5QTQxNjg2M0JBIiwiMHhGYWJhNGIyMDc1NTg4NDU1ZTg4RjI5MzM4QWQxZGU2MjRiQzEzNzEzIiwiMHg0YWEyQTRFNTZkOTk0NTVmZjExMTRFN0E2NWMxMzZDMjgzQTIxMDA1IiwiMHg0MEZiNzQ1NEQ0QkM3YjZDQWM4QWNiMDk2QjRiNDhEMDA2ZkYxQzIyIiwiMHhBNDJFNTMxOTk0RTMxOUMyMThBMzZmQkI4NWM3RmNiOTA0ZDFBMmZjIiwiMHgxMDFFNzUwOEQyN2ZmNzQ1YkMyYzZhNzMzNjM2RDFFQzMwQmYyMTFkIiwiMHhjOTc4MjBjQzIyOWEwMDNGMmY4RjREOTRlMjY0ZmRjNDIwZDA3YTE1IiwiMHg0ODNmMUJFNjlCOTk3MzFENzk2MDMzRmI0NDIxMTZFMDNGRTYwZDZlIiwiMHg4RDBmY0REQjFiNTMwZjVFQjM1M2NiM2YyMUVhMWNEYTNGZTUzNTIxIiwiMHg0NjE1ZGMwRWRENTc0RjBlNDUwMjk1MEI3MGRhRjRDRDkyNjQ4MTM2IiwiMHhEY0YxREE2MkRiMjViQjBBRDg1RTY2NEE2OGMxMkY1MzYzYjc2OTUwIiwiMHhjRDg5NDFDM2YxM2JDMTRENjI5MTY1NGU0QzBBNjAyQTkxNUYzNDk5IiwiMHhmM0U0OTZlMkUwNjc4ODE3NzFiMDQwNWVFMjg3RjgwY2RBNzc5NjI1IiwiMHgyMzk1MTIzODdjRTBkNzYxNTc1MTU3MzYxZUYyMzg4QjA3QmU4RmE3IiwiMHhiZkZDOTNEQjM0QzA0RTAxRGZFZWI2NzVGQjllYjg1MUVCNDFEZDBhIiwiMHg5YjY5MjkxNEVkODMxYTFlMGVlMTJDMDA0MjBhOEYwNDhjN2IwRDhiIiwiMHhkMDAzNTQzZGYyY2QzMGU5RENkMTk2RTZhODA3NGFBODExMzFhNDkxIiwiMHgwMjgwNWU1MDUxMTY4NjNDRkJCQjBFM2YyMmFFMUZGQUQ5Y2YyN0I2IiwiMHhGNUM1NTgzQjhFYmM5NGIxMTdkMzBiMTREOTI4M2QyZjZjMTNDMjcxIiwiMHg4ODQ3MzUxNUEzMDRBOTdDODc0MkJGMzAxNENCOGQyOTY4Nzc4Qjk0IiwiMHg5NzQxNDdEYTJCODc3MUY1YjZFNEEwN0ZmMjJhMjQ5ZTZGMjFDNmExIiwiMHhhNDYzYUU0OTczY2U4M0VGRUIxYTM0NzlGQmM4QmZFRWJiYzA3ODIwIiwiMHg4Mzc4RDk2YzRBRWVFNTMwQThDOTczNkM3NkVlNGQxMDEzOWNCMzYwIiwiMHg2NjFhMUU2Mjk0OUExNDdFOUIwOTREN0MwOUNmQWU2MjgxNmRjNTI3IiwiMHgwODhBYTYyRTRjZEQ3NjYwOUIzNTRhMTAzMDhkODk4NGZhMkEwN2I2IiwiMHg5N2IyNkI3OEQ5OWNFNDA4MEQ0RDUzNjQwMWY4MTAwZUY1NkY1QzRBIiwiMHgxMERmMDdlOUE2Zjc3NDc3OWJFZjEyNmU0ZjMxODc0N0NCODA3Mjc2IiwiMHhjRTdFYTFEN2VjQTMwN2QwZDA1Qzg1ZkE4NjY5NjFhOTBhZjA1RDdDIiwiMHgzNTVEOTZjOUI3MWY5RGRjOWY1N2RDRTgxYjgyNGNkNTBlMDVGODI1IiwiMHgzRDkwYkM5NzlhMjcxY0I0MUFkODJlNjE5YTkxOTgyNTE5Q0Y3OThhIiwiMHgxNzAxQWY4MmE1NWQwNDQ5Y2JFMmQ1REEzMzRBNTRkNzc1MjU5RjY3IiwiMHg4YmRhQkUzNTdDMTdGODA2Mjc2N0IwNkQ5MzM2QzgxZjEyNTAwNjg5IiwiMHhiMzE5QTAwRGE3RTA3NjVCOTdFMzc5QzFiZDJhN0NGZTNkRTQ4NjQyIiwiMHgxNUVENTNFZUIzMEIzQjNjZEI3MzFmNjgyQ0JCYzY0YzA5NjMzOTg3IiwiMHhFMjM2NDE2YUY4NTUxOTZhQ0IxY2QxNjcxMmEyMzExY2NjOWM5NTBEIiwiMHg4M0Q4ZDAzODRjZjY1Mjk3Nzc5N0U0NDU0RmNiYkY5MTM5N2YxOTY3IiwiMHhDN0I2ODJlYTY1MzM3ZjhmNGJiNzU0RjY4Q2ZhNzZENkJlRDA0NTAyIiwiMHhDNzAyMDY1Q2FFN0U3OTMxNmZCRkNhNWQ5MWNDMTc1MzlEMUQ2QTUzIiwiMHhmN2E2NEVlY2YyMERFQzcxZGFCOTZhRTk1ZjBCYzYyMDQzZjliQTZiIiwiMHgwMDU3OTA2OTM1ZTk5QUFhNjdCNDRmRDUyMGE3QzlFMTdiMEFkNjE3IiwiMHhEMzM4MGUyODU0OWY0RmI5MmQ4ZjY5MjBBQjNEMEU5OTA5MWY4QzcyIiwiMHgzRjFCQjIwNDU5YzNiRDc4NGQxYzJCNjg2NjBkMGFEMDgyNzg5OEYxIiwiMHhiMzgwM2JBM0FGQThGOTQ5MjNDMjU4M0QzNWI2M0E1RDQ2OTdERjQ3IiwiMHg5NTlFOTg1NDc3NzUwYzBFMjkyODVBN0FlNkRBOGFiNWVjNzdGNDQzIiwiMHhDNmEyMjdGQWFmQTNGNDBDQjM3OGZjQ2EwOWQ1NjJjNDcyYzNDMTI4IiwiMHg2QTY0RDU5RTNFQmQ1MEVBMDBDMjNDYjkwRDI5ZjJmNjAyYUY0OTQ3IiwiMHhEZDVjYjFFNzBBNzIxYzk2QTJENTgxM0U3ZGYyMTY1OGM4NjA5MTM4IiwiMHgxYjU0NTE3Njg0RUE0MkZhMjhkQWVCMzkzMzJlMTVmZEJDZjJGQTFjIiwiMHg1N2I2QWE5RTlkNjVjZUM2RUE3ODVCYzJCQkY1ZmE5NzZjMWUxNTRCIiwiMHhGN2I1NWVlNTdlOTkwZmVBNDVEMzFEMTY3Rjc5RDMyRDIwZTM2QzU1IiwiMHg0RDE4NGJmNkY4MDVFZTgzOTUxNzE2NEQzMDFmMEM0ZTVkMjVjMzc0IiwiMHgyNkQ4Mzk0YTg1OUU4ZWQ4ZmI5RDREOTJBNzdCNUFhNDQ0OTNBYjhjIiwiMHgxRTZGNTI4OGQ1NDdkMzE2MGM0OTExYjNCM0ZENzFhOGNDMGJiREJGIiwiMHg0NzgwYzkxNjI0NWMwMDRhMjM4QzgxREI1NjkwQjM4YjYzYzZkOGU5IiwiMHhhMDU2MmE0NEU0OTc4OTE1NzVDMEIyOTE2MjY3ZGRlMmU3ODRCQjlEIiwiMHhBRDM5NzI5RDI1MDdFYzhiNjI2YzgxNzBmN2NCMDE3NjI3YjUxMjI1IiwiMHg4MThFM0ZhQ2IxZjVDMTU0YTI3MTJDN2MyRjA4MDgzMDc1Y0IwNTI3IiwiMHg4OEFhYjg0OTM4NDlEMTMxMjdmNjEzNEQ4N2Q0RmRFNzA0NjdBNGM3IiwiMHhEYTUxMjY4ZERBQTNBMWQzOWZBQjQ5M0YyNjc5ODRkNDQ0ZDgzOGMyIiwiMHhEOTlkZDA2NWEyMTEyYmYwMTFiZDNiQTg3OTgxOTdENDk5MDc5RTgzIiwiMHg3NTc4OEJEMjBjNTFGOTcyMkMwNzIxMzEyMDVDMmM5ZDRmNGQ3QzY4IiwiMHg3MDUxQ2RDMTRmMzJGMTQwZkNmQzQ4ZkJlQ0E5YTVCMzRkMUJBMjkxIiwiMHg3Y0VjMjYzOTI2MTQxNTIyZUY3ODU5NjgwMzZBOTUwRjc4QzJGMkJlIiwiMHg0NjBmMjFiNzRiMTZmOTYyMkQwODE4NjAwOUJDMGRlN2FhNkNjOUNEIiwiMHg1M0UwNDFiYzk0QjczQ0NlZjQxMmFjMWIxRDk2QzdDRDM0MjVmM0FDIiwiMHg0NkFDMjkyNDM0ODZkNUNjN0E5MmVhMTI5ZUI0ODE3MTI3OEM1QkY1IiwiMHg3NWIzMDgxNzUxODFCN2MxMDI2MWRkN2EwMzMyN0Q1NDhhNzRBOTA1IiwiMHhkRjczRDFkMGYyNEIxNDE3M0U2MTlCQjlmQ2Q3YjM1QzJlQzI2Q2UxIiwiMHhFNTFCRmQ2MTc0NjU5ODRGYjgyY2Q5YzNjMDZhMjcxYjU5ZUMyZTQzIiwiMHhjREQwY0MzMDY0NDYyYjNjOTM5MmJDNzZCNmE5YkY4YzNFZDI1ODE4IiwiMHg1MTMwMjVkNEQ3MTNjRTYxNTIyMTEyMmVjRDQ2QTVEOTMzNjA5MDEwIiwiMHgxMTg2NGE5N0NGMjNkZjVhNEIwMzFGYUYzQUU5MUY1NkFjMjI1MjA5IiwiMHhCZjRjRGYzOTA5NjllNjU0RUE5MjhFOTNFY2MxYzYzNDY4NDNhNTQ3IiwiMHhlMjA2ZUQzMzlkNjRhNTIwM2Q4NTcyMENiNzlmNDY3ZGYyRURDMmM3IiwiMHhENDUyMEE5QzAwRmQ5ZmQ2ODY0NEQxMjRmOEQzQzEyQTU3NzVmY2U5IiwiMHgxNjBGMjNmMjMzMjJkRDMwMzEwMjAwYTM3NDY0OWE2ZDc2NkM3NTJlIiwiMHhEMTE3RDYyNjliQTY2MmM5MTNiRDkwMzMyNWU2ZmU2NkVBODY2MzQwIiwiMHgzNzM4QjMzNDUzMTNlNjQxNTlhYjhhNTdiMjEyNjk2ODU3MTMzNTE4IiwiMHg4MUIxNWVjQmQwZWFlODI3MUJkODQwM0IwMzY1RDY0NEY1MzIyOGJCIiwiMHhCQzk0MDU0NkI1QkE5MGEwOGJhZTE5MDI4MTg1Mjc2OUM3MTcwMjA4IiwiMHgzMWVCZUYwZThFQ0QxNjRlMTlhMjI3MTU4YjY2MWJFRGEzOUVDZGU3IiwiMHg0N0FkNUU2MTQzRTJGZjU3NmIyZGY0MDM3YkU3NEIwM2RhNjY1NjliIiwiMHhBMzIxMDZENDIwNWVhOTRhYTI4NzQ2ODdBZTNCMEI1ODgyOEJlOENlIiwiMHhkNDRFRDUwODNFQmVDNjIxMjNEMzRCQkQ4ZjZEMUNiZjMwMjFEMjE5IiwiMHhEZkFhMDU5NUE2NGMzMWI3M2NiNjMzMGEzMmE1NzZGOUQwMkY0ZGIzIiwiMHhjNWNBMjdmNzYwODk1Qjg0YjkyRDk1NEEzM0I1QzhhM2Y1Y2JmZDU2IiwiMHg1QTcxOEU5NTVjRTREODU5ZmVhMTFjMTg4MTI5ZWY5MkY5MjQ3NzZkIiwiMHhDQUYxNzU3NDIzYUJFNjc2QUMwRTFkNDU3NzJDNzEzRDdEMkQxY2M5IiwiMHgzNDkwZkRFNzQxMDFkRDczMTU0NjE2ZkIzYmQxNzBDNjYyOGQzNWYxIiwiMHg4OTJGOEE5OTZiZkJDMzI3NjZkQjdjQUM5NzRCOTY4RmFFNUJiOTcxIiwiMHgyMUU3NjAxNzA1NDllMzU2NzczNjQzMTI2NUE4YTZlYjFFODdCMjk2IiwiMHhiQTM5NmE0OWIwMDhFOTlmNDdmQzg1NDk5ODlBNjQxZTRjZjFGMTU5IiwiMHg3OTYzYTc4Mw=="}},"time_used":477,"timings":{"blocked":88,"dns":0,"connect":0,"send":0,"wait":85,"receive":304,"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":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"opendns","sensor_type":"DNS","title":"OpenDNS","description":"OpenDNS","scan_date":"2026-07-27","alert":"Phishing Block","trigger":"meta-drop.top","verdict":"phishing","severity":"medium","comment":"","link":"https://www.opendns.com/","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"min-api.cryptocompare.com/data/pricemulti?fsyms=ETH,BNB,MATIC,AVAX,ARB,FTM,OP\u0026tsyms=USD","fqdn":"min-api.cryptocompare.com","domain":"cryptocompare.com","tld":"com"},"ip":{"addr":"104.18.30.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:08.833Z","timestamp":1785152588833,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"cryptocompare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 21 Jun 2026 21:09:40 GMT","end":"Sat, 19 Sep 2026 22:09:34 GMT"},"fingerprint":{"sha1":"BC:5D:BA:6B:85:5B:AB:6D:AC:FA:AE:08:60:30:D5:B7:00:DF:7A:6D","sha256":"7F:4B:1F:9D:6C:9D:C6:6E:72:31:02:D1:AA:6A:28:51:EB:2B:06:FC:E9:0E:A3:03:26:25:FB:13:6A:CB:51:4D"}}},"request":{"raw":"GET /data/pricemulti?fsyms=ETH,BNB,MATIC,AVAX,ARB,FTM,OP\u0026tsyms=USD HTTP/1.1\r\nHost: min-api.cryptocompare.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\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://meta-drop.top/\r\nOrigin: https://meta-drop.top\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 401 \r\ndate: Mon, 27 Jul 2026 11:43:08 GMT\r\ncontent-type: application/json\r\ncontent-length: 273\r\ncache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\nexpires: Thu, 01 Jan 1970 00:00:01 GMT\r\nreferrer-policy: same-origin\r\nx-frame-options: SAMEORIGIN\r\nserver: cloudflare\r\ncf-ray: a21b6280dce7a0f0-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"401","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":273,"size_decoded":646,"mime_type":"application/json","magic":"JSON text data","md5":"817fe0f750fa91ac954b06a6e179f676","sha1":"651023a67e8786f8c7a63d323d81512687d851f1","sha256":"e54a34359ebeb4245031b742ee300e3fdd72ccf608d481d57caca1fc16147f17","sha512":"b6f4a24f4e9fd1ad99775fcfddc5311c09b8a77a3fc53798f1918b49fe87efcf1063aca6f4c9b63bb0d60d87d11bb5d0ff6223049f30b58d8013b642f33b6109","ssdeep":"","tlshash":"87d012f75585191b2b3743567068a8ace8d3888d99416447957d4364a28cd39128f21a","first_seen":"2026-06-09T22:35:40.080024Z","last_seen":"2026-08-10T23:28:47.469036Z","times_seen":102,"resource_available":false,"data":"eyJEYXRhIjp7fSwiRXJyIjp7InR5cGUiOjIsIm1lc3NhZ2UiOiJBUEkga2V5IHJlcXVpcmVkLCBwbGVhc2UgcmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9kZXZlbG9wZXJzLmNvaW5kZXNrLmNvbS8iLCJodHRwX3N0YXR1c19jb2RlIjo0MDEsImZyb250ZW5kIjp7InR5cGUiOjIsIm1lc3NhZ2UiOiJBUEkga2V5IHJlcXVpcmVkLCBwbGVhc2UgcmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9kZXZlbG9wZXJzLmNvaW5kZXNrLmNvbS8ifX19"}},"time_used":186,"timings":{"blocked":-1,"dns":87,"connect":85,"send":0,"wait":3,"receive":0,"ssl":10},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"insert_server_domain_here/","fqdn":"insert_server_domain_here","domain":"insert_server_domain_here","tld":""},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:08.838Z","timestamp":1785152588838,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"POST / HTTP/1.1\r\nHost: insert_server_domain_here\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/plain\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://meta-drop.top/\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 417\r\nOrigin: https://meta-drop.top\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":"POST"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T05:57:28.976551Z","times_seen":17831158,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/favicon.ico","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:08.972Z","timestamp":1785152588972,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"meta-drop.top","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 19 Jul 2026 23:27:50 GMT","end":"Sat, 17 Oct 2026 23:27:49 GMT"},"fingerprint":{"sha1":"67:D4:87:A1:51:D4:1D:BB:BB:77:02:2B:B6:56:97:52:78:DA:92:C1","sha256":"67:DA:68:05:20:35:91:18:5A:EF:52:AD:9A:51:70:A4:D4:60:E6:DA:FE:67:E3:E1:6C:3F:13:4D:D1:7C:6D:E4"}}},"request":{"raw":"GET /favicon.ico HTTP/1.1\r\nHost: meta-drop.top\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://meta-drop.top/\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/1.1 403 Forbidden\r\nServer: nginx/1.24.0 (Ubuntu)\r\nDate: Mon, 27 Jul 2026 11:43:09 GMT\r\nContent-Type: text/html; charset=utf-8\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nX-Powered-By: Express\r\nAccess-Control-Allow-Origin: *\r\nETag: W/\"22-wufpS/v+4zI9PbQmfba1YO3v1ME\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"403","status_text":"Forbidden","fingerprints":[{"name":"Ubuntu","description":"Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.","website":"https://www.ubuntu.com/server","common_platform_enumeration":"cpe:2.3:o:canonical:ubuntu_linux:*:*:*:*:*:*:*:*","icon":"Ubuntu.svg","categories":["Operating systems"]},{"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":"Nginx:1.24.0","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"]}],"data":{"size":34,"size_decoded":367,"mime_type":"text/html; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"a57613309be8c624120eb9b1d084db53","sha1":"c2e7e94bfbfee3323d3db4267db6b560edefd4c1","sha256":"1eb7132c66ac866aa2675c64a3219a947ad5c4b6b5cd8e56f6c9141efc6fc649","sha512":"77c40d7d53f167bc6cb78d0a2ed7b7ce7174359d8c6c3676ae26e0ee7359a81b8f31247b7d3a0170e1ade0801ad33091523d6fca2154744c8d444a8e2ce6e228","ssdeep":"","tlshash":"7d80003ac2282a0030a8a222abcb030003a00c08030a20ea323a808800b0f00c0a83a8","first_seen":"2024-02-18T18:22:50Z","last_seen":"2026-08-08T19:11:34.640187Z","times_seen":39,"resource_available":false,"data":"R29vZCwgbG9va3MgbGlrZSBldmVyeXRoaW5nIHdvcmtzIQ=="}},"time_used":25,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":25,"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":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"opendns","sensor_type":"DNS","title":"OpenDNS","description":"OpenDNS","scan_date":"2026-07-27","alert":"Phishing Block","trigger":"meta-drop.top","verdict":"phishing","severity":"medium","comment":"","link":"https://www.opendns.com/","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-module.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:07.859Z","timestamp":1785152587859,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"meta-drop.top","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 19 Jul 2026 23:27:50 GMT","end":"Sat, 17 Oct 2026 23:27:49 GMT"},"fingerprint":{"sha1":"67:D4:87:A1:51:D4:1D:BB:BB:77:02:2B:B6:56:97:52:78:DA:92:C1","sha256":"67:DA:68:05:20:35:91:18:5A:EF:52:AD:9A:51:70:A4:D4:60:E6:DA:FE:67:E3:E1:6C:3F:13:4D:D1:7C:6D:E4"}}},"request":{"raw":"GET /assets/web3-provider/web3-module.js HTTP/1.1\r\nHost: meta-drop.top\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://meta-drop.top/\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/1.1 200 OK\r\nServer: nginx/1.24.0 (Ubuntu)\r\nDate: Mon, 27 Jul 2026 11:43:07 GMT\r\nContent-Type: application/javascript; charset=UTF-8\r\nContent-Length: 1181323\r\nConnection: keep-alive\r\nX-Powered-By: Express\r\nAccess-Control-Allow-Origin: *\r\nAccept-Ranges: bytes\r\nCache-Control: public, max-age=0\r\nLast-Modified: Fri, 10 Jan 2025 13:06:25 GMT\r\nETag: W/\"12068b-1945052b468\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.24.0","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":"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":"Ubuntu","description":"Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.","website":"https://www.ubuntu.com/server","common_platform_enumeration":"cpe:2.3:o:canonical:ubuntu_linux:*:*:*:*:*:*:*:*","icon":"Ubuntu.svg","categories":["Operating systems"]}],"data":{"size":1181323,"size_decoded":1181699,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (65469), with CRLF line terminators","md5":"fdb972d39af555620a8b6a4bc9c77756","sha1":"c7b28e6f71c0c2888cf400ad380849d028caf7ea","sha256":"f9efb2b2619efa4e6864977644f8a3da8bfab3d5d7b2432c5517b2309076eca4","sha512":"de79599f7d8c8caaef30c5ccbadc8647711d5332a723d49df3618073323a8245bf436f165e588584ee91e7b5332457d26d628c7e23c7a2e83e30d3e77f8e37b9","ssdeep":"6144:srR7xwaDNbrkU6twbWCNvmsMMi3kXScvbKKLNehw8K0ZpV0aX0/g3Evi2Iyj+R:s97xwkk/CWamsM1U1bKC0/Vuy","tlshash":"7225e9d47291b065c2a25ed5402fd00ae33dfd687c4c5169bb17ecf72ca8a89512bf3a","first_seen":"2025-08-09T16:19:25.275935Z","last_seen":"2026-08-03T12:41:36.360791Z","times_seen":65,"resource_available":false,"data":"LyohIEZvciBsaWNlbnNlIGluZm9ybWF0aW9uIHBsZWFzZSBzZWUgd2ViMy5taW4uanMuTElDRU5TRS50eHQgKi8NCiFmdW5jdGlvbihlLHQpeyJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmIm9iamVjdCI9PXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9dCgpOiJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFtdLHQpOiJvYmplY3QiPT10eXBlb2YgZXhwb3J0cz9leHBvcnRzLldlYjM9dCgpOmUuV2ViMz10KCl9KHNlbGYsKCgpPT4oKCk9Pnt2YXIgZT17MTY0NTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuY2hhaW5zPXQuX2dldEluaXRpYWxpemVkQ2hhaW5zPXZvaWQgMDt2YXIgaT1uKHIoNzI5NSkpLG89bihyKDEyMjcpKSxhPW4ocig0MzkpKSxzPW4ocig3MDk4KSksdT1uKHIoNzY4NykpO2Z1bmN0aW9uIGMoZSl7dmFyIHQscixuPXsxOiJtYWlubmV0IiwzOiJyb3BzdGVuIiw0OiJyaW5rZWJ5Iiw0Mjoia292YW4iLDU6ImdvZXJsaSJ9LGM9e21haW5uZXQ6aS5kZWZhdWx0LHJvcHN0ZW46by5kZWZhdWx0LHJpbmtlYnk6YS5kZWZhdWx0LGtvdmFuOnMuZGVmYXVsdCxnb2VybGk6dS5kZWZhdWx0fTtpZihlKXRyeXtmb3IodmFyIGY9ZnVuY3Rpb24oZSl7dmFyIHQ9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yLHI9dCYmZVt0XSxuPTA7aWYocilyZXR1cm4gci5jYWxsKGUpO2lmKGUmJiJudW1iZXIiPT10eXBlb2YgZS5sZW5ndGgpcmV0dXJue25leHQ6ZnVuY3Rpb24oKXtyZXR1cm4gZSYmbj49ZS5sZW5ndGgmJihlPXZvaWQgMCkse3ZhbHVlOmUmJmVbbisrXSxkb25lOiFlfX19O3Rocm93IG5ldyBUeXBlRXJyb3IodD8iT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS4iOiJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIil9KGUpLGQ9Zi5uZXh0KCk7IWQuZG9uZTtkPWYubmV4dCgpKXt2YXIgbD1kLnZhbHVlLGg9bC5uYW1lO25bbC5jaGFpbklkLnRvU3RyaW5nKCldPWgsY1toXT1sfX1jYXRjaChlKXt0PXtlcnJvcjplfX1maW5hbGx5e3RyeXtkJiYhZC5kb25lJiYocj1mLnJldHVybikmJnIuY2FsbChmKX1maW5hbGx5e2lmKHQpdGhyb3cgdC5lcnJvcn19cmV0dXJuIGMubmFtZXM9bixjfXQuX2dldEluaXRpYWxpemVkQ2hhaW5zPWMsdC5jaGFpbnM9YygpfSw0MjU6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5FSVBzPXZvaWQgMCx0LkVJUHM9ezE1NTk6cig3NTIzKSwyMzE1OnIoMzMzOSksMjUzNzpyKDY3NjkpLDI1NjU6cig3ODk3KSwyNzE4OnIoMjE3MCksMjkyOTpyKDg0MzYpLDI5MzA6cig2MjEzKSwzMTk4OnIoNTQ5MSksMzUyOTpyKDc4NTIpLDM1NDE6cigxODcxKSwzNTU0OnIoNzIyNSksMzY3NTpyKDg1NzEpfX0sNzAwMjooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmhhcmRmb3Jrcz12b2lkIDAsdC5oYXJkZm9ya3M9W1siY2hhaW5zdGFydCIscigxMTQpXSxbImhvbWVzdGVhZCIscigyODAwKV0sWyJkYW8iLHIoNzE5NyldLFsidGFuZ2VyaW5lV2hpc3RsZSIscigyMzAyKV0sWyJzcHVyaW91c0RyYWdvbiIscig3MTYpXSxbImJ5emFudGl1bSIscig2OTg1KV0sWyJjb25zdGFudGlub3BsZSIscig1OTkzKV0sWyJwZXRlcnNidXJnIixyKDQwNjQpXSxbImlzdGFuYnVsIixyKDMxNjYpXSxbIm11aXJHbGFjaWVyIixyKDI5NDYpXSxbImJlcmxpbiIscigxNSldLFsibG9uZG9uIixyKDEyNTApXSxbInNoYW5naGFpIixyKDU1NTMpXSxbIm1lcmdlIixyKDg2NDgpXV19LDM4NjM6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbixpPXIoOTAzMykuQnVmZmVyLG89cig4ODQ3KShyKDMzNTUpKSxhPShuPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG49T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihlW3JdPXRbcl0pfSxuKGUsdCl9LGZ1bmN0aW9uKGUsdCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQmJm51bGwhPT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcodCkrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9ZX1uKGUsdCksZS5wcm90b3R5cGU9bnVsbD09PXQ/T2JqZWN0LmNyZWF0ZSh0KTooci5wcm90b3R5cGU9dC5wcm90b3R5cGUsbmV3IHIpfSkscz1mdW5jdGlvbigpe3JldHVybiBzPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxyPTEsbj1hcmd1bWVudHMubGVuZ3RoO3I8bjtyKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW3JdKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGkpJiYoZVtpXT10W2ldKTtyZXR1cm4gZX0scy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHU9ZnVuY3Rpb24oZSl7dmFyIHQ9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yLHI9dCYmZVt0XSxuPTA7aWYocilyZXR1cm4gci5jYWxsKGUpO2lmKGUmJiJudW1iZXIiPT10eXBlb2YgZS5sZW5ndGgpcmV0dXJue25leHQ6ZnVuY3Rpb24oKXtyZXR1cm4gZSYmbj49ZS5sZW5ndGgmJihlPXZvaWQgMCkse3ZhbHVlOmUmJmVbbisrXSxkb25lOiFlfX19O3Rocm93IG5ldyBUeXBlRXJyb3IodD8iT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS4iOiJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LkNvbnNlbnN1c0FsZ29yaXRobT10LkNvbnNlbnN1c1R5cGU9dC5IYXJkZm9yaz10LkNoYWluPXQuQ3VzdG9tQ2hhaW49dm9pZCAwO3ZhciBjLGYsZCxsLGgscD1yKDgyOTEpLGI9cig0NjI4KSx5PXIoMzA2MiksbT1yKDE2NDUpLHY9cig3MDAyKSxnPXIoNDI1KTshZnVuY3Rpb24oZSl7ZS5Qb2x5Z29uTWFpbm5ldD0icG9seWdvbi1tYWlubmV0IixlLlBvbHlnb25NdW1iYWk9InBvbHlnb24tbXVtYmFpIixlLkFyYml0cnVtUmlua2VieVRlc3RuZXQ9ImFyYml0cnVtLXJpbmtlYnktdGVzdG5ldCIsZS54RGFpQ2hhaW49IngtZGFpLWNoYWluIn0oYz10LkN1c3RvbUNoYWlufHwodC5DdXN0b21DaGFpbj17fSkpLChoPXQuQ2hhaW58fCh0LkNoYWluPXt9KSlbaC5NYWlubmV0PTFdPSJNYWlubmV0IixoW2guUm9wc3Rlbj0zXT0iUm9wc3RlbiIsaFtoLlJpbmtlYnk9NF09IlJpbmtlYnkiLGhbaC5Lb3Zhbj00Ml09IktvdmFuIixoW2guR29lcmxpPTVdPSJHb2VybGkiLGZ1bmN0aW9uKGUpe2UuQ2hhaW5zdGFydD0iY2hhaW5zdGFydCIsZS5Ib21lc3RlYWQ9ImhvbWVzdGVhZCIsZS5EYW89ImRhbyIsZS5UYW5nZXJpbmVXaGlzdGxlPSJ0YW5nZXJpbmVXaGlzdGxlIixlLlNwdXJpb3VzRHJhZ29uPSJzcHVyaW91c0RyYWdvbiIsZS5CeXphbnRpdW09ImJ5emFudGl1bSIsZS5Db25zdGFudGlub3BsZT0iY29uc3RhbnRpbm9wbGUiLGUuUGV0ZXJzYnVyZz0icGV0ZXJzYnVyZyIsZS5Jc3RhbmJ1bD0iaXN0YW5idWwiLGUuTXVpckdsYWNpZXI9Im11aXJHbGFjaWVyIixlLkJlcmxpbj0iYmVybGluIixlLkxvbmRvbj0ibG9uZG9uIixlLlNoYW5naGFpPSJzaGFuZ2hhaSIsZS5NZXJnZT0ibWVyZ2UifShmPXQuSGFyZGZvcmt8fCh0LkhhcmRmb3JrPXt9KSksKGw9dC5Db25zZW5zdXNUeXBlfHwodC5Db25zZW5zdXNUeXBlPXt9KSkuUHJvb2ZPZlN0YWtlPSJwb3MiLGwuUHJvb2ZPZldvcms9InBvdyIsbC5Qcm9vZk9mQXV0aG9yaXR5PSJwb2EiLChkPXQuQ29uc2Vuc3VzQWxnb3JpdGhtfHwodC5Db25zZW5zdXNBbGdvcml0aG09e30pKS5FdGhhc2g9ImV0aGFzaCIsZC5DbGlxdWU9ImNsaXF1ZSIsZC5DYXNwZXI9ImNhc3BlciI7dmFyIHc9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCh0KXt2YXIgcixuLGksbyxhPWUuY2FsbCh0aGlzKXx8dGhpczthLl9zdXBwb3J0ZWRIYXJkZm9ya3M9W10sYS5fZWlwcz1bXSxhLl9jdXN0b21DaGFpbnM9bnVsbCE9PShpPXQuY3VzdG9tQ2hhaW5zKSYmdm9pZCAwIT09aT9pOltdLGEuX2NoYWluUGFyYW1zPWEuc2V0Q2hhaW4odC5jaGFpbiksYS5ERUZBVUxUX0hBUkRGT1JLPW51bGwhPT0obz1hLl9jaGFpblBhcmFtcy5kZWZhdWx0SGFyZGZvcmspJiZ2b2lkIDAhPT1vP286Zi5Jc3RhbmJ1bDt0cnl7Zm9yKHZhciBzPXUoYS5fY2hhaW5QYXJhbXMuaGFyZGZvcmtzKSxjPXMubmV4dCgpOyFjLmRvbmU7Yz1zLm5leHQoKSl7dmFyIGQ9Yy52YWx1ZTtkLmZvcmtIYXNofHwoZC5mb3JrSGFzaD1hLl9jYWxjRm9ya0hhc2goZC5uYW1lKSl9fWNhdGNoKGUpe3I9e2Vycm9yOmV9fWZpbmFsbHl7dHJ5e2MmJiFjLmRvbmUmJihuPXMucmV0dXJuKSYmbi5jYWxsKHMpfWZpbmFsbHl7aWYocil0aHJvdyByLmVycm9yfX1yZXR1cm4gYS5faGFyZGZvcms9YS5ERUZBVUxUX0hBUkRGT1JLLHQuc3VwcG9ydGVkSGFyZGZvcmtzJiYoYS5fc3VwcG9ydGVkSGFyZGZvcmtzPXQuc3VwcG9ydGVkSGFyZGZvcmtzKSx0LmhhcmRmb3JrJiZhLnNldEhhcmRmb3JrKHQuaGFyZGZvcmspLHQuZWlwcyYmYS5zZXRFSVBzKHQuZWlwcyksYX1yZXR1cm4gYSh0LGUpLHQuY3VzdG9tPWZ1bmN0aW9uKGUscil7dmFyIG47dm9pZCAwPT09ciYmKHI9e30pO3ZhciBpPW51bGwhPT0obj1yLmJhc2VDaGFpbikmJnZvaWQgMCE9PW4/bjoibWFpbm5ldCIsbz1zKHt9LHQuX2dldENoYWluUGFyYW1zKGkpKTtpZihvLm5hbWU9ImN1c3RvbS1jaGFpbiIsInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiBuZXcgdChzKHtjaGFpbjpzKHMoe30sbyksZSl9LHIpKTtpZihlPT09Yy5Qb2x5Z29uTWFpbm5ldClyZXR1cm4gdC5jdXN0b20oe25hbWU6Yy5Qb2x5Z29uTWFpbm5ldCxjaGFpbklkOjEzNyxuZXR3b3JrSWQ6MTM3fSk7aWYoZT09PWMuUG9seWdvbk11bWJhaSlyZXR1cm4gdC5jdXN0b20oe25hbWU6Yy5Qb2x5Z29uTXVtYmFpLGNoYWluSWQ6ODAwMDEsbmV0d29ya0lkOjgwMDAxfSk7aWYoZT09PWMuQXJiaXRydW1SaW5rZWJ5VGVzdG5ldClyZXR1cm4gdC5jdXN0b20oe25hbWU6Yy5BcmJpdHJ1bVJpbmtlYnlUZXN0bmV0LGNoYWluSWQ6NDIxNjExLG5ldHdvcmtJZDo0MjE2MTF9KTtpZihlPT09Yy54RGFpQ2hhaW4pcmV0dXJuIHQuY3VzdG9tKHtuYW1lOmMueERhaUNoYWluLGNoYWluSWQ6MTAwLG5ldHdvcmtJZDoxMDB9KTt0aHJvdyBuZXcgRXJyb3IoIkN1c3RvbSBjaGFpbiAiK2UrIiBub3Qgc3VwcG9ydGVkIil9LHQuZm9yQ3VzdG9tQ2hhaW49ZnVuY3Rpb24oZSxyLG4saSl7dmFyIG89dC5fZ2V0Q2hhaW5QYXJhbXMoZSk7cmV0dXJuIG5ldyB0KHtjaGFpbjpzKHMoe30sbyksciksaGFyZGZvcms6bixzdXBwb3J0ZWRIYXJkZm9ya3M6aX0pfSx0LmlzU3VwcG9ydGVkQ2hhaW5JZD1mdW5jdGlvbihlKXt2YXIgdD0oMCxtLl9nZXRJbml0aWFsaXplZENoYWlucykoKTtyZXR1cm4gQm9vbGVhbih0Lm5hbWVzW2UudG9TdHJpbmcoKV0pfSx0Ll9nZXRDaGFpblBhcmFtcz1mdW5jdGlvbihlLHQpe3ZhciByPSgwLG0uX2dldEluaXRpYWxpemVkQ2hhaW5zKSh0KTtpZigibnVtYmVyIj09dHlwZW9mIGV8fHkuQk4uaXNCTihlKSl7aWYoZT1lLnRvU3RyaW5nKCksci5uYW1lc1tlXSlyZXR1cm4gcltyLm5hbWVzW2VdXTt0aHJvdyBuZXcgRXJyb3IoIkNoYWluIHdpdGggSUQgIitlKyIgbm90IHN1cHBvcnRlZCIpfWlmKHJbZV0pcmV0dXJuIHJbZV07dGhyb3cgbmV3IEVycm9yKCJDaGFpbiB3aXRoIG5hbWUgIitlKyIgbm90IHN1cHBvcnRlZCIpfSx0LnByb3RvdHlwZS5zZXRDaGFpbj1mdW5jdGlvbihlKXt2YXIgcixuO2lmKCJudW1iZXIiPT10eXBlb2YgZXx8InN0cmluZyI9PXR5cGVvZiBlfHx5LkJOLmlzQk4oZSkpe3ZhciBpO2k9dGhpcy5fY3VzdG9tQ2hhaW5zJiZ0aGlzLl9jdXN0b21DaGFpbnMubGVuZ3RoPjAmJkFycmF5LmlzQXJyYXkodGhpcy5fY3VzdG9tQ2hhaW5zWzBdKT90aGlzLl9jdXN0b21DaGFpbnMubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZVswXX0pKTp0aGlzLl9jdXN0b21DaGFpbnMsdGhpcy5fY2hhaW5QYXJhbXM9dC5fZ2V0Q2hhaW5QYXJhbXMoZSxpKX1lbHNle2lmKCJvYmplY3QiIT09KDAsby5kZWZhdWx0KShlKSl0aHJvdyBuZXcgRXJyb3IoIldyb25nIGlucHV0IGZvcm1hdCIpO2lmKHRoaXMuX2N1c3RvbUNoYWlucy5sZW5ndGg+MCl0aHJvdyBuZXcgRXJyb3IoIkNoYWluIG11c3QgYmUgYSBzdHJpbmcsIG51bWJlciwgb3IgQk4gd2hlbiBpbml0aWFsaXplZCB3aXRoIGN1c3RvbUNoYWlucyBwYXNzZWQgaW4iKTt0cnl7Zm9yKHZhciBhPXUoWyJuZXR3b3JrSWQiLCJnZW5lc2lzIiwiaGFyZGZvcmtzIiwiYm9vdHN0cmFwTm9kZXMiXSkscz1hLm5leHQoKTshcy5kb25lO3M9YS5uZXh0KCkpe3ZhciBjPXMudmFsdWU7aWYodm9pZCAwPT09ZVtjXSl0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgcmVxdWlyZWQgY2hhaW4gcGFyYW1ldGVyOiAiK2MpfX1jYXRjaChlKXtyPXtlcnJvcjplfX1maW5hbGx5e3RyeXtzJiYhcy5kb25lJiYobj1hLnJldHVybikmJm4uY2FsbChhKX1maW5hbGx5e2lmKHIpdGhyb3cgci5lcnJvcn19dGhpcy5fY2hhaW5QYXJhbXM9ZX1yZXR1cm4gdGhpcy5fY2hhaW5QYXJhbXN9LHQucHJvdG90eXBlLnNldEhhcmRmb3JrPWZ1bmN0aW9uKGUpe3ZhciB0LHI7aWYoIXRoaXMuX2lzU3VwcG9ydGVkSGFyZGZvcmsoZSkpdGhyb3cgbmV3IEVycm9yKCJIYXJkZm9yayAiK2UrIiBub3Qgc2V0IGFzIHN1cHBvcnRlZCBpbiBzdXBwb3J0ZWRIYXJkZm9ya3MiKTt2YXIgbj0hMTt0cnl7Zm9yKHZhciBpPXUodi5oYXJkZm9ya3MpLG89aS5uZXh0KCk7IW8uZG9uZTtvPWkubmV4dCgpKW8udmFsdWVbMF09PT1lJiYodGhpcy5faGFyZGZvcmshPT1lJiYodGhpcy5faGFyZGZvcms9ZSx0aGlzLmVtaXQoImhhcmRmb3JrQ2hhbmdlZCIsZSkpLG49ITApfWNhdGNoKGUpe3Q9e2Vycm9yOmV9fWZpbmFsbHl7dHJ5e28mJiFvLmRvbmUmJihyPWkucmV0dXJuKSYmci5jYWxsKGkpfWZpbmFsbHl7aWYodCl0aHJvdyB0LmVycm9yfX1pZighbil0aHJvdyBuZXcgRXJyb3IoIkhhcmRmb3JrIHdpdGggbmFtZSAiK2UrIiBub3Qgc3VwcG9ydGVkIil9LHQucHJvdG90eXBlLmdldEhhcmRmb3JrQnlCbG9ja051bWJlcj1mdW5jdGlvbihlLHQpe3ZhciByLG47ZT0oMCx5LnRvVHlwZSkoZSx5LlR5cGVPdXRwdXQuQk4pLHQ9dD8oMCx5LnRvVHlwZSkodCx5LlR5cGVPdXRwdXQuQk4pOnZvaWQgMDt2YXIgaSxvLGEscz1mLkNoYWluc3RhcnQ7dHJ5e2Zvcih2YXIgYz11KHRoaXMuaGFyZGZvcmtzKCkpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgbD1kLnZhbHVlO2lmKG51bGwhPT1sLmJsb2NrKWUuZ3RlKG5ldyB5LkJOKGwuYmxvY2spKSYmKHM9bC5uYW1lKSx0JiZsLnRkJiYodC5ndGVuKGwudGQpP2k9bC5uYW1lOm89YSksYT1sLm5hbWU7ZWxzZSBpZih0JiZsLnRkJiZ0Lmd0ZW4obC50ZCkpcmV0dXJuIGwubmFtZX19Y2F0Y2goZSl7cj17ZXJyb3I6ZX19ZmluYWxseXt0cnl7ZCYmIWQuZG9uZSYmKG49Yy5yZXR1cm4pJiZuLmNhbGwoYyl9ZmluYWxseXtpZihyKXRocm93IHIuZXJyb3J9fWlmKHQpe3ZhciBoPSJibG9jayBudW1iZXI6ICIrZSsiICgtPiAiK3MrIiksICI7aWYoaSYmIXRoaXMuaGFyZGZvcmtHdGVIYXJkZm9yayhzLGkpKXt2YXIgcD0iSEYgZGV0ZXJtaW5lZCBieSBibG9jayBudW1iZXIgaXMgbG93ZXIgdGhhbiB0aGUgbWluaW11bSB0b3RhbCBkaWZmaWN1bHR5IEhGIjt0aHJvdyBoKz0idG90YWwgZGlmZmljdWx0eTogIit0KyIgKC0+ICIraSsiKSIsbmV3IEVycm9yKHArIjogIitoKX1pZihvJiYhdGhpcy5oYXJkZm9ya0d0ZUhhcmRmb3JrKG8scykpdGhyb3cgcD0iTWF4aW11bSBIRiBkZXRlcm1pbmVkIGJ5IHRvdGFsIGRpZmZpY3VsdHkgaXMgbG93ZXIgdGhhbiB0aGUgYmxvY2sgbnVtYmVyIEhGIixoKz0idG90YWwgZGlmZmljdWx0eTogIit0KyIgKC0+ICIrbysiKSIsbmV3IEVycm9yKHArIjogIitoKX1yZXR1cm4gc30sdC5wcm90b3R5cGUuc2V0SGFyZGZvcmtCeUJsb2NrTnVtYmVyPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcy5nZXRIYXJkZm9ya0J5QmxvY2tOdW1iZXIoZSx0KTtyZXR1cm4gdGhpcy5zZXRIYXJkZm9yayhyKSxyfSx0LnByb3RvdHlwZS5fY2hvb3NlSGFyZGZvcms9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDA9PT10JiYodD0hMCksZSl7aWYodCYmIXRoaXMuX2lzU3VwcG9ydGVkSGFyZGZvcmsoZSkpdGhyb3cgbmV3IEVycm9yKCJIYXJkZm9yayAiK2UrIiBub3Qgc2V0IGFzIHN1cHBvcnRlZCBpbiBzdXBwb3J0ZWRIYXJkZm9ya3MiKX1lbHNlIGU9dGhpcy5faGFyZGZvcms7cmV0dXJuIGV9LHQucHJvdG90eXBlLl9nZXRIYXJkZm9yaz1mdW5jdGlvbihlKXt2YXIgdCxyLG49dGhpcy5oYXJkZm9ya3MoKTt0cnl7Zm9yKHZhciBpPXUobiksbz1pLm5leHQoKTshby5kb25lO289aS5uZXh0KCkpe3ZhciBhPW8udmFsdWU7aWYoYS5uYW1lPT09ZSlyZXR1cm4gYX19Y2F0Y2goZSl7dD17ZXJyb3I6ZX19ZmluYWxseXt0cnl7byYmIW8uZG9uZSYmKHI9aS5yZXR1cm4pJiZyLmNhbGwoaSl9ZmluYWxseXtpZih0KXRocm93IHQuZXJyb3J9fXRocm93IG5ldyBFcnJvcigiSGFyZGZvcmsgIitlKyIgbm90IGRlZmluZWQgZm9yIGNoYWluICIrdGhpcy5jaGFpbk5hbWUoKSl9LHQucHJvdG90eXBlLl9pc1N1cHBvcnRlZEhhcmRmb3JrPWZ1bmN0aW9uKGUpe3ZhciB0LHI7aWYoISh0aGlzLl9zdXBwb3J0ZWRIYXJkZm9ya3MubGVuZ3RoPjApKXJldHVybiEwO3RyeXtmb3IodmFyIG49dSh0aGlzLl9zdXBwb3J0ZWRIYXJkZm9ya3MpLGk9bi5uZXh0KCk7IWkuZG9uZTtpPW4ubmV4dCgpKWlmKGU9PT1pLnZhbHVlKXJldHVybiEwfWNhdGNoKGUpe3Q9e2Vycm9yOmV9fWZpbmFsbHl7dHJ5e2kmJiFpLmRvbmUmJihyPW4ucmV0dXJuKSYmci5jYWxsKG4pfWZpbmFsbHl7aWYodCl0aHJvdyB0LmVycm9yfX1yZXR1cm4hMX0sdC5wcm90b3R5cGUuc2V0RUlQcz1mdW5jdGlvbihlKXt2YXIgdCxyLG49dGhpczt2b2lkIDA9PT1lJiYoZT1bXSk7dmFyIGk9ZnVuY3Rpb24odCl7aWYoISh0IGluIGcuRUlQcykpdGhyb3cgbmV3IEVycm9yKHQrIiBub3Qgc3VwcG9ydGVkIik7dmFyIHI9by5ndGVIYXJkZm9yayhnLkVJUHNbdF0ubWluaW11bUhhcmRmb3JrKTtpZighcil0aHJvdyBuZXcgRXJyb3IodCsiIGNhbm5vdCBiZSBhY3RpdmF0ZWQgb24gaGFyZGZvcmsgIitvLmhhcmRmb3JrKCkrIiwgbWluaW11bUhhcmRmb3JrOiAiK3IpO2cuRUlQc1t0XS5yZXF1aXJlZEVJUHMmJmcuRUlQc1t0XS5yZXF1aXJlZEVJUHMuZm9yRWFjaCgoZnVuY3Rpb24ocil7aWYoIWUuaW5jbHVkZXMocikmJiFuLmlzQWN0aXZhdGVkRUlQKHIpKXRocm93IG5ldyBFcnJvcih0KyIgcmVxdWlyZXMgRUlQICIrcisiLCBidXQgaXMgbm90IGluY2x1ZGVkIGluIHRoZSBFSVAgbGlzdCIpfSkpfSxvPXRoaXM7dHJ5e2Zvcih2YXIgYT11KGUpLHM9YS5uZXh0KCk7IXMuZG9uZTtzPWEubmV4dCgpKWkocy52YWx1ZSl9Y2F0Y2goZSl7dD17ZXJyb3I6ZX19ZmluYWxseXt0cnl7cyYmIXMuZG9uZSYmKHI9YS5yZXR1cm4pJiZyLmNhbGwoYSl9ZmluYWxseXtpZih0KXRocm93IHQuZXJyb3J9fXRoaXMuX2VpcHM9ZX0sdC5wcm90b3R5cGUucGFyYW09ZnVuY3Rpb24oZSx0KXt2YXIgcixuLGk9bnVsbDt0cnl7Zm9yKHZhciBvPXUodGhpcy5fZWlwcyksYT1vLm5leHQoKTshYS5kb25lO2E9by5uZXh0KCkpe3ZhciBzPWEudmFsdWU7aWYobnVsbCE9PShpPXRoaXMucGFyYW1CeUVJUChlLHQscykpKXJldHVybiBpfX1jYXRjaChlKXtyPXtlcnJvcjplfX1maW5hbGx5e3RyeXthJiYhYS5kb25lJiYobj1vLnJldHVybikmJm4uY2FsbChvKX1maW5hbGx5e2lmKHIpdGhyb3cgci5lcnJvcn19cmV0dXJuIHRoaXMucGFyYW1CeUhhcmRmb3JrKGUsdCx0aGlzLl9oYXJkZm9yayl9LHQucHJvdG90eXBlLnBhcmFtQnlIYXJkZm9yaz1mdW5jdGlvbihlLHQscil7dmFyIG4saSxvLGE7cj10aGlzLl9jaG9vc2VIYXJkZm9yayhyKTt2YXIgcz1udWxsO3RyeXtmb3IodmFyIGM9dSh2LmhhcmRmb3JrcyksZj1jLm5leHQoKTshZi5kb25lO2Y9Yy5uZXh0KCkpe3ZhciBkPWYudmFsdWU7aWYoImVpcHMiaW4gZFsxXSl7dmFyIGw9ZFsxXS5laXBzO3RyeXtmb3IodmFyIGg9KG89dm9pZCAwLHUobCkpLHA9aC5uZXh0KCk7IXAuZG9uZTtwPWgubmV4dCgpKXt2YXIgYj1wLnZhbHVlLHk9dGhpcy5wYXJhbUJ5RUlQKGUsdCxiKTtzPW51bGwhPT15P3k6c319Y2F0Y2goZSl7bz17ZXJyb3I6ZX19ZmluYWxseXt0cnl7cCYmIXAuZG9uZSYmKGE9aC5yZXR1cm4pJiZhLmNhbGwoaCl9ZmluYWxseXtpZihvKXRocm93IG8uZXJyb3J9fX1lbHNle2lmKCFkWzFdW2VdKXRocm93IG5ldyBFcnJvcigiVG9waWMgIitlKyIgbm90IGRlZmluZWQiKTt2b2lkIDAhPT1kWzFdW2VdW3RdJiYocz1kWzFdW2VdW3RdLnYpfWlmKGRbMF09PT1yKWJyZWFrfX1jYXRjaChlKXtuPXtlcnJvcjplfX1maW5hbGx5e3RyeXtmJiYhZi5kb25lJiYoaT1jLnJldHVybikmJmkuY2FsbChjKX1maW5hbGx5e2lmKG4pdGhyb3cgbi5lcnJvcn19cmV0dXJuIHN9LHQucHJvdG90eXBlLnBhcmFtQnlFSVA9ZnVuY3Rpb24oZSx0LHIpe2lmKCEociBpbiBnLkVJUHMpKXRocm93IG5ldyBFcnJvcihyKyIgbm90IHN1cHBvcnRlZCIpO3ZhciBuPWcuRUlQc1tyXTtpZighKGUgaW4gbikpdGhyb3cgbmV3IEVycm9yKCJUb3BpYyAiK2UrIiBub3QgZGVmaW5lZCIpO3JldHVybiB2b2lkIDA9PT1uW2VdW3RdP251bGw6bltlXVt0XS52fSx0LnByb3RvdHlwZS5wYXJhbUJ5QmxvY2s9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXRoaXMuYWN0aXZlSGFyZGZvcmtzKHIpLGk9bltuLmxlbmd0aC0xXS5uYW1lO3JldHVybiB0aGlzLnBhcmFtQnlIYXJkZm9yayhlLHQsaSl9LHQucHJvdG90eXBlLmlzQWN0aXZhdGVkRUlQPWZ1bmN0aW9uKGUpe3ZhciB0LHI7aWYodGhpcy5laXBzKCkuaW5jbHVkZXMoZSkpcmV0dXJuITA7dHJ5e2Zvcih2YXIgbj11KHYuaGFyZGZvcmtzKSxpPW4ubmV4dCgpOyFpLmRvbmU7aT1uLm5leHQoKSl7dmFyIG89aS52YWx1ZVsxXTtpZih0aGlzLmd0ZUhhcmRmb3JrKG8ubmFtZSkmJiJlaXBzImluIG8mJm8uZWlwcy5pbmNsdWRlcyhlKSlyZXR1cm4hMH19Y2F0Y2goZSl7dD17ZXJyb3I6ZX19ZmluYWxseXt0cnl7aSYmIWkuZG9uZSYmKHI9bi5yZXR1cm4pJiZyLmNhbGwobil9ZmluYWxseXtpZih0KXRocm93IHQuZXJyb3J9fXJldHVybiExfSx0LnByb3RvdHlwZS5oYXJkZm9ya0lzQWN0aXZlT25CbG9jaz1mdW5jdGlvbihlLHQscil7dmFyIG47dm9pZCAwPT09ciYmKHI9e30pLHQ9KDAseS50b1R5cGUpKHQseS5UeXBlT3V0cHV0LkJOKTt2YXIgaT1udWxsIT09KG49ci5vbmx5U3VwcG9ydGVkKSYmdm9pZCAwIT09biYmbjtlPXRoaXMuX2Nob29zZUhhcmRmb3JrKGUsaSk7dmFyIG89dGhpcy5oYXJkZm9ya0Jsb2NrQk4oZSk7cmV0dXJuISghb3x8IXQuZ3RlKG8pKX0sdC5wcm90b3R5cGUuYWN0aXZlT25CbG9jaz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmhhcmRmb3JrSXNBY3RpdmVPbkJsb2NrKG51bGwsZSx0KX0sdC5wcm90b3R5cGUuaGFyZGZvcmtHdGVIYXJkZm9yaz1mdW5jdGlvbihlLHQscil7dmFyIG4saTt2b2lkIDA9PT1yJiYocj17fSk7dmFyIG8sYT12b2lkIDAhPT1yLm9ubHlBY3RpdmUmJnIub25seUFjdGl2ZTtlPXRoaXMuX2Nob29zZUhhcmRmb3JrKGUsci5vbmx5U3VwcG9ydGVkKSxvPWE/dGhpcy5hY3RpdmVIYXJkZm9ya3MobnVsbCxyKTp0aGlzLmhhcmRmb3JrcygpO3ZhciBzPS0xLGM9LTEsZj0wO3RyeXtmb3IodmFyIGQ9dShvKSxsPWQubmV4dCgpOyFsLmRvbmU7bD1kLm5leHQoKSl7dmFyIGg9bC52YWx1ZTtoLm5hbWU9PT1lJiYocz1mKSxoLm5hbWU9PT10JiYoYz1mKSxmKz0xfX1jYXRjaChlKXtuPXtlcnJvcjplfX1maW5hbGx5e3RyeXtsJiYhbC5kb25lJiYoaT1kLnJldHVybikmJmkuY2FsbChkKX1maW5hbGx5e2lmKG4pdGhyb3cgbi5lcnJvcn19cmV0dXJuIHM+PWMmJi0xIT09Y30sdC5wcm90b3R5cGUuZ3RlSGFyZGZvcms9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5oYXJkZm9ya0d0ZUhhcmRmb3JrKG51bGwsZSx0KX0sdC5wcm90b3R5cGUuaGFyZGZvcmtJc0FjdGl2ZU9uQ2hhaW49ZnVuY3Rpb24oZSx0KXt2YXIgcixuLGk7dm9pZCAwPT09dCYmKHQ9e30pO3ZhciBvPW51bGwhPT0oaT10Lm9ubHlTdXBwb3J0ZWQpJiZ2b2lkIDAhPT1pJiZpO2U9dGhpcy5fY2hvb3NlSGFyZGZvcmsoZSxvKTt0cnl7Zm9yKHZhciBhPXUodGhpcy5oYXJkZm9ya3MoKSkscz1hLm5leHQoKTshcy5kb25lO3M9YS5uZXh0KCkpe3ZhciBjPXMudmFsdWU7aWYoYy5uYW1lPT09ZSYmbnVsbCE9PWMuYmxvY2spcmV0dXJuITB9fWNhdGNoKGUpe3I9e2Vycm9yOmV9fWZpbmFsbHl7dHJ5e3MmJiFzLmRvbmUmJihuPWEucmV0dXJuKSYmbi5jYWxsKGEpfWZpbmFsbHl7aWYocil0aHJvdyByLmVycm9yfX1yZXR1cm4hMX0sdC5wcm90b3R5cGUuYWN0aXZlSGFyZGZvcmtzPWZ1bmN0aW9uKGUsdCl7dmFyIHIsbjt2b2lkIDA9PT10JiYodD17fSk7dmFyIGk9W10sbz10aGlzLmhhcmRmb3JrcygpO3RyeXtmb3IodmFyIGE9dShvKSxzPWEubmV4dCgpOyFzLmRvbmU7cz1hLm5leHQoKSl7dmFyIGM9cy52YWx1ZTtpZihudWxsIT09Yy5ibG9jayl7aWYobnVsbCE9ZSYmZTxjLmJsb2NrKWJyZWFrO3Qub25seVN1cHBvcnRlZCYmIXRoaXMuX2lzU3VwcG9ydGVkSGFyZGZvcmsoYy5uYW1lKXx8aS5wdXNoKGMpfX19Y2F0Y2goZSl7cj17ZXJyb3I6ZX19ZmluYWxseXt0cnl7cyYmIXMuZG9uZSYmKG49YS5yZXR1cm4pJiZuLmNhbGwoYSl9ZmluYWxseXtpZihyKXRocm93IHIuZXJyb3J9fXJldHVybiBpfSx0LnByb3RvdHlwZS5hY3RpdmVIYXJkZm9yaz1mdW5jdGlvbihlLHQpe3ZvaWQgMD09PXQmJih0PXt9KTt2YXIgcj10aGlzLmFjdGl2ZUhhcmRmb3JrcyhlLHQpO2lmKHIubGVuZ3RoPjApcmV0dXJuIHJbci5sZW5ndGgtMV0ubmFtZTt0aHJvdyBuZXcgRXJyb3IoIk5vIChzdXBwb3J0ZWQpIGFjdGl2ZSBoYXJkZm9yayBmb3VuZCIpfSx0LnByb3RvdHlwZS5oYXJkZm9ya0Jsb2NrPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuaGFyZGZvcmtCbG9ja0JOKGUpO3JldHVybiB0PygwLHkudG9UeXBlKSh0LHkuVHlwZU91dHB1dC5OdW1iZXIpOm51bGx9LHQucHJvdG90eXBlLmhhcmRmb3JrQmxvY2tCTj1mdW5jdGlvbihlKXtlPXRoaXMuX2Nob29zZUhhcmRmb3JrKGUsITEpO3ZhciB0PXRoaXMuX2dldEhhcmRmb3JrKGUpLmJsb2NrO3JldHVybiBudWxsPT10P251bGw6bmV3IHkuQk4odCl9LHQucHJvdG90eXBlLmhhcmRmb3JrVEQ9ZnVuY3Rpb24oZSl7ZT10aGlzLl9jaG9vc2VIYXJkZm9yayhlLCExKTt2YXIgdD10aGlzLl9nZXRIYXJkZm9yayhlKS50ZDtyZXR1cm4gbnVsbD09dD9udWxsOm5ldyB5LkJOKHQpfSx0LnByb3RvdHlwZS5pc0hhcmRmb3JrQmxvY2s9ZnVuY3Rpb24oZSx0KXtlPSgwLHkudG9UeXBlKShlLHkuVHlwZU91dHB1dC5CTiksdD10aGlzLl9jaG9vc2VIYXJkZm9yayh0LCExKTt2YXIgcj10aGlzLmhhcmRmb3JrQmxvY2tCTih0KTtyZXR1cm4hIXImJnIuZXEoZSl9LHQucHJvdG90eXBlLm5leHRIYXJkZm9ya0Jsb2NrPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMubmV4dEhhcmRmb3JrQmxvY2tCTihlKTtyZXR1cm4gbnVsbD09PXQ/bnVsbDooMCx5LnRvVHlwZSkodCx5LlR5cGVPdXRwdXQuTnVtYmVyKX0sdC5wcm90b3R5cGUubmV4dEhhcmRmb3JrQmxvY2tCTj1mdW5jdGlvbihlKXtlPXRoaXMuX2Nob29zZUhhcmRmb3JrKGUsITEpO3ZhciB0PXRoaXMuaGFyZGZvcmtCbG9ja0JOKGUpO3JldHVybiBudWxsPT09dD9udWxsOnRoaXMuaGFyZGZvcmtzKCkucmVkdWNlKChmdW5jdGlvbihlLHIpe3ZhciBuPW5ldyB5LkJOKHIuYmxvY2spO3JldHVybiBuLmd0KHQpJiZudWxsPT09ZT9uOmV9KSxudWxsKX0sdC5wcm90b3R5cGUuaXNOZXh0SGFyZGZvcmtCbG9jaz1mdW5jdGlvbihlLHQpe2U9KDAseS50b1R5cGUpKGUseS5UeXBlT3V0cHV0LkJOKSx0PXRoaXMuX2Nob29zZUhhcmRmb3JrKHQsITEpO3ZhciByPXRoaXMubmV4dEhhcmRmb3JrQmxvY2tCTih0KTtyZXR1cm4gbnVsbCE9PXImJnIuZXEoZSl9LHQucHJvdG90eXBlLl9jYWxjRm9ya0hhc2g9ZnVuY3Rpb24oZSl7dmFyIHQscixuPWkuZnJvbSh0aGlzLmdlbmVzaXMoKS5oYXNoLnN1YnN0cigyKSwiaGV4Iiksbz1pLmFsbG9jKDApLGE9MDt0cnl7Zm9yKHZhciBzPXUodGhpcy5oYXJkZm9ya3MoKSksYz1zLm5leHQoKTshYy5kb25lO2M9cy5uZXh0KCkpe3ZhciBmPWMudmFsdWUsZD1mLmJsb2NrO2lmKDAhPT1kJiZudWxsIT09ZCYmZCE9PWEpe3ZhciBsPWkuZnJvbShkLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgxNiwiMCIpLCJoZXgiKTtvPWkuY29uY2F0KFtvLGxdKX1pZihmLm5hbWU9PT1lKWJyZWFrO251bGwhPT1kJiYoYT1kKX19Y2F0Y2goZSl7dD17ZXJyb3I6ZX19ZmluYWxseXt0cnl7YyYmIWMuZG9uZSYmKHI9cy5yZXR1cm4pJiZyLmNhbGwocyl9ZmluYWxseXtpZih0KXRocm93IHQuZXJyb3J9fXZhciBoPWkuY29uY2F0KFtuLG9dKTtyZXR1cm4iMHgiKygwLHkuaW50VG9CdWZmZXIpKCgwLGIuYnVmKShoKT4+PjApLnRvU3RyaW5nKCJoZXgiKX0sdC5wcm90b3R5cGUuZm9ya0hhc2g9ZnVuY3Rpb24oZSl7ZT10aGlzLl9jaG9vc2VIYXJkZm9yayhlLCExKTt2YXIgdD10aGlzLl9nZXRIYXJkZm9yayhlKTtpZihudWxsPT09dC5ibG9jayl0aHJvdyBuZXcgRXJyb3IoIk5vIGZvcmsgaGFzaCBjYWxjdWxhdGlvbiBwb3NzaWJsZSBmb3Igbm9uLWFwcGxpZWQgb3IgZnV0dXJlIGhhcmRmb3JrIik7cmV0dXJuIHZvaWQgMCE9PXQuZm9ya0hhc2g/dC5mb3JrSGFzaDp0aGlzLl9jYWxjRm9ya0hhc2goZSl9LHQucHJvdG90eXBlLmhhcmRmb3JrRm9yRm9ya0hhc2g9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5oYXJkZm9ya3MoKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmZvcmtIYXNoPT09ZX0pKTtyZXR1cm4gdC5sZW5ndGg+PTE/dFt0Lmxlbmd0aC0xXTpudWxsfSx0LnByb3RvdHlwZS5nZW5lc2lzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NoYWluUGFyYW1zLmdlbmVzaXN9LHQucHJvdG90eXBlLmdlbmVzaXNTdGF0ZT1mdW5jdGlvbigpe3ZhciBlLHQ7c3dpdGNoKHRoaXMuY2hhaW5OYW1lKCkpe2Nhc2UibWFpbm5ldCI6cmV0dXJuIHIoT2JqZWN0KGZ1bmN0aW9uKCl7dmFyIGU9bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJy4vZ2VuZXNpc1N0YXRlcy9tYWlubmV0Lmpzb24nIik7dGhyb3cgZS5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixlfSgpKSk7Y2FzZSJyb3BzdGVuIjpyZXR1cm4gcihPYmplY3QoZnVuY3Rpb24oKXt2YXIgZT1uZXcgRXJyb3IoIkNhbm5vdCBmaW5kIG1vZHVsZSAnLi9nZW5lc2lzU3RhdGVzL3JvcHN0ZW4uanNvbiciKTt0aHJvdyBlLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGV9KCkpKTtjYXNlInJpbmtlYnkiOnJldHVybiByKE9iamVjdChmdW5jdGlvbigpe3ZhciBlPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICcuL2dlbmVzaXNTdGF0ZXMvcmlua2VieS5qc29uJyIpO3Rocm93IGUuY29kZT0iTU9EVUxFX05PVF9GT1VORCIsZX0oKSkpO2Nhc2Uia292YW4iOnJldHVybiByKE9iamVjdChmdW5jdGlvbigpe3ZhciBlPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICcuL2dlbmVzaXNTdGF0ZXMva292YW4uanNvbiciKTt0aHJvdyBlLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGV9KCkpKTtjYXNlImdvZXJsaSI6cmV0dXJuIHIoT2JqZWN0KGZ1bmN0aW9uKCl7dmFyIGU9bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJy4vZ2VuZXNpc1N0YXRlcy9nb2VybGkuanNvbiciKTt0aHJvdyBlLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGV9KCkpKX1pZih0aGlzLl9jdXN0b21DaGFpbnMmJnRoaXMuX2N1c3RvbUNoYWlucy5sZW5ndGg+MCYmQXJyYXkuaXNBcnJheSh0aGlzLl9jdXN0b21DaGFpbnNbMF0pKXRyeXtmb3IodmFyIG49dSh0aGlzLl9jdXN0b21DaGFpbnMpLGk9bi5uZXh0KCk7IWkuZG9uZTtpPW4ubmV4dCgpKXt2YXIgbz1pLnZhbHVlO2lmKG9bMF0ubmFtZT09PXRoaXMuY2hhaW5OYW1lKCkpcmV0dXJuIG9bMV19fWNhdGNoKHQpe2U9e2Vycm9yOnR9fWZpbmFsbHl7dHJ5e2kmJiFpLmRvbmUmJih0PW4ucmV0dXJuKSYmdC5jYWxsKG4pfWZpbmFsbHl7aWYoZSl0aHJvdyBlLmVycm9yfX1yZXR1cm57fX0sdC5wcm90b3R5cGUuaGFyZGZvcmtzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NoYWluUGFyYW1zLmhhcmRmb3Jrc30sdC5wcm90b3R5cGUuYm9vdHN0cmFwTm9kZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2hhaW5QYXJhbXMuYm9vdHN0cmFwTm9kZXN9LHQucHJvdG90eXBlLmRuc05ldHdvcmtzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NoYWluUGFyYW1zLmRuc05ldHdvcmtzfSx0LnByb3RvdHlwZS5oYXJkZm9yaz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9oYXJkZm9ya30sdC5wcm90b3R5cGUuY2hhaW5JZD1mdW5jdGlvbigpe3JldHVybigwLHkudG9UeXBlKSh0aGlzLmNoYWluSWRCTigpLHkuVHlwZU91dHB1dC5OdW1iZXIpfSx0LnByb3RvdHlwZS5jaGFpbklkQk49ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHkuQk4odGhpcy5fY2hhaW5QYXJhbXMuY2hhaW5JZCl9LHQucHJvdG90eXBlLmNoYWluTmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jaGFpblBhcmFtcy5uYW1lfSx0LnByb3RvdHlwZS5uZXR3b3JrSWQ9ZnVuY3Rpb24oKXtyZXR1cm4oMCx5LnRvVHlwZSkodGhpcy5uZXR3b3JrSWRCTigpLHkuVHlwZU91dHB1dC5OdW1iZXIpfSx0LnByb3RvdHlwZS5uZXR3b3JrSWRCTj1mdW5jdGlvbigpe3JldHVybiBuZXcgeS5CTih0aGlzLl9jaGFpblBhcmFtcy5uZXR3b3JrSWQpfSx0LnByb3RvdHlwZS5laXBzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VpcHN9LHQucHJvdG90eXBlLmNvbnNlbnN1c1R5cGU9ZnVuY3Rpb24oKXt2YXIgZSx0LHIsbj10aGlzLmhhcmRmb3JrKCk7dHJ5e2Zvcih2YXIgaT11KHYuaGFyZGZvcmtzKSxvPWkubmV4dCgpOyFvLmRvbmU7bz1pLm5leHQoKSl7dmFyIGE9by52YWx1ZTtpZigiY29uc2Vuc3VzImluIGFbMV0mJihyPWFbMV0uY29uc2Vuc3VzLnR5cGUpLGFbMF09PT1uKWJyZWFrfX1jYXRjaCh0KXtlPXtlcnJvcjp0fX1maW5hbGx5e3RyeXtvJiYhby5kb25lJiYodD1pLnJldHVybikmJnQuY2FsbChpKX1maW5hbGx5e2lmKGUpdGhyb3cgZS5lcnJvcn19cmV0dXJuIHJ8fHRoaXMuX2NoYWluUGFyYW1zLmNvbnNlbnN1cy50eXBlfSx0LnByb3RvdHlwZS5jb25zZW5zdXNBbGdvcml0aG09ZnVuY3Rpb24oKXt2YXIgZSx0LHIsbj10aGlzLmhhcmRmb3JrKCk7dHJ5e2Zvcih2YXIgaT11KHYuaGFyZGZvcmtzKSxvPWkubmV4dCgpOyFvLmRvbmU7bz1pLm5leHQoKSl7dmFyIGE9by52YWx1ZTtpZigiY29uc2Vuc3VzImluIGFbMV0mJihyPWFbMV0uY29uc2Vuc3VzLmFsZ29yaXRobSksYVswXT09PW4pYnJlYWt9fWNhdGNoKHQpe2U9e2Vycm9yOnR9fWZpbmFsbHl7dHJ5e28mJiFvLmRvbmUmJih0PWkucmV0dXJuKSYmdC5jYWxsKGkpfWZpbmFsbHl7aWYoZSl0aHJvdyBlLmVycm9yfX1yZXR1cm4gcnx8dGhpcy5fY2hhaW5QYXJhbXMuY29uc2Vuc3VzLmFsZ29yaXRobX0sdC5wcm90b3R5cGUuY29uc2Vuc3VzQ29uZmlnPWZ1bmN0aW9uKCl7dmFyIGUsdCxyLG49dGhpcy5oYXJkZm9yaygpO3RyeXtmb3IodmFyIGk9dSh2LmhhcmRmb3Jrcyksbz1pLm5leHQoKTshby5kb25lO289aS5uZXh0KCkpe3ZhciBhPW8udmFsdWU7aWYoImNvbnNlbnN1cyJpbiBhWzFdJiYocj1hWzFdLmNvbnNlbnN1c1thWzFdLmNvbnNlbnN1cy5hbGdvcml0aG1dKSxhWzBdPT09bilicmVha319Y2F0Y2godCl7ZT17ZXJyb3I6dH19ZmluYWxseXt0cnl7byYmIW8uZG9uZSYmKHQ9aS5yZXR1cm4pJiZ0LmNhbGwoaSl9ZmluYWxseXtpZihlKXRocm93IGUuZXJyb3J9fWlmKHIpcmV0dXJuIHI7dmFyIHM9dGhpcy5jb25zZW5zdXNBbGdvcml0aG0oKTtyZXR1cm4gdGhpcy5fY2hhaW5QYXJhbXMuY29uc2Vuc3VzW3NdfSx0LnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcykpLHRoaXMpfSx0fShwLkV2ZW50RW1pdHRlcik7dC5kZWZhdWx0PXd9LDQzODM6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1PYmplY3QuY3JlYXRlP2Z1bmN0aW9uKGUsdCxyLG4pe3ZvaWQgMD09PW4mJihuPXIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbcl19fSl9OmZ1bmN0aW9uKGUsdCxyLG4pe3ZvaWQgMD09PW4mJihuPXIpLGVbbl09dFtyXX0saT1PYmplY3QuY3JlYXRlP2Z1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOnR9KX06ZnVuY3Rpb24oZSx0KXtlLmRlZmF1bHQ9dH0sbz1mdW5jdGlvbihlLHQpe3ZhciByPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXTtpZighcilyZXR1cm4gZTt2YXIgbixpLG89ci5jYWxsKGUpLGE9W107dHJ5e2Zvcig7KHZvaWQgMD09PXR8fHQtLSA+MCkmJiEobj1vLm5leHQoKSkuZG9uZTspYS5wdXNoKG4udmFsdWUpfWNhdGNoKGUpe2k9e2Vycm9yOmV9fWZpbmFsbHl7dHJ5e24mJiFuLmRvbmUmJihyPW8ucmV0dXJuKSYmci5jYWxsKG8pfWZpbmFsbHl7aWYoaSl0aHJvdyBpLmVycm9yfX1yZXR1cm4gYX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuQmFzZVRyYW5zYWN0aW9uPXZvaWQgMDt2YXIgYT1mdW5jdGlvbihlKXtpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFyIHQ9e307aWYobnVsbCE9ZSlmb3IodmFyIHIgaW4gZSkiZGVmYXVsdCIhPT1yJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmbih0LGUscik7cmV0dXJuIGkodCxlKSx0fShyKDM4NjMpKSxzPXIoMzA2MiksdT1yKDczMjUpLGM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMuY2FjaGU9e2hhc2g6dm9pZCAwfSx0aGlzLmFjdGl2ZUNhcGFiaWxpdGllcz1bXSx0aGlzLkRFRkFVTFRfQ0hBSU49YS5DaGFpbi5NYWlubmV0LHRoaXMuREVGQVVMVF9IQVJERk9SSz1hLkhhcmRmb3JrLklzdGFuYnVsO3ZhciB0PWUubm9uY2Uscj1lLmdhc0xpbWl0LG49ZS50byxpPWUudmFsdWUsbz1lLmRhdGEsdT1lLnYsYz1lLnIsZj1lLnMsZD1lLnR5cGU7dGhpcy5fdHlwZT1uZXcgcy5CTigoMCxzLnRvQnVmZmVyKShkKSkudG9OdW1iZXIoKTt2YXIgbD0oMCxzLnRvQnVmZmVyKSgiIj09PW4/IjB4IjpuKSxoPSgwLHMudG9CdWZmZXIpKCIiPT09dT8iMHgiOnUpLHA9KDAscy50b0J1ZmZlcikoIiI9PT1jPyIweCI6YyksYj0oMCxzLnRvQnVmZmVyKSgiIj09PWY/IjB4IjpmKTt0aGlzLm5vbmNlPW5ldyBzLkJOKCgwLHMudG9CdWZmZXIpKCIiPT09dD8iMHgiOnQpKSx0aGlzLmdhc0xpbWl0PW5ldyBzLkJOKCgwLHMudG9CdWZmZXIpKCIiPT09cj8iMHgiOnIpKSx0aGlzLnRvPWwubGVuZ3RoPjA/bmV3IHMuQWRkcmVzcyhsKTp2b2lkIDAsdGhpcy52YWx1ZT1uZXcgcy5CTigoMCxzLnRvQnVmZmVyKSgiIj09PWk/IjB4IjppKSksdGhpcy5kYXRhPSgwLHMudG9CdWZmZXIpKCIiPT09bz8iMHgiOm8pLHRoaXMudj1oLmxlbmd0aD4wP25ldyBzLkJOKGgpOnZvaWQgMCx0aGlzLnI9cC5sZW5ndGg+MD9uZXcgcy5CTihwKTp2b2lkIDAsdGhpcy5zPWIubGVuZ3RoPjA/bmV3IHMuQk4oYik6dm9pZCAwLHRoaXMuX3ZhbGlkYXRlQ2Fubm90RXhjZWVkTWF4SW50ZWdlcih7bm9uY2U6dGhpcy5ub25jZSxnYXNMaW1pdDp0aGlzLmdhc0xpbWl0LHZhbHVlOnRoaXMudmFsdWUscjp0aGlzLnIsczp0aGlzLnN9KX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJ0cmFuc2FjdGlvblR5cGUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50eXBlfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwidHlwZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl90eXBlfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLnN1cHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmFjdGl2ZUNhcGFiaWxpdGllcy5pbmNsdWRlcyhlKX0sZS5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9ITEpO3ZhciB0PVtdO3JldHVybiB0aGlzLmdldEJhc2VGZWUoKS5ndCh0aGlzLmdhc0xpbWl0KSYmdC5wdXNoKCJnYXNMaW1pdCBpcyB0b28gbG93LiBnaXZlbiAiK3RoaXMuZ2FzTGltaXQrIiwgbmVlZCBhdCBsZWFzdCAiK3RoaXMuZ2V0QmFzZUZlZSgpKSx0aGlzLmlzU2lnbmVkKCkmJiF0aGlzLnZlcmlmeVNpZ25hdHVyZSgpJiZ0LnB1c2goIkludmFsaWQgU2lnbmF0dXJlIiksZT90OjA9PT10Lmxlbmd0aH0sZS5wcm90b3R5cGUuZ2V0QmFzZUZlZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZ2V0RGF0YUZlZSgpLmFkZG4odGhpcy5jb21tb24ucGFyYW0oImdhc1ByaWNlcyIsInR4IikpO3JldHVybiB0aGlzLmNvbW1vbi5ndGVIYXJkZm9yaygiaG9tZXN0ZWFkIikmJnRoaXMudG9DcmVhdGlvbkFkZHJlc3MoKSYmZS5pYWRkbih0aGlzLmNvbW1vbi5wYXJhbSgiZ2FzUHJpY2VzIiwidHhDcmVhdGlvbiIpKSxlfSxlLnByb3RvdHlwZS5nZXREYXRhRmVlPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMuY29tbW9uLnBhcmFtKCJnYXNQcmljZXMiLCJ0eERhdGFaZXJvIiksdD10aGlzLmNvbW1vbi5wYXJhbSgiZ2FzUHJpY2VzIiwidHhEYXRhTm9uWmVybyIpLHI9MCxuPTA7bjx0aGlzLmRhdGEubGVuZ3RoO24rKykwPT09dGhpcy5kYXRhW25dP3IrPWU6cis9dDtyZXR1cm4gbmV3IHMuQk4ocil9LGUucHJvdG90eXBlLnRvQ3JlYXRpb25BZGRyZXNzPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PXRoaXMudG98fDA9PT10aGlzLnRvLmJ1Zi5sZW5ndGh9LGUucHJvdG90eXBlLmlzU2lnbmVkPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUudixyPWUucixuPWUucztyZXR1cm4gMD09PXRoaXMudHlwZT8hISh0JiZyJiZuKTohKHZvaWQgMD09PXR8fCFyfHwhbil9LGUucHJvdG90eXBlLnZlcmlmeVNpZ25hdHVyZT1mdW5jdGlvbigpe3RyeXt2YXIgZT10aGlzLmdldFNlbmRlclB1YmxpY0tleSgpO3JldHVybiAwIT09KDAscy51bnBhZEJ1ZmZlcikoZSkubGVuZ3RofWNhdGNoKGUpe3JldHVybiExfX0sZS5wcm90b3R5cGUuZ2V0U2VuZGVyQWRkcmVzcz1mdW5jdGlvbigpe3JldHVybiBuZXcgcy5BZGRyZXNzKCgwLHMucHVibGljVG9BZGRyZXNzKSh0aGlzLmdldFNlbmRlclB1YmxpY0tleSgpKSl9LGUucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24oZSl7aWYoMzIhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlByaXZhdGUga2V5IG11c3QgYmUgMzIgYnl0ZXMgaW4gbGVuZ3RoLiIpO3ZhciB0PSExOzA9PT10aGlzLnR5cGUmJnRoaXMuY29tbW9uLmd0ZUhhcmRmb3JrKCJzcHVyaW91c0RyYWdvbiIpJiYhdGhpcy5zdXBwb3J0cyh1LkNhcGFiaWxpdHkuRUlQMTU1UmVwbGF5UHJvdGVjdGlvbikmJih0aGlzLmFjdGl2ZUNhcGFiaWxpdGllcy5wdXNoKHUuQ2FwYWJpbGl0eS5FSVAxNTVSZXBsYXlQcm90ZWN0aW9uKSx0PSEwKTt2YXIgcj10aGlzLmdldE1lc3NhZ2VUb1NpZ24oITApLG49KDAscy5lY3NpZ24pKHIsZSksaT1uLnYsbz1uLnIsYT1uLnMsYz10aGlzLl9wcm9jZXNzU2lnbmF0dXJlKGksbyxhKTtpZih0KXt2YXIgZj10aGlzLmFjdGl2ZUNhcGFiaWxpdGllcy5pbmRleE9mKHUuQ2FwYWJpbGl0eS5FSVAxNTVSZXBsYXlQcm90ZWN0aW9uKTtmPi0xJiZ0aGlzLmFjdGl2ZUNhcGFiaWxpdGllcy5zcGxpY2UoZiwxKX1yZXR1cm4gY30sZS5wcm90b3R5cGUuX2dldENvbW1vbj1mdW5jdGlvbihlLHQpe3ZhciByO2lmKHQpe3ZhciBuPW5ldyBzLkJOKCgwLHMudG9CdWZmZXIpKHQpKTtpZihlKXtpZighZS5jaGFpbklkQk4oKS5lcShuKSl0aHJvdyBuZXcgRXJyb3IoIlRoZSBjaGFpbiBJRCBkb2VzIG5vdCBtYXRjaCB0aGUgY2hhaW4gSUQgb2YgQ29tbW9uIik7cmV0dXJuIGUuY29weSgpfXJldHVybiBhLmRlZmF1bHQuaXNTdXBwb3J0ZWRDaGFpbklkKG4pP25ldyBhLmRlZmF1bHQoe2NoYWluOm4saGFyZGZvcms6dGhpcy5ERUZBVUxUX0hBUkRGT1JLfSk6YS5kZWZhdWx0LmZvckN1c3RvbUNoYWluKHRoaXMuREVGQVVMVF9DSEFJTix7bmFtZToiY3VzdG9tLWNoYWluIixuZXR3b3JrSWQ6bixjaGFpbklkOm59LHRoaXMuREVGQVVMVF9IQVJERk9SSyl9cmV0dXJuIG51bGwhPT0ocj1udWxsPT1lP3ZvaWQgMDplLmNvcHkoKSkmJnZvaWQgMCE9PXI/cjpuZXcgYS5kZWZhdWx0KHtjaGFpbjp0aGlzLkRFRkFVTFRfQ0hBSU4saGFyZGZvcms6dGhpcy5ERUZBVUxUX0hBUkRGT1JLfSl9LGUucHJvdG90eXBlLl92YWxpZGF0ZUNhbm5vdEV4Y2VlZE1heEludGVnZXI9ZnVuY3Rpb24oZSx0KXt2YXIgcixuO3ZvaWQgMD09PXQmJih0PTUzKTt0cnl7Zm9yKHZhciBpPWZ1bmN0aW9uKGUpe3ZhciB0PSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvcixyPXQmJmVbdF0sbj0wO2lmKHIpcmV0dXJuIHIuY2FsbChlKTtpZihlJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKXJldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGUmJm4+PWUubGVuZ3RoJiYoZT12b2lkIDApLHt2YWx1ZTplJiZlW24rK10sZG9uZTohZX19fTt0aHJvdyBuZXcgVHlwZUVycm9yKHQ/Ik9iamVjdCBpcyBub3QgaXRlcmFibGUuIjoiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpfShPYmplY3QuZW50cmllcyhlKSksYT1pLm5leHQoKTshYS5kb25lO2E9aS5uZXh0KCkpe3ZhciB1PW8oYS52YWx1ZSwyKSxjPXVbMF0sZj11WzFdO2lmKDUzPT09dCl7aWYobnVsbD09Zj92b2lkIDA6Zi5ndChzLk1BWF9JTlRFR0VSKSl0aHJvdyBuZXcgRXJyb3IoYysiIGNhbm5vdCBleGNlZWQgTUFYX0lOVEVHRVIsIGdpdmVuICIrZil9ZWxzZXtpZigyNTYhPT10KXRocm93IG5ldyBFcnJvcigidW5pbXBsZW1lbnRlZCBiaXRzIHZhbHVlIik7aWYobnVsbD09Zj92b2lkIDA6Zi5ndGUocy5UV09fUE9XMjU2KSl0aHJvdyBuZXcgRXJyb3IoYysiIG11c3QgYmUgbGVzcyB0aGFuIDJeMjU2LCBnaXZlbiAiK2YpfX19Y2F0Y2goZSl7cj17ZXJyb3I6ZX19ZmluYWxseXt0cnl7YSYmIWEuZG9uZSYmKG49aS5yZXR1cm4pJiZuLmNhbGwoaSl9ZmluYWxseXtpZihyKXRocm93IHIuZXJyb3J9fX0sZX0oKTt0LkJhc2VUcmFuc2FjdGlvbj1jfSw2NjA6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbixpPXIoOTAzMykuQnVmZmVyLG89KG49ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZSx0KXtlLl9fcHJvdG9fXz10fXx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKGVbcl09dFtyXSl9LG4oZSx0KX0sZnVuY3Rpb24oZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCYmbnVsbCE9PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyh0KSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfW4oZSx0KSxlLnByb3RvdHlwZT1udWxsPT09dD9PYmplY3QuY3JlYXRlKHQpOihyLnByb3RvdHlwZT10LnByb3RvdHlwZSxuZXcgcil9KSxhPWZ1bmN0aW9uKCl7cmV0dXJuIGE9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LHI9MSxuPWFyZ3VtZW50cy5sZW5ndGg7cjxuO3IrKylmb3IodmFyIGkgaW4gdD1hcmd1bWVudHNbcl0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pO3JldHVybiBlfSxhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBzPXIoMzA2MiksdT1yKDQzODMpLGM9cig3MzI1KSxmPXIoMzc4OSksZD1pLmZyb20oMi4udG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSwiaGV4IiksbD1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQscil7dmFyIG4saTt2b2lkIDA9PT1yJiYocj17fSk7dmFyIG89ZS5jYWxsKHRoaXMsYShhKHt9LHQpLHt0eXBlOjJ9KSl8fHRoaXM7by5ERUZBVUxUX0hBUkRGT1JLPSJsb25kb24iO3ZhciB1PXQuY2hhaW5JZCxkPXQuYWNjZXNzTGlzdCxsPXQubWF4RmVlUGVyR2FzLGg9dC5tYXhQcmlvcml0eUZlZVBlckdhcztpZihvLmNvbW1vbj1vLl9nZXRDb21tb24oci5jb21tb24sdSksby5jaGFpbklkPW8uY29tbW9uLmNoYWluSWRCTigpLCFvLmNvbW1vbi5pc0FjdGl2YXRlZEVJUCgxNTU5KSl0aHJvdyBuZXcgRXJyb3IoIkVJUC0xNTU5IG5vdCBlbmFibGVkIG9uIENvbW1vbiIpO28uYWN0aXZlQ2FwYWJpbGl0aWVzPW8uYWN0aXZlQ2FwYWJpbGl0aWVzLmNvbmNhdChbMTU1OSwyNzE4LDI5MzBdKTt2YXIgcD1mLkFjY2Vzc0xpc3RzLmdldEFjY2Vzc0xpc3REYXRhKG51bGwhPWQ/ZDpbXSk7aWYoby5hY2Nlc3NMaXN0PXAuYWNjZXNzTGlzdCxvLkFjY2Vzc0xpc3RKU09OPXAuQWNjZXNzTGlzdEpTT04sZi5BY2Nlc3NMaXN0cy52ZXJpZnlBY2Nlc3NMaXN0KG8uYWNjZXNzTGlzdCksby5tYXhGZWVQZXJHYXM9bmV3IHMuQk4oKDAscy50b0J1ZmZlcikoIiI9PT1sPyIweCI6bCkpLG8ubWF4UHJpb3JpdHlGZWVQZXJHYXM9bmV3IHMuQk4oKDAscy50b0J1ZmZlcikoIiI9PT1oPyIweCI6aCkpLG8uX3ZhbGlkYXRlQ2Fubm90RXhjZWVkTWF4SW50ZWdlcih7bWF4RmVlUGVyR2FzOm8ubWF4RmVlUGVyR2FzLG1heFByaW9yaXR5RmVlUGVyR2FzOm8ubWF4UHJpb3JpdHlGZWVQZXJHYXN9LDI1Niksby5tYXhGZWVQZXJHYXMubHQoby5tYXhQcmlvcml0eUZlZVBlckdhcykpdGhyb3cgbmV3IEVycm9yKCJtYXhGZWVQZXJHYXMgY2Fubm90IGJlIGxlc3MgdGhhbiBtYXhQcmlvcml0eUZlZVBlckdhcyAoVGhlIHRvdGFsIG11c3QgYmUgdGhlIGxhcmdlciBvZiB0aGUgdHdvKSIpO2lmKG8udiYmIW8udi5lcW4oMCkmJiFvLnYuZXFuKDEpKXRocm93IG5ldyBFcnJvcigiVGhlIHktcGFyaXR5IG9mIHRoZSB0cmFuc2FjdGlvbiBzaG91bGQgZWl0aGVyIGJlIDAgb3IgMSIpO2lmKG8uY29tbW9uLmd0ZUhhcmRmb3JrKCJob21lc3RlYWQiKSYmKG51bGw9PT0obj1vLnMpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmd0KGMuTl9ESVZfMikpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBTaWduYXR1cmU6IHMtdmFsdWVzIGdyZWF0ZXIgdGhhbiBzZWNwMjU2azFuLzIgYXJlIGNvbnNpZGVyZWQgaW52YWxpZCIpO3JldHVybihudWxsPT09KGk9bnVsbD09cj92b2lkIDA6ci5mcmVlemUpfHx2b2lkIDA9PT1pfHxpKSYmT2JqZWN0LmZyZWV6ZShvKSxvfXJldHVybiBvKHQsZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCJzZW5kZXJSIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucn0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInNlbmRlclMiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSwieVBhcml0eSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZ9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksdC5mcm9tVHhEYXRhPWZ1bmN0aW9uKGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPXt9KSxuZXcgdChlLHIpfSx0LmZyb21TZXJpYWxpemVkVHg9ZnVuY3Rpb24oZSxyKXtpZih2b2lkIDA9PT1yJiYocj17fSksIWUuc2xpY2UoMCwxKS5lcXVhbHMoZCkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHNlcmlhbGl6ZWQgdHggaW5wdXQ6IG5vdCBhbiBFSVAtMTU1OSB0cmFuc2FjdGlvbiAod3JvbmcgdHggdHlwZSwgZXhwZWN0ZWQ6IDIsIHJlY2VpdmVkOiAiK2Uuc2xpY2UoMCwxKS50b1N0cmluZygiaGV4IikpO3ZhciBuPXMucmxwLmRlY29kZShlLnNsaWNlKDEpKTtpZighQXJyYXkuaXNBcnJheShuKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2VyaWFsaXplZCB0eCBpbnB1dDogbXVzdCBiZSBhcnJheSIpO3JldHVybiB0LmZyb21WYWx1ZXNBcnJheShuLHIpfSx0LmZyb21SbHBTZXJpYWxpemVkVHg9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9e30pLHQuZnJvbVNlcmlhbGl6ZWRUeChlLHIpfSx0LmZyb21WYWx1ZXNBcnJheT1mdW5jdGlvbihlLHIpe2lmKHZvaWQgMD09PXImJihyPXt9KSw5IT09ZS5sZW5ndGgmJjEyIT09ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIEVJUC0xNTU5IHRyYW5zYWN0aW9uLiBPbmx5IGV4cGVjdGluZyA5IHZhbHVlcyAoZm9yIHVuc2lnbmVkIHR4KSBvciAxMiB2YWx1ZXMgKGZvciBzaWduZWQgdHgpLiIpO3ZhciBuPWZ1bmN0aW9uKGUsdCl7dmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdO2lmKCFyKXJldHVybiBlO3ZhciBuLGksbz1yLmNhbGwoZSksYT1bXTt0cnl7Zm9yKDsodm9pZCAwPT09dHx8dC0tID4wKSYmIShuPW8ubmV4dCgpKS5kb25lOylhLnB1c2gobi52YWx1ZSl9Y2F0Y2goZSl7aT17ZXJyb3I6ZX19ZmluYWxseXt0cnl7biYmIW4uZG9uZSYmKHI9by5yZXR1cm4pJiZyLmNhbGwobyl9ZmluYWxseXtpZihpKXRocm93IGkuZXJyb3J9fXJldHVybiBhfShlLDEyKSxpPW5bMF0sbz1uWzFdLGE9blsyXSx1PW5bM10sYz1uWzRdLGY9bls1XSxkPW5bNl0sbD1uWzddLGg9bls4XSxwPW5bOV0sYj1uWzEwXSx5PW5bMTFdO3JldHVybiBuZXcgdCh7Y2hhaW5JZDpuZXcgcy5CTihpKSxub25jZTpvLG1heFByaW9yaXR5RmVlUGVyR2FzOmEsbWF4RmVlUGVyR2FzOnUsZ2FzTGltaXQ6Yyx0bzpmLHZhbHVlOmQsZGF0YTpsLGFjY2Vzc0xpc3Q6bnVsbCE9aD9oOltdLHY6dm9pZCAwIT09cD9uZXcgcy5CTihwKTp2b2lkIDAscjpiLHM6eX0scil9LHQucHJvdG90eXBlLmdldERhdGFGZWU9ZnVuY3Rpb24oKXt2YXIgdD1lLnByb3RvdHlwZS5nZXREYXRhRmVlLmNhbGwodGhpcyk7cmV0dXJuIHQuaWFkZG4oZi5BY2Nlc3NMaXN0cy5nZXREYXRhRmVlRUlQMjkzMCh0aGlzLmFjY2Vzc0xpc3QsdGhpcy5jb21tb24pKSx0fSx0LnByb3RvdHlwZS5nZXRVcGZyb250Q29zdD1mdW5jdGlvbihlKXt2b2lkIDA9PT1lJiYoZT1uZXcgcy5CTigwKSk7dmFyIHQ9cy5CTi5taW4odGhpcy5tYXhQcmlvcml0eUZlZVBlckdhcyx0aGlzLm1heEZlZVBlckdhcy5zdWIoZSkpLmFkZChlKTtyZXR1cm4gdGhpcy5nYXNMaW1pdC5tdWwodCkuYWRkKHRoaXMudmFsdWUpfSx0LnByb3RvdHlwZS5yYXc9ZnVuY3Rpb24oKXtyZXR1cm5bKDAscy5iblRvVW5wYWRkZWRCdWZmZXIpKHRoaXMuY2hhaW5JZCksKDAscy5iblRvVW5wYWRkZWRCdWZmZXIpKHRoaXMubm9uY2UpLCgwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLm1heFByaW9yaXR5RmVlUGVyR2FzKSwoMCxzLmJuVG9VbnBhZGRlZEJ1ZmZlcikodGhpcy5tYXhGZWVQZXJHYXMpLCgwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLmdhc0xpbWl0KSx2b2lkIDAhPT10aGlzLnRvP3RoaXMudG8uYnVmOmkuZnJvbShbXSksKDAscy5iblRvVW5wYWRkZWRCdWZmZXIpKHRoaXMudmFsdWUpLHRoaXMuZGF0YSx0aGlzLmFjY2Vzc0xpc3Qsdm9pZCAwIT09dGhpcy52PygwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLnYpOmkuZnJvbShbXSksdm9pZCAwIT09dGhpcy5yPygwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLnIpOmkuZnJvbShbXSksdm9pZCAwIT09dGhpcy5zPygwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLnMpOmkuZnJvbShbXSldfSx0LnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnJhdygpO3JldHVybiBpLmNvbmNhdChbZCxzLnJscC5lbmNvZGUoZSldKX0sdC5wcm90b3R5cGUuZ2V0TWVzc2FnZVRvU2lnbj1mdW5jdGlvbihlKXt2b2lkIDA9PT1lJiYoZT0hMCk7dmFyIHQ9dGhpcy5yYXcoKS5zbGljZSgwLDkpLHI9aS5jb25jYXQoW2Qscy5ybHAuZW5jb2RlKHQpXSk7cmV0dXJuIGU/KDAscy5rZWNjYWsyNTYpKHIpOnJ9LHQucHJvdG90eXBlLmhhc2g9ZnVuY3Rpb24oKXtpZighdGhpcy5pc1NpZ25lZCgpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGNhbGwgaGFzaCBtZXRob2QgaWYgdHJhbnNhY3Rpb24gaXMgbm90IHNpZ25lZCIpO3JldHVybiBPYmplY3QuaXNGcm96ZW4odGhpcyk/KHRoaXMuY2FjaGUuaGFzaHx8KHRoaXMuY2FjaGUuaGFzaD0oMCxzLmtlY2NhazI1NikodGhpcy5zZXJpYWxpemUoKSkpLHRoaXMuY2FjaGUuaGFzaCk6KDAscy5rZWNjYWsyNTYpKHRoaXMuc2VyaWFsaXplKCkpfSx0LnByb3RvdHlwZS5nZXRNZXNzYWdlVG9WZXJpZnlTaWduYXR1cmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRNZXNzYWdlVG9TaWduKCl9LHQucHJvdG90eXBlLmdldFNlbmRlclB1YmxpY0tleT1mdW5jdGlvbigpe3ZhciBlO2lmKCF0aGlzLmlzU2lnbmVkKCkpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgY2FsbCB0aGlzIG1ldGhvZCBpZiB0cmFuc2FjdGlvbiBpcyBub3Qgc2lnbmVkIik7dmFyIHQ9dGhpcy5nZXRNZXNzYWdlVG9WZXJpZnlTaWduYXR1cmUoKTtpZih0aGlzLmNvbW1vbi5ndGVIYXJkZm9yaygiaG9tZXN0ZWFkIikmJihudWxsPT09KGU9dGhpcy5zKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5ndChjLk5fRElWXzIpKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgU2lnbmF0dXJlOiBzLXZhbHVlcyBncmVhdGVyIHRoYW4gc2VjcDI1Nmsxbi8yIGFyZSBjb25zaWRlcmVkIGludmFsaWQiKTt2YXIgcj10aGlzLG49ci52LGk9ci5yLG89ci5zO3RyeXtyZXR1cm4oMCxzLmVjcmVjb3ZlcikodCxuLmFkZG4oMjcpLCgwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKShpKSwoMCxzLmJuVG9VbnBhZGRlZEJ1ZmZlcikobykpfWNhdGNoKGUpe3Rocm93IG5ldyBFcnJvcigiSW52YWxpZCBTaWduYXR1cmUiKX19LHQucHJvdG90eXBlLl9wcm9jZXNzU2lnbmF0dXJlPWZ1bmN0aW9uKGUscixuKXt2YXIgaT17Y29tbW9uOnRoaXMuY29tbW9ufTtyZXR1cm4gdC5mcm9tVHhEYXRhKHtjaGFpbklkOnRoaXMuY2hhaW5JZCxub25jZTp0aGlzLm5vbmNlLG1heFByaW9yaXR5RmVlUGVyR2FzOnRoaXMubWF4UHJpb3JpdHlGZWVQZXJHYXMsbWF4RmVlUGVyR2FzOnRoaXMubWF4RmVlUGVyR2FzLGdhc0xpbWl0OnRoaXMuZ2FzTGltaXQsdG86dGhpcy50byx2YWx1ZTp0aGlzLnZhbHVlLGRhdGE6dGhpcy5kYXRhLGFjY2Vzc0xpc3Q6dGhpcy5hY2Nlc3NMaXN0LHY6bmV3IHMuQk4oZS0yNykscjpuZXcgcy5CTihyKSxzOm5ldyBzLkJOKG4pfSxpKX0sdC5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7dmFyIGU9Zi5BY2Nlc3NMaXN0cy5nZXRBY2Nlc3NMaXN0SlNPTih0aGlzLmFjY2Vzc0xpc3QpO3JldHVybntjaGFpbklkOigwLHMuYm5Ub0hleCkodGhpcy5jaGFpbklkKSxub25jZTooMCxzLmJuVG9IZXgpKHRoaXMubm9uY2UpLG1heFByaW9yaXR5RmVlUGVyR2FzOigwLHMuYm5Ub0hleCkodGhpcy5tYXhQcmlvcml0eUZlZVBlckdhcyksbWF4RmVlUGVyR2FzOigwLHMuYm5Ub0hleCkodGhpcy5tYXhGZWVQZXJHYXMpLGdhc0xpbWl0OigwLHMuYm5Ub0hleCkodGhpcy5nYXNMaW1pdCksdG86dm9pZCAwIT09dGhpcy50bz90aGlzLnRvLnRvU3RyaW5nKCk6dm9pZCAwLHZhbHVlOigwLHMuYm5Ub0hleCkodGhpcy52YWx1ZSksZGF0YToiMHgiK3RoaXMuZGF0YS50b1N0cmluZygiaGV4IiksYWNjZXNzTGlzdDplLHY6dm9pZCAwIT09dGhpcy52PygwLHMuYm5Ub0hleCkodGhpcy52KTp2b2lkIDAscjp2b2lkIDAhPT10aGlzLnI/KDAscy5iblRvSGV4KSh0aGlzLnIpOnZvaWQgMCxzOnZvaWQgMCE9PXRoaXMucz8oMCxzLmJuVG9IZXgpKHRoaXMucyk6dm9pZCAwfX0sdH0odS5CYXNlVHJhbnNhY3Rpb24pO3QuZGVmYXVsdD1sfSw3NjEzOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG4saT1yKDkwMzMpLkJ1ZmZlcixvPShuPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG49T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihlW3JdPXRbcl0pfSxuKGUsdCl9LGZ1bmN0aW9uKGUsdCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQmJm51bGwhPT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcodCkrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9ZX1uKGUsdCksZS5wcm90b3R5cGU9bnVsbD09PXQ/T2JqZWN0LmNyZWF0ZSh0KTooci5wcm90b3R5cGU9dC5wcm90b3R5cGUsbmV3IHIpfSksYT1mdW5jdGlvbigpe3JldHVybiBhPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxyPTEsbj1hcmd1bWVudHMubGVuZ3RoO3I8bjtyKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW3JdKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGkpJiYoZVtpXT10W2ldKTtyZXR1cm4gZX0sYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcz1yKDMwNjIpLHU9cig0MzgzKSxjPXIoNzMyNSksZj1yKDM3ODkpLGQ9aS5mcm9tKDEuLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIiksImhleCIpLGw9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCh0LHIpe3ZhciBuLGk7dm9pZCAwPT09ciYmKHI9e30pO3ZhciBvPWUuY2FsbCh0aGlzLGEoYSh7fSx0KSx7dHlwZToxfSkpfHx0aGlzO28uREVGQVVMVF9IQVJERk9SSz0iYmVybGluIjt2YXIgdT10LmNoYWluSWQsZD10LmFjY2Vzc0xpc3QsbD10Lmdhc1ByaWNlO2lmKG8uY29tbW9uPW8uX2dldENvbW1vbihyLmNvbW1vbix1KSxvLmNoYWluSWQ9by5jb21tb24uY2hhaW5JZEJOKCksIW8uY29tbW9uLmlzQWN0aXZhdGVkRUlQKDI5MzApKXRocm93IG5ldyBFcnJvcigiRUlQLTI5MzAgbm90IGVuYWJsZWQgb24gQ29tbW9uIik7by5hY3RpdmVDYXBhYmlsaXRpZXM9by5hY3RpdmVDYXBhYmlsaXRpZXMuY29uY2F0KFsyNzE4LDI5MzBdKTt2YXIgaD1mLkFjY2Vzc0xpc3RzLmdldEFjY2Vzc0xpc3REYXRhKG51bGwhPWQ/ZDpbXSk7aWYoby5hY2Nlc3NMaXN0PWguYWNjZXNzTGlzdCxvLkFjY2Vzc0xpc3RKU09OPWguQWNjZXNzTGlzdEpTT04sZi5BY2Nlc3NMaXN0cy52ZXJpZnlBY2Nlc3NMaXN0KG8uYWNjZXNzTGlzdCksby5nYXNQcmljZT1uZXcgcy5CTigoMCxzLnRvQnVmZmVyKSgiIj09PWw/IjB4IjpsKSksby5fdmFsaWRhdGVDYW5ub3RFeGNlZWRNYXhJbnRlZ2VyKHtnYXNQcmljZTpvLmdhc1ByaWNlfSksby52JiYhby52LmVxbigwKSYmIW8udi5lcW4oMSkpdGhyb3cgbmV3IEVycm9yKCJUaGUgeS1wYXJpdHkgb2YgdGhlIHRyYW5zYWN0aW9uIHNob3VsZCBlaXRoZXIgYmUgMCBvciAxIik7aWYoby5jb21tb24uZ3RlSGFyZGZvcmsoImhvbWVzdGVhZCIpJiYobnVsbD09PShuPW8ucyl8fHZvaWQgMD09PW4/dm9pZCAwOm4uZ3QoYy5OX0RJVl8yKSkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIFNpZ25hdHVyZTogcy12YWx1ZXMgZ3JlYXRlciB0aGFuIHNlY3AyNTZrMW4vMiBhcmUgY29uc2lkZXJlZCBpbnZhbGlkIik7cmV0dXJuKG51bGw9PT0oaT1udWxsPT1yP3ZvaWQgMDpyLmZyZWV6ZSl8fHZvaWQgMD09PWl8fGkpJiZPYmplY3QuZnJlZXplKG8pLG99cmV0dXJuIG8odCxlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInNlbmRlclIiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSwic2VuZGVyUyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCJ5UGFyaXR5Iix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudn0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSx0LmZyb21UeERhdGE9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9e30pLG5ldyB0KGUscil9LHQuZnJvbVNlcmlhbGl6ZWRUeD1mdW5jdGlvbihlLHIpe2lmKHZvaWQgMD09PXImJihyPXt9KSwhZS5zbGljZSgwLDEpLmVxdWFscyhkKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2VyaWFsaXplZCB0eCBpbnB1dDogbm90IGFuIEVJUC0yOTMwIHRyYW5zYWN0aW9uICh3cm9uZyB0eCB0eXBlLCBleHBlY3RlZDogMSwgcmVjZWl2ZWQ6ICIrZS5zbGljZSgwLDEpLnRvU3RyaW5nKCJoZXgiKSk7dmFyIG49cy5ybHAuZGVjb2RlKGUuc2xpY2UoMSkpO2lmKCFBcnJheS5pc0FycmF5KG4pKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzZXJpYWxpemVkIHR4IGlucHV0OiBtdXN0IGJlIGFycmF5Iik7cmV0dXJuIHQuZnJvbVZhbHVlc0FycmF5KG4scil9LHQuZnJvbVJscFNlcmlhbGl6ZWRUeD1mdW5jdGlvbihlLHIpe3JldHVybiB2b2lkIDA9PT1yJiYocj17fSksdC5mcm9tU2VyaWFsaXplZFR4KGUscil9LHQuZnJvbVZhbHVlc0FycmF5PWZ1bmN0aW9uKGUscil7aWYodm9pZCAwPT09ciYmKHI9e30pLDghPT1lLmxlbmd0aCYmMTEhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgRUlQLTI5MzAgdHJhbnNhY3Rpb24uIE9ubHkgZXhwZWN0aW5nIDggdmFsdWVzIChmb3IgdW5zaWduZWQgdHgpIG9yIDExIHZhbHVlcyAoZm9yIHNpZ25lZCB0eCkuIik7dmFyIG49ZnVuY3Rpb24oZSx0KXt2YXIgcj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl07aWYoIXIpcmV0dXJuIGU7dmFyIG4saSxvPXIuY2FsbChlKSxhPVtdO3RyeXtmb3IoOyh2b2lkIDA9PT10fHx0LS0gPjApJiYhKG49by5uZXh0KCkpLmRvbmU7KWEucHVzaChuLnZhbHVlKX1jYXRjaChlKXtpPXtlcnJvcjplfX1maW5hbGx5e3RyeXtuJiYhbi5kb25lJiYocj1vLnJldHVybikmJnIuY2FsbChvKX1maW5hbGx5e2lmKGkpdGhyb3cgaS5lcnJvcn19cmV0dXJuIGF9KGUsMTEpLGk9blswXSxvPW5bMV0sYT1uWzJdLHU9blszXSxjPW5bNF0sZj1uWzVdLGQ9bls2XSxsPW5bN10saD1uWzhdLHA9bls5XSxiPW5bMTBdO3JldHVybiBuZXcgdCh7Y2hhaW5JZDpuZXcgcy5CTihpKSxub25jZTpvLGdhc1ByaWNlOmEsZ2FzTGltaXQ6dSx0bzpjLHZhbHVlOmYsZGF0YTpkLGFjY2Vzc0xpc3Q6bnVsbCE9bD9sOltdLHY6dm9pZCAwIT09aD9uZXcgcy5CTihoKTp2b2lkIDAscjpwLHM6Yn0scil9LHQucHJvdG90eXBlLmdldERhdGFGZWU9ZnVuY3Rpb24oKXt2YXIgdD1lLnByb3RvdHlwZS5nZXREYXRhRmVlLmNhbGwodGhpcyk7cmV0dXJuIHQuaWFkZG4oZi5BY2Nlc3NMaXN0cy5nZXREYXRhRmVlRUlQMjkzMCh0aGlzLmFjY2Vzc0xpc3QsdGhpcy5jb21tb24pKSx0fSx0LnByb3RvdHlwZS5nZXRVcGZyb250Q29zdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdhc0xpbWl0Lm11bCh0aGlzLmdhc1ByaWNlKS5hZGQodGhpcy52YWx1ZSl9LHQucHJvdG90eXBlLnJhdz1mdW5jdGlvbigpe3JldHVyblsoMCxzLmJuVG9VbnBhZGRlZEJ1ZmZlcikodGhpcy5jaGFpbklkKSwoMCxzLmJuVG9VbnBhZGRlZEJ1ZmZlcikodGhpcy5ub25jZSksKDAscy5iblRvVW5wYWRkZWRCdWZmZXIpKHRoaXMuZ2FzUHJpY2UpLCgwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLmdhc0xpbWl0KSx2b2lkIDAhPT10aGlzLnRvP3RoaXMudG8uYnVmOmkuZnJvbShbXSksKDAscy5iblRvVW5wYWRkZWRCdWZmZXIpKHRoaXMudmFsdWUpLHRoaXMuZGF0YSx0aGlzLmFjY2Vzc0xpc3Qsdm9pZCAwIT09dGhpcy52PygwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLnYpOmkuZnJvbShbXSksdm9pZCAwIT09dGhpcy5yPygwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLnIpOmkuZnJvbShbXSksdm9pZCAwIT09dGhpcy5zPygwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLnMpOmkuZnJvbShbXSldfSx0LnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnJhdygpO3JldHVybiBpLmNvbmNhdChbZCxzLnJscC5lbmNvZGUoZSldKX0sdC5wcm90b3R5cGUuZ2V0TWVzc2FnZVRvU2lnbj1mdW5jdGlvbihlKXt2b2lkIDA9PT1lJiYoZT0hMCk7dmFyIHQ9dGhpcy5yYXcoKS5zbGljZSgwLDgpLHI9aS5jb25jYXQoW2Qscy5ybHAuZW5jb2RlKHQpXSk7cmV0dXJuIGU/KDAscy5rZWNjYWsyNTYpKHIpOnJ9LHQucHJvdG90eXBlLmhhc2g9ZnVuY3Rpb24oKXtpZighdGhpcy5pc1NpZ25lZCgpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGNhbGwgaGFzaCBtZXRob2QgaWYgdHJhbnNhY3Rpb24gaXMgbm90IHNpZ25lZCIpO3JldHVybiBPYmplY3QuaXNGcm96ZW4odGhpcyk/KHRoaXMuY2FjaGUuaGFzaHx8KHRoaXMuY2FjaGUuaGFzaD0oMCxzLmtlY2NhazI1NikodGhpcy5zZXJpYWxpemUoKSkpLHRoaXMuY2FjaGUuaGFzaCk6KDAscy5rZWNjYWsyNTYpKHRoaXMuc2VyaWFsaXplKCkpfSx0LnByb3RvdHlwZS5nZXRNZXNzYWdlVG9WZXJpZnlTaWduYXR1cmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRNZXNzYWdlVG9TaWduKCl9LHQucHJvdG90eXBlLmdldFNlbmRlclB1YmxpY0tleT1mdW5jdGlvbigpe3ZhciBlO2lmKCF0aGlzLmlzU2lnbmVkKCkpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgY2FsbCB0aGlzIG1ldGhvZCBpZiB0cmFuc2FjdGlvbiBpcyBub3Qgc2lnbmVkIik7dmFyIHQ9dGhpcy5nZXRNZXNzYWdlVG9WZXJpZnlTaWduYXR1cmUoKTtpZih0aGlzLmNvbW1vbi5ndGVIYXJkZm9yaygiaG9tZXN0ZWFkIikmJihudWxsPT09KGU9dGhpcy5zKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5ndChjLk5fRElWXzIpKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgU2lnbmF0dXJlOiBzLXZhbHVlcyBncmVhdGVyIHRoYW4gc2VjcDI1Nmsxbi8yIGFyZSBjb25zaWRlcmVkIGludmFsaWQiKTt2YXIgcj10aGlzLG49ci55UGFyaXR5LGk9ci5yLG89ci5zO3RyeXtyZXR1cm4oMCxzLmVjcmVjb3ZlcikodCxuLmFkZG4oMjcpLCgwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKShpKSwoMCxzLmJuVG9VbnBhZGRlZEJ1ZmZlcikobykpfWNhdGNoKGUpe3Rocm93IG5ldyBFcnJvcigiSW52YWxpZCBTaWduYXR1cmUiKX19LHQucHJvdG90eXBlLl9wcm9jZXNzU2lnbmF0dXJlPWZ1bmN0aW9uKGUscixuKXt2YXIgaT17Y29tbW9uOnRoaXMuY29tbW9ufTtyZXR1cm4gdC5mcm9tVHhEYXRhKHtjaGFpbklkOnRoaXMuY2hhaW5JZCxub25jZTp0aGlzLm5vbmNlLGdhc1ByaWNlOnRoaXMuZ2FzUHJpY2UsZ2FzTGltaXQ6dGhpcy5nYXNMaW1pdCx0bzp0aGlzLnRvLHZhbHVlOnRoaXMudmFsdWUsZGF0YTp0aGlzLmRhdGEsYWNjZXNzTGlzdDp0aGlzLmFjY2Vzc0xpc3QsdjpuZXcgcy5CTihlLTI3KSxyOm5ldyBzLkJOKHIpLHM6bmV3IHMuQk4obil9LGkpfSx0LnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXt2YXIgZT1mLkFjY2Vzc0xpc3RzLmdldEFjY2Vzc0xpc3RKU09OKHRoaXMuYWNjZXNzTGlzdCk7cmV0dXJue2NoYWluSWQ6KDAscy5iblRvSGV4KSh0aGlzLmNoYWluSWQpLG5vbmNlOigwLHMuYm5Ub0hleCkodGhpcy5ub25jZSksZ2FzUHJpY2U6KDAscy5iblRvSGV4KSh0aGlzLmdhc1ByaWNlKSxnYXNMaW1pdDooMCxzLmJuVG9IZXgpKHRoaXMuZ2FzTGltaXQpLHRvOnZvaWQgMCE9PXRoaXMudG8/dGhpcy50by50b1N0cmluZygpOnZvaWQgMCx2YWx1ZTooMCxzLmJuVG9IZXgpKHRoaXMudmFsdWUpLGRhdGE6IjB4Iit0aGlzLmRhdGEudG9TdHJpbmcoImhleCIpLGFjY2Vzc0xpc3Q6ZSx2OnZvaWQgMCE9PXRoaXMudj8oMCxzLmJuVG9IZXgpKHRoaXMudik6dm9pZCAwLHI6dm9pZCAwIT09dGhpcy5yPygwLHMuYm5Ub0hleCkodGhpcy5yKTp2b2lkIDAsczp2b2lkIDAhPT10aGlzLnM/KDAscy5iblRvSGV4KSh0aGlzLnMpOnZvaWQgMH19LHR9KHUuQmFzZVRyYW5zYWN0aW9uKTt0LmRlZmF1bHQ9bH0sMjMzOTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPU9iamVjdC5jcmVhdGU/ZnVuY3Rpb24oZSx0LHIsbil7dm9pZCAwPT09biYmKG49ciksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtyXX19KX06ZnVuY3Rpb24oZSx0LHIsbil7dm9pZCAwPT09biYmKG49ciksZVtuXT10W3JdfSxpPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuRmVlTWFya2V0RUlQMTU1OVRyYW5zYWN0aW9uPXQuVHJhbnNhY3Rpb25GYWN0b3J5PXQuQWNjZXNzTGlzdEVJUDI5MzBUcmFuc2FjdGlvbj10LlRyYW5zYWN0aW9uPXZvaWQgMDt2YXIgbz1yKDMwODgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJUcmFuc2FjdGlvbiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGkobykuZGVmYXVsdH19KTt2YXIgYT1yKDc2MTMpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJBY2Nlc3NMaXN0RUlQMjkzMFRyYW5zYWN0aW9uIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaShhKS5kZWZhdWx0fX0pO3ZhciBzPXIoOTU2Mik7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIlRyYW5zYWN0aW9uRmFjdG9yeSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGkocykuZGVmYXVsdH19KTt2YXIgdT1yKDY2MCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIkZlZU1hcmtldEVJUDE1NTlUcmFuc2FjdGlvbiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGkodSkuZGVmYXVsdH19KSxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiBlKSJkZWZhdWx0Ij09PXJ8fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpfHxuKHQsZSxyKX0ocig3MzI1KSx0KX0sMzA4ODooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuLGk9cig5MDMzKS5CdWZmZXIsbz0obj1mdW5jdGlvbihlLHQpe3JldHVybiBuPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihlLHQpe2UuX19wcm90b19fPXR9fHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpJiYoZVtyXT10W3JdKX0sbihlLHQpfSxmdW5jdGlvbihlLHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0JiZudWxsIT09dCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKHQpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPWV9bihlLHQpLGUucHJvdG90eXBlPW51bGw9PT10P09iamVjdC5jcmVhdGUodCk6KHIucHJvdG90eXBlPXQucHJvdG90eXBlLG5ldyByKX0pLGE9ZnVuY3Rpb24oKXtyZXR1cm4gYT1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIHQscj0xLG49YXJndW1lbnRzLmxlbmd0aDtyPG47cisrKWZvcih2YXIgaSBpbiB0PWFyZ3VtZW50c1tyXSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxpKSYmKGVbaV09dFtpXSk7cmV0dXJuIGV9LGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHM9cigzMDYyKSx1PXIoNzMyNSksYz1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQscil7dmFyIG47dm9pZCAwPT09ciYmKHI9e30pO3ZhciBpPWUuY2FsbCh0aGlzLGEoYSh7fSx0KSx7dHlwZTowfSkpfHx0aGlzO2lmKGkuY29tbW9uPWkuX3ZhbGlkYXRlVHhWKGkudixyLmNvbW1vbiksaS5nYXNQcmljZT1uZXcgcy5CTigoMCxzLnRvQnVmZmVyKSgiIj09PXQuZ2FzUHJpY2U/IjB4Ijp0Lmdhc1ByaWNlKSksaS5fdmFsaWRhdGVDYW5ub3RFeGNlZWRNYXhJbnRlZ2VyKHtnYXNQcmljZTppLmdhc1ByaWNlfSksaS5jb21tb24uZ3RlSGFyZGZvcmsoInNwdXJpb3VzRHJhZ29uIikpaWYoaS5pc1NpZ25lZCgpKXt2YXIgbz1pLnYsYz1pLmNvbW1vbi5jaGFpbklkQk4oKS5tdWxuKDIpOyhvLmVxKGMuYWRkbigzNSkpfHxvLmVxKGMuYWRkbigzNikpKSYmaS5hY3RpdmVDYXBhYmlsaXRpZXMucHVzaCh1LkNhcGFiaWxpdHkuRUlQMTU1UmVwbGF5UHJvdGVjdGlvbil9ZWxzZSBpLmFjdGl2ZUNhcGFiaWxpdGllcy5wdXNoKHUuQ2FwYWJpbGl0eS5FSVAxNTVSZXBsYXlQcm90ZWN0aW9uKTtyZXR1cm4obnVsbD09PShuPW51bGw9PXI/dm9pZCAwOnIuZnJlZXplKXx8dm9pZCAwPT09bnx8bikmJk9iamVjdC5mcmVlemUoaSksaX1yZXR1cm4gbyh0LGUpLHQuZnJvbVR4RGF0YT1mdW5jdGlvbihlLHIpe3JldHVybiB2b2lkIDA9PT1yJiYocj17fSksbmV3IHQoZSxyKX0sdC5mcm9tU2VyaWFsaXplZFR4PWZ1bmN0aW9uKGUsdCl7dm9pZCAwPT09dCYmKHQ9e30pO3ZhciByPXMucmxwLmRlY29kZShlKTtpZighQXJyYXkuaXNBcnJheShyKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2VyaWFsaXplZCB0eCBpbnB1dC4gTXVzdCBiZSBhcnJheSIpO3JldHVybiB0aGlzLmZyb21WYWx1ZXNBcnJheShyLHQpfSx0LmZyb21SbHBTZXJpYWxpemVkVHg9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9e30pLHQuZnJvbVNlcmlhbGl6ZWRUeChlLHIpfSx0LmZyb21WYWx1ZXNBcnJheT1mdW5jdGlvbihlLHIpe2lmKHZvaWQgMD09PXImJihyPXt9KSw2IT09ZS5sZW5ndGgmJjkhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgdHJhbnNhY3Rpb24uIE9ubHkgZXhwZWN0aW5nIDYgdmFsdWVzIChmb3IgdW5zaWduZWQgdHgpIG9yIDkgdmFsdWVzIChmb3Igc2lnbmVkIHR4KS4iKTt2YXIgbj1mdW5jdGlvbihlLHQpe3ZhciByPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXTtpZighcilyZXR1cm4gZTt2YXIgbixpLG89ci5jYWxsKGUpLGE9W107dHJ5e2Zvcig7KHZvaWQgMD09PXR8fHQtLSA+MCkmJiEobj1vLm5leHQoKSkuZG9uZTspYS5wdXNoKG4udmFsdWUpfWNhdGNoKGUpe2k9e2Vycm9yOmV9fWZpbmFsbHl7dHJ5e24mJiFuLmRvbmUmJihyPW8ucmV0dXJuKSYmci5jYWxsKG8pfWZpbmFsbHl7aWYoaSl0aHJvdyBpLmVycm9yfX1yZXR1cm4gYX0oZSw5KTtyZXR1cm4gbmV3IHQoe25vbmNlOm5bMF0sZ2FzUHJpY2U6blsxXSxnYXNMaW1pdDpuWzJdLHRvOm5bM10sdmFsdWU6bls0XSxkYXRhOm5bNV0sdjpuWzZdLHI6bls3XSxzOm5bOF19LHIpfSx0LnByb3RvdHlwZS5yYXc9ZnVuY3Rpb24oKXtyZXR1cm5bKDAscy5iblRvVW5wYWRkZWRCdWZmZXIpKHRoaXMubm9uY2UpLCgwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLmdhc1ByaWNlKSwoMCxzLmJuVG9VbnBhZGRlZEJ1ZmZlcikodGhpcy5nYXNMaW1pdCksdm9pZCAwIT09dGhpcy50bz90aGlzLnRvLmJ1ZjppLmZyb20oW10pLCgwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLnZhbHVlKSx0aGlzLmRhdGEsdm9pZCAwIT09dGhpcy52PygwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLnYpOmkuZnJvbShbXSksdm9pZCAwIT09dGhpcy5yPygwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLnIpOmkuZnJvbShbXSksdm9pZCAwIT09dGhpcy5zPygwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLnMpOmkuZnJvbShbXSldfSx0LnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm4gcy5ybHAuZW5jb2RlKHRoaXMucmF3KCkpfSx0LnByb3RvdHlwZS5fZ2V0TWVzc2FnZVRvU2lnbj1mdW5jdGlvbigpe3ZhciBlPVsoMCxzLmJuVG9VbnBhZGRlZEJ1ZmZlcikodGhpcy5ub25jZSksKDAscy5iblRvVW5wYWRkZWRCdWZmZXIpKHRoaXMuZ2FzUHJpY2UpLCgwLHMuYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLmdhc0xpbWl0KSx2b2lkIDAhPT10aGlzLnRvP3RoaXMudG8uYnVmOmkuZnJvbShbXSksKDAscy5iblRvVW5wYWRkZWRCdWZmZXIpKHRoaXMudmFsdWUpLHRoaXMuZGF0YV07cmV0dXJuIHRoaXMuc3VwcG9ydHModS5DYXBhYmlsaXR5LkVJUDE1NVJlcGxheVByb3RlY3Rpb24pJiYoZS5wdXNoKCgwLHMudG9CdWZmZXIpKHRoaXMuY29tbW9uLmNoYWluSWRCTigpKSksZS5wdXNoKCgwLHMudW5wYWRCdWZmZXIpKCgwLHMudG9CdWZmZXIpKDApKSksZS5wdXNoKCgwLHMudW5wYWRCdWZmZXIpKCgwLHMudG9CdWZmZXIpKDApKSkpLGV9LHQucHJvdG90eXBlLmdldE1lc3NhZ2VUb1NpZ249ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9ITApO3ZhciB0PXRoaXMuX2dldE1lc3NhZ2VUb1NpZ24oKTtyZXR1cm4gZT8oMCxzLnJscGhhc2gpKHQpOnR9LHQucHJvdG90eXBlLmdldFVwZnJvbnRDb3N0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2FzTGltaXQubXVsKHRoaXMuZ2FzUHJpY2UpLmFkZCh0aGlzLnZhbHVlKX0sdC5wcm90b3R5cGUuaGFzaD1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuaXNGcm96ZW4odGhpcyk/KHRoaXMuY2FjaGUuaGFzaHx8KHRoaXMuY2FjaGUuaGFzaD0oMCxzLnJscGhhc2gpKHRoaXMucmF3KCkpKSx0aGlzLmNhY2hlLmhhc2gpOigwLHMucmxwaGFzaCkodGhpcy5yYXcoKSl9LHQucHJvdG90eXBlLmdldE1lc3NhZ2VUb1ZlcmlmeVNpZ25hdHVyZT1mdW5jdGlvbigpe2lmKCF0aGlzLmlzU2lnbmVkKCkpdGhyb3cgRXJyb3IoIlRoaXMgdHJhbnNhY3Rpb24gaXMgbm90IHNpZ25lZCIpO3ZhciBlPXRoaXMuX2dldE1lc3NhZ2VUb1NpZ24oKTtyZXR1cm4oMCxzLnJscGhhc2gpKGUpfSx0LnByb3RvdHlwZS5nZXRTZW5kZXJQdWJsaWNLZXk9ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXMuZ2V0TWVzc2FnZVRvVmVyaWZ5U2lnbmF0dXJlKCk7aWYodGhpcy5jb21tb24uZ3RlSGFyZGZvcmsoImhvbWVzdGVhZCIpJiYobnVsbD09PShlPXRoaXMucyl8fHZvaWQgMD09PWU/dm9pZCAwOmUuZ3QodS5OX0RJVl8yKSkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIFNpZ25hdHVyZTogcy12YWx1ZXMgZ3JlYXRlciB0aGFuIHNlY3AyNTZrMW4vMiBhcmUgY29uc2lkZXJlZCBpbnZhbGlkIik7dmFyIHI9dGhpcyxuPXIudixpPXIucixvPXIuczt0cnl7cmV0dXJuKDAscy5lY3JlY292ZXIpKHQsbiwoMCxzLmJuVG9VbnBhZGRlZEJ1ZmZlcikoaSksKDAscy5iblRvVW5wYWRkZWRCdWZmZXIpKG8pLHRoaXMuc3VwcG9ydHModS5DYXBhYmlsaXR5LkVJUDE1NVJlcGxheVByb3RlY3Rpb24pP3RoaXMuY29tbW9uLmNoYWluSWRCTigpOnZvaWQgMCl9Y2F0Y2goZSl7dGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIFNpZ25hdHVyZSIpfX0sdC5wcm90b3R5cGUuX3Byb2Nlc3NTaWduYXR1cmU9ZnVuY3Rpb24oZSxyLG4pe3ZhciBpPW5ldyBzLkJOKGUpO3RoaXMuc3VwcG9ydHModS5DYXBhYmlsaXR5LkVJUDE1NVJlcGxheVByb3RlY3Rpb24pJiZpLmlhZGQodGhpcy5jb21tb24uY2hhaW5JZEJOKCkubXVsbigyKS5hZGRuKDgpKTt2YXIgbz17Y29tbW9uOnRoaXMuY29tbW9ufTtyZXR1cm4gdC5mcm9tVHhEYXRhKHtub25jZTp0aGlzLm5vbmNlLGdhc1ByaWNlOnRoaXMuZ2FzUHJpY2UsZ2FzTGltaXQ6dGhpcy5nYXNMaW1pdCx0bzp0aGlzLnRvLHZhbHVlOnRoaXMudmFsdWUsZGF0YTp0aGlzLmRhdGEsdjppLHI6bmV3IHMuQk4ociksczpuZXcgcy5CTihuKX0sbyl9LHQucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybntub25jZTooMCxzLmJuVG9IZXgpKHRoaXMubm9uY2UpLGdhc1ByaWNlOigwLHMuYm5Ub0hleCkodGhpcy5nYXNQcmljZSksZ2FzTGltaXQ6KDAscy5iblRvSGV4KSh0aGlzLmdhc0xpbWl0KSx0bzp2b2lkIDAhPT10aGlzLnRvP3RoaXMudG8udG9TdHJpbmcoKTp2b2lkIDAsdmFsdWU6KDAscy5iblRvSGV4KSh0aGlzLnZhbHVlKSxkYXRhOiIweCIrdGhpcy5kYXRhLnRvU3RyaW5nKCJoZXgiKSx2OnZvaWQgMCE9PXRoaXMudj8oMCxzLmJuVG9IZXgpKHRoaXMudik6dm9pZCAwLHI6dm9pZCAwIT09dGhpcy5yPygwLHMuYm5Ub0hleCkodGhpcy5yKTp2b2lkIDAsczp2b2lkIDAhPT10aGlzLnM/KDAscy5iblRvSGV4KSh0aGlzLnMpOnZvaWQgMH19LHQucHJvdG90eXBlLl92YWxpZGF0ZVR4Vj1mdW5jdGlvbihlLHQpe3ZhciByO2lmKHZvaWQgMCE9PWUmJiFlLmVxbigwKSYmKCF0fHx0Lmd0ZUhhcmRmb3JrKCJzcHVyaW91c0RyYWdvbiIpKSYmIWUuZXFuKDI3KSYmIWUuZXFuKDI4KSlpZih0KXt2YXIgbj10LmNoYWluSWRCTigpLm11bG4oMik7aWYoIWUuZXEobi5hZGRuKDM1KSkmJiFlLmVxKG4uYWRkbigzNikpKXRocm93IG5ldyBFcnJvcigiSW5jb21wYXRpYmxlIEVJUDE1NS1iYXNlZCBWICIrZS50b1N0cmluZygpKyIgYW5kIGNoYWluIGlkICIrdC5jaGFpbklkQk4oKS50b1N0cmluZygpKyIuIFNlZSB0aGUgQ29tbW9uIHBhcmFtZXRlciBvZiB0aGUgVHJhbnNhY3Rpb24gY29uc3RydWN0b3IgdG8gc2V0IHRoZSBjaGFpbiBpZC4iKX1lbHNle3ZhciBpO2k9ZS5zdWJuKDM1KS5pc0V2ZW4oKT8zNTozNixyPWUuc3VibihpKS5kaXZuKDIpfXJldHVybiB0aGlzLl9nZXRDb21tb24odCxyKX0sdC5wcm90b3R5cGUuX3Vuc2lnbmVkVHhJbXBsZW1lbnRzRUlQMTU1PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29tbW9uLmd0ZUhhcmRmb3JrKCJzcHVyaW91c0RyYWdvbiIpfSx0LnByb3RvdHlwZS5fc2lnbmVkVHhJbXBsZW1lbnRzRUlQMTU1PWZ1bmN0aW9uKCl7aWYoIXRoaXMuaXNTaWduZWQoKSl0aHJvdyBFcnJvcigiVGhpcyB0cmFuc2FjdGlvbiBpcyBub3Qgc2lnbmVkIik7dmFyIGU9dGhpcy5jb21tb24uZ3RlSGFyZGZvcmsoInNwdXJpb3VzRHJhZ29uIiksdD10aGlzLnYscj10aGlzLmNvbW1vbi5jaGFpbklkQk4oKS5tdWxuKDIpO3JldHVybih0LmVxKHIuYWRkbigzNSkpfHx0LmVxKHIuYWRkbigzNikpKSYmZX0sdH0ocig0MzgzKS5CYXNlVHJhbnNhY3Rpb24pO3QuZGVmYXVsdD1jfSw5NTYyOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPXIoMzA2Miksbz1yKDIzMzkpLGE9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7fXJldHVybiBlLmZyb21UeERhdGE9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDA9PT10JiYodD17fSksInR5cGUiaW4gZSYmdm9pZCAwIT09ZS50eXBlKXt2YXIgcj1uZXcgaS5CTigoMCxpLnRvQnVmZmVyKShlLnR5cGUpKS50b051bWJlcigpO2lmKDA9PT1yKXJldHVybiBvLlRyYW5zYWN0aW9uLmZyb21UeERhdGEoZSx0KTtpZigxPT09cilyZXR1cm4gby5BY2Nlc3NMaXN0RUlQMjkzMFRyYW5zYWN0aW9uLmZyb21UeERhdGEoZSx0KTtpZigyPT09cilyZXR1cm4gby5GZWVNYXJrZXRFSVAxNTU5VHJhbnNhY3Rpb24uZnJvbVR4RGF0YShlLHQpO3Rocm93IG5ldyBFcnJvcigiVHggaW5zdGFudGlhdGlvbiB3aXRoIHR5cGUgIityKyIgbm90IHN1cHBvcnRlZCIpfXJldHVybiBvLlRyYW5zYWN0aW9uLmZyb21UeERhdGEoZSx0KX0sZS5mcm9tU2VyaWFsaXplZERhdGE9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDA9PT10JiYodD17fSksZVswXTw9MTI3KXt2YXIgcj12b2lkIDA7c3dpdGNoKGVbMF0pe2Nhc2UgMTpyPTI5MzA7YnJlYWs7Y2FzZSAyOnI9MTU1OTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVHlwZWRUcmFuc2FjdGlvbiB3aXRoIElEICIrZVswXSsiIHVua25vd24iKX1yZXR1cm4gMTU1OT09PXI/by5GZWVNYXJrZXRFSVAxNTU5VHJhbnNhY3Rpb24uZnJvbVNlcmlhbGl6ZWRUeChlLHQpOm8uQWNjZXNzTGlzdEVJUDI5MzBUcmFuc2FjdGlvbi5mcm9tU2VyaWFsaXplZFR4KGUsdCl9cmV0dXJuIG8uVHJhbnNhY3Rpb24uZnJvbVNlcmlhbGl6ZWRUeChlLHQpfSxlLmZyb21CbG9ja0JvZHlEYXRhPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwPT09dCYmKHQ9e30pLG4uaXNCdWZmZXIoZSkpcmV0dXJuIHRoaXMuZnJvbVNlcmlhbGl6ZWREYXRhKGUsdCk7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gby5UcmFuc2FjdGlvbi5mcm9tVmFsdWVzQXJyYXkoZSx0KTt0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBkZWNvZGUgdHJhbnNhY3Rpb246IHVua25vd24gdHlwZSBpbnB1dCIpfSxlLmdldFRyYW5zYWN0aW9uQ2xhc3M9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDA9PT1lJiYoZT0wKSwwPT1lfHxlPj0xMjgmJmU8PTI1NSlyZXR1cm4gby5UcmFuc2FjdGlvbjtzd2l0Y2goZSl7Y2FzZSAxOnJldHVybiBvLkFjY2Vzc0xpc3RFSVAyOTMwVHJhbnNhY3Rpb247Y2FzZSAyOnJldHVybiBvLkZlZU1hcmtldEVJUDE1NTlUcmFuc2FjdGlvbjtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVHlwZWRUcmFuc2FjdGlvbiB3aXRoIElEICIrZSsiIHVua25vd24iKX19LGV9KCk7dC5kZWZhdWx0PWF9LDczMjU6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5OX0RJVl8yPXQuaXNBY2Nlc3NMaXN0PXQuaXNBY2Nlc3NMaXN0QnVmZmVyPXQuQ2FwYWJpbGl0eT12b2lkIDA7dmFyIG4saT1yKDMwNjIpO2Z1bmN0aW9uIG8oZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiEwO3ZhciB0PWVbMF07cmV0dXJuISFBcnJheS5pc0FycmF5KHQpfShuPXQuQ2FwYWJpbGl0eXx8KHQuQ2FwYWJpbGl0eT17fSkpW24uRUlQMTU1UmVwbGF5UHJvdGVjdGlvbj0xNTVdPSJFSVAxNTVSZXBsYXlQcm90ZWN0aW9uIixuW24uRUlQMTU1OUZlZU1hcmtldD0xNTU5XT0iRUlQMTU1OUZlZU1hcmtldCIsbltuLkVJUDI3MThUeXBlZFRyYW5zYWN0aW9uPTI3MThdPSJFSVAyNzE4VHlwZWRUcmFuc2FjdGlvbiIsbltuLkVJUDI5MzBBY2Nlc3NMaXN0cz0yOTMwXT0iRUlQMjkzMEFjY2Vzc0xpc3RzIix0LmlzQWNjZXNzTGlzdEJ1ZmZlcj1vLHQuaXNBY2Nlc3NMaXN0PWZ1bmN0aW9uKGUpe3JldHVybiFvKGUpfSx0Lk5fRElWXzI9bmV3IGkuQk4oIjdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNWQ1NzZlNzM1N2E0NTAxZGRmZTkyZjQ2NjgxYjIwYTAiLDE2KX0sMzc4OTooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LkFjY2Vzc0xpc3RzPXZvaWQgMDt2YXIgbj1yKDMwNjIpLGk9cig3MzI1KSxvPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpe31yZXR1cm4gZS5nZXRBY2Nlc3NMaXN0RGF0YT1mdW5jdGlvbihlKXt2YXIgdCxyO2lmKGUmJigwLGkuaXNBY2Nlc3NMaXN0KShlKSl7dD1lO2Zvcih2YXIgbz1bXSxhPTA7YTxlLmxlbmd0aDthKyspe2Zvcih2YXIgcz1lW2FdLHU9KDAsbi50b0J1ZmZlcikocy5hZGRyZXNzKSxjPVtdLGY9MDtmPHMuc3RvcmFnZUtleXMubGVuZ3RoO2YrKyljLnB1c2goKDAsbi50b0J1ZmZlcikocy5zdG9yYWdlS2V5c1tmXSkpO28ucHVzaChbdSxjXSl9cj1vfWVsc2V7cj1udWxsIT1lP2U6W107dmFyIGQ9W107Zm9yKGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIGw9clthXSxoPSgwLG4uYnVmZmVyVG9IZXgpKGxbMF0pLHA9W107Zm9yKHM9MDtzPGxbMV0ubGVuZ3RoO3MrKylwLnB1c2goKDAsbi5idWZmZXJUb0hleCkobFsxXVtzXSkpO3ZhciBiPXthZGRyZXNzOmgsc3RvcmFnZUtleXM6cH07ZC5wdXNoKGIpfXQ9ZH1yZXR1cm57QWNjZXNzTGlzdEpTT046dCxhY2Nlc3NMaXN0OnJ9fSxlLnZlcmlmeUFjY2Vzc0xpc3Q9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciByPWVbdF0sbj1yWzBdLGk9clsxXTtpZih2b2lkIDAhPT1yWzJdKXRocm93IG5ldyBFcnJvcigiQWNjZXNzIGxpc3QgaXRlbSBjYW5ub3QgaGF2ZSAzIGVsZW1lbnRzLiBJdCBjYW4gb25seSBoYXZlIGFuIGFkZHJlc3MsIGFuZCBhbiBhcnJheSBvZiBzdG9yYWdlIHNsb3RzLiIpO2lmKDIwIT1uLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgRUlQLTI5MzAgdHJhbnNhY3Rpb246IGFkZHJlc3MgbGVuZ3RoIHNob3VsZCBiZSAyMCBieXRlcyIpO2Zvcih2YXIgbz0wO288aS5sZW5ndGg7bysrKWlmKDMyIT1pW29dLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgRUlQLTI5MzAgdHJhbnNhY3Rpb246IHN0b3JhZ2Ugc2xvdCBsZW5ndGggc2hvdWxkIGJlIDMyIGJ5dGVzIil9fSxlLmdldEFjY2Vzc0xpc3RKU09OPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxyPTA7cjxlLmxlbmd0aDtyKyspe2Zvcih2YXIgaT1lW3JdLG89e2FkZHJlc3M6IjB4IisoMCxuLnNldExlbmd0aExlZnQpKGlbMF0sMjApLnRvU3RyaW5nKCJoZXgiKSxzdG9yYWdlS2V5czpbXX0sYT1pWzFdLHM9MDtzPGEubGVuZ3RoO3MrKyl7dmFyIHU9YVtzXTtvLnN0b3JhZ2VLZXlzLnB1c2goIjB4IisoMCxuLnNldExlbmd0aExlZnQpKHUsMzIpLnRvU3RyaW5nKCJoZXgiKSl9dC5wdXNoKG8pfXJldHVybiB0fSxlLmdldERhdGFGZWVFSVAyOTMwPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPXQucGFyYW0oImdhc1ByaWNlcyIsImFjY2Vzc0xpc3RTdG9yYWdlS2V5Q29zdCIpLG49dC5wYXJhbSgiZ2FzUHJpY2VzIiwiYWNjZXNzTGlzdEFkZHJlc3NDb3N0IiksaT0wLG89MDtvPGUubGVuZ3RoO28rKylpKz1lW29dWzFdLmxlbmd0aDtyZXR1cm4gZS5sZW5ndGgqbitpKnJ9LGV9KCk7dC5BY2Nlc3NMaXN0cz1vfSw4MDY3OihlLHQpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnZlcnNpb249dm9pZCAwLHQudmVyc2lvbj0iYWJpLzUuNy4wIn0sNDkzNzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdEFiaUNvZGVyPXQuQWJpQ29kZXI9dm9pZCAwO3ZhciBpPW4ocig5NzIxKSksbz1uKHIoODk4NSkpLGE9cig5MDgpLHM9cigzNjk0KSx1PXIoNDMyNyksYz1yKDgwNjcpLGY9cig3MzE2KSxkPXIoOTE0NiksbD1yKDQzNDEpLGg9cigyNCkscD1yKDM4NjEpLGI9cigyOCkseT1yKDQ1MjIpLG09cig4Mjg3KSx2PXIoODA0MCksZz1yKDIwMTApLHc9cig4MDApLEE9bmV3IHUuTG9nZ2VyKGMudmVyc2lvbiksaz1uZXcgUmVnRXhwKC9eYnl0ZXMoWzAtOV0qKSQvKSxfPW5ldyBSZWdFeHAoL14odT9pbnQpKFswLTldKikkLyksUz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCl7KDAsaS5kZWZhdWx0KSh0aGlzLGUpLCgwLHMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImNvZXJjZUZ1bmMiLHR8fG51bGwpfXJldHVybigwLG8uZGVmYXVsdCkoZSxbe2tleToiX2dldENvZGVyIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzO3N3aXRjaChlLmJhc2VUeXBlKXtjYXNlImFkZHJlc3MiOnJldHVybiBuZXcgZC5BZGRyZXNzQ29kZXIoZS5uYW1lKTtjYXNlImJvb2wiOnJldHVybiBuZXcgaC5Cb29sZWFuQ29kZXIoZS5uYW1lKTtjYXNlInN0cmluZyI6cmV0dXJuIG5ldyB2LlN0cmluZ0NvZGVyKGUubmFtZSk7Y2FzZSJieXRlcyI6cmV0dXJuIG5ldyBwLkJ5dGVzQ29kZXIoZS5uYW1lKTtjYXNlImFycmF5IjpyZXR1cm4gbmV3IGwuQXJyYXlDb2Rlcih0aGlzLl9nZXRDb2RlcihlLmFycmF5Q2hpbGRyZW4pLGUuYXJyYXlMZW5ndGgsZS5uYW1lKTtjYXNlInR1cGxlIjpyZXR1cm4gbmV3IGcuVHVwbGVDb2RlcigoZS5jb21wb25lbnRzfHxbXSkubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdC5fZ2V0Q29kZXIoZSl9KSksZS5uYW1lKTtjYXNlIiI6cmV0dXJuIG5ldyB5Lk51bGxDb2RlcihlLm5hbWUpfXZhciByPWUudHlwZS5tYXRjaChfKTtpZihyKXt2YXIgbj1wYXJzZUludChyWzJdfHwiMjU2Iik7cmV0dXJuKDA9PT1ufHxuPjI1Nnx8biU4IT0wKSYmQS50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgIityWzFdKyIgYml0IGxlbmd0aCIsInBhcmFtIixlKSxuZXcgbS5OdW1iZXJDb2RlcihuLzgsImludCI9PT1yWzFdLGUubmFtZSl9aWYocj1lLnR5cGUubWF0Y2goaykpe3ZhciBpPXBhcnNlSW50KHJbMV0pO3JldHVybigwPT09aXx8aT4zMikmJkEudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGJ5dGVzIGxlbmd0aCIsInBhcmFtIixlKSxuZXcgYi5GaXhlZEJ5dGVzQ29kZXIoaSxlLm5hbWUpfXJldHVybiBBLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCB0eXBlIiwidHlwZSIsZS50eXBlKX19LHtrZXk6Il9nZXRXb3JkU2l6ZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gMzJ9fSx7a2V5OiJfZ2V0UmVhZGVyIix2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBuZXcgZi5SZWFkZXIoZSx0aGlzLl9nZXRXb3JkU2l6ZSgpLHRoaXMuY29lcmNlRnVuYyx0KX19LHtrZXk6Il9nZXRXcml0ZXIiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBmLldyaXRlcih0aGlzLl9nZXRXb3JkU2l6ZSgpKX19LHtrZXk6ImdldERlZmF1bHRWYWx1ZSIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxyPWUubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdC5fZ2V0Q29kZXIody5QYXJhbVR5cGUuZnJvbShlKSl9KSk7cmV0dXJuIG5ldyBnLlR1cGxlQ29kZXIociwiXyIpLmRlZmF1bHRWYWx1ZSgpfX0se2tleToiZW5jb2RlIix2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciByPXRoaXM7ZS5sZW5ndGghPT10Lmxlbmd0aCYmQS50aHJvd0Vycm9yKCJ0eXBlcy92YWx1ZXMgbGVuZ3RoIG1pc21hdGNoIix1LkxvZ2dlci5lcnJvcnMuSU5WQUxJRF9BUkdVTUVOVCx7Y291bnQ6e3R5cGVzOmUubGVuZ3RoLHZhbHVlczp0Lmxlbmd0aH0sdmFsdWU6e3R5cGVzOmUsdmFsdWVzOnR9fSk7dmFyIG49ZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiByLl9nZXRDb2Rlcih3LlBhcmFtVHlwZS5mcm9tKGUpKX0pKSxpPW5ldyBnLlR1cGxlQ29kZXIobiwiXyIpLG89dGhpcy5fZ2V0V3JpdGVyKCk7cmV0dXJuIGkuZW5jb2RlKG8sdCksby5kYXRhfX0se2tleToiZGVjb2RlIix2YWx1ZTpmdW5jdGlvbihlLHQscil7dmFyIG49dGhpcyxpPWUubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gbi5fZ2V0Q29kZXIody5QYXJhbVR5cGUuZnJvbShlKSl9KSk7cmV0dXJuIG5ldyBnLlR1cGxlQ29kZXIoaSwiXyIpLmRlY29kZSh0aGlzLl9nZXRSZWFkZXIoKDAsYS5hcnJheWlmeSkodCkscikpfX1dKSxlfSgpO3QuQWJpQ29kZXI9Uzt2YXIgeD1uZXcgUzt0LmRlZmF1bHRBYmlDb2Rlcj14fSw3MzE2OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5Xcml0ZXI9dC5SZWFkZXI9dC5Db2Rlcj12b2lkIDAsdC5jaGVja1Jlc3VsdEVycm9ycz1mdW5jdGlvbihlKXt2YXIgdD1bXTtyZXR1cm4gZnVuY3Rpb24gZShyLG4pe2lmKEFycmF5LmlzQXJyYXkobikpZm9yKHZhciBpIGluIG4pe3ZhciBvPXIuc2xpY2UoKTtvLnB1c2goaSk7dHJ5e2UobyxuW2ldKX1jYXRjaChlKXt0LnB1c2goe3BhdGg6byxlcnJvcjplfSl9fX0oW10sZSksdH07dmFyIGk9bihyKDk3MjEpKSxvPW4ocig4OTg1KSksYT1yKDkwOCkscz1yKDQ5NTIpLHU9cigzNjk0KSxjPXIoNDMyNyksZj1yKDgwNjcpLGQ9bmV3IGMuTG9nZ2VyKGYudmVyc2lvbiksbD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxyLG4sbyl7KDAsaS5kZWZhdWx0KSh0aGlzLGUpLHRoaXMubmFtZT10LHRoaXMudHlwZT1yLHRoaXMubG9jYWxOYW1lPW4sdGhpcy5keW5hbWljPW99cmV0dXJuKDAsby5kZWZhdWx0KShlLFt7a2V5OiJfdGhyb3dFcnJvciIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtkLnRocm93QXJndW1lbnRFcnJvcihlLHRoaXMubG9jYWxOYW1lLHQpfX1dKSxlfSgpO3QuQ29kZXI9bDt2YXIgaD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCl7KDAsaS5kZWZhdWx0KSh0aGlzLGUpLCgwLHUuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIndvcmRTaXplIix0fHwzMiksdGhpcy5fZGF0YT1bXSx0aGlzLl9kYXRhTGVuZ3RoPTAsdGhpcy5fcGFkZGluZz1uZXcgVWludDhBcnJheSh0KX1yZXR1cm4oMCxvLmRlZmF1bHQpKGUsW3trZXk6ImRhdGEiLGdldDpmdW5jdGlvbigpe3JldHVybigwLGEuaGV4Q29uY2F0KSh0aGlzLl9kYXRhKX19LHtrZXk6Imxlbmd0aCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RhdGFMZW5ndGh9fSx7a2V5OiJfd3JpdGVEYXRhIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fZGF0YS5wdXNoKGUpLHRoaXMuX2RhdGFMZW5ndGgrPWUubGVuZ3RoLGUubGVuZ3RofX0se2tleToiYXBwZW5kV3JpdGVyIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fd3JpdGVEYXRhKCgwLGEuY29uY2F0KShlLl9kYXRhKSl9fSx7a2V5OiJ3cml0ZUJ5dGVzIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD0oMCxhLmFycmF5aWZ5KShlKSxyPXQubGVuZ3RoJXRoaXMud29yZFNpemU7cmV0dXJuIHImJih0PSgwLGEuY29uY2F0KShbdCx0aGlzLl9wYWRkaW5nLnNsaWNlKHIpXSkpLHRoaXMuX3dyaXRlRGF0YSh0KX19LHtrZXk6Il9nZXRWYWx1ZSIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9KDAsYS5hcnJheWlmeSkocy5CaWdOdW1iZXIuZnJvbShlKSk7cmV0dXJuIHQubGVuZ3RoPnRoaXMud29yZFNpemUmJmQudGhyb3dFcnJvcigidmFsdWUgb3V0LW9mLWJvdW5kcyIsYy5Mb2dnZXIuZXJyb3JzLkJVRkZFUl9PVkVSUlVOLHtsZW5ndGg6dGhpcy53b3JkU2l6ZSxvZmZzZXQ6dC5sZW5ndGh9KSx0Lmxlbmd0aCV0aGlzLndvcmRTaXplJiYodD0oMCxhLmNvbmNhdCkoW3RoaXMuX3BhZGRpbmcuc2xpY2UodC5sZW5ndGgldGhpcy53b3JkU2l6ZSksdF0pKSx0fX0se2tleToid3JpdGVWYWx1ZSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX3dyaXRlRGF0YSh0aGlzLl9nZXRWYWx1ZShlKSl9fSx7a2V5OiJ3cml0ZVVwZGF0YWJsZVZhbHVlIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD10aGlzLl9kYXRhLmxlbmd0aDtyZXR1cm4gdGhpcy5fZGF0YS5wdXNoKHRoaXMuX3BhZGRpbmcpLHRoaXMuX2RhdGFMZW5ndGgrPXRoaXMud29yZFNpemUsZnVuY3Rpb24ocil7ZS5fZGF0YVt0XT1lLl9nZXRWYWx1ZShyKX19fV0pLGV9KCk7dC5Xcml0ZXI9aDt2YXIgcD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxyLG4sbyl7KDAsaS5kZWZhdWx0KSh0aGlzLGUpLCgwLHUuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIl9kYXRhIiwoMCxhLmFycmF5aWZ5KSh0KSksKDAsdS5kZWZpbmVSZWFkT25seSkodGhpcywid29yZFNpemUiLHJ8fDMyKSwoMCx1LmRlZmluZVJlYWRPbmx5KSh0aGlzLCJfY29lcmNlRnVuYyIsbiksKDAsdS5kZWZpbmVSZWFkT25seSkodGhpcywiYWxsb3dMb29zZSIsbyksdGhpcy5fb2Zmc2V0PTB9cmV0dXJuKDAsby5kZWZhdWx0KShlLFt7a2V5OiJkYXRhIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4oMCxhLmhleGxpZnkpKHRoaXMuX2RhdGEpfX0se2tleToiY29uc3VtZWQiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9vZmZzZXR9fSx7a2V5OiJjb2VyY2UiLHZhbHVlOmZ1bmN0aW9uKHQscil7cmV0dXJuIHRoaXMuX2NvZXJjZUZ1bmM/dGhpcy5fY29lcmNlRnVuYyh0LHIpOmUuY29lcmNlKHQscil9fSx7a2V5OiJfcGVla0J5dGVzIix2YWx1ZTpmdW5jdGlvbihlLHQscil7dmFyIG49TWF0aC5jZWlsKHQvdGhpcy53b3JkU2l6ZSkqdGhpcy53b3JkU2l6ZTtyZXR1cm4gdGhpcy5fb2Zmc2V0K24+dGhpcy5fZGF0YS5sZW5ndGgmJih0aGlzLmFsbG93TG9vc2UmJnImJnRoaXMuX29mZnNldCt0PD10aGlzLl9kYXRhLmxlbmd0aD9uPXQ6ZC50aHJvd0Vycm9yKCJkYXRhIG91dC1vZi1ib3VuZHMiLGMuTG9nZ2VyLmVycm9ycy5CVUZGRVJfT1ZFUlJVTix7bGVuZ3RoOnRoaXMuX2RhdGEubGVuZ3RoLG9mZnNldDp0aGlzLl9vZmZzZXQrbn0pKSx0aGlzLl9kYXRhLnNsaWNlKHRoaXMuX29mZnNldCx0aGlzLl9vZmZzZXQrbil9fSx7a2V5OiJzdWJSZWFkZXIiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgZSh0aGlzLl9kYXRhLnNsaWNlKHRoaXMuX29mZnNldCt0KSx0aGlzLndvcmRTaXplLHRoaXMuX2NvZXJjZUZ1bmMsdGhpcy5hbGxvd0xvb3NlKX19LHtrZXk6InJlYWRCeXRlcyIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLl9wZWVrQnl0ZXMoMCxlLCEhdCk7cmV0dXJuIHRoaXMuX29mZnNldCs9ci5sZW5ndGgsci5zbGljZSgwLGUpfX0se2tleToicmVhZFZhbHVlIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBzLkJpZ051bWJlci5mcm9tKHRoaXMucmVhZEJ5dGVzKHRoaXMud29yZFNpemUpKX19XSxbe2tleToiY29lcmNlIix2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciByPWUubWF0Y2goIl51P2ludChbMC05XSspJCIpO3JldHVybiByJiZwYXJzZUludChyWzFdKTw9NDgmJih0PXQudG9OdW1iZXIoKSksdH19XSksZX0oKTt0LlJlYWRlcj1wfSw5MTQ2OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5BZGRyZXNzQ29kZXI9dm9pZCAwO3ZhciBpPW4ocig5NzIxKSksbz1uKHIoODk4NSkpLGE9bihyKDUxNjMpKSxzPW4ocig0NjUwKSksdT1uKHIoMTk0OSkpLGM9cig3OTIxKSxmPXIoOTA4KTt2YXIgZD1mdW5jdGlvbihlKXsoMCxhLmRlZmF1bHQpKGQsZSk7dmFyIHQscixuPSh0PWQscj1mdW5jdGlvbigpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgUmVmbGVjdHx8IVJlZmxlY3QuY29uc3RydWN0KXJldHVybiExO2lmKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIFByb3h5KXJldHVybiEwO3RyeXtyZXR1cm4gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sW10sKGZ1bmN0aW9uKCl7fSkpKSwhMH1jYXRjaChlKXtyZXR1cm4hMX19KCksZnVuY3Rpb24oKXt2YXIgZSxuPSgwLHUuZGVmYXVsdCkodCk7aWYocil7dmFyIGk9KDAsdS5kZWZhdWx0KSh0aGlzKS5jb25zdHJ1Y3RvcjtlPVJlZmxlY3QuY29uc3RydWN0KG4sYXJndW1lbnRzLGkpfWVsc2UgZT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4oMCxzLmRlZmF1bHQpKHRoaXMsZSl9KTtmdW5jdGlvbiBkKGUpe3JldHVybigwLGkuZGVmYXVsdCkodGhpcyxkKSxuLmNhbGwodGhpcywiYWRkcmVzcyIsImFkZHJlc3MiLGUsITEpfXJldHVybigwLG8uZGVmYXVsdCkoZCxbe2tleToiZGVmYXVsdFZhbHVlIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiIweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAifX0se2tleToiZW5jb2RlIix2YWx1ZTpmdW5jdGlvbihlLHQpe3RyeXt0PSgwLGMuZ2V0QWRkcmVzcykodCl9Y2F0Y2goZSl7dGhpcy5fdGhyb3dFcnJvcihlLm1lc3NhZ2UsdCl9cmV0dXJuIGUud3JpdGVWYWx1ZSh0KX19LHtrZXk6ImRlY29kZSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuKDAsYy5nZXRBZGRyZXNzKSgoMCxmLmhleFplcm9QYWQpKGUucmVhZFZhbHVlKCkudG9IZXhTdHJpbmcoKSwyMCkpfX1dKSxkfShyKDczMTYpLkNvZGVyKTt0LkFkZHJlc3NDb2Rlcj1kfSw4MDkwOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5Bbm9ueW1vdXNDb2Rlcj12b2lkIDA7dmFyIGk9bihyKDk3MjEpKSxvPW4ocig4OTg1KSksYT1uKHIoNTE2MykpLHM9bihyKDQ2NTApKSx1PW4ocigxOTQ5KSk7dmFyIGM9ZnVuY3Rpb24oZSl7KDAsYS5kZWZhdWx0KShjLGUpO3ZhciB0LHIsbj0odD1jLHI9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBQcm94eSlyZXR1cm4hMDt0cnl7cmV0dXJuIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChCb29sZWFuLFtdLChmdW5jdGlvbigpe30pKSksITB9Y2F0Y2goZSl7cmV0dXJuITF9fSgpLGZ1bmN0aW9uKCl7dmFyIGUsbj0oMCx1LmRlZmF1bHQpKHQpO2lmKHIpe3ZhciBpPSgwLHUuZGVmYXVsdCkodGhpcykuY29uc3RydWN0b3I7ZT1SZWZsZWN0LmNvbnN0cnVjdChuLGFyZ3VtZW50cyxpKX1lbHNlIGU9bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuKDAscy5kZWZhdWx0KSh0aGlzLGUpfSk7ZnVuY3Rpb24gYyhlKXt2YXIgdDtyZXR1cm4oMCxpLmRlZmF1bHQpKHRoaXMsYyksKHQ9bi5jYWxsKHRoaXMsZS5uYW1lLGUudHlwZSx2b2lkIDAsZS5keW5hbWljKSkuY29kZXI9ZSx0fXJldHVybigwLG8uZGVmYXVsdCkoYyxbe2tleToiZGVmYXVsdFZhbHVlIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvZGVyLmRlZmF1bHRWYWx1ZSgpfX0se2tleToiZW5jb2RlIix2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmNvZGVyLmVuY29kZShlLHQpfX0se2tleToiZGVjb2RlIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jb2Rlci5kZWNvZGUoZSl9fV0pLGN9KHIoNzMxNikuQ29kZXIpO3QuQW5vbnltb3VzQ29kZXI9Y30sNDM0MTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuQXJyYXlDb2Rlcj12b2lkIDAsdC5wYWNrPWIsdC51bnBhY2s9eTt2YXIgaT1uKHIoOTcyMSkpLG89bihyKDg5ODUpKSxhPW4ocig1MTYzKSkscz1uKHIoNDY1MCkpLHU9bihyKDE5NDkpKSxjPW4ocigzMzU1KSksZj1yKDQzMjcpLGQ9cig4MDY3KSxsPXIoNzMxNiksaD1yKDgwOTApO3ZhciBwPW5ldyBmLkxvZ2dlcihkLnZlcnNpb24pO2Z1bmN0aW9uIGIoZSx0LHIpe3ZhciBuPW51bGw7aWYoQXJyYXkuaXNBcnJheShyKSluPXI7ZWxzZSBpZihyJiYib2JqZWN0Ij09PSgwLGMuZGVmYXVsdCkocikpe3ZhciBpPXt9O249dC5tYXAoKGZ1bmN0aW9uKGUpe3ZhciB0PWUubG9jYWxOYW1lO3JldHVybiB0fHxwLnRocm93RXJyb3IoImNhbm5vdCBlbmNvZGUgb2JqZWN0IGZvciBzaWduYXR1cmUgd2l0aCBtaXNzaW5nIG5hbWVzIixmLkxvZ2dlci5lcnJvcnMuSU5WQUxJRF9BUkdVTUVOVCx7YXJndW1lbnQ6InZhbHVlcyIsY29kZXI6ZSx2YWx1ZTpyfSksaVt0XSYmcC50aHJvd0Vycm9yKCJjYW5ub3QgZW5jb2RlIG9iamVjdCBmb3Igc2lnbmF0dXJlIHdpdGggZHVwbGljYXRlIG5hbWVzIixmLkxvZ2dlci5lcnJvcnMuSU5WQUxJRF9BUkdVTUVOVCx7YXJndW1lbnQ6InZhbHVlcyIsY29kZXI6ZSx2YWx1ZTpyfSksaVt0XT0hMCxyW3RdfSkpfWVsc2UgcC50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgdHVwbGUgdmFsdWUiLCJ0dXBsZSIscik7dC5sZW5ndGghPT1uLmxlbmd0aCYmcC50aHJvd0FyZ3VtZW50RXJyb3IoInR5cGVzL3ZhbHVlIGxlbmd0aCBtaXNtYXRjaCIsInR1cGxlIixyKTt2YXIgbz1uZXcgbC5Xcml0ZXIoZS53b3JkU2l6ZSksYT1uZXcgbC5Xcml0ZXIoZS53b3JkU2l6ZSkscz1bXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbihlLHQpe3ZhciByPW5bdF07aWYoZS5keW5hbWljKXt2YXIgaT1hLmxlbmd0aDtlLmVuY29kZShhLHIpO3ZhciB1PW8ud3JpdGVVcGRhdGFibGVWYWx1ZSgpO3MucHVzaCgoZnVuY3Rpb24oZSl7dShlK2kpfSkpfWVsc2UgZS5lbmNvZGUobyxyKX0pKSxzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2Uoby5sZW5ndGgpfSkpLGUuYXBwZW5kV3JpdGVyKG8pK2UuYXBwZW5kV3JpdGVyKGEpfWZ1bmN0aW9uIHkoZSx0KXt2YXIgcj1bXSxuPWUuc3ViUmVhZGVyKDApO3QuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGk9bnVsbDtpZih0LmR5bmFtaWMpe3ZhciBvPWUucmVhZFZhbHVlKCksYT1uLnN1YlJlYWRlcihvLnRvTnVtYmVyKCkpO3RyeXtpPXQuZGVjb2RlKGEpfWNhdGNoKGUpe2lmKGUuY29kZT09PWYuTG9nZ2VyLmVycm9ycy5CVUZGRVJfT1ZFUlJVTil0aHJvdyBlOyhpPWUpLmJhc2VUeXBlPXQubmFtZSxpLm5hbWU9dC5sb2NhbE5hbWUsaS50eXBlPXQudHlwZX19ZWxzZSB0cnl7aT10LmRlY29kZShlKX1jYXRjaChlKXtpZihlLmNvZGU9PT1mLkxvZ2dlci5lcnJvcnMuQlVGRkVSX09WRVJSVU4pdGhyb3cgZTsoaT1lKS5iYXNlVHlwZT10Lm5hbWUsaS5uYW1lPXQubG9jYWxOYW1lLGkudHlwZT10LnR5cGV9bnVsbCE9aSYmci5wdXNoKGkpfSkpO3ZhciBpPXQucmVkdWNlKChmdW5jdGlvbihlLHQpe3ZhciByPXQubG9jYWxOYW1lO3JldHVybiByJiYoZVtyXXx8KGVbcl09MCksZVtyXSsrKSxlfSkse30pO3QuZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmxvY2FsTmFtZTtpZihuJiYxPT09aVtuXSYmKCJsZW5ndGgiPT09biYmKG49Il9sZW5ndGgiKSxudWxsPT1yW25dKSl7dmFyIG89clt0XTtvIGluc3RhbmNlb2YgRXJyb3I/T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBvfX0pOnJbbl09b319KSk7Zm9yKHZhciBvPWZ1bmN0aW9uKGUpe3ZhciB0PXJbZV07dCBpbnN0YW5jZW9mIEVycm9yJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixlLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3Rocm93IHR9fSl9LGE9MDthPHIubGVuZ3RoO2ErKylvKGEpO3JldHVybiBPYmplY3QuZnJlZXplKHIpfXZhciBtPWZ1bmN0aW9uKGUpeygwLGEuZGVmYXVsdCkoYyxlKTt2YXIgdCxyLG49KHQ9YyxyPWZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBSZWZsZWN0fHwhUmVmbGVjdC5jb25zdHJ1Y3QpcmV0dXJuITE7aWYoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgUHJveHkpcmV0dXJuITA7dHJ5e3JldHVybiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoQm9vbGVhbixbXSwoZnVuY3Rpb24oKXt9KSkpLCEwfWNhdGNoKGUpe3JldHVybiExfX0oKSxmdW5jdGlvbigpe3ZhciBlLG49KDAsdS5kZWZhdWx0KSh0KTtpZihyKXt2YXIgaT0oMCx1LmRlZmF1bHQpKHRoaXMpLmNvbnN0cnVjdG9yO2U9UmVmbGVjdC5jb25zdHJ1Y3Qobixhcmd1bWVudHMsaSl9ZWxzZSBlPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybigwLHMuZGVmYXVsdCkodGhpcyxlKX0pO2Z1bmN0aW9uIGMoZSx0LHIpe3ZhciBvOygwLGkuZGVmYXVsdCkodGhpcyxjKTt2YXIgYT1lLnR5cGUrIlsiKyh0Pj0wP3Q6IiIpKyJdIixzPS0xPT09dHx8ZS5keW5hbWljO3JldHVybihvPW4uY2FsbCh0aGlzLCJhcnJheSIsYSxyLHMpKS5jb2Rlcj1lLG8ubGVuZ3RoPXQsb31yZXR1cm4oMCxvLmRlZmF1bHQpKGMsW3trZXk6ImRlZmF1bHRWYWx1ZSIsdmFsdWU6ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5jb2Rlci5kZWZhdWx0VmFsdWUoKSx0PVtdLHI9MDtyPHRoaXMubGVuZ3RoO3IrKyl0LnB1c2goZSk7cmV0dXJuIHR9fSx7a2V5OiJlbmNvZGUiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7QXJyYXkuaXNBcnJheSh0KXx8dGhpcy5fdGhyb3dFcnJvcigiZXhwZWN0ZWQgYXJyYXkgdmFsdWUiLHQpO3ZhciByPXRoaXMubGVuZ3RoOy0xPT09ciYmKHI9dC5sZW5ndGgsZS53cml0ZVZhbHVlKHQubGVuZ3RoKSkscC5jaGVja0FyZ3VtZW50Q291bnQodC5sZW5ndGgsciwiY29kZXIgYXJyYXkiKyh0aGlzLmxvY2FsTmFtZT8iICIrdGhpcy5sb2NhbE5hbWU6IiIpKTtmb3IodmFyIG49W10saT0wO2k8dC5sZW5ndGg7aSsrKW4ucHVzaCh0aGlzLmNvZGVyKTtyZXR1cm4gYihlLG4sdCl9fSx7a2V5OiJkZWNvZGUiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMubGVuZ3RoOy0xPT09dCYmMzIqKHQ9ZS5yZWFkVmFsdWUoKS50b051bWJlcigpKT5lLl9kYXRhLmxlbmd0aCYmcC50aHJvd0Vycm9yKCJpbnN1ZmZpY2llbnQgZGF0YSBsZW5ndGgiLGYuTG9nZ2VyLmVycm9ycy5CVUZGRVJfT1ZFUlJVTix7bGVuZ3RoOmUuX2RhdGEubGVuZ3RoLGNvdW50OnR9KTtmb3IodmFyIHI9W10sbj0wO248dDtuKyspci5wdXNoKG5ldyBoLkFub255bW91c0NvZGVyKHRoaXMuY29kZXIpKTtyZXR1cm4gZS5jb2VyY2UodGhpcy5uYW1lLHkoZSxyKSl9fV0pLGN9KGwuQ29kZXIpO3QuQXJyYXlDb2Rlcj1tfSwyNDooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuQm9vbGVhbkNvZGVyPXZvaWQgMDt2YXIgaT1uKHIoOTcyMSkpLG89bihyKDg5ODUpKSxhPW4ocig1MTYzKSkscz1uKHIoNDY1MCkpLHU9bihyKDE5NDkpKTt2YXIgYz1mdW5jdGlvbihlKXsoMCxhLmRlZmF1bHQpKGMsZSk7dmFyIHQscixuPSh0PWMscj1mdW5jdGlvbigpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgUmVmbGVjdHx8IVJlZmxlY3QuY29uc3RydWN0KXJldHVybiExO2lmKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIFByb3h5KXJldHVybiEwO3RyeXtyZXR1cm4gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sW10sKGZ1bmN0aW9uKCl7fSkpKSwhMH1jYXRjaChlKXtyZXR1cm4hMX19KCksZnVuY3Rpb24oKXt2YXIgZSxuPSgwLHUuZGVmYXVsdCkodCk7aWYocil7dmFyIGk9KDAsdS5kZWZhdWx0KSh0aGlzKS5jb25zdHJ1Y3RvcjtlPVJlZmxlY3QuY29uc3RydWN0KG4sYXJndW1lbnRzLGkpfWVsc2UgZT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4oMCxzLmRlZmF1bHQpKHRoaXMsZSl9KTtmdW5jdGlvbiBjKGUpe3JldHVybigwLGkuZGVmYXVsdCkodGhpcyxjKSxuLmNhbGwodGhpcywiYm9vbCIsImJvb2wiLGUsITEpfXJldHVybigwLG8uZGVmYXVsdCkoYyxbe2tleToiZGVmYXVsdFZhbHVlIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiExfX0se2tleToiZW5jb2RlIix2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBlLndyaXRlVmFsdWUodD8xOjApfX0se2tleToiZGVjb2RlIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gZS5jb2VyY2UodGhpcy50eXBlLCFlLnJlYWRWYWx1ZSgpLmlzWmVybygpKX19XSksY30ocig3MzE2KS5Db2Rlcik7dC5Cb29sZWFuQ29kZXI9Y30sMzg2MTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuRHluYW1pY0J5dGVzQ29kZXI9dC5CeXRlc0NvZGVyPXZvaWQgMDt2YXIgaT1uKHIoMTE5KSksbz1uKHIoOTcyMSkpLGE9bihyKDg5ODUpKSxzPW4ocig1MTYzKSksdT1uKHIoNDY1MCkpLGM9bihyKDE5NDkpKSxmPXIoOTA4KTtmdW5jdGlvbiBkKGUpe3ZhciB0PWZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBSZWZsZWN0fHwhUmVmbGVjdC5jb25zdHJ1Y3QpcmV0dXJuITE7aWYoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgUHJveHkpcmV0dXJuITA7dHJ5e3JldHVybiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoQm9vbGVhbixbXSwoZnVuY3Rpb24oKXt9KSkpLCEwfWNhdGNoKGUpe3JldHVybiExfX0oKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcixuPSgwLGMuZGVmYXVsdCkoZSk7aWYodCl7dmFyIGk9KDAsYy5kZWZhdWx0KSh0aGlzKS5jb25zdHJ1Y3RvcjtyPVJlZmxlY3QuY29uc3RydWN0KG4sYXJndW1lbnRzLGkpfWVsc2Ugcj1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4oMCx1LmRlZmF1bHQpKHRoaXMscil9fXZhciBsPWZ1bmN0aW9uKGUpeygwLHMuZGVmYXVsdCkocixlKTt2YXIgdD1kKHIpO2Z1bmN0aW9uIHIoZSxuKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHRoaXMsciksdC5jYWxsKHRoaXMsZSxlLG4sITApfXJldHVybigwLGEuZGVmYXVsdCkocixbe2tleToiZGVmYXVsdFZhbHVlIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiIweCJ9fSx7a2V5OiJlbmNvZGUiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ9KDAsZi5hcnJheWlmeSkodCksZS53cml0ZVZhbHVlKHQubGVuZ3RoKStlLndyaXRlQnl0ZXModCl9fSx7a2V5OiJkZWNvZGUiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnJlYWRCeXRlcyhlLnJlYWRWYWx1ZSgpLnRvTnVtYmVyKCksITApfX1dKSxyfShyKDczMTYpLkNvZGVyKTt0LkR5bmFtaWNCeXRlc0NvZGVyPWw7dmFyIGg9ZnVuY3Rpb24oZSl7KDAscy5kZWZhdWx0KShyLGUpO3ZhciB0PWQocik7ZnVuY3Rpb24gcihlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHRoaXMsciksdC5jYWxsKHRoaXMsImJ5dGVzIixlKX1yZXR1cm4oMCxhLmRlZmF1bHQpKHIsW3trZXk6ImRlY29kZSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuY29lcmNlKHRoaXMubmFtZSwoMCxmLmhleGxpZnkpKCgwLGkuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KShyLnByb3RvdHlwZSksImRlY29kZSIsdGhpcykuY2FsbCh0aGlzLGUpKSl9fV0pLHJ9KGwpO3QuQnl0ZXNDb2Rlcj1ofSwyODooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuRml4ZWRCeXRlc0NvZGVyPXZvaWQgMDt2YXIgaT1uKHIoOTcyMSkpLG89bihyKDg5ODUpKSxhPW4ocig1MTYzKSkscz1uKHIoNDY1MCkpLHU9bihyKDE5NDkpKSxjPXIoOTA4KTt2YXIgZj1mdW5jdGlvbihlKXsoMCxhLmRlZmF1bHQpKGYsZSk7dmFyIHQscixuPSh0PWYscj1mdW5jdGlvbigpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgUmVmbGVjdHx8IVJlZmxlY3QuY29uc3RydWN0KXJldHVybiExO2lmKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIFByb3h5KXJldHVybiEwO3RyeXtyZXR1cm4gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sW10sKGZ1bmN0aW9uKCl7fSkpKSwhMH1jYXRjaChlKXtyZXR1cm4hMX19KCksZnVuY3Rpb24oKXt2YXIgZSxuPSgwLHUuZGVmYXVsdCkodCk7aWYocil7dmFyIGk9KDAsdS5kZWZhdWx0KSh0aGlzKS5jb25zdHJ1Y3RvcjtlPVJlZmxlY3QuY29uc3RydWN0KG4sYXJndW1lbnRzLGkpfWVsc2UgZT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4oMCxzLmRlZmF1bHQpKHRoaXMsZSl9KTtmdW5jdGlvbiBmKGUsdCl7dmFyIHI7KDAsaS5kZWZhdWx0KSh0aGlzLGYpO3ZhciBvPSJieXRlcyIrU3RyaW5nKGUpO3JldHVybihyPW4uY2FsbCh0aGlzLG8sbyx0LCExKSkuc2l6ZT1lLHJ9cmV0dXJuKDAsby5kZWZhdWx0KShmLFt7a2V5OiJkZWZhdWx0VmFsdWUiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIjB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIuc3Vic3RyaW5nKDAsMisyKnRoaXMuc2l6ZSl9fSx7a2V5OiJlbmNvZGUiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIHI9KDAsYy5hcnJheWlmeSkodCk7cmV0dXJuIHIubGVuZ3RoIT09dGhpcy5zaXplJiZ0aGlzLl90aHJvd0Vycm9yKCJpbmNvcnJlY3QgZGF0YSBsZW5ndGgiLHQpLGUud3JpdGVCeXRlcyhyKX19LHtrZXk6ImRlY29kZSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuY29lcmNlKHRoaXMubmFtZSwoMCxjLmhleGxpZnkpKGUucmVhZEJ5dGVzKHRoaXMuc2l6ZSkpKX19XSksZn0ocig3MzE2KS5Db2Rlcik7dC5GaXhlZEJ5dGVzQ29kZXI9Zn0sNDUyMjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuTnVsbENvZGVyPXZvaWQgMDt2YXIgaT1uKHIoOTcyMSkpLG89bihyKDg5ODUpKSxhPW4ocig1MTYzKSkscz1uKHIoNDY1MCkpLHU9bihyKDE5NDkpKTt2YXIgYz1mdW5jdGlvbihlKXsoMCxhLmRlZmF1bHQpKGMsZSk7dmFyIHQscixuPSh0PWMscj1mdW5jdGlvbigpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgUmVmbGVjdHx8IVJlZmxlY3QuY29uc3RydWN0KXJldHVybiExO2lmKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIFByb3h5KXJldHVybiEwO3RyeXtyZXR1cm4gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sW10sKGZ1bmN0aW9uKCl7fSkpKSwhMH1jYXRjaChlKXtyZXR1cm4hMX19KCksZnVuY3Rpb24oKXt2YXIgZSxuPSgwLHUuZGVmYXVsdCkodCk7aWYocil7dmFyIGk9KDAsdS5kZWZhdWx0KSh0aGlzKS5jb25zdHJ1Y3RvcjtlPVJlZmxlY3QuY29uc3RydWN0KG4sYXJndW1lbnRzLGkpfWVsc2UgZT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4oMCxzLmRlZmF1bHQpKHRoaXMsZSl9KTtmdW5jdGlvbiBjKGUpe3JldHVybigwLGkuZGVmYXVsdCkodGhpcyxjKSxuLmNhbGwodGhpcywibnVsbCIsIiIsZSwhMSl9cmV0dXJuKDAsby5kZWZhdWx0KShjLFt7a2V5OiJkZWZhdWx0VmFsdWUiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSx7a2V5OiJlbmNvZGUiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGwhPXQmJnRoaXMuX3Rocm93RXJyb3IoIm5vdCBudWxsIix0KSxlLndyaXRlQnl0ZXMoW10pfX0se2tleToiZGVjb2RlIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gZS5yZWFkQnl0ZXMoMCksZS5jb2VyY2UodGhpcy5uYW1lLG51bGwpfX1dKSxjfShyKDczMTYpLkNvZGVyKTt0Lk51bGxDb2Rlcj1jfSw4Mjg3OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5OdW1iZXJDb2Rlcj12b2lkIDA7dmFyIGk9bihyKDk3MjEpKSxvPW4ocig4OTg1KSksYT1uKHIoNTE2MykpLHM9bihyKDQ2NTApKSx1PW4ocigxOTQ5KSksYz1yKDQ5NTIpLGY9cig1NDY1KTt2YXIgZD1mdW5jdGlvbihlKXsoMCxhLmRlZmF1bHQpKGQsZSk7dmFyIHQscixuPSh0PWQscj1mdW5jdGlvbigpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgUmVmbGVjdHx8IVJlZmxlY3QuY29uc3RydWN0KXJldHVybiExO2lmKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIFByb3h5KXJldHVybiEwO3RyeXtyZXR1cm4gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sW10sKGZ1bmN0aW9uKCl7fSkpKSwhMH1jYXRjaChlKXtyZXR1cm4hMX19KCksZnVuY3Rpb24oKXt2YXIgZSxuPSgwLHUuZGVmYXVsdCkodCk7aWYocil7dmFyIGk9KDAsdS5kZWZhdWx0KSh0aGlzKS5jb25zdHJ1Y3RvcjtlPVJlZmxlY3QuY29uc3RydWN0KG4sYXJndW1lbnRzLGkpfWVsc2UgZT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4oMCxzLmRlZmF1bHQpKHRoaXMsZSl9KTtmdW5jdGlvbiBkKGUsdCxyKXt2YXIgbzsoMCxpLmRlZmF1bHQpKHRoaXMsZCk7dmFyIGE9KHQ/ImludCI6InVpbnQiKSs4KmU7cmV0dXJuKG89bi5jYWxsKHRoaXMsYSxhLHIsITEpKS5zaXplPWUsby5zaWduZWQ9dCxvfXJldHVybigwLG8uZGVmYXVsdCkoZCxbe2tleToiZGVmYXVsdFZhbHVlIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiAwfX0se2tleToiZW5jb2RlIix2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciByPWMuQmlnTnVtYmVyLmZyb20odCksbj1mLk1heFVpbnQyNTYubWFzayg4KmUud29yZFNpemUpO2lmKHRoaXMuc2lnbmVkKXt2YXIgaT1uLm1hc2soOCp0aGlzLnNpemUtMSk7KHIuZ3QoaSl8fHIubHQoaS5hZGQoZi5PbmUpLm11bChmLk5lZ2F0aXZlT25lKSkpJiZ0aGlzLl90aHJvd0Vycm9yKCJ2YWx1ZSBvdXQtb2YtYm91bmRzIix0KX1lbHNlKHIubHQoZi5aZXJvKXx8ci5ndChuLm1hc2soOCp0aGlzLnNpemUpKSkmJnRoaXMuX3Rocm93RXJyb3IoInZhbHVlIG91dC1vZi1ib3VuZHMiLHQpO3JldHVybiByPXIudG9Ud29zKDgqdGhpcy5zaXplKS5tYXNrKDgqdGhpcy5zaXplKSx0aGlzLnNpZ25lZCYmKHI9ci5mcm9tVHdvcyg4KnRoaXMuc2l6ZSkudG9Ud29zKDgqZS53b3JkU2l6ZSkpLGUud3JpdGVWYWx1ZShyKX19LHtrZXk6ImRlY29kZSIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZWFkVmFsdWUoKS5tYXNrKDgqdGhpcy5zaXplKTtyZXR1cm4gdGhpcy5zaWduZWQmJih0PXQuZnJvbVR3b3MoOCp0aGlzLnNpemUpKSxlLmNvZXJjZSh0aGlzLm5hbWUsdCl9fV0pLGR9KHIoNzMxNikuQ29kZXIpO3QuTnVtYmVyQ29kZXI9ZH0sODA0MDooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuU3RyaW5nQ29kZXI9dm9pZCAwO3ZhciBpPW4ocig5NzIxKSksbz1uKHIoODk4NSkpLGE9bihyKDExOSkpLHM9bihyKDUxNjMpKSx1PW4ocig0NjUwKSksYz1uKHIoMTk0OSkpLGY9cig4NjI3KTt2YXIgZD1mdW5jdGlvbihlKXsoMCxzLmRlZmF1bHQpKGQsZSk7dmFyIHQscixuPSh0PWQscj1mdW5jdGlvbigpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgUmVmbGVjdHx8IVJlZmxlY3QuY29uc3RydWN0KXJldHVybiExO2lmKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIFByb3h5KXJldHVybiEwO3RyeXtyZXR1cm4gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sW10sKGZ1bmN0aW9uKCl7fSkpKSwhMH1jYXRjaChlKXtyZXR1cm4hMX19KCksZnVuY3Rpb24oKXt2YXIgZSxuPSgwLGMuZGVmYXVsdCkodCk7aWYocil7dmFyIGk9KDAsYy5kZWZhdWx0KSh0aGlzKS5jb25zdHJ1Y3RvcjtlPVJlZmxlY3QuY29uc3RydWN0KG4sYXJndW1lbnRzLGkpfWVsc2UgZT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4oMCx1LmRlZmF1bHQpKHRoaXMsZSl9KTtmdW5jdGlvbiBkKGUpe3JldHVybigwLGkuZGVmYXVsdCkodGhpcyxkKSxuLmNhbGwodGhpcywic3RyaW5nIixlKX1yZXR1cm4oMCxvLmRlZmF1bHQpKGQsW3trZXk6ImRlZmF1bHRWYWx1ZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iIn19LHtrZXk6ImVuY29kZSIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCxhLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoZC5wcm90b3R5cGUpLCJlbmNvZGUiLHRoaXMpLmNhbGwodGhpcyxlLCgwLGYudG9VdGY4Qnl0ZXMpKHQpKX19LHtrZXk6ImRlY29kZSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuKDAsZi50b1V0ZjhTdHJpbmcpKCgwLGEuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KShkLnByb3RvdHlwZSksImRlY29kZSIsdGhpcykuY2FsbCh0aGlzLGUpKX19XSksZH0ocigzODYxKS5EeW5hbWljQnl0ZXNDb2Rlcik7dC5TdHJpbmdDb2Rlcj1kfSwyMDEwOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5UdXBsZUNvZGVyPXZvaWQgMDt2YXIgaT1uKHIoOTcyMSkpLG89bihyKDg5ODUpKSxhPW4ocig1MTYzKSkscz1uKHIoNDY1MCkpLHU9bihyKDE5NDkpKSxjPXIoNzMxNiksZj1yKDQzNDEpO3ZhciBkPWZ1bmN0aW9uKGUpeygwLGEuZGVmYXVsdCkoYyxlKTt2YXIgdCxyLG49KHQ9YyxyPWZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBSZWZsZWN0fHwhUmVmbGVjdC5jb25zdHJ1Y3QpcmV0dXJuITE7aWYoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgUHJveHkpcmV0dXJuITA7dHJ5e3JldHVybiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoQm9vbGVhbixbXSwoZnVuY3Rpb24oKXt9KSkpLCEwfWNhdGNoKGUpe3JldHVybiExfX0oKSxmdW5jdGlvbigpe3ZhciBlLG49KDAsdS5kZWZhdWx0KSh0KTtpZihyKXt2YXIgaT0oMCx1LmRlZmF1bHQpKHRoaXMpLmNvbnN0cnVjdG9yO2U9UmVmbGVjdC5jb25zdHJ1Y3Qobixhcmd1bWVudHMsaSl9ZWxzZSBlPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybigwLHMuZGVmYXVsdCkodGhpcyxlKX0pO2Z1bmN0aW9uIGMoZSx0KXt2YXIgcjsoMCxpLmRlZmF1bHQpKHRoaXMsYyk7dmFyIG89ITEsYT1bXTtlLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UuZHluYW1pYyYmKG89ITApLGEucHVzaChlLnR5cGUpfSkpO3ZhciBzPSJ0dXBsZSgiK2Euam9pbigiLCIpKyIpIjtyZXR1cm4ocj1uLmNhbGwodGhpcywidHVwbGUiLHMsdCxvKSkuY29kZXJzPWUscn1yZXR1cm4oMCxvLmRlZmF1bHQpKGMsW3trZXk6ImRlZmF1bHRWYWx1ZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT1bXTt0aGlzLmNvZGVycy5mb3JFYWNoKChmdW5jdGlvbih0KXtlLnB1c2godC5kZWZhdWx0VmFsdWUoKSl9KSk7dmFyIHQ9dGhpcy5jb2RlcnMucmVkdWNlKChmdW5jdGlvbihlLHQpe3ZhciByPXQubG9jYWxOYW1lO3JldHVybiByJiYoZVtyXXx8KGVbcl09MCksZVtyXSsrKSxlfSkse30pO3JldHVybiB0aGlzLmNvZGVycy5mb3JFYWNoKChmdW5jdGlvbihyLG4pe3ZhciBpPXIubG9jYWxOYW1lO2kmJjE9PT10W2ldJiYoImxlbmd0aCI9PT1pJiYoaT0iX2xlbmd0aCIpLG51bGw9PWVbaV0mJihlW2ldPWVbbl0pKX0pKSxPYmplY3QuZnJlZXplKGUpfX0se2tleToiZW5jb2RlIix2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybigwLGYucGFjaykoZSx0aGlzLmNvZGVycyx0KX19LHtrZXk6ImRlY29kZSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuY29lcmNlKHRoaXMubmFtZSwoMCxmLnVucGFjaykoZSx0aGlzLmNvZGVycykpfX1dKSxjfShjLkNvZGVyKTt0LlR1cGxlQ29kZXI9ZH0sODAwOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5QYXJhbVR5cGU9dC5GdW5jdGlvbkZyYWdtZW50PXQuRnJhZ21lbnQ9dC5Gb3JtYXRUeXBlcz10LkV2ZW50RnJhZ21lbnQ9dC5FcnJvckZyYWdtZW50PXQuQ29uc3RydWN0b3JGcmFnbWVudD12b2lkIDA7dmFyIGk9bihyKDUxNjMpKSxvPW4ocig0NjUwKSksYT1uKHIoMTk0OSkpLHM9bihyKDk3MjEpKSx1PW4ocig4OTg1KSksYz1yKDQ5NTIpLGY9cigzNjk0KSxkPXIoNDMyNyksbD1yKDgwNjcpO2Z1bmN0aW9uIGgoZSl7dmFyIHQ9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBQcm94eSlyZXR1cm4hMDt0cnl7cmV0dXJuIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChCb29sZWFuLFtdLChmdW5jdGlvbigpe30pKSksITB9Y2F0Y2goZSl7cmV0dXJuITF9fSgpO3JldHVybiBmdW5jdGlvbigpe3ZhciByLG49KDAsYS5kZWZhdWx0KShlKTtpZih0KXt2YXIgaT0oMCxhLmRlZmF1bHQpKHRoaXMpLmNvbnN0cnVjdG9yO3I9UmVmbGVjdC5jb25zdHJ1Y3Qobixhcmd1bWVudHMsaSl9ZWxzZSByPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybigwLG8uZGVmYXVsdCkodGhpcyxyKX19dmFyIHA9bmV3IGQuTG9nZ2VyKGwudmVyc2lvbiksYj17fSx5PXtjYWxsZGF0YTohMCxtZW1vcnk6ITAsc3RvcmFnZTohMH0sbT17Y2FsbGRhdGE6ITAsbWVtb3J5OiEwfTtmdW5jdGlvbiB2KGUsdCl7aWYoImJ5dGVzIj09PWV8fCJzdHJpbmciPT09ZSl7aWYoeVt0XSlyZXR1cm4hMH1lbHNlIGlmKCJhZGRyZXNzIj09PWUpe2lmKCJwYXlhYmxlIj09PXQpcmV0dXJuITB9ZWxzZSBpZigoZS5pbmRleE9mKCJbIik+PTB8fCJ0dXBsZSI9PT1lKSYmbVt0XSlyZXR1cm4hMDtyZXR1cm4oeVt0XXx8InBheWFibGUiPT09dCkmJnAudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIG1vZGlmaWVyIiwibmFtZSIsdCksITF9ZnVuY3Rpb24gZyhlLHQpe2Zvcih2YXIgciBpbiB0KSgwLGYuZGVmaW5lUmVhZE9ubHkpKGUscix0W3JdKX12YXIgdz1PYmplY3QuZnJlZXplKHtzaWdoYXNoOiJzaWdoYXNoIixtaW5pbWFsOiJtaW5pbWFsIixmdWxsOiJmdWxsIixqc29uOiJqc29uIn0pO3QuRm9ybWF0VHlwZXM9dzt2YXIgQT1uZXcgUmVnRXhwKC9eKC4qKVxbKFswLTldKilcXSQvKSxrPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LHIpeygwLHMuZGVmYXVsdCkodGhpcyxlKSx0IT09YiYmcC50aHJvd0Vycm9yKCJ1c2UgZnJvbVN0cmluZyIsZC5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJuZXcgUGFyYW1UeXBlKCkifSksZyh0aGlzLHIpO3ZhciBuPXRoaXMudHlwZS5tYXRjaChBKTtnKHRoaXMsbj97YXJyYXlMZW5ndGg6cGFyc2VJbnQoblsyXXx8Ii0xIiksYXJyYXlDaGlsZHJlbjplLmZyb21PYmplY3Qoe3R5cGU6blsxXSxjb21wb25lbnRzOnRoaXMuY29tcG9uZW50c30pLGJhc2VUeXBlOiJhcnJheSJ9OnthcnJheUxlbmd0aDpudWxsLGFycmF5Q2hpbGRyZW46bnVsbCxiYXNlVHlwZTpudWxsIT10aGlzLmNvbXBvbmVudHM/InR1cGxlIjp0aGlzLnR5cGV9KSx0aGlzLl9pc1BhcmFtVHlwZT0hMCxPYmplY3QuZnJlZXplKHRoaXMpfXJldHVybigwLHUuZGVmYXVsdCkoZSxbe2tleToiZm9ybWF0Iix2YWx1ZTpmdW5jdGlvbihlKXtpZihlfHwoZT13LnNpZ2hhc2gpLHdbZV18fHAudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGZvcm1hdCB0eXBlIiwiZm9ybWF0IixlKSxlPT09dy5qc29uKXt2YXIgdD17dHlwZToidHVwbGUiPT09dGhpcy5iYXNlVHlwZT8idHVwbGUiOnRoaXMudHlwZSxuYW1lOnRoaXMubmFtZXx8dm9pZCAwfTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiB0aGlzLmluZGV4ZWQmJih0LmluZGV4ZWQ9dGhpcy5pbmRleGVkKSx0aGlzLmNvbXBvbmVudHMmJih0LmNvbXBvbmVudHM9dGhpcy5jb21wb25lbnRzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIEpTT04ucGFyc2UodC5mb3JtYXQoZSkpfSkpKSxKU09OLnN0cmluZ2lmeSh0KX12YXIgcj0iIjtyZXR1cm4iYXJyYXkiPT09dGhpcy5iYXNlVHlwZT8ocis9dGhpcy5hcnJheUNoaWxkcmVuLmZvcm1hdChlKSxyKz0iWyIrKHRoaXMuYXJyYXlMZW5ndGg8MD8iIjpTdHJpbmcodGhpcy5hcnJheUxlbmd0aCkpKyJdIik6InR1cGxlIj09PXRoaXMuYmFzZVR5cGU/KGUhPT13LnNpZ2hhc2gmJihyKz10aGlzLnR5cGUpLHIrPSIoIit0aGlzLmNvbXBvbmVudHMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5mb3JtYXQoZSl9KSkuam9pbihlPT09dy5mdWxsPyIsICI6IiwiKSsiKSIpOnIrPXRoaXMudHlwZSxlIT09dy5zaWdoYXNoJiYoITA9PT10aGlzLmluZGV4ZWQmJihyKz0iIGluZGV4ZWQiKSxlPT09dy5mdWxsJiZ0aGlzLm5hbWUmJihyKz0iICIrdGhpcy5uYW1lKSkscn19XSxbe2tleToiZnJvbSIsdmFsdWU6ZnVuY3Rpb24odCxyKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/ZS5mcm9tU3RyaW5nKHQscik6ZS5mcm9tT2JqZWN0KHQpfX0se2tleToiZnJvbU9iamVjdCIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIGUuaXNQYXJhbVR5cGUodCk/dDpuZXcgZShiLHtuYW1lOnQubmFtZXx8bnVsbCx0eXBlOk0odC50eXBlKSxpbmRleGVkOm51bGw9PXQuaW5kZXhlZD9udWxsOiEhdC5pbmRleGVkLGNvbXBvbmVudHM6dC5jb21wb25lbnRzP3QuY29tcG9uZW50cy5tYXAoZS5mcm9tT2JqZWN0KTpudWxsfSl9fSx7a2V5OiJmcm9tU3RyaW5nIix2YWx1ZTpmdW5jdGlvbih0LHIpe3JldHVybiBuPWZ1bmN0aW9uKGUsdCl7dmFyIHI9ZTtmdW5jdGlvbiBuKHQpe3AudGhyb3dBcmd1bWVudEVycm9yKCJ1bmV4cGVjdGVkIGNoYXJhY3RlciBhdCBwb3NpdGlvbiAiLmNvbmNhdCh0KSwicGFyYW0iLGUpfWZ1bmN0aW9uIGkoZSl7dmFyIHI9e3R5cGU6IiIsbmFtZToiIixwYXJlbnQ6ZSxzdGF0ZTp7YWxsb3dUeXBlOiEwfX07cmV0dXJuIHQmJihyLmluZGV4ZWQ9ITEpLHJ9ZT1lLnJlcGxhY2UoL1xzL2csIiAiKTtmb3IodmFyIG89e3R5cGU6IiIsbmFtZToiIixzdGF0ZTp7YWxsb3dUeXBlOiEwfX0sYT1vLHM9MDtzPGUubGVuZ3RoO3MrKyl7dmFyIHU9ZVtzXTtzd2l0Y2godSl7Y2FzZSIoIjphLnN0YXRlLmFsbG93VHlwZSYmIiI9PT1hLnR5cGU/YS50eXBlPSJ0dXBsZSI6YS5zdGF0ZS5hbGxvd1BhcmFtc3x8bihzKSxhLnN0YXRlLmFsbG93VHlwZT0hMSxhLnR5cGU9TShhLnR5cGUpLGEuY29tcG9uZW50cz1baShhKV0sYT1hLmNvbXBvbmVudHNbMF07YnJlYWs7Y2FzZSIpIjpkZWxldGUgYS5zdGF0ZSwiaW5kZXhlZCI9PT1hLm5hbWUmJih0fHxuKHMpLGEuaW5kZXhlZD0hMCxhLm5hbWU9IiIpLHYoYS50eXBlLGEubmFtZSkmJihhLm5hbWU9IiIpLGEudHlwZT1NKGEudHlwZSk7dmFyIGM9YTsoYT1hLnBhcmVudCl8fG4ocyksZGVsZXRlIGMucGFyZW50LGEuc3RhdGUuYWxsb3dQYXJhbXM9ITEsYS5zdGF0ZS5hbGxvd05hbWU9ITAsYS5zdGF0ZS5hbGxvd0FycmF5PSEwO2JyZWFrO2Nhc2UiLCI6ZGVsZXRlIGEuc3RhdGUsImluZGV4ZWQiPT09YS5uYW1lJiYodHx8bihzKSxhLmluZGV4ZWQ9ITAsYS5uYW1lPSIiKSx2KGEudHlwZSxhLm5hbWUpJiYoYS5uYW1lPSIiKSxhLnR5cGU9TShhLnR5cGUpO3ZhciBmPWkoYS5wYXJlbnQpO2EucGFyZW50LmNvbXBvbmVudHMucHVzaChmKSxkZWxldGUgYS5wYXJlbnQsYT1mO2JyZWFrO2Nhc2UiICI6YS5zdGF0ZS5hbGxvd1R5cGUmJiIiIT09YS50eXBlJiYoYS50eXBlPU0oYS50eXBlKSxkZWxldGUgYS5zdGF0ZS5hbGxvd1R5cGUsYS5zdGF0ZS5hbGxvd05hbWU9ITAsYS5zdGF0ZS5hbGxvd1BhcmFtcz0hMCksYS5zdGF0ZS5hbGxvd05hbWUmJiIiIT09YS5uYW1lJiYoImluZGV4ZWQiPT09YS5uYW1lPyh0fHxuKHMpLGEuaW5kZXhlZCYmbihzKSxhLmluZGV4ZWQ9ITAsYS5uYW1lPSIiKTp2KGEudHlwZSxhLm5hbWUpP2EubmFtZT0iIjphLnN0YXRlLmFsbG93TmFtZT0hMSk7YnJlYWs7Y2FzZSJbIjphLnN0YXRlLmFsbG93QXJyYXl8fG4ocyksYS50eXBlKz11LGEuc3RhdGUuYWxsb3dBcnJheT0hMSxhLnN0YXRlLmFsbG93TmFtZT0hMSxhLnN0YXRlLnJlYWRBcnJheT0hMDticmVhaztjYXNlIl0iOmEuc3RhdGUucmVhZEFycmF5fHxuKHMpLGEudHlwZSs9dSxhLnN0YXRlLnJlYWRBcnJheT0hMSxhLnN0YXRlLmFsbG93QXJyYXk9ITAsYS5zdGF0ZS5hbGxvd05hbWU9ITA7YnJlYWs7ZGVmYXVsdDphLnN0YXRlLmFsbG93VHlwZT8oYS50eXBlKz11LGEuc3RhdGUuYWxsb3dQYXJhbXM9ITAsYS5zdGF0ZS5hbGxvd0FycmF5PSEwKTphLnN0YXRlLmFsbG93TmFtZT8oYS5uYW1lKz11LGRlbGV0ZSBhLnN0YXRlLmFsbG93QXJyYXkpOmEuc3RhdGUucmVhZEFycmF5P2EudHlwZSs9dTpuKHMpfX1yZXR1cm4gYS5wYXJlbnQmJnAudGhyb3dBcmd1bWVudEVycm9yKCJ1bmV4cGVjdGVkIGVvZiIsInBhcmFtIixlKSxkZWxldGUgby5zdGF0ZSwiaW5kZXhlZCI9PT1hLm5hbWU/KHR8fG4oci5sZW5ndGgtNyksYS5pbmRleGVkJiZuKHIubGVuZ3RoLTcpLGEuaW5kZXhlZD0hMCxhLm5hbWU9IiIpOnYoYS50eXBlLGEubmFtZSkmJihhLm5hbWU9IiIpLG8udHlwZT1NKG8udHlwZSksb30odCwhIXIpLGUuZnJvbU9iamVjdCh7bmFtZTpuLm5hbWUsdHlwZTpuLnR5cGUsaW5kZXhlZDpuLmluZGV4ZWQsY29tcG9uZW50czpuLmNvbXBvbmVudHN9KTt2YXIgbn19LHtrZXk6ImlzUGFyYW1UeXBlIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4hKG51bGw9PWV8fCFlLl9pc1BhcmFtVHlwZSl9fV0pLGV9KCk7ZnVuY3Rpb24gXyhlLHQpe3JldHVybiBmdW5jdGlvbihlKXtlPWUudHJpbSgpO2Zvcih2YXIgdD1bXSxyPSIiLG49MCxpPTA7aTxlLmxlbmd0aDtpKyspe3ZhciBvPWVbaV07IiwiPT09byYmMD09PW4/KHQucHVzaChyKSxyPSIiKToocis9bywiKCI9PT1vP24rKzoiKSI9PT1vJiYtMT09LS1uJiZwLnRocm93QXJndW1lbnRFcnJvcigidW5iYWxhbmNlZCBwYXJlbnRoZXNpcyIsInZhbHVlIixlKSl9cmV0dXJuIHImJnQucHVzaChyKSx0fShlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBrLmZyb21TdHJpbmcoZSx0KX0pKX10LlBhcmFtVHlwZT1rO3ZhciBTPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LHIpeygwLHMuZGVmYXVsdCkodGhpcyxlKSx0IT09YiYmcC50aHJvd0Vycm9yKCJ1c2UgYSBzdGF0aWMgZnJvbSBtZXRob2QiLGQuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoibmV3IEZyYWdtZW50KCkifSksZyh0aGlzLHIpLHRoaXMuX2lzRnJhZ21lbnQ9ITAsT2JqZWN0LmZyZWV6ZSh0aGlzKX1yZXR1cm4oMCx1LmRlZmF1bHQpKGUsbnVsbCxbe2tleToiZnJvbSIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIGUuaXNGcmFnbWVudCh0KT90OiJzdHJpbmciPT10eXBlb2YgdD9lLmZyb21TdHJpbmcodCk6ZS5mcm9tT2JqZWN0KHQpfX0se2tleToiZnJvbU9iamVjdCIsdmFsdWU6ZnVuY3Rpb24odCl7aWYoZS5pc0ZyYWdtZW50KHQpKXJldHVybiB0O3N3aXRjaCh0LnR5cGUpe2Nhc2UiZnVuY3Rpb24iOnJldHVybiBULmZyb21PYmplY3QodCk7Y2FzZSJldmVudCI6cmV0dXJuIHguZnJvbU9iamVjdCh0KTtjYXNlImNvbnN0cnVjdG9yIjpyZXR1cm4gQi5mcm9tT2JqZWN0KHQpO2Nhc2UiZXJyb3IiOnJldHVybiBJLmZyb21PYmplY3QodCk7Y2FzZSJmYWxsYmFjayI6Y2FzZSJyZWNlaXZlIjpyZXR1cm4gbnVsbH1yZXR1cm4gcC50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZnJhZ21lbnQgb2JqZWN0IiwidmFsdWUiLHQpfX0se2tleToiZnJvbVN0cmluZyIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuImV2ZW50Ij09PShlPShlPShlPWUucmVwbGFjZSgvXHMvZywiICIpKS5yZXBsYWNlKC9cKC9nLCIgKCIpLnJlcGxhY2UoL1wpL2csIikgIikucmVwbGFjZSgvXHMrL2csIiAiKSkudHJpbSgpKS5zcGxpdCgiICIpWzBdP3guZnJvbVN0cmluZyhlLnN1YnN0cmluZyg1KS50cmltKCkpOiJmdW5jdGlvbiI9PT1lLnNwbGl0KCIgIilbMF0/VC5mcm9tU3RyaW5nKGUuc3Vic3RyaW5nKDgpLnRyaW0oKSk6ImNvbnN0cnVjdG9yIj09PWUuc3BsaXQoIigiKVswXS50cmltKCk/Qi5mcm9tU3RyaW5nKGUudHJpbSgpKToiZXJyb3IiPT09ZS5zcGxpdCgiICIpWzBdP0kuZnJvbVN0cmluZyhlLnN1YnN0cmluZyg1KS50cmltKCkpOnAudGhyb3dBcmd1bWVudEVycm9yKCJ1bnN1cHBvcnRlZCBmcmFnbWVudCIsInZhbHVlIixlKX19LHtrZXk6ImlzRnJhZ21lbnQiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiEoIWV8fCFlLl9pc0ZyYWdtZW50KX19XSksZX0oKTt0LkZyYWdtZW50PVM7dmFyIHg9ZnVuY3Rpb24oZSl7KDAsaS5kZWZhdWx0KShyLGUpO3ZhciB0PWgocik7ZnVuY3Rpb24gcigpe3JldHVybigwLHMuZGVmYXVsdCkodGhpcyxyKSx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4oMCx1LmRlZmF1bHQpKHIsW3trZXk6ImZvcm1hdCIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYoZXx8KGU9dy5zaWdoYXNoKSx3W2VdfHxwLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBmb3JtYXQgdHlwZSIsImZvcm1hdCIsZSksZT09PXcuanNvbilyZXR1cm4gSlNPTi5zdHJpbmdpZnkoe3R5cGU6ImV2ZW50Iixhbm9ueW1vdXM6dGhpcy5hbm9ueW1vdXMsbmFtZTp0aGlzLm5hbWUsaW5wdXRzOnRoaXMuaW5wdXRzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIEpTT04ucGFyc2UodC5mb3JtYXQoZSkpfSkpfSk7dmFyIHQ9IiI7cmV0dXJuIGUhPT13LnNpZ2hhc2gmJih0Kz0iZXZlbnQgIiksdCs9dGhpcy5uYW1lKyIoIit0aGlzLmlucHV0cy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmZvcm1hdChlKX0pKS5qb2luKGU9PT13LmZ1bGw/IiwgIjoiLCIpKyIpICIsZSE9PXcuc2lnaGFzaCYmdGhpcy5hbm9ueW1vdXMmJih0Kz0iYW5vbnltb3VzICIpLHQudHJpbSgpfX1dLFt7a2V5OiJmcm9tIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ci5mcm9tU3RyaW5nKGUpOnIuZnJvbU9iamVjdChlKX19LHtrZXk6ImZyb21PYmplY3QiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKHIuaXNFdmVudEZyYWdtZW50KGUpKXJldHVybiBlOyJldmVudCIhPT1lLnR5cGUmJnAudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGV2ZW50IG9iamVjdCIsInZhbHVlIixlKTt2YXIgdD17bmFtZTpSKGUubmFtZSksYW5vbnltb3VzOmUuYW5vbnltb3VzLGlucHV0czplLmlucHV0cz9lLmlucHV0cy5tYXAoay5mcm9tT2JqZWN0KTpbXSx0eXBlOiJldmVudCJ9O3JldHVybiBuZXcgcihiLHQpfX0se2tleToiZnJvbVN0cmluZyIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5tYXRjaChqKTt0fHxwLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBldmVudCBzdHJpbmciLCJ2YWx1ZSIsZSk7dmFyIG49ITE7cmV0dXJuIHRbM10uc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXtzd2l0Y2goZS50cmltKCkpe2Nhc2UiYW5vbnltb3VzIjpuPSEwO2JyZWFrO2Nhc2UiIjpicmVhaztkZWZhdWx0OnAud2FybigidW5rbm93biBtb2RpZmllcjogIitlKX19KSksci5mcm9tT2JqZWN0KHtuYW1lOnRbMV0udHJpbSgpLGFub255bW91czpuLGlucHV0czpfKHRbMl0sITApLHR5cGU6ImV2ZW50In0pfX0se2tleToiaXNFdmVudEZyYWdtZW50Iix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5faXNGcmFnbWVudCYmImV2ZW50Ij09PWUudHlwZX19XSkscn0oUyk7ZnVuY3Rpb24gRShlLHQpe3QuZ2FzPW51bGw7dmFyIHI9ZS5zcGxpdCgiQCIpO3JldHVybiAxIT09ci5sZW5ndGg/KHIubGVuZ3RoPjImJnAudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGh1bWFuLXJlYWRhYmxlIEFCSSBzaWduYXR1cmUiLCJ2YWx1ZSIsZSksclsxXS5tYXRjaCgvXlswLTldKyQvKXx8cC50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgaHVtYW4tcmVhZGFibGUgQUJJIHNpZ25hdHVyZSBnYXMiLCJ2YWx1ZSIsZSksdC5nYXM9Yy5CaWdOdW1iZXIuZnJvbShyWzFdKSxyWzBdKTplfWZ1bmN0aW9uIFAoZSx0KXt0LmNvbnN0YW50PSExLHQucGF5YWJsZT0hMSx0LnN0YXRlTXV0YWJpbGl0eT0ibm9ucGF5YWJsZSIsZS5zcGxpdCgiICIpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3N3aXRjaChlLnRyaW0oKSl7Y2FzZSJjb25zdGFudCI6dC5jb25zdGFudD0hMDticmVhaztjYXNlInBheWFibGUiOnQucGF5YWJsZT0hMCx0LnN0YXRlTXV0YWJpbGl0eT0icGF5YWJsZSI7YnJlYWs7Y2FzZSJub25wYXlhYmxlIjp0LnBheWFibGU9ITEsdC5zdGF0ZU11dGFiaWxpdHk9Im5vbnBheWFibGUiO2JyZWFrO2Nhc2UicHVyZSI6dC5jb25zdGFudD0hMCx0LnN0YXRlTXV0YWJpbGl0eT0icHVyZSI7YnJlYWs7Y2FzZSJ2aWV3Ijp0LmNvbnN0YW50PSEwLHQuc3RhdGVNdXRhYmlsaXR5PSJ2aWV3IjticmVhaztjYXNlImV4dGVybmFsIjpjYXNlInB1YmxpYyI6Y2FzZSIiOmJyZWFrO2RlZmF1bHQ6Y29uc29sZS5sb2coInVua25vd24gbW9kaWZpZXI6ICIrZSl9fSkpfWZ1bmN0aW9uIE8oZSl7dmFyIHQ9e2NvbnN0YW50OiExLHBheWFibGU6ITAsc3RhdGVNdXRhYmlsaXR5OiJwYXlhYmxlIn07cmV0dXJuIG51bGwhPWUuc3RhdGVNdXRhYmlsaXR5Pyh0LnN0YXRlTXV0YWJpbGl0eT1lLnN0YXRlTXV0YWJpbGl0eSx0LmNvbnN0YW50PSJ2aWV3Ij09PXQuc3RhdGVNdXRhYmlsaXR5fHwicHVyZSI9PT10LnN0YXRlTXV0YWJpbGl0eSxudWxsIT1lLmNvbnN0YW50JiYhIWUuY29uc3RhbnQhPT10LmNvbnN0YW50JiZwLnRocm93QXJndW1lbnRFcnJvcigiY2Fubm90IGhhdmUgY29uc3RhbnQgZnVuY3Rpb24gd2l0aCBtdXRhYmlsaXR5ICIrdC5zdGF0ZU11dGFiaWxpdHksInZhbHVlIixlKSx0LnBheWFibGU9InBheWFibGUiPT09dC5zdGF0ZU11dGFiaWxpdHksbnVsbCE9ZS5wYXlhYmxlJiYhIWUucGF5YWJsZSE9PXQucGF5YWJsZSYmcC50aHJvd0FyZ3VtZW50RXJyb3IoImNhbm5vdCBoYXZlIHBheWFibGUgZnVuY3Rpb24gd2l0aCBtdXRhYmlsaXR5ICIrdC5zdGF0ZU11dGFiaWxpdHksInZhbHVlIixlKSk6bnVsbCE9ZS5wYXlhYmxlPyh0LnBheWFibGU9ISFlLnBheWFibGUsbnVsbCE9ZS5jb25zdGFudHx8dC5wYXlhYmxlfHwiY29uc3RydWN0b3IiPT09ZS50eXBlfHxwLnRocm93QXJndW1lbnRFcnJvcigidW5hYmxlIHRvIGRldGVybWluZSBzdGF0ZU11dGFiaWxpdHkiLCJ2YWx1ZSIsZSksdC5jb25zdGFudD0hIWUuY29uc3RhbnQsdC5jb25zdGFudD90LnN0YXRlTXV0YWJpbGl0eT0idmlldyI6dC5zdGF0ZU11dGFiaWxpdHk9dC5wYXlhYmxlPyJwYXlhYmxlIjoibm9ucGF5YWJsZSIsdC5wYXlhYmxlJiZ0LmNvbnN0YW50JiZwLnRocm93QXJndW1lbnRFcnJvcigiY2Fubm90IGhhdmUgY29uc3RhbnQgcGF5YWJsZSBmdW5jdGlvbiIsInZhbHVlIixlKSk6bnVsbCE9ZS5jb25zdGFudD8odC5jb25zdGFudD0hIWUuY29uc3RhbnQsdC5wYXlhYmxlPSF0LmNvbnN0YW50LHQuc3RhdGVNdXRhYmlsaXR5PXQuY29uc3RhbnQ/InZpZXciOiJwYXlhYmxlIik6ImNvbnN0cnVjdG9yIiE9PWUudHlwZSYmcC50aHJvd0FyZ3VtZW50RXJyb3IoInVuYWJsZSB0byBkZXRlcm1pbmUgc3RhdGVNdXRhYmlsaXR5IiwidmFsdWUiLGUpLHR9dC5FdmVudEZyYWdtZW50PXg7dmFyIEI9ZnVuY3Rpb24oZSl7KDAsaS5kZWZhdWx0KShyLGUpO3ZhciB0PWgocik7ZnVuY3Rpb24gcigpe3JldHVybigwLHMuZGVmYXVsdCkodGhpcyxyKSx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4oMCx1LmRlZmF1bHQpKHIsW3trZXk6ImZvcm1hdCIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYoZXx8KGU9dy5zaWdoYXNoKSx3W2VdfHxwLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBmb3JtYXQgdHlwZSIsImZvcm1hdCIsZSksZT09PXcuanNvbilyZXR1cm4gSlNPTi5zdHJpbmdpZnkoe3R5cGU6ImNvbnN0cnVjdG9yIixzdGF0ZU11dGFiaWxpdHk6Im5vbnBheWFibGUiIT09dGhpcy5zdGF0ZU11dGFiaWxpdHk/dGhpcy5zdGF0ZU11dGFiaWxpdHk6dm9pZCAwLHBheWFibGU6dGhpcy5wYXlhYmxlLGdhczp0aGlzLmdhcz90aGlzLmdhcy50b051bWJlcigpOnZvaWQgMCxpbnB1dHM6dGhpcy5pbnB1dHMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gSlNPTi5wYXJzZSh0LmZvcm1hdChlKSl9KSl9KTtlPT09dy5zaWdoYXNoJiZwLnRocm93RXJyb3IoImNhbm5vdCBmb3JtYXQgYSBjb25zdHJ1Y3RvciBmb3Igc2lnaGFzaCIsZC5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJmb3JtYXQoc2lnaGFzaCkifSk7dmFyIHQ9ImNvbnN0cnVjdG9yKCIrdGhpcy5pbnB1dHMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5mb3JtYXQoZSl9KSkuam9pbihlPT09dy5mdWxsPyIsICI6IiwiKSsiKSAiO3JldHVybiB0aGlzLnN0YXRlTXV0YWJpbGl0eSYmIm5vbnBheWFibGUiIT09dGhpcy5zdGF0ZU11dGFiaWxpdHkmJih0Kz10aGlzLnN0YXRlTXV0YWJpbGl0eSsiICIpLHQudHJpbSgpfX1dLFt7a2V5OiJmcm9tIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ci5mcm9tU3RyaW5nKGUpOnIuZnJvbU9iamVjdChlKX19LHtrZXk6ImZyb21PYmplY3QiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKHIuaXNDb25zdHJ1Y3RvckZyYWdtZW50KGUpKXJldHVybiBlOyJjb25zdHJ1Y3RvciIhPT1lLnR5cGUmJnAudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGNvbnN0cnVjdG9yIG9iamVjdCIsInZhbHVlIixlKTt2YXIgdD1PKGUpO3QuY29uc3RhbnQmJnAudGhyb3dBcmd1bWVudEVycm9yKCJjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY29uc3RhbnQiLCJ2YWx1ZSIsZSk7dmFyIG49e25hbWU6bnVsbCx0eXBlOmUudHlwZSxpbnB1dHM6ZS5pbnB1dHM/ZS5pbnB1dHMubWFwKGsuZnJvbU9iamVjdCk6W10scGF5YWJsZTp0LnBheWFibGUsc3RhdGVNdXRhYmlsaXR5OnQuc3RhdGVNdXRhYmlsaXR5LGdhczplLmdhcz9jLkJpZ051bWJlci5mcm9tKGUuZ2FzKTpudWxsfTtyZXR1cm4gbmV3IHIoYixuKX19LHtrZXk6ImZyb21TdHJpbmciLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXt0eXBlOiJjb25zdHJ1Y3RvciJ9LG49KGU9RShlLHQpKS5tYXRjaChqKTtyZXR1cm4gbiYmImNvbnN0cnVjdG9yIj09PW5bMV0udHJpbSgpfHxwLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBjb25zdHJ1Y3RvciBzdHJpbmciLCJ2YWx1ZSIsZSksdC5pbnB1dHM9XyhuWzJdLnRyaW0oKSwhMSksUChuWzNdLnRyaW0oKSx0KSxyLmZyb21PYmplY3QodCl9fSx7a2V5OiJpc0NvbnN0cnVjdG9yRnJhZ21lbnQiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLl9pc0ZyYWdtZW50JiYiY29uc3RydWN0b3IiPT09ZS50eXBlfX1dKSxyfShTKTt0LkNvbnN0cnVjdG9yRnJhZ21lbnQ9Qjt2YXIgVD1mdW5jdGlvbihlKXsoMCxpLmRlZmF1bHQpKHIsZSk7dmFyIHQ9aChyKTtmdW5jdGlvbiByKCl7cmV0dXJuKDAscy5kZWZhdWx0KSh0aGlzLHIpLHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybigwLHUuZGVmYXVsdCkocixbe2tleToiZm9ybWF0Iix2YWx1ZTpmdW5jdGlvbihlKXtpZihlfHwoZT13LnNpZ2hhc2gpLHdbZV18fHAudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGZvcm1hdCB0eXBlIiwiZm9ybWF0IixlKSxlPT09dy5qc29uKXJldHVybiBKU09OLnN0cmluZ2lmeSh7dHlwZToiZnVuY3Rpb24iLG5hbWU6dGhpcy5uYW1lLGNvbnN0YW50OnRoaXMuY29uc3RhbnQsc3RhdGVNdXRhYmlsaXR5OiJub25wYXlhYmxlIiE9PXRoaXMuc3RhdGVNdXRhYmlsaXR5P3RoaXMuc3RhdGVNdXRhYmlsaXR5OnZvaWQgMCxwYXlhYmxlOnRoaXMucGF5YWJsZSxnYXM6dGhpcy5nYXM/dGhpcy5nYXMudG9OdW1iZXIoKTp2b2lkIDAsaW5wdXRzOnRoaXMuaW5wdXRzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIEpTT04ucGFyc2UodC5mb3JtYXQoZSkpfSkpLG91dHB1dHM6dGhpcy5vdXRwdXRzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIEpTT04ucGFyc2UodC5mb3JtYXQoZSkpfSkpfSk7dmFyIHQ9IiI7cmV0dXJuIGUhPT13LnNpZ2hhc2gmJih0Kz0iZnVuY3Rpb24gIiksdCs9dGhpcy5uYW1lKyIoIit0aGlzLmlucHV0cy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmZvcm1hdChlKX0pKS5qb2luKGU9PT13LmZ1bGw/IiwgIjoiLCIpKyIpICIsZSE9PXcuc2lnaGFzaCYmKHRoaXMuc3RhdGVNdXRhYmlsaXR5PyJub25wYXlhYmxlIiE9PXRoaXMuc3RhdGVNdXRhYmlsaXR5JiYodCs9dGhpcy5zdGF0ZU11dGFiaWxpdHkrIiAiKTp0aGlzLmNvbnN0YW50JiYodCs9InZpZXcgIiksdGhpcy5vdXRwdXRzJiZ0aGlzLm91dHB1dHMubGVuZ3RoJiYodCs9InJldHVybnMgKCIrdGhpcy5vdXRwdXRzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuZm9ybWF0KGUpfSkpLmpvaW4oIiwgIikrIikgIiksbnVsbCE9dGhpcy5nYXMmJih0Kz0iQCIrdGhpcy5nYXMudG9TdHJpbmcoKSsiICIpKSx0LnRyaW0oKX19XSxbe2tleToiZnJvbSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP3IuZnJvbVN0cmluZyhlKTpyLmZyb21PYmplY3QoZSl9fSx7a2V5OiJmcm9tT2JqZWN0Iix2YWx1ZTpmdW5jdGlvbihlKXtpZihyLmlzRnVuY3Rpb25GcmFnbWVudChlKSlyZXR1cm4gZTsiZnVuY3Rpb24iIT09ZS50eXBlJiZwLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBmdW5jdGlvbiBvYmplY3QiLCJ2YWx1ZSIsZSk7dmFyIHQ9TyhlKSxuPXt0eXBlOmUudHlwZSxuYW1lOlIoZS5uYW1lKSxjb25zdGFudDp0LmNvbnN0YW50LGlucHV0czplLmlucHV0cz9lLmlucHV0cy5tYXAoay5mcm9tT2JqZWN0KTpbXSxvdXRwdXRzOmUub3V0cHV0cz9lLm91dHB1dHMubWFwKGsuZnJvbU9iamVjdCk6W10scGF5YWJsZTp0LnBheWFibGUsc3RhdGVNdXRhYmlsaXR5OnQuc3RhdGVNdXRhYmlsaXR5LGdhczplLmdhcz9jLkJpZ051bWJlci5mcm9tKGUuZ2FzKTpudWxsfTtyZXR1cm4gbmV3IHIoYixuKX19LHtrZXk6ImZyb21TdHJpbmciLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXt0eXBlOiJmdW5jdGlvbiJ9LG49KGU9RShlLHQpKS5zcGxpdCgiIHJldHVybnMgIik7bi5sZW5ndGg+MiYmcC50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZnVuY3Rpb24gc3RyaW5nIiwidmFsdWUiLGUpO3ZhciBpPW5bMF0ubWF0Y2goaik7aWYoaXx8cC50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZnVuY3Rpb24gc2lnbmF0dXJlIiwidmFsdWUiLGUpLHQubmFtZT1pWzFdLnRyaW0oKSx0Lm5hbWUmJlIodC5uYW1lKSx0LmlucHV0cz1fKGlbMl0sITEpLFAoaVszXS50cmltKCksdCksbi5sZW5ndGg+MSl7dmFyIG89blsxXS5tYXRjaChqKTsiIj09b1sxXS50cmltKCkmJiIiPT1vWzNdLnRyaW0oKXx8cC50aHJvd0FyZ3VtZW50RXJyb3IoInVuZXhwZWN0ZWQgdG9rZW5zIiwidmFsdWUiLGUpLHQub3V0cHV0cz1fKG9bMl0sITEpfWVsc2UgdC5vdXRwdXRzPVtdO3JldHVybiByLmZyb21PYmplY3QodCl9fSx7a2V5OiJpc0Z1bmN0aW9uRnJhZ21lbnQiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLl9pc0ZyYWdtZW50JiYiZnVuY3Rpb24iPT09ZS50eXBlfX1dKSxyfShCKTtmdW5jdGlvbiBDKGUpe3ZhciB0PWUuZm9ybWF0KCk7cmV0dXJuIkVycm9yKHN0cmluZykiIT09dCYmIlBhbmljKHVpbnQyNTYpIiE9PXR8fHAudGhyb3dBcmd1bWVudEVycm9yKCJjYW5ub3Qgc3BlY2lmeSB1c2VyIGRlZmluZWQgIi5jb25jYXQodCwiIGVycm9yIiksImZyYWdtZW50IixlKSxlfXQuRnVuY3Rpb25GcmFnbWVudD1UO3ZhciBJPWZ1bmN0aW9uKGUpeygwLGkuZGVmYXVsdCkocixlKTt2YXIgdD1oKHIpO2Z1bmN0aW9uIHIoKXtyZXR1cm4oMCxzLmRlZmF1bHQpKHRoaXMsciksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuKDAsdS5kZWZhdWx0KShyLFt7a2V5OiJmb3JtYXQiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKGV8fChlPXcuc2lnaGFzaCksd1tlXXx8cC50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZm9ybWF0IHR5cGUiLCJmb3JtYXQiLGUpLGU9PT13Lmpzb24pcmV0dXJuIEpTT04uc3RyaW5naWZ5KHt0eXBlOiJlcnJvciIsbmFtZTp0aGlzLm5hbWUsaW5wdXRzOnRoaXMuaW5wdXRzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIEpTT04ucGFyc2UodC5mb3JtYXQoZSkpfSkpfSk7dmFyIHQ9IiI7cmV0dXJuIGUhPT13LnNpZ2hhc2gmJih0Kz0iZXJyb3IgIiksKHQrPXRoaXMubmFtZSsiKCIrdGhpcy5pbnB1dHMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5mb3JtYXQoZSl9KSkuam9pbihlPT09dy5mdWxsPyIsICI6IiwiKSsiKSAiKS50cmltKCl9fV0sW3trZXk6ImZyb20iLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZT9yLmZyb21TdHJpbmcoZSk6ci5mcm9tT2JqZWN0KGUpfX0se2tleToiZnJvbU9iamVjdCIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYoci5pc0Vycm9yRnJhZ21lbnQoZSkpcmV0dXJuIGU7ImVycm9yIiE9PWUudHlwZSYmcC50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZXJyb3Igb2JqZWN0IiwidmFsdWUiLGUpO3ZhciB0PXt0eXBlOmUudHlwZSxuYW1lOlIoZS5uYW1lKSxpbnB1dHM6ZS5pbnB1dHM/ZS5pbnB1dHMubWFwKGsuZnJvbU9iamVjdCk6W119O3JldHVybiBDKG5ldyByKGIsdCkpfX0se2tleToiZnJvbVN0cmluZyIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9e3R5cGU6ImVycm9yIn0sbj1lLm1hdGNoKGopO3JldHVybiBufHxwLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBlcnJvciBzaWduYXR1cmUiLCJ2YWx1ZSIsZSksdC5uYW1lPW5bMV0udHJpbSgpLHQubmFtZSYmUih0Lm5hbWUpLHQuaW5wdXRzPV8oblsyXSwhMSksQyhyLmZyb21PYmplY3QodCkpfX0se2tleToiaXNFcnJvckZyYWdtZW50Iix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5faXNGcmFnbWVudCYmImVycm9yIj09PWUudHlwZX19XSkscn0oUyk7ZnVuY3Rpb24gTShlKXtyZXR1cm4gZS5tYXRjaCgvXnVpbnQoJHxbXjEtOV0pLyk/ZT0idWludDI1NiIrZS5zdWJzdHJpbmcoNCk6ZS5tYXRjaCgvXmludCgkfFteMS05XSkvKSYmKGU9ImludDI1NiIrZS5zdWJzdHJpbmcoMykpLGV9dC5FcnJvckZyYWdtZW50PUk7dmFyIFU9bmV3IFJlZ0V4cCgiXlthLXpBLVokX11bYS16QS1aMC05JF9dKiQiKTtmdW5jdGlvbiBSKGUpe3JldHVybiBlJiZlLm1hdGNoKFUpfHxwLnRocm93QXJndW1lbnRFcnJvcignaW52YWxpZCBpZGVudGlmaWVyICInLmNvbmNhdChlLCciJyksInZhbHVlIixlKSxlfXZhciBqPW5ldyBSZWdFeHAoIl4oW14pKF0qKVxcKCguKilcXCkoW14pKF0qKSQiKX0sMjkxNDooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJSUSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGkuQWJpQ29kZXJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9SIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5QYXJhbVR5cGV9fSk7dmFyIG49cig4MDApLGk9cig0OTM3KTtyKDkwNDQpfSw5MDQ0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5UcmFuc2FjdGlvbkRlc2NyaXB0aW9uPXQuTG9nRGVzY3JpcHRpb249dC5JbnRlcmZhY2U9dC5JbmRleGVkPXQuRXJyb3JEZXNjcmlwdGlvbj12b2lkIDAsT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImNoZWNrUmVzdWx0RXJyb3JzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4geS5jaGVja1Jlc3VsdEVycm9yc319KTt2YXIgaT1uKHIoODk4NSkpLG89bihyKDk3MjEpKSxhPW4ocig1MTYzKSkscz1uKHIoNDY1MCkpLHU9bihyKDE5NDkpKSxjPXIoNzkyMSksZj1yKDQ5NTIpLGQ9cig5MDgpLGw9cig3NTE1KSxoPXIoNDY0MikscD1yKDM2OTQpLGI9cig0OTM3KSx5PXIoNzMxNiksbT1yKDgwMCksdj1yKDQzMjcpLGc9cig4MDY3KTtmdW5jdGlvbiB3KGUpe3ZhciB0PWZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBSZWZsZWN0fHwhUmVmbGVjdC5jb25zdHJ1Y3QpcmV0dXJuITE7aWYoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgUHJveHkpcmV0dXJuITA7dHJ5e3JldHVybiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoQm9vbGVhbixbXSwoZnVuY3Rpb24oKXt9KSkpLCEwfWNhdGNoKGUpe3JldHVybiExfX0oKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcixuPSgwLHUuZGVmYXVsdCkoZSk7aWYodCl7dmFyIGk9KDAsdS5kZWZhdWx0KSh0aGlzKS5jb25zdHJ1Y3RvcjtyPVJlZmxlY3QuY29uc3RydWN0KG4sYXJndW1lbnRzLGkpfWVsc2Ugcj1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4oMCxzLmRlZmF1bHQpKHRoaXMscil9fXZhciBBPW5ldyB2LkxvZ2dlcihnLnZlcnNpb24pLGs9ZnVuY3Rpb24oZSl7KDAsYS5kZWZhdWx0KShyLGUpO3ZhciB0PXcocik7ZnVuY3Rpb24gcigpe3JldHVybigwLG8uZGVmYXVsdCkodGhpcyxyKSx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4oMCxpLmRlZmF1bHQpKHIpfShwLkRlc2NyaXB0aW9uKTt0LkxvZ0Rlc2NyaXB0aW9uPWs7dmFyIF89ZnVuY3Rpb24oZSl7KDAsYS5kZWZhdWx0KShyLGUpO3ZhciB0PXcocik7ZnVuY3Rpb24gcigpe3JldHVybigwLG8uZGVmYXVsdCkodGhpcyxyKSx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4oMCxpLmRlZmF1bHQpKHIpfShwLkRlc2NyaXB0aW9uKTt0LlRyYW5zYWN0aW9uRGVzY3JpcHRpb249Xzt2YXIgUz1mdW5jdGlvbihlKXsoMCxhLmRlZmF1bHQpKHIsZSk7dmFyIHQ9dyhyKTtmdW5jdGlvbiByKCl7cmV0dXJuKDAsby5kZWZhdWx0KSh0aGlzLHIpLHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybigwLGkuZGVmYXVsdCkocil9KHAuRGVzY3JpcHRpb24pO3QuRXJyb3JEZXNjcmlwdGlvbj1TO3ZhciB4PWZ1bmN0aW9uKGUpeygwLGEuZGVmYXVsdCkocixlKTt2YXIgdD13KHIpO2Z1bmN0aW9uIHIoKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHRoaXMsciksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuKDAsaS5kZWZhdWx0KShyLG51bGwsW3trZXk6ImlzSW5kZXhlZCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuISghZXx8IWUuX2lzSW5kZXhlZCl9fV0pLHJ9KHAuRGVzY3JpcHRpb24pO3QuSW5kZXhlZD14O3ZhciBFPXsiMHgwOGMzNzlhMCI6e3NpZ25hdHVyZToiRXJyb3Ioc3RyaW5nKSIsbmFtZToiRXJyb3IiLGlucHV0czpbInN0cmluZyJdLHJlYXNvbjohMH0sIjB4NGU0ODdiNzEiOntzaWduYXR1cmU6IlBhbmljKHVpbnQyNTYpIixuYW1lOiJQYW5pYyIsaW5wdXRzOlsidWludDI1NiJdfX07ZnVuY3Rpb24gUChlLHQpe3ZhciByPW5ldyBFcnJvcigiZGVmZXJyZWQgZXJyb3IgZHVyaW5nIEFCSSBkZWNvZGluZyB0cmlnZ2VyZWQgYWNjZXNzaW5nICIuY29uY2F0KGUpKTtyZXR1cm4gci5lcnJvcj10LHJ9dmFyIE89ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe3ZhciByPXRoaXM7KDAsby5kZWZhdWx0KSh0aGlzLGUpO3ZhciBuPVtdO249InN0cmluZyI9PXR5cGVvZiB0P0pTT04ucGFyc2UodCk6dCwoMCxwLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJmcmFnbWVudHMiLG4ubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gbS5GcmFnbWVudC5mcm9tKGUpfSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWV9KSkpLCgwLHAuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIl9hYmlDb2RlciIsKDAscC5nZXRTdGF0aWMpKHRoaXMgaW5zdGFuY2VvZiBlP3RoaXMuY29uc3RydWN0b3I6dm9pZCAwLCJnZXRBYmlDb2RlciIpKCkpLCgwLHAuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImZ1bmN0aW9ucyIse30pLCgwLHAuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImVycm9ycyIse30pLCgwLHAuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImV2ZW50cyIse30pLCgwLHAuZGVmaW5lUmVhZE9ubHkpKHRoaXMsInN0cnVjdHMiLHt9KSx0aGlzLmZyYWdtZW50cy5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdD1udWxsO3N3aXRjaChlLnR5cGUpe2Nhc2UiY29uc3RydWN0b3IiOnJldHVybiByLmRlcGxveT92b2lkIEEud2FybigiZHVwbGljYXRlIGRlZmluaXRpb24gLSBjb25zdHJ1Y3RvciIpOnZvaWQoMCxwLmRlZmluZVJlYWRPbmx5KShyLCJkZXBsb3kiLGUpO2Nhc2UiZnVuY3Rpb24iOnQ9ci5mdW5jdGlvbnM7YnJlYWs7Y2FzZSJldmVudCI6dD1yLmV2ZW50czticmVhaztjYXNlImVycm9yIjp0PXIuZXJyb3JzO2JyZWFrO2RlZmF1bHQ6cmV0dXJufXZhciBuPWUuZm9ybWF0KCk7dFtuXT9BLndhcm4oImR1cGxpY2F0ZSBkZWZpbml0aW9uIC0gIituKTp0W25dPWV9KSksdGhpcy5kZXBsb3l8fCgwLHAuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImRlcGxveSIsbS5Db25zdHJ1Y3RvckZyYWdtZW50LmZyb20oe3BheWFibGU6ITEsdHlwZToiY29uc3RydWN0b3IifSkpLCgwLHAuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIl9pc0ludGVyZmFjZSIsITApfXJldHVybigwLGkuZGVmYXVsdCkoZSxbe2tleToiZm9ybWF0Iix2YWx1ZTpmdW5jdGlvbihlKXtlfHwoZT1tLkZvcm1hdFR5cGVzLmZ1bGwpLGU9PT1tLkZvcm1hdFR5cGVzLnNpZ2hhc2gmJkEudGhyb3dBcmd1bWVudEVycm9yKCJpbnRlcmZhY2UgZG9lcyBub3Qgc3VwcG9ydCBmb3JtYXR0aW5nIHNpZ2hhc2giLCJmb3JtYXQiLGUpO3ZhciB0PXRoaXMuZnJhZ21lbnRzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuZm9ybWF0KGUpfSkpO3JldHVybiBlPT09bS5Gb3JtYXRUeXBlcy5qc29uP0pTT04uc3RyaW5naWZ5KHQubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gSlNPTi5wYXJzZShlKX0pKSk6dH19LHtrZXk6ImdldEZ1bmN0aW9uIix2YWx1ZTpmdW5jdGlvbihlKXtpZigoMCxkLmlzSGV4U3RyaW5nKShlKSl7Zm9yKHZhciB0IGluIHRoaXMuZnVuY3Rpb25zKWlmKGU9PT10aGlzLmdldFNpZ2hhc2godCkpcmV0dXJuIHRoaXMuZnVuY3Rpb25zW3RdO0EudGhyb3dBcmd1bWVudEVycm9yKCJubyBtYXRjaGluZyBmdW5jdGlvbiIsInNpZ2hhc2giLGUpfWlmKC0xPT09ZS5pbmRleE9mKCIoIikpe3ZhciByPWUudHJpbSgpLG49T2JqZWN0LmtleXModGhpcy5mdW5jdGlvbnMpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3BsaXQoIigiKVswXT09PXJ9KSk7cmV0dXJuIDA9PT1uLmxlbmd0aD9BLnRocm93QXJndW1lbnRFcnJvcigibm8gbWF0Y2hpbmcgZnVuY3Rpb24iLCJuYW1lIixyKTpuLmxlbmd0aD4xJiZBLnRocm93QXJndW1lbnRFcnJvcigibXVsdGlwbGUgbWF0Y2hpbmcgZnVuY3Rpb25zIiwibmFtZSIsciksdGhpcy5mdW5jdGlvbnNbblswXV19dmFyIGk9dGhpcy5mdW5jdGlvbnNbbS5GdW5jdGlvbkZyYWdtZW50LmZyb21TdHJpbmcoZSkuZm9ybWF0KCldO3JldHVybiBpfHxBLnRocm93QXJndW1lbnRFcnJvcigibm8gbWF0Y2hpbmcgZnVuY3Rpb24iLCJzaWduYXR1cmUiLGUpLGl9fSx7a2V5OiJnZXRFdmVudCIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYoKDAsZC5pc0hleFN0cmluZykoZSkpe3ZhciB0PWUudG9Mb3dlckNhc2UoKTtmb3IodmFyIHIgaW4gdGhpcy5ldmVudHMpaWYodD09PXRoaXMuZ2V0RXZlbnRUb3BpYyhyKSlyZXR1cm4gdGhpcy5ldmVudHNbcl07QS50aHJvd0FyZ3VtZW50RXJyb3IoIm5vIG1hdGNoaW5nIGV2ZW50IiwidG9waWNoYXNoIix0KX1pZigtMT09PWUuaW5kZXhPZigiKCIpKXt2YXIgbj1lLnRyaW0oKSxpPU9iamVjdC5rZXlzKHRoaXMuZXZlbnRzKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnNwbGl0KCIoIilbMF09PT1ufSkpO3JldHVybiAwPT09aS5sZW5ndGg/QS50aHJvd0FyZ3VtZW50RXJyb3IoIm5vIG1hdGNoaW5nIGV2ZW50IiwibmFtZSIsbik6aS5sZW5ndGg+MSYmQS50aHJvd0FyZ3VtZW50RXJyb3IoIm11bHRpcGxlIG1hdGNoaW5nIGV2ZW50cyIsIm5hbWUiLG4pLHRoaXMuZXZlbnRzW2lbMF1dfXZhciBvPXRoaXMuZXZlbnRzW20uRXZlbnRGcmFnbWVudC5mcm9tU3RyaW5nKGUpLmZvcm1hdCgpXTtyZXR1cm4gb3x8QS50aHJvd0FyZ3VtZW50RXJyb3IoIm5vIG1hdGNoaW5nIGV2ZW50Iiwic2lnbmF0dXJlIixlKSxvfX0se2tleToiZ2V0RXJyb3IiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKCgwLGQuaXNIZXhTdHJpbmcpKGUpKXt2YXIgdD0oMCxwLmdldFN0YXRpYykodGhpcy5jb25zdHJ1Y3RvciwiZ2V0U2lnaGFzaCIpO2Zvcih2YXIgciBpbiB0aGlzLmVycm9ycylpZihlPT09dCh0aGlzLmVycm9yc1tyXSkpcmV0dXJuIHRoaXMuZXJyb3JzW3JdO0EudGhyb3dBcmd1bWVudEVycm9yKCJubyBtYXRjaGluZyBlcnJvciIsInNpZ2hhc2giLGUpfWlmKC0xPT09ZS5pbmRleE9mKCIoIikpe3ZhciBuPWUudHJpbSgpLGk9T2JqZWN0LmtleXModGhpcy5lcnJvcnMpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3BsaXQoIigiKVswXT09PW59KSk7cmV0dXJuIDA9PT1pLmxlbmd0aD9BLnRocm93QXJndW1lbnRFcnJvcigibm8gbWF0Y2hpbmcgZXJyb3IiLCJuYW1lIixuKTppLmxlbmd0aD4xJiZBLnRocm93QXJndW1lbnRFcnJvcigibXVsdGlwbGUgbWF0Y2hpbmcgZXJyb3JzIiwibmFtZSIsbiksdGhpcy5lcnJvcnNbaVswXV19dmFyIG89dGhpcy5lcnJvcnNbbS5GdW5jdGlvbkZyYWdtZW50LmZyb21TdHJpbmcoZSkuZm9ybWF0KCldO3JldHVybiBvfHxBLnRocm93QXJndW1lbnRFcnJvcigibm8gbWF0Y2hpbmcgZXJyb3IiLCJzaWduYXR1cmUiLGUpLG99fSx7a2V5OiJnZXRTaWdoYXNoIix2YWx1ZTpmdW5jdGlvbihlKXtpZigic3RyaW5nIj09dHlwZW9mIGUpdHJ5e2U9dGhpcy5nZXRGdW5jdGlvbihlKX1jYXRjaCh0KXt0cnl7ZT10aGlzLmdldEVycm9yKGUpfWNhdGNoKGUpe3Rocm93IHR9fXJldHVybigwLHAuZ2V0U3RhdGljKSh0aGlzLmNvbnN0cnVjdG9yLCJnZXRTaWdoYXNoIikoZSl9fSx7a2V5OiJnZXRFdmVudFRvcGljIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJihlPXRoaXMuZ2V0RXZlbnQoZSkpLCgwLHAuZ2V0U3RhdGljKSh0aGlzLmNvbnN0cnVjdG9yLCJnZXRFdmVudFRvcGljIikoZSl9fSx7a2V5OiJfZGVjb2RlUGFyYW1zIix2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9hYmlDb2Rlci5kZWNvZGUoZSx0KX19LHtrZXk6Il9lbmNvZGVQYXJhbXMiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX2FiaUNvZGVyLmVuY29kZShlLHQpfX0se2tleToiZW5jb2RlRGVwbG95Iix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fZW5jb2RlUGFyYW1zKHRoaXMuZGVwbG95LmlucHV0cyxlfHxbXSl9fSx7a2V5OiJkZWNvZGVFcnJvclJlc3VsdCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXsic3RyaW5nIj09dHlwZW9mIGUmJihlPXRoaXMuZ2V0RXJyb3IoZSkpO3ZhciByPSgwLGQuYXJyYXlpZnkpKHQpO3JldHVybigwLGQuaGV4bGlmeSkoci5zbGljZSgwLDQpKSE9PXRoaXMuZ2V0U2lnaGFzaChlKSYmQS50aHJvd0FyZ3VtZW50RXJyb3IoImRhdGEgc2lnbmF0dXJlIGRvZXMgbm90IG1hdGNoIGVycm9yICIuY29uY2F0KGUubmFtZSwiLiIpLCJkYXRhIiwoMCxkLmhleGxpZnkpKHIpKSx0aGlzLl9kZWNvZGVQYXJhbXMoZS5pbnB1dHMsci5zbGljZSg0KSl9fSx7a2V5OiJlbmNvZGVFcnJvclJlc3VsdCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJihlPXRoaXMuZ2V0RXJyb3IoZSkpLCgwLGQuaGV4bGlmeSkoKDAsZC5jb25jYXQpKFt0aGlzLmdldFNpZ2hhc2goZSksdGhpcy5fZW5jb2RlUGFyYW1zKGUuaW5wdXRzLHR8fFtdKV0pKX19LHtrZXk6ImRlY29kZUZ1bmN0aW9uRGF0YSIsdmFsdWU6ZnVuY3Rpb24oZSx0KXsic3RyaW5nIj09dHlwZW9mIGUmJihlPXRoaXMuZ2V0RnVuY3Rpb24oZSkpO3ZhciByPSgwLGQuYXJyYXlpZnkpKHQpO3JldHVybigwLGQuaGV4bGlmeSkoci5zbGljZSgwLDQpKSE9PXRoaXMuZ2V0U2lnaGFzaChlKSYmQS50aHJvd0FyZ3VtZW50RXJyb3IoImRhdGEgc2lnbmF0dXJlIGRvZXMgbm90IG1hdGNoIGZ1bmN0aW9uICIuY29uY2F0KGUubmFtZSwiLiIpLCJkYXRhIiwoMCxkLmhleGxpZnkpKHIpKSx0aGlzLl9kZWNvZGVQYXJhbXMoZS5pbnB1dHMsci5zbGljZSg0KSl9fSx7a2V5OiJlbmNvZGVGdW5jdGlvbkRhdGEiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiYoZT10aGlzLmdldEZ1bmN0aW9uKGUpKSwoMCxkLmhleGxpZnkpKCgwLGQuY29uY2F0KShbdGhpcy5nZXRTaWdoYXNoKGUpLHRoaXMuX2VuY29kZVBhcmFtcyhlLmlucHV0cyx0fHxbXSldKSl9fSx7a2V5OiJkZWNvZGVGdW5jdGlvblJlc3VsdCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXsic3RyaW5nIj09dHlwZW9mIGUmJihlPXRoaXMuZ2V0RnVuY3Rpb24oZSkpO3ZhciByPSgwLGQuYXJyYXlpZnkpKHQpLG49bnVsbCxpPSIiLG89bnVsbCxhPW51bGwscz1udWxsO3N3aXRjaChyLmxlbmd0aCV0aGlzLl9hYmlDb2Rlci5fZ2V0V29yZFNpemUoKSl7Y2FzZSAwOnRyeXtyZXR1cm4gdGhpcy5fYWJpQ29kZXIuZGVjb2RlKGUub3V0cHV0cyxyKX1jYXRjaChmKXt9YnJlYWs7Y2FzZSA0OnZhciB1PSgwLGQuaGV4bGlmeSkoci5zbGljZSgwLDQpKSxjPUVbdV07aWYoYylvPXRoaXMuX2FiaUNvZGVyLmRlY29kZShjLmlucHV0cyxyLnNsaWNlKDQpKSxhPWMubmFtZSxzPWMuc2lnbmF0dXJlLGMucmVhc29uJiYobj1vWzBdKSwiRXJyb3IiPT09YT9pPSI7IFZNIEV4Y2VwdGlvbiB3aGlsZSBwcm9jZXNzaW5nIHRyYW5zYWN0aW9uOiByZXZlcnRlZCB3aXRoIHJlYXNvbiBzdHJpbmcgIi5jb25jYXQoSlNPTi5zdHJpbmdpZnkob1swXSkpOiJQYW5pYyI9PT1hJiYoaT0iOyBWTSBFeGNlcHRpb24gd2hpbGUgcHJvY2Vzc2luZyB0cmFuc2FjdGlvbjogcmV2ZXJ0ZWQgd2l0aCBwYW5pYyBjb2RlICIuY29uY2F0KG9bMF0pKTtlbHNlIHRyeXt2YXIgZj10aGlzLmdldEVycm9yKHUpO289dGhpcy5fYWJpQ29kZXIuZGVjb2RlKGYuaW5wdXRzLHIuc2xpY2UoNCkpLGE9Zi5uYW1lLHM9Zi5mb3JtYXQoKX1jYXRjaChmKXt9fXJldHVybiBBLnRocm93RXJyb3IoImNhbGwgcmV2ZXJ0IGV4Y2VwdGlvbiIraSx2LkxvZ2dlci5lcnJvcnMuQ0FMTF9FWENFUFRJT04se21ldGhvZDplLmZvcm1hdCgpLGRhdGE6KDAsZC5oZXhsaWZ5KSh0KSxlcnJvckFyZ3M6byxlcnJvck5hbWU6YSxlcnJvclNpZ25hdHVyZTpzLHJlYXNvbjpufSl9fSx7a2V5OiJlbmNvZGVGdW5jdGlvblJlc3VsdCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJihlPXRoaXMuZ2V0RnVuY3Rpb24oZSkpLCgwLGQuaGV4bGlmeSkodGhpcy5fYWJpQ29kZXIuZW5jb2RlKGUub3V0cHV0cyx0fHxbXSkpfX0se2tleToiZW5jb2RlRmlsdGVyVG9waWNzIix2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciByPXRoaXM7InN0cmluZyI9PXR5cGVvZiBlJiYoZT10aGlzLmdldEV2ZW50KGUpKSx0Lmxlbmd0aD5lLmlucHV0cy5sZW5ndGgmJkEudGhyb3dFcnJvcigidG9vIG1hbnkgYXJndW1lbnRzIGZvciAiK2UuZm9ybWF0KCksdi5Mb2dnZXIuZXJyb3JzLlVORVhQRUNURURfQVJHVU1FTlQse2FyZ3VtZW50OiJ2YWx1ZXMiLHZhbHVlOnR9KTt2YXIgbj1bXTtlLmFub255bW91c3x8bi5wdXNoKHRoaXMuZ2V0RXZlbnRUb3BpYyhlKSk7dmFyIGk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4ic3RyaW5nIj09PWUudHlwZT8oMCxsLmlkKSh0KToiYnl0ZXMiPT09ZS50eXBlPygwLGgua2VjY2FrMjU2KSgoMCxkLmhleGxpZnkpKHQpKTooImJvb2wiPT09ZS50eXBlJiYiYm9vbGVhbiI9PXR5cGVvZiB0JiYodD10PyIweDAxIjoiMHgwMCIpLGUudHlwZS5tYXRjaCgvXnU/aW50LykmJih0PWYuQmlnTnVtYmVyLmZyb20odCkudG9IZXhTdHJpbmcoKSksImFkZHJlc3MiPT09ZS50eXBlJiZyLl9hYmlDb2Rlci5lbmNvZGUoWyJhZGRyZXNzIl0sW3RdKSwoMCxkLmhleFplcm9QYWQpKCgwLGQuaGV4bGlmeSkodCksMzIpKX07Zm9yKHQuZm9yRWFjaCgoZnVuY3Rpb24odCxyKXt2YXIgbz1lLmlucHV0c1tyXTtvLmluZGV4ZWQ/bnVsbD09dD9uLnB1c2gobnVsbCk6ImFycmF5Ij09PW8uYmFzZVR5cGV8fCJ0dXBsZSI9PT1vLmJhc2VUeXBlP0EudGhyb3dBcmd1bWVudEVycm9yKCJmaWx0ZXJpbmcgd2l0aCB0dXBsZXMgb3IgYXJyYXlzIG5vdCBzdXBwb3J0ZWQiLCJjb250cmFjdC4iK28ubmFtZSx0KTpBcnJheS5pc0FycmF5KHQpP24ucHVzaCh0Lm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGkobyxlKX0pKSk6bi5wdXNoKGkobyx0KSk6bnVsbCE9dCYmQS50aHJvd0FyZ3VtZW50RXJyb3IoImNhbm5vdCBmaWx0ZXIgbm9uLWluZGV4ZWQgcGFyYW1ldGVyczsgbXVzdCBiZSBudWxsIiwiY29udHJhY3QuIitvLm5hbWUsdCl9KSk7bi5sZW5ndGgmJm51bGw9PT1uW24ubGVuZ3RoLTFdOyluLnBvcCgpO3JldHVybiBufX0se2tleToiZW5jb2RlRXZlbnRMb2ciLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpczsic3RyaW5nIj09dHlwZW9mIGUmJihlPXRoaXMuZ2V0RXZlbnQoZSkpO3ZhciBuPVtdLGk9W10sbz1bXTtyZXR1cm4gZS5hbm9ueW1vdXN8fG4ucHVzaCh0aGlzLmdldEV2ZW50VG9waWMoZSkpLHQubGVuZ3RoIT09ZS5pbnB1dHMubGVuZ3RoJiZBLnRocm93QXJndW1lbnRFcnJvcigiZXZlbnQgYXJndW1lbnRzL3ZhbHVlcyBtaXNtYXRjaCIsInZhbHVlcyIsdCksZS5pbnB1dHMuZm9yRWFjaCgoZnVuY3Rpb24oZSxhKXt2YXIgcz10W2FdO2lmKGUuaW5kZXhlZClpZigic3RyaW5nIj09PWUudHlwZSluLnB1c2goKDAsbC5pZCkocykpO2Vsc2UgaWYoImJ5dGVzIj09PWUudHlwZSluLnB1c2goKDAsaC5rZWNjYWsyNTYpKHMpKTtlbHNle2lmKCJ0dXBsZSI9PT1lLmJhc2VUeXBlfHwiYXJyYXkiPT09ZS5iYXNlVHlwZSl0aHJvdyBuZXcgRXJyb3IoIm5vdCBpbXBsZW1lbnRlZCIpO24ucHVzaChyLl9hYmlDb2Rlci5lbmNvZGUoW2UudHlwZV0sW3NdKSl9ZWxzZSBpLnB1c2goZSksby5wdXNoKHMpfSkpLHtkYXRhOnRoaXMuX2FiaUNvZGVyLmVuY29kZShpLG8pLHRvcGljczpufX19LHtrZXk6ImRlY29kZUV2ZW50TG9nIix2YWx1ZTpmdW5jdGlvbihlLHQscil7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYoZT10aGlzLmdldEV2ZW50KGUpKSxudWxsIT1yJiYhZS5hbm9ueW1vdXMpe3ZhciBuPXRoaXMuZ2V0RXZlbnRUb3BpYyhlKTsoMCxkLmlzSGV4U3RyaW5nKShyWzBdLDMyKSYmclswXS50b0xvd2VyQ2FzZSgpPT09bnx8QS50aHJvd0Vycm9yKCJmcmFnbWVudC90b3BpYyBtaXNtYXRjaCIsdi5Mb2dnZXIuZXJyb3JzLklOVkFMSURfQVJHVU1FTlQse2FyZ3VtZW50OiJ0b3BpY3NbMF0iLGV4cGVjdGVkOm4sdmFsdWU6clswXX0pLHI9ci5zbGljZSgxKX12YXIgaT1bXSxvPVtdLGE9W107ZS5pbnB1dHMuZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXtlLmluZGV4ZWQ/InN0cmluZyI9PT1lLnR5cGV8fCJieXRlcyI9PT1lLnR5cGV8fCJ0dXBsZSI9PT1lLmJhc2VUeXBlfHwiYXJyYXkiPT09ZS5iYXNlVHlwZT8oaS5wdXNoKG0uUGFyYW1UeXBlLmZyb21PYmplY3Qoe3R5cGU6ImJ5dGVzMzIiLG5hbWU6ZS5uYW1lfSkpLGEucHVzaCghMCkpOihpLnB1c2goZSksYS5wdXNoKCExKSk6KG8ucHVzaChlKSxhLnB1c2goITEpKX0pKTt2YXIgcz1udWxsIT1yP3RoaXMuX2FiaUNvZGVyLmRlY29kZShpLCgwLGQuY29uY2F0KShyKSk6bnVsbCx1PXRoaXMuX2FiaUNvZGVyLmRlY29kZShvLHQsITApLGM9W10sZj0wLGw9MDtlLmlucHV0cy5mb3JFYWNoKChmdW5jdGlvbihlLHQpe2lmKGUuaW5kZXhlZClpZihudWxsPT1zKWNbdF09bmV3IHgoe19pc0luZGV4ZWQ6ITAsaGFzaDpudWxsfSk7ZWxzZSBpZihhW3RdKWNbdF09bmV3IHgoe19pc0luZGV4ZWQ6ITAsaGFzaDpzW2wrK119KTtlbHNlIHRyeXtjW3RdPXNbbCsrXX1jYXRjaChlKXtjW3RdPWV9ZWxzZSB0cnl7Y1t0XT11W2YrK119Y2F0Y2goZSl7Y1t0XT1lfWlmKGUubmFtZSYmbnVsbD09Y1tlLm5hbWVdKXt2YXIgcj1jW3RdO3IgaW5zdGFuY2VvZiBFcnJvcj9PYmplY3QuZGVmaW5lUHJvcGVydHkoYyxlLm5hbWUse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7dGhyb3cgUCgicHJvcGVydHkgIi5jb25jYXQoSlNPTi5zdHJpbmdpZnkoZS5uYW1lKSkscil9fSk6Y1tlLm5hbWVdPXJ9fSkpO2Zvcih2YXIgaD1mdW5jdGlvbihlKXt2YXIgdD1jW2VdO3QgaW5zdGFuY2VvZiBFcnJvciYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsZSx7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt0aHJvdyBQKCJpbmRleCAiLmNvbmNhdChlKSx0KX19KX0scD0wO3A8Yy5sZW5ndGg7cCsrKWgocCk7cmV0dXJuIE9iamVjdC5mcmVlemUoYyl9fSx7a2V5OiJwYXJzZVRyYW5zYWN0aW9uIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmdldEZ1bmN0aW9uKGUuZGF0YS5zdWJzdHJpbmcoMCwxMCkudG9Mb3dlckNhc2UoKSk7cmV0dXJuIHQ/bmV3IF8oe2FyZ3M6dGhpcy5fYWJpQ29kZXIuZGVjb2RlKHQuaW5wdXRzLCIweCIrZS5kYXRhLnN1YnN0cmluZygxMCkpLGZ1bmN0aW9uRnJhZ21lbnQ6dCxuYW1lOnQubmFtZSxzaWduYXR1cmU6dC5mb3JtYXQoKSxzaWdoYXNoOnRoaXMuZ2V0U2lnaGFzaCh0KSx2YWx1ZTpmLkJpZ051bWJlci5mcm9tKGUudmFsdWV8fCIwIil9KTpudWxsfX0se2tleToicGFyc2VMb2ciLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZ2V0RXZlbnQoZS50b3BpY3NbMF0pO3JldHVybiF0fHx0LmFub255bW91cz9udWxsOm5ldyBrKHtldmVudEZyYWdtZW50OnQsbmFtZTp0Lm5hbWUsc2lnbmF0dXJlOnQuZm9ybWF0KCksdG9waWM6dGhpcy5nZXRFdmVudFRvcGljKHQpLGFyZ3M6dGhpcy5kZWNvZGVFdmVudExvZyh0LGUuZGF0YSxlLnRvcGljcyl9KX19LHtrZXk6InBhcnNlRXJyb3IiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PSgwLGQuaGV4bGlmeSkoZSkscj10aGlzLmdldEVycm9yKHQuc3Vic3RyaW5nKDAsMTApLnRvTG93ZXJDYXNlKCkpO3JldHVybiByP25ldyBTKHthcmdzOnRoaXMuX2FiaUNvZGVyLmRlY29kZShyLmlucHV0cywiMHgiK3Quc3Vic3RyaW5nKDEwKSksZXJyb3JGcmFnbWVudDpyLG5hbWU6ci5uYW1lLHNpZ25hdHVyZTpyLmZvcm1hdCgpLHNpZ2hhc2g6dGhpcy5nZXRTaWdoYXNoKHIpfSk6bnVsbH19XSxbe2tleToiZ2V0QWJpQ29kZXIiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIGIuZGVmYXVsdEFiaUNvZGVyfX0se2tleToiZ2V0QWRkcmVzcyIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuKDAsYy5nZXRBZGRyZXNzKShlKX19LHtrZXk6ImdldFNpZ2hhc2giLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybigwLGQuaGV4RGF0YVNsaWNlKSgoMCxsLmlkKShlLmZvcm1hdCgpKSwwLDQpfX0se2tleToiZ2V0RXZlbnRUb3BpYyIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuKDAsbC5pZCkoZS5mb3JtYXQoKSl9fSx7a2V5OiJpc0ludGVyZmFjZSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuISghZXx8IWUuX2lzSW50ZXJmYWNlKX19XSksZX0oKTt0LkludGVyZmFjZT1PfSw4MjIyOihlLHQpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnZlcnNpb249dm9pZCAwLHQudmVyc2lvbj0iYWRkcmVzcy81LjcuMCJ9LDc5MjE6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5nZXRBZGRyZXNzPW0sdC5nZXRDb250cmFjdEFkZHJlc3M9ZnVuY3Rpb24oZSl7dmFyIHQ9bnVsbDt0cnl7dD1tKGUuZnJvbSl9Y2F0Y2godCl7Yy50aHJvd0FyZ3VtZW50RXJyb3IoIm1pc3NpbmcgZnJvbSBhZGRyZXNzIiwidHJhbnNhY3Rpb24iLGUpfXZhciByPSgwLG4uc3RyaXBaZXJvcykoKDAsbi5hcnJheWlmeSkoaS5CaWdOdW1iZXIuZnJvbShlLm5vbmNlKS50b0hleFN0cmluZygpKSk7cmV0dXJuIG0oKDAsbi5oZXhEYXRhU2xpY2UpKCgwLG8ua2VjY2FrMjU2KSgoMCxhLmVuY29kZSkoW3Qscl0pKSwxMikpfSx0LmdldENyZWF0ZTJBZGRyZXNzPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gMzIhPT0oMCxuLmhleERhdGFMZW5ndGgpKHQpJiZjLnRocm93QXJndW1lbnRFcnJvcigic2FsdCBtdXN0IGJlIDMyIGJ5dGVzIiwic2FsdCIsdCksMzIhPT0oMCxuLmhleERhdGFMZW5ndGgpKHIpJiZjLnRocm93QXJndW1lbnRFcnJvcigiaW5pdENvZGVIYXNoIG11c3QgYmUgMzIgYnl0ZXMiLCJpbml0Q29kZUhhc2giLHIpLG0oKDAsbi5oZXhEYXRhU2xpY2UpKCgwLG8ua2VjY2FrMjU2KSgoMCxuLmNvbmNhdCkoWyIweGZmIixtKGUpLHQscl0pKSwxMikpfSx0LmdldEljYXBBZGRyZXNzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0oMCxpLl9iYXNlMTZUbzM2KShtKGUpLnN1YnN0cmluZygyKSkudG9VcHBlckNhc2UoKTt0Lmxlbmd0aDwzMDspdD0iMCIrdDtyZXR1cm4iWEUiK3koIlhFMDAiK3QpK3R9LHQuaXNBZGRyZXNzPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gbShlKSwhMH1jYXRjaChlKXt9cmV0dXJuITF9O3ZhciBuPXIoOTA4KSxpPXIoNDk1Miksbz1yKDQ2NDIpLGE9cig1MjY1KSxzPXIoNDMyNyksdT1yKDgyMjIpLGM9bmV3IHMuTG9nZ2VyKHUudmVyc2lvbik7ZnVuY3Rpb24gZihlKXsoMCxuLmlzSGV4U3RyaW5nKShlLDIwKXx8Yy50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgYWRkcmVzcyIsImFkZHJlc3MiLGUpO2Zvcih2YXIgdD0oZT1lLnRvTG93ZXJDYXNlKCkpLnN1YnN0cmluZygyKS5zcGxpdCgiIikscj1uZXcgVWludDhBcnJheSg0MCksaT0wO2k8NDA7aSsrKXJbaV09dFtpXS5jaGFyQ29kZUF0KDApO2Zvcih2YXIgYT0oMCxuLmFycmF5aWZ5KSgoMCxvLmtlY2NhazI1NikocikpLHM9MDtzPDQwO3MrPTIpYVtzPj4xXT4+ND49OCYmKHRbc109dFtzXS50b1VwcGVyQ2FzZSgpKSwoMTUmYVtzPj4xXSk+PTgmJih0W3MrMV09dFtzKzFdLnRvVXBwZXJDYXNlKCkpO3JldHVybiIweCIrdC5qb2luKCIiKX1mb3IodmFyIGQ9e30sbD0wO2w8MTA7bCsrKWRbU3RyaW5nKGwpXT1TdHJpbmcobCk7Zm9yKHZhciBoPTA7aDwyNjtoKyspZFtTdHJpbmcuZnJvbUNoYXJDb2RlKDY1K2gpXT1TdHJpbmcoMTAraCk7dmFyIHAsYj1NYXRoLmZsb29yKChwPTkwMDcxOTkyNTQ3NDA5OTEsTWF0aC5sb2cxMD9NYXRoLmxvZzEwKHApOk1hdGgubG9nKHApL01hdGguTE4xMCkpO2Z1bmN0aW9uIHkoZSl7Zm9yKHZhciB0PShlPShlPWUudG9VcHBlckNhc2UoKSkuc3Vic3RyaW5nKDQpK2Uuc3Vic3RyaW5nKDAsMikrIjAwIikuc3BsaXQoIiIpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGRbZV19KSkuam9pbigiIik7dC5sZW5ndGg+PWI7KXt2YXIgcj10LnN1YnN0cmluZygwLGIpO3Q9cGFyc2VJbnQociwxMCklOTcrdC5zdWJzdHJpbmcoci5sZW5ndGgpfWZvcih2YXIgbj1TdHJpbmcoOTgtcGFyc2VJbnQodCwxMCklOTcpO24ubGVuZ3RoPDI7KW49IjAiK247cmV0dXJuIG59ZnVuY3Rpb24gbShlKXt2YXIgdD1udWxsO2lmKCJzdHJpbmciIT10eXBlb2YgZSYmYy50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgYWRkcmVzcyIsImFkZHJlc3MiLGUpLGUubWF0Y2goL14oMHgpP1swLTlhLWZBLUZdezQwfSQvKSkiMHgiIT09ZS5zdWJzdHJpbmcoMCwyKSYmKGU9IjB4IitlKSx0PWYoZSksZS5tYXRjaCgvKFtBLUZdLipbYS1mXSl8KFthLWZdLipbQS1GXSkvKSYmdCE9PWUmJmMudGhyb3dBcmd1bWVudEVycm9yKCJiYWQgYWRkcmVzcyBjaGVja3N1bSIsImFkZHJlc3MiLGUpO2Vsc2UgaWYoZS5tYXRjaCgvXlhFWzAtOV17Mn1bMC05QS1aYS16XXszMCwzMX0kLykpe2ZvcihlLnN1YnN0cmluZygyLDQpIT09eShlKSYmYy50aHJvd0FyZ3VtZW50RXJyb3IoImJhZCBpY2FwIGNoZWNrc3VtIiwiYWRkcmVzcyIsZSksdD0oMCxpLl9iYXNlMzZUbzE2KShlLnN1YnN0cmluZyg0KSk7dC5sZW5ndGg8NDA7KXQ9IjAiK3Q7dD1mKCIweCIrdCl9ZWxzZSBjLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBhZGRyZXNzIiwiYWRkcmVzcyIsZSk7cmV0dXJuIHR9fSw1Nzk4OihlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVjb2RlPWZ1bmN0aW9uKGUpe2U9YXRvYihlKTtmb3IodmFyIHQ9W10scj0wO3I8ZS5sZW5ndGg7cisrKXQucHVzaChlLmNoYXJDb2RlQXQocikpO3JldHVybigwLG4uYXJyYXlpZnkpKHQpfSx0LmVuY29kZT1mdW5jdGlvbihlKXtlPSgwLG4uYXJyYXlpZnkpKGUpO2Zvcih2YXIgdD0iIixyPTA7cjxlLmxlbmd0aDtyKyspdCs9U3RyaW5nLmZyb21DaGFyQ29kZShlW3JdKTtyZXR1cm4gYnRvYSh0KX07dmFyIG49cig5MDgpfSw5OTc6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImRlY29kZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG4uZGVjb2RlfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJlbmNvZGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLmVuY29kZX19KTt2YXIgbj1yKDU3OTgpfSwzMDQyOihlLHQpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnZlcnNpb249dm9pZCAwLHQudmVyc2lvbj0iYmlnbnVtYmVyLzUuNy4wIn0sMTg3MjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuQmlnTnVtYmVyPXZvaWQgMCx0Ll9iYXNlMTZUbzM2PWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgZihlLDE2KS50b1N0cmluZygzNil9LHQuX2Jhc2UzNlRvMTY9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBmKGUsMzYpLnRvU3RyaW5nKDE2KX0sdC5pc0JpZ051bWJlcmlzaD1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZSYmKGIuaXNCaWdOdW1iZXIoZSl8fCJudW1iZXIiPT10eXBlb2YgZSYmZSUxPT0wfHwic3RyaW5nIj09dHlwZW9mIGUmJiEhZS5tYXRjaCgvXi0/WzAtOV0rJC8pfHwoMCxzLmlzSGV4U3RyaW5nKShlKXx8ImJpZ2ludCI9PXR5cGVvZiBlfHwoMCxzLmlzQnl0ZXMpKGUpKX07dmFyIGk9bihyKDk3MjEpKSxvPW4ocig4OTg1KSksYT1uKHIoMTczNCkpLHM9cig5MDgpLHU9cig0MzI3KSxjPXIoMzA0MiksZj1hLmRlZmF1bHQuQk4sZD1uZXcgdS5Mb2dnZXIoYy52ZXJzaW9uKSxsPXt9LGg9OTAwNzE5OTI1NDc0MDk5MSxwPSExLGI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQscil7KDAsaS5kZWZhdWx0KSh0aGlzLGUpLHQhPT1sJiZkLnRocm93RXJyb3IoImNhbm5vdCBjYWxsIGNvbnN0cnVjdG9yIGRpcmVjdGx5OyB1c2UgQmlnTnVtYmVyLmZyb20iLHUuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoibmV3IChCaWdOdW1iZXIpIn0pLHRoaXMuX2hleD1yLHRoaXMuX2lzQmlnTnVtYmVyPSEwLE9iamVjdC5mcmVlemUodGhpcyl9cmV0dXJuKDAsby5kZWZhdWx0KShlLFt7a2V5OiJmcm9tVHdvcyIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIG0odih0aGlzKS5mcm9tVHdvcyhlKSl9fSx7a2V5OiJ0b1R3b3MiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBtKHYodGhpcykudG9Ud29zKGUpKX19LHtrZXk6ImFicyIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iLSI9PT10aGlzLl9oZXhbMF0/ZS5mcm9tKHRoaXMuX2hleC5zdWJzdHJpbmcoMSkpOnRoaXN9fSx7a2V5OiJhZGQiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBtKHYodGhpcykuYWRkKHYoZSkpKX19LHtrZXk6InN1YiIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIG0odih0aGlzKS5zdWIodihlKSkpfX0se2tleToiZGl2Iix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gZS5mcm9tKHQpLmlzWmVybygpJiZnKCJkaXZpc2lvbi1ieS16ZXJvIiwiZGl2IiksbSh2KHRoaXMpLmRpdih2KHQpKSl9fSx7a2V5OiJtdWwiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBtKHYodGhpcykubXVsKHYoZSkpKX19LHtrZXk6Im1vZCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dihlKTtyZXR1cm4gdC5pc05lZygpJiZnKCJkaXZpc2lvbi1ieS16ZXJvIiwibW9kIiksbSh2KHRoaXMpLnVtb2QodCkpfX0se2tleToicG93Iix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD12KGUpO3JldHVybiB0LmlzTmVnKCkmJmcoIm5lZ2F0aXZlLXBvd2VyIiwicG93IiksbSh2KHRoaXMpLnBvdyh0KSl9fSx7a2V5OiJhbmQiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXYoZSk7cmV0dXJuKHRoaXMuaXNOZWdhdGl2ZSgpfHx0LmlzTmVnKCkpJiZnKCJ1bmJvdW5kLWJpdHdpc2UtcmVzdWx0IiwiYW5kIiksbSh2KHRoaXMpLmFuZCh0KSl9fSx7a2V5OiJvciIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dihlKTtyZXR1cm4odGhpcy5pc05lZ2F0aXZlKCl8fHQuaXNOZWcoKSkmJmcoInVuYm91bmQtYml0d2lzZS1yZXN1bHQiLCJvciIpLG0odih0aGlzKS5vcih0KSl9fSx7a2V5OiJ4b3IiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXYoZSk7cmV0dXJuKHRoaXMuaXNOZWdhdGl2ZSgpfHx0LmlzTmVnKCkpJiZnKCJ1bmJvdW5kLWJpdHdpc2UtcmVzdWx0IiwieG9yIiksbSh2KHRoaXMpLnhvcih0KSl9fSx7a2V5OiJtYXNrIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4odGhpcy5pc05lZ2F0aXZlKCl8fGU8MCkmJmcoIm5lZ2F0aXZlLXdpZHRoIiwibWFzayIpLG0odih0aGlzKS5tYXNrbihlKSl9fSx7a2V5OiJzaGwiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybih0aGlzLmlzTmVnYXRpdmUoKXx8ZTwwKSYmZygibmVnYXRpdmUtd2lkdGgiLCJzaGwiKSxtKHYodGhpcykuc2hsbihlKSl9fSx7a2V5OiJzaHIiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybih0aGlzLmlzTmVnYXRpdmUoKXx8ZTwwKSYmZygibmVnYXRpdmUtd2lkdGgiLCJzaHIiKSxtKHYodGhpcykuc2hybihlKSl9fSx7a2V5OiJlcSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHYodGhpcykuZXEodihlKSl9fSx7a2V5OiJsdCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHYodGhpcykubHQodihlKSl9fSx7a2V5OiJsdGUiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB2KHRoaXMpLmx0ZSh2KGUpKX19LHtrZXk6Imd0Iix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdih0aGlzKS5ndCh2KGUpKX19LHtrZXk6Imd0ZSIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHYodGhpcykuZ3RlKHYoZSkpfX0se2tleToiaXNOZWdhdGl2ZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iLSI9PT10aGlzLl9oZXhbMF19fSx7a2V5OiJpc1plcm8iLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHYodGhpcykuaXNaZXJvKCl9fSx7a2V5OiJ0b051bWJlciIsdmFsdWU6ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHYodGhpcykudG9OdW1iZXIoKX1jYXRjaChlKXtnKCJvdmVyZmxvdyIsInRvTnVtYmVyIix0aGlzLnRvU3RyaW5nKCkpfXJldHVybiBudWxsfX0se2tleToidG9CaWdJbnQiLHZhbHVlOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiBCaWdJbnQodGhpcy50b1N0cmluZygpKX1jYXRjaChlKXt9cmV0dXJuIGQudGhyb3dFcnJvcigidGhpcyBwbGF0Zm9ybSBkb2VzIG5vdCBzdXBwb3J0IEJpZ0ludCIsdS5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7dmFsdWU6dGhpcy50b1N0cmluZygpfSl9fSx7a2V5OiJ0b1N0cmluZyIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wJiYoMTA9PT1hcmd1bWVudHNbMF0/cHx8KHA9ITAsZC53YXJuKCJCaWdOdW1iZXIudG9TdHJpbmcgZG9lcyBub3QgYWNjZXB0IGFueSBwYXJhbWV0ZXJzOyBiYXNlLTEwIGlzIGFzc3VtZWQiKSk6MTY9PT1hcmd1bWVudHNbMF0/ZC50aHJvd0Vycm9yKCJCaWdOdW1iZXIudG9TdHJpbmcgZG9lcyBub3QgYWNjZXB0IGFueSBwYXJhbWV0ZXJzOyB1c2UgYmlnTnVtYmVyLnRvSGV4U3RyaW5nKCkiLHUuTG9nZ2VyLmVycm9ycy5VTkVYUEVDVEVEX0FSR1VNRU5ULHt9KTpkLnRocm93RXJyb3IoIkJpZ051bWJlci50b1N0cmluZyBkb2VzIG5vdCBhY2NlcHQgcGFyYW1ldGVycyIsdS5Mb2dnZXIuZXJyb3JzLlVORVhQRUNURURfQVJHVU1FTlQse30pKSx2KHRoaXMpLnRvU3RyaW5nKDEwKX19LHtrZXk6InRvSGV4U3RyaW5nIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9oZXh9fSx7a2V5OiJ0b0pTT04iLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybnt0eXBlOiJCaWdOdW1iZXIiLGhleDp0aGlzLnRvSGV4U3RyaW5nKCl9fX1dLFt7a2V5OiJmcm9tIix2YWx1ZTpmdW5jdGlvbih0KXtpZih0IGluc3RhbmNlb2YgZSlyZXR1cm4gdDtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIHQubWF0Y2goL14tPzB4WzAtOWEtZl0rJC9pKT9uZXcgZShsLHkodCkpOnQubWF0Y2goL14tP1swLTldKyQvKT9uZXcgZShsLHkobmV3IGYodCkpKTpkLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBCaWdOdW1iZXIgc3RyaW5nIiwidmFsdWUiLHQpO2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdCUxJiZnKCJ1bmRlcmZsb3ciLCJCaWdOdW1iZXIuZnJvbSIsdCksKHQ+PWh8fHQ8PS1oKSYmZygib3ZlcmZsb3ciLCJCaWdOdW1iZXIuZnJvbSIsdCksZS5mcm9tKFN0cmluZyh0KSk7dmFyIHI9dDtpZigiYmlnaW50Ij09dHlwZW9mIHIpcmV0dXJuIGUuZnJvbShyLnRvU3RyaW5nKCkpO2lmKCgwLHMuaXNCeXRlcykocikpcmV0dXJuIGUuZnJvbSgoMCxzLmhleGxpZnkpKHIpKTtpZihyKWlmKHIudG9IZXhTdHJpbmcpe3ZhciBuPXIudG9IZXhTdHJpbmcoKTtpZigic3RyaW5nIj09dHlwZW9mIG4pcmV0dXJuIGUuZnJvbShuKX1lbHNle3ZhciBpPXIuX2hleDtpZihudWxsPT1pJiYiQmlnTnVtYmVyIj09PXIudHlwZSYmKGk9ci5oZXgpLCJzdHJpbmciPT10eXBlb2YgaSYmKCgwLHMuaXNIZXhTdHJpbmcpKGkpfHwiLSI9PT1pWzBdJiYoMCxzLmlzSGV4U3RyaW5nKShpLnN1YnN0cmluZygxKSkpKXJldHVybiBlLmZyb20oaSl9cmV0dXJuIGQudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIEJpZ051bWJlciB2YWx1ZSIsInZhbHVlIix0KX19LHtrZXk6ImlzQmlnTnVtYmVyIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4hKCFlfHwhZS5faXNCaWdOdW1iZXIpfX1dKSxlfSgpO2Z1bmN0aW9uIHkoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiB5KGUudG9TdHJpbmcoMTYpKTtpZigiLSI9PT1lWzBdKXJldHVybiItIj09PShlPWUuc3Vic3RyaW5nKDEpKVswXSYmZC50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgaGV4IiwidmFsdWUiLGUpLCIweDAwIj09PShlPXkoZSkpP2U6Ii0iK2U7aWYoIjB4IiE9PWUuc3Vic3RyaW5nKDAsMikmJihlPSIweCIrZSksIjB4Ij09PWUpcmV0dXJuIjB4MDAiO2ZvcihlLmxlbmd0aCUyJiYoZT0iMHgwIitlLnN1YnN0cmluZygyKSk7ZS5sZW5ndGg+NCYmIjB4MDAiPT09ZS5zdWJzdHJpbmcoMCw0KTspZT0iMHgiK2Uuc3Vic3RyaW5nKDQpO3JldHVybiBlfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIGIuZnJvbSh5KGUpKX1mdW5jdGlvbiB2KGUpe3ZhciB0PWIuZnJvbShlKS50b0hleFN0cmluZygpO3JldHVybiItIj09PXRbMF0/bmV3IGYoIi0iK3Quc3Vic3RyaW5nKDMpLDE2KTpuZXcgZih0LnN1YnN0cmluZygyKSwxNil9ZnVuY3Rpb24gZyhlLHQscil7dmFyIG49e2ZhdWx0OmUsb3BlcmF0aW9uOnR9O3JldHVybiBudWxsIT1yJiYobi52YWx1ZT1yKSxkLnRocm93RXJyb3IoZSx1LkxvZ2dlci5lcnJvcnMuTlVNRVJJQ19GQVVMVCxuKX10LkJpZ051bWJlcj1ifSw4MzkwOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5GaXhlZE51bWJlcj10LkZpeGVkRm9ybWF0PXZvaWQgMCx0LmZvcm1hdEZpeGVkPXYsdC5wYXJzZUZpeGVkPWc7dmFyIGk9bihyKDMzNTUpKSxvPW4ocig5NzIxKSksYT1uKHIoODk4NSkpLHM9cig5MDgpLHU9cig0MzI3KSxjPXIoMzA0MiksZj1yKDE4NzIpLGQ9bmV3IHUuTG9nZ2VyKGMudmVyc2lvbiksbD17fSxoPWYuQmlnTnVtYmVyLmZyb20oMCkscD1mLkJpZ051bWJlci5mcm9tKC0xKTtmdW5jdGlvbiBiKGUsdCxyLG4pe3ZhciBpPXtmYXVsdDp0LG9wZXJhdGlvbjpyfTtyZXR1cm4gdm9pZCAwIT09biYmKGkudmFsdWU9biksZC50aHJvd0Vycm9yKGUsdS5Mb2dnZXIuZXJyb3JzLk5VTUVSSUNfRkFVTFQsaSl9Zm9yKHZhciB5PSIwIjt5Lmxlbmd0aDwyNTY7KXkrPXk7ZnVuY3Rpb24gbShlKXtpZigibnVtYmVyIiE9dHlwZW9mIGUpdHJ5e2U9Zi5CaWdOdW1iZXIuZnJvbShlKS50b051bWJlcigpfWNhdGNoKGUpe31yZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJmU+PTAmJmU8PTI1NiYmIShlJTEpPyIxIit5LnN1YnN0cmluZygwLGUpOmQudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGRlY2ltYWwgc2l6ZSIsImRlY2ltYWxzIixlKX1mdW5jdGlvbiB2KGUsdCl7bnVsbD09dCYmKHQ9MCk7dmFyIHI9bSh0KSxuPShlPWYuQmlnTnVtYmVyLmZyb20oZSkpLmx0KGgpO24mJihlPWUubXVsKHApKTtmb3IodmFyIGk9ZS5tb2QocikudG9TdHJpbmcoKTtpLmxlbmd0aDxyLmxlbmd0aC0xOylpPSIwIitpO2k9aS5tYXRjaCgvXihbMC05XSpbMS05XXwwKSgwKikvKVsxXTt2YXIgbz1lLmRpdihyKS50b1N0cmluZygpO3JldHVybiBlPTE9PT1yLmxlbmd0aD9vOm8rIi4iK2ksbiYmKGU9Ii0iK2UpLGV9ZnVuY3Rpb24gZyhlLHQpe251bGw9PXQmJih0PTApO3ZhciByPW0odCk7InN0cmluZyI9PXR5cGVvZiBlJiZlLm1hdGNoKC9eLT9bMC05Ll0rJC8pfHxkLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBkZWNpbWFsIHZhbHVlIiwidmFsdWUiLGUpO3ZhciBuPSItIj09PWUuc3Vic3RyaW5nKDAsMSk7biYmKGU9ZS5zdWJzdHJpbmcoMSkpLCIuIj09PWUmJmQudGhyb3dBcmd1bWVudEVycm9yKCJtaXNzaW5nIHZhbHVlIiwidmFsdWUiLGUpO3ZhciBpPWUuc3BsaXQoIi4iKTtpLmxlbmd0aD4yJiZkLnRocm93QXJndW1lbnRFcnJvcigidG9vIG1hbnkgZGVjaW1hbCBwb2ludHMiLCJ2YWx1ZSIsZSk7dmFyIG89aVswXSxhPWlbMV07Zm9yKG98fChvPSIwIiksYXx8KGE9IjAiKTsiMCI9PT1hW2EubGVuZ3RoLTFdOylhPWEuc3Vic3RyaW5nKDAsYS5sZW5ndGgtMSk7Zm9yKGEubGVuZ3RoPnIubGVuZ3RoLTEmJmIoImZyYWN0aW9uYWwgY29tcG9uZW50IGV4Y2VlZHMgZGVjaW1hbHMiLCJ1bmRlcmZsb3ciLCJwYXJzZUZpeGVkIiksIiI9PT1hJiYoYT0iMCIpO2EubGVuZ3RoPHIubGVuZ3RoLTE7KWErPSIwIjt2YXIgcz1mLkJpZ051bWJlci5mcm9tKG8pLHU9Zi5CaWdOdW1iZXIuZnJvbShhKSxjPXMubXVsKHIpLmFkZCh1KTtyZXR1cm4gbiYmKGM9Yy5tdWwocCkpLGN9dmFyIHc9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQscixuLGkpeygwLG8uZGVmYXVsdCkodGhpcyxlKSx0IT09bCYmZC50aHJvd0Vycm9yKCJjYW5ub3QgdXNlIEZpeGVkRm9ybWF0IGNvbnN0cnVjdG9yOyB1c2UgRml4ZWRGb3JtYXQuZnJvbSIsdS5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJuZXcgRml4ZWRGb3JtYXQifSksdGhpcy5zaWduZWQ9cix0aGlzLndpZHRoPW4sdGhpcy5kZWNpbWFscz1pLHRoaXMubmFtZT0ocj8iIjoidSIpKyJmaXhlZCIrU3RyaW5nKG4pKyJ4IitTdHJpbmcoaSksdGhpcy5fbXVsdGlwbGllcj1tKGkpLE9iamVjdC5mcmVlemUodGhpcyl9cmV0dXJuKDAsYS5kZWZhdWx0KShlLG51bGwsW3trZXk6ImZyb20iLHZhbHVlOmZ1bmN0aW9uKHQpe2lmKHQgaW5zdGFuY2VvZiBlKXJldHVybiB0OyJudW1iZXIiPT10eXBlb2YgdCYmKHQ9ImZpeGVkMTI4eCIuY29uY2F0KHQpKTt2YXIgcj0hMCxuPTEyOCxvPTE4O2lmKCJzdHJpbmciPT10eXBlb2YgdClpZigiZml4ZWQiPT09dCk7ZWxzZSBpZigidWZpeGVkIj09PXQpcj0hMTtlbHNle3ZhciBhPXQubWF0Y2goL14odT8pZml4ZWQoWzAtOV0rKXgoWzAtOV0rKSQvKTthfHxkLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBmaXhlZCBmb3JtYXQiLCJmb3JtYXQiLHQpLHI9InUiIT09YVsxXSxuPXBhcnNlSW50KGFbMl0pLG89cGFyc2VJbnQoYVszXSl9ZWxzZSBpZih0KXt2YXIgcz1mdW5jdGlvbihlLHIsbil7cmV0dXJuIG51bGw9PXRbZV0/bjooKDAsaS5kZWZhdWx0KSh0W2VdKSE9PXImJmQudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGZpeGVkIGZvcm1hdCAoIitlKyIgbm90ICIrcisiKSIsImZvcm1hdC4iK2UsdFtlXSksdFtlXSl9O3I9cygic2lnbmVkIiwiYm9vbGVhbiIsciksbj1zKCJ3aWR0aCIsIm51bWJlciIsbiksbz1zKCJkZWNpbWFscyIsIm51bWJlciIsbyl9cmV0dXJuIG4lOCYmZC50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZml4ZWQgZm9ybWF0IHdpZHRoIChub3QgYnl0ZSBhbGlnbmVkKSIsImZvcm1hdC53aWR0aCIsbiksbz44MCYmZC50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZml4ZWQgZm9ybWF0IChkZWNpbWFscyB0b28gbGFyZ2UpIiwiZm9ybWF0LmRlY2ltYWxzIixvKSxuZXcgZShsLHIsbixvKX19XSksZX0oKTt0LkZpeGVkRm9ybWF0PXc7dmFyIEE9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQscixuLGkpeygwLG8uZGVmYXVsdCkodGhpcyxlKSx0IT09bCYmZC50aHJvd0Vycm9yKCJjYW5ub3QgdXNlIEZpeGVkTnVtYmVyIGNvbnN0cnVjdG9yOyB1c2UgRml4ZWROdW1iZXIuZnJvbSIsdS5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJuZXcgRml4ZWRGb3JtYXQifSksdGhpcy5mb3JtYXQ9aSx0aGlzLl9oZXg9cix0aGlzLl92YWx1ZT1uLHRoaXMuX2lzRml4ZWROdW1iZXI9ITAsT2JqZWN0LmZyZWV6ZSh0aGlzKX1yZXR1cm4oMCxhLmRlZmF1bHQpKGUsW3trZXk6Il9jaGVja0Zvcm1hdCIsdmFsdWU6ZnVuY3Rpb24oZSl7dGhpcy5mb3JtYXQubmFtZSE9PWUuZm9ybWF0Lm5hbWUmJmQudGhyb3dBcmd1bWVudEVycm9yKCJpbmNvbXBhdGlibGUgZm9ybWF0OyB1c2UgZml4ZWROdW1iZXIudG9Gb3JtYXQiLCJvdGhlciIsZSl9fSx7a2V5OiJhZGRVbnNhZmUiLHZhbHVlOmZ1bmN0aW9uKHQpe3RoaXMuX2NoZWNrRm9ybWF0KHQpO3ZhciByPWcodGhpcy5fdmFsdWUsdGhpcy5mb3JtYXQuZGVjaW1hbHMpLG49Zyh0Ll92YWx1ZSx0LmZvcm1hdC5kZWNpbWFscyk7cmV0dXJuIGUuZnJvbVZhbHVlKHIuYWRkKG4pLHRoaXMuZm9ybWF0LmRlY2ltYWxzLHRoaXMuZm9ybWF0KX19LHtrZXk6InN1YlVuc2FmZSIsdmFsdWU6ZnVuY3Rpb24odCl7dGhpcy5fY2hlY2tGb3JtYXQodCk7dmFyIHI9Zyh0aGlzLl92YWx1ZSx0aGlzLmZvcm1hdC5kZWNpbWFscyksbj1nKHQuX3ZhbHVlLHQuZm9ybWF0LmRlY2ltYWxzKTtyZXR1cm4gZS5mcm9tVmFsdWUoci5zdWIobiksdGhpcy5mb3JtYXQuZGVjaW1hbHMsdGhpcy5mb3JtYXQpfX0se2tleToibXVsVW5zYWZlIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLl9jaGVja0Zvcm1hdCh0KTt2YXIgcj1nKHRoaXMuX3ZhbHVlLHRoaXMuZm9ybWF0LmRlY2ltYWxzKSxuPWcodC5fdmFsdWUsdC5mb3JtYXQuZGVjaW1hbHMpO3JldHVybiBlLmZyb21WYWx1ZShyLm11bChuKS5kaXYodGhpcy5mb3JtYXQuX211bHRpcGxpZXIpLHRoaXMuZm9ybWF0LmRlY2ltYWxzLHRoaXMuZm9ybWF0KX19LHtrZXk6ImRpdlVuc2FmZSIsdmFsdWU6ZnVuY3Rpb24odCl7dGhpcy5fY2hlY2tGb3JtYXQodCk7dmFyIHI9Zyh0aGlzLl92YWx1ZSx0aGlzLmZvcm1hdC5kZWNpbWFscyksbj1nKHQuX3ZhbHVlLHQuZm9ybWF0LmRlY2ltYWxzKTtyZXR1cm4gZS5mcm9tVmFsdWUoci5tdWwodGhpcy5mb3JtYXQuX211bHRpcGxpZXIpLmRpdihuKSx0aGlzLmZvcm1hdC5kZWNpbWFscyx0aGlzLmZvcm1hdCl9fSx7a2V5OiJmbG9vciIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnRvU3RyaW5nKCkuc3BsaXQoIi4iKTsxPT09dC5sZW5ndGgmJnQucHVzaCgiMCIpO3ZhciByPWUuZnJvbSh0WzBdLHRoaXMuZm9ybWF0KSxuPSF0WzFdLm1hdGNoKC9eKDAqKSQvKTtyZXR1cm4gdGhpcy5pc05lZ2F0aXZlKCkmJm4mJihyPXIuc3ViVW5zYWZlKGsudG9Gb3JtYXQoci5mb3JtYXQpKSkscn19LHtrZXk6ImNlaWxpbmciLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy50b1N0cmluZygpLnNwbGl0KCIuIik7MT09PXQubGVuZ3RoJiZ0LnB1c2goIjAiKTt2YXIgcj1lLmZyb20odFswXSx0aGlzLmZvcm1hdCksbj0hdFsxXS5tYXRjaCgvXigwKikkLyk7cmV0dXJuIXRoaXMuaXNOZWdhdGl2ZSgpJiZuJiYocj1yLmFkZFVuc2FmZShrLnRvRm9ybWF0KHIuZm9ybWF0KSkpLHJ9fSx7a2V5OiJyb3VuZCIsdmFsdWU6ZnVuY3Rpb24odCl7bnVsbD09dCYmKHQ9MCk7dmFyIHI9dGhpcy50b1N0cmluZygpLnNwbGl0KCIuIik7aWYoMT09PXIubGVuZ3RoJiZyLnB1c2goIjAiKSwodDwwfHx0PjgwfHx0JTEpJiZkLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBkZWNpbWFsIGNvdW50IiwiZGVjaW1hbHMiLHQpLHJbMV0ubGVuZ3RoPD10KXJldHVybiB0aGlzO3ZhciBuPWUuZnJvbSgiMSIreS5zdWJzdHJpbmcoMCx0KSx0aGlzLmZvcm1hdCksaT1fLnRvRm9ybWF0KHRoaXMuZm9ybWF0KTtyZXR1cm4gdGhpcy5tdWxVbnNhZmUobikuYWRkVW5zYWZlKGkpLmZsb29yKCkuZGl2VW5zYWZlKG4pfX0se2tleToiaXNaZXJvIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiIwLjAiPT09dGhpcy5fdmFsdWV8fCIwIj09PXRoaXMuX3ZhbHVlfX0se2tleToiaXNOZWdhdGl2ZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iLSI9PT10aGlzLl92YWx1ZVswXX19LHtrZXk6InRvU3RyaW5nIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl92YWx1ZX19LHtrZXk6InRvSGV4U3RyaW5nIix2YWx1ZTpmdW5jdGlvbihlKXtpZihudWxsPT1lKXJldHVybiB0aGlzLl9oZXg7ZSU4JiZkLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBieXRlIHdpZHRoIiwid2lkdGgiLGUpO3ZhciB0PWYuQmlnTnVtYmVyLmZyb20odGhpcy5faGV4KS5mcm9tVHdvcyh0aGlzLmZvcm1hdC53aWR0aCkudG9Ud29zKGUpLnRvSGV4U3RyaW5nKCk7cmV0dXJuKDAscy5oZXhaZXJvUGFkKSh0LGUvOCl9fSx7a2V5OiJ0b1Vuc2FmZUZsb2F0Iix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBwYXJzZUZsb2F0KHRoaXMudG9TdHJpbmcoKSl9fSx7a2V5OiJ0b0Zvcm1hdCIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIGUuZnJvbVN0cmluZyh0aGlzLl92YWx1ZSx0KX19XSxbe2tleToiZnJvbVZhbHVlIix2YWx1ZTpmdW5jdGlvbih0LHIsbil7cmV0dXJuIG51bGwhPW58fG51bGw9PXJ8fCgwLGYuaXNCaWdOdW1iZXJpc2gpKHIpfHwobj1yLHI9bnVsbCksbnVsbD09ciYmKHI9MCksbnVsbD09biYmKG49ImZpeGVkIiksZS5mcm9tU3RyaW5nKHYodCxyKSx3LmZyb20obikpfX0se2tleToiZnJvbVN0cmluZyIsdmFsdWU6ZnVuY3Rpb24odCxyKXtudWxsPT1yJiYocj0iZml4ZWQiKTt2YXIgbj13LmZyb20ociksaT1nKHQsbi5kZWNpbWFscyk7IW4uc2lnbmVkJiZpLmx0KGgpJiZiKCJ1bnNpZ25lZCB2YWx1ZSBjYW5ub3QgYmUgbmVnYXRpdmUiLCJvdmVyZmxvdyIsInZhbHVlIix0KTt2YXIgbz1udWxsO24uc2lnbmVkP289aS50b1R3b3Mobi53aWR0aCkudG9IZXhTdHJpbmcoKToobz1pLnRvSGV4U3RyaW5nKCksbz0oMCxzLmhleFplcm9QYWQpKG8sbi53aWR0aC84KSk7dmFyIGE9dihpLG4uZGVjaW1hbHMpO3JldHVybiBuZXcgZShsLG8sYSxuKX19LHtrZXk6ImZyb21CeXRlcyIsdmFsdWU6ZnVuY3Rpb24odCxyKXtudWxsPT1yJiYocj0iZml4ZWQiKTt2YXIgbj13LmZyb20ocik7aWYoKDAscy5hcnJheWlmeSkodCkubGVuZ3RoPm4ud2lkdGgvOCl0aHJvdyBuZXcgRXJyb3IoIm92ZXJmbG93Iik7dmFyIGk9Zi5CaWdOdW1iZXIuZnJvbSh0KTtuLnNpZ25lZCYmKGk9aS5mcm9tVHdvcyhuLndpZHRoKSk7dmFyIG89aS50b1R3b3MoKG4uc2lnbmVkPzA6MSkrbi53aWR0aCkudG9IZXhTdHJpbmcoKSxhPXYoaSxuLmRlY2ltYWxzKTtyZXR1cm4gbmV3IGUobCxvLGEsbil9fSx7a2V5OiJmcm9tIix2YWx1ZTpmdW5jdGlvbih0LHIpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gZS5mcm9tU3RyaW5nKHQscik7aWYoKDAscy5pc0J5dGVzKSh0KSlyZXR1cm4gZS5mcm9tQnl0ZXModCxyKTt0cnl7cmV0dXJuIGUuZnJvbVZhbHVlKHQsMCxyKX1jYXRjaChlKXtpZihlLmNvZGUhPT11LkxvZ2dlci5lcnJvcnMuSU5WQUxJRF9BUkdVTUVOVCl0aHJvdyBlfXJldHVybiBkLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBGaXhlZE51bWJlciB2YWx1ZSIsInZhbHVlIix0KX19LHtrZXk6ImlzRml4ZWROdW1iZXIiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiEoIWV8fCFlLl9pc0ZpeGVkTnVtYmVyKX19XSksZX0oKTt0LkZpeGVkTnVtYmVyPUE7dmFyIGs9QS5mcm9tKDEpLF89QS5mcm9tKCIwLjUiKX0sNDk1MjooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiQmlnTnVtYmVyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5CaWdOdW1iZXJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIkZpeGVkRm9ybWF0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaS5GaXhlZEZvcm1hdH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiRml4ZWROdW1iZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLkZpeGVkTnVtYmVyfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfYmFzZTE2VG8zNiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG4uX2Jhc2UxNlRvMzZ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9iYXNlMzZUbzE2Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5fYmFzZTM2VG8xNn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiZm9ybWF0Rml4ZWQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLmZvcm1hdEZpeGVkfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJwYXJzZUZpeGVkIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaS5wYXJzZUZpeGVkfX0pO3ZhciBuPXIoMTg3MiksaT1yKDgzOTApfSw4NzI5OihlLHQpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnZlcnNpb249dm9pZCAwLHQudmVyc2lvbj0iYnl0ZXMvNS43LjAifSw5MDg6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5hcnJheWlmeT1kLHQuY29uY2F0PWwsdC5oZXhDb25jYXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9IjB4IjtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbihlKXt0Kz15KGUpLnN1YnN0cmluZygyKX0pKSx0fSx0LmhleERhdGFMZW5ndGg9ZnVuY3Rpb24oZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKWU9eShlKTtlbHNlIGlmKCFwKGUpfHxlLmxlbmd0aCUyKXJldHVybiBudWxsO3JldHVybihlLmxlbmd0aC0yKS8yfSx0LmhleERhdGFTbGljZT1mdW5jdGlvbihlLHQscil7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlP2U9eShlKTooIXAoZSl8fGUubGVuZ3RoJTIpJiZvLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBoZXhEYXRhIiwidmFsdWUiLGUpLHQ9MisyKnQsbnVsbCE9cj8iMHgiK2Uuc3Vic3RyaW5nKHQsMisyKnIpOiIweCIrZS5zdWJzdHJpbmcodCl9LHQuaGV4U3RyaXBaZXJvcz1tLHQuaGV4VmFsdWU9ZnVuY3Rpb24oZSl7dmFyIHQ9bSh5KGUse2hleFBhZDoibGVmdCJ9KSk7cmV0dXJuIjB4Ij09PXQ/IjB4MCI6dH0sdC5oZXhaZXJvUGFkPXYsdC5oZXhsaWZ5PXksdC5pc0J5dGVzPWYsdC5pc0J5dGVzTGlrZT11LHQuaXNIZXhTdHJpbmc9cCx0LmpvaW5TaWduYXR1cmU9ZnVuY3Rpb24oZSl7cmV0dXJuIHkobChbKGU9ZyhlKSkucixlLnMsZS5yZWNvdmVyeVBhcmFtPyIweDFjIjoiMHgxYiJdKSl9LHQuc3BsaXRTaWduYXR1cmU9Zyx0LnN0cmlwWmVyb3M9ZnVuY3Rpb24oZSl7dmFyIHQ9ZChlKTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIHQ7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aCYmMD09PXRbcl07KXIrKztyZXR1cm4gciYmKHQ9dC5zbGljZShyKSksdH0sdC56ZXJvUGFkPWg7dmFyIG49cig0MzI3KSxpPXIoODcyOSksbz1uZXcgbi5Mb2dnZXIoaS52ZXJzaW9uKTtmdW5jdGlvbiBhKGUpe3JldHVybiEhZS50b0hleFN0cmluZ31mdW5jdGlvbiBzKGUpe3JldHVybiBlLnNsaWNlfHwoZS5zbGljZT1mdW5jdGlvbigpe3ZhciB0PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7cmV0dXJuIHMobmV3IFVpbnQ4QXJyYXkoQXJyYXkucHJvdG90eXBlLnNsaWNlLmFwcGx5KGUsdCkpKX0pLGV9ZnVuY3Rpb24gdShlKXtyZXR1cm4gcChlKSYmIShlLmxlbmd0aCUyKXx8ZihlKX1mdW5jdGlvbiBjKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZSYmZT09ZSYmZSUxPT0wfWZ1bmN0aW9uIGYoZSl7aWYobnVsbD09ZSlyZXR1cm4hMTtpZihlLmNvbnN0cnVjdG9yPT09VWludDhBcnJheSlyZXR1cm4hMDtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuITE7aWYoIWMoZS5sZW5ndGgpfHxlLmxlbmd0aDwwKXJldHVybiExO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgcj1lW3RdO2lmKCFjKHIpfHxyPDB8fHI+PTI1NilyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBkKGUsdCl7aWYodHx8KHQ9e30pLCJudW1iZXIiPT10eXBlb2YgZSl7by5jaGVja1NhZmVVaW50NTMoZSwiaW52YWxpZCBhcnJheWlmeSB2YWx1ZSIpO2Zvcih2YXIgcj1bXTtlOylyLnVuc2hpZnQoMjU1JmUpLGU9cGFyc2VJbnQoU3RyaW5nKGUvMjU2KSk7cmV0dXJuIDA9PT1yLmxlbmd0aCYmci5wdXNoKDApLHMobmV3IFVpbnQ4QXJyYXkocikpfWlmKHQuYWxsb3dNaXNzaW5nUHJlZml4JiYic3RyaW5nIj09dHlwZW9mIGUmJiIweCIhPT1lLnN1YnN0cmluZygwLDIpJiYoZT0iMHgiK2UpLGEoZSkmJihlPWUudG9IZXhTdHJpbmcoKSkscChlKSl7dmFyIG49ZS5zdWJzdHJpbmcoMik7bi5sZW5ndGglMiYmKCJsZWZ0Ij09PXQuaGV4UGFkP249IjAiK246InJpZ2h0Ij09PXQuaGV4UGFkP24rPSIwIjpvLnRocm93QXJndW1lbnRFcnJvcigiaGV4IGRhdGEgaXMgb2RkLWxlbmd0aCIsInZhbHVlIixlKSk7Zm9yKHZhciBpPVtdLHU9MDt1PG4ubGVuZ3RoO3UrPTIpaS5wdXNoKHBhcnNlSW50KG4uc3Vic3RyaW5nKHUsdSsyKSwxNikpO3JldHVybiBzKG5ldyBVaW50OEFycmF5KGkpKX1yZXR1cm4gZihlKT9zKG5ldyBVaW50OEFycmF5KGUpKTpvLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBhcnJheWlmeSB2YWx1ZSIsInZhbHVlIixlKX1mdW5jdGlvbiBsKGUpe3ZhciB0PWUubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZChlKX0pKSxyPXQucmVkdWNlKChmdW5jdGlvbihlLHQpe3JldHVybiBlK3QubGVuZ3RofSksMCksbj1uZXcgVWludDhBcnJheShyKTtyZXR1cm4gdC5yZWR1Y2UoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIG4uc2V0KHQsZSksZSt0Lmxlbmd0aH0pLDApLHMobil9ZnVuY3Rpb24gaChlLHQpeyhlPWQoZSkpLmxlbmd0aD50JiZvLnRocm93QXJndW1lbnRFcnJvcigidmFsdWUgb3V0IG9mIHJhbmdlIiwidmFsdWUiLGFyZ3VtZW50c1swXSk7dmFyIHI9bmV3IFVpbnQ4QXJyYXkodCk7cmV0dXJuIHIuc2V0KGUsdC1lLmxlbmd0aCkscyhyKX1mdW5jdGlvbiBwKGUsdCl7cmV0dXJuISgic3RyaW5nIiE9dHlwZW9mIGV8fCFlLm1hdGNoKC9eMHhbMC05QS1GYS1mXSokLyl8fHQmJmUubGVuZ3RoIT09MisyKnQpfXZhciBiPSIwMTIzNDU2Nzg5YWJjZGVmIjtmdW5jdGlvbiB5KGUsdCl7aWYodHx8KHQ9e30pLCJudW1iZXIiPT10eXBlb2YgZSl7by5jaGVja1NhZmVVaW50NTMoZSwiaW52YWxpZCBoZXhsaWZ5IHZhbHVlIik7Zm9yKHZhciByPSIiO2U7KXI9YlsxNSZlXStyLGU9TWF0aC5mbG9vcihlLzE2KTtyZXR1cm4gci5sZW5ndGg/KHIubGVuZ3RoJTImJihyPSIwIityKSwiMHgiK3IpOiIweDAwIn1pZigiYmlnaW50Ij09dHlwZW9mIGUpcmV0dXJuKGU9ZS50b1N0cmluZygxNikpLmxlbmd0aCUyPyIweDAiK2U6IjB4IitlO2lmKHQuYWxsb3dNaXNzaW5nUHJlZml4JiYic3RyaW5nIj09dHlwZW9mIGUmJiIweCIhPT1lLnN1YnN0cmluZygwLDIpJiYoZT0iMHgiK2UpLGEoZSkpcmV0dXJuIGUudG9IZXhTdHJpbmcoKTtpZihwKGUpKXJldHVybiBlLmxlbmd0aCUyJiYoImxlZnQiPT09dC5oZXhQYWQ/ZT0iMHgwIitlLnN1YnN0cmluZygyKToicmlnaHQiPT09dC5oZXhQYWQ/ZSs9IjAiOm8udGhyb3dBcmd1bWVudEVycm9yKCJoZXggZGF0YSBpcyBvZGQtbGVuZ3RoIiwidmFsdWUiLGUpKSxlLnRvTG93ZXJDYXNlKCk7aWYoZihlKSl7Zm9yKHZhciBuPSIweCIsaT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgcz1lW2ldO24rPWJbKDI0MCZzKT4+NF0rYlsxNSZzXX1yZXR1cm4gbn1yZXR1cm4gby50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgaGV4bGlmeSB2YWx1ZSIsInZhbHVlIixlKX1mdW5jdGlvbiBtKGUpeyJzdHJpbmciIT10eXBlb2YgZSYmKGU9eShlKSkscChlKXx8by50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgaGV4IHN0cmluZyIsInZhbHVlIixlKSxlPWUuc3Vic3RyaW5nKDIpO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGgmJiIwIj09PWVbdF07KXQrKztyZXR1cm4iMHgiK2Uuc3Vic3RyaW5nKHQpfWZ1bmN0aW9uIHYoZSx0KXtmb3IoInN0cmluZyIhPXR5cGVvZiBlP2U9eShlKTpwKGUpfHxvLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBoZXggc3RyaW5nIiwidmFsdWUiLGUpLGUubGVuZ3RoPjIqdCsyJiZvLnRocm93QXJndW1lbnRFcnJvcigidmFsdWUgb3V0IG9mIHJhbmdlIiwidmFsdWUiLGFyZ3VtZW50c1sxXSk7ZS5sZW5ndGg8Mip0KzI7KWU9IjB4MCIrZS5zdWJzdHJpbmcoMik7cmV0dXJuIGV9ZnVuY3Rpb24gZyhlKXt2YXIgdD17cjoiMHgiLHM6IjB4IixfdnM6IjB4IixyZWNvdmVyeVBhcmFtOjAsdjowLHlQYXJpdHlBbmRTOiIweCIsY29tcGFjdDoiMHgifTtpZih1KGUpKXt2YXIgcj1kKGUpOzY0PT09ci5sZW5ndGg/KHQudj0yNysoclszMl0+PjcpLHJbMzJdJj0xMjcsdC5yPXkoci5zbGljZSgwLDMyKSksdC5zPXkoci5zbGljZSgzMiw2NCkpKTo2NT09PXIubGVuZ3RoPyh0LnI9eShyLnNsaWNlKDAsMzIpKSx0LnM9eShyLnNsaWNlKDMyLDY0KSksdC52PXJbNjRdKTpvLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBzaWduYXR1cmUgc3RyaW5nIiwic2lnbmF0dXJlIixlKSx0LnY8MjcmJigwPT09dC52fHwxPT09dC52P3Qudis9Mjc6by50aHJvd0FyZ3VtZW50RXJyb3IoInNpZ25hdHVyZSBpbnZhbGlkIHYgYnl0ZSIsInNpZ25hdHVyZSIsZSkpLHQucmVjb3ZlcnlQYXJhbT0xLXQudiUyLHQucmVjb3ZlcnlQYXJhbSYmKHJbMzJdfD0xMjgpLHQuX3ZzPXkoci5zbGljZSgzMiw2NCkpfWVsc2V7aWYodC5yPWUucix0LnM9ZS5zLHQudj1lLnYsdC5yZWNvdmVyeVBhcmFtPWUucmVjb3ZlcnlQYXJhbSx0Ll92cz1lLl92cyxudWxsIT10Ll92cyl7dmFyIG49aChkKHQuX3ZzKSwzMik7dC5fdnM9eShuKTt2YXIgaT1uWzBdPj0xMjg/MTowO251bGw9PXQucmVjb3ZlcnlQYXJhbT90LnJlY292ZXJ5UGFyYW09aTp0LnJlY292ZXJ5UGFyYW0hPT1pJiZvLnRocm93QXJndW1lbnRFcnJvcigic2lnbmF0dXJlIHJlY292ZXJ5UGFyYW0gbWlzbWF0Y2ggX3ZzIiwic2lnbmF0dXJlIixlKSxuWzBdJj0xMjc7dmFyIGE9eShuKTtudWxsPT10LnM/dC5zPWE6dC5zIT09YSYmby50aHJvd0FyZ3VtZW50RXJyb3IoInNpZ25hdHVyZSB2IG1pc21hdGNoIF92cyIsInNpZ25hdHVyZSIsZSl9aWYobnVsbD09dC5yZWNvdmVyeVBhcmFtKW51bGw9PXQudj9vLnRocm93QXJndW1lbnRFcnJvcigic2lnbmF0dXJlIG1pc3NpbmcgdiBhbmQgcmVjb3ZlcnlQYXJhbSIsInNpZ25hdHVyZSIsZSk6MD09PXQudnx8MT09PXQudj90LnJlY292ZXJ5UGFyYW09dC52OnQucmVjb3ZlcnlQYXJhbT0xLXQudiUyO2Vsc2UgaWYobnVsbD09dC52KXQudj0yNyt0LnJlY292ZXJ5UGFyYW07ZWxzZXt2YXIgcz0wPT09dC52fHwxPT09dC52P3QudjoxLXQudiUyO3QucmVjb3ZlcnlQYXJhbSE9PXMmJm8udGhyb3dBcmd1bWVudEVycm9yKCJzaWduYXR1cmUgcmVjb3ZlcnlQYXJhbSBtaXNtYXRjaCB2Iiwic2lnbmF0dXJlIixlKX1udWxsIT10LnImJnAodC5yKT90LnI9dih0LnIsMzIpOm8udGhyb3dBcmd1bWVudEVycm9yKCJzaWduYXR1cmUgbWlzc2luZyBvciBpbnZhbGlkIHIiLCJzaWduYXR1cmUiLGUpLG51bGwhPXQucyYmcCh0LnMpP3Qucz12KHQucywzMik6by50aHJvd0FyZ3VtZW50RXJyb3IoInNpZ25hdHVyZSBtaXNzaW5nIG9yIGludmFsaWQgcyIsInNpZ25hdHVyZSIsZSk7dmFyIGM9ZCh0LnMpO2NbMF0+PTEyOCYmby50aHJvd0FyZ3VtZW50RXJyb3IoInNpZ25hdHVyZSBzIG91dCBvZiByYW5nZSIsInNpZ25hdHVyZSIsZSksdC5yZWNvdmVyeVBhcmFtJiYoY1swXXw9MTI4KTt2YXIgZj15KGMpO3QuX3ZzJiYocCh0Ll92cyl8fG8udGhyb3dBcmd1bWVudEVycm9yKCJzaWduYXR1cmUgaW52YWxpZCBfdnMiLCJzaWduYXR1cmUiLGUpLHQuX3ZzPXYodC5fdnMsMzIpKSxudWxsPT10Ll92cz90Ll92cz1mOnQuX3ZzIT09ZiYmby50aHJvd0FyZ3VtZW50RXJyb3IoInNpZ25hdHVyZSBfdnMgbWlzbWF0Y2ggdiBhbmQgcyIsInNpZ25hdHVyZSIsZSl9cmV0dXJuIHQueVBhcml0eUFuZFM9dC5fdnMsdC5jb21wYWN0PXQucit0LnlQYXJpdHlBbmRTLnN1YnN0cmluZygyKSx0fX0sODcyMTooZSx0KT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5BZGRyZXNzWmVybz12b2lkIDAsdC5BZGRyZXNzWmVybz0iMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIn0sMjk5NzooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0Llplcm89dC5XZWlQZXJFdGhlcj10LlR3bz10Lk9uZT10Lk5lZ2F0aXZlT25lPXQuTWluSW50MjU2PXQuTWF4VWludDI1Nj10Lk1heEludDI1Nj12b2lkIDA7dmFyIG49cig0OTUyKSxpPW4uQmlnTnVtYmVyLmZyb20oLTEpO3QuTmVnYXRpdmVPbmU9aTt2YXIgbz1uLkJpZ051bWJlci5mcm9tKDApO3QuWmVybz1vO3ZhciBhPW4uQmlnTnVtYmVyLmZyb20oMSk7dC5PbmU9YTt2YXIgcz1uLkJpZ051bWJlci5mcm9tKDIpO3QuVHdvPXM7dmFyIHU9bi5CaWdOdW1iZXIuZnJvbSgiMTAwMDAwMDAwMDAwMDAwMDAwMCIpO3QuV2VpUGVyRXRoZXI9dTt2YXIgYz1uLkJpZ051bWJlci5mcm9tKCIweGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiKTt0Lk1heFVpbnQyNTY9Yzt2YXIgZj1uLkJpZ051bWJlci5mcm9tKCItMHg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIik7dC5NaW5JbnQyNTY9Zjt2YXIgZD1uLkJpZ051bWJlci5mcm9tKCIweDdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiKTt0Lk1heEludDI1Nj1kfSwzOTY6KGUsdCk9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuSGFzaFplcm89dm9pZCAwLHQuSGFzaFplcm89IjB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCJ9LDU0NjU6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIkFkZHJlc3NaZXJvIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5BZGRyZXNzWmVyb319KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiRXRoZXJTeW1ib2wiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhLkV0aGVyU3ltYm9sfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJIYXNoWmVybyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG8uSGFzaFplcm99fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIk1heEludDI1NiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGkuTWF4SW50MjU2fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJNYXhVaW50MjU2Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaS5NYXhVaW50MjU2fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJNaW5JbnQyNTYiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLk1pbkludDI1Nn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiTmVnYXRpdmVPbmUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLk5lZ2F0aXZlT25lfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJPbmUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLk9uZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiVHdvIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaS5Ud299fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIldlaVBlckV0aGVyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaS5XZWlQZXJFdGhlcn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiWmVybyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGkuWmVyb319KTt2YXIgbj1yKDg3MjEpLGk9cigyOTk3KSxvPXIoMzk2KSxhPXIoODM0Nyl9LDgzNDc6KGUsdCk9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuRXRoZXJTeW1ib2w9dm9pZCAwLHQuRXRoZXJTeW1ib2w9Is6eIn0sMzk4OTooZSx0KT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC52ZXJzaW9uPXZvaWQgMCx0LnZlcnNpb249Imhhc2gvNS43LjAifSwzNzMxOihlLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtudWxsPT10JiYodD0xKTt2YXIgcj1bXSxuPXIuZm9yRWFjaDtyZXR1cm4gZnVuY3Rpb24gZSh0LGkpe24uY2FsbCh0LChmdW5jdGlvbih0KXtpPjAmJkFycmF5LmlzQXJyYXkodCk/ZSh0LGktMSk6ci5wdXNoKHQpfSkpfShlLHQpLHJ9ZnVuY3Rpb24gbihlKXt2YXIgdD0wO2Z1bmN0aW9uIHIoKXtyZXR1cm4gZVt0KytdPDw4fGVbdCsrXX1mb3IodmFyIG49cigpLGk9MSxvPVswLDFdLGE9MTthPG47YSsrKW8ucHVzaChpKz1yKCkpO3ZhciBzPXIoKSx1PXQ7dCs9czt2YXIgYz0wLGY9MDtmdW5jdGlvbiBkKCl7cmV0dXJuIDA9PWMmJihmPWY8PDh8ZVt0KytdLGM9OCksZj4+LS1jJjF9Zm9yKHZhciBsPU1hdGgucG93KDIsMzEpLGg9bD4+PjEscD1oPj4xLGI9bC0xLHk9MCxtPTA7bTwzMTttKyspeT15PDwxfGQoKTtmb3IodmFyIHY9W10sZz0wLHc9bDs7KXtmb3IodmFyIEE9TWF0aC5mbG9vcigoKHktZysxKSppLTEpL3cpLGs9MCxfPW47Xy1rPjE7KXt2YXIgUz1rK18+Pj4xO0E8b1tTXT9fPVM6az1TfWlmKDA9PWspYnJlYWs7di5wdXNoKGspO2Zvcih2YXIgeD1nK01hdGguZmxvb3IodypvW2tdL2kpLEU9ZytNYXRoLmZsb29yKHcqb1trKzFdL2kpLTE7MD09KCh4XkUpJmgpOyl5PXk8PDEmYnxkKCkseD14PDwxJmIsRT1FPDwxJmJ8MTtmb3IoO3gmfkUmcDspeT15Jmh8eTw8MSZiPj4+MXxkKCkseD14PDwxXmgsRT0oRV5oKTw8MXxofDE7Zz14LHc9MStFLXh9dmFyIFA9bi00O3JldHVybiB2Lm1hcCgoZnVuY3Rpb24odCl7c3dpdGNoKHQtUCl7Y2FzZSAzOnJldHVybiBQKzY1NzkyKyhlW3UrK108PDE2fGVbdSsrXTw8OHxlW3UrK10pO2Nhc2UgMjpyZXR1cm4gUCsyNTYrKGVbdSsrXTw8OHxlW3UrK10pO2Nhc2UgMTpyZXR1cm4gUCtlW3UrK107ZGVmYXVsdDpyZXR1cm4gdC0xfX0pKX1mdW5jdGlvbiBpKGUpe3ZhciB0PTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGVbdCsrXX19ZnVuY3Rpb24gbyhlKXtyZXR1cm4gMSZlP35lPj4xOmU+PjF9ZnVuY3Rpb24gYShlLHQpe2Zvcih2YXIgcj1BcnJheShlKSxuPTAsaT0tMTtuPGU7bisrKXJbbl09aSs9MSt0KCk7cmV0dXJuIHJ9ZnVuY3Rpb24gcyhlLHQpe2Zvcih2YXIgcj1BcnJheShlKSxuPTAsaT0wO248ZTtuKyspcltuXT1pKz1vKHQoKSk7cmV0dXJuIHJ9ZnVuY3Rpb24gdShlLHQpe2Zvcih2YXIgcj1hKGUoKSxlKSxuPWUoKSxpPWEobixlKSxvPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPUFycmF5KGUpLG49MDtuPGU7bisrKXJbbl09MSt0KCk7cmV0dXJuIHJ9KG4sZSkscz0wO3M8bjtzKyspZm9yKHZhciB1PTA7dTxvW3NdO3UrKylyLnB1c2goaVtzXSt1KTtyZXR1cm4gdD9yLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSk6cn1mdW5jdGlvbiBjKGUpe2Zvcih2YXIgdD1bXTs7KXt2YXIgcj1lKCk7aWYoMD09cilicmVhazt0LnB1c2gocil9cmV0dXJuIHR9ZnVuY3Rpb24gZihlLHQscil7Zm9yKHZhciBuPUFycmF5KGUpLmZpbGwodm9pZCAwKS5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuW119KSksaT0wO2k8dDtpKyspcyhlLHIpLmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5bdF0ucHVzaChlKX0pKTtyZXR1cm4gbn1mdW5jdGlvbiBkKGUsdCl7dmFyIG49MSt0KCksaT10KCksbz1jKHQpO3JldHVybiByKGYoby5sZW5ndGgsMStlLHQpLm1hcCgoZnVuY3Rpb24oZSx0KXt2YXIgcj1lWzBdLGE9ZS5zbGljZSgxKTtyZXR1cm4gQXJyYXkob1t0XSkuZmlsbCh2b2lkIDApLm1hcCgoZnVuY3Rpb24oZSx0KXt2YXIgbz10Kmk7cmV0dXJuW3IrdCpuLGEubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZStvfSkpXX0pKX0pKSl9ZnVuY3Rpb24gbChlLHQpe3JldHVybiBmKDErdCgpLDErZSx0KS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybltlWzBdLGUuc2xpY2UoMSldfSkpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlY29kZV9hcml0aG1ldGljPW4sdC5yZWFkX2NvbXByZXNzZWRfcGF5bG9hZD1mdW5jdGlvbihlKXtyZXR1cm4gaShuKGUpKX0sdC5yZWFkX2Vtb2ppX3RyaWU9ZnVuY3Rpb24oZSl7dmFyIHQ9dShlKS5zb3J0KChmdW5jdGlvbihlLHQpe3JldHVybiBlLXR9KSk7cmV0dXJuIGZ1bmN0aW9uIHIoKXtmb3IodmFyIG49W107Oyl7dmFyIGk9dShlLHQpO2lmKDA9PWkubGVuZ3RoKWJyZWFrO24ucHVzaCh7c2V0Om5ldyBTZXQoaSksbm9kZTpyKCl9KX1uLnNvcnQoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuc2V0LnNpemUtZS5zZXQuc2l6ZX0pKTt2YXIgbz1lKCk7cmV0dXJue2JyYW5jaGVzOm4sdmFsaWQ6byUzLGZlMGY6ISEoMSYobz1vLzN8MCkpLHNhdmU6MT09KG8+Pj0xKSxjaGVjazoyPT1vfX0oKX0sdC5yZWFkX21hcHBlZF9tYXA9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdOzspe3ZhciBuPWUoKTtpZigwPT1uKWJyZWFrO3QucHVzaChkKG4sZSkpfWZvcig7Oyl7dmFyIGk9ZSgpLTE7aWYoaTwwKWJyZWFrO3QucHVzaChsKGksZSkpfXJldHVybiBmdW5jdGlvbihlKXtmb3IodmFyIHQ9e30scj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1lW3JdO3RbblswXV09blsxXX1yZXR1cm4gdH0ocih0KSl9LHQucmVhZF9tZW1iZXJfYXJyYXk9dSx0LnJlYWRfcGF5bG9hZD1pLHQucmVhZF96ZXJvX3Rlcm1pbmF0ZWRfYXJyYXk9Yyx0LnNpZ25lZD1vfSwzOTYxOihlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZ2V0RGF0YT1mdW5jdGlvbigpe3JldHVybigwLGkucmVhZF9jb21wcmVzc2VkX3BheWxvYWQpKCgwLG4uZGVjb2RlKSgiQUVRRjJBTzJERXNBMndJckFHc0JSQUJ4QU44QVp3Q2NBRXdBcWdBMEFHd0FVZ0J5QURjQVRBQVZBRllBSVFBeUFDRUFLQUFZQUZnQUd3QWpBQlFBTUFBbUFESUFGQUFmQUJRQUt3QVRBQ29BRGdBYkFBOEFIUUFZQUJvQUdRQXhBRGdBTEFBb0FEd0FFd0E5QUJNQUdnQVJBQTRBRHdBV0FCTUFGZ0FJQUE4QUhnUVhCWU1BNUJISkFTOEp0QVlvQWU0QUV4b3ppMFVBSDIxdEFhTW5CVDhDcm5JeWhyTURoUmdEeWdJQlVBRUhjb0ZIVVBlOEFYQmpBZXdDamdEUVI4SUlDSWNFY1FMd0FUWENEZ3p2SHdCbUJvSE5BcXNCZEJjVUF5a2dEaEFNU2hza01nbzhBWThqcUFRZkFVQWZIdzhCRHc4N01pb0dsQ0lQQndaQ2E0RUxhdE1BQU1zcEpWZ3NEbDhBSWhja1NnOFhBSGR2VHdCY0lRRWlEVDRPUGhVcWJ5RUNBRW9BUzM0QWVqOFlieDgzSmdUL1h3OGdIeFovN3c4UklDeFBIQTl2QncrUGZ3OFBId0FQRnYrZkFzQXZDYzh2RXI4aXZ3RC9FUThCb2w4T0VCYS9BNzhocndBUENVOHZFU052dndXZkh3TmZBVm9ESHIrWkFBRUQzNFlhQWRKUEFLN1BMd1NFZ0RMSEFHbzFQejhQdng5ZlV3TXJwYjhPLzU4VlR6QVBJQm9YSXlRSk5GOGhwd0lWQVQ4WUdBVUFERE5CYVgzUkFNb21KQ2c5RWhVZUEyOU1BQnNaQlRNTkppcGpPaGMxOWdjSURSOGJCd1FIRWdnQ1dpNkRJZ0x1QVFZQStCQUZDaGEzQTVYaUFFc3FNN1VGRmdGTGhBTWpGVE1ZRTFLbG53NzRuUlZCRy9BU0NtMEJZUk4vQnJzVTNWb1d5K1MwdlY4TFF4K3ZOOGdGMkFDMkFLNUVBV3dBcGdZREttQUFyb1EwTkRRMEFUK09DZzd3QUFJSFJBYnBOZ1ZjQlYwQVBUQTVCZmJQRmdNTHpjWUwvUXFxQTgyZUJBTEtDalFDanFZQ2h0MC9rMitPQXNYUUFvUDNBU1RLRGdEdzZBQ0tBVVlDTXBJS0pwUmFBRTRBNXdvbUFCelp2czBSRUVLaUFDSVFBZDVRZEFFQ0FqNFl3Zy93R3FZMkFWZ0FZQURZdkFvQ0dBRXViQTBndkFZMkFMQUFicGJ2cXB5RUFHQUVwZ1FBSmdBRzdnQWdBRUFDbWdoVUZ3Q3FBTXBBSU5RSXdDNER0aFJBQVBjeWNLZ0Fwb0lkQUJ3QmZDaXNBQm9BVHdCcUFTSUF2aG5TQlA4YUgvRUNlQUtYQXE0ME5qZ0RCVHdGWVFVNkFYczNvQUJnQUQ0WE5nbWNDWTFlQ2w1dElGWmVVcUdneW9OSEFCZ0FFUUFhQUJOd1dRQW1BQk1BVFBNYTNUMzRBRGxkeXBybU0xTTJYb2NpVVFnTHp2d0FYVDN4QUJnQUVRQWFBQk53SUdGQW5BREQ4QUFnQUQ0QkJKV3phQ2NJQUlFQkZNQVd3S29BQWRxOUJXQUY1d0xRcEFMRXRRQUtVU0drYWhSNEduSk0rZ3NBd0NnZUZBaVVBRUNRMEJRdUw4QUFJQUFBQURLZUloZWNsdkZxUUFBRVRyNGlBTXhJQVJNZ0FNSW9IaFFJQW4wRTBwRFFGQzRIaHpub0FBQUFJQUkyQzAvNGx2RnFRQUFFVGdCSkp3WUNBeTRBQmdZQUZBQThNQktZRUg0ZVJoVGtBalllRmNnQUNBWUFlQUJzT3F5UTVnUndEYXlxdWdFZ2FJSUF0Z29BQ2dEbUVBQm1CQVdHbWU1T0JKSkEybTRjRGVvQW1JVFdBWHdyTWdPZ0FHd0JDaDZDQlhZRjFUemcxd0tBQUZkaXVBQlJBRndBWFFCc0FHOEFkZ0JyQUhZQWJ3Q0VBSEV3ZnhRQlZFNVRFUUFEVkZoVEJ3QkRBTklMQXFjQ3pnTFRBcFFDclFMNnZBQU1BTDhBUExoTkJLa0U2Z2xHS1RBVTREcjROMkVZRXdCQ2tBQktrOHJIQWJZQm13SW9BaVU0QWpmL0FxNENvd0NBQU5JQ2h6Z2FOQnNDc1RnZU9EY0ZYcmdDbFFLZEFxUUJpUUdZQXFzQ3NqVHNOSHNmTlBBMGl4c0FXVFdpT0FNRlBEUVNOQ2syQkRaSE5vdzJUVFpVTmhrMjhKazlWekkzUWtFb0FvSUNvUUt3QXFjQVFBQXhCVjRGWGJTOUJXNDdZa0lYUDFjaVVxczA1RFMvRndBQlV3SlcxMWU2bkh1WVptU2gvUkFZQThvTUt2WjhLQVNvVUFKWVdBSjZJTEFzQVpTb3FqcGdBMG9jQklobURnRFdBQWF3UkRRb0FBY3VBajVpQUhBQlppUjJBSWdpSGdDYUFVNjhBQ3h1SEFHMHlnTThNaVpJQWxnQmRGNEdhZ0pxQVBaT0hBTXVCZ29BVGtZQXNBQmlBSGdBTUxvR0RQajBIcEtFQkFBT0pnQXVBTGdnVEFIV0FlQU1FRGJkMjBVZWdlMEFEd0FXQURrQVFnQTlPSGQrMk1VUVpCQmhCZ05ORGt4eFB4VVFBckVQcXd2cUVSb00xaXJRMDkwQU5LNEg4QU5ZQi9BRFdBTllCL0FIOEFOWUIvQURXQU5ZQTFnRFdCd1A4Qi9ZeFJCa0QwMEVjZ1dUQlpBRTJ3aUlKazRSaGdjdENOZFVFblFqSEV3RFNnRUJJeXBKSVR1WU14QWxSMHdSVFFnSUFUWkhiS3g5UFFOTU1iQlUrcENuQTlBeVZEbHhCZ01lZGhLbEFDOFBlQ0UxdWs2RGVreHhwUXBRVDdOWDl3QkZCZ0FTcXdBUzVnQkpEU2dBVUN3R1BRQkk0elRZQUJOR0FFMmJBRTNLQUV4ZEdBQkthQWJnQUZCWEFGQ09BRkJKQUJJMlNXZE9iQUxET3EwLy9Rb21DWmh2d0hkVEJrSVFIQ2VtRVBnTU5BRzJBVHdON2t2WkJQSUdQQVRLSDM0WkdnL09sWjBJcGkzZURPNG01QzZpZ0ZzajlpcUVCZTVMOVR6ZUMwNVJhUTlhQzJZSjVEcGtnVThESWdFT0lvd0szZzA2Q0c0UTlBcktiQTNtRVVZSE9nUFdTWnNBcGdjQ0N4SWROaFcySmhGaXJRc0tPWGdHL0JyM0M1QW1zQk1xZXYwRjFCb2lCazRCS2hzQUFOQXU2SVd4V2pKY0hVOWdCZ1FMSmlQSUZLbFFJUTBtUUxoNFNSb2NCeFlscWdLU1EzRktpRkUzSHBRaDl6dytEV2N1RkZGOUIvWThCaGxRQzRJOG4wYXNSUThSMHo2T1BVa2lTa3d0QkRhQUxEQW5qQW5RRDRZTXVueHpBVm9KSWdteURISVRNaEVZTjhZSU9nY2FMcGNsSnhZSUlrYVdZSnNFK0tBRDlCUFNBd3dGUUFsQ0J4UUR0aHd1RXk4VktnVU9nU1hZQXZRMjFpNjBBcEJXZ1FFWUJjd1BKaC9nRUZGSDRRN3FDSndDWmdPRUpld0FMaFVpQUJnaW5BaEVaQUJnajlsVEJpN01DTWhxYlNOMUEyZ1U2R0lSZEFlU0RsZ0hxQncwRmNBYzRuREpYZ3lHQ1Npa3NBbGNBWFlKbWdGZ0JPUUlDalZjaktFZ1FtZFVpMWtZbkNCaVFVQmQvUUl5REdZVm9FUytoM2tDakE5c0Vod0JOZ0YwQnpvTkFnSjRFZTRSYkJDV0NPeUdCVFcyTS9rNkpnUlFJWVFnRWdvb0ExQnN6d3NvSnZvTStXb0JwQkpqQXcwMFBuZnZaNnhndHlVWC9nY2FNc1pCWVNIeUM1TlB6Z3lkR3NJWVExUXZHZVVId0FQMEd2UW42MEZZQmdBRHBBUVVPazR6N3dTK0Myb0lqQWxBQUVvT3BCZ0gyQmhyQ25LTTBRRXlqQUc0bWdOWWtvUUNjSkFHT0FjTUFHZ01pQVY2NWdBZUFxZ0lwQUFHQU5BRFdBQTZBcTRIbmdBYUFJWkNBVDRES0RBQkl1WUNrQU9VQ0RMTUFaWXdBZlFxQkJ6RURCWUErRGh1U3dMRHNnS0FhMmFqQmQ1WkFvOENTallCVGlZRUJrOUlVZ093Y3VJQTNBQk1CaFRnU0FFV3JFdk1HK1JFQWVCd0xBRElBUHdBQmpZSEJrSUJ6Z0gwYmdDNEFXQUxNZ21qdExZQlR1b3FBSVFBRm13QjJBS0tBTjRBTmdDQThnRlVBRTRGV3ZvRjFBSlFTZ0VTTWhrc1dHSUJ2QU1nQVRRQkRnQjZCc3lPcHNvSUlBUnVCOVFDRUJ3VjRnTHZMd2UyQWdNaTRCUE9Rc1lDdmQ5V0FESVhVdTVlWndxb0NxZGVhQUMwWVRRSE1uTTlVUUFQSDZrK3lBZHkvQlpJaVFJbVN3QlE1Z0JRUXpTYU5URldTVFlCcHdHcUtRSzM4QUZ0cXdCSS93SzM3Z0szclFLM3NBSzYyODBDMGdLMzNBSzN6eEFBVUVJQVVEOVNrbEtEQXJla0FydzVBRVFBekFIQ08xNDdXVHRlTzFrN1hqdFpPMTQ3V1R0ZU8xa0RtQ2hZSTAzQVZVMG9KcWtLYlY5R1lld01wdzNWUk1rNlNoUGNZRkpnTXhQSkxiZ1V3aFhQSlZjWlBocTlKd1lsNVZVS0R3VXQxR1l4Q0MwMGRoZTlBRUFwYVlOQ1k0Y2VNUXBNSE9oVGtsVDVMUndBc2t1ak03QU5yUnNXUkVFRlNIWHVZaXNXRHdvakFtU0NBbUpEWEU2d1hEY2hBcUg0QW1pWkFtWUtBcCtGT0J3TUFtWThBbVluQkc4RWdBTi9GQU4ra3prSE9YZ1lPWU02SkNRQ2JCNENNamM0Q3dKdHlBSnRyL0NMQURSb1Jpd0JhQURmQU9JQVN3WUhtUXlPQVA4TXd3QU90Z0ozTUFKMm8wQUNlVXhFQW5pN0hsM2NSYTlHOUFKOFFBSjZ5UUo5Q2dKODhVZ0JTSDVrSlFBc0ZrbFpTbHdXR0VyTkF0RUNBdEROU3lnRGlGQURoK2RFeHBFekF2S2lYUVFEQTY5THowd3VKZ1RRVFUxTnNBS0xRQUtLMmNJY0NCNUVhQWE0QW80NEFvNWRRWmlDQW83YUFvNWRlVkcxVXpZTFV0VlVoZ0tUL0FLVERRRHFBQjFWSDFXd1ZkRUhMQndwbG9jeTRuaG5SVHc2QXBlZ0F1K3pXQ0twQUZvbUFwYVFBcFo5blFDcVdhMWFDb0pPQUR3Q2xyWUNsazljUlZ6U0Fwbk1BcGxsWE10ZENCb0NuSnc1d3pxZUFwd1hBcCtjQXA2NWl3QWVFRElyRUFLZDhnS2Vrd0MyUG1FMVlmQUNudFFDb0c4QnFnS2VvQ0FDbmsrbVk4bGtLQ1lzQWlld0FpWi9BcUQ4QXFCTjJBS21NQUtsendLb0FBQitBcWZ6YUgxb3NnQUVTbW9kYXRJQ3JPUUNySzhDcldnQ3JRTUNWeDRDVmQwQ3NlTFlBeDlQYkpnQ3NyNE9BckxwR0d6aGJXUnRTV0FESmM0Q3RsMDhRRzZSQXlsR0FyaGZBcmxJRmdLNUszaHdOM0RpQXIwYUF5MnpBeklTQXI2SmNnTURNM0lDdmh0ekkzTlFBc1BNQXNNRmM0TjBURFpHZE9FRFBLZ0RQSnNEUGNBQ3hYMEN4a2dDeGhHS0FzaHFVZ0xJUlFMSlVBTEpMd0prbmdMZDAzaDZZbml2ZVNaTDBRTVlwR2NEQW1IMUdmU1ZKWHNNWHBOZXZCSUN6MndDejIwd1RGVFQ5QlNnQU1ldUFzOTBBU3JyQTA0VGZrd0dBdHdvQXR1TEF0SlFBMUpkQTFOZ0FRSURWWTJBaWtBQnpCZnVZVVoyQUlMUGc0NEMyc2dDMmQrRUVZUktwejBEaHFZQU1BTmtENFp5V3ZvQVZnTGZaZ0xldVhSNEF1SXc3UlVCOHpFb0FmU2NBZkxUaUFMcjlBTHBjWG9BQXVyNkF1cmxBUHBJQWJvQzdvb0M2NTJXcTVjRUF1NUFBNFhobUhwdzRYR2lBdk1FQUdvRGpoZVpsQUwzRkFPUmJ3T1NpQUwzbVFMNTJnTDRaNW9kbXF5OE9Kc2ZBNTJFQXY3N0FSd0FPcDhkbjdRREJZNERwbXNEcHRvQTBzWURCbXVoaWFJR0NnTU1TZ0ZnQVNBQ3RnTkdBSndFZ0xwb0JnQzhCR3pBRW93Y2dnQ0VEQzZrZGpvQUpBTTBDNUlLUm9BQlpDZ2lBSXp3M0FZQkxBQ2tmbmc5b2dpZ2tnTm1XQU42QUVRQ3Zya0VWcVRHQXdDc0JSYkFBKzRpUWtNQ0hSMDcyakkyUFRiVU5zazJSalk1TnZBMjNUWktOaVUzRURjWk41SStSVHhEUlRCQ0prSzVWQllLRmhaZndRQ1d5Z1UzQUpCUkhwdStPeXRnTnhhNjFBNDBHTXNZanNuN0JWd0ZYUVZjQlYwRmFBVmRCVndGWFFWY0JWMEZYQVZkQlZ3RlhVc2FDTnlLQUs0QUFRVUhCd0tVN29JQ29XMWU3akFFemdQeEErWUR3Z0NrQkZEQXdBREFCS3pBQU94RkxoaXRBMVVGVERleVBrTStiajUxUWtSQ3V3VFFXV1E4WCswQVdCWXpzQUNOQTh4d3pBR203RVovUWlzb0NUQWJMRHM2Zm5MZmI4SDJHY2NzYmdGdzEzTTFIQVZrQlcvSnhzbTlDTlJPOEU4RkREMEZCUXc5RmtjQ2xPWUNvTUZlZ3BEZkFEZ2NNaUEyQUpRQUNCOEFzaWdLQUl6SUVBSktlQklBcFk1eVBaUUlBS1FpSGI0ZnZqNUJLU1JQUXJaQ096MG9YeXhnT3l3ZktBbkdiZ01DbFFhQ0FrSUxYZ2RlQ0Q5SUlHVWdRajVmUG9ZK2RUNTJBbzVDTTBkQVg5QlRWRzlTRHpGd1dUUUFieEJ6SkYvbE9FSVFRZ2xDQ2tLSklBbHM1QWNDbFFJQ29LUE1PREVGeGhpNktTQWJpeWZJUnJNanRDZ2RXQ0FrUGxGQklpdENzRUpSekFiTUFWL09FeVF6RGcwT0FRUUVKMzZpMzI4L01rOUF5YkRKc1FscTN0RFJBcFVLQWtGelhmMWQvajl1QUxZUDZoQ29GZ0NUR0Q4a1BzRktRaW9icm0wK3pqMEtTRDhrUG5WQ1JCd01EeUpSVEhGZ01USmE1cndYUWlRMllmSS9KRDdCTUVKRUhHSU5UdzRUT0ZsSVJ6d0pPMGljTVFweVB5USt3ekpDUkJ2NkRWZ25LQjAxTmdVS2oyYndZek1xQ29Ca3puQmdFRit6WURJb2N3UklYK05nSGo0SElDTmZoMkM0Q3dkd0ZXcFRHL2xnVWhZR0F3UmZ2MlRzOG1BYVh6VmdtbC9YWUlKZnVXQzRISTFnVUY5cFlKWmdNUjZpbFFITUFPd0xBbERSZWZDMGluNEFYQUVKQTZQakN3YzBJYW1PQU5NTUNBRUNSUURGTlJUWkJnZCtDd1FsUkErcjYrZ0xCREVGQm53VUJYZ0tBVElBcndBR1JBQUhBM2NEZEFOMkEza0Rkd045QTNvRGRRTjdBMzBEZkFONEEzb0RmUUFZRUFBbEF0WUFTd01BVUFGc0FIY0tBSGNBbWdCM0FIVUFkUUIyQUhWdThVZ0F5Z0RBQUhjQWRRQjFBSFlBZFFBTENnQjNBQXNBbWdCM0FBc0NPd0IzQUF0dThVZ0F5Z0RBQUhnS0FKb0Fkd0IzQUhVQWRRQjJBSFVBZUFCMUFIVUFkZ0IxYnZGSUFNb0F3QUFMQ2dDYUFIY0FDd0IzQUFzQ093QjNBQXR1OFVnQXlnREFBSDRBQ3dHZ0FMY0Jwd0M2QWFoZEF1MENPd0x0YnZGSUFNb0F3QUFMQ2dDYUF1MEFDd0x0QUFzQ093THRBQXR1OFVnQXlnREFBMjRBQ3dOdkFBdTBWc1FBQXpzQUFCQ2tqVUlwQUFzQVVJdXNPZ2dXY2dNZUJ4VnNHd0w2N1UvMkhsem1XT0VlT2dBTEFTdnVBQXNlQWZwS1VwbnBHZ1lKRENJWk02WXlBUlVFOVRocUFENWlYUWduQUpZSlBuT3p3MFpBRVp4RUtzSUFrQTREaEFIblRBSUR4eFVESzBseENRbFBZZ0l2SVFWWUpRQlZxRTFHYWtVQUtHWWlEVG9TQkExRXRBWUFYUUpZQUlGOEdnTUhSeUFBSUFqT2U5WW5jZWtSQUEwS0FDVXJqd0U3QXljNkFBWVdBcWFpS0c0TWNFY3FBTm9OMytNZzlUd0NCaElrdUNueStKd1VRMjlMMDA4Smx1Unh1M0srb0FkcWlIT3FGSDBBRzVTVUlmVUo1U3hDR2Z4ZGlwUnpxVG1UNFY1WmIrcjFVbzRWbStOcVNTRWwybU52UjJKaElhOFNwWU82bnRkd0ZYSENXVENLOGYyK0h4bzd1aUczZHJEeWNBdUtJTVA1YmhpMDZBQ25xQXJIMXJ6NFJxZy8vbG02U2dKR0VWYkY5eEpISVNhUjZIeHF4U25rdzZzaERuZWxIS05FZkdVWFNKUkoxR2NzbXRKdzI1eHJaTURLOWdYU20xL1lNa2RYNC82TktZT2R0ay9OUTMvTm5EQVNqVGMzZlBqSWpXLzVzVmZWT2JYMm9URFdrcjFkRjlmM2t4QnNEMy8zYVFPOGhQZlJ6K2UwdUVpSnF0MTE2MWdyaXU3Z3o4aEREd3RweStGK0JXdGVmbktIWlBBeGNab1dibnpuaEpweTBlODQyajM2YmNOekduSUV1c2dHWDBhOFp4c25qY1NzUERaMDl5WjM2ZkNRYnJpSGVRNzJKUk1JTE5sNmVQUGYySFdvVndnV0FtMWZiM1Yyc0FZMCtCNnJBWHFTd1BCZ3NlVm1vcXNCVFNybTkxK1hhc01ZWXlTSThlZVJ4SDNadkhrTXozQlE1YUozaVVWYllQTk0zLzdlbVJ0amxzTWd2LzlWeVRzeXQvbUsrOGZnV2VUNlNvRmFjbFhxbjQyZEFJc3ZBYXJGNXZOTldIektTa0tRLzhIZms1WldLN3I5eWxpT3Nvb3lCalJoZmtIUDRRMkRrV1hRaTZGRy85ci9Jd2Jta1Y1VDdKU29wSEtuMXBKd205dGI1T3Qwb3lOMVoybVBwS1hIVHh4Mm5sSzA4ZktrMWhFWUE4V2dWVldMNWxneDBpVHYrS2RvakplVTIzWkRqbWl1YlhPeFZYSktLaTJXanVoMkhMWk9GTGlTQzdUbHM1U01oNGYrUGo2eFVTck5qRnFMR2VoUk5COGxDMFFTTE5ta0pKeC93U0czTW5qRTlUMUNrUHdKSTB3SDJsZnp3RVRJaVZxVXhnMGRmdTVxMzlHdCtod2RjeGtoaE52UTRUeXJCY2VvZjNNaHMvSXhGY2kxSG1IcjRGTVpnWEVFY3pQaUdDeDBIUnd6QXFEcTJqOUFWbTFrd04wbVJWTFdMeWxndG9QTmFwRjVjWTRZMXdKaC9lMEJCd1pqNDRZZ1pyRE5xdkQvOUh2N0dGWWRVUWVESnVRM0VXSTRIYUtxYXZVMVhqQy9uNDFrVDRMNzlrcUdxMGtMaGRUWnZnUDNUQTNmUzBvelZ6KzVwaVpzb090SXZCVUZvTUtiTmNtQkw2WXh4YVVBdXNIQjM4WHJTOGRRTW5Rd0pmVVVrcFJvR3I1QVVlV2ljdkJUenlLOWc3Nyt5Q2tmNVBBeXNMN3IvSmpjWmdyYnZScE1XOWl5YXhadktPNmNlWk4yRXdJeEt3VkZQdXZGdWlFUEdDb2FnYk1vK1NweWRMclhxQnpOQ0RHRkNyTy9ya2N3YTJ4aG9rUVo1Q2RaMEFzVTNKZlNxSjZuNUkxNFlBK1AvdUFnZmhQVTg0VGx3N2NFRmZwN0FFRThleTRzUDEyUFR0NENvZHMxR1JnRE9CNXh2eWlSNW0rQng4TzVuQkNOY3RVOEJldmZWNUEwOHg2UkhkNWpjd1BUTURTWkpPZWRJWjFjR1E3MDRseGJBenFaT1AwNVp4YU9naHpTZHZGQkhZcW9tQVRBUnlBQURLNGVsUDhMeTNJclVaS2ZXaDIzWHkyMHVCVW1MUzRQZmFndTkrb3lWYTJpUGdxUlAzRjJDVFVzdko3K1JZbk44ZkZaYlUvSFZ2eHZjRkZES2tpVHFWNVVCWjNHejU0SkFLQnlpOWhrS01aSnZ1R2djU1lYRm13MDhVeW9ReVZkZlREMS9kTWtDSFhjVEdBS2VST2dBcnN2bVJyUVRMVU9YaW9PSEdLMlFrakh1b1lGZ1hjaVpvVEpkNkZzNXExUVgxRytwL2UyNmhZc0VmN1FaRDFubkl5bC9TRmtOdFlZbW1CaHBCcnhsOVdiWTBZcEhXUnV3MkxsL3RqOW1EOFA0c25WekpsNEY5SisxYXJWZVRiOUU1cjJJTEgwNHFTdGp4UU53bjNtNFlOcXhtYU5iTEFxVzJUTjZMaWR3dUpScVMrTlhidHF4b2VEWHB4ZUdXbXh6U2tXeGpreUNrWDROUVJtZTZxNVNBY0MrTTcrOUVUZkEvRXdyelFhaktha0N3WXlldW5QNlpGbHhVMm9NRW4xUHozMXplU3RXNzRHNDA2WkpGQ2wxd0FYSW9VS2tXb3RZRXBPdVhCMXVWTnhKNjNkcEpFcWZ4QmVwdHdJSE5yUHo4QmxsWm9JY0JvWHdnZkorOFZBVW5WUHZSdmV4bncwTWEvV2lHWXVKTzV5OFFUdkVZQmlnRm1oVXhZNVJxekU4T2N5d04vOG00VVlybGFuaUpPNzVYUTZLU285K3RXSGx1K2hNaTBVVmRpS1FwN05lbG5vWlV6TmFJeUJQVmVPd0s2R05wK0ZmSHVQT295aGFXdU52VFlGa3Z4c2NNUVdEaCt6ZUZDRmtnd2JYZnRpVjIzeXdKNCt1d1JxbWc5azNLendJUXB6cHB0OERCQk9NYnJxd1FNNUdiMDVzRXdkS3pNaUFxT2xvYUEvbHIwS0ErMXByMC8rSGlXb2lJakhBL3dpcjJuSXVTM1BlVS9qaTNPNlp3b3hjUjFTWjlGaHRMQzVTMEZJekZoYkJXY0dWUC9LcHhPUFNpVW9BZFdVcHFLSCsrNlNjejUwN2lDY3hZSTZyZE1CSUNQSlplYTdPY21lRnc1bU9iSlNpcXBqZzJVb1dOSXMrY0ZoeURTdDZnZVY1cWdpM0Z1bm13d0RvR1NNZ2VyRk9aR1gxbTBkTUNZbzVYT3J1eE8wNjNkd0VOSzlEYm5WTTl3WUZSRXpoNHZ5VTFXWVlKL0xSUnA2b3hnanFQL1g1YTgvNEFmNnA2TldrUWZlcnpCbVhtZTB6WS80bndNSm0vd2QxdElxU3dHeitFM3hQRUFPb1psSml0M1hkZEQ3L0JUMXBsbHpPeCs4Ym1RdEFOUS9TNmZaZXhjNnFpM1crUTJ4Y21YVFVodVM1bXBIUVJ2Y3haVU4wUzUrUEw5bFhXVUFhUlpoRUg4aFRkQWN1Tk1NQ3VWTktURUd0U1VLTmkzTzZLaFNhVHpjazhjc1oydldSWitkN21XOGM0SUt3WElZZDI1Uy96SWZ0UGt3UHp1ZmpFdk9IV1ZEMW0rRmpwRFZVVFYwREdEdUhqNlFuYUV3THUvZEVnZExRT2c5RTFTcm85WEhKOHlrTEF3dFB1K3B4cUtEdUZleHFPTjFzS1FtN3J3YkUxRTY4VUNmQS9lcm92clRDRytEQlNOZzBsNGdvRFF2Wk42dU5sYnlMcGNaQXdqMlVjbHljdkxwSVpNZ3Y0eVJscGIzWXVNZnRvem9yYmNHVkh0L1ZlRFYzK0ZkZjFUUDBpdWFDc1BpMkc0WGVHaHN5RjF1YlZEeGtvSmhtbmlRMC9qU2cvZVlNTDlLTGZuQ0ZnSVNXa3A5MWVhdVIzSVF2RUQwbkFQWEsrNmhQQ1lzK24zK2hDWmJpc2ttVk1HMmRhKzBFc1pQb25VZUlZOEViZnVzUVhqc0svZUZEYW9zYlBqRWZRUzBSS0c3eWo1R0c2OU03TWVPMUhtaVVZb2NneWdKSEw2TTFxelVERHdVU21yOTlWN1NkcjJGM0pqUUFKWStGMHlIMzNJdjMrQzlNMzhlTUw3Z1RnbU51L3IyYlVNaVB2cFliWjZ2MS9JYUVTaXJCSE5hN21QS240ZEVtWWc3di8rSFFnUE4xRzc5akJRMStzb3lkZkRDMnIraDJCbC9LSWM1S2pNSzdPSDZuYjFqTHNOZjBFSFZlMktCaUU1MW94NjM2dXlHNkxobzB0M0ozNEw1UVkvaWxFM21pa2FGNEhLWEcxbUcxckNldlQxVnY2R2F2bHR4b1FlL2JNcnBadlJnZ25CeFNFUEVlRXprRWRPeFRuUFhIVmpVWWR3OEpZdmpCL283RWVnYzNNYStOVXhMTG5zSzBrSmxpblBtVUh6SEd0cms1K0NBYlZ6Rk9CcXB5eTNRVlVuelREZkMvMFhEOTQvb2tIK09CK2k3Zzlsb2xoV0lqU25mSWIrRXE0M1pYT1dtd3ZqeVYvcXFEK3QwZSs3bVRFTTc0cVAvT3p0OG5tQzdtUnB5dTYzT0I0S25VekZjMDc0U3FveVBVQWdNKy9USkdGbzZUNDRFSG5RVTRYNHo2cWFublZxZ3cvVTd6Q3B3Y21YVjFBdWJJcnZPbWtLSGF6SkFSNTVlUGpwNXRMQnNOOHZBcXMzTkFIZGNFSE9SMnhRMGxzTkFGelNVdXhGUUNGWXZYTFpKZE9qOXA0Zk5xNnAwSEJHVWlrMll6YUk0eHlTeTkxS3poUTArcTFoanh2SW1Sd1BSZjc2dENobFJraFJDaTc0TlhaOXFVTmVJd1ArczVwKzNtNW53UGROT0hnU0xENzluN085bTFuMXVESGlNbnRxNG5rWXdWNU9aMUVOYlh4RmQ0UGdybHZhdlpzeVVPNE1xWWxxcW4xTzhXL0kxZEVacTVkWGhyYkVUTGFaSWJDMktqL0FhL1FNK2ZxVU9IZGYwdFhBUTFodVozY21XRUNXU1h5LzQzajM1K012cTl4d3M3SktzZXJpWjFwRVdLYzhxbHpOckdQVUdjVmdPYTljUEpZSUpzR25KVEFVc0VjRE9FVlVMTzV4MHJYQmlqYzFsZ1hFelFRS2hST2Y4eklWODJ3OGVzd2M3OFlYMTFLWUxXUVJjZ0hOSkVsQnhmWHI3MmxTMlJCU2wwN3FUS29yTzJ1VURacjNzRmhZc3ZuaExabjBBOTRLUnpKLzdERUdJQWhXNVpXRnBMOGdFd3UxYUxBOU11V1p6TndsOE96ZTlZK2JYK3Y5Z3l3UlZub0I1SS84a1hUWFUzMTQxeVJMWXJJT096NlNPbnlITnk0U2llcXprQlhoYXJqZmpxcTFxNnRrbGFFYkE4UWZtMkRhSVBzN09UcS9udkpCaktmTzJIOWJIMmNDTWgxKzVnc3BmeWN1OGYvY3V1Um10RGp5cVo3dUNJTXlqZFYzYStwM2ZxbVhzUng0QzhsdWpleklGSG5RaVZUWExYdUkxWHJ3TjMrc2lZWWoySEhUdkVTVXg4RGxPVFhwYWs5cUZSSytMM21nSjFXc0Q3RjRjdTFhSm9Gb1lRbnUrd0dETU9qSk0za2lCUVdIQ2N2aEovSFJkeG9kT1FwNDVZWmFPVEEyMk5iNFhLQ1Z4cWtid01ZRmh6WVFZSUFuQ1c4RlcxNHVmOThqaFVHMnpyS2hRUTBxMENFcTB0NW5YeXZVeXZSOER2RDY5TFUrZzNpK0hGV1FNUThQcVp1SEQrc05LQVYwK002RUpDMHN6cTdyRXI3QjViUThCY05IenZETWM5ZXFCNVpDUWRUZjgwT2JuNHV6andwWVU3U0lTZHRWMFFHYTlEM1dyaDJCRFF0cEJLeGFORlYrL0N5MlAvU3YrOHM3VWQwRmQ3NFg0K28vVE56dFdnRVRVYXB5K21hak5RNjhMcTNlZTBaTzQ4VkViVFpZaUgxQ280T2xmV2VmODJSV2V5VVhvN3dvTTAzUHlhcEdmaWtUblFpbm9OcTV6NXZlTHBlTVYzSENBTVRhWm1BMW9HTEFuN1hTM1hZc3orWEs3Vk1Rc2M0WEtybURYT0xVL3BTWFZOVXE4ZElxVGJhLy8vM3g2TGlMUzZ4czF4dUNBWVNmY1EzK3JRZ211N3V2ZjNUSEt0NU9vbzk3VHFjYlJxeHg3RUFTaXphUUNCUWxsRy9yWXhWYXBNTGd0TGJaUzY0dzFNREJNWFgrUFFwQktOd3FVS09mMkREUkRVWFFmOUVoT1MwUWo0blRtbEE4ZHpTTHovRzFkK1VkOE1UeS82Z2hoZGlMcGVlckdZL1VsRE9maXVxRnNNVVU1L1VZbFArQkFtZ1JMdU5wdnJVYUxsVmtycURpZXZOVkVBd0YrNENvTTFNWlRtanhqSk1zS0pxK3U4WmQ3dE5DVUZ5NkxpeVlYUkpRNFZ5dkVRRkZhQ0dLc3hJd1FrazdFelo2TFRKcTJoVXVQaHZBVytnUW5TRzZKK01zekMrN1FDUkhjbnFEZHlOUko2VDl4eVM4N0E2TUR1dGJ6S0d2R2t0cGJYcXR6V3RYYjlIc2ZLMmNCTW9tak45YTR5K1RhSkxuWHhBZVgvSFd6bWY0Y1I0dkFMdC9QNHc0cWdLWTA0bWw0WmRMT2luRllTNmN1cDNHLzFpZTQrdDFlT25wQk5scUdxczc1aWx6a1Q0K0RzWlF4TnZhU0tKLy82ekliYmsvTTdMT2hGbVJjLzFSK2tCdHo3SkZHZFptL0NPb3RJZHZRb1hwVHFQLzF1cUVVbUNiL1FXb0dMTXdPNUFOY0h6eGRZNDhJR1A1K0orektPVEJGWjRQaWQrR1RNK1dxMTJNVi9IODZ4RUpwdEJhNlQrcDNrZ3B3TGVkTWFuQkhDMkdnTnJGcG9OMnhuck16OVdGV1gvOC95Z1NCa2F2cTJVdjdGZENzTEVZTHU5TExJdkFVMGJOUkR0ellsKy92WG1qcEl2dUpGWWptSTBpbTZRRVlxbkllTXNOalhHNHZJdXRJR0hpamVBRy85RURCb3pLVjVjbGRrSGJMeEhoMjV2VCtaRXpiaFhscXZwektKd2NFZ2ZOd0xBS0ZlbzAvcHZFRTEwWERCK0VYUlRYdFN6Sm96UUtGRkFKaE14WWtWYUNXK0U5QUw3dE1lVThhY3hpZEhxemI2bFg0NjkxVXNEcHkvTExSbVQrZXBnVzU2KzVDdzh0QjRrTVV2NnM5bGgzZVJLYnlHcytILzRtUU1hWXpQVGYyT09kb2tFbit6emd2b0QzRnFOS2s4UXFHQVhWc3FjR2RYclQ2MmZTUGtSMnZST0ZpNjhBNnNlODZVeFJVazRjYWpmUHlDQzRHNXdEaEQrek5xNGpvZFE0dTRuL20zN0xyMzZuNExJQUFzVnIwMmRGaTlBaXdBODFNWXMycm00ZURsRE5tZE1SdkVLUkhmQndXNURkTU5wMGpQRlpNZUFScUYvd0w0WEJmZCtFTUxCZk16cEg1R0g2TmFXKzF2cnZNZGcrVnhEemF0azNNWGdPM3JvM1AvRHBjQzYrTW80TXlTSmhLSmhTUjAxU0dHR3A1aFBXbXJyVWdydjNsRG5QK0hoY0kzbnQzWXFCb1ZBVlRCQVFUNWl1aFRnOG52UHRkOFplWWo2dzF4NlJxR1VCclNrdTcrTjErQmFhc1p2alRrNjRSb0lEbEw4YnJwRWNKeDNPbVk3akxvWnNzd2R0bWhmQy9HMjFsbFhoSVRPd212UkREZVRUUGJ5QVNPYTE2Y0Y1L0ExZlpBaWRKcHFqdTN3WUF5OWF2UFIxeWE2ZU5wOUs4WFlycnR1eGxxaStiREt3bGZyWWRSMFJSaUtSVlRMT0g4NStaWTdYU216UnBmWkJKamFUYTgxVkRjSkhwWm5ablNRTEFTR1lXOWw1MVpWL2g3ZVZ6VGkzSHY2aFVzZ2MvNTFBcUpSVGtwYkZWTFhYc3pvQkw4bkJYMHUvMGpCTFQ4bkgrZkplUGJyd1VSVDU4T1krVWllUmpkMXZzMDR3MFZHNVZOMlU2TW9HWmtRektOL3B0ejBRMzY2ZHhvVEdtajdpMU5RR0hpOUdnbnF1WEZZZHJDZlpCbWViN3MwVDZ5cmRsWkg1Y1p1d0hGeUlKL2tBdEdzVGcweEg1dGFBQXE0NEJBazFDUGs5S1ZWYnFRenJDVWlGZEYvNmd0bFBROGJISGMxRzFXOTJNWEdaNUhFSGZ0eUxZczhtYkQvOXhZUlVXa0htbE0wekMyaWxKbG5OZ1Y0YmZBTHBRZ2h4T1VvWkw3VlRxdENISWFRU1htK1lVTW5wa1h5Ym5WK0E2eGxtMkNWeThmbjBYbG0yWFJhMCt6ek9hMjFKV1dtaXhmaVBNU0NaN3FBNHJTOTNWTjNwa3BGMXM1VG9uUWppc0hmN2lVOVpHdlVQT0FLWmNSMXBiZVZmL1VsN09oZXBHQ2FJZDl3T3RxbzdwSjd5TGNCWjBwRmtPRjI4eTR6RUkva2NVTm11dEJIYVFwQmROTTh2akNTNkhaUm9ra2VvODhUQkFqR3lHN1NSKzZ2VWdUY3lLOUltYWxqMGt1eHowd21LK2J5UVUxMUFpSkZrL3lhNWROZHVSQ2xjblU2NHlHdS9pZVdTZU9vczF0M2VwK1JQSVdRMnB5VFlWYlpsdFRic2I3Tml3U2kzQVYrOEtMV2s3THhDbmZaVWV0RU04VGhuc1NvR0gzOC9ueUF3Rmd1SnA4Rmp2bEh0Y1dadVU0aFB2YTBySGZyMFVoT09KL0Y2dlM2MkZXN0t6a21SbGwySEVjN29VcTRmeWk1VDcwVmw3WVZJZnNQSFVDZEhlc2Y5TGs3V05WV083NUpEa1liTUk4VE9XOEpLVnRMWTlkNlVKUklUTzhvS28weFMrbzk5WXkwNGluaUdIQWFHajg4a0VXZ3d2ME9ySGRZL25yNzZET0dOUzU5aFhDR1h6VEtVdkRsOWlLcExTV1lOMWx4SWV5eXdkTnBUa2hheTc0dzJqRlQ2TlM4cWtqbzVDeEExeWZTWXdwNkFKSVpOS0llRUs1UEpBVzdPUmdXZ3dwMFZnellwcW92TXJXeGJ1K0RHWjZMaGllMVJBcXB6bThWVXpLSk9IM21Deld1VE9Mc04zVlQvZHYyZWVZZTlVamJSOFlUQnNMejdxNjBWTjFzVTUxayt1bTFmOEp4RDVwUGhiaFNDOHJSYUI0NTR0bWg2WVVXckpJMytHV1kwcWVXaW9qL3Ria1lJVE9rSmFldUd0NEpySnZIQStsMEd1N2tZN1hPYWEwNWFsTW5SV1ZDWHFGZ0xJd1NZNHVGNTlVZTVTVTRRS3VjL0hhbUR4YnIweDZjc0NldFhHb1A3UW4xQmsvSjlEc3luTy9VRDZpWjFIeXJ6K2ppdDBoREN3aS9FOU9qZ0tUYkIzWlFLUS8wWk92ZXZmTkhHME5LNEFqM0NwN05wUmswN1JUMWkvUzBFTDkzQWc4R1JnS0k5Q2ZwYWpLeUs2K0pqL1BJMUtPNS84NVZBd3oyQXd6UDhGVEJiMDc1SXhDWHY2VDlSVnZXVDJ0VWFxeERTOTJ6ckdVYld6VVlrOW1TczgycEVDSCtma3FzRHQ5M1ZXKys0WXNSL2RIQ1ljUVNZVE8vS2FCTURqOUxTRC9KLyt6MjBLcThYdlpVQUlIdG05aFJQUDNJdGJ1QXUySG01bGtQczkycGQ3a0N4Z1JzMHhPVkJuWjEzY2NkQTBhdW5yd3Y5U2RxRWxKUkMzZytvQ3Urblh5Q2dtWFVzOXlNalRNQUlIZnhaVithUEtjWmVVQld0MDU3WG84NUtzMUlyNWd6RUhDV3FaRWhyTFpNdUYxMXppR3RGUVVkcy9FRVNhamhhZ3pjS3N4YW1jU1p4R3RoNFVJSSthZFBoUWtVbngyV3lOKzRZV1IrcjNmOE1ua3lHRnVSNHpqenhKUzhXc1FZUjVQVHlSYUQ5aXhhNk1oNzQxbkJIYnpmalhIc2tHRHExNzl4YVJOckNJQjF6MXhSZldmanF3MnBIYzF6azl4bFBwTDhzUVdBSXVFVFpaaGJubUw1NHJjZVhWTlJ2VWlLcnJxSWtlb2dzbDBYWGIxN3lsTmIwZjRHQTlXZDQ0dmZmRUc4RlNaR0hFTDJmYmFUR1JjU2lDZUE4UG1BL2Y2SHo4SENTNzZmWFVId2d3a3pTd2xJNzFla1o3RmFwbWxrL0tDK0hzOGhVY3czTjJMTjVMaGtWWXlpellGbC91UGVWUDVsc29KSGhoZld2dlNXcnVDVVcxWmNKT2V1VGJyRGd5d0ovcUcwN2daSnBsblR2TGNZZE5hSDBLTVlPWU1HWCtyQjROR1BGbVFzTmFJd2xXcmZDZXp4cmU4elhCcnNNVCtlZFZMYkxxTjFCcUI3NkpINEJ2WlRxVUlNZkd3UEdFbitFbm1UVjg2ZlBCYVliRkwzREZFaGpCNDVDZXdrWEVBdEp4azQvTXMycFBYbmFScWRreTBIT1lkY1VjRTJ6Y1hxNHZhSXZXMi92MG5IRkpIMlhYZTIydWVEbXEvMThYR3RFTFNxODVqOVg4cTB0Y05TU0tKSVg4RlR1SkYvUGY4ajVQaHFHMnUrb3N2c0x4WXJ2dmZlVkpMKzR0a2NYY3I5SlY3djBFUm1qL1g2Zk0zTkM0ajZkUzErOVVtcjJvUGF2cWlBeWRUWlBMTU5SR1kyM0xPOXpBVkRseTdqRCs3MEc1VFBQTGRoUklsNFd4Y1lqTG5NK1NOY0oyNkZPcmtySVNVdFBPYkl6NVpiM0FHNjEya3JucHkxNVJNVysxY1FqbG5XRkk2NTM4cWt5OWF4ZDJvSm1ISUhQMDhLeVAwdWJHTytUUU5PWXV2MnVoMTd5Q0l2UjhWY1N0dzdvMWcwTk02MHNrKzhUcTdZZklCSnJ0cDUzR2t2elhIN09BMHA4L24vdTFzYXRmL1ZKaHRSMWw4V2E2R21hdWc3aGFTcGFDYVlRYXg2dGEwbWt1dGxiK2VBT1NHMWFvYk04MUQ5QTRpUzFSUmx6QkJvVlg2dFUxUzZXRTJOOU9SWTZEZmVMUkM0bDlSdnI1aDk1WERXQjJtUjFkNFdGdWRwc2dWWXdpVHdUMzFsanNrRDhaeURPbG01RGtHaDlOL1VCLzBBSTVYdmI4WkJtYWkyaFE0QldNcUZ3WW56eHdCMjZZSFNPdjlXZ1kzSlhudm9OKzJSNHJxR1ZoL0xMRE10cEZQK1NwTUdKTld2YklsNVNPb2RiQ2N6VzJSS2xla3NQb1VlR0V6cmp0S0hWZHRaQStrZnFPK3JWeC9pY2xDcXdvb3BlcHZKcFNURGpUK2I5R1d5bEdSRjhFRGJHbHc2ZVV6bUpNOTVPdm96K2t3TFgzYzJmVGpGZVlFc0U3dlVabTNtcWRHSnVLaDJ3OS9RR1NhcVJIczk5YVNjR09kRHFrRmNBQ29xZGJCb1FxcWphbWhINlE5bmczOUpDZzNsckdKd2Q1MFFrOW92bnFCVHI4TU1FN1BzMndpVmZ5Z1VtUG9VQkpKZkpXWDVOZGEwbnVuY2JGa0E9PSIpKX07dmFyIG49cig5OTcpLGk9cigzNzMxKX0sNzAzMjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZW5zX25vcm1hbGl6ZT1mdW5jdGlvbihlKXtyZXR1cm4geShmdW5jdGlvbihlLHQpe2Zvcih2YXIgcj1wKGUpLnJldmVyc2UoKSxuPVtdO3IubGVuZ3RoOyl7dmFyIG89bShyKTtpZihvKW4ucHVzaC5hcHBseShuLCgwLGkuZGVmYXVsdCkodChvKSkpO2Vsc2V7dmFyIGE9ci5wb3AoKTtpZihmLmhhcyhhKSluLnB1c2goYSk7ZWxzZSBpZighZC5oYXMoYSkpe3ZhciBzPWxbYV07aWYoIXMpdGhyb3cgbmV3IEVycm9yKCJEaXNhbGxvd2VkIGNvZGVwb2ludDogMHgiLmNvbmNhdChhLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpKSk7bi5wdXNoLmFwcGx5KG4sKDAsaS5kZWZhdWx0KShzKSl9fX1yZXR1cm4geShTdHJpbmcuZnJvbUNvZGVQb2ludC5hcHBseShTdHJpbmcsbikubm9ybWFsaXplKCJORkMiKSl9KGUsYikpfSx0LmVuc19ub3JtYWxpemVfcG9zdF9jaGVjaz15O3ZhciBpPW4ocigzMTA2KSksbz1yKDg2MjcpLGE9cigzOTYxKSxzPXIoMzczMSk7ZnVuY3Rpb24gdShlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgcj0wLG49bmV3IEFycmF5KHQpO3I8dDtyKyspbltyXT1lW3JdO3JldHVybiBufXZhciBjPSgwLGEuZ2V0RGF0YSkoKSxmPW5ldyBTZXQoKDAscy5yZWFkX21lbWJlcl9hcnJheSkoYykpLGQ9bmV3IFNldCgoMCxzLnJlYWRfbWVtYmVyX2FycmF5KShjKSksbD0oMCxzLnJlYWRfbWFwcGVkX21hcCkoYyksaD0oMCxzLnJlYWRfZW1vamlfdHJpZSkoYyk7ZnVuY3Rpb24gcChlKXtyZXR1cm4oMCxvLnRvVXRmOENvZGVQb2ludHMpKGUpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIGUuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gNjUwMzkhPWV9KSl9ZnVuY3Rpb24geShlKXt2YXIgdCxyPWZ1bmN0aW9uKGUsdCl7dmFyIHI9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKCFyKXtpZihBcnJheS5pc0FycmF5KGUpfHwocj1mdW5jdGlvbihlLHQpe2lmKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gdShlLHQpO3ZhciByPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PXImJmUuY29uc3RydWN0b3ImJihyPWUuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1yfHwiU2V0Ij09PXI/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PXJ8fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KHIpP3UoZSx0KTp2b2lkIDB9fShlKSl8fHQmJmUmJiJudW1iZXIiPT10eXBlb2YgZS5sZW5ndGgpe3ImJihlPXIpO3ZhciBuPTAsaT1mdW5jdGlvbigpe307cmV0dXJue3M6aSxuOmZ1bmN0aW9uKCl7cmV0dXJuIG4+PWUubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTplW24rK119fSxlOmZ1bmN0aW9uKGUpe3Rocm93IGV9LGY6aX19dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfXZhciBvLGE9ITAscz0hMTtyZXR1cm57czpmdW5jdGlvbigpe3I9ci5jYWxsKGUpfSxuOmZ1bmN0aW9uKCl7dmFyIGU9ci5uZXh0KCk7cmV0dXJuIGE9ZS5kb25lLGV9LGU6ZnVuY3Rpb24oZSl7cz0hMCxvPWV9LGY6ZnVuY3Rpb24oKXt0cnl7YXx8bnVsbD09ci5yZXR1cm58fHIucmV0dXJuKCl9ZmluYWxseXtpZihzKXRocm93IG99fX19KGUuc3BsaXQoIi4iKSk7dHJ5e2ZvcihyLnMoKTshKHQ9ci5uKCkpLmRvbmU7KXt2YXIgbj10LnZhbHVlLGk9cChuKTt0cnl7Zm9yKHZhciBvPWkubGFzdEluZGV4T2YoOTUpLTE7bz49MDtvLS0paWYoOTUhPT1pW29dKXRocm93IG5ldyBFcnJvcigidW5kZXJzY29yZSBvbmx5IGFsbG93ZWQgYXQgc3RhcnQiKTtpZihpLmxlbmd0aD49NCYmaS5ldmVyeSgoZnVuY3Rpb24oZSl7cmV0dXJuIGU8MTI4fSkpJiY0NT09PWlbMl0mJjQ1PT09aVszXSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgbGFiZWwgZXh0ZW5zaW9uIil9Y2F0Y2goZSl7dGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGxhYmVsICInLmNvbmNhdChuLCciOiAnKS5jb25jYXQoZS5tZXNzYWdlKSl9fX1jYXRjaChlKXtyLmUoZSl9ZmluYWxseXtyLmYoKX1yZXR1cm4gZX1mdW5jdGlvbiBtKGUsdCl7dmFyIHIsbixvLGE9aCxzPVtdLHU9ZS5sZW5ndGg7dCYmKHQubGVuZ3RoPTApO2Zvcih2YXIgYz1mdW5jdGlvbigpe3ZhciBjPWVbLS11XTtpZighKGE9bnVsbD09PShyPWEuYnJhbmNoZXMuZmluZCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2V0LmhhcyhjKX0pKSl8fHZvaWQgMD09PXI/dm9pZCAwOnIubm9kZSkpcmV0dXJuImJyZWFrIjtpZihhLnNhdmUpbz1jO2Vsc2UgaWYoYS5jaGVjayYmYz09PW8pcmV0dXJuImJyZWFrIjtzLnB1c2goYyksYS5mZTBmJiYocy5wdXNoKDY1MDM5KSx1PjAmJjY1MDM5PT1lW3UtMV0mJnUtLSksYS52YWxpZCYmKG49cy5zbGljZSgpLDI9PWEudmFsaWQmJm4uc3BsaWNlKDEsMSksdCYmdC5wdXNoLmFwcGx5KHQsKDAsaS5kZWZhdWx0KShlLnNsaWNlKHUpLnJldmVyc2UoKSkpLGUubGVuZ3RoPXUpfTt1JiYiYnJlYWsiIT09YygpOyk7cmV0dXJuIG59fSw3OTAxOihlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuaWQ9ZnVuY3Rpb24oZSl7cmV0dXJuKDAsbi5rZWNjYWsyNTYpKCgwLGkudG9VdGY4Qnl0ZXMpKGUpKX07dmFyIG49cig0NjQyKSxpPXIoODYyNyl9LDc1MTU6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9UeXBlZERhdGFFbmNvZGVyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYS5UeXBlZERhdGFFbmNvZGVyfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJkbnNFbmNvZGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLmRuc0VuY29kZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiZW5zTm9ybWFsaXplIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaS5lbnNOb3JtYWxpemV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImhhc2hNZXNzYWdlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gby5oYXNoTWVzc2FnZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiaWQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLmlkfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJpc1ZhbGlkTmFtZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGkuaXNWYWxpZE5hbWV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIm1lc3NhZ2VQcmVmaXgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvLm1lc3NhZ2VQcmVmaXh9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIm5hbWVoYXNoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaS5uYW1laGFzaH19KTt2YXIgbj1yKDc5MDEpLGk9cig0ODk4KSxvPXIoNDQ0MyksYT1yKDIxNzEpfSw0NDQzOihlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuaGFzaE1lc3NhZ2U9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiYoZT0oMCxvLnRvVXRmOEJ5dGVzKShlKSksKDAsaS5rZWNjYWsyNTYpKCgwLG4uY29uY2F0KShbKDAsby50b1V0ZjhCeXRlcykoYSksKDAsby50b1V0ZjhCeXRlcykoU3RyaW5nKGUubGVuZ3RoKSksZV0pKX0sdC5tZXNzYWdlUHJlZml4PXZvaWQgMDt2YXIgbj1yKDkwOCksaT1yKDQ2NDIpLG89cig4NjI3KSxhPSIZRXRoZXJldW0gU2lnbmVkIE1lc3NhZ2U6XG4iO3QubWVzc2FnZVByZWZpeD1hfSw0ODk4OihlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZG5zRW5jb2RlPWZ1bmN0aW9uKGUpe3JldHVybigwLG4uaGV4bGlmeSkoKDAsbi5jb25jYXQpKGwoZSkubWFwKChmdW5jdGlvbihlKXtpZihlLmxlbmd0aD42Myl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgRE5TIGVuY29kZWQgZW50cnk7IGxlbmd0aCBleGNlZWRzIDYzIGJ5dGVzIik7dmFyIHQ9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgrMSk7cmV0dXJuIHQuc2V0KGUsMSksdFswXT10Lmxlbmd0aC0xLHR9KSkpKSsiMDAifSx0LmVuc05vcm1hbGl6ZT1mdW5jdGlvbihlKXtyZXR1cm4gbChlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybigwLGkudG9VdGY4U3RyaW5nKShlKX0pKS5qb2luKCIuIil9LHQuaXNWYWxpZE5hbWU9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiAwIT09bChlKS5sZW5ndGh9Y2F0Y2goZSl7fXJldHVybiExfSx0Lm5hbWVoYXNoPWZ1bmN0aW9uKGUpeyJzdHJpbmciIT10eXBlb2YgZSYmYy50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgRU5TIG5hbWU7IG5vdCBhIHN0cmluZyIsIm5hbWUiLGUpO2Zvcih2YXIgdD1mLHI9bChlKTtyLmxlbmd0aDspdD0oMCxvLmtlY2NhazI1NikoKDAsbi5jb25jYXQpKFt0LCgwLG8ua2VjY2FrMjU2KShyLnBvcCgpKV0pKTtyZXR1cm4oMCxuLmhleGxpZnkpKHQpfTt2YXIgbj1yKDkwOCksaT1yKDg2MjcpLG89cig0NjQyKSxhPXIoNDMyNykscz1yKDM5ODkpLHU9cig3MDMyKSxjPW5ldyBhLkxvZ2dlcihzLnZlcnNpb24pLGY9bmV3IFVpbnQ4QXJyYXkoMzIpO2Z1bmN0aW9uIGQoZSl7aWYoMD09PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBFTlMgbmFtZTsgZW1wdHkgY29tcG9uZW50Iik7cmV0dXJuIGV9ZnVuY3Rpb24gbChlKXt2YXIgdD0oMCxpLnRvVXRmOEJ5dGVzKSgoMCx1LmVuc19ub3JtYWxpemUpKGUpKSxyPVtdO2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gcjtmb3IodmFyIG49MCxvPTA7bzx0Lmxlbmd0aDtvKyspNDY9PT10W29dJiYoci5wdXNoKGQodC5zbGljZShuLG8pKSksbj1vKzEpO2lmKG4+PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBFTlMgbmFtZTsgZW1wdHkgY29tcG9uZW50Iik7cmV0dXJuIHIucHVzaChkKHQuc2xpY2UobikpKSxyfWYuZmlsbCgwKX0sMjE3MTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuVHlwZWREYXRhRW5jb2Rlcj12b2lkIDA7dmFyIGk9bihyKDIyNDcpKSxvPW4ocig5NzIxKSksYT1uKHIoODk4NSkpLHM9cig3OTIxKSx1PXIoNDk1MiksYz1yKDkwOCksZj1yKDQ2NDIpLGQ9cigzNjk0KSxsPXIoNDMyNyksaD1yKDM5ODkpLHA9cig3OTAxKSxiPW5ldyBsLkxvZ2dlcihoLnZlcnNpb24pLHk9bmV3IFVpbnQ4QXJyYXkoMzIpO3kuZmlsbCgwKTt2YXIgbT11LkJpZ051bWJlci5mcm9tKC0xKSx2PXUuQmlnTnVtYmVyLmZyb20oMCksZz11LkJpZ051bWJlci5mcm9tKDEpLHc9dS5CaWdOdW1iZXIuZnJvbSgiMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIiksQT0oMCxjLmhleFplcm9QYWQpKGcudG9IZXhTdHJpbmcoKSwzMiksaz0oMCxjLmhleFplcm9QYWQpKHYudG9IZXhTdHJpbmcoKSwzMiksXz17bmFtZToic3RyaW5nIix2ZXJzaW9uOiJzdHJpbmciLGNoYWluSWQ6InVpbnQyNTYiLHZlcmlmeWluZ0NvbnRyYWN0OiJhZGRyZXNzIixzYWx0OiJieXRlczMyIn0sUz1bIm5hbWUiLCJ2ZXJzaW9uIiwiY2hhaW5JZCIsInZlcmlmeWluZ0NvbnRyYWN0Iiwic2FsdCJdO2Z1bmN0aW9uIHgoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiJzdHJpbmciIT10eXBlb2YgdCYmYi50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZG9tYWluIHZhbHVlIGZvciAiLmNvbmNhdChKU09OLnN0cmluZ2lmeShlKSksImRvbWFpbi4iLmNvbmNhdChlKSx0KSx0fX12YXIgRT17bmFtZTp4KCJuYW1lIiksdmVyc2lvbjp4KCJ2ZXJzaW9uIiksY2hhaW5JZDpmdW5jdGlvbihlKXt0cnl7cmV0dXJuIHUuQmlnTnVtYmVyLmZyb20oZSkudG9TdHJpbmcoKX1jYXRjaChlKXt9cmV0dXJuIGIudGhyb3dBcmd1bWVudEVycm9yKCdpbnZhbGlkIGRvbWFpbiB2YWx1ZSBmb3IgImNoYWluSWQiJywiZG9tYWluLmNoYWluSWQiLGUpfSx2ZXJpZnlpbmdDb250cmFjdDpmdW5jdGlvbihlKXt0cnl7cmV0dXJuKDAscy5nZXRBZGRyZXNzKShlKS50b0xvd2VyQ2FzZSgpfWNhdGNoKGUpe31yZXR1cm4gYi50aHJvd0FyZ3VtZW50RXJyb3IoJ2ludmFsaWQgZG9tYWluIHZhbHVlICJ2ZXJpZnlpbmdDb250cmFjdCInLCJkb21haW4udmVyaWZ5aW5nQ29udHJhY3QiLGUpfSxzYWx0OmZ1bmN0aW9uKGUpe3RyeXt2YXIgdD0oMCxjLmFycmF5aWZ5KShlKTtpZigzMiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiYmFkIGxlbmd0aCIpO3JldHVybigwLGMuaGV4bGlmeSkodCl9Y2F0Y2goZSl7fXJldHVybiBiLnRocm93QXJndW1lbnRFcnJvcignaW52YWxpZCBkb21haW4gdmFsdWUgInNhbHQiJywiZG9tYWluLnNhbHQiLGUpfX07ZnVuY3Rpb24gUChlKXt2YXIgdD1lLm1hdGNoKC9eKHU/KWludChcZCopJC8pO2lmKHQpe3ZhciByPSIiPT09dFsxXSxuPXBhcnNlSW50KHRbMl18fCIyNTYiKTsobiU4IT0wfHxuPjI1Nnx8dFsyXSYmdFsyXSE9PVN0cmluZyhuKSkmJmIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIG51bWVyaWMgd2lkdGgiLCJ0eXBlIixlKTt2YXIgaT13Lm1hc2socj9uLTE6biksbz1yP2kuYWRkKGcpLm11bChtKTp2O3JldHVybiBmdW5jdGlvbih0KXt2YXIgcj11LkJpZ051bWJlci5mcm9tKHQpO3JldHVybihyLmx0KG8pfHxyLmd0KGkpKSYmYi50aHJvd0FyZ3VtZW50RXJyb3IoInZhbHVlIG91dC1vZi1ib3VuZHMgZm9yICIuY29uY2F0KGUpLCJ2YWx1ZSIsdCksKDAsYy5oZXhaZXJvUGFkKShyLnRvVHdvcygyNTYpLnRvSGV4U3RyaW5nKCksMzIpfX12YXIgYT1lLm1hdGNoKC9eYnl0ZXMoXGQrKSQvKTtpZihhKXt2YXIgZD1wYXJzZUludChhWzFdKTtyZXR1cm4oMD09PWR8fGQ+MzJ8fGFbMV0hPT1TdHJpbmcoZCkpJiZiLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBieXRlcyB3aWR0aCIsInR5cGUiLGUpLGZ1bmN0aW9uKHQpe3JldHVybigwLGMuYXJyYXlpZnkpKHQpLmxlbmd0aCE9PWQmJmIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGxlbmd0aCBmb3IgIi5jb25jYXQoZSksInZhbHVlIix0KSxmdW5jdGlvbihlKXt2YXIgdD0oMCxjLmFycmF5aWZ5KShlKSxyPXQubGVuZ3RoJTMyO3JldHVybiByPygwLGMuaGV4Q29uY2F0KShbdCx5LnNsaWNlKHIpXSk6KDAsYy5oZXhsaWZ5KSh0KX0odCl9fXN3aXRjaChlKXtjYXNlImFkZHJlc3MiOnJldHVybiBmdW5jdGlvbihlKXtyZXR1cm4oMCxjLmhleFplcm9QYWQpKCgwLHMuZ2V0QWRkcmVzcykoZSksMzIpfTtjYXNlImJvb2wiOnJldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZT9BOmt9O2Nhc2UiYnl0ZXMiOnJldHVybiBmdW5jdGlvbihlKXtyZXR1cm4oMCxmLmtlY2NhazI1NikoZSl9O2Nhc2Uic3RyaW5nIjpyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuKDAscC5pZCkoZSl9fXJldHVybiBudWxsfWZ1bmN0aW9uIE8oZSx0KXtyZXR1cm4iIi5jb25jYXQoZSwiKCIpLmNvbmNhdCh0Lm1hcCgoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5uYW1lO3JldHVybiBlLnR5cGUrIiAiK3R9KSkuam9pbigiLCIpLCIpIil9dmFyIEI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpeygwLG8uZGVmYXVsdCkodGhpcyxlKSwoMCxkLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJ0eXBlcyIsT2JqZWN0LmZyZWV6ZSgoMCxkLmRlZXBDb3B5KSh0KSkpLCgwLGQuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIl9lbmNvZGVyQ2FjaGUiLHt9KSwoMCxkLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJfdHlwZXMiLHt9KTt2YXIgcj17fSxuPXt9LGk9e307T2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cltlXT17fSxuW2VdPVtdLGlbZV09e319KSk7dmFyIGE9ZnVuY3Rpb24oZSl7dmFyIGk9e307dFtlXS5mb3JFYWNoKChmdW5jdGlvbihvKXtpW28ubmFtZV0mJmIudGhyb3dBcmd1bWVudEVycm9yKCJkdXBsaWNhdGUgdmFyaWFibGUgbmFtZSAiLmNvbmNhdChKU09OLnN0cmluZ2lmeShvLm5hbWUpLCIgaW4gIikuY29uY2F0KEpTT04uc3RyaW5naWZ5KGUpKSwidHlwZXMiLHQpLGlbby5uYW1lXT0hMDt2YXIgYT1vLnR5cGUubWF0Y2goL14oW15ceDViXSopKFx4NWJ8JCkvKVsxXTthPT09ZSYmYi50aHJvd0FyZ3VtZW50RXJyb3IoImNpcmN1bGFyIHR5cGUgcmVmZXJlbmNlIHRvICIuY29uY2F0KEpTT04uc3RyaW5naWZ5KGEpKSwidHlwZXMiLHQpLFAoYSl8fChuW2FdfHxiLnRocm93QXJndW1lbnRFcnJvcigidW5rbm93biB0eXBlICIuY29uY2F0KEpTT04uc3RyaW5naWZ5KGEpKSwidHlwZXMiLHQpLG5bYV0ucHVzaChlKSxyW2VdW2FdPSEwKX0pKX07Zm9yKHZhciBzIGluIHQpYShzKTt2YXIgdT1PYmplY3Qua2V5cyhuKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiAwPT09bltlXS5sZW5ndGh9KSk7Zm9yKHZhciBjIGluIDA9PT11Lmxlbmd0aD9iLnRocm93QXJndW1lbnRFcnJvcigibWlzc2luZyBwcmltYXJ5IHR5cGUiLCJ0eXBlcyIsdCk6dS5sZW5ndGg+MSYmYi50aHJvd0FyZ3VtZW50RXJyb3IoImFtYmlndW91cyBwcmltYXJ5IHR5cGVzIG9yIHVudXNlZCB0eXBlczogIi5jb25jYXQodS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShlKX0pKS5qb2luKCIsICIpKSwidHlwZXMiLHQpLCgwLGQuZGVmaW5lUmVhZE9ubHkpKHRoaXMsInByaW1hcnlUeXBlIix1WzBdKSxmdW5jdGlvbiBlKG8sYSl7YVtvXSYmYi50aHJvd0FyZ3VtZW50RXJyb3IoImNpcmN1bGFyIHR5cGUgcmVmZXJlbmNlIHRvICIuY29uY2F0KEpTT04uc3RyaW5naWZ5KG8pKSwidHlwZXMiLHQpLGFbb109ITAsT2JqZWN0LmtleXMocltvXSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7blt0XSYmKGUodCxhKSxPYmplY3Qua2V5cyhhKS5mb3JFYWNoKChmdW5jdGlvbihlKXtpW2VdW3RdPSEwfSkpKX0pKSxkZWxldGUgYVtvXX0odGhpcy5wcmltYXJ5VHlwZSx7fSksaSl7dmFyIGY9T2JqZWN0LmtleXMoaVtjXSk7Zi5zb3J0KCksdGhpcy5fdHlwZXNbY109TyhjLHRbY10pK2YubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gTyhlLHRbZV0pfSkpLmpvaW4oIiIpfX1yZXR1cm4oMCxhLmRlZmF1bHQpKGUsW3trZXk6ImdldEVuY29kZXIiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2VuY29kZXJDYWNoZVtlXTtyZXR1cm4gdHx8KHQ9dGhpcy5fZW5jb2RlckNhY2hlW2VdPXRoaXMuX2dldEVuY29kZXIoZSkpLHR9fSx7a2V5OiJfZ2V0RW5jb2RlciIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxyPVAoZSk7aWYocilyZXR1cm4gcjt2YXIgbj1lLm1hdGNoKC9eKC4qKShceDViKFxkKilceDVkKSQvKTtpZihuKXt2YXIgaT1uWzFdLG89dGhpcy5nZXRFbmNvZGVyKGkpLGE9cGFyc2VJbnQoblszXSk7cmV0dXJuIGZ1bmN0aW9uKGUpe2E+PTAmJmUubGVuZ3RoIT09YSYmYi50aHJvd0FyZ3VtZW50RXJyb3IoImFycmF5IGxlbmd0aCBtaXNtYXRjaDsgZXhwZWN0ZWQgbGVuZ3RoICR7IGFycmF5TGVuZ3RoIH0iLCJ2YWx1ZSIsZSk7dmFyIHI9ZS5tYXAobyk7cmV0dXJuIHQuX3R5cGVzW2ldJiYocj1yLm1hcChmLmtlY2NhazI1NikpLCgwLGYua2VjY2FrMjU2KSgoMCxjLmhleENvbmNhdCkocikpfX12YXIgcz10aGlzLnR5cGVzW2VdO2lmKHMpe3ZhciB1PSgwLHAuaWQpKHRoaXMuX3R5cGVzW2VdKTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHI9cy5tYXAoKGZ1bmN0aW9uKHIpe3ZhciBuPXIubmFtZSxpPXIudHlwZSxvPXQuZ2V0RW5jb2RlcihpKShlW25dKTtyZXR1cm4gdC5fdHlwZXNbaV0/KDAsZi5rZWNjYWsyNTYpKG8pOm99KSk7cmV0dXJuIHIudW5zaGlmdCh1KSwoMCxjLmhleENvbmNhdCkocil9fXJldHVybiBiLnRocm93QXJndW1lbnRFcnJvcigidW5rbm93biB0eXBlOiAiLmNvbmNhdChlKSwidHlwZSIsZSl9fSx7a2V5OiJlbmNvZGVUeXBlIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLl90eXBlc1tlXTtyZXR1cm4gdHx8Yi50aHJvd0FyZ3VtZW50RXJyb3IoInVua25vd24gdHlwZTogIi5jb25jYXQoSlNPTi5zdHJpbmdpZnkoZSkpLCJuYW1lIixlKSx0fX0se2tleToiZW5jb2RlRGF0YSIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5nZXRFbmNvZGVyKGUpKHQpfX0se2tleToiaGFzaFN0cnVjdCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCxmLmtlY2NhazI1NikodGhpcy5lbmNvZGVEYXRhKGUsdCkpfX0se2tleToiZW5jb2RlIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lbmNvZGVEYXRhKHRoaXMucHJpbWFyeVR5cGUsZSl9fSx7a2V5OiJoYXNoIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5oYXNoU3RydWN0KHRoaXMucHJpbWFyeVR5cGUsZSl9fSx7a2V5OiJfdmlzaXQiLHZhbHVlOmZ1bmN0aW9uKGUsdCxyKXt2YXIgbj10aGlzO2lmKFAoZSkpcmV0dXJuIHIoZSx0KTt2YXIgaT1lLm1hdGNoKC9eKC4qKShceDViKFxkKilceDVkKSQvKTtpZihpKXt2YXIgbz1pWzFdLGE9cGFyc2VJbnQoaVszXSk7cmV0dXJuIGE+PTAmJnQubGVuZ3RoIT09YSYmYi50aHJvd0FyZ3VtZW50RXJyb3IoImFycmF5IGxlbmd0aCBtaXNtYXRjaDsgZXhwZWN0ZWQgbGVuZ3RoICR7IGFycmF5TGVuZ3RoIH0iLCJ2YWx1ZSIsdCksdC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBuLl92aXNpdChvLGUscil9KSl9dmFyIHM9dGhpcy50eXBlc1tlXTtyZXR1cm4gcz9zLnJlZHVjZSgoZnVuY3Rpb24oZSxpKXt2YXIgbz1pLm5hbWUsYT1pLnR5cGU7cmV0dXJuIGVbb109bi5fdmlzaXQoYSx0W29dLHIpLGV9KSx7fSk6Yi50aHJvd0FyZ3VtZW50RXJyb3IoInVua25vd24gdHlwZTogIi5jb25jYXQoZSksInR5cGUiLGUpfX0se2tleToidmlzaXQiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX3Zpc2l0KHRoaXMucHJpbWFyeVR5cGUsZSx0KX19XSxbe2tleToiZnJvbSIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBlKHQpfX0se2tleToiZ2V0UHJpbWFyeVR5cGUiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiBlLmZyb20odCkucHJpbWFyeVR5cGV9fSx7a2V5OiJoYXNoU3RydWN0Iix2YWx1ZTpmdW5jdGlvbih0LHIsbil7cmV0dXJuIGUuZnJvbShyKS5oYXNoU3RydWN0KHQsbil9fSx7a2V5OiJoYXNoRG9tYWluIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgcj1bXTtmb3IodmFyIG4gaW4gdCl7dmFyIGk9X1tuXTtpfHxiLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCB0eXBlZC1kYXRhIGRvbWFpbiBrZXk6ICIuY29uY2F0KEpTT04uc3RyaW5naWZ5KG4pKSwiZG9tYWluIix0KSxyLnB1c2goe25hbWU6bix0eXBlOml9KX1yZXR1cm4gci5zb3J0KChmdW5jdGlvbihlLHQpe3JldHVybiBTLmluZGV4T2YoZS5uYW1lKS1TLmluZGV4T2YodC5uYW1lKX0pKSxlLmhhc2hTdHJ1Y3QoIkVJUDcxMkRvbWFpbiIse0VJUDcxMkRvbWFpbjpyfSx0KX19LHtrZXk6ImVuY29kZSIsdmFsdWU6ZnVuY3Rpb24odCxyLG4pe3JldHVybigwLGMuaGV4Q29uY2F0KShbIjB4MTkwMSIsZS5oYXNoRG9tYWluKHQpLGUuZnJvbShyKS5oYXNoKG4pXSl9fSx7a2V5OiJoYXNoIix2YWx1ZTpmdW5jdGlvbih0LHIsbil7cmV0dXJuKDAsZi5rZWNjYWsyNTYpKGUuZW5jb2RlKHQscixuKSl9fSx7a2V5OiJyZXNvbHZlTmFtZXMiLHZhbHVlOmZ1bmN0aW9uKHQscixuLG8pe3JldHVybiBhPXRoaXMscz12b2lkIDAsdT12b2lkIDAsZj1pLmRlZmF1bHQubWFyaygoZnVuY3Rpb24gYSgpe3ZhciBzLHUsZjtyZXR1cm4gaS5kZWZhdWx0LndyYXAoKGZ1bmN0aW9uKGEpe2Zvcig7Oylzd2l0Y2goYS5wcmV2PWEubmV4dCl7Y2FzZSAwOnQ9KDAsZC5zaGFsbG93Q29weSkodCkscz17fSx0LnZlcmlmeWluZ0NvbnRyYWN0JiYhKDAsYy5pc0hleFN0cmluZykodC52ZXJpZnlpbmdDb250cmFjdCwyMCkmJihzW3QudmVyaWZ5aW5nQ29udHJhY3RdPSIweCIpLCh1PWUuZnJvbShyKSkudmlzaXQobiwoZnVuY3Rpb24oZSx0KXtyZXR1cm4iYWRkcmVzcyIhPT1lfHwoMCxjLmlzSGV4U3RyaW5nKSh0LDIwKXx8KHNbdF09IjB4IiksdH0pKSxhLnQwPWkuZGVmYXVsdC5rZXlzKHMpO2Nhc2UgNjppZigoYS50MT1hLnQwKCkpLmRvbmUpe2EubmV4dD0xMzticmVha31yZXR1cm4gZj1hLnQxLnZhbHVlLGEubmV4dD0xMCxvKGYpO2Nhc2UgMTA6c1tmXT1hLnNlbnQsYS5uZXh0PTY7YnJlYWs7Y2FzZSAxMzpyZXR1cm4gdC52ZXJpZnlpbmdDb250cmFjdCYmc1t0LnZlcmlmeWluZ0NvbnRyYWN0XSYmKHQudmVyaWZ5aW5nQ29udHJhY3Q9c1t0LnZlcmlmeWluZ0NvbnRyYWN0XSksbj11LnZpc2l0KG4sKGZ1bmN0aW9uKGUsdCl7cmV0dXJuImFkZHJlc3MiPT09ZSYmc1t0XT9zW3RdOnR9KSksYS5hYnJ1cHQoInJldHVybiIse2RvbWFpbjp0LHZhbHVlOm59KTtjYXNlIDE2OmNhc2UiZW5kIjpyZXR1cm4gYS5zdG9wKCl9fSksYSl9KSksbmV3KHV8fCh1PVByb21pc2UpKSgoZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiByKGUpe3RyeXtpKGYubmV4dChlKSl9Y2F0Y2goZSl7dChlKX19ZnVuY3Rpb24gbihlKXt0cnl7aShmLnRocm93KGUpKX1jYXRjaChlKXt0KGUpfX1mdW5jdGlvbiBpKHQpe3ZhciBpO3QuZG9uZT9lKHQudmFsdWUpOihpPXQudmFsdWUsaSBpbnN0YW5jZW9mIHU/aTpuZXcgdSgoZnVuY3Rpb24oZSl7ZShpKX0pKSkudGhlbihyLG4pfWkoKGY9Zi5hcHBseShhLHN8fFtdKSkubmV4dCgpKX0pKTt2YXIgYSxzLHUsZn19LHtrZXk6ImdldFBheWxvYWQiLHZhbHVlOmZ1bmN0aW9uKHQscixuKXtlLmhhc2hEb21haW4odCk7dmFyIGk9e30sbz1bXTtTLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciByPXRbZV07bnVsbCE9ciYmKGlbZV09RVtlXShyKSxvLnB1c2goe25hbWU6ZSx0eXBlOl9bZV19KSl9KSk7dmFyIGE9ZS5mcm9tKHIpLHM9KDAsZC5zaGFsbG93Q29weSkocik7cmV0dXJuIHMuRUlQNzEyRG9tYWluP2IudGhyb3dBcmd1bWVudEVycm9yKCJ0eXBlcyBtdXN0IG5vdCBjb250YWluIEVJUDcxMkRvbWFpbiB0eXBlIiwidHlwZXMuRUlQNzEyRG9tYWluIixyKTpzLkVJUDcxMkRvbWFpbj1vLGEuZW5jb2RlKG4pLHt0eXBlczpzLGRvbWFpbjppLHByaW1hcnlUeXBlOmEucHJpbWFyeVR5cGUsbWVzc2FnZTphLnZpc2l0KG4sKGZ1bmN0aW9uKGUsdCl7aWYoZS5tYXRjaCgvXmJ5dGVzKFxkKikvKSlyZXR1cm4oMCxjLmhleGxpZnkpKCgwLGMuYXJyYXlpZnkpKHQpKTtpZihlLm1hdGNoKC9edT9pbnQvKSlyZXR1cm4gdS5CaWdOdW1iZXIuZnJvbSh0KS50b1N0cmluZygpO3N3aXRjaChlKXtjYXNlImFkZHJlc3MiOnJldHVybiB0LnRvTG93ZXJDYXNlKCk7Y2FzZSJib29sIjpyZXR1cm4hIXQ7Y2FzZSJzdHJpbmciOnJldHVybiJzdHJpbmciIT10eXBlb2YgdCYmYi50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgc3RyaW5nIiwidmFsdWUiLHQpLHR9cmV0dXJuIGIudGhyb3dBcmd1bWVudEVycm9yKCJ1bnN1cHBvcnRlZCB0eXBlIiwidHlwZSIsZSl9KSl9fX1dKSxlfSgpO3QuVHlwZWREYXRhRW5jb2Rlcj1CfSw0NjQyOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5rZWNjYWsyNTY9ZnVuY3Rpb24oZSl7cmV0dXJuIjB4IitpLmRlZmF1bHQua2VjY2FrXzI1NigoMCxvLmFycmF5aWZ5KShlKSl9O3ZhciBpPW4ocig1OTc1KSksbz1yKDkwOCl9LDU5NzU6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtlPXIubm1kKGUpO3ZhciBuLGk9cig5MTQyKSxvPXIoODg0NykocigzMzU1KSk7IWZ1bmN0aW9uKCl7dmFyIGE9ImlucHV0IGlzIGludmFsaWQgdHlwZSIscz0ib2JqZWN0Ij09PSgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz8idW5kZWZpbmVkIjooMCxvLmRlZmF1bHQpKHdpbmRvdykpLHU9cz93aW5kb3c6e307dS5KU19TSEEzX05PX1dJTkRPVyYmKHM9ITEpO3ZhciBjPSFzJiYib2JqZWN0Ij09PSgidW5kZWZpbmVkIj09dHlwZW9mIHNlbGY/InVuZGVmaW5lZCI6KDAsby5kZWZhdWx0KShzZWxmKSk7IXUuSlNfU0hBM19OT19OT0RFX0pTJiYib2JqZWN0Ij09PSh2b2lkIDA9PT1pPyJ1bmRlZmluZWQiOigwLG8uZGVmYXVsdCkoaSkpJiZpLnZlcnNpb25zJiZpLnZlcnNpb25zLm5vZGU/dT1yLmc6YyYmKHU9c2VsZik7dmFyIGY9IXUuSlNfU0hBM19OT19DT01NT05fSlMmJiJvYmplY3QiPT09KDAsby5kZWZhdWx0KShlKSYmZS5leHBvcnRzLGQ9ci5hbWRPLGw9IXUuSlNfU0hBM19OT19BUlJBWV9CVUZGRVImJiJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXIsaD0iMDEyMzQ1Njc4OWFiY2RlZiIuc3BsaXQoIiIpLHA9WzQsMTAyNCwyNjIxNDQsNjcxMDg4NjRdLGI9WzAsOCwxNiwyNF0seT1bMSwwLDMyODk4LDAsMzI5MDYsMjE0NzQ4MzY0OCwyMTQ3NTE2NDE2LDIxNDc0ODM2NDgsMzI5MDcsMCwyMTQ3NDgzNjQ5LDAsMjE0NzUxNjU0NSwyMTQ3NDgzNjQ4LDMyNzc3LDIxNDc0ODM2NDgsMTM4LDAsMTM2LDAsMjE0NzUxNjQyNSwwLDIxNDc0ODM2NTgsMCwyMTQ3NTE2NTU1LDAsMTM5LDIxNDc0ODM2NDgsMzI5MDUsMjE0NzQ4MzY0OCwzMjc3MSwyMTQ3NDgzNjQ4LDMyNzcwLDIxNDc0ODM2NDgsMTI4LDIxNDc0ODM2NDgsMzI3NzgsMCwyMTQ3NDgzNjU4LDIxNDc0ODM2NDgsMjE0NzUxNjU0NSwyMTQ3NDgzNjQ4LDMyODk2LDIxNDc0ODM2NDgsMjE0NzQ4MzY0OSwwLDIxNDc1MTY0MjQsMjE0NzQ4MzY0OF0sbT1bMjI0LDI1NiwzODQsNTEyXSx2PVsxMjgsMjU2XSxnPVsiaGV4IiwiYnVmZmVyIiwiYXJyYXlCdWZmZXIiLCJhcnJheSIsImRpZ2VzdCJdLHc9ezEyODoxNjgsMjU2OjEzNn07IXUuSlNfU0hBM19OT19OT0RFX0pTJiZBcnJheS5pc0FycmF5fHwoQXJyYXkuaXNBcnJheT1mdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfSksIWx8fCF1LkpTX1NIQTNfTk9fQVJSQVlfQlVGRkVSX0lTX1ZJRVcmJkFycmF5QnVmZmVyLmlzVmlld3x8KEFycmF5QnVmZmVyLmlzVmlldz1mdW5jdGlvbihlKXtyZXR1cm4ib2JqZWN0Ij09PSgwLG8uZGVmYXVsdCkoZSkmJmUuYnVmZmVyJiZlLmJ1ZmZlci5jb25zdHJ1Y3Rvcj09PUFycmF5QnVmZmVyfSk7Zm9yKHZhciBBPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG5ldyBqKGUsdCxlKS51cGRhdGUobilbcl0oKX19LGs9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBmdW5jdGlvbihuLGkpe3JldHVybiBuZXcgaihlLHQsaSkudXBkYXRlKG4pW3JdKCl9fSxfPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZnVuY3Rpb24odCxuLGksbyl7cmV0dXJuIE9bImNzaGFrZSIrZV0udXBkYXRlKHQsbixpLG8pW3JdKCl9fSxTPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZnVuY3Rpb24odCxuLGksbyl7cmV0dXJuIE9bImttYWMiK2VdLnVwZGF0ZSh0LG4saSxvKVtyXSgpfX0seD1mdW5jdGlvbihlLHQscixuKXtmb3IodmFyIGk9MDtpPGcubGVuZ3RoOysraSl7dmFyIG89Z1tpXTtlW29dPXQocixuLG8pfXJldHVybiBlfSxFPWZ1bmN0aW9uKGUsdCl7dmFyIHI9QShlLHQsImhleCIpO3JldHVybiByLmNyZWF0ZT1mdW5jdGlvbigpe3JldHVybiBuZXcgaihlLHQsZSl9LHIudXBkYXRlPWZ1bmN0aW9uKGUpe3JldHVybiByLmNyZWF0ZSgpLnVwZGF0ZShlKX0seChyLEEsZSx0KX0sUD1be25hbWU6ImtlY2NhayIscGFkZGluZzpbMSwyNTYsNjU1MzYsMTY3NzcyMTZdLGJpdHM6bSxjcmVhdGVNZXRob2Q6RX0se25hbWU6InNoYTMiLHBhZGRpbmc6WzYsMTUzNiwzOTMyMTYsMTAwNjYzMjk2XSxiaXRzOm0sY3JlYXRlTWV0aG9kOkV9LHtuYW1lOiJzaGFrZSIscGFkZGluZzpbMzEsNzkzNiwyMDMxNjE2LDUyMDA5MzY5Nl0sYml0czp2LGNyZWF0ZU1ldGhvZDpmdW5jdGlvbihlLHQpe3ZhciByPWsoZSx0LCJoZXgiKTtyZXR1cm4gci5jcmVhdGU9ZnVuY3Rpb24ocil7cmV0dXJuIG5ldyBqKGUsdCxyKX0sci51cGRhdGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gci5jcmVhdGUodCkudXBkYXRlKGUpfSx4KHIsayxlLHQpfX0se25hbWU6ImNzaGFrZSIscGFkZGluZzpwLGJpdHM6dixjcmVhdGVNZXRob2Q6ZnVuY3Rpb24oZSx0KXt2YXIgcj13W2VdLG49XyhlLDAsImhleCIpO3JldHVybiBuLmNyZWF0ZT1mdW5jdGlvbihuLGksbyl7cmV0dXJuIGl8fG8/bmV3IGooZSx0LG4pLmJ5dGVwYWQoW2ksb10scik6T1sic2hha2UiK2VdLmNyZWF0ZShuKX0sbi51cGRhdGU9ZnVuY3Rpb24oZSx0LHIsaSl7cmV0dXJuIG4uY3JlYXRlKHQscixpKS51cGRhdGUoZSl9LHgobixfLGUsdCl9fSx7bmFtZToia21hYyIscGFkZGluZzpwLGJpdHM6dixjcmVhdGVNZXRob2Q6ZnVuY3Rpb24oZSx0KXt2YXIgcj13W2VdLG49UyhlLDAsImhleCIpO3JldHVybiBuLmNyZWF0ZT1mdW5jdGlvbihuLGksbyl7cmV0dXJuIG5ldyBOKGUsdCxpKS5ieXRlcGFkKFsiS01BQyIsb10scikuYnl0ZXBhZChbbl0scil9LG4udXBkYXRlPWZ1bmN0aW9uKGUsdCxyLGkpe3JldHVybiBuLmNyZWF0ZShlLHIsaSkudXBkYXRlKHQpfSx4KG4sUyxlLHQpfX1dLE89e30sQj1bXSxUPTA7VDxQLmxlbmd0aDsrK1QpZm9yKHZhciBDPVBbVF0sST1DLmJpdHMsTT0wO008SS5sZW5ndGg7KytNKXt2YXIgVT1DLm5hbWUrIl8iK0lbTV07aWYoQi5wdXNoKFUpLE9bVV09Qy5jcmVhdGVNZXRob2QoSVtNXSxDLnBhZGRpbmcpLCJzaGEzIiE9PUMubmFtZSl7dmFyIFI9Qy5uYW1lK0lbTV07Qi5wdXNoKFIpLE9bUl09T1tVXX19ZnVuY3Rpb24gaihlLHQscil7dGhpcy5ibG9ja3M9W10sdGhpcy5zPVtdLHRoaXMucGFkZGluZz10LHRoaXMub3V0cHV0Qml0cz1yLHRoaXMucmVzZXQ9ITAsdGhpcy5maW5hbGl6ZWQ9ITEsdGhpcy5ibG9jaz0wLHRoaXMuc3RhcnQ9MCx0aGlzLmJsb2NrQ291bnQ9MTYwMC0oZTw8MSk+PjUsdGhpcy5ieXRlQ291bnQ9dGhpcy5ibG9ja0NvdW50PDwyLHRoaXMub3V0cHV0QmxvY2tzPXI+PjUsdGhpcy5leHRyYUJ5dGVzPSgzMSZyKT4+Mztmb3IodmFyIG49MDtuPDUwOysrbil0aGlzLnNbbl09MH1mdW5jdGlvbiBOKGUsdCxyKXtqLmNhbGwodGhpcyxlLHQscil9ai5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGUpe2lmKHRoaXMuZmluYWxpemVkKXRocm93IG5ldyBFcnJvcigiZmluYWxpemUgYWxyZWFkeSBjYWxsZWQiKTt2YXIgdCxyPSgwLG8uZGVmYXVsdCkoZSk7aWYoInN0cmluZyIhPT1yKXtpZigib2JqZWN0IiE9PXIpdGhyb3cgbmV3IEVycm9yKGEpO2lmKG51bGw9PT1lKXRocm93IG5ldyBFcnJvcihhKTtpZihsJiZlLmNvbnN0cnVjdG9yPT09QXJyYXlCdWZmZXIpZT1uZXcgVWludDhBcnJheShlKTtlbHNlIGlmKCEoQXJyYXkuaXNBcnJheShlKXx8bCYmQXJyYXlCdWZmZXIuaXNWaWV3KGUpKSl0aHJvdyBuZXcgRXJyb3IoYSk7dD0hMH1mb3IodmFyIG4saSxzPXRoaXMuYmxvY2tzLHU9dGhpcy5ieXRlQ291bnQsYz1lLmxlbmd0aCxmPXRoaXMuYmxvY2tDb3VudCxkPTAsaD10aGlzLnM7ZDxjOyl7aWYodGhpcy5yZXNldClmb3IodGhpcy5yZXNldD0hMSxzWzBdPXRoaXMuYmxvY2ssbj0xO248ZisxOysrbilzW25dPTA7aWYodClmb3Iobj10aGlzLnN0YXJ0O2Q8YyYmbjx1OysrZClzW24+PjJdfD1lW2RdPDxiWzMmbisrXTtlbHNlIGZvcihuPXRoaXMuc3RhcnQ7ZDxjJiZuPHU7KytkKShpPWUuY2hhckNvZGVBdChkKSk8MTI4P3Nbbj4+Ml18PWk8PGJbMyZuKytdOmk8MjA0OD8oc1tuPj4yXXw9KDE5MnxpPj42KTw8YlszJm4rK10sc1tuPj4yXXw9KDEyOHw2MyZpKTw8YlszJm4rK10pOmk8NTUyOTZ8fGk+PTU3MzQ0PyhzW24+PjJdfD0oMjI0fGk+PjEyKTw8YlszJm4rK10sc1tuPj4yXXw9KDEyOHxpPj42JjYzKTw8YlszJm4rK10sc1tuPj4yXXw9KDEyOHw2MyZpKTw8YlszJm4rK10pOihpPTY1NTM2KygoMTAyMyZpKTw8MTB8MTAyMyZlLmNoYXJDb2RlQXQoKytkKSksc1tuPj4yXXw9KDI0MHxpPj4xOCk8PGJbMyZuKytdLHNbbj4+Ml18PSgxMjh8aT4+MTImNjMpPDxiWzMmbisrXSxzW24+PjJdfD0oMTI4fGk+PjYmNjMpPDxiWzMmbisrXSxzW24+PjJdfD0oMTI4fDYzJmkpPDxiWzMmbisrXSk7aWYodGhpcy5sYXN0Qnl0ZUluZGV4PW4sbj49dSl7Zm9yKHRoaXMuc3RhcnQ9bi11LHRoaXMuYmxvY2s9c1tmXSxuPTA7bjxmOysrbiloW25dXj1zW25dO0YoaCksdGhpcy5yZXNldD0hMH1lbHNlIHRoaXMuc3RhcnQ9bn1yZXR1cm4gdGhpc30sai5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKGUsdCl7dmFyIHI9MjU1JmUsbj0xLGk9W3JdO2ZvcihyPTI1NSYoZT4+PTgpO3I+MDspaS51bnNoaWZ0KHIpLHI9MjU1JihlPj49OCksKytuO3JldHVybiB0P2kucHVzaChuKTppLnVuc2hpZnQobiksdGhpcy51cGRhdGUoaSksaS5sZW5ndGh9LGoucHJvdG90eXBlLmVuY29kZVN0cmluZz1mdW5jdGlvbihlKXt2YXIgdCxyPSgwLG8uZGVmYXVsdCkoZSk7aWYoInN0cmluZyIhPT1yKXtpZigib2JqZWN0IiE9PXIpdGhyb3cgbmV3IEVycm9yKGEpO2lmKG51bGw9PT1lKXRocm93IG5ldyBFcnJvcihhKTtpZihsJiZlLmNvbnN0cnVjdG9yPT09QXJyYXlCdWZmZXIpZT1uZXcgVWludDhBcnJheShlKTtlbHNlIGlmKCEoQXJyYXkuaXNBcnJheShlKXx8bCYmQXJyYXlCdWZmZXIuaXNWaWV3KGUpKSl0aHJvdyBuZXcgRXJyb3IoYSk7dD0hMH12YXIgbj0wLGk9ZS5sZW5ndGg7aWYodCluPWk7ZWxzZSBmb3IodmFyIHM9MDtzPGUubGVuZ3RoOysrcyl7dmFyIHU9ZS5jaGFyQ29kZUF0KHMpO3U8MTI4P24rPTE6dTwyMDQ4P24rPTI6dTw1NTI5Nnx8dT49NTczNDQ/bis9MzoodT02NTUzNisoKDEwMjMmdSk8PDEwfDEwMjMmZS5jaGFyQ29kZUF0KCsrcykpLG4rPTQpfXJldHVybiBuKz10aGlzLmVuY29kZSg4Km4pLHRoaXMudXBkYXRlKGUpLG59LGoucHJvdG90eXBlLmJ5dGVwYWQ9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9dGhpcy5lbmNvZGUodCksbj0wO248ZS5sZW5ndGg7KytuKXIrPXRoaXMuZW5jb2RlU3RyaW5nKGVbbl0pO3ZhciBpPXQtciV0LG89W107cmV0dXJuIG8ubGVuZ3RoPWksdGhpcy51cGRhdGUobyksdGhpc30sai5wcm90b3R5cGUuZmluYWxpemU9ZnVuY3Rpb24oKXtpZighdGhpcy5maW5hbGl6ZWQpe3RoaXMuZmluYWxpemVkPSEwO3ZhciBlPXRoaXMuYmxvY2tzLHQ9dGhpcy5sYXN0Qnl0ZUluZGV4LHI9dGhpcy5ibG9ja0NvdW50LG49dGhpcy5zO2lmKGVbdD4+Ml18PXRoaXMucGFkZGluZ1szJnRdLHRoaXMubGFzdEJ5dGVJbmRleD09PXRoaXMuYnl0ZUNvdW50KWZvcihlWzBdPWVbcl0sdD0xO3Q8cisxOysrdCllW3RdPTA7Zm9yKGVbci0xXXw9MjE0NzQ4MzY0OCx0PTA7dDxyOysrdCluW3RdXj1lW3RdO0Yobil9fSxqLnByb3RvdHlwZS50b1N0cmluZz1qLnByb3RvdHlwZS5oZXg9ZnVuY3Rpb24oKXt0aGlzLmZpbmFsaXplKCk7Zm9yKHZhciBlLHQ9dGhpcy5ibG9ja0NvdW50LHI9dGhpcy5zLG49dGhpcy5vdXRwdXRCbG9ja3MsaT10aGlzLmV4dHJhQnl0ZXMsbz0wLGE9MCxzPSIiO2E8bjspe2ZvcihvPTA7bzx0JiZhPG47KytvLCsrYSllPXJbb10scys9aFtlPj40JjE1XStoWzE1JmVdK2hbZT4+MTImMTVdK2hbZT4+OCYxNV0raFtlPj4yMCYxNV0raFtlPj4xNiYxNV0raFtlPj4yOCYxNV0raFtlPj4yNCYxNV07YSV0PT0wJiYoRihyKSxvPTApfXJldHVybiBpJiYoZT1yW29dLHMrPWhbZT4+NCYxNV0raFsxNSZlXSxpPjEmJihzKz1oW2U+PjEyJjE1XStoW2U+PjgmMTVdKSxpPjImJihzKz1oW2U+PjIwJjE1XStoW2U+PjE2JjE1XSkpLHN9LGoucHJvdG90eXBlLmFycmF5QnVmZmVyPWZ1bmN0aW9uKCl7dGhpcy5maW5hbGl6ZSgpO3ZhciBlLHQ9dGhpcy5ibG9ja0NvdW50LHI9dGhpcy5zLG49dGhpcy5vdXRwdXRCbG9ja3MsaT10aGlzLmV4dHJhQnl0ZXMsbz0wLGE9MCxzPXRoaXMub3V0cHV0Qml0cz4+MztlPWk/bmV3IEFycmF5QnVmZmVyKG4rMTw8Mik6bmV3IEFycmF5QnVmZmVyKHMpO2Zvcih2YXIgdT1uZXcgVWludDMyQXJyYXkoZSk7YTxuOyl7Zm9yKG89MDtvPHQmJmE8bjsrK28sKythKXVbYV09cltvXTthJXQ9PTAmJkYocil9cmV0dXJuIGkmJih1W29dPXJbb10sZT1lLnNsaWNlKDAscykpLGV9LGoucHJvdG90eXBlLmJ1ZmZlcj1qLnByb3RvdHlwZS5hcnJheUJ1ZmZlcixqLnByb3RvdHlwZS5kaWdlc3Q9ai5wcm90b3R5cGUuYXJyYXk9ZnVuY3Rpb24oKXt0aGlzLmZpbmFsaXplKCk7Zm9yKHZhciBlLHQscj10aGlzLmJsb2NrQ291bnQsbj10aGlzLnMsaT10aGlzLm91dHB1dEJsb2NrcyxvPXRoaXMuZXh0cmFCeXRlcyxhPTAscz0wLHU9W107czxpOyl7Zm9yKGE9MDthPHImJnM8aTsrK2EsKytzKWU9czw8Mix0PW5bYV0sdVtlXT0yNTUmdCx1W2UrMV09dD4+OCYyNTUsdVtlKzJdPXQ+PjE2JjI1NSx1W2UrM109dD4+MjQmMjU1O3Mlcj09MCYmRihuKX1yZXR1cm4gbyYmKGU9czw8Mix0PW5bYV0sdVtlXT0yNTUmdCxvPjEmJih1W2UrMV09dD4+OCYyNTUpLG8+MiYmKHVbZSsyXT10Pj4xNiYyNTUpKSx1fSxOLnByb3RvdHlwZT1uZXcgaixOLnByb3RvdHlwZS5maW5hbGl6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVuY29kZSh0aGlzLm91dHB1dEJpdHMsITApLGoucHJvdG90eXBlLmZpbmFsaXplLmNhbGwodGhpcyl9O3ZhciBGPWZ1bmN0aW9uKGUpe3ZhciB0LHIsbixpLG8sYSxzLHUsYyxmLGQsbCxoLHAsYixtLHYsZyx3LEEsayxfLFMseCxFLFAsTyxCLFQsQyxJLE0sVSxSLGosTixGLEwsRCxILHEseixHLEssVixKLFcsWSxYLFEsWiwkLGVlLHRlLHJlLG5lLGllLG9lLGFlLHNlLHVlLGNlLGZlO2ZvcihuPTA7bjw0ODtuKz0yKWk9ZVswXV5lWzEwXV5lWzIwXV5lWzMwXV5lWzQwXSxvPWVbMV1eZVsxMV1eZVsyMV1eZVszMV1eZVs0MV0sYT1lWzJdXmVbMTJdXmVbMjJdXmVbMzJdXmVbNDJdLHM9ZVszXV5lWzEzXV5lWzIzXV5lWzMzXV5lWzQzXSx1PWVbNF1eZVsxNF1eZVsyNF1eZVszNF1eZVs0NF0sYz1lWzVdXmVbMTVdXmVbMjVdXmVbMzVdXmVbNDVdLGY9ZVs2XV5lWzE2XV5lWzI2XV5lWzM2XV5lWzQ2XSxkPWVbN11eZVsxN11eZVsyN11eZVszN11eZVs0N10sdD0obD1lWzhdXmVbMThdXmVbMjhdXmVbMzhdXmVbNDhdKV4oYTw8MXxzPj4+MzEpLHI9KGg9ZVs5XV5lWzE5XV5lWzI5XV5lWzM5XV5lWzQ5XSleKHM8PDF8YT4+PjMxKSxlWzBdXj10LGVbMV1ePXIsZVsxMF1ePXQsZVsxMV1ePXIsZVsyMF1ePXQsZVsyMV1ePXIsZVszMF1ePXQsZVszMV1ePXIsZVs0MF1ePXQsZVs0MV1ePXIsdD1pXih1PDwxfGM+Pj4zMSkscj1vXihjPDwxfHU+Pj4zMSksZVsyXV49dCxlWzNdXj1yLGVbMTJdXj10LGVbMTNdXj1yLGVbMjJdXj10LGVbMjNdXj1yLGVbMzJdXj10LGVbMzNdXj1yLGVbNDJdXj10LGVbNDNdXj1yLHQ9YV4oZjw8MXxkPj4+MzEpLHI9c14oZDw8MXxmPj4+MzEpLGVbNF1ePXQsZVs1XV49cixlWzE0XV49dCxlWzE1XV49cixlWzI0XV49dCxlWzI1XV49cixlWzM0XV49dCxlWzM1XV49cixlWzQ0XV49dCxlWzQ1XV49cix0PXVeKGw8PDF8aD4+PjMxKSxyPWNeKGg8PDF8bD4+PjMxKSxlWzZdXj10LGVbN11ePXIsZVsxNl1ePXQsZVsxN11ePXIsZVsyNl1ePXQsZVsyN11ePXIsZVszNl1ePXQsZVszN11ePXIsZVs0Nl1ePXQsZVs0N11ePXIsdD1mXihpPDwxfG8+Pj4zMSkscj1kXihvPDwxfGk+Pj4zMSksZVs4XV49dCxlWzldXj1yLGVbMThdXj10LGVbMTldXj1yLGVbMjhdXj10LGVbMjldXj1yLGVbMzhdXj10LGVbMzldXj1yLGVbNDhdXj10LGVbNDldXj1yLHA9ZVswXSxiPWVbMV0sSj1lWzExXTw8NHxlWzEwXT4+PjI4LFc9ZVsxMF08PDR8ZVsxMV0+Pj4yOCxCPWVbMjBdPDwzfGVbMjFdPj4+MjksVD1lWzIxXTw8M3xlWzIwXT4+PjI5LHNlPWVbMzFdPDw5fGVbMzBdPj4+MjMsdWU9ZVszMF08PDl8ZVszMV0+Pj4yMyx6PWVbNDBdPDwxOHxlWzQxXT4+PjE0LEc9ZVs0MV08PDE4fGVbNDBdPj4+MTQsUj1lWzJdPDwxfGVbM10+Pj4zMSxqPWVbM108PDF8ZVsyXT4+PjMxLG09ZVsxM108PDEyfGVbMTJdPj4+MjAsdj1lWzEyXTw8MTJ8ZVsxM10+Pj4yMCxZPWVbMjJdPDwxMHxlWzIzXT4+PjIyLFg9ZVsyM108PDEwfGVbMjJdPj4+MjIsQz1lWzMzXTw8MTN8ZVszMl0+Pj4xOSxJPWVbMzJdPDwxM3xlWzMzXT4+PjE5LGNlPWVbNDJdPDwyfGVbNDNdPj4+MzAsZmU9ZVs0M108PDJ8ZVs0Ml0+Pj4zMCx0ZT1lWzVdPDwzMHxlWzRdPj4+MixyZT1lWzRdPDwzMHxlWzVdPj4+MixOPWVbMTRdPDw2fGVbMTVdPj4+MjYsRj1lWzE1XTw8NnxlWzE0XT4+PjI2LGc9ZVsyNV08PDExfGVbMjRdPj4+MjEsdz1lWzI0XTw8MTF8ZVsyNV0+Pj4yMSxRPWVbMzRdPDwxNXxlWzM1XT4+PjE3LFo9ZVszNV08PDE1fGVbMzRdPj4+MTcsTT1lWzQ1XTw8Mjl8ZVs0NF0+Pj4zLFU9ZVs0NF08PDI5fGVbNDVdPj4+Myx4PWVbNl08PDI4fGVbN10+Pj40LEU9ZVs3XTw8Mjh8ZVs2XT4+PjQsbmU9ZVsxN108PDIzfGVbMTZdPj4+OSxpZT1lWzE2XTw8MjN8ZVsxN10+Pj45LEw9ZVsyNl08PDI1fGVbMjddPj4+NyxEPWVbMjddPDwyNXxlWzI2XT4+PjcsQT1lWzM2XTw8MjF8ZVszN10+Pj4xMSxrPWVbMzddPDwyMXxlWzM2XT4+PjExLCQ9ZVs0N108PDI0fGVbNDZdPj4+OCxlZT1lWzQ2XTw8MjR8ZVs0N10+Pj44LEs9ZVs4XTw8Mjd8ZVs5XT4+PjUsVj1lWzldPDwyN3xlWzhdPj4+NSxQPWVbMThdPDwyMHxlWzE5XT4+PjEyLE89ZVsxOV08PDIwfGVbMThdPj4+MTIsb2U9ZVsyOV08PDd8ZVsyOF0+Pj4yNSxhZT1lWzI4XTw8N3xlWzI5XT4+PjI1LEg9ZVszOF08PDh8ZVszOV0+Pj4yNCxxPWVbMzldPDw4fGVbMzhdPj4+MjQsXz1lWzQ4XTw8MTR8ZVs0OV0+Pj4xOCxTPWVbNDldPDwxNHxlWzQ4XT4+PjE4LGVbMF09cF5+bSZnLGVbMV09Yl5+diZ3LGVbMTBdPXheflAmQixlWzExXT1FXn5PJlQsZVsyMF09Ul5+TiZMLGVbMjFdPWpefkYmRCxlWzMwXT1LXn5KJlksZVszMV09Vl5+VyZYLGVbNDBdPXRlXn5uZSZvZSxlWzQxXT1yZV5+aWUmYWUsZVsyXT1tXn5nJkEsZVszXT12Xn53JmssZVsxMl09UF5+QiZDLGVbMTNdPU9eflQmSSxlWzIyXT1OXn5MJkgsZVsyM109Rl5+RCZxLGVbMzJdPUpeflkmUSxlWzMzXT1XXn5YJlosZVs0Ml09bmVefm9lJnNlLGVbNDNdPWllXn5hZSZ1ZSxlWzRdPWdefkEmXyxlWzVdPXdefmsmUyxlWzE0XT1CXn5DJk0sZVsxNV09VF5+SSZVLGVbMjRdPUxefkgmeixlWzI1XT1EXn5xJkcsZVszNF09WV5+USYkLGVbMzVdPVheflomZWUsZVs0NF09b2VefnNlJmNlLGVbNDVdPWFlXn51ZSZmZSxlWzZdPUFefl8mcCxlWzddPWteflMmYixlWzE2XT1DXn5NJngsZVsxN109SV5+VSZFLGVbMjZdPUhefnomUixlWzI3XT1xXn5HJmosZVszNl09UV5+JCZLLGVbMzddPVpefmVlJlYsZVs0Nl09c2VefmNlJnRlLGVbNDddPXVlXn5mZSZyZSxlWzhdPV9efnAmbSxlWzldPVNefmImdixlWzE4XT1NXn54JlAsZVsxOV09VV5+RSZPLGVbMjhdPXpeflImTixlWzI5XT1HXn5qJkYsZVszOF09JF5+SyZKLGVbMzldPWVlXn5WJlcsZVs0OF09Y2VefnRlJm5lLGVbNDldPWZlXn5yZSZpZSxlWzBdXj15W25dLGVbMV1ePXlbbisxXX07aWYoZillLmV4cG9ydHM9TztlbHNle2ZvcihUPTA7VDxCLmxlbmd0aDsrK1QpdVtCW1RdXT1PW0JbVF1dO2QmJih2b2lkIDA9PT0obj1mdW5jdGlvbigpe3JldHVybiBPfS5jYWxsKHQscix0LGUpKXx8KGUuZXhwb3J0cz1uKSl9fSgpfSw3MjUyOihlLHQpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnZlcnNpb249dm9pZCAwLHQudmVyc2lvbj0ibG9nZ2VyLzUuNy4wIn0sNDMyNzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuTG9nZ2VyPXQuTG9nTGV2ZWw9dC5FcnJvckNvZGU9dm9pZCAwO3ZhciBpLG8sYT1uKHIoOTcyMSkpLHM9bihyKDg5ODUpKSx1PXIoNzI1MiksYz0hMSxmPSExLGQ9e2RlYnVnOjEsZGVmYXVsdDoyLGluZm86Mix3YXJuaW5nOjMsZXJyb3I6NCxvZmY6NX0sbD1kLmRlZmF1bHQsaD1udWxsLHA9ZnVuY3Rpb24oKXt0cnl7dmFyIGU9W107aWYoWyJORkQiLCJORkMiLCJORktEIiwiTkZLQyJdLmZvckVhY2goKGZ1bmN0aW9uKHQpe3RyeXtpZigidGVzdCIhPT0idGVzdCIubm9ybWFsaXplKHQpKXRocm93IG5ldyBFcnJvcigiYmFkIG5vcm1hbGl6ZSIpfWNhdGNoKHIpe2UucHVzaCh0KX19KSksZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJtaXNzaW5nICIrZS5qb2luKCIsICIpKTtpZihTdHJpbmcuZnJvbUNoYXJDb2RlKDIzMykubm9ybWFsaXplKCJORkQiKSE9PVN0cmluZy5mcm9tQ2hhckNvZGUoMTAxLDc2OSkpdGhyb3cgbmV3IEVycm9yKCJicm9rZW4gaW1wbGVtZW50YXRpb24iKX1jYXRjaChlKXtyZXR1cm4gZS5tZXNzYWdlfXJldHVybiBudWxsfSgpO3QuTG9nTGV2ZWw9aSxmdW5jdGlvbihlKXtlLkRFQlVHPSJERUJVRyIsZS5JTkZPPSJJTkZPIixlLldBUk5JTkc9IldBUk5JTkciLGUuRVJST1I9IkVSUk9SIixlLk9GRj0iT0ZGIn0oaXx8KHQuTG9nTGV2ZWw9aT17fSkpLHQuRXJyb3JDb2RlPW8sZnVuY3Rpb24oZSl7ZS5VTktOT1dOX0VSUk9SPSJVTktOT1dOX0VSUk9SIixlLk5PVF9JTVBMRU1FTlRFRD0iTk9UX0lNUExFTUVOVEVEIixlLlVOU1VQUE9SVEVEX09QRVJBVElPTj0iVU5TVVBQT1JURURfT1BFUkFUSU9OIixlLk5FVFdPUktfRVJST1I9Ik5FVFdPUktfRVJST1IiLGUuU0VSVkVSX0VSUk9SPSJTRVJWRVJfRVJST1IiLGUuVElNRU9VVD0iVElNRU9VVCIsZS5CVUZGRVJfT1ZFUlJVTj0iQlVGRkVSX09WRVJSVU4iLGUuTlVNRVJJQ19GQVVMVD0iTlVNRVJJQ19GQVVMVCIsZS5NSVNTSU5HX05FVz0iTUlTU0lOR19ORVciLGUuSU5WQUxJRF9BUkdVTUVOVD0iSU5WQUxJRF9BUkdVTUVOVCIsZS5NSVNTSU5HX0FSR1VNRU5UPSJNSVNTSU5HX0FSR1VNRU5UIixlLlVORVhQRUNURURfQVJHVU1FTlQ9IlVORVhQRUNURURfQVJHVU1FTlQiLGUuQ0FMTF9FWENFUFRJT049IkNBTExfRVhDRVBUSU9OIixlLklOU1VGRklDSUVOVF9GVU5EUz0iSU5TVUZGSUNJRU5UX0ZVTkRTIixlLk5PTkNFX0VYUElSRUQ9Ik5PTkNFX0VYUElSRUQiLGUuUkVQTEFDRU1FTlRfVU5ERVJQUklDRUQ9IlJFUExBQ0VNRU5UX1VOREVSUFJJQ0VEIixlLlVOUFJFRElDVEFCTEVfR0FTX0xJTUlUPSJVTlBSRURJQ1RBQkxFX0dBU19MSU1JVCIsZS5UUkFOU0FDVElPTl9SRVBMQUNFRD0iVFJBTlNBQ1RJT05fUkVQTEFDRUQiLGUuQUNUSU9OX1JFSkVDVEVEPSJBQ1RJT05fUkVKRUNURUQifShvfHwodC5FcnJvckNvZGU9bz17fSkpO3ZhciBiPSIwMTIzNDU2Nzg5YWJjZGVmIix5PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0KXsoMCxhLmRlZmF1bHQpKHRoaXMsZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsInZlcnNpb24iLHtlbnVtZXJhYmxlOiEwLHZhbHVlOnQsd3JpdGFibGU6ITF9KX1yZXR1cm4oMCxzLmRlZmF1bHQpKGUsW3trZXk6Il9sb2ciLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIHI9ZS50b0xvd2VyQ2FzZSgpO251bGw9PWRbcl0mJnRoaXMudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGxvZyBsZXZlbCBuYW1lIiwibG9nTGV2ZWwiLGUpLGw+ZFtyXXx8Y29uc29sZS5sb2cuYXBwbHkoY29uc29sZSx0KX19LHtrZXk6ImRlYnVnIix2YWx1ZTpmdW5jdGlvbigpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KHQpLG49MDtuPHQ7bisrKXJbbl09YXJndW1lbnRzW25dO3RoaXMuX2xvZyhlLmxldmVscy5ERUJVRyxyKX19LHtrZXk6ImluZm8iLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkodCksbj0wO248dDtuKyspcltuXT1hcmd1bWVudHNbbl07dGhpcy5fbG9nKGUubGV2ZWxzLklORk8scil9fSx7a2V5OiJ3YXJuIix2YWx1ZTpmdW5jdGlvbigpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KHQpLG49MDtuPHQ7bisrKXJbbl09YXJndW1lbnRzW25dO3RoaXMuX2xvZyhlLmxldmVscy5XQVJOSU5HLHIpfX0se2tleToibWFrZUVycm9yIix2YWx1ZTpmdW5jdGlvbih0LHIsbil7aWYoZilyZXR1cm4gdGhpcy5tYWtlRXJyb3IoImNlbnNvcmVkIGVycm9yIixyLHt9KTtyfHwocj1lLmVycm9ycy5VTktOT1dOX0VSUk9SKSxufHwobj17fSk7dmFyIGk9W107T2JqZWN0LmtleXMobikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHQ9bltlXTt0cnl7aWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpe2Zvcih2YXIgcj0iIixvPTA7bzx0Lmxlbmd0aDtvKyspcis9Ylt0W29dPj40XSxyKz1iWzE1JnRbb11dO2kucHVzaChlKyI9VWludDhBcnJheSgweCIrcisiKSIpfWVsc2UgaS5wdXNoKGUrIj0iK0pTT04uc3RyaW5naWZ5KHQpKX1jYXRjaCh0KXtpLnB1c2goZSsiPSIrSlNPTi5zdHJpbmdpZnkobltlXS50b1N0cmluZygpKSl9fSkpLGkucHVzaCgiY29kZT0iLmNvbmNhdChyKSksaS5wdXNoKCJ2ZXJzaW9uPSIuY29uY2F0KHRoaXMudmVyc2lvbikpO3ZhciBhPXQscz0iIjtzd2l0Y2gocil7Y2FzZSBvLk5VTUVSSUNfRkFVTFQ6cz0iTlVNRVJJQ19GQVVMVCI7dmFyIHU9dDtzd2l0Y2godSl7Y2FzZSJvdmVyZmxvdyI6Y2FzZSJ1bmRlcmZsb3ciOmNhc2UiZGl2aXNpb24tYnktemVybyI6cys9Ii0iK3U7YnJlYWs7Y2FzZSJuZWdhdGl2ZS1wb3dlciI6Y2FzZSJuZWdhdGl2ZS13aWR0aCI6cys9Ii11bnN1cHBvcnRlZCI7YnJlYWs7Y2FzZSJ1bmJvdW5kLWJpdHdpc2UtcmVzdWx0IjpzKz0iLXVuYm91bmQtcmVzdWx0In1icmVhaztjYXNlIG8uQ0FMTF9FWENFUFRJT046Y2FzZSBvLklOU1VGRklDSUVOVF9GVU5EUzpjYXNlIG8uTUlTU0lOR19ORVc6Y2FzZSBvLk5PTkNFX0VYUElSRUQ6Y2FzZSBvLlJFUExBQ0VNRU5UX1VOREVSUFJJQ0VEOmNhc2Ugby5UUkFOU0FDVElPTl9SRVBMQUNFRDpjYXNlIG8uVU5QUkVESUNUQUJMRV9HQVNfTElNSVQ6cz1yfXMmJih0Kz0iIFsgU2VlOiBodHRwczovL2xpbmtzLmV0aGVycy5vcmcvdjUtZXJyb3JzLSIrcysiIF0iKSxpLmxlbmd0aCYmKHQrPSIgKCIraS5qb2luKCIsICIpKyIpIik7dmFyIGM9bmV3IEVycm9yKHQpO3JldHVybiBjLnJlYXNvbj1hLGMuY29kZT1yLE9iamVjdC5rZXlzKG4pLmZvckVhY2goKGZ1bmN0aW9uKGUpe2NbZV09bltlXX0pKSxjfX0se2tleToidGhyb3dFcnJvciIsdmFsdWU6ZnVuY3Rpb24oZSx0LHIpe3Rocm93IHRoaXMubWFrZUVycm9yKGUsdCxyKX19LHtrZXk6InRocm93QXJndW1lbnRFcnJvciIsdmFsdWU6ZnVuY3Rpb24odCxyLG4pe3JldHVybiB0aGlzLnRocm93RXJyb3IodCxlLmVycm9ycy5JTlZBTElEX0FSR1VNRU5ULHthcmd1bWVudDpyLHZhbHVlOm59KX19LHtrZXk6ImFzc2VydCIsdmFsdWU6ZnVuY3Rpb24oZSx0LHIsbil7ZXx8dGhpcy50aHJvd0Vycm9yKHQscixuKX19LHtrZXk6ImFzc2VydEFyZ3VtZW50Iix2YWx1ZTpmdW5jdGlvbihlLHQscixuKXtlfHx0aGlzLnRocm93QXJndW1lbnRFcnJvcih0LHIsbil9fSx7a2V5OiJjaGVja05vcm1hbGl6ZSIsdmFsdWU6ZnVuY3Rpb24odCl7bnVsbD09dCYmKHQ9InBsYXRmb3JtIG1pc3NpbmcgU3RyaW5nLnByb3RvdHlwZS5ub3JtYWxpemUiKSxwJiZ0aGlzLnRocm93RXJyb3IoInBsYXRmb3JtIG1pc3NpbmcgU3RyaW5nLnByb3RvdHlwZS5ub3JtYWxpemUiLGUuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJTdHJpbmcucHJvdG90eXBlLm5vcm1hbGl6ZSIsZm9ybTpwfSl9fSx7a2V5OiJjaGVja1NhZmVVaW50NTMiLHZhbHVlOmZ1bmN0aW9uKHQscil7Im51bWJlciI9PXR5cGVvZiB0JiYobnVsbD09ciYmKHI9InZhbHVlIG5vdCBzYWZlIiksKHQ8MHx8dD49OTAwNzE5OTI1NDc0MDk5MSkmJnRoaXMudGhyb3dFcnJvcihyLGUuZXJyb3JzLk5VTUVSSUNfRkFVTFQse29wZXJhdGlvbjoiY2hlY2tTYWZlSW50ZWdlciIsZmF1bHQ6Im91dC1vZi1zYWZlLXJhbmdlIix2YWx1ZTp0fSksdCUxJiZ0aGlzLnRocm93RXJyb3IocixlLmVycm9ycy5OVU1FUklDX0ZBVUxULHtvcGVyYXRpb246ImNoZWNrU2FmZUludGVnZXIiLGZhdWx0OiJub24taW50ZWdlciIsdmFsdWU6dH0pKX19LHtrZXk6ImNoZWNrQXJndW1lbnRDb3VudCIsdmFsdWU6ZnVuY3Rpb24odCxyLG4pe249bj8iOiAiK246IiIsdDxyJiZ0aGlzLnRocm93RXJyb3IoIm1pc3NpbmcgYXJndW1lbnQiK24sZS5lcnJvcnMuTUlTU0lOR19BUkdVTUVOVCx7Y291bnQ6dCxleHBlY3RlZENvdW50OnJ9KSx0PnImJnRoaXMudGhyb3dFcnJvcigidG9vIG1hbnkgYXJndW1lbnRzIituLGUuZXJyb3JzLlVORVhQRUNURURfQVJHVU1FTlQse2NvdW50OnQsZXhwZWN0ZWRDb3VudDpyfSl9fSx7a2V5OiJjaGVja05ldyIsdmFsdWU6ZnVuY3Rpb24odCxyKXt0IT09T2JqZWN0JiZudWxsIT10fHx0aGlzLnRocm93RXJyb3IoIm1pc3NpbmcgbmV3IixlLmVycm9ycy5NSVNTSU5HX05FVyx7bmFtZTpyLm5hbWV9KX19LHtrZXk6ImNoZWNrQWJzdHJhY3QiLHZhbHVlOmZ1bmN0aW9uKHQscil7dD09PXI/dGhpcy50aHJvd0Vycm9yKCJjYW5ub3QgaW5zdGFudGlhdGUgYWJzdHJhY3QgY2xhc3MgIitKU09OLnN0cmluZ2lmeShyLm5hbWUpKyIgZGlyZWN0bHk7IHVzZSBhIHN1Yi1jbGFzcyIsZS5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtuYW1lOnQubmFtZSxvcGVyYXRpb246Im5ldyJ9KTp0IT09T2JqZWN0JiZudWxsIT10fHx0aGlzLnRocm93RXJyb3IoIm1pc3NpbmcgbmV3IixlLmVycm9ycy5NSVNTSU5HX05FVyx7bmFtZTpyLm5hbWV9KX19XSxbe2tleToiZ2xvYmFsTG9nZ2VyIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBofHwoaD1uZXcgZSh1LnZlcnNpb24pKSxofX0se2tleToic2V0Q2Vuc29yc2hpcCIsdmFsdWU6ZnVuY3Rpb24odCxyKXtpZighdCYmciYmdGhpcy5nbG9iYWxMb2dnZXIoKS50aHJvd0Vycm9yKCJjYW5ub3QgcGVybWFuZW50bHkgZGlzYWJsZSBjZW5zb3JzaGlwIixlLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoic2V0Q2Vuc29yc2hpcCJ9KSxjKXtpZighdClyZXR1cm47dGhpcy5nbG9iYWxMb2dnZXIoKS50aHJvd0Vycm9yKCJlcnJvciBjZW5zb3JzaGlwIHBlcm1hbmVudCIsZS5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246InNldENlbnNvcnNoaXAifSl9Zj0hIXQsYz0hIXJ9fSx7a2V5OiJzZXRMb2dMZXZlbCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIHI9ZFt0LnRvTG93ZXJDYXNlKCldO251bGwhPXI/bD1yOmUuZ2xvYmFsTG9nZ2VyKCkud2FybigiaW52YWxpZCBsb2cgbGV2ZWwgLSAiK3QpfX0se2tleToiZnJvbSIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBlKHQpfX1dKSxlfSgpO3QuTG9nZ2VyPXkseS5lcnJvcnM9byx5LmxldmVscz1pfSw0MDcxOihlLHQpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnZlcnNpb249dm9pZCAwLHQudmVyc2lvbj0icHJvcGVydGllcy81LjcuMCJ9LDM2OTQ6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LkRlc2NyaXB0aW9uPXZvaWQgMCx0LmNoZWNrUHJvcGVydGllcz1mdW5jdGlvbihlLHQpe2UmJiJvYmplY3QiPT09KDAscy5kZWZhdWx0KShlKXx8ZC50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgb2JqZWN0Iiwib2JqZWN0IixlKSxPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChmdW5jdGlvbihyKXt0W3JdfHxkLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBvYmplY3Qga2V5IC0gIityLCJ0cmFuc2FjdGlvbjoiK3IsZSl9KSl9LHQuZGVlcENvcHk9eSx0LmRlZmluZVJlYWRPbmx5PWwsdC5nZXRTdGF0aWM9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9MDtyPDMyO3IrKyl7aWYoZVt0XSlyZXR1cm4gZVt0XTtpZighZS5wcm90b3R5cGV8fCJvYmplY3QiIT09KDAscy5kZWZhdWx0KShlLnByb3RvdHlwZSkpYnJlYWs7ZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZS5wcm90b3R5cGUpLmNvbnN0cnVjdG9yfXJldHVybiBudWxsfSx0LnJlc29sdmVQcm9wZXJ0aWVzPWZ1bmN0aW9uKGUpe3JldHVybiBmKHRoaXMsdm9pZCAwLHZvaWQgMCxpLmRlZmF1bHQubWFyaygoZnVuY3Rpb24gdCgpe3ZhciByLG47cmV0dXJuIGkuZGVmYXVsdC53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gcj1PYmplY3Qua2V5cyhlKS5tYXAoKGZ1bmN0aW9uKHQpe3ZhciByPWVbdF07cmV0dXJuIFByb21pc2UucmVzb2x2ZShyKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm57a2V5OnQsdmFsdWU6ZX19KSl9KSksdC5uZXh0PTMsUHJvbWlzZS5hbGwocik7Y2FzZSAzOnJldHVybiBuPXQuc2VudCx0LmFicnVwdCgicmV0dXJuIixuLnJlZHVjZSgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZVt0LmtleV09dC52YWx1ZSxlfSkse30pKTtjYXNlIDU6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0KX0pKSl9LHQuc2hhbGxvd0NvcHk9ZnVuY3Rpb24oZSl7dmFyIHQ9e307Zm9yKHZhciByIGluIGUpdFtyXT1lW3JdO3JldHVybiB0fTt2YXIgaT1uKHIoMjI0NykpLG89bihyKDg5ODUpKSxhPW4ocig5NzIxKSkscz1uKHIoMzM1NSkpLHU9cig0MzI3KSxjPXIoNDA3MSksZj1mdW5jdGlvbihlLHQscixuKXtyZXR1cm4gbmV3KHJ8fChyPVByb21pc2UpKSgoZnVuY3Rpb24oaSxvKXtmdW5jdGlvbiBhKGUpe3RyeXt1KG4ubmV4dChlKSl9Y2F0Y2goZSl7byhlKX19ZnVuY3Rpb24gcyhlKXt0cnl7dShuLnRocm93KGUpKX1jYXRjaChlKXtvKGUpfX1mdW5jdGlvbiB1KGUpe3ZhciB0O2UuZG9uZT9pKGUudmFsdWUpOih0PWUudmFsdWUsdCBpbnN0YW5jZW9mIHI/dDpuZXcgcigoZnVuY3Rpb24oZSl7ZSh0KX0pKSkudGhlbihhLHMpfXUoKG49bi5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pKX0sZD1uZXcgdS5Mb2dnZXIoYy52ZXJzaW9uKTtmdW5jdGlvbiBsKGUsdCxyKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJhYmxlOiEwLHZhbHVlOnIsd3JpdGFibGU6ITF9KX12YXIgaD17YmlnaW50OiEwLGJvb2xlYW46ITAsZnVuY3Rpb246ITAsbnVtYmVyOiEwLHN0cmluZzohMH07ZnVuY3Rpb24gcChlKXtpZihudWxsPT1lfHxoWygwLHMuZGVmYXVsdCkoZSldKXJldHVybiEwO2lmKEFycmF5LmlzQXJyYXkoZSl8fCJvYmplY3QiPT09KDAscy5kZWZhdWx0KShlKSl7aWYoIU9iamVjdC5pc0Zyb3plbihlKSlyZXR1cm4hMTtmb3IodmFyIHQ9T2JqZWN0LmtleXMoZSkscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj1udWxsO3RyeXtuPWVbdFtyXV19Y2F0Y2goZSl7Y29udGludWV9aWYoIXAobikpcmV0dXJuITF9cmV0dXJuITB9cmV0dXJuIGQudGhyb3dBcmd1bWVudEVycm9yKCJDYW5ub3QgZGVlcENvcHkgIi5jb25jYXQoKDAscy5kZWZhdWx0KShlKSksIm9iamVjdCIsZSl9ZnVuY3Rpb24gYihlKXtpZihwKGUpKXJldHVybiBlO2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIE9iamVjdC5mcmVlemUoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB5KGUpfSkpKTtpZigib2JqZWN0Ij09PSgwLHMuZGVmYXVsdCkoZSkpe3ZhciB0PXt9O2Zvcih2YXIgciBpbiBlKXt2YXIgbj1lW3JdO3ZvaWQgMCE9PW4mJmwodCxyLHkobikpfXJldHVybiB0fXJldHVybiBkLnRocm93QXJndW1lbnRFcnJvcigiQ2Fubm90IGRlZXBDb3B5ICIuY29uY2F0KCgwLHMuZGVmYXVsdCkoZSkpLCJvYmplY3QiLGUpfWZ1bmN0aW9uIHkoZSl7cmV0dXJuIGIoZSl9dmFyIG09KDAsby5kZWZhdWx0KSgoZnVuY3Rpb24gZSh0KXtmb3IodmFyIHIgaW4oMCxhLmRlZmF1bHQpKHRoaXMsZSksdCl0aGlzW3JdPXkodFtyXSl9KSk7dC5EZXNjcmlwdGlvbj1tfSwxNDY2OihlLHQpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnZlcnNpb249dm9pZCAwLHQudmVyc2lvbj0icmxwLzUuNy4wIn0sNTI2NTooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlY29kZT1mdW5jdGlvbihlKXt2YXIgdD0oMCxuLmFycmF5aWZ5KShlKSxyPWQodCwwKTtyZXR1cm4gci5jb25zdW1lZCE9PXQubGVuZ3RoJiZhLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBybHAgZGF0YSIsImRhdGEiLGUpLHIucmVzdWx0fSx0LmVuY29kZT1mdW5jdGlvbihlKXtyZXR1cm4oMCxuLmhleGxpZnkpKGMoZSkpfTt2YXIgbj1yKDkwOCksaT1yKDQzMjcpLG89cigxNDY2KSxhPW5ldyBpLkxvZ2dlcihvLnZlcnNpb24pO2Z1bmN0aW9uIHMoZSl7Zm9yKHZhciB0PVtdO2U7KXQudW5zaGlmdCgyNTUmZSksZT4+PTg7cmV0dXJuIHR9ZnVuY3Rpb24gdShlLHQscil7Zm9yKHZhciBuPTAsaT0wO2k8cjtpKyspbj0yNTYqbitlW3QraV07cmV0dXJuIG59ZnVuY3Rpb24gYyhlKXtpZihBcnJheS5pc0FycmF5KGUpKXt2YXIgdD1bXTtpZihlLmZvckVhY2goKGZ1bmN0aW9uKGUpe3Q9dC5jb25jYXQoYyhlKSl9KSksdC5sZW5ndGg8PTU1KXJldHVybiB0LnVuc2hpZnQoMTkyK3QubGVuZ3RoKSx0O3ZhciByPXModC5sZW5ndGgpO3JldHVybiByLnVuc2hpZnQoMjQ3K3IubGVuZ3RoKSxyLmNvbmNhdCh0KX0oMCxuLmlzQnl0ZXNMaWtlKShlKXx8YS50aHJvd0FyZ3VtZW50RXJyb3IoIlJMUCBvYmplY3QgbXVzdCBiZSBCeXRlc0xpa2UiLCJvYmplY3QiLGUpO3ZhciBpPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKCgwLG4uYXJyYXlpZnkpKGUpKTtpZigxPT09aS5sZW5ndGgmJmlbMF08PTEyNylyZXR1cm4gaTtpZihpLmxlbmd0aDw9NTUpcmV0dXJuIGkudW5zaGlmdCgxMjgraS5sZW5ndGgpLGk7dmFyIG89cyhpLmxlbmd0aCk7cmV0dXJuIG8udW5zaGlmdCgxODMrby5sZW5ndGgpLG8uY29uY2F0KGkpfWZ1bmN0aW9uIGYoZSx0LHIsbil7Zm9yKHZhciBvPVtdO3I8dCsxK247KXt2YXIgcz1kKGUscik7by5wdXNoKHMucmVzdWx0KSwocis9cy5jb25zdW1lZCk+dCsxK24mJmEudGhyb3dFcnJvcigiY2hpbGQgZGF0YSB0b28gc2hvcnQiLGkuTG9nZ2VyLmVycm9ycy5CVUZGRVJfT1ZFUlJVTix7fSl9cmV0dXJue2NvbnN1bWVkOjErbixyZXN1bHQ6b319ZnVuY3Rpb24gZChlLHQpe2lmKDA9PT1lLmxlbmd0aCYmYS50aHJvd0Vycm9yKCJkYXRhIHRvbyBzaG9ydCIsaS5Mb2dnZXIuZXJyb3JzLkJVRkZFUl9PVkVSUlVOLHt9KSxlW3RdPj0yNDgpe3ZhciByPWVbdF0tMjQ3O3QrMStyPmUubGVuZ3RoJiZhLnRocm93RXJyb3IoImRhdGEgc2hvcnQgc2VnbWVudCB0b28gc2hvcnQiLGkuTG9nZ2VyLmVycm9ycy5CVUZGRVJfT1ZFUlJVTix7fSk7dmFyIG89dShlLHQrMSxyKTtyZXR1cm4gdCsxK3Irbz5lLmxlbmd0aCYmYS50aHJvd0Vycm9yKCJkYXRhIGxvbmcgc2VnbWVudCB0b28gc2hvcnQiLGkuTG9nZ2VyLmVycm9ycy5CVUZGRVJfT1ZFUlJVTix7fSksZihlLHQsdCsxK3IscitvKX1pZihlW3RdPj0xOTIpe3ZhciBzPWVbdF0tMTkyO3JldHVybiB0KzErcz5lLmxlbmd0aCYmYS50aHJvd0Vycm9yKCJkYXRhIGFycmF5IHRvbyBzaG9ydCIsaS5Mb2dnZXIuZXJyb3JzLkJVRkZFUl9PVkVSUlVOLHt9KSxmKGUsdCx0KzEscyl9aWYoZVt0XT49MTg0KXt2YXIgYz1lW3RdLTE4Mzt0KzErYz5lLmxlbmd0aCYmYS50aHJvd0Vycm9yKCJkYXRhIGFycmF5IHRvbyBzaG9ydCIsaS5Mb2dnZXIuZXJyb3JzLkJVRkZFUl9PVkVSUlVOLHt9KTt2YXIgZD11KGUsdCsxLGMpO3JldHVybiB0KzErYytkPmUubGVuZ3RoJiZhLnRocm93RXJyb3IoImRhdGEgYXJyYXkgdG9vIHNob3J0IixpLkxvZ2dlci5lcnJvcnMuQlVGRkVSX09WRVJSVU4se30pLHtjb25zdW1lZDoxK2MrZCxyZXN1bHQ6KDAsbi5oZXhsaWZ5KShlLnNsaWNlKHQrMStjLHQrMStjK2QpKX19aWYoZVt0XT49MTI4KXt2YXIgbD1lW3RdLTEyODtyZXR1cm4gdCsxK2w+ZS5sZW5ndGgmJmEudGhyb3dFcnJvcigiZGF0YSB0b28gc2hvcnQiLGkuTG9nZ2VyLmVycm9ycy5CVUZGRVJfT1ZFUlJVTix7fSkse2NvbnN1bWVkOjErbCxyZXN1bHQ6KDAsbi5oZXhsaWZ5KShlLnNsaWNlKHQrMSx0KzErbCkpfX1yZXR1cm57Y29uc3VtZWQ6MSxyZXN1bHQ6KDAsbi5oZXhsaWZ5KShlW3RdKX19fSw4MTAwOihlLHQpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnZlcnNpb249dm9pZCAwLHQudmVyc2lvbj0ic2lnbmluZy1rZXkvNS43LjAifSw2OTE4OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5FQz12b2lkIDA7dmFyIGk9bihyKDMzNTUpKSxvPW4ocigxNzM0KSksYT1uKHIoNzE5OCkpO2Z1bmN0aW9uIHMoZSx0LHIpe3JldHVybiByPXtwYXRoOnQsZXhwb3J0czp7fSxyZXF1aXJlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJEeW5hbWljIHJlcXVpcmVzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZCBieSBAcm9sbHVwL3BsdWdpbi1jb21tb25qcyIpfShudWxsPT10JiZyLnBhdGgpfX0sZShyLHIuZXhwb3J0cyksci5leHBvcnRzfSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp2b2lkIDAhPT1yLmc/ci5nOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmc2VsZjt2YXIgdT1jO2Z1bmN0aW9uIGMoZSx0KXtpZighZSl0aHJvdyBuZXcgRXJyb3IodHx8IkFzc2VydGlvbiBmYWlsZWQiKX1jLmVxdWFsPWZ1bmN0aW9uKGUsdCxyKXtpZihlIT10KXRocm93IG5ldyBFcnJvcihyfHwiQXNzZXJ0aW9uIGZhaWxlZDogIitlKyIgIT0gIit0KX07dmFyIGY9cygoZnVuY3Rpb24oZSx0KXt2YXIgcj10O2Z1bmN0aW9uIG4oZSl7cmV0dXJuIDE9PT1lLmxlbmd0aD8iMCIrZTplfWZ1bmN0aW9uIGkoZSl7Zm9yKHZhciB0PSIiLHI9MDtyPGUubGVuZ3RoO3IrKyl0Kz1uKGVbcl0udG9TdHJpbmcoMTYpKTtyZXR1cm4gdH1yLnRvQXJyYXk9ZnVuY3Rpb24oZSx0KXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlLnNsaWNlKCk7aWYoIWUpcmV0dXJuW107dmFyIHI9W107aWYoInN0cmluZyIhPXR5cGVvZiBlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKylyW25dPTB8ZVtuXTtyZXR1cm4gcn1pZigiaGV4Ij09PXQpZm9yKChlPWUucmVwbGFjZSgvW15hLXowLTldKy9naSwiIikpLmxlbmd0aCUyIT0wJiYoZT0iMCIrZSksbj0wO248ZS5sZW5ndGg7bis9MilyLnB1c2gocGFyc2VJbnQoZVtuXStlW24rMV0sMTYpKTtlbHNlIGZvcihuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBpPWUuY2hhckNvZGVBdChuKSxvPWk+PjgsYT0yNTUmaTtvP3IucHVzaChvLGEpOnIucHVzaChhKX1yZXR1cm4gcn0sci56ZXJvMj1uLHIudG9IZXg9aSxyLmVuY29kZT1mdW5jdGlvbihlLHQpe3JldHVybiJoZXgiPT09dD9pKGUpOmV9fSkpLGQ9cygoZnVuY3Rpb24oZSx0KXt2YXIgcj10O3IuYXNzZXJ0PXUsci50b0FycmF5PWYudG9BcnJheSxyLnplcm8yPWYuemVybzIsci50b0hleD1mLnRvSGV4LHIuZW5jb2RlPWYuZW5jb2RlLHIuZ2V0TkFGPWZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1uZXcgQXJyYXkoTWF0aC5tYXgoZS5iaXRMZW5ndGgoKSxyKSsxKTtuLmZpbGwoMCk7Zm9yKHZhciBpPTE8PHQrMSxvPWUuY2xvbmUoKSxhPTA7YTxuLmxlbmd0aDthKyspe3ZhciBzLHU9by5hbmRsbihpLTEpO28uaXNPZGQoKT8ocz11PihpPj4xKS0xPyhpPj4xKS11OnUsby5pc3VibihzKSk6cz0wLG5bYV09cyxvLml1c2hybigxKX1yZXR1cm4gbn0sci5nZXRKU0Y9ZnVuY3Rpb24oZSx0KXt2YXIgcj1bW10sW11dO2U9ZS5jbG9uZSgpLHQ9dC5jbG9uZSgpO2Zvcih2YXIgbixpPTAsbz0wO2UuY21wbigtaSk+MHx8dC5jbXBuKC1vKT4wOyl7dmFyIGEscyx1PWUuYW5kbG4oMykraSYzLGM9dC5hbmRsbigzKStvJjM7Mz09PXUmJih1PS0xKSwzPT09YyYmKGM9LTEpLGE9MD09KDEmdSk/MDozIT0obj1lLmFuZGxuKDcpK2kmNykmJjUhPT1ufHwyIT09Yz91Oi11LHJbMF0ucHVzaChhKSxzPTA9PSgxJmMpPzA6MyE9KG49dC5hbmRsbig3KStvJjcpJiY1IT09bnx8MiE9PXU/YzotYyxyWzFdLnB1c2gocyksMippPT09YSsxJiYoaT0xLWkpLDIqbz09PXMrMSYmKG89MS1vKSxlLml1c2hybigxKSx0Lml1c2hybigxKX1yZXR1cm4gcn0sci5jYWNoZWRQcm9wZXJ0eT1mdW5jdGlvbihlLHQscil7dmFyIG49Il8iK3Q7ZS5wcm90b3R5cGVbdF09ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpc1tuXT90aGlzW25dOnRoaXNbbl09ci5jYWxsKHRoaXMpfX0sci5wYXJzZUJ5dGVzPWZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZT9yLnRvQXJyYXkoZSwiaGV4Iik6ZX0sci5pbnRGcm9tTEU9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBvLmRlZmF1bHQoZSwiaGV4IiwibGUiKX19KSksbD1kLmdldE5BRixoPWQuZ2V0SlNGLHA9ZC5hc3NlcnQ7ZnVuY3Rpb24gYihlLHQpe3RoaXMudHlwZT1lLHRoaXMucD1uZXcgby5kZWZhdWx0KHQucCwxNiksdGhpcy5yZWQ9dC5wcmltZT9vLmRlZmF1bHQucmVkKHQucHJpbWUpOm8uZGVmYXVsdC5tb250KHRoaXMucCksdGhpcy56ZXJvPW5ldyBvLmRlZmF1bHQoMCkudG9SZWQodGhpcy5yZWQpLHRoaXMub25lPW5ldyBvLmRlZmF1bHQoMSkudG9SZWQodGhpcy5yZWQpLHRoaXMudHdvPW5ldyBvLmRlZmF1bHQoMikudG9SZWQodGhpcy5yZWQpLHRoaXMubj10Lm4mJm5ldyBvLmRlZmF1bHQodC5uLDE2KSx0aGlzLmc9dC5nJiZ0aGlzLnBvaW50RnJvbUpTT04odC5nLHQuZ1JlZCksdGhpcy5fd25hZlQxPW5ldyBBcnJheSg0KSx0aGlzLl93bmFmVDI9bmV3IEFycmF5KDQpLHRoaXMuX3duYWZUMz1uZXcgQXJyYXkoNCksdGhpcy5fd25hZlQ0PW5ldyBBcnJheSg0KSx0aGlzLl9iaXRMZW5ndGg9dGhpcy5uP3RoaXMubi5iaXRMZW5ndGgoKTowO3ZhciByPXRoaXMubiYmdGhpcy5wLmRpdih0aGlzLm4pOyFyfHxyLmNtcG4oMTAwKT4wP3RoaXMucmVkTj1udWxsOih0aGlzLl9tYXh3ZWxsVHJpY2s9ITAsdGhpcy5yZWROPXRoaXMubi50b1JlZCh0aGlzLnJlZCkpfXZhciB5PWI7ZnVuY3Rpb24gbShlLHQpe3RoaXMuY3VydmU9ZSx0aGlzLnR5cGU9dCx0aGlzLnByZWNvbXB1dGVkPW51bGx9Yi5wcm90b3R5cGUucG9pbnQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfSxiLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9LGIucHJvdG90eXBlLl9maXhlZE5hZk11bD1mdW5jdGlvbihlLHQpe3AoZS5wcmVjb21wdXRlZCk7dmFyIHI9ZS5fZ2V0RG91YmxlcygpLG49bCh0LDEsdGhpcy5fYml0TGVuZ3RoKSxpPSgxPDxyLnN0ZXArMSktKHIuc3RlcCUyPT0wPzI6MSk7aS89Mzt2YXIgbyxhLHM9W107Zm9yKG89MDtvPG4ubGVuZ3RoO28rPXIuc3RlcCl7YT0wO2Zvcih2YXIgdT1vK3Iuc3RlcC0xO3U+PW87dS0tKWE9KGE8PDEpK25bdV07cy5wdXNoKGEpfWZvcih2YXIgYz10aGlzLmpwb2ludChudWxsLG51bGwsbnVsbCksZj10aGlzLmpwb2ludChudWxsLG51bGwsbnVsbCksZD1pO2Q+MDtkLS0pe2ZvcihvPTA7bzxzLmxlbmd0aDtvKyspKGE9c1tvXSk9PT1kP2Y9Zi5taXhlZEFkZChyLnBvaW50c1tvXSk6YT09PS1kJiYoZj1mLm1peGVkQWRkKHIucG9pbnRzW29dLm5lZygpKSk7Yz1jLmFkZChmKX1yZXR1cm4gYy50b1AoKX0sYi5wcm90b3R5cGUuX3duYWZNdWw9ZnVuY3Rpb24oZSx0KXt2YXIgcj00LG49ZS5fZ2V0TkFGUG9pbnRzKHIpO3I9bi53bmQ7Zm9yKHZhciBpPW4ucG9pbnRzLG89bCh0LHIsdGhpcy5fYml0TGVuZ3RoKSxhPXRoaXMuanBvaW50KG51bGwsbnVsbCxudWxsKSxzPW8ubGVuZ3RoLTE7cz49MDtzLS0pe2Zvcih2YXIgdT0wO3M+PTAmJjA9PT1vW3NdO3MtLSl1Kys7aWYocz49MCYmdSsrLGE9YS5kYmxwKHUpLHM8MClicmVhazt2YXIgYz1vW3NdO3AoMCE9PWMpLGE9ImFmZmluZSI9PT1lLnR5cGU/Yz4wP2EubWl4ZWRBZGQoaVtjLTE+PjFdKTphLm1peGVkQWRkKGlbLWMtMT4+MV0ubmVnKCkpOmM+MD9hLmFkZChpW2MtMT4+MV0pOmEuYWRkKGlbLWMtMT4+MV0ubmVnKCkpfXJldHVybiJhZmZpbmUiPT09ZS50eXBlP2EudG9QKCk6YX0sYi5wcm90b3R5cGUuX3duYWZNdWxBZGQ9ZnVuY3Rpb24oZSx0LHIsbixpKXt2YXIgbyxhLHMsdT10aGlzLl93bmFmVDEsYz10aGlzLl93bmFmVDIsZj10aGlzLl93bmFmVDMsZD0wO2ZvcihvPTA7bzxuO28rKyl7dmFyIHA9KHM9dFtvXSkuX2dldE5BRlBvaW50cyhlKTt1W29dPXAud25kLGNbb109cC5wb2ludHN9Zm9yKG89bi0xO28+PTE7by09Mil7dmFyIGI9by0xLHk9bztpZigxPT09dVtiXSYmMT09PXVbeV0pe3ZhciBtPVt0W2JdLG51bGwsbnVsbCx0W3ldXTswPT09dFtiXS55LmNtcCh0W3ldLnkpPyhtWzFdPXRbYl0uYWRkKHRbeV0pLG1bMl09dFtiXS50b0ooKS5taXhlZEFkZCh0W3ldLm5lZygpKSk6MD09PXRbYl0ueS5jbXAodFt5XS55LnJlZE5lZygpKT8obVsxXT10W2JdLnRvSigpLm1peGVkQWRkKHRbeV0pLG1bMl09dFtiXS5hZGQodFt5XS5uZWcoKSkpOihtWzFdPXRbYl0udG9KKCkubWl4ZWRBZGQodFt5XSksbVsyXT10W2JdLnRvSigpLm1peGVkQWRkKHRbeV0ubmVnKCkpKTt2YXIgdj1bLTMsLTEsLTUsLTcsMCw3LDUsMSwzXSxnPWgocltiXSxyW3ldKTtmb3IoZD1NYXRoLm1heChnWzBdLmxlbmd0aCxkKSxmW2JdPW5ldyBBcnJheShkKSxmW3ldPW5ldyBBcnJheShkKSxhPTA7YTxkO2ErKyl7dmFyIHc9MHxnWzBdW2FdLEE9MHxnWzFdW2FdO2ZbYl1bYV09dlszKih3KzEpKyhBKzEpXSxmW3ldW2FdPTAsY1tiXT1tfX1lbHNlIGZbYl09bChyW2JdLHVbYl0sdGhpcy5fYml0TGVuZ3RoKSxmW3ldPWwoclt5XSx1W3ldLHRoaXMuX2JpdExlbmd0aCksZD1NYXRoLm1heChmW2JdLmxlbmd0aCxkKSxkPU1hdGgubWF4KGZbeV0ubGVuZ3RoLGQpfXZhciBrPXRoaXMuanBvaW50KG51bGwsbnVsbCxudWxsKSxfPXRoaXMuX3duYWZUNDtmb3Iobz1kO28+PTA7by0tKXtmb3IodmFyIFM9MDtvPj0wOyl7dmFyIHg9ITA7Zm9yKGE9MDthPG47YSsrKV9bYV09MHxmW2FdW29dLDAhPT1fW2FdJiYoeD0hMSk7aWYoIXgpYnJlYWs7UysrLG8tLX1pZihvPj0wJiZTKyssaz1rLmRibHAoUyksbzwwKWJyZWFrO2ZvcihhPTA7YTxuO2ErKyl7dmFyIEU9X1thXTswIT09RSYmKEU+MD9zPWNbYV1bRS0xPj4xXTpFPDAmJihzPWNbYV1bLUUtMT4+MV0ubmVnKCkpLGs9ImFmZmluZSI9PT1zLnR5cGU/ay5taXhlZEFkZChzKTprLmFkZChzKSl9fWZvcihvPTA7bzxuO28rKyljW29dPW51bGw7cmV0dXJuIGk/azprLnRvUCgpfSxiLkJhc2VQb2ludD1tLG0ucHJvdG90eXBlLmVxPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX0sbS5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdXJ2ZS52YWxpZGF0ZSh0aGlzKX0sYi5wcm90b3R5cGUuZGVjb2RlUG9pbnQ9ZnVuY3Rpb24oZSx0KXtlPWQudG9BcnJheShlLHQpO3ZhciByPXRoaXMucC5ieXRlTGVuZ3RoKCk7aWYoKDQ9PT1lWzBdfHw2PT09ZVswXXx8Nz09PWVbMF0pJiZlLmxlbmd0aC0xPT0yKnIpcmV0dXJuIDY9PT1lWzBdP3AoZVtlLmxlbmd0aC0xXSUyPT0wKTo3PT09ZVswXSYmcChlW2UubGVuZ3RoLTFdJTI9PTEpLHRoaXMucG9pbnQoZS5zbGljZSgxLDErciksZS5zbGljZSgxK3IsMSsyKnIpKTtpZigoMj09PWVbMF18fDM9PT1lWzBdKSYmZS5sZW5ndGgtMT09PXIpcmV0dXJuIHRoaXMucG9pbnRGcm9tWChlLnNsaWNlKDEsMStyKSwzPT09ZVswXSk7dGhyb3cgbmV3IEVycm9yKCJVbmtub3duIHBvaW50IGZvcm1hdCIpfSxtLnByb3RvdHlwZS5lbmNvZGVDb21wcmVzc2VkPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVuY29kZShlLCEwKX0sbS5wcm90b3R5cGUuX2VuY29kZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLmN1cnZlLnAuYnl0ZUxlbmd0aCgpLHI9dGhpcy5nZXRYKCkudG9BcnJheSgiYmUiLHQpO3JldHVybiBlP1t0aGlzLmdldFkoKS5pc0V2ZW4oKT8yOjNdLmNvbmNhdChyKTpbNF0uY29uY2F0KHIsdGhpcy5nZXRZKCkudG9BcnJheSgiYmUiLHQpKX0sbS5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGQuZW5jb2RlKHRoaXMuX2VuY29kZSh0KSxlKX0sbS5wcm90b3R5cGUucHJlY29tcHV0ZT1mdW5jdGlvbihlKXtpZih0aGlzLnByZWNvbXB1dGVkKXJldHVybiB0aGlzO3ZhciB0PXtkb3VibGVzOm51bGwsbmFmOm51bGwsYmV0YTpudWxsfTtyZXR1cm4gdC5uYWY9dGhpcy5fZ2V0TkFGUG9pbnRzKDgpLHQuZG91Ymxlcz10aGlzLl9nZXREb3VibGVzKDQsZSksdC5iZXRhPXRoaXMuX2dldEJldGEoKSx0aGlzLnByZWNvbXB1dGVkPXQsdGhpc30sbS5wcm90b3R5cGUuX2hhc0RvdWJsZXM9ZnVuY3Rpb24oZSl7aWYoIXRoaXMucHJlY29tcHV0ZWQpcmV0dXJuITE7dmFyIHQ9dGhpcy5wcmVjb21wdXRlZC5kb3VibGVzO3JldHVybiEhdCYmdC5wb2ludHMubGVuZ3RoPj1NYXRoLmNlaWwoKGUuYml0TGVuZ3RoKCkrMSkvdC5zdGVwKX0sbS5wcm90b3R5cGUuX2dldERvdWJsZXM9ZnVuY3Rpb24oZSx0KXtpZih0aGlzLnByZWNvbXB1dGVkJiZ0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMpcmV0dXJuIHRoaXMucHJlY29tcHV0ZWQuZG91Ymxlcztmb3IodmFyIHI9W3RoaXNdLG49dGhpcyxpPTA7aTx0O2krPWUpe2Zvcih2YXIgbz0wO288ZTtvKyspbj1uLmRibCgpO3IucHVzaChuKX1yZXR1cm57c3RlcDplLHBvaW50czpyfX0sbS5wcm90b3R5cGUuX2dldE5BRlBvaW50cz1mdW5jdGlvbihlKXtpZih0aGlzLnByZWNvbXB1dGVkJiZ0aGlzLnByZWNvbXB1dGVkLm5hZilyZXR1cm4gdGhpcy5wcmVjb21wdXRlZC5uYWY7Zm9yKHZhciB0PVt0aGlzXSxyPSgxPDxlKS0xLG49MT09PXI/bnVsbDp0aGlzLmRibCgpLGk9MTtpPHI7aSsrKXRbaV09dFtpLTFdLmFkZChuKTtyZXR1cm57d25kOmUscG9pbnRzOnR9fSxtLnByb3RvdHlwZS5fZ2V0QmV0YT1mdW5jdGlvbigpe3JldHVybiBudWxsfSxtLnByb3RvdHlwZS5kYmxwPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD10aGlzLHI9MDtyPGU7cisrKXQ9dC5kYmwoKTtyZXR1cm4gdH07dmFyIHY9cygoZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5jcmVhdGU/ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dCYmKGUuc3VwZXJfPXQsZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0LnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOmUsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSkpfTplLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtpZih0KXtlLnN1cGVyXz10O3ZhciByPWZ1bmN0aW9uKCl7fTtyLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgcixlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfX19KSksZz1kLmFzc2VydDtmdW5jdGlvbiB3KGUpe3kuY2FsbCh0aGlzLCJzaG9ydCIsZSksdGhpcy5hPW5ldyBvLmRlZmF1bHQoZS5hLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy5iPW5ldyBvLmRlZmF1bHQoZS5iLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy50aW52PXRoaXMudHdvLnJlZEludm0oKSx0aGlzLnplcm9BPTA9PT10aGlzLmEuZnJvbVJlZCgpLmNtcG4oMCksdGhpcy50aHJlZUE9MD09PXRoaXMuYS5mcm9tUmVkKCkuc3ViKHRoaXMucCkuY21wbigtMyksdGhpcy5lbmRvPXRoaXMuX2dldEVuZG9tb3JwaGlzbShlKSx0aGlzLl9lbmRvV25hZlQxPW5ldyBBcnJheSg0KSx0aGlzLl9lbmRvV25hZlQyPW5ldyBBcnJheSg0KX12KHcseSk7dmFyIEE9dztmdW5jdGlvbiBrKGUsdCxyLG4pe3kuQmFzZVBvaW50LmNhbGwodGhpcyxlLCJhZmZpbmUiKSxudWxsPT09dCYmbnVsbD09PXI/KHRoaXMueD1udWxsLHRoaXMueT1udWxsLHRoaXMuaW5mPSEwKToodGhpcy54PW5ldyBvLmRlZmF1bHQodCwxNiksdGhpcy55PW5ldyBvLmRlZmF1bHQociwxNiksbiYmKHRoaXMueC5mb3JjZVJlZCh0aGlzLmN1cnZlLnJlZCksdGhpcy55LmZvcmNlUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy54LnJlZHx8KHRoaXMueD10aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnkucmVkfHwodGhpcy55PXRoaXMueS50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuaW5mPSExKX1mdW5jdGlvbiBfKGUsdCxyLG4pe3kuQmFzZVBvaW50LmNhbGwodGhpcyxlLCJqYWNvYmlhbiIpLG51bGw9PT10JiZudWxsPT09ciYmbnVsbD09PW4/KHRoaXMueD10aGlzLmN1cnZlLm9uZSx0aGlzLnk9dGhpcy5jdXJ2ZS5vbmUsdGhpcy56PW5ldyBvLmRlZmF1bHQoMCkpOih0aGlzLng9bmV3IG8uZGVmYXVsdCh0LDE2KSx0aGlzLnk9bmV3IG8uZGVmYXVsdChyLDE2KSx0aGlzLno9bmV3IG8uZGVmYXVsdChuLDE2KSksdGhpcy54LnJlZHx8KHRoaXMueD10aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnkucmVkfHwodGhpcy55PXRoaXMueS50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuei5yZWR8fCh0aGlzLno9dGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy56T25lPXRoaXMuej09PXRoaXMuY3VydmUub25lfXcucHJvdG90eXBlLl9nZXRFbmRvbW9ycGhpc209ZnVuY3Rpb24oZSl7aWYodGhpcy56ZXJvQSYmdGhpcy5nJiZ0aGlzLm4mJjE9PT10aGlzLnAubW9kbigzKSl7dmFyIHQscjtpZihlLmJldGEpdD1uZXcgby5kZWZhdWx0KGUuYmV0YSwxNikudG9SZWQodGhpcy5yZWQpO2Vsc2V7dmFyIG49dGhpcy5fZ2V0RW5kb1Jvb3RzKHRoaXMucCk7dD0odD1uWzBdLmNtcChuWzFdKTwwP25bMF06blsxXSkudG9SZWQodGhpcy5yZWQpfWlmKGUubGFtYmRhKXI9bmV3IG8uZGVmYXVsdChlLmxhbWJkYSwxNik7ZWxzZXt2YXIgaT10aGlzLl9nZXRFbmRvUm9vdHModGhpcy5uKTswPT09dGhpcy5nLm11bChpWzBdKS54LmNtcCh0aGlzLmcueC5yZWRNdWwodCkpP3I9aVswXToocj1pWzFdLGcoMD09PXRoaXMuZy5tdWwocikueC5jbXAodGhpcy5nLngucmVkTXVsKHQpKSkpfXJldHVybntiZXRhOnQsbGFtYmRhOnIsYmFzaXM6ZS5iYXNpcz9lLmJhc2lzLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJue2E6bmV3IG8uZGVmYXVsdChlLmEsMTYpLGI6bmV3IG8uZGVmYXVsdChlLmIsMTYpfX0pKTp0aGlzLl9nZXRFbmRvQmFzaXMocil9fX0sdy5wcm90b3R5cGUuX2dldEVuZG9Sb290cz1mdW5jdGlvbihlKXt2YXIgdD1lPT09dGhpcy5wP3RoaXMucmVkOm8uZGVmYXVsdC5tb250KGUpLHI9bmV3IG8uZGVmYXVsdCgyKS50b1JlZCh0KS5yZWRJbnZtKCksbj1yLnJlZE5lZygpLGk9bmV3IG8uZGVmYXVsdCgzKS50b1JlZCh0KS5yZWROZWcoKS5yZWRTcXJ0KCkucmVkTXVsKHIpO3JldHVybltuLnJlZEFkZChpKS5mcm9tUmVkKCksbi5yZWRTdWIoaSkuZnJvbVJlZCgpXX0sdy5wcm90b3R5cGUuX2dldEVuZG9CYXNpcz1mdW5jdGlvbihlKXtmb3IodmFyIHQscixuLGksYSxzLHUsYyxmLGQ9dGhpcy5uLnVzaHJuKE1hdGguZmxvb3IodGhpcy5uLmJpdExlbmd0aCgpLzIpKSxsPWUsaD10aGlzLm4uY2xvbmUoKSxwPW5ldyBvLmRlZmF1bHQoMSksYj1uZXcgby5kZWZhdWx0KDApLHk9bmV3IG8uZGVmYXVsdCgwKSxtPW5ldyBvLmRlZmF1bHQoMSksdj0wOzAhPT1sLmNtcG4oMCk7KXt2YXIgZz1oLmRpdihsKTtjPWguc3ViKGcubXVsKGwpKSxmPXkuc3ViKGcubXVsKHApKTt2YXIgdz1tLnN1YihnLm11bChiKSk7aWYoIW4mJmMuY21wKGQpPDApdD11Lm5lZygpLHI9cCxuPWMubmVnKCksaT1mO2Vsc2UgaWYobiYmMj09Kyt2KWJyZWFrO3U9YyxoPWwsbD1jLHk9cCxwPWYsbT1iLGI9d31hPWMubmVnKCkscz1mO3ZhciBBPW4uc3FyKCkuYWRkKGkuc3FyKCkpO3JldHVybiBhLnNxcigpLmFkZChzLnNxcigpKS5jbXAoQSk+PTAmJihhPXQscz1yKSxuLm5lZ2F0aXZlJiYobj1uLm5lZygpLGk9aS5uZWcoKSksYS5uZWdhdGl2ZSYmKGE9YS5uZWcoKSxzPXMubmVnKCkpLFt7YTpuLGI6aX0se2EsYjpzfV19LHcucHJvdG90eXBlLl9lbmRvU3BsaXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5lbmRvLmJhc2lzLHI9dFswXSxuPXRbMV0saT1uLmIubXVsKGUpLmRpdlJvdW5kKHRoaXMubiksbz1yLmIubmVnKCkubXVsKGUpLmRpdlJvdW5kKHRoaXMubiksYT1pLm11bChyLmEpLHM9by5tdWwobi5hKSx1PWkubXVsKHIuYiksYz1vLm11bChuLmIpO3JldHVybntrMTplLnN1YihhKS5zdWIocyksazI6dS5hZGQoYykubmVnKCl9fSx3LnByb3RvdHlwZS5wb2ludEZyb21YPWZ1bmN0aW9uKGUsdCl7KGU9bmV3IG8uZGVmYXVsdChlLDE2KSkucmVkfHwoZT1lLnRvUmVkKHRoaXMucmVkKSk7dmFyIHI9ZS5yZWRTcXIoKS5yZWRNdWwoZSkucmVkSUFkZChlLnJlZE11bCh0aGlzLmEpKS5yZWRJQWRkKHRoaXMuYiksbj1yLnJlZFNxcnQoKTtpZigwIT09bi5yZWRTcXIoKS5yZWRTdWIocikuY21wKHRoaXMuemVybykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBvaW50Iik7dmFyIGk9bi5mcm9tUmVkKCkuaXNPZGQoKTtyZXR1cm4odCYmIWl8fCF0JiZpKSYmKG49bi5yZWROZWcoKSksdGhpcy5wb2ludChlLG4pfSx3LnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbihlKXtpZihlLmluZilyZXR1cm4hMDt2YXIgdD1lLngscj1lLnksbj10aGlzLmEucmVkTXVsKHQpLGk9dC5yZWRTcXIoKS5yZWRNdWwodCkucmVkSUFkZChuKS5yZWRJQWRkKHRoaXMuYik7cmV0dXJuIDA9PT1yLnJlZFNxcigpLnJlZElTdWIoaSkuY21wbigwKX0sdy5wcm90b3R5cGUuX2VuZG9XbmFmTXVsQWRkPWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIG49dGhpcy5fZW5kb1duYWZUMSxpPXRoaXMuX2VuZG9XbmFmVDIsbz0wO288ZS5sZW5ndGg7bysrKXt2YXIgYT10aGlzLl9lbmRvU3BsaXQodFtvXSkscz1lW29dLHU9cy5fZ2V0QmV0YSgpO2EuazEubmVnYXRpdmUmJihhLmsxLmluZWcoKSxzPXMubmVnKCEwKSksYS5rMi5uZWdhdGl2ZSYmKGEuazIuaW5lZygpLHU9dS5uZWcoITApKSxuWzIqb109cyxuWzIqbysxXT11LGlbMipvXT1hLmsxLGlbMipvKzFdPWEuazJ9Zm9yKHZhciBjPXRoaXMuX3duYWZNdWxBZGQoMSxuLGksMipvLHIpLGY9MDtmPDIqbztmKyspbltmXT1udWxsLGlbZl09bnVsbDtyZXR1cm4gY30sdihrLHkuQmFzZVBvaW50KSx3LnByb3RvdHlwZS5wb2ludD1mdW5jdGlvbihlLHQscil7cmV0dXJuIG5ldyBrKHRoaXMsZSx0LHIpfSx3LnByb3RvdHlwZS5wb2ludEZyb21KU09OPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGsuZnJvbUpTT04odGhpcyxlLHQpfSxrLnByb3RvdHlwZS5fZ2V0QmV0YT1mdW5jdGlvbigpe2lmKHRoaXMuY3VydmUuZW5kbyl7dmFyIGU9dGhpcy5wcmVjb21wdXRlZDtpZihlJiZlLmJldGEpcmV0dXJuIGUuYmV0YTt2YXIgdD10aGlzLmN1cnZlLnBvaW50KHRoaXMueC5yZWRNdWwodGhpcy5jdXJ2ZS5lbmRvLmJldGEpLHRoaXMueSk7aWYoZSl7dmFyIHI9dGhpcy5jdXJ2ZSxuPWZ1bmN0aW9uKGUpe3JldHVybiByLnBvaW50KGUueC5yZWRNdWwoci5lbmRvLmJldGEpLGUueSl9O2UuYmV0YT10LHQucHJlY29tcHV0ZWQ9e2JldGE6bnVsbCxuYWY6ZS5uYWYmJnt3bmQ6ZS5uYWYud25kLHBvaW50czplLm5hZi5wb2ludHMubWFwKG4pfSxkb3VibGVzOmUuZG91YmxlcyYme3N0ZXA6ZS5kb3VibGVzLnN0ZXAscG9pbnRzOmUuZG91Ymxlcy5wb2ludHMubWFwKG4pfX19cmV0dXJuIHR9fSxrLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmVjb21wdXRlZD9bdGhpcy54LHRoaXMueSx0aGlzLnByZWNvbXB1dGVkJiZ7ZG91Ymxlczp0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMmJntzdGVwOnRoaXMucHJlY29tcHV0ZWQuZG91Ymxlcy5zdGVwLHBvaW50czp0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMucG9pbnRzLnNsaWNlKDEpfSxuYWY6dGhpcy5wcmVjb21wdXRlZC5uYWYmJnt3bmQ6dGhpcy5wcmVjb21wdXRlZC5uYWYud25kLHBvaW50czp0aGlzLnByZWNvbXB1dGVkLm5hZi5wb2ludHMuc2xpY2UoMSl9fV06W3RoaXMueCx0aGlzLnldfSxrLmZyb21KU09OPWZ1bmN0aW9uKGUsdCxyKXsic3RyaW5nIj09dHlwZW9mIHQmJih0PUpTT04ucGFyc2UodCkpO3ZhciBuPWUucG9pbnQodFswXSx0WzFdLHIpO2lmKCF0WzJdKXJldHVybiBuO2Z1bmN0aW9uIGkodCl7cmV0dXJuIGUucG9pbnQodFswXSx0WzFdLHIpfXZhciBvPXRbMl07cmV0dXJuIG4ucHJlY29tcHV0ZWQ9e2JldGE6bnVsbCxkb3VibGVzOm8uZG91YmxlcyYme3N0ZXA6by5kb3VibGVzLnN0ZXAscG9pbnRzOltuXS5jb25jYXQoby5kb3VibGVzLnBvaW50cy5tYXAoaSkpfSxuYWY6by5uYWYmJnt3bmQ6by5uYWYud25kLHBvaW50czpbbl0uY29uY2F0KG8ubmFmLnBvaW50cy5tYXAoaSkpfX0sbn0say5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT8iPEVDIFBvaW50IEluZmluaXR5PiI6IjxFQyBQb2ludCB4OiAiK3RoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIiB5OiAiK3RoaXMueS5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIj4ifSxrLnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5mfSxrLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5pbmYpcmV0dXJuIGU7aWYoZS5pbmYpcmV0dXJuIHRoaXM7aWYodGhpcy5lcShlKSlyZXR1cm4gdGhpcy5kYmwoKTtpZih0aGlzLm5lZygpLmVxKGUpKXJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCk7aWYoMD09PXRoaXMueC5jbXAoZS54KSlyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpO3ZhciB0PXRoaXMueS5yZWRTdWIoZS55KTswIT09dC5jbXBuKDApJiYodD10LnJlZE11bCh0aGlzLngucmVkU3ViKGUueCkucmVkSW52bSgpKSk7dmFyIHI9dC5yZWRTcXIoKS5yZWRJU3ViKHRoaXMueCkucmVkSVN1YihlLngpLG49dC5yZWRNdWwodGhpcy54LnJlZFN1YihyKSkucmVkSVN1Yih0aGlzLnkpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KHIsbil9LGsucHJvdG90eXBlLmRibD1mdW5jdGlvbigpe2lmKHRoaXMuaW5mKXJldHVybiB0aGlzO3ZhciBlPXRoaXMueS5yZWRBZGQodGhpcy55KTtpZigwPT09ZS5jbXBuKDApKXJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCk7dmFyIHQ9dGhpcy5jdXJ2ZS5hLHI9dGhpcy54LnJlZFNxcigpLG49ZS5yZWRJbnZtKCksaT1yLnJlZEFkZChyKS5yZWRJQWRkKHIpLnJlZElBZGQodCkucmVkTXVsKG4pLG89aS5yZWRTcXIoKS5yZWRJU3ViKHRoaXMueC5yZWRBZGQodGhpcy54KSksYT1pLnJlZE11bCh0aGlzLngucmVkU3ViKG8pKS5yZWRJU3ViKHRoaXMueSk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQobyxhKX0say5wcm90b3R5cGUuZ2V0WD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnguZnJvbVJlZCgpfSxrLnByb3RvdHlwZS5nZXRZPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueS5mcm9tUmVkKCl9LGsucHJvdG90eXBlLm11bD1mdW5jdGlvbihlKXtyZXR1cm4gZT1uZXcgby5kZWZhdWx0KGUsMTYpLHRoaXMuaXNJbmZpbml0eSgpP3RoaXM6dGhpcy5faGFzRG91YmxlcyhlKT90aGlzLmN1cnZlLl9maXhlZE5hZk11bCh0aGlzLGUpOnRoaXMuY3VydmUuZW5kbz90aGlzLmN1cnZlLl9lbmRvV25hZk11bEFkZChbdGhpc10sW2VdKTp0aGlzLmN1cnZlLl93bmFmTXVsKHRoaXMsZSl9LGsucHJvdG90eXBlLm11bEFkZD1mdW5jdGlvbihlLHQscil7dmFyIG49W3RoaXMsdF0saT1bZSxyXTtyZXR1cm4gdGhpcy5jdXJ2ZS5lbmRvP3RoaXMuY3VydmUuX2VuZG9XbmFmTXVsQWRkKG4saSk6dGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLG4saSwyKX0say5wcm90b3R5cGUuam11bEFkZD1mdW5jdGlvbihlLHQscil7dmFyIG49W3RoaXMsdF0saT1bZSxyXTtyZXR1cm4gdGhpcy5jdXJ2ZS5lbmRvP3RoaXMuY3VydmUuX2VuZG9XbmFmTXVsQWRkKG4saSwhMCk6dGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLG4saSwyLCEwKX0say5wcm90b3R5cGUuZXE9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXM9PT1lfHx0aGlzLmluZj09PWUuaW5mJiYodGhpcy5pbmZ8fDA9PT10aGlzLnguY21wKGUueCkmJjA9PT10aGlzLnkuY21wKGUueSkpfSxrLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oZSl7aWYodGhpcy5pbmYpcmV0dXJuIHRoaXM7dmFyIHQ9dGhpcy5jdXJ2ZS5wb2ludCh0aGlzLngsdGhpcy55LnJlZE5lZygpKTtpZihlJiZ0aGlzLnByZWNvbXB1dGVkKXt2YXIgcj10aGlzLnByZWNvbXB1dGVkLG49ZnVuY3Rpb24oZSl7cmV0dXJuIGUubmVnKCl9O3QucHJlY29tcHV0ZWQ9e25hZjpyLm5hZiYme3duZDpyLm5hZi53bmQscG9pbnRzOnIubmFmLnBvaW50cy5tYXAobil9LGRvdWJsZXM6ci5kb3VibGVzJiZ7c3RlcDpyLmRvdWJsZXMuc3RlcCxwb2ludHM6ci5kb3VibGVzLnBvaW50cy5tYXAobil9fX1yZXR1cm4gdH0say5wcm90b3R5cGUudG9KPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5mP3RoaXMuY3VydmUuanBvaW50KG51bGwsbnVsbCxudWxsKTp0aGlzLmN1cnZlLmpwb2ludCh0aGlzLngsdGhpcy55LHRoaXMuY3VydmUub25lKX0sdihfLHkuQmFzZVBvaW50KSx3LnByb3RvdHlwZS5qcG9pbnQ9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBuZXcgXyh0aGlzLGUsdCxyKX0sXy5wcm90b3R5cGUudG9QPWZ1bmN0aW9uKCl7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCxudWxsKTt2YXIgZT10aGlzLnoucmVkSW52bSgpLHQ9ZS5yZWRTcXIoKSxyPXRoaXMueC5yZWRNdWwodCksbj10aGlzLnkucmVkTXVsKHQpLnJlZE11bChlKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChyLG4pfSxfLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQodGhpcy54LHRoaXMueS5yZWROZWcoKSx0aGlzLnopfSxfLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIGU7aWYoZS5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXM7dmFyIHQ9ZS56LnJlZFNxcigpLHI9dGhpcy56LnJlZFNxcigpLG49dGhpcy54LnJlZE11bCh0KSxpPWUueC5yZWRNdWwociksbz10aGlzLnkucmVkTXVsKHQucmVkTXVsKGUueikpLGE9ZS55LnJlZE11bChyLnJlZE11bCh0aGlzLnopKSxzPW4ucmVkU3ViKGkpLHU9by5yZWRTdWIoYSk7aWYoMD09PXMuY21wbigwKSlyZXR1cm4gMCE9PXUuY21wbigwKT90aGlzLmN1cnZlLmpwb2ludChudWxsLG51bGwsbnVsbCk6dGhpcy5kYmwoKTt2YXIgYz1zLnJlZFNxcigpLGY9Yy5yZWRNdWwocyksZD1uLnJlZE11bChjKSxsPXUucmVkU3FyKCkucmVkSUFkZChmKS5yZWRJU3ViKGQpLnJlZElTdWIoZCksaD11LnJlZE11bChkLnJlZElTdWIobCkpLnJlZElTdWIoby5yZWRNdWwoZikpLHA9dGhpcy56LnJlZE11bChlLnopLnJlZE11bChzKTtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobCxoLHApfSxfLnByb3RvdHlwZS5taXhlZEFkZD1mdW5jdGlvbihlKXtpZih0aGlzLmlzSW5maW5pdHkoKSlyZXR1cm4gZS50b0ooKTtpZihlLmlzSW5maW5pdHkoKSlyZXR1cm4gdGhpczt2YXIgdD10aGlzLnoucmVkU3FyKCkscj10aGlzLngsbj1lLngucmVkTXVsKHQpLGk9dGhpcy55LG89ZS55LnJlZE11bCh0KS5yZWRNdWwodGhpcy56KSxhPXIucmVkU3ViKG4pLHM9aS5yZWRTdWIobyk7aWYoMD09PWEuY21wbigwKSlyZXR1cm4gMCE9PXMuY21wbigwKT90aGlzLmN1cnZlLmpwb2ludChudWxsLG51bGwsbnVsbCk6dGhpcy5kYmwoKTt2YXIgdT1hLnJlZFNxcigpLGM9dS5yZWRNdWwoYSksZj1yLnJlZE11bCh1KSxkPXMucmVkU3FyKCkucmVkSUFkZChjKS5yZWRJU3ViKGYpLnJlZElTdWIoZiksbD1zLnJlZE11bChmLnJlZElTdWIoZCkpLnJlZElTdWIoaS5yZWRNdWwoYykpLGg9dGhpcy56LnJlZE11bChhKTtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQoZCxsLGgpfSxfLnByb3RvdHlwZS5kYmxwPWZ1bmN0aW9uKGUpe2lmKDA9PT1lKXJldHVybiB0aGlzO2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzO2lmKCFlKXJldHVybiB0aGlzLmRibCgpO3ZhciB0O2lmKHRoaXMuY3VydmUuemVyb0F8fHRoaXMuY3VydmUudGhyZWVBKXt2YXIgcj10aGlzO2Zvcih0PTA7dDxlO3QrKylyPXIuZGJsKCk7cmV0dXJuIHJ9dmFyIG49dGhpcy5jdXJ2ZS5hLGk9dGhpcy5jdXJ2ZS50aW52LG89dGhpcy54LGE9dGhpcy55LHM9dGhpcy56LHU9cy5yZWRTcXIoKS5yZWRTcXIoKSxjPWEucmVkQWRkKGEpO2Zvcih0PTA7dDxlO3QrKyl7dmFyIGY9by5yZWRTcXIoKSxkPWMucmVkU3FyKCksbD1kLnJlZFNxcigpLGg9Zi5yZWRBZGQoZikucmVkSUFkZChmKS5yZWRJQWRkKG4ucmVkTXVsKHUpKSxwPW8ucmVkTXVsKGQpLGI9aC5yZWRTcXIoKS5yZWRJU3ViKHAucmVkQWRkKHApKSx5PXAucmVkSVN1YihiKSxtPWgucmVkTXVsKHkpO209bS5yZWRJQWRkKG0pLnJlZElTdWIobCk7dmFyIHY9Yy5yZWRNdWwocyk7dCsxPGUmJih1PXUucmVkTXVsKGwpKSxvPWIscz12LGM9bX1yZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobyxjLnJlZE11bChpKSxzKX0sXy5wcm90b3R5cGUuZGJsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNJbmZpbml0eSgpP3RoaXM6dGhpcy5jdXJ2ZS56ZXJvQT90aGlzLl96ZXJvRGJsKCk6dGhpcy5jdXJ2ZS50aHJlZUE/dGhpcy5fdGhyZWVEYmwoKTp0aGlzLl9kYmwoKX0sXy5wcm90b3R5cGUuX3plcm9EYmw9ZnVuY3Rpb24oKXt2YXIgZSx0LHI7aWYodGhpcy56T25lKXt2YXIgbj10aGlzLngucmVkU3FyKCksaT10aGlzLnkucmVkU3FyKCksbz1pLnJlZFNxcigpLGE9dGhpcy54LnJlZEFkZChpKS5yZWRTcXIoKS5yZWRJU3ViKG4pLnJlZElTdWIobyk7YT1hLnJlZElBZGQoYSk7dmFyIHM9bi5yZWRBZGQobikucmVkSUFkZChuKSx1PXMucmVkU3FyKCkucmVkSVN1YihhKS5yZWRJU3ViKGEpLGM9by5yZWRJQWRkKG8pO2M9KGM9Yy5yZWRJQWRkKGMpKS5yZWRJQWRkKGMpLGU9dSx0PXMucmVkTXVsKGEucmVkSVN1Yih1KSkucmVkSVN1YihjKSxyPXRoaXMueS5yZWRBZGQodGhpcy55KX1lbHNle3ZhciBmPXRoaXMueC5yZWRTcXIoKSxkPXRoaXMueS5yZWRTcXIoKSxsPWQucmVkU3FyKCksaD10aGlzLngucmVkQWRkKGQpLnJlZFNxcigpLnJlZElTdWIoZikucmVkSVN1YihsKTtoPWgucmVkSUFkZChoKTt2YXIgcD1mLnJlZEFkZChmKS5yZWRJQWRkKGYpLGI9cC5yZWRTcXIoKSx5PWwucmVkSUFkZChsKTt5PSh5PXkucmVkSUFkZCh5KSkucmVkSUFkZCh5KSxlPWIucmVkSVN1YihoKS5yZWRJU3ViKGgpLHQ9cC5yZWRNdWwoaC5yZWRJU3ViKGUpKS5yZWRJU3ViKHkpLHI9KHI9dGhpcy55LnJlZE11bCh0aGlzLnopKS5yZWRJQWRkKHIpfXJldHVybiB0aGlzLmN1cnZlLmpwb2ludChlLHQscil9LF8ucHJvdG90eXBlLl90aHJlZURibD1mdW5jdGlvbigpe3ZhciBlLHQscjtpZih0aGlzLnpPbmUpe3ZhciBuPXRoaXMueC5yZWRTcXIoKSxpPXRoaXMueS5yZWRTcXIoKSxvPWkucmVkU3FyKCksYT10aGlzLngucmVkQWRkKGkpLnJlZFNxcigpLnJlZElTdWIobikucmVkSVN1YihvKTthPWEucmVkSUFkZChhKTt2YXIgcz1uLnJlZEFkZChuKS5yZWRJQWRkKG4pLnJlZElBZGQodGhpcy5jdXJ2ZS5hKSx1PXMucmVkU3FyKCkucmVkSVN1YihhKS5yZWRJU3ViKGEpO2U9dTt2YXIgYz1vLnJlZElBZGQobyk7Yz0oYz1jLnJlZElBZGQoYykpLnJlZElBZGQoYyksdD1zLnJlZE11bChhLnJlZElTdWIodSkpLnJlZElTdWIoYykscj10aGlzLnkucmVkQWRkKHRoaXMueSl9ZWxzZXt2YXIgZj10aGlzLnoucmVkU3FyKCksZD10aGlzLnkucmVkU3FyKCksbD10aGlzLngucmVkTXVsKGQpLGg9dGhpcy54LnJlZFN1YihmKS5yZWRNdWwodGhpcy54LnJlZEFkZChmKSk7aD1oLnJlZEFkZChoKS5yZWRJQWRkKGgpO3ZhciBwPWwucmVkSUFkZChsKSxiPShwPXAucmVkSUFkZChwKSkucmVkQWRkKHApO2U9aC5yZWRTcXIoKS5yZWRJU3ViKGIpLHI9dGhpcy55LnJlZEFkZCh0aGlzLnopLnJlZFNxcigpLnJlZElTdWIoZCkucmVkSVN1YihmKTt2YXIgeT1kLnJlZFNxcigpO3k9KHk9KHk9eS5yZWRJQWRkKHkpKS5yZWRJQWRkKHkpKS5yZWRJQWRkKHkpLHQ9aC5yZWRNdWwocC5yZWRJU3ViKGUpKS5yZWRJU3ViKHkpfXJldHVybiB0aGlzLmN1cnZlLmpwb2ludChlLHQscil9LF8ucHJvdG90eXBlLl9kYmw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmN1cnZlLmEsdD10aGlzLngscj10aGlzLnksbj10aGlzLnosaT1uLnJlZFNxcigpLnJlZFNxcigpLG89dC5yZWRTcXIoKSxhPXIucmVkU3FyKCkscz1vLnJlZEFkZChvKS5yZWRJQWRkKG8pLnJlZElBZGQoZS5yZWRNdWwoaSkpLHU9dC5yZWRBZGQodCksYz0odT11LnJlZElBZGQodSkpLnJlZE11bChhKSxmPXMucmVkU3FyKCkucmVkSVN1YihjLnJlZEFkZChjKSksZD1jLnJlZElTdWIoZiksbD1hLnJlZFNxcigpO2w9KGw9KGw9bC5yZWRJQWRkKGwpKS5yZWRJQWRkKGwpKS5yZWRJQWRkKGwpO3ZhciBoPXMucmVkTXVsKGQpLnJlZElTdWIobCkscD1yLnJlZEFkZChyKS5yZWRNdWwobik7cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KGYsaCxwKX0sXy5wcm90b3R5cGUudHJwbD1mdW5jdGlvbigpe2lmKCF0aGlzLmN1cnZlLnplcm9BKXJldHVybiB0aGlzLmRibCgpLmFkZCh0aGlzKTt2YXIgZT10aGlzLngucmVkU3FyKCksdD10aGlzLnkucmVkU3FyKCkscj10aGlzLnoucmVkU3FyKCksbj10LnJlZFNxcigpLGk9ZS5yZWRBZGQoZSkucmVkSUFkZChlKSxvPWkucmVkU3FyKCksYT10aGlzLngucmVkQWRkKHQpLnJlZFNxcigpLnJlZElTdWIoZSkucmVkSVN1YihuKSxzPShhPShhPShhPWEucmVkSUFkZChhKSkucmVkQWRkKGEpLnJlZElBZGQoYSkpLnJlZElTdWIobykpLnJlZFNxcigpLHU9bi5yZWRJQWRkKG4pO3U9KHU9KHU9dS5yZWRJQWRkKHUpKS5yZWRJQWRkKHUpKS5yZWRJQWRkKHUpO3ZhciBjPWkucmVkSUFkZChhKS5yZWRTcXIoKS5yZWRJU3ViKG8pLnJlZElTdWIocykucmVkSVN1Yih1KSxmPXQucmVkTXVsKGMpO2Y9KGY9Zi5yZWRJQWRkKGYpKS5yZWRJQWRkKGYpO3ZhciBkPXRoaXMueC5yZWRNdWwocykucmVkSVN1YihmKTtkPShkPWQucmVkSUFkZChkKSkucmVkSUFkZChkKTt2YXIgbD10aGlzLnkucmVkTXVsKGMucmVkTXVsKHUucmVkSVN1YihjKSkucmVkSVN1YihhLnJlZE11bChzKSkpO2w9KGw9KGw9bC5yZWRJQWRkKGwpKS5yZWRJQWRkKGwpKS5yZWRJQWRkKGwpO3ZhciBoPXRoaXMuei5yZWRBZGQoYSkucmVkU3FyKCkucmVkSVN1YihyKS5yZWRJU3ViKHMpO3JldHVybiB0aGlzLmN1cnZlLmpwb2ludChkLGwsaCl9LF8ucHJvdG90eXBlLm11bD1mdW5jdGlvbihlLHQpe3JldHVybiBlPW5ldyBvLmRlZmF1bHQoZSx0KSx0aGlzLmN1cnZlLl93bmFmTXVsKHRoaXMsZSl9LF8ucHJvdG90eXBlLmVxPWZ1bmN0aW9uKGUpe2lmKCJhZmZpbmUiPT09ZS50eXBlKXJldHVybiB0aGlzLmVxKGUudG9KKCkpO2lmKHRoaXM9PT1lKXJldHVybiEwO3ZhciB0PXRoaXMuei5yZWRTcXIoKSxyPWUuei5yZWRTcXIoKTtpZigwIT09dGhpcy54LnJlZE11bChyKS5yZWRJU3ViKGUueC5yZWRNdWwodCkpLmNtcG4oMCkpcmV0dXJuITE7dmFyIG49dC5yZWRNdWwodGhpcy56KSxpPXIucmVkTXVsKGUueik7cmV0dXJuIDA9PT10aGlzLnkucmVkTXVsKGkpLnJlZElTdWIoZS55LnJlZE11bChuKSkuY21wbigwKX0sXy5wcm90b3R5cGUuZXFYVG9QPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuei5yZWRTcXIoKSxyPWUudG9SZWQodGhpcy5jdXJ2ZS5yZWQpLnJlZE11bCh0KTtpZigwPT09dGhpcy54LmNtcChyKSlyZXR1cm4hMDtmb3IodmFyIG49ZS5jbG9uZSgpLGk9dGhpcy5jdXJ2ZS5yZWROLnJlZE11bCh0KTs7KXtpZihuLmlhZGQodGhpcy5jdXJ2ZS5uKSxuLmNtcCh0aGlzLmN1cnZlLnApPj0wKXJldHVybiExO2lmKHIucmVkSUFkZChpKSwwPT09dGhpcy54LmNtcChyKSlyZXR1cm4hMH19LF8ucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/IjxFQyBKUG9pbnQgSW5maW5pdHk+IjoiPEVDIEpQb2ludCB4OiAiK3RoaXMueC50b1N0cmluZygxNiwyKSsiIHk6ICIrdGhpcy55LnRvU3RyaW5nKDE2LDIpKyIgejogIit0aGlzLnoudG9TdHJpbmcoMTYsMikrIj4ifSxfLnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLnouY21wbigwKX07dmFyIFM9cygoZnVuY3Rpb24oZSx0KXt2YXIgcj10O3IuYmFzZT15LHIuc2hvcnQ9QSxyLm1vbnQ9bnVsbCxyLmVkd2FyZHM9bnVsbH0pKSx4PXMoKGZ1bmN0aW9uKGUsdCl7dmFyIHIsbj10LGk9ZC5hc3NlcnQ7ZnVuY3Rpb24gbyhlKXsic2hvcnQiPT09ZS50eXBlP3RoaXMuY3VydmU9bmV3IFMuc2hvcnQoZSk6ImVkd2FyZHMiPT09ZS50eXBlP3RoaXMuY3VydmU9bmV3IFMuZWR3YXJkcyhlKTp0aGlzLmN1cnZlPW5ldyBTLm1vbnQoZSksdGhpcy5nPXRoaXMuY3VydmUuZyx0aGlzLm49dGhpcy5jdXJ2ZS5uLHRoaXMuaGFzaD1lLmhhc2gsaSh0aGlzLmcudmFsaWRhdGUoKSwiSW52YWxpZCBjdXJ2ZSIpLGkodGhpcy5nLm11bCh0aGlzLm4pLmlzSW5maW5pdHkoKSwiSW52YWxpZCBjdXJ2ZSwgRypOICE9IE8iKX1mdW5jdGlvbiBzKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sZSx7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7dmFyIHI9bmV3IG8odCk7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLGUse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOnJ9KSxyfX0pfW4uUHJlc2V0Q3VydmU9byxzKCJwMTkyIix7dHlwZToic2hvcnQiLHByaW1lOiJwMTkyIixwOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZiIsYToiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmMiLGI6IjY0MjEwNTE5IGU1OWM4MGU3IDBmYTdlOWFiIDcyMjQzMDQ5IGZlYjhkZWVjIGMxNDZiOWIxIixuOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiA5OWRlZjgzNiAxNDZiYzliMSBiNGQyMjgzMSIsaGFzaDphLmRlZmF1bHQuc2hhMjU2LGdSZWQ6ITEsZzpbIjE4OGRhODBlIGIwMzA5MGY2IDdjYmYyMGViIDQzYTE4ODAwIGY0ZmYwYWZkIDgyZmYxMDEyIiwiMDcxOTJiOTUgZmZjOGRhNzggNjMxMDExZWQgNmIyNGNkZDUgNzNmOTc3YTEgMWU3OTQ4MTEiXX0pLHMoInAyMjQiLHt0eXBlOiJzaG9ydCIscHJpbWU6InAyMjQiLHA6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxIixhOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSIsYjoiYjQwNTBhODUgMGMwNGIzYWIgZjU0MTMyNTYgNTA0NGIwYjcgZDdiZmQ4YmEgMjcwYjM5NDMgMjM1NWZmYjQiLG46ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmYxNmEyIGUwYjhmMDNlIDEzZGQyOTQ1IDVjNWMyYTNkIixoYXNoOmEuZGVmYXVsdC5zaGEyNTYsZ1JlZDohMSxnOlsiYjcwZTBjYmQgNmJiNGJmN2YgMzIxMzkwYjkgNGEwM2MxZDMgNTZjMjExMjIgMzQzMjgwZDYgMTE1YzFkMjEiLCJiZDM3NjM4OCBiNWY3MjNmYiA0YzIyZGZlNiBjZDQzNzVhMCA1YTA3NDc2NCA0NGQ1ODE5OSA4NTAwN2UzNCJdfSkscygicDI1NiIse3R5cGU6InNob3J0IixwcmltZTpudWxsLHA6ImZmZmZmZmZmIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIixhOiJmZmZmZmZmZiAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmYyIsYjoiNWFjNjM1ZDggYWEzYTkzZTcgYjNlYmJkNTUgNzY5ODg2YmMgNjUxZDA2YjAgY2M1M2IwZjYgM2JjZTNjM2UgMjdkMjYwNGIiLG46ImZmZmZmZmZmIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGJjZTZmYWFkIGE3MTc5ZTg0IGYzYjljYWMyIGZjNjMyNTUxIixoYXNoOmEuZGVmYXVsdC5zaGEyNTYsZ1JlZDohMSxnOlsiNmIxN2QxZjIgZTEyYzQyNDcgZjhiY2U2ZTUgNjNhNDQwZjIgNzcwMzdkODEgMmRlYjMzYTAgZjRhMTM5NDUgZDg5OGMyOTYiLCI0ZmUzNDJlMiBmZTFhN2Y5YiA4ZWU3ZWI0YSA3YzBmOWUxNiAyYmNlMzM1NyA2YjMxNWVjZSBjYmI2NDA2OCAzN2JmNTFmNSJdfSkscygicDM4NCIse3R5cGU6InNob3J0IixwcmltZTpudWxsLHA6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIixhOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmYyIsYjoiYjMzMTJmYTcgZTIzZWU3ZTQgOTg4ZTA1NmIgZTNmODJkMTkgMTgxZDljNmUgZmU4MTQxMTIgMDMxNDA4OGYgNTAxMzg3NWEgYzY1NjM5OGQgOGEyZWQxOWQgMmE4NWM4ZWQgZDNlYzJhZWYiLG46ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGM3NjM0ZDgxIGY0MzcyZGRmIDU4MWEwZGIyIDQ4YjBhNzdhIGVjZWMxOTZhIGNjYzUyOTczIixoYXNoOmEuZGVmYXVsdC5zaGEzODQsZ1JlZDohMSxnOlsiYWE4N2NhMjIgYmU4YjA1MzcgOGViMWM3MWUgZjMyMGFkNzQgNmUxZDNiNjIgOGJhNzliOTggNTlmNzQxZTAgODI1NDJhMzggNTUwMmYyNWQgYmY1NTI5NmMgM2E1NDVlMzggNzI3NjBhYjciLCIzNjE3ZGU0YSA5NjI2MmM2ZiA1ZDllOThiZiA5MjkyZGMyOSBmOGY0MWRiZCAyODlhMTQ3YyBlOWRhMzExMyBiNWYwYjhjMCAwYTYwYjFjZSAxZDdlODE5ZCA3YTQzMWQ3YyA5MGVhMGU1ZiJdfSkscygicDUyMSIse3R5cGU6InNob3J0IixwcmltZTpudWxsLHA6IjAwMDAwMWZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIixhOiIwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmYyIsYjoiMDAwMDAwNTEgOTUzZWI5NjEgOGUxYzlhMWYgOTI5YTIxYTAgYjY4NTQwZWUgYTJkYTcyNWIgOTliMzE1ZjMgYjhiNDg5OTEgOGVmMTA5ZTEgNTYxOTM5NTEgZWM3ZTkzN2IgMTY1MmMwYmQgM2JiMWJmMDcgMzU3M2RmODggM2QyYzM0ZjEgZWY0NTFmZDQgNmI1MDNmMDAiLG46IjAwMDAwMWZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZhIDUxODY4NzgzIGJmMmY5NjZiIDdmY2MwMTQ4IGY3MDlhNWQwIDNiYjVjOWI4IDg5OWM0N2FlIGJiNmZiNzFlIDkxMzg2NDA5IixoYXNoOmEuZGVmYXVsdC5zaGE1MTIsZ1JlZDohMSxnOlsiMDAwMDAwYzYgODU4ZTA2YjcgMDQwNGU5Y2QgOWUzZWNiNjYgMjM5NWI0NDIgOWM2NDgxMzkgMDUzZmI1MjEgZjgyOGFmNjAgNmI0ZDNkYmEgYTE0YjVlNzcgZWZlNzU5MjggZmUxZGMxMjcgYTJmZmE4ZGUgMzM0OGIzYzEgODU2YTQyOWIgZjk3ZTdlMzEgYzJlNWJkNjYiLCIwMDAwMDExOCAzOTI5NmE3OCA5YTNiYzAwNCA1YzhhNWZiNCAyYzdkMWJkOSA5OGY1NDQ0OSA1NzliNDQ2OCAxN2FmYmQxNyAyNzNlNjYyYyA5N2VlNzI5OSA1ZWY0MjY0MCBjNTUwYjkwMSAzZmFkMDc2MSAzNTNjNzA4NiBhMjcyYzI0MCA4OGJlOTQ3NiA5ZmQxNjY1MCJdfSkscygiY3VydmUyNTUxOSIse3R5cGU6Im1vbnQiLHByaW1lOiJwMjU1MTkiLHA6IjdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQiLGE6Ijc2ZDA2IixiOiIxIixuOiIxMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMTRkZWY5ZGVhMmY3OWNkNiA1ODEyNjMxYTVjZjVkM2VkIixoYXNoOmEuZGVmYXVsdC5zaGEyNTYsZ1JlZDohMSxnOlsiOSJdfSkscygiZWQyNTUxOSIse3R5cGU6ImVkd2FyZHMiLHByaW1lOiJwMjU1MTkiLHA6IjdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQiLGE6Ii0xIixjOiIxIixkOiI1MjAzNmNlZTJiNmZmZTczIDhjYzc0MDc5Nzc3OWU4OTggMDA3MDBhNGQ0MTQxZDhhYiA3NWViNGRjYTEzNTk3OGEzIixuOiIxMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMTRkZWY5ZGVhMmY3OWNkNiA1ODEyNjMxYTVjZjVkM2VkIixoYXNoOmEuZGVmYXVsdC5zaGEyNTYsZ1JlZDohMSxnOlsiMjE2OTM2ZDNjZDZlNTNmZWMwYTRlMjMxZmRkNmRjNWM2OTJjYzc2MDk1MjVhN2IyYzk1NjJkNjA4ZjI1ZDUxYSIsIjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NTgiXX0pO3RyeXtyPW51bGwuY3Jhc2goKX1jYXRjaChlKXtyPXZvaWQgMH1zKCJzZWNwMjU2azEiLHt0eXBlOiJzaG9ydCIscHJpbWU6ImsyNTYiLHA6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmIixhOiIwIixiOiI3IixuOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBiYWFlZGNlNiBhZjQ4YTAzYiBiZmQyNWU4YyBkMDM2NDE0MSIsaDoiMSIsaGFzaDphLmRlZmF1bHQuc2hhMjU2LGJldGE6IjdhZTk2YTJiNjU3YzA3MTA2ZTY0NDc5ZWFjMzQzNGU5OWNmMDQ5NzUxMmY1ODk5NWMxMzk2YzI4NzE5NTAxZWUiLGxhbWJkYToiNTM2M2FkNGNjMDVjMzBlMGE1MjYxYzAyODgxMjY0NWExMjJlMjJlYTIwODE2Njc4ZGYwMjk2N2MxYjIzYmQ3MiIsYmFzaXM6W3thOiIzMDg2ZDIyMWE3ZDQ2YmNkZTg2YzkwZTQ5Mjg0ZWIxNSIsYjoiLWU0NDM3ZWQ2MDEwZTg4Mjg2ZjU0N2ZhOTBhYmZlNGMzIn0se2E6IjExNGNhNTBmN2E4ZTJmM2Y2NTdjMTEwOGQ5ZDQ0Y2ZkOCIsYjoiMzA4NmQyMjFhN2Q0NmJjZGU4NmM5MGU0OTI4NGViMTUifV0sZ1JlZDohMSxnOlsiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsIjQ4M2FkYTc3MjZhM2M0NjU1ZGE0ZmJmYzBlMTEwOGE4ZmQxN2I0NDhhNjg1NTQxOTljNDdkMDhmZmIxMGQ0YjgiLHJdfSl9KSk7ZnVuY3Rpb24gRShlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBFKSlyZXR1cm4gbmV3IEUoZSk7dGhpcy5oYXNoPWUuaGFzaCx0aGlzLnByZWRSZXNpc3Q9ISFlLnByZWRSZXNpc3QsdGhpcy5vdXRMZW49dGhpcy5oYXNoLm91dFNpemUsdGhpcy5taW5FbnRyb3B5PWUubWluRW50cm9weXx8dGhpcy5oYXNoLmhtYWNTdHJlbmd0aCx0aGlzLl9yZXNlZWQ9bnVsbCx0aGlzLnJlc2VlZEludGVydmFsPW51bGwsdGhpcy5LPW51bGwsdGhpcy5WPW51bGw7dmFyIHQ9Zi50b0FycmF5KGUuZW50cm9weSxlLmVudHJvcHlFbmN8fCJoZXgiKSxyPWYudG9BcnJheShlLm5vbmNlLGUubm9uY2VFbmN8fCJoZXgiKSxuPWYudG9BcnJheShlLnBlcnMsZS5wZXJzRW5jfHwiaGV4Iik7dSh0Lmxlbmd0aD49dGhpcy5taW5FbnRyb3B5LzgsIk5vdCBlbm91Z2ggZW50cm9weS4gTWluaW11bSBpczogIit0aGlzLm1pbkVudHJvcHkrIiBiaXRzIiksdGhpcy5faW5pdCh0LHIsbil9dmFyIFA9RTtFLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbihlLHQscil7dmFyIG49ZS5jb25jYXQodCkuY29uY2F0KHIpO3RoaXMuSz1uZXcgQXJyYXkodGhpcy5vdXRMZW4vOCksdGhpcy5WPW5ldyBBcnJheSh0aGlzLm91dExlbi84KTtmb3IodmFyIGk9MDtpPHRoaXMuVi5sZW5ndGg7aSsrKXRoaXMuS1tpXT0wLHRoaXMuVltpXT0xO3RoaXMuX3VwZGF0ZShuKSx0aGlzLl9yZXNlZWQ9MSx0aGlzLnJlc2VlZEludGVydmFsPTI4MTQ3NDk3NjcxMDY1Nn0sRS5wcm90b3R5cGUuX2htYWM9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGEuZGVmYXVsdC5obWFjKHRoaXMuaGFzaCx0aGlzLkspfSxFLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS51cGRhdGUoWzBdKTtlJiYodD10LnVwZGF0ZShlKSksdGhpcy5LPXQuZGlnZXN0KCksdGhpcy5WPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKSxlJiYodGhpcy5LPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS51cGRhdGUoWzFdKS51cGRhdGUoZSkuZGlnZXN0KCksdGhpcy5WPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKSl9LEUucHJvdG90eXBlLnJlc2VlZD1mdW5jdGlvbihlLHQscixuKXsic3RyaW5nIiE9dHlwZW9mIHQmJihuPXIscj10LHQ9bnVsbCksZT1mLnRvQXJyYXkoZSx0KSxyPWYudG9BcnJheShyLG4pLHUoZS5sZW5ndGg+PXRoaXMubWluRW50cm9weS84LCJOb3QgZW5vdWdoIGVudHJvcHkuIE1pbmltdW0gaXM6ICIrdGhpcy5taW5FbnRyb3B5KyIgYml0cyIpLHRoaXMuX3VwZGF0ZShlLmNvbmNhdChyfHxbXSkpLHRoaXMuX3Jlc2VlZD0xfSxFLnByb3RvdHlwZS5nZW5lcmF0ZT1mdW5jdGlvbihlLHQscixuKXtpZih0aGlzLl9yZXNlZWQ+dGhpcy5yZXNlZWRJbnRlcnZhbCl0aHJvdyBuZXcgRXJyb3IoIlJlc2VlZCBpcyByZXF1aXJlZCIpOyJzdHJpbmciIT10eXBlb2YgdCYmKG49cixyPXQsdD1udWxsKSxyJiYocj1mLnRvQXJyYXkocixufHwiaGV4IiksdGhpcy5fdXBkYXRlKHIpKTtmb3IodmFyIGk9W107aS5sZW5ndGg8ZTspdGhpcy5WPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKSxpPWkuY29uY2F0KHRoaXMuVik7dmFyIG89aS5zbGljZSgwLGUpO3JldHVybiB0aGlzLl91cGRhdGUociksdGhpcy5fcmVzZWVkKyssZi5lbmNvZGUobyx0KX07dmFyIE89ZC5hc3NlcnQ7ZnVuY3Rpb24gQihlLHQpe3RoaXMuZWM9ZSx0aGlzLnByaXY9bnVsbCx0aGlzLnB1Yj1udWxsLHQucHJpdiYmdGhpcy5faW1wb3J0UHJpdmF0ZSh0LnByaXYsdC5wcml2RW5jKSx0LnB1YiYmdGhpcy5faW1wb3J0UHVibGljKHQucHViLHQucHViRW5jKX12YXIgVD1CO0IuZnJvbVB1YmxpYz1mdW5jdGlvbihlLHQscil7cmV0dXJuIHQgaW5zdGFuY2VvZiBCP3Q6bmV3IEIoZSx7cHViOnQscHViRW5jOnJ9KX0sQi5mcm9tUHJpdmF0ZT1mdW5jdGlvbihlLHQscil7cmV0dXJuIHQgaW5zdGFuY2VvZiBCP3Q6bmV3IEIoZSx7cHJpdjp0LHByaXZFbmM6cn0pfSxCLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZ2V0UHVibGljKCk7cmV0dXJuIGUuaXNJbmZpbml0eSgpP3tyZXN1bHQ6ITEscmVhc29uOiJJbnZhbGlkIHB1YmxpYyBrZXkifTplLnZhbGlkYXRlKCk/ZS5tdWwodGhpcy5lYy5jdXJ2ZS5uKS5pc0luZmluaXR5KCk/e3Jlc3VsdDohMCxyZWFzb246bnVsbH06e3Jlc3VsdDohMSxyZWFzb246IlB1YmxpYyBrZXkgKiBOICE9IE8ifTp7cmVzdWx0OiExLHJlYXNvbjoiUHVibGljIGtleSBpcyBub3QgYSBwb2ludCJ9fSxCLnByb3RvdHlwZS5nZXRQdWJsaWM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJih0PWUsZT1udWxsKSx0aGlzLnB1Ynx8KHRoaXMucHViPXRoaXMuZWMuZy5tdWwodGhpcy5wcml2KSksdD90aGlzLnB1Yi5lbmNvZGUodCxlKTp0aGlzLnB1Yn0sQi5wcm90b3R5cGUuZ2V0UHJpdmF0ZT1mdW5jdGlvbihlKXtyZXR1cm4iaGV4Ij09PWU/dGhpcy5wcml2LnRvU3RyaW5nKDE2LDIpOnRoaXMucHJpdn0sQi5wcm90b3R5cGUuX2ltcG9ydFByaXZhdGU9ZnVuY3Rpb24oZSx0KXt0aGlzLnByaXY9bmV3IG8uZGVmYXVsdChlLHR8fDE2KSx0aGlzLnByaXY9dGhpcy5wcml2LnVtb2QodGhpcy5lYy5jdXJ2ZS5uKX0sQi5wcm90b3R5cGUuX2ltcG9ydFB1YmxpYz1mdW5jdGlvbihlLHQpe2lmKGUueHx8ZS55KXJldHVybiJtb250Ij09PXRoaXMuZWMuY3VydmUudHlwZT9PKGUueCwiTmVlZCB4IGNvb3JkaW5hdGUiKToic2hvcnQiIT09dGhpcy5lYy5jdXJ2ZS50eXBlJiYiZWR3YXJkcyIhPT10aGlzLmVjLmN1cnZlLnR5cGV8fE8oZS54JiZlLnksIk5lZWQgYm90aCB4IGFuZCB5IGNvb3JkaW5hdGUiKSx2b2lkKHRoaXMucHViPXRoaXMuZWMuY3VydmUucG9pbnQoZS54LGUueSkpO3RoaXMucHViPXRoaXMuZWMuY3VydmUuZGVjb2RlUG9pbnQoZSx0KX0sQi5wcm90b3R5cGUuZGVyaXZlPWZ1bmN0aW9uKGUpe3JldHVybiBlLnZhbGlkYXRlKCl8fE8oZS52YWxpZGF0ZSgpLCJwdWJsaWMgcG9pbnQgbm90IHZhbGlkYXRlZCIpLGUubXVsKHRoaXMucHJpdikuZ2V0WCgpfSxCLnByb3RvdHlwZS5zaWduPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdGhpcy5lYy5zaWduKGUsdGhpcyx0LHIpfSxCLnByb3RvdHlwZS52ZXJpZnk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lYy52ZXJpZnkoZSx0LHRoaXMpfSxCLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIjxLZXkgcHJpdjogIisodGhpcy5wcml2JiZ0aGlzLnByaXYudG9TdHJpbmcoMTYsMikpKyIgcHViOiAiKyh0aGlzLnB1YiYmdGhpcy5wdWIuaW5zcGVjdCgpKSsiID4ifTt2YXIgQz1kLmFzc2VydDtmdW5jdGlvbiBJKGUsdCl7aWYoZSBpbnN0YW5jZW9mIEkpcmV0dXJuIGU7dGhpcy5faW1wb3J0REVSKGUsdCl8fChDKGUuciYmZS5zLCJTaWduYXR1cmUgd2l0aG91dCByIG9yIHMiKSx0aGlzLnI9bmV3IG8uZGVmYXVsdChlLnIsMTYpLHRoaXMucz1uZXcgby5kZWZhdWx0KGUucywxNiksdm9pZCAwPT09ZS5yZWNvdmVyeVBhcmFtP3RoaXMucmVjb3ZlcnlQYXJhbT1udWxsOnRoaXMucmVjb3ZlcnlQYXJhbT1lLnJlY292ZXJ5UGFyYW0pfXZhciBNPUk7ZnVuY3Rpb24gVSgpe3RoaXMucGxhY2U9MH1mdW5jdGlvbiBSKGUsdCl7dmFyIHI9ZVt0LnBsYWNlKytdO2lmKCEoMTI4JnIpKXJldHVybiByO3ZhciBuPTE1JnI7aWYoMD09PW58fG4+NClyZXR1cm4hMTtmb3IodmFyIGk9MCxvPTAsYT10LnBsYWNlO288bjtvKyssYSsrKWk8PD04LGl8PWVbYV0saT4+Pj0wO3JldHVybiEoaTw9MTI3KSYmKHQucGxhY2U9YSxpKX1mdW5jdGlvbiBqKGUpe2Zvcih2YXIgdD0wLHI9ZS5sZW5ndGgtMTshZVt0XSYmISgxMjgmZVt0KzFdKSYmdDxyOyl0Kys7cmV0dXJuIDA9PT10P2U6ZS5zbGljZSh0KX1mdW5jdGlvbiBOKGUsdCl7aWYodDwxMjgpZS5wdXNoKHQpO2Vsc2V7dmFyIHI9MSsoTWF0aC5sb2codCkvTWF0aC5MTjI+Pj4zKTtmb3IoZS5wdXNoKDEyOHxyKTstLXI7KWUucHVzaCh0Pj4+KHI8PDMpJjI1NSk7ZS5wdXNoKHQpfX1JLnByb3RvdHlwZS5faW1wb3J0REVSPWZ1bmN0aW9uKGUsdCl7ZT1kLnRvQXJyYXkoZSx0KTt2YXIgcj1uZXcgVTtpZig0OCE9PWVbci5wbGFjZSsrXSlyZXR1cm4hMTt2YXIgbj1SKGUscik7aWYoITE9PT1uKXJldHVybiExO2lmKG4rci5wbGFjZSE9PWUubGVuZ3RoKXJldHVybiExO2lmKDIhPT1lW3IucGxhY2UrK10pcmV0dXJuITE7dmFyIGk9UihlLHIpO2lmKCExPT09aSlyZXR1cm4hMTt2YXIgYT1lLnNsaWNlKHIucGxhY2UsaStyLnBsYWNlKTtpZihyLnBsYWNlKz1pLDIhPT1lW3IucGxhY2UrK10pcmV0dXJuITE7dmFyIHM9UihlLHIpO2lmKCExPT09cylyZXR1cm4hMTtpZihlLmxlbmd0aCE9PXMrci5wbGFjZSlyZXR1cm4hMTt2YXIgdT1lLnNsaWNlKHIucGxhY2UscytyLnBsYWNlKTtpZigwPT09YVswXSl7aWYoISgxMjgmYVsxXSkpcmV0dXJuITE7YT1hLnNsaWNlKDEpfWlmKDA9PT11WzBdKXtpZighKDEyOCZ1WzFdKSlyZXR1cm4hMTt1PXUuc2xpY2UoMSl9cmV0dXJuIHRoaXMucj1uZXcgby5kZWZhdWx0KGEpLHRoaXMucz1uZXcgby5kZWZhdWx0KHUpLHRoaXMucmVjb3ZlcnlQYXJhbT1udWxsLCEwfSxJLnByb3RvdHlwZS50b0RFUj1mdW5jdGlvbihlKXt2YXIgdD10aGlzLnIudG9BcnJheSgpLHI9dGhpcy5zLnRvQXJyYXkoKTtmb3IoMTI4JnRbMF0mJih0PVswXS5jb25jYXQodCkpLDEyOCZyWzBdJiYocj1bMF0uY29uY2F0KHIpKSx0PWoodCkscj1qKHIpOyEoclswXXx8MTI4JnJbMV0pOylyPXIuc2xpY2UoMSk7dmFyIG49WzJdO04obix0Lmxlbmd0aCksKG49bi5jb25jYXQodCkpLnB1c2goMiksTihuLHIubGVuZ3RoKTt2YXIgaT1uLmNvbmNhdChyKSxvPVs0OF07cmV0dXJuIE4obyxpLmxlbmd0aCksbz1vLmNvbmNhdChpKSxkLmVuY29kZShvLGUpfTt2YXIgRj1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigidW5zdXBwb3J0ZWQiKX0sTD1kLmFzc2VydDtmdW5jdGlvbiBEKGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIEQpKXJldHVybiBuZXcgRChlKTsic3RyaW5nIj09dHlwZW9mIGUmJihMKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh4LGUpLCJVbmtub3duIGN1cnZlICIrZSksZT14W2VdKSxlIGluc3RhbmNlb2YgeC5QcmVzZXRDdXJ2ZSYmKGU9e2N1cnZlOmV9KSx0aGlzLmN1cnZlPWUuY3VydmUuY3VydmUsdGhpcy5uPXRoaXMuY3VydmUubix0aGlzLm5oPXRoaXMubi51c2hybigxKSx0aGlzLmc9dGhpcy5jdXJ2ZS5nLHRoaXMuZz1lLmN1cnZlLmcsdGhpcy5nLnByZWNvbXB1dGUoZS5jdXJ2ZS5uLmJpdExlbmd0aCgpKzEpLHRoaXMuaGFzaD1lLmhhc2h8fGUuY3VydmUuaGFzaH12YXIgSD1EO0QucHJvdG90eXBlLmtleVBhaXI9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBUKHRoaXMsZSl9LEQucHJvdG90eXBlLmtleUZyb21Qcml2YXRlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFQuZnJvbVByaXZhdGUodGhpcyxlLHQpfSxELnByb3RvdHlwZS5rZXlGcm9tUHVibGljPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFQuZnJvbVB1YmxpYyh0aGlzLGUsdCl9LEQucHJvdG90eXBlLmdlbktleVBhaXI9ZnVuY3Rpb24oZSl7ZXx8KGU9e30pO2Zvcih2YXIgdD1uZXcgUCh7aGFzaDp0aGlzLmhhc2gscGVyczplLnBlcnMscGVyc0VuYzplLnBlcnNFbmN8fCJ1dGY4IixlbnRyb3B5OmUuZW50cm9weXx8Rih0aGlzLmhhc2guaG1hY1N0cmVuZ3RoKSxlbnRyb3B5RW5jOmUuZW50cm9weSYmZS5lbnRyb3B5RW5jfHwidXRmOCIsbm9uY2U6dGhpcy5uLnRvQXJyYXkoKX0pLHI9dGhpcy5uLmJ5dGVMZW5ndGgoKSxuPXRoaXMubi5zdWIobmV3IG8uZGVmYXVsdCgyKSk7Oyl7dmFyIGk9bmV3IG8uZGVmYXVsdCh0LmdlbmVyYXRlKHIpKTtpZighKGkuY21wKG4pPjApKXJldHVybiBpLmlhZGRuKDEpLHRoaXMua2V5RnJvbVByaXZhdGUoaSl9fSxELnByb3RvdHlwZS5fdHJ1bmNhdGVUb049ZnVuY3Rpb24oZSx0KXt2YXIgcj04KmUuYnl0ZUxlbmd0aCgpLXRoaXMubi5iaXRMZW5ndGgoKTtyZXR1cm4gcj4wJiYoZT1lLnVzaHJuKHIpKSwhdCYmZS5jbXAodGhpcy5uKT49MD9lLnN1Yih0aGlzLm4pOmV9LEQucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24oZSx0LHIsbil7Im9iamVjdCI9PT0oMCxpLmRlZmF1bHQpKHIpJiYobj1yLHI9bnVsbCksbnx8KG49e30pLHQ9dGhpcy5rZXlGcm9tUHJpdmF0ZSh0LHIpLGU9dGhpcy5fdHJ1bmNhdGVUb04obmV3IG8uZGVmYXVsdChlLDE2KSk7Zm9yKHZhciBhPXRoaXMubi5ieXRlTGVuZ3RoKCkscz10LmdldFByaXZhdGUoKS50b0FycmF5KCJiZSIsYSksdT1lLnRvQXJyYXkoImJlIixhKSxjPW5ldyBQKHtoYXNoOnRoaXMuaGFzaCxlbnRyb3B5OnMsbm9uY2U6dSxwZXJzOm4ucGVycyxwZXJzRW5jOm4ucGVyc0VuY3x8InV0ZjgifSksZj10aGlzLm4uc3ViKG5ldyBvLmRlZmF1bHQoMSkpLGQ9MDs7ZCsrKXt2YXIgbD1uLms/bi5rKGQpOm5ldyBvLmRlZmF1bHQoYy5nZW5lcmF0ZSh0aGlzLm4uYnl0ZUxlbmd0aCgpKSk7aWYoISgobD10aGlzLl90cnVuY2F0ZVRvTihsLCEwKSkuY21wbigxKTw9MHx8bC5jbXAoZik+PTApKXt2YXIgaD10aGlzLmcubXVsKGwpO2lmKCFoLmlzSW5maW5pdHkoKSl7dmFyIHA9aC5nZXRYKCksYj1wLnVtb2QodGhpcy5uKTtpZigwIT09Yi5jbXBuKDApKXt2YXIgeT1sLmludm0odGhpcy5uKS5tdWwoYi5tdWwodC5nZXRQcml2YXRlKCkpLmlhZGQoZSkpO2lmKDAhPT0oeT15LnVtb2QodGhpcy5uKSkuY21wbigwKSl7dmFyIG09KGguZ2V0WSgpLmlzT2RkKCk/MTowKXwoMCE9PXAuY21wKGIpPzI6MCk7cmV0dXJuIG4uY2Fub25pY2FsJiZ5LmNtcCh0aGlzLm5oKT4wJiYoeT10aGlzLm4uc3ViKHkpLG1ePTEpLG5ldyBNKHtyOmIsczp5LHJlY292ZXJ5UGFyYW06bX0pfX19fX19LEQucHJvdG90eXBlLnZlcmlmeT1mdW5jdGlvbihlLHQscixuKXtlPXRoaXMuX3RydW5jYXRlVG9OKG5ldyBvLmRlZmF1bHQoZSwxNikpLHI9dGhpcy5rZXlGcm9tUHVibGljKHIsbik7dmFyIGk9KHQ9bmV3IE0odCwiaGV4IikpLnIsYT10LnM7aWYoaS5jbXBuKDEpPDB8fGkuY21wKHRoaXMubik+PTApcmV0dXJuITE7aWYoYS5jbXBuKDEpPDB8fGEuY21wKHRoaXMubik+PTApcmV0dXJuITE7dmFyIHMsdT1hLmludm0odGhpcy5uKSxjPXUubXVsKGUpLnVtb2QodGhpcy5uKSxmPXUubXVsKGkpLnVtb2QodGhpcy5uKTtyZXR1cm4gdGhpcy5jdXJ2ZS5fbWF4d2VsbFRyaWNrPyEocz10aGlzLmcuam11bEFkZChjLHIuZ2V0UHVibGljKCksZikpLmlzSW5maW5pdHkoKSYmcy5lcVhUb1AoaSk6IShzPXRoaXMuZy5tdWxBZGQoYyxyLmdldFB1YmxpYygpLGYpKS5pc0luZmluaXR5KCkmJjA9PT1zLmdldFgoKS51bW9kKHRoaXMubikuY21wKGkpfSxELnByb3RvdHlwZS5yZWNvdmVyUHViS2V5PWZ1bmN0aW9uKGUsdCxyLG4pe0woKDMmcik9PT1yLCJUaGUgcmVjb3ZlcnkgcGFyYW0gaXMgbW9yZSB0aGFuIHR3byBiaXRzIiksdD1uZXcgTSh0LG4pO3ZhciBpPXRoaXMubixhPW5ldyBvLmRlZmF1bHQoZSkscz10LnIsdT10LnMsYz0xJnIsZj1yPj4xO2lmKHMuY21wKHRoaXMuY3VydmUucC51bW9kKHRoaXMuY3VydmUubikpPj0wJiZmKXRocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIGZpbmQgc2VuY29uZCBrZXkgY2FuZGluYXRlIik7cz1mP3RoaXMuY3VydmUucG9pbnRGcm9tWChzLmFkZCh0aGlzLmN1cnZlLm4pLGMpOnRoaXMuY3VydmUucG9pbnRGcm9tWChzLGMpO3ZhciBkPXQuci5pbnZtKGkpLGw9aS5zdWIoYSkubXVsKGQpLnVtb2QoaSksaD11Lm11bChkKS51bW9kKGkpO3JldHVybiB0aGlzLmcubXVsQWRkKGwscyxoKX0sRC5wcm90b3R5cGUuZ2V0S2V5UmVjb3ZlcnlQYXJhbT1mdW5jdGlvbihlLHQscixuKXtpZihudWxsIT09KHQ9bmV3IE0odCxuKSkucmVjb3ZlcnlQYXJhbSlyZXR1cm4gdC5yZWNvdmVyeVBhcmFtO2Zvcih2YXIgaT0wO2k8NDtpKyspe3ZhciBvO3RyeXtvPXRoaXMucmVjb3ZlclB1YktleShlLHQsaSl9Y2F0Y2goZSl7Y29udGludWV9aWYoby5lcShyKSlyZXR1cm4gaX10aHJvdyBuZXcgRXJyb3IoIlVuYWJsZSB0byBmaW5kIHZhbGlkIHJlY292ZXJ5IGZhY3RvciIpfTt2YXIgcT1zKChmdW5jdGlvbihlLHQpe3ZhciByPXQ7ci52ZXJzaW9uPSI2LjUuNCIsci51dGlscz1kLHIucmFuZD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigidW5zdXBwb3J0ZWQiKX0sci5jdXJ2ZT1TLHIuY3VydmVzPXgsci5lYz1ILHIuZWRkc2E9bnVsbH0pKSx6PXEuZWM7dC5FQz16fSw3NjEyOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5TaWduaW5nS2V5PXZvaWQgMCx0LmNvbXB1dGVQdWJsaWNLZXk9Yix0LnJlY292ZXJQdWJsaWNLZXk9ZnVuY3Rpb24oZSx0KXt2YXIgcj0oMCxzLnNwbGl0U2lnbmF0dXJlKSh0KSxuPXtyOigwLHMuYXJyYXlpZnkpKHIuciksczooMCxzLmFycmF5aWZ5KShyLnMpfTtyZXR1cm4iMHgiK2goKS5yZWNvdmVyUHViS2V5KCgwLHMuYXJyYXlpZnkpKGUpLG4sci5yZWNvdmVyeVBhcmFtKS5lbmNvZGUoImhleCIsITEpfTt2YXIgaT1uKHIoOTcyMSkpLG89bihyKDg5ODUpKSxhPXIoNjkxOCkscz1yKDkwOCksdT1yKDM2OTQpLGM9cig0MzI3KSxmPXIoODEwMCksZD1uZXcgYy5Mb2dnZXIoZi52ZXJzaW9uKSxsPW51bGw7ZnVuY3Rpb24gaCgpe3JldHVybiBsfHwobD1uZXcgYS5FQygic2VjcDI1NmsxIikpLGx9dmFyIHA9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpeygwLGkuZGVmYXVsdCkodGhpcyxlKSwoMCx1LmRlZmluZVJlYWRPbmx5KSh0aGlzLCJjdXJ2ZSIsInNlY3AyNTZrMSIpLCgwLHUuZGVmaW5lUmVhZE9ubHkpKHRoaXMsInByaXZhdGVLZXkiLCgwLHMuaGV4bGlmeSkodCkpLDMyIT09KDAscy5oZXhEYXRhTGVuZ3RoKSh0aGlzLnByaXZhdGVLZXkpJiZkLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBwcml2YXRlIGtleSIsInByaXZhdGVLZXkiLCJbWyBSRURBQ1RFRCBdXSIpO3ZhciByPWgoKS5rZXlGcm9tUHJpdmF0ZSgoMCxzLmFycmF5aWZ5KSh0aGlzLnByaXZhdGVLZXkpKTsoMCx1LmRlZmluZVJlYWRPbmx5KSh0aGlzLCJwdWJsaWNLZXkiLCIweCIrci5nZXRQdWJsaWMoITEsImhleCIpKSwoMCx1LmRlZmluZVJlYWRPbmx5KSh0aGlzLCJjb21wcmVzc2VkUHVibGljS2V5IiwiMHgiK3IuZ2V0UHVibGljKCEwLCJoZXgiKSksKDAsdS5kZWZpbmVSZWFkT25seSkodGhpcywiX2lzU2lnbmluZ0tleSIsITApfXJldHVybigwLG8uZGVmYXVsdCkoZSxbe2tleToiX2FkZFBvaW50Iix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD1oKCkua2V5RnJvbVB1YmxpYygoMCxzLmFycmF5aWZ5KSh0aGlzLnB1YmxpY0tleSkpLHI9aCgpLmtleUZyb21QdWJsaWMoKDAscy5hcnJheWlmeSkoZSkpO3JldHVybiIweCIrdC5wdWIuYWRkKHIucHViKS5lbmNvZGVDb21wcmVzc2VkKCJoZXgiKX19LHtrZXk6InNpZ25EaWdlc3QiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PWgoKS5rZXlGcm9tUHJpdmF0ZSgoMCxzLmFycmF5aWZ5KSh0aGlzLnByaXZhdGVLZXkpKSxyPSgwLHMuYXJyYXlpZnkpKGUpOzMyIT09ci5sZW5ndGgmJmQudGhyb3dBcmd1bWVudEVycm9yKCJiYWQgZGlnZXN0IGxlbmd0aCIsImRpZ2VzdCIsZSk7dmFyIG49dC5zaWduKHIse2Nhbm9uaWNhbDohMH0pO3JldHVybigwLHMuc3BsaXRTaWduYXR1cmUpKHtyZWNvdmVyeVBhcmFtOm4ucmVjb3ZlcnlQYXJhbSxyOigwLHMuaGV4WmVyb1BhZCkoIjB4IituLnIudG9TdHJpbmcoMTYpLDMyKSxzOigwLHMuaGV4WmVyb1BhZCkoIjB4IituLnMudG9TdHJpbmcoMTYpLDMyKX0pfX0se2tleToiY29tcHV0ZVNoYXJlZFNlY3JldCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9aCgpLmtleUZyb21Qcml2YXRlKCgwLHMuYXJyYXlpZnkpKHRoaXMucHJpdmF0ZUtleSkpLHI9aCgpLmtleUZyb21QdWJsaWMoKDAscy5hcnJheWlmeSkoYihlKSkpO3JldHVybigwLHMuaGV4WmVyb1BhZCkoIjB4Iit0LmRlcml2ZShyLmdldFB1YmxpYygpKS50b1N0cmluZygxNiksMzIpfX1dLFt7a2V5OiJpc1NpZ25pbmdLZXkiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiEoIWV8fCFlLl9pc1NpZ25pbmdLZXkpfX1dKSxlfSgpO2Z1bmN0aW9uIGIoZSx0KXt2YXIgcj0oMCxzLmFycmF5aWZ5KShlKTtpZigzMj09PXIubGVuZ3RoKXt2YXIgbj1uZXcgcChyKTtyZXR1cm4gdD8iMHgiK2goKS5rZXlGcm9tUHJpdmF0ZShyKS5nZXRQdWJsaWMoITAsImhleCIpOm4ucHVibGljS2V5fXJldHVybiAzMz09PXIubGVuZ3RoP3Q/KDAscy5oZXhsaWZ5KShyKToiMHgiK2goKS5rZXlGcm9tUHVibGljKHIpLmdldFB1YmxpYyghMSwiaGV4Iik6NjU9PT1yLmxlbmd0aD90PyIweCIraCgpLmtleUZyb21QdWJsaWMocikuZ2V0UHVibGljKCEwLCJoZXgiKTooMCxzLmhleGxpZnkpKHIpOmQudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIHB1YmxpYyBvciBwcml2YXRlIGtleSIsImtleSIsIltSRURBQ1RFRF0iKX10LlNpZ25pbmdLZXk9cH0sNjUxODooZSx0KT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC52ZXJzaW9uPXZvaWQgMCx0LnZlcnNpb249InN0cmluZ3MvNS43LjAifSw1ODU2OihlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZm9ybWF0Qnl0ZXMzMlN0cmluZz1mdW5jdGlvbihlKXt2YXIgdD0oMCxvLnRvVXRmOEJ5dGVzKShlKTtpZih0Lmxlbmd0aD4zMSl0aHJvdyBuZXcgRXJyb3IoImJ5dGVzMzIgc3RyaW5nIG11c3QgYmUgbGVzcyB0aGFuIDMyIGJ5dGVzIik7cmV0dXJuKDAsaS5oZXhsaWZ5KSgoMCxpLmNvbmNhdCkoW3Qsbi5IYXNoWmVyb10pLnNsaWNlKDAsMzIpKX0sdC5wYXJzZUJ5dGVzMzJTdHJpbmc9ZnVuY3Rpb24oZSl7dmFyIHQ9KDAsaS5hcnJheWlmeSkoZSk7aWYoMzIhPT10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgYnl0ZXMzMiAtIG5vdCAzMiBieXRlcyBsb25nIik7aWYoMCE9PXRbMzFdKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBieXRlczMyIHN0cmluZyAtIG5vIG51bGwgdGVybWluYXRvciIpO2Zvcih2YXIgcj0zMTswPT09dFtyLTFdOylyLS07cmV0dXJuKDAsby50b1V0ZjhTdHJpbmcpKHQuc2xpY2UoMCxyKSl9O3ZhciBuPXIoNTQ2NSksaT1yKDkwOCksbz1yKDQ5OTcpfSw4NjQ1OihlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuX25hbWVwcmVwVGFibGVBMT1wLHQuX25hbWVwcmVwVGFibGVCMj1iLHQuX25hbWVwcmVwVGFibGVDPXksdC5uYW1lcHJlcD1mdW5jdGlvbihlKXtpZihlLm1hdGNoKC9eW2EtejAtOS1dKiQvaSkmJmUubGVuZ3RoPD01OSlyZXR1cm4gZS50b0xvd2VyQ2FzZSgpO3ZhciB0LHI9KDAsbi50b1V0ZjhDb2RlUG9pbnRzKShlKTt0PXIubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdS5pbmRleE9mKGUpPj0wfHxlPj02NTAyNCYmZTw9NjUwMzk/W106YihlKXx8W2VdfSkpLHI9dC5yZWR1Y2UoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZS5wdXNoKHQpfSkpLGV9KSxbXSksKHI9KDAsbi50b1V0ZjhDb2RlUG9pbnRzKSgoMCxuLl90b1V0ZjhTdHJpbmcpKHIpLG4uVW5pY29kZU5vcm1hbGl6YXRpb25Gb3JtLk5GS0MpKS5mb3JFYWNoKChmdW5jdGlvbihlKXtpZih5KGUpKXRocm93IG5ldyBFcnJvcigiU1RSSU5HUFJFUF9DT05UQUlOU19QUk9ISUJJVEVEIil9KSksci5mb3JFYWNoKChmdW5jdGlvbihlKXtpZihwKGUpKXRocm93IG5ldyBFcnJvcigiU1RSSU5HUFJFUF9DT05UQUlOU19VTkFTU0lHTkVEIil9KSk7dmFyIGk9KDAsbi5fdG9VdGY4U3RyaW5nKShyKTtpZigiLSI9PT1pLnN1YnN0cmluZygwLDEpfHwiLS0iPT09aS5zdWJzdHJpbmcoMiw0KXx8Ii0iPT09aS5zdWJzdHJpbmcoaS5sZW5ndGgtMSkpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGh5cGhlbiIpO3JldHVybiBpfTt2YXIgbj1yKDQ5OTcpO2Z1bmN0aW9uIGkoZSx0KXt0fHwodD1mdW5jdGlvbihlKXtyZXR1cm5bcGFyc2VJbnQoZSwxNildfSk7dmFyIHI9MCxuPXt9O3JldHVybiBlLnNwbGl0KCIsIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIGk9ZS5zcGxpdCgiOiIpO3IrPXBhcnNlSW50KGlbMF0sMTYpLG5bcl09dChpWzFdKX0pKSxufWZ1bmN0aW9uIG8oZSl7dmFyIHQ9MDtyZXR1cm4gZS5zcGxpdCgiLCIpLm1hcCgoZnVuY3Rpb24oZSl7dmFyIHI9ZS5zcGxpdCgiLSIpO3JldHVybiAxPT09ci5sZW5ndGg/clsxXT0iMCI6IiI9PT1yWzFdJiYoclsxXT0iMSIpLHtsOnQrcGFyc2VJbnQoclswXSwxNiksaDp0PXBhcnNlSW50KHJbMV0sMTYpfX0pKX1mdW5jdGlvbiBhKGUsdCl7Zm9yKHZhciByPTAsbj0wO248dC5sZW5ndGg7bisrKXt2YXIgaT10W25dO2lmKGU+PShyKz1pLmwpJiZlPD1yK2kuaCYmKGUtciklKGkuZHx8MSk9PTApe2lmKGkuZSYmLTEhPT1pLmUuaW5kZXhPZihlLXIpKWNvbnRpbnVlO3JldHVybiBpfX1yZXR1cm4gbnVsbH12YXIgcz1vKCIyMjEsMTMtMWIsNWYtLDQwLTEwLDUxLWYsMTEtMywzLTMsMi0yLDItNCw4LDIsMTUsMmQsMjgtOCw4OCw0OCwyNy0sMy01LDExLTIwLDI3LSw4LDI4LDMtNSwxMiwxOCxiLWEsMWMtNCw2LTE2LDItZCwyLTIsMiwxYi00LDE3LTksOGYtLDEwLGYsMWYtMiwxYy0zNCwzMy0xNGUsNCwzNi0sMTMtLDYtMiwxYS1mLDQsOS0sMy0sMTcsOCwyLTIsNS0sMiw4LSwzLSw0LTgsMi0zLDMsNi0sMTYtNiwyLSw3LTMsMy0sMTcsOCwzLDMsMy0sMiw2LTMsMy0sNC1hLDUsMi02LDEwLWIsNCw4LDIsNCwxNyw4LDMsNi0sYiw0LDQtLDItZSwyLTQsYi0xMCw0LDktLDMtLDE3LDgsMy0sNS0sOS0yLDMtLDQtNywzLTMsMyw0LTMsYy0xMCwzLDctMiw0LDUtMiwzLDIsMy0yLDMtMiw0LTIsOSw0LTMsNi0yLDQsNS04LDItZSxkLWQsNCw5LDQsMTgsYiw2LTMsOCw0LDUtNiwzLTgsMy0zLGItMTEsMyw5LDQsMTgsYiw2LTMsOCw0LDUtNiwzLTYsMiwzLTMsYi0xMSwzLDksNCwxOCwxMS0zLDctLDQsNS04LDItNywzLTMsYi0xMSwzLDEzLTIsMTksYSwyLSw4LTIsMi0zLDcsMiw5LTExLDQtYiwzYi0zLDFlLTI0LDMsMi0sMywyLSwyLTUsNSw4LDQsMiwyLSwzLGUsNC0sNiwyLDctLGItLDMtMjEsNDksMjMtNSwxYy0zLDksMjUsMTAtLDItMmYsMjMsNiwzLDgtMiw1LTUsMWItNDUsMjctOSwyYS0sMi0zLDViLTQsNDUtNCw1My01LDgsNDAsMiw1LSw4LDIsNS0sMjgsMiw1LSwyMCwyLDUtLDgsMiw1LSw4LDgsMTgsMjAsMiw1LSw4LDI4LDE0LTUsMWQtMjIsNTYtYiwyNzctOCwxZS0yLDUyLWUsZSw4LWEsMTgtOCwxNS1iLGUsNCwzLWIsNWUtMixiLTE1LDEwLGItNSw1OS03LDJiLTU1NSw5ZC0zLDViLTUsMTctLDctLDI3LSw3LSw5LDIsMiwyLDIwLSwzNiwxMCxmLSw3LDE0LSw0LGEsNTQtMywyLTYsNi01LDktLDFjLTEwLDEzLTFkLDFjLTE0LDNjLSwxMC02LDMyLWIsMjQwLTMwLDI4LTE4LGMtMTQsYTAsMTE1LSwzLDY2LSxiLTc2LDUsNS0sMWQsMjQsMiw1LTIsMiw4LSwzNS0yLDE5LGYtMTAsMWQtMywzMTEtMzdmLDFiLDVhLWIsZDctMTksZC0zLDQxLDU3LSw2OC00LDI5LTMsNWYsMjktMzcsMmUtMiwyNS1jLDJjLTIsNGUtMywzMCw3OC0zLDY0LSwyMCwxOWI3LTQ5LDUxYTctNTksNDhlLTIsMzgtNzM4LDJiYTUtNWIsMjIyZi0sM2MtOTQsOC1iLDYtNCwxYiw2LDIsMywzLDZkLTIwLDE2ZS1mLDQxLSwzNy03LDJlLTIsMTEtZiw1LWIsMTgtLGIsMTQsNS0zLDYsODgtLDIsYmYtMiw3LSw3LSw3LSw0LTIsOCw4LTksOC0yZmYsMjAsNS1iLDFjLWI0LDI3LSwyNy1jYmIxLGY3LTksMjgtMixiNS0yMjEsNTYsNDgsMy0sMi0sMy0sNSxkLDIsNSwzLDQyLDUtLDksOCwxZCw1LDYsMi0yLDgsMTUzLTMsMTIzLTMsMzMtMjdmZCxhNmRhLTUxMjgsMjFmLTVkZiwzLWZmZmQsMy1mZmZkLDMtZmZmZCwzLWZmZmQsMy1mZmZkLDMtZmZmZCwzLWZmZmQsMy1mZmZkLDMtZmZmZCwzLWZmZmQsMy1mZmZkLDMsMi0xZCw2MS1mZjdkIiksdT0iYWQsMzRmLDE4MDYsMTgwYiwxODBjLDE4MGQsMjAwYiwyMDBjLDIwMGQsMjA2MCxmZWZmIi5zcGxpdCgiLCIpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHBhcnNlSW50KGUsMTYpfSkpLGM9W3toOjI1LHM6MzIsbDo2NX0se2g6MzAsczozMixlOlsyM10sbDoxMjd9LHtoOjU0LHM6MSxlOls0OF0sbDo2NCxkOjJ9LHtoOjE0LHM6MSxsOjU3LGQ6Mn0se2g6NDQsczoxLGw6MTcsZDoyfSx7aDoxMCxzOjEsZTpbMiw2LDhdLGw6NjEsZDoyfSx7aDoxNixzOjEsbDo2OCxkOjJ9LHtoOjg0LHM6MSxlOlsxOCwyNCw2Nl0sbDoxOSxkOjJ9LHtoOjI2LHM6MzIsZTpbMTddLGw6NDM1fSx7aDoyMixzOjEsbDo3MSxkOjJ9LHtoOjE1LHM6ODAsbDo0MH0se2g6MzEsczozMixsOjE2fSx7aDozMixzOjEsbDo4MCxkOjJ9LHtoOjUyLHM6MSxsOjQyLGQ6Mn0se2g6MTIsczoxLGw6NTUsZDoyfSx7aDo0MCxzOjEsZTpbMzhdLGw6MTUsZDoyfSx7aDoxNCxzOjEsbDo0OCxkOjJ9LHtoOjM3LHM6NDgsbDo0OX0se2g6MTQ4LHM6MSxsOjYzNTEsZDoyfSx7aDo4OCxzOjEsbDoxNjAsZDoyfSx7aDoxNSxzOjE2LGw6NzA0fSx7aDoyNSxzOjI2LGw6ODU0fSx7aDoyNSxzOjMyLGw6NTU5MTV9LHtoOjM3LHM6NDAsbDoxMjQ3fSx7aDoyNSxzOi0xMTk3MTEsbDo1MzI0OH0se2g6MjUsczotMTE5NzYzLGw6NTJ9LHtoOjI1LHM6LTExOTgxNSxsOjUyfSx7aDoyNSxzOi0xMTk4NjcsZTpbMSw0LDUsNyw4LDExLDEyLDE3XSxsOjUyfSx7aDoyNSxzOi0xMTk5MTksbDo1Mn0se2g6MjQsczotMTE5OTcxLGU6WzIsNyw4LDE3XSxsOjUyfSx7aDoyNCxzOi0xMjAwMjMsZTpbMiw3LDEzLDE1LDE2LDE3XSxsOjUyfSx7aDoyNSxzOi0xMjAwNzUsbDo1Mn0se2g6MjUsczotMTIwMTI3LGw6NTJ9LHtoOjI1LHM6LTEyMDE3OSxsOjUyfSx7aDoyNSxzOi0xMjAyMzEsbDo1Mn0se2g6MjUsczotMTIwMjgzLGw6NTJ9LHtoOjI1LHM6LTEyMDMzNSxsOjUyfSx7aDoyNCxzOi0xMTk1NDMsZTpbMTddLGw6NTZ9LHtoOjI0LHM6LTExOTYwMSxlOlsxN10sbDo1OH0se2g6MjQsczotMTE5NjU5LGU6WzE3XSxsOjU4fSx7aDoyNCxzOi0xMTk3MTcsZTpbMTddLGw6NTh9LHtoOjI0LHM6LTExOTc3NSxlOlsxN10sbDo1OH1dLGY9aSgiYjU6M2JjLGMzOmZmLDc6NzMsMjoyNTMsNToyNTQsMzoyNTYsMToyNTcsNToyNTksMToyNWIsMzoyNjAsMToyNjMsMjoyNjksMToyNjgsNToyNmYsMToyNzIsMjoyNzUsNzoyODAsMzoyODMsNToyODgsMzoyOGEsMToyOGIsNToyOTIsM2Y6MTk1LDE6MWJmLDI5OjE5ZSwxMjU6M2I5LDhiOjNiMiwxOjNiOCwxOjNjNSwzOjNjNiwxOjNjMCwxYTozYmEsMTozYzEsMTozYzMsMjozYjgsMTozYjUsMWJjOTozYjksMWM6MWY3NiwxOjFmNzcsZjoxZjdhLDE6MWY3YixkOjFmNzgsMToxZjc5LDE6MWY3YywxOjFmN2QsMTA3OjYzLDU6MjViLDQ6NjgsMTo2OCwxOjY4LDM6NjksMTo2OSwxOjZjLDM6NmUsNDo3MCwxOjcxLDE6NzIsMTo3MiwxOjcyLDc6N2EsMjozYzksMjo3YSwyOjZiLDE6ZTUsMTo2MiwxOjYzLDM6NjUsMTo2NiwyOjZkLGI6M2IzLDE6M2MwLDY6NjQsMWI1NzQ6M2I4LDFhOjNjMywyMDozYjgsMWE6M2MzLDIwOjNiOCwxYTozYzMsMjA6M2I4LDFhOjNjMywyMDozYjgsMWE6M2MzIiksZD1pKCIxNzk6MSwyOjEsMjoxLDU6MSwyOjEsYTo0ZixhOjEsODoxLDI6MSwyOjEsMzoxLDU6MSwzOjEsNDoxLDI6MSwzOjEsNDoxLDg6MiwxOjEsMjoyLDE6MSwyOjIsMjc6MiwxOTU6MjYsMjoyNSwxOjI1LDE6MjUsMjo0MCwyOjNmLDE6M2YsMzM6MSwxMTotNiwxOi05LDFhYzc6LTNhLDZkOi04LDE6LTgsMTotOCwxOi04LDE6LTgsMTotOCwxOi04LDE6LTgsOTotOCwxOi04LDE6LTgsMTotOCwxOi04LDE6LTgsYjotOCwxOi04LDE6LTgsMTotOCwxOi04LDE6LTgsMTotOCwxOi04LDk6LTgsMTotOCwxOi04LDE6LTgsMTotOCwxOi04LDE6LTgsMTotOCw5Oi04LDE6LTgsMTotOCwxOi04LDE6LTgsMTotOCxjOi04LDI6LTgsMjotOCwyOi04LDk6LTgsMTotOCwxOi04LDE6LTgsMTotOCwxOi04LDE6LTgsMTotOCw0OTotOCwxOi04LDE6LTRhLDE6LTRhLGQ6LTU2LDE6LTU2LDE6LTU2LDE6LTU2LGQ6LTgsMTotOCxmOi04LDE6LTgsMzotNyIpLGw9aSgiZGY6MDA3MzAwNzMsNTE6MDA2OTAzMDcsMTk6MDJCQzAwNkUsYTc6MDA2QTAzMEMsMThhOjAwMjAwM0I5LDE2OjAzQjkwMzA4MDMwMSwyMDowM0M1MDMwODAzMDEsMWQ3OjA1NjUwNTgyLDE5MGY6MDA2ODAzMzEsMTowMDc0MDMwOCwxOjAwNzcwMzBBLDE6MDA3OTAzMEEsMTowMDYxMDJCRSxiNjowM0M1MDMxMywyOjAzQzUwMzEzMDMwMCwyOjAzQzUwMzEzMDMwMSwyOjAzQzUwMzEzMDM0MiwyYToxRjAwMDNCOSwxOjFGMDEwM0I5LDE6MUYwMjAzQjksMToxRjAzMDNCOSwxOjFGMDQwM0I5LDE6MUYwNTAzQjksMToxRjA2MDNCOSwxOjFGMDcwM0I5LDE6MUYwMDAzQjksMToxRjAxMDNCOSwxOjFGMDIwM0I5LDE6MUYwMzAzQjksMToxRjA0MDNCOSwxOjFGMDUwM0I5LDE6MUYwNjAzQjksMToxRjA3MDNCOSwxOjFGMjAwM0I5LDE6MUYyMTAzQjksMToxRjIyMDNCOSwxOjFGMjMwM0I5LDE6MUYyNDAzQjksMToxRjI1MDNCOSwxOjFGMjYwM0I5LDE6MUYyNzAzQjksMToxRjIwMDNCOSwxOjFGMjEwM0I5LDE6MUYyMjAzQjksMToxRjIzMDNCOSwxOjFGMjQwM0I5LDE6MUYyNTAzQjksMToxRjI2MDNCOSwxOjFGMjcwM0I5LDE6MUY2MDAzQjksMToxRjYxMDNCOSwxOjFGNjIwM0I5LDE6MUY2MzAzQjksMToxRjY0MDNCOSwxOjFGNjUwM0I5LDE6MUY2NjAzQjksMToxRjY3MDNCOSwxOjFGNjAwM0I5LDE6MUY2MTAzQjksMToxRjYyMDNCOSwxOjFGNjMwM0I5LDE6MUY2NDAzQjksMToxRjY1MDNCOSwxOjFGNjYwM0I5LDE6MUY2NzAzQjksMzoxRjcwMDNCOSwxOjAzQjEwM0I5LDE6MDNBQzAzQjksMjowM0IxMDM0MiwxOjAzQjEwMzQyMDNCOSw1OjAzQjEwM0I5LDY6MUY3NDAzQjksMTowM0I3MDNCOSwxOjAzQUUwM0I5LDI6MDNCNzAzNDIsMTowM0I3MDM0MjAzQjksNTowM0I3MDNCOSw2OjAzQjkwMzA4MDMwMCwxOjAzQjkwMzA4MDMwMSwzOjAzQjkwMzQyLDE6MDNCOTAzMDgwMzQyLGI6MDNDNTAzMDgwMzAwLDE6MDNDNTAzMDgwMzAxLDE6MDNDMTAzMTMsMjowM0M1MDM0MiwxOjAzQzUwMzA4MDM0MixiOjFGN0MwM0I5LDE6MDNDOTAzQjksMTowM0NFMDNCOSwyOjAzQzkwMzQyLDE6MDNDOTAzNDIwM0I5LDU6MDNDOTAzQjksYWM6MDA3MjAwNzMsNWI6MDBCMDAwNjMsNjowMEIwMDA2NixkOjAwNkUwMDZGLGE6MDA3MzAwNkQsMTowMDc0MDA2NTAwNkMsMTowMDc0MDA2RCwxMjRmOjAwNjgwMDcwMDA2MSwyOjAwNjEwMDc1LDI6MDA2RjAwNzYsYjowMDcwMDA2MSwxOjAwNkUwMDYxLDE6MDNCQzAwNjEsMTowMDZEMDA2MSwxOjAwNkIwMDYxLDE6MDA2QjAwNjIsMTowMDZEMDA2MiwxOjAwNjcwMDYyLDM6MDA3MDAwNjYsMTowMDZFMDA2NiwxOjAzQkMwMDY2LDQ6MDA2ODAwN0EsMTowMDZCMDA2ODAwN0EsMTowMDZEMDA2ODAwN0EsMTowMDY3MDA2ODAwN0EsMTowMDc0MDA2ODAwN0EsMTU6MDA3MDAwNjEsMTowMDZCMDA3MDAwNjEsMTowMDZEMDA3MDAwNjEsMTowMDY3MDA3MDAwNjEsODowMDcwMDA3NiwxOjAwNkUwMDc2LDE6MDNCQzAwNzYsMTowMDZEMDA3NiwxOjAwNkIwMDc2LDE6MDA2RDAwNzYsMTowMDcwMDA3NywxOjAwNkUwMDc3LDE6MDNCQzAwNzcsMTowMDZEMDA3NywxOjAwNkIwMDc3LDE6MDA2RDAwNzcsMTowMDZCMDNDOSwxOjAwNkQwM0M5LDI6MDA2MjAwNzEsMzowMDYzMjIxNTAwNkIwMDY3LDE6MDA2MzAwNkYwMDJFLDE6MDA2NDAwNjIsMTowMDY3MDA3OSwyOjAwNjgwMDcwLDI6MDA2QjAwNkIsMTowMDZCMDA2RCw5OjAwNzAwMDY4LDI6MDA3MDAwNzAwMDZELDE6MDA3MDAwNzIsMjowMDczMDA3NiwxOjAwNzcwMDYyLGM3MjM6MDA2NjAwNjYsMTowMDY2MDA2OSwxOjAwNjYwMDZDLDE6MDA2NjAwNjYwMDY5LDE6MDA2NjAwNjYwMDZDLDE6MDA3MzAwNzQsMTowMDczMDA3NCxkOjA1NzQwNTc2LDE6MDU3NDA1NjUsMTowNTc0MDU2QiwxOjA1N0UwNTc2LDE6MDU3NDA1NkQiLChmdW5jdGlvbihlKXtpZihlLmxlbmd0aCU0IT0wKXRocm93IG5ldyBFcnJvcigiYmFkIGRhdGEiKTtmb3IodmFyIHQ9W10scj0wO3I8ZS5sZW5ndGg7cis9NCl0LnB1c2gocGFyc2VJbnQoZS5zdWJzdHJpbmcocixyKzQpLDE2KSk7cmV0dXJuIHR9KSksaD1vKCI4MC0yMCwyYTAtLDM5YywzMixmNzEsMThlLDdmMi1mLDE5LTcsMzAtNCw3LTUsZjgxLWIsNSxhODAwLTIwZmYsNGQxLTFmLDExMCxmYS02LGQxNzQtNywyZTg0LSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSwyLDFmLTVmLGZmN2YtMjAwMDEiKTtmdW5jdGlvbiBwKGUpe3JldHVybiEhYShlLHMpfWZ1bmN0aW9uIGIoZSl7dmFyIHQ9YShlLGMpO2lmKHQpcmV0dXJuW2UrdC5zXTt2YXIgcj1mW2VdO2lmKHIpcmV0dXJuIHI7dmFyIG49ZFtlXTtyZXR1cm4gbj9bZStuWzBdXTpsW2VdfHxudWxsfWZ1bmN0aW9uIHkoZSl7cmV0dXJuISFhKGUsaCl9fSw4NjI3OihlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJVbmljb2RlTm9ybWFsaXphdGlvbkZvcm0iLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvLlVuaWNvZGVOb3JtYWxpemF0aW9uRm9ybX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiVXRmOEVycm9yRnVuY3MiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvLlV0ZjhFcnJvckZ1bmNzfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJVdGY4RXJyb3JSZWFzb24iLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvLlV0ZjhFcnJvclJlYXNvbn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX3RvRXNjYXBlZFV0ZjhTdHJpbmciLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvLl90b0VzY2FwZWRVdGY4U3RyaW5nfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJmb3JtYXRCeXRlczMyU3RyaW5nIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5mb3JtYXRCeXRlczMyU3RyaW5nfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJuYW1lcHJlcCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGkubmFtZXByZXB9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInBhcnNlQnl0ZXMzMlN0cmluZyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG4ucGFyc2VCeXRlczMyU3RyaW5nfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJ0b1V0ZjhCeXRlcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG8udG9VdGY4Qnl0ZXN9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInRvVXRmOENvZGVQb2ludHMiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvLnRvVXRmOENvZGVQb2ludHN9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInRvVXRmOFN0cmluZyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG8udG9VdGY4U3RyaW5nfX0pO3ZhciBuPXIoNTg1NiksaT1yKDg2NDUpLG89cig0OTk3KX0sNDk5NzooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LlV0ZjhFcnJvclJlYXNvbj10LlV0ZjhFcnJvckZ1bmNzPXQuVW5pY29kZU5vcm1hbGl6YXRpb25Gb3JtPXZvaWQgMCx0Ll90b0VzY2FwZWRVdGY4U3RyaW5nPWZ1bmN0aW9uKGUsdCl7cmV0dXJuJyInK2QoZSx0KS5tYXAoKGZ1bmN0aW9uKGUpe2lmKGU8MjU2KXtzd2l0Y2goZSl7Y2FzZSA4OnJldHVybiJcXGIiO2Nhc2UgOTpyZXR1cm4iXFx0IjtjYXNlIDEwOnJldHVybiJcXG4iO2Nhc2UgMTM6cmV0dXJuIlxcciI7Y2FzZSAzNDpyZXR1cm4nXFwiJztjYXNlIDkyOnJldHVybiJcXFxcIn1pZihlPj0zMiYmZTwxMjcpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZSl9cmV0dXJuIGU8PTY1NTM1P2goZSk6aCg1NTI5NisoKGUtPTY1NTM2KT4+MTAmMTAyMykpK2goNTYzMjArKDEwMjMmZSkpfSkpLmpvaW4oIiIpKyciJ30sdC5fdG9VdGY4U3RyaW5nPXAsdC50b1V0ZjhCeXRlcz1sLHQudG9VdGY4Q29kZVBvaW50cz1mdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06bi5jdXJyZW50O3JldHVybiBkKGwoZSx0KSl9LHQudG9VdGY4U3RyaW5nPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHAoZChlLHQpKX07dmFyIG4saSxvPXIoOTA4KSxhPXIoNDMyNykscz1yKDY1MTgpLHU9bmV3IGEuTG9nZ2VyKHMudmVyc2lvbik7ZnVuY3Rpb24gYyhlLHQscixuLG8pe2lmKGU9PT1pLkJBRF9QUkVGSVh8fGU9PT1pLlVORVhQRUNURURfQ09OVElOVUUpe2Zvcih2YXIgYT0wLHM9dCsxO3M8ci5sZW5ndGgmJnJbc10+PjY9PTI7cysrKWErKztyZXR1cm4gYX1yZXR1cm4gZT09PWkuT1ZFUlJVTj9yLmxlbmd0aC10LTE6MH10LlVuaWNvZGVOb3JtYWxpemF0aW9uRm9ybT1uLGZ1bmN0aW9uKGUpe2UuY3VycmVudD0iIixlLk5GQz0iTkZDIixlLk5GRD0iTkZEIixlLk5GS0M9Ik5GS0MiLGUuTkZLRD0iTkZLRCJ9KG58fCh0LlVuaWNvZGVOb3JtYWxpemF0aW9uRm9ybT1uPXt9KSksdC5VdGY4RXJyb3JSZWFzb249aSxmdW5jdGlvbihlKXtlLlVORVhQRUNURURfQ09OVElOVUU9InVuZXhwZWN0ZWQgY29udGludWF0aW9uIGJ5dGUiLGUuQkFEX1BSRUZJWD0iYmFkIGNvZGVwb2ludCBwcmVmaXgiLGUuT1ZFUlJVTj0ic3RyaW5nIG92ZXJydW4iLGUuTUlTU0lOR19DT05USU5VRT0ibWlzc2luZyBjb250aW51YXRpb24gYnl0ZSIsZS5PVVRfT0ZfUkFOR0U9Im91dCBvZiBVVEYtOCByYW5nZSIsZS5VVEYxNl9TVVJST0dBVEU9IlVURi0xNiBzdXJyb2dhdGUiLGUuT1ZFUkxPTkc9Im92ZXJsb25nIHJlcHJlc2VudGF0aW9uIn0oaXx8KHQuVXRmOEVycm9yUmVhc29uPWk9e30pKTt2YXIgZj1PYmplY3QuZnJlZXplKHtlcnJvcjpmdW5jdGlvbihlLHQscixuLGkpe3JldHVybiB1LnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBjb2RlcG9pbnQgYXQgb2Zmc2V0ICIuY29uY2F0KHQsIjsgIikuY29uY2F0KGUpLCJieXRlcyIscil9LGlnbm9yZTpjLHJlcGxhY2U6ZnVuY3Rpb24oZSx0LHIsbixvKXtyZXR1cm4gZT09PWkuT1ZFUkxPTkc/KG4ucHVzaChvKSwwKToobi5wdXNoKDY1NTMzKSxjKGUsdCxyKSl9fSk7ZnVuY3Rpb24gZChlLHQpe251bGw9PXQmJih0PWYuZXJyb3IpLGU9KDAsby5hcnJheWlmeSkoZSk7Zm9yKHZhciByPVtdLG49MDtuPGUubGVuZ3RoOyl7dmFyIGE9ZVtuKytdO2lmKGE+PjchPTApe3ZhciBzPW51bGwsdT1udWxsO2lmKDE5Mj09KDIyNCZhKSlzPTEsdT0xMjc7ZWxzZSBpZigyMjQ9PSgyNDAmYSkpcz0yLHU9MjA0NztlbHNle2lmKDI0MCE9KDI0OCZhKSl7bis9dCgxMjg9PSgxOTImYSk/aS5VTkVYUEVDVEVEX0NPTlRJTlVFOmkuQkFEX1BSRUZJWCxuLTEsZSxyKTtjb250aW51ZX1zPTMsdT02NTUzNX1pZihuLTErcz49ZS5sZW5ndGgpbis9dChpLk9WRVJSVU4sbi0xLGUscik7ZWxzZXtmb3IodmFyIGM9YSYoMTw8OC1zLTEpLTEsZD0wO2Q8cztkKyspe3ZhciBsPWVbbl07aWYoMTI4IT0oMTkyJmwpKXtuKz10KGkuTUlTU0lOR19DT05USU5VRSxuLGUsciksYz1udWxsO2JyZWFrfWM9Yzw8Nnw2MyZsLG4rK31udWxsIT09YyYmKGM+MTExNDExMT9uKz10KGkuT1VUX09GX1JBTkdFLG4tMS1zLGUscixjKTpjPj01NTI5NiYmYzw9NTczNDM/bis9dChpLlVURjE2X1NVUlJPR0FURSxuLTEtcyxlLHIsYyk6Yzw9dT9uKz10KGkuT1ZFUkxPTkcsbi0xLXMsZSxyLGMpOnIucHVzaChjKSl9fWVsc2Ugci5wdXNoKGEpfXJldHVybiByfWZ1bmN0aW9uIGwoZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOm4uY3VycmVudDt0IT1uLmN1cnJlbnQmJih1LmNoZWNrTm9ybWFsaXplKCksZT1lLm5vcm1hbGl6ZSh0KSk7Zm9yKHZhciByPVtdLGk9MDtpPGUubGVuZ3RoO2krKyl7dmFyIGE9ZS5jaGFyQ29kZUF0KGkpO2lmKGE8MTI4KXIucHVzaChhKTtlbHNlIGlmKGE8MjA0OClyLnB1c2goYT4+NnwxOTIpLHIucHVzaCg2MyZhfDEyOCk7ZWxzZSBpZig1NTI5Nj09KDY0NTEyJmEpKXtpKys7dmFyIHM9ZS5jaGFyQ29kZUF0KGkpO2lmKGk+PWUubGVuZ3RofHw1NjMyMCE9KDY0NTEyJnMpKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCB1dGYtOCBzdHJpbmciKTt2YXIgYz02NTUzNisoKDEwMjMmYSk8PDEwKSsoMTAyMyZzKTtyLnB1c2goYz4+MTh8MjQwKSxyLnB1c2goYz4+MTImNjN8MTI4KSxyLnB1c2goYz4+NiY2M3wxMjgpLHIucHVzaCg2MyZjfDEyOCl9ZWxzZSByLnB1c2goYT4+MTJ8MjI0KSxyLnB1c2goYT4+NiY2M3wxMjgpLHIucHVzaCg2MyZhfDEyOCl9cmV0dXJuKDAsby5hcnJheWlmeSkocil9ZnVuY3Rpb24gaChlKXt2YXIgdD0iMDAwMCIrZS50b1N0cmluZygxNik7cmV0dXJuIlxcdSIrdC5zdWJzdHJpbmcodC5sZW5ndGgtNCl9ZnVuY3Rpb24gcChlKXtyZXR1cm4gZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlPD02NTUzNT9TdHJpbmcuZnJvbUNoYXJDb2RlKGUpOihlLT02NTUzNixTdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2KyhlPj4xMCYxMDIzKSw1NjMyMCsoMTAyMyZlKSkpfSkpLmpvaW4oIiIpfXQuVXRmOEVycm9yRnVuY3M9Zn0sNjc4MzooZSx0KT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC52ZXJzaW9uPXZvaWQgMCx0LnZlcnNpb249InRyYW5zYWN0aW9ucy81LjcuMCJ9LDE5MzY6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDMzNTUpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LlRyYW5zYWN0aW9uVHlwZXM9dm9pZCAwLHQuYWNjZXNzTGlzdGlmeT14LHQuY29tcHV0ZUFkZHJlc3M9QSx0LnBhcnNlPWZ1bmN0aW9uKGUpe3ZhciB0PSgwLGEuYXJyYXlpZnkpKGUpO2lmKHRbMF0+MTI3KXJldHVybiBmdW5jdGlvbihlKXt2YXIgdD1mLmRlY29kZShlKTs5IT09dC5sZW5ndGgmJjYhPT10Lmxlbmd0aCYmeS50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgcmF3IHRyYW5zYWN0aW9uIiwicmF3VHJhbnNhY3Rpb24iLGUpO3ZhciByPXtub25jZTp2KHRbMF0pLnRvTnVtYmVyKCksZ2FzUHJpY2U6dih0WzFdKSxnYXNMaW1pdDp2KHRbMl0pLHRvOm0odFszXSksdmFsdWU6dih0WzRdKSxkYXRhOnRbNV0sY2hhaW5JZDowfTtpZig2PT09dC5sZW5ndGgpcmV0dXJuIHI7dHJ5e3Iudj1vLkJpZ051bWJlci5mcm9tKHRbNl0pLnRvTnVtYmVyKCl9Y2F0Y2goZSl7cmV0dXJuIHJ9aWYoci5yPSgwLGEuaGV4WmVyb1BhZCkodFs3XSwzMiksci5zPSgwLGEuaGV4WmVyb1BhZCkodFs4XSwzMiksby5CaWdOdW1iZXIuZnJvbShyLnIpLmlzWmVybygpJiZvLkJpZ051bWJlci5mcm9tKHIucykuaXNaZXJvKCkpci5jaGFpbklkPXIudixyLnY9MDtlbHNle3IuY2hhaW5JZD1NYXRoLmZsb29yKChyLnYtMzUpLzIpLHIuY2hhaW5JZDwwJiYoci5jaGFpbklkPTApO3ZhciBuPXIudi0yNyxpPXQuc2xpY2UoMCw2KTswIT09ci5jaGFpbklkJiYoaS5wdXNoKCgwLGEuaGV4bGlmeSkoci5jaGFpbklkKSksaS5wdXNoKCIweCIpLGkucHVzaCgiMHgiKSxuLT0yKnIuY2hhaW5JZCs4KTt2YXIgcz0oMCx1LmtlY2NhazI1NikoZi5lbmNvZGUoaSkpO3RyeXtyLmZyb209ayhzLHtyOigwLGEuaGV4bGlmeSkoci5yKSxzOigwLGEuaGV4bGlmeSkoci5zKSxyZWNvdmVyeVBhcmFtOm59KX1jYXRjaChlKXt9ci5oYXNoPSgwLHUua2VjY2FrMjU2KShlKX1yZXR1cm4gci50eXBlPW51bGwscn0odCk7c3dpdGNoKHRbMF0pe2Nhc2UgMTpyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9Zi5kZWNvZGUoZS5zbGljZSgxKSk7OCE9PXQubGVuZ3RoJiYxMSE9PXQubGVuZ3RoJiZ5LnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBjb21wb25lbnQgY291bnQgZm9yIHRyYW5zYWN0aW9uIHR5cGU6IDEiLCJwYXlsb2FkIiwoMCxhLmhleGxpZnkpKGUpKTt2YXIgcj17dHlwZToxLGNoYWluSWQ6dih0WzBdKS50b051bWJlcigpLG5vbmNlOnYodFsxXSkudG9OdW1iZXIoKSxnYXNQcmljZTp2KHRbMl0pLGdhc0xpbWl0OnYodFszXSksdG86bSh0WzRdKSx2YWx1ZTp2KHRbNV0pLGRhdGE6dFs2XSxhY2Nlc3NMaXN0OngodFs3XSl9O3JldHVybiA4PT09dC5sZW5ndGh8fChyLmhhc2g9KDAsdS5rZWNjYWsyNTYpKGUpLEIocix0LnNsaWNlKDgpLE8pKSxyfSh0KTtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0PWYuZGVjb2RlKGUuc2xpY2UoMSkpOzkhPT10Lmxlbmd0aCYmMTIhPT10Lmxlbmd0aCYmeS50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgY29tcG9uZW50IGNvdW50IGZvciB0cmFuc2FjdGlvbiB0eXBlOiAyIiwicGF5bG9hZCIsKDAsYS5oZXhsaWZ5KShlKSk7dmFyIHI9dih0WzJdKSxuPXYodFszXSksaT17dHlwZToyLGNoYWluSWQ6dih0WzBdKS50b051bWJlcigpLG5vbmNlOnYodFsxXSkudG9OdW1iZXIoKSxtYXhQcmlvcml0eUZlZVBlckdhczpyLG1heEZlZVBlckdhczpuLGdhc1ByaWNlOm51bGwsZ2FzTGltaXQ6dih0WzRdKSx0bzptKHRbNV0pLHZhbHVlOnYodFs2XSksZGF0YTp0WzddLGFjY2Vzc0xpc3Q6eCh0WzhdKX07cmV0dXJuIDk9PT10Lmxlbmd0aHx8KGkuaGFzaD0oMCx1LmtlY2NhazI1NikoZSksQihpLHQuc2xpY2UoOSksUCkpLGl9KHQpfXJldHVybiB5LnRocm93RXJyb3IoInVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGU6ICIuY29uY2F0KHRbMF0pLGwuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoicGFyc2VUcmFuc2FjdGlvbiIsdHJhbnNhY3Rpb25UeXBlOnRbMF19KX0sdC5yZWNvdmVyQWRkcmVzcz1rLHQuc2VyaWFsaXplPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZS50eXBlfHwwPT09ZS50eXBlKXJldHVybiBudWxsIT1lLmFjY2Vzc0xpc3QmJnkudGhyb3dBcmd1bWVudEVycm9yKCJ1bnR5cGVkIHRyYW5zYWN0aW9ucyBkbyBub3Qgc3VwcG9ydCBhY2Nlc3NMaXN0OyBpbmNsdWRlIHR5cGU6IDEiLCJ0cmFuc2FjdGlvbiIsZSksZnVuY3Rpb24oZSx0KXsoMCxjLmNoZWNrUHJvcGVydGllcykoZSx3KTt2YXIgcj1bXTtnLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBuPWVbdC5uYW1lXXx8W10saT17fTt0Lm51bWVyaWMmJihpLmhleFBhZD0ibGVmdCIpLG49KDAsYS5hcnJheWlmeSkoKDAsYS5oZXhsaWZ5KShuLGkpKSx0Lmxlbmd0aCYmbi5sZW5ndGghPT10Lmxlbmd0aCYmbi5sZW5ndGg+MCYmeS50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgbGVuZ3RoIGZvciAiK3QubmFtZSwidHJhbnNhY3Rpb246Iit0Lm5hbWUsbiksdC5tYXhMZW5ndGgmJihuPSgwLGEuc3RyaXBaZXJvcykobikpLmxlbmd0aD50Lm1heExlbmd0aCYmeS50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgbGVuZ3RoIGZvciAiK3QubmFtZSwidHJhbnNhY3Rpb246Iit0Lm5hbWUsbiksci5wdXNoKCgwLGEuaGV4bGlmeSkobikpfSkpO3ZhciBuPTA7aWYobnVsbCE9ZS5jaGFpbklkPyJudW1iZXIiIT10eXBlb2Yobj1lLmNoYWluSWQpJiZ5LnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCB0cmFuc2FjdGlvbi5jaGFpbklkIiwidHJhbnNhY3Rpb24iLGUpOnQmJiEoMCxhLmlzQnl0ZXNMaWtlKSh0KSYmdC52PjI4JiYobj1NYXRoLmZsb29yKCh0LnYtMzUpLzIpKSwwIT09biYmKHIucHVzaCgoMCxhLmhleGxpZnkpKG4pKSxyLnB1c2goIjB4Iiksci5wdXNoKCIweCIpKSwhdClyZXR1cm4gZi5lbmNvZGUocik7dmFyIGk9KDAsYS5zcGxpdFNpZ25hdHVyZSkodCksbz0yNytpLnJlY292ZXJ5UGFyYW07cmV0dXJuIDAhPT1uPyhyLnBvcCgpLHIucG9wKCksci5wb3AoKSxvKz0yKm4rOCxpLnY+MjgmJmkudiE9PW8mJnkudGhyb3dBcmd1bWVudEVycm9yKCJ0cmFuc2FjdGlvbi5jaGFpbklkL3NpZ25hdHVyZS52IG1pc21hdGNoIiwic2lnbmF0dXJlIix0KSk6aS52IT09byYmeS50aHJvd0FyZ3VtZW50RXJyb3IoInRyYW5zYWN0aW9uLmNoYWluSWQvc2lnbmF0dXJlLnYgbWlzbWF0Y2giLCJzaWduYXR1cmUiLHQpLHIucHVzaCgoMCxhLmhleGxpZnkpKG8pKSxyLnB1c2goKDAsYS5zdHJpcFplcm9zKSgoMCxhLmFycmF5aWZ5KShpLnIpKSksci5wdXNoKCgwLGEuc3RyaXBaZXJvcykoKDAsYS5hcnJheWlmeSkoaS5zKSkpLGYuZW5jb2RlKHIpfShlLHQpO3N3aXRjaChlLnR5cGUpe2Nhc2UgMTpyZXR1cm4gTyhlLHQpO2Nhc2UgMjpyZXR1cm4gUChlLHQpfXJldHVybiB5LnRocm93RXJyb3IoInVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGU6ICIuY29uY2F0KGUudHlwZSksbC5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJzZXJpYWxpemVUcmFuc2FjdGlvbiIsdHJhbnNhY3Rpb25UeXBlOmUudHlwZX0pfTt2YXIgaT1yKDc5MjEpLG89cig0OTUyKSxhPXIoOTA4KSxzPXIoNTQ2NSksdT1yKDQ2NDIpLGM9cigzNjk0KSxmPWZ1bmN0aW9uKGUsdCl7aWYoZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO2lmKG51bGw9PT1lfHwib2JqZWN0IiE9PW4oZSkmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXJldHVybntkZWZhdWx0OmV9O3ZhciByPXAodCk7aWYociYmci5oYXMoZSkpcmV0dXJuIHIuZ2V0KGUpO3ZhciBpPXt9LG89T2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2Zvcih2YXIgYSBpbiBlKWlmKCJkZWZhdWx0IiE9PWEmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGEpKXt2YXIgcz1vP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxhKTpudWxsO3MmJihzLmdldHx8cy5zZXQpP09iamVjdC5kZWZpbmVQcm9wZXJ0eShpLGEscyk6aVthXT1lW2FdfXJldHVybiBpLmRlZmF1bHQ9ZSxyJiZyLnNldChlLGkpLGl9KHIoNTI2NSkpLGQ9cig3NjEyKSxsPXIoNDMyNyksaD1yKDY3ODMpO2Z1bmN0aW9uIHAoZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFdlYWtNYXApcmV0dXJuIG51bGw7dmFyIHQ9bmV3IFdlYWtNYXAscj1uZXcgV2Vha01hcDtyZXR1cm4ocD1mdW5jdGlvbihlKXtyZXR1cm4gZT9yOnR9KShlKX12YXIgYix5PW5ldyBsLkxvZ2dlcihoLnZlcnNpb24pO2Z1bmN0aW9uIG0oZSl7cmV0dXJuIjB4Ij09PWU/bnVsbDooMCxpLmdldEFkZHJlc3MpKGUpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIjB4Ij09PWU/cy5aZXJvOm8uQmlnTnVtYmVyLmZyb20oZSl9dC5UcmFuc2FjdGlvblR5cGVzPWIsZnVuY3Rpb24oZSl7ZVtlLmxlZ2FjeT0wXT0ibGVnYWN5IixlW2UuZWlwMjkzMD0xXT0iZWlwMjkzMCIsZVtlLmVpcDE1NTk9Ml09ImVpcDE1NTkifShifHwodC5UcmFuc2FjdGlvblR5cGVzPWI9e30pKTt2YXIgZz1be25hbWU6Im5vbmNlIixtYXhMZW5ndGg6MzIsbnVtZXJpYzohMH0se25hbWU6Imdhc1ByaWNlIixtYXhMZW5ndGg6MzIsbnVtZXJpYzohMH0se25hbWU6Imdhc0xpbWl0IixtYXhMZW5ndGg6MzIsbnVtZXJpYzohMH0se25hbWU6InRvIixsZW5ndGg6MjB9LHtuYW1lOiJ2YWx1ZSIsbWF4TGVuZ3RoOjMyLG51bWVyaWM6ITB9LHtuYW1lOiJkYXRhIn1dLHc9e2NoYWluSWQ6ITAsZGF0YTohMCxnYXNMaW1pdDohMCxnYXNQcmljZTohMCxub25jZTohMCx0bzohMCx0eXBlOiEwLHZhbHVlOiEwfTtmdW5jdGlvbiBBKGUpe3ZhciB0PSgwLGQuY29tcHV0ZVB1YmxpY0tleSkoZSk7cmV0dXJuKDAsaS5nZXRBZGRyZXNzKSgoMCxhLmhleERhdGFTbGljZSkoKDAsdS5rZWNjYWsyNTYpKCgwLGEuaGV4RGF0YVNsaWNlKSh0LDEpKSwxMikpfWZ1bmN0aW9uIGsoZSx0KXtyZXR1cm4gQSgoMCxkLnJlY292ZXJQdWJsaWNLZXkpKCgwLGEuYXJyYXlpZnkpKGUpLHQpKX1mdW5jdGlvbiBfKGUsdCl7dmFyIHI9KDAsYS5zdHJpcFplcm9zKShvLkJpZ051bWJlci5mcm9tKGUpLnRvSGV4U3RyaW5nKCkpO3JldHVybiByLmxlbmd0aD4zMiYmeS50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgbGVuZ3RoIGZvciAiK3QsInRyYW5zYWN0aW9uOiIrdCxlKSxyfWZ1bmN0aW9uIFMoZSx0KXtyZXR1cm57YWRkcmVzczooMCxpLmdldEFkZHJlc3MpKGUpLHN0b3JhZ2VLZXlzOih0fHxbXSkubWFwKChmdW5jdGlvbih0LHIpe3JldHVybiAzMiE9PSgwLGEuaGV4RGF0YUxlbmd0aCkodCkmJnkudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGFjY2VzcyBsaXN0IHN0b3JhZ2VLZXkiLCJhY2Nlc3NMaXN0WyIuY29uY2F0KGUsIjoiKS5jb25jYXQociwiXSIpLHQpLHQudG9Mb3dlckNhc2UoKX0pKX19ZnVuY3Rpb24geChlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlLm1hcCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT8oZS5sZW5ndGg+MiYmeS50aHJvd0FyZ3VtZW50RXJyb3IoImFjY2VzcyBsaXN0IGV4cGVjdGVkIHRvIGJlIFsgYWRkcmVzcywgc3RvcmFnZUtleXNbXSBdIiwidmFsdWVbIi5jb25jYXQodCwiXSIpLGUpLFMoZVswXSxlWzFdKSk6UyhlLmFkZHJlc3MsZS5zdG9yYWdlS2V5cyl9KSk7dmFyIHQ9T2JqZWN0LmtleXMoZSkubWFwKChmdW5jdGlvbih0KXt2YXIgcj1lW3RdLnJlZHVjZSgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZVt0XT0hMCxlfSkse30pO3JldHVybiBTKHQsT2JqZWN0LmtleXMocikuc29ydCgpKX0pKTtyZXR1cm4gdC5zb3J0KChmdW5jdGlvbihlLHQpe3JldHVybiBlLmFkZHJlc3MubG9jYWxlQ29tcGFyZSh0LmFkZHJlc3MpfSkpLHR9ZnVuY3Rpb24gRShlKXtyZXR1cm4geChlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybltlLmFkZHJlc3MsZS5zdG9yYWdlS2V5c119KSl9ZnVuY3Rpb24gUChlLHQpe2lmKG51bGwhPWUuZ2FzUHJpY2Upe3ZhciByPW8uQmlnTnVtYmVyLmZyb20oZS5nYXNQcmljZSksbj1vLkJpZ051bWJlci5mcm9tKGUubWF4RmVlUGVyR2FzfHwwKTtyLmVxKG4pfHx5LnRocm93QXJndW1lbnRFcnJvcigibWlzbWF0Y2ggRUlQLTE1NTkgZ2FzUHJpY2UgIT0gbWF4RmVlUGVyR2FzIiwidHgiLHtnYXNQcmljZTpyLG1heEZlZVBlckdhczpufSl9dmFyIHM9W18oZS5jaGFpbklkfHwwLCJjaGFpbklkIiksXyhlLm5vbmNlfHwwLCJub25jZSIpLF8oZS5tYXhQcmlvcml0eUZlZVBlckdhc3x8MCwibWF4UHJpb3JpdHlGZWVQZXJHYXMiKSxfKGUubWF4RmVlUGVyR2FzfHwwLCJtYXhGZWVQZXJHYXMiKSxfKGUuZ2FzTGltaXR8fDAsImdhc0xpbWl0IiksbnVsbCE9ZS50bz8oMCxpLmdldEFkZHJlc3MpKGUudG8pOiIweCIsXyhlLnZhbHVlfHwwLCJ2YWx1ZSIpLGUuZGF0YXx8IjB4IixFKGUuYWNjZXNzTGlzdHx8W10pXTtpZih0KXt2YXIgdT0oMCxhLnNwbGl0U2lnbmF0dXJlKSh0KTtzLnB1c2goXyh1LnJlY292ZXJ5UGFyYW0sInJlY292ZXJ5UGFyYW0iKSkscy5wdXNoKCgwLGEuc3RyaXBaZXJvcykodS5yKSkscy5wdXNoKCgwLGEuc3RyaXBaZXJvcykodS5zKSl9cmV0dXJuKDAsYS5oZXhDb25jYXQpKFsiMHgwMiIsZi5lbmNvZGUocyldKX1mdW5jdGlvbiBPKGUsdCl7dmFyIHI9W18oZS5jaGFpbklkfHwwLCJjaGFpbklkIiksXyhlLm5vbmNlfHwwLCJub25jZSIpLF8oZS5nYXNQcmljZXx8MCwiZ2FzUHJpY2UiKSxfKGUuZ2FzTGltaXR8fDAsImdhc0xpbWl0IiksbnVsbCE9ZS50bz8oMCxpLmdldEFkZHJlc3MpKGUudG8pOiIweCIsXyhlLnZhbHVlfHwwLCJ2YWx1ZSIpLGUuZGF0YXx8IjB4IixFKGUuYWNjZXNzTGlzdHx8W10pXTtpZih0KXt2YXIgbj0oMCxhLnNwbGl0U2lnbmF0dXJlKSh0KTtyLnB1c2goXyhuLnJlY292ZXJ5UGFyYW0sInJlY292ZXJ5UGFyYW0iKSksci5wdXNoKCgwLGEuc3RyaXBaZXJvcykobi5yKSksci5wdXNoKCgwLGEuc3RyaXBaZXJvcykobi5zKSl9cmV0dXJuKDAsYS5oZXhDb25jYXQpKFsiMHgwMSIsZi5lbmNvZGUocildKX1mdW5jdGlvbiBCKGUsdCxyKXt0cnl7dmFyIG49dih0WzBdKS50b051bWJlcigpO2lmKDAhPT1uJiYxIT09bil0aHJvdyBuZXcgRXJyb3IoImJhZCByZWNpZCIpO2Uudj1ufWNhdGNoKGUpe3kudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIHYgZm9yIHRyYW5zYWN0aW9uIHR5cGU6IDEiLCJ2Iix0WzBdKX1lLnI9KDAsYS5oZXhaZXJvUGFkKSh0WzFdLDMyKSxlLnM9KDAsYS5oZXhaZXJvUGFkKSh0WzJdLDMyKTt0cnl7dmFyIGk9KDAsdS5rZWNjYWsyNTYpKHIoZSkpO2UuZnJvbT1rKGkse3I6ZS5yLHM6ZS5zLHJlY292ZXJ5UGFyYW06ZS52fSl9Y2F0Y2goZSl7fX19LDMzNjg6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbixpLG89cig4ODQ3KShyKDMzNTUpKTt2b2lkIDA9PT0oaT0iZnVuY3Rpb24iPT10eXBlb2Yobj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXtpZighKGUgaW5zdGFuY2VvZiB0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1mdW5jdGlvbiB0KGUsdCl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBuPXRbcl07bi5lbnVtZXJhYmxlPW4uZW51bWVyYWJsZXx8ITEsbi5jb25maWd1cmFibGU9ITAsInZhbHVlImluIG4mJihuLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLmtleSxuKX19ZnVuY3Rpb24gbihlLHIsbil7cmV0dXJuIHImJnQoZS5wcm90b3R5cGUsciksbiYmdChlLG4pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLGV9ZnVuY3Rpb24gaShlKXtyZXR1cm4gaT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LmdldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihlKXtyZXR1cm4gZS5fX3Byb3RvX198fE9iamVjdC5nZXRQcm90b3R5cGVPZihlKX0saShlKX1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGE9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5fX3Byb3RvX189dCxlfSxhKGUsdCl9ZnVuY3Rpb24gcyhlKXtpZih2b2lkIDA9PT1lKXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkIik7cmV0dXJuIGV9ZnVuY3Rpb24gdShlLHQpe2lmKHQmJigib2JqZWN0Ij09PSgwLG8uZGVmYXVsdCkodCl8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KSlyZXR1cm4gdDtpZih2b2lkIDAhPT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkRlcml2ZWQgY29uc3RydWN0b3JzIG1heSBvbmx5IHJldHVybiBvYmplY3Qgb3IgdW5kZWZpbmVkIik7cmV0dXJuIHMoZSl9ZnVuY3Rpb24gYyhlKXt2YXIgdD1mdW5jdGlvbigpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgUmVmbGVjdHx8IVJlZmxlY3QuY29uc3RydWN0KXJldHVybiExO2lmKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIFByb3h5KXJldHVybiEwO3RyeXtyZXR1cm4gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sW10sKGZ1bmN0aW9uKCl7fSkpKSwhMH1jYXRjaChlKXtyZXR1cm4hMX19KCk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHIsbj1pKGUpO2lmKHQpe3ZhciBvPWkodGhpcykuY29uc3RydWN0b3I7cj1SZWZsZWN0LmNvbnN0cnVjdChuLGFyZ3VtZW50cyxvKX1lbHNlIHI9bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHUodGhpcyxyKX19ZnVuY3Rpb24gZihlLHQpe2Zvcig7IU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHQpJiZudWxsIT09KGU9aShlKSk7KTtyZXR1cm4gZX1mdW5jdGlvbiBkKCl7cmV0dXJuIGQ9InVuZGVmaW5lZCIhPXR5cGVvZiBSZWZsZWN0JiZSZWZsZWN0LmdldD9SZWZsZWN0LmdldC5iaW5kKCk6ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPWYoZSx0KTtpZihuKXt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG4sdCk7cmV0dXJuIGkuZ2V0P2kuZ2V0LmNhbGwoYXJndW1lbnRzLmxlbmd0aDwzP2U6cik6aS52YWx1ZX19LGQuYXBwbHkodGhpcyxhcmd1bWVudHMpfXZhciBsPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe2UodGhpcyx0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywibGlzdGVuZXJzIix7dmFsdWU6e30sd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSl9cmV0dXJuIG4odCxbe2tleToiYWRkRXZlbnRMaXN0ZW5lciIsdmFsdWU6ZnVuY3Rpb24oZSx0LHIpe2UgaW4gdGhpcy5saXN0ZW5lcnN8fCh0aGlzLmxpc3RlbmVyc1tlXT1bXSksdGhpcy5saXN0ZW5lcnNbZV0ucHVzaCh7Y2FsbGJhY2s6dCxvcHRpb25zOnJ9KX19LHtrZXk6InJlbW92ZUV2ZW50TGlzdGVuZXIiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7aWYoZSBpbiB0aGlzLmxpc3RlbmVycylmb3IodmFyIHI9dGhpcy5saXN0ZW5lcnNbZV0sbj0wLGk9ci5sZW5ndGg7bjxpO24rKylpZihyW25dLmNhbGxiYWNrPT09dClyZXR1cm4gdm9pZCByLnNwbGljZShuLDEpfX0se2tleToiZGlzcGF0Y2hFdmVudCIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYoZS50eXBlIGluIHRoaXMubGlzdGVuZXJzKXtmb3IodmFyIHQ9dGhpcy5saXN0ZW5lcnNbZS50eXBlXS5zbGljZSgpLHI9MCxuPXQubGVuZ3RoO3I8bjtyKyspe3ZhciBpPXRbcl07dHJ5e2kuY2FsbGJhY2suY2FsbCh0aGlzLGUpfWNhdGNoKGUpe1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKGZ1bmN0aW9uKCl7dGhyb3cgZX0pKX1pLm9wdGlvbnMmJmkub3B0aW9ucy5vbmNlJiZ0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZS50eXBlLGkuY2FsbGJhY2spfXJldHVybiFlLmRlZmF1bHRQcmV2ZW50ZWR9fX1dKSx0fSgpLGg9ZnVuY3Rpb24odCl7IWZ1bmN0aW9uKGUsdCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQmJm51bGwhPT10KXRocm93IG5ldyBUeXBlRXJyb3IoIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uIik7ZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOmUsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLHQmJmEoZSx0KX0obyx0KTt2YXIgcj1jKG8pO2Z1bmN0aW9uIG8oKXt2YXIgdDtyZXR1cm4gZSh0aGlzLG8pLCh0PXIuY2FsbCh0aGlzKSkubGlzdGVuZXJzfHxsLmNhbGwocyh0KSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHModCksImFib3J0ZWQiLHt2YWx1ZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocyh0KSwib25hYm9ydCIse3ZhbHVlOm51bGwsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHModCksInJlYXNvbiIse3ZhbHVlOnZvaWQgMCx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9KSx0fXJldHVybiBuKG8sW3trZXk6InRvU3RyaW5nIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiJbb2JqZWN0IEFib3J0U2lnbmFsXSJ9fSx7a2V5OiJkaXNwYXRjaEV2ZW50Iix2YWx1ZTpmdW5jdGlvbihlKXsiYWJvcnQiPT09ZS50eXBlJiYodGhpcy5hYm9ydGVkPSEwLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLm9uYWJvcnQmJnRoaXMub25hYm9ydC5jYWxsKHRoaXMsZSkpLGQoaShvLnByb3RvdHlwZSksImRpc3BhdGNoRXZlbnQiLHRoaXMpLmNhbGwodGhpcyxlKX19XSksb30obCkscD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXtlKHRoaXMsdCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsInNpZ25hbCIse3ZhbHVlOm5ldyBoLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pfXJldHVybiBuKHQsW3trZXk6ImFib3J0Iix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdDt0cnl7dD1uZXcgRXZlbnQoImFib3J0Iil9Y2F0Y2goZSl7InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudD9kb2N1bWVudC5jcmVhdGVFdmVudD8odD1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSkuaW5pdEV2ZW50KCJhYm9ydCIsITEsITEpOih0PWRvY3VtZW50LmNyZWF0ZUV2ZW50T2JqZWN0KCkpLnR5cGU9ImFib3J0Ijp0PXt0eXBlOiJhYm9ydCIsYnViYmxlczohMSxjYW5jZWxhYmxlOiExfX12YXIgcj1lO2lmKHZvaWQgMD09PXIpaWYoInVuZGVmaW5lZCI9PXR5cGVvZiBkb2N1bWVudCkocj1uZXcgRXJyb3IoIlRoaXMgb3BlcmF0aW9uIHdhcyBhYm9ydGVkIikpLm5hbWU9IkFib3J0RXJyb3IiO2Vsc2UgdHJ5e3I9bmV3IERPTUV4Y2VwdGlvbigic2lnbmFsIGlzIGFib3J0ZWQgd2l0aG91dCByZWFzb24iKX1jYXRjaChlKXsocj1uZXcgRXJyb3IoIlRoaXMgb3BlcmF0aW9uIHdhcyBhYm9ydGVkIikpLm5hbWU9IkFib3J0RXJyb3IifXRoaXMuc2lnbmFsLnJlYXNvbj1yLHRoaXMuc2lnbmFsLmRpc3BhdGNoRXZlbnQodCl9fSx7a2V5OiJ0b1N0cmluZyIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iW29iamVjdCBBYm9ydENvbnRyb2xsZXJdIn19XSksdH0oKTtmdW5jdGlvbiBiKGUpe3JldHVybiBlLl9fRk9SQ0VfSU5TVEFMTF9BQk9SVENPTlRST0xMRVJfUE9MWUZJTEw/KGNvbnNvbGUubG9nKCJfX0ZPUkNFX0lOU1RBTExfQUJPUlRDT05UUk9MTEVSX1BPTFlGSUxMPXRydWUgaXMgc2V0LCB3aWxsIGZvcmNlIGluc3RhbGwgcG9seWZpbGwiKSwhMCk6ImZ1bmN0aW9uIj09dHlwZW9mIGUuUmVxdWVzdCYmIWUuUmVxdWVzdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNpZ25hbCIpfHwhZS5BYm9ydENvbnRyb2xsZXJ9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC50b1N0cmluZ1RhZyYmKHAucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ109IkFib3J0Q29udHJvbGxlciIsaC5wcm90b3R5cGVbU3ltYm9sLnRvU3RyaW5nVGFnXT0iQWJvcnRTaWduYWwiKSxmdW5jdGlvbihlKXtpZihiKGUpKWlmKGUuZmV0Y2gpe3ZhciB0PWZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT17ZmV0Y2g6ZX0pO3ZhciB0PWUscj10LmZldGNoLG49dC5SZXF1ZXN0LGk9dm9pZCAwPT09bj9yLlJlcXVlc3Q6bixvPXQuQWJvcnRDb250cm9sbGVyLGE9dC5fX0ZPUkNFX0lOU1RBTExfQUJPUlRDT05UUk9MTEVSX1BPTFlGSUxMLHM9dm9pZCAwIT09YSYmYTtpZighYih7ZmV0Y2g6cixSZXF1ZXN0OmksQWJvcnRDb250cm9sbGVyOm8sX19GT1JDRV9JTlNUQUxMX0FCT1JUQ09OVFJPTExFUl9QT0xZRklMTDpzfSkpcmV0dXJue2ZldGNoOnIsUmVxdWVzdDp1fTt2YXIgdT1pOyh1JiYhdS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNpZ25hbCIpfHxzKSYmKCh1PWZ1bmN0aW9uKGUsdCl7dmFyIHI7dCYmdC5zaWduYWwmJihyPXQuc2lnbmFsLGRlbGV0ZSB0LnNpZ25hbCk7dmFyIG49bmV3IGkoZSx0KTtyZXR1cm4gciYmT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sInNpZ25hbCIse3dyaXRhYmxlOiExLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwLHZhbHVlOnJ9KSxufSkucHJvdG90eXBlPWkucHJvdG90eXBlKTt2YXIgYz1yO3JldHVybntmZXRjaDpmdW5jdGlvbihlLHQpe3ZhciByPXUmJnUucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSk/ZS5zaWduYWw6dD90LnNpZ25hbDp2b2lkIDA7aWYocil7dmFyIG47dHJ5e249bmV3IERPTUV4Y2VwdGlvbigiQWJvcnRlZCIsIkFib3J0RXJyb3IiKX1jYXRjaChlKXsobj1uZXcgRXJyb3IoIkFib3J0ZWQiKSkubmFtZT0iQWJvcnRFcnJvciJ9aWYoci5hYm9ydGVkKXJldHVybiBQcm9taXNlLnJlamVjdChuKTt2YXIgaT1uZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSx0KXtyLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoZnVuY3Rpb24oKXtyZXR1cm4gdChuKX0pLHtvbmNlOiEwfSl9KSk7cmV0dXJuIHQmJnQuc2lnbmFsJiZkZWxldGUgdC5zaWduYWwsUHJvbWlzZS5yYWNlKFtpLGMoZSx0KV0pfXJldHVybiBjKGUsdCl9LFJlcXVlc3Q6dX19KGUpLHI9dC5mZXRjaCxuPXQuUmVxdWVzdDtlLmZldGNoPXIsZS5SZXF1ZXN0PW4sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIkFib3J0Q29udHJvbGxlciIse3dyaXRhYmxlOiEwLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwLHZhbHVlOnB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiQWJvcnRTaWduYWwiLHt3cml0YWJsZTohMCxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMCx2YWx1ZTpofSl9ZWxzZSBjb25zb2xlLndhcm4oImZldGNoKCkgaXMgbm90IGF2YWlsYWJsZSwgY2Fubm90IGluc3RhbGwgYWJvcnRjb250cm9sbGVyLXBvbHlmaWxsIil9KCJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnIuZyl9KT9uLmNhbGwodCxyLHQsZSk6bil8fChlLmV4cG9ydHM9aSl9LDgzNTc6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj10O24uYmlnbnVtPXIoMTczNCksbi5kZWZpbmU9cigxNTY4KS5kZWZpbmUsbi5iYXNlPXIoMjQxMiksbi5jb25zdGFudHM9cig5Mzg3KSxuLmRlY29kZXJzPXIoMTUwMCksbi5lbmNvZGVycz1yKDc1MDYpfSwxNTY4OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig3NTA2KSxpPXIoMTUwMCksbz1yKDE3MzYpO2Z1bmN0aW9uIGEoZSx0KXt0aGlzLm5hbWU9ZSx0aGlzLmJvZHk9dCx0aGlzLmRlY29kZXJzPXt9LHRoaXMuZW5jb2RlcnM9e319dC5kZWZpbmU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IGEoZSx0KX0sYS5wcm90b3R5cGUuX2NyZWF0ZU5hbWVkPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMubmFtZTtmdW5jdGlvbiByKGUpe3RoaXMuX2luaXROYW1lZChlLHQpfXJldHVybiBvKHIsZSksci5wcm90b3R5cGUuX2luaXROYW1lZD1mdW5jdGlvbih0LHIpe2UuY2FsbCh0aGlzLHQscil9LG5ldyByKHRoaXMpfSxhLnByb3RvdHlwZS5fZ2V0RGVjb2Rlcj1mdW5jdGlvbihlKXtyZXR1cm4gZT1lfHwiZGVyIix0aGlzLmRlY29kZXJzLmhhc093blByb3BlcnR5KGUpfHwodGhpcy5kZWNvZGVyc1tlXT10aGlzLl9jcmVhdGVOYW1lZChpW2VdKSksdGhpcy5kZWNvZGVyc1tlXX0sYS5wcm90b3R5cGUuZGVjb2RlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdGhpcy5fZ2V0RGVjb2Rlcih0KS5kZWNvZGUoZSxyKX0sYS5wcm90b3R5cGUuX2dldEVuY29kZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9ZXx8ImRlciIsdGhpcy5lbmNvZGVycy5oYXNPd25Qcm9wZXJ0eShlKXx8KHRoaXMuZW5jb2RlcnNbZV09dGhpcy5fY3JlYXRlTmFtZWQobltlXSkpLHRoaXMuZW5jb2RlcnNbZV19LGEucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbihlLHQscil7cmV0dXJuIHRoaXMuX2dldEVuY29kZXIodCkuZW5jb2RlKGUscil9fSw1ODU6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpKHIoMzM1NSkpLGk9cigxNzM2KSxvPXIoMjcxOSkuYixhPXIoMTc1NSkuQnVmZmVyO2Z1bmN0aW9uIHMoZSx0KXtvLmNhbGwodGhpcyx0KSxhLmlzQnVmZmVyKGUpPyh0aGlzLmJhc2U9ZSx0aGlzLm9mZnNldD0wLHRoaXMubGVuZ3RoPWUubGVuZ3RoKTp0aGlzLmVycm9yKCJJbnB1dCBub3QgQnVmZmVyIil9ZnVuY3Rpb24gdShlLHQpe2lmKEFycmF5LmlzQXJyYXkoZSkpdGhpcy5sZW5ndGg9MCx0aGlzLnZhbHVlPWUubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdS5pc0VuY29kZXJCdWZmZXIoZSl8fChlPW5ldyB1KGUsdCkpLHRoaXMubGVuZ3RoKz1lLmxlbmd0aCxlfSksdGhpcyk7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGUpe2lmKCEoMDw9ZSYmZTw9MjU1KSlyZXR1cm4gdC5lcnJvcigibm9uLWJ5dGUgRW5jb2RlckJ1ZmZlciB2YWx1ZSIpO3RoaXMudmFsdWU9ZSx0aGlzLmxlbmd0aD0xfWVsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKXRoaXMudmFsdWU9ZSx0aGlzLmxlbmd0aD1hLmJ5dGVMZW5ndGgoZSk7ZWxzZXtpZighYS5pc0J1ZmZlcihlKSlyZXR1cm4gdC5lcnJvcigiVW5zdXBwb3J0ZWQgdHlwZTogIisoMCxuLmRlZmF1bHQpKGUpKTt0aGlzLnZhbHVlPWUsdGhpcy5sZW5ndGg9ZS5sZW5ndGh9fWkocyxvKSx0LkM9cyxzLmlzRGVjb2RlckJ1ZmZlcj1mdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHN8fCJvYmplY3QiPT09KDAsbi5kZWZhdWx0KShlKSYmYS5pc0J1ZmZlcihlLmJhc2UpJiYiRGVjb2RlckJ1ZmZlciI9PT1lLmNvbnN0cnVjdG9yLm5hbWUmJiJudW1iZXIiPT10eXBlb2YgZS5vZmZzZXQmJiJudW1iZXIiPT10eXBlb2YgZS5sZW5ndGgmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnNhdmUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnJlc3RvcmUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmlzRW1wdHkmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnJlYWRVSW50OCYmImZ1bmN0aW9uIj09dHlwZW9mIGUuc2tpcCYmImZ1bmN0aW9uIj09dHlwZW9mIGUucmF3fSxzLnByb3RvdHlwZS5zYXZlPWZ1bmN0aW9uKCl7cmV0dXJue29mZnNldDp0aGlzLm9mZnNldCxyZXBvcnRlcjpvLnByb3RvdHlwZS5zYXZlLmNhbGwodGhpcyl9fSxzLnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBzKHRoaXMuYmFzZSk7cmV0dXJuIHQub2Zmc2V0PWUub2Zmc2V0LHQubGVuZ3RoPXRoaXMub2Zmc2V0LHRoaXMub2Zmc2V0PWUub2Zmc2V0LG8ucHJvdG90eXBlLnJlc3RvcmUuY2FsbCh0aGlzLGUucmVwb3J0ZXIpLHR9LHMucHJvdG90eXBlLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vZmZzZXQ9PT10aGlzLmxlbmd0aH0scy5wcm90b3R5cGUucmVhZFVJbnQ4PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm9mZnNldCsxPD10aGlzLmxlbmd0aD90aGlzLmJhc2UucmVhZFVJbnQ4KHRoaXMub2Zmc2V0KyssITApOnRoaXMuZXJyb3IoZXx8IkRlY29kZXJCdWZmZXIgb3ZlcnJ1biIpfSxzLnByb3RvdHlwZS5za2lwPWZ1bmN0aW9uKGUsdCl7aWYoISh0aGlzLm9mZnNldCtlPD10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXMuZXJyb3IodHx8IkRlY29kZXJCdWZmZXIgb3ZlcnJ1biIpO3ZhciByPW5ldyBzKHRoaXMuYmFzZSk7cmV0dXJuIHIuX3JlcG9ydGVyU3RhdGU9dGhpcy5fcmVwb3J0ZXJTdGF0ZSxyLm9mZnNldD10aGlzLm9mZnNldCxyLmxlbmd0aD10aGlzLm9mZnNldCtlLHRoaXMub2Zmc2V0Kz1lLHJ9LHMucHJvdG90eXBlLnJhdz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5iYXNlLnNsaWNlKGU/ZS5vZmZzZXQ6dGhpcy5vZmZzZXQsdGhpcy5sZW5ndGgpfSx0LlI9dSx1LmlzRW5jb2RlckJ1ZmZlcj1mdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHV8fCJvYmplY3QiPT09KDAsbi5kZWZhdWx0KShlKSYmIkVuY29kZXJCdWZmZXIiPT09ZS5jb25zdHJ1Y3Rvci5uYW1lJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5qb2lufSx1LnByb3RvdHlwZS5qb2luPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGV8fChlPWEuYWxsb2ModGhpcy5sZW5ndGgpKSx0fHwodD0wKSwwPT09dGhpcy5sZW5ndGh8fChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpP3RoaXMudmFsdWUuZm9yRWFjaCgoZnVuY3Rpb24ocil7ci5qb2luKGUsdCksdCs9ci5sZW5ndGh9KSk6KCJudW1iZXIiPT10eXBlb2YgdGhpcy52YWx1ZT9lW3RdPXRoaXMudmFsdWU6InN0cmluZyI9PXR5cGVvZiB0aGlzLnZhbHVlP2Uud3JpdGUodGhpcy52YWx1ZSx0KTphLmlzQnVmZmVyKHRoaXMudmFsdWUpJiZ0aGlzLnZhbHVlLmNvcHkoZSx0KSx0Kz10aGlzLmxlbmd0aCkpLGV9fSwyNDEyOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49dDtuLlJlcG9ydGVyPXIoMjcxOSkuYixuLkRlY29kZXJCdWZmZXI9cig1ODUpLkMsbi5FbmNvZGVyQnVmZmVyPXIoNTg1KS5SLG4uTm9kZT1yKDEzNzEpfSwxMzcxOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KShyKDMzNTUpKSxpPXIoMjcxOSkuYixvPXIoNTg1KS5SLGE9cig1ODUpLkMscz1yKDQ1MDQpLHU9WyJzZXEiLCJzZXFvZiIsInNldCIsInNldG9mIiwib2JqaWQiLCJib29sIiwiZ2VudGltZSIsInV0Y3RpbWUiLCJudWxsXyIsImVudW0iLCJpbnQiLCJvYmpEZXNjIiwiYml0c3RyIiwiYm1wc3RyIiwiY2hhcnN0ciIsImdlbnN0ciIsImdyYXBoc3RyIiwiaWE1c3RyIiwiaXNvNjQ2c3RyIiwibnVtc3RyIiwib2N0c3RyIiwicHJpbnRzdHIiLCJ0NjFzdHIiLCJ1bmlzdHIiLCJ1dGY4c3RyIiwidmlkZW9zdHIiXSxjPVsia2V5Iiwib2JqIiwidXNlIiwib3B0aW9uYWwiLCJleHBsaWNpdCIsImltcGxpY2l0IiwiZGVmIiwiY2hvaWNlIiwiYW55IiwiY29udGFpbnMiXS5jb25jYXQodSk7ZnVuY3Rpb24gZihlLHQscil7dmFyIG49e307dGhpcy5fYmFzZVN0YXRlPW4sbi5uYW1lPXIsbi5lbmM9ZSxuLnBhcmVudD10fHxudWxsLG4uY2hpbGRyZW49bnVsbCxuLnRhZz1udWxsLG4uYXJncz1udWxsLG4ucmV2ZXJzZUFyZ3M9bnVsbCxuLmNob2ljZT1udWxsLG4ub3B0aW9uYWw9ITEsbi5hbnk9ITEsbi5vYmo9ITEsbi51c2U9bnVsbCxuLnVzZURlY29kZXI9bnVsbCxuLmtleT1udWxsLG4uZGVmYXVsdD1udWxsLG4uZXhwbGljaXQ9bnVsbCxuLmltcGxpY2l0PW51bGwsbi5jb250YWlucz1udWxsLG4ucGFyZW50fHwobi5jaGlsZHJlbj1bXSx0aGlzLl93cmFwKCkpfWUuZXhwb3J0cz1mO3ZhciBkPVsiZW5jIiwicGFyZW50IiwiY2hpbGRyZW4iLCJ0YWciLCJhcmdzIiwicmV2ZXJzZUFyZ3MiLCJjaG9pY2UiLCJvcHRpb25hbCIsImFueSIsIm9iaiIsInVzZSIsImFsdGVyZWRVc2UiLCJrZXkiLCJkZWZhdWx0IiwiZXhwbGljaXQiLCJpbXBsaWNpdCIsImNvbnRhaW5zIl07Zi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9iYXNlU3RhdGUsdD17fTtkLmZvckVhY2goKGZ1bmN0aW9uKHIpe3Rbcl09ZVtyXX0pKTt2YXIgcj1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0LnBhcmVudCk7cmV0dXJuIHIuX2Jhc2VTdGF0ZT10LHJ9LGYucHJvdG90eXBlLl93cmFwPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fYmFzZVN0YXRlO2MuZm9yRWFjaCgoZnVuY3Rpb24odCl7dGhpc1t0XT1mdW5jdGlvbigpe3ZhciByPW5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpO3JldHVybiBlLmNoaWxkcmVuLnB1c2gociksclt0XS5hcHBseShyLGFyZ3VtZW50cyl9fSksdGhpcyl9LGYucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2Jhc2VTdGF0ZTtzKG51bGw9PT10LnBhcmVudCksZS5jYWxsKHRoaXMpLHQuY2hpbGRyZW49dC5jaGlsZHJlbi5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlLl9iYXNlU3RhdGUucGFyZW50PT09dGhpc30pLHRoaXMpLHMuZXF1YWwodC5jaGlsZHJlbi5sZW5ndGgsMSwiUm9vdCBub2RlIGNhbiBoYXZlIG9ubHkgb25lIGNoaWxkIil9LGYucHJvdG90eXBlLl91c2VBcmdzPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2Jhc2VTdGF0ZSxyPWUuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3J9KSx0aGlzKTtlPWUuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4hKGUgaW5zdGFuY2VvZiB0aGlzLmNvbnN0cnVjdG9yKX0pLHRoaXMpLDAhPT1yLmxlbmd0aCYmKHMobnVsbD09PXQuY2hpbGRyZW4pLHQuY2hpbGRyZW49cixyLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UuX2Jhc2VTdGF0ZS5wYXJlbnQ9dGhpc30pLHRoaXMpKSwwIT09ZS5sZW5ndGgmJihzKG51bGw9PT10LmFyZ3MpLHQuYXJncz1lLHQucmV2ZXJzZUFyZ3M9ZS5tYXAoKGZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiIT09KDAsbi5kZWZhdWx0KShlKXx8ZS5jb25zdHJ1Y3RvciE9PU9iamVjdClyZXR1cm4gZTt2YXIgdD17fTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24ocil7cj09KDB8cikmJihyfD0wKTt2YXIgbj1lW3JdO3Rbbl09cn0pKSx0fSkpKX0sWyJfcGVla1RhZyIsIl9kZWNvZGVUYWciLCJfdXNlIiwiX2RlY29kZVN0ciIsIl9kZWNvZGVPYmppZCIsIl9kZWNvZGVUaW1lIiwiX2RlY29kZU51bGwiLCJfZGVjb2RlSW50IiwiX2RlY29kZUJvb2wiLCJfZGVjb2RlTGlzdCIsIl9lbmNvZGVDb21wb3NpdGUiLCJfZW5jb2RlU3RyIiwiX2VuY29kZU9iamlkIiwiX2VuY29kZVRpbWUiLCJfZW5jb2RlTnVsbCIsIl9lbmNvZGVJbnQiLCJfZW5jb2RlQm9vbCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2YucHJvdG90eXBlW2VdPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fYmFzZVN0YXRlO3Rocm93IG5ldyBFcnJvcihlKyIgbm90IGltcGxlbWVudGVkIGZvciBlbmNvZGluZzogIit0LmVuYyl9fSkpLHUuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Zi5wcm90b3R5cGVbZV09ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9iYXNlU3RhdGUscj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3JldHVybiBzKG51bGw9PT10LnRhZyksdC50YWc9ZSx0aGlzLl91c2VBcmdzKHIpLHRoaXN9fSkpLGYucHJvdG90eXBlLnVzZT1mdW5jdGlvbihlKXtzKGUpO3ZhciB0PXRoaXMuX2Jhc2VTdGF0ZTtyZXR1cm4gcyhudWxsPT09dC51c2UpLHQudXNlPWUsdGhpc30sZi5wcm90b3R5cGUub3B0aW9uYWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFzZVN0YXRlLm9wdGlvbmFsPSEwLHRoaXN9LGYucHJvdG90eXBlLmRlZj1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9iYXNlU3RhdGU7cmV0dXJuIHMobnVsbD09PXQuZGVmYXVsdCksdC5kZWZhdWx0PWUsdC5vcHRpb25hbD0hMCx0aGlzfSxmLnByb3RvdHlwZS5leHBsaWNpdD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9iYXNlU3RhdGU7cmV0dXJuIHMobnVsbD09PXQuZXhwbGljaXQmJm51bGw9PT10LmltcGxpY2l0KSx0LmV4cGxpY2l0PWUsdGhpc30sZi5wcm90b3R5cGUuaW1wbGljaXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fYmFzZVN0YXRlO3JldHVybiBzKG51bGw9PT10LmV4cGxpY2l0JiZudWxsPT09dC5pbXBsaWNpdCksdC5pbXBsaWNpdD1lLHRoaXN9LGYucHJvdG90eXBlLm9iaj1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX2Jhc2VTdGF0ZSx0PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7cmV0dXJuIGUub2JqPSEwLDAhPT10Lmxlbmd0aCYmdGhpcy5fdXNlQXJncyh0KSx0aGlzfSxmLnByb3RvdHlwZS5rZXk9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fYmFzZVN0YXRlO3JldHVybiBzKG51bGw9PT10LmtleSksdC5rZXk9ZSx0aGlzfSxmLnByb3RvdHlwZS5hbnk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFzZVN0YXRlLmFueT0hMCx0aGlzfSxmLnByb3RvdHlwZS5jaG9pY2U9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fYmFzZVN0YXRlO3JldHVybiBzKG51bGw9PT10LmNob2ljZSksdC5jaG9pY2U9ZSx0aGlzLl91c2VBcmdzKE9iamVjdC5rZXlzKGUpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGVbdF19KSkpLHRoaXN9LGYucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2Jhc2VTdGF0ZTtyZXR1cm4gcyhudWxsPT09dC51c2UpLHQuY29udGFpbnM9ZSx0aGlzfSxmLnByb3RvdHlwZS5fZGVjb2RlPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcy5fYmFzZVN0YXRlO2lmKG51bGw9PT1yLnBhcmVudClyZXR1cm4gZS53cmFwUmVzdWx0KHIuY2hpbGRyZW5bMF0uX2RlY29kZShlLHQpKTt2YXIgbixpPXIuZGVmYXVsdCxvPSEwLHM9bnVsbDtpZihudWxsIT09ci5rZXkmJihzPWUuZW50ZXJLZXkoci5rZXkpKSxyLm9wdGlvbmFsKXt2YXIgdT1udWxsO2lmKG51bGwhPT1yLmV4cGxpY2l0P3U9ci5leHBsaWNpdDpudWxsIT09ci5pbXBsaWNpdD91PXIuaW1wbGljaXQ6bnVsbCE9PXIudGFnJiYodT1yLnRhZyksbnVsbCE9PXV8fHIuYW55KXtpZihvPXRoaXMuX3BlZWtUYWcoZSx1LHIuYW55KSxlLmlzRXJyb3IobykpcmV0dXJuIG99ZWxzZXt2YXIgYz1lLnNhdmUoKTt0cnl7bnVsbD09PXIuY2hvaWNlP3RoaXMuX2RlY29kZUdlbmVyaWMoci50YWcsZSx0KTp0aGlzLl9kZWNvZGVDaG9pY2UoZSx0KSxvPSEwfWNhdGNoKGUpe289ITF9ZS5yZXN0b3JlKGMpfX1pZihyLm9iaiYmbyYmKG49ZS5lbnRlck9iamVjdCgpKSxvKXtpZihudWxsIT09ci5leHBsaWNpdCl7dmFyIGY9dGhpcy5fZGVjb2RlVGFnKGUsci5leHBsaWNpdCk7aWYoZS5pc0Vycm9yKGYpKXJldHVybiBmO2U9Zn12YXIgZD1lLm9mZnNldDtpZihudWxsPT09ci51c2UmJm51bGw9PT1yLmNob2ljZSl7dmFyIGw7ci5hbnkmJihsPWUuc2F2ZSgpKTt2YXIgaD10aGlzLl9kZWNvZGVUYWcoZSxudWxsIT09ci5pbXBsaWNpdD9yLmltcGxpY2l0OnIudGFnLHIuYW55KTtpZihlLmlzRXJyb3IoaCkpcmV0dXJuIGg7ci5hbnk/aT1lLnJhdyhsKTplPWh9aWYodCYmdC50cmFjayYmbnVsbCE9PXIudGFnJiZ0LnRyYWNrKGUucGF0aCgpLGQsZS5sZW5ndGgsInRhZ2dlZCIpLHQmJnQudHJhY2smJm51bGwhPT1yLnRhZyYmdC50cmFjayhlLnBhdGgoKSxlLm9mZnNldCxlLmxlbmd0aCwiY29udGVudCIpLHIuYW55fHwoaT1udWxsPT09ci5jaG9pY2U/dGhpcy5fZGVjb2RlR2VuZXJpYyhyLnRhZyxlLHQpOnRoaXMuX2RlY29kZUNob2ljZShlLHQpKSxlLmlzRXJyb3IoaSkpcmV0dXJuIGk7aWYoci5hbnl8fG51bGwhPT1yLmNob2ljZXx8bnVsbD09PXIuY2hpbGRyZW58fHIuY2hpbGRyZW4uZm9yRWFjaCgoZnVuY3Rpb24ocil7ci5fZGVjb2RlKGUsdCl9KSksci5jb250YWlucyYmKCJvY3RzdHIiPT09ci50YWd8fCJiaXRzdHIiPT09ci50YWcpKXt2YXIgcD1uZXcgYShpKTtpPXRoaXMuX2dldFVzZShyLmNvbnRhaW5zLGUuX3JlcG9ydGVyU3RhdGUub2JqKS5fZGVjb2RlKHAsdCl9fXJldHVybiByLm9iaiYmbyYmKGk9ZS5sZWF2ZU9iamVjdChuKSksbnVsbD09PXIua2V5fHxudWxsPT09aSYmITAhPT1vP251bGwhPT1zJiZlLmV4aXRLZXkocyk6ZS5sZWF2ZUtleShzLHIua2V5LGkpLGl9LGYucHJvdG90eXBlLl9kZWNvZGVHZW5lcmljPWZ1bmN0aW9uKGUsdCxyKXt2YXIgbj10aGlzLl9iYXNlU3RhdGU7cmV0dXJuInNlcSI9PT1lfHwic2V0Ij09PWU/bnVsbDoic2Vxb2YiPT09ZXx8InNldG9mIj09PWU/dGhpcy5fZGVjb2RlTGlzdCh0LGUsbi5hcmdzWzBdLHIpOi9zdHIkLy50ZXN0KGUpP3RoaXMuX2RlY29kZVN0cih0LGUscik6Im9iamlkIj09PWUmJm4uYXJncz90aGlzLl9kZWNvZGVPYmppZCh0LG4uYXJnc1swXSxuLmFyZ3NbMV0scik6Im9iamlkIj09PWU/dGhpcy5fZGVjb2RlT2JqaWQodCxudWxsLG51bGwscik6ImdlbnRpbWUiPT09ZXx8InV0Y3RpbWUiPT09ZT90aGlzLl9kZWNvZGVUaW1lKHQsZSxyKToibnVsbF8iPT09ZT90aGlzLl9kZWNvZGVOdWxsKHQscik6ImJvb2wiPT09ZT90aGlzLl9kZWNvZGVCb29sKHQscik6Im9iakRlc2MiPT09ZT90aGlzLl9kZWNvZGVTdHIodCxlLHIpOiJpbnQiPT09ZXx8ImVudW0iPT09ZT90aGlzLl9kZWNvZGVJbnQodCxuLmFyZ3MmJm4uYXJnc1swXSxyKTpudWxsIT09bi51c2U/dGhpcy5fZ2V0VXNlKG4udXNlLHQuX3JlcG9ydGVyU3RhdGUub2JqKS5fZGVjb2RlKHQscik6dC5lcnJvcigidW5rbm93biB0YWc6ICIrZSl9LGYucHJvdG90eXBlLl9nZXRVc2U9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLl9iYXNlU3RhdGU7cmV0dXJuIHIudXNlRGVjb2Rlcj10aGlzLl91c2UoZSx0KSxzKG51bGw9PT1yLnVzZURlY29kZXIuX2Jhc2VTdGF0ZS5wYXJlbnQpLHIudXNlRGVjb2Rlcj1yLnVzZURlY29kZXIuX2Jhc2VTdGF0ZS5jaGlsZHJlblswXSxyLmltcGxpY2l0IT09ci51c2VEZWNvZGVyLl9iYXNlU3RhdGUuaW1wbGljaXQmJihyLnVzZURlY29kZXI9ci51c2VEZWNvZGVyLmNsb25lKCksci51c2VEZWNvZGVyLl9iYXNlU3RhdGUuaW1wbGljaXQ9ci5pbXBsaWNpdCksci51c2VEZWNvZGVyfSxmLnByb3RvdHlwZS5fZGVjb2RlQ2hvaWNlPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcy5fYmFzZVN0YXRlLG49bnVsbCxpPSExO3JldHVybiBPYmplY3Qua2V5cyhyLmNob2ljZSkuc29tZSgoZnVuY3Rpb24obyl7dmFyIGE9ZS5zYXZlKCkscz1yLmNob2ljZVtvXTt0cnl7dmFyIHU9cy5fZGVjb2RlKGUsdCk7aWYoZS5pc0Vycm9yKHUpKXJldHVybiExO249e3R5cGU6byx2YWx1ZTp1fSxpPSEwfWNhdGNoKHQpe3JldHVybiBlLnJlc3RvcmUoYSksITF9cmV0dXJuITB9KSx0aGlzKSxpP246ZS5lcnJvcigiQ2hvaWNlIG5vdCBtYXRjaGVkIil9LGYucHJvdG90eXBlLl9jcmVhdGVFbmNvZGVyQnVmZmVyPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbyhlLHRoaXMucmVwb3J0ZXIpfSxmLnByb3RvdHlwZS5fZW5jb2RlPWZ1bmN0aW9uKGUsdCxyKXt2YXIgbj10aGlzLl9iYXNlU3RhdGU7aWYobnVsbD09PW4uZGVmYXVsdHx8bi5kZWZhdWx0IT09ZSl7dmFyIGk9dGhpcy5fZW5jb2RlVmFsdWUoZSx0LHIpO2lmKHZvaWQgMCE9PWkmJiF0aGlzLl9za2lwRGVmYXVsdChpLHQscikpcmV0dXJuIGl9fSxmLnByb3RvdHlwZS5fZW5jb2RlVmFsdWU9ZnVuY3Rpb24oZSx0LHIpe3ZhciBvPXRoaXMuX2Jhc2VTdGF0ZTtpZihudWxsPT09by5wYXJlbnQpcmV0dXJuIG8uY2hpbGRyZW5bMF0uX2VuY29kZShlLHR8fG5ldyBpKTt2YXIgYT1udWxsO2lmKHRoaXMucmVwb3J0ZXI9dCxvLm9wdGlvbmFsJiZ2b2lkIDA9PT1lKXtpZihudWxsPT09by5kZWZhdWx0KXJldHVybjtlPW8uZGVmYXVsdH12YXIgcz1udWxsLHU9ITE7aWYoby5hbnkpYT10aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKGUpO2Vsc2UgaWYoby5jaG9pY2UpYT10aGlzLl9lbmNvZGVDaG9pY2UoZSx0KTtlbHNlIGlmKG8uY29udGFpbnMpcz10aGlzLl9nZXRVc2Uoby5jb250YWlucyxyKS5fZW5jb2RlKGUsdCksdT0hMDtlbHNlIGlmKG8uY2hpbGRyZW4pcz1vLmNoaWxkcmVuLm1hcCgoZnVuY3Rpb24ocil7aWYoIm51bGxfIj09PXIuX2Jhc2VTdGF0ZS50YWcpcmV0dXJuIHIuX2VuY29kZShudWxsLHQsZSk7aWYobnVsbD09PXIuX2Jhc2VTdGF0ZS5rZXkpcmV0dXJuIHQuZXJyb3IoIkNoaWxkIHNob3VsZCBoYXZlIGEga2V5Iik7dmFyIGk9dC5lbnRlcktleShyLl9iYXNlU3RhdGUua2V5KTtpZigib2JqZWN0IiE9PSgwLG4uZGVmYXVsdCkoZSkpcmV0dXJuIHQuZXJyb3IoIkNoaWxkIGV4cGVjdGVkLCBidXQgaW5wdXQgaXMgbm90IG9iamVjdCIpO3ZhciBvPXIuX2VuY29kZShlW3IuX2Jhc2VTdGF0ZS5rZXldLHQsZSk7cmV0dXJuIHQubGVhdmVLZXkoaSksb30pLHRoaXMpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSkscz10aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHMpO2Vsc2UgaWYoInNlcW9mIj09PW8udGFnfHwic2V0b2YiPT09by50YWcpe2lmKCFvLmFyZ3N8fDEhPT1vLmFyZ3MubGVuZ3RoKXJldHVybiB0LmVycm9yKCJUb28gbWFueSBhcmdzIGZvciA6ICIrby50YWcpO2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiB0LmVycm9yKCJzZXFvZi9zZXRvZiwgYnV0IGRhdGEgaXMgbm90IEFycmF5Iik7dmFyIGM9dGhpcy5jbG9uZSgpO2MuX2Jhc2VTdGF0ZS5pbXBsaWNpdD1udWxsLHM9dGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihlLm1hcCgoZnVuY3Rpb24ocil7dmFyIG49dGhpcy5fYmFzZVN0YXRlO3JldHVybiB0aGlzLl9nZXRVc2Uobi5hcmdzWzBdLGUpLl9lbmNvZGUocix0KX0pLGMpKX1lbHNlIG51bGwhPT1vLnVzZT9hPXRoaXMuX2dldFVzZShvLnVzZSxyKS5fZW5jb2RlKGUsdCk6KHM9dGhpcy5fZW5jb2RlUHJpbWl0aXZlKG8udGFnLGUpLHU9ITApO2lmKCFvLmFueSYmbnVsbD09PW8uY2hvaWNlKXt2YXIgZj1udWxsIT09by5pbXBsaWNpdD9vLmltcGxpY2l0Om8udGFnLGQ9bnVsbD09PW8uaW1wbGljaXQ/InVuaXZlcnNhbCI6ImNvbnRleHQiO251bGw9PT1mP251bGw9PT1vLnVzZSYmdC5lcnJvcigiVGFnIGNvdWxkIGJlIG9taXR0ZWQgb25seSBmb3IgLnVzZSgpIik6bnVsbD09PW8udXNlJiYoYT10aGlzLl9lbmNvZGVDb21wb3NpdGUoZix1LGQscykpfXJldHVybiBudWxsIT09by5leHBsaWNpdCYmKGE9dGhpcy5fZW5jb2RlQ29tcG9zaXRlKG8uZXhwbGljaXQsITEsImNvbnRleHQiLGEpKSxhfSxmLnByb3RvdHlwZS5fZW5jb2RlQ2hvaWNlPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcy5fYmFzZVN0YXRlLG49ci5jaG9pY2VbZS50eXBlXTtyZXR1cm4gbnx8cyghMSxlLnR5cGUrIiBub3QgZm91bmQgaW4gIitKU09OLnN0cmluZ2lmeShPYmplY3Qua2V5cyhyLmNob2ljZSkpKSxuLl9lbmNvZGUoZS52YWx1ZSx0KX0sZi5wcm90b3R5cGUuX2VuY29kZVByaW1pdGl2ZT1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXMuX2Jhc2VTdGF0ZTtpZigvc3RyJC8udGVzdChlKSlyZXR1cm4gdGhpcy5fZW5jb2RlU3RyKHQsZSk7aWYoIm9iamlkIj09PWUmJnIuYXJncylyZXR1cm4gdGhpcy5fZW5jb2RlT2JqaWQodCxyLnJldmVyc2VBcmdzWzBdLHIuYXJnc1sxXSk7aWYoIm9iamlkIj09PWUpcmV0dXJuIHRoaXMuX2VuY29kZU9iamlkKHQsbnVsbCxudWxsKTtpZigiZ2VudGltZSI9PT1lfHwidXRjdGltZSI9PT1lKXJldHVybiB0aGlzLl9lbmNvZGVUaW1lKHQsZSk7aWYoIm51bGxfIj09PWUpcmV0dXJuIHRoaXMuX2VuY29kZU51bGwoKTtpZigiaW50Ij09PWV8fCJlbnVtIj09PWUpcmV0dXJuIHRoaXMuX2VuY29kZUludCh0LHIuYXJncyYmci5yZXZlcnNlQXJnc1swXSk7aWYoImJvb2wiPT09ZSlyZXR1cm4gdGhpcy5fZW5jb2RlQm9vbCh0KTtpZigib2JqRGVzYyI9PT1lKXJldHVybiB0aGlzLl9lbmNvZGVTdHIodCxlKTt0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIHRhZzogIitlKX0sZi5wcm90b3R5cGUuX2lzTnVtc3RyPWZ1bmN0aW9uKGUpe3JldHVybi9eWzAtOSBdKiQvLnRlc3QoZSl9LGYucHJvdG90eXBlLl9pc1ByaW50c3RyPWZ1bmN0aW9uKGUpe3JldHVybi9eW0EtWmEtejAtOSAnKCkrLC0uLzo9P10qJC8udGVzdChlKX19LDI3MTk6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE3MzYpO2Z1bmN0aW9uIGkoZSl7dGhpcy5fcmVwb3J0ZXJTdGF0ZT17b2JqOm51bGwscGF0aDpbXSxvcHRpb25zOmV8fHt9LGVycm9yczpbXX19ZnVuY3Rpb24gbyhlLHQpe3RoaXMucGF0aD1lLHRoaXMucmV0aHJvdyh0KX10LmI9aSxpLnByb3RvdHlwZS5pc0Vycm9yPWZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2Ygb30saS5wcm90b3R5cGUuc2F2ZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX3JlcG9ydGVyU3RhdGU7cmV0dXJue29iajplLm9iaixwYXRoTGVuOmUucGF0aC5sZW5ndGh9fSxpLnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3JlcG9ydGVyU3RhdGU7dC5vYmo9ZS5vYmosdC5wYXRoPXQucGF0aC5zbGljZSgwLGUucGF0aExlbil9LGkucHJvdG90eXBlLmVudGVyS2V5PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9yZXBvcnRlclN0YXRlLnBhdGgucHVzaChlKX0saS5wcm90b3R5cGUuZXhpdEtleT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9yZXBvcnRlclN0YXRlO3QucGF0aD10LnBhdGguc2xpY2UoMCxlLTEpfSxpLnByb3RvdHlwZS5sZWF2ZUtleT1mdW5jdGlvbihlLHQscil7dmFyIG49dGhpcy5fcmVwb3J0ZXJTdGF0ZTt0aGlzLmV4aXRLZXkoZSksbnVsbCE9PW4ub2JqJiYobi5vYmpbdF09cil9LGkucHJvdG90eXBlLnBhdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVwb3J0ZXJTdGF0ZS5wYXRoLmpvaW4oIi8iKX0saS5wcm90b3R5cGUuZW50ZXJPYmplY3Q9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9yZXBvcnRlclN0YXRlLHQ9ZS5vYmo7cmV0dXJuIGUub2JqPXt9LHR9LGkucHJvdG90eXBlLmxlYXZlT2JqZWN0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3JlcG9ydGVyU3RhdGUscj10Lm9iajtyZXR1cm4gdC5vYmo9ZSxyfSxpLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbihlKXt2YXIgdCxyPXRoaXMuX3JlcG9ydGVyU3RhdGUsbj1lIGluc3RhbmNlb2YgbztpZih0PW4/ZTpuZXcgbyhyLnBhdGgubWFwKChmdW5jdGlvbihlKXtyZXR1cm4iWyIrSlNPTi5zdHJpbmdpZnkoZSkrIl0ifSkpLmpvaW4oIiIpLGUubWVzc2FnZXx8ZSxlLnN0YWNrKSwhci5vcHRpb25zLnBhcnRpYWwpdGhyb3cgdDtyZXR1cm4gbnx8ci5lcnJvcnMucHVzaCh0KSx0fSxpLnByb3RvdHlwZS53cmFwUmVzdWx0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3JlcG9ydGVyU3RhdGU7cmV0dXJuIHQub3B0aW9ucy5wYXJ0aWFsP3tyZXN1bHQ6dGhpcy5pc0Vycm9yKGUpP251bGw6ZSxlcnJvcnM6dC5lcnJvcnN9OmV9LG4obyxFcnJvciksby5wcm90b3R5cGUucmV0aHJvdz1mdW5jdGlvbihlKXtpZih0aGlzLm1lc3NhZ2U9ZSsiIGF0OiAiKyh0aGlzLnBhdGh8fCIoc2hhbGxvdykiKSxFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSYmRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxvKSwhdGhpcy5zdGFjayl0cnl7dGhyb3cgbmV3IEVycm9yKHRoaXMubWVzc2FnZSl9Y2F0Y2goZSl7dGhpcy5zdGFjaz1lLnN0YWNrfXJldHVybiB0aGlzfX0sNjUyMDooZSx0KT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3ZhciB0PXt9O3JldHVybiBPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChmdW5jdGlvbihyKXsoMHxyKT09ciYmKHJ8PTApO3ZhciBuPWVbcl07dFtuXT1yfSkpLHR9dC50YWdDbGFzcz17MDoidW5pdmVyc2FsIiwxOiJhcHBsaWNhdGlvbiIsMjoiY29udGV4dCIsMzoicHJpdmF0ZSJ9LHQudGFnQ2xhc3NCeU5hbWU9cih0LnRhZ0NsYXNzKSx0LnRhZz17MDoiZW5kIiwxOiJib29sIiwyOiJpbnQiLDM6ImJpdHN0ciIsNDoib2N0c3RyIiw1OiJudWxsXyIsNjoib2JqaWQiLDc6Im9iakRlc2MiLDg6ImV4dGVybmFsIiw5OiJyZWFsIiwxMDoiZW51bSIsMTE6ImVtYmVkIiwxMjoidXRmOHN0ciIsMTM6InJlbGF0aXZlT2lkIiwxNjoic2VxIiwxNzoic2V0IiwxODoibnVtc3RyIiwxOToicHJpbnRzdHIiLDIwOiJ0NjFzdHIiLDIxOiJ2aWRlb3N0ciIsMjI6ImlhNXN0ciIsMjM6InV0Y3RpbWUiLDI0OiJnZW50aW1lIiwyNToiZ3JhcGhzdHIiLDI2OiJpc282NDZzdHIiLDI3OiJnZW5zdHIiLDI4OiJ1bmlzdHIiLDI5OiJjaGFyc3RyIiwzMDoiYm1wc3RyIn0sdC50YWdCeU5hbWU9cih0LnRhZyl9LDkzODc6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj10O24uX3JldmVyc2U9ZnVuY3Rpb24oZSl7dmFyIHQ9e307cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2goKGZ1bmN0aW9uKHIpeygwfHIpPT1yJiYocnw9MCk7dmFyIG49ZVtyXTt0W25dPXJ9KSksdH0sbi5kZXI9cig2NTIwKX0sMjM4NzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoMTczNiksaT1yKDE3MzQpLG89cig1ODUpLkMsYT1yKDEzNzEpLHM9cig2NTIwKTtmdW5jdGlvbiB1KGUpe3RoaXMuZW5jPSJkZXIiLHRoaXMubmFtZT1lLm5hbWUsdGhpcy5lbnRpdHk9ZSx0aGlzLnRyZWU9bmV3IGMsdGhpcy50cmVlLl9pbml0KGUuYm9keSl9ZnVuY3Rpb24gYyhlKXthLmNhbGwodGhpcywiZGVyIixlKX1mdW5jdGlvbiBmKGUsdCl7dmFyIHI9ZS5yZWFkVUludDgodCk7aWYoZS5pc0Vycm9yKHIpKXJldHVybiByO3ZhciBuPXMudGFnQ2xhc3Nbcj4+Nl0saT0wPT0oMzImcik7aWYoMzE9PSgzMSZyKSl7dmFyIG89cjtmb3Iocj0wOzEyOD09KDEyOCZvKTspe2lmKG89ZS5yZWFkVUludDgodCksZS5pc0Vycm9yKG8pKXJldHVybiBvO3I8PD03LHJ8PTEyNyZvfX1lbHNlIHImPTMxO3JldHVybntjbHM6bixwcmltaXRpdmU6aSx0YWc6cix0YWdTdHI6cy50YWdbcl19fWZ1bmN0aW9uIGQoZSx0LHIpe3ZhciBuPWUucmVhZFVJbnQ4KHIpO2lmKGUuaXNFcnJvcihuKSlyZXR1cm4gbjtpZighdCYmMTI4PT09bilyZXR1cm4gbnVsbDtpZigwPT0oMTI4Jm4pKXJldHVybiBuO3ZhciBpPTEyNyZuO2lmKGk+NClyZXR1cm4gZS5lcnJvcigibGVuZ3RoIG9jdGVjdCBpcyB0b28gbG9uZyIpO249MDtmb3IodmFyIG89MDtvPGk7bysrKXtuPDw9ODt2YXIgYT1lLnJlYWRVSW50OChyKTtpZihlLmlzRXJyb3IoYSkpcmV0dXJuIGE7bnw9YX1yZXR1cm4gbn1lLmV4cG9ydHM9dSx1LnByb3RvdHlwZS5kZWNvZGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gby5pc0RlY29kZXJCdWZmZXIoZSl8fChlPW5ldyBvKGUsdCkpLHRoaXMudHJlZS5fZGVjb2RlKGUsdCl9LG4oYyxhKSxjLnByb3RvdHlwZS5fcGVla1RhZz1mdW5jdGlvbihlLHQscil7aWYoZS5pc0VtcHR5KCkpcmV0dXJuITE7dmFyIG49ZS5zYXZlKCksaT1mKGUsJ0ZhaWxlZCB0byBwZWVrIHRhZzogIicrdCsnIicpO3JldHVybiBlLmlzRXJyb3IoaSk/aTooZS5yZXN0b3JlKG4pLGkudGFnPT09dHx8aS50YWdTdHI9PT10fHxpLnRhZ1N0cisib2YiPT09dHx8cil9LGMucHJvdG90eXBlLl9kZWNvZGVUYWc9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPWYoZSwnRmFpbGVkIHRvIGRlY29kZSB0YWcgb2YgIicrdCsnIicpO2lmKGUuaXNFcnJvcihuKSlyZXR1cm4gbjt2YXIgaT1kKGUsbi5wcmltaXRpdmUsJ0ZhaWxlZCB0byBnZXQgbGVuZ3RoIG9mICInK3QrJyInKTtpZihlLmlzRXJyb3IoaSkpcmV0dXJuIGk7aWYoIXImJm4udGFnIT09dCYmbi50YWdTdHIhPT10JiZuLnRhZ1N0cisib2YiIT09dClyZXR1cm4gZS5lcnJvcignRmFpbGVkIHRvIG1hdGNoIHRhZzogIicrdCsnIicpO2lmKG4ucHJpbWl0aXZlfHxudWxsIT09aSlyZXR1cm4gZS5za2lwKGksJ0ZhaWxlZCB0byBtYXRjaCBib2R5IG9mOiAiJyt0KyciJyk7dmFyIG89ZS5zYXZlKCksYT10aGlzLl9za2lwVW50aWxFbmQoZSwnRmFpbGVkIHRvIHNraXAgaW5kZWZpbml0ZSBsZW5ndGggYm9keTogIicrdGhpcy50YWcrJyInKTtyZXR1cm4gZS5pc0Vycm9yKGEpP2E6KGk9ZS5vZmZzZXQtby5vZmZzZXQsZS5yZXN0b3JlKG8pLGUuc2tpcChpLCdGYWlsZWQgdG8gbWF0Y2ggYm9keSBvZjogIicrdCsnIicpKX0sYy5wcm90b3R5cGUuX3NraXBVbnRpbEVuZD1mdW5jdGlvbihlLHQpe2Zvcig7Oyl7dmFyIHI9ZihlLHQpO2lmKGUuaXNFcnJvcihyKSlyZXR1cm4gcjt2YXIgbj1kKGUsci5wcmltaXRpdmUsdCk7aWYoZS5pc0Vycm9yKG4pKXJldHVybiBuO3ZhciBpO2lmKGk9ci5wcmltaXRpdmV8fG51bGwhPT1uP2Uuc2tpcChuKTp0aGlzLl9za2lwVW50aWxFbmQoZSx0KSxlLmlzRXJyb3IoaSkpcmV0dXJuIGk7aWYoImVuZCI9PT1yLnRhZ1N0cilicmVha319LGMucHJvdG90eXBlLl9kZWNvZGVMaXN0PWZ1bmN0aW9uKGUsdCxyLG4pe2Zvcih2YXIgaT1bXTshZS5pc0VtcHR5KCk7KXt2YXIgbz10aGlzLl9wZWVrVGFnKGUsImVuZCIpO2lmKGUuaXNFcnJvcihvKSlyZXR1cm4gbzt2YXIgYT1yLmRlY29kZShlLCJkZXIiLG4pO2lmKGUuaXNFcnJvcihhKSYmbylicmVhaztpLnB1c2goYSl9cmV0dXJuIGl9LGMucHJvdG90eXBlLl9kZWNvZGVTdHI9ZnVuY3Rpb24oZSx0KXtpZigiYml0c3RyIj09PXQpe3ZhciByPWUucmVhZFVJbnQ4KCk7cmV0dXJuIGUuaXNFcnJvcihyKT9yOnt1bnVzZWQ6cixkYXRhOmUucmF3KCl9fWlmKCJibXBzdHIiPT09dCl7dmFyIG49ZS5yYXcoKTtpZihuLmxlbmd0aCUyPT0xKXJldHVybiBlLmVycm9yKCJEZWNvZGluZyBvZiBzdHJpbmcgdHlwZTogYm1wc3RyIGxlbmd0aCBtaXNtYXRjaCIpO2Zvcih2YXIgaT0iIixvPTA7bzxuLmxlbmd0aC8yO28rKylpKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG4ucmVhZFVJbnQxNkJFKDIqbykpO3JldHVybiBpfWlmKCJudW1zdHIiPT09dCl7dmFyIGE9ZS5yYXcoKS50b1N0cmluZygiYXNjaWkiKTtyZXR1cm4gdGhpcy5faXNOdW1zdHIoYSk/YTplLmVycm9yKCJEZWNvZGluZyBvZiBzdHJpbmcgdHlwZTogbnVtc3RyIHVuc3VwcG9ydGVkIGNoYXJhY3RlcnMiKX1pZigib2N0c3RyIj09PXQpcmV0dXJuIGUucmF3KCk7aWYoIm9iakRlc2MiPT09dClyZXR1cm4gZS5yYXcoKTtpZigicHJpbnRzdHIiPT09dCl7dmFyIHM9ZS5yYXcoKS50b1N0cmluZygiYXNjaWkiKTtyZXR1cm4gdGhpcy5faXNQcmludHN0cihzKT9zOmUuZXJyb3IoIkRlY29kaW5nIG9mIHN0cmluZyB0eXBlOiBwcmludHN0ciB1bnN1cHBvcnRlZCBjaGFyYWN0ZXJzIil9cmV0dXJuL3N0ciQvLnRlc3QodCk/ZS5yYXcoKS50b1N0cmluZygpOmUuZXJyb3IoIkRlY29kaW5nIG9mIHN0cmluZyB0eXBlOiAiK3QrIiB1bnN1cHBvcnRlZCIpfSxjLnByb3RvdHlwZS5fZGVjb2RlT2JqaWQ9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgbixpPVtdLG89MCxhPTA7IWUuaXNFbXB0eSgpOylvPDw9NyxvfD0xMjcmKGE9ZS5yZWFkVUludDgoKSksMD09KDEyOCZhKSYmKGkucHVzaChvKSxvPTApOzEyOCZhJiZpLnB1c2gobyk7dmFyIHM9aVswXS80MHwwLHU9aVswXSU0MDtpZihuPXI/aTpbcyx1XS5jb25jYXQoaS5zbGljZSgxKSksdCl7dmFyIGM9dFtuLmpvaW4oIiAiKV07dm9pZCAwPT09YyYmKGM9dFtuLmpvaW4oIi4iKV0pLHZvaWQgMCE9PWMmJihuPWMpfXJldHVybiBufSxjLnByb3RvdHlwZS5fZGVjb2RlVGltZT1mdW5jdGlvbihlLHQpe3ZhciByLG4saSxvLGEscyx1PWUucmF3KCkudG9TdHJpbmcoKTtpZigiZ2VudGltZSI9PT10KXI9MHx1LnNsaWNlKDAsNCksbj0wfHUuc2xpY2UoNCw2KSxpPTB8dS5zbGljZSg2LDgpLG89MHx1LnNsaWNlKDgsMTApLGE9MHx1LnNsaWNlKDEwLDEyKSxzPTB8dS5zbGljZSgxMiwxNCk7ZWxzZXtpZigidXRjdGltZSIhPT10KXJldHVybiBlLmVycm9yKCJEZWNvZGluZyAiK3QrIiB0aW1lIGlzIG5vdCBzdXBwb3J0ZWQgeWV0Iik7cj0wfHUuc2xpY2UoMCwyKSxuPTB8dS5zbGljZSgyLDQpLGk9MHx1LnNsaWNlKDQsNiksbz0wfHUuc2xpY2UoNiw4KSxhPTB8dS5zbGljZSg4LDEwKSxzPTB8dS5zbGljZSgxMCwxMikscj1yPDcwPzJlMytyOjE5MDArcn1yZXR1cm4gRGF0ZS5VVEMocixuLTEsaSxvLGEscywwKX0sYy5wcm90b3R5cGUuX2RlY29kZU51bGw9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0sYy5wcm90b3R5cGUuX2RlY29kZUJvb2w9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZWFkVUludDgoKTtyZXR1cm4gZS5pc0Vycm9yKHQpP3Q6MCE9PXR9LGMucHJvdG90eXBlLl9kZWNvZGVJbnQ9ZnVuY3Rpb24oZSx0KXt2YXIgcj1lLnJhdygpLG49bmV3IGkocik7cmV0dXJuIHQmJihuPXRbbi50b1N0cmluZygxMCldfHxuKSxufSxjLnByb3RvdHlwZS5fdXNlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPWUodCkpLGUuX2dldERlY29kZXIoImRlciIpLnRyZWV9fSwxNTAwOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49dDtuLmRlcj1yKDIzODcpLG4ucGVtPXIoNTI5KX0sNTI5OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cigxNzM2KSxpPXIoMTc1NSkuQnVmZmVyLG89cigyMzg3KTtmdW5jdGlvbiBhKGUpe28uY2FsbCh0aGlzLGUpLHRoaXMuZW5jPSJwZW0ifW4oYSxvKSxlLmV4cG9ydHM9YSxhLnByb3RvdHlwZS5kZWNvZGU9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9ZS50b1N0cmluZygpLnNwbGl0KC9bXHJcbl0rL2cpLG49dC5sYWJlbC50b1VwcGVyQ2FzZSgpLGE9L14tLS0tLShCRUdJTnxFTkQpIChbXi1dKyktLS0tLSQvLHM9LTEsdT0tMSxjPTA7YzxyLmxlbmd0aDtjKyspe3ZhciBmPXJbY10ubWF0Y2goYSk7aWYobnVsbCE9PWYmJmZbMl09PT1uKXtpZigtMSE9PXMpe2lmKCJFTkQiIT09ZlsxXSlicmVhazt1PWM7YnJlYWt9aWYoIkJFR0lOIiE9PWZbMV0pYnJlYWs7cz1jfX1pZigtMT09PXN8fC0xPT09dSl0aHJvdyBuZXcgRXJyb3IoIlBFTSBzZWN0aW9uIG5vdCBmb3VuZCBmb3I6ICIrbik7dmFyIGQ9ci5zbGljZShzKzEsdSkuam9pbigiIik7ZC5yZXBsYWNlKC9bXmEtejAtOSsvPV0rL2dpLCIiKTt2YXIgbD1pLmZyb20oZCwiYmFzZTY0Iik7cmV0dXJuIG8ucHJvdG90eXBlLmRlY29kZS5jYWxsKHRoaXMsbCx0KX19LDEwNjg6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE3MzYpLGk9cigxNzU1KS5CdWZmZXIsbz1yKDEzNzEpLGE9cig2NTIwKTtmdW5jdGlvbiBzKGUpe3RoaXMuZW5jPSJkZXIiLHRoaXMubmFtZT1lLm5hbWUsdGhpcy5lbnRpdHk9ZSx0aGlzLnRyZWU9bmV3IHUsdGhpcy50cmVlLl9pbml0KGUuYm9keSl9ZnVuY3Rpb24gdShlKXtvLmNhbGwodGhpcywiZGVyIixlKX1mdW5jdGlvbiBjKGUpe3JldHVybiBlPDEwPyIwIitlOmV9ZS5leHBvcnRzPXMscy5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMudHJlZS5fZW5jb2RlKGUsdCkuam9pbigpfSxuKHUsbyksdS5wcm90b3R5cGUuX2VuY29kZUNvbXBvc2l0ZT1mdW5jdGlvbihlLHQscixuKXt2YXIgbz1mdW5jdGlvbihlLHQscixuKXt2YXIgaTtpZigic2Vxb2YiPT09ZT9lPSJzZXEiOiJzZXRvZiI9PT1lJiYoZT0ic2V0IiksYS50YWdCeU5hbWUuaGFzT3duUHJvcGVydHkoZSkpaT1hLnRhZ0J5TmFtZVtlXTtlbHNle2lmKCJudW1iZXIiIT10eXBlb2YgZXx8KDB8ZSkhPT1lKXJldHVybiBuLmVycm9yKCJVbmtub3duIHRhZzogIitlKTtpPWV9cmV0dXJuIGk+PTMxP24uZXJyb3IoIk11bHRpLW9jdGV0IHRhZyBlbmNvZGluZyB1bnN1cHBvcnRlZCIpOih0fHwoaXw9MzIpLGl8PWEudGFnQ2xhc3NCeU5hbWVbcnx8InVuaXZlcnNhbCJdPDw2KX0oZSx0LHIsdGhpcy5yZXBvcnRlcik7aWYobi5sZW5ndGg8MTI4KXt2YXIgcz1pLmFsbG9jKDIpO3JldHVybiBzWzBdPW8sc1sxXT1uLmxlbmd0aCx0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKFtzLG5dKX1mb3IodmFyIHU9MSxjPW4ubGVuZ3RoO2M+PTI1NjtjPj49OCl1Kys7dmFyIGY9aS5hbGxvYygyK3UpO2ZbMF09byxmWzFdPTEyOHx1O2Zvcih2YXIgZD0xK3UsbD1uLmxlbmd0aDtsPjA7ZC0tLGw+Pj04KWZbZF09MjU1Jmw7cmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoW2Ysbl0pfSx1LnByb3RvdHlwZS5fZW5jb2RlU3RyPWZ1bmN0aW9uKGUsdCl7aWYoImJpdHN0ciI9PT10KXJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKFswfGUudW51c2VkLGUuZGF0YV0pO2lmKCJibXBzdHIiPT09dCl7Zm9yKHZhciByPWkuYWxsb2MoMiplLmxlbmd0aCksbj0wO248ZS5sZW5ndGg7bisrKXIud3JpdGVVSW50MTZCRShlLmNoYXJDb2RlQXQobiksMipuKTtyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihyKX1yZXR1cm4ibnVtc3RyIj09PXQ/dGhpcy5faXNOdW1zdHIoZSk/dGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihlKTp0aGlzLnJlcG9ydGVyLmVycm9yKCJFbmNvZGluZyBvZiBzdHJpbmcgdHlwZTogbnVtc3RyIHN1cHBvcnRzIG9ubHkgZGlnaXRzIGFuZCBzcGFjZSIpOiJwcmludHN0ciI9PT10P3RoaXMuX2lzUHJpbnRzdHIoZSk/dGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihlKTp0aGlzLnJlcG9ydGVyLmVycm9yKCJFbmNvZGluZyBvZiBzdHJpbmcgdHlwZTogcHJpbnRzdHIgc3VwcG9ydHMgb25seSBsYXRpbiB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzLCBkaWdpdHMsIHNwYWNlLCBhcG9zdHJvcGhlLCBsZWZ0IGFuZCByaWd0aCBwYXJlbnRoZXNpcywgcGx1cyBzaWduLCBjb21tYSwgaHlwaGVuLCBkb3QsIHNsYXNoLCBjb2xvbiwgZXF1YWwgc2lnbiwgcXVlc3Rpb24gbWFyayIpOi9zdHIkLy50ZXN0KHQpfHwib2JqRGVzYyI9PT10P3RoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoZSk6dGhpcy5yZXBvcnRlci5lcnJvcigiRW5jb2Rpbmcgb2Ygc3RyaW5nIHR5cGU6ICIrdCsiIHVuc3VwcG9ydGVkIil9LHUucHJvdG90eXBlLl9lbmNvZGVPYmppZD1mdW5jdGlvbihlLHQscil7aWYoInN0cmluZyI9PXR5cGVvZiBlKXtpZighdClyZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcigic3RyaW5nIG9iamlkIGdpdmVuLCBidXQgbm8gdmFsdWVzIG1hcCBmb3VuZCIpO2lmKCF0Lmhhc093blByb3BlcnR5KGUpKXJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCJvYmppZCBub3QgZm91bmQgaW4gdmFsdWVzIG1hcCIpO2U9dFtlXS5zcGxpdCgvW1xzLl0rL2cpO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKWVbbl18PTB9ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpKXtlPWUuc2xpY2UoKTtmb3IodmFyIG89MDtvPGUubGVuZ3RoO28rKyllW29dfD0wfWlmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCJvYmppZCgpIHNob3VsZCBiZSBlaXRoZXIgYXJyYXkgb3Igc3RyaW5nLCBnb3Q6ICIrSlNPTi5zdHJpbmdpZnkoZSkpO2lmKCFyKXtpZihlWzFdPj00MClyZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcigiU2Vjb25kIG9iamlkIGlkZW50aWZpZXIgT09CIik7ZS5zcGxpY2UoMCwyLDQwKmVbMF0rZVsxXSl9Zm9yKHZhciBhPTAscz0wO3M8ZS5sZW5ndGg7cysrKXt2YXIgdT1lW3NdO2ZvcihhKys7dT49MTI4O3U+Pj03KWErK31mb3IodmFyIGM9aS5hbGxvYyhhKSxmPWMubGVuZ3RoLTEsZD1lLmxlbmd0aC0xO2Q+PTA7ZC0tKXt2YXIgbD1lW2RdO2ZvcihjW2YtLV09MTI3Jmw7KGw+Pj03KT4wOyljW2YtLV09MTI4fDEyNyZsfXJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKGMpfSx1LnByb3RvdHlwZS5fZW5jb2RlVGltZT1mdW5jdGlvbihlLHQpe3ZhciByLG49bmV3IERhdGUoZSk7cmV0dXJuImdlbnRpbWUiPT09dD9yPVtjKG4uZ2V0VVRDRnVsbFllYXIoKSksYyhuLmdldFVUQ01vbnRoKCkrMSksYyhuLmdldFVUQ0RhdGUoKSksYyhuLmdldFVUQ0hvdXJzKCkpLGMobi5nZXRVVENNaW51dGVzKCkpLGMobi5nZXRVVENTZWNvbmRzKCkpLCJaIl0uam9pbigiIik6InV0Y3RpbWUiPT09dD9yPVtjKG4uZ2V0VVRDRnVsbFllYXIoKSUxMDApLGMobi5nZXRVVENNb250aCgpKzEpLGMobi5nZXRVVENEYXRlKCkpLGMobi5nZXRVVENIb3VycygpKSxjKG4uZ2V0VVRDTWludXRlcygpKSxjKG4uZ2V0VVRDU2Vjb25kcygpKSwiWiJdLmpvaW4oIiIpOnRoaXMucmVwb3J0ZXIuZXJyb3IoIkVuY29kaW5nICIrdCsiIHRpbWUgaXMgbm90IHN1cHBvcnRlZCB5ZXQiKSx0aGlzLl9lbmNvZGVTdHIociwib2N0c3RyIil9LHUucHJvdG90eXBlLl9lbmNvZGVOdWxsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoIiIpfSx1LnByb3RvdHlwZS5fZW5jb2RlSW50PWZ1bmN0aW9uKGUsdCl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXtpZighdClyZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcigiU3RyaW5nIGludCBvciBlbnVtIGdpdmVuLCBidXQgbm8gdmFsdWVzIG1hcCIpO2lmKCF0Lmhhc093blByb3BlcnR5KGUpKXJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCJWYWx1ZXMgbWFwIGRvZXNuJ3QgY29udGFpbjogIitKU09OLnN0cmluZ2lmeShlKSk7ZT10W2VdfWlmKCJudW1iZXIiIT10eXBlb2YgZSYmIWkuaXNCdWZmZXIoZSkpe3ZhciByPWUudG9BcnJheSgpOyFlLnNpZ24mJjEyOCZyWzBdJiZyLnVuc2hpZnQoMCksZT1pLmZyb20ocil9aWYoaS5pc0J1ZmZlcihlKSl7dmFyIG49ZS5sZW5ndGg7MD09PWUubGVuZ3RoJiZuKys7dmFyIG89aS5hbGxvYyhuKTtyZXR1cm4gZS5jb3B5KG8pLDA9PT1lLmxlbmd0aCYmKG9bMF09MCksdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihvKX1pZihlPDEyOClyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihlKTtpZihlPDI1NilyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbMCxlXSk7Zm9yKHZhciBhPTEscz1lO3M+PTI1NjtzPj49OClhKys7Zm9yKHZhciB1PW5ldyBBcnJheShhKSxjPXUubGVuZ3RoLTE7Yz49MDtjLS0pdVtjXT0yNTUmZSxlPj49ODtyZXR1cm4gMTI4JnVbMF0mJnUudW5zaGlmdCgwKSx0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKGkuZnJvbSh1KSl9LHUucHJvdG90eXBlLl9lbmNvZGVCb29sPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKGU/MjU1OjApfSx1LnByb3RvdHlwZS5fdXNlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPWUodCkpLGUuX2dldEVuY29kZXIoImRlciIpLnRyZWV9LHUucHJvdG90eXBlLl9za2lwRGVmYXVsdD1mdW5jdGlvbihlLHQscil7dmFyIG4saT10aGlzLl9iYXNlU3RhdGU7aWYobnVsbD09PWkuZGVmYXVsdClyZXR1cm4hMTt2YXIgbz1lLmpvaW4oKTtpZih2b2lkIDA9PT1pLmRlZmF1bHRCdWZmZXImJihpLmRlZmF1bHRCdWZmZXI9dGhpcy5fZW5jb2RlVmFsdWUoaS5kZWZhdWx0LHQscikuam9pbigpKSxvLmxlbmd0aCE9PWkuZGVmYXVsdEJ1ZmZlci5sZW5ndGgpcmV0dXJuITE7Zm9yKG49MDtuPG8ubGVuZ3RoO24rKylpZihvW25dIT09aS5kZWZhdWx0QnVmZmVyW25dKXJldHVybiExO3JldHVybiEwfX0sNzUwNjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXQ7bi5kZXI9cigxMDY4KSxuLnBlbT1yKDg1MjApfSw4NTIwOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cigxNzM2KSxpPXIoMTA2OCk7ZnVuY3Rpb24gbyhlKXtpLmNhbGwodGhpcyxlKSx0aGlzLmVuYz0icGVtIn1uKG8saSksZS5leHBvcnRzPW8sby5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPWkucHJvdG90eXBlLmVuY29kZS5jYWxsKHRoaXMsZSkudG9TdHJpbmcoImJhc2U2NCIpLG49WyItLS0tLUJFR0lOICIrdC5sYWJlbCsiLS0tLS0iXSxvPTA7bzxyLmxlbmd0aDtvKz02NCluLnB1c2goci5zbGljZShvLG8rNjQpKTtyZXR1cm4gbi5wdXNoKCItLS0tLUVORCAiK3QubGFiZWwrIi0tLS0tIiksbi5qb2luKCJcbiIpfX0sMzg5NDooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0NykocigzMzU1KSksaT1yKDMxMDMpO2Z1bmN0aW9uIG8oZSx0KXtpZihlPT09dClyZXR1cm4gMDtmb3IodmFyIHI9ZS5sZW5ndGgsbj10Lmxlbmd0aCxpPTAsbz1NYXRoLm1pbihyLG4pO2k8bzsrK2kpaWYoZVtpXSE9PXRbaV0pe3I9ZVtpXSxuPXRbaV07YnJlYWt9cmV0dXJuIHI8bj8tMTpuPHI/MTowfWZ1bmN0aW9uIGEoZSl7cmV0dXJuIHIuZy5CdWZmZXImJiJmdW5jdGlvbiI9PXR5cGVvZiByLmcuQnVmZmVyLmlzQnVmZmVyP3IuZy5CdWZmZXIuaXNCdWZmZXIoZSk6IShudWxsPT1lfHwhZS5faXNCdWZmZXIpfXZhciBzPXIoOTk1NCksdT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLGY9ImZvbyI9PT1mdW5jdGlvbigpe30ubmFtZTtmdW5jdGlvbiBkKGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4hYShlKSYmImZ1bmN0aW9uIj09dHlwZW9mIHIuZy5BcnJheUJ1ZmZlciYmKCJmdW5jdGlvbiI9PXR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXc/QXJyYXlCdWZmZXIuaXNWaWV3KGUpOiEhZSYmKGUgaW5zdGFuY2VvZiBEYXRhVmlld3x8ISEoZS5idWZmZXImJmUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKSl9dmFyIGg9ZS5leHBvcnRzPWcscD0vXHMqZnVuY3Rpb25ccysoW15cKFxzXSopXHMqLztmdW5jdGlvbiBiKGUpe2lmKHMuaXNGdW5jdGlvbihlKSl7aWYoZilyZXR1cm4gZS5uYW1lO3ZhciB0PWUudG9TdHJpbmcoKS5tYXRjaChwKTtyZXR1cm4gdCYmdFsxXX19ZnVuY3Rpb24geShlLHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZT9lLmxlbmd0aDx0P2U6ZS5zbGljZSgwLHQpOmV9ZnVuY3Rpb24gbShlKXtpZihmfHwhcy5pc0Z1bmN0aW9uKGUpKXJldHVybiBzLmluc3BlY3QoZSk7dmFyIHQ9YihlKTtyZXR1cm4iW0Z1bmN0aW9uIisodD8iOiAiK3Q6IiIpKyJdIn1mdW5jdGlvbiB2KGUsdCxyLG4saSl7dGhyb3cgbmV3IGguQXNzZXJ0aW9uRXJyb3Ioe21lc3NhZ2U6cixhY3R1YWw6ZSxleHBlY3RlZDp0LG9wZXJhdG9yOm4sc3RhY2tTdGFydEZ1bmN0aW9uOml9KX1mdW5jdGlvbiBnKGUsdCl7ZXx8dihlLCEwLHQsIj09IixoLm9rKX1mdW5jdGlvbiB3KGUsdCxyLGkpe2lmKGU9PT10KXJldHVybiEwO2lmKGEoZSkmJmEodCkpcmV0dXJuIDA9PT1vKGUsdCk7aWYocy5pc0RhdGUoZSkmJnMuaXNEYXRlKHQpKXJldHVybiBlLmdldFRpbWUoKT09PXQuZ2V0VGltZSgpO2lmKHMuaXNSZWdFeHAoZSkmJnMuaXNSZWdFeHAodCkpcmV0dXJuIGUuc291cmNlPT09dC5zb3VyY2UmJmUuZ2xvYmFsPT09dC5nbG9iYWwmJmUubXVsdGlsaW5lPT09dC5tdWx0aWxpbmUmJmUubGFzdEluZGV4PT09dC5sYXN0SW5kZXgmJmUuaWdub3JlQ2FzZT09PXQuaWdub3JlQ2FzZTtpZihudWxsIT09ZSYmIm9iamVjdCI9PT0oMCxuLmRlZmF1bHQpKGUpfHxudWxsIT09dCYmIm9iamVjdCI9PT0oMCxuLmRlZmF1bHQpKHQpKXtpZihsKGUpJiZsKHQpJiZkKGUpPT09ZCh0KSYmIShlIGluc3RhbmNlb2YgRmxvYXQzMkFycmF5fHxlIGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5KSlyZXR1cm4gMD09PW8obmV3IFVpbnQ4QXJyYXkoZS5idWZmZXIpLG5ldyBVaW50OEFycmF5KHQuYnVmZmVyKSk7aWYoYShlKSE9PWEodCkpcmV0dXJuITE7dmFyIHU9KGk9aXx8e2FjdHVhbDpbXSxleHBlY3RlZDpbXX0pLmFjdHVhbC5pbmRleE9mKGUpO3JldHVybi0xIT09dSYmdT09PWkuZXhwZWN0ZWQuaW5kZXhPZih0KXx8KGkuYWN0dWFsLnB1c2goZSksaS5leHBlY3RlZC5wdXNoKHQpLGZ1bmN0aW9uKGUsdCxyLG4pe2lmKG51bGw9PWV8fG51bGw9PXQpcmV0dXJuITE7aWYocy5pc1ByaW1pdGl2ZShlKXx8cy5pc1ByaW1pdGl2ZSh0KSlyZXR1cm4gZT09PXQ7aWYociYmT2JqZWN0LmdldFByb3RvdHlwZU9mKGUpIT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpKXJldHVybiExO3ZhciBpPUEoZSksbz1BKHQpO2lmKGkmJiFvfHwhaSYmbylyZXR1cm4hMTtpZihpKXJldHVybiB3KGU9Yy5jYWxsKGUpLHQ9Yy5jYWxsKHQpLHIpO3ZhciBhLHUsZj1TKGUpLGQ9Uyh0KTtpZihmLmxlbmd0aCE9PWQubGVuZ3RoKXJldHVybiExO2ZvcihmLnNvcnQoKSxkLnNvcnQoKSx1PWYubGVuZ3RoLTE7dT49MDt1LS0paWYoZlt1XSE9PWRbdV0pcmV0dXJuITE7Zm9yKHU9Zi5sZW5ndGgtMTt1Pj0wO3UtLSlpZighdyhlW2E9Zlt1XV0sdFthXSxyLG4pKXJldHVybiExO3JldHVybiEwfShlLHQscixpKSl9cmV0dXJuIHI/ZT09PXQ6ZT09dH1mdW5jdGlvbiBBKGUpe3JldHVybiJbb2JqZWN0IEFyZ3VtZW50c10iPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSl9ZnVuY3Rpb24gayhlLHQpe2lmKCFlfHwhdClyZXR1cm4hMTtpZigiW29iamVjdCBSZWdFeHBdIj09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpKXJldHVybiB0LnRlc3QoZSk7dHJ5e2lmKGUgaW5zdGFuY2VvZiB0KXJldHVybiEwfWNhdGNoKGUpe31yZXR1cm4hRXJyb3IuaXNQcm90b3R5cGVPZih0KSYmITA9PT10LmNhbGwoe30sZSl9ZnVuY3Rpb24gXyhlLHQscixuKXt2YXIgaTtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCciYmxvY2siIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpOyJzdHJpbmciPT10eXBlb2YgciYmKG49cixyPW51bGwpLGk9ZnVuY3Rpb24oZSl7dmFyIHQ7dHJ5e2UoKX1jYXRjaChlKXt0PWV9cmV0dXJuIHR9KHQpLG49KHImJnIubmFtZT8iICgiK3IubmFtZSsiKS4iOiIuIikrKG4/IiAiK246Ii4iKSxlJiYhaSYmdihpLHIsIk1pc3NpbmcgZXhwZWN0ZWQgZXhjZXB0aW9uIituKTt2YXIgbz0ic3RyaW5nIj09dHlwZW9mIG4sYT0hZSYmaSYmIXI7aWYoKCFlJiZzLmlzRXJyb3IoaSkmJm8mJmsoaSxyKXx8YSkmJnYoaSxyLCJHb3QgdW53YW50ZWQgZXhjZXB0aW9uIituKSxlJiZpJiZyJiYhayhpLHIpfHwhZSYmaSl0aHJvdyBpfWguQXNzZXJ0aW9uRXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5uYW1lPSJBc3NlcnRpb25FcnJvciIsdGhpcy5hY3R1YWw9ZS5hY3R1YWwsdGhpcy5leHBlY3RlZD1lLmV4cGVjdGVkLHRoaXMub3BlcmF0b3I9ZS5vcGVyYXRvcixlLm1lc3NhZ2U/KHRoaXMubWVzc2FnZT1lLm1lc3NhZ2UsdGhpcy5nZW5lcmF0ZWRNZXNzYWdlPSExKToodGhpcy5tZXNzYWdlPWZ1bmN0aW9uKGUpe3JldHVybiB5KG0oZS5hY3R1YWwpLDEyOCkrIiAiK2Uub3BlcmF0b3IrIiAiK3kobShlLmV4cGVjdGVkKSwxMjgpfSh0aGlzKSx0aGlzLmdlbmVyYXRlZE1lc3NhZ2U9ITApO3ZhciB0PWUuc3RhY2tTdGFydEZ1bmN0aW9ufHx2O2lmKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKUVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsdCk7ZWxzZXt2YXIgcj1uZXcgRXJyb3I7aWYoci5zdGFjayl7dmFyIG49ci5zdGFjayxpPWIodCksbz1uLmluZGV4T2YoIlxuIitpKTtpZihvPj0wKXt2YXIgYT1uLmluZGV4T2YoIlxuIixvKzEpO249bi5zdWJzdHJpbmcoYSsxKX10aGlzLnN0YWNrPW59fX0scy5pbmhlcml0cyhoLkFzc2VydGlvbkVycm9yLEVycm9yKSxoLmZhaWw9dixoLm9rPWcsaC5lcXVhbD1mdW5jdGlvbihlLHQscil7ZSE9dCYmdihlLHQsciwiPT0iLGguZXF1YWwpfSxoLm5vdEVxdWFsPWZ1bmN0aW9uKGUsdCxyKXtlPT10JiZ2KGUsdCxyLCIhPSIsaC5ub3RFcXVhbCl9LGguZGVlcEVxdWFsPWZ1bmN0aW9uKGUsdCxyKXt3KGUsdCwhMSl8fHYoZSx0LHIsImRlZXBFcXVhbCIsaC5kZWVwRXF1YWwpfSxoLmRlZXBTdHJpY3RFcXVhbD1mdW5jdGlvbihlLHQscil7dyhlLHQsITApfHx2KGUsdCxyLCJkZWVwU3RyaWN0RXF1YWwiLGguZGVlcFN0cmljdEVxdWFsKX0saC5ub3REZWVwRXF1YWw9ZnVuY3Rpb24oZSx0LHIpe3coZSx0LCExKSYmdihlLHQsciwibm90RGVlcEVxdWFsIixoLm5vdERlZXBFcXVhbCl9LGgubm90RGVlcFN0cmljdEVxdWFsPWZ1bmN0aW9uIGUodCxyLG4pe3codCxyLCEwKSYmdih0LHIsbiwibm90RGVlcFN0cmljdEVxdWFsIixlKX0saC5zdHJpY3RFcXVhbD1mdW5jdGlvbihlLHQscil7ZSE9PXQmJnYoZSx0LHIsIj09PSIsaC5zdHJpY3RFcXVhbCl9LGgubm90U3RyaWN0RXF1YWw9ZnVuY3Rpb24oZSx0LHIpe2U9PT10JiZ2KGUsdCxyLCIhPT0iLGgubm90U3RyaWN0RXF1YWwpfSxoLnRocm93cz1mdW5jdGlvbihlLHQscil7XyghMCxlLHQscil9LGguZG9lc05vdFRocm93PWZ1bmN0aW9uKGUsdCxyKXtfKCExLGUsdCxyKX0saC5pZkVycm9yPWZ1bmN0aW9uKGUpe2lmKGUpdGhyb3cgZX0saC5zdHJpY3Q9aSgoZnVuY3Rpb24gZSh0LHIpe3R8fHYodCwhMCxyLCI9PSIsZSl9KSxoLHtlcXVhbDpoLnN0cmljdEVxdWFsLGRlZXBFcXVhbDpoLmRlZXBTdHJpY3RFcXVhbCxub3RFcXVhbDpoLm5vdFN0cmljdEVxdWFsLG5vdERlZXBFcXVhbDpoLm5vdERlZXBTdHJpY3RFcXVhbH0pLGguc3RyaWN0LnN0cmljdD1oLnN0cmljdDt2YXIgUz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24oZSl7dmFyIHQ9W107Zm9yKHZhciByIGluIGUpdS5jYWxsKGUscikmJnQucHVzaChyKTtyZXR1cm4gdH19LDQwNzQ6ZT0+eyJ1c2Ugc3RyaWN0IjsiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmNyZWF0ZT9lLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtlLnN1cGVyXz10LGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodC5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTplLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pfTplLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtlLnN1cGVyXz10O3ZhciByPWZ1bmN0aW9uKCl7fTtyLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgcixlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfX0sNjczMjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0NykocigzMzU1KSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBlJiYib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkoZSkmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmNvcHkmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmZpbGwmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnJlYWRVSW50OH19LDk5NTQ6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDkxNDIpLGk9cig4ODQ3KShyKDMzNTUpKSxvPS8lW3NkaiVdL2c7dC5mb3JtYXQ9ZnVuY3Rpb24oZSl7aWYoIXYoZSkpe2Zvcih2YXIgdD1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0LnB1c2godShhcmd1bWVudHNbcl0pKTtyZXR1cm4gdC5qb2luKCIgIil9cj0xO2Zvcih2YXIgbj1hcmd1bWVudHMsaT1uLmxlbmd0aCxhPVN0cmluZyhlKS5yZXBsYWNlKG8sKGZ1bmN0aW9uKGUpe2lmKCIlJSI9PT1lKXJldHVybiIlIjtpZihyPj1pKXJldHVybiBlO3N3aXRjaChlKXtjYXNlIiVzIjpyZXR1cm4gU3RyaW5nKG5bcisrXSk7Y2FzZSIlZCI6cmV0dXJuIE51bWJlcihuW3IrK10pO2Nhc2UiJWoiOnRyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkobltyKytdKX1jYXRjaChlKXtyZXR1cm4iW0NpcmN1bGFyXSJ9ZGVmYXVsdDpyZXR1cm4gZX19KSkscz1uW3JdO3I8aTtzPW5bKytyXSl5KHMpfHwhQShzKT9hKz0iICIrczphKz0iICIrdShzKTtyZXR1cm4gYX0sdC5kZXByZWNhdGU9ZnVuY3Rpb24oZSxpKXtpZihnKHIuZy5wcm9jZXNzKSlyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5kZXByZWNhdGUoZSxpKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2lmKCEwPT09bi5ub0RlcHJlY2F0aW9uKXJldHVybiBlO3ZhciBvPSExO3JldHVybiBmdW5jdGlvbigpe2lmKCFvKXtpZihuLnRocm93RGVwcmVjYXRpb24pdGhyb3cgbmV3IEVycm9yKGkpO24udHJhY2VEZXByZWNhdGlvbj9jb25zb2xlLnRyYWNlKGkpOmNvbnNvbGUuZXJyb3IoaSksbz0hMH1yZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fTt2YXIgYSxzPXt9O2Z1bmN0aW9uIHUoZSxyKXt2YXIgbj17c2VlbjpbXSxzdHlsaXplOmZ9O3JldHVybiBhcmd1bWVudHMubGVuZ3RoPj0zJiYobi5kZXB0aD1hcmd1bWVudHNbMl0pLGFyZ3VtZW50cy5sZW5ndGg+PTQmJihuLmNvbG9ycz1hcmd1bWVudHNbM10pLGIocik/bi5zaG93SGlkZGVuPXI6ciYmdC5fZXh0ZW5kKG4sciksZyhuLnNob3dIaWRkZW4pJiYobi5zaG93SGlkZGVuPSExKSxnKG4uZGVwdGgpJiYobi5kZXB0aD0yKSxnKG4uY29sb3JzKSYmKG4uY29sb3JzPSExKSxnKG4uY3VzdG9tSW5zcGVjdCkmJihuLmN1c3RvbUluc3BlY3Q9ITApLG4uY29sb3JzJiYobi5zdHlsaXplPWMpLGQobixlLG4uZGVwdGgpfWZ1bmN0aW9uIGMoZSx0KXt2YXIgcj11LnN0eWxlc1t0XTtyZXR1cm4gcj8iG1siK3UuY29sb3JzW3JdWzBdKyJtIitlKyIbWyIrdS5jb2xvcnNbcl1bMV0rIm0iOmV9ZnVuY3Rpb24gZihlLHQpe3JldHVybiBlfWZ1bmN0aW9uIGQoZSxyLG4pe2lmKGUuY3VzdG9tSW5zcGVjdCYmciYmUyhyLmluc3BlY3QpJiZyLmluc3BlY3QhPT10Lmluc3BlY3QmJighci5jb25zdHJ1Y3Rvcnx8ci5jb25zdHJ1Y3Rvci5wcm90b3R5cGUhPT1yKSl7dmFyIGk9ci5pbnNwZWN0KG4sZSk7cmV0dXJuIHYoaSl8fChpPWQoZSxpLG4pKSxpfXZhciBvPWZ1bmN0aW9uKGUsdCl7aWYoZyh0KSlyZXR1cm4gZS5zdHlsaXplKCJ1bmRlZmluZWQiLCJ1bmRlZmluZWQiKTtpZih2KHQpKXt2YXIgcj0iJyIrSlNPTi5zdHJpbmdpZnkodCkucmVwbGFjZSgvXiJ8IiQvZywiIikucmVwbGFjZSgvJy9nLCJcXCciKS5yZXBsYWNlKC9cXCIvZywnIicpKyInIjtyZXR1cm4gZS5zdHlsaXplKHIsInN0cmluZyIpfXJldHVybiBtKHQpP2Uuc3R5bGl6ZSgiIit0LCJudW1iZXIiKTpiKHQpP2Uuc3R5bGl6ZSgiIit0LCJib29sZWFuIik6eSh0KT9lLnN0eWxpemUoIm51bGwiLCJudWxsIik6dm9pZCAwfShlLHIpO2lmKG8pcmV0dXJuIG87dmFyIGE9T2JqZWN0LmtleXMocikscz1mdW5jdGlvbihlKXt2YXIgdD17fTtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbihlLHIpe3RbZV09ITB9KSksdH0oYSk7aWYoZS5zaG93SGlkZGVuJiYoYT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhyKSksXyhyKSYmKGEuaW5kZXhPZigibWVzc2FnZSIpPj0wfHxhLmluZGV4T2YoImRlc2NyaXB0aW9uIik+PTApKXJldHVybiBsKHIpO2lmKDA9PT1hLmxlbmd0aCl7aWYoUyhyKSl7dmFyIHU9ci5uYW1lPyI6ICIrci5uYW1lOiIiO3JldHVybiBlLnN0eWxpemUoIltGdW5jdGlvbiIrdSsiXSIsInNwZWNpYWwiKX1pZih3KHIpKXJldHVybiBlLnN0eWxpemUoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpLCJyZWdleHAiKTtpZihrKHIpKXJldHVybiBlLnN0eWxpemUoRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKSwiZGF0ZSIpO2lmKF8ocikpcmV0dXJuIGwocil9dmFyIGMsZj0iIixBPSExLHg9WyJ7IiwifSJdO3JldHVybiBwKHIpJiYoQT0hMCx4PVsiWyIsIl0iXSksUyhyKSYmKGY9IiBbRnVuY3Rpb24iKyhyLm5hbWU/IjogIityLm5hbWU6IiIpKyJdIiksdyhyKSYmKGY9IiAiK1JlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKSksayhyKSYmKGY9IiAiK0RhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmNhbGwocikpLF8ocikmJihmPSIgIitsKHIpKSwwIT09YS5sZW5ndGh8fEEmJjAhPXIubGVuZ3RoP248MD93KHIpP2Uuc3R5bGl6ZShSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwociksInJlZ2V4cCIpOmUuc3R5bGl6ZSgiW09iamVjdF0iLCJzcGVjaWFsIik6KGUuc2Vlbi5wdXNoKHIpLGM9QT9mdW5jdGlvbihlLHQscixuLGkpe2Zvcih2YXIgbz1bXSxhPTAscz10Lmxlbmd0aDthPHM7KythKUIodCxTdHJpbmcoYSkpP28ucHVzaChoKGUsdCxyLG4sU3RyaW5nKGEpLCEwKSk6by5wdXNoKCIiKTtyZXR1cm4gaS5mb3JFYWNoKChmdW5jdGlvbihpKXtpLm1hdGNoKC9eXGQrJC8pfHxvLnB1c2goaChlLHQscixuLGksITApKX0pKSxvfShlLHIsbixzLGEpOmEubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gaChlLHIsbixzLHQsQSl9KSksZS5zZWVuLnBvcCgpLGZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZS5yZWR1Y2UoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuaW5kZXhPZigiXG4iKSxlK3QucmVwbGFjZSgvXHUwMDFiXFtcZFxkP20vZywiIikubGVuZ3RoKzF9KSwwKT42MD9yWzBdKygiIj09PXQ/IiI6dCsiXG4gIikrIiAiK2Uuam9pbigiLFxuICAiKSsiICIrclsxXTpyWzBdK3QrIiAiK2Uuam9pbigiLCAiKSsiICIrclsxXX0oYyxmLHgpKTp4WzBdK2YreFsxXX1mdW5jdGlvbiBsKGUpe3JldHVybiJbIitFcnJvci5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSsiXSJ9ZnVuY3Rpb24gaChlLHQscixuLGksbyl7dmFyIGEscyx1O2lmKCh1PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKXx8e3ZhbHVlOnRbaV19KS5nZXQ/cz11LnNldD9lLnN0eWxpemUoIltHZXR0ZXIvU2V0dGVyXSIsInNwZWNpYWwiKTplLnN0eWxpemUoIltHZXR0ZXJdIiwic3BlY2lhbCIpOnUuc2V0JiYocz1lLnN0eWxpemUoIltTZXR0ZXJdIiwic3BlY2lhbCIpKSxCKG4saSl8fChhPSJbIitpKyJdIiksc3x8KGUuc2Vlbi5pbmRleE9mKHUudmFsdWUpPDA/KHM9eShyKT9kKGUsdS52YWx1ZSxudWxsKTpkKGUsdS52YWx1ZSxyLTEpKS5pbmRleE9mKCJcbiIpPi0xJiYocz1vP3Muc3BsaXQoIlxuIikubWFwKChmdW5jdGlvbihlKXtyZXR1cm4iICAiK2V9KSkuam9pbigiXG4iKS5zdWJzdHIoMik6IlxuIitzLnNwbGl0KCJcbiIpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIiAgICIrZX0pKS5qb2luKCJcbiIpKTpzPWUuc3R5bGl6ZSgiW0NpcmN1bGFyXSIsInNwZWNpYWwiKSksZyhhKSl7aWYobyYmaS5tYXRjaCgvXlxkKyQvKSlyZXR1cm4gczsoYT1KU09OLnN0cmluZ2lmeSgiIitpKSkubWF0Y2goL14iKFthLXpBLVpfXVthLXpBLVpfMC05XSopIiQvKT8oYT1hLnN1YnN0cigxLGEubGVuZ3RoLTIpLGE9ZS5zdHlsaXplKGEsIm5hbWUiKSk6KGE9YS5yZXBsYWNlKC8nL2csIlxcJyIpLnJlcGxhY2UoL1xcIi9nLCciJykucmVwbGFjZSgvKF4ifCIkKS9nLCInIiksYT1lLnN0eWxpemUoYSwic3RyaW5nIikpfXJldHVybiBhKyI6ICIrc31mdW5jdGlvbiBwKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgZX1mdW5jdGlvbiB5KGUpe3JldHVybiBudWxsPT09ZX1mdW5jdGlvbiBtKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZX1mdW5jdGlvbiB2KGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZX1mdW5jdGlvbiBnKGUpe3JldHVybiB2b2lkIDA9PT1lfWZ1bmN0aW9uIHcoZSl7cmV0dXJuIEEoZSkmJiJbb2JqZWN0IFJlZ0V4cF0iPT09eChlKX1mdW5jdGlvbiBBKGUpe3JldHVybiJvYmplY3QiPT09KDAsaS5kZWZhdWx0KShlKSYmbnVsbCE9PWV9ZnVuY3Rpb24gayhlKXtyZXR1cm4gQShlKSYmIltvYmplY3QgRGF0ZV0iPT09eChlKX1mdW5jdGlvbiBfKGUpe3JldHVybiBBKGUpJiYoIltvYmplY3QgRXJyb3JdIj09PXgoZSl8fGUgaW5zdGFuY2VvZiBFcnJvcil9ZnVuY3Rpb24gUyhlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX1mdW5jdGlvbiB4KGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSl9ZnVuY3Rpb24gRShlKXtyZXR1cm4gZTwxMD8iMCIrZS50b1N0cmluZygxMCk6ZS50b1N0cmluZygxMCl9dC5kZWJ1Z2xvZz1mdW5jdGlvbihlKXtpZihnKGEpJiYoYT1uLmVudi5OT0RFX0RFQlVHfHwiIiksZT1lLnRvVXBwZXJDYXNlKCksIXNbZV0paWYobmV3IFJlZ0V4cCgiXFxiIitlKyJcXGIiLCJpIikudGVzdChhKSl7dmFyIHI9bi5waWQ7c1tlXT1mdW5jdGlvbigpe3ZhciBuPXQuZm9ybWF0LmFwcGx5KHQsYXJndW1lbnRzKTtjb25zb2xlLmVycm9yKCIlcyAlZDogJXMiLGUscixuKX19ZWxzZSBzW2VdPWZ1bmN0aW9uKCl7fTtyZXR1cm4gc1tlXX0sdC5pbnNwZWN0PXUsdS5jb2xvcnM9e2JvbGQ6WzEsMjJdLGl0YWxpYzpbMywyM10sdW5kZXJsaW5lOls0LDI0XSxpbnZlcnNlOls3LDI3XSx3aGl0ZTpbMzcsMzldLGdyZXk6WzkwLDM5XSxibGFjazpbMzAsMzldLGJsdWU6WzM0LDM5XSxjeWFuOlszNiwzOV0sZ3JlZW46WzMyLDM5XSxtYWdlbnRhOlszNSwzOV0scmVkOlszMSwzOV0seWVsbG93OlszMywzOV19LHUuc3R5bGVzPXtzcGVjaWFsOiJjeWFuIixudW1iZXI6InllbGxvdyIsYm9vbGVhbjoieWVsbG93Iix1bmRlZmluZWQ6ImdyZXkiLG51bGw6ImJvbGQiLHN0cmluZzoiZ3JlZW4iLGRhdGU6Im1hZ2VudGEiLHJlZ2V4cDoicmVkIn0sdC5pc0FycmF5PXAsdC5pc0Jvb2xlYW49Yix0LmlzTnVsbD15LHQuaXNOdWxsT3JVbmRlZmluZWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWV9LHQuaXNOdW1iZXI9bSx0LmlzU3RyaW5nPXYsdC5pc1N5bWJvbD1mdW5jdGlvbihlKXtyZXR1cm4ic3ltYm9sIj09PSgwLGkuZGVmYXVsdCkoZSl9LHQuaXNVbmRlZmluZWQ9Zyx0LmlzUmVnRXhwPXcsdC5pc09iamVjdD1BLHQuaXNEYXRlPWssdC5pc0Vycm9yPV8sdC5pc0Z1bmN0aW9uPVMsdC5pc1ByaW1pdGl2ZT1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWV8fCJib29sZWFuIj09dHlwZW9mIGV8fCJudW1iZXIiPT10eXBlb2YgZXx8InN0cmluZyI9PXR5cGVvZiBlfHwic3ltYm9sIj09PSgwLGkuZGVmYXVsdCkoZSl8fHZvaWQgMD09PWV9LHQuaXNCdWZmZXI9cig2NzMyKTt2YXIgUD1bIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdO2Z1bmN0aW9uIE8oKXt2YXIgZT1uZXcgRGF0ZSx0PVtFKGUuZ2V0SG91cnMoKSksRShlLmdldE1pbnV0ZXMoKSksRShlLmdldFNlY29uZHMoKSldLmpvaW4oIjoiKTtyZXR1cm5bZS5nZXREYXRlKCksUFtlLmdldE1vbnRoKCldLHRdLmpvaW4oIiAiKX1mdW5jdGlvbiBCKGUsdCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHQpfXQubG9nPWZ1bmN0aW9uKCl7Y29uc29sZS5sb2coIiVzIC0gJXMiLE8oKSx0LmZvcm1hdC5hcHBseSh0LGFyZ3VtZW50cykpfSx0LmluaGVyaXRzPXIoNDA3NCksdC5fZXh0ZW5kPWZ1bmN0aW9uKGUsdCl7aWYoIXR8fCFBKHQpKXJldHVybiBlO2Zvcih2YXIgcj1PYmplY3Qua2V5cyh0KSxuPXIubGVuZ3RoO24tLTspZVtyW25dXT10W3Jbbl1dO3JldHVybiBlfX0sNzU0ODooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg1MCkuQnVmZmVyO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtpZihlLmxlbmd0aD49MjU1KXRocm93IG5ldyBUeXBlRXJyb3IoIkFscGhhYmV0IHRvbyBsb25nIik7Zm9yKHZhciB0PW5ldyBVaW50OEFycmF5KDI1Nikscj0wO3I8dC5sZW5ndGg7cisrKXRbcl09MjU1O2Zvcih2YXIgaT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgbz1lLmNoYXJBdChpKSxhPW8uY2hhckNvZGVBdCgwKTtpZigyNTUhPT10W2FdKXRocm93IG5ldyBUeXBlRXJyb3IobysiIGlzIGFtYmlndW91cyIpO3RbYV09aX12YXIgcz1lLmxlbmd0aCx1PWUuY2hhckF0KDApLGM9TWF0aC5sb2cocykvTWF0aC5sb2coMjU2KSxmPU1hdGgubG9nKDI1NikvTWF0aC5sb2cocyk7ZnVuY3Rpb24gZChlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgU3RyaW5nIik7aWYoMD09PWUubGVuZ3RoKXJldHVybiBuLmFsbG9jKDApO2Zvcih2YXIgcj0wLGk9MCxvPTA7ZVtyXT09PXU7KWkrKyxyKys7Zm9yKHZhciBhPShlLmxlbmd0aC1yKSpjKzE+Pj4wLGY9bmV3IFVpbnQ4QXJyYXkoYSk7ZVtyXTspe3ZhciBkPXRbZS5jaGFyQ29kZUF0KHIpXTtpZigyNTU9PT1kKXJldHVybjtmb3IodmFyIGw9MCxoPWEtMTsoMCE9PWR8fGw8bykmJi0xIT09aDtoLS0sbCsrKWQrPXMqZltoXT4+PjAsZltoXT1kJTI1Nj4+PjAsZD1kLzI1Nj4+PjA7aWYoMCE9PWQpdGhyb3cgbmV3IEVycm9yKCJOb24temVybyBjYXJyeSIpO289bCxyKyt9Zm9yKHZhciBwPWEtbztwIT09YSYmMD09PWZbcF07KXArKzt2YXIgYj1uLmFsbG9jVW5zYWZlKGkrKGEtcCkpO2IuZmlsbCgwLDAsaSk7Zm9yKHZhciB5PWk7cCE9PWE7KWJbeSsrXT1mW3ArK107cmV0dXJuIGJ9cmV0dXJue2VuY29kZTpmdW5jdGlvbih0KXtpZigoQXJyYXkuaXNBcnJheSh0KXx8dCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpJiYodD1uLmZyb20odCkpLCFuLmlzQnVmZmVyKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIEJ1ZmZlciIpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4iIjtmb3IodmFyIHI9MCxpPTAsbz0wLGE9dC5sZW5ndGg7byE9PWEmJjA9PT10W29dOylvKysscisrO2Zvcih2YXIgYz0oYS1vKSpmKzE+Pj4wLGQ9bmV3IFVpbnQ4QXJyYXkoYyk7byE9PWE7KXtmb3IodmFyIGw9dFtvXSxoPTAscD1jLTE7KDAhPT1sfHxoPGkpJiYtMSE9PXA7cC0tLGgrKylsKz0yNTYqZFtwXT4+PjAsZFtwXT1sJXM+Pj4wLGw9bC9zPj4+MDtpZigwIT09bCl0aHJvdyBuZXcgRXJyb3IoIk5vbi16ZXJvIGNhcnJ5Iik7aT1oLG8rK31mb3IodmFyIGI9Yy1pO2IhPT1jJiYwPT09ZFtiXTspYisrO2Zvcih2YXIgeT11LnJlcGVhdChyKTtiPGM7KytiKXkrPWUuY2hhckF0KGRbYl0pO3JldHVybiB5fSxkZWNvZGVVbnNhZmU6ZCxkZWNvZGU6ZnVuY3Rpb24oZSl7dmFyIHQ9ZChlKTtpZih0KXJldHVybiB0O3Rocm93IG5ldyBFcnJvcigiTm9uLWJhc2UiK3MrIiBjaGFyYWN0ZXIiKX19fX0sNDkxOTooZSx0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmJ5dGVMZW5ndGg9ZnVuY3Rpb24oZSl7dmFyIHQ9dShlKSxyPXRbMF0sbj10WzFdO3JldHVybiAzKihyK24pLzQtbn0sdC50b0J5dGVBcnJheT1mdW5jdGlvbihlKXt2YXIgdCxyLG89dShlKSxhPW9bMF0scz1vWzFdLGM9bmV3IGkoZnVuY3Rpb24oZSx0LHIpe3JldHVybiAzKih0K3IpLzQtcn0oMCxhLHMpKSxmPTAsZD1zPjA/YS00OmE7Zm9yKHI9MDtyPGQ7cis9NCl0PW5bZS5jaGFyQ29kZUF0KHIpXTw8MTh8bltlLmNoYXJDb2RlQXQocisxKV08PDEyfG5bZS5jaGFyQ29kZUF0KHIrMildPDw2fG5bZS5jaGFyQ29kZUF0KHIrMyldLGNbZisrXT10Pj4xNiYyNTUsY1tmKytdPXQ+PjgmMjU1LGNbZisrXT0yNTUmdDtyZXR1cm4gMj09PXMmJih0PW5bZS5jaGFyQ29kZUF0KHIpXTw8MnxuW2UuY2hhckNvZGVBdChyKzEpXT4+NCxjW2YrK109MjU1JnQpLDE9PT1zJiYodD1uW2UuY2hhckNvZGVBdChyKV08PDEwfG5bZS5jaGFyQ29kZUF0KHIrMSldPDw0fG5bZS5jaGFyQ29kZUF0KHIrMildPj4yLGNbZisrXT10Pj44JjI1NSxjW2YrK109MjU1JnQpLGN9LHQuZnJvbUJ5dGVBcnJheT1mdW5jdGlvbihlKXtmb3IodmFyIHQsbj1lLmxlbmd0aCxpPW4lMyxvPVtdLGE9MTYzODMscz0wLHU9bi1pO3M8dTtzKz1hKW8ucHVzaChjKGUscyxzK2E+dT91OnMrYSkpO3JldHVybiAxPT09aT8odD1lW24tMV0sby5wdXNoKHJbdD4+Ml0rclt0PDw0JjYzXSsiPT0iKSk6Mj09PWkmJih0PShlW24tMl08PDgpK2Vbbi0xXSxvLnB1c2goclt0Pj4xMF0rclt0Pj40JjYzXStyW3Q8PDImNjNdKyI9IikpLG8uam9pbigiIil9O2Zvcih2YXIgcj1bXSxuPVtdLGk9InVuZGVmaW5lZCIhPXR5cGVvZiBVaW50OEFycmF5P1VpbnQ4QXJyYXk6QXJyYXksbz0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIsYT0wLHM9by5sZW5ndGg7YTxzOysrYSlyW2FdPW9bYV0sbltvLmNoYXJDb2RlQXQoYSldPWE7ZnVuY3Rpb24gdShlKXt2YXIgdD1lLmxlbmd0aDtpZih0JTQ+MCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc3RyaW5nLiBMZW5ndGggbXVzdCBiZSBhIG11bHRpcGxlIG9mIDQiKTt2YXIgcj1lLmluZGV4T2YoIj0iKTtyZXR1cm4tMT09PXImJihyPXQpLFtyLHI9PT10PzA6NC1yJTRdfWZ1bmN0aW9uIGMoZSx0LG4pe2Zvcih2YXIgaSxvLGE9W10scz10O3M8bjtzKz0zKWk9KGVbc108PDE2JjE2NzExNjgwKSsoZVtzKzFdPDw4JjY1MjgwKSsoMjU1JmVbcysyXSksYS5wdXNoKHJbKG89aSk+PjE4JjYzXStyW28+PjEyJjYzXStyW28+PjYmNjNdK3JbNjMmb10pO3JldHVybiBhLmpvaW4oIiIpfW5bIi0iLmNoYXJDb2RlQXQoMCldPTYyLG5bIl8iLmNoYXJDb2RlQXQoMCldPTYzfSwxNzM0OihlLHQscik9PnsidXNlIHN0cmljdCI7ZT1yLm5tZChlKTt2YXIgbj1yKDg4NDcpKHIoMzM1NSkpOyFmdW5jdGlvbihlLHQpe2Z1bmN0aW9uIGkoZSx0KXtpZighZSl0aHJvdyBuZXcgRXJyb3IodHx8IkFzc2VydGlvbiBmYWlsZWQiKX1mdW5jdGlvbiBvKGUsdCl7ZS5zdXBlcl89dDt2YXIgcj1mdW5jdGlvbigpe307ci5wcm90b3R5cGU9dC5wcm90b3R5cGUsZS5wcm90b3R5cGU9bmV3IHIsZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZX1mdW5jdGlvbiBhKGUsdCxyKXtpZihhLmlzQk4oZSkpcmV0dXJuIGU7dGhpcy5uZWdhdGl2ZT0wLHRoaXMud29yZHM9bnVsbCx0aGlzLmxlbmd0aD0wLHRoaXMucmVkPW51bGwsbnVsbCE9PWUmJigibGUiIT09dCYmImJlIiE9PXR8fChyPXQsdD0xMCksdGhpcy5faW5pdChlfHwwLHR8fDEwLHJ8fCJiZSIpKX12YXIgczsib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkoZSk/ZS5leHBvcnRzPWE6KHZvaWQgMCkuQk49YSxhLkJOPWEsYS53b3JkU2l6ZT0yNjt0cnl7cz0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LkJ1ZmZlcj93aW5kb3cuQnVmZmVyOnIoOTAzMykuQnVmZmVyfWNhdGNoKGUpe31mdW5jdGlvbiB1KGUsdCl7dmFyIHI9ZS5jaGFyQ29kZUF0KHQpO3JldHVybiByPj00OCYmcjw9NTc/ci00ODpyPj02NSYmcjw9NzA/ci01NTpyPj05NyYmcjw9MTAyP3ItODc6dm9pZCBpKCExLCJJbnZhbGlkIGNoYXJhY3RlciBpbiAiK2UpfWZ1bmN0aW9uIGMoZSx0LHIpe3ZhciBuPXUoZSxyKTtyZXR1cm4gci0xPj10JiYobnw9dShlLHItMSk8PDQpLG59ZnVuY3Rpb24gZihlLHQscixuKXtmb3IodmFyIG89MCxhPTAscz1NYXRoLm1pbihlLmxlbmd0aCxyKSx1PXQ7dTxzO3UrKyl7dmFyIGM9ZS5jaGFyQ29kZUF0KHUpLTQ4O28qPW4sYT1jPj00OT9jLTQ5KzEwOmM+PTE3P2MtMTcrMTA6YyxpKGM+PTAmJmE8biwiSW52YWxpZCBjaGFyYWN0ZXIiKSxvKz1hfXJldHVybiBvfWZ1bmN0aW9uIGQoZSx0KXtlLndvcmRzPXQud29yZHMsZS5sZW5ndGg9dC5sZW5ndGgsZS5uZWdhdGl2ZT10Lm5lZ2F0aXZlLGUucmVkPXQucmVkfWlmKGEuaXNCTj1mdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIGF8fG51bGwhPT1lJiYib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkoZSkmJmUuY29uc3RydWN0b3Iud29yZFNpemU9PT1hLndvcmRTaXplJiZBcnJheS5pc0FycmF5KGUud29yZHMpfSxhLm1heD1mdW5jdGlvbihlLHQpe3JldHVybiBlLmNtcCh0KT4wP2U6dH0sYS5taW49ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5jbXAodCk8MD9lOnR9LGEucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKGUsdCxyKXtpZigibnVtYmVyIj09dHlwZW9mIGUpcmV0dXJuIHRoaXMuX2luaXROdW1iZXIoZSx0LHIpO2lmKCJvYmplY3QiPT09KDAsbi5kZWZhdWx0KShlKSlyZXR1cm4gdGhpcy5faW5pdEFycmF5KGUsdCxyKTsiaGV4Ij09PXQmJih0PTE2KSxpKHQ9PT0oMHx0KSYmdD49MiYmdDw9MzYpO3ZhciBvPTA7Ii0iPT09KGU9ZS50b1N0cmluZygpLnJlcGxhY2UoL1xzKy9nLCIiKSlbMF0mJihvKyssdGhpcy5uZWdhdGl2ZT0xKSxvPGUubGVuZ3RoJiYoMTY9PT10P3RoaXMuX3BhcnNlSGV4KGUsbyxyKToodGhpcy5fcGFyc2VCYXNlKGUsdCxvKSwibGUiPT09ciYmdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLHQscikpKX0sYS5wcm90b3R5cGUuX2luaXROdW1iZXI9ZnVuY3Rpb24oZSx0LHIpe2U8MCYmKHRoaXMubmVnYXRpdmU9MSxlPS1lKSxlPDY3MTA4ODY0Pyh0aGlzLndvcmRzPVs2NzEwODg2MyZlXSx0aGlzLmxlbmd0aD0xKTplPDQ1MDM1OTk2MjczNzA0OTY/KHRoaXMud29yZHM9WzY3MTA4ODYzJmUsZS82NzEwODg2NCY2NzEwODg2M10sdGhpcy5sZW5ndGg9Mik6KGkoZTw5MDA3MTk5MjU0NzQwOTkyKSx0aGlzLndvcmRzPVs2NzEwODg2MyZlLGUvNjcxMDg4NjQmNjcxMDg4NjMsMV0sdGhpcy5sZW5ndGg9MyksImxlIj09PXImJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSx0LHIpfSxhLnByb3RvdHlwZS5faW5pdEFycmF5PWZ1bmN0aW9uKGUsdCxyKXtpZihpKCJudW1iZXIiPT10eXBlb2YgZS5sZW5ndGgpLGUubGVuZ3RoPD0wKXJldHVybiB0aGlzLndvcmRzPVswXSx0aGlzLmxlbmd0aD0xLHRoaXM7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKGUubGVuZ3RoLzMpLHRoaXMud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIG49MDtuPHRoaXMubGVuZ3RoO24rKyl0aGlzLndvcmRzW25dPTA7dmFyIG8sYSxzPTA7aWYoImJlIj09PXIpZm9yKG49ZS5sZW5ndGgtMSxvPTA7bj49MDtuLT0zKWE9ZVtuXXxlW24tMV08PDh8ZVtuLTJdPDwxNix0aGlzLndvcmRzW29dfD1hPDxzJjY3MTA4ODYzLHRoaXMud29yZHNbbysxXT1hPj4+MjYtcyY2NzEwODg2Mywocys9MjQpPj0yNiYmKHMtPTI2LG8rKyk7ZWxzZSBpZigibGUiPT09cilmb3Iobj0wLG89MDtuPGUubGVuZ3RoO24rPTMpYT1lW25dfGVbbisxXTw8OHxlW24rMl08PDE2LHRoaXMud29yZHNbb118PWE8PHMmNjcxMDg4NjMsdGhpcy53b3Jkc1tvKzFdPWE+Pj4yNi1zJjY3MTA4ODYzLChzKz0yNCk+PTI2JiYocy09MjYsbysrKTtyZXR1cm4gdGhpcy5fc3RyaXAoKX0sYS5wcm90b3R5cGUuX3BhcnNlSGV4PWZ1bmN0aW9uKGUsdCxyKXt0aGlzLmxlbmd0aD1NYXRoLmNlaWwoKGUubGVuZ3RoLXQpLzYpLHRoaXMud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIG49MDtuPHRoaXMubGVuZ3RoO24rKyl0aGlzLndvcmRzW25dPTA7dmFyIGksbz0wLGE9MDtpZigiYmUiPT09cilmb3Iobj1lLmxlbmd0aC0xO24+PXQ7bi09MilpPWMoZSx0LG4pPDxvLHRoaXMud29yZHNbYV18PTY3MTA4ODYzJmksbz49MTg/KG8tPTE4LGErPTEsdGhpcy53b3Jkc1thXXw9aT4+PjI2KTpvKz04O2Vsc2UgZm9yKG49KGUubGVuZ3RoLXQpJTI9PTA/dCsxOnQ7bjxlLmxlbmd0aDtuKz0yKWk9YyhlLHQsbik8PG8sdGhpcy53b3Jkc1thXXw9NjcxMDg4NjMmaSxvPj0xOD8oby09MTgsYSs9MSx0aGlzLndvcmRzW2FdfD1pPj4+MjYpOm8rPTg7dGhpcy5fc3RyaXAoKX0sYS5wcm90b3R5cGUuX3BhcnNlQmFzZT1mdW5jdGlvbihlLHQscil7dGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MTtmb3IodmFyIG49MCxpPTE7aTw9NjcxMDg4NjM7aSo9dCluKys7bi0tLGk9aS90fDA7Zm9yKHZhciBvPWUubGVuZ3RoLXIsYT1vJW4scz1NYXRoLm1pbihvLG8tYSkrcix1PTAsYz1yO2M8cztjKz1uKXU9ZihlLGMsYytuLHQpLHRoaXMuaW11bG4oaSksdGhpcy53b3Jkc1swXSt1PDY3MTA4ODY0P3RoaXMud29yZHNbMF0rPXU6dGhpcy5faWFkZG4odSk7aWYoMCE9PWEpe3ZhciBkPTE7Zm9yKHU9ZihlLGMsZS5sZW5ndGgsdCksYz0wO2M8YTtjKyspZCo9dDt0aGlzLmltdWxuKGQpLHRoaXMud29yZHNbMF0rdTw2NzEwODg2ND90aGlzLndvcmRzWzBdKz11OnRoaXMuX2lhZGRuKHUpfXRoaXMuX3N0cmlwKCl9LGEucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSl7ZS53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgdD0wO3Q8dGhpcy5sZW5ndGg7dCsrKWUud29yZHNbdF09dGhpcy53b3Jkc1t0XTtlLmxlbmd0aD10aGlzLmxlbmd0aCxlLm5lZ2F0aXZlPXRoaXMubmVnYXRpdmUsZS5yZWQ9dGhpcy5yZWR9LGEucHJvdG90eXBlLl9tb3ZlPWZ1bmN0aW9uKGUpe2QoZSx0aGlzKX0sYS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgZT1uZXcgYShudWxsKTtyZXR1cm4gdGhpcy5jb3B5KGUpLGV9LGEucHJvdG90eXBlLl9leHBhbmQ9ZnVuY3Rpb24oZSl7Zm9yKDt0aGlzLmxlbmd0aDxlOyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLl9zdHJpcD1mdW5jdGlvbigpe2Zvcig7dGhpcy5sZW5ndGg+MSYmMD09PXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV07KXRoaXMubGVuZ3RoLS07cmV0dXJuIHRoaXMuX25vcm1TaWduKCl9LGEucHJvdG90eXBlLl9ub3JtU2lnbj1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdJiYodGhpcy5uZWdhdGl2ZT0wKSx0aGlzfSwidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbC5mb3IpdHJ5e2EucHJvdG90eXBlW1N5bWJvbC5mb3IoIm5vZGVqcy51dGlsLmluc3BlY3QuY3VzdG9tIildPWx9Y2F0Y2goZSl7YS5wcm90b3R5cGUuaW5zcGVjdD1sfWVsc2UgYS5wcm90b3R5cGUuaW5zcGVjdD1sO2Z1bmN0aW9uIGwoKXtyZXR1cm4odGhpcy5yZWQ/IjxCTi1SOiAiOiI8Qk46ICIpK3RoaXMudG9TdHJpbmcoMTYpKyI+In12YXIgaD1bIiIsIjAiLCIwMCIsIjAwMCIsIjAwMDAiLCIwMDAwMCIsIjAwMDAwMCIsIjAwMDAwMDAiLCIwMDAwMDAwMCIsIjAwMDAwMDAwMCIsIjAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiXSxwPVswLDAsMjUsMTYsMTIsMTEsMTAsOSw4LDgsNyw3LDcsNyw2LDYsNiw2LDYsNiw2LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDVdLGI9WzAsMCwzMzU1NDQzMiw0MzA0NjcyMSwxNjc3NzIxNiw0ODgyODEyNSw2MDQ2NjE3Niw0MDM1MzYwNywxNjc3NzIxNiw0MzA0NjcyMSwxZTcsMTk0ODcxNzEsMzU4MzE4MDgsNjI3NDg1MTcsNzUyOTUzNiwxMTM5MDYyNSwxNjc3NzIxNiwyNDEzNzU2OSwzNDAxMjIyNCw0NzA0NTg4MSw2NGU2LDQwODQxMDEsNTE1MzYzMiw2NDM2MzQzLDc5NjI2MjQsOTc2NTYyNSwxMTg4MTM3NiwxNDM0ODkwNywxNzIxMDM2OCwyMDUxMTE0OSwyNDNlNSwyODYyOTE1MSwzMzU1NDQzMiwzOTEzNTM5Myw0NTQzNTQyNCw1MjUyMTg3NSw2MDQ2NjE3Nl07ZnVuY3Rpb24geShlLHQscil7ci5uZWdhdGl2ZT10Lm5lZ2F0aXZlXmUubmVnYXRpdmU7dmFyIG49ZS5sZW5ndGgrdC5sZW5ndGh8MDtyLmxlbmd0aD1uLG49bi0xfDA7dmFyIGk9MHxlLndvcmRzWzBdLG89MHx0LndvcmRzWzBdLGE9aSpvLHM9NjcxMDg4NjMmYSx1PWEvNjcxMDg4NjR8MDtyLndvcmRzWzBdPXM7Zm9yKHZhciBjPTE7YzxuO2MrKyl7Zm9yKHZhciBmPXU+Pj4yNixkPTY3MTA4ODYzJnUsbD1NYXRoLm1pbihjLHQubGVuZ3RoLTEpLGg9TWF0aC5tYXgoMCxjLWUubGVuZ3RoKzEpO2g8PWw7aCsrKXt2YXIgcD1jLWh8MDtmKz0oYT0oaT0wfGUud29yZHNbcF0pKihvPTB8dC53b3Jkc1toXSkrZCkvNjcxMDg4NjR8MCxkPTY3MTA4ODYzJmF9ci53b3Jkc1tjXT0wfGQsdT0wfGZ9cmV0dXJuIDAhPT11P3Iud29yZHNbY109MHx1OnIubGVuZ3RoLS0sci5fc3RyaXAoKX1hLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbihlLHQpe3ZhciByO2lmKHQ9MHx0fHwxLDE2PT09KGU9ZXx8MTApfHwiaGV4Ij09PWUpe3I9IiI7Zm9yKHZhciBuPTAsbz0wLGE9MDthPHRoaXMubGVuZ3RoO2ErKyl7dmFyIHM9dGhpcy53b3Jkc1thXSx1PSgxNjc3NzIxNSYoczw8bnxvKSkudG9TdHJpbmcoMTYpO289cz4+PjI0LW4mMTY3NzcyMTUsKG4rPTIpPj0yNiYmKG4tPTI2LGEtLSkscj0wIT09b3x8YSE9PXRoaXMubGVuZ3RoLTE/aFs2LXUubGVuZ3RoXSt1K3I6dStyfWZvcigwIT09byYmKHI9by50b1N0cmluZygxNikrcik7ci5sZW5ndGgldCE9MDspcj0iMCIrcjtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmUmJihyPSItIityKSxyfWlmKGU9PT0oMHxlKSYmZT49MiYmZTw9MzYpe3ZhciBjPXBbZV0sZj1iW2VdO3I9IiI7dmFyIGQ9dGhpcy5jbG9uZSgpO2ZvcihkLm5lZ2F0aXZlPTA7IWQuaXNaZXJvKCk7KXt2YXIgbD1kLm1vZHJuKGYpLnRvU3RyaW5nKGUpO3I9KGQ9ZC5pZGl2bihmKSkuaXNaZXJvKCk/bCtyOmhbYy1sLmxlbmd0aF0rbCtyfWZvcih0aGlzLmlzWmVybygpJiYocj0iMCIrcik7ci5sZW5ndGgldCE9MDspcj0iMCIrcjtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmUmJihyPSItIityKSxyfWkoITEsIkJhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYiKX0sYS5wcm90b3R5cGUudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLndvcmRzWzBdO3JldHVybiAyPT09dGhpcy5sZW5ndGg/ZSs9NjcxMDg4NjQqdGhpcy53b3Jkc1sxXTozPT09dGhpcy5sZW5ndGgmJjE9PT10aGlzLndvcmRzWzJdP2UrPTQ1MDM1OTk2MjczNzA0OTYrNjcxMDg4NjQqdGhpcy53b3Jkc1sxXTp0aGlzLmxlbmd0aD4yJiZpKCExLCJOdW1iZXIgY2FuIG9ubHkgc2FmZWx5IHN0b3JlIHVwIHRvIDUzIGJpdHMiKSwwIT09dGhpcy5uZWdhdGl2ZT8tZTplfSxhLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b1N0cmluZygxNiwyKX0scyYmKGEucHJvdG90eXBlLnRvQnVmZmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UocyxlLHQpfSksYS5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLnRvQXJyYXlMaWtlKEFycmF5LGUsdCl9LGEucHJvdG90eXBlLnRvQXJyYXlMaWtlPWZ1bmN0aW9uKGUsdCxyKXt0aGlzLl9zdHJpcCgpO3ZhciBuPXRoaXMuYnl0ZUxlbmd0aCgpLG89cnx8TWF0aC5tYXgoMSxuKTtpKG48PW8sImJ5dGUgYXJyYXkgbG9uZ2VyIHRoYW4gZGVzaXJlZCBsZW5ndGgiKSxpKG8+MCwiUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwIik7dmFyIGE9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5hbGxvY1Vuc2FmZT9lLmFsbG9jVW5zYWZlKHQpOm5ldyBlKHQpfShlLG8pO3JldHVybiB0aGlzWyJfdG9BcnJheUxpa2UiKygibGUiPT09dD8iTEUiOiJCRSIpXShhLG4pLGF9LGEucHJvdG90eXBlLl90b0FycmF5TGlrZUxFPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPTAsbj0wLGk9MCxvPTA7aTx0aGlzLmxlbmd0aDtpKyspe3ZhciBhPXRoaXMud29yZHNbaV08PG98bjtlW3IrK109MjU1JmEscjxlLmxlbmd0aCYmKGVbcisrXT1hPj44JjI1NSkscjxlLmxlbmd0aCYmKGVbcisrXT1hPj4xNiYyNTUpLDY9PT1vPyhyPGUubGVuZ3RoJiYoZVtyKytdPWE+PjI0JjI1NSksbj0wLG89MCk6KG49YT4+PjI0LG8rPTIpfWlmKHI8ZS5sZW5ndGgpZm9yKGVbcisrXT1uO3I8ZS5sZW5ndGg7KWVbcisrXT0wfSxhLnByb3RvdHlwZS5fdG9BcnJheUxpa2VCRT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj1lLmxlbmd0aC0xLG49MCxpPTAsbz0wO2k8dGhpcy5sZW5ndGg7aSsrKXt2YXIgYT10aGlzLndvcmRzW2ldPDxvfG47ZVtyLS1dPTI1NSZhLHI+PTAmJihlW3ItLV09YT4+OCYyNTUpLHI+PTAmJihlW3ItLV09YT4+MTYmMjU1KSw2PT09bz8ocj49MCYmKGVbci0tXT1hPj4yNCYyNTUpLG49MCxvPTApOihuPWE+Pj4yNCxvKz0yKX1pZihyPj0wKWZvcihlW3ItLV09bjtyPj0wOyllW3ItLV09MH0sTWF0aC5jbHozMj9hLnByb3RvdHlwZS5fY291bnRCaXRzPWZ1bmN0aW9uKGUpe3JldHVybiAzMi1NYXRoLmNsejMyKGUpfTphLnByb3RvdHlwZS5fY291bnRCaXRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUscj0wO3JldHVybiB0Pj00MDk2JiYocis9MTMsdD4+Pj0xMyksdD49NjQmJihyKz03LHQ+Pj49NyksdD49OCYmKHIrPTQsdD4+Pj00KSx0Pj0yJiYocis9Mix0Pj4+PTIpLHIrdH0sYS5wcm90b3R5cGUuX3plcm9CaXRzPWZ1bmN0aW9uKGUpe2lmKDA9PT1lKXJldHVybiAyNjt2YXIgdD1lLHI9MDtyZXR1cm4gMD09KDgxOTEmdCkmJihyKz0xMyx0Pj4+PTEzKSwwPT0oMTI3JnQpJiYocis9Nyx0Pj4+PTcpLDA9PSgxNSZ0KSYmKHIrPTQsdD4+Pj00KSwwPT0oMyZ0KSYmKHIrPTIsdD4+Pj0yKSwwPT0oMSZ0KSYmcisrLHJ9LGEucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbigpe3ZhciBlPXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0sdD10aGlzLl9jb3VudEJpdHMoZSk7cmV0dXJuIDI2Kih0aGlzLmxlbmd0aC0xKSt0fSxhLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbigpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7Zm9yKHZhciBlPTAsdD0wO3Q8dGhpcy5sZW5ndGg7dCsrKXt2YXIgcj10aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW3RdKTtpZihlKz1yLDI2IT09cilicmVha31yZXR1cm4gZX0sYS5wcm90b3R5cGUuYnl0ZUxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKS84KX0sYS5wcm90b3R5cGUudG9Ud29zPWZ1bmN0aW9uKGUpe3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT90aGlzLmFicygpLmlub3RuKGUpLmlhZGRuKDEpOnRoaXMuY2xvbmUoKX0sYS5wcm90b3R5cGUuZnJvbVR3b3M9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudGVzdG4oZS0xKT90aGlzLm5vdG4oZSkuaWFkZG4oMSkuaW5lZygpOnRoaXMuY2xvbmUoKX0sYS5wcm90b3R5cGUuaXNOZWc9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmV9LGEucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaW5lZygpfSxhLnByb3RvdHlwZS5pbmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNaZXJvKCl8fCh0aGlzLm5lZ2F0aXZlXj0xKSx0aGlzfSxhLnByb3RvdHlwZS5pdW9yPWZ1bmN0aW9uKGUpe2Zvcig7dGhpcy5sZW5ndGg8ZS5sZW5ndGg7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLndvcmRzW3RdPXRoaXMud29yZHNbdF18ZS53b3Jkc1t0XTtyZXR1cm4gdGhpcy5fc3RyaXAoKX0sYS5wcm90b3R5cGUuaW9yPWZ1bmN0aW9uKGUpe3JldHVybiBpKDA9PSh0aGlzLm5lZ2F0aXZlfGUubmVnYXRpdmUpKSx0aGlzLml1b3IoZSl9LGEucHJvdG90eXBlLm9yPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxlbmd0aD5lLmxlbmd0aD90aGlzLmNsb25lKCkuaW9yKGUpOmUuY2xvbmUoKS5pb3IodGhpcyl9LGEucHJvdG90eXBlLnVvcj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5sZW5ndGg+ZS5sZW5ndGg/dGhpcy5jbG9uZSgpLml1b3IoZSk6ZS5jbG9uZSgpLml1b3IodGhpcyl9LGEucHJvdG90eXBlLml1YW5kPWZ1bmN0aW9uKGUpe3ZhciB0O3Q9dGhpcy5sZW5ndGg+ZS5sZW5ndGg/ZTp0aGlzO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXRoaXMud29yZHNbcl09dGhpcy53b3Jkc1tyXSZlLndvcmRzW3JdO3JldHVybiB0aGlzLmxlbmd0aD10Lmxlbmd0aCx0aGlzLl9zdHJpcCgpfSxhLnByb3RvdHlwZS5pYW5kPWZ1bmN0aW9uKGUpe3JldHVybiBpKDA9PSh0aGlzLm5lZ2F0aXZlfGUubmVnYXRpdmUpKSx0aGlzLml1YW5kKGUpfSxhLnByb3RvdHlwZS5hbmQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubGVuZ3RoPmUubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYW5kKGUpOmUuY2xvbmUoKS5pYW5kKHRoaXMpfSxhLnByb3RvdHlwZS51YW5kPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxlbmd0aD5lLmxlbmd0aD90aGlzLmNsb25lKCkuaXVhbmQoZSk6ZS5jbG9uZSgpLml1YW5kKHRoaXMpfSxhLnByb3RvdHlwZS5pdXhvcj1mdW5jdGlvbihlKXt2YXIgdCxyO3RoaXMubGVuZ3RoPmUubGVuZ3RoPyh0PXRoaXMscj1lKToodD1lLHI9dGhpcyk7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT10LndvcmRzW25dXnIud29yZHNbbl07aWYodGhpcyE9PXQpZm9yKDtuPHQubGVuZ3RoO24rKyl0aGlzLndvcmRzW25dPXQud29yZHNbbl07cmV0dXJuIHRoaXMubGVuZ3RoPXQubGVuZ3RoLHRoaXMuX3N0cmlwKCl9LGEucHJvdG90eXBlLml4b3I9ZnVuY3Rpb24oZSl7cmV0dXJuIGkoMD09KHRoaXMubmVnYXRpdmV8ZS5uZWdhdGl2ZSkpLHRoaXMuaXV4b3IoZSl9LGEucHJvdG90eXBlLnhvcj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5sZW5ndGg+ZS5sZW5ndGg/dGhpcy5jbG9uZSgpLml4b3IoZSk6ZS5jbG9uZSgpLml4b3IodGhpcyl9LGEucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubGVuZ3RoPmUubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdXhvcihlKTplLmNsb25lKCkuaXV4b3IodGhpcyl9LGEucHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uKGUpe2koIm51bWJlciI9PXR5cGVvZiBlJiZlPj0wKTt2YXIgdD0wfE1hdGguY2VpbChlLzI2KSxyPWUlMjY7dGhpcy5fZXhwYW5kKHQpLHI+MCYmdC0tO2Zvcih2YXIgbj0wO248dDtuKyspdGhpcy53b3Jkc1tuXT02NzEwODg2MyZ+dGhpcy53b3Jkc1tuXTtyZXR1cm4gcj4wJiYodGhpcy53b3Jkc1tuXT1+dGhpcy53b3Jkc1tuXSY2NzEwODg2Mz4+MjYtciksdGhpcy5fc3RyaXAoKX0sYS5wcm90b3R5cGUubm90bj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlub3RuKGUpfSxhLnByb3RvdHlwZS5zZXRuPWZ1bmN0aW9uKGUsdCl7aSgibnVtYmVyIj09dHlwZW9mIGUmJmU+PTApO3ZhciByPWUvMjZ8MCxuPWUlMjY7cmV0dXJuIHRoaXMuX2V4cGFuZChyKzEpLHRoaXMud29yZHNbcl09dD90aGlzLndvcmRzW3JdfDE8PG46dGhpcy53b3Jkc1tyXSZ+KDE8PG4pLHRoaXMuX3N0cmlwKCl9LGEucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24oZSl7dmFyIHQscixuO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09ZS5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHQ9dGhpcy5pc3ViKGUpLHRoaXMubmVnYXRpdmVePTEsdGhpcy5fbm9ybVNpZ24oKTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmMCE9PWUubmVnYXRpdmUpcmV0dXJuIGUubmVnYXRpdmU9MCx0PXRoaXMuaXN1YihlKSxlLm5lZ2F0aXZlPTEsdC5fbm9ybVNpZ24oKTt0aGlzLmxlbmd0aD5lLmxlbmd0aD8ocj10aGlzLG49ZSk6KHI9ZSxuPXRoaXMpO2Zvcih2YXIgaT0wLG89MDtvPG4ubGVuZ3RoO28rKyl0PSgwfHIud29yZHNbb10pKygwfG4ud29yZHNbb10pK2ksdGhpcy53b3Jkc1tvXT02NzEwODg2MyZ0LGk9dD4+PjI2O2Zvcig7MCE9PWkmJm88ci5sZW5ndGg7bysrKXQ9KDB8ci53b3Jkc1tvXSkraSx0aGlzLndvcmRzW29dPTY3MTA4ODYzJnQsaT10Pj4+MjY7aWYodGhpcy5sZW5ndGg9ci5sZW5ndGgsMCE9PWkpdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF09aSx0aGlzLmxlbmd0aCsrO2Vsc2UgaWYociE9PXRoaXMpZm9yKDtvPHIubGVuZ3RoO28rKyl0aGlzLndvcmRzW29dPXIud29yZHNbb107cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gMCE9PWUubmVnYXRpdmUmJjA9PT10aGlzLm5lZ2F0aXZlPyhlLm5lZ2F0aXZlPTAsdD10aGlzLnN1YihlKSxlLm5lZ2F0aXZlXj0xLHQpOjA9PT1lLm5lZ2F0aXZlJiYwIT09dGhpcy5uZWdhdGl2ZT8odGhpcy5uZWdhdGl2ZT0wLHQ9ZS5zdWIodGhpcyksdGhpcy5uZWdhdGl2ZT0xLHQpOnRoaXMubGVuZ3RoPmUubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYWRkKGUpOmUuY2xvbmUoKS5pYWRkKHRoaXMpfSxhLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uKGUpe2lmKDAhPT1lLm5lZ2F0aXZlKXtlLm5lZ2F0aXZlPTA7dmFyIHQ9dGhpcy5pYWRkKGUpO3JldHVybiBlLm5lZ2F0aXZlPTEsdC5fbm9ybVNpZ24oKX1pZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZChlKSx0aGlzLm5lZ2F0aXZlPTEsdGhpcy5fbm9ybVNpZ24oKTt2YXIgcixuLGk9dGhpcy5jbXAoZSk7aWYoMD09PWkpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmxlbmd0aD0xLHRoaXMud29yZHNbMF09MCx0aGlzO2k+MD8ocj10aGlzLG49ZSk6KHI9ZSxuPXRoaXMpO2Zvcih2YXIgbz0wLGE9MDthPG4ubGVuZ3RoO2ErKylvPSh0PSgwfHIud29yZHNbYV0pLSgwfG4ud29yZHNbYV0pK28pPj4yNix0aGlzLndvcmRzW2FdPTY3MTA4ODYzJnQ7Zm9yKDswIT09byYmYTxyLmxlbmd0aDthKyspbz0odD0oMHxyLndvcmRzW2FdKStvKT4+MjYsdGhpcy53b3Jkc1thXT02NzEwODg2MyZ0O2lmKDA9PT1vJiZhPHIubGVuZ3RoJiZyIT09dGhpcylmb3IoO2E8ci5sZW5ndGg7YSsrKXRoaXMud29yZHNbYV09ci53b3Jkc1thXTtyZXR1cm4gdGhpcy5sZW5ndGg9TWF0aC5tYXgodGhpcy5sZW5ndGgsYSksciE9PXRoaXMmJih0aGlzLm5lZ2F0aXZlPTEpLHRoaXMuX3N0cmlwKCl9LGEucHJvdG90eXBlLnN1Yj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIoZSl9O3ZhciBtPWZ1bmN0aW9uKGUsdCxyKXt2YXIgbixpLG8sYT1lLndvcmRzLHM9dC53b3Jkcyx1PXIud29yZHMsYz0wLGY9MHxhWzBdLGQ9ODE5MSZmLGw9Zj4+PjEzLGg9MHxhWzFdLHA9ODE5MSZoLGI9aD4+PjEzLHk9MHxhWzJdLG09ODE5MSZ5LHY9eT4+PjEzLGc9MHxhWzNdLHc9ODE5MSZnLEE9Zz4+PjEzLGs9MHxhWzRdLF89ODE5MSZrLFM9az4+PjEzLHg9MHxhWzVdLEU9ODE5MSZ4LFA9eD4+PjEzLE89MHxhWzZdLEI9ODE5MSZPLFQ9Tz4+PjEzLEM9MHxhWzddLEk9ODE5MSZDLE09Qz4+PjEzLFU9MHxhWzhdLFI9ODE5MSZVLGo9VT4+PjEzLE49MHxhWzldLEY9ODE5MSZOLEw9Tj4+PjEzLEQ9MHxzWzBdLEg9ODE5MSZELHE9RD4+PjEzLHo9MHxzWzFdLEc9ODE5MSZ6LEs9ej4+PjEzLFY9MHxzWzJdLEo9ODE5MSZWLFc9Vj4+PjEzLFk9MHxzWzNdLFg9ODE5MSZZLFE9WT4+PjEzLFo9MHxzWzRdLCQ9ODE5MSZaLGVlPVo+Pj4xMyx0ZT0wfHNbNV0scmU9ODE5MSZ0ZSxuZT10ZT4+PjEzLGllPTB8c1s2XSxvZT04MTkxJmllLGFlPWllPj4+MTMsc2U9MHxzWzddLHVlPTgxOTEmc2UsY2U9c2U+Pj4xMyxmZT0wfHNbOF0sZGU9ODE5MSZmZSxsZT1mZT4+PjEzLGhlPTB8c1s5XSxwZT04MTkxJmhlLGJlPWhlPj4+MTM7ci5uZWdhdGl2ZT1lLm5lZ2F0aXZlXnQubmVnYXRpdmUsci5sZW5ndGg9MTk7dmFyIHllPShjKyhuPU1hdGguaW11bChkLEgpKXwwKSsoKDgxOTEmKGk9KGk9TWF0aC5pbXVsKGQscSkpK01hdGguaW11bChsLEgpfDApKTw8MTMpfDA7Yz0oKG89TWF0aC5pbXVsKGwscSkpKyhpPj4+MTMpfDApKyh5ZT4+PjI2KXwwLHllJj02NzEwODg2MyxuPU1hdGguaW11bChwLEgpLGk9KGk9TWF0aC5pbXVsKHAscSkpK01hdGguaW11bChiLEgpfDAsbz1NYXRoLmltdWwoYixxKTt2YXIgbWU9KGMrKG49bitNYXRoLmltdWwoZCxHKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoZCxLKXwwKStNYXRoLmltdWwobCxHKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsSyl8MCkrKGk+Pj4xMyl8MCkrKG1lPj4+MjYpfDAsbWUmPTY3MTA4ODYzLG49TWF0aC5pbXVsKG0sSCksaT0oaT1NYXRoLmltdWwobSxxKSkrTWF0aC5pbXVsKHYsSCl8MCxvPU1hdGguaW11bCh2LHEpLG49bitNYXRoLmltdWwocCxHKXwwLGk9KGk9aStNYXRoLmltdWwocCxLKXwwKStNYXRoLmltdWwoYixHKXwwLG89bytNYXRoLmltdWwoYixLKXwwO3ZhciB2ZT0oYysobj1uK01hdGguaW11bChkLEopfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChkLFcpfDApK01hdGguaW11bChsLEopfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxXKXwwKSsoaT4+PjEzKXwwKSsodmU+Pj4yNil8MCx2ZSY9NjcxMDg4NjMsbj1NYXRoLmltdWwodyxIKSxpPShpPU1hdGguaW11bCh3LHEpKStNYXRoLmltdWwoQSxIKXwwLG89TWF0aC5pbXVsKEEscSksbj1uK01hdGguaW11bChtLEcpfDAsaT0oaT1pK01hdGguaW11bChtLEspfDApK01hdGguaW11bCh2LEcpfDAsbz1vK01hdGguaW11bCh2LEspfDAsbj1uK01hdGguaW11bChwLEopfDAsaT0oaT1pK01hdGguaW11bChwLFcpfDApK01hdGguaW11bChiLEopfDAsbz1vK01hdGguaW11bChiLFcpfDA7dmFyIGdlPShjKyhuPW4rTWF0aC5pbXVsKGQsWCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGQsUSl8MCkrTWF0aC5pbXVsKGwsWCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLFEpfDApKyhpPj4+MTMpfDApKyhnZT4+PjI2KXwwLGdlJj02NzEwODg2MyxuPU1hdGguaW11bChfLEgpLGk9KGk9TWF0aC5pbXVsKF8scSkpK01hdGguaW11bChTLEgpfDAsbz1NYXRoLmltdWwoUyxxKSxuPW4rTWF0aC5pbXVsKHcsRyl8MCxpPShpPWkrTWF0aC5pbXVsKHcsSyl8MCkrTWF0aC5pbXVsKEEsRyl8MCxvPW8rTWF0aC5pbXVsKEEsSyl8MCxuPW4rTWF0aC5pbXVsKG0sSil8MCxpPShpPWkrTWF0aC5pbXVsKG0sVyl8MCkrTWF0aC5pbXVsKHYsSil8MCxvPW8rTWF0aC5pbXVsKHYsVyl8MCxuPW4rTWF0aC5pbXVsKHAsWCl8MCxpPShpPWkrTWF0aC5pbXVsKHAsUSl8MCkrTWF0aC5pbXVsKGIsWCl8MCxvPW8rTWF0aC5pbXVsKGIsUSl8MDt2YXIgd2U9KGMrKG49bitNYXRoLmltdWwoZCwkKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoZCxlZSl8MCkrTWF0aC5pbXVsKGwsJCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLGVlKXwwKSsoaT4+PjEzKXwwKSsod2U+Pj4yNil8MCx3ZSY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRSxIKSxpPShpPU1hdGguaW11bChFLHEpKStNYXRoLmltdWwoUCxIKXwwLG89TWF0aC5pbXVsKFAscSksbj1uK01hdGguaW11bChfLEcpfDAsaT0oaT1pK01hdGguaW11bChfLEspfDApK01hdGguaW11bChTLEcpfDAsbz1vK01hdGguaW11bChTLEspfDAsbj1uK01hdGguaW11bCh3LEopfDAsaT0oaT1pK01hdGguaW11bCh3LFcpfDApK01hdGguaW11bChBLEopfDAsbz1vK01hdGguaW11bChBLFcpfDAsbj1uK01hdGguaW11bChtLFgpfDAsaT0oaT1pK01hdGguaW11bChtLFEpfDApK01hdGguaW11bCh2LFgpfDAsbz1vK01hdGguaW11bCh2LFEpfDAsbj1uK01hdGguaW11bChwLCQpfDAsaT0oaT1pK01hdGguaW11bChwLGVlKXwwKStNYXRoLmltdWwoYiwkKXwwLG89bytNYXRoLmltdWwoYixlZSl8MDt2YXIgQWU9KGMrKG49bitNYXRoLmltdWwoZCxyZSl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGQsbmUpfDApK01hdGguaW11bChsLHJlKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsbmUpfDApKyhpPj4+MTMpfDApKyhBZT4+PjI2KXwwLEFlJj02NzEwODg2MyxuPU1hdGguaW11bChCLEgpLGk9KGk9TWF0aC5pbXVsKEIscSkpK01hdGguaW11bChULEgpfDAsbz1NYXRoLmltdWwoVCxxKSxuPW4rTWF0aC5pbXVsKEUsRyl8MCxpPShpPWkrTWF0aC5pbXVsKEUsSyl8MCkrTWF0aC5pbXVsKFAsRyl8MCxvPW8rTWF0aC5pbXVsKFAsSyl8MCxuPW4rTWF0aC5pbXVsKF8sSil8MCxpPShpPWkrTWF0aC5pbXVsKF8sVyl8MCkrTWF0aC5pbXVsKFMsSil8MCxvPW8rTWF0aC5pbXVsKFMsVyl8MCxuPW4rTWF0aC5pbXVsKHcsWCl8MCxpPShpPWkrTWF0aC5pbXVsKHcsUSl8MCkrTWF0aC5pbXVsKEEsWCl8MCxvPW8rTWF0aC5pbXVsKEEsUSl8MCxuPW4rTWF0aC5pbXVsKG0sJCl8MCxpPShpPWkrTWF0aC5pbXVsKG0sZWUpfDApK01hdGguaW11bCh2LCQpfDAsbz1vK01hdGguaW11bCh2LGVlKXwwLG49bitNYXRoLmltdWwocCxyZSl8MCxpPShpPWkrTWF0aC5pbXVsKHAsbmUpfDApK01hdGguaW11bChiLHJlKXwwLG89bytNYXRoLmltdWwoYixuZSl8MDt2YXIga2U9KGMrKG49bitNYXRoLmltdWwoZCxvZSl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGQsYWUpfDApK01hdGguaW11bChsLG9lKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsYWUpfDApKyhpPj4+MTMpfDApKyhrZT4+PjI2KXwwLGtlJj02NzEwODg2MyxuPU1hdGguaW11bChJLEgpLGk9KGk9TWF0aC5pbXVsKEkscSkpK01hdGguaW11bChNLEgpfDAsbz1NYXRoLmltdWwoTSxxKSxuPW4rTWF0aC5pbXVsKEIsRyl8MCxpPShpPWkrTWF0aC5pbXVsKEIsSyl8MCkrTWF0aC5pbXVsKFQsRyl8MCxvPW8rTWF0aC5pbXVsKFQsSyl8MCxuPW4rTWF0aC5pbXVsKEUsSil8MCxpPShpPWkrTWF0aC5pbXVsKEUsVyl8MCkrTWF0aC5pbXVsKFAsSil8MCxvPW8rTWF0aC5pbXVsKFAsVyl8MCxuPW4rTWF0aC5pbXVsKF8sWCl8MCxpPShpPWkrTWF0aC5pbXVsKF8sUSl8MCkrTWF0aC5pbXVsKFMsWCl8MCxvPW8rTWF0aC5pbXVsKFMsUSl8MCxuPW4rTWF0aC5pbXVsKHcsJCl8MCxpPShpPWkrTWF0aC5pbXVsKHcsZWUpfDApK01hdGguaW11bChBLCQpfDAsbz1vK01hdGguaW11bChBLGVlKXwwLG49bitNYXRoLmltdWwobSxyZSl8MCxpPShpPWkrTWF0aC5pbXVsKG0sbmUpfDApK01hdGguaW11bCh2LHJlKXwwLG89bytNYXRoLmltdWwodixuZSl8MCxuPW4rTWF0aC5pbXVsKHAsb2UpfDAsaT0oaT1pK01hdGguaW11bChwLGFlKXwwKStNYXRoLmltdWwoYixvZSl8MCxvPW8rTWF0aC5pbXVsKGIsYWUpfDA7dmFyIF9lPShjKyhuPW4rTWF0aC5pbXVsKGQsdWUpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChkLGNlKXwwKStNYXRoLmltdWwobCx1ZSl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLGNlKXwwKSsoaT4+PjEzKXwwKSsoX2U+Pj4yNil8MCxfZSY9NjcxMDg4NjMsbj1NYXRoLmltdWwoUixIKSxpPShpPU1hdGguaW11bChSLHEpKStNYXRoLmltdWwoaixIKXwwLG89TWF0aC5pbXVsKGoscSksbj1uK01hdGguaW11bChJLEcpfDAsaT0oaT1pK01hdGguaW11bChJLEspfDApK01hdGguaW11bChNLEcpfDAsbz1vK01hdGguaW11bChNLEspfDAsbj1uK01hdGguaW11bChCLEopfDAsaT0oaT1pK01hdGguaW11bChCLFcpfDApK01hdGguaW11bChULEopfDAsbz1vK01hdGguaW11bChULFcpfDAsbj1uK01hdGguaW11bChFLFgpfDAsaT0oaT1pK01hdGguaW11bChFLFEpfDApK01hdGguaW11bChQLFgpfDAsbz1vK01hdGguaW11bChQLFEpfDAsbj1uK01hdGguaW11bChfLCQpfDAsaT0oaT1pK01hdGguaW11bChfLGVlKXwwKStNYXRoLmltdWwoUywkKXwwLG89bytNYXRoLmltdWwoUyxlZSl8MCxuPW4rTWF0aC5pbXVsKHcscmUpfDAsaT0oaT1pK01hdGguaW11bCh3LG5lKXwwKStNYXRoLmltdWwoQSxyZSl8MCxvPW8rTWF0aC5pbXVsKEEsbmUpfDAsbj1uK01hdGguaW11bChtLG9lKXwwLGk9KGk9aStNYXRoLmltdWwobSxhZSl8MCkrTWF0aC5pbXVsKHYsb2UpfDAsbz1vK01hdGguaW11bCh2LGFlKXwwLG49bitNYXRoLmltdWwocCx1ZSl8MCxpPShpPWkrTWF0aC5pbXVsKHAsY2UpfDApK01hdGguaW11bChiLHVlKXwwLG89bytNYXRoLmltdWwoYixjZSl8MDt2YXIgU2U9KGMrKG49bitNYXRoLmltdWwoZCxkZSl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGQsbGUpfDApK01hdGguaW11bChsLGRlKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsbGUpfDApKyhpPj4+MTMpfDApKyhTZT4+PjI2KXwwLFNlJj02NzEwODg2MyxuPU1hdGguaW11bChGLEgpLGk9KGk9TWF0aC5pbXVsKEYscSkpK01hdGguaW11bChMLEgpfDAsbz1NYXRoLmltdWwoTCxxKSxuPW4rTWF0aC5pbXVsKFIsRyl8MCxpPShpPWkrTWF0aC5pbXVsKFIsSyl8MCkrTWF0aC5pbXVsKGosRyl8MCxvPW8rTWF0aC5pbXVsKGosSyl8MCxuPW4rTWF0aC5pbXVsKEksSil8MCxpPShpPWkrTWF0aC5pbXVsKEksVyl8MCkrTWF0aC5pbXVsKE0sSil8MCxvPW8rTWF0aC5pbXVsKE0sVyl8MCxuPW4rTWF0aC5pbXVsKEIsWCl8MCxpPShpPWkrTWF0aC5pbXVsKEIsUSl8MCkrTWF0aC5pbXVsKFQsWCl8MCxvPW8rTWF0aC5pbXVsKFQsUSl8MCxuPW4rTWF0aC5pbXVsKEUsJCl8MCxpPShpPWkrTWF0aC5pbXVsKEUsZWUpfDApK01hdGguaW11bChQLCQpfDAsbz1vK01hdGguaW11bChQLGVlKXwwLG49bitNYXRoLmltdWwoXyxyZSl8MCxpPShpPWkrTWF0aC5pbXVsKF8sbmUpfDApK01hdGguaW11bChTLHJlKXwwLG89bytNYXRoLmltdWwoUyxuZSl8MCxuPW4rTWF0aC5pbXVsKHcsb2UpfDAsaT0oaT1pK01hdGguaW11bCh3LGFlKXwwKStNYXRoLmltdWwoQSxvZSl8MCxvPW8rTWF0aC5pbXVsKEEsYWUpfDAsbj1uK01hdGguaW11bChtLHVlKXwwLGk9KGk9aStNYXRoLmltdWwobSxjZSl8MCkrTWF0aC5pbXVsKHYsdWUpfDAsbz1vK01hdGguaW11bCh2LGNlKXwwLG49bitNYXRoLmltdWwocCxkZSl8MCxpPShpPWkrTWF0aC5pbXVsKHAsbGUpfDApK01hdGguaW11bChiLGRlKXwwLG89bytNYXRoLmltdWwoYixsZSl8MDt2YXIgeGU9KGMrKG49bitNYXRoLmltdWwoZCxwZSl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGQsYmUpfDApK01hdGguaW11bChsLHBlKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsYmUpfDApKyhpPj4+MTMpfDApKyh4ZT4+PjI2KXwwLHhlJj02NzEwODg2MyxuPU1hdGguaW11bChGLEcpLGk9KGk9TWF0aC5pbXVsKEYsSykpK01hdGguaW11bChMLEcpfDAsbz1NYXRoLmltdWwoTCxLKSxuPW4rTWF0aC5pbXVsKFIsSil8MCxpPShpPWkrTWF0aC5pbXVsKFIsVyl8MCkrTWF0aC5pbXVsKGosSil8MCxvPW8rTWF0aC5pbXVsKGosVyl8MCxuPW4rTWF0aC5pbXVsKEksWCl8MCxpPShpPWkrTWF0aC5pbXVsKEksUSl8MCkrTWF0aC5pbXVsKE0sWCl8MCxvPW8rTWF0aC5pbXVsKE0sUSl8MCxuPW4rTWF0aC5pbXVsKEIsJCl8MCxpPShpPWkrTWF0aC5pbXVsKEIsZWUpfDApK01hdGguaW11bChULCQpfDAsbz1vK01hdGguaW11bChULGVlKXwwLG49bitNYXRoLmltdWwoRSxyZSl8MCxpPShpPWkrTWF0aC5pbXVsKEUsbmUpfDApK01hdGguaW11bChQLHJlKXwwLG89bytNYXRoLmltdWwoUCxuZSl8MCxuPW4rTWF0aC5pbXVsKF8sb2UpfDAsaT0oaT1pK01hdGguaW11bChfLGFlKXwwKStNYXRoLmltdWwoUyxvZSl8MCxvPW8rTWF0aC5pbXVsKFMsYWUpfDAsbj1uK01hdGguaW11bCh3LHVlKXwwLGk9KGk9aStNYXRoLmltdWwodyxjZSl8MCkrTWF0aC5pbXVsKEEsdWUpfDAsbz1vK01hdGguaW11bChBLGNlKXwwLG49bitNYXRoLmltdWwobSxkZSl8MCxpPShpPWkrTWF0aC5pbXVsKG0sbGUpfDApK01hdGguaW11bCh2LGRlKXwwLG89bytNYXRoLmltdWwodixsZSl8MDt2YXIgRWU9KGMrKG49bitNYXRoLmltdWwocCxwZSl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKHAsYmUpfDApK01hdGguaW11bChiLHBlKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGIsYmUpfDApKyhpPj4+MTMpfDApKyhFZT4+PjI2KXwwLEVlJj02NzEwODg2MyxuPU1hdGguaW11bChGLEopLGk9KGk9TWF0aC5pbXVsKEYsVykpK01hdGguaW11bChMLEopfDAsbz1NYXRoLmltdWwoTCxXKSxuPW4rTWF0aC5pbXVsKFIsWCl8MCxpPShpPWkrTWF0aC5pbXVsKFIsUSl8MCkrTWF0aC5pbXVsKGosWCl8MCxvPW8rTWF0aC5pbXVsKGosUSl8MCxuPW4rTWF0aC5pbXVsKEksJCl8MCxpPShpPWkrTWF0aC5pbXVsKEksZWUpfDApK01hdGguaW11bChNLCQpfDAsbz1vK01hdGguaW11bChNLGVlKXwwLG49bitNYXRoLmltdWwoQixyZSl8MCxpPShpPWkrTWF0aC5pbXVsKEIsbmUpfDApK01hdGguaW11bChULHJlKXwwLG89bytNYXRoLmltdWwoVCxuZSl8MCxuPW4rTWF0aC5pbXVsKEUsb2UpfDAsaT0oaT1pK01hdGguaW11bChFLGFlKXwwKStNYXRoLmltdWwoUCxvZSl8MCxvPW8rTWF0aC5pbXVsKFAsYWUpfDAsbj1uK01hdGguaW11bChfLHVlKXwwLGk9KGk9aStNYXRoLmltdWwoXyxjZSl8MCkrTWF0aC5pbXVsKFMsdWUpfDAsbz1vK01hdGguaW11bChTLGNlKXwwLG49bitNYXRoLmltdWwodyxkZSl8MCxpPShpPWkrTWF0aC5pbXVsKHcsbGUpfDApK01hdGguaW11bChBLGRlKXwwLG89bytNYXRoLmltdWwoQSxsZSl8MDt2YXIgUGU9KGMrKG49bitNYXRoLmltdWwobSxwZSl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKG0sYmUpfDApK01hdGguaW11bCh2LHBlKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKHYsYmUpfDApKyhpPj4+MTMpfDApKyhQZT4+PjI2KXwwLFBlJj02NzEwODg2MyxuPU1hdGguaW11bChGLFgpLGk9KGk9TWF0aC5pbXVsKEYsUSkpK01hdGguaW11bChMLFgpfDAsbz1NYXRoLmltdWwoTCxRKSxuPW4rTWF0aC5pbXVsKFIsJCl8MCxpPShpPWkrTWF0aC5pbXVsKFIsZWUpfDApK01hdGguaW11bChqLCQpfDAsbz1vK01hdGguaW11bChqLGVlKXwwLG49bitNYXRoLmltdWwoSSxyZSl8MCxpPShpPWkrTWF0aC5pbXVsKEksbmUpfDApK01hdGguaW11bChNLHJlKXwwLG89bytNYXRoLmltdWwoTSxuZSl8MCxuPW4rTWF0aC5pbXVsKEIsb2UpfDAsaT0oaT1pK01hdGguaW11bChCLGFlKXwwKStNYXRoLmltdWwoVCxvZSl8MCxvPW8rTWF0aC5pbXVsKFQsYWUpfDAsbj1uK01hdGguaW11bChFLHVlKXwwLGk9KGk9aStNYXRoLmltdWwoRSxjZSl8MCkrTWF0aC5pbXVsKFAsdWUpfDAsbz1vK01hdGguaW11bChQLGNlKXwwLG49bitNYXRoLmltdWwoXyxkZSl8MCxpPShpPWkrTWF0aC5pbXVsKF8sbGUpfDApK01hdGguaW11bChTLGRlKXwwLG89bytNYXRoLmltdWwoUyxsZSl8MDt2YXIgT2U9KGMrKG49bitNYXRoLmltdWwodyxwZSl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKHcsYmUpfDApK01hdGguaW11bChBLHBlKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKEEsYmUpfDApKyhpPj4+MTMpfDApKyhPZT4+PjI2KXwwLE9lJj02NzEwODg2MyxuPU1hdGguaW11bChGLCQpLGk9KGk9TWF0aC5pbXVsKEYsZWUpKStNYXRoLmltdWwoTCwkKXwwLG89TWF0aC5pbXVsKEwsZWUpLG49bitNYXRoLmltdWwoUixyZSl8MCxpPShpPWkrTWF0aC5pbXVsKFIsbmUpfDApK01hdGguaW11bChqLHJlKXwwLG89bytNYXRoLmltdWwoaixuZSl8MCxuPW4rTWF0aC5pbXVsKEksb2UpfDAsaT0oaT1pK01hdGguaW11bChJLGFlKXwwKStNYXRoLmltdWwoTSxvZSl8MCxvPW8rTWF0aC5pbXVsKE0sYWUpfDAsbj1uK01hdGguaW11bChCLHVlKXwwLGk9KGk9aStNYXRoLmltdWwoQixjZSl8MCkrTWF0aC5pbXVsKFQsdWUpfDAsbz1vK01hdGguaW11bChULGNlKXwwLG49bitNYXRoLmltdWwoRSxkZSl8MCxpPShpPWkrTWF0aC5pbXVsKEUsbGUpfDApK01hdGguaW11bChQLGRlKXwwLG89bytNYXRoLmltdWwoUCxsZSl8MDt2YXIgQmU9KGMrKG49bitNYXRoLmltdWwoXyxwZSl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKF8sYmUpfDApK01hdGguaW11bChTLHBlKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKFMsYmUpfDApKyhpPj4+MTMpfDApKyhCZT4+PjI2KXwwLEJlJj02NzEwODg2MyxuPU1hdGguaW11bChGLHJlKSxpPShpPU1hdGguaW11bChGLG5lKSkrTWF0aC5pbXVsKEwscmUpfDAsbz1NYXRoLmltdWwoTCxuZSksbj1uK01hdGguaW11bChSLG9lKXwwLGk9KGk9aStNYXRoLmltdWwoUixhZSl8MCkrTWF0aC5pbXVsKGosb2UpfDAsbz1vK01hdGguaW11bChqLGFlKXwwLG49bitNYXRoLmltdWwoSSx1ZSl8MCxpPShpPWkrTWF0aC5pbXVsKEksY2UpfDApK01hdGguaW11bChNLHVlKXwwLG89bytNYXRoLmltdWwoTSxjZSl8MCxuPW4rTWF0aC5pbXVsKEIsZGUpfDAsaT0oaT1pK01hdGguaW11bChCLGxlKXwwKStNYXRoLmltdWwoVCxkZSl8MCxvPW8rTWF0aC5pbXVsKFQsbGUpfDA7dmFyIFRlPShjKyhuPW4rTWF0aC5pbXVsKEUscGUpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChFLGJlKXwwKStNYXRoLmltdWwoUCxwZSl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChQLGJlKXwwKSsoaT4+PjEzKXwwKSsoVGU+Pj4yNil8MCxUZSY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRixvZSksaT0oaT1NYXRoLmltdWwoRixhZSkpK01hdGguaW11bChMLG9lKXwwLG89TWF0aC5pbXVsKEwsYWUpLG49bitNYXRoLmltdWwoUix1ZSl8MCxpPShpPWkrTWF0aC5pbXVsKFIsY2UpfDApK01hdGguaW11bChqLHVlKXwwLG89bytNYXRoLmltdWwoaixjZSl8MCxuPW4rTWF0aC5pbXVsKEksZGUpfDAsaT0oaT1pK01hdGguaW11bChJLGxlKXwwKStNYXRoLmltdWwoTSxkZSl8MCxvPW8rTWF0aC5pbXVsKE0sbGUpfDA7dmFyIENlPShjKyhuPW4rTWF0aC5pbXVsKEIscGUpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChCLGJlKXwwKStNYXRoLmltdWwoVCxwZSl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChULGJlKXwwKSsoaT4+PjEzKXwwKSsoQ2U+Pj4yNil8MCxDZSY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRix1ZSksaT0oaT1NYXRoLmltdWwoRixjZSkpK01hdGguaW11bChMLHVlKXwwLG89TWF0aC5pbXVsKEwsY2UpLG49bitNYXRoLmltdWwoUixkZSl8MCxpPShpPWkrTWF0aC5pbXVsKFIsbGUpfDApK01hdGguaW11bChqLGRlKXwwLG89bytNYXRoLmltdWwoaixsZSl8MDt2YXIgSWU9KGMrKG49bitNYXRoLmltdWwoSSxwZSl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKEksYmUpfDApK01hdGguaW11bChNLHBlKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKE0sYmUpfDApKyhpPj4+MTMpfDApKyhJZT4+PjI2KXwwLEllJj02NzEwODg2MyxuPU1hdGguaW11bChGLGRlKSxpPShpPU1hdGguaW11bChGLGxlKSkrTWF0aC5pbXVsKEwsZGUpfDAsbz1NYXRoLmltdWwoTCxsZSk7dmFyIE1lPShjKyhuPW4rTWF0aC5pbXVsKFIscGUpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChSLGJlKXwwKStNYXRoLmltdWwoaixwZSl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChqLGJlKXwwKSsoaT4+PjEzKXwwKSsoTWU+Pj4yNil8MCxNZSY9NjcxMDg4NjM7dmFyIFVlPShjKyhuPU1hdGguaW11bChGLHBlKSl8MCkrKCg4MTkxJihpPShpPU1hdGguaW11bChGLGJlKSkrTWF0aC5pbXVsKEwscGUpfDApKTw8MTMpfDA7cmV0dXJuIGM9KChvPU1hdGguaW11bChMLGJlKSkrKGk+Pj4xMyl8MCkrKFVlPj4+MjYpfDAsVWUmPTY3MTA4ODYzLHVbMF09eWUsdVsxXT1tZSx1WzJdPXZlLHVbM109Z2UsdVs0XT13ZSx1WzVdPUFlLHVbNl09a2UsdVs3XT1fZSx1WzhdPVNlLHVbOV09eGUsdVsxMF09RWUsdVsxMV09UGUsdVsxMl09T2UsdVsxM109QmUsdVsxNF09VGUsdVsxNV09Q2UsdVsxNl09SWUsdVsxN109TWUsdVsxOF09VWUsMCE9PWMmJih1WzE5XT1jLHIubGVuZ3RoKyspLHJ9O2Z1bmN0aW9uIHYoZSx0LHIpe3IubmVnYXRpdmU9dC5uZWdhdGl2ZV5lLm5lZ2F0aXZlLHIubGVuZ3RoPWUubGVuZ3RoK3QubGVuZ3RoO2Zvcih2YXIgbj0wLGk9MCxvPTA7bzxyLmxlbmd0aC0xO28rKyl7dmFyIGE9aTtpPTA7Zm9yKHZhciBzPTY3MTA4ODYzJm4sdT1NYXRoLm1pbihvLHQubGVuZ3RoLTEpLGM9TWF0aC5tYXgoMCxvLWUubGVuZ3RoKzEpO2M8PXU7YysrKXt2YXIgZj1vLWMsZD0oMHxlLndvcmRzW2ZdKSooMHx0LndvcmRzW2NdKSxsPTY3MTA4ODYzJmQ7cz02NzEwODg2MyYobD1sK3N8MCksaSs9KGE9KGE9YSsoZC82NzEwODg2NHwwKXwwKSsobD4+PjI2KXwwKT4+PjI2LGEmPTY3MTA4ODYzfXIud29yZHNbb109cyxuPWEsYT1pfXJldHVybiAwIT09bj9yLndvcmRzW29dPW46ci5sZW5ndGgtLSxyLl9zdHJpcCgpfWZ1bmN0aW9uIGcoZSx0LHIpe3JldHVybiB2KGUsdCxyKX1mdW5jdGlvbiB3KGUsdCl7dGhpcy54PWUsdGhpcy55PXR9TWF0aC5pbXVsfHwobT15KSxhLnByb3RvdHlwZS5tdWxUbz1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXMubGVuZ3RoK2UubGVuZ3RoO3JldHVybiAxMD09PXRoaXMubGVuZ3RoJiYxMD09PWUubGVuZ3RoP20odGhpcyxlLHQpOnI8NjM/eSh0aGlzLGUsdCk6cjwxMDI0P3YodGhpcyxlLHQpOmcodGhpcyxlLHQpfSx3LnByb3RvdHlwZS5tYWtlUkJUPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1uZXcgQXJyYXkoZSkscj1hLnByb3RvdHlwZS5fY291bnRCaXRzKGUpLTEsbj0wO248ZTtuKyspdFtuXT10aGlzLnJldkJpbihuLHIsZSk7cmV0dXJuIHR9LHcucHJvdG90eXBlLnJldkJpbj1mdW5jdGlvbihlLHQscil7aWYoMD09PWV8fGU9PT1yLTEpcmV0dXJuIGU7Zm9yKHZhciBuPTAsaT0wO2k8dDtpKyspbnw9KDEmZSk8PHQtaS0xLGU+Pj0xO3JldHVybiBufSx3LnByb3RvdHlwZS5wZXJtdXRlPWZ1bmN0aW9uKGUsdCxyLG4saSxvKXtmb3IodmFyIGE9MDthPG87YSsrKW5bYV09dFtlW2FdXSxpW2FdPXJbZVthXV19LHcucHJvdG90eXBlLnRyYW5zZm9ybT1mdW5jdGlvbihlLHQscixuLGksbyl7dGhpcy5wZXJtdXRlKG8sZSx0LHIsbixpKTtmb3IodmFyIGE9MTthPGk7YTw8PTEpZm9yKHZhciBzPWE8PDEsdT1NYXRoLmNvcygyKk1hdGguUEkvcyksYz1NYXRoLnNpbigyKk1hdGguUEkvcyksZj0wO2Y8aTtmKz1zKWZvcih2YXIgZD11LGw9YyxoPTA7aDxhO2grKyl7dmFyIHA9cltmK2hdLGI9bltmK2hdLHk9cltmK2grYV0sbT1uW2YraCthXSx2PWQqeS1sKm07bT1kKm0rbCp5LHk9dixyW2YraF09cCt5LG5bZitoXT1iK20scltmK2grYV09cC15LG5bZitoK2FdPWItbSxoIT09cyYmKHY9dSpkLWMqbCxsPXUqbCtjKmQsZD12KX19LHcucHJvdG90eXBlLmd1ZXNzTGVuMTNiPWZ1bmN0aW9uKGUsdCl7dmFyIHI9MXxNYXRoLm1heCh0LGUpLG49MSZyLGk9MDtmb3Iocj1yLzJ8MDtyO3I+Pj49MSlpKys7cmV0dXJuIDE8PGkrMStufSx3LnByb3RvdHlwZS5jb25qdWdhdGU9ZnVuY3Rpb24oZSx0LHIpe2lmKCEocjw9MSkpZm9yKHZhciBuPTA7bjxyLzI7bisrKXt2YXIgaT1lW25dO2Vbbl09ZVtyLW4tMV0sZVtyLW4tMV09aSxpPXRbbl0sdFtuXT0tdFtyLW4tMV0sdFtyLW4tMV09LWl9fSx3LnByb3RvdHlwZS5ub3JtYWxpemUxM2I9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9MCxuPTA7bjx0LzI7bisrKXt2YXIgaT04MTkyKk1hdGgucm91bmQoZVsyKm4rMV0vdCkrTWF0aC5yb3VuZChlWzIqbl0vdCkrcjtlW25dPTY3MTA4ODYzJmkscj1pPDY3MTA4ODY0PzA6aS82NzEwODg2NHwwfXJldHVybiBlfSx3LnByb3RvdHlwZS5jb252ZXJ0MTNiPWZ1bmN0aW9uKGUsdCxyLG4pe2Zvcih2YXIgbz0wLGE9MDthPHQ7YSsrKW8rPTB8ZVthXSxyWzIqYV09ODE5MSZvLG8+Pj49MTMsclsyKmErMV09ODE5MSZvLG8+Pj49MTM7Zm9yKGE9Mip0O2E8bjsrK2EpclthXT0wO2koMD09PW8pLGkoMD09KC04MTkyJm8pKX0sdy5wcm90b3R5cGUuc3R1Yj1mdW5jdGlvbihlKXtmb3IodmFyIHQ9bmV3IEFycmF5KGUpLHI9MDtyPGU7cisrKXRbcl09MDtyZXR1cm4gdH0sdy5wcm90b3R5cGUubXVscD1mdW5jdGlvbihlLHQscil7dmFyIG49Mip0aGlzLmd1ZXNzTGVuMTNiKGUubGVuZ3RoLHQubGVuZ3RoKSxpPXRoaXMubWFrZVJCVChuKSxvPXRoaXMuc3R1YihuKSxhPW5ldyBBcnJheShuKSxzPW5ldyBBcnJheShuKSx1PW5ldyBBcnJheShuKSxjPW5ldyBBcnJheShuKSxmPW5ldyBBcnJheShuKSxkPW5ldyBBcnJheShuKSxsPXIud29yZHM7bC5sZW5ndGg9bix0aGlzLmNvbnZlcnQxM2IoZS53b3JkcyxlLmxlbmd0aCxhLG4pLHRoaXMuY29udmVydDEzYih0LndvcmRzLHQubGVuZ3RoLGMsbiksdGhpcy50cmFuc2Zvcm0oYSxvLHMsdSxuLGkpLHRoaXMudHJhbnNmb3JtKGMsbyxmLGQsbixpKTtmb3IodmFyIGg9MDtoPG47aCsrKXt2YXIgcD1zW2hdKmZbaF0tdVtoXSpkW2hdO3VbaF09c1toXSpkW2hdK3VbaF0qZltoXSxzW2hdPXB9cmV0dXJuIHRoaXMuY29uanVnYXRlKHMsdSxuKSx0aGlzLnRyYW5zZm9ybShzLHUsbCxvLG4saSksdGhpcy5jb25qdWdhdGUobCxvLG4pLHRoaXMubm9ybWFsaXplMTNiKGwsbiksci5uZWdhdGl2ZT1lLm5lZ2F0aXZlXnQubmVnYXRpdmUsci5sZW5ndGg9ZS5sZW5ndGgrdC5sZW5ndGgsci5fc3RyaXAoKX0sYS5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBhKG51bGwpO3JldHVybiB0LndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCtlLmxlbmd0aCksdGhpcy5tdWxUbyhlLHQpfSxhLnByb3RvdHlwZS5tdWxmPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBhKG51bGwpO3JldHVybiB0LndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCtlLmxlbmd0aCksZyh0aGlzLGUsdCl9LGEucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhlLHRoaXMpfSxhLnByb3RvdHlwZS5pbXVsbj1mdW5jdGlvbihlKXt2YXIgdD1lPDA7dCYmKGU9LWUpLGkoIm51bWJlciI9PXR5cGVvZiBlKSxpKGU8NjcxMDg4NjQpO2Zvcih2YXIgcj0wLG49MDtuPHRoaXMubGVuZ3RoO24rKyl7dmFyIG89KDB8dGhpcy53b3Jkc1tuXSkqZSxhPSg2NzEwODg2MyZvKSsoNjcxMDg4NjMmcik7cj4+PTI2LHIrPW8vNjcxMDg4NjR8MCxyKz1hPj4+MjYsdGhpcy53b3Jkc1tuXT02NzEwODg2MyZhfXJldHVybiAwIT09ciYmKHRoaXMud29yZHNbbl09cix0aGlzLmxlbmd0aCsrKSx0P3RoaXMuaW5lZygpOnRoaXN9LGEucHJvdG90eXBlLm11bG49ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbXVsbihlKX0sYS5wcm90b3R5cGUuc3FyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXVsKHRoaXMpfSxhLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW11bCh0aGlzLmNsb25lKCkpfSxhLnByb3RvdHlwZS5wb3c9ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PW5ldyBBcnJheShlLmJpdExlbmd0aCgpKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBuPXIvMjZ8MCxpPXIlMjY7dFtyXT1lLndvcmRzW25dPj4+aSYxfXJldHVybiB0fShlKTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIG5ldyBhKDEpO2Zvcih2YXIgcj10aGlzLG49MDtuPHQubGVuZ3RoJiYwPT09dFtuXTtuKysscj1yLnNxcigpKTtpZigrK248dC5sZW5ndGgpZm9yKHZhciBpPXIuc3FyKCk7bjx0Lmxlbmd0aDtuKyssaT1pLnNxcigpKTAhPT10W25dJiYocj1yLm11bChpKSk7cmV0dXJuIHJ9LGEucHJvdG90eXBlLml1c2hsbj1mdW5jdGlvbihlKXtpKCJudW1iZXIiPT10eXBlb2YgZSYmZT49MCk7dmFyIHQscj1lJTI2LG49KGUtcikvMjYsbz02NzEwODg2Mz4+PjI2LXI8PDI2LXI7aWYoMCE9PXIpe3ZhciBhPTA7Zm9yKHQ9MDt0PHRoaXMubGVuZ3RoO3QrKyl7dmFyIHM9dGhpcy53b3Jkc1t0XSZvLHU9KDB8dGhpcy53b3Jkc1t0XSktczw8cjt0aGlzLndvcmRzW3RdPXV8YSxhPXM+Pj4yNi1yfWEmJih0aGlzLndvcmRzW3RdPWEsdGhpcy5sZW5ndGgrKyl9aWYoMCE9PW4pe2Zvcih0PXRoaXMubGVuZ3RoLTE7dD49MDt0LS0pdGhpcy53b3Jkc1t0K25dPXRoaXMud29yZHNbdF07Zm9yKHQ9MDt0PG47dCsrKXRoaXMud29yZHNbdF09MDt0aGlzLmxlbmd0aCs9bn1yZXR1cm4gdGhpcy5fc3RyaXAoKX0sYS5wcm90b3R5cGUuaXNobG49ZnVuY3Rpb24oZSl7cmV0dXJuIGkoMD09PXRoaXMubmVnYXRpdmUpLHRoaXMuaXVzaGxuKGUpfSxhLnByb3RvdHlwZS5pdXNocm49ZnVuY3Rpb24oZSx0LHIpe3ZhciBuO2koIm51bWJlciI9PXR5cGVvZiBlJiZlPj0wKSxuPXQ/KHQtdCUyNikvMjY6MDt2YXIgbz1lJTI2LGE9TWF0aC5taW4oKGUtbykvMjYsdGhpcy5sZW5ndGgpLHM9NjcxMDg4NjNeNjcxMDg4NjM+Pj5vPDxvLHU9cjtpZihuLT1hLG49TWF0aC5tYXgoMCxuKSx1KXtmb3IodmFyIGM9MDtjPGE7YysrKXUud29yZHNbY109dGhpcy53b3Jkc1tjXTt1Lmxlbmd0aD1hfWlmKDA9PT1hKTtlbHNlIGlmKHRoaXMubGVuZ3RoPmEpZm9yKHRoaXMubGVuZ3RoLT1hLGM9MDtjPHRoaXMubGVuZ3RoO2MrKyl0aGlzLndvcmRzW2NdPXRoaXMud29yZHNbYythXTtlbHNlIHRoaXMud29yZHNbMF09MCx0aGlzLmxlbmd0aD0xO3ZhciBmPTA7Zm9yKGM9dGhpcy5sZW5ndGgtMTtjPj0wJiYoMCE9PWZ8fGM+PW4pO2MtLSl7dmFyIGQ9MHx0aGlzLndvcmRzW2NdO3RoaXMud29yZHNbY109Zjw8MjYtb3xkPj4+byxmPWQmc31yZXR1cm4gdSYmMCE9PWYmJih1LndvcmRzW3UubGVuZ3RoKytdPWYpLDA9PT10aGlzLmxlbmd0aCYmKHRoaXMud29yZHNbMF09MCx0aGlzLmxlbmd0aD0xKSx0aGlzLl9zdHJpcCgpfSxhLnByb3RvdHlwZS5pc2hybj1mdW5jdGlvbihlLHQscil7cmV0dXJuIGkoMD09PXRoaXMubmVnYXRpdmUpLHRoaXMuaXVzaHJuKGUsdCxyKX0sYS5wcm90b3R5cGUuc2hsbj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaGxuKGUpfSxhLnByb3RvdHlwZS51c2hsbj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbihlKX0sYS5wcm90b3R5cGUuc2hybj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaHJuKGUpfSxhLnByb3RvdHlwZS51c2hybj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hybihlKX0sYS5wcm90b3R5cGUudGVzdG49ZnVuY3Rpb24oZSl7aSgibnVtYmVyIj09dHlwZW9mIGUmJmU+PTApO3ZhciB0PWUlMjYscj0oZS10KS8yNixuPTE8PHQ7cmV0dXJuISh0aGlzLmxlbmd0aDw9cnx8ISh0aGlzLndvcmRzW3JdJm4pKX0sYS5wcm90b3R5cGUuaW1hc2tuPWZ1bmN0aW9uKGUpe2koIm51bWJlciI9PXR5cGVvZiBlJiZlPj0wKTt2YXIgdD1lJTI2LHI9KGUtdCkvMjY7aWYoaSgwPT09dGhpcy5uZWdhdGl2ZSwiaW1hc2tuIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZSBudW1iZXJzIiksdGhpcy5sZW5ndGg8PXIpcmV0dXJuIHRoaXM7aWYoMCE9PXQmJnIrKyx0aGlzLmxlbmd0aD1NYXRoLm1pbihyLHRoaXMubGVuZ3RoKSwwIT09dCl7dmFyIG49NjcxMDg4NjNeNjcxMDg4NjM+Pj50PDx0O3RoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0mPW59cmV0dXJuIHRoaXMuX3N0cmlwKCl9LGEucHJvdG90eXBlLm1hc2tuPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmNsb25lKCkuaW1hc2tuKGUpfSxhLnByb3RvdHlwZS5pYWRkbj1mdW5jdGlvbihlKXtyZXR1cm4gaSgibnVtYmVyIj09dHlwZW9mIGUpLGkoZTw2NzEwODg2NCksZTwwP3RoaXMuaXN1Ym4oLWUpOjAhPT10aGlzLm5lZ2F0aXZlPzE9PT10aGlzLmxlbmd0aCYmKDB8dGhpcy53b3Jkc1swXSk8PWU/KHRoaXMud29yZHNbMF09ZS0oMHx0aGlzLndvcmRzWzBdKSx0aGlzLm5lZ2F0aXZlPTAsdGhpcyk6KHRoaXMubmVnYXRpdmU9MCx0aGlzLmlzdWJuKGUpLHRoaXMubmVnYXRpdmU9MSx0aGlzKTp0aGlzLl9pYWRkbihlKX0sYS5wcm90b3R5cGUuX2lhZGRuPWZ1bmN0aW9uKGUpe3RoaXMud29yZHNbMF0rPWU7Zm9yKHZhciB0PTA7dDx0aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1t0XT49NjcxMDg4NjQ7dCsrKXRoaXMud29yZHNbdF0tPTY3MTA4ODY0LHQ9PT10aGlzLmxlbmd0aC0xP3RoaXMud29yZHNbdCsxXT0xOnRoaXMud29yZHNbdCsxXSsrO3JldHVybiB0aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCx0KzEpLHRoaXN9LGEucHJvdG90eXBlLmlzdWJuPWZ1bmN0aW9uKGUpe2lmKGkoIm51bWJlciI9PXR5cGVvZiBlKSxpKGU8NjcxMDg4NjQpLGU8MClyZXR1cm4gdGhpcy5pYWRkbigtZSk7aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGRuKGUpLHRoaXMubmVnYXRpdmU9MSx0aGlzO2lmKHRoaXMud29yZHNbMF0tPWUsMT09PXRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzWzBdPDApdGhpcy53b3Jkc1swXT0tdGhpcy53b3Jkc1swXSx0aGlzLm5lZ2F0aXZlPTE7ZWxzZSBmb3IodmFyIHQ9MDt0PHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW3RdPDA7dCsrKXRoaXMud29yZHNbdF0rPTY3MTA4ODY0LHRoaXMud29yZHNbdCsxXS09MTtyZXR1cm4gdGhpcy5fc3RyaXAoKX0sYS5wcm90b3R5cGUuYWRkbj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGRuKGUpfSxhLnByb3RvdHlwZS5zdWJuPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4oZSl9LGEucHJvdG90eXBlLmlhYnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXN9LGEucHJvdG90eXBlLmFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaWFicygpfSxhLnByb3RvdHlwZS5faXNobG5zdWJtdWw9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuLG8sYT1lLmxlbmd0aCtyO3RoaXMuX2V4cGFuZChhKTt2YXIgcz0wO2ZvcihuPTA7bjxlLmxlbmd0aDtuKyspe289KDB8dGhpcy53b3Jkc1tuK3JdKStzO3ZhciB1PSgwfGUud29yZHNbbl0pKnQ7cz0oKG8tPTY3MTA4ODYzJnUpPj4yNiktKHUvNjcxMDg4NjR8MCksdGhpcy53b3Jkc1tuK3JdPTY3MTA4ODYzJm99Zm9yKDtuPHRoaXMubGVuZ3RoLXI7bisrKXM9KG89KDB8dGhpcy53b3Jkc1tuK3JdKStzKT4+MjYsdGhpcy53b3Jkc1tuK3JdPTY3MTA4ODYzJm87aWYoMD09PXMpcmV0dXJuIHRoaXMuX3N0cmlwKCk7Zm9yKGkoLTE9PT1zKSxzPTAsbj0wO248dGhpcy5sZW5ndGg7bisrKXM9KG89LSgwfHRoaXMud29yZHNbbl0pK3MpPj4yNix0aGlzLndvcmRzW25dPTY3MTA4ODYzJm87cmV0dXJuIHRoaXMubmVnYXRpdmU9MSx0aGlzLl9zdHJpcCgpfSxhLnByb3RvdHlwZS5fd29yZERpdj1mdW5jdGlvbihlLHQpe3ZhciByPSh0aGlzLmxlbmd0aCxlLmxlbmd0aCksbj10aGlzLmNsb25lKCksaT1lLG89MHxpLndvcmRzW2kubGVuZ3RoLTFdOzAhPShyPTI2LXRoaXMuX2NvdW50Qml0cyhvKSkmJihpPWkudXNobG4ociksbi5pdXNobG4ociksbz0wfGkud29yZHNbaS5sZW5ndGgtMV0pO3ZhciBzLHU9bi5sZW5ndGgtaS5sZW5ndGg7aWYoIm1vZCIhPT10KXsocz1uZXcgYShudWxsKSkubGVuZ3RoPXUrMSxzLndvcmRzPW5ldyBBcnJheShzLmxlbmd0aCk7Zm9yKHZhciBjPTA7YzxzLmxlbmd0aDtjKyspcy53b3Jkc1tjXT0wfXZhciBmPW4uY2xvbmUoKS5faXNobG5zdWJtdWwoaSwxLHUpOzA9PT1mLm5lZ2F0aXZlJiYobj1mLHMmJihzLndvcmRzW3VdPTEpKTtmb3IodmFyIGQ9dS0xO2Q+PTA7ZC0tKXt2YXIgbD02NzEwODg2NCooMHxuLndvcmRzW2kubGVuZ3RoK2RdKSsoMHxuLndvcmRzW2kubGVuZ3RoK2QtMV0pO2ZvcihsPU1hdGgubWluKGwvb3wwLDY3MTA4ODYzKSxuLl9pc2hsbnN1Ym11bChpLGwsZCk7MCE9PW4ubmVnYXRpdmU7KWwtLSxuLm5lZ2F0aXZlPTAsbi5faXNobG5zdWJtdWwoaSwxLGQpLG4uaXNaZXJvKCl8fChuLm5lZ2F0aXZlXj0xKTtzJiYocy53b3Jkc1tkXT1sKX1yZXR1cm4gcyYmcy5fc3RyaXAoKSxuLl9zdHJpcCgpLCJkaXYiIT09dCYmMCE9PXImJm4uaXVzaHJuKHIpLHtkaXY6c3x8bnVsbCxtb2Q6bn19LGEucHJvdG90eXBlLmRpdm1vZD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGkoIWUuaXNaZXJvKCkpLHRoaXMuaXNaZXJvKCk/e2RpdjpuZXcgYSgwKSxtb2Q6bmV3IGEoMCl9OjAhPT10aGlzLm5lZ2F0aXZlJiYwPT09ZS5uZWdhdGl2ZT8ocz10aGlzLm5lZygpLmRpdm1vZChlLHQpLCJtb2QiIT09dCYmKG49cy5kaXYubmVnKCkpLCJkaXYiIT09dCYmKG89cy5tb2QubmVnKCksciYmMCE9PW8ubmVnYXRpdmUmJm8uaWFkZChlKSkse2RpdjpuLG1vZDpvfSk6MD09PXRoaXMubmVnYXRpdmUmJjAhPT1lLm5lZ2F0aXZlPyhzPXRoaXMuZGl2bW9kKGUubmVnKCksdCksIm1vZCIhPT10JiYobj1zLmRpdi5uZWcoKSkse2RpdjpuLG1vZDpzLm1vZH0pOjAhPSh0aGlzLm5lZ2F0aXZlJmUubmVnYXRpdmUpPyhzPXRoaXMubmVnKCkuZGl2bW9kKGUubmVnKCksdCksImRpdiIhPT10JiYobz1zLm1vZC5uZWcoKSxyJiYwIT09by5uZWdhdGl2ZSYmby5pc3ViKGUpKSx7ZGl2OnMuZGl2LG1vZDpvfSk6ZS5sZW5ndGg+dGhpcy5sZW5ndGh8fHRoaXMuY21wKGUpPDA/e2RpdjpuZXcgYSgwKSxtb2Q6dGhpc306MT09PWUubGVuZ3RoPyJkaXYiPT09dD97ZGl2OnRoaXMuZGl2bihlLndvcmRzWzBdKSxtb2Q6bnVsbH06Im1vZCI9PT10P3tkaXY6bnVsbCxtb2Q6bmV3IGEodGhpcy5tb2RybihlLndvcmRzWzBdKSl9OntkaXY6dGhpcy5kaXZuKGUud29yZHNbMF0pLG1vZDpuZXcgYSh0aGlzLm1vZHJuKGUud29yZHNbMF0pKX06dGhpcy5fd29yZERpdihlLHQpO3ZhciBuLG8sc30sYS5wcm90b3R5cGUuZGl2PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmRpdm1vZChlLCJkaXYiLCExKS5kaXZ9LGEucHJvdG90eXBlLm1vZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5kaXZtb2QoZSwibW9kIiwhMSkubW9kfSxhLnByb3RvdHlwZS51bW9kPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmRpdm1vZChlLCJtb2QiLCEwKS5tb2R9LGEucHJvdG90eXBlLmRpdlJvdW5kPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZGl2bW9kKGUpO2lmKHQubW9kLmlzWmVybygpKXJldHVybiB0LmRpdjt2YXIgcj0wIT09dC5kaXYubmVnYXRpdmU/dC5tb2QuaXN1YihlKTp0Lm1vZCxuPWUudXNocm4oMSksaT1lLmFuZGxuKDEpLG89ci5jbXAobik7cmV0dXJuIG88MHx8MT09PWkmJjA9PT1vP3QuZGl2OjAhPT10LmRpdi5uZWdhdGl2ZT90LmRpdi5pc3VibigxKTp0LmRpdi5pYWRkbigxKX0sYS5wcm90b3R5cGUubW9kcm49ZnVuY3Rpb24oZSl7dmFyIHQ9ZTwwO3QmJihlPS1lKSxpKGU8PTY3MTA4ODYzKTtmb3IodmFyIHI9KDE8PDI2KSVlLG49MCxvPXRoaXMubGVuZ3RoLTE7bz49MDtvLS0pbj0ocipuKygwfHRoaXMud29yZHNbb10pKSVlO3JldHVybiB0Py1uOm59LGEucHJvdG90eXBlLm1vZG49ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubW9kcm4oZSl9LGEucHJvdG90eXBlLmlkaXZuPWZ1bmN0aW9uKGUpe3ZhciB0PWU8MDt0JiYoZT0tZSksaShlPD02NzEwODg2Myk7Zm9yKHZhciByPTAsbj10aGlzLmxlbmd0aC0xO24+PTA7bi0tKXt2YXIgbz0oMHx0aGlzLndvcmRzW25dKSs2NzEwODg2NCpyO3RoaXMud29yZHNbbl09by9lfDAscj1vJWV9cmV0dXJuIHRoaXMuX3N0cmlwKCksdD90aGlzLmluZWcoKTp0aGlzfSxhLnByb3RvdHlwZS5kaXZuPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmNsb25lKCkuaWRpdm4oZSl9LGEucHJvdG90eXBlLmVnY2Q9ZnVuY3Rpb24oZSl7aSgwPT09ZS5uZWdhdGl2ZSksaSghZS5pc1plcm8oKSk7dmFyIHQ9dGhpcyxyPWUuY2xvbmUoKTt0PTAhPT10Lm5lZ2F0aXZlP3QudW1vZChlKTp0LmNsb25lKCk7Zm9yKHZhciBuPW5ldyBhKDEpLG89bmV3IGEoMCkscz1uZXcgYSgwKSx1PW5ldyBhKDEpLGM9MDt0LmlzRXZlbigpJiZyLmlzRXZlbigpOyl0Lml1c2hybigxKSxyLml1c2hybigxKSwrK2M7Zm9yKHZhciBmPXIuY2xvbmUoKSxkPXQuY2xvbmUoKTshdC5pc1plcm8oKTspe2Zvcih2YXIgbD0wLGg9MTswPT0odC53b3Jkc1swXSZoKSYmbDwyNjsrK2wsaDw8PTEpO2lmKGw+MClmb3IodC5pdXNocm4obCk7bC0tID4wOykobi5pc09kZCgpfHxvLmlzT2RkKCkpJiYobi5pYWRkKGYpLG8uaXN1YihkKSksbi5pdXNocm4oMSksby5pdXNocm4oMSk7Zm9yKHZhciBwPTAsYj0xOzA9PShyLndvcmRzWzBdJmIpJiZwPDI2OysrcCxiPDw9MSk7aWYocD4wKWZvcihyLml1c2hybihwKTtwLS0gPjA7KShzLmlzT2RkKCl8fHUuaXNPZGQoKSkmJihzLmlhZGQoZiksdS5pc3ViKGQpKSxzLml1c2hybigxKSx1Lml1c2hybigxKTt0LmNtcChyKT49MD8odC5pc3ViKHIpLG4uaXN1YihzKSxvLmlzdWIodSkpOihyLmlzdWIodCkscy5pc3ViKG4pLHUuaXN1YihvKSl9cmV0dXJue2E6cyxiOnUsZ2NkOnIuaXVzaGxuKGMpfX0sYS5wcm90b3R5cGUuX2ludm1wPWZ1bmN0aW9uKGUpe2koMD09PWUubmVnYXRpdmUpLGkoIWUuaXNaZXJvKCkpO3ZhciB0PXRoaXMscj1lLmNsb25lKCk7dD0wIT09dC5uZWdhdGl2ZT90LnVtb2QoZSk6dC5jbG9uZSgpO2Zvcih2YXIgbixvPW5ldyBhKDEpLHM9bmV3IGEoMCksdT1yLmNsb25lKCk7dC5jbXBuKDEpPjAmJnIuY21wbigxKT4wOyl7Zm9yKHZhciBjPTAsZj0xOzA9PSh0LndvcmRzWzBdJmYpJiZjPDI2OysrYyxmPDw9MSk7aWYoYz4wKWZvcih0Lml1c2hybihjKTtjLS0gPjA7KW8uaXNPZGQoKSYmby5pYWRkKHUpLG8uaXVzaHJuKDEpO2Zvcih2YXIgZD0wLGw9MTswPT0oci53b3Jkc1swXSZsKSYmZDwyNjsrK2QsbDw8PTEpO2lmKGQ+MClmb3Ioci5pdXNocm4oZCk7ZC0tID4wOylzLmlzT2RkKCkmJnMuaWFkZCh1KSxzLml1c2hybigxKTt0LmNtcChyKT49MD8odC5pc3ViKHIpLG8uaXN1YihzKSk6KHIuaXN1Yih0KSxzLmlzdWIobykpfXJldHVybihuPTA9PT10LmNtcG4oMSk/bzpzKS5jbXBuKDApPDAmJm4uaWFkZChlKSxufSxhLnByb3RvdHlwZS5nY2Q9ZnVuY3Rpb24oZSl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gZS5hYnMoKTtpZihlLmlzWmVybygpKXJldHVybiB0aGlzLmFicygpO3ZhciB0PXRoaXMuY2xvbmUoKSxyPWUuY2xvbmUoKTt0Lm5lZ2F0aXZlPTAsci5uZWdhdGl2ZT0wO2Zvcih2YXIgbj0wO3QuaXNFdmVuKCkmJnIuaXNFdmVuKCk7bisrKXQuaXVzaHJuKDEpLHIuaXVzaHJuKDEpO2Zvcig7Oyl7Zm9yKDt0LmlzRXZlbigpOyl0Lml1c2hybigxKTtmb3IoO3IuaXNFdmVuKCk7KXIuaXVzaHJuKDEpO3ZhciBpPXQuY21wKHIpO2lmKGk8MCl7dmFyIG89dDt0PXIscj1vfWVsc2UgaWYoMD09PWl8fDA9PT1yLmNtcG4oMSkpYnJlYWs7dC5pc3ViKHIpfXJldHVybiByLml1c2hsbihuKX0sYS5wcm90b3R5cGUuaW52bT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lZ2NkKGUpLmEudW1vZChlKX0sYS5wcm90b3R5cGUuaXNFdmVuPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PSgxJnRoaXMud29yZHNbMF0pfSxhLnByb3RvdHlwZS5pc09kZD1mdW5jdGlvbigpe3JldHVybiAxPT0oMSZ0aGlzLndvcmRzWzBdKX0sYS5wcm90b3R5cGUuYW5kbG49ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMud29yZHNbMF0mZX0sYS5wcm90b3R5cGUuYmluY249ZnVuY3Rpb24oZSl7aSgibnVtYmVyIj09dHlwZW9mIGUpO3ZhciB0PWUlMjYscj0oZS10KS8yNixuPTE8PHQ7aWYodGhpcy5sZW5ndGg8PXIpcmV0dXJuIHRoaXMuX2V4cGFuZChyKzEpLHRoaXMud29yZHNbcl18PW4sdGhpcztmb3IodmFyIG89bixhPXI7MCE9PW8mJmE8dGhpcy5sZW5ndGg7YSsrKXt2YXIgcz0wfHRoaXMud29yZHNbYV07bz0ocys9byk+Pj4yNixzJj02NzEwODg2Myx0aGlzLndvcmRzW2FdPXN9cmV0dXJuIDAhPT1vJiYodGhpcy53b3Jkc1thXT1vLHRoaXMubGVuZ3RoKyspLHRoaXN9LGEucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdfSxhLnByb3RvdHlwZS5jbXBuPWZ1bmN0aW9uKGUpe3ZhciB0LHI9ZTwwO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYhcilyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmcilyZXR1cm4gMTtpZih0aGlzLl9zdHJpcCgpLHRoaXMubGVuZ3RoPjEpdD0xO2Vsc2V7ciYmKGU9LWUpLGkoZTw9NjcxMDg4NjMsIk51bWJlciBpcyB0b28gYmlnIik7dmFyIG49MHx0aGlzLndvcmRzWzBdO3Q9bj09PWU/MDpuPGU/LTE6MX1yZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/MHwtdDp0fSxhLnByb3RvdHlwZS5jbXA9ZnVuY3Rpb24oZSl7aWYoMCE9PXRoaXMubmVnYXRpdmUmJjA9PT1lLm5lZ2F0aXZlKXJldHVybi0xO2lmKDA9PT10aGlzLm5lZ2F0aXZlJiYwIT09ZS5uZWdhdGl2ZSlyZXR1cm4gMTt2YXIgdD10aGlzLnVjbXAoZSk7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlPzB8LXQ6dH0sYS5wcm90b3R5cGUudWNtcD1mdW5jdGlvbihlKXtpZih0aGlzLmxlbmd0aD5lLmxlbmd0aClyZXR1cm4gMTtpZih0aGlzLmxlbmd0aDxlLmxlbmd0aClyZXR1cm4tMTtmb3IodmFyIHQ9MCxyPXRoaXMubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBuPTB8dGhpcy53b3Jkc1tyXSxpPTB8ZS53b3Jkc1tyXTtpZihuIT09aSl7bjxpP3Q9LTE6bj5pJiYodD0xKTticmVha319cmV0dXJuIHR9LGEucHJvdG90eXBlLmd0bj1mdW5jdGlvbihlKXtyZXR1cm4gMT09PXRoaXMuY21wbihlKX0sYS5wcm90b3R5cGUuZ3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT10aGlzLmNtcChlKX0sYS5wcm90b3R5cGUuZ3Rlbj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jbXBuKGUpPj0wfSxhLnByb3RvdHlwZS5ndGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuY21wKGUpPj0wfSxhLnByb3RvdHlwZS5sdG49ZnVuY3Rpb24oZSl7cmV0dXJuLTE9PT10aGlzLmNtcG4oZSl9LGEucHJvdG90eXBlLmx0PWZ1bmN0aW9uKGUpe3JldHVybi0xPT09dGhpcy5jbXAoZSl9LGEucHJvdG90eXBlLmx0ZW49ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuY21wbihlKTw9MH0sYS5wcm90b3R5cGUubHRlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmNtcChlKTw9MH0sYS5wcm90b3R5cGUuZXFuPWZ1bmN0aW9uKGUpe3JldHVybiAwPT09dGhpcy5jbXBuKGUpfSxhLnByb3RvdHlwZS5lcT1mdW5jdGlvbihlKXtyZXR1cm4gMD09PXRoaXMuY21wKGUpfSxhLnJlZD1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IFAoZSl9LGEucHJvdG90eXBlLnRvUmVkPWZ1bmN0aW9uKGUpe3JldHVybiBpKCF0aGlzLnJlZCwiQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCIpLGkoMD09PXRoaXMubmVnYXRpdmUsInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIiksZS5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGUpfSxhLnByb3RvdHlwZS5mcm9tUmVkPWZ1bmN0aW9uKCl7cmV0dXJuIGkodGhpcy5yZWQsImZyb21SZWQgd29ya3Mgb25seSB3aXRoIG51bWJlcnMgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSx0aGlzLnJlZC5jb252ZXJ0RnJvbSh0aGlzKX0sYS5wcm90b3R5cGUuX2ZvcmNlUmVkPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlZD1lLHRoaXN9LGEucHJvdG90eXBlLmZvcmNlUmVkPWZ1bmN0aW9uKGUpe3JldHVybiBpKCF0aGlzLnJlZCwiQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCIpLHRoaXMuX2ZvcmNlUmVkKGUpfSxhLnByb3RvdHlwZS5yZWRBZGQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGkodGhpcy5yZWQsInJlZEFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5hZGQodGhpcyxlKX0sYS5wcm90b3R5cGUucmVkSUFkZD1mdW5jdGlvbihlKXtyZXR1cm4gaSh0aGlzLnJlZCwicmVkSUFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5pYWRkKHRoaXMsZSl9LGEucHJvdG90eXBlLnJlZFN1Yj1mdW5jdGlvbihlKXtyZXR1cm4gaSh0aGlzLnJlZCwicmVkU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLnN1Yih0aGlzLGUpfSxhLnByb3RvdHlwZS5yZWRJU3ViPWZ1bmN0aW9uKGUpe3JldHVybiBpKHRoaXMucmVkLCJyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmlzdWIodGhpcyxlKX0sYS5wcm90b3R5cGUucmVkU2hsPWZ1bmN0aW9uKGUpe3JldHVybiBpKHRoaXMucmVkLCJyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuc2hsKHRoaXMsZSl9LGEucHJvdG90eXBlLnJlZE11bD1mdW5jdGlvbihlKXtyZXR1cm4gaSh0aGlzLnJlZCwicmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsZSksdGhpcy5yZWQubXVsKHRoaXMsZSl9LGEucHJvdG90eXBlLnJlZElNdWw9ZnVuY3Rpb24oZSl7cmV0dXJuIGkodGhpcy5yZWQsInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLGUpLHRoaXMucmVkLmltdWwodGhpcyxlKX0sYS5wcm90b3R5cGUucmVkU3FyPWZ1bmN0aW9uKCl7cmV0dXJuIGkodGhpcy5yZWQsInJlZFNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5zcXIodGhpcyl9LGEucHJvdG90eXBlLnJlZElTcXI9ZnVuY3Rpb24oKXtyZXR1cm4gaSh0aGlzLnJlZCwicmVkSVNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5pc3FyKHRoaXMpfSxhLnByb3RvdHlwZS5yZWRTcXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIGkodGhpcy5yZWQsInJlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuc3FydCh0aGlzKX0sYS5wcm90b3R5cGUucmVkSW52bT1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMucmVkLCJyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLmludm0odGhpcyl9LGEucHJvdG90eXBlLnJlZE5lZz1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMucmVkLCJyZWROZWcgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQubmVnKHRoaXMpfSxhLnByb3RvdHlwZS5yZWRQb3c9ZnVuY3Rpb24oZSl7cmV0dXJuIGkodGhpcy5yZWQmJiFlLnJlZCwicmVkUG93KG5vcm1hbE51bSkiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5wb3codGhpcyxlKX07dmFyIEE9e2syNTY6bnVsbCxwMjI0Om51bGwscDE5MjpudWxsLHAyNTUxOTpudWxsfTtmdW5jdGlvbiBrKGUsdCl7dGhpcy5uYW1lPWUsdGhpcy5wPW5ldyBhKHQsMTYpLHRoaXMubj10aGlzLnAuYml0TGVuZ3RoKCksdGhpcy5rPW5ldyBhKDEpLml1c2hsbih0aGlzLm4pLmlzdWIodGhpcy5wKSx0aGlzLnRtcD10aGlzLl90bXAoKX1mdW5jdGlvbiBfKCl7ay5jYWxsKHRoaXMsImsyNTYiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZiIpfWZ1bmN0aW9uIFMoKXtrLmNhbGwodGhpcywicDIyNCIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxIil9ZnVuY3Rpb24geCgpe2suY2FsbCh0aGlzLCJwMTkyIiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYiKX1mdW5jdGlvbiBFKCl7ay5jYWxsKHRoaXMsIjI1NTE5IiwiN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCIpfWZ1bmN0aW9uIFAoZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXt2YXIgdD1hLl9wcmltZShlKTt0aGlzLm09dC5wLHRoaXMucHJpbWU9dH1lbHNlIGkoZS5ndG4oMSksIm1vZHVsdXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMSIpLHRoaXMubT1lLHRoaXMucHJpbWU9bnVsbH1mdW5jdGlvbiBPKGUpe1AuY2FsbCh0aGlzLGUpLHRoaXMuc2hpZnQ9dGhpcy5tLmJpdExlbmd0aCgpLHRoaXMuc2hpZnQlMjYhPTAmJih0aGlzLnNoaWZ0Kz0yNi10aGlzLnNoaWZ0JTI2KSx0aGlzLnI9bmV3IGEoMSkuaXVzaGxuKHRoaXMuc2hpZnQpLHRoaXMucjI9dGhpcy5pbW9kKHRoaXMuci5zcXIoKSksdGhpcy5yaW52PXRoaXMuci5faW52bXAodGhpcy5tKSx0aGlzLm1pbnY9dGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pLHRoaXMubWludj10aGlzLm1pbnYudW1vZCh0aGlzLnIpLHRoaXMubWludj10aGlzLnIuc3ViKHRoaXMubWludil9ay5wcm90b3R5cGUuX3RtcD1mdW5jdGlvbigpe3ZhciBlPW5ldyBhKG51bGwpO3JldHVybiBlLndvcmRzPW5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uLzEzKSksZX0say5wcm90b3R5cGUuaXJlZHVjZT1mdW5jdGlvbihlKXt2YXIgdCxyPWU7ZG97dGhpcy5zcGxpdChyLHRoaXMudG1wKSx0PShyPShyPXRoaXMuaW11bEsocikpLmlhZGQodGhpcy50bXApKS5iaXRMZW5ndGgoKX13aGlsZSh0PnRoaXMubik7dmFyIG49dDx0aGlzLm4/LTE6ci51Y21wKHRoaXMucCk7cmV0dXJuIDA9PT1uPyhyLndvcmRzWzBdPTAsci5sZW5ndGg9MSk6bj4wP3IuaXN1Yih0aGlzLnApOnZvaWQgMCE9PXIuc3RyaXA/ci5zdHJpcCgpOnIuX3N0cmlwKCkscn0say5wcm90b3R5cGUuc3BsaXQ9ZnVuY3Rpb24oZSx0KXtlLml1c2hybih0aGlzLm4sMCx0KX0say5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaW11bCh0aGlzLmspfSxvKF8sayksXy5wcm90b3R5cGUuc3BsaXQ9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9NDE5NDMwMyxuPU1hdGgubWluKGUubGVuZ3RoLDkpLGk9MDtpPG47aSsrKXQud29yZHNbaV09ZS53b3Jkc1tpXTtpZih0Lmxlbmd0aD1uLGUubGVuZ3RoPD05KXJldHVybiBlLndvcmRzWzBdPTAsdm9pZChlLmxlbmd0aD0xKTt2YXIgbz1lLndvcmRzWzldO2Zvcih0LndvcmRzW3QubGVuZ3RoKytdPW8mcixpPTEwO2k8ZS5sZW5ndGg7aSsrKXt2YXIgYT0wfGUud29yZHNbaV07ZS53b3Jkc1tpLTEwXT0oYSZyKTw8NHxvPj4+MjIsbz1hfW8+Pj49MjIsZS53b3Jkc1tpLTEwXT1vLDA9PT1vJiZlLmxlbmd0aD4xMD9lLmxlbmd0aC09MTA6ZS5sZW5ndGgtPTl9LF8ucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKGUpe2Uud29yZHNbZS5sZW5ndGhdPTAsZS53b3Jkc1tlLmxlbmd0aCsxXT0wLGUubGVuZ3RoKz0yO2Zvcih2YXIgdD0wLHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIG49MHxlLndvcmRzW3JdO3QrPTk3NypuLGUud29yZHNbcl09NjcxMDg4NjMmdCx0PTY0Km4rKHQvNjcxMDg4NjR8MCl9cmV0dXJuIDA9PT1lLndvcmRzW2UubGVuZ3RoLTFdJiYoZS5sZW5ndGgtLSwwPT09ZS53b3Jkc1tlLmxlbmd0aC0xXSYmZS5sZW5ndGgtLSksZX0sbyhTLGspLG8oeCxrKSxvKEUsayksRS5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTAscj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj0xOSooMHxlLndvcmRzW3JdKSt0LGk9NjcxMDg4NjMmbjtuPj4+PTI2LGUud29yZHNbcl09aSx0PW59cmV0dXJuIDAhPT10JiYoZS53b3Jkc1tlLmxlbmd0aCsrXT10KSxlfSxhLl9wcmltZT1mdW5jdGlvbihlKXtpZihBW2VdKXJldHVybiBBW2VdO3ZhciB0O2lmKCJrMjU2Ij09PWUpdD1uZXcgXztlbHNlIGlmKCJwMjI0Ij09PWUpdD1uZXcgUztlbHNlIGlmKCJwMTkyIj09PWUpdD1uZXcgeDtlbHNle2lmKCJwMjU1MTkiIT09ZSl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcHJpbWUgIitlKTt0PW5ldyBFfXJldHVybiBBW2VdPXQsdH0sUC5wcm90b3R5cGUuX3ZlcmlmeTE9ZnVuY3Rpb24oZSl7aSgwPT09ZS5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxpKGUucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LFAucHJvdG90eXBlLl92ZXJpZnkyPWZ1bmN0aW9uKGUsdCl7aSgwPT0oZS5uZWdhdGl2ZXx0Lm5lZ2F0aXZlKSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxpKGUucmVkJiZlLnJlZD09PXQucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LFAucHJvdG90eXBlLmltb2Q9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHJpbWU/dGhpcy5wcmltZS5pcmVkdWNlKGUpLl9mb3JjZVJlZCh0aGlzKTooZChlLGUudW1vZCh0aGlzLm0pLl9mb3JjZVJlZCh0aGlzKSksZSl9LFAucHJvdG90eXBlLm5lZz1mdW5jdGlvbihlKXtyZXR1cm4gZS5pc1plcm8oKT9lLmNsb25lKCk6dGhpcy5tLnN1YihlKS5fZm9yY2VSZWQodGhpcyl9LFAucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlLHQpe3RoaXMuX3ZlcmlmeTIoZSx0KTt2YXIgcj1lLmFkZCh0KTtyZXR1cm4gci5jbXAodGhpcy5tKT49MCYmci5pc3ViKHRoaXMubSksci5fZm9yY2VSZWQodGhpcyl9LFAucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24oZSx0KXt0aGlzLl92ZXJpZnkyKGUsdCk7dmFyIHI9ZS5pYWRkKHQpO3JldHVybiByLmNtcCh0aGlzLm0pPj0wJiZyLmlzdWIodGhpcy5tKSxyfSxQLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24oZSx0KXt0aGlzLl92ZXJpZnkyKGUsdCk7dmFyIHI9ZS5zdWIodCk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyLl9mb3JjZVJlZCh0aGlzKX0sUC5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbihlLHQpe3RoaXMuX3ZlcmlmeTIoZSx0KTt2YXIgcj1lLmlzdWIodCk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyfSxQLnByb3RvdHlwZS5zaGw9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fdmVyaWZ5MShlKSx0aGlzLmltb2QoZS51c2hsbih0KSl9LFAucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fdmVyaWZ5MihlLHQpLHRoaXMuaW1vZChlLmltdWwodCkpfSxQLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fdmVyaWZ5MihlLHQpLHRoaXMuaW1vZChlLm11bCh0KSl9LFAucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaW11bChlLGUuY2xvbmUoKSl9LFAucHJvdG90eXBlLnNxcj1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5tdWwoZSxlKX0sUC5wcm90b3R5cGUuc3FydD1mdW5jdGlvbihlKXtpZihlLmlzWmVybygpKXJldHVybiBlLmNsb25lKCk7dmFyIHQ9dGhpcy5tLmFuZGxuKDMpO2lmKGkodCUyPT0xKSwzPT09dCl7dmFyIHI9dGhpcy5tLmFkZChuZXcgYSgxKSkuaXVzaHJuKDIpO3JldHVybiB0aGlzLnBvdyhlLHIpfWZvcih2YXIgbj10aGlzLm0uc3VibigxKSxvPTA7IW4uaXNaZXJvKCkmJjA9PT1uLmFuZGxuKDEpOylvKyssbi5pdXNocm4oMSk7aSghbi5pc1plcm8oKSk7dmFyIHM9bmV3IGEoMSkudG9SZWQodGhpcyksdT1zLnJlZE5lZygpLGM9dGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpLGY9dGhpcy5tLmJpdExlbmd0aCgpO2ZvcihmPW5ldyBhKDIqZipmKS50b1JlZCh0aGlzKTswIT09dGhpcy5wb3coZixjKS5jbXAodSk7KWYucmVkSUFkZCh1KTtmb3IodmFyIGQ9dGhpcy5wb3coZixuKSxsPXRoaXMucG93KGUsbi5hZGRuKDEpLml1c2hybigxKSksaD10aGlzLnBvdyhlLG4pLHA9bzswIT09aC5jbXAocyk7KXtmb3IodmFyIGI9aCx5PTA7MCE9PWIuY21wKHMpO3krKyliPWIucmVkU3FyKCk7aSh5PHApO3ZhciBtPXRoaXMucG93KGQsbmV3IGEoMSkuaXVzaGxuKHAteS0xKSk7bD1sLnJlZE11bChtKSxkPW0ucmVkU3FyKCksaD1oLnJlZE11bChkKSxwPXl9cmV0dXJuIGx9LFAucHJvdG90eXBlLmludm09ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5faW52bXAodGhpcy5tKTtyZXR1cm4gMCE9PXQubmVnYXRpdmU/KHQubmVnYXRpdmU9MCx0aGlzLmltb2QodCkucmVkTmVnKCkpOnRoaXMuaW1vZCh0KX0sUC5wcm90b3R5cGUucG93PWZ1bmN0aW9uKGUsdCl7aWYodC5pc1plcm8oKSlyZXR1cm4gbmV3IGEoMSkudG9SZWQodGhpcyk7aWYoMD09PXQuY21wbigxKSlyZXR1cm4gZS5jbG9uZSgpO3ZhciByPW5ldyBBcnJheSgxNik7clswXT1uZXcgYSgxKS50b1JlZCh0aGlzKSxyWzFdPWU7Zm9yKHZhciBuPTI7bjxyLmxlbmd0aDtuKyspcltuXT10aGlzLm11bChyW24tMV0sZSk7dmFyIGk9clswXSxvPTAscz0wLHU9dC5iaXRMZW5ndGgoKSUyNjtmb3IoMD09PXUmJih1PTI2KSxuPXQubGVuZ3RoLTE7bj49MDtuLS0pe2Zvcih2YXIgYz10LndvcmRzW25dLGY9dS0xO2Y+PTA7Zi0tKXt2YXIgZD1jPj5mJjE7aSE9PXJbMF0mJihpPXRoaXMuc3FyKGkpKSwwIT09ZHx8MCE9PW8/KG88PD0xLG98PWQsKDQ9PSsrc3x8MD09PW4mJjA9PT1mKSYmKGk9dGhpcy5tdWwoaSxyW29dKSxzPTAsbz0wKSk6cz0wfXU9MjZ9cmV0dXJuIGl9LFAucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbihlKXt2YXIgdD1lLnVtb2QodGhpcy5tKTtyZXR1cm4gdD09PWU/dC5jbG9uZSgpOnR9LFAucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2xvbmUoKTtyZXR1cm4gdC5yZWQ9bnVsbCx0fSxhLm1vbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBPKGUpfSxvKE8sUCksTy5wcm90b3R5cGUuY29udmVydFRvPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmltb2QoZS51c2hsbih0aGlzLnNoaWZ0KSl9LE8ucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuaW1vZChlLm11bCh0aGlzLnJpbnYpKTtyZXR1cm4gdC5yZWQ9bnVsbCx0fSxPLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKGUsdCl7aWYoZS5pc1plcm8oKXx8dC5pc1plcm8oKSlyZXR1cm4gZS53b3Jkc1swXT0wLGUubGVuZ3RoPTEsZTt2YXIgcj1lLmltdWwodCksbj1yLm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKSxpPXIuaXN1YihuKS5pdXNocm4odGhpcy5zaGlmdCksbz1pO3JldHVybiBpLmNtcCh0aGlzLm0pPj0wP289aS5pc3ViKHRoaXMubSk6aS5jbXBuKDApPDAmJihvPWkuaWFkZCh0aGlzLm0pKSxvLl9mb3JjZVJlZCh0aGlzKX0sTy5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKGUsdCl7aWYoZS5pc1plcm8oKXx8dC5pc1plcm8oKSlyZXR1cm4gbmV3IGEoMCkuX2ZvcmNlUmVkKHRoaXMpO3ZhciByPWUubXVsKHQpLG49ci5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSksaT1yLmlzdWIobikuaXVzaHJuKHRoaXMuc2hpZnQpLG89aTtyZXR1cm4gaS5jbXAodGhpcy5tKT49MD9vPWkuaXN1Yih0aGlzLm0pOmkuY21wbigwKTwwJiYobz1pLmlhZGQodGhpcy5tKSksby5fZm9yY2VSZWQodGhpcyl9LE8ucHJvdG90eXBlLmludm09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaW1vZChlLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSkuX2ZvcmNlUmVkKHRoaXMpfX0oZSl9LDIyMDI6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbixpPXIoODg0NykocigzMzU1KSk7ZnVuY3Rpb24gbyhlKXt0aGlzLnJhbmQ9ZX1pZihlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIG58fChuPW5ldyBvKG51bGwpKSxuLmdlbmVyYXRlKGUpfSxlLmV4cG9ydHMuUmFuZD1vLG8ucHJvdG90eXBlLmdlbmVyYXRlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9yYW5kKGUpfSxvLnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbihlKXtpZih0aGlzLnJhbmQuZ2V0Qnl0ZXMpcmV0dXJuIHRoaXMucmFuZC5nZXRCeXRlcyhlKTtmb3IodmFyIHQ9bmV3IFVpbnQ4QXJyYXkoZSkscj0wO3I8dC5sZW5ndGg7cisrKXRbcl09dGhpcy5yYW5kLmdldEJ5dGUoKTtyZXR1cm4gdH0sIm9iamVjdCI9PT0oInVuZGVmaW5lZCI9PXR5cGVvZiBzZWxmPyJ1bmRlZmluZWQiOigwLGkuZGVmYXVsdCkoc2VsZikpKXNlbGYuY3J5cHRvJiZzZWxmLmNyeXB0by5nZXRSYW5kb21WYWx1ZXM/by5wcm90b3R5cGUuX3JhbmQ9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IFVpbnQ4QXJyYXkoZSk7cmV0dXJuIHNlbGYuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyh0KSx0fTpzZWxmLm1zQ3J5cHRvJiZzZWxmLm1zQ3J5cHRvLmdldFJhbmRvbVZhbHVlcz9vLnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbihlKXt2YXIgdD1uZXcgVWludDhBcnJheShlKTtyZXR1cm4gc2VsZi5tc0NyeXB0by5nZXRSYW5kb21WYWx1ZXModCksdH06Im9iamVjdCI9PT0oInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/InVuZGVmaW5lZCI6KDAsaS5kZWZhdWx0KSh3aW5kb3cpKSYmKG8ucHJvdG90eXBlLl9yYW5kPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQgeWV0Iil9KTtlbHNlIHRyeXt2YXIgYT1yKDkyMTQpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBhLnJhbmRvbUJ5dGVzKXRocm93IG5ldyBFcnJvcigiTm90IHN1cHBvcnRlZCIpO28ucHJvdG90eXBlLl9yYW5kPWZ1bmN0aW9uKGUpe3JldHVybiBhLnJhbmRvbUJ5dGVzKGUpfX1jYXRjaChlKXt9fSw3NDk0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODUwKS5CdWZmZXI7ZnVuY3Rpb24gaShlKXtuLmlzQnVmZmVyKGUpfHwoZT1uLmZyb20oZSkpO2Zvcih2YXIgdD1lLmxlbmd0aC80fDAscj1uZXcgQXJyYXkodCksaT0wO2k8dDtpKyspcltpXT1lLnJlYWRVSW50MzJCRSg0KmkpO3JldHVybiByfWZ1bmN0aW9uIG8oZSl7Zm9yKDswPGUubGVuZ3RoO2UrKyllWzBdPTB9ZnVuY3Rpb24gYShlLHQscixuLGkpe2Zvcih2YXIgbyxhLHMsdSxjPXJbMF0sZj1yWzFdLGQ9clsyXSxsPXJbM10saD1lWzBdXnRbMF0scD1lWzFdXnRbMV0sYj1lWzJdXnRbMl0seT1lWzNdXnRbM10sbT00LHY9MTt2PGk7disrKW89Y1toPj4+MjRdXmZbcD4+PjE2JjI1NV1eZFtiPj4+OCYyNTVdXmxbMjU1JnldXnRbbSsrXSxhPWNbcD4+PjI0XV5mW2I+Pj4xNiYyNTVdXmRbeT4+PjgmMjU1XV5sWzI1NSZoXV50W20rK10scz1jW2I+Pj4yNF1eZlt5Pj4+MTYmMjU1XV5kW2g+Pj44JjI1NV1ebFsyNTUmcF1edFttKytdLHU9Y1t5Pj4+MjRdXmZbaD4+PjE2JjI1NV1eZFtwPj4+OCYyNTVdXmxbMjU1JmJdXnRbbSsrXSxoPW8scD1hLGI9cyx5PXU7cmV0dXJuIG89KG5baD4+PjI0XTw8MjR8bltwPj4+MTYmMjU1XTw8MTZ8bltiPj4+OCYyNTVdPDw4fG5bMjU1JnldKV50W20rK10sYT0obltwPj4+MjRdPDwyNHxuW2I+Pj4xNiYyNTVdPDwxNnxuW3k+Pj44JjI1NV08PDh8blsyNTUmaF0pXnRbbSsrXSxzPShuW2I+Pj4yNF08PDI0fG5beT4+PjE2JjI1NV08PDE2fG5baD4+PjgmMjU1XTw8OHxuWzI1NSZwXSledFttKytdLHU9KG5beT4+PjI0XTw8MjR8bltoPj4+MTYmMjU1XTw8MTZ8bltwPj4+OCYyNTVdPDw4fG5bMjU1JmJdKV50W20rK10sW28+Pj49MCxhPj4+PTAscz4+Pj0wLHU+Pj49MF19dmFyIHM9WzAsMSwyLDQsOCwxNiwzMiw2NCwxMjgsMjcsNTRdLHU9ZnVuY3Rpb24oKXtmb3IodmFyIGU9bmV3IEFycmF5KDI1NiksdD0wO3Q8MjU2O3QrKyllW3RdPXQ8MTI4P3Q8PDE6dDw8MV4yODM7Zm9yKHZhciByPVtdLG49W10saT1bW10sW10sW10sW11dLG89W1tdLFtdLFtdLFtdXSxhPTAscz0wLHU9MDt1PDI1NjsrK3Upe3ZhciBjPXNeczw8MV5zPDwyXnM8PDNeczw8NDtjPWM+Pj44XjI1NSZjXjk5LHJbYV09YyxuW2NdPWE7dmFyIGY9ZVthXSxkPWVbZl0sbD1lW2RdLGg9MjU3KmVbY11eMTY4NDMwMDgqYztpWzBdW2FdPWg8PDI0fGg+Pj44LGlbMV1bYV09aDw8MTZ8aD4+PjE2LGlbMl1bYV09aDw8OHxoPj4+MjQsaVszXVthXT1oLGg9MTY4NDMwMDkqbF42NTUzNypkXjI1NypmXjE2ODQzMDA4KmEsb1swXVtjXT1oPDwyNHxoPj4+OCxvWzFdW2NdPWg8PDE2fGg+Pj4xNixvWzJdW2NdPWg8PDh8aD4+PjI0LG9bM11bY109aCwwPT09YT9hPXM9MTooYT1mXmVbZVtlW2xeZl1dXSxzXj1lW2Vbc11dKX1yZXR1cm57U0JPWDpyLElOVl9TQk9YOm4sU1VCX01JWDppLElOVl9TVUJfTUlYOm99fSgpO2Z1bmN0aW9uIGMoZSl7dGhpcy5fa2V5PWkoZSksdGhpcy5fcmVzZXQoKX1jLmJsb2NrU2l6ZT0xNixjLmtleVNpemU9MzIsYy5wcm90b3R5cGUuYmxvY2tTaXplPWMuYmxvY2tTaXplLGMucHJvdG90eXBlLmtleVNpemU9Yy5rZXlTaXplLGMucHJvdG90eXBlLl9yZXNldD1mdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLl9rZXksdD1lLmxlbmd0aCxyPXQrNixuPTQqKHIrMSksaT1bXSxvPTA7bzx0O28rKylpW29dPWVbb107Zm9yKG89dDtvPG47bysrKXt2YXIgYT1pW28tMV07byV0PT0wPyhhPWE8PDh8YT4+PjI0LGE9dS5TQk9YW2E+Pj4yNF08PDI0fHUuU0JPWFthPj4+MTYmMjU1XTw8MTZ8dS5TQk9YW2E+Pj44JjI1NV08PDh8dS5TQk9YWzI1NSZhXSxhXj1zW28vdHwwXTw8MjQpOnQ+NiYmbyV0PT00JiYoYT11LlNCT1hbYT4+PjI0XTw8MjR8dS5TQk9YW2E+Pj4xNiYyNTVdPDwxNnx1LlNCT1hbYT4+PjgmMjU1XTw8OHx1LlNCT1hbMjU1JmFdKSxpW29dPWlbby10XV5hfWZvcih2YXIgYz1bXSxmPTA7ZjxuO2YrKyl7dmFyIGQ9bi1mLGw9aVtkLShmJTQ/MDo0KV07Y1tmXT1mPDR8fGQ8PTQ/bDp1LklOVl9TVUJfTUlYWzBdW3UuU0JPWFtsPj4+MjRdXV51LklOVl9TVUJfTUlYWzFdW3UuU0JPWFtsPj4+MTYmMjU1XV1edS5JTlZfU1VCX01JWFsyXVt1LlNCT1hbbD4+PjgmMjU1XV1edS5JTlZfU1VCX01JWFszXVt1LlNCT1hbMjU1JmxdXX10aGlzLl9uUm91bmRzPXIsdGhpcy5fa2V5U2NoZWR1bGU9aSx0aGlzLl9pbnZLZXlTY2hlZHVsZT1jfSxjLnByb3RvdHlwZS5lbmNyeXB0QmxvY2tSYXc9ZnVuY3Rpb24oZSl7cmV0dXJuIGEoZT1pKGUpLHRoaXMuX2tleVNjaGVkdWxlLHUuU1VCX01JWCx1LlNCT1gsdGhpcy5fblJvdW5kcyl9LGMucHJvdG90eXBlLmVuY3J5cHRCbG9jaz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLmVuY3J5cHRCbG9ja1JhdyhlKSxyPW4uYWxsb2NVbnNhZmUoMTYpO3JldHVybiByLndyaXRlVUludDMyQkUodFswXSwwKSxyLndyaXRlVUludDMyQkUodFsxXSw0KSxyLndyaXRlVUludDMyQkUodFsyXSw4KSxyLndyaXRlVUludDMyQkUodFszXSwxMikscn0sYy5wcm90b3R5cGUuZGVjcnlwdEJsb2NrPWZ1bmN0aW9uKGUpe3ZhciB0PShlPWkoZSkpWzFdO2VbMV09ZVszXSxlWzNdPXQ7dmFyIHI9YShlLHRoaXMuX2ludktleVNjaGVkdWxlLHUuSU5WX1NVQl9NSVgsdS5JTlZfU0JPWCx0aGlzLl9uUm91bmRzKSxvPW4uYWxsb2NVbnNhZmUoMTYpO3JldHVybiBvLndyaXRlVUludDMyQkUoclswXSwwKSxvLndyaXRlVUludDMyQkUoclszXSw0KSxvLndyaXRlVUludDMyQkUoclsyXSw4KSxvLndyaXRlVUludDMyQkUoclsxXSwxMiksb30sYy5wcm90b3R5cGUuc2NydWI9ZnVuY3Rpb24oKXtvKHRoaXMuX2tleVNjaGVkdWxlKSxvKHRoaXMuX2ludktleVNjaGVkdWxlKSxvKHRoaXMuX2tleSl9LGUuZXhwb3J0cy5BRVM9Y30sNDI2OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig3NDk0KSxpPXIoODg1MCkuQnVmZmVyLG89cigzMDEzKSxhPXIoMTczNikscz1yKDY2MjYpLHU9cig2MzE2KSxjPXIoNzU1Nyk7ZnVuY3Rpb24gZihlLHQscixhKXtvLmNhbGwodGhpcyk7dmFyIHU9aS5hbGxvYyg0LDApO3RoaXMuX2NpcGhlcj1uZXcgbi5BRVModCk7dmFyIGY9dGhpcy5fY2lwaGVyLmVuY3J5cHRCbG9jayh1KTt0aGlzLl9naGFzaD1uZXcgcyhmKSxyPWZ1bmN0aW9uKGUsdCxyKXtpZigxMj09PXQubGVuZ3RoKXJldHVybiBlLl9maW5JRD1pLmNvbmNhdChbdCxpLmZyb20oWzAsMCwwLDFdKV0pLGkuY29uY2F0KFt0LGkuZnJvbShbMCwwLDAsMl0pXSk7dmFyIG49bmV3IHMociksbz10Lmxlbmd0aCxhPW8lMTY7bi51cGRhdGUodCksYSYmKGE9MTYtYSxuLnVwZGF0ZShpLmFsbG9jKGEsMCkpKSxuLnVwZGF0ZShpLmFsbG9jKDgsMCkpO3ZhciB1PTgqbyxmPWkuYWxsb2MoOCk7Zi53cml0ZVVJbnRCRSh1LDAsOCksbi51cGRhdGUoZiksZS5fZmluSUQ9bi5zdGF0ZTt2YXIgZD1pLmZyb20oZS5fZmluSUQpO3JldHVybiBjKGQpLGR9KHRoaXMscixmKSx0aGlzLl9wcmV2PWkuZnJvbShyKSx0aGlzLl9jYWNoZT1pLmFsbG9jVW5zYWZlKDApLHRoaXMuX3NlY0NhY2hlPWkuYWxsb2NVbnNhZmUoMCksdGhpcy5fZGVjcnlwdD1hLHRoaXMuX2FsZW49MCx0aGlzLl9sZW49MCx0aGlzLl9tb2RlPWUsdGhpcy5fYXV0aFRhZz1udWxsLHRoaXMuX2NhbGxlZD0hMX1hKGYsbyksZi5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihlKXtpZighdGhpcy5fY2FsbGVkJiZ0aGlzLl9hbGVuKXt2YXIgdD0xNi10aGlzLl9hbGVuJTE2O3Q8MTYmJih0PWkuYWxsb2ModCwwKSx0aGlzLl9naGFzaC51cGRhdGUodCkpfXRoaXMuX2NhbGxlZD0hMDt2YXIgcj10aGlzLl9tb2RlLmVuY3J5cHQodGhpcyxlKTtyZXR1cm4gdGhpcy5fZGVjcnlwdD90aGlzLl9naGFzaC51cGRhdGUoZSk6dGhpcy5fZ2hhc2gudXBkYXRlKHIpLHRoaXMuX2xlbis9ZS5sZW5ndGgscn0sZi5wcm90b3R5cGUuX2ZpbmFsPWZ1bmN0aW9uKCl7aWYodGhpcy5fZGVjcnlwdCYmIXRoaXMuX2F1dGhUYWcpdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBzdGF0ZSBvciB1bmFibGUgdG8gYXV0aGVudGljYXRlIGRhdGEiKTt2YXIgZT11KHRoaXMuX2doYXNoLmZpbmFsKDgqdGhpcy5fYWxlbiw4KnRoaXMuX2xlbiksdGhpcy5fY2lwaGVyLmVuY3J5cHRCbG9jayh0aGlzLl9maW5JRCkpO2lmKHRoaXMuX2RlY3J5cHQmJmZ1bmN0aW9uKGUsdCl7dmFyIHI9MDtlLmxlbmd0aCE9PXQubGVuZ3RoJiZyKys7Zm9yKHZhciBuPU1hdGgubWluKGUubGVuZ3RoLHQubGVuZ3RoKSxpPTA7aTxuOysraSlyKz1lW2ldXnRbaV07cmV0dXJuIHJ9KGUsdGhpcy5fYXV0aFRhZykpdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBzdGF0ZSBvciB1bmFibGUgdG8gYXV0aGVudGljYXRlIGRhdGEiKTt0aGlzLl9hdXRoVGFnPWUsdGhpcy5fY2lwaGVyLnNjcnViKCl9LGYucHJvdG90eXBlLmdldEF1dGhUYWc9ZnVuY3Rpb24oKXtpZih0aGlzLl9kZWNyeXB0fHwhaS5pc0J1ZmZlcih0aGlzLl9hdXRoVGFnKSl0aHJvdyBuZXcgRXJyb3IoIkF0dGVtcHRpbmcgdG8gZ2V0IGF1dGggdGFnIGluIHVuc3VwcG9ydGVkIHN0YXRlIik7cmV0dXJuIHRoaXMuX2F1dGhUYWd9LGYucHJvdG90eXBlLnNldEF1dGhUYWc9ZnVuY3Rpb24oZSl7aWYoIXRoaXMuX2RlY3J5cHQpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0aW5nIHRvIHNldCBhdXRoIHRhZyBpbiB1bnN1cHBvcnRlZCBzdGF0ZSIpO3RoaXMuX2F1dGhUYWc9ZX0sZi5wcm90b3R5cGUuc2V0QUFEPWZ1bmN0aW9uKGUpe2lmKHRoaXMuX2NhbGxlZCl0aHJvdyBuZXcgRXJyb3IoIkF0dGVtcHRpbmcgdG8gc2V0IEFBRCBpbiB1bnN1cHBvcnRlZCBzdGF0ZSIpO3RoaXMuX2doYXNoLnVwZGF0ZShlKSx0aGlzLl9hbGVuKz1lLmxlbmd0aH0sZS5leHBvcnRzPWZ9LDgwNzM6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDU0NzgpLGk9cigyMTg0KSxvPXIoNDk0Nik7dC5jcmVhdGVDaXBoZXI9dC5DaXBoZXI9bi5jcmVhdGVDaXBoZXIsdC5jcmVhdGVDaXBoZXJpdj10LkNpcGhlcml2PW4uY3JlYXRlQ2lwaGVyaXYsdC5jcmVhdGVEZWNpcGhlcj10LkRlY2lwaGVyPWkuY3JlYXRlRGVjaXBoZXIsdC5jcmVhdGVEZWNpcGhlcml2PXQuRGVjaXBoZXJpdj1pLmNyZWF0ZURlY2lwaGVyaXYsdC5saXN0Q2lwaGVycz10LmdldENpcGhlcnM9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmtleXMobyl9fSwyMTg0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig0MjYpLGk9cig4ODUwKS5CdWZmZXIsbz1yKDg0MDgpLGE9cigxNDA4KSxzPXIoMzAxMyksdT1yKDc0OTQpLGM9cig3MDg1KTtmdW5jdGlvbiBmKGUsdCxyKXtzLmNhbGwodGhpcyksdGhpcy5fY2FjaGU9bmV3IGQsdGhpcy5fbGFzdD12b2lkIDAsdGhpcy5fY2lwaGVyPW5ldyB1LkFFUyh0KSx0aGlzLl9wcmV2PWkuZnJvbShyKSx0aGlzLl9tb2RlPWUsdGhpcy5fYXV0b3BhZGRpbmc9ITB9ZnVuY3Rpb24gZCgpe3RoaXMuY2FjaGU9aS5hbGxvY1Vuc2FmZSgwKX1mdW5jdGlvbiBsKGUsdCxyKXt2YXIgcz1vW2UudG9Mb3dlckNhc2UoKV07aWYoIXMpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBzdWl0ZSB0eXBlIik7aWYoInN0cmluZyI9PXR5cGVvZiByJiYocj1pLmZyb20ocikpLCJHQ00iIT09cy5tb2RlJiZyLmxlbmd0aCE9PXMuaXYpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBpdiBsZW5ndGggIityLmxlbmd0aCk7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYodD1pLmZyb20odCkpLHQubGVuZ3RoIT09cy5rZXkvOCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGtleSBsZW5ndGggIit0Lmxlbmd0aCk7cmV0dXJuInN0cmVhbSI9PT1zLnR5cGU/bmV3IGEocy5tb2R1bGUsdCxyLCEwKToiYXV0aCI9PT1zLnR5cGU/bmV3IG4ocy5tb2R1bGUsdCxyLCEwKTpuZXcgZihzLm1vZHVsZSx0LHIpfXIoMTczNikoZixzKSxmLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe3ZhciB0LHI7dGhpcy5fY2FjaGUuYWRkKGUpO2Zvcih2YXIgbj1bXTt0PXRoaXMuX2NhY2hlLmdldCh0aGlzLl9hdXRvcGFkZGluZyk7KXI9dGhpcy5fbW9kZS5kZWNyeXB0KHRoaXMsdCksbi5wdXNoKHIpO3JldHVybiBpLmNvbmNhdChuKX0sZi5wcm90b3R5cGUuX2ZpbmFsPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fY2FjaGUuZmx1c2goKTtpZih0aGlzLl9hdXRvcGFkZGluZylyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9ZVsxNV07aWYodDwxfHx0PjE2KXRocm93IG5ldyBFcnJvcigidW5hYmxlIHRvIGRlY3J5cHQgZGF0YSIpO2Zvcih2YXIgcj0tMTsrK3I8dDspaWYoZVtyKygxNi10KV0hPT10KXRocm93IG5ldyBFcnJvcigidW5hYmxlIHRvIGRlY3J5cHQgZGF0YSIpO2lmKDE2IT09dClyZXR1cm4gZS5zbGljZSgwLDE2LXQpfSh0aGlzLl9tb2RlLmRlY3J5cHQodGhpcyxlKSk7aWYoZSl0aHJvdyBuZXcgRXJyb3IoImRhdGEgbm90IG11bHRpcGxlIG9mIGJsb2NrIGxlbmd0aCIpfSxmLnByb3RvdHlwZS5zZXRBdXRvUGFkZGluZz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYXV0b3BhZGRpbmc9ISFlLHRoaXN9LGQucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlKXt0aGlzLmNhY2hlPWkuY29uY2F0KFt0aGlzLmNhY2hlLGVdKX0sZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpe2lmKHRoaXMuY2FjaGUubGVuZ3RoPjE2KXJldHVybiB0PXRoaXMuY2FjaGUuc2xpY2UoMCwxNiksdGhpcy5jYWNoZT10aGlzLmNhY2hlLnNsaWNlKDE2KSx0fWVsc2UgaWYodGhpcy5jYWNoZS5sZW5ndGg+PTE2KXJldHVybiB0PXRoaXMuY2FjaGUuc2xpY2UoMCwxNiksdGhpcy5jYWNoZT10aGlzLmNhY2hlLnNsaWNlKDE2KSx0O3JldHVybiBudWxsfSxkLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe2lmKHRoaXMuY2FjaGUubGVuZ3RoKXJldHVybiB0aGlzLmNhY2hlfSx0LmNyZWF0ZURlY2lwaGVyPWZ1bmN0aW9uKGUsdCl7dmFyIHI9b1tlLnRvTG93ZXJDYXNlKCldO2lmKCFyKXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgc3VpdGUgdHlwZSIpO3ZhciBuPWModCwhMSxyLmtleSxyLml2KTtyZXR1cm4gbChlLG4ua2V5LG4uaXYpfSx0LmNyZWF0ZURlY2lwaGVyaXY9bH0sNTQ3ODooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODQwOCksaT1yKDQyNiksbz1yKDg4NTApLkJ1ZmZlcixhPXIoMTQwOCkscz1yKDMwMTMpLHU9cig3NDk0KSxjPXIoNzA4NSk7ZnVuY3Rpb24gZihlLHQscil7cy5jYWxsKHRoaXMpLHRoaXMuX2NhY2hlPW5ldyBsLHRoaXMuX2NpcGhlcj1uZXcgdS5BRVModCksdGhpcy5fcHJldj1vLmZyb20ociksdGhpcy5fbW9kZT1lLHRoaXMuX2F1dG9wYWRkaW5nPSEwfXIoMTczNikoZixzKSxmLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe3ZhciB0LHI7dGhpcy5fY2FjaGUuYWRkKGUpO2Zvcih2YXIgbj1bXTt0PXRoaXMuX2NhY2hlLmdldCgpOylyPXRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLHQpLG4ucHVzaChyKTtyZXR1cm4gby5jb25jYXQobil9O3ZhciBkPW8uYWxsb2MoMTYsMTYpO2Z1bmN0aW9uIGwoKXt0aGlzLmNhY2hlPW8uYWxsb2NVbnNhZmUoMCl9ZnVuY3Rpb24gaChlLHQscil7dmFyIHM9bltlLnRvTG93ZXJDYXNlKCldO2lmKCFzKXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgc3VpdGUgdHlwZSIpO2lmKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9by5mcm9tKHQpKSx0Lmxlbmd0aCE9PXMua2V5LzgpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBrZXkgbGVuZ3RoICIrdC5sZW5ndGgpO2lmKCJzdHJpbmciPT10eXBlb2YgciYmKHI9by5mcm9tKHIpKSwiR0NNIiE9PXMubW9kZSYmci5sZW5ndGghPT1zLml2KXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgaXYgbGVuZ3RoICIrci5sZW5ndGgpO3JldHVybiJzdHJlYW0iPT09cy50eXBlP25ldyBhKHMubW9kdWxlLHQscik6ImF1dGgiPT09cy50eXBlP25ldyBpKHMubW9kdWxlLHQscik6bmV3IGYocy5tb2R1bGUsdCxyKX1mLnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9jYWNoZS5mbHVzaCgpO2lmKHRoaXMuX2F1dG9wYWRkaW5nKXJldHVybiBlPXRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLGUpLHRoaXMuX2NpcGhlci5zY3J1YigpLGU7aWYoIWUuZXF1YWxzKGQpKXRocm93IHRoaXMuX2NpcGhlci5zY3J1YigpLG5ldyBFcnJvcigiZGF0YSBub3QgbXVsdGlwbGUgb2YgYmxvY2sgbGVuZ3RoIil9LGYucHJvdG90eXBlLnNldEF1dG9QYWRkaW5nPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9hdXRvcGFkZGluZz0hIWUsdGhpc30sbC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGUpe3RoaXMuY2FjaGU9by5jb25jYXQoW3RoaXMuY2FjaGUsZV0pfSxsLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtpZih0aGlzLmNhY2hlLmxlbmd0aD4xNSl7dmFyIGU9dGhpcy5jYWNoZS5zbGljZSgwLDE2KTtyZXR1cm4gdGhpcy5jYWNoZT10aGlzLmNhY2hlLnNsaWNlKDE2KSxlfXJldHVybiBudWxsfSxsLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe2Zvcih2YXIgZT0xNi10aGlzLmNhY2hlLmxlbmd0aCx0PW8uYWxsb2NVbnNhZmUoZSkscj0tMTsrK3I8ZTspdC53cml0ZVVJbnQ4KGUscik7cmV0dXJuIG8uY29uY2F0KFt0aGlzLmNhY2hlLHRdKX0sdC5jcmVhdGVDaXBoZXJpdj1oLHQuY3JlYXRlQ2lwaGVyPWZ1bmN0aW9uKGUsdCl7dmFyIHI9bltlLnRvTG93ZXJDYXNlKCldO2lmKCFyKXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgc3VpdGUgdHlwZSIpO3ZhciBpPWModCwhMSxyLmtleSxyLml2KTtyZXR1cm4gaChlLGkua2V5LGkuaXYpfX0sNjYyNjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg1MCkuQnVmZmVyLGk9bi5hbGxvYygxNiwwKTtmdW5jdGlvbiBvKGUpe3ZhciB0PW4uYWxsb2NVbnNhZmUoMTYpO3JldHVybiB0LndyaXRlVUludDMyQkUoZVswXT4+PjAsMCksdC53cml0ZVVJbnQzMkJFKGVbMV0+Pj4wLDQpLHQud3JpdGVVSW50MzJCRShlWzJdPj4+MCw4KSx0LndyaXRlVUludDMyQkUoZVszXT4+PjAsMTIpLHR9ZnVuY3Rpb24gYShlKXt0aGlzLmg9ZSx0aGlzLnN0YXRlPW4uYWxsb2MoMTYsMCksdGhpcy5jYWNoZT1uLmFsbG9jVW5zYWZlKDApfWEucHJvdG90eXBlLmdoYXNoPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0tMTsrK3Q8ZS5sZW5ndGg7KXRoaXMuc3RhdGVbdF1ePWVbdF07dGhpcy5fbXVsdGlwbHkoKX0sYS5wcm90b3R5cGUuX211bHRpcGx5PWZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQscixuPVsoZT10aGlzLmgpLnJlYWRVSW50MzJCRSgwKSxlLnJlYWRVSW50MzJCRSg0KSxlLnJlYWRVSW50MzJCRSg4KSxlLnJlYWRVSW50MzJCRSgxMildLGk9WzAsMCwwLDBdLGE9LTE7KythPDEyODspe2ZvcigwIT0odGhpcy5zdGF0ZVt+fihhLzgpXSYxPDw3LWElOCkmJihpWzBdXj1uWzBdLGlbMV1ePW5bMV0saVsyXV49blsyXSxpWzNdXj1uWzNdKSxyPTAhPSgxJm5bM10pLHQ9Mzt0PjA7dC0tKW5bdF09blt0XT4+PjF8KDEmblt0LTFdKTw8MzE7blswXT1uWzBdPj4+MSxyJiYoblswXT1uWzBdXjIyNTw8MjQpfXRoaXMuc3RhdGU9byhpKX0sYS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGUpe3ZhciB0O2Zvcih0aGlzLmNhY2hlPW4uY29uY2F0KFt0aGlzLmNhY2hlLGVdKTt0aGlzLmNhY2hlLmxlbmd0aD49MTY7KXQ9dGhpcy5jYWNoZS5zbGljZSgwLDE2KSx0aGlzLmNhY2hlPXRoaXMuY2FjaGUuc2xpY2UoMTYpLHRoaXMuZ2hhc2godCl9LGEucHJvdG90eXBlLmZpbmFsPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuY2FjaGUubGVuZ3RoJiZ0aGlzLmdoYXNoKG4uY29uY2F0KFt0aGlzLmNhY2hlLGldLDE2KSksdGhpcy5naGFzaChvKFswLGUsMCx0XSkpLHRoaXMuc3RhdGV9LGUuZXhwb3J0cz1hfSw3NTU3OmU9PnsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxyPWUubGVuZ3RoO3ItLTspe2lmKDI1NSE9PSh0PWUucmVhZFVJbnQ4KHIpKSl7dCsrLGUud3JpdGVVSW50OCh0LHIpO2JyZWFrfWUud3JpdGVVSW50OCgwLHIpfX19LDc0Mjc6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDYzMTYpO3QuZW5jcnlwdD1mdW5jdGlvbihlLHQpe3ZhciByPW4odCxlLl9wcmV2KTtyZXR1cm4gZS5fcHJldj1lLl9jaXBoZXIuZW5jcnlwdEJsb2NrKHIpLGUuX3ByZXZ9LHQuZGVjcnlwdD1mdW5jdGlvbihlLHQpe3ZhciByPWUuX3ByZXY7ZS5fcHJldj10O3ZhciBpPWUuX2NpcGhlci5kZWNyeXB0QmxvY2sodCk7cmV0dXJuIG4oaSxyKX19LDQwMzA6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NTApLkJ1ZmZlcixpPXIoNjMxNik7ZnVuY3Rpb24gbyhlLHQscil7dmFyIG89dC5sZW5ndGgsYT1pKHQsZS5fY2FjaGUpO3JldHVybiBlLl9jYWNoZT1lLl9jYWNoZS5zbGljZShvKSxlLl9wcmV2PW4uY29uY2F0KFtlLl9wcmV2LHI/dDphXSksYX10LmVuY3J5cHQ9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgaSxhPW4uYWxsb2NVbnNhZmUoMCk7dC5sZW5ndGg7KXtpZigwPT09ZS5fY2FjaGUubGVuZ3RoJiYoZS5fY2FjaGU9ZS5fY2lwaGVyLmVuY3J5cHRCbG9jayhlLl9wcmV2KSxlLl9wcmV2PW4uYWxsb2NVbnNhZmUoMCkpLCEoZS5fY2FjaGUubGVuZ3RoPD10Lmxlbmd0aCkpe2E9bi5jb25jYXQoW2EsbyhlLHQscildKTticmVha31pPWUuX2NhY2hlLmxlbmd0aCxhPW4uY29uY2F0KFthLG8oZSx0LnNsaWNlKDAsaSkscildKSx0PXQuc2xpY2UoaSl9cmV0dXJuIGF9fSwzMjA2OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODUwKS5CdWZmZXI7ZnVuY3Rpb24gaShlLHQscil7Zm9yKHZhciBuLGksYT0tMSxzPTA7KythPDg7KW49dCYxPDw3LWE/MTI4OjAscys9KDEyOCYoaT1lLl9jaXBoZXIuZW5jcnlwdEJsb2NrKGUuX3ByZXYpWzBdXm4pKT4+YSU4LGUuX3ByZXY9byhlLl9wcmV2LHI/bjppKTtyZXR1cm4gc31mdW5jdGlvbiBvKGUsdCl7dmFyIHI9ZS5sZW5ndGgsaT0tMSxvPW4uYWxsb2NVbnNhZmUoZS5sZW5ndGgpO2ZvcihlPW4uY29uY2F0KFtlLG4uZnJvbShbdF0pXSk7KytpPHI7KW9baV09ZVtpXTw8MXxlW2krMV0+Pjc7cmV0dXJuIG99dC5lbmNyeXB0PWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIG89dC5sZW5ndGgsYT1uLmFsbG9jVW5zYWZlKG8pLHM9LTE7KytzPG87KWFbc109aShlLHRbc10scik7cmV0dXJuIGF9fSw0NzI2OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODUwKS5CdWZmZXI7ZnVuY3Rpb24gaShlLHQscil7dmFyIGk9ZS5fY2lwaGVyLmVuY3J5cHRCbG9jayhlLl9wcmV2KVswXV50O3JldHVybiBlLl9wcmV2PW4uY29uY2F0KFtlLl9wcmV2LnNsaWNlKDEpLG4uZnJvbShbcj90OmldKV0pLGl9dC5lbmNyeXB0PWZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIG89dC5sZW5ndGgsYT1uLmFsbG9jVW5zYWZlKG8pLHM9LTE7KytzPG87KWFbc109aShlLHRbc10scik7cmV0dXJuIGF9fSwyODAyOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig2MzE2KSxpPXIoODg1MCkuQnVmZmVyLG89cig3NTU3KTtmdW5jdGlvbiBhKGUpe3ZhciB0PWUuX2NpcGhlci5lbmNyeXB0QmxvY2tSYXcoZS5fcHJldik7cmV0dXJuIG8oZS5fcHJldiksdH10LmVuY3J5cHQ9ZnVuY3Rpb24oZSx0KXt2YXIgcj1NYXRoLmNlaWwodC5sZW5ndGgvMTYpLG89ZS5fY2FjaGUubGVuZ3RoO2UuX2NhY2hlPWkuY29uY2F0KFtlLl9jYWNoZSxpLmFsbG9jVW5zYWZlKDE2KnIpXSk7Zm9yKHZhciBzPTA7czxyO3MrKyl7dmFyIHU9YShlKSxjPW8rMTYqcztlLl9jYWNoZS53cml0ZVVJbnQzMkJFKHVbMF0sYyswKSxlLl9jYWNoZS53cml0ZVVJbnQzMkJFKHVbMV0sYys0KSxlLl9jYWNoZS53cml0ZVVJbnQzMkJFKHVbMl0sYys4KSxlLl9jYWNoZS53cml0ZVVJbnQzMkJFKHVbM10sYysxMil9dmFyIGY9ZS5fY2FjaGUuc2xpY2UoMCx0Lmxlbmd0aCk7cmV0dXJuIGUuX2NhY2hlPWUuX2NhY2hlLnNsaWNlKHQubGVuZ3RoKSxuKHQsZil9fSw5Mjk3OihlLHQpPT57InVzZSBzdHJpY3QiO3QuZW5jcnlwdD1mdW5jdGlvbihlLHQpe3JldHVybiBlLl9jaXBoZXIuZW5jcnlwdEJsb2NrKHQpfSx0LmRlY3J5cHQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5fY2lwaGVyLmRlY3J5cHRCbG9jayh0KX19LDg0MDg6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj17RUNCOnIoOTI5NyksQ0JDOnIoNzQyNyksQ0ZCOnIoNDAzMCksQ0ZCODpyKDQ3MjYpLENGQjE6cigzMjA2KSxPRkI6cigxOTYyKSxDVFI6cigyODAyKSxHQ006cigyODAyKX0saT1yKDQ5NDYpO2Zvcih2YXIgbyBpbiBpKWlbb10ubW9kdWxlPW5baVtvXS5tb2RlXTtlLmV4cG9ydHM9aX0sMTk2MjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTAzMykuQnVmZmVyLGk9cig2MzE2KTtmdW5jdGlvbiBvKGUpe3JldHVybiBlLl9wcmV2PWUuX2NpcGhlci5lbmNyeXB0QmxvY2soZS5fcHJldiksZS5fcHJldn10LmVuY3J5cHQ9ZnVuY3Rpb24oZSx0KXtmb3IoO2UuX2NhY2hlLmxlbmd0aDx0Lmxlbmd0aDspZS5fY2FjaGU9bi5jb25jYXQoW2UuX2NhY2hlLG8oZSldKTt2YXIgcj1lLl9jYWNoZS5zbGljZSgwLHQubGVuZ3RoKTtyZXR1cm4gZS5fY2FjaGU9ZS5fY2FjaGUuc2xpY2UodC5sZW5ndGgpLGkodCxyKX19LDE0MDg6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDc0OTQpLGk9cig4ODUwKS5CdWZmZXIsbz1yKDMwMTMpO2Z1bmN0aW9uIGEoZSx0LHIsYSl7by5jYWxsKHRoaXMpLHRoaXMuX2NpcGhlcj1uZXcgbi5BRVModCksdGhpcy5fcHJldj1pLmZyb20ociksdGhpcy5fY2FjaGU9aS5hbGxvY1Vuc2FmZSgwKSx0aGlzLl9zZWNDYWNoZT1pLmFsbG9jVW5zYWZlKDApLHRoaXMuX2RlY3J5cHQ9YSx0aGlzLl9tb2RlPWV9cigxNzM2KShhLG8pLGEucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLGUsdGhpcy5fZGVjcnlwdCl9LGEucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe3RoaXMuX2NpcGhlci5zY3J1YigpfSxlLmV4cG9ydHM9YX0sNjgwNTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTEyMCksaT1yKDgwNzMpLG89cig4NDA4KSxhPXIoODY3KSxzPXIoNzA4NSk7ZnVuY3Rpb24gdShlLHQscil7aWYoZT1lLnRvTG93ZXJDYXNlKCksb1tlXSlyZXR1cm4gaS5jcmVhdGVDaXBoZXJpdihlLHQscik7aWYoYVtlXSlyZXR1cm4gbmV3IG4oe2tleTp0LGl2OnIsbW9kZTplfSk7dGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBzdWl0ZSB0eXBlIil9ZnVuY3Rpb24gYyhlLHQscil7aWYoZT1lLnRvTG93ZXJDYXNlKCksb1tlXSlyZXR1cm4gaS5jcmVhdGVEZWNpcGhlcml2KGUsdCxyKTtpZihhW2VdKXJldHVybiBuZXcgbih7a2V5OnQsaXY6cixtb2RlOmUsZGVjcnlwdDohMH0pO3Rocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgc3VpdGUgdHlwZSIpfXQuY3JlYXRlQ2lwaGVyPXQuQ2lwaGVyPWZ1bmN0aW9uKGUsdCl7dmFyIHIsbjtpZihlPWUudG9Mb3dlckNhc2UoKSxvW2VdKXI9b1tlXS5rZXksbj1vW2VdLml2O2Vsc2V7aWYoIWFbZV0pdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBzdWl0ZSB0eXBlIik7cj04KmFbZV0ua2V5LG49YVtlXS5pdn12YXIgaT1zKHQsITEscixuKTtyZXR1cm4gdShlLGkua2V5LGkuaXYpfSx0LmNyZWF0ZUNpcGhlcml2PXQuQ2lwaGVyaXY9dSx0LmNyZWF0ZURlY2lwaGVyPXQuRGVjaXBoZXI9ZnVuY3Rpb24oZSx0KXt2YXIgcixuO2lmKGU9ZS50b0xvd2VyQ2FzZSgpLG9bZV0pcj1vW2VdLmtleSxuPW9bZV0uaXY7ZWxzZXtpZighYVtlXSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIHN1aXRlIHR5cGUiKTtyPTgqYVtlXS5rZXksbj1hW2VdLml2fXZhciBpPXModCwhMSxyLG4pO3JldHVybiBjKGUsaS5rZXksaS5pdil9LHQuY3JlYXRlRGVjaXBoZXJpdj10LkRlY2lwaGVyaXY9Yyx0Lmxpc3RDaXBoZXJzPXQuZ2V0Q2lwaGVycz1mdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyhhKS5jb25jYXQoaS5nZXRDaXBoZXJzKCkpfX0sOTEyMDooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoMzAxMyksaT1yKDU2MjYpLG89cigxNzM2KSxhPXIoODg1MCkuQnVmZmVyLHM9eyJkZXMtZWRlMy1jYmMiOmkuQ0JDLmluc3RhbnRpYXRlKGkuRURFKSwiZGVzLWVkZTMiOmkuRURFLCJkZXMtZWRlLWNiYyI6aS5DQkMuaW5zdGFudGlhdGUoaS5FREUpLCJkZXMtZWRlIjppLkVERSwiZGVzLWNiYyI6aS5DQkMuaW5zdGFudGlhdGUoaS5ERVMpLCJkZXMtZWNiIjppLkRFU307ZnVuY3Rpb24gdShlKXtuLmNhbGwodGhpcyk7dmFyIHQscj1lLm1vZGUudG9Mb3dlckNhc2UoKSxpPXNbcl07dD1lLmRlY3J5cHQ/ImRlY3J5cHQiOiJlbmNyeXB0Ijt2YXIgbz1lLmtleTthLmlzQnVmZmVyKG8pfHwobz1hLmZyb20obykpLCJkZXMtZWRlIiE9PXImJiJkZXMtZWRlLWNiYyIhPT1yfHwobz1hLmNvbmNhdChbbyxvLnNsaWNlKDAsOCldKSk7dmFyIHU9ZS5pdjthLmlzQnVmZmVyKHUpfHwodT1hLmZyb20odSkpLHRoaXMuX2Rlcz1pLmNyZWF0ZSh7a2V5Om8saXY6dSx0eXBlOnR9KX1zLmRlcz1zWyJkZXMtY2JjIl0scy5kZXMzPXNbImRlcy1lZGUzLWNiYyJdLGUuZXhwb3J0cz11LG8odSxuKSx1LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe3JldHVybiBhLmZyb20odGhpcy5fZGVzLnVwZGF0ZShlKSl9LHUucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe3JldHVybiBhLmZyb20odGhpcy5fZGVzLmZpbmFsKCkpfX0sODY3OihlLHQpPT57InVzZSBzdHJpY3QiO3RbImRlcy1lY2IiXT17a2V5OjgsaXY6MH0sdFsiZGVzLWNiYyJdPXQuZGVzPXtrZXk6OCxpdjo4fSx0WyJkZXMtZWRlMy1jYmMiXT10LmRlczM9e2tleToyNCxpdjo4fSx0WyJkZXMtZWRlMyJdPXtrZXk6MjQsaXY6MH0sdFsiZGVzLWVkZS1jYmMiXT17a2V5OjE2LGl2Ojh9LHRbImRlcy1lZGUiXT17a2V5OjE2LGl2OjB9fSw5NzgyOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXIsaT1yKDE3MzQpLG89cig1MDEwKTtmdW5jdGlvbiBhKGUpe3ZhciB0LHI9ZS5tb2R1bHVzLmJ5dGVMZW5ndGgoKTtkb3t0PW5ldyBpKG8ocikpfXdoaWxlKHQuY21wKGUubW9kdWx1cyk+PTB8fCF0LnVtb2QoZS5wcmltZTEpfHwhdC51bW9kKGUucHJpbWUyKSk7cmV0dXJuIHR9ZnVuY3Rpb24gcyhlLHQpe3ZhciByPWZ1bmN0aW9uKGUpe3ZhciB0PWEoZSk7cmV0dXJue2JsaW5kZXI6dC50b1JlZChpLm1vbnQoZS5tb2R1bHVzKSkucmVkUG93KG5ldyBpKGUucHVibGljRXhwb25lbnQpKS5mcm9tUmVkKCksdW5ibGluZGVyOnQuaW52bShlLm1vZHVsdXMpfX0odCksbz10Lm1vZHVsdXMuYnl0ZUxlbmd0aCgpLHM9bmV3IGkoZSkubXVsKHIuYmxpbmRlcikudW1vZCh0Lm1vZHVsdXMpLHU9cy50b1JlZChpLm1vbnQodC5wcmltZTEpKSxjPXMudG9SZWQoaS5tb250KHQucHJpbWUyKSksZj10LmNvZWZmaWNpZW50LGQ9dC5wcmltZTEsbD10LnByaW1lMixoPXUucmVkUG93KHQuZXhwb25lbnQxKS5mcm9tUmVkKCkscD1jLnJlZFBvdyh0LmV4cG9uZW50MikuZnJvbVJlZCgpLGI9aC5pc3ViKHApLmltdWwoZikudW1vZChkKS5pbXVsKGwpO3JldHVybiBwLmlhZGQoYikuaW11bChyLnVuYmxpbmRlcikudW1vZCh0Lm1vZHVsdXMpLnRvQXJyYXlMaWtlKG4sImJlIixvKX1zLmdldHI9YSxlLmV4cG9ydHM9c30sNjU2MTooZSx0LHIpPT57InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1yKDUyMDcpfSw5NTI3OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODUwKS5CdWZmZXIsaT1yKDU4NjYpLG89cig2NTA1KSxhPXIoMTczNikscz1yKDE2MjgpLHU9cig1NDEwKSxjPXIoNTIwNyk7ZnVuY3Rpb24gZihlKXtvLldyaXRhYmxlLmNhbGwodGhpcyk7dmFyIHQ9Y1tlXTtpZighdCl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gbWVzc2FnZSBkaWdlc3QiKTt0aGlzLl9oYXNoVHlwZT10Lmhhc2gsdGhpcy5faGFzaD1pKHQuaGFzaCksdGhpcy5fdGFnPXQuaWQsdGhpcy5fc2lnblR5cGU9dC5zaWdufWZ1bmN0aW9uIGQoZSl7by5Xcml0YWJsZS5jYWxsKHRoaXMpO3ZhciB0PWNbZV07aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIG1lc3NhZ2UgZGlnZXN0Iik7dGhpcy5faGFzaD1pKHQuaGFzaCksdGhpcy5fdGFnPXQuaWQsdGhpcy5fc2lnblR5cGU9dC5zaWdufWZ1bmN0aW9uIGwoZSl7cmV0dXJuIG5ldyBmKGUpfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIG5ldyBkKGUpfU9iamVjdC5rZXlzKGMpLmZvckVhY2goKGZ1bmN0aW9uKGUpe2NbZV0uaWQ9bi5mcm9tKGNbZV0uaWQsImhleCIpLGNbZS50b0xvd2VyQ2FzZSgpXT1jW2VdfSkpLGEoZixvLldyaXRhYmxlKSxmLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24oZSx0LHIpe3RoaXMuX2hhc2gudXBkYXRlKGUpLHIoKX0sZi5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiYoZT1uLmZyb20oZSx0KSksdGhpcy5faGFzaC51cGRhdGUoZSksdGhpc30sZi5wcm90b3R5cGUuc2lnbj1mdW5jdGlvbihlLHQpe3RoaXMuZW5kKCk7dmFyIHI9dGhpcy5faGFzaC5kaWdlc3QoKSxuPXMocixlLHRoaXMuX2hhc2hUeXBlLHRoaXMuX3NpZ25UeXBlLHRoaXMuX3RhZyk7cmV0dXJuIHQ/bi50b1N0cmluZyh0KTpufSxhKGQsby5Xcml0YWJsZSksZC5wcm90b3R5cGUuX3dyaXRlPWZ1bmN0aW9uKGUsdCxyKXt0aGlzLl9oYXNoLnVwZGF0ZShlKSxyKCl9LGQucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihlLHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmKGU9bi5mcm9tKGUsdCkpLHRoaXMuX2hhc2gudXBkYXRlKGUpLHRoaXN9LGQucHJvdG90eXBlLnZlcmlmeT1mdW5jdGlvbihlLHQscil7InN0cmluZyI9PXR5cGVvZiB0JiYodD1uLmZyb20odCxyKSksdGhpcy5lbmQoKTt2YXIgaT10aGlzLl9oYXNoLmRpZ2VzdCgpO3JldHVybiB1KHQsaSxlLHRoaXMuX3NpZ25UeXBlLHRoaXMuX3RhZyl9LGUuZXhwb3J0cz17U2lnbjpsLFZlcmlmeTpoLGNyZWF0ZVNpZ246bCxjcmVhdGVWZXJpZnk6aH19LDE2Mjg6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NTApLkJ1ZmZlcixpPXIoNDQyNCksbz1yKDk3ODIpLGE9cig2NTk3KS5lYyxzPXIoMTczNCksdT1yKDc1NTIpLGM9cigxMzA4KTtmdW5jdGlvbiBmKGUsdCxyLG8pe2lmKChlPW4uZnJvbShlLnRvQXJyYXkoKSkpLmxlbmd0aDx0LmJ5dGVMZW5ndGgoKSl7dmFyIGE9bi5hbGxvYyh0LmJ5dGVMZW5ndGgoKS1lLmxlbmd0aCk7ZT1uLmNvbmNhdChbYSxlXSl9dmFyIHM9ci5sZW5ndGgsdT1mdW5jdGlvbihlLHQpe2U9KGU9ZChlLHQpKS5tb2QodCk7dmFyIHI9bi5mcm9tKGUudG9BcnJheSgpKTtpZihyLmxlbmd0aDx0LmJ5dGVMZW5ndGgoKSl7dmFyIGk9bi5hbGxvYyh0LmJ5dGVMZW5ndGgoKS1yLmxlbmd0aCk7cj1uLmNvbmNhdChbaSxyXSl9cmV0dXJuIHJ9KHIsdCksYz1uLmFsbG9jKHMpO2MuZmlsbCgxKTt2YXIgZj1uLmFsbG9jKHMpO3JldHVybiBmPWkobyxmKS51cGRhdGUoYykudXBkYXRlKG4uZnJvbShbMF0pKS51cGRhdGUoZSkudXBkYXRlKHUpLmRpZ2VzdCgpLGM9aShvLGYpLnVwZGF0ZShjKS5kaWdlc3QoKSx7azpmPWkobyxmKS51cGRhdGUoYykudXBkYXRlKG4uZnJvbShbMV0pKS51cGRhdGUoZSkudXBkYXRlKHUpLmRpZ2VzdCgpLHY6Yz1pKG8sZikudXBkYXRlKGMpLmRpZ2VzdCgpfX1mdW5jdGlvbiBkKGUsdCl7dmFyIHI9bmV3IHMoZSksbj0oZS5sZW5ndGg8PDMpLXQuYml0TGVuZ3RoKCk7cmV0dXJuIG4+MCYmci5pc2hybihuKSxyfWZ1bmN0aW9uIGwoZSx0LHIpe3ZhciBvLGE7ZG97Zm9yKG89bi5hbGxvYygwKTs4Km8ubGVuZ3RoPGUuYml0TGVuZ3RoKCk7KXQudj1pKHIsdC5rKS51cGRhdGUodC52KS5kaWdlc3QoKSxvPW4uY29uY2F0KFtvLHQudl0pO2E9ZChvLGUpLHQuaz1pKHIsdC5rKS51cGRhdGUodC52KS51cGRhdGUobi5mcm9tKFswXSkpLmRpZ2VzdCgpLHQudj1pKHIsdC5rKS51cGRhdGUodC52KS5kaWdlc3QoKX13aGlsZSgtMSE9PWEuY21wKGUpKTtyZXR1cm4gYX1mdW5jdGlvbiBoKGUsdCxyLG4pe3JldHVybiBlLnRvUmVkKHMubW9udChyKSkucmVkUG93KHQpLmZyb21SZWQoKS5tb2Qobil9ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxyLGkscCl7dmFyIGI9dSh0KTtpZihiLmN1cnZlKXtpZigiZWNkc2EiIT09aSYmImVjZHNhL3JzYSIhPT1pKXRocm93IG5ldyBFcnJvcigid3JvbmcgcHJpdmF0ZSBrZXkgdHlwZSIpO3JldHVybiBmdW5jdGlvbihlLHQpe3ZhciByPWNbdC5jdXJ2ZS5qb2luKCIuIildO2lmKCFyKXRocm93IG5ldyBFcnJvcigidW5rbm93biBjdXJ2ZSAiK3QuY3VydmUuam9pbigiLiIpKTt2YXIgaT1uZXcgYShyKS5rZXlGcm9tUHJpdmF0ZSh0LnByaXZhdGVLZXkpLnNpZ24oZSk7cmV0dXJuIG4uZnJvbShpLnRvREVSKCkpfShlLGIpfWlmKCJkc2EiPT09Yi50eXBlKXtpZigiZHNhIiE9PWkpdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBwcml2YXRlIGtleSB0eXBlIik7cmV0dXJuIGZ1bmN0aW9uKGUsdCxyKXtmb3IodmFyIGksbz10LnBhcmFtcy5wcml2X2tleSxhPXQucGFyYW1zLnAsdT10LnBhcmFtcy5xLGM9dC5wYXJhbXMuZyxwPW5ldyBzKDApLGI9ZChlLHUpLm1vZCh1KSx5PSExLG09ZihvLHUsZSxyKTshMT09PXk7KXA9aChjLGk9bCh1LG0sciksYSx1KSwwPT09KHk9aS5pbnZtKHUpLmltdWwoYi5hZGQoby5tdWwocCkpKS5tb2QodSkpLmNtcG4oMCkmJih5PSExLHA9bmV3IHMoMCkpO3JldHVybiBmdW5jdGlvbihlLHQpe2U9ZS50b0FycmF5KCksdD10LnRvQXJyYXkoKSwxMjgmZVswXSYmKGU9WzBdLmNvbmNhdChlKSksMTI4JnRbMF0mJih0PVswXS5jb25jYXQodCkpO3ZhciByPVs0OCxlLmxlbmd0aCt0Lmxlbmd0aCs0LDIsZS5sZW5ndGhdO3JldHVybiByPXIuY29uY2F0KGUsWzIsdC5sZW5ndGhdLHQpLG4uZnJvbShyKX0ocCx5KX0oZSxiLHIpfWlmKCJyc2EiIT09aSYmImVjZHNhL3JzYSIhPT1pKXRocm93IG5ldyBFcnJvcigid3JvbmcgcHJpdmF0ZSBrZXkgdHlwZSIpO2U9bi5jb25jYXQoW3AsZV0pO2Zvcih2YXIgeT1iLm1vZHVsdXMuYnl0ZUxlbmd0aCgpLG09WzAsMV07ZS5sZW5ndGgrbS5sZW5ndGgrMTx5OyltLnB1c2goMjU1KTttLnB1c2goMCk7Zm9yKHZhciB2PS0xOysrdjxlLmxlbmd0aDspbS5wdXNoKGVbdl0pO3JldHVybiBvKG0sYil9LGUuZXhwb3J0cy5nZXRLZXk9ZixlLmV4cG9ydHMubWFrZUtleT1sfSw1NDEwOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODUwKS5CdWZmZXIsaT1yKDE3MzQpLG89cig2NTk3KS5lYyxhPXIoNzU1Mikscz1yKDEzMDgpO2Z1bmN0aW9uIHUoZSx0KXtpZihlLmNtcG4oMCk8PTApdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHNpZyIpO2lmKGUuY21wKHQpPj10KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaWciKX1lLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LHIsYyxmKXt2YXIgZD1hKHIpO2lmKCJlYyI9PT1kLnR5cGUpe2lmKCJlY2RzYSIhPT1jJiYiZWNkc2EvcnNhIiE9PWMpdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBwdWJsaWMga2V5IHR5cGUiKTtyZXR1cm4gZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXNbci5kYXRhLmFsZ29yaXRobS5jdXJ2ZS5qb2luKCIuIildO2lmKCFuKXRocm93IG5ldyBFcnJvcigidW5rbm93biBjdXJ2ZSAiK3IuZGF0YS5hbGdvcml0aG0uY3VydmUuam9pbigiLiIpKTt2YXIgaT1uZXcgbyhuKSxhPXIuZGF0YS5zdWJqZWN0UHJpdmF0ZUtleS5kYXRhO3JldHVybiBpLnZlcmlmeSh0LGUsYSl9KGUsdCxkKX1pZigiZHNhIj09PWQudHlwZSl7aWYoImRzYSIhPT1jKXRocm93IG5ldyBFcnJvcigid3JvbmcgcHVibGljIGtleSB0eXBlIik7cmV0dXJuIGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1yLmRhdGEucCxvPXIuZGF0YS5xLHM9ci5kYXRhLmcsYz1yLmRhdGEucHViX2tleSxmPWEuc2lnbmF0dXJlLmRlY29kZShlLCJkZXIiKSxkPWYucyxsPWYucjt1KGQsbyksdShsLG8pO3ZhciBoPWkubW9udChuKSxwPWQuaW52bShvKTtyZXR1cm4gMD09PXMudG9SZWQoaCkucmVkUG93KG5ldyBpKHQpLm11bChwKS5tb2QobykpLmZyb21SZWQoKS5tdWwoYy50b1JlZChoKS5yZWRQb3cobC5tdWwocCkubW9kKG8pKS5mcm9tUmVkKCkpLm1vZChuKS5tb2QobykuY21wKGwpfShlLHQsZCl9aWYoInJzYSIhPT1jJiYiZWNkc2EvcnNhIiE9PWMpdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBwdWJsaWMga2V5IHR5cGUiKTt0PW4uY29uY2F0KFtmLHRdKTtmb3IodmFyIGw9ZC5tb2R1bHVzLmJ5dGVMZW5ndGgoKSxoPVsxXSxwPTA7dC5sZW5ndGgraC5sZW5ndGgrMjxsOyloLnB1c2goMjU1KSxwKys7aC5wdXNoKDApO2Zvcih2YXIgYj0tMTsrK2I8dC5sZW5ndGg7KWgucHVzaCh0W2JdKTtoPW4uZnJvbShoKTt2YXIgeT1pLm1vbnQoZC5tb2R1bHVzKTtlPShlPW5ldyBpKGUpLnRvUmVkKHkpKS5yZWRQb3cobmV3IGkoZC5wdWJsaWNFeHBvbmVudCkpLGU9bi5mcm9tKGUuZnJvbVJlZCgpLnRvQXJyYXkoKSk7dmFyIG09cDw4PzE6MDtmb3IobD1NYXRoLm1pbihlLmxlbmd0aCxoLmxlbmd0aCksZS5sZW5ndGghPT1oLmxlbmd0aCYmKG09MSksYj0tMTsrK2I8bDspbXw9ZVtiXV5oW2JdO3JldHVybiAwPT09bX19LDYzMTY6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDkwMzMpLkJ1ZmZlcjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9TWF0aC5taW4oZS5sZW5ndGgsdC5sZW5ndGgpLGk9bmV3IG4ociksbz0wO288cjsrK28paVtvXT1lW29dXnRbb107cmV0dXJuIGl9fSw5MDMzOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig0OTE5KSxpPXIoMzIyNiksbz1yKDk0ODQpO2Z1bmN0aW9uIGEoKXtyZXR1cm4gdS5UWVBFRF9BUlJBWV9TVVBQT1JUPzIxNDc0ODM2NDc6MTA3Mzc0MTgyM31mdW5jdGlvbiBzKGUsdCl7aWYoYSgpPHQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdHlwZWQgYXJyYXkgbGVuZ3RoIik7cmV0dXJuIHUuVFlQRURfQVJSQVlfU1VQUE9SVD8oZT1uZXcgVWludDhBcnJheSh0KSkuX19wcm90b19fPXUucHJvdG90eXBlOihudWxsPT09ZSYmKGU9bmV3IHUodCkpLGUubGVuZ3RoPXQpLGV9ZnVuY3Rpb24gdShlLHQscil7aWYoISh1LlRZUEVEX0FSUkFZX1NVUFBPUlR8fHRoaXMgaW5zdGFuY2VvZiB1KSlyZXR1cm4gbmV3IHUoZSx0LHIpO2lmKCJudW1iZXIiPT10eXBlb2YgZSl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiSWYgZW5jb2RpbmcgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmciKTtyZXR1cm4gZCh0aGlzLGUpfXJldHVybiBjKHRoaXMsZSx0LHIpfWZ1bmN0aW9uIGMoZSx0LHIsbil7aWYoIm51bWJlciI9PXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoJyJ2YWx1ZSIgYXJndW1lbnQgbXVzdCBub3QgYmUgYSBudW1iZXInKTtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZ0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXI/ZnVuY3Rpb24oZSx0LHIsbil7aWYodC5ieXRlTGVuZ3RoLHI8MHx8dC5ieXRlTGVuZ3RoPHIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIidvZmZzZXQnIGlzIG91dCBvZiBib3VuZHMiKTtpZih0LmJ5dGVMZW5ndGg8cisobnx8MCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIidsZW5ndGgnIGlzIG91dCBvZiBib3VuZHMiKTtyZXR1cm4gdD12b2lkIDA9PT1yJiZ2b2lkIDA9PT1uP25ldyBVaW50OEFycmF5KHQpOnZvaWQgMD09PW4/bmV3IFVpbnQ4QXJyYXkodCxyKTpuZXcgVWludDhBcnJheSh0LHIsbiksdS5UWVBFRF9BUlJBWV9TVVBQT1JUPyhlPXQpLl9fcHJvdG9fXz11LnByb3RvdHlwZTplPWwoZSx0KSxlfShlLHQscixuKToic3RyaW5nIj09dHlwZW9mIHQ/ZnVuY3Rpb24oZSx0LHIpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwocj0idXRmOCIpLCF1LmlzRW5jb2RpbmcocikpdGhyb3cgbmV3IFR5cGVFcnJvcignImVuY29kaW5nIiBtdXN0IGJlIGEgdmFsaWQgc3RyaW5nIGVuY29kaW5nJyk7dmFyIG49MHxwKHQsciksaT0oZT1zKGUsbikpLndyaXRlKHQscik7cmV0dXJuIGkhPT1uJiYoZT1lLnNsaWNlKDAsaSkpLGV9KGUsdCxyKTpmdW5jdGlvbihlLHQpe2lmKHUuaXNCdWZmZXIodCkpe3ZhciByPTB8aCh0Lmxlbmd0aCk7cmV0dXJuIDA9PT0oZT1zKGUscikpLmxlbmd0aHx8dC5jb3B5KGUsMCwwLHIpLGV9aWYodCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdC5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcnx8Imxlbmd0aCJpbiB0KXJldHVybiJudW1iZXIiIT10eXBlb2YgdC5sZW5ndGh8fChuPXQubGVuZ3RoKSE9bj9zKGUsMCk6bChlLHQpO2lmKCJCdWZmZXIiPT09dC50eXBlJiZvKHQuZGF0YSkpcmV0dXJuIGwoZSx0LmRhdGEpfXZhciBuO3Rocm93IG5ldyBUeXBlRXJyb3IoIkZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCBvciBhcnJheS1saWtlIG9iamVjdC4iKX0oZSx0KX1mdW5jdGlvbiBmKGUpe2lmKCJudW1iZXIiIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCcic2l6ZSIgYXJndW1lbnQgbXVzdCBiZSBhIG51bWJlcicpO2lmKGU8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcignInNpemUiIGFyZ3VtZW50IG11c3Qgbm90IGJlIG5lZ2F0aXZlJyl9ZnVuY3Rpb24gZChlLHQpe2lmKGYodCksZT1zKGUsdDwwPzA6MHxoKHQpKSwhdS5UWVBFRF9BUlJBWV9TVVBQT1JUKWZvcih2YXIgcj0wO3I8dDsrK3IpZVtyXT0wO3JldHVybiBlfWZ1bmN0aW9uIGwoZSx0KXt2YXIgcj10Lmxlbmd0aDwwPzA6MHxoKHQubGVuZ3RoKTtlPXMoZSxyKTtmb3IodmFyIG49MDtuPHI7bis9MSllW25dPTI1NSZ0W25dO3JldHVybiBlfWZ1bmN0aW9uIGgoZSl7aWYoZT49YSgpKXRocm93IG5ldyBSYW5nZUVycm9yKCJBdHRlbXB0IHRvIGFsbG9jYXRlIEJ1ZmZlciBsYXJnZXIgdGhhbiBtYXhpbXVtIHNpemU6IDB4IithKCkudG9TdHJpbmcoMTYpKyIgYnl0ZXMiKTtyZXR1cm4gMHxlfWZ1bmN0aW9uIHAoZSx0KXtpZih1LmlzQnVmZmVyKGUpKXJldHVybiBlLmxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiYiZnVuY3Rpb24iPT10eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3JiYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpfHxlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKXJldHVybiBlLmJ5dGVMZW5ndGg7InN0cmluZyIhPXR5cGVvZiBlJiYoZT0iIitlKTt2YXIgcj1lLmxlbmd0aDtpZigwPT09cilyZXR1cm4gMDtmb3IodmFyIG49ITE7Oylzd2l0Y2godCl7Y2FzZSJhc2NpaSI6Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gcjtjYXNlInV0ZjgiOmNhc2UidXRmLTgiOmNhc2Ugdm9pZCAwOnJldHVybiBEKGUpLmxlbmd0aDtjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuIDIqcjtjYXNlImhleCI6cmV0dXJuIHI+Pj4xO2Nhc2UiYmFzZTY0IjpyZXR1cm4gSChlKS5sZW5ndGg7ZGVmYXVsdDppZihuKXJldHVybiBEKGUpLmxlbmd0aDt0PSgiIit0KS50b0xvd2VyQ2FzZSgpLG49ITB9fWZ1bmN0aW9uIGIoZSx0LHIpe3ZhciBuPSExO2lmKCh2b2lkIDA9PT10fHx0PDApJiYodD0wKSx0PnRoaXMubGVuZ3RoKXJldHVybiIiO2lmKCh2b2lkIDA9PT1yfHxyPnRoaXMubGVuZ3RoKSYmKHI9dGhpcy5sZW5ndGgpLHI8PTApcmV0dXJuIiI7aWYoKHI+Pj49MCk8PSh0Pj4+PTApKXJldHVybiIiO2ZvcihlfHwoZT0idXRmOCIpOzspc3dpdGNoKGUpe2Nhc2UiaGV4IjpyZXR1cm4gVCh0aGlzLHQscik7Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpyZXR1cm4gRSh0aGlzLHQscik7Y2FzZSJhc2NpaSI6cmV0dXJuIE8odGhpcyx0LHIpO2Nhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuIEIodGhpcyx0LHIpO2Nhc2UiYmFzZTY0IjpyZXR1cm4geCh0aGlzLHQscik7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiBDKHRoaXMsdCxyKTtkZWZhdWx0OmlmKG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIitlKTtlPShlKyIiKS50b0xvd2VyQ2FzZSgpLG49ITB9fWZ1bmN0aW9uIHkoZSx0LHIpe3ZhciBuPWVbdF07ZVt0XT1lW3JdLGVbcl09bn1mdW5jdGlvbiBtKGUsdCxyLG4saSl7aWYoMD09PWUubGVuZ3RoKXJldHVybi0xO2lmKCJzdHJpbmciPT10eXBlb2Ygcj8obj1yLHI9MCk6cj4yMTQ3NDgzNjQ3P3I9MjE0NzQ4MzY0NzpyPC0yMTQ3NDgzNjQ4JiYocj0tMjE0NzQ4MzY0OCkscj0rcixpc05hTihyKSYmKHI9aT8wOmUubGVuZ3RoLTEpLHI8MCYmKHI9ZS5sZW5ndGgrcikscj49ZS5sZW5ndGgpe2lmKGkpcmV0dXJuLTE7cj1lLmxlbmd0aC0xfWVsc2UgaWYocjwwKXtpZighaSlyZXR1cm4tMTtyPTB9aWYoInN0cmluZyI9PXR5cGVvZiB0JiYodD11LmZyb20odCxuKSksdS5pc0J1ZmZlcih0KSlyZXR1cm4gMD09PXQubGVuZ3RoPy0xOnYoZSx0LHIsbixpKTtpZigibnVtYmVyIj09dHlwZW9mIHQpcmV0dXJuIHQmPTI1NSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQmJiJmdW5jdGlvbiI9PXR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mP2k/VWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGUsdCxyKTpVaW50OEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGUsdCxyKTp2KGUsW3RdLHIsbixpKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJ2YWwgbXVzdCBiZSBzdHJpbmcsIG51bWJlciBvciBCdWZmZXIiKX1mdW5jdGlvbiB2KGUsdCxyLG4saSl7dmFyIG8sYT0xLHM9ZS5sZW5ndGgsdT10Lmxlbmd0aDtpZih2b2lkIDAhPT1uJiYoInVjczIiPT09KG49U3RyaW5nKG4pLnRvTG93ZXJDYXNlKCkpfHwidWNzLTIiPT09bnx8InV0ZjE2bGUiPT09bnx8InV0Zi0xNmxlIj09PW4pKXtpZihlLmxlbmd0aDwyfHx0Lmxlbmd0aDwyKXJldHVybi0xO2E9MixzLz0yLHUvPTIsci89Mn1mdW5jdGlvbiBjKGUsdCl7cmV0dXJuIDE9PT1hP2VbdF06ZS5yZWFkVUludDE2QkUodCphKX1pZihpKXt2YXIgZj0tMTtmb3Iobz1yO288cztvKyspaWYoYyhlLG8pPT09Yyh0LC0xPT09Zj8wOm8tZikpe2lmKC0xPT09ZiYmKGY9byksby1mKzE9PT11KXJldHVybiBmKmF9ZWxzZS0xIT09ZiYmKG8tPW8tZiksZj0tMX1lbHNlIGZvcihyK3U+cyYmKHI9cy11KSxvPXI7bz49MDtvLS0pe2Zvcih2YXIgZD0hMCxsPTA7bDx1O2wrKylpZihjKGUsbytsKSE9PWModCxsKSl7ZD0hMTticmVha31pZihkKXJldHVybiBvfXJldHVybi0xfWZ1bmN0aW9uIGcoZSx0LHIsbil7cj1OdW1iZXIocil8fDA7dmFyIGk9ZS5sZW5ndGgtcjtuPyhuPU51bWJlcihuKSk+aSYmKG49aSk6bj1pO3ZhciBvPXQubGVuZ3RoO2lmKG8lMiE9MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGhleCBzdHJpbmciKTtuPm8vMiYmKG49by8yKTtmb3IodmFyIGE9MDthPG47KythKXt2YXIgcz1wYXJzZUludCh0LnN1YnN0cigyKmEsMiksMTYpO2lmKGlzTmFOKHMpKXJldHVybiBhO2VbcithXT1zfXJldHVybiBhfWZ1bmN0aW9uIHcoZSx0LHIsbil7cmV0dXJuIHEoRCh0LGUubGVuZ3RoLXIpLGUscixuKX1mdW5jdGlvbiBBKGUsdCxyLG4pe3JldHVybiBxKGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxyPTA7cjxlLmxlbmd0aDsrK3IpdC5wdXNoKDI1NSZlLmNoYXJDb2RlQXQocikpO3JldHVybiB0fSh0KSxlLHIsbil9ZnVuY3Rpb24gayhlLHQscixuKXtyZXR1cm4gQShlLHQscixuKX1mdW5jdGlvbiBfKGUsdCxyLG4pe3JldHVybiBxKEgodCksZSxyLG4pfWZ1bmN0aW9uIFMoZSx0LHIsbil7cmV0dXJuIHEoZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIsbixpLG89W10sYT0wO2E8ZS5sZW5ndGgmJiEoKHQtPTIpPDApOysrYSluPShyPWUuY2hhckNvZGVBdChhKSk+PjgsaT1yJTI1NixvLnB1c2goaSksby5wdXNoKG4pO3JldHVybiBvfSh0LGUubGVuZ3RoLXIpLGUscixuKX1mdW5jdGlvbiB4KGUsdCxyKXtyZXR1cm4gMD09PXQmJnI9PT1lLmxlbmd0aD9uLmZyb21CeXRlQXJyYXkoZSk6bi5mcm9tQnl0ZUFycmF5KGUuc2xpY2UodCxyKSl9ZnVuY3Rpb24gRShlLHQscil7cj1NYXRoLm1pbihlLmxlbmd0aCxyKTtmb3IodmFyIG49W10saT10O2k8cjspe3ZhciBvLGEscyx1LGM9ZVtpXSxmPW51bGwsZD1jPjIzOT80OmM+MjIzPzM6Yz4xOTE/MjoxO2lmKGkrZDw9cilzd2l0Y2goZCl7Y2FzZSAxOmM8MTI4JiYoZj1jKTticmVhaztjYXNlIDI6MTI4PT0oMTkyJihvPWVbaSsxXSkpJiYodT0oMzEmYyk8PDZ8NjMmbyk+MTI3JiYoZj11KTticmVhaztjYXNlIDM6bz1lW2krMV0sYT1lW2krMl0sMTI4PT0oMTkyJm8pJiYxMjg9PSgxOTImYSkmJih1PSgxNSZjKTw8MTJ8KDYzJm8pPDw2fDYzJmEpPjIwNDcmJih1PDU1Mjk2fHx1PjU3MzQzKSYmKGY9dSk7YnJlYWs7Y2FzZSA0Om89ZVtpKzFdLGE9ZVtpKzJdLHM9ZVtpKzNdLDEyOD09KDE5MiZvKSYmMTI4PT0oMTkyJmEpJiYxMjg9PSgxOTImcykmJih1PSgxNSZjKTw8MTh8KDYzJm8pPDwxMnwoNjMmYSk8PDZ8NjMmcyk+NjU1MzUmJnU8MTExNDExMiYmKGY9dSl9bnVsbD09PWY/KGY9NjU1MzMsZD0xKTpmPjY1NTM1JiYoZi09NjU1MzYsbi5wdXNoKGY+Pj4xMCYxMDIzfDU1Mjk2KSxmPTU2MzIwfDEwMjMmZiksbi5wdXNoKGYpLGkrPWR9cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0PWUubGVuZ3RoO2lmKHQ8PVApcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLGUpO2Zvcih2YXIgcj0iIixuPTA7bjx0OylyKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxlLnNsaWNlKG4sbis9UCkpO3JldHVybiByfShuKX10LkJ1ZmZlcj11LHQuU2xvd0J1ZmZlcj1mdW5jdGlvbihlKXtyZXR1cm4rZSE9ZSYmKGU9MCksdS5hbGxvYygrZSl9LHQuSU5TUEVDVF9NQVhfQllURVM9NTAsdS5UWVBFRF9BUlJBWV9TVVBQT1JUPXZvaWQgMCE9PXIuZy5UWVBFRF9BUlJBWV9TVVBQT1JUP3IuZy5UWVBFRF9BUlJBWV9TVVBQT1JUOmZ1bmN0aW9uKCl7dHJ5e3ZhciBlPW5ldyBVaW50OEFycmF5KDEpO3JldHVybiBlLl9fcHJvdG9fXz17X19wcm90b19fOlVpbnQ4QXJyYXkucHJvdG90eXBlLGZvbzpmdW5jdGlvbigpe3JldHVybiA0Mn19LDQyPT09ZS5mb28oKSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuc3ViYXJyYXkmJjA9PT1lLnN1YmFycmF5KDEsMSkuYnl0ZUxlbmd0aH1jYXRjaChlKXtyZXR1cm4hMX19KCksdC5rTWF4TGVuZ3RoPWEoKSx1LnBvb2xTaXplPTgxOTIsdS5fYXVnbWVudD1mdW5jdGlvbihlKXtyZXR1cm4gZS5fX3Byb3RvX189dS5wcm90b3R5cGUsZX0sdS5mcm9tPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gYyhudWxsLGUsdCxyKX0sdS5UWVBFRF9BUlJBWV9TVVBQT1JUJiYodS5wcm90b3R5cGUuX19wcm90b19fPVVpbnQ4QXJyYXkucHJvdG90eXBlLHUuX19wcm90b19fPVVpbnQ4QXJyYXksInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5zcGVjaWVzJiZ1W1N5bWJvbC5zcGVjaWVzXT09PXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LFN5bWJvbC5zcGVjaWVzLHt2YWx1ZTpudWxsLGNvbmZpZ3VyYWJsZTohMH0pKSx1LmFsbG9jPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZnVuY3Rpb24oZSx0LHIsbil7cmV0dXJuIGYodCksdDw9MD9zKGUsdCk6dm9pZCAwIT09cj8ic3RyaW5nIj09dHlwZW9mIG4/cyhlLHQpLmZpbGwocixuKTpzKGUsdCkuZmlsbChyKTpzKGUsdCl9KG51bGwsZSx0LHIpfSx1LmFsbG9jVW5zYWZlPWZ1bmN0aW9uKGUpe3JldHVybiBkKG51bGwsZSl9LHUuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKGUpe3JldHVybiBkKG51bGwsZSl9LHUuaXNCdWZmZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIShudWxsPT1lfHwhZS5faXNCdWZmZXIpfSx1LmNvbXBhcmU9ZnVuY3Rpb24oZSx0KXtpZighdS5pc0J1ZmZlcihlKXx8IXUuaXNCdWZmZXIodCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnRzIG11c3QgYmUgQnVmZmVycyIpO2lmKGU9PT10KXJldHVybiAwO2Zvcih2YXIgcj1lLmxlbmd0aCxuPXQubGVuZ3RoLGk9MCxvPU1hdGgubWluKHIsbik7aTxvOysraSlpZihlW2ldIT09dFtpXSl7cj1lW2ldLG49dFtpXTticmVha31yZXR1cm4gcjxuPy0xOm48cj8xOjB9LHUuaXNFbmNvZGluZz1mdW5jdGlvbihlKXtzd2l0Y2goU3RyaW5nKGUpLnRvTG93ZXJDYXNlKCkpe2Nhc2UiaGV4IjpjYXNlInV0ZjgiOmNhc2UidXRmLTgiOmNhc2UiYXNjaWkiOmNhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6Y2FzZSJiYXNlNjQiOmNhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX0sdS5jb25jYXQ9ZnVuY3Rpb24oZSx0KXtpZighbyhlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7aWYoMD09PWUubGVuZ3RoKXJldHVybiB1LmFsbG9jKDApO3ZhciByO2lmKHZvaWQgMD09PXQpZm9yKHQ9MCxyPTA7cjxlLmxlbmd0aDsrK3IpdCs9ZVtyXS5sZW5ndGg7dmFyIG49dS5hbGxvY1Vuc2FmZSh0KSxpPTA7Zm9yKHI9MDtyPGUubGVuZ3RoOysrcil7dmFyIGE9ZVtyXTtpZighdS5pc0J1ZmZlcihhKSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7YS5jb3B5KG4saSksaSs9YS5sZW5ndGh9cmV0dXJuIG59LHUuYnl0ZUxlbmd0aD1wLHUucHJvdG90eXBlLl9pc0J1ZmZlcj0hMCx1LnByb3RvdHlwZS5zd2FwMTY9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmxlbmd0aDtpZihlJTIhPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzIik7Zm9yKHZhciB0PTA7dDxlO3QrPTIpeSh0aGlzLHQsdCsxKTtyZXR1cm4gdGhpc30sdS5wcm90b3R5cGUuc3dhcDMyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7aWYoZSU0IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzItYml0cyIpO2Zvcih2YXIgdD0wO3Q8ZTt0Kz00KXkodGhpcyx0LHQrMykseSh0aGlzLHQrMSx0KzIpO3JldHVybiB0aGlzfSx1LnByb3RvdHlwZS5zd2FwNjQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmxlbmd0aDtpZihlJTghPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA2NC1iaXRzIik7Zm9yKHZhciB0PTA7dDxlO3QrPTgpeSh0aGlzLHQsdCs3KSx5KHRoaXMsdCsxLHQrNikseSh0aGlzLHQrMix0KzUpLHkodGhpcyx0KzMsdCs0KTtyZXR1cm4gdGhpc30sdS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgZT0wfHRoaXMubGVuZ3RoO3JldHVybiAwPT09ZT8iIjowPT09YXJndW1lbnRzLmxlbmd0aD9FKHRoaXMsMCxlKTpiLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sdS5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKGUpe2lmKCF1LmlzQnVmZmVyKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIiKTtyZXR1cm4gdGhpcz09PWV8fDA9PT11LmNvbXBhcmUodGhpcyxlKX0sdS5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3ZhciBlPSIiLHI9dC5JTlNQRUNUX01BWF9CWVRFUztyZXR1cm4gdGhpcy5sZW5ndGg+MCYmKGU9dGhpcy50b1N0cmluZygiaGV4IiwwLHIpLm1hdGNoKC8uezJ9L2cpLmpvaW4oIiAiKSx0aGlzLmxlbmd0aD5yJiYoZSs9IiAuLi4gIikpLCI8QnVmZmVyICIrZSsiPiJ9LHUucHJvdG90eXBlLmNvbXBhcmU9ZnVuY3Rpb24oZSx0LHIsbixpKXtpZighdS5pc0J1ZmZlcihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIik7aWYodm9pZCAwPT09dCYmKHQ9MCksdm9pZCAwPT09ciYmKHI9ZT9lLmxlbmd0aDowKSx2b2lkIDA9PT1uJiYobj0wKSx2b2lkIDA9PT1pJiYoaT10aGlzLmxlbmd0aCksdDwwfHxyPmUubGVuZ3RofHxuPDB8fGk+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIm91dCBvZiByYW5nZSBpbmRleCIpO2lmKG4+PWkmJnQ+PXIpcmV0dXJuIDA7aWYobj49aSlyZXR1cm4tMTtpZih0Pj1yKXJldHVybiAxO2lmKHRoaXM9PT1lKXJldHVybiAwO2Zvcih2YXIgbz0oaT4+Pj0wKS0obj4+Pj0wKSxhPShyPj4+PTApLSh0Pj4+PTApLHM9TWF0aC5taW4obyxhKSxjPXRoaXMuc2xpY2UobixpKSxmPWUuc2xpY2UodCxyKSxkPTA7ZDxzOysrZClpZihjW2RdIT09ZltkXSl7bz1jW2RdLGE9ZltkXTticmVha31yZXR1cm4gbzxhPy0xOmE8bz8xOjB9LHUucHJvdG90eXBlLmluY2x1ZGVzPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4tMSE9PXRoaXMuaW5kZXhPZihlLHQscil9LHUucHJvdG90eXBlLmluZGV4T2Y9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBtKHRoaXMsZSx0LHIsITApfSx1LnByb3RvdHlwZS5sYXN0SW5kZXhPZj1mdW5jdGlvbihlLHQscil7cmV0dXJuIG0odGhpcyxlLHQsciwhMSl9LHUucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKHZvaWQgMD09PXQpbj0idXRmOCIscj10aGlzLmxlbmd0aCx0PTA7ZWxzZSBpZih2b2lkIDA9PT1yJiYic3RyaW5nIj09dHlwZW9mIHQpbj10LHI9dGhpcy5sZW5ndGgsdD0wO2Vsc2V7aWYoIWlzRmluaXRlKHQpKXRocm93IG5ldyBFcnJvcigiQnVmZmVyLndyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldFssIGxlbmd0aF0pIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQiKTt0fD0wLGlzRmluaXRlKHIpPyhyfD0wLHZvaWQgMD09PW4mJihuPSJ1dGY4IikpOihuPXIscj12b2lkIDApfXZhciBpPXRoaXMubGVuZ3RoLXQ7aWYoKHZvaWQgMD09PXJ8fHI+aSkmJihyPWkpLGUubGVuZ3RoPjAmJihyPDB8fHQ8MCl8fHQ+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gd3JpdGUgb3V0c2lkZSBidWZmZXIgYm91bmRzIik7bnx8KG49InV0ZjgiKTtmb3IodmFyIG89ITE7Oylzd2l0Y2gobil7Y2FzZSJoZXgiOnJldHVybiBnKHRoaXMsZSx0LHIpO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuIHcodGhpcyxlLHQscik7Y2FzZSJhc2NpaSI6cmV0dXJuIEEodGhpcyxlLHQscik7Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gayh0aGlzLGUsdCxyKTtjYXNlImJhc2U2NCI6cmV0dXJuIF8odGhpcyxlLHQscik7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiBTKHRoaXMsZSx0LHIpO2RlZmF1bHQ6aWYobyl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK24pO249KCIiK24pLnRvTG93ZXJDYXNlKCksbz0hMH19LHUucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnt0eXBlOiJCdWZmZXIiLGRhdGE6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5fYXJyfHx0aGlzLDApfX07dmFyIFA9NDA5NjtmdW5jdGlvbiBPKGUsdCxyKXt2YXIgbj0iIjtyPU1hdGgubWluKGUubGVuZ3RoLHIpO2Zvcih2YXIgaT10O2k8cjsrK2kpbis9U3RyaW5nLmZyb21DaGFyQ29kZSgxMjcmZVtpXSk7cmV0dXJuIG59ZnVuY3Rpb24gQihlLHQscil7dmFyIG49IiI7cj1NYXRoLm1pbihlLmxlbmd0aCxyKTtmb3IodmFyIGk9dDtpPHI7KytpKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUoZVtpXSk7cmV0dXJuIG59ZnVuY3Rpb24gVChlLHQscil7dmFyIG4saT1lLmxlbmd0aDsoIXR8fHQ8MCkmJih0PTApLCghcnx8cjwwfHxyPmkpJiYocj1pKTtmb3IodmFyIG89IiIsYT10O2E8cjsrK2Epbys9KG49ZVthXSk8MTY/IjAiK24udG9TdHJpbmcoMTYpOm4udG9TdHJpbmcoMTYpO3JldHVybiBvfWZ1bmN0aW9uIEMoZSx0LHIpe2Zvcih2YXIgbj1lLnNsaWNlKHQsciksaT0iIixvPTA7bzxuLmxlbmd0aDtvKz0yKWkrPVN0cmluZy5mcm9tQ2hhckNvZGUobltvXSsyNTYqbltvKzFdKTtyZXR1cm4gaX1mdW5jdGlvbiBJKGUsdCxyKXtpZihlJTEhPTB8fGU8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib2Zmc2V0IGlzIG5vdCB1aW50Iik7aWYoZSt0PnIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlRyeWluZyB0byBhY2Nlc3MgYmV5b25kIGJ1ZmZlciBsZW5ndGgiKX1mdW5jdGlvbiBNKGUsdCxyLG4saSxvKXtpZighdS5pc0J1ZmZlcihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCciYnVmZmVyIiBhcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIGluc3RhbmNlJyk7aWYodD5pfHx0PG8pdGhyb3cgbmV3IFJhbmdlRXJyb3IoJyJ2YWx1ZSIgYXJndW1lbnQgaXMgb3V0IG9mIGJvdW5kcycpO2lmKHIrbj5lLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24gVShlLHQscixuKXt0PDAmJih0PTY1NTM1K3QrMSk7Zm9yKHZhciBpPTAsbz1NYXRoLm1pbihlLmxlbmd0aC1yLDIpO2k8bzsrK2kpZVtyK2ldPSh0JjI1NTw8OCoobj9pOjEtaSkpPj4+OCoobj9pOjEtaSl9ZnVuY3Rpb24gUihlLHQscixuKXt0PDAmJih0PTQyOTQ5NjcyOTUrdCsxKTtmb3IodmFyIGk9MCxvPU1hdGgubWluKGUubGVuZ3RoLXIsNCk7aTxvOysraSllW3IraV09dD4+PjgqKG4/aTozLWkpJjI1NX1mdW5jdGlvbiBqKGUsdCxyLG4saSxvKXtpZihyK24+ZS5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIpO2lmKHI8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24gTihlLHQscixuLG8pe3JldHVybiBvfHxqKGUsMCxyLDQpLGkud3JpdGUoZSx0LHIsbiwyMyw0KSxyKzR9ZnVuY3Rpb24gRihlLHQscixuLG8pe3JldHVybiBvfHxqKGUsMCxyLDgpLGkud3JpdGUoZSx0LHIsbiw1Miw4KSxyKzh9dS5wcm90b3R5cGUuc2xpY2U9ZnVuY3Rpb24oZSx0KXt2YXIgcixuPXRoaXMubGVuZ3RoO2lmKChlPX5+ZSk8MD8oZSs9bik8MCYmKGU9MCk6ZT5uJiYoZT1uKSwodD12b2lkIDA9PT10P246fn50KTwwPyh0Kz1uKTwwJiYodD0wKTp0Pm4mJih0PW4pLHQ8ZSYmKHQ9ZSksdS5UWVBFRF9BUlJBWV9TVVBQT1JUKShyPXRoaXMuc3ViYXJyYXkoZSx0KSkuX19wcm90b19fPXUucHJvdG90eXBlO2Vsc2V7dmFyIGk9dC1lO3I9bmV3IHUoaSx2b2lkIDApO2Zvcih2YXIgbz0wO288aTsrK28pcltvXT10aGlzW28rZV19cmV0dXJuIHJ9LHUucHJvdG90eXBlLnJlYWRVSW50TEU9ZnVuY3Rpb24oZSx0LHIpe2V8PTAsdHw9MCxyfHxJKGUsdCx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbZV0saT0xLG89MDsrK288dCYmKGkqPTI1Nik7KW4rPXRoaXNbZStvXSppO3JldHVybiBufSx1LnByb3RvdHlwZS5yZWFkVUludEJFPWZ1bmN0aW9uKGUsdCxyKXtlfD0wLHR8PTAscnx8SShlLHQsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW2UrLS10XSxpPTE7dD4wJiYoaSo9MjU2KTspbis9dGhpc1tlKy0tdF0qaTtyZXR1cm4gbn0sdS5wcm90b3R5cGUucmVhZFVJbnQ4PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHR8fEkoZSwxLHRoaXMubGVuZ3RoKSx0aGlzW2VdfSx1LnByb3RvdHlwZS5yZWFkVUludDE2TEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdHx8SShlLDIsdGhpcy5sZW5ndGgpLHRoaXNbZV18dGhpc1tlKzFdPDw4fSx1LnByb3RvdHlwZS5yZWFkVUludDE2QkU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdHx8SShlLDIsdGhpcy5sZW5ndGgpLHRoaXNbZV08PDh8dGhpc1tlKzFdfSx1LnByb3RvdHlwZS5yZWFkVUludDMyTEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdHx8SShlLDQsdGhpcy5sZW5ndGgpLCh0aGlzW2VdfHRoaXNbZSsxXTw8OHx0aGlzW2UrMl08PDE2KSsxNjc3NzIxNip0aGlzW2UrM119LHUucHJvdG90eXBlLnJlYWRVSW50MzJCRT1mdW5jdGlvbihlLHQpe3JldHVybiB0fHxJKGUsNCx0aGlzLmxlbmd0aCksMTY3NzcyMTYqdGhpc1tlXSsodGhpc1tlKzFdPDwxNnx0aGlzW2UrMl08PDh8dGhpc1tlKzNdKX0sdS5wcm90b3R5cGUucmVhZEludExFPWZ1bmN0aW9uKGUsdCxyKXtlfD0wLHR8PTAscnx8SShlLHQsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW2VdLGk9MSxvPTA7KytvPHQmJihpKj0yNTYpOyluKz10aGlzW2Urb10qaTtyZXR1cm4gbj49KGkqPTEyOCkmJihuLT1NYXRoLnBvdygyLDgqdCkpLG59LHUucHJvdG90eXBlLnJlYWRJbnRCRT1mdW5jdGlvbihlLHQscil7ZXw9MCx0fD0wLHJ8fEkoZSx0LHRoaXMubGVuZ3RoKTtmb3IodmFyIG49dCxpPTEsbz10aGlzW2UrLS1uXTtuPjAmJihpKj0yNTYpOylvKz10aGlzW2UrLS1uXSppO3JldHVybiBvPj0oaSo9MTI4KSYmKG8tPU1hdGgucG93KDIsOCp0KSksb30sdS5wcm90b3R5cGUucmVhZEludDg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdHx8SShlLDEsdGhpcy5sZW5ndGgpLDEyOCZ0aGlzW2VdPy0xKigyNTUtdGhpc1tlXSsxKTp0aGlzW2VdfSx1LnByb3RvdHlwZS5yZWFkSW50MTZMRT1mdW5jdGlvbihlLHQpe3R8fEkoZSwyLHRoaXMubGVuZ3RoKTt2YXIgcj10aGlzW2VdfHRoaXNbZSsxXTw8ODtyZXR1cm4gMzI3Njgmcj80Mjk0OTAxNzYwfHI6cn0sdS5wcm90b3R5cGUucmVhZEludDE2QkU9ZnVuY3Rpb24oZSx0KXt0fHxJKGUsMix0aGlzLmxlbmd0aCk7dmFyIHI9dGhpc1tlKzFdfHRoaXNbZV08PDg7cmV0dXJuIDMyNzY4JnI/NDI5NDkwMTc2MHxyOnJ9LHUucHJvdG90eXBlLnJlYWRJbnQzMkxFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHR8fEkoZSw0LHRoaXMubGVuZ3RoKSx0aGlzW2VdfHRoaXNbZSsxXTw8OHx0aGlzW2UrMl08PDE2fHRoaXNbZSszXTw8MjR9LHUucHJvdG90eXBlLnJlYWRJbnQzMkJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHR8fEkoZSw0LHRoaXMubGVuZ3RoKSx0aGlzW2VdPDwyNHx0aGlzW2UrMV08PDE2fHRoaXNbZSsyXTw8OHx0aGlzW2UrM119LHUucHJvdG90eXBlLnJlYWRGbG9hdExFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHR8fEkoZSw0LHRoaXMubGVuZ3RoKSxpLnJlYWQodGhpcyxlLCEwLDIzLDQpfSx1LnByb3RvdHlwZS5yZWFkRmxvYXRCRT1mdW5jdGlvbihlLHQpe3JldHVybiB0fHxJKGUsNCx0aGlzLmxlbmd0aCksaS5yZWFkKHRoaXMsZSwhMSwyMyw0KX0sdS5wcm90b3R5cGUucmVhZERvdWJsZUxFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHR8fEkoZSw4LHRoaXMubGVuZ3RoKSxpLnJlYWQodGhpcyxlLCEwLDUyLDgpfSx1LnByb3RvdHlwZS5yZWFkRG91YmxlQkU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdHx8SShlLDgsdGhpcy5sZW5ndGgpLGkucmVhZCh0aGlzLGUsITEsNTIsOCl9LHUucHJvdG90eXBlLndyaXRlVUludExFPWZ1bmN0aW9uKGUsdCxyLG4pe2U9K2UsdHw9MCxyfD0wLG58fE0odGhpcyxlLHQscixNYXRoLnBvdygyLDgqciktMSwwKTt2YXIgaT0xLG89MDtmb3IodGhpc1t0XT0yNTUmZTsrK288ciYmKGkqPTI1Nik7KXRoaXNbdCtvXT1lL2kmMjU1O3JldHVybiB0K3J9LHUucHJvdG90eXBlLndyaXRlVUludEJFPWZ1bmN0aW9uKGUsdCxyLG4pe2U9K2UsdHw9MCxyfD0wLG58fE0odGhpcyxlLHQscixNYXRoLnBvdygyLDgqciktMSwwKTt2YXIgaT1yLTEsbz0xO2Zvcih0aGlzW3QraV09MjU1JmU7LS1pPj0wJiYobyo9MjU2KTspdGhpc1t0K2ldPWUvbyYyNTU7cmV0dXJuIHQrcn0sdS5wcm90b3R5cGUud3JpdGVVSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdHw9MCxyfHxNKHRoaXMsZSx0LDEsMjU1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVHx8KGU9TWF0aC5mbG9vcihlKSksdGhpc1t0XT0yNTUmZSx0KzF9LHUucHJvdG90eXBlLndyaXRlVUludDE2TEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHR8PTAscnx8TSh0aGlzLGUsdCwyLDY1NTM1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgpOlUodGhpcyxlLHQsITApLHQrMn0sdS5wcm90b3R5cGUud3JpdGVVSW50MTZCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdHw9MCxyfHxNKHRoaXMsZSx0LDIsNjU1MzUsMCksdS5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW3RdPWU+Pj44LHRoaXNbdCsxXT0yNTUmZSk6VSh0aGlzLGUsdCwhMSksdCsyfSx1LnByb3RvdHlwZS53cml0ZVVJbnQzMkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fE0odGhpcyxlLHQsNCw0Mjk0OTY3Mjk1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0KzNdPWU+Pj4yNCx0aGlzW3QrMl09ZT4+PjE2LHRoaXNbdCsxXT1lPj4+OCx0aGlzW3RdPTI1NSZlKTpSKHRoaXMsZSx0LCEwKSx0KzR9LHUucHJvdG90eXBlLndyaXRlVUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHR8PTAscnx8TSh0aGlzLGUsdCw0LDQyOTQ5NjcyOTUsMCksdS5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW3RdPWU+Pj4yNCx0aGlzW3QrMV09ZT4+PjE2LHRoaXNbdCsyXT1lPj4+OCx0aGlzW3QrM109MjU1JmUpOlIodGhpcyxlLHQsITEpLHQrNH0sdS5wcm90b3R5cGUud3JpdGVJbnRMRT1mdW5jdGlvbihlLHQscixuKXtpZihlPStlLHR8PTAsIW4pe3ZhciBpPU1hdGgucG93KDIsOCpyLTEpO00odGhpcyxlLHQscixpLTEsLWkpfXZhciBvPTAsYT0xLHM9MDtmb3IodGhpc1t0XT0yNTUmZTsrK288ciYmKGEqPTI1Nik7KWU8MCYmMD09PXMmJjAhPT10aGlzW3Qrby0xXSYmKHM9MSksdGhpc1t0K29dPShlL2E+PjApLXMmMjU1O3JldHVybiB0K3J9LHUucHJvdG90eXBlLndyaXRlSW50QkU9ZnVuY3Rpb24oZSx0LHIsbil7aWYoZT0rZSx0fD0wLCFuKXt2YXIgaT1NYXRoLnBvdygyLDgqci0xKTtNKHRoaXMsZSx0LHIsaS0xLC1pKX12YXIgbz1yLTEsYT0xLHM9MDtmb3IodGhpc1t0K29dPTI1NSZlOy0tbz49MCYmKGEqPTI1Nik7KWU8MCYmMD09PXMmJjAhPT10aGlzW3QrbysxXSYmKHM9MSksdGhpc1t0K29dPShlL2E+PjApLXMmMjU1O3JldHVybiB0K3J9LHUucHJvdG90eXBlLndyaXRlSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdHw9MCxyfHxNKHRoaXMsZSx0LDEsMTI3LC0xMjgpLHUuVFlQRURfQVJSQVlfU1VQUE9SVHx8KGU9TWF0aC5mbG9vcihlKSksZTwwJiYoZT0yNTUrZSsxKSx0aGlzW3RdPTI1NSZlLHQrMX0sdS5wcm90b3R5cGUud3JpdGVJbnQxNkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fE0odGhpcyxlLHQsMiwzMjc2NywtMzI3NjgpLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgpOlUodGhpcyxlLHQsITApLHQrMn0sdS5wcm90b3R5cGUud3JpdGVJbnQxNkJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fE0odGhpcyxlLHQsMiwzMjc2NywtMzI3NjgpLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT1lPj4+OCx0aGlzW3QrMV09MjU1JmUpOlUodGhpcyxlLHQsITEpLHQrMn0sdS5wcm90b3R5cGUud3JpdGVJbnQzMkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0fD0wLHJ8fE0odGhpcyxlLHQsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44LHRoaXNbdCsyXT1lPj4+MTYsdGhpc1t0KzNdPWU+Pj4yNCk6Uih0aGlzLGUsdCwhMCksdCs0fSx1LnByb3RvdHlwZS53cml0ZUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHR8PTAscnx8TSh0aGlzLGUsdCw0LDIxNDc0ODM2NDcsLTIxNDc0ODM2NDgpLGU8MCYmKGU9NDI5NDk2NzI5NStlKzEpLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT1lPj4+MjQsdGhpc1t0KzFdPWU+Pj4xNix0aGlzW3QrMl09ZT4+PjgsdGhpc1t0KzNdPTI1NSZlKTpSKHRoaXMsZSx0LCExKSx0KzR9LHUucHJvdG90eXBlLndyaXRlRmxvYXRMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIE4odGhpcyxlLHQsITAscil9LHUucHJvdG90eXBlLndyaXRlRmxvYXRCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIE4odGhpcyxlLHQsITEscil9LHUucHJvdG90eXBlLndyaXRlRG91YmxlTEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBGKHRoaXMsZSx0LCEwLHIpfSx1LnByb3RvdHlwZS53cml0ZURvdWJsZUJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gRih0aGlzLGUsdCwhMSxyKX0sdS5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlLHQscixuKXtpZihyfHwocj0wKSxufHwwPT09bnx8KG49dGhpcy5sZW5ndGgpLHQ+PWUubGVuZ3RoJiYodD1lLmxlbmd0aCksdHx8KHQ9MCksbj4wJiZuPHImJihuPXIpLG49PT1yKXJldHVybiAwO2lmKDA9PT1lLmxlbmd0aHx8MD09PXRoaXMubGVuZ3RoKXJldHVybiAwO2lmKHQ8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigidGFyZ2V0U3RhcnQgb3V0IG9mIGJvdW5kcyIpO2lmKHI8MHx8cj49dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInNvdXJjZVN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihuPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoInNvdXJjZUVuZCBvdXQgb2YgYm91bmRzIik7bj50aGlzLmxlbmd0aCYmKG49dGhpcy5sZW5ndGgpLGUubGVuZ3RoLXQ8bi1yJiYobj1lLmxlbmd0aC10K3IpO3ZhciBpLG89bi1yO2lmKHRoaXM9PT1lJiZyPHQmJnQ8bilmb3IoaT1vLTE7aT49MDstLWkpZVtpK3RdPXRoaXNbaStyXTtlbHNlIGlmKG88MWUzfHwhdS5UWVBFRF9BUlJBWV9TVVBQT1JUKWZvcihpPTA7aTxvOysraSllW2krdF09dGhpc1tpK3JdO2Vsc2UgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwoZSx0aGlzLnN1YmFycmF5KHIscitvKSx0KTtyZXR1cm4gb30sdS5wcm90b3R5cGUuZmlsbD1mdW5jdGlvbihlLHQscixuKXtpZigic3RyaW5nIj09dHlwZW9mIGUpe2lmKCJzdHJpbmciPT10eXBlb2YgdD8obj10LHQ9MCxyPXRoaXMubGVuZ3RoKToic3RyaW5nIj09dHlwZW9mIHImJihuPXIscj10aGlzLmxlbmd0aCksMT09PWUubGVuZ3RoKXt2YXIgaT1lLmNoYXJDb2RlQXQoMCk7aTwyNTYmJihlPWkpfWlmKHZvaWQgMCE9PW4mJiJzdHJpbmciIT10eXBlb2Ygbil0aHJvdyBuZXcgVHlwZUVycm9yKCJlbmNvZGluZyBtdXN0IGJlIGEgc3RyaW5nIik7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYhdS5pc0VuY29kaW5nKG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrbil9ZWxzZSJudW1iZXIiPT10eXBlb2YgZSYmKGUmPTI1NSk7aWYodDwwfHx0aGlzLmxlbmd0aDx0fHx0aGlzLmxlbmd0aDxyKXRocm93IG5ldyBSYW5nZUVycm9yKCJPdXQgb2YgcmFuZ2UgaW5kZXgiKTtpZihyPD10KXJldHVybiB0aGlzO3ZhciBvO2lmKHQ+Pj49MCxyPXZvaWQgMD09PXI/dGhpcy5sZW5ndGg6cj4+PjAsZXx8KGU9MCksIm51bWJlciI9PXR5cGVvZiBlKWZvcihvPXQ7bzxyOysrbyl0aGlzW29dPWU7ZWxzZXt2YXIgYT11LmlzQnVmZmVyKGUpP2U6RChuZXcgdShlLG4pLnRvU3RyaW5nKCkpLHM9YS5sZW5ndGg7Zm9yKG89MDtvPHItdDsrK28pdGhpc1tvK3RdPWFbbyVzXX1yZXR1cm4gdGhpc307dmFyIEw9L1teK1wvMC05QS1aYS16LV9dL2c7ZnVuY3Rpb24gRChlLHQpe3ZhciByO3Q9dHx8MS8wO2Zvcih2YXIgbj1lLmxlbmd0aCxpPW51bGwsbz1bXSxhPTA7YTxuOysrYSl7aWYoKHI9ZS5jaGFyQ29kZUF0KGEpKT41NTI5NSYmcjw1NzM0NCl7aWYoIWkpe2lmKHI+NTYzMTkpeyh0LT0zKT4tMSYmby5wdXNoKDIzOSwxOTEsMTg5KTtjb250aW51ZX1pZihhKzE9PT1uKXsodC09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aT1yO2NvbnRpbnVlfWlmKHI8NTYzMjApeyh0LT0zKT4tMSYmby5wdXNoKDIzOSwxOTEsMTg5KSxpPXI7Y29udGludWV9cj02NTUzNisoaS01NTI5Njw8MTB8ci01NjMyMCl9ZWxzZSBpJiYodC09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSk7aWYoaT1udWxsLHI8MTI4KXtpZigodC09MSk8MClicmVhaztvLnB1c2gocil9ZWxzZSBpZihyPDIwNDgpe2lmKCh0LT0yKTwwKWJyZWFrO28ucHVzaChyPj42fDE5Miw2MyZyfDEyOCl9ZWxzZSBpZihyPDY1NTM2KXtpZigodC09Myk8MClicmVhaztvLnB1c2gocj4+MTJ8MjI0LHI+PjYmNjN8MTI4LDYzJnJ8MTI4KX1lbHNle2lmKCEocjwxMTE0MTEyKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgY29kZSBwb2ludCIpO2lmKCh0LT00KTwwKWJyZWFrO28ucHVzaChyPj4xOHwyNDAscj4+MTImNjN8MTI4LHI+PjYmNjN8MTI4LDYzJnJ8MTI4KX19cmV0dXJuIG99ZnVuY3Rpb24gSChlKXtyZXR1cm4gbi50b0J5dGVBcnJheShmdW5jdGlvbihlKXtpZigoZT1mdW5jdGlvbihlKXtyZXR1cm4gZS50cmltP2UudHJpbSgpOmUucmVwbGFjZSgvXlxzK3xccyskL2csIiIpfShlKS5yZXBsYWNlKEwsIiIpKS5sZW5ndGg8MilyZXR1cm4iIjtmb3IoO2UubGVuZ3RoJTQhPTA7KWUrPSI9IjtyZXR1cm4gZX0oZSkpfWZ1bmN0aW9uIHEoZSx0LHIsbil7Zm9yKHZhciBpPTA7aTxuJiYhKGkrcj49dC5sZW5ndGh8fGk+PWUubGVuZ3RoKTsrK2kpdFtpK3JdPWVbaV07cmV0dXJuIGl9fSwzNjc1OmU9PnsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXsxMDA6IkNvbnRpbnVlIiwxMDE6IlN3aXRjaGluZyBQcm90b2NvbHMiLDEwMjoiUHJvY2Vzc2luZyIsMjAwOiJPSyIsMjAxOiJDcmVhdGVkIiwyMDI6IkFjY2VwdGVkIiwyMDM6Ik5vbi1BdXRob3JpdGF0aXZlIEluZm9ybWF0aW9uIiwyMDQ6Ik5vIENvbnRlbnQiLDIwNToiUmVzZXQgQ29udGVudCIsMjA2OiJQYXJ0aWFsIENvbnRlbnQiLDIwNzoiTXVsdGktU3RhdHVzIiwyMDg6IkFscmVhZHkgUmVwb3J0ZWQiLDIyNjoiSU0gVXNlZCIsMzAwOiJNdWx0aXBsZSBDaG9pY2VzIiwzMDE6Ik1vdmVkIFBlcm1hbmVudGx5IiwzMDI6IkZvdW5kIiwzMDM6IlNlZSBPdGhlciIsMzA0OiJOb3QgTW9kaWZpZWQiLDMwNToiVXNlIFByb3h5IiwzMDc6IlRlbXBvcmFyeSBSZWRpcmVjdCIsMzA4OiJQZXJtYW5lbnQgUmVkaXJlY3QiLDQwMDoiQmFkIFJlcXVlc3QiLDQwMToiVW5hdXRob3JpemVkIiw0MDI6IlBheW1lbnQgUmVxdWlyZWQiLDQwMzoiRm9yYmlkZGVuIiw0MDQ6Ik5vdCBGb3VuZCIsNDA1OiJNZXRob2QgTm90IEFsbG93ZWQiLDQwNjoiTm90IEFjY2VwdGFibGUiLDQwNzoiUHJveHkgQXV0aGVudGljYXRpb24gUmVxdWlyZWQiLDQwODoiUmVxdWVzdCBUaW1lb3V0Iiw0MDk6IkNvbmZsaWN0Iiw0MTA6IkdvbmUiLDQxMToiTGVuZ3RoIFJlcXVpcmVkIiw0MTI6IlByZWNvbmRpdGlvbiBGYWlsZWQiLDQxMzoiUGF5bG9hZCBUb28gTGFyZ2UiLDQxNDoiVVJJIFRvbyBMb25nIiw0MTU6IlVuc3VwcG9ydGVkIE1lZGlhIFR5cGUiLDQxNjoiUmFuZ2UgTm90IFNhdGlzZmlhYmxlIiw0MTc6IkV4cGVjdGF0aW9uIEZhaWxlZCIsNDE4OiJJJ20gYSB0ZWFwb3QiLDQyMToiTWlzZGlyZWN0ZWQgUmVxdWVzdCIsNDIyOiJVbnByb2Nlc3NhYmxlIEVudGl0eSIsNDIzOiJMb2NrZWQiLDQyNDoiRmFpbGVkIERlcGVuZGVuY3kiLDQyNToiVW5vcmRlcmVkIENvbGxlY3Rpb24iLDQyNjoiVXBncmFkZSBSZXF1aXJlZCIsNDI4OiJQcmVjb25kaXRpb24gUmVxdWlyZWQiLDQyOToiVG9vIE1hbnkgUmVxdWVzdHMiLDQzMToiUmVxdWVzdCBIZWFkZXIgRmllbGRzIFRvbyBMYXJnZSIsNDUxOiJVbmF2YWlsYWJsZSBGb3IgTGVnYWwgUmVhc29ucyIsNTAwOiJJbnRlcm5hbCBTZXJ2ZXIgRXJyb3IiLDUwMToiTm90IEltcGxlbWVudGVkIiw1MDI6IkJhZCBHYXRld2F5Iiw1MDM6IlNlcnZpY2UgVW5hdmFpbGFibGUiLDUwNDoiR2F0ZXdheSBUaW1lb3V0Iiw1MDU6IkhUVFAgVmVyc2lvbiBOb3QgU3VwcG9ydGVkIiw1MDY6IlZhcmlhbnQgQWxzbyBOZWdvdGlhdGVzIiw1MDc6Ikluc3VmZmljaWVudCBTdG9yYWdlIiw1MDg6Ikxvb3AgRGV0ZWN0ZWQiLDUwOToiQmFuZHdpZHRoIExpbWl0IEV4Y2VlZGVkIiw1MTA6Ik5vdCBFeHRlbmRlZCIsNTExOiJOZXR3b3JrIEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkIn19LDU5MzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoNzcwMSksaT1yKDQzNzMpLG89aShuKCJTdHJpbmcucHJvdG90eXBlLmluZGV4T2YiKSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIHI9bihlLCEhdCk7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHImJm8oZSwiLnByb3RvdHlwZS4iKT4tMT9pKHIpOnJ9fSw0MzczOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cigzNzY3KSxpPXIoNzcwMSksbz1pKCIlRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5JSIpLGE9aSgiJUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsJSIpLHM9aSgiJVJlZmxlY3QuYXBwbHklIiwhMCl8fG4uY2FsbChhLG8pLHU9aSgiJU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IlIiwhMCksYz1pKCIlT2JqZWN0LmRlZmluZVByb3BlcnR5JSIsITApLGY9aSgiJU1hdGgubWF4JSIpO2lmKGMpdHJ5e2Moe30sImEiLHt2YWx1ZToxfSl9Y2F0Y2goZSl7Yz1udWxsfWUuZXhwb3J0cz1mdW5jdGlvbihlKXt2YXIgdD1zKG4sYSxhcmd1bWVudHMpO2lmKHUmJmMpe3ZhciByPXUodCwibGVuZ3RoIik7ci5jb25maWd1cmFibGUmJmModCwibGVuZ3RoIix7dmFsdWU6MStmKDAsZS5sZW5ndGgtKGFyZ3VtZW50cy5sZW5ndGgtMSkpfSl9cmV0dXJuIHR9O3ZhciBkPWZ1bmN0aW9uKCl7cmV0dXJuIHMobixvLGFyZ3VtZW50cyl9O2M/YyhlLmV4cG9ydHMsImFwcGx5Iix7dmFsdWU6ZH0pOmUuZXhwb3J0cy5hcHBseT1kfSw3NzU5OihlLHQscik9PnsidXNlIHN0cmljdCI7Zm9yKHZhciBuPXIoODg0Nykocig0NTE5KSksaT1yKDM2MzApLG89e30sYT0wLHM9T2JqZWN0LmVudHJpZXMoaSk7YTxzLmxlbmd0aDthKyspe3ZhciB1PSgwLG4uZGVmYXVsdCkoc1thXSwyKSxjPXVbMF0sZj11WzFdO29bYy50b1VwcGVyQ2FzZSgpLnJlcGxhY2UoLy0vZywiXyIpXT1mfWUuZXhwb3J0cz1PYmplY3QuZnJlZXplKG8pfSw3MjIzOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXIsaT1yKDY2NTcpLG89cig1MjYyKSxhPXIoMTg0Mikscz1yKDc3OSk7KHQ9ZS5leHBvcnRzKS5hZGRQcmVmaXg9ZnVuY3Rpb24oZSx0KXt2YXIgcjtpZihuLmlzQnVmZmVyKGUpKXI9cy52YXJpbnRCdWZmZXJFbmNvZGUoZSk7ZWxzZXtpZighYVtlXSl0aHJvdyBuZXcgRXJyb3IoIm11bHRpY29kZWMgbm90IHJlY29nbml6ZWQiKTtyPWFbZV19cmV0dXJuIG4uY29uY2F0KFtyLHRdKX0sdC5ybVByZWZpeD1mdW5jdGlvbihlKXtyZXR1cm4gaS5kZWNvZGUoZSksZS5zbGljZShpLmRlY29kZS5ieXRlcyl9LHQuZ2V0Q29kZWM9ZnVuY3Rpb24oZSl7dmFyIHQ9aS5kZWNvZGUoZSkscj1vLmdldCh0KTtpZih2b2lkIDA9PT1yKXRocm93IG5ldyBFcnJvcigiQ29kZSAiLmNvbmNhdCh0LCIgbm90IGZvdW5kIikpO3JldHVybiByfSx0LmdldE5hbWU9ZnVuY3Rpb24oZSl7cmV0dXJuIG8uZ2V0KGUpfSx0LmdldE51bWJlcj1mdW5jdGlvbihlKXt2YXIgdD1hW2VdO2lmKHZvaWQgMD09PXQpdGhyb3cgbmV3IEVycm9yKCJDb2RlYyBgIitlKyJgIG5vdCBmb3VuZCIpO3JldHVybiBzLnZhcmludEJ1ZmZlckRlY29kZSh0KVswXX0sdC5nZXRDb2RlPWZ1bmN0aW9uKGUpe3JldHVybiBpLmRlY29kZShlKX0sdC5nZXRDb2RlVmFyaW50PWZ1bmN0aW9uKGUpe3ZhciB0PWFbZV07aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgRXJyb3IoIkNvZGVjIGAiK2UrImAgbm90IGZvdW5kIik7cmV0dXJuIHR9LHQuZ2V0VmFyaW50PWZ1bmN0aW9uKGUpe3JldHVybiBpLmVuY29kZShlKX07dmFyIHU9cig3NzU5KTtPYmplY3QuYXNzaWduKHQsdSksdC5wcmludD1yKDkyNjgpfSw1MjYyOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cigzNjMwKSxpPW5ldyBNYXA7Zm9yKHZhciBvIGluIG4pe3ZhciBhPW5bb107aS5zZXQoYSxvKX1lLmV4cG9ydHM9T2JqZWN0LmZyZWV6ZShpKX0sOTI2ODooZSx0LHIpPT57InVzZSBzdHJpY3QiO2Zvcih2YXIgbj1yKDg4NDcpKHIoNDUxOSkpLGk9cigzNjMwKSxvPXt9LGE9MCxzPU9iamVjdC5lbnRyaWVzKGkpO2E8cy5sZW5ndGg7YSsrKXt2YXIgdT0oMCxuLmRlZmF1bHQpKHNbYV0sMiksYz11WzBdLGY9dVsxXTt2b2lkIDA9PT1vW2ZdJiYob1tmXT1jKX1lLmV4cG9ydHM9T2JqZWN0LmZyZWV6ZShvKX0sNzc5OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig2NjU3KSxpPXIoOTAzMykuQnVmZmVyO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIHBhcnNlSW50KGUudG9TdHJpbmcoImhleCIpLDE2KX1mdW5jdGlvbiBhKGUpe3ZhciB0PWUudG9TdHJpbmcoMTYpO3JldHVybiB0Lmxlbmd0aCUyPT0xJiYodD0iMCIrdCksaS5mcm9tKHQsImhleCIpfWUuZXhwb3J0cz17bnVtYmVyVG9CdWZmZXI6YSxidWZmZXJUb051bWJlcjpvLHZhcmludEJ1ZmZlckVuY29kZTpmdW5jdGlvbihlKXtyZXR1cm4gaS5mcm9tKG4uZW5jb2RlKG8oZSkpKX0sdmFyaW50QnVmZmVyRGVjb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBhKG4uZGVjb2RlKGUpKX0sdmFyaW50RW5jb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBpLmZyb20obi5lbmNvZGUoZSkpfX19LDE4NDI6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDM2MzApLGk9cig3NzkpLnZhcmludEVuY29kZSxvPXt9O2Zvcih2YXIgYSBpbiBuKXt2YXIgcz1uW2FdO29bYV09aShzKX1lLmV4cG9ydHM9T2JqZWN0LmZyZWV6ZShvKX0sOTk3NjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoNzc0OCksaT1yKDkwMzMpLkJ1ZmZlcixvPXtjaGVja0NJRENvbXBvbmVudHM6ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4ibnVsbCB2YWx1ZXMgYXJlIG5vdCB2YWxpZCBDSURzIjtpZigwIT09ZS52ZXJzaW9uJiYxIT09ZS52ZXJzaW9uKXJldHVybiJJbnZhbGlkIHZlcnNpb24sIG11c3QgYmUgYSBudW1iZXIgZXF1YWwgdG8gMSBvciAwIjtpZigic3RyaW5nIiE9dHlwZW9mIGUuY29kZWMpcmV0dXJuImNvZGVjIG11c3QgYmUgc3RyaW5nIjtpZigwPT09ZS52ZXJzaW9uKXtpZigiZGFnLXBiIiE9PWUuY29kZWMpcmV0dXJuImNvZGVjIG11c3QgYmUgJ2RhZy1wYicgZm9yIENJRHYwIjtpZigiYmFzZTU4YnRjIiE9PWUubXVsdGliYXNlTmFtZSlyZXR1cm4ibXVsdGliYXNlTmFtZSBtdXN0IGJlICdiYXNlNThidGMnIGZvciBDSUR2MCJ9aWYoIWkuaXNCdWZmZXIoZS5tdWx0aWhhc2gpKXJldHVybiJtdWx0aWhhc2ggbXVzdCBiZSBhIEJ1ZmZlciI7dHJ5e24udmFsaWRhdGUoZS5tdWx0aWhhc2gpfWNhdGNoKGUpe3ZhciB0PWUubWVzc2FnZTtyZXR1cm4gdHx8KHQ9Ik11bHRpaGFzaCB2YWxpZGF0aW9uIGZhaWxlZCIpLHR9fX07ZS5leHBvcnRzPW99LDI3NTM6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpLGk9bihyKDk3MjEpKSxvPW4ocig4OTg1KSksYT1yKDkwMzMpLkJ1ZmZlcixzPXIoNzc0OCksdT1yKDYwODYpLGM9cig3MjIzKSxmPXIoMzYzMCksZD1yKDk5NzYpLGw9cigzMTYyKShmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUscixuLG8pe2lmKCgwLGkuZGVmYXVsdCkodGhpcyx0KSxsLmlzQ0lEKGUpKXt2YXIgZj1lO3JldHVybiB0aGlzLnZlcnNpb249Zi52ZXJzaW9uLHRoaXMuY29kZWM9Zi5jb2RlYyx0aGlzLm11bHRpaGFzaD1hLmZyb20oZi5tdWx0aWhhc2gpLHZvaWQodGhpcy5tdWx0aWJhc2VOYW1lPWYubXVsdGliYXNlTmFtZXx8KDA9PT1mLnZlcnNpb24/ImJhc2U1OGJ0YyI6ImJhc2UzMiIpKX1pZigic3RyaW5nIj09dHlwZW9mIGUpe3ZhciBkPXUuaXNFbmNvZGVkKGUpO2lmKGQpe3ZhciBoPXUuZGVjb2RlKGUpO3RoaXMudmVyc2lvbj1wYXJzZUludChoLnNsaWNlKDAsMSkudG9TdHJpbmcoImhleCIpLDE2KSx0aGlzLmNvZGVjPWMuZ2V0Q29kZWMoaC5zbGljZSgxKSksdGhpcy5tdWx0aWhhc2g9Yy5ybVByZWZpeChoLnNsaWNlKDEpKSx0aGlzLm11bHRpYmFzZU5hbWU9ZH1lbHNlIHRoaXMudmVyc2lvbj0wLHRoaXMuY29kZWM9ImRhZy1wYiIsdGhpcy5tdWx0aWhhc2g9cy5mcm9tQjU4U3RyaW5nKGUpLHRoaXMubXVsdGliYXNlTmFtZT0iYmFzZTU4YnRjIjtyZXR1cm4gdC52YWxpZGF0ZUNJRCh0aGlzKSx2b2lkIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJzdHJpbmciLHt2YWx1ZTplfSl9aWYoYS5pc0J1ZmZlcihlKSl7dmFyIHA9ZS5zbGljZSgwLDEpLGI9cGFyc2VJbnQocC50b1N0cmluZygiaGV4IiksMTYpO2lmKDE9PT1iKXt2YXIgeT1lO3RoaXMudmVyc2lvbj1iLHRoaXMuY29kZWM9Yy5nZXRDb2RlYyh5LnNsaWNlKDEpKSx0aGlzLm11bHRpaGFzaD1jLnJtUHJlZml4KHkuc2xpY2UoMSkpLHRoaXMubXVsdGliYXNlTmFtZT0iYmFzZTMyIn1lbHNlIHRoaXMudmVyc2lvbj0wLHRoaXMuY29kZWM9ImRhZy1wYiIsdGhpcy5tdWx0aWhhc2g9ZSx0aGlzLm11bHRpYmFzZU5hbWU9ImJhc2U1OGJ0YyI7dC52YWxpZGF0ZUNJRCh0aGlzKX1lbHNlIHRoaXMudmVyc2lvbj1lLHRoaXMuY29kZWM9cix0aGlzLm11bHRpaGFzaD1uLHRoaXMubXVsdGliYXNlTmFtZT1vfHwoMD09PWU/ImJhc2U1OGJ0YyI6ImJhc2UzMiIpLHQudmFsaWRhdGVDSUQodGhpcyl9cmV0dXJuKDAsby5kZWZhdWx0KSh0LFt7a2V5OiJidWZmZXIiLGdldDpmdW5jdGlvbigpe3ZhciBlPXRoaXMuX2J1ZmZlcjtpZighZSl7aWYoMD09PXRoaXMudmVyc2lvbillPXRoaXMubXVsdGloYXNoO2Vsc2V7aWYoMSE9PXRoaXMudmVyc2lvbil0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIHZlcnNpb24iKTtlPWEuY29uY2F0KFthLmZyb20oIjAxIiwiaGV4IiksYy5nZXRDb2RlVmFyaW50KHRoaXMuY29kZWMpLHRoaXMubXVsdGloYXNoXSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIl9idWZmZXIiLHt2YWx1ZTplfSl9cmV0dXJuIGV9fSx7a2V5OiJwcmVmaXgiLGdldDpmdW5jdGlvbigpe3JldHVybiBhLmNvbmNhdChbYS5mcm9tKCIwIi5jb25jYXQodGhpcy52ZXJzaW9uKSwiaGV4IiksYy5nZXRDb2RlVmFyaW50KHRoaXMuY29kZWMpLHMucHJlZml4KHRoaXMubXVsdGloYXNoKV0pfX0se2tleToidG9WMCIsdmFsdWU6ZnVuY3Rpb24oKXtpZigiZGFnLXBiIiE9PXRoaXMuY29kZWMpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgY29udmVydCBhIG5vbiBkYWctcGIgQ0lEIHRvIENJRHYwIik7dmFyIGU9cy5kZWNvZGUodGhpcy5tdWx0aWhhc2gpLHQ9ZS5uYW1lLHI9ZS5sZW5ndGg7aWYoInNoYTItMjU2IiE9PXQpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgY29udmVydCBub24gc2hhMi0yNTYgbXVsdGloYXNoIENJRCB0byBDSUR2MCIpO2lmKDMyIT09cil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBjb252ZXJ0IG5vbiAzMiBieXRlIG11bHRpaGFzaCBDSUQgdG8gQ0lEdjAiKTtyZXR1cm4gbmV3IGwoMCx0aGlzLmNvZGVjLHRoaXMubXVsdGloYXNoKX19LHtrZXk6InRvVjEiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBsKDEsdGhpcy5jb2RlYyx0aGlzLm11bHRpaGFzaCl9fSx7a2V5OiJ0b0Jhc2VFbmNvZGVkU3RyaW5nIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp0aGlzLm11bHRpYmFzZU5hbWU7aWYodGhpcy5zdHJpbmcmJmU9PT10aGlzLm11bHRpYmFzZU5hbWUpcmV0dXJuIHRoaXMuc3RyaW5nO3ZhciB0PW51bGw7aWYoMD09PXRoaXMudmVyc2lvbil7aWYoImJhc2U1OGJ0YyIhPT1lKXRocm93IG5ldyBFcnJvcigibm90IHN1cHBvcnRlZCB3aXRoIENJRHYwLCB0byBzdXBwb3J0IGRpZmZlcmVudCBiYXNlcywgcGxlYXNlIG1pZ3JhdGUgdGhlIGluc3RhbmNlIGRvIENJRHYxLCB5b3UgY2FuIGRvIHRoYXQgdGhyb3VnaCBjaWQudG9WMSgpIik7dD1zLnRvQjU4U3RyaW5nKHRoaXMubXVsdGloYXNoKX1lbHNle2lmKDEhPT10aGlzLnZlcnNpb24pdGhyb3cgbmV3IEVycm9yKCJ1bnN1cHBvcnRlZCB2ZXJzaW9uIik7dD11LmVuY29kZShlLHRoaXMuYnVmZmVyKS50b1N0cmluZygpfXJldHVybiBlPT09dGhpcy5tdWx0aWJhc2VOYW1lJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywic3RyaW5nIix7dmFsdWU6dH0pLHR9fSx7a2V5OmUsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4iQ0lEKCIrdGhpcy50b1N0cmluZygpKyIpIn19LHtrZXk6InRvU3RyaW5nIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy50b0Jhc2VFbmNvZGVkU3RyaW5nKGUpfX0se2tleToidG9KU09OIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybntjb2RlYzp0aGlzLmNvZGVjLHZlcnNpb246dGhpcy52ZXJzaW9uLGhhc2g6dGhpcy5tdWx0aWhhc2h9fX0se2tleToiZXF1YWxzIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jb2RlYz09PWUuY29kZWMmJnRoaXMudmVyc2lvbj09PWUudmVyc2lvbiYmdGhpcy5tdWx0aWhhc2guZXF1YWxzKGUubXVsdGloYXNoKX19XSxbe2tleToidmFsaWRhdGVDSUQiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PWQuY2hlY2tDSURDb21wb25lbnRzKGUpO2lmKHQpdGhyb3cgbmV3IEVycm9yKHQpfX1dKSx0fShTeW1ib2wuZm9yKCJub2RlanMudXRpbC5pbnNwZWN0LmN1c3RvbSIpKSx7Y2xhc3NOYW1lOiJDSUQiLHN5bWJvbE5hbWU6IkBpcGxkL2pzLWNpZC9DSUQifSk7bC5jb2RlY3M9ZixlLmV4cG9ydHM9bH0sMzAxMzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg1MCkuQnVmZmVyLGk9cig3MjQ1KS5UcmFuc2Zvcm0sbz1yKDM0NjIpLnM7ZnVuY3Rpb24gYShlKXtpLmNhbGwodGhpcyksdGhpcy5oYXNoTW9kZT0ic3RyaW5nIj09dHlwZW9mIGUsdGhpcy5oYXNoTW9kZT90aGlzW2VdPXRoaXMuX2ZpbmFsT3JEaWdlc3Q6dGhpcy5maW5hbD10aGlzLl9maW5hbE9yRGlnZXN0LHRoaXMuX2ZpbmFsJiYodGhpcy5fX2ZpbmFsPXRoaXMuX2ZpbmFsLHRoaXMuX2ZpbmFsPW51bGwpLHRoaXMuX2RlY29kZXI9bnVsbCx0aGlzLl9lbmNvZGluZz1udWxsfXIoMTczNikoYSxpKSxhLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oZSx0LHIpeyJzdHJpbmciPT10eXBlb2YgZSYmKGU9bi5mcm9tKGUsdCkpO3ZhciBpPXRoaXMuX3VwZGF0ZShlKTtyZXR1cm4gdGhpcy5oYXNoTW9kZT90aGlzOihyJiYoaT10aGlzLl90b1N0cmluZyhpLHIpKSxpKX0sYS5wcm90b3R5cGUuc2V0QXV0b1BhZGRpbmc9ZnVuY3Rpb24oKXt9LGEucHJvdG90eXBlLmdldEF1dGhUYWc9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoInRyeWluZyB0byBnZXQgYXV0aCB0YWcgaW4gdW5zdXBwb3J0ZWQgc3RhdGUiKX0sYS5wcm90b3R5cGUuc2V0QXV0aFRhZz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigidHJ5aW5nIHRvIHNldCBhdXRoIHRhZyBpbiB1bnN1cHBvcnRlZCBzdGF0ZSIpfSxhLnByb3RvdHlwZS5zZXRBQUQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoInRyeWluZyB0byBzZXQgYWFkIGluIHVuc3VwcG9ydGVkIHN0YXRlIil9LGEucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24oZSx0LHIpe3ZhciBuO3RyeXt0aGlzLmhhc2hNb2RlP3RoaXMuX3VwZGF0ZShlKTp0aGlzLnB1c2godGhpcy5fdXBkYXRlKGUpKX1jYXRjaChlKXtuPWV9ZmluYWxseXtyKG4pfX0sYS5wcm90b3R5cGUuX2ZsdXNoPWZ1bmN0aW9uKGUpe3ZhciB0O3RyeXt0aGlzLnB1c2godGhpcy5fX2ZpbmFsKCkpfWNhdGNoKGUpe3Q9ZX1lKHQpfSxhLnByb3RvdHlwZS5fZmluYWxPckRpZ2VzdD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9fZmluYWwoKXx8bi5hbGxvYygwKTtyZXR1cm4gZSYmKHQ9dGhpcy5fdG9TdHJpbmcodCxlLCEwKSksdH0sYS5wcm90b3R5cGUuX3RvU3RyaW5nPWZ1bmN0aW9uKGUsdCxyKXtpZih0aGlzLl9kZWNvZGVyfHwodGhpcy5fZGVjb2Rlcj1uZXcgbyh0KSx0aGlzLl9lbmNvZGluZz10KSx0aGlzLl9lbmNvZGluZyE9PXQpdGhyb3cgbmV3IEVycm9yKCJjYW4ndCBzd2l0Y2ggZW5jb2RpbmdzIik7dmFyIG49dGhpcy5fZGVjb2Rlci53cml0ZShlKTtyZXR1cm4gciYmKG4rPXRoaXMuX2RlY29kZXIuZW5kKCkpLG59LGUuZXhwb3J0cz1hfSwzMTYyOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KSxpPW4ocig0NzI3KSksbz1uKHIoNzc1KSksYT1uKHIoOTcyMSkpLHM9bihyKDg5ODUpKSx1PW4ocig4OTc1KSksYz1uKHIoNTE2MykpLGY9bihyKDQ2NTApKSxkPW4ocigxOTQ5KSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dC5jbGFzc05hbWUsbj10LnN5bWJvbE5hbWUsaT1TeW1ib2wuZm9yKG4pLGw9KDAsby5kZWZhdWx0KSh7fSxyLGZ1bmN0aW9uKGUsdCl7KDAsYy5kZWZhdWx0KShoLGUpO3ZhciBuLG8sbD0obj1oLG89ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBQcm94eSlyZXR1cm4hMDt0cnl7cmV0dXJuIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChCb29sZWFuLFtdLChmdW5jdGlvbigpe30pKSksITB9Y2F0Y2goZSl7cmV0dXJuITF9fSgpLGZ1bmN0aW9uKCl7dmFyIGUsdD0oMCxkLmRlZmF1bHQpKG4pO2lmKG8pe3ZhciByPSgwLGQuZGVmYXVsdCkodGhpcykuY29uc3RydWN0b3I7ZT1SZWZsZWN0LmNvbnN0cnVjdCh0LGFyZ3VtZW50cyxyKX1lbHNlIGU9dC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuKDAsZi5kZWZhdWx0KSh0aGlzLGUpfSk7ZnVuY3Rpb24gaCgpe3ZhciBlOygwLGEuZGVmYXVsdCkodGhpcyxoKTtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheSh0KSxuPTA7bjx0O24rKylyW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gZT1sLmNhbGwuYXBwbHkobCxbdGhpc10uY29uY2F0KHIpKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoKDAsdS5kZWZhdWx0KShlKSxpLHt2YWx1ZTohMH0pLGV9cmV0dXJuKDAscy5kZWZhdWx0KShoLFt7a2V5OnQsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fV0pLGh9KGUsU3ltYm9sLnRvU3RyaW5nVGFnKSlbcl07cmV0dXJuIGxbImlzIi5jb25jYXQocildPWZ1bmN0aW9uKGUpe3JldHVybiEoIWV8fCFlW2ldKX0sbH0sZS5leHBvcnRzLnByb3RvPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dC5jbGFzc05hbWUsbj10LnN5bWJvbE5hbWUsYT10LndpdGhvdXROZXcscz1TeW1ib2wuZm9yKG4pLHU9KDAsby5kZWZhdWx0KSh7fSxyLChmdW5jdGlvbigpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KHQpLG49MDtuPHQ7bisrKXJbbl09YXJndW1lbnRzW25dO2lmKGEmJiEodGhpcyBpbnN0YW5jZW9mIHUpKXJldHVybigwLGkuZGVmYXVsdCkodSxyKTt2YXIgbz1lLmNhbGwuYXBwbHkoZSxbdGhpc10uY29uY2F0KHIpKXx8dGhpcztyZXR1cm4gbyYmIW9bc10mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLHMse3ZhbHVlOiEwfSksb30pKVtyXTtyZXR1cm4gdS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksdS5wcm90b3R5cGUuY29uc3RydWN0b3I9dSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsU3ltYm9sLnRvU3RyaW5nVGFnLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcn19KSx1WyJpcyIuY29uY2F0KHIpXT1mdW5jdGlvbihlKXtyZXR1cm4hKCFlfHwhZVtzXSl9LHV9fSw2ODM0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cigyNzUzKTt0LmNpZFYwVG9WMUJhc2UzMj1mdW5jdGlvbihlKXt2YXIgdD1uZXcgbihlKTtyZXR1cm4gMD09PXQudmVyc2lvbiYmKHQ9dC50b1YxKCkpLHQudG9TdHJpbmcoImJhc2UzMiIpfX0sNDMwODooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTIwNiksaT1yKDk1MTIpLG89aS5oZXhTdHJpbmdUb0J1ZmZlcixhPWkucHJvZmlsZXMscz1yKDY4MzQpLmNpZFYwVG9WMUJhc2UzMjtlLmV4cG9ydHM9e2hlbHBlcnM6e2NpZFYwVG9WMUJhc2UzMjpzfSxkZWNvZGU6ZnVuY3Rpb24oZSl7dmFyIHQ9byhlKSxyPW4uZ2V0Q29kZWModCksaT1uLnJtUHJlZml4KHQpLHM9YVtyXTtyZXR1cm4gc3x8KHM9YS5kZWZhdWx0KSxzLmRlY29kZShpKX0sZnJvbUlwZnM6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZW5jb2RlKCJpcGZzLW5zIixlKX0sZnJvbVN3YXJtOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVuY29kZSgic3dhcm0tbnMiLGUpfSxlbmNvZGU6ZnVuY3Rpb24oZSx0KXt2YXIgcj1hW2VdO3J8fChyPWEuZGVmYXVsdCk7dmFyIGk9ci5lbmNvZGUodCk7cmV0dXJuIG4uYWRkUHJlZml4KGUsaSkudG9TdHJpbmcoImhleCIpfSxnZXRDb2RlYzpmdW5jdGlvbihlKXt2YXIgdD1vKGUpO3JldHVybiBuLmdldENvZGVjKHQpfX19LDk1MTI6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDkwMzMpLkJ1ZmZlcixpPXIoMjc1Myksbz1yKDc3NDgpLGE9ZnVuY3Rpb24oZSl7dmFyIHQscj1lLnNsaWNlKDAsMiksbj1lLnNsaWNlKDIpO3JldHVybiB0PSIweCI9PT1yP246ZSxvLmZyb21IZXhTdHJpbmcodCl9LHM9e3N3YXJtOmZ1bmN0aW9uKGUpe3ZhciB0PW8uZW5jb2RlKGEoZSksImtlY2Nhay0yNTYiKTtyZXR1cm4gbmV3IGkoMSwic3dhcm0tbWFuaWZlc3QiLHQpLmJ1ZmZlcn0saXBmczpmdW5jdGlvbihlKXt2YXIgdD1vLmZyb21CNThTdHJpbmcoZSk7cmV0dXJuIG5ldyBpKDEsImRhZy1wYiIsdCkuYnVmZmVyfSx1dGY4OmZ1bmN0aW9uKGUpe3JldHVybiBuLmZyb20oZSwidXRmOCIpfX0sdT17aGV4TXVsdGlIYXNoOmZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBpKGUpO3JldHVybiBvLmRlY29kZSh0Lm11bHRpaGFzaCkuZGlnZXN0LnRvU3RyaW5nKCJoZXgiKX0sYjU4TXVsdGlIYXNoOmZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBpKGUpO3JldHVybiBvLnRvQjU4U3RyaW5nKHQubXVsdGloYXNoKX0sdXRmODpmdW5jdGlvbihlKXtyZXR1cm4gZS50b1N0cmluZygidXRmOCIpfX0sYz17InN3YXJtLW5zIjp7ZW5jb2RlOnMuc3dhcm0sZGVjb2RlOnUuaGV4TXVsdGlIYXNofSwiaXBmcy1ucyI6e2VuY29kZTpzLmlwZnMsZGVjb2RlOnUuYjU4TXVsdGlIYXNofSwiaXBucy1ucyI6e2VuY29kZTpzLmlwZnMsZGVjb2RlOnUuYjU4TXVsdGlIYXNofSxkZWZhdWx0OntlbmNvZGU6cy51dGY4LGRlY29kZTp1LnV0Zjh9fTt0LmhleFN0cmluZ1RvQnVmZmVyPWEsdC5wcm9maWxlcz1jfSw0NjI4OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG4saSxvPXIoODg0NykocigzMzU1KSk7aT1mdW5jdGlvbihlKXtlLnZlcnNpb249IjEuMi4yIjt2YXIgdD1mdW5jdGlvbigpe2Zvcih2YXIgZT0wLHQ9bmV3IEFycmF5KDI1Nikscj0wOzI1NiE9cjsrK3IpZT0xJihlPTEmKGU9MSYoZT0xJihlPTEmKGU9MSYoZT0xJihlPTEmKGU9cik/LTMwNjY3NDkxMl5lPj4+MTplPj4+MSk/LTMwNjY3NDkxMl5lPj4+MTplPj4+MSk/LTMwNjY3NDkxMl5lPj4+MTplPj4+MSk/LTMwNjY3NDkxMl5lPj4+MTplPj4+MSk/LTMwNjY3NDkxMl5lPj4+MTplPj4+MSk/LTMwNjY3NDkxMl5lPj4+MTplPj4+MSk/LTMwNjY3NDkxMl5lPj4+MTplPj4+MSk/LTMwNjY3NDkxMl5lPj4+MTplPj4+MSx0W3JdPWU7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBJbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KHQpOnR9KCkscj1mdW5jdGlvbihlKXt2YXIgdD0wLHI9MCxuPTAsaT0idW5kZWZpbmVkIiE9dHlwZW9mIEludDMyQXJyYXk/bmV3IEludDMyQXJyYXkoNDA5Nik6bmV3IEFycmF5KDQwOTYpO2ZvcihuPTA7MjU2IT1uOysrbilpW25dPWVbbl07Zm9yKG49MDsyNTYhPW47KytuKWZvcihyPWVbbl0sdD0yNTYrbjt0PDQwOTY7dCs9MjU2KXI9aVt0XT1yPj4+OF5lWzI1NSZyXTt2YXIgbz1bXTtmb3Iobj0xOzE2IT1uOysrbilvW24tMV09InVuZGVmaW5lZCIhPXR5cGVvZiBJbnQzMkFycmF5P2kuc3ViYXJyYXkoMjU2Km4sMjU2Km4rMjU2KTppLnNsaWNlKDI1NipuLDI1NipuKzI1Nik7cmV0dXJuIG99KHQpLG49clswXSxpPXJbMV0sbz1yWzJdLGE9clszXSxzPXJbNF0sdT1yWzVdLGM9cls2XSxmPXJbN10sZD1yWzhdLGw9cls5XSxoPXJbMTBdLHA9clsxMV0sYj1yWzEyXSx5PXJbMTNdLG09clsxNF07ZS50YWJsZT10LGUuYnN0cj1mdW5jdGlvbihlLHIpe2Zvcih2YXIgbj0tMV5yLGk9MCxvPWUubGVuZ3RoO2k8bzspbj1uPj4+OF50WzI1NSYobl5lLmNoYXJDb2RlQXQoaSsrKSldO3JldHVybn5ufSxlLmJ1Zj1mdW5jdGlvbihlLHIpe2Zvcih2YXIgdj0tMV5yLGc9ZS5sZW5ndGgtMTUsdz0wO3c8Zzspdj1tW2VbdysrXV4yNTUmdl1eeVtlW3crK11edj4+OCYyNTVdXmJbZVt3KytdXnY+PjE2JjI1NV1ecFtlW3crK11edj4+PjI0XV5oW2VbdysrXV1ebFtlW3crK11dXmRbZVt3KytdXV5mW2VbdysrXV1eY1tlW3crK11dXnVbZVt3KytdXV5zW2VbdysrXV1eYVtlW3crK11dXm9bZVt3KytdXV5pW2VbdysrXV1ebltlW3crK11dXnRbZVt3KytdXTtmb3IoZys9MTU7dzxnOyl2PXY+Pj44XnRbMjU1Jih2XmVbdysrXSldO3JldHVybn52fSxlLnN0cj1mdW5jdGlvbihlLHIpe2Zvcih2YXIgbj0tMV5yLGk9MCxvPWUubGVuZ3RoLGE9MCxzPTA7aTxvOykoYT1lLmNoYXJDb2RlQXQoaSsrKSk8MTI4P249bj4+PjhedFsyNTUmKG5eYSldOmE8MjA0OD9uPShuPW4+Pj44XnRbMjU1JihuXigxOTJ8YT4+NiYzMSkpXSk+Pj44XnRbMjU1JihuXigxMjh8NjMmYSkpXTphPj01NTI5NiYmYTw1NzM0ND8oYT02NCsoMTAyMyZhKSxzPTEwMjMmZS5jaGFyQ29kZUF0KGkrKyksbj0obj0obj0obj1uPj4+OF50WzI1NSYobl4oMjQwfGE+PjgmNykpXSk+Pj44XnRbMjU1JihuXigxMjh8YT4+MiY2MykpXSk+Pj44XnRbMjU1JihuXigxMjh8cz4+NiYxNXwoMyZhKTw8NCkpXSk+Pj44XnRbMjU1JihuXigxMjh8NjMmcykpXSk6bj0obj0obj1uPj4+OF50WzI1NSYobl4oMjI0fGE+PjEyJjE1KSldKT4+PjhedFsyNTUmKG5eKDEyOHxhPj42JjYzKSldKT4+PjhedFsyNTUmKG5eKDEyOHw2MyZhKSldO3JldHVybn5ufX0sInVuZGVmaW5lZCI9PXR5cGVvZiBET19OT1RfRVhQT1JUX0NSQz8ib2JqZWN0Ij09PSgwLG8uZGVmYXVsdCkodCk/aSh0KToobj1mdW5jdGlvbigpe3ZhciBlPXt9O3JldHVybiBpKGUpLGV9LmNhbGwodCxyLHQsZSksdm9pZCAwPT09bnx8KGUuZXhwb3J0cz1uKSk6aSh7fSl9LDUxMDI6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDkwMzMpLkJ1ZmZlcixpPXIoNjU5Nyksbz1yKDE3MzQpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IHMoZSl9O3ZhciBhPXtzZWNwMjU2azE6e25hbWU6InNlY3AyNTZrMSIsYnl0ZUxlbmd0aDozMn0sc2VjcDIyNHIxOntuYW1lOiJwMjI0IixieXRlTGVuZ3RoOjI4fSxwcmltZTI1NnYxOntuYW1lOiJwMjU2IixieXRlTGVuZ3RoOjMyfSxwcmltZTE5MnYxOntuYW1lOiJwMTkyIixieXRlTGVuZ3RoOjI0fSxlZDI1NTE5OntuYW1lOiJlZDI1NTE5IixieXRlTGVuZ3RoOjMyfSxzZWNwMzg0cjE6e25hbWU6InAzODQiLGJ5dGVMZW5ndGg6NDh9LHNlY3A1MjFyMTp7bmFtZToicDUyMSIsYnl0ZUxlbmd0aDo2Nn19O2Z1bmN0aW9uIHMoZSl7dGhpcy5jdXJ2ZVR5cGU9YVtlXSx0aGlzLmN1cnZlVHlwZXx8KHRoaXMuY3VydmVUeXBlPXtuYW1lOmV9KSx0aGlzLmN1cnZlPW5ldyBpLmVjKHRoaXMuY3VydmVUeXBlLm5hbWUpLHRoaXMua2V5cz12b2lkIDB9ZnVuY3Rpb24gdShlLHQscil7QXJyYXkuaXNBcnJheShlKXx8KGU9ZS50b0FycmF5KCkpO3ZhciBpPW5ldyBuKGUpO2lmKHImJmkubGVuZ3RoPHIpe3ZhciBvPW5ldyBuKHItaS5sZW5ndGgpO28uZmlsbCgwKSxpPW4uY29uY2F0KFtvLGldKX1yZXR1cm4gdD9pLnRvU3RyaW5nKHQpOml9YS5wMjI0PWEuc2VjcDIyNHIxLGEucDI1Nj1hLnNlY3AyNTZyMT1hLnByaW1lMjU2djEsYS5wMTkyPWEuc2VjcDE5MnIxPWEucHJpbWUxOTJ2MSxhLnAzODQ9YS5zZWNwMzg0cjEsYS5wNTIxPWEuc2VjcDUyMXIxLHMucHJvdG90eXBlLmdlbmVyYXRlS2V5cz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmtleXM9dGhpcy5jdXJ2ZS5nZW5LZXlQYWlyKCksdGhpcy5nZXRQdWJsaWNLZXkoZSx0KX0scy5wcm90b3R5cGUuY29tcHV0ZVNlY3JldD1mdW5jdGlvbihlLHQscil7cmV0dXJuIHQ9dHx8InV0ZjgiLG4uaXNCdWZmZXIoZSl8fChlPW5ldyBuKGUsdCkpLHUodGhpcy5jdXJ2ZS5rZXlGcm9tUHVibGljKGUpLmdldFB1YmxpYygpLm11bCh0aGlzLmtleXMuZ2V0UHJpdmF0ZSgpKS5nZXRYKCkscix0aGlzLmN1cnZlVHlwZS5ieXRlTGVuZ3RoKX0scy5wcm90b3R5cGUuZ2V0UHVibGljS2V5PWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcy5rZXlzLmdldFB1YmxpYygiY29tcHJlc3NlZCI9PT10LCEwKTtyZXR1cm4iaHlicmlkIj09PXQmJihyW3IubGVuZ3RoLTFdJTI/clswXT03OnJbMF09NiksdShyLGUpfSxzLnByb3RvdHlwZS5nZXRQcml2YXRlS2V5PWZ1bmN0aW9uKGUpe3JldHVybiB1KHRoaXMua2V5cy5nZXRQcml2YXRlKCksZSl9LHMucHJvdG90eXBlLnNldFB1YmxpY0tleT1mdW5jdGlvbihlLHQpe3JldHVybiB0PXR8fCJ1dGY4IixuLmlzQnVmZmVyKGUpfHwoZT1uZXcgbihlLHQpKSx0aGlzLmtleXMuX2ltcG9ydFB1YmxpYyhlKSx0aGlzfSxzLnByb3RvdHlwZS5zZXRQcml2YXRlS2V5PWZ1bmN0aW9uKGUsdCl7dD10fHwidXRmOCIsbi5pc0J1ZmZlcihlKXx8KGU9bmV3IG4oZSx0KSk7dmFyIHI9bmV3IG8oZSk7cmV0dXJuIHI9ci50b1N0cmluZygxNiksdGhpcy5rZXlzPXRoaXMuY3VydmUuZ2VuS2V5UGFpcigpLHRoaXMua2V5cy5faW1wb3J0UHJpdmF0ZShyKSx0aGlzfX0sNTg2NjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoMTczNiksaT1yKDgwNyksbz1yKDY3MDcpLGE9cigxNzA4KSxzPXIoMzAxMyk7ZnVuY3Rpb24gdShlKXtzLmNhbGwodGhpcywiZGlnZXN0IiksdGhpcy5faGFzaD1lfW4odSxzKSx1LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMuX2hhc2gudXBkYXRlKGUpfSx1LnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faGFzaC5kaWdlc3QoKX0sZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiJtZDUiPT09KGU9ZS50b0xvd2VyQ2FzZSgpKT9uZXcgaToicm1kMTYwIj09PWV8fCJyaXBlbWQxNjAiPT09ZT9uZXcgbzpuZXcgdShhKGUpKX19LDUzNDk6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDgwNyk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybihuZXcgbikudXBkYXRlKGUpLmRpZ2VzdCgpfX0sNDQyNDooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoMTczNiksaT1yKDk5NTYpLG89cigzMDEzKSxhPXIoODg1MCkuQnVmZmVyLHM9cig1MzQ5KSx1PXIoNjcwNyksYz1yKDE3MDgpLGY9YS5hbGxvYygxMjgpO2Z1bmN0aW9uIGQoZSx0KXtvLmNhbGwodGhpcywiZGlnZXN0IiksInN0cmluZyI9PXR5cGVvZiB0JiYodD1hLmZyb20odCkpO3ZhciByPSJzaGE1MTIiPT09ZXx8InNoYTM4NCI9PT1lPzEyODo2NDt0aGlzLl9hbGc9ZSx0aGlzLl9rZXk9dCx0Lmxlbmd0aD5yP3Q9KCJybWQxNjAiPT09ZT9uZXcgdTpjKGUpKS51cGRhdGUodCkuZGlnZXN0KCk6dC5sZW5ndGg8ciYmKHQ9YS5jb25jYXQoW3QsZl0scikpO2Zvcih2YXIgbj10aGlzLl9pcGFkPWEuYWxsb2NVbnNhZmUociksaT10aGlzLl9vcGFkPWEuYWxsb2NVbnNhZmUocikscz0wO3M8cjtzKyspbltzXT01NF50W3NdLGlbc109OTJedFtzXTt0aGlzLl9oYXNoPSJybWQxNjAiPT09ZT9uZXcgdTpjKGUpLHRoaXMuX2hhc2gudXBkYXRlKG4pfW4oZCxvKSxkLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMuX2hhc2gudXBkYXRlKGUpfSxkLnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9oYXNoLmRpZ2VzdCgpO3JldHVybigicm1kMTYwIj09PXRoaXMuX2FsZz9uZXcgdTpjKHRoaXMuX2FsZykpLnVwZGF0ZSh0aGlzLl9vcGFkKS51cGRhdGUoZSkuZGlnZXN0KCl9LGUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiJybWQxNjAiPT09KGU9ZS50b0xvd2VyQ2FzZSgpKXx8InJpcGVtZDE2MCI9PT1lP25ldyBkKCJybWQxNjAiLHQpOiJtZDUiPT09ZT9uZXcgaShzLHQpOm5ldyBkKGUsdCl9fSw5OTU2OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cigxNzM2KSxpPXIoODg1MCkuQnVmZmVyLG89cigzMDEzKSxhPWkuYWxsb2MoMTI4KSxzPTY0O2Z1bmN0aW9uIHUoZSx0KXtvLmNhbGwodGhpcywiZGlnZXN0IiksInN0cmluZyI9PXR5cGVvZiB0JiYodD1pLmZyb20odCkpLHRoaXMuX2FsZz1lLHRoaXMuX2tleT10LHQubGVuZ3RoPnM/dD1lKHQpOnQubGVuZ3RoPHMmJih0PWkuY29uY2F0KFt0LGFdLHMpKTtmb3IodmFyIHI9dGhpcy5faXBhZD1pLmFsbG9jVW5zYWZlKHMpLG49dGhpcy5fb3BhZD1pLmFsbG9jVW5zYWZlKHMpLHU9MDt1PHM7dSsrKXJbdV09NTRedFt1XSxuW3VdPTkyXnRbdV07dGhpcy5faGFzaD1bcl19bih1LG8pLHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy5faGFzaC5wdXNoKGUpfSx1LnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9hbGcoaS5jb25jYXQodGhpcy5faGFzaCkpO3JldHVybiB0aGlzLl9hbGcoaS5jb25jYXQoW3RoaXMuX29wYWQsZV0pKX0sZS5leHBvcnRzPXV9LDI0Mzk6KCk9PnsidXNlIHN0cmljdCI7IWZ1bmN0aW9uKGUpeyFmdW5jdGlvbih0KXt2YXIgcj0iVVJMU2VhcmNoUGFyYW1zImluIGUsbj0iU3ltYm9sImluIGUmJiJpdGVyYXRvciJpbiBTeW1ib2wsaT0iRmlsZVJlYWRlciJpbiBlJiYiQmxvYiJpbiBlJiZmdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IEJsb2IsITB9Y2F0Y2goZSl7cmV0dXJuITF9fSgpLG89IkZvcm1EYXRhImluIGUsYT0iQXJyYXlCdWZmZXIiaW4gZTtpZihhKXZhciBzPVsiW29iamVjdCBJbnQ4QXJyYXldIiwiW29iamVjdCBVaW50OEFycmF5XSIsIltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIiwiW29iamVjdCBJbnQxNkFycmF5XSIsIltvYmplY3QgVWludDE2QXJyYXldIiwiW29iamVjdCBJbnQzMkFycmF5XSIsIltvYmplY3QgVWludDMyQXJyYXldIiwiW29iamVjdCBGbG9hdDMyQXJyYXldIiwiW29iamVjdCBGbG9hdDY0QXJyYXldIl0sdT1BcnJheUJ1ZmZlci5pc1ZpZXd8fGZ1bmN0aW9uKGUpe3JldHVybiBlJiZzLmluZGV4T2YoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpKT4tMX07ZnVuY3Rpb24gYyhlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUmJihlPVN0cmluZyhlKSksL1teYS16MC05XC0jJCUmJyorLl5fYHx+XS9pLnRlc3QoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBjaGFyYWN0ZXIgaW4gaGVhZGVyIGZpZWxkIG5hbWUiKTtyZXR1cm4gZS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIGYoZSl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlJiYoZT1TdHJpbmcoZSkpLGV9ZnVuY3Rpb24gZChlKXt2YXIgdD17bmV4dDpmdW5jdGlvbigpe3ZhciB0PWUuc2hpZnQoKTtyZXR1cm57ZG9uZTp2b2lkIDA9PT10LHZhbHVlOnR9fX07cmV0dXJuIG4mJih0W1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdH0pLHR9ZnVuY3Rpb24gbChlKXt0aGlzLm1hcD17fSxlIGluc3RhbmNlb2YgbD9lLmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7dGhpcy5hcHBlbmQodCxlKX0pLHRoaXMpOkFycmF5LmlzQXJyYXkoZSk/ZS5mb3JFYWNoKChmdW5jdGlvbihlKXt0aGlzLmFwcGVuZChlWzBdLGVbMV0pfSksdGhpcyk6ZSYmT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dGhpcy5hcHBlbmQodCxlW3RdKX0pLHRoaXMpfWZ1bmN0aW9uIGgoZSl7aWYoZS5ib2R5VXNlZClyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IFR5cGVFcnJvcigiQWxyZWFkeSByZWFkIikpO2UuYm9keVVzZWQ9ITB9ZnVuY3Rpb24gcChlKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQscil7ZS5vbmxvYWQ9ZnVuY3Rpb24oKXt0KGUucmVzdWx0KX0sZS5vbmVycm9yPWZ1bmN0aW9uKCl7cihlLmVycm9yKX19KSl9ZnVuY3Rpb24gYihlKXt2YXIgdD1uZXcgRmlsZVJlYWRlcixyPXAodCk7cmV0dXJuIHQucmVhZEFzQXJyYXlCdWZmZXIoZSkscn1mdW5jdGlvbiB5KGUpe2lmKGUuc2xpY2UpcmV0dXJuIGUuc2xpY2UoMCk7dmFyIHQ9bmV3IFVpbnQ4QXJyYXkoZS5ieXRlTGVuZ3RoKTtyZXR1cm4gdC5zZXQobmV3IFVpbnQ4QXJyYXkoZSkpLHQuYnVmZmVyfWZ1bmN0aW9uIG0oKXtyZXR1cm4gdGhpcy5ib2R5VXNlZD0hMSx0aGlzLl9pbml0Qm9keT1mdW5jdGlvbihlKXt2YXIgdDt0aGlzLl9ib2R5SW5pdD1lLGU/InN0cmluZyI9PXR5cGVvZiBlP3RoaXMuX2JvZHlUZXh0PWU6aSYmQmxvYi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKT90aGlzLl9ib2R5QmxvYj1lOm8mJkZvcm1EYXRhLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGUpP3RoaXMuX2JvZHlGb3JtRGF0YT1lOnImJlVSTFNlYXJjaFBhcmFtcy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKT90aGlzLl9ib2R5VGV4dD1lLnRvU3RyaW5nKCk6YSYmaSYmKHQ9ZSkmJkRhdGFWaWV3LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHQpPyh0aGlzLl9ib2R5QXJyYXlCdWZmZXI9eShlLmJ1ZmZlciksdGhpcy5fYm9keUluaXQ9bmV3IEJsb2IoW3RoaXMuX2JvZHlBcnJheUJ1ZmZlcl0pKTphJiYoQXJyYXlCdWZmZXIucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl8fHUoZSkpP3RoaXMuX2JvZHlBcnJheUJ1ZmZlcj15KGUpOnRoaXMuX2JvZHlUZXh0PWU9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpOnRoaXMuX2JvZHlUZXh0PSIiLHRoaXMuaGVhZGVycy5nZXQoImNvbnRlbnQtdHlwZSIpfHwoInN0cmluZyI9PXR5cGVvZiBlP3RoaXMuaGVhZGVycy5zZXQoImNvbnRlbnQtdHlwZSIsInRleHQvcGxhaW47Y2hhcnNldD1VVEYtOCIpOnRoaXMuX2JvZHlCbG9iJiZ0aGlzLl9ib2R5QmxvYi50eXBlP3RoaXMuaGVhZGVycy5zZXQoImNvbnRlbnQtdHlwZSIsdGhpcy5fYm9keUJsb2IudHlwZSk6ciYmVVJMU2VhcmNoUGFyYW1zLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGUpJiZ0aGlzLmhlYWRlcnMuc2V0KCJjb250ZW50LXR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD1VVEYtOCIpKX0saSYmKHRoaXMuYmxvYj1mdW5jdGlvbigpe3ZhciBlPWgodGhpcyk7aWYoZSlyZXR1cm4gZTtpZih0aGlzLl9ib2R5QmxvYilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2JvZHlCbG9iKTtpZih0aGlzLl9ib2R5QXJyYXlCdWZmZXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgQmxvYihbdGhpcy5fYm9keUFycmF5QnVmZmVyXSkpO2lmKHRoaXMuX2JvZHlGb3JtRGF0YSl0aHJvdyBuZXcgRXJyb3IoImNvdWxkIG5vdCByZWFkIEZvcm1EYXRhIGJvZHkgYXMgYmxvYiIpO3JldHVybiBQcm9taXNlLnJlc29sdmUobmV3IEJsb2IoW3RoaXMuX2JvZHlUZXh0XSkpfSx0aGlzLmFycmF5QnVmZmVyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JvZHlBcnJheUJ1ZmZlcj9oKHRoaXMpfHxQcm9taXNlLnJlc29sdmUodGhpcy5fYm9keUFycmF5QnVmZmVyKTp0aGlzLmJsb2IoKS50aGVuKGIpfSksdGhpcy50ZXh0PWZ1bmN0aW9uKCl7dmFyIGUsdCxyLG49aCh0aGlzKTtpZihuKXJldHVybiBuO2lmKHRoaXMuX2JvZHlCbG9iKXJldHVybiBlPXRoaXMuX2JvZHlCbG9iLHI9cCh0PW5ldyBGaWxlUmVhZGVyKSx0LnJlYWRBc1RleHQoZSkscjtpZih0aGlzLl9ib2R5QXJyYXlCdWZmZXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZShmdW5jdGlvbihlKXtmb3IodmFyIHQ9bmV3IFVpbnQ4QXJyYXkoZSkscj1uZXcgQXJyYXkodC5sZW5ndGgpLG49MDtuPHQubGVuZ3RoO24rKylyW25dPVN0cmluZy5mcm9tQ2hhckNvZGUodFtuXSk7cmV0dXJuIHIuam9pbigiIil9KHRoaXMuX2JvZHlBcnJheUJ1ZmZlcikpO2lmKHRoaXMuX2JvZHlGb3JtRGF0YSl0aHJvdyBuZXcgRXJyb3IoImNvdWxkIG5vdCByZWFkIEZvcm1EYXRhIGJvZHkgYXMgdGV4dCIpO3JldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fYm9keVRleHQpfSxvJiYodGhpcy5mb3JtRGF0YT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRleHQoKS50aGVuKHcpfSksdGhpcy5qc29uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGV4dCgpLnRoZW4oSlNPTi5wYXJzZSl9LHRoaXN9bC5wcm90b3R5cGUuYXBwZW5kPWZ1bmN0aW9uKGUsdCl7ZT1jKGUpLHQ9Zih0KTt2YXIgcj10aGlzLm1hcFtlXTt0aGlzLm1hcFtlXT1yP3IrIiwgIit0OnR9LGwucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihlKXtkZWxldGUgdGhpcy5tYXBbYyhlKV19LGwucHJvdG90eXBlLmdldD1mdW5jdGlvbihlKXtyZXR1cm4gZT1jKGUpLHRoaXMuaGFzKGUpP3RoaXMubWFwW2VdOm51bGx9LGwucHJvdG90eXBlLmhhcz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5tYXAuaGFzT3duUHJvcGVydHkoYyhlKSl9LGwucHJvdG90eXBlLnNldD1mdW5jdGlvbihlLHQpe3RoaXMubWFwW2MoZSldPWYodCl9LGwucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdGhpcy5tYXApdGhpcy5tYXAuaGFzT3duUHJvcGVydHkocikmJmUuY2FsbCh0LHRoaXMubWFwW3JdLHIsdGhpcyl9LGwucHJvdG90eXBlLmtleXM9ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gdGhpcy5mb3JFYWNoKChmdW5jdGlvbih0LHIpe2UucHVzaChyKX0pKSxkKGUpfSxsLnByb3RvdHlwZS52YWx1ZXM9ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gdGhpcy5mb3JFYWNoKChmdW5jdGlvbih0KXtlLnB1c2godCl9KSksZChlKX0sbC5wcm90b3R5cGUuZW50cmllcz1mdW5jdGlvbigpe3ZhciBlPVtdO3JldHVybiB0aGlzLmZvckVhY2goKGZ1bmN0aW9uKHQscil7ZS5wdXNoKFtyLHRdKX0pKSxkKGUpfSxuJiYobC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1sLnByb3RvdHlwZS5lbnRyaWVzKTt2YXIgdj1bIkRFTEVURSIsIkdFVCIsIkhFQUQiLCJPUFRJT05TIiwiUE9TVCIsIlBVVCJdO2Z1bmN0aW9uIGcoZSx0KXt2YXIgcixuLGk9KHQ9dHx8e30pLmJvZHk7aWYoZSBpbnN0YW5jZW9mIGcpe2lmKGUuYm9keVVzZWQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQWxyZWFkeSByZWFkIik7dGhpcy51cmw9ZS51cmwsdGhpcy5jcmVkZW50aWFscz1lLmNyZWRlbnRpYWxzLHQuaGVhZGVyc3x8KHRoaXMuaGVhZGVycz1uZXcgbChlLmhlYWRlcnMpKSx0aGlzLm1ldGhvZD1lLm1ldGhvZCx0aGlzLm1vZGU9ZS5tb2RlLHRoaXMuc2lnbmFsPWUuc2lnbmFsLGl8fG51bGw9PWUuX2JvZHlJbml0fHwoaT1lLl9ib2R5SW5pdCxlLmJvZHlVc2VkPSEwKX1lbHNlIHRoaXMudXJsPVN0cmluZyhlKTtpZih0aGlzLmNyZWRlbnRpYWxzPXQuY3JlZGVudGlhbHN8fHRoaXMuY3JlZGVudGlhbHN8fCJzYW1lLW9yaWdpbiIsIXQuaGVhZGVycyYmdGhpcy5oZWFkZXJzfHwodGhpcy5oZWFkZXJzPW5ldyBsKHQuaGVhZGVycykpLHRoaXMubWV0aG9kPShuPShyPXQubWV0aG9kfHx0aGlzLm1ldGhvZHx8IkdFVCIpLnRvVXBwZXJDYXNlKCksdi5pbmRleE9mKG4pPi0xP246ciksdGhpcy5tb2RlPXQubW9kZXx8dGhpcy5tb2RlfHxudWxsLHRoaXMuc2lnbmFsPXQuc2lnbmFsfHx0aGlzLnNpZ25hbCx0aGlzLnJlZmVycmVyPW51bGwsKCJHRVQiPT09dGhpcy5tZXRob2R8fCJIRUFEIj09PXRoaXMubWV0aG9kKSYmaSl0aHJvdyBuZXcgVHlwZUVycm9yKCJCb2R5IG5vdCBhbGxvd2VkIGZvciBHRVQgb3IgSEVBRCByZXF1ZXN0cyIpO3RoaXMuX2luaXRCb2R5KGkpfWZ1bmN0aW9uIHcoZSl7dmFyIHQ9bmV3IEZvcm1EYXRhO3JldHVybiBlLnRyaW0oKS5zcGxpdCgiJiIpLmZvckVhY2goKGZ1bmN0aW9uKGUpe2lmKGUpe3ZhciByPWUuc3BsaXQoIj0iKSxuPXIuc2hpZnQoKS5yZXBsYWNlKC9cKy9nLCIgIiksaT1yLmpvaW4oIj0iKS5yZXBsYWNlKC9cKy9nLCIgIik7dC5hcHBlbmQoZGVjb2RlVVJJQ29tcG9uZW50KG4pLGRlY29kZVVSSUNvbXBvbmVudChpKSl9fSkpLHR9ZnVuY3Rpb24gQShlLHQpe3R8fCh0PXt9KSx0aGlzLnR5cGU9ImRlZmF1bHQiLHRoaXMuc3RhdHVzPXZvaWQgMD09PXQuc3RhdHVzPzIwMDp0LnN0YXR1cyx0aGlzLm9rPXRoaXMuc3RhdHVzPj0yMDAmJnRoaXMuc3RhdHVzPDMwMCx0aGlzLnN0YXR1c1RleHQ9InN0YXR1c1RleHQiaW4gdD90LnN0YXR1c1RleHQ6Ik9LIix0aGlzLmhlYWRlcnM9bmV3IGwodC5oZWFkZXJzKSx0aGlzLnVybD10LnVybHx8IiIsdGhpcy5faW5pdEJvZHkoZSl9Zy5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcodGhpcyx7Ym9keTp0aGlzLl9ib2R5SW5pdH0pfSxtLmNhbGwoZy5wcm90b3R5cGUpLG0uY2FsbChBLnByb3RvdHlwZSksQS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEEodGhpcy5fYm9keUluaXQse3N0YXR1czp0aGlzLnN0YXR1cyxzdGF0dXNUZXh0OnRoaXMuc3RhdHVzVGV4dCxoZWFkZXJzOm5ldyBsKHRoaXMuaGVhZGVycyksdXJsOnRoaXMudXJsfSl9LEEuZXJyb3I9ZnVuY3Rpb24oKXt2YXIgZT1uZXcgQShudWxsLHtzdGF0dXM6MCxzdGF0dXNUZXh0OiIifSk7cmV0dXJuIGUudHlwZT0iZXJyb3IiLGV9O3ZhciBrPVszMDEsMzAyLDMwMywzMDcsMzA4XTtBLnJlZGlyZWN0PWZ1bmN0aW9uKGUsdCl7aWYoLTE9PT1rLmluZGV4T2YodCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgc3RhdHVzIGNvZGUiKTtyZXR1cm4gbmV3IEEobnVsbCx7c3RhdHVzOnQsaGVhZGVyczp7bG9jYXRpb246ZX19KX0sdC5ET01FeGNlcHRpb249ZS5ET01FeGNlcHRpb247dHJ5e25ldyB0LkRPTUV4Y2VwdGlvbn1jYXRjaChlKXt0LkRPTUV4Y2VwdGlvbj1mdW5jdGlvbihlLHQpe3RoaXMubWVzc2FnZT1lLHRoaXMubmFtZT10O3ZhciByPUVycm9yKGUpO3RoaXMuc3RhY2s9ci5zdGFja30sdC5ET01FeGNlcHRpb24ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKSx0LkRPTUV4Y2VwdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3I9dC5ET01FeGNlcHRpb259ZnVuY3Rpb24gXyhlLHIpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24obixvKXt2YXIgYT1uZXcgZyhlLHIpO2lmKGEuc2lnbmFsJiZhLnNpZ25hbC5hYm9ydGVkKXJldHVybiBvKG5ldyB0LkRPTUV4Y2VwdGlvbigiQWJvcnRlZCIsIkFib3J0RXJyb3IiKSk7dmFyIHM9bmV3IFhNTEh0dHBSZXF1ZXN0O2Z1bmN0aW9uIHUoKXtzLmFib3J0KCl9cy5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZSx0LHI9e3N0YXR1czpzLnN0YXR1cyxzdGF0dXNUZXh0OnMuc3RhdHVzVGV4dCxoZWFkZXJzOihlPXMuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCl8fCIiLHQ9bmV3IGwsZS5yZXBsYWNlKC9ccj9cbltcdCBdKy9nLCIgIikuc3BsaXQoL1xyP1xuLykuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHI9ZS5zcGxpdCgiOiIpLG49ci5zaGlmdCgpLnRyaW0oKTtpZihuKXt2YXIgaT1yLmpvaW4oIjoiKS50cmltKCk7dC5hcHBlbmQobixpKX19KSksdCl9O3IudXJsPSJyZXNwb25zZVVSTCJpbiBzP3MucmVzcG9uc2VVUkw6ci5oZWFkZXJzLmdldCgiWC1SZXF1ZXN0LVVSTCIpO3ZhciBpPSJyZXNwb25zZSJpbiBzP3MucmVzcG9uc2U6cy5yZXNwb25zZVRleHQ7bihuZXcgQShpLHIpKX0scy5vbmVycm9yPWZ1bmN0aW9uKCl7byhuZXcgVHlwZUVycm9yKCJOZXR3b3JrIHJlcXVlc3QgZmFpbGVkIikpfSxzLm9udGltZW91dD1mdW5jdGlvbigpe28obmV3IFR5cGVFcnJvcigiTmV0d29yayByZXF1ZXN0IGZhaWxlZCIpKX0scy5vbmFib3J0PWZ1bmN0aW9uKCl7byhuZXcgdC5ET01FeGNlcHRpb24oIkFib3J0ZWQiLCJBYm9ydEVycm9yIikpfSxzLm9wZW4oYS5tZXRob2QsYS51cmwsITApLCJpbmNsdWRlIj09PWEuY3JlZGVudGlhbHM/cy53aXRoQ3JlZGVudGlhbHM9ITA6Im9taXQiPT09YS5jcmVkZW50aWFscyYmKHMud2l0aENyZWRlbnRpYWxzPSExKSwicmVzcG9uc2VUeXBlImluIHMmJmkmJihzLnJlc3BvbnNlVHlwZT0iYmxvYiIpLGEuaGVhZGVycy5mb3JFYWNoKChmdW5jdGlvbihlLHQpe3Muc2V0UmVxdWVzdEhlYWRlcih0LGUpfSkpLGEuc2lnbmFsJiYoYS5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHUpLHMub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PXMucmVhZHlTdGF0ZSYmYS5zaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHUpfSkscy5zZW5kKHZvaWQgMD09PWEuX2JvZHlJbml0P251bGw6YS5fYm9keUluaXQpfSkpfV8ucG9seWZpbGw9ITAsZS5mZXRjaHx8KGUuZmV0Y2g9XyxlLkhlYWRlcnM9bCxlLlJlcXVlc3Q9ZyxlLlJlc3BvbnNlPUEpLHQuSGVhZGVycz1sLHQuUmVxdWVzdD1nLHQuUmVzcG9uc2U9QSx0LmZldGNoPV8sT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSh7fSl9KCJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnZvaWQgMCl9LDQyOTM6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt0LnJhbmRvbUJ5dGVzPXQucm5nPXQucHNldWRvUmFuZG9tQnl0ZXM9dC5wcm5nPXIoNTAxMCksdC5jcmVhdGVIYXNoPXQuSGFzaD1yKDU4NjYpLHQuY3JlYXRlSG1hYz10LkhtYWM9cig0NDI0KTt2YXIgbj1yKDY1NjEpLGk9T2JqZWN0LmtleXMobiksbz1bInNoYTEiLCJzaGEyMjQiLCJzaGEyNTYiLCJzaGEzODQiLCJzaGE1MTIiLCJtZDUiLCJybWQxNjAiXS5jb25jYXQoaSk7dC5nZXRIYXNoZXM9ZnVuY3Rpb24oKXtyZXR1cm4gb307dmFyIGE9cig0MTkyKTt0LnBia2RmMj1hLnBia2RmMix0LnBia2RmMlN5bmM9YS5wYmtkZjJTeW5jO3ZhciBzPXIoNjgwNSk7dC5DaXBoZXI9cy5DaXBoZXIsdC5jcmVhdGVDaXBoZXI9cy5jcmVhdGVDaXBoZXIsdC5DaXBoZXJpdj1zLkNpcGhlcml2LHQuY3JlYXRlQ2lwaGVyaXY9cy5jcmVhdGVDaXBoZXJpdix0LkRlY2lwaGVyPXMuRGVjaXBoZXIsdC5jcmVhdGVEZWNpcGhlcj1zLmNyZWF0ZURlY2lwaGVyLHQuRGVjaXBoZXJpdj1zLkRlY2lwaGVyaXYsdC5jcmVhdGVEZWNpcGhlcml2PXMuY3JlYXRlRGVjaXBoZXJpdix0LmdldENpcGhlcnM9cy5nZXRDaXBoZXJzLHQubGlzdENpcGhlcnM9cy5saXN0Q2lwaGVyczt2YXIgdT1yKDgzMzMpO3QuRGlmZmllSGVsbG1hbkdyb3VwPXUuRGlmZmllSGVsbG1hbkdyb3VwLHQuY3JlYXRlRGlmZmllSGVsbG1hbkdyb3VwPXUuY3JlYXRlRGlmZmllSGVsbG1hbkdyb3VwLHQuZ2V0RGlmZmllSGVsbG1hbj11LmdldERpZmZpZUhlbGxtYW4sdC5jcmVhdGVEaWZmaWVIZWxsbWFuPXUuY3JlYXRlRGlmZmllSGVsbG1hbix0LkRpZmZpZUhlbGxtYW49dS5EaWZmaWVIZWxsbWFuO3ZhciBjPXIoOTUyNyk7dC5jcmVhdGVTaWduPWMuY3JlYXRlU2lnbix0LlNpZ249Yy5TaWduLHQuY3JlYXRlVmVyaWZ5PWMuY3JlYXRlVmVyaWZ5LHQuVmVyaWZ5PWMuVmVyaWZ5LHQuY3JlYXRlRUNESD1yKDUxMDIpO3ZhciBmPXIoNjk5MSk7dC5wdWJsaWNFbmNyeXB0PWYucHVibGljRW5jcnlwdCx0LnByaXZhdGVFbmNyeXB0PWYucHJpdmF0ZUVuY3J5cHQsdC5wdWJsaWNEZWNyeXB0PWYucHVibGljRGVjcnlwdCx0LnByaXZhdGVEZWNyeXB0PWYucHJpdmF0ZURlY3J5cHQ7dmFyIGQ9cig2NTA5KTt0LnJhbmRvbUZpbGw9ZC5yYW5kb21GaWxsLHQucmFuZG9tRmlsbFN5bmM9ZC5yYW5kb21GaWxsU3luYyx0LmNyZWF0ZUNyZWRlbnRpYWxzPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFsic29ycnksIGNyZWF0ZUNyZWRlbnRpYWxzIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQiLCJ3ZSBhY2NlcHQgcHVsbCByZXF1ZXN0cyIsImh0dHBzOi8vZ2l0aHViLmNvbS9jcnlwdG8tYnJvd3NlcmlmeS9jcnlwdG8tYnJvd3NlcmlmeSJdLmpvaW4oIlxuIikpfSx0LmNvbnN0YW50cz17REhfQ0hFQ0tfUF9OT1RfU0FGRV9QUklNRToyLERIX0NIRUNLX1BfTk9UX1BSSU1FOjEsREhfVU5BQkxFX1RPX0NIRUNLX0dFTkVSQVRPUjo0LERIX05PVF9TVUlUQUJMRV9HRU5FUkFUT1I6OCxOUE5fRU5BQkxFRDoxLEFMUE5fRU5BQkxFRDoxLFJTQV9QS0NTMV9QQURESU5HOjEsUlNBX1NTTFYyM19QQURESU5HOjIsUlNBX05PX1BBRERJTkc6MyxSU0FfUEtDUzFfT0FFUF9QQURESU5HOjQsUlNBX1g5MzFfUEFERElORzo1LFJTQV9QS0NTMV9QU1NfUEFERElORzo2LFBPSU5UX0NPTlZFUlNJT05fQ09NUFJFU1NFRDoyLFBPSU5UX0NPTlZFUlNJT05fVU5DT01QUkVTU0VEOjQsUE9JTlRfQ09OVkVSU0lPTl9IWUJSSUQ6Nn19LDM0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KShyKDMzNTUpKSxpPSIlW2EtZjAtOV17Mn0iLG89bmV3IFJlZ0V4cCgiKCIraSsiKXwoW14lXSs/KSIsImdpIiksYT1uZXcgUmVnRXhwKCIoIitpKyIpKyIsImdpIik7ZnVuY3Rpb24gcyhlLHQpe3RyeXtyZXR1cm5bZGVjb2RlVVJJQ29tcG9uZW50KGUuam9pbigiIikpXX1jYXRjaChlKXt9aWYoMT09PWUubGVuZ3RoKXJldHVybiBlO3Q9dHx8MTt2YXIgcj1lLnNsaWNlKDAsdCksbj1lLnNsaWNlKHQpO3JldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmNhbGwoW10scyhyKSxzKG4pKX1mdW5jdGlvbiB1KGUpe3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGUpfWNhdGNoKG4pe2Zvcih2YXIgdD1lLm1hdGNoKG8pfHxbXSxyPTE7cjx0Lmxlbmd0aDtyKyspdD0oZT1zKHQscikuam9pbigiIikpLm1hdGNoKG8pfHxbXTtyZXR1cm4gZX19ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBgZW5jb2RlZFVSSWAgdG8gYmUgb2YgdHlwZSBgc3RyaW5nYCwgZ290IGAiKygwLG4uZGVmYXVsdCkoZSkrImAiKTt0cnl7cmV0dXJuIGU9ZS5yZXBsYWNlKC9cKy9nLCIgIiksZGVjb2RlVVJJQ29tcG9uZW50KGUpfWNhdGNoKHQpe3JldHVybiBmdW5jdGlvbihlKXtmb3IodmFyIHQ9eyIlRkUlRkYiOiLvv73vv70iLCIlRkYlRkUiOiLvv73vv70ifSxyPWEuZXhlYyhlKTtyOyl7dHJ5e3RbclswXV09ZGVjb2RlVVJJQ29tcG9uZW50KHJbMF0pfWNhdGNoKGUpe3ZhciBuPXUoclswXSk7biE9PXJbMF0mJih0W3JbMF1dPW4pfXI9YS5leGVjKGUpfXRbIiVDMiJdPSLvv70iO2Zvcih2YXIgaT1PYmplY3Qua2V5cyh0KSxvPTA7bzxpLmxlbmd0aDtvKyspe3ZhciBzPWlbb107ZT1lLnJlcGxhY2UobmV3IFJlZ0V4cChzLCJnIiksdFtzXSl9cmV0dXJuIGV9KGUpfX19LDU2MjY6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt0LnV0aWxzPXIoMzE5KSx0LkNpcGhlcj1yKDk1OTEpLHQuREVTPXIoMzA0OSksdC5DQkM9cig0Mzc1KSx0LkVERT1yKDk0MTMpfSw0Mzc1OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig0NTA0KSxpPXIoMTczNiksbz17fTtmdW5jdGlvbiBhKGUpe24uZXF1YWwoZS5sZW5ndGgsOCwiSW52YWxpZCBJViBsZW5ndGgiKSx0aGlzLml2PW5ldyBBcnJheSg4KTtmb3IodmFyIHQ9MDt0PHRoaXMuaXYubGVuZ3RoO3QrKyl0aGlzLml2W3RdPWVbdF19dC5pbnN0YW50aWF0ZT1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQpe2UuY2FsbCh0aGlzLHQpLHRoaXMuX2NiY0luaXQoKX1pKHQsZSk7Zm9yKHZhciByPU9iamVjdC5rZXlzKG8pLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIGE9cltuXTt0LnByb3RvdHlwZVthXT1vW2FdfXJldHVybiB0LmNyZWF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IHQoZSl9LHR9LG8uX2NiY0luaXQ9ZnVuY3Rpb24oKXt2YXIgZT1uZXcgYSh0aGlzLm9wdGlvbnMuaXYpO3RoaXMuX2NiY1N0YXRlPWV9LG8uX3VwZGF0ZT1mdW5jdGlvbihlLHQscixuKXt2YXIgaT10aGlzLl9jYmNTdGF0ZSxvPXRoaXMuY29uc3RydWN0b3Iuc3VwZXJfLnByb3RvdHlwZSxhPWkuaXY7aWYoImVuY3J5cHQiPT09dGhpcy50eXBlKXtmb3IodmFyIHM9MDtzPHRoaXMuYmxvY2tTaXplO3MrKylhW3NdXj1lW3Qrc107Zm9yKG8uX3VwZGF0ZS5jYWxsKHRoaXMsYSwwLHIsbikscz0wO3M8dGhpcy5ibG9ja1NpemU7cysrKWFbc109cltuK3NdfWVsc2V7Zm9yKG8uX3VwZGF0ZS5jYWxsKHRoaXMsZSx0LHIsbikscz0wO3M8dGhpcy5ibG9ja1NpemU7cysrKXJbbitzXV49YVtzXTtmb3Iocz0wO3M8dGhpcy5ibG9ja1NpemU7cysrKWFbc109ZVt0K3NdfX19LDk1OTE6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDQ1MDQpO2Z1bmN0aW9uIGkoZSl7dGhpcy5vcHRpb25zPWUsdGhpcy50eXBlPXRoaXMub3B0aW9ucy50eXBlLHRoaXMuYmxvY2tTaXplPTgsdGhpcy5faW5pdCgpLHRoaXMuYnVmZmVyPW5ldyBBcnJheSh0aGlzLmJsb2NrU2l6ZSksdGhpcy5idWZmZXJPZmY9MH1lLmV4cG9ydHM9aSxpLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbigpe30saS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/W106ImRlY3J5cHQiPT09dGhpcy50eXBlP3RoaXMuX3VwZGF0ZURlY3J5cHQoZSk6dGhpcy5fdXBkYXRlRW5jcnlwdChlKX0saS5wcm90b3R5cGUuX2J1ZmZlcj1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj1NYXRoLm1pbih0aGlzLmJ1ZmZlci5sZW5ndGgtdGhpcy5idWZmZXJPZmYsZS5sZW5ndGgtdCksbj0wO248cjtuKyspdGhpcy5idWZmZXJbdGhpcy5idWZmZXJPZmYrbl09ZVt0K25dO3JldHVybiB0aGlzLmJ1ZmZlck9mZis9cixyfSxpLnByb3RvdHlwZS5fZmx1c2hCdWZmZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fdXBkYXRlKHRoaXMuYnVmZmVyLDAsZSx0KSx0aGlzLmJ1ZmZlck9mZj0wLHRoaXMuYmxvY2tTaXplfSxpLnByb3RvdHlwZS5fdXBkYXRlRW5jcnlwdD1mdW5jdGlvbihlKXt2YXIgdD0wLHI9MCxuPSh0aGlzLmJ1ZmZlck9mZitlLmxlbmd0aCkvdGhpcy5ibG9ja1NpemV8MCxpPW5ldyBBcnJheShuKnRoaXMuYmxvY2tTaXplKTswIT09dGhpcy5idWZmZXJPZmYmJih0Kz10aGlzLl9idWZmZXIoZSx0KSx0aGlzLmJ1ZmZlck9mZj09PXRoaXMuYnVmZmVyLmxlbmd0aCYmKHIrPXRoaXMuX2ZsdXNoQnVmZmVyKGkscikpKTtmb3IodmFyIG89ZS5sZW5ndGgtKGUubGVuZ3RoLXQpJXRoaXMuYmxvY2tTaXplO3Q8bzt0Kz10aGlzLmJsb2NrU2l6ZSl0aGlzLl91cGRhdGUoZSx0LGkscikscis9dGhpcy5ibG9ja1NpemU7Zm9yKDt0PGUubGVuZ3RoO3QrKyx0aGlzLmJ1ZmZlck9mZisrKXRoaXMuYnVmZmVyW3RoaXMuYnVmZmVyT2ZmXT1lW3RdO3JldHVybiBpfSxpLnByb3RvdHlwZS5fdXBkYXRlRGVjcnlwdD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MCxyPTAsbj1NYXRoLmNlaWwoKHRoaXMuYnVmZmVyT2ZmK2UubGVuZ3RoKS90aGlzLmJsb2NrU2l6ZSktMSxpPW5ldyBBcnJheShuKnRoaXMuYmxvY2tTaXplKTtuPjA7bi0tKXQrPXRoaXMuX2J1ZmZlcihlLHQpLHIrPXRoaXMuX2ZsdXNoQnVmZmVyKGkscik7cmV0dXJuIHQrPXRoaXMuX2J1ZmZlcihlLHQpLGl9LGkucHJvdG90eXBlLmZpbmFsPWZ1bmN0aW9uKGUpe3ZhciB0LHI7cmV0dXJuIGUmJih0PXRoaXMudXBkYXRlKGUpKSxyPSJlbmNyeXB0Ij09PXRoaXMudHlwZT90aGlzLl9maW5hbEVuY3J5cHQoKTp0aGlzLl9maW5hbERlY3J5cHQoKSx0P3QuY29uY2F0KHIpOnJ9LGkucHJvdG90eXBlLl9wYWQ9ZnVuY3Rpb24oZSx0KXtpZigwPT09dClyZXR1cm4hMTtmb3IoO3Q8ZS5sZW5ndGg7KWVbdCsrXT0wO3JldHVybiEwfSxpLnByb3RvdHlwZS5fZmluYWxFbmNyeXB0PWZ1bmN0aW9uKCl7aWYoIXRoaXMuX3BhZCh0aGlzLmJ1ZmZlcix0aGlzLmJ1ZmZlck9mZikpcmV0dXJuW107dmFyIGU9bmV3IEFycmF5KHRoaXMuYmxvY2tTaXplKTtyZXR1cm4gdGhpcy5fdXBkYXRlKHRoaXMuYnVmZmVyLDAsZSwwKSxlfSxpLnByb3RvdHlwZS5fdW5wYWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LGkucHJvdG90eXBlLl9maW5hbERlY3J5cHQ9ZnVuY3Rpb24oKXtuLmVxdWFsKHRoaXMuYnVmZmVyT2ZmLHRoaXMuYmxvY2tTaXplLCJOb3QgZW5vdWdoIGRhdGEgdG8gZGVjcnlwdCIpO3ZhciBlPW5ldyBBcnJheSh0aGlzLmJsb2NrU2l6ZSk7cmV0dXJuIHRoaXMuX2ZsdXNoQnVmZmVyKGUsMCksdGhpcy5fdW5wYWQoZSl9fSwzMDQ5OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig0NTA0KSxpPXIoMTczNiksbz1yKDMxOSksYT1yKDk1OTEpO2Z1bmN0aW9uIHMoKXt0aGlzLnRtcD1uZXcgQXJyYXkoMiksdGhpcy5rZXlzPW51bGx9ZnVuY3Rpb24gdShlKXthLmNhbGwodGhpcyxlKTt2YXIgdD1uZXcgczt0aGlzLl9kZXNTdGF0ZT10LHRoaXMuZGVyaXZlS2V5cyh0LGUua2V5KX1pKHUsYSksZS5leHBvcnRzPXUsdS5jcmVhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB1KGUpfTt2YXIgYz1bMSwxLDIsMiwyLDIsMiwyLDEsMiwyLDIsMiwyLDIsMV07dS5wcm90b3R5cGUuZGVyaXZlS2V5cz1mdW5jdGlvbihlLHQpe2Uua2V5cz1uZXcgQXJyYXkoMzIpLG4uZXF1YWwodC5sZW5ndGgsdGhpcy5ibG9ja1NpemUsIkludmFsaWQga2V5IGxlbmd0aCIpO3ZhciByPW8ucmVhZFVJbnQzMkJFKHQsMCksaT1vLnJlYWRVSW50MzJCRSh0LDQpO28ucGMxKHIsaSxlLnRtcCwwKSxyPWUudG1wWzBdLGk9ZS50bXBbMV07Zm9yKHZhciBhPTA7YTxlLmtleXMubGVuZ3RoO2ErPTIpe3ZhciBzPWNbYT4+PjFdO3I9by5yMjhzaGwocixzKSxpPW8ucjI4c2hsKGkscyksby5wYzIocixpLGUua2V5cyxhKX19LHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oZSx0LHIsbil7dmFyIGk9dGhpcy5fZGVzU3RhdGUsYT1vLnJlYWRVSW50MzJCRShlLHQpLHM9by5yZWFkVUludDMyQkUoZSx0KzQpO28uaXAoYSxzLGkudG1wLDApLGE9aS50bXBbMF0scz1pLnRtcFsxXSwiZW5jcnlwdCI9PT10aGlzLnR5cGU/dGhpcy5fZW5jcnlwdChpLGEscyxpLnRtcCwwKTp0aGlzLl9kZWNyeXB0KGksYSxzLGkudG1wLDApLGE9aS50bXBbMF0scz1pLnRtcFsxXSxvLndyaXRlVUludDMyQkUocixhLG4pLG8ud3JpdGVVSW50MzJCRShyLHMsbis0KX0sdS5wcm90b3R5cGUuX3BhZD1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj1lLmxlbmd0aC10LG49dDtuPGUubGVuZ3RoO24rKyllW25dPXI7cmV0dXJuITB9LHUucHJvdG90eXBlLl91bnBhZD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9ZVtlLmxlbmd0aC0xXSxyPWUubGVuZ3RoLXQ7cjxlLmxlbmd0aDtyKyspbi5lcXVhbChlW3JdLHQpO3JldHVybiBlLnNsaWNlKDAsZS5sZW5ndGgtdCl9LHUucHJvdG90eXBlLl9lbmNyeXB0PWZ1bmN0aW9uKGUsdCxyLG4saSl7Zm9yKHZhciBhPXQscz1yLHU9MDt1PGUua2V5cy5sZW5ndGg7dSs9Mil7dmFyIGM9ZS5rZXlzW3VdLGY9ZS5rZXlzW3UrMV07by5leHBhbmQocyxlLnRtcCwwKSxjXj1lLnRtcFswXSxmXj1lLnRtcFsxXTt2YXIgZD1vLnN1YnN0aXR1dGUoYyxmKSxsPXM7cz0oYV5vLnBlcm11dGUoZCkpPj4+MCxhPWx9by5yaXAocyxhLG4saSl9LHUucHJvdG90eXBlLl9kZWNyeXB0PWZ1bmN0aW9uKGUsdCxyLG4saSl7Zm9yKHZhciBhPXIscz10LHU9ZS5rZXlzLmxlbmd0aC0yO3U+PTA7dS09Mil7dmFyIGM9ZS5rZXlzW3VdLGY9ZS5rZXlzW3UrMV07by5leHBhbmQoYSxlLnRtcCwwKSxjXj1lLnRtcFswXSxmXj1lLnRtcFsxXTt2YXIgZD1vLnN1YnN0aXR1dGUoYyxmKSxsPWE7YT0oc15vLnBlcm11dGUoZCkpPj4+MCxzPWx9by5yaXAoYSxzLG4saSl9fSw5NDEzOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig0NTA0KSxpPXIoMTczNiksbz1yKDk1OTEpLGE9cigzMDQ5KTtmdW5jdGlvbiBzKGUsdCl7bi5lcXVhbCh0Lmxlbmd0aCwyNCwiSW52YWxpZCBrZXkgbGVuZ3RoIik7dmFyIHI9dC5zbGljZSgwLDgpLGk9dC5zbGljZSg4LDE2KSxvPXQuc2xpY2UoMTYsMjQpO3RoaXMuY2lwaGVycz0iZW5jcnlwdCI9PT1lP1thLmNyZWF0ZSh7dHlwZToiZW5jcnlwdCIsa2V5OnJ9KSxhLmNyZWF0ZSh7dHlwZToiZGVjcnlwdCIsa2V5Oml9KSxhLmNyZWF0ZSh7dHlwZToiZW5jcnlwdCIsa2V5Om99KV06W2EuY3JlYXRlKHt0eXBlOiJkZWNyeXB0IixrZXk6b30pLGEuY3JlYXRlKHt0eXBlOiJlbmNyeXB0IixrZXk6aX0pLGEuY3JlYXRlKHt0eXBlOiJkZWNyeXB0IixrZXk6cn0pXX1mdW5jdGlvbiB1KGUpe28uY2FsbCh0aGlzLGUpO3ZhciB0PW5ldyBzKHRoaXMudHlwZSx0aGlzLm9wdGlvbnMua2V5KTt0aGlzLl9lZGVTdGF0ZT10fWkodSxvKSxlLmV4cG9ydHM9dSx1LmNyZWF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IHUoZSl9LHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oZSx0LHIsbil7dmFyIGk9dGhpcy5fZWRlU3RhdGU7aS5jaXBoZXJzWzBdLl91cGRhdGUoZSx0LHIsbiksaS5jaXBoZXJzWzFdLl91cGRhdGUocixuLHIsbiksaS5jaXBoZXJzWzJdLl91cGRhdGUocixuLHIsbil9LHUucHJvdG90eXBlLl9wYWQ9YS5wcm90b3R5cGUuX3BhZCx1LnByb3RvdHlwZS5fdW5wYWQ9YS5wcm90b3R5cGUuX3VucGFkfSwzMTk6KGUsdCk9PnsidXNlIHN0cmljdCI7dC5yZWFkVUludDMyQkU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZVswK3RdPDwyNHxlWzErdF08PDE2fGVbMit0XTw8OHxlWzMrdF0pPj4+MH0sdC53cml0ZVVJbnQzMkJFPWZ1bmN0aW9uKGUsdCxyKXtlWzArcl09dD4+PjI0LGVbMStyXT10Pj4+MTYmMjU1LGVbMityXT10Pj4+OCYyNTUsZVszK3JdPTI1NSZ0fSx0LmlwPWZ1bmN0aW9uKGUsdCxyLG4pe2Zvcih2YXIgaT0wLG89MCxhPTY7YT49MDthLT0yKXtmb3IodmFyIHM9MDtzPD0yNDtzKz04KWk8PD0xLGl8PXQ+Pj5zK2EmMTtmb3Iocz0wO3M8PTI0O3MrPTgpaTw8PTEsaXw9ZT4+PnMrYSYxfWZvcihhPTY7YT49MDthLT0yKXtmb3Iocz0xO3M8PTI1O3MrPTgpbzw8PTEsb3w9dD4+PnMrYSYxO2ZvcihzPTE7czw9MjU7cys9OClvPDw9MSxvfD1lPj4+cythJjF9cltuKzBdPWk+Pj4wLHJbbisxXT1vPj4+MH0sdC5yaXA9ZnVuY3Rpb24oZSx0LHIsbil7Zm9yKHZhciBpPTAsbz0wLGE9MDthPDQ7YSsrKWZvcih2YXIgcz0yNDtzPj0wO3MtPTgpaTw8PTEsaXw9dD4+PnMrYSYxLGk8PD0xLGl8PWU+Pj5zK2EmMTtmb3IoYT00O2E8ODthKyspZm9yKHM9MjQ7cz49MDtzLT04KW88PD0xLG98PXQ+Pj5zK2EmMSxvPDw9MSxvfD1lPj4+cythJjE7cltuKzBdPWk+Pj4wLHJbbisxXT1vPj4+MH0sdC5wYzE9ZnVuY3Rpb24oZSx0LHIsbil7Zm9yKHZhciBpPTAsbz0wLGE9NzthPj01O2EtLSl7Zm9yKHZhciBzPTA7czw9MjQ7cys9OClpPDw9MSxpfD10Pj5zK2EmMTtmb3Iocz0wO3M8PTI0O3MrPTgpaTw8PTEsaXw9ZT4+cythJjF9Zm9yKHM9MDtzPD0yNDtzKz04KWk8PD0xLGl8PXQ+PnMrYSYxO2ZvcihhPTE7YTw9MzthKyspe2ZvcihzPTA7czw9MjQ7cys9OClvPDw9MSxvfD10Pj5zK2EmMTtmb3Iocz0wO3M8PTI0O3MrPTgpbzw8PTEsb3w9ZT4+cythJjF9Zm9yKHM9MDtzPD0yNDtzKz04KW88PD0xLG98PWU+PnMrYSYxO3JbbiswXT1pPj4+MCxyW24rMV09bz4+PjB9LHQucjI4c2hsPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU8PHQmMjY4NDM1NDU1fGU+Pj4yOC10fTt2YXIgcj1bMTQsMTEsMTcsNCwyNywyMywyNSwwLDEzLDIyLDcsMTgsNSw5LDE2LDI0LDIsMjAsMTIsMjEsMSw4LDE1LDI2LDE1LDQsMjUsMTksOSwxLDI2LDE2LDUsMTEsMjMsOCwxMiw3LDE3LDAsMjIsMywxMCwxNCw2LDIwLDI3LDI0XTt0LnBjMj1mdW5jdGlvbihlLHQsbixpKXtmb3IodmFyIG89MCxhPTAscz1yLmxlbmd0aD4+PjEsdT0wO3U8czt1Kyspbzw8PTEsb3w9ZT4+PnJbdV0mMTtmb3IodT1zO3U8ci5sZW5ndGg7dSsrKWE8PD0xLGF8PXQ+Pj5yW3VdJjE7bltpKzBdPW8+Pj4wLG5baSsxXT1hPj4+MH0sdC5leHBhbmQ9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPTAsaT0wO249KDEmZSk8PDV8ZT4+PjI3O2Zvcih2YXIgbz0yMztvPj0xNTtvLT00KW48PD02LG58PWU+Pj5vJjYzO2ZvcihvPTExO28+PTM7by09NClpfD1lPj4+byY2MyxpPDw9NjtpfD0oMzEmZSk8PDF8ZT4+PjMxLHRbciswXT1uPj4+MCx0W3IrMV09aT4+PjB9O3ZhciBuPVsxNCwwLDQsMTUsMTMsNywxLDQsMiwxNCwxNSwyLDExLDEzLDgsMSwzLDEwLDEwLDYsNiwxMiwxMiwxMSw1LDksOSw1LDAsMyw3LDgsNCwxNSwxLDEyLDE0LDgsOCwyLDEzLDQsNiw5LDIsMSwxMSw3LDE1LDUsMTIsMTEsOSwzLDcsMTQsMywxMCwxMCwwLDUsNiwwLDEzLDE1LDMsMSwxMyw4LDQsMTQsNyw2LDE1LDExLDIsMyw4LDQsMTQsOSwxMiw3LDAsMiwxLDEzLDEwLDEyLDYsMCw5LDUsMTEsMTAsNSwwLDEzLDE0LDgsNywxMCwxMSwxLDEwLDMsNCwxNSwxMyw0LDEsMiw1LDExLDgsNiwxMiw3LDYsMTIsOSwwLDMsNSwyLDE0LDE1LDksMTAsMTMsMCw3LDksMCwxNCw5LDYsMywzLDQsMTUsNiw1LDEwLDEsMiwxMyw4LDEyLDUsNywxNCwxMSwxMiw0LDExLDIsMTUsOCwxLDEzLDEsNiwxMCw0LDEzLDksMCw4LDYsMTUsOSwzLDgsMCw3LDExLDQsMSwxNSwyLDE0LDEyLDMsNSwxMSwxMCw1LDE0LDIsNywxMiw3LDEzLDEzLDgsMTQsMTEsMyw1LDAsNiw2LDE1LDksMCwxMCwzLDEsNCwyLDcsOCwyLDUsMTIsMTEsMSwxMiwxMCw0LDE0LDE1LDksMTAsMyw2LDE1LDksMCwwLDYsMTIsMTAsMTEsMSw3LDEzLDEzLDgsMTUsOSwxLDQsMyw1LDE0LDExLDUsMTIsMiw3LDgsMiw0LDE0LDIsMTQsMTIsMTEsNCwyLDEsMTIsNyw0LDEwLDcsMTEsMTMsNiwxLDgsNSw1LDAsMywxNSwxNSwxMCwxMywzLDAsOSwxNCw4LDksNiw0LDExLDIsOCwxLDEyLDExLDcsMTAsMSwxMywxNCw3LDIsOCwxMywxNSw2LDksMTUsMTIsMCw1LDksNiwxMCwzLDQsMCw1LDE0LDMsMTIsMTAsMSwxNSwxMCw0LDE1LDIsOSw3LDIsMTIsNiw5LDgsNSwwLDYsMTMsMSwzLDEzLDQsMTQsMTQsMCw3LDExLDUsMywxMSw4LDksNCwxNCwzLDE1LDIsNSwxMiwyLDksOCw1LDEyLDE1LDMsMTAsNywxMSwwLDE0LDQsMSwxMCw3LDEsNiwxMywwLDExLDgsNiwxMyw0LDEzLDExLDAsMiwxMSwxNCw3LDE1LDQsMCw5LDgsMSwxMywxMCwzLDE0LDEyLDMsOSw1LDcsMTIsNSwyLDEwLDE1LDYsOCwxLDYsMSw2LDQsMTEsMTEsMTMsMTMsOCwxMiwxLDMsNCw3LDEwLDE0LDcsMTAsOSwxNSw1LDYsMCw4LDE1LDAsMTQsNSwyLDksMywyLDEyLDEzLDEsMiwxNSw4LDEzLDQsOCw2LDEwLDE1LDMsMTEsNywxLDQsMTAsMTIsOSw1LDMsNiwxNCwxMSw1LDAsMCwxNCwxMiw5LDcsMiw3LDIsMTEsMSw0LDE0LDEsNyw5LDQsMTIsMTAsMTQsOCwyLDEzLDAsMTUsNiwxMiwxMCw5LDEzLDAsMTUsMywzLDUsNSw2LDgsMTFdO3Quc3Vic3RpdHV0ZT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj0wLGk9MDtpPDQ7aSsrKXI8PD00LHJ8PW5bNjQqaSsoZT4+PjE4LTYqaSY2MyldO2ZvcihpPTA7aTw0O2krKylyPDw9NCxyfD1uWzI1Nis2NCppKyh0Pj4+MTgtNippJjYzKV07cmV0dXJuIHI+Pj4wfTt2YXIgaT1bMTYsMjUsMTIsMTEsMywyMCw0LDE1LDMxLDE3LDksNiwyNywxNCwxLDIyLDMwLDI0LDgsMTgsMCw1LDI5LDIzLDEzLDE5LDIsMjYsMTAsMjEsMjgsN107dC5wZXJtdXRlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wLHI9MDtyPGkubGVuZ3RoO3IrKyl0PDw9MSx0fD1lPj4+aVtyXSYxO3JldHVybiB0Pj4+MH0sdC5wYWRTcGxpdD1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBuPWUudG9TdHJpbmcoMik7bi5sZW5ndGg8dDspbj0iMCIrbjtmb3IodmFyIGk9W10sbz0wO288dDtvKz1yKWkucHVzaChuLnNsaWNlKG8sbytyKSk7cmV0dXJuIGkuam9pbigiICIpfX0sODMzMzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTAzMykuQnVmZmVyLGk9cig4NTU3KSxvPXIoOTc5OSksYT1yKDE1OTIpLHM9e2JpbmFyeTohMCxoZXg6ITAsYmFzZTY0OiEwfTt0LkRpZmZpZUhlbGxtYW5Hcm91cD10LmNyZWF0ZURpZmZpZUhlbGxtYW5Hcm91cD10LmdldERpZmZpZUhlbGxtYW49ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IG4ob1tlXS5wcmltZSwiaGV4Iikscj1uZXcgbihvW2VdLmdlbiwiaGV4Iik7cmV0dXJuIG5ldyBhKHQscil9LHQuY3JlYXRlRGlmZmllSGVsbG1hbj10LkRpZmZpZUhlbGxtYW49ZnVuY3Rpb24gZSh0LHIsbyx1KXtyZXR1cm4gbi5pc0J1ZmZlcihyKXx8dm9pZCAwPT09c1tyXT9lKHQsImJpbmFyeSIscixvKToocj1yfHwiYmluYXJ5Iix1PXV8fCJiaW5hcnkiLG89b3x8bmV3IG4oWzJdKSxuLmlzQnVmZmVyKG8pfHwobz1uZXcgbihvLHUpKSwibnVtYmVyIj09dHlwZW9mIHQ/bmV3IGEoaSh0LG8pLG8sITApOihuLmlzQnVmZmVyKHQpfHwodD1uZXcgbih0LHIpKSxuZXcgYSh0LG8sITApKSl9fSwxNTkyOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXIsaT1yKDE3MzQpLG89bmV3KHIoMTM3KSksYT1uZXcgaSgyNCkscz1uZXcgaSgxMSksdT1uZXcgaSgxMCksYz1uZXcgaSgzKSxmPW5ldyBpKDcpLGQ9cig4NTU3KSxsPXIoNTAxMCk7ZnVuY3Rpb24gaChlLHQpe3JldHVybiB0PXR8fCJ1dGY4IixuLmlzQnVmZmVyKGUpfHwoZT1uZXcgbihlLHQpKSx0aGlzLl9wdWI9bmV3IGkoZSksdGhpc31mdW5jdGlvbiBwKGUsdCl7cmV0dXJuIHQ9dHx8InV0ZjgiLG4uaXNCdWZmZXIoZSl8fChlPW5ldyBuKGUsdCkpLHRoaXMuX3ByaXY9bmV3IGkoZSksdGhpc31lLmV4cG9ydHM9eTt2YXIgYj17fTtmdW5jdGlvbiB5KGUsdCxyKXt0aGlzLnNldEdlbmVyYXRvcih0KSx0aGlzLl9fcHJpbWU9bmV3IGkoZSksdGhpcy5fcHJpbWU9aS5tb250KHRoaXMuX19wcmltZSksdGhpcy5fcHJpbWVMZW49ZS5sZW5ndGgsdGhpcy5fcHViPXZvaWQgMCx0aGlzLl9wcml2PXZvaWQgMCx0aGlzLl9wcmltZUNvZGU9dm9pZCAwLHI/KHRoaXMuc2V0UHVibGljS2V5PWgsdGhpcy5zZXRQcml2YXRlS2V5PXApOnRoaXMuX3ByaW1lQ29kZT04fWZ1bmN0aW9uIG0oZSx0KXt2YXIgcj1uZXcgbihlLnRvQXJyYXkoKSk7cmV0dXJuIHQ/ci50b1N0cmluZyh0KTpyfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh5LnByb3RvdHlwZSwidmVyaWZ5RXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiJudW1iZXIiIT10eXBlb2YgdGhpcy5fcHJpbWVDb2RlJiYodGhpcy5fcHJpbWVDb2RlPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dC50b1N0cmluZygiaGV4Iiksbj1bcixlLnRvU3RyaW5nKDE2KV0uam9pbigiXyIpO2lmKG4gaW4gYilyZXR1cm4gYltuXTt2YXIgaSxsPTA7aWYoZS5pc0V2ZW4oKXx8IWQuc2ltcGxlU2lldmV8fCFkLmZlcm1hdFRlc3QoZSl8fCFvLnRlc3QoZSkpcmV0dXJuIGwrPTEsbCs9IjAyIj09PXJ8fCIwNSI9PT1yPzg6NCxiW25dPWwsbDtzd2l0Y2goby50ZXN0KGUuc2hybigxKSl8fChsKz0yKSxyKXtjYXNlIjAyIjplLm1vZChhKS5jbXAocykmJihsKz04KTticmVhaztjYXNlIjA1IjooaT1lLm1vZCh1KSkuY21wKGMpJiZpLmNtcChmKSYmKGwrPTgpO2JyZWFrO2RlZmF1bHQ6bCs9NH1yZXR1cm4gYltuXT1sLGx9KHRoaXMuX19wcmltZSx0aGlzLl9fZ2VuKSksdGhpcy5fcHJpbWVDb2RlfX0pLHkucHJvdG90eXBlLmdlbmVyYXRlS2V5cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wcml2fHwodGhpcy5fcHJpdj1uZXcgaShsKHRoaXMuX3ByaW1lTGVuKSkpLHRoaXMuX3B1Yj10aGlzLl9nZW4udG9SZWQodGhpcy5fcHJpbWUpLnJlZFBvdyh0aGlzLl9wcml2KS5mcm9tUmVkKCksdGhpcy5nZXRQdWJsaWNLZXkoKX0seS5wcm90b3R5cGUuY29tcHV0ZVNlY3JldD1mdW5jdGlvbihlKXt2YXIgdD0oZT0oZT1uZXcgaShlKSkudG9SZWQodGhpcy5fcHJpbWUpKS5yZWRQb3codGhpcy5fcHJpdikuZnJvbVJlZCgpLHI9bmV3IG4odC50b0FycmF5KCkpLG89dGhpcy5nZXRQcmltZSgpO2lmKHIubGVuZ3RoPG8ubGVuZ3RoKXt2YXIgYT1uZXcgbihvLmxlbmd0aC1yLmxlbmd0aCk7YS5maWxsKDApLHI9bi5jb25jYXQoW2Escl0pfXJldHVybiByfSx5LnByb3RvdHlwZS5nZXRQdWJsaWNLZXk9ZnVuY3Rpb24oZSl7cmV0dXJuIG0odGhpcy5fcHViLGUpfSx5LnByb3RvdHlwZS5nZXRQcml2YXRlS2V5PWZ1bmN0aW9uKGUpe3JldHVybiBtKHRoaXMuX3ByaXYsZSl9LHkucHJvdG90eXBlLmdldFByaW1lPWZ1bmN0aW9uKGUpe3JldHVybiBtKHRoaXMuX19wcmltZSxlKX0seS5wcm90b3R5cGUuZ2V0R2VuZXJhdG9yPWZ1bmN0aW9uKGUpe3JldHVybiBtKHRoaXMuX2dlbixlKX0seS5wcm90b3R5cGUuc2V0R2VuZXJhdG9yPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ9dHx8InV0ZjgiLG4uaXNCdWZmZXIoZSl8fChlPW5ldyBuKGUsdCkpLHRoaXMuX19nZW49ZSx0aGlzLl9nZW49bmV3IGkoZSksdGhpc319LDg1NTc6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDUwMTApO2UuZXhwb3J0cz12LHYuc2ltcGxlU2lldmU9eSx2LmZlcm1hdFRlc3Q9bTt2YXIgaT1yKDE3MzQpLG89bmV3IGkoMjQpLGE9bmV3KHIoMTM3KSkscz1uZXcgaSgxKSx1PW5ldyBpKDIpLGM9bmV3IGkoNSksZj0obmV3IGkoMTYpLG5ldyBpKDgpLG5ldyBpKDEwKSksZD1uZXcgaSgzKSxsPShuZXcgaSg3KSxuZXcgaSgxMSkpLGg9bmV3IGkoNCkscD0obmV3IGkoMTIpLG51bGwpO2Z1bmN0aW9uIGIoKXtpZihudWxsIT09cClyZXR1cm4gcDt2YXIgZT1bXTtlWzBdPTI7Zm9yKHZhciB0PTEscj0zO3I8MTA0ODU3NjtyKz0yKXtmb3IodmFyIG49TWF0aC5jZWlsKE1hdGguc3FydChyKSksaT0wO2k8dCYmZVtpXTw9biYmciVlW2ldIT0wO2krKyk7dCE9PWkmJmVbaV08PW58fChlW3QrK109cil9cmV0dXJuIHA9ZSxlfWZ1bmN0aW9uIHkoZSl7Zm9yKHZhciB0PWIoKSxyPTA7cjx0Lmxlbmd0aDtyKyspaWYoMD09PWUubW9kbih0W3JdKSlyZXR1cm4gMD09PWUuY21wbih0W3JdKTtyZXR1cm4hMH1mdW5jdGlvbiBtKGUpe3ZhciB0PWkubW9udChlKTtyZXR1cm4gMD09PXUudG9SZWQodCkucmVkUG93KGUuc3VibigxKSkuZnJvbVJlZCgpLmNtcG4oMSl9ZnVuY3Rpb24gdihlLHQpe2lmKGU8MTYpcmV0dXJuIG5ldyBpKDI9PT10fHw1PT09dD9bMTQwLDEyM106WzE0MCwzOV0pO3ZhciByLHA7Zm9yKHQ9bmV3IGkodCk7Oyl7Zm9yKHI9bmV3IGkobihNYXRoLmNlaWwoZS84KSkpO3IuYml0TGVuZ3RoKCk+ZTspci5pc2hybigxKTtpZihyLmlzRXZlbigpJiZyLmlhZGQocyksci50ZXN0bigxKXx8ci5pYWRkKHUpLHQuY21wKHUpKXtpZighdC5jbXAoYykpZm9yKDtyLm1vZChmKS5jbXAoZCk7KXIuaWFkZChoKX1lbHNlIGZvcig7ci5tb2QobykuY21wKGwpOylyLmlhZGQoaCk7aWYoeShwPXIuc2hybigxKSkmJnkocikmJm0ocCkmJm0ocikmJmEudGVzdChwKSYmYS50ZXN0KHIpKXJldHVybiByfX19LDY1OTc6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj10O24udmVyc2lvbj1yKDg1OTcpLmk4LG4udXRpbHM9cig3NTI4KSxuLnJhbmQ9cigyMjAyKSxuLmN1cnZlPXIoNjA2Myksbi5jdXJ2ZXM9cig1MDYpLG4uZWM9cig4MzIwKSxuLmVkZHNhPXIoODAyNyl9LDEyNDk6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE3MzQpLGk9cig3NTI4KSxvPWkuZ2V0TkFGLGE9aS5nZXRKU0Yscz1pLmFzc2VydDtmdW5jdGlvbiB1KGUsdCl7dGhpcy50eXBlPWUsdGhpcy5wPW5ldyBuKHQucCwxNiksdGhpcy5yZWQ9dC5wcmltZT9uLnJlZCh0LnByaW1lKTpuLm1vbnQodGhpcy5wKSx0aGlzLnplcm89bmV3IG4oMCkudG9SZWQodGhpcy5yZWQpLHRoaXMub25lPW5ldyBuKDEpLnRvUmVkKHRoaXMucmVkKSx0aGlzLnR3bz1uZXcgbigyKS50b1JlZCh0aGlzLnJlZCksdGhpcy5uPXQubiYmbmV3IG4odC5uLDE2KSx0aGlzLmc9dC5nJiZ0aGlzLnBvaW50RnJvbUpTT04odC5nLHQuZ1JlZCksdGhpcy5fd25hZlQxPW5ldyBBcnJheSg0KSx0aGlzLl93bmFmVDI9bmV3IEFycmF5KDQpLHRoaXMuX3duYWZUMz1uZXcgQXJyYXkoNCksdGhpcy5fd25hZlQ0PW5ldyBBcnJheSg0KSx0aGlzLl9iaXRMZW5ndGg9dGhpcy5uP3RoaXMubi5iaXRMZW5ndGgoKTowO3ZhciByPXRoaXMubiYmdGhpcy5wLmRpdih0aGlzLm4pOyFyfHxyLmNtcG4oMTAwKT4wP3RoaXMucmVkTj1udWxsOih0aGlzLl9tYXh3ZWxsVHJpY2s9ITAsdGhpcy5yZWROPXRoaXMubi50b1JlZCh0aGlzLnJlZCkpfWZ1bmN0aW9uIGMoZSx0KXt0aGlzLmN1cnZlPWUsdGhpcy50eXBlPXQsdGhpcy5wcmVjb21wdXRlZD1udWxsfWUuZXhwb3J0cz11LHUucHJvdG90eXBlLnBvaW50PWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX0sdS5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfSx1LnByb3RvdHlwZS5fZml4ZWROYWZNdWw9ZnVuY3Rpb24oZSx0KXtzKGUucHJlY29tcHV0ZWQpO3ZhciByPWUuX2dldERvdWJsZXMoKSxuPW8odCwxLHRoaXMuX2JpdExlbmd0aCksaT0oMTw8ci5zdGVwKzEpLShyLnN0ZXAlMj09MD8yOjEpO2kvPTM7dmFyIGEsdSxjPVtdO2ZvcihhPTA7YTxuLmxlbmd0aDthKz1yLnN0ZXApe3U9MDtmb3IodmFyIGY9YStyLnN0ZXAtMTtmPj1hO2YtLSl1PSh1PDwxKStuW2ZdO2MucHVzaCh1KX1mb3IodmFyIGQ9dGhpcy5qcG9pbnQobnVsbCxudWxsLG51bGwpLGw9dGhpcy5qcG9pbnQobnVsbCxudWxsLG51bGwpLGg9aTtoPjA7aC0tKXtmb3IoYT0wO2E8Yy5sZW5ndGg7YSsrKSh1PWNbYV0pPT09aD9sPWwubWl4ZWRBZGQoci5wb2ludHNbYV0pOnU9PT0taCYmKGw9bC5taXhlZEFkZChyLnBvaW50c1thXS5uZWcoKSkpO2Q9ZC5hZGQobCl9cmV0dXJuIGQudG9QKCl9LHUucHJvdG90eXBlLl93bmFmTXVsPWZ1bmN0aW9uKGUsdCl7dmFyIHI9NCxuPWUuX2dldE5BRlBvaW50cyhyKTtyPW4ud25kO2Zvcih2YXIgaT1uLnBvaW50cyxhPW8odCxyLHRoaXMuX2JpdExlbmd0aCksdT10aGlzLmpwb2ludChudWxsLG51bGwsbnVsbCksYz1hLmxlbmd0aC0xO2M+PTA7Yy0tKXtmb3IodmFyIGY9MDtjPj0wJiYwPT09YVtjXTtjLS0pZisrO2lmKGM+PTAmJmYrKyx1PXUuZGJscChmKSxjPDApYnJlYWs7dmFyIGQ9YVtjXTtzKDAhPT1kKSx1PSJhZmZpbmUiPT09ZS50eXBlP2Q+MD91Lm1peGVkQWRkKGlbZC0xPj4xXSk6dS5taXhlZEFkZChpWy1kLTE+PjFdLm5lZygpKTpkPjA/dS5hZGQoaVtkLTE+PjFdKTp1LmFkZChpWy1kLTE+PjFdLm5lZygpKX1yZXR1cm4iYWZmaW5lIj09PWUudHlwZT91LnRvUCgpOnV9LHUucHJvdG90eXBlLl93bmFmTXVsQWRkPWZ1bmN0aW9uKGUsdCxyLG4saSl7dmFyIHMsdSxjLGY9dGhpcy5fd25hZlQxLGQ9dGhpcy5fd25hZlQyLGw9dGhpcy5fd25hZlQzLGg9MDtmb3Iocz0wO3M8bjtzKyspe3ZhciBwPShjPXRbc10pLl9nZXROQUZQb2ludHMoZSk7ZltzXT1wLnduZCxkW3NdPXAucG9pbnRzfWZvcihzPW4tMTtzPj0xO3MtPTIpe3ZhciBiPXMtMSx5PXM7aWYoMT09PWZbYl0mJjE9PT1mW3ldKXt2YXIgbT1bdFtiXSxudWxsLG51bGwsdFt5XV07MD09PXRbYl0ueS5jbXAodFt5XS55KT8obVsxXT10W2JdLmFkZCh0W3ldKSxtWzJdPXRbYl0udG9KKCkubWl4ZWRBZGQodFt5XS5uZWcoKSkpOjA9PT10W2JdLnkuY21wKHRbeV0ueS5yZWROZWcoKSk/KG1bMV09dFtiXS50b0ooKS5taXhlZEFkZCh0W3ldKSxtWzJdPXRbYl0uYWRkKHRbeV0ubmVnKCkpKToobVsxXT10W2JdLnRvSigpLm1peGVkQWRkKHRbeV0pLG1bMl09dFtiXS50b0ooKS5taXhlZEFkZCh0W3ldLm5lZygpKSk7dmFyIHY9Wy0zLC0xLC01LC03LDAsNyw1LDEsM10sZz1hKHJbYl0sclt5XSk7Zm9yKGg9TWF0aC5tYXgoZ1swXS5sZW5ndGgsaCksbFtiXT1uZXcgQXJyYXkoaCksbFt5XT1uZXcgQXJyYXkoaCksdT0wO3U8aDt1Kyspe3ZhciB3PTB8Z1swXVt1XSxBPTB8Z1sxXVt1XTtsW2JdW3VdPXZbMyoodysxKSsoQSsxKV0sbFt5XVt1XT0wLGRbYl09bX19ZWxzZSBsW2JdPW8ocltiXSxmW2JdLHRoaXMuX2JpdExlbmd0aCksbFt5XT1vKHJbeV0sZlt5XSx0aGlzLl9iaXRMZW5ndGgpLGg9TWF0aC5tYXgobFtiXS5sZW5ndGgsaCksaD1NYXRoLm1heChsW3ldLmxlbmd0aCxoKX12YXIgaz10aGlzLmpwb2ludChudWxsLG51bGwsbnVsbCksXz10aGlzLl93bmFmVDQ7Zm9yKHM9aDtzPj0wO3MtLSl7Zm9yKHZhciBTPTA7cz49MDspe3ZhciB4PSEwO2Zvcih1PTA7dTxuO3UrKylfW3VdPTB8bFt1XVtzXSwwIT09X1t1XSYmKHg9ITEpO2lmKCF4KWJyZWFrO1MrKyxzLS19aWYocz49MCYmUysrLGs9ay5kYmxwKFMpLHM8MClicmVhaztmb3IodT0wO3U8bjt1Kyspe3ZhciBFPV9bdV07MCE9PUUmJihFPjA/Yz1kW3VdW0UtMT4+MV06RTwwJiYoYz1kW3VdWy1FLTE+PjFdLm5lZygpKSxrPSJhZmZpbmUiPT09Yy50eXBlP2subWl4ZWRBZGQoYyk6ay5hZGQoYykpfX1mb3Iocz0wO3M8bjtzKyspZFtzXT1udWxsO3JldHVybiBpP2s6ay50b1AoKX0sdS5CYXNlUG9pbnQ9YyxjLnByb3RvdHlwZS5lcT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9LGMucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3VydmUudmFsaWRhdGUodGhpcyl9LHUucHJvdG90eXBlLmRlY29kZVBvaW50PWZ1bmN0aW9uKGUsdCl7ZT1pLnRvQXJyYXkoZSx0KTt2YXIgcj10aGlzLnAuYnl0ZUxlbmd0aCgpO2lmKCg0PT09ZVswXXx8Nj09PWVbMF18fDc9PT1lWzBdKSYmZS5sZW5ndGgtMT09MipyKXJldHVybiA2PT09ZVswXT9zKGVbZS5sZW5ndGgtMV0lMj09MCk6Nz09PWVbMF0mJnMoZVtlLmxlbmd0aC0xXSUyPT0xKSx0aGlzLnBvaW50KGUuc2xpY2UoMSwxK3IpLGUuc2xpY2UoMStyLDErMipyKSk7aWYoKDI9PT1lWzBdfHwzPT09ZVswXSkmJmUubGVuZ3RoLTE9PT1yKXJldHVybiB0aGlzLnBvaW50RnJvbVgoZS5zbGljZSgxLDErciksMz09PWVbMF0pO3Rocm93IG5ldyBFcnJvcigiVW5rbm93biBwb2ludCBmb3JtYXQiKX0sYy5wcm90b3R5cGUuZW5jb2RlQ29tcHJlc3NlZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lbmNvZGUoZSwhMCl9LGMucHJvdG90eXBlLl9lbmNvZGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5jdXJ2ZS5wLmJ5dGVMZW5ndGgoKSxyPXRoaXMuZ2V0WCgpLnRvQXJyYXkoImJlIix0KTtyZXR1cm4gZT9bdGhpcy5nZXRZKCkuaXNFdmVuKCk/MjozXS5jb25jYXQocik6WzRdLmNvbmNhdChyLHRoaXMuZ2V0WSgpLnRvQXJyYXkoImJlIix0KSl9LGMucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbihlLHQpe3JldHVybiBpLmVuY29kZSh0aGlzLl9lbmNvZGUodCksZSl9LGMucHJvdG90eXBlLnByZWNvbXB1dGU9ZnVuY3Rpb24oZSl7aWYodGhpcy5wcmVjb21wdXRlZClyZXR1cm4gdGhpczt2YXIgdD17ZG91YmxlczpudWxsLG5hZjpudWxsLGJldGE6bnVsbH07cmV0dXJuIHQubmFmPXRoaXMuX2dldE5BRlBvaW50cyg4KSx0LmRvdWJsZXM9dGhpcy5fZ2V0RG91Ymxlcyg0LGUpLHQuYmV0YT10aGlzLl9nZXRCZXRhKCksdGhpcy5wcmVjb21wdXRlZD10LHRoaXN9LGMucHJvdG90eXBlLl9oYXNEb3VibGVzPWZ1bmN0aW9uKGUpe2lmKCF0aGlzLnByZWNvbXB1dGVkKXJldHVybiExO3ZhciB0PXRoaXMucHJlY29tcHV0ZWQuZG91YmxlcztyZXR1cm4hIXQmJnQucG9pbnRzLmxlbmd0aD49TWF0aC5jZWlsKChlLmJpdExlbmd0aCgpKzEpL3Quc3RlcCl9LGMucHJvdG90eXBlLl9nZXREb3VibGVzPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5wcmVjb21wdXRlZCYmdGhpcy5wcmVjb21wdXRlZC5kb3VibGVzKXJldHVybiB0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXM7Zm9yKHZhciByPVt0aGlzXSxuPXRoaXMsaT0wO2k8dDtpKz1lKXtmb3IodmFyIG89MDtvPGU7bysrKW49bi5kYmwoKTtyLnB1c2gobil9cmV0dXJue3N0ZXA6ZSxwb2ludHM6cn19LGMucHJvdG90eXBlLl9nZXROQUZQb2ludHM9ZnVuY3Rpb24oZSl7aWYodGhpcy5wcmVjb21wdXRlZCYmdGhpcy5wcmVjb21wdXRlZC5uYWYpcmV0dXJuIHRoaXMucHJlY29tcHV0ZWQubmFmO2Zvcih2YXIgdD1bdGhpc10scj0oMTw8ZSktMSxuPTE9PT1yP251bGw6dGhpcy5kYmwoKSxpPTE7aTxyO2krKyl0W2ldPXRbaS0xXS5hZGQobik7cmV0dXJue3duZDplLHBvaW50czp0fX0sYy5wcm90b3R5cGUuX2dldEJldGE9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0sYy5wcm90b3R5cGUuZGJscD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9dGhpcyxyPTA7cjxlO3IrKyl0PXQuZGJsKCk7cmV0dXJuIHR9fSwxMTIzOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig3NTI4KSxpPXIoMTczNCksbz1yKDE3MzYpLGE9cigxMjQ5KSxzPW4uYXNzZXJ0O2Z1bmN0aW9uIHUoZSl7dGhpcy50d2lzdGVkPTEhPSgwfGUuYSksdGhpcy5tT25lQT10aGlzLnR3aXN0ZWQmJi0xPT0oMHxlLmEpLHRoaXMuZXh0ZW5kZWQ9dGhpcy5tT25lQSxhLmNhbGwodGhpcywiZWR3YXJkcyIsZSksdGhpcy5hPW5ldyBpKGUuYSwxNikudW1vZCh0aGlzLnJlZC5tKSx0aGlzLmE9dGhpcy5hLnRvUmVkKHRoaXMucmVkKSx0aGlzLmM9bmV3IGkoZS5jLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy5jMj10aGlzLmMucmVkU3FyKCksdGhpcy5kPW5ldyBpKGUuZCwxNikudG9SZWQodGhpcy5yZWQpLHRoaXMuZGQ9dGhpcy5kLnJlZEFkZCh0aGlzLmQpLHMoIXRoaXMudHdpc3RlZHx8MD09PXRoaXMuYy5mcm9tUmVkKCkuY21wbigxKSksdGhpcy5vbmVDPTE9PSgwfGUuYyl9ZnVuY3Rpb24gYyhlLHQscixuLG8pe2EuQmFzZVBvaW50LmNhbGwodGhpcyxlLCJwcm9qZWN0aXZlIiksbnVsbD09PXQmJm51bGw9PT1yJiZudWxsPT09bj8odGhpcy54PXRoaXMuY3VydmUuemVybyx0aGlzLnk9dGhpcy5jdXJ2ZS5vbmUsdGhpcy56PXRoaXMuY3VydmUub25lLHRoaXMudD10aGlzLmN1cnZlLnplcm8sdGhpcy56T25lPSEwKToodGhpcy54PW5ldyBpKHQsMTYpLHRoaXMueT1uZXcgaShyLDE2KSx0aGlzLno9bj9uZXcgaShuLDE2KTp0aGlzLmN1cnZlLm9uZSx0aGlzLnQ9byYmbmV3IGkobywxNiksdGhpcy54LnJlZHx8KHRoaXMueD10aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnkucmVkfHwodGhpcy55PXRoaXMueS50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuei5yZWR8fCh0aGlzLno9dGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy50JiYhdGhpcy50LnJlZCYmKHRoaXMudD10aGlzLnQudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnpPbmU9dGhpcy56PT09dGhpcy5jdXJ2ZS5vbmUsdGhpcy5jdXJ2ZS5leHRlbmRlZCYmIXRoaXMudCYmKHRoaXMudD10aGlzLngucmVkTXVsKHRoaXMueSksdGhpcy56T25lfHwodGhpcy50PXRoaXMudC5yZWRNdWwodGhpcy56LnJlZEludm0oKSkpKSl9byh1LGEpLGUuZXhwb3J0cz11LHUucHJvdG90eXBlLl9tdWxBPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm1PbmVBP2UucmVkTmVnKCk6dGhpcy5hLnJlZE11bChlKX0sdS5wcm90b3R5cGUuX211bEM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMub25lQz9lOnRoaXMuYy5yZWRNdWwoZSl9LHUucHJvdG90eXBlLmpwb2ludD1mdW5jdGlvbihlLHQscixuKXtyZXR1cm4gdGhpcy5wb2ludChlLHQscixuKX0sdS5wcm90b3R5cGUucG9pbnRGcm9tWD1mdW5jdGlvbihlLHQpeyhlPW5ldyBpKGUsMTYpKS5yZWR8fChlPWUudG9SZWQodGhpcy5yZWQpKTt2YXIgcj1lLnJlZFNxcigpLG49dGhpcy5jMi5yZWRTdWIodGhpcy5hLnJlZE11bChyKSksbz10aGlzLm9uZS5yZWRTdWIodGhpcy5jMi5yZWRNdWwodGhpcy5kKS5yZWRNdWwocikpLGE9bi5yZWRNdWwoby5yZWRJbnZtKCkpLHM9YS5yZWRTcXJ0KCk7aWYoMCE9PXMucmVkU3FyKCkucmVkU3ViKGEpLmNtcCh0aGlzLnplcm8pKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBwb2ludCIpO3ZhciB1PXMuZnJvbVJlZCgpLmlzT2RkKCk7cmV0dXJuKHQmJiF1fHwhdCYmdSkmJihzPXMucmVkTmVnKCkpLHRoaXMucG9pbnQoZSxzKX0sdS5wcm90b3R5cGUucG9pbnRGcm9tWT1mdW5jdGlvbihlLHQpeyhlPW5ldyBpKGUsMTYpKS5yZWR8fChlPWUudG9SZWQodGhpcy5yZWQpKTt2YXIgcj1lLnJlZFNxcigpLG49ci5yZWRTdWIodGhpcy5jMiksbz1yLnJlZE11bCh0aGlzLmQpLnJlZE11bCh0aGlzLmMyKS5yZWRTdWIodGhpcy5hKSxhPW4ucmVkTXVsKG8ucmVkSW52bSgpKTtpZigwPT09YS5jbXAodGhpcy56ZXJvKSl7aWYodCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcG9pbnQiKTtyZXR1cm4gdGhpcy5wb2ludCh0aGlzLnplcm8sZSl9dmFyIHM9YS5yZWRTcXJ0KCk7aWYoMCE9PXMucmVkU3FyKCkucmVkU3ViKGEpLmNtcCh0aGlzLnplcm8pKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBwb2ludCIpO3JldHVybiBzLmZyb21SZWQoKS5pc09kZCgpIT09dCYmKHM9cy5yZWROZWcoKSksdGhpcy5wb2ludChzLGUpfSx1LnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbihlKXtpZihlLmlzSW5maW5pdHkoKSlyZXR1cm4hMDtlLm5vcm1hbGl6ZSgpO3ZhciB0PWUueC5yZWRTcXIoKSxyPWUueS5yZWRTcXIoKSxuPXQucmVkTXVsKHRoaXMuYSkucmVkQWRkKHIpLGk9dGhpcy5jMi5yZWRNdWwodGhpcy5vbmUucmVkQWRkKHRoaXMuZC5yZWRNdWwodCkucmVkTXVsKHIpKSk7cmV0dXJuIDA9PT1uLmNtcChpKX0sbyhjLGEuQmFzZVBvaW50KSx1LnByb3RvdHlwZS5wb2ludEZyb21KU09OPWZ1bmN0aW9uKGUpe3JldHVybiBjLmZyb21KU09OKHRoaXMsZSl9LHUucHJvdG90eXBlLnBvaW50PWZ1bmN0aW9uKGUsdCxyLG4pe3JldHVybiBuZXcgYyh0aGlzLGUsdCxyLG4pfSxjLmZyb21KU09OPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBjKGUsdFswXSx0WzFdLHRbMl0pfSxjLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNJbmZpbml0eSgpPyI8RUMgUG9pbnQgSW5maW5pdHk+IjoiPEVDIFBvaW50IHg6ICIrdGhpcy54LmZyb21SZWQoKS50b1N0cmluZygxNiwyKSsiIHk6ICIrdGhpcy55LmZyb21SZWQoKS50b1N0cmluZygxNiwyKSsiIHo6ICIrdGhpcy56LmZyb21SZWQoKS50b1N0cmluZygxNiwyKSsiPiJ9LGMucHJvdG90eXBlLmlzSW5maW5pdHk9ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMueC5jbXBuKDApJiYoMD09PXRoaXMueS5jbXAodGhpcy56KXx8dGhpcy56T25lJiYwPT09dGhpcy55LmNtcCh0aGlzLmN1cnZlLmMpKX0sYy5wcm90b3R5cGUuX2V4dERibD1mdW5jdGlvbigpe3ZhciBlPXRoaXMueC5yZWRTcXIoKSx0PXRoaXMueS5yZWRTcXIoKSxyPXRoaXMuei5yZWRTcXIoKTtyPXIucmVkSUFkZChyKTt2YXIgbj10aGlzLmN1cnZlLl9tdWxBKGUpLGk9dGhpcy54LnJlZEFkZCh0aGlzLnkpLnJlZFNxcigpLnJlZElTdWIoZSkucmVkSVN1Yih0KSxvPW4ucmVkQWRkKHQpLGE9by5yZWRTdWIocikscz1uLnJlZFN1Yih0KSx1PWkucmVkTXVsKGEpLGM9by5yZWRNdWwocyksZj1pLnJlZE11bChzKSxkPWEucmVkTXVsKG8pO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KHUsYyxkLGYpfSxjLnByb3RvdHlwZS5fcHJvakRibD1mdW5jdGlvbigpe3ZhciBlLHQscixuLGksbyxhPXRoaXMueC5yZWRBZGQodGhpcy55KS5yZWRTcXIoKSxzPXRoaXMueC5yZWRTcXIoKSx1PXRoaXMueS5yZWRTcXIoKTtpZih0aGlzLmN1cnZlLnR3aXN0ZWQpe3ZhciBjPShuPXRoaXMuY3VydmUuX211bEEocykpLnJlZEFkZCh1KTt0aGlzLnpPbmU/KGU9YS5yZWRTdWIocykucmVkU3ViKHUpLnJlZE11bChjLnJlZFN1Yih0aGlzLmN1cnZlLnR3bykpLHQ9Yy5yZWRNdWwobi5yZWRTdWIodSkpLHI9Yy5yZWRTcXIoKS5yZWRTdWIoYykucmVkU3ViKGMpKTooaT10aGlzLnoucmVkU3FyKCksbz1jLnJlZFN1YihpKS5yZWRJU3ViKGkpLGU9YS5yZWRTdWIocykucmVkSVN1Yih1KS5yZWRNdWwobyksdD1jLnJlZE11bChuLnJlZFN1Yih1KSkscj1jLnJlZE11bChvKSl9ZWxzZSBuPXMucmVkQWRkKHUpLGk9dGhpcy5jdXJ2ZS5fbXVsQyh0aGlzLnopLnJlZFNxcigpLG89bi5yZWRTdWIoaSkucmVkU3ViKGkpLGU9dGhpcy5jdXJ2ZS5fbXVsQyhhLnJlZElTdWIobikpLnJlZE11bChvKSx0PXRoaXMuY3VydmUuX211bEMobikucmVkTXVsKHMucmVkSVN1Yih1KSkscj1uLnJlZE11bChvKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChlLHQscil9LGMucHJvdG90eXBlLmRibD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT90aGlzOnRoaXMuY3VydmUuZXh0ZW5kZWQ/dGhpcy5fZXh0RGJsKCk6dGhpcy5fcHJvakRibCgpfSxjLnByb3RvdHlwZS5fZXh0QWRkPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMueS5yZWRTdWIodGhpcy54KS5yZWRNdWwoZS55LnJlZFN1YihlLngpKSxyPXRoaXMueS5yZWRBZGQodGhpcy54KS5yZWRNdWwoZS55LnJlZEFkZChlLngpKSxuPXRoaXMudC5yZWRNdWwodGhpcy5jdXJ2ZS5kZCkucmVkTXVsKGUudCksaT10aGlzLnoucmVkTXVsKGUuei5yZWRBZGQoZS56KSksbz1yLnJlZFN1Yih0KSxhPWkucmVkU3ViKG4pLHM9aS5yZWRBZGQobiksdT1yLnJlZEFkZCh0KSxjPW8ucmVkTXVsKGEpLGY9cy5yZWRNdWwodSksZD1vLnJlZE11bCh1KSxsPWEucmVkTXVsKHMpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KGMsZixsLGQpfSxjLnByb3RvdHlwZS5fcHJvakFkZD1mdW5jdGlvbihlKXt2YXIgdCxyLG49dGhpcy56LnJlZE11bChlLnopLGk9bi5yZWRTcXIoKSxvPXRoaXMueC5yZWRNdWwoZS54KSxhPXRoaXMueS5yZWRNdWwoZS55KSxzPXRoaXMuY3VydmUuZC5yZWRNdWwobykucmVkTXVsKGEpLHU9aS5yZWRTdWIocyksYz1pLnJlZEFkZChzKSxmPXRoaXMueC5yZWRBZGQodGhpcy55KS5yZWRNdWwoZS54LnJlZEFkZChlLnkpKS5yZWRJU3ViKG8pLnJlZElTdWIoYSksZD1uLnJlZE11bCh1KS5yZWRNdWwoZik7cmV0dXJuIHRoaXMuY3VydmUudHdpc3RlZD8odD1uLnJlZE11bChjKS5yZWRNdWwoYS5yZWRTdWIodGhpcy5jdXJ2ZS5fbXVsQShvKSkpLHI9dS5yZWRNdWwoYykpOih0PW4ucmVkTXVsKGMpLnJlZE11bChhLnJlZFN1YihvKSkscj10aGlzLmN1cnZlLl9tdWxDKHUpLnJlZE11bChjKSksdGhpcy5jdXJ2ZS5wb2ludChkLHQscil9LGMucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/ZTplLmlzSW5maW5pdHkoKT90aGlzOnRoaXMuY3VydmUuZXh0ZW5kZWQ/dGhpcy5fZXh0QWRkKGUpOnRoaXMuX3Byb2pBZGQoZSl9LGMucHJvdG90eXBlLm11bD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5faGFzRG91YmxlcyhlKT90aGlzLmN1cnZlLl9maXhlZE5hZk11bCh0aGlzLGUpOnRoaXMuY3VydmUuX3duYWZNdWwodGhpcyxlKX0sYy5wcm90b3R5cGUubXVsQWRkPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLFt0aGlzLHRdLFtlLHJdLDIsITEpfSxjLnByb3RvdHlwZS5qbXVsQWRkPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLFt0aGlzLHRdLFtlLHJdLDIsITApfSxjLnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24oKXtpZih0aGlzLnpPbmUpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcy56LnJlZEludm0oKTtyZXR1cm4gdGhpcy54PXRoaXMueC5yZWRNdWwoZSksdGhpcy55PXRoaXMueS5yZWRNdWwoZSksdGhpcy50JiYodGhpcy50PXRoaXMudC5yZWRNdWwoZSkpLHRoaXMuej10aGlzLmN1cnZlLm9uZSx0aGlzLnpPbmU9ITAsdGhpc30sYy5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQodGhpcy54LnJlZE5lZygpLHRoaXMueSx0aGlzLnosdGhpcy50JiZ0aGlzLnQucmVkTmVnKCkpfSxjLnByb3RvdHlwZS5nZXRYPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9ybWFsaXplKCksdGhpcy54LmZyb21SZWQoKX0sYy5wcm90b3R5cGUuZ2V0WT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5vcm1hbGl6ZSgpLHRoaXMueS5mcm9tUmVkKCl9LGMucHJvdG90eXBlLmVxPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzPT09ZXx8MD09PXRoaXMuZ2V0WCgpLmNtcChlLmdldFgoKSkmJjA9PT10aGlzLmdldFkoKS5jbXAoZS5nZXRZKCkpfSxjLnByb3RvdHlwZS5lcVhUb1A9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50b1JlZCh0aGlzLmN1cnZlLnJlZCkucmVkTXVsKHRoaXMueik7aWYoMD09PXRoaXMueC5jbXAodCkpcmV0dXJuITA7Zm9yKHZhciByPWUuY2xvbmUoKSxuPXRoaXMuY3VydmUucmVkTi5yZWRNdWwodGhpcy56KTs7KXtpZihyLmlhZGQodGhpcy5jdXJ2ZS5uKSxyLmNtcCh0aGlzLmN1cnZlLnApPj0wKXJldHVybiExO2lmKHQucmVkSUFkZChuKSwwPT09dGhpcy54LmNtcCh0KSlyZXR1cm4hMH19LGMucHJvdG90eXBlLnRvUD1jLnByb3RvdHlwZS5ub3JtYWxpemUsYy5wcm90b3R5cGUubWl4ZWRBZGQ9Yy5wcm90b3R5cGUuYWRkfSw2MDYzOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49dDtuLmJhc2U9cigxMjQ5KSxuLnNob3J0PXIoMzE0OCksbi5tb250PXIoMTEwNSksbi5lZHdhcmRzPXIoMTEyMyl9LDExMDU6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE3MzQpLGk9cigxNzM2KSxvPXIoMTI0OSksYT1yKDc1MjgpO2Z1bmN0aW9uIHMoZSl7by5jYWxsKHRoaXMsIm1vbnQiLGUpLHRoaXMuYT1uZXcgbihlLmEsMTYpLnRvUmVkKHRoaXMucmVkKSx0aGlzLmI9bmV3IG4oZS5iLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy5pND1uZXcgbig0KS50b1JlZCh0aGlzLnJlZCkucmVkSW52bSgpLHRoaXMudHdvPW5ldyBuKDIpLnRvUmVkKHRoaXMucmVkKSx0aGlzLmEyND10aGlzLmk0LnJlZE11bCh0aGlzLmEucmVkQWRkKHRoaXMudHdvKSl9ZnVuY3Rpb24gdShlLHQscil7by5CYXNlUG9pbnQuY2FsbCh0aGlzLGUsInByb2plY3RpdmUiKSxudWxsPT09dCYmbnVsbD09PXI/KHRoaXMueD10aGlzLmN1cnZlLm9uZSx0aGlzLno9dGhpcy5jdXJ2ZS56ZXJvKToodGhpcy54PW5ldyBuKHQsMTYpLHRoaXMuej1uZXcgbihyLDE2KSx0aGlzLngucmVkfHwodGhpcy54PXRoaXMueC50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuei5yZWR8fCh0aGlzLno9dGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKSkpfWkocyxvKSxlLmV4cG9ydHM9cyxzLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbihlKXt2YXIgdD1lLm5vcm1hbGl6ZSgpLngscj10LnJlZFNxcigpLG49ci5yZWRNdWwodCkucmVkQWRkKHIucmVkTXVsKHRoaXMuYSkpLnJlZEFkZCh0KTtyZXR1cm4gMD09PW4ucmVkU3FydCgpLnJlZFNxcigpLmNtcChuKX0saSh1LG8uQmFzZVBvaW50KSxzLnByb3RvdHlwZS5kZWNvZGVQb2ludD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLnBvaW50KGEudG9BcnJheShlLHQpLDEpfSxzLnByb3RvdHlwZS5wb2ludD1mdW5jdGlvbihlLHQpe3JldHVybiBuZXcgdSh0aGlzLGUsdCl9LHMucHJvdG90eXBlLnBvaW50RnJvbUpTT049ZnVuY3Rpb24oZSl7cmV0dXJuIHUuZnJvbUpTT04odGhpcyxlKX0sdS5wcm90b3R5cGUucHJlY29tcHV0ZT1mdW5jdGlvbigpe30sdS5wcm90b3R5cGUuX2VuY29kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFgoKS50b0FycmF5KCJiZSIsdGhpcy5jdXJ2ZS5wLmJ5dGVMZW5ndGgoKSl9LHUuZnJvbUpTT049ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IHUoZSx0WzBdLHRbMV18fGUub25lKX0sdS5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT8iPEVDIFBvaW50IEluZmluaXR5PiI6IjxFQyBQb2ludCB4OiAiK3RoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIiB6OiAiK3RoaXMuei5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIj4ifSx1LnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLnouY21wbigwKX0sdS5wcm90b3R5cGUuZGJsPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy54LnJlZEFkZCh0aGlzLnopLnJlZFNxcigpLHQ9dGhpcy54LnJlZFN1Yih0aGlzLnopLnJlZFNxcigpLHI9ZS5yZWRTdWIodCksbj1lLnJlZE11bCh0KSxpPXIucmVkTXVsKHQucmVkQWRkKHRoaXMuY3VydmUuYTI0LnJlZE11bChyKSkpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KG4saSl9LHUucHJvdG90eXBlLmFkZD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IHN1cHBvcnRlZCBvbiBNb250Z29tZXJ5IGN1cnZlIil9LHUucHJvdG90eXBlLmRpZmZBZGQ9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLngucmVkQWRkKHRoaXMueiksbj10aGlzLngucmVkU3ViKHRoaXMueiksaT1lLngucmVkQWRkKGUueiksbz1lLngucmVkU3ViKGUueikucmVkTXVsKHIpLGE9aS5yZWRNdWwobikscz10LnoucmVkTXVsKG8ucmVkQWRkKGEpLnJlZFNxcigpKSx1PXQueC5yZWRNdWwoby5yZWRJU3ViKGEpLnJlZFNxcigpKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChzLHUpfSx1LnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWUuY2xvbmUoKSxyPXRoaXMsbj10aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCksaT1bXTswIT09dC5jbXBuKDApO3QuaXVzaHJuKDEpKWkucHVzaCh0LmFuZGxuKDEpKTtmb3IodmFyIG89aS5sZW5ndGgtMTtvPj0wO28tLSkwPT09aVtvXT8ocj1yLmRpZmZBZGQobix0aGlzKSxuPW4uZGJsKCkpOihuPXIuZGlmZkFkZChuLHRoaXMpLHI9ci5kYmwoKSk7cmV0dXJuIG59LHUucHJvdG90eXBlLm11bEFkZD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IHN1cHBvcnRlZCBvbiBNb250Z29tZXJ5IGN1cnZlIil9LHUucHJvdG90eXBlLmp1bWxBZGQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQgb24gTW9udGdvbWVyeSBjdXJ2ZSIpfSx1LnByb3RvdHlwZS5lcT1mdW5jdGlvbihlKXtyZXR1cm4gMD09PXRoaXMuZ2V0WCgpLmNtcChlLmdldFgoKSl9LHUucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLng9dGhpcy54LnJlZE11bCh0aGlzLnoucmVkSW52bSgpKSx0aGlzLno9dGhpcy5jdXJ2ZS5vbmUsdGhpc30sdS5wcm90b3R5cGUuZ2V0WD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5vcm1hbGl6ZSgpLHRoaXMueC5mcm9tUmVkKCl9fSwzMTQ4OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig3NTI4KSxpPXIoMTczNCksbz1yKDE3MzYpLGE9cigxMjQ5KSxzPW4uYXNzZXJ0O2Z1bmN0aW9uIHUoZSl7YS5jYWxsKHRoaXMsInNob3J0IixlKSx0aGlzLmE9bmV3IGkoZS5hLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy5iPW5ldyBpKGUuYiwxNikudG9SZWQodGhpcy5yZWQpLHRoaXMudGludj10aGlzLnR3by5yZWRJbnZtKCksdGhpcy56ZXJvQT0wPT09dGhpcy5hLmZyb21SZWQoKS5jbXBuKDApLHRoaXMudGhyZWVBPTA9PT10aGlzLmEuZnJvbVJlZCgpLnN1Yih0aGlzLnApLmNtcG4oLTMpLHRoaXMuZW5kbz10aGlzLl9nZXRFbmRvbW9ycGhpc20oZSksdGhpcy5fZW5kb1duYWZUMT1uZXcgQXJyYXkoNCksdGhpcy5fZW5kb1duYWZUMj1uZXcgQXJyYXkoNCl9ZnVuY3Rpb24gYyhlLHQscixuKXthLkJhc2VQb2ludC5jYWxsKHRoaXMsZSwiYWZmaW5lIiksbnVsbD09PXQmJm51bGw9PT1yPyh0aGlzLng9bnVsbCx0aGlzLnk9bnVsbCx0aGlzLmluZj0hMCk6KHRoaXMueD1uZXcgaSh0LDE2KSx0aGlzLnk9bmV3IGkociwxNiksbiYmKHRoaXMueC5mb3JjZVJlZCh0aGlzLmN1cnZlLnJlZCksdGhpcy55LmZvcmNlUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy54LnJlZHx8KHRoaXMueD10aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnkucmVkfHwodGhpcy55PXRoaXMueS50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuaW5mPSExKX1mdW5jdGlvbiBmKGUsdCxyLG4pe2EuQmFzZVBvaW50LmNhbGwodGhpcyxlLCJqYWNvYmlhbiIpLG51bGw9PT10JiZudWxsPT09ciYmbnVsbD09PW4/KHRoaXMueD10aGlzLmN1cnZlLm9uZSx0aGlzLnk9dGhpcy5jdXJ2ZS5vbmUsdGhpcy56PW5ldyBpKDApKToodGhpcy54PW5ldyBpKHQsMTYpLHRoaXMueT1uZXcgaShyLDE2KSx0aGlzLno9bmV3IGkobiwxNikpLHRoaXMueC5yZWR8fCh0aGlzLng9dGhpcy54LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy55LnJlZHx8KHRoaXMueT10aGlzLnkudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnoucmVkfHwodGhpcy56PXRoaXMuei50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuek9uZT10aGlzLno9PT10aGlzLmN1cnZlLm9uZX1vKHUsYSksZS5leHBvcnRzPXUsdS5wcm90b3R5cGUuX2dldEVuZG9tb3JwaGlzbT1mdW5jdGlvbihlKXtpZih0aGlzLnplcm9BJiZ0aGlzLmcmJnRoaXMubiYmMT09PXRoaXMucC5tb2RuKDMpKXt2YXIgdCxyO2lmKGUuYmV0YSl0PW5ldyBpKGUuYmV0YSwxNikudG9SZWQodGhpcy5yZWQpO2Vsc2V7dmFyIG49dGhpcy5fZ2V0RW5kb1Jvb3RzKHRoaXMucCk7dD0odD1uWzBdLmNtcChuWzFdKTwwP25bMF06blsxXSkudG9SZWQodGhpcy5yZWQpfWlmKGUubGFtYmRhKXI9bmV3IGkoZS5sYW1iZGEsMTYpO2Vsc2V7dmFyIG89dGhpcy5fZ2V0RW5kb1Jvb3RzKHRoaXMubik7MD09PXRoaXMuZy5tdWwob1swXSkueC5jbXAodGhpcy5nLngucmVkTXVsKHQpKT9yPW9bMF06KHI9b1sxXSxzKDA9PT10aGlzLmcubXVsKHIpLnguY21wKHRoaXMuZy54LnJlZE11bCh0KSkpKX1yZXR1cm57YmV0YTp0LGxhbWJkYTpyLGJhc2lzOmUuYmFzaXM/ZS5iYXNpcy5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybnthOm5ldyBpKGUuYSwxNiksYjpuZXcgaShlLmIsMTYpfX0pKTp0aGlzLl9nZXRFbmRvQmFzaXMocil9fX0sdS5wcm90b3R5cGUuX2dldEVuZG9Sb290cz1mdW5jdGlvbihlKXt2YXIgdD1lPT09dGhpcy5wP3RoaXMucmVkOmkubW9udChlKSxyPW5ldyBpKDIpLnRvUmVkKHQpLnJlZEludm0oKSxuPXIucmVkTmVnKCksbz1uZXcgaSgzKS50b1JlZCh0KS5yZWROZWcoKS5yZWRTcXJ0KCkucmVkTXVsKHIpO3JldHVybltuLnJlZEFkZChvKS5mcm9tUmVkKCksbi5yZWRTdWIobykuZnJvbVJlZCgpXX0sdS5wcm90b3R5cGUuX2dldEVuZG9CYXNpcz1mdW5jdGlvbihlKXtmb3IodmFyIHQscixuLG8sYSxzLHUsYyxmLGQ9dGhpcy5uLnVzaHJuKE1hdGguZmxvb3IodGhpcy5uLmJpdExlbmd0aCgpLzIpKSxsPWUsaD10aGlzLm4uY2xvbmUoKSxwPW5ldyBpKDEpLGI9bmV3IGkoMCkseT1uZXcgaSgwKSxtPW5ldyBpKDEpLHY9MDswIT09bC5jbXBuKDApOyl7dmFyIGc9aC5kaXYobCk7Yz1oLnN1YihnLm11bChsKSksZj15LnN1YihnLm11bChwKSk7dmFyIHc9bS5zdWIoZy5tdWwoYikpO2lmKCFuJiZjLmNtcChkKTwwKXQ9dS5uZWcoKSxyPXAsbj1jLm5lZygpLG89ZjtlbHNlIGlmKG4mJjI9PSsrdilicmVhazt1PWMsaD1sLGw9Yyx5PXAscD1mLG09YixiPXd9YT1jLm5lZygpLHM9Zjt2YXIgQT1uLnNxcigpLmFkZChvLnNxcigpKTtyZXR1cm4gYS5zcXIoKS5hZGQocy5zcXIoKSkuY21wKEEpPj0wJiYoYT10LHM9ciksbi5uZWdhdGl2ZSYmKG49bi5uZWcoKSxvPW8ubmVnKCkpLGEubmVnYXRpdmUmJihhPWEubmVnKCkscz1zLm5lZygpKSxbe2E6bixiOm99LHthLGI6c31dfSx1LnByb3RvdHlwZS5fZW5kb1NwbGl0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZW5kby5iYXNpcyxyPXRbMF0sbj10WzFdLGk9bi5iLm11bChlKS5kaXZSb3VuZCh0aGlzLm4pLG89ci5iLm5lZygpLm11bChlKS5kaXZSb3VuZCh0aGlzLm4pLGE9aS5tdWwoci5hKSxzPW8ubXVsKG4uYSksdT1pLm11bChyLmIpLGM9by5tdWwobi5iKTtyZXR1cm57azE6ZS5zdWIoYSkuc3ViKHMpLGsyOnUuYWRkKGMpLm5lZygpfX0sdS5wcm90b3R5cGUucG9pbnRGcm9tWD1mdW5jdGlvbihlLHQpeyhlPW5ldyBpKGUsMTYpKS5yZWR8fChlPWUudG9SZWQodGhpcy5yZWQpKTt2YXIgcj1lLnJlZFNxcigpLnJlZE11bChlKS5yZWRJQWRkKGUucmVkTXVsKHRoaXMuYSkpLnJlZElBZGQodGhpcy5iKSxuPXIucmVkU3FydCgpO2lmKDAhPT1uLnJlZFNxcigpLnJlZFN1YihyKS5jbXAodGhpcy56ZXJvKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcG9pbnQiKTt2YXIgbz1uLmZyb21SZWQoKS5pc09kZCgpO3JldHVybih0JiYhb3x8IXQmJm8pJiYobj1uLnJlZE5lZygpKSx0aGlzLnBvaW50KGUsbil9LHUucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uKGUpe2lmKGUuaW5mKXJldHVybiEwO3ZhciB0PWUueCxyPWUueSxuPXRoaXMuYS5yZWRNdWwodCksaT10LnJlZFNxcigpLnJlZE11bCh0KS5yZWRJQWRkKG4pLnJlZElBZGQodGhpcy5iKTtyZXR1cm4gMD09PXIucmVkU3FyKCkucmVkSVN1YihpKS5jbXBuKDApfSx1LnByb3RvdHlwZS5fZW5kb1duYWZNdWxBZGQ9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgbj10aGlzLl9lbmRvV25hZlQxLGk9dGhpcy5fZW5kb1duYWZUMixvPTA7bzxlLmxlbmd0aDtvKyspe3ZhciBhPXRoaXMuX2VuZG9TcGxpdCh0W29dKSxzPWVbb10sdT1zLl9nZXRCZXRhKCk7YS5rMS5uZWdhdGl2ZSYmKGEuazEuaW5lZygpLHM9cy5uZWcoITApKSxhLmsyLm5lZ2F0aXZlJiYoYS5rMi5pbmVnKCksdT11Lm5lZyghMCkpLG5bMipvXT1zLG5bMipvKzFdPXUsaVsyKm9dPWEuazEsaVsyKm8rMV09YS5rMn1mb3IodmFyIGM9dGhpcy5fd25hZk11bEFkZCgxLG4saSwyKm8sciksZj0wO2Y8MipvO2YrKyluW2ZdPW51bGwsaVtmXT1udWxsO3JldHVybiBjfSxvKGMsYS5CYXNlUG9pbnQpLHUucHJvdG90eXBlLnBvaW50PWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gbmV3IGModGhpcyxlLHQscil9LHUucHJvdG90eXBlLnBvaW50RnJvbUpTT049ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYy5mcm9tSlNPTih0aGlzLGUsdCl9LGMucHJvdG90eXBlLl9nZXRCZXRhPWZ1bmN0aW9uKCl7aWYodGhpcy5jdXJ2ZS5lbmRvKXt2YXIgZT10aGlzLnByZWNvbXB1dGVkO2lmKGUmJmUuYmV0YSlyZXR1cm4gZS5iZXRhO3ZhciB0PXRoaXMuY3VydmUucG9pbnQodGhpcy54LnJlZE11bCh0aGlzLmN1cnZlLmVuZG8uYmV0YSksdGhpcy55KTtpZihlKXt2YXIgcj10aGlzLmN1cnZlLG49ZnVuY3Rpb24oZSl7cmV0dXJuIHIucG9pbnQoZS54LnJlZE11bChyLmVuZG8uYmV0YSksZS55KX07ZS5iZXRhPXQsdC5wcmVjb21wdXRlZD17YmV0YTpudWxsLG5hZjplLm5hZiYme3duZDplLm5hZi53bmQscG9pbnRzOmUubmFmLnBvaW50cy5tYXAobil9LGRvdWJsZXM6ZS5kb3VibGVzJiZ7c3RlcDplLmRvdWJsZXMuc3RlcCxwb2ludHM6ZS5kb3VibGVzLnBvaW50cy5tYXAobil9fX1yZXR1cm4gdH19LGMucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnByZWNvbXB1dGVkP1t0aGlzLngsdGhpcy55LHRoaXMucHJlY29tcHV0ZWQmJntkb3VibGVzOnRoaXMucHJlY29tcHV0ZWQuZG91YmxlcyYme3N0ZXA6dGhpcy5wcmVjb21wdXRlZC5kb3VibGVzLnN0ZXAscG9pbnRzOnRoaXMucHJlY29tcHV0ZWQuZG91Ymxlcy5wb2ludHMuc2xpY2UoMSl9LG5hZjp0aGlzLnByZWNvbXB1dGVkLm5hZiYme3duZDp0aGlzLnByZWNvbXB1dGVkLm5hZi53bmQscG9pbnRzOnRoaXMucHJlY29tcHV0ZWQubmFmLnBvaW50cy5zbGljZSgxKX19XTpbdGhpcy54LHRoaXMueV19LGMuZnJvbUpTT049ZnVuY3Rpb24oZSx0LHIpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9SlNPTi5wYXJzZSh0KSk7dmFyIG49ZS5wb2ludCh0WzBdLHRbMV0scik7aWYoIXRbMl0pcmV0dXJuIG47ZnVuY3Rpb24gaSh0KXtyZXR1cm4gZS5wb2ludCh0WzBdLHRbMV0scil9dmFyIG89dFsyXTtyZXR1cm4gbi5wcmVjb21wdXRlZD17YmV0YTpudWxsLGRvdWJsZXM6by5kb3VibGVzJiZ7c3RlcDpvLmRvdWJsZXMuc3RlcCxwb2ludHM6W25dLmNvbmNhdChvLmRvdWJsZXMucG9pbnRzLm1hcChpKSl9LG5hZjpvLm5hZiYme3duZDpvLm5hZi53bmQscG9pbnRzOltuXS5jb25jYXQoby5uYWYucG9pbnRzLm1hcChpKSl9fSxufSxjLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNJbmZpbml0eSgpPyI8RUMgUG9pbnQgSW5maW5pdHk+IjoiPEVDIFBvaW50IHg6ICIrdGhpcy54LmZyb21SZWQoKS50b1N0cmluZygxNiwyKSsiIHk6ICIrdGhpcy55LmZyb21SZWQoKS50b1N0cmluZygxNiwyKSsiPiJ9LGMucHJvdG90eXBlLmlzSW5maW5pdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbmZ9LGMucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlKXtpZih0aGlzLmluZilyZXR1cm4gZTtpZihlLmluZilyZXR1cm4gdGhpcztpZih0aGlzLmVxKGUpKXJldHVybiB0aGlzLmRibCgpO2lmKHRoaXMubmVnKCkuZXEoZSkpcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCxudWxsKTtpZigwPT09dGhpcy54LmNtcChlLngpKXJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCk7dmFyIHQ9dGhpcy55LnJlZFN1YihlLnkpOzAhPT10LmNtcG4oMCkmJih0PXQucmVkTXVsKHRoaXMueC5yZWRTdWIoZS54KS5yZWRJbnZtKCkpKTt2YXIgcj10LnJlZFNxcigpLnJlZElTdWIodGhpcy54KS5yZWRJU3ViKGUueCksbj10LnJlZE11bCh0aGlzLngucmVkU3ViKHIpKS5yZWRJU3ViKHRoaXMueSk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQocixuKX0sYy5wcm90b3R5cGUuZGJsPWZ1bmN0aW9uKCl7aWYodGhpcy5pbmYpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcy55LnJlZEFkZCh0aGlzLnkpO2lmKDA9PT1lLmNtcG4oMCkpcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCxudWxsKTt2YXIgdD10aGlzLmN1cnZlLmEscj10aGlzLngucmVkU3FyKCksbj1lLnJlZEludm0oKSxpPXIucmVkQWRkKHIpLnJlZElBZGQocikucmVkSUFkZCh0KS5yZWRNdWwobiksbz1pLnJlZFNxcigpLnJlZElTdWIodGhpcy54LnJlZEFkZCh0aGlzLngpKSxhPWkucmVkTXVsKHRoaXMueC5yZWRTdWIobykpLnJlZElTdWIodGhpcy55KTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChvLGEpfSxjLnByb3RvdHlwZS5nZXRYPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueC5mcm9tUmVkKCl9LGMucHJvdG90eXBlLmdldFk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy55LmZyb21SZWQoKX0sYy5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKGUpe3JldHVybiBlPW5ldyBpKGUsMTYpLHRoaXMuaXNJbmZpbml0eSgpP3RoaXM6dGhpcy5faGFzRG91YmxlcyhlKT90aGlzLmN1cnZlLl9maXhlZE5hZk11bCh0aGlzLGUpOnRoaXMuY3VydmUuZW5kbz90aGlzLmN1cnZlLl9lbmRvV25hZk11bEFkZChbdGhpc10sW2VdKTp0aGlzLmN1cnZlLl93bmFmTXVsKHRoaXMsZSl9LGMucHJvdG90eXBlLm11bEFkZD1mdW5jdGlvbihlLHQscil7dmFyIG49W3RoaXMsdF0saT1bZSxyXTtyZXR1cm4gdGhpcy5jdXJ2ZS5lbmRvP3RoaXMuY3VydmUuX2VuZG9XbmFmTXVsQWRkKG4saSk6dGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLG4saSwyKX0sYy5wcm90b3R5cGUuam11bEFkZD1mdW5jdGlvbihlLHQscil7dmFyIG49W3RoaXMsdF0saT1bZSxyXTtyZXR1cm4gdGhpcy5jdXJ2ZS5lbmRvP3RoaXMuY3VydmUuX2VuZG9XbmFmTXVsQWRkKG4saSwhMCk6dGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLG4saSwyLCEwKX0sYy5wcm90b3R5cGUuZXE9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXM9PT1lfHx0aGlzLmluZj09PWUuaW5mJiYodGhpcy5pbmZ8fDA9PT10aGlzLnguY21wKGUueCkmJjA9PT10aGlzLnkuY21wKGUueSkpfSxjLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oZSl7aWYodGhpcy5pbmYpcmV0dXJuIHRoaXM7dmFyIHQ9dGhpcy5jdXJ2ZS5wb2ludCh0aGlzLngsdGhpcy55LnJlZE5lZygpKTtpZihlJiZ0aGlzLnByZWNvbXB1dGVkKXt2YXIgcj10aGlzLnByZWNvbXB1dGVkLG49ZnVuY3Rpb24oZSl7cmV0dXJuIGUubmVnKCl9O3QucHJlY29tcHV0ZWQ9e25hZjpyLm5hZiYme3duZDpyLm5hZi53bmQscG9pbnRzOnIubmFmLnBvaW50cy5tYXAobil9LGRvdWJsZXM6ci5kb3VibGVzJiZ7c3RlcDpyLmRvdWJsZXMuc3RlcCxwb2ludHM6ci5kb3VibGVzLnBvaW50cy5tYXAobil9fX1yZXR1cm4gdH0sYy5wcm90b3R5cGUudG9KPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5mP3RoaXMuY3VydmUuanBvaW50KG51bGwsbnVsbCxudWxsKTp0aGlzLmN1cnZlLmpwb2ludCh0aGlzLngsdGhpcy55LHRoaXMuY3VydmUub25lKX0sbyhmLGEuQmFzZVBvaW50KSx1LnByb3RvdHlwZS5qcG9pbnQ9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBuZXcgZih0aGlzLGUsdCxyKX0sZi5wcm90b3R5cGUudG9QPWZ1bmN0aW9uKCl7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCxudWxsKTt2YXIgZT10aGlzLnoucmVkSW52bSgpLHQ9ZS5yZWRTcXIoKSxyPXRoaXMueC5yZWRNdWwodCksbj10aGlzLnkucmVkTXVsKHQpLnJlZE11bChlKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChyLG4pfSxmLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQodGhpcy54LHRoaXMueS5yZWROZWcoKSx0aGlzLnopfSxmLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIGU7aWYoZS5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXM7dmFyIHQ9ZS56LnJlZFNxcigpLHI9dGhpcy56LnJlZFNxcigpLG49dGhpcy54LnJlZE11bCh0KSxpPWUueC5yZWRNdWwociksbz10aGlzLnkucmVkTXVsKHQucmVkTXVsKGUueikpLGE9ZS55LnJlZE11bChyLnJlZE11bCh0aGlzLnopKSxzPW4ucmVkU3ViKGkpLHU9by5yZWRTdWIoYSk7aWYoMD09PXMuY21wbigwKSlyZXR1cm4gMCE9PXUuY21wbigwKT90aGlzLmN1cnZlLmpwb2ludChudWxsLG51bGwsbnVsbCk6dGhpcy5kYmwoKTt2YXIgYz1zLnJlZFNxcigpLGY9Yy5yZWRNdWwocyksZD1uLnJlZE11bChjKSxsPXUucmVkU3FyKCkucmVkSUFkZChmKS5yZWRJU3ViKGQpLnJlZElTdWIoZCksaD11LnJlZE11bChkLnJlZElTdWIobCkpLnJlZElTdWIoby5yZWRNdWwoZikpLHA9dGhpcy56LnJlZE11bChlLnopLnJlZE11bChzKTtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobCxoLHApfSxmLnByb3RvdHlwZS5taXhlZEFkZD1mdW5jdGlvbihlKXtpZih0aGlzLmlzSW5maW5pdHkoKSlyZXR1cm4gZS50b0ooKTtpZihlLmlzSW5maW5pdHkoKSlyZXR1cm4gdGhpczt2YXIgdD10aGlzLnoucmVkU3FyKCkscj10aGlzLngsbj1lLngucmVkTXVsKHQpLGk9dGhpcy55LG89ZS55LnJlZE11bCh0KS5yZWRNdWwodGhpcy56KSxhPXIucmVkU3ViKG4pLHM9aS5yZWRTdWIobyk7aWYoMD09PWEuY21wbigwKSlyZXR1cm4gMCE9PXMuY21wbigwKT90aGlzLmN1cnZlLmpwb2ludChudWxsLG51bGwsbnVsbCk6dGhpcy5kYmwoKTt2YXIgdT1hLnJlZFNxcigpLGM9dS5yZWRNdWwoYSksZj1yLnJlZE11bCh1KSxkPXMucmVkU3FyKCkucmVkSUFkZChjKS5yZWRJU3ViKGYpLnJlZElTdWIoZiksbD1zLnJlZE11bChmLnJlZElTdWIoZCkpLnJlZElTdWIoaS5yZWRNdWwoYykpLGg9dGhpcy56LnJlZE11bChhKTtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQoZCxsLGgpfSxmLnByb3RvdHlwZS5kYmxwPWZ1bmN0aW9uKGUpe2lmKDA9PT1lKXJldHVybiB0aGlzO2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzO2lmKCFlKXJldHVybiB0aGlzLmRibCgpO3ZhciB0O2lmKHRoaXMuY3VydmUuemVyb0F8fHRoaXMuY3VydmUudGhyZWVBKXt2YXIgcj10aGlzO2Zvcih0PTA7dDxlO3QrKylyPXIuZGJsKCk7cmV0dXJuIHJ9dmFyIG49dGhpcy5jdXJ2ZS5hLGk9dGhpcy5jdXJ2ZS50aW52LG89dGhpcy54LGE9dGhpcy55LHM9dGhpcy56LHU9cy5yZWRTcXIoKS5yZWRTcXIoKSxjPWEucmVkQWRkKGEpO2Zvcih0PTA7dDxlO3QrKyl7dmFyIGY9by5yZWRTcXIoKSxkPWMucmVkU3FyKCksbD1kLnJlZFNxcigpLGg9Zi5yZWRBZGQoZikucmVkSUFkZChmKS5yZWRJQWRkKG4ucmVkTXVsKHUpKSxwPW8ucmVkTXVsKGQpLGI9aC5yZWRTcXIoKS5yZWRJU3ViKHAucmVkQWRkKHApKSx5PXAucmVkSVN1YihiKSxtPWgucmVkTXVsKHkpO209bS5yZWRJQWRkKG0pLnJlZElTdWIobCk7dmFyIHY9Yy5yZWRNdWwocyk7dCsxPGUmJih1PXUucmVkTXVsKGwpKSxvPWIscz12LGM9bX1yZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobyxjLnJlZE11bChpKSxzKX0sZi5wcm90b3R5cGUuZGJsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNJbmZpbml0eSgpP3RoaXM6dGhpcy5jdXJ2ZS56ZXJvQT90aGlzLl96ZXJvRGJsKCk6dGhpcy5jdXJ2ZS50aHJlZUE/dGhpcy5fdGhyZWVEYmwoKTp0aGlzLl9kYmwoKX0sZi5wcm90b3R5cGUuX3plcm9EYmw9ZnVuY3Rpb24oKXt2YXIgZSx0LHI7aWYodGhpcy56T25lKXt2YXIgbj10aGlzLngucmVkU3FyKCksaT10aGlzLnkucmVkU3FyKCksbz1pLnJlZFNxcigpLGE9dGhpcy54LnJlZEFkZChpKS5yZWRTcXIoKS5yZWRJU3ViKG4pLnJlZElTdWIobyk7YT1hLnJlZElBZGQoYSk7dmFyIHM9bi5yZWRBZGQobikucmVkSUFkZChuKSx1PXMucmVkU3FyKCkucmVkSVN1YihhKS5yZWRJU3ViKGEpLGM9by5yZWRJQWRkKG8pO2M9KGM9Yy5yZWRJQWRkKGMpKS5yZWRJQWRkKGMpLGU9dSx0PXMucmVkTXVsKGEucmVkSVN1Yih1KSkucmVkSVN1YihjKSxyPXRoaXMueS5yZWRBZGQodGhpcy55KX1lbHNle3ZhciBmPXRoaXMueC5yZWRTcXIoKSxkPXRoaXMueS5yZWRTcXIoKSxsPWQucmVkU3FyKCksaD10aGlzLngucmVkQWRkKGQpLnJlZFNxcigpLnJlZElTdWIoZikucmVkSVN1YihsKTtoPWgucmVkSUFkZChoKTt2YXIgcD1mLnJlZEFkZChmKS5yZWRJQWRkKGYpLGI9cC5yZWRTcXIoKSx5PWwucmVkSUFkZChsKTt5PSh5PXkucmVkSUFkZCh5KSkucmVkSUFkZCh5KSxlPWIucmVkSVN1YihoKS5yZWRJU3ViKGgpLHQ9cC5yZWRNdWwoaC5yZWRJU3ViKGUpKS5yZWRJU3ViKHkpLHI9KHI9dGhpcy55LnJlZE11bCh0aGlzLnopKS5yZWRJQWRkKHIpfXJldHVybiB0aGlzLmN1cnZlLmpwb2ludChlLHQscil9LGYucHJvdG90eXBlLl90aHJlZURibD1mdW5jdGlvbigpe3ZhciBlLHQscjtpZih0aGlzLnpPbmUpe3ZhciBuPXRoaXMueC5yZWRTcXIoKSxpPXRoaXMueS5yZWRTcXIoKSxvPWkucmVkU3FyKCksYT10aGlzLngucmVkQWRkKGkpLnJlZFNxcigpLnJlZElTdWIobikucmVkSVN1YihvKTthPWEucmVkSUFkZChhKTt2YXIgcz1uLnJlZEFkZChuKS5yZWRJQWRkKG4pLnJlZElBZGQodGhpcy5jdXJ2ZS5hKSx1PXMucmVkU3FyKCkucmVkSVN1YihhKS5yZWRJU3ViKGEpO2U9dTt2YXIgYz1vLnJlZElBZGQobyk7Yz0oYz1jLnJlZElBZGQoYykpLnJlZElBZGQoYyksdD1zLnJlZE11bChhLnJlZElTdWIodSkpLnJlZElTdWIoYykscj10aGlzLnkucmVkQWRkKHRoaXMueSl9ZWxzZXt2YXIgZj10aGlzLnoucmVkU3FyKCksZD10aGlzLnkucmVkU3FyKCksbD10aGlzLngucmVkTXVsKGQpLGg9dGhpcy54LnJlZFN1YihmKS5yZWRNdWwodGhpcy54LnJlZEFkZChmKSk7aD1oLnJlZEFkZChoKS5yZWRJQWRkKGgpO3ZhciBwPWwucmVkSUFkZChsKSxiPShwPXAucmVkSUFkZChwKSkucmVkQWRkKHApO2U9aC5yZWRTcXIoKS5yZWRJU3ViKGIpLHI9dGhpcy55LnJlZEFkZCh0aGlzLnopLnJlZFNxcigpLnJlZElTdWIoZCkucmVkSVN1YihmKTt2YXIgeT1kLnJlZFNxcigpO3k9KHk9KHk9eS5yZWRJQWRkKHkpKS5yZWRJQWRkKHkpKS5yZWRJQWRkKHkpLHQ9aC5yZWRNdWwocC5yZWRJU3ViKGUpKS5yZWRJU3ViKHkpfXJldHVybiB0aGlzLmN1cnZlLmpwb2ludChlLHQscil9LGYucHJvdG90eXBlLl9kYmw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmN1cnZlLmEsdD10aGlzLngscj10aGlzLnksbj10aGlzLnosaT1uLnJlZFNxcigpLnJlZFNxcigpLG89dC5yZWRTcXIoKSxhPXIucmVkU3FyKCkscz1vLnJlZEFkZChvKS5yZWRJQWRkKG8pLnJlZElBZGQoZS5yZWRNdWwoaSkpLHU9dC5yZWRBZGQodCksYz0odT11LnJlZElBZGQodSkpLnJlZE11bChhKSxmPXMucmVkU3FyKCkucmVkSVN1YihjLnJlZEFkZChjKSksZD1jLnJlZElTdWIoZiksbD1hLnJlZFNxcigpO2w9KGw9KGw9bC5yZWRJQWRkKGwpKS5yZWRJQWRkKGwpKS5yZWRJQWRkKGwpO3ZhciBoPXMucmVkTXVsKGQpLnJlZElTdWIobCkscD1yLnJlZEFkZChyKS5yZWRNdWwobik7cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KGYsaCxwKX0sZi5wcm90b3R5cGUudHJwbD1mdW5jdGlvbigpe2lmKCF0aGlzLmN1cnZlLnplcm9BKXJldHVybiB0aGlzLmRibCgpLmFkZCh0aGlzKTt2YXIgZT10aGlzLngucmVkU3FyKCksdD10aGlzLnkucmVkU3FyKCkscj10aGlzLnoucmVkU3FyKCksbj10LnJlZFNxcigpLGk9ZS5yZWRBZGQoZSkucmVkSUFkZChlKSxvPWkucmVkU3FyKCksYT10aGlzLngucmVkQWRkKHQpLnJlZFNxcigpLnJlZElTdWIoZSkucmVkSVN1YihuKSxzPShhPShhPShhPWEucmVkSUFkZChhKSkucmVkQWRkKGEpLnJlZElBZGQoYSkpLnJlZElTdWIobykpLnJlZFNxcigpLHU9bi5yZWRJQWRkKG4pO3U9KHU9KHU9dS5yZWRJQWRkKHUpKS5yZWRJQWRkKHUpKS5yZWRJQWRkKHUpO3ZhciBjPWkucmVkSUFkZChhKS5yZWRTcXIoKS5yZWRJU3ViKG8pLnJlZElTdWIocykucmVkSVN1Yih1KSxmPXQucmVkTXVsKGMpO2Y9KGY9Zi5yZWRJQWRkKGYpKS5yZWRJQWRkKGYpO3ZhciBkPXRoaXMueC5yZWRNdWwocykucmVkSVN1YihmKTtkPShkPWQucmVkSUFkZChkKSkucmVkSUFkZChkKTt2YXIgbD10aGlzLnkucmVkTXVsKGMucmVkTXVsKHUucmVkSVN1YihjKSkucmVkSVN1YihhLnJlZE11bChzKSkpO2w9KGw9KGw9bC5yZWRJQWRkKGwpKS5yZWRJQWRkKGwpKS5yZWRJQWRkKGwpO3ZhciBoPXRoaXMuei5yZWRBZGQoYSkucmVkU3FyKCkucmVkSVN1YihyKS5yZWRJU3ViKHMpO3JldHVybiB0aGlzLmN1cnZlLmpwb2ludChkLGwsaCl9LGYucHJvdG90eXBlLm11bD1mdW5jdGlvbihlLHQpe3JldHVybiBlPW5ldyBpKGUsdCksdGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLGUpfSxmLnByb3RvdHlwZS5lcT1mdW5jdGlvbihlKXtpZigiYWZmaW5lIj09PWUudHlwZSlyZXR1cm4gdGhpcy5lcShlLnRvSigpKTtpZih0aGlzPT09ZSlyZXR1cm4hMDt2YXIgdD10aGlzLnoucmVkU3FyKCkscj1lLnoucmVkU3FyKCk7aWYoMCE9PXRoaXMueC5yZWRNdWwocikucmVkSVN1YihlLngucmVkTXVsKHQpKS5jbXBuKDApKXJldHVybiExO3ZhciBuPXQucmVkTXVsKHRoaXMueiksaT1yLnJlZE11bChlLnopO3JldHVybiAwPT09dGhpcy55LnJlZE11bChpKS5yZWRJU3ViKGUueS5yZWRNdWwobikpLmNtcG4oMCl9LGYucHJvdG90eXBlLmVxWFRvUD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLnoucmVkU3FyKCkscj1lLnRvUmVkKHRoaXMuY3VydmUucmVkKS5yZWRNdWwodCk7aWYoMD09PXRoaXMueC5jbXAocikpcmV0dXJuITA7Zm9yKHZhciBuPWUuY2xvbmUoKSxpPXRoaXMuY3VydmUucmVkTi5yZWRNdWwodCk7Oyl7aWYobi5pYWRkKHRoaXMuY3VydmUubiksbi5jbXAodGhpcy5jdXJ2ZS5wKT49MClyZXR1cm4hMTtpZihyLnJlZElBZGQoaSksMD09PXRoaXMueC5jbXAocikpcmV0dXJuITB9fSxmLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNJbmZpbml0eSgpPyI8RUMgSlBvaW50IEluZmluaXR5PiI6IjxFQyBKUG9pbnQgeDogIit0aGlzLngudG9TdHJpbmcoMTYsMikrIiB5OiAiK3RoaXMueS50b1N0cmluZygxNiwyKSsiIHo6ICIrdGhpcy56LnRvU3RyaW5nKDE2LDIpKyI+In0sZi5wcm90b3R5cGUuaXNJbmZpbml0eT1mdW5jdGlvbigpe3JldHVybiAwPT09dGhpcy56LmNtcG4oMCl9fSw1MDY6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbixpPXQsbz1yKDcxOTgpLGE9cig2MDYzKSxzPXIoNzUyOCkuYXNzZXJ0O2Z1bmN0aW9uIHUoZSl7InNob3J0Ij09PWUudHlwZT90aGlzLmN1cnZlPW5ldyBhLnNob3J0KGUpOiJlZHdhcmRzIj09PWUudHlwZT90aGlzLmN1cnZlPW5ldyBhLmVkd2FyZHMoZSk6dGhpcy5jdXJ2ZT1uZXcgYS5tb250KGUpLHRoaXMuZz10aGlzLmN1cnZlLmcsdGhpcy5uPXRoaXMuY3VydmUubix0aGlzLmhhc2g9ZS5oYXNoLHModGhpcy5nLnZhbGlkYXRlKCksIkludmFsaWQgY3VydmUiKSxzKHRoaXMuZy5tdWwodGhpcy5uKS5pc0luZmluaXR5KCksIkludmFsaWQgY3VydmUsIEcqTiAhPSBPIil9ZnVuY3Rpb24gYyhlLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShpLGUse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3ZhciByPW5ldyB1KHQpO3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoaSxlLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpyfSkscn19KX1pLlByZXNldEN1cnZlPXUsYygicDE5MiIse3R5cGU6InNob3J0IixwcmltZToicDE5MiIscDoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYiLGE6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZjIixiOiI2NDIxMDUxOSBlNTljODBlNyAwZmE3ZTlhYiA3MjI0MzA0OSBmZWI4ZGVlYyBjMTQ2YjliMSIsbjoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgOTlkZWY4MzYgMTQ2YmM5YjEgYjRkMjI4MzEiLGhhc2g6by5zaGEyNTYsZ1JlZDohMSxnOlsiMTg4ZGE4MGUgYjAzMDkwZjYgN2NiZjIwZWIgNDNhMTg4MDAgZjRmZjBhZmQgODJmZjEwMTIiLCIwNzE5MmI5NSBmZmM4ZGE3OCA2MzEwMTFlZCA2YjI0Y2RkNSA3M2Y5NzdhMSAxZTc5NDgxMSJdfSksYygicDIyNCIse3R5cGU6InNob3J0IixwcmltZToicDIyNCIscDoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEiLGE6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIixiOiJiNDA1MGE4NSAwYzA0YjNhYiBmNTQxMzI1NiA1MDQ0YjBiNyBkN2JmZDhiYSAyNzBiMzk0MyAyMzU1ZmZiNCIsbjoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZjE2YTIgZTBiOGYwM2UgMTNkZDI5NDUgNWM1YzJhM2QiLGhhc2g6by5zaGEyNTYsZ1JlZDohMSxnOlsiYjcwZTBjYmQgNmJiNGJmN2YgMzIxMzkwYjkgNGEwM2MxZDMgNTZjMjExMjIgMzQzMjgwZDYgMTE1YzFkMjEiLCJiZDM3NjM4OCBiNWY3MjNmYiA0YzIyZGZlNiBjZDQzNzVhMCA1YTA3NDc2NCA0NGQ1ODE5OSA4NTAwN2UzNCJdfSksYygicDI1NiIse3R5cGU6InNob3J0IixwcmltZTpudWxsLHA6ImZmZmZmZmZmIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIixhOiJmZmZmZmZmZiAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmYyIsYjoiNWFjNjM1ZDggYWEzYTkzZTcgYjNlYmJkNTUgNzY5ODg2YmMgNjUxZDA2YjAgY2M1M2IwZjYgM2JjZTNjM2UgMjdkMjYwNGIiLG46ImZmZmZmZmZmIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGJjZTZmYWFkIGE3MTc5ZTg0IGYzYjljYWMyIGZjNjMyNTUxIixoYXNoOm8uc2hhMjU2LGdSZWQ6ITEsZzpbIjZiMTdkMWYyIGUxMmM0MjQ3IGY4YmNlNmU1IDYzYTQ0MGYyIDc3MDM3ZDgxIDJkZWIzM2EwIGY0YTEzOTQ1IGQ4OThjMjk2IiwiNGZlMzQyZTIgZmUxYTdmOWIgOGVlN2ViNGEgN2MwZjllMTYgMmJjZTMzNTcgNmIzMTVlY2UgY2JiNjQwNjggMzdiZjUxZjUiXX0pLGMoInAzODQiLHt0eXBlOiJzaG9ydCIscHJpbWU6bnVsbCxwOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmZiIsYToiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmMiLGI6ImIzMzEyZmE3IGUyM2VlN2U0IDk4OGUwNTZiIGUzZjgyZDE5IDE4MWQ5YzZlIGZlODE0MTEyIDAzMTQwODhmIDUwMTM4NzVhIGM2NTYzOThkIDhhMmVkMTlkIDJhODVjOGVkIGQzZWMyYWVmIixuOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBjNzYzNGQ4MSBmNDM3MmRkZiA1ODFhMGRiMiA0OGIwYTc3YSBlY2VjMTk2YSBjY2M1Mjk3MyIsaGFzaDpvLnNoYTM4NCxnUmVkOiExLGc6WyJhYTg3Y2EyMiBiZThiMDUzNyA4ZWIxYzcxZSBmMzIwYWQ3NCA2ZTFkM2I2MiA4YmE3OWI5OCA1OWY3NDFlMCA4MjU0MmEzOCA1NTAyZjI1ZCBiZjU1Mjk2YyAzYTU0NWUzOCA3Mjc2MGFiNyIsIjM2MTdkZTRhIDk2MjYyYzZmIDVkOWU5OGJmIDkyOTJkYzI5IGY4ZjQxZGJkIDI4OWExNDdjIGU5ZGEzMTEzIGI1ZjBiOGMwIDBhNjBiMWNlIDFkN2U4MTlkIDdhNDMxZDdjIDkwZWEwZTVmIl19KSxjKCJwNTIxIix7dHlwZToic2hvcnQiLHByaW1lOm51bGwscDoiMDAwMDAxZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYiLGE6IjAwMDAwMWZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZjIixiOiIwMDAwMDA1MSA5NTNlYjk2MSA4ZTFjOWExZiA5MjlhMjFhMCBiNjg1NDBlZSBhMmRhNzI1YiA5OWIzMTVmMyBiOGI0ODk5MSA4ZWYxMDllMSA1NjE5Mzk1MSBlYzdlOTM3YiAxNjUyYzBiZCAzYmIxYmYwNyAzNTczZGY4OCAzZDJjMzRmMSBlZjQ1MWZkNCA2YjUwM2YwMCIsbjoiMDAwMDAxZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmEgNTE4Njg3ODMgYmYyZjk2NmIgN2ZjYzAxNDggZjcwOWE1ZDAgM2JiNWM5YjggODk5YzQ3YWUgYmI2ZmI3MWUgOTEzODY0MDkiLGhhc2g6by5zaGE1MTIsZ1JlZDohMSxnOlsiMDAwMDAwYzYgODU4ZTA2YjcgMDQwNGU5Y2QgOWUzZWNiNjYgMjM5NWI0NDIgOWM2NDgxMzkgMDUzZmI1MjEgZjgyOGFmNjAgNmI0ZDNkYmEgYTE0YjVlNzcgZWZlNzU5MjggZmUxZGMxMjcgYTJmZmE4ZGUgMzM0OGIzYzEgODU2YTQyOWIgZjk3ZTdlMzEgYzJlNWJkNjYiLCIwMDAwMDExOCAzOTI5NmE3OCA5YTNiYzAwNCA1YzhhNWZiNCAyYzdkMWJkOSA5OGY1NDQ0OSA1NzliNDQ2OCAxN2FmYmQxNyAyNzNlNjYyYyA5N2VlNzI5OSA1ZWY0MjY0MCBjNTUwYjkwMSAzZmFkMDc2MSAzNTNjNzA4NiBhMjcyYzI0MCA4OGJlOTQ3NiA5ZmQxNjY1MCJdfSksYygiY3VydmUyNTUxOSIse3R5cGU6Im1vbnQiLHByaW1lOiJwMjU1MTkiLHA6IjdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQiLGE6Ijc2ZDA2IixiOiIxIixuOiIxMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMTRkZWY5ZGVhMmY3OWNkNiA1ODEyNjMxYTVjZjVkM2VkIixoYXNoOm8uc2hhMjU2LGdSZWQ6ITEsZzpbIjkiXX0pLGMoImVkMjU1MTkiLHt0eXBlOiJlZHdhcmRzIixwcmltZToicDI1NTE5IixwOiI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkIixhOiItMSIsYzoiMSIsZDoiNTIwMzZjZWUyYjZmZmU3MyA4Y2M3NDA3OTc3NzllODk4IDAwNzAwYTRkNDE0MWQ4YWIgNzVlYjRkY2ExMzU5NzhhMyIsbjoiMTAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDE0ZGVmOWRlYTJmNzljZDYgNTgxMjYzMWE1Y2Y1ZDNlZCIsaGFzaDpvLnNoYTI1NixnUmVkOiExLGc6WyIyMTY5MzZkM2NkNmU1M2ZlYzBhNGUyMzFmZGQ2ZGM1YzY5MmNjNzYwOTUyNWE3YjJjOTU2MmQ2MDhmMjVkNTFhIiwiNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY1OCJdfSk7dHJ5e249cig2NDAxKX1jYXRjaChlKXtuPXZvaWQgMH1jKCJzZWNwMjU2azEiLHt0eXBlOiJzaG9ydCIscHJpbWU6ImsyNTYiLHA6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmIixhOiIwIixiOiI3IixuOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBiYWFlZGNlNiBhZjQ4YTAzYiBiZmQyNWU4YyBkMDM2NDE0MSIsaDoiMSIsaGFzaDpvLnNoYTI1NixiZXRhOiI3YWU5NmEyYjY1N2MwNzEwNmU2NDQ3OWVhYzM0MzRlOTljZjA0OTc1MTJmNTg5OTVjMTM5NmMyODcxOTUwMWVlIixsYW1iZGE6IjUzNjNhZDRjYzA1YzMwZTBhNTI2MWMwMjg4MTI2NDVhMTIyZTIyZWEyMDgxNjY3OGRmMDI5NjdjMWIyM2JkNzIiLGJhc2lzOlt7YToiMzA4NmQyMjFhN2Q0NmJjZGU4NmM5MGU0OTI4NGViMTUiLGI6Ii1lNDQzN2VkNjAxMGU4ODI4NmY1NDdmYTkwYWJmZTRjMyJ9LHthOiIxMTRjYTUwZjdhOGUyZjNmNjU3YzExMDhkOWQ0NGNmZDgiLGI6IjMwODZkMjIxYTdkNDZiY2RlODZjOTBlNDkyODRlYjE1In1dLGdSZWQ6ITEsZzpbIjc5YmU2NjdlZjlkY2JiYWM1NWEwNjI5NWNlODcwYjA3MDI5YmZjZGIyZGNlMjhkOTU5ZjI4MTViMTZmODE3OTgiLCI0ODNhZGE3NzI2YTNjNDY1NWRhNGZiZmMwZTExMDhhOGZkMTdiNDQ4YTY4NTU0MTk5YzQ3ZDA4ZmZiMTBkNGI4IixuXX0pfSw4MzIwOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KShyKDMzNTUpKSxpPXIoMTczNCksbz1yKDk0MTApLGE9cig3NTI4KSxzPXIoNTA2KSx1PXIoMjIwMiksYz1hLmFzc2VydCxmPXIoNzc5MSksZD1yKDQ4OCk7ZnVuY3Rpb24gbChlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBsKSlyZXR1cm4gbmV3IGwoZSk7InN0cmluZyI9PXR5cGVvZiBlJiYoYyhPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocyxlKSwiVW5rbm93biBjdXJ2ZSAiK2UpLGU9c1tlXSksZSBpbnN0YW5jZW9mIHMuUHJlc2V0Q3VydmUmJihlPXtjdXJ2ZTplfSksdGhpcy5jdXJ2ZT1lLmN1cnZlLmN1cnZlLHRoaXMubj10aGlzLmN1cnZlLm4sdGhpcy5uaD10aGlzLm4udXNocm4oMSksdGhpcy5nPXRoaXMuY3VydmUuZyx0aGlzLmc9ZS5jdXJ2ZS5nLHRoaXMuZy5wcmVjb21wdXRlKGUuY3VydmUubi5iaXRMZW5ndGgoKSsxKSx0aGlzLmhhc2g9ZS5oYXNofHxlLmN1cnZlLmhhc2h9ZS5leHBvcnRzPWwsbC5wcm90b3R5cGUua2V5UGFpcj1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGYodGhpcyxlKX0sbC5wcm90b3R5cGUua2V5RnJvbVByaXZhdGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZi5mcm9tUHJpdmF0ZSh0aGlzLGUsdCl9LGwucHJvdG90eXBlLmtleUZyb21QdWJsaWM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZi5mcm9tUHVibGljKHRoaXMsZSx0KX0sbC5wcm90b3R5cGUuZ2VuS2V5UGFpcj1mdW5jdGlvbihlKXtlfHwoZT17fSk7Zm9yKHZhciB0PW5ldyBvKHtoYXNoOnRoaXMuaGFzaCxwZXJzOmUucGVycyxwZXJzRW5jOmUucGVyc0VuY3x8InV0ZjgiLGVudHJvcHk6ZS5lbnRyb3B5fHx1KHRoaXMuaGFzaC5obWFjU3RyZW5ndGgpLGVudHJvcHlFbmM6ZS5lbnRyb3B5JiZlLmVudHJvcHlFbmN8fCJ1dGY4Iixub25jZTp0aGlzLm4udG9BcnJheSgpfSkscj10aGlzLm4uYnl0ZUxlbmd0aCgpLG49dGhpcy5uLnN1YihuZXcgaSgyKSk7Oyl7dmFyIGE9bmV3IGkodC5nZW5lcmF0ZShyKSk7aWYoIShhLmNtcChuKT4wKSlyZXR1cm4gYS5pYWRkbigxKSx0aGlzLmtleUZyb21Qcml2YXRlKGEpfX0sbC5wcm90b3R5cGUuX3RydW5jYXRlVG9OPWZ1bmN0aW9uKGUsdCl7dmFyIHI9OCplLmJ5dGVMZW5ndGgoKS10aGlzLm4uYml0TGVuZ3RoKCk7cmV0dXJuIHI+MCYmKGU9ZS51c2hybihyKSksIXQmJmUuY21wKHRoaXMubik+PTA/ZS5zdWIodGhpcy5uKTplfSxsLnByb3RvdHlwZS5zaWduPWZ1bmN0aW9uKGUsdCxyLGEpeyJvYmplY3QiPT09KDAsbi5kZWZhdWx0KShyKSYmKGE9cixyPW51bGwpLGF8fChhPXt9KSx0PXRoaXMua2V5RnJvbVByaXZhdGUodCxyKSxlPXRoaXMuX3RydW5jYXRlVG9OKG5ldyBpKGUsMTYpKTtmb3IodmFyIHM9dGhpcy5uLmJ5dGVMZW5ndGgoKSx1PXQuZ2V0UHJpdmF0ZSgpLnRvQXJyYXkoImJlIixzKSxjPWUudG9BcnJheSgiYmUiLHMpLGY9bmV3IG8oe2hhc2g6dGhpcy5oYXNoLGVudHJvcHk6dSxub25jZTpjLHBlcnM6YS5wZXJzLHBlcnNFbmM6YS5wZXJzRW5jfHwidXRmOCJ9KSxsPXRoaXMubi5zdWIobmV3IGkoMSkpLGg9MDs7aCsrKXt2YXIgcD1hLms/YS5rKGgpOm5ldyBpKGYuZ2VuZXJhdGUodGhpcy5uLmJ5dGVMZW5ndGgoKSkpO2lmKCEoKHA9dGhpcy5fdHJ1bmNhdGVUb04ocCwhMCkpLmNtcG4oMSk8PTB8fHAuY21wKGwpPj0wKSl7dmFyIGI9dGhpcy5nLm11bChwKTtpZighYi5pc0luZmluaXR5KCkpe3ZhciB5PWIuZ2V0WCgpLG09eS51bW9kKHRoaXMubik7aWYoMCE9PW0uY21wbigwKSl7dmFyIHY9cC5pbnZtKHRoaXMubikubXVsKG0ubXVsKHQuZ2V0UHJpdmF0ZSgpKS5pYWRkKGUpKTtpZigwIT09KHY9di51bW9kKHRoaXMubikpLmNtcG4oMCkpe3ZhciBnPShiLmdldFkoKS5pc09kZCgpPzE6MCl8KDAhPT15LmNtcChtKT8yOjApO3JldHVybiBhLmNhbm9uaWNhbCYmdi5jbXAodGhpcy5uaCk+MCYmKHY9dGhpcy5uLnN1Yih2KSxnXj0xKSxuZXcgZCh7cjptLHM6dixyZWNvdmVyeVBhcmFtOmd9KX19fX19fSxsLnByb3RvdHlwZS52ZXJpZnk9ZnVuY3Rpb24oZSx0LHIsbil7ZT10aGlzLl90cnVuY2F0ZVRvTihuZXcgaShlLDE2KSkscj10aGlzLmtleUZyb21QdWJsaWMocixuKTt2YXIgbz0odD1uZXcgZCh0LCJoZXgiKSkucixhPXQucztpZihvLmNtcG4oMSk8MHx8by5jbXAodGhpcy5uKT49MClyZXR1cm4hMTtpZihhLmNtcG4oMSk8MHx8YS5jbXAodGhpcy5uKT49MClyZXR1cm4hMTt2YXIgcyx1PWEuaW52bSh0aGlzLm4pLGM9dS5tdWwoZSkudW1vZCh0aGlzLm4pLGY9dS5tdWwobykudW1vZCh0aGlzLm4pO3JldHVybiB0aGlzLmN1cnZlLl9tYXh3ZWxsVHJpY2s/IShzPXRoaXMuZy5qbXVsQWRkKGMsci5nZXRQdWJsaWMoKSxmKSkuaXNJbmZpbml0eSgpJiZzLmVxWFRvUChvKTohKHM9dGhpcy5nLm11bEFkZChjLHIuZ2V0UHVibGljKCksZikpLmlzSW5maW5pdHkoKSYmMD09PXMuZ2V0WCgpLnVtb2QodGhpcy5uKS5jbXAobyl9LGwucHJvdG90eXBlLnJlY292ZXJQdWJLZXk9ZnVuY3Rpb24oZSx0LHIsbil7YygoMyZyKT09PXIsIlRoZSByZWNvdmVyeSBwYXJhbSBpcyBtb3JlIHRoYW4gdHdvIGJpdHMiKSx0PW5ldyBkKHQsbik7dmFyIG89dGhpcy5uLGE9bmV3IGkoZSkscz10LnIsdT10LnMsZj0xJnIsbD1yPj4xO2lmKHMuY21wKHRoaXMuY3VydmUucC51bW9kKHRoaXMuY3VydmUubikpPj0wJiZsKXRocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIGZpbmQgc2VuY29uZCBrZXkgY2FuZGluYXRlIik7cz1sP3RoaXMuY3VydmUucG9pbnRGcm9tWChzLmFkZCh0aGlzLmN1cnZlLm4pLGYpOnRoaXMuY3VydmUucG9pbnRGcm9tWChzLGYpO3ZhciBoPXQuci5pbnZtKG8pLHA9by5zdWIoYSkubXVsKGgpLnVtb2QobyksYj11Lm11bChoKS51bW9kKG8pO3JldHVybiB0aGlzLmcubXVsQWRkKHAscyxiKX0sbC5wcm90b3R5cGUuZ2V0S2V5UmVjb3ZlcnlQYXJhbT1mdW5jdGlvbihlLHQscixuKXtpZihudWxsIT09KHQ9bmV3IGQodCxuKSkucmVjb3ZlcnlQYXJhbSlyZXR1cm4gdC5yZWNvdmVyeVBhcmFtO2Zvcih2YXIgaT0wO2k8NDtpKyspe3ZhciBvO3RyeXtvPXRoaXMucmVjb3ZlclB1YktleShlLHQsaSl9Y2F0Y2goZSl7Y29udGludWV9aWYoby5lcShyKSlyZXR1cm4gaX10aHJvdyBuZXcgRXJyb3IoIlVuYWJsZSB0byBmaW5kIHZhbGlkIHJlY292ZXJ5IGZhY3RvciIpfX0sNzc5MTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoMTczNCksaT1yKDc1MjgpLmFzc2VydDtmdW5jdGlvbiBvKGUsdCl7dGhpcy5lYz1lLHRoaXMucHJpdj1udWxsLHRoaXMucHViPW51bGwsdC5wcml2JiZ0aGlzLl9pbXBvcnRQcml2YXRlKHQucHJpdix0LnByaXZFbmMpLHQucHViJiZ0aGlzLl9pbXBvcnRQdWJsaWModC5wdWIsdC5wdWJFbmMpfWUuZXhwb3J0cz1vLG8uZnJvbVB1YmxpYz1mdW5jdGlvbihlLHQscil7cmV0dXJuIHQgaW5zdGFuY2VvZiBvP3Q6bmV3IG8oZSx7cHViOnQscHViRW5jOnJ9KX0sby5mcm9tUHJpdmF0ZT1mdW5jdGlvbihlLHQscil7cmV0dXJuIHQgaW5zdGFuY2VvZiBvP3Q6bmV3IG8oZSx7cHJpdjp0LHByaXZFbmM6cn0pfSxvLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZ2V0UHVibGljKCk7cmV0dXJuIGUuaXNJbmZpbml0eSgpP3tyZXN1bHQ6ITEscmVhc29uOiJJbnZhbGlkIHB1YmxpYyBrZXkifTplLnZhbGlkYXRlKCk/ZS5tdWwodGhpcy5lYy5jdXJ2ZS5uKS5pc0luZmluaXR5KCk/e3Jlc3VsdDohMCxyZWFzb246bnVsbH06e3Jlc3VsdDohMSxyZWFzb246IlB1YmxpYyBrZXkgKiBOICE9IE8ifTp7cmVzdWx0OiExLHJlYXNvbjoiUHVibGljIGtleSBpcyBub3QgYSBwb2ludCJ9fSxvLnByb3RvdHlwZS5nZXRQdWJsaWM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJih0PWUsZT1udWxsKSx0aGlzLnB1Ynx8KHRoaXMucHViPXRoaXMuZWMuZy5tdWwodGhpcy5wcml2KSksdD90aGlzLnB1Yi5lbmNvZGUodCxlKTp0aGlzLnB1Yn0sby5wcm90b3R5cGUuZ2V0UHJpdmF0ZT1mdW5jdGlvbihlKXtyZXR1cm4iaGV4Ij09PWU/dGhpcy5wcml2LnRvU3RyaW5nKDE2LDIpOnRoaXMucHJpdn0sby5wcm90b3R5cGUuX2ltcG9ydFByaXZhdGU9ZnVuY3Rpb24oZSx0KXt0aGlzLnByaXY9bmV3IG4oZSx0fHwxNiksdGhpcy5wcml2PXRoaXMucHJpdi51bW9kKHRoaXMuZWMuY3VydmUubil9LG8ucHJvdG90eXBlLl9pbXBvcnRQdWJsaWM9ZnVuY3Rpb24oZSx0KXtpZihlLnh8fGUueSlyZXR1cm4ibW9udCI9PT10aGlzLmVjLmN1cnZlLnR5cGU/aShlLngsIk5lZWQgeCBjb29yZGluYXRlIik6InNob3J0IiE9PXRoaXMuZWMuY3VydmUudHlwZSYmImVkd2FyZHMiIT09dGhpcy5lYy5jdXJ2ZS50eXBlfHxpKGUueCYmZS55LCJOZWVkIGJvdGggeCBhbmQgeSBjb29yZGluYXRlIiksdm9pZCh0aGlzLnB1Yj10aGlzLmVjLmN1cnZlLnBvaW50KGUueCxlLnkpKTt0aGlzLnB1Yj10aGlzLmVjLmN1cnZlLmRlY29kZVBvaW50KGUsdCl9LG8ucHJvdG90eXBlLmRlcml2ZT1mdW5jdGlvbihlKXtyZXR1cm4gZS52YWxpZGF0ZSgpfHxpKGUudmFsaWRhdGUoKSwicHVibGljIHBvaW50IG5vdCB2YWxpZGF0ZWQiKSxlLm11bCh0aGlzLnByaXYpLmdldFgoKX0sby5wcm90b3R5cGUuc2lnbj1mdW5jdGlvbihlLHQscil7cmV0dXJuIHRoaXMuZWMuc2lnbihlLHRoaXMsdCxyKX0sby5wcm90b3R5cGUudmVyaWZ5PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZWMudmVyaWZ5KGUsdCx0aGlzKX0sby5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiI8S2V5IHByaXY6ICIrKHRoaXMucHJpdiYmdGhpcy5wcml2LnRvU3RyaW5nKDE2LDIpKSsiIHB1YjogIisodGhpcy5wdWImJnRoaXMucHViLmluc3BlY3QoKSkrIiA+In19LDQ4ODooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoMTczNCksaT1yKDc1MjgpLG89aS5hc3NlcnQ7ZnVuY3Rpb24gYShlLHQpe2lmKGUgaW5zdGFuY2VvZiBhKXJldHVybiBlO3RoaXMuX2ltcG9ydERFUihlLHQpfHwobyhlLnImJmUucywiU2lnbmF0dXJlIHdpdGhvdXQgciBvciBzIiksdGhpcy5yPW5ldyBuKGUuciwxNiksdGhpcy5zPW5ldyBuKGUucywxNiksdm9pZCAwPT09ZS5yZWNvdmVyeVBhcmFtP3RoaXMucmVjb3ZlcnlQYXJhbT1udWxsOnRoaXMucmVjb3ZlcnlQYXJhbT1lLnJlY292ZXJ5UGFyYW0pfWZ1bmN0aW9uIHMoKXt0aGlzLnBsYWNlPTB9ZnVuY3Rpb24gdShlLHQpe3ZhciByPWVbdC5wbGFjZSsrXTtpZighKDEyOCZyKSlyZXR1cm4gcjt2YXIgbj0xNSZyO2lmKDA9PT1ufHxuPjQpcmV0dXJuITE7Zm9yKHZhciBpPTAsbz0wLGE9dC5wbGFjZTtvPG47bysrLGErKylpPDw9OCxpfD1lW2FdLGk+Pj49MDtyZXR1cm4hKGk8PTEyNykmJih0LnBsYWNlPWEsaSl9ZnVuY3Rpb24gYyhlKXtmb3IodmFyIHQ9MCxyPWUubGVuZ3RoLTE7IWVbdF0mJiEoMTI4JmVbdCsxXSkmJnQ8cjspdCsrO3JldHVybiAwPT09dD9lOmUuc2xpY2UodCl9ZnVuY3Rpb24gZihlLHQpe2lmKHQ8MTI4KWUucHVzaCh0KTtlbHNle3ZhciByPTErKE1hdGgubG9nKHQpL01hdGguTE4yPj4+Myk7Zm9yKGUucHVzaCgxMjh8cik7LS1yOyllLnB1c2godD4+PihyPDwzKSYyNTUpO2UucHVzaCh0KX19ZS5leHBvcnRzPWEsYS5wcm90b3R5cGUuX2ltcG9ydERFUj1mdW5jdGlvbihlLHQpe2U9aS50b0FycmF5KGUsdCk7dmFyIHI9bmV3IHM7aWYoNDghPT1lW3IucGxhY2UrK10pcmV0dXJuITE7dmFyIG89dShlLHIpO2lmKCExPT09bylyZXR1cm4hMTtpZihvK3IucGxhY2UhPT1lLmxlbmd0aClyZXR1cm4hMTtpZigyIT09ZVtyLnBsYWNlKytdKXJldHVybiExO3ZhciBhPXUoZSxyKTtpZighMT09PWEpcmV0dXJuITE7dmFyIGM9ZS5zbGljZShyLnBsYWNlLGErci5wbGFjZSk7aWYoci5wbGFjZSs9YSwyIT09ZVtyLnBsYWNlKytdKXJldHVybiExO3ZhciBmPXUoZSxyKTtpZighMT09PWYpcmV0dXJuITE7aWYoZS5sZW5ndGghPT1mK3IucGxhY2UpcmV0dXJuITE7dmFyIGQ9ZS5zbGljZShyLnBsYWNlLGYrci5wbGFjZSk7aWYoMD09PWNbMF0pe2lmKCEoMTI4JmNbMV0pKXJldHVybiExO2M9Yy5zbGljZSgxKX1pZigwPT09ZFswXSl7aWYoISgxMjgmZFsxXSkpcmV0dXJuITE7ZD1kLnNsaWNlKDEpfXJldHVybiB0aGlzLnI9bmV3IG4oYyksdGhpcy5zPW5ldyBuKGQpLHRoaXMucmVjb3ZlcnlQYXJhbT1udWxsLCEwfSxhLnByb3RvdHlwZS50b0RFUj1mdW5jdGlvbihlKXt2YXIgdD10aGlzLnIudG9BcnJheSgpLHI9dGhpcy5zLnRvQXJyYXkoKTtmb3IoMTI4JnRbMF0mJih0PVswXS5jb25jYXQodCkpLDEyOCZyWzBdJiYocj1bMF0uY29uY2F0KHIpKSx0PWModCkscj1jKHIpOyEoclswXXx8MTI4JnJbMV0pOylyPXIuc2xpY2UoMSk7dmFyIG49WzJdO2Yobix0Lmxlbmd0aCksKG49bi5jb25jYXQodCkpLnB1c2goMiksZihuLHIubGVuZ3RoKTt2YXIgbz1uLmNvbmNhdChyKSxhPVs0OF07cmV0dXJuIGYoYSxvLmxlbmd0aCksYT1hLmNvbmNhdChvKSxpLmVuY29kZShhLGUpfX0sODAyNzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoNzE5OCksaT1yKDUwNiksbz1yKDc1MjgpLGE9by5hc3NlcnQscz1vLnBhcnNlQnl0ZXMsdT1yKDczMDMpLGM9cig2NjQ2KTtmdW5jdGlvbiBmKGUpe2lmKGEoImVkMjU1MTkiPT09ZSwib25seSB0ZXN0ZWQgd2l0aCBlZDI1NTE5IHNvIGZhciIpLCEodGhpcyBpbnN0YW5jZW9mIGYpKXJldHVybiBuZXcgZihlKTtlPWlbZV0uY3VydmUsdGhpcy5jdXJ2ZT1lLHRoaXMuZz1lLmcsdGhpcy5nLnByZWNvbXB1dGUoZS5uLmJpdExlbmd0aCgpKzEpLHRoaXMucG9pbnRDbGFzcz1lLnBvaW50KCkuY29uc3RydWN0b3IsdGhpcy5lbmNvZGluZ0xlbmd0aD1NYXRoLmNlaWwoZS5uLmJpdExlbmd0aCgpLzgpLHRoaXMuaGFzaD1uLnNoYTUxMn1lLmV4cG9ydHM9ZixmLnByb3RvdHlwZS5zaWduPWZ1bmN0aW9uKGUsdCl7ZT1zKGUpO3ZhciByPXRoaXMua2V5RnJvbVNlY3JldCh0KSxuPXRoaXMuaGFzaEludChyLm1lc3NhZ2VQcmVmaXgoKSxlKSxpPXRoaXMuZy5tdWwobiksbz10aGlzLmVuY29kZVBvaW50KGkpLGE9dGhpcy5oYXNoSW50KG8sci5wdWJCeXRlcygpLGUpLm11bChyLnByaXYoKSksdT1uLmFkZChhKS51bW9kKHRoaXMuY3VydmUubik7cmV0dXJuIHRoaXMubWFrZVNpZ25hdHVyZSh7UjppLFM6dSxSZW5jb2RlZDpvfSl9LGYucHJvdG90eXBlLnZlcmlmeT1mdW5jdGlvbihlLHQscil7ZT1zKGUpLHQ9dGhpcy5tYWtlU2lnbmF0dXJlKHQpO3ZhciBuPXRoaXMua2V5RnJvbVB1YmxpYyhyKSxpPXRoaXMuaGFzaEludCh0LlJlbmNvZGVkKCksbi5wdWJCeXRlcygpLGUpLG89dGhpcy5nLm11bCh0LlMoKSk7cmV0dXJuIHQuUigpLmFkZChuLnB1YigpLm11bChpKSkuZXEobyl9LGYucHJvdG90eXBlLmhhc2hJbnQ9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5oYXNoKCksdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZS51cGRhdGUoYXJndW1lbnRzW3RdKTtyZXR1cm4gby5pbnRGcm9tTEUoZS5kaWdlc3QoKSkudW1vZCh0aGlzLmN1cnZlLm4pfSxmLnByb3RvdHlwZS5rZXlGcm9tUHVibGljPWZ1bmN0aW9uKGUpe3JldHVybiB1LmZyb21QdWJsaWModGhpcyxlKX0sZi5wcm90b3R5cGUua2V5RnJvbVNlY3JldD1mdW5jdGlvbihlKXtyZXR1cm4gdS5mcm9tU2VjcmV0KHRoaXMsZSl9LGYucHJvdG90eXBlLm1ha2VTaWduYXR1cmU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBjP2U6bmV3IGModGhpcyxlKX0sZi5wcm90b3R5cGUuZW5jb2RlUG9pbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRZKCkudG9BcnJheSgibGUiLHRoaXMuZW5jb2RpbmdMZW5ndGgpO3JldHVybiB0W3RoaXMuZW5jb2RpbmdMZW5ndGgtMV18PWUuZ2V0WCgpLmlzT2RkKCk/MTI4OjAsdH0sZi5wcm90b3R5cGUuZGVjb2RlUG9pbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9KGU9by5wYXJzZUJ5dGVzKGUpKS5sZW5ndGgtMSxyPWUuc2xpY2UoMCx0KS5jb25jYXQoLTEyOSZlW3RdKSxuPTAhPSgxMjgmZVt0XSksaT1vLmludEZyb21MRShyKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludEZyb21ZKGksbil9LGYucHJvdG90eXBlLmVuY29kZUludD1mdW5jdGlvbihlKXtyZXR1cm4gZS50b0FycmF5KCJsZSIsdGhpcy5lbmNvZGluZ0xlbmd0aCl9LGYucHJvdG90eXBlLmRlY29kZUludD1mdW5jdGlvbihlKXtyZXR1cm4gby5pbnRGcm9tTEUoZSl9LGYucHJvdG90eXBlLmlzUG9pbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiB0aGlzLnBvaW50Q2xhc3N9fSw3MzAzOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig3NTI4KSxpPW4uYXNzZXJ0LG89bi5wYXJzZUJ5dGVzLGE9bi5jYWNoZWRQcm9wZXJ0eTtmdW5jdGlvbiBzKGUsdCl7dGhpcy5lZGRzYT1lLHRoaXMuX3NlY3JldD1vKHQuc2VjcmV0KSxlLmlzUG9pbnQodC5wdWIpP3RoaXMuX3B1Yj10LnB1Yjp0aGlzLl9wdWJCeXRlcz1vKHQucHViKX1zLmZyb21QdWJsaWM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIHM/dDpuZXcgcyhlLHtwdWI6dH0pfSxzLmZyb21TZWNyZXQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIHM/dDpuZXcgcyhlLHtzZWNyZXQ6dH0pfSxzLnByb3RvdHlwZS5zZWNyZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2VjcmV0fSxhKHMsInB1YkJ5dGVzIiwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5lbmNvZGVQb2ludCh0aGlzLnB1YigpKX0pKSxhKHMsInB1YiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3B1YkJ5dGVzP3RoaXMuZWRkc2EuZGVjb2RlUG9pbnQodGhpcy5fcHViQnl0ZXMpOnRoaXMuZWRkc2EuZy5tdWwodGhpcy5wcml2KCkpfSkpLGEocywicHJpdkJ5dGVzIiwoZnVuY3Rpb24oKXt2YXIgZT10aGlzLmVkZHNhLHQ9dGhpcy5oYXNoKCkscj1lLmVuY29kaW5nTGVuZ3RoLTEsbj10LnNsaWNlKDAsZS5lbmNvZGluZ0xlbmd0aCk7cmV0dXJuIG5bMF0mPTI0OCxuW3JdJj0xMjcsbltyXXw9NjQsbn0pKSxhKHMsInByaXYiLChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmRlY29kZUludCh0aGlzLnByaXZCeXRlcygpKX0pKSxhKHMsImhhc2giLChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmhhc2goKS51cGRhdGUodGhpcy5zZWNyZXQoKSkuZGlnZXN0KCl9KSksYShzLCJtZXNzYWdlUHJlZml4IiwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oYXNoKCkuc2xpY2UodGhpcy5lZGRzYS5lbmNvZGluZ0xlbmd0aCl9KSkscy5wcm90b3R5cGUuc2lnbj1mdW5jdGlvbihlKXtyZXR1cm4gaSh0aGlzLl9zZWNyZXQsIktleVBhaXIgY2FuIG9ubHkgdmVyaWZ5IiksdGhpcy5lZGRzYS5zaWduKGUsdGhpcyl9LHMucHJvdG90eXBlLnZlcmlmeT1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVkZHNhLnZlcmlmeShlLHQsdGhpcyl9LHMucHJvdG90eXBlLmdldFNlY3JldD1mdW5jdGlvbihlKXtyZXR1cm4gaSh0aGlzLl9zZWNyZXQsIktleVBhaXIgaXMgcHVibGljIG9ubHkiKSxuLmVuY29kZSh0aGlzLnNlY3JldCgpLGUpfSxzLnByb3RvdHlwZS5nZXRQdWJsaWM9ZnVuY3Rpb24oZSl7cmV0dXJuIG4uZW5jb2RlKHRoaXMucHViQnl0ZXMoKSxlKX0sZS5leHBvcnRzPXN9LDY2NDY6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpKHIoMzM1NSkpLGk9cigxNzM0KSxvPXIoNzUyOCksYT1vLmFzc2VydCxzPW8uY2FjaGVkUHJvcGVydHksdT1vLnBhcnNlQnl0ZXM7ZnVuY3Rpb24gYyhlLHQpe3RoaXMuZWRkc2E9ZSwib2JqZWN0IiE9PSgwLG4uZGVmYXVsdCkodCkmJih0PXUodCkpLEFycmF5LmlzQXJyYXkodCkmJih0PXtSOnQuc2xpY2UoMCxlLmVuY29kaW5nTGVuZ3RoKSxTOnQuc2xpY2UoZS5lbmNvZGluZ0xlbmd0aCl9KSxhKHQuUiYmdC5TLCJTaWduYXR1cmUgd2l0aG91dCBSIG9yIFMiKSxlLmlzUG9pbnQodC5SKSYmKHRoaXMuX1I9dC5SKSx0LlMgaW5zdGFuY2VvZiBpJiYodGhpcy5fUz10LlMpLHRoaXMuX1JlbmNvZGVkPUFycmF5LmlzQXJyYXkodC5SKT90LlI6dC5SZW5jb2RlZCx0aGlzLl9TZW5jb2RlZD1BcnJheS5pc0FycmF5KHQuUyk/dC5TOnQuU2VuY29kZWR9cyhjLCJTIiwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5kZWNvZGVJbnQodGhpcy5TZW5jb2RlZCgpKX0pKSxzKGMsIlIiLChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmRlY29kZVBvaW50KHRoaXMuUmVuY29kZWQoKSl9KSkscyhjLCJSZW5jb2RlZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlUG9pbnQodGhpcy5SKCkpfSkpLHMoYywiU2VuY29kZWQiLChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmVuY29kZUludCh0aGlzLlMoKSl9KSksYy5wcm90b3R5cGUudG9CeXRlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJlbmNvZGVkKCkuY29uY2F0KHRoaXMuU2VuY29kZWQoKSl9LGMucHJvdG90eXBlLnRvSGV4PWZ1bmN0aW9uKCl7cmV0dXJuIG8uZW5jb2RlKHRoaXMudG9CeXRlcygpLCJoZXgiKS50b1VwcGVyQ2FzZSgpfSxlLmV4cG9ydHM9Y30sNjQwMTplPT57InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17ZG91Ymxlczp7c3RlcDo0LHBvaW50czpbWyJlNjBmY2U5M2I1OWU5ZWM1MzAxMWFhYmMyMWMyM2U5N2IyYTMxMzY5Yjg3YTVhZTljNDRlZTg5ZTJhNmRlYzBhIiwiZjdlMzUwNzM5OWU1OTU5MjlkYjk5ZjM0ZjU3OTM3MTAxMjk2ODkxZTQ0ZDIzZjBiZTFmMzJjY2U2OTYxNjgyMSJdLFsiODI4MjI2MzIxMmM2MDlkOWVhMmE2ZTNlMTcyZGUyMzhkOGMzOWNhYmQ1YWMxY2ExMDY0NmUyM2ZkNWY1MTUwOCIsIjExZjhhODA5ODU1N2RmZTQ1ZTgyNTZlODMwYjYwYWNlNjJkNjEzYWMyZjdiMTdiZWQzMWI2ZWFmZjZlMjZjYWYiXSxbIjE3NWUxNTlmNzI4Yjg2NWE3MmY5OWNjNmM2ZmM4NDZkZTBiOTM4MzNmZDIyMjJlZDczZmNlNWI1NTFlNWI3MzkiLCJkMzUwNmUwZDllM2M3OWViYTRlZjk3YTUxZmY3MWY1ZWFjYjU5NTVhZGQyNDM0NWM2ZWZhNmZmZWU5ZmVkNjk1Il0sWyIzNjNkOTBkNDQ3YjAwYzljOTljZWFjMDViNjI2MmVlMDUzNDQxYzdlNTU1NTJmZmU1MjZiYWQ4ZjgzZmY0NjQwIiwiNGUyNzNhZGZjNzMyMjIxOTUzYjQ0NTM5N2YzMzYzMTQ1YjlhODkwMDgxOTllY2I2MjAwM2M3ZjNiZWU5ZGU5Il0sWyI4YjRiNWYxNjVkZjNjMmJlOGM2MjQ0YjViNzQ1NjM4ODQzZTRhNzgxYTE1YmNkMWI2OWY3OWE1NWRmZmRmODBjIiwiNGFhZDBhNmY2OGQzMDhiNGIzZmJkNzgxM2FiMGRhMDRmOWUzMzY1NDYxNjJlZTU2YjNlZmYwYzY1ZmQ0ZmQzNiJdLFsiNzIzY2JhYTZlNWRiOTk2ZDZiZjc3MWMwMGJkNTQ4YzdiNzAwZGJmZmE2YzBlNzdiY2I2MTE1OTI1MjMyZmNkYSIsIjk2ZTg2N2I1NTk1Y2M0OThhOTIxMTM3NDg4ODI0ZDZlMjY2MGEwNjUzNzc5NDk0ODAxZGMwNjlkOWViMzlmNWYiXSxbImVlYmZhNGQ0OTNiZWJmOThiYTVmZWVjODEyYzJkM2I1MDk0Nzk2MTIzN2E5MTk4MzlhNTMzZWNhMGU3ZGQ3ZmEiLCI1ZDlhOGNhMzk3MGVmMGYyNjllZTdlZGFmMTc4MDg5ZDlhZTRjZGMzYTcxMWY3MTJkZGZkNGZkYWUxZGU4OTk5Il0sWyIxMDBmNDRkYTY5NmU3MTY3Mjc5MWQwYTA5YjdiZGU0NTlmMTIxNWEyOWIzYzAzYmZlZmQ3ODM1YjM5YTQ4ZGIwIiwiY2RkOWUxMzE5MmEwMGI3NzJlYzhmMzMwMGMwOTA2NjZiN2ZmNGExOGZmNTE5NWFjMGZiZDVjZDYyYmM2NWEwOSJdLFsiZTEwMzFiZTI2MmM3ZWQxYjFkYzkyMjdhNGEwNGMwMTdhNzdmOGQ0NDY0ZjNiMzg1MmM4YWNkZTZlNTM0ZmQyZCIsIjlkNzA2MTkyODk0MDQwNWU2YmI2YTQxNzY1OTc1MzVhZjI5MmRkNDE5ZTFjZWQ3OWE0NGYxOGYyOTQ1NmEwMGQiXSxbImZlZWE2Y2FlNDZkNTViNTMwYWMyODM5ZjE0M2JkN2VjNWNmOGIyNjZhNDFkNmFmNTJkNWU2ODhkOTA5NDY5NmQiLCJlNTdjNmI2Yzk3ZGNlMWJhYjA2ZTRlMTJiZjNlY2Q1Yzk4MWM4OTU3Y2M0MTQ0MmQzMTU1ZGViZjE4MDkwMDg4Il0sWyJkYTY3YTkxZDkxMDQ5Y2RjYjM2N2JlNGJlNmZmY2EzY2ZlZWQ2NTdkODA4NTgzZGUzM2ZhOTc4YmMxZWM2Y2IxIiwiOWJhY2FhMzU0ODE2NDJiYzQxZjQ2M2Y3ZWM5NzgwZTVkZWM3YWRjNTA4Zjc0MGExN2U5ZWE4ZTI3YTY4YmUxZCJdLFsiNTM5MDRmYWEwYjMzNGNkZGE2ZTAwMDkzNWVmMjIxNTFlYzA4ZDBmN2JiMTEwNjlmNTc1NDVjY2MxYTM3YjdjMCIsIjViYzA4N2QwYmM4MDEwNmQ4OGM5ZWNjYWMyMGQzYzFjMTM5OTk5ODFlMTQ0MzQ2OTlkY2IwOTZiMDIyNzcxYzgiXSxbIjhlN2JjZDBiZDM1OTgzYTc3MTljY2E3NzY0Y2E5MDY3NzliNTNhMDQzYTliOGJjYWVmZjk1OWY0M2FkODYwNDciLCIxMGI3NzcwYjJhM2RhNGIzOTQwMzEwNDIwY2E5NTE0NTc5ZTg4ZTJlNDdmZDY4YjNlYTEwMDQ3ZTg0NjAzNzJhIl0sWyIzODVlZWQzNGMxY2RmZjIxZTZkMDgxODY4OWI4MWJkZTcxYTdmNGYxODM5N2U2NjkwYTg0MWUxNTk5YzQzODYyIiwiMjgzYmViYzNlOGVhMjNmNTY3MDFkZTE5ZTllYmY0NTc2YjMwNGVlYzIwODZkYzhjYzA0NThmZTU1NDJlNTQ1MyJdLFsiNmY5ZDliODAzZWNmMTkxNjM3YzczYTQ0MTNkZmExODBmZGRmODRhNTk0N2ZiYzljNjA2ZWQ4NmMzZmFjM2E3IiwiN2M4MGM2OGU2MDMwNTliYTY5YjhlMmEzMGU0NWM0ZDQ3ZWE0ZGQyZjVjMjgxMDAyZDg2ODkwNjAzYTg0MjE2MCJdLFsiMzMyMmQ0MDEyNDNjNGUyNTgyYTIxNDdjMTA0ZDZlY2JmNzc0ZDE2M2RiMGY1ZTUzMTNiN2UwZTc0MmQwZTZiZCIsIjU2ZTcwNzk3ZTk2NjRlZjViZmIwMTliYzRkZGFmOWI3MjgwNWY2M2VhMjg3M2FmNjI0ZjNhMmU5NmMyOGIyYTAiXSxbIjg1NjcyYzdkMmRlMGI3ZGEyYmQxNzcwZDg5NjY1ODY4NzQxYjNmOWFmNzY0MzM5NzcyMWQ3NGQyODEzNGFiODMiLCI3YzQ4MWI5YjViNDNiMmViNjM3NDA0OWJmYTYyYzJlNWU3N2YxN2ZjYzUyOThmNDRjOGUzMDk0Zjc5MDMxM2E2Il0sWyI5NDhiZjgwOWIxOTg4YTQ2YjA2YzlmMTkxOTQxM2IxMGY5MjI2YzYwZjY2ODgzMmZmZDk1OWFmNjBjODJhMGEiLCI1M2E1NjI4NTZkY2I2NjQ2ZGM2Yjc0YzVkMWMzNDE4YzZkNGRmZjA4Yzk3Y2QyYmVkNGNiN2Y4OGQ4YzhlNTg5Il0sWyI2MjYwY2U3ZjQ2MTgwMWMzNGYwNjdjZTBmMDI4NzNhOGYxYjBlNDRkZmM2OTc1MmFjY2VjZDgxOWYzOGZkOGU4IiwiYmMyZGE4MmI2ZmE1YjU3MWE3ZjA5MDQ5Nzc2YTFlZjdlY2QyOTIyMzgwNTFjMTk4YzFhODRlOTViMmI0YWUxNyJdLFsiZTUwMzdkZTBhZmMxZDhkNDNkODM0ODQxNGJiZjQxMDMwNDNlYzhmNTc1YmZkYzQzMjk1M2NjOGQyMDM3ZmEyZCIsIjQ1NzE1MzRiYWE5NGQzYjVmOWY5OGQwOWZiOTkwYmRkYmQ1ZjViMDNlYzQ4MWYxMGUwZTVkYzg0MWQ3NTViZGEiXSxbImUwNjM3MmIwZjRhMjA3YWRmNWVhOTA1ZThmMTc3MWI0ZTdlOGRiZDFjNmE2YzViNzI1ODY2YTBhZTRmY2U3MjUiLCI3YTkwODk3NGJjZTE4Y2ZlMTJhMjdiYjJhZDVhNDg4Y2Q3NDg0YTc3ODcxMDQ4NzBiMjcwMzRmOTRlZWUzMWRkIl0sWyIyMTNjN2E3MTVjZDVkNDUzNThkMGJiZjlkYzBjZTAyMjA0YjEwYmRkZTJhM2Y1ODU0MGFkNjkwOGQwNTU5NzU0IiwiNGI2ZGFkMGI1YWU0NjI1MDcwMTNhZDA2MjQ1YmExOTBiYjQ4NTBmNWYzNmE3ZWVkZGZmMmMyNzUzNGI0NThmMiJdLFsiNGU3YzI3MmE3YWY0YjM0ZThkYmI5MzUyYTU0MTlhODdlMjgzOGM3MGFkYzYyY2RkZjBjYzNhM2IwOGZiZDUzYyIsIjE3NzQ5Yzc2NmM5ZDBiMThlMTZmZDA5ZjZkZWY2ODFiNTMwYjk2MTRiZmY3ZGQzM2UwYjM5NDE4MTdkY2FhZTYiXSxbImZlYTc0ZTNkYmU3NzhiMWIxMGYyMzhhZDYxNjg2YWE1Yzc2ZTNkYjJiZTQzMDU3NjMyNDI3ZTI4NDBmYjI3YjYiLCI2ZTA1NjhkYjliMGIxMzI5N2NmNjc0ZGVjY2I2YWY5MzEyNmI1OTZiOTczZjdiNzc3MDFkM2RiN2YyM2NiOTZmIl0sWyI3NmU2NDExM2Y2NzdjZjBlMTBhMjU3MGQ1OTk5NjhkMzE1NDRlMTc5Yjc2MDQzMjk1MmMwMmE0NDE3YmRkZTM5IiwiYzkwZGRmOGRlZTRlOTVjZjU3NzA2NmQ3MDY4MWYwZDM1ZTJhMzNkMmI1NmQyMDMyYjRiMTc1MmQxOTAxYWMwMSJdLFsiYzczOGM1NmIwM2IyYWJlMWU4MjgxYmFhNzQzZjhmOWE4ZjdjYzY0M2RmMjZjYmVlM2FiMTUwMjQyYmNiYjg5MSIsIjg5M2ZiNTc4OTUxYWQyNTM3ZjcxOGYyZWFjYmZiYmJiODIzMTRlZWY3ODgwY2ZlOTE3ZTczNWQ5Njk5YTg0YzMiXSxbImQ4OTU2MjY1NDhiNjViODFlMjY0Yzc2MzdjOTcyODc3ZDFkNzJlNWYzYTkyNTAxNDM3MmU5ZjY1ODhmNmMxNGIiLCJmZWJmYWEzOGYyYmM3ZWFlNzI4ZWM2MDgxOGMzNDBlYjAzNDI4ZDYzMmJiMDY3ZTE3OTM2M2VkNzVkN2Q5OTFmIl0sWyJiOGRhOTQwMzJhOTU3NTE4ZWIwZjY0MzM1NzFlODc2MWNlZmZjNzM2OTNlODRlZGQ0OTE1MGE1NjRmNjc2ZTAzIiwiMjgwNGRmYTQ0ODA1YTFlNGQ3Yzk5Y2M5NzYyODA4YjA5MmNjNTg0ZDk1ZmYzYjUxMTQ4OGU0ZTc0ZWZkZjZlNyJdLFsiZTgwZmVhMTQ0NDFmYjMzYTdkOGFkYWI5NDc1ZDdmYWIyMDE5ZWZmYjUxNTZhNzkyZjFhMTE3NzhlM2MwZGY1ZCIsImVlZDFkZTdmNjM4ZTAwNzcxZTg5NzY4Y2EzY2E5NDQ3MmQxNTVlODBhZjMyMmVhOWZjYjQyOTFiNmFjOWVjNzgiXSxbImEzMDE2OTdiZGZjZDcwNDMxM2JhNDhlNTFkNTY3NTQzZjJhMTgyMDMxZWZkNjkxNWRkYzA3YmJjYzRlMTYwNzAiLCI3MzcwZjkxY2ZiNjdlNGY1MDgxODA5ZmEyNWQ0MGY5YjE3MzVkYmY3YzBhMTFhMTMwYzBkMWEwNDFlMTc3ZWExIl0sWyI5MGFkODViMzg5ZDZiOTM2NDYzZjlkMDUxMjY3OGRlMjA4Y2MzMzBiMTEzMDdmZmZhYjdhYzYzZTNmYjA0ZWQ0IiwiZTUwN2EzNjIwYTM4MjYxYWZmZGNiZDk0MjcyMjJiODM5YWVmYWJlMTU4Mjg5NGQ5OTFkNGQ0OGNiNmVmMTUwIl0sWyI4ZjY4YjlkMmY2M2I1ZjMzOTIzOWMxYWQ5ODFmMTYyZWU4OGM1Njc4NzIzZWEzMzUxYjdiNDQ0YzllYzRjMGRhIiwiNjYyYTlmMmRiYTA2Mzk4NmRlMWQ5MGMyYjZiZTIxNWRiYmVhMmNmZTk1NTEwYmZkZjIzY2JmNzk1MDFmZmY4MiJdLFsiZTRmM2ZiMDE3NmFmODVkNjVmZjk5ZmY5MTk4YzM2MDkxZjQ4ZTg2NTAzNjgxZTNlNjY4NmZkNTA1MzIzMWUxMSIsIjFlNjM2MzNhZDBlZjRmMWMxNjYxYTZkMGVhMDJiNzI4NmNjN2U3NGVjOTUxZDFjOTgyMmMzODU3NmZlYjczYmMiXSxbIjhjMDBmYTliMThlYmYzMzFlYjk2MTUzN2E0NWE0MjY2YzcwMzRmMmYwZDRlMWQwNzE2ZmI2ZWFlMjBlYWUyOWUiLCJlZmE0NzI2N2ZlYTUyMWExYTlkYzM0M2EzNzM2Yzk3NGMyZmFkYWZhODFlMzZjNTRlN2QyYTRjNjY3MDI0MTRiIl0sWyJlN2EyNmNlNjlkZDQ4MjlmM2UxMGNlYzBhOWU5OGVkMzE0M2QwODRmMzA4YjkyYzA5OTdmZGRmYzYwY2IzZTQxIiwiMmE3NThlMzAwZmE3OTg0YjQ3MWIwMDZhMWFhZmJiMThkMGE2YjJjMDQyMGU4M2UyMGU4YTk0MjFjZjJjZmQ1MSJdLFsiYjY0NTllMGVlMzY2MmVjOGQyMzU0MGMyMjNiY2JkYzU3MWNiY2I5NjdkNzk0MjRmM2NmMjllYjNkZTZiODBlZiIsIjY3Yzg3NmQwNmYzZTA2ZGUxZGFkZjE2ZTU2NjFkYjNjNGIzYWU2ZDQ4ZTM1YjJmZjMwYmYwYjYxYTcxYmE0NSJdLFsiZDY4YTgwYzgyODBiYjg0MDc5MzIzNGFhMTE4ZjA2MjMxZDZmMWZjNjdlNzNjNWE1ZGVkYTBmNWI0OTY5NDNlOCIsImRiOGJhOWZmZjRiNTg2ZDAwYzRiMWY5MTc3YjBlMjhiNWIwZTdiOGY3ODQ1Mjk1YTI5NGM4NDI2NmIxMzMxMjAiXSxbIjMyNGFlZDdkZjY1YzgwNDI1MmRjMDI3MDkwN2EzMGIwOTYxMmFlYjk3MzQ0OWNlYTQwOTU5ODBmYzI4ZDNkNWQiLCI2NDhhMzY1Nzc0YjYxZjJmZjEzMGMwYzM1YWVjMWY0ZjE5MjEzYjBjN2UzMzI4NDM5NjcyMjRhZjk2YWI3Yzg0Il0sWyI0ZGY5YzE0OTE5Y2RlNjFmNmQ1MWRmZGJlNWZlZTVkY2VlYzQxNDNiYThkMWNhODg4ZThiZDM3M2ZkMDU0Yzk2IiwiMzVlYzUxMDkyZDg3MjgwNTA5NzRjMjNhMWQ4NWQ0YjVkNTA2Y2RjMjg4NDkwMTkyZWJhYzA2Y2FkMTBkNWQiXSxbIjljMzkxOWE4NGE0NzQ4NzBmYWVkOGE5YzFjYzY2MDIxNTIzNDg5MDU0ZDdmMDMwOGNiZmM5OWM4YWMxZjk4Y2QiLCJkZGI4NGYwZjRhNGRkZDU3NTg0ZjA0NGJmMjYwZTY0MTkwNTMyNmY3NmM2NGM4ZTZiZTdlNWUwM2Q0ZmM1OTlkIl0sWyI2MDU3MTcwYjFkZDEyZmRmOGRlMDVmMjgxZDhlMDZiYjkxZTE0OTNhOGI5MWQ0Y2M1YTIxMzgyMTIwYTk1OWU1IiwiOWExYWYwYjI2YTZhNDgwN2FkZDlhMmRhZjcxZGYyNjI0NjUxNTJiYzNlZTI0YzY1ZTg5OWJlOTMyMzg1YTJhOCJdLFsiYTU3NmRmOGUyM2EwODQxMTQyMTQzOWE0NTE4ZGEzMTg4MGNlZjBmYmE3ZDRkZjEyYjFhNjk3M2VlY2I5NDI2NiIsIjQwYTZiZjIwZTc2NjQwYjJjOTJiOTdhZmU1OGNkODJjNDMyZTEwYTdmNTE0ZDlmM2VlOGJlMTFhZTFiMjhlYzgiXSxbIjc3NzhhNzhjMjhkZWMzZTMwYTA1ZmU5NjI5ZGU4YzM4YmIzMGQxZjVjZjlhM2EyMDhmNzYzODg5YmU1OGFkNzEiLCIzNDYyNmQ5YWI1YTViMjJmZjcwOThlMTJmMmZmNTgwMDg3YjM4NDExZmYyNGFjNTYzYjUxM2ZjMWZkOWY0M2FjIl0sWyI5Mjg5NTVlZTYzN2E4NDQ2MzcyOWZkMzBlN2FmZDJlZDVmOTYyNzRlNWFkN2U1Y2IwOWVkYTljMDZkOTAzYWMiLCJjMjU2MjEwMDNkM2Y0MmE4MjdiNzhhMTMwOTNhOTVlZWFjM2QyNmVmYThhOGQ4M2ZjNTE4MGU5MzViY2QwOTFmIl0sWyI4NWQwZmVmM2VjNmRiMTA5Mzk5MDY0ZjNhMGUzYjI4NTU2NDViNGE5MDdhZDM1NDUyN2FhZTc1MTYzZDgyNzUxIiwiMWYwMzY0ODQxM2EzOGMwYmUyOWQ0OTZlNTgyY2Y1NjYzZTg3NTFlOTY4NzczMzE1ODJjMjM3YTI0ZWIxZjk2MiJdLFsiZmYyYjBkY2U5N2VlY2U5N2MxYzliNjA0MTc5OGI4NWRmZGZiNmQ4ODgyZGEyMDMwOGY1NDA0ODI0NTI2MDg3ZSIsIjQ5M2QxM2ZlZjUyNGJhMTg4YWY0YzRkYzU0ZDA3OTM2YzdiN2VkNmZiOTBlMmNlYjJjOTUxZTAxZjBjMjk5MDciXSxbIjgyN2ZiYmU0YjFlODgwZWE5ZWQyYjJlNjMwMWIyMTJiNTdmMWVlMTQ4Y2Q2ZGQyODc4MGU1ZTJjZjg1NmUyNDEiLCJjNjBmOWM5MjNjNzI3YjBiNzFiZWYyYzY3ZDFkMTI2ODdmZjdhNjMxODY5MDMxNjZkNjA1YjY4YmFlYzI5M2VjIl0sWyJlYWE2NDlmMjFmNTFiZGJhZTdiZTRhZTM0Y2U2ZTUyMTdhNThmZGNlN2Y0N2Y5YWE3ZjNiNThmYTIxMjBlMmIzIiwiYmUzMjc5ZWQ1YmJiYjAzYWM2OWE4MGY4OTg3OWFhNWEwMWE2Yjk2NWYxM2Y3ZTU5ZDQ3YTUzMDViYTVhZDkzZCJdLFsiZTRhNDJkNDNjNWNmMTY5ZDkzOTFkZjZkZWNmNDJlZTU0MWI2ZDhmMGM5YTEzNzQwMWUyMzYzMmRkYTM0ZDI0ZiIsIjRkOWY5MmU3MTZkMWM3MzUyNmZjOTljY2ZiOGFkMzRjZTg4NmVlZGZhOGQ4ZTRmMTNhN2Y3MTMxZGViYTk0MTQiXSxbIjFlYzgwZmVmMzYwY2JkZDk1NDE2MGZhZGFiMzUyYjZiOTJiNTM1NzZhODhmZWE0OTQ3MTczYjlkNDMwMGJmMTkiLCJhZWVmZTkzNzU2YjUzNDBkMmYzYTQ5NThhN2FiYmY1ZTAxNDZlNzdmNjI5NWEwN2I2NzFjZGMxY2MxMDdjZWZkIl0sWyIxNDZhNzc4YzA0NjcwYzJmOTFiMDBhZjQ2ODBkZmE4YmNlMzQ5MDcxN2Q1OGJhODg5ZGRiNTkyODM2NjY0MmJlIiwiYjMxOGUwZWMzMzU0MDI4YWRkNjY5ODI3ZjlkNGIyODcwYWFhOTcxZDJmN2U1ZWQxZDBiMjk3NDgzZDgzZWZkMCJdLFsiZmE1MGMwZjYxZDIyZTVmMDdlM2FjZWJiMWFhMDdiMTI4ZDAwMTIyMDlhMjhiOTc3NmQ3NmE4NzkzMTgwZWVmOSIsIjZiODRjNjkyMjM5N2ViYTliNzJjZDI4NzIyODFhNjhhNWU2ODMyOTNhNTdhMjEzYjM4Y2Q4ZDdkM2Y0ZjI4MTEiXSxbImRhMWQ2MWQwY2E3MjFhMTFiMWE1YmY2YjdkODhlODQyMWEyODhhYjVkNWJiYTUyMjBlNTNkMzJiNWYwNjdlYzIiLCI4MTU3ZjU1YTdjOTkzMDZjNzljMDc2NjE2MWM5MWUyOTY2YTczODk5ZDI3OWI0OGE2NTVmYmEwZjFhZDgzNmYxIl0sWyJhOGUyODJmZjBjOTcwNjkwNzIxNWZmOThlOGZkNDE2NjE1MzExZGUwNDQ2ZjFlMDYyYTczYjA2MTBkMDY0ZTEzIiwiN2Y5NzM1NWI4ZGI4MWMwOWFiZmI3ZjNjNWIyNTE1ODg4YjY3OWEzZTUwZGQ2YmQ2Y2VmN2M3MzExMWY0Y2MwYyJdLFsiMTc0YTUzYjljOWEyODU4NzJkMzllNTZlNjkxM2NhYjE1ZDU5YjFmYTUxMjUwOGMwMjJmMzgyZGU4MzE5NDk3YyIsImNjYzlkYzM3YWJmYzljMTY1N2I0MTU1ZjJjNDdmOWU2NjQ2YjNhMWQ4Y2I5ODU0MzgzZGExM2FjMDc5YWZhNzMiXSxbIjk1OTM5Njk4MTk0Mzc4NWMzZDNlNTdlZGY1MDE4Y2RiZTAzOWU3MzBlNDkxOGIzZDg4NGZkZmYwOTQ3NWI3YmEiLCIyZTdlNTUyODg4YzMzMWRkOGJhMDM4NmE0YjljZDY4NDljNjUzZjY0Yzg3MDkzODVlOWI4YWJmODc1MjRmMmZkIl0sWyJkMmE2M2E1MGFlNDAxZTU2ZDY0NWExMTUzYjEwOWE4ZmNjYTBhNDNkNTYxZmJhMmRiYjUxMzQwYzlkODJiMTUxIiwiZTgyZDg2ZmI2NDQzZmNiNzU2NWFlZTU4YjI5NDgyMjBhNzBmNzUwYWY0ODRjYTUyZDQxNDIxNzRkY2Y4OTQwNSJdLFsiNjQ1ODdlMjMzNTQ3MWViODkwZWU3ODk2ZDdjZmRjODY2YmFjYmRiZDM4MzkzMTdiMzQzNmY5YjQ1NjE3ZTA3MyIsImQ5OWZjZGQ1YmY2OTAyZTJhZTk2ZGQ2NDQ3YzI5OWExODViOTBhMzkxMzNhZWFiMzU4Mjk5ZTVlOWZhZjY1ODkiXSxbIjg0ODFiZGUwZTRlNGQ4ODViM2E1NDZkM2U1NDlkZTA0MmYwYWE2Y2VhMjUwZTdmZDM1OGQ2Yzg2ZGQ0NWU0NTgiLCIzOGVlN2I4Y2JhNTQwNGRkODRhMjViZjM5Y2VjYjJjYTkwMGE3OWM0MmIyNjJlNTU2ZDY0YjFiNTk3NzkwNTdlIl0sWyIxMzQ2NGE1N2E3ODEwMmFhNjJiNjk3OWFlODE3ZjQ2MzdmZmNmZWQzYzRiMWNlMzBiY2Q2MzAzZjZjYWY2NjZiIiwiNjliZTE1OTAwNDYxNDU4MGVmN2U0MzM0NTNjY2IwY2E0OGYzMDBhODFkMDk0MmUxM2Y0OTVhOTA3ZjZlY2MyNyJdLFsiYmM0YTlkZjViNzEzZmUyZTlhZWY0MzBiY2MxZGM5N2EwY2Q5Y2NlZGUyZjI4NTg4Y2FkYTNhMGQyZDgzZjM2NiIsImQzYTgxY2E2ZTc4NWMwNjM4MzkzN2FkZjRiNzk4Y2FhNmU4YTlmYmZhNTQ3YjE2ZDc1OGQ2NjY1ODFmMzNjMSJdLFsiOGMyOGE5N2JmODI5OGJjMGQyM2Q4Yzc0OTQ1MmEzMmU2OTRiNjVlMzBhOTQ3MmEzOTU0YWIzMGZlNTMyNGNhYSIsIjQwYTMwNDYzYTMzMDUxOTMzNzhmZWRmMzFmN2NjMGViN2FlNzg0ZjA0NTFjYjk0NTllNzFkYzczY2JlZjk0ODIiXSxbIjhlYTk2NjYxMzk1MjdhOGMxZGQ5NGNlNGYwNzFmZDIzYzhiMzUwYzVhNGJiMzM3NDhjNGJhMTExZmFjY2FlMCIsIjYyMGVmYWJiYzhlZTI3ODJlMjRlN2MwY2ZiOTVjNWQ3MzViNzgzYmU5Y2YwZjhlOTU1YWYzNGEzMGU2MmI5NDUiXSxbImRkMzYyNWZhZWY1YmEwNjA3NDY2OTcxNmJiZDM3ODhkODliZGRlODE1OTU5OTY4MDkyZjc2Y2M0ZWI5YTk3ODciLCI3YTE4OGZhMzUyMGUzMGQ0NjFkYTI1MDEwNDU3MzFjYTk0MTQ2MTk4Mjg4MzM5NTkzN2Y2OGQwMGM2NDRhNTczIl0sWyJmNzEwZDc5ZDllYjk2MjI5N2U0ZjYyMzJiNDBlOGY3ZmViMmJjNjM4MTQ2MTRkNjkyYzEyZGU3NTI0MDgyMjFlIiwiZWE5OGU2NzIzMmQzYjMyOTVkM2I1MzU1MzIxMTVjY2FjODYxMmM3MjE4NTE2MTc1MjZhZTQ3YTljNzdiZmM4MiJdXX0sbmFmOnt3bmQ6Nyxwb2ludHM6W1siZjkzMDhhMDE5MjU4YzMxMDQ5MzQ0Zjg1Zjg5ZDUyMjliNTMxYzg0NTgzNmY5OWIwODYwMWYxMTNiY2UwMzZmOSIsIjM4OGY3YjBmNjMyZGU4MTQwZmUzMzdlNjJhMzdmMzU2NjUwMGE5OTkzNGMyMjMxYjZjYjlmZDc1ODRiOGU2NzIiXSxbIjJmOGJkZTRkMWEwNzIwOTM1NWI0YTcyNTBhNWM1MTI4ZTg4Yjg0YmRkYzYxOWFiN2NiYThkNTY5YjI0MGVmZTQiLCJkOGFjMjIyNjM2ZTVlM2Q2ZDRkYmE5ZGRhNmM5YzQyNmY3ODgyNzFiYWIwZDY4NDBkY2E4N2QzYWE2YWM2MmQ2Il0sWyI1Y2JkZjA2NDZlNWRiNGVhYTM5OGYzNjVmMmVhN2EwZTNkNDE5YjdlMDMzMGUzOWNlOTJiZGRlZGNhYzRmOWJjIiwiNmFlYmNhNDBiYTI1NTk2MGEzMTc4ZDZkODYxYTU0ZGJhODEzZDBiODEzZmRlN2I1YTUwODI2MjgwODcyNjRkYSJdLFsiYWNkNDg0ZTJmMGM3ZjY1MzA5YWQxNzhhOWY1NTlhYmRlMDk3OTY5NzRjNTdlNzE0YzM1ZjExMGRmYzI3Y2NiZSIsImNjMzM4OTIxYjBhN2Q5ZmQ2NDM4MDk3MTc2M2I2MWU5YWRkODg4YTQzNzVmOGUwZjA1Y2MyNjJhYzY0ZjljMzciXSxbIjc3NGFlN2Y4NThhOTQxMWU1ZWY0MjQ2YjcwYzY1YWFjNTY0OTk4MGJlNWMxNzg5MWJiZWMxNzg5NWRhMDA4Y2IiLCJkOTg0YTAzMmViNmI1ZTE5MDI0M2RkNTZkN2I3YjM2NTM3MmRiMWUyZGZmOWQ2YTgzMDFkNzRjOWM5NTNjNjFiIl0sWyJmMjg3NzNjMmQ5NzUyODhiYzdkMWQyMDVjMzc0ODY1MWIwNzVmYmM2NjEwZTU4Y2RkZWVkZGY4ZjE5NDA1YWE4IiwiYWIwOTAyZThkODgwYTg5NzU4MjEyZWI2NWNkYWY0NzNhMWEwNmRhNTIxZmE5MWYyOWI1Y2I1MmRiMDNlZDgxIl0sWyJkNzkyNGQ0ZjdkNDNlYTk2NWE0NjVhZTMwOTVmZjQxMTMxZTU5NDZmM2M4NWY3OWU0NGFkYmNmOGUyN2UwODBlIiwiNTgxZTI4NzJhODZjNzJhNjgzODQyZWMyMjhjYzZkZWZlYTQwYWYyYmQ4OTZkM2E1YzUwNGRjOWZmNmEyNmI1OCJdLFsiZGVmZGVhNGNkYjY3Nzc1MGE0MjBmZWU4MDdlYWNmMjFlYjk4OThhZTc5Yjk3Njg3NjZlNGZhYTA0YTJkNGEzNCIsIjQyMTFhYjA2OTQ2MzUxNjhlOTk3YjBlYWQyYTkzZGFlY2VkMWY0YTA0YTk1YzBmNmNmYjE5OWY2OWU1NmViNzciXSxbIjJiNGVhMGE3OTdhNDQzZDI5M2VmNWNmZjQ0NGY0OTc5ZjA2YWNmZWJkN2U4NmQyNzc0NzU2NTYxMzgzODViNmMiLCI4NWU4OWJjMDM3OTQ1ZDkzYjM0MzA4M2I1YTFjODYxMzFhMDFmNjBjNTAyNjk3NjNiNTcwYzg1NGU1YzA5YjdhIl0sWyIzNTJiYmY0YTRjZGQxMjU2NGY5M2ZhMzMyY2UzMzMzMDFkOWFkNDAyNzFmODEwNzE4MTM0MGFlZjI1YmU1OWQ1IiwiMzIxZWI0MDc1MzQ4ZjUzNGQ1OWMxODI1OWRkYTNlMWY0YTFiM2IyZTcxYjEwMzljNjdiZDNkOGJjZjgxOTk4YyJdLFsiMmZhMjEwNGQ2YjM4ZDExYjAyMzAwMTA1NTk4NzkxMjRlNDJhYjhkZmVmZjVmZjI5ZGM5Y2RhZGQ0ZWNhY2MzZiIsIjJkZTEwNjgyOTVkZDg2NWI2NDU2OTMzNWJkNWRkODAxODFkNzBlY2ZjODgyNjQ4NDIzYmE3NmI1MzJiN2Q2NyJdLFsiOTI0ODI3OWIwOWI0ZDY4ZGFiMjFhOWIwNjZlZGRhODMyNjNjM2Q4NGUwOTU3MmUyNjljYTBjZDdmNTQ1MzcxNCIsIjczMDE2ZjdiZjIzNGFhZGU1ZDFhYTcxYmRlYTJiMWZmM2ZjMGRlMmE4ODc5MTJmZmU1NGEzMmNlOTdjYjM0MDIiXSxbImRhZWQ0ZjJiZTNhOGJmMjc4ZTcwMTMyZmIwYmViNzUyMmY1NzBlMTQ0YmY2MTVjMDdlOTk2ZDQ0M2RlZTg3MjkiLCJhNjlkY2U0YTdkNmM5OGU4ZDRhMWFjYTg3ZWY4ZDcwMDNmODNjMjMwZjNhZmE3MjZhYjQwZTUyMjkwYmUxYzU1Il0sWyJjNDRkMTJjNzA2NWQ4MTJlOGFjZjI4ZDdjYmIxOWY5MDExZWNkOWU5ZmRmMjgxYjBlNmEzYjVlODdkMjJlN2RiIiwiMjExOWE0NjBjZTMyNmNkYzc2YzQ1OTI2Yzk4MmZkYWMwZTEwNmU4NjFlZGY2MWM1YTAzOTA2M2YwZTBlNjQ4MiJdLFsiNmEyNDViZjZkYzY5ODUwNGM4OWEyMGNmZGVkNjA4NTMxNTJiNjk1MzM2YzI4MDYzYjYxYzY1Y2JkMjY5ZTZiNCIsImUwMjJjZjQyYzJiZDRhNzA4YjNmNTEyNmYxNmEyNGFkOGIzM2JhNDhkMDQyM2I2ZWZkNWU2MzQ4MTAwZDhhODIiXSxbIjE2OTdmZmE2ZmQ5ZGU2MjdjMDc3ZTNkMmZlNTQxMDg0Y2UxMzMwMGIwYmVjMTE0NmY5NWFlNTdmMGQwYmQ2YTUiLCJiOWMzOThmMTg2ODA2ZjVkMjc1NjE1MDZlNDU1NzQzM2EyY2YxNTAwOWU0OThhZTdhZGVlOWQ2M2QwMWIyMzk2Il0sWyI2MDViZGIwMTk5ODE3MThiOTg2ZDBmMDdlODM0Y2IwZDlkZWI4MzYwZmZiN2Y2MWRmOTgyMzQ1ZWYyN2E3NDc5IiwiMjk3MmQyZGU0ZjhkMjA2ODFhNzhkOTNlYzk2ZmUyM2MyNmJmYWU4NGZiMTRkYjQzYjAxZTFlOTA1NmI4YzQ5Il0sWyI2MmQxNGRhYjQxNTBiZjQ5NzQwMmZkYzQ1YTIxNWUxMGRjYjAxYzM1NDk1OWIxMGNmZTMxYzdlOWQ4N2ZmMzNkIiwiODBmYzA2YmQ4Y2M1YjAxMDk4MDg4YTE5NTBlZWQwZGIwMWFhMTMyOTY3YWI0NzIyMzVmNTY0MjQ4M2IyNWVhZiJdLFsiODBjNjBhZDAwNDBmMjdkYWRlNWI0YjA2YzQwOGU1NmIyYzUwZTlmNTZiOWI4YjQyNWU1NTVjMmY4NjMwOGI2ZiIsIjFjMzgzMDNmMWNjNWMzMGYyNmU2NmJhZDdmZTcyZjcwYTY1ZWVkNGNiZTcwMjRlYjFhYTAxZjU2NDMwYmQ1N2EiXSxbIjdhOTM3NWFkNjE2N2FkNTRhYTc0YzYzNDhjYzU0ZDM0NGNjNWRjOTQ4N2Q4NDcwNDlkNWVhYmIwZmEwM2M4ZmIiLCJkMGUzZmE5ZWNhODcyNjkwOTU1OWUwZDc5MjY5MDQ2YmRjNTllYTEwYzcwY2UyYjAyZDQ5OWVjMjI0ZGM3ZjciXSxbImQ1MjhlY2Q5YjY5NmI1NGM5MDdhOWVkMDQ1NDQ3YTc5YmI0MDhlYzM5YjY4ZGY1MDRiYjUxZjQ1OWJjM2ZmYzkiLCJlZWNmNDEyNTMxMzZlNWY5OTk2NmYyMTg4MWZkNjU2ZWJjNDM0NTQwNWM1MjBkYmMwNjM0NjViNTIxNDA5OTMzIl0sWyI0OTM3MGE0YjVmNDM0MTJlYTI1ZjUxNGU4ZWNkYWQwNTI2NjExNWU0YTdlY2IxMzg3MjMxODA4ZjhiNDU5NjMiLCI3NThmM2Y0MWFmZDZlZDQyOGIzMDgxYjA1MTJmZDYyYTU0YzNmM2FmYmI1YjY3NjRiNjUzMDUyYTEyOTQ5YzlhIl0sWyI3N2YyMzA5MzZlZTg4Y2JiZDczZGY5MzBkNjQ3MDJlZjg4MWQ4MTFlMGUxNDk4ZTJmMWMxM2ViMWZjMzQ1ZDc0IiwiOTU4ZWY0MmE3ODg2YjY0MDBhMDgyNjZlOWJhMWIzNzg5NmM5NTMzMGQ5NzA3N2NiYmU4ZWIzYzc2NzFjNjBkNiJdLFsiZjJkYWM5OTFjYzRjZTRiOWVhNDQ4ODdlNWM3YzBiY2U1OGM4MDA3NGFiOWQ0ZGJhZWIyODUzMWI3NzM5ZjUzMCIsImUwZGVkYzliM2IyZjhkYWQ0ZGExZjMyZGVjMjUzMWRmOWViNWZiZWIwNTk4ZTRmZDFhMTE3ZGJhNzAzYTNjMzciXSxbIjQ2M2IzZDlmNjYyNjIxZmIxYjRiZThmYmJlMjUyMDEyNWEyMTZjZGZjOWRhZTNkZWJjYmE0ODUwYzY5MGQ0NWIiLCI1ZWQ0MzBkNzhjMjk2YzM1NDMxMTQzMDZkZDg2MjJkN2M2MjJlMjdjOTcwYTFkZTMxY2IzNzdiMDFhZjczMDdlIl0sWyJmMTZmODA0MjQ0ZTQ2ZTJhMDkyMzJkNGFmZjNiNTk5NzZiOThmYWMxNDMyOGEyZDFhMzI0OTZiNDk5OThmMjQ3IiwiY2VkYWJkOWI4MjIwM2Y3ZTEzZDIwNmZjZGY0ZTMzZDkyYTZjNTNjMjZlNWNjZTI2ZDY1Nzk5NjJjNGUzMWRmNiJdLFsiY2FmNzU0MjcyZGM4NDU2M2IwMzUyYjdhMTQzMTFhZjU1ZDI0NTMxNWFjZTI3YzY1MzY5ZTE1ZjcxNTFkNDFkMSIsImNiNDc0NjYwZWYzNWY1ZjJhNDFiNjQzZmE1ZTQ2MDU3NWY0ZmE5Yjc5NjIyMzJhNWMzMmY5MDgzMThhMDQ0NzYiXSxbIjI2MDBjYTRiMjgyY2I5ODZmODVkMGYxNzA5OTc5ZDhiNDRhMDljMDdjYjg2ZDdjMTI0NDk3YmM4NmYwODIxMjAiLCI0MTE5Yjg4NzUzYzE1YmQ2YTY5M2IwM2ZjZGRiYjQ1ZDVhYzZiZTc0YWI1ZjBlZjQ0YjBiZTk0NzVhN2U0YjQwIl0sWyI3NjM1Y2E3MmQ3ZTg0MzJjMzM4ZWM1M2NkMTIyMjBiYzAxYzQ4Njg1ZTI0ZjdkYzhjNjAyYTc3NDY5OThlNDM1IiwiOTFiNjQ5NjA5NDg5ZDYxM2QxZDVlNTkwZjc4ZTZkNzRlY2ZjMDYxZDU3MDQ4YmFkOWU3NmYzMDJjNWI5YzYxIl0sWyI3NTRlMzIzOWYzMjU1NzBjZGJiZjRhODdkZWVlOGE2NmI3ZjJiMzM0NzlkNDY4ZmJjMWE1MDc0M2JmNTZjYzE4IiwiNjczZmI4NmU1YmRhMzBmYjNjZDBlZDMwNGVhNDlhMDIzZWUzM2QwMTk3YTY5NWQwYzVkOTgwOTNjNTM2NjgzIl0sWyJlM2U2YmQxMDcxYTFlOTZhZmY1Nzg1OWM4MmQ1NzBmMDMzMDgwMDY2MWQxYzk1MmY5ZmUyNjk0NjkxZDliOWU4IiwiNTljOWUwYmJhMzk0ZTc2ZjQwYzBhYTU4Mzc5YTNjYjZhNWEyMjgzOTkzZTkwYzQxNjcwMDJhZjQ5MjBlMzdmNSJdLFsiMTg2YjQ4M2QwNTZhMDMzODI2YWU3M2Q4OGY3MzI5ODVjNGNjYjFmMzJiYTM1ZjRiNGNjNDdmZGNmMDRhYTZlYiIsIjNiOTUyZDMyYzY3Y2Y3N2UyZTE3NDQ2ZTIwNDE4MGFiMjFmYjgwOTA4OTUxMzhiNGE0YTc5N2Y4NmU4MDg4OGIiXSxbImRmOWQ3MGE2Yjk4NzZjZTU0NGM5ODU2MWY0YmU0ZjcyNTQ0MmU2ZDJiNzM3ZDljOTFhODMyMTcyNGNlMDk2M2YiLCI1NWViMmRhZmQ4NGQ2Y2NkNWY4NjJiNzg1ZGMzOWQ0YWIxNTcyMjI3MjBlZjlkYTIxN2I4YzQ1Y2YyYmEyNDE3Il0sWyI1ZWRkNWNjMjNjNTFlODdhNDk3Y2E4MTVkNWRjZTBmOGFiNTI1NTRmODQ5ZWQ4OTk1ZGU2NGM1ZjM0Y2U3MTQzIiwiZWZhZTljOGRiYzE0MTMwNjYxZThjZWMwMzBjODlhZDBjMTNjNjZjMGQxN2EyOTA1Y2RjNzA2YWI3Mzk5YTg2OCJdLFsiMjkwNzk4YzJiNjQ3NjgzMGRhMTJmZTAyMjg3ZTllNzc3YWEzZmJhMWMzNTViMTdhNzIyZDM2MmY4NDYxNGZiYSIsImUzOGRhNzZkY2Q0NDA2MjE5ODhkMDBiY2Y3OWFmMjVkNWIyOWMwOTRkYjJhMjMxNDZkMDAzYWZkNDE5NDNlN2EiXSxbImFmM2M0MjNhOTVkOWY1YjMwNTQ3NTRlZmExNTBhYzM5Y2QyOTU1MmZlMzYwMjU3MzYyZGZkZWNlZjQwNTNiNDUiLCJmOThhM2ZkODMxZWIyYjc0OWE5M2IwZTZmMzVjZmI0MGM4Y2Q1YWE2NjdhMTU1ODFiYzJmZWRlZDQ5OGZkOWM2Il0sWyI3NjZkYmIyNGQxMzRlNzQ1Y2NjYWEyOGM5OWJmMjc0OTA2YmI2NmIyNmRjZjk4ZGY4ZDJmZWQ1MGQ4ODQyNDlhIiwiNzQ0YjExNTJlYWNiZTVlMzhkY2M4ODc5ODBkYTM4Yjg5NzU4NGE2NWZhMDZjZWRkMmM5MjRmOTdjYmFjNTk5NiJdLFsiNTlkYmY0NmY4Yzk0NzU5YmEyMTI3N2MzMzc4NGY0MTY0NWY3YjQ0ZjZjNTk2YTU4Y2U5MmU2NjYxOTFhYmUzZSIsImM1MzRhZDQ0MTc1ZmJjMzAwZjRlYTZjZTY0ODMwOWEwNDJjZTczOWE3OTE5Nzk4Y2Q4NWUyMTZjNGEzMDdmNmUiXSxbImYxM2FkYTk1MTAzYzQ1MzczMDVlNjkxZTc0ZTlhNGE4ZGQ2NDdlNzExYTk1ZTczY2I2MmRjNjAxOGNmZDg3YjgiLCJlMTM4MTdiNDRlZTE0ZGU2NjNiZjRiYzgwODM0MWYzMjY5NDllMjFhNmE3NWMyNTcwNzc4NDE5YmRhZjU3MzNkIl0sWyI3NzU0YjRmYTBlOGFjZWQwNmQ0MTY3YTJjNTljY2E0Y2RhMTg2OWMwNmViYWRmYjY0ODg1NTAwMTVhODg1MjJjIiwiMzBlOTNlODY0ZTY2OWQ4MjIyNGI5NjdjMzAyMGI4ZmE4ZDFlNGUzNTBiNmNiY2M1MzdhNDhiNTc4NDExNjNhMiJdLFsiOTQ4ZGNhZGY1OTkwZTA0OGFhMzg3NGQ0NmFiZWY5ZDcwMTg1OGY5NWRlODA0MWQyYTY4MjhjOTllMjI2MjUxOSIsImU0OTFhNDI1MzdmNmU1OTdkNWQyOGEzMjI0YjFiYzI1ZGY5MTU0ZWZiZDJlZjFkMmNiYmEyY2FlNTM0N2Q1N2UiXSxbIjc5NjI0MTQ0NTBjNzZjMTY4OWM3YjQ4ZjgyMDJlYzM3ZmIyMjRjZjVhYzBiZmExNTcwMzI4YThhM2Q3Yzc3YWIiLCIxMDBiNjEwZWM0ZmZiNDc2MGQ1YzFmYzEzM2VmNmY2YjEyNTA3YTA1MWYwNGFjNTc2MGFmYTViMjlkYjgzNDM3Il0sWyIzNTE0MDg3ODM0OTY0YjU0YjE1YjE2MDY0NGQ5MTU0ODVhMTY5NzcyMjViODg0N2JiMGRkMDg1MTM3ZWM0N2NhIiwiZWYwYWZiYjIwNTYyMDU0NDhlMTY1MmM0OGU4MTI3ZmM2MDM5ZTc3YzE1YzIzNzhiN2U3ZDE1YTBkZTI5MzMxMSJdLFsiZDNjYzMwYWQ2YjQ4M2U0YmM3OWNlMmM5ZGQ4YmM1NDk5M2U5NDdlYjhkZjc4N2I0NDI5NDNkM2Y3YjUyN2VhZiIsIjhiMzc4YTIyZDgyNzI3OGQ4OWM1ZTliZThmOTUwOGFlM2MyYWQ0NjI5MDM1ODYzMGFmYjM0ZGIwNGVlZGUwYTQiXSxbIjE2MjRkODQ3ODA3MzI4NjBjZTFjNzhmY2JmZWZlMDhiMmIyOTgyM2RiOTEzZjY0OTM5NzViYTBmZjQ4NDc2MTAiLCI2ODY1MWNmOWI2ZGE5MDNlMDkxNDQ0OGM2Y2Q5ZDRjYTg5Njg3OGY1MjgyYmU0YzhjYzA2ZTJhNDA0MDc4NTc1Il0sWyI3MzNjZTgwZGE5NTVhOGEyNjkwMmM5NTYzM2U2MmE5ODUxOTI0NzRiNWFmMjA3ZGE2ZGY3YjRmZDVmYzYxY2Q0IiwiZjU0MzVhMmJkMmJhZGY3ZDQ4NWE0ZDhiOGRiOWZjY2UzZTFlZjhlMDIwMWU0NTc4YzU0NjczYmMxZGM1ZWExZCJdLFsiMTVkOTQ0MTI1NDk0NTA2NGNmMWExYzMzYmJkM2I0OWY4OTY2YzUwOTIxNzFlNjk5ZWYyNThkZmFiODFjMDQ1YyIsImQ1NmViMzBiNjk0NjNlNzIzNGY1MTM3YjczYjg0MTc3NDM0ODAwYmFjZWJmYzY4NWZjMzdiYmU5ZWZlNDA3MGQiXSxbImExZDBmY2YyZWM5ZGU2NzViNjEyMTM2ZTVjZTcwZDI3MWMyMTQxN2M5ZDJiOGFhYWFjMTM4NTk5ZDA3MTc5NDAiLCJlZGQ3N2Y1MGJjYjVhM2NhYjJlOTA3MzczMDk2NjdmMjY0MTQ2MmE1NDA3MGYzZDUxOTIxMmQzOWMxOTdhNjI5Il0sWyJlMjJmYmUxNWMwYWY4Y2NjNTc4MGMwNzM1Zjg0ZGJlOWE3OTBiYWRlZTgyNDVjMDZjN2NhMzczMzFjYjM2OTgwIiwiYTg1NWJhYmFkNWNkNjBjODhiNDMwYTY5ZjUzYTFhN2EzODI4OTE1NDk2NDc5OWJlNDNkMDZkNzdkMzFkYTA2Il0sWyIzMTEwOTFkZDk4NjBlOGUyMGVlMTM0NzNjMTE1NWY1ZjY5NjM1ZTM5NDcwNGVhYTc0MDA5NDUyMjQ2Y2ZhOWIzIiwiNjZkYjY1NmY4N2QxZjA0ZmZmZDFmMDQ3ODhjMDY4MzA4NzFlYzVhNjRmZWVlNjg1YmQ4MGYwYjEyODZkODM3NCJdLFsiMzRjMWZkMDRkMzAxYmU4OWIzMWMwNDQyZDNlNmFjMjQ4ODM5MjhiNDVhOTM0MDc4MTg2N2Q0MjMyZWMyZGJkZiIsIjk0MTQ2ODVlOTdiMWI1OTU0YmQ0NmY3MzAxNzQxMzZkNTdmMWNlZWI0ODc0NDNkYzUzMjE4NTdiYTczYWJlZSJdLFsiZjIxOWVhNWQ2YjU0NzAxYzFjMTRkZTViNTU3ZWI0MmE4ZDEzZjNhYmJjZDA4YWZmY2MyYTVlNmIwNDliOGQ2MyIsIjRjYjk1OTU3ZTgzZDQwYjBmNzNhZjQ1NDRjY2NmNmIxZjRiMDhkM2MwN2IyN2ZiOGQ4YzI5NjJhNDAwNzY2ZDEiXSxbImQ3Yjg3NDBmNzRhOGZiYWFiMWY2ODNkYjhmNDVkZTI2NTQzYTU0OTBiY2E2MjcwODcyMzY5MTI0NjlhMGI0NDgiLCJmYTc3OTY4MTI4ZDljOTJlZTEwMTBmMzM3YWQ0NzE3ZWZmMTVkYjVlZDNjMDQ5YjM0MTFlMDMxNWVhYTQ1OTNiIl0sWyIzMmQzMWMyMjJmOGY2ZjBlZjg2ZjdjOThkM2EzMzM1ZWFkNWJjZDMyYWJkZDk0Mjg5ZmU0ZDMwOTFhYTgyNGJmIiwiNWYzMDMyZjU4OTIxNTZlMzljY2QzZDc5MTViOWUxZGEyZTZkYWM5ZTZmMjZlOTYxMTE4ZDE0Yjg0NjJlMTY2MSJdLFsiNzQ2MWYzNzE5MTRhYjMyNjcxMDQ1YTE1NWQ5ODMxZWE4NzkzZDc3Y2Q1OTU5MmM0MzQwZjg2Y2JjMTgzNDdiNSIsIjhlYzBiYTIzOGI5NmJlYzBjYmRkZGNhZTBhYTQ0MjU0MmVlZTFmZjUwYzk4NmVhNmIzOTg0N2IzY2MwOTJmZjYiXSxbImVlMDc5YWRiMWRmMTg2MDA3NDM1NmEyNWFhMzgyMDZhNmQ3MTZiMmMzZTY3NDUzZDI4NzY5OGJhZDdiMmIyZDYiLCI4ZGMyNDEyYWFmZTNiZTVjNGM1ZjM3ZTBlY2M1ZjlmNmE0NDY5ODlhZjA0YzRlMjVlYmFhYzQ3OWVjMWM4YzFlIl0sWyIxNmVjOTNlNDQ3ZWM4M2YwNDY3YjE4MzAyZWU2MjBmN2U2NWRlMzMxODc0YzlkYzcyYmZkODYxNmJhOWRhNmI1IiwiNWU0NjMxMTUwZTYyZmI0MGQwZThjMmE3Y2E1ODA0YTM5ZDU4MTg2YTUwZTQ5NzEzOTYyNjc3OGUyNWIwNjc0ZCJdLFsiZWFhNWY5ODBjMjQ1ZjZmMDM4OTc4MjkwYWZhNzBiNmJkODg1NTg5N2Y5OGI2YWE0ODViOTYwNjVkNTM3YmQ5OSIsImY2NWY1ZDNlMjkyYzJlMDgxOWE1MjgzOTFjOTk0NjI0ZDc4NDg2OWQ3ZTZlYTY3ZmIxODA0MTAyNGVkYzA3ZGMiXSxbIjc4Yzk0MDc1NDRhYzEzMjY5MmVlMTkxMGEwMjQzOTk1OGFlMDQ4NzcxNTEzNDJlYTk2YzRiNmIzNWE0OWY1MSIsImYzZTAzMTkxNjllYjliODVkNTQwNDc5NTUzOWE1ZTY4ZmExZmJkNTgzYzA2NGQyNDYyYjY3NWYxOTRhM2RkYjQiXSxbIjQ5NGY0YmUyMTlhMWE3NzAxNmRjZDgzODQzMWFlYTAwMDFjZGM4YWU3YTZmYzY4ODcyNjU3OGQ5NzAyODU3YTUiLCI0MjI0MmE5NjkyODNhNWYzMzliYTdmMDc1ZTM2YmEyYWY5MjVjZTMwZDc2N2VkNmU1NWY0YjAzMTg4MGQ1NjJjIl0sWyJhNTk4YTgwMzBkYTZkODZjNmJjN2YyZjUxNDRlYTU0OWQyODIxMWVhNThmYWE3MGViZjRjMWU2NjVjMWZlOWI1IiwiMjA0YjVkNmY4NDgyMmMzMDdlNGI0YTcxNDA3MzdhZWMyM2ZjNjNiNjViMzVmODZhMTAwMjZkYmQyZDg2NGU2YiJdLFsiYzQxOTE2MzY1YWJiMmI1ZDA5MTkyZjVmMmRiZWFmZWMyMDhmMDIwZjEyNTcwYTE4NGRiYWRjM2U1ODU5NTk5NyIsIjRmMTQzNTFkMDA4N2VmYTQ5ZDI0NWIzMjg5ODQ5ODlkNWNhZjk0NTBmMzRiZmMwZWQxNmU5NmI1OGZhOTkxMyJdLFsiODQxZDYwNjNhNTg2ZmE0NzVhNzI0NjA0ZGEwM2JjNWI5MmEyZTBkMmUwYTM2YWNmZTRjNzNhNTUxNDc0Mjg4MSIsIjczODY3ZjU5YzA2NTllODE5MDRmOWExYzc1NDM2OThlNjI1NjJkNjc0NGMxNjljZTdhMzZkZTAxYThkNjE1NCJdLFsiNWU5NWJiMzk5YTY5NzFkMzc2MDI2OTQ3Zjg5YmRlMmYyODJiMzM4MTA5MjhiZTRkZWQxMTJhYzRkNzBlMjBkNSIsIjM5ZjIzZjM2NjgwOTA4NWJlZWJmYzcxMTgxMzEzNzc1YTk5YzlhZWQ3ZDhiYTM4YjE2MTM4NGM3NDYwMTI4NjUiXSxbIjM2ZTQ2NDFhNTM5NDhmZDQ3NmMzOWY4YTk5ZmQ5NzRlNWVjMDc1NjRiNTMxNWQ4YmY5OTQ3MWJjYTBlZjJmNjYiLCJkMjQyNGIxYjFhYmU0ZWI4MTY0MjI3YjA4NWM5YWE5NDU2ZWExMzQ5M2ZkNTYzZTA2ZmQ1MWNmNTY5NGM3OGZjIl0sWyIzMzY1ODFlYTdiZmJiYjI5MGMxOTFhMmY1MDdhNDFjZjU2NDM4NDIxNzBlOTE0ZmFlYWIyN2MyYzU3OWY3MjYiLCJlYWQxMjE2ODU5NWZlMWJlOTkyNTIxMjliNmU1NmIzMzkxZjdhYjE0MTBjZDFlMGVmM2RjZGNhYmQyZmRhMjI0Il0sWyI4YWI4OTgxNmRhZGZkNmI2YTFmMjYzNGZjZjAwZWM4NDAzNzgxMDI1ZWQ2ODkwYzQ4NDk3NDI3MDZiZDQzZWRlIiwiNmZkY2VmMDlmMmY2ZDBhMDQ0ZTY1NGFlZjYyNDEzNmY1MDNkNDU5YzNlODk4NDU4NThhNDdhOTEyOWNkZDI0ZSJdLFsiMWUzM2YxYTc0NmM5YzU3NzgxMzMzNDRkOTI5OWZjYWEyMGIwOTM4ZThhY2ZmMjU0NGJiNDAyODRiOGM1ZmI5NCIsIjYwNjYwMjU3ZGQxMWIzYWE5YzhlZDYxOGQyNGVkZmYyMzA2ZDMyMGYxZDAzMDEwZTMzYTdkMjA1N2YzYjNiNiJdLFsiODViN2MxZGNiM2NlYzFiN2VlN2YzMGRlZDc5ZGQyMGEwZWQxZjRjYzE4Y2JjZmNmYTQxMDM2MWZkOGYwOGYzMSIsIjNkOThhOWNkZDAyNmRkNDNmMzkwNDhmMjVhODg0N2Y0ZmNhZmFkMTg5NWQ3YTYzM2M2ZmVkM2MzNWU5OTk1MTEiXSxbIjI5ZGY5ZmJkOGQ5ZTQ2NTA5Mjc1ZjRiMTI1ZDZkNDVkN2ZiZTlhM2I4NzhhN2FmODcyYTI4MDA2NjFhYzVmNTEiLCJiNGM0ZmU5OWM3NzVhNjA2ZTJkODg2MjE3OTEzOWZmZGE2MWRjODYxYzAxOWU1NWNkMjg3NmViMmEyN2Q4NGIiXSxbImEwYjFjYWUwNmIwYTg0N2EzZmVhNmU2NzFhYWY4YWRmZGZlNThjYTJmNzY4MTA1YzgwODJiMmU0NDlmY2UyNTIiLCJhZTQzNDEwMmVkZGUwOTU4ZWM0YjE5ZDkxN2E2YTI4ZTZiNzJkYTE4MzRhZmYwZTY1MGYwNDk1MDNhMjk2Y2YyIl0sWyI0ZThjZWFmYjliM2U5YTEzNmRjN2ZmNjdlODQwMjk1YjQ5OWRmYjNiMjEzM2U0YmExMTNmMmU0YzBlMTIxZTUiLCJjZjIxNzQxMThjOGI2ZDdhNGI0OGY2ZDUzNGNlNWM3OTQyMmMwODZhNjM0NjA1MDJiODI3Y2U2MmEzMjY2ODNjIl0sWyJkMjRhNDRlMDQ3ZTE5YjZmNWFmYjgxYzdjYTJmNjkwODBhNTA3NjY4OWEwMTA5MTlmNDI3MjVjMmI3ODlhMzNiIiwiNmZiOGQ1NTkxYjQ2NmY4ZmM2M2RiNTBmMWMwZjFjNjkwMTNmOTk2ODg3YjgyNDRkMmNkZWM0MTdhZmVhOGZhMyJdLFsiZWEwMTYwNmE3YTZjOWNkZDI0OWZkZmNmYWNiOTk1ODQwMDFlZGQyOGFiYmFiNzdiNTEwNGU5OGU4ZTNiMzVkNCIsIjMyMmFmNDkwOGM3MzEyYjBjZmJmZTM2OWY3YTdiM2NkYjdkNDQ5NGJjMjgyMzcwMGNmZDY1MjE4OGEzZWE5OGQiXSxbImFmOGFkZGJmMmI2NjFjOGE2YzYzMjg2NTVlYjk2NjUxMjUyMDA3ZDhjNWVhMzFiZTRhZDE5NmRlOGNlMjEzMWYiLCI2NzQ5ZTY3YzAyOWI4NWY1MmEwMzRlYWZkMDk2ODM2YjI1MjA4MTg2ODBlMjZhYzhmM2RmYmNkYjcxNzQ5NzAwIl0sWyJlM2FlMTk3NDU2NmNhMDZjYzUxNmQ0N2UwZmIxNjVhNjc0YTNkYWJjZmNhMTVlNzIyZjBlMzQ1MGY0NTg4OSIsIjJhZWFiZTdlNDUzMTUxMDExNjIxN2YwN2JmNGQwNzMwMGRlOTdlNDg3NGY4MWY1MzM0MjBhNzJlZWIwYmQ2YTQiXSxbIjU5MWVlMzU1MzEzZDk5NzIxY2Y2OTkzZmZlZDFlM2UzMDE5OTNmZjNlZDI1ODgwMjA3NWVhOGNlZDM5N2UyNDYiLCJiMGVhNTU4YTExM2MzMGJlYTYwZmM0Nzc1NDYwYzc5MDFmZjBiMDUzZDI1Y2EyYmRlZWU5OGYxYTRiZTVkMTk2Il0sWyIxMTM5NmQ1NWZkYTU0YzQ5ZjE5YWE5NzMxOGQ4ZGE2MWZhODU4NGU0N2IwODQ5NDUwNzdjZjAzMjU1YjUyOTg0IiwiOTk4Yzc0YThjZDQ1YWMwMTI4OWQ1ODMzYTdiZWI0NzQ0ZmY1MzZiMDFiMjU3YmU0YzU3NjdiZWE5M2VhNTdhNCJdLFsiM2M1ZDJhMWJhMzljNWExNzkwMDAwNzM4YzllMGM0MGI4ZGNkZmQ1NDY4NzU0YjY0MDU1NDAxNTdlMDE3YWE3YSIsImIyMjg0Mjc5OTk1YTM0ZTJmOWQ0ZGU3Mzk2ZmMxOGI4MGY5YjhiOWZkZDI3MGY2NjYxZjc5Y2E0YzgxYmQyNTciXSxbImNjODcwNGI4YTYwYTBkZWZhM2E5OWE3Mjk5ZjJlOWMzZmJjMzk1YWZiMDRhYzA3ODQyNWVmOGExNzkzY2MwMzAiLCJiZGQ0NjAzOWZlZWQxNzg4MWQxZTA4NjJkYjM0N2Y4Y2YzOTViNzRmYzRiY2RjNGU5NDBiNzRlM2FjMWYxYjEzIl0sWyJjNTMzZTRmN2VhODU1NWFhY2Q5Nzc3YWM1Y2FkMjliOTdkZDRkZWZjY2M1M2VlN2VhMjA0MTE5YjI4ODliMTk3IiwiNmYwYTI1NmJjNWVmZGY0MjlhMmZiNjI0MmYxYTQzYTJkOWI5MjViYjRhNGIzYTI2YmI4ZTBmNDVlYjU5NjA5NiJdLFsiYzE0ZjhmMmNjYjI3ZDZmMTA5ZjZkMDhkMDNjYzk2YTY5YmE4YzM0ZWVjMDdiYmNmNTY2ZDQ4ZTMzZGE2NTkzIiwiYzM1OWQ2OTIzYmIzOThmN2ZkNDQ3M2UxNmZlMWMyODQ3NWI3NDBkZDA5ODA3NWU2YzBlODY0OTExM2RjM2EzOCJdLFsiYTZjYmMzMDQ2YmM2YTQ1MGJhYzI0Nzg5ZmExNzExNWE0Yzk3MzllZDc1ZjhmMjFjZTQ0MWY3MmUwYjkwZTZlZiIsIjIxYWU3ZjQ2ODBlODg5YmIxMzA2MTllMmMwZjk1YTM2MGNlYjU3M2M3MDYwMzEzOTg2MmFmZDYxN2ZhOWI5ZiJdLFsiMzQ3ZDZkOWEwMmM0ODkyN2ViZmI4NmMxMzU5YjFjYWYxMzBhM2MwMjY3ZDExY2U2MzQ0YjM5Zjk5ZDQzY2MzOCIsIjYwZWE3ZjYxYTM1MzUyNGQxYzk4N2Y2ZWNlYzkyZjA4NmQ1NjVhYjY4Nzg3MGNiMTI2ODlmZjFlMzFjNzQ0NDgiXSxbImRhNjU0NWQyMTgxZGI4ZDk4M2Y3ZGNiMzc1ZWY1ODY2ZDQ3YzY3YjFiZjMxYzhjZjg1NWVmNzQzN2I3MjY1NmEiLCI0OWI5NjcxNWFiNjg3OGE3OWU3OGYwN2NlNTY4MGM1ZDY2NzMwNTFiNDkzNWJkODk3ZmVhODI0Yjc3ZGMyMDhhIl0sWyJjNDA3NDdjYzlkMDEyY2IxYTEzYjgxNDgzMDljNmRlN2VjMjVkNjk0NWQ2NTcxNDZiOWQ1OTk0YjhmZWIxMTExIiwiNWNhNTYwNzUzYmUyYTEyZmM2ZGU2Y2FmMmNiNDg5NTY1ZGI5MzYxNTZiOTUxNGUxYmI1ZTgzMDM3ZTBmYTJkNCJdLFsiNGU0MmM4ZWM4MmM5OTc5OGNjZjNhNjEwYmU4NzBlNzgzMzhjN2Y3MTMzNDhiZDM0YzgyMDNlZjQwMzdmMzUwMiIsIjc1NzFkNzRlZTVlMGZiOTJhN2E4YjMzYTA3NzgzMzQxYTU0OTIxNDRjYzU0YmNjNDBhOTQ0NzM2OTM2MDY0MzciXSxbIjM3NzVhYjcwODliYzZhZjgyM2FiYTJlMWFmNzBiMjM2ZDI1MWNhZGIwYzg2NzQzMjg3NTIyYTFiM2IwZGVkZWEiLCJiZTUyZDEwN2JjZmEwOWQ4YmNiOTczNmE4MjhjZmE3ZmFjOGRiMTdiZjdhNzZhMmM0MmFkOTYxNDA5MDE4Y2Y3Il0sWyJjZWUzMWNiZjdlMzRlYzM3OWQ5NGZiODE0ZDNkNzc1YWQ5NTQ1OTVkMTMxNGJhODg0Njk1OWUzZTgyZjc0ZTI2IiwiOGZkNjRhMTRjMDZiNTg5YzI2Yjk0N2FlMmJjZjZiZmEwMTQ5ZWYwYmUxNGVkNGQ4MGY0NDhhMDFjNDNiMWM2ZCJdLFsiYjRmOWVhZWEwOWI2OTE3NjE5ZjZlYTZhNGViNTQ2NGVmZGRiNThmZDQ1YjFlYmVmY2RjMWEwMWQwOGI0Nzk4NiIsIjM5ZTVjOTkyNWI1YTU0YjA3NDMzYTRmMThjNjE3MjZmOGJiMTMxYzAxMmNhNTQyZWIyNGE4YWMwNzIwMDY4MmEiXSxbImQ0MjYzZGZjM2QyZGY5MjNhMDE3OWE0ODk2NmQzMGNlODRlMjUxNWFmYzNkY2NjMWI3NzkwNzc5MmViY2M2MGUiLCI2MmRmYWYwN2EwZjc4ZmViMzBlMzBkNjI5NTg1M2NlMTg5ZTEyNzc2MGFkNmNmN2ZhZTE2NGUxMjJhMjA4ZDU0Il0sWyI0ODQ1NzUyNDgyMGZhNjVhNGY4ZDM1ZWI2OTMwODU3YzAwMzJhY2MwYTRhMmRlNDIyMjMzZWVkYTg5NzYxMmM0IiwiMjVhNzQ4YWIzNjc5NzlkOTg3MzNjMzhhMWZhMWMyZTdkYzZjYzA3ZGIyZDYwYTlhZTdhNzZhYWE0OWJkMGY3NyJdLFsiZGZlZWVmMTg4MTEwMWYyY2IxMTY0NGYzYTJhZmRmYzIwNDVlMTk5MTkxNTI5MjNmMzY3YTE3NjdjMTFjY2VkYSIsImVjZmI3MDU2Y2YxZGUwNDJmOTQyMGJhYjM5Njc5M2MwYzM5MGJkZTc0YjRiYmRmZjE2YTgzYWUwOWE5YTc1MTciXSxbIjZkN2VmNmIxNzU0M2Y4MzczYzU3M2Y0NGUxZjM4OTgzNWQ4OWJjYmM2MDYyY2VkMzZjODJkZjgzYjhmYWU4NTkiLCJjZDQ1MGVjMzM1NDM4OTg2ZGZlZmExMGM1N2ZlYTliY2M1MjFhMDk1OWIyZDgwYmJmNzRiMTkwZGNhNzEyZDEwIl0sWyJlNzU2MDVkNTkxMDJhNWEyNjg0NTAwZDNiOTkxZjJlM2YzYzg4YjkzMjI1NTQ3MDM1YWYyNWFmNjZlMDQ1NDFmIiwiZjVjNTQ3NTRhOGY3MWVlNTQwYjliNDg3Mjg0NzNlMzE0ZjcyOWFjNTMwOGIwNjkzODM2MDk5MGUyYmZhZDEyNSJdLFsiZWI5ODY2MGY0YzRkZmFhMDZhMmJlNDUzZDUwMjBiYzk5YTBjMmU2MGFiZTM4ODQ1N2RkNDNmZWZiMWVkNjIwYyIsIjZjYjlhODg3NmQ5Y2I4NTIwNjA5YWYzYWRkMjZjZDIwYTBhN2NkOGE5NDExMTMxY2U4NWY0NDEwMDA5OTIyM2UiXSxbIjEzZTg3YjAyN2Q4NTE0ZDM1OTM5ZjJlNjg5MmIxOTkyMjE1NDU5Njk0MTg4ODMzNmRjMzU2M2UzYjhkYmE5NDIiLCJmZWY1YTNjNjgwNTlhNmRlYzVkNjI0MTE0YmYxZTkxYWFjMmI5ZGE1NjhkNmFiZWIyNTcwZDU1NjQ2YjhhZGYxIl0sWyJlZTE2MzAyNmU5ZmQ2ZmUwMTdjMzhmMDZhNWJlNmZjMTI1NDI0YjM3MWNlMjcwOGU3YmY0NDkxNjkxZTU3NjRhIiwiMWFjYjI1MGYyNTVkZDYxYzQzZDk0Y2NjNjcwZDBmNThmNDlhZTNmYTE1Yjk2NjIzZTU0MzBkYTBhZDZjNjJiMiJdLFsiYjI2OGY1ZWY5YWQ1MWU0ZDc4ZGUzYTc1MGMyZGM4OWIxZTYyNmQ0MzUwNTg2Nzk5OTkzMmU1ZGIzM2FmM2Q4MCIsIjVmMzEwZDRiM2M5OWI5ZWJiMTlmNzdkNDFjMWRlZTAxOGNmMGQzNGZkNDE5MTYxNDAwM2U5NDVhMTIxNmU0MjMiXSxbImZmMDdmMzExOGE5ZGYwMzVlOWZhZDg1ZWI2YzdiZmU0MmIwMmYwMWNhOTljZWVhM2JmN2ZmZGJhOTNjNDc1MGQiLCI0MzgxMzZkNjAzZTg1OGEzYTVjNDQwYzM4ZWNjYmFkZGMxZDI5NDIxMTRlMmVkZGQ0NzQwZDA5OGNlZDFmMGQ4Il0sWyI4ZDhiOTg1NWM3YzA1MmEzNDE0NmZkMjBmZmI2NThiZWE0YjlmNjllMGQ4MjVlYmVjMTZlOGMzY2UyYjUyNmExIiwiY2RiNTU5ZWVkYzJkNzlmOTI2YmFmNDRmYjg0ZWE0ZDQ0YmNmNTBmZWU1MWQ3Y2ViMzBlMmU3ZjQ2MzAzNjc1OCJdLFsiNTJkYjBiNTM4NGRmYmYwNWJmYTlkNDcyZDdhZTI2ZGZlNGI4NTFjZWNhOTFiMWViYTU0MjYzMTgwZGEzMmI2MyIsImMzYjk5N2QwNTBlZTVkNDIzZWJhZjY2YTZkYjlmNTdiMzE4MGM5MDI4NzU2NzlkZTkyNGI2OWQ4NGE3YjM3NSJdLFsiZTYyZjk0OTBkM2Q1MWRhNjM5NWVmZDI0ZTgwOTE5Y2M3ZDBmMjljM2YzZmE0OGM2ZmZmNTQzYmVjYmQ0MzM1MiIsIjZkODlhZDdiYTQ4NzZiMGIyMmMyY2EyODBjNjgyODYyZjM0MmM4NTkxZjFkYWY1MTcwZTA3YmZkOWNjYWZhN2QiXSxbIjdmMzBlYTI0NzZiMzk5YjQ5NTc1MDljODhmNzdkMDE5MWFmYTJmZjVjYjdiMTRmZDZkOGU3ZDY1YWFhYjExOTMiLCJjYTVlZjdkNGIyMzFjOTRjM2IxNTM4OWE1ZjYzMTFlOWRhZmY3YmI2N2IxMDNlOTg4MGVmNGJmZjYzN2FjYWVjIl0sWyI1MDk4ZmYxZTFkOWYxNGZiNDZhMjEwZmFkYTZjOTAzZmVmMGZiN2I0YTFkZDFkOWFjNjBhMDM2MTgwMGI3YTAwIiwiOTczMTE0MWQ4MWZjOGY4MDg0ZDM3YzZlNzU0MjAwNmIzZWUxYjQwZDYwZGZlNTM2MmE1YjEzMmZkMTdkZGMwIl0sWyIzMmI3OGM3ZGU5ZWU1MTJhNzI4OTViZTZiOWNiZWZhNmUyZjNjNGNjY2U0NDVjOTZiOWYyYzgxZTI3NzhhZDU4IiwiZWUxODQ5ZjUxM2RmNzFlMzJlZmMzODk2ZWUyODI2MGM3M2JiODA1NDdhZTIyNzViYTQ5NzIzNzc5NGM4NzUzYyJdLFsiZTJjYjc0ZmRkYzhlOWZiY2QwNzZlZWYyYTdjNzJiMGNlMzdkNTBmMDgyNjlkZmMwNzRiNTgxNTUwNTQ3YTRmNyIsImQzYWEyZWQ3MWM5ZGQyMjQ3YTYyZGYwNjI3MzZlYjBiYWRkZWE5ZTM2MTIyZDJiZTg2NDFhYmNiMDA1Y2M0YTQiXSxbIjg0Mzg0NDc1NjZkNGQ3YmVkYWRjMjk5NDk2YWIzNTc0MjYwMDlhMzVmMjM1Y2IxNDFiZTBkOTljZDEwYWUzYTgiLCJjNGUxMDIwOTE2OTgwYTRkYTVkMDFhYzVlNmFkMzMwNzM0ZWYwZDc5MDY2MzFjNGYyMzkwNDI2YjJlZGQ3OTFmIl0sWyI0MTYyZDQ4OGI4OTQwMjAzOWI1ODRjNmZjNmMzMDg4NzA1ODdkOWM0NmY2NjBiODc4YWI2NWM4MmM3MTFkNjdlIiwiNjcxNjNlOTAzMjM2Mjg5Zjc3NmYyMmMyNWZiOGEzYWZjMTczMmYyYjg0YjRlOTVkYmRhNDdhZTVhMDg1MjY0OSJdLFsiM2ZhZDNmYTg0Y2FmMGYzNGYwZjg5YmZkMmRjZjU0ZmMxNzVkNzY3YWVjM2U1MDY4NGYzYmE0YTRiZjVmNjgzZCIsImNkMWJjN2NiNmNjNDA3YmIyZjBjYTY0N2M3MThhNzMwY2Y3MTg3MmU3ZDBkMmE1M2ZhMjBlZmNkZmU2MTgyNiJdLFsiNjc0ZjI2MDBhMzAwN2EwMDU2OGMxYTdjZTA1ZDA4MTZjMWZiODRiZjEzNzA3OThmMWM2OTUzMmZhZWIxYTg2YiIsIjI5OWQyMWY5NDEzZjMzYjNlZGY0M2IyNTcwMDQ1ODBiNzBkYjU3ZGEwYjE4MjI1OWUwOWVlY2M2OWUwZDM4YTUiXSxbImQzMmY0ZGE1NGFkZTc0YWJiODFiODE1YWQxZmIzYjI2M2Q4MmQ2YzY5MjcxNGJjZmY4N2QyOWJkNWVlOWYwOGYiLCJmOTQyOWU3MzhiOGU1M2I5NjhlOTkwMTZjMDU5NzA3NzgyZTE0ZjQ1MzUzNTlkNTgyZmM0MTY5MTBiM2VlYTg3Il0sWyIzMGU0ZTY3MDQzNTM4NTU1NmU1OTM2NTcxMzU4NDVkMzZmYmI2OTMxZjcyYjA4Y2IxZWQ5NTRmMWUzY2UzZmY2IiwiNDYyZjliY2U2MTk4OTg2Mzg0OTkzNTAxMTNiYmM5YjEwYTg3OGQzNWRhNzA3NDBkYzY5NWE1NTllYjg4ZGI3YiJdLFsiYmUyMDYyMDAzYzUxY2MzMDA0NjgyOTA0MzMwZTRkZWU3ZjNkY2QxMGIwMWU1ODBiZjE5NzFiMDRkNGNhZDI5NyIsIjYyMTg4YmM0OWQ2MWU1NDI4NTczZDQ4YTc0ZTFjNjU1YjFjNjEwOTA5MDU2ODJhMGQ1NTU4ZWQ3MmRjY2I5YmMiXSxbIjkzMTQ0NDIzYWNlMzQ1MWVkMjllMGZiOWFjMmFmMjExY2I2ZTg0YTYwMWRmNTk5M2M0MTk4NTlmZmY1ZGYwNGEiLCI3YzEwZGZiMTY0YzM0MjVmNWM3MWEzZjlkNzk5MjAzOGYxMDY1MjI0ZjcyYmI5ZDFkOTAyYTZkMTMwMzdiNDdjIl0sWyJiMDE1ZjgwNDRmNWZjYmRjZjIxY2EyNmQ2YzM0ZmI4MTk3ODI5MjA1YzdiN2QyYTdjYjY2NDE4YzE1N2IxMTJjIiwiYWI4YzFlMDg2ZDA0ZTgxMzc0NGE2NTViMmRmOGQ1ZjgzYjNjZGM2ZmFhMzA4OGMxZDNhZWExNDU0ZTNhMWQ1ZiJdLFsiZDVlOWUxZGE2NDlkOTdkODllNDg2ODExN2E0NjVhM2E0ZjhhMThkZTU3YTE0MGQzNmIzZjJhZjM0MWEyMWI1MiIsIjRjYjA0NDM3ZjM5MWVkNzMxMTFhMTNjYzFkNGRkMGRiMTY5MzQ2NWMyMjQwNDgwZDg5NTVlODU5MmYyNzQ0N2EiXSxbImQzYWU0MTA0N2RkN2NhMDY1ZGJmOGVkNzdiOTkyNDM5OTgzMDA1Y2Q3MmUxNmQ2Zjk5NmE1MzE2ZDM2OTY2YmIiLCJiZDFhZWIyMWFkMjJlYmIyMmExMGYwMzAzNDE3YzZkOTY0ZjhjZGQ3ZGYwYWNhNjE0YjEwZGMxNGQxMjVhYzQ2Il0sWyI0NjNlMjc2M2Q4ODVmOTU4ZmM2NmNkZDIyODAwZjBhNDg3MTk3ZDBhODJlMzc3YjQ5ZjgwYWY4N2M4OTdiMDY1IiwiYmZlZmFjZGIwZTVkMGZkN2RmM2EzMTFhOTRkZTA2MmIyNmI4MGM2MWZiYzk3NTA4Yjc5OTkyNjcxZWY3Y2E3ZiJdLFsiNzk4NWZkZmQxMjdjMDU2N2M2ZjUzZWMxYmI2M2VjMzE1OGU1OTdjNDBiZmU3NDdjODNjZGRmYzkxMDY0MTkxNyIsIjYwM2MxMmRhZjNkOTg2MmVmMmIyNWZlMWRlMjg5YWVkMjRlZDI5MWUwZWM2NzA4NzAzYTViZDU2N2YzMmVkMDMiXSxbIjc0YTFhZDZiNWY3NmUzOWRiMmRkMjQ5NDEwZWFjN2Y5OWU3NGM1OWNiODNkMmQwZWQ1ZmYxNTQzZGE3NzAzZTkiLCJjYzYxNTdlZjE4YzljNjNjZDYxOTNkODM2MzFiYmVhMDA5M2UwOTY4OTQyZThjMzNkNTczN2ZkNzkwZTBkYjA4Il0sWyIzMDY4MmE1MDcwMzM3NWY2MDJkNDE2NjY0YmExOWI3ZmM5YmFiNDJjNzI3NDc0NjNhNzFkMDg5NmIyMmY2ZGEzIiwiNTUzZTA0ZjZiMDE4YjRmYTZjOGYzOWU3ZjMxMWQzMTc2MjkwZDBlMGYxOWNhNzNmMTc3MTRkOTk3N2EyMmZmOCJdLFsiOWUyMTU4ZjBkN2MwZDVmMjZjMzc5MWVmZWZhNzk1OTc2NTRlN2EyYjI0NjRmNTJiMWVlNmMxMzQ3NzY5ZWY1NyIsIjcxMmZjZGQxYjkwNTNmMDkwMDNhMzQ4MWZhNzc2MmU5ZmZkN2M4ZWYzNWEzODUwOWUyZmJmMjYyOTAwODM3MyJdLFsiMTc2ZTI2OTg5YTQzYzljZmViYTQwMjljMjAyNTM4YzI4MTcyZTU2NmUzYzRmY2U3MzIyODU3ZjNiZTMyN2Q2NiIsImVkOGNjOWQwNGIyOWViODc3ZDI3MGI0ODc4ZGM0M2MxOWFlZmQzMWY0ZWVlMDllZTdiNDc4MzRjMWZhNGIxYzMiXSxbIjc1ZDQ2ZWZlYTM3NzFlNmU2OGFiYjg5YTEzYWQ3NDdlY2YxODkyMzkzZGZjNGYxYjcwMDQ3ODhjNTAzNzRkYTgiLCI5ODUyMzkwYTk5NTA3Njc5ZmQwYjg2ZmQyYjM5YTg2OGQ3ZWZjMjIxNTEzNDZlMWEzY2E0NzI2NTg2YTZiZWQ4Il0sWyI4MDlhMjBjNjdkNjQ5MDBmZmI2OThjNGM4MjVmNmQ1ZjIzMTBmYjA0NTFjODY5MzQ1YjczMTlmNjQ1NjA1NzIxIiwiOWU5OTQ5ODBkOTkxN2UyMmI3NmIwNjE5MjdmYTA0MTQzZDA5NmNjYzU0OTYzZTZhNWViZmE1ZjNmOGUyODZjMSJdLFsiMWIzODkwM2E0M2Y3ZjExNGVkNDUwMGI0ZWFjNzA4M2ZkZWZlY2UxY2YyOWM2MzUyOGQ1NjM0NDZmOTcyYzE4MCIsIjQwMzZlZGM5MzFhNjBhZTg4OTM1M2Y3N2ZkNTNkZTRhMjcwOGIyNmI2ZjVkYTcyYWQzMzk0MTE5ZGFmNDA4ZjkiXV19fX0sNzUyODooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXQsaT1yKDE3MzQpLG89cig0NTA0KSxhPXIoNjU4MCk7bi5hc3NlcnQ9byxuLnRvQXJyYXk9YS50b0FycmF5LG4uemVybzI9YS56ZXJvMixuLnRvSGV4PWEudG9IZXgsbi5lbmNvZGU9YS5lbmNvZGUsbi5nZXROQUY9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPW5ldyBBcnJheShNYXRoLm1heChlLmJpdExlbmd0aCgpLHIpKzEpO24uZmlsbCgwKTtmb3IodmFyIGk9MTw8dCsxLG89ZS5jbG9uZSgpLGE9MDthPG4ubGVuZ3RoO2ErKyl7dmFyIHMsdT1vLmFuZGxuKGktMSk7by5pc09kZCgpPyhzPXU+KGk+PjEpLTE/KGk+PjEpLXU6dSxvLmlzdWJuKHMpKTpzPTAsblthXT1zLG8uaXVzaHJuKDEpfXJldHVybiBufSxuLmdldEpTRj1mdW5jdGlvbihlLHQpe3ZhciByPVtbXSxbXV07ZT1lLmNsb25lKCksdD10LmNsb25lKCk7Zm9yKHZhciBuLGk9MCxvPTA7ZS5jbXBuKC1pKT4wfHx0LmNtcG4oLW8pPjA7KXt2YXIgYSxzLHU9ZS5hbmRsbigzKStpJjMsYz10LmFuZGxuKDMpK28mMzszPT09dSYmKHU9LTEpLDM9PT1jJiYoYz0tMSksYT0wPT0oMSZ1KT8wOjMhPShuPWUuYW5kbG4oNykraSY3KSYmNSE9PW58fDIhPT1jP3U6LXUsclswXS5wdXNoKGEpLHM9MD09KDEmYyk/MDozIT0obj10LmFuZGxuKDcpK28mNykmJjUhPT1ufHwyIT09dT9jOi1jLHJbMV0ucHVzaChzKSwyKmk9PT1hKzEmJihpPTEtaSksMipvPT09cysxJiYobz0xLW8pLGUuaXVzaHJuKDEpLHQuaXVzaHJuKDEpfXJldHVybiByfSxuLmNhY2hlZFByb3BlcnR5PWZ1bmN0aW9uKGUsdCxyKXt2YXIgbj0iXyIrdDtlLnByb3RvdHlwZVt0XT1mdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzW25dP3RoaXNbbl06dGhpc1tuXT1yLmNhbGwodGhpcyl9fSxuLnBhcnNlQnl0ZXM9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP24udG9BcnJheShlLCJoZXgiKTplfSxuLmludEZyb21MRT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGkoZSwiaGV4IiwibGUiKX19LDY0NjQ6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpKHIoMzM1NSkpLGk9ZnVuY3Rpb24oKXtpZigib2JqZWN0Ij09PSgidW5kZWZpbmVkIj09dHlwZW9mIHNlbGY/InVuZGVmaW5lZCI6KDAsbi5kZWZhdWx0KShzZWxmKSkmJnNlbGYpcmV0dXJuIHNlbGY7aWYoIm9iamVjdCI9PT0oInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/InVuZGVmaW5lZCI6KDAsbi5kZWZhdWx0KSh3aW5kb3cpKSYmd2luZG93KXJldHVybiB3aW5kb3c7dGhyb3cgbmV3IEVycm9yKCJVbmFibGUgdG8gcmVzb2x2ZSBnbG9iYWwgYHRoaXNgIil9O2UuZXhwb3J0cz1mdW5jdGlvbigpe2lmKHRoaXMpcmV0dXJuIHRoaXM7aWYoIm9iamVjdCI9PT0oInVuZGVmaW5lZCI9PXR5cGVvZiBnbG9iYWxUaGlzPyJ1bmRlZmluZWQiOigwLG4uZGVmYXVsdCkoZ2xvYmFsVGhpcykpJiZnbG9iYWxUaGlzKXJldHVybiBnbG9iYWxUaGlzO3RyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwiX19nbG9iYWxfXyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzfSxjb25maWd1cmFibGU6ITB9KX1jYXRjaChlKXtyZXR1cm4gaSgpfXRyeXtyZXR1cm4gX19nbG9iYWxfX3x8aSgpfWZpbmFsbHl7ZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuX19nbG9iYWxfX319KCl9LDQyNTg6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbixpLG8sYT1yKDkxNDIpLHM9cig4ODQ3KShyKDMzNTUpKTtvPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX12YXIgdD1BcnJheS5pc0FycmF5P0FycmF5LmlzQXJyYXk6ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX0sbj0wLGk9dm9pZCAwLG89dm9pZCAwLHU9ZnVuY3Rpb24oZSx0KXtiW25dPWUsYltuKzFdPXQsMj09PShuKz0yKSYmKG8/byh5KTpBKCkpfSxjPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp2b2lkIDAsZj1jfHx7fSxkPWYuTXV0YXRpb25PYnNlcnZlcnx8Zi5XZWJLaXRNdXRhdGlvbk9ic2VydmVyLGw9InVuZGVmaW5lZCI9PXR5cGVvZiBzZWxmJiZ2b2lkIDAhPT1hJiYiW29iamVjdCBwcm9jZXNzXSI9PT17fS50b1N0cmluZy5jYWxsKGEpLGg9InVuZGVmaW5lZCIhPXR5cGVvZiBVaW50OENsYW1wZWRBcnJheSYmInVuZGVmaW5lZCIhPXR5cGVvZiBpbXBvcnRTY3JpcHRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIE1lc3NhZ2VDaGFubmVsO2Z1bmN0aW9uIHAoKXt2YXIgZT1zZXRUaW1lb3V0O3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlKHksMSl9fXZhciBiPW5ldyBBcnJheSgxZTMpO2Z1bmN0aW9uIHkoKXtmb3IodmFyIGU9MDtlPG47ZSs9MikoMCxiW2VdKShiW2UrMV0pLGJbZV09dm9pZCAwLGJbZSsxXT12b2lkIDA7bj0wfXZhciBtLHYsZyx3LEE9dm9pZCAwO2Z1bmN0aW9uIGsoZSx0KXt2YXIgcj10aGlzLG49bmV3IHRoaXMuY29uc3RydWN0b3IoeCk7dm9pZCAwPT09bltTXSYmaihuKTt2YXIgaT1yLl9zdGF0ZTtpZihpKXt2YXIgbz1hcmd1bWVudHNbaS0xXTt1KChmdW5jdGlvbigpe3JldHVybiBVKGksbixvLHIuX3Jlc3VsdCl9KSl9ZWxzZSBJKHIsbixlLHQpO3JldHVybiBufWZ1bmN0aW9uIF8oZSl7aWYoZSYmIm9iamVjdCI9PT0oMCxzLmRlZmF1bHQpKGUpJiZlLmNvbnN0cnVjdG9yPT09dGhpcylyZXR1cm4gZTt2YXIgdD1uZXcgdGhpcyh4KTtyZXR1cm4gTyh0LGUpLHR9bD9BPWZ1bmN0aW9uKCl7cmV0dXJuIGEubmV4dFRpY2soeSl9OmQ/KHY9MCxnPW5ldyBkKHkpLHc9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpLGcub2JzZXJ2ZSh3LHtjaGFyYWN0ZXJEYXRhOiEwfSksQT1mdW5jdGlvbigpe3cuZGF0YT12PSsrdiUyfSk6aD8oKG09bmV3IE1lc3NhZ2VDaGFubmVsKS5wb3J0MS5vbm1lc3NhZ2U9eSxBPWZ1bmN0aW9uKCl7cmV0dXJuIG0ucG9ydDIucG9zdE1lc3NhZ2UoMCl9KTpBPXZvaWQgMD09PWM/ZnVuY3Rpb24oKXt0cnl7dmFyIGU9RnVuY3Rpb24oInJldHVybiB0aGlzIikoKS5yZXF1aXJlKCJ2ZXJ0eCIpO3JldHVybiB2b2lkIDAhPT0oaT1lLnJ1bk9uTG9vcHx8ZS5ydW5PbkNvbnRleHQpP2Z1bmN0aW9uKCl7aSh5KX06cCgpfWNhdGNoKGUpe3JldHVybiBwKCl9fSgpOnAoKTt2YXIgUz1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMik7ZnVuY3Rpb24geCgpe312YXIgRT12b2lkIDA7ZnVuY3Rpb24gUCh0LHIsbil7ci5jb25zdHJ1Y3Rvcj09PXQuY29uc3RydWN0b3ImJm49PT1rJiZyLmNvbnN0cnVjdG9yLnJlc29sdmU9PT1fP2Z1bmN0aW9uKGUsdCl7MT09PXQuX3N0YXRlP1QoZSx0Ll9yZXN1bHQpOjI9PT10Ll9zdGF0ZT9DKGUsdC5fcmVzdWx0KTpJKHQsdm9pZCAwLChmdW5jdGlvbih0KXtyZXR1cm4gTyhlLHQpfSksKGZ1bmN0aW9uKHQpe3JldHVybiBDKGUsdCl9KSl9KHQscik6dm9pZCAwPT09bj9UKHQscik6ZShuKT9mdW5jdGlvbihlLHQscil7dSgoZnVuY3Rpb24oZSl7dmFyIG49ITEsaT1mdW5jdGlvbihyLGksbyxhKXt0cnl7ci5jYWxsKGksKGZ1bmN0aW9uKHIpe258fChuPSEwLHQhPT1yP08oZSxyKTpUKGUscikpfSksKGZ1bmN0aW9uKHQpe258fChuPSEwLEMoZSx0KSl9KSl9Y2F0Y2goZSl7cmV0dXJuIGV9fShyLHQsMCwwLGUuX2xhYmVsKTshbiYmaSYmKG49ITAsQyhlLGkpKX0pLGUpfSh0LHIsbik6VCh0LHIpfWZ1bmN0aW9uIE8oZSx0KXtpZihlPT09dClDKGUsbmV3IFR5cGVFcnJvcigiWW91IGNhbm5vdCByZXNvbHZlIGEgcHJvbWlzZSB3aXRoIGl0c2VsZiIpKTtlbHNlIGlmKG49dCxpPSgwLHMuZGVmYXVsdCkobiksbnVsbD09PW58fCJvYmplY3QiIT09aSYmImZ1bmN0aW9uIiE9PWkpVChlLHQpO2Vsc2V7dmFyIHI9dm9pZCAwO3RyeXtyPXQudGhlbn1jYXRjaCh0KXtyZXR1cm4gdm9pZCBDKGUsdCl9UChlLHQscil9dmFyIG4saX1mdW5jdGlvbiBCKGUpe2UuX29uZXJyb3ImJmUuX29uZXJyb3IoZS5fcmVzdWx0KSxNKGUpfWZ1bmN0aW9uIFQoZSx0KXtlLl9zdGF0ZT09PUUmJihlLl9yZXN1bHQ9dCxlLl9zdGF0ZT0xLDAhPT1lLl9zdWJzY3JpYmVycy5sZW5ndGgmJnUoTSxlKSl9ZnVuY3Rpb24gQyhlLHQpe2UuX3N0YXRlPT09RSYmKGUuX3N0YXRlPTIsZS5fcmVzdWx0PXQsdShCLGUpKX1mdW5jdGlvbiBJKGUsdCxyLG4pe3ZhciBpPWUuX3N1YnNjcmliZXJzLG89aS5sZW5ndGg7ZS5fb25lcnJvcj1udWxsLGlbb109dCxpW28rMV09cixpW28rMl09biwwPT09byYmZS5fc3RhdGUmJnUoTSxlKX1mdW5jdGlvbiBNKGUpe3ZhciB0PWUuX3N1YnNjcmliZXJzLHI9ZS5fc3RhdGU7aWYoMCE9PXQubGVuZ3RoKXtmb3IodmFyIG49dm9pZCAwLGk9dm9pZCAwLG89ZS5fcmVzdWx0LGE9MDthPHQubGVuZ3RoO2ErPTMpbj10W2FdLGk9dFthK3JdLG4/VShyLG4saSxvKTppKG8pO2UuX3N1YnNjcmliZXJzLmxlbmd0aD0wfX1mdW5jdGlvbiBVKHQscixuLGkpe3ZhciBvPWUobiksYT12b2lkIDAscz12b2lkIDAsdT0hMDtpZihvKXt0cnl7YT1uKGkpfWNhdGNoKGUpe3U9ITEscz1lfWlmKHI9PT1hKXJldHVybiB2b2lkIEMocixuZXcgVHlwZUVycm9yKCJBIHByb21pc2VzIGNhbGxiYWNrIGNhbm5vdCByZXR1cm4gdGhhdCBzYW1lIHByb21pc2UuIikpfWVsc2UgYT1pO3IuX3N0YXRlIT09RXx8KG8mJnU/TyhyLGEpOiExPT09dT9DKHIscyk6MT09PXQ/VChyLGEpOjI9PT10JiZDKHIsYSkpfXZhciBSPTA7ZnVuY3Rpb24gaihlKXtlW1NdPVIrKyxlLl9zdGF0ZT12b2lkIDAsZS5fcmVzdWx0PXZvaWQgMCxlLl9zdWJzY3JpYmVycz1bXX12YXIgTj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSxyKXt0aGlzLl9pbnN0YW5jZUNvbnN0cnVjdG9yPWUsdGhpcy5wcm9taXNlPW5ldyBlKHgpLHRoaXMucHJvbWlzZVtTXXx8aih0aGlzLnByb21pc2UpLHQocik/KHRoaXMubGVuZ3RoPXIubGVuZ3RoLHRoaXMuX3JlbWFpbmluZz1yLmxlbmd0aCx0aGlzLl9yZXN1bHQ9bmV3IEFycmF5KHRoaXMubGVuZ3RoKSwwPT09dGhpcy5sZW5ndGg/VCh0aGlzLnByb21pc2UsdGhpcy5fcmVzdWx0KToodGhpcy5sZW5ndGg9dGhpcy5sZW5ndGh8fDAsdGhpcy5fZW51bWVyYXRlKHIpLDA9PT10aGlzLl9yZW1haW5pbmcmJlQodGhpcy5wcm9taXNlLHRoaXMuX3Jlc3VsdCkpKTpDKHRoaXMucHJvbWlzZSxuZXcgRXJyb3IoIkFycmF5IE1ldGhvZHMgbXVzdCBiZSBwcm92aWRlZCBhbiBBcnJheSIpKX1yZXR1cm4gZS5wcm90b3R5cGUuX2VudW1lcmF0ZT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0aGlzLl9zdGF0ZT09PUUmJnQ8ZS5sZW5ndGg7dCsrKXRoaXMuX2VhY2hFbnRyeShlW3RdLHQpfSxlLnByb3RvdHlwZS5fZWFjaEVudHJ5PWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcy5faW5zdGFuY2VDb25zdHJ1Y3RvcixuPXIucmVzb2x2ZTtpZihuPT09Xyl7dmFyIGk9dm9pZCAwLG89dm9pZCAwLGE9ITE7dHJ5e2k9ZS50aGVufWNhdGNoKGUpe2E9ITAsbz1lfWlmKGk9PT1rJiZlLl9zdGF0ZSE9PUUpdGhpcy5fc2V0dGxlZEF0KGUuX3N0YXRlLHQsZS5fcmVzdWx0KTtlbHNlIGlmKCJmdW5jdGlvbiIhPXR5cGVvZiBpKXRoaXMuX3JlbWFpbmluZy0tLHRoaXMuX3Jlc3VsdFt0XT1lO2Vsc2UgaWYocj09PUYpe3ZhciBzPW5ldyByKHgpO2E/QyhzLG8pOlAocyxlLGkpLHRoaXMuX3dpbGxTZXR0bGVBdChzLHQpfWVsc2UgdGhpcy5fd2lsbFNldHRsZUF0KG5ldyByKChmdW5jdGlvbih0KXtyZXR1cm4gdChlKX0pKSx0KX1lbHNlIHRoaXMuX3dpbGxTZXR0bGVBdChuKGUpLHQpfSxlLnByb3RvdHlwZS5fc2V0dGxlZEF0PWZ1bmN0aW9uKGUsdCxyKXt2YXIgbj10aGlzLnByb21pc2U7bi5fc3RhdGU9PT1FJiYodGhpcy5fcmVtYWluaW5nLS0sMj09PWU/QyhuLHIpOnRoaXMuX3Jlc3VsdFt0XT1yKSwwPT09dGhpcy5fcmVtYWluaW5nJiZUKG4sdGhpcy5fcmVzdWx0KX0sZS5wcm90b3R5cGUuX3dpbGxTZXR0bGVBdD1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXM7SShlLHZvaWQgMCwoZnVuY3Rpb24oZSl7cmV0dXJuIHIuX3NldHRsZWRBdCgxLHQsZSl9KSwoZnVuY3Rpb24oZSl7cmV0dXJuIHIuX3NldHRsZWRBdCgyLHQsZSl9KSl9LGV9KCksRj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dGhpc1tTXT1SKyssdGhpcy5fcmVzdWx0PXRoaXMuX3N0YXRlPXZvaWQgMCx0aGlzLl9zdWJzY3JpYmVycz1bXSx4IT09ZSYmKCJmdW5jdGlvbiIhPXR5cGVvZiBlJiZmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIllvdSBtdXN0IHBhc3MgYSByZXNvbHZlciBmdW5jdGlvbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gdGhlIHByb21pc2UgY29uc3RydWN0b3IiKX0oKSx0aGlzIGluc3RhbmNlb2YgdD9mdW5jdGlvbihlLHQpe3RyeXt0KChmdW5jdGlvbih0KXtPKGUsdCl9KSwoZnVuY3Rpb24odCl7QyhlLHQpfSkpfWNhdGNoKHQpe0MoZSx0KX19KHRoaXMsZSk6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJGYWlsZWQgdG8gY29uc3RydWN0ICdQcm9taXNlJzogUGxlYXNlIHVzZSB0aGUgJ25ldycgb3BlcmF0b3IsIHRoaXMgb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iKX0oKSl9cmV0dXJuIHQucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnRoZW4obnVsbCxlKX0sdC5wcm90b3R5cGUuZmluYWxseT1mdW5jdGlvbih0KXt2YXIgcj10aGlzLG49ci5jb25zdHJ1Y3RvcjtyZXR1cm4gZSh0KT9yLnRoZW4oKGZ1bmN0aW9uKGUpe3JldHVybiBuLnJlc29sdmUodCgpKS50aGVuKChmdW5jdGlvbigpe3JldHVybiBlfSkpfSksKGZ1bmN0aW9uKGUpe3JldHVybiBuLnJlc29sdmUodCgpKS50aGVuKChmdW5jdGlvbigpe3Rocm93IGV9KSl9KSk6ci50aGVuKHQsdCl9LHR9KCk7cmV0dXJuIEYucHJvdG90eXBlLnRoZW49ayxGLmFsbD1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IE4odGhpcyxlKS5wcm9taXNlfSxGLnJhY2U9ZnVuY3Rpb24oZSl7dmFyIHI9dGhpcztyZXR1cm4gdChlKT9uZXcgcigoZnVuY3Rpb24odCxuKXtmb3IodmFyIGk9ZS5sZW5ndGgsbz0wO288aTtvKyspci5yZXNvbHZlKGVbb10pLnRoZW4odCxuKX0pKTpuZXcgcigoZnVuY3Rpb24oZSx0KXtyZXR1cm4gdChuZXcgVHlwZUVycm9yKCJZb3UgbXVzdCBwYXNzIGFuIGFycmF5IHRvIHJhY2UuIikpfSkpfSxGLnJlc29sdmU9XyxGLnJlamVjdD1mdW5jdGlvbihlKXt2YXIgdD1uZXcgdGhpcyh4KTtyZXR1cm4gQyh0LGUpLHR9LEYuX3NldFNjaGVkdWxlcj1mdW5jdGlvbihlKXtvPWV9LEYuX3NldEFzYXA9ZnVuY3Rpb24oZSl7dT1lfSxGLl9hc2FwPXUsRi5wb2x5ZmlsbD1mdW5jdGlvbigpe3ZhciBlPXZvaWQgMDtpZih2b2lkIDAhPT1yLmcpZT1yLmc7ZWxzZSBpZigidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYpZT1zZWxmO2Vsc2UgdHJ5e2U9RnVuY3Rpb24oInJldHVybiB0aGlzIikoKX1jYXRjaChlKXt0aHJvdyBuZXcgRXJyb3IoInBvbHlmaWxsIGZhaWxlZCBiZWNhdXNlIGdsb2JhbCBvYmplY3QgaXMgdW5hdmFpbGFibGUgaW4gdGhpcyBlbnZpcm9ubWVudCIpfXZhciB0PWUuUHJvbWlzZTtpZih0KXt2YXIgbj1udWxsO3RyeXtuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0LnJlc29sdmUoKSl9Y2F0Y2goZSl7fWlmKCJbb2JqZWN0IFByb21pc2VdIj09PW4mJiF0LmNhc3QpcmV0dXJufWUuUHJvbWlzZT1GfSxGLlByb21pc2U9RixGfSwib2JqZWN0Ij09PSgwLHMuZGVmYXVsdCkodCk/ZS5leHBvcnRzPW8oKTp2b2lkIDA9PT0oaT0iZnVuY3Rpb24iPT10eXBlb2Yobj1vKT9uLmNhbGwodCxyLHQsZSk6bil8fChlLmV4cG9ydHM9aSl9LDEwMDY6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDkwMzMpLkJ1ZmZlcixpPXIoNDg1OCkua2VjY2FrXzI1NixvPXIoMzk1Nik7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT9vLnRvVW5pY29kZShlLHt1c2VTdGQzQVNDSUk6ITAsdHJhbnNpdGlvbmFsOiExfSk6ZX10Lmhhc2g9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSIiLHI9MDtyPDMyO3IrKyl0Kz0iMDAiO2lmKG5hbWU9YShlKSxuYW1lKXt2YXIgbz1uYW1lLnNwbGl0KCIuIik7Zm9yKHI9by5sZW5ndGgtMTtyPj0wO3ItLSl7dmFyIHM9aShvW3JdKTt0PWkobmV3IG4odCtzLCJoZXgiKSl9fXJldHVybiIweCIrdH0sdC5ub3JtYWxpemU9YX0sMzA1ODooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTAzMykuQnVmZmVyLGk9cig4ODQ3KShyKDQ1MTkpKSxvPXIoNjg1MSksYT1yKDk3MzMpLHM9cig2NTk3KSx1PShyKDY3NDApLG5ldyBzLmVjKCJzZWNwMjU2azEiKSksYz1yKDI5MjIpLGY9Yy5rZWNjYWsyNTYsZD1jLmtlY2NhazI1NnMsbD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9ZChlLnNsaWNlKDIpKSxyPSIweCIsbj0wO248NDA7bisrKXIrPXBhcnNlSW50KHRbbisyXSwxNik+Nz9lW24rMl0udG9VcHBlckNhc2UoKTplW24rMl07cmV0dXJuIHJ9LGg9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IG4oZS5zbGljZSgyKSwiaGV4Iikscj0iMHgiK3Uua2V5RnJvbVByaXZhdGUodCkuZ2V0UHVibGljKCExLCJoZXgiKS5zbGljZSgyKSxpPWYocik7cmV0dXJue2FkZHJlc3M6bCgiMHgiK2kuc2xpY2UoLTQwKSkscHJpdmF0ZUtleTplfX0scD1mdW5jdGlvbihlKXt2YXIgdD0oMCxpLmRlZmF1bHQpKGUsMykscj10WzBdLG49dFsxXSxhPXRbMl07cmV0dXJuIG8uZmxhdHRlbihbbixhLHJdKX0sYj1mdW5jdGlvbihlKXtyZXR1cm5bby5zbGljZSg2NCxvLmxlbmd0aChlKSxlKSxvLnNsaWNlKDAsMzIsZSksby5zbGljZSgzMiw2NCxlKV19LHk9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQscil7dmFyIGk9dS5rZXlGcm9tUHJpdmF0ZShuZXcgbihyLnNsaWNlKDIpLCJoZXgiKSkuc2lnbihuZXcgbih0LnNsaWNlKDIpLCJoZXgiKSx7Y2Fub25pY2FsOiEwfSk7cmV0dXJuIHAoW2EuZnJvbVN0cmluZyhvLmZyb21OdW1iZXIoZStpLnJlY292ZXJ5UGFyYW0pKSxvLnBhZCgzMixvLmZyb21OYXQoIjB4IitpLnIudG9TdHJpbmcoMTYpKSksby5wYWQoMzIsby5mcm9tTmF0KCIweCIraS5zLnRvU3RyaW5nKDE2KSkpXSl9fSxtPXkoMjcpO2UuZXhwb3J0cz17Y3JlYXRlOmZ1bmN0aW9uKGUpe3ZhciB0PWYoby5jb25jYXQoby5yYW5kb20oMzIpLGV8fG8ucmFuZG9tKDMyKSkpLHI9by5jb25jYXQoby5jb25jYXQoby5yYW5kb20oMzIpLHQpLG8ucmFuZG9tKDMyKSksbj1mKHIpO3JldHVybiBoKG4pfSx0b0NoZWNrc3VtOmwsZnJvbVByaXZhdGU6aCxzaWduOm0sbWFrZVNpZ25lcjp5LHJlY292ZXI6ZnVuY3Rpb24oZSx0KXt2YXIgcj1iKHQpLGk9e3Y6by50b051bWJlcihyWzBdKSxyOnJbMV0uc2xpY2UoMiksczpyWzJdLnNsaWNlKDIpfSxhPSIweCIrdS5yZWNvdmVyUHViS2V5KG5ldyBuKGUuc2xpY2UoMiksImhleCIpLGksaS52PDI/aS52OjEtaS52JTIpLmVuY29kZSgiaGV4IiwhMSkuc2xpY2UoMikscz1mKGEpO3JldHVybiBsKCIweCIrcy5zbGljZSgtNDApKX0sZW5jb2RlU2lnbmF0dXJlOnAsZGVjb2RlU2lnbmF0dXJlOmJ9fSwxMzc2OmU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9W10sbj0wO248ZTsrK24pci5wdXNoKHQobikpO3JldHVybiByfTtlLmV4cG9ydHM9e2dlbmVyYXRlOnQscmVwbGljYXRlOmZ1bmN0aW9uKGUscil7cmV0dXJuIHQoZSwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKX0sY29uY2F0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuY29uY2F0KHQpfSxmbGF0dGVuOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxyPTAsbj1lLmxlbmd0aDtyPG47KytyKWZvcih2YXIgaT0wLG89ZVtyXS5sZW5ndGg7aTxvOysraSl0LnB1c2goZVtyXVtpXSk7cmV0dXJuIHR9LGNodW5rc09mOmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPVtdLG49MCxpPXQubGVuZ3RoO248aTtuKz1lKXIucHVzaCh0LnNsaWNlKG4sbitlKSk7cmV0dXJuIHJ9fX0sNjg1MTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3IoMTM3Nik7dmFyIG49ZnVuY3Rpb24oZSx0KXtyZXR1cm4gcGFyc2VJbnQoZS5zbGljZSgyKnQrMiwyKnQrNCksMTYpfSxpPWZ1bmN0aW9uKGUpe3JldHVybihlLmxlbmd0aC0yKS8yfSxvPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxyPTIsbj1lLmxlbmd0aDtyPG47cis9Mil0LnB1c2gocGFyc2VJbnQoZS5zbGljZShyLHIrMiksMTYpKTtyZXR1cm4gdH0sYT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9IjB4IixyPTAsbj1lLmxlbmd0aDtyPG47KytyKXt2YXIgaT1lW3JdO3QrPShpPDE2PyIwIjoiIikraS50b1N0cmluZygxNil9cmV0dXJuIHR9O2UuZXhwb3J0cz17cmFuZG9tOmZ1bmN0aW9uKGUpe3ZhciB0O3Q9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5jcnlwdG8mJndpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzP3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KGUpKTpyKDQyOTMpLnJhbmRvbUJ5dGVzKGUpO2Zvcih2YXIgbj0iMHgiLGk9MDtpPGU7KytpKW4rPSgiMDAiK3RbaV0udG9TdHJpbmcoMTYpKS5zbGljZSgtMik7cmV0dXJuIG59LGxlbmd0aDppLGNvbmNhdDpmdW5jdGlvbihlLHQpe3JldHVybiBlLmNvbmNhdCh0LnNsaWNlKDIpKX0sZmxhdHRlbjpmdW5jdGlvbihlKXtyZXR1cm4iMHgiK2UucmVkdWNlKChmdW5jdGlvbihlLHQpe3JldHVybiBlK3Quc2xpY2UoMil9KSwiIil9LHNsaWNlOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4iMHgiK3Iuc2xpY2UoMiplKzIsMip0KzIpfSxyZXZlcnNlOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0iMHgiLHI9MCxuPWkoZSk7cjxuOysrcil0Kz1lLnNsaWNlKDIqKG4tciksMioobi1yKzEpKTtyZXR1cm4gdH0scGFkOmZ1bmN0aW9uIGUodCxyKXtyZXR1cm4gci5sZW5ndGg9PT0yKnQrMj9yOmUodCwiMHgwIityLnNsaWNlKDIpKX0scGFkUmlnaHQ6ZnVuY3Rpb24gZSh0LHIpe3JldHVybiByLmxlbmd0aD09PTIqdCsyP3I6ZSh0LHIrIjAiKX0sZnJvbUFzY2lpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0iMHgiLHI9MDtyPGUubGVuZ3RoOysrcil0Kz0oIjAwIitlLmNoYXJDb2RlQXQocikudG9TdHJpbmcoMTYpKS5zbGljZSgtMik7cmV0dXJuIHR9LHRvQXNjaWk6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSIiLHI9MjtyPGUubGVuZ3RoO3IrPTIpdCs9U3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChlLnNsaWNlKHIscisyKSwxNikpO3JldHVybiB0fSxmcm9tU3RyaW5nOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1mdW5jdGlvbihlKXt2YXIgdD1lLnRvU3RyaW5nKDE2KTtyZXR1cm4gdC5sZW5ndGg8Mj8iMCIrdDp0fSxyPSIweCIsbj0wO24hPWUubGVuZ3RoO24rKyl7dmFyIGk9ZS5jaGFyQ29kZUF0KG4pO2lmKGk8MTI4KXIrPXQoaSk7ZWxzZXtpZihpPDIwNDgpcis9dChpPj42fDE5Mik7ZWxzZXtpZihpPjU1Mjk1JiZpPDU2MzIwKXtpZigrK249PWUubGVuZ3RoKXJldHVybiBudWxsO3ZhciBvPWUuY2hhckNvZGVBdChuKTtpZihvPDU2MzIwfHxvPjU3MzQzKXJldHVybiBudWxsO3IrPXQoKGk9NjU1MzYrKCgxMDIzJmkpPDwxMCkrKDEwMjMmbykpPj4xOHwyNDApLHIrPXQoaT4+MTImNjN8MTI4KX1lbHNlIHIrPXQoaT4+MTJ8MjI0KTtyKz10KGk+PjYmNjN8MTI4KX1yKz10KDYzJml8MTI4KX19cmV0dXJuIHJ9LHRvU3RyaW5nOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0iIixyPTAsbz1pKGUpO3I8bzspe3ZhciBhPW4oZSxyKyspO2lmKGE+MTI3KXtpZihhPjE5MSYmYTwyMjQpe2lmKHI+PW8pcmV0dXJuIG51bGw7YT0oMzEmYSk8PDZ8NjMmbihlLHIpfWVsc2UgaWYoYT4yMjMmJmE8MjQwKXtpZihyKzE+PW8pcmV0dXJuIG51bGw7YT0oMTUmYSk8PDEyfCg2MyZuKGUscikpPDw2fDYzJm4oZSwrK3IpfWVsc2V7aWYoIShhPjIzOSYmYTwyNDgpKXJldHVybiBudWxsO2lmKHIrMj49bylyZXR1cm4gbnVsbDthPSg3JmEpPDwxOHwoNjMmbihlLHIpKTw8MTJ8KDYzJm4oZSwrK3IpKTw8Nnw2MyZuKGUsKytyKX0rK3J9aWYoYTw9NjU1MzUpdCs9U3RyaW5nLmZyb21DaGFyQ29kZShhKTtlbHNle2lmKCEoYTw9MTExNDExMSkpcmV0dXJuIG51bGw7YS09NjU1MzYsdCs9U3RyaW5nLmZyb21DaGFyQ29kZShhPj4xMHw1NTI5NiksdCs9U3RyaW5nLmZyb21DaGFyQ29kZSgxMDIzJmF8NTYzMjApfX1yZXR1cm4gdH0sZnJvbU51bWJlcjpmdW5jdGlvbihlKXt2YXIgdD1lLnRvU3RyaW5nKDE2KTtyZXR1cm4gdC5sZW5ndGglMj09MD8iMHgiK3Q6IjB4MCIrdH0sdG9OdW1iZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHBhcnNlSW50KGUuc2xpY2UoMiksMTYpfSxmcm9tTmF0OmZ1bmN0aW9uKGUpe3JldHVybiIweDAiPT09ZT8iMHgiOmUubGVuZ3RoJTI9PTA/ZToiMHgwIitlLnNsaWNlKDIpfSx0b05hdDpmdW5jdGlvbihlKXtyZXR1cm4iMCI9PT1lWzJdPyIweCIrZS5zbGljZSgzKTplfSxmcm9tQXJyYXk6YSx0b0FycmF5Om8sZnJvbVVpbnQ4QXJyYXk6ZnVuY3Rpb24oZSl7cmV0dXJuIGEoW10uc2xpY2UuY2FsbChlLDApKX0sdG9VaW50OEFycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgVWludDhBcnJheShvKGUpKX19fSwyOTIyOmU9PnsidXNlIHN0cmljdCI7dmFyIHQ9IjAxMjM0NTY3ODlhYmNkZWYiLnNwbGl0KCIiKSxyPVsxLDI1Niw2NTUzNiwxNjc3NzIxNl0sbj1bMCw4LDE2LDI0XSxpPVsxLDAsMzI4OTgsMCwzMjkwNiwyMTQ3NDgzNjQ4LDIxNDc1MTY0MTYsMjE0NzQ4MzY0OCwzMjkwNywwLDIxNDc0ODM2NDksMCwyMTQ3NTE2NTQ1LDIxNDc0ODM2NDgsMzI3NzcsMjE0NzQ4MzY0OCwxMzgsMCwxMzYsMCwyMTQ3NTE2NDI1LDAsMjE0NzQ4MzY1OCwwLDIxNDc1MTY1NTUsMCwxMzksMjE0NzQ4MzY0OCwzMjkwNSwyMTQ3NDgzNjQ4LDMyNzcxLDIxNDc0ODM2NDgsMzI3NzAsMjE0NzQ4MzY0OCwxMjgsMjE0NzQ4MzY0OCwzMjc3OCwwLDIxNDc0ODM2NTgsMjE0NzQ4MzY0OCwyMTQ3NTE2NTQ1LDIxNDc0ODM2NDgsMzI4OTYsMjE0NzQ4MzY0OCwyMTQ3NDgzNjQ5LDAsMjE0NzUxNjQyNCwyMTQ3NDgzNjQ4XSxvPWZ1bmN0aW9uKGUpe3ZhciB0LHIsbixvLGEscyx1LGMsZixkLGwsaCxwLGIseSxtLHYsZyx3LEEsayxfLFMseCxFLFAsTyxCLFQsQyxJLE0sVSxSLGosTixGLEwsRCxILHEseixHLEssVixKLFcsWSxYLFEsWiwkLGVlLHRlLHJlLG5lLGllLG9lLGFlLHNlLHVlLGNlLGZlO2ZvcihuPTA7bjw0ODtuKz0yKW89ZVswXV5lWzEwXV5lWzIwXV5lWzMwXV5lWzQwXSxhPWVbMV1eZVsxMV1eZVsyMV1eZVszMV1eZVs0MV0scz1lWzJdXmVbMTJdXmVbMjJdXmVbMzJdXmVbNDJdLHU9ZVszXV5lWzEzXV5lWzIzXV5lWzMzXV5lWzQzXSxjPWVbNF1eZVsxNF1eZVsyNF1eZVszNF1eZVs0NF0sZj1lWzVdXmVbMTVdXmVbMjVdXmVbMzVdXmVbNDVdLGQ9ZVs2XV5lWzE2XV5lWzI2XV5lWzM2XV5lWzQ2XSxsPWVbN11eZVsxN11eZVsyN11eZVszN11eZVs0N10sdD0oaD1lWzhdXmVbMThdXmVbMjhdXmVbMzhdXmVbNDhdKV4oczw8MXx1Pj4+MzEpLHI9KHA9ZVs5XV5lWzE5XV5lWzI5XV5lWzM5XV5lWzQ5XSleKHU8PDF8cz4+PjMxKSxlWzBdXj10LGVbMV1ePXIsZVsxMF1ePXQsZVsxMV1ePXIsZVsyMF1ePXQsZVsyMV1ePXIsZVszMF1ePXQsZVszMV1ePXIsZVs0MF1ePXQsZVs0MV1ePXIsdD1vXihjPDwxfGY+Pj4zMSkscj1hXihmPDwxfGM+Pj4zMSksZVsyXV49dCxlWzNdXj1yLGVbMTJdXj10LGVbMTNdXj1yLGVbMjJdXj10LGVbMjNdXj1yLGVbMzJdXj10LGVbMzNdXj1yLGVbNDJdXj10LGVbNDNdXj1yLHQ9c14oZDw8MXxsPj4+MzEpLHI9dV4obDw8MXxkPj4+MzEpLGVbNF1ePXQsZVs1XV49cixlWzE0XV49dCxlWzE1XV49cixlWzI0XV49dCxlWzI1XV49cixlWzM0XV49dCxlWzM1XV49cixlWzQ0XV49dCxlWzQ1XV49cix0PWNeKGg8PDF8cD4+PjMxKSxyPWZeKHA8PDF8aD4+PjMxKSxlWzZdXj10LGVbN11ePXIsZVsxNl1ePXQsZVsxN11ePXIsZVsyNl1ePXQsZVsyN11ePXIsZVszNl1ePXQsZVszN11ePXIsZVs0Nl1ePXQsZVs0N11ePXIsdD1kXihvPDwxfGE+Pj4zMSkscj1sXihhPDwxfG8+Pj4zMSksZVs4XV49dCxlWzldXj1yLGVbMThdXj10LGVbMTldXj1yLGVbMjhdXj10LGVbMjldXj1yLGVbMzhdXj10LGVbMzldXj1yLGVbNDhdXj10LGVbNDldXj1yLGI9ZVswXSx5PWVbMV0sSj1lWzExXTw8NHxlWzEwXT4+PjI4LFc9ZVsxMF08PDR8ZVsxMV0+Pj4yOCxCPWVbMjBdPDwzfGVbMjFdPj4+MjksVD1lWzIxXTw8M3xlWzIwXT4+PjI5LHNlPWVbMzFdPDw5fGVbMzBdPj4+MjMsdWU9ZVszMF08PDl8ZVszMV0+Pj4yMyx6PWVbNDBdPDwxOHxlWzQxXT4+PjE0LEc9ZVs0MV08PDE4fGVbNDBdPj4+MTQsUj1lWzJdPDwxfGVbM10+Pj4zMSxqPWVbM108PDF8ZVsyXT4+PjMxLG09ZVsxM108PDEyfGVbMTJdPj4+MjAsdj1lWzEyXTw8MTJ8ZVsxM10+Pj4yMCxZPWVbMjJdPDwxMHxlWzIzXT4+PjIyLFg9ZVsyM108PDEwfGVbMjJdPj4+MjIsQz1lWzMzXTw8MTN8ZVszMl0+Pj4xOSxJPWVbMzJdPDwxM3xlWzMzXT4+PjE5LGNlPWVbNDJdPDwyfGVbNDNdPj4+MzAsZmU9ZVs0M108PDJ8ZVs0Ml0+Pj4zMCx0ZT1lWzVdPDwzMHxlWzRdPj4+MixyZT1lWzRdPDwzMHxlWzVdPj4+MixOPWVbMTRdPDw2fGVbMTVdPj4+MjYsRj1lWzE1XTw8NnxlWzE0XT4+PjI2LGc9ZVsyNV08PDExfGVbMjRdPj4+MjEsdz1lWzI0XTw8MTF8ZVsyNV0+Pj4yMSxRPWVbMzRdPDwxNXxlWzM1XT4+PjE3LFo9ZVszNV08PDE1fGVbMzRdPj4+MTcsTT1lWzQ1XTw8Mjl8ZVs0NF0+Pj4zLFU9ZVs0NF08PDI5fGVbNDVdPj4+Myx4PWVbNl08PDI4fGVbN10+Pj40LEU9ZVs3XTw8Mjh8ZVs2XT4+PjQsbmU9ZVsxN108PDIzfGVbMTZdPj4+OSxpZT1lWzE2XTw8MjN8ZVsxN10+Pj45LEw9ZVsyNl08PDI1fGVbMjddPj4+NyxEPWVbMjddPDwyNXxlWzI2XT4+PjcsQT1lWzM2XTw8MjF8ZVszN10+Pj4xMSxrPWVbMzddPDwyMXxlWzM2XT4+PjExLCQ9ZVs0N108PDI0fGVbNDZdPj4+OCxlZT1lWzQ2XTw8MjR8ZVs0N10+Pj44LEs9ZVs4XTw8Mjd8ZVs5XT4+PjUsVj1lWzldPDwyN3xlWzhdPj4+NSxQPWVbMThdPDwyMHxlWzE5XT4+PjEyLE89ZVsxOV08PDIwfGVbMThdPj4+MTIsb2U9ZVsyOV08PDd8ZVsyOF0+Pj4yNSxhZT1lWzI4XTw8N3xlWzI5XT4+PjI1LEg9ZVszOF08PDh8ZVszOV0+Pj4yNCxxPWVbMzldPDw4fGVbMzhdPj4+MjQsXz1lWzQ4XTw8MTR8ZVs0OV0+Pj4xOCxTPWVbNDldPDwxNHxlWzQ4XT4+PjE4LGVbMF09Yl5+bSZnLGVbMV09eV5+diZ3LGVbMTBdPXheflAmQixlWzExXT1FXn5PJlQsZVsyMF09Ul5+TiZMLGVbMjFdPWpefkYmRCxlWzMwXT1LXn5KJlksZVszMV09Vl5+VyZYLGVbNDBdPXRlXn5uZSZvZSxlWzQxXT1yZV5+aWUmYWUsZVsyXT1tXn5nJkEsZVszXT12Xn53JmssZVsxMl09UF5+QiZDLGVbMTNdPU9eflQmSSxlWzIyXT1OXn5MJkgsZVsyM109Rl5+RCZxLGVbMzJdPUpeflkmUSxlWzMzXT1XXn5YJlosZVs0Ml09bmVefm9lJnNlLGVbNDNdPWllXn5hZSZ1ZSxlWzRdPWdefkEmXyxlWzVdPXdefmsmUyxlWzE0XT1CXn5DJk0sZVsxNV09VF5+SSZVLGVbMjRdPUxefkgmeixlWzI1XT1EXn5xJkcsZVszNF09WV5+USYkLGVbMzVdPVheflomZWUsZVs0NF09b2VefnNlJmNlLGVbNDVdPWFlXn51ZSZmZSxlWzZdPUFefl8mYixlWzddPWteflMmeSxlWzE2XT1DXn5NJngsZVsxN109SV5+VSZFLGVbMjZdPUhefnomUixlWzI3XT1xXn5HJmosZVszNl09UV5+JCZLLGVbMzddPVpefmVlJlYsZVs0Nl09c2VefmNlJnRlLGVbNDddPXVlXn5mZSZyZSxlWzhdPV9efmImbSxlWzldPVNefnkmdixlWzE4XT1NXn54JlAsZVsxOV09VV5+RSZPLGVbMjhdPXpeflImTixlWzI5XT1HXn5qJkYsZVszOF09JF5+SyZKLGVbMzldPWVlXn5WJlcsZVs0OF09Y2VefnRlJm5lLGVbNDldPWZlXn5yZSZpZSxlWzBdXj1pW25dLGVbMV1ePWlbbisxXX0sYT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oaSl7dmFyIGE7aWYoIjB4Ij09PWkuc2xpY2UoMCwyKSl7YT1bXTtmb3IodmFyIHM9Mix1PWkubGVuZ3RoO3M8dTtzKz0yKWEucHVzaChwYXJzZUludChpLnNsaWNlKHMscysyKSwxNikpfWVsc2UgYT1pO3JldHVybiBmdW5jdGlvbihlLGkpe2Zvcih2YXIgYSxzPWkubGVuZ3RoLHU9ZS5ibG9ja3MsYz1lLmJsb2NrQ291bnQ8PDIsZj1lLmJsb2NrQ291bnQsZD1lLm91dHB1dEJsb2NrcyxsPWUucyxoPTA7aDxzOyl7aWYoZS5yZXNldClmb3IoZS5yZXNldD0hMSx1WzBdPWUuYmxvY2sseT0xO3k8ZisxOysreSl1W3ldPTA7aWYoInN0cmluZyIhPXR5cGVvZiBpKWZvcih5PWUuc3RhcnQ7aDxzJiZ5PGM7KytoKXVbeT4+Ml18PWlbaF08PG5bMyZ5KytdO2Vsc2UgZm9yKHk9ZS5zdGFydDtoPHMmJnk8YzsrK2gpKGE9aS5jaGFyQ29kZUF0KGgpKTwxMjg/dVt5Pj4yXXw9YTw8blszJnkrK106YTwyMDQ4Pyh1W3k+PjJdfD0oMTkyfGE+PjYpPDxuWzMmeSsrXSx1W3k+PjJdfD0oMTI4fDYzJmEpPDxuWzMmeSsrXSk6YTw1NTI5Nnx8YT49NTczNDQ/KHVbeT4+Ml18PSgyMjR8YT4+MTIpPDxuWzMmeSsrXSx1W3k+PjJdfD0oMTI4fGE+PjYmNjMpPDxuWzMmeSsrXSx1W3k+PjJdfD0oMTI4fDYzJmEpPDxuWzMmeSsrXSk6KGE9NjU1MzYrKCgxMDIzJmEpPDwxMHwxMDIzJmkuY2hhckNvZGVBdCgrK2gpKSx1W3k+PjJdfD0oMjQwfGE+PjE4KTw8blszJnkrK10sdVt5Pj4yXXw9KDEyOHxhPj4xMiY2Myk8PG5bMyZ5KytdLHVbeT4+Ml18PSgxMjh8YT4+NiY2Myk8PG5bMyZ5KytdLHVbeT4+Ml18PSgxMjh8NjMmYSk8PG5bMyZ5KytdKTtpZihlLmxhc3RCeXRlSW5kZXg9eSx5Pj1jKXtmb3IoZS5zdGFydD15LWMsZS5ibG9jaz11W2ZdLHk9MDt5PGY7Kyt5KWxbeV1ePXVbeV07byhsKSxlLnJlc2V0PSEwfWVsc2UgZS5zdGFydD15fWlmKHVbKHk9ZS5sYXN0Qnl0ZUluZGV4KT4+Ml18PXJbMyZ5XSxlLmxhc3RCeXRlSW5kZXg9PT1jKWZvcih1WzBdPXVbZl0seT0xO3k8ZisxOysreSl1W3ldPTA7Zm9yKHVbZi0xXXw9MjE0NzQ4MzY0OCx5PTA7eTxmOysreSlsW3ldXj11W3ldO28obCk7Zm9yKHZhciBwLGI9IiIseT0wLG09MDttPGQ7KXtmb3IoeT0wO3k8ZiYmbTxkOysreSwrK20pcD1sW3ldLGIrPXRbcD4+NCYxNV0rdFsxNSZwXSt0W3A+PjEyJjE1XSt0W3A+PjgmMTVdK3RbcD4+MjAmMTVdK3RbcD4+MTYmMTVdK3RbcD4+MjgmMTVdK3RbcD4+MjQmMTVdO20lZj09MCYmKG8obCkseT0wKX1yZXR1cm4iMHgiK2J9KGZ1bmN0aW9uKGUpe3JldHVybntibG9ja3M6W10scmVzZXQ6ITAsYmxvY2s6MCxzdGFydDowLGJsb2NrQ291bnQ6MTYwMC0oZTw8MSk+PjUsb3V0cHV0QmxvY2tzOmU+PjUsczoodD1bMCwwLDAsMCwwLDAsMCwwLDAsMF0sW10uY29uY2F0KHQsdCx0LHQsdCkpfTt2YXIgdH0oZSksYSl9fTtlLmV4cG9ydHM9e2tlY2NhazI1NjphKDI1Niksa2VjY2FrNTEyOmEoNTEyKSxrZWNjYWsyNTZzOmEoMjU2KSxrZWNjYWs1MTJzOmEoNTEyKX19LDk3MzM6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE3MzQpLGk9cig2ODUxKSxvPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbihlLnNsaWNlKDIpLDE2KX0sYT1mdW5jdGlvbihlKXt2YXIgdD0iMHgiKygiMHgiPT09ZS5zbGljZSgwLDIpP25ldyBuKGUuc2xpY2UoMiksMTYpOm5ldyBuKGUsMTApKS50b1N0cmluZygiaGV4Iik7cmV0dXJuIjB4MCI9PT10PyIweCI6dH0scz1mdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/L14weC8udGVzdChlKT9lOiIweCIrZToiMHgiK25ldyBuKGUpLnRvU3RyaW5nKCJoZXgiKX0sdT1mdW5jdGlvbihlKXtyZXR1cm4gbyhlKS50b051bWJlcigpfSxjPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0LHIpe3JldHVybiIweCIrbyh0KVtlXShvKHIpKS50b1N0cmluZygiaGV4Iil9fSxmPWMoImFkZCIpLGQ9YygibXVsIiksbD1jKCJkaXYiKSxoPWMoInN1YiIpO2UuZXhwb3J0cz17dG9TdHJpbmc6ZnVuY3Rpb24oZSl7cmV0dXJuIG8oZSkudG9TdHJpbmcoMTApfSxmcm9tU3RyaW5nOmEsdG9OdW1iZXI6dSxmcm9tTnVtYmVyOnMsdG9FdGhlcjpmdW5jdGlvbihlKXtyZXR1cm4gdShsKGUsYSgiMTAwMDAwMDAwMDAiKSkpLzFlOH0sZnJvbUV0aGVyOmZ1bmN0aW9uKGUpe3JldHVybiBkKHMoTWF0aC5mbG9vcigxZTgqZSkpLGEoIjEwMDAwMDAwMDAwIikpfSx0b1VpbnQyNTY6ZnVuY3Rpb24oZSl7cmV0dXJuIGkucGFkKDMyLGUpfSxhZGQ6ZixtdWw6ZCxkaXY6bCxzdWI6aH19LDY3NDA6ZT0+eyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2VuY29kZTpmdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlKXtyZXR1cm4odD1lLnRvU3RyaW5nKDE2KSkubGVuZ3RoJTI9PTA/dDoiMCIrdDt2YXIgdH0scj1mdW5jdGlvbihlLHIpe3JldHVybiBlPDU2P3QocitlKTp0KHIrdChlKS5sZW5ndGgvMis1NSkrdChlKX07cmV0dXJuIjB4IitmdW5jdGlvbiBlKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIG49dC5zbGljZSgyKTtyZXR1cm4oMiE9bi5sZW5ndGh8fG4+PSI4MCI/cihuLmxlbmd0aC8yLDEyOCk6IiIpK259dmFyIGk9dC5tYXAoZSkuam9pbigiIik7cmV0dXJuIHIoaS5sZW5ndGgvMiwxOTIpK2l9KGUpfSxkZWNvZGU6ZnVuY3Rpb24oZSl7dmFyIHQ9MixyPWZ1bmN0aW9uKCl7aWYodD49ZS5sZW5ndGgpdGhyb3ciIjt2YXIgcj1lLnNsaWNlKHQsdCsyKTtyZXR1cm4gcjwiODAiPyh0Kz0yLCIweCIrcik6cjwiYzAiP2koKTpvKCl9LG49ZnVuY3Rpb24oKXt2YXIgcj1wYXJzZUludChlLnNsaWNlKHQsdCs9MiksMTYpJTY0O3JldHVybiByPDU2P3I6cGFyc2VJbnQoZS5zbGljZSh0LHQrPTIqKHItNTUpKSwxNil9LGk9ZnVuY3Rpb24oKXt2YXIgcj1uKCk7cmV0dXJuIjB4IitlLnNsaWNlKHQsdCs9MipyKX0sbz1mdW5jdGlvbigpe2Zvcih2YXIgZT0yKm4oKSt0LGk9W107dDxlOylpLnB1c2gocigpKTtyZXR1cm4gaX07dHJ5e3JldHVybiByKCl9Y2F0Y2goZSl7cmV0dXJuW119fX19LDkzMTM6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpKHIoMzM1NSkpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgaT1yKDgxNzkpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuISgic3RyaW5nIiE9dHlwZW9mIGV8fCEvXigweCk/WzAtOWEtZl17NTEyfSQvaS50ZXN0KGUpfHwhL14oMHgpP1swLTlhLWZdezUxMn0kLy50ZXN0KGUpJiYhL14oMHgpP1swLTlBLUZdezUxMn0kLy50ZXN0KGUpKX1mdW5jdGlvbiBhKGUsdCl7Im9iamVjdCI9PT0oMCxuLmRlZmF1bHQpKHQpJiZ0LmNvbnN0cnVjdG9yPT09VWludDhBcnJheSYmKHQ9aS5ieXRlc1RvSGV4KHQpKTtmb3IodmFyIHI9aS5rZWNjYWsyNTYodCkucmVwbGFjZSgiMHgiLCIiKSxvPTA7bzwxMjtvKz00KXt2YXIgYT0ocGFyc2VJbnQoci5zdWJzdHIobywyKSwxNik8PDgpK3BhcnNlSW50KHIuc3Vic3RyKG8rMiwyKSwxNikmMjA0Nyx1PTE8PGElNDtpZigocyhlLmNoYXJDb2RlQXQoZS5sZW5ndGgtMS1NYXRoLmZsb29yKGEvNCkpKSZ1KSE9PXUpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gcyhlKXtpZihlPj00OCYmZTw9NTcpcmV0dXJuIGUtNDg7aWYoZT49NjUmJmU8PTcwKXJldHVybiBlLTU1O2lmKGU+PTk3JiZlPD0xMDIpcmV0dXJuIGUtODc7dGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGJsb29tIil9ZnVuY3Rpb24gdShlKXtyZXR1cm4hKCJzdHJpbmciIT10eXBlb2YgZXx8IS9eKDB4KT9bMC05YS1mXXs2NH0kL2kudGVzdChlKXx8IS9eKDB4KT9bMC05YS1mXXs2NH0kLy50ZXN0KGUpJiYhL14oMHgpP1swLTlBLUZdezY0fSQvLnRlc3QoZSkpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuISgic3RyaW5nIiE9dHlwZW9mIGV8fCFlLm1hdGNoKC9eKDB4KT9bMC05YS1mQS1GXXs0MH0kLykmJiFlLm1hdGNoKC9eWEVbMC05XXsyfVswLTlBLVphLXpdezMwLDMxfSQvKSl9dC5pc0Jsb29tPW8sdC5pc0luQmxvb209YSx0LmlzVXNlckV0aGVyZXVtQWRkcmVzc0luQmxvb209ZnVuY3Rpb24oZSx0KXtpZighbyhlKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgYmxvb20gZ2l2ZW4iKTtpZighYyh0KSl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZXRoZXJldW0gYWRkcmVzcyBnaXZlbjogIicuY29uY2F0KHQsJyInKSk7cmV0dXJuIGEoZSxpLnBhZExlZnQodCw2NCkpfSx0LmlzQ29udHJhY3RBZGRyZXNzSW5CbG9vbT1mdW5jdGlvbihlLHQpe2lmKCFvKGUpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBibG9vbSBnaXZlbiIpO2lmKCFjKHQpKXRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb250cmFjdCBhZGRyZXNzIGdpdmVuOiAiJy5jb25jYXQodCwnIicpKTtyZXR1cm4gYShlLHQpfSx0LmlzVG9waWNJbkJsb29tPWZ1bmN0aW9uKGUsdCl7aWYoIW8oZSkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGJsb29tIGdpdmVuIik7aWYoIXUodCkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHRvcGljIik7cmV0dXJuIGEoZSx0KX0sdC5pc1RvcGljPXUsdC5pc0FkZHJlc3M9Y30sODE3OTooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1yKDcyODYpO2Z1bmN0aW9uIGkoZSl7aWYobnVsbD09ZSl0aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBjb252ZXJ0IG51bGwgdmFsdWUgdG8gYXJyYXkiKTtpZigic3RyaW5nIj09dHlwZW9mIGUpe3ZhciB0PWUubWF0Y2goL14oMHgpP1swLTlhLWZBLUZdKiQvKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgaGV4aWRlY2ltYWwgc3RyaW5nIik7aWYoIjB4IiE9PXRbMV0pdGhyb3cgbmV3IEVycm9yKCJoZXggc3RyaW5nIG11c3QgaGF2ZSAweCBwcmVmaXgiKTsoZT1lLnN1YnN0cmluZygyKSkubGVuZ3RoJTImJihlPSIwIitlKTtmb3IodmFyIHI9W10sbj0wO248ZS5sZW5ndGg7bis9MilyLnB1c2gocGFyc2VJbnQoZS5zdWJzdHIobiwyKSwxNikpO3JldHVybiBvKG5ldyBVaW50OEFycmF5KHIpKX1pZihmdW5jdGlvbihlKXtpZighZXx8cGFyc2VJbnQoU3RyaW5nKGUubGVuZ3RoKSkhPWUubGVuZ3RofHwic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuITE7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciByPWVbdF07aWYocjwwfHxyPj0yNTZ8fHBhcnNlSW50KFN0cmluZyhyKSkhPXIpcmV0dXJuITF9cmV0dXJuITB9KGUpKXJldHVybiBvKG5ldyBVaW50OEFycmF5KGUpKTt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgYXJyYXlpZnkgdmFsdWUiKX1mdW5jdGlvbiBvKGUpe3ZhciB0PWFyZ3VtZW50cztyZXR1cm4gdm9pZCAwIT09ZS5zbGljZXx8KGUuc2xpY2U9ZnVuY3Rpb24oKXt2YXIgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtyZXR1cm4gbyhuZXcgVWludDhBcnJheShBcnJheS5wcm90b3R5cGUuc2xpY2UuYXBwbHkoZSxyKSkpfSksZX10LmtlY2NhazI1Nj1mdW5jdGlvbihlKXtyZXR1cm4iMHgiK24ua2VjY2FrXzI1NihpKGUpKX0sdC5wYWRMZWZ0PWZ1bmN0aW9uKGUsdCl7dmFyIHI9L14weC9pLnRlc3QoZSl8fCJudW1iZXIiPT10eXBlb2YgZSxuPXQtKGU9ZS50b1N0cmluZygpLnJlcGxhY2UoL14weC9pLCIiKSkubGVuZ3RoKzE+PTA/dC1lLmxlbmd0aCsxOjA7cmV0dXJuKHI/IjB4IjoiIikrbmV3IEFycmF5KG4pLmpvaW4oIjAiKStlfSx0LmJ5dGVzVG9IZXg9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLHI9MDtyPGUubGVuZ3RoO3IrKyl0LnB1c2goKGVbcl0+Pj40KS50b1N0cmluZygxNikpLHQucHVzaCgoMTUmZVtyXSkudG9TdHJpbmcoMTYpKTtyZXR1cm4iMHgiLmNvbmNhdCh0LmpvaW4oIiIpLnJlcGxhY2UoL14wKy8sIiIpKX0sdC50b0J5dGVBcnJheT1pfSw3Mjg2OihlLHQscik9PnsidXNlIHN0cmljdCI7ZT1yLm5tZChlKTt2YXIgbixpPXIoOTE0Miksbz1yKDg4NDcpKHIoMzM1NSkpOyFmdW5jdGlvbigpe3ZhciBhPSJpbnB1dCBpcyBpbnZhbGlkIHR5cGUiLHM9Im9iamVjdCI9PT0oInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/InVuZGVmaW5lZCI6KDAsby5kZWZhdWx0KSh3aW5kb3cpKSx1PXM/d2luZG93Ont9O3UuSlNfU0hBM19OT19XSU5ET1cmJihzPSExKTt2YXIgYz0hcyYmIm9iamVjdCI9PT0oInVuZGVmaW5lZCI9PXR5cGVvZiBzZWxmPyJ1bmRlZmluZWQiOigwLG8uZGVmYXVsdCkoc2VsZikpOyF1LkpTX1NIQTNfTk9fTk9ERV9KUyYmIm9iamVjdCI9PT0odm9pZCAwPT09aT8idW5kZWZpbmVkIjooMCxvLmRlZmF1bHQpKGkpKSYmaS52ZXJzaW9ucyYmaS52ZXJzaW9ucy5ub2RlP3U9ci5nOmMmJih1PXNlbGYpO3ZhciBmPSF1LkpTX1NIQTNfTk9fQ09NTU9OX0pTJiYib2JqZWN0Ij09PSgwLG8uZGVmYXVsdCkoZSkmJmUuZXhwb3J0cyxkPXIuYW1kTyxsPSF1LkpTX1NIQTNfTk9fQVJSQVlfQlVGRkVSJiYidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyLGg9IjAxMjM0NTY3ODlhYmNkZWYiLnNwbGl0KCIiKSxwPVs0LDEwMjQsMjYyMTQ0LDY3MTA4ODY0XSxiPVswLDgsMTYsMjRdLHk9WzEsMCwzMjg5OCwwLDMyOTA2LDIxNDc0ODM2NDgsMjE0NzUxNjQxNiwyMTQ3NDgzNjQ4LDMyOTA3LDAsMjE0NzQ4MzY0OSwwLDIxNDc1MTY1NDUsMjE0NzQ4MzY0OCwzMjc3NywyMTQ3NDgzNjQ4LDEzOCwwLDEzNiwwLDIxNDc1MTY0MjUsMCwyMTQ3NDgzNjU4LDAsMjE0NzUxNjU1NSwwLDEzOSwyMTQ3NDgzNjQ4LDMyOTA1LDIxNDc0ODM2NDgsMzI3NzEsMjE0NzQ4MzY0OCwzMjc3MCwyMTQ3NDgzNjQ4LDEyOCwyMTQ3NDgzNjQ4LDMyNzc4LDAsMjE0NzQ4MzY1OCwyMTQ3NDgzNjQ4LDIxNDc1MTY1NDUsMjE0NzQ4MzY0OCwzMjg5NiwyMTQ3NDgzNjQ4LDIxNDc0ODM2NDksMCwyMTQ3NTE2NDI0LDIxNDc0ODM2NDhdLG09WzIyNCwyNTYsMzg0LDUxMl0sdj1bMTI4LDI1Nl0sZz1bImhleCIsImJ1ZmZlciIsImFycmF5QnVmZmVyIiwiYXJyYXkiLCJkaWdlc3QiXSx3PXsxMjg6MTY4LDI1NjoxMzZ9OyF1LkpTX1NIQTNfTk9fTk9ERV9KUyYmQXJyYXkuaXNBcnJheXx8KEFycmF5LmlzQXJyYXk9ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX0pLCFsfHwhdS5KU19TSEEzX05PX0FSUkFZX0JVRkZFUl9JU19WSUVXJiZBcnJheUJ1ZmZlci5pc1ZpZXd8fChBcnJheUJ1ZmZlci5pc1ZpZXc9ZnVuY3Rpb24oZSl7cmV0dXJuIm9iamVjdCI9PT0oMCxvLmRlZmF1bHQpKGUpJiZlLmJ1ZmZlciYmZS5idWZmZXIuY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcn0pO2Zvcih2YXIgQT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBuZXcgaihlLHQsZSkudXBkYXRlKG4pW3JdKCl9fSxrPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZnVuY3Rpb24obixpKXtyZXR1cm4gbmV3IGooZSx0LGkpLnVwZGF0ZShuKVtyXSgpfX0sXz1mdW5jdGlvbihlLHQscil7cmV0dXJuIGZ1bmN0aW9uKHQsbixpLG8pe3JldHVybiBPWyJjc2hha2UiK2VdLnVwZGF0ZSh0LG4saSxvKVtyXSgpfX0sUz1mdW5jdGlvbihlLHQscil7cmV0dXJuIGZ1bmN0aW9uKHQsbixpLG8pe3JldHVybiBPWyJrbWFjIitlXS51cGRhdGUodCxuLGksbylbcl0oKX19LHg9ZnVuY3Rpb24oZSx0LHIsbil7Zm9yKHZhciBpPTA7aTxnLmxlbmd0aDsrK2kpe3ZhciBvPWdbaV07ZVtvXT10KHIsbixvKX1yZXR1cm4gZX0sRT1mdW5jdGlvbihlLHQpe3ZhciByPUEoZSx0LCJoZXgiKTtyZXR1cm4gci5jcmVhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGooZSx0LGUpfSxyLnVwZGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gci5jcmVhdGUoKS51cGRhdGUoZSl9LHgocixBLGUsdCl9LFA9W3tuYW1lOiJrZWNjYWsiLHBhZGRpbmc6WzEsMjU2LDY1NTM2LDE2Nzc3MjE2XSxiaXRzOm0sY3JlYXRlTWV0aG9kOkV9LHtuYW1lOiJzaGEzIixwYWRkaW5nOls2LDE1MzYsMzkzMjE2LDEwMDY2MzI5Nl0sYml0czptLGNyZWF0ZU1ldGhvZDpFfSx7bmFtZToic2hha2UiLHBhZGRpbmc6WzMxLDc5MzYsMjAzMTYxNiw1MjAwOTM2OTZdLGJpdHM6dixjcmVhdGVNZXRob2Q6ZnVuY3Rpb24oZSx0KXt2YXIgcj1rKGUsdCwiaGV4Iik7cmV0dXJuIHIuY3JlYXRlPWZ1bmN0aW9uKHIpe3JldHVybiBuZXcgaihlLHQscil9LHIudXBkYXRlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHIuY3JlYXRlKHQpLnVwZGF0ZShlKX0seChyLGssZSx0KX19LHtuYW1lOiJjc2hha2UiLHBhZGRpbmc6cCxiaXRzOnYsY3JlYXRlTWV0aG9kOmZ1bmN0aW9uKGUsdCl7dmFyIHI9d1tlXSxuPV8oZSwwLCJoZXgiKTtyZXR1cm4gbi5jcmVhdGU9ZnVuY3Rpb24obixpLG8pe3JldHVybiBpfHxvP25ldyBqKGUsdCxuKS5ieXRlcGFkKFtpLG9dLHIpOk9bInNoYWtlIitlXS5jcmVhdGUobil9LG4udXBkYXRlPWZ1bmN0aW9uKGUsdCxyLGkpe3JldHVybiBuLmNyZWF0ZSh0LHIsaSkudXBkYXRlKGUpfSx4KG4sXyxlLHQpfX0se25hbWU6ImttYWMiLHBhZGRpbmc6cCxiaXRzOnYsY3JlYXRlTWV0aG9kOmZ1bmN0aW9uKGUsdCl7dmFyIHI9d1tlXSxuPVMoZSwwLCJoZXgiKTtyZXR1cm4gbi5jcmVhdGU9ZnVuY3Rpb24obixpLG8pe3JldHVybiBuZXcgTihlLHQsaSkuYnl0ZXBhZChbIktNQUMiLG9dLHIpLmJ5dGVwYWQoW25dLHIpfSxuLnVwZGF0ZT1mdW5jdGlvbihlLHQscixpKXtyZXR1cm4gbi5jcmVhdGUoZSxyLGkpLnVwZGF0ZSh0KX0seChuLFMsZSx0KX19XSxPPXt9LEI9W10sVD0wO1Q8UC5sZW5ndGg7KytUKWZvcih2YXIgQz1QW1RdLEk9Qy5iaXRzLE09MDtNPEkubGVuZ3RoOysrTSl7dmFyIFU9Qy5uYW1lKyJfIitJW01dO2lmKEIucHVzaChVKSxPW1VdPUMuY3JlYXRlTWV0aG9kKElbTV0sQy5wYWRkaW5nKSwic2hhMyIhPT1DLm5hbWUpe3ZhciBSPUMubmFtZStJW01dO0IucHVzaChSKSxPW1JdPU9bVV19fWZ1bmN0aW9uIGooZSx0LHIpe3RoaXMuYmxvY2tzPVtdLHRoaXMucz1bXSx0aGlzLnBhZGRpbmc9dCx0aGlzLm91dHB1dEJpdHM9cix0aGlzLnJlc2V0PSEwLHRoaXMuZmluYWxpemVkPSExLHRoaXMuYmxvY2s9MCx0aGlzLnN0YXJ0PTAsdGhpcy5ibG9ja0NvdW50PTE2MDAtKGU8PDEpPj41LHRoaXMuYnl0ZUNvdW50PXRoaXMuYmxvY2tDb3VudDw8Mix0aGlzLm91dHB1dEJsb2Nrcz1yPj41LHRoaXMuZXh0cmFCeXRlcz0oMzEmcik+PjM7Zm9yKHZhciBuPTA7bjw1MDsrK24pdGhpcy5zW25dPTB9ZnVuY3Rpb24gTihlLHQscil7ai5jYWxsKHRoaXMsZSx0LHIpfWoucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihlKXtpZih0aGlzLmZpbmFsaXplZCl0aHJvdyBuZXcgRXJyb3IoImZpbmFsaXplIGFscmVhZHkgY2FsbGVkIik7dmFyIHQscj0oMCxvLmRlZmF1bHQpKGUpO2lmKCJzdHJpbmciIT09cil7aWYoIm9iamVjdCIhPT1yKXRocm93IG5ldyBFcnJvcihhKTtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoYSk7aWYobCYmZS5jb25zdHJ1Y3Rvcj09PUFycmF5QnVmZmVyKWU9bmV3IFVpbnQ4QXJyYXkoZSk7ZWxzZSBpZighKEFycmF5LmlzQXJyYXkoZSl8fGwmJkFycmF5QnVmZmVyLmlzVmlldyhlKSkpdGhyb3cgbmV3IEVycm9yKGEpO3Q9ITB9Zm9yKHZhciBuLGkscz10aGlzLmJsb2Nrcyx1PXRoaXMuYnl0ZUNvdW50LGM9ZS5sZW5ndGgsZj10aGlzLmJsb2NrQ291bnQsZD0wLGg9dGhpcy5zO2Q8Yzspe2lmKHRoaXMucmVzZXQpZm9yKHRoaXMucmVzZXQ9ITEsc1swXT10aGlzLmJsb2NrLG49MTtuPGYrMTsrK24pc1tuXT0wO2lmKHQpZm9yKG49dGhpcy5zdGFydDtkPGMmJm48dTsrK2Qpc1tuPj4yXXw9ZVtkXTw8YlszJm4rK107ZWxzZSBmb3Iobj10aGlzLnN0YXJ0O2Q8YyYmbjx1OysrZCkoaT1lLmNoYXJDb2RlQXQoZCkpPDEyOD9zW24+PjJdfD1pPDxiWzMmbisrXTppPDIwNDg/KHNbbj4+Ml18PSgxOTJ8aT4+Nik8PGJbMyZuKytdLHNbbj4+Ml18PSgxMjh8NjMmaSk8PGJbMyZuKytdKTppPDU1Mjk2fHxpPj01NzM0ND8oc1tuPj4yXXw9KDIyNHxpPj4xMik8PGJbMyZuKytdLHNbbj4+Ml18PSgxMjh8aT4+NiY2Myk8PGJbMyZuKytdLHNbbj4+Ml18PSgxMjh8NjMmaSk8PGJbMyZuKytdKTooaT02NTUzNisoKDEwMjMmaSk8PDEwfDEwMjMmZS5jaGFyQ29kZUF0KCsrZCkpLHNbbj4+Ml18PSgyNDB8aT4+MTgpPDxiWzMmbisrXSxzW24+PjJdfD0oMTI4fGk+PjEyJjYzKTw8YlszJm4rK10sc1tuPj4yXXw9KDEyOHxpPj42JjYzKTw8YlszJm4rK10sc1tuPj4yXXw9KDEyOHw2MyZpKTw8YlszJm4rK10pO2lmKHRoaXMubGFzdEJ5dGVJbmRleD1uLG4+PXUpe2Zvcih0aGlzLnN0YXJ0PW4tdSx0aGlzLmJsb2NrPXNbZl0sbj0wO248ZjsrK24paFtuXV49c1tuXTtGKGgpLHRoaXMucmVzZXQ9ITB9ZWxzZSB0aGlzLnN0YXJ0PW59cmV0dXJuIHRoaXN9LGoucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbihlLHQpe3ZhciByPTI1NSZlLG49MSxpPVtyXTtmb3Iocj0yNTUmKGU+Pj04KTtyPjA7KWkudW5zaGlmdChyKSxyPTI1NSYoZT4+PTgpLCsrbjtyZXR1cm4gdD9pLnB1c2gobik6aS51bnNoaWZ0KG4pLHRoaXMudXBkYXRlKGkpLGkubGVuZ3RofSxqLnByb3RvdHlwZS5lbmNvZGVTdHJpbmc9ZnVuY3Rpb24oZSl7dmFyIHQscj0oMCxvLmRlZmF1bHQpKGUpO2lmKCJzdHJpbmciIT09cil7aWYoIm9iamVjdCIhPT1yKXRocm93IG5ldyBFcnJvcihhKTtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoYSk7aWYobCYmZS5jb25zdHJ1Y3Rvcj09PUFycmF5QnVmZmVyKWU9bmV3IFVpbnQ4QXJyYXkoZSk7ZWxzZSBpZighKEFycmF5LmlzQXJyYXkoZSl8fGwmJkFycmF5QnVmZmVyLmlzVmlldyhlKSkpdGhyb3cgbmV3IEVycm9yKGEpO3Q9ITB9dmFyIG49MCxpPWUubGVuZ3RoO2lmKHQpbj1pO2Vsc2UgZm9yKHZhciBzPTA7czxlLmxlbmd0aDsrK3Mpe3ZhciB1PWUuY2hhckNvZGVBdChzKTt1PDEyOD9uKz0xOnU8MjA0OD9uKz0yOnU8NTUyOTZ8fHU+PTU3MzQ0P24rPTM6KHU9NjU1MzYrKCgxMDIzJnUpPDwxMHwxMDIzJmUuY2hhckNvZGVBdCgrK3MpKSxuKz00KX1yZXR1cm4gbis9dGhpcy5lbmNvZGUoOCpuKSx0aGlzLnVwZGF0ZShlKSxufSxqLnByb3RvdHlwZS5ieXRlcGFkPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPXRoaXMuZW5jb2RlKHQpLG49MDtuPGUubGVuZ3RoOysrbilyKz10aGlzLmVuY29kZVN0cmluZyhlW25dKTt2YXIgaT10LXIldCxvPVtdO3JldHVybiBvLmxlbmd0aD1pLHRoaXMudXBkYXRlKG8pLHRoaXN9LGoucHJvdG90eXBlLmZpbmFsaXplPWZ1bmN0aW9uKCl7aWYoIXRoaXMuZmluYWxpemVkKXt0aGlzLmZpbmFsaXplZD0hMDt2YXIgZT10aGlzLmJsb2Nrcyx0PXRoaXMubGFzdEJ5dGVJbmRleCxyPXRoaXMuYmxvY2tDb3VudCxuPXRoaXMucztpZihlW3Q+PjJdfD10aGlzLnBhZGRpbmdbMyZ0XSx0aGlzLmxhc3RCeXRlSW5kZXg9PT10aGlzLmJ5dGVDb3VudClmb3IoZVswXT1lW3JdLHQ9MTt0PHIrMTsrK3QpZVt0XT0wO2ZvcihlW3ItMV18PTIxNDc0ODM2NDgsdD0wO3Q8cjsrK3Qpblt0XV49ZVt0XTtGKG4pfX0sai5wcm90b3R5cGUudG9TdHJpbmc9ai5wcm90b3R5cGUuaGV4PWZ1bmN0aW9uKCl7dGhpcy5maW5hbGl6ZSgpO2Zvcih2YXIgZSx0PXRoaXMuYmxvY2tDb3VudCxyPXRoaXMucyxuPXRoaXMub3V0cHV0QmxvY2tzLGk9dGhpcy5leHRyYUJ5dGVzLG89MCxhPTAscz0iIjthPG47KXtmb3Iobz0wO288dCYmYTxuOysrbywrK2EpZT1yW29dLHMrPWhbZT4+NCYxNV0raFsxNSZlXStoW2U+PjEyJjE1XStoW2U+PjgmMTVdK2hbZT4+MjAmMTVdK2hbZT4+MTYmMTVdK2hbZT4+MjgmMTVdK2hbZT4+MjQmMTVdO2EldD09MCYmKEYociksbz0wKX1yZXR1cm4gaSYmKGU9cltvXSxzKz1oW2U+PjQmMTVdK2hbMTUmZV0saT4xJiYocys9aFtlPj4xMiYxNV0raFtlPj44JjE1XSksaT4yJiYocys9aFtlPj4yMCYxNV0raFtlPj4xNiYxNV0pKSxzfSxqLnByb3RvdHlwZS5hcnJheUJ1ZmZlcj1mdW5jdGlvbigpe3RoaXMuZmluYWxpemUoKTt2YXIgZSx0PXRoaXMuYmxvY2tDb3VudCxyPXRoaXMucyxuPXRoaXMub3V0cHV0QmxvY2tzLGk9dGhpcy5leHRyYUJ5dGVzLG89MCxhPTAscz10aGlzLm91dHB1dEJpdHM+PjM7ZT1pP25ldyBBcnJheUJ1ZmZlcihuKzE8PDIpOm5ldyBBcnJheUJ1ZmZlcihzKTtmb3IodmFyIHU9bmV3IFVpbnQzMkFycmF5KGUpO2E8bjspe2ZvcihvPTA7bzx0JiZhPG47KytvLCsrYSl1W2FdPXJbb107YSV0PT0wJiZGKHIpfXJldHVybiBpJiYodVtvXT1yW29dLGU9ZS5zbGljZSgwLHMpKSxlfSxqLnByb3RvdHlwZS5idWZmZXI9ai5wcm90b3R5cGUuYXJyYXlCdWZmZXIsai5wcm90b3R5cGUuZGlnZXN0PWoucHJvdG90eXBlLmFycmF5PWZ1bmN0aW9uKCl7dGhpcy5maW5hbGl6ZSgpO2Zvcih2YXIgZSx0LHI9dGhpcy5ibG9ja0NvdW50LG49dGhpcy5zLGk9dGhpcy5vdXRwdXRCbG9ja3Msbz10aGlzLmV4dHJhQnl0ZXMsYT0wLHM9MCx1PVtdO3M8aTspe2ZvcihhPTA7YTxyJiZzPGk7KythLCsrcyllPXM8PDIsdD1uW2FdLHVbZV09MjU1JnQsdVtlKzFdPXQ+PjgmMjU1LHVbZSsyXT10Pj4xNiYyNTUsdVtlKzNdPXQ+PjI0JjI1NTtzJXI9PTAmJkYobil9cmV0dXJuIG8mJihlPXM8PDIsdD1uW2FdLHVbZV09MjU1JnQsbz4xJiYodVtlKzFdPXQ+PjgmMjU1KSxvPjImJih1W2UrMl09dD4+MTYmMjU1KSksdX0sTi5wcm90b3R5cGU9bmV3IGosTi5wcm90b3R5cGUuZmluYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbmNvZGUodGhpcy5vdXRwdXRCaXRzLCEwKSxqLnByb3RvdHlwZS5maW5hbGl6ZS5jYWxsKHRoaXMpfTt2YXIgRj1mdW5jdGlvbihlKXt2YXIgdCxyLG4saSxvLGEscyx1LGMsZixkLGwsaCxwLGIsbSx2LGcsdyxBLGssXyxTLHgsRSxQLE8sQixULEMsSSxNLFUsUixqLE4sRixMLEQsSCxxLHosRyxLLFYsSixXLFksWCxRLFosJCxlZSx0ZSxyZSxuZSxpZSxvZSxhZSxzZSx1ZSxjZSxmZTtmb3Iobj0wO248NDg7bis9MilpPWVbMF1eZVsxMF1eZVsyMF1eZVszMF1eZVs0MF0sbz1lWzFdXmVbMTFdXmVbMjFdXmVbMzFdXmVbNDFdLGE9ZVsyXV5lWzEyXV5lWzIyXV5lWzMyXV5lWzQyXSxzPWVbM11eZVsxM11eZVsyM11eZVszM11eZVs0M10sdT1lWzRdXmVbMTRdXmVbMjRdXmVbMzRdXmVbNDRdLGM9ZVs1XV5lWzE1XV5lWzI1XV5lWzM1XV5lWzQ1XSxmPWVbNl1eZVsxNl1eZVsyNl1eZVszNl1eZVs0Nl0sZD1lWzddXmVbMTddXmVbMjddXmVbMzddXmVbNDddLHQ9KGw9ZVs4XV5lWzE4XV5lWzI4XV5lWzM4XV5lWzQ4XSleKGE8PDF8cz4+PjMxKSxyPShoPWVbOV1eZVsxOV1eZVsyOV1eZVszOV1eZVs0OV0pXihzPDwxfGE+Pj4zMSksZVswXV49dCxlWzFdXj1yLGVbMTBdXj10LGVbMTFdXj1yLGVbMjBdXj10LGVbMjFdXj1yLGVbMzBdXj10LGVbMzFdXj1yLGVbNDBdXj10LGVbNDFdXj1yLHQ9aV4odTw8MXxjPj4+MzEpLHI9b14oYzw8MXx1Pj4+MzEpLGVbMl1ePXQsZVszXV49cixlWzEyXV49dCxlWzEzXV49cixlWzIyXV49dCxlWzIzXV49cixlWzMyXV49dCxlWzMzXV49cixlWzQyXV49dCxlWzQzXV49cix0PWFeKGY8PDF8ZD4+PjMxKSxyPXNeKGQ8PDF8Zj4+PjMxKSxlWzRdXj10LGVbNV1ePXIsZVsxNF1ePXQsZVsxNV1ePXIsZVsyNF1ePXQsZVsyNV1ePXIsZVszNF1ePXQsZVszNV1ePXIsZVs0NF1ePXQsZVs0NV1ePXIsdD11XihsPDwxfGg+Pj4zMSkscj1jXihoPDwxfGw+Pj4zMSksZVs2XV49dCxlWzddXj1yLGVbMTZdXj10LGVbMTddXj1yLGVbMjZdXj10LGVbMjddXj1yLGVbMzZdXj10LGVbMzddXj1yLGVbNDZdXj10LGVbNDddXj1yLHQ9Zl4oaTw8MXxvPj4+MzEpLHI9ZF4obzw8MXxpPj4+MzEpLGVbOF1ePXQsZVs5XV49cixlWzE4XV49dCxlWzE5XV49cixlWzI4XV49dCxlWzI5XV49cixlWzM4XV49dCxlWzM5XV49cixlWzQ4XV49dCxlWzQ5XV49cixwPWVbMF0sYj1lWzFdLEo9ZVsxMV08PDR8ZVsxMF0+Pj4yOCxXPWVbMTBdPDw0fGVbMTFdPj4+MjgsQj1lWzIwXTw8M3xlWzIxXT4+PjI5LFQ9ZVsyMV08PDN8ZVsyMF0+Pj4yOSxzZT1lWzMxXTw8OXxlWzMwXT4+PjIzLHVlPWVbMzBdPDw5fGVbMzFdPj4+MjMsej1lWzQwXTw8MTh8ZVs0MV0+Pj4xNCxHPWVbNDFdPDwxOHxlWzQwXT4+PjE0LFI9ZVsyXTw8MXxlWzNdPj4+MzEsaj1lWzNdPDwxfGVbMl0+Pj4zMSxtPWVbMTNdPDwxMnxlWzEyXT4+PjIwLHY9ZVsxMl08PDEyfGVbMTNdPj4+MjAsWT1lWzIyXTw8MTB8ZVsyM10+Pj4yMixYPWVbMjNdPDwxMHxlWzIyXT4+PjIyLEM9ZVszM108PDEzfGVbMzJdPj4+MTksST1lWzMyXTw8MTN8ZVszM10+Pj4xOSxjZT1lWzQyXTw8MnxlWzQzXT4+PjMwLGZlPWVbNDNdPDwyfGVbNDJdPj4+MzAsdGU9ZVs1XTw8MzB8ZVs0XT4+PjIscmU9ZVs0XTw8MzB8ZVs1XT4+PjIsTj1lWzE0XTw8NnxlWzE1XT4+PjI2LEY9ZVsxNV08PDZ8ZVsxNF0+Pj4yNixnPWVbMjVdPDwxMXxlWzI0XT4+PjIxLHc9ZVsyNF08PDExfGVbMjVdPj4+MjEsUT1lWzM0XTw8MTV8ZVszNV0+Pj4xNyxaPWVbMzVdPDwxNXxlWzM0XT4+PjE3LE09ZVs0NV08PDI5fGVbNDRdPj4+MyxVPWVbNDRdPDwyOXxlWzQ1XT4+PjMseD1lWzZdPDwyOHxlWzddPj4+NCxFPWVbN108PDI4fGVbNl0+Pj40LG5lPWVbMTddPDwyM3xlWzE2XT4+PjksaWU9ZVsxNl08PDIzfGVbMTddPj4+OSxMPWVbMjZdPDwyNXxlWzI3XT4+PjcsRD1lWzI3XTw8MjV8ZVsyNl0+Pj43LEE9ZVszNl08PDIxfGVbMzddPj4+MTEsaz1lWzM3XTw8MjF8ZVszNl0+Pj4xMSwkPWVbNDddPDwyNHxlWzQ2XT4+PjgsZWU9ZVs0Nl08PDI0fGVbNDddPj4+OCxLPWVbOF08PDI3fGVbOV0+Pj41LFY9ZVs5XTw8Mjd8ZVs4XT4+PjUsUD1lWzE4XTw8MjB8ZVsxOV0+Pj4xMixPPWVbMTldPDwyMHxlWzE4XT4+PjEyLG9lPWVbMjldPDw3fGVbMjhdPj4+MjUsYWU9ZVsyOF08PDd8ZVsyOV0+Pj4yNSxIPWVbMzhdPDw4fGVbMzldPj4+MjQscT1lWzM5XTw8OHxlWzM4XT4+PjI0LF89ZVs0OF08PDE0fGVbNDldPj4+MTgsUz1lWzQ5XTw8MTR8ZVs0OF0+Pj4xOCxlWzBdPXBefm0mZyxlWzFdPWJefnYmdyxlWzEwXT14Xn5QJkIsZVsxMV09RV5+TyZULGVbMjBdPVJefk4mTCxlWzIxXT1qXn5GJkQsZVszMF09S15+SiZZLGVbMzFdPVZeflcmWCxlWzQwXT10ZV5+bmUmb2UsZVs0MV09cmVefmllJmFlLGVbMl09bV5+ZyZBLGVbM109dl5+dyZrLGVbMTJdPVBefkImQyxlWzEzXT1PXn5UJkksZVsyMl09Tl5+TCZILGVbMjNdPUZefkQmcSxlWzMyXT1KXn5ZJlEsZVszM109V15+WCZaLGVbNDJdPW5lXn5vZSZzZSxlWzQzXT1pZV5+YWUmdWUsZVs0XT1nXn5BJl8sZVs1XT13Xn5rJlMsZVsxNF09Ql5+QyZNLGVbMTVdPVRefkkmVSxlWzI0XT1MXn5IJnosZVsyNV09RF5+cSZHLGVbMzRdPVleflEmJCxlWzM1XT1YXn5aJmVlLGVbNDRdPW9lXn5zZSZjZSxlWzQ1XT1hZV5+dWUmZmUsZVs2XT1BXn5fJnAsZVs3XT1rXn5TJmIsZVsxNl09Q15+TSZ4LGVbMTddPUleflUmRSxlWzI2XT1IXn56JlIsZVsyN109cV5+RyZqLGVbMzZdPVFefiQmSyxlWzM3XT1aXn5lZSZWLGVbNDZdPXNlXn5jZSZ0ZSxlWzQ3XT11ZV5+ZmUmcmUsZVs4XT1fXn5wJm0sZVs5XT1TXn5iJnYsZVsxOF09TV5+eCZQLGVbMTldPVVefkUmTyxlWzI4XT16Xn5SJk4sZVsyOV09R15+aiZGLGVbMzhdPSRefksmSixlWzM5XT1lZV5+ViZXLGVbNDhdPWNlXn50ZSZuZSxlWzQ5XT1mZV5+cmUmaWUsZVswXV49eVtuXSxlWzFdXj15W24rMV19O2lmKGYpZS5leHBvcnRzPU87ZWxzZXtmb3IoVD0wO1Q8Qi5sZW5ndGg7KytUKXVbQltUXV09T1tCW1RdXTtkJiYodm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gT30uY2FsbCh0LHIsdCxlKSl8fChlLmV4cG9ydHM9bikpfX0oKX0sOTk4OTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTAzMykuQnVmZmVyO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmNyZWF0ZUhhc2hGdW5jdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIHI9ZSgpO3JldHVybiByLnVwZGF0ZSh0KSxuLmZyb20oci5kaWdlc3QoKSl9fX0sMTI0MzooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1yKDk5ODkpLGk9cigzMTM1KTt0LmtlY2NhazIyND1uLmNyZWF0ZUhhc2hGdW5jdGlvbigoZnVuY3Rpb24oKXtyZXR1cm4gaSgia2VjY2FrMjI0Iil9KSksdC5rZWNjYWsyNTY9bi5jcmVhdGVIYXNoRnVuY3Rpb24oKGZ1bmN0aW9uKCl7cmV0dXJuIGkoImtlY2NhazI1NiIpfSkpLHQua2VjY2FrMzg0PW4uY3JlYXRlSGFzaEZ1bmN0aW9uKChmdW5jdGlvbigpe3JldHVybiBpKCJrZWNjYWszODQiKX0pKSx0LmtlY2NhazUxMj1uLmNyZWF0ZUhhc2hGdW5jdGlvbigoZnVuY3Rpb24oKXtyZXR1cm4gaSgia2VjY2FrNTEyIil9KSl9LDQ4OTM6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49cig1MDEwKTt0LmdldFJhbmRvbUJ5dGVzPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxyKXtuKGUsKGZ1bmN0aW9uKGUsbil7ZT9yKGUpOnQobil9KSl9KSl9LHQuZ2V0UmFuZG9tQnl0ZXNTeW5jPWZ1bmN0aW9uKGUpe3JldHVybiBuKGUpfX0sNjk5MjooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1yKDc5MDIpLGk9cig0ODkzKTt0LmNyZWF0ZVByaXZhdGVLZXk9ZnVuY3Rpb24oKXtyZXR1cm4gZT10aGlzLHQ9dm9pZCAwLG89ZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgcixuLGksbyxhPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJmlbMF0pdGhyb3cgaVsxXTtyZXR1cm4gaVsxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBvPXtuZXh0OnMoMCksdGhyb3c6cygxKSxyZXR1cm46cygyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKG9bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbztmdW5jdGlvbiBzKG8pe3JldHVybiBmdW5jdGlvbihzKXtyZXR1cm4gZnVuY3Rpb24obyl7aWYocil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDthOyl0cnl7aWYocj0xLG4mJihpPTImb1swXT9uLnJldHVybjpvWzBdP24udGhyb3d8fCgoaT1uLnJldHVybikmJmkuY2FsbChuKSwwKTpuLm5leHQpJiYhKGk9aS5jYWxsKG4sb1sxXSkpLmRvbmUpcmV0dXJuIGk7c3dpdGNoKG49MCxpJiYobz1bMiZvWzBdLGkudmFsdWVdKSxvWzBdKXtjYXNlIDA6Y2FzZSAxOmk9bzticmVhaztjYXNlIDQ6cmV0dXJuIGEubGFiZWwrKyx7dmFsdWU6b1sxXSxkb25lOiExfTtjYXNlIDU6YS5sYWJlbCsrLG49b1sxXSxvPVswXTtjb250aW51ZTtjYXNlIDc6bz1hLm9wcy5wb3AoKSxhLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChpPShpPWEudHJ5cykubGVuZ3RoPjAmJmlbaS5sZW5ndGgtMV0pfHw2IT09b1swXSYmMiE9PW9bMF0pKXthPTA7Y29udGludWV9aWYoMz09PW9bMF0mJighaXx8b1sxXT5pWzBdJiZvWzFdPGlbM10pKXthLmxhYmVsPW9bMV07YnJlYWt9aWYoNj09PW9bMF0mJmEubGFiZWw8aVsxXSl7YS5sYWJlbD1pWzFdLGk9bzticmVha31pZihpJiZhLmxhYmVsPGlbMl0pe2EubGFiZWw9aVsyXSxhLm9wcy5wdXNoKG8pO2JyZWFrfWlbMl0mJmEub3BzLnBvcCgpLGEudHJ5cy5wb3AoKTtjb250aW51ZX1vPXQuY2FsbChlLGEpfWNhdGNoKGUpe289WzYsZV0sbj0wfWZpbmFsbHl7cj1pPTB9aWYoNSZvWzBdKXRocm93IG9bMV07cmV0dXJue3ZhbHVlOm9bMF0/b1sxXTp2b2lkIDAsZG9uZTohMH19KFtvLHNdKX19fSh0aGlzLChmdW5jdGlvbih0KXtzd2l0Y2godC5sYWJlbCl7Y2FzZSAwOnJldHVybls0LGkuZ2V0UmFuZG9tQnl0ZXMoMzIpXTtjYXNlIDE6cmV0dXJuIGU9dC5zZW50KCksbi5wcml2YXRlS2V5VmVyaWZ5KGUpP1syLGVdOlszLDBdO2Nhc2UgMjpyZXR1cm5bMl19fSkpfSxuZXcoKHI9dm9pZCAwKXx8KHI9UHJvbWlzZSkpKChmdW5jdGlvbihuLGkpe2Z1bmN0aW9uIGEoZSl7dHJ5e3Uoby5uZXh0KGUpKX1jYXRjaChlKXtpKGUpfX1mdW5jdGlvbiBzKGUpe3RyeXt1KG8udGhyb3coZSkpfWNhdGNoKGUpe2koZSl9fWZ1bmN0aW9uIHUoZSl7dmFyIHQ7ZS5kb25lP24oZS52YWx1ZSk6KHQ9ZS52YWx1ZSx0IGluc3RhbmNlb2Ygcj90Om5ldyByKChmdW5jdGlvbihlKXtlKHQpfSkpKS50aGVuKGEscyl9dSgobz1vLmFwcGx5KGUsdHx8W10pKS5uZXh0KCkpfSkpO3ZhciBlLHQscixvfSx0LmNyZWF0ZVByaXZhdGVLZXlTeW5jPWZ1bmN0aW9uKCl7Zm9yKDs7KXt2YXIgZT1pLmdldFJhbmRvbUJ5dGVzU3luYygzMik7aWYobi5wcml2YXRlS2V5VmVyaWZ5KGUpKXJldHVybiBlfX0sZnVuY3Rpb24oZSl7Zm9yKHZhciByIGluIGUpdC5oYXNPd25Qcm9wZXJ0eShyKXx8KHRbcl09ZVtyXSl9KHIoNzkwMikpfSwxOTY4OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuaXNaZXJvQWRkcmVzcz10Lnplcm9BZGRyZXNzPXQuaW1wb3J0UHVibGljPXQucHJpdmF0ZVRvQWRkcmVzcz10LnByaXZhdGVUb1B1YmxpYz10LnB1YmxpY1RvQWRkcmVzcz10LnB1YlRvQWRkcmVzcz10LmlzVmFsaWRQdWJsaWM9dC5pc1ZhbGlkUHJpdmF0ZT10LmdlbmVyYXRlQWRkcmVzczI9dC5nZW5lcmF0ZUFkZHJlc3M9dC5pc1ZhbGlkQ2hlY2tzdW1BZGRyZXNzPXQudG9DaGVja3N1bUFkZHJlc3M9dC5pc1ZhbGlkQWRkcmVzcz10LkFjY291bnQ9dm9pZCAwO3ZhciBpLG89KGk9cigzODk0KSkmJmkuX19lc01vZHVsZT9pOntkZWZhdWx0Oml9LGE9cig5MTAwKSxzPXIoNjk5MiksdT1yKDMyNzEpLGM9cig5ODYpLGY9cigzNDY0KSxkPXIoOTgwOCksbD1yKDU3MjUpLGg9cig1NTEzKSxwPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQscixuKXt2b2lkIDA9PT1lJiYoZT1uZXcgYS5CTigwKSksdm9pZCAwPT09dCYmKHQ9bmV3IGEuQk4oMCkpLHZvaWQgMD09PXImJihyPWMuS0VDQ0FLMjU2X1JMUCksdm9pZCAwPT09biYmKG49Yy5LRUNDQUsyNTZfTlVMTCksdGhpcy5ub25jZT1lLHRoaXMuYmFsYW5jZT10LHRoaXMuc3RhdGVSb290PXIsdGhpcy5jb2RlSGFzaD1uLHRoaXMuX3ZhbGlkYXRlKCl9cmV0dXJuIGUuZnJvbUFjY291bnREYXRhPWZ1bmN0aW9uKHQpe3ZhciByPXQubm9uY2Usbj10LmJhbGFuY2UsaT10LnN0YXRlUm9vdCxvPXQuY29kZUhhc2g7cmV0dXJuIG5ldyBlKHI/bmV3IGEuQk4oKDAsZi50b0J1ZmZlcikocikpOnZvaWQgMCxuP25ldyBhLkJOKCgwLGYudG9CdWZmZXIpKG4pKTp2b2lkIDAsaT8oMCxmLnRvQnVmZmVyKShpKTp2b2lkIDAsbz8oMCxmLnRvQnVmZmVyKShvKTp2b2lkIDApfSxlLmZyb21SbHBTZXJpYWxpemVkQWNjb3VudD1mdW5jdGlvbihlKXt2YXIgdD1hLnJscC5kZWNvZGUoZSk7aWYoIUFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHNlcmlhbGl6ZWQgYWNjb3VudCBpbnB1dC4gTXVzdCBiZSBhcnJheSIpO3JldHVybiB0aGlzLmZyb21WYWx1ZXNBcnJheSh0KX0sZS5mcm9tVmFsdWVzQXJyYXk9ZnVuY3Rpb24odCl7dmFyIHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl07aWYoIXIpcmV0dXJuIGU7dmFyIG4saSxvPXIuY2FsbChlKSxhPVtdO3RyeXtmb3IoOyh2b2lkIDA9PT10fHx0LS0gPjApJiYhKG49by5uZXh0KCkpLmRvbmU7KWEucHVzaChuLnZhbHVlKX1jYXRjaChlKXtpPXtlcnJvcjplfX1maW5hbGx5e3RyeXtuJiYhbi5kb25lJiYocj1vLnJldHVybikmJnIuY2FsbChvKX1maW5hbGx5e2lmKGkpdGhyb3cgaS5lcnJvcn19cmV0dXJuIGF9KHQsNCksbj1yWzBdLGk9clsxXSxvPXJbMl0scz1yWzNdO3JldHVybiBuZXcgZShuZXcgYS5CTihuKSxuZXcgYS5CTihpKSxvLHMpfSxlLnByb3RvdHlwZS5fdmFsaWRhdGU9ZnVuY3Rpb24oKXtpZih0aGlzLm5vbmNlLmx0KG5ldyBhLkJOKDApKSl0aHJvdyBuZXcgRXJyb3IoIm5vbmNlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8iKTtpZih0aGlzLmJhbGFuY2UubHQobmV3IGEuQk4oMCkpKXRocm93IG5ldyBFcnJvcigiYmFsYW5jZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvIik7aWYoMzIhPT10aGlzLnN0YXRlUm9vdC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJzdGF0ZVJvb3QgbXVzdCBoYXZlIGEgbGVuZ3RoIG9mIDMyIik7aWYoMzIhPT10aGlzLmNvZGVIYXNoLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImNvZGVIYXNoIG11c3QgaGF2ZSBhIGxlbmd0aCBvZiAzMiIpfSxlLnByb3RvdHlwZS5yYXc9ZnVuY3Rpb24oKXtyZXR1cm5bKDAsaC5iblRvVW5wYWRkZWRCdWZmZXIpKHRoaXMubm9uY2UpLCgwLGguYm5Ub1VucGFkZGVkQnVmZmVyKSh0aGlzLmJhbGFuY2UpLHRoaXMuc3RhdGVSb290LHRoaXMuY29kZUhhc2hdfSxlLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm4gYS5ybHAuZW5jb2RlKHRoaXMucmF3KCkpfSxlLnByb3RvdHlwZS5pc0NvbnRyYWN0PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuY29kZUhhc2guZXF1YWxzKGMuS0VDQ0FLMjU2X05VTEwpfSxlLnByb3RvdHlwZS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYmFsYW5jZS5pc1plcm8oKSYmdGhpcy5ub25jZS5pc1plcm8oKSYmdGhpcy5jb2RlSGFzaC5lcXVhbHMoYy5LRUNDQUsyNTZfTlVMTCl9LGV9KCk7dC5BY2NvdW50PXAsdC5pc1ZhbGlkQWRkcmVzcz1mdW5jdGlvbihlKXt0cnl7KDAsbC5hc3NlcnRJc1N0cmluZykoZSl9Y2F0Y2goZSl7cmV0dXJuITF9cmV0dXJuL14weFswLTlhLWZBLUZdezQwfSQvLnRlc3QoZSl9LHQudG9DaGVja3N1bUFkZHJlc3M9ZnVuY3Rpb24oZSx0KXsoMCxsLmFzc2VydElzSGV4U3RyaW5nKShlKTt2YXIgcj0oMCx1LnN0cmlwSGV4UHJlZml4KShlKS50b0xvd2VyQ2FzZSgpLG49IiI7dCYmKG49KDAsaC50b1R5cGUpKHQsaC5UeXBlT3V0cHV0LkJOKS50b1N0cmluZygpKyIweCIpO2Zvcih2YXIgaT0oMCxkLmtlY2Nha0Zyb21TdHJpbmcpKG4rcikudG9TdHJpbmcoImhleCIpLG89IjB4IixhPTA7YTxyLmxlbmd0aDthKyspcGFyc2VJbnQoaVthXSwxNik+PTg/bys9clthXS50b1VwcGVyQ2FzZSgpOm8rPXJbYV07cmV0dXJuIG99LHQuaXNWYWxpZENoZWNrc3VtQWRkcmVzcz1mdW5jdGlvbihlLHIpe3JldHVybigwLHQuaXNWYWxpZEFkZHJlc3MpKGUpJiYoMCx0LnRvQ2hlY2tzdW1BZGRyZXNzKShlLHIpPT09ZX0sdC5nZW5lcmF0ZUFkZHJlc3M9ZnVuY3Rpb24oZSx0KXsoMCxsLmFzc2VydElzQnVmZmVyKShlKSwoMCxsLmFzc2VydElzQnVmZmVyKSh0KTt2YXIgcj1uZXcgYS5CTih0KTtyZXR1cm4gci5pc1plcm8oKT8oMCxkLnJscGhhc2gpKFtlLG51bGxdKS5zbGljZSgtMjApOigwLGQucmxwaGFzaCkoW2Usbi5mcm9tKHIudG9BcnJheSgpKV0pLnNsaWNlKC0yMCl9LHQuZ2VuZXJhdGVBZGRyZXNzMj1mdW5jdGlvbihlLHQscil7cmV0dXJuKDAsbC5hc3NlcnRJc0J1ZmZlcikoZSksKDAsbC5hc3NlcnRJc0J1ZmZlcikodCksKDAsbC5hc3NlcnRJc0J1ZmZlcikociksKDAsby5kZWZhdWx0KSgyMD09PWUubGVuZ3RoKSwoMCxvLmRlZmF1bHQpKDMyPT09dC5sZW5ndGgpLCgwLGQua2VjY2FrMjU2KShuLmNvbmNhdChbbi5mcm9tKCJmZiIsImhleCIpLGUsdCwoMCxkLmtlY2NhazI1NikocildKSkuc2xpY2UoLTIwKX0sdC5pc1ZhbGlkUHJpdmF0ZT1mdW5jdGlvbihlKXtyZXR1cm4oMCxzLnByaXZhdGVLZXlWZXJpZnkpKGUpfSx0LmlzVmFsaWRQdWJsaWM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9ITEpLCgwLGwuYXNzZXJ0SXNCdWZmZXIpKGUpLDY0PT09ZS5sZW5ndGg/KDAscy5wdWJsaWNLZXlWZXJpZnkpKG4uY29uY2F0KFtuLmZyb20oWzRdKSxlXSkpOiEhdCYmKDAscy5wdWJsaWNLZXlWZXJpZnkpKGUpfSx0LnB1YlRvQWRkcmVzcz1mdW5jdGlvbihlLHQpe3JldHVybiB2b2lkIDA9PT10JiYodD0hMSksKDAsbC5hc3NlcnRJc0J1ZmZlcikoZSksdCYmNjQhPT1lLmxlbmd0aCYmKGU9bi5mcm9tKCgwLHMucHVibGljS2V5Q29udmVydCkoZSwhMSkuc2xpY2UoMSkpKSwoMCxvLmRlZmF1bHQpKDY0PT09ZS5sZW5ndGgpLCgwLGQua2VjY2FrKShlKS5zbGljZSgtMjApfSx0LnB1YmxpY1RvQWRkcmVzcz10LnB1YlRvQWRkcmVzcyx0LnByaXZhdGVUb1B1YmxpYz1mdW5jdGlvbihlKXtyZXR1cm4oMCxsLmFzc2VydElzQnVmZmVyKShlKSxuLmZyb20oKDAscy5wdWJsaWNLZXlDcmVhdGUpKGUsITEpKS5zbGljZSgxKX0sdC5wcml2YXRlVG9BZGRyZXNzPWZ1bmN0aW9uKGUpe3JldHVybigwLHQucHVibGljVG9BZGRyZXNzKSgoMCx0LnByaXZhdGVUb1B1YmxpYykoZSkpfSx0LmltcG9ydFB1YmxpYz1mdW5jdGlvbihlKXtyZXR1cm4oMCxsLmFzc2VydElzQnVmZmVyKShlKSw2NCE9PWUubGVuZ3RoJiYoZT1uLmZyb20oKDAscy5wdWJsaWNLZXlDb252ZXJ0KShlLCExKS5zbGljZSgxKSkpLGV9LHQuemVyb0FkZHJlc3M9ZnVuY3Rpb24oKXt2YXIgZT0oMCxmLnplcm9zKSgyMCk7cmV0dXJuKDAsZi5idWZmZXJUb0hleCkoZSl9LHQuaXNaZXJvQWRkcmVzcz1mdW5jdGlvbihlKXt0cnl7KDAsbC5hc3NlcnRJc1N0cmluZykoZSl9Y2F0Y2goZSl7cmV0dXJuITF9cmV0dXJuKDAsdC56ZXJvQWRkcmVzcykoKT09PWV9fSwxOTg0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuQWRkcmVzcz12b2lkIDA7dmFyIGksbz0oaT1yKDM4OTQpKSYmaS5fX2VzTW9kdWxlP2k6e2RlZmF1bHQ6aX0sYT1yKDkxMDApLHM9cigzNDY0KSx1PXIoMTk2OCksYz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7KDAsby5kZWZhdWx0KSgyMD09PWUubGVuZ3RoLCJJbnZhbGlkIGFkZHJlc3MgbGVuZ3RoIiksdGhpcy5idWY9ZX1yZXR1cm4gZS56ZXJvPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBlKCgwLHMuemVyb3MpKDIwKSl9LGUuZnJvbVN0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4oMCxvLmRlZmF1bHQpKCgwLHUuaXNWYWxpZEFkZHJlc3MpKHQpLCJJbnZhbGlkIGFkZHJlc3MiKSxuZXcgZSgoMCxzLnRvQnVmZmVyKSh0KSl9LGUuZnJvbVB1YmxpY0tleT1mdW5jdGlvbih0KXtyZXR1cm4oMCxvLmRlZmF1bHQpKG4uaXNCdWZmZXIodCksIlB1YmxpYyBrZXkgc2hvdWxkIGJlIEJ1ZmZlciIpLG5ldyBlKCgwLHUucHViVG9BZGRyZXNzKSh0KSl9LGUuZnJvbVByaXZhdGVLZXk9ZnVuY3Rpb24odCl7cmV0dXJuKDAsby5kZWZhdWx0KShuLmlzQnVmZmVyKHQpLCJQcml2YXRlIGtleSBzaG91bGQgYmUgQnVmZmVyIiksbmV3IGUoKDAsdS5wcml2YXRlVG9BZGRyZXNzKSh0KSl9LGUuZ2VuZXJhdGU9ZnVuY3Rpb24odCxyKXtyZXR1cm4oMCxvLmRlZmF1bHQpKGEuQk4uaXNCTihyKSksbmV3IGUoKDAsdS5nZW5lcmF0ZUFkZHJlc3MpKHQuYnVmLHIudG9BcnJheUxpa2UobikpKX0sZS5nZW5lcmF0ZTI9ZnVuY3Rpb24odCxyLGkpe3JldHVybigwLG8uZGVmYXVsdCkobi5pc0J1ZmZlcihyKSksKDAsby5kZWZhdWx0KShuLmlzQnVmZmVyKGkpKSxuZXcgZSgoMCx1LmdlbmVyYXRlQWRkcmVzczIpKHQuYnVmLHIsaSkpfSxlLnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuYnVmLmVxdWFscyhlLmJ1Zil9LGUucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVxdWFscyhlLnplcm8oKSl9LGUucHJvdG90eXBlLmlzUHJlY29tcGlsZU9yU3lzdGVtQWRkcmVzcz1mdW5jdGlvbigpe3ZhciBlPW5ldyBhLkJOKHRoaXMuYnVmKSx0PW5ldyBhLkJOKDApLHI9bmV3IGEuQk4oImZmZmYiLCJoZXgiKTtyZXR1cm4gZS5ndGUodCkmJmUubHRlKHIpfSxlLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIweCIrdGhpcy5idWYudG9TdHJpbmcoImhleCIpfSxlLnByb3RvdHlwZS50b0J1ZmZlcj1mdW5jdGlvbigpe3JldHVybiBuLmZyb20odGhpcy5idWYpfSxlfSgpO3QuQWRkcmVzcz1jfSwzNDY0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXIsaT1mdW5jdGlvbihlLHQpe3ZhciByPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXTtpZighcilyZXR1cm4gZTt2YXIgbixpLG89ci5jYWxsKGUpLGE9W107dHJ5e2Zvcig7KHZvaWQgMD09PXR8fHQtLSA+MCkmJiEobj1vLm5leHQoKSkuZG9uZTspYS5wdXNoKG4udmFsdWUpfWNhdGNoKGUpe2k9e2Vycm9yOmV9fWZpbmFsbHl7dHJ5e24mJiFuLmRvbmUmJihyPW8ucmV0dXJuKSYmci5jYWxsKG8pfWZpbmFsbHl7aWYoaSl0aHJvdyBpLmVycm9yfX1yZXR1cm4gYX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuYnVmQXJyVG9BcnI9dC5hcnJUb0J1ZkFycj10LnZhbGlkYXRlTm9MZWFkaW5nWmVyb2VzPXQuYmFUb0pTT049dC50b1V0Zjg9dC5hZGRIZXhQcmVmaXg9dC50b1Vuc2lnbmVkPXQuZnJvbVNpZ25lZD10LmJ1ZmZlclRvSGV4PXQuYnVmZmVyVG9JbnQ9dC50b0J1ZmZlcj10LnVucGFkSGV4U3RyaW5nPXQudW5wYWRBcnJheT10LnVucGFkQnVmZmVyPXQuc2V0TGVuZ3RoUmlnaHQ9dC5zZXRMZW5ndGhMZWZ0PXQuemVyb3M9dC5pbnRUb0J1ZmZlcj10LmludFRvSGV4PXZvaWQgMDt2YXIgbz1yKDkxMDApLGE9cigzMjcxKSxzPXIoNTcyNSk7dC5pbnRUb0hleD1mdW5jdGlvbihlKXtpZighTnVtYmVyLmlzU2FmZUludGVnZXIoZSl8fGU8MCl0aHJvdyBuZXcgRXJyb3IoIlJlY2VpdmVkIGFuIGludmFsaWQgaW50ZWdlciB0eXBlOiAiLmNvbmNhdChlKSk7cmV0dXJuIjB4Ii5jb25jYXQoZS50b1N0cmluZygxNikpfSx0LmludFRvQnVmZmVyPWZ1bmN0aW9uKGUpe3ZhciByPSgwLHQuaW50VG9IZXgpKGUpO3JldHVybiBuLmZyb20oKDAsYS5wYWRUb0V2ZW4pKHIuc2xpY2UoMikpLCJoZXgiKX0sdC56ZXJvcz1mdW5jdGlvbihlKXtyZXR1cm4gbi5hbGxvY1Vuc2FmZShlKS5maWxsKDApfTt2YXIgdT1mdW5jdGlvbihlLHIsbil7dmFyIGk9KDAsdC56ZXJvcykocik7cmV0dXJuIG4/ZS5sZW5ndGg8cj8oZS5jb3B5KGkpLGkpOmUuc2xpY2UoMCxyKTplLmxlbmd0aDxyPyhlLmNvcHkoaSxyLWUubGVuZ3RoKSxpKTplLnNsaWNlKC1yKX07dC5zZXRMZW5ndGhMZWZ0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAscy5hc3NlcnRJc0J1ZmZlcikoZSksdShlLHQsITEpfSx0LnNldExlbmd0aFJpZ2h0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAscy5hc3NlcnRJc0J1ZmZlcikoZSksdShlLHQsITApfTt2YXIgYz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9ZVswXTtlLmxlbmd0aD4wJiYiMCI9PT10LnRvU3RyaW5nKCk7KXQ9KGU9ZS5zbGljZSgxKSlbMF07cmV0dXJuIGV9O3QudW5wYWRCdWZmZXI9ZnVuY3Rpb24oZSl7cmV0dXJuKDAscy5hc3NlcnRJc0J1ZmZlcikoZSksYyhlKX0sdC51bnBhZEFycmF5PWZ1bmN0aW9uKGUpe3JldHVybigwLHMuYXNzZXJ0SXNBcnJheSkoZSksYyhlKX0sdC51bnBhZEhleFN0cmluZz1mdW5jdGlvbihlKXtyZXR1cm4oMCxzLmFzc2VydElzSGV4U3RyaW5nKShlKSxlPSgwLGEuc3RyaXBIZXhQcmVmaXgpKGUpLGMoZSl9LHQudG9CdWZmZXI9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gbi5hbGxvY1Vuc2FmZSgwKTtpZihuLmlzQnVmZmVyKGUpKXJldHVybiBuLmZyb20oZSk7aWYoQXJyYXkuaXNBcnJheShlKXx8ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuIG4uZnJvbShlKTtpZigic3RyaW5nIj09dHlwZW9mIGUpe2lmKCEoMCxhLmlzSGV4U3RyaW5nKShlKSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBjb252ZXJ0IHN0cmluZyB0byBidWZmZXIuIHRvQnVmZmVyIG9ubHkgc3VwcG9ydHMgMHgtcHJlZml4ZWQgaGV4IHN0cmluZ3MgYW5kIHRoaXMgc3RyaW5nIHdhcyBnaXZlbjogIi5jb25jYXQoZSkpO3JldHVybiBuLmZyb20oKDAsYS5wYWRUb0V2ZW4pKCgwLGEuc3RyaXBIZXhQcmVmaXgpKGUpKSwiaGV4Iil9aWYoIm51bWJlciI9PXR5cGVvZiBlKXJldHVybigwLHQuaW50VG9CdWZmZXIpKGUpO2lmKG8uQk4uaXNCTihlKSl7aWYoZS5pc05lZygpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGNvbnZlcnQgbmVnYXRpdmUgQk4gdG8gYnVmZmVyLiBHaXZlbjogIi5jb25jYXQoZSkpO3JldHVybiBlLnRvQXJyYXlMaWtlKG4pfWlmKGUudG9BcnJheSlyZXR1cm4gbi5mcm9tKGUudG9BcnJheSgpKTtpZihlLnRvQnVmZmVyKXJldHVybiBuLmZyb20oZS50b0J1ZmZlcigpKTt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgdHlwZSIpfSx0LmJ1ZmZlclRvSW50PWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgby5CTigoMCx0LnRvQnVmZmVyKShlKSkudG9OdW1iZXIoKX0sdC5idWZmZXJUb0hleD1mdW5jdGlvbihlKXtyZXR1cm4iMHgiKyhlPSgwLHQudG9CdWZmZXIpKGUpKS50b1N0cmluZygiaGV4Iil9LHQuZnJvbVNpZ25lZD1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IG8uQk4oZSkuZnJvbVR3b3MoMjU2KX0sdC50b1Vuc2lnbmVkPWZ1bmN0aW9uKGUpe3JldHVybiBuLmZyb20oZS50b1R3b3MoMjU2KS50b0FycmF5KCkpfSx0LmFkZEhleFByZWZpeD1mdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGV8fCgwLGEuaXNIZXhQcmVmaXhlZCkoZSk/ZToiMHgiK2V9LHQudG9VdGY4PWZ1bmN0aW9uKGUpe2lmKChlPSgwLGEuc3RyaXBIZXhQcmVmaXgpKGUpKS5sZW5ndGglMiE9MCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgbm9uLWV2ZW4gaGV4IHN0cmluZyBpbnB1dCBmb3IgdG9VdGY4KCkgcHJvdmlkZWQiKTtyZXR1cm4gbi5mcm9tKGUucmVwbGFjZSgvXigwMCkrfCgwMCkrJC9nLCIiKSwiaGV4IikudG9TdHJpbmcoInV0ZjgiKX0sdC5iYVRvSlNPTj1mdW5jdGlvbihlKXtpZihuLmlzQnVmZmVyKGUpKXJldHVybiIweCIuY29uY2F0KGUudG9TdHJpbmcoImhleCIpKTtpZihlIGluc3RhbmNlb2YgQXJyYXkpe2Zvcih2YXIgcj1bXSxpPTA7aTxlLmxlbmd0aDtpKyspci5wdXNoKCgwLHQuYmFUb0pTT04pKGVbaV0pKTtyZXR1cm4gcn19LHQudmFsaWRhdGVOb0xlYWRpbmdaZXJvZXM9ZnVuY3Rpb24oZSl7dmFyIHQscjt0cnl7Zm9yKHZhciBuPWZ1bmN0aW9uKGUpe3ZhciB0PSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvcixyPXQmJmVbdF0sbj0wO2lmKHIpcmV0dXJuIHIuY2FsbChlKTtpZihlJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKXJldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGUmJm4+PWUubGVuZ3RoJiYoZT12b2lkIDApLHt2YWx1ZTplJiZlW24rK10sZG9uZTohZX19fTt0aHJvdyBuZXcgVHlwZUVycm9yKHQ/Ik9iamVjdCBpcyBub3QgaXRlcmFibGUuIjoiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpfShPYmplY3QuZW50cmllcyhlKSksbz1uLm5leHQoKTshby5kb25lO289bi5uZXh0KCkpe3ZhciBhPWkoby52YWx1ZSwyKSxzPWFbMF0sdT1hWzFdO2lmKHZvaWQgMCE9PXUmJnUubGVuZ3RoPjAmJjA9PT11WzBdKXRocm93IG5ldyBFcnJvcigiIi5jb25jYXQocywiIGNhbm5vdCBoYXZlIGxlYWRpbmcgemVyb2VzLCByZWNlaXZlZDogIikuY29uY2F0KHUudG9TdHJpbmcoImhleCIpKSl9fWNhdGNoKGUpe3Q9e2Vycm9yOmV9fWZpbmFsbHl7dHJ5e28mJiFvLmRvbmUmJihyPW4ucmV0dXJuKSYmci5jYWxsKG4pfWZpbmFsbHl7aWYodCl0aHJvdyB0LmVycm9yfX19LHQuYXJyVG9CdWZBcnI9ZnVuY3Rpb24gZSh0KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGUodCl9KSk6bi5mcm9tKHQpfSx0LmJ1ZkFyclRvQXJyPWZ1bmN0aW9uIGUodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBlKHQpfSkpOlVpbnQ4QXJyYXkuZnJvbShudWxsIT10P3Q6W10pfX0sOTg2OihlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuS0VDQ0FLMjU2X1JMUD10LktFQ0NBSzI1Nl9STFBfUz10LktFQ0NBSzI1Nl9STFBfQVJSQVk9dC5LRUNDQUsyNTZfUkxQX0FSUkFZX1M9dC5LRUNDQUsyNTZfTlVMTD10LktFQ0NBSzI1Nl9OVUxMX1M9dC5UV09fUE9XMjU2PXQuTUFYX0lOVEVHRVI9dC5NQVhfVUlOVDY0PXZvaWQgMDt2YXIgbj1yKDkwMzMpLGk9cig5MTAwKTt0Lk1BWF9VSU5UNjQ9bmV3IGkuQk4oImZmZmZmZmZmZmZmZmZmZmYiLDE2KSx0Lk1BWF9JTlRFR0VSPW5ldyBpLkJOKCJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIiwxNiksdC5UV09fUE9XMjU2PW5ldyBpLkJOKCIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsMTYpLHQuS0VDQ0FLMjU2X05VTExfUz0iYzVkMjQ2MDE4NmY3MjMzYzkyN2U3ZGIyZGNjNzAzYzBlNTAwYjY1M2NhODIyNzNiN2JmYWQ4MDQ1ZDg1YTQ3MCIsdC5LRUNDQUsyNTZfTlVMTD1uLkJ1ZmZlci5mcm9tKHQuS0VDQ0FLMjU2X05VTExfUywiaGV4IiksdC5LRUNDQUsyNTZfUkxQX0FSUkFZX1M9IjFkY2M0ZGU4ZGVjNzVkN2FhYjg1YjU2N2I2Y2NkNDFhZDMxMjQ1MWI5NDhhNzQxM2YwYTE0MmZkNDBkNDkzNDciLHQuS0VDQ0FLMjU2X1JMUF9BUlJBWT1uLkJ1ZmZlci5mcm9tKHQuS0VDQ0FLMjU2X1JMUF9BUlJBWV9TLCJoZXgiKSx0LktFQ0NBSzI1Nl9STFBfUz0iNTZlODFmMTcxYmNjNTVhNmZmODM0NWU2OTJjMGY4NmU1YjQ4ZTAxYjk5NmNhZGMwMDE2MjJmYjVlMzYzYjQyMSIsdC5LRUNDQUsyNTZfUkxQPW4uQnVmZmVyLmZyb20odC5LRUNDQUsyNTZfUkxQX1MsImhleCIpfSw5MTAwOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49T2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihlLHQscixuKXt2b2lkIDA9PT1uJiYobj1yKTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQscik7aSYmISgiZ2V0ImluIGk/IXQuX19lc01vZHVsZTppLndyaXRhYmxlfHxpLmNvbmZpZ3VyYWJsZSl8fChpPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W3JdfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4saSl9OmZ1bmN0aW9uKGUsdCxyLG4pe3ZvaWQgMD09PW4mJihuPXIpLGVbbl09dFtyXX0saT1PYmplY3QuY3JlYXRlP2Z1bmN0aW9uKGUsdCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOnR9KX06ZnVuY3Rpb24oZSx0KXtlLmRlZmF1bHQ9dH07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQucmxwPXQuQk49dm9pZCAwO3ZhciBvLGE9KG89cigxNzM0KSkmJm8uX19lc01vZHVsZT9vOntkZWZhdWx0Om99O3QuQk49YS5kZWZhdWx0O3ZhciBzPWZ1bmN0aW9uKGUpe2lmKGUmJmUuX19lc01vZHVsZSlyZXR1cm4gZTt2YXIgdD17fTtpZihudWxsIT1lKWZvcih2YXIgciBpbiBlKSJkZWZhdWx0IiE9PXImJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHIpJiZuKHQsZSxyKTtyZXR1cm4gaSh0LGUpLHR9KHIoNjkwNSkpO3QucmxwPXN9LDk4MDg6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDkwMzMpLkJ1ZmZlcjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5ybHBoYXNoPXQucmlwZW1kMTYwRnJvbUFycmF5PXQucmlwZW1kMTYwRnJvbVN0cmluZz10LnJpcGVtZDE2MD10LnNoYTI1NkZyb21BcnJheT10LnNoYTI1NkZyb21TdHJpbmc9dC5zaGEyNTY9dC5rZWNjYWtGcm9tQXJyYXk9dC5rZWNjYWtGcm9tSGV4U3RyaW5nPXQua2VjY2FrRnJvbVN0cmluZz10LmtlY2NhazI1Nj10LmtlY2Nhaz12b2lkIDA7dmFyIGk9cigxMjQzKSxvPXIoNTg2NiksYT1yKDkxMDApLHM9cigzNDY0KSx1PXIoNTcyNSk7dC5rZWNjYWs9ZnVuY3Rpb24oZSx0KXtzd2l0Y2godm9pZCAwPT09dCYmKHQ9MjU2KSwoMCx1LmFzc2VydElzQnVmZmVyKShlKSx0KXtjYXNlIDIyNDpyZXR1cm4oMCxpLmtlY2NhazIyNCkoZSk7Y2FzZSAyNTY6cmV0dXJuKDAsaS5rZWNjYWsyNTYpKGUpO2Nhc2UgMzg0OnJldHVybigwLGkua2VjY2FrMzg0KShlKTtjYXNlIDUxMjpyZXR1cm4oMCxpLmtlY2NhazUxMikoZSk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkludmFsZCBhbGdvcml0aG06IGtlY2NhayIuY29uY2F0KHQpKX19LHQua2VjY2FrMjU2PWZ1bmN0aW9uKGUpe3JldHVybigwLHQua2VjY2FrKShlKX0sdC5rZWNjYWtGcm9tU3RyaW5nPWZ1bmN0aW9uKGUscil7dm9pZCAwPT09ciYmKHI9MjU2KSwoMCx1LmFzc2VydElzU3RyaW5nKShlKTt2YXIgaT1uLmZyb20oZSwidXRmOCIpO3JldHVybigwLHQua2VjY2FrKShpLHIpfSx0LmtlY2Nha0Zyb21IZXhTdHJpbmc9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9MjU2KSwoMCx1LmFzc2VydElzSGV4U3RyaW5nKShlKSwoMCx0LmtlY2NhaykoKDAscy50b0J1ZmZlcikoZSkscil9LHQua2VjY2FrRnJvbUFycmF5PWZ1bmN0aW9uKGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPTI1NiksKDAsdS5hc3NlcnRJc0FycmF5KShlKSwoMCx0LmtlY2NhaykoKDAscy50b0J1ZmZlcikoZSkscil9O3ZhciBjPWZ1bmN0aW9uKGUpe3JldHVybiBlPSgwLHMudG9CdWZmZXIpKGUpLG8oInNoYTI1NiIpLnVwZGF0ZShlKS5kaWdlc3QoKX07dC5zaGEyNTY9ZnVuY3Rpb24oZSl7cmV0dXJuKDAsdS5hc3NlcnRJc0J1ZmZlcikoZSksYyhlKX0sdC5zaGEyNTZGcm9tU3RyaW5nPWZ1bmN0aW9uKGUpe3JldHVybigwLHUuYXNzZXJ0SXNTdHJpbmcpKGUpLGMoZSl9LHQuc2hhMjU2RnJvbUFycmF5PWZ1bmN0aW9uKGUpe3JldHVybigwLHUuYXNzZXJ0SXNBcnJheSkoZSksYyhlKX07dmFyIGY9ZnVuY3Rpb24oZSx0KXtlPSgwLHMudG9CdWZmZXIpKGUpO3ZhciByPW8oInJtZDE2MCIpLnVwZGF0ZShlKS5kaWdlc3QoKTtyZXR1cm4hMD09PXQ/KDAscy5zZXRMZW5ndGhMZWZ0KShyLDMyKTpyfTt0LnJpcGVtZDE2MD1mdW5jdGlvbihlLHQpe3JldHVybigwLHUuYXNzZXJ0SXNCdWZmZXIpKGUpLGYoZSx0KX0sdC5yaXBlbWQxNjBGcm9tU3RyaW5nPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsdS5hc3NlcnRJc1N0cmluZykoZSksZihlLHQpfSx0LnJpcGVtZDE2MEZyb21BcnJheT1mdW5jdGlvbihlLHQpe3JldHVybigwLHUuYXNzZXJ0SXNBcnJheSkoZSksZihlLHQpfSx0LnJscGhhc2g9ZnVuY3Rpb24oZSl7cmV0dXJuKDAsdC5rZWNjYWspKGEucmxwLmVuY29kZShlKSl9fSw1NzI1OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuYXNzZXJ0SXNTdHJpbmc9dC5hc3NlcnRJc0FycmF5PXQuYXNzZXJ0SXNCdWZmZXI9dC5hc3NlcnRJc0hleFN0cmluZz12b2lkIDA7dmFyIGk9cigzMjcxKTt0LmFzc2VydElzSGV4U3RyaW5nPWZ1bmN0aW9uKGUpe2lmKCEoMCxpLmlzSGV4U3RyaW5nKShlKSl7dmFyIHQ9IlRoaXMgbWV0aG9kIG9ubHkgc3VwcG9ydHMgMHgtcHJlZml4ZWQgaGV4IHN0cmluZ3MgYnV0IGlucHV0IHdhczogIi5jb25jYXQoZSk7dGhyb3cgbmV3IEVycm9yKHQpfX0sdC5hc3NlcnRJc0J1ZmZlcj1mdW5jdGlvbihlKXtpZighbi5pc0J1ZmZlcihlKSl7dmFyIHQ9IlRoaXMgbWV0aG9kIG9ubHkgc3VwcG9ydHMgQnVmZmVyIGJ1dCBpbnB1dCB3YXM6ICIuY29uY2F0KGUpO3Rocm93IG5ldyBFcnJvcih0KX19LHQuYXNzZXJ0SXNBcnJheT1mdW5jdGlvbihlKXtpZighQXJyYXkuaXNBcnJheShlKSl7dmFyIHQ9IlRoaXMgbWV0aG9kIG9ubHkgc3VwcG9ydHMgbnVtYmVyIGFycmF5cyBidXQgaW5wdXQgd2FzOiAiLmNvbmNhdChlKTt0aHJvdyBuZXcgRXJyb3IodCl9fSx0LmFzc2VydElzU3RyaW5nPWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl7dmFyIHQ9IlRoaXMgbWV0aG9kIG9ubHkgc3VwcG9ydHMgc3RyaW5ncyBidXQgaW5wdXQgd2FzOiAiLmNvbmNhdChlKTt0aHJvdyBuZXcgRXJyb3IodCl9fX0sMzA2MjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPU9iamVjdC5jcmVhdGU/ZnVuY3Rpb24oZSx0LHIsbil7dm9pZCAwPT09biYmKG49cik7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LHIpO2kmJiEoImdldCJpbiBpPyF0Ll9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpfHwoaT17ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtyXX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLGkpfTpmdW5jdGlvbihlLHQscixuKXt2b2lkIDA9PT1uJiYobj1yKSxlW25dPXRbcl19LGk9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gZSkiZGVmYXVsdCI9PT1yfHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKXx8bih0LGUscil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmlzSGV4U3RyaW5nPXQuZ2V0S2V5cz10LmZyb21Bc2NpaT10LmZyb21VdGY4PXQudG9Bc2NpaT10LmFycmF5Q29udGFpbnNBcnJheT10LmdldEJpbmFyeVNpemU9dC5wYWRUb0V2ZW49dC5zdHJpcEhleFByZWZpeD10LmlzSGV4UHJlZml4ZWQ9dm9pZCAwLGkocig5ODYpLHQpLGkocigxOTY4KSx0KSxpKHIoMTk4NCksdCksaShyKDk4MDgpLHQpLGkocig2MDgxKSx0KSxpKHIoMzQ2NCksdCksaShyKDE2NzcpLHQpLGkocig5MTAwKSx0KSxpKHIoNTUxMyksdCk7dmFyIG89cigzMjcxKTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiaXNIZXhQcmVmaXhlZCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG8uaXNIZXhQcmVmaXhlZH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwic3RyaXBIZXhQcmVmaXgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvLnN0cmlwSGV4UHJlZml4fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJwYWRUb0V2ZW4iLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvLnBhZFRvRXZlbn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiZ2V0QmluYXJ5U2l6ZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG8uZ2V0QmluYXJ5U2l6ZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiYXJyYXlDb250YWluc0FycmF5Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gby5hcnJheUNvbnRhaW5zQXJyYXl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInRvQXNjaWkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvLnRvQXNjaWl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImZyb21VdGY4Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gby5mcm9tVXRmOH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiZnJvbUFzY2lpIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gby5mcm9tQXNjaWl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImdldEtleXMiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvLmdldEtleXN9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImlzSGV4U3RyaW5nIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gby5pc0hleFN0cmluZ319KX0sMzI3MTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTAzMykuQnVmZmVyLGk9cig4ODQ3KShyKDMzNTUpKTtmdW5jdGlvbiBvKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIltpc0hleFByZWZpeGVkXSBpbnB1dCBtdXN0IGJlIHR5cGUgJ3N0cmluZycsIHJlY2VpdmVkIHR5cGUgIi5jb25jYXQoKDAsaS5kZWZhdWx0KShlKSkpO3JldHVybiIwIj09PWVbMF0mJiJ4Ij09PWVbMV19ZnVuY3Rpb24gYShlKXt2YXIgdD1lO2lmKCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoIltwYWRUb0V2ZW5dIHZhbHVlIG11c3QgYmUgdHlwZSAnc3RyaW5nJywgcmVjZWl2ZWQgIi5jb25jYXQoKDAsaS5kZWZhdWx0KSh0KSkpO3JldHVybiB0Lmxlbmd0aCUyJiYodD0iMCIuY29uY2F0KHQpKSx0fU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmlzSGV4U3RyaW5nPXQuZ2V0S2V5cz10LmZyb21Bc2NpaT10LmZyb21VdGY4PXQudG9Bc2NpaT10LmFycmF5Q29udGFpbnNBcnJheT10LmdldEJpbmFyeVNpemU9dC5wYWRUb0V2ZW49dC5zdHJpcEhleFByZWZpeD10LmlzSGV4UHJlZml4ZWQ9dm9pZCAwLHQuaXNIZXhQcmVmaXhlZD1vLHQuc3RyaXBIZXhQcmVmaXg9ZnVuY3Rpb24oZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiW3N0cmlwSGV4UHJlZml4XSBpbnB1dCBtdXN0IGJlIHR5cGUgJ3N0cmluZycsIHJlY2VpdmVkICIuY29uY2F0KCgwLGkuZGVmYXVsdCkoZSkpKTtyZXR1cm4gbyhlKT9lLnNsaWNlKDIpOmV9LHQucGFkVG9FdmVuPWEsdC5nZXRCaW5hcnlTaXplPWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIltnZXRCaW5hcnlTaXplXSBtZXRob2QgcmVxdWlyZXMgaW5wdXQgdHlwZSAnc3RyaW5nJywgcmVjaWV2ZWQgIi5jb25jYXQoKDAsaS5kZWZhdWx0KShlKSkpO3JldHVybiBuLmJ5dGVMZW5ndGgoZSwidXRmOCIpfSx0LmFycmF5Q29udGFpbnNBcnJheT1mdW5jdGlvbihlLHQscil7aWYoITAhPT1BcnJheS5pc0FycmF5KGUpKXRocm93IG5ldyBFcnJvcigiW2FycmF5Q29udGFpbnNBcnJheV0gbWV0aG9kIHJlcXVpcmVzIGlucHV0ICdzdXBlcnNldCcgdG8gYmUgYW4gYXJyYXksIGdvdCB0eXBlICciLmNvbmNhdCgoMCxpLmRlZmF1bHQpKGUpLCInIikpO2lmKCEwIT09QXJyYXkuaXNBcnJheSh0KSl0aHJvdyBuZXcgRXJyb3IoIlthcnJheUNvbnRhaW5zQXJyYXldIG1ldGhvZCByZXF1aXJlcyBpbnB1dCAnc3Vic2V0JyB0byBiZSBhbiBhcnJheSwgZ290IHR5cGUgJyIuY29uY2F0KCgwLGkuZGVmYXVsdCkodCksIiciKSk7cmV0dXJuIHRbcj8ic29tZSI6ImV2ZXJ5Il0oKGZ1bmN0aW9uKHQpe3JldHVybiBlLmluZGV4T2YodCk+PTB9KSl9LHQudG9Bc2NpaT1mdW5jdGlvbihlKXt2YXIgdD0iIixyPTAsbj1lLmxlbmd0aDtmb3IoIjB4Ij09PWUuc3Vic3RyaW5nKDAsMikmJihyPTIpO3I8bjtyKz0yKXt2YXIgaT1wYXJzZUludChlLnN1YnN0cihyLDIpLDE2KTt0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpfXJldHVybiB0fSx0LmZyb21VdGY4PWZ1bmN0aW9uKGUpe3ZhciB0PW4uZnJvbShlLCJ1dGY4Iik7cmV0dXJuIjB4Ii5jb25jYXQoYSh0LnRvU3RyaW5nKCJoZXgiKSkucmVwbGFjZSgvXjArfDArJC9nLCIiKSl9LHQuZnJvbUFzY2lpPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0iIixyPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBuPWUuY2hhckNvZGVBdChyKS50b1N0cmluZygxNik7dCs9bi5sZW5ndGg8Mj8iMCIuY29uY2F0KG4pOm59cmV0dXJuIjB4Ii5jb25jYXQodCl9LHQuZ2V0S2V5cz1mdW5jdGlvbihlLHQscil7aWYoIUFycmF5LmlzQXJyYXkoZSkpdGhyb3cgbmV3IEVycm9yKCJbZ2V0S2V5c10gbWV0aG9kIGV4cGVjdHMgaW5wdXQgJ3BhcmFtcycgdG8gYmUgYW4gYXJyYXksIGdvdCAiLmNvbmNhdCgoMCxpLmRlZmF1bHQpKGUpKSk7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiW2dldEtleXNdIG1ldGhvZCBleHBlY3RzIGlucHV0ICdrZXknIHRvIGJlIHR5cGUgJ3N0cmluZycsIGdvdCAiLmNvbmNhdCgoMCxpLmRlZmF1bHQpKGUpKSk7Zm9yKHZhciBuPVtdLG89MDtvPGUubGVuZ3RoO28rKyl7dmFyIGE9ZVtvXVt0XTtpZihyJiYhYSlhPSIiO2Vsc2UgaWYoInN0cmluZyIhPXR5cGVvZiBhKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBhYmkgLSBleHBlY3RlZCB0eXBlICdzdHJpbmcnLCByZWNlaXZlZCAiLmNvbmNhdCgoMCxpLmRlZmF1bHQpKGEpKSk7bi5wdXNoKGEpfXJldHVybiBufSx0LmlzSGV4U3RyaW5nPWZ1bmN0aW9uKGUsdCl7cmV0dXJuISgic3RyaW5nIiE9dHlwZW9mIGV8fCFlLm1hdGNoKC9eMHhbMC05QS1GYS1mXSokLyl8fHQmJmUubGVuZ3RoIT09MisyKnQpfX0sMTY3NzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTAzMykuQnVmZmVyLGk9cig4ODQ3KShyKDMzNTUpKTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZpbmVQcm9wZXJ0aWVzPXZvaWQgMDt2YXIgbyxhPShvPXIoMzg5NCkpJiZvLl9fZXNNb2R1bGU/bzp7ZGVmYXVsdDpvfSxzPXIoMzI3MSksdT1yKDkxMDApLGM9cigzNDY0KTt0LmRlZmluZVByb3BlcnRpZXM9ZnVuY3Rpb24oZSx0LHIpe2lmKGUucmF3PVtdLGUuX2ZpZWxkcz1bXSxlLnRvSlNPTj1mdW5jdGlvbih0KXtpZih2b2lkIDA9PT10JiYodD0hMSksdCl7dmFyIHI9e307cmV0dXJuIGUuX2ZpZWxkcy5mb3JFYWNoKChmdW5jdGlvbih0KXtyW3RdPSIweCIuY29uY2F0KGVbdF0udG9TdHJpbmcoImhleCIpKX0pKSxyfXJldHVybigwLGMuYmFUb0pTT04pKGUucmF3KX0sZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdS5ybHAuZW5jb2RlKGUucmF3KX0sdC5mb3JFYWNoKChmdW5jdGlvbih0LHIpe2Z1bmN0aW9uIGkoKXtyZXR1cm4gZS5yYXdbcl19ZnVuY3Rpb24gbyhpKXsiMDAiIT09KGk9KDAsYy50b0J1ZmZlcikoaSkpLnRvU3RyaW5nKCJoZXgiKXx8dC5hbGxvd1plcm98fChpPW4uYWxsb2NVbnNhZmUoMCkpLHQuYWxsb3dMZXNzJiZ0Lmxlbmd0aD8oaT0oMCxjLnVucGFkQnVmZmVyKShpKSwoMCxhLmRlZmF1bHQpKHQubGVuZ3RoPj1pLmxlbmd0aCwiVGhlIGZpZWxkICIuY29uY2F0KHQubmFtZSwiIG11c3Qgbm90IGhhdmUgbW9yZSAiKS5jb25jYXQodC5sZW5ndGgsIiBieXRlcyIpKSk6dC5hbGxvd1plcm8mJjA9PT1pLmxlbmd0aHx8IXQubGVuZ3RofHwoMCxhLmRlZmF1bHQpKHQubGVuZ3RoPT09aS5sZW5ndGgsIlRoZSBmaWVsZCAiLmNvbmNhdCh0Lm5hbWUsIiBtdXN0IGhhdmUgYnl0ZSBsZW5ndGggb2YgIikuY29uY2F0KHQubGVuZ3RoKSksZS5yYXdbcl09aX1lLl9maWVsZHMucHVzaCh0Lm5hbWUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQubmFtZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0Omksc2V0Om99KSx0LmRlZmF1bHQmJihlW3QubmFtZV09dC5kZWZhdWx0KSx0LmFsaWFzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LmFsaWFzLHtlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMCxzZXQ6byxnZXQ6aX0pfSkpLHIpaWYoInN0cmluZyI9PXR5cGVvZiByJiYocj1uLmZyb20oKDAscy5zdHJpcEhleFByZWZpeCkociksImhleCIpKSxuLmlzQnVmZmVyKHIpJiYocj11LnJscC5kZWNvZGUocikpLEFycmF5LmlzQXJyYXkocikpe2lmKHIubGVuZ3RoPmUuX2ZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBudW1iZXIgb2YgZmllbGRzIGluIGRhdGEiKTtyLmZvckVhY2goKGZ1bmN0aW9uKHQscil7ZVtlLl9maWVsZHNbcl1dPSgwLGMudG9CdWZmZXIpKHQpfSkpfWVsc2V7aWYoIm9iamVjdCIhPT0oMCxpLmRlZmF1bHQpKHIpKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBkYXRhIik7dmFyIG89T2JqZWN0LmtleXMocik7dC5mb3JFYWNoKChmdW5jdGlvbih0KXstMSE9PW8uaW5kZXhPZih0Lm5hbWUpJiYoZVt0Lm5hbWVdPXJbdC5uYW1lXSksLTEhPT1vLmluZGV4T2YodC5hbGlhcykmJihlW3QuYWxpYXNdPXJbdC5hbGlhc10pfSkpfX19LDYwODE6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDkwMzMpLkJ1ZmZlcjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5oYXNoUGVyc29uYWxNZXNzYWdlPXQuaXNWYWxpZFNpZ25hdHVyZT10LmZyb21ScGNTaWc9dC50b0NvbXBhY3RTaWc9dC50b1JwY1NpZz10LmVjcmVjb3Zlcj10LmVjc2lnbj12b2lkIDA7dmFyIGk9cig2OTkyKSxvPXIoOTEwMCksYT1yKDM0NjQpLHM9cig5ODA4KSx1PXIoNTcyNSksYz1yKDU1MTMpO2Z1bmN0aW9uIGYoZSx0KXt2YXIgcj0oMCxjLnRvVHlwZSkoZSxjLlR5cGVPdXRwdXQuQk4pO2lmKHIuZXFuKDApfHxyLmVxbigxKSlyZXR1cm4oMCxjLnRvVHlwZSkoZSxjLlR5cGVPdXRwdXQuQk4pO2lmKCF0KXJldHVybiByLnN1Ym4oMjcpO3ZhciBuPSgwLGMudG9UeXBlKSh0LGMuVHlwZU91dHB1dC5CTik7cmV0dXJuIHIuc3ViKG4ubXVsbigyKS5hZGRuKDM1KSl9ZnVuY3Rpb24gZChlKXt2YXIgdD1uZXcgby5CTihlKTtyZXR1cm4gdC5lcW4oMCl8fHQuZXFuKDEpfXQuZWNzaWduPWZ1bmN0aW9uKGUsdCxyKXt2YXIgbz0oMCxpLmVjZHNhU2lnbikoZSx0KSxhPW8uc2lnbmF0dXJlLHM9by5yZWNpZCx1PW4uZnJvbShhLnNsaWNlKDAsMzIpKSxmPW4uZnJvbShhLnNsaWNlKDMyLDY0KSk7aWYoIXJ8fCJudW1iZXIiPT10eXBlb2Ygcil7aWYociYmIU51bWJlci5pc1NhZmVJbnRlZ2VyKHIpKXRocm93IG5ldyBFcnJvcigiVGhlIHByb3ZpZGVkIG51bWJlciBpcyBncmVhdGVyIHRoYW4gTUFYX1NBRkVfSU5URUdFUiAocGxlYXNlIHVzZSBhbiBhbHRlcm5hdGl2ZSBpbnB1dCB0eXBlKSIpO3JldHVybntyOnUsczpmLHY6cj9zKygyKnIrMzUpOnMrMjd9fXJldHVybntyOnUsczpmLHY6KDAsYy50b1R5cGUpKHIsYy5UeXBlT3V0cHV0LkJOKS5tdWxuKDIpLmFkZG4oMzUpLmFkZG4ocykudG9BcnJheUxpa2Uobil9fSx0LmVjcmVjb3Zlcj1mdW5jdGlvbihlLHQscixvLHMpe3ZhciB1PW4uY29uY2F0KFsoMCxhLnNldExlbmd0aExlZnQpKHIsMzIpLCgwLGEuc2V0TGVuZ3RoTGVmdCkobywzMildLDY0KSxjPWYodCxzKTtpZighZChjKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2lnbmF0dXJlIHYgdmFsdWUiKTt2YXIgbD0oMCxpLmVjZHNhUmVjb3ZlcikodSxjLnRvTnVtYmVyKCksZSk7cmV0dXJuIG4uZnJvbSgoMCxpLnB1YmxpY0tleUNvbnZlcnQpKGwsITEpLnNsaWNlKDEpKX0sdC50b1JwY1NpZz1mdW5jdGlvbihlLHQscixpKXtpZighZChmKGUsaSkpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzaWduYXR1cmUgdiB2YWx1ZSIpO3JldHVybigwLGEuYnVmZmVyVG9IZXgpKG4uY29uY2F0KFsoMCxhLnNldExlbmd0aExlZnQpKHQsMzIpLCgwLGEuc2V0TGVuZ3RoTGVmdCkociwzMiksKDAsYS50b0J1ZmZlcikoZSldKSl9LHQudG9Db21wYWN0U2lnPWZ1bmN0aW9uKGUsdCxyLGkpe2lmKCFkKGYoZSxpKSkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHNpZ25hdHVyZSB2IHZhbHVlIik7dmFyIG89KDAsYy50b1R5cGUpKGUsYy5UeXBlT3V0cHV0Lk51bWJlcikscz1yO3JldHVybihvPjI4JiZvJTI9PTF8fDE9PT1vfHwyOD09PW8pJiYoKHM9bi5mcm9tKHIpKVswXXw9MTI4KSwoMCxhLmJ1ZmZlclRvSGV4KShuLmNvbmNhdChbKDAsYS5zZXRMZW5ndGhMZWZ0KSh0LDMyKSwoMCxhLnNldExlbmd0aExlZnQpKHMsMzIpXSkpfSx0LmZyb21ScGNTaWc9ZnVuY3Rpb24oZSl7dmFyIHQscixuLGk9KDAsYS50b0J1ZmZlcikoZSk7aWYoaS5sZW5ndGg+PTY1KXQ9aS5zbGljZSgwLDMyKSxyPWkuc2xpY2UoMzIsNjQpLG49KDAsYS5idWZmZXJUb0ludCkoaS5zbGljZSg2NCkpO2Vsc2V7aWYoNjQhPT1pLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2lnbmF0dXJlIGxlbmd0aCIpO3Q9aS5zbGljZSgwLDMyKSxyPWkuc2xpY2UoMzIsNjQpLG49KDAsYS5idWZmZXJUb0ludCkoaS5zbGljZSgzMiwzMykpPj43LHJbMF0mPTEyN31yZXR1cm4gbjwyNyYmKG4rPTI3KSx7djpuLHI6dCxzOnJ9fSx0LmlzVmFsaWRTaWduYXR1cmU9ZnVuY3Rpb24oZSx0LHIsbixpKXt2b2lkIDA9PT1uJiYobj0hMCk7dmFyIGE9bmV3IG8uQk4oIjdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNWQ1NzZlNzM1N2E0NTAxZGRmZTkyZjQ2NjgxYjIwYTAiLDE2KSxzPW5ldyBvLkJOKCJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZWJhYWVkY2U2YWY0OGEwM2JiZmQyNWU4Y2QwMzY0MTQxIiwxNik7aWYoMzIhPT10Lmxlbmd0aHx8MzIhPT1yLmxlbmd0aClyZXR1cm4hMTtpZighZChmKGUsaSkpKXJldHVybiExO3ZhciB1PW5ldyBvLkJOKHQpLGM9bmV3IG8uQk4ocik7cmV0dXJuISh1LmlzWmVybygpfHx1Lmd0KHMpfHxjLmlzWmVybygpfHxjLmd0KHMpfHxuJiYxPT09Yy5jbXAoYSkpfSx0Lmhhc2hQZXJzb25hbE1lc3NhZ2U9ZnVuY3Rpb24oZSl7KDAsdS5hc3NlcnRJc0J1ZmZlcikoZSk7dmFyIHQ9bi5mcm9tKCIZRXRoZXJldW0gU2lnbmVkIE1lc3NhZ2U6XG4iLmNvbmNhdChlLmxlbmd0aCksInV0Zi04Iik7cmV0dXJuKDAscy5rZWNjYWspKG4uY29uY2F0KFt0LGVdKSl9fSw1NTEzOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQudG9UeXBlPXQuVHlwZU91dHB1dD10LmJuVG9SbHA9dC5iblRvVW5wYWRkZWRCdWZmZXI9dC5iblRvSGV4PXZvaWQgMDt2YXIgaSxvPXIoOTEwMCksYT1yKDMyNzEpLHM9cigzNDY0KTtmdW5jdGlvbiB1KGUpe3JldHVybigwLHMudW5wYWRCdWZmZXIpKGUudG9BcnJheUxpa2UobikpfXQuYm5Ub0hleD1mdW5jdGlvbihlKXtyZXR1cm4iMHgiLmNvbmNhdChlLnRvU3RyaW5nKDE2KSl9LHQuYm5Ub1VucGFkZGVkQnVmZmVyPXUsdC5iblRvUmxwPWZ1bmN0aW9uKGUpe3JldHVybiB1KGUpfSxmdW5jdGlvbihlKXtlW2UuTnVtYmVyPTBdPSJOdW1iZXIiLGVbZS5CTj0xXT0iQk4iLGVbZS5CdWZmZXI9Ml09IkJ1ZmZlciIsZVtlLlByZWZpeGVkSGV4U3RyaW5nPTNdPSJQcmVmaXhlZEhleFN0cmluZyJ9KGk9dC5UeXBlT3V0cHV0fHwodC5UeXBlT3V0cHV0PXt9KSksdC50b1R5cGU9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtpZih2b2lkIDAhPT1lKXtpZigic3RyaW5nIj09dHlwZW9mIGUmJiEoMCxhLmlzSGV4U3RyaW5nKShlKSl0aHJvdyBuZXcgRXJyb3IoIkEgc3RyaW5nIG11c3QgYmUgcHJvdmlkZWQgd2l0aCBhIDB4LXByZWZpeCwgZ2l2ZW46ICIuY29uY2F0KGUpKTtpZigibnVtYmVyIj09dHlwZW9mIGUmJiFOdW1iZXIuaXNTYWZlSW50ZWdlcihlKSl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwcm92aWRlZCBudW1iZXIgaXMgZ3JlYXRlciB0aGFuIE1BWF9TQUZFX0lOVEVHRVIgKHBsZWFzZSB1c2UgYW4gYWx0ZXJuYXRpdmUgaW5wdXQgdHlwZSkiKTt2YXIgcj0oMCxzLnRvQnVmZmVyKShlKTtpZih0PT09aS5CdWZmZXIpcmV0dXJuIHI7aWYodD09PWkuQk4pcmV0dXJuIG5ldyBvLkJOKHIpO2lmKHQ9PT1pLk51bWJlcil7dmFyIG49bmV3IG8uQk4ociksdT1uZXcgby5CTihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUi50b1N0cmluZygpKTtpZihuLmd0KHUpKXRocm93IG5ldyBFcnJvcigiVGhlIHByb3ZpZGVkIG51bWJlciBpcyBncmVhdGVyIHRoYW4gTUFYX1NBRkVfSU5URUdFUiAocGxlYXNlIHVzZSBhbiBhbHRlcm5hdGl2ZSBvdXRwdXQgdHlwZSkiKTtyZXR1cm4gbi50b051bWJlcigpfXJldHVybiIweCIuY29uY2F0KHIudG9TdHJpbmcoImhleCIpKX19fSw3MTMwOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KShyKDMzNTUpKSxpPXIoMTczNCksbz1yKDcyNzcpLGE9bmV3IGkoMCkscz1uZXcgaSgtMSksdT17bm9ldGhlcjoiMCIsd2VpOiIxIixrd2VpOiIxMDAwIixLd2VpOiIxMDAwIixiYWJiYWdlOiIxMDAwIixmZW10b2V0aGVyOiIxMDAwIixtd2VpOiIxMDAwMDAwIixNd2VpOiIxMDAwMDAwIixsb3ZlbGFjZToiMTAwMDAwMCIscGljb2V0aGVyOiIxMDAwMDAwIixnd2VpOiIxMDAwMDAwMDAwIixHd2VpOiIxMDAwMDAwMDAwIixzaGFubm9uOiIxMDAwMDAwMDAwIixuYW5vZXRoZXI6IjEwMDAwMDAwMDAiLG5hbm86IjEwMDAwMDAwMDAiLHN6YWJvOiIxMDAwMDAwMDAwMDAwIixtaWNyb2V0aGVyOiIxMDAwMDAwMDAwMDAwIixtaWNybzoiMTAwMDAwMDAwMDAwMCIsZmlubmV5OiIxMDAwMDAwMDAwMDAwMDAwIixtaWxsaWV0aGVyOiIxMDAwMDAwMDAwMDAwMDAwIixtaWxsaToiMTAwMDAwMDAwMDAwMDAwMCIsZXRoZXI6IjEwMDAwMDAwMDAwMDAwMDAwMDAiLGtldGhlcjoiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsZ3JhbmQ6IjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLG1ldGhlcjoiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsZ2V0aGVyOiIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIix0ZXRoZXI6IjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAifTtmdW5jdGlvbiBjKGUpe3ZhciB0PWU/ZS50b0xvd2VyQ2FzZSgpOiJldGhlciIscj11W3RdO2lmKCJzdHJpbmciIT10eXBlb2Ygcil0aHJvdyBuZXcgRXJyb3IoIltldGhqcy11bml0XSB0aGUgdW5pdCBwcm92aWRlZCAiK2UrIiBkb2Vzbid0IGV4aXN0cywgcGxlYXNlIHVzZSB0aGUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdW5pdHMgIitKU09OLnN0cmluZ2lmeSh1LG51bGwsMikpO3JldHVybiBuZXcgaShyLDEwKX1mdW5jdGlvbiBmKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSl7aWYoIWUubWF0Y2goL14tP1swLTkuXSskLykpdGhyb3cgbmV3IEVycm9yKCJ3aGlsZSBjb252ZXJ0aW5nIG51bWJlciB0byBzdHJpbmcsIGludmFsaWQgbnVtYmVyIHZhbHVlICciK2UrIicsIHNob3VsZCBiZSBhIG51bWJlciBtYXRjaGluZyAoXi0/WzAtOS5dKykuIik7cmV0dXJuIGV9aWYoIm51bWJlciI9PXR5cGVvZiBlKXJldHVybiBTdHJpbmcoZSk7aWYoIm9iamVjdCI9PT0oMCxuLmRlZmF1bHQpKGUpJiZlLnRvU3RyaW5nJiYoZS50b1R3b3N8fGUuZGl2aWRlZFRvSW50ZWdlckJ5KSlyZXR1cm4gZS50b1ByZWNpc2lvbj9TdHJpbmcoZS50b1ByZWNpc2lvbigpKTplLnRvU3RyaW5nKDEwKTt0aHJvdyBuZXcgRXJyb3IoIndoaWxlIGNvbnZlcnRpbmcgbnVtYmVyIHRvIHN0cmluZywgaW52YWxpZCBudW1iZXIgdmFsdWUgJyIrZSsiJyB0eXBlICIrKDAsbi5kZWZhdWx0KShlKSsiLiIpfWUuZXhwb3J0cz17dW5pdE1hcDp1LG51bWJlclRvU3RyaW5nOmYsZ2V0VmFsdWVPZlVuaXQ6Yyxmcm9tV2VpOmZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1vKGUpLGk9bi5sdChhKSxmPWModCksZD11W3RdLmxlbmd0aC0xfHwxLGw9cnx8e307aSYmKG49bi5tdWwocykpO2Zvcih2YXIgaD1uLm1vZChmKS50b1N0cmluZygxMCk7aC5sZW5ndGg8ZDspaD0iMCIraDtsLnBhZHx8KGg9aC5tYXRjaCgvXihbMC05XSpbMS05XXwwKSgwKikvKVsxXSk7dmFyIHA9bi5kaXYoZikudG9TdHJpbmcoMTApO2wuY29tbWlmeSYmKHA9cC5yZXBsYWNlKC9cQig/PShcZHszfSkrKD8hXGQpKS9nLCIsIikpO3ZhciBiPXArKCIwIj09aD8iIjoiLiIraCk7cmV0dXJuIGkmJihiPSItIitiKSxifSx0b1dlaTpmdW5jdGlvbihlLHQpe3ZhciByPWYoZSksbj1jKHQpLG89dVt0XS5sZW5ndGgtMXx8MSxhPSItIj09PXIuc3Vic3RyaW5nKDAsMSk7aWYoYSYmKHI9ci5zdWJzdHJpbmcoMSkpLCIuIj09PXIpdGhyb3cgbmV3IEVycm9yKCJbZXRoanMtdW5pdF0gd2hpbGUgY29udmVydGluZyBudW1iZXIgIitlKyIgdG8gd2VpLCBpbnZhbGlkIHZhbHVlIik7dmFyIGQ9ci5zcGxpdCgiLiIpO2lmKGQubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKCJbZXRoanMtdW5pdF0gd2hpbGUgY29udmVydGluZyBudW1iZXIgIitlKyIgdG8gd2VpLCAgdG9vIG1hbnkgZGVjaW1hbCBwb2ludHMiKTt2YXIgbD1kWzBdLGg9ZFsxXTtpZihsfHwobD0iMCIpLGh8fChoPSIwIiksaC5sZW5ndGg+byl0aHJvdyBuZXcgRXJyb3IoIltldGhqcy11bml0XSB3aGlsZSBjb252ZXJ0aW5nIG51bWJlciAiK2UrIiB0byB3ZWksIHRvbyBtYW55IGRlY2ltYWwgcGxhY2VzIik7Zm9yKDtoLmxlbmd0aDxvOyloKz0iMCI7bD1uZXcgaShsKSxoPW5ldyBpKGgpO3ZhciBwPWwubXVsKG4pLmFkZChoKTtyZXR1cm4gYSYmKHA9cC5tdWwocykpLG5ldyBpKHAudG9TdHJpbmcoMTApLDEwKX19fSw4MDA4OmU9PnsidXNlIHN0cmljdCI7dmFyIHQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxyPSJ+IjtmdW5jdGlvbiBuKCl7fWZ1bmN0aW9uIGkoZSx0LHIpe3RoaXMuZm49ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLm9uY2U9cnx8ITF9ZnVuY3Rpb24gbyhlLHQsbixvLGEpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IG5ldyBUeXBlRXJyb3IoIlRoZSBsaXN0ZW5lciBtdXN0IGJlIGEgZnVuY3Rpb24iKTt2YXIgcz1uZXcgaShuLG98fGUsYSksdT1yP3IrdDp0O3JldHVybiBlLl9ldmVudHNbdV0/ZS5fZXZlbnRzW3VdLmZuP2UuX2V2ZW50c1t1XT1bZS5fZXZlbnRzW3VdLHNdOmUuX2V2ZW50c1t1XS5wdXNoKHMpOihlLl9ldmVudHNbdV09cyxlLl9ldmVudHNDb3VudCsrKSxlfWZ1bmN0aW9uIGEoZSx0KXswPT0tLWUuX2V2ZW50c0NvdW50P2UuX2V2ZW50cz1uZXcgbjpkZWxldGUgZS5fZXZlbnRzW3RdfWZ1bmN0aW9uIHMoKXt0aGlzLl9ldmVudHM9bmV3IG4sdGhpcy5fZXZlbnRzQ291bnQ9MH1PYmplY3QuY3JlYXRlJiYobi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShudWxsKSwobmV3IG4pLl9fcHJvdG9fX3x8KHI9ITEpKSxzLnByb3RvdHlwZS5ldmVudE5hbWVzPWZ1bmN0aW9uKCl7dmFyIGUsbixpPVtdO2lmKDA9PT10aGlzLl9ldmVudHNDb3VudClyZXR1cm4gaTtmb3IobiBpbiBlPXRoaXMuX2V2ZW50cyl0LmNhbGwoZSxuKSYmaS5wdXNoKHI/bi5zbGljZSgxKTpuKTtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz9pLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpKTppfSxzLnByb3RvdHlwZS5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7dmFyIHQ9cj9yK2U6ZSxuPXRoaXMuX2V2ZW50c1t0XTtpZighbilyZXR1cm5bXTtpZihuLmZuKXJldHVybltuLmZuXTtmb3IodmFyIGk9MCxvPW4ubGVuZ3RoLGE9bmV3IEFycmF5KG8pO2k8bztpKyspYVtpXT1uW2ldLmZuO3JldHVybiBhfSxzLnByb3RvdHlwZS5saXN0ZW5lckNvdW50PWZ1bmN0aW9uKGUpe3ZhciB0PXI/citlOmUsbj10aGlzLl9ldmVudHNbdF07cmV0dXJuIG4/bi5mbj8xOm4ubGVuZ3RoOjB9LHMucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oZSx0LG4saSxvLGEpe3ZhciBzPXI/citlOmU7aWYoIXRoaXMuX2V2ZW50c1tzXSlyZXR1cm4hMTt2YXIgdSxjLGY9dGhpcy5fZXZlbnRzW3NdLGQ9YXJndW1lbnRzLmxlbmd0aDtpZihmLmZuKXtzd2l0Y2goZi5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsZi5mbix2b2lkIDAsITApLGQpe2Nhc2UgMTpyZXR1cm4gZi5mbi5jYWxsKGYuY29udGV4dCksITA7Y2FzZSAyOnJldHVybiBmLmZuLmNhbGwoZi5jb250ZXh0LHQpLCEwO2Nhc2UgMzpyZXR1cm4gZi5mbi5jYWxsKGYuY29udGV4dCx0LG4pLCEwO2Nhc2UgNDpyZXR1cm4gZi5mbi5jYWxsKGYuY29udGV4dCx0LG4saSksITA7Y2FzZSA1OnJldHVybiBmLmZuLmNhbGwoZi5jb250ZXh0LHQsbixpLG8pLCEwO2Nhc2UgNjpyZXR1cm4gZi5mbi5jYWxsKGYuY29udGV4dCx0LG4saSxvLGEpLCEwfWZvcihjPTEsdT1uZXcgQXJyYXkoZC0xKTtjPGQ7YysrKXVbYy0xXT1hcmd1bWVudHNbY107Zi5mbi5hcHBseShmLmNvbnRleHQsdSl9ZWxzZXt2YXIgbCxoPWYubGVuZ3RoO2ZvcihjPTA7YzxoO2MrKylzd2l0Y2goZltjXS5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsZltjXS5mbix2b2lkIDAsITApLGQpe2Nhc2UgMTpmW2NdLmZuLmNhbGwoZltjXS5jb250ZXh0KTticmVhaztjYXNlIDI6ZltjXS5mbi5jYWxsKGZbY10uY29udGV4dCx0KTticmVhaztjYXNlIDM6ZltjXS5mbi5jYWxsKGZbY10uY29udGV4dCx0LG4pO2JyZWFrO2Nhc2UgNDpmW2NdLmZuLmNhbGwoZltjXS5jb250ZXh0LHQsbixpKTticmVhaztkZWZhdWx0OmlmKCF1KWZvcihsPTEsdT1uZXcgQXJyYXkoZC0xKTtsPGQ7bCsrKXVbbC0xXT1hcmd1bWVudHNbbF07ZltjXS5mbi5hcHBseShmW2NdLmNvbnRleHQsdSl9fXJldHVybiEwfSxzLnByb3RvdHlwZS5vbj1mdW5jdGlvbihlLHQscil7cmV0dXJuIG8odGhpcyxlLHQsciwhMSl9LHMucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBvKHRoaXMsZSx0LHIsITApfSxzLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbihlLHQsbixpKXt2YXIgbz1yP3IrZTplO2lmKCF0aGlzLl9ldmVudHNbb10pcmV0dXJuIHRoaXM7aWYoIXQpcmV0dXJuIGEodGhpcyxvKSx0aGlzO3ZhciBzPXRoaXMuX2V2ZW50c1tvXTtpZihzLmZuKXMuZm4hPT10fHxpJiYhcy5vbmNlfHxuJiZzLmNvbnRleHQhPT1ufHxhKHRoaXMsbyk7ZWxzZXtmb3IodmFyIHU9MCxjPVtdLGY9cy5sZW5ndGg7dTxmO3UrKykoc1t1XS5mbiE9PXR8fGkmJiFzW3VdLm9uY2V8fG4mJnNbdV0uY29udGV4dCE9PW4pJiZjLnB1c2goc1t1XSk7Yy5sZW5ndGg/dGhpcy5fZXZlbnRzW29dPTE9PT1jLmxlbmd0aD9jWzBdOmM6YSh0aGlzLG8pfXJldHVybiB0aGlzfSxzLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIGU/KHQ9cj9yK2U6ZSx0aGlzLl9ldmVudHNbdF0mJmEodGhpcyx0KSk6KHRoaXMuX2V2ZW50cz1uZXcgbix0aGlzLl9ldmVudHNDb3VudD0wKSx0aGlzfSxzLnByb3RvdHlwZS5vZmY9cy5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIscy5wcm90b3R5cGUuYWRkTGlzdGVuZXI9cy5wcm90b3R5cGUub24scy5wcmVmaXhlZD1yLHMuRXZlbnRFbWl0dGVyPXMsZS5leHBvcnRzPXN9LDgyOTE6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpKHIoMzM1NSkpLGk9T2JqZWN0LmNyZWF0ZXx8ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oKXt9O3JldHVybiB0LnByb3RvdHlwZT1lLG5ldyB0fSxvPU9iamVjdC5rZXlzfHxmdW5jdGlvbihlKXt2YXIgdD1bXTtmb3IodmFyIHIgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmdC5wdXNoKHIpO3JldHVybiByfSxhPUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kfHxmdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KGUsYXJndW1lbnRzKX19O2Z1bmN0aW9uIHMoKXt0aGlzLl9ldmVudHMmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLCJfZXZlbnRzIil8fCh0aGlzLl9ldmVudHM9aShudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wKSx0aGlzLl9tYXhMaXN0ZW5lcnM9dGhpcy5fbWF4TGlzdGVuZXJzfHx2b2lkIDB9ZS5leHBvcnRzPXMscy5FdmVudEVtaXR0ZXI9cyxzLnByb3RvdHlwZS5fZXZlbnRzPXZvaWQgMCxzLnByb3RvdHlwZS5fbWF4TGlzdGVuZXJzPXZvaWQgMDt2YXIgdSxjPTEwO3RyeXt2YXIgZj17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCJ4Iix7dmFsdWU6MH0pLHU9MD09PWYueH1jYXRjaChlKXt1PSExfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIHZvaWQgMD09PWUuX21heExpc3RlbmVycz9zLmRlZmF1bHRNYXhMaXN0ZW5lcnM6ZS5fbWF4TGlzdGVuZXJzfWZ1bmN0aW9uIGwoZSx0LHIpe2lmKHQpZS5jYWxsKHIpO2Vsc2UgZm9yKHZhciBuPWUubGVuZ3RoLGk9ayhlLG4pLG89MDtvPG47KytvKWlbb10uY2FsbChyKX1mdW5jdGlvbiBoKGUsdCxyLG4pe2lmKHQpZS5jYWxsKHIsbik7ZWxzZSBmb3IodmFyIGk9ZS5sZW5ndGgsbz1rKGUsaSksYT0wO2E8aTsrK2Epb1thXS5jYWxsKHIsbil9ZnVuY3Rpb24gcChlLHQscixuLGkpe2lmKHQpZS5jYWxsKHIsbixpKTtlbHNlIGZvcih2YXIgbz1lLmxlbmd0aCxhPWsoZSxvKSxzPTA7czxvOysrcylhW3NdLmNhbGwocixuLGkpfWZ1bmN0aW9uIGIoZSx0LHIsbixpLG8pe2lmKHQpZS5jYWxsKHIsbixpLG8pO2Vsc2UgZm9yKHZhciBhPWUubGVuZ3RoLHM9ayhlLGEpLHU9MDt1PGE7Kyt1KXNbdV0uY2FsbChyLG4saSxvKX1mdW5jdGlvbiB5KGUsdCxyLG4pe2lmKHQpZS5hcHBseShyLG4pO2Vsc2UgZm9yKHZhciBpPWUubGVuZ3RoLG89ayhlLGkpLGE9MDthPGk7KythKW9bYV0uYXBwbHkocixuKX1mdW5jdGlvbiBtKGUsdCxyLG8pe3ZhciBhLHMsdTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdGVuZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO2lmKChzPWUuX2V2ZW50cyk/KHMubmV3TGlzdGVuZXImJihlLmVtaXQoIm5ld0xpc3RlbmVyIix0LHIubGlzdGVuZXI/ci5saXN0ZW5lcjpyKSxzPWUuX2V2ZW50cyksdT1zW3RdKToocz1lLl9ldmVudHM9aShudWxsKSxlLl9ldmVudHNDb3VudD0wKSx1KXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdT91PXNbdF09bz9bcix1XTpbdSxyXTpvP3UudW5zaGlmdChyKTp1LnB1c2gociksIXUud2FybmVkJiYoYT1kKGUpKSYmYT4wJiZ1Lmxlbmd0aD5hKXt1Lndhcm5lZD0hMDt2YXIgYz1uZXcgRXJyb3IoIlBvc3NpYmxlIEV2ZW50RW1pdHRlciBtZW1vcnkgbGVhayBkZXRlY3RlZC4gIit1Lmxlbmd0aCsnICInK1N0cmluZyh0KSsnIiBsaXN0ZW5lcnMgYWRkZWQuIFVzZSBlbWl0dGVyLnNldE1heExpc3RlbmVycygpIHRvIGluY3JlYXNlIGxpbWl0LicpO2MubmFtZT0iTWF4TGlzdGVuZXJzRXhjZWVkZWRXYXJuaW5nIixjLmVtaXR0ZXI9ZSxjLnR5cGU9dCxjLmNvdW50PXUubGVuZ3RoLCJvYmplY3QiPT09KCJ1bmRlZmluZWQiPT10eXBlb2YgY29uc29sZT8idW5kZWZpbmVkIjooMCxuLmRlZmF1bHQpKGNvbnNvbGUpKSYmY29uc29sZS53YXJuJiZjb25zb2xlLndhcm4oIiVzOiAlcyIsYy5uYW1lLGMubWVzc2FnZSl9fWVsc2UgdT1zW3RdPXIsKytlLl9ldmVudHNDb3VudDtyZXR1cm4gZX1mdW5jdGlvbiB2KCl7aWYoIXRoaXMuZmlyZWQpc3dpdGNoKHRoaXMudGFyZ2V0LnJlbW92ZUxpc3RlbmVyKHRoaXMudHlwZSx0aGlzLndyYXBGbiksdGhpcy5maXJlZD0hMCxhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHRoaXMubGlzdGVuZXIuY2FsbCh0aGlzLnRhcmdldCk7Y2FzZSAxOnJldHVybiB0aGlzLmxpc3RlbmVyLmNhbGwodGhpcy50YXJnZXQsYXJndW1lbnRzWzBdKTtjYXNlIDI6cmV0dXJuIHRoaXMubGlzdGVuZXIuY2FsbCh0aGlzLnRhcmdldCxhcmd1bWVudHNbMF0sYXJndW1lbnRzWzFdKTtjYXNlIDM6cmV0dXJuIHRoaXMubGlzdGVuZXIuY2FsbCh0aGlzLnRhcmdldCxhcmd1bWVudHNbMF0sYXJndW1lbnRzWzFdLGFyZ3VtZW50c1syXSk7ZGVmYXVsdDpmb3IodmFyIGU9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLHQ9MDt0PGUubGVuZ3RoOysrdCllW3RdPWFyZ3VtZW50c1t0XTt0aGlzLmxpc3RlbmVyLmFwcGx5KHRoaXMudGFyZ2V0LGUpfX1mdW5jdGlvbiBnKGUsdCxyKXt2YXIgbj17ZmlyZWQ6ITEsd3JhcEZuOnZvaWQgMCx0YXJnZXQ6ZSx0eXBlOnQsbGlzdGVuZXI6cn0saT1hLmNhbGwodixuKTtyZXR1cm4gaS5saXN0ZW5lcj1yLG4ud3JhcEZuPWksaX1mdW5jdGlvbiB3KGUsdCxyKXt2YXIgbj1lLl9ldmVudHM7aWYoIW4pcmV0dXJuW107dmFyIGk9blt0XTtyZXR1cm4gaT8iZnVuY3Rpb24iPT10eXBlb2YgaT9yP1tpLmxpc3RlbmVyfHxpXTpbaV06cj9mdW5jdGlvbihlKXtmb3IodmFyIHQ9bmV3IEFycmF5KGUubGVuZ3RoKSxyPTA7cjx0Lmxlbmd0aDsrK3IpdFtyXT1lW3JdLmxpc3RlbmVyfHxlW3JdO3JldHVybiB0fShpKTprKGksaS5sZW5ndGgpOltdfWZ1bmN0aW9uIEEoZSl7dmFyIHQ9dGhpcy5fZXZlbnRzO2lmKHQpe3ZhciByPXRbZV07aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpcmV0dXJuIDE7aWYocilyZXR1cm4gci5sZW5ndGh9cmV0dXJuIDB9ZnVuY3Rpb24gayhlLHQpe2Zvcih2YXIgcj1uZXcgQXJyYXkodCksbj0wO248dDsrK24pcltuXT1lW25dO3JldHVybiByfXU/T2JqZWN0LmRlZmluZVByb3BlcnR5KHMsImRlZmF1bHRNYXhMaXN0ZW5lcnMiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBjfSxzZXQ6ZnVuY3Rpb24oZSl7aWYoIm51bWJlciIhPXR5cGVvZiBlfHxlPDB8fGUhPWUpdGhyb3cgbmV3IFR5cGVFcnJvcignImRlZmF1bHRNYXhMaXN0ZW5lcnMiIG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXInKTtjPWV9fSk6cy5kZWZhdWx0TWF4TGlzdGVuZXJzPWMscy5wcm90b3R5cGUuc2V0TWF4TGlzdGVuZXJzPWZ1bmN0aW9uKGUpe2lmKCJudW1iZXIiIT10eXBlb2YgZXx8ZTwwfHxpc05hTihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibiIgYXJndW1lbnQgbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlcicpO3JldHVybiB0aGlzLl9tYXhMaXN0ZW5lcnM9ZSx0aGlzfSxzLnByb3RvdHlwZS5nZXRNYXhMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtyZXR1cm4gZCh0aGlzKX0scy5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbihlKXt2YXIgdCxyLG4saSxvLGEscz0iZXJyb3IiPT09ZTtpZihhPXRoaXMuX2V2ZW50cylzPXMmJm51bGw9PWEuZXJyb3I7ZWxzZSBpZighcylyZXR1cm4hMTtpZihzKXtpZihhcmd1bWVudHMubGVuZ3RoPjEmJih0PWFyZ3VtZW50c1sxXSksdCBpbnN0YW5jZW9mIEVycm9yKXRocm93IHQ7dmFyIHU9bmV3IEVycm9yKCdVbmhhbmRsZWQgImVycm9yIiBldmVudC4gKCcrdCsiKSIpO3Rocm93IHUuY29udGV4dD10LHV9aWYoIShyPWFbZV0pKXJldHVybiExO3ZhciBjPSJmdW5jdGlvbiI9PXR5cGVvZiByO3N3aXRjaChuPWFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMTpsKHIsYyx0aGlzKTticmVhaztjYXNlIDI6aChyLGMsdGhpcyxhcmd1bWVudHNbMV0pO2JyZWFrO2Nhc2UgMzpwKHIsYyx0aGlzLGFyZ3VtZW50c1sxXSxhcmd1bWVudHNbMl0pO2JyZWFrO2Nhc2UgNDpiKHIsYyx0aGlzLGFyZ3VtZW50c1sxXSxhcmd1bWVudHNbMl0sYXJndW1lbnRzWzNdKTticmVhaztkZWZhdWx0OmZvcihpPW5ldyBBcnJheShuLTEpLG89MTtvPG47bysrKWlbby0xXT1hcmd1bWVudHNbb107eShyLGMsdGhpcyxpKX1yZXR1cm4hMH0scy5wcm90b3R5cGUuYWRkTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbSh0aGlzLGUsdCwhMSl9LHMucHJvdG90eXBlLm9uPXMucHJvdG90eXBlLmFkZExpc3RlbmVyLHMucHJvdG90eXBlLnByZXBlbmRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiBtKHRoaXMsZSx0LCEwKX0scy5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoJyJsaXN0ZW5lciIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7cmV0dXJuIHRoaXMub24oZSxnKHRoaXMsZSx0KSksdGhpc30scy5wcm90b3R5cGUucHJlcGVuZE9uY2VMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoJyJsaXN0ZW5lciIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7cmV0dXJuIHRoaXMucHJlcGVuZExpc3RlbmVyKGUsZyh0aGlzLGUsdCkpLHRoaXN9LHMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7dmFyIHIsbixvLGEscztpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdGVuZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO2lmKCEobj10aGlzLl9ldmVudHMpKXJldHVybiB0aGlzO2lmKCEocj1uW2VdKSlyZXR1cm4gdGhpcztpZihyPT09dHx8ci5saXN0ZW5lcj09PXQpMD09LS10aGlzLl9ldmVudHNDb3VudD90aGlzLl9ldmVudHM9aShudWxsKTooZGVsZXRlIG5bZV0sbi5yZW1vdmVMaXN0ZW5lciYmdGhpcy5lbWl0KCJyZW1vdmVMaXN0ZW5lciIsZSxyLmxpc3RlbmVyfHx0KSk7ZWxzZSBpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil7Zm9yKG89LTEsYT1yLmxlbmd0aC0xO2E+PTA7YS0tKWlmKHJbYV09PT10fHxyW2FdLmxpc3RlbmVyPT09dCl7cz1yW2FdLmxpc3RlbmVyLG89YTticmVha31pZihvPDApcmV0dXJuIHRoaXM7MD09PW8/ci5zaGlmdCgpOmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPXQsbj1yKzEsaT1lLmxlbmd0aDtuPGk7cis9MSxuKz0xKWVbcl09ZVtuXTtlLnBvcCgpfShyLG8pLDE9PT1yLmxlbmd0aCYmKG5bZV09clswXSksbi5yZW1vdmVMaXN0ZW5lciYmdGhpcy5lbWl0KCJyZW1vdmVMaXN0ZW5lciIsZSxzfHx0KX1yZXR1cm4gdGhpc30scy5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0LHIsbjtpZighKHI9dGhpcy5fZXZlbnRzKSlyZXR1cm4gdGhpcztpZighci5yZW1vdmVMaXN0ZW5lcilyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2V2ZW50cz1pKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTApOnJbZV0mJigwPT0tLXRoaXMuX2V2ZW50c0NvdW50P3RoaXMuX2V2ZW50cz1pKG51bGwpOmRlbGV0ZSByW2VdKSx0aGlzO2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXt2YXIgYSxzPW8ocik7Zm9yKG49MDtuPHMubGVuZ3RoOysrbikicmVtb3ZlTGlzdGVuZXIiIT09KGE9c1tuXSkmJnRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKGEpO3JldHVybiB0aGlzLnJlbW92ZUFsbExpc3RlbmVycygicmVtb3ZlTGlzdGVuZXIiKSx0aGlzLl9ldmVudHM9aShudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wLHRoaXN9aWYoImZ1bmN0aW9uIj09dHlwZW9mKHQ9cltlXSkpdGhpcy5yZW1vdmVMaXN0ZW5lcihlLHQpO2Vsc2UgaWYodClmb3Iobj10Lmxlbmd0aC0xO24+PTA7bi0tKXRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0W25dKTtyZXR1cm4gdGhpc30scy5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiB3KHRoaXMsZSwhMCl9LHMucHJvdG90eXBlLnJhd0xpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4gdyh0aGlzLGUsITEpfSxzLmxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZS5saXN0ZW5lckNvdW50P2UubGlzdGVuZXJDb3VudCh0KTpBLmNhbGwoZSx0KX0scy5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1BLHMucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZXZlbnRzQ291bnQ+MD9SZWZsZWN0Lm93bktleXModGhpcy5fZXZlbnRzKTpbXX19LDcwODU6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NTApLkJ1ZmZlcixpPXIoODA3KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LHIsbyl7aWYobi5pc0J1ZmZlcihlKXx8KGU9bi5mcm9tKGUsImJpbmFyeSIpKSx0JiYobi5pc0J1ZmZlcih0KXx8KHQ9bi5mcm9tKHQsImJpbmFyeSIpKSw4IT09dC5sZW5ndGgpKXRocm93IG5ldyBSYW5nZUVycm9yKCJzYWx0IHNob3VsZCBiZSBCdWZmZXIgd2l0aCA4IGJ5dGUgbGVuZ3RoIik7Zm9yKHZhciBhPXIvOCxzPW4uYWxsb2MoYSksdT1uLmFsbG9jKG98fDApLGM9bi5hbGxvYygwKTthPjB8fG8+MDspe3ZhciBmPW5ldyBpO2YudXBkYXRlKGMpLGYudXBkYXRlKGUpLHQmJmYudXBkYXRlKHQpLGM9Zi5kaWdlc3QoKTt2YXIgZD0wO2lmKGE+MCl7dmFyIGw9cy5sZW5ndGgtYTtkPU1hdGgubWluKGEsYy5sZW5ndGgpLGMuY29weShzLGwsMCxkKSxhLT1kfWlmKGQ8Yy5sZW5ndGgmJm8+MCl7dmFyIGg9dS5sZW5ndGgtbyxwPU1hdGgubWluKG8sYy5sZW5ndGgtZCk7Yy5jb3B5KHUsaCxkLGQrcCksby09cH19cmV0dXJuIGMuZmlsbCgwKSx7a2V5OnMsaXY6dX19fSw4MTg0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cigxNDkzKSxpPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsbz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGE9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgbj0wLGk9ZS5sZW5ndGg7bjxpO24rKylvLmNhbGwoZSxuKSYmKG51bGw9PXI/dChlW25dLG4sZSk6dC5jYWxsKHIsZVtuXSxuLGUpKX0scz1mdW5jdGlvbihlLHQscil7Zm9yKHZhciBuPTAsaT1lLmxlbmd0aDtuPGk7bisrKW51bGw9PXI/dChlLmNoYXJBdChuKSxuLGUpOnQuY2FsbChyLGUuY2hhckF0KG4pLG4sZSl9LHU9ZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgbiBpbiBlKW8uY2FsbChlLG4pJiYobnVsbD09cj90KGVbbl0sbixlKTp0LmNhbGwocixlW25dLG4sZSkpfTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LHIpe2lmKCFuKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIml0ZXJhdG9yIG11c3QgYmUgYSBmdW5jdGlvbiIpO3ZhciBvO2FyZ3VtZW50cy5sZW5ndGg+PTMmJihvPXIpLCJbb2JqZWN0IEFycmF5XSI9PT1pLmNhbGwoZSk/YShlLHQsbyk6InN0cmluZyI9PXR5cGVvZiBlP3MoZSx0LG8pOnUoZSx0LG8pfX0sMzE2MTplPT57InVzZSBzdHJpY3QiO3ZhciB0PSJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBjYWxsZWQgb24gaW5jb21wYXRpYmxlICIscj1BcnJheS5wcm90b3R5cGUuc2xpY2Usbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGk9IltvYmplY3QgRnVuY3Rpb25dIjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIG89dGhpcztpZigiZnVuY3Rpb24iIT10eXBlb2Ygb3x8bi5jYWxsKG8pIT09aSl0aHJvdyBuZXcgVHlwZUVycm9yKHQrbyk7Zm9yKHZhciBhLHM9ci5jYWxsKGFyZ3VtZW50cywxKSx1PWZ1bmN0aW9uKCl7aWYodGhpcyBpbnN0YW5jZW9mIGEpe3ZhciB0PW8uYXBwbHkodGhpcyxzLmNvbmNhdChyLmNhbGwoYXJndW1lbnRzKSkpO3JldHVybiBPYmplY3QodCk9PT10P3Q6dGhpc31yZXR1cm4gby5hcHBseShlLHMuY29uY2F0KHIuY2FsbChhcmd1bWVudHMpKSl9LGM9TWF0aC5tYXgoMCxvLmxlbmd0aC1zLmxlbmd0aCksZj1bXSxkPTA7ZDxjO2QrKylmLnB1c2goIiQiK2QpO2lmKGE9RnVuY3Rpb24oImJpbmRlciIsInJldHVybiBmdW5jdGlvbiAoIitmLmpvaW4oIiwiKSsiKXsgcmV0dXJuIGJpbmRlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk7IH0iKSh1KSxvLnByb3RvdHlwZSl7dmFyIGw9ZnVuY3Rpb24oKXt9O2wucHJvdG90eXBlPW8ucHJvdG90eXBlLGEucHJvdG90eXBlPW5ldyBsLGwucHJvdG90eXBlPW51bGx9cmV0dXJuIGF9fSwzNzY3OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cigzMTYxKTtlLmV4cG9ydHM9RnVuY3Rpb24ucHJvdG90eXBlLmJpbmR8fG59LDc3MDE6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbixpPXIoODg0NykocigzMzU1KSksbz1TeW50YXhFcnJvcixhPUZ1bmN0aW9uLHM9VHlwZUVycm9yLHU9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiBhKCcidXNlIHN0cmljdCI7IHJldHVybiAoJytlKyIpLmNvbnN0cnVjdG9yOyIpKCl9Y2F0Y2goZSl7fX0sYz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2lmKGMpdHJ5e2Moe30sIiIpfWNhdGNoKGUpe2M9bnVsbH12YXIgZj1mdW5jdGlvbigpe3Rocm93IG5ldyBzfSxkPWM/ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGZ9Y2F0Y2goZSl7dHJ5e3JldHVybiBjKGFyZ3VtZW50cywiY2FsbGVlIikuZ2V0fWNhdGNoKGUpe3JldHVybiBmfX19KCk6ZixsPXIoODQ4OSkoKSxoPU9iamVjdC5nZXRQcm90b3R5cGVPZnx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUuX19wcm90b19ffSxwPXt9LGI9InVuZGVmaW5lZCI9PXR5cGVvZiBVaW50OEFycmF5P246aChVaW50OEFycmF5KSx5PXsiJUFnZ3JlZ2F0ZUVycm9yJSI6InVuZGVmaW5lZCI9PXR5cGVvZiBBZ2dyZWdhdGVFcnJvcj9uOkFnZ3JlZ2F0ZUVycm9yLCIlQXJyYXklIjpBcnJheSwiJUFycmF5QnVmZmVyJSI6InVuZGVmaW5lZCI9PXR5cGVvZiBBcnJheUJ1ZmZlcj9uOkFycmF5QnVmZmVyLCIlQXJyYXlJdGVyYXRvclByb3RvdHlwZSUiOmw/aChbXVtTeW1ib2wuaXRlcmF0b3JdKCkpOm4sIiVBc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUlIjpuLCIlQXN5bmNGdW5jdGlvbiUiOnAsIiVBc3luY0dlbmVyYXRvciUiOnAsIiVBc3luY0dlbmVyYXRvckZ1bmN0aW9uJSI6cCwiJUFzeW5jSXRlcmF0b3JQcm90b3R5cGUlIjpwLCIlQXRvbWljcyUiOiJ1bmRlZmluZWQiPT10eXBlb2YgQXRvbWljcz9uOkF0b21pY3MsIiVCaWdJbnQlIjoidW5kZWZpbmVkIj09dHlwZW9mIEJpZ0ludD9uOkJpZ0ludCwiJUJvb2xlYW4lIjpCb29sZWFuLCIlRGF0YVZpZXclIjoidW5kZWZpbmVkIj09dHlwZW9mIERhdGFWaWV3P246RGF0YVZpZXcsIiVEYXRlJSI6RGF0ZSwiJWRlY29kZVVSSSUiOmRlY29kZVVSSSwiJWRlY29kZVVSSUNvbXBvbmVudCUiOmRlY29kZVVSSUNvbXBvbmVudCwiJWVuY29kZVVSSSUiOmVuY29kZVVSSSwiJWVuY29kZVVSSUNvbXBvbmVudCUiOmVuY29kZVVSSUNvbXBvbmVudCwiJUVycm9yJSI6RXJyb3IsIiVldmFsJSI6ZXZhbCwiJUV2YWxFcnJvciUiOkV2YWxFcnJvciwiJUZsb2F0MzJBcnJheSUiOiJ1bmRlZmluZWQiPT10eXBlb2YgRmxvYXQzMkFycmF5P246RmxvYXQzMkFycmF5LCIlRmxvYXQ2NEFycmF5JSI6InVuZGVmaW5lZCI9PXR5cGVvZiBGbG9hdDY0QXJyYXk/bjpGbG9hdDY0QXJyYXksIiVGaW5hbGl6YXRpb25SZWdpc3RyeSUiOiJ1bmRlZmluZWQiPT10eXBlb2YgRmluYWxpemF0aW9uUmVnaXN0cnk/bjpGaW5hbGl6YXRpb25SZWdpc3RyeSwiJUZ1bmN0aW9uJSI6YSwiJUdlbmVyYXRvckZ1bmN0aW9uJSI6cCwiJUludDhBcnJheSUiOiJ1bmRlZmluZWQiPT10eXBlb2YgSW50OEFycmF5P246SW50OEFycmF5LCIlSW50MTZBcnJheSUiOiJ1bmRlZmluZWQiPT10eXBlb2YgSW50MTZBcnJheT9uOkludDE2QXJyYXksIiVJbnQzMkFycmF5JSI6InVuZGVmaW5lZCI9PXR5cGVvZiBJbnQzMkFycmF5P246SW50MzJBcnJheSwiJWlzRmluaXRlJSI6aXNGaW5pdGUsIiVpc05hTiUiOmlzTmFOLCIlSXRlcmF0b3JQcm90b3R5cGUlIjpsP2goaChbXVtTeW1ib2wuaXRlcmF0b3JdKCkpKTpuLCIlSlNPTiUiOiJvYmplY3QiPT09KCJ1bmRlZmluZWQiPT10eXBlb2YgSlNPTj8idW5kZWZpbmVkIjooMCxpLmRlZmF1bHQpKEpTT04pKT9KU09OOm4sIiVNYXAlIjoidW5kZWZpbmVkIj09dHlwZW9mIE1hcD9uOk1hcCwiJU1hcEl0ZXJhdG9yUHJvdG90eXBlJSI6InVuZGVmaW5lZCIhPXR5cGVvZiBNYXAmJmw/aCgobmV3IE1hcClbU3ltYm9sLml0ZXJhdG9yXSgpKTpuLCIlTWF0aCUiOk1hdGgsIiVOdW1iZXIlIjpOdW1iZXIsIiVPYmplY3QlIjpPYmplY3QsIiVwYXJzZUZsb2F0JSI6cGFyc2VGbG9hdCwiJXBhcnNlSW50JSI6cGFyc2VJbnQsIiVQcm9taXNlJSI6InVuZGVmaW5lZCI9PXR5cGVvZiBQcm9taXNlP246UHJvbWlzZSwiJVByb3h5JSI6InVuZGVmaW5lZCI9PXR5cGVvZiBQcm94eT9uOlByb3h5LCIlUmFuZ2VFcnJvciUiOlJhbmdlRXJyb3IsIiVSZWZlcmVuY2VFcnJvciUiOlJlZmVyZW5jZUVycm9yLCIlUmVmbGVjdCUiOiJ1bmRlZmluZWQiPT10eXBlb2YgUmVmbGVjdD9uOlJlZmxlY3QsIiVSZWdFeHAlIjpSZWdFeHAsIiVTZXQlIjoidW5kZWZpbmVkIj09dHlwZW9mIFNldD9uOlNldCwiJVNldEl0ZXJhdG9yUHJvdG90eXBlJSI6InVuZGVmaW5lZCIhPXR5cGVvZiBTZXQmJmw/aCgobmV3IFNldClbU3ltYm9sLml0ZXJhdG9yXSgpKTpuLCIlU2hhcmVkQXJyYXlCdWZmZXIlIjoidW5kZWZpbmVkIj09dHlwZW9mIFNoYXJlZEFycmF5QnVmZmVyP246U2hhcmVkQXJyYXlCdWZmZXIsIiVTdHJpbmclIjpTdHJpbmcsIiVTdHJpbmdJdGVyYXRvclByb3RvdHlwZSUiOmw/aCgiIltTeW1ib2wuaXRlcmF0b3JdKCkpOm4sIiVTeW1ib2wlIjpsP1N5bWJvbDpuLCIlU3ludGF4RXJyb3IlIjpvLCIlVGhyb3dUeXBlRXJyb3IlIjpkLCIlVHlwZWRBcnJheSUiOmIsIiVUeXBlRXJyb3IlIjpzLCIlVWludDhBcnJheSUiOiJ1bmRlZmluZWQiPT10eXBlb2YgVWludDhBcnJheT9uOlVpbnQ4QXJyYXksIiVVaW50OENsYW1wZWRBcnJheSUiOiJ1bmRlZmluZWQiPT10eXBlb2YgVWludDhDbGFtcGVkQXJyYXk/bjpVaW50OENsYW1wZWRBcnJheSwiJVVpbnQxNkFycmF5JSI6InVuZGVmaW5lZCI9PXR5cGVvZiBVaW50MTZBcnJheT9uOlVpbnQxNkFycmF5LCIlVWludDMyQXJyYXklIjoidW5kZWZpbmVkIj09dHlwZW9mIFVpbnQzMkFycmF5P246VWludDMyQXJyYXksIiVVUklFcnJvciUiOlVSSUVycm9yLCIlV2Vha01hcCUiOiJ1bmRlZmluZWQiPT10eXBlb2YgV2Vha01hcD9uOldlYWtNYXAsIiVXZWFrUmVmJSI6InVuZGVmaW5lZCI9PXR5cGVvZiBXZWFrUmVmP246V2Vha1JlZiwiJVdlYWtTZXQlIjoidW5kZWZpbmVkIj09dHlwZW9mIFdlYWtTZXQ/bjpXZWFrU2V0fSxtPWZ1bmN0aW9uIGUodCl7dmFyIHI7aWYoIiVBc3luY0Z1bmN0aW9uJSI9PT10KXI9dSgiYXN5bmMgZnVuY3Rpb24gKCkge30iKTtlbHNlIGlmKCIlR2VuZXJhdG9yRnVuY3Rpb24lIj09PXQpcj11KCJmdW5jdGlvbiogKCkge30iKTtlbHNlIGlmKCIlQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiUiPT09dClyPXUoImFzeW5jIGZ1bmN0aW9uKiAoKSB7fSIpO2Vsc2UgaWYoIiVBc3luY0dlbmVyYXRvciUiPT09dCl7dmFyIG49ZSgiJUFzeW5jR2VuZXJhdG9yRnVuY3Rpb24lIik7biYmKHI9bi5wcm90b3R5cGUpfWVsc2UgaWYoIiVBc3luY0l0ZXJhdG9yUHJvdG90eXBlJSI9PT10KXt2YXIgaT1lKCIlQXN5bmNHZW5lcmF0b3IlIik7aSYmKHI9aChpLnByb3RvdHlwZSkpfXJldHVybiB5W3RdPXIscn0sdj17IiVBcnJheUJ1ZmZlclByb3RvdHlwZSUiOlsiQXJyYXlCdWZmZXIiLCJwcm90b3R5cGUiXSwiJUFycmF5UHJvdG90eXBlJSI6WyJBcnJheSIsInByb3RvdHlwZSJdLCIlQXJyYXlQcm90b19lbnRyaWVzJSI6WyJBcnJheSIsInByb3RvdHlwZSIsImVudHJpZXMiXSwiJUFycmF5UHJvdG9fZm9yRWFjaCUiOlsiQXJyYXkiLCJwcm90b3R5cGUiLCJmb3JFYWNoIl0sIiVBcnJheVByb3RvX2tleXMlIjpbIkFycmF5IiwicHJvdG90eXBlIiwia2V5cyJdLCIlQXJyYXlQcm90b192YWx1ZXMlIjpbIkFycmF5IiwicHJvdG90eXBlIiwidmFsdWVzIl0sIiVBc3luY0Z1bmN0aW9uUHJvdG90eXBlJSI6WyJBc3luY0Z1bmN0aW9uIiwicHJvdG90eXBlIl0sIiVBc3luY0dlbmVyYXRvciUiOlsiQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiIsInByb3RvdHlwZSJdLCIlQXN5bmNHZW5lcmF0b3JQcm90b3R5cGUlIjpbIkFzeW5jR2VuZXJhdG9yRnVuY3Rpb24iLCJwcm90b3R5cGUiLCJwcm90b3R5cGUiXSwiJUJvb2xlYW5Qcm90b3R5cGUlIjpbIkJvb2xlYW4iLCJwcm90b3R5cGUiXSwiJURhdGFWaWV3UHJvdG90eXBlJSI6WyJEYXRhVmlldyIsInByb3RvdHlwZSJdLCIlRGF0ZVByb3RvdHlwZSUiOlsiRGF0ZSIsInByb3RvdHlwZSJdLCIlRXJyb3JQcm90b3R5cGUlIjpbIkVycm9yIiwicHJvdG90eXBlIl0sIiVFdmFsRXJyb3JQcm90b3R5cGUlIjpbIkV2YWxFcnJvciIsInByb3RvdHlwZSJdLCIlRmxvYXQzMkFycmF5UHJvdG90eXBlJSI6WyJGbG9hdDMyQXJyYXkiLCJwcm90b3R5cGUiXSwiJUZsb2F0NjRBcnJheVByb3RvdHlwZSUiOlsiRmxvYXQ2NEFycmF5IiwicHJvdG90eXBlIl0sIiVGdW5jdGlvblByb3RvdHlwZSUiOlsiRnVuY3Rpb24iLCJwcm90b3R5cGUiXSwiJUdlbmVyYXRvciUiOlsiR2VuZXJhdG9yRnVuY3Rpb24iLCJwcm90b3R5cGUiXSwiJUdlbmVyYXRvclByb3RvdHlwZSUiOlsiR2VuZXJhdG9yRnVuY3Rpb24iLCJwcm90b3R5cGUiLCJwcm90b3R5cGUiXSwiJUludDhBcnJheVByb3RvdHlwZSUiOlsiSW50OEFycmF5IiwicHJvdG90eXBlIl0sIiVJbnQxNkFycmF5UHJvdG90eXBlJSI6WyJJbnQxNkFycmF5IiwicHJvdG90eXBlIl0sIiVJbnQzMkFycmF5UHJvdG90eXBlJSI6WyJJbnQzMkFycmF5IiwicHJvdG90eXBlIl0sIiVKU09OUGFyc2UlIjpbIkpTT04iLCJwYXJzZSJdLCIlSlNPTlN0cmluZ2lmeSUiOlsiSlNPTiIsInN0cmluZ2lmeSJdLCIlTWFwUHJvdG90eXBlJSI6WyJNYXAiLCJwcm90b3R5cGUiXSwiJU51bWJlclByb3RvdHlwZSUiOlsiTnVtYmVyIiwicHJvdG90eXBlIl0sIiVPYmplY3RQcm90b3R5cGUlIjpbIk9iamVjdCIsInByb3RvdHlwZSJdLCIlT2JqUHJvdG9fdG9TdHJpbmclIjpbIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIl0sIiVPYmpQcm90b192YWx1ZU9mJSI6WyJPYmplY3QiLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIl0sIiVQcm9taXNlUHJvdG90eXBlJSI6WyJQcm9taXNlIiwicHJvdG90eXBlIl0sIiVQcm9taXNlUHJvdG9fdGhlbiUiOlsiUHJvbWlzZSIsInByb3RvdHlwZSIsInRoZW4iXSwiJVByb21pc2VfYWxsJSI6WyJQcm9taXNlIiwiYWxsIl0sIiVQcm9taXNlX3JlamVjdCUiOlsiUHJvbWlzZSIsInJlamVjdCJdLCIlUHJvbWlzZV9yZXNvbHZlJSI6WyJQcm9taXNlIiwicmVzb2x2ZSJdLCIlUmFuZ2VFcnJvclByb3RvdHlwZSUiOlsiUmFuZ2VFcnJvciIsInByb3RvdHlwZSJdLCIlUmVmZXJlbmNlRXJyb3JQcm90b3R5cGUlIjpbIlJlZmVyZW5jZUVycm9yIiwicHJvdG90eXBlIl0sIiVSZWdFeHBQcm90b3R5cGUlIjpbIlJlZ0V4cCIsInByb3RvdHlwZSJdLCIlU2V0UHJvdG90eXBlJSI6WyJTZXQiLCJwcm90b3R5cGUiXSwiJVNoYXJlZEFycmF5QnVmZmVyUHJvdG90eXBlJSI6WyJTaGFyZWRBcnJheUJ1ZmZlciIsInByb3RvdHlwZSJdLCIlU3RyaW5nUHJvdG90eXBlJSI6WyJTdHJpbmciLCJwcm90b3R5cGUiXSwiJVN5bWJvbFByb3RvdHlwZSUiOlsiU3ltYm9sIiwicHJvdG90eXBlIl0sIiVTeW50YXhFcnJvclByb3RvdHlwZSUiOlsiU3ludGF4RXJyb3IiLCJwcm90b3R5cGUiXSwiJVR5cGVkQXJyYXlQcm90b3R5cGUlIjpbIlR5cGVkQXJyYXkiLCJwcm90b3R5cGUiXSwiJVR5cGVFcnJvclByb3RvdHlwZSUiOlsiVHlwZUVycm9yIiwicHJvdG90eXBlIl0sIiVVaW50OEFycmF5UHJvdG90eXBlJSI6WyJVaW50OEFycmF5IiwicHJvdG90eXBlIl0sIiVVaW50OENsYW1wZWRBcnJheVByb3RvdHlwZSUiOlsiVWludDhDbGFtcGVkQXJyYXkiLCJwcm90b3R5cGUiXSwiJVVpbnQxNkFycmF5UHJvdG90eXBlJSI6WyJVaW50MTZBcnJheSIsInByb3RvdHlwZSJdLCIlVWludDMyQXJyYXlQcm90b3R5cGUlIjpbIlVpbnQzMkFycmF5IiwicHJvdG90eXBlIl0sIiVVUklFcnJvclByb3RvdHlwZSUiOlsiVVJJRXJyb3IiLCJwcm90b3R5cGUiXSwiJVdlYWtNYXBQcm90b3R5cGUlIjpbIldlYWtNYXAiLCJwcm90b3R5cGUiXSwiJVdlYWtTZXRQcm90b3R5cGUlIjpbIldlYWtTZXQiLCJwcm90b3R5cGUiXX0sZz1yKDM3NjcpLHc9cigxODg4KSxBPWcuY2FsbChGdW5jdGlvbi5jYWxsLEFycmF5LnByb3RvdHlwZS5jb25jYXQpLGs9Zy5jYWxsKEZ1bmN0aW9uLmFwcGx5LEFycmF5LnByb3RvdHlwZS5zcGxpY2UpLF89Zy5jYWxsKEZ1bmN0aW9uLmNhbGwsU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlKSxTPWcuY2FsbChGdW5jdGlvbi5jYWxsLFN0cmluZy5wcm90b3R5cGUuc2xpY2UpLHg9Zy5jYWxsKEZ1bmN0aW9uLmNhbGwsUmVnRXhwLnByb3RvdHlwZS5leGVjKSxFPS9bXiUuW1xdXSt8XFsoPzooLT9cZCsoPzpcLlxkKyk/KXwoWyInXSkoKD86KD8hXDIpW15cXF18XFwuKSo/KVwyKVxdfCg/PSg/OlwufFxbXF0pKD86XC58XFtcXXwlJCkpL2csUD0vXFwoXFwpPy9nLE89ZnVuY3Rpb24oZSl7dmFyIHQ9UyhlLDAsMSkscj1TKGUsLTEpO2lmKCIlIj09PXQmJiIlIiE9PXIpdGhyb3cgbmV3IG8oImludmFsaWQgaW50cmluc2ljIHN5bnRheCwgZXhwZWN0ZWQgY2xvc2luZyBgJWAiKTtpZigiJSI9PT1yJiYiJSIhPT10KXRocm93IG5ldyBvKCJpbnZhbGlkIGludHJpbnNpYyBzeW50YXgsIGV4cGVjdGVkIG9wZW5pbmcgYCVgIik7dmFyIG49W107cmV0dXJuIF8oZSxFLChmdW5jdGlvbihlLHQscixpKXtuW24ubGVuZ3RoXT1yP18oaSxQLCIkMSIpOnR8fGV9KSksbn0sQj1mdW5jdGlvbihlLHQpe3ZhciByLG49ZTtpZih3KHYsbikmJihuPSIlIisocj12W25dKVswXSsiJSIpLHcoeSxuKSl7dmFyIGk9eVtuXTtpZihpPT09cCYmKGk9bShuKSksdm9pZCAwPT09aSYmIXQpdGhyb3cgbmV3IHMoImludHJpbnNpYyAiK2UrIiBleGlzdHMsIGJ1dCBpcyBub3QgYXZhaWxhYmxlLiBQbGVhc2UgZmlsZSBhbiBpc3N1ZSEiKTtyZXR1cm57YWxpYXM6cixuYW1lOm4sdmFsdWU6aX19dGhyb3cgbmV3IG8oImludHJpbnNpYyAiK2UrIiBkb2VzIG5vdCBleGlzdCEiKX07ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7aWYoInN0cmluZyIhPXR5cGVvZiBlfHwwPT09ZS5sZW5ndGgpdGhyb3cgbmV3IHMoImludHJpbnNpYyBuYW1lIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nIik7aWYoYXJndW1lbnRzLmxlbmd0aD4xJiYiYm9vbGVhbiIhPXR5cGVvZiB0KXRocm93IG5ldyBzKCciYWxsb3dNaXNzaW5nIiBhcmd1bWVudCBtdXN0IGJlIGEgYm9vbGVhbicpO2lmKG51bGw9PT14KC9eJT9bXiVdKiU/JC8sZSkpdGhyb3cgbmV3IG8oImAlYCBtYXkgbm90IGJlIHByZXNlbnQgYW55d2hlcmUgYnV0IGF0IHRoZSBiZWdpbm5pbmcgYW5kIGVuZCBvZiB0aGUgaW50cmluc2ljIG5hbWUiKTt2YXIgcj1PKGUpLG49ci5sZW5ndGg+MD9yWzBdOiIiLGk9QigiJSIrbisiJSIsdCksYT1pLm5hbWUsdT1pLnZhbHVlLGY9ITEsZD1pLmFsaWFzO2QmJihuPWRbMF0sayhyLEEoWzAsMV0sZCkpKTtmb3IodmFyIGw9MSxoPSEwO2w8ci5sZW5ndGg7bCs9MSl7dmFyIHA9cltsXSxiPVMocCwwLDEpLG09UyhwLC0xKTtpZigoJyInPT09Ynx8IiciPT09Ynx8ImAiPT09Ynx8JyInPT09bXx8IiciPT09bXx8ImAiPT09bSkmJmIhPT1tKXRocm93IG5ldyBvKCJwcm9wZXJ0eSBuYW1lcyB3aXRoIHF1b3RlcyBtdXN0IGhhdmUgbWF0Y2hpbmcgcXVvdGVzIik7aWYoImNvbnN0cnVjdG9yIiE9PXAmJmh8fChmPSEwKSx3KHksYT0iJSIrKG4rPSIuIitwKSsiJSIpKXU9eVthXTtlbHNlIGlmKG51bGwhPXUpe2lmKCEocCBpbiB1KSl7aWYoIXQpdGhyb3cgbmV3IHMoImJhc2UgaW50cmluc2ljIGZvciAiK2UrIiBleGlzdHMsIGJ1dCB0aGUgcHJvcGVydHkgaXMgbm90IGF2YWlsYWJsZS4iKTtyZXR1cm59aWYoYyYmbCsxPj1yLmxlbmd0aCl7dmFyIHY9Yyh1LHApO3U9KGg9ISF2KSYmImdldCJpbiB2JiYhKCJvcmlnaW5hbFZhbHVlImluIHYuZ2V0KT92LmdldDp1W3BdfWVsc2UgaD13KHUscCksdT11W3BdO2gmJiFmJiYoeVthXT11KX19cmV0dXJuIHV9fSwyOTQ4OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG47bj0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dm9pZCAwIT09ci5nP3IuZzoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjp7fSxlLmV4cG9ydHM9bn0sMzgyMDooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoNzcwMSkoIiVPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yJSIsITApO2lmKG4pdHJ5e24oW10sImxlbmd0aCIpfWNhdGNoKGUpe249bnVsbH1lLmV4cG9ydHM9bn0sODQ4OTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0NykocigzMzU1KSksaT0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLG89cig3MDI3KTtlLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgaSYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT0oMCxuLmRlZmF1bHQpKGkoImZvbyIpKSYmInN5bWJvbCI9PT0oMCxuLmRlZmF1bHQpKFN5bWJvbCgiYmFyIikpJiZvKCl9fSw3MDI3OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KShyKDMzNTUpKTtlLmV4cG9ydHM9ZnVuY3Rpb24oKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgU3ltYm9sfHwiZnVuY3Rpb24iIT10eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scylyZXR1cm4hMTtpZigic3ltYm9sIj09PSgwLG4uZGVmYXVsdCkoU3ltYm9sLml0ZXJhdG9yKSlyZXR1cm4hMDt2YXIgZT17fSx0PVN5bWJvbCgidGVzdCIpLHI9T2JqZWN0KHQpO2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4hMTtpZigiW29iamVjdCBTeW1ib2xdIiE9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSlyZXR1cm4hMTtpZigiW29iamVjdCBTeW1ib2xdIiE9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKSlyZXR1cm4hMTtmb3IodCBpbiBlW3RdPTQyLGUpcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5rZXlzJiYwIT09T2JqZWN0LmtleXMoZSkubGVuZ3RoKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyYmMCE9PU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUpLmxlbmd0aClyZXR1cm4hMTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpO2lmKDEhPT1pLmxlbmd0aHx8aVswXSE9PXQpcmV0dXJuITE7aWYoIU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHQpKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKXt2YXIgbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCk7aWYoNDIhPT1vLnZhbHVlfHwhMCE9PW8uZW51bWVyYWJsZSlyZXR1cm4hMX1yZXR1cm4hMH19LDExOTE6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDcwMjcpO2UuZXhwb3J0cz1mdW5jdGlvbigpe3JldHVybiBuKCkmJiEhU3ltYm9sLnRvU3RyaW5nVGFnfX0sMTg4ODooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoMzc2Nyk7ZS5leHBvcnRzPW4uY2FsbChGdW5jdGlvbi5jYWxsLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpfSwyMzUzOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODUwKS5CdWZmZXIsaT1yKDY1MDUpLlRyYW5zZm9ybTtmdW5jdGlvbiBvKGUpe2kuY2FsbCh0aGlzKSx0aGlzLl9ibG9jaz1uLmFsbG9jVW5zYWZlKGUpLHRoaXMuX2Jsb2NrU2l6ZT1lLHRoaXMuX2Jsb2NrT2Zmc2V0PTAsdGhpcy5fbGVuZ3RoPVswLDAsMCwwXSx0aGlzLl9maW5hbGl6ZWQ9ITF9cigxNzM2KShvLGkpLG8ucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPW51bGw7dHJ5e3RoaXMudXBkYXRlKGUsdCl9Y2F0Y2goZSl7bj1lfXIobil9LG8ucHJvdG90eXBlLl9mbHVzaD1mdW5jdGlvbihlKXt2YXIgdD1udWxsO3RyeXt0aGlzLnB1c2godGhpcy5kaWdlc3QoKSl9Y2F0Y2goZSl7dD1lfWUodCl9LG8ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihlLHQpe2lmKGZ1bmN0aW9uKGUsdCl7aWYoIW4uaXNCdWZmZXIoZSkmJiJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJEYXRhIG11c3QgYmUgYSBzdHJpbmcgb3IgYSBidWZmZXIiKX0oZSksdGhpcy5fZmluYWxpemVkKXRocm93IG5ldyBFcnJvcigiRGlnZXN0IGFscmVhZHkgY2FsbGVkIik7bi5pc0J1ZmZlcihlKXx8KGU9bi5mcm9tKGUsdCkpO2Zvcih2YXIgcj10aGlzLl9ibG9jayxpPTA7dGhpcy5fYmxvY2tPZmZzZXQrZS5sZW5ndGgtaT49dGhpcy5fYmxvY2tTaXplOyl7Zm9yKHZhciBvPXRoaXMuX2Jsb2NrT2Zmc2V0O288dGhpcy5fYmxvY2tTaXplOylyW28rK109ZVtpKytdO3RoaXMuX3VwZGF0ZSgpLHRoaXMuX2Jsb2NrT2Zmc2V0PTB9Zm9yKDtpPGUubGVuZ3RoOylyW3RoaXMuX2Jsb2NrT2Zmc2V0KytdPWVbaSsrXTtmb3IodmFyIGE9MCxzPTgqZS5sZW5ndGg7cz4wOysrYSl0aGlzLl9sZW5ndGhbYV0rPXMsKHM9dGhpcy5fbGVuZ3RoW2FdLzQyOTQ5NjcyOTZ8MCk+MCYmKHRoaXMuX2xlbmd0aFthXS09NDI5NDk2NzI5NipzKTtyZXR1cm4gdGhpc30sby5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiX3VwZGF0ZSBpcyBub3QgaW1wbGVtZW50ZWQiKX0sby5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uKGUpe2lmKHRoaXMuX2ZpbmFsaXplZCl0aHJvdyBuZXcgRXJyb3IoIkRpZ2VzdCBhbHJlYWR5IGNhbGxlZCIpO3RoaXMuX2ZpbmFsaXplZD0hMDt2YXIgdD10aGlzLl9kaWdlc3QoKTt2b2lkIDAhPT1lJiYodD10LnRvU3RyaW5nKGUpKSx0aGlzLl9ibG9jay5maWxsKDApLHRoaXMuX2Jsb2NrT2Zmc2V0PTA7Zm9yKHZhciByPTA7cjw0Oysrcil0aGlzLl9sZW5ndGhbcl09MDtyZXR1cm4gdH0sby5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiX2RpZ2VzdCBpcyBub3QgaW1wbGVtZW50ZWQiKX0sZS5leHBvcnRzPW99LDcxOTg6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj10O24udXRpbHM9cig0MjY4KSxuLmNvbW1vbj1yKDQ2OTYpLG4uc2hhPXIoOTMxMCksbi5yaXBlbWQ9cig5Mjk0KSxuLmhtYWM9cigzMjAxKSxuLnNoYTE9bi5zaGEuc2hhMSxuLnNoYTI1Nj1uLnNoYS5zaGEyNTYsbi5zaGEyMjQ9bi5zaGEuc2hhMjI0LG4uc2hhMzg0PW4uc2hhLnNoYTM4NCxuLnNoYTUxMj1uLnNoYS5zaGE1MTIsbi5yaXBlbWQxNjA9bi5yaXBlbWQucmlwZW1kMTYwfSw0Njk2OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig0MjY4KSxpPXIoNDUwNCk7ZnVuY3Rpb24gbygpe3RoaXMucGVuZGluZz1udWxsLHRoaXMucGVuZGluZ1RvdGFsPTAsdGhpcy5ibG9ja1NpemU9dGhpcy5jb25zdHJ1Y3Rvci5ibG9ja1NpemUsdGhpcy5vdXRTaXplPXRoaXMuY29uc3RydWN0b3Iub3V0U2l6ZSx0aGlzLmhtYWNTdHJlbmd0aD10aGlzLmNvbnN0cnVjdG9yLmhtYWNTdHJlbmd0aCx0aGlzLnBhZExlbmd0aD10aGlzLmNvbnN0cnVjdG9yLnBhZExlbmd0aC84LHRoaXMuZW5kaWFuPSJiaWciLHRoaXMuX2RlbHRhOD10aGlzLmJsb2NrU2l6ZS84LHRoaXMuX2RlbHRhMzI9dGhpcy5ibG9ja1NpemUvMzJ9dC5CbG9ja0hhc2g9byxvLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oZSx0KXtpZihlPW4udG9BcnJheShlLHQpLHRoaXMucGVuZGluZz90aGlzLnBlbmRpbmc9dGhpcy5wZW5kaW5nLmNvbmNhdChlKTp0aGlzLnBlbmRpbmc9ZSx0aGlzLnBlbmRpbmdUb3RhbCs9ZS5sZW5ndGgsdGhpcy5wZW5kaW5nLmxlbmd0aD49dGhpcy5fZGVsdGE4KXt2YXIgcj0oZT10aGlzLnBlbmRpbmcpLmxlbmd0aCV0aGlzLl9kZWx0YTg7dGhpcy5wZW5kaW5nPWUuc2xpY2UoZS5sZW5ndGgtcixlLmxlbmd0aCksMD09PXRoaXMucGVuZGluZy5sZW5ndGgmJih0aGlzLnBlbmRpbmc9bnVsbCksZT1uLmpvaW4zMihlLDAsZS5sZW5ndGgtcix0aGlzLmVuZGlhbik7Zm9yKHZhciBpPTA7aTxlLmxlbmd0aDtpKz10aGlzLl9kZWx0YTMyKXRoaXMuX3VwZGF0ZShlLGksaSt0aGlzLl9kZWx0YTMyKX1yZXR1cm4gdGhpc30sby5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnVwZGF0ZSh0aGlzLl9wYWQoKSksaShudWxsPT09dGhpcy5wZW5kaW5nKSx0aGlzLl9kaWdlc3QoZSl9LG8ucHJvdG90eXBlLl9wYWQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnBlbmRpbmdUb3RhbCx0PXRoaXMuX2RlbHRhOCxyPXQtKGUrdGhpcy5wYWRMZW5ndGgpJXQsbj1uZXcgQXJyYXkocit0aGlzLnBhZExlbmd0aCk7blswXT0xMjg7Zm9yKHZhciBpPTE7aTxyO2krKyluW2ldPTA7aWYoZTw8PTMsImJpZyI9PT10aGlzLmVuZGlhbil7Zm9yKHZhciBvPTg7bzx0aGlzLnBhZExlbmd0aDtvKyspbltpKytdPTA7bltpKytdPTAsbltpKytdPTAsbltpKytdPTAsbltpKytdPTAsbltpKytdPWU+Pj4yNCYyNTUsbltpKytdPWU+Pj4xNiYyNTUsbltpKytdPWU+Pj44JjI1NSxuW2krK109MjU1JmV9ZWxzZSBmb3IobltpKytdPTI1NSZlLG5baSsrXT1lPj4+OCYyNTUsbltpKytdPWU+Pj4xNiYyNTUsbltpKytdPWU+Pj4yNCYyNTUsbltpKytdPTAsbltpKytdPTAsbltpKytdPTAsbltpKytdPTAsbz04O288dGhpcy5wYWRMZW5ndGg7bysrKW5baSsrXT0wO3JldHVybiBufX0sMzIwMTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoNDI2OCksaT1yKDQ1MDQpO2Z1bmN0aW9uIG8oZSx0LHIpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG8pKXJldHVybiBuZXcgbyhlLHQscik7dGhpcy5IYXNoPWUsdGhpcy5ibG9ja1NpemU9ZS5ibG9ja1NpemUvOCx0aGlzLm91dFNpemU9ZS5vdXRTaXplLzgsdGhpcy5pbm5lcj1udWxsLHRoaXMub3V0ZXI9bnVsbCx0aGlzLl9pbml0KG4udG9BcnJheSh0LHIpKX1lLmV4cG9ydHM9byxvLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbihlKXtlLmxlbmd0aD50aGlzLmJsb2NrU2l6ZSYmKGU9KG5ldyB0aGlzLkhhc2gpLnVwZGF0ZShlKS5kaWdlc3QoKSksaShlLmxlbmd0aDw9dGhpcy5ibG9ja1NpemUpO2Zvcih2YXIgdD1lLmxlbmd0aDt0PHRoaXMuYmxvY2tTaXplO3QrKyllLnB1c2goMCk7Zm9yKHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdXj01NDtmb3IodGhpcy5pbm5lcj0obmV3IHRoaXMuSGFzaCkudXBkYXRlKGUpLHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdXj0xMDY7dGhpcy5vdXRlcj0obmV3IHRoaXMuSGFzaCkudXBkYXRlKGUpfSxvLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5pbm5lci51cGRhdGUoZSx0KSx0aGlzfSxvLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMub3V0ZXIudXBkYXRlKHRoaXMuaW5uZXIuZGlnZXN0KCkpLHRoaXMub3V0ZXIuZGlnZXN0KGUpfX0sOTI5NDooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoNDI2OCksaT1yKDQ2OTYpLG89bi5yb3RsMzIsYT1uLnN1bTMyLHM9bi5zdW0zMl8zLHU9bi5zdW0zMl80LGM9aS5CbG9ja0hhc2g7ZnVuY3Rpb24gZigpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGYpKXJldHVybiBuZXcgZjtjLmNhbGwodGhpcyksdGhpcy5oPVsxNzMyNTg0MTkzLDQwMjMyMzM0MTcsMjU2MjM4MzEwMiwyNzE3MzM4NzgsMzI4NTM3NzUyMF0sdGhpcy5lbmRpYW49ImxpdHRsZSJ9ZnVuY3Rpb24gZChlLHQscixuKXtyZXR1cm4gZTw9MTU/dF5yXm46ZTw9MzE/dCZyfH50Jm46ZTw9NDc/KHR8fnIpXm46ZTw9NjM/dCZufHImfm46dF4ocnx+bil9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZTw9MTU/MDplPD0zMT8xNTE4NTAwMjQ5OmU8PTQ3PzE4NTk3NzUzOTM6ZTw9NjM/MjQwMDk1OTcwODoyODQwODUzODM4fWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGU8PTE1PzEzNTI4Mjk5MjY6ZTw9MzE/MTU0ODYwMzY4NDplPD00Nz8xODM2MDcyNjkxOmU8PTYzPzIwNTM5OTQyMTc6MH1uLmluaGVyaXRzKGYsYyksdC5yaXBlbWQxNjA9ZixmLmJsb2NrU2l6ZT01MTIsZi5vdXRTaXplPTE2MCxmLmhtYWNTdHJlbmd0aD0xOTIsZi5wYWRMZW5ndGg9NjQsZi5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj10aGlzLmhbMF0sbj10aGlzLmhbMV0saT10aGlzLmhbMl0sYz10aGlzLmhbM10sZj10aGlzLmhbNF0sdj1yLGc9bix3PWksQT1jLGs9ZixfPTA7Xzw4MDtfKyspe3ZhciBTPWEobyh1KHIsZChfLG4saSxjKSxlW3BbX10rdF0sbChfKSkseVtfXSksZik7cj1mLGY9YyxjPW8oaSwxMCksaT1uLG49UyxTPWEobyh1KHYsZCg3OS1fLGcsdyxBKSxlW2JbX10rdF0saChfKSksbVtfXSksayksdj1rLGs9QSxBPW8odywxMCksdz1nLGc9U31TPXModGhpcy5oWzFdLGksQSksdGhpcy5oWzFdPXModGhpcy5oWzJdLGMsayksdGhpcy5oWzJdPXModGhpcy5oWzNdLGYsdiksdGhpcy5oWzNdPXModGhpcy5oWzRdLHIsZyksdGhpcy5oWzRdPXModGhpcy5oWzBdLG4sdyksdGhpcy5oWzBdPVN9LGYucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24oZSl7cmV0dXJuImhleCI9PT1lP24udG9IZXgzMih0aGlzLmgsImxpdHRsZSIpOm4uc3BsaXQzMih0aGlzLmgsImxpdHRsZSIpfTt2YXIgcD1bMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSw3LDQsMTMsMSwxMCw2LDE1LDMsMTIsMCw5LDUsMiwxNCwxMSw4LDMsMTAsMTQsNCw5LDE1LDgsMSwyLDcsMCw2LDEzLDExLDUsMTIsMSw5LDExLDEwLDAsOCwxMiw0LDEzLDMsNywxNSwxNCw1LDYsMiw0LDAsNSw5LDcsMTIsMiwxMCwxNCwxLDMsOCwxMSw2LDE1LDEzXSxiPVs1LDE0LDcsMCw5LDIsMTEsNCwxMyw2LDE1LDgsMSwxMCwzLDEyLDYsMTEsMyw3LDAsMTMsNSwxMCwxNCwxNSw4LDEyLDQsOSwxLDIsMTUsNSwxLDMsNywxNCw2LDksMTEsOCwxMiwyLDEwLDAsNCwxMyw4LDYsNCwxLDMsMTEsMTUsMCw1LDEyLDIsMTMsOSw3LDEwLDE0LDEyLDE1LDEwLDQsMSw1LDgsNyw2LDIsMTMsMTQsMCwzLDksMTFdLHk9WzExLDE0LDE1LDEyLDUsOCw3LDksMTEsMTMsMTQsMTUsNiw3LDksOCw3LDYsOCwxMywxMSw5LDcsMTUsNywxMiwxNSw5LDExLDcsMTMsMTIsMTEsMTMsNiw3LDE0LDksMTMsMTUsMTQsOCwxMyw2LDUsMTIsNyw1LDExLDEyLDE0LDE1LDE0LDE1LDksOCw5LDE0LDUsNiw4LDYsNSwxMiw5LDE1LDUsMTEsNiw4LDEzLDEyLDUsMTIsMTMsMTQsMTEsOCw1LDZdLG09WzgsOSw5LDExLDEzLDE1LDE1LDUsNyw3LDgsMTEsMTQsMTQsMTIsNiw5LDEzLDE1LDcsMTIsOCw5LDExLDcsNywxMiw3LDYsMTUsMTMsMTEsOSw3LDE1LDExLDgsNiw2LDE0LDEyLDEzLDUsMTQsMTMsMTMsNyw1LDE1LDUsOCwxMSwxNCwxNCw2LDE0LDYsOSwxMiw5LDEyLDUsMTUsOCw4LDUsMTIsOSwxMiw1LDE0LDYsOCwxMyw2LDUsMTUsMTMsMTEsMTFdfSw5MzEwOihlLHQscik9PnsidXNlIHN0cmljdCI7dC5zaGExPXIoODE0MiksdC5zaGEyMjQ9cig0OTA5KSx0LnNoYTI1Nj1yKDc2ODIpLHQuc2hhMzg0PXIoNDUzMiksdC5zaGE1MTI9cig2NTE1KX0sODE0MjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoNDI2OCksaT1yKDQ2OTYpLG89cig3MCksYT1uLnJvdGwzMixzPW4uc3VtMzIsdT1uLnN1bTMyXzUsYz1vLmZ0XzEsZj1pLkJsb2NrSGFzaCxkPVsxNTE4NTAwMjQ5LDE4NTk3NzUzOTMsMjQwMDk1OTcwOCwzMzk1NDY5NzgyXTtmdW5jdGlvbiBsKCl7aWYoISh0aGlzIGluc3RhbmNlb2YgbCkpcmV0dXJuIG5ldyBsO2YuY2FsbCh0aGlzKSx0aGlzLmg9WzE3MzI1ODQxOTMsNDAyMzIzMzQxNywyNTYyMzgzMTAyLDI3MTczMzg3OCwzMjg1Mzc3NTIwXSx0aGlzLlc9bmV3IEFycmF5KDgwKX1uLmluaGVyaXRzKGwsZiksZS5leHBvcnRzPWwsbC5ibG9ja1NpemU9NTEyLGwub3V0U2l6ZT0xNjAsbC5obWFjU3RyZW5ndGg9ODAsbC5wYWRMZW5ndGg9NjQsbC5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj10aGlzLlcsbj0wO248MTY7bisrKXJbbl09ZVt0K25dO2Zvcig7bjxyLmxlbmd0aDtuKyspcltuXT1hKHJbbi0zXV5yW24tOF1ecltuLTE0XV5yW24tMTZdLDEpO3ZhciBpPXRoaXMuaFswXSxvPXRoaXMuaFsxXSxmPXRoaXMuaFsyXSxsPXRoaXMuaFszXSxoPXRoaXMuaFs0XTtmb3Iobj0wO248ci5sZW5ndGg7bisrKXt2YXIgcD1+fihuLzIwKSxiPXUoYShpLDUpLGMocCxvLGYsbCksaCxyW25dLGRbcF0pO2g9bCxsPWYsZj1hKG8sMzApLG89aSxpPWJ9dGhpcy5oWzBdPXModGhpcy5oWzBdLGkpLHRoaXMuaFsxXT1zKHRoaXMuaFsxXSxvKSx0aGlzLmhbMl09cyh0aGlzLmhbMl0sZiksdGhpcy5oWzNdPXModGhpcy5oWzNdLGwpLHRoaXMuaFs0XT1zKHRoaXMuaFs0XSxoKX0sbC5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbihlKXtyZXR1cm4iaGV4Ij09PWU/bi50b0hleDMyKHRoaXMuaCwiYmlnIik6bi5zcGxpdDMyKHRoaXMuaCwiYmlnIil9fSw0OTA5OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig0MjY4KSxpPXIoNzY4Mik7ZnVuY3Rpb24gbygpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG8pKXJldHVybiBuZXcgbztpLmNhbGwodGhpcyksdGhpcy5oPVszMjM4MzcxMDMyLDkxNDE1MDY2Myw4MTI3MDI5OTksNDE0NDkxMjY5Nyw0MjkwNzc1ODU3LDE3NTA2MDMwMjUsMTY5NDA3NjgzOSwzMjA0MDc1NDI4XX1uLmluaGVyaXRzKG8saSksZS5leHBvcnRzPW8sby5ibG9ja1NpemU9NTEyLG8ub3V0U2l6ZT0yMjQsby5obWFjU3RyZW5ndGg9MTkyLG8ucGFkTGVuZ3RoPTY0LG8ucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24oZSl7cmV0dXJuImhleCI9PT1lP24udG9IZXgzMih0aGlzLmguc2xpY2UoMCw3KSwiYmlnIik6bi5zcGxpdDMyKHRoaXMuaC5zbGljZSgwLDcpLCJiaWciKX19LDc2ODI6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDQyNjgpLGk9cig0Njk2KSxvPXIoNzApLGE9cig0NTA0KSxzPW4uc3VtMzIsdT1uLnN1bTMyXzQsYz1uLnN1bTMyXzUsZj1vLmNoMzIsZD1vLm1hajMyLGw9by5zMF8yNTYsaD1vLnMxXzI1NixwPW8uZzBfMjU2LGI9by5nMV8yNTYseT1pLkJsb2NrSGFzaCxtPVsxMTE2MzUyNDA4LDE4OTk0NDc0NDEsMzA0OTMyMzQ3MSwzOTIxMDA5NTczLDk2MTk4NzE2MywxNTA4OTcwOTkzLDI0NTM2MzU3NDgsMjg3MDc2MzIyMSwzNjI0MzgxMDgwLDMxMDU5ODQwMSw2MDcyMjUyNzgsMTQyNjg4MTk4NywxOTI1MDc4Mzg4LDIxNjIwNzgyMDYsMjYxNDg4ODEwMywzMjQ4MjIyNTgwLDM4MzUzOTA0MDEsNDAyMjIyNDc3NCwyNjQzNDcwNzgsNjA0ODA3NjI4LDc3MDI1NTk4MywxMjQ5MTUwMTIyLDE1NTUwODE2OTIsMTk5NjA2NDk4NiwyNTU0MjIwODgyLDI4MjE4MzQzNDksMjk1Mjk5NjgwOCwzMjEwMzEzNjcxLDMzMzY1NzE4OTEsMzU4NDUyODcxMSwxMTM5MjY5OTMsMzM4MjQxODk1LDY2NjMwNzIwNSw3NzM1Mjk5MTIsMTI5NDc1NzM3MiwxMzk2MTgyMjkxLDE2OTUxODM3MDAsMTk4NjY2MTA1MSwyMTc3MDI2MzUwLDI0NTY5NTYwMzcsMjczMDQ4NTkyMSwyODIwMzAyNDExLDMyNTk3MzA4MDAsMzM0NTc2NDc3MSwzNTE2MDY1ODE3LDM2MDAzNTI4MDQsNDA5NDU3MTkwOSwyNzU0MjMzNDQsNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdO2Z1bmN0aW9uIHYoKXtpZighKHRoaXMgaW5zdGFuY2VvZiB2KSlyZXR1cm4gbmV3IHY7eS5jYWxsKHRoaXMpLHRoaXMuaD1bMTc3OTAzMzcwMywzMTQ0MTM0Mjc3LDEwMTM5MDQyNDIsMjc3MzQ4MDc2MiwxMzU5ODkzMTE5LDI2MDA4MjI5MjQsNTI4NzM0NjM1LDE1NDE0NTkyMjVdLHRoaXMuaz1tLHRoaXMuVz1uZXcgQXJyYXkoNjQpfW4uaW5oZXJpdHModix5KSxlLmV4cG9ydHM9dix2LmJsb2NrU2l6ZT01MTIsdi5vdXRTaXplPTI1Nix2LmhtYWNTdHJlbmd0aD0xOTIsdi5wYWRMZW5ndGg9NjQsdi5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj10aGlzLlcsbj0wO248MTY7bisrKXJbbl09ZVt0K25dO2Zvcig7bjxyLmxlbmd0aDtuKyspcltuXT11KGIocltuLTJdKSxyW24tN10scChyW24tMTVdKSxyW24tMTZdKTt2YXIgaT10aGlzLmhbMF0sbz10aGlzLmhbMV0seT10aGlzLmhbMl0sbT10aGlzLmhbM10sdj10aGlzLmhbNF0sZz10aGlzLmhbNV0sdz10aGlzLmhbNl0sQT10aGlzLmhbN107Zm9yKGEodGhpcy5rLmxlbmd0aD09PXIubGVuZ3RoKSxuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciBrPWMoQSxoKHYpLGYodixnLHcpLHRoaXMua1tuXSxyW25dKSxfPXMobChpKSxkKGksbyx5KSk7QT13LHc9ZyxnPXYsdj1zKG0sayksbT15LHk9byxvPWksaT1zKGssXyl9dGhpcy5oWzBdPXModGhpcy5oWzBdLGkpLHRoaXMuaFsxXT1zKHRoaXMuaFsxXSxvKSx0aGlzLmhbMl09cyh0aGlzLmhbMl0seSksdGhpcy5oWzNdPXModGhpcy5oWzNdLG0pLHRoaXMuaFs0XT1zKHRoaXMuaFs0XSx2KSx0aGlzLmhbNV09cyh0aGlzLmhbNV0sZyksdGhpcy5oWzZdPXModGhpcy5oWzZdLHcpLHRoaXMuaFs3XT1zKHRoaXMuaFs3XSxBKX0sdi5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbihlKXtyZXR1cm4iaGV4Ij09PWU/bi50b0hleDMyKHRoaXMuaCwiYmlnIik6bi5zcGxpdDMyKHRoaXMuaCwiYmlnIil9fSw0NTMyOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig0MjY4KSxpPXIoNjUxNSk7ZnVuY3Rpb24gbygpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG8pKXJldHVybiBuZXcgbztpLmNhbGwodGhpcyksdGhpcy5oPVszNDE4MDcwMzY1LDMyMzgzNzEwMzIsMTY1NDI3MDI1MCw5MTQxNTA2NjMsMjQzODUyOTM3MCw4MTI3MDI5OTksMzU1NDYyMzYwLDQxNDQ5MTI2OTcsMTczMTQwNTQxNSw0MjkwNzc1ODU3LDIzOTQxODAyMzEsMTc1MDYwMzAyNSwzNjc1MDA4NTI1LDE2OTQwNzY4MzksMTIwMzA2MjgxMywzMjA0MDc1NDI4XX1uLmluaGVyaXRzKG8saSksZS5leHBvcnRzPW8sby5ibG9ja1NpemU9MTAyNCxvLm91dFNpemU9Mzg0LG8uaG1hY1N0cmVuZ3RoPTE5MixvLnBhZExlbmd0aD0xMjgsby5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbihlKXtyZXR1cm4iaGV4Ij09PWU/bi50b0hleDMyKHRoaXMuaC5zbGljZSgwLDEyKSwiYmlnIik6bi5zcGxpdDMyKHRoaXMuaC5zbGljZSgwLDEyKSwiYmlnIil9fSw2NTE1OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig0MjY4KSxpPXIoNDY5Niksbz1yKDQ1MDQpLGE9bi5yb3RyNjRfaGkscz1uLnJvdHI2NF9sbyx1PW4uc2hyNjRfaGksYz1uLnNocjY0X2xvLGY9bi5zdW02NCxkPW4uc3VtNjRfaGksbD1uLnN1bTY0X2xvLGg9bi5zdW02NF80X2hpLHA9bi5zdW02NF80X2xvLGI9bi5zdW02NF81X2hpLHk9bi5zdW02NF81X2xvLG09aS5CbG9ja0hhc2gsdj1bMTExNjM1MjQwOCwzNjA5NzY3NDU4LDE4OTk0NDc0NDEsNjAyODkxNzI1LDMwNDkzMjM0NzEsMzk2NDQ4NDM5OSwzOTIxMDA5NTczLDIxNzMyOTU1NDgsOTYxOTg3MTYzLDQwODE2Mjg0NzIsMTUwODk3MDk5MywzMDUzODM0MjY1LDI0NTM2MzU3NDgsMjkzNzY3MTU3OSwyODcwNzYzMjIxLDM2NjQ2MDk1NjAsMzYyNDM4MTA4MCwyNzM0ODgzMzk0LDMxMDU5ODQwMSwxMTY0OTk2NTQyLDYwNzIyNTI3OCwxMzIzNjEwNzY0LDE0MjY4ODE5ODcsMzU5MDMwNDk5NCwxOTI1MDc4Mzg4LDQwNjgxODIzODMsMjE2MjA3ODIwNiw5OTEzMzYxMTMsMjYxNDg4ODEwMyw2MzM4MDMzMTcsMzI0ODIyMjU4MCwzNDc5Nzc0ODY4LDM4MzUzOTA0MDEsMjY2NjYxMzQ1OCw0MDIyMjI0Nzc0LDk0NDcxMTEzOSwyNjQzNDcwNzgsMjM0MTI2Mjc3Myw2MDQ4MDc2MjgsMjAwNzgwMDkzMyw3NzAyNTU5ODMsMTQ5NTk5MDkwMSwxMjQ5MTUwMTIyLDE4NTY0MzEyMzUsMTU1NTA4MTY5MiwzMTc1MjE4MTMyLDE5OTYwNjQ5ODYsMjE5ODk1MDgzNywyNTU0MjIwODgyLDM5OTk3MTkzMzksMjgyMTgzNDM0OSw3NjY3ODQwMTYsMjk1Mjk5NjgwOCwyNTY2NTk0ODc5LDMyMTAzMTM2NzEsMzIwMzMzNzk1NiwzMzM2NTcxODkxLDEwMzQ0NTcwMjYsMzU4NDUyODcxMSwyNDY2OTQ4OTAxLDExMzkyNjk5MywzNzU4MzI2MzgzLDMzODI0MTg5NSwxNjg3MTc5MzYsNjY2MzA3MjA1LDExODgxNzk5NjQsNzczNTI5OTEyLDE1NDYwNDU3MzQsMTI5NDc1NzM3MiwxNTIyODA1NDg1LDEzOTYxODIyOTEsMjY0MzgzMzgyMywxNjk1MTgzNzAwLDIzNDM1MjczOTAsMTk4NjY2MTA1MSwxMDE0NDc3NDgwLDIxNzcwMjYzNTAsMTIwNjc1OTE0MiwyNDU2OTU2MDM3LDM0NDA3NzYyNywyNzMwNDg1OTIxLDEyOTA4NjM0NjAsMjgyMDMwMjQxMSwzMTU4NDU0MjczLDMyNTk3MzA4MDAsMzUwNTk1MjY1NywzMzQ1NzY0NzcxLDEwNjIxNzAwOCwzNTE2MDY1ODE3LDM2MDYwMDgzNDQsMzYwMDM1MjgwNCwxNDMyNzI1Nzc2LDQwOTQ1NzE5MDksMTQ2NzAzMTU5NCwyNzU0MjMzNDQsODUxMTY5NzIwLDQzMDIyNzczNCwzMTAwODIzNzUyLDUwNjk0ODYxNiwxMzYzMjU4MTk1LDY1OTA2MDU1NiwzNzUwNjg1NTkzLDg4Mzk5Nzg3NywzNzg1MDUwMjgwLDk1ODEzOTU3MSwzMzE4MzA3NDI3LDEzMjI4MjIyMTgsMzgxMjcyMzQwMywxNTM3MDAyMDYzLDIwMDMwMzQ5OTUsMTc0Nzg3Mzc3OSwzNjAyMDM2ODk5LDE5NTU1NjIyMjIsMTU3NTk5MDAxMiwyMDI0MTA0ODE1LDExMjU1OTI5MjgsMjIyNzczMDQ1MiwyNzE2OTA0MzA2LDIzNjE4NTI0MjQsNDQyNzc2MDQ0LDI0Mjg0MzY0NzQsNTkzNjk4MzQ0LDI3NTY3MzQxODcsMzczMzExMDI0OSwzMjA0MDMxNDc5LDI5OTkzNTE1NzMsMzMyOTMyNTI5OCwzODE1OTIwNDI3LDMzOTE1Njk2MTQsMzkyODM4MzkwMCwzNTE1MjY3MjcxLDU2NjI4MDcxMSwzOTQwMTg3NjA2LDM0NTQwNjk1MzQsNDExODYzMDI3MSw0MDAwMjM5OTkyLDExNjQxODQ3NCwxOTE0MTM4NTU0LDE3NDI5MjQyMSwyNzMxMDU1MjcwLDI4OTM4MDM1NiwzMjAzOTkzMDA2LDQ2MDM5MzI2OSwzMjA2MjAzMTUsNjg1NDcxNzMzLDU4NzQ5NjgzNiw4NTIxNDI5NzEsMTA4Njc5Mjg1MSwxMDE3MDM2Mjk4LDM2NTU0MzEwMCwxMTI2MDAwNTgwLDI2MTgyOTc2NzYsMTI4ODAzMzQ3MCwzNDA5ODU1MTU4LDE1MDE1MDU5NDgsNDIzNDUwOTg2NiwxNjA3MTY3OTE1LDk4NzE2NzQ2OCwxODE2NDAyMzE2LDEyNDYxODk1OTFdO2Z1bmN0aW9uIGcoKXtpZighKHRoaXMgaW5zdGFuY2VvZiBnKSlyZXR1cm4gbmV3IGc7bS5jYWxsKHRoaXMpLHRoaXMuaD1bMTc3OTAzMzcwMyw0MDg5MjM1NzIwLDMxNDQxMzQyNzcsMjIyNzg3MzU5NSwxMDEzOTA0MjQyLDQyNzExNzU3MjMsMjc3MzQ4MDc2MiwxNTk1NzUwMTI5LDEzNTk4OTMxMTksMjkxNzU2NTEzNywyNjAwODIyOTI0LDcyNTUxMTE5OSw1Mjg3MzQ2MzUsNDIxNTM4OTU0NywxNTQxNDU5MjI1LDMyNzAzMzIwOV0sdGhpcy5rPXYsdGhpcy5XPW5ldyBBcnJheSgxNjApfWZ1bmN0aW9uIHcoZSx0LHIsbixpKXt2YXIgbz1lJnJefmUmaTtyZXR1cm4gbzwwJiYobys9NDI5NDk2NzI5Niksb31mdW5jdGlvbiBBKGUsdCxyLG4saSxvKXt2YXIgYT10Jm5efnQmbztyZXR1cm4gYTwwJiYoYSs9NDI5NDk2NzI5NiksYX1mdW5jdGlvbiBrKGUsdCxyLG4saSl7dmFyIG89ZSZyXmUmaV5yJmk7cmV0dXJuIG88MCYmKG8rPTQyOTQ5NjcyOTYpLG99ZnVuY3Rpb24gXyhlLHQscixuLGksbyl7dmFyIGE9dCZuXnQmb15uJm87cmV0dXJuIGE8MCYmKGErPTQyOTQ5NjcyOTYpLGF9ZnVuY3Rpb24gUyhlLHQpe3ZhciByPWEoZSx0LDI4KV5hKHQsZSwyKV5hKHQsZSw3KTtyZXR1cm4gcjwwJiYocis9NDI5NDk2NzI5Nikscn1mdW5jdGlvbiB4KGUsdCl7dmFyIHI9cyhlLHQsMjgpXnModCxlLDIpXnModCxlLDcpO3JldHVybiByPDAmJihyKz00Mjk0OTY3Mjk2KSxyfWZ1bmN0aW9uIEUoZSx0KXt2YXIgcj1zKGUsdCwxNClecyhlLHQsMTgpXnModCxlLDkpO3JldHVybiByPDAmJihyKz00Mjk0OTY3Mjk2KSxyfWZ1bmN0aW9uIFAoZSx0KXt2YXIgcj1hKGUsdCwxKV5hKGUsdCw4KV51KGUsdCw3KTtyZXR1cm4gcjwwJiYocis9NDI5NDk2NzI5Nikscn1mdW5jdGlvbiBPKGUsdCl7dmFyIHI9cyhlLHQsMSlecyhlLHQsOCleYyhlLHQsNyk7cmV0dXJuIHI8MCYmKHIrPTQyOTQ5NjcyOTYpLHJ9ZnVuY3Rpb24gQihlLHQpe3ZhciByPXMoZSx0LDE5KV5zKHQsZSwyOSleYyhlLHQsNik7cmV0dXJuIHI8MCYmKHIrPTQyOTQ5NjcyOTYpLHJ9bi5pbmhlcml0cyhnLG0pLGUuZXhwb3J0cz1nLGcuYmxvY2tTaXplPTEwMjQsZy5vdXRTaXplPTUxMixnLmhtYWNTdHJlbmd0aD0xOTIsZy5wYWRMZW5ndGg9MTI4LGcucHJvdG90eXBlLl9wcmVwYXJlQmxvY2s9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9dGhpcy5XLG49MDtuPDMyO24rKylyW25dPWVbdCtuXTtmb3IoO248ci5sZW5ndGg7bis9Mil7dmFyIGk9KHk9cltuLTRdLG09cltuLTNdLHY9dm9pZCAwLCh2PWEoeSxtLDE5KV5hKG0seSwyOSledSh5LG0sNikpPDAmJih2Kz00Mjk0OTY3Mjk2KSx2KSxvPUIocltuLTRdLHJbbi0zXSkscz1yW24tMTRdLGM9cltuLTEzXSxmPVAocltuLTMwXSxyW24tMjldKSxkPU8ocltuLTMwXSxyW24tMjldKSxsPXJbbi0zMl0sYj1yW24tMzFdO3Jbbl09aChpLG8scyxjLGYsZCxsLGIpLHJbbisxXT1wKGksbyxzLGMsZixkLGwsYil9dmFyIHksbSx2fSxnLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUsdCl7dGhpcy5fcHJlcGFyZUJsb2NrKGUsdCk7dmFyIHIsbixpLHM9dGhpcy5XLHU9dGhpcy5oWzBdLGM9dGhpcy5oWzFdLGg9dGhpcy5oWzJdLHA9dGhpcy5oWzNdLG09dGhpcy5oWzRdLHY9dGhpcy5oWzVdLGc9dGhpcy5oWzZdLFA9dGhpcy5oWzddLE89dGhpcy5oWzhdLEI9dGhpcy5oWzldLFQ9dGhpcy5oWzEwXSxDPXRoaXMuaFsxMV0sST10aGlzLmhbMTJdLE09dGhpcy5oWzEzXSxVPXRoaXMuaFsxNF0sUj10aGlzLmhbMTVdO28odGhpcy5rLmxlbmd0aD09PXMubGVuZ3RoKTtmb3IodmFyIGo9MDtqPHMubGVuZ3RoO2orPTIpe3ZhciBOPVUsRj1SLEw9KGk9dm9pZCAwLChpPWEocj1PLG49QiwxNCleYShyLG4sMTgpXmEobixyLDkpKTwwJiYoaSs9NDI5NDk2NzI5NiksaSksRD1FKE8sQiksSD13KE8sMCxULDAsSSkscT1BKDAsQiwwLEMsMCxNKSx6PXRoaXMua1tqXSxHPXRoaXMua1tqKzFdLEs9c1tqXSxWPXNbaisxXSxKPWIoTixGLEwsRCxILHEseixHLEssViksVz15KE4sRixMLEQsSCxxLHosRyxLLFYpO049Uyh1LGMpLEY9eCh1LGMpLEw9ayh1LDAsaCwwLG0pLEQ9XygwLGMsMCxwLDAsdik7dmFyIFk9ZChOLEYsTCxEKSxYPWwoTixGLEwsRCk7VT1JLFI9TSxJPVQsTT1DLFQ9TyxDPUIsTz1kKGcsUCxKLFcpLEI9bChQLFAsSixXKSxnPW0sUD12LG09aCx2PXAsaD11LHA9Yyx1PWQoSixXLFksWCksYz1sKEosVyxZLFgpfWYodGhpcy5oLDAsdSxjKSxmKHRoaXMuaCwyLGgscCksZih0aGlzLmgsNCxtLHYpLGYodGhpcy5oLDYsZyxQKSxmKHRoaXMuaCw4LE8sQiksZih0aGlzLmgsMTAsVCxDKSxmKHRoaXMuaCwxMixJLE0pLGYodGhpcy5oLDE0LFUsUil9LGcucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24oZSl7cmV0dXJuImhleCI9PT1lP24udG9IZXgzMih0aGlzLmgsImJpZyIpOm4uc3BsaXQzMih0aGlzLmgsImJpZyIpfX0sNzA6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDQyNjgpLnJvdHIzMjtmdW5jdGlvbiBpKGUsdCxyKXtyZXR1cm4gZSZ0Xn5lJnJ9ZnVuY3Rpb24gbyhlLHQscil7cmV0dXJuIGUmdF5lJnJedCZyfWZ1bmN0aW9uIGEoZSx0LHIpe3JldHVybiBlXnRecn10LmZ0XzE9ZnVuY3Rpb24oZSx0LHIsbil7cmV0dXJuIDA9PT1lP2kodCxyLG4pOjE9PT1lfHwzPT09ZT9hKHQscixuKToyPT09ZT9vKHQscixuKTp2b2lkIDB9LHQuY2gzMj1pLHQubWFqMzI9byx0LnAzMj1hLHQuczBfMjU2PWZ1bmN0aW9uKGUpe3JldHVybiBuKGUsMilebihlLDEzKV5uKGUsMjIpfSx0LnMxXzI1Nj1mdW5jdGlvbihlKXtyZXR1cm4gbihlLDYpXm4oZSwxMSlebihlLDI1KX0sdC5nMF8yNTY9ZnVuY3Rpb24oZSl7cmV0dXJuIG4oZSw3KV5uKGUsMTgpXmU+Pj4zfSx0LmcxXzI1Nj1mdW5jdGlvbihlKXtyZXR1cm4gbihlLDE3KV5uKGUsMTkpXmU+Pj4xMH19LDQyNjg6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDQ1MDQpLGk9cigxNzM2KTtmdW5jdGlvbiBvKGUsdCl7cmV0dXJuIDU1Mjk2PT0oNjQ1MTImZS5jaGFyQ29kZUF0KHQpKSYmISh0PDB8fHQrMT49ZS5sZW5ndGgpJiY1NjMyMD09KDY0NTEyJmUuY2hhckNvZGVBdCh0KzEpKX1mdW5jdGlvbiBhKGUpe3JldHVybihlPj4+MjR8ZT4+PjgmNjUyODB8ZTw8OCYxNjcxMTY4MHwoMjU1JmUpPDwyNCk+Pj4wfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIDE9PT1lLmxlbmd0aD8iMCIrZTplfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIDc9PT1lLmxlbmd0aD8iMCIrZTo2PT09ZS5sZW5ndGg/IjAwIitlOjU9PT1lLmxlbmd0aD8iMDAwIitlOjQ9PT1lLmxlbmd0aD8iMDAwMCIrZTozPT09ZS5sZW5ndGg/IjAwMDAwIitlOjI9PT1lLmxlbmd0aD8iMDAwMDAwIitlOjE9PT1lLmxlbmd0aD8iMDAwMDAwMCIrZTplfXQuaW5oZXJpdHM9aSx0LnRvQXJyYXk9ZnVuY3Rpb24oZSx0KXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlLnNsaWNlKCk7aWYoIWUpcmV0dXJuW107dmFyIHI9W107aWYoInN0cmluZyI9PXR5cGVvZiBlKWlmKHQpe2lmKCJoZXgiPT09dClmb3IoKGU9ZS5yZXBsYWNlKC9bXmEtejAtOV0rL2dpLCIiKSkubGVuZ3RoJTIhPTAmJihlPSIwIitlKSxpPTA7aTxlLmxlbmd0aDtpKz0yKXIucHVzaChwYXJzZUludChlW2ldK2VbaSsxXSwxNikpfWVsc2UgZm9yKHZhciBuPTAsaT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgYT1lLmNoYXJDb2RlQXQoaSk7YTwxMjg/cltuKytdPWE6YTwyMDQ4PyhyW24rK109YT4+NnwxOTIscltuKytdPTYzJmF8MTI4KTpvKGUsaSk/KGE9NjU1MzYrKCgxMDIzJmEpPDwxMCkrKDEwMjMmZS5jaGFyQ29kZUF0KCsraSkpLHJbbisrXT1hPj4xOHwyNDAscltuKytdPWE+PjEyJjYzfDEyOCxyW24rK109YT4+NiY2M3wxMjgscltuKytdPTYzJmF8MTI4KToocltuKytdPWE+PjEyfDIyNCxyW24rK109YT4+NiY2M3wxMjgscltuKytdPTYzJmF8MTI4KX1lbHNlIGZvcihpPTA7aTxlLmxlbmd0aDtpKyspcltpXT0wfGVbaV07cmV0dXJuIHJ9LHQudG9IZXg9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSIiLHI9MDtyPGUubGVuZ3RoO3IrKyl0Kz1zKGVbcl0udG9TdHJpbmcoMTYpKTtyZXR1cm4gdH0sdC5odG9ubD1hLHQudG9IZXgzMj1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj0iIixuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBpPWVbbl07ImxpdHRsZSI9PT10JiYoaT1hKGkpKSxyKz11KGkudG9TdHJpbmcoMTYpKX1yZXR1cm4gcn0sdC56ZXJvMj1zLHQuemVybzg9dSx0LmpvaW4zMj1mdW5jdGlvbihlLHQscixpKXt2YXIgbz1yLXQ7bihvJTQ9PTApO2Zvcih2YXIgYT1uZXcgQXJyYXkoby80KSxzPTAsdT10O3M8YS5sZW5ndGg7cysrLHUrPTQpe3ZhciBjO2M9ImJpZyI9PT1pP2VbdV08PDI0fGVbdSsxXTw8MTZ8ZVt1KzJdPDw4fGVbdSszXTplW3UrM108PDI0fGVbdSsyXTw8MTZ8ZVt1KzFdPDw4fGVbdV0sYVtzXT1jPj4+MH1yZXR1cm4gYX0sdC5zcGxpdDMyPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPW5ldyBBcnJheSg0KmUubGVuZ3RoKSxuPTAsaT0wO248ZS5sZW5ndGg7bisrLGkrPTQpe3ZhciBvPWVbbl07ImJpZyI9PT10PyhyW2ldPW8+Pj4yNCxyW2krMV09bz4+PjE2JjI1NSxyW2krMl09bz4+PjgmMjU1LHJbaSszXT0yNTUmbyk6KHJbaSszXT1vPj4+MjQscltpKzJdPW8+Pj4xNiYyNTUscltpKzFdPW8+Pj44JjI1NSxyW2ldPTI1NSZvKX1yZXR1cm4gcn0sdC5yb3RyMzI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+PnR8ZTw8MzItdH0sdC5yb3RsMzI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZTw8dHxlPj4+MzItdH0sdC5zdW0zMj1mdW5jdGlvbihlLHQpe3JldHVybiBlK3Q+Pj4wfSx0LnN1bTMyXzM9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlK3Qrcj4+PjB9LHQuc3VtMzJfND1mdW5jdGlvbihlLHQscixuKXtyZXR1cm4gZSt0K3Irbj4+PjB9LHQuc3VtMzJfNT1mdW5jdGlvbihlLHQscixuLGkpe3JldHVybiBlK3QrcituK2k+Pj4wfSx0LnN1bTY0PWZ1bmN0aW9uKGUsdCxyLG4pe3ZhciBpPWVbdF0sbz1uK2VbdCsxXT4+PjAsYT0obzxuPzE6MCkrcitpO2VbdF09YT4+PjAsZVt0KzFdPW99LHQuc3VtNjRfaGk9ZnVuY3Rpb24oZSx0LHIsbil7cmV0dXJuKHQrbj4+PjA8dD8xOjApK2Urcj4+PjB9LHQuc3VtNjRfbG89ZnVuY3Rpb24oZSx0LHIsbil7cmV0dXJuIHQrbj4+PjB9LHQuc3VtNjRfNF9oaT1mdW5jdGlvbihlLHQscixuLGksbyxhLHMpe3ZhciB1PTAsYz10O3JldHVybiB1Kz0oYz1jK24+Pj4wKTx0PzE6MCx1Kz0oYz1jK28+Pj4wKTxvPzE6MCxlK3IraSthKyh1Kz0oYz1jK3M+Pj4wKTxzPzE6MCk+Pj4wfSx0LnN1bTY0XzRfbG89ZnVuY3Rpb24oZSx0LHIsbixpLG8sYSxzKXtyZXR1cm4gdCtuK28rcz4+PjB9LHQuc3VtNjRfNV9oaT1mdW5jdGlvbihlLHQscixuLGksbyxhLHMsdSxjKXt2YXIgZj0wLGQ9dDtyZXR1cm4gZis9KGQ9ZCtuPj4+MCk8dD8xOjAsZis9KGQ9ZCtvPj4+MCk8bz8xOjAsZis9KGQ9ZCtzPj4+MCk8cz8xOjAsZStyK2krYSt1KyhmKz0oZD1kK2M+Pj4wKTxjPzE6MCk+Pj4wfSx0LnN1bTY0XzVfbG89ZnVuY3Rpb24oZSx0LHIsbixpLG8sYSxzLHUsYyl7cmV0dXJuIHQrbitvK3MrYz4+PjB9LHQucm90cjY0X2hpPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4odDw8MzItcnxlPj4+cik+Pj4wfSx0LnJvdHI2NF9sbz1mdW5jdGlvbihlLHQscil7cmV0dXJuKGU8PDMyLXJ8dD4+PnIpPj4+MH0sdC5zaHI2NF9oaT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU+Pj5yfSx0LnNocjY0X2xvPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4oZTw8MzItcnx0Pj4+cik+Pj4wfX0sOTQxMDooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoNzE5OCksaT1yKDY1ODApLG89cig0NTA0KTtmdW5jdGlvbiBhKGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGEpKXJldHVybiBuZXcgYShlKTt0aGlzLmhhc2g9ZS5oYXNoLHRoaXMucHJlZFJlc2lzdD0hIWUucHJlZFJlc2lzdCx0aGlzLm91dExlbj10aGlzLmhhc2gub3V0U2l6ZSx0aGlzLm1pbkVudHJvcHk9ZS5taW5FbnRyb3B5fHx0aGlzLmhhc2guaG1hY1N0cmVuZ3RoLHRoaXMuX3Jlc2VlZD1udWxsLHRoaXMucmVzZWVkSW50ZXJ2YWw9bnVsbCx0aGlzLks9bnVsbCx0aGlzLlY9bnVsbDt2YXIgdD1pLnRvQXJyYXkoZS5lbnRyb3B5LGUuZW50cm9weUVuY3x8ImhleCIpLHI9aS50b0FycmF5KGUubm9uY2UsZS5ub25jZUVuY3x8ImhleCIpLG49aS50b0FycmF5KGUucGVycyxlLnBlcnNFbmN8fCJoZXgiKTtvKHQubGVuZ3RoPj10aGlzLm1pbkVudHJvcHkvOCwiTm90IGVub3VnaCBlbnRyb3B5LiBNaW5pbXVtIGlzOiAiK3RoaXMubWluRW50cm9weSsiIGJpdHMiKSx0aGlzLl9pbml0KHQscixuKX1lLmV4cG9ydHM9YSxhLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbihlLHQscil7dmFyIG49ZS5jb25jYXQodCkuY29uY2F0KHIpO3RoaXMuSz1uZXcgQXJyYXkodGhpcy5vdXRMZW4vOCksdGhpcy5WPW5ldyBBcnJheSh0aGlzLm91dExlbi84KTtmb3IodmFyIGk9MDtpPHRoaXMuVi5sZW5ndGg7aSsrKXRoaXMuS1tpXT0wLHRoaXMuVltpXT0xO3RoaXMuX3VwZGF0ZShuKSx0aGlzLl9yZXNlZWQ9MSx0aGlzLnJlc2VlZEludGVydmFsPTI4MTQ3NDk3NjcxMDY1Nn0sYS5wcm90b3R5cGUuX2htYWM9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG4uaG1hYyh0aGlzLmhhc2gsdGhpcy5LKX0sYS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikudXBkYXRlKFswXSk7ZSYmKHQ9dC51cGRhdGUoZSkpLHRoaXMuSz10LmRpZ2VzdCgpLHRoaXMuVj10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikuZGlnZXN0KCksZSYmKHRoaXMuSz10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikudXBkYXRlKFsxXSkudXBkYXRlKGUpLmRpZ2VzdCgpLHRoaXMuVj10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikuZGlnZXN0KCkpfSxhLnByb3RvdHlwZS5yZXNlZWQ9ZnVuY3Rpb24oZSx0LHIsbil7InN0cmluZyIhPXR5cGVvZiB0JiYobj1yLHI9dCx0PW51bGwpLGU9aS50b0FycmF5KGUsdCkscj1pLnRvQXJyYXkocixuKSxvKGUubGVuZ3RoPj10aGlzLm1pbkVudHJvcHkvOCwiTm90IGVub3VnaCBlbnRyb3B5LiBNaW5pbXVtIGlzOiAiK3RoaXMubWluRW50cm9weSsiIGJpdHMiKSx0aGlzLl91cGRhdGUoZS5jb25jYXQocnx8W10pKSx0aGlzLl9yZXNlZWQ9MX0sYS5wcm90b3R5cGUuZ2VuZXJhdGU9ZnVuY3Rpb24oZSx0LHIsbil7aWYodGhpcy5fcmVzZWVkPnRoaXMucmVzZWVkSW50ZXJ2YWwpdGhyb3cgbmV3IEVycm9yKCJSZXNlZWQgaXMgcmVxdWlyZWQiKTsic3RyaW5nIiE9dHlwZW9mIHQmJihuPXIscj10LHQ9bnVsbCksciYmKHI9aS50b0FycmF5KHIsbnx8ImhleCIpLHRoaXMuX3VwZGF0ZShyKSk7Zm9yKHZhciBvPVtdO28ubGVuZ3RoPGU7KXRoaXMuVj10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikuZGlnZXN0KCksbz1vLmNvbmNhdCh0aGlzLlYpO3ZhciBhPW8uc2xpY2UoMCxlKTtyZXR1cm4gdGhpcy5fdXBkYXRlKHIpLHRoaXMuX3Jlc2VlZCsrLGkuZW5jb2RlKGEsdCl9fSw5MTI6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDk1MTkpLGk9cigxMTQzKSxvPWUuZXhwb3J0cztmb3IodmFyIGEgaW4gbiluLmhhc093blByb3BlcnR5KGEpJiYob1thXT1uW2FdKTtmdW5jdGlvbiBzKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSYmKGU9aS5wYXJzZShlKSksZS5wcm90b2NvbHx8KGUucHJvdG9jb2w9Imh0dHBzOiIpLCJodHRwczoiIT09ZS5wcm90b2NvbCl0aHJvdyBuZXcgRXJyb3IoJ1Byb3RvY29sICInK2UucHJvdG9jb2wrJyIgbm90IHN1cHBvcnRlZC4gRXhwZWN0ZWQgImh0dHBzOiInKTtyZXR1cm4gZX1vLnJlcXVlc3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1zKGUpLG4ucmVxdWVzdC5jYWxsKHRoaXMsZSx0KX0sby5nZXQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1zKGUpLG4uZ2V0LmNhbGwodGhpcyxlLHQpfX0sMjk5NjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuO3IoODg0NykocigzMzU1KSksdm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gZT1bbmV3IFVpbnQzMkFycmF5KFsyMTU3MjUwLDIxNTczMTQsMjE1NzM3OCwyMTU3NDQyLDIxNTc1MDYsMjE1NzU3MCwyMTU3NjM0LDAsMjE1NzY5OCwyMTU3NzYyLDIxNTc4MjYsMjE1Nzg5MCwyMTU3OTU0LDAsMjE1ODAxOCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTc5MDQxLDYyOTE0NTYsMjE3OTA3Myw2MjkxNDU2LDIxNzkxMDUsNjI5MTQ1NiwyMTc5MTM3LDYyOTE0NTYsMjE3OTE2OSw2MjkxNDU2LDIxNzkyMDEsNjI5MTQ1NiwyMTc5MjMzLDYyOTE0NTYsMjE3OTI2NSw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMTQ2ODAwNjQsMTQ2ODAwNjQsMTQ2ODAwNjQsMTQ2ODAwNjQsMTQ2ODAwNjRdKSxuZXcgVWludDMyQXJyYXkoWzAsMjExMzcyOSwyMTk3MzQ1LDIxOTczNzcsMjExMzgyNSwyMTk3NDA5LDIxOTc0NDEsMjExMzkyMSwyMTk3NDczLDIxMTQwMTcsMjE5NzUwNSwyMTk3NTM3LDIxOTc1NjksMjE5NzYwMSwyMTk3NjMzLDIxOTc2NjVdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMCwwXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMCwwLDAsMCwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbMTQ2ODAwNjQsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwxNDY4MDA2NCwxNDY4MDA2NF0pLG5ldyBVaW50MzJBcnJheShbMjE5NjAwMSwyMTk2MDMzLDIxOTYwNjUsMjE5NjA5NywyMTk2MTI5LDIxOTYxNjEsMjE5NjE5MywyMTk2MjI1LDIxOTYyNTcsMjE5NjI4OSwyMTk2MzIxLDIxOTYzNTMsMjE5NjM4NSwyMTk2NDE3LDIxOTY0NDksMjE5NjQ4MV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsNjI5MTQ1NiwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIwOTcyODEsMjEwNTkyMSwyMDk3NzI5LDIxMDYwODEsMCwyMDk3NjAxLDIxNjIzMzcsMjEwNjAxNywyMTMzMjgxLDIwOTc1MDUsMjEwNTg4OSwyMDk3MTg1LDIwOTc2OTcsMjEzNTc3NywyMDk3NjMzLDIwOTc0NDFdKSxuZXcgVWludDMyQXJyYXkoWzIxNzcwMjUsNjI5MTQ1NiwyMTc3MDU3LDYyOTE0NTYsMjE3NzA4OSw2MjkxNDU2LDIxNzcxMjEsNjI5MTQ1NiwyMTc3MTUzLDYyOTE0NTYsMjE3NzE4NSw2MjkxNDU2LDIxNzcyMTcsNjI5MTQ1NiwyMTc3MjQ5LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMCwwLDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxMzQ0MzUsMjEzNDUzMSwyMTM0NjI3LDIxMzQ3MjMsMjEzNDcyMywyMTM0ODE5LDIxMzQ4MTksMjEzNDkxNSwyMTM0OTE1LDIxMzUwMTEsMjEwNTk4NywyMTM1MTA3LDIxMzUyMDMsMjEzNTI5OSwyMTMxNTg3LDIxMzUzOTVdKSxuZXcgVWludDMyQXJyYXkoWzAsMCwwLDAsMCwwLDAsNjI5MTQ1NiwyMTY4NjczLDIxNjkyNDksNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxNDc5MDYsMjE0Nzk3MCwyMTQ4MDM0LDIxNDgwOTgsMjE0ODE2MiwyMTQ4MjI2LDIxNDgyOTAsMjE0ODM1NCwyMTQ3OTA2LDIxNDc5NzAsMjE0ODAzNCwyMTQ4MDk4LDIxNDgxNjIsMjE0ODIyNiwyMTQ4MjkwLDIxNDgzNTRdKSxuZXcgVWludDMyQXJyYXkoWzIxMjUyMTksMjEyNTMxNSwyMTUyODM0LDIxNTI4OTgsMjEyNTQxMSwyMTUyOTYyLDIxNTMwMjYsMjEyNTUwNiwyMTI1NTA3LDIxMjU2MDMsMjE1MzA5MCwyMTUzMTU0LDIxNTMyMTgsMjE1MzI4MiwyMTUzMzQ2LDIxMDUzNDhdKSxuZXcgVWludDMyQXJyYXkoWzIyMDMzOTMsNjI5MTQ1NiwyMjAzNDI1LDYyOTE0NTYsMjIwMzQ1Nyw2MjkxNDU2LDIyMDM0ODksNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMjAzNTIxLDYyOTE0NTYsMjE4MTI4MSw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1NiwyMzA2ODY3Miw2MjkxNDU2LDIxNDU1MzgsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMCwwLDAsMCw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTM5NDI2LDIxNjA4MzQsMjE2MDg5OCwyMTYwOTYyLDIxMzQyNDIsMjE2MTAyNiwyMTYxMDkwLDIxNjExNTQsMjE2MTIxOCwyMTYxMjgyLDIxNjEzNDYsMjE2MTQxMCwyMTM4NjU4LDIxNjE0NzQsMjE2MTUzOCwyMTM0NzIyXSksbmV3IFVpbnQzMkFycmF5KFsyMTE5OTM5LDIxMjQ5MzAsMjEyNTAyNiwyMTA2NjU4LDIxMjUyMTgsMjEyODk2MiwyMTI5MDU4LDIxMjkxNTQsMjEyOTI1MCwyMTI5MzQ2LDIxMjk0NDIsMjEwODg2NiwyMTA4NzcwLDIxNTA0NjYsMjE1MDUzMCwyMTUwNTk0XSksbmV3IFVpbnQzMkFycmF5KFsyMjAxNjAxLDYyOTE0NTYsMjIwMTYzMyw2MjkxNDU2LDIyMDE2NjUsNjI5MTQ1NiwyMjAxNjk3LDYyOTE0NTYsMjIwMTcyOSw2MjkxNDU2LDIyMDE3NjEsNjI5MTQ1NiwyMjAxNzkzLDYyOTE0NTYsMjIwMTgyNSw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTkzNTM3LDIxOTM1NjksMjE5MzYwMSwyMTkzNjMzLDIxOTM2NjUsMjE5MzY5NywyMTkzNzI5LDIxOTM3NjEsMjE5Mzc5MywyMTkzODI1LDIxOTM4NTcsMjE5Mzg4OSwyMTkzOTIxLDIxOTM5NTMsMjE5Mzk4NSwyMTk0MDE3XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMCw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjE5MDU2MSw2MjkxNDU2LDIxOTA1OTMsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxOTA2MjUsNjI5MTQ1NiwyMTkwNjU3LDYyOTE0NTYsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzIyMTU5MDUsMjIxNTkzNywyMjE1OTY5LDIyMTYwMDEsMjIxNjAzMywyMjE2MDY1LDIyMTYwOTcsMjIxNjEyOSwyMjE2MTYxLDIyMTYxOTMsMjIxNjIyNSwyMjE2MjU3LDIxMDU0NDEsMjIxNjI4OSwyMjE2MzIxLDIyMTYzNTNdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDE4ODg0MTMwLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwwLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbMjE5MTIzMywyMTkxMjY1LDIxOTEyOTcsMjE5MTMyOSwyMTkxMzYxLDIxOTEzOTMsMjE5MTQyNSwyMTE3Mzc3LDIxOTE0NTcsMjE5MTQ4OSwyMTkxNTIxLDIxOTE1NTMsMjE5MTU4NSwyMTkxNjE3LDIxOTE2NDksMjExNzk1M10pLG5ldyBVaW50MzJBcnJheShbMjEzMjIyNywyMTMyMzIzLDIxMzI0MTksMjEzMjQxOSwyMTMyNTE1LDIxMzI1MTUsMjEzMjYxMSwyMTMyNzA3LDIxMzI3MDcsMjEzMjgwMywyMTMyODk5LDIxMzI4OTksMjEzMjk5NSwyMTMyOTk1LDIxMzMwOTEsMjEzMzE4N10pLG5ldyBVaW50MzJBcnJheShbMCwwLDAsMCwwLDAsMCwwLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1NiwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIxMTI0ODEsMjExMjU3NywyMDk4MTc3LDIwOTgzMDUsMjEwODMyMSwyMTA4Mjg5LDIxMDA4NjUsMjExMzE1MywyMTA4NDgxLDIxMTMzNDUsMjExMzQ0MSwxMDYwOTg4OSwxMDYxMDc4NSwxMDYwOTkyMSwxMDYxMDgxNywyMjIyMjQxXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMjE5OTY5LDIxNTcxMjEsMjE1NzQ0MSwyMTU3NTA1LDIxNTc4ODksMjE1Nzk1MywyMjIwMDAxLDIxNTg0NjUsMjE1ODUyOSwxMDU3NTYxNywyMTU2OTk0LDIxNTcwNTgsMjEyOTkyMywyMTMwMDE5LDIxNTcxMjIsMjE1NzE4Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIxODUyNDksNjI5MTQ1NiwyMTg1MjgxLDYyOTE0NTYsMjE4NTMxMyw2MjkxNDU2LDIxODUzNDUsNjI5MTQ1NiwyMTg1Mzc3LDYyOTE0NTYsMjE4NTQwOSw2MjkxNDU2LDIxODU0NDEsNjI5MTQ1NiwyMTg1NDczLDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzAsMCwwLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMCwyMzA2ODY3MiwyMzA2ODY3MiwwLDAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1NiwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTgzMzYxLDYyOTE0NTYsMjE4MzM5Myw2MjkxNDU2LDIxODM0MjUsNjI5MTQ1NiwyMTgzNDU3LDYyOTE0NTYsMjE4MzQ4OSw2MjkxNDU2LDIxODM1MjEsNjI5MTQ1NiwyMTgzNTUzLDYyOTE0NTYsMjE4MzU4NSw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTkyMTYxLDIxOTIxOTMsMjE5MjIyNSwyMTkyMjU3LDIxOTIyODksMjE5MjMyMSwyMTkyMzUzLDIxOTIzODUsMjE5MjQxNywyMTkyNDQ5LDIxOTI0ODEsMjE5MjUxMywyMTkyNTQ1LDIxOTI1NzcsMjE5MjYwOSwyMTkyNjQxXSksbmV3IFVpbnQzMkFycmF5KFsyMjEyMDAxLDIyMTIwMzMsMjIxMjA2NSwyMjEyMDk3LDIyMTIxMjksMjIxMjE2MSwyMjEyMTkzLDIyMTIyMjUsMjIxMjI1NywyMjEyMjg5LDIyMTIzMjEsMjIxMjM1MywyMjEyMzg1LDIyMTI0MTcsMjIxMjQ0OSwyMjA3MjY1XSksbmV3IFVpbnQzMkFycmF5KFsyMjQ5ODI1LDIyNDk4NTcsMjI0OTg4OSwyMjQ5OTIxLDIyNDk5NTQsMjI1MDAxOCwyMjUwMDgyLDIyNTAxNDUsMjI1MDE3NywyMjUwMjA5LDIyNTAyNDEsMjI1MDI3NCwyMjUwMzM3LDIyNTAzNzAsMjI1MDQzMywyMjUwNDY1XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjE0NzkwNSwyMTQ3OTY5LDIxNDgwMzMsMjE0ODA5NywyMTQ4MTYxLDIxNDgyMjUsMjE0ODI4OSwyMTQ4MzUzXSksbmV3IFVpbnQzMkFycmF5KFsxMDQ4NTg1Nyw2MjkxNDU2LDIxOTcyMTcsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMCwwLDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFswLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTgwMzUzLDIxODAzODUsMjE0NDAzMywyMTgwNDE3LDIxODA0NDksMjE4MDQ4MSwyMTgwNTEzLDAsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTEyNDgxLDIxMTI1NzcsMjA5ODE3NywyMDk4MzA1LDIxMDgzMjEsMjEwODI4OSwyMTAwODY1LDIxMTMxNTMsMjEwODQ4MSwyMTEzMzQ1LDIxMTM0NDEsMTA2MTAyMDksMTA2MTA0NjUsMTA2MTAyNDEsMTA2MTA3NTMsMTA2MDk4NTddKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMjIzODQyLDIyMjM5MDYsMjIyMzk3MCwyMjI0MDM0LDIyMjQwOTgsMjIyNDE2MiwyMjI0MjI2LDIyMjQyOTAsMjIyNDM1NCwyMjI0NDE4LDIyMjQ0ODIsMjIyNDU0NiwyMjI0NjEwLDIyMjQ2NzQsMjIyNDczOCwyMjI0ODAyXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwxODkyMzY1MCwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDE4OTIzNzE0LDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFsyMTI2MTc5LDIxMjU1MzgsMjEyNjI3NSwyMTI2MzcxLDIxMjY0NjcsMjEyNTYzNCwyMTI2NTYzLDIxMDU2MDMsMjEwNTYwNCwyMTI1MzQ2LDIxMjY2NTksMjEyNjc1NSwyMTI2ODUxLDIwOTgxNzksMjA5ODE4MSwyMDk4MTgyXSksbmV3IFVpbnQzMkFycmF5KFsyMjI3NDI2LDIyMjc0OTAsMjIyNzU1NCwyMjI3NjE4LDAsMCwwLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTkyMzUzLDIyNDA2NDIsMjI0MDY0MiwyMjQwNzA1LDIyNDA3MzcsMjI0MDczNywyMjQwNzY5LDIyNDA4MDIsMjI0MDg2NiwyMjQwOTI5LDIyNDA5NjEsMjI0MDk5MywyMjQxMDI1LDIyNDEwNTcsMjI0MTA4OSwyMjQxMTIxXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDIxNzA4ODEsMjE3MDkxMywyMTcwOTQ1LDYyOTE0NTYsMjE3MDk3Nyw2MjkxNDU2LDIxNzEwMDksMjE3MTA0MSw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMTcxMDczLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbMjEzMjIyNiwyMTMyNTE0LDIxNjM1ODYsMjEzMjYxMCwyMTYwMzg2LDIxMzMwOTAsMjEzMzE4NiwyMTYwNDUwLDIxNjA1MTQsMjE2MDU3OCwyMTMzNTcwLDIxMDYxNzgsMjE2MDY0MiwyMTMzODU4LDIxNjA3MDYsMjE2MDc3MF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDEwNTMyMTYyLDEwNTMyMjI2LDEwNTMyMjkwLDEwNTMyMzU0LDEwNTMyNDE4LDEwNTMyNDgyLDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1NiwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbMjA5ODIwOSwyMTA4MzUzLDIxMDgxOTMsMjEwODQ4MSwyMTcwMjQxLDIxMTE3MTMsMjEwNTQ3MywyMTA1NTY5LDIxMDU2MDEsMjExMjI4OSwyMTEyNDgxLDIwOTgzMDUsMjEwODMyMSwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjIwOTEyMSwyMjA5MTUzLDIyMDkxODUsMjIwOTIxNywyMjA5MjQ5LDIyMDkyODEsMjIwOTMxMywyMjA5MzQ1LDIyMDkzNzcsMjIwOTQwOSwyMjA5NDQxLDIyMDk0NzMsMjIwNzI2NSwyMjA5NTA1LDIyMDk1MzcsMjIwOTU2OV0pLG5ldyBVaW50MzJBcnJheShbMjE4OTAyNSw2MjkxNDU2LDIxODkwNTcsNjI5MTQ1NiwyMTg5MDg5LDYyOTE0NTYsMjE4OTEyMSw2MjkxNDU2LDIxODkxNTMsNjI5MTQ1NiwyMTg5MTg1LDYyOTE0NTYsMjE4OTIxNyw2MjkxNDU2LDIxODkyNDksNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjE3MzgyNSwyMTUzNDczLDIxNzM4NTcsMjE3Mzg4OSwyMTczOTIxLDIxNzM5NTMsMjE3Mzk4NSwyMTczNzYxLDIxNzQwMTcsMjE3NDA0OSwyMTc0MDgxLDIxNzQxMTMsMjE3NDE0NSwyMTc0MTc3LDIxNDkwNTcsMjIzMzA1N10pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxNjU3NjQsMjE0MDAwNF0pLG5ldyBVaW50MzJBcnJheShbMjIxNTEwNSw2MjkxNDU2LDIyMTUxMzcsNjI5MTQ1Niw2MjkxNDU2LDIyMTUxNjksMjIxNTIwMSw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMjE1MjMzLDIyMTUyNjUsMjIxNTI5NywyMjE1MzI5LDIyMTUzNjEsMjIxNTM5M10pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDYyOTE0NTYsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMCwwLDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMTA1MDUwOTEsMTA1MDUxODcsMTA1MDUyODMsMTA1MDUzNzksMTA1MDU0NzUsMTA1MDU1NzEsMTA1MDU2NjcsMTA1MDU3NjMsMTA1MDU4NTksMTA1MDU5NTUsMTA1MDYwNTEsMTA1MDYxNDcsMTA1MDYyNDMsMTA1MDYzMzksMTA1MDY0MzUsMTA1MDY1MzFdKSxuZXcgVWludDMyQXJyYXkoWzIyMjk3MzAsMjIyOTc5NCwyMjI5ODU4LDIyMjk5MjIsMjIyOTk4NiwyMjMwMDUwLDIyMzAxMTQsMjIzMDE3OCwyMjMwMjQyLDIyMzAzMDYsMjIzMDM3MCwyMjMwNDM0LDIyMzA0OTgsMjIzMDU2MiwyMjMwNjI2LDIyMzA2OTBdKSxuZXcgVWludDMyQXJyYXkoWzIxMDU1MDUsMjA5ODI0MSwyMTA4MzUzLDIxMDg0MTcsMjEwNTgyNSwwLDIxMDA4OTcsMjExMTkwNSwyMTA1NDczLDIxMDU1NjksMjEwNTYwMSwyMTEyMjg5LDIxMDgxOTMsMjExMjQ4MSwyMTEyNTc3LDIwOTgxNzddKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMTA1MDIxMTUsMTA1MDIxNzgsMTA1MDIyMTEsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxOTAzMDUsNjI5MTQ1NiwyMTkwMzM3LDYyOTE0NTYsMjE5MDM2OSw2MjkxNDU2LDIxOTA0MDEsNjI5MTQ1NiwyMTkwNDMzLDYyOTE0NTYsMjE5MDQ2NSw2MjkxNDU2LDIxOTA0OTcsNjI5MTQ1NiwyMTkwNTI5LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxNzM3OTMsMjE3Mzk4NSwyMTc0MDE3LDYyOTE0NTYsMjE3Mzc2MSwyMTczNjk3LDYyOTE0NTYsMjE3NDY4OSw2MjkxNDU2LDIxNzQwMTcsMjE3NDcyMSw2MjkxNDU2LDYyOTE0NTYsMjE3NDc1MywyMTc0Nzg1LDIxNzQ4MTddKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIwOTk1MjEsMjA5OTEwNSwyMTIwNzA1LDIwOTgzNjksMjEyMDgwMSwyMTAzMzYxLDIwOTc5ODUsMjA5ODQzMywyMTIxMzc3LDIxMjE0NzMsMjA5OTE2OSwyMDk5ODczLDIwOTg0MDEsMjA5OTM5MywyMTUyNjA5LDIxMDAwMzNdKSxuZXcgVWludDMyQXJyYXkoWzIxMzI4OTgsMjE2Mzg0MiwyMTYzOTA2LDIxMzMyODIsMjEzMjAzNCwyMTMxOTM4LDIxMzc0MTAsMjEzMjgwMiwyMTMyNzA2LDIxNjQ4NjYsMjEzMzI4MiwyMTYwNTc4LDIxNjUxODYsMjE2NTE4Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzEwNTAwMDAzLDEwNTAwMDk5LDEwNTAwMTk1LDEwNTAwMjkxLDEwNTAwMzg3LDEwNTAwNDgzLDEwNTAwNTc5LDEwNTAwNjc1LDEwNTAwNzcxLDEwNTAwODY3LDEwNTAwOTYzLDEwNTAxMDU5LDEwNTAxMTU1LDEwNTAxMjUxLDEwNTAxMzQ3LDEwNTAxNDQzXSksbmV3IFVpbnQzMkFycmF5KFsyMTYzNDU4LDIxMzA5NzgsMjEzMTA3NCwyMTMxMjY2LDIxMzEzNjIsMjE2MzUyMiwyMTYwMTMwLDIxMzIwNjYsMjEzMTAxMCwyMTMxMTA2LDIxMDYwMTgsMjEzMTYxOCwyMTMxMjk4LDIxMzIwMzQsMjEzMTkzOCwyMTM3NDEwXSksbmV3IFVpbnQzMkFycmF5KFsyMjEyOTYxLDIxMTY5OTMsMjIxMjk5MywyMjEzMDI1LDIyMTMwNTcsMjIxMzA4OSwyMjEzMTIxLDIyMTMxNTMsMjIxMzE4NSwyMjEzMjE3LDIyMTMyNDksMjIwOTYzMywyMjEzMjgxLDIyMTMzMTMsMjIxMzM0NSwyMjEzMzc3XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjExMzcyOSwyMTEzODI1LDIxMTM5MjEsMjExNDAxNywyMTE0MTEzLDIxMTQyMDksMjExNDMwNSwyMTE0NDAxLDIxMTQ0OTcsMjExNDU5MywyMTE0Njg5LDIxMTQ3ODUsMjExNDg4MSwyMTE0OTc3LDIxMTUwNzMsMjExNTE2OV0pLG5ldyBVaW50MzJBcnJheShbMjIzODE3NywyMjM4MjA5LDIyMzgyNDEsMjIzODI3MywyMjM4MzA1LDIyMzgzMzcsMjIzODMzNywyMjE3NTM3LDIyMzgzNjksMjIzODQwMSwyMjM4NDMzLDIyMzg0NjUsMjIxNTY0OSwyMjM4NDk3LDIyMzg1MjksMjIzODU2MV0pLG5ldyBVaW50MzJBcnJheShbMjEwODI4OSwyMTAwODY1LDIxMTMxNTMsMjEwODQ4MSwyMTEzMzQ1LDIxMTM0NDEsMjA5ODIwOSwyMTExMTM3LDIxMDU1MDUsMjA5ODI0MSwyMTA4MzUzLDIxMDg0MTcsMjEwNTgyNSwyMTExNzEzLDIxMDA4OTcsMjExMTkwNV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCw2MjkxNDU2LDAsMF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1NiwwLDYyOTE0NTYsMjE0NTAyNiwwLDYyOTE0NTYsMjE0NTA5MCwwLDYyOTE0NTYsNjI5MTQ1NiwwLDAsMjMwNjg2NzIsMCwyMzA2ODY3MiwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbMjA5OTIzMywyMTIyMDE3LDIyMDA2NzMsMjA5ODExMywyMTIxNTM3LDIxMDMyMDEsMjIwMDcwNSwyMTA0MDMzLDIxMjE4NTcsMjEyMTk1MywyMTIyNDAxLDIwOTk2NDksMjA5OTk2OSwyMTIzMDA5LDIxMDAxMjksMjEwMDI4OV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1NiwyMzA2ODY3Miw2MjkxNDU2LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwwLDAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIxODc2ODEsMjE4NzcxMywyMTg3NzQ1LDIxODc3NzcsMjE4NzgwOSwyMTg3ODQxLDIxODc4NzMsMjE4NzkwNSwyMTg3OTM3LDIxODc5NjksMjE4ODAwMSwyMTg4MDMzLDIxODgwNjUsMjE4ODA5NywyMTg4MTI5LDIxODgxNjFdKSxuZXcgVWludDMyQXJyYXkoWzAsMTA1NTQ0OTgsMTA1NTQ1NjIsMTA1NTQ2MjYsMTA1NTQ2OTAsMTA1NTQ3NTQsMTA1NTQ4MTgsMTA1NTQ4ODIsMTA1NTQ5NDYsMTA1NTUwMTAsMTA1NTUwNzQsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMjM1MTcwLDIyMzUyMzQsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTgxMTUzLDYyOTE0NTYsMjE4ODg5Nyw2MjkxNDU2LDYyOTE0NTYsMjE4ODkyOSw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMTExOTA1LDIxMDA4NjUsMjE4ODk2MSwyMTg4OTkzXSksbmV3IFVpbnQzMkFycmF5KFsyMTAwODMzLDIxMDA4OTcsMCwwLDIxMDE1NjksMjEwMTY5NywyMTAxODI1LDIxMDE5NTMsMjEwMjA4MSwyMTAyMjA5LDEwNTc1NjE3LDIxODcwNDEsMTA1MDIxNzcsMTA0ODk2MDEsMTA0ODk2OTcsMjExMjI4OV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1NiwyMTcyODMzLDYyOTE0NTYsMjE3Mjg2NSwyMTcyODk3LDIxNzI5MjksMjE3Mjk2MSw2MjkxNDU2LDIxNzI5OTMsNjI5MTQ1NiwyMTczMDI1LDYyOTE0NTYsMjE3MzA1Nyw2MjkxNDU2LDIxNzMwODksNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMjMwNjg2NzIsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsMCwwLDAsMjE5MDcyMV0pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxODQ5OTMsNjI5MTQ1NiwyMTg1MDI1LDYyOTE0NTYsMjE4NTA1Nyw2MjkxNDU2LDIxODUwODksNjI5MTQ1NiwyMTg1MTIxLDYyOTE0NTYsMjE4NTE1Myw2MjkxNDU2LDIxODUxODUsNjI5MTQ1NiwyMTg1MjE3LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxMTUyNjUsMjExNTM2MSwyMTE1NDU3LDIxMTU1NTMsMjExNTY0OSwyMTE1NzQ1LDIxMTU4NDEsMjExNTkzNywyMTE2MDMzLDIxMTYxMjksMjExNjIyNSwyMTE2MzIxLDIxNTA2NTgsMjE1MDcyMiwyMjAwMjI1LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxNjgzMjEsNjI5MTQ1NiwyMTY4MzUzLDYyOTE0NTYsMjE2ODM4NSw2MjkxNDU2LDIxNjg0MTcsNjI5MTQ1NiwyMTY4NDQ5LDYyOTE0NTYsMjE2ODQ4MSw2MjkxNDU2LDIxNjg1MTMsNjI5MTQ1NiwyMTY4NTQ1LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsMCw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxODY2MjUsMCwwLDYyOTE0NTYsNjI5MTQ1NiwyMTg2NjU3LDIxODY2ODksMjE4NjcyMSwyMTczNTA1LDAsMTA0OTYwNjcsMTA0OTYxNjMsMTA0OTYyNTldKSxuZXcgVWludDMyQXJyYXkoWzIxNzg3ODUsNjI5MTQ1NiwyMTc4ODE3LDYyOTE0NTYsMjE3ODg0OSw2MjkxNDU2LDIxNzg4ODEsNjI5MTQ1NiwyMTc4OTEzLDYyOTE0NTYsMjE3ODk0NSw2MjkxNDU2LDIxNzg5NzcsNjI5MTQ1NiwyMTc5MDA5LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIwOTcxNTIsMCwwLDAsMjA5NzE1MiwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMCwwLDIxOTc4NTcsMjE5Nzg4OSwyMTk3OTIxLDIxOTc5NTMsMjE5Nzk4NSwyMTk4MDE3LDAsMCwyMTk4MDQ5LDIxOTgwODEsMjE5ODExMywyMTk4MTQ1LDIxOTgxNzcsMjE5ODIwOV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjA5ODIwOSwyMTY3Mjk3LDIxMTExMzcsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjE3MTM5Myw2MjkxNDU2LDIxNzE0MjUsNjI5MTQ1NiwyMTcxNDU3LDYyOTE0NTYsMjE3MTQ4OSw2MjkxNDU2LDIxNzE1MjEsNjI5MTQ1NiwyMTcxNTUzLDYyOTE0NTYsMjE3MTU4NSw2MjkxNDU2LDIxNzE2MTcsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjIwNjc1MywyMjA2Nzg1LDIxOTU0NTcsMjIwNjgxNywyMjA2ODQ5LDIyMDY4ODEsMjIwNjkxMywyMTk3MTUzLDIxOTcxNTMsMjIwNjk0NSwyMTE3ODU3LDIyMDY5NzcsMjIwNzAwOSwyMjA3MDQxLDIyMDcwNzMsMjIwNzEwNV0pLG5ldyBVaW50MzJBcnJheShbMCwwLDAsMCwwLDAsMCwyMzA2ODY3MiwwLDAsMCwwLDIxNDQ4MzQsMjE0NDg5OCwwLDIxNDQ5NjJdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMCwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbMjEwODE5MywyMTEyNDgxLDIxMTI1NzcsMjA5ODE3NywyMDk4MzA1LDIxMDgzMjEsMjEwODI4OSwyMTAwODY1LDIxMTMxNTMsMjEwODQ4MSwyMTEzMzQ1LDIxMTM0NDEsMjA5ODIwOSwwLDIxMDU1MDUsMjA5ODI0MV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDIyMDIwNDksNjI5MTQ1NiwyMjAyMDgxLDYyOTE0NTYsMjIwMjExMyw2MjkxNDU2LDIyMDIxNDUsNjI5MTQ1NiwyMjAyMTc3LDYyOTE0NTYsMjIwMjIwOSw2MjkxNDU2LDIyMDIyNDEsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMTA1MDExNTUsMTA1MDEyNTEsMTA1MDEzNDcsMTA1MDE0NDMsMTA1MDE1MzksMTA1MDE2MzUsMTA1MDE3MzEsMTA1MDE4MjcsMTA1MDE5MjMsMTA1MDIwMTksMjE0MTczMSwyMTA1NTA1LDIwOTgxNzcsMjE1NTU4NiwyMTY2NTMwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIxMDIwODEsMjEwMjIwOSwyMTAwODMzLDIxMDA3MzcsMjA5ODMzNywyMTAxNDQxLDIxMDE1NjksMjEwMTY5NywyMTAxODI1LDIxMDE5NTMsMjEwMjA4MSwyMTAyMjA5LDIxMDA4MzMsMjEwMDczNywyMDk4MzM3LDIxMDE0NDFdKSxuZXcgVWludDMyQXJyYXkoWzIxNDY4ODIsMjE0Njk0NiwyMTQ3MDEwLDIxNDcwNzQsMjE0NzEzOCwyMTQ3MjAyLDIxNDcyNjYsMjE0NzMzMCwyMTQ2ODgyLDIxNDY5NDYsMjE0NzAxMCwyMTQ3MDc0LDIxNDcxMzgsMjE0NzIwMiwyMTQ3MjY2LDIxNDczMzBdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsxMDUwMjMwNywxMDUwMjQwMywxMDUwMjQ5OSwxMDUwMjU5NSwxMDUwMjY5MSwxMDUwMjc4NywxMDUwMjg4MywxMDUwMjk3OSwxMDUwMzA3NSwxMDUwMzE3MSwxMDUwMzI2NywxMDUwMzM2MywxMDUwMzQ1OSwxMDUwMzU1NSwxMDUwMzY1MSwxMDUwMzc0N10pLG5ldyBVaW50MzJBcnJheShbMjE3OTkzNywyMTc5OTY5LDIxODAwMDEsMjE4MDAzMywyMTU2NTQ1LDIxODAwNjUsMjE1NjU3NywyMTgwMDk3LDIxODAxMjksMjE4MDE2MSwyMTgwMTkzLDIxODAyMjUsMjE4MDI1NywyMTgwMjg5LDIxNTY3MzcsMjE4MDMyMV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsNjI5MTQ1NiwwLDAsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDBdKSxuZXcgVWludDMyQXJyYXkoWzIyMjc2ODIsMjIyNzc0NiwyMjI3ODEwLDIyMjc4NzQsMjIyNzkzOCwyMjI4MDAyLDIyMjgwNjYsMjIyODEzMCwyMjI4MTk0LDIyMjgyNTgsMjIyODMyMiwyMjI4Mzg2LDIyMjg0NTAsMjIyODUxNCwyMjI4NTc4LDIyMjg2NDJdKSxuZXcgVWludDMyQXJyYXkoWzIxMDU2MDEsMjE2OTEyMSwyMTA4MTkzLDIxNzAwNDksMjE4MTAyNSwyMTgxMDU3LDIxMTI0ODEsMjEwODMyMSwyMTA4Mjg5LDIxODEwODksMjE3MDQ5NywyMTAwODY1LDIxODExMjEsMjE3MzYwMSwyMTczNjMzLDIxNzM2NjVdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxODA2NDEsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCw2MjkxNDU2LDAsNjI5MTQ1NiwwLDAsNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxNzgyNzMsNjI5MTQ1NiwyMTc4MzA1LDYyOTE0NTYsMjE3ODMzNyw2MjkxNDU2LDIxNzgzNjksNjI5MTQ1NiwyMTc4NDAxLDYyOTE0NTYsMjE3ODQzMyw2MjkxNDU2LDIxNzg0NjUsNjI5MTQ1NiwyMTc4NDk3LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDAsMCwwLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMTQ2ODAwNjQsMTQ2ODAwNjQsMTQ2ODAwNjQsMTQ2ODAwNjQsMTQ2ODAwNjQsMTQ2ODAwNjRdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjIzNzM3NywyMjM3NDA5LDIyMzYyMjUsMjIzNzQ0MSwyMjM3NDczLDIyMTc0NDEsMjIxNTUyMSwyMjE1NTUzLDIyMTc0NzMsMjIzNzUwNSwyMjM3NTM3LDIyMDk2OTcsMjIzNzU2OSwyMjE1NTg1LDIyMzc2MDEsMjIzNzYzM10pLG5ldyBVaW50MzJBcnJheShbMjIyMTk4NSwyMTY1NjAxLDIxNjU2MDEsMjE2NTY2NSwyMTY1NjY1LDIyMjIwMTcsMjIyMjAxNywyMTY1NzI5LDIxNjU3MjksMjE1ODkxMywyMTU4OTEzLDIxNTg5MTMsMjE1ODkxMywyMDk3MjgxLDIwOTcyODEsMjEwNTkyMV0pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMCwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxNDk2MzQsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjE3Njg5Nyw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjE3NjkyOSw2MjkxNDU2LDIxNzY5NjEsNjI5MTQ1NiwyMTc2OTkzLDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxNzI2NDEsNjI5MTQ1NiwyMTcyNjczLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjE3MjcwNSwyMTcyNzM3LDYyOTE0NTYsMjE3Mjc2OSwyMTcyODAxLDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIwOTkxNzMsMjEwNDE5NiwyMTIxNjY3LDIwOTkzOTUsMjEyMTc2MywyMTUyMjU4LDIxNTIzMjIsMjA5ODk0NiwyMTUyMzg2LDIxMjE4NTksMjEyMTk1NSwyMDk5MzMzLDIxMjIwNTEsMjEwNDMyNCwyMDk5NDkzLDIxMjIxNDddKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxNDU3OTQsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjE0NTg1OCw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMCw2MjkxNDU2LDBdKSxuZXcgVWludDMyQXJyYXkoWzAsMjEwNTkyMSwyMDk3NzI5LDAsMjA5NzM3NywwLDAsMjEwNjAxNywwLDIwOTc1MDUsMjEwNTg4OSwyMDk3MTg1LDIwOTc2OTcsMjEzNTc3NywyMDk3NjMzLDIwOTc0NDFdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzIyMzkwNzQsMjIzOTEzOCwyMjM5MjAxLDIyMzkyMzMsMjIzOTI2NSwyMjM5Mjk3LDIyMzkzMjksMjIzOTM2MSwwLDIyMzkzOTMsMjIzOTQyNSwyMjM5NDI1LDIyMzk0NTgsMjIzOTUyMSwyMjM5NTUzLDIyMDk1NjldKSxuZXcgVWludDMyQXJyYXkoWzE0NjgwMDY0LDIwOTgyMDksMjExMTEzNywyMTA1NTA1LDIwOTgyNDEsMjEwODM1MywyMTA4NDE3LDIxMDU4MjUsMjExMTcxMywyMTAwODk3LDIxMTE5MDUsMjEwNTQ3MywyMTA1NTY5LDIxMDU2MDEsMjExMjI4OSwyMTA4MTkzXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDYyOTE0NTYsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzIxMDgzMjEsMjEwODI4OSwyMTEzMTUzLDIwOTgyMDksMjE4MDg5NywyMTgwOTI5LDIxODA5NjEsMjExMTEzNywyMDk4MjQxLDIxMDgzNTMsMjE3MDI0MSwyMTcwMjczLDIxODA5OTMsMjEwNTgyNSw2MjkxNDU2LDIxMDU0NzNdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxNDYxMTQsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIxMDU5MjEsMjEwNTkyMSwyMTA1OTIxLDIyMjIwNDksMjIyMjA0OSwyMTMwOTc3LDIxMzA5NzcsMjEzMDk3NywyMTMwOTc3LDIxNjAwNjUsMjE2MDA2NSwyMTYwMDY1LDIxNjAwNjUsMjA5NzcyOSwyMDk3NzI5LDIwOTc3MjldKSxuZXcgVWludDMyQXJyYXkoWzIyMTgxNDUsMjIxNDc4NSwyMjA3OTM3LDIyMTgxNzcsMjIxODIwOSwyMTkyOTkzLDIyMTAxMTMsMjIxMjc2OSwyMjE4MjQxLDIyMTgyNzMsMjIxNjEyOSwyMjE4MzA1LDIyMTYxNjEsMjIxODMzNywyMjE4MzY5LDIyMTg0MDFdKSxuZXcgVWludDMyQXJyYXkoWzAsMCwwLDIxNTY1NDYsMjE1NjYxMCwyMTU2Njc0LDIxNTY3MzgsMjE1NjgwMiwwLDAsMCwwLDAsMjE1Njg2NiwyMzA2ODY3MiwyMTU2OTMwXSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDAsMCwwLDIzMDY4NjcyLDIzMDY4NjcyLDAsMCwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIyMTM0MDksMjIxMzQ0MSwyMjEzNDczLDIyMTM1MDUsMjIxMzUzNywyMjEzNTY5LDIyMTM2MDEsMjIxMzYzMywyMjEzNjY1LDIxOTU2ODEsMjIxMzY5NywyMjEzNzI5LDIyMTM3NjEsMjIxMzc5MywyMjEzODI1LDIyMTM4NTddKSxuZXcgVWludDMyQXJyYXkoWzIxMDAwMzMsMjA5OTIzMywyMTIyMDE3LDIyMDA2NzMsMjA5ODExMywyMTIxNTM3LDIxMDMyMDEsMjIwMDcwNSwyMTA0MDMzLDIxMjE4NTcsMjEyMTk1MywyMTIyNDAxLDIwOTk2NDksMjA5OTk2OSwyMTIzMDA5LDIxMDAxMjldKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIyMDE4NTcsNjI5MTQ1NiwyMjAxODg5LDYyOTE0NTYsMjIwMTkyMSw2MjkxNDU2LDIyMDE5NTMsNjI5MTQ1NiwyMjAxOTg1LDYyOTE0NTYsMjIwMjAxNyw2MjkxNDU2LDIxNzYxOTMsMjE3NjI1NywyMzA2ODY3MiwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDAsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTg4MTkzLDIxODgyMjUsMjE4ODI1NywyMTg4Mjg5LDIxODgzMjEsMjE4ODM1MywyMTg4Mzg1LDIxODg0MTcsMjE4ODQ0OSwyMTg4NDgxLDIxODg1MTMsMjE4ODU0NSwyMTg4NTc3LDIxODg2MDksMjE4ODY0MSwwXSksbmV3IFVpbnQzMkFycmF5KFsxMDU1NDUyOSwyMjIxMDg5LDAsMTA1MDIxMTMsMTA1NjIwMTcsMTA1Mzc5MjEsMTA1MzgwNDksMjIyMTEyMSwyMjIxMTUzLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIyMTM4ODksMjIxMzkyMSwyMjEzOTUzLDIyMTM5ODUsMjIxNDAxNywyMjE0MDQ5LDIyMTQwODEsMjE5NDE3NywyMjE0MTEzLDIyMTQxNDUsMjIxNDE3NywyMjE0MjA5LDIyMTQyNDEsMjIxNDI3MywyMjE0MzA1LDIyMTQzMzddKSxuZXcgVWludDMyQXJyYXkoWzIxNjY5NzgsMjE2NzA0MiwyMDk5MTY5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxODA1NDUsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzEwNTE4OTE1LDEwNTE5MDExLDEwNTE5MTA3LDEwNTE5MjAzLDIxNjIyNDIsMjE2MjMwNiwyMTU5NTU0LDIxNjIzNzAsMjE1OTM2MiwyMTU5NjE4LDIxMDU5MjIsMjE2MjQzNCwyMTU5NzQ2LDIxNjI0OTgsMjE1OTgxMCwyMTU5ODc0XSksbmV3IFVpbnQzMkFycmF5KFsyMTYxNzMwLDIxNjE3OTQsMjEzNTU4NiwyMTYxODU4LDIxNjE5MjIsMjEzNzE4NiwyMTMxODEwLDIxNjAyOTAsMjEzNTE3MCwyMTYxOTg2LDIxMzc5NTQsMjE2MjA1MCwyMTYyMTE0LDIxNjIxNzgsMTA1MTg3MjMsMTA1MTg4MTldKSxuZXcgVWludDMyQXJyYXkoWzEwNTA2NjI3LDEwNTA2NzIzLDEwNTA2ODE5LDEwNTA2OTE1LDEwNTA3MDExLDEwNTA3MTA3LDEwNTA3MjAzLDEwNTA3Mjk5LDEwNTA3Mzk1LDEwNTA3NDkxLDEwNTA3NTg3LDEwNTA3NjgzLDEwNTA3Nzc5LDEwNTA3ODc1LDEwNTA3OTcxLDEwNTA4MDY3XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMjMwNjg2NzIsMjMwNjg2NzIsMCwwLDAsMCwwLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjE3NTg3MywyMTc1OTA1LDIxNzU5MzcsMjE3NTk2OSwyMTc2MDAxLDIxNzYwMzMsMjE3NjA2NSwyMTc2MDk3LDIxNzYxMjksMjE3NjE2MSwyMTc2MTkzLDIxNzYyMjUsMjE3NjI1NywyMTc2Mjg5LDIxNzYzMjEsMjE3NjM1M10pLG5ldyBVaW50MzJBcnJheShbMjE0MDAwNiwyMTQwMTk4LDIxNDAzOTAsMjE0MDU4MiwyMTQwNzc0LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFsyMTA4MTkzLDIxMTI0ODEsMjExMjU3NywyMDk4MTc3LDIwOTgzMDUsMjEwODMyMSwyMTA4Mjg5LDIxMDA4NjUsMjExMzE1MywyMTA4NDgxLDIxMTMzNDUsMjExMzQ0MSwyMDk4MjA5LDIxMTExMzcsMjEwNTUwNSwyMDk4MjQxXSksbmV3IFVpbnQzMkFycmF5KFswLDIzMDY4NjcyLDAsMCwwLDAsMCwwLDAsMjE0NTE1NCwyMTQ1MjE4LDIxNDUyODIsNjI5MTQ1NiwwLDIxNDUzNDYsMF0pLG5ldyBVaW50MzJBcnJheShbMCwwLDAsMCwxMDUzMTQ1OCwxMDQ5NTM5NSwyMTQ4NTQ1LDIxNDMyMDEsMjE3MzQ3MywyMTQ4ODY1LDIxNzM1MDUsMCwyMTczNTM3LDAsMjE3MzU2OSwyMTQ5MTIxXSksbmV3IFVpbnQzMkFycmF5KFsxMDUzNzI4MiwxMDQ5NTY4MywyMTQ4NzM4LDIxNDg4MDIsMjE0ODg2NiwwLDYyOTE0NTYsMjE0ODkzMCwyMTg2NTkzLDIxNzM0NzMsMjE0ODczNywyMTQ4ODY1LDIxNDg4MDIsMTA0OTU3NzksMTA0OTU4NzUsMTA0OTU5NzFdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjIxNTQyNSwyMjE1NDU3LDIyMTU0ODksMjIxNTUyMSwyMjE1NTUzLDIyMTU1ODUsMjIxNTYxNywyMjE1NjQ5LDIyMTU2ODEsMjIxNTcxMywyMjE1NzQ1LDIyMTU3NzcsMjE5MjAzMywyMjE1ODA5LDIyMTU4NDEsMjIxNTg3M10pLG5ldyBVaW50MzJBcnJheShbMjI0MjA0OSwyMjQyMDgxLDIyNDIxMTMsMjI0MjE0NSwyMjQyMTc3LDIyNDIyMDksMjI0MjI0MSwyMjQyMjczLDIyMTU5MzcsMjI0MjMwNSwyMjQyMzM4LDIyNDI0MDEsMjI0MjQzMywyMjQyNDY1LDIyNDI0OTcsMjIxNjAwMV0pLG5ldyBVaW50MzJBcnJheShbMTA1NTQ1MjksMjIyMTA4OSwwLDAsMTA1NjIwMTcsMTA1MDIxMTMsMTA1MzgwNDksMTA1Mzc5MjEsMjIyMTE4NSwxMDQ4OTYwMSwxMDQ4OTY5NywxMDYwOTg4OSwxMDYwOTkyMSwyMTQxNzI5LDIxNDE3OTMsMTA2MTAyNzNdKSxuZXcgVWludDMyQXJyYXkoWzIxNDE5MjMsMjE0MjAxOSwyMTQyMTE1LDIxNDIyMTEsMjE0MjMwNywyMTQyNDAzLDIxNDI0OTksMjE0MjU5NSwyMTQyNjkxLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzAsMjIyMTE4NSwyMjIxMjE3LDEwNjA5ODU3LDEwNjA5ODU3LDEwNDg5NjAxLDEwNDg5Njk3LDEwNjA5ODg5LDEwNjA5OTIxLDIxNDE3MjksMjE0MTc5MywyMjIxMzQ1LDIyMjEzNzcsMjIyMTQwOSwyMjIxNDQxLDIxODcxMDVdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwXSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwxODkyMzk3MCwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjE4MzEwNSw2MjkxNDU2LDIxODMxMzcsNjI5MTQ1NiwyMTgzMTY5LDYyOTE0NTYsMjE4MzIwMSw2MjkxNDU2LDIxODMyMzMsNjI5MTQ1NiwyMTgzMjY1LDYyOTE0NTYsMjE4MzI5Nyw2MjkxNDU2LDIxODMzMjksNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMF0pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMCwwLDAsMCwwLDAsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxMzQ0MzQsMjEzNDgxOCwyMDk3NjY2LDIwOTcxODYsMjA5NzQ3NCwyMDk3Njk4LDIxMDU5ODYsMjEzMTU4NiwyMTMyNDUwLDIxMzE4NzQsMjEzMTc3OCwyMTM1OTcwLDIxMzU3NzgsMjE2MTYwMiwyMTM2MTYyLDIxNjE2NjZdKSxuZXcgVWludDMyQXJyYXkoWzIyMzY4NjUsMjIzNjg5NywyMjM2OTMwLDIyMzY5OTMsMjIzNzAyNSwyMjM1NjgxLDIyMzcwNTgsMjIzNzEyMSwyMjM3MTUzLDIyMzcxODUsMjIzNzIxNywyMjE3MjgxLDIyMzcyNTAsMjE5MTIzMywyMjM3MzEzLDIyMzczNDVdKSxuZXcgVWludDMyQXJyYXkoWzIxOTAwNDksNjI5MTQ1NiwyMTkwMDgxLDYyOTE0NTYsMjE5MDExMyw2MjkxNDU2LDIxOTAxNDUsNjI5MTQ1NiwyMTkwMTc3LDYyOTE0NTYsMjE5MDIwOSw2MjkxNDU2LDIxOTAyNDEsNjI5MTQ1NiwyMTkwMjczLDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjEwMTkyMiwyMTAyMDUwLDIxMDIxNzgsMjEwMjMwNiwxMDQ5ODc1NSwxMDQ5ODg1MSwxMDQ5ODk0NywxMDQ5OTA0MywxMDQ5OTEzOSwxMDQ5OTIzNSwxMDQ5OTMzMSwxMDQ5OTQyNywxMDQ5OTUyMywxMDQ4OTYwNCwxMDQ4OTczMiwxMDQ4OTg2MF0pLG5ldyBVaW50MzJBcnJheShbMjE2NjkxNCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTgxNjAxLDIxNzA1NjEsMjE4MTYzMywyMTgxNjY1LDIxNzA3NTMsMjE4MTY5NywyMTcyODk3LDIxNzA4ODEsMjE4MTcyOSwyMTcwOTEzLDIxNzI5MjksMjExMzQ0MSwyMTgxNzYxLDIxODE3OTMsMjE3MTAwOSwyMTczNzYxXSksbmV3IFVpbnQzMkFycmF5KFswLDIxMDU5MjEsMjA5NzcyOSwyMTA2MDgxLDAsMjA5NzYwMSwyMTYyMzM3LDIxMDYwMTcsMjEzMzI4MSwyMDk3NTA1LDAsMjA5NzE4NSwyMDk3Njk3LDIxMzU3NzcsMjA5NzYzMywyMDk3NDQxXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIyNDgwMDEsMjI0ODAzMywyMjQ4MDY2LDIyNDgxMzAsMjI0ODE5MywyMjQ4MjI2LDIyNDgyODksMjI0ODMyMiwyMjQ4Mzg1LDIyNDg0MTcsMjIxNjY3MywyMjQ4NDUwLDIyNDg1MTQsMjI0ODU3NywyMjQ4NjEwLDIyNDg2NzNdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1NiwwLDAsMCwwLDAsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIxNjk3MjksNjI5MTQ1NiwyMTY5NzYxLDYyOTE0NTYsMjE2OTc5Myw2MjkxNDU2LDIxNjk4MjUsNjI5MTQ1NiwyMTY5ODU3LDIxNjk4ODksNjI5MTQ1NiwyMTY5OTIxLDYyOTE0NTYsMjE0MzMyOSw2MjkxNDU2LDIwOTgzMDVdKSxuZXcgVWludDMyQXJyYXkoWzIxNjIxNzgsMjE2MzIwMiwyMTYzMjY2LDIxMzUxNzAsMjEzNjIyNiwyMTYxOTg2LDIxMzc5NTQsMjE1OTQyNiwyMTU5NDkwLDIxNjMzMzAsMjE1OTU1NCwyMTYzMzk0LDIxNTk2ODIsMjEzOTUyMiwyMTM2NDUwLDIxNTk3NDZdKSxuZXcgVWludDMyQXJyYXkoWzIxNzM5NTMsMjE3Mzk4NSwwLDIxNzQwMTcsMjE3NDA0OSwyMTc0MDgxLDIxNzQxMTMsMjE3NDE0NSwyMTc0MTc3LDIxNDkwNTcsMjE3NDIwOSwyMTc0MjQxLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw0MjcxMTY5LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxNzQyNzNdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsMCwwLDAsMCwwLDAsMCw2MjkxNDU2LDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMTkwNzg1LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTg5NzkzLDYyOTE0NTYsMjE4OTgyNSw2MjkxNDU2LDIxODk4NTcsNjI5MTQ1NiwyMTg5ODg5LDYyOTE0NTYsMjE4OTkyMSw2MjkxNDU2LDIxODk5NTMsNjI5MTQ1NiwyMTg5OTg1LDYyOTE0NTYsMjE5MDAxNyw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTA1NjAxLDIxMTIyODksMjEwODE5MywyMTEyNDgxLDIxMTI1NzcsMCwyMDk4MzA1LDIxMDgzMjEsMjEwODI4OSwyMTAwODY1LDIxMTMxNTMsMjEwODQ4MSwyMTEzMzQ1LDAsMjA5ODIwOSwyMTExMTM3XSksbmV3IFVpbnQzMkFycmF5KFsyMTcyMTI5LDYyOTE0NTYsMjE3MjE2MSw2MjkxNDU2LDIxNzIxOTMsNjI5MTQ1NiwyMTcyMjI1LDYyOTE0NTYsMjE3MjI1Nyw2MjkxNDU2LDIxNzIyODksNjI5MTQ1NiwyMTcyMzIxLDYyOTE0NTYsMjE3MjM1Myw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMjE0NzUzLDYyOTE0NTYsMjIxNDc4NSw2MjkxNDU2LDYyOTE0NTYsMjIxNDgxNywyMjE0ODQ5LDIyMTQ4ODEsMjIxNDkxMywyMjE0OTQ1LDIyMTQ5NzcsMjIxNTAwOSwyMjE1MDQxLDIyMTUwNzMsMjE5NDQwMSw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDAsMCwwLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzAsMCwwLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsxMDYxMDMwNSwxMDYxMDMzNywxMDU3NTYxNywyMjIxNzYxLDEwNjEwNDAxLDEwNjEwNDMzLDEwNTAyMTc3LDAsMTA2MTA0NjUsMTA2MTA0OTcsMTA2MTA1MjksMTA2MTA1NjEsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMCwyMzA2ODY3MiwwLDAsMCwwLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMTg3MTA1LDIxODcxMzcsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTk5MzkzLDIxOTk0MjUsMjE5OTQ1NywyMTk5NDg5LDIxOTk1MjEsMjE5OTU1MywyMTk5NTg1LDIxOTk2MTcsMjE5OTY0OSwyMTk5NjgxLDIxOTk3MTMsMjE5OTc0NSwyMTk5Nzc3LDIxOTk4MDksMjE5OTg0MSwwXSksbmV3IFVpbnQzMkFycmF5KFsyMjE3MjQ5LDIyMTcyODEsMjIxNzMxMywyMjE3MzQ1LDIyMTczNzcsMjIxNzQwOSwyMjE3NDQxLDIyMTc0NzMsMjIxNTYxNywyMjE3NTA1LDIyMTc1MzcsMjIxNzU2OSwyMjE0NzUzLDIyMTc2MDEsMjIxNzYzMywyMjE3NjY1XSksbmV3IFVpbnQzMkFycmF5KFsyMTcwMjczLDIxNzAzMDUsNjI5MTQ1NiwyMTcwMzM3LDIxNzAzNjksNjI5MTQ1NiwyMTcwNDAxLDIxNzA0MzMsMjE3MDQ2NSw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMTcwNDk3LDIxNzA1MjksNjI5MTQ1NiwyMTcwNTYxXSksbmV3IFVpbnQzMkFycmF5KFsyMTg4NjczLDYyOTE0NTYsMjE4ODcwNSwyMTg4NzM3LDIxODg3NjksNjI5MTQ1Niw2MjkxNDU2LDIxODg4MDEsNjI5MTQ1NiwyMTg4ODMzLDYyOTE0NTYsMjE4ODg2NSw2MjkxNDU2LDIxODA5MjksMjE4MTUwNSwyMTgwODk3XSksbmV3IFVpbnQzMkFycmF5KFsxMDQ4OTk4OCwxMDQ5MDExNiwxMDQ5MDI0NCwxMDQ5MDM3MiwxMDQ5MDUwMCwxMDQ5MDYyOCwxMDQ5MDc1NiwxMDQ5MDg4NCwwLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMTQ3MzkzLDIxNDc0NTcsMjE0NzUyMSwyMTQ3NTg1LDIxNDc2NDksMjE0NzcxMywyMTQ3Nzc3LDIxNDc4NDFdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDAsMjMwNjg2NzIsMjMwNjg2NzIsMCwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIyNDExNTMsMjI0MTE4NSwyMjQxMjE3LDIyMTU4MDksMjI0MTI1MCwyMjQxMzEzLDIyNDEzNDUsMjI0MTM3NywyMjE3OTIxLDIyNDEzNzcsMjI0MTQwOSwyMjE1ODczLDIyNDE0NDEsMjI0MTQ3MywyMjQxNTA1LDIyNDE1MzddKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMjIwNDE3LDIyMjA0MTcsMjIyMDQ0OSwyMjIwNDQ5LDIyMjA0ODEsMjIyMDQ4MSwyMjIwNTEzLDIyMjA1MTMsMjIyMDU0NSwyMjIwNTQ1LDIyMjA1NzcsMjIyMDU3NywyMjIwNjA5LDIyMjA2MDksMjIyMDY0MSwyMjIwNjQxXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxNDQwMDIsMCw2MjkxNDU2LDYyOTE0NTYsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTY3MTA1LDIxNjcxMzcsMjE2NzE2OSwyMTY3MjAxLDIxNjcyMzMsMjE2NzI2NSwyMTY3Mjk3LDIxNjczMjksMjE2NzM2MSwyMTY3MzkzLDIxNjc0MjUsMjE2NzQ1NywyMTY3NDg5LDIxNjc1MjEsMjE2NzU1MywyMTY3NTg1XSksbmV3IFVpbnQzMkFycmF5KFsxMDU3NTUyMSwyMDk4MjA5LDIxMTExMzcsMjEwNTUwNSwyMDk4MjQxLDIxMDgzNTMsMjEwODQxNywyMTA1ODI1LDIxMTE3MTMsMjEwMDg5NywyMTExOTA1LDIxMDU0NzMsMjEwNTU2OSwyMTA1NjAxLDIxMTIyODksMjEwODE5M10pLG5ldyBVaW50MzJBcnJheShbMjIzNDE0NiwyMjM0MjEwLDIyMzQyNzQsMjIzNDMzOCwyMjM0NDAyLDIyMzQ0NjYsMjIzNDUzMCwyMjM0NTk0LDIyMzQ2NTgsMjIzNDcyMiwyMjM0Nzg2LDIyMzQ4NTAsMjIzNDkxNCwyMjM0OTc4LDIyMzUwNDIsMjIzNTEwNl0pLG5ldyBVaW50MzJBcnJheShbMCwwLDAsMCwwLDAsMCwyMTgwNTc3LDAsMCwwLDAsMCwyMTgwNjA5LDAsMF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDAsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMDk4MjA5LDIxMTExMzcsMjEwNTUwNSwyMDk4MjQxLDIxMDgzNTMsMjEwODQxNywyMTA1ODI1LDIxMTE3MTMsMjEwMDg5NywyMTExOTA1LDIxMDU0NzMsMjEwNTU2OSwyMTA1NjAxLDIxMTIyODksMjEwODE5MywyMTEyNDgxXSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjI0MjUyOSwyMjQyNTYxLDIyNDI1OTMsMjI0MjYyNSwyMjQyNjU3LDIyNDI2ODksMjI0MjcyMSwyMjQyNzUzLDIyMDc5MzcsMjIxODE3NywyMjQyNzg1LDIyNDI4MTcsMjI0Mjg0OSwyMjQyODgyLDIyNDI5NDUsMjI0Mjk3N10pLG5ldyBVaW50MzJBcnJheShbMjExODA0OSwyMTA1MzQ1LDIxMTgyNDEsMjEwNTQ0MSwyMTE4NDMzLDIxMTg1MjksMjExODYyNSwyMTE4NzIxLDIxMTg4MTcsMjIwMDI1NywyMjAwMjg5LDIxOTE4MDksMjIwMDMyMSwyMjAwMzUzLDIyMDAzODUsMjIwMDQxN10pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTg1NTA1LDYyOTE0NTYsMjE4NTUzNyw2MjkxNDU2LDIxODU1NjksNjI5MTQ1NiwyMTg1NjAxLDYyOTE0NTYsMjE4NTYzMyw2MjkxNDU2LDIxODU2NjUsNjI5MTQ1NiwyMTg1Njk3LDYyOTE0NTYsMjE4NTcyOSw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMjMxOTcwLDIyMzIwMzQsMjIzMjA5OCwyMjMyMTYyLDIyMzIyMjYsMjIzMjI5MCwyMjMyMzU0LDIyMzI0MTgsMjIzMjQ4MiwyMjMyNTQ2LDIyMzI2MTAsMjIzMjY3NCwyMjMyNzM4LDIyMzI4MDIsMjIzMjg2NiwyMjMyOTMwXSksbmV3IFVpbnQzMkFycmF5KFsyMjE4NjI1LDIyNDY0MDIsMjI0NjQ2NiwyMjQ2NTMwLDIyNDY1OTQsMjI0NjY1NywyMjQ2Njg5LDIyNDY2ODksMjIxODY1NywyMjE5NjgxLDIyNDY3MjEsMjI0Njc1MywyMjQ2Nzg1LDIyNDY4MTgsMjI0Njg4MSwyMjA4NDgxXSksbmV3IFVpbnQzMkFycmF5KFsyMTk3MDI1LDIxOTcwNTcsMjE5NzA4OSwyMTk3MTIxLDIxOTcxNTMsMjE5NzE4NSwwLDAsMCwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMjE5MTM3LDIyMTY5NjEsMjIxOTE2OSwyMjE5MjAxLDIyMTkyMzMsMjIxOTI2NSwyMjE5Mjk3LDIyMTcwMjUsMjIxNTA0MSwyMjE5MzI5LDIyMTcwNTcsMjIxOTM2MSwyMjE3MDg5LDIyMTkzOTMsMjE5NzE1MywyMjE5NDI2XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDAsMCwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjA5ODMwNSwyMTA4MzIxLDIxMDgyODksMjEwMDg2NSwyMTEzMTUzLDIxMDg0ODEsMjExMzM0NSwyMTEzNDQxLDIwOTgyMDksMjExMTEzNywyMTA1NTA1LDIwOTgyNDEsMjEwODM1MywyMTA4NDE3LDIxMDU4MjUsMjExMTcxM10pLG5ldyBVaW50MzJBcnJheShbMjI0MzUyMiwyMjQzNTg1LDIyNDM2MTcsMjI0MzY0OSwyMjQzNjgxLDIyMTAxMTMsMjI0MzcxMywyMjQzNzQ2LDIyNDM4MTAsMjI0Mzg3NCwyMjQzOTM3LDIyNDM5NzAsMjI0NDAzMywyMjQ0MDY1LDIyNDQwOTcsMjI0NDEyOV0pLG5ldyBVaW50MzJBcnJheShbMjE3ODAxNyw2MjkxNDU2LDIxNzgwNDksNjI5MTQ1NiwyMTc4MDgxLDYyOTE0NTYsMjE3ODExMyw2MjkxNDU2LDIxNzgxNDUsNjI5MTQ1NiwyMTc4MTc3LDYyOTE0NTYsMjE3ODIwOSw2MjkxNDU2LDIxNzgyNDEsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMTA1NTM4NTgsMjE2NTMxNCwxMDUxODcyMiw2MjkxNDU2LDEwNTE4ODE4LDAsMTA1MTg5MTQsMjEzMDY5MCwxMDUxOTAxMCwyMTMwNzg2LDEwNTE5MTA2LDIxMzA4ODIsMTA1MTkyMDIsMjE2NTM3OCwxMDU1NDA1MCwyMTY1NTA2XSksbmV3IFVpbnQzMkFycmF5KFswLDAsMjEzNTQ5MSwyMTM1NTg3LDIxMzU2ODMsMjEzNTc3OSwyMTM1ODc1LDIxMzU5NzEsMjEzNTk3MSwyMTM2MDY3LDIxMzYxNjMsMjEzNjI1OSwyMTM2MzU1LDIxMzYzNTUsMjEzNjQ1MSwyMTM2NTQ3XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIyMjAwMzMsMjIyMDAzMywyMjIwMDY1LDIyMjAwNjUsMjIyMDA2NSwyMjIwMDY1LDIyMjAwOTcsMjIyMDA5NywyMjIwMDk3LDIyMjAwOTcsMjIyMDEyOSwyMjIwMTI5LDIyMjAxMjksMjIyMDEyOSwyMjIwMTYxLDIyMjAxNjFdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsMCwwLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMjMwNjg2NzIsMCwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbMjEwMDg5NywyMTAwODk4LDIxMDA4OTksMjE1MDAxOCwyMTAwODY1LDIxMDA4NjYsMjEwMDg2NywyMTAwODY4LDIxNTAwODIsMjEwODQ4MSwyMTA5ODU4LDIxMDk4NTksMjEwNTU2OSwyMTA1NTA1LDIwOTgyNDEsMjEwNTYwMV0pLG5ldyBVaW50MzJBcnJheShbMjA5NzIxNywyMDk3NTA1LDIwOTc1MDUsMjA5NzUwNSwyMDk3NTA1LDIxNjU1NzAsMjE2NTU3MCwyMTY1NjM0LDIxNjU2MzQsMjE2NTY5OCwyMTY1Njk4LDIwOTc4NTgsMjA5Nzg1OCwwLDAsMjA5NzE1Ml0pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzEwNTAzODQzLDEwNTAzOTM5LDEwNTA0MDM1LDEwNTA0MTMxLDEwNTA0MjI3LDEwNTA0MzIzLDEwNTA0NDE5LDEwNTA0NTE1LDEwNTA0NjExLDEwNTA0NzA3LDEwNTA0ODAzLDEwNTA0ODk5LDEwNTA0OTk1LDEwNDkxMTQwLDEwNDkxMjY4LDBdKSxuZXcgVWludDMyQXJyYXkoWzIxNzM2OTcsMjE3MzcyOSwyMTQ4ODAxLDIxNzM3NjEsMjE0Mzk2OSwyMTczNzkzLDIxNzM4MjUsMjE1MzQ3MywyMTczODU3LDIxNzM4ODksMjE3MzkyMSwyMTczOTUzLDIxNzM5ODUsMjE3Mzc2MSwyMTc0MDE3LDIxNzQwNDldKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzIxMzQxNDUsMjA5NzE1MywyMTM0MjQxLDIxMDU5NTMsMjEzMjcwNSwyMTMwOTc3LDIxNjAwNjUsMjEzMTI5NywyMTYyMDQ5LDIxMzMwODksMjE2MDU3NywyMTMzODU3LDIyMzUyOTcsMjIyMDc2OSwyMjM1MzI5LDIyMzUzNjFdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFsyMjIyNDAxLDIyMjI0MzMsMjIyMjQ2NSwxMDUzMTM5NCwyMjIyNDk3LDIyMjI1MjksMjIyMjU2MSwwLDIyMjI1OTMsMjIyMjYyNSwyMjIyNjU3LDIyMjI2ODksMjIyMjcyMSwyMjIyNzUzLDIyMjI3ODUsMF0pLG5ldyBVaW50MzJBcnJheShbMjE4NDQ4MSw2MjkxNDU2LDIxODQ1MTMsNjI5MTQ1NiwyMTg0NTQ1LDYyOTE0NTYsMjE4NDU3Nyw2MjkxNDU2LDIxODQ2MDksNjI5MTQ1NiwyMTg0NjQxLDYyOTE0NTYsMjE4NDY3Myw2MjkxNDU2LDIxODQ3MDUsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDAsMCwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTA1NTcwLDIxNTYwMzQsMjEyNjk0NywyMTU2MDk4LDIxNTM2NjYsMjEyNzA0MywyMTI3MTM5LDIxNTYxNjIsMCwyMTI3MjM1LDIxNTYyMjYsMjE1NjI5MCwyMTU2MzU0LDIxNTY0MTgsMjEyNzMzMSwyMTI3NDI3XSksbmV3IFVpbnQzMkFycmF5KFsyMjE1OTA1LDIyMDcwNDEsMjE1MzE4NSwyMjQxNTY5LDIyNDE2MDEsMjI0MTYzMywyMjQxNjY1LDIyNDE2OTcsMjI0MTczMCwyMjQxNzkzLDIyNDE4MjUsMjI0MTg1NywyMjQxODg5LDIyNDE5MjEsMjI0MTk1NCwyMjQyMDE3XSksbmV3IFVpbnQzMkFycmF5KFsyMjAzNzc3LDYyOTE0NTYsMjIwMzgwOSw2MjkxNDU2LDIyMDM4NDEsNjI5MTQ1NiwyMjAzODczLDYyOTE0NTYsMjIwMzkwNSw2MjkxNDU2LDIxNzMxMjEsMjE4MDk5MywyMTgxMjQ5LDIyMDM5MzcsMjE4MTMxMywwXSksbmV3IFVpbnQzMkFycmF5KFsyMTY4NTc3LDYyOTE0NTYsMjE2ODYwOSw2MjkxNDU2LDIxNjg2NDEsNjI5MTQ1NiwyMTY4NjczLDYyOTE0NTYsMjE2ODcwNSw2MjkxNDU2LDIxNjg3MzcsNjI5MTQ1NiwyMTY4NzY5LDYyOTE0NTYsMjE2ODgwMSw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMCwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIyMTAxMTMsMjE5NTUyMSwyMjEwMTQ1LDIyMTAxNzcsMjIxMDIwOSwyMjEwMjQxLDIyMTAyNzMsMjIxMDMwNSwyMjEwMzM3LDIyMTAzNjksMjIxMDQwMSwyMjEwNDMzLDIyMTA0NjUsMjIxMDQ5NywyMjEwNTI5LDIyMTA1NjFdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDBdKSxuZXcgVWludDMyQXJyYXkoWzIyMjg3MDYsMjIyODc3MCwyMjI4ODM0LDIyMjg4OTgsMjIyODk2MiwyMjI5MDI2LDIyMjkwOTAsMjIyOTE1NCwyMjI5MjE4LDIyMjkyODIsMjIyOTM0NiwyMjI5NDEwLDIyMjk0NzQsMjIyOTUzOCwyMjI5NjAyLDIyMjk2NjZdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjgsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTMzMDg5LDIxMzMyODEsMjEzMzI4MSwyMTMzMjgxLDIxMzMyODEsMjE2MDU3NywyMTYwNTc3LDIxNjA1NzcsMjE2MDU3NywyMDk3NDQxLDIwOTc0NDEsMjA5NzQ0MSwyMDk3NDQxLDIxMzM4NTcsMjEzMzg1NywyMTMzODU3XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDAsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTczODI1LDIxNTM0NzMsMjE3Mzg1NywyMTczODg5LDIxNzM5MjEsMjE3Mzk1MywyMTczOTg1LDIxNzQwMTcsMjE3NDAxNywyMTc0MDQ5LDIxNzQwODEsMjE3NDExMywyMTc0MTQ1LDIxNzQxNzcsMjE0OTA1NywyMjMzMDg5XSksbmV3IFVpbnQzMkFycmF5KFsyMTc4NTI5LDYyOTE0NTYsMjE3ODU2MSw2MjkxNDU2LDIxNzg1OTMsNjI5MTQ1NiwyMTc4NjI1LDYyOTE0NTYsMjE3ODY1Nyw2MjkxNDU2LDIxNzg2ODksNjI5MTQ1NiwyMTc4NzIxLDYyOTE0NTYsMjE3ODc1Myw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMjIxMDI1LDIyMjEwMjUsMjIyMTA1NywyMjIxMDU3LDIxNTkzMjksMjE1OTMyOSwyMTU5MzI5LDIxNTkzMjksMjA5NzIxNywyMDk3MjE3LDIxNTg5MTQsMjE1ODkxNCwyMTU4OTc4LDIxNTg5NzgsMjE1OTA0MiwyMTU5MDQyXSksbmV3IFVpbnQzMkFycmF5KFsyMjA4MTYxLDIyMDgxOTMsMjIwODIyNSwyMjA4MjU3LDIxOTQ0MzMsMjIwODI4OSwyMjA4MzIxLDIyMDgzNTMsMjIwODM4NSwyMjA4NDE3LDIyMDg0NDksMjIwODQ4MSwyMjA4NTEzLDIyMDg1NDUsMjIwODU3NywyMjA4NjA5XSksbmV3IFVpbnQzMkFycmF5KFsyMTY5MjE3LDYyOTE0NTYsMjE2OTI0OSw2MjkxNDU2LDIxNjkyODEsNjI5MTQ1NiwyMTY5MzEzLDYyOTE0NTYsMjE2OTM0NSw2MjkxNDU2LDIxNjkzNzcsNjI5MTQ1NiwyMTY5NDA5LDYyOTE0NTYsMjE2OTQ0MSw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTMzMTg3LDIxMzMyODMsMjEzMzI4MywyMTMzMzc5LDIxMzM0NzUsMjEzMzU3MSwyMTMzNjY3LDIxMzM2NjcsMjEzMzc2MywyMTMzODU5LDIxMzM5NTUsMjEzNDA1MSwyMTM0MTQ3LDIxMzQxNDcsMjEzNDI0MywyMTM0MzM5XSksbmV3IFVpbnQzMkFycmF5KFsyMTk3Njk3LDIxMTQxMTMsMjExNDIwOSwyMTk3NzI5LDIxOTc3NjEsMjExNDMwNSwyMTk3NzkzLDIxMTQ0MDEsMjExNDQ5NywyMTk3ODI1LDIxMTQ1OTMsMjExNDY4OSwyMTE0Nzg1LDIxMTQ4ODEsMjExNDk3NywwXSksbmV3IFVpbnQzMkFycmF5KFsyMTkzMDg5LDIxOTMxMjEsMjE5MzE1MywyMTkzMTg1LDIxMTc2NjUsMjExNzU2OSwyMTkzMjE3LDIxOTMyNDksMjE5MzI4MSwyMTkzMzEzLDIxOTMzNDUsMjE5MzM3NywyMTkzNDA5LDIxOTM0NDEsMjE5MzQ3MywyMTkzNTA1XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxODQyMjUsNjI5MTQ1NiwyMTg0MjU3LDYyOTE0NTYsMjE4NDI4OSw2MjkxNDU2LDIxODQzMjEsNjI5MTQ1NiwyMTg0MzUzLDYyOTE0NTYsMjE4NDM4NSw2MjkxNDU2LDIxODQ0MTcsNjI5MTQ1NiwyMTg0NDQ5LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxMTI1NzcsMjA5ODE3NywyMDk4MzA1LDIxMDgzMjEsMjEwODI4OSwyMTAwODY1LDIxMTMxNTMsMjEwODQ4MSwyMTEzMzQ1LDIxMTM0NDEsMjEwMDgzMyw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzIwOTg2NTcsMjA5ODA0OSwyMjAwNzM3LDIxMjM0ODksMjEyMzY4MSwyMjAwNzY5LDIwOTg2MjUsMjEwMDMyMSwyMDk4MTQ1LDIxMDA0NDksMjA5ODAxNywyMDk4NzUzLDIyMDA4MDEsMjIwMDgzMywyMjAwODY1LDBdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMCwwLDAsMCwwLDAsMCwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMDk4MzA1LDIxMDgzMjEsMjEwODI4OSwyMTAwODY1LDIxMTMxNTMsMjEwODQ4MSwyMTEzMzQ1LDIxMTM0NDEsMjA5ODIwOSwyMTExMTM3LDAsMjA5ODI0MSwyMTA4MzUzLDIxMDg0MTcsMjEwNTgyNSwwXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjE4MTE1MywyMTA1NTA1LDIxODExODUsMjE2NzYxNywyMTgwOTkzXSksbmV3IFVpbnQzMkFycmF5KFsyMTYwMDAyLDIxNjAwNjYsMjE2MDEzMCwyMTYwMTk0LDIxNjAyNTgsMjEzMjA2NiwyMTMxMDEwLDIxMzExMDYsMjEwNjAxOCwyMTMxNjE4LDIxNjAzMjIsMjEzMTI5OCwyMTMyMDM0LDIxMzE5MzgsMjEzNzQxMCwyMTMyMjI2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTgzNjE3LDYyOTE0NTYsMjE4MzY0OSw2MjkxNDU2LDIxODM2ODEsNjI5MTQ1NiwyMTgzNzEzLDYyOTE0NTYsMjE4Mzc0NSw2MjkxNDU2LDIxODM3NzcsNjI5MTQ1NiwyMTgzODA5LDYyOTE0NTYsMjE4Mzg0MSw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFswLDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsMCwwLDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsMCwwLDYyOTE0NTYsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMjUwOTc3LDIyNTEwMDksMjI1MTA0MSwyMjUxMDczLDIxOTUwMDksMjI1MTEwNiwyMjUxMTY5LDIyNTEyMDEsMjI1MTIzMywyMjUxMjY1LDIyNTEyOTcsMjI1MTMzMCwyMjUxMzk0LDIyNTE0NTcsMjI1MTQ4OSwyMjUxNTIxXSksbmV3IFVpbnQzMkFycmF5KFsyMjA1NzI5LDIyMDU3NjEsMjIwNTc5MywyMjA1ODI1LDIyMDU4NTcsMjIwNTg4OSwyMjA1OTIxLDIyMDU5NTMsMjIwNTk4NSwyMjA2MDE3LDIyMDYwNDksMjIwNjA4MSwyMjA2MTEzLDIyMDYxNDUsMjIwNjE3NywyMjA2MjA5XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTQzMTcwLDIxNjg5OTMsNjI5MTQ1NiwyMTY5MDI1LDYyOTE0NTYsMjE2OTA1Nyw2MjkxNDU2LDIxNjkwODksNjI5MTQ1NiwyMTQzMjM0LDIxNjkxMjEsNjI5MTQ1NiwyMTY5MTUzLDYyOTE0NTYsMjE2OTE4NSw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMTkwNjg5LDYyOTE0NTYsMCwwLDAsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIyNDg3MDYsMjI0ODc2OSwyMjQ4ODAxLDIyNDg4MzMsMjI0ODg2NSwyMjQ4ODk3LDIyNDg5MjksMjI0ODk2MiwyMjQ5MDI2LDIyNDkwOTAsMjI0OTE1NCwyMjQwNzA1LDIyNDkyMTcsMjI0OTI0OSwyMjQ5MjgxLDIyNDkzMTNdKSxuZXcgVWludDMyQXJyYXkoWzEwNDg1ODU3LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMTA0OTUzOTQsNjI5MTQ1NiwyMDk4MjA5LDYyOTE0NTYsNjI5MTQ1NiwyMDk3MTUyLDYyOTE0NTYsMTA1MzEzOTRdKSxuZXcgVWludDMyQXJyYXkoWzAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDBdKSxuZXcgVWludDMyQXJyYXkoWzE0NjgwMDY0LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTczOTg1LDIxNzM5NTMsMjE0ODQ4MSwyMTczNjAxLDIxNzM2MzMsMjE3MzY2NSwyMTczNjk3LDIxNzM3MjksMjE0ODgwMSwyMTczNzYxLDIxNDM5NjksMjE3Mzc5MywyMTczODI1LDIxNTM0NzMsMjE3Mzg1NywyMTczODg5XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDIxODY5NzcsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDEwNTM3ODU4LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjIwOTYwMSwyMjA5NjMzLDIyMDk2NjUsMjIwOTY5NywyMjA5NzI5LDIyMDk3NjEsMjIwOTc5MywyMjA5ODI1LDIyMDk4NTcsMjIwOTg4OSwyMjA5OTIxLDIyMDk5NTMsMjIwOTk4NSwyMjEwMDE3LDIyMTAwNDksMjIxMDA4MV0pLG5ldyBVaW50MzJBcnJheShbMTA1MDE1MzksMTA1MDE2MzUsMTA1MDE3MzEsMTA1MDE4MjcsMTA1MDE5MjMsMTA1MDIwMTksMjA5ODIwOSwyMTExMTM3LDIxMDU1MDUsMjA5ODI0MSwyMTA4MzUzLDIxMDg0MTcsMjEwNTgyNSwyMTExNzEzLDIxMDA4OTcsMjExMTkwNV0pLG5ldyBVaW50MzJBcnJheShbMjE3MzY5NywyMTczNzI5LDIxNDg4MDEsMjE3Mzc2MSwyMTQzOTY5LDIxNzM3OTMsMjE3MzgyNSwyMTUzNDczLDIxNzM4NTcsMjE3Mzg4OSwyMTczOTIxLDIxNzM5NTMsMjE3Mzk4NSwyMTc0MDE3LDIxNzQwMTcsMjE3NDA0OV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjE5NDU2MSwyMTk0NTkzLDIxOTQ2MjUsMjExOTc3NywyMTE5ODczLDIxOTQ2NTcsMjE5NDY4OSwyMTk0NzIxLDIxOTQ3NTMsMjE5NDc4NSwyMTk0ODE3LDIxOTQ4NDksMjE5NDg4MSwyMTk0OTEzLDIxOTQ5NDUsMjE5NDk3N10pLG5ldyBVaW50MzJBcnJheShbMjExMzE1MywyMTA4NDgxLDIxMTMzNDUsMjExMzQ0MSwyMDk4MjA5LDIxMTExMzcsMjEwNTUwNSwyMDk4MjQxLDIxMDgzNTMsMjEwODQxNywyMTA1ODI1LDIxMTE3MTMsMjEwMDg5NywyMTExOTA1LDIxMDU0NzMsMjEwNTU2OV0pLG5ldyBVaW50MzJBcnJheShbMjIyMjgxOCwyMjIyODgyLDIyMjI5NDYsMjIyMzAxMCwyMjIzMDc0LDIyMjMxMzgsMjIyMzIwMiwyMjIzMjY2LDIyMjMzMzAsMjIyMzM5NCwyMjIzNDU4LDIyMjM1MjIsMjIyMzU4NiwyMjIzNjUwLDIyMjM3MTQsMjIyMzc3OF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzAsMjE3OTU1MywyMTc5NTg1LDIxNzk2MTcsMjE3OTY0OSwyMTQ0MDAxLDIxNzk2ODEsMjE3OTcxMywyMTc5NzQ1LDIxNzk3NzcsMjE3OTgwOSwyMTU2NzA1LDIxNzk4NDEsMjE1NjgzMywyMTc5ODczLDIxNzk5MDVdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsMjMwNjg2NzIsNjI5MTQ1NiwyMTQ1NjAyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1NiwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIxOTY1MTMsMjE5NjU0NSwyMTk2NTc3LDIxOTY2MDksMjE5NjY0MSwyMTk2NjczLDIxOTY3MDUsMjE5NjczNywyMTk2NzY5LDIxOTY4MDEsMjE5NjgzMywyMTk2ODY1LDIxOTY4OTcsMjE5NjkyOSwyMTk2OTYxLDIxOTY5OTNdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxNzcyODEsNjI5MTQ1NiwyMTc3MzEzLDYyOTE0NTYsMjE3NzM0NSw2MjkxNDU2LDIxNzczNzcsNjI5MTQ1NiwyMTc3NDA5LDYyOTE0NTYsMjE3NzQ0MSw2MjkxNDU2LDIxNzc0NzMsNjI5MTQ1NiwyMTc3NTA1LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxODcxMzcsMjIyMTQ3MywyMjIxNTA1LDIyMjE1MzcsMjIyMTU2OSw2MjkxNDU2LDYyOTE0NTYsMTA2MTAyMDksMTA2MTAyNDEsMTA1Mzc5ODYsMTA1Mzc5ODYsMTA1Mzc5ODYsMTA1Mzc5ODYsMTA2MDk4NTcsMTA2MDk4NTcsMTA2MDk4NTddKSxuZXcgVWludDMyQXJyYXkoWzIyNDMwMDksMjI0MzA0MSwyMjE2MDMzLDIyNDMwNzQsMjI0MzEzNywyMjQzMTY5LDIyNDMyMDEsMjIxOTYxNywyMjQzMjMzLDIyNDMyNjUsMjI0MzI5NywyMjQzMzI5LDIyNDMzNjIsMjI0MzQyNSwyMjQzNDU3LDIyNDM0ODldKSxuZXcgVWludDMyQXJyYXkoWzEwNDg1ODU3LDEwNDg1ODU3LDEwNDg1ODU3LDEwNDg1ODU3LDEwNDg1ODU3LDEwNDg1ODU3LDEwNDg1ODU3LDEwNDg1ODU3LDEwNDg1ODU3LDEwNDg1ODU3LDEwNDg1ODU3LDIwOTcxNTIsNDE5NDMwNCw0MTk0MzA0LDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjE0MzA0Miw2MjkxNDU2LDIxNDMxMDYsMjE0MzEwNiwyMTY4ODMzLDYyOTE0NTYsMjE2ODg2NSw2MjkxNDU2LDYyOTE0NTYsMjE2ODg5Nyw2MjkxNDU2LDIxNjg5MjksNjI5MTQ1NiwyMTY4OTYxLDYyOTE0NTYsMjE0MzE3MF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMjA0MTkzLDIyMDQyMjUsMjIwNDI1NywyMjA0Mjg5LDIyMDQzMjEsMjIwNDM1MywyMjA0Mzg1LDIyMDQ0MTcsMjIwNDQ0OSwyMjA0NDgxLDIyMDQ1MTMsMjIwNDU0NSwyMjA0NTc3LDIyMDQ2MDksMjIwNDY0MSwyMjA0NjczXSksbmV3IFVpbnQzMkFycmF5KFsyMjAyNzUzLDYyOTE0NTYsMjIwMjc4NSw2MjkxNDU2LDIyMDI4MTcsNjI5MTQ1NiwyMjAyODQ5LDYyOTE0NTYsMjIwMjg4MSw2MjkxNDU2LDIyMDI5MTMsNjI5MTQ1NiwyMjAyOTQ1LDYyOTE0NTYsMjIwMjk3Nyw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzIxMDgzNTMsMjEwODQxNywyMTA1ODI1LDIxMTE3MTMsMjEwMDg5NywyMTExOTA1LDIxMDU0NzMsMjEwNTU2OSwyMTA1NjAxLDIxMTIyODksMjEwODE5MywyMTEyNDgxLDIxMTI1NzcsMjA5ODE3NywyMDk4MzA1LDIxMDgzMjFdKSxuZXcgVWludDMyQXJyYXkoWzIxNDczOTQsMjE0NzQ1OCwyMTQ3NTIyLDIxNDc1ODYsMjE0NzY1MCwyMTQ3NzE0LDIxNDc3NzgsMjE0Nzg0MiwyMTQ3Mzk0LDIxNDc0NTgsMjE0NzUyMiwyMTQ3NTg2LDIxNDc2NTAsMjE0NzcxNCwyMTQ3Nzc4LDIxNDc4NDJdKSxuZXcgVWludDMyQXJyYXkoWzIyNTMzMTMsMjI1MzM0NiwyMjUzNDA5LDIyNTM0NDEsMjI1MzQ3MywyMjUzNTA1LDIyNTM1MzcsMjI1MzU2OSwyMjUzNjAxLDIyNTM2MzQsMjIxOTM5MywyMjUzNjk3LDIyNTM3MjksMjI1Mzc2MSwyMjUzNzkzLDIyNTM4MjVdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTYyNTYyLDIxNjI2MjYsMjEzMTM2MiwyMTYyNjkwLDIxNTk5MzgsMjE2MDAwMiwyMTYyNzU0LDIxNjI4MTgsMjE2MDEzMCwyMTYyODgyLDIxNjAxOTQsMjE2MDI1OCwyMTYwODM0LDIxNjA4OTgsMjE2MTAyNiwyMTYxMDkwXSksbmV3IFVpbnQzMkFycmF5KFsyMTc1MzYxLDIxNzUzOTMsMjE3NTQyNSwyMTc1NDU3LDIxNzU0ODksMjE3NTUyMSwyMTc1NTUzLDIxNzU1ODUsMjE3NTYxNywyMTc1NjQ5LDIxNzU2ODEsMjE3NTcxMywyMTc1NzQ1LDIxNzU3NzcsMjE3NTgwOSwyMTc1ODQxXSksbmV3IFVpbnQzMkFycmF5KFsyMjUzODU4LDIyNTM5MjEsMjI1Mzk1NCwyMjU0MDE4LDIyNTQwODIsMjE5NjczNywyMjU0MTQ1LDIxOTY4NjUsMjI1NDE3NywyMjU0MjA5LDIyNTQyNDEsMjI1NDI3MywyMTk3MDI1LDIyNTQzMDYsMCwwXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMjAyMTEzLDIyMDQxMjksMjE4ODcwNSwyMjA0MTYxXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTczOTg1LDIxNzQwMTcsMjE3NDAxNywyMTc0MDQ5LDIxNzQwODEsMjE3NDExMywyMTc0MTQ1LDIxNzQxNzcsMjE0OTA1NywyMjMzMDg5LDIxNzM2OTcsMjE3Mzc2MSwyMTczNzkzLDIxNzQxMTMsMjE3Mzk4NSwyMTczOTUzXSksbmV3IFVpbnQzMkFycmF5KFsyMTAxNTY5LDIxMDE2OTcsMjEwMTgyNSwyMTAxOTUzLDIxMDIwODEsMjEwMjIwOSwyMTAwODMzLDIxMDA3MzcsMjA5ODMzNywyMTAxNDQxLDIxMDE1NjksMjEwMTY5NywyMTAxODI1LDIxMDE5NTMsMjEwMjA4MSwyMTAyMjA5XSksbmV3IFVpbnQzMkFycmF5KFsyMTA4Mjg5LDIxMDA4NjUsMjExMzE1MywyMTA4NDgxLDIxMTMzNDUsMjExMzQ0MSwyMDk4MjA5LDIxMTExMzcsMjEwNTUwNSwyMDk4MjQxLDAsMjEwODQxNywwLDIxMTE3MTMsMjEwMDg5NywyMTExOTA1XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIxNzU0MjUsMjE3NTQ4OSwyMTc1ODA5LDIxNzU5MDUsMjE3NTkzNywyMTc1OTM3LDIxNzYxOTMsMjE3NjQxNywyMTgwODY1LDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjE0MzI5OCwyMTQzMjk4LDIxNDMyOTgsMjE0MzM2MiwyMTQzMzYyLDIxNDMzNjIsMjE0MzQyNiwyMTQzNDI2LDIxNDM0MjYsMjE3MTEwNSw2MjkxNDU2LDIxNzExMzddKSxuZXcgVWludDMyQXJyYXkoWzIxMjAxNjIsMjEyMDI1OCwyMTUxNjE4LDIxNTE2ODIsMjE1MTc0NiwyMTUxODEwLDIxNTE4NzQsMjE1MTkzOCwyMTUyMDAyLDIxMjAwMzUsMjEyMDEzMSwyMTIwMjI3LDIxNTIwNjYsMjEyMDMyMywyMTUyMTMwLDIxMjA0MTldKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMCwwLDAsMCwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTk1MzYxLDIxNDI0MzMsMjIzNjA2NSwyMjM2MDk3LDIyMzYxMjksMjIzNjE2MSwyMTE4MjQxLDIxMTc0NzMsMjIzNjE5MywyMjM2MjI1LDIyMzYyNTcsMjIzNjI4OSwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTg5MjgxLDYyOTE0NTYsMjE4OTMxMyw2MjkxNDU2LDIxODkzNDUsNjI5MTQ1NiwyMTg5Mzc3LDYyOTE0NTYsMjE4OTQwOSw2MjkxNDU2LDIxODk0NDEsNjI5MTQ1NiwyMTg5NDczLDYyOTE0NTYsMjE4OTUwNSw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsMjE0NTkyMiw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxNDU5ODYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMTQ2MDUwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTAwODMzLDIxMDA3MzcsMjA5ODMzNywyMTAxNDQxLDIxMDE1NjksMjEwMTY5NywyMTAxODI1LDIxMDE5NTMsMjEwMjA4MSwyMTAyMjA5LDEwNTAyMTEzLDEwNTYyMDE3LDEwNjEwNDAxLDEwNTAyMTc3LDEwNjEwNDMzLDEwNTM4MDQ5XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwyMTg2NDAxLDAsMjE4NjQzMywwLDIxODY0NjUsMCwyMTg2NDk3XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFswLDAsMjE5ODI0MSwyMTk4MjczLDIxOTgzMDUsMjE5ODMzNywyMTk4MzY5LDIxOTg0MDEsMCwwLDIxOTg0MzMsMjE5ODQ2NSwyMTk4NDk3LDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCw2MjkxNDU2LDAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMCwwXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwyMzA2ODY3Miw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFswLDIxMDU5MjEsMjA5NzcyOSwwLDIwOTczNzcsMCwwLDIxMDYwMTcsMjEzMzI4MSwyMDk3NTA1LDIxMDU4ODksMCwyMDk3Njk3LDIxMzU3NzcsMjA5NzYzMywyMDk3NDQxXSksbmV3IFVpbnQzMkFycmF5KFsyMTk3ODg5LDIxOTc5MjEsMjE5Nzk1MywyMTk3OTg1LDIxOTgwMTcsMjE5ODA0OSwyMTk4MDgxLDIxOTgxMTMsMjE5ODE0NSwyMTk4MTc3LDIxOTgyMDksMjE5ODI0MSwyMTk4MjczLDIxOTgzMDUsMjE5ODMzNywyMTk4MzY5XSksbmV3IFVpbnQzMkFycmF5KFsyMTMyNTE0LDIxMzI2MTAsMjE2MDM4NiwyMTMzMDkwLDIxMzMxODYsMjE2MDQ1MCwyMTYwNTE0LDIxMzMyODIsMjE2MDU3OCwyMTMzNTcwLDIxMDYxNzgsMjE2MDY0MiwyMTMzODU4LDIxNjA3MDYsMjE2MDc3MCwyMTM0MTQ2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMCwwLDAsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDIzMDY4NjcyLDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjE4NDczNyw2MjkxNDU2LDIxODQ3NjksNjI5MTQ1NiwyMTg0ODAxLDYyOTE0NTYsMjE4NDgzMyw2MjkxNDU2LDIxODQ4NjUsNjI5MTQ1NiwyMTg0ODk3LDYyOTE0NTYsMjE4NDkyOSw2MjkxNDU2LDIxODQ5NjEsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjE4Njc1Myw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxODY3ODUsMjE4NjgxNywyMTg2ODQ5LDIxNzM1NjksMjE4Njg4MSwxMDQ5NjM1NSwxMDQ5NTM5NSwxMDU3NTUyMV0pLG5ldyBVaW50MzJBcnJheShbMCwwLDIwOTc3MjksMCwwLDAsMCwyMTA2MDE3LDAsMjA5NzUwNSwwLDIwOTcxODUsMCwyMTM1Nzc3LDIwOTc2MzMsMjA5NzQ0MV0pLG5ldyBVaW50MzJBcnJheShbMjE4OTUzNyw2MjkxNDU2LDIxODk1NjksNjI5MTQ1NiwyMTg5NjAxLDYyOTE0NTYsMjE4OTYzMyw2MjkxNDU2LDIxODk2NjUsNjI5MTQ1NiwyMTg5Njk3LDYyOTE0NTYsMjE4OTcyOSw2MjkxNDU2LDIxODk3NjEsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjIwMjQ5Nyw2MjkxNDU2LDIyMDI1MjksNjI5MTQ1NiwyMjAyNTYxLDYyOTE0NTYsMjIwMjU5Myw2MjkxNDU2LDIyMDI2MjUsNjI5MTQ1NiwyMjAyNjU3LDYyOTE0NTYsMjIwMjY4OSw2MjkxNDU2LDIyMDI3MjEsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjI0NTIxNywyMjE4MzY5LDIyNDUyNDksMjI0NTI4MiwyMjQ1MzQ1LDIyNDUzNzcsMjI0NTQxMCwyMjQ1NDc0LDIyNDU1MzcsMjI0NTU2OSwyMjQ1NjAxLDIyNDU2MzMsMjI0NTY2NSwyMjQ1NjY1LDIyNDU2OTcsMjI0NTcyOV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1NiwwLDIzMDY4NjcyLDIzMDY4NjcyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDAsMCwwLDAsMCwwLDIzMDY4NjcyLDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDYyOTE0NTYsMjMwNjg2NzIsNjI5MTQ1NiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFswLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMDk3MjgxLDIxMDU5MjEsMjA5NzcyOSwyMTA2MDgxLDIwOTczNzcsMjA5NzYwMSwyMTYyMzM3LDIxMDYwMTcsMjEzMzI4MSwyMDk3NTA1LDAsMjA5NzE4NSwyMDk3Njk3LDIxMzU3NzcsMjA5NzYzMywyMDk3NDQxXSksbmV3IFVpbnQzMkFycmF5KFsyMTc2NjQxLDYyOTE0NTYsMjE3NjY3Myw2MjkxNDU2LDIxNzY3MDUsNjI5MTQ1NiwyMTc2NzM3LDYyOTE0NTYsMjE3Njc2OSw2MjkxNDU2LDIxNzY4MDEsNjI5MTQ1NiwyMTc2ODMzLDYyOTE0NTYsMjE3Njg2NSw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTc0MTQ1LDIxNzQxNzcsMjE0OTA1NywyMjMzMDg5LDIxNzM2OTcsMjE3Mzc2MSwyMTczNzkzLDIxNzQxMTMsMjE3Mzk4NSwyMTczOTUzLDIxNzQzNjksMjE3NDM2OSwwLDAsMjEwMDgzMywyMTAwNzM3XSksbmV3IFVpbnQzMkFycmF5KFsyMTE2NTEzLDIxOTA4MTcsMjE5MDg0OSwyMTkwODgxLDIxOTA5MTMsMjE5MDk0NSwyMTE2NjA5LDIxOTA5NzcsMjE5MTAwOSwyMTkxMDQxLDIxOTEwNzMsMjExNzE4NSwyMTkxMTA1LDIxOTExMzcsMjE5MTE2OSwyMTkxMjAxXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFswLDAsMCwwLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTY3NjE3LDIxNjc2NDksMjE2NzY4MSwyMTY3NzEzLDIxNjc3NDUsMjE2Nzc3NywyMTY3ODA5LDYyOTE0NTYsMjE2Nzg0MSwyMTY3ODczLDIxNjc5MDUsMjE2NzkzNywyMTY3OTY5LDIxNjgwMDEsMjE2ODAzMyw0MjQwMTMwXSksbmV3IFVpbnQzMkFycmF5KFsyMTY1MTIyLDIxNjM5NzAsMjE2NDAzNCwyMTY0MDk4LDIxNjQxNjIsMjE2NDIyNiwyMTY0MjkwLDIxNjQzNTQsMjE2NDQxOCwyMTY0NDgyLDIxNjQ1NDYsMjEzMzEyMiwyMTM0NTYyLDIxMzIxNjIsMjEzMjgzNCwyMTM2ODY2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMjE4NjIwOSwyMTg2MjQxLDIxODYyNzMsMjE4NjMwNSwyMTg2MzM3LDIxODYzNjksMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTEyNDgxLDIxMTI1NzcsMjA5ODE3NywyMDk4MzA1LDIxMDgzMjEsMjEwODI4OSwyMTAwODY1LDIxMTMxNTMsMjEwODQ4MSwyMTEzMzQ1LDIxMTM0NDEsMTQ2ODAwNjQsMTQ2ODAwNjQsMTQ2ODAwNjQsMTQ2ODAwNjQsMTQ2ODAwNjRdKSxuZXcgVWludDMyQXJyYXkoWzAsMCwyMzA2ODY3Miw2MjkxNDU2LDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFswLDEwNTM3OTIxLDEwNjEwNjg5LDEwNjEwMjczLDEwNjEwNDk3LDEwNjEwNTI5LDEwNjEwMzA1LDEwNjEwNzIxLDEwNDg5NjAxLDEwNDg5Njk3LDEwNjEwMzM3LDEwNTc1NjE3LDEwNTU0NTI5LDIyMjE3NjEsMjE5NzIxNywxMDQ5NjU3N10pLG5ldyBVaW50MzJBcnJheShbMjEwNTQ3MywyMTA1NTY5LDIxMDU2MDEsMjExMjI4OSwwLDIxMTI0ODEsMjExMjU3NywyMDk4MTc3LDIwOTgzMDUsMjEwODMyMSwyMTA4Mjg5LDIxMDA4NjUsMjExMzE1MywyMTA4NDgxLDIxMTMzNDUsMjExMzQ0MV0pLG5ldyBVaW50MzJBcnJheShbMjEwMDg5NywyMTExOTA1LDIxMDU0NzMsMjEwNTU2OSwyMTA1NjAxLDIxMTIyODksMjEwODE5MywyMTEyNDgxLDIxMTI1NzcsMjA5ODE3NywyMDk4MzA1LDIxMDgzMjEsMjEwODI4OSwyMTAwODY1LDIxMTMxNTMsMjEwODQ4MV0pLG5ldyBVaW50MzJBcnJheShbMjEyNTM0NiwyMTUzNDEwLDIxNTM0NzQsMjEyNzM5NCwyMTUzNTM4LDIxNTM2MDIsMjE1MzY2NiwyMTUzNzMwLDIxMDU1MDcsMjEwNTQ3NiwyMTUzNzk0LDIxNTM4NTgsMjE1MzkyMiwyMTUzOTg2LDIxNTQwNTAsMjEwNTc5NF0pLG5ldyBVaW50MzJBcnJheShbMjIwMDQ0OSwyMTE5NjgxLDIyMDA0ODEsMjE1MzMxMywyMTk5ODczLDIxOTk5MDUsMjE5OTkzNywyMjAwNTEzLDIyMDA1NDUsMjIwMDU3NywyMjAwNjA5LDIxMTkxMDUsMjExOTIwMSwyMTE5Mjk3LDIxMTkzOTMsMjExOTQ4OV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxNzU3NzcsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjIyMjI3MywyMTk3MjE3LDIyMjE0NzMsMjIyMTUwNSwyMjIxMDg5LDIyMjIzMDUsMjIwMDg2NSwyMDk5NjgxLDIxMDQ0ODEsMjIyMjMzNywyMDk5OTA1LDIxMjA3MzcsMjIyMjM2OSwyMTAzNzEzLDIxMDAyMjUsMjA5ODc4NV0pLG5ldyBVaW50MzJBcnJheShbMjIwMTM3Nyw2MjkxNDU2LDIyMDE0MDksNjI5MTQ1NiwyMjAxNDQxLDYyOTE0NTYsMjIwMTQ3Myw2MjkxNDU2LDIyMDE1MDUsNjI5MTQ1NiwyMjAxNTM3LDYyOTE0NTYsMjIwMTU2OSw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzIxNzQwODEsMjE3NDExMywyMTc0MTQ1LDIxNzQxNzcsMjE0OTA1NywyMjMzMDU3LDIxNDg0ODEsMjE3MzYwMSwyMTczNjMzLDIxNzM2NjUsMjE3MzY5NywyMTczNzI5LDIxNDg4MDEsMjE3Mzc2MSwyMTQzOTY5LDIxNzM3OTNdKSxuZXcgVWludDMyQXJyYXkoWzIyMDA4OTcsNjI5MTQ1NiwyMjAwOTI5LDYyOTE0NTYsMjIwMDk2MSw2MjkxNDU2LDIyMDA5OTMsNjI5MTQ1NiwyMjAxMDI1LDYyOTE0NTYsMjE4MDg2NSw2MjkxNDU2LDIyMDEwNTcsNjI5MTQ1NiwyMjAxMDg5LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzAsMCwwLDAsMCwyMzA2ODY3MiwyMzA2ODY3MiwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjE2MTE1NCwyMTYxNDEwLDIxMzg2NTgsMjE2MTQ3NCwyMTYxNTM4LDIwOTc2NjYsMjA5NzE4NiwyMDk3NDc0LDIxNjI5NDYsMjEzMjQ1MCwyMTYzMDEwLDIxNjMwNzQsMjEzNjE2MiwyMTYzMTM4LDIxNjE2NjYsMjE2MTczMF0pLG5ldyBVaW50MzJBcnJheShbMjE0ODQ4MSwyMTczNjAxLDIxNzM2MzMsMjE3MzY2NSwyMTczNjk3LDIxNzM3MjksMjE0ODgwMSwyMTczNzYxLDIxNDM5NjksMjE3Mzc5MywyMTczODI1LDIxNTM0NzMsMjE3Mzg1NywyMTczODg5LDIxNzM5MjEsMjE3Mzk1M10pLG5ldyBVaW50MzJBcnJheShbMCwwLDAsMCwwLDAsMjMwNjg2NzIsMjMwNjg2NzIsMCwwLDAsMCwyMTQ1NDEwLDIxNDU0NzQsMCw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMjQ0MTYxLDIyMTYwNjUsMjIxMjc2OSwyMjQ0MTkzLDIyNDQyMjUsMjI0NDI1NywyMjQ0MjkwLDIyNDQzNTMsMjI0NDM4NSwyMjQ0NDE3LDIyNDQ0NDksMjIxODI3MywyMjQ0NDgxLDIyNDQ1MTQsMjI0NDU3NywyMjQ0NjA5XSksbmV3IFVpbnQzMkFycmF5KFsyMTI1NzMwLDIxMjU2OTksMjEyNTc5NSwyMTI1ODkxLDIxMjU5ODcsMjE1NDExNCwyMTU0MTc4LDIxNTQyNDIsMjE1NDMwNiwyMTU0MzcwLDIxNTQ0MzQsMjE1NDQ5OCwyMTI2MDgyLDIxMjYxNzgsMjEyNjI3NCwyMTI2MDgzXSksbmV3IFVpbnQzMkFycmF5KFsyMjM3NjY1LDIyMzc2OTcsMjIzNzY5NywyMjM3Njk3LDIyMzc3MzAsMjIzNzc5MywyMjM3ODI1LDIyMzc4NTcsMjIzNzg5MCwyMjM3OTUzLDIyMzc5ODUsMjIzODAxNywyMjM4MDQ5LDIyMzgwODEsMjIzODExMywyMjM4MTQ1XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMTUwMTQ2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDAsMjMwNjg2NzIsMjMwNjg2NzIsMCwwLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjIxNDM2OSwyMjM4NTkzLDIyMzg2MjUsMjIzODY1NywyMjM4Njg5LDIyMzg3MjEsMjIzODc1MywyMjM4Nzg1LDIyMzg4MTcsMjIzODg1MCwyMjM4OTEzLDIyMzg5NDUsMjIzODk3NywyMjM1NDU3LDIyMzkwMDksMjIzOTA0MV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjI1MjA2NiwyMjUyMTMwLDIyNTIxOTMsMjI1MjIyNSwyMjUyMjU3LDIyNTIyOTAsMjI1MjM1MywyMjUyMzg1LDIyNTI0MTcsMjI1MjQ0OSwyMjUyNDgxLDIyNTI1MTMsMjI1MjU0NSwyMjUyNTc4LDIyNTI2NDEsMjI1MjY3M10pLG5ldyBVaW50MzJBcnJheShbMjE5NzY5NywyMTE0MTEzLDIxMTQyMDksMjE5NzcyOSwyMTk3NzYxLDIxMTQzMDUsMjE5Nzc5MywyMTE0NDAxLDIxMTQ0OTcsMjE5NzgyNSwyMTE0NTkzLDIxMTQ2ODksMjExNDc4NSwyMTE0ODgxLDIxMTQ5NzcsMjE5Nzg1N10pLG5ldyBVaW50MzJBcnJheShbMjIyNDg2NiwyMjI0OTMwLDIyMjQ5OTQsMjIyNTA1OCwyMjI1MTIyLDIyMjUxODYsMjIyNTI1MCwyMjI1MzE0LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjIxOTQ5MCwyMjE5NTU0LDIyMTk2MTcsMjIxOTY0OSwyMjE5NjgxLDIyMTk3MTQsMjIxOTc3OCwyMjE5ODQyLDIyMTk5MDUsMjIxOTkzNywwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjExMzM0NSwyMTEzNDQxLDIwOTgyMDksMjExMTEzNywyMTA1NTA1LDIwOTgyNDEsMjEwODM1MywyMTA4NDE3LDIxMDU4MjUsMjExMTcxMywyMTAwODk3LDIxMTE5MDUsMjEwNTQ3MywyMTA1NTY5LDIxMDU2MDEsMjExMjI4OV0pLG5ldyBVaW50MzJBcnJheShbMjE3NDA4MSwyMTc0MTEzLDIxNzQxNDUsMjE3NDE3NywyMTQ5MDU3LDIyMzMwODksMjE3MzY5NywyMTczNzYxLDIxNzM3OTMsMjE3NDExMywyMTczOTg1LDIxNzM5NTMsMjE0ODQ4MSwyMTczNjAxLDIxNzM2MzMsMjE3MzY2NV0pLG5ldyBVaW50MzJBcnJheShbMjIyMDE2MSwyMjIwMTYxLDIyMjAxOTMsMjIyMDE5MywyMjIwMTkzLDIyMjAxOTMsMjIyMDIyNSwyMjIwMjI1LDIyMjAyMjUsMjIyMDIyNSwyMjIwMjU3LDIyMjAyNTcsMjIyMDI1NywyMjIwMjU3LDIyMjAyODksMjIyMDI4OV0pLG5ldyBVaW50MzJBcnJheShbMjE5MjY3MywyMTkyNzA1LDIxOTI3MzcsMjE5Mjc2OSwyMTkyODAxLDIxOTI4MzMsMjE5Mjg2NSwyMTE4MDQ5LDIxOTI4OTcsMjExNzQ3MywyMTE3NzYxLDIxOTI5MjksMjE5Mjk2MSwyMTkyOTkzLDIxOTMwMjUsMjE5MzA1N10pLG5ldyBVaW50MzJBcnJheShbMjE3OTI5Nyw2MjkxNDU2LDIxNzkzMjksNjI5MTQ1NiwyMTc5MzYxLDYyOTE0NTYsMjE3OTM5Myw2MjkxNDU2LDIxNzk0MjUsNjI5MTQ1NiwyMTc5NDU3LDYyOTE0NTYsMjE3OTQ4OSw2MjkxNDU2LDIxNzk1MjEsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIyMzU3NDUsMjIzNTc3NywyMTkzNjMzLDIyMzU4MDksMjIzNTg0MSwyMjM1ODczLDIyMzU5MDUsMjIzNTkzNywyMjM1OTY5LDIxMTY1MTMsMjExNjcwNSwyMjM2MDAxLDIyMDA1MTMsMjE5OTkwNSwyMjAwNTQ1LDIyMzYwMzNdKSxuZXcgVWludDMyQXJyYXkoWzIxMTMxNTMsMjEwODQ4MSwyMTEzMzQ1LDIxMTM0NDEsMjIzMjk5MywyMjMzMDI1LDAsMCwyMTQ4NDgxLDIxNzM2MDEsMjE3MzYzMywyMTczNjY1LDIxNzM2OTcsMjE3MzcyOSwyMTQ4ODAxLDIxNzM3NjFdKSxuZXcgVWludDMyQXJyYXkoWzIxNzA1OTMsNjI5MTQ1NiwyMTcwNjI1LDYyOTE0NTYsMjE3MDY1Nyw2MjkxNDU2LDIxNzA2ODksMjE3MDcyMSw2MjkxNDU2LDIxNzA3NTMsNjI5MTQ1Niw2MjkxNDU2LDIxNzA3ODUsNjI5MTQ1NiwyMTcwODE3LDIxNzA4NDldKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjE2Njc4NiwyMTY2ODUwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDYyOTE0NTYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTAwODMzLDIxMDA3MzcsMjA5ODMzNywyMTAxNDQxLDIxMDE1NjksMjEwMTY5NywyMTAxODI1LDIxMDE5NTMsMjEwMjA4MSwyMTAyMjA5LDEwNTc1NjE3LDIxODcwNDEsMTA1MDIxNzcsMTA0ODk2MDEsMTA0ODk2OTcsMF0pLG5ldyBVaW50MzJBcnJheShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjEzNDU2MiwyMTMyMTYyLDIxMzI4MzQsMjEzNjg2NiwyMTM2NDgyLDIxNjQ2MTAsMjE2NDY3NCwyMTY0NzM4LDIxNjQ4MDIsMjEzMjgwMiwyMTMyNzA2LDIxNjQ4NjYsMjEzMjg5OCwyMTY0OTMwLDIxNjQ5OTQsMjE2NTA1OF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDIwOTgzMzcsMjEwMTQ0MSwxMDUzMTQ1OCwyMTUzNDczLDYyOTE0NTYsNjI5MTQ1NiwxMDUzMTUyMiwyMTAwNzM3LDIxMDgxOTMsNjI5MTQ1NiwyMTA2NDk5LDIxMDY1OTUsMjEwNjY5MSw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjIzMzEyMiwyMjMzMTg2LDIyMzMyNTAsMjIzMzMxNCwyMjMzMzc4LDIyMzM0NDIsMjIzMzUwNiwyMjMzNTcwLDIyMzM2MzQsMjIzMzY5OCwyMjMzNzYyLDIyMzM4MjYsMjIzMzg5MCwyMjMzOTU0LDIyMzQwMTgsMjIzNDA4Ml0pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMjA1MjE3LDIyMDUyNDksMjIwNTI4MSwyMjA1MzEzLDIyMDUzNDUsMjIwNTM3NywyMjA1NDA5LDIyMDU0NDEsMjIwNTQ3MywyMjA1NTA1LDIyMDU1MzcsMjIwNTU2OSwyMjA1NjAxLDIyMDU2MzMsMjIwNTY2NSwyMjA1Njk3XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDAsNjI5MTQ1NiwwLDAsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwyMzA2ODY3Miw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFsyMTczNjAxLDIxNzM3NjEsMjE3NDA4MSwyMTczNTY5LDIxNzQyNDEsMjE3NDExMywyMTczOTUzLDYyOTE0NTYsMjE3NDMwNSw2MjkxNDU2LDIxNzQzMzcsNjI5MTQ1NiwyMTc0MzY5LDYyOTE0NTYsMjE3NDQwMSw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTUyNDUwLDIxNTI1MTQsMjA5OTY1MywyMTA0NDUyLDIwOTk4MTMsMjEyMjI0MywyMDk5OTczLDIxNTI1NzgsMjEyMjMzOSwyMTIyNDM1LDIxMjI1MzEsMjEyMjYyNywyMTIyNzIzLDIxMDQ1ODAsMjEyMjgxOSwyMTUyNjQyXSksbmV3IFVpbnQzMkFycmF5KFsyMjM2Mzg1LDIyMzY0MTcsMjIzNjQ0OSwyMjM2NDgyLDIyMzY1NDUsMjIxNTQyNSwyMjM2NTc3LDIyMzY2MDksMjIzNjY0MSwyMjM2NjczLDIyMTU0NTcsMjIzNjcwNSwyMjM2NzM3LDIyMzY3NzAsMjIxNTQ4OSwyMjM2ODMzXSksbmV3IFVpbnQzMkFycmF5KFsyMTYzMzk0LDIxNTk3NDYsMjE2MzQ1OCwyMTMxMzYyLDIxNjM1MjIsMjE2MDEzMCwyMTYzNzc4LDIxMzIyMjYsMjE2Mzg0MiwyMTMyODk4LDIxNjM5MDYsMjE2MTQxMCwyMTM4NjU4LDIwOTc2NjYsMjEzNjE2MiwyMTYzNjUwXSksbmV3IFVpbnQzMkFycmF5KFsyMjE4NzIxLDIyNDY5MTMsMjI0Njk0NiwyMjE2Mzg1LDIyNDcwMTAsMjI0NzA3NCwyMjE1MDA5LDIyNDcxMzcsMjI0NzE2OSwyMjE2NDgxLDIyNDcyMDEsMjI0NzIzMywyMjQ3MjY2LDIyNDczMzAsMjI0NzMzMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTI5NzMwLDIxMjk3NjIsMjEyOTg1OCwyMTI5NzMxLDIxMjk4MjcsMjE1NjQ4MiwyMTU2NDgyLDAsMCwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsMCwwLDAsMCwwLDYyOTE0NTYsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMjAzOTY5LDIyMDQwMDEsMjE4MTM3NywyMjA0MDMzLDIyMDQwNjUsNjI5MTQ1NiwyMjA0MDk3LDYyOTE0NTYsMCwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTY5NDczLDYyOTE0NTYsMjE2OTUwNSw2MjkxNDU2LDIxNjk1MzcsNjI5MTQ1NiwyMTY5NTY5LDYyOTE0NTYsMjE2OTYwMSw2MjkxNDU2LDIxNjk2MzMsNjI5MTQ1NiwyMTY5NjY1LDYyOTE0NTYsMjE2OTY5Nyw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTQxNTQyLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMjIwODAxLDIyMjA4MDEsMjIyMDgwMSwyMjIwODAxLDIyMjA4MzMsMjIyMDgzMywyMjIwODY1LDIyMjA4NjUsMjIyMDg2NSwyMjIwODY1LDIyMjA4OTcsMjIyMDg5NywyMjIwODk3LDIyMjA4OTcsMjEzOTg3MywyMTM5ODczXSksbmV3IFVpbnQzMkFycmF5KFswLDAsMCwwLDAsMjMwNjg2NzIsMjMwNjg2NzIsMCwwLDAsMCwwLDAsMCw2MjkxNDU2LDBdKSxuZXcgVWludDMyQXJyYXkoWzIyMTQ4NDksMjIxODQzMywyMjE4NDY1LDIyMTg0OTcsMjIxODUyOSwyMjE4NTYxLDIyMTQ4ODEsMjIxODU5MywyMjE4NjI1LDIyMTg2NTcsMjIxODY4OSwyMjE4NzIxLDIyMTg3NTMsMjIxNjU0NSwyMjE4Nzg1LDIyMTg4MTddKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTM2NDgyLDIxNjQ2MTAsMjE2NDY3NCwyMTY0NzM4LDIxNjQ4MDIsMjEzMjgwMiwyMTMyNzA2LDIxNjQ4NjYsMjEzMjg5OCwyMTY0OTMwLDIxNjQ5OTQsMjE2NTA1OCwyMTY1MTIyLDIxMzI4MDIsMjEzMjcwNiwyMTY0ODY2XSksbmV3IFVpbnQzMkFycmF5KFsyMjA3NjQ5LDIyMDc2ODEsMjIwNzcxMywyMjA3NzQ1LDIyMDc3NzcsMjIwNzgwOSwyMjA3ODQxLDIyMDc4NzMsMjIwNzkwNSwyMjA3OTM3LDIyMDc5NjksMjIwODAwMSwyMjA4MDMzLDIyMDgwNjUsMjIwODA5NywyMjA4MTI5XSksbmV3IFVpbnQzMkFycmF5KFsyMTIzNjgzLDIxMDUwOTIsMjE1MjcwNiwyMTIzNzc5LDIxMDUyMjAsMjE1Mjc3MCwyMTAwNDUzLDIwOTg3NTUsMjEyMzkwNiwyMTI0MDAyLDIxMjQwOTgsMjEyNDE5NCwyMTI0MjkwLDIxMjQzODYsMjEyNDQ4MiwyMTI0NTc4XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDYyOTE0NTYsMCwwLDAsMCwwLDAsMCwxMDQ4NTg1N10pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbMTA1MDgxNjMsMTA1MDgyNTksMTA1MDgzNTUsMTA1MDg0NTEsMjIwMDEyOSwyMjAwMTYxLDIxOTI3MzcsMjIwMDE5Myw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIyMDM1NTMsNjI5MTQ1NiwyMjAzNTg1LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIyMDM2MTcsNjI5MTQ1NiwyMjAzNjQ5LDYyOTE0NTYsMjIwMzY4MSw2MjkxNDU2LDIyMDM3MTMsNjI5MTQ1NiwyMjAzNzQ1LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzE4ODg0NDQ5LDE4ODg0MDY1LDIzMDY4NjcyLDE4ODg0NDE3LDE4ODg0MDM0LDE4OTIxMTg1LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDE4ODc0MzY4XSksbmV3IFVpbnQzMkFycmF5KFsyMjQ3MzkzLDIyNDc0MjYsMjI0NzQ4OSwyMjQ3NTIxLDIyNDc1NTMsMjI0NzU4NiwyMjQ3NjQ5LDIyNDc2ODEsMjI0NzcxMywyMjQ3NzQ1LDIyNDc3NzcsMjI0NzgxMCwyMjQ3ODczLDIyNDc5MDUsMjI0NzkzNywyMjQ3OTY5XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1NiwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbMjEzNDE0NSwyMDk3MTUzLDIxMzQyNDEsMCwyMTMyNzA1LDIxMzA5NzcsMjE2MDA2NSwyMTMxMjk3LDAsMjEzMzA4OSwyMTYwNTc3LDIxMzM4NTcsMjIzNTI5NywwLDIyMzUzMjksMF0pLG5ldyBVaW50MzJBcnJheShbMjE4MjU5Myw2MjkxNDU2LDIxODI2MjUsNjI5MTQ1NiwyMTgyNjU3LDYyOTE0NTYsMjE4MjY4OSw2MjkxNDU2LDIxODI3MjEsNjI5MTQ1NiwyMTgyNzUzLDYyOTE0NTYsMjE4Mjc4NSw2MjkxNDU2LDIxODI4MTcsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjEwMjQwMiwyMTAyNDAzLDYyOTE0NTYsMjExMDA1MF0pLG5ldyBVaW50MzJBcnJheShbMjE0OTg5MCwyMTA4MzIzLDIxNDk5NTQsNjI5MTQ1NiwyMTEzNDQxLDYyOTE0NTYsMjE0OTA1Nyw2MjkxNDU2LDIxMTM0NDEsNjI5MTQ1NiwyMTA1NDczLDIxNjcyNjUsMjExMTEzNywyMTA1NTA1LDYyOTE0NTYsMjEwODM1M10pLG5ldyBVaW50MzJBcnJheShbMjIxOTEwNSwyMjE5MTM3LDIxOTUyMzMsMjI1MTU1NCwyMjUxNjE3LDIyNTE2NDksMjI1MTY4MSwyMjUxNzEzLDIyNTE3NDYsMjI1MTgxMCwyMjUxODczLDIyNTE5MDUsMjI1MTkzNywyMjUxOTcwLDIyNTIwMzMsMjIxOTE2OV0pLG5ldyBVaW50MzJBcnJheShbMjIwMzAwOSw2MjkxNDU2LDIyMDMwNDEsNjI5MTQ1NiwyMjAzMDczLDYyOTE0NTYsMjIwMzEwNSw2MjkxNDU2LDIyMDMxMzcsNjI5MTQ1NiwyMjAzMTY5LDYyOTE0NTYsMjIwMzIwMSw2MjkxNDU2LDIyMDMyMzMsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjEyODE5NSwyMTI4MjkxLDIxMjgzODcsMjEyODQ4MywyMTI4NTc5LDIxMjg2NzUsMjEyODc3MSwyMTI4ODY3LDIxMjg5NjMsMjEyOTA1OSwyMTI5MTU1LDIxMjkyNTEsMjEyOTM0NywyMTI5NDQzLDIxMjk1MzksMjEyOTYzNV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxNDA5NjQsMjE0MTE1NiwyMTQwOTY2LDIxNDExNTgsMjE0MTM1MF0pLG5ldyBVaW50MzJBcnJheShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFsyMjI1Mzc4LDIyMjU0NDIsMjIyNTUwNiwyMjI1NTcwLDIyMjU2MzQsMjIyNTY5OCwyMjI1NzYyLDIyMjU4MjYsMjIyNTg5MCwyMjI1OTU0LDIyMjYwMTgsMjIyNjA4MiwyMjI2MTQ2LDIyMjYyMTAsMjIyNjI3NCwyMjI2MzM4XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTEyNTc3LDIwOTgxNzcsMjA5ODMwNSwyMTA4MzIxLDIxMDgyODksMjEwMDg2NSwyMTEzMTUzLDIxMDg0ODEsMjExMzM0NSwyMTEzNDQxLDIwOTgyMDksMjExMTEzNywyMTA1NTA1LDIwOTgyNDEsMjEwODM1MywyMTA4NDE3XSksbmV3IFVpbnQzMkFycmF5KFsyMTA4MzUzLDIxMDg0MTcsMCwyMTA1NjAxLDIxMDgxOTMsMjE1NzEyMSwyMTU3MzEzLDIxNTczNzcsMjE1NzQ0MSwyMTAwODk3LDYyOTE0NTYsMjEwODQxOSwyMTczOTUzLDIxNzM2MzMsMjE3MzYzMywyMTczOTUzXSksbmV3IFVpbnQzMkFycmF5KFsyMTExNzEzLDIxNzMxMjEsMjExMTkwNSwyMDk4MTc3LDIxNzMxNTMsMjE3MzE4NSwyMTczMjE3LDIxMTMxNTMsMjExMzM0NSw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMTkwNzUzXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMTk3MjQ5LDYyOTE0NTYsMjExNzM3NywyMTk3MjgxLDIxOTczMTMsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDAsMCwwLDAsMCwwLDIzMDY4NjcyLDAsMCwwLDAsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjA5ODMzNywyMTAxNDQxLDIxMDE1NjksMjEwMTY5NywyMTAxODI1LDIxMDE5NTMsMjEwMjA4MSwyMTAyMjA5LDIxMDA4MzMsMjEwMDczNywyMDk4MzM3LDIxMDE0NDEsMjEwMTU2OSwyMTAxNjk3LDIxMDE4MjUsMjEwMTk1M10pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzAsMCwwLDAsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzIxNzMyODEsNjI5MTQ1NiwyMTczMzEzLDYyOTE0NTYsMjE3MzM0NSw2MjkxNDU2LDIxNzMzNzcsNjI5MTQ1NiwwLDAsMTA1MzI1NDYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMTA1NjIwMTcsMjE3MzQ0MV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjE1OTQyNiwyMTU5NDkwLDIxNTk1NTQsMjE1OTM2MiwyMTU5NjE4LDIxNTk2ODIsMjEzOTUyMiwyMTM2NDUwLDIxNTk3NDYsMjE1OTgxMCwyMTU5ODc0LDIxMzA5NzgsMjEzMTA3NCwyMTMxMjY2LDIxMzEzNjIsMjE1OTkzOF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjIwMzIzMyw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjIwMzI2NSw2MjkxNDU2LDIyMDMyOTcsNjI5MTQ1NiwyMjAzMzI5LDIyMDMzNjEsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDIxNDg0MTgsMjE0ODQ4MiwyMTQ4NTQ2LDAsNjI5MTQ1NiwyMTQ4NjEwLDIxODY1MjksMjE4NjU2MSwyMTQ4NDE3LDIxNDg1NDUsMjE0ODQ4MiwxMDQ5NTc3OCwyMTQzOTY5LDEwNDk1Nzc4XSksbmV3IFVpbnQzMkFycmF5KFsyMTM0MTQ2LDIxMzk0MjYsMjE2MDk2MiwyMTM0MjQyLDIxNjEyMTgsMjE2MTI4MiwyMTYxMzQ2LDIxNjE0MTAsMjEzODY1OCwyMTM0NzIyLDIxMzQ0MzQsMjEzNDgxOCwyMDk3NjY2LDIwOTczNDYsMjA5NzY5OCwyMTA1OTg2XSksbmV3IFVpbnQzMkFycmF5KFsyMTk4ODgxLDIxOTg5MTMsMjE5ODk0NSwyMTk4OTc3LDIxOTkwMDksMjE5OTA0MSwyMTk5MDczLDIxOTkxMDUsMjE5OTEzNywyMTk5MTY5LDIxOTkyMDEsMjE5OTIzMywyMTk5MjY1LDIxOTkyOTcsMjE5OTMyOSwyMTk5MzYxXSksbmV3IFVpbnQzMkFycmF5KFswLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsxMDYxMDU2MSwyMDk4MjA5LDIxMTExMzcsMjEwNTUwNSwyMDk4MjQxLDIxMDgzNTMsMjEwODQxNywyMTA1ODI1LDIxMTE3MTMsMjEwMDg5NywyMTExOTA1LDIxMDU0NzMsMjEwNTU2OSwyMTA1NjAxLDIxMTIyODksMjEwODE5M10pLG5ldyBVaW50MzJBcnJheShbMjE4Mzg3Myw2MjkxNDU2LDIxODM5MDUsNjI5MTQ1NiwyMTgzOTM3LDYyOTE0NTYsMjE4Mzk2OSw2MjkxNDU2LDIxODQwMDEsNjI5MTQ1NiwyMTg0MDMzLDYyOTE0NTYsMjE4NDA2NSw2MjkxNDU2LDIxODQwOTcsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjI0NDY0MiwyMjQ0NzA2LDIyNDQ3NjksMjI0NDgwMSwyMjE4MzA1LDIyNDQ4MzMsMjI0NDg2NSwyMjQ0ODk3LDIyNDQ5MjksMjI0NDk2MSwyMjQ0OTkzLDIyNDUwMjYsMjI0NTA4OSwyMjQ1MTIyLDIyNDUxODUsMF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDIxMTY1MTMsMjExNjYwOSwyMTE2NzA1LDIxMTY4MDEsMjE5OTg3MywyMTk5OTA1LDIxOTk5MzcsMjE5OTk2OSwyMTkwOTEzLDIyMDAwMDEsMjIwMDAzMywyMjAwMDY1LDIyMDAwOTcsMjE5MTAwOV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDIxODA2NzMsMjE4MDcwNSwyMTgwNzM3LDIxODA3NjksMjE4MDgwMSwyMTgwODMzLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjA5ODA4MSwyMDk5NTIxLDIwOTkxMDUsMjEyMDcwNSwyMDk4MzY5LDIxMjA4MDEsMjEwMzM2MSwyMDk3OTg1LDIwOTg0MzMsMjEyMTM3NywyMTIxNDczLDIwOTkxNjksMjA5OTg3MywyMDk4NDAxLDIwOTkzOTMsMjE1MjYwOV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjE1MDQwMl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMjE0NTY2NiwyMTQ1NzMwLDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjE3MzkyMSwyMTczOTUzLDIxNzM5ODUsMjE3Mzc2MSwyMTc0MDE3LDIxNzQwNDksMjE3NDA4MSwyMTc0MTEzLDIxNzQxNDUsMjE3NDE3NywyMTQ5MDU3LDIyMzMwNTcsMjE0ODQ4MSwyMTczNjAxLDIxNzM2MzMsMjE3MzY2NV0pLG5ldyBVaW50MzJBcnJheShbMjE4NzA3Myw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIwOTgyNDEsMjA5ODI0MSwyMTA4MzUzLDIxMDA4OTcsMjExMTkwNSw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjEwMjQwNCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMTAwNjEyLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMTA0ODU4NTddKSxuZXcgVWludDMyQXJyYXkoWzIxNDkwNTcsMjIzMzA1NywyMTQ4NDgxLDIxNzM2MDEsMjE3MzYzMywyMTczNjY1LDIxNzM2OTcsMjE3MzcyOSwyMTQ4ODAxLDIxNzM3NjEsMjE0Mzk2OSwyMTczNzkzLDIxNzM4MjUsMjE1MzQ3MywyMTczODU3LDIxNzM4ODldKSxuZXcgVWludDMyQXJyYXkoWzIyMTc2OTcsMjIxNzcyOSwyMjE3NzYxLDIyMTc3OTMsMjIxNzgyNSwyMjE3ODU3LDIyMTc4ODksMjIxNzkyMSwyMjE3OTUzLDIyMTU4NzMsMjIxNzk4NSwyMjE1OTA1LDIyMTgwMTcsMjIxODA0OSwyMjE4MDgxLDIyMTgxMTNdKSxuZXcgVWludDMyQXJyYXkoWzIyMTEyMzMsMjIxODg0OSwyMjE2NjczLDIyMTg4ODEsMjIxODkxMywyMjE4OTQ1LDIyMTg5NzcsMjIxOTAwOSwyMjE2ODMzLDIyMTkwNDEsMjIxNTEzNywyMjE5MDczLDIyMTY4NjUsMjIwOTUwNSwyMjE5MTA1LDIyMTY4OTddKSxuZXcgVWludDMyQXJyYXkoWzIyNDAwOTcsMjI0MDEyOSwyMjQwMTYxLDIyNDAxOTMsMjI0MDIyNSwyMjQwMjU3LDIyNDAyODksMjI0MDMyMSwyMjQwMzUzLDIyNDAzODYsMjI0MDQ0OSwyMjQwNDgxLDIyNDA1MTMsMjI0MDU0NSwyMjA3OTA1LDIyNDA1NzhdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1NiwyMjAyMjczLDYyOTE0NTYsMjIwMjMwNSw2MjkxNDU2LDIyMDIzMzcsNjI5MTQ1NiwyMjAyMzY5LDYyOTE0NTYsMjIwMjQwMSw2MjkxNDU2LDIyMDI0MzMsNjI5MTQ1NiwyMjAyNDY1LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzAsMjMwNjg2NzIsMjMwNjg2NzIsMTg5MjMzOTQsMjMwNjg2NzIsMTg5MjM0NTgsMTg5MjM1MjIsMTg4ODQwOTksMTg5MjM1ODYsMTg4ODQxOTUsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzIyMDExMjEsNjI5MTQ1NiwyMjAxMTUzLDYyOTE0NTYsMjIwMTE4NSw2MjkxNDU2LDIyMDEyMTcsNjI5MTQ1NiwyMjAxMjQ5LDYyOTE0NTYsMjIwMTI4MSw2MjkxNDU2LDIyMDEzMTMsNjI5MTQ1NiwyMjAxMzQ1LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMCw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIyMTEwNDEsMjIxMTA3MywyMjExMTA1LDIyMTExMzcsMjIxMTE2OSwyMjExMjAxLDIyMTEyMzMsMjIxMTI2NSwyMjExMjk3LDIyMTEzMjksMjIxMTM2MSwyMjExMzkzLDIyMTE0MjUsMjIxMTQ1NywyMjExNDg5LDIyMTE1MjFdKSxuZXcgVWludDMyQXJyYXkoWzIxODE4MjUsNjI5MTQ1NiwyMTgxODU3LDYyOTE0NTYsMjE4MTg4OSw2MjkxNDU2LDIxODE5MjEsNjI5MTQ1NiwyMTgxOTUzLDYyOTE0NTYsMjE4MTk4NSw2MjkxNDU2LDIxODIwMTcsNjI5MTQ1NiwyMTgyMDQ5LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxNjIzMzcsMjA5NzYzMywyMDk3NjMzLDIwOTc2MzMsMjA5NzYzMywyMTMyNzA1LDIxMzI3MDUsMjEzMjcwNSwyMTMyNzA1LDIwOTcxNTMsMjA5NzE1MywyMDk3MTUzLDIwOTcxNTMsMjEzMzA4OSwyMTMzMDg5LDIxMzMwODldKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsMjE0ODU0NSw2MjkxNDU2LDIxNzM0NzMsNjI5MTQ1NiwyMTQ4ODY1LDYyOTE0NTYsMjE3MzUwNSw2MjkxNDU2LDIxNzM1MzcsNjI5MTQ1NiwyMTczNTY5LDYyOTE0NTYsMjE0OTEyMSwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIxNDg4MDEsMjE3Mzc2MSwyMTQzOTY5LDIxNzM3OTMsMjE3MzgyNSwyMTUzNDczLDIxNzM4NTcsMjE3Mzg4OSwyMTczOTIxLDIxNzM5NTMsMjE3Mzk4NSwyMTc0MDE3LDIxNzQwMTcsMjE3NDA0OSwyMTc0MDgxLDIxNzQxMTNdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzIyMDcxMzcsMjIwNzE2OSwyMjA3MjAxLDIyMDcyMzMsMjIwNzI2NSwyMjA3Mjk3LDIyMDczMjksMjIwNzM2MSwyMjA3MzkzLDIyMDc0MjUsMjIwNzQ1NywyMjA3NDg5LDIyMDc1MjEsMjIwNzU1MywyMjA3NTg1LDIyMDc2MTddKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsMCwyMzA2ODY3MiwyMzA2ODY3MiwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjE5ODQwMSwyMTk4NDMzLDIxOTg0NjUsMjE5ODQ5NywwLDIxOTg1MjksMjE5ODU2MSwyMTk4NTkzLDIxOTg2MjUsMjE5ODY1NywyMTk4Njg5LDIxOTg3MjEsMjE5ODc1MywyMTk4Nzg1LDIxOTg4MTcsMjE5ODg0OV0pLG5ldyBVaW50MzJBcnJheShbMjEwNTUwNSwyMDk4MjQxLDIxMDgzNTMsMjEwODQxNywyMTA1ODI1LDIxMTE3MTMsMjEwMDg5NywyMTExOTA1LDIxMDU0NzMsMjEwNTU2OSwyMTA1NjAxLDIxMTIyODksMjEwODE5MywyMTEyNDgxLDIxMTI1NzcsMjA5ODE3N10pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMjE2Mzg1LDIxMTg3MjEsMjIxNjQxNywyMjE2NDQ5LDIyMTY0ODEsMjIxNjUxMywyMjE2NTQ1LDIyMTEyMzMsMjIxNjU3NywyMjE2NjA5LDIyMTY2NDEsMjIxNjY3MywyMjE2NzA1LDIyMTY3MzcsMjIxNjczNywyMjE2NzY5XSksbmV3IFVpbnQzMkFycmF5KFsyMjE2ODAxLDIyMTY4MzMsMjIxNjg2NSwyMjE2ODk3LDIyMTY5MjksMjIxNjk2MSwyMjE2OTkzLDIyMTUxNjksMjIxNzAyNSwyMjE3MDU3LDIyMTcwODksMjIxNzEyMSwyMjE3MTU0LDIyMTcyMTcsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMjEwNTkzLDIxOTE4MDksMjIxMDYyNSwyMjEwNjU3LDIyMTA2ODksMjIxMDcyMSwyMjEwNzUzLDIyMTA3ODUsMjIxMDgxNywyMjEwODQ5LDIxOTEyOTcsMjIxMDg4MSwyMjEwOTEzLDIyMTA5NDUsMjIxMDk3NywyMjExMDA5XSksbmV3IFVpbnQzMkFycmF5KFswLDAsMjEwNTgyNSwwLDAsMjExMTkwNSwyMTA1NDczLDAsMCwyMTEyMjg5LDIxMDgxOTMsMjExMjQ4MSwyMTEyNTc3LDAsMjA5ODMwNSwyMTA4MzIxXSksbmV3IFVpbnQzMkFycmF5KFswLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFswLDIwOTcxNTMsMjEzNDI0MSwwLDIxMzI3MDUsMCwwLDIxMzEyOTcsMCwyMTMzMDg5LDAsMjEzMzg1NywwLDIyMjA3NjksMCwyMjM1MzYxXSksbmV3IFVpbnQzMkFycmF5KFsxNDY4MDA2NCwxNDY4MDA2NCwxNDY4MDA2NCwxNDY4MDA2NCwxNDY4MDA2NCwxNDY4MDA2NCwxNDY4MDA2NCwxNDY4MDA2NCwxNDY4MDA2NCwxNDY4MDA2NCwxNDY4MDA2NCwxNDY4MDA2NCwxNDY4MDA2NCw2MjkxNDU2LDYyOTE0NTYsMTQ2ODAwNjRdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjE3MTg3Myw2MjkxNDU2LDIxNzE5MDUsNjI5MTQ1NiwyMTcxOTM3LDYyOTE0NTYsMjE3MTk2OSw2MjkxNDU2LDIxNzIwMDEsNjI5MTQ1NiwyMTcyMDMzLDYyOTE0NTYsMjE3MjA2NSw2MjkxNDU2LDIxNzIwOTcsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjIyMDkyOSwyMjIwOTI5LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjEzMzg1NywyMTM0MTQ1LDIxMzQxNDUsMjEzNDE0NSwyMTM0MTQ1LDIxMzQyNDEsMjEzNDI0MSwyMTM0MjQxLDIxMzQyNDEsMjEwNTg4OSwyMTA1ODg5LDIxMDU4ODksMjEwNTg4OSwyMDk3MTg1LDIwOTcxODUsMjA5NzE4NV0pLG5ldyBVaW50MzJBcnJheShbMjE3MzY5NywyMTczNzYxLDIxNzM3OTMsMjE3NDExMywyMTczOTg1LDIxNzM5NTMsMjE0ODQ4MSwyMTczNjAxLDIxNzM2MzMsMjE3MzY2NSwyMTczNjk3LDIxNzM3MjksMjE0ODgwMSwyMTczNzYxLDIxNDM5NjksMjE3Mzc5M10pLG5ldyBVaW50MzJBcnJheShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTA0OTk2MTksMTA0OTk3MTUsMTA0OTk4MTEsMTA0OTk5MDddKSxuZXcgVWludDMyQXJyYXkoWzAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1NiwwLDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMTQ0MzIyLDIxNDQzODYsMjE0NDQ1MCwyMTQ0NTE0LDIxNDQ1NzgsMjE0NDY0MiwyMTQ0NzA2LDIxNDQ3NzBdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTEzMTUzLDIxMDg0ODEsMjExMzM0NSwyMTEzNDQxLDIwOTgyMDksMjExMTEzNywwLDIwOTgyNDEsMjEwODM1MywyMTA4NDE3LDIxMDU4MjUsMCwwLDIxMTE5MDUsMjEwNTQ3MywyMTA1NTY5XSksbmV3IFVpbnQzMkFycmF5KFsyMjM2MzIxLDIyMzYzNTMsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTUyMTk0LDIxMjEyODMsMjEwMzY4NCwyMTAzODEyLDIwOTc5ODYsMjA5ODUzMywyMDk3OTkwLDIwOTg2OTMsMjA5ODU5NSwyMDk4ODUzLDIwOTkwMTMsMjEwMzk0MCwyMTIxMzc5LDIxMjE0NzUsMjEyMTU3MSwyMTA0MDY4XSksbmV3IFVpbnQzMkFycmF5KFsyMjA2MjQxLDIyMDYyNzMsMjIwNjMwNSwyMjA2MzM3LDIyMDYzNjksMjIwNjQwMSwyMjA2NDMzLDIyMDY0NjUsMjIwNjQ5NywyMjA2NTI5LDIyMDY1NjEsMjIwNjU5MywyMjA2NjI1LDIyMDY2NTcsMjIwNjY4OSwyMjA2NzIxXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDE2Nzc3MjE2LDE2Nzc3MjE2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwyMzA2ODY3MiwyMzA2ODY3MiwxMDUzODgxOCwxMDUzODg4Miw2MjkxNDU2LDYyOTE0NTYsMjE1MDMzOF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjIxNDM2OSwyMjE0NDAxLDIyMTQ0MzMsMjIxNDQ2NSwyMjE0NDk3LDIyMTQ1MjksMjIxNDU2MSwyMjE0NTkzLDIxOTQ5NzcsMjIxNDYyNSwyMTk1MDczLDIyMTQ2NTcsMjIxNDY4OSwyMjE0NzIxLDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjA5NzE1MiwyMDk3MTUyLDIwOTcxNTIsMjA5NzE1MiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjE4MjA4MSw2MjkxNDU2LDIxODIxMTMsNjI5MTQ1NiwyMTgyMTQ1LDYyOTE0NTYsMjE4MjE3Nyw2MjkxNDU2LDIxODIyMDksNjI5MTQ1NiwyMTgyMjQxLDYyOTE0NTYsMjE4MjI3Myw2MjkxNDU2LDIxODIzMDUsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIxNDY4ODEsMjE0Njk0NSwyMTQ3MDA5LDIxNDcwNzMsMjE0NzEzNywyMTQ3MjAxLDIxNDcyNjUsMjE0NzMyOV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFswLDAsMCwwLDAsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTIyOTE1LDIxMjMwMTEsMjEyMzEwNywyMTA0NzA4LDIxMjMyMDMsMjEyMzI5OSwyMTIzMzk1LDIxMDAxMzMsMjEwNDgzNiwyMTAwMjkwLDIxMDAyOTMsMjEwNDk2MiwyMTA0OTY0LDIwOTgwNTIsMjEyMzQ5MSwyMTIzNTg3XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1NiwyMTcxMTY5LDYyOTE0NTYsMjE3MTIwMSw2MjkxNDU2LDIxNzEyMzMsNjI5MTQ1NiwyMTcxMjY1LDYyOTE0NTYsMjE3MTI5Nyw2MjkxNDU2LDIxNzEzMjksNjI5MTQ1Niw2MjkxNDU2LDIxNzEzNjEsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMCwwLDIxNDg5OTQsMjE0OTA1OCwyMTQ5MTIyLDAsNjI5MTQ1NiwyMTQ5MTg2LDIxODY5NDUsMjE3MzUzNywyMTQ4OTkzLDIxNDkxMjEsMjE0OTA1OCwxMDUzMTQ1OCwxMDQ5NjA2NiwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTk1MDA5LDIxOTUwNDEsMjE5NTA3MywyMTk1MTA1LDIxOTUxMzcsMjE5NTE2OSwyMTk1MjAxLDIxOTUyMzMsMjE5NTI2NSwyMTk1Mjk3LDIxOTUzMjksMjE5NTM2MSwyMTk1MzkzLDIxOTU0MjUsMjE5NTQ1NywyMTk1NDg5XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDAsMCw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxODI4NDksNjI5MTQ1NiwyMTgyODgxLDYyOTE0NTYsMjE4MjkxMyw2MjkxNDU2LDIxODI5NDUsNjI5MTQ1NiwyMTgyOTc3LDYyOTE0NTYsMjE4MzAwOSw2MjkxNDU2LDIxODMwNDEsNjI5MTQ1NiwyMTgzMDczLDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIyMTE1NTMsMjIxMDA4MSwyMjExNTg1LDIyMTE2MTcsMjIxMTY0OSwyMjExNjgxLDIyMTE3MTMsMjIxMTc0NSwyMjExNzc3LDIyMTE4MDksMjIwOTU2OSwyMjExODQxLDIyMTE4NzMsMjIxMTkwNSwyMjExOTM3LDIyMTE5NjldKSxuZXcgVWludDMyQXJyYXkoWzIxMTI1NzcsMjA5ODE3NywyMDk4MzA1LDIxMDgzMjEsMjEwODI4OSwyMTAwODY1LDIxMTMxNTMsMjEwODQ4MSwyMTEzMzQ1LDIxMTM0NDEsMjE2NjU5NCwyMTI3Mjk4LDIxNjY2NTgsMjE0Mjk3OCwyMTQxODI3LDIxNjY3MjJdKSxuZXcgVWludDMyQXJyYXkoWzIxNzM5ODUsMjE3Mzc2MSwyMTc0MDE3LDIxNzQwNDksMjE3NDA4MSwyMTc0MTEzLDIxNzQxNDUsMjE3NDE3NywyMTQ5MDU3LDIyMzMwNTcsMjE0ODQ4MSwyMTczNjAxLDIxNzM2MzMsMjE3MzY2NSwyMTczNjk3LDIxNzM3MjldKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwyMTg1NzYxLDIxODU3OTMsMjE4NTgyNSwyMTg1ODU3LDIxODU4ODksMjE4NTkyMSwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsMjE0ODQ4MSwyMTczNjAxLDIxNzM2MzMsMjE3MzY2NSwyMTczNjk3LDIxNzM3MjksMjE0ODgwMSwyMTczNzYxLDIxNDM5NjksMjE3Mzc5MywyMTczODI1LDIxNTM0NzMsMjE3Mzg1NywyMTczODg5LDIxNzM5MjFdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsMCwwLDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzAsMCwwLDIyMjA5NjEsMjIyMDk2MSwyMjIwOTYxLDIyMjA5NjEsMjE0NDE5MywyMTQ0MTkzLDIxNTkyMDEsMjE1OTIwMSwyMTU5MjY1LDIxNTkyNjUsMjE0NDE5NCwyMjIwOTkzLDIyMjA5OTNdKSxuZXcgVWludDMyQXJyYXkoWzIxOTI2NDEsMjIzNTM5MywyMjM1NDI1LDIxNTIyNTcsMjExNjYwOSwyMjM1NDU3LDIyMzU0ODksMjIwMDA2NSwyMjM1NTIxLDIyMzU1NTMsMjIzNTU4NSwyMjEyNDQ5LDIyMzU2MTcsMjIzNTY0OSwyMjM1NjgxLDIyMzU3MTNdKSxuZXcgVWludDMyQXJyYXkoWzIxOTQwNDksMjE5NDA4MSwyMTk0MTEzLDIxOTQxNDUsMjE5NDE3NywyMTk0MjA5LDIxOTQyNDEsMjE5NDI3MywyMTk0MzA1LDIxOTQzMzcsMjE5NDM2OSwyMTk0NDAxLDIxOTQ0MzMsMjE5NDQ2NSwyMTk0NDk3LDIxOTQ1MjldKSxuZXcgVWludDMyQXJyYXkoWzIxOTY2NzMsMjIwODY0MSwyMjA4NjczLDIyMDg3MDUsMjIwODczNywyMjA4NzY5LDIyMDg4MDEsMjIwODgzMywyMjA4ODY1LDIyMDg4OTcsMjIwODkyOSwyMjA4OTYxLDIyMDg5OTMsMjIwOTAyNSwyMjA5MDU3LDIyMDkwODldKSxuZXcgVWludDMyQXJyYXkoWzIxOTE2ODEsMjE5MTcxMywyMTkxNzQ1LDIxOTE3NzcsMjE1MzI4MSwyMTkxODA5LDIxOTE4NDEsMjE5MTg3MywyMTkxOTA1LDIxOTE5MzcsMjE5MTk2OSwyMTkyMDAxLDIxOTIwMzMsMjE5MjA2NSwyMTkyMDk3LDIxOTIxMjldKSxuZXcgVWludDMyQXJyYXkoWzIyMzA5NDYsMjIzMTAxMCwyMjMxMDc0LDIyMzExMzgsMjIzMTIwMiwyMjMxMjY2LDIyMzEzMzAsMjIzMTM5NCwyMjMxNDU4LDIyMzE1MjIsMjIzMTU4NiwyMjMxNjUwLDIyMzE3MTQsMjIzMTc3OCwyMjMxODQyLDIyMzE5MDZdKSxuZXcgVWludDMyQXJyYXkoWzE0NjgwMDY0LDE0NjgwMDY0LDE0NjgwMDY0LDE0NjgwMDY0LDE0NjgwMDY0LDE0NjgwMDY0LDE0NjgwMDY0LDE0NjgwMDY0LDE0NjgwMDY0LDE0NjgwMDY0LDE0NjgwMDY0LDE0NjgwMDY0LDE0NjgwMDY0LDE0NjgwMDY0LDE0NjgwMDY0LDE0NjgwMDY0XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjE4NTk1MywyMTg1OTg1LDIxODYwMTcsMjE4NjA0OSwyMTg2MDgxLDIxODYxMTMsMjE4NjE0NSwyMTg2MTc3XSksbmV3IFVpbnQzMkFycmF5KFsyMTM5ODExLDIxMzk5MDcsMjA5NzI4NCwyMTA1ODYwLDIxMDU5ODgsMjEwNjExNiwyMTA2MjQ0LDIwOTc0NDQsMjA5NzYwNCwyMDk3MTU1LDEwNDg1Nzc4LDEwNDg2MzQ0LDIxMDYzNzIsNjI5MTQ1NiwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIxMTAwNTEsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzAsMCwwLDAsMCwwLDAsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxNzIzODUsNjI5MTQ1NiwyMTcyNDE3LDYyOTE0NTYsMjE3MjQ0OSw2MjkxNDU2LDIxNzI0ODEsNjI5MTQ1NiwyMTcyNTEzLDYyOTE0NTYsMjE3MjU0NSw2MjkxNDU2LDIxNzI1NzcsNjI5MTQ1NiwyMTcyNjA5LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzAsMCwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjI0OTM0NSwyMjQ5Mzc3LDIyNDk0MDksMjI0OTQ0MSwyMjQ5NDczLDIyNDk1MDUsMjI0OTUzNywyMjQ5NTcwLDIyMTAyMDksMjI0OTYzMywyMjQ5NjY1LDIyNDk2OTcsMjI0OTcyOSwyMjQ5NzYxLDIyNDk3OTMsMjIxNjc2OV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxODcxNjksMjE4NzIwMSwyMTg3MjMzLDIxODcyNjUsMjE4NzI5NywyMTg3MzI5LDIxODczNjEsMjE4NzM5MywyMTg3NDI1LDIxODc0NTcsMjE4NzQ4OSwyMTg3NTIxLDIxODc1NTMsMjE4NzU4NSwyMTg3NjE3LDIxODc2NDldKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFswLDAsMCw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTgyMzM3LDYyOTE0NTYsMjE4MjM2OSw2MjkxNDU2LDIxODI0MDEsNjI5MTQ1NiwyMTgyNDMzLDYyOTE0NTYsMjE4MjQ2NSw2MjkxNDU2LDIxODI0OTcsNjI5MTQ1NiwyMTgyNTI5LDYyOTE0NTYsMjE4MjU2MSw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTM4MTc5LDIxMzgyNzUsMjEzODM3MSwyMTM4NDY3LDIxMzQyNDMsMjEzNDQzNSwyMTM4NTYzLDIxMzg2NTksMjEzODc1NSwyMTM4ODUxLDIxMzg5NDcsMjEzOTA0MywyMTM4OTQ3LDIxMzg3NTUsMjEzOTEzOSwyMTM5MjM1XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMCwwLDIzMDY4NjcyLDIzMDY4NjcyLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMjUwNDk4LDIyNTA1NjIsMjI1MDYyNSwyMjUwNjU3LDIyMDgzMjEsMjI1MDY4OSwyMjUwNzIxLDIyNTA3NTMsMjI1MDc4NSwyMjUwODE3LDIyNTA4NDksMjIxODk0NSwyMjUwODgxLDIyNTA5MTMsMjI1MDk0NSwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTcwMzY5LDIxMDU1NjksMjA5ODMwNSwyMTA4NDgxLDIxNzMyNDksNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjEwMDg5NywyMTExOTA1LDIxMDU0NzMsMjEwNTU2OSwyMTA1NjAxLDAsMjEwODE5MywwLDAsMCwyMDk4MzA1LDIxMDgzMjEsMjEwODI4OSwyMTAwODY1LDIxMTMxNTMsMjEwODQ4MV0pLG5ldyBVaW50MzJBcnJheShbMjEwMDg5NywyMTAwODk3LDIxMDU1NjksMjEwNTU2OSw2MjkxNDU2LDIxMTIyODksMjE0OTgyNiw2MjkxNDU2LDYyOTE0NTYsMjExMjQ4MSwyMTEyNTc3LDIwOTgxNzcsMjA5ODE3NywyMDk4MTc3LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDIxNjk5NTMsMjE2OTk4NSw2MjkxNDU2LDIxNzAwMTcsNjI5MTQ1NiwyMTcwMDQ5LDIxNzAwODEsNjI5MTQ1NiwyMTcwMTEzLDIxNzAxNDUsMjE3MDE3Nyw2MjkxNDU2LDYyOTE0NTYsMjE3MDIwOSwyMTcwMjQxXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFswLDAsMCwwLDAsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMjIwNjQxLDIyMjA2NDEsMjIyMDY3MywyMjIwNjczLDIyMjA2NzMsMjIyMDY3MywyMjIwNzA1LDIyMjA3MDUsMjIyMDcwNSwyMjIwNzA1LDIyMjA3MzcsMjIyMDczNywyMjIwNzM3LDIyMjA3MzcsMjIyMDc2OSwyMjIwNzY5XSksbmV3IFVpbnQzMkFycmF5KFsyMTI3NjUwLDIxMjc3NDYsMjEyNzg0MiwyMTI3OTM4LDIxMjgwMzQsMjEyODEzMCwyMTI4MjI2LDIxMjgzMjIsMjEyODQxOCwyMTI3NTIzLDIxMjc2MTksMjEyNzcxNSwyMTI3ODExLDIxMjc5MDcsMjEyODAwMywyMTI4MDk5XSksbmV3IFVpbnQzMkFycmF5KFsyMTQzOTY5LDIxNzM3OTMsMjE3MzgyNSwyMTUzNDczLDIxNzM4NTcsMjE3Mzg4OSwyMTczOTIxLDIxNzM5NTMsMjE3Mzk4NSwyMTczNzYxLDIxNzQwMTcsMjE3NDA0OSwyMTc0MDgxLDIxNzQxMTMsMjE3NDE0NSwyMTc0MTc3XSksbmV3IFVpbnQzMkFycmF5KFswLDAsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzIyMDQ3MDUsMjIwNDczNywyMjA0NzY5LDIyMDQ4MDEsMjIwNDgzMywyMjA0ODY1LDIyMDQ4OTcsMjIwNDkyOSwyMjA0OTYxLDIyMDQ5OTMsMjIwNTAyNSwyMjA1MDU3LDIyMDUwODksMjIwNTEyMSwyMjA1MTUzLDIyMDUxODVdKSxuZXcgVWludDMyQXJyYXkoWzIxNzYzODUsNjI5MTQ1NiwyMTc2NDE3LDYyOTE0NTYsMjE3NjQ0OSw2MjkxNDU2LDIxNzY0ODEsNjI5MTQ1NiwyMTc2NTEzLDYyOTE0NTYsMjE3NjU0NSw2MjkxNDU2LDIxNzY1NzcsNjI5MTQ1NiwyMTc2NjA5LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIxOTU1MjEsMjE5NTU1MywyMTk1NTg1LDIxOTU2MTcsMjE5NTY0OSwyMTk1NjgxLDIxMTc4NTcsMjE5NTcxMywyMTk1NzQ1LDIxOTU3NzcsMjE5NTgwOSwyMTk1ODQxLDIxOTU4NzMsMjE5NTkwNSwyMTk1OTM3LDIxOTU5NjldKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjE3MzkyMSwyMTczOTUzLDIxNzM5ODUsMjE3NDAxNywyMTc0MDE3LDIxNzQwNDksMjE3NDA4MSwyMTc0MTEzLDIxNzQxNDUsMjE3NDE3NywyMTQ5MDU3LDIyMzMwODksMjE3MzY5NywyMTczNzYxLDIxNzM3OTMsMjE3NDExM10pLG5ldyBVaW50MzJBcnJheShbMjEzMTU4NiwyMTMyNDUwLDIxMzU5NzAsMjEzNTc3OCwyMTYxNjAyLDIxMzYxNjIsMjE2MzY1MCwyMTYxNzk0LDIxMzU1ODYsMjE2MzcxNCwyMTM3MTg2LDIxMzE4MTAsMjE2MDI5MCwyMTM1MTcwLDIwOTc1MDYsMjE1OTU1NF0pLG5ldyBVaW50MzJBcnJheShbMjEzNDE0NSwyMDk3MTUzLDIxMzQyNDEsMjEwNTk1MywyMTMyNzA1LDIxMzA5NzcsMjE2MDA2NSwyMTMxMjk3LDIxNjIwNDksMjEzMzA4OSwyMTYwNTc3LDIxMzM4NTcsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjExNjUxMywyMTE2NjA5LDIxMTY3MDUsMjExNjgwMSwyMTE2ODk3LDIxMTY5OTMsMjExNzA4OSwyMTE3MTg1LDIxMTcyODEsMjExNzM3NywyMTE3NDczLDIxMTc1NjksMjExNzY2NSwyMTE3NzYxLDIxMTc4NTcsMjExNzk1M10pLG5ldyBVaW50MzJBcnJheShbMjEwMDczNywyMDk4MzM3LDIxMDE0NDEsMjEwMTU2OSwyMTAxNjk3LDIxMDE4MjUsMjEwMTk1MywyMTAyMDgxLDIxMDIyMDksMjEwMDgwMiwyMTAxMTU0LDIxMDEyODIsMjEwMTQxMCwyMTAxNTM4LDIxMDE2NjYsMjEwMTc5NF0pLG5ldyBVaW50MzJBcnJheShbMjEwMDI4OSwyMDk4NjU3LDIwOTgwNDksMjIwMDczNywyMTIzNDg5LDIxMjM2ODEsMjIwMDc2OSwyMDk4NjI1LDIxMDAzMjEsMjA5ODE0NSwyMTAwNDQ5LDIwOTgwMTcsMjA5ODc1MywyMDk4OTc3LDIxNTAyNDEsMjE1MDMwNV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjEwOTk1NSw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjgsMTg4NzQzNjhdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCw2MjkxNDU2LDAsNjI5MTQ1NiwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIxMzA5NzksMjEzMTA3NSwyMTMxMDc1LDIxMzExNzEsMjEzMTI2NywyMTMxMzYzLDIxMzE0NTksMjEzMTU1NSwyMTMxNjUxLDIxMzE2NTEsMjEzMTc0NywyMTMxODQzLDIxMzE5MzksMjEzMjAzNSwyMTMyMTMxLDIxMzIyMjddKSxuZXcgVWludDMyQXJyYXkoWzAsMjE3Nzc5Myw2MjkxNDU2LDIxNzc4MjUsNjI5MTQ1NiwyMTc3ODU3LDYyOTE0NTYsMjE3Nzg4OSw2MjkxNDU2LDIxNzc5MjEsNjI5MTQ1NiwyMTc3OTUzLDYyOTE0NTYsMjE3Nzk4NSw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTEzMzQ1LDAsMjA5ODIwOSwyMTExMTM3LDIxMDU1MDUsMjA5ODI0MSwyMTA4MzUzLDIxMDg0MTcsMjEwNTgyNSwyMTExNzEzLDIxMDA4OTcsMjExMTkwNSwyMTA1NDczLDIxMDU1NjksMjEwNTYwMSwyMTEyMjg5XSksbmV3IFVpbnQzMkFycmF5KFsyMTM2NjQzLDIxMzY3MzksMjEzNjgzNSwyMTM2OTMxLDIxMzcwMjcsMjEzNzEyMywyMTM3MjE5LDIxMzczMTUsMjEzNzQxMSwyMTM3NTA3LDIxMzc2MDMsMjEzNzY5OSwyMTM3Nzk1LDIxMzc4OTEsMjEzNzk4NywyMTM4MDgzXSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTc0NDMzLDYyOTE0NTYsMjE3NDQ2NSw2MjkxNDU2LDIxNzQ0OTcsNjI5MTQ1NiwyMTc0NTI5LDYyOTE0NTYsMjE3NDU2MSw2MjkxNDU2LDIxNzQ1OTMsNjI5MTQ1NiwyMTc0NjI1LDYyOTE0NTYsMjE3NDY1Nyw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFswLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTA1NDczLDIxMDU1NjksMjEwNTYwMSwyMTEyMjg5LDIxMDgxOTMsMjExMjQ4MSwyMTEyNTc3LDIwOTgxNzcsMjA5ODMwNSwyMTA4MzIxLDIxMDgyODksMjEwMDg2NSwyMTEzMTUzLDIxMDg0ODEsMjExMzM0NSwyMTEzNDQxXSksbmV3IFVpbnQzMkFycmF5KFsxMDQ5NjU0NywxMDQ5NjY0MywyMTA1NTA1LDIxNDk2OTgsNjI5MTQ1NiwxMDQ5NjczOSwxMDQ5NjgzNSwyMTcwMjczLDYyOTE0NTYsMjE0OTc2MiwyMTA1ODI1LDIxMTE3MTMsMjExMTcxMywyMTExNzEzLDIxMTE3MTMsMjE2ODY3M10pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1NiwyMTQzNDkwLDIxNDM0OTAsMjE0MzQ5MCwyMTcxNjQ5LDYyOTE0NTYsMjE3MTY4MSwyMTcxNzEzLDIxNzE3NDUsNjI5MTQ1NiwyMTcxNzc3LDYyOTE0NTYsMjE3MTgwOSw2MjkxNDU2LDIxNzE4NDEsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjE1OTEwNiwyMTU5MTA2LDIxNTkxNzAsMjE1OTE3MCwyMTU5MjM0LDIxNTkyMzQsMjE1OTI5OCwyMTU5Mjk4LDIxNTkyOTgsMjE1OTM2MiwyMTU5MzYyLDIxNTkzNjIsMjEwNjQwMSwyMTA2NDAxLDIxMDY0MDEsMjEwNjQwMV0pLG5ldyBVaW50MzJBcnJheShbMjEwNTYwMSwyMTEyMjg5LDIxMDgxOTMsMjExMjQ4MSwyMTEyNTc3LDIwOTgxNzcsMjA5ODMwNSwyMTA4MzIxLDIxMDgyODksMjEwMDg2NSwyMTEzMTUzLDIxMDg0ODEsMjExMzM0NSwyMTEzNDQxLDIwOTgyMDksMjExMTEzN10pLG5ldyBVaW50MzJBcnJheShbMjEwODQxNywyMTgxMjE3LDIxODEyNDksMjE4MTI4MSwyMTcwNDMzLDIxNzA0MDEsMjE4MTMxMywyMTgxMzQ1LDIxODEzNzcsMjE4MTQwOSwyMTgxNDQxLDIxODE0NzMsMjE4MTUwNSwyMTgxNTM3LDIxNzA1MjksMjE4MTU2OV0pLG5ldyBVaW50MzJBcnJheShbMjIxODQzMywyMjQ1NzYxLDIyNDU3OTMsMjI0NTgyNSwyMjQ1ODU3LDIyNDU4OTAsMjI0NTk1MywyMjQ1OTg2LDIyMDk2NjUsMjI0NjA1MCwyMjQ2MTEzLDIyNDYxNDYsMjI0NjIxMCwyMjQ2Mjc0LDIyNDYzMzcsMjI0NjM2OV0pLG5ldyBVaW50MzJBcnJheShbMjIzMDc1NCwyMjMwODE4LDIyMzA4ODIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1NiwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1NiwwLDAsMCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjE4NDEyOSw2MjkxNDU2LDIxODQxNjEsNjI5MTQ1NiwyMTg0MTkzLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMTQ2ODE4LDIxODMzNjEsNjI5MTQ1Niw2MjkxNDU2LDIxNDI5NzgsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjEzNTE3MCwyMDk3NTA2LDIxMzA2OTEsMjEzMDc4NywyMTMwODgzLDIxNjM5NzAsMjE2NDAzNCwyMTY0MDk4LDIxNjQxNjIsMjE2NDIyNiwyMTY0MjkwLDIxNjQzNTQsMjE2NDQxOCwyMTY0NDgyLDIxNjQ1NDYsMjEzMzEyMl0pLG5ldyBVaW50MzJBcnJheShbMjEwODUxNSwyMTA4NjExLDIxMDA3NDAsMjEwODcwNywyMTA4ODAzLDIxMDg4OTksMjEwODk5NSwyMTA5MDkxLDIxMDkxODcsMjEwOTI4MywyMTA5Mzc5LDIxMDk0NzUsMjEwOTU3MSwyMTA5NjY3LDIxMDk3NjMsMjEwMDczOF0pLG5ldyBVaW50MzJBcnJheShbMjEwMjc4OCwyMTAyOTE2LDIxMDMwNDQsMjEyMDUxNSwyMTAzMTcyLDIxMjA2MTEsMjEyMDcwNywyMDk4MzczLDIxMDMzMDAsMjEyMDgwMywyMTIwODk5LDIxMjA5OTUsMjEwMzQyOCwyMTAzNTU2LDIxMjEwOTEsMjEyMTE4N10pLG5ldyBVaW50MzJBcnJheShbMjE1ODA4MiwyMTU4MTQ2LDAsMjE1ODIxMCwyMTU4Mjc0LDAsMjE1ODMzOCwyMTU4NDAyLDIxNTg0NjYsMjEyOTkyMiwyMTU4NTMwLDIxNTg1OTQsMjE1ODY1OCwyMTU4NzIyLDIxNTg3ODYsMjE1ODg1MF0pLG5ldyBVaW50MzJBcnJheShbMTA0OTk2MTksMTA0OTk3MTUsMTA0OTk4MTEsMTA0OTk5MDcsMTA1MDAwMDMsMTA1MDAwOTksMTA1MDAxOTUsMTA1MDAyOTEsMTA1MDAzODcsMTA1MDA0ODMsMTA1MDA1NzksMTA1MDA2NzUsMTA1MDA3NzEsMTA1MDA4NjcsMTA1MDA5NjMsMTA1MDEwNTldKSxuZXcgVWludDMyQXJyYXkoWzIyMzk1ODUsMjIzOTYxOCwyMjM5NjgxLDIyMzk3MTMsMCwyMTkxOTY5LDIyMzk3NDUsMjIzOTc3NywyMTkyMDMzLDIyMzk4MDksMjIzOTg0MSwyMjM5ODc0LDIyMzk5MzcsMjIzOTk3MCwyMjQwMDMzLDIyNDAwNjVdKSxuZXcgVWludDMyQXJyYXkoWzIyNTI3MDUsMjI1MjczOCwyMjUyODAxLDIyNTI4MzMsMjI1Mjg2NSwyMjUyODk3LDIyNTI5MzAsMjI1Mjk5NCwyMjUzMDU3LDIyNTMwODksMjI1MzEyMSwyMjUzMTU0LDIyNTMyMTcsMjI1MzI1MCwyMjE5MzYxLDIyMTkzNjFdKSxuZXcgVWludDMyQXJyYXkoWzIxMDU4MjUsMjExMTcxMywyMTAwODk3LDIxMTE5MDUsMjEwNTQ3MywyMTA1NTY5LDIxMDU2MDEsMjExMjI4OSwyMTA4MTkzLDIxMTI0ODEsMjExMjU3NywyMDk4MTc3LDIwOTgzMDUsMjEwODMyMSwyMTA4Mjg5LDIxMDA4NjVdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMTA1MzgwNTAsMTA1MzgxMTQsMTA1MzgxNzgsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIyMjY0MDIsMjIyNjQ2NiwyMjI2NTMwLDIyMjY1OTQsMjIyNjY1OCwyMjI2NzIyLDIyMjY3ODYsMjIyNjg1MCwyMjI2OTE0LDIyMjY5NzgsMjIyNzA0MiwyMjI3MTA2LDIyMjcxNzAsMjIyNzIzNCwyMjI3Mjk4LDIyMjczNjJdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjE0NDA2NiwyMTQ0MTMwLDIxNDQxOTQsMjE0NDI1OCw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzJdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIxMjQ2NzQsMjEyNDc3MCwyMTIzODc1LDIxMjM5NzEsMjEyNDA2NywyMTI0MTYzLDIxMjQyNTksMjEyNDM1NSwyMTI0NDUxLDIxMjQ1NDcsMjEyNDY0MywyMTI0NzM5LDIxMjQ4MzUsMjEyNDkzMSwyMTI1MDI3LDIxMjUxMjNdKSxuZXcgVWludDMyQXJyYXkoWzIxNjgwNjUsNjI5MTQ1NiwyMTY4MDk3LDYyOTE0NTYsMjE2ODEyOSw2MjkxNDU2LDIxNjgxNjEsNjI5MTQ1NiwyMTY4MTkzLDYyOTE0NTYsMjE2ODIyNSw2MjkxNDU2LDIxNjgyNTcsNjI5MTQ1NiwyMTY4Mjg5LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjEwMDYxMCwyMTAwNjExLDYyOTE0NTYsMjEwNzg0MiwyMTA3ODQzLDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMTA1Mzc5MjIsNjI5MTQ1NiwxMDUzNzk4Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMTc0ODQ5LDIxNzQ4ODEsMjE3NDkxMywyMTc0OTQ1LDIxNzQ5NzcsMjE3NTAwOSwyMTc1MDQxLDIxNzUwNzMsMjE3NTEwNSwyMTc1MTM3LDIxNzUxNjksMjE3NTIwMSwyMTc1MjMzLDIxNzUyNjUsMjE3NTI5NywyMTc1MzI5XSksbmV3IFVpbnQzMkFycmF5KFsyMTU0NTYyLDIxNTQ2MjYsMjE1NDY5MCwyMTU0NzU0LDIxNDE4NTgsMjE1NDgxOCwyMTU0ODgyLDIxMjcyOTgsMjE1NDk0NiwyMTI3Mjk4LDIxNTUwMTAsMjE1NTA3NCwyMTU1MTM4LDIxNTUyMDIsMjE1NTI2NiwyMTU1MjAyXSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3MiwwXSksbmV3IFVpbnQzMkFycmF5KFsyMjAwNjQxLDIxNTA3ODYsMjE1MDg1MCwyMTUwOTE0LDIxNTA5NzgsMjE1MTA0MiwyMTA2NTYyLDIxNTExMDYsMjE1MDU2MiwyMTUxMTcwLDIxNTEyMzQsMjE1MTI5OCwyMTUxMzYyLDIxNTE0MjYsMjE1MTQ5MCwyMTUxNTU0XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwwLDAsMCwwLDAsMCwwLDAsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMjIwMjg5LDIyMjAyODksMjIyMDMyMSwyMjIwMzIxLDIyMjAzMjEsMjIyMDMyMSwyMjIwMzUzLDIyMjAzNTMsMjIyMDM1MywyMjIwMzUzLDIyMjAzODUsMjIyMDM4NSwyMjIwMzg1LDIyMjAzODUsMjIyMDQxNywyMjIwNDE3XSksbmV3IFVpbnQzMkFycmF5KFsyMTU1MzMwLDIxNTUzOTQsMCwyMTU1NDU4LDIxNTU1MjIsMjE1NTU4NiwyMTA1NzMyLDAsMjE1NTY1MCwyMTU1NzE0LDIxNTU3NzgsMjEyNTMxNCwyMTU1ODQyLDIxNTU5MDYsMjEyNjI3NCwyMTU1OTcwXSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsMjMwNjg2NzIsNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTZdKSxuZXcgVWludDMyQXJyYXkoWzYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMCwwLDAsMCwwLDBdKSxuZXcgVWludDMyQXJyYXkoWzIwOTc3MjksMjEwNjAxNywyMTA2MDE3LDIxMDYwMTcsMjEwNjAxNywyMTMxMjk3LDIxMzEyOTcsMjEzMTI5NywyMTMxMjk3LDIxMDYwODEsMjEwNjA4MSwyMTYyMDQ5LDIxNjIwNDksMjEwNTk1MywyMTA1OTUzLDIxNjIzMzddKSxuZXcgVWludDMyQXJyYXkoWzIwOTcxODUsMjA5NzY5NywyMDk3Njk3LDIwOTc2OTcsMjA5NzY5NywyMTM1Nzc3LDIxMzU3NzcsMjEzNTc3NywyMTM1Nzc3LDIwOTczNzcsMjA5NzM3NywyMDk3Mzc3LDIwOTczNzcsMjA5NzYwMSwyMDk3NjAxLDIwOTcyMTddKSxuZXcgVWludDMyQXJyYXkoWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIzMDY4NjcyXSksbmV3IFVpbnQzMkFycmF5KFsyMTM5MzMxLDIxMzk0MjcsMjEzOTUyMywyMTM5MDQzLDIxMzM1NzEsMjEzMjYxMSwyMTM5NjE5LDIxMzk3MTUsMCwwLDAsMCwwLDAsMCwwXSksbmV3IFVpbnQzMkFycmF5KFsyMTc0MTEzLDIxNzQxNDUsMjEwMDg5NywyMDk4MTc3LDIxMDgyODksMjEwMDg2NSwyMTczNjAxLDIxNzM2MzMsMjE3Mzk4NSwyMTc0MTEzLDIxNzQxNDUsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFs2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsMjMwNjg2NzIsNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1Niw2MjkxNDU2XSksbmV3IFVpbnQzMkFycmF5KFsyMzA2ODY3MiwyMzA2ODY3MiwxODkyMzc3OCwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwxODkyMzg0MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwxODkyMzkwNiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Ml0pLG5ldyBVaW50MzJBcnJheShbMjEzNDE0NSwyMDk3MTUzLDIxMzQyNDEsMCwyMTMyNzA1LDIxMzA5NzcsMjE2MDA2NSwyMTMxMjk3LDAsMjEzMzA4OSwwLDIxMzM4NTcsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDYyOTE0NTYsNjI5MTQ1NiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjE3NzUzNyw2MjkxNDU2LDIxNzc1NjksNjI5MTQ1NiwyMTc3NjAxLDYyOTE0NTYsMjE3NzYzMyw2MjkxNDU2LDIxNzc2NjUsNjI5MTQ1NiwyMTc3Njk3LDYyOTE0NTYsMjE3NzcyOSw2MjkxNDU2LDIxNzc3NjEsNjI5MTQ1Nl0pLG5ldyBVaW50MzJBcnJheShbMjIxMjQ4MSwyMjEyNTEzLDIyMTI1NDUsMjIxMjU3NywyMTk3MTIxLDIyMTI2MDksMjIxMjY0MSwyMjEyNjczLDIyMTI3MDUsMjIxMjczNywyMjEyNzY5LDIyMTI4MDEsMjIxMjgzMywyMjEyODY1LDIyMTI4OTcsMjIxMjkyOV0pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1Niw2MjkxNDU2LDIzMDY4NjcyLDIzMDY4NjcyLDIzMDY4NjcyLDYyOTE0NTYsNjI5MTQ1NiwwLDAsMCwwLDAsMCwwLDAsMF0pLG5ldyBVaW50MzJBcnJheShbMjA5ODI0MSwyMTA4MzUzLDIxNzAyMDksMjEwNTgyNSwyMTExNzEzLDIxMDA4OTcsMjExMTkwNSwyMTA1NDczLDIxMDU1NjksMjEwNTYwMSwyMTEyMjg5LDYyOTE0NTYsMjEwODE5MywyMTcyNDE3LDIxMTI0ODEsMjA5ODE3N10pLG5ldyBVaW50MzJBcnJheShbNjI5MTQ1NiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3MiwyMzA2ODY3Miw2MjkxNDU2LDYyOTE0NTZdKV0sdD1uZXcgVWludDE2QXJyYXkoWzYxNiw2MTYsNTY1LDE0NywxNjEsNDExLDMzMCwyLDEzMSwxMzEsMzI4LDQ1NCwyNDEsNDA4LDg2LDg2LDY5NiwxMTMsMjg1LDM1MCwzMjUsMzAxLDQ3MywyMTQsNjM5LDIzMiw0NDcsNjQsMzY5LDU5OCwxMjQsNjcyLDU2NywyMjMsNjIxLDE1NCwxMDcsODYsODYsODYsODYsODYsODYsNTA1LDg2LDY4LDYzNCw4NiwyMTgsMjE4LDIxOCwyMTgsNDg2LDIxOCwyMTgsNTEzLDE4OCw2MDgsMjE2LDg2LDIxNyw0NjMsNjY4LDg1LDcwMCwzNjAsMTg0LDg2LDg2LDg2LDY0Nyw0MDIsMTUzLDEwLDM0Niw3MTgsNjYyLDI2MCwxNDUsMjk4LDExNywxLDQ0MywzNDIsMTM4LDU0LDU2Myw4NiwyNDAsNTcyLDIxOCw3MCwzODcsODYsMTE4LDQ2MCw2NDEsNjAyLDg2LDg2LDMwNiwyMTgsODYsNjkyLDg2LDg2LDg2LDg2LDg2LDE2Miw3MDcsODYsNDU4LDI2LDg2LDIxOCw2MzgsODYsODYsODYsODYsODYsNjUsNDQ5LDg2LDg2LDMwNiwxODMsODYsNTgsMzkxLDY2Nyw4NiwxNTcsMTMxLDEzMSwxMzEsMTMxLDg2LDQzMywxMzEsNDA2LDMxLDIxOCwyNDcsODYsODYsNjkzLDIxOCw1ODEsMzUxLDg2LDQzOCwyOTUsNjksNDYyLDQ1LDEyNiwxNzMsNjUwLDE0LDI5NSw2OSw5NywxNjgsMTg3LDY0MSw3OCw1MjMsMzkwLDY5LDEwOCwyODcsNjY0LDE3MywyMTksODMsMjk1LDY5LDEwOCw0MzEsNDI2LDE3Myw2OTQsNDEyLDExNSw2MjgsNTIsMjU3LDM5OCw2NDEsMTE4LDUwMSwxMjEsNjksNTc5LDE1MSw0MjMsMTczLDYyMCw0NjQsMTIxLDY5LDM4MiwxNTEsNDc2LDE3MywyNyw1MywxMjEsODYsNTk0LDU3OCwyMjYsMTczLDg2LDYzMiwxMzAsODYsOTYsMjI4LDI2OCw2NDEsNjIyLDU2Myw4Niw4NiwyMSwxNDgsNjUwLDEzMSwxMzEsMzIxLDQzLDE0NCwzNDMsMzgxLDUzMSwxMzEsMTMxLDE3OCwyMCw4NiwzOTksMTU2LDM3NSwxNjQsNTQxLDMwLDYwLDcxNSwxOTgsOTIsMTE4LDEzMSwxMzEsODYsODYsMzA2LDQwNyw4NiwyODAsNDU3LDE5Niw0ODgsMzU4LDEzMSwxMzEsMjQ0LDg2LDg2LDE0Myw4Niw4Niw4Niw4Niw4Niw2NjcsNTYzLDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDMzNiwzNjMsODYsODYsMzM2LDg2LDg2LDM4MCw2NzgsNjcsODYsODYsODYsNjc4LDg2LDg2LDg2LDUxMiw4NiwzMDcsODYsNzA4LDg2LDg2LDg2LDg2LDg2LDUyOCw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw1NjMsMzA3LDg2LDg2LDg2LDg2LDg2LDEwNCw0NTAsMzM3LDg2LDcyMCw4NiwzMiw0NTAsMzk3LDg2LDg2LDg2LDU4NywyMTgsNTU4LDcwOCw3MDgsMjkzLDcwOCw4Niw4Niw4Niw4Niw4Niw2OTQsMjA1LDg2LDgsODYsODYsODYsODYsNTQ5LDg2LDY2Nyw2OTcsNjk3LDY3OSw4Niw0NTgsNDYwLDg2LDg2LDY1MCw4Niw3MDgsNTQzLDg2LDg2LDg2LDI0NSw4Niw4Niw4NiwxNDAsMjE4LDEyNyw3MDgsNzA4LDQ1OCwxOTcsMTMxLDEzMSwxMzEsMTMxLDUwMCw4Niw4Niw0ODMsMjUxLDg2LDMwNiw1MTAsNTE1LDg2LDcyMiw4Niw4Niw4Niw2NSwyMDEsODYsODYsNDgzLDU4MCw0NzAsODYsODYsODYsMzY4LDEzMSwxMzEsMTMxLDY5NCwxMTQsMTEwLDU1NSw4Niw4NiwxMjMsNzIxLDE2MywxNDIsNzEzLDQxOCw4NiwzMTcsNjc1LDIwOSwyMTgsMjE4LDIxOCwzNzEsNTQ1LDU5Miw2MjksNDkwLDYwMywxOTksNDYsMzIwLDUyNSw2ODAsMzEwLDI3OSwzODgsMTExLDQyLDI1Miw1OTMsNjA3LDIzNSw2MTcsNDEwLDM3Nyw1MCw1NDgsMTM1LDM1NiwxNyw1MjAsMTg5LDExNiwzOTIsNjAwLDM0OSwzMzIsNDgyLDY5OSw2OTAsNTM1LDExOSwxMDYsNDUxLDcxLDE1Miw2NjcsMTMxLDIxOCwyMTgsMjY1LDY3MSw2MzcsNDkyLDUwNCw1MzMsNjgzLDI2OSwyNjksNjU4LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDQ5MSw2MTksODYsODYsNiw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4NiwyMjksODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsNjY3LDg2LDg2LDE3MSwxMzEsMTE4LDEzMSw2NTYsMjA2LDIzNCw1NzEsODksMzM0LDY3MCwyNDYsMzExLDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDUzNCw4Niw4Niw4Niw4Niw4Niw4Niw4Miw4Niw4Niw4Niw4Niw4Niw0MzAsODYsODYsODYsODYsODYsODYsODYsODYsODYsNTk5LDg2LDMyNCw4Niw0NzAsNjksNjQwLDI2NCwxMzEsNjI2LDEwMSwxNzQsODYsODYsNjY3LDIzMywxMDUsNzMsMzc0LDM5NCwyMjEsMjA0LDg0LDI4LDMyNiw4Niw4Niw0NzEsODYsODYsODYsMTA5LDU3Myw4NiwxNzEsMjAwLDIwMCwyMDAsMjAwLDIxOCwyMTgsODYsODYsODYsODYsNDYwLDEzMSwxMzEsMTMxLDg2LDUwNiw4Niw4Niw4Niw4Niw4NiwyMjAsNDA0LDM0LDYxNCw0Nyw0NDIsMzA1LDI1LDYxMiwzMzgsNjAxLDY0OCw3LDM0NCwyNTUsMTMxLDEzMSw1MSw4NiwzMTIsNTA3LDU2Myw4Niw4Niw4Niw4Niw1ODgsODYsODYsODYsODYsODYsNTMwLDUxMSw4Niw0NTgsMyw0MzUsMzg0LDU1Niw1MjIsMjMwLDUyNyw4NiwxMTgsODYsODYsNzE3LDg2LDEzNywyNzMsNzksMTgxLDQ4NCwyMyw5MywxMTIsNjU1LDI0OSw0MTcsNzAzLDM3MCw4Nyw5OCwzMTMsNjg0LDU4NSwxNTUsNDY1LDU5Niw0ODEsNjk1LDE4LDQxNiw0MjgsNjEsNzAxLDcwNiwyODIsNjQzLDQ5NSw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw1NDksODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsNTQ5LDEzMSwxMzEsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsMzA3LDg2LDg2LDg2LDE3MSw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw2NTAsMTMxLDQyMiw1NDIsNDIwLDI2MywyNCwxNzIsODYsODYsODYsODYsODYsNTY2LDg2LDg2LDEzMiw1NDAsMzk1LDM1Myw0OTQsNTE5LDE5LDQ4NSwyODQsNDcyLDEzMSwxMzEsMTMxLDE2LDcxNCw4NiwyMTEsNzA4LDg2LDg2LDg2LDY5NCw2OTgsODYsODYsNDgzLDcwNCw3MDgsMjE4LDI3Miw4Niw4NiwxMjAsODYsMTU5LDQ3OCw4NiwzMDcsMjQ3LDg2LDg2LDY2Myw1OTcsNDU5LDYyNyw2NjcsODYsODYsMjc3LDQ1NSwzOSwzMDIsODYsMjUwLDg2LDg2LDg2LDI3MSw5OSw0NTIsMzA2LDI4MSwzMjksNDAwLDIwMCw4Niw4NiwzNjIsNTQ5LDM1Miw2NDYsNDYxLDMyMyw1ODYsODYsODYsNCw3MDgsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsNzE3LDg2LDUxOCw4Niw4Niw2NTAsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTI1LDU1NCw0ODAsMzAwLDYxMyw3MiwzMzMsMjg4LDU2MSw1NDQsNjA0LDQ4LDcxOSw5MSwxNjksMTc2LDU5MCwyMjQsNzYsMTkxLDI5LDU1OSw1NjAsMjMxLDUzNywxNjYsNDc3LDUzOCwyNTYsNDM3LDEzMSwxMzEsNDY5LDE2Nyw0MCwwLDY4NSwyNjYsNDQxLDcwNSwyMzksNjQyLDQ3NSw1NjgsNjQwLDYxMCwyOTksNjczLDUxNywzMTgsMzg1LDIyLDIwMiwxODAsMTc5LDM1OSw0MjQsMjE1LDkwLDY2LDUyMSw2NTMsNDY3LDY4Miw0NTMsNDA5LDQ3OSw4OCwxMzEsNjYxLDM1LDMwMywxNSwyNjIsNjY2LDYzMCw3MTIsMTMxLDEzMSw2MTgsNjU5LDE3NSwyMTgsMTk1LDM0NywxOTMsMjI3LDI2MSwxNTAsMTY1LDcwOSw1NDYsMjk0LDU2OSw3MTAsMjcwLDQxMywzNzYsNTI0LDU1LDI0MiwzOCw0MTksNTI5LDE3MCw2NTcsMywzMDQsMTIyLDM3OSwyNzgsMTMxLDY1MSw4Niw2Nyw1NzYsNDU4LDQ1OCwxMzEsMTMxLDg2LDg2LDg2LDg2LDg2LDg2LDg2LDExOCwzMDksODYsODYsNTQ3LDg2LDg2LDg2LDg2LDY2Nyw2NTAsNjY0LDEzMSwxMzEsODYsODYsNTYsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSw4NiwzMDcsODYsODYsODYsNjY0LDIzOCw2NTAsODYsODYsNzE3LDg2LDExOCw4Niw4NiwzMTUsODYsNTksODYsODYsNTc0LDU0OSwxMzEsMTMxLDM0MCw1Nyw0MzYsODYsODYsODYsODYsODYsODYsNDU4LDcwOCw0OTksNjkxLDYyLDg2LDY1MCw4Niw4Niw2OTQsODYsODYsODYsMzE5LDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDE3MSw4Niw1NDksNjk0LDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDc3LDg2LDg2LDEzOSw4Niw1MDIsODYsODYsODYsNjY3LDU5NSwxMzEsMTMxLDEzMSw4NiwxMiw4NiwxMyw4Niw2MDksMTMxLDEzMSwxMzEsMTMxLDg2LDg2LDg2LDYyNSw4Niw2NjksODYsODYsMTgyLDEyOSw4Niw1LDY5NCwxMDQsODYsODYsODYsODYsMTMxLDEzMSw4Niw4NiwzODYsMTcxLDg2LDg2LDg2LDM0NSw4NiwzMjQsODYsNTg5LDg2LDIxMywzNiwxMzEsMTMxLDEzMSwxMzEsMTMxLDg2LDg2LDg2LDg2LDEwNCwxMzEsMTMxLDEzMSwxNDEsMjkwLDgwLDY3Nyw4Niw4Niw4NiwyNjcsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDg2LDY2NywxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSw1MTUsODYsODYsMzMsMTM2LDY2OSw4Niw3MTEsNTE1LDg2LDg2LDU1MCw2NDAsODYsMTA0LDcwOCw1MTUsODYsMTU5LDM3Miw3MTcsODYsODYsNDQ0LDUxNSw4Niw4Niw2NjMsMzcsODYsNTYzLDQ2MCw4NiwzOTAsNjI0LDcwMiwxMzEsMTMxLDEzMSwxMzEsMzg5LDU5LDcwOCw4Niw4NiwzNDEsMjA4LDcwOCw2MzUsMjk1LDY5LDEwOCw0MzEsNTA4LDEwMCwxOTAsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSw4Niw4Niw4Niw2NDksNTE2LDY2MCwxMzEsMTMxLDg2LDg2LDg2LDIxOCw2MzEsNzA4LDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSw4Niw4NiwzNDEsNTc1LDIzOCw1MTQsMTMxLDEzMSw4Niw4Niw4NiwyMTgsMjkxLDcwOCwzMDcsMTMxLDg2LDg2LDMwNiwzNjcsNzA4LDEzMSwxMzEsMTMxLDg2LDM3OCw2OTcsODYsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDYxNSwyNTMsODYsODYsODYsMjkyLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSw4Niw4Niw4NiwxMDQsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDY5LDg2LDM0MSw1NTMsNTQ5LDg2LDMwNyw4Niw4Niw2NDUsMjc1LDQ1NSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsNzA4LDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDg2LDg2LDg2LDg2LDg2LDg2LDY2Nyw0NjAsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsNzE3LDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDY2NywxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsMTcxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsMTA0LDg2LDY2Nyw0NTksMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsODYsNDU4LDIyNSw4Niw4Niw4Niw1MTYsNTQ5LDExLDM5MCw0MDUsODYsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDg2LDg2LDg2LDg2LDQ2MCw0NCwyMTgsMTk3LDcxMSw1MTUsMTMxLDEzMSwxMzEsMTMxLDY2NCwxMzEsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsMzA3LDEzMSw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4NiwzMDgsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDY0MCwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDg2LDg2LDg2LDg2LDg2LDg2LDExOCwzMDcsMTA0LDI4Niw1OTEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsNTQ5LDg2LDg2LDY4MSw4Niw4Niw3NSwxODUsMzE0LDU4Miw4NiwzNTgsNDk2LDQ3NCw4NiwxMDQsMTMxLDg2LDg2LDg2LDg2LDE0NiwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDg2LDg2LDg2LDg2LDg2LDE3MSw4Niw2NDAsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwyNDYsNTAzLDY4OSwzMzksNjc0LDgxLDI1OCw0MTUsNDM5LDEyOCw1NjIsMzY2LDQxNCwyNDYsNTAzLDY4OSw1ODMsMjIyLDU1NywzMTYsNjM2LDY2NSwxODYsMzU1LDk1LDY3MCwyNDYsNTAzLDY4OSwzMzksNjc0LDU1NywyNTgsNDE1LDQzOSwxODYsMzU1LDk1LDY3MCwyNDYsNTAzLDY4OSw0NDYsNjQ0LDUzNiw2NTIsMzMxLDUzMiwzMzUsNDQwLDI3NCw0MjEsMjk3LDU3MCw3NCw0MjUsMzY0LDQyNSw2MDYsNTUyLDQwMyw1MDksMTM0LDM2NSw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4NiwyMTgsMjE4LDIxOCw0OTgsMjE4LDIxOCw1NzcsNjI3LDU1MSw0OTcsNTcyLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSw1NTMsMzU0LDIzNiwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDI5Niw0NTUsMTMxLDEzMSw0NTYsMjQzLDEwMyw4Niw0MSw0NTksMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSw5LDI3NiwxNTgsNzE2LDM5Myw1NjQsMzgzLDQ4OSw0MDEsNjU0LDIxMCw2NTQsMTMxLDEzMSwxMzEsNjQwLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSw4Niw4Niw2NTAsODYsODYsODYsODYsODYsODYsNzE3LDY2Nyw1NjMsNTYzLDU2Myw4Niw1NDksMTAyLDY4NiwxMzMsMjQ2LDYwNSw4Niw0NDgsODYsODYsMjA3LDMwNywxMzEsMTMxLDEzMSw2NDEsODYsMTc3LDYxMSw0NDUsMzczLDE5NCw1ODQsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDMwOCwzMDcsMTcxLDg2LDg2LDg2LDg2LDg2LDg2LDg2LDcxNyw4Niw4Niw4Niw4Niw4Niw0NjAsMTMxLDEzMSw2NTAsODYsODYsODYsNjk0LDcwOCw4Niw4Niw2OTQsODYsNDU4LDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDY2Nyw2OTQsMjg5LDY1MCw2NjcsMTMxLDEzMSw4Niw2NDAsMTMxLDEzMSw2NjQsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsMTcxLDEzMSwxMzEsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsODYsNDYwLDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDg2LDQ1OCw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw4Niw2NDAsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDQ2NiwyMDMsMTQ5LDQyOSw5NCw0MzIsMTYwLDY4Nyw1MzksNjMsMjM3LDI4MywxOTIsMjQ4LDM0OCwyNTksNDI3LDUyNiwzOTYsNjc2LDI1NCw0NjgsNDg3LDIxMiwzMjcsNjIzLDQ5LDYzMywzMjIsNDkzLDQzNCw2ODgsMzU3LDM2MSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzEsMTMxLDEzMSwxMzFdKSx7bWFwU3RyOiLYtdmE2Ykg2KfZhNmE2Ycg2LnZhNmK2Ycg2YjYs9mE2YXYrNmEINis2YTYp9mE2Yfjgq3jg63jg6Hjg7zjg4jjg6tyYWTiiJVzMuOCqOOCueOCr+ODvOODieOCreODreOCsOODqeODoOOCreODreODr+ODg+ODiOOCsOODqeODoOODiOODs+OCr+ODq+OCvOOCpOODreOCteODs+ODgeODvOODoOODkeODvOOCu+ODs+ODiOODlOOCouOCueODiOODq+ODleOCoeODqeODg+ODieODluODg+OCt+OCp+ODq+ODmOOCr+OCv+ODvOODq+ODnuODs+OCt+ODp+ODs+ODn+ODquODkOODvOODq+ODrOODs+ODiOOCsuODs+KAsuKAsuKAsuKAsjHigYQxMHZpaWkoMTApKDExKSgxMikoMTMpKDE0KSgxNSkoMTYpKDE3KSgxOCkoMTkpKDIwKeKIq+KIq+KIq+KIqyjsmKTsoIQpKOyYpO2bhCnjgqLjg5Hjg7zjg4jjgqLjg6vjg5XjgqHjgqLjg7Pjg5rjgqLjgqTjg4vjg7PjgrDjgqjjg7zjgqvjg7zjgqvjg6njg4Pjg4jjgqvjg63jg6rjg7zjgq3jg6Xjg6rjg7zjgq7jg6vjg4Djg7zjgq/jg63jg7zjg43jgrXjgqTjgq/jg6vjgrfjg6rjg7PjgrDjg5Djg7zjg6zjg6vjg5XjgqPjg7zjg4jjg53jgqTjg7Pjg4jjg57jgqTjgq/jg63jg5/jgq/jg63jg7Pjg6Hjgqzjg4jjg7Pjg6rjg4Pjg4jjg6vjg6vjg7zjg5bjg6vmoKrlvI/kvJrnpL5rY2FsbeKIlXMyY+KIlWtn2KfZg9io2LHZhdit2YXYr9i12YTYudmF2LHYs9mI2YTYsduM2KfZhDHigYQ0MeKBhDIz4oGENCDMiMyB4L6y4L2x4L6A4L6z4L2x4L6AIMyIzYIgzJPMgCDMk8yBIMyTzYIgzJTMgCDMlMyBIMyUzYIgzIjMgOKAteKAteKAtWEvY2Evc2Mvb2MvdXRlbGZheDHigYQ3MeKBhDkx4oGEMzLigYQzMeKBhDUy4oGENTPigYQ1NOKBhDUx4oGENjXigYQ2MeKBhDgz4oGEODXigYQ4N+KBhDh4aWkw4oGEM+KIruKIruKIrigxKSgyKSgzKSg0KSg1KSg2KSg3KSg4KSg5KShhKShiKShjKShkKShlKShmKShnKShoKShpKShqKShrKShsKShtKShuKShvKShwKShxKShyKShzKSh0KSh1KSh2KSh3KSh4KSh5KSh6KTo6PT09PSjhhIApKOGEgiko4YSDKSjhhIUpKOGEhiko4YSHKSjhhIkpKOGEiyko4YSMKSjhhI4pKOGEjyko4YSQKSjhhJEpKOGEkiko6rCAKSjrgpgpKOuLpCko6528KSjrp4gpKOuwlCko7IKsKSjslYQpKOyekCko7LCoKSjsubQpKO2DgCko7YyMKSjtlZgpKOyjvCko5LiAKSjkuowpKOS4iSko5ZubKSjkupQpKOWFrSko5LiDKSjlhaspKOS5nSko5Y2BKSjmnIgpKOeBqyko5rC0KSjmnKgpKOmHkSko5ZyfKSjml6UpKOagqiko5pyJKSjnpL4pKOWQjSko54m5KSjosqEpKOelnSko5Yq0KSjku6MpKOWRvCko5a2mKSjnm6MpKOS8gSko6LOHKSjljZQpKOelrSko5LyRKSjoh6opKOiHsylwdGUxMOaciDEx5pyIMTLmnIhlcmdsdGTjgqLjg7zjg6vjgqTjg7Pjg4Hjgqbjgqnjg7Pjgqrjg7Pjgrnjgqrjg7zjg6DjgqvjgqTjg6rjgqzjg63jg7Pjgqzjg7Pjg57jgq7jg4vjg7zjgrHjg7zjgrnjgrPjg6vjg4rjgrPjg7zjg53jgrvjg7Pjg4Hjg4Djg7zjgrnjg47jg4Pjg4jjg4/jgqTjg4Tjg5Hjg7zjg4Tjg5Tjgq/jg6vjg5Xjg6njg7Pjg5rjg4vjg5Ljg5jjg6vjg4Tjg5rjg7Pjgrnjg5rjg7zjgrjjg5njg7zjgr/jg5zjg6vjg4jjg53jg7Pjg4njg5vjg7zjg6vjg5vjg7zjg7Pjg57jgqTjg6vjg57jg4Pjg4/jg57jg6vjgq/jg6Tjg7zjg4njg6Tjg7zjg6vjg6bjgqLjg7Pjg6vjg5Tjg7wxMOeCuTEx54K5MTLngrkxM+eCuTE054K5MTXngrkxNueCuTE354K5MTjngrkxOeeCuTIw54K5MjHngrkyMueCuTIz54K5MjTngrlocGFiYXJkbTJkbTNraHptaHpnaHp0aHptbTJjbTJrbTJtbTNjbTNrbTNrcGFtcGFncGFsb2dtaWxtb2xwcG124oiVbWHiiJVtMTDml6UxMeaXpTEy5pelMTPml6UxNOaXpTE15pelMTbml6UxN+aXpTE45pelMTnml6UyMOaXpTIx5pelMjLml6UyM+aXpTI05pelMjXml6UyNuaXpTI35pelMjjml6UyOeaXpTMw5pelMzHml6VnYWxmZmlmZmzXqda814HXqda814Ig2YzZkSDZjdmRINmO2ZEg2Y/ZkSDZkNmRINmR2bDZgNmO2ZHZgNmP2ZHZgNmQ2ZHYqtis2YXYqtit2KzYqtit2YXYqtiu2YXYqtmF2KzYqtmF2K3YqtmF2K7YrNmF2K3YrdmF2YrYrdmF2YnYs9it2KzYs9is2K3Ys9is2YnYs9mF2K3Ys9mF2KzYs9mF2YXYtdit2K3YtdmF2YXYtNit2YXYtNis2YrYtNmF2K7YtNmF2YXYttit2YnYttiu2YXYt9mF2K3Yt9mF2YXYt9mF2YrYudis2YXYudmF2YXYudmF2YnYutmF2YXYutmF2YrYutmF2YnZgdiu2YXZgtmF2K3ZgtmF2YXZhNit2YXZhNit2YrZhNit2YnZhNis2KzZhNiu2YXZhNmF2K3Zhdit2KzZhdit2YrZhdis2K3Zhdis2YXZhdiu2YXZhdis2K7Zh9mF2KzZh9mF2YXZhtit2YXZhtit2YnZhtis2YXZhtis2YnZhtmF2YrZhtmF2YnZitmF2YXYqNiu2YrYqtis2YrYqtis2YnYqtiu2YrYqtiu2YnYqtmF2YrYqtmF2YnYrNmF2YrYrNit2YnYrNmF2YnYs9iu2YnYtdit2YrYtNit2YrYttit2YrZhNis2YrZhNmF2YrZitit2YrZitis2YrZitmF2YrZhdmF2YrZgtmF2YrZhtit2YrYudmF2YrZg9mF2YrZhtis2K3Zhdiu2YrZhNis2YXZg9mF2YXYrNit2YrYrdis2YrZhdis2YrZgdmF2YrYqNit2YrYs9iu2YrZhtis2YrYtdmE25LZgtmE25LwnYWY8J2FpfCdha7wnYWY8J2FpfCdha/wnYWY8J2FpfCdhbDwnYWY8J2FpfCdhbHwnYWY8J2FpfCdhbLwnYa58J2FpfCdha7wnYa68J2FpfCdha7wnYa58J2FpfCdha/wnYa68J2FpfCdha/jgJRz44CVcHB244CU5pys44CV44CU5LiJ44CV44CU5LqM44CV44CU5a6J44CV44CU54K544CV44CU5omT44CV44CU55uX44CV44CU5Yud44CV44CU5pWX44CVIMyEIMyBIMync3NpzIdpamzCt8q8bmTFvmxqbmpkeiDMhiDMhyDMiiDMqCDMgyDMiyDOudWl1oLYp9m02YjZtNuH2bTZitm04KSV4KS84KSW4KS84KSX4KS84KSc4KS84KSh4KS84KSi4KS84KSr4KS84KSv4KS84Kah4Ka84Kai4Ka84Kav4Ka84Kiy4Ki84Ki44Ki84KiW4Ki84KiX4Ki84Kic4Ki84Kir4Ki84Kyh4Ky84Kyi4Ky84LmN4Liy4LuN4Lqy4Lqr4LqZ4Lqr4Lqh4L2C4L634L2M4L634L2R4L634L2W4L634L2b4L634L2A4L614L2x4L2y4L2x4L204L6y4L6A4L6z4L6A4L6S4L634L6c4L634L6h4L634L6m4L634L6r4L634L6Q4L61Ycq+4byAzrnhvIHOueG8gs654byDzrnhvITOueG8hc654byGzrnhvIfOueG8oM654byhzrnhvKLOueG8o8654bykzrnhvKXOueG8ps654bynzrnhvaDOueG9oc654b2izrnhvaPOueG9pM654b2lzrnhvabOueG9p8654b2wzrnOsc65zqzOueG+ts65IM2C4b20zrnOt865zq7OueG/hs654b28zrnPic65z47OueG/ts65IMyzISEgzIU/Pz8hIT9yc8KwY8KwZm5vc210bWl2aXjiq53MuCDjgpkg44Ka44KI44KK44Kz44OIMzMzNDM17LC46rOg7KO87J2YMzYzNzM4Mzk0MDQyNDQ0NTQ2NDc0ODQ5NTAz5pyINOaciDXmnIg25pyIN+aciDjmnIg55pyIaGdlduOCruOCrOODh+OCt+ODieODq+ODiuODjuODlOOCs+ODk+ODq+ODmuOCveODm+ODs+ODquODqeODrOODoGRhYXVvdnBjaXXlubPmiJDmmK3lkozlpKfmraPmmI7msrtuYc68YWtha2JtYmdicGZuZs68Zs68Z21nzrxsbWxkbGtsZm1ubc68bXBzbnPOvHNtc252zrx2a3Zwd253zrx3bXdrd2vPiW3PiWJxY2NjZGRiZ3loYWlua2trdGxubHhwaHByc3Jzdndic3TVtNW21bTVpdW01avVvtW21bTVrdeZ1rTXsta316nXgdep14LXkNa315DWuNeQ1rzXkda815LWvNeT1rzXlNa815XWvNeW1rzXmNa815nWvNea1rzXm9a815zWvNee1rzXoNa816HWvNej1rzXpNa816bWvNen1rzXqNa816rWvNeV1rnXkda/15vWv9ek1r/XkNec2KbYp9im25XYptmI2Kbbh9im24bYptuI2KbbkNim2YnYptis2KbYrdim2YXYptmK2KjYrNio2YXYqNmJ2KjZitiq2YnYqtmK2KvYrNir2YXYq9mJ2KvZitiu2K3Yttis2LbZhdi32K3YuNmF2LrYrNmB2KzZgdit2YHZidmB2YrZgtit2YLZidmC2YrZg9in2YPYrNmD2K3Zg9iu2YPZhNmD2YnZg9mK2YbYrtmG2YnZhtmK2YfYrNmH2YnZh9mK2YrZidiw2bDYsdmw2YnZsNim2LHYptiy2KbZhtio2LLYqNmG2KrYsdiq2LLYqtmG2KvYsdir2LLYq9mG2YXYp9mG2LHZhtiy2YbZhtmK2LHZitiy2KbYrtim2YfYqNmH2KrZh9i12K7ZhtmH2YfZsNir2YfYs9mH2LTZh9i32YnYt9mK2LnZidi52YrYutmJ2LrZitiz2YnYs9mK2LTZidi02YrYtdmJ2LXZiti22YnYttmK2LTYrti02LHYs9ix2LXYsdi22LHYp9mLINmL2YDZi9mA2ZEg2ZLZgNmS2YTYotmE2KPZhNil8J2Fl/CdhaUwLDEsMiwzLDQsNSw2LDcsOCw5LHd6aHZzZHdjbWNtZGRq44G744GL44Kz44Kzw6DDocOiw6PDpMOlw6bDp8Oow6nDqsOrw6zDrcOuw6/DsMOxw7LDs8O0w7XDtsO4w7nDusO7w7zDvcO+xIHEg8SFxIfEicSLxI3Ej8SRxJPElcSXxJnEm8SdxJ/EocSjxKXEp8SpxKvErcSvxLXEt8S6xLzEvsWCxYTFhsWIxYvFjcWPxZHFk8WVxZfFmcWbxZ3Fn8WhxaPFpcWnxanFq8Wtxa/FscWzxbXFt8O/xbrFvMmTxoPGhcmUxojJlsmXxozHncmZyZvGksmgyaPJqcmoxpnJr8myybXGocajxqXKgMaoyoPGrcqIxrDKisqLxrTGtsqSxrnGvceOx5DHkseUx5bHmMeax5zHn8ehx6PHpcenx6nHq8etx6/HtcaVxr/Huce7x73Hv8iByIPIhciHyInIi8iNyI/IkciTyJXIl8iZyJvIncifxp7Io8ilyKfIqciryK3Ir8ixyLPisaXIvMaa4rGmyYLGgMqJyozJh8mJyYvJjcmPyabJucm7yoHKlc2xzbPKuc23O8+zzq3Or8+Mz43Oss6zzrTOtc62zrjOus67zr3Ovs6/z4DPgc+Dz4TPhc+Gz4fPiM+Kz4vPl8+Zz5vPnc+fz6HPo8+lz6fPqc+rz63Pr8+4z7vNu828zb3RkNGR0ZLRk9GU0ZXRltGX0ZjRmdGa0ZvRnNGd0Z7Rn9Cw0LHQstCz0LTQtdC20LfQuNC50LrQu9C80L3QvtC/0YDRgdGC0YPRhNGF0YbRh9GI0YnRitGL0YzRjdGO0Y/RodGj0aXRp9Gp0avRrdGv0bHRs9G10bfRudG70b3Rv9KB0ovSjdKP0pHSk9KV0pfSmdKb0p3Sn9Kh0qPSpdKn0qnSq9Kt0q/SsdKz0rXSt9K50rvSvdK/04LThNOG04jTitOM047TkdOT05XTl9OZ05vTndOf06HTo9Ol06fTqdOr063Tr9Ox07PTtdO307nTu9O907/UgdSD1IXUh9SJ1IvUjdSP1JHUk9SV1JfUmdSb1J3Un9Sh1KPUpdSn1KnUq9St1K/VodWi1aPVpNWm1afVqNWp1arVrNWu1a/VsNWx1bLVs9W11bfVuNW51brVu9W81b3Vv9aA1oHWg9aE1oXWhuC8i+K0p+K0reGDnOGPsOGPseGPsuGPs+GPtOGPteqZi8mQyZHhtILJnOG0luG0l+G0neG0pcmSyZXJn8mhyaXJquG1u8qdya3htoXKn8mxybDJs8m0ybjKgsar4bScypDKkeG4geG4g+G4heG4h+G4ieG4i+G4jeG4j+G4keG4k+G4leG4l+G4meG4m+G4neG4n+G4oeG4o+G4peG4p+G4qeG4q+G4reG4r+G4seG4s+G4teG4t+G4ueG4u+G4veG4v+G5geG5g+G5heG5h+G5ieG5i+G5jeG5j+G5keG5k+G5leG5l+G5meG5m+G5neG5n+G5oeG5o+G5peG5p+G5qeG5q+G5reG5r+G5seG5s+G5teG5t+G5ueG5u+G5veG5v+G6geG6g+G6heG6h+G6ieG6i+G6jeG6j+G6keG6k+G6leG6oeG6o+G6peG6p+G6qeG6q+G6reG6r+G6seG6s+G6teG6t+G6ueG6u+G6veG6v+G7geG7g+G7heG7h+G7ieG7i+G7jeG7j+G7keG7k+G7leG7l+G7meG7m+G7neG7n+G7oeG7o+G7peG7p+G7qeG7q+G7reG7r+G7seG7s+G7teG7t+G7ueG7u+G7veG7v+G8kOG8keG8kuG8k+G8lOG8leG8sOG8seG8suG8s+G8tOG8teG8tuG8t+G9gOG9geG9guG9g+G9hOG9heG9keG9k+G9leG9l+G+sOG+seG9ss6Q4b+Q4b+R4b22zrDhv6Dhv6Hhvbrhv6Vg4b244oCQK+KIkuKIkeOAiOOAieKwsOKwseKwsuKws+KwtOKwteKwtuKwt+KwuOKwueKwuuKwu+KwvOKwveKwvuKwv+KxgOKxgeKxguKxg+KxhOKxheKxhuKxh+KxiOKxieKxiuKxi+KxjOKxjeKxjuKxj+KxkOKxkeKxkuKxk+KxlOKxleKxluKxl+KxmOKxmeKxmuKxm+KxnOKxneKxnuKxocmr4bW9yb3isajisarisazisbPisbbIv8mA4rKB4rKD4rKF4rKH4rKJ4rKL4rKN4rKP4rKR4rKT4rKV4rKX4rKZ4rKb4rKd4rKf4rKh4rKj4rKl4rKn4rKp4rKr4rKt4rKv4rKx4rKz4rK14rK34rK54rK74rK94rK/4rOB4rOD4rOF4rOH4rOJ4rOL4rON4rOP4rOR4rOT4rOV4rOX4rOZ4rOb4rOd4rOf4rOh4rOj4rOs4rOu4rOz4rWh5q+N6b6f5Lio5Li25Li/5LmZ5LqF5Lqg5Lq65YS/5YWl5YaC5YaW5Yar5Yeg5Ye15YiA5Yqb5Yu55YyV5Yya5Yy45Y2c5Y2p5Y6C5Y625Y+I5Y+j5ZuX5aOr5aSC5aSK5aSV5aWz5a2Q5a6A5a+45bCP5bCi5bC45bGu5bGx5beb5bel5bex5be+5bmy5bm65bm/5bu05bu+5byL5byT5b2Q5b2h5b2z5b+D5oiI5oi25omL5pSv5pS05paH5paX5pak5pa55peg5puw5qyg5q2i5q255q6z5q+L5q+U5q+b5rCP5rCU54iq54i254i754i/54mH54mZ54mb54qs546E546J55Oc55Om55SY55Sf55So55Sw55aL55aS55m255m955qu55q/55uu55+b55+i55+z56S656a456a+56m056uL56u557Gz57O457y2572R576K57696ICB6ICM6ICS6ICz6IG/6IKJ6Iej6Ie86IiM6Iib6Iif6Imu6Imy6Im46JmN6Jmr6KGA6KGM6KGj6KW+6KaL6KeS6KiA6LC36LGG6LGV6LG46LKd6LWk6LWw6Laz6Lqr6LuK6L6b6L6w6L616YKR6YWJ6YeG6YeM6ZW36ZaA6Zic6Zq26Zq56Zuo6Z2R6Z2e6Z2i6Z2p6Z+L6Z+t6Z+z6aCB6aKo6aOb6aOf6aaW6aaZ6aas6aqo6auY6auf6ayl6ayv6ayy6ay86a2a6bOl6bm16bm/6bql6bq76buD6buN6buR6bu56bu96byO6byT6byg6by76b2K6b2S6b6N6b6c6b6gLuOAkuWNhOWNheGEgeGGquGGrOGGreGEhOGGsOGGseGGsuGGs+GGtOGGteGEmuGEiOGEoeGEiuGEjeGFoeGFouGFo+GFpOGFpeGFpuGFp+GFqOGFqeGFquGFq+GFrOGFreGFruGFr+GFsOGFseGFsuGFs+GFtOGFteGElOGEleGHh+GHiOGHjOGHjuGHk+GHl+GHmeGEnOGHneGHn+GEneGEnuGEoOGEouGEo+GEp+GEqeGEq+GErOGEreGEruGEr+GEsuGEtuGFgOGFh+GFjOGHseGHsuGFl+GFmOGFmeGGhOGGheGGiOGGkeGGkuGGlOGGnuGGoeS4iuS4reS4i+eUsuS4meS4geWkqeWcsOWVj+W5vOeuj+yasOenmOeUt+mBqeWEquWNsOazqOmgheWGmeW3puWPs+WMu+Wul+WknOODhuODjOODouODqOODsOODseODsuqZgeqZg+qZheqZh+qZieqZjeqZj+qZkeqZk+qZleqZl+qZmeqZm+qZneqZn+qZoeqZo+qZpeqZp+qZqeqZq+qZreqageqag+qaheqah+qaieqai+qajeqaj+qakeqak+qaleqal+qameqam+qco+qcpeqcp+qcqeqcq+qcreqcr+qcs+qcteqct+qcueqcu+qcveqcv+qdgeqdg+qdheqdh+qdieqdi+qdjeqdj+qdkeqdk+qdleqdl+qdmeqdm+qdneqdn+qdoeqdo+qdpeqdp+qdqeqdq+qdreqdr+qduuqdvOG1ueqdv+qegeqeg+qeheqeh+qejOqekeqek+qel+qemeqem+qeneqen+qeoeqeo+qepeqep+qeqcmsyp7Kh+qtk+qeteqet+qst+qtkuGOoOGOoeGOouGOo+GOpOGOpeGOpuGOp+GOqOGOqeGOquGOq+GOrOGOreGOruGOr+GOsOGOseGOsuGOs+GOtOGOteGOtuGOt+GOuOGOueGOuuGOu+GOvOGOveGOvuGOv+GPgOGPgeGPguGPg+GPhOGPheGPhuGPh+GPiOGPieGPiuGPi+GPjOGPjeGPjuGPj+GPkOGPkeGPkuGPk+GPlOGPleGPluGPl+GPmOGPmeGPmuGPm+GPnOGPneGPnuGPn+GPoOGPoeGPouGPo+GPpOGPpeGPpuGPp+GPqOGPqeGPquGPq+GPrOGPreGPruGPr+ixiOabtOiziOa7keS4suWPpeWlkeWWh+WliOaHtueZqee+heiYv+ieuuijuOmCj+aogua0m+eDmeePnuiQvemFqumnseS6guWNteashOeIm+iYrem4nuW1kOa/q+iXjeilpOaLieiHmOign+W7iuacl+a1queLvOmDjuS+huWGt+WLnuaThOark+eIkOebp+iYhuiZnOi3r+mcsumtr+m3uueijOelv+e2oOiPiemMhOirluWjn+W8hOexoOiBvueJouejiuizgumbt+WjmOWxouaok+a3mua8j+e0r+e4t+mZi+WLkuiCi+WHnOWHjOeonOe2vuiPsemZteiugOaLj+irvuS4ueWvp+aAkueOh+eVsOWMl+eju+S+v+W+qeS4jeazjOaVuOe0ouWPg+WhnuecgeiRieiqquauuuayiOaLvuiLpeaOoOeVpeS6ruWFqeWHieaigeezp+iJr+irkumHj+WLteWRguW7rOaXhea/vuekqumWrempqum6l+m7juabhuatt+i9ouW5tOaGkOaIgOaSmua8o+eFieeSieeniue3tOiBr+i8puiTrumAo+mNiuWIl+WKo+WSveeDiOijguW7ieW/teaNu+auruewvueNteS7pOWbueW2uuaAnOeOsueRqee+muiBhumItOmbtumdiOmgmOS+i+emrumGtOmauOaDoeS6huWDmuWvruWwv+aWmeeHjueZguiTvOmBvOaaiOmYruWKieadu+afs+a1gea6nOeQieeVmeehq+e0kOmhnuaIrumZuOWAq+W0mea3qui8quW+i+aFhOagl+mahuWIqeWQj+WxpeaYk+adjuaiqOazpeeQhueXoue9ueijj+ijoembouWMv+a6uuWQneeHkOeSmOiXuumao+mxl+m6n+ael+a3i+iHqOesoOeykueLgOeCmeitmOS7gOiMtuWIuuWIh+W6puaLk+ezluWuhea0nuaatOi8u+mZjeW7k+WFgOWXgOWhmuaZtOWHnueMquebiuekvOelnuelpeemj+mdlueyvuiYkuiruOmAuOmDvemjr+mjvOmkqOm2tOmDnumat+S+ruWDp+WFjeWLieWLpOWNkeWWneWYhuWZqOWhgOWiqOWxpOaClOaFqOaGjuaHsuaVj+aXouaakeaihea1t+a4mua8oueFrueIq+eQoueikeelieeliOelkOelluemjeemjuepgOeqgeevgOe4iee5gee9suiAheiHreiJueiRl+ikkOimluisgeisueizk+i0iOi+tumbo+mfv+mgu+aBtfCki67oiJjkuKblhrXlhajkvoDlhYXlhoDli4fli7rllZXllpnll6LlorPlpYTlpZTlqaLlrKjlu5Llu5nlvanlvq3mg5jmhY7mhIjmhaDmiLTmj4TmkJzmkZLmlZbmnJvmnZbmu5vmu4vngJ7nnqfniLXniq/nkbHnlIbnlLvnmJ3nmJ/nm5vnm7TnnYrnnYDno4znqrHnsbvntZvnvL7ojZLoj6/onbnopYHopoboqr/oq4voq63ororovLjpgbLphpnpibbpmbzpn5vpoIvprJLwoqGK8KKhhPCjj5Xjrp3kgJjkgLnwpYmJ8KWzkPCnu5PpvYPpvo7Xoted2bHZu9m+2oDZutm/2bnapNqm2oTag9qG2ofajdqM2o7aiNqY2pHaqdqv2rPasdq62rvbgNuB2r7bk9qt24vbhduJ44CB44CW44CX4oCU4oCTX3t944CQ44CR44CK44CL44CM44CN44CO44CPW10jJiotPD5cXCQlQNih2KTYqVwiJ158fuKmheKmhuODu+OCpeODo8KiwqPCrMKmwqXigqnilILihpDihpHihpLihpPilqDil4vwkJCo8JCQqfCQkKrwkJCr8JCQrPCQkK3wkJCu8JCQr/CQkLDwkJCx8JCQsvCQkLPwkJC08JCQtfCQkLbwkJC38JCQuPCQkLnwkJC68JCQu/CQkLzwkJC98JCQvvCQkL/wkJGA8JCRgfCQkYLwkJGD8JCRhPCQkYXwkJGG8JCRh/CQkYjwkJGJ8JCRivCQkYvwkJGM8JCRjfCQkY7wkJGP8JCTmPCQk5nwkJOa8JCTm/CQk5zwkJOd8JCTnvCQk5/wkJOg8JCTofCQk6LwkJOj8JCTpPCQk6XwkJOm8JCTp/CQk6jwkJOp8JCTqvCQk6vwkJOs8JCTrfCQk67wkJOv8JCTsPCQk7HwkJOy8JCTs/CQk7TwkJO18JCTtvCQk7fwkJO48JCTufCQk7rwkJO78JCzgPCQs4HwkLOC8JCzg/CQs4TwkLOF8JCzhvCQs4fwkLOI8JCzifCQs4rwkLOL8JCzjPCQs43wkLOO8JCzj/CQs5DwkLOR8JCzkvCQs5PwkLOU8JCzlfCQs5bwkLOX8JCzmPCQs5nwkLOa8JCzm/CQs5zwkLOd8JCznvCQs5/wkLOg8JCzofCQs6LwkLOj8JCzpPCQs6XwkLOm8JCzp/CQs6jwkLOp8JCzqvCQs6vwkLOs8JCzrfCQs67wkLOv8JCzsPCQs7HwkLOy8JGjgPCRo4HwkaOC8JGjg/CRo4TwkaOF8JGjhvCRo4fwkaOI8JGjifCRo4rwkaOL8JGjjPCRo43wkaOO8JGjj/CRo5DwkaOR8JGjkvCRo5PwkaOU8JGjlfCRo5bwkaOX8JGjmPCRo5nwkaOa8JGjm/CRo5zwkaOd8JGjnvCRo5/Esci34oiH4oiC8J6kovCepKPwnqSk8J6kpfCepKbwnqSn8J6kqPCepKnwnqSq8J6kq/CepKzwnqSt8J6krvCepK/wnqSw8J6ksfCepLLwnqSz8J6ktPCepLXwnqS28J6kt/CepLjwnqS58J6kuvCepLvwnqS88J6kvfCepL7wnqS/8J6lgPCepYHwnqWC8J6lg9mu2qHZr+Wtl+WPjOWkmuino+S6pOaYoOeEoeWJjeW+jOWGjeaWsOWInee1guiyqeWjsOWQuea8lOaKleaNlemBiuaMh+emgeepuuWQiOa6gOeUs+WJsuWWtumFjeW+l+WPr+S4veS4uOS5gfCghKLkvaDkvrvlgILlgbrlgpnlg4/jkp7woJi65YWU5YWk5YW38KCUnOOSueWFp/CglYvlhpflhqTku4zlhqzwqYef5YiD45Of5Yi75YmG5Ym345SV5YyF5YyG5Y2J5Y2a5Y2z5Y295Y2/8KCorOeBsOWPiuWPn/CgraPlj6vlj7HlkIblkp7lkLjlkYjlkajlkqLlk7bllJDllZPllaPlloTllqvllrPll4LlnJblnJflmZHlmbTlo67ln47ln7TloI3lnovloLLloLHloqzwoZOk5aOy5aO35aSG5aSi5aWi8KGaqPChm6rlp6zlqJvlqKflp5jlqabjm67lrIjlrL7woaeI5a+D5a+Y5a+z8KGsmOWvv+WwhuOegeWxoOWzgOWyjfCht6TltYPwobem5bWu5bWr5bW85beh5bei46Cv5be95bio5bi95bmp46Gi8KKGg+OhvOW6sOW6s+W6tvCqjpLwooyx6IiB5byi46OH8KOKuPCmh5rlvaLlvavjo6Plvprlv43lv5flv7nmgoHjpLrjpJzwopuU5oOH5oWI5oWM5oW65oay5oak5oav5oee5oib5omd5oqx5ouU5o2Q8KKsjOaMveaLvOaNqOaOg+aPpPCir7HmkKLmj4XmjqnjqK7mkanmkb7mkp3mkbfjqazmlazwo4CK5pej5pu45pmJ46yZ46yI46uk5YaS5YaV5pyA5pqc6IKt5I+Z5pyh5p2e5p2T8KOPg+OtieafuuaeheahkvCjka3moo7moJ/mpJTmpYLmpqPmp6rmqqjwo5qj5qub47CY5qyh8KOip+atlOOxjuatsuaun+auu/Cjqo3wobSL8KOruuaxjvCjsrzmsr/ms43msafmtJbmtL7mtanmtbjmtoXwo7Se5rS05riv5rmu47Sz5ruH8KO7kea3uea9rvCjvZ7wo76O5r+G54C554Cb47aW54GK54G954G354Kt8KCUpeeFhfCkiaPnhpzniKjniZDwpJiI54qA54qV8KSctfCkoJTnjbrnjovjuqznjqXjurjnkYfnkZznkoXnk4rjvJvnlKTwpLC255S+8KSykvCihp/nmJDwpL6h8KS+uPClgYTjv7zkgIjwpYOz8KWDsvClhJnwpYSz55ye55yf556L5IGG5IKW8KWQneehjuSDo/ClmKbwpZqa8KWbheenq+SEr+epiuepj/Clpbzwpaqn5IiC8KWuq+evhuevieSIp/ClsoDns5LkiqDns6jns6PntIDwpb6G57Wj5IyB57eH57iC57mF5Iy08KaIqPCmiYfkjZnwpouZ57268KaMvue+lee/uvCmk5rwppSj6IGg8KaWqOiBsPCjjZ/kj5XogrLohIPkkIvohL7lqrXwpp6n8KaetfCjjpPwo46c6IiE6L6e5JGr6IqR6IqL6Iqd5Yqz6Iqx6Iqz6Iq96Ium8KasvOiMneiNo+iOreiMo+iOveiPp+iNk+iPiuiPjOiPnPCmsLbwprWr8KazleSUq+iTseiTs+iUlvCnj4rolaTwprys5JWd5JWh8Ka+sfCng5LklavomZDomafomanomqnomojonI7om6LonKjonavonobon6HooIHkl7nooaDwp5mn6KOX6KOe5Ji16KO645K78KeirvCnpabkmr7km4foqqDwp7Ko6LKr6LOB6LSb6LW38Ke8r/CgoITot4votrzot7DwoKOe6LuU8KiXkvCol63pgpTpg7HphJHwqJyu6YSb6Yi46YuX6YuY6Ym86Y+56ZCV8KivuumWi+SmlemWt/Cotbfkp6bpm4PltrLpnKPwqYWF8KmImuSpruSptumfoPCpkIrkqrLwqZKW6aCp8KmWtumjouSss+mkqemmp+mngumnvuSvjvCprLDpsYDps73ks47ks63ptafwqoOO5LO48KqEhfCqiI7wqoqR5LWW6bu+6byF6byP6byW8KqYgCIsbWFwQ2hhcjpmdW5jdGlvbihyKXtyZXR1cm4gcj49MTk2NjA4P3I+PTkxNzc2MCYmcjw9OTE3OTk5PzE4ODc0MzY4OjA6ZVt0W3I+PjRdXVsxNSZyXX19O3ZhciBlLHR9LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1uKX0sNDQ4OTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0NykocigzMTA2KSk7ZnVuY3Rpb24gaShlLHQpe3ZhciByPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZighcil7aWYoQXJyYXkuaXNBcnJheShlKXx8KHI9ZnVuY3Rpb24oZSx0KXtpZihlKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIG8oZSx0KTt2YXIgcj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1yJiZlLmNvbnN0cnVjdG9yJiYocj1lLmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09cnx8IlNldCI9PT1yP0FycmF5LmZyb20oZSk6IkFyZ3VtZW50cyI9PT1yfHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChyKT9vKGUsdCk6dm9pZCAwfX0oZSkpfHx0JiZlJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKXtyJiYoZT1yKTt2YXIgbj0wLGk9ZnVuY3Rpb24oKXt9O3JldHVybntzOmksbjpmdW5jdGlvbigpe3JldHVybiBuPj1lLmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6ZVtuKytdfX0sZTpmdW5jdGlvbihlKXt0aHJvdyBlfSxmOml9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgYSxzPSEwLHU9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtyPXIuY2FsbChlKX0sbjpmdW5jdGlvbigpe3ZhciBlPXIubmV4dCgpO3JldHVybiBzPWUuZG9uZSxlfSxlOmZ1bmN0aW9uKGUpe3U9ITAsYT1lfSxmOmZ1bmN0aW9uKCl7dHJ5e3N8fG51bGw9PXIucmV0dXJufHxyLnJldHVybigpfWZpbmFsbHl7aWYodSl0aHJvdyBhfX19fWZ1bmN0aW9uIG8oZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIHI9MCxuPW5ldyBBcnJheSh0KTtyPHQ7cisrKW5bcl09ZVtyXTtyZXR1cm4gbn12YXIgYT0yMTQ3NDgzNjQ3LHM9MzYsdT0vXnhuLS0vLGM9L1teXDAtXHg3RV0vLGY9L1tceDJFXHUzMDAyXHVGRjBFXHVGRjYxXS9nLGQ9e292ZXJmbG93OiJPdmVyZmxvdzogaW5wdXQgbmVlZHMgd2lkZXIgaW50ZWdlcnMgdG8gcHJvY2VzcyIsIm5vdC1iYXNpYyI6IklsbGVnYWwgaW5wdXQgPj0gMHg4MCAobm90IGEgYmFzaWMgY29kZSBwb2ludCkiLCJpbnZhbGlkLWlucHV0IjoiSW52YWxpZCBpbnB1dCJ9LGw9TWF0aC5mbG9vcixoPVN0cmluZy5mcm9tQ2hhckNvZGU7ZnVuY3Rpb24gcChlKXt0aHJvdyBuZXcgUmFuZ2VFcnJvcihkW2VdKX1mdW5jdGlvbiBiKGUsdCl7dmFyIHI9ZS5zcGxpdCgiQCIpLG49IiI7ci5sZW5ndGg+MSYmKG49clswXSsiQCIsZT1yWzFdKTt2YXIgaT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj1bXSxuPWUubGVuZ3RoO24tLTspcltuXT10KGVbbl0pO3JldHVybiByfSgoZT1lLnJlcGxhY2UoZiwiLiIpKS5zcGxpdCgiLiIpLHQpLmpvaW4oIi4iKTtyZXR1cm4gbitpfWZ1bmN0aW9uIHkoZSl7Zm9yKHZhciB0PVtdLHI9MCxuPWUubGVuZ3RoO3I8bjspe3ZhciBpPWUuY2hhckNvZGVBdChyKyspO2lmKGk+PTU1Mjk2JiZpPD01NjMxOSYmcjxuKXt2YXIgbz1lLmNoYXJDb2RlQXQocisrKTs1NjMyMD09KDY0NTEyJm8pP3QucHVzaCgoKDEwMjMmaSk8PDEwKSsoMTAyMyZvKSs2NTUzNik6KHQucHVzaChpKSxyLS0pfWVsc2UgdC5wdXNoKGkpfXJldHVybiB0fXZhciBtPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUrMjIrNzUqKGU8MjYpLSgoMCE9dCk8PDUpfSx2PWZ1bmN0aW9uKGUsdCxyKXt2YXIgbj0wO2ZvcihlPXI/bChlLzcwMCk6ZT4+MSxlKz1sKGUvdCk7ZT40NTU7bis9cyllPWwoZS8zNSk7cmV0dXJuIGwobiszNiplLyhlKzM4KSl9LGc9ZnVuY3Rpb24oZSl7dmFyIHQscj1bXSxuPWUubGVuZ3RoLGk9MCxvPTEyOCx1PTcyLGM9ZS5sYXN0SW5kZXhPZigiLSIpO2M8MCYmKGM9MCk7Zm9yKHZhciBmPTA7ZjxjOysrZillLmNoYXJDb2RlQXQoZik+PTEyOCYmcCgibm90LWJhc2ljIiksci5wdXNoKGUuY2hhckNvZGVBdChmKSk7Zm9yKHZhciBkPWM+MD9jKzE6MDtkPG47KXtmb3IodmFyIGg9aSxiPTEseT1zOzt5Kz1zKXtkPj1uJiZwKCJpbnZhbGlkLWlucHV0Iik7dmFyIG09KHQ9ZS5jaGFyQ29kZUF0KGQrKykpLTQ4PDEwP3QtMjI6dC02NTwyNj90LTY1OnQtOTc8MjY/dC05NzpzOyhtPj1zfHxtPmwoKGEtaSkvYikpJiZwKCJvdmVyZmxvdyIpLGkrPW0qYjt2YXIgZz15PD11PzE6eT49dSsyNj8yNjp5LXU7aWYobTxnKWJyZWFrO3ZhciB3PXMtZztiPmwoYS93KSYmcCgib3ZlcmZsb3ciKSxiKj13fXZhciBBPXIubGVuZ3RoKzE7dT12KGktaCxBLDA9PWgpLGwoaS9BKT5hLW8mJnAoIm92ZXJmbG93Iiksbys9bChpL0EpLGklPUEsci5zcGxpY2UoaSsrLDAsbyl9cmV0dXJuIFN0cmluZy5mcm9tQ29kZVBvaW50LmFwcGx5KFN0cmluZyxyKX0sdz1mdW5jdGlvbihlKXt2YXIgdCxyPVtdLG49KGU9eShlKSkubGVuZ3RoLG89MTI4LHU9MCxjPTcyLGY9aShlKTt0cnl7Zm9yKGYucygpOyEodD1mLm4oKSkuZG9uZTspe3ZhciBkPXQudmFsdWU7ZDwxMjgmJnIucHVzaChoKGQpKX19Y2F0Y2goZSl7Zi5lKGUpfWZpbmFsbHl7Zi5mKCl9dmFyIGI9ci5sZW5ndGgsZz1iO2ZvcihiJiZyLnB1c2goIi0iKTtnPG47KXt2YXIgdyxBPWEsaz1pKGUpO3RyeXtmb3Ioay5zKCk7ISh3PWsubigpKS5kb25lOyl7dmFyIF89dy52YWx1ZTtfPj1vJiZfPEEmJihBPV8pfX1jYXRjaChlKXtrLmUoZSl9ZmluYWxseXtrLmYoKX12YXIgUz1nKzE7QS1vPmwoKGEtdSkvUykmJnAoIm92ZXJmbG93IiksdSs9KEEtbykqUyxvPUE7dmFyIHgsRT1pKGUpO3RyeXtmb3IoRS5zKCk7ISh4PUUubigpKS5kb25lOyl7dmFyIFA9eC52YWx1ZTtpZihQPG8mJisrdT5hJiZwKCJvdmVyZmxvdyIpLFA9PW8pe2Zvcih2YXIgTz11LEI9czs7Qis9cyl7dmFyIFQ9Qjw9Yz8xOkI+PWMrMjY/MjY6Qi1jO2lmKE88VClicmVhazt2YXIgQz1PLVQsST1zLVQ7ci5wdXNoKGgobShUK0MlSSwwKSkpLE89bChDL0kpfXIucHVzaChoKG0oTywwKSkpLGM9dih1LFMsZz09YiksdT0wLCsrZ319fWNhdGNoKGUpe0UuZShlKX1maW5hbGx5e0UuZigpfSsrdSwrK299cmV0dXJuIHIuam9pbigiIil9LEE9e3ZlcnNpb246IjIuMS4wIix1Y3MyOntkZWNvZGU6eSxlbmNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIFN0cmluZy5mcm9tQ29kZVBvaW50LmFwcGx5KFN0cmluZywoMCxuLmRlZmF1bHQpKGUpKX19LGRlY29kZTpnLGVuY29kZTp3LHRvQVNDSUk6ZnVuY3Rpb24oZSl7cmV0dXJuIGIoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIGMudGVzdChlKT8ieG4tLSIrdyhlKTplfSkpfSx0b1VuaWNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGIoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIHUudGVzdChlKT9nKGUuc2xpY2UoNCkudG9Mb3dlckNhc2UoKSk6ZX0pKX19O2UuZXhwb3J0cz1BfSwzOTU2OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG4saTtyKDg4NDcpKHIoMzM1NSkpLG49W3IoNDQ4OSkscigyOTk2KV0sdm9pZCAwPT09KGk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiByKHIsbixpKXtmb3IodmFyIG89W10sYT1lLnVjczIuZGVjb2RlKHIpLHM9MDtzPGEubGVuZ3RoO3MrKyl7dmFyIHU9YVtzXSxjPWUudWNzMi5lbmNvZGUoW2Fbc11dKSxmPXQubWFwQ2hhcih1KSxkPWY+PjIzLGw9Zj4+MjEmMyxoPWY+PjUmNjU1MzUscD0zMSZmLGI9dC5tYXBTdHIuc3Vic3RyKGgscCk7aWYoMD09PWx8fG4mJjEmZCl0aHJvdyBuZXcgRXJyb3IoIklsbGVnYWwgY2hhciAiK2MpOzE9PT1sP28ucHVzaChiKToyPT09bD9vLnB1c2goaT9iOmMpOjM9PT1sJiZvLnB1c2goYyl9cmV0dXJuIG8uam9pbigiIikubm9ybWFsaXplKCJORkMiKX1mdW5jdGlvbiBuKHQsbixvKXt2b2lkIDA9PT1vJiYobz0hMSk7dmFyIGE9cih0LG8sbikuc3BsaXQoIi4iKTtyZXR1cm4oYT1hLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuc3RhcnRzV2l0aCgieG4tLSIpP2kodD1lLmRlY29kZSh0LnN1YnN0cmluZyg0KSksbywhMSk6aSh0LG8sbiksdH0pKSkuam9pbigiLiIpfWZ1bmN0aW9uIGkoZSxuLGkpe2lmKCItIj09PWVbMl0mJiItIj09PWVbM10pdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gdmFsaWRhdGUgIitlKTtpZihlLnN0YXJ0c1dpdGgoIi0iKXx8ZS5lbmRzV2l0aCgiLSIpKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIHZhbGlkYXRlICIrZSk7aWYoZS5pbmNsdWRlcygiLiIpKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIHZhbGlkYXRlICIrZSk7aWYocihlLG4saSkhPT1lKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIHZhbGlkYXRlICIrZSk7dmFyIG89ZS5jb2RlUG9pbnRBdCgwKTtpZih0Lm1hcENoYXIobykmMjw8MjMpdGhyb3cgbmV3IEVycm9yKCJMYWJlbCBjb250YWlucyBpbGxlZ2FsIGNoYXJhY3RlcjogIitvKX1yZXR1cm57dG9Vbmljb2RlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQmJih0PXt9KSxuKGUsITEsInVzZVN0ZDNBU0NJSSJpbiB0JiZ0LnVzZVN0ZDNBU0NJSSl9LHRvQXNjaWk6ZnVuY3Rpb24odCxyKXt2b2lkIDA9PT1yJiYocj17fSk7dmFyIGksbz0hKCJ0cmFuc2l0aW9uYWwiaW4gcil8fHIudHJhbnNpdGlvbmFsLGE9InVzZVN0ZDNBU0NJSSJpbiByJiZyLnVzZVN0ZDNBU0NJSSxzPSJ2ZXJpZnlEbnNMZW5ndGgiaW4gciYmci52ZXJpZnlEbnNMZW5ndGgsdT1uKHQsbyxhKS5zcGxpdCgiLiIpLm1hcChlLnRvQVNDSUkpLGM9dS5qb2luKCIuIik7aWYocyl7aWYoYy5sZW5ndGg8MXx8Yy5sZW5ndGg+MjUzKXRocm93IG5ldyBFcnJvcigiRE5TIG5hbWUgaGFzIHdyb25nIGxlbmd0aDogIitjKTtmb3IoaT0wO2k8dS5sZW5ndGg7aSsrKXt2YXIgZj11W2ldO2lmKGYubGVuZ3RoPDF8fGYubGVuZ3RoPjYzKXRocm93IG5ldyBFcnJvcigiRE5TIGxhYmVsIGhhcyB3cm9uZyBsZW5ndGg6ICIrZil9fXJldHVybiBjfX19KGUsdCl9LmFwcGx5KHQsbikpfHwoZS5leHBvcnRzPWkpfSwzMjI2OihlLHQpPT57InVzZSBzdHJpY3QiO3QucmVhZD1mdW5jdGlvbihlLHQscixuLGkpe3ZhciBvLGEscz04Kmktbi0xLHU9KDE8PHMpLTEsYz11Pj4xLGY9LTcsZD1yP2ktMTowLGw9cj8tMToxLGg9ZVt0K2RdO2ZvcihkKz1sLG89aCYoMTw8LWYpLTEsaD4+PS1mLGYrPXM7Zj4wO289MjU2Km8rZVt0K2RdLGQrPWwsZi09OCk7Zm9yKGE9byYoMTw8LWYpLTEsbz4+PS1mLGYrPW47Zj4wO2E9MjU2KmErZVt0K2RdLGQrPWwsZi09OCk7aWYoMD09PW8pbz0xLWM7ZWxzZXtpZihvPT09dSlyZXR1cm4gYT9OYU46MS8wKihoPy0xOjEpO2ErPU1hdGgucG93KDIsbiksby09Y31yZXR1cm4oaD8tMToxKSphKk1hdGgucG93KDIsby1uKX0sdC53cml0ZT1mdW5jdGlvbihlLHQscixuLGksbyl7dmFyIGEscyx1LGM9OCpvLWktMSxmPSgxPDxjKS0xLGQ9Zj4+MSxsPTIzPT09aT9NYXRoLnBvdygyLC0yNCktTWF0aC5wb3coMiwtNzcpOjAsaD1uPzA6by0xLHA9bj8xOi0xLGI9dDwwfHwwPT09dCYmMS90PDA/MTowO2Zvcih0PU1hdGguYWJzKHQpLGlzTmFOKHQpfHx0PT09MS8wPyhzPWlzTmFOKHQpPzE6MCxhPWYpOihhPU1hdGguZmxvb3IoTWF0aC5sb2codCkvTWF0aC5MTjIpLHQqKHU9TWF0aC5wb3coMiwtYSkpPDEmJihhLS0sdSo9MiksKHQrPWErZD49MT9sL3U6bCpNYXRoLnBvdygyLDEtZCkpKnU+PTImJihhKyssdS89MiksYStkPj1mPyhzPTAsYT1mKTphK2Q+PTE/KHM9KHQqdS0xKSpNYXRoLnBvdygyLGkpLGErPWQpOihzPXQqTWF0aC5wb3coMixkLTEpKk1hdGgucG93KDIsaSksYT0wKSk7aT49ODtlW3IraF09MjU1JnMsaCs9cCxzLz0yNTYsaS09OCk7Zm9yKGE9YTw8aXxzLGMrPWk7Yz4wO2VbcitoXT0yNTUmYSxoKz1wLGEvPTI1NixjLT04KTtlW3IraC1wXXw9MTI4KmJ9fSwxNzM2OmU9PnsidXNlIHN0cmljdCI7ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5jcmVhdGU/ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dCYmKGUuc3VwZXJfPXQsZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0LnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOmUsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSkpfTplLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtpZih0KXtlLnN1cGVyXz10O3ZhciByPWZ1bmN0aW9uKCl7fTtyLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgcixlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfX19LDk0NDY6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpKHIoMzM1NSkpLGk9cigxMTkxKSgpLG89cig1OTMpKCJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIiksYT1mdW5jdGlvbihlKXtyZXR1cm4hKGkmJmUmJiJvYmplY3QiPT09KDAsbi5kZWZhdWx0KShlKSYmU3ltYm9sLnRvU3RyaW5nVGFnIGluIGUpJiYiW29iamVjdCBBcmd1bWVudHNdIj09PW8oZSl9LHM9ZnVuY3Rpb24oZSl7cmV0dXJuISFhKGUpfHxudWxsIT09ZSYmIm9iamVjdCI9PT0oMCxuLmRlZmF1bHQpKGUpJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoJiZlLmxlbmd0aD49MCYmIltvYmplY3QgQXJyYXldIiE9PW8oZSkmJiJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1vKGUuY2FsbGVlKX0sdT1mdW5jdGlvbigpe3JldHVybiBhKGFyZ3VtZW50cyl9KCk7YS5pc0xlZ2FjeUFyZ3VtZW50cz1zLGUuZXhwb3J0cz11P2E6c30sMTQ5MzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuLGksbz1yKDg4NDcpKHIoMzM1NSkpLGE9RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLHM9Im9iamVjdCI9PT0oInVuZGVmaW5lZCI9PXR5cGVvZiBSZWZsZWN0PyJ1bmRlZmluZWQiOigwLG8uZGVmYXVsdCkoUmVmbGVjdCkpJiZudWxsIT09UmVmbGVjdCYmUmVmbGVjdC5hcHBseTtpZigiZnVuY3Rpb24iPT10eXBlb2YgcyYmImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSl0cnl7bj1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sImxlbmd0aCIse2dldDpmdW5jdGlvbigpe3Rocm93IGl9fSksaT17fSxzKChmdW5jdGlvbigpe3Rocm93IDQyfSksbnVsbCxuKX1jYXRjaChlKXtlIT09aSYmKHM9bnVsbCl9ZWxzZSBzPW51bGw7dmFyIHU9L15ccypjbGFzc1xiLyxjPWZ1bmN0aW9uKGUpe3RyeXt2YXIgdD1hLmNhbGwoZSk7cmV0dXJuIHUudGVzdCh0KX1jYXRjaChlKXtyZXR1cm4hMX19LGY9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiFjKGUpJiYoYS5jYWxsKGUpLCEwKX1jYXRjaChlKXtyZXR1cm4hMX19LGQ9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxsPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiEhU3ltYm9sLnRvU3RyaW5nVGFnLGg9ISgwIGluWyxdKSxwPWZ1bmN0aW9uKCl7cmV0dXJuITF9O2lmKCJvYmplY3QiPT09KCJ1bmRlZmluZWQiPT10eXBlb2YgZG9jdW1lbnQ/InVuZGVmaW5lZCI6KDAsby5kZWZhdWx0KShkb2N1bWVudCkpKXt2YXIgYj1kb2N1bWVudC5hbGw7ZC5jYWxsKGIpPT09ZC5jYWxsKGRvY3VtZW50LmFsbCkmJihwPWZ1bmN0aW9uKGUpe2lmKChofHwhZSkmJih2b2lkIDA9PT1lfHwib2JqZWN0Ij09PSgwLG8uZGVmYXVsdCkoZSkpKXRyeXt2YXIgdD1kLmNhbGwoZSk7cmV0dXJuKCJbb2JqZWN0IEhUTUxBbGxDb2xsZWN0aW9uXSI9PT10fHwiW29iamVjdCBIVE1MIGRvY3VtZW50LmFsbCBjbGFzc10iPT09dHx8IltvYmplY3QgSFRNTENvbGxlY3Rpb25dIj09PXR8fCJbb2JqZWN0IE9iamVjdF0iPT09dCkmJm51bGw9PWUoIiIpfWNhdGNoKGUpe31yZXR1cm4hMX0pfWUuZXhwb3J0cz1zP2Z1bmN0aW9uKGUpe2lmKHAoZSkpcmV0dXJuITA7aWYoIWUpcmV0dXJuITE7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUmJiJvYmplY3QiIT09KDAsby5kZWZhdWx0KShlKSlyZXR1cm4hMTt0cnl7cyhlLG51bGwsbil9Y2F0Y2goZSl7aWYoZSE9PWkpcmV0dXJuITF9cmV0dXJuIWMoZSkmJmYoZSl9OmZ1bmN0aW9uKGUpe2lmKHAoZSkpcmV0dXJuITA7aWYoIWUpcmV0dXJuITE7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUmJiJvYmplY3QiIT09KDAsby5kZWZhdWx0KShlKSlyZXR1cm4hMTtpZihsKXJldHVybiBmKGUpO2lmKGMoZSkpcmV0dXJuITE7dmFyIHQ9ZC5jYWxsKGUpO3JldHVybiEoIltvYmplY3QgRnVuY3Rpb25dIiE9PXQmJiJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIhPT10JiYhL15cW29iamVjdCBIVE1MLy50ZXN0KHQpKSYmZihlKX19LDQzMzk6ZT0+eyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuITE7dmFyIHI9dC5jYWxsKGUpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1yfHwiZnVuY3Rpb24iPT10eXBlb2YgZSYmIltvYmplY3QgUmVnRXhwXSIhPT1yfHwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKGU9PT13aW5kb3cuc2V0VGltZW91dHx8ZT09PXdpbmRvdy5hbGVydHx8ZT09PXdpbmRvdy5jb25maXJtfHxlPT09d2luZG93LnByb21wdCl9O3ZhciB0PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmd9LDQ0Nzc6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbixpPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcsYT0vXlxzKig/OmZ1bmN0aW9uKT9cKi8scz1yKDExOTEpKCksdT1PYmplY3QuZ2V0UHJvdG90eXBlT2Y7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXJldHVybiExO2lmKGEudGVzdChvLmNhbGwoZSkpKXJldHVybiEwO2lmKCFzKXJldHVybiJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PT1pLmNhbGwoZSk7aWYoIXUpcmV0dXJuITE7aWYodm9pZCAwPT09bil7dmFyIHQ9ZnVuY3Rpb24oKXtpZighcylyZXR1cm4hMTt0cnl7cmV0dXJuIEZ1bmN0aW9uKCJyZXR1cm4gZnVuY3Rpb24qKCkge30iKSgpfWNhdGNoKGUpe319KCk7bj0hIXQmJnUodCl9cmV0dXJuIHUoZSk9PT1ufX0sODYxOTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0NykocigzMzU1KSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIltpcy1oZXgtcHJlZml4ZWRdIHZhbHVlIG11c3QgYmUgdHlwZSAnc3RyaW5nJywgaXMgY3VycmVudGx5IHR5cGUgIisoMCxuLmRlZmF1bHQpKGUpKyIsIHdoaWxlIGNoZWNraW5nIGlzSGV4UHJlZml4ZWQuIik7cmV0dXJuIjB4Ij09PWUuc2xpY2UoMCwyKX19LDg5MTU6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpKHIoMzM1NSkpLGk9cig4MTg0KSxvPXIoMzYwNCksYT1yKDU5Mykscz1hKCJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIiksdT1yKDExOTEpKCksYz1yKDM4MjApLGY9InVuZGVmaW5lZCI9PXR5cGVvZiBnbG9iYWxUaGlzP3IuZzpnbG9iYWxUaGlzLGQ9bygpLGw9YSgiQXJyYXkucHJvdG90eXBlLmluZGV4T2YiLCEwKXx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrPTEpaWYoZVtyXT09PXQpcmV0dXJuIHI7cmV0dXJuLTF9LGg9YSgiU3RyaW5nLnByb3RvdHlwZS5zbGljZSIpLHA9e30sYj1PYmplY3QuZ2V0UHJvdG90eXBlT2Y7dSYmYyYmYiYmaShkLChmdW5jdGlvbihlKXt2YXIgdD1uZXcgZltlXTtpZihTeW1ib2wudG9TdHJpbmdUYWcgaW4gdCl7dmFyIHI9Yih0KSxuPWMocixTeW1ib2wudG9TdHJpbmdUYWcpO2lmKCFuKXt2YXIgaT1iKHIpO249YyhpLFN5bWJvbC50b1N0cmluZ1RhZyl9cFtlXT1uLmdldH19KSksZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKCFlfHwib2JqZWN0IiE9PSgwLG4uZGVmYXVsdCkoZSkpcmV0dXJuITE7aWYoIXV8fCEoU3ltYm9sLnRvU3RyaW5nVGFnIGluIGUpKXt2YXIgdD1oKHMoZSksOCwtMSk7cmV0dXJuIGwoZCx0KT4tMX1yZXR1cm4hIWMmJmZ1bmN0aW9uKGUpe3ZhciB0PSExO3JldHVybiBpKHAsKGZ1bmN0aW9uKHIsbil7aWYoIXQpdHJ5e3Q9ci5jYWxsKGUpPT09bn1jYXRjaChlKXt9fSkpLHR9KGUpfX0sOTQ4NDplPT57InVzZSBzdHJpY3QiO3ZhciB0PXt9LnRvU3RyaW5nO2UuZXhwb3J0cz1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT10LmNhbGwoZSl9fSw0ODU4OihlLHQscik9PnsidXNlIHN0cmljdCI7ZT1yLm5tZChlKTt2YXIgbj1yKDkxNDIpLGk9cig4ODQ3KShyKDMzNTUpKTshZnVuY3Rpb24oKXt2YXIgdD0ib2JqZWN0Ij09PSgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz8idW5kZWZpbmVkIjooMCxpLmRlZmF1bHQpKHdpbmRvdykpP3dpbmRvdzp7fTshdC5KU19TSEEzX05PX05PREVfSlMmJiJvYmplY3QiPT09KHZvaWQgMD09PW4/InVuZGVmaW5lZCI6KDAsaS5kZWZhdWx0KShuKSkmJm4udmVyc2lvbnMmJm4udmVyc2lvbnMubm9kZSYmKHQ9ci5nKTtmb3IodmFyIG89IXQuSlNfU0hBM19OT19DT01NT05fSlMmJiJvYmplY3QiPT09KDAsaS5kZWZhdWx0KShlKSYmZS5leHBvcnRzLGE9IjAxMjM0NTY3ODlhYmNkZWYiLnNwbGl0KCIiKSxzPVswLDgsMTYsMjRdLHU9WzEsMCwzMjg5OCwwLDMyOTA2LDIxNDc0ODM2NDgsMjE0NzUxNjQxNiwyMTQ3NDgzNjQ4LDMyOTA3LDAsMjE0NzQ4MzY0OSwwLDIxNDc1MTY1NDUsMjE0NzQ4MzY0OCwzMjc3NywyMTQ3NDgzNjQ4LDEzOCwwLDEzNiwwLDIxNDc1MTY0MjUsMCwyMTQ3NDgzNjU4LDAsMjE0NzUxNjU1NSwwLDEzOSwyMTQ3NDgzNjQ4LDMyOTA1LDIxNDc0ODM2NDgsMzI3NzEsMjE0NzQ4MzY0OCwzMjc3MCwyMTQ3NDgzNjQ4LDEyOCwyMTQ3NDgzNjQ4LDMyNzc4LDAsMjE0NzQ4MzY1OCwyMTQ3NDgzNjQ4LDIxNDc1MTY1NDUsMjE0NzQ4MzY0OCwzMjg5NiwyMTQ3NDgzNjQ4LDIxNDc0ODM2NDksMCwyMTQ3NTE2NDI0LDIxNDc0ODM2NDhdLGM9WzIyNCwyNTYsMzg0LDUxMl0sZj1bImhleCIsImJ1ZmZlciIsImFycmF5QnVmZmVyIiwiYXJyYXkiXSxkPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG5ldyBrKGUsdCxlKS51cGRhdGUobilbcl0oKX19LGw9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBmdW5jdGlvbihuLGkpe3JldHVybiBuZXcgayhlLHQsaSkudXBkYXRlKG4pW3JdKCl9fSxoPWZ1bmN0aW9uKGUsdCl7dmFyIHI9ZChlLHQsImhleCIpO3IuY3JlYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBrKGUsdCxlKX0sci51cGRhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHIuY3JlYXRlKCkudXBkYXRlKGUpfTtmb3IodmFyIG49MDtuPGYubGVuZ3RoOysrbil7dmFyIGk9ZltuXTtyW2ldPWQoZSx0LGkpfXJldHVybiByfSxwPVt7bmFtZToia2VjY2FrIixwYWRkaW5nOlsxLDI1Niw2NTUzNiwxNjc3NzIxNl0sYml0czpjLGNyZWF0ZU1ldGhvZDpofSx7bmFtZToic2hhMyIscGFkZGluZzpbNiwxNTM2LDM5MzIxNiwxMDA2NjMyOTZdLGJpdHM6YyxjcmVhdGVNZXRob2Q6aH0se25hbWU6InNoYWtlIixwYWRkaW5nOlszMSw3OTM2LDIwMzE2MTYsNTIwMDkzNjk2XSxiaXRzOlsxMjgsMjU2XSxjcmVhdGVNZXRob2Q6ZnVuY3Rpb24oZSx0KXt2YXIgcj1sKGUsdCwiaGV4Iik7ci5jcmVhdGU9ZnVuY3Rpb24ocil7cmV0dXJuIG5ldyBrKGUsdCxyKX0sci51cGRhdGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gci5jcmVhdGUodCkudXBkYXRlKGUpfTtmb3IodmFyIG49MDtuPGYubGVuZ3RoOysrbil7dmFyIGk9ZltuXTtyW2ldPWwoZSx0LGkpfXJldHVybiByfX1dLGI9e30seT1bXSxtPTA7bTxwLmxlbmd0aDsrK20pZm9yKHZhciB2PXBbbV0sZz12LmJpdHMsdz0wO3c8Zy5sZW5ndGg7Kyt3KXt2YXIgQT12Lm5hbWUrIl8iK2dbd107eS5wdXNoKEEpLGJbQV09di5jcmVhdGVNZXRob2QoZ1t3XSx2LnBhZGRpbmcpfWZ1bmN0aW9uIGsoZSx0LHIpe3RoaXMuYmxvY2tzPVtdLHRoaXMucz1bXSx0aGlzLnBhZGRpbmc9dCx0aGlzLm91dHB1dEJpdHM9cix0aGlzLnJlc2V0PSEwLHRoaXMuYmxvY2s9MCx0aGlzLnN0YXJ0PTAsdGhpcy5ibG9ja0NvdW50PTE2MDAtKGU8PDEpPj41LHRoaXMuYnl0ZUNvdW50PXRoaXMuYmxvY2tDb3VudDw8Mix0aGlzLm91dHB1dEJsb2Nrcz1yPj41LHRoaXMuZXh0cmFCeXRlcz0oMzEmcik+PjM7Zm9yKHZhciBuPTA7bjw1MDsrK24pdGhpcy5zW25dPTB9ay5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PSJzdHJpbmciIT10eXBlb2YgZTt0JiZlLmNvbnN0cnVjdG9yPT09QXJyYXlCdWZmZXImJihlPW5ldyBVaW50OEFycmF5KGUpKTtmb3IodmFyIHIsbixpPWUubGVuZ3RoLG89dGhpcy5ibG9ja3MsYT10aGlzLmJ5dGVDb3VudCx1PXRoaXMuYmxvY2tDb3VudCxjPTAsZj10aGlzLnM7YzxpOyl7aWYodGhpcy5yZXNldClmb3IodGhpcy5yZXNldD0hMSxvWzBdPXRoaXMuYmxvY2sscj0xO3I8dSsxOysrcilvW3JdPTA7aWYodClmb3Iocj10aGlzLnN0YXJ0O2M8aSYmcjxhOysrYylvW3I+PjJdfD1lW2NdPDxzWzMmcisrXTtlbHNlIGZvcihyPXRoaXMuc3RhcnQ7YzxpJiZyPGE7KytjKShuPWUuY2hhckNvZGVBdChjKSk8MTI4P29bcj4+Ml18PW48PHNbMyZyKytdOm48MjA0OD8ob1tyPj4yXXw9KDE5MnxuPj42KTw8c1szJnIrK10sb1tyPj4yXXw9KDEyOHw2MyZuKTw8c1szJnIrK10pOm48NTUyOTZ8fG4+PTU3MzQ0PyhvW3I+PjJdfD0oMjI0fG4+PjEyKTw8c1szJnIrK10sb1tyPj4yXXw9KDEyOHxuPj42JjYzKTw8c1szJnIrK10sb1tyPj4yXXw9KDEyOHw2MyZuKTw8c1szJnIrK10pOihuPTY1NTM2KygoMTAyMyZuKTw8MTB8MTAyMyZlLmNoYXJDb2RlQXQoKytjKSksb1tyPj4yXXw9KDI0MHxuPj4xOCk8PHNbMyZyKytdLG9bcj4+Ml18PSgxMjh8bj4+MTImNjMpPDxzWzMmcisrXSxvW3I+PjJdfD0oMTI4fG4+PjYmNjMpPDxzWzMmcisrXSxvW3I+PjJdfD0oMTI4fDYzJm4pPDxzWzMmcisrXSk7aWYodGhpcy5sYXN0Qnl0ZUluZGV4PXIscj49YSl7Zm9yKHRoaXMuc3RhcnQ9ci1hLHRoaXMuYmxvY2s9b1t1XSxyPTA7cjx1OysrcilmW3JdXj1vW3JdO18oZiksdGhpcy5yZXNldD0hMH1lbHNlIHRoaXMuc3RhcnQ9cn1yZXR1cm4gdGhpc30say5wcm90b3R5cGUuZmluYWxpemU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmJsb2Nrcyx0PXRoaXMubGFzdEJ5dGVJbmRleCxyPXRoaXMuYmxvY2tDb3VudCxuPXRoaXMucztpZihlW3Q+PjJdfD10aGlzLnBhZGRpbmdbMyZ0XSx0aGlzLmxhc3RCeXRlSW5kZXg9PT10aGlzLmJ5dGVDb3VudClmb3IoZVswXT1lW3JdLHQ9MTt0PHIrMTsrK3QpZVt0XT0wO2ZvcihlW3ItMV18PTIxNDc0ODM2NDgsdD0wO3Q8cjsrK3Qpblt0XV49ZVt0XTtfKG4pfSxrLnByb3RvdHlwZS50b1N0cmluZz1rLnByb3RvdHlwZS5oZXg9ZnVuY3Rpb24oKXt0aGlzLmZpbmFsaXplKCk7Zm9yKHZhciBlLHQ9dGhpcy5ibG9ja0NvdW50LHI9dGhpcy5zLG49dGhpcy5vdXRwdXRCbG9ja3MsaT10aGlzLmV4dHJhQnl0ZXMsbz0wLHM9MCx1PSIiO3M8bjspe2ZvcihvPTA7bzx0JiZzPG47KytvLCsrcyllPXJbb10sdSs9YVtlPj40JjE1XSthWzE1JmVdK2FbZT4+MTImMTVdK2FbZT4+OCYxNV0rYVtlPj4yMCYxNV0rYVtlPj4xNiYxNV0rYVtlPj4yOCYxNV0rYVtlPj4yNCYxNV07cyV0PT0wJiYoXyhyKSxvPTApfXJldHVybiBpJiYoZT1yW29dLGk+MCYmKHUrPWFbZT4+NCYxNV0rYVsxNSZlXSksaT4xJiYodSs9YVtlPj4xMiYxNV0rYVtlPj44JjE1XSksaT4yJiYodSs9YVtlPj4yMCYxNV0rYVtlPj4xNiYxNV0pKSx1fSxrLnByb3RvdHlwZS5hcnJheUJ1ZmZlcj1mdW5jdGlvbigpe3RoaXMuZmluYWxpemUoKTt2YXIgZSx0PXRoaXMuYmxvY2tDb3VudCxyPXRoaXMucyxuPXRoaXMub3V0cHV0QmxvY2tzLGk9dGhpcy5leHRyYUJ5dGVzLG89MCxhPTAscz10aGlzLm91dHB1dEJpdHM+PjM7ZT1pP25ldyBBcnJheUJ1ZmZlcihuKzE8PDIpOm5ldyBBcnJheUJ1ZmZlcihzKTtmb3IodmFyIHU9bmV3IFVpbnQzMkFycmF5KGUpO2E8bjspe2ZvcihvPTA7bzx0JiZhPG47KytvLCsrYSl1W2FdPXJbb107YSV0PT0wJiZfKHIpfXJldHVybiBpJiYodVtvXT1yW29dLGU9ZS5zbGljZSgwLHMpKSxlfSxrLnByb3RvdHlwZS5idWZmZXI9ay5wcm90b3R5cGUuYXJyYXlCdWZmZXIsay5wcm90b3R5cGUuZGlnZXN0PWsucHJvdG90eXBlLmFycmF5PWZ1bmN0aW9uKCl7dGhpcy5maW5hbGl6ZSgpO2Zvcih2YXIgZSx0LHI9dGhpcy5ibG9ja0NvdW50LG49dGhpcy5zLGk9dGhpcy5vdXRwdXRCbG9ja3Msbz10aGlzLmV4dHJhQnl0ZXMsYT0wLHM9MCx1PVtdO3M8aTspe2ZvcihhPTA7YTxyJiZzPGk7KythLCsrcyllPXM8PDIsdD1uW2FdLHVbZV09MjU1JnQsdVtlKzFdPXQ+PjgmMjU1LHVbZSsyXT10Pj4xNiYyNTUsdVtlKzNdPXQ+PjI0JjI1NTtzJXI9PTAmJl8obil9cmV0dXJuIG8mJihlPXM8PDIsdD1uW2FdLG8+MCYmKHVbZV09MjU1JnQpLG8+MSYmKHVbZSsxXT10Pj44JjI1NSksbz4yJiYodVtlKzJdPXQ+PjE2JjI1NSkpLHV9O3ZhciBfPWZ1bmN0aW9uKGUpe3ZhciB0LHIsbixpLG8sYSxzLGMsZixkLGwsaCxwLGIseSxtLHYsZyx3LEEsayxfLFMseCxFLFAsTyxCLFQsQyxJLE0sVSxSLGosTixGLEwsRCxILHEseixHLEssVixKLFcsWSxYLFEsWiwkLGVlLHRlLHJlLG5lLGllLG9lLGFlLHNlLHVlLGNlLGZlO2ZvcihuPTA7bjw0ODtuKz0yKWk9ZVswXV5lWzEwXV5lWzIwXV5lWzMwXV5lWzQwXSxvPWVbMV1eZVsxMV1eZVsyMV1eZVszMV1eZVs0MV0sYT1lWzJdXmVbMTJdXmVbMjJdXmVbMzJdXmVbNDJdLHM9ZVszXV5lWzEzXV5lWzIzXV5lWzMzXV5lWzQzXSxjPWVbNF1eZVsxNF1eZVsyNF1eZVszNF1eZVs0NF0sZj1lWzVdXmVbMTVdXmVbMjVdXmVbMzVdXmVbNDVdLGQ9ZVs2XV5lWzE2XV5lWzI2XV5lWzM2XV5lWzQ2XSxsPWVbN11eZVsxN11eZVsyN11eZVszN11eZVs0N10sdD0oaD1lWzhdXmVbMThdXmVbMjhdXmVbMzhdXmVbNDhdKV4oYTw8MXxzPj4+MzEpLHI9KHA9ZVs5XV5lWzE5XV5lWzI5XV5lWzM5XV5lWzQ5XSleKHM8PDF8YT4+PjMxKSxlWzBdXj10LGVbMV1ePXIsZVsxMF1ePXQsZVsxMV1ePXIsZVsyMF1ePXQsZVsyMV1ePXIsZVszMF1ePXQsZVszMV1ePXIsZVs0MF1ePXQsZVs0MV1ePXIsdD1pXihjPDwxfGY+Pj4zMSkscj1vXihmPDwxfGM+Pj4zMSksZVsyXV49dCxlWzNdXj1yLGVbMTJdXj10LGVbMTNdXj1yLGVbMjJdXj10LGVbMjNdXj1yLGVbMzJdXj10LGVbMzNdXj1yLGVbNDJdXj10LGVbNDNdXj1yLHQ9YV4oZDw8MXxsPj4+MzEpLHI9c14obDw8MXxkPj4+MzEpLGVbNF1ePXQsZVs1XV49cixlWzE0XV49dCxlWzE1XV49cixlWzI0XV49dCxlWzI1XV49cixlWzM0XV49dCxlWzM1XV49cixlWzQ0XV49dCxlWzQ1XV49cix0PWNeKGg8PDF8cD4+PjMxKSxyPWZeKHA8PDF8aD4+PjMxKSxlWzZdXj10LGVbN11ePXIsZVsxNl1ePXQsZVsxN11ePXIsZVsyNl1ePXQsZVsyN11ePXIsZVszNl1ePXQsZVszN11ePXIsZVs0Nl1ePXQsZVs0N11ePXIsdD1kXihpPDwxfG8+Pj4zMSkscj1sXihvPDwxfGk+Pj4zMSksZVs4XV49dCxlWzldXj1yLGVbMThdXj10LGVbMTldXj1yLGVbMjhdXj10LGVbMjldXj1yLGVbMzhdXj10LGVbMzldXj1yLGVbNDhdXj10LGVbNDldXj1yLGI9ZVswXSx5PWVbMV0sSj1lWzExXTw8NHxlWzEwXT4+PjI4LFc9ZVsxMF08PDR8ZVsxMV0+Pj4yOCxCPWVbMjBdPDwzfGVbMjFdPj4+MjksVD1lWzIxXTw8M3xlWzIwXT4+PjI5LHNlPWVbMzFdPDw5fGVbMzBdPj4+MjMsdWU9ZVszMF08PDl8ZVszMV0+Pj4yMyx6PWVbNDBdPDwxOHxlWzQxXT4+PjE0LEc9ZVs0MV08PDE4fGVbNDBdPj4+MTQsUj1lWzJdPDwxfGVbM10+Pj4zMSxqPWVbM108PDF8ZVsyXT4+PjMxLG09ZVsxM108PDEyfGVbMTJdPj4+MjAsdj1lWzEyXTw8MTJ8ZVsxM10+Pj4yMCxZPWVbMjJdPDwxMHxlWzIzXT4+PjIyLFg9ZVsyM108PDEwfGVbMjJdPj4+MjIsQz1lWzMzXTw8MTN8ZVszMl0+Pj4xOSxJPWVbMzJdPDwxM3xlWzMzXT4+PjE5LGNlPWVbNDJdPDwyfGVbNDNdPj4+MzAsZmU9ZVs0M108PDJ8ZVs0Ml0+Pj4zMCx0ZT1lWzVdPDwzMHxlWzRdPj4+MixyZT1lWzRdPDwzMHxlWzVdPj4+MixOPWVbMTRdPDw2fGVbMTVdPj4+MjYsRj1lWzE1XTw8NnxlWzE0XT4+PjI2LGc9ZVsyNV08PDExfGVbMjRdPj4+MjEsdz1lWzI0XTw8MTF8ZVsyNV0+Pj4yMSxRPWVbMzRdPDwxNXxlWzM1XT4+PjE3LFo9ZVszNV08PDE1fGVbMzRdPj4+MTcsTT1lWzQ1XTw8Mjl8ZVs0NF0+Pj4zLFU9ZVs0NF08PDI5fGVbNDVdPj4+Myx4PWVbNl08PDI4fGVbN10+Pj40LEU9ZVs3XTw8Mjh8ZVs2XT4+PjQsbmU9ZVsxN108PDIzfGVbMTZdPj4+OSxpZT1lWzE2XTw8MjN8ZVsxN10+Pj45LEw9ZVsyNl08PDI1fGVbMjddPj4+NyxEPWVbMjddPDwyNXxlWzI2XT4+PjcsQT1lWzM2XTw8MjF8ZVszN10+Pj4xMSxrPWVbMzddPDwyMXxlWzM2XT4+PjExLCQ9ZVs0N108PDI0fGVbNDZdPj4+OCxlZT1lWzQ2XTw8MjR8ZVs0N10+Pj44LEs9ZVs4XTw8Mjd8ZVs5XT4+PjUsVj1lWzldPDwyN3xlWzhdPj4+NSxQPWVbMThdPDwyMHxlWzE5XT4+PjEyLE89ZVsxOV08PDIwfGVbMThdPj4+MTIsb2U9ZVsyOV08PDd8ZVsyOF0+Pj4yNSxhZT1lWzI4XTw8N3xlWzI5XT4+PjI1LEg9ZVszOF08PDh8ZVszOV0+Pj4yNCxxPWVbMzldPDw4fGVbMzhdPj4+MjQsXz1lWzQ4XTw8MTR8ZVs0OV0+Pj4xOCxTPWVbNDldPDwxNHxlWzQ4XT4+PjE4LGVbMF09Yl5+bSZnLGVbMV09eV5+diZ3LGVbMTBdPXheflAmQixlWzExXT1FXn5PJlQsZVsyMF09Ul5+TiZMLGVbMjFdPWpefkYmRCxlWzMwXT1LXn5KJlksZVszMV09Vl5+VyZYLGVbNDBdPXRlXn5uZSZvZSxlWzQxXT1yZV5+aWUmYWUsZVsyXT1tXn5nJkEsZVszXT12Xn53JmssZVsxMl09UF5+QiZDLGVbMTNdPU9eflQmSSxlWzIyXT1OXn5MJkgsZVsyM109Rl5+RCZxLGVbMzJdPUpeflkmUSxlWzMzXT1XXn5YJlosZVs0Ml09bmVefm9lJnNlLGVbNDNdPWllXn5hZSZ1ZSxlWzRdPWdefkEmXyxlWzVdPXdefmsmUyxlWzE0XT1CXn5DJk0sZVsxNV09VF5+SSZVLGVbMjRdPUxefkgmeixlWzI1XT1EXn5xJkcsZVszNF09WV5+USYkLGVbMzVdPVheflomZWUsZVs0NF09b2VefnNlJmNlLGVbNDVdPWFlXn51ZSZmZSxlWzZdPUFefl8mYixlWzddPWteflMmeSxlWzE2XT1DXn5NJngsZVsxN109SV5+VSZFLGVbMjZdPUhefnomUixlWzI3XT1xXn5HJmosZVszNl09UV5+JCZLLGVbMzddPVpefmVlJlYsZVs0Nl09c2VefmNlJnRlLGVbNDddPXVlXn5mZSZyZSxlWzhdPV9efmImbSxlWzldPVNefnkmdixlWzE4XT1NXn54JlAsZVsxOV09VV5+RSZPLGVbMjhdPXpeflImTixlWzI5XT1HXn5qJkYsZVszOF09JF5+SyZKLGVbMzldPWVlXn5WJlcsZVs0OF09Y2VefnRlJm5lLGVbNDldPWZlXn5yZSZpZSxlWzBdXj11W25dLGVbMV1ePXVbbisxXX07aWYobyllLmV4cG9ydHM9YjtlbHNlIGZvcihtPTA7bTx5Lmxlbmd0aDsrK20pdFt5W21dXT1iW3lbbV1dfSgpfSwzMTM1OihlLHQscik9PnsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXIoMjEwOSkocig4MDEpKX0sMjEwOTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoNjU0MyksaT1yKDI3NCk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PW4oZSkscj1pKGUpO3JldHVybiBmdW5jdGlvbihlLG4pe3N3aXRjaCgic3RyaW5nIj09dHlwZW9mIGU/ZS50b0xvd2VyQ2FzZSgpOmUpe2Nhc2Uia2VjY2FrMjI0IjpyZXR1cm4gbmV3IHQoMTE1Miw0NDgsbnVsbCwyMjQsbik7Y2FzZSJrZWNjYWsyNTYiOnJldHVybiBuZXcgdCgxMDg4LDUxMixudWxsLDI1NixuKTtjYXNlImtlY2NhazM4NCI6cmV0dXJuIG5ldyB0KDgzMiw3NjgsbnVsbCwzODQsbik7Y2FzZSJrZWNjYWs1MTIiOnJldHVybiBuZXcgdCg1NzYsMTAyNCxudWxsLDUxMixuKTtjYXNlInNoYTMtMjI0IjpyZXR1cm4gbmV3IHQoMTE1Miw0NDgsNiwyMjQsbik7Y2FzZSJzaGEzLTI1NiI6cmV0dXJuIG5ldyB0KDEwODgsNTEyLDYsMjU2LG4pO2Nhc2Uic2hhMy0zODQiOnJldHVybiBuZXcgdCg4MzIsNzY4LDYsMzg0LG4pO2Nhc2Uic2hhMy01MTIiOnJldHVybiBuZXcgdCg1NzYsMTAyNCw2LDUxMixuKTtjYXNlInNoYWtlMTI4IjpyZXR1cm4gbmV3IHIoMTM0NCwyNTYsMzEsbik7Y2FzZSJzaGFrZTI1NiI6cmV0dXJuIG5ldyByKDEwODgsNTEyLDMxLG4pO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJJbnZhbGQgYWxnb3JpdGhtOiAiK2UpfX19fSw2NTQzOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXIsaT1yKDg4NDcpLG89aShyKDk3MjEpKSxhPWkocig4OTg1KSkscz1pKHIoNTE2MykpLHU9aShyKDQ2NTApKSxjPWkocigxOTQ5KSk7dmFyIGY9cig2NTA1KS5UcmFuc2Zvcm07ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXsoMCxzLmRlZmF1bHQpKGQsdCk7dmFyIHIsaSxmPShyPWQsaT1mdW5jdGlvbigpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgUmVmbGVjdHx8IVJlZmxlY3QuY29uc3RydWN0KXJldHVybiExO2lmKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIFByb3h5KXJldHVybiEwO3RyeXtyZXR1cm4gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sW10sKGZ1bmN0aW9uKCl7fSkpKSwhMH1jYXRjaChlKXtyZXR1cm4hMX19KCksZnVuY3Rpb24oKXt2YXIgZSx0PSgwLGMuZGVmYXVsdCkocik7aWYoaSl7dmFyIG49KDAsYy5kZWZhdWx0KSh0aGlzKS5jb25zdHJ1Y3RvcjtlPVJlZmxlY3QuY29uc3RydWN0KHQsYXJndW1lbnRzLG4pfWVsc2UgZT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4oMCx1LmRlZmF1bHQpKHRoaXMsZSl9KTtmdW5jdGlvbiBkKHQscixuLGksYSl7dmFyIHM7cmV0dXJuKDAsby5kZWZhdWx0KSh0aGlzLGQpLChzPWYuY2FsbCh0aGlzLGEpKS5fcmF0ZT10LHMuX2NhcGFjaXR5PXIscy5fZGVsaW1pdGVkU3VmZml4PW4scy5faGFzaEJpdExlbmd0aD1pLHMuX29wdGlvbnM9YSxzLl9zdGF0ZT1uZXcgZSxzLl9zdGF0ZS5pbml0aWFsaXplKHQscikscy5fZmluYWxpemVkPSExLHN9cmV0dXJuKDAsYS5kZWZhdWx0KShkLFt7a2V5OiJfdHJhbnNmb3JtIix2YWx1ZTpmdW5jdGlvbihlLHQscil7dmFyIG49bnVsbDt0cnl7dGhpcy51cGRhdGUoZSx0KX1jYXRjaChlKXtuPWV9cihuKX19LHtrZXk6Il9mbHVzaCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9bnVsbDt0cnl7dGhpcy5wdXNoKHRoaXMuZGlnZXN0KCkpfWNhdGNoKGUpe3Q9ZX1lKHQpfX0se2tleToidXBkYXRlIix2YWx1ZTpmdW5jdGlvbihlLHQpe2lmKCFuLmlzQnVmZmVyKGUpJiYic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiRGF0YSBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgYnVmZmVyIik7aWYodGhpcy5fZmluYWxpemVkKXRocm93IG5ldyBFcnJvcigiRGlnZXN0IGFscmVhZHkgY2FsbGVkIik7cmV0dXJuIG4uaXNCdWZmZXIoZSl8fChlPW4uZnJvbShlLHQpKSx0aGlzLl9zdGF0ZS5hYnNvcmIoZSksdGhpc319LHtrZXk6ImRpZ2VzdCIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYodGhpcy5fZmluYWxpemVkKXRocm93IG5ldyBFcnJvcigiRGlnZXN0IGFscmVhZHkgY2FsbGVkIik7dGhpcy5fZmluYWxpemVkPSEwLHRoaXMuX2RlbGltaXRlZFN1ZmZpeCYmdGhpcy5fc3RhdGUuYWJzb3JiTGFzdEZld0JpdHModGhpcy5fZGVsaW1pdGVkU3VmZml4KTt2YXIgdD10aGlzLl9zdGF0ZS5zcXVlZXplKHRoaXMuX2hhc2hCaXRMZW5ndGgvOCk7cmV0dXJuIHZvaWQgMCE9PWUmJih0PXQudG9TdHJpbmcoZSkpLHRoaXMuX3Jlc2V0U3RhdGUoKSx0fX0se2tleToiX3Jlc2V0U3RhdGUiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0YXRlLmluaXRpYWxpemUodGhpcy5fcmF0ZSx0aGlzLl9jYXBhY2l0eSksdGhpc319LHtrZXk6Il9jbG9uZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT1uZXcgZCh0aGlzLl9yYXRlLHRoaXMuX2NhcGFjaXR5LHRoaXMuX2RlbGltaXRlZFN1ZmZpeCx0aGlzLl9oYXNoQml0TGVuZ3RoLHRoaXMuX29wdGlvbnMpO3JldHVybiB0aGlzLl9zdGF0ZS5jb3B5KGUuX3N0YXRlKSxlLl9maW5hbGl6ZWQ9dGhpcy5fZmluYWxpemVkLGV9fV0pLGR9KGYpfX0sMjc0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXIsaT1yKDg4NDcpLG89aShyKDk3MjEpKSxhPWkocig4OTg1KSkscz1pKHIoNTE2MykpLHU9aShyKDQ2NTApKSxjPWkocigxOTQ5KSk7dmFyIGY9cig2NTA1KS5UcmFuc2Zvcm07ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXsoMCxzLmRlZmF1bHQpKGQsdCk7dmFyIHIsaSxmPShyPWQsaT1mdW5jdGlvbigpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgUmVmbGVjdHx8IVJlZmxlY3QuY29uc3RydWN0KXJldHVybiExO2lmKFJlZmxlY3QuY29uc3RydWN0LnNoYW0pcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIFByb3h5KXJldHVybiEwO3RyeXtyZXR1cm4gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sW10sKGZ1bmN0aW9uKCl7fSkpKSwhMH1jYXRjaChlKXtyZXR1cm4hMX19KCksZnVuY3Rpb24oKXt2YXIgZSx0PSgwLGMuZGVmYXVsdCkocik7aWYoaSl7dmFyIG49KDAsYy5kZWZhdWx0KSh0aGlzKS5jb25zdHJ1Y3RvcjtlPVJlZmxlY3QuY29uc3RydWN0KHQsYXJndW1lbnRzLG4pfWVsc2UgZT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4oMCx1LmRlZmF1bHQpKHRoaXMsZSl9KTtmdW5jdGlvbiBkKHQscixuLGkpe3ZhciBhO3JldHVybigwLG8uZGVmYXVsdCkodGhpcyxkKSwoYT1mLmNhbGwodGhpcyxpKSkuX3JhdGU9dCxhLl9jYXBhY2l0eT1yLGEuX2RlbGltaXRlZFN1ZmZpeD1uLGEuX29wdGlvbnM9aSxhLl9zdGF0ZT1uZXcgZSxhLl9zdGF0ZS5pbml0aWFsaXplKHQsciksYS5fZmluYWxpemVkPSExLGF9cmV0dXJuKDAsYS5kZWZhdWx0KShkLFt7a2V5OiJfdHJhbnNmb3JtIix2YWx1ZTpmdW5jdGlvbihlLHQscil7dmFyIG49bnVsbDt0cnl7dGhpcy51cGRhdGUoZSx0KX1jYXRjaChlKXtuPWV9cihuKX19LHtrZXk6Il9mbHVzaCIsdmFsdWU6ZnVuY3Rpb24oKXt9fSx7a2V5OiJfcmVhZCIsdmFsdWU6ZnVuY3Rpb24oZSl7dGhpcy5wdXNoKHRoaXMuc3F1ZWV6ZShlKSl9fSx7a2V5OiJ1cGRhdGUiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7aWYoIW4uaXNCdWZmZXIoZSkmJiJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJEYXRhIG11c3QgYmUgYSBzdHJpbmcgb3IgYSBidWZmZXIiKTtpZih0aGlzLl9maW5hbGl6ZWQpdGhyb3cgbmV3IEVycm9yKCJTcXVlZXplIGFscmVhZHkgY2FsbGVkIik7cmV0dXJuIG4uaXNCdWZmZXIoZSl8fChlPW4uZnJvbShlLHQpKSx0aGlzLl9zdGF0ZS5hYnNvcmIoZSksdGhpc319LHtrZXk6InNxdWVlemUiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dGhpcy5fZmluYWxpemVkfHwodGhpcy5fZmluYWxpemVkPSEwLHRoaXMuX3N0YXRlLmFic29yYkxhc3RGZXdCaXRzKHRoaXMuX2RlbGltaXRlZFN1ZmZpeCkpO3ZhciByPXRoaXMuX3N0YXRlLnNxdWVlemUoZSk7cmV0dXJuIHZvaWQgMCE9PXQmJihyPXIudG9TdHJpbmcodCkpLHJ9fSx7a2V5OiJfcmVzZXRTdGF0ZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RhdGUuaW5pdGlhbGl6ZSh0aGlzLl9yYXRlLHRoaXMuX2NhcGFjaXR5KSx0aGlzfX0se2tleToiX2Nsb25lIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPW5ldyBkKHRoaXMuX3JhdGUsdGhpcy5fY2FwYWNpdHksdGhpcy5fZGVsaW1pdGVkU3VmZml4LHRoaXMuX29wdGlvbnMpO3JldHVybiB0aGlzLl9zdGF0ZS5jb3B5KGUuX3N0YXRlKSxlLl9maW5hbGl6ZWQ9dGhpcy5fZmluYWxpemVkLGV9fV0pLGR9KGYpfX0sNTYxMjooZSx0KT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgcj1bMSwwLDMyODk4LDAsMzI5MDYsMjE0NzQ4MzY0OCwyMTQ3NTE2NDE2LDIxNDc0ODM2NDgsMzI5MDcsMCwyMTQ3NDgzNjQ5LDAsMjE0NzUxNjU0NSwyMTQ3NDgzNjQ4LDMyNzc3LDIxNDc0ODM2NDgsMTM4LDAsMTM2LDAsMjE0NzUxNjQyNSwwLDIxNDc0ODM2NTgsMCwyMTQ3NTE2NTU1LDAsMTM5LDIxNDc0ODM2NDgsMzI5MDUsMjE0NzQ4MzY0OCwzMjc3MSwyMTQ3NDgzNjQ4LDMyNzcwLDIxNDc0ODM2NDgsMTI4LDIxNDc0ODM2NDgsMzI3NzgsMCwyMTQ3NDgzNjU4LDIxNDc0ODM2NDgsMjE0NzUxNjU0NSwyMTQ3NDgzNjQ4LDMyODk2LDIxNDc0ODM2NDgsMjE0NzQ4MzY0OSwwLDIxNDc1MTY0MjQsMjE0NzQ4MzY0OF07dC5wMTYwMD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PDI0OysrdCl7dmFyIG49ZVswXV5lWzEwXV5lWzIwXV5lWzMwXV5lWzQwXSxpPWVbMV1eZVsxMV1eZVsyMV1eZVszMV1eZVs0MV0sbz1lWzJdXmVbMTJdXmVbMjJdXmVbMzJdXmVbNDJdLGE9ZVszXV5lWzEzXV5lWzIzXV5lWzMzXV5lWzQzXSxzPWVbNF1eZVsxNF1eZVsyNF1eZVszNF1eZVs0NF0sdT1lWzVdXmVbMTVdXmVbMjVdXmVbMzVdXmVbNDVdLGM9ZVs2XV5lWzE2XV5lWzI2XV5lWzM2XV5lWzQ2XSxmPWVbN11eZVsxN11eZVsyN11eZVszN11eZVs0N10sZD1lWzhdXmVbMThdXmVbMjhdXmVbMzhdXmVbNDhdLGw9ZVs5XV5lWzE5XV5lWzI5XV5lWzM5XV5lWzQ5XSxoPWReKG88PDF8YT4+PjMxKSxwPWxeKGE8PDF8bz4+PjMxKSxiPWVbMF1eaCx5PWVbMV1ecCxtPWVbMTBdXmgsdj1lWzExXV5wLGc9ZVsyMF1eaCx3PWVbMjFdXnAsQT1lWzMwXV5oLGs9ZVszMV1ecCxfPWVbNDBdXmgsUz1lWzQxXV5wO2g9bl4oczw8MXx1Pj4+MzEpLHA9aV4odTw8MXxzPj4+MzEpO3ZhciB4PWVbMl1eaCxFPWVbM11ecCxQPWVbMTJdXmgsTz1lWzEzXV5wLEI9ZVsyMl1eaCxUPWVbMjNdXnAsQz1lWzMyXV5oLEk9ZVszM11ecCxNPWVbNDJdXmgsVT1lWzQzXV5wO2g9b14oYzw8MXxmPj4+MzEpLHA9YV4oZjw8MXxjPj4+MzEpO3ZhciBSPWVbNF1eaCxqPWVbNV1ecCxOPWVbMTRdXmgsRj1lWzE1XV5wLEw9ZVsyNF1eaCxEPWVbMjVdXnAsSD1lWzM0XV5oLHE9ZVszNV1ecCx6PWVbNDRdXmgsRz1lWzQ1XV5wO2g9c14oZDw8MXxsPj4+MzEpLHA9dV4obDw8MXxkPj4+MzEpO3ZhciBLPWVbNl1eaCxWPWVbN11ecCxKPWVbMTZdXmgsVz1lWzE3XV5wLFk9ZVsyNl1eaCxYPWVbMjddXnAsUT1lWzM2XV5oLFo9ZVszN11ecCwkPWVbNDZdXmgsZWU9ZVs0N11ecDtoPWNeKG48PDF8aT4+PjMxKSxwPWZeKGk8PDF8bj4+PjMxKTt2YXIgdGU9ZVs4XV5oLHJlPWVbOV1ecCxuZT1lWzE4XV5oLGllPWVbMTldXnAsb2U9ZVsyOF1eaCxhZT1lWzI5XV5wLHNlPWVbMzhdXmgsdWU9ZVszOV1ecCxjZT1lWzQ4XV5oLGZlPWVbNDldXnAsZGU9YixsZT15LGhlPXY8PDR8bT4+PjI4LHBlPW08PDR8dj4+PjI4LGJlPWc8PDN8dz4+PjI5LHllPXc8PDN8Zz4+PjI5LG1lPWs8PDl8QT4+PjIzLHZlPUE8PDl8az4+PjIzLGdlPV88PDE4fFM+Pj4xNCx3ZT1TPDwxOHxfPj4+MTQsQWU9eDw8MXxFPj4+MzEsa2U9RTw8MXx4Pj4+MzEsX2U9Tzw8MTJ8UD4+PjIwLFNlPVA8PDEyfE8+Pj4yMCx4ZT1CPDwxMHxUPj4+MjIsRWU9VDw8MTB8Qj4+PjIyLFBlPUk8PDEzfEM+Pj4xOSxPZT1DPDwxM3xJPj4+MTksQmU9TTw8MnxVPj4+MzAsVGU9VTw8MnxNPj4+MzAsQ2U9ajw8MzB8Uj4+PjIsSWU9Ujw8MzB8aj4+PjIsTWU9Tjw8NnxGPj4+MjYsVWU9Rjw8NnxOPj4+MjYsUmU9RDw8MTF8TD4+PjIxLGplPUw8PDExfEQ+Pj4yMSxOZT1IPDwxNXxxPj4+MTcsRmU9cTw8MTV8SD4+PjE3LExlPUc8PDI5fHo+Pj4zLERlPXo8PDI5fEc+Pj4zLEhlPUs8PDI4fFY+Pj40LHFlPVY8PDI4fEs+Pj40LHplPVc8PDIzfEo+Pj45LEdlPUo8PDIzfFc+Pj45LEtlPVk8PDI1fFg+Pj43LFZlPVg8PDI1fFk+Pj43LEplPVE8PDIxfFo+Pj4xMSxXZT1aPDwyMXxRPj4+MTEsWWU9ZWU8PDI0fCQ+Pj44LFhlPSQ8PDI0fGVlPj4+OCxRZT10ZTw8Mjd8cmU+Pj41LFplPXJlPDwyN3x0ZT4+PjUsJGU9bmU8PDIwfGllPj4+MTIsZXQ9aWU8PDIwfG5lPj4+MTIsdHQ9YWU8PDd8b2U+Pj4yNSxydD1vZTw8N3xhZT4+PjI1LG50PXNlPDw4fHVlPj4+MjQsaXQ9dWU8PDh8c2U+Pj4yNCxvdD1jZTw8MTR8ZmU+Pj4xOCxhdD1mZTw8MTR8Y2U+Pj4xODtlWzBdPWRlXn5fZSZSZSxlWzFdPWxlXn5TZSZqZSxlWzEwXT1IZV5+JGUmYmUsZVsxMV09cWVefmV0JnllLGVbMjBdPUFlXn5NZSZLZSxlWzIxXT1rZV5+VWUmVmUsZVszMF09UWVefmhlJnhlLGVbMzFdPVplXn5wZSZFZSxlWzQwXT1DZV5+emUmdHQsZVs0MV09SWVefkdlJnJ0LGVbMl09X2VeflJlJkplLGVbM109U2VefmplJldlLGVbMTJdPSRlXn5iZSZQZSxlWzEzXT1ldF5+eWUmT2UsZVsyMl09TWVefktlJm50LGVbMjNdPVVlXn5WZSZpdCxlWzMyXT1oZV5+eGUmTmUsZVszM109cGVefkVlJkZlLGVbNDJdPXplXn50dCZtZSxlWzQzXT1HZV5+cnQmdmUsZVs0XT1SZV5+SmUmb3QsZVs1XT1qZV5+V2UmYXQsZVsxNF09YmVeflBlJkxlLGVbMTVdPXllXn5PZSZEZSxlWzI0XT1LZV5+bnQmZ2UsZVsyNV09VmVefml0JndlLGVbMzRdPXhlXn5OZSZZZSxlWzM1XT1FZV5+RmUmWGUsZVs0NF09dHRefm1lJkJlLGVbNDVdPXJ0Xn52ZSZUZSxlWzZdPUplXn5vdCZkZSxlWzddPVdlXn5hdCZsZSxlWzE2XT1QZV5+TGUmSGUsZVsxN109T2VefkRlJnFlLGVbMjZdPW50Xn5nZSZBZSxlWzI3XT1pdF5+d2Uma2UsZVszNl09TmVeflllJlFlLGVbMzddPUZlXn5YZSZaZSxlWzQ2XT1tZV5+QmUmQ2UsZVs0N109dmVeflRlJkllLGVbOF09b3RefmRlJl9lLGVbOV09YXRefmxlJlNlLGVbMThdPUxlXn5IZSYkZSxlWzE5XT1EZV5+cWUmZXQsZVsyOF09Z2VefkFlJk1lLGVbMjldPXdlXn5rZSZVZSxlWzM4XT1ZZV5+UWUmaGUsZVszOV09WGVeflplJnBlLGVbNDhdPUJlXn5DZSZ6ZSxlWzQ5XT1UZV5+SWUmR2UsZVswXV49clsyKnRdLGVbMV1ePXJbMip0KzFdfX19LDgwMTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTAzMykuQnVmZmVyLGk9cig1NjEyKTtmdW5jdGlvbiBvKCl7dGhpcy5zdGF0ZT1bMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0sdGhpcy5ibG9ja1NpemU9bnVsbCx0aGlzLmNvdW50PTAsdGhpcy5zcXVlZXppbmc9ITF9by5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgcj0wO3I8NTA7KytyKXRoaXMuc3RhdGVbcl09MDt0aGlzLmJsb2NrU2l6ZT1lLzgsdGhpcy5jb3VudD0wLHRoaXMuc3F1ZWV6aW5nPSExfSxvLnByb3RvdHlwZS5hYnNvcmI9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDsrK3QpdGhpcy5zdGF0ZVt+fih0aGlzLmNvdW50LzQpXV49ZVt0XTw8dGhpcy5jb3VudCU0KjgsdGhpcy5jb3VudCs9MSx0aGlzLmNvdW50PT09dGhpcy5ibG9ja1NpemUmJihpLnAxNjAwKHRoaXMuc3RhdGUpLHRoaXMuY291bnQ9MCl9LG8ucHJvdG90eXBlLmFic29yYkxhc3RGZXdCaXRzPWZ1bmN0aW9uKGUpe3RoaXMuc3RhdGVbfn4odGhpcy5jb3VudC80KV1ePWU8PHRoaXMuY291bnQlNCo4LDAhPSgxMjgmZSkmJnRoaXMuY291bnQ9PT10aGlzLmJsb2NrU2l6ZS0xJiZpLnAxNjAwKHRoaXMuc3RhdGUpLHRoaXMuc3RhdGVbfn4oKHRoaXMuYmxvY2tTaXplLTEpLzQpXV49MTI4PDwodGhpcy5ibG9ja1NpemUtMSklNCo4LGkucDE2MDAodGhpcy5zdGF0ZSksdGhpcy5jb3VudD0wLHRoaXMuc3F1ZWV6aW5nPSEwfSxvLnByb3RvdHlwZS5zcXVlZXplPWZ1bmN0aW9uKGUpe3RoaXMuc3F1ZWV6aW5nfHx0aGlzLmFic29yYkxhc3RGZXdCaXRzKDEpO2Zvcih2YXIgdD1uLmFsbG9jKGUpLHI9MDtyPGU7KytyKXRbcl09dGhpcy5zdGF0ZVt+fih0aGlzLmNvdW50LzQpXT4+PnRoaXMuY291bnQlNCo4JjI1NSx0aGlzLmNvdW50Kz0xLHRoaXMuY291bnQ9PT10aGlzLmJsb2NrU2l6ZSYmKGkucDE2MDAodGhpcy5zdGF0ZSksdGhpcy5jb3VudD0wKTtyZXR1cm4gdH0sby5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PDUwOysrdCllLnN0YXRlW3RdPXRoaXMuc3RhdGVbdF07ZS5ibG9ja1NpemU9dGhpcy5ibG9ja1NpemUsZS5jb3VudD10aGlzLmNvdW50LGUuc3F1ZWV6aW5nPXRoaXMuc3F1ZWV6aW5nfSxlLmV4cG9ydHM9b30sODA3OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cigxNzM2KSxpPXIoMjM1Myksbz1yKDg4NTApLkJ1ZmZlcixhPW5ldyBBcnJheSgxNik7ZnVuY3Rpb24gcygpe2kuY2FsbCh0aGlzLDY0KSx0aGlzLl9hPTE3MzI1ODQxOTMsdGhpcy5fYj00MDIzMjMzNDE3LHRoaXMuX2M9MjU2MjM4MzEwMix0aGlzLl9kPTI3MTczMzg3OH1mdW5jdGlvbiB1KGUsdCl7cmV0dXJuIGU8PHR8ZT4+PjMyLXR9ZnVuY3Rpb24gYyhlLHQscixuLGksbyxhKXtyZXR1cm4gdShlKyh0JnJ8fnQmbikraStvfDAsYSkrdHwwfWZ1bmN0aW9uIGYoZSx0LHIsbixpLG8sYSl7cmV0dXJuIHUoZSsodCZufHImfm4pK2krb3wwLGEpK3R8MH1mdW5jdGlvbiBkKGUsdCxyLG4saSxvLGEpe3JldHVybiB1KGUrKHRecl5uKStpK298MCxhKSt0fDB9ZnVuY3Rpb24gbChlLHQscixuLGksbyxhKXtyZXR1cm4gdShlKyhyXih0fH5uKSkraStvfDAsYSkrdHwwfW4ocyxpKSxzLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPWEsdD0wO3Q8MTY7Kyt0KWVbdF09dGhpcy5fYmxvY2sucmVhZEludDMyTEUoNCp0KTt2YXIgcj10aGlzLl9hLG49dGhpcy5fYixpPXRoaXMuX2Msbz10aGlzLl9kO3I9YyhyLG4saSxvLGVbMF0sMzYxNDA5MDM2MCw3KSxvPWMobyxyLG4saSxlWzFdLDM5MDU0MDI3MTAsMTIpLGk9YyhpLG8scixuLGVbMl0sNjA2MTA1ODE5LDE3KSxuPWMobixpLG8scixlWzNdLDMyNTA0NDE5NjYsMjIpLHI9YyhyLG4saSxvLGVbNF0sNDExODU0ODM5OSw3KSxvPWMobyxyLG4saSxlWzVdLDEyMDAwODA0MjYsMTIpLGk9YyhpLG8scixuLGVbNl0sMjgyMTczNTk1NSwxNyksbj1jKG4saSxvLHIsZVs3XSw0MjQ5MjYxMzEzLDIyKSxyPWMocixuLGksbyxlWzhdLDE3NzAwMzU0MTYsNyksbz1jKG8scixuLGksZVs5XSwyMzM2NTUyODc5LDEyKSxpPWMoaSxvLHIsbixlWzEwXSw0Mjk0OTI1MjMzLDE3KSxuPWMobixpLG8scixlWzExXSwyMzA0NTYzMTM0LDIyKSxyPWMocixuLGksbyxlWzEyXSwxODA0NjAzNjgyLDcpLG89YyhvLHIsbixpLGVbMTNdLDQyNTQ2MjYxOTUsMTIpLGk9YyhpLG8scixuLGVbMTRdLDI3OTI5NjUwMDYsMTcpLHI9ZihyLG49YyhuLGksbyxyLGVbMTVdLDEyMzY1MzUzMjksMjIpLGksbyxlWzFdLDQxMjkxNzA3ODYsNSksbz1mKG8scixuLGksZVs2XSwzMjI1NDY1NjY0LDkpLGk9ZihpLG8scixuLGVbMTFdLDY0MzcxNzcxMywxNCksbj1mKG4saSxvLHIsZVswXSwzOTIxMDY5OTk0LDIwKSxyPWYocixuLGksbyxlWzVdLDM1OTM0MDg2MDUsNSksbz1mKG8scixuLGksZVsxMF0sMzgwMTYwODMsOSksaT1mKGksbyxyLG4sZVsxNV0sMzYzNDQ4ODk2MSwxNCksbj1mKG4saSxvLHIsZVs0XSwzODg5NDI5NDQ4LDIwKSxyPWYocixuLGksbyxlWzldLDU2ODQ0NjQzOCw1KSxvPWYobyxyLG4saSxlWzE0XSwzMjc1MTYzNjA2LDkpLGk9ZihpLG8scixuLGVbM10sNDEwNzYwMzMzNSwxNCksbj1mKG4saSxvLHIsZVs4XSwxMTYzNTMxNTAxLDIwKSxyPWYocixuLGksbyxlWzEzXSwyODUwMjg1ODI5LDUpLG89ZihvLHIsbixpLGVbMl0sNDI0MzU2MzUxMiw5KSxpPWYoaSxvLHIsbixlWzddLDE3MzUzMjg0NzMsMTQpLHI9ZChyLG49ZihuLGksbyxyLGVbMTJdLDIzNjgzNTk1NjIsMjApLGksbyxlWzVdLDQyOTQ1ODg3MzgsNCksbz1kKG8scixuLGksZVs4XSwyMjcyMzkyODMzLDExKSxpPWQoaSxvLHIsbixlWzExXSwxODM5MDMwNTYyLDE2KSxuPWQobixpLG8scixlWzE0XSw0MjU5NjU3NzQwLDIzKSxyPWQocixuLGksbyxlWzFdLDI3NjM5NzUyMzYsNCksbz1kKG8scixuLGksZVs0XSwxMjcyODkzMzUzLDExKSxpPWQoaSxvLHIsbixlWzddLDQxMzk0Njk2NjQsMTYpLG49ZChuLGksbyxyLGVbMTBdLDMyMDAyMzY2NTYsMjMpLHI9ZChyLG4saSxvLGVbMTNdLDY4MTI3OTE3NCw0KSxvPWQobyxyLG4saSxlWzBdLDM5MzY0MzAwNzQsMTEpLGk9ZChpLG8scixuLGVbM10sMzU3MjQ0NTMxNywxNiksbj1kKG4saSxvLHIsZVs2XSw3NjAyOTE4OSwyMykscj1kKHIsbixpLG8sZVs5XSwzNjU0NjAyODA5LDQpLG89ZChvLHIsbixpLGVbMTJdLDM4NzMxNTE0NjEsMTEpLGk9ZChpLG8scixuLGVbMTVdLDUzMDc0MjUyMCwxNikscj1sKHIsbj1kKG4saSxvLHIsZVsyXSwzMjk5NjI4NjQ1LDIzKSxpLG8sZVswXSw0MDk2MzM2NDUyLDYpLG89bChvLHIsbixpLGVbN10sMTEyNjg5MTQxNSwxMCksaT1sKGksbyxyLG4sZVsxNF0sMjg3ODYxMjM5MSwxNSksbj1sKG4saSxvLHIsZVs1XSw0MjM3NTMzMjQxLDIxKSxyPWwocixuLGksbyxlWzEyXSwxNzAwNDg1NTcxLDYpLG89bChvLHIsbixpLGVbM10sMjM5OTk4MDY5MCwxMCksaT1sKGksbyxyLG4sZVsxMF0sNDI5MzkxNTc3MywxNSksbj1sKG4saSxvLHIsZVsxXSwyMjQwMDQ0NDk3LDIxKSxyPWwocixuLGksbyxlWzhdLDE4NzMzMTMzNTksNiksbz1sKG8scixuLGksZVsxNV0sNDI2NDM1NTU1MiwxMCksaT1sKGksbyxyLG4sZVs2XSwyNzM0NzY4OTE2LDE1KSxuPWwobixpLG8scixlWzEzXSwxMzA5MTUxNjQ5LDIxKSxyPWwocixuLGksbyxlWzRdLDQxNDk0NDQyMjYsNiksbz1sKG8scixuLGksZVsxMV0sMzE3NDc1NjkxNywxMCksaT1sKGksbyxyLG4sZVsyXSw3MTg3ODcyNTksMTUpLG49bChuLGksbyxyLGVbOV0sMzk1MTQ4MTc0NSwyMSksdGhpcy5fYT10aGlzLl9hK3J8MCx0aGlzLl9iPXRoaXMuX2IrbnwwLHRoaXMuX2M9dGhpcy5fYytpfDAsdGhpcy5fZD10aGlzLl9kK298MH0scy5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbigpe3RoaXMuX2Jsb2NrW3RoaXMuX2Jsb2NrT2Zmc2V0KytdPTEyOCx0aGlzLl9ibG9ja09mZnNldD41NiYmKHRoaXMuX2Jsb2NrLmZpbGwoMCx0aGlzLl9ibG9ja09mZnNldCw2NCksdGhpcy5fdXBkYXRlKCksdGhpcy5fYmxvY2tPZmZzZXQ9MCksdGhpcy5fYmxvY2suZmlsbCgwLHRoaXMuX2Jsb2NrT2Zmc2V0LDU2KSx0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxFKHRoaXMuX2xlbmd0aFswXSw1NiksdGhpcy5fYmxvY2sud3JpdGVVSW50MzJMRSh0aGlzLl9sZW5ndGhbMV0sNjApLHRoaXMuX3VwZGF0ZSgpO3ZhciBlPW8uYWxsb2NVbnNhZmUoMTYpO3JldHVybiBlLndyaXRlSW50MzJMRSh0aGlzLl9hLDApLGUud3JpdGVJbnQzMkxFKHRoaXMuX2IsNCksZS53cml0ZUludDMyTEUodGhpcy5fYyw4KSxlLndyaXRlSW50MzJMRSh0aGlzLl9kLDEyKSxlfSxlLmV4cG9ydHM9c30sMTM3OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cigxNzM0KSxpPXIoMjIwMik7ZnVuY3Rpb24gbyhlKXt0aGlzLnJhbmQ9ZXx8bmV3IGkuUmFuZH1lLmV4cG9ydHM9byxvLmNyZWF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IG8oZSl9LG8ucHJvdG90eXBlLl9yYW5kYmVsb3c9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5iaXRMZW5ndGgoKSxyPU1hdGguY2VpbCh0LzgpO2Rve3ZhciBpPW5ldyBuKHRoaXMucmFuZC5nZW5lcmF0ZShyKSl9d2hpbGUoaS5jbXAoZSk+PTApO3JldHVybiBpfSxvLnByb3RvdHlwZS5fcmFuZHJhbmdlPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dC5zdWIoZSk7cmV0dXJuIGUuYWRkKHRoaXMuX3JhbmRiZWxvdyhyKSl9LG8ucHJvdG90eXBlLnRlc3Q9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPWUuYml0TGVuZ3RoKCksbz1uLm1vbnQoZSksYT1uZXcgbigxKS50b1JlZChvKTt0fHwodD1NYXRoLm1heCgxLGkvNDh8MCkpO2Zvcih2YXIgcz1lLnN1Ym4oMSksdT0wOyFzLnRlc3RuKHUpO3UrKyk7Zm9yKHZhciBjPWUuc2hybih1KSxmPXMudG9SZWQobyk7dD4wO3QtLSl7dmFyIGQ9dGhpcy5fcmFuZHJhbmdlKG5ldyBuKDIpLHMpO3ImJnIoZCk7dmFyIGw9ZC50b1JlZChvKS5yZWRQb3coYyk7aWYoMCE9PWwuY21wKGEpJiYwIT09bC5jbXAoZikpe2Zvcih2YXIgaD0xO2g8dTtoKyspe2lmKDA9PT0obD1sLnJlZFNxcigpKS5jbXAoYSkpcmV0dXJuITE7aWYoMD09PWwuY21wKGYpKWJyZWFrfWlmKGg9PT11KXJldHVybiExfX1yZXR1cm4hMH0sby5wcm90b3R5cGUuZ2V0RGl2aXNvcj1mdW5jdGlvbihlLHQpe3ZhciByPWUuYml0TGVuZ3RoKCksaT1uLm1vbnQoZSksbz1uZXcgbigxKS50b1JlZChpKTt0fHwodD1NYXRoLm1heCgxLHIvNDh8MCkpO2Zvcih2YXIgYT1lLnN1Ym4oMSkscz0wOyFhLnRlc3RuKHMpO3MrKyk7Zm9yKHZhciB1PWUuc2hybihzKSxjPWEudG9SZWQoaSk7dD4wO3QtLSl7dmFyIGY9dGhpcy5fcmFuZHJhbmdlKG5ldyBuKDIpLGEpLGQ9ZS5nY2QoZik7aWYoMCE9PWQuY21wbigxKSlyZXR1cm4gZDt2YXIgbD1mLnRvUmVkKGkpLnJlZFBvdyh1KTtpZigwIT09bC5jbXAobykmJjAhPT1sLmNtcChjKSl7Zm9yKHZhciBoPTE7aDxzO2grKyl7aWYoMD09PShsPWwucmVkU3FyKCkpLmNtcChvKSlyZXR1cm4gbC5mcm9tUmVkKCkuc3VibigxKS5nY2QoZSk7aWYoMD09PWwuY21wKGMpKWJyZWFrfWlmKGg9PT1zKXJldHVybihsPWwucmVkU3FyKCkpLmZyb21SZWQoKS5zdWJuKDEpLmdjZChlKX19cmV0dXJuITF9fSw0NTA0OmU9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdChlLHQpe2lmKCFlKXRocm93IG5ldyBFcnJvcih0fHwiQXNzZXJ0aW9uIGZhaWxlZCIpfWUuZXhwb3J0cz10LHQuZXF1YWw9ZnVuY3Rpb24oZSx0LHIpe2lmKGUhPXQpdGhyb3cgbmV3IEVycm9yKHJ8fCJBc3NlcnRpb24gZmFpbGVkOiAiK2UrIiAhPSAiK3QpfX0sNjU4MDooZSx0KT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgcj10O2Z1bmN0aW9uIG4oZSl7cmV0dXJuIDE9PT1lLmxlbmd0aD8iMCIrZTplfWZ1bmN0aW9uIGkoZSl7Zm9yKHZhciB0PSIiLHI9MDtyPGUubGVuZ3RoO3IrKyl0Kz1uKGVbcl0udG9TdHJpbmcoMTYpKTtyZXR1cm4gdH1yLnRvQXJyYXk9ZnVuY3Rpb24oZSx0KXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlLnNsaWNlKCk7aWYoIWUpcmV0dXJuW107dmFyIHI9W107aWYoInN0cmluZyIhPXR5cGVvZiBlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKylyW25dPTB8ZVtuXTtyZXR1cm4gcn1pZigiaGV4Ij09PXQpZm9yKChlPWUucmVwbGFjZSgvW15hLXowLTldKy9naSwiIikpLmxlbmd0aCUyIT0wJiYoZT0iMCIrZSksbj0wO248ZS5sZW5ndGg7bis9MilyLnB1c2gocGFyc2VJbnQoZVtuXStlW24rMV0sMTYpKTtlbHNlIGZvcihuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBpPWUuY2hhckNvZGVBdChuKSxvPWk+PjgsYT0yNTUmaTtvP3IucHVzaChvLGEpOnIucHVzaChhKX1yZXR1cm4gcn0sci56ZXJvMj1uLHIudG9IZXg9aSxyLmVuY29kZT1mdW5jdGlvbihlLHQpe3JldHVybiJoZXgiPT09dD9pKGUpOmV9fSw2NTY1OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KSxpPW4ocig5NzIxKSksbz1uKHIoODk4NSkpLGE9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQscixuLG8peygwLGkuZGVmYXVsdCkodGhpcyxlKSx0aGlzLm5hbWU9dCx0aGlzLmNvZGU9cix0aGlzLmFscGhhYmV0PW8sbiYmbyYmKHRoaXMuZW5naW5lPW4obykpfXJldHVybigwLG8uZGVmYXVsdCkoZSxbe2tleToiZW5jb2RlIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lbmdpbmUuZW5jb2RlKGUpfX0se2tleToiZGVjb2RlIix2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lbmdpbmUuZGVjb2RlKGUpfX0se2tleToiaXNJbXBsZW1lbnRlZCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbmdpbmV9fV0pLGV9KCk7ZS5leHBvcnRzPWF9LDI2NDI6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciByPTAsbj1uZXcgQXJyYXkodCk7cjx0O3IrKyluW3JdPWVbcl07cmV0dXJuIG59dmFyIGk9cig5MDMzKS5CdWZmZXI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybntlbmNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2kuZnJvbShlKS50b1N0cmluZygiaGV4Iik6ZS50b1N0cmluZygiaGV4Iil9LGRlY29kZTpmdW5jdGlvbih0KXt2YXIgcixvPWZ1bmN0aW9uKGUsdCl7dmFyIHI9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKCFyKXtpZihBcnJheS5pc0FycmF5KGUpfHwocj1mdW5jdGlvbihlLHQpe2lmKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gbihlLHQpO3ZhciByPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PXImJmUuY29uc3RydWN0b3ImJihyPWUuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1yfHwiU2V0Ij09PXI/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PXJ8fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KHIpP24oZSx0KTp2b2lkIDB9fShlKSl8fHQmJmUmJiJudW1iZXIiPT10eXBlb2YgZS5sZW5ndGgpe3ImJihlPXIpO3ZhciBpPTAsbz1mdW5jdGlvbigpe307cmV0dXJue3M6byxuOmZ1bmN0aW9uKCl7cmV0dXJuIGk+PWUubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTplW2krK119fSxlOmZ1bmN0aW9uKGUpe3Rocm93IGV9LGY6b319dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfXZhciBhLHM9ITAsdT0hMTtyZXR1cm57czpmdW5jdGlvbigpe3I9ci5jYWxsKGUpfSxuOmZ1bmN0aW9uKCl7dmFyIGU9ci5uZXh0KCk7cmV0dXJuIHM9ZS5kb25lLGV9LGU6ZnVuY3Rpb24oZSl7dT0hMCxhPWV9LGY6ZnVuY3Rpb24oKXt0cnl7c3x8bnVsbD09ci5yZXR1cm58fHIucmV0dXJuKCl9ZmluYWxseXtpZih1KXRocm93IGF9fX19KHQpO3RyeXtmb3Ioby5zKCk7IShyPW8ubigpKS5kb25lOyl7dmFyIGE9ci52YWx1ZTtpZihlLmluZGV4T2YoYSk8MCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgYmFzZTE2IGNoYXJhY3RlciIpfX1jYXRjaChlKXtvLmUoZSl9ZmluYWxseXtvLmYoKX1yZXR1cm4gaS5mcm9tKHQsImhleCIpfX19fSw2NDk0OmU9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdChlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgcj0wLG49bmV3IEFycmF5KHQpO3I8dDtyKyspbltyXT1lW3JdO3JldHVybiBufWUuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm57ZW5jb2RlOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLHQpe3ZhciByPWUuYnl0ZUxlbmd0aCxuPW5ldyBVaW50OEFycmF5KGUpLGk9dC5pbmRleE9mKCI9Iik9PT10Lmxlbmd0aC0xO2kmJih0PXQuc3Vic3RyaW5nKDAsdC5sZW5ndGgtMSkpO2Zvcih2YXIgbz0wLGE9MCxzPSIiLHU9MDt1PHI7dSsrKWZvcihhPWE8PDh8blt1XSxvKz04O28+PTU7KXMrPXRbYT4+Pm8tNSYzMV0sby09NTtpZihvPjAmJihzKz10W2E8PDUtbyYzMV0pLGkpZm9yKDtzLmxlbmd0aCU4IT0wOylzKz0iPSI7cmV0dXJuIHN9KCJzdHJpbmciPT10eXBlb2YgdD9VaW50OEFycmF5LmZyb20odCk6dCxlKX0sZGVjb2RlOmZ1bmN0aW9uKHIpe3ZhciBuLGk9ZnVuY3Rpb24oZSxyKXt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYoIW4pe2lmKEFycmF5LmlzQXJyYXkoZSl8fChuPWZ1bmN0aW9uKGUscil7aWYoZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiB0KGUscik7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpO3JldHVybiJPYmplY3QiPT09biYmZS5jb25zdHJ1Y3RvciYmKG49ZS5jb25zdHJ1Y3Rvci5uYW1lKSwiTWFwIj09PW58fCJTZXQiPT09bj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/dChlLHIpOnZvaWQgMH19KGUpKXx8ciYmZSYmIm51bWJlciI9PXR5cGVvZiBlLmxlbmd0aCl7biYmKGU9bik7dmFyIGk9MCxvPWZ1bmN0aW9uKCl7fTtyZXR1cm57czpvLG46ZnVuY3Rpb24oKXtyZXR1cm4gaT49ZS5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOmVbaSsrXX19LGU6ZnVuY3Rpb24oZSl7dGhyb3cgZX0sZjpvfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIGEscz0hMCx1PSExO3JldHVybntzOmZ1bmN0aW9uKCl7bj1uLmNhbGwoZSl9LG46ZnVuY3Rpb24oKXt2YXIgZT1uLm5leHQoKTtyZXR1cm4gcz1lLmRvbmUsZX0sZTpmdW5jdGlvbihlKXt1PSEwLGE9ZX0sZjpmdW5jdGlvbigpe3RyeXtzfHxudWxsPT1uLnJldHVybnx8bi5yZXR1cm4oKX1maW5hbGx5e2lmKHUpdGhyb3cgYX19fX0ocik7dHJ5e2ZvcihpLnMoKTshKG49aS5uKCkpLmRvbmU7KXt2YXIgbz1uLnZhbHVlO2lmKGUuaW5kZXhPZihvKTwwKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBiYXNlMzIgY2hhcmFjdGVyIil9fWNhdGNoKGUpe2kuZShlKX1maW5hbGx5e2kuZigpfXJldHVybiBmdW5jdGlvbihlLHQpe2Zvcih2YXIgcj0oZT1lLnJlcGxhY2UobmV3IFJlZ0V4cCgiPSIsImciKSwiIikpLmxlbmd0aCxuPTAsaT0wLG89MCxhPW5ldyBVaW50OEFycmF5KDUqci84fDApLHM9MDtzPHI7cysrKWk9aTw8NXx0LmluZGV4T2YoZVtzXSksKG4rPTUpPj04JiYoYVtvKytdPWk+Pj5uLTgmMjU1LG4tPTgpO3JldHVybiBhLmJ1ZmZlcn0ocixlKX19fX0sNjYyNzooZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIHI9MCxuPW5ldyBBcnJheSh0KTtyPHQ7cisrKW5bcl09ZVtyXTtyZXR1cm4gbn12YXIgaT1yKDkwMzMpLkJ1ZmZlcjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5pbmRleE9mKCI9Iik+LTEscj1lLmluZGV4T2YoIi0iKT4tMSYmZS5pbmRleE9mKCJfIik+LTE7cmV0dXJue2VuY29kZTpmdW5jdGlvbihlKXt2YXIgbj0iIjtuPSJzdHJpbmciPT10eXBlb2YgZT9pLmZyb20oZSkudG9TdHJpbmcoImJhc2U2NCIpOmUudG9TdHJpbmcoImJhc2U2NCIpLHImJihuPW4ucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKSk7dmFyIG89bi5pbmRleE9mKCI9Iik7cmV0dXJuIG8+MCYmIXQmJihuPW4uc3Vic3RyaW5nKDAsbykpLG59LGRlY29kZTpmdW5jdGlvbih0KXt2YXIgcixvPWZ1bmN0aW9uKGUsdCl7dmFyIHI9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKCFyKXtpZihBcnJheS5pc0FycmF5KGUpfHwocj1mdW5jdGlvbihlLHQpe2lmKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gbihlLHQpO3ZhciByPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PXImJmUuY29uc3RydWN0b3ImJihyPWUuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1yfHwiU2V0Ij09PXI/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PXJ8fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KHIpP24oZSx0KTp2b2lkIDB9fShlKSl8fHQmJmUmJiJudW1iZXIiPT10eXBlb2YgZS5sZW5ndGgpe3ImJihlPXIpO3ZhciBpPTAsbz1mdW5jdGlvbigpe307cmV0dXJue3M6byxuOmZ1bmN0aW9uKCl7cmV0dXJuIGk+PWUubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTplW2krK119fSxlOmZ1bmN0aW9uKGUpe3Rocm93IGV9LGY6b319dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfXZhciBhLHM9ITAsdT0hMTtyZXR1cm57czpmdW5jdGlvbigpe3I9ci5jYWxsKGUpfSxuOmZ1bmN0aW9uKCl7dmFyIGU9ci5uZXh0KCk7cmV0dXJuIHM9ZS5kb25lLGV9LGU6ZnVuY3Rpb24oZSl7dT0hMCxhPWV9LGY6ZnVuY3Rpb24oKXt0cnl7c3x8bnVsbD09ci5yZXR1cm58fHIucmV0dXJuKCl9ZmluYWxseXtpZih1KXRocm93IGF9fX19KHQpO3RyeXtmb3Ioby5zKCk7IShyPW8ubigpKS5kb25lOyl7dmFyIGE9ci52YWx1ZTtpZihlLmluZGV4T2YoYSk8MCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgYmFzZTY0IGNoYXJhY3RlciIpfX1jYXRjaChlKXtvLmUoZSl9ZmluYWxseXtvLmYoKX1yZXR1cm4gaS5mcm9tKHQsImJhc2U2NCIpfX19fSw3OTA1OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig2NTY1KSxpPXIoNzU0OCksbz1yKDI2NDIpLGE9cig2NDk0KSxzPXIoNjYyNyksdT1bWyJiYXNlMSIsIjEiLCIiLCIxIl0sWyJiYXNlMiIsIjAiLGksIjAxIl0sWyJiYXNlOCIsIjciLGksIjAxMjM0NTY3Il0sWyJiYXNlMTAiLCI5IixpLCIwMTIzNDU2Nzg5Il0sWyJiYXNlMTYiLCJmIixvLCIwMTIzNDU2Nzg5YWJjZGVmIl0sWyJiYXNlMzIiLCJiIixhLCJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejIzNDU2NyJdLFsiYmFzZTMycGFkIiwiYyIsYSwiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoyMzQ1Njc9Il0sWyJiYXNlMzJoZXgiLCJ2IixhLCIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1diJdLFsiYmFzZTMyaGV4cGFkIiwidCIsYSwiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXY9Il0sWyJiYXNlMzJ6IiwiaCIsYSwieWJuZHJmZzhlamttY3BxeG90MXV3aXN6YTM0NWg3NjkiXSxbImJhc2U1OGZsaWNrciIsIloiLGksIjEyMzQ1Njc4OWFiY2RlZmdoaWprbW5vcHFyc3R1dnd4eXpBQkNERUZHSEpLTE1OUFFSU1RVVldYWVoiXSxbImJhc2U1OGJ0YyIsInoiLGksIjEyMzQ1Njc4OUFCQ0RFRkdISktMTU5QUVJTVFVWV1hZWmFiY2RlZmdoaWprbW5vcHFyc3R1dnd4eXoiXSxbImJhc2U2NCIsIm0iLHMsIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iXSxbImJhc2U2NHBhZCIsIk0iLHMsIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89Il0sWyJiYXNlNjR1cmwiLCJ1IixzLCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fIl0sWyJiYXNlNjR1cmxwYWQiLCJVIixzLCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fPSJdXSxjPXUucmVkdWNlKChmdW5jdGlvbihlLHQpe3JldHVybiBlW3RbMF1dPW5ldyBuKHRbMF0sdFsxXSx0WzJdLHRbM10pLGV9KSx7fSksZj11LnJlZHVjZSgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZVt0WzFdXT1jW3RbMF1dLGV9KSx7fSk7ZS5leHBvcnRzPXtuYW1lczpjLGNvZGVzOmZ9fSw2MDg2OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXIsaT1yKDc5MDUpOyh0PWUuZXhwb3J0cz1hKS5lbmNvZGU9ZnVuY3Rpb24oZSx0KXt2YXIgcj1zKGUpO3JldHVybiBhKHIubmFtZSxuLmZyb20oci5lbmNvZGUodCkpKX0sdC5kZWNvZGU9ZnVuY3Rpb24oZSl7bi5pc0J1ZmZlcihlKSYmKGU9ZS50b1N0cmluZygpKTt2YXIgdD1lLnN1YnN0cmluZygwLDEpOyJzdHJpbmciPT10eXBlb2YoZT1lLnN1YnN0cmluZygxLGUubGVuZ3RoKSkmJihlPW4uZnJvbShlKSk7dmFyIHI9cyh0KTtyZXR1cm4gbi5mcm9tKHIuZGVjb2RlKGUudG9TdHJpbmcoKSkpfSx0LmlzRW5jb2RlZD1mdW5jdGlvbihlKXtpZihuLmlzQnVmZmVyKGUpJiYoZT1lLnRvU3RyaW5nKCkpLCJbb2JqZWN0IFN0cmluZ10iIT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpKXJldHVybiExO3ZhciB0PWUuc3Vic3RyaW5nKDAsMSk7dHJ5e3JldHVybiBzKHQpLm5hbWV9Y2F0Y2goZSl7cmV0dXJuITF9fSx0Lm5hbWVzPU9iamVjdC5mcmVlemUoT2JqZWN0LmtleXMoaS5uYW1lcykpLHQuY29kZXM9T2JqZWN0LmZyZWV6ZShPYmplY3Qua2V5cyhpLmNvZGVzKSk7dmFyIG89bmV3IEVycm9yKCJVbnN1cHBvcnRlZCBlbmNvZGluZyIpO2Z1bmN0aW9uIGEoZSx0KXtpZighdCl0aHJvdyBuZXcgRXJyb3IoInJlcXVpcmVzIGFuIGVuY29kZWQgYnVmZmVyIik7dmFyIHI9cyhlKSxpPW4uZnJvbShyLmNvZGUpO3JldHVybiBmdW5jdGlvbihlLHQpe3MoZSkuZGVjb2RlKHQudG9TdHJpbmcoKSl9KHIubmFtZSx0KSxuLmNvbmNhdChbaSx0XSl9ZnVuY3Rpb24gcyhlKXt2YXIgdDtpZihpLm5hbWVzW2VdKXQ9aS5uYW1lc1tlXTtlbHNle2lmKCFpLmNvZGVzW2VdKXRocm93IG87dD1pLmNvZGVzW2VdfWlmKCF0LmlzSW1wbGVtZW50ZWQoKSl0aHJvdyBuZXcgRXJyb3IoIkJhc2UgIitlKyIgaXMgbm90IGltcGxlbWVudGVkIHlldCIpO3JldHVybiB0fX0sNDA5MzooZSx0LHIpPT57InVzZSBzdHJpY3QiO2Zvcih2YXIgbj1yKDg4NDcpKHIoNDUxOSkpLGk9cig0MDcwKSxvPXt9LGE9MCxzPU9iamVjdC5lbnRyaWVzKGkpO2E8cy5sZW5ndGg7YSsrKXt2YXIgdT0oMCxuLmRlZmF1bHQpKHNbYV0sMiksYz11WzBdLGY9dVsxXTtvW2MudG9VcHBlckNhc2UoKS5yZXBsYWNlKC8tL2csIl8iKV09Zn1lLmV4cG9ydHM9T2JqZWN0LmZyZWV6ZShvKX0sOTIwNjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTAzMykuQnVmZmVyLGk9cig2NjU3KSxvPXIoNzA1NCksYT1yKDYwMDIpLHM9cig1NTc2KTsodD1lLmV4cG9ydHMpLmFkZFByZWZpeD1mdW5jdGlvbihlLHQpe3ZhciByO2lmKG4uaXNCdWZmZXIoZSkpcj1zLnZhcmludEJ1ZmZlckVuY29kZShlKTtlbHNle2lmKCFhW2VdKXRocm93IG5ldyBFcnJvcigibXVsdGljb2RlYyBub3QgcmVjb2duaXplZCIpO3I9YVtlXX1yZXR1cm4gbi5jb25jYXQoW3IsdF0pfSx0LnJtUHJlZml4PWZ1bmN0aW9uKGUpe3JldHVybiBpLmRlY29kZShlKSxlLnNsaWNlKGkuZGVjb2RlLmJ5dGVzKX0sdC5nZXRDb2RlYz1mdW5jdGlvbihlKXt2YXIgdD1pLmRlY29kZShlKSxyPW8uZ2V0KHQpO2lmKHZvaWQgMD09PXIpdGhyb3cgbmV3IEVycm9yKCJDb2RlICIuY29uY2F0KHQsIiBub3QgZm91bmQiKSk7cmV0dXJuIHJ9LHQuZ2V0TmFtZT1mdW5jdGlvbihlKXtyZXR1cm4gby5nZXQoZSl9LHQuZ2V0TnVtYmVyPWZ1bmN0aW9uKGUpe3ZhciB0PWFbZV07aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgRXJyb3IoIkNvZGVjIGAiK2UrImAgbm90IGZvdW5kIik7cmV0dXJuIHMudmFyaW50QnVmZmVyRGVjb2RlKHQpWzBdfSx0LmdldENvZGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGkuZGVjb2RlKGUpfSx0LmdldENvZGVWYXJpbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9YVtlXTtpZih2b2lkIDA9PT10KXRocm93IG5ldyBFcnJvcigiQ29kZWMgYCIrZSsiYCBub3QgZm91bmQiKTtyZXR1cm4gdH0sdC5nZXRWYXJpbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5jb2RlKGUpfTt2YXIgdT1yKDQwOTMpO09iamVjdC5hc3NpZ24odCx1KSx0LnByaW50PXIoMTAzMil9LDcwNTQ6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDQwNzApLGk9bmV3IE1hcDtmb3IodmFyIG8gaW4gbil7dmFyIGE9bltvXTtpLnNldChhLG8pfWUuZXhwb3J0cz1PYmplY3QuZnJlZXplKGkpfSwxMDMyOihlLHQscik9PnsidXNlIHN0cmljdCI7Zm9yKHZhciBuPXIoODg0Nykocig0NTE5KSksaT1yKDQwNzApLG89e30sYT0wLHM9T2JqZWN0LmVudHJpZXMoaSk7YTxzLmxlbmd0aDthKyspe3ZhciB1PSgwLG4uZGVmYXVsdCkoc1thXSwyKSxjPXVbMF0sZj11WzFdO3ZvaWQgMD09PW9bZl0mJihvW2ZdPWMpfWUuZXhwb3J0cz1PYmplY3QuZnJlZXplKG8pfSw1NTc2OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXIsaT1yKDY2NTcpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIHBhcnNlSW50KGUudG9TdHJpbmcoImhleCIpLDE2KX1mdW5jdGlvbiBhKGUpe3ZhciB0PWUudG9TdHJpbmcoMTYpO3JldHVybiB0Lmxlbmd0aCUyPT0xJiYodD0iMCIrdCksbi5mcm9tKHQsImhleCIpfWUuZXhwb3J0cz17bnVtYmVyVG9CdWZmZXI6YSxidWZmZXJUb051bWJlcjpvLHZhcmludEJ1ZmZlckVuY29kZTpmdW5jdGlvbihlKXtyZXR1cm4gbi5mcm9tKGkuZW5jb2RlKG8oZSkpKX0sdmFyaW50QnVmZmVyRGVjb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBhKGkuZGVjb2RlKGUpKX0sdmFyaW50RW5jb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBuLmZyb20oaS5lbmNvZGUoZSkpfX19LDYwMDI6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDQwNzApLGk9cig1NTc2KS52YXJpbnRFbmNvZGUsbz17fTtmb3IodmFyIGEgaW4gbil7dmFyIHM9blthXTtvW2FdPWkocyl9ZS5leHBvcnRzPU9iamVjdC5mcmVlemUobyl9LDE3ODY6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpLGk9bihyKDk3MjEpKSxvPW4ocig4OTg1KSksYT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxyLG4sbyl7KDAsaS5kZWZhdWx0KSh0aGlzLGUpLHRoaXMubmFtZT10LHRoaXMuY29kZT1yLHRoaXMuYWxwaGFiZXQ9byxuJiZvJiYodGhpcy5lbmdpbmU9bihvKSl9cmV0dXJuKDAsby5kZWZhdWx0KShlLFt7a2V5OiJlbmNvZGUiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVuZ2luZS5lbmNvZGUoZSl9fSx7a2V5OiJkZWNvZGUiLHZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVuZ2luZS5kZWNvZGUoZSl9fSx7a2V5OiJpc0ltcGxlbWVudGVkIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVuZ2luZX19XSksZX0oKTtlLmV4cG9ydHM9YX0sNzczOTooZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIHI9MCxuPW5ldyBBcnJheSh0KTtyPHQ7cisrKW5bcl09ZVtyXTtyZXR1cm4gbn12YXIgaT1yKDkwMzMpLkJ1ZmZlcjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJue2VuY29kZTpmdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/aS5mcm9tKGUpLnRvU3RyaW5nKCJoZXgiKTplLnRvU3RyaW5nKCJoZXgiKX0sZGVjb2RlOmZ1bmN0aW9uKHQpe3ZhciByLG89ZnVuY3Rpb24oZSx0KXt2YXIgcj0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYoIXIpe2lmKEFycmF5LmlzQXJyYXkoZSl8fChyPWZ1bmN0aW9uKGUsdCl7aWYoZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBuKGUsdCk7dmFyIHI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpO3JldHVybiJPYmplY3QiPT09ciYmZS5jb25zdHJ1Y3RvciYmKHI9ZS5jb25zdHJ1Y3Rvci5uYW1lKSwiTWFwIj09PXJ8fCJTZXQiPT09cj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09cnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qocik/bihlLHQpOnZvaWQgMH19KGUpKXx8dCYmZSYmIm51bWJlciI9PXR5cGVvZiBlLmxlbmd0aCl7ciYmKGU9cik7dmFyIGk9MCxvPWZ1bmN0aW9uKCl7fTtyZXR1cm57czpvLG46ZnVuY3Rpb24oKXtyZXR1cm4gaT49ZS5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOmVbaSsrXX19LGU6ZnVuY3Rpb24oZSl7dGhyb3cgZX0sZjpvfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIGEscz0hMCx1PSExO3JldHVybntzOmZ1bmN0aW9uKCl7cj1yLmNhbGwoZSl9LG46ZnVuY3Rpb24oKXt2YXIgZT1yLm5leHQoKTtyZXR1cm4gcz1lLmRvbmUsZX0sZTpmdW5jdGlvbihlKXt1PSEwLGE9ZX0sZjpmdW5jdGlvbigpe3RyeXtzfHxudWxsPT1yLnJldHVybnx8ci5yZXR1cm4oKX1maW5hbGx5e2lmKHUpdGhyb3cgYX19fX0odCk7dHJ5e2ZvcihvLnMoKTshKHI9by5uKCkpLmRvbmU7KXt2YXIgYT1yLnZhbHVlO2lmKGUuaW5kZXhPZihhKTwwKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBiYXNlMTYgY2hhcmFjdGVyIil9fWNhdGNoKGUpe28uZShlKX1maW5hbGx5e28uZigpfXJldHVybiBpLmZyb20odCwiaGV4Iil9fX19LDk3NjplPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIHI9MCxuPW5ldyBBcnJheSh0KTtyPHQ7cisrKW5bcl09ZVtyXTtyZXR1cm4gbn1lLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJue2VuY29kZTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgcj1lLmJ5dGVMZW5ndGgsbj1uZXcgVWludDhBcnJheShlKSxpPXQuaW5kZXhPZigiPSIpPT09dC5sZW5ndGgtMTtpJiYodD10LnN1YnN0cmluZygwLHQubGVuZ3RoLTEpKTtmb3IodmFyIG89MCxhPTAscz0iIix1PTA7dTxyO3UrKylmb3IoYT1hPDw4fG5bdV0sbys9ODtvPj01OylzKz10W2E+Pj5vLTUmMzFdLG8tPTU7aWYobz4wJiYocys9dFthPDw1LW8mMzFdKSxpKWZvcig7cy5sZW5ndGglOCE9MDspcys9Ij0iO3JldHVybiBzfSgic3RyaW5nIj09dHlwZW9mIHQ/VWludDhBcnJheS5mcm9tKHQpOnQsZSl9LGRlY29kZTpmdW5jdGlvbihyKXt2YXIgbixpPWZ1bmN0aW9uKGUscil7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKCFuKXtpZihBcnJheS5pc0FycmF5KGUpfHwobj1mdW5jdGlvbihlLHIpe2lmKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gdChlLHIpO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PW4mJmUuY29uc3RydWN0b3ImJihuPWUuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1ufHwiU2V0Ij09PW4/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP3QoZSxyKTp2b2lkIDB9fShlKSl8fHImJmUmJiJudW1iZXIiPT10eXBlb2YgZS5sZW5ndGgpe24mJihlPW4pO3ZhciBpPTAsbz1mdW5jdGlvbigpe307cmV0dXJue3M6byxuOmZ1bmN0aW9uKCl7cmV0dXJuIGk+PWUubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTplW2krK119fSxlOmZ1bmN0aW9uKGUpe3Rocm93IGV9LGY6b319dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfXZhciBhLHM9ITAsdT0hMTtyZXR1cm57czpmdW5jdGlvbigpe249bi5jYWxsKGUpfSxuOmZ1bmN0aW9uKCl7dmFyIGU9bi5uZXh0KCk7cmV0dXJuIHM9ZS5kb25lLGV9LGU6ZnVuY3Rpb24oZSl7dT0hMCxhPWV9LGY6ZnVuY3Rpb24oKXt0cnl7c3x8bnVsbD09bi5yZXR1cm58fG4ucmV0dXJuKCl9ZmluYWxseXtpZih1KXRocm93IGF9fX19KHIpO3RyeXtmb3IoaS5zKCk7IShuPWkubigpKS5kb25lOyl7dmFyIG89bi52YWx1ZTtpZihlLmluZGV4T2Yobyk8MCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgYmFzZTMyIGNoYXJhY3RlciIpfX1jYXRjaChlKXtpLmUoZSl9ZmluYWxseXtpLmYoKX1yZXR1cm4gZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9KGU9ZS5yZXBsYWNlKG5ldyBSZWdFeHAoIj0iLCJnIiksIiIpKS5sZW5ndGgsbj0wLGk9MCxvPTAsYT1uZXcgVWludDhBcnJheSg1KnIvOHwwKSxzPTA7czxyO3MrKylpPWk8PDV8dC5pbmRleE9mKGVbc10pLChuKz01KT49OCYmKGFbbysrXT1pPj4+bi04JjI1NSxuLT04KTtyZXR1cm4gYS5idWZmZXJ9KHIsZSl9fX19LDg1MDQ6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCl7KG51bGw9PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCk7Zm9yKHZhciByPTAsbj1uZXcgQXJyYXkodCk7cjx0O3IrKyluW3JdPWVbcl07cmV0dXJuIG59dmFyIGk9cig5MDMzKS5CdWZmZXI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUuaW5kZXhPZigiPSIpPi0xLHI9ZS5pbmRleE9mKCItIik+LTEmJmUuaW5kZXhPZigiXyIpPi0xO3JldHVybntlbmNvZGU6ZnVuY3Rpb24oZSl7dmFyIG49IiI7bj0ic3RyaW5nIj09dHlwZW9mIGU/aS5mcm9tKGUpLnRvU3RyaW5nKCJiYXNlNjQiKTplLnRvU3RyaW5nKCJiYXNlNjQiKSxyJiYobj1uLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIikpO3ZhciBvPW4uaW5kZXhPZigiPSIpO3JldHVybiBvPjAmJiF0JiYobj1uLnN1YnN0cmluZygwLG8pKSxufSxkZWNvZGU6ZnVuY3Rpb24odCl7dmFyIHIsbz1mdW5jdGlvbihlLHQpe3ZhciByPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZighcil7aWYoQXJyYXkuaXNBcnJheShlKXx8KHI9ZnVuY3Rpb24oZSx0KXtpZihlKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIG4oZSx0KTt2YXIgcj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1yJiZlLmNvbnN0cnVjdG9yJiYocj1lLmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09cnx8IlNldCI9PT1yP0FycmF5LmZyb20oZSk6IkFyZ3VtZW50cyI9PT1yfHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChyKT9uKGUsdCk6dm9pZCAwfX0oZSkpfHx0JiZlJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKXtyJiYoZT1yKTt2YXIgaT0wLG89ZnVuY3Rpb24oKXt9O3JldHVybntzOm8sbjpmdW5jdGlvbigpe3JldHVybiBpPj1lLmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6ZVtpKytdfX0sZTpmdW5jdGlvbihlKXt0aHJvdyBlfSxmOm99fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgYSxzPSEwLHU9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtyPXIuY2FsbChlKX0sbjpmdW5jdGlvbigpe3ZhciBlPXIubmV4dCgpO3JldHVybiBzPWUuZG9uZSxlfSxlOmZ1bmN0aW9uKGUpe3U9ITAsYT1lfSxmOmZ1bmN0aW9uKCl7dHJ5e3N8fG51bGw9PXIucmV0dXJufHxyLnJldHVybigpfWZpbmFsbHl7aWYodSl0aHJvdyBhfX19fSh0KTt0cnl7Zm9yKG8ucygpOyEocj1vLm4oKSkuZG9uZTspe3ZhciBhPXIudmFsdWU7aWYoZS5pbmRleE9mKGEpPDApdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGJhc2U2NCBjaGFyYWN0ZXIiKX19Y2F0Y2goZSl7by5lKGUpfWZpbmFsbHl7by5mKCl9cmV0dXJuIGkuZnJvbSh0LCJiYXNlNjQiKX19fX0sMjI2MzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoMTc4NiksaT1yKDc1NDgpLG89cig3NzM5KSxhPXIoOTc2KSxzPXIoODUwNCksdT1bWyJiYXNlMSIsIjEiLCIiLCIxIl0sWyJiYXNlMiIsIjAiLGksIjAxIl0sWyJiYXNlOCIsIjciLGksIjAxMjM0NTY3Il0sWyJiYXNlMTAiLCI5IixpLCIwMTIzNDU2Nzg5Il0sWyJiYXNlMTYiLCJmIixvLCIwMTIzNDU2Nzg5YWJjZGVmIl0sWyJiYXNlMzIiLCJiIixhLCJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejIzNDU2NyJdLFsiYmFzZTMycGFkIiwiYyIsYSwiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoyMzQ1Njc9Il0sWyJiYXNlMzJoZXgiLCJ2IixhLCIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1diJdLFsiYmFzZTMyaGV4cGFkIiwidCIsYSwiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXY9Il0sWyJiYXNlMzJ6IiwiaCIsYSwieWJuZHJmZzhlamttY3BxeG90MXV3aXN6YTM0NWg3NjkiXSxbImJhc2U1OGZsaWNrciIsIloiLGksIjEyMzQ1Njc4OWFiY2RlZmdoaWprbW5vcHFyc3R1dnd4eXpBQkNERUZHSEpLTE1OUFFSU1RVVldYWVoiXSxbImJhc2U1OGJ0YyIsInoiLGksIjEyMzQ1Njc4OUFCQ0RFRkdISktMTU5QUVJTVFVWV1hZWmFiY2RlZmdoaWprbW5vcHFyc3R1dnd4eXoiXSxbImJhc2U2NCIsIm0iLHMsIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iXSxbImJhc2U2NHBhZCIsIk0iLHMsIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89Il0sWyJiYXNlNjR1cmwiLCJ1IixzLCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fIl0sWyJiYXNlNjR1cmxwYWQiLCJVIixzLCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fPSJdXSxjPXUucmVkdWNlKChmdW5jdGlvbihlLHQpe3JldHVybiBlW3RbMF1dPW5ldyBuKHRbMF0sdFsxXSx0WzJdLHRbM10pLGV9KSx7fSksZj11LnJlZHVjZSgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZVt0WzFdXT1jW3RbMF1dLGV9KSx7fSk7ZS5leHBvcnRzPXtuYW1lczpjLGNvZGVzOmZ9fSwyNTkyOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXIsaT1yKDIyNjMpO2Z1bmN0aW9uIG8oZSx0KXtpZighdCl0aHJvdyBuZXcgRXJyb3IoInJlcXVpcmVzIGFuIGVuY29kZWQgYnVmZmVyIik7dmFyIHI9YShlKSxpPW4uZnJvbShyLmNvZGUpO3JldHVybiBmdW5jdGlvbihlLHQpe2EoZSkuZGVjb2RlKHQudG9TdHJpbmcoKSl9KHIubmFtZSx0KSxuLmNvbmNhdChbaSx0XSl9ZnVuY3Rpb24gYShlKXt2YXIgdDtpZihpLm5hbWVzW2VdKXQ9aS5uYW1lc1tlXTtlbHNle2lmKCFpLmNvZGVzW2VdKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgZW5jb2RpbmciKTt0PWkuY29kZXNbZV19aWYoIXQuaXNJbXBsZW1lbnRlZCgpKXRocm93IG5ldyBFcnJvcigiQmFzZSAiK2UrIiBpcyBub3QgaW1wbGVtZW50ZWQgeWV0Iik7cmV0dXJuIHR9KHQ9ZS5leHBvcnRzPW8pLmVuY29kZT1mdW5jdGlvbihlLHQpe3ZhciByPWEoZSk7cmV0dXJuIG8oci5uYW1lLG4uZnJvbShyLmVuY29kZSh0KSkpfSx0LmRlY29kZT1mdW5jdGlvbihlKXtuLmlzQnVmZmVyKGUpJiYoZT1lLnRvU3RyaW5nKCkpO3ZhciB0PWUuc3Vic3RyaW5nKDAsMSk7InN0cmluZyI9PXR5cGVvZihlPWUuc3Vic3RyaW5nKDEsZS5sZW5ndGgpKSYmKGU9bi5mcm9tKGUpKTt2YXIgcj1hKHQpO3JldHVybiBuLmZyb20oci5kZWNvZGUoZS50b1N0cmluZygpKSl9LHQuaXNFbmNvZGVkPWZ1bmN0aW9uKGUpe2lmKG4uaXNCdWZmZXIoZSkmJihlPWUudG9TdHJpbmcoKSksIltvYmplY3QgU3RyaW5nXSIhPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpcmV0dXJuITE7dmFyIHQ9ZS5zdWJzdHJpbmcoMCwxKTt0cnl7cmV0dXJuIGEodCkubmFtZX1jYXRjaChlKXtyZXR1cm4hMX19LHQubmFtZXM9T2JqZWN0LmZyZWV6ZShPYmplY3Qua2V5cyhpLm5hbWVzKSksdC5jb2Rlcz1PYmplY3QuZnJlZXplKE9iamVjdC5rZXlzKGkuY29kZXMpKX0sMTI2OTooZSx0KT0+eyJ1c2Ugc3RyaWN0Ijt0Lm5hbWVzPU9iamVjdC5mcmVlemUoe2lkZW50aXR5OjAsc2hhMToxNywic2hhMi0yNTYiOjE4LCJzaGEyLTUxMiI6MTksImRibC1zaGEyLTI1NiI6ODYsInNoYTMtMjI0IjoyMywic2hhMy0yNTYiOjIyLCJzaGEzLTM4NCI6MjEsInNoYTMtNTEyIjoyMCwic2hha2UtMTI4IjoyNCwic2hha2UtMjU2IjoyNSwia2VjY2FrLTIyNCI6MjYsImtlY2Nhay0yNTYiOjI3LCJrZWNjYWstMzg0IjoyOCwia2VjY2FrLTUxMiI6MjksIm11cm11cjMtMTI4IjozNCwibXVybXVyMy0zMiI6MzUsbWQ0OjIxMixtZDU6MjEzLCJibGFrZTJiLTgiOjQ1NTY5LCJibGFrZTJiLTE2Ijo0NTU3MCwiYmxha2UyYi0yNCI6NDU1NzEsImJsYWtlMmItMzIiOjQ1NTcyLCJibGFrZTJiLTQwIjo0NTU3MywiYmxha2UyYi00OCI6NDU1NzQsImJsYWtlMmItNTYiOjQ1NTc1LCJibGFrZTJiLTY0Ijo0NTU3NiwiYmxha2UyYi03MiI6NDU1NzcsImJsYWtlMmItODAiOjQ1NTc4LCJibGFrZTJiLTg4Ijo0NTU3OSwiYmxha2UyYi05NiI6NDU1ODAsImJsYWtlMmItMTA0Ijo0NTU4MSwiYmxha2UyYi0xMTIiOjQ1NTgyLCJibGFrZTJiLTEyMCI6NDU1ODMsImJsYWtlMmItMTI4Ijo0NTU4NCwiYmxha2UyYi0xMzYiOjQ1NTg1LCJibGFrZTJiLTE0NCI6NDU1ODYsImJsYWtlMmItMTUyIjo0NTU4NywiYmxha2UyYi0xNjAiOjQ1NTg4LCJibGFrZTJiLTE2OCI6NDU1ODksImJsYWtlMmItMTc2Ijo0NTU5MCwiYmxha2UyYi0xODQiOjQ1NTkxLCJibGFrZTJiLTE5MiI6NDU1OTIsImJsYWtlMmItMjAwIjo0NTU5MywiYmxha2UyYi0yMDgiOjQ1NTk0LCJibGFrZTJiLTIxNiI6NDU1OTUsImJsYWtlMmItMjI0Ijo0NTU5NiwiYmxha2UyYi0yMzIiOjQ1NTk3LCJibGFrZTJiLTI0MCI6NDU1OTgsImJsYWtlMmItMjQ4Ijo0NTU5OSwiYmxha2UyYi0yNTYiOjQ1NjAwLCJibGFrZTJiLTI2NCI6NDU2MDEsImJsYWtlMmItMjcyIjo0NTYwMiwiYmxha2UyYi0yODAiOjQ1NjAzLCJibGFrZTJiLTI4OCI6NDU2MDQsImJsYWtlMmItMjk2Ijo0NTYwNSwiYmxha2UyYi0zMDQiOjQ1NjA2LCJibGFrZTJiLTMxMiI6NDU2MDcsImJsYWtlMmItMzIwIjo0NTYwOCwiYmxha2UyYi0zMjgiOjQ1NjA5LCJibGFrZTJiLTMzNiI6NDU2MTAsImJsYWtlMmItMzQ0Ijo0NTYxMSwiYmxha2UyYi0zNTIiOjQ1NjEyLCJibGFrZTJiLTM2MCI6NDU2MTMsImJsYWtlMmItMzY4Ijo0NTYxNCwiYmxha2UyYi0zNzYiOjQ1NjE1LCJibGFrZTJiLTM4NCI6NDU2MTYsImJsYWtlMmItMzkyIjo0NTYxNywiYmxha2UyYi00MDAiOjQ1NjE4LCJibGFrZTJiLTQwOCI6NDU2MTksImJsYWtlMmItNDE2Ijo0NTYyMCwiYmxha2UyYi00MjQiOjQ1NjIxLCJibGFrZTJiLTQzMiI6NDU2MjIsImJsYWtlMmItNDQwIjo0NTYyMywiYmxha2UyYi00NDgiOjQ1NjI0LCJibGFrZTJiLTQ1NiI6NDU2MjUsImJsYWtlMmItNDY0Ijo0NTYyNiwiYmxha2UyYi00NzIiOjQ1NjI3LCJibGFrZTJiLTQ4MCI6NDU2MjgsImJsYWtlMmItNDg4Ijo0NTYyOSwiYmxha2UyYi00OTYiOjQ1NjMwLCJibGFrZTJiLTUwNCI6NDU2MzEsImJsYWtlMmItNTEyIjo0NTYzMiwiYmxha2Uycy04Ijo0NTYzMywiYmxha2Uycy0xNiI6NDU2MzQsImJsYWtlMnMtMjQiOjQ1NjM1LCJibGFrZTJzLTMyIjo0NTYzNiwiYmxha2Uycy00MCI6NDU2MzcsImJsYWtlMnMtNDgiOjQ1NjM4LCJibGFrZTJzLTU2Ijo0NTYzOSwiYmxha2Uycy02NCI6NDU2NDAsImJsYWtlMnMtNzIiOjQ1NjQxLCJibGFrZTJzLTgwIjo0NTY0MiwiYmxha2Uycy04OCI6NDU2NDMsImJsYWtlMnMtOTYiOjQ1NjQ0LCJibGFrZTJzLTEwNCI6NDU2NDUsImJsYWtlMnMtMTEyIjo0NTY0NiwiYmxha2Uycy0xMjAiOjQ1NjQ3LCJibGFrZTJzLTEyOCI6NDU2NDgsImJsYWtlMnMtMTM2Ijo0NTY0OSwiYmxha2Uycy0xNDQiOjQ1NjUwLCJibGFrZTJzLTE1MiI6NDU2NTEsImJsYWtlMnMtMTYwIjo0NTY1MiwiYmxha2Uycy0xNjgiOjQ1NjUzLCJibGFrZTJzLTE3NiI6NDU2NTQsImJsYWtlMnMtMTg0Ijo0NTY1NSwiYmxha2Uycy0xOTIiOjQ1NjU2LCJibGFrZTJzLTIwMCI6NDU2NTcsImJsYWtlMnMtMjA4Ijo0NTY1OCwiYmxha2Uycy0yMTYiOjQ1NjU5LCJibGFrZTJzLTIyNCI6NDU2NjAsImJsYWtlMnMtMjMyIjo0NTY2MSwiYmxha2Uycy0yNDAiOjQ1NjYyLCJibGFrZTJzLTI0OCI6NDU2NjMsImJsYWtlMnMtMjU2Ijo0NTY2NCwiU2tlaW4yNTYtOCI6NDU4MjUsIlNrZWluMjU2LTE2Ijo0NTgyNiwiU2tlaW4yNTYtMjQiOjQ1ODI3LCJTa2VpbjI1Ni0zMiI6NDU4MjgsIlNrZWluMjU2LTQwIjo0NTgyOSwiU2tlaW4yNTYtNDgiOjQ1ODMwLCJTa2VpbjI1Ni01NiI6NDU4MzEsIlNrZWluMjU2LTY0Ijo0NTgzMiwiU2tlaW4yNTYtNzIiOjQ1ODMzLCJTa2VpbjI1Ni04MCI6NDU4MzQsIlNrZWluMjU2LTg4Ijo0NTgzNSwiU2tlaW4yNTYtOTYiOjQ1ODM2LCJTa2VpbjI1Ni0xMDQiOjQ1ODM3LCJTa2VpbjI1Ni0xMTIiOjQ1ODM4LCJTa2VpbjI1Ni0xMjAiOjQ1ODM5LCJTa2VpbjI1Ni0xMjgiOjQ1ODQwLCJTa2VpbjI1Ni0xMzYiOjQ1ODQxLCJTa2VpbjI1Ni0xNDQiOjQ1ODQyLCJTa2VpbjI1Ni0xNTIiOjQ1ODQzLCJTa2VpbjI1Ni0xNjAiOjQ1ODQ0LCJTa2VpbjI1Ni0xNjgiOjQ1ODQ1LCJTa2VpbjI1Ni0xNzYiOjQ1ODQ2LCJTa2VpbjI1Ni0xODQiOjQ1ODQ3LCJTa2VpbjI1Ni0xOTIiOjQ1ODQ4LCJTa2VpbjI1Ni0yMDAiOjQ1ODQ5LCJTa2VpbjI1Ni0yMDgiOjQ1ODUwLCJTa2VpbjI1Ni0yMTYiOjQ1ODUxLCJTa2VpbjI1Ni0yMjQiOjQ1ODUyLCJTa2VpbjI1Ni0yMzIiOjQ1ODUzLCJTa2VpbjI1Ni0yNDAiOjQ1ODU0LCJTa2VpbjI1Ni0yNDgiOjQ1ODU1LCJTa2VpbjI1Ni0yNTYiOjQ1ODU2LCJTa2VpbjUxMi04Ijo0NTg1NywiU2tlaW41MTItMTYiOjQ1ODU4LCJTa2VpbjUxMi0yNCI6NDU4NTksIlNrZWluNTEyLTMyIjo0NTg2MCwiU2tlaW41MTItNDAiOjQ1ODYxLCJTa2VpbjUxMi00OCI6NDU4NjIsIlNrZWluNTEyLTU2Ijo0NTg2MywiU2tlaW41MTItNjQiOjQ1ODY0LCJTa2VpbjUxMi03MiI6NDU4NjUsIlNrZWluNTEyLTgwIjo0NTg2NiwiU2tlaW41MTItODgiOjQ1ODY3LCJTa2VpbjUxMi05NiI6NDU4NjgsIlNrZWluNTEyLTEwNCI6NDU4NjksIlNrZWluNTEyLTExMiI6NDU4NzAsIlNrZWluNTEyLTEyMCI6NDU4NzEsIlNrZWluNTEyLTEyOCI6NDU4NzIsIlNrZWluNTEyLTEzNiI6NDU4NzMsIlNrZWluNTEyLTE0NCI6NDU4NzQsIlNrZWluNTEyLTE1MiI6NDU4NzUsIlNrZWluNTEyLTE2MCI6NDU4NzYsIlNrZWluNTEyLTE2OCI6NDU4NzcsIlNrZWluNTEyLTE3NiI6NDU4NzgsIlNrZWluNTEyLTE4NCI6NDU4NzksIlNrZWluNTEyLTE5MiI6NDU4ODAsIlNrZWluNTEyLTIwMCI6NDU4ODEsIlNrZWluNTEyLTIwOCI6NDU4ODIsIlNrZWluNTEyLTIxNiI6NDU4ODMsIlNrZWluNTEyLTIyNCI6NDU4ODQsIlNrZWluNTEyLTIzMiI6NDU4ODUsIlNrZWluNTEyLTI0MCI6NDU4ODYsIlNrZWluNTEyLTI0OCI6NDU4ODcsIlNrZWluNTEyLTI1NiI6NDU4ODgsIlNrZWluNTEyLTI2NCI6NDU4ODksIlNrZWluNTEyLTI3MiI6NDU4OTAsIlNrZWluNTEyLTI4MCI6NDU4OTEsIlNrZWluNTEyLTI4OCI6NDU4OTIsIlNrZWluNTEyLTI5NiI6NDU4OTMsIlNrZWluNTEyLTMwNCI6NDU4OTQsIlNrZWluNTEyLTMxMiI6NDU4OTUsIlNrZWluNTEyLTMyMCI6NDU4OTYsIlNrZWluNTEyLTMyOCI6NDU4OTcsIlNrZWluNTEyLTMzNiI6NDU4OTgsIlNrZWluNTEyLTM0NCI6NDU4OTksIlNrZWluNTEyLTM1MiI6NDU5MDAsIlNrZWluNTEyLTM2MCI6NDU5MDEsIlNrZWluNTEyLTM2OCI6NDU5MDIsIlNrZWluNTEyLTM3NiI6NDU5MDMsIlNrZWluNTEyLTM4NCI6NDU5MDQsIlNrZWluNTEyLTM5MiI6NDU5MDUsIlNrZWluNTEyLTQwMCI6NDU5MDYsIlNrZWluNTEyLTQwOCI6NDU5MDcsIlNrZWluNTEyLTQxNiI6NDU5MDgsIlNrZWluNTEyLTQyNCI6NDU5MDksIlNrZWluNTEyLTQzMiI6NDU5MTAsIlNrZWluNTEyLTQ0MCI6NDU5MTEsIlNrZWluNTEyLTQ0OCI6NDU5MTIsIlNrZWluNTEyLTQ1NiI6NDU5MTMsIlNrZWluNTEyLTQ2NCI6NDU5MTQsIlNrZWluNTEyLTQ3MiI6NDU5MTUsIlNrZWluNTEyLTQ4MCI6NDU5MTYsIlNrZWluNTEyLTQ4OCI6NDU5MTcsIlNrZWluNTEyLTQ5NiI6NDU5MTgsIlNrZWluNTEyLTUwNCI6NDU5MTksIlNrZWluNTEyLTUxMiI6NDU5MjAsIlNrZWluMTAyNC04Ijo0NTkyMSwiU2tlaW4xMDI0LTE2Ijo0NTkyMiwiU2tlaW4xMDI0LTI0Ijo0NTkyMywiU2tlaW4xMDI0LTMyIjo0NTkyNCwiU2tlaW4xMDI0LTQwIjo0NTkyNSwiU2tlaW4xMDI0LTQ4Ijo0NTkyNiwiU2tlaW4xMDI0LTU2Ijo0NTkyNywiU2tlaW4xMDI0LTY0Ijo0NTkyOCwiU2tlaW4xMDI0LTcyIjo0NTkyOSwiU2tlaW4xMDI0LTgwIjo0NTkzMCwiU2tlaW4xMDI0LTg4Ijo0NTkzMSwiU2tlaW4xMDI0LTk2Ijo0NTkzMiwiU2tlaW4xMDI0LTEwNCI6NDU5MzMsIlNrZWluMTAyNC0xMTIiOjQ1OTM0LCJTa2VpbjEwMjQtMTIwIjo0NTkzNSwiU2tlaW4xMDI0LTEyOCI6NDU5MzYsIlNrZWluMTAyNC0xMzYiOjQ1OTM3LCJTa2VpbjEwMjQtMTQ0Ijo0NTkzOCwiU2tlaW4xMDI0LTE1MiI6NDU5MzksIlNrZWluMTAyNC0xNjAiOjQ1OTQwLCJTa2VpbjEwMjQtMTY4Ijo0NTk0MSwiU2tlaW4xMDI0LTE3NiI6NDU5NDIsIlNrZWluMTAyNC0xODQiOjQ1OTQzLCJTa2VpbjEwMjQtMTkyIjo0NTk0NCwiU2tlaW4xMDI0LTIwMCI6NDU5NDUsIlNrZWluMTAyNC0yMDgiOjQ1OTQ2LCJTa2VpbjEwMjQtMjE2Ijo0NTk0NywiU2tlaW4xMDI0LTIyNCI6NDU5NDgsIlNrZWluMTAyNC0yMzIiOjQ1OTQ5LCJTa2VpbjEwMjQtMjQwIjo0NTk1MCwiU2tlaW4xMDI0LTI0OCI6NDU5NTEsIlNrZWluMTAyNC0yNTYiOjQ1OTUyLCJTa2VpbjEwMjQtMjY0Ijo0NTk1MywiU2tlaW4xMDI0LTI3MiI6NDU5NTQsIlNrZWluMTAyNC0yODAiOjQ1OTU1LCJTa2VpbjEwMjQtMjg4Ijo0NTk1NiwiU2tlaW4xMDI0LTI5NiI6NDU5NTcsIlNrZWluMTAyNC0zMDQiOjQ1OTU4LCJTa2VpbjEwMjQtMzEyIjo0NTk1OSwiU2tlaW4xMDI0LTMyMCI6NDU5NjAsIlNrZWluMTAyNC0zMjgiOjQ1OTYxLCJTa2VpbjEwMjQtMzM2Ijo0NTk2MiwiU2tlaW4xMDI0LTM0NCI6NDU5NjMsIlNrZWluMTAyNC0zNTIiOjQ1OTY0LCJTa2VpbjEwMjQtMzYwIjo0NTk2NSwiU2tlaW4xMDI0LTM2OCI6NDU5NjYsIlNrZWluMTAyNC0zNzYiOjQ1OTY3LCJTa2VpbjEwMjQtMzg0Ijo0NTk2OCwiU2tlaW4xMDI0LTM5MiI6NDU5NjksIlNrZWluMTAyNC00MDAiOjQ1OTcwLCJTa2VpbjEwMjQtNDA4Ijo0NTk3MSwiU2tlaW4xMDI0LTQxNiI6NDU5NzIsIlNrZWluMTAyNC00MjQiOjQ1OTczLCJTa2VpbjEwMjQtNDMyIjo0NTk3NCwiU2tlaW4xMDI0LTQ0MCI6NDU5NzUsIlNrZWluMTAyNC00NDgiOjQ1OTc2LCJTa2VpbjEwMjQtNDU2Ijo0NTk3NywiU2tlaW4xMDI0LTQ2NCI6NDU5NzgsIlNrZWluMTAyNC00NzIiOjQ1OTc5LCJTa2VpbjEwMjQtNDgwIjo0NTk4MCwiU2tlaW4xMDI0LTQ4OCI6NDU5ODEsIlNrZWluMTAyNC00OTYiOjQ1OTgyLCJTa2VpbjEwMjQtNTA0Ijo0NTk4MywiU2tlaW4xMDI0LTUxMiI6NDU5ODQsIlNrZWluMTAyNC01MjAiOjQ1OTg1LCJTa2VpbjEwMjQtNTI4Ijo0NTk4NiwiU2tlaW4xMDI0LTUzNiI6NDU5ODcsIlNrZWluMTAyNC01NDQiOjQ1OTg4LCJTa2VpbjEwMjQtNTUyIjo0NTk4OSwiU2tlaW4xMDI0LTU2MCI6NDU5OTAsIlNrZWluMTAyNC01NjgiOjQ1OTkxLCJTa2VpbjEwMjQtNTc2Ijo0NTk5MiwiU2tlaW4xMDI0LTU4NCI6NDU5OTMsIlNrZWluMTAyNC01OTIiOjQ1OTk0LCJTa2VpbjEwMjQtNjAwIjo0NTk5NSwiU2tlaW4xMDI0LTYwOCI6NDU5OTYsIlNrZWluMTAyNC02MTYiOjQ1OTk3LCJTa2VpbjEwMjQtNjI0Ijo0NTk5OCwiU2tlaW4xMDI0LTYzMiI6NDU5OTksIlNrZWluMTAyNC02NDAiOjQ2ZTMsIlNrZWluMTAyNC02NDgiOjQ2MDAxLCJTa2VpbjEwMjQtNjU2Ijo0NjAwMiwiU2tlaW4xMDI0LTY2NCI6NDYwMDMsIlNrZWluMTAyNC02NzIiOjQ2MDA0LCJTa2VpbjEwMjQtNjgwIjo0NjAwNSwiU2tlaW4xMDI0LTY4OCI6NDYwMDYsIlNrZWluMTAyNC02OTYiOjQ2MDA3LCJTa2VpbjEwMjQtNzA0Ijo0NjAwOCwiU2tlaW4xMDI0LTcxMiI6NDYwMDksIlNrZWluMTAyNC03MjAiOjQ2MDEwLCJTa2VpbjEwMjQtNzI4Ijo0NjAxMSwiU2tlaW4xMDI0LTczNiI6NDYwMTIsIlNrZWluMTAyNC03NDQiOjQ2MDEzLCJTa2VpbjEwMjQtNzUyIjo0NjAxNCwiU2tlaW4xMDI0LTc2MCI6NDYwMTUsIlNrZWluMTAyNC03NjgiOjQ2MDE2LCJTa2VpbjEwMjQtNzc2Ijo0NjAxNywiU2tlaW4xMDI0LTc4NCI6NDYwMTgsIlNrZWluMTAyNC03OTIiOjQ2MDE5LCJTa2VpbjEwMjQtODAwIjo0NjAyMCwiU2tlaW4xMDI0LTgwOCI6NDYwMjEsIlNrZWluMTAyNC04MTYiOjQ2MDIyLCJTa2VpbjEwMjQtODI0Ijo0NjAyMywiU2tlaW4xMDI0LTgzMiI6NDYwMjQsIlNrZWluMTAyNC04NDAiOjQ2MDI1LCJTa2VpbjEwMjQtODQ4Ijo0NjAyNiwiU2tlaW4xMDI0LTg1NiI6NDYwMjcsIlNrZWluMTAyNC04NjQiOjQ2MDI4LCJTa2VpbjEwMjQtODcyIjo0NjAyOSwiU2tlaW4xMDI0LTg4MCI6NDYwMzAsIlNrZWluMTAyNC04ODgiOjQ2MDMxLCJTa2VpbjEwMjQtODk2Ijo0NjAzMiwiU2tlaW4xMDI0LTkwNCI6NDYwMzMsIlNrZWluMTAyNC05MTIiOjQ2MDM0LCJTa2VpbjEwMjQtOTIwIjo0NjAzNSwiU2tlaW4xMDI0LTkyOCI6NDYwMzYsIlNrZWluMTAyNC05MzYiOjQ2MDM3LCJTa2VpbjEwMjQtOTQ0Ijo0NjAzOCwiU2tlaW4xMDI0LTk1MiI6NDYwMzksIlNrZWluMTAyNC05NjAiOjQ2MDQwLCJTa2VpbjEwMjQtOTY4Ijo0NjA0MSwiU2tlaW4xMDI0LTk3NiI6NDYwNDIsIlNrZWluMTAyNC05ODQiOjQ2MDQzLCJTa2VpbjEwMjQtOTkyIjo0NjA0NCwiU2tlaW4xMDI0LTEwMDAiOjQ2MDQ1LCJTa2VpbjEwMjQtMTAwOCI6NDYwNDYsIlNrZWluMTAyNC0xMDE2Ijo0NjA0NywiU2tlaW4xMDI0LTEwMjQiOjQ2MDQ4fSksdC5jb2Rlcz1PYmplY3QuZnJlZXplKHswOiJpZGVudGl0eSIsMTc6InNoYTEiLDE4OiJzaGEyLTI1NiIsMTk6InNoYTItNTEyIiw4NjoiZGJsLXNoYTItMjU2IiwyMzoic2hhMy0yMjQiLDIyOiJzaGEzLTI1NiIsMjE6InNoYTMtMzg0IiwyMDoic2hhMy01MTIiLDI0OiJzaGFrZS0xMjgiLDI1OiJzaGFrZS0yNTYiLDI2OiJrZWNjYWstMjI0IiwyNzoia2VjY2FrLTI1NiIsMjg6ImtlY2Nhay0zODQiLDI5OiJrZWNjYWstNTEyIiwzNDoibXVybXVyMy0xMjgiLDM1OiJtdXJtdXIzLTMyIiwyMTI6Im1kNCIsMjEzOiJtZDUiLDQ1NTY5OiJibGFrZTJiLTgiLDQ1NTcwOiJibGFrZTJiLTE2Iiw0NTU3MToiYmxha2UyYi0yNCIsNDU1NzI6ImJsYWtlMmItMzIiLDQ1NTczOiJibGFrZTJiLTQwIiw0NTU3NDoiYmxha2UyYi00OCIsNDU1NzU6ImJsYWtlMmItNTYiLDQ1NTc2OiJibGFrZTJiLTY0Iiw0NTU3NzoiYmxha2UyYi03MiIsNDU1Nzg6ImJsYWtlMmItODAiLDQ1NTc5OiJibGFrZTJiLTg4Iiw0NTU4MDoiYmxha2UyYi05NiIsNDU1ODE6ImJsYWtlMmItMTA0Iiw0NTU4MjoiYmxha2UyYi0xMTIiLDQ1NTgzOiJibGFrZTJiLTEyMCIsNDU1ODQ6ImJsYWtlMmItMTI4Iiw0NTU4NToiYmxha2UyYi0xMzYiLDQ1NTg2OiJibGFrZTJiLTE0NCIsNDU1ODc6ImJsYWtlMmItMTUyIiw0NTU4ODoiYmxha2UyYi0xNjAiLDQ1NTg5OiJibGFrZTJiLTE2OCIsNDU1OTA6ImJsYWtlMmItMTc2Iiw0NTU5MToiYmxha2UyYi0xODQiLDQ1NTkyOiJibGFrZTJiLTE5MiIsNDU1OTM6ImJsYWtlMmItMjAwIiw0NTU5NDoiYmxha2UyYi0yMDgiLDQ1NTk1OiJibGFrZTJiLTIxNiIsNDU1OTY6ImJsYWtlMmItMjI0Iiw0NTU5NzoiYmxha2UyYi0yMzIiLDQ1NTk4OiJibGFrZTJiLTI0MCIsNDU1OTk6ImJsYWtlMmItMjQ4Iiw0NTYwMDoiYmxha2UyYi0yNTYiLDQ1NjAxOiJibGFrZTJiLTI2NCIsNDU2MDI6ImJsYWtlMmItMjcyIiw0NTYwMzoiYmxha2UyYi0yODAiLDQ1NjA0OiJibGFrZTJiLTI4OCIsNDU2MDU6ImJsYWtlMmItMjk2Iiw0NTYwNjoiYmxha2UyYi0zMDQiLDQ1NjA3OiJibGFrZTJiLTMxMiIsNDU2MDg6ImJsYWtlMmItMzIwIiw0NTYwOToiYmxha2UyYi0zMjgiLDQ1NjEwOiJibGFrZTJiLTMzNiIsNDU2MTE6ImJsYWtlMmItMzQ0Iiw0NTYxMjoiYmxha2UyYi0zNTIiLDQ1NjEzOiJibGFrZTJiLTM2MCIsNDU2MTQ6ImJsYWtlMmItMzY4Iiw0NTYxNToiYmxha2UyYi0zNzYiLDQ1NjE2OiJibGFrZTJiLTM4NCIsNDU2MTc6ImJsYWtlMmItMzkyIiw0NTYxODoiYmxha2UyYi00MDAiLDQ1NjE5OiJibGFrZTJiLTQwOCIsNDU2MjA6ImJsYWtlMmItNDE2Iiw0NTYyMToiYmxha2UyYi00MjQiLDQ1NjIyOiJibGFrZTJiLTQzMiIsNDU2MjM6ImJsYWtlMmItNDQwIiw0NTYyNDoiYmxha2UyYi00NDgiLDQ1NjI1OiJibGFrZTJiLTQ1NiIsNDU2MjY6ImJsYWtlMmItNDY0Iiw0NTYyNzoiYmxha2UyYi00NzIiLDQ1NjI4OiJibGFrZTJiLTQ4MCIsNDU2Mjk6ImJsYWtlMmItNDg4Iiw0NTYzMDoiYmxha2UyYi00OTYiLDQ1NjMxOiJibGFrZTJiLTUwNCIsNDU2MzI6ImJsYWtlMmItNTEyIiw0NTYzMzoiYmxha2Uycy04Iiw0NTYzNDoiYmxha2Uycy0xNiIsNDU2MzU6ImJsYWtlMnMtMjQiLDQ1NjM2OiJibGFrZTJzLTMyIiw0NTYzNzoiYmxha2Uycy00MCIsNDU2Mzg6ImJsYWtlMnMtNDgiLDQ1NjM5OiJibGFrZTJzLTU2Iiw0NTY0MDoiYmxha2Uycy02NCIsNDU2NDE6ImJsYWtlMnMtNzIiLDQ1NjQyOiJibGFrZTJzLTgwIiw0NTY0MzoiYmxha2Uycy04OCIsNDU2NDQ6ImJsYWtlMnMtOTYiLDQ1NjQ1OiJibGFrZTJzLTEwNCIsNDU2NDY6ImJsYWtlMnMtMTEyIiw0NTY0NzoiYmxha2Uycy0xMjAiLDQ1NjQ4OiJibGFrZTJzLTEyOCIsNDU2NDk6ImJsYWtlMnMtMTM2Iiw0NTY1MDoiYmxha2Uycy0xNDQiLDQ1NjUxOiJibGFrZTJzLTE1MiIsNDU2NTI6ImJsYWtlMnMtMTYwIiw0NTY1MzoiYmxha2Uycy0xNjgiLDQ1NjU0OiJibGFrZTJzLTE3NiIsNDU2NTU6ImJsYWtlMnMtMTg0Iiw0NTY1NjoiYmxha2Uycy0xOTIiLDQ1NjU3OiJibGFrZTJzLTIwMCIsNDU2NTg6ImJsYWtlMnMtMjA4Iiw0NTY1OToiYmxha2Uycy0yMTYiLDQ1NjYwOiJibGFrZTJzLTIyNCIsNDU2NjE6ImJsYWtlMnMtMjMyIiw0NTY2MjoiYmxha2Uycy0yNDAiLDQ1NjYzOiJibGFrZTJzLTI0OCIsNDU2NjQ6ImJsYWtlMnMtMjU2Iiw0NTgyNToiU2tlaW4yNTYtOCIsNDU4MjY6IlNrZWluMjU2LTE2Iiw0NTgyNzoiU2tlaW4yNTYtMjQiLDQ1ODI4OiJTa2VpbjI1Ni0zMiIsNDU4Mjk6IlNrZWluMjU2LTQwIiw0NTgzMDoiU2tlaW4yNTYtNDgiLDQ1ODMxOiJTa2VpbjI1Ni01NiIsNDU4MzI6IlNrZWluMjU2LTY0Iiw0NTgzMzoiU2tlaW4yNTYtNzIiLDQ1ODM0OiJTa2VpbjI1Ni04MCIsNDU4MzU6IlNrZWluMjU2LTg4Iiw0NTgzNjoiU2tlaW4yNTYtOTYiLDQ1ODM3OiJTa2VpbjI1Ni0xMDQiLDQ1ODM4OiJTa2VpbjI1Ni0xMTIiLDQ1ODM5OiJTa2VpbjI1Ni0xMjAiLDQ1ODQwOiJTa2VpbjI1Ni0xMjgiLDQ1ODQxOiJTa2VpbjI1Ni0xMzYiLDQ1ODQyOiJTa2VpbjI1Ni0xNDQiLDQ1ODQzOiJTa2VpbjI1Ni0xNTIiLDQ1ODQ0OiJTa2VpbjI1Ni0xNjAiLDQ1ODQ1OiJTa2VpbjI1Ni0xNjgiLDQ1ODQ2OiJTa2VpbjI1Ni0xNzYiLDQ1ODQ3OiJTa2VpbjI1Ni0xODQiLDQ1ODQ4OiJTa2VpbjI1Ni0xOTIiLDQ1ODQ5OiJTa2VpbjI1Ni0yMDAiLDQ1ODUwOiJTa2VpbjI1Ni0yMDgiLDQ1ODUxOiJTa2VpbjI1Ni0yMTYiLDQ1ODUyOiJTa2VpbjI1Ni0yMjQiLDQ1ODUzOiJTa2VpbjI1Ni0yMzIiLDQ1ODU0OiJTa2VpbjI1Ni0yNDAiLDQ1ODU1OiJTa2VpbjI1Ni0yNDgiLDQ1ODU2OiJTa2VpbjI1Ni0yNTYiLDQ1ODU3OiJTa2VpbjUxMi04Iiw0NTg1ODoiU2tlaW41MTItMTYiLDQ1ODU5OiJTa2VpbjUxMi0yNCIsNDU4NjA6IlNrZWluNTEyLTMyIiw0NTg2MToiU2tlaW41MTItNDAiLDQ1ODYyOiJTa2VpbjUxMi00OCIsNDU4NjM6IlNrZWluNTEyLTU2Iiw0NTg2NDoiU2tlaW41MTItNjQiLDQ1ODY1OiJTa2VpbjUxMi03MiIsNDU4NjY6IlNrZWluNTEyLTgwIiw0NTg2NzoiU2tlaW41MTItODgiLDQ1ODY4OiJTa2VpbjUxMi05NiIsNDU4Njk6IlNrZWluNTEyLTEwNCIsNDU4NzA6IlNrZWluNTEyLTExMiIsNDU4NzE6IlNrZWluNTEyLTEyMCIsNDU4NzI6IlNrZWluNTEyLTEyOCIsNDU4NzM6IlNrZWluNTEyLTEzNiIsNDU4NzQ6IlNrZWluNTEyLTE0NCIsNDU4NzU6IlNrZWluNTEyLTE1MiIsNDU4NzY6IlNrZWluNTEyLTE2MCIsNDU4Nzc6IlNrZWluNTEyLTE2OCIsNDU4Nzg6IlNrZWluNTEyLTE3NiIsNDU4Nzk6IlNrZWluNTEyLTE4NCIsNDU4ODA6IlNrZWluNTEyLTE5MiIsNDU4ODE6IlNrZWluNTEyLTIwMCIsNDU4ODI6IlNrZWluNTEyLTIwOCIsNDU4ODM6IlNrZWluNTEyLTIxNiIsNDU4ODQ6IlNrZWluNTEyLTIyNCIsNDU4ODU6IlNrZWluNTEyLTIzMiIsNDU4ODY6IlNrZWluNTEyLTI0MCIsNDU4ODc6IlNrZWluNTEyLTI0OCIsNDU4ODg6IlNrZWluNTEyLTI1NiIsNDU4ODk6IlNrZWluNTEyLTI2NCIsNDU4OTA6IlNrZWluNTEyLTI3MiIsNDU4OTE6IlNrZWluNTEyLTI4MCIsNDU4OTI6IlNrZWluNTEyLTI4OCIsNDU4OTM6IlNrZWluNTEyLTI5NiIsNDU4OTQ6IlNrZWluNTEyLTMwNCIsNDU4OTU6IlNrZWluNTEyLTMxMiIsNDU4OTY6IlNrZWluNTEyLTMyMCIsNDU4OTc6IlNrZWluNTEyLTMyOCIsNDU4OTg6IlNrZWluNTEyLTMzNiIsNDU4OTk6IlNrZWluNTEyLTM0NCIsNDU5MDA6IlNrZWluNTEyLTM1MiIsNDU5MDE6IlNrZWluNTEyLTM2MCIsNDU5MDI6IlNrZWluNTEyLTM2OCIsNDU5MDM6IlNrZWluNTEyLTM3NiIsNDU5MDQ6IlNrZWluNTEyLTM4NCIsNDU5MDU6IlNrZWluNTEyLTM5MiIsNDU5MDY6IlNrZWluNTEyLTQwMCIsNDU5MDc6IlNrZWluNTEyLTQwOCIsNDU5MDg6IlNrZWluNTEyLTQxNiIsNDU5MDk6IlNrZWluNTEyLTQyNCIsNDU5MTA6IlNrZWluNTEyLTQzMiIsNDU5MTE6IlNrZWluNTEyLTQ0MCIsNDU5MTI6IlNrZWluNTEyLTQ0OCIsNDU5MTM6IlNrZWluNTEyLTQ1NiIsNDU5MTQ6IlNrZWluNTEyLTQ2NCIsNDU5MTU6IlNrZWluNTEyLTQ3MiIsNDU5MTY6IlNrZWluNTEyLTQ4MCIsNDU5MTc6IlNrZWluNTEyLTQ4OCIsNDU5MTg6IlNrZWluNTEyLTQ5NiIsNDU5MTk6IlNrZWluNTEyLTUwNCIsNDU5MjA6IlNrZWluNTEyLTUxMiIsNDU5MjE6IlNrZWluMTAyNC04Iiw0NTkyMjoiU2tlaW4xMDI0LTE2Iiw0NTkyMzoiU2tlaW4xMDI0LTI0Iiw0NTkyNDoiU2tlaW4xMDI0LTMyIiw0NTkyNToiU2tlaW4xMDI0LTQwIiw0NTkyNjoiU2tlaW4xMDI0LTQ4Iiw0NTkyNzoiU2tlaW4xMDI0LTU2Iiw0NTkyODoiU2tlaW4xMDI0LTY0Iiw0NTkyOToiU2tlaW4xMDI0LTcyIiw0NTkzMDoiU2tlaW4xMDI0LTgwIiw0NTkzMToiU2tlaW4xMDI0LTg4Iiw0NTkzMjoiU2tlaW4xMDI0LTk2Iiw0NTkzMzoiU2tlaW4xMDI0LTEwNCIsNDU5MzQ6IlNrZWluMTAyNC0xMTIiLDQ1OTM1OiJTa2VpbjEwMjQtMTIwIiw0NTkzNjoiU2tlaW4xMDI0LTEyOCIsNDU5Mzc6IlNrZWluMTAyNC0xMzYiLDQ1OTM4OiJTa2VpbjEwMjQtMTQ0Iiw0NTkzOToiU2tlaW4xMDI0LTE1MiIsNDU5NDA6IlNrZWluMTAyNC0xNjAiLDQ1OTQxOiJTa2VpbjEwMjQtMTY4Iiw0NTk0MjoiU2tlaW4xMDI0LTE3NiIsNDU5NDM6IlNrZWluMTAyNC0xODQiLDQ1OTQ0OiJTa2VpbjEwMjQtMTkyIiw0NTk0NToiU2tlaW4xMDI0LTIwMCIsNDU5NDY6IlNrZWluMTAyNC0yMDgiLDQ1OTQ3OiJTa2VpbjEwMjQtMjE2Iiw0NTk0ODoiU2tlaW4xMDI0LTIyNCIsNDU5NDk6IlNrZWluMTAyNC0yMzIiLDQ1OTUwOiJTa2VpbjEwMjQtMjQwIiw0NTk1MToiU2tlaW4xMDI0LTI0OCIsNDU5NTI6IlNrZWluMTAyNC0yNTYiLDQ1OTUzOiJTa2VpbjEwMjQtMjY0Iiw0NTk1NDoiU2tlaW4xMDI0LTI3MiIsNDU5NTU6IlNrZWluMTAyNC0yODAiLDQ1OTU2OiJTa2VpbjEwMjQtMjg4Iiw0NTk1NzoiU2tlaW4xMDI0LTI5NiIsNDU5NTg6IlNrZWluMTAyNC0zMDQiLDQ1OTU5OiJTa2VpbjEwMjQtMzEyIiw0NTk2MDoiU2tlaW4xMDI0LTMyMCIsNDU5NjE6IlNrZWluMTAyNC0zMjgiLDQ1OTYyOiJTa2VpbjEwMjQtMzM2Iiw0NTk2MzoiU2tlaW4xMDI0LTM0NCIsNDU5NjQ6IlNrZWluMTAyNC0zNTIiLDQ1OTY1OiJTa2VpbjEwMjQtMzYwIiw0NTk2NjoiU2tlaW4xMDI0LTM2OCIsNDU5Njc6IlNrZWluMTAyNC0zNzYiLDQ1OTY4OiJTa2VpbjEwMjQtMzg0Iiw0NTk2OToiU2tlaW4xMDI0LTM5MiIsNDU5NzA6IlNrZWluMTAyNC00MDAiLDQ1OTcxOiJTa2VpbjEwMjQtNDA4Iiw0NTk3MjoiU2tlaW4xMDI0LTQxNiIsNDU5NzM6IlNrZWluMTAyNC00MjQiLDQ1OTc0OiJTa2VpbjEwMjQtNDMyIiw0NTk3NToiU2tlaW4xMDI0LTQ0MCIsNDU5NzY6IlNrZWluMTAyNC00NDgiLDQ1OTc3OiJTa2VpbjEwMjQtNDU2Iiw0NTk3ODoiU2tlaW4xMDI0LTQ2NCIsNDU5Nzk6IlNrZWluMTAyNC00NzIiLDQ1OTgwOiJTa2VpbjEwMjQtNDgwIiw0NTk4MToiU2tlaW4xMDI0LTQ4OCIsNDU5ODI6IlNrZWluMTAyNC00OTYiLDQ1OTgzOiJTa2VpbjEwMjQtNTA0Iiw0NTk4NDoiU2tlaW4xMDI0LTUxMiIsNDU5ODU6IlNrZWluMTAyNC01MjAiLDQ1OTg2OiJTa2VpbjEwMjQtNTI4Iiw0NTk4NzoiU2tlaW4xMDI0LTUzNiIsNDU5ODg6IlNrZWluMTAyNC01NDQiLDQ1OTg5OiJTa2VpbjEwMjQtNTUyIiw0NTk5MDoiU2tlaW4xMDI0LTU2MCIsNDU5OTE6IlNrZWluMTAyNC01NjgiLDQ1OTkyOiJTa2VpbjEwMjQtNTc2Iiw0NTk5MzoiU2tlaW4xMDI0LTU4NCIsNDU5OTQ6IlNrZWluMTAyNC01OTIiLDQ1OTk1OiJTa2VpbjEwMjQtNjAwIiw0NTk5NjoiU2tlaW4xMDI0LTYwOCIsNDU5OTc6IlNrZWluMTAyNC02MTYiLDQ1OTk4OiJTa2VpbjEwMjQtNjI0Iiw0NTk5OToiU2tlaW4xMDI0LTYzMiIsNDZlMzoiU2tlaW4xMDI0LTY0MCIsNDYwMDE6IlNrZWluMTAyNC02NDgiLDQ2MDAyOiJTa2VpbjEwMjQtNjU2Iiw0NjAwMzoiU2tlaW4xMDI0LTY2NCIsNDYwMDQ6IlNrZWluMTAyNC02NzIiLDQ2MDA1OiJTa2VpbjEwMjQtNjgwIiw0NjAwNjoiU2tlaW4xMDI0LTY4OCIsNDYwMDc6IlNrZWluMTAyNC02OTYiLDQ2MDA4OiJTa2VpbjEwMjQtNzA0Iiw0NjAwOToiU2tlaW4xMDI0LTcxMiIsNDYwMTA6IlNrZWluMTAyNC03MjAiLDQ2MDExOiJTa2VpbjEwMjQtNzI4Iiw0NjAxMjoiU2tlaW4xMDI0LTczNiIsNDYwMTM6IlNrZWluMTAyNC03NDQiLDQ2MDE0OiJTa2VpbjEwMjQtNzUyIiw0NjAxNToiU2tlaW4xMDI0LTc2MCIsNDYwMTY6IlNrZWluMTAyNC03NjgiLDQ2MDE3OiJTa2VpbjEwMjQtNzc2Iiw0NjAxODoiU2tlaW4xMDI0LTc4NCIsNDYwMTk6IlNrZWluMTAyNC03OTIiLDQ2MDIwOiJTa2VpbjEwMjQtODAwIiw0NjAyMToiU2tlaW4xMDI0LTgwOCIsNDYwMjI6IlNrZWluMTAyNC04MTYiLDQ2MDIzOiJTa2VpbjEwMjQtODI0Iiw0NjAyNDoiU2tlaW4xMDI0LTgzMiIsNDYwMjU6IlNrZWluMTAyNC04NDAiLDQ2MDI2OiJTa2VpbjEwMjQtODQ4Iiw0NjAyNzoiU2tlaW4xMDI0LTg1NiIsNDYwMjg6IlNrZWluMTAyNC04NjQiLDQ2MDI5OiJTa2VpbjEwMjQtODcyIiw0NjAzMDoiU2tlaW4xMDI0LTg4MCIsNDYwMzE6IlNrZWluMTAyNC04ODgiLDQ2MDMyOiJTa2VpbjEwMjQtODk2Iiw0NjAzMzoiU2tlaW4xMDI0LTkwNCIsNDYwMzQ6IlNrZWluMTAyNC05MTIiLDQ2MDM1OiJTa2VpbjEwMjQtOTIwIiw0NjAzNjoiU2tlaW4xMDI0LTkyOCIsNDYwMzc6IlNrZWluMTAyNC05MzYiLDQ2MDM4OiJTa2VpbjEwMjQtOTQ0Iiw0NjAzOToiU2tlaW4xMDI0LTk1MiIsNDYwNDA6IlNrZWluMTAyNC05NjAiLDQ2MDQxOiJTa2VpbjEwMjQtOTY4Iiw0NjA0MjoiU2tlaW4xMDI0LTk3NiIsNDYwNDM6IlNrZWluMTAyNC05ODQiLDQ2MDQ0OiJTa2VpbjEwMjQtOTkyIiw0NjA0NToiU2tlaW4xMDI0LTEwMDAiLDQ2MDQ2OiJTa2VpbjEwMjQtMTAwOCIsNDYwNDc6IlNrZWluMTAyNC0xMDE2Iiw0NjA0ODoiU2tlaW4xMDI0LTEwMjQifSksdC5kZWZhdWx0TGVuZ3Rocz1PYmplY3QuZnJlZXplKHsxNzoyMCwxODozMiwxOTo2NCw4NjozMiwyMzoyOCwyMjozMiwyMTo0OCwyMDo2NCwyNDozMiwyNTo2NCwyNjoyOCwyNzozMiwyODo0OCwyOTo2NCwzNDozMiw0NTU2OToxLDQ1NTcwOjIsNDU1NzE6Myw0NTU3Mjo0LDQ1NTczOjUsNDU1NzQ6Niw0NTU3NTo3LDQ1NTc2OjgsNDU1Nzc6OSw0NTU3ODoxMCw0NTU3OToxMSw0NTU4MDoxMiw0NTU4MToxMyw0NTU4MjoxNCw0NTU4MzoxNSw0NTU4NDoxNiw0NTU4NToxNyw0NTU4NjoxOCw0NTU4NzoxOSw0NTU4ODoyMCw0NTU4OToyMSw0NTU5MDoyMiw0NTU5MToyMyw0NTU5MjoyNCw0NTU5MzoyNSw0NTU5NDoyNiw0NTU5NToyNyw0NTU5NjoyOCw0NTU5NzoyOSw0NTU5ODozMCw0NTU5OTozMSw0NTYwMDozMiw0NTYwMTozMyw0NTYwMjozNCw0NTYwMzozNSw0NTYwNDozNiw0NTYwNTozNyw0NTYwNjozOCw0NTYwNzozOSw0NTYwODo0MCw0NTYwOTo0MSw0NTYxMDo0Miw0NTYxMTo0Myw0NTYxMjo0NCw0NTYxMzo0NSw0NTYxNDo0Niw0NTYxNTo0Nyw0NTYxNjo0OCw0NTYxNzo0OSw0NTYxODo1MCw0NTYxOTo1MSw0NTYyMDo1Miw0NTYyMTo1Myw0NTYyMjo1NCw0NTYyMzo1NSw0NTYyNDo1Niw0NTYyNTo1Nyw0NTYyNjo1OCw0NTYyNzo1OSw0NTYyODo2MCw0NTYyOTo2MSw0NTYzMDo2Miw0NTYzMTo2Myw0NTYzMjo2NCw0NTYzMzoxLDQ1NjM0OjIsNDU2MzU6Myw0NTYzNjo0LDQ1NjM3OjUsNDU2Mzg6Niw0NTYzOTo3LDQ1NjQwOjgsNDU2NDE6OSw0NTY0MjoxMCw0NTY0MzoxMSw0NTY0NDoxMiw0NTY0NToxMyw0NTY0NjoxNCw0NTY0NzoxNSw0NTY0ODoxNiw0NTY0OToxNyw0NTY1MDoxOCw0NTY1MToxOSw0NTY1MjoyMCw0NTY1MzoyMSw0NTY1NDoyMiw0NTY1NToyMyw0NTY1NjoyNCw0NTY1NzoyNSw0NTY1ODoyNiw0NTY1OToyNyw0NTY2MDoyOCw0NTY2MToyOSw0NTY2MjozMCw0NTY2MzozMSw0NTY2NDozMiw0NTgyNToxLDQ1ODI2OjIsNDU4Mjc6Myw0NTgyODo0LDQ1ODI5OjUsNDU4MzA6Niw0NTgzMTo3LDQ1ODMyOjgsNDU4MzM6OSw0NTgzNDoxMCw0NTgzNToxMSw0NTgzNjoxMiw0NTgzNzoxMyw0NTgzODoxNCw0NTgzOToxNSw0NTg0MDoxNiw0NTg0MToxNyw0NTg0MjoxOCw0NTg0MzoxOSw0NTg0NDoyMCw0NTg0NToyMSw0NTg0NjoyMiw0NTg0NzoyMyw0NTg0ODoyNCw0NTg0OToyNSw0NTg1MDoyNiw0NTg1MToyNyw0NTg1MjoyOCw0NTg1MzoyOSw0NTg1NDozMCw0NTg1NTozMSw0NTg1NjozMiw0NTg1NzoxLDQ1ODU4OjIsNDU4NTk6Myw0NTg2MDo0LDQ1ODYxOjUsNDU4NjI6Niw0NTg2Mzo3LDQ1ODY0OjgsNDU4NjU6OSw0NTg2NjoxMCw0NTg2NzoxMSw0NTg2ODoxMiw0NTg2OToxMyw0NTg3MDoxNCw0NTg3MToxNSw0NTg3MjoxNiw0NTg3MzoxNyw0NTg3NDoxOCw0NTg3NToxOSw0NTg3NjoyMCw0NTg3NzoyMSw0NTg3ODoyMiw0NTg3OToyMyw0NTg4MDoyNCw0NTg4MToyNSw0NTg4MjoyNiw0NTg4MzoyNyw0NTg4NDoyOCw0NTg4NToyOSw0NTg4NjozMCw0NTg4NzozMSw0NTg4ODozMiw0NTg4OTozMyw0NTg5MDozNCw0NTg5MTozNSw0NTg5MjozNiw0NTg5MzozNyw0NTg5NDozOCw0NTg5NTozOSw0NTg5Njo0MCw0NTg5Nzo0MSw0NTg5ODo0Miw0NTg5OTo0Myw0NTkwMDo0NCw0NTkwMTo0NSw0NTkwMjo0Niw0NTkwMzo0Nyw0NTkwNDo0OCw0NTkwNTo0OSw0NTkwNjo1MCw0NTkwNzo1MSw0NTkwODo1Miw0NTkwOTo1Myw0NTkxMDo1NCw0NTkxMTo1NSw0NTkxMjo1Niw0NTkxMzo1Nyw0NTkxNDo1OCw0NTkxNTo1OSw0NTkxNjo2MCw0NTkxNzo2MSw0NTkxODo2Miw0NTkxOTo2Myw0NTkyMDo2NCw0NTkyMToxLDQ1OTIyOjIsNDU5MjM6Myw0NTkyNDo0LDQ1OTI1OjUsNDU5MjY6Niw0NTkyNzo3LDQ1OTI4OjgsNDU5Mjk6OSw0NTkzMDoxMCw0NTkzMToxMSw0NTkzMjoxMiw0NTkzMzoxMyw0NTkzNDoxNCw0NTkzNToxNSw0NTkzNjoxNiw0NTkzNzoxNyw0NTkzODoxOCw0NTkzOToxOSw0NTk0MDoyMCw0NTk0MToyMSw0NTk0MjoyMiw0NTk0MzoyMyw0NTk0NDoyNCw0NTk0NToyNSw0NTk0NjoyNiw0NTk0NzoyNyw0NTk0ODoyOCw0NTk0OToyOSw0NTk1MDozMCw0NTk1MTozMSw0NTk1MjozMiw0NTk1MzozMyw0NTk1NDozNCw0NTk1NTozNSw0NTk1NjozNiw0NTk1NzozNyw0NTk1ODozOCw0NTk1OTozOSw0NTk2MDo0MCw0NTk2MTo0MSw0NTk2Mjo0Miw0NTk2Mzo0Myw0NTk2NDo0NCw0NTk2NTo0NSw0NTk2Njo0Niw0NTk2Nzo0Nyw0NTk2ODo0OCw0NTk2OTo0OSw0NTk3MDo1MCw0NTk3MTo1MSw0NTk3Mjo1Miw0NTk3Mzo1Myw0NTk3NDo1NCw0NTk3NTo1NSw0NTk3Njo1Niw0NTk3Nzo1Nyw0NTk3ODo1OCw0NTk3OTo1OSw0NTk4MDo2MCw0NTk4MTo2MSw0NTk4Mjo2Miw0NTk4Mzo2Myw0NTk4NDo2NCw0NTk4NTo2NSw0NTk4Njo2Niw0NTk4Nzo2Nyw0NTk4ODo2OCw0NTk4OTo2OSw0NTk5MDo3MCw0NTk5MTo3MSw0NTk5Mjo3Miw0NTk5Mzo3Myw0NTk5NDo3NCw0NTk5NTo3NSw0NTk5Njo3Niw0NTk5Nzo3Nyw0NTk5ODo3OCw0NTk5OTo3OSw0NmUzOjgwLDQ2MDAxOjgxLDQ2MDAyOjgyLDQ2MDAzOjgzLDQ2MDA0Ojg0LDQ2MDA1Ojg1LDQ2MDA2Ojg2LDQ2MDA3Ojg3LDQ2MDA4Ojg4LDQ2MDA5Ojg5LDQ2MDEwOjkwLDQ2MDExOjkxLDQ2MDEyOjkyLDQ2MDEzOjkzLDQ2MDE0Ojk0LDQ2MDE1Ojk1LDQ2MDE2Ojk2LDQ2MDE3Ojk3LDQ2MDE4Ojk4LDQ2MDE5Ojk5LDQ2MDIwOjEwMCw0NjAyMToxMDEsNDYwMjI6MTAyLDQ2MDIzOjEwMyw0NjAyNDoxMDQsNDYwMjU6MTA1LDQ2MDI2OjEwNiw0NjAyNzoxMDcsNDYwMjg6MTA4LDQ2MDI5OjEwOSw0NjAzMDoxMTAsNDYwMzE6MTExLDQ2MDMyOjExMiw0NjAzMzoxMTMsNDYwMzQ6MTE0LDQ2MDM1OjExNSw0NjAzNjoxMTYsNDYwMzc6MTE3LDQ2MDM4OjExOCw0NjAzOToxMTksNDYwNDA6MTIwLDQ2MDQxOjEyMSw0NjA0MjoxMjIsNDYwNDM6MTIzLDQ2MDQ0OjEyNCw0NjA0NToxMjUsNDYwNDY6MTI2LDQ2MDQ3OjEyNyw0NjA0ODoxMjh9KX0sNzc0ODooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTAzMykuQnVmZmVyLGk9cigyNTkyKSxvPXIoNjY1NyksYT1yKDEyNjkpO2Z1bmN0aW9uIHMoZSl7dC5kZWNvZGUoZSl9dC5uYW1lcz1hLm5hbWVzLHQuY29kZXM9YS5jb2Rlcyx0LmRlZmF1bHRMZW5ndGhzPWEuZGVmYXVsdExlbmd0aHMsdC50b0hleFN0cmluZz1mdW5jdGlvbihlKXtpZighbi5pc0J1ZmZlcihlKSl0aHJvdyBuZXcgRXJyb3IoIm11c3QgYmUgcGFzc2VkIGEgYnVmZmVyIik7cmV0dXJuIGUudG9TdHJpbmcoImhleCIpfSx0LmZyb21IZXhTdHJpbmc9ZnVuY3Rpb24oZSl7cmV0dXJuIG4uZnJvbShlLCJoZXgiKX0sdC50b0I1OFN0cmluZz1mdW5jdGlvbihlKXtpZighbi5pc0J1ZmZlcihlKSl0aHJvdyBuZXcgRXJyb3IoIm11c3QgYmUgcGFzc2VkIGEgYnVmZmVyIik7cmV0dXJuIGkuZW5jb2RlKCJiYXNlNThidGMiLGUpLnRvU3RyaW5nKCkuc2xpY2UoMSl9LHQuZnJvbUI1OFN0cmluZz1mdW5jdGlvbihlKXt2YXIgdD1lO3JldHVybiBuLmlzQnVmZmVyKGUpJiYodD1lLnRvU3RyaW5nKCkpLGkuZGVjb2RlKCJ6Iit0KX0sdC5kZWNvZGU9ZnVuY3Rpb24oZSl7aWYoIW4uaXNCdWZmZXIoZSkpdGhyb3cgbmV3IEVycm9yKCJtdWx0aWhhc2ggbXVzdCBiZSBhIEJ1ZmZlciIpO2lmKGUubGVuZ3RoPDIpdGhyb3cgbmV3IEVycm9yKCJtdWx0aWhhc2ggdG9vIHNob3J0LiBtdXN0IGJlID4gMiBieXRlcy4iKTt2YXIgcj1vLmRlY29kZShlKTtpZighdC5pc1ZhbGlkQ29kZShyKSl0aHJvdyBuZXcgRXJyb3IoIm11bHRpaGFzaCB1bmtub3duIGZ1bmN0aW9uIGNvZGU6IDB4Ii5jb25jYXQoci50b1N0cmluZygxNikpKTtlPWUuc2xpY2Uoby5kZWNvZGUuYnl0ZXMpO3ZhciBpPW8uZGVjb2RlKGUpO2lmKGk8MCl0aHJvdyBuZXcgRXJyb3IoIm11bHRpaGFzaCBpbnZhbGlkIGxlbmd0aDogIi5jb25jYXQoaSkpO2lmKChlPWUuc2xpY2Uoby5kZWNvZGUuYnl0ZXMpKS5sZW5ndGghPT1pKXRocm93IG5ldyBFcnJvcigibXVsdGloYXNoIGxlbmd0aCBpbmNvbnNpc3RlbnQ6IDB4Ii5jb25jYXQoZS50b1N0cmluZygiaGV4IikpKTtyZXR1cm57Y29kZTpyLG5hbWU6YS5jb2Rlc1tyXSxsZW5ndGg6aSxkaWdlc3Q6ZX19LHQuZW5jb2RlPWZ1bmN0aW9uKGUscixpKXtpZighZXx8dm9pZCAwPT09cil0aHJvdyBuZXcgRXJyb3IoIm11bHRpaGFzaCBlbmNvZGUgcmVxdWlyZXMgYXQgbGVhc3QgdHdvIGFyZ3M6IGRpZ2VzdCwgY29kZSIpO3ZhciBhPXQuY29lcmNlQ29kZShyKTtpZighbi5pc0J1ZmZlcihlKSl0aHJvdyBuZXcgRXJyb3IoImRpZ2VzdCBzaG91bGQgYmUgYSBCdWZmZXIiKTtpZihudWxsPT1pJiYoaT1lLmxlbmd0aCksaSYmZS5sZW5ndGghPT1pKXRocm93IG5ldyBFcnJvcigiZGlnZXN0IGxlbmd0aCBzaG91bGQgYmUgZXF1YWwgdG8gc3BlY2lmaWVkIGxlbmd0aC4iKTtyZXR1cm4gbi5jb25jYXQoW24uZnJvbShvLmVuY29kZShhKSksbi5mcm9tKG8uZW5jb2RlKGkpKSxlXSl9LHQuY29lcmNlQ29kZT1mdW5jdGlvbihlKXt2YXIgcj1lO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7aWYodm9pZCAwPT09YS5uYW1lc1tlXSl0aHJvdyBuZXcgRXJyb3IoIlVucmVjb2duaXplZCBoYXNoIGZ1bmN0aW9uIG5hbWVkOiAiLmNvbmNhdChlKSk7cj1hLm5hbWVzW2VdfWlmKCJudW1iZXIiIT10eXBlb2Ygcil0aHJvdyBuZXcgRXJyb3IoIkhhc2ggZnVuY3Rpb24gY29kZSBzaG91bGQgYmUgYSBudW1iZXIuIEdvdDogIi5jb25jYXQocikpO2lmKHZvaWQgMD09PWEuY29kZXNbcl0mJiF0LmlzQXBwQ29kZShyKSl0aHJvdyBuZXcgRXJyb3IoIlVucmVjb2duaXplZCBmdW5jdGlvbiBjb2RlOiAiLmNvbmNhdChyKSk7cmV0dXJuIHJ9LHQuaXNBcHBDb2RlPWZ1bmN0aW9uKGUpe3JldHVybiBlPjAmJmU8MTZ9LHQuaXNWYWxpZENvZGU9ZnVuY3Rpb24oZSl7cmV0dXJuISF0LmlzQXBwQ29kZShlKXx8ISFhLmNvZGVzW2VdfSx0LnZhbGlkYXRlPXMsdC5wcmVmaXg9ZnVuY3Rpb24oZSl7cmV0dXJuIHMoZSksZS5zbGljZSgwLDIpfX0sNzI3NzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0NykocigzMzU1KSksaT1yKDE3MzQpLG89cig2OTMxKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlfHwibnVtYmVyIj09dHlwZW9mIGUpe3ZhciB0PW5ldyBpKDEpLHI9U3RyaW5nKGUpLnRvTG93ZXJDYXNlKCkudHJpbSgpLGE9IjB4Ij09PXIuc3Vic3RyKDAsMil8fCItMHgiPT09ci5zdWJzdHIoMCwzKSxzPW8ocik7aWYoIi0iPT09cy5zdWJzdHIoMCwxKSYmKHM9byhzLnNsaWNlKDEpKSx0PW5ldyBpKC0xLDEwKSksIShzPSIiPT09cz8iMCI6cykubWF0Y2goL14tP1swLTldKyQvKSYmcy5tYXRjaCgvXlswLTlBLUZhLWZdKyQvKXx8cy5tYXRjaCgvXlthLWZBLUZdKyQvKXx8ITA9PT1hJiZzLm1hdGNoKC9eWzAtOUEtRmEtZl0rJC8pKXJldHVybiBuZXcgaShzLDE2KS5tdWwodCk7aWYoKHMubWF0Y2goL14tP1swLTldKyQvKXx8IiI9PT1zKSYmITE9PT1hKXJldHVybiBuZXcgaShzLDEwKS5tdWwodCl9ZWxzZSBpZigib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkoZSkmJmUudG9TdHJpbmcmJiFlLnBvcCYmIWUucHVzaCYmZS50b1N0cmluZygxMCkubWF0Y2goL14tP1swLTldKyQvKSYmKGUubXVsfHxlLmRpdmlkZWRUb0ludGVnZXJCeSkpcmV0dXJuIG5ldyBpKGUudG9TdHJpbmcoMTApLDEwKTt0aHJvdyBuZXcgRXJyb3IoIltudW1iZXItdG8tYm5dIHdoaWxlIGNvbnZlcnRpbmcgbnVtYmVyICIrSlNPTi5zdHJpbmdpZnkoZSkrIiB0byBCTi5qcyBpbnN0YW5jZSwgZXJyb3I6IGludmFsaWQgbnVtYmVyIHZhbHVlLiBWYWx1ZSBtdXN0IGJlIGFuIGludGVnZXIsIGhleCBzdHJpbmcsIEJOIG9yIEJpZ051bWJlciBpbnN0YW5jZS4gTm90ZSwgZGVjaW1hbHMgYXJlIG5vdCBzdXBwb3J0ZWQuIil9fSwzMTAzOmU9PnsidXNlIHN0cmljdCI7dmFyIHQ9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxyPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksbj1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlO2Z1bmN0aW9uIGkoZSl7aWYobnVsbD09ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QuYXNzaWduIGNhbm5vdCBiZSBjYWxsZWQgd2l0aCBudWxsIG9yIHVuZGVmaW5lZCIpO3JldHVybiBPYmplY3QoZSl9ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dHJ5e2lmKCFPYmplY3QuYXNzaWduKXJldHVybiExO3ZhciBlPW5ldyBTdHJpbmcoImFiYyIpO2lmKGVbNV09ImRlIiwiNSI9PT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKVswXSlyZXR1cm4hMTtmb3IodmFyIHQ9e30scj0wO3I8MTA7cisrKXRbIl8iK1N0cmluZy5mcm9tQ2hhckNvZGUocildPXI7aWYoIjAxMjM0NTY3ODkiIT09T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModCkubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0pKS5qb2luKCIiKSlyZXR1cm4hMTt2YXIgbj17fTtyZXR1cm4iYWJjZGVmZ2hpamtsbW5vcHFyc3QiLnNwbGl0KCIiKS5mb3JFYWNoKChmdW5jdGlvbihlKXtuW2VdPWV9KSksImFiY2RlZmdoaWprbG1ub3BxcnN0Ij09PU9iamVjdC5rZXlzKE9iamVjdC5hc3NpZ24oe30sbikpLmpvaW4oIiIpfWNhdGNoKGUpe3JldHVybiExfX0oKT9PYmplY3QuYXNzaWduOmZ1bmN0aW9uKGUsbyl7Zm9yKHZhciBhLHMsdT1pKGUpLGM9MTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKXtmb3IodmFyIGYgaW4gYT1PYmplY3QoYXJndW1lbnRzW2NdKSlyLmNhbGwoYSxmKSYmKHVbZl09YVtmXSk7aWYodCl7cz10KGEpO2Zvcih2YXIgZD0wO2Q8cy5sZW5ndGg7ZCsrKW4uY2FsbChhLHNbZF0pJiYodVtzW2RdXT1hW3NbZF1dKX19cmV0dXJuIHV9fSwzMTUwOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG4saSxvO2U9ci5ubWQoZSk7dmFyIGEscz1yKDg4NDcpKHIoMzM1NSkpOyJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmc2VsZixhPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0PXt9O2Z1bmN0aW9uIHIobil7aWYodFtuXSlyZXR1cm4gdFtuXS5leHBvcnRzO3ZhciBpPXRbbl09e2k6bixsOiExLGV4cG9ydHM6e319O3JldHVybiBlW25dLmNhbGwoaS5leHBvcnRzLGksaS5leHBvcnRzLHIpLGkubD0hMCxpLmV4cG9ydHN9cmV0dXJuIHIubT1lLHIuYz10LHIuZD1mdW5jdGlvbihlLHQsbil7ci5vKGUsdCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse2NvbmZpZ3VyYWJsZTohMSxlbnVtZXJhYmxlOiEwLGdldDpufSl9LHIubj1mdW5jdGlvbihlKXt2YXIgdD1lJiZlLl9fZXNNb2R1bGU/ZnVuY3Rpb24oKXtyZXR1cm4gZS5kZWZhdWx0fTpmdW5jdGlvbigpe3JldHVybiBlfTtyZXR1cm4gci5kKHQsImEiLHQpLHR9LHIubz1mdW5jdGlvbihlLHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KX0sci5wPSIiLHIoci5zPTcpfShbZnVuY3Rpb24oZSx0LHIpe3IuZCh0LCJqIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKSxyLmQodCwiZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksci5kKHQsImMiLChmdW5jdGlvbigpe3JldHVybiBhfSkpLHIuZCh0LCJoIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxyLmQodCwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHV9KSksci5kKHQsImsiLChmdW5jdGlvbigpe3JldHVybiBjfSkpLHIuZCh0LCJlIiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKSxyLmQodCwiZyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksci5kKHQsImkiLChmdW5jdGlvbigpe3JldHVybiBsfSkpLHIuZCh0LCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxyLmQodCwiZiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSk7dmFyIG49cigxKSxpPWMoKGZ1bmN0aW9uKGUsdCl7dmFyIHI9dC5sZW5ndGg7cmV0dXJuIGMoKGZ1bmN0aW9uKG4pe2Zvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXRbcitpXT1uW2ldO3JldHVybiB0Lmxlbmd0aD1yK24ubGVuZ3RoLGUuYXBwbHkodGhpcyx0KX0pKX0pKTtmdW5jdGlvbiBvKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUuY2FsbCh0aGlzLHQuYXBwbHkodGhpcyxhcmd1bWVudHMpKX19ZnVuY3Rpb24gYShlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHRbZV19fWMoKGZ1bmN0aW9uKGUpe3ZhciB0PU9iamVjdChuLmMpKGUpO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm5bdShlLHQpXX1yZXR1cm4gYygoZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdChuLmYpKHIsZSx0KVswXX0pKX0pKTt2YXIgcz1jKChmdW5jdGlvbihlKXtyZXR1cm4gYygoZnVuY3Rpb24odCl7Zm9yKHZhciByLG49MDtuPGEoImxlbmd0aCIpKGUpO24rKylpZihyPXUodCxlW25dKSlyZXR1cm4gcn0pKX0pKTtmdW5jdGlvbiB1KGUsdCl7cmV0dXJuIHQuYXBwbHkodm9pZCAwLGUpfWZ1bmN0aW9uIGMoZSl7dmFyIHQ9ZS5sZW5ndGgtMSxyPUFycmF5LnByb3RvdHlwZS5zbGljZTtpZigwPT09dClyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5jYWxsKHRoaXMsci5jYWxsKGFyZ3VtZW50cykpfTtpZigxPT09dClyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5jYWxsKHRoaXMsYXJndW1lbnRzWzBdLHIuY2FsbChhcmd1bWVudHMsMSkpfTt2YXIgbj1BcnJheShlLmxlbmd0aCk7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBpPTA7aTx0O2krKyluW2ldPWFyZ3VtZW50c1tpXTtyZXR1cm4gblt0XT1yLmNhbGwoYXJndW1lbnRzLHQpLGUuYXBwbHkodGhpcyxuKX19ZnVuY3Rpb24gZihlKXtyZXR1cm4gZnVuY3Rpb24odCxyKXtyZXR1cm4gZShyLHQpfX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiBlKHIpJiZ0KHIpfX1mdW5jdGlvbiBsKCl7fWZ1bmN0aW9uIGgoKXtyZXR1cm4hMH1mdW5jdGlvbiBwKGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlfX19LGZ1bmN0aW9uKGUsdCxyKXtyLmQodCwiZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksci5kKHQsImciLChmdW5jdGlvbigpe3JldHVybiBhfSkpLHIuZCh0LCJsIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxyLmQodCwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHV9KSksci5kKHQsImgiLChmdW5jdGlvbigpe3JldHVybiBjfSkpLHIuZCh0LCJpIiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKSxyLmQodCwiaiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksci5kKHQsImYiLChmdW5jdGlvbigpe3JldHVybiBsfSkpLHIuZCh0LCJtIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxyLmQodCwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSksci5kKHQsImIiLChmdW5jdGlvbigpe3JldHVybiBifSkpLHIuZCh0LCJrIiwoZnVuY3Rpb24oKXtyZXR1cm4geX0pKSxyLmQodCwiZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG19KSk7dmFyIG49cigwKTtmdW5jdGlvbiBpKGUsdCl7cmV0dXJuW2UsdF19dmFyIG89bnVsbCxhPU9iamVjdChuLmMpKDApLHM9T2JqZWN0KG4uYykoMSk7ZnVuY3Rpb24gdShlKXtyZXR1cm4geShlLnJlZHVjZShPYmplY3Qobi5lKShpKSxvKSl9dmFyIGM9T2JqZWN0KG4uaykodSk7ZnVuY3Rpb24gZihlKXtyZXR1cm4gbCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS51bnNoaWZ0KHQpLGV9KSxbXSxlKX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIHQ/aShlKGEodCkpLGQoZSxzKHQpKSk6b31mdW5jdGlvbiBsKGUsdCxyKXtyZXR1cm4gcj9lKGwoZSx0LHMocikpLGEocikpOnR9ZnVuY3Rpb24gaChlLHQscil7cmV0dXJuIGZ1bmN0aW9uIGUocixuKXtyZXR1cm4gcj90KGEocikpPyhuKGEocikpLHMocikpOmkoYShyKSxlKHMociksbikpOm99KGUscnx8bi5pKX1mdW5jdGlvbiBwKGUsdCl7cmV0dXJuIXR8fGUoYSh0KSkmJnAoZSxzKHQpKX1mdW5jdGlvbiBiKGUsdCl7ZSYmKGEoZSkuYXBwbHkobnVsbCx0KSxiKHMoZSksdCkpfWZ1bmN0aW9uIHkoZSl7cmV0dXJuIGZ1bmN0aW9uIGUodCxyKXtyZXR1cm4gdD9lKHModCksaShhKHQpLHIpKTpyfShlLG8pfWZ1bmN0aW9uIG0oZSx0KXtyZXR1cm4gdCYmKGUoYSh0KSk/YSh0KTptKGUscyh0KSkpfX0sZnVuY3Rpb24oZSx0LHIpe3IuZCh0LCJjIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxyLmQodCwiZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksci5kKHQsImQiLChmdW5jdGlvbigpe3JldHVybiBzfSkpLHIuZCh0LCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKSxyLmQodCwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSk7dmFyIG49cigxKSxpPXIoMCk7ZnVuY3Rpb24gbyhlLHQpe3JldHVybiB0JiZ0LmNvbnN0cnVjdG9yPT09ZX12YXIgYT1PYmplY3QoaS5jKSgibGVuZ3RoIikscz1PYmplY3QoaS5qKShvLFN0cmluZyk7ZnVuY3Rpb24gdShlKXtyZXR1cm4gdm9pZCAwIT09ZX1mdW5jdGlvbiBjKGUsdCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBPYmplY3QmJk9iamVjdChuLmEpKChmdW5jdGlvbihlKXtyZXR1cm4gZSBpbiB0fSksZSl9fSxmdW5jdGlvbihlLHQscil7ci5kKHQsImYiLChmdW5jdGlvbigpe3JldHVybiBpfSkpLHIuZCh0LCJkIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxyLmQodCwiZyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksci5kKHQsImUiLChmdW5jdGlvbigpe3JldHVybiBzfSkpLHIuZCh0LCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKSxyLmQodCwiaCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSksci5kKHQsImkiLChmdW5jdGlvbigpe3JldHVybiBmfSkpLHIuZCh0LCJjIiwoZnVuY3Rpb24oKXtyZXR1cm4gZH0pKSxyLmQodCwibSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGx9KSksci5kKHQsIm4iLChmdW5jdGlvbigpe3JldHVybiBofSkpLHIuZCh0LCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gcH0pKSxyLmQodCwiaiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGJ9KSksci5kKHQsImwiLChmdW5jdGlvbigpe3JldHVybiB5fSkpLHIuZCh0LCJrIiwoZnVuY3Rpb24oKXtyZXR1cm4gbX0pKSxyLmQodCwibyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHZ9KSk7dmFyIG49MSxpPW4rKyxvPW4rKyxhPW4rKyxzPW4rKyx1PSJmYWlsIixjPW4rKyxmPW4rKyxkPSJzdGFydCIsbD0iZGF0YSIsaD0iZW5kIixwPW4rKyxiPW4rKyx5PW4rKyxtPW4rKztmdW5jdGlvbiB2KGUsdCxyKXt0cnl7dmFyIG49SlNPTi5wYXJzZSh0KX1jYXRjaChlKXt9cmV0dXJue3N0YXR1c0NvZGU6ZSxib2R5OnQsanNvbkJvZHk6bix0aHJvd246cn19fSxmdW5jdGlvbihlLHQscil7ci5kKHQsImIiLChmdW5jdGlvbigpe3JldHVybiBpfSkpLHIuZCh0LCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxyLmQodCwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSk7dmFyIG49cigwKTtmdW5jdGlvbiBpKGUsdCl7cmV0dXJue2tleTplLG5vZGU6dH19dmFyIG89T2JqZWN0KG4uYykoImtleSIpLGE9T2JqZWN0KG4uYykoIm5vZGUiKX0sZnVuY3Rpb24oZSx0LHIpe3IuZCh0LCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKTt2YXIgbj1yKDEpLGk9cigwKSxvPXIoMiksYT1yKDgpLHM9cig5KTtmdW5jdGlvbiB1KGUpe3ZhciB0PU9iamVjdChuLmgpKCJyZXN1bWUiLCJwYXVzZSIsInBpcGUiKSxyPU9iamVjdChpLmopKG8uYix0KTtyZXR1cm4gZT9yKGUpfHxPYmplY3Qoby5kKShlKT9PYmplY3QoYS5hKShzLmEsZSk6T2JqZWN0KGEuYSkocy5hLGUudXJsLGUubWV0aG9kLGUuYm9keSxlLmhlYWRlcnMsZS53aXRoQ3JlZGVudGlhbHMsZS5jYWNoZWQpOk9iamVjdChzLmEpKCl9dS5kcm9wPWZ1bmN0aW9uKCl7cmV0dXJuIHUuZHJvcH19LGZ1bmN0aW9uKGUsdCxyKXtyLmQodCwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHV9KSksci5kKHQsImEiLChmdW5jdGlvbigpe3JldHVybiBzfSkpO3ZhciBuPXIoMyksaT1yKDQpLG89cigyKSxhPXIoMSkscz17fTtmdW5jdGlvbiB1KGUpe3ZhciB0PWUobi5mKS5lbWl0LHI9ZShuLmQpLmVtaXQsdT1lKG4uaSkuZW1pdCxjPWUobi5oKS5lbWl0O2Z1bmN0aW9uIGYoZSx0LHIpe09iamVjdChpLmMpKE9iamVjdChhLmcpKGUpKVt0XT1yfWZ1bmN0aW9uIGQoZSxyLG4pe2UmJmYoZSxyLG4pO3ZhciBvPU9iamVjdChhLmQpKE9iamVjdChpLmIpKHIsbiksZSk7cmV0dXJuIHQobyksb312YXIgbD17fTtyZXR1cm4gbFtuLmxdPWZ1bmN0aW9uKGUsdCl7aWYoIWUpcmV0dXJuIHUodCksZChlLHMsdCk7dmFyIHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj1PYmplY3QoaS5jKShPYmplY3QoYS5nKShlKSk7cmV0dXJuIE9iamVjdChvLmMpKEFycmF5LHIpP2QoZSxPYmplY3Qoby5lKShyKSx0KTplfShlLHQpLG49T2JqZWN0KGEubCkociksYz1PYmplY3QoaS5hKShPYmplY3QoYS5nKShyKSk7cmV0dXJuIGYobixjLHQpLE9iamVjdChhLmQpKE9iamVjdChpLmIpKGMsdCksbil9LGxbbi5rXT1mdW5jdGlvbihlKXtyZXR1cm4gcihlKSxPYmplY3QoYS5sKShlKXx8YyhPYmplY3QoaS5jKShPYmplY3QoYS5nKShlKSkpfSxsW24ual09ZCxsfX0sZnVuY3Rpb24oZSx0LHIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1yKDUpO3QuZGVmYXVsdD1uLmF9LGZ1bmN0aW9uKGUsdCxyKXtyLmQodCwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSk7dmFyIG49cigyKTtmdW5jdGlvbiBpKGUsdCxyLGksbyxhLHMpe3JldHVybiBvPW8/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvKSk6e30saT8oT2JqZWN0KG4uZCkoaSl8fChpPUpTT04uc3RyaW5naWZ5KGkpLG9bIkNvbnRlbnQtVHlwZSJdPW9bIkNvbnRlbnQtVHlwZSJdfHwiYXBwbGljYXRpb24vanNvbiIpLG9bIkNvbnRlbnQtTGVuZ3RoIl09b1siQ29udGVudC1MZW5ndGgiXXx8aS5sZW5ndGgpOmk9bnVsbCxlKHJ8fCJHRVQiLGZ1bmN0aW9uKGUsdCl7cmV0dXJuITE9PT10JiYoLTE9PT1lLmluZGV4T2YoIj8iKT9lKz0iPyI6ZSs9IiYiLGUrPSJfPSIrKG5ldyBEYXRlKS5nZXRUaW1lKCkpLGV9KHQscyksaSxvLGF8fCExKX19LGZ1bmN0aW9uKGUsdCxyKXtyLmQodCwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSk7dmFyIG49cigxMCksaT1yKDEyKSxvPXIoNiksYT1yKDEzKSxzPXIoMTQpLHU9cigxNiksYz1yKDE3KSxmPXIoMTgpO2Z1bmN0aW9uIGQoZSx0LHIsZCxsKXt2YXIgaD1PYmplY3Qobi5hKSgpO3JldHVybiB0JiZPYmplY3QoZi5iKShoLE9iamVjdChmLmEpKCksZSx0LHIsZCxsKSxPYmplY3QoYy5hKShoKSxPYmplY3QoaS5hKShoLE9iamVjdChvLmIpKGgpKSxPYmplY3QoYS5hKShoLHMuYSksT2JqZWN0KHUuYSkoaCx0KX19LGZ1bmN0aW9uKGUsdCxyKXtyLmQodCwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSk7dmFyIG49cigxMSksaT1yKDApO2Z1bmN0aW9uIG8oKXt2YXIgZT17fSx0PW8oIm5ld0xpc3RlbmVyIikscj1vKCJyZW1vdmVMaXN0ZW5lciIpO2Z1bmN0aW9uIG8oaSl7cmV0dXJuIGVbaV09T2JqZWN0KG4uYSkoaSx0LHIpLGVbaV19ZnVuY3Rpb24gYSh0KXtyZXR1cm4gZVt0XXx8byh0KX1yZXR1cm5bImVtaXQiLCJvbiIsInVuIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7YVtlXT1PYmplY3QoaS5rKSgoZnVuY3Rpb24odCxyKXtPYmplY3QoaS5iKShyLGEodClbZV0pfSkpfSkpLGF9fSxmdW5jdGlvbihlLHQscil7ci5kKHQsImEiLChmdW5jdGlvbigpe3JldHVybiBhfSkpO3ZhciBuPXIoMSksaT1yKDIpLG89cigwKTtmdW5jdGlvbiBhKGUsdCxyKXt2YXIgYSxzO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09ZX19cmV0dXJue29uOmZ1bmN0aW9uKHIsaSl7dmFyIG89e2xpc3RlbmVyOnIsaWQ6aXx8cn07cmV0dXJuIHQmJnQuZW1pdChlLHIsby5pZCksYT1PYmplY3Qobi5kKShvLGEpLHM9T2JqZWN0KG4uZCkocixzKSx0aGlzfSxlbWl0OmZ1bmN0aW9uKCl7T2JqZWN0KG4uYikocyxhcmd1bWVudHMpfSx1bjpmdW5jdGlvbih0KXt2YXIgaTthPU9iamVjdChuLm0pKGEsdSh0KSwoZnVuY3Rpb24oZSl7aT1lfSkpLGkmJihzPU9iamVjdChuLm0pKHMsKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09aS5saXN0ZW5lcn0pKSxyJiZyLmVtaXQoZSxpLmxpc3RlbmVyLGkuaWQpKX0sbGlzdGVuZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIHN9LGhhc0xpc3RlbmVyOmZ1bmN0aW9uKGUpe3ZhciB0PWU/dShlKTpvLmE7cmV0dXJuIE9iamVjdChpLmEpKE9iamVjdChuLmUpKHQsYSkpfX19fSxmdW5jdGlvbihlLHQscil7ci5kKHQsImEiLChmdW5jdGlvbigpe3JldHVybiBhfSkpO3ZhciBuPXIoNCksaT1yKDMpLG89cigxKTtmdW5jdGlvbiBhKGUsdCl7dmFyIHIsYT17fTtmdW5jdGlvbiBzKGUpe3JldHVybiBmdW5jdGlvbih0KXtyPWUocix0KX19Zm9yKHZhciB1IGluIHQpZSh1KS5vbihzKHRbdV0pLGEpO2UoaS5nKS5vbigoZnVuY3Rpb24oZSl7dmFyIHQ9T2JqZWN0KG8uZykociksaT1PYmplY3Qobi5hKSh0KSxhPU9iamVjdChvLmwpKHIpO2EmJihPYmplY3Qobi5jKShPYmplY3Qoby5nKShhKSlbaV09ZSl9KSksZShpLmUpLm9uKChmdW5jdGlvbigpe3ZhciBlPU9iamVjdChvLmcpKHIpLHQ9T2JqZWN0KG4uYSkoZSksaT1PYmplY3Qoby5sKShyKTtpJiZkZWxldGUgT2JqZWN0KG4uYykoT2JqZWN0KG8uZykoaSkpW3RdfSkpLGUoaS5hKS5vbigoZnVuY3Rpb24oKXtmb3IodmFyIHIgaW4gdCllKHIpLnVuKGEpfSkpfX0sZnVuY3Rpb24oZSx0LHIpe3IuZCh0LCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKTt2YXIgbj1yKDMpLGk9cigxKSxvPXIoNCk7ZnVuY3Rpb24gYShlLHQpe3ZhciByPXtub2RlOmUobi5kKSxwYXRoOmUobi5mKX07ZSgibmV3TGlzdGVuZXIiKS5vbigoZnVuY3Rpb24obil7dmFyIGE9Lyhub2RlfHBhdGgpOiguKikvLmV4ZWMobik7aWYoYSl7dmFyIHM9clthWzFdXTtzLmhhc0xpc3RlbmVyKG4pfHxmdW5jdGlvbih0LHIsbil7dmFyIGE9ZSh0KS5lbWl0O3Iub24oKGZ1bmN0aW9uKGUpe3ZhciB0PW4oZSk7ITEhPT10JiZmdW5jdGlvbihlLHQscil7dmFyIG49T2JqZWN0KGkuaykocik7ZSh0LE9iamVjdChpLmkpKE9iamVjdChpLmwpKE9iamVjdChpLmopKG8uYSxuKSkpLE9iamVjdChpLmkpKE9iamVjdChpLmopKG8uYyxuKSkpfShhLE9iamVjdChvLmMpKHQpLGUpfSksdCksZSgicmVtb3ZlTGlzdGVuZXIiKS5vbigoZnVuY3Rpb24obil7bj09PXQmJihlKG4pLmxpc3RlbmVycygpfHxyLnVuKHQpKX0pKX0obixzLHQoYVsyXSkpfX0pKX19LGZ1bmN0aW9uKGUsdCxyKXtyLmQodCwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSk7dmFyIG49cigwKSxpPXIoMSksbz1yKDQpLGE9cigyKSxzPXIoNiksdT1yKDE1KSxjPU9iamVjdCh1LmEpKChmdW5jdGlvbihlLHQscix1LGMpe3ZhciBmPU9iamVjdChuLmQpKG8uYSxpLmcpLGQ9T2JqZWN0KG4uZCkoby5jLGkuZyk7ZnVuY3Rpb24gbChlLHQpe3JldHVybiB0WzFdP09iamVjdChuLmcpKGUsaS5nKTplfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGU9PT1uLmE/bi5hOk9iamVjdChuLmcpKChmdW5jdGlvbihlKXtyZXR1cm4gZihlKSE9PXMuYX0pLE9iamVjdChuLmQpKGUsaS5sKSl9ZnVuY3Rpb24gcCgpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZihlKT09PXMuYX19ZnVuY3Rpb24gYihlLHQscixuLG8pe3ZhciBzPWUocik7aWYocyl7dmFyIHU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBPYmplY3QoaS5mKSgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gdChlLHIpfSksdCxlKX0odCxuLHMpO3JldHVybiBvKHIuc3Vic3RyKE9iamVjdChhLmUpKHNbMF0pKSx1KX19ZnVuY3Rpb24geShlLHQpe3JldHVybiBPYmplY3Qobi5qKShiLGUsdCl9dmFyIG09T2JqZWN0KG4uaCkoeShlLE9iamVjdChpLmgpKGwsKGZ1bmN0aW9uKGUsdCl7dmFyIHI9dFszXTtpZighcilyZXR1cm4gZTt2YXIgbz1PYmplY3Qobi5qKShhLmIsT2JqZWN0KGkuYykoci5zcGxpdCgvXFcrLykpKSxzPU9iamVjdChuLmQpKG8sZCk7cmV0dXJuIE9iamVjdChuLmcpKHMsZSl9KSwoZnVuY3Rpb24oZSx0KXt2YXIgcj10WzJdLGk9ciYmIioiIT09cj9mdW5jdGlvbihlKXtyZXR1cm4gU3RyaW5nKGYoZSkpPT09cn06bi5hO3JldHVybiBPYmplY3Qobi5nKShpLGUpfSksaCkpLHkodCxPYmplY3QoaS5oKSgoZnVuY3Rpb24oZSl7aWYoZT09PW4uYSlyZXR1cm4gbi5hO3ZhciB0PXAoKSxyPWUsaT1oKChmdW5jdGlvbihlKXtyZXR1cm4gbyhlKX0pKSxvPU9iamVjdChuLmgpKHQscixpKTtyZXR1cm4gb30pKSkseShyLE9iamVjdChpLmgpKCkpLHkodSxPYmplY3QoaS5oKShsLHApKSx5KGMsT2JqZWN0KGkuaCkoKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgcj1lKHQpO3JldHVybiEwPT09cj9PYmplY3QoaS5nKSh0KTpyfX0pKSksKGZ1bmN0aW9uKGUpe3Rocm93IEVycm9yKCciJytlKyciIGNvdWxkIG5vdCBiZSB0b2tlbmlzZWQnKX0pKTtmdW5jdGlvbiB2KGUsdCl7cmV0dXJuIHR9ZnVuY3Rpb24gZyhlLHQpe3JldHVybiBtKGUsdCxlP2c6dil9cmV0dXJuIGZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gZyhlLG4uYSl9Y2F0Y2godCl7dGhyb3cgRXJyb3IoJ0NvdWxkIG5vdCBjb21waWxlICInK2UrJyIgYmVjYXVzZSAnK3QubWVzc2FnZSl9fX0pKX0sZnVuY3Rpb24oZSx0LHIpe3IuZCh0LCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gYn0pKTt2YXIgbixpLG8sYSxzLHUsYyxmLGQsbCxoLHA9cigwKSxiPShuPU9iamVjdChwLmspKChmdW5jdGlvbihlKXtyZXR1cm4gZS51bnNoaWZ0KC9eLyksKHQ9UmVnRXhwKGUubWFwKE9iamVjdChwLmMpKCJzb3VyY2UiKSkuam9pbigiIikpKS5leGVjLmJpbmQodCk7dmFyIHR9KSksYT1uKGk9LyhcJD8pLywvKFtcdy1fXSt8XCopLyxvPS8oPzp7KFtcdyBdKj8pfSk/Lykscz1uKGksL1xbIihbXiJdKykiXF0vLG8pLHU9bihpLC9cWyhcZCt8XCopXF0vLG8pLGM9bihpLC8oKS8sL3soW1x3IF0qPyl9LyksZj1uKC9cLlwuLyksZD1uKC9cLi8pLGw9bihpLC8hLyksaD1uKC8kLyksZnVuY3Rpb24oZSl7cmV0dXJuIGUoT2JqZWN0KHAuaCkoYSxzLHUsYyksZixkLGwsaCl9KX0sZnVuY3Rpb24oZSx0LHIpe3IuZCh0LCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKTt2YXIgbj1yKDMpLGk9cigwKSxvPXIoMiksYT1yKDUpO2Z1bmN0aW9uIHMoZSx0KXt2YXIgcixzPS9eKG5vZGV8cGF0aCk6Li8sdT1lKG4uaCksYz1lKG4uZSkuZW1pdCxmPWUobi5nKS5lbWl0LGQ9T2JqZWN0KGkuaykoKGZ1bmN0aW9uKHQsbil7aWYoclt0XSlPYmplY3QoaS5iKShuLHJbdF0pO2Vsc2V7dmFyIG89ZSh0KSxhPW5bMF07cy50ZXN0KHQpP2wobyxwKGEpKTpvLm9uKGEpfXJldHVybiByfSkpO2Z1bmN0aW9uIGwoZSx0LG4pe249bnx8dDt2YXIgbz1oKHQpO3JldHVybiBlLm9uKChmdW5jdGlvbigpe3ZhciB0PSExO3IuZm9yZ2V0PWZ1bmN0aW9uKCl7dD0hMH0sT2JqZWN0KGkuYikoYXJndW1lbnRzLG8pLGRlbGV0ZSByLmZvcmdldCx0JiZlLnVuKG4pfSksbikscn1mdW5jdGlvbiBoKGUpe3JldHVybiBmdW5jdGlvbigpe3RyeXtyZXR1cm4gZS5hcHBseShyLGFyZ3VtZW50cyl9Y2F0Y2goZSl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoZS5tZXNzYWdlKX0pKX19fWZ1bmN0aW9uIHAoZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHQ9ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7T2JqZWN0KG8uYSkodCkmJih0PT09YS5hLmRyb3A/YygpOmYodCkpfX1mdW5jdGlvbiBiKHQscixuKXt2YXIgaTtpPSJub2RlIj09PXQ/cChuKTpuLGwoZnVuY3Rpb24odCxyKXtyZXR1cm4gZSh0KyI6IityKX0odCxyKSxpLG4pfWZ1bmN0aW9uIHkoZSx0LG4pe3JldHVybiBPYmplY3Qoby5kKSh0KT9iKGUsdCxuKTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiB0KWIoZSxyLHRbcl0pfShlLHQpLHJ9cmV0dXJuIGUobi5pKS5vbigoZnVuY3Rpb24oZSl7ci5yb290PU9iamVjdChpLmYpKGUpfSkpLGUobi5jKS5vbigoZnVuY3Rpb24oZSx0KXtyLmhlYWRlcj1mdW5jdGlvbihlKXtyZXR1cm4gZT90W2VdOnR9fSkpLHI9e29uOmQsYWRkTGlzdGVuZXI6ZCxyZW1vdmVMaXN0ZW5lcjpmdW5jdGlvbih0LG4saSl7aWYoImRvbmUiPT09dCl1LnVuKG4pO2Vsc2UgaWYoIm5vZGUiPT09dHx8InBhdGgiPT09dCllLnVuKHQrIjoiK24saSk7ZWxzZXt2YXIgbz1uO2UodCkudW4obyl9cmV0dXJuIHJ9LGVtaXQ6ZS5lbWl0LG5vZGU6T2JqZWN0KGkuaikoeSwibm9kZSIpLHBhdGg6T2JqZWN0KGkuaikoeSwicGF0aCIpLGRvbmU6T2JqZWN0KGkuaikobCx1KSxzdGFydDpPYmplY3QoaS5qKSgoZnVuY3Rpb24odCxuKXtyZXR1cm4gZSh0KS5vbihoKG4pLG4pLHJ9KSxuLmMpLGZhaWw6ZShuLmIpLm9uLGFib3J0OmUobi5hKS5lbWl0LGhlYWRlcjppLmkscm9vdDppLmksc291cmNlOnR9fX0sZnVuY3Rpb24oZSx0LHIpe3IuZCh0LCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKTt2YXIgbj1yKDMpO2Z1bmN0aW9uIGkoZSl7dmFyIHQscixpLG8sYT1lKG4uaikuZW1pdCxzPWUobi5sKS5lbWl0LHU9ZShuLmspLmVtaXQsYz1lKG4uYikuZW1pdCxmPTY1NTM2LGQ9L1tcXCJcbl0vZyxsPTAsaD1sKysscD1sKyssYj1sKysseT1sKyssbT1sKyssdj1sKyssZz1sKyssdz1sKyssQT1sKyssaz1sKyssXz1sKyssUz1sKysseD1sKyssRT1sKyssUD1sKyssTz1sKyssQj1sKyssVD1sKyssQz1sKyssST1sKyssTT1mLFU9IiIsUj0hMSxqPSExLE49aCxGPVtdLEw9bnVsbCxEPTAsSD0wLHE9MCx6PTAsRz0xO2Z1bmN0aW9uIEsoZSl7dm9pZCAwIT09byYmKHMobyksdSgpLG89dm9pZCAwKSx0PUVycm9yKGUrIlxuTG46ICIrRysiXG5Db2w6ICIreisiXG5DaHI6ICIrciksYyhPYmplY3Qobi5vKSh2b2lkIDAsdm9pZCAwLHQpKX1mdW5jdGlvbiBWKGUpe3JldHVybiJcciI9PT1lfHwiXG4iPT09ZXx8IiAiPT09ZXx8Ilx0Ij09PWV9ZShuLm0pLm9uKChmdW5jdGlvbihlKXtpZighdCl7aWYoailyZXR1cm4gSygiQ2Fubm90IHdyaXRlIGFmdGVyIGNsb3NlIik7dmFyIG4sYz0wO2ZvcihyPWVbMF07ciYmKGM+MCYmKGk9cikscj1lW2MrK10pOylzd2l0Y2gocSsrLCJcbiI9PT1yPyhHKyssej0wKTp6KyssTil7Y2FzZSBoOmlmKCJ7Ij09PXIpTj1iO2Vsc2UgaWYoIlsiPT09cilOPW07ZWxzZSBpZighVihyKSlyZXR1cm4gSygiTm9uLXdoaXRlc3BhY2UgYmVmb3JlIHtbLiIpO2NvbnRpbnVlO2Nhc2UgdzpjYXNlIGI6aWYoVihyKSljb250aW51ZTtpZihOPT09dylGLnB1c2goQSk7ZWxzZXtpZigifSI9PT1yKXtzKHt9KSx1KCksTj1GLnBvcCgpfHxwO2NvbnRpbnVlfUYucHVzaCh5KX1pZignIichPT1yKXJldHVybiBLKCdNYWxmb3JtZWQgb2JqZWN0IGtleSBzaG91bGQgc3RhcnQgd2l0aCAiICcpO049Zztjb250aW51ZTtjYXNlIEE6Y2FzZSB5OmlmKFYocikpY29udGludWU7aWYoIjoiPT09cilOPT09eT8oRi5wdXNoKHkpLHZvaWQgMCE9PW8mJihzKHt9KSxhKG8pLG89dm9pZCAwKSxIKyspOnZvaWQgMCE9PW8mJihhKG8pLG89dm9pZCAwKSxOPXA7ZWxzZSBpZigifSI9PT1yKXZvaWQgMCE9PW8mJihzKG8pLHUoKSxvPXZvaWQgMCksdSgpLEgtLSxOPUYucG9wKCl8fHA7ZWxzZXtpZigiLCIhPT1yKXJldHVybiBLKCJCYWQgb2JqZWN0Iik7Tj09PXkmJkYucHVzaCh5KSx2b2lkIDAhPT1vJiYocyhvKSx1KCksbz12b2lkIDApLE49d31jb250aW51ZTtjYXNlIG06Y2FzZSBwOmlmKFYocikpY29udGludWU7aWYoTj09PW0pe2lmKHMoW10pLEgrKyxOPXAsIl0iPT09cil7dSgpLEgtLSxOPUYucG9wKCl8fHA7Y29udGludWV9Ri5wdXNoKHYpfWlmKCciJz09PXIpTj1nO2Vsc2UgaWYoInsiPT09cilOPWI7ZWxzZSBpZigiWyI9PT1yKU49bTtlbHNlIGlmKCJ0Ij09PXIpTj1rO2Vsc2UgaWYoImYiPT09cilOPXg7ZWxzZSBpZigibiI9PT1yKU49QjtlbHNlIGlmKCItIj09PXIpVSs9cjtlbHNlIGlmKCIwIj09PXIpVSs9cixOPTIwO2Vsc2V7aWYoLTE9PT0iMTIzNDU2Nzg5Ii5pbmRleE9mKHIpKXJldHVybiBLKCJCYWQgdmFsdWUiKTtVKz1yLE49MjB9Y29udGludWU7Y2FzZSB2OmlmKCIsIj09PXIpRi5wdXNoKHYpLHZvaWQgMCE9PW8mJihzKG8pLHUoKSxvPXZvaWQgMCksTj1wO2Vsc2V7aWYoIl0iIT09cil7aWYoVihyKSljb250aW51ZTtyZXR1cm4gSygiQmFkIGFycmF5Iil9dm9pZCAwIT09byYmKHMobyksdSgpLG89dm9pZCAwKSx1KCksSC0tLE49Ri5wb3AoKXx8cH1jb250aW51ZTtjYXNlIGc6dm9pZCAwPT09byYmKG89IiIpO3ZhciBsPWMtMTtlOmZvcig7Oyl7Zm9yKDtEPjA7KWlmKEwrPXIscj1lLmNoYXJBdChjKyspLDQ9PT1EPyhvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KEwsMTYpKSxEPTAsbD1jLTEpOkQrKywhcilicmVhayBlO2lmKCciJz09PXImJiFSKXtOPUYucG9wKCl8fHAsbys9ZS5zdWJzdHJpbmcobCxjLTEpO2JyZWFrfWlmKCEoIlxcIiE9PXJ8fFJ8fChSPSEwLG8rPWUuc3Vic3RyaW5nKGwsYy0xKSxyPWUuY2hhckF0KGMrKykpKSlicmVhaztpZihSKXtpZihSPSExLCJuIj09PXI/bys9IlxuIjoiciI9PT1yP28rPSJcciI6InQiPT09cj9vKz0iXHQiOiJmIj09PXI/bys9IlxmIjoiYiI9PT1yP28rPSJcYiI6InUiPT09cj8oRD0xLEw9IiIpOm8rPXIscj1lLmNoYXJBdChjKyspLGw9Yy0xLHIpY29udGludWU7YnJlYWt9ZC5sYXN0SW5kZXg9Yzt2YXIgSj1kLmV4ZWMoZSk7aWYoIUope2M9ZS5sZW5ndGgrMSxvKz1lLnN1YnN0cmluZyhsLGMtMSk7YnJlYWt9aWYoYz1KLmluZGV4KzEsIShyPWUuY2hhckF0KEouaW5kZXgpKSl7bys9ZS5zdWJzdHJpbmcobCxjLTEpO2JyZWFrfX1jb250aW51ZTtjYXNlIGs6aWYoIXIpY29udGludWU7aWYoInIiIT09cilyZXR1cm4gSygiSW52YWxpZCB0cnVlIHN0YXJ0ZWQgd2l0aCB0IityKTtOPV87Y29udGludWU7Y2FzZSBfOmlmKCFyKWNvbnRpbnVlO2lmKCJ1IiE9PXIpcmV0dXJuIEsoIkludmFsaWQgdHJ1ZSBzdGFydGVkIHdpdGggdHIiK3IpO049Uztjb250aW51ZTtjYXNlIFM6aWYoIXIpY29udGludWU7aWYoImUiIT09cilyZXR1cm4gSygiSW52YWxpZCB0cnVlIHN0YXJ0ZWQgd2l0aCB0cnUiK3IpO3MoITApLHUoKSxOPUYucG9wKCl8fHA7Y29udGludWU7Y2FzZSB4OmlmKCFyKWNvbnRpbnVlO2lmKCJhIiE9PXIpcmV0dXJuIEsoIkludmFsaWQgZmFsc2Ugc3RhcnRlZCB3aXRoIGYiK3IpO049RTtjb250aW51ZTtjYXNlIEU6aWYoIXIpY29udGludWU7aWYoImwiIT09cilyZXR1cm4gSygiSW52YWxpZCBmYWxzZSBzdGFydGVkIHdpdGggZmEiK3IpO049UDtjb250aW51ZTtjYXNlIFA6aWYoIXIpY29udGludWU7aWYoInMiIT09cilyZXR1cm4gSygiSW52YWxpZCBmYWxzZSBzdGFydGVkIHdpdGggZmFsIityKTtOPU87Y29udGludWU7Y2FzZSBPOmlmKCFyKWNvbnRpbnVlO2lmKCJlIiE9PXIpcmV0dXJuIEsoIkludmFsaWQgZmFsc2Ugc3RhcnRlZCB3aXRoIGZhbHMiK3IpO3MoITEpLHUoKSxOPUYucG9wKCl8fHA7Y29udGludWU7Y2FzZSBCOmlmKCFyKWNvbnRpbnVlO2lmKCJ1IiE9PXIpcmV0dXJuIEsoIkludmFsaWQgbnVsbCBzdGFydGVkIHdpdGggbiIrcik7Tj1UO2NvbnRpbnVlO2Nhc2UgVDppZighciljb250aW51ZTtpZigibCIhPT1yKXJldHVybiBLKCJJbnZhbGlkIG51bGwgc3RhcnRlZCB3aXRoIG51IityKTtOPUM7Y29udGludWU7Y2FzZSBDOmlmKCFyKWNvbnRpbnVlO2lmKCJsIiE9PXIpcmV0dXJuIEsoIkludmFsaWQgbnVsbCBzdGFydGVkIHdpdGggbnVsIityKTtzKG51bGwpLHUoKSxOPUYucG9wKCl8fHA7Y29udGludWU7Y2FzZSBJOmlmKCIuIiE9PXIpcmV0dXJuIEsoIkxlYWRpbmcgemVybyBub3QgZm9sbG93ZWQgYnkgLiIpO1UrPXIsTj0yMDtjb250aW51ZTtjYXNlIDIwOmlmKC0xIT09IjAxMjM0NTY3ODkiLmluZGV4T2YocikpVSs9cjtlbHNlIGlmKCIuIj09PXIpe2lmKC0xIT09VS5pbmRleE9mKCIuIikpcmV0dXJuIEsoIkludmFsaWQgbnVtYmVyIGhhcyB0d28gZG90cyIpO1UrPXJ9ZWxzZSBpZigiZSI9PT1yfHwiRSI9PT1yKXtpZigtMSE9PVUuaW5kZXhPZigiZSIpfHwtMSE9PVUuaW5kZXhPZigiRSIpKXJldHVybiBLKCJJbnZhbGlkIG51bWJlciBoYXMgdHdvIGV4cG9uZW50aWFsIik7VSs9cn1lbHNlIGlmKCIrIj09PXJ8fCItIj09PXIpe2lmKCJlIiE9PWkmJiJFIiE9PWkpcmV0dXJuIEsoIkludmFsaWQgc3ltYm9sIGluIG51bWJlciIpO1UrPXJ9ZWxzZSBVJiYocyhwYXJzZUZsb2F0KFUpKSx1KCksVT0iIiksYy0tLE49Ri5wb3AoKXx8cDtjb250aW51ZTtkZWZhdWx0OnJldHVybiBLKCJVbmtub3duIHN0YXRlOiAiK04pfXE+PU0mJihuPTAsdm9pZCAwIT09byYmby5sZW5ndGg+ZiYmKEsoIk1heCBidWZmZXIgbGVuZ3RoIGV4Y2VlZGVkOiB0ZXh0Tm9kZSIpLG49TWF0aC5tYXgobixvLmxlbmd0aCkpLFUubGVuZ3RoPmYmJihLKCJNYXggYnVmZmVyIGxlbmd0aCBleGNlZWRlZDogbnVtYmVyTm9kZSIpLG49TWF0aC5tYXgobixVLmxlbmd0aCkpLE09Zi1uK3EpfX0pKSxlKG4ubikub24oKGZ1bmN0aW9uKCl7aWYoTj09PWgpcmV0dXJuIHMoe30pLHUoKSx2b2lkKGo9ITApO049PT1wJiYwPT09SHx8SygiVW5leHBlY3RlZCBlbmQiKSx2b2lkIDAhPT1vJiYocyhvKSx1KCksbz12b2lkIDApLGo9ITB9KSl9fSxmdW5jdGlvbihlLHQscil7ci5kKHQsImEiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLHIuZCh0LCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKTt2YXIgbj1yKDE5KSxpPXIoMyksbz1yKDIpLGE9cigyMCkscz1yKDApO2Z1bmN0aW9uIHUoKXtyZXR1cm4gbmV3IFhNTEh0dHBSZXF1ZXN0fWZ1bmN0aW9uIGMoZSx0LHIsdSxjLGYsZCl7dmFyIGw9ZShpLm0pLmVtaXQsaD1lKGkuYikuZW1pdCxwPTAsYj0hMDtmdW5jdGlvbiB5KCl7aWYoIjIiPT09U3RyaW5nKHQuc3RhdHVzKVswXSl7dmFyIGU9dC5yZXNwb25zZVRleHQscj0oIiAiK2Uuc3Vic3RyKHApKS5zdWJzdHIoMSk7ciYmbChyKSxwPU9iamVjdChvLmUpKGUpfX1mdW5jdGlvbiBtKHQpe3RyeXtiJiZlKGkuYykuZW1pdCh0LnN0YXR1cyxPYmplY3QoYS5hKSh0LmdldEFsbFJlc3BvbnNlSGVhZGVycygpKSksYj0hMX1jYXRjaChlKXt9fWUoaS5hKS5vbigoZnVuY3Rpb24oKXt0Lm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLHQuYWJvcnQoKX0pKSwib25wcm9ncmVzcyJpbiB0JiYodC5vbnByb2dyZXNzPXkpLHQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7c3dpdGNoKHQucmVhZHlTdGF0ZSl7Y2FzZSAyOmNhc2UgMzpyZXR1cm4gbSh0KTtjYXNlIDQ6bSh0KSwiMiI9PT1TdHJpbmcodC5zdGF0dXMpWzBdPyh5KCksZShpLm4pLmVtaXQoKSk6aChPYmplY3QoaS5vKSh0LnN0YXR1cyx0LnJlc3BvbnNlVGV4dCkpfX07dHJ5e2Zvcih2YXIgdiBpbiB0Lm9wZW4ocix1LCEwKSxmKXQuc2V0UmVxdWVzdEhlYWRlcih2LGZbdl0pO09iamVjdChuLmEpKHdpbmRvdy5sb2NhdGlvbixPYmplY3Qobi5iKSh1KSl8fHQuc2V0UmVxdWVzdEhlYWRlcigiWC1SZXF1ZXN0ZWQtV2l0aCIsIlhNTEh0dHBSZXF1ZXN0IiksdC53aXRoQ3JlZGVudGlhbHM9ZCx0LnNlbmQoYyl9Y2F0Y2goZSl7d2luZG93LnNldFRpbWVvdXQoT2JqZWN0KHMuaikoaCxPYmplY3QoaS5vKSh2b2lkIDAsdm9pZCAwLGUpKSwwKX19fSxmdW5jdGlvbihlLHQscil7ZnVuY3Rpb24gbihlLHQpe2Z1bmN0aW9uIHIodCl7cmV0dXJuIFN0cmluZyh0LnBvcnR8fHsiaHR0cDoiOjgwLCJodHRwczoiOjQ0M31bdC5wcm90b2NvbHx8ZS5wcm90b2NvbF0pfXJldHVybiEhKHQucHJvdG9jb2wmJnQucHJvdG9jb2whPT1lLnByb3RvY29sfHx0Lmhvc3QmJnQuaG9zdCE9PWUuaG9zdHx8dC5ob3N0JiZyKHQpIT09cihlKSl9ZnVuY3Rpb24gaShlKXt2YXIgdD0vKFx3KzopPyg/OlwvXC8pKFtcdy4tXSspPyg/OjooXGQrKSk/XC8/Ly5leGVjKGUpfHxbXTtyZXR1cm57cHJvdG9jb2w6dFsxXXx8IiIsaG9zdDp0WzJdfHwiIixwb3J0OnRbM118fCIifX1yLmQodCwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG59KSksci5kKHQsImIiLChmdW5jdGlvbigpe3JldHVybiBpfSkpfSxmdW5jdGlvbihlLHQscil7ZnVuY3Rpb24gbihlKXt2YXIgdD17fTtyZXR1cm4gZSYmZS5zcGxpdCgiXHJcbiIpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciByPWUuaW5kZXhPZigiOiAiKTt0W2Uuc3Vic3RyaW5nKDAscildPWUuc3Vic3RyaW5nKHIrMil9KSksdH1yLmQodCwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG59KSl9XSkuZGVmYXVsdH0sIm9iamVjdCI9PT0oMCxzLmRlZmF1bHQpKHQpJiYib2JqZWN0Ij09PSgwLHMuZGVmYXVsdCkoZSk/ZS5leHBvcnRzPWEoKTooaT1bXSx2b2lkIDA9PT0obz0iZnVuY3Rpb24iPT10eXBlb2Yobj1hKT9uLmFwcGx5KHQsaSk6bil8fChlLmV4cG9ydHM9bykpfSwxODIzOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4MzU3KTt0LmNlcnRpZmljYXRlPXIoMTMyMCk7dmFyIGk9bi5kZWZpbmUoIlJTQVByaXZhdGVLZXkiLChmdW5jdGlvbigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KCJ2ZXJzaW9uIikuaW50KCksdGhpcy5rZXkoIm1vZHVsdXMiKS5pbnQoKSx0aGlzLmtleSgicHVibGljRXhwb25lbnQiKS5pbnQoKSx0aGlzLmtleSgicHJpdmF0ZUV4cG9uZW50IikuaW50KCksdGhpcy5rZXkoInByaW1lMSIpLmludCgpLHRoaXMua2V5KCJwcmltZTIiKS5pbnQoKSx0aGlzLmtleSgiZXhwb25lbnQxIikuaW50KCksdGhpcy5rZXkoImV4cG9uZW50MiIpLmludCgpLHRoaXMua2V5KCJjb2VmZmljaWVudCIpLmludCgpKX0pKTt0LlJTQVByaXZhdGVLZXk9aTt2YXIgbz1uLmRlZmluZSgiUlNBUHVibGljS2V5IiwoZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgibW9kdWx1cyIpLmludCgpLHRoaXMua2V5KCJwdWJsaWNFeHBvbmVudCIpLmludCgpKX0pKTt0LlJTQVB1YmxpY0tleT1vO3ZhciBhPW4uZGVmaW5lKCJTdWJqZWN0UHVibGljS2V5SW5mbyIsKGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoImFsZ29yaXRobSIpLnVzZShzKSx0aGlzLmtleSgic3ViamVjdFB1YmxpY0tleSIpLmJpdHN0cigpKX0pKTt0LlB1YmxpY0tleT1hO3ZhciBzPW4uZGVmaW5lKCJBbGdvcml0aG1JZGVudGlmaWVyIiwoZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgiYWxnb3JpdGhtIikub2JqaWQoKSx0aGlzLmtleSgibm9uZSIpLm51bGxfKCkub3B0aW9uYWwoKSx0aGlzLmtleSgiY3VydmUiKS5vYmppZCgpLm9wdGlvbmFsKCksdGhpcy5rZXkoInBhcmFtcyIpLnNlcSgpLm9iaih0aGlzLmtleSgicCIpLmludCgpLHRoaXMua2V5KCJxIikuaW50KCksdGhpcy5rZXkoImciKS5pbnQoKSkub3B0aW9uYWwoKSl9KSksdT1uLmRlZmluZSgiUHJpdmF0ZUtleUluZm8iLChmdW5jdGlvbigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KCJ2ZXJzaW9uIikuaW50KCksdGhpcy5rZXkoImFsZ29yaXRobSIpLnVzZShzKSx0aGlzLmtleSgic3ViamVjdFByaXZhdGVLZXkiKS5vY3RzdHIoKSl9KSk7dC5Qcml2YXRlS2V5PXU7dmFyIGM9bi5kZWZpbmUoIkVuY3J5cHRlZFByaXZhdGVLZXlJbmZvIiwoZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgiYWxnb3JpdGhtIikuc2VxKCkub2JqKHRoaXMua2V5KCJpZCIpLm9iamlkKCksdGhpcy5rZXkoImRlY3J5cHQiKS5zZXEoKS5vYmoodGhpcy5rZXkoImtkZSIpLnNlcSgpLm9iaih0aGlzLmtleSgiaWQiKS5vYmppZCgpLHRoaXMua2V5KCJrZGVwYXJhbXMiKS5zZXEoKS5vYmoodGhpcy5rZXkoInNhbHQiKS5vY3RzdHIoKSx0aGlzLmtleSgiaXRlcnMiKS5pbnQoKSkpLHRoaXMua2V5KCJjaXBoZXIiKS5zZXEoKS5vYmoodGhpcy5rZXkoImFsZ28iKS5vYmppZCgpLHRoaXMua2V5KCJpdiIpLm9jdHN0cigpKSkpLHRoaXMua2V5KCJzdWJqZWN0UHJpdmF0ZUtleSIpLm9jdHN0cigpKX0pKTt0LkVuY3J5cHRlZFByaXZhdGVLZXk9Yzt2YXIgZj1uLmRlZmluZSgiRFNBUHJpdmF0ZUtleSIsKGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoInZlcnNpb24iKS5pbnQoKSx0aGlzLmtleSgicCIpLmludCgpLHRoaXMua2V5KCJxIikuaW50KCksdGhpcy5rZXkoImciKS5pbnQoKSx0aGlzLmtleSgicHViX2tleSIpLmludCgpLHRoaXMua2V5KCJwcml2X2tleSIpLmludCgpKX0pKTt0LkRTQVByaXZhdGVLZXk9Zix0LkRTQXBhcmFtPW4uZGVmaW5lKCJEU0FwYXJhbSIsKGZ1bmN0aW9uKCl7dGhpcy5pbnQoKX0pKTt2YXIgZD1uLmRlZmluZSgiRUNQcml2YXRlS2V5IiwoZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgidmVyc2lvbiIpLmludCgpLHRoaXMua2V5KCJwcml2YXRlS2V5Iikub2N0c3RyKCksdGhpcy5rZXkoInBhcmFtZXRlcnMiKS5vcHRpb25hbCgpLmV4cGxpY2l0KDApLnVzZShsKSx0aGlzLmtleSgicHVibGljS2V5Iikub3B0aW9uYWwoKS5leHBsaWNpdCgxKS5iaXRzdHIoKSl9KSk7dC5FQ1ByaXZhdGVLZXk9ZDt2YXIgbD1uLmRlZmluZSgiRUNQYXJhbWV0ZXJzIiwoZnVuY3Rpb24oKXt0aGlzLmNob2ljZSh7bmFtZWRDdXJ2ZTp0aGlzLm9iamlkKCl9KX0pKTt0LnNpZ25hdHVyZT1uLmRlZmluZSgic2lnbmF0dXJlIiwoZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgiciIpLmludCgpLHRoaXMua2V5KCJzIikuaW50KCkpfSkpfSwxMzIwOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4MzU3KSxpPW4uZGVmaW5lKCJUaW1lIiwoZnVuY3Rpb24oKXt0aGlzLmNob2ljZSh7dXRjVGltZTp0aGlzLnV0Y3RpbWUoKSxnZW5lcmFsVGltZTp0aGlzLmdlbnRpbWUoKX0pfSkpLG89bi5kZWZpbmUoIkF0dHJpYnV0ZVR5cGVWYWx1ZSIsKGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoInR5cGUiKS5vYmppZCgpLHRoaXMua2V5KCJ2YWx1ZSIpLmFueSgpKX0pKSxhPW4uZGVmaW5lKCJBbGdvcml0aG1JZGVudGlmaWVyIiwoZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgiYWxnb3JpdGhtIikub2JqaWQoKSx0aGlzLmtleSgicGFyYW1ldGVycyIpLm9wdGlvbmFsKCksdGhpcy5rZXkoImN1cnZlIikub2JqaWQoKS5vcHRpb25hbCgpKX0pKSxzPW4uZGVmaW5lKCJTdWJqZWN0UHVibGljS2V5SW5mbyIsKGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoImFsZ29yaXRobSIpLnVzZShhKSx0aGlzLmtleSgic3ViamVjdFB1YmxpY0tleSIpLmJpdHN0cigpKX0pKSx1PW4uZGVmaW5lKCJSZWxhdGl2ZURpc3Rpbmd1aXNoZWROYW1lIiwoZnVuY3Rpb24oKXt0aGlzLnNldG9mKG8pfSkpLGM9bi5kZWZpbmUoIlJETlNlcXVlbmNlIiwoZnVuY3Rpb24oKXt0aGlzLnNlcW9mKHUpfSkpLGY9bi5kZWZpbmUoIk5hbWUiLChmdW5jdGlvbigpe3RoaXMuY2hvaWNlKHtyZG5TZXF1ZW5jZTp0aGlzLnVzZShjKX0pfSkpLGQ9bi5kZWZpbmUoIlZhbGlkaXR5IiwoZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgibm90QmVmb3JlIikudXNlKGkpLHRoaXMua2V5KCJub3RBZnRlciIpLnVzZShpKSl9KSksbD1uLmRlZmluZSgiRXh0ZW5zaW9uIiwoZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgiZXh0bklEIikub2JqaWQoKSx0aGlzLmtleSgiY3JpdGljYWwiKS5ib29sKCkuZGVmKCExKSx0aGlzLmtleSgiZXh0blZhbHVlIikub2N0c3RyKCkpfSkpLGg9bi5kZWZpbmUoIlRCU0NlcnRpZmljYXRlIiwoZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgidmVyc2lvbiIpLmV4cGxpY2l0KDApLmludCgpLm9wdGlvbmFsKCksdGhpcy5rZXkoInNlcmlhbE51bWJlciIpLmludCgpLHRoaXMua2V5KCJzaWduYXR1cmUiKS51c2UoYSksdGhpcy5rZXkoImlzc3VlciIpLnVzZShmKSx0aGlzLmtleSgidmFsaWRpdHkiKS51c2UoZCksdGhpcy5rZXkoInN1YmplY3QiKS51c2UoZiksdGhpcy5rZXkoInN1YmplY3RQdWJsaWNLZXlJbmZvIikudXNlKHMpLHRoaXMua2V5KCJpc3N1ZXJVbmlxdWVJRCIpLmltcGxpY2l0KDEpLmJpdHN0cigpLm9wdGlvbmFsKCksdGhpcy5rZXkoInN1YmplY3RVbmlxdWVJRCIpLmltcGxpY2l0KDIpLmJpdHN0cigpLm9wdGlvbmFsKCksdGhpcy5rZXkoImV4dGVuc2lvbnMiKS5leHBsaWNpdCgzKS5zZXFvZihsKS5vcHRpb25hbCgpKX0pKSxwPW4uZGVmaW5lKCJYNTA5Q2VydGlmaWNhdGUiLChmdW5jdGlvbigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KCJ0YnNDZXJ0aWZpY2F0ZSIpLnVzZShoKSx0aGlzLmtleSgic2lnbmF0dXJlQWxnb3JpdGhtIikudXNlKGEpLHRoaXMua2V5KCJzaWduYXR1cmVWYWx1ZSIpLmJpdHN0cigpKX0pKTtlLmV4cG9ydHM9cH0sNDk4ODooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPS9Qcm9jLVR5cGU6IDQsRU5DUllQVEVEW1xuXHJdK0RFSy1JbmZvOiBBRVMtKCg/OjEyOCl8KD86MTkyKXwoPzoyNTYpKS1DQkMsKFswLTlBLUhdKylbXG5ccl0rKFswLTlBLXpcblxyKy89XSspW1xuXHJdKy9tLGk9L14tLS0tLUJFR0lOICgoPzouKj8gS0VZKXxDRVJUSUZJQ0FURSktLS0tLS9tLG89L14tLS0tLUJFR0lOICgoPzouKj8gS0VZKXxDRVJUSUZJQ0FURSktLS0tLShbMC05QS16XG5ccisvPV0rKS0tLS0tRU5EIFwxLS0tLS0kL20sYT1yKDcwODUpLHM9cig4MDczKSx1PXIoODg1MCkuQnVmZmVyO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciByLGM9ZS50b1N0cmluZygpLGY9Yy5tYXRjaChuKTtpZihmKXt2YXIgZD0iYWVzIitmWzFdLGw9dS5mcm9tKGZbMl0sImhleCIpLGg9dS5mcm9tKGZbM10ucmVwbGFjZSgvW1xyXG5dL2csIiIpLCJiYXNlNjQiKSxwPWEodCxsLnNsaWNlKDAsOCkscGFyc2VJbnQoZlsxXSwxMCkpLmtleSxiPVtdLHk9cy5jcmVhdGVEZWNpcGhlcml2KGQscCxsKTtiLnB1c2goeS51cGRhdGUoaCkpLGIucHVzaCh5LmZpbmFsKCkpLHI9dS5jb25jYXQoYil9ZWxzZXt2YXIgbT1jLm1hdGNoKG8pO3I9dS5mcm9tKG1bMl0ucmVwbGFjZSgvW1xyXG5dL2csIiIpLCJiYXNlNjQiKX1yZXR1cm57dGFnOmMubWF0Y2goaSlbMV0sZGF0YTpyfX19LDc1NTI6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpKHIoMzM1NSkpLGk9cigxODIzKSxvPXIoMjU2MiksYT1yKDQ5ODgpLHM9cig4MDczKSx1PXIoNDE5MiksYz1yKDg4NTApLkJ1ZmZlcjtmdW5jdGlvbiBmKGUpe3ZhciB0OyJvYmplY3QiIT09KDAsbi5kZWZhdWx0KShlKXx8Yy5pc0J1ZmZlcihlKXx8KHQ9ZS5wYXNzcGhyYXNlLGU9ZS5rZXkpLCJzdHJpbmciPT10eXBlb2YgZSYmKGU9Yy5mcm9tKGUpKTt2YXIgcixmLGQ9YShlLHQpLGw9ZC50YWcsaD1kLmRhdGE7c3dpdGNoKGwpe2Nhc2UiQ0VSVElGSUNBVEUiOmY9aS5jZXJ0aWZpY2F0ZS5kZWNvZGUoaCwiZGVyIikudGJzQ2VydGlmaWNhdGUuc3ViamVjdFB1YmxpY0tleUluZm87Y2FzZSJQVUJMSUMgS0VZIjpzd2l0Y2goZnx8KGY9aS5QdWJsaWNLZXkuZGVjb2RlKGgsImRlciIpKSxyPWYuYWxnb3JpdGhtLmFsZ29yaXRobS5qb2luKCIuIikpe2Nhc2UiMS4yLjg0MC4xMTM1NDkuMS4xLjEiOnJldHVybiBpLlJTQVB1YmxpY0tleS5kZWNvZGUoZi5zdWJqZWN0UHVibGljS2V5LmRhdGEsImRlciIpO2Nhc2UiMS4yLjg0MC4xMDA0NS4yLjEiOnJldHVybiBmLnN1YmplY3RQcml2YXRlS2V5PWYuc3ViamVjdFB1YmxpY0tleSx7dHlwZToiZWMiLGRhdGE6Zn07Y2FzZSIxLjIuODQwLjEwMDQwLjQuMSI6cmV0dXJuIGYuYWxnb3JpdGhtLnBhcmFtcy5wdWJfa2V5PWkuRFNBcGFyYW0uZGVjb2RlKGYuc3ViamVjdFB1YmxpY0tleS5kYXRhLCJkZXIiKSx7dHlwZToiZHNhIixkYXRhOmYuYWxnb3JpdGhtLnBhcmFtc307ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoInVua25vd24ga2V5IGlkICIrcil9Y2FzZSJFTkNSWVBURUQgUFJJVkFURSBLRVkiOmg9ZnVuY3Rpb24oZSx0KXt2YXIgcj1lLmFsZ29yaXRobS5kZWNyeXB0LmtkZS5rZGVwYXJhbXMuc2FsdCxuPXBhcnNlSW50KGUuYWxnb3JpdGhtLmRlY3J5cHQua2RlLmtkZXBhcmFtcy5pdGVycy50b1N0cmluZygpLDEwKSxpPW9bZS5hbGdvcml0aG0uZGVjcnlwdC5jaXBoZXIuYWxnby5qb2luKCIuIildLGE9ZS5hbGdvcml0aG0uZGVjcnlwdC5jaXBoZXIuaXYsZj1lLnN1YmplY3RQcml2YXRlS2V5LGQ9cGFyc2VJbnQoaS5zcGxpdCgiLSIpWzFdLDEwKS84LGw9dS5wYmtkZjJTeW5jKHQscixuLGQsInNoYTEiKSxoPXMuY3JlYXRlRGVjaXBoZXJpdihpLGwsYSkscD1bXTtyZXR1cm4gcC5wdXNoKGgudXBkYXRlKGYpKSxwLnB1c2goaC5maW5hbCgpKSxjLmNvbmNhdChwKX0oaD1pLkVuY3J5cHRlZFByaXZhdGVLZXkuZGVjb2RlKGgsImRlciIpLHQpO2Nhc2UiUFJJVkFURSBLRVkiOnN3aXRjaChyPShmPWkuUHJpdmF0ZUtleS5kZWNvZGUoaCwiZGVyIikpLmFsZ29yaXRobS5hbGdvcml0aG0uam9pbigiLiIpKXtjYXNlIjEuMi44NDAuMTEzNTQ5LjEuMS4xIjpyZXR1cm4gaS5SU0FQcml2YXRlS2V5LmRlY29kZShmLnN1YmplY3RQcml2YXRlS2V5LCJkZXIiKTtjYXNlIjEuMi44NDAuMTAwNDUuMi4xIjpyZXR1cm57Y3VydmU6Zi5hbGdvcml0aG0uY3VydmUscHJpdmF0ZUtleTppLkVDUHJpdmF0ZUtleS5kZWNvZGUoZi5zdWJqZWN0UHJpdmF0ZUtleSwiZGVyIikucHJpdmF0ZUtleX07Y2FzZSIxLjIuODQwLjEwMDQwLjQuMSI6cmV0dXJuIGYuYWxnb3JpdGhtLnBhcmFtcy5wcml2X2tleT1pLkRTQXBhcmFtLmRlY29kZShmLnN1YmplY3RQcml2YXRlS2V5LCJkZXIiKSx7dHlwZToiZHNhIixwYXJhbXM6Zi5hbGdvcml0aG0ucGFyYW1zfTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigidW5rbm93biBrZXkgaWQgIityKX1jYXNlIlJTQSBQVUJMSUMgS0VZIjpyZXR1cm4gaS5SU0FQdWJsaWNLZXkuZGVjb2RlKGgsImRlciIpO2Nhc2UiUlNBIFBSSVZBVEUgS0VZIjpyZXR1cm4gaS5SU0FQcml2YXRlS2V5LmRlY29kZShoLCJkZXIiKTtjYXNlIkRTQSBQUklWQVRFIEtFWSI6cmV0dXJue3R5cGU6ImRzYSIscGFyYW1zOmkuRFNBUHJpdmF0ZUtleS5kZWNvZGUoaCwiZGVyIil9O2Nhc2UiRUMgUFJJVkFURSBLRVkiOnJldHVybntjdXJ2ZTooaD1pLkVDUHJpdmF0ZUtleS5kZWNvZGUoaCwiZGVyIikpLnBhcmFtZXRlcnMudmFsdWUscHJpdmF0ZUtleTpoLnByaXZhdGVLZXl9O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIGtleSB0eXBlICIrbCl9fWUuZXhwb3J0cz1mLGYuc2lnbmF0dXJlPWkuc2lnbmF0dXJlfSw4MjA5OmU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgvXlxzK3xccyskL2csIiIpfTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJue307Zm9yKHZhciByLG49e30saT10KGUpLnNwbGl0KCJcbiIpLG89MDtvPGkubGVuZ3RoO28rKyl7dmFyIGE9aVtvXSxzPWEuaW5kZXhPZigiOiIpLHU9dChhLnNsaWNlKDAscykpLnRvTG93ZXJDYXNlKCksYz10KGEuc2xpY2UocysxKSk7dm9pZCAwPT09blt1XT9uW3VdPWM6KHI9blt1XSwiW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpP25bdV0ucHVzaChjKTpuW3VdPVtuW3VdLGNdKX1yZXR1cm4gbn19LDQxOTI6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt0LnBia2RmMj1yKDE4ODIpLHQucGJrZGYyU3luYz1yKDE2NTgpfSwxODgyOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG4saSxvPXIoODg1MCkuQnVmZmVyLGE9cigzMTI3KSxzPXIoNzQwMSksdT1yKDE2NTgpLGM9cig4Mzk4KSxmPXIuZy5jcnlwdG8mJnIuZy5jcnlwdG8uc3VidGxlLGQ9e3NoYToiU0hBLTEiLCJzaGEtMSI6IlNIQS0xIixzaGExOiJTSEEtMSIsc2hhMjU2OiJTSEEtMjU2Iiwic2hhLTI1NiI6IlNIQS0yNTYiLHNoYTM4NDoiU0hBLTM4NCIsInNoYS0zODQiOiJTSEEtMzg0Iiwic2hhLTUxMiI6IlNIQS01MTIiLHNoYTUxMjoiU0hBLTUxMiJ9LGw9W107ZnVuY3Rpb24gaCgpe3JldHVybiBpfHwoaT1yLmcucHJvY2VzcyYmci5nLnByb2Nlc3MubmV4dFRpY2s/ci5nLnByb2Nlc3MubmV4dFRpY2s6ci5nLnF1ZXVlTWljcm90YXNrP3IuZy5xdWV1ZU1pY3JvdGFzazpyLmcuc2V0SW1tZWRpYXRlP3IuZy5zZXRJbW1lZGlhdGU6ci5nLnNldFRpbWVvdXQpfWZ1bmN0aW9uIHAoZSx0LHIsbixpKXtyZXR1cm4gZi5pbXBvcnRLZXkoInJhdyIsZSx7bmFtZToiUEJLREYyIn0sITEsWyJkZXJpdmVCaXRzIl0pLnRoZW4oKGZ1bmN0aW9uKGUpe3JldHVybiBmLmRlcml2ZUJpdHMoe25hbWU6IlBCS0RGMiIsc2FsdDp0LGl0ZXJhdGlvbnM6cixoYXNoOntuYW1lOml9fSxlLG48PDMpfSkpLnRoZW4oKGZ1bmN0aW9uKGUpe3JldHVybiBvLmZyb20oZSl9KSl9ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxpLGIseSxtKXsiZnVuY3Rpb24iPT10eXBlb2YgeSYmKG09eSx5PXZvaWQgMCk7dmFyIHY9ZFsoeT15fHwic2hhMSIpLnRvTG93ZXJDYXNlKCldO2lmKHYmJiJmdW5jdGlvbiI9PXR5cGVvZiByLmcuUHJvbWlzZSl7aWYoYShpLGIpLGU9YyhlLHMsIlBhc3N3b3JkIiksdD1jKHQscywiU2FsdCIpLCJmdW5jdGlvbiIhPXR5cGVvZiBtKXRocm93IG5ldyBFcnJvcigiTm8gY2FsbGJhY2sgcHJvdmlkZWQgdG8gcGJrZGYyIik7IWZ1bmN0aW9uKGUsdCl7ZS50aGVuKChmdW5jdGlvbihlKXtoKCkoKGZ1bmN0aW9uKCl7dChudWxsLGUpfSkpfSksKGZ1bmN0aW9uKGUpe2goKSgoZnVuY3Rpb24oKXt0KGUpfSkpfSkpfShmdW5jdGlvbihlKXtpZihyLmcucHJvY2VzcyYmIXIuZy5wcm9jZXNzLmJyb3dzZXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSghMSk7aWYoIWZ8fCFmLmltcG9ydEtleXx8IWYuZGVyaXZlQml0cylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCExKTtpZih2b2lkIDAhPT1sW2VdKXJldHVybiBsW2VdO3ZhciB0PXAobj1ufHxvLmFsbG9jKDgpLG4sMTAsMTI4LGUpLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuITB9KSkuY2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuITF9KSk7cmV0dXJuIGxbZV09dCx0fSh2KS50aGVuKChmdW5jdGlvbihyKXtyZXR1cm4gcj9wKGUsdCxpLGIsdik6dShlLHQsaSxiLHkpfSkpLG0pfWVsc2UgaCgpKChmdW5jdGlvbigpe3ZhciByO3RyeXtyPXUoZSx0LGksYix5KX1jYXRjaChlKXtyZXR1cm4gbShlKX1tKG51bGwscil9KSl9fSw3NDAxOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG4saT1yKDkxNDIpO249ci5nLnByb2Nlc3MmJnIuZy5wcm9jZXNzLmJyb3dzZXI/InV0Zi04IjpyLmcucHJvY2VzcyYmci5nLnByb2Nlc3MudmVyc2lvbj9wYXJzZUludChpLnZlcnNpb24uc3BsaXQoIi4iKVswXS5zbGljZSgxKSwxMCk+PTY/InV0Zi04IjoiYmluYXJ5IjoidXRmLTgiLGUuZXhwb3J0cz1ufSwzMTI3OmU9PnsidXNlIHN0cmljdCI7dmFyIHQ9TWF0aC5wb3coMiwzMCktMTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSxyKXtpZigibnVtYmVyIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiSXRlcmF0aW9ucyBub3QgYSBudW1iZXIiKTtpZihlPDApdGhyb3cgbmV3IFR5cGVFcnJvcigiQmFkIGl0ZXJhdGlvbnMiKTtpZigibnVtYmVyIiE9dHlwZW9mIHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiS2V5IGxlbmd0aCBub3QgYSBudW1iZXIiKTtpZihyPDB8fHI+dHx8ciE9cil0aHJvdyBuZXcgVHlwZUVycm9yKCJCYWQga2V5IGxlbmd0aCIpfX0sMTY1ODooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoNTM0OSksaT1yKDY3MDcpLG89cigxNzA4KSxhPXIoODg1MCkuQnVmZmVyLHM9cigzMTI3KSx1PXIoNzQwMSksYz1yKDgzOTgpLGY9YS5hbGxvYygxMjgpLGQ9e21kNToxNixzaGExOjIwLHNoYTIyNDoyOCxzaGEyNTY6MzIsc2hhMzg0OjQ4LHNoYTUxMjo2NCxybWQxNjA6MjAscmlwZW1kMTYwOjIwfTtmdW5jdGlvbiBsKGUsdCxyKXt2YXIgcz1mdW5jdGlvbihlKXtyZXR1cm4icm1kMTYwIj09PWV8fCJyaXBlbWQxNjAiPT09ZT9mdW5jdGlvbihlKXtyZXR1cm4obmV3IGkpLnVwZGF0ZShlKS5kaWdlc3QoKX06Im1kNSI9PT1lP246ZnVuY3Rpb24odCl7cmV0dXJuIG8oZSkudXBkYXRlKHQpLmRpZ2VzdCgpfX0oZSksdT0ic2hhNTEyIj09PWV8fCJzaGEzODQiPT09ZT8xMjg6NjQ7dC5sZW5ndGg+dT90PXModCk6dC5sZW5ndGg8dSYmKHQ9YS5jb25jYXQoW3QsZl0sdSkpO2Zvcih2YXIgYz1hLmFsbG9jVW5zYWZlKHUrZFtlXSksbD1hLmFsbG9jVW5zYWZlKHUrZFtlXSksaD0wO2g8dTtoKyspY1toXT01NF50W2hdLGxbaF09OTJedFtoXTt2YXIgcD1hLmFsbG9jVW5zYWZlKHUrcis0KTtjLmNvcHkocCwwLDAsdSksdGhpcy5pcGFkMT1wLHRoaXMuaXBhZDI9Yyx0aGlzLm9wYWQ9bCx0aGlzLmFsZz1lLHRoaXMuYmxvY2tzaXplPXUsdGhpcy5oYXNoPXMsdGhpcy5zaXplPWRbZV19bC5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuY29weSh0LHRoaXMuYmxvY2tzaXplKSx0aGlzLmhhc2godCkuY29weSh0aGlzLm9wYWQsdGhpcy5ibG9ja3NpemUpLHRoaXMuaGFzaCh0aGlzLm9wYWQpfSxlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LHIsbixpKXtzKHIsbik7dmFyIG89bmV3IGwoaT1pfHwic2hhMSIsZT1jKGUsdSwiUGFzc3dvcmQiKSwodD1jKHQsdSwiU2FsdCIpKS5sZW5ndGgpLGY9YS5hbGxvY1Vuc2FmZShuKSxoPWEuYWxsb2NVbnNhZmUodC5sZW5ndGgrNCk7dC5jb3B5KGgsMCwwLHQubGVuZ3RoKTtmb3IodmFyIHA9MCxiPWRbaV0seT1NYXRoLmNlaWwobi9iKSxtPTE7bTw9eTttKyspe2gud3JpdGVVSW50MzJCRShtLHQubGVuZ3RoKTtmb3IodmFyIHY9by5ydW4oaCxvLmlwYWQxKSxnPXYsdz0xO3c8cjt3Kyspe2c9by5ydW4oZyxvLmlwYWQyKTtmb3IodmFyIEE9MDtBPGI7QSsrKXZbQV1ePWdbQV19di5jb3B5KGYscCkscCs9Yn1yZXR1cm4gZn19LDgzOTg6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NTApLkJ1ZmZlcjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LHIpe2lmKG4uaXNCdWZmZXIoZSkpcmV0dXJuIGU7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBuLmZyb20oZSx0KTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcoZSkpcmV0dXJuIG4uZnJvbShlLmJ1ZmZlcik7dGhyb3cgbmV3IFR5cGVFcnJvcihyKyIgbXVzdCBiZSBhIHN0cmluZywgYSBCdWZmZXIsIGEgdHlwZWQgYXJyYXkgb3IgYSBEYXRhVmlldyIpfX0sOTE0MjplPT57InVzZSBzdHJpY3QiO3ZhciB0LHIsbj1lLmV4cG9ydHM9e307ZnVuY3Rpb24gaSgpe3Rocm93IG5ldyBFcnJvcigic2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uIG8oKXt0aHJvdyBuZXcgRXJyb3IoImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uIGEoZSl7aWYodD09PXNldFRpbWVvdXQpcmV0dXJuIHNldFRpbWVvdXQoZSwwKTtpZigodD09PWl8fCF0KSYmc2V0VGltZW91dClyZXR1cm4gdD1zZXRUaW1lb3V0LHNldFRpbWVvdXQoZSwwKTt0cnl7cmV0dXJuIHQoZSwwKX1jYXRjaChyKXt0cnl7cmV0dXJuIHQuY2FsbChudWxsLGUsMCl9Y2F0Y2gocil7cmV0dXJuIHQuY2FsbCh0aGlzLGUsMCl9fX0hZnVuY3Rpb24oKXt0cnl7dD0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Oml9Y2F0Y2goZSl7dD1pfXRyeXtyPSJmdW5jdGlvbiI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0Om99Y2F0Y2goZSl7cj1vfX0oKTt2YXIgcyx1PVtdLGM9ITEsZj0tMTtmdW5jdGlvbiBkKCl7YyYmcyYmKGM9ITEscy5sZW5ndGg/dT1zLmNvbmNhdCh1KTpmPS0xLHUubGVuZ3RoJiZsKCkpfWZ1bmN0aW9uIGwoKXtpZighYyl7dmFyIGU9YShkKTtjPSEwO2Zvcih2YXIgdD11Lmxlbmd0aDt0Oyl7Zm9yKHM9dSx1PVtdOysrZjx0OylzJiZzW2ZdLnJ1bigpO2Y9LTEsdD11Lmxlbmd0aH1zPW51bGwsYz0hMSxmdW5jdGlvbihlKXtpZihyPT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQoZSk7aWYoKHI9PT1vfHwhcikmJmNsZWFyVGltZW91dClyZXR1cm4gcj1jbGVhclRpbWVvdXQsY2xlYXJUaW1lb3V0KGUpO3RyeXtyKGUpfWNhdGNoKHQpe3RyeXtyZXR1cm4gci5jYWxsKG51bGwsZSl9Y2F0Y2godCl7cmV0dXJuIHIuY2FsbCh0aGlzLGUpfX19KGUpfX1mdW5jdGlvbiBoKGUsdCl7dGhpcy5mdW49ZSx0aGlzLmFycmF5PXR9ZnVuY3Rpb24gcCgpe31uLm5leHRUaWNrPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSlmb3IodmFyIHI9MTtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXRbci0xXT1hcmd1bWVudHNbcl07dS5wdXNoKG5ldyBoKGUsdCkpLDEhPT11Lmxlbmd0aHx8Y3x8YShsKX0saC5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKCl7dGhpcy5mdW4uYXBwbHkobnVsbCx0aGlzLmFycmF5KX0sbi50aXRsZT0iYnJvd3NlciIsbi5icm93c2VyPSEwLG4uZW52PXt9LG4uYXJndj1bXSxuLnZlcnNpb249IiIsbi52ZXJzaW9ucz17fSxuLm9uPXAsbi5hZGRMaXN0ZW5lcj1wLG4ub25jZT1wLG4ub2ZmPXAsbi5yZW1vdmVMaXN0ZW5lcj1wLG4ucmVtb3ZlQWxsTGlzdGVuZXJzPXAsbi5lbWl0PXAsbi5wcmVwZW5kTGlzdGVuZXI9cCxuLnByZXBlbmRPbmNlTGlzdGVuZXI9cCxuLmxpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm5bXX0sbi5iaW5kaW5nPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcigicHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQiKX0sbi5jd2Q9ZnVuY3Rpb24oKXtyZXR1cm4iLyJ9LG4uY2hkaXI9ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQiKX0sbi51bWFzaz1mdW5jdGlvbigpe3JldHVybiAwfX0sNjk5MTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3QucHVibGljRW5jcnlwdD1yKDI0NjYpLHQucHJpdmF0ZURlY3J5cHQ9cigzMTQ0KSx0LnByaXZhdGVFbmNyeXB0PWZ1bmN0aW9uKGUscil7cmV0dXJuIHQucHVibGljRW5jcnlwdChlLHIsITApfSx0LnB1YmxpY0RlY3J5cHQ9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5wcml2YXRlRGVjcnlwdChlLHIsITApfX0sNjg3MzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoNTg2NiksaT1yKDg4NTApLkJ1ZmZlcjtmdW5jdGlvbiBvKGUpe3ZhciB0PWkuYWxsb2NVbnNhZmUoNCk7cmV0dXJuIHQud3JpdGVVSW50MzJCRShlLDApLHR9ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByLGE9aS5hbGxvYygwKSxzPTA7YS5sZW5ndGg8dDspcj1vKHMrKyksYT1pLmNvbmNhdChbYSxuKCJzaGExIikudXBkYXRlKGUpLnVwZGF0ZShyKS5kaWdlc3QoKV0pO3JldHVybiBhLnNsaWNlKDAsdCl9fSwzMTQ0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig3NTUyKSxpPXIoNjg3Myksbz1yKDgxNyksYT1yKDE3MzQpLHM9cig5NzgyKSx1PXIoNTg2NiksYz1yKDI1NjEpLGY9cig4ODUwKS5CdWZmZXI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxyKXt2YXIgZDtkPWUucGFkZGluZz9lLnBhZGRpbmc6cj8xOjQ7dmFyIGwsaD1uKGUpLHA9aC5tb2R1bHVzLmJ5dGVMZW5ndGgoKTtpZih0Lmxlbmd0aD5wfHxuZXcgYSh0KS5jbXAoaC5tb2R1bHVzKT49MCl0aHJvdyBuZXcgRXJyb3IoImRlY3J5cHRpb24gZXJyb3IiKTtsPXI/YyhuZXcgYSh0KSxoKTpzKHQsaCk7dmFyIGI9Zi5hbGxvYyhwLWwubGVuZ3RoKTtpZihsPWYuY29uY2F0KFtiLGxdLHApLDQ9PT1kKXJldHVybiBmdW5jdGlvbihlLHQpe3ZhciByPWUubW9kdWx1cy5ieXRlTGVuZ3RoKCksbj11KCJzaGExIikudXBkYXRlKGYuYWxsb2MoMCkpLmRpZ2VzdCgpLGE9bi5sZW5ndGg7aWYoMCE9PXRbMF0pdGhyb3cgbmV3IEVycm9yKCJkZWNyeXB0aW9uIGVycm9yIik7dmFyIHM9dC5zbGljZSgxLGErMSksYz10LnNsaWNlKGErMSksZD1vKHMsaShjLGEpKSxsPW8oYyxpKGQsci1hLTEpKTtpZihmdW5jdGlvbihlLHQpe2U9Zi5mcm9tKGUpLHQ9Zi5mcm9tKHQpO3ZhciByPTAsbj1lLmxlbmd0aDtlLmxlbmd0aCE9PXQubGVuZ3RoJiYocisrLG49TWF0aC5taW4oZS5sZW5ndGgsdC5sZW5ndGgpKTtmb3IodmFyIGk9LTE7KytpPG47KXIrPWVbaV1edFtpXTtyZXR1cm4gcn0obixsLnNsaWNlKDAsYSkpKXRocm93IG5ldyBFcnJvcigiZGVjcnlwdGlvbiBlcnJvciIpO2Zvcih2YXIgaD1hOzA9PT1sW2hdOyloKys7aWYoMSE9PWxbaCsrXSl0aHJvdyBuZXcgRXJyb3IoImRlY3J5cHRpb24gZXJyb3IiKTtyZXR1cm4gbC5zbGljZShoKX0oaCxsKTtpZigxPT09ZClyZXR1cm4gZnVuY3Rpb24oZSx0LHIpe2Zvcih2YXIgbj10LnNsaWNlKDAsMiksaT0yLG89MDswIT09dFtpKytdOylpZihpPj10Lmxlbmd0aCl7bysrO2JyZWFrfXZhciBhPXQuc2xpY2UoMixpLTEpO2lmKCgiMDAwMiIhPT1uLnRvU3RyaW5nKCJoZXgiKSYmIXJ8fCIwMDAxIiE9PW4udG9TdHJpbmcoImhleCIpJiZyKSYmbysrLGEubGVuZ3RoPDgmJm8rKyxvKXRocm93IG5ldyBFcnJvcigiZGVjcnlwdGlvbiBlcnJvciIpO3JldHVybiB0LnNsaWNlKGkpfSgwLGwscik7aWYoMz09PWQpcmV0dXJuIGw7dGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHBhZGRpbmciKX19LDI0NjY6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDc1NTIpLGk9cig1MDEwKSxvPXIoNTg2NiksYT1yKDY4NzMpLHM9cig4MTcpLHU9cigxNzM0KSxjPXIoMjU2MSksZj1yKDk3ODIpLGQ9cig4ODUwKS5CdWZmZXI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxyKXt2YXIgbDtsPWUucGFkZGluZz9lLnBhZGRpbmc6cj8xOjQ7dmFyIGgscD1uKGUpO2lmKDQ9PT1sKWg9ZnVuY3Rpb24oZSx0KXt2YXIgcj1lLm1vZHVsdXMuYnl0ZUxlbmd0aCgpLG49dC5sZW5ndGgsYz1vKCJzaGExIikudXBkYXRlKGQuYWxsb2MoMCkpLmRpZ2VzdCgpLGY9Yy5sZW5ndGgsbD0yKmY7aWYobj5yLWwtMil0aHJvdyBuZXcgRXJyb3IoIm1lc3NhZ2UgdG9vIGxvbmciKTt2YXIgaD1kLmFsbG9jKHItbi1sLTIpLHA9ci1mLTEsYj1pKGYpLHk9cyhkLmNvbmNhdChbYyxoLGQuYWxsb2MoMSwxKSx0XSxwKSxhKGIscCkpLG09cyhiLGEoeSxmKSk7cmV0dXJuIG5ldyB1KGQuY29uY2F0KFtkLmFsbG9jKDEpLG0seV0scikpfShwLHQpO2Vsc2UgaWYoMT09PWwpaD1mdW5jdGlvbihlLHQscil7dmFyIG4sbz10Lmxlbmd0aCxhPWUubW9kdWx1cy5ieXRlTGVuZ3RoKCk7aWYobz5hLTExKXRocm93IG5ldyBFcnJvcigibWVzc2FnZSB0b28gbG9uZyIpO3JldHVybiBuPXI/ZC5hbGxvYyhhLW8tMywyNTUpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxyPWQuYWxsb2NVbnNhZmUoZSksbj0wLG89aSgyKmUpLGE9MDtuPGU7KWE9PT1vLmxlbmd0aCYmKG89aSgyKmUpLGE9MCksKHQ9b1thKytdKSYmKHJbbisrXT10KTtyZXR1cm4gcn0oYS1vLTMpLG5ldyB1KGQuY29uY2F0KFtkLmZyb20oWzAscj8xOjJdKSxuLGQuYWxsb2MoMSksdF0sYSkpfShwLHQscik7ZWxzZXtpZigzIT09bCl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gcGFkZGluZyIpO2lmKChoPW5ldyB1KHQpKS5jbXAocC5tb2R1bHVzKT49MCl0aHJvdyBuZXcgRXJyb3IoImRhdGEgdG9vIGxvbmcgZm9yIG1vZHVsdXMiKX1yZXR1cm4gcj9mKGgscCk6YyhoLHApfX0sMjU2MTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoMTczNCksaT1yKDg4NTApLkJ1ZmZlcjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gaS5mcm9tKGUudG9SZWQobi5tb250KHQubW9kdWx1cykpLnJlZFBvdyhuZXcgbih0LnB1YmxpY0V4cG9uZW50KSkuZnJvbVJlZCgpLnRvQXJyYXkoKSl9fSw4MTc6ZT0+eyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9ZS5sZW5ndGgsbj0tMTsrK248cjspZVtuXV49dFtuXTtyZXR1cm4gZX19LDUwMTA6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDkxNDIpLGk9NjU1MzYsbz1yKDg4NTApLkJ1ZmZlcixhPXIuZy5jcnlwdG98fHIuZy5tc0NyeXB0bzthJiZhLmdldFJhbmRvbVZhbHVlcz9lLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtpZihlPjQyOTQ5NjcyOTUpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInJlcXVlc3RlZCB0b28gbWFueSByYW5kb20gYnl0ZXMiKTt2YXIgcj1vLmFsbG9jVW5zYWZlKGUpO2lmKGU+MClpZihlPmkpZm9yKHZhciBzPTA7czxlO3MrPWkpYS5nZXRSYW5kb21WYWx1ZXMoci5zbGljZShzLHMraSkpO2Vsc2UgYS5nZXRSYW5kb21WYWx1ZXMocik7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQ/bi5uZXh0VGljaygoZnVuY3Rpb24oKXt0KG51bGwscil9KSk6cn06ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJTZWN1cmUgcmFuZG9tIG51bWJlciBnZW5lcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBicm93c2VyLlxuVXNlIENocm9tZSwgRmlyZWZveCBvciBJbnRlcm5ldCBFeHBsb3JlciAxMSIpfX0sNjUwOTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTE0Mik7ZnVuY3Rpb24gaSgpe3Rocm93IG5ldyBFcnJvcigic2VjdXJlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdGlvbiBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgYnJvd3NlclxudXNlIGNocm9tZSwgRmlyZUZveCBvciBJbnRlcm5ldCBFeHBsb3JlciAxMSIpfXZhciBvPXIoODg1MCksYT1yKDUwMTApLHM9by5CdWZmZXIsdT1vLmtNYXhMZW5ndGgsYz1yLmcuY3J5cHRvfHxyLmcubXNDcnlwdG8sZj1NYXRoLnBvdygyLDMyKS0xO2Z1bmN0aW9uIGQoZSx0KXtpZigibnVtYmVyIiE9dHlwZW9mIGV8fGUhPWUpdGhyb3cgbmV3IFR5cGVFcnJvcigib2Zmc2V0IG11c3QgYmUgYSBudW1iZXIiKTtpZihlPmZ8fGU8MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJvZmZzZXQgbXVzdCBiZSBhIHVpbnQzMiIpO2lmKGU+dXx8ZT50KXRocm93IG5ldyBSYW5nZUVycm9yKCJvZmZzZXQgb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24gbChlLHQscil7aWYoIm51bWJlciIhPXR5cGVvZiBlfHxlIT1lKXRocm93IG5ldyBUeXBlRXJyb3IoInNpemUgbXVzdCBiZSBhIG51bWJlciIpO2lmKGU+Znx8ZTwwKXRocm93IG5ldyBUeXBlRXJyb3IoInNpemUgbXVzdCBiZSBhIHVpbnQzMiIpO2lmKGUrdD5yfHxlPnUpdGhyb3cgbmV3IFJhbmdlRXJyb3IoImJ1ZmZlciB0b28gc21hbGwiKX1mdW5jdGlvbiBoKGUsdCxyLGkpe2lmKG4uYnJvd3Nlcil7dmFyIG89ZS5idWZmZXIscz1uZXcgVWludDhBcnJheShvLHQscik7cmV0dXJuIGMuZ2V0UmFuZG9tVmFsdWVzKHMpLGk/dm9pZCBuLm5leHRUaWNrKChmdW5jdGlvbigpe2kobnVsbCxlKX0pKTplfWlmKCFpKXJldHVybiBhKHIpLmNvcHkoZSx0KSxlO2EociwoZnVuY3Rpb24ocixuKXtpZihyKXJldHVybiBpKHIpO24uY29weShlLHQpLGkobnVsbCxlKX0pKX1jJiZjLmdldFJhbmRvbVZhbHVlc3x8IW4uYnJvd3Nlcj8odC5yYW5kb21GaWxsPWZ1bmN0aW9uKGUsdCxuLGkpe2lmKCEocy5pc0J1ZmZlcihlKXx8ZSBpbnN0YW5jZW9mIHIuZy5VaW50OEFycmF5KSl0aHJvdyBuZXcgVHlwZUVycm9yKCciYnVmIiBhcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIG9yIFVpbnQ4QXJyYXknKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdClpPXQsdD0wLG49ZS5sZW5ndGg7ZWxzZSBpZigiZnVuY3Rpb24iPT10eXBlb2YgbilpPW4sbj1lLmxlbmd0aC10O2Vsc2UgaWYoImZ1bmN0aW9uIiE9dHlwZW9mIGkpdGhyb3cgbmV3IFR5cGVFcnJvcignImNiIiBhcmd1bWVudCBtdXN0IGJlIGEgZnVuY3Rpb24nKTtyZXR1cm4gZCh0LGUubGVuZ3RoKSxsKG4sdCxlLmxlbmd0aCksaChlLHQsbixpKX0sdC5yYW5kb21GaWxsU3luYz1mdW5jdGlvbihlLHQsbil7aWYodm9pZCAwPT09dCYmKHQ9MCksIShzLmlzQnVmZmVyKGUpfHxlIGluc3RhbmNlb2Ygci5nLlVpbnQ4QXJyYXkpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJidWYiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgb3IgVWludDhBcnJheScpO3JldHVybiBkKHQsZS5sZW5ndGgpLHZvaWQgMD09PW4mJihuPWUubGVuZ3RoLXQpLGwobix0LGUubGVuZ3RoKSxoKGUsdCxuKX0pOih0LnJhbmRvbUZpbGw9aSx0LnJhbmRvbUZpbGxTeW5jPWkpfSw5MDI0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KShyKDMzNTUpKSxpPXt9O2Z1bmN0aW9uIG8oZSx0LHIpe3J8fChyPUVycm9yKTt2YXIgbj1mdW5jdGlvbihlKXt2YXIgcixuO2Z1bmN0aW9uIGkocixuLGkpe3JldHVybiBlLmNhbGwodGhpcyxmdW5jdGlvbihlLHIsbil7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3Q6dChlLHIsbil9KHIsbixpKSl8fHRoaXN9cmV0dXJuIG49ZSwocj1pKS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShuLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLl9fcHJvdG9fXz1uLGl9KHIpO24ucHJvdG90eXBlLm5hbWU9ci5uYW1lLG4ucHJvdG90eXBlLmNvZGU9ZSxpW2VdPW59ZnVuY3Rpb24gYShlLHQpe2lmKEFycmF5LmlzQXJyYXkoZSkpe3ZhciByPWUubGVuZ3RoO3JldHVybiBlPWUubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gU3RyaW5nKGUpfSkpLHI+Mj8ib25lIG9mICIuY29uY2F0KHQsIiAiKS5jb25jYXQoZS5zbGljZSgwLHItMSkuam9pbigiLCAiKSwiLCBvciAiKStlW3ItMV06Mj09PXI/Im9uZSBvZiAiLmNvbmNhdCh0LCIgIikuY29uY2F0KGVbMF0sIiBvciAiKS5jb25jYXQoZVsxXSk6Im9mICIuY29uY2F0KHQsIiAiKS5jb25jYXQoZVswXSl9cmV0dXJuIm9mICIuY29uY2F0KHQsIiAiKS5jb25jYXQoU3RyaW5nKGUpKX1vKCJFUlJfSU5WQUxJRF9PUFRfVkFMVUUiLChmdW5jdGlvbihlLHQpe3JldHVybidUaGUgdmFsdWUgIicrdCsnIiBpcyBpbnZhbGlkIGZvciBvcHRpb24gIicrZSsnIid9KSxUeXBlRXJyb3IpLG8oIkVSUl9JTlZBTElEX0FSR19UWVBFIiwoZnVuY3Rpb24oZSx0LHIpe3ZhciBpLG8scyx1LGM7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYobz0ibm90ICIsdC5zdWJzdHIoMCxvLmxlbmd0aCk9PT1vKT8oaT0ibXVzdCBub3QgYmUiLHQ9dC5yZXBsYWNlKC9ebm90IC8sIiIpKTppPSJtdXN0IGJlIixmdW5jdGlvbihlLHQscil7cmV0dXJuKHZvaWQgMD09PXJ8fHI+ZS5sZW5ndGgpJiYocj1lLmxlbmd0aCksZS5zdWJzdHJpbmcoci10Lmxlbmd0aCxyKT09PXR9KGUsIiBhcmd1bWVudCIpKXM9IlRoZSAiLmNvbmNhdChlLCIgIikuY29uY2F0KGksIiAiKS5jb25jYXQoYSh0LCJ0eXBlIikpO2Vsc2V7dmFyIGY9KCJudW1iZXIiIT10eXBlb2YgYyYmKGM9MCksYysiLiIubGVuZ3RoPih1PWUpLmxlbmd0aHx8LTE9PT11LmluZGV4T2YoIi4iLGMpPyJhcmd1bWVudCI6InByb3BlcnR5Iik7cz0nVGhlICInLmNvbmNhdChlLCciICcpLmNvbmNhdChmLCIgIikuY29uY2F0KGksIiAiKS5jb25jYXQoYSh0LCJ0eXBlIikpfXJldHVybiBzKyIuIFJlY2VpdmVkIHR5cGUgIi5jb25jYXQoKDAsbi5kZWZhdWx0KShyKSl9KSxUeXBlRXJyb3IpLG8oIkVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YiLCJzdHJlYW0ucHVzaCgpIGFmdGVyIEVPRiIpLG8oIkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEIiwoZnVuY3Rpb24oZSl7cmV0dXJuIlRoZSAiK2UrIiBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkIn0pKSxvKCJFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRSIsIlByZW1hdHVyZSBjbG9zZSIpLG8oIkVSUl9TVFJFQU1fREVTVFJPWUVEIiwoZnVuY3Rpb24oZSl7cmV0dXJuIkNhbm5vdCBjYWxsICIrZSsiIGFmdGVyIGEgc3RyZWFtIHdhcyBkZXN0cm95ZWQifSkpLG8oIkVSUl9NVUxUSVBMRV9DQUxMQkFDSyIsIkNhbGxiYWNrIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyIpLG8oIkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUiLCJDYW5ub3QgcGlwZSwgbm90IHJlYWRhYmxlIiksbygiRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQiLCJ3cml0ZSBhZnRlciBlbmQiKSxvKCJFUlJfU1RSRUFNX05VTExfVkFMVUVTIiwiTWF5IG5vdCB3cml0ZSBudWxsIHZhbHVlcyB0byBzdHJlYW0iLFR5cGVFcnJvciksbygiRVJSX1VOS05PV05fRU5DT0RJTkciLChmdW5jdGlvbihlKXtyZXR1cm4iVW5rbm93biBlbmNvZGluZzogIitlfSksVHlwZUVycm9yKSxvKCJFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UIiwic3RyZWFtLnVuc2hpZnQoKSBhZnRlciBlbmQgZXZlbnQiKSxlLmV4cG9ydHMucT1pfSw2ODg0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MTQyKSxpPU9iamVjdC5rZXlzfHxmdW5jdGlvbihlKXt2YXIgdD1bXTtmb3IodmFyIHIgaW4gZSl0LnB1c2gocik7cmV0dXJuIHR9O2UuZXhwb3J0cz1mO3ZhciBvPXIoNjI5NyksYT1yKDE0NzEpO3IoMTczNikoZixvKTtmb3IodmFyIHM9aShhLnByb3RvdHlwZSksdT0wO3U8cy5sZW5ndGg7dSsrKXt2YXIgYz1zW3VdO2YucHJvdG90eXBlW2NdfHwoZi5wcm90b3R5cGVbY109YS5wcm90b3R5cGVbY10pfWZ1bmN0aW9uIGYoZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgZikpcmV0dXJuIG5ldyBmKGUpO28uY2FsbCh0aGlzLGUpLGEuY2FsbCh0aGlzLGUpLHRoaXMuYWxsb3dIYWxmT3Blbj0hMCxlJiYoITE9PT1lLnJlYWRhYmxlJiYodGhpcy5yZWFkYWJsZT0hMSksITE9PT1lLndyaXRhYmxlJiYodGhpcy53cml0YWJsZT0hMSksITE9PT1lLmFsbG93SGFsZk9wZW4mJih0aGlzLmFsbG93SGFsZk9wZW49ITEsdGhpcy5vbmNlKCJlbmQiLGQpKSl9ZnVuY3Rpb24gZCgpe3RoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWR8fG4ubmV4dFRpY2sobCx0aGlzKX1mdW5jdGlvbiBsKGUpe2UuZW5kKCl9T2JqZWN0LmRlZmluZVByb3BlcnR5KGYucHJvdG90eXBlLCJ3cml0YWJsZUhpZ2hXYXRlck1hcmsiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGYucHJvdG90eXBlLCJ3cml0YWJsZUJ1ZmZlciIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGYucHJvdG90eXBlLCJ3cml0YWJsZUxlbmd0aCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RofX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLnByb3RvdHlwZSwiZGVzdHJveWVkIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24oZSl7dm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPWUsdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZSl9fSl9LDM1ODI6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9aTt2YXIgbj1yKDkxNTQpO2Z1bmN0aW9uIGkoZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgaSkpcmV0dXJuIG5ldyBpKGUpO24uY2FsbCh0aGlzLGUpfXIoMTczNikoaSxuKSxpLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKGUsdCxyKXtyKG51bGwsZSl9fSw2Mjk3OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG4saT1yKDkxNDIpO2UuZXhwb3J0cz14LHguUmVhZGFibGVTdGF0ZT1TLHIoODI5MSkuRXZlbnRFbWl0dGVyO3ZhciBvLGE9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5saXN0ZW5lcnModCkubGVuZ3RofSxzPXIoNzE0NCksdT1yKDkwMzMpLkJ1ZmZlcixjPXIuZy5VaW50OEFycmF5fHxmdW5jdGlvbigpe30sZj1yKDQ2MTYpO289ZiYmZi5kZWJ1Z2xvZz9mLmRlYnVnbG9nKCJzdHJlYW0iKTpmdW5jdGlvbigpe307dmFyIGQsbCxoLHA9cig1MzkyKSxiPXIoNzU3MikseT1yKDY3NTYpLmdldEhpZ2hXYXRlck1hcmssbT1yKDkwMjQpLnEsdj1tLkVSUl9JTlZBTElEX0FSR19UWVBFLGc9bS5FUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GLHc9bS5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxBPW0uRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVDtyKDE3MzYpKHgscyk7dmFyIGs9Yi5lcnJvck9yRGVzdHJveSxfPVsiZXJyb3IiLCJjbG9zZSIsImRlc3Ryb3kiLCJwYXVzZSIsInJlc3VtZSJdO2Z1bmN0aW9uIFMoZSx0LGkpe249bnx8cig2ODg0KSxlPWV8fHt9LCJib29sZWFuIiE9dHlwZW9mIGkmJihpPXQgaW5zdGFuY2VvZiBuKSx0aGlzLm9iamVjdE1vZGU9ISFlLm9iamVjdE1vZGUsaSYmKHRoaXMub2JqZWN0TW9kZT10aGlzLm9iamVjdE1vZGV8fCEhZS5yZWFkYWJsZU9iamVjdE1vZGUpLHRoaXMuaGlnaFdhdGVyTWFyaz15KHRoaXMsZSwicmVhZGFibGVIaWdoV2F0ZXJNYXJrIixpKSx0aGlzLmJ1ZmZlcj1uZXcgcCx0aGlzLmxlbmd0aD0wLHRoaXMucGlwZXM9bnVsbCx0aGlzLnBpcGVzQ291bnQ9MCx0aGlzLmZsb3dpbmc9bnVsbCx0aGlzLmVuZGVkPSExLHRoaXMuZW5kRW1pdHRlZD0hMSx0aGlzLnJlYWRpbmc9ITEsdGhpcy5zeW5jPSEwLHRoaXMubmVlZFJlYWRhYmxlPSExLHRoaXMuZW1pdHRlZFJlYWRhYmxlPSExLHRoaXMucmVhZGFibGVMaXN0ZW5pbmc9ITEsdGhpcy5yZXN1bWVTY2hlZHVsZWQ9ITEsdGhpcy5wYXVzZWQ9ITAsdGhpcy5lbWl0Q2xvc2U9ITEhPT1lLmVtaXRDbG9zZSx0aGlzLmF1dG9EZXN0cm95PSEhZS5hdXRvRGVzdHJveSx0aGlzLmRlc3Ryb3llZD0hMSx0aGlzLmRlZmF1bHRFbmNvZGluZz1lLmRlZmF1bHRFbmNvZGluZ3x8InV0ZjgiLHRoaXMuYXdhaXREcmFpbj0wLHRoaXMucmVhZGluZ01vcmU9ITEsdGhpcy5kZWNvZGVyPW51bGwsdGhpcy5lbmNvZGluZz1udWxsLGUuZW5jb2RpbmcmJihkfHwoZD1yKDM0NjIpLnMpLHRoaXMuZGVjb2Rlcj1uZXcgZChlLmVuY29kaW5nKSx0aGlzLmVuY29kaW5nPWUuZW5jb2RpbmcpfWZ1bmN0aW9uIHgoZSl7aWYobj1ufHxyKDY4ODQpLCEodGhpcyBpbnN0YW5jZW9mIHgpKXJldHVybiBuZXcgeChlKTt2YXIgdD10aGlzIGluc3RhbmNlb2Ygbjt0aGlzLl9yZWFkYWJsZVN0YXRlPW5ldyBTKGUsdGhpcyx0KSx0aGlzLnJlYWRhYmxlPSEwLGUmJigiZnVuY3Rpb24iPT10eXBlb2YgZS5yZWFkJiYodGhpcy5fcmVhZD1lLnJlYWQpLCJmdW5jdGlvbiI9PXR5cGVvZiBlLmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PWUuZGVzdHJveSkpLHMuY2FsbCh0aGlzKX1mdW5jdGlvbiBFKGUsdCxyLG4saSl7bygicmVhZGFibGVBZGRDaHVuayIsdCk7dmFyIGEscz1lLl9yZWFkYWJsZVN0YXRlO2lmKG51bGw9PT10KXMucmVhZGluZz0hMSxmdW5jdGlvbihlLHQpe2lmKG8oIm9uRW9mQ2h1bmsiKSwhdC5lbmRlZCl7aWYodC5kZWNvZGVyKXt2YXIgcj10LmRlY29kZXIuZW5kKCk7ciYmci5sZW5ndGgmJih0LmJ1ZmZlci5wdXNoKHIpLHQubGVuZ3RoKz10Lm9iamVjdE1vZGU/MTpyLmxlbmd0aCl9dC5lbmRlZD0hMCx0LnN5bmM/VChlKToodC5uZWVkUmVhZGFibGU9ITEsdC5lbWl0dGVkUmVhZGFibGV8fCh0LmVtaXR0ZWRSZWFkYWJsZT0hMCxDKGUpKSl9fShlLHMpO2Vsc2UgaWYoaXx8KGE9ZnVuY3Rpb24oZSx0KXt2YXIgcixuO3JldHVybiBuPXQsdS5pc0J1ZmZlcihuKXx8biBpbnN0YW5jZW9mIGN8fCJzdHJpbmciPT10eXBlb2YgdHx8dm9pZCAwPT09dHx8ZS5vYmplY3RNb2RlfHwocj1uZXcgdigiY2h1bmsiLFsic3RyaW5nIiwiQnVmZmVyIiwiVWludDhBcnJheSJdLHQpKSxyfShzLHQpKSxhKWsoZSxhKTtlbHNlIGlmKHMub2JqZWN0TW9kZXx8dCYmdC5sZW5ndGg+MClpZigic3RyaW5nIj09dHlwZW9mIHR8fHMub2JqZWN0TW9kZXx8T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpPT09dS5wcm90b3R5cGV8fCh0PWZ1bmN0aW9uKGUpe3JldHVybiB1LmZyb20oZSl9KHQpKSxuKXMuZW5kRW1pdHRlZD9rKGUsbmV3IEEpOlAoZSxzLHQsITApO2Vsc2UgaWYocy5lbmRlZClrKGUsbmV3IGcpO2Vsc2V7aWYocy5kZXN0cm95ZWQpcmV0dXJuITE7cy5yZWFkaW5nPSExLHMuZGVjb2RlciYmIXI/KHQ9cy5kZWNvZGVyLndyaXRlKHQpLHMub2JqZWN0TW9kZXx8MCE9PXQubGVuZ3RoP1AoZSxzLHQsITEpOkkoZSxzKSk6UChlLHMsdCwhMSl9ZWxzZSBufHwocy5yZWFkaW5nPSExLEkoZSxzKSk7cmV0dXJuIXMuZW5kZWQmJihzLmxlbmd0aDxzLmhpZ2hXYXRlck1hcmt8fDA9PT1zLmxlbmd0aCl9ZnVuY3Rpb24gUChlLHQscixuKXt0LmZsb3dpbmcmJjA9PT10Lmxlbmd0aCYmIXQuc3luYz8odC5hd2FpdERyYWluPTAsZS5lbWl0KCJkYXRhIixyKSk6KHQubGVuZ3RoKz10Lm9iamVjdE1vZGU/MTpyLmxlbmd0aCxuP3QuYnVmZmVyLnVuc2hpZnQocik6dC5idWZmZXIucHVzaChyKSx0Lm5lZWRSZWFkYWJsZSYmVChlKSksSShlLHQpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwiZGVzdHJveWVkIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWR9LHNldDpmdW5jdGlvbihlKXt0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZSl9fSkseC5wcm90b3R5cGUuZGVzdHJveT1iLmRlc3Ryb3kseC5wcm90b3R5cGUuX3VuZGVzdHJveT1iLnVuZGVzdHJveSx4LnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbihlLHQpe3QoZSl9LHgucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24oZSx0KXt2YXIgcixuPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuIG4ub2JqZWN0TW9kZT9yPSEwOiJzdHJpbmciPT10eXBlb2YgZSYmKCh0PXR8fG4uZGVmYXVsdEVuY29kaW5nKSE9PW4uZW5jb2RpbmcmJihlPXUuZnJvbShlLHQpLHQ9IiIpLHI9ITApLEUodGhpcyxlLHQsITEscil9LHgucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIEUodGhpcyxlLG51bGwsITAsITEpfSx4LnByb3RvdHlwZS5pc1BhdXNlZD1mdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSx4LnByb3RvdHlwZS5zZXRFbmNvZGluZz1mdW5jdGlvbihlKXtkfHwoZD1yKDM0NjIpLnMpO3ZhciB0PW5ldyBkKGUpO3RoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlcj10LHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2Rpbmc9dGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyLmVuY29kaW5nO2Zvcih2YXIgbj10aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5oZWFkLGk9IiI7bnVsbCE9PW47KWkrPXQud3JpdGUobi5kYXRhKSxuPW4ubmV4dDtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuY2xlYXIoKSwiIiE9PWkmJnRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLnB1c2goaSksdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGg9aS5sZW5ndGgsdGhpc307dmFyIE89MTA3Mzc0MTgyNDtmdW5jdGlvbiBCKGUsdCl7cmV0dXJuIGU8PTB8fDA9PT10Lmxlbmd0aCYmdC5lbmRlZD8wOnQub2JqZWN0TW9kZT8xOmUhPWU/dC5mbG93aW5nJiZ0Lmxlbmd0aD90LmJ1ZmZlci5oZWFkLmRhdGEubGVuZ3RoOnQubGVuZ3RoOihlPnQuaGlnaFdhdGVyTWFyayYmKHQuaGlnaFdhdGVyTWFyaz1mdW5jdGlvbihlKXtyZXR1cm4gZT49Tz9lPU86KGUtLSxlfD1lPj4+MSxlfD1lPj4+MixlfD1lPj4+NCxlfD1lPj4+OCxlfD1lPj4+MTYsZSsrKSxlfShlKSksZTw9dC5sZW5ndGg/ZTp0LmVuZGVkP3QubGVuZ3RoOih0Lm5lZWRSZWFkYWJsZT0hMCwwKSl9ZnVuY3Rpb24gVChlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO28oImVtaXRSZWFkYWJsZSIsdC5uZWVkUmVhZGFibGUsdC5lbWl0dGVkUmVhZGFibGUpLHQubmVlZFJlYWRhYmxlPSExLHQuZW1pdHRlZFJlYWRhYmxlfHwobygiZW1pdFJlYWRhYmxlIix0LmZsb3dpbmcpLHQuZW1pdHRlZFJlYWRhYmxlPSEwLGkubmV4dFRpY2soQyxlKSl9ZnVuY3Rpb24gQyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO28oImVtaXRSZWFkYWJsZV8iLHQuZGVzdHJveWVkLHQubGVuZ3RoLHQuZW5kZWQpLHQuZGVzdHJveWVkfHwhdC5sZW5ndGgmJiF0LmVuZGVkfHwoZS5lbWl0KCJyZWFkYWJsZSIpLHQuZW1pdHRlZFJlYWRhYmxlPSExKSx0Lm5lZWRSZWFkYWJsZT0hdC5mbG93aW5nJiYhdC5lbmRlZCYmdC5sZW5ndGg8PXQuaGlnaFdhdGVyTWFyayxOKGUpfWZ1bmN0aW9uIEkoZSx0KXt0LnJlYWRpbmdNb3JlfHwodC5yZWFkaW5nTW9yZT0hMCxpLm5leHRUaWNrKE0sZSx0KSl9ZnVuY3Rpb24gTShlLHQpe2Zvcig7IXQucmVhZGluZyYmIXQuZW5kZWQmJih0Lmxlbmd0aDx0LmhpZ2hXYXRlck1hcmt8fHQuZmxvd2luZyYmMD09PXQubGVuZ3RoKTspe3ZhciByPXQubGVuZ3RoO2lmKG8oIm1heWJlUmVhZE1vcmUgcmVhZCAwIiksZS5yZWFkKDApLHI9PT10Lmxlbmd0aClicmVha310LnJlYWRpbmdNb3JlPSExfWZ1bmN0aW9uIFUoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTt0LnJlYWRhYmxlTGlzdGVuaW5nPWUubGlzdGVuZXJDb3VudCgicmVhZGFibGUiKT4wLHQucmVzdW1lU2NoZWR1bGVkJiYhdC5wYXVzZWQ/dC5mbG93aW5nPSEwOmUubGlzdGVuZXJDb3VudCgiZGF0YSIpPjAmJmUucmVzdW1lKCl9ZnVuY3Rpb24gUihlKXtvKCJyZWFkYWJsZSBuZXh0dGljayByZWFkIDAiKSxlLnJlYWQoMCl9ZnVuY3Rpb24gaihlLHQpe28oInJlc3VtZSIsdC5yZWFkaW5nKSx0LnJlYWRpbmd8fGUucmVhZCgwKSx0LnJlc3VtZVNjaGVkdWxlZD0hMSxlLmVtaXQoInJlc3VtZSIpLE4oZSksdC5mbG93aW5nJiYhdC5yZWFkaW5nJiZlLnJlYWQoMCl9ZnVuY3Rpb24gTihlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2ZvcihvKCJmbG93Iix0LmZsb3dpbmcpO3QuZmxvd2luZyYmbnVsbCE9PWUucmVhZCgpOyk7fWZ1bmN0aW9uIEYoZSx0KXtyZXR1cm4gMD09PXQubGVuZ3RoP251bGw6KHQub2JqZWN0TW9kZT9yPXQuYnVmZmVyLnNoaWZ0KCk6IWV8fGU+PXQubGVuZ3RoPyhyPXQuZGVjb2Rlcj90LmJ1ZmZlci5qb2luKCIiKToxPT09dC5idWZmZXIubGVuZ3RoP3QuYnVmZmVyLmZpcnN0KCk6dC5idWZmZXIuY29uY2F0KHQubGVuZ3RoKSx0LmJ1ZmZlci5jbGVhcigpKTpyPXQuYnVmZmVyLmNvbnN1bWUoZSx0LmRlY29kZXIpLHIpO3ZhciByfWZ1bmN0aW9uIEwoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtvKCJlbmRSZWFkYWJsZSIsdC5lbmRFbWl0dGVkKSx0LmVuZEVtaXR0ZWR8fCh0LmVuZGVkPSEwLGkubmV4dFRpY2soRCx0LGUpKX1mdW5jdGlvbiBEKGUsdCl7aWYobygiZW5kUmVhZGFibGVOVCIsZS5lbmRFbWl0dGVkLGUubGVuZ3RoKSwhZS5lbmRFbWl0dGVkJiYwPT09ZS5sZW5ndGgmJihlLmVuZEVtaXR0ZWQ9ITAsdC5yZWFkYWJsZT0hMSx0LmVtaXQoImVuZCIpLGUuYXV0b0Rlc3Ryb3kpKXt2YXIgcj10Ll93cml0YWJsZVN0YXRlOyghcnx8ci5hdXRvRGVzdHJveSYmci5maW5pc2hlZCkmJnQuZGVzdHJveSgpfX1mdW5jdGlvbiBIKGUsdCl7Zm9yKHZhciByPTAsbj1lLmxlbmd0aDtyPG47cisrKWlmKGVbcl09PT10KXJldHVybiByO3JldHVybi0xfXgucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oZSl7bygicmVhZCIsZSksZT1wYXJzZUludChlLDEwKTt2YXIgdD10aGlzLl9yZWFkYWJsZVN0YXRlLHI9ZTtpZigwIT09ZSYmKHQuZW1pdHRlZFJlYWRhYmxlPSExKSwwPT09ZSYmdC5uZWVkUmVhZGFibGUmJigoMCE9PXQuaGlnaFdhdGVyTWFyaz90Lmxlbmd0aD49dC5oaWdoV2F0ZXJNYXJrOnQubGVuZ3RoPjApfHx0LmVuZGVkKSlyZXR1cm4gbygicmVhZDogZW1pdFJlYWRhYmxlIix0Lmxlbmd0aCx0LmVuZGVkKSwwPT09dC5sZW5ndGgmJnQuZW5kZWQ/TCh0aGlzKTpUKHRoaXMpLG51bGw7aWYoMD09PShlPUIoZSx0KSkmJnQuZW5kZWQpcmV0dXJuIDA9PT10Lmxlbmd0aCYmTCh0aGlzKSxudWxsO3ZhciBuLGk9dC5uZWVkUmVhZGFibGU7cmV0dXJuIG8oIm5lZWQgcmVhZGFibGUiLGkpLCgwPT09dC5sZW5ndGh8fHQubGVuZ3RoLWU8dC5oaWdoV2F0ZXJNYXJrKSYmbygibGVuZ3RoIGxlc3MgdGhhbiB3YXRlcm1hcmsiLGk9ITApLHQuZW5kZWR8fHQucmVhZGluZz9vKCJyZWFkaW5nIG9yIGVuZGVkIixpPSExKTppJiYobygiZG8gcmVhZCIpLHQucmVhZGluZz0hMCx0LnN5bmM9ITAsMD09PXQubGVuZ3RoJiYodC5uZWVkUmVhZGFibGU9ITApLHRoaXMuX3JlYWQodC5oaWdoV2F0ZXJNYXJrKSx0LnN5bmM9ITEsdC5yZWFkaW5nfHwoZT1CKHIsdCkpKSxudWxsPT09KG49ZT4wP0YoZSx0KTpudWxsKT8odC5uZWVkUmVhZGFibGU9dC5sZW5ndGg8PXQuaGlnaFdhdGVyTWFyayxlPTApOih0Lmxlbmd0aC09ZSx0LmF3YWl0RHJhaW49MCksMD09PXQubGVuZ3RoJiYodC5lbmRlZHx8KHQubmVlZFJlYWRhYmxlPSEwKSxyIT09ZSYmdC5lbmRlZCYmTCh0aGlzKSksbnVsbCE9PW4mJnRoaXMuZW1pdCgiZGF0YSIsbiksbn0seC5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24oZSl7ayh0aGlzLG5ldyB3KCJfcmVhZCgpIikpfSx4LnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcyxuPXRoaXMuX3JlYWRhYmxlU3RhdGU7c3dpdGNoKG4ucGlwZXNDb3VudCl7Y2FzZSAwOm4ucGlwZXM9ZTticmVhaztjYXNlIDE6bi5waXBlcz1bbi5waXBlcyxlXTticmVhaztkZWZhdWx0Om4ucGlwZXMucHVzaChlKX1uLnBpcGVzQ291bnQrPTEsbygicGlwZSBjb3VudD0lZCBvcHRzPSVqIixuLnBpcGVzQ291bnQsdCk7dmFyIHM9dCYmITE9PT10LmVuZHx8ZT09PWkuc3Rkb3V0fHxlPT09aS5zdGRlcnI/Yjp1O2Z1bmN0aW9uIHUoKXtvKCJvbmVuZCIpLGUuZW5kKCl9bi5lbmRFbWl0dGVkP2kubmV4dFRpY2socyk6ci5vbmNlKCJlbmQiLHMpLGUub24oInVucGlwZSIsKGZ1bmN0aW9uIHQoaSxhKXtvKCJvbnVucGlwZSIpLGk9PT1yJiZhJiYhMT09PWEuaGFzVW5waXBlZCYmKGEuaGFzVW5waXBlZD0hMCxvKCJjbGVhbnVwIiksZS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLGgpLGUucmVtb3ZlTGlzdGVuZXIoImZpbmlzaCIscCksZS5yZW1vdmVMaXN0ZW5lcigiZHJhaW4iLGMpLGUucmVtb3ZlTGlzdGVuZXIoImVycm9yIixsKSxlLnJlbW92ZUxpc3RlbmVyKCJ1bnBpcGUiLHQpLHIucmVtb3ZlTGlzdGVuZXIoImVuZCIsdSksci5yZW1vdmVMaXN0ZW5lcigiZW5kIixiKSxyLnJlbW92ZUxpc3RlbmVyKCJkYXRhIixkKSxmPSEwLCFuLmF3YWl0RHJhaW58fGUuX3dyaXRhYmxlU3RhdGUmJiFlLl93cml0YWJsZVN0YXRlLm5lZWREcmFpbnx8YygpKX0pKTt2YXIgYz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO28oInBpcGVPbkRyYWluIix0LmF3YWl0RHJhaW4pLHQuYXdhaXREcmFpbiYmdC5hd2FpdERyYWluLS0sMD09PXQuYXdhaXREcmFpbiYmYShlLCJkYXRhIikmJih0LmZsb3dpbmc9ITAsTihlKSl9fShyKTtlLm9uKCJkcmFpbiIsYyk7dmFyIGY9ITE7ZnVuY3Rpb24gZCh0KXtvKCJvbmRhdGEiKTt2YXIgaT1lLndyaXRlKHQpO28oImRlc3Qud3JpdGUiLGkpLCExPT09aSYmKCgxPT09bi5waXBlc0NvdW50JiZuLnBpcGVzPT09ZXx8bi5waXBlc0NvdW50PjEmJi0xIT09SChuLnBpcGVzLGUpKSYmIWYmJihvKCJmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2UiLG4uYXdhaXREcmFpbiksbi5hd2FpdERyYWluKyspLHIucGF1c2UoKSl9ZnVuY3Rpb24gbCh0KXtvKCJvbmVycm9yIix0KSxiKCksZS5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGwpLDA9PT1hKGUsImVycm9yIikmJmsoZSx0KX1mdW5jdGlvbiBoKCl7ZS5yZW1vdmVMaXN0ZW5lcigiZmluaXNoIixwKSxiKCl9ZnVuY3Rpb24gcCgpe28oIm9uZmluaXNoIiksZS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLGgpLGIoKX1mdW5jdGlvbiBiKCl7bygidW5waXBlIiksci51bnBpcGUoZSl9cmV0dXJuIHIub24oImRhdGEiLGQpLGZ1bmN0aW9uKGUsdCxyKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZS5wcmVwZW5kTGlzdGVuZXIpcmV0dXJuIGUucHJlcGVuZExpc3RlbmVyKHQscik7ZS5fZXZlbnRzJiZlLl9ldmVudHNbdF0/QXJyYXkuaXNBcnJheShlLl9ldmVudHNbdF0pP2UuX2V2ZW50c1t0XS51bnNoaWZ0KHIpOmUuX2V2ZW50c1t0XT1bcixlLl9ldmVudHNbdF1dOmUub24odCxyKX0oZSwiZXJyb3IiLGwpLGUub25jZSgiY2xvc2UiLGgpLGUub25jZSgiZmluaXNoIixwKSxlLmVtaXQoInBpcGUiLHIpLG4uZmxvd2luZ3x8KG8oInBpcGUgcmVzdW1lIiksci5yZXN1bWUoKSksZX0seC5wcm90b3R5cGUudW5waXBlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3JlYWRhYmxlU3RhdGUscj17aGFzVW5waXBlZDohMX07aWYoMD09PXQucGlwZXNDb3VudClyZXR1cm4gdGhpcztpZigxPT09dC5waXBlc0NvdW50KXJldHVybiBlJiZlIT09dC5waXBlc3x8KGV8fChlPXQucGlwZXMpLHQucGlwZXM9bnVsbCx0LnBpcGVzQ291bnQ9MCx0LmZsb3dpbmc9ITEsZSYmZS5lbWl0KCJ1bnBpcGUiLHRoaXMscikpLHRoaXM7aWYoIWUpe3ZhciBuPXQucGlwZXMsaT10LnBpcGVzQ291bnQ7dC5waXBlcz1udWxsLHQucGlwZXNDb3VudD0wLHQuZmxvd2luZz0hMTtmb3IodmFyIG89MDtvPGk7bysrKW5bb10uZW1pdCgidW5waXBlIix0aGlzLHtoYXNVbnBpcGVkOiExfSk7cmV0dXJuIHRoaXN9dmFyIGE9SCh0LnBpcGVzLGUpO3JldHVybi0xPT09YXx8KHQucGlwZXMuc3BsaWNlKGEsMSksdC5waXBlc0NvdW50LT0xLDE9PT10LnBpcGVzQ291bnQmJih0LnBpcGVzPXQucGlwZXNbMF0pLGUuZW1pdCgidW5waXBlIix0aGlzLHIpKSx0aGlzfSx4LnByb3RvdHlwZS5vbj1mdW5jdGlvbihlLHQpe3ZhciByPXMucHJvdG90eXBlLm9uLmNhbGwodGhpcyxlLHQpLG49dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4iZGF0YSI9PT1lPyhuLnJlYWRhYmxlTGlzdGVuaW5nPXRoaXMubGlzdGVuZXJDb3VudCgicmVhZGFibGUiKT4wLCExIT09bi5mbG93aW5nJiZ0aGlzLnJlc3VtZSgpKToicmVhZGFibGUiPT09ZSYmKG4uZW5kRW1pdHRlZHx8bi5yZWFkYWJsZUxpc3RlbmluZ3x8KG4ucmVhZGFibGVMaXN0ZW5pbmc9bi5uZWVkUmVhZGFibGU9ITAsbi5mbG93aW5nPSExLG4uZW1pdHRlZFJlYWRhYmxlPSExLG8oIm9uIHJlYWRhYmxlIixuLmxlbmd0aCxuLnJlYWRpbmcpLG4ubGVuZ3RoP1QodGhpcyk6bi5yZWFkaW5nfHxpLm5leHRUaWNrKFIsdGhpcykpKSxyfSx4LnByb3RvdHlwZS5hZGRMaXN0ZW5lcj14LnByb3RvdHlwZS5vbix4LnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3ZhciByPXMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLmNhbGwodGhpcyxlLHQpO3JldHVybiJyZWFkYWJsZSI9PT1lJiZpLm5leHRUaWNrKFUsdGhpcykscn0seC5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0PXMucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuInJlYWRhYmxlIiE9PWUmJnZvaWQgMCE9PWV8fGkubmV4dFRpY2soVSx0aGlzKSx0fSx4LnByb3RvdHlwZS5yZXN1bWU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9yZWFkYWJsZVN0YXRlO3JldHVybiBlLmZsb3dpbmd8fChvKCJyZXN1bWUiKSxlLmZsb3dpbmc9IWUucmVhZGFibGVMaXN0ZW5pbmcsZnVuY3Rpb24oZSx0KXt0LnJlc3VtZVNjaGVkdWxlZHx8KHQucmVzdW1lU2NoZWR1bGVkPSEwLGkubmV4dFRpY2soaixlLHQpKX0odGhpcyxlKSksZS5wYXVzZWQ9ITEsdGhpc30seC5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oKXtyZXR1cm4gbygiY2FsbCBwYXVzZSBmbG93aW5nPSVqIix0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcpLCExIT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nJiYobygicGF1c2UiKSx0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc9ITEsdGhpcy5lbWl0KCJwYXVzZSIpKSx0aGlzLl9yZWFkYWJsZVN0YXRlLnBhdXNlZD0hMCx0aGlzfSx4LnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMscj10aGlzLl9yZWFkYWJsZVN0YXRlLG49ITE7Zm9yKHZhciBpIGluIGUub24oImVuZCIsKGZ1bmN0aW9uKCl7aWYobygid3JhcHBlZCBlbmQiKSxyLmRlY29kZXImJiFyLmVuZGVkKXt2YXIgZT1yLmRlY29kZXIuZW5kKCk7ZSYmZS5sZW5ndGgmJnQucHVzaChlKX10LnB1c2gobnVsbCl9KSksZS5vbigiZGF0YSIsKGZ1bmN0aW9uKGkpe28oIndyYXBwZWQgZGF0YSIpLHIuZGVjb2RlciYmKGk9ci5kZWNvZGVyLndyaXRlKGkpKSxyLm9iamVjdE1vZGUmJm51bGw9PWl8fChyLm9iamVjdE1vZGV8fGkmJmkubGVuZ3RoKSYmKHQucHVzaChpKXx8KG49ITAsZS5wYXVzZSgpKSl9KSksZSl2b2lkIDA9PT10aGlzW2ldJiYiZnVuY3Rpb24iPT10eXBlb2YgZVtpXSYmKHRoaXNbaV09ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGVbdF0uYXBwbHkoZSxhcmd1bWVudHMpfX0oaSkpO2Zvcih2YXIgYT0wO2E8Xy5sZW5ndGg7YSsrKWUub24oX1thXSx0aGlzLmVtaXQuYmluZCh0aGlzLF9bYV0pKTtyZXR1cm4gdGhpcy5fcmVhZD1mdW5jdGlvbih0KXtvKCJ3cmFwcGVkIF9yZWFkIix0KSxuJiYobj0hMSxlLnJlc3VtZSgpKX0sdGhpc30sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKHgucHJvdG90eXBlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1sJiYobD1yKDIzMTcpKSxsKHRoaXMpfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHgucHJvdG90eXBlLCJyZWFkYWJsZUhpZ2hXYXRlck1hcmsiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHgucHJvdG90eXBlLCJyZWFkYWJsZUJ1ZmZlciIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwicmVhZGFibGVGbG93aW5nIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZz1lKX19KSx4Ll9mcm9tTGlzdD1GLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwicmVhZGFibGVMZW5ndGgiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmxlbmd0aH19KSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoeC5mcm9tPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PWgmJihoPXIoNjIxOCkpLGgoeCxlLHQpfSl9LDkxNTQ6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9Zjt2YXIgbj1yKDkwMjQpLnEsaT1uLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELG89bi5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssYT1uLkVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkcscz1uLkVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMCx1PXIoNjg4NCk7ZnVuY3Rpb24gYyhlLHQpe3ZhciByPXRoaXMuX3RyYW5zZm9ybVN0YXRlO3IudHJhbnNmb3JtaW5nPSExO3ZhciBuPXIud3JpdGVjYjtpZihudWxsPT09bilyZXR1cm4gdGhpcy5lbWl0KCJlcnJvciIsbmV3IG8pO3Iud3JpdGVjaHVuaz1udWxsLHIud3JpdGVjYj1udWxsLG51bGwhPXQmJnRoaXMucHVzaCh0KSxuKGUpO3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7aS5yZWFkaW5nPSExLChpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfWZ1bmN0aW9uIGYoZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgZikpcmV0dXJuIG5ldyBmKGUpO3UuY2FsbCh0aGlzLGUpLHRoaXMuX3RyYW5zZm9ybVN0YXRlPXthZnRlclRyYW5zZm9ybTpjLmJpbmQodGhpcyksbmVlZFRyYW5zZm9ybTohMSx0cmFuc2Zvcm1pbmc6ITEsd3JpdGVjYjpudWxsLHdyaXRlY2h1bms6bnVsbCx3cml0ZWVuY29kaW5nOm51bGx9LHRoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlPSEwLHRoaXMuX3JlYWRhYmxlU3RhdGUuc3luYz0hMSxlJiYoImZ1bmN0aW9uIj09dHlwZW9mIGUudHJhbnNmb3JtJiYodGhpcy5fdHJhbnNmb3JtPWUudHJhbnNmb3JtKSwiZnVuY3Rpb24iPT10eXBlb2YgZS5mbHVzaCYmKHRoaXMuX2ZsdXNoPWUuZmx1c2gpKSx0aGlzLm9uKCJwcmVmaW5pc2giLGQpfWZ1bmN0aW9uIGQoKXt2YXIgZT10aGlzOyJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzLl9mbHVzaHx8dGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ/bCh0aGlzLG51bGwsbnVsbCk6dGhpcy5fZmx1c2goKGZ1bmN0aW9uKHQscil7bChlLHQscil9KSl9ZnVuY3Rpb24gbChlLHQscil7aWYodClyZXR1cm4gZS5lbWl0KCJlcnJvciIsdCk7aWYobnVsbCE9ciYmZS5wdXNoKHIpLGUuX3dyaXRhYmxlU3RhdGUubGVuZ3RoKXRocm93IG5ldyBzO2lmKGUuX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZyl0aHJvdyBuZXcgYTtyZXR1cm4gZS5wdXNoKG51bGwpfXIoMTczNikoZix1KSxmLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX3RyYW5zZm9ybVN0YXRlLm5lZWRUcmFuc2Zvcm09ITEsdS5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsZSx0KX0sZi5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbihlLHQscil7cihuZXcgaSgiX3RyYW5zZm9ybSgpIikpfSxmLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXRoaXMuX3RyYW5zZm9ybVN0YXRlO2lmKG4ud3JpdGVjYj1yLG4ud3JpdGVjaHVuaz1lLG4ud3JpdGVlbmNvZGluZz10LCFuLnRyYW5zZm9ybWluZyl7dmFyIGk9dGhpcy5fcmVhZGFibGVTdGF0ZTsobi5uZWVkVHJhbnNmb3JtfHxpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfX0sZi5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fdHJhbnNmb3JtU3RhdGU7bnVsbD09PXQud3JpdGVjaHVua3x8dC50cmFuc2Zvcm1pbmc/dC5uZWVkVHJhbnNmb3JtPSEwOih0LnRyYW5zZm9ybWluZz0hMCx0aGlzLl90cmFuc2Zvcm0odC53cml0ZWNodW5rLHQud3JpdGVlbmNvZGluZyx0LmFmdGVyVHJhbnNmb3JtKSl9LGYucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGUsdCl7dS5wcm90b3R5cGUuX2Rlc3Ryb3kuY2FsbCh0aGlzLGUsKGZ1bmN0aW9uKGUpe3QoZSl9KSl9fSwxNDcxOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG4saT1yKDkxNDIpO2Z1bmN0aW9uIG8oZSl7dmFyIHQ9dGhpczt0aGlzLm5leHQ9bnVsbCx0aGlzLmVudHJ5PW51bGwsdGhpcy5maW5pc2g9ZnVuY3Rpb24oKXshZnVuY3Rpb24oZSx0LHIpe3ZhciBuPWUuZW50cnk7Zm9yKGUuZW50cnk9bnVsbDtuOyl7dmFyIGk9bi5jYWxsYmFjazt0LnBlbmRpbmdjYi0tLGkodW5kZWZpbmVkKSxuPW4ubmV4dH10LmNvcmtlZFJlcXVlc3RzRnJlZS5uZXh0PWV9KHQsZSl9fWUuZXhwb3J0cz14LHguV3JpdGFibGVTdGF0ZT1TO3ZhciBhLHM9e2RlcHJlY2F0ZTpyKDYyMTkpfSx1PXIoNzE0NCksYz1yKDkwMzMpLkJ1ZmZlcixmPXIuZy5VaW50OEFycmF5fHxmdW5jdGlvbigpe30sZD1yKDc1NzIpLGw9cig2NzU2KS5nZXRIaWdoV2F0ZXJNYXJrLGg9cig5MDI0KS5xLHA9aC5FUlJfSU5WQUxJRF9BUkdfVFlQRSxiPWguRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQseT1oLkVSUl9NVUxUSVBMRV9DQUxMQkFDSyxtPWguRVJSX1NUUkVBTV9DQU5OT1RfUElQRSx2PWguRVJSX1NUUkVBTV9ERVNUUk9ZRUQsZz1oLkVSUl9TVFJFQU1fTlVMTF9WQUxVRVMsdz1oLkVSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5ELEE9aC5FUlJfVU5LTk9XTl9FTkNPRElORyxrPWQuZXJyb3JPckRlc3Ryb3k7ZnVuY3Rpb24gXygpe31mdW5jdGlvbiBTKGUsdCxhKXtuPW58fHIoNjg4NCksZT1lfHx7fSwiYm9vbGVhbiIhPXR5cGVvZiBhJiYoYT10IGluc3RhbmNlb2YgbiksdGhpcy5vYmplY3RNb2RlPSEhZS5vYmplY3RNb2RlLGEmJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIWUud3JpdGFibGVPYmplY3RNb2RlKSx0aGlzLmhpZ2hXYXRlck1hcms9bCh0aGlzLGUsIndyaXRhYmxlSGlnaFdhdGVyTWFyayIsYSksdGhpcy5maW5hbENhbGxlZD0hMSx0aGlzLm5lZWREcmFpbj0hMSx0aGlzLmVuZGluZz0hMSx0aGlzLmVuZGVkPSExLHRoaXMuZmluaXNoZWQ9ITEsdGhpcy5kZXN0cm95ZWQ9ITE7dmFyIHM9ITE9PT1lLmRlY29kZVN0cmluZ3M7dGhpcy5kZWNvZGVTdHJpbmdzPSFzLHRoaXMuZGVmYXVsdEVuY29kaW5nPWUuZGVmYXVsdEVuY29kaW5nfHwidXRmOCIsdGhpcy5sZW5ndGg9MCx0aGlzLndyaXRpbmc9ITEsdGhpcy5jb3JrZWQ9MCx0aGlzLnN5bmM9ITAsdGhpcy5idWZmZXJQcm9jZXNzaW5nPSExLHRoaXMub253cml0ZT1mdW5jdGlvbihlKXshZnVuY3Rpb24oZSx0KXt2YXIgcj1lLl93cml0YWJsZVN0YXRlLG49ci5zeW5jLG89ci53cml0ZWNiO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBvKXRocm93IG5ldyB5O2lmKGZ1bmN0aW9uKGUpe2Uud3JpdGluZz0hMSxlLndyaXRlY2I9bnVsbCxlLmxlbmd0aC09ZS53cml0ZWxlbixlLndyaXRlbGVuPTB9KHIpLHQpIWZ1bmN0aW9uKGUsdCxyLG4sbyl7LS10LnBlbmRpbmdjYixyPyhpLm5leHRUaWNrKG8sbiksaS5uZXh0VGljayhDLGUsdCksZS5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAsayhlLG4pKToobyhuKSxlLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxrKGUsbiksQyhlLHQpKX0oZSxyLG4sdCxvKTtlbHNle3ZhciBhPUIocil8fGUuZGVzdHJveWVkO2F8fHIuY29ya2VkfHxyLmJ1ZmZlclByb2Nlc3Npbmd8fCFyLmJ1ZmZlcmVkUmVxdWVzdHx8TyhlLHIpLG4/aS5uZXh0VGljayhQLGUscixhLG8pOlAoZSxyLGEsbyl9fSh0LGUpfSx0aGlzLndyaXRlY2I9bnVsbCx0aGlzLndyaXRlbGVuPTAsdGhpcy5idWZmZXJlZFJlcXVlc3Q9bnVsbCx0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCx0aGlzLnBlbmRpbmdjYj0wLHRoaXMucHJlZmluaXNoZWQ9ITEsdGhpcy5lcnJvckVtaXR0ZWQ9ITEsdGhpcy5lbWl0Q2xvc2U9ITEhPT1lLmVtaXRDbG9zZSx0aGlzLmF1dG9EZXN0cm95PSEhZS5hdXRvRGVzdHJveSx0aGlzLmJ1ZmZlcmVkUmVxdWVzdENvdW50PTAsdGhpcy5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IG8odGhpcyl9ZnVuY3Rpb24geChlKXt2YXIgdD10aGlzIGluc3RhbmNlb2Yobj1ufHxyKDY4ODQpKTtpZighdCYmIWEuY2FsbCh4LHRoaXMpKXJldHVybiBuZXcgeChlKTt0aGlzLl93cml0YWJsZVN0YXRlPW5ldyBTKGUsdGhpcyx0KSx0aGlzLndyaXRhYmxlPSEwLGUmJigiZnVuY3Rpb24iPT10eXBlb2YgZS53cml0ZSYmKHRoaXMuX3dyaXRlPWUud3JpdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiBlLndyaXRldiYmKHRoaXMuX3dyaXRldj1lLndyaXRldiksImZ1bmN0aW9uIj09dHlwZW9mIGUuZGVzdHJveSYmKHRoaXMuX2Rlc3Ryb3k9ZS5kZXN0cm95KSwiZnVuY3Rpb24iPT10eXBlb2YgZS5maW5hbCYmKHRoaXMuX2ZpbmFsPWUuZmluYWwpKSx1LmNhbGwodGhpcyl9ZnVuY3Rpb24gRShlLHQscixuLGksbyxhKXt0LndyaXRlbGVuPW4sdC53cml0ZWNiPWEsdC53cml0aW5nPSEwLHQuc3luYz0hMCx0LmRlc3Ryb3llZD90Lm9ud3JpdGUobmV3IHYoIndyaXRlIikpOnI/ZS5fd3JpdGV2KGksdC5vbndyaXRlKTplLl93cml0ZShpLG8sdC5vbndyaXRlKSx0LnN5bmM9ITF9ZnVuY3Rpb24gUChlLHQscixuKXtyfHxmdW5jdGlvbihlLHQpezA9PT10Lmxlbmd0aCYmdC5uZWVkRHJhaW4mJih0Lm5lZWREcmFpbj0hMSxlLmVtaXQoImRyYWluIikpfShlLHQpLHQucGVuZGluZ2NiLS0sbigpLEMoZSx0KX1mdW5jdGlvbiBPKGUsdCl7dC5idWZmZXJQcm9jZXNzaW5nPSEwO3ZhciByPXQuYnVmZmVyZWRSZXF1ZXN0O2lmKGUuX3dyaXRldiYmciYmci5uZXh0KXt2YXIgbj10LmJ1ZmZlcmVkUmVxdWVzdENvdW50LGk9bmV3IEFycmF5KG4pLGE9dC5jb3JrZWRSZXF1ZXN0c0ZyZWU7YS5lbnRyeT1yO2Zvcih2YXIgcz0wLHU9ITA7cjspaVtzXT1yLHIuaXNCdWZ8fCh1PSExKSxyPXIubmV4dCxzKz0xO2kuYWxsQnVmZmVycz11LEUoZSx0LCEwLHQubGVuZ3RoLGksIiIsYS5maW5pc2gpLHQucGVuZGluZ2NiKyssdC5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwsYS5uZXh0Pyh0LmNvcmtlZFJlcXVlc3RzRnJlZT1hLm5leHQsYS5uZXh0PW51bGwpOnQuY29ya2VkUmVxdWVzdHNGcmVlPW5ldyBvKHQpLHQuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MH1lbHNle2Zvcig7cjspe3ZhciBjPXIuY2h1bmssZj1yLmVuY29kaW5nLGQ9ci5jYWxsYmFjaztpZihFKGUsdCwhMSx0Lm9iamVjdE1vZGU/MTpjLmxlbmd0aCxjLGYsZCkscj1yLm5leHQsdC5idWZmZXJlZFJlcXVlc3RDb3VudC0tLHQud3JpdGluZylicmVha31udWxsPT09ciYmKHQubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsKX10LmJ1ZmZlcmVkUmVxdWVzdD1yLHQuYnVmZmVyUHJvY2Vzc2luZz0hMX1mdW5jdGlvbiBCKGUpe3JldHVybiBlLmVuZGluZyYmMD09PWUubGVuZ3RoJiZudWxsPT09ZS5idWZmZXJlZFJlcXVlc3QmJiFlLmZpbmlzaGVkJiYhZS53cml0aW5nfWZ1bmN0aW9uIFQoZSx0KXtlLl9maW5hbCgoZnVuY3Rpb24ocil7dC5wZW5kaW5nY2ItLSxyJiZrKGUsciksdC5wcmVmaW5pc2hlZD0hMCxlLmVtaXQoInByZWZpbmlzaCIpLEMoZSx0KX0pKX1mdW5jdGlvbiBDKGUsdCl7dmFyIHI9Qih0KTtpZihyJiYoZnVuY3Rpb24oZSx0KXt0LnByZWZpbmlzaGVkfHx0LmZpbmFsQ2FsbGVkfHwoImZ1bmN0aW9uIiE9dHlwZW9mIGUuX2ZpbmFsfHx0LmRlc3Ryb3llZD8odC5wcmVmaW5pc2hlZD0hMCxlLmVtaXQoInByZWZpbmlzaCIpKToodC5wZW5kaW5nY2IrKyx0LmZpbmFsQ2FsbGVkPSEwLGkubmV4dFRpY2soVCxlLHQpKSl9KGUsdCksMD09PXQucGVuZGluZ2NiJiYodC5maW5pc2hlZD0hMCxlLmVtaXQoImZpbmlzaCIpLHQuYXV0b0Rlc3Ryb3kpKSl7dmFyIG49ZS5fcmVhZGFibGVTdGF0ZTsoIW58fG4uYXV0b0Rlc3Ryb3kmJm4uZW5kRW1pdHRlZCkmJmUuZGVzdHJveSgpfXJldHVybiByfXIoMTczNikoeCx1KSxTLnByb3RvdHlwZS5nZXRCdWZmZXI9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5idWZmZXJlZFJlcXVlc3QsdD1bXTtlOyl0LnB1c2goZSksZT1lLm5leHQ7cmV0dXJuIHR9LGZ1bmN0aW9uKCl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eShTLnByb3RvdHlwZSwiYnVmZmVyIix7Z2V0OnMuZGVwcmVjYXRlKChmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEJ1ZmZlcigpfSksIl93cml0YWJsZVN0YXRlLmJ1ZmZlciBpcyBkZXByZWNhdGVkLiBVc2UgX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyIGluc3RlYWQuIiwiREVQMDAwMyIpfSl9Y2F0Y2goZSl7fX0oKSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaGFzSW5zdGFuY2UmJiJmdW5jdGlvbiI9PXR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXT8oYT1GdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeCxTeW1ib2wuaGFzSW5zdGFuY2Use3ZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiEhYS5jYWxsKHRoaXMsZSl8fHRoaXM9PT14JiZlJiZlLl93cml0YWJsZVN0YXRlIGluc3RhbmNlb2YgU319KSk6YT1mdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHRoaXN9LHgucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oKXtrKHRoaXMsbmV3IG0pfSx4LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlLHQscil7dmFyIG4sbz10aGlzLl93cml0YWJsZVN0YXRlLGE9ITEscz0hby5vYmplY3RNb2RlJiYobj1lLGMuaXNCdWZmZXIobil8fG4gaW5zdGFuY2VvZiBmKTtyZXR1cm4gcyYmIWMuaXNCdWZmZXIoZSkmJihlPWZ1bmN0aW9uKGUpe3JldHVybiBjLmZyb20oZSl9KGUpKSwiZnVuY3Rpb24iPT10eXBlb2YgdCYmKHI9dCx0PW51bGwpLHM/dD0iYnVmZmVyIjp0fHwodD1vLmRlZmF1bHRFbmNvZGluZyksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihyPV8pLG8uZW5kaW5nP2Z1bmN0aW9uKGUsdCl7dmFyIHI9bmV3IHc7ayhlLHIpLGkubmV4dFRpY2sodCxyKX0odGhpcyxyKTooc3x8ZnVuY3Rpb24oZSx0LHIsbil7dmFyIG87cmV0dXJuIG51bGw9PT1yP289bmV3IGc6InN0cmluZyI9PXR5cGVvZiByfHx0Lm9iamVjdE1vZGV8fChvPW5ldyBwKCJjaHVuayIsWyJzdHJpbmciLCJCdWZmZXIiXSxyKSksIW98fChrKGUsbyksaS5uZXh0VGljayhuLG8pLCExKX0odGhpcyxvLGUscikpJiYoby5wZW5kaW5nY2IrKyxhPWZ1bmN0aW9uKGUsdCxyLG4saSxvKXtpZighcil7dmFyIGE9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlLm9iamVjdE1vZGV8fCExPT09ZS5kZWNvZGVTdHJpbmdzfHwic3RyaW5nIiE9dHlwZW9mIHR8fCh0PWMuZnJvbSh0LHIpKSx0fSh0LG4saSk7biE9PWEmJihyPSEwLGk9ImJ1ZmZlciIsbj1hKX12YXIgcz10Lm9iamVjdE1vZGU/MTpuLmxlbmd0aDt0Lmxlbmd0aCs9czt2YXIgdT10Lmxlbmd0aDx0LmhpZ2hXYXRlck1hcms7aWYodXx8KHQubmVlZERyYWluPSEwKSx0LndyaXRpbmd8fHQuY29ya2VkKXt2YXIgZj10Lmxhc3RCdWZmZXJlZFJlcXVlc3Q7dC5sYXN0QnVmZmVyZWRSZXF1ZXN0PXtjaHVuazpuLGVuY29kaW5nOmksaXNCdWY6cixjYWxsYmFjazpvLG5leHQ6bnVsbH0sZj9mLm5leHQ9dC5sYXN0QnVmZmVyZWRSZXF1ZXN0OnQuYnVmZmVyZWRSZXF1ZXN0PXQubGFzdEJ1ZmZlcmVkUmVxdWVzdCx0LmJ1ZmZlcmVkUmVxdWVzdENvdW50Kz0xfWVsc2UgRShlLHQsITEscyxuLGksbyk7cmV0dXJuIHV9KHRoaXMsbyxzLGUsdCxyKSksYX0seC5wcm90b3R5cGUuY29yaz1mdW5jdGlvbigpe3RoaXMuX3dyaXRhYmxlU3RhdGUuY29ya2VkKyt9LHgucHJvdG90eXBlLnVuY29yaz1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX3dyaXRhYmxlU3RhdGU7ZS5jb3JrZWQmJihlLmNvcmtlZC0tLGUud3JpdGluZ3x8ZS5jb3JrZWR8fGUuYnVmZmVyUHJvY2Vzc2luZ3x8IWUuYnVmZmVyZWRSZXF1ZXN0fHxPKHRoaXMsZSkpfSx4LnByb3RvdHlwZS5zZXREZWZhdWx0RW5jb2Rpbmc9ZnVuY3Rpb24oZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYoZT1lLnRvTG93ZXJDYXNlKCkpLCEoWyJoZXgiLCJ1dGY4IiwidXRmLTgiLCJhc2NpaSIsImJpbmFyeSIsImJhc2U2NCIsInVjczIiLCJ1Y3MtMiIsInV0ZjE2bGUiLCJ1dGYtMTZsZSIsInJhdyJdLmluZGV4T2YoKGUrIiIpLnRvTG93ZXJDYXNlKCkpPi0xKSl0aHJvdyBuZXcgQShlKTtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZWZhdWx0RW5jb2Rpbmc9ZSx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsIndyaXRhYmxlQnVmZmVyIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsIndyaXRhYmxlSGlnaFdhdGVyTWFyayIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSx4LnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24oZSx0LHIpe3IobmV3IGIoIl93cml0ZSgpIikpfSx4LnByb3RvdHlwZS5fd3JpdGV2PW51bGwseC5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKGUsdCxyKXt2YXIgbj10aGlzLl93cml0YWJsZVN0YXRlO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlPyhyPWUsZT1udWxsLHQ9bnVsbCk6ImZ1bmN0aW9uIj09dHlwZW9mIHQmJihyPXQsdD1udWxsKSxudWxsIT1lJiZ0aGlzLndyaXRlKGUsdCksbi5jb3JrZWQmJihuLmNvcmtlZD0xLHRoaXMudW5jb3JrKCkpLG4uZW5kaW5nfHxmdW5jdGlvbihlLHQscil7dC5lbmRpbmc9ITAsQyhlLHQpLHImJih0LmZpbmlzaGVkP2kubmV4dFRpY2socik6ZS5vbmNlKCJmaW5pc2giLHIpKSx0LmVuZGVkPSEwLGUud3JpdGFibGU9ITF9KHRoaXMsbixyKSx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsIndyaXRhYmxlTGVuZ3RoIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5sZW5ndGh9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHgucHJvdG90eXBlLCJkZXN0cm95ZWQiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKGUpe3RoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD1lKX19KSx4LnByb3RvdHlwZS5kZXN0cm95PWQuZGVzdHJveSx4LnByb3RvdHlwZS5fdW5kZXN0cm95PWQudW5kZXN0cm95LHgucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGUsdCl7dChlKX19LDIzMTc6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbixpPXIoOTE0Mik7ZnVuY3Rpb24gbyhlLHQscil7cmV0dXJuIHQgaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpyLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1yLGV9dmFyIGE9cig1ODMxKSxzPVN5bWJvbCgibGFzdFJlc29sdmUiKSx1PVN5bWJvbCgibGFzdFJlamVjdCIpLGM9U3ltYm9sKCJlcnJvciIpLGY9U3ltYm9sKCJlbmRlZCIpLGQ9U3ltYm9sKCJsYXN0UHJvbWlzZSIpLGw9U3ltYm9sKCJoYW5kbGVQcm9taXNlIiksaD1TeW1ib2woInN0cmVhbSIpO2Z1bmN0aW9uIHAoZSx0KXtyZXR1cm57dmFsdWU6ZSxkb25lOnR9fWZ1bmN0aW9uIGIoZSl7dmFyIHQ9ZVtzXTtpZihudWxsIT09dCl7dmFyIHI9ZVtoXS5yZWFkKCk7bnVsbCE9PXImJihlW2RdPW51bGwsZVtzXT1udWxsLGVbdV09bnVsbCx0KHAociwhMSkpKX19ZnVuY3Rpb24geShlKXtpLm5leHRUaWNrKGIsZSl9dmFyIG09T2JqZWN0LmdldFByb3RvdHlwZU9mKChmdW5jdGlvbigpe30pKSx2PU9iamVjdC5zZXRQcm90b3R5cGVPZigobyhuPXtnZXQgc3RyZWFtKCl7cmV0dXJuIHRoaXNbaF19LG5leHQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9dGhpc1tjXTtpZihudWxsIT09dClyZXR1cm4gUHJvbWlzZS5yZWplY3QodCk7aWYodGhpc1tmXSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHAodm9pZCAwLCEwKSk7aWYodGhpc1toXS5kZXN0cm95ZWQpcmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LHIpe2kubmV4dFRpY2soKGZ1bmN0aW9uKCl7ZVtjXT9yKGVbY10pOnQocCh2b2lkIDAsITApKX0pKX0pKTt2YXIgcixuPXRoaXNbZF07aWYobilyPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKHIsbil7ZS50aGVuKChmdW5jdGlvbigpe3RbZl0/cihwKHZvaWQgMCwhMCkpOnRbbF0ocixuKX0pLG4pfX0obix0aGlzKSk7ZWxzZXt2YXIgbz10aGlzW2hdLnJlYWQoKTtpZihudWxsIT09bylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHAobywhMSkpO3I9bmV3IFByb21pc2UodGhpc1tsXSl9cmV0dXJuIHRoaXNbZF09cixyfX0sU3ltYm9sLmFzeW5jSXRlcmF0b3IsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksbyhuLCJyZXR1cm4iLChmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LHIpe2VbaF0uZGVzdHJveShudWxsLChmdW5jdGlvbihlKXtlP3IoZSk6dChwKHZvaWQgMCwhMCkpfSkpfSkpfSkpLG4pLG0pO2UuZXhwb3J0cz1mdW5jdGlvbihlKXt2YXIgdCxyPU9iamVjdC5jcmVhdGUodiwobyh0PXt9LGgse3ZhbHVlOmUsd3JpdGFibGU6ITB9KSxvKHQscyx7dmFsdWU6bnVsbCx3cml0YWJsZTohMH0pLG8odCx1LHt2YWx1ZTpudWxsLHdyaXRhYmxlOiEwfSksbyh0LGMse3ZhbHVlOm51bGwsd3JpdGFibGU6ITB9KSxvKHQsZix7dmFsdWU6ZS5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkLHdyaXRhYmxlOiEwfSksbyh0LGwse3ZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIG49cltoXS5yZWFkKCk7bj8ocltkXT1udWxsLHJbc109bnVsbCxyW3VdPW51bGwsZShwKG4sITEpKSk6KHJbc109ZSxyW3VdPXQpfSx3cml0YWJsZTohMH0pLHQpKTtyZXR1cm4gcltkXT1udWxsLGEoZSwoZnVuY3Rpb24oZSl7aWYoZSYmIkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFIiE9PWUuY29kZSl7dmFyIHQ9clt1XTtyZXR1cm4gbnVsbCE9PXQmJihyW2RdPW51bGwscltzXT1udWxsLHJbdV09bnVsbCx0KGUpKSx2b2lkKHJbY109ZSl9dmFyIG49cltzXTtudWxsIT09biYmKHJbZF09bnVsbCxyW3NdPW51bGwsclt1XT1udWxsLG4ocCh2b2lkIDAsITApKSkscltmXT0hMH0pKSxlLm9uKCJyZWFkYWJsZSIseS5iaW5kKG51bGwscikpLHJ9fSw1MzkyOihlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQpe3ZhciByPU9iamVjdC5rZXlzKGUpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7dCYmKG49bi5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCkuZW51bWVyYWJsZX0pKSksci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gaShlLHQscil7cmV0dXJuIHQgaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpyLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1yLGV9ZnVuY3Rpb24gbyhlLHQpe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj10W3JdO24uZW51bWVyYWJsZT1uLmVudW1lcmFibGV8fCExLG4uY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBuJiYobi53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbi5rZXksbil9fXZhciBhPXIoOTAzMykuQnVmZmVyLHM9cigyMzYxKS5pbnNwZWN0LHU9cyYmcy5jdXN0b218fCJpbnNwZWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsZSksdGhpcy5oZWFkPW51bGwsdGhpcy50YWlsPW51bGwsdGhpcy5sZW5ndGg9MH12YXIgdCxyO3JldHVybiB0PWUscj1be2tleToicHVzaCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9e2RhdGE6ZSxuZXh0Om51bGx9O3RoaXMubGVuZ3RoPjA/dGhpcy50YWlsLm5leHQ9dDp0aGlzLmhlYWQ9dCx0aGlzLnRhaWw9dCwrK3RoaXMubGVuZ3RofX0se2tleToidW5zaGlmdCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9e2RhdGE6ZSxuZXh0OnRoaXMuaGVhZH07MD09PXRoaXMubGVuZ3RoJiYodGhpcy50YWlsPXQpLHRoaXMuaGVhZD10LCsrdGhpcy5sZW5ndGh9fSx7a2V5OiJzaGlmdCIsdmFsdWU6ZnVuY3Rpb24oKXtpZigwIT09dGhpcy5sZW5ndGgpe3ZhciBlPXRoaXMuaGVhZC5kYXRhO3JldHVybiAxPT09dGhpcy5sZW5ndGg/dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsOnRoaXMuaGVhZD10aGlzLmhlYWQubmV4dCwtLXRoaXMubGVuZ3RoLGV9fX0se2tleToiY2xlYXIiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsLHRoaXMubGVuZ3RoPTB9fSx7a2V5OiJqb2luIix2YWx1ZTpmdW5jdGlvbihlKXtpZigwPT09dGhpcy5sZW5ndGgpcmV0dXJuIiI7Zm9yKHZhciB0PXRoaXMuaGVhZCxyPSIiK3QuZGF0YTt0PXQubmV4dDspcis9ZSt0LmRhdGE7cmV0dXJuIHJ9fSx7a2V5OiJjb25jYXQiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKDA9PT10aGlzLmxlbmd0aClyZXR1cm4gYS5hbGxvYygwKTtmb3IodmFyIHQscixuLGk9YS5hbGxvY1Vuc2FmZShlPj4+MCksbz10aGlzLmhlYWQscz0wO287KXQ9by5kYXRhLHI9aSxuPXMsYS5wcm90b3R5cGUuY29weS5jYWxsKHQscixuKSxzKz1vLmRhdGEubGVuZ3RoLG89by5uZXh0O3JldHVybiBpfX0se2tleToiY29uc3VtZSIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgcjtyZXR1cm4gZTx0aGlzLmhlYWQuZGF0YS5sZW5ndGg/KHI9dGhpcy5oZWFkLmRhdGEuc2xpY2UoMCxlKSx0aGlzLmhlYWQuZGF0YT10aGlzLmhlYWQuZGF0YS5zbGljZShlKSk6cj1lPT09dGhpcy5oZWFkLmRhdGEubGVuZ3RoP3RoaXMuc2hpZnQoKTp0P3RoaXMuX2dldFN0cmluZyhlKTp0aGlzLl9nZXRCdWZmZXIoZSkscn19LHtrZXk6ImZpcnN0Iix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhlYWQuZGF0YX19LHtrZXk6Il9nZXRTdHJpbmciLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuaGVhZCxyPTEsbj10LmRhdGE7Zm9yKGUtPW4ubGVuZ3RoO3Q9dC5uZXh0Oyl7dmFyIGk9dC5kYXRhLG89ZT5pLmxlbmd0aD9pLmxlbmd0aDplO2lmKG89PT1pLmxlbmd0aD9uKz1pOm4rPWkuc2xpY2UoMCxlKSwwPT0oZS09bykpe289PT1pLmxlbmd0aD8oKytyLHQubmV4dD90aGlzLmhlYWQ9dC5uZXh0OnRoaXMuaGVhZD10aGlzLnRhaWw9bnVsbCk6KHRoaXMuaGVhZD10LHQuZGF0YT1pLnNsaWNlKG8pKTticmVha30rK3J9cmV0dXJuIHRoaXMubGVuZ3RoLT1yLG59fSx7a2V5OiJfZ2V0QnVmZmVyIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD1hLmFsbG9jVW5zYWZlKGUpLHI9dGhpcy5oZWFkLG49MTtmb3Ioci5kYXRhLmNvcHkodCksZS09ci5kYXRhLmxlbmd0aDtyPXIubmV4dDspe3ZhciBpPXIuZGF0YSxvPWU+aS5sZW5ndGg/aS5sZW5ndGg6ZTtpZihpLmNvcHkodCx0Lmxlbmd0aC1lLDAsbyksMD09KGUtPW8pKXtvPT09aS5sZW5ndGg/KCsrbixyLm5leHQ/dGhpcy5oZWFkPXIubmV4dDp0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwpOih0aGlzLmhlYWQ9cixyLmRhdGE9aS5zbGljZShvKSk7YnJlYWt9KytufXJldHVybiB0aGlzLmxlbmd0aC09bix0fX0se2tleTp1LHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHModGhpcyxmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1udWxsIT1hcmd1bWVudHNbdF0/YXJndW1lbnRzW3RdOnt9O3QlMj9uKE9iamVjdChyKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7aShlLHQsclt0XSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhyKSk6bihPYmplY3QocikpLmZvckVhY2goKGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLHQpKX0pKX1yZXR1cm4gZX0oe30sdCx7ZGVwdGg6MCxjdXN0b21JbnNwZWN0OiExfSkpfX1dLHImJm8odC5wcm90b3R5cGUsciksZX0oKX0sNzU3MjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTE0Mik7ZnVuY3Rpb24gaShlLHQpe2EoZSx0KSxvKGUpfWZ1bmN0aW9uIG8oZSl7ZS5fd3JpdGFibGVTdGF0ZSYmIWUuX3dyaXRhYmxlU3RhdGUuZW1pdENsb3NlfHxlLl9yZWFkYWJsZVN0YXRlJiYhZS5fcmVhZGFibGVTdGF0ZS5lbWl0Q2xvc2V8fGUuZW1pdCgiY2xvc2UiKX1mdW5jdGlvbiBhKGUsdCl7ZS5lbWl0KCJlcnJvciIsdCl9ZS5leHBvcnRzPXtkZXN0cm95OmZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcyxzPXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkLHU9dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7cmV0dXJuIHN8fHU/KHQ/dChlKTplJiYodGhpcy5fd3JpdGFibGVTdGF0ZT90aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZHx8KHRoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLG4ubmV4dFRpY2soYSx0aGlzLGUpKTpuLm5leHRUaWNrKGEsdGhpcyxlKSksdGhpcyk6KHRoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPSEwKSx0aGlzLl9kZXN0cm95KGV8fG51bGwsKGZ1bmN0aW9uKGUpeyF0JiZlP3IuX3dyaXRhYmxlU3RhdGU/ci5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ/bi5uZXh0VGljayhvLHIpOihyLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxuLm5leHRUaWNrKGkscixlKSk6bi5uZXh0VGljayhpLHIsZSk6dD8obi5uZXh0VGljayhvLHIpLHQoZSkpOm4ubmV4dFRpY2sobyxyKX0pKSx0aGlzKX0sdW5kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPSExLHRoaXMuX3JlYWRhYmxlU3RhdGUucmVhZGluZz0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZD0hMSksdGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRpbmc9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5hbENhbGxlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLnByZWZpbmlzaGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITEpfSxlcnJvck9yRGVzdHJveTpmdW5jdGlvbihlLHQpe3ZhciByPWUuX3JlYWRhYmxlU3RhdGUsbj1lLl93cml0YWJsZVN0YXRlO3ImJnIuYXV0b0Rlc3Ryb3l8fG4mJm4uYXV0b0Rlc3Ryb3k/ZS5kZXN0cm95KHQpOmUuZW1pdCgiZXJyb3IiLHQpfX19LDU4MzE6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDkwMjQpLnEuRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0U7ZnVuY3Rpb24gaSgpe31lLmV4cG9ydHM9ZnVuY3Rpb24gZSh0LHIsbyl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpcmV0dXJuIGUodCxudWxsLHIpO3J8fChyPXt9KSxvPWZ1bmN0aW9uKGUpe3ZhciB0PSExO3JldHVybiBmdW5jdGlvbigpe2lmKCF0KXt0PSEwO2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHIpLGk9MDtpPHI7aSsrKW5baV09YXJndW1lbnRzW2ldO2UuYXBwbHkodGhpcyxuKX19fShvfHxpKTt2YXIgYT1yLnJlYWRhYmxlfHwhMSE9PXIucmVhZGFibGUmJnQucmVhZGFibGUscz1yLndyaXRhYmxlfHwhMSE9PXIud3JpdGFibGUmJnQud3JpdGFibGUsdT1mdW5jdGlvbigpe3Qud3JpdGFibGV8fGYoKX0sYz10Ll93cml0YWJsZVN0YXRlJiZ0Ll93cml0YWJsZVN0YXRlLmZpbmlzaGVkLGY9ZnVuY3Rpb24oKXtzPSExLGM9ITAsYXx8by5jYWxsKHQpfSxkPXQuX3JlYWRhYmxlU3RhdGUmJnQuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCxsPWZ1bmN0aW9uKCl7YT0hMSxkPSEwLHN8fG8uY2FsbCh0KX0saD1mdW5jdGlvbihlKXtvLmNhbGwodCxlKX0scD1mdW5jdGlvbigpe3ZhciBlO3JldHVybiBhJiYhZD8odC5fcmVhZGFibGVTdGF0ZSYmdC5fcmVhZGFibGVTdGF0ZS5lbmRlZHx8KGU9bmV3IG4pLG8uY2FsbCh0LGUpKTpzJiYhYz8odC5fd3JpdGFibGVTdGF0ZSYmdC5fd3JpdGFibGVTdGF0ZS5lbmRlZHx8KGU9bmV3IG4pLG8uY2FsbCh0LGUpKTp2b2lkIDB9LGI9ZnVuY3Rpb24oKXt0LnJlcS5vbigiZmluaXNoIixmKX07cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLnNldEhlYWRlciYmImZ1bmN0aW9uIj09dHlwZW9mIGUuYWJvcnR9KHQpPyh0Lm9uKCJjb21wbGV0ZSIsZiksdC5vbigiYWJvcnQiLHApLHQucmVxP2IoKTp0Lm9uKCJyZXF1ZXN0IixiKSk6cyYmIXQuX3dyaXRhYmxlU3RhdGUmJih0Lm9uKCJlbmQiLHUpLHQub24oImNsb3NlIix1KSksdC5vbigiZW5kIixsKSx0Lm9uKCJmaW5pc2giLGYpLCExIT09ci5lcnJvciYmdC5vbigiZXJyb3IiLGgpLHQub24oImNsb3NlIixwKSxmdW5jdGlvbigpe3QucmVtb3ZlTGlzdGVuZXIoImNvbXBsZXRlIixmKSx0LnJlbW92ZUxpc3RlbmVyKCJhYm9ydCIscCksdC5yZW1vdmVMaXN0ZW5lcigicmVxdWVzdCIsYiksdC5yZXEmJnQucmVxLnJlbW92ZUxpc3RlbmVyKCJmaW5pc2giLGYpLHQucmVtb3ZlTGlzdGVuZXIoImVuZCIsdSksdC5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLHUpLHQucmVtb3ZlTGlzdGVuZXIoImZpbmlzaCIsZiksdC5yZW1vdmVMaXN0ZW5lcigiZW5kIixsKSx0LnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsaCksdC5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLHApfX19LDYyMTg6ZT0+eyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIlJlYWRhYmxlLmZyb20gaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgYnJvd3NlciIpfX0sMzg0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG4saT1yKDkwMjQpLnEsbz1pLkVSUl9NSVNTSU5HX0FSR1MsYT1pLkVSUl9TVFJFQU1fREVTVFJPWUVEO2Z1bmN0aW9uIHMoZSl7aWYoZSl0aHJvdyBlfWZ1bmN0aW9uIHUoZSx0LGksbyl7bz1mdW5jdGlvbihlKXt2YXIgdD0hMTtyZXR1cm4gZnVuY3Rpb24oKXt0fHwodD0hMCxlLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX19KG8pO3ZhciBzPSExO2Uub24oImNsb3NlIiwoZnVuY3Rpb24oKXtzPSEwfSkpLHZvaWQgMD09PW4mJihuPXIoNTgzMSkpLG4oZSx7cmVhZGFibGU6dCx3cml0YWJsZTppfSwoZnVuY3Rpb24oZSl7aWYoZSlyZXR1cm4gbyhlKTtzPSEwLG8oKX0pKTt2YXIgdT0hMTtyZXR1cm4gZnVuY3Rpb24odCl7aWYoIXMmJiF1KXJldHVybiB1PSEwLGZ1bmN0aW9uKGUpe3JldHVybiBlLnNldEhlYWRlciYmImZ1bmN0aW9uIj09dHlwZW9mIGUuYWJvcnR9KGUpP2UuYWJvcnQoKToiZnVuY3Rpb24iPT10eXBlb2YgZS5kZXN0cm95P2UuZGVzdHJveSgpOnZvaWQgbyh0fHxuZXcgYSgicGlwZSIpKX19ZnVuY3Rpb24gYyhlKXtlKCl9ZnVuY3Rpb24gZihlLHQpe3JldHVybiBlLnBpcGUodCl9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZS5sZW5ndGg/ImZ1bmN0aW9uIiE9dHlwZW9mIGVbZS5sZW5ndGgtMV0/czplLnBvcCgpOnN9ZS5leHBvcnRzPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZSkscj0wO3I8ZTtyKyspdFtyXT1hcmd1bWVudHNbcl07dmFyIG4saT1kKHQpO2lmKEFycmF5LmlzQXJyYXkodFswXSkmJih0PXRbMF0pLHQubGVuZ3RoPDIpdGhyb3cgbmV3IG8oInN0cmVhbXMiKTt2YXIgYT10Lm1hcCgoZnVuY3Rpb24oZSxyKXt2YXIgbz1yPHQubGVuZ3RoLTE7cmV0dXJuIHUoZSxvLHI+MCwoZnVuY3Rpb24oZSl7bnx8KG49ZSksZSYmYS5mb3JFYWNoKGMpLG98fChhLmZvckVhY2goYyksaShuKSl9KSl9KSk7cmV0dXJuIHQucmVkdWNlKGYpfX0sNjc1NjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTAyNCkucS5FUlJfSU5WQUxJRF9PUFRfVkFMVUU7ZS5leHBvcnRzPXtnZXRIaWdoV2F0ZXJNYXJrOmZ1bmN0aW9uKGUsdCxyLGkpe3ZhciBvPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gbnVsbCE9ZS5oaWdoV2F0ZXJNYXJrP2UuaGlnaFdhdGVyTWFyazp0P2Vbcl06bnVsbH0odCxpLHIpO2lmKG51bGwhPW8pe2lmKCFpc0Zpbml0ZShvKXx8TWF0aC5mbG9vcihvKSE9PW98fG88MCl0aHJvdyBuZXcgbihpP3I6ImhpZ2hXYXRlck1hcmsiLG8pO3JldHVybiBNYXRoLmZsb29yKG8pfXJldHVybiBlLm9iamVjdE1vZGU/MTY6MTYzODR9fX0sNzE0NDooZSx0LHIpPT57InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1yKDgyOTEpLkV2ZW50RW1pdHRlcn0sNjUwNTooZSx0LHIpPT57InVzZSBzdHJpY3QiOyh0PWUuZXhwb3J0cz1yKDYyOTcpKS5TdHJlYW09dCx0LlJlYWRhYmxlPXQsdC5Xcml0YWJsZT1yKDE0NzEpLHQuRHVwbGV4PXIoNjg4NCksdC5UcmFuc2Zvcm09cig5MTU0KSx0LlBhc3NUaHJvdWdoPXIoMzU4MiksdC5maW5pc2hlZD1yKDU4MzEpLHQucGlwZWxpbmU9cigzODQpfSw2NzA3OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXIsaT1yKDE3MzYpLG89cigyMzUzKSxhPW5ldyBBcnJheSgxNikscz1bMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSw3LDQsMTMsMSwxMCw2LDE1LDMsMTIsMCw5LDUsMiwxNCwxMSw4LDMsMTAsMTQsNCw5LDE1LDgsMSwyLDcsMCw2LDEzLDExLDUsMTIsMSw5LDExLDEwLDAsOCwxMiw0LDEzLDMsNywxNSwxNCw1LDYsMiw0LDAsNSw5LDcsMTIsMiwxMCwxNCwxLDMsOCwxMSw2LDE1LDEzXSx1PVs1LDE0LDcsMCw5LDIsMTEsNCwxMyw2LDE1LDgsMSwxMCwzLDEyLDYsMTEsMyw3LDAsMTMsNSwxMCwxNCwxNSw4LDEyLDQsOSwxLDIsMTUsNSwxLDMsNywxNCw2LDksMTEsOCwxMiwyLDEwLDAsNCwxMyw4LDYsNCwxLDMsMTEsMTUsMCw1LDEyLDIsMTMsOSw3LDEwLDE0LDEyLDE1LDEwLDQsMSw1LDgsNyw2LDIsMTMsMTQsMCwzLDksMTFdLGM9WzExLDE0LDE1LDEyLDUsOCw3LDksMTEsMTMsMTQsMTUsNiw3LDksOCw3LDYsOCwxMywxMSw5LDcsMTUsNywxMiwxNSw5LDExLDcsMTMsMTIsMTEsMTMsNiw3LDE0LDksMTMsMTUsMTQsOCwxMyw2LDUsMTIsNyw1LDExLDEyLDE0LDE1LDE0LDE1LDksOCw5LDE0LDUsNiw4LDYsNSwxMiw5LDE1LDUsMTEsNiw4LDEzLDEyLDUsMTIsMTMsMTQsMTEsOCw1LDZdLGY9WzgsOSw5LDExLDEzLDE1LDE1LDUsNyw3LDgsMTEsMTQsMTQsMTIsNiw5LDEzLDE1LDcsMTIsOCw5LDExLDcsNywxMiw3LDYsMTUsMTMsMTEsOSw3LDE1LDExLDgsNiw2LDE0LDEyLDEzLDUsMTQsMTMsMTMsNyw1LDE1LDUsOCwxMSwxNCwxNCw2LDE0LDYsOSwxMiw5LDEyLDUsMTUsOCw4LDUsMTIsOSwxMiw1LDE0LDYsOCwxMyw2LDUsMTUsMTMsMTEsMTFdLGQ9WzAsMTUxODUwMDI0OSwxODU5Nzc1MzkzLDI0MDA5NTk3MDgsMjg0MDg1MzgzOF0sbD1bMTM1MjgyOTkyNiwxNTQ4NjAzNjg0LDE4MzYwNzI2OTEsMjA1Mzk5NDIxNywwXTtmdW5jdGlvbiBoKCl7by5jYWxsKHRoaXMsNjQpLHRoaXMuX2E9MTczMjU4NDE5Myx0aGlzLl9iPTQwMjMyMzM0MTcsdGhpcy5fYz0yNTYyMzgzMTAyLHRoaXMuX2Q9MjcxNzMzODc4LHRoaXMuX2U9MzI4NTM3NzUyMH1mdW5jdGlvbiBwKGUsdCl7cmV0dXJuIGU8PHR8ZT4+PjMyLXR9ZnVuY3Rpb24gYihlLHQscixuLGksbyxhLHMpe3JldHVybiBwKGUrKHRecl5uKStvK2F8MCxzKStpfDB9ZnVuY3Rpb24geShlLHQscixuLGksbyxhLHMpe3JldHVybiBwKGUrKHQmcnx+dCZuKStvK2F8MCxzKStpfDB9ZnVuY3Rpb24gbShlLHQscixuLGksbyxhLHMpe3JldHVybiBwKGUrKCh0fH5yKV5uKStvK2F8MCxzKStpfDB9ZnVuY3Rpb24gdihlLHQscixuLGksbyxhLHMpe3JldHVybiBwKGUrKHQmbnxyJn5uKStvK2F8MCxzKStpfDB9ZnVuY3Rpb24gZyhlLHQscixuLGksbyxhLHMpe3JldHVybiBwKGUrKHReKHJ8fm4pKStvK2F8MCxzKStpfDB9aShoLG8pLGgucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oKXtmb3IodmFyIGU9YSx0PTA7dDwxNjsrK3QpZVt0XT10aGlzLl9ibG9jay5yZWFkSW50MzJMRSg0KnQpO2Zvcih2YXIgcj0wfHRoaXMuX2Esbj0wfHRoaXMuX2IsaT0wfHRoaXMuX2Msbz0wfHRoaXMuX2QsaD0wfHRoaXMuX2Usdz0wfHRoaXMuX2EsQT0wfHRoaXMuX2Isaz0wfHRoaXMuX2MsXz0wfHRoaXMuX2QsUz0wfHRoaXMuX2UseD0wO3g8ODA7eCs9MSl7dmFyIEUsUDt4PDE2PyhFPWIocixuLGksbyxoLGVbc1t4XV0sZFswXSxjW3hdKSxQPWcodyxBLGssXyxTLGVbdVt4XV0sbFswXSxmW3hdKSk6eDwzMj8oRT15KHIsbixpLG8saCxlW3NbeF1dLGRbMV0sY1t4XSksUD12KHcsQSxrLF8sUyxlW3VbeF1dLGxbMV0sZlt4XSkpOng8NDg/KEU9bShyLG4saSxvLGgsZVtzW3hdXSxkWzJdLGNbeF0pLFA9bSh3LEEsayxfLFMsZVt1W3hdXSxsWzJdLGZbeF0pKTp4PDY0PyhFPXYocixuLGksbyxoLGVbc1t4XV0sZFszXSxjW3hdKSxQPXkodyxBLGssXyxTLGVbdVt4XV0sbFszXSxmW3hdKSk6KEU9ZyhyLG4saSxvLGgsZVtzW3hdXSxkWzRdLGNbeF0pLFA9Yih3LEEsayxfLFMsZVt1W3hdXSxsWzRdLGZbeF0pKSxyPWgsaD1vLG89cChpLDEwKSxpPW4sbj1FLHc9UyxTPV8sXz1wKGssMTApLGs9QSxBPVB9dmFyIE89dGhpcy5fYitpK198MDt0aGlzLl9iPXRoaXMuX2MrbytTfDAsdGhpcy5fYz10aGlzLl9kK2grd3wwLHRoaXMuX2Q9dGhpcy5fZStyK0F8MCx0aGlzLl9lPXRoaXMuX2ErbitrfDAsdGhpcy5fYT1PfSxoLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKCl7dGhpcy5fYmxvY2tbdGhpcy5fYmxvY2tPZmZzZXQrK109MTI4LHRoaXMuX2Jsb2NrT2Zmc2V0PjU2JiYodGhpcy5fYmxvY2suZmlsbCgwLHRoaXMuX2Jsb2NrT2Zmc2V0LDY0KSx0aGlzLl91cGRhdGUoKSx0aGlzLl9ibG9ja09mZnNldD0wKSx0aGlzLl9ibG9jay5maWxsKDAsdGhpcy5fYmxvY2tPZmZzZXQsNTYpLHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzBdLDU2KSx0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxFKHRoaXMuX2xlbmd0aFsxXSw2MCksdGhpcy5fdXBkYXRlKCk7dmFyIGU9bi5hbGxvYz9uLmFsbG9jKDIwKTpuZXcgbigyMCk7cmV0dXJuIGUud3JpdGVJbnQzMkxFKHRoaXMuX2EsMCksZS53cml0ZUludDMyTEUodGhpcy5fYiw0KSxlLndyaXRlSW50MzJMRSh0aGlzLl9jLDgpLGUud3JpdGVJbnQzMkxFKHRoaXMuX2QsMTIpLGUud3JpdGVJbnQzMkxFKHRoaXMuX2UsMTYpLGV9LGUuZXhwb3J0cz1ofSw2OTA1OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZ2V0TGVuZ3RoPXQuZGVjb2RlPXQuZW5jb2RlPXZvaWQgMDt2YXIgaSxvPShpPXIoMTczNCkpJiZpLl9fZXNNb2R1bGU/aTp7ZGVmYXVsdDppfTtmdW5jdGlvbiBhKGUsdCl7aWYoIjAiPT09ZVswXSYmIjAiPT09ZVsxXSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgUkxQOiBleHRyYSB6ZXJvcyIpO3JldHVybiBwYXJzZUludChlLHQpfWZ1bmN0aW9uIHMoZSx0KXtpZihlPDU2KXJldHVybiBuLmZyb20oW2UrdF0pO3ZhciByPWYoZSksaT1mKHQrNTUrci5sZW5ndGgvMik7cmV0dXJuIG4uZnJvbShpK3IsImhleCIpfWZ1bmN0aW9uIHUoZSl7dmFyIHQscixpLG8scyxjPVtdLGY9ZVswXTtpZihmPD0xMjcpcmV0dXJue2RhdGE6ZS5zbGljZSgwLDEpLHJlbWFpbmRlcjplLnNsaWNlKDEpfTtpZihmPD0xODMpe2lmKHQ9Zi0xMjcsaT0xMjg9PT1mP24uZnJvbShbXSk6ZS5zbGljZSgxLHQpLDI9PT10JiZpWzBdPDEyOCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcmxwIGVuY29kaW5nOiBieXRlIG11c3QgYmUgbGVzcyAweDgwIik7cmV0dXJue2RhdGE6aSxyZW1haW5kZXI6ZS5zbGljZSh0KX19aWYoZjw9MTkxKXtpZihyPWYtMTgyLGUubGVuZ3RoLTE8cil0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgUkxQOiBub3QgZW5vdWdoIGJ5dGVzIGZvciBzdHJpbmcgbGVuZ3RoIik7aWYoKHQ9YShlLnNsaWNlKDEscikudG9TdHJpbmcoImhleCIpLDE2KSk8PTU1KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBSTFA6IGV4cGVjdGVkIHN0cmluZyBsZW5ndGggdG8gYmUgZ3JlYXRlciB0aGFuIDU1Iik7aWYoKGk9ZS5zbGljZShyLHQrcikpLmxlbmd0aDx0KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBSTFA6IG5vdCBlbm91Z2ggYnl0ZXMgZm9yIHN0cmluZyIpO3JldHVybntkYXRhOmkscmVtYWluZGVyOmUuc2xpY2UodCtyKX19aWYoZjw9MjQ3KXtmb3IodD1mLTE5MSxvPWUuc2xpY2UoMSx0KTtvLmxlbmd0aDspcz11KG8pLGMucHVzaChzLmRhdGEpLG89cy5yZW1haW5kZXI7cmV0dXJue2RhdGE6YyxyZW1haW5kZXI6ZS5zbGljZSh0KX19dmFyIGQ9KHI9Zi0yNDYpKyh0PWEoZS5zbGljZSgxLHIpLnRvU3RyaW5nKCJoZXgiKSwxNikpO2lmKGQ+ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHJscDogdG90YWwgbGVuZ3RoIGlzIGxhcmdlciB0aGFuIHRoZSBkYXRhIik7aWYoMD09PShvPWUuc2xpY2UocixkKSkubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBybHAsIExpc3QgaGFzIGEgaW52YWxpZCBsZW5ndGgiKTtmb3IoO28ubGVuZ3RoOylzPXUobyksYy5wdXNoKHMuZGF0YSksbz1zLnJlbWFpbmRlcjtyZXR1cm57ZGF0YTpjLHJlbWFpbmRlcjplLnNsaWNlKGQpfX1mdW5jdGlvbiBjKGUpe3JldHVybiIweCI9PT1lLnNsaWNlKDAsMil9ZnVuY3Rpb24gZihlKXtpZihlPDApdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGludGVnZXIgYXMgYXJndW1lbnQsIG11c3QgYmUgdW5zaWduZWQhIik7dmFyIHQ9ZS50b1N0cmluZygxNik7cmV0dXJuIHQubGVuZ3RoJTI/IjAiK3Q6dH1mdW5jdGlvbiBkKGUpe2lmKCFuLmlzQnVmZmVyKGUpKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGMoZSk/bi5mcm9tKChyPSJzdHJpbmciIT10eXBlb2YoaT1lKT9pOmMoaSk/aS5zbGljZSgyKTppKS5sZW5ndGglMj8iMCIrcjpyLCJoZXgiKTpuLmZyb20oZSk7aWYoIm51bWJlciI9PXR5cGVvZiBlfHwiYmlnaW50Ij09dHlwZW9mIGUpcmV0dXJuIGU/KHQ9ZihlKSxuLmZyb20odCwiaGV4IikpOm4uZnJvbShbXSk7aWYobnVsbD09ZSlyZXR1cm4gbi5mcm9tKFtdKTtpZihlIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gbi5mcm9tKGUpO2lmKG8uZGVmYXVsdC5pc0JOKGUpKXJldHVybiBuLmZyb20oZS50b0FycmF5KCkpO3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCB0eXBlIil9dmFyIHQscixpO3JldHVybiBlfXQuZW5jb2RlPWZ1bmN0aW9uIGUodCl7aWYoQXJyYXkuaXNBcnJheSh0KSl7Zm9yKHZhciByPVtdLGk9MDtpPHQubGVuZ3RoO2krKylyLnB1c2goZSh0W2ldKSk7dmFyIG89bi5jb25jYXQocik7cmV0dXJuIG4uY29uY2F0KFtzKG8ubGVuZ3RoLDE5Miksb10pfXZhciBhPWQodCk7cmV0dXJuIDE9PT1hLmxlbmd0aCYmYVswXTwxMjg/YTpuLmNvbmNhdChbcyhhLmxlbmd0aCwxMjgpLGFdKX0sdC5kZWNvZGU9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDA9PT10JiYodD0hMSksIWV8fDA9PT1lLmxlbmd0aClyZXR1cm4gbi5mcm9tKFtdKTt2YXIgcj11KGQoZSkpO2lmKHQpcmV0dXJuIHI7aWYoMCE9PXIucmVtYWluZGVyLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcmVtYWluZGVyIik7cmV0dXJuIHIuZGF0YX0sdC5nZXRMZW5ndGg9ZnVuY3Rpb24oZSl7aWYoIWV8fDA9PT1lLmxlbmd0aClyZXR1cm4gbi5mcm9tKFtdKTt2YXIgdD1kKGUpLHI9dFswXTtpZihyPD0xMjcpcmV0dXJuIHQubGVuZ3RoO2lmKHI8PTE4MylyZXR1cm4gci0xMjc7aWYocjw9MTkxKXJldHVybiByLTE4MjtpZihyPD0yNDcpcmV0dXJuIHItMTkxO3ZhciBpPXItMjQ2O3JldHVybiBpK2EodC5zbGljZSgxLGkpLnRvU3RyaW5nKCJoZXgiKSwxNil9fSw4ODUwOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKSxpPW4uQnVmZmVyO2Z1bmN0aW9uIG8oZSx0KXtmb3IodmFyIHIgaW4gZSl0W3JdPWVbcl19ZnVuY3Rpb24gYShlLHQscil7cmV0dXJuIGkoZSx0LHIpfWkuZnJvbSYmaS5hbGxvYyYmaS5hbGxvY1Vuc2FmZSYmaS5hbGxvY1Vuc2FmZVNsb3c/ZS5leHBvcnRzPW46KG8obix0KSx0LkJ1ZmZlcj1hKSxhLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGkucHJvdG90eXBlKSxvKGksYSksYS5mcm9tPWZ1bmN0aW9uKGUsdCxyKXtpZigibnVtYmVyIj09dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBub3QgYmUgYSBudW1iZXIiKTtyZXR1cm4gaShlLHQscil9LGEuYWxsb2M9ZnVuY3Rpb24oZSx0LHIpe2lmKCJudW1iZXIiIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7dmFyIG49aShlKTtyZXR1cm4gdm9pZCAwIT09dD8ic3RyaW5nIj09dHlwZW9mIHI/bi5maWxsKHQscik6bi5maWxsKHQpOm4uZmlsbCgwKSxufSxhLmFsbG9jVW5zYWZlPWZ1bmN0aW9uKGUpe2lmKCJudW1iZXIiIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7cmV0dXJuIGkoZSl9LGEuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKGUpe2lmKCJudW1iZXIiIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7cmV0dXJuIG4uU2xvd0J1ZmZlcihlKX19LDE3NTU6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbixpPXIoOTE0Miksbz1yKDg4NDcpKHIoMzM1NSkpLGE9cig5MDMzKSxzPWEuQnVmZmVyLHU9e307Zm9yKG4gaW4gYSlhLmhhc093blByb3BlcnR5KG4pJiYiU2xvd0J1ZmZlciIhPT1uJiYiQnVmZmVyIiE9PW4mJih1W25dPWFbbl0pO3ZhciBjPXUuQnVmZmVyPXt9O2ZvcihuIGluIHMpcy5oYXNPd25Qcm9wZXJ0eShuKSYmImFsbG9jVW5zYWZlIiE9PW4mJiJhbGxvY1Vuc2FmZVNsb3ciIT09biYmKGNbbl09c1tuXSk7aWYodS5CdWZmZXIucHJvdG90eXBlPXMucHJvdG90eXBlLGMuZnJvbSYmYy5mcm9tIT09VWludDhBcnJheS5mcm9tfHwoYy5mcm9tPWZ1bmN0aW9uKGUsdCxyKXtpZigibnVtYmVyIj09dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJ2YWx1ZSIgYXJndW1lbnQgbXVzdCBub3QgYmUgb2YgdHlwZSBudW1iZXIuIFJlY2VpdmVkIHR5cGUgJysoMCxvLmRlZmF1bHQpKGUpKTtpZihlJiZ2b2lkIDA9PT1lLmxlbmd0aCl0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCBvciBBcnJheS1saWtlIE9iamVjdC4gUmVjZWl2ZWQgdHlwZSAiKygwLG8uZGVmYXVsdCkoZSkpO3JldHVybiBzKGUsdCxyKX0pLGMuYWxsb2N8fChjLmFsbG9jPWZ1bmN0aW9uKGUsdCxyKXtpZigibnVtYmVyIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJzaXplIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgbnVtYmVyLiBSZWNlaXZlZCB0eXBlICcrKDAsby5kZWZhdWx0KShlKSk7aWYoZTwwfHxlPj0yKigxPDwzMCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSAiJytlKyciIGlzIGludmFsaWQgZm9yIG9wdGlvbiAic2l6ZSInKTt2YXIgbj1zKGUpO3JldHVybiB0JiYwIT09dC5sZW5ndGg/InN0cmluZyI9PXR5cGVvZiByP24uZmlsbCh0LHIpOm4uZmlsbCh0KTpuLmZpbGwoMCksbn0pLCF1LmtTdHJpbmdNYXhMZW5ndGgpdHJ5e3Uua1N0cmluZ01heExlbmd0aD1pLmJpbmRpbmcoImJ1ZmZlciIpLmtTdHJpbmdNYXhMZW5ndGh9Y2F0Y2goZSl7fXUuY29uc3RhbnRzfHwodS5jb25zdGFudHM9e01BWF9MRU5HVEg6dS5rTWF4TGVuZ3RofSx1LmtTdHJpbmdNYXhMZW5ndGgmJih1LmNvbnN0YW50cy5NQVhfU1RSSU5HX0xFTkdUSD11LmtTdHJpbmdNYXhMZW5ndGgpKSxlLmV4cG9ydHM9dX0sNzc5OTplPT57InVzZSBzdHJpY3QiOyFmdW5jdGlvbih0KXt2YXIgcj0yMTQ3NDgzNjQ3O2Z1bmN0aW9uIG4oZSl7dmFyIHQ9bmV3IFVpbnQzMkFycmF5KFsxMTE2MzUyNDA4LDE4OTk0NDc0NDEsMzA0OTMyMzQ3MSwzOTIxMDA5NTczLDk2MTk4NzE2MywxNTA4OTcwOTkzLDI0NTM2MzU3NDgsMjg3MDc2MzIyMSwzNjI0MzgxMDgwLDMxMDU5ODQwMSw2MDcyMjUyNzgsMTQyNjg4MTk4NywxOTI1MDc4Mzg4LDIxNjIwNzgyMDYsMjYxNDg4ODEwMywzMjQ4MjIyNTgwLDM4MzUzOTA0MDEsNDAyMjIyNDc3NCwyNjQzNDcwNzgsNjA0ODA3NjI4LDc3MDI1NTk4MywxMjQ5MTUwMTIyLDE1NTUwODE2OTIsMTk5NjA2NDk4NiwyNTU0MjIwODgyLDI4MjE4MzQzNDksMjk1Mjk5NjgwOCwzMjEwMzEzNjcxLDMzMzY1NzE4OTEsMzU4NDUyODcxMSwxMTM5MjY5OTMsMzM4MjQxODk1LDY2NjMwNzIwNSw3NzM1Mjk5MTIsMTI5NDc1NzM3MiwxMzk2MTgyMjkxLDE2OTUxODM3MDAsMTk4NjY2MTA1MSwyMTc3MDI2MzUwLDI0NTY5NTYwMzcsMjczMDQ4NTkyMSwyODIwMzAyNDExLDMyNTk3MzA4MDAsMzM0NTc2NDc3MSwzNTE2MDY1ODE3LDM2MDAzNTI4MDQsNDA5NDU3MTkwOSwyNzU0MjMzNDQsNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdKSxyPTE3NzkwMzM3MDMsbj0zMTQ0MTM0Mjc3LGk9MTAxMzkwNDI0MixvPTI3NzM0ODA3NjIsYT0xMzU5ODkzMTE5LHM9MjYwMDgyMjkyNCx1PTUyODczNDYzNSxjPTE1NDE0NTkyMjUsZj1uZXcgVWludDMyQXJyYXkoNjQpO2Z1bmN0aW9uIGQoZSl7Zm9yKHZhciBkPTAsbD1lLmxlbmd0aDtsPj02NDspe3ZhciBoPXIscD1uLGI9aSx5PW8sbT1hLHY9cyxnPXUsdz1jLEE9dm9pZCAwLGs9dm9pZCAwLF89dm9pZCAwLFM9dm9pZCAwLHg9dm9pZCAwO2ZvcihrPTA7azwxNjtrKyspXz1kKzQqayxmW2tdPSgyNTUmZVtfXSk8PDI0fCgyNTUmZVtfKzFdKTw8MTZ8KDI1NSZlW18rMl0pPDw4fDI1NSZlW18rM107Zm9yKGs9MTY7azw2NDtrKyspUz0oKEE9ZltrLTJdKT4+PjE3fEE8PDE1KV4oQT4+PjE5fEE8PDEzKV5BPj4+MTAseD0oKEE9ZltrLTE1XSk+Pj43fEE8PDI1KV4oQT4+PjE4fEE8PDE0KV5BPj4+MyxmW2tdPShTK2Zbay03XXwwKSsoeCtmW2stMTZdfDApfDA7Zm9yKGs9MDtrPDY0O2srKylTPSgoKG0+Pj42fG08PDI2KV4obT4+PjExfG08PDIxKV4obT4+PjI1fG08PDcpKSsobSZ2Xn5tJmcpfDApKyh3Kyh0W2tdK2Zba118MCl8MCl8MCx4PSgoaD4+PjJ8aDw8MzApXihoPj4+MTN8aDw8MTkpXihoPj4+MjJ8aDw8MTApKSsoaCZwXmgmYl5wJmIpfDAsdz1nLGc9dix2PW0sbT15K1N8MCx5PWIsYj1wLHA9aCxoPVMreHwwO3I9citofDAsbj1uK3B8MCxpPWkrYnwwLG89byt5fDAsYT1hK218MCxzPXMrdnwwLHU9dStnfDAsYz1jK3d8MCxkKz02NCxsLT02NH19ZChlKTt2YXIgbCxoPWUubGVuZ3RoJTY0LHA9ZS5sZW5ndGgvNTM2ODcwOTEyfDAsYj1lLmxlbmd0aDw8Myx5PWg8NTY/NTY6MTIwLG09ZS5zbGljZShlLmxlbmd0aC1oLGUubGVuZ3RoKTtmb3IobS5wdXNoKDEyOCksbD1oKzE7bDx5O2wrKyltLnB1c2goMCk7cmV0dXJuIG0ucHVzaChwPj4+MjQmMjU1KSxtLnB1c2gocD4+PjE2JjI1NSksbS5wdXNoKHA+Pj44JjI1NSksbS5wdXNoKHA+Pj4wJjI1NSksbS5wdXNoKGI+Pj4yNCYyNTUpLG0ucHVzaChiPj4+MTYmMjU1KSxtLnB1c2goYj4+PjgmMjU1KSxtLnB1c2goYj4+PjAmMjU1KSxkKG0pLFtyPj4+MjQmMjU1LHI+Pj4xNiYyNTUscj4+PjgmMjU1LHI+Pj4wJjI1NSxuPj4+MjQmMjU1LG4+Pj4xNiYyNTUsbj4+PjgmMjU1LG4+Pj4wJjI1NSxpPj4+MjQmMjU1LGk+Pj4xNiYyNTUsaT4+PjgmMjU1LGk+Pj4wJjI1NSxvPj4+MjQmMjU1LG8+Pj4xNiYyNTUsbz4+PjgmMjU1LG8+Pj4wJjI1NSxhPj4+MjQmMjU1LGE+Pj4xNiYyNTUsYT4+PjgmMjU1LGE+Pj4wJjI1NSxzPj4+MjQmMjU1LHM+Pj4xNiYyNTUscz4+PjgmMjU1LHM+Pj4wJjI1NSx1Pj4+MjQmMjU1LHU+Pj4xNiYyNTUsdT4+PjgmMjU1LHU+Pj4wJjI1NSxjPj4+MjQmMjU1LGM+Pj4xNiYyNTUsYz4+PjgmMjU1LGM+Pj4wJjI1NV19ZnVuY3Rpb24gaShlLHQscil7ZT1lLmxlbmd0aDw9NjQ/ZTpuKGUpO3ZhciBpLG89NjQrdC5sZW5ndGgrNCxhPW5ldyBBcnJheShvKSxzPW5ldyBBcnJheSg2NCksdT1bXTtmb3IoaT0wO2k8NjQ7aSsrKWFbaV09NTQ7Zm9yKGk9MDtpPGUubGVuZ3RoO2krKylhW2ldXj1lW2ldO2ZvcihpPTA7aTx0Lmxlbmd0aDtpKyspYVs2NCtpXT10W2ldO2ZvcihpPW8tNDtpPG87aSsrKWFbaV09MDtmb3IoaT0wO2k8NjQ7aSsrKXNbaV09OTI7Zm9yKGk9MDtpPGUubGVuZ3RoO2krKylzW2ldXj1lW2ldO2Z1bmN0aW9uIGMoKXtmb3IodmFyIGU9by0xO2U+PW8tNDtlLS0pe2lmKGFbZV0rKyxhW2VdPD0yNTUpcmV0dXJuO2FbZV09MH19Zm9yKDtyPj0zMjspYygpLHU9dS5jb25jYXQobihzLmNvbmNhdChuKGEpKSkpLHItPTMyO3JldHVybiByPjAmJihjKCksdT11LmNvbmNhdChuKHMuY29uY2F0KG4oYSkpKS5zbGljZSgwLHIpKSksdX1mdW5jdGlvbiBvKGUsdCxyLG4saSl7dmFyIG87Zm9yKGMoZSwxNiooMipyLTEpLGksMCwxNiksbz0wO288MipyO28rKyl1KGUsMTYqbyxpLDE2KSxzKGksbiksYyhpLDAsZSx0KzE2Km8sMTYpO2ZvcihvPTA7bzxyO28rKyljKGUsdCsyKm8qMTYsZSwxNipvLDE2KTtmb3Iobz0wO288cjtvKyspYyhlLHQrMTYqKDIqbysxKSxlLDE2KihvK3IpLDE2KX1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGU8PHR8ZT4+PjMyLXR9ZnVuY3Rpb24gcyhlLHQpe2MoZSwwLHQsMCwxNik7Zm9yKHZhciByPTg7cj4wO3ItPTIpdFs0XV49YSh0WzBdK3RbMTJdLDcpLHRbOF1ePWEodFs0XSt0WzBdLDkpLHRbMTJdXj1hKHRbOF0rdFs0XSwxMyksdFswXV49YSh0WzEyXSt0WzhdLDE4KSx0WzldXj1hKHRbNV0rdFsxXSw3KSx0WzEzXV49YSh0WzldK3RbNV0sOSksdFsxXV49YSh0WzEzXSt0WzldLDEzKSx0WzVdXj1hKHRbMV0rdFsxM10sMTgpLHRbMTRdXj1hKHRbMTBdK3RbNl0sNyksdFsyXV49YSh0WzE0XSt0WzEwXSw5KSx0WzZdXj1hKHRbMl0rdFsxNF0sMTMpLHRbMTBdXj1hKHRbNl0rdFsyXSwxOCksdFszXV49YSh0WzE1XSt0WzExXSw3KSx0WzddXj1hKHRbM10rdFsxNV0sOSksdFsxMV1ePWEodFs3XSt0WzNdLDEzKSx0WzE1XV49YSh0WzExXSt0WzddLDE4KSx0WzFdXj1hKHRbMF0rdFszXSw3KSx0WzJdXj1hKHRbMV0rdFswXSw5KSx0WzNdXj1hKHRbMl0rdFsxXSwxMyksdFswXV49YSh0WzNdK3RbMl0sMTgpLHRbNl1ePWEodFs1XSt0WzRdLDcpLHRbN11ePWEodFs2XSt0WzVdLDkpLHRbNF1ePWEodFs3XSt0WzZdLDEzKSx0WzVdXj1hKHRbNF0rdFs3XSwxOCksdFsxMV1ePWEodFsxMF0rdFs5XSw3KSx0WzhdXj1hKHRbMTFdK3RbMTBdLDkpLHRbOV1ePWEodFs4XSt0WzExXSwxMyksdFsxMF1ePWEodFs5XSt0WzhdLDE4KSx0WzEyXV49YSh0WzE1XSt0WzE0XSw3KSx0WzEzXV49YSh0WzEyXSt0WzE1XSw5KSx0WzE0XV49YSh0WzEzXSt0WzEyXSwxMyksdFsxNV1ePWEodFsxNF0rdFsxM10sMTgpO2Zvcih2YXIgbj0wO248MTY7KytuKWVbbl0rPXRbbl19ZnVuY3Rpb24gdShlLHQscixuKXtmb3IodmFyIGk9MDtpPG47aSsrKXJbaV1ePWVbdCtpXX1mdW5jdGlvbiBjKGUsdCxyLG4saSl7Zm9yKDtpLS07KXJbbisrXT1lW3QrK119ZnVuY3Rpb24gZihlKXtpZighZXx8Im51bWJlciIhPXR5cGVvZiBlLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIHI9ZVt0XTtpZigibnVtYmVyIiE9dHlwZW9mIHJ8fHIlMXx8cjwwfHxyPj0yNTYpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gZChlLHQpe2lmKCJudW1iZXIiIT10eXBlb2YgZXx8ZSUxKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCAiK3QpO3JldHVybiBlfWZ1bmN0aW9uIGwoZSx0LG4sYSxzLGwsaCl7aWYobj1kKG4sIk4iKSxhPWQoYSwiciIpLHM9ZChzLCJwIiksbD1kKGwsImRrTGVuIiksMD09PW58fDAhPShuJm4tMSkpdGhyb3cgbmV3IEVycm9yKCJOIG11c3QgYmUgcG93ZXIgb2YgMiIpO2lmKG4+ci8xMjgvYSl0aHJvdyBuZXcgRXJyb3IoIk4gdG9vIGxhcmdlIik7aWYoYT5yLzEyOC9zKXRocm93IG5ldyBFcnJvcigiciB0b28gbGFyZ2UiKTtpZighZihlKSl0aHJvdyBuZXcgRXJyb3IoInBhc3N3b3JkIG11c3QgYmUgYW4gYXJyYXkgb3IgYnVmZmVyIik7aWYoZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlKSwhZih0KSl0aHJvdyBuZXcgRXJyb3IoInNhbHQgbXVzdCBiZSBhbiBhcnJheSBvciBidWZmZXIiKTt0PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQpO2Zvcih2YXIgcD1pKGUsdCwxMjgqcyphKSxiPW5ldyBVaW50MzJBcnJheSgzMipzKmEpLHk9MDt5PGIubGVuZ3RoO3krKyl7dmFyIG09NCp5O2JbeV09KDI1NSZwW20rM10pPDwyNHwoMjU1JnBbbSsyXSk8PDE2fCgyNTUmcFttKzFdKTw8OHwoMjU1JnBbbSswXSk8PDB9dmFyIHYsZyx3PW5ldyBVaW50MzJBcnJheSg2NCphKSxBPW5ldyBVaW50MzJBcnJheSgzMiphKm4pLGs9MzIqYSxfPW5ldyBVaW50MzJBcnJheSgxNiksUz1uZXcgVWludDMyQXJyYXkoMTYpLHg9cypuKjIsRT0wLFA9bnVsbCxPPSExLEI9MCxUPTAsQz1oP3BhcnNlSW50KDFlMy9hKTo0Mjk0OTY3Mjk1LEk9InVuZGVmaW5lZCIhPXR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOnNldFRpbWVvdXQsTT1mdW5jdGlvbiB0KCl7aWYoTylyZXR1cm4gaChuZXcgRXJyb3IoImNhbmNlbGxlZCIpLEUveCk7dmFyIHI7c3dpdGNoKEIpe2Nhc2UgMDpjKGIsZz0zMipUKmEsdywwLGspLEI9MSx2PTA7Y2FzZSAxOihyPW4tdik+QyYmKHI9Qyk7Zm9yKHZhciBmPTA7ZjxyO2YrKyljKHcsMCxBLCh2K2YpKmssayksbyh3LGssYSxfLFMpO2lmKHYrPXIsRSs9cixoKXt2YXIgZD1wYXJzZUludCgxZTMqRS94KTtpZihkIT09UCl7aWYoTz1oKG51bGwsRS94KSlicmVhaztQPWR9fWlmKHY8bilicmVhazt2PTAsQj0yO2Nhc2UgMjoocj1uLXYpPkMmJihyPUMpO2Zvcih2YXIgeT0wO3k8cjt5Kyspe3ZhciBtPXdbMTYqKDIqYS0xKV0mbi0xO3UoQSxtKmssdyxrKSxvKHcsayxhLF8sUyl9aWYodis9cixFKz1yLGgpe3ZhciBNPXBhcnNlSW50KDFlMypFL3gpO2lmKE0hPT1QKXtpZihPPWgobnVsbCxFL3gpKWJyZWFrO1A9TX19aWYodjxuKWJyZWFrO2lmKGModywwLGIsZyxrKSwrK1Q8cyl7Qj0wO2JyZWFrfXA9W107Zm9yKHZhciBVPTA7VTxiLmxlbmd0aDtVKyspcC5wdXNoKGJbVV0+PjAmMjU1KSxwLnB1c2goYltVXT4+OCYyNTUpLHAucHVzaChiW1VdPj4xNiYyNTUpLHAucHVzaChiW1VdPj4yNCYyNTUpO3ZhciBSPWkoZSxwLGwpO3JldHVybiBoJiZoKG51bGwsMSxSKSxSfWgmJkkodCl9O2lmKCFoKWZvcig7Oyl7dmFyIFU9TSgpO2lmKG51bGwhPVUpcmV0dXJuIFV9TSgpfXZhciBoPXtzY3J5cHQ6ZnVuY3Rpb24oZSx0LHIsbixpLG8sYSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihzLHUpe3ZhciBjPTA7YSYmYSgwKSxsKGUsdCxyLG4saSxvLChmdW5jdGlvbihlLHQscil7aWYoZSl1KGUpO2Vsc2UgaWYocilhJiYxIT09YyYmYSgxKSxzKG5ldyBVaW50OEFycmF5KHIpKTtlbHNlIGlmKGEmJnQhPT1jKXJldHVybiBjPXQsYSh0KX0pKX0pKX0sc3luY1NjcnlwdDpmdW5jdGlvbihlLHQscixuLGksbyl7cmV0dXJuIG5ldyBVaW50OEFycmF5KGwoZSx0LHIsbixpLG8pKX19O2UuZXhwb3J0cz1ofSgpfSw3OTAyOihlLHQscik9PnsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXIoNjkyMikocig4MTIzKSl9LDgxMjM6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1uZXcoMCxyKDY1OTcpLmVjKSgic2VjcDI1NmsxIiksaT1uLmN1cnZlLG89aS5uLmNvbnN0cnVjdG9yO2Z1bmN0aW9uIGEoZSl7dmFyIHQ9ZVswXTtzd2l0Y2godCl7Y2FzZSAyOmNhc2UgMzpyZXR1cm4gMzMhPT1lLmxlbmd0aD9udWxsOmZ1bmN0aW9uKGUsdCl7dmFyIHI9bmV3IG8odCk7aWYoci5jbXAoaS5wKT49MClyZXR1cm4gbnVsbDt2YXIgYT0ocj1yLnRvUmVkKGkucmVkKSkucmVkU3FyKCkucmVkSU11bChyKS5yZWRJQWRkKGkuYikucmVkU3FydCgpO3JldHVybiAzPT09ZSE9PWEuaXNPZGQoKSYmKGE9YS5yZWROZWcoKSksbi5rZXlQYWlyKHtwdWI6e3g6cix5OmF9fSl9KHQsZS5zdWJhcnJheSgxLDMzKSk7Y2FzZSA0OmNhc2UgNjpjYXNlIDc6cmV0dXJuIDY1IT09ZS5sZW5ndGg/bnVsbDpmdW5jdGlvbihlLHQscil7dmFyIGE9bmV3IG8odCkscz1uZXcgbyhyKTtpZihhLmNtcChpLnApPj0wfHxzLmNtcChpLnApPj0wKXJldHVybiBudWxsO2lmKGE9YS50b1JlZChpLnJlZCkscz1zLnRvUmVkKGkucmVkKSwoNj09PWV8fDc9PT1lKSYmcy5pc09kZCgpIT09KDc9PT1lKSlyZXR1cm4gbnVsbDt2YXIgdT1hLnJlZFNxcigpLnJlZElNdWwoYSk7cmV0dXJuIHMucmVkU3FyKCkucmVkSVN1Yih1LnJlZElBZGQoaS5iKSkuaXNaZXJvKCk/bi5rZXlQYWlyKHtwdWI6e3g6YSx5OnN9fSk6bnVsbH0odCxlLnN1YmFycmF5KDEsMzMpLGUuc3ViYXJyYXkoMzMsNjUpKTtkZWZhdWx0OnJldHVybiBudWxsfX1mdW5jdGlvbiBzKGUsdCl7Zm9yKHZhciByPXQuZW5jb2RlKG51bGwsMzM9PT1lLmxlbmd0aCksbj0wO248ZS5sZW5ndGg7KytuKWVbbl09cltuXX1lLmV4cG9ydHM9e2NvbnRleHRSYW5kb21pemU6ZnVuY3Rpb24oKXtyZXR1cm4gMH0scHJpdmF0ZUtleVZlcmlmeTpmdW5jdGlvbihlKXt2YXIgdD1uZXcgbyhlKTtyZXR1cm4gdC5jbXAoaS5uKTwwJiYhdC5pc1plcm8oKT8wOjF9LHByaXZhdGVLZXlOZWdhdGU6ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IG8oZSkscj1pLm4uc3ViKHQpLnVtb2QoaS5uKS50b0FycmF5TGlrZShVaW50OEFycmF5LCJiZSIsMzIpO3JldHVybiBlLnNldChyKSwwfSxwcml2YXRlS2V5VHdlYWtBZGQ6ZnVuY3Rpb24oZSx0KXt2YXIgcj1uZXcgbyh0KTtpZihyLmNtcChpLm4pPj0wKXJldHVybiAxO2lmKHIuaWFkZChuZXcgbyhlKSksci5jbXAoaS5uKT49MCYmci5pc3ViKGkubiksci5pc1plcm8oKSlyZXR1cm4gMTt2YXIgbj1yLnRvQXJyYXlMaWtlKFVpbnQ4QXJyYXksImJlIiwzMik7cmV0dXJuIGUuc2V0KG4pLDB9LHByaXZhdGVLZXlUd2Vha011bDpmdW5jdGlvbihlLHQpe3ZhciByPW5ldyBvKHQpO2lmKHIuY21wKGkubik+PTB8fHIuaXNaZXJvKCkpcmV0dXJuIDE7ci5pbXVsKG5ldyBvKGUpKSxyLmNtcChpLm4pPj0wJiYocj1yLnVtb2QoaS5uKSk7dmFyIG49ci50b0FycmF5TGlrZShVaW50OEFycmF5LCJiZSIsMzIpO3JldHVybiBlLnNldChuKSwwfSxwdWJsaWNLZXlWZXJpZnk6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1hKGUpPzE6MH0scHVibGljS2V5Q3JlYXRlOmZ1bmN0aW9uKGUsdCl7dmFyIHI9bmV3IG8odCk7cmV0dXJuIHIuY21wKGkubik+PTB8fHIuaXNaZXJvKCk/MToocyhlLG4ua2V5RnJvbVByaXZhdGUodCkuZ2V0UHVibGljKCkpLDApfSxwdWJsaWNLZXlDb252ZXJ0OmZ1bmN0aW9uKGUsdCl7dmFyIHI9YSh0KTtyZXR1cm4gbnVsbD09PXI/MToocyhlLHIuZ2V0UHVibGljKCkpLDApfSxwdWJsaWNLZXlOZWdhdGU6ZnVuY3Rpb24oZSx0KXt2YXIgcj1hKHQpO2lmKG51bGw9PT1yKXJldHVybiAxO3ZhciBuPXIuZ2V0UHVibGljKCk7cmV0dXJuIG4ueT1uLnkucmVkTmVnKCkscyhlLG4pLDB9LHB1YmxpY0tleUNvbWJpbmU6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9bmV3IEFycmF5KHQubGVuZ3RoKSxuPTA7bjx0Lmxlbmd0aDsrK24paWYocltuXT1hKHRbbl0pLG51bGw9PT1yW25dKXJldHVybiAxO2Zvcih2YXIgaT1yWzBdLmdldFB1YmxpYygpLG89MTtvPHIubGVuZ3RoOysrbylpPWkuYWRkKHJbb10ucHViKTtyZXR1cm4gaS5pc0luZmluaXR5KCk/MjoocyhlLGkpLDApfSxwdWJsaWNLZXlUd2Vha0FkZDpmdW5jdGlvbihlLHQscil7dmFyIG49YSh0KTtpZihudWxsPT09bilyZXR1cm4gMTtpZigocj1uZXcgbyhyKSkuY21wKGkubik+PTApcmV0dXJuIDI7dmFyIHU9bi5nZXRQdWJsaWMoKS5hZGQoaS5nLm11bChyKSk7cmV0dXJuIHUuaXNJbmZpbml0eSgpPzI6KHMoZSx1KSwwKX0scHVibGljS2V5VHdlYWtNdWw6ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPWEodCk7cmV0dXJuIG51bGw9PT1uPzE6KHI9bmV3IG8ocikpLmNtcChpLm4pPj0wfHxyLmlzWmVybygpPzI6KHMoZSxuLmdldFB1YmxpYygpLm11bChyKSksMCl9LHNpZ25hdHVyZU5vcm1hbGl6ZTpmdW5jdGlvbihlKXt2YXIgdD1uZXcgbyhlLnN1YmFycmF5KDAsMzIpKSxyPW5ldyBvKGUuc3ViYXJyYXkoMzIsNjQpKTtyZXR1cm4gdC5jbXAoaS5uKT49MHx8ci5jbXAoaS5uKT49MD8xOigxPT09ci5jbXAobi5uaCkmJmUuc2V0KGkubi5zdWIocikudG9BcnJheUxpa2UoVWludDhBcnJheSwiYmUiLDMyKSwzMiksMCl9LHNpZ25hdHVyZUV4cG9ydDpmdW5jdGlvbihlLHQpe3ZhciByPXQuc3ViYXJyYXkoMCwzMiksbj10LnN1YmFycmF5KDMyLDY0KTtpZihuZXcgbyhyKS5jbXAoaS5uKT49MClyZXR1cm4gMTtpZihuZXcgbyhuKS5jbXAoaS5uKT49MClyZXR1cm4gMTt2YXIgYT1lLm91dHB1dCxzPWEuc3ViYXJyYXkoNCwzNyk7c1swXT0wLHMuc2V0KHIsMSk7Zm9yKHZhciB1PTMzLGM9MDt1PjEmJjA9PT1zW2NdJiYhKDEyOCZzW2MrMV0pOy0tdSwrK2MpO2lmKDEyOCYocz1zLnN1YmFycmF5KGMpKVswXSlyZXR1cm4gMTtpZih1PjEmJjA9PT1zWzBdJiYhKDEyOCZzWzFdKSlyZXR1cm4gMTt2YXIgZj1hLnN1YmFycmF5KDM5LDcyKTtmWzBdPTAsZi5zZXQobiwxKTtmb3IodmFyIGQ9MzMsbD0wO2Q+MSYmMD09PWZbbF0mJiEoMTI4JmZbbCsxXSk7LS1kLCsrbCk7cmV0dXJuIDEyOCYoZj1mLnN1YmFycmF5KGwpKVswXXx8ZD4xJiYwPT09ZlswXSYmISgxMjgmZlsxXSk/MTooZS5vdXRwdXRsZW49Nit1K2QsYVswXT00OCxhWzFdPWUub3V0cHV0bGVuLTIsYVsyXT0yLGFbM109cy5sZW5ndGgsYS5zZXQocyw0KSxhWzQrdV09MixhWzUrdV09Zi5sZW5ndGgsYS5zZXQoZiw2K3UpLDApfSxzaWduYXR1cmVJbXBvcnQ6ZnVuY3Rpb24oZSx0KXtpZih0Lmxlbmd0aDw4KXJldHVybiAxO2lmKHQubGVuZ3RoPjcyKXJldHVybiAxO2lmKDQ4IT09dFswXSlyZXR1cm4gMTtpZih0WzFdIT09dC5sZW5ndGgtMilyZXR1cm4gMTtpZigyIT09dFsyXSlyZXR1cm4gMTt2YXIgcj10WzNdO2lmKDA9PT1yKXJldHVybiAxO2lmKDUrcj49dC5sZW5ndGgpcmV0dXJuIDE7aWYoMiE9PXRbNCtyXSlyZXR1cm4gMTt2YXIgbj10WzUrcl07aWYoMD09PW4pcmV0dXJuIDE7aWYoNityK24hPT10Lmxlbmd0aClyZXR1cm4gMTtpZigxMjgmdFs0XSlyZXR1cm4gMTtpZihyPjEmJjA9PT10WzRdJiYhKDEyOCZ0WzVdKSlyZXR1cm4gMTtpZigxMjgmdFtyKzZdKXJldHVybiAxO2lmKG4+MSYmMD09PXRbcis2XSYmISgxMjgmdFtyKzddKSlyZXR1cm4gMTt2YXIgYT10LnN1YmFycmF5KDQsNCtyKTtpZigzMz09PWEubGVuZ3RoJiYwPT09YVswXSYmKGE9YS5zdWJhcnJheSgxKSksYS5sZW5ndGg+MzIpcmV0dXJuIDE7dmFyIHM9dC5zdWJhcnJheSg2K3IpO2lmKDMzPT09cy5sZW5ndGgmJjA9PT1zWzBdJiYocz1zLnNsaWNlKDEpKSxzLmxlbmd0aD4zMil0aHJvdyBuZXcgRXJyb3IoIlMgbGVuZ3RoIGlzIHRvbyBsb25nIik7dmFyIHU9bmV3IG8oYSk7dS5jbXAoaS5uKT49MCYmKHU9bmV3IG8oMCkpO3ZhciBjPW5ldyBvKHQuc3ViYXJyYXkoNityKSk7cmV0dXJuIGMuY21wKGkubik+PTAmJihjPW5ldyBvKDApKSxlLnNldCh1LnRvQXJyYXlMaWtlKFVpbnQ4QXJyYXksImJlIiwzMiksMCksZS5zZXQoYy50b0FycmF5TGlrZShVaW50OEFycmF5LCJiZSIsMzIpLDMyKSwwfSxlY2RzYVNpZ246ZnVuY3Rpb24oZSx0LHIsYSxzKXtpZihzKXt2YXIgdT1zO3M9ZnVuY3Rpb24oZSl7dmFyIG49dSh0LHIsbnVsbCxhLGUpO2lmKCEobiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkmJjMyPT09bi5sZW5ndGgpKXRocm93IG5ldyBFcnJvcigiVGhpcyBpcyB0aGUgd2F5Iik7cmV0dXJuIG5ldyBvKG4pfX12YXIgYyxmPW5ldyBvKHIpO2lmKGYuY21wKGkubik+PTB8fGYuaXNaZXJvKCkpcmV0dXJuIDE7dHJ5e2M9bi5zaWduKHQscix7Y2Fub25pY2FsOiEwLGs6cyxwZXJzOmF9KX1jYXRjaChlKXtyZXR1cm4gMX1yZXR1cm4gZS5zaWduYXR1cmUuc2V0KGMuci50b0FycmF5TGlrZShVaW50OEFycmF5LCJiZSIsMzIpLDApLGUuc2lnbmF0dXJlLnNldChjLnMudG9BcnJheUxpa2UoVWludDhBcnJheSwiYmUiLDMyKSwzMiksZS5yZWNpZD1jLnJlY292ZXJ5UGFyYW0sMH0sZWNkc2FWZXJpZnk6ZnVuY3Rpb24oZSx0LHIpe3ZhciBzPXtyOmUuc3ViYXJyYXkoMCwzMiksczplLnN1YmFycmF5KDMyLDY0KX0sdT1uZXcgbyhzLnIpLGM9bmV3IG8ocy5zKTtpZih1LmNtcChpLm4pPj0wfHxjLmNtcChpLm4pPj0wKXJldHVybiAxO2lmKDE9PT1jLmNtcChuLm5oKXx8dS5pc1plcm8oKXx8Yy5pc1plcm8oKSlyZXR1cm4gMzt2YXIgZj1hKHIpO2lmKG51bGw9PT1mKXJldHVybiAyO3ZhciBkPWYuZ2V0UHVibGljKCk7cmV0dXJuIG4udmVyaWZ5KHQscyxkKT8wOjN9LGVjZHNhUmVjb3ZlcjpmdW5jdGlvbihlLHQscixhKXt2YXIgdSxjPXtyOnQuc2xpY2UoMCwzMiksczp0LnNsaWNlKDMyLDY0KX0sZj1uZXcgbyhjLnIpLGQ9bmV3IG8oYy5zKTtpZihmLmNtcChpLm4pPj0wfHxkLmNtcChpLm4pPj0wKXJldHVybiAxO2lmKGYuaXNaZXJvKCl8fGQuaXNaZXJvKCkpcmV0dXJuIDI7dHJ5e3U9bi5yZWNvdmVyUHViS2V5KGEsYyxyKX1jYXRjaChlKXtyZXR1cm4gMn1yZXR1cm4gcyhlLHUpLDB9LGVjZGg6ZnVuY3Rpb24oZSx0LHIscyx1LGMsZil7dmFyIGQ9YSh0KTtpZihudWxsPT09ZClyZXR1cm4gMTt2YXIgbD1uZXcgbyhyKTtpZihsLmNtcChpLm4pPj0wfHxsLmlzWmVybygpKXJldHVybiAyO3ZhciBoPWQuZ2V0UHVibGljKCkubXVsKGwpO2lmKHZvaWQgMD09PXUpZm9yKHZhciBwPWguZW5jb2RlKG51bGwsITApLGI9bi5oYXNoKCkudXBkYXRlKHApLmRpZ2VzdCgpLHk9MDt5PDMyOysreSllW3ldPWJbeV07ZWxzZXtjfHwoYz1uZXcgVWludDhBcnJheSgzMikpO2Zvcih2YXIgbT1oLmdldFgoKS50b0FycmF5KCJiZSIsMzIpLHY9MDt2PDMyOysrdiljW3ZdPW1bdl07Znx8KGY9bmV3IFVpbnQ4QXJyYXkoMzIpKTtmb3IodmFyIGc9aC5nZXRZKCkudG9BcnJheSgiYmUiLDMyKSx3PTA7dzwzMjsrK3cpZlt3XT1nW3ddO3ZhciBBPXUoYyxmLHMpO2lmKCEoQSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkmJkEubGVuZ3RoPT09ZS5sZW5ndGgpKXJldHVybiAyO2Uuc2V0KEEpfXJldHVybiAwfX19LDY5MjI6ZT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KGUsdCl7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXXx8ZVsiQEBpdGVyYXRvciJdO2lmKCFuKXtpZihBcnJheS5pc0FycmF5KGUpfHwobj1mdW5jdGlvbihlLHQpe2lmKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gcihlLHQpO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PW4mJmUuY29uc3RydWN0b3ImJihuPWUuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1ufHwiU2V0Ij09PW4/QXJyYXkuZnJvbShlKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP3IoZSx0KTp2b2lkIDB9fShlKSl8fHQmJmUmJiJudW1iZXIiPT10eXBlb2YgZS5sZW5ndGgpe24mJihlPW4pO3ZhciBpPTAsbz1mdW5jdGlvbigpe307cmV0dXJue3M6byxuOmZ1bmN0aW9uKCl7cmV0dXJuIGk+PWUubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTplW2krK119fSxlOmZ1bmN0aW9uKGUpe3Rocm93IGV9LGY6b319dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfXZhciBhLHM9ITAsdT0hMTtyZXR1cm57czpmdW5jdGlvbigpe249bi5jYWxsKGUpfSxuOmZ1bmN0aW9uKCl7dmFyIGU9bi5uZXh0KCk7cmV0dXJuIHM9ZS5kb25lLGV9LGU6ZnVuY3Rpb24oZSl7dT0hMCxhPWV9LGY6ZnVuY3Rpb24oKXt0cnl7c3x8bnVsbD09bi5yZXR1cm58fG4ucmV0dXJuKCl9ZmluYWxseXtpZih1KXRocm93IGF9fX19ZnVuY3Rpb24gcihlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgcj0wLG49bmV3IEFycmF5KHQpO3I8dDtyKyspbltyXT1lW3JdO3JldHVybiBufXZhciBuPSJJbXBvc3NpYmxlIGNhc2UuIFBsZWFzZSBjcmVhdGUgaXNzdWUuIixpPSJUaGUgdHdlYWsgd2FzIG91dCBvZiByYW5nZSBvciB0aGUgcmVzdWx0ZWQgcHJpdmF0ZSBrZXkgaXMgaW52YWxpZCIsbz0iVGhlIHR3ZWFrIHdhcyBvdXQgb2YgcmFuZ2Ugb3IgZXF1YWwgdG8gemVybyIsYT0iUHJpdmF0ZSBLZXkgaXMgaW52YWxpZCIscz0iUHVibGljIEtleSBjb3VsZCBub3QgYmUgcGFyc2VkIix1PSJQdWJsaWMgS2V5IHNlcmlhbGl6YXRpb24gZXJyb3IiLGM9IlRoZSBzdW0gb2YgdGhlIHB1YmxpYyBrZXlzIGlzIG5vdCB2YWxpZCIsZj0iU2lnbmF0dXJlIGNvdWxkIG5vdCBiZSBwYXJzZWQiLGQ9IlRoZSBub25jZSBnZW5lcmF0aW9uIGZ1bmN0aW9uIGZhaWxlZCwgb3IgdGhlIHByaXZhdGUga2V5IHdhcyBpbnZhbGlkIixsPSJQdWJsaWMga2V5IGNvdWxkIG5vdCBiZSByZWNvdmVyIixoPSJTY2FsYXIgd2FzIGludmFsaWQgKHplcm8gb3Igb3ZlcmZsb3cpIjtmdW5jdGlvbiBwKGUsdCl7aWYoIWUpdGhyb3cgbmV3IEVycm9yKHQpfWZ1bmN0aW9uIGIoZSx0LHIpe2lmKHAodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXksIkV4cGVjdGVkICIuY29uY2F0KGUsIiB0byBiZSBhbiBVaW50OEFycmF5IikpLHZvaWQgMCE9PXIpaWYoQXJyYXkuaXNBcnJheShyKSl7dmFyIG49ci5qb2luKCIsICIpLGk9IkV4cGVjdGVkICIuY29uY2F0KGUsIiB0byBiZSBhbiBVaW50OEFycmF5IHdpdGggbGVuZ3RoIFsiKS5jb25jYXQobiwiXSIpO3Aoci5pbmNsdWRlcyh0Lmxlbmd0aCksaSl9ZWxzZXt2YXIgbz0iRXhwZWN0ZWQgIi5jb25jYXQoZSwiIHRvIGJlIGFuIFVpbnQ4QXJyYXkgd2l0aCBsZW5ndGggIikuY29uY2F0KHIpO3AodC5sZW5ndGg9PT1yLG8pfX1mdW5jdGlvbiB5KGUpe3AoIkJvb2xlYW4iPT09dihlKSwiRXhwZWN0ZWQgY29tcHJlc3NlZCB0byBiZSBhIEJvb2xlYW4iKX1mdW5jdGlvbiBtKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgVWludDhBcnJheShlKX0sdD1hcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMDtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZSh0KSksYigib3V0cHV0IixlLHQpLGV9ZnVuY3Rpb24gdihlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpfWUuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm57Y29udGV4dFJhbmRvbWl6ZTpmdW5jdGlvbih0KXtpZihwKG51bGw9PT10fHx0IGluc3RhbmNlb2YgVWludDhBcnJheSwiRXhwZWN0ZWQgc2VlZCB0byBiZSBhbiBVaW50OEFycmF5IG9yIG51bGwiKSxudWxsIT09dCYmYigic2VlZCIsdCwzMiksMT09PWUuY29udGV4dFJhbmRvbWl6ZSh0KSl0aHJvdyBuZXcgRXJyb3IoIlVua25vdyBlcnJvciBvbiBjb250ZXh0IHJhbmRvbWl6YXRpb24iKX0scHJpdmF0ZUtleVZlcmlmeTpmdW5jdGlvbih0KXtyZXR1cm4gYigicHJpdmF0ZSBrZXkiLHQsMzIpLDA9PT1lLnByaXZhdGVLZXlWZXJpZnkodCl9LHByaXZhdGVLZXlOZWdhdGU6ZnVuY3Rpb24odCl7c3dpdGNoKGIoInByaXZhdGUga2V5Iix0LDMyKSxlLnByaXZhdGVLZXlOZWdhdGUodCkpe2Nhc2UgMDpyZXR1cm4gdDtjYXNlIDE6dGhyb3cgbmV3IEVycm9yKG4pfX0scHJpdmF0ZUtleVR3ZWFrQWRkOmZ1bmN0aW9uKHQscil7c3dpdGNoKGIoInByaXZhdGUga2V5Iix0LDMyKSxiKCJ0d2VhayIsciwzMiksZS5wcml2YXRlS2V5VHdlYWtBZGQodCxyKSl7Y2FzZSAwOnJldHVybiB0O2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3IoaSl9fSxwcml2YXRlS2V5VHdlYWtNdWw6ZnVuY3Rpb24odCxyKXtzd2l0Y2goYigicHJpdmF0ZSBrZXkiLHQsMzIpLGIoInR3ZWFrIixyLDMyKSxlLnByaXZhdGVLZXlUd2Vha011bCh0LHIpKXtjYXNlIDA6cmV0dXJuIHQ7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihvKX19LHB1YmxpY0tleVZlcmlmeTpmdW5jdGlvbih0KXtyZXR1cm4gYigicHVibGljIGtleSIsdCxbMzMsNjVdKSwwPT09ZS5wdWJsaWNLZXlWZXJpZnkodCl9LHB1YmxpY0tleUNyZWF0ZTpmdW5jdGlvbih0KXt2YXIgcj0hKGFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdKXx8YXJndW1lbnRzWzFdLG49YXJndW1lbnRzLmxlbmd0aD4yP2FyZ3VtZW50c1syXTp2b2lkIDA7c3dpdGNoKGIoInByaXZhdGUga2V5Iix0LDMyKSx5KHIpLG49bShuLHI/MzM6NjUpLGUucHVibGljS2V5Q3JlYXRlKG4sdCkpe2Nhc2UgMDpyZXR1cm4gbjtjYXNlIDE6dGhyb3cgbmV3IEVycm9yKGEpO2Nhc2UgMjp0aHJvdyBuZXcgRXJyb3IodSl9fSxwdWJsaWNLZXlDb252ZXJ0OmZ1bmN0aW9uKHQpe3ZhciByPSEoYXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0pfHxhcmd1bWVudHNbMV0sbj1hcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMDtzd2l0Y2goYigicHVibGljIGtleSIsdCxbMzMsNjVdKSx5KHIpLG49bShuLHI/MzM6NjUpLGUucHVibGljS2V5Q29udmVydChuLHQpKXtjYXNlIDA6cmV0dXJuIG47Y2FzZSAxOnRocm93IG5ldyBFcnJvcihzKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKHUpfX0scHVibGljS2V5TmVnYXRlOmZ1bmN0aW9uKHQpe3ZhciByPSEoYXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0pfHxhcmd1bWVudHNbMV0saT1hcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMDtzd2l0Y2goYigicHVibGljIGtleSIsdCxbMzMsNjVdKSx5KHIpLGk9bShpLHI/MzM6NjUpLGUucHVibGljS2V5TmVnYXRlKGksdCkpe2Nhc2UgMDpyZXR1cm4gaTtjYXNlIDE6dGhyb3cgbmV3IEVycm9yKHMpO2Nhc2UgMjp0aHJvdyBuZXcgRXJyb3Iobik7Y2FzZSAzOnRocm93IG5ldyBFcnJvcih1KX19LHB1YmxpY0tleUNvbWJpbmU6ZnVuY3Rpb24ocil7dmFyIG49IShhcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSl8fGFyZ3VtZW50c1sxXSxpPWFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06dm9pZCAwO3AoQXJyYXkuaXNBcnJheShyKSwiRXhwZWN0ZWQgcHVibGljIGtleXMgdG8gYmUgYW4gQXJyYXkiKSxwKHIubGVuZ3RoPjAsIkV4cGVjdGVkIHB1YmxpYyBrZXlzIGFycmF5IHdpbGwgaGF2ZSBtb3JlIHRoYW4gemVybyBpdGVtcyIpO3ZhciBvLGE9dChyKTt0cnl7Zm9yKGEucygpOyEobz1hLm4oKSkuZG9uZTspe3ZhciBmPW8udmFsdWU7YigicHVibGljIGtleSIsZixbMzMsNjVdKX19Y2F0Y2goZSl7YS5lKGUpfWZpbmFsbHl7YS5mKCl9c3dpdGNoKHkobiksaT1tKGksbj8zMzo2NSksZS5wdWJsaWNLZXlDb21iaW5lKGkscikpe2Nhc2UgMDpyZXR1cm4gaTtjYXNlIDE6dGhyb3cgbmV3IEVycm9yKHMpO2Nhc2UgMjp0aHJvdyBuZXcgRXJyb3IoYyk7Y2FzZSAzOnRocm93IG5ldyBFcnJvcih1KX19LHB1YmxpY0tleVR3ZWFrQWRkOmZ1bmN0aW9uKHQscil7dmFyIG49IShhcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXSl8fGFyZ3VtZW50c1syXSxvPWFyZ3VtZW50cy5sZW5ndGg+Mz9hcmd1bWVudHNbM106dm9pZCAwO3N3aXRjaChiKCJwdWJsaWMga2V5Iix0LFszMyw2NV0pLGIoInR3ZWFrIixyLDMyKSx5KG4pLG89bShvLG4/MzM6NjUpLGUucHVibGljS2V5VHdlYWtBZGQobyx0LHIpKXtjYXNlIDA6cmV0dXJuIG87Y2FzZSAxOnRocm93IG5ldyBFcnJvcihzKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKGkpfX0scHVibGljS2V5VHdlYWtNdWw6ZnVuY3Rpb24odCxyKXt2YXIgbj0hKGFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdKXx8YXJndW1lbnRzWzJdLGk9YXJndW1lbnRzLmxlbmd0aD4zP2FyZ3VtZW50c1szXTp2b2lkIDA7c3dpdGNoKGIoInB1YmxpYyBrZXkiLHQsWzMzLDY1XSksYigidHdlYWsiLHIsMzIpLHkobiksaT1tKGksbj8zMzo2NSksZS5wdWJsaWNLZXlUd2Vha011bChpLHQscikpe2Nhc2UgMDpyZXR1cm4gaTtjYXNlIDE6dGhyb3cgbmV3IEVycm9yKHMpO2Nhc2UgMjp0aHJvdyBuZXcgRXJyb3Iobyl9fSxzaWduYXR1cmVOb3JtYWxpemU6ZnVuY3Rpb24odCl7c3dpdGNoKGIoInNpZ25hdHVyZSIsdCw2NCksZS5zaWduYXR1cmVOb3JtYWxpemUodCkpe2Nhc2UgMDpyZXR1cm4gdDtjYXNlIDE6dGhyb3cgbmV3IEVycm9yKGYpfX0sc2lnbmF0dXJlRXhwb3J0OmZ1bmN0aW9uKHQscil7Yigic2lnbmF0dXJlIix0LDY0KTt2YXIgaT17b3V0cHV0OnI9bShyLDcyKSxvdXRwdXRsZW46NzJ9O3N3aXRjaChlLnNpZ25hdHVyZUV4cG9ydChpLHQpKXtjYXNlIDA6cmV0dXJuIHIuc2xpY2UoMCxpLm91dHB1dGxlbik7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihmKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKG4pfX0sc2lnbmF0dXJlSW1wb3J0OmZ1bmN0aW9uKHQscil7c3dpdGNoKGIoInNpZ25hdHVyZSIsdCkscj1tKHIsNjQpLGUuc2lnbmF0dXJlSW1wb3J0KHIsdCkpe2Nhc2UgMDpyZXR1cm4gcjtjYXNlIDE6dGhyb3cgbmV3IEVycm9yKGYpO2Nhc2UgMjp0aHJvdyBuZXcgRXJyb3Iobil9fSxlY2RzYVNpZ246ZnVuY3Rpb24odCxyKXt2YXIgaT1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e30sbz1hcmd1bWVudHMubGVuZ3RoPjM/YXJndW1lbnRzWzNdOnZvaWQgMDtiKCJtZXNzYWdlIix0LDMyKSxiKCJwcml2YXRlIGtleSIsciwzMikscCgiT2JqZWN0Ij09PXYoaSksIkV4cGVjdGVkIG9wdGlvbnMgdG8gYmUgYW4gT2JqZWN0Iiksdm9pZCAwIT09aS5kYXRhJiZiKCJvcHRpb25zLmRhdGEiLGkuZGF0YSksdm9pZCAwIT09aS5ub25jZWZuJiZwKCJGdW5jdGlvbiI9PT12KGkubm9uY2VmbiksIkV4cGVjdGVkIG9wdGlvbnMubm9uY2VmbiB0byBiZSBhIEZ1bmN0aW9uIik7dmFyIGE9e3NpZ25hdHVyZTpvPW0obyw2NCkscmVjaWQ6bnVsbH07c3dpdGNoKGUuZWNkc2FTaWduKGEsdCxyLGkuZGF0YSxpLm5vbmNlZm4pKXtjYXNlIDA6cmV0dXJuIGE7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihkKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKG4pfX0sZWNkc2FWZXJpZnk6ZnVuY3Rpb24odCxyLG4pe3N3aXRjaChiKCJzaWduYXR1cmUiLHQsNjQpLGIoIm1lc3NhZ2UiLHIsMzIpLGIoInB1YmxpYyBrZXkiLG4sWzMzLDY1XSksZS5lY2RzYVZlcmlmeSh0LHIsbikpe2Nhc2UgMDpyZXR1cm4hMDtjYXNlIDM6cmV0dXJuITE7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihmKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKHMpfX0sZWNkc2FSZWNvdmVyOmZ1bmN0aW9uKHQscixpKXt2YXIgbz0hKGFyZ3VtZW50cy5sZW5ndGg+MyYmdm9pZCAwIT09YXJndW1lbnRzWzNdKXx8YXJndW1lbnRzWzNdLGE9YXJndW1lbnRzLmxlbmd0aD40P2FyZ3VtZW50c1s0XTp2b2lkIDA7c3dpdGNoKGIoInNpZ25hdHVyZSIsdCw2NCkscCgiTnVtYmVyIj09PXYocikmJnI+PTAmJnI8PTMsIkV4cGVjdGVkIHJlY292ZXJ5IGlkIHRvIGJlIGEgTnVtYmVyIHdpdGhpbiBpbnRlcnZhbCBbMCwgM10iKSxiKCJtZXNzYWdlIixpLDMyKSx5KG8pLGE9bShhLG8/MzM6NjUpLGUuZWNkc2FSZWNvdmVyKGEsdCxyLGkpKXtjYXNlIDA6cmV0dXJuIGE7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihmKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKGwpO2Nhc2UgMzp0aHJvdyBuZXcgRXJyb3Iobil9fSxlY2RoOmZ1bmN0aW9uKHQscil7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOnt9LGk9YXJndW1lbnRzLmxlbmd0aD4zP2FyZ3VtZW50c1szXTp2b2lkIDA7c3dpdGNoKGIoInB1YmxpYyBrZXkiLHQsWzMzLDY1XSksYigicHJpdmF0ZSBrZXkiLHIsMzIpLHAoIk9iamVjdCI9PT12KG4pLCJFeHBlY3RlZCBvcHRpb25zIHRvIGJlIGFuIE9iamVjdCIpLHZvaWQgMCE9PW4uZGF0YSYmYigib3B0aW9ucy5kYXRhIixuLmRhdGEpLHZvaWQgMCE9PW4uaGFzaGZuPyhwKCJGdW5jdGlvbiI9PT12KG4uaGFzaGZuKSwiRXhwZWN0ZWQgb3B0aW9ucy5oYXNoZm4gdG8gYmUgYSBGdW5jdGlvbiIpLHZvaWQgMCE9PW4ueGJ1ZiYmYigib3B0aW9ucy54YnVmIixuLnhidWYsMzIpLHZvaWQgMCE9PW4ueWJ1ZiYmYigib3B0aW9ucy55YnVmIixuLnlidWYsMzIpLGIoIm91dHB1dCIsaSkpOmk9bShpLDMyKSxlLmVjZGgoaSx0LHIsbi5kYXRhLG4uaGFzaGZuLG4ueGJ1ZixuLnlidWYpKXtjYXNlIDA6cmV0dXJuIGk7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihzKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKGgpfX19fX0sNjAwMzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg1MCkuQnVmZmVyO2Z1bmN0aW9uIGkoZSx0KXt0aGlzLl9ibG9jaz1uLmFsbG9jKGUpLHRoaXMuX2ZpbmFsU2l6ZT10LHRoaXMuX2Jsb2NrU2l6ZT1lLHRoaXMuX2xlbj0wfWkucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihlLHQpeyJzdHJpbmciPT10eXBlb2YgZSYmKHQ9dHx8InV0ZjgiLGU9bi5mcm9tKGUsdCkpO2Zvcih2YXIgcj10aGlzLl9ibG9jayxpPXRoaXMuX2Jsb2NrU2l6ZSxvPWUubGVuZ3RoLGE9dGhpcy5fbGVuLHM9MDtzPG87KXtmb3IodmFyIHU9YSVpLGM9TWF0aC5taW4oby1zLGktdSksZj0wO2Y8YztmKyspclt1K2ZdPWVbcytmXTtzKz1jLChhKz1jKSVpPT0wJiZ0aGlzLl91cGRhdGUocil9cmV0dXJuIHRoaXMuX2xlbis9byx0aGlzfSxpLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fbGVuJXRoaXMuX2Jsb2NrU2l6ZTt0aGlzLl9ibG9ja1t0XT0xMjgsdGhpcy5fYmxvY2suZmlsbCgwLHQrMSksdD49dGhpcy5fZmluYWxTaXplJiYodGhpcy5fdXBkYXRlKHRoaXMuX2Jsb2NrKSx0aGlzLl9ibG9jay5maWxsKDApKTt2YXIgcj04KnRoaXMuX2xlbjtpZihyPD00Mjk0OTY3Mjk1KXRoaXMuX2Jsb2NrLndyaXRlVUludDMyQkUocix0aGlzLl9ibG9ja1NpemUtNCk7ZWxzZXt2YXIgbj0oNDI5NDk2NzI5NSZyKT4+PjAsaT0oci1uKS80Mjk0OTY3Mjk2O3RoaXMuX2Jsb2NrLndyaXRlVUludDMyQkUoaSx0aGlzLl9ibG9ja1NpemUtOCksdGhpcy5fYmxvY2sud3JpdGVVSW50MzJCRShuLHRoaXMuX2Jsb2NrU2l6ZS00KX10aGlzLl91cGRhdGUodGhpcy5fYmxvY2spO3ZhciBvPXRoaXMuX2hhc2goKTtyZXR1cm4gZT9vLnRvU3RyaW5nKGUpOm99LGkucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIl91cGRhdGUgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzcyIpfSxlLmV4cG9ydHM9aX0sMTcwODooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPWUuZXhwb3J0cz1mdW5jdGlvbihlKXtlPWUudG9Mb3dlckNhc2UoKTt2YXIgdD1uW2VdO2lmKCF0KXRocm93IG5ldyBFcnJvcihlKyIgaXMgbm90IHN1cHBvcnRlZCAod2UgYWNjZXB0IHB1bGwgcmVxdWVzdHMpIik7cmV0dXJuIG5ldyB0fTtuLnNoYT1yKDgyMTApLG4uc2hhMT1yKDU0NCksbi5zaGEyMjQ9cig2Mjg4KSxuLnNoYTI1Nj1yKDQ1NzEpLG4uc2hhMzg0PXIoNjk1OSksbi5zaGE1MTI9cig0NTE1KX0sODIxMDooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoMTczNiksaT1yKDYwMDMpLG89cig4ODUwKS5CdWZmZXIsYT1bMTUxODUwMDI0OSwxODU5Nzc1MzkzLC0xODk0MDA3NTg4LC04OTk0OTc1MTRdLHM9bmV3IEFycmF5KDgwKTtmdW5jdGlvbiB1KCl7dGhpcy5pbml0KCksdGhpcy5fdz1zLGkuY2FsbCh0aGlzLDY0LDU2KX1mdW5jdGlvbiBjKGUpe3JldHVybiBlPDwzMHxlPj4+Mn1mdW5jdGlvbiBmKGUsdCxyLG4pe3JldHVybiAwPT09ZT90JnJ8fnQmbjoyPT09ZT90JnJ8dCZufHImbjp0XnJebn1uKHUsaSksdS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hPTE3MzI1ODQxOTMsdGhpcy5fYj00MDIzMjMzNDE3LHRoaXMuX2M9MjU2MjM4MzEwMix0aGlzLl9kPTI3MTczMzg3OCx0aGlzLl9lPTMyODUzNzc1MjAsdGhpc30sdS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihlKXtmb3IodmFyIHQscj10aGlzLl93LG49MHx0aGlzLl9hLGk9MHx0aGlzLl9iLG89MHx0aGlzLl9jLHM9MHx0aGlzLl9kLHU9MHx0aGlzLl9lLGQ9MDtkPDE2OysrZClyW2RdPWUucmVhZEludDMyQkUoNCpkKTtmb3IoO2Q8ODA7KytkKXJbZF09cltkLTNdXnJbZC04XV5yW2QtMTRdXnJbZC0xNl07Zm9yKHZhciBsPTA7bDw4MDsrK2wpe3ZhciBoPX5+KGwvMjApLHA9MHwoKHQ9bik8PDV8dD4+PjI3KStmKGgsaSxvLHMpK3UrcltsXSthW2hdO3U9cyxzPW8sbz1jKGkpLGk9bixuPXB9dGhpcy5fYT1uK3RoaXMuX2F8MCx0aGlzLl9iPWkrdGhpcy5fYnwwLHRoaXMuX2M9byt0aGlzLl9jfDAsdGhpcy5fZD1zK3RoaXMuX2R8MCx0aGlzLl9lPXUrdGhpcy5fZXwwfSx1LnByb3RvdHlwZS5faGFzaD1mdW5jdGlvbigpe3ZhciBlPW8uYWxsb2NVbnNhZmUoMjApO3JldHVybiBlLndyaXRlSW50MzJCRSgwfHRoaXMuX2EsMCksZS53cml0ZUludDMyQkUoMHx0aGlzLl9iLDQpLGUud3JpdGVJbnQzMkJFKDB8dGhpcy5fYyw4KSxlLndyaXRlSW50MzJCRSgwfHRoaXMuX2QsMTIpLGUud3JpdGVJbnQzMkJFKDB8dGhpcy5fZSwxNiksZX0sZS5leHBvcnRzPXV9LDU0NDooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoMTczNiksaT1yKDYwMDMpLG89cig4ODUwKS5CdWZmZXIsYT1bMTUxODUwMDI0OSwxODU5Nzc1MzkzLC0xODk0MDA3NTg4LC04OTk0OTc1MTRdLHM9bmV3IEFycmF5KDgwKTtmdW5jdGlvbiB1KCl7dGhpcy5pbml0KCksdGhpcy5fdz1zLGkuY2FsbCh0aGlzLDY0LDU2KX1mdW5jdGlvbiBjKGUpe3JldHVybiBlPDw1fGU+Pj4yN31mdW5jdGlvbiBmKGUpe3JldHVybiBlPDwzMHxlPj4+Mn1mdW5jdGlvbiBkKGUsdCxyLG4pe3JldHVybiAwPT09ZT90JnJ8fnQmbjoyPT09ZT90JnJ8dCZufHImbjp0XnJebn1uKHUsaSksdS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hPTE3MzI1ODQxOTMsdGhpcy5fYj00MDIzMjMzNDE3LHRoaXMuX2M9MjU2MjM4MzEwMix0aGlzLl9kPTI3MTczMzg3OCx0aGlzLl9lPTMyODUzNzc1MjAsdGhpc30sdS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihlKXtmb3IodmFyIHQscj10aGlzLl93LG49MHx0aGlzLl9hLGk9MHx0aGlzLl9iLG89MHx0aGlzLl9jLHM9MHx0aGlzLl9kLHU9MHx0aGlzLl9lLGw9MDtsPDE2OysrbClyW2xdPWUucmVhZEludDMyQkUoNCpsKTtmb3IoO2w8ODA7KytsKXJbbF09KHQ9cltsLTNdXnJbbC04XV5yW2wtMTRdXnJbbC0xNl0pPDwxfHQ+Pj4zMTtmb3IodmFyIGg9MDtoPDgwOysraCl7dmFyIHA9fn4oaC8yMCksYj1jKG4pK2QocCxpLG8scykrdStyW2hdK2FbcF18MDt1PXMscz1vLG89ZihpKSxpPW4sbj1ifXRoaXMuX2E9bit0aGlzLl9hfDAsdGhpcy5fYj1pK3RoaXMuX2J8MCx0aGlzLl9jPW8rdGhpcy5fY3wwLHRoaXMuX2Q9cyt0aGlzLl9kfDAsdGhpcy5fZT11K3RoaXMuX2V8MH0sdS5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgZT1vLmFsbG9jVW5zYWZlKDIwKTtyZXR1cm4gZS53cml0ZUludDMyQkUoMHx0aGlzLl9hLDApLGUud3JpdGVJbnQzMkJFKDB8dGhpcy5fYiw0KSxlLndyaXRlSW50MzJCRSgwfHRoaXMuX2MsOCksZS53cml0ZUludDMyQkUoMHx0aGlzLl9kLDEyKSxlLndyaXRlSW50MzJCRSgwfHRoaXMuX2UsMTYpLGV9LGUuZXhwb3J0cz11fSw2Mjg4OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cigxNzM2KSxpPXIoNDU3MSksbz1yKDYwMDMpLGE9cig4ODUwKS5CdWZmZXIscz1uZXcgQXJyYXkoNjQpO2Z1bmN0aW9uIHUoKXt0aGlzLmluaXQoKSx0aGlzLl93PXMsby5jYWxsKHRoaXMsNjQsNTYpfW4odSxpKSx1LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2E9MzIzODM3MTAzMix0aGlzLl9iPTkxNDE1MDY2Myx0aGlzLl9jPTgxMjcwMjk5OSx0aGlzLl9kPTQxNDQ5MTI2OTcsdGhpcy5fZT00MjkwNzc1ODU3LHRoaXMuX2Y9MTc1MDYwMzAyNSx0aGlzLl9nPTE2OTQwNzY4MzksdGhpcy5faD0zMjA0MDc1NDI4LHRoaXN9LHUucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIGU9YS5hbGxvY1Vuc2FmZSgyOCk7cmV0dXJuIGUud3JpdGVJbnQzMkJFKHRoaXMuX2EsMCksZS53cml0ZUludDMyQkUodGhpcy5fYiw0KSxlLndyaXRlSW50MzJCRSh0aGlzLl9jLDgpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2QsMTIpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2UsMTYpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2YsMjApLGUud3JpdGVJbnQzMkJFKHRoaXMuX2csMjQpLGV9LGUuZXhwb3J0cz11fSw0NTcxOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cigxNzM2KSxpPXIoNjAwMyksbz1yKDg4NTApLkJ1ZmZlcixhPVsxMTE2MzUyNDA4LDE4OTk0NDc0NDEsMzA0OTMyMzQ3MSwzOTIxMDA5NTczLDk2MTk4NzE2MywxNTA4OTcwOTkzLDI0NTM2MzU3NDgsMjg3MDc2MzIyMSwzNjI0MzgxMDgwLDMxMDU5ODQwMSw2MDcyMjUyNzgsMTQyNjg4MTk4NywxOTI1MDc4Mzg4LDIxNjIwNzgyMDYsMjYxNDg4ODEwMywzMjQ4MjIyNTgwLDM4MzUzOTA0MDEsNDAyMjIyNDc3NCwyNjQzNDcwNzgsNjA0ODA3NjI4LDc3MDI1NTk4MywxMjQ5MTUwMTIyLDE1NTUwODE2OTIsMTk5NjA2NDk4NiwyNTU0MjIwODgyLDI4MjE4MzQzNDksMjk1Mjk5NjgwOCwzMjEwMzEzNjcxLDMzMzY1NzE4OTEsMzU4NDUyODcxMSwxMTM5MjY5OTMsMzM4MjQxODk1LDY2NjMwNzIwNSw3NzM1Mjk5MTIsMTI5NDc1NzM3MiwxMzk2MTgyMjkxLDE2OTUxODM3MDAsMTk4NjY2MTA1MSwyMTc3MDI2MzUwLDI0NTY5NTYwMzcsMjczMDQ4NTkyMSwyODIwMzAyNDExLDMyNTk3MzA4MDAsMzM0NTc2NDc3MSwzNTE2MDY1ODE3LDM2MDAzNTI4MDQsNDA5NDU3MTkwOSwyNzU0MjMzNDQsNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdLHM9bmV3IEFycmF5KDY0KTtmdW5jdGlvbiB1KCl7dGhpcy5pbml0KCksdGhpcy5fdz1zLGkuY2FsbCh0aGlzLDY0LDU2KX1mdW5jdGlvbiBjKGUsdCxyKXtyZXR1cm4gcl5lJih0XnIpfWZ1bmN0aW9uIGYoZSx0LHIpe3JldHVybiBlJnR8ciYoZXx0KX1mdW5jdGlvbiBkKGUpe3JldHVybihlPj4+MnxlPDwzMCleKGU+Pj4xM3xlPDwxOSleKGU+Pj4yMnxlPDwxMCl9ZnVuY3Rpb24gbChlKXtyZXR1cm4oZT4+PjZ8ZTw8MjYpXihlPj4+MTF8ZTw8MjEpXihlPj4+MjV8ZTw8Nyl9ZnVuY3Rpb24gaChlKXtyZXR1cm4oZT4+Pjd8ZTw8MjUpXihlPj4+MTh8ZTw8MTQpXmU+Pj4zfW4odSxpKSx1LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2E9MTc3OTAzMzcwMyx0aGlzLl9iPTMxNDQxMzQyNzcsdGhpcy5fYz0xMDEzOTA0MjQyLHRoaXMuX2Q9Mjc3MzQ4MDc2Mix0aGlzLl9lPTEzNTk4OTMxMTksdGhpcy5fZj0yNjAwODIyOTI0LHRoaXMuX2c9NTI4NzM0NjM1LHRoaXMuX2g9MTU0MTQ1OTIyNSx0aGlzfSx1LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxyPXRoaXMuX3csbj0wfHRoaXMuX2EsaT0wfHRoaXMuX2Isbz0wfHRoaXMuX2Mscz0wfHRoaXMuX2QsdT0wfHRoaXMuX2UscD0wfHRoaXMuX2YsYj0wfHRoaXMuX2cseT0wfHRoaXMuX2gsbT0wO208MTY7KyttKXJbbV09ZS5yZWFkSW50MzJCRSg0Km0pO2Zvcig7bTw2NDsrK20pclttXT0wfCgoKHQ9clttLTJdKT4+PjE3fHQ8PDE1KV4odD4+PjE5fHQ8PDEzKV50Pj4+MTApK3JbbS03XStoKHJbbS0xNV0pK3JbbS0xNl07Zm9yKHZhciB2PTA7djw2NDsrK3Ype3ZhciBnPXkrbCh1KStjKHUscCxiKSthW3ZdK3Jbdl18MCx3PWQobikrZihuLGksbyl8MDt5PWIsYj1wLHA9dSx1PXMrZ3wwLHM9byxvPWksaT1uLG49Zyt3fDB9dGhpcy5fYT1uK3RoaXMuX2F8MCx0aGlzLl9iPWkrdGhpcy5fYnwwLHRoaXMuX2M9byt0aGlzLl9jfDAsdGhpcy5fZD1zK3RoaXMuX2R8MCx0aGlzLl9lPXUrdGhpcy5fZXwwLHRoaXMuX2Y9cCt0aGlzLl9mfDAsdGhpcy5fZz1iK3RoaXMuX2d8MCx0aGlzLl9oPXkrdGhpcy5faHwwfSx1LnByb3RvdHlwZS5faGFzaD1mdW5jdGlvbigpe3ZhciBlPW8uYWxsb2NVbnNhZmUoMzIpO3JldHVybiBlLndyaXRlSW50MzJCRSh0aGlzLl9hLDApLGUud3JpdGVJbnQzMkJFKHRoaXMuX2IsNCksZS53cml0ZUludDMyQkUodGhpcy5fYyw4KSxlLndyaXRlSW50MzJCRSh0aGlzLl9kLDEyKSxlLndyaXRlSW50MzJCRSh0aGlzLl9lLDE2KSxlLndyaXRlSW50MzJCRSh0aGlzLl9mLDIwKSxlLndyaXRlSW50MzJCRSh0aGlzLl9nLDI0KSxlLndyaXRlSW50MzJCRSh0aGlzLl9oLDI4KSxlfSxlLmV4cG9ydHM9dX0sNjk1OTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoMTczNiksaT1yKDQ1MTUpLG89cig2MDAzKSxhPXIoODg1MCkuQnVmZmVyLHM9bmV3IEFycmF5KDE2MCk7ZnVuY3Rpb24gdSgpe3RoaXMuaW5pdCgpLHRoaXMuX3c9cyxvLmNhbGwodGhpcywxMjgsMTEyKX1uKHUsaSksdS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9haD0zNDE4MDcwMzY1LHRoaXMuX2JoPTE2NTQyNzAyNTAsdGhpcy5fY2g9MjQzODUyOTM3MCx0aGlzLl9kaD0zNTU0NjIzNjAsdGhpcy5fZWg9MTczMTQwNTQxNSx0aGlzLl9maD0yMzk0MTgwMjMxLHRoaXMuX2doPTM2NzUwMDg1MjUsdGhpcy5faGg9MTIwMzA2MjgxMyx0aGlzLl9hbD0zMjM4MzcxMDMyLHRoaXMuX2JsPTkxNDE1MDY2Myx0aGlzLl9jbD04MTI3MDI5OTksdGhpcy5fZGw9NDE0NDkxMjY5Nyx0aGlzLl9lbD00MjkwNzc1ODU3LHRoaXMuX2ZsPTE3NTA2MDMwMjUsdGhpcy5fZ2w9MTY5NDA3NjgzOSx0aGlzLl9obD0zMjA0MDc1NDI4LHRoaXN9LHUucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIGU9YS5hbGxvY1Vuc2FmZSg0OCk7ZnVuY3Rpb24gdCh0LHIsbil7ZS53cml0ZUludDMyQkUodCxuKSxlLndyaXRlSW50MzJCRShyLG4rNCl9cmV0dXJuIHQodGhpcy5fYWgsdGhpcy5fYWwsMCksdCh0aGlzLl9iaCx0aGlzLl9ibCw4KSx0KHRoaXMuX2NoLHRoaXMuX2NsLDE2KSx0KHRoaXMuX2RoLHRoaXMuX2RsLDI0KSx0KHRoaXMuX2VoLHRoaXMuX2VsLDMyKSx0KHRoaXMuX2ZoLHRoaXMuX2ZsLDQwKSxlfSxlLmV4cG9ydHM9dX0sNDUxNTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoMTczNiksaT1yKDYwMDMpLG89cig4ODUwKS5CdWZmZXIsYT1bMTExNjM1MjQwOCwzNjA5NzY3NDU4LDE4OTk0NDc0NDEsNjAyODkxNzI1LDMwNDkzMjM0NzEsMzk2NDQ4NDM5OSwzOTIxMDA5NTczLDIxNzMyOTU1NDgsOTYxOTg3MTYzLDQwODE2Mjg0NzIsMTUwODk3MDk5MywzMDUzODM0MjY1LDI0NTM2MzU3NDgsMjkzNzY3MTU3OSwyODcwNzYzMjIxLDM2NjQ2MDk1NjAsMzYyNDM4MTA4MCwyNzM0ODgzMzk0LDMxMDU5ODQwMSwxMTY0OTk2NTQyLDYwNzIyNTI3OCwxMzIzNjEwNzY0LDE0MjY4ODE5ODcsMzU5MDMwNDk5NCwxOTI1MDc4Mzg4LDQwNjgxODIzODMsMjE2MjA3ODIwNiw5OTEzMzYxMTMsMjYxNDg4ODEwMyw2MzM4MDMzMTcsMzI0ODIyMjU4MCwzNDc5Nzc0ODY4LDM4MzUzOTA0MDEsMjY2NjYxMzQ1OCw0MDIyMjI0Nzc0LDk0NDcxMTEzOSwyNjQzNDcwNzgsMjM0MTI2Mjc3Myw2MDQ4MDc2MjgsMjAwNzgwMDkzMyw3NzAyNTU5ODMsMTQ5NTk5MDkwMSwxMjQ5MTUwMTIyLDE4NTY0MzEyMzUsMTU1NTA4MTY5MiwzMTc1MjE4MTMyLDE5OTYwNjQ5ODYsMjE5ODk1MDgzNywyNTU0MjIwODgyLDM5OTk3MTkzMzksMjgyMTgzNDM0OSw3NjY3ODQwMTYsMjk1Mjk5NjgwOCwyNTY2NTk0ODc5LDMyMTAzMTM2NzEsMzIwMzMzNzk1NiwzMzM2NTcxODkxLDEwMzQ0NTcwMjYsMzU4NDUyODcxMSwyNDY2OTQ4OTAxLDExMzkyNjk5MywzNzU4MzI2MzgzLDMzODI0MTg5NSwxNjg3MTc5MzYsNjY2MzA3MjA1LDExODgxNzk5NjQsNzczNTI5OTEyLDE1NDYwNDU3MzQsMTI5NDc1NzM3MiwxNTIyODA1NDg1LDEzOTYxODIyOTEsMjY0MzgzMzgyMywxNjk1MTgzNzAwLDIzNDM1MjczOTAsMTk4NjY2MTA1MSwxMDE0NDc3NDgwLDIxNzcwMjYzNTAsMTIwNjc1OTE0MiwyNDU2OTU2MDM3LDM0NDA3NzYyNywyNzMwNDg1OTIxLDEyOTA4NjM0NjAsMjgyMDMwMjQxMSwzMTU4NDU0MjczLDMyNTk3MzA4MDAsMzUwNTk1MjY1NywzMzQ1NzY0NzcxLDEwNjIxNzAwOCwzNTE2MDY1ODE3LDM2MDYwMDgzNDQsMzYwMDM1MjgwNCwxNDMyNzI1Nzc2LDQwOTQ1NzE5MDksMTQ2NzAzMTU5NCwyNzU0MjMzNDQsODUxMTY5NzIwLDQzMDIyNzczNCwzMTAwODIzNzUyLDUwNjk0ODYxNiwxMzYzMjU4MTk1LDY1OTA2MDU1NiwzNzUwNjg1NTkzLDg4Mzk5Nzg3NywzNzg1MDUwMjgwLDk1ODEzOTU3MSwzMzE4MzA3NDI3LDEzMjI4MjIyMTgsMzgxMjcyMzQwMywxNTM3MDAyMDYzLDIwMDMwMzQ5OTUsMTc0Nzg3Mzc3OSwzNjAyMDM2ODk5LDE5NTU1NjIyMjIsMTU3NTk5MDAxMiwyMDI0MTA0ODE1LDExMjU1OTI5MjgsMjIyNzczMDQ1MiwyNzE2OTA0MzA2LDIzNjE4NTI0MjQsNDQyNzc2MDQ0LDI0Mjg0MzY0NzQsNTkzNjk4MzQ0LDI3NTY3MzQxODcsMzczMzExMDI0OSwzMjA0MDMxNDc5LDI5OTkzNTE1NzMsMzMyOTMyNTI5OCwzODE1OTIwNDI3LDMzOTE1Njk2MTQsMzkyODM4MzkwMCwzNTE1MjY3MjcxLDU2NjI4MDcxMSwzOTQwMTg3NjA2LDM0NTQwNjk1MzQsNDExODYzMDI3MSw0MDAwMjM5OTkyLDExNjQxODQ3NCwxOTE0MTM4NTU0LDE3NDI5MjQyMSwyNzMxMDU1MjcwLDI4OTM4MDM1NiwzMjAzOTkzMDA2LDQ2MDM5MzI2OSwzMjA2MjAzMTUsNjg1NDcxNzMzLDU4NzQ5NjgzNiw4NTIxNDI5NzEsMTA4Njc5Mjg1MSwxMDE3MDM2Mjk4LDM2NTU0MzEwMCwxMTI2MDAwNTgwLDI2MTgyOTc2NzYsMTI4ODAzMzQ3MCwzNDA5ODU1MTU4LDE1MDE1MDU5NDgsNDIzNDUwOTg2NiwxNjA3MTY3OTE1LDk4NzE2NzQ2OCwxODE2NDAyMzE2LDEyNDYxODk1OTFdLHM9bmV3IEFycmF5KDE2MCk7ZnVuY3Rpb24gdSgpe3RoaXMuaW5pdCgpLHRoaXMuX3c9cyxpLmNhbGwodGhpcywxMjgsMTEyKX1mdW5jdGlvbiBjKGUsdCxyKXtyZXR1cm4gcl5lJih0XnIpfWZ1bmN0aW9uIGYoZSx0LHIpe3JldHVybiBlJnR8ciYoZXx0KX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuKGU+Pj4yOHx0PDw0KV4odD4+PjJ8ZTw8MzApXih0Pj4+N3xlPDwyNSl9ZnVuY3Rpb24gbChlLHQpe3JldHVybihlPj4+MTR8dDw8MTgpXihlPj4+MTh8dDw8MTQpXih0Pj4+OXxlPDwyMyl9ZnVuY3Rpb24gaChlLHQpe3JldHVybihlPj4+MXx0PDwzMSleKGU+Pj44fHQ8PDI0KV5lPj4+N31mdW5jdGlvbiBwKGUsdCl7cmV0dXJuKGU+Pj4xfHQ8PDMxKV4oZT4+Pjh8dDw8MjQpXihlPj4+N3x0PDwyNSl9ZnVuY3Rpb24gYihlLHQpe3JldHVybihlPj4+MTl8dDw8MTMpXih0Pj4+Mjl8ZTw8MyleZT4+PjZ9ZnVuY3Rpb24geShlLHQpe3JldHVybihlPj4+MTl8dDw8MTMpXih0Pj4+Mjl8ZTw8MyleKGU+Pj42fHQ8PDI2KX1mdW5jdGlvbiBtKGUsdCl7cmV0dXJuIGU+Pj4wPHQ+Pj4wPzE6MH1uKHUsaSksdS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9haD0xNzc5MDMzNzAzLHRoaXMuX2JoPTMxNDQxMzQyNzcsdGhpcy5fY2g9MTAxMzkwNDI0Mix0aGlzLl9kaD0yNzczNDgwNzYyLHRoaXMuX2VoPTEzNTk4OTMxMTksdGhpcy5fZmg9MjYwMDgyMjkyNCx0aGlzLl9naD01Mjg3MzQ2MzUsdGhpcy5faGg9MTU0MTQ1OTIyNSx0aGlzLl9hbD00MDg5MjM1NzIwLHRoaXMuX2JsPTIyMjc4NzM1OTUsdGhpcy5fY2w9NDI3MTE3NTcyMyx0aGlzLl9kbD0xNTk1NzUwMTI5LHRoaXMuX2VsPTI5MTc1NjUxMzcsdGhpcy5fZmw9NzI1NTExMTk5LHRoaXMuX2dsPTQyMTUzODk1NDcsdGhpcy5faGw9MzI3MDMzMjA5LHRoaXN9LHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXRoaXMuX3cscj0wfHRoaXMuX2FoLG49MHx0aGlzLl9iaCxpPTB8dGhpcy5fY2gsbz0wfHRoaXMuX2RoLHM9MHx0aGlzLl9laCx1PTB8dGhpcy5fZmgsdj0wfHRoaXMuX2doLGc9MHx0aGlzLl9oaCx3PTB8dGhpcy5fYWwsQT0wfHRoaXMuX2JsLGs9MHx0aGlzLl9jbCxfPTB8dGhpcy5fZGwsUz0wfHRoaXMuX2VsLHg9MHx0aGlzLl9mbCxFPTB8dGhpcy5fZ2wsUD0wfHRoaXMuX2hsLE89MDtPPDMyO08rPTIpdFtPXT1lLnJlYWRJbnQzMkJFKDQqTyksdFtPKzFdPWUucmVhZEludDMyQkUoNCpPKzQpO2Zvcig7TzwxNjA7Tys9Mil7dmFyIEI9dFtPLTMwXSxUPXRbTy0zMCsxXSxDPWgoQixUKSxJPXAoVCxCKSxNPWIoQj10W08tNF0sVD10W08tNCsxXSksVT15KFQsQiksUj10W08tMTRdLGo9dFtPLTE0KzFdLE49dFtPLTMyXSxGPXRbTy0zMisxXSxMPUkranwwLEQ9QytSK20oTCxJKXwwO0Q9KEQ9RCtNK20oTD1MK1V8MCxVKXwwKStOK20oTD1MK0Z8MCxGKXwwLHRbT109RCx0W08rMV09TH1mb3IodmFyIEg9MDtIPDE2MDtIKz0yKXtEPXRbSF0sTD10W0grMV07dmFyIHE9ZihyLG4saSksej1mKHcsQSxrKSxHPWQocix3KSxLPWQodyxyKSxWPWwocyxTKSxKPWwoUyxzKSxXPWFbSF0sWT1hW0grMV0sWD1jKHMsdSx2KSxRPWMoUyx4LEUpLFo9UCtKfDAsJD1nK1YrbShaLFApfDA7JD0oJD0oJD0kK1grbShaPVorUXwwLFEpfDApK1crbShaPVorWXwwLFkpfDApK0QrbShaPVorTHwwLEwpfDA7dmFyIGVlPUsrenwwLHRlPUcrcSttKGVlLEspfDA7Zz12LFA9RSx2PXUsRT14LHU9cyx4PVMscz1vKyQrbShTPV8rWnwwLF8pfDAsbz1pLF89ayxpPW4saz1BLG49cixBPXcscj0kK3RlK20odz1aK2VlfDAsWil8MH10aGlzLl9hbD10aGlzLl9hbCt3fDAsdGhpcy5fYmw9dGhpcy5fYmwrQXwwLHRoaXMuX2NsPXRoaXMuX2NsK2t8MCx0aGlzLl9kbD10aGlzLl9kbCtffDAsdGhpcy5fZWw9dGhpcy5fZWwrU3wwLHRoaXMuX2ZsPXRoaXMuX2ZsK3h8MCx0aGlzLl9nbD10aGlzLl9nbCtFfDAsdGhpcy5faGw9dGhpcy5faGwrUHwwLHRoaXMuX2FoPXRoaXMuX2FoK3IrbSh0aGlzLl9hbCx3KXwwLHRoaXMuX2JoPXRoaXMuX2JoK24rbSh0aGlzLl9ibCxBKXwwLHRoaXMuX2NoPXRoaXMuX2NoK2krbSh0aGlzLl9jbCxrKXwwLHRoaXMuX2RoPXRoaXMuX2RoK28rbSh0aGlzLl9kbCxfKXwwLHRoaXMuX2VoPXRoaXMuX2VoK3MrbSh0aGlzLl9lbCxTKXwwLHRoaXMuX2ZoPXRoaXMuX2ZoK3UrbSh0aGlzLl9mbCx4KXwwLHRoaXMuX2doPXRoaXMuX2doK3YrbSh0aGlzLl9nbCxFKXwwLHRoaXMuX2hoPXRoaXMuX2hoK2crbSh0aGlzLl9obCxQKXwwfSx1LnByb3RvdHlwZS5faGFzaD1mdW5jdGlvbigpe3ZhciBlPW8uYWxsb2NVbnNhZmUoNjQpO2Z1bmN0aW9uIHQodCxyLG4pe2Uud3JpdGVJbnQzMkJFKHQsbiksZS53cml0ZUludDMyQkUocixuKzQpfXJldHVybiB0KHRoaXMuX2FoLHRoaXMuX2FsLDApLHQodGhpcy5fYmgsdGhpcy5fYmwsOCksdCh0aGlzLl9jaCx0aGlzLl9jbCwxNiksdCh0aGlzLl9kaCx0aGlzLl9kbCwyNCksdCh0aGlzLl9laCx0aGlzLl9lbCwzMiksdCh0aGlzLl9maCx0aGlzLl9mbCw0MCksdCh0aGlzLl9naCx0aGlzLl9nbCw0OCksdCh0aGlzLl9oaCx0aGlzLl9obCw1NiksZX0sZS5leHBvcnRzPXV9LDcyNDU6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9aTt2YXIgbj1yKDgyOTEpLkV2ZW50RW1pdHRlcjtmdW5jdGlvbiBpKCl7bi5jYWxsKHRoaXMpfXIoMTczNikoaSxuKSxpLlJlYWRhYmxlPXIoNjI5NyksaS5Xcml0YWJsZT1yKDE0NzEpLGkuRHVwbGV4PXIoNjg4NCksaS5UcmFuc2Zvcm09cig5MTU0KSxpLlBhc3NUaHJvdWdoPXIoMzU4MiksaS5maW5pc2hlZD1yKDU4MzEpLGkucGlwZWxpbmU9cigzODQpLGkuU3RyZWFtPWksaS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXM7ZnVuY3Rpb24gaSh0KXtlLndyaXRhYmxlJiYhMT09PWUud3JpdGUodCkmJnIucGF1c2UmJnIucGF1c2UoKX1mdW5jdGlvbiBvKCl7ci5yZWFkYWJsZSYmci5yZXN1bWUmJnIucmVzdW1lKCl9ci5vbigiZGF0YSIsaSksZS5vbigiZHJhaW4iLG8pLGUuX2lzU3RkaW98fHQmJiExPT09dC5lbmR8fChyLm9uKCJlbmQiLHMpLHIub24oImNsb3NlIix1KSk7dmFyIGE9ITE7ZnVuY3Rpb24gcygpe2F8fChhPSEwLGUuZW5kKCkpfWZ1bmN0aW9uIHUoKXthfHwoYT0hMCwiZnVuY3Rpb24iPT10eXBlb2YgZS5kZXN0cm95JiZlLmRlc3Ryb3koKSl9ZnVuY3Rpb24gYyhlKXtpZihmKCksMD09PW4ubGlzdGVuZXJDb3VudCh0aGlzLCJlcnJvciIpKXRocm93IGV9ZnVuY3Rpb24gZigpe3IucmVtb3ZlTGlzdGVuZXIoImRhdGEiLGkpLGUucmVtb3ZlTGlzdGVuZXIoImRyYWluIixvKSxyLnJlbW92ZUxpc3RlbmVyKCJlbmQiLHMpLHIucmVtb3ZlTGlzdGVuZXIoImNsb3NlIix1KSxyLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsYyksZS5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGMpLHIucmVtb3ZlTGlzdGVuZXIoImVuZCIsZiksci5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLGYpLGUucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixmKX1yZXR1cm4gci5vbigiZXJyb3IiLGMpLGUub24oImVycm9yIixjKSxyLm9uKCJlbmQiLGYpLHIub24oImNsb3NlIixmKSxlLm9uKCJjbG9zZSIsZiksZS5lbWl0KCJwaXBlIixyKSxlfX0sOTUxOTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0NCksaT1yKDMzMTkpLG89cig3NzA1KSxhPXIoMzY3NSkscz1yKDExNDMpLHU9dDt1LnJlcXVlc3Q9ZnVuY3Rpb24oZSx0KXtlPSJzdHJpbmciPT10eXBlb2YgZT9zLnBhcnNlKGUpOm8oZSk7dmFyIGk9LTE9PT1yLmcubG9jYXRpb24ucHJvdG9jb2wuc2VhcmNoKC9eaHR0cHM/OiQvKT8iaHR0cDoiOiIiLGE9ZS5wcm90b2NvbHx8aSx1PWUuaG9zdG5hbWV8fGUuaG9zdCxjPWUucG9ydCxmPWUucGF0aHx8Ii8iO3UmJi0xIT09dS5pbmRleE9mKCI6IikmJih1PSJbIit1KyJdIiksZS51cmw9KHU/YSsiLy8iK3U6IiIpKyhjPyI6IitjOiIiKStmLGUubWV0aG9kPShlLm1ldGhvZHx8IkdFVCIpLnRvVXBwZXJDYXNlKCksZS5oZWFkZXJzPWUuaGVhZGVyc3x8e307dmFyIGQ9bmV3IG4oZSk7cmV0dXJuIHQmJmQub24oInJlc3BvbnNlIix0KSxkfSx1LmdldD1mdW5jdGlvbihlLHQpe3ZhciByPXUucmVxdWVzdChlLHQpO3JldHVybiByLmVuZCgpLHJ9LHUuQ2xpZW50UmVxdWVzdD1uLHUuSW5jb21pbmdNZXNzYWdlPWkuSW5jb21pbmdNZXNzYWdlLHUuQWdlbnQ9ZnVuY3Rpb24oKXt9LHUuQWdlbnQuZGVmYXVsdE1heFNvY2tldHM9NCx1Lmdsb2JhbEFnZW50PW5ldyB1LkFnZW50LHUuU1RBVFVTX0NPREVTPWEsdS5NRVRIT0RTPVsiQ0hFQ0tPVVQiLCJDT05ORUNUIiwiQ09QWSIsIkRFTEVURSIsIkdFVCIsIkhFQUQiLCJMT0NLIiwiTS1TRUFSQ0giLCJNRVJHRSIsIk1LQUNUSVZJVFkiLCJNS0NPTCIsIk1PVkUiLCJOT1RJRlkiLCJPUFRJT05TIiwiUEFUQ0giLCJQT1NUIiwiUFJPUEZJTkQiLCJQUk9QUEFUQ0giLCJQVVJHRSIsIlBVVCIsIlJFUE9SVCIsIlNFQVJDSCIsIlNVQlNDUklCRSIsIlRSQUNFIiwiVU5MT0NLIiwiVU5TVUJTQ1JJQkUiXX0sMzkyODooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuO2Z1bmN0aW9uIGkoKXtpZih2b2lkIDAhPT1uKXJldHVybiBuO2lmKHIuZy5YTUxIdHRwUmVxdWVzdCl7bj1uZXcgci5nLlhNTEh0dHBSZXF1ZXN0O3RyeXtuLm9wZW4oIkdFVCIsci5nLlhEb21haW5SZXF1ZXN0PyIvIjoiaHR0cHM6Ly9leGFtcGxlLmNvbSIpfWNhdGNoKGUpe249bnVsbH19ZWxzZSBuPW51bGw7cmV0dXJuIG59ZnVuY3Rpb24gbyhlKXt2YXIgdD1pKCk7aWYoIXQpcmV0dXJuITE7dHJ5e3JldHVybiB0LnJlc3BvbnNlVHlwZT1lLHQucmVzcG9uc2VUeXBlPT09ZX1jYXRjaChlKXt9cmV0dXJuITF9ZnVuY3Rpb24gYShlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX10LmZldGNoPWEoci5nLmZldGNoKSYmYShyLmcuUmVhZGFibGVTdHJlYW0pLHQud3JpdGFibGVTdHJlYW09YShyLmcuV3JpdGFibGVTdHJlYW0pLHQuYWJvcnRDb250cm9sbGVyPWEoci5nLkFib3J0Q29udHJvbGxlciksdC5hcnJheWJ1ZmZlcj10LmZldGNofHxvKCJhcnJheWJ1ZmZlciIpLHQubXNzdHJlYW09IXQuZmV0Y2gmJm8oIm1zLXN0cmVhbSIpLHQubW96Y2h1bmtlZGFycmF5YnVmZmVyPSF0LmZldGNoJiZvKCJtb3otY2h1bmtlZC1hcnJheWJ1ZmZlciIpLHQub3ZlcnJpZGVNaW1lVHlwZT10LmZldGNofHwhIWkoKSYmYShpKCkub3ZlcnJpZGVNaW1lVHlwZSksbj1udWxsfSw4ODQ0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MDMzKS5CdWZmZXIsaT1yKDkxNDIpLG89cigzOTI4KSxhPXIoMTczNikscz1yKDMzMTkpLHU9cig2NTA1KSxjPXMuSW5jb21pbmdNZXNzYWdlLGY9cy5yZWFkeVN0YXRlcyxkPWUuZXhwb3J0cz1mdW5jdGlvbihlKXt2YXIgdCxyPXRoaXM7dS5Xcml0YWJsZS5jYWxsKHIpLHIuX29wdHM9ZSxyLl9ib2R5PVtdLHIuX2hlYWRlcnM9e30sZS5hdXRoJiZyLnNldEhlYWRlcigiQXV0aG9yaXphdGlvbiIsIkJhc2ljICIrbi5mcm9tKGUuYXV0aCkudG9TdHJpbmcoImJhc2U2NCIpKSxPYmplY3Qua2V5cyhlLmhlYWRlcnMpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3Iuc2V0SGVhZGVyKHQsZS5oZWFkZXJzW3RdKX0pKTt2YXIgaT0hMDtpZigiZGlzYWJsZS1mZXRjaCI9PT1lLm1vZGV8fCJyZXF1ZXN0VGltZW91dCJpbiBlJiYhby5hYm9ydENvbnRyb2xsZXIpaT0hMSx0PSEwO2Vsc2UgaWYoInByZWZlci1zdHJlYW1pbmciPT09ZS5tb2RlKXQ9ITE7ZWxzZSBpZigiYWxsb3ctd3JvbmctY29udGVudC10eXBlIj09PWUubW9kZSl0PSFvLm92ZXJyaWRlTWltZVR5cGU7ZWxzZXtpZihlLm1vZGUmJiJkZWZhdWx0IiE9PWUubW9kZSYmInByZWZlci1mYXN0IiE9PWUubW9kZSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgdmFsdWUgZm9yIG9wdHMubW9kZSIpO3Q9ITB9ci5fbW9kZT1mdW5jdGlvbihlLHQpe3JldHVybiBvLmZldGNoJiZ0PyJmZXRjaCI6by5tb3pjaHVua2VkYXJyYXlidWZmZXI/Im1vei1jaHVua2VkLWFycmF5YnVmZmVyIjpvLm1zc3RyZWFtPyJtcy1zdHJlYW0iOm8uYXJyYXlidWZmZXImJmU/ImFycmF5YnVmZmVyIjoidGV4dCJ9KHQsaSksci5fZmV0Y2hUaW1lcj1udWxsLHIuX3NvY2tldFRpbWVvdXQ9bnVsbCxyLl9zb2NrZXRUaW1lcj1udWxsLHIub24oImZpbmlzaCIsKGZ1bmN0aW9uKCl7ci5fb25GaW5pc2goKX0pKX07YShkLHUuV3JpdGFibGUpLGQucHJvdG90eXBlLnNldEhlYWRlcj1mdW5jdGlvbihlLHQpe3ZhciByPWUudG9Mb3dlckNhc2UoKTstMT09PWwuaW5kZXhPZihyKSYmKHRoaXMuX2hlYWRlcnNbcl09e25hbWU6ZSx2YWx1ZTp0fSl9LGQucHJvdG90eXBlLmdldEhlYWRlcj1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9oZWFkZXJzW2UudG9Mb3dlckNhc2UoKV07cmV0dXJuIHQ/dC52YWx1ZTpudWxsfSxkLnByb3RvdHlwZS5yZW1vdmVIZWFkZXI9ZnVuY3Rpb24oZSl7ZGVsZXRlIHRoaXMuX2hlYWRlcnNbZS50b0xvd2VyQ2FzZSgpXX0sZC5wcm90b3R5cGUuX29uRmluaXNoPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZighZS5fZGVzdHJveWVkKXt2YXIgdD1lLl9vcHRzOyJ0aW1lb3V0ImluIHQmJjAhPT10LnRpbWVvdXQmJmUuc2V0VGltZW91dCh0LnRpbWVvdXQpO3ZhciBuPWUuX2hlYWRlcnMsYT1udWxsOyJHRVQiIT09dC5tZXRob2QmJiJIRUFEIiE9PXQubWV0aG9kJiYoYT1uZXcgQmxvYihlLl9ib2R5LHt0eXBlOihuWyJjb250ZW50LXR5cGUiXXx8e30pLnZhbHVlfHwiIn0pKTt2YXIgcz1bXTtpZihPYmplY3Qua2V5cyhuKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdD1uW2VdLm5hbWUscj1uW2VdLnZhbHVlO0FycmF5LmlzQXJyYXkocik/ci5mb3JFYWNoKChmdW5jdGlvbihlKXtzLnB1c2goW3QsZV0pfSkpOnMucHVzaChbdCxyXSl9KSksImZldGNoIj09PWUuX21vZGUpe3ZhciB1PW51bGw7aWYoby5hYm9ydENvbnRyb2xsZXIpe3ZhciBjPW5ldyBBYm9ydENvbnRyb2xsZXI7dT1jLnNpZ25hbCxlLl9mZXRjaEFib3J0Q29udHJvbGxlcj1jLCJyZXF1ZXN0VGltZW91dCJpbiB0JiYwIT09dC5yZXF1ZXN0VGltZW91dCYmKGUuX2ZldGNoVGltZXI9ci5nLnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZS5lbWl0KCJyZXF1ZXN0VGltZW91dCIpLGUuX2ZldGNoQWJvcnRDb250cm9sbGVyJiZlLl9mZXRjaEFib3J0Q29udHJvbGxlci5hYm9ydCgpfSksdC5yZXF1ZXN0VGltZW91dCkpfXIuZy5mZXRjaChlLl9vcHRzLnVybCx7bWV0aG9kOmUuX29wdHMubWV0aG9kLGhlYWRlcnM6cyxib2R5OmF8fHZvaWQgMCxtb2RlOiJjb3JzIixjcmVkZW50aWFsczp0LndpdGhDcmVkZW50aWFscz8iaW5jbHVkZSI6InNhbWUtb3JpZ2luIixzaWduYWw6dX0pLnRoZW4oKGZ1bmN0aW9uKHQpe2UuX2ZldGNoUmVzcG9uc2U9dCxlLl9yZXNldFRpbWVycyghMSksZS5fY29ubmVjdCgpfSksKGZ1bmN0aW9uKHQpe2UuX3Jlc2V0VGltZXJzKCEwKSxlLl9kZXN0cm95ZWR8fGUuZW1pdCgiZXJyb3IiLHQpfSkpfWVsc2V7dmFyIGQ9ZS5feGhyPW5ldyByLmcuWE1MSHR0cFJlcXVlc3Q7dHJ5e2Qub3BlbihlLl9vcHRzLm1ldGhvZCxlLl9vcHRzLnVybCwhMCl9Y2F0Y2godCl7cmV0dXJuIHZvaWQgaS5uZXh0VGljaygoZnVuY3Rpb24oKXtlLmVtaXQoImVycm9yIix0KX0pKX0icmVzcG9uc2VUeXBlImluIGQmJihkLnJlc3BvbnNlVHlwZT1lLl9tb2RlKSwid2l0aENyZWRlbnRpYWxzImluIGQmJihkLndpdGhDcmVkZW50aWFscz0hIXQud2l0aENyZWRlbnRpYWxzKSwidGV4dCI9PT1lLl9tb2RlJiYib3ZlcnJpZGVNaW1lVHlwZSJpbiBkJiZkLm92ZXJyaWRlTWltZVR5cGUoInRleHQvcGxhaW47IGNoYXJzZXQ9eC11c2VyLWRlZmluZWQiKSwicmVxdWVzdFRpbWVvdXQiaW4gdCYmKGQudGltZW91dD10LnJlcXVlc3RUaW1lb3V0LGQub250aW1lb3V0PWZ1bmN0aW9uKCl7ZS5lbWl0KCJyZXF1ZXN0VGltZW91dCIpfSkscy5mb3JFYWNoKChmdW5jdGlvbihlKXtkLnNldFJlcXVlc3RIZWFkZXIoZVswXSxlWzFdKX0pKSxlLl9yZXNwb25zZT1udWxsLGQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7c3dpdGNoKGQucmVhZHlTdGF0ZSl7Y2FzZSBmLkxPQURJTkc6Y2FzZSBmLkRPTkU6ZS5fb25YSFJQcm9ncmVzcygpfX0sIm1vei1jaHVua2VkLWFycmF5YnVmZmVyIj09PWUuX21vZGUmJihkLm9ucHJvZ3Jlc3M9ZnVuY3Rpb24oKXtlLl9vblhIUlByb2dyZXNzKCl9KSxkLm9uZXJyb3I9ZnVuY3Rpb24oKXtlLl9kZXN0cm95ZWR8fChlLl9yZXNldFRpbWVycyghMCksZS5lbWl0KCJlcnJvciIsbmV3IEVycm9yKCJYSFIgZXJyb3IiKSkpfTt0cnl7ZC5zZW5kKGEpfWNhdGNoKHQpe3JldHVybiB2b2lkIGkubmV4dFRpY2soKGZ1bmN0aW9uKCl7ZS5lbWl0KCJlcnJvciIsdCl9KSl9fX19LGQucHJvdG90eXBlLl9vblhIUlByb2dyZXNzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztlLl9yZXNldFRpbWVycyghMSksZnVuY3Rpb24oZSl7dHJ5e3ZhciB0PWUuc3RhdHVzO3JldHVybiBudWxsIT09dCYmMCE9PXR9Y2F0Y2goZSl7cmV0dXJuITF9fShlLl94aHIpJiYhZS5fZGVzdHJveWVkJiYoZS5fcmVzcG9uc2V8fGUuX2Nvbm5lY3QoKSxlLl9yZXNwb25zZS5fb25YSFJQcm9ncmVzcyhlLl9yZXNldFRpbWVycy5iaW5kKGUpKSl9LGQucHJvdG90eXBlLl9jb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztlLl9kZXN0cm95ZWR8fChlLl9yZXNwb25zZT1uZXcgYyhlLl94aHIsZS5fZmV0Y2hSZXNwb25zZSxlLl9tb2RlLGUuX3Jlc2V0VGltZXJzLmJpbmQoZSkpLGUuX3Jlc3BvbnNlLm9uKCJlcnJvciIsKGZ1bmN0aW9uKHQpe2UuZW1pdCgiZXJyb3IiLHQpfSkpLGUuZW1pdCgicmVzcG9uc2UiLGUuX3Jlc3BvbnNlKSl9LGQucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihlLHQscil7dGhpcy5fYm9keS5wdXNoKGUpLHIoKX0sZC5wcm90b3R5cGUuX3Jlc2V0VGltZXJzPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7ci5nLmNsZWFyVGltZW91dCh0Ll9zb2NrZXRUaW1lciksdC5fc29ja2V0VGltZXI9bnVsbCxlPyhyLmcuY2xlYXJUaW1lb3V0KHQuX2ZldGNoVGltZXIpLHQuX2ZldGNoVGltZXI9bnVsbCk6dC5fc29ja2V0VGltZW91dCYmKHQuX3NvY2tldFRpbWVyPXIuZy5zZXRUaW1lb3V0KChmdW5jdGlvbigpe3QuZW1pdCgidGltZW91dCIpfSksdC5fc29ja2V0VGltZW91dCkpfSxkLnByb3RvdHlwZS5hYm9ydD1kLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dC5fZGVzdHJveWVkPSEwLHQuX3Jlc2V0VGltZXJzKCEwKSx0Ll9yZXNwb25zZSYmKHQuX3Jlc3BvbnNlLl9kZXN0cm95ZWQ9ITApLHQuX3hocj90Ll94aHIuYWJvcnQoKTp0Ll9mZXRjaEFib3J0Q29udHJvbGxlciYmdC5fZmV0Y2hBYm9ydENvbnRyb2xsZXIuYWJvcnQoKSxlJiZ0LmVtaXQoImVycm9yIixlKX0sZC5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKGUsdCxyKXsiZnVuY3Rpb24iPT10eXBlb2YgZSYmKHI9ZSxlPXZvaWQgMCksdS5Xcml0YWJsZS5wcm90b3R5cGUuZW5kLmNhbGwodGhpcyxlLHQscil9LGQucHJvdG90eXBlLnNldFRpbWVvdXQ9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzO3QmJnIub25jZSgidGltZW91dCIsdCksci5fc29ja2V0VGltZW91dD1lLHIuX3Jlc2V0VGltZXJzKCExKX0sZC5wcm90b3R5cGUuZmx1c2hIZWFkZXJzPWZ1bmN0aW9uKCl7fSxkLnByb3RvdHlwZS5zZXROb0RlbGF5PWZ1bmN0aW9uKCl7fSxkLnByb3RvdHlwZS5zZXRTb2NrZXRLZWVwQWxpdmU9ZnVuY3Rpb24oKXt9O3ZhciBsPVsiYWNjZXB0LWNoYXJzZXQiLCJhY2NlcHQtZW5jb2RpbmciLCJhY2Nlc3MtY29udHJvbC1yZXF1ZXN0LWhlYWRlcnMiLCJhY2Nlc3MtY29udHJvbC1yZXF1ZXN0LW1ldGhvZCIsImNvbm5lY3Rpb24iLCJjb250ZW50LWxlbmd0aCIsImNvb2tpZSIsImNvb2tpZTIiLCJkYXRlIiwiZG50IiwiZXhwZWN0IiwiaG9zdCIsImtlZXAtYWxpdmUiLCJvcmlnaW4iLCJyZWZlcmVyIiwidGUiLCJ0cmFpbGVyIiwidHJhbnNmZXItZW5jb2RpbmciLCJ1cGdyYWRlIiwidmlhIl19LDMzMTk6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDkxNDIpLGk9cig5MDMzKS5CdWZmZXIsbz1yKDM5MjgpLGE9cigxNzM2KSxzPXIoNjUwNSksdT10LnJlYWR5U3RhdGVzPXtVTlNFTlQ6MCxPUEVORUQ6MSxIRUFERVJTX1JFQ0VJVkVEOjIsTE9BRElORzozLERPTkU6NH0sYz10LkluY29taW5nTWVzc2FnZT1mdW5jdGlvbihlLHQscixhKXt2YXIgdT10aGlzO2lmKHMuUmVhZGFibGUuY2FsbCh1KSx1Ll9tb2RlPXIsdS5oZWFkZXJzPXt9LHUucmF3SGVhZGVycz1bXSx1LnRyYWlsZXJzPXt9LHUucmF3VHJhaWxlcnM9W10sdS5vbigiZW5kIiwoZnVuY3Rpb24oKXtuLm5leHRUaWNrKChmdW5jdGlvbigpe3UuZW1pdCgiY2xvc2UiKX0pKX0pKSwiZmV0Y2giPT09cil7aWYodS5fZmV0Y2hSZXNwb25zZT10LHUudXJsPXQudXJsLHUuc3RhdHVzQ29kZT10LnN0YXR1cyx1LnN0YXR1c01lc3NhZ2U9dC5zdGF0dXNUZXh0LHQuaGVhZGVycy5mb3JFYWNoKChmdW5jdGlvbihlLHQpe3UuaGVhZGVyc1t0LnRvTG93ZXJDYXNlKCldPWUsdS5yYXdIZWFkZXJzLnB1c2godCxlKX0pKSxvLndyaXRhYmxlU3RyZWFtKXt2YXIgYz1uZXcgV3JpdGFibGVTdHJlYW0oe3dyaXRlOmZ1bmN0aW9uKGUpe3JldHVybiBhKCExKSxuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxyKXt1Ll9kZXN0cm95ZWQ/cigpOnUucHVzaChpLmZyb20oZSkpP3QoKTp1Ll9yZXN1bWVGZXRjaD10fSkpfSxjbG9zZTpmdW5jdGlvbigpe2EoITApLHUuX2Rlc3Ryb3llZHx8dS5wdXNoKG51bGwpfSxhYm9ydDpmdW5jdGlvbihlKXthKCEwKSx1Ll9kZXN0cm95ZWR8fHUuZW1pdCgiZXJyb3IiLGUpfX0pO3RyeXtyZXR1cm4gdm9pZCB0LmJvZHkucGlwZVRvKGMpLmNhdGNoKChmdW5jdGlvbihlKXthKCEwKSx1Ll9kZXN0cm95ZWR8fHUuZW1pdCgiZXJyb3IiLGUpfSkpfWNhdGNoKGUpe319dmFyIGY9dC5ib2R5LmdldFJlYWRlcigpOyFmdW5jdGlvbiBlKCl7Zi5yZWFkKCkudGhlbigoZnVuY3Rpb24odCl7dS5fZGVzdHJveWVkfHwoYSh0LmRvbmUpLHQuZG9uZT91LnB1c2gobnVsbCk6KHUucHVzaChpLmZyb20odC52YWx1ZSkpLGUoKSkpfSkpLmNhdGNoKChmdW5jdGlvbihlKXthKCEwKSx1Ll9kZXN0cm95ZWR8fHUuZW1pdCgiZXJyb3IiLGUpfSkpfSgpfWVsc2UgaWYodS5feGhyPWUsdS5fcG9zPTAsdS51cmw9ZS5yZXNwb25zZVVSTCx1LnN0YXR1c0NvZGU9ZS5zdGF0dXMsdS5zdGF0dXNNZXNzYWdlPWUuc3RhdHVzVGV4dCxlLmdldEFsbFJlc3BvbnNlSGVhZGVycygpLnNwbGl0KC9ccj9cbi8pLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciB0PWUubWF0Y2goL14oW146XSspOlxzKiguKikvKTtpZih0KXt2YXIgcj10WzFdLnRvTG93ZXJDYXNlKCk7InNldC1jb29raWUiPT09cj8odm9pZCAwPT09dS5oZWFkZXJzW3JdJiYodS5oZWFkZXJzW3JdPVtdKSx1LmhlYWRlcnNbcl0ucHVzaCh0WzJdKSk6dm9pZCAwIT09dS5oZWFkZXJzW3JdP3UuaGVhZGVyc1tyXSs9IiwgIit0WzJdOnUuaGVhZGVyc1tyXT10WzJdLHUucmF3SGVhZGVycy5wdXNoKHRbMV0sdFsyXSl9fSkpLHUuX2NoYXJzZXQ9IngtdXNlci1kZWZpbmVkIiwhby5vdmVycmlkZU1pbWVUeXBlKXt2YXIgZD11LnJhd0hlYWRlcnNbIm1pbWUtdHlwZSJdO2lmKGQpe3ZhciBsPWQubWF0Y2goLztccypjaGFyc2V0PShbXjtdKSg7fCQpLyk7bCYmKHUuX2NoYXJzZXQ9bFsxXS50b0xvd2VyQ2FzZSgpKX11Ll9jaGFyc2V0fHwodS5fY2hhcnNldD0idXRmLTgiKX19O2EoYyxzLlJlYWRhYmxlKSxjLnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX3Jlc3VtZUZldGNoO2UmJih0aGlzLl9yZXN1bWVGZXRjaD1udWxsLGUoKSl9LGMucHJvdG90eXBlLl9vblhIUlByb2dyZXNzPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj10Ll94aHIsbz1udWxsO3N3aXRjaCh0Ll9tb2RlKXtjYXNlInRleHQiOmlmKChvPW4ucmVzcG9uc2VUZXh0KS5sZW5ndGg+dC5fcG9zKXt2YXIgYT1vLnN1YnN0cih0Ll9wb3MpO2lmKCJ4LXVzZXItZGVmaW5lZCI9PT10Ll9jaGFyc2V0KXtmb3IodmFyIHM9aS5hbGxvYyhhLmxlbmd0aCksYz0wO2M8YS5sZW5ndGg7YysrKXNbY109MjU1JmEuY2hhckNvZGVBdChjKTt0LnB1c2gocyl9ZWxzZSB0LnB1c2goYSx0Ll9jaGFyc2V0KTt0Ll9wb3M9by5sZW5ndGh9YnJlYWs7Y2FzZSJhcnJheWJ1ZmZlciI6aWYobi5yZWFkeVN0YXRlIT09dS5ET05FfHwhbi5yZXNwb25zZSlicmVhaztvPW4ucmVzcG9uc2UsdC5wdXNoKGkuZnJvbShuZXcgVWludDhBcnJheShvKSkpO2JyZWFrO2Nhc2UibW96LWNodW5rZWQtYXJyYXlidWZmZXIiOmlmKG89bi5yZXNwb25zZSxuLnJlYWR5U3RhdGUhPT11LkxPQURJTkd8fCFvKWJyZWFrO3QucHVzaChpLmZyb20obmV3IFVpbnQ4QXJyYXkobykpKTticmVhaztjYXNlIm1zLXN0cmVhbSI6aWYobz1uLnJlc3BvbnNlLG4ucmVhZHlTdGF0ZSE9PXUuTE9BRElORylicmVhazt2YXIgZj1uZXcgci5nLk1TU3RyZWFtUmVhZGVyO2Yub25wcm9ncmVzcz1mdW5jdGlvbigpe2YucmVzdWx0LmJ5dGVMZW5ndGg+dC5fcG9zJiYodC5wdXNoKGkuZnJvbShuZXcgVWludDhBcnJheShmLnJlc3VsdC5zbGljZSh0Ll9wb3MpKSkpLHQuX3Bvcz1mLnJlc3VsdC5ieXRlTGVuZ3RoKX0sZi5vbmxvYWQ9ZnVuY3Rpb24oKXtlKCEwKSx0LnB1c2gobnVsbCl9LGYucmVhZEFzQXJyYXlCdWZmZXIobyl9dC5feGhyLnJlYWR5U3RhdGU9PT11LkRPTkUmJiJtcy1zdHJlYW0iIT09dC5fbW9kZSYmKGUoITApLHQucHVzaChudWxsKSl9fSwzNDYyOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODUwKS5CdWZmZXIsaT1uLmlzRW5jb2Rpbmd8fGZ1bmN0aW9uKGUpe3N3aXRjaCgoZT0iIitlKSYmZS50b0xvd2VyQ2FzZSgpKXtjYXNlImhleCI6Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpjYXNlImFzY2lpIjpjYXNlImJpbmFyeSI6Y2FzZSJiYXNlNjQiOmNhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpjYXNlInJhdyI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19O2Z1bmN0aW9uIG8oZSl7dmFyIHQ7c3dpdGNoKHRoaXMuZW5jb2Rpbmc9ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuInV0ZjgiO2Zvcih2YXIgdDs7KXN3aXRjaChlKXtjYXNlInV0ZjgiOmNhc2UidXRmLTgiOnJldHVybiJ1dGY4IjtjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuInV0ZjE2bGUiO2Nhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuImxhdGluMSI7Y2FzZSJiYXNlNjQiOmNhc2UiYXNjaWkiOmNhc2UiaGV4IjpyZXR1cm4gZTtkZWZhdWx0OmlmKHQpcmV0dXJuO2U9KCIiK2UpLnRvTG93ZXJDYXNlKCksdD0hMH19KGUpO2lmKCJzdHJpbmciIT10eXBlb2YgdCYmKG4uaXNFbmNvZGluZz09PWl8fCFpKGUpKSl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrZSk7cmV0dXJuIHR8fGV9KGUpLHRoaXMuZW5jb2Rpbmcpe2Nhc2UidXRmMTZsZSI6dGhpcy50ZXh0PXUsdGhpcy5lbmQ9Yyx0PTQ7YnJlYWs7Y2FzZSJ1dGY4Ijp0aGlzLmZpbGxMYXN0PXMsdD00O2JyZWFrO2Nhc2UiYmFzZTY0Ijp0aGlzLnRleHQ9Zix0aGlzLmVuZD1kLHQ9MzticmVhaztkZWZhdWx0OnJldHVybiB0aGlzLndyaXRlPWwsdm9pZCh0aGlzLmVuZD1oKX10aGlzLmxhc3ROZWVkPTAsdGhpcy5sYXN0VG90YWw9MCx0aGlzLmxhc3RDaGFyPW4uYWxsb2NVbnNhZmUodCl9ZnVuY3Rpb24gYShlKXtyZXR1cm4gZTw9MTI3PzA6ZT4+NT09Nj8yOmU+PjQ9PTE0PzM6ZT4+Mz09MzA/NDplPj42PT0yPy0xOi0yfWZ1bmN0aW9uIHMoZSl7dmFyIHQ9dGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCxyPWZ1bmN0aW9uKGUsdCxyKXtpZigxMjghPSgxOTImdFswXSkpcmV0dXJuIGUubGFzdE5lZWQ9MCwi77+9IjtpZihlLmxhc3ROZWVkPjEmJnQubGVuZ3RoPjEpe2lmKDEyOCE9KDE5MiZ0WzFdKSlyZXR1cm4gZS5sYXN0TmVlZD0xLCLvv70iO2lmKGUubGFzdE5lZWQ+MiYmdC5sZW5ndGg+MiYmMTI4IT0oMTkyJnRbMl0pKXJldHVybiBlLmxhc3ROZWVkPTIsIu+/vSJ9fSh0aGlzLGUpO3JldHVybiB2b2lkIDAhPT1yP3I6dGhpcy5sYXN0TmVlZDw9ZS5sZW5ndGg/KGUuY29weSh0aGlzLmxhc3RDaGFyLHQsMCx0aGlzLmxhc3ROZWVkKSx0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsMCx0aGlzLmxhc3RUb3RhbCkpOihlLmNvcHkodGhpcy5sYXN0Q2hhcix0LDAsZS5sZW5ndGgpLHZvaWQodGhpcy5sYXN0TmVlZC09ZS5sZW5ndGgpKX1mdW5jdGlvbiB1KGUsdCl7aWYoKGUubGVuZ3RoLXQpJTI9PTApe3ZhciByPWUudG9TdHJpbmcoInV0ZjE2bGUiLHQpO2lmKHIpe3ZhciBuPXIuY2hhckNvZGVBdChyLmxlbmd0aC0xKTtpZihuPj01NTI5NiYmbjw9NTYzMTkpcmV0dXJuIHRoaXMubGFzdE5lZWQ9Mix0aGlzLmxhc3RUb3RhbD00LHRoaXMubGFzdENoYXJbMF09ZVtlLmxlbmd0aC0yXSx0aGlzLmxhc3RDaGFyWzFdPWVbZS5sZW5ndGgtMV0sci5zbGljZSgwLC0xKX1yZXR1cm4gcn1yZXR1cm4gdGhpcy5sYXN0TmVlZD0xLHRoaXMubGFzdFRvdGFsPTIsdGhpcy5sYXN0Q2hhclswXT1lW2UubGVuZ3RoLTFdLGUudG9TdHJpbmcoInV0ZjE2bGUiLHQsZS5sZW5ndGgtMSl9ZnVuY3Rpb24gYyhlKXt2YXIgdD1lJiZlLmxlbmd0aD90aGlzLndyaXRlKGUpOiIiO2lmKHRoaXMubGFzdE5lZWQpe3ZhciByPXRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQ7cmV0dXJuIHQrdGhpcy5sYXN0Q2hhci50b1N0cmluZygidXRmMTZsZSIsMCxyKX1yZXR1cm4gdH1mdW5jdGlvbiBmKGUsdCl7dmFyIHI9KGUubGVuZ3RoLXQpJTM7cmV0dXJuIDA9PT1yP2UudG9TdHJpbmcoImJhc2U2NCIsdCk6KHRoaXMubGFzdE5lZWQ9My1yLHRoaXMubGFzdFRvdGFsPTMsMT09PXI/dGhpcy5sYXN0Q2hhclswXT1lW2UubGVuZ3RoLTFdOih0aGlzLmxhc3RDaGFyWzBdPWVbZS5sZW5ndGgtMl0sdGhpcy5sYXN0Q2hhclsxXT1lW2UubGVuZ3RoLTFdKSxlLnRvU3RyaW5nKCJiYXNlNjQiLHQsZS5sZW5ndGgtcikpfWZ1bmN0aW9uIGQoZSl7dmFyIHQ9ZSYmZS5sZW5ndGg/dGhpcy53cml0ZShlKToiIjtyZXR1cm4gdGhpcy5sYXN0TmVlZD90K3RoaXMubGFzdENoYXIudG9TdHJpbmcoImJhc2U2NCIsMCwzLXRoaXMubGFzdE5lZWQpOnR9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS50b1N0cmluZyh0aGlzLmVuY29kaW5nKX1mdW5jdGlvbiBoKGUpe3JldHVybiBlJiZlLmxlbmd0aD90aGlzLndyaXRlKGUpOiIifXQucz1vLG8ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4iIjt2YXIgdCxyO2lmKHRoaXMubGFzdE5lZWQpe2lmKHZvaWQgMD09PSh0PXRoaXMuZmlsbExhc3QoZSkpKXJldHVybiIiO3I9dGhpcy5sYXN0TmVlZCx0aGlzLmxhc3ROZWVkPTB9ZWxzZSByPTA7cmV0dXJuIHI8ZS5sZW5ndGg/dD90K3RoaXMudGV4dChlLHIpOnRoaXMudGV4dChlLHIpOnR8fCIifSxvLnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5sZW5ndGg/dGhpcy53cml0ZShlKToiIjtyZXR1cm4gdGhpcy5sYXN0TmVlZD90KyLvv70iOnR9LG8ucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24oZSx0KXt2YXIgcj1mdW5jdGlvbihlLHQscil7dmFyIG49dC5sZW5ndGgtMTtpZihuPHIpcmV0dXJuIDA7dmFyIGk9YSh0W25dKTtyZXR1cm4gaT49MD8oaT4wJiYoZS5sYXN0TmVlZD1pLTEpLGkpOi0tbjxyfHwtMj09PWk/MDooaT1hKHRbbl0pKT49MD8oaT4wJiYoZS5sYXN0TmVlZD1pLTIpLGkpOi0tbjxyfHwtMj09PWk/MDooaT1hKHRbbl0pKT49MD8oaT4wJiYoMj09PWk/aT0wOmUubGFzdE5lZWQ9aS0zKSxpKTowfSh0aGlzLGUsdCk7aWYoIXRoaXMubGFzdE5lZWQpcmV0dXJuIGUudG9TdHJpbmcoInV0ZjgiLHQpO3RoaXMubGFzdFRvdGFsPXI7dmFyIG49ZS5sZW5ndGgtKHItdGhpcy5sYXN0TmVlZCk7cmV0dXJuIGUuY29weSh0aGlzLmxhc3RDaGFyLDAsbiksZS50b1N0cmluZygidXRmOCIsdCxuKX0sby5wcm90b3R5cGUuZmlsbExhc3Q9ZnVuY3Rpb24oZSl7aWYodGhpcy5sYXN0TmVlZDw9ZS5sZW5ndGgpcmV0dXJuIGUuY29weSh0aGlzLmxhc3RDaGFyLHRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQsMCx0aGlzLmxhc3ROZWVkKSx0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsMCx0aGlzLmxhc3RUb3RhbCk7ZS5jb3B5KHRoaXMubGFzdENoYXIsdGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCwwLGUubGVuZ3RoKSx0aGlzLmxhc3ROZWVkLT1lLmxlbmd0aH19LDY5MzE6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg2MTkpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGU/ZTpuKGUpP2Uuc2xpY2UoMik6ZX19LDY0Mjc6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1mdW5jdGlvbigpe3Rocm93IlRoaXMgc3dhcm0uanMgZnVuY3Rpb24gaXNuJ3QgYXZhaWxhYmxlIG9uIHRoZSBicm93c2VyLiJ9LGk9e3JlYWRGaWxlOm59LG89e2Rvd25sb2FkOm4sc2FmZURvd25sb2FkQXJjaGl2ZWQ6bixkaXJlY3RvcnlUcmVlOm59LGE9e3BsYXRmb3JtOm4sYXJjaDpufSxzPXtqb2luOm4sc2xpY2U6bn0sdT17c3Bhd246bn0sYz17bG9va3VwOm59LGY9cigxMzU3KSxkPXIoNjMxKSxsPXIoMjczMyksaD1yKDI1MTApLHA9cigzMDk0KTtlLmV4cG9ydHM9cCh7ZnM6aSxmaWxlczpvLG9zOmEscGF0aDpzLGNoaWxkX3Byb2Nlc3M6dSxkZWZhdWx0QXJjaGl2ZXM6e30sbWltZXR5cGU6YyxyZXF1ZXN0OmYsZG93bmxvYWRVcmw6bnVsbCxieXRlczpkLGhhc2g6bCxwaWNrOmh9KX0sMjUxMDplPT57InVzZSBzdHJpY3QiO3ZhciB0PWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxyKXt2YXIgbixpPWZ1bmN0aW9uKHIpe3ZhciBuPXt9LGk9ci50YXJnZXQuZmlsZXMubGVuZ3RoLG89MDtbXS5tYXAuY2FsbChyLnRhcmdldC5maWxlcywoZnVuY3Rpb24ocil7dmFyIGE9bmV3IEZpbGVSZWFkZXI7YS5vbmxvYWQ9ZnVuY3Rpb24oYSl7dmFyIHM9bmV3IFVpbnQ4QXJyYXkoYS50YXJnZXQucmVzdWx0KTtpZigiZGlyZWN0b3J5Ij09PWUpe3ZhciB1PXIud2Via2l0UmVsYXRpdmVQYXRoO25bdS5zbGljZSh1LmluZGV4T2YoIi8iKSsxKV09e3R5cGU6InRleHQvcGxhaW4iLGRhdGE6c30sKytvPT09aSYmdChuKX1lbHNlIGlmKCJmaWxlIj09PWUpe3ZhciBjPXIud2Via2l0UmVsYXRpdmVQYXRoO3Qoe3R5cGU6bWltZXR5cGUubG9va3VwKGMpLGRhdGE6c30pfWVsc2UgdChzKX0sYS5yZWFkQXNBcnJheUJ1ZmZlcihyKX0pKX07ImRpcmVjdG9yeSI9PT1lPygobj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpKS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGkpLG4udHlwZT0iZmlsZSIsbi53ZWJraXRkaXJlY3Rvcnk9ITAsbi5tb3pkaXJlY3Rvcnk9ITAsbi5tc2RpcmVjdG9yeT0hMCxuLm9kaXJlY3Rvcnk9ITAsbi5kaXJlY3Rvcnk9ITApOigobj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpKS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGkpLG4udHlwZT0iZmlsZSIpO3ZhciBvPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJNb3VzZUV2ZW50cyIpO28uaW5pdEV2ZW50KCJjbGljayIsITAsITEpLG4uZGlzcGF0Y2hFdmVudChvKX0pKX19O2UuZXhwb3J0cz17ZGF0YTp0KCJkYXRhIiksZmlsZTp0KCJmaWxlIiksZGlyZWN0b3J5OnQoImRpcmVjdG9yeSIpfX0sMjczMzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTU3NCkua2VjY2FrMjU2LGk9cig2MzEpLG89ZnVuY3Rpb24oZSx0KXt2YXIgcj1pLnJldmVyc2UoaS5wYWQoNixpLmZyb21OdW1iZXIoZSkpKSxvPWkuZmxhdHRlbihbciwiMHgwMDAwIix0XSk7cmV0dXJuIG4obykuc2xpY2UoMil9O2UuZXhwb3J0cz1mdW5jdGlvbiBlKHQpeyJzdHJpbmciPT10eXBlb2YgdCYmIjB4IiE9PXQuc2xpY2UoMCwyKT90PWkuZnJvbVN0cmluZyh0KToic3RyaW5nIiE9dHlwZW9mIHQmJnZvaWQgMCE9PXQubGVuZ3RoJiYodD1pLmZyb21VaW50OEFycmF5KHQpKTt2YXIgcj1pLmxlbmd0aCh0KTtpZihyPD00MDk2KXJldHVybiBvKHIsdCk7Zm9yKHZhciBuPTQwOTY7MTI4Km48cjspbio9MTI4O2Zvcih2YXIgYT1bXSxzPTA7czxyO3MrPW4pe3ZhciB1PW48ci1zP246ci1zO2EucHVzaChlKGkuc2xpY2UodCxzLHMrdSkpKX1yZXR1cm4gbyhyLGkuZmxhdHRlbihhKSl9fSwzMDk0OmU9PnsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUuZnMscj1lLmZpbGVzLG49ZS5vcyxpPWUucGF0aCxvPWUuY2hpbGRfcHJvY2VzcyxhPWUubWltZXR5cGUscz1lLmRlZmF1bHRBcmNoaXZlcyx1PWUucmVxdWVzdCxjPWUuZG93bmxvYWRVcmwsZj1lLmJ5dGVzLGQ9ZS5oYXNoLGw9ZS5waWNrLGg9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgcj17fSxuPTAsaT1lLmxlbmd0aDtuPGk7KytuKXJbZVtuXV09dFtuXTtyZXR1cm4gcn19LHA9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiIiLmNvbmNhdChlLCIvYnp6LXJhdzovIikuY29uY2F0KHQpfX0sYj1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihyLG4pe3UocChlKSh0KSx7cmVzcG9uc2VUeXBlOiJhcnJheWJ1ZmZlciJ9LChmdW5jdGlvbihlLHQsaSl7cmV0dXJuIGU/bihlKTppLnN0YXR1c0NvZGU+PTQwMD9uKG5ldyBFcnJvcigiRXJyb3IgIi5jb25jYXQoaS5zdGF0dXNDb2RlLCIuIikpKTpyKG5ldyBVaW50OEFycmF5KHQpKX0pKX0pKX19LHk9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbiB0KHIpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24oaSl7dmFyIG89ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWUucGF0aD9Qcm9taXNlLnJlc29sdmUoKToiYXBwbGljYXRpb24vYnp6LW1hbmlmZXN0K2pzb24iPT09ZS5jb250ZW50VHlwZT90KGUuaGFzaCkobitlLnBhdGgpKGkpOlByb21pc2UucmVzb2x2ZSgocj1uK2UucGF0aCxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHRbcl09ZSx0fX0pKGZ1bmN0aW9uKGUpe3JldHVybnt0eXBlOmUuY29udGVudFR5cGUsaGFzaDplLmhhc2h9fShlKSkoaSkpO3ZhciByfTtyZXR1cm4gYihlKShyKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gSlNPTi5wYXJzZShqKGUpKS5lbnRyaWVzfSkpLnRoZW4oKGZ1bmN0aW9uKGUpe3JldHVybiBQcm9taXNlLmFsbChlLm1hcChvKSl9KSkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKX19fSh0KSgiIikoe30pfX0sbT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHkoZSkodCkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIGgoT2JqZWN0LmtleXMoZSkpKE9iamVjdC5rZXlzKGUpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGVbdF0uaGFzaH0pKSl9KSl9fSx2PWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4geShlKSh0KS50aGVuKChmdW5jdGlvbih0KXt2YXIgcj1PYmplY3Qua2V5cyh0KSxuPXIubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdFtlXS5oYXNofSkpLGk9ci5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdLnR5cGV9KSksbz1uLm1hcChiKGUpKTtyZXR1cm4gUHJvbWlzZS5hbGwobykudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIGgocikoZnVuY3Rpb24oZSl7cmV0dXJuIGUubWFwKChmdW5jdGlvbihlLHQpe3JldHVybnt0eXBlOmlbdF0sZGF0YTplfX0pKX0oZSkpfSkpfSkpfX0sZz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiByLmRvd25sb2FkKHAoZSkodCkpKG4pfX19LHc9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gbShlKSh0KS50aGVuKChmdW5jdGlvbih0KXt2YXIgbj1bXTtmb3IodmFyIG8gaW4gdClpZihvLmxlbmd0aD4wKXt2YXIgYT1pLmpvaW4ocixvKTtuLnB1c2goZyhlKSh0W29dKShhKSl9cmV0dXJuIFByb21pc2UuYWxsKG4pLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSl9KSl9fX0sQT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihyLG4pe3ZhciBpPXtib2R5OiJzdHJpbmciPT10eXBlb2YgdD9OKHQpOnQsbWV0aG9kOiJQT1NUIn07dSgiIi5jb25jYXQoZSwiL2J6ei1yYXc6LyIpLGksKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU/bihlKTpyKHQpfSkpfSkpfX0saz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24gaShvKXt2YXIgYT0iLyI9PT1yWzBdP3I6Ii8iK3Iscz0iIi5jb25jYXQoZSwiL2J6ejovIikuY29uY2F0KHQpLmNvbmNhdChhKSxjPXttZXRob2Q6IlBVVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6bi50eXBlfSxib2R5Om4uZGF0YX07cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihlLHQpe3UocyxjLChmdW5jdGlvbihyLG4pe3JldHVybiByP3Qocik6LTEhPT1uLmluZGV4T2YoImVycm9yIik/dChuKTplKG4pfSkpfSkpLmNhdGNoKChmdW5jdGlvbihlKXtyZXR1cm4gbz4wJiZpKG8tMSl9KSl9KDMpfX19fSxfPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4geChlKSh7IiI6dH0pfX0sUz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQucmVhZEZpbGUocikudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIF8oZSkoe3R5cGU6YS5sb29rdXAociksZGF0YTp0fSl9KSl9fSx4PWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gQShlKSgie30iKS50aGVuKChmdW5jdGlvbihyKXtyZXR1cm4gT2JqZWN0LmtleXModCkucmVkdWNlKChmdW5jdGlvbihyLG4pe3JldHVybiByLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBrKGUpKG4pKHIpKHRbcl0pfX0obikpfSksUHJvbWlzZS5yZXNvbHZlKHIpKX0pKX19LEU9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiB0LnJlYWRGaWxlKHIpLnRoZW4oQShlKSl9fSxQPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24oaSl7cmV0dXJuIHIuZGlyZWN0b3J5VHJlZShpKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0LnJlYWRGaWxlKGUpfSkpKS50aGVuKChmdW5jdGlvbih0KXt2YXIgcj1lLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2xpY2UoaS5sZW5ndGgpfSkpLG49ZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBhLmxvb2t1cChlKXx8InRleHQvcGxhaW4ifSkpO3JldHVybiBoKHIpKHQubWFwKChmdW5jdGlvbihlLHQpe3JldHVybnt0eXBlOm5bdF0sZGF0YTplfX0pKSl9KSl9KSkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuKHQ9bj97IiI6ZVtuXX06e30sZnVuY3Rpb24oZSl7dmFyIHI9e307Zm9yKHZhciBuIGluIHQpcltuXT10W25dO2Zvcih2YXIgaSBpbiBlKXJbaV09ZVtpXTtyZXR1cm4gcn0pKGUpO3ZhciB0fSkpLnRoZW4oeChlKSl9fX0sTz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7aWYoImRhdGEiPT09dC5waWNrKXJldHVybiBsLmRhdGEoKS50aGVuKEEoZSkpO2lmKCJmaWxlIj09PXQucGljaylyZXR1cm4gbC5maWxlKCkudGhlbihfKGUpKTtpZigiZGlyZWN0b3J5Ij09PXQucGljaylyZXR1cm4gbC5kaXJlY3RvcnkoKS50aGVuKHgoZSkpO2lmKHQucGF0aClzd2l0Y2godC5raW5kKXtjYXNlImRhdGEiOnJldHVybiBFKGUpKHQucGF0aCk7Y2FzZSJmaWxlIjpyZXR1cm4gUyhlKSh0LnBhdGgpO2Nhc2UiZGlyZWN0b3J5IjpyZXR1cm4gUChlKSh0LmRlZmF1bHRGaWxlKSh0LnBhdGgpfWVsc2V7aWYodC5sZW5ndGh8fCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gQShlKSh0KTtpZih0IGluc3RhbmNlb2YgT2JqZWN0KXJldHVybiB4KGUpKHQpfXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIkJhZCBhcmd1bWVudHMiKSl9fSxCPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIFUoZSkodCkudGhlbigoZnVuY3Rpb24obil7cmV0dXJuIG4/cj93KGUpKHQpKHIpOnYoZSkodCk6cj9nKGUpKHQpKHIpOmIoZSkodCl9KSl9fX0sVD1mdW5jdGlvbihlLHQpe3ZhciBpPW4ucGxhdGZvcm0oKS5yZXBsYWNlKCJ3aW4zMiIsIndpbmRvd3MiKSsiLSIrKCJ4NjQiPT09bi5hcmNoKCk/ImFtZDY0IjoiMzg2Iiksbz0odHx8cylbaV0sYT1jK28uYXJjaGl2ZSsiLnRhci5neiIsdT1vLmFyY2hpdmVNRDUsZj1vLmJpbmFyeU1ENTtyZXR1cm4gci5zYWZlRG93bmxvYWRBcmNoaXZlZChhKSh1KShmKShlKX0sQz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQscil7dmFyIG49by5zcGF3bixpPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4tMSE9PSgiIit0KS5pbmRleE9mKGUpfX0sYT1lLmFjY291bnQscz1lLnBhc3N3b3JkLHU9ZS5kYXRhRGlyLGM9ZS5lbnNBcGksZj1lLnByaXZhdGVLZXksZD0wLGw9bihlLmJpblBhdGgsWyItLWJ6emFjY291bnQiLGF8fGYsIi0tZGF0YWRpciIsdSwiLS1lbnMtYXBpIixjXSksaD1mdW5jdGlvbihlKXswPT09ZCYmaSgiUGFzc3BocmFzZSIpKGUpP3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZD0xLGwuc3RkaW4ud3JpdGUocysiXG4iKX0pLDUwMCk6aSgiU3dhcm0gaHR0cCBwcm94eSBzdGFydGVkIikoZSkmJihkPTIsY2xlYXJUaW1lb3V0KHApLHQobCkpfTtsLnN0ZG91dC5vbigiZGF0YSIsaCksbC5zdGRlcnIub24oImRhdGEiLGgpO3ZhciBwPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIHIobmV3IEVycm9yKCJDb3VsZG4ndCBzdGFydCBzd2FybSBwcm9jZXNzLiIpKX0pLDJlNCl9KSl9LEk9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LHIpe2Uuc3RkZXJyLnJlbW92ZUFsbExpc3RlbmVycygiZGF0YSIpLGUuc3Rkb3V0LnJlbW92ZUFsbExpc3RlbmVycygiZGF0YSIpLGUuc3RkaW4ucmVtb3ZlQWxsTGlzdGVuZXJzKCJlcnJvciIpLGUucmVtb3ZlQWxsTGlzdGVuZXJzKCJlcnJvciIpLGUucmVtb3ZlQWxsTGlzdGVuZXJzKCJleGl0IiksZS5raWxsKCJTSUdJTlQiKTt2YXIgbj1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3JldHVybiBlLmtpbGwoIlNJR0tJTEwiKX0pLDhlMyk7ZS5vbmNlKCJjbG9zZSIsKGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KG4pLHQoKX0pKX0pKX0sTT1mdW5jdGlvbihlKXtyZXR1cm4gQShlKSgidGVzdCIpLnRoZW4oKGZ1bmN0aW9uKGUpe3JldHVybiJjOWE5OWM3ZDMyNmRjYzYzMTZmMzJmZTI2MjViMzExZjZkYzQ5YTE3NWU2ODc3NjgxZGVkOTMxMzdkMzU2OWU3Ij09PWV9KSkuY2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuITF9KSl9LFU9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBiKGUpKHQpLnRoZW4oKGZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4hIUpTT04ucGFyc2UoaihlKSkuZW50cmllc31jYXRjaChlKXtyZXR1cm4hMX19KSl9fSxSPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0LHIsbixpLG8pe3ZhciBhO3JldHVybiB2b2lkIDAhPT10JiYoYT1lKHQpKSx2b2lkIDAhPT1yJiYoYT1lKHIpKSx2b2lkIDAhPT1uJiYoYT1lKG4pKSx2b2lkIDAhPT1pJiYoYT1lKGkpKSx2b2lkIDAhPT1vJiYoYT1lKG8pKSxhfX0saj1mdW5jdGlvbihlKXtyZXR1cm4gZi50b1N0cmluZyhmLmZyb21VaW50OEFycmF5KGUpKX0sTj1mdW5jdGlvbihlKXtyZXR1cm4gZi50b1VpbnQ4QXJyYXkoZi5mcm9tU3RyaW5nKGUpKX0sRj1mdW5jdGlvbihlKXtyZXR1cm57ZG93bmxvYWQ6ZnVuY3Rpb24odCxyKXtyZXR1cm4gQihlKSh0KShyKX0sZG93bmxvYWREYXRhOlIoYihlKSksZG93bmxvYWREYXRhVG9EaXNrOlIoZyhlKSksZG93bmxvYWREaXJlY3Rvcnk6Uih2KGUpKSxkb3dubG9hZERpcmVjdG9yeVRvRGlzazpSKHcoZSkpLGRvd25sb2FkRW50cmllczpSKHkoZSkpLGRvd25sb2FkUm91dGVzOlIobShlKSksaXNBdmFpbGFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gTShlKX0sdXBsb2FkOmZ1bmN0aW9uKHQpe3JldHVybiBPKGUpKHQpfSx1cGxvYWREYXRhOlIoQShlKSksdXBsb2FkRmlsZTpSKF8oZSkpLHVwbG9hZEZpbGVGcm9tRGlzazpSKF8oZSkpLHVwbG9hZERhdGFGcm9tRGlzazpSKEUoZSkpLHVwbG9hZERpcmVjdG9yeTpSKHgoZSkpLHVwbG9hZERpcmVjdG9yeUZyb21EaXNrOlIoUChlKSksdXBsb2FkVG9NYW5pZmVzdDpSKGsoZSkpLHBpY2s6bCxoYXNoOmQsZnJvbVN0cmluZzpOLHRvU3RyaW5nOmp9fTtyZXR1cm57YXQ6Rixsb2NhbDpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIE0oImh0dHA6Ly9sb2NhbGhvc3Q6ODUwMCIpLnRoZW4oKGZ1bmN0aW9uKHIpe3JldHVybiByP3QoRigiaHR0cDovL2xvY2FsaG9zdDo4NTAwIikpLnRoZW4oKGZ1bmN0aW9uKCl7fSkpOlQoZS5iaW5QYXRoLGUuYXJjaGl2ZXMpLm9uRGF0YSgoZnVuY3Rpb24odCl7cmV0dXJuKGUub25Qcm9ncmVzc3x8ZnVuY3Rpb24oKXt9KSh0Lmxlbmd0aCl9KSkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gQyhlKX0pKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gdChGKCJodHRwOi8vbG9jYWxob3N0Ojg1MDAiKSkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gZX0pKX0pKS50aGVuKEkpfSkpfX0sZG93bmxvYWQ6Qixkb3dubG9hZEJpbmFyeTpULGRvd25sb2FkRGF0YTpiLGRvd25sb2FkRGF0YVRvRGlzazpnLGRvd25sb2FkRGlyZWN0b3J5OnYsZG93bmxvYWREaXJlY3RvcnlUb0Rpc2s6dyxkb3dubG9hZEVudHJpZXM6eSxkb3dubG9hZFJvdXRlczptLGlzQXZhaWxhYmxlOk0sc3RhcnRQcm9jZXNzOkMsc3RvcFByb2Nlc3M6SSx1cGxvYWQ6Tyx1cGxvYWREYXRhOkEsdXBsb2FkRGF0YUZyb21EaXNrOkUsdXBsb2FkRmlsZTpfLHVwbG9hZEZpbGVGcm9tRGlzazpTLHVwbG9hZERpcmVjdG9yeTp4LHVwbG9hZERpcmVjdG9yeUZyb21EaXNrOlAsdXBsb2FkVG9NYW5pZmVzdDprLHBpY2s6bCxoYXNoOmQsZnJvbVN0cmluZzpOLHRvU3RyaW5nOmp9fX0sNzM4MDplPT57InVzZSBzdHJpY3QiO3ZhciB0PWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPVtdLG49MDtuPGU7KytuKXIucHVzaCh0KG4pKTtyZXR1cm4gcn07ZS5leHBvcnRzPXtnZW5lcmF0ZTp0LHJlcGxpY2F0ZTpmdW5jdGlvbihlLHIpe3JldHVybiB0KGUsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSl9LGNvbmNhdDpmdW5jdGlvbihlLHQpe3JldHVybiBlLmNvbmNhdCh0KX0sZmxhdHRlbjpmdW5jdGlvbihlKXtmb3IodmFyIHQ9W10scj0wLG49ZS5sZW5ndGg7cjxuOysrcilmb3IodmFyIGk9MCxvPWVbcl0ubGVuZ3RoO2k8bzsrK2kpdC5wdXNoKGVbcl1baV0pO3JldHVybiB0fSxjaHVua3NPZjpmdW5jdGlvbihlLHQpe2Zvcih2YXIgcj1bXSxuPTAsaT10Lmxlbmd0aDtuPGk7bis9ZSlyLnB1c2godC5zbGljZShuLG4rZSkpO3JldHVybiByfX19LDYzMTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3IoNzM4MCk7dmFyIG49ZnVuY3Rpb24oZSx0KXtyZXR1cm4gcGFyc2VJbnQoZS5zbGljZSgyKnQrMiwyKnQrNCksMTYpfSxpPWZ1bmN0aW9uKGUpe3JldHVybihlLmxlbmd0aC0yKS8yfSxvPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxyPTIsbj1lLmxlbmd0aDtyPG47cis9Mil0LnB1c2gocGFyc2VJbnQoZS5zbGljZShyLHIrMiksMTYpKTtyZXR1cm4gdH0sYT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9IjB4IixyPTAsbj1lLmxlbmd0aDtyPG47KytyKXt2YXIgaT1lW3JdO3QrPShpPDE2PyIwIjoiIikraS50b1N0cmluZygxNil9cmV0dXJuIHR9O2UuZXhwb3J0cz17cmFuZG9tOmZ1bmN0aW9uKGUpe3ZhciB0PXZvaWQgMDt0PSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cuY3J5cHRvJiZ3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcz93aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShlKSk6cig0MjkzKS5yYW5kb21CeXRlcyhlKTtmb3IodmFyIG49IjB4IixpPTA7aTxlOysraSluKz0oIjAwIit0W2ldLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTIpO3JldHVybiBufSxsZW5ndGg6aSxjb25jYXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5jb25jYXQodC5zbGljZSgyKSl9LGZsYXR0ZW46ZnVuY3Rpb24oZSl7cmV0dXJuIjB4IitlLnJlZHVjZSgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSt0LnNsaWNlKDIpfSksIiIpfSxzbGljZTpmdW5jdGlvbihlLHQscil7cmV0dXJuIjB4IityLnNsaWNlKDIqZSsyLDIqdCsyKX0scmV2ZXJzZTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9IjB4IixyPTAsbj1pKGUpO3I8bjsrK3IpdCs9ZS5zbGljZSgyKihuLXIpLDIqKG4tcisxKSk7cmV0dXJuIHR9LHBhZDpmdW5jdGlvbiBlKHQscil7cmV0dXJuIHIubGVuZ3RoPT09Mip0KzI/cjplKHQsIjB4MCIrci5zbGljZSgyKSl9LHBhZFJpZ2h0OmZ1bmN0aW9uIGUodCxyKXtyZXR1cm4gci5sZW5ndGg9PT0yKnQrMj9yOmUodCxyKyIwIil9LGZyb21Bc2NpaTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9IjB4IixyPTA7cjxlLmxlbmd0aDsrK3IpdCs9KCIwMCIrZS5jaGFyQ29kZUF0KHIpLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTIpO3JldHVybiB0fSx0b0FzY2lpOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0iIixyPTI7cjxlLmxlbmd0aDtyKz0yKXQrPVN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQoZS5zbGljZShyLHIrMiksMTYpKTtyZXR1cm4gdH0sZnJvbVN0cmluZzpmdW5jdGlvbihlKXtmb3IodmFyIHQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50b1N0cmluZygxNik7cmV0dXJuIHQubGVuZ3RoPDI/IjAiK3Q6dH0scj0iMHgiLG49MDtuIT1lLmxlbmd0aDtuKyspe3ZhciBpPWUuY2hhckNvZGVBdChuKTtpZihpPDEyOClyKz10KGkpO2Vsc2V7aWYoaTwyMDQ4KXIrPXQoaT4+NnwxOTIpO2Vsc2V7aWYoaT41NTI5NSYmaTw1NjMyMCl7aWYoKytuPT1lLmxlbmd0aClyZXR1cm4gbnVsbDt2YXIgbz1lLmNoYXJDb2RlQXQobik7aWYobzw1NjMyMHx8bz41NzM0MylyZXR1cm4gbnVsbDtyKz10KChpPTY1NTM2KygoMTAyMyZpKTw8MTApKygxMDIzJm8pKT4+MTh8MjQwKSxyKz10KGk+PjEyJjYzfDEyOCl9ZWxzZSByKz10KGk+PjEyfDIyNCk7cis9dChpPj42JjYzfDEyOCl9cis9dCg2MyZpfDEyOCl9fXJldHVybiByfSx0b1N0cmluZzpmdW5jdGlvbihlKXtmb3IodmFyIHQ9IiIscj0wLG89aShlKTtyPG87KXt2YXIgYT1uKGUscisrKTtpZihhPjEyNyl7aWYoYT4xOTEmJmE8MjI0KXtpZihyPj1vKXJldHVybiBudWxsO2E9KDMxJmEpPDw2fDYzJm4oZSxyKX1lbHNlIGlmKGE+MjIzJiZhPDI0MCl7aWYocisxPj1vKXJldHVybiBudWxsO2E9KDE1JmEpPDwxMnwoNjMmbihlLHIpKTw8Nnw2MyZuKGUsKytyKX1lbHNle2lmKCEoYT4yMzkmJmE8MjQ4KSlyZXR1cm4gbnVsbDtpZihyKzI+PW8pcmV0dXJuIG51bGw7YT0oNyZhKTw8MTh8KDYzJm4oZSxyKSk8PDEyfCg2MyZuKGUsKytyKSk8PDZ8NjMmbihlLCsrcil9KytyfWlmKGE8PTY1NTM1KXQrPVN0cmluZy5mcm9tQ2hhckNvZGUoYSk7ZWxzZXtpZighKGE8PTExMTQxMTEpKXJldHVybiBudWxsO2EtPTY1NTM2LHQrPVN0cmluZy5mcm9tQ2hhckNvZGUoYT4+MTB8NTUyOTYpLHQrPVN0cmluZy5mcm9tQ2hhckNvZGUoMTAyMyZhfDU2MzIwKX19cmV0dXJuIHR9LGZyb21OdW1iZXI6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50b1N0cmluZygxNik7cmV0dXJuIHQubGVuZ3RoJTI9PTA/IjB4Iit0OiIweDAiK3R9LHRvTnVtYmVyOmZ1bmN0aW9uKGUpe3JldHVybiBwYXJzZUludChlLnNsaWNlKDIpLDE2KX0sZnJvbU5hdDpmdW5jdGlvbihlKXtyZXR1cm4iMHgwIj09PWU/IjB4IjplLmxlbmd0aCUyPT0wP2U6IjB4MCIrZS5zbGljZSgyKX0sdG9OYXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIjAiPT09ZVsyXT8iMHgiK2Uuc2xpY2UoMyk6ZX0sZnJvbUFycmF5OmEsdG9BcnJheTpvLGZyb21VaW50OEFycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBhKFtdLnNsaWNlLmNhbGwoZSwwKSl9LHRvVWludDhBcnJheTpmdW5jdGlvbihlKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobyhlKSl9fX0sOTU3NDplPT57InVzZSBzdHJpY3QiO3ZhciB0PSIwMTIzNDU2Nzg5YWJjZGVmIi5zcGxpdCgiIikscj1bMSwyNTYsNjU1MzYsMTY3NzcyMTZdLG49WzAsOCwxNiwyNF0saT1bMSwwLDMyODk4LDAsMzI5MDYsMjE0NzQ4MzY0OCwyMTQ3NTE2NDE2LDIxNDc0ODM2NDgsMzI5MDcsMCwyMTQ3NDgzNjQ5LDAsMjE0NzUxNjU0NSwyMTQ3NDgzNjQ4LDMyNzc3LDIxNDc0ODM2NDgsMTM4LDAsMTM2LDAsMjE0NzUxNjQyNSwwLDIxNDc0ODM2NTgsMCwyMTQ3NTE2NTU1LDAsMTM5LDIxNDc0ODM2NDgsMzI5MDUsMjE0NzQ4MzY0OCwzMjc3MSwyMTQ3NDgzNjQ4LDMyNzcwLDIxNDc0ODM2NDgsMTI4LDIxNDc0ODM2NDgsMzI3NzgsMCwyMTQ3NDgzNjU4LDIxNDc0ODM2NDgsMjE0NzUxNjU0NSwyMTQ3NDgzNjQ4LDMyODk2LDIxNDc0ODM2NDgsMjE0NzQ4MzY0OSwwLDIxNDc1MTY0MjQsMjE0NzQ4MzY0OF0sbz1mdW5jdGlvbihlKXt2YXIgdCxyLG4sbyxhLHMsdSxjLGYsZCxsLGgscCxiLHksbSx2LGcsdyxBLGssXyxTLHgsRSxQLE8sQixULEMsSSxNLFUsUixqLE4sRixMLEQsSCxxLHosRyxLLFYsSixXLFksWCxRLFosJCxlZSx0ZSxyZSxuZSxpZSxvZSxhZSxzZSx1ZSxjZSxmZTtmb3Iobj0wO248NDg7bis9MilvPWVbMF1eZVsxMF1eZVsyMF1eZVszMF1eZVs0MF0sYT1lWzFdXmVbMTFdXmVbMjFdXmVbMzFdXmVbNDFdLHM9ZVsyXV5lWzEyXV5lWzIyXV5lWzMyXV5lWzQyXSx1PWVbM11eZVsxM11eZVsyM11eZVszM11eZVs0M10sYz1lWzRdXmVbMTRdXmVbMjRdXmVbMzRdXmVbNDRdLGY9ZVs1XV5lWzE1XV5lWzI1XV5lWzM1XV5lWzQ1XSxkPWVbNl1eZVsxNl1eZVsyNl1eZVszNl1eZVs0Nl0sbD1lWzddXmVbMTddXmVbMjddXmVbMzddXmVbNDddLHQ9KGg9ZVs4XV5lWzE4XV5lWzI4XV5lWzM4XV5lWzQ4XSleKHM8PDF8dT4+PjMxKSxyPShwPWVbOV1eZVsxOV1eZVsyOV1eZVszOV1eZVs0OV0pXih1PDwxfHM+Pj4zMSksZVswXV49dCxlWzFdXj1yLGVbMTBdXj10LGVbMTFdXj1yLGVbMjBdXj10LGVbMjFdXj1yLGVbMzBdXj10LGVbMzFdXj1yLGVbNDBdXj10LGVbNDFdXj1yLHQ9b14oYzw8MXxmPj4+MzEpLHI9YV4oZjw8MXxjPj4+MzEpLGVbMl1ePXQsZVszXV49cixlWzEyXV49dCxlWzEzXV49cixlWzIyXV49dCxlWzIzXV49cixlWzMyXV49dCxlWzMzXV49cixlWzQyXV49dCxlWzQzXV49cix0PXNeKGQ8PDF8bD4+PjMxKSxyPXVeKGw8PDF8ZD4+PjMxKSxlWzRdXj10LGVbNV1ePXIsZVsxNF1ePXQsZVsxNV1ePXIsZVsyNF1ePXQsZVsyNV1ePXIsZVszNF1ePXQsZVszNV1ePXIsZVs0NF1ePXQsZVs0NV1ePXIsdD1jXihoPDwxfHA+Pj4zMSkscj1mXihwPDwxfGg+Pj4zMSksZVs2XV49dCxlWzddXj1yLGVbMTZdXj10LGVbMTddXj1yLGVbMjZdXj10LGVbMjddXj1yLGVbMzZdXj10LGVbMzddXj1yLGVbNDZdXj10LGVbNDddXj1yLHQ9ZF4obzw8MXxhPj4+MzEpLHI9bF4oYTw8MXxvPj4+MzEpLGVbOF1ePXQsZVs5XV49cixlWzE4XV49dCxlWzE5XV49cixlWzI4XV49dCxlWzI5XV49cixlWzM4XV49dCxlWzM5XV49cixlWzQ4XV49dCxlWzQ5XV49cixiPWVbMF0seT1lWzFdLEo9ZVsxMV08PDR8ZVsxMF0+Pj4yOCxXPWVbMTBdPDw0fGVbMTFdPj4+MjgsQj1lWzIwXTw8M3xlWzIxXT4+PjI5LFQ9ZVsyMV08PDN8ZVsyMF0+Pj4yOSxzZT1lWzMxXTw8OXxlWzMwXT4+PjIzLHVlPWVbMzBdPDw5fGVbMzFdPj4+MjMsej1lWzQwXTw8MTh8ZVs0MV0+Pj4xNCxHPWVbNDFdPDwxOHxlWzQwXT4+PjE0LFI9ZVsyXTw8MXxlWzNdPj4+MzEsaj1lWzNdPDwxfGVbMl0+Pj4zMSxtPWVbMTNdPDwxMnxlWzEyXT4+PjIwLHY9ZVsxMl08PDEyfGVbMTNdPj4+MjAsWT1lWzIyXTw8MTB8ZVsyM10+Pj4yMixYPWVbMjNdPDwxMHxlWzIyXT4+PjIyLEM9ZVszM108PDEzfGVbMzJdPj4+MTksST1lWzMyXTw8MTN8ZVszM10+Pj4xOSxjZT1lWzQyXTw8MnxlWzQzXT4+PjMwLGZlPWVbNDNdPDwyfGVbNDJdPj4+MzAsdGU9ZVs1XTw8MzB8ZVs0XT4+PjIscmU9ZVs0XTw8MzB8ZVs1XT4+PjIsTj1lWzE0XTw8NnxlWzE1XT4+PjI2LEY9ZVsxNV08PDZ8ZVsxNF0+Pj4yNixnPWVbMjVdPDwxMXxlWzI0XT4+PjIxLHc9ZVsyNF08PDExfGVbMjVdPj4+MjEsUT1lWzM0XTw8MTV8ZVszNV0+Pj4xNyxaPWVbMzVdPDwxNXxlWzM0XT4+PjE3LE09ZVs0NV08PDI5fGVbNDRdPj4+MyxVPWVbNDRdPDwyOXxlWzQ1XT4+PjMseD1lWzZdPDwyOHxlWzddPj4+NCxFPWVbN108PDI4fGVbNl0+Pj40LG5lPWVbMTddPDwyM3xlWzE2XT4+PjksaWU9ZVsxNl08PDIzfGVbMTddPj4+OSxMPWVbMjZdPDwyNXxlWzI3XT4+PjcsRD1lWzI3XTw8MjV8ZVsyNl0+Pj43LEE9ZVszNl08PDIxfGVbMzddPj4+MTEsaz1lWzM3XTw8MjF8ZVszNl0+Pj4xMSwkPWVbNDddPDwyNHxlWzQ2XT4+PjgsZWU9ZVs0Nl08PDI0fGVbNDddPj4+OCxLPWVbOF08PDI3fGVbOV0+Pj41LFY9ZVs5XTw8Mjd8ZVs4XT4+PjUsUD1lWzE4XTw8MjB8ZVsxOV0+Pj4xMixPPWVbMTldPDwyMHxlWzE4XT4+PjEyLG9lPWVbMjldPDw3fGVbMjhdPj4+MjUsYWU9ZVsyOF08PDd8ZVsyOV0+Pj4yNSxIPWVbMzhdPDw4fGVbMzldPj4+MjQscT1lWzM5XTw8OHxlWzM4XT4+PjI0LF89ZVs0OF08PDE0fGVbNDldPj4+MTgsUz1lWzQ5XTw8MTR8ZVs0OF0+Pj4xOCxlWzBdPWJefm0mZyxlWzFdPXlefnYmdyxlWzEwXT14Xn5QJkIsZVsxMV09RV5+TyZULGVbMjBdPVJefk4mTCxlWzIxXT1qXn5GJkQsZVszMF09S15+SiZZLGVbMzFdPVZeflcmWCxlWzQwXT10ZV5+bmUmb2UsZVs0MV09cmVefmllJmFlLGVbMl09bV5+ZyZBLGVbM109dl5+dyZrLGVbMTJdPVBefkImQyxlWzEzXT1PXn5UJkksZVsyMl09Tl5+TCZILGVbMjNdPUZefkQmcSxlWzMyXT1KXn5ZJlEsZVszM109V15+WCZaLGVbNDJdPW5lXn5vZSZzZSxlWzQzXT1pZV5+YWUmdWUsZVs0XT1nXn5BJl8sZVs1XT13Xn5rJlMsZVsxNF09Ql5+QyZNLGVbMTVdPVRefkkmVSxlWzI0XT1MXn5IJnosZVsyNV09RF5+cSZHLGVbMzRdPVleflEmJCxlWzM1XT1YXn5aJmVlLGVbNDRdPW9lXn5zZSZjZSxlWzQ1XT1hZV5+dWUmZmUsZVs2XT1BXn5fJmIsZVs3XT1rXn5TJnksZVsxNl09Q15+TSZ4LGVbMTddPUleflUmRSxlWzI2XT1IXn56JlIsZVsyN109cV5+RyZqLGVbMzZdPVFefiQmSyxlWzM3XT1aXn5lZSZWLGVbNDZdPXNlXn5jZSZ0ZSxlWzQ3XT11ZV5+ZmUmcmUsZVs4XT1fXn5iJm0sZVs5XT1TXn55JnYsZVsxOF09TV5+eCZQLGVbMTldPVVefkUmTyxlWzI4XT16Xn5SJk4sZVsyOV09R15+aiZGLGVbMzhdPSRefksmSixlWzM5XT1lZV5+ViZXLGVbNDhdPWNlXn50ZSZuZSxlWzQ5XT1mZV5+cmUmaWUsZVswXV49aVtuXSxlWzFdXj1pW24rMV19LGE9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGkpe3ZhciBhO2lmKCIweCI9PT1pLnNsaWNlKDAsMikpe2E9W107Zm9yKHZhciBzPTIsdT1pLmxlbmd0aDtzPHU7cys9MilhLnB1c2gocGFyc2VJbnQoaS5zbGljZShzLHMrMiksMTYpKX1lbHNlIGE9aTtyZXR1cm4gZnVuY3Rpb24oZSxpKXtmb3IodmFyIGEscz1pLmxlbmd0aCx1PWUuYmxvY2tzLGM9ZS5ibG9ja0NvdW50PDwyLGY9ZS5ibG9ja0NvdW50LGQ9ZS5vdXRwdXRCbG9ja3MsbD1lLnMsaD0wO2g8czspe2lmKGUucmVzZXQpZm9yKGUucmVzZXQ9ITEsdVswXT1lLmJsb2NrLHk9MTt5PGYrMTsrK3kpdVt5XT0wO2lmKCJzdHJpbmciIT10eXBlb2YgaSlmb3IoeT1lLnN0YXJ0O2g8cyYmeTxjOysraCl1W3k+PjJdfD1pW2hdPDxuWzMmeSsrXTtlbHNlIGZvcih5PWUuc3RhcnQ7aDxzJiZ5PGM7KytoKShhPWkuY2hhckNvZGVBdChoKSk8MTI4P3VbeT4+Ml18PWE8PG5bMyZ5KytdOmE8MjA0OD8odVt5Pj4yXXw9KDE5MnxhPj42KTw8blszJnkrK10sdVt5Pj4yXXw9KDEyOHw2MyZhKTw8blszJnkrK10pOmE8NTUyOTZ8fGE+PTU3MzQ0Pyh1W3k+PjJdfD0oMjI0fGE+PjEyKTw8blszJnkrK10sdVt5Pj4yXXw9KDEyOHxhPj42JjYzKTw8blszJnkrK10sdVt5Pj4yXXw9KDEyOHw2MyZhKTw8blszJnkrK10pOihhPTY1NTM2KygoMTAyMyZhKTw8MTB8MTAyMyZpLmNoYXJDb2RlQXQoKytoKSksdVt5Pj4yXXw9KDI0MHxhPj4xOCk8PG5bMyZ5KytdLHVbeT4+Ml18PSgxMjh8YT4+MTImNjMpPDxuWzMmeSsrXSx1W3k+PjJdfD0oMTI4fGE+PjYmNjMpPDxuWzMmeSsrXSx1W3k+PjJdfD0oMTI4fDYzJmEpPDxuWzMmeSsrXSk7aWYoZS5sYXN0Qnl0ZUluZGV4PXkseT49Yyl7Zm9yKGUuc3RhcnQ9eS1jLGUuYmxvY2s9dVtmXSx5PTA7eTxmOysreSlsW3ldXj11W3ldO28obCksZS5yZXNldD0hMH1lbHNlIGUuc3RhcnQ9eX1pZih1Wyh5PWUubGFzdEJ5dGVJbmRleCk+PjJdfD1yWzMmeV0sZS5sYXN0Qnl0ZUluZGV4PT09Yylmb3IodVswXT11W2ZdLHk9MTt5PGYrMTsrK3kpdVt5XT0wO2Zvcih1W2YtMV18PTIxNDc0ODM2NDgseT0wO3k8ZjsrK3kpbFt5XV49dVt5XTtvKGwpO2Zvcih2YXIgcCxiPSIiLHk9MCxtPTA7bTxkOyl7Zm9yKHk9MDt5PGYmJm08ZDsrK3ksKyttKXA9bFt5XSxiKz10W3A+PjQmMTVdK3RbMTUmcF0rdFtwPj4xMiYxNV0rdFtwPj44JjE1XSt0W3A+PjIwJjE1XSt0W3A+PjE2JjE1XSt0W3A+PjI4JjE1XSt0W3A+PjI0JjE1XTttJWY9PTAmJihvKGwpLHk9MCl9cmV0dXJuIjB4IitifShmdW5jdGlvbihlKXtyZXR1cm57YmxvY2tzOltdLHJlc2V0OiEwLGJsb2NrOjAsc3RhcnQ6MCxibG9ja0NvdW50OjE2MDAtKGU8PDEpPj41LG91dHB1dEJsb2NrczplPj41LHM6KHQ9WzAsMCwwLDAsMCwwLDAsMCwwLDBdLFtdLmNvbmNhdCh0LHQsdCx0LHQpKX07dmFyIHR9KGUpLGEpfX07ZS5leHBvcnRzPXtrZWNjYWsyNTY6YSgyNTYpLGtlY2NhazUxMjphKDUxMiksa2VjY2FrMjU2czphKDI1Niksa2VjY2FrNTEyczphKDUxMil9fSw4NDE5OmU9PnsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7aWYodCl7dD0odD10LnRyaW0oKS5yZXBsYWNlKC9eKFw/fCN8JikvLCIiKSk/Ij8iK3Q6dDt2YXIgcj1lLnNwbGl0KC9bXD9cI10vKVswXTt0JiYvXDpcL1wvW15cL10qJC8udGVzdChyKSYmKHIrPSIvIik7dmFyIG49ZS5tYXRjaCgvKFwjLiopJC8pO2U9cit0LG4mJihlKz1uWzBdKX1yZXR1cm4gZX19LDg2Nzc6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbjtlPXIubm1kKGUpO3ZhciBpPXIoODg0NykocigzMzU1KSk7IWZ1bmN0aW9uKG8pe3ZhciBhPSJvYmplY3QiPT0oMCxpLmRlZmF1bHQpKHQpJiZ0JiYhdC5ub2RlVHlwZSYmdCxzPSJvYmplY3QiPT0oMCxpLmRlZmF1bHQpKGUpJiZlJiYhZS5ub2RlVHlwZSYmZSx1PSJvYmplY3QiPT0odm9pZCAwPT09ci5nPyJ1bmRlZmluZWQiOigwLGkuZGVmYXVsdCkoci5nKSkmJnIuZzt1Lmdsb2JhbCE9PXUmJnUud2luZG93IT09dSYmdS5zZWxmIT09dXx8KG89dSk7dmFyIGMsZixkPTIxNDc0ODM2NDcsbD0zNixoPS9eeG4tLS8scD0vW15ceDIwLVx4N0VdLyxiPS9bXHgyRVx1MzAwMlx1RkYwRVx1RkY2MV0vZyx5PXtvdmVyZmxvdzoiT3ZlcmZsb3c6IGlucHV0IG5lZWRzIHdpZGVyIGludGVnZXJzIHRvIHByb2Nlc3MiLCJub3QtYmFzaWMiOiJJbGxlZ2FsIGlucHV0ID49IDB4ODAgKG5vdCBhIGJhc2ljIGNvZGUgcG9pbnQpIiwiaW52YWxpZC1pbnB1dCI6IkludmFsaWQgaW5wdXQifSxtPU1hdGguZmxvb3Isdj1TdHJpbmcuZnJvbUNoYXJDb2RlO2Z1bmN0aW9uIGcoZSl7dGhyb3cgUmFuZ2VFcnJvcih5W2VdKX1mdW5jdGlvbiB3KGUsdCl7Zm9yKHZhciByPWUubGVuZ3RoLG49W107ci0tOyluW3JdPXQoZVtyXSk7cmV0dXJuIG59ZnVuY3Rpb24gQShlLHQpe3ZhciByPWUuc3BsaXQoIkAiKSxuPSIiO3JldHVybiByLmxlbmd0aD4xJiYobj1yWzBdKyJAIixlPXJbMV0pLG4rdygoZT1lLnJlcGxhY2UoYiwiLiIpKS5zcGxpdCgiLiIpLHQpLmpvaW4oIi4iKX1mdW5jdGlvbiBrKGUpe2Zvcih2YXIgdCxyLG49W10saT0wLG89ZS5sZW5ndGg7aTxvOykodD1lLmNoYXJDb2RlQXQoaSsrKSk+PTU1Mjk2JiZ0PD01NjMxOSYmaTxvPzU2MzIwPT0oNjQ1MTImKHI9ZS5jaGFyQ29kZUF0KGkrKykpKT9uLnB1c2goKCgxMDIzJnQpPDwxMCkrKDEwMjMmcikrNjU1MzYpOihuLnB1c2godCksaS0tKTpuLnB1c2godCk7cmV0dXJuIG59ZnVuY3Rpb24gXyhlKXtyZXR1cm4gdyhlLChmdW5jdGlvbihlKXt2YXIgdD0iIjtyZXR1cm4gZT42NTUzNSYmKHQrPXYoKGUtPTY1NTM2KT4+PjEwJjEwMjN8NTUyOTYpLGU9NTYzMjB8MTAyMyZlKSx0K3YoZSl9KSkuam9pbigiIil9ZnVuY3Rpb24gUyhlLHQpe3JldHVybiBlKzIyKzc1KihlPDI2KS0oKDAhPXQpPDw1KX1mdW5jdGlvbiB4KGUsdCxyKXt2YXIgbj0wO2ZvcihlPXI/bShlLzcwMCk6ZT4+MSxlKz1tKGUvdCk7ZT40NTU7bis9bCllPW0oZS8zNSk7cmV0dXJuIG0obiszNiplLyhlKzM4KSl9ZnVuY3Rpb24gRShlKXt2YXIgdCxyLG4saSxvLGEscyx1LGMsZixoLHA9W10sYj1lLmxlbmd0aCx5PTAsdj0xMjgsdz03Mjtmb3IoKHI9ZS5sYXN0SW5kZXhPZigiLSIpKTwwJiYocj0wKSxuPTA7bjxyOysrbillLmNoYXJDb2RlQXQobik+PTEyOCYmZygibm90LWJhc2ljIikscC5wdXNoKGUuY2hhckNvZGVBdChuKSk7Zm9yKGk9cj4wP3IrMTowO2k8Yjspe2ZvcihvPXksYT0xLHM9bDtpPj1iJiZnKCJpbnZhbGlkLWlucHV0IiksKCh1PShoPWUuY2hhckNvZGVBdChpKyspKS00ODwxMD9oLTIyOmgtNjU8MjY/aC02NTpoLTk3PDI2P2gtOTc6bCk+PWx8fHU+bSgoZC15KS9hKSkmJmcoIm92ZXJmbG93IikseSs9dSphLCEodTwoYz1zPD13PzE6cz49dysyNj8yNjpzLXcpKTtzKz1sKWE+bShkLyhmPWwtYykpJiZnKCJvdmVyZmxvdyIpLGEqPWY7dz14KHktbyx0PXAubGVuZ3RoKzEsMD09byksbSh5L3QpPmQtdiYmZygib3ZlcmZsb3ciKSx2Kz1tKHkvdCkseSU9dCxwLnNwbGljZSh5KyssMCx2KX1yZXR1cm4gXyhwKX1mdW5jdGlvbiBQKGUpe3ZhciB0LHIsbixpLG8sYSxzLHUsYyxmLGgscCxiLHksdyxBPVtdO2ZvcihwPShlPWsoZSkpLmxlbmd0aCx0PTEyOCxyPTAsbz03MixhPTA7YTxwOysrYSkoaD1lW2FdKTwxMjgmJkEucHVzaCh2KGgpKTtmb3Iobj1pPUEubGVuZ3RoLGkmJkEucHVzaCgiLSIpO248cDspe2ZvcihzPWQsYT0wO2E8cDsrK2EpKGg9ZVthXSk+PXQmJmg8cyYmKHM9aCk7Zm9yKHMtdD5tKChkLXIpLyhiPW4rMSkpJiZnKCJvdmVyZmxvdyIpLHIrPShzLXQpKmIsdD1zLGE9MDthPHA7KythKWlmKChoPWVbYV0pPHQmJisrcj5kJiZnKCJvdmVyZmxvdyIpLGg9PXQpe2Zvcih1PXIsYz1sOyEodTwoZj1jPD1vPzE6Yz49bysyNj8yNjpjLW8pKTtjKz1sKXc9dS1mLHk9bC1mLEEucHVzaCh2KFMoZit3JXksMCkpKSx1PW0ody95KTtBLnB1c2godihTKHUsMCkpKSxvPXgocixiLG49PWkpLHI9MCwrK259KytyLCsrdH1yZXR1cm4gQS5qb2luKCIiKX1pZihjPXt2ZXJzaW9uOiIxLjMuMiIsdWNzMjp7ZGVjb2RlOmssZW5jb2RlOl99LGRlY29kZTpFLGVuY29kZTpQLHRvQVNDSUk6ZnVuY3Rpb24oZSl7cmV0dXJuIEEoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIHAudGVzdChlKT8ieG4tLSIrUChlKTplfSkpfSx0b1VuaWNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIEEoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIGgudGVzdChlKT9FKGUuc2xpY2UoNCkudG9Mb3dlckNhc2UoKSk6ZX0pKX19LCJvYmplY3QiPT0oMCxpLmRlZmF1bHQpKHIuYW1kTykmJnIuYW1kTyl2b2lkIDA9PT0obj1mdW5jdGlvbigpe3JldHVybiBjfS5jYWxsKHQscix0LGUpKXx8KGUuZXhwb3J0cz1uKTtlbHNlIGlmKGEmJnMpaWYoZS5leHBvcnRzPT1hKXMuZXhwb3J0cz1jO2Vsc2UgZm9yKGYgaW4gYyljLmhhc093blByb3BlcnR5KGYpJiYoYVtmXT1jW2ZdKTtlbHNlIG8ucHVueWNvZGU9Y30odm9pZCAwKX0sODk4MzplPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQoZSx0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCl9ZS5leHBvcnRzPWZ1bmN0aW9uKGUscixuLGkpe3I9cnx8IiYiLG49bnx8Ij0iO3ZhciBvPXt9O2lmKCJzdHJpbmciIT10eXBlb2YgZXx8MD09PWUubGVuZ3RoKXJldHVybiBvO3ZhciBhPS9cKy9nO2U9ZS5zcGxpdChyKTt2YXIgcz0xZTM7aSYmIm51bWJlciI9PXR5cGVvZiBpLm1heEtleXMmJihzPWkubWF4S2V5cyk7dmFyIHU9ZS5sZW5ndGg7cz4wJiZ1PnMmJih1PXMpO2Zvcih2YXIgYz0wO2M8dTsrK2Mpe3ZhciBmLGQsbCxoLHA9ZVtjXS5yZXBsYWNlKGEsIiUyMCIpLGI9cC5pbmRleE9mKG4pO2I+PTA/KGY9cC5zdWJzdHIoMCxiKSxkPXAuc3Vic3RyKGIrMSkpOihmPXAsZD0iIiksbD1kZWNvZGVVUklDb21wb25lbnQoZiksaD1kZWNvZGVVUklDb21wb25lbnQoZCksdChvLGwpP0FycmF5LmlzQXJyYXkob1tsXSk/b1tsXS5wdXNoKGgpOm9bbF09W29bbF0saF06b1tsXT1ofXJldHVybiBvfX0sNDAzMTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0NykocigzMzU1KSksaT1mdW5jdGlvbihlKXtzd2l0Y2goKDAsbi5kZWZhdWx0KShlKSl7Y2FzZSJzdHJpbmciOnJldHVybiBlO2Nhc2UiYm9vbGVhbiI6cmV0dXJuIGU/InRydWUiOiJmYWxzZSI7Y2FzZSJudW1iZXIiOnJldHVybiBpc0Zpbml0ZShlKT9lOiIiO2RlZmF1bHQ6cmV0dXJuIiJ9fTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LHIsbyl7cmV0dXJuIHQ9dHx8IiYiLHI9cnx8Ij0iLG51bGw9PT1lJiYoZT12b2lkIDApLCJvYmplY3QiPT09KDAsbi5kZWZhdWx0KShlKT9PYmplY3Qua2V5cyhlKS5tYXAoKGZ1bmN0aW9uKG4pe3ZhciBvPWVuY29kZVVSSUNvbXBvbmVudChpKG4pKStyO3JldHVybiBBcnJheS5pc0FycmF5KGVbbl0pP2Vbbl0ubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gbytlbmNvZGVVUklDb21wb25lbnQoaShlKSl9KSkuam9pbih0KTpvK2VuY29kZVVSSUNvbXBvbmVudChpKGVbbl0pKX0pKS5qb2luKHQpOm8/ZW5jb2RlVVJJQ29tcG9uZW50KGkobykpK3IrZW5jb2RlVVJJQ29tcG9uZW50KGkoZSkpOiIifX0sODQ1OihlLHQscik9PnsidXNlIHN0cmljdCI7dC5kZWNvZGU9dC5wYXJzZT1yKDg5ODMpLHQuZW5jb2RlPXQuc3RyaW5naWZ5PXIoNDAzMSl9LDExNDM6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpKHIoMzM1NSkpLGk9cig4Njc3KSxvPXIoNTc1MSk7ZnVuY3Rpb24gYSgpe3RoaXMucHJvdG9jb2w9bnVsbCx0aGlzLnNsYXNoZXM9bnVsbCx0aGlzLmF1dGg9bnVsbCx0aGlzLmhvc3Q9bnVsbCx0aGlzLnBvcnQ9bnVsbCx0aGlzLmhvc3RuYW1lPW51bGwsdGhpcy5oYXNoPW51bGwsdGhpcy5zZWFyY2g9bnVsbCx0aGlzLnF1ZXJ5PW51bGwsdGhpcy5wYXRobmFtZT1udWxsLHRoaXMucGF0aD1udWxsLHRoaXMuaHJlZj1udWxsfXQucGFyc2U9dyx0LnJlc29sdmU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdyhlLCExLCEwKS5yZXNvbHZlKHQpfSx0LnJlc29sdmVPYmplY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT93KGUsITEsITApLnJlc29sdmVPYmplY3QodCk6dH0sdC5mb3JtYXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG8uaXNTdHJpbmcoZSkmJihlPXcoZSkpLGUgaW5zdGFuY2VvZiBhP2UuZm9ybWF0KCk6YS5wcm90b3R5cGUuZm9ybWF0LmNhbGwoZSl9LHQuVXJsPWE7dmFyIHM9L14oW2EtejAtOS4rLV0rOikvaSx1PS86WzAtOV0qJC8sYz0vXihcL1wvPyg/IVwvKVteXD9cc10qKShcP1teXHNdKik/JC8sZj1bInsiLCJ9IiwifCIsIlxcIiwiXiIsImAiXS5jb25jYXQoWyI8IiwiPiIsJyInLCJgIiwiICIsIlxyIiwiXG4iLCJcdCJdKSxkPVsiJyJdLmNvbmNhdChmKSxsPVsiJSIsIi8iLCI/IiwiOyIsIiMiXS5jb25jYXQoZCksaD1bIi8iLCI/IiwiIyJdLHA9L15bK2EtejAtOUEtWl8tXXswLDYzfSQvLGI9L14oWythLXowLTlBLVpfLV17MCw2M30pKC4qKSQvLHk9e2phdmFzY3JpcHQ6ITAsImphdmFzY3JpcHQ6IjohMH0sbT17amF2YXNjcmlwdDohMCwiamF2YXNjcmlwdDoiOiEwfSx2PXtodHRwOiEwLGh0dHBzOiEwLGZ0cDohMCxnb3BoZXI6ITAsZmlsZTohMCwiaHR0cDoiOiEwLCJodHRwczoiOiEwLCJmdHA6IjohMCwiZ29waGVyOiI6ITAsImZpbGU6IjohMH0sZz1yKDg0NSk7ZnVuY3Rpb24gdyhlLHQscil7aWYoZSYmby5pc09iamVjdChlKSYmZSBpbnN0YW5jZW9mIGEpcmV0dXJuIGU7dmFyIG49bmV3IGE7cmV0dXJuIG4ucGFyc2UoZSx0LHIpLG59YS5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oZSx0LHIpe2lmKCFvLmlzU3RyaW5nKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIlBhcmFtZXRlciAndXJsJyBtdXN0IGJlIGEgc3RyaW5nLCBub3QgIisoMCxuLmRlZmF1bHQpKGUpKTt2YXIgYT1lLmluZGV4T2YoIj8iKSx1PS0xIT09YSYmYTxlLmluZGV4T2YoIiMiKT8iPyI6IiMiLGY9ZS5zcGxpdCh1KTtmWzBdPWZbMF0ucmVwbGFjZSgvXFwvZywiLyIpO3ZhciB3PWU9Zi5qb2luKHUpO2lmKHc9dy50cmltKCksIXImJjE9PT1lLnNwbGl0KCIjIikubGVuZ3RoKXt2YXIgQT1jLmV4ZWModyk7aWYoQSlyZXR1cm4gdGhpcy5wYXRoPXcsdGhpcy5ocmVmPXcsdGhpcy5wYXRobmFtZT1BWzFdLEFbMl0/KHRoaXMuc2VhcmNoPUFbMl0sdGhpcy5xdWVyeT10P2cucGFyc2UodGhpcy5zZWFyY2guc3Vic3RyKDEpKTp0aGlzLnNlYXJjaC5zdWJzdHIoMSkpOnQmJih0aGlzLnNlYXJjaD0iIix0aGlzLnF1ZXJ5PXt9KSx0aGlzfXZhciBrPXMuZXhlYyh3KTtpZihrKXt2YXIgXz0oaz1rWzBdKS50b0xvd2VyQ2FzZSgpO3RoaXMucHJvdG9jb2w9Xyx3PXcuc3Vic3RyKGsubGVuZ3RoKX1pZihyfHxrfHx3Lm1hdGNoKC9eXC9cL1teQFwvXStAW15AXC9dKy8pKXt2YXIgUz0iLy8iPT09dy5zdWJzdHIoMCwyKTshU3x8ayYmbVtrXXx8KHc9dy5zdWJzdHIoMiksdGhpcy5zbGFzaGVzPSEwKX1pZighbVtrXSYmKFN8fGsmJiF2W2tdKSl7Zm9yKHZhciB4LEUsUD0tMSxPPTA7TzxoLmxlbmd0aDtPKyspLTEhPT0oQj13LmluZGV4T2YoaFtPXSkpJiYoLTE9PT1QfHxCPFApJiYoUD1CKTtmb3IoLTEhPT0oRT0tMT09PVA/dy5sYXN0SW5kZXhPZigiQCIpOncubGFzdEluZGV4T2YoIkAiLFApKSYmKHg9dy5zbGljZSgwLEUpLHc9dy5zbGljZShFKzEpLHRoaXMuYXV0aD1kZWNvZGVVUklDb21wb25lbnQoeCkpLFA9LTEsTz0wO088bC5sZW5ndGg7TysrKXt2YXIgQjstMSE9PShCPXcuaW5kZXhPZihsW09dKSkmJigtMT09PVB8fEI8UCkmJihQPUIpfS0xPT09UCYmKFA9dy5sZW5ndGgpLHRoaXMuaG9zdD13LnNsaWNlKDAsUCksdz13LnNsaWNlKFApLHRoaXMucGFyc2VIb3N0KCksdGhpcy5ob3N0bmFtZT10aGlzLmhvc3RuYW1lfHwiIjt2YXIgVD0iWyI9PT10aGlzLmhvc3RuYW1lWzBdJiYiXSI9PT10aGlzLmhvc3RuYW1lW3RoaXMuaG9zdG5hbWUubGVuZ3RoLTFdO2lmKCFUKWZvcih2YXIgQz10aGlzLmhvc3RuYW1lLnNwbGl0KC9cLi8pLEk9KE89MCxDLmxlbmd0aCk7TzxJO08rKyl7dmFyIE09Q1tPXTtpZihNJiYhTS5tYXRjaChwKSl7Zm9yKHZhciBVPSIiLFI9MCxqPU0ubGVuZ3RoO1I8ajtSKyspTS5jaGFyQ29kZUF0KFIpPjEyNz9VKz0ieCI6VSs9TVtSXTtpZighVS5tYXRjaChwKSl7dmFyIE49Qy5zbGljZSgwLE8pLEY9Qy5zbGljZShPKzEpLEw9TS5tYXRjaChiKTtMJiYoTi5wdXNoKExbMV0pLEYudW5zaGlmdChMWzJdKSksRi5sZW5ndGgmJih3PSIvIitGLmpvaW4oIi4iKSt3KSx0aGlzLmhvc3RuYW1lPU4uam9pbigiLiIpO2JyZWFrfX19dGhpcy5ob3N0bmFtZS5sZW5ndGg+MjU1P3RoaXMuaG9zdG5hbWU9IiI6dGhpcy5ob3N0bmFtZT10aGlzLmhvc3RuYW1lLnRvTG93ZXJDYXNlKCksVHx8KHRoaXMuaG9zdG5hbWU9aS50b0FTQ0lJKHRoaXMuaG9zdG5hbWUpKTt2YXIgRD10aGlzLnBvcnQ/IjoiK3RoaXMucG9ydDoiIixIPXRoaXMuaG9zdG5hbWV8fCIiO3RoaXMuaG9zdD1IK0QsdGhpcy5ocmVmKz10aGlzLmhvc3QsVCYmKHRoaXMuaG9zdG5hbWU9dGhpcy5ob3N0bmFtZS5zdWJzdHIoMSx0aGlzLmhvc3RuYW1lLmxlbmd0aC0yKSwiLyIhPT13WzBdJiYodz0iLyIrdykpfWlmKCF5W19dKWZvcihPPTAsST1kLmxlbmd0aDtPPEk7TysrKXt2YXIgcT1kW09dO2lmKC0xIT09dy5pbmRleE9mKHEpKXt2YXIgej1lbmNvZGVVUklDb21wb25lbnQocSk7ej09PXEmJih6PWVzY2FwZShxKSksdz13LnNwbGl0KHEpLmpvaW4oeil9fXZhciBHPXcuaW5kZXhPZigiIyIpOy0xIT09RyYmKHRoaXMuaGFzaD13LnN1YnN0cihHKSx3PXcuc2xpY2UoMCxHKSk7dmFyIEs9dy5pbmRleE9mKCI/Iik7aWYoLTEhPT1LPyh0aGlzLnNlYXJjaD13LnN1YnN0cihLKSx0aGlzLnF1ZXJ5PXcuc3Vic3RyKEsrMSksdCYmKHRoaXMucXVlcnk9Zy5wYXJzZSh0aGlzLnF1ZXJ5KSksdz13LnNsaWNlKDAsSykpOnQmJih0aGlzLnNlYXJjaD0iIix0aGlzLnF1ZXJ5PXt9KSx3JiYodGhpcy5wYXRobmFtZT13KSx2W19dJiZ0aGlzLmhvc3RuYW1lJiYhdGhpcy5wYXRobmFtZSYmKHRoaXMucGF0aG5hbWU9Ii8iKSx0aGlzLnBhdGhuYW1lfHx0aGlzLnNlYXJjaCl7RD10aGlzLnBhdGhuYW1lfHwiIjt2YXIgVj10aGlzLnNlYXJjaHx8IiI7dGhpcy5wYXRoPUQrVn1yZXR1cm4gdGhpcy5ocmVmPXRoaXMuZm9ybWF0KCksdGhpc30sYS5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5hdXRofHwiIjtlJiYoZT0oZT1lbmNvZGVVUklDb21wb25lbnQoZSkpLnJlcGxhY2UoLyUzQS9pLCI6IiksZSs9IkAiKTt2YXIgdD10aGlzLnByb3RvY29sfHwiIixyPXRoaXMucGF0aG5hbWV8fCIiLG49dGhpcy5oYXNofHwiIixpPSExLGE9IiI7dGhpcy5ob3N0P2k9ZSt0aGlzLmhvc3Q6dGhpcy5ob3N0bmFtZSYmKGk9ZSsoLTE9PT10aGlzLmhvc3RuYW1lLmluZGV4T2YoIjoiKT90aGlzLmhvc3RuYW1lOiJbIit0aGlzLmhvc3RuYW1lKyJdIiksdGhpcy5wb3J0JiYoaSs9IjoiK3RoaXMucG9ydCkpLHRoaXMucXVlcnkmJm8uaXNPYmplY3QodGhpcy5xdWVyeSkmJk9iamVjdC5rZXlzKHRoaXMucXVlcnkpLmxlbmd0aCYmKGE9Zy5zdHJpbmdpZnkodGhpcy5xdWVyeSkpO3ZhciBzPXRoaXMuc2VhcmNofHxhJiYiPyIrYXx8IiI7cmV0dXJuIHQmJiI6IiE9PXQuc3Vic3RyKC0xKSYmKHQrPSI6IiksdGhpcy5zbGFzaGVzfHwoIXR8fHZbdF0pJiYhMSE9PWk/KGk9Ii8vIisoaXx8IiIpLHImJiIvIiE9PXIuY2hhckF0KDApJiYocj0iLyIrcikpOml8fChpPSIiKSxuJiYiIyIhPT1uLmNoYXJBdCgwKSYmKG49IiMiK24pLHMmJiI/IiE9PXMuY2hhckF0KDApJiYocz0iPyIrcyksdCtpKyhyPXIucmVwbGFjZSgvWz8jXS9nLChmdW5jdGlvbihlKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGUpfSkpKSsocz1zLnJlcGxhY2UoIiMiLCIlMjMiKSkrbn0sYS5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5yZXNvbHZlT2JqZWN0KHcoZSwhMSwhMCkpLmZvcm1hdCgpfSxhLnByb3RvdHlwZS5yZXNvbHZlT2JqZWN0PWZ1bmN0aW9uKGUpe2lmKG8uaXNTdHJpbmcoZSkpe3ZhciB0PW5ldyBhO3QucGFyc2UoZSwhMSwhMCksZT10fWZvcih2YXIgcj1uZXcgYSxuPU9iamVjdC5rZXlzKHRoaXMpLGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIHM9bltpXTtyW3NdPXRoaXNbc119aWYoci5oYXNoPWUuaGFzaCwiIj09PWUuaHJlZilyZXR1cm4gci5ocmVmPXIuZm9ybWF0KCkscjtpZihlLnNsYXNoZXMmJiFlLnByb3RvY29sKXtmb3IodmFyIHU9T2JqZWN0LmtleXMoZSksYz0wO2M8dS5sZW5ndGg7YysrKXt2YXIgZj11W2NdOyJwcm90b2NvbCIhPT1mJiYocltmXT1lW2ZdKX1yZXR1cm4gdltyLnByb3RvY29sXSYmci5ob3N0bmFtZSYmIXIucGF0aG5hbWUmJihyLnBhdGg9ci5wYXRobmFtZT0iLyIpLHIuaHJlZj1yLmZvcm1hdCgpLHJ9aWYoZS5wcm90b2NvbCYmZS5wcm90b2NvbCE9PXIucHJvdG9jb2wpe2lmKCF2W2UucHJvdG9jb2xdKXtmb3IodmFyIGQ9T2JqZWN0LmtleXMoZSksbD0wO2w8ZC5sZW5ndGg7bCsrKXt2YXIgaD1kW2xdO3JbaF09ZVtoXX1yZXR1cm4gci5ocmVmPXIuZm9ybWF0KCkscn1pZihyLnByb3RvY29sPWUucHJvdG9jb2wsZS5ob3N0fHxtW2UucHJvdG9jb2xdKXIucGF0aG5hbWU9ZS5wYXRobmFtZTtlbHNle2Zvcih2YXIgcD0oZS5wYXRobmFtZXx8IiIpLnNwbGl0KCIvIik7cC5sZW5ndGgmJiEoZS5ob3N0PXAuc2hpZnQoKSk7KTtlLmhvc3R8fChlLmhvc3Q9IiIpLGUuaG9zdG5hbWV8fChlLmhvc3RuYW1lPSIiKSwiIiE9PXBbMF0mJnAudW5zaGlmdCgiIikscC5sZW5ndGg8MiYmcC51bnNoaWZ0KCIiKSxyLnBhdGhuYW1lPXAuam9pbigiLyIpfWlmKHIuc2VhcmNoPWUuc2VhcmNoLHIucXVlcnk9ZS5xdWVyeSxyLmhvc3Q9ZS5ob3N0fHwiIixyLmF1dGg9ZS5hdXRoLHIuaG9zdG5hbWU9ZS5ob3N0bmFtZXx8ZS5ob3N0LHIucG9ydD1lLnBvcnQsci5wYXRobmFtZXx8ci5zZWFyY2gpe3ZhciBiPXIucGF0aG5hbWV8fCIiLHk9ci5zZWFyY2h8fCIiO3IucGF0aD1iK3l9cmV0dXJuIHIuc2xhc2hlcz1yLnNsYXNoZXN8fGUuc2xhc2hlcyxyLmhyZWY9ci5mb3JtYXQoKSxyfXZhciBnPXIucGF0aG5hbWUmJiIvIj09PXIucGF0aG5hbWUuY2hhckF0KDApLHc9ZS5ob3N0fHxlLnBhdGhuYW1lJiYiLyI9PT1lLnBhdGhuYW1lLmNoYXJBdCgwKSxBPXd8fGd8fHIuaG9zdCYmZS5wYXRobmFtZSxrPUEsXz1yLnBhdGhuYW1lJiZyLnBhdGhuYW1lLnNwbGl0KCIvIil8fFtdLFM9KHA9ZS5wYXRobmFtZSYmZS5wYXRobmFtZS5zcGxpdCgiLyIpfHxbXSxyLnByb3RvY29sJiYhdltyLnByb3RvY29sXSk7aWYoUyYmKHIuaG9zdG5hbWU9IiIsci5wb3J0PW51bGwsci5ob3N0JiYoIiI9PT1fWzBdP19bMF09ci5ob3N0Ol8udW5zaGlmdChyLmhvc3QpKSxyLmhvc3Q9IiIsZS5wcm90b2NvbCYmKGUuaG9zdG5hbWU9bnVsbCxlLnBvcnQ9bnVsbCxlLmhvc3QmJigiIj09PXBbMF0/cFswXT1lLmhvc3Q6cC51bnNoaWZ0KGUuaG9zdCkpLGUuaG9zdD1udWxsKSxBPUEmJigiIj09PXBbMF18fCIiPT09X1swXSkpLHcpci5ob3N0PWUuaG9zdHx8IiI9PT1lLmhvc3Q/ZS5ob3N0OnIuaG9zdCxyLmhvc3RuYW1lPWUuaG9zdG5hbWV8fCIiPT09ZS5ob3N0bmFtZT9lLmhvc3RuYW1lOnIuaG9zdG5hbWUsci5zZWFyY2g9ZS5zZWFyY2gsci5xdWVyeT1lLnF1ZXJ5LF89cDtlbHNlIGlmKHAubGVuZ3RoKV98fChfPVtdKSxfLnBvcCgpLF89Xy5jb25jYXQocCksci5zZWFyY2g9ZS5zZWFyY2gsci5xdWVyeT1lLnF1ZXJ5O2Vsc2UgaWYoIW8uaXNOdWxsT3JVbmRlZmluZWQoZS5zZWFyY2gpKXJldHVybiBTJiYoci5ob3N0bmFtZT1yLmhvc3Q9Xy5zaGlmdCgpLChCPSEhKHIuaG9zdCYmci5ob3N0LmluZGV4T2YoIkAiKT4wKSYmci5ob3N0LnNwbGl0KCJAIikpJiYoci5hdXRoPUIuc2hpZnQoKSxyLmhvc3Q9ci5ob3N0bmFtZT1CLnNoaWZ0KCkpKSxyLnNlYXJjaD1lLnNlYXJjaCxyLnF1ZXJ5PWUucXVlcnksby5pc051bGwoci5wYXRobmFtZSkmJm8uaXNOdWxsKHIuc2VhcmNoKXx8KHIucGF0aD0oci5wYXRobmFtZT9yLnBhdGhuYW1lOiIiKSsoci5zZWFyY2g/ci5zZWFyY2g6IiIpKSxyLmhyZWY9ci5mb3JtYXQoKSxyO2lmKCFfLmxlbmd0aClyZXR1cm4gci5wYXRobmFtZT1udWxsLHIuc2VhcmNoP3IucGF0aD0iLyIrci5zZWFyY2g6ci5wYXRoPW51bGwsci5ocmVmPXIuZm9ybWF0KCkscjtmb3IodmFyIHg9Xy5zbGljZSgtMSlbMF0sRT0oci5ob3N0fHxlLmhvc3R8fF8ubGVuZ3RoPjEpJiYoIi4iPT09eHx8Ii4uIj09PXgpfHwiIj09PXgsUD0wLE89Xy5sZW5ndGg7Tz49MDtPLS0pIi4iPT09KHg9X1tPXSk/Xy5zcGxpY2UoTywxKToiLi4iPT09eD8oXy5zcGxpY2UoTywxKSxQKyspOlAmJihfLnNwbGljZShPLDEpLFAtLSk7aWYoIUEmJiFrKWZvcig7UC0tO1ApXy51bnNoaWZ0KCIuLiIpOyFBfHwiIj09PV9bMF18fF9bMF0mJiIvIj09PV9bMF0uY2hhckF0KDApfHxfLnVuc2hpZnQoIiIpLEUmJiIvIiE9PV8uam9pbigiLyIpLnN1YnN0cigtMSkmJl8ucHVzaCgiIik7dmFyIEIsVD0iIj09PV9bMF18fF9bMF0mJiIvIj09PV9bMF0uY2hhckF0KDApO3JldHVybiBTJiYoci5ob3N0bmFtZT1yLmhvc3Q9VD8iIjpfLmxlbmd0aD9fLnNoaWZ0KCk6IiIsKEI9ISEoci5ob3N0JiZyLmhvc3QuaW5kZXhPZigiQCIpPjApJiZyLmhvc3Quc3BsaXQoIkAiKSkmJihyLmF1dGg9Qi5zaGlmdCgpLHIuaG9zdD1yLmhvc3RuYW1lPUIuc2hpZnQoKSkpLChBPUF8fHIuaG9zdCYmXy5sZW5ndGgpJiYhVCYmXy51bnNoaWZ0KCIiKSxfLmxlbmd0aD9yLnBhdGhuYW1lPV8uam9pbigiLyIpOihyLnBhdGhuYW1lPW51bGwsci5wYXRoPW51bGwpLG8uaXNOdWxsKHIucGF0aG5hbWUpJiZvLmlzTnVsbChyLnNlYXJjaCl8fChyLnBhdGg9KHIucGF0aG5hbWU/ci5wYXRobmFtZToiIikrKHIuc2VhcmNoP3Iuc2VhcmNoOiIiKSksci5hdXRoPWUuYXV0aHx8ci5hdXRoLHIuc2xhc2hlcz1yLnNsYXNoZXN8fGUuc2xhc2hlcyxyLmhyZWY9ci5mb3JtYXQoKSxyfSxhLnByb3RvdHlwZS5wYXJzZUhvc3Q9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmhvc3QsdD11LmV4ZWMoZSk7dCYmKCI6IiE9PSh0PXRbMF0pJiYodGhpcy5wb3J0PXQuc3Vic3RyKDEpKSxlPWUuc3Vic3RyKDAsZS5sZW5ndGgtdC5sZW5ndGgpKSxlJiYodGhpcy5ob3N0bmFtZT1lKX19LDU3NTE6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpKHIoMzM1NSkpO2UuZXhwb3J0cz17aXNTdHJpbmc6ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfSxpc09iamVjdDpmdW5jdGlvbihlKXtyZXR1cm4ib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkoZSkmJm51bGwhPT1lfSxpc051bGw6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfSxpc051bGxPclVuZGVmaW5lZDpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZX19fSw4NjMyOihlLHQpPT57InVzZSBzdHJpY3QiOyFmdW5jdGlvbihlKXt2YXIgdCxyLG4saT1TdHJpbmcuZnJvbUNoYXJDb2RlO2Z1bmN0aW9uIG8oZSl7Zm9yKHZhciB0LHIsbj1bXSxpPTAsbz1lLmxlbmd0aDtpPG87KSh0PWUuY2hhckNvZGVBdChpKyspKT49NTUyOTYmJnQ8PTU2MzE5JiZpPG8/NTYzMjA9PSg2NDUxMiYocj1lLmNoYXJDb2RlQXQoaSsrKSkpP24ucHVzaCgoKDEwMjMmdCk8PDEwKSsoMTAyMyZyKSs2NTUzNik6KG4ucHVzaCh0KSxpLS0pOm4ucHVzaCh0KTtyZXR1cm4gbn1mdW5jdGlvbiBhKGUpe2lmKGU+PTU1Mjk2JiZlPD01NzM0Myl0aHJvdyBFcnJvcigiTG9uZSBzdXJyb2dhdGUgVSsiK2UudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkrIiBpcyBub3QgYSBzY2FsYXIgdmFsdWUiKX1mdW5jdGlvbiBzKGUsdCl7cmV0dXJuIGkoZT4+dCY2M3wxMjgpfWZ1bmN0aW9uIHUoZSl7aWYoMD09KDQyOTQ5NjcxNjgmZSkpcmV0dXJuIGkoZSk7dmFyIHQ9IiI7cmV0dXJuIDA9PSg0Mjk0OTY1MjQ4JmUpP3Q9aShlPj42JjMxfDE5Mik6MD09KDQyOTQ5MDE3NjAmZSk/KGEoZSksdD1pKGU+PjEyJjE1fDIyNCksdCs9cyhlLDYpKTowPT0oNDI5Mjg3MDE0NCZlKSYmKHQ9aShlPj4xOCY3fDI0MCksdCs9cyhlLDEyKSx0Kz1zKGUsNikpLHQraSg2MyZlfDEyOCl9ZnVuY3Rpb24gYygpe2lmKG4+PXIpdGhyb3cgRXJyb3IoIkludmFsaWQgYnl0ZSBpbmRleCIpO3ZhciBlPTI1NSZ0W25dO2lmKG4rKywxMjg9PSgxOTImZSkpcmV0dXJuIDYzJmU7dGhyb3cgRXJyb3IoIkludmFsaWQgY29udGludWF0aW9uIGJ5dGUiKX1mdW5jdGlvbiBmKCl7dmFyIGUsaTtpZihuPnIpdGhyb3cgRXJyb3IoIkludmFsaWQgYnl0ZSBpbmRleCIpO2lmKG49PXIpcmV0dXJuITE7aWYoZT0yNTUmdFtuXSxuKyssMD09KDEyOCZlKSlyZXR1cm4gZTtpZigxOTI9PSgyMjQmZSkpe2lmKChpPSgzMSZlKTw8NnxjKCkpPj0xMjgpcmV0dXJuIGk7dGhyb3cgRXJyb3IoIkludmFsaWQgY29udGludWF0aW9uIGJ5dGUiKX1pZigyMjQ9PSgyNDAmZSkpe2lmKChpPSgxNSZlKTw8MTJ8YygpPDw2fGMoKSk+PTIwNDgpcmV0dXJuIGEoaSksaTt0aHJvdyBFcnJvcigiSW52YWxpZCBjb250aW51YXRpb24gYnl0ZSIpfWlmKDI0MD09KDI0OCZlKSYmKGk9KDcmZSk8PDE4fGMoKTw8MTJ8YygpPDw2fGMoKSk+PTY1NTM2JiZpPD0xMTE0MTExKXJldHVybiBpO3Rocm93IEVycm9yKCJJbnZhbGlkIFVURi04IGRldGVjdGVkIil9ZS52ZXJzaW9uPSIzLjAuMCIsZS5lbmNvZGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PW8oZSkscj10Lmxlbmd0aCxuPS0xLGk9IiI7KytuPHI7KWkrPXUodFtuXSk7cmV0dXJuIGl9LGUuZGVjb2RlPWZ1bmN0aW9uKGUpe3Q9byhlKSxyPXQubGVuZ3RoLG49MDtmb3IodmFyIGEscz1bXTshMSE9PShhPWYoKSk7KXMucHVzaChhKTtyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciB0LHI9ZS5sZW5ndGgsbj0tMSxvPSIiOysrbjxyOykodD1lW25dKT42NTUzNSYmKG8rPWkoKHQtPTY1NTM2KT4+PjEwJjEwMjN8NTUyOTYpLHQ9NTYzMjB8MTAyMyZ0KSxvKz1pKHQpO3JldHVybiBvfShzKX19KHQpfSw2MjE5OihlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXt0cnl7aWYoIXIuZy5sb2NhbFN0b3JhZ2UpcmV0dXJuITF9Y2F0Y2goZSl7cmV0dXJuITF9dmFyIHQ9ci5nLmxvY2FsU3RvcmFnZVtlXTtyZXR1cm4gbnVsbCE9dCYmInRydWUiPT09U3RyaW5nKHQpLnRvTG93ZXJDYXNlKCl9ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7aWYobigibm9EZXByZWNhdGlvbiIpKXJldHVybiBlO3ZhciByPSExO3JldHVybiBmdW5jdGlvbigpe2lmKCFyKXtpZihuKCJ0aHJvd0RlcHJlY2F0aW9uIikpdGhyb3cgbmV3IEVycm9yKHQpO24oInRyYWNlRGVwcmVjYXRpb24iKT9jb25zb2xlLnRyYWNlKHQpOmNvbnNvbGUud2Fybih0KSxyPSEwfXJldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19fSw2MjQ4OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KShyKDMzNTUpKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJvYmplY3QiPT09KDAsbi5kZWZhdWx0KShlKSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuY29weSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuZmlsbCYmImZ1bmN0aW9uIj09dHlwZW9mIGUucmVhZFVJbnQ4fX0sNzA5MjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0NykocigzMzU1KSksaT1yKDk0NDYpLG89cig0NDc3KSxhPXIoMjMzNykscz1yKDg5MTUpO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIGUuY2FsbC5iaW5kKGUpfXZhciBjPSJ1bmRlZmluZWQiIT10eXBlb2YgQmlnSW50LGY9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wsZD11KE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpLGw9dShOdW1iZXIucHJvdG90eXBlLnZhbHVlT2YpLGg9dShTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YpLHA9dShCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKTtpZihjKXZhciBiPXUoQmlnSW50LnByb3RvdHlwZS52YWx1ZU9mKTtpZihmKXZhciB5PXUoU3ltYm9sLnByb3RvdHlwZS52YWx1ZU9mKTtmdW5jdGlvbiBtKGUsdCl7aWYoIm9iamVjdCIhPT0oMCxuLmRlZmF1bHQpKGUpKXJldHVybiExO3RyeXtyZXR1cm4gdChlKSwhMH1jYXRjaChlKXtyZXR1cm4hMX19ZnVuY3Rpb24gdihlKXtyZXR1cm4iW29iamVjdCBNYXBdIj09PWQoZSl9ZnVuY3Rpb24gZyhlKXtyZXR1cm4iW29iamVjdCBTZXRdIj09PWQoZSl9ZnVuY3Rpb24gdyhlKXtyZXR1cm4iW29iamVjdCBXZWFrTWFwXSI9PT1kKGUpfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIltvYmplY3QgV2Vha1NldF0iPT09ZChlKX1mdW5jdGlvbiBrKGUpe3JldHVybiJbb2JqZWN0IEFycmF5QnVmZmVyXSI9PT1kKGUpfWZ1bmN0aW9uIF8oZSl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmKGsud29ya2luZz9rKGUpOmUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcil9ZnVuY3Rpb24gUyhlKXtyZXR1cm4iW29iamVjdCBEYXRhVmlld10iPT09ZChlKX1mdW5jdGlvbiB4KGUpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgRGF0YVZpZXcmJihTLndvcmtpbmc/UyhlKTplIGluc3RhbmNlb2YgRGF0YVZpZXcpfXQuaXNBcmd1bWVudHNPYmplY3Q9aSx0LmlzR2VuZXJhdG9yRnVuY3Rpb249byx0LmlzVHlwZWRBcnJheT1zLHQuaXNQcm9taXNlPWZ1bmN0aW9uKGUpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgUHJvbWlzZSYmZSBpbnN0YW5jZW9mIFByb21pc2V8fG51bGwhPT1lJiYib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkoZSkmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnRoZW4mJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmNhdGNofSx0LmlzQXJyYXlCdWZmZXJWaWV3PWZ1bmN0aW9uKGUpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJkFycmF5QnVmZmVyLmlzVmlldz9BcnJheUJ1ZmZlci5pc1ZpZXcoZSk6cyhlKXx8eChlKX0sdC5pc1VpbnQ4QXJyYXk9ZnVuY3Rpb24oZSl7cmV0dXJuIlVpbnQ4QXJyYXkiPT09YShlKX0sdC5pc1VpbnQ4Q2xhbXBlZEFycmF5PWZ1bmN0aW9uKGUpe3JldHVybiJVaW50OENsYW1wZWRBcnJheSI9PT1hKGUpfSx0LmlzVWludDE2QXJyYXk9ZnVuY3Rpb24oZSl7cmV0dXJuIlVpbnQxNkFycmF5Ij09PWEoZSl9LHQuaXNVaW50MzJBcnJheT1mdW5jdGlvbihlKXtyZXR1cm4iVWludDMyQXJyYXkiPT09YShlKX0sdC5pc0ludDhBcnJheT1mdW5jdGlvbihlKXtyZXR1cm4iSW50OEFycmF5Ij09PWEoZSl9LHQuaXNJbnQxNkFycmF5PWZ1bmN0aW9uKGUpe3JldHVybiJJbnQxNkFycmF5Ij09PWEoZSl9LHQuaXNJbnQzMkFycmF5PWZ1bmN0aW9uKGUpe3JldHVybiJJbnQzMkFycmF5Ij09PWEoZSl9LHQuaXNGbG9hdDMyQXJyYXk9ZnVuY3Rpb24oZSl7cmV0dXJuIkZsb2F0MzJBcnJheSI9PT1hKGUpfSx0LmlzRmxvYXQ2NEFycmF5PWZ1bmN0aW9uKGUpe3JldHVybiJGbG9hdDY0QXJyYXkiPT09YShlKX0sdC5pc0JpZ0ludDY0QXJyYXk9ZnVuY3Rpb24oZSl7cmV0dXJuIkJpZ0ludDY0QXJyYXkiPT09YShlKX0sdC5pc0JpZ1VpbnQ2NEFycmF5PWZ1bmN0aW9uKGUpe3JldHVybiJCaWdVaW50NjRBcnJheSI9PT1hKGUpfSx2Lndvcmtpbmc9InVuZGVmaW5lZCIhPXR5cGVvZiBNYXAmJnYobmV3IE1hcCksdC5pc01hcD1mdW5jdGlvbihlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIE1hcCYmKHYud29ya2luZz92KGUpOmUgaW5zdGFuY2VvZiBNYXApfSxnLndvcmtpbmc9InVuZGVmaW5lZCIhPXR5cGVvZiBTZXQmJmcobmV3IFNldCksdC5pc1NldD1mdW5jdGlvbihlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFNldCYmKGcud29ya2luZz9nKGUpOmUgaW5zdGFuY2VvZiBTZXQpfSx3Lndvcmtpbmc9InVuZGVmaW5lZCIhPXR5cGVvZiBXZWFrTWFwJiZ3KG5ldyBXZWFrTWFwKSx0LmlzV2Vha01hcD1mdW5jdGlvbihlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFdlYWtNYXAmJih3Lndvcmtpbmc/dyhlKTplIGluc3RhbmNlb2YgV2Vha01hcCl9LEEud29ya2luZz0idW5kZWZpbmVkIiE9dHlwZW9mIFdlYWtTZXQmJkEobmV3IFdlYWtTZXQpLHQuaXNXZWFrU2V0PWZ1bmN0aW9uKGUpe3JldHVybiBBKGUpfSxrLndvcmtpbmc9InVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmayhuZXcgQXJyYXlCdWZmZXIpLHQuaXNBcnJheUJ1ZmZlcj1fLFMud29ya2luZz0idW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiYidW5kZWZpbmVkIiE9dHlwZW9mIERhdGFWaWV3JiZTKG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMSksMCwxKSksdC5pc0RhdGFWaWV3PXg7dmFyIEU9InVuZGVmaW5lZCIhPXR5cGVvZiBTaGFyZWRBcnJheUJ1ZmZlcj9TaGFyZWRBcnJheUJ1ZmZlcjp2b2lkIDA7ZnVuY3Rpb24gUChlKXtyZXR1cm4iW29iamVjdCBTaGFyZWRBcnJheUJ1ZmZlcl0iPT09ZChlKX1mdW5jdGlvbiBPKGUpe3JldHVybiB2b2lkIDAhPT1FJiYodm9pZCAwPT09UC53b3JraW5nJiYoUC53b3JraW5nPVAobmV3IEUpKSxQLndvcmtpbmc/UChlKTplIGluc3RhbmNlb2YgRSl9ZnVuY3Rpb24gQihlKXtyZXR1cm4gbShlLGwpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuIG0oZSxoKX1mdW5jdGlvbiBDKGUpe3JldHVybiBtKGUscCl9ZnVuY3Rpb24gSShlKXtyZXR1cm4gYyYmbShlLGIpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIGYmJm0oZSx5KX10LmlzU2hhcmVkQXJyYXlCdWZmZXI9Tyx0LmlzQXN5bmNGdW5jdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBc3luY0Z1bmN0aW9uXSI9PT1kKGUpfSx0LmlzTWFwSXRlcmF0b3I9ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgTWFwIEl0ZXJhdG9yXSI9PT1kKGUpfSx0LmlzU2V0SXRlcmF0b3I9ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgU2V0IEl0ZXJhdG9yXSI9PT1kKGUpfSx0LmlzR2VuZXJhdG9yT2JqZWN0PWZ1bmN0aW9uKGUpe3JldHVybiJbb2JqZWN0IEdlbmVyYXRvcl0iPT09ZChlKX0sdC5pc1dlYkFzc2VtYmx5Q29tcGlsZWRNb2R1bGU9ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgV2ViQXNzZW1ibHkuTW9kdWxlXSI9PT1kKGUpfSx0LmlzTnVtYmVyT2JqZWN0PUIsdC5pc1N0cmluZ09iamVjdD1ULHQuaXNCb29sZWFuT2JqZWN0PUMsdC5pc0JpZ0ludE9iamVjdD1JLHQuaXNTeW1ib2xPYmplY3Q9TSx0LmlzQm94ZWRQcmltaXRpdmU9ZnVuY3Rpb24oZSl7cmV0dXJuIEIoZSl8fFQoZSl8fEMoZSl8fEkoZSl8fE0oZSl9LHQuaXNBbnlBcnJheUJ1ZmZlcj1mdW5jdGlvbihlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFVpbnQ4QXJyYXkmJihfKGUpfHxPKGUpKX0sWyJpc1Byb3h5IiwiaXNFeHRlcm5hbCIsImlzTW9kdWxlTmFtZXNwYWNlT2JqZWN0Il0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7ZW51bWVyYWJsZTohMSx2YWx1ZTpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihlKyIgaXMgbm90IHN1cHBvcnRlZCBpbiB1c2VybGFuZCIpfX0pfSkpfSw1MDU4OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig5MTQyKSxpPXIoODg0NykocigzMzU1KSksbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yc3x8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PU9iamVjdC5rZXlzKGUpLHI9e30sbj0wO248dC5sZW5ndGg7bisrKXJbdFtuXV09T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHRbbl0pO3JldHVybiByfSxhPS8lW3NkaiVdL2c7dC5mb3JtYXQ9ZnVuY3Rpb24oZSl7aWYoIXcoZSkpe2Zvcih2YXIgdD1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0LnB1c2goZihhcmd1bWVudHNbcl0pKTtyZXR1cm4gdC5qb2luKCIgIil9cj0xO2Zvcih2YXIgbj1hcmd1bWVudHMsaT1uLmxlbmd0aCxvPVN0cmluZyhlKS5yZXBsYWNlKGEsKGZ1bmN0aW9uKGUpe2lmKCIlJSI9PT1lKXJldHVybiIlIjtpZihyPj1pKXJldHVybiBlO3N3aXRjaChlKXtjYXNlIiVzIjpyZXR1cm4gU3RyaW5nKG5bcisrXSk7Y2FzZSIlZCI6cmV0dXJuIE51bWJlcihuW3IrK10pO2Nhc2UiJWoiOnRyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkobltyKytdKX1jYXRjaChlKXtyZXR1cm4iW0NpcmN1bGFyXSJ9ZGVmYXVsdDpyZXR1cm4gZX19KSkscz1uW3JdO3I8aTtzPW5bKytyXSl2KHMpfHwhXyhzKT9vKz0iICIrczpvKz0iICIrZihzKTtyZXR1cm4gb30sdC5kZXByZWNhdGU9ZnVuY3Rpb24oZSxyKXtpZih2b2lkIDAhPT1uJiYhMD09PW4ubm9EZXByZWNhdGlvbilyZXR1cm4gZTtpZih2b2lkIDA9PT1uKXJldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmRlcHJlY2F0ZShlLHIpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07dmFyIGk9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIWkpe2lmKG4udGhyb3dEZXByZWNhdGlvbil0aHJvdyBuZXcgRXJyb3Iocik7bi50cmFjZURlcHJlY2F0aW9uP2NvbnNvbGUudHJhY2Uocik6Y29uc29sZS5lcnJvcihyKSxpPSEwfXJldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19O3ZhciBzPXt9LHU9L14kLztpZihuLmVudi5OT0RFX0RFQlVHKXt2YXIgYz1uLmVudi5OT0RFX0RFQlVHO2M9Yy5yZXBsYWNlKC9bfFxce30oKVtcXV4kKz8uXS9nLCJcXCQmIikucmVwbGFjZSgvXCovZywiLioiKS5yZXBsYWNlKC8sL2csIiR8XiIpLnRvVXBwZXJDYXNlKCksdT1uZXcgUmVnRXhwKCJeIitjKyIkIiwiaSIpfWZ1bmN0aW9uIGYoZSxyKXt2YXIgbj17c2VlbjpbXSxzdHlsaXplOmx9O3JldHVybiBhcmd1bWVudHMubGVuZ3RoPj0zJiYobi5kZXB0aD1hcmd1bWVudHNbMl0pLGFyZ3VtZW50cy5sZW5ndGg+PTQmJihuLmNvbG9ycz1hcmd1bWVudHNbM10pLG0ocik/bi5zaG93SGlkZGVuPXI6ciYmdC5fZXh0ZW5kKG4sciksQShuLnNob3dIaWRkZW4pJiYobi5zaG93SGlkZGVuPSExKSxBKG4uZGVwdGgpJiYobi5kZXB0aD0yKSxBKG4uY29sb3JzKSYmKG4uY29sb3JzPSExKSxBKG4uY3VzdG9tSW5zcGVjdCkmJihuLmN1c3RvbUluc3BlY3Q9ITApLG4uY29sb3JzJiYobi5zdHlsaXplPWQpLGgobixlLG4uZGVwdGgpfWZ1bmN0aW9uIGQoZSx0KXt2YXIgcj1mLnN0eWxlc1t0XTtyZXR1cm4gcj8iG1siK2YuY29sb3JzW3JdWzBdKyJtIitlKyIbWyIrZi5jb2xvcnNbcl1bMV0rIm0iOmV9ZnVuY3Rpb24gbChlLHQpe3JldHVybiBlfWZ1bmN0aW9uIGgoZSxyLG4pe2lmKGUuY3VzdG9tSW5zcGVjdCYmciYmRShyLmluc3BlY3QpJiZyLmluc3BlY3QhPT10Lmluc3BlY3QmJighci5jb25zdHJ1Y3Rvcnx8ci5jb25zdHJ1Y3Rvci5wcm90b3R5cGUhPT1yKSl7dmFyIGk9ci5pbnNwZWN0KG4sZSk7cmV0dXJuIHcoaSl8fChpPWgoZSxpLG4pKSxpfXZhciBvPWZ1bmN0aW9uKGUsdCl7aWYoQSh0KSlyZXR1cm4gZS5zdHlsaXplKCJ1bmRlZmluZWQiLCJ1bmRlZmluZWQiKTtpZih3KHQpKXt2YXIgcj0iJyIrSlNPTi5zdHJpbmdpZnkodCkucmVwbGFjZSgvXiJ8IiQvZywiIikucmVwbGFjZSgvJy9nLCJcXCciKS5yZXBsYWNlKC9cXCIvZywnIicpKyInIjtyZXR1cm4gZS5zdHlsaXplKHIsInN0cmluZyIpfXJldHVybiBnKHQpP2Uuc3R5bGl6ZSgiIit0LCJudW1iZXIiKTptKHQpP2Uuc3R5bGl6ZSgiIit0LCJib29sZWFuIik6dih0KT9lLnN0eWxpemUoIm51bGwiLCJudWxsIik6dm9pZCAwfShlLHIpO2lmKG8pcmV0dXJuIG87dmFyIGE9T2JqZWN0LmtleXMocikscz1mdW5jdGlvbihlKXt2YXIgdD17fTtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbihlLHIpe3RbZV09ITB9KSksdH0oYSk7aWYoZS5zaG93SGlkZGVuJiYoYT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhyKSkseChyKSYmKGEuaW5kZXhPZigibWVzc2FnZSIpPj0wfHxhLmluZGV4T2YoImRlc2NyaXB0aW9uIik+PTApKXJldHVybiBwKHIpO2lmKDA9PT1hLmxlbmd0aCl7aWYoRShyKSl7dmFyIHU9ci5uYW1lPyI6ICIrci5uYW1lOiIiO3JldHVybiBlLnN0eWxpemUoIltGdW5jdGlvbiIrdSsiXSIsInNwZWNpYWwiKX1pZihrKHIpKXJldHVybiBlLnN0eWxpemUoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpLCJyZWdleHAiKTtpZihTKHIpKXJldHVybiBlLnN0eWxpemUoRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKSwiZGF0ZSIpO2lmKHgocikpcmV0dXJuIHAocil9dmFyIGMsZj0iIixkPSExLGw9WyJ7IiwifSJdO3JldHVybiB5KHIpJiYoZD0hMCxsPVsiWyIsIl0iXSksRShyKSYmKGY9IiBbRnVuY3Rpb24iKyhyLm5hbWU/IjogIityLm5hbWU6IiIpKyJdIiksayhyKSYmKGY9IiAiK1JlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKSksUyhyKSYmKGY9IiAiK0RhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmNhbGwocikpLHgocikmJihmPSIgIitwKHIpKSwwIT09YS5sZW5ndGh8fGQmJjAhPXIubGVuZ3RoP248MD9rKHIpP2Uuc3R5bGl6ZShSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwociksInJlZ2V4cCIpOmUuc3R5bGl6ZSgiW09iamVjdF0iLCJzcGVjaWFsIik6KGUuc2Vlbi5wdXNoKHIpLGM9ZD9mdW5jdGlvbihlLHQscixuLGkpe2Zvcih2YXIgbz1bXSxhPTAscz10Lmxlbmd0aDthPHM7KythKUModCxTdHJpbmcoYSkpP28ucHVzaChiKGUsdCxyLG4sU3RyaW5nKGEpLCEwKSk6by5wdXNoKCIiKTtyZXR1cm4gaS5mb3JFYWNoKChmdW5jdGlvbihpKXtpLm1hdGNoKC9eXGQrJC8pfHxvLnB1c2goYihlLHQscixuLGksITApKX0pKSxvfShlLHIsbixzLGEpOmEubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gYihlLHIsbixzLHQsZCl9KSksZS5zZWVuLnBvcCgpLGZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZS5yZWR1Y2UoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuaW5kZXhPZigiXG4iKSxlK3QucmVwbGFjZSgvXHUwMDFiXFtcZFxkP20vZywiIikubGVuZ3RoKzF9KSwwKT42MD9yWzBdKygiIj09PXQ/IiI6dCsiXG4gIikrIiAiK2Uuam9pbigiLFxuICAiKSsiICIrclsxXTpyWzBdK3QrIiAiK2Uuam9pbigiLCAiKSsiICIrclsxXX0oYyxmLGwpKTpsWzBdK2YrbFsxXX1mdW5jdGlvbiBwKGUpe3JldHVybiJbIitFcnJvci5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSsiXSJ9ZnVuY3Rpb24gYihlLHQscixuLGksbyl7dmFyIGEscyx1O2lmKCh1PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxpKXx8e3ZhbHVlOnRbaV19KS5nZXQ/cz11LnNldD9lLnN0eWxpemUoIltHZXR0ZXIvU2V0dGVyXSIsInNwZWNpYWwiKTplLnN0eWxpemUoIltHZXR0ZXJdIiwic3BlY2lhbCIpOnUuc2V0JiYocz1lLnN0eWxpemUoIltTZXR0ZXJdIiwic3BlY2lhbCIpKSxDKG4saSl8fChhPSJbIitpKyJdIiksc3x8KGUuc2Vlbi5pbmRleE9mKHUudmFsdWUpPDA/KHM9dihyKT9oKGUsdS52YWx1ZSxudWxsKTpoKGUsdS52YWx1ZSxyLTEpKS5pbmRleE9mKCJcbiIpPi0xJiYocz1vP3Muc3BsaXQoIlxuIikubWFwKChmdW5jdGlvbihlKXtyZXR1cm4iICAiK2V9KSkuam9pbigiXG4iKS5zbGljZSgyKToiXG4iK3Muc3BsaXQoIlxuIikubWFwKChmdW5jdGlvbihlKXtyZXR1cm4iICAgIitlfSkpLmpvaW4oIlxuIikpOnM9ZS5zdHlsaXplKCJbQ2lyY3VsYXJdIiwic3BlY2lhbCIpKSxBKGEpKXtpZihvJiZpLm1hdGNoKC9eXGQrJC8pKXJldHVybiBzOyhhPUpTT04uc3RyaW5naWZ5KCIiK2kpKS5tYXRjaCgvXiIoW2EtekEtWl9dW2EtekEtWl8wLTldKikiJC8pPyhhPWEuc2xpY2UoMSwtMSksYT1lLnN0eWxpemUoYSwibmFtZSIpKTooYT1hLnJlcGxhY2UoLycvZywiXFwnIikucmVwbGFjZSgvXFwiL2csJyInKS5yZXBsYWNlKC8oXiJ8IiQpL2csIiciKSxhPWUuc3R5bGl6ZShhLCJzdHJpbmciKSl9cmV0dXJuIGErIjogIitzfWZ1bmN0aW9uIHkoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSl9ZnVuY3Rpb24gbShlKXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBlfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIG51bGw9PT1lfWZ1bmN0aW9uIGcoZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlfWZ1bmN0aW9uIHcoZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIHZvaWQgMD09PWV9ZnVuY3Rpb24gayhlKXtyZXR1cm4gXyhlKSYmIltvYmplY3QgUmVnRXhwXSI9PT1QKGUpfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIm9iamVjdCI9PT0oMCxpLmRlZmF1bHQpKGUpJiZudWxsIT09ZX1mdW5jdGlvbiBTKGUpe3JldHVybiBfKGUpJiYiW29iamVjdCBEYXRlXSI9PT1QKGUpfWZ1bmN0aW9uIHgoZSl7cmV0dXJuIF8oZSkmJigiW29iamVjdCBFcnJvcl0iPT09UChlKXx8ZSBpbnN0YW5jZW9mIEVycm9yKX1mdW5jdGlvbiBFKGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlfWZ1bmN0aW9uIFAoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX1mdW5jdGlvbiBPKGUpe3JldHVybiBlPDEwPyIwIitlLnRvU3RyaW5nKDEwKTplLnRvU3RyaW5nKDEwKX10LmRlYnVnbG9nPWZ1bmN0aW9uKGUpe2lmKGU9ZS50b1VwcGVyQ2FzZSgpLCFzW2VdKWlmKHUudGVzdChlKSl7dmFyIHI9bi5waWQ7c1tlXT1mdW5jdGlvbigpe3ZhciBuPXQuZm9ybWF0LmFwcGx5KHQsYXJndW1lbnRzKTtjb25zb2xlLmVycm9yKCIlcyAlZDogJXMiLGUscixuKX19ZWxzZSBzW2VdPWZ1bmN0aW9uKCl7fTtyZXR1cm4gc1tlXX0sdC5pbnNwZWN0PWYsZi5jb2xvcnM9e2JvbGQ6WzEsMjJdLGl0YWxpYzpbMywyM10sdW5kZXJsaW5lOls0LDI0XSxpbnZlcnNlOls3LDI3XSx3aGl0ZTpbMzcsMzldLGdyZXk6WzkwLDM5XSxibGFjazpbMzAsMzldLGJsdWU6WzM0LDM5XSxjeWFuOlszNiwzOV0sZ3JlZW46WzMyLDM5XSxtYWdlbnRhOlszNSwzOV0scmVkOlszMSwzOV0seWVsbG93OlszMywzOV19LGYuc3R5bGVzPXtzcGVjaWFsOiJjeWFuIixudW1iZXI6InllbGxvdyIsYm9vbGVhbjoieWVsbG93Iix1bmRlZmluZWQ6ImdyZXkiLG51bGw6ImJvbGQiLHN0cmluZzoiZ3JlZW4iLGRhdGU6Im1hZ2VudGEiLHJlZ2V4cDoicmVkIn0sdC50eXBlcz1yKDcwOTIpLHQuaXNBcnJheT15LHQuaXNCb29sZWFuPW0sdC5pc051bGw9dix0LmlzTnVsbE9yVW5kZWZpbmVkPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lfSx0LmlzTnVtYmVyPWcsdC5pc1N0cmluZz13LHQuaXNTeW1ib2w9ZnVuY3Rpb24oZSl7cmV0dXJuInN5bWJvbCI9PT0oMCxpLmRlZmF1bHQpKGUpfSx0LmlzVW5kZWZpbmVkPUEsdC5pc1JlZ0V4cD1rLHQudHlwZXMuaXNSZWdFeHA9ayx0LmlzT2JqZWN0PV8sdC5pc0RhdGU9Uyx0LnR5cGVzLmlzRGF0ZT1TLHQuaXNFcnJvcj14LHQudHlwZXMuaXNOYXRpdmVFcnJvcj14LHQuaXNGdW5jdGlvbj1FLHQuaXNQcmltaXRpdmU9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHwiYm9vbGVhbiI9PXR5cGVvZiBlfHwibnVtYmVyIj09dHlwZW9mIGV8fCJzdHJpbmciPT10eXBlb2YgZXx8InN5bWJvbCI9PT0oMCxpLmRlZmF1bHQpKGUpfHx2b2lkIDA9PT1lfSx0LmlzQnVmZmVyPXIoNjI0OCk7dmFyIEI9WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXTtmdW5jdGlvbiBUKCl7dmFyIGU9bmV3IERhdGUsdD1bTyhlLmdldEhvdXJzKCkpLE8oZS5nZXRNaW51dGVzKCkpLE8oZS5nZXRTZWNvbmRzKCkpXS5qb2luKCI6Iik7cmV0dXJuW2UuZ2V0RGF0ZSgpLEJbZS5nZXRNb250aCgpXSx0XS5qb2luKCIgIil9ZnVuY3Rpb24gQyhlLHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KX10LmxvZz1mdW5jdGlvbigpe2NvbnNvbGUubG9nKCIlcyAtICVzIixUKCksdC5mb3JtYXQuYXBwbHkodCxhcmd1bWVudHMpKX0sdC5pbmhlcml0cz1yKDE3MzYpLHQuX2V4dGVuZD1mdW5jdGlvbihlLHQpe2lmKCF0fHwhXyh0KSlyZXR1cm4gZTtmb3IodmFyIHI9T2JqZWN0LmtleXModCksbj1yLmxlbmd0aDtuLS07KWVbcltuXV09dFtyW25dXTtyZXR1cm4gZX07dmFyIEk9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2w/U3ltYm9sKCJ1dGlsLnByb21pc2lmeS5jdXN0b20iKTp2b2lkIDA7ZnVuY3Rpb24gTShlLHQpe2lmKCFlKXt2YXIgcj1uZXcgRXJyb3IoIlByb21pc2Ugd2FzIHJlamVjdGVkIHdpdGggYSBmYWxzeSB2YWx1ZSIpO3IucmVhc29uPWUsZT1yfXJldHVybiB0KGUpfXQucHJvbWlzaWZ5PWZ1bmN0aW9uKGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAib3JpZ2luYWwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBGdW5jdGlvbicpO2lmKEkmJmVbSV0pe3ZhciB0O2lmKCJmdW5jdGlvbiIhPXR5cGVvZih0PWVbSV0pKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAidXRpbC5wcm9taXNpZnkuY3VzdG9tIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24nKTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsSSx7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHR9ZnVuY3Rpb24gdCgpe2Zvcih2YXIgdCxyLG49bmV3IFByb21pc2UoKGZ1bmN0aW9uKGUsbil7dD1lLHI9bn0pKSxpPVtdLG89MDtvPGFyZ3VtZW50cy5sZW5ndGg7bysrKWkucHVzaChhcmd1bWVudHNbb10pO2kucHVzaCgoZnVuY3Rpb24oZSxuKXtlP3IoZSk6dChuKX0pKTt0cnl7ZS5hcHBseSh0aGlzLGkpfWNhdGNoKGUpe3IoZSl9cmV0dXJuIG59cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZih0LE9iamVjdC5nZXRQcm90b3R5cGVPZihlKSksSSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsSSx7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHQsbyhlKSl9LHQucHJvbWlzaWZ5LmN1c3RvbT1JLHQuY2FsbGJhY2tpZnk9ZnVuY3Rpb24oZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJvcmlnaW5hbCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEZ1bmN0aW9uJyk7ZnVuY3Rpb24gdCgpe2Zvcih2YXIgdD1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0LnB1c2goYXJndW1lbnRzW3JdKTt2YXIgaT10LnBvcCgpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBpKXRocm93IG5ldyBUeXBlRXJyb3IoIlRoZSBsYXN0IGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBGdW5jdGlvbiIpO3ZhciBvPXRoaXMsYT1mdW5jdGlvbigpe3JldHVybiBpLmFwcGx5KG8sYXJndW1lbnRzKX07ZS5hcHBseSh0aGlzLHQpLnRoZW4oKGZ1bmN0aW9uKGUpe24ubmV4dFRpY2soYS5iaW5kKG51bGwsbnVsbCxlKSl9KSwoZnVuY3Rpb24oZSl7bi5uZXh0VGljayhNLmJpbmQobnVsbCxlLGEpKX0pKX1yZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKHQsT2JqZWN0LmdldFByb3RvdHlwZU9mKGUpKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0LG8oZSkpLHR9fSwyNjc5OihlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJOSUwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBzLmRlZmF1bHR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInBhcnNlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZC5kZWZhdWx0fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJzdHJpbmdpZnkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmLmRlZmF1bHR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInYxIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5kZWZhdWx0fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJ2MyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGkuZGVmYXVsdH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwidjQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvLmRlZmF1bHR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInY1Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYS5kZWZhdWx0fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJ2YWxpZGF0ZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGMuZGVmYXVsdH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwidmVyc2lvbiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHUuZGVmYXVsdH19KTt2YXIgbj1sKHIoNTk5OSkpLGk9bChyKDgyMzEpKSxvPWwocig4NjQ3KSksYT1sKHIoNTAyNSkpLHM9bChyKDU5OTYpKSx1PWwocig4OTI4KSksYz1sKHIoNjE2MykpLGY9bChyKDI5ODIpKSxkPWwocigxNzI5KSk7ZnVuY3Rpb24gbChlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19fSw2NzkyOihlLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIDE0KyhlKzY0Pj4+OTw8NCkrMX1mdW5jdGlvbiBuKGUsdCl7dmFyIHI9KDY1NTM1JmUpKyg2NTUzNSZ0KTtyZXR1cm4oZT4+MTYpKyh0Pj4xNikrKHI+PjE2KTw8MTZ8NjU1MzUmcn1mdW5jdGlvbiBpKGUsdCxyLGksbyxhKXtyZXR1cm4gbigocz1uKG4odCxlKSxuKGksYSkpKTw8KHU9byl8cz4+PjMyLXUscik7dmFyIHMsdX1mdW5jdGlvbiBvKGUsdCxyLG4sbyxhLHMpe3JldHVybiBpKHQmcnx+dCZuLGUsdCxvLGEscyl9ZnVuY3Rpb24gYShlLHQscixuLG8sYSxzKXtyZXR1cm4gaSh0Jm58ciZ+bixlLHQsbyxhLHMpfWZ1bmN0aW9uIHMoZSx0LHIsbixvLGEscyl7cmV0dXJuIGkodF5yXm4sZSx0LG8sYSxzKX1mdW5jdGlvbiB1KGUsdCxyLG4sbyxhLHMpe3JldHVybiBpKHJeKHR8fm4pLGUsdCxvLGEscyl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dC5kZWZhdWx0PWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSl7dmFyIHQ9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KGUpKTtlPW5ldyBVaW50OEFycmF5KHQubGVuZ3RoKTtmb3IodmFyIGk9MDtpPHQubGVuZ3RoOysraSllW2ldPXQuY2hhckNvZGVBdChpKX1yZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLHI9MzIqZS5sZW5ndGgsbj0iMDEyMzQ1Njc4OWFiY2RlZiIsaT0wO2k8cjtpKz04KXt2YXIgbz1lW2k+PjVdPj4+aSUzMiYyNTUsYT1wYXJzZUludChuLmNoYXJBdChvPj4+NCYxNSkrbi5jaGFyQXQoMTUmbyksMTYpO3QucHVzaChhKX1yZXR1cm4gdH0oZnVuY3Rpb24oZSx0KXtlW3Q+PjVdfD0xMjg8PHQlMzIsZVtyKHQpLTFdPXQ7Zm9yKHZhciBpPTE3MzI1ODQxOTMsYz0tMjcxNzMzODc5LGY9LTE3MzI1ODQxOTQsZD0yNzE3MzM4NzgsbD0wO2w8ZS5sZW5ndGg7bCs9MTYpe3ZhciBoPWkscD1jLGI9Zix5PWQ7aT1vKGksYyxmLGQsZVtsXSw3LC02ODA4NzY5MzYpLGQ9byhkLGksYyxmLGVbbCsxXSwxMiwtMzg5NTY0NTg2KSxmPW8oZixkLGksYyxlW2wrMl0sMTcsNjA2MTA1ODE5KSxjPW8oYyxmLGQsaSxlW2wrM10sMjIsLTEwNDQ1MjUzMzApLGk9byhpLGMsZixkLGVbbCs0XSw3LC0xNzY0MTg4OTcpLGQ9byhkLGksYyxmLGVbbCs1XSwxMiwxMjAwMDgwNDI2KSxmPW8oZixkLGksYyxlW2wrNl0sMTcsLTE0NzMyMzEzNDEpLGM9byhjLGYsZCxpLGVbbCs3XSwyMiwtNDU3MDU5ODMpLGk9byhpLGMsZixkLGVbbCs4XSw3LDE3NzAwMzU0MTYpLGQ9byhkLGksYyxmLGVbbCs5XSwxMiwtMTk1ODQxNDQxNyksZj1vKGYsZCxpLGMsZVtsKzEwXSwxNywtNDIwNjMpLGM9byhjLGYsZCxpLGVbbCsxMV0sMjIsLTE5OTA0MDQxNjIpLGk9byhpLGMsZixkLGVbbCsxMl0sNywxODA0NjAzNjgyKSxkPW8oZCxpLGMsZixlW2wrMTNdLDEyLC00MDM0MTEwMSksZj1vKGYsZCxpLGMsZVtsKzE0XSwxNywtMTUwMjAwMjI5MCksaT1hKGksYz1vKGMsZixkLGksZVtsKzE1XSwyMiwxMjM2NTM1MzI5KSxmLGQsZVtsKzFdLDUsLTE2NTc5NjUxMCksZD1hKGQsaSxjLGYsZVtsKzZdLDksLTEwNjk1MDE2MzIpLGY9YShmLGQsaSxjLGVbbCsxMV0sMTQsNjQzNzE3NzEzKSxjPWEoYyxmLGQsaSxlW2xdLDIwLC0zNzM4OTczMDIpLGk9YShpLGMsZixkLGVbbCs1XSw1LC03MDE1NTg2OTEpLGQ9YShkLGksYyxmLGVbbCsxMF0sOSwzODAxNjA4MyksZj1hKGYsZCxpLGMsZVtsKzE1XSwxNCwtNjYwNDc4MzM1KSxjPWEoYyxmLGQsaSxlW2wrNF0sMjAsLTQwNTUzNzg0OCksaT1hKGksYyxmLGQsZVtsKzldLDUsNTY4NDQ2NDM4KSxkPWEoZCxpLGMsZixlW2wrMTRdLDksLTEwMTk4MDM2OTApLGY9YShmLGQsaSxjLGVbbCszXSwxNCwtMTg3MzYzOTYxKSxjPWEoYyxmLGQsaSxlW2wrOF0sMjAsMTE2MzUzMTUwMSksaT1hKGksYyxmLGQsZVtsKzEzXSw1LC0xNDQ0NjgxNDY3KSxkPWEoZCxpLGMsZixlW2wrMl0sOSwtNTE0MDM3ODQpLGY9YShmLGQsaSxjLGVbbCs3XSwxNCwxNzM1MzI4NDczKSxpPXMoaSxjPWEoYyxmLGQsaSxlW2wrMTJdLDIwLC0xOTI2NjA3NzM0KSxmLGQsZVtsKzVdLDQsLTM3ODU1OCksZD1zKGQsaSxjLGYsZVtsKzhdLDExLC0yMDIyNTc0NDYzKSxmPXMoZixkLGksYyxlW2wrMTFdLDE2LDE4MzkwMzA1NjIpLGM9cyhjLGYsZCxpLGVbbCsxNF0sMjMsLTM1MzA5NTU2KSxpPXMoaSxjLGYsZCxlW2wrMV0sNCwtMTUzMDk5MjA2MCksZD1zKGQsaSxjLGYsZVtsKzRdLDExLDEyNzI4OTMzNTMpLGY9cyhmLGQsaSxjLGVbbCs3XSwxNiwtMTU1NDk3NjMyKSxjPXMoYyxmLGQsaSxlW2wrMTBdLDIzLC0xMDk0NzMwNjQwKSxpPXMoaSxjLGYsZCxlW2wrMTNdLDQsNjgxMjc5MTc0KSxkPXMoZCxpLGMsZixlW2xdLDExLC0zNTg1MzcyMjIpLGY9cyhmLGQsaSxjLGVbbCszXSwxNiwtNzIyNTIxOTc5KSxjPXMoYyxmLGQsaSxlW2wrNl0sMjMsNzYwMjkxODkpLGk9cyhpLGMsZixkLGVbbCs5XSw0LC02NDAzNjQ0ODcpLGQ9cyhkLGksYyxmLGVbbCsxMl0sMTEsLTQyMTgxNTgzNSksZj1zKGYsZCxpLGMsZVtsKzE1XSwxNiw1MzA3NDI1MjApLGk9dShpLGM9cyhjLGYsZCxpLGVbbCsyXSwyMywtOTk1MzM4NjUxKSxmLGQsZVtsXSw2LC0xOTg2MzA4NDQpLGQ9dShkLGksYyxmLGVbbCs3XSwxMCwxMTI2ODkxNDE1KSxmPXUoZixkLGksYyxlW2wrMTRdLDE1LC0xNDE2MzU0OTA1KSxjPXUoYyxmLGQsaSxlW2wrNV0sMjEsLTU3NDM0MDU1KSxpPXUoaSxjLGYsZCxlW2wrMTJdLDYsMTcwMDQ4NTU3MSksZD11KGQsaSxjLGYsZVtsKzNdLDEwLC0xODk0OTg2NjA2KSxmPXUoZixkLGksYyxlW2wrMTBdLDE1LC0xMDUxNTIzKSxjPXUoYyxmLGQsaSxlW2wrMV0sMjEsLTIwNTQ5MjI3OTkpLGk9dShpLGMsZixkLGVbbCs4XSw2LDE4NzMzMTMzNTkpLGQ9dShkLGksYyxmLGVbbCsxNV0sMTAsLTMwNjExNzQ0KSxmPXUoZixkLGksYyxlW2wrNl0sMTUsLTE1NjAxOTgzODApLGM9dShjLGYsZCxpLGVbbCsxM10sMjEsMTMwOTE1MTY0OSksaT11KGksYyxmLGQsZVtsKzRdLDYsLTE0NTUyMzA3MCksZD11KGQsaSxjLGYsZVtsKzExXSwxMCwtMTEyMDIxMDM3OSksZj11KGYsZCxpLGMsZVtsKzJdLDE1LDcxODc4NzI1OSksYz11KGMsZixkLGksZVtsKzldLDIxLC0zNDM0ODU1NTEpLGk9bihpLGgpLGM9bihjLHApLGY9bihmLGIpLGQ9bihkLHkpfXJldHVybltpLGMsZixkXX0oZnVuY3Rpb24oZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybltdO2Zvcih2YXIgdD04KmUubGVuZ3RoLG49bmV3IFVpbnQzMkFycmF5KHIodCkpLGk9MDtpPHQ7aSs9OCluW2k+PjVdfD0oMjU1JmVbaS84XSk8PGklMzI7cmV0dXJuIG59KGUpLDgqZS5sZW5ndGgpKX19LDE3ODg6KGUsdCk9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIHI9e3JhbmRvbVVVSUQ6InVuZGVmaW5lZCIhPXR5cGVvZiBjcnlwdG8mJmNyeXB0by5yYW5kb21VVUlEJiZjcnlwdG8ucmFuZG9tVVVJRC5iaW5kKGNyeXB0byl9O3QuZGVmYXVsdD1yfSw1OTk2OihlLHQpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwLHQuZGVmYXVsdD0iMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIn0sMTcyOTooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBuLGk9KG49cig2MTYzKSkmJm4uX19lc01vZHVsZT9uOntkZWZhdWx0Om59O3QuZGVmYXVsdD1mdW5jdGlvbihlKXtpZighKDAsaS5kZWZhdWx0KShlKSl0aHJvdyBUeXBlRXJyb3IoIkludmFsaWQgVVVJRCIpO3ZhciB0LHI9bmV3IFVpbnQ4QXJyYXkoMTYpO3JldHVybiByWzBdPSh0PXBhcnNlSW50KGUuc2xpY2UoMCw4KSwxNikpPj4+MjQsclsxXT10Pj4+MTYmMjU1LHJbMl09dD4+PjgmMjU1LHJbM109MjU1JnQscls0XT0odD1wYXJzZUludChlLnNsaWNlKDksMTMpLDE2KSk+Pj44LHJbNV09MjU1JnQscls2XT0odD1wYXJzZUludChlLnNsaWNlKDE0LDE4KSwxNikpPj4+OCxyWzddPTI1NSZ0LHJbOF09KHQ9cGFyc2VJbnQoZS5zbGljZSgxOSwyMyksMTYpKT4+Pjgscls5XT0yNTUmdCxyWzEwXT0odD1wYXJzZUludChlLnNsaWNlKDI0LDM2KSwxNikpLzEwOTk1MTE2Mjc3NzYmMjU1LHJbMTFdPXQvNDI5NDk2NzI5NiYyNTUsclsxMl09dD4+PjI0JjI1NSxyWzEzXT10Pj4+MTYmMjU1LHJbMTRdPXQ+Pj44JjI1NSxyWzE1XT0yNTUmdCxyfX0sNzMwMDooZSx0KT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMCx0LmRlZmF1bHQ9L14oPzpbMC05YS1mXXs4fS1bMC05YS1mXXs0fS1bMS01XVswLTlhLWZdezN9LVs4OWFiXVswLTlhLWZdezN9LVswLTlhLWZdezEyfXwwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDApJC9pfSw0NDAyOihlLHQpPT57InVzZSBzdHJpY3QiO3ZhciByO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9ZnVuY3Rpb24oKXtpZighciYmIShyPSJ1bmRlZmluZWQiIT10eXBlb2YgY3J5cHRvJiZjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzJiZjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzLmJpbmQoY3J5cHRvKSkpdGhyb3cgbmV3IEVycm9yKCJjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKCkgbm90IHN1cHBvcnRlZC4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS91dWlkanMvdXVpZCNnZXRyYW5kb212YWx1ZXMtbm90LXN1cHBvcnRlZCIpO3JldHVybiByKG4pfTt2YXIgbj1uZXcgVWludDhBcnJheSgxNil9LDI3MDI6KGUsdCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlLHQscixuKXtzd2l0Y2goZSl7Y2FzZSAwOnJldHVybiB0JnJefnQmbjtjYXNlIDE6Y2FzZSAzOnJldHVybiB0XnJebjtjYXNlIDI6cmV0dXJuIHQmcl50Jm5eciZufX1mdW5jdGlvbiBuKGUsdCl7cmV0dXJuIGU8PHR8ZT4+PjMyLXR9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dC5kZWZhdWx0PWZ1bmN0aW9uKGUpe3ZhciB0PVsxNTE4NTAwMjQ5LDE4NTk3NzUzOTMsMjQwMDk1OTcwOCwzMzk1NDY5NzgyXSxpPVsxNzMyNTg0MTkzLDQwMjMyMzM0MTcsMjU2MjM4MzEwMiwyNzE3MzM4NzgsMzI4NTM3NzUyMF07aWYoInN0cmluZyI9PXR5cGVvZiBlKXt2YXIgbz11bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoZSkpO2U9W107Zm9yKHZhciBhPTA7YTxvLmxlbmd0aDsrK2EpZS5wdXNoKG8uY2hhckNvZGVBdChhKSl9ZWxzZSBBcnJheS5pc0FycmF5KGUpfHwoZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlKSk7ZS5wdXNoKDEyOCk7Zm9yKHZhciBzPWUubGVuZ3RoLzQrMix1PU1hdGguY2VpbChzLzE2KSxjPW5ldyBBcnJheSh1KSxmPTA7Zjx1OysrZil7Zm9yKHZhciBkPW5ldyBVaW50MzJBcnJheSgxNiksbD0wO2w8MTY7KytsKWRbbF09ZVs2NCpmKzQqbF08PDI0fGVbNjQqZis0KmwrMV08PDE2fGVbNjQqZis0KmwrMl08PDh8ZVs2NCpmKzQqbCszXTtjW2ZdPWR9Y1t1LTFdWzE0XT04KihlLmxlbmd0aC0xKS9NYXRoLnBvdygyLDMyKSxjW3UtMV1bMTRdPU1hdGguZmxvb3IoY1t1LTFdWzE0XSksY1t1LTFdWzE1XT04KihlLmxlbmd0aC0xKSY0Mjk0OTY3Mjk1O2Zvcih2YXIgaD0wO2g8dTsrK2gpe2Zvcih2YXIgcD1uZXcgVWludDMyQXJyYXkoODApLGI9MDtiPDE2OysrYilwW2JdPWNbaF1bYl07Zm9yKHZhciB5PTE2O3k8ODA7Kyt5KXBbeV09bihwW3ktM11ecFt5LThdXnBbeS0xNF1ecFt5LTE2XSwxKTtmb3IodmFyIG09aVswXSx2PWlbMV0sZz1pWzJdLHc9aVszXSxBPWlbNF0saz0wO2s8ODA7KytrKXt2YXIgXz1NYXRoLmZsb29yKGsvMjApLFM9bihtLDUpK3IoXyx2LGcsdykrQSt0W19dK3Bba10+Pj4wO0E9dyx3PWcsZz1uKHYsMzApPj4+MCx2PW0sbT1TfWlbMF09aVswXSttPj4+MCxpWzFdPWlbMV0rdj4+PjAsaVsyXT1pWzJdK2c+Pj4wLGlbM109aVszXSt3Pj4+MCxpWzRdPWlbNF0rQT4+PjB9cmV0dXJuW2lbMF0+PjI0JjI1NSxpWzBdPj4xNiYyNTUsaVswXT4+OCYyNTUsMjU1JmlbMF0saVsxXT4+MjQmMjU1LGlbMV0+PjE2JjI1NSxpWzFdPj44JjI1NSwyNTUmaVsxXSxpWzJdPj4yNCYyNTUsaVsyXT4+MTYmMjU1LGlbMl0+PjgmMjU1LDI1NSZpWzJdLGlbM10+PjI0JjI1NSxpWzNdPj4xNiYyNTUsaVszXT4+OCYyNTUsMjU1JmlbM10saVs0XT4+MjQmMjU1LGlbNF0+PjE2JjI1NSxpWzRdPj44JjI1NSwyNTUmaVs0XV19fSwyOTgyOihlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDAsdC51bnNhZmVTdHJpbmdpZnk9cztmb3IodmFyIG4saT0obj1yKDYxNjMpKSYmbi5fX2VzTW9kdWxlP246e2RlZmF1bHQ6bn0sbz1bXSxhPTA7YTwyNTY7KythKW8ucHVzaCgoYSsyNTYpLnRvU3RyaW5nKDE2KS5zbGljZSgxKSk7ZnVuY3Rpb24gcyhlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MDtyZXR1cm4ob1tlW3QrMF1dK29bZVt0KzFdXStvW2VbdCsyXV0rb1tlW3QrM11dKyItIitvW2VbdCs0XV0rb1tlW3QrNV1dKyItIitvW2VbdCs2XV0rb1tlW3QrN11dKyItIitvW2VbdCs4XV0rb1tlW3QrOV1dKyItIitvW2VbdCsxMF1dK29bZVt0KzExXV0rb1tlW3QrMTJdXStvW2VbdCsxM11dK29bZVt0KzE0XV0rb1tlW3QrMTVdXSkudG9Mb3dlckNhc2UoKX10LmRlZmF1bHQ9ZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOjAscj1zKGUsdCk7aWYoISgwLGkuZGVmYXVsdCkocikpdGhyb3cgVHlwZUVycm9yKCJTdHJpbmdpZmllZCBVVUlEIGlzIGludmFsaWQiKTtyZXR1cm4gcn19LDU5OTk6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDt2YXIgbixpLG8sYT0obj1yKDQ0MDIpKSYmbi5fX2VzTW9kdWxlP246e2RlZmF1bHQ6bn0scz1yKDI5ODIpLHU9MCxjPTA7dC5kZWZhdWx0PWZ1bmN0aW9uKGUsdCxyKXt2YXIgbj10JiZyfHwwLGY9dHx8bmV3IEFycmF5KDE2KSxkPShlPWV8fHt9KS5ub2RlfHxpLGw9dm9pZCAwIT09ZS5jbG9ja3NlcT9lLmNsb2Nrc2VxOm87aWYobnVsbD09ZHx8bnVsbD09bCl7dmFyIGg9ZS5yYW5kb218fChlLnJuZ3x8YS5kZWZhdWx0KSgpO251bGw9PWQmJihkPWk9WzF8aFswXSxoWzFdLGhbMl0saFszXSxoWzRdLGhbNV1dKSxudWxsPT1sJiYobD1vPTE2MzgzJihoWzZdPDw4fGhbN10pKX12YXIgcD12b2lkIDAhPT1lLm1zZWNzP2UubXNlY3M6RGF0ZS5ub3coKSxiPXZvaWQgMCE9PWUubnNlY3M/ZS5uc2VjczpjKzEseT1wLXUrKGItYykvMWU0O2lmKHk8MCYmdm9pZCAwPT09ZS5jbG9ja3NlcSYmKGw9bCsxJjE2MzgzKSwoeTwwfHxwPnUpJiZ2b2lkIDA9PT1lLm5zZWNzJiYoYj0wKSxiPj0xZTQpdGhyb3cgbmV3IEVycm9yKCJ1dWlkLnYxKCk6IENhbid0IGNyZWF0ZSBtb3JlIHRoYW4gMTBNIHV1aWRzL3NlYyIpO3U9cCxjPWIsbz1sO3ZhciBtPSgxZTQqKDI2ODQzNTQ1NSYocCs9MTIyMTkyOTI4ZTUpKStiKSU0Mjk0OTY3Mjk2O2ZbbisrXT1tPj4+MjQmMjU1LGZbbisrXT1tPj4+MTYmMjU1LGZbbisrXT1tPj4+OCYyNTUsZltuKytdPTI1NSZtO3ZhciB2PXAvNDI5NDk2NzI5NioxZTQmMjY4NDM1NDU1O2ZbbisrXT12Pj4+OCYyNTUsZltuKytdPTI1NSZ2LGZbbisrXT12Pj4+MjQmMTV8MTYsZltuKytdPXY+Pj4xNiYyNTUsZltuKytdPWw+Pj44fDEyOCxmW24rK109MjU1Jmw7Zm9yKHZhciBnPTA7Zzw2OysrZylmW24rZ109ZFtnXTtyZXR1cm4gdHx8KDAscy51bnNhZmVTdHJpbmdpZnkpKGYpfX0sODIzMTooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBuPW8ocig2MTI1KSksaT1vKHIoNjc5MikpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fXZhciBhPSgwLG4uZGVmYXVsdCkoInYzIiw0OCxpLmRlZmF1bHQpO3QuZGVmYXVsdD1hfSw2MTI1OihlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuVVJMPXQuRE5TPXZvaWQgMCx0LmRlZmF1bHQ9ZnVuY3Rpb24oZSx0LHIpe2Z1bmN0aW9uIG4oZSxuLGEscyl7dmFyIHU7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYoZT1mdW5jdGlvbihlKXtlPXVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChlKSk7Zm9yKHZhciB0PVtdLHI9MDtyPGUubGVuZ3RoOysrcil0LnB1c2goZS5jaGFyQ29kZUF0KHIpKTtyZXR1cm4gdH0oZSkpLCJzdHJpbmciPT10eXBlb2YgbiYmKG49KDAsby5kZWZhdWx0KShuKSksMTYhPT0obnVsbD09PSh1PW4pfHx2b2lkIDA9PT11P3ZvaWQgMDp1Lmxlbmd0aCkpdGhyb3cgVHlwZUVycm9yKCJOYW1lc3BhY2UgbXVzdCBiZSBhcnJheS1saWtlICgxNiBpdGVyYWJsZSBpbnRlZ2VyIHZhbHVlcywgMC0yNTUpIik7dmFyIGM9bmV3IFVpbnQ4QXJyYXkoMTYrZS5sZW5ndGgpO2lmKGMuc2V0KG4pLGMuc2V0KGUsbi5sZW5ndGgpLChjPXIoYykpWzZdPTE1JmNbNl18dCxjWzhdPTYzJmNbOF18MTI4LGEpe3M9c3x8MDtmb3IodmFyIGY9MDtmPDE2OysrZilhW3MrZl09Y1tmXTtyZXR1cm4gYX1yZXR1cm4oMCxpLnVuc2FmZVN0cmluZ2lmeSkoYyl9dHJ5e24ubmFtZT1lfWNhdGNoKGUpe31yZXR1cm4gbi5ETlM9YSxuLlVSTD1zLG59O3ZhciBuLGk9cigyOTgyKSxvPShuPXIoMTcyOSkpJiZuLl9fZXNNb2R1bGU/bjp7ZGVmYXVsdDpufSxhPSI2YmE3YjgxMC05ZGFkLTExZDEtODBiNC0wMGMwNGZkNDMwYzgiO3QuRE5TPWE7dmFyIHM9IjZiYTdiODExLTlkYWQtMTFkMS04MGI0LTAwYzA0ZmQ0MzBjOCI7dC5VUkw9c30sODY0NzooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBuPWEocigxNzg4KSksaT1hKHIoNDQwMikpLG89cigyOTgyKTtmdW5jdGlvbiBhKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX10LmRlZmF1bHQ9ZnVuY3Rpb24oZSx0LHIpe2lmKG4uZGVmYXVsdC5yYW5kb21VVUlEJiYhdCYmIWUpcmV0dXJuIG4uZGVmYXVsdC5yYW5kb21VVUlEKCk7dmFyIGE9KGU9ZXx8e30pLnJhbmRvbXx8KGUucm5nfHxpLmRlZmF1bHQpKCk7aWYoYVs2XT0xNSZhWzZdfDY0LGFbOF09NjMmYVs4XXwxMjgsdCl7cj1yfHwwO2Zvcih2YXIgcz0wO3M8MTY7KytzKXRbcitzXT1hW3NdO3JldHVybiB0fXJldHVybigwLG8udW5zYWZlU3RyaW5naWZ5KShhKX19LDUwMjU6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDt2YXIgbj1vKHIoNjEyNSkpLGk9byhyKDI3MDIpKTtmdW5jdGlvbiBvKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX12YXIgYT0oMCxuLmRlZmF1bHQpKCJ2NSIsODAsaS5kZWZhdWx0KTt0LmRlZmF1bHQ9YX0sNjE2MzooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBuLGk9KG49cig3MzAwKSkmJm4uX19lc01vZHVsZT9uOntkZWZhdWx0Om59O3QuZGVmYXVsdD1mdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJmkuZGVmYXVsdC50ZXN0KGUpfX0sODkyODooZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBuLGk9KG49cig2MTYzKSkmJm4uX19lc01vZHVsZT9uOntkZWZhdWx0Om59O3QuZGVmYXVsdD1mdW5jdGlvbihlKXtpZighKDAsaS5kZWZhdWx0KShlKSl0aHJvdyBUeXBlRXJyb3IoIkludmFsaWQgVVVJRCIpO3JldHVybiBwYXJzZUludChlLnNsaWNlKDE0LDE1KSwxNil9fSw4MzI1OmU9PnsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uIGUodCxyKXt2YXIgbixpPTAsbz0wLGE9cj1yfHwwLHM9dC5sZW5ndGg7ZG97aWYoYT49cyl0aHJvdyBlLmJ5dGVzPTAsbmV3IFJhbmdlRXJyb3IoIkNvdWxkIG5vdCBkZWNvZGUgdmFyaW50Iik7bj10W2ErK10saSs9bzwyOD8oMTI3Jm4pPDxvOigxMjcmbikqTWF0aC5wb3coMixvKSxvKz03fXdoaWxlKG4+PTEyOCk7cmV0dXJuIGUuYnl0ZXM9YS1yLGl9fSwyNjk5OmU9PnsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uIGUocixuLGkpe249bnx8W107Zm9yKHZhciBvPWk9aXx8MDtyPj10OyluW2krK109MjU1JnJ8MTI4LHIvPTEyODtmb3IoOy0xMjgmcjspbltpKytdPTI1NSZyfDEyOCxyPj4+PTc7cmV0dXJuIG5baV09MHxyLGUuYnl0ZXM9aS1vKzEsbn07dmFyIHQ9TWF0aC5wb3coMiwzMSl9LDY2NTc6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e2VuY29kZTpyKDI2OTkpLGRlY29kZTpyKDgzMjUpLGVuY29kaW5nTGVuZ3RoOnIoNzQ5MCl9fSw3NDkwOmU9PnsidXNlIHN0cmljdCI7dmFyIHQ9TWF0aC5wb3coMiw3KSxyPU1hdGgucG93KDIsMTQpLG49TWF0aC5wb3coMiwyMSksaT1NYXRoLnBvdygyLDI4KSxvPU1hdGgucG93KDIsMzUpLGE9TWF0aC5wb3coMiw0Mikscz1NYXRoLnBvdygyLDQ5KSx1PU1hdGgucG93KDIsNTYpLGM9TWF0aC5wb3coMiw2Myk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBlPHQ/MTplPHI/MjplPG4/MzplPGk/NDplPG8/NTplPGE/NjplPHM/NzplPHU/ODplPGM/OToxMH19LDExNTg6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbixpPXIoODg0NykocigzMzU1KSk7aWYoIm9iamVjdCI9PT0oInVuZGVmaW5lZCI9PXR5cGVvZiBnbG9iYWxUaGlzPyJ1bmRlZmluZWQiOigwLGkuZGVmYXVsdCkoZ2xvYmFsVGhpcykpKW49Z2xvYmFsVGhpcztlbHNlIHRyeXtuPXIoNjQ2NCl9Y2F0Y2goZSl7fWZpbmFsbHl7aWYobnx8InVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3d8fChuPXdpbmRvdyksIW4pdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgZGV0ZXJtaW5lIGdsb2JhbCB0aGlzIil9dmFyIG89bi5XZWJTb2NrZXR8fG4uTW96V2ViU29ja2V0LGE9cig1NzM1KTtmdW5jdGlvbiBzKGUsdCl7cmV0dXJuIHQ/bmV3IG8oZSx0KTpuZXcgbyhlKX1vJiZbIkNPTk5FQ1RJTkciLCJPUEVOIiwiQ0xPU0lORyIsIkNMT1NFRCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShzLGUse2dldDpmdW5jdGlvbigpe3JldHVybiBvW2VdfX0pfSkpLGUuZXhwb3J0cz17dzNjd2Vic29ja2V0Om8/czpudWxsLHZlcnNpb246YX19LDU3MzU6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9cig5Nzk0KS52ZXJzaW9ufSwyMzM3OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4MTg0KSxpPXIoMzYwNCksbz1yKDU5MyksYT1yKDM4MjApLHM9bygiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyIpLHU9cigxMTkxKSgpLGM9InVuZGVmaW5lZCI9PXR5cGVvZiBnbG9iYWxUaGlzP3IuZzpnbG9iYWxUaGlzLGY9aSgpLGQ9bygiU3RyaW5nLnByb3RvdHlwZS5zbGljZSIpLGw9e30saD1PYmplY3QuZ2V0UHJvdG90eXBlT2Y7dSYmYSYmaCYmbihmLChmdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgY1tlXSl7dmFyIHQ9bmV3IGNbZV07aWYoU3ltYm9sLnRvU3RyaW5nVGFnIGluIHQpe3ZhciByPWgodCksbj1hKHIsU3ltYm9sLnRvU3RyaW5nVGFnKTtpZighbil7dmFyIGk9aChyKTtuPWEoaSxTeW1ib2wudG9TdHJpbmdUYWcpfWxbZV09bi5nZXR9fX0pKTt2YXIgcD1yKDg5MTUpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4hIXAoZSkmJih1JiZTeW1ib2wudG9TdHJpbmdUYWcgaW4gZT9mdW5jdGlvbihlKXt2YXIgdD0hMTtyZXR1cm4gbihsLChmdW5jdGlvbihyLG4pe2lmKCF0KXRyeXt2YXIgaT1yLmNhbGwoZSk7aT09PW4mJih0PWkpfWNhdGNoKGUpe319KSksdH0oZSk6ZChzKGUpLDgsLTEpKX19LDEzNTc6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg5OTIpLGk9cig4NDE5KSxvPXIoMzEwMyksYT1yKDkxMjIpLHM9cig3MzIxKSx1PSJhcHBsaWNhdGlvbi9qc29uIixjPWZ1bmN0aW9uKCl7fTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LHIpe2lmKCFlfHwic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigibXVzdCBzcGVjaWZ5IGEgVVJMIik7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQmJihyPXQsdD17fSksciYmImZ1bmN0aW9uIiE9dHlwZW9mIHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiZXhwZWN0ZWQgY2IgdG8gYmUgdW5kZWZpbmVkIG9yIGEgZnVuY3Rpb24iKTtyPXJ8fGM7dmFyIGY9KHQ9dHx8e30pLmpzb24/Impzb24iOiJ0ZXh0IixkPSh0PW8oe3Jlc3BvbnNlVHlwZTpmfSx0KSkuaGVhZGVyc3x8e30sbD0odC5tZXRob2R8fCJHRVQiKS50b1VwcGVyQ2FzZSgpLGg9dC5xdWVyeTtyZXR1cm4gaCYmKCJzdHJpbmciIT10eXBlb2YgaCYmKGg9bi5zdHJpbmdpZnkoaCkpLGU9aShlLGgpKSwianNvbiI9PT10LnJlc3BvbnNlVHlwZSYmYShkLCJBY2NlcHQiLHUpLHQuanNvbiYmIkdFVCIhPT1sJiYiSEVBRCIhPT1sJiYoYShkLCJDb250ZW50LVR5cGUiLHUpLHQuYm9keT1KU09OLnN0cmluZ2lmeSh0LmJvZHkpKSx0Lm1ldGhvZD1sLHQudXJsPWUsdC5oZWFkZXJzPWQsZGVsZXRlIHQucXVlcnksZGVsZXRlIHQuanNvbixzKHQscil9fSw5MTIyOmU9PnsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxyKXt2YXIgbj10LnRvTG93ZXJDYXNlKCk7ZVt0XXx8ZVtuXXx8KGVbdF09cil9fSw5ODAwOmU9PnsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ/e3N0YXR1c0NvZGU6dC5zdGF0dXNDb2RlLGhlYWRlcnM6dC5oZWFkZXJzLG1ldGhvZDplLm1ldGhvZCx1cmw6ZS51cmwscmF3UmVxdWVzdDp0LnJhd1JlcXVlc3Q/dC5yYXdSZXF1ZXN0OnR9Om51bGx9fSw3MzIxOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cigzNDYpLGk9cig5ODAwKSxvPWZ1bmN0aW9uKCl7fTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtkZWxldGUgZS51cmk7dmFyIHI9ITE7Impzb24iPT09ZS5yZXNwb25zZVR5cGUmJihlLnJlc3BvbnNlVHlwZT0idGV4dCIscj0hMCk7dmFyIGE9bihlLChmdW5jdGlvbihuLGEscyl7aWYociYmIW4pdHJ5e3ZhciB1PWEucmF3UmVxdWVzdC5yZXNwb25zZVRleHQ7cz1KU09OLnBhcnNlKHUpfWNhdGNoKGUpe249ZX1hPWkoZSxhKSx0KG4sbj9udWxsOnMsYSksdD1vfSkpLHM9YS5vbmFib3J0O3JldHVybiBhLm9uYWJvcnQ9ZnVuY3Rpb24oKXt2YXIgZT1zLmFwcGx5KGEsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSk7cmV0dXJuIHQobmV3IEVycm9yKCJYSFIgQWJvcnRlZCIpKSx0PW8sZX0sYX19LDg5OTI6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpKHIoMzM1NSkpLGk9cigzNjIxKSxvPXIoMzEwMyksYT1yKDM0KTtmdW5jdGlvbiBzKGUsdCl7cmV0dXJuIHQuZW5jb2RlP3Quc3RyaWN0P2koZSk6ZW5jb2RlVVJJQ29tcG9uZW50KGUpOmV9ZnVuY3Rpb24gdShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLnNvcnQoKToib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkoZSk/dShPYmplY3Qua2V5cyhlKSkuc29ydCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gTnVtYmVyKGUpLU51bWJlcih0KX0pKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdfSkpOmV9ZnVuY3Rpb24gYyhlKXt2YXIgdD1lLmluZGV4T2YoIj8iKTtyZXR1cm4tMT09PXQ/IiI6ZS5zbGljZSh0KzEpfWZ1bmN0aW9uIGYoZSx0KXt2YXIgcj1mdW5jdGlvbihlKXt2YXIgdDtzd2l0Y2goZS5hcnJheUZvcm1hdCl7Y2FzZSJpbmRleCI6cmV0dXJuIGZ1bmN0aW9uKGUscixuKXt0PS9cWyhcZCopXF0kLy5leGVjKGUpLGU9ZS5yZXBsYWNlKC9cW1xkKlxdJC8sIiIpLHQ/KHZvaWQgMD09PW5bZV0mJihuW2VdPXt9KSxuW2VdW3RbMV1dPXIpOm5bZV09cn07Y2FzZSJicmFja2V0IjpyZXR1cm4gZnVuY3Rpb24oZSxyLG4pe3Q9LyhcW1xdKSQvLmV4ZWMoZSksZT1lLnJlcGxhY2UoL1xbXF0kLywiIiksdD92b2lkIDAhPT1uW2VdP25bZV09W10uY29uY2F0KG5bZV0scik6bltlXT1bcl06bltlXT1yfTtkZWZhdWx0OnJldHVybiBmdW5jdGlvbihlLHQscil7dm9pZCAwIT09cltlXT9yW2VdPVtdLmNvbmNhdChyW2VdLHQpOnJbZV09dH19fSh0PW8oe2FycmF5Rm9ybWF0OiJub25lIn0sdCkpLGk9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGU/aTooZT1lLnRyaW0oKS5yZXBsYWNlKC9eWz8jJl0vLCIiKSk/KGUuc3BsaXQoIiYiKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UoL1wrL2csIiAiKS5zcGxpdCgiPSIpLG49dC5zaGlmdCgpLG89dC5sZW5ndGg+MD90LmpvaW4oIj0iKTp2b2lkIDA7bz12b2lkIDA9PT1vP251bGw6YShvKSxyKGEobiksbyxpKX0pKSxPYmplY3Qua2V5cyhpKS5zb3J0KCkucmVkdWNlKChmdW5jdGlvbihlLHQpe3ZhciByPWlbdF07cmV0dXJuIEJvb2xlYW4ocikmJiJvYmplY3QiPT09KDAsbi5kZWZhdWx0KShyKSYmIUFycmF5LmlzQXJyYXkocik/ZVt0XT11KHIpOmVbdF09cixlfSksT2JqZWN0LmNyZWF0ZShudWxsKSkpOml9dC5leHRyYWN0PWMsdC5wYXJzZT1mLHQuc3RyaW5naWZ5PWZ1bmN0aW9uKGUsdCl7ITE9PT0odD1vKHtlbmNvZGU6ITAsc3RyaWN0OiEwLGFycmF5Rm9ybWF0OiJub25lIn0sdCkpLnNvcnQmJih0LnNvcnQ9ZnVuY3Rpb24oKXt9KTt2YXIgcj1mdW5jdGlvbihlKXtzd2l0Y2goZS5hcnJheUZvcm1hdCl7Y2FzZSJpbmRleCI6cmV0dXJuIGZ1bmN0aW9uKHQscixuKXtyZXR1cm4gbnVsbD09PXI/W3ModCxlKSwiWyIsbiwiXSJdLmpvaW4oIiIpOltzKHQsZSksIlsiLHMobixlKSwiXT0iLHMocixlKV0uam9pbigiIil9O2Nhc2UiYnJhY2tldCI6cmV0dXJuIGZ1bmN0aW9uKHQscil7cmV0dXJuIG51bGw9PT1yP3ModCxlKTpbcyh0LGUpLCJbXT0iLHMocixlKV0uam9pbigiIil9O2RlZmF1bHQ6cmV0dXJuIGZ1bmN0aW9uKHQscil7cmV0dXJuIG51bGw9PT1yP3ModCxlKTpbcyh0LGUpLCI9IixzKHIsZSldLmpvaW4oIiIpfX19KHQpO3JldHVybiBlP09iamVjdC5rZXlzKGUpLnNvcnQodC5zb3J0KS5tYXAoKGZ1bmN0aW9uKG4pe3ZhciBpPWVbbl07aWYodm9pZCAwPT09aSlyZXR1cm4iIjtpZihudWxsPT09aSlyZXR1cm4gcyhuLHQpO2lmKEFycmF5LmlzQXJyYXkoaSkpe3ZhciBvPVtdO3JldHVybiBpLnNsaWNlKCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dm9pZCAwIT09ZSYmby5wdXNoKHIobixlLG8ubGVuZ3RoKSl9KSksby5qb2luKCImIil9cmV0dXJuIHMobix0KSsiPSIrcyhpLHQpfSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUubGVuZ3RoPjB9KSkuam9pbigiJiIpOiIifSx0LnBhcnNlVXJsPWZ1bmN0aW9uKGUsdCl7cmV0dXJue3VybDplLnNwbGl0KCI/IilbMF18fCIiLHF1ZXJ5OmYoYyhlKSx0KX19fSwzNjIxOmU9PnsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoZSkucmVwbGFjZSgvWyEnKCkqXS9nLChmdW5jdGlvbihlKXtyZXR1cm4iJSIrZS5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfSkpfX0sMzQ2OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cigyOTQ4KSxpPXIoNDMzOSksbz1yKDgyMDkpLGE9cig3NzA1KTtmdW5jdGlvbiBzKGUsdCxyKXt2YXIgbj1lO3JldHVybiBpKHQpPyhyPXQsInN0cmluZyI9PXR5cGVvZiBlJiYobj17dXJpOmV9KSk6bj1hKHQse3VyaTplfSksbi5jYWxsYmFjaz1yLG59ZnVuY3Rpb24gdShlLHQscil7cmV0dXJuIGModD1zKGUsdCxyKSl9ZnVuY3Rpb24gYyhlKXtpZih2b2lkIDA9PT1lLmNhbGxiYWNrKXRocm93IG5ldyBFcnJvcigiY2FsbGJhY2sgYXJndW1lbnQgbWlzc2luZyIpO3ZhciB0PSExLHI9ZnVuY3Rpb24ocixuLGkpe3R8fCh0PSEwLGUuY2FsbGJhY2socixuLGkpKX07ZnVuY3Rpb24gbigpe3ZhciBlPXZvaWQgMDtpZihlPWYucmVzcG9uc2U/Zi5yZXNwb25zZTpmLnJlc3BvbnNlVGV4dHx8ZnVuY3Rpb24oZSl7dHJ5e2lmKCJkb2N1bWVudCI9PT1lLnJlc3BvbnNlVHlwZSlyZXR1cm4gZS5yZXNwb25zZVhNTDt2YXIgdD1lLnJlc3BvbnNlWE1MJiYicGFyc2VyZXJyb3IiPT09ZS5yZXNwb25zZVhNTC5kb2N1bWVudEVsZW1lbnQubm9kZU5hbWU7aWYoIiI9PT1lLnJlc3BvbnNlVHlwZSYmIXQpcmV0dXJuIGUucmVzcG9uc2VYTUx9Y2F0Y2goZSl7fXJldHVybiBudWxsfShmKSxtKXRyeXtlPUpTT04ucGFyc2UoZSl9Y2F0Y2goZSl7fXJldHVybiBlfWZ1bmN0aW9uIGkoZSl7cmV0dXJuIGNsZWFyVGltZW91dChkKSxlIGluc3RhbmNlb2YgRXJyb3J8fChlPW5ldyBFcnJvcigiIisoZXx8IlVua25vd24gWE1MSHR0cFJlcXVlc3QgRXJyb3IiKSkpLGUuc3RhdHVzQ29kZT0wLHIoZSx2KX1mdW5jdGlvbiBhKCl7aWYoIWMpe3ZhciB0O2NsZWFyVGltZW91dChkKSx0PWUudXNlWERSJiZ2b2lkIDA9PT1mLnN0YXR1cz8yMDA6MTIyMz09PWYuc3RhdHVzPzIwNDpmLnN0YXR1czt2YXIgaT12LGE9bnVsbDtyZXR1cm4gMCE9PXQ/KGk9e2JvZHk6bigpLHN0YXR1c0NvZGU6dCxtZXRob2Q6aCxoZWFkZXJzOnt9LHVybDpsLHJhd1JlcXVlc3Q6Zn0sZi5nZXRBbGxSZXNwb25zZUhlYWRlcnMmJihpLmhlYWRlcnM9byhmLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKSkpOmE9bmV3IEVycm9yKCJJbnRlcm5hbCBYTUxIdHRwUmVxdWVzdCBFcnJvciIpLHIoYSxpLGkuYm9keSl9fXZhciBzLGMsZj1lLnhocnx8bnVsbDtmfHwoZj1lLmNvcnN8fGUudXNlWERSP25ldyB1LlhEb21haW5SZXF1ZXN0Om5ldyB1LlhNTEh0dHBSZXF1ZXN0KTt2YXIgZCxsPWYudXJsPWUudXJpfHxlLnVybCxoPWYubWV0aG9kPWUubWV0aG9kfHwiR0VUIixwPWUuYm9keXx8ZS5kYXRhLGI9Zi5oZWFkZXJzPWUuaGVhZGVyc3x8e30seT0hIWUuc3luYyxtPSExLHY9e2JvZHk6dm9pZCAwLGhlYWRlcnM6e30sc3RhdHVzQ29kZTowLG1ldGhvZDpoLHVybDpsLHJhd1JlcXVlc3Q6Zn07aWYoImpzb24iaW4gZSYmITEhPT1lLmpzb24mJihtPSEwLGIuYWNjZXB0fHxiLkFjY2VwdHx8KGIuQWNjZXB0PSJhcHBsaWNhdGlvbi9qc29uIiksIkdFVCIhPT1oJiYiSEVBRCIhPT1oJiYoYlsiY29udGVudC10eXBlIl18fGJbIkNvbnRlbnQtVHlwZSJdfHwoYlsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2pzb24iKSxwPUpTT04uc3RyaW5naWZ5KCEwPT09ZS5qc29uP3A6ZS5qc29uKSkpLGYub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWYucmVhZHlTdGF0ZSYmc2V0VGltZW91dChhLDApfSxmLm9ubG9hZD1hLGYub25lcnJvcj1pLGYub25wcm9ncmVzcz1mdW5jdGlvbigpe30sZi5vbmFib3J0PWZ1bmN0aW9uKCl7Yz0hMH0sZi5vbnRpbWVvdXQ9aSxmLm9wZW4oaCxsLCF5LGUudXNlcm5hbWUsZS5wYXNzd29yZCkseXx8KGYud2l0aENyZWRlbnRpYWxzPSEhZS53aXRoQ3JlZGVudGlhbHMpLCF5JiZlLnRpbWVvdXQ+MCYmKGQ9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtpZighYyl7Yz0hMCxmLmFib3J0KCJ0aW1lb3V0Iik7dmFyIGU9bmV3IEVycm9yKCJYTUxIdHRwUmVxdWVzdCB0aW1lb3V0Iik7ZS5jb2RlPSJFVElNRURPVVQiLGkoZSl9fSksZS50aW1lb3V0KSksZi5zZXRSZXF1ZXN0SGVhZGVyKWZvcihzIGluIGIpYi5oYXNPd25Qcm9wZXJ0eShzKSYmZi5zZXRSZXF1ZXN0SGVhZGVyKHMsYltzXSk7ZWxzZSBpZihlLmhlYWRlcnMmJiFmdW5jdGlvbihlKXtmb3IodmFyIHQgaW4gZSlpZihlLmhhc093blByb3BlcnR5KHQpKXJldHVybiExO3JldHVybiEwfShlLmhlYWRlcnMpKXRocm93IG5ldyBFcnJvcigiSGVhZGVycyBjYW5ub3QgYmUgc2V0IG9uIGFuIFhEb21haW5SZXF1ZXN0IG9iamVjdCIpO3JldHVybiJyZXNwb25zZVR5cGUiaW4gZSYmKGYucmVzcG9uc2VUeXBlPWUucmVzcG9uc2VUeXBlKSwiYmVmb3JlU2VuZCJpbiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5iZWZvcmVTZW5kJiZlLmJlZm9yZVNlbmQoZiksZi5zZW5kKHB8fG51bGwpLGZ9ZS5leHBvcnRzPXUsZS5leHBvcnRzLmRlZmF1bHQ9dSx1LlhNTEh0dHBSZXF1ZXN0PW4uWE1MSHR0cFJlcXVlc3R8fGZ1bmN0aW9uKCl7fSx1LlhEb21haW5SZXF1ZXN0PSJ3aXRoQ3JlZGVudGlhbHMiaW4gbmV3IHUuWE1MSHR0cFJlcXVlc3Q/dS5YTUxIdHRwUmVxdWVzdDpuLlhEb21haW5SZXF1ZXN0LGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspdChlW3JdKX0oWyJnZXQiLCJwdXQiLCJwb3N0IiwicGF0Y2giLCJoZWFkIiwiZGVsZXRlIl0sKGZ1bmN0aW9uKGUpe3VbImRlbGV0ZSI9PT1lPyJkZWwiOmVdPWZ1bmN0aW9uKHQscixuKXtyZXR1cm4ocj1zKHQscixuKSkubWV0aG9kPWUudG9VcHBlckNhc2UoKSxjKHIpfX0pKX0sNzcwNTplPT57InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbigpe2Zvcih2YXIgZT17fSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl7dmFyIG49YXJndW1lbnRzW3JdO2Zvcih2YXIgaSBpbiBuKXQuY2FsbChuLGkpJiYoZVtpXT1uW2ldKX1yZXR1cm4gZX07dmFyIHQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eX0sMjQ2MzooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODg0NykocigzMzU1KSksaT1yKDY0MjcpLG89ZnVuY3Rpb24gZSh0KXt0aGlzLmdpdmVuUHJvdmlkZXI9ZS5naXZlblByb3ZpZGVyLHQmJnQuX3JlcXVlc3RNYW5hZ2VyJiYodD10LmN1cnJlbnRQcm92aWRlciksInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCYmKHRoaXMucGljaz1pLnBpY2spLHRoaXMuc2V0UHJvdmlkZXIodCl9O28uZ2l2ZW5Qcm92aWRlcj1udWxsLCJ1bmRlZmluZWQiIT10eXBlb2YgZXRoZXJldW0mJmV0aGVyZXVtLmJ6eiYmKG8uZ2l2ZW5Qcm92aWRlcj1ldGhlcmV1bS5ienopLG8ucHJvdG90eXBlLnNldFByb3ZpZGVyPWZ1bmN0aW9uKGUpe2lmKGUmJiJvYmplY3QiPT09KDAsbi5kZWZhdWx0KShlKSYmInN0cmluZyI9PXR5cGVvZiBlLmJ6eiYmKGU9ZS5ienopLCJzdHJpbmciIT10eXBlb2YgZSl7dGhpcy5jdXJyZW50UHJvdmlkZXI9bnVsbDt2YXIgdD1uZXcgRXJyb3IoIk5vIHByb3ZpZGVyIHNldCwgcGxlYXNlIHNldCBvbmUgdXNpbmcgYnp6LnNldFByb3ZpZGVyKCkuIik7cmV0dXJuIHRoaXMuZG93bmxvYWQ9dGhpcy51cGxvYWQ9dGhpcy5pc0F2YWlsYWJsZT1mdW5jdGlvbigpe3Rocm93IHR9LCExfXJldHVybiB0aGlzLmN1cnJlbnRQcm92aWRlcj1lLHRoaXMuZG93bmxvYWQ9aS5hdChlKS5kb3dubG9hZCx0aGlzLnVwbG9hZD1pLmF0KGUpLnVwbG9hZCx0aGlzLmlzQXZhaWxhYmxlPWkuYXQoZSkuaXNBdmFpbGFibGUsITB9LGUuZXhwb3J0cz1vfSw0MjQ2OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KShyKDMzNTUpKTtlLmV4cG9ydHM9e0Vycm9yUmVzcG9uc2U6ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5lcnJvciYmZS5lcnJvci5tZXNzYWdlP2UuZXJyb3IubWVzc2FnZTpKU09OLnN0cmluZ2lmeShlKSxyPWUuZXJyb3ImJmUuZXJyb3IuZGF0YT9lLmVycm9yLmRhdGE6bnVsbCxuPW5ldyBFcnJvcigiUmV0dXJuZWQgZXJyb3I6ICIrdCk7cmV0dXJuIG4uZGF0YT1yLG59LEludmFsaWROdW1iZXJPZlBhcmFtczpmdW5jdGlvbihlLHQscil7cmV0dXJuIG5ldyBFcnJvcignSW52YWxpZCBudW1iZXIgb2YgcGFyYW1ldGVycyBmb3IgIicrcisnIi4gR290ICcrZSsiIGV4cGVjdGVkICIrdCsiISIpfSxJbnZhbGlkQ29ubmVjdGlvbjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLkNvbm5lY3Rpb25FcnJvcigiQ09OTkVDVElPTiBFUlJPUjogQ291bGRuJ3QgY29ubmVjdCB0byBub2RlICIrZSsiLiIsdCl9LEludmFsaWRQcm92aWRlcjpmdW5jdGlvbigpe3JldHVybiBuZXcgRXJyb3IoIlByb3ZpZGVyIG5vdCBzZXQgb3IgaW52YWxpZCIpfSxJbnZhbGlkUmVzcG9uc2U6ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5lcnJvciYmZS5lcnJvci5tZXNzYWdlP2UuZXJyb3IubWVzc2FnZToiSW52YWxpZCBKU09OIFJQQyByZXNwb25zZTogIitKU09OLnN0cmluZ2lmeShlKTtyZXR1cm4gbmV3IEVycm9yKHQpfSxDb25uZWN0aW9uVGltZW91dDpmdW5jdGlvbihlKXtyZXR1cm4gbmV3IEVycm9yKCJDT05ORUNUSU9OIFRJTUVPVVQ6IHRpbWVvdXQgb2YgIitlKyIgbXMgYWNoaXZlZCIpfSxDb25uZWN0aW9uTm90T3BlbkVycm9yOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLkNvbm5lY3Rpb25FcnJvcigiY29ubmVjdGlvbiBub3Qgb3BlbiBvbiBzZW5kKCkiLGUpfSxDb25uZWN0aW9uQ2xvc2VFcnJvcjpmdW5jdGlvbihlKXtyZXR1cm4ib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkoZSkmJmUuY29kZSYmZS5yZWFzb24/dGhpcy5Db25uZWN0aW9uRXJyb3IoIkNPTk5FQ1RJT04gRVJST1I6IFRoZSBjb25uZWN0aW9uIGdvdCBjbG9zZWQgd2l0aCB0aGUgY2xvc2UgY29kZSBgIitlLmNvZGUrImAgYW5kIHRoZSBmb2xsb3dpbmcgcmVhc29uIHN0cmluZyBgIitlLnJlYXNvbisiYCIsZSk6bmV3IEVycm9yKCJDT05ORUNUSU9OIEVSUk9SOiBUaGUgY29ubmVjdGlvbiBjbG9zZWQgdW5leHBlY3RlZGx5Iil9LE1heEF0dGVtcHRzUmVhY2hlZE9uUmVjb25uZWN0aW5nRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEVycm9yKCJNYXhpbXVtIG51bWJlciBvZiByZWNvbm5lY3QgYXR0ZW1wdHMgcmVhY2hlZCEiKX0sUGVuZGluZ1JlcXVlc3RzT25SZWNvbm5lY3RpbmdFcnJvcjpmdW5jdGlvbigpe3JldHVybiBuZXcgRXJyb3IoIkNPTk5FQ1RJT04gRVJST1I6IFByb3ZpZGVyIHN0YXJ0ZWQgdG8gcmVjb25uZWN0IGJlZm9yZSB0aGUgcmVzcG9uc2UgZ290IHJlY2VpdmVkISIpfSxDb25uZWN0aW9uRXJyb3I6ZnVuY3Rpb24oZSx0KXt2YXIgcj1uZXcgRXJyb3IoZSk7cmV0dXJuIHQmJihyLmNvZGU9dC5jb2RlLHIucmVhc29uPXQucmVhc29uKSxyfSxSZXZlcnRJbnN0cnVjdGlvbkVycm9yOmZ1bmN0aW9uKGUsdCl7dmFyIHI9bmV3IEVycm9yKCJZb3VyIHJlcXVlc3QgZ290IHJldmVydGVkIHdpdGggdGhlIGZvbGxvd2luZyByZWFzb24gc3RyaW5nOiAiK2UpO3JldHVybiByLnJlYXNvbj1lLHIuc2lnbmF0dXJlPXQscn0sVHJhbnNhY3Rpb25SZXZlcnRJbnN0cnVjdGlvbkVycm9yOmZ1bmN0aW9uKGUsdCxyKXt2YXIgbj1uZXcgRXJyb3IoIlRyYW5zYWN0aW9uIGhhcyBiZWVuIHJldmVydGVkIGJ5IHRoZSBFVk06XG4iK0pTT04uc3RyaW5naWZ5KHIsbnVsbCwyKSk7cmV0dXJuIG4ucmVhc29uPWUsbi5zaWduYXR1cmU9dCxuLnJlY2VpcHQ9cixufSxUcmFuc2FjdGlvbkVycm9yOmZ1bmN0aW9uKGUsdCl7dmFyIHI9bmV3IEVycm9yKGUpO3JldHVybiByLnJlY2VpcHQ9dCxyfSxOb0NvbnRyYWN0QWRkcmVzc0ZvdW5kRXJyb3I6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuVHJhbnNhY3Rpb25FcnJvcigiVGhlIHRyYW5zYWN0aW9uIHJlY2VpcHQgZGlkbid0IGNvbnRhaW4gYSBjb250cmFjdCBhZGRyZXNzLiIsZSl9LENvbnRyYWN0Q29kZU5vdFN0b3JlZEVycm9yOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLlRyYW5zYWN0aW9uRXJyb3IoIlRoZSBjb250cmFjdCBjb2RlIGNvdWxkbid0IGJlIHN0b3JlZCwgcGxlYXNlIGNoZWNrIHlvdXIgZ2FzIGxpbWl0LiIsZSl9LFRyYW5zYWN0aW9uUmV2ZXJ0ZWRXaXRob3V0UmVhc29uRXJyb3I6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuVHJhbnNhY3Rpb25FcnJvcigiVHJhbnNhY3Rpb24gaGFzIGJlZW4gcmV2ZXJ0ZWQgYnkgdGhlIEVWTTpcbiIrSlNPTi5zdHJpbmdpZnkoZSxudWxsLDIpLGUpfSxUcmFuc2FjdGlvbk91dE9mR2FzRXJyb3I6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuVHJhbnNhY3Rpb25FcnJvcigiVHJhbnNhY3Rpb24gcmFuIG91dCBvZiBnYXMuIFBsZWFzZSBwcm92aWRlIG1vcmUgZ2FzOlxuIitKU09OLnN0cmluZ2lmeShlLG51bGwsMiksZSl9LFJlc29sdmVyTWV0aG9kTWlzc2luZ0Vycm9yOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBFcnJvcigiVGhlIHJlc29sdmVyIGF0ICIrZSsnZG9lcyBub3QgaW1wbGVtZW50IHJlcXVlc3RlZCBtZXRob2Q6ICInK3QrJyIuJyl9LENvbnRyYWN0TWlzc2luZ0FCSUVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBFcnJvcigiWW91IG11c3QgcHJvdmlkZSB0aGUganNvbiBpbnRlcmZhY2Ugb2YgdGhlIGNvbnRyYWN0IHdoZW4gaW5zdGFudGlhdGluZyBhIGNvbnRyYWN0IG9iamVjdC4iKX0sQ29udHJhY3RPbmNlUmVxdWlyZXNDYWxsYmFja0Vycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBFcnJvcigiT25jZSByZXF1aXJlcyBhIGNhbGxiYWNrIGFzIHRoZSBzZWNvbmQgcGFyYW1ldGVyLiIpfSxDb250cmFjdEV2ZW50RG9lc05vdEV4aXN0RXJyb3I6ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBFcnJvcignRXZlbnQgIicrZSsiXCIgZG9lc24ndCBleGlzdCBpbiB0aGlzIGNvbnRyYWN0LiIpfSxDb250cmFjdFJlc2VydmVkRXZlbnRFcnJvcjpmdW5jdGlvbihlKXtyZXR1cm4gbmV3IEVycm9yKCdUaGUgZXZlbnQgIicrZSsiXCIgaXMgYSByZXNlcnZlZCBldmVudCBuYW1lLCB5b3UgY2FuJ3QgdXNlIGl0LiIpfSxDb250cmFjdE1pc3NpbmdEZXBsb3lEYXRhRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEVycm9yKCdObyAiZGF0YSIgc3BlY2lmaWVkIGluIG5laXRoZXIgdGhlIGdpdmVuIG9wdGlvbnMsIG5vciB0aGUgZGVmYXVsdCBvcHRpb25zLicpfSxDb250cmFjdE5vQWRkcmVzc0RlZmluZWRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBuZXcgRXJyb3IoIlRoaXMgY29udHJhY3Qgb2JqZWN0IGRvZXNuJ3QgaGF2ZSBhZGRyZXNzIHNldCB5ZXQsIHBsZWFzZSBzZXQgYW4gYWRkcmVzcyBmaXJzdC4iKX0sQ29udHJhY3ROb0Zyb21BZGRyZXNzRGVmaW5lZEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBFcnJvcignTm8gImZyb20iIGFkZHJlc3Mgc3BlY2lmaWVkIGluIG5laXRoZXIgdGhlIGdpdmVuIG9wdGlvbnMsIG5vciB0aGUgZGVmYXVsdCBvcHRpb25zLicpfX19LDIwODQ6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpLGk9bihyKDc3NSkpLG89bihyKDMzNTUpKTtmdW5jdGlvbiBhKGUsdCl7dmFyIHI9T2JqZWN0LmtleXMoZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTt0JiYobj1uLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KS5lbnVtZXJhYmxlfSkpKSxyLnB1c2guYXBwbHkocixuKX1yZXR1cm4gcn1mdW5jdGlvbiBzKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciByPW51bGwhPWFyZ3VtZW50c1t0XT9hcmd1bWVudHNbdF06e307dCUyP2EoT2JqZWN0KHIpLCEwKS5mb3JFYWNoKChmdW5jdGlvbih0KXsoMCxpLmRlZmF1bHQpKGUsdCxyW3RdKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHIpKTphKE9iamVjdChyKSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIsdCkpfSkpfXJldHVybiBlfXZhciB1PXIoODE2MSksYz1yKDYpLGY9ZnVuY3Rpb24oZSl7cmV0dXJuIHUudG9CTihlKS50b1N0cmluZygxMCl9LGQ9ZnVuY3Rpb24oZSl7aWYodm9pZCAwIT09ZSlyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuWyJsYXRlc3QiLCJwZW5kaW5nIiwiZWFybGllc3QiLCJmaW5hbGl6ZWQiLCJzYWZlIl0uaW5jbHVkZXMoZSl9KGUpP2U6ImdlbmVzaXMiPT09ZT8iMHgwIjp1LmlzSGV4U3RyaWN0KGUpPyJzdHJpbmciPT10eXBlb2YgZT9lLnRvTG93ZXJDYXNlKCk6ZTp1Lm51bWJlclRvSGV4KGUpfSxsPWZ1bmN0aW9uKGUpe2lmKGUudG8mJihlLnRvPWIoZS50bykpLGUuZGF0YSYmZS5pbnB1dCl0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5cJ3QgaGF2ZSAiZGF0YSIgYW5kICJpbnB1dCIgYXMgcHJvcGVydGllcyBvZiB0cmFuc2FjdGlvbnMgYXQgdGhlIHNhbWUgdGltZSwgcGxlYXNlIHVzZSBlaXRoZXIgImRhdGEiIG9yICJpbnB1dCIgaW5zdGVhZC4nKTtpZighZS5kYXRhJiZlLmlucHV0JiYoZS5kYXRhPWUuaW5wdXQsZGVsZXRlIGUuaW5wdXQpLGUuZGF0YSYmIWUuZGF0YS5zdGFydHNXaXRoKCIweCIpJiYoZS5kYXRhPSIweCIrZS5kYXRhKSxlLmRhdGEmJiF1LmlzSGV4KGUuZGF0YSkpdGhyb3cgbmV3IEVycm9yKCJUaGUgZGF0YSBmaWVsZCBtdXN0IGJlIEhFWCBlbmNvZGVkIGRhdGEuIik7cmV0dXJuKGUuZ2FzfHxlLmdhc0xpbWl0KSYmKGUuZ2FzPWUuZ2FzfHxlLmdhc0xpbWl0KSwoZS5tYXhQcmlvcml0eUZlZVBlckdhc3x8ZS5tYXhGZWVQZXJHYXMpJiZkZWxldGUgZS5nYXNQcmljZSxbImdhc1ByaWNlIiwiZ2FzIiwidmFsdWUiLCJtYXhQcmlvcml0eUZlZVBlckdhcyIsIm1heEZlZVBlckdhcyIsIm5vbmNlIl0uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwIT09ZVt0XX0pKS5mb3JFYWNoKChmdW5jdGlvbih0KXtlW3RdPXUubnVtYmVyVG9IZXgoZVt0XSl9KSksZX0saD1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9PWUuYmxvY2tOdW1iZXImJihlLmJsb2NrTnVtYmVyPXUuaGV4VG9OdW1iZXIoZS5ibG9ja051bWJlcikpLG51bGwhPT1lLnRyYW5zYWN0aW9uSW5kZXgmJihlLnRyYW5zYWN0aW9uSW5kZXg9dS5oZXhUb051bWJlcihlLnRyYW5zYWN0aW9uSW5kZXgpKSxlLm5vbmNlPXUuaGV4VG9OdW1iZXIoZS5ub25jZSksZS5nYXM9dS5oZXhUb051bWJlcihlLmdhcyksZS5nYXNQcmljZSYmKGUuZ2FzUHJpY2U9ZihlLmdhc1ByaWNlKSksZS5tYXhGZWVQZXJHYXMmJihlLm1heEZlZVBlckdhcz1mKGUubWF4RmVlUGVyR2FzKSksZS5tYXhQcmlvcml0eUZlZVBlckdhcyYmKGUubWF4UHJpb3JpdHlGZWVQZXJHYXM9ZihlLm1heFByaW9yaXR5RmVlUGVyR2FzKSksZS50eXBlJiYoZS50eXBlPXUuaGV4VG9OdW1iZXIoZS50eXBlKSksZS52YWx1ZT1mKGUudmFsdWUpLGUudG8mJnUuaXNBZGRyZXNzKGUudG8pP2UudG89dS50b0NoZWNrc3VtQWRkcmVzcyhlLnRvKTplLnRvPW51bGwsZS5mcm9tJiYoZS5mcm9tPXUudG9DaGVja3N1bUFkZHJlc3MoZS5mcm9tKSksZX0scD1mdW5jdGlvbihlKXtpZigic3RyaW5nIj09dHlwZW9mIGUuYmxvY2tIYXNoJiYic3RyaW5nIj09dHlwZW9mIGUudHJhbnNhY3Rpb25IYXNoJiYic3RyaW5nIj09dHlwZW9mIGUubG9nSW5kZXgpe3ZhciB0PXUuc2hhMyhlLmJsb2NrSGFzaC5yZXBsYWNlKCIweCIsIiIpK2UudHJhbnNhY3Rpb25IYXNoLnJlcGxhY2UoIjB4IiwiIikrZS5sb2dJbmRleC5yZXBsYWNlKCIweCIsIiIpKTtlLmlkPSJsb2dfIit0LnJlcGxhY2UoIjB4IiwiIikuc2xpY2UoMCw4KX1lbHNlIGUuaWR8fChlLmlkPW51bGwpO3JldHVybiBudWxsIT09ZS5ibG9ja051bWJlciYmKGUuYmxvY2tOdW1iZXI9dS5oZXhUb051bWJlcihlLmJsb2NrTnVtYmVyKSksbnVsbCE9PWUudHJhbnNhY3Rpb25JbmRleCYmKGUudHJhbnNhY3Rpb25JbmRleD11LmhleFRvTnVtYmVyKGUudHJhbnNhY3Rpb25JbmRleCkpLG51bGwhPT1lLmxvZ0luZGV4JiYoZS5sb2dJbmRleD11LmhleFRvTnVtYmVyKGUubG9nSW5kZXgpKSxlLmFkZHJlc3MmJihlLmFkZHJlc3M9dS50b0NoZWNrc3VtQWRkcmVzcyhlLmFkZHJlc3MpKSxlfSxiPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBjKGUpO2lmKHQuaXNWYWxpZCgpJiZ0LmlzRGlyZWN0KCkpcmV0dXJuIHQudG9BZGRyZXNzKCkudG9Mb3dlckNhc2UoKTtpZih1LmlzQWRkcmVzcyhlKSlyZXR1cm4iMHgiK2UudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCIweCIsIiIpO3Rocm93IG5ldyBFcnJvcigiUHJvdmlkZWQgYWRkcmVzcyAiLmNvbmNhdChlLCIgaXMgaW52YWxpZCwgdGhlIGNhcGl0YWxpemF0aW9uIGNoZWNrc3VtIHRlc3QgZmFpbGVkLCBvciBpdCdzIGFuIGluZGlyZWN0IElCQU4gYWRkcmVzcyB3aGljaCBjYW4ndCBiZSBjb252ZXJ0ZWQuIikpfTtlLmV4cG9ydHM9e2lucHV0RGVmYXVsdEJsb2NrTnVtYmVyRm9ybWF0dGVyOmZ1bmN0aW9uKGUpe3JldHVybiBkKHRoaXMmJm51bGw9PWU/dGhpcy5kZWZhdWx0QmxvY2s6ZSl9LGlucHV0QmxvY2tOdW1iZXJGb3JtYXR0ZXI6ZCxpbnB1dENhbGxGb3JtYXR0ZXI6ZnVuY3Rpb24oZSl7dmFyIHQ9KGU9bChlKSkuZnJvbXx8KHRoaXM/dGhpcy5kZWZhdWx0QWNjb3VudDpudWxsKTtyZXR1cm4gdCYmKGUuZnJvbT1iKHQpKSxlfSxpbnB1dFRyYW5zYWN0aW9uRm9ybWF0dGVyOmZ1bmN0aW9uKGUpe2lmKCJudW1iZXIiIT10eXBlb2YoZT1sKGUpKS5mcm9tJiYoIWUuZnJvbXx8Im9iamVjdCIhPT0oMCxvLmRlZmF1bHQpKGUuZnJvbSkpKXtpZihlLmZyb209ZS5mcm9tfHwodGhpcz90aGlzLmRlZmF1bHRBY2NvdW50Om51bGwpLCFlLmZyb20mJiJudW1iZXIiIT10eXBlb2YgZS5mcm9tKXRocm93IG5ldyBFcnJvcignVGhlIHNlbmQgdHJhbnNhY3Rpb25zICJmcm9tIiBmaWVsZCBtdXN0IGJlIGRlZmluZWQhJyk7ZS5mcm9tPWIoZS5mcm9tKX1yZXR1cm4gZX0saW5wdXRBZGRyZXNzRm9ybWF0dGVyOmIsaW5wdXRQb3N0Rm9ybWF0dGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlLnR0bCYmKGUudHRsPXUubnVtYmVyVG9IZXgoZS50dGwpKSxlLndvcmtUb1Byb3ZlJiYoZS53b3JrVG9Qcm92ZT11Lm51bWJlclRvSGV4KGUud29ya1RvUHJvdmUpKSxlLnByaW9yaXR5JiYoZS5wcmlvcml0eT11Lm51bWJlclRvSGV4KGUucHJpb3JpdHkpKSxBcnJheS5pc0FycmF5KGUudG9waWNzKXx8KGUudG9waWNzPWUudG9waWNzP1tlLnRvcGljc106W10pLGUudG9waWNzPWUudG9waWNzLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIDA9PT1lLmluZGV4T2YoIjB4Iik/ZTp1LmZyb21VdGY4KGUpfSkpLGV9LGlucHV0TG9nRm9ybWF0dGVyOmZ1bmN0aW9uKGUpe3ZhciB0PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP251bGw6MD09PShlPVN0cmluZyhlKSkuaW5kZXhPZigiMHgiKT9lOnUuZnJvbVV0ZjgoZSl9O3JldHVybiB2b2lkIDA9PT1lJiYoZT17fSksdm9pZCAwPT09ZS5mcm9tQmxvY2smJihlPXMocyh7fSxlKSx7fSx7ZnJvbUJsb2NrOiJsYXRlc3QifSkpLChlLmZyb21CbG9ja3x8MD09PWUuZnJvbUJsb2NrKSYmKGUuZnJvbUJsb2NrPWQoZS5mcm9tQmxvY2spKSwoZS50b0Jsb2NrfHwwPT09ZS50b0Jsb2NrKSYmKGUudG9CbG9jaz1kKGUudG9CbG9jaykpLGUudG9waWNzPWUudG9waWNzfHxbXSxlLnRvcGljcz1lLnRvcGljcy5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2UubWFwKHQpOnQoZSl9KSksdD1udWxsLGUuYWRkcmVzcyYmKGUuYWRkcmVzcz1BcnJheS5pc0FycmF5KGUuYWRkcmVzcyk/ZS5hZGRyZXNzLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGIoZSl9KSk6YihlLmFkZHJlc3MpKSxlfSxpbnB1dFNpZ25Gb3JtYXR0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHUuaXNIZXhTdHJpY3QoZSk/ZTp1LnV0ZjhUb0hleChlKX0saW5wdXRTdG9yYWdlS2V5c0Zvcm1hdHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZS5tYXAodS5udW1iZXJUb0hleCl9LG91dHB1dFByb29mRm9ybWF0dGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlLmFkZHJlc3M9dS50b0NoZWNrc3VtQWRkcmVzcyhlLmFkZHJlc3MpLGUubm9uY2U9dS5oZXhUb051bWJlclN0cmluZyhlLm5vbmNlKSxlLmJhbGFuY2U9dS5oZXhUb051bWJlclN0cmluZyhlLmJhbGFuY2UpLGV9LG91dHB1dEJpZ051bWJlckZvcm1hdHRlcjpmLG91dHB1dFRyYW5zYWN0aW9uRm9ybWF0dGVyOmgsb3V0cHV0VHJhbnNhY3Rpb25SZWNlaXB0Rm9ybWF0dGVyOmZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiIT09KDAsby5kZWZhdWx0KShlKSl0aHJvdyBuZXcgRXJyb3IoIlJlY2VpdmVkIHJlY2VpcHQgaXMgaW52YWxpZDogIitlKTtyZXR1cm4gdGhpcy5oZXhGb3JtYXR8fChudWxsIT09ZS5ibG9ja051bWJlciYmKGUuYmxvY2tOdW1iZXI9dS5oZXhUb051bWJlcihlLmJsb2NrTnVtYmVyKSksbnVsbCE9PWUudHJhbnNhY3Rpb25JbmRleCYmKGUudHJhbnNhY3Rpb25JbmRleD11LmhleFRvTnVtYmVyKGUudHJhbnNhY3Rpb25JbmRleCkpLGUuY3VtdWxhdGl2ZUdhc1VzZWQ9dS5oZXhUb051bWJlcihlLmN1bXVsYXRpdmVHYXNVc2VkKSxlLmdhc1VzZWQ9dS5oZXhUb051bWJlcihlLmdhc1VzZWQpLGUuZWZmZWN0aXZlR2FzUHJpY2UmJihlLmVmZmVjdGl2ZUdhc1ByaWNlPXUuaGV4VG9OdW1iZXIoZS5lZmZlY3RpdmVHYXNQcmljZSkpKSxBcnJheS5pc0FycmF5KGUubG9ncykmJihlLmxvZ3M9ZS5sb2dzLm1hcChwKSksZS5jb250cmFjdEFkZHJlc3MmJihlLmNvbnRyYWN0QWRkcmVzcz11LnRvQ2hlY2tzdW1BZGRyZXNzKGUuY29udHJhY3RBZGRyZXNzKSksdm9pZCAwIT09ZS5zdGF0dXMmJm51bGwhPT1lLnN0YXR1cyYmKGUuc3RhdHVzPUJvb2xlYW4ocGFyc2VJbnQoZS5zdGF0dXMpKSksZX0sb3V0cHV0QmxvY2tGb3JtYXR0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2FzTGltaXQ9dS5oZXhUb051bWJlcihlLmdhc0xpbWl0KSxlLmdhc1VzZWQ9dS5oZXhUb051bWJlcihlLmdhc1VzZWQpLGUuc2l6ZT11LmhleFRvTnVtYmVyKGUuc2l6ZSksZS50aW1lc3RhbXA9dS5oZXhUb051bWJlcihlLnRpbWVzdGFtcCksbnVsbCE9PWUubnVtYmVyJiYoZS5udW1iZXI9dS5oZXhUb051bWJlcihlLm51bWJlcikpLGUuZGlmZmljdWx0eSYmKGUuZGlmZmljdWx0eT1mKGUuZGlmZmljdWx0eSkpLGUudG90YWxEaWZmaWN1bHR5JiYoZS50b3RhbERpZmZpY3VsdHk9ZihlLnRvdGFsRGlmZmljdWx0eSkpLEFycmF5LmlzQXJyYXkoZS50cmFuc2FjdGlvbnMpJiZlLnRyYW5zYWN0aW9ucy5mb3JFYWNoKChmdW5jdGlvbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIGgoZSl9KSksZS5taW5lciYmKGUubWluZXI9dS50b0NoZWNrc3VtQWRkcmVzcyhlLm1pbmVyKSksZS5iYXNlRmVlUGVyR2FzJiYoZS5iYXNlRmVlUGVyR2FzPXUuaGV4VG9OdW1iZXIoZS5iYXNlRmVlUGVyR2FzKSksZX0sb3V0cHV0TG9nRm9ybWF0dGVyOnAsb3V0cHV0UG9zdEZvcm1hdHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZS5leHBpcnk9dS5oZXhUb051bWJlcihlLmV4cGlyeSksZS5zZW50PXUuaGV4VG9OdW1iZXIoZS5zZW50KSxlLnR0bD11LmhleFRvTnVtYmVyKGUudHRsKSxlLndvcmtQcm92ZWQ9dS5oZXhUb051bWJlcihlLndvcmtQcm92ZWQpLGUudG9waWNzfHwoZS50b3BpY3M9W10pLGUudG9waWNzPWUudG9waWNzLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHUudG9VdGY4KGUpfSkpLGV9LG91dHB1dFN5bmNpbmdGb3JtYXR0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RhcnRpbmdCbG9jaz11LmhleFRvTnVtYmVyKGUuc3RhcnRpbmdCbG9jayksZS5jdXJyZW50QmxvY2s9dS5oZXhUb051bWJlcihlLmN1cnJlbnRCbG9jayksZS5oaWdoZXN0QmxvY2s9dS5oZXhUb051bWJlcihlLmhpZ2hlc3RCbG9jayksZS5rbm93blN0YXRlcyYmKGUua25vd25TdGF0ZXM9dS5oZXhUb051bWJlcihlLmtub3duU3RhdGVzKSxlLnB1bGxlZFN0YXRlcz11LmhleFRvTnVtYmVyKGUucHVsbGVkU3RhdGVzKSksZX19fSwxMzE0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig0MjQ2KSxpPXIoMjA4NCk7ZS5leHBvcnRzPXtlcnJvcnM6bixmb3JtYXR0ZXJzOml9fSwzMzQ5OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KSxpPW4ocigyMjQ3KSksbz1uKHIoNDUxOSkpLGE9bihyKDc3NSkpLHM9bihyKDU2OTgpKSx1PW4ocigzMzU1KSk7ZnVuY3Rpb24gYyhlLHQpe3ZhciByPU9iamVjdC5rZXlzKGUpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7dCYmKG49bi5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCkuZW51bWVyYWJsZX0pKSksci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gZihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1udWxsIT1hcmd1bWVudHNbdF0/YXJndW1lbnRzW3RdOnt9O3QlMj9jKE9iamVjdChyKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7KDAsYS5kZWZhdWx0KShlLHQsclt0XSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhyKSk6YyhPYmplY3QocikpLmZvckVhY2goKGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLHQpKX0pKX1yZXR1cm4gZX12YXIgZD1yKDEzMTQpLmVycm9ycyxsPXIoMTMxNCkuZm9ybWF0dGVycyxoPXIoODE2MSkscD1yKDI4MiksYj1yKDQxNzgpLnN1YnNjcmlwdGlvbnMseT1yKDE5MzYpLG09ZnVuY3Rpb24oZSl7aWYoIWUuY2FsbHx8IWUubmFtZSl0aHJvdyBuZXcgRXJyb3IoJ1doZW4gY3JlYXRpbmcgYSBtZXRob2QgeW91IG5lZWQgdG8gcHJvdmlkZSBhdCBsZWFzdCB0aGUgIm5hbWUiIGFuZCAiY2FsbCIgcHJvcGVydHkuJyk7dGhpcy5uYW1lPWUubmFtZSx0aGlzLmNhbGw9ZS5jYWxsLHRoaXMucGFyYW1zPWUucGFyYW1zfHwwLHRoaXMuaW5wdXRGb3JtYXR0ZXI9ZS5pbnB1dEZvcm1hdHRlcix0aGlzLm91dHB1dEZvcm1hdHRlcj1lLm91dHB1dEZvcm1hdHRlcix0aGlzLnRyYW5zZm9ybVBheWxvYWQ9ZS50cmFuc2Zvcm1QYXlsb2FkLHRoaXMuZXh0cmFGb3JtYXR0ZXJzPWUuZXh0cmFGb3JtYXR0ZXJzLHRoaXMuYWJpQ29kZXI9ZS5hYmlDb2Rlcix0aGlzLnJlcXVlc3RNYW5hZ2VyPWUucmVxdWVzdE1hbmFnZXIsdGhpcy5hY2NvdW50cz1lLmFjY291bnRzLHRoaXMuZGVmYXVsdEJsb2NrPWUuZGVmYXVsdEJsb2NrfHwibGF0ZXN0Iix0aGlzLmRlZmF1bHRBY2NvdW50PWUuZGVmYXVsdEFjY291bnR8fG51bGwsdGhpcy50cmFuc2FjdGlvbkJsb2NrVGltZW91dD1lLnRyYW5zYWN0aW9uQmxvY2tUaW1lb3V0fHw1MCx0aGlzLnRyYW5zYWN0aW9uQ29uZmlybWF0aW9uQmxvY2tzPWUudHJhbnNhY3Rpb25Db25maXJtYXRpb25CbG9ja3N8fDI0LHRoaXMudHJhbnNhY3Rpb25Qb2xsaW5nVGltZW91dD1lLnRyYW5zYWN0aW9uUG9sbGluZ1RpbWVvdXR8fDc1MCx0aGlzLnRyYW5zYWN0aW9uUG9sbGluZ0ludGVydmFsPWUudHJhbnNhY3Rpb25Qb2xsaW5nSW50ZXJ2YWx8fDFlMyx0aGlzLmJsb2NrSGVhZGVyVGltZW91dD1lLmJsb2NrSGVhZGVyVGltZW91dHx8MTAsdGhpcy5kZWZhdWx0Q29tbW9uPWUuZGVmYXVsdENvbW1vbix0aGlzLmRlZmF1bHRDaGFpbj1lLmRlZmF1bHRDaGFpbix0aGlzLmRlZmF1bHRIYXJkZm9yaz1lLmRlZmF1bHRIYXJkZm9yayx0aGlzLmhhbmRsZVJldmVydD1lLmhhbmRsZVJldmVydH07bS5wcm90b3R5cGUuc2V0UmVxdWVzdE1hbmFnZXI9ZnVuY3Rpb24oZSx0KXt0aGlzLnJlcXVlc3RNYW5hZ2VyPWUsdCYmKHRoaXMuYWNjb3VudHM9dCl9LG0ucHJvdG90eXBlLmNyZWF0ZUZ1bmN0aW9uPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcy5idWlsZENhbGwoKTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNhbGwiLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dGhpcy5jYWxsfSksdGhpcy5zZXRSZXF1ZXN0TWFuYWdlcihlfHx0aGlzLnJlcXVlc3RNYW5hZ2VyLHR8fHRoaXMuYWNjb3VudHMpLHJ9LG0ucHJvdG90eXBlLmF0dGFjaFRvT2JqZWN0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYnVpbGRDYWxsKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImNhbGwiLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dGhpcy5jYWxsfSk7dmFyIHI9dGhpcy5uYW1lLnNwbGl0KCIuIik7ci5sZW5ndGg+MT8oZVtyWzBdXT1lW3JbMF1dfHx7fSxlW3JbMF1dW3JbMV1dPXQpOmVbclswXV09dH0sbS5wcm90b3R5cGUuZ2V0Q2FsbD1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jYWxsP3RoaXMuY2FsbChlKTp0aGlzLmNhbGx9LG0ucHJvdG90eXBlLmV4dHJhY3RDYWxsYmFjaz1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZVtlLmxlbmd0aC0xXSlyZXR1cm4gZS5wb3AoKX0sbS5wcm90b3R5cGUudmFsaWRhdGVBcmdzPWZ1bmN0aW9uKGUpe2lmKGUubGVuZ3RoIT09dGhpcy5wYXJhbXMpdGhyb3cgZC5JbnZhbGlkTnVtYmVyT2ZQYXJhbXMoZS5sZW5ndGgsdGhpcy5wYXJhbXMsdGhpcy5uYW1lKX0sbS5wcm90b3R5cGUuZm9ybWF0SW5wdXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztyZXR1cm4gdGhpcy5pbnB1dEZvcm1hdHRlcj90aGlzLmlucHV0Rm9ybWF0dGVyLm1hcCgoZnVuY3Rpb24ocixuKXtyZXR1cm4gcj9yLmNhbGwodCxlW25dKTplW25dfSkpOmV9LG0ucHJvdG90eXBlLmZvcm1hdE91dHB1dD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiBBcnJheS5pc0FycmF5KGUpP2UubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdC5vdXRwdXRGb3JtYXR0ZXImJmU/dC5vdXRwdXRGb3JtYXR0ZXIoZSk6ZX0pKTp0aGlzLm91dHB1dEZvcm1hdHRlciYmZT90aGlzLm91dHB1dEZvcm1hdHRlcihlKTplfSxtLnByb3RvdHlwZS50b1BheWxvYWQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5nZXRDYWxsKGUpLHI9dGhpcy5leHRyYWN0Q2FsbGJhY2soZSksbj10aGlzLmZvcm1hdElucHV0KGUpO3RoaXMudmFsaWRhdGVBcmdzKG4pO3ZhciBpPXttZXRob2Q6dCxwYXJhbXM6bixjYWxsYmFjazpyfTtyZXR1cm4gdGhpcy50cmFuc2Zvcm1QYXlsb2FkJiYoaT10aGlzLnRyYW5zZm9ybVBheWxvYWQoaSkpLGl9LG0ucHJvdG90eXBlLl9jb25maXJtVHJhbnNhY3Rpb249ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXRoaXMsbz0hMSxhPSEwLGM9MCxmPTAsdj1udWxsLGc9bnVsbCx3PW51bGwsQT1yLnBhcmFtc1swXSYmIm9iamVjdCI9PT0oMCx1LmRlZmF1bHQpKHIucGFyYW1zWzBdKSYmci5wYXJhbXNbMF0uZ2FzP3IucGFyYW1zWzBdLmdhczpudWxsLGs9ISFyLnBhcmFtc1swXSYmIm9iamVjdCI9PT0oMCx1LmRlZmF1bHQpKHIucGFyYW1zWzBdKSYmci5wYXJhbXNbMF0uZGF0YSYmci5wYXJhbXNbMF0uZnJvbSYmIXIucGFyYW1zWzBdLnRvLF89ayYmci5wYXJhbXNbMF0uZGF0YS5sZW5ndGg+MixTPVtuZXcgbSh7bmFtZToiZ2V0QmxvY2tCeU51bWJlciIsY2FsbDoiZXRoX2dldEJsb2NrQnlOdW1iZXIiLHBhcmFtczoyLGlucHV0Rm9ybWF0dGVyOltsLmlucHV0QmxvY2tOdW1iZXJGb3JtYXR0ZXIsZnVuY3Rpb24oZSl7cmV0dXJuISFlfV0sb3V0cHV0Rm9ybWF0dGVyOmwub3V0cHV0QmxvY2tGb3JtYXR0ZXJ9KSxuZXcgbSh7bmFtZToiZ2V0VHJhbnNhY3Rpb25SZWNlaXB0IixjYWxsOiJldGhfZ2V0VHJhbnNhY3Rpb25SZWNlaXB0IixwYXJhbXM6MSxpbnB1dEZvcm1hdHRlcjpbbnVsbF0sb3V0cHV0Rm9ybWF0dGVyOmwub3V0cHV0VHJhbnNhY3Rpb25SZWNlaXB0Rm9ybWF0dGVyfSksbmV3IG0oe25hbWU6ImdldENvZGUiLGNhbGw6ImV0aF9nZXRDb2RlIixwYXJhbXM6MixpbnB1dEZvcm1hdHRlcjpbbC5pbnB1dEFkZHJlc3NGb3JtYXR0ZXIsbC5pbnB1dERlZmF1bHRCbG9ja051bWJlckZvcm1hdHRlcl19KSxuZXcgbSh7bmFtZToiZ2V0VHJhbnNhY3Rpb25CeUhhc2giLGNhbGw6ImV0aF9nZXRUcmFuc2FjdGlvbkJ5SGFzaCIscGFyYW1zOjEsaW5wdXRGb3JtYXR0ZXI6W251bGxdLG91dHB1dEZvcm1hdHRlcjpsLm91dHB1dFRyYW5zYWN0aW9uRm9ybWF0dGVyfSksbmV3IGIoe25hbWU6InN1YnNjcmliZSIsdHlwZToiZXRoIixzdWJzY3JpcHRpb25zOntuZXdCbG9ja0hlYWRlcnM6e3N1YnNjcmlwdGlvbk5hbWU6Im5ld0hlYWRzIixwYXJhbXM6MCxvdXRwdXRGb3JtYXR0ZXI6bC5vdXRwdXRCbG9ja0Zvcm1hdHRlcn19fSldLHg9e307Uy5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmF0dGFjaFRvT2JqZWN0KHgpLGUucmVxdWVzdE1hbmFnZXI9bi5yZXF1ZXN0TWFuYWdlcn0pKTt2YXIgRT1mdW5jdGlvbih1LGIsbSxTLEUpe2lmKCFtKXJldHVybiBFfHwoRT17dW5zdWJzY3JpYmU6ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKHYpLGNsZWFyVGltZW91dChnKX19KSwodT9wLnJlc29sdmUodSk6eC5nZXRUcmFuc2FjdGlvblJlY2VpcHQodCkpLmNhdGNoKChmdW5jdGlvbih0KXtFLnVuc3Vic2NyaWJlKCksbz0hMCxoLl9maXJlRXJyb3Ioe21lc3NhZ2U6IkZhaWxlZCB0byBjaGVjayBmb3IgdHJhbnNhY3Rpb24gcmVjZWlwdDoiLGRhdGE6dH0sZS5ldmVudEVtaXR0ZXIsZS5yZWplY3QpfSkpLnRoZW4oZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKGkuZGVmYXVsdC5tYXJrKChmdW5jdGlvbiB0KHIpe3ZhciBvLHMsYztyZXR1cm4gaS5kZWZhdWx0LndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKHImJnIuYmxvY2tIYXNoKXt0Lm5leHQ9MjticmVha310aHJvdyBuZXcgRXJyb3IoIlJlY2VpcHQgbWlzc2luZyBvciBibG9ja0hhc2ggbnVsbCIpO2Nhc2UgMjppZihuLmV4dHJhRm9ybWF0dGVycyYmbi5leHRyYUZvcm1hdHRlcnMucmVjZWlwdEZvcm1hdHRlciYmKHI9bi5leHRyYUZvcm1hdHRlcnMucmVjZWlwdEZvcm1hdHRlcihyKSksIShlLmV2ZW50RW1pdHRlci5saXN0ZW5lcnMoImNvbmZpcm1hdGlvbiIpLmxlbmd0aD4wKSl7dC5uZXh0PTI4O2JyZWFrfWlmKHZvaWQgMCE9PXUmJjA9PT1mKXt0Lm5leHQ9MjU7YnJlYWt9cmV0dXJuIHQubmV4dD03LHguZ2V0QmxvY2tCeU51bWJlcigibGF0ZXN0Iik7Y2FzZSA3OmlmKHM9dC5zZW50LGM9cz9zLmhhc2g6bnVsbCwhYil7dC5uZXh0PTI0O2JyZWFrfWlmKCF3KXt0Lm5leHQ9MTc7YnJlYWt9cmV0dXJuIHQubmV4dD0xMyx4LmdldEJsb2NrQnlOdW1iZXIody5udW1iZXIrMSk7Y2FzZSAxMzoobz10LnNlbnQpJiYodz1vLGUuZXZlbnRFbWl0dGVyLmVtaXQoImNvbmZpcm1hdGlvbiIsZixyLGMpKSx0Lm5leHQ9MjI7YnJlYWs7Y2FzZSAxNzpyZXR1cm4gdC5uZXh0PTE5LHguZ2V0QmxvY2tCeU51bWJlcihyLmJsb2NrTnVtYmVyKTtjYXNlIDE5Om89dC5zZW50LHc9byxlLmV2ZW50RW1pdHRlci5lbWl0KCJjb25maXJtYXRpb24iLGYscixjKTtjYXNlIDIyOnQubmV4dD0yNTticmVhaztjYXNlIDI0OmUuZXZlbnRFbWl0dGVyLmVtaXQoImNvbmZpcm1hdGlvbiIsZixyLGMpO2Nhc2UgMjU6KGImJm98fCFiKSYmZisrLGE9ITEsZj09PW4udHJhbnNhY3Rpb25Db25maXJtYXRpb25CbG9ja3MrMSYmKEUudW5zdWJzY3JpYmUoKSxlLmV2ZW50RW1pdHRlci5yZW1vdmVBbGxMaXN0ZW5lcnMoKSk7Y2FzZSAyODpyZXR1cm4gdC5hYnJ1cHQoInJldHVybiIscik7Y2FzZSAyOTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSkudGhlbihmdW5jdGlvbigpe3ZhciB0PSgwLHMuZGVmYXVsdCkoaS5kZWZhdWx0Lm1hcmsoKGZ1bmN0aW9uIHQocil7dmFyIHM7cmV0dXJuIGkuZGVmYXVsdC53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZigha3x8byl7dC5uZXh0PTE5O2JyZWFrfWlmKHIuY29udHJhY3RBZGRyZXNzKXt0Lm5leHQ9NTticmVha31yZXR1cm4gYSYmKEUudW5zdWJzY3JpYmUoKSxvPSEwKSxoLl9maXJlRXJyb3IoZC5Ob0NvbnRyYWN0QWRkcmVzc0ZvdW5kRXJyb3IociksZS5ldmVudEVtaXR0ZXIsZS5yZWplY3QsbnVsbCxyKSx0LmFicnVwdCgicmV0dXJuIik7Y2FzZSA1OnJldHVybiB0LnByZXY9NSx0Lm5leHQ9OCx4LmdldENvZGUoci5jb250cmFjdEFkZHJlc3MpO2Nhc2UgODpzPXQuc2VudCx0Lm5leHQ9MTM7YnJlYWs7Y2FzZSAxMTp0LnByZXY9MTEsdC50MD10LmNhdGNoKDUpO2Nhc2UgMTM6aWYocyl7dC5uZXh0PTE1O2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIik7Y2FzZSAxNTohMD09PXIuc3RhdHVzJiZffHxzLmxlbmd0aD4yPyhlLmV2ZW50RW1pdHRlci5lbWl0KCJyZWNlaXB0IixyKSxuLmV4dHJhRm9ybWF0dGVycyYmbi5leHRyYUZvcm1hdHRlcnMuY29udHJhY3REZXBsb3lGb3JtYXR0ZXI/ZS5yZXNvbHZlKG4uZXh0cmFGb3JtYXR0ZXJzLmNvbnRyYWN0RGVwbG95Rm9ybWF0dGVyKHIpKTplLnJlc29sdmUociksYSYmZS5ldmVudEVtaXR0ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCkpOmguX2ZpcmVFcnJvcihkLkNvbnRyYWN0Q29kZU5vdFN0b3JlZEVycm9yKHIpLGUuZXZlbnRFbWl0dGVyLGUucmVqZWN0LG51bGwsciksYSYmRS51bnN1YnNjcmliZSgpLG89ITA7Y2FzZSAxOTpyZXR1cm4gdC5hYnJ1cHQoInJldHVybiIscik7Y2FzZSAyMDpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsbnVsbCxbWzUsMTFdXSl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKS50aGVuKGZ1bmN0aW9uKCl7dmFyIHQ9KDAscy5kZWZhdWx0KShpLmRlZmF1bHQubWFyaygoZnVuY3Rpb24gdChzKXt2YXIgdSxjLGYscDtyZXR1cm4gaS5kZWZhdWx0LndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKGt8fG8pe3QubmV4dD0zNTticmVha31pZihzLm91dE9mR2FzfHxBJiZBPT09cy5nYXNVc2VkfHwhMCE9PXMuc3RhdHVzJiYiMHgxIiE9PXMuc3RhdHVzJiZ2b2lkIDAhPT1zLnN0YXR1cyl7dC5uZXh0PTc7YnJlYWt9ZS5ldmVudEVtaXR0ZXIuZW1pdCgicmVjZWlwdCIscyksZS5yZXNvbHZlKHMpLGEmJmUuZXZlbnRFbWl0dGVyLnJlbW92ZUFsbExpc3RlbmVycygpLHQubmV4dD0zMzticmVhaztjYXNlIDc6aWYoSlNPTi5zdHJpbmdpZnkocyxudWxsLDIpLCExIT09cy5zdGF0dXMmJiIweDAiIT09cy5zdGF0dXMpe3QubmV4dD0zMjticmVha31pZih0LnByZXY9OSx1PW51bGwsIW4uaGFuZGxlUmV2ZXJ0fHwiZXRoX3NlbmRUcmFuc2FjdGlvbiIhPT1uLmNhbGwmJiJldGhfc2VuZFJhd1RyYW5zYWN0aW9uIiE9PW4uY2FsbCl7dC5uZXh0PTI0O2JyZWFrfXJldHVybiBjPXIucGFyYW1zWzBdLCJldGhfc2VuZFJhd1RyYW5zYWN0aW9uIj09PW4uY2FsbCYmKGY9ci5wYXJhbXNbMF0scD15LnBhcnNlKGYpLGM9bC5pbnB1dFRyYW5zYWN0aW9uRm9ybWF0dGVyKHtkYXRhOnAuZGF0YSx0bzpwLnRvLGZyb206cC5mcm9tLGdhczpwLmdhc0xpbWl0LnRvSGV4U3RyaW5nKCksZ2FzUHJpY2U6cC5nYXNQcmljZT9wLmdhc1ByaWNlLnRvSGV4U3RyaW5nKCk6dm9pZCAwLHZhbHVlOnAudmFsdWUudG9IZXhTdHJpbmcoKX0pKSx0Lm5leHQ9MTYsbi5nZXRSZXZlcnRSZWFzb24oYyxzLmJsb2NrTnVtYmVyKTtjYXNlIDE2OmlmKCEodT10LnNlbnQpKXt0Lm5leHQ9MjE7YnJlYWt9aC5fZmlyZUVycm9yKGQuVHJhbnNhY3Rpb25SZXZlcnRJbnN0cnVjdGlvbkVycm9yKHUucmVhc29uLHUuc2lnbmF0dXJlLHMpLGUuZXZlbnRFbWl0dGVyLGUucmVqZWN0LG51bGwscyksdC5uZXh0PTIyO2JyZWFrO2Nhc2UgMjE6dGhyb3chMTtjYXNlIDIyOnQubmV4dD0yNTticmVhaztjYXNlIDI0OnRocm93ITE7Y2FzZSAyNTp0Lm5leHQ9MzA7YnJlYWs7Y2FzZSAyNzp0LnByZXY9MjcsdC50MD10LmNhdGNoKDkpLGguX2ZpcmVFcnJvcihkLlRyYW5zYWN0aW9uUmV2ZXJ0ZWRXaXRob3V0UmVhc29uRXJyb3IocyksZS5ldmVudEVtaXR0ZXIsZS5yZWplY3QsbnVsbCxzKTtjYXNlIDMwOnQubmV4dD0zMzticmVhaztjYXNlIDMyOmguX2ZpcmVFcnJvcihkLlRyYW5zYWN0aW9uT3V0T2ZHYXNFcnJvcihzKSxlLmV2ZW50RW1pdHRlcixlLnJlamVjdCxudWxsLHMpO2Nhc2UgMzM6YSYmRS51bnN1YnNjcmliZSgpLG89ITA7Y2FzZSAzNTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsbnVsbCxbWzksMjddXSl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKS5jYXRjaCgoZnVuY3Rpb24oKXtjKyssYj9jLTE+PW4udHJhbnNhY3Rpb25Qb2xsaW5nVGltZW91dCYmKEUudW5zdWJzY3JpYmUoKSxvPSEwLGguX2ZpcmVFcnJvcihkLlRyYW5zYWN0aW9uRXJyb3IoIlRyYW5zYWN0aW9uIHdhcyBub3QgbWluZWQgd2l0aGluICIrbi50cmFuc2FjdGlvblBvbGxpbmdUaW1lb3V0KyIgc2Vjb25kcywgcGxlYXNlIG1ha2Ugc3VyZSB5b3VyIHRyYW5zYWN0aW9uIHdhcyBwcm9wZXJseSBzZW50LiBCZSBhd2FyZSB0aGF0IGl0IG1pZ2h0IHN0aWxsIGJlIG1pbmVkISIpLGUuZXZlbnRFbWl0dGVyLGUucmVqZWN0KSk6Yy0xPj1uLnRyYW5zYWN0aW9uQmxvY2tUaW1lb3V0JiYoRS51bnN1YnNjcmliZSgpLG89ITAsaC5fZmlyZUVycm9yKGQuVHJhbnNhY3Rpb25FcnJvcigiVHJhbnNhY3Rpb24gd2FzIG5vdCBtaW5lZCB3aXRoaW4gIituLnRyYW5zYWN0aW9uQmxvY2tUaW1lb3V0KyIgYmxvY2tzLCBwbGVhc2UgbWFrZSBzdXJlIHlvdXIgdHJhbnNhY3Rpb24gd2FzIHByb3Blcmx5IHNlbnQuIEJlIGF3YXJlIHRoYXQgaXQgbWlnaHQgc3RpbGwgYmUgbWluZWQhIiksZS5ldmVudEVtaXR0ZXIsZS5yZWplY3QpKX0pKTtFLnVuc3Vic2NyaWJlKCksbz0hMCxoLl9maXJlRXJyb3Ioe21lc3NhZ2U6IkZhaWxlZCB0byBzdWJzY3JpYmUgdG8gbmV3IG5ld0Jsb2NrSGVhZGVycyB0byBjb25maXJtIHRoZSB0cmFuc2FjdGlvbiByZWNlaXB0cy4iLGRhdGE6bX0sZS5ldmVudEVtaXR0ZXIsZS5yZWplY3QpfSxQPWZ1bmN0aW9uKGUpe3ZhciB0PSExLHI9ZnVuY3Rpb24oKXt2PXNldEludGVydmFsKEUuYmluZChudWxsLGUsITApLG4udHJhbnNhY3Rpb25Qb2xsaW5nSW50ZXJ2YWwpfTtpZighdGhpcy5yZXF1ZXN0TWFuYWdlci5wcm92aWRlci5vbilyZXR1cm4gcigpO3guc3Vic2NyaWJlKCJuZXdCbG9ja0hlYWRlcnMiLChmdW5jdGlvbihuLGksbyl7aWYodD0hMCxufHwhaSlyZXR1cm4gcigpO0UoZSwhMSxuLDAsbyl9KSksZz1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3R8fHIoKX0pLDFlMyp0aGlzLmJsb2NrSGVhZGVyVGltZW91dCl9LmJpbmQodGhpcyk7eC5nZXRUcmFuc2FjdGlvblJlY2VpcHQodCkudGhlbigoZnVuY3Rpb24odCl7dCYmdC5ibG9ja0hhc2g/KGUuZXZlbnRFbWl0dGVyLmxpc3RlbmVycygiY29uZmlybWF0aW9uIikubGVuZ3RoPjAmJlAodCksRSh0LCExKSk6b3x8UCgpfSkpLmNhdGNoKChmdW5jdGlvbigpe298fFAoKX0pKX07dmFyIHY9ZnVuY3Rpb24oZSx0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dC53YWxsZXRbZV06ZSYmIm9iamVjdCI9PT0oMCx1LmRlZmF1bHQpKGUpJiZlLmFkZHJlc3MmJmUucHJpdmF0ZUtleT9lOnQud2FsbGV0W2UudG9Mb3dlckNhc2UoKV19O2Z1bmN0aW9uIGcoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHIsbil7dHJ5e3ZhciBpPW5ldyBtKHtuYW1lOiJnZXRCbG9ja0J5TnVtYmVyIixjYWxsOiJldGhfZ2V0QmxvY2tCeU51bWJlciIscGFyYW1zOjIsaW5wdXRGb3JtYXR0ZXI6W2Z1bmN0aW9uKGUpe3JldHVybiBlP2gudG9IZXgoZSk6ImxhdGVzdCJ9LGZ1bmN0aW9uKCl7cmV0dXJuITF9XX0pLmNyZWF0ZUZ1bmN0aW9uKGUucmVxdWVzdE1hbmFnZXIpLGE9bmV3IG0oe25hbWU6ImdldEdhc1ByaWNlIixjYWxsOiJldGhfZ2FzUHJpY2UiLHBhcmFtczowfSkuY3JlYXRlRnVuY3Rpb24oZS5yZXF1ZXN0TWFuYWdlcik7UHJvbWlzZS5hbGwoW2koKSxhKCldKS50aGVuKChmdW5jdGlvbihlKXt2YXIgbj0oMCxvLmRlZmF1bHQpKGUsMiksaT1uWzBdLGE9blsxXTtpZigoIjB4MiI9PT10LnR5cGV8fHZvaWQgMD09PXQudHlwZSkmJmkmJmkuYmFzZUZlZVBlckdhcyl7dmFyIHMsdTt0Lmdhc1ByaWNlPyhzPXQuZ2FzUHJpY2UsdT10Lmdhc1ByaWNlLGRlbGV0ZSB0Lmdhc1ByaWNlKToocz10Lm1heFByaW9yaXR5RmVlUGVyR2FzfHwiMHg5NTAyRjkwMCIsdT10Lm1heEZlZVBlckdhc3x8aC50b0hleChoLnRvQk4oaS5iYXNlRmVlUGVyR2FzKS5tdWwoaC50b0JOKDIpKS5hZGQoaC50b0JOKHMpKSkpLHIoe21heEZlZVBlckdhczp1LG1heFByaW9yaXR5RmVlUGVyR2FzOnN9KX1lbHNle2lmKHQubWF4UHJpb3JpdHlGZWVQZXJHYXN8fHQubWF4RmVlUGVyR2FzKXRocm93IEVycm9yKCJOZXR3b3JrIGRvZXNuJ3Qgc3VwcG9ydCBlaXAtMTU1OSIpO3Ioe2dhc1ByaWNlOmF9KX19KSl9Y2F0Y2goZSl7bihlKX19KSl9bS5wcm90b3R5cGUuYnVpbGRDYWxsPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PSJldGhfc2VuZFRyYW5zYWN0aW9uIj09PWUuY2FsbHx8ImV0aF9zZW5kUmF3VHJhbnNhY3Rpb24iPT09ZS5jYWxsLHI9ImV0aF9jYWxsIj09PWUuY2FsbCxuPWZ1bmN0aW9uKCl7dmFyIG49QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSxpPXAoIXQpLG89ZS50b1BheWxvYWQobik7ZS5oZXhGb3JtYXQ9ITEsImV0aF9nZXRUcmFuc2FjdGlvblJlY2VpcHQiPT09ZS5jYWxsJiYoZS5oZXhGb3JtYXQ9by5wYXJhbXMubGVuZ3RoPG4ubGVuZ3RoJiYiaGV4Ij09PW5bbi5sZW5ndGgtMV0pO3ZhciBhPWZ1bmN0aW9uKG4sYSl7dmFyIHM7aWYoZS5oYW5kbGVSZXZlcnQmJnImJmUuYWJpQ29kZXImJighbiYmZS5pc1JldmVydFJlYXNvblN0cmluZyhhKT9zPWEuc3Vic3RyaW5nKDEwKTpuJiZuLmRhdGEmJihzPW4uZGF0YS5zdWJzdHJpbmcoMTApKSxzKSl7dmFyIHU9ZS5hYmlDb2Rlci5kZWNvZGVQYXJhbWV0ZXIoInN0cmluZyIsIjB4IitzKSxjPSJFcnJvcihTdHJpbmcpIjtoLl9maXJlRXJyb3IoZC5SZXZlcnRJbnN0cnVjdGlvbkVycm9yKHUsYyksaS5ldmVudEVtaXR0ZXIsaS5yZWplY3Qsby5jYWxsYmFjayx7cmVhc29uOnUsc2lnbmF0dXJlOmN9KX1lbHNle3RyeXthPWUuZm9ybWF0T3V0cHV0KGEpfWNhdGNoKGUpe249ZX1pZihhIGluc3RhbmNlb2YgRXJyb3ImJihuPWEpLG4pcmV0dXJuIG4uZXJyb3ImJihuPW4uZXJyb3IpLGguX2ZpcmVFcnJvcihuLGkuZXZlbnRFbWl0dGVyLGkucmVqZWN0LG8uY2FsbGJhY2spO28uY2FsbGJhY2smJm8uY2FsbGJhY2sobnVsbCxhKSx0PyhpLmV2ZW50RW1pdHRlci5lbWl0KCJ0cmFuc2FjdGlvbkhhc2giLGEpLGUuX2NvbmZpcm1UcmFuc2FjdGlvbihpLGEsbykpOm58fGkucmVzb2x2ZShhKX19LHM9ZnVuY3Rpb24odCl7dmFyIHI9ZihmKHt9LG8pLHt9LHttZXRob2Q6ImV0aF9zZW5kUmF3VHJhbnNhY3Rpb24iLHBhcmFtczpbdC5yYXdUcmFuc2FjdGlvbl19KTtlLnJlcXVlc3RNYW5hZ2VyLnNlbmQocixhKX0sYz1mdW5jdGlvbihlLHQpe3ZhciByO2lmKHQmJnQuYWNjb3VudHMmJnQuYWNjb3VudHMud2FsbGV0JiZ0LmFjY291bnRzLndhbGxldC5sZW5ndGgpaWYoImV0aF9zZW5kVHJhbnNhY3Rpb24iPT09ZS5tZXRob2Qpe3ZhciBuPWUucGFyYW1zWzBdO2lmKChyPXYobiYmIm9iamVjdCI9PT0oMCx1LmRlZmF1bHQpKG4pP24uZnJvbTpudWxsLHQuYWNjb3VudHMpKSYmci5wcml2YXRlS2V5KXJldHVybiBkZWxldGUobj1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG4pKSkuZnJvbSx0LmRlZmF1bHRDaGFpbiYmIW4uY2hhaW4mJihuLmNoYWluPXQuZGVmYXVsdENoYWluKSx0LmRlZmF1bHRIYXJkZm9yayYmIW4uaGFyZGZvcmsmJihuLmhhcmRmb3JrPXQuZGVmYXVsdEhhcmRmb3JrKSx0LmRlZmF1bHRDb21tb24mJiFuLmNvbW1vbiYmKG4uY29tbW9uPXQuZGVmYXVsdENvbW1vbiksdm9pZCB0LmFjY291bnRzLnNpZ25UcmFuc2FjdGlvbihuLHIucHJpdmF0ZUtleSkudGhlbihzKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGkuZXZlbnRFbWl0dGVyLmxpc3RlbmVycyYmaS5ldmVudEVtaXR0ZXIubGlzdGVuZXJzKCJlcnJvciIpLmxlbmd0aCl7dHJ5e2kuZXZlbnRFbWl0dGVyLmVtaXQoImVycm9yIixlKX1jYXRjaChlKXt9aS5ldmVudEVtaXR0ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCksaS5ldmVudEVtaXR0ZXIuY2F0Y2goKGZ1bmN0aW9uKCl7fSkpfWkucmVqZWN0KGUpfSkpfWVsc2UgaWYoImV0aF9zaWduIj09PWUubWV0aG9kKXt2YXIgbz1lLnBhcmFtc1sxXTtpZigocj12KGUucGFyYW1zWzBdLHQuYWNjb3VudHMpKSYmci5wcml2YXRlS2V5KXt2YXIgYz10LmFjY291bnRzLnNpZ24obyxyLnByaXZhdGVLZXkpO3JldHVybiBlLmNhbGxiYWNrJiZlLmNhbGxiYWNrKG51bGwsYy5zaWduYXR1cmUpLHZvaWQgaS5yZXNvbHZlKGMuc2lnbmF0dXJlKX19cmV0dXJuIHQucmVxdWVzdE1hbmFnZXIuc2VuZChlLGEpfTtyZXR1cm4gdCYmby5wYXJhbXNbMF0mJiJvYmplY3QiPT09KDAsdS5kZWZhdWx0KShvLnBhcmFtc1swXSkmJnZvaWQgMD09PW8ucGFyYW1zWzBdLmdhc1ByaWNlJiYodm9pZCAwPT09by5wYXJhbXNbMF0ubWF4UHJpb3JpdHlGZWVQZXJHYXN8fHZvaWQgMD09PW8ucGFyYW1zWzBdLm1heEZlZVBlckdhcyk/ZyhlLG8ucGFyYW1zWzBdKS50aGVuKChmdW5jdGlvbihyKXt2b2lkIDAhPT1yLmdhc1ByaWNlP28ucGFyYW1zWzBdLmdhc1ByaWNlPXIuZ2FzUHJpY2U6dm9pZCAwIT09ci5tYXhQcmlvcml0eUZlZVBlckdhcyYmdm9pZCAwIT09ci5tYXhGZWVQZXJHYXMmJihvLnBhcmFtc1swXS5tYXhQcmlvcml0eUZlZVBlckdhcz1yLm1heFByaW9yaXR5RmVlUGVyR2FzLG8ucGFyYW1zWzBdLm1heEZlZVBlckdhcz1yLm1heEZlZVBlckdhcyksdCYmc2V0VGltZW91dCgoZnVuY3Rpb24oKXtpLmV2ZW50RW1pdHRlci5lbWl0KCJzZW5kaW5nIixvKX0pLDApLGMobyxlKX0pKToodCYmc2V0VGltZW91dCgoZnVuY3Rpb24oKXtpLmV2ZW50RW1pdHRlci5lbWl0KCJzZW5kaW5nIixvKX0pLDApLGMobyxlKSksdCYmc2V0VGltZW91dCgoZnVuY3Rpb24oKXtpLmV2ZW50RW1pdHRlci5lbWl0KCJzZW50IixvKX0pLDApLGkuZXZlbnRFbWl0dGVyfTtyZXR1cm4gbi5tZXRob2Q9ZSxuLnJlcXVlc3Q9dGhpcy5yZXF1ZXN0LmJpbmQodGhpcyksbn0sbS5wcm90b3R5cGUuZ2V0UmV2ZXJ0UmVhc29uPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4saSl7bmV3IG0oe25hbWU6ImNhbGwiLGNhbGw6ImV0aF9jYWxsIixwYXJhbXM6MixhYmlDb2RlcjpyLmFiaUNvZGVyLGhhbmRsZVJldmVydDohMH0pLmNyZWF0ZUZ1bmN0aW9uKHIucmVxdWVzdE1hbmFnZXIpKGUsaC5udW1iZXJUb0hleCh0KSkudGhlbigoZnVuY3Rpb24oKXtuKCExKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7ZS5yZWFzb24/bih7cmVhc29uOmUucmVhc29uLHNpZ25hdHVyZTplLnNpZ25hdHVyZX0pOmkoZSl9KSl9KSl9LG0ucHJvdG90eXBlLmlzUmV2ZXJ0UmVhc29uU3RyaW5nPWZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmKGUubGVuZ3RoLTIpLzIlMzI9PTQmJiIweDA4YzM3OWEwIj09PWUuc3Vic3RyaW5nKDAsMTApfSxtLnByb3RvdHlwZS5yZXF1ZXN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50b1BheWxvYWQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSk7cmV0dXJuIGUuZm9ybWF0PXRoaXMuZm9ybWF0T3V0cHV0LmJpbmQodGhpcyksZX0sZS5leHBvcnRzPW19LDI4MjooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODAwOCksaT1mdW5jdGlvbihlKXt2YXIgdCxyLGk9bmV3IFByb21pc2UoKGZ1bmN0aW9uKCl7dD1hcmd1bWVudHNbMF0scj1hcmd1bWVudHNbMV19KSk7aWYoZSlyZXR1cm57cmVzb2x2ZTp0LHJlamVjdDpyLGV2ZW50RW1pdHRlcjppfTt2YXIgbz1uZXcgbjtyZXR1cm4gaS5fZXZlbnRzPW8uX2V2ZW50cyxpLmVtaXQ9by5lbWl0LGkub249by5vbixpLm9uY2U9by5vbmNlLGkub2ZmPW8ub2ZmLGkubGlzdGVuZXJzPW8ubGlzdGVuZXJzLGkuYWRkTGlzdGVuZXI9by5hZGRMaXN0ZW5lcixpLnJlbW92ZUxpc3RlbmVyPW8ucmVtb3ZlTGlzdGVuZXIsaS5yZW1vdmVBbGxMaXN0ZW5lcnM9by5yZW1vdmVBbGxMaXN0ZW5lcnMse3Jlc29sdmU6dCxyZWplY3Q6cixldmVudEVtaXR0ZXI6aX19O2kucmVzb2x2ZT1mdW5jdGlvbihlKXt2YXIgdD1pKCEwKTtyZXR1cm4gdC5yZXNvbHZlKGUpLHQuZXZlbnRFbWl0dGVyfSxlLmV4cG9ydHM9aX0sNTIyOTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODE1NSksaT1yKDEzMTQpLmVycm9ycyxvPWZ1bmN0aW9uKGUpe3RoaXMucmVxdWVzdE1hbmFnZXI9ZSx0aGlzLnJlcXVlc3RzPVtdfTtvLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oZSl7dGhpcy5yZXF1ZXN0cy5wdXNoKGUpfSxvLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5yZXF1ZXN0cyx0PXRoaXMuX3NvcnRSZXNwb25zZXMuYmluZCh0aGlzKTt0aGlzLnJlcXVlc3RNYW5hZ2VyLnNlbmRCYXRjaChlLChmdW5jdGlvbihyLG8pe289dChvKSxlLm1hcCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gb1t0XXx8e319KSkuZm9yRWFjaCgoZnVuY3Rpb24odCxyKXtpZihlW3JdLmNhbGxiYWNrKXtpZih0JiZ0LmVycm9yKXJldHVybiBlW3JdLmNhbGxiYWNrKGkuRXJyb3JSZXNwb25zZSh0KSk7aWYoIW4uaXNWYWxpZFJlc3BvbnNlKHQpKXJldHVybiBlW3JdLmNhbGxiYWNrKGkuSW52YWxpZFJlc3BvbnNlKHQpKTt0cnl7ZVtyXS5jYWxsYmFjayhudWxsLGVbcl0uZm9ybWF0P2Vbcl0uZm9ybWF0KHQucmVzdWx0KTp0LnJlc3VsdCl9Y2F0Y2godCl7ZVtyXS5jYWxsYmFjayh0KX19fSkpfSkpfSxvLnByb3RvdHlwZS5fc29ydFJlc3BvbnNlcz1mdW5jdGlvbihlKXtyZXR1cm4oZXx8W10pLnNvcnQoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuaWQtdC5pZH0pKX0sZS5leHBvcnRzPW99LDk3NjQ6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDg4NDcpKHIoMzM1NSkpLGk9bnVsbCxvPSJvYmplY3QiPT09KCJ1bmRlZmluZWQiPT10eXBlb2YgZ2xvYmFsVGhpcz8idW5kZWZpbmVkIjooMCxuLmRlZmF1bHQpKGdsb2JhbFRoaXMpKT9nbG9iYWxUaGlzOnZvaWQgMDtpZighbyl0cnl7bz1GdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKGUpe289c2VsZn12b2lkIDAhPT1vLmV0aGVyZXVtP2k9by5ldGhlcmV1bTp2b2lkIDAhPT1vLndlYjMmJm8ud2ViMy5jdXJyZW50UHJvdmlkZXImJihvLndlYjMuY3VycmVudFByb3ZpZGVyLnNlbmRBc3luYyYmKG8ud2ViMy5jdXJyZW50UHJvdmlkZXIuc2VuZD1vLndlYjMuY3VycmVudFByb3ZpZGVyLnNlbmRBc3luYyxkZWxldGUgby53ZWIzLmN1cnJlbnRQcm92aWRlci5zZW5kQXN5bmMpLCFvLndlYjMuY3VycmVudFByb3ZpZGVyLm9uJiZvLndlYjMuY3VycmVudFByb3ZpZGVyLmNvbm5lY3Rpb24mJiJpcGNQcm92aWRlcldyYXBwZXIiPT09by53ZWIzLmN1cnJlbnRQcm92aWRlci5jb25uZWN0aW9uLmNvbnN0cnVjdG9yLm5hbWUmJihvLndlYjMuY3VycmVudFByb3ZpZGVyLm9uPWZ1bmN0aW9uKGUsdCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJUaGUgc2Vjb25kIHBhcmFtZXRlciBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24uIik7ImRhdGEiPT09ZT90aGlzLmNvbm5lY3Rpb24ub24oImRhdGEiLChmdW5jdGlvbihlKXt2YXIgcj0iIjtlPWUudG9TdHJpbmcoKTt0cnl7cj1KU09OLnBhcnNlKGUpfWNhdGNoKHIpe3JldHVybiB0KG5ldyBFcnJvcigiQ291bGRuJ3QgcGFyc2UgcmVzcG9uc2UgZGF0YSIrZSkpfXIuaWR8fC0xPT09ci5tZXRob2QuaW5kZXhPZigiX3N1YnNjcmlwdGlvbiIpfHx0KG51bGwscil9KSk6dGhpcy5jb25uZWN0aW9uLm9uKGUsdCl9KSxpPW8ud2ViMy5jdXJyZW50UHJvdmlkZXIpLGUuZXhwb3J0cz1pfSwyMDMzOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KShyKDMzNTUpKSxpPXIoNTA1OCkuY2FsbGJhY2tpZnksbz1yKDEzMTQpLmVycm9ycyxhPXIoODE1NSkscz1yKDUyMjkpLHU9cig5NzY0KSxjPWZ1bmN0aW9uIGUodCxyKXt0aGlzLnByb3ZpZGVyPW51bGwsdGhpcy5wcm92aWRlcnM9ZS5wcm92aWRlcnMsdGhpcy5zZXRQcm92aWRlcih0LHIpLHRoaXMuc3Vic2NyaXB0aW9ucz1uZXcgTWFwfTtjLmdpdmVuUHJvdmlkZXI9dSxjLnByb3ZpZGVycz17V2Vic29ja2V0UHJvdmlkZXI6cig3NjUxKSxIdHRwUHJvdmlkZXI6cig0NTY1KSxJcGNQcm92aWRlcjpyKDI2ODMpfSxjLnByb3RvdHlwZS5zZXRQcm92aWRlcj1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXM7aWYoZSYmInN0cmluZyI9PXR5cGVvZiBlJiZ0aGlzLnByb3ZpZGVycylpZigvXmh0dHAocyk/OlwvXC8vaS50ZXN0KGUpKWU9bmV3IHRoaXMucHJvdmlkZXJzLkh0dHBQcm92aWRlcihlKTtlbHNlIGlmKC9ed3Mocyk/OlwvXC8vaS50ZXN0KGUpKWU9bmV3IHRoaXMucHJvdmlkZXJzLldlYnNvY2tldFByb3ZpZGVyKGUpO2Vsc2UgaWYoZSYmIm9iamVjdCI9PT0oMCxuLmRlZmF1bHQpKHQpJiYiZnVuY3Rpb24iPT10eXBlb2YgdC5jb25uZWN0KWU9bmV3IHRoaXMucHJvdmlkZXJzLklwY1Byb3ZpZGVyKGUsdCk7ZWxzZSBpZihlKXRocm93IG5ldyBFcnJvcigiQ2FuJ3QgYXV0b2RldGVjdCBwcm92aWRlciBmb3IgXCIiK2UrJyInKTt0aGlzLnByb3ZpZGVyJiZ0aGlzLnByb3ZpZGVyLmNvbm5lY3RlZCYmdGhpcy5jbGVhclN1YnNjcmlwdGlvbnMoKSx0aGlzLnByb3ZpZGVyPWV8fG51bGwsdGhpcy5wcm92aWRlciYmdGhpcy5wcm92aWRlci5vbiYmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLnJlcXVlc3Q/dGhpcy5wcm92aWRlci5vbigibWVzc2FnZSIsKGZ1bmN0aW9uKGUpe2lmKGUmJiJldGhfc3Vic2NyaXB0aW9uIj09PWUudHlwZSYmZS5kYXRhKXt2YXIgdD1lLmRhdGE7dC5zdWJzY3JpcHRpb24mJnIuc3Vic2NyaXB0aW9ucy5oYXModC5zdWJzY3JpcHRpb24pJiZyLnN1YnNjcmlwdGlvbnMuZ2V0KHQuc3Vic2NyaXB0aW9uKS5jYWxsYmFjayhudWxsLHQucmVzdWx0KX19KSk6dGhpcy5wcm92aWRlci5vbigiZGF0YSIsKGZ1bmN0aW9uKGUsdCl7KGU9ZXx8dCkubWV0aG9kJiZlLnBhcmFtcyYmZS5wYXJhbXMuc3Vic2NyaXB0aW9uJiZyLnN1YnNjcmlwdGlvbnMuaGFzKGUucGFyYW1zLnN1YnNjcmlwdGlvbikmJnIuc3Vic2NyaXB0aW9ucy5nZXQoZS5wYXJhbXMuc3Vic2NyaXB0aW9uKS5jYWxsYmFjayhudWxsLGUucGFyYW1zLnJlc3VsdCl9KSksdGhpcy5wcm92aWRlci5vbigiY29ubmVjdCIsKGZ1bmN0aW9uKCl7ci5zdWJzY3JpcHRpb25zLmZvckVhY2goKGZ1bmN0aW9uKGUpe2Uuc3Vic2NyaXB0aW9uLnJlc3Vic2NyaWJlKCl9KSl9KSksdGhpcy5wcm92aWRlci5vbigiZXJyb3IiLChmdW5jdGlvbihlKXtyLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5jYWxsYmFjayhlKX0pKX0pKSx0aGlzLnByb3ZpZGVyLm9uKCJkaXNjb25uZWN0IiwoZnVuY3Rpb24oZSl7ci5faXNDbGVhbkNsb3NlRXZlbnQoZSkmJiFyLl9pc0lwY0Nsb3NlRXJyb3IoZSl8fChyLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5jYWxsYmFjayhvLkNvbm5lY3Rpb25DbG9zZUVycm9yKGUpKSxyLnN1YnNjcmlwdGlvbnMuZGVsZXRlKHQuc3Vic2NyaXB0aW9uLmlkKX0pKSxyLnByb3ZpZGVyJiZyLnByb3ZpZGVyLmVtaXQmJnIucHJvdmlkZXIuZW1pdCgiZXJyb3IiLG8uQ29ubmVjdGlvbkNsb3NlRXJyb3IoZSkpKSxyLnByb3ZpZGVyJiZyLnByb3ZpZGVyLmVtaXQmJnIucHJvdmlkZXIuZW1pdCgiZW5kIixlKX0pKSl9LGMucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oZSx0KXtpZih0PXR8fGZ1bmN0aW9uKCl7fSwhdGhpcy5wcm92aWRlcilyZXR1cm4gdChvLkludmFsaWRQcm92aWRlcigpKTt2YXIgcj1lLm1ldGhvZCxuPWUucGFyYW1zLHM9YS50b1BheWxvYWQocixuKSx1PXRoaXMuX2pzb25ycGNSZXN1bHRDYWxsYmFjayh0LHMpO2lmKHRoaXMucHJvdmlkZXIucmVxdWVzdClpKHRoaXMucHJvdmlkZXIucmVxdWVzdC5iaW5kKHRoaXMucHJvdmlkZXIpKSh7bWV0aG9kOnIscGFyYW1zOm59LHQpO2Vsc2UgaWYodGhpcy5wcm92aWRlci5zZW5kQXN5bmMpdGhpcy5wcm92aWRlci5zZW5kQXN5bmMocyx1KTtlbHNle2lmKCF0aGlzLnByb3ZpZGVyLnNlbmQpdGhyb3cgbmV3IEVycm9yKCJQcm92aWRlciBkb2VzIG5vdCBoYXZlIGEgcmVxdWVzdCBvciBzZW5kIG1ldGhvZCB0byB1c2UuIik7dGhpcy5wcm92aWRlci5zZW5kKHMsdSl9fSxjLnByb3RvdHlwZS5zZW5kQmF0Y2g9ZnVuY3Rpb24oZSx0KXtpZighdGhpcy5wcm92aWRlcilyZXR1cm4gdChvLkludmFsaWRQcm92aWRlcigpKTt2YXIgcj1hLnRvQmF0Y2hQYXlsb2FkKGUpO3RoaXMucHJvdmlkZXJbdGhpcy5wcm92aWRlci5zZW5kQXN5bmM/InNlbmRBc3luYyI6InNlbmQiXShyLChmdW5jdGlvbihlLHIpe3JldHVybiBlP3QoZSk6QXJyYXkuaXNBcnJheShyKT92b2lkIHQobnVsbCxyKTp0KG8uSW52YWxpZFJlc3BvbnNlKHIpKX0pKX0sYy5wcm90b3R5cGUuYWRkU3Vic2NyaXB0aW9uPWZ1bmN0aW9uKGUsdCl7aWYoIXRoaXMucHJvdmlkZXIub24pdGhyb3cgbmV3IEVycm9yKCJUaGUgcHJvdmlkZXIgZG9lc24ndCBzdXBwb3J0IHN1YnNjcmlwdGlvbnM6ICIrdGhpcy5wcm92aWRlci5jb25zdHJ1Y3Rvci5uYW1lKTt0aGlzLnN1YnNjcmlwdGlvbnMuc2V0KGUuaWQse2NhbGxiYWNrOnQsc3Vic2NyaXB0aW9uOmV9KX0sYy5wcm90b3R5cGUucmVtb3ZlU3Vic2NyaXB0aW9uPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5zdWJzY3JpcHRpb25zLmhhcyhlKSl7dmFyIHI9dGhpcy5zdWJzY3JpcHRpb25zLmdldChlKS5zdWJzY3JpcHRpb24ub3B0aW9ucy50eXBlO3JldHVybiB0aGlzLnN1YnNjcmlwdGlvbnMuZGVsZXRlKGUpLHZvaWQgdGhpcy5zZW5kKHttZXRob2Q6cisiX3Vuc3Vic2NyaWJlIixwYXJhbXM6W2VdfSx0KX0iZnVuY3Rpb24iPT10eXBlb2YgdCYmdChudWxsKX0sYy5wcm90b3R5cGUuY2xlYXJTdWJzY3JpcHRpb25zPWZ1bmN0aW9uKGUpe3RyeXt2YXIgdD10aGlzO3JldHVybiB0aGlzLnN1YnNjcmlwdGlvbnMuc2l6ZT4wJiZ0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoZnVuY3Rpb24ocixuKXtlJiYic3luY2luZyI9PT1yLm5hbWV8fHQucmVtb3ZlU3Vic2NyaXB0aW9uKG4pfSkpLHRoaXMucHJvdmlkZXIucmVzZXQmJnRoaXMucHJvdmlkZXIucmVzZXQoKSwhMH1jYXRjaChlKXt0aHJvdyBuZXcgRXJyb3IoIkVycm9yIHdoaWxlIGNsZWFyaW5nIHN1YnNjcmlwdGlvbnM6ICIuY29uY2F0KGUpKX19LGMucHJvdG90eXBlLl9pc0NsZWFuQ2xvc2VFdmVudD1mdW5jdGlvbihlKXtyZXR1cm4ib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkoZSkmJihbMWUzXS5pbmNsdWRlcyhlLmNvZGUpfHwhMD09PWUud2FzQ2xlYW4pfSxjLnByb3RvdHlwZS5faXNJcGNDbG9zZUVycm9yPWZ1bmN0aW9uKGUpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGUmJmV9LGMucHJvdG90eXBlLl9qc29ucnBjUmVzdWx0Q2FsbGJhY2s9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24ocixuKXtyZXR1cm4gbiYmbi5pZCYmdC5pZCE9PW4uaWQ/ZShuZXcgRXJyb3IoIldyb25nIHJlc3BvbnNlIGlkICIuY29uY2F0KG4uaWQsIiAoZXhwZWN0ZWQ6ICIpLmNvbmNhdCh0LmlkLCIpIGluICIpLmNvbmNhdChKU09OLnN0cmluZ2lmeSh0KSkpKTpyP2Uocik6biYmbi5lcnJvcj9lKG8uRXJyb3JSZXNwb25zZShuKSk6YS5pc1ZhbGlkUmVzcG9uc2Uobik/dm9pZCBlKG51bGwsbi5yZXN1bHQpOmUoby5JbnZhbGlkUmVzcG9uc2UobikpfX0sZS5leHBvcnRzPXtNYW5hZ2VyOmMsQmF0Y2hNYW5hZ2VyOnN9fSw4MTU1OmU9PnsidXNlIHN0cmljdCI7dmFyIHQ9e21lc3NhZ2VJZDpNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLHRvUGF5bG9hZDpmdW5jdGlvbihlLHIpe2lmKCFlKXRocm93IG5ldyBFcnJvcignSlNPTlJQQyBtZXRob2Qgc2hvdWxkIGJlIHNwZWNpZmllZCBmb3IgcGFyYW1zOiAiJytKU09OLnN0cmluZ2lmeShyKSsnIiEnKTtyZXR1cm4gdC5tZXNzYWdlSWQ9PT1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUj90Lm1lc3NhZ2VJZD1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpOnQubWVzc2FnZUlkKysse2pzb25ycGM6IjIuMCIsaWQ6dC5tZXNzYWdlSWQsbWV0aG9kOmUscGFyYW1zOnJ8fFtdfX0saXNWYWxpZFJlc3BvbnNlOmZ1bmN0aW9uKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2UuZXZlcnkodCk6dChlKTtmdW5jdGlvbiB0KGUpe3JldHVybiEoIWV8fGUuZXJyb3J8fCIyLjAiIT09ZS5qc29ucnBjfHwibnVtYmVyIiE9dHlwZW9mIGUuaWQmJiJzdHJpbmciIT10eXBlb2YgZS5pZHx8dm9pZCAwPT09ZS5yZXN1bHQpfX0sdG9CYXRjaFBheWxvYWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdC50b1BheWxvYWQoZS5tZXRob2QsZS5wYXJhbXMpfSkpfX07ZS5leHBvcnRzPXR9LDQxNzg6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDI5MjkpLGk9ZnVuY3Rpb24oZSl7dGhpcy5uYW1lPWUubmFtZSx0aGlzLnR5cGU9ZS50eXBlLHRoaXMuc3Vic2NyaXB0aW9ucz1lLnN1YnNjcmlwdGlvbnN8fHt9LHRoaXMucmVxdWVzdE1hbmFnZXI9bnVsbH07aS5wcm90b3R5cGUuc2V0UmVxdWVzdE1hbmFnZXI9ZnVuY3Rpb24oZSl7dGhpcy5yZXF1ZXN0TWFuYWdlcj1lfSxpLnByb3RvdHlwZS5hdHRhY2hUb09iamVjdD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLmJ1aWxkQ2FsbCgpLHI9dGhpcy5uYW1lLnNwbGl0KCIuIik7ci5sZW5ndGg+MT8oZVtyWzBdXT1lW3JbMF1dfHx7fSxlW3JbMF1dW3JbMV1dPXQpOmVbclswXV09dH0saS5wcm90b3R5cGUuYnVpbGRDYWxsPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gZnVuY3Rpb24oKXtlLnN1YnNjcmlwdGlvbnNbYXJndW1lbnRzWzBdXXx8Y29uc29sZS53YXJuKCJTdWJzY3JpcHRpb24gIitKU09OLnN0cmluZ2lmeShhcmd1bWVudHNbMF0pKyIgZG9lc24ndCBleGlzdC4gU3Vic2NyaWJpbmcgYW55d2F5LiIpO3ZhciB0PW5ldyBuKHtzdWJzY3JpcHRpb246ZS5zdWJzY3JpcHRpb25zW2FyZ3VtZW50c1swXV18fHt9LHJlcXVlc3RNYW5hZ2VyOmUucmVxdWVzdE1hbmFnZXIsdHlwZTplLnR5cGV9KTtyZXR1cm4gdC5zdWJzY3JpYmUuYXBwbHkodCxhcmd1bWVudHMpfX0sZS5leHBvcnRzPXtzdWJzY3JpcHRpb25zOmksc3Vic2NyaXB0aW9uOm59fSwyOTI5OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KShyKDMzNTUpKSxpPXIoMTMxNCkuZXJyb3JzLG89cig4MDA4KSxhPXIoMTMxNCkuZm9ybWF0dGVycztmdW5jdGlvbiBzKGUpe3JldHVybiBlfWZ1bmN0aW9uIHUoZSl7by5jYWxsKHRoaXMpLHRoaXMuaWQ9bnVsbCx0aGlzLmNhbGxiYWNrPXMsdGhpcy5hcmd1bWVudHM9bnVsbCx0aGlzLmxhc3RCbG9jaz1udWxsLHRoaXMub3B0aW9ucz17c3Vic2NyaXB0aW9uOmUuc3Vic2NyaXB0aW9uLHR5cGU6ZS50eXBlLHJlcXVlc3RNYW5hZ2VyOmUucmVxdWVzdE1hbmFnZXJ9fXUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoby5wcm90b3R5cGUpLHUucHJvdG90eXBlLmNvbnN0cnVjdG9yPXUsdS5wcm90b3R5cGUuX2V4dHJhY3RDYWxsYmFjaz1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZVtlLmxlbmd0aC0xXSlyZXR1cm4gZS5wb3AoKX0sdS5wcm90b3R5cGUuX3ZhbGlkYXRlQXJncz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLm9wdGlvbnMuc3Vic2NyaXB0aW9uO2lmKHR8fCh0PXt9KSx0LnBhcmFtc3x8KHQucGFyYW1zPTApLGUubGVuZ3RoIT09dC5wYXJhbXMpdGhyb3cgaS5JbnZhbGlkTnVtYmVyT2ZQYXJhbXMoZS5sZW5ndGgsdC5wYXJhbXMsdC5zdWJzY3JpcHRpb25OYW1lKX0sdS5wcm90b3R5cGUuX2Zvcm1hdElucHV0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMub3B0aW9ucy5zdWJzY3JpcHRpb247cmV0dXJuIHQmJnQuaW5wdXRGb3JtYXR0ZXI/dC5pbnB1dEZvcm1hdHRlci5tYXAoKGZ1bmN0aW9uKHQscil7cmV0dXJuIHQ/dChlW3JdKTplW3JdfSkpOmV9LHUucHJvdG90eXBlLl9mb3JtYXRPdXRwdXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5vcHRpb25zLnN1YnNjcmlwdGlvbjtyZXR1cm4gdCYmdC5vdXRwdXRGb3JtYXR0ZXImJmU/dC5vdXRwdXRGb3JtYXR0ZXIoZSk6ZX0sdS5wcm90b3R5cGUuX3RvUGF5bG9hZD1mdW5jdGlvbihlKXt2YXIgdD1bXTtpZih0aGlzLmNhbGxiYWNrPXRoaXMuX2V4dHJhY3RDYWxsYmFjayhlKXx8cyx0aGlzLnN1YnNjcmlwdGlvbk1ldGhvZHx8KHRoaXMuc3Vic2NyaXB0aW9uTWV0aG9kPWUuc2hpZnQoKSx0aGlzLm9wdGlvbnMuc3Vic2NyaXB0aW9uLnN1YnNjcmlwdGlvbk5hbWUmJih0aGlzLnN1YnNjcmlwdGlvbk1ldGhvZD10aGlzLm9wdGlvbnMuc3Vic2NyaXB0aW9uLnN1YnNjcmlwdGlvbk5hbWUpKSx0aGlzLmFyZ3VtZW50c3x8KHRoaXMuYXJndW1lbnRzPXRoaXMuX2Zvcm1hdElucHV0KGUpLHRoaXMuX3ZhbGlkYXRlQXJncyh0aGlzLmFyZ3VtZW50cyksZT1bXSksdC5wdXNoKHRoaXMuc3Vic2NyaXB0aW9uTWV0aG9kKSx0PXQuY29uY2F0KHRoaXMuYXJndW1lbnRzKSxlLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIk9ubHkgYSBjYWxsYmFjayBpcyBhbGxvd2VkIGFzIHBhcmFtZXRlciBvbiBhbiBhbHJlYWR5IGluc3RhbnRpYXRlZCBzdWJzY3JpcHRpb24uIik7cmV0dXJue21ldGhvZDp0aGlzLm9wdGlvbnMudHlwZSsiX3N1YnNjcmliZSIscGFyYW1zOnR9fSx1LnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbihlKXt0aGlzLm9wdGlvbnMucmVxdWVzdE1hbmFnZXIucmVtb3ZlU3Vic2NyaXB0aW9uKHRoaXMuaWQsZSksdGhpcy5pZD1udWxsLHRoaXMubGFzdEJsb2NrPW51bGwsdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKX0sdS5wcm90b3R5cGUuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykscj10aGlzLl90b1BheWxvYWQodCk7aWYoIXIpcmV0dXJuIHRoaXM7aWYoIXRoaXMub3B0aW9ucy5yZXF1ZXN0TWFuYWdlci5wcm92aWRlcilyZXR1cm4gc2V0VGltZW91dCgoZnVuY3Rpb24oKXt2YXIgdD1uZXcgRXJyb3IoIk5vIHByb3ZpZGVyIHNldC4iKTtlLmNhbGxiYWNrKHQsbnVsbCxlKSxlLmVtaXQoImVycm9yIix0KX0pLDApLHRoaXM7aWYoIXRoaXMub3B0aW9ucy5yZXF1ZXN0TWFuYWdlci5wcm92aWRlci5vbilyZXR1cm4gc2V0VGltZW91dCgoZnVuY3Rpb24oKXt2YXIgdD1uZXcgRXJyb3IoIlRoZSBjdXJyZW50IHByb3ZpZGVyIGRvZXNuJ3Qgc3VwcG9ydCBzdWJzY3JpcHRpb25zOiAiK2Uub3B0aW9ucy5yZXF1ZXN0TWFuYWdlci5wcm92aWRlci5jb25zdHJ1Y3Rvci5uYW1lKTtlLmNhbGxiYWNrKHQsbnVsbCxlKSxlLmVtaXQoImVycm9yIix0KX0pLDApLHRoaXM7aWYodGhpcy5sYXN0QmxvY2smJnRoaXMub3B0aW9ucy5wYXJhbXMmJiJvYmplY3QiPT09KDAsbi5kZWZhdWx0KSh0aGlzLm9wdGlvbnMucGFyYW1zKSYmKHIucGFyYW1zWzFdPXRoaXMub3B0aW9ucy5wYXJhbXMsci5wYXJhbXNbMV0uZnJvbUJsb2NrPWEuaW5wdXRCbG9ja051bWJlckZvcm1hdHRlcih0aGlzLmxhc3RCbG9jaysxKSksdGhpcy5pZCYmdGhpcy51bnN1YnNjcmliZSgpLHRoaXMub3B0aW9ucy5wYXJhbXM9ci5wYXJhbXNbMV0sImxvZ3MiPT09ci5wYXJhbXNbMF0mJnIucGFyYW1zWzFdJiYib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkoci5wYXJhbXNbMV0pJiZyLnBhcmFtc1sxXS5oYXNPd25Qcm9wZXJ0eSgiZnJvbUJsb2NrIikmJmlzRmluaXRlKHIucGFyYW1zWzFdLmZyb21CbG9jaykpe3ZhciBpPU9iamVjdC5hc3NpZ24oe30sci5wYXJhbXNbMV0pO3RoaXMub3B0aW9ucy5yZXF1ZXN0TWFuYWdlci5zZW5kKHttZXRob2Q6ImV0aF9nZXRMb2dzIixwYXJhbXM6W2ldfSwoZnVuY3Rpb24odCxyKXt0P3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZS5jYWxsYmFjayh0LG51bGwsZSksZS5lbWl0KCJlcnJvciIsdCl9KSwwKTpyLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciByPWUuX2Zvcm1hdE91dHB1dCh0KTtlLmNhbGxiYWNrKG51bGwscixlKSxlLmVtaXQoImRhdGEiLHIpfSkpfSkpfXJldHVybiJvYmplY3QiPT09KDAsbi5kZWZhdWx0KShyLnBhcmFtc1sxXSkmJmRlbGV0ZSByLnBhcmFtc1sxXS5mcm9tQmxvY2ssdGhpcy5vcHRpb25zLnJlcXVlc3RNYW5hZ2VyLnNlbmQociwoZnVuY3Rpb24odCxpKXshdCYmaT8oZS5pZD1pLGUubWV0aG9kPXIucGFyYW1zWzBdLGUub3B0aW9ucy5yZXF1ZXN0TWFuYWdlci5hZGRTdWJzY3JpcHRpb24oZSwoZnVuY3Rpb24odCxyKXt0PyhlLmNhbGxiYWNrKHQsITEsZSksZS5lbWl0KCJlcnJvciIsdCkpOihBcnJheS5pc0FycmF5KHIpfHwocj1bcl0pLHIuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIHI9ZS5fZm9ybWF0T3V0cHV0KHQpO2lmKGUubGFzdEJsb2NrPXImJiJvYmplY3QiPT09KDAsbi5kZWZhdWx0KShyKT9yLmJsb2NrTnVtYmVyOm51bGwsImZ1bmN0aW9uIj09dHlwZW9mIGUub3B0aW9ucy5zdWJzY3JpcHRpb24uc3Vic2NyaXB0aW9uSGFuZGxlcilyZXR1cm4gZS5vcHRpb25zLnN1YnNjcmlwdGlvbi5zdWJzY3JpcHRpb25IYW5kbGVyLmNhbGwoZSxyKTtlLmVtaXQoImRhdGEiLHIpLGUuY2FsbGJhY2sobnVsbCxyLGUpfSkpKX0pKSxlLmVtaXQoImNvbm5lY3RlZCIsaSkpOnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZS5jYWxsYmFjayh0LCExLGUpLGUuZW1pdCgiZXJyb3IiLHQpfSksMCl9KSksdGhpc30sdS5wcm90b3R5cGUucmVzdWJzY3JpYmU9ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMucmVxdWVzdE1hbmFnZXIucmVtb3ZlU3Vic2NyaXB0aW9uKHRoaXMuaWQpLHRoaXMuaWQ9bnVsbCx0aGlzLnN1YnNjcmliZSh0aGlzLmNhbGxiYWNrKX0sZS5leHBvcnRzPXV9LDk5MDc6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDEzMTQpLmZvcm1hdHRlcnMsaT1yKDMzNDkpLG89cig4MTYxKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24odCl7dmFyIHI7cmV0dXJuIHQucHJvcGVydHk/KGVbdC5wcm9wZXJ0eV18fChlW3QucHJvcGVydHldPXt9KSxyPWVbdC5wcm9wZXJ0eV0pOnI9ZSx0Lm1ldGhvZHMmJnQubWV0aG9kcy5mb3JFYWNoKChmdW5jdGlvbih0KXt0IGluc3RhbmNlb2YgaXx8KHQ9bmV3IGkodCkpLHQuYXR0YWNoVG9PYmplY3QociksdC5zZXRSZXF1ZXN0TWFuYWdlcihlLl9yZXF1ZXN0TWFuYWdlcil9KSksZX07cmV0dXJuIHQuZm9ybWF0dGVycz1uLHQudXRpbHM9byx0Lk1ldGhvZD1pLHR9fSw2MDY6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDIwMzMpLGk9cig5OTA3KTtlLmV4cG9ydHM9e3BhY2thZ2VJbml0OmZ1bmN0aW9uKGUsdCl7aWYodD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KSwhZSl0aHJvdyBuZXcgRXJyb3IoJ1lvdSBuZWVkIHRvIGluc3RhbnRpYXRlIHVzaW5nIHRoZSAibmV3IiBrZXl3b3JkLicpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJjdXJyZW50UHJvdmlkZXIiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZS5fcHJvdmlkZXJ9LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gZS5zZXRQcm92aWRlcih0KX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSx0WzBdJiZ0WzBdLl9yZXF1ZXN0TWFuYWdlcj9lLl9yZXF1ZXN0TWFuYWdlcj10WzBdLl9yZXF1ZXN0TWFuYWdlcjplLl9yZXF1ZXN0TWFuYWdlcj1uZXcgbi5NYW5hZ2VyKHRbMF0sdFsxXSksZS5naXZlblByb3ZpZGVyPW4uTWFuYWdlci5naXZlblByb3ZpZGVyLGUucHJvdmlkZXJzPW4uTWFuYWdlci5wcm92aWRlcnMsZS5fcHJvdmlkZXI9ZS5fcmVxdWVzdE1hbmFnZXIucHJvdmlkZXIsZS5zZXRQcm92aWRlcnx8KGUuc2V0UHJvdmlkZXI9ZnVuY3Rpb24odCxyKXtyZXR1cm4gZS5fcmVxdWVzdE1hbmFnZXIuc2V0UHJvdmlkZXIodCxyKSxlLl9wcm92aWRlcj1lLl9yZXF1ZXN0TWFuYWdlci5wcm92aWRlciwhMH0pLGUuc2V0UmVxdWVzdE1hbmFnZXI9ZnVuY3Rpb24odCl7ZS5fcmVxdWVzdE1hbmFnZXI9dCxlLl9wcm92aWRlcj10LnByb3ZpZGVyfSxlLkJhdGNoUmVxdWVzdD1uLkJhdGNoTWFuYWdlci5iaW5kKG51bGwsZS5fcmVxdWVzdE1hbmFnZXIpLGUuZXh0ZW5kPWkoZSl9LGFkZFByb3ZpZGVyczpmdW5jdGlvbihlKXtlLmdpdmVuUHJvdmlkZXI9bi5NYW5hZ2VyLmdpdmVuUHJvdmlkZXIsZS5wcm92aWRlcnM9bi5NYW5hZ2VyLnByb3ZpZGVyc319fSw5OTAxOihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KShyKDMzNTUpKSxpPXIoOTAzMykuQnVmZmVyLG89cig4MTYxKSxhPXIoMjkxNCkuUlEscz1yKDI5MTQpLl9SLHU9bmV3IGEoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIWUubWF0Y2goL151P2ludC8pfHxBcnJheS5pc0FycmF5KHQpfHx0JiYib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkodCkmJiJCTiI9PT10LmNvbnN0cnVjdG9yLm5hbWU/dDp0LnRvU3RyaW5nKCl9KSk7ZnVuY3Rpb24gYygpe312YXIgZj1mdW5jdGlvbigpe307Zi5wcm90b3R5cGUuZW5jb2RlRnVuY3Rpb25TaWduYXR1cmU9ZnVuY3Rpb24oZSl7cmV0dXJuKCJmdW5jdGlvbiI9PXR5cGVvZiBlfHwib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkoZSkmJmUpJiYoZT1vLl9qc29uSW50ZXJmYWNlTWV0aG9kVG9TdHJpbmcoZSkpLG8uc2hhMyhlKS5zbGljZSgwLDEwKX0sZi5wcm90b3R5cGUuZW5jb2RlRXZlbnRTaWduYXR1cmU9ZnVuY3Rpb24oZSl7cmV0dXJuKCJmdW5jdGlvbiI9PXR5cGVvZiBlfHwib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkoZSkmJmUpJiYoZT1vLl9qc29uSW50ZXJmYWNlTWV0aG9kVG9TdHJpbmcoZSkpLG8uc2hhMyhlKX0sZi5wcm90b3R5cGUuZW5jb2RlUGFyYW1ldGVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW5jb2RlUGFyYW1ldGVycyhbZV0sW3RdKX0sZi5wcm90b3R5cGUuZW5jb2RlUGFyYW1ldGVycz1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXM7cmV0dXJuIGU9ci5tYXBUeXBlcyhlKSx0PXQubWFwKChmdW5jdGlvbih0LGkpe3ZhciBvPWVbaV07cmV0dXJuIm9iamVjdCI9PT0oMCxuLmRlZmF1bHQpKG8pJiZvLnR5cGUmJihvPW8udHlwZSksdD1yLmZvcm1hdFBhcmFtKG8sdCksInN0cmluZyI9PXR5cGVvZiBvJiZvLmluY2x1ZGVzKCJ0dXBsZSIpJiZmdW5jdGlvbiBlKHQsbil7aWYoImFycmF5Ij09PXQubmFtZSl7aWYoIXQudHlwZS5tYXRjaCgvXFsoXGQrKVxdLykpcmV0dXJuIG4ubWFwKChmdW5jdGlvbihyKXtyZXR1cm4gZSh1Ll9nZXRDb2RlcihzLmZyb20odC50eXBlLnJlcGxhY2UoIltdIiwiIikpKSxyKX0pKTt2YXIgaT1wYXJzZUludCh0LnR5cGUubWF0Y2goL1xbKFxkKylcXS8pWzFdKTtpZihuLmxlbmd0aCE9PWkpdGhyb3cgbmV3IEVycm9yKCJBcnJheSBsZW5ndGggZG9lcyBub3QgbWF0Y2hlcyB3aXRoIHRoZSBnaXZlbiBpbnB1dCIpO3JldHVybiBuLm1hcCgoZnVuY3Rpb24ocil7cmV0dXJuIGUodS5fZ2V0Q29kZXIocy5mcm9tKHQudHlwZS5yZXBsYWNlKC9cW1xkK1xdLywiIikpKSxyKX0pKX10LmNvZGVycy5mb3JFYWNoKChmdW5jdGlvbih0LGkpeyJ0dXBsZSI9PT10Lm5hbWU/ZSh0LG5baV0pOm5baV09ci5mb3JtYXRQYXJhbSh0Lm5hbWUsbltpXSl9KSl9KHUuX2dldENvZGVyKHMuZnJvbShvKSksdCksdH0pKSx1LmVuY29kZShlLHQpfSxmLnByb3RvdHlwZS5tYXBUeXBlcz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLHI9W107cmV0dXJuIGUuZm9yRWFjaCgoZnVuY3Rpb24oZSl7aWYoIm9iamVjdCI9PT0oMCxuLmRlZmF1bHQpKGUpJiYiZnVuY3Rpb24iPT09ZS50eXBlJiYoZT1PYmplY3QuYXNzaWduKHt9LGUse3R5cGU6ImJ5dGVzMjQifSkpLHQuaXNTaW1wbGlmaWVkU3RydWN0Rm9ybWF0KGUpKXt2YXIgaT1PYmplY3Qua2V5cyhlKVswXTtyLnB1c2goT2JqZWN0LmFzc2lnbih0Lm1hcFN0cnVjdE5hbWVBbmRUeXBlKGkpLHtjb21wb25lbnRzOnQubWFwU3RydWN0VG9Db2RlckZvcm1hdChlW2ldKX0pKX1lbHNlIHIucHVzaChlKX0pKSxyfSxmLnByb3RvdHlwZS5pc1NpbXBsaWZpZWRTdHJ1Y3RGb3JtYXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIm9iamVjdCI9PT0oMCxuLmRlZmF1bHQpKGUpJiZ2b2lkIDA9PT1lLmNvbXBvbmVudHMmJnZvaWQgMD09PWUubmFtZX0sZi5wcm90b3R5cGUubWFwU3RydWN0TmFtZUFuZFR5cGU9ZnVuY3Rpb24oZSl7dmFyIHQ9InR1cGxlIjtyZXR1cm4gZS5pbmRleE9mKCJbXSIpPi0xJiYodD0idHVwbGVbXSIsZT1lLnNsaWNlKDAsLTIpKSx7dHlwZTp0LG5hbWU6ZX19LGYucHJvdG90eXBlLm1hcFN0cnVjdFRvQ29kZXJGb3JtYXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxyPVtdO3JldHVybiBPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChmdW5jdGlvbihpKXsib2JqZWN0IiE9PSgwLG4uZGVmYXVsdCkoZVtpXSk/ci5wdXNoKHtuYW1lOmksdHlwZTplW2ldfSk6ci5wdXNoKE9iamVjdC5hc3NpZ24odC5tYXBTdHJ1Y3ROYW1lQW5kVHlwZShpKSx7Y29tcG9uZW50czp0Lm1hcFN0cnVjdFRvQ29kZXJGb3JtYXQoZVtpXSl9KSl9KSkscn0sZi5wcm90b3R5cGUuZm9ybWF0UGFyYW09ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLG49bmV3IFJlZ0V4cCgvXmJ5dGVzKFswLTldKikkLyksYT1uZXcgUmVnRXhwKC9eYnl0ZXMoWzAtOV0qKVxbXF0kLykscz1uZXcgUmVnRXhwKC9eKHU/aW50KShbMC05XSopJC8pLHU9bmV3IFJlZ0V4cCgvXih1P2ludCkoWzAtOV0qKVxbXF0kLyk7aWYoby5pc0JOKHQpfHxvLmlzQmlnTnVtYmVyKHQpKXJldHVybiB0LnRvU3RyaW5nKDEwKTtpZihlLm1hdGNoKGEpfHxlLm1hdGNoKHUpKXJldHVybiB0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHIuZm9ybWF0UGFyYW0oZS5yZXBsYWNlKCJbXSIsIiIpLHQpfSkpO3ZhciBjPWUubWF0Y2gocyk7aWYoYyl7dmFyIGY9cGFyc2VJbnQoY1syXXx8IjI1NiIpO2YvODx0Lmxlbmd0aCYmKHQ9by5sZWZ0UGFkKHQsZikpfWlmKGM9ZS5tYXRjaChuKSl7aS5pc0J1ZmZlcih0KSYmKHQ9by50b0hleCh0KSk7dmFyIGQ9cGFyc2VJbnQoY1sxXSk7aWYoZCl7dmFyIGw9MipkOyIweCI9PT10LnN1YnN0cmluZygwLDIpJiYobCs9MiksdC5sZW5ndGg8bCYmKHQ9by5yaWdodFBhZCh0LDIqZCkpfXQubGVuZ3RoJTI9PTEmJih0PSIweDAiK3Quc3Vic3RyaW5nKDIpKX1yZXR1cm4gdH0sZi5wcm90b3R5cGUuZW5jb2RlRnVuY3Rpb25DYWxsPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW5jb2RlRnVuY3Rpb25TaWduYXR1cmUoZSkrdGhpcy5lbmNvZGVQYXJhbWV0ZXJzKGUuaW5wdXRzLHQpLnJlcGxhY2UoIjB4IiwiIil9LGYucHJvdG90eXBlLmRlY29kZVBhcmFtZXRlcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmRlY29kZVBhcmFtZXRlcnMoW2VdLHQpWzBdfSxmLnByb3RvdHlwZS5kZWNvZGVQYXJhbWV0ZXJzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZGVjb2RlUGFyYW1ldGVyc1dpdGgoZSx0LCExKX0sZi5wcm90b3R5cGUuZGVjb2RlUGFyYW1ldGVyc1dpdGg9ZnVuY3Rpb24oZSx0LHIpe2lmKGUubGVuZ3RoPjAmJighdHx8IjB4Ij09PXR8fCIwWCI9PT10KSl0aHJvdyBuZXcgRXJyb3IoIlJldHVybmVkIHZhbHVlcyBhcmVuJ3QgdmFsaWQsIGRpZCBpdCBydW4gT3V0IG9mIEdhcz8gWW91IG1pZ2h0IGFsc28gc2VlIHRoaXMgZXJyb3IgaWYgeW91IGFyZSBub3QgdXNpbmcgdGhlIGNvcnJlY3QgQUJJIGZvciB0aGUgY29udHJhY3QgeW91IGFyZSByZXRyaWV2aW5nIGRhdGEgZnJvbSwgcmVxdWVzdGluZyBkYXRhIGZyb20gYSBibG9jayBudW1iZXIgdGhhdCBkb2VzIG5vdCBleGlzdCwgb3IgcXVlcnlpbmcgYSBub2RlIHdoaWNoIGlzIG5vdCBmdWxseSBzeW5jZWQuIik7dmFyIGk9dS5kZWNvZGUodGhpcy5tYXBUeXBlcyhlKSwiMHgiK3QucmVwbGFjZSgvMHgvaSwiIiksciksbz1uZXcgYztyZXR1cm4gby5fX2xlbmd0aF9fPTAsZS5mb3JFYWNoKChmdW5jdGlvbihlLHQpe3ZhciByPWlbby5fX2xlbmd0aF9fXSxhPSJvYmplY3QiPT09KDAsbi5kZWZhdWx0KShlKSYmZS50eXBlJiYic3RyaW5nIj09PWUudHlwZTtyPSIweCIhPT1yfHxhfHwic3RyaW5nIj09dHlwZW9mIGUmJiJzdHJpbmciPT09ZT9yOm51bGwsb1t0XT1yLCgiZnVuY3Rpb24iPT10eXBlb2YgZXx8ZSYmIm9iamVjdCI9PT0oMCxuLmRlZmF1bHQpKGUpKSYmZS5uYW1lJiYob1tlLm5hbWVdPXIpLG8uX19sZW5ndGhfXysrfSkpLG99LGYucHJvdG90eXBlLmRlY29kZUxvZz1mdW5jdGlvbihlLHQscil7dmFyIG49dGhpcztyPUFycmF5LmlzQXJyYXkocik/cjpbcl0sdD10fHwiIjt2YXIgaT1bXSxvPVtdLGE9MDtlLmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7ZS5pbmRleGVkPyhvW3RdPVsiYm9vbCIsImludCIsInVpbnQiLCJhZGRyZXNzIiwiZml4ZWQiLCJ1Zml4ZWQiXS5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4tMSE9PWUudHlwZS5pbmRleE9mKHQpfSkpP24uZGVjb2RlUGFyYW1ldGVyKGUudHlwZSxyW2FdKTpyW2FdLGErKyk6aVt0XT1lfSkpO3ZhciBzPXQsdT1zP3RoaXMuZGVjb2RlUGFyYW1ldGVyc1dpdGgoaSxzLCEwKTpbXSxmPW5ldyBjO3JldHVybiBmLl9fbGVuZ3RoX189MCxlLmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7Zlt0XT0ic3RyaW5nIj09PWUudHlwZT8iIjpudWxsLHZvaWQgMCE9PXVbdF0mJihmW3RdPXVbdF0pLHZvaWQgMCE9PW9bdF0mJihmW3RdPW9bdF0pLGUubmFtZSYmKGZbZS5uYW1lXT1mW3RdKSxmLl9fbGVuZ3RoX18rK30pKSxmfTt2YXIgZD1uZXcgZjtlLmV4cG9ydHM9ZH0sOTgxOTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoOTAzMykuQnVmZmVyLGk9cig4ODQ3KSxvPWkocigzMTA2KSksYT1pKHIoMzM1NSkpLHM9aShyKDc3NSkpLHU9aShyKDQ1MTkpKTtmdW5jdGlvbiBjKGUsdCl7dmFyIHI9T2JqZWN0LmtleXMoZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTt0JiYobj1uLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KS5lbnVtZXJhYmxlfSkpKSxyLnB1c2guYXBwbHkocixuKX1yZXR1cm4gcn1mdW5jdGlvbiBmKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciByPW51bGwhPWFyZ3VtZW50c1t0XT9hcmd1bWVudHNbdF06e307dCUyP2MoT2JqZWN0KHIpLCEwKS5mb3JFYWNoKChmdW5jdGlvbih0KXsoMCxzLmRlZmF1bHQpKGUsdCxyW3RdKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHIpKTpjKE9iamVjdChyKSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIsdCkpfSkpfXJldHVybiBlfWZ1bmN0aW9uIGQoZSx0KXsobnVsbD09dHx8dD5lLmxlbmd0aCkmJih0PWUubGVuZ3RoKTtmb3IodmFyIHI9MCxuPW5ldyBBcnJheSh0KTtyPHQ7cisrKW5bcl09ZVtyXTtyZXR1cm4gbn12YXIgbD1yKDYwNiksaD1yKDMzNDkpLHA9cigzMDU4KSxiPXIoNDI5MykseT1yKDc3OTkpLG09cigyNjc5KSx2PXIoODE2MSksZz1yKDEzMTQpLHc9cigyMzM5KS5UcmFuc2FjdGlvbkZhY3RvcnksQT1yKDM4NjMpLmRlZmF1bHQsaz1yKDM4NjMpLkhhcmRmb3JrLF89cigzMDYyKSxTPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lfSx4PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lfSxFPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztsLnBhY2thZ2VJbml0KHRoaXMsYXJndW1lbnRzKSxkZWxldGUgdGhpcy5CYXRjaFJlcXVlc3QsZGVsZXRlIHRoaXMuZXh0ZW5kO3ZhciB0PVtuZXcgaCh7bmFtZToiZ2V0TmV0d29ya0lkIixjYWxsOiJuZXRfdmVyc2lvbiIscGFyYW1zOjAsb3V0cHV0Rm9ybWF0dGVyOnBhcnNlSW50fSksbmV3IGgoe25hbWU6ImdldENoYWluSWQiLGNhbGw6ImV0aF9jaGFpbklkIixwYXJhbXM6MCxvdXRwdXRGb3JtYXR0ZXI6di5oZXhUb051bWJlcn0pLG5ldyBoKHtuYW1lOiJnZXRHYXNQcmljZSIsY2FsbDoiZXRoX2dhc1ByaWNlIixwYXJhbXM6MH0pLG5ldyBoKHtuYW1lOiJnZXRUcmFuc2FjdGlvbkNvdW50IixjYWxsOiJldGhfZ2V0VHJhbnNhY3Rpb25Db3VudCIscGFyYW1zOjIsaW5wdXRGb3JtYXR0ZXI6W2Z1bmN0aW9uKGUpe2lmKHYuaXNBZGRyZXNzKGUpKXJldHVybiBlO3Rocm93IG5ldyBFcnJvcigiQWRkcmVzcyAiK2UrJyBpcyBub3QgYSB2YWxpZCBhZGRyZXNzIHRvIGdldCB0aGUgInRyYW5zYWN0aW9uQ291bnQiLicpfSxmdW5jdGlvbigpe3JldHVybiJsYXRlc3QifV19KSxuZXcgaCh7bmFtZToiZ2V0QmxvY2tCeU51bWJlciIsY2FsbDoiZXRoX2dldEJsb2NrQnlOdW1iZXIiLHBhcmFtczoyLGlucHV0Rm9ybWF0dGVyOltmdW5jdGlvbihlKXtyZXR1cm4gZT92LnRvSGV4KGUpOiJsYXRlc3QifSxmdW5jdGlvbigpe3JldHVybiExfV19KV07dGhpcy5fZXRoZXJldW1DYWxsPXt9LHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5hdHRhY2hUb09iamVjdChlLl9ldGhlcmV1bUNhbGwpLHQuc2V0UmVxdWVzdE1hbmFnZXIoZS5fcmVxdWVzdE1hbmFnZXIpfSkpLHRoaXMud2FsbGV0PW5ldyBPKHRoaXMpfTtmdW5jdGlvbiBQKGUsdCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihyLG4pe3RyeXsodm9pZCAwPT09dC50eXBlfHx0LnR5cGU8IjB4MiIpJiZ2b2lkIDAhPT10Lmdhc1ByaWNlP3Ioe2dhc1ByaWNlOnQuZ2FzUHJpY2V9KToiMHgyIj09PXQudHlwZSYmdC5tYXhGZWVQZXJHYXMmJnQubWF4UHJpb3JpdHlGZWVQZXJHYXM/cih7bWF4RmVlUGVyR2FzOnQubWF4RmVlUGVyR2FzLG1heFByaW9yaXR5RmVlUGVyR2FzOnQubWF4UHJpb3JpdHlGZWVQZXJHYXN9KTpQcm9taXNlLmFsbChbZS5fZXRoZXJldW1DYWxsLmdldEJsb2NrQnlOdW1iZXIoKSxlLl9ldGhlcmV1bUNhbGwuZ2V0R2FzUHJpY2UoKV0pLnRoZW4oKGZ1bmN0aW9uKGUpe3ZhciBuPSgwLHUuZGVmYXVsdCkoZSwyKSxpPW5bMF0sbz1uWzFdO2lmKCIweDIiPT09dC50eXBlJiZpJiZpLmJhc2VGZWVQZXJHYXMpe3ZhciBhLHM7dC5nYXNQcmljZT8oYT10Lmdhc1ByaWNlLHM9dC5nYXNQcmljZSxkZWxldGUgdC5nYXNQcmljZSk6KGE9dC5tYXhQcmlvcml0eUZlZVBlckdhc3x8IjB4OTUwMkY5MDAiLHM9dC5tYXhGZWVQZXJHYXN8fHYudG9IZXgodi50b0JOKGkuYmFzZUZlZVBlckdhcykubXVsKHYudG9CTigyKSkuYWRkKHYudG9CTihhKSkpKSxyKHttYXhGZWVQZXJHYXM6cyxtYXhQcmlvcml0eUZlZVBlckdhczphfSl9ZWxzZXtpZih0Lm1heFByaW9yaXR5RmVlUGVyR2FzfHx0Lm1heEZlZVBlckdhcyl0aHJvdyBFcnJvcigiTmV0d29yayBkb2Vzbid0IHN1cHBvcnQgZWlwLTE1NTkiKTtyKHtnYXNQcmljZTpvfSl9fSkpLmNhdGNoKChmdW5jdGlvbihlKXtuKGUpfSkpfWNhdGNoKGUpe24oZSl9fSkpfWZ1bmN0aW9uIE8oZSl7dGhpcy5fYWNjb3VudHM9ZSx0aGlzLmxlbmd0aD0wLHRoaXMuZGVmYXVsdEtleU5hbWU9IndlYjNqc193YWxsZXQifUUucHJvdG90eXBlLl9hZGRBY2NvdW50RnVuY3Rpb25zPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIGUuc2lnblRyYW5zYWN0aW9uPWZ1bmN0aW9uKHIsbil7cmV0dXJuIHQuc2lnblRyYW5zYWN0aW9uKHIsZS5wcml2YXRlS2V5LG4pfSxlLnNpZ249ZnVuY3Rpb24ocil7cmV0dXJuIHQuc2lnbihyLGUucHJpdmF0ZUtleSl9LGUuZW5jcnlwdD1mdW5jdGlvbihyLG4pe3JldHVybiB0LmVuY3J5cHQoZS5wcml2YXRlS2V5LHIsbil9LGV9LEUucHJvdG90eXBlLmNyZWF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fYWRkQWNjb3VudEZ1bmN0aW9ucyhwLmNyZWF0ZShlfHx2LnJhbmRvbUhleCgzMikpKX0sRS5wcm90b3R5cGUucHJpdmF0ZUtleVRvQWNjb3VudD1mdW5jdGlvbihlLHQpe2lmKGUuc3RhcnRzV2l0aCgiMHgiKXx8KGU9IjB4IitlKSwhdCYmNjYhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlByaXZhdGUga2V5IG11c3QgYmUgMzIgYnl0ZXMgbG9uZyIpO3JldHVybiB0aGlzLl9hZGRBY2NvdW50RnVuY3Rpb25zKHAuZnJvbVByaXZhdGUoZSkpfSxFLnByb3RvdHlwZS5zaWduVHJhbnNhY3Rpb249ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXRoaXMsbz0hMSxhPXt9LHM9ISghZXx8IShlLmNoYWluJiZlLmhhcmRmb3JrfHxlLmNvbW1vbikpO2lmKHI9cnx8ZnVuY3Rpb24oKXt9LCFlKXJldHVybiBvPW5ldyBFcnJvcigiTm8gdHJhbnNhY3Rpb24gb2JqZWN0IGdpdmVuISIpLHIobyksUHJvbWlzZS5yZWplY3Qobyk7aWYoeChlLmNvbW1vbikmJlMoZS5jb21tb24uY3VzdG9tQ2hhaW4pKXJldHVybiBvPW5ldyBFcnJvcigiSWYgdHguY29tbW9uIGlzIHByb3ZpZGVkIGl0IG11c3QgaGF2ZSB0eC5jb21tb24uY3VzdG9tQ2hhaW4iKSxyKG8pLFByb21pc2UucmVqZWN0KG8pO2lmKHgoZS5jb21tb24pJiZTKGUuY29tbW9uLmN1c3RvbUNoYWluLmNoYWluSWQpKXJldHVybiBvPW5ldyBFcnJvcigiSWYgdHguY29tbW9uIGlzIHByb3ZpZGVkIGl0IG11c3QgaGF2ZSB0eC5jb21tb24uY3VzdG9tQ2hhaW4gYW5kIHR4LmNvbW1vbi5jdXN0b21DaGFpbi5jaGFpbklkIikscihvKSxQcm9taXNlLnJlamVjdChvKTtpZih4KGUuY29tbW9uKSYmeChlLmNvbW1vbi5jdXN0b21DaGFpbi5jaGFpbklkKSYmeChlLmNoYWluSWQpJiZlLmNoYWluSWQhPT1lLmNvbW1vbi5jdXN0b21DaGFpbi5jaGFpbklkKXJldHVybiBvPW5ldyBFcnJvcigiQ2hhaW4gSWQgZG9lc250IG1hdGNoIGluIHR4LmNoYWluSWQgdHguY29tbW9uLmN1c3RvbUNoYWluLmNoYWluSWQiKSxyKG8pLFByb21pc2UucmVqZWN0KG8pO2Z1bmN0aW9uIGMoZSl7dmFyIGk9ZnVuY3Rpb24oZSl7aWYoZS5jb21tb24mJmUuY2hhaW4mJmUuaGFyZGZvcmspcmV0dXJuIG5ldyBFcnJvcigiUGxlYXNlIHByb3ZpZGUgdGhlIEBldGhlcmV1bWpzL2NvbW1vbiBvYmplY3Qgb3IgdGhlIGNoYWluIGFuZCBoYXJkZm9yayBwcm9wZXJ0eSBidXQgbm90IGFsbCB0b2dldGhlci4iKTtpZihlLmNoYWluJiYhZS5oYXJkZm9ya3x8ZS5oYXJkZm9yayYmIWUuY2hhaW4pcmV0dXJuIG5ldyBFcnJvcignV2hlbiBzcGVjaWZ5aW5nIGNoYWluIGFuZCBoYXJkZm9yaywgYm90aCB2YWx1ZXMgbXVzdCBiZSBkZWZpbmVkLiBSZWNlaXZlZCAiY2hhaW4iOiAnK2UuY2hhaW4rJywgImhhcmRmb3JrIjogJytlLmhhcmRmb3JrKTtpZighKGUuZ2FzfHxlLmdhc0xpbWl0fHxlLm1heFByaW9yaXR5RmVlUGVyR2FzfHxlLm1heEZlZVBlckdhcykpcmV0dXJuIG5ldyBFcnJvcignImdhcyIgaXMgbWlzc2luZycpO2lmKGUuZ2FzJiZlLmdhc1ByaWNlKXtpZihlLmdhczwwfHxlLmdhc1ByaWNlPDApcmV0dXJuIG5ldyBFcnJvcigiR2FzIG9yIGdhc1ByaWNlIGlzIGxvd2VyIHRoYW4gMCIpfWVsc2UgaWYoZS5tYXhQcmlvcml0eUZlZVBlckdhczwwfHxlLm1heEZlZVBlckdhczwwKXJldHVybiBuZXcgRXJyb3IoIm1heFByaW9yaXR5RmVlUGVyR2FzIG9yIG1heEZlZVBlckdhcyBpcyBsb3dlciB0aGFuIDAiKTtyZXR1cm4gZS5ub25jZTwwfHxlLmNoYWluSWQ8MD9uZXcgRXJyb3IoIk5vbmNlIG9yIGNoYWluSWQgaXMgbG93ZXIgdGhhbiAwIik6dm9pZCAwfShlKTtpZihpKXJldHVybiByKGkpLFByb21pc2UucmVqZWN0KGkpO3RyeXt2YXIgbz1nLmZvcm1hdHRlcnMuaW5wdXRDYWxsRm9ybWF0dGVyKE9iamVjdC5hc3NpZ24oe30sZSkpO28uZGF0YT1vLmRhdGF8fCIweCIsby52YWx1ZT1vLnZhbHVlfHwiMHgiLG8uZ2FzTGltaXQ9by5nYXNMaW1pdHx8by5nYXMsIjB4MSI9PT1vLnR5cGUmJnZvaWQgMD09PW8uYWNjZXNzTGlzdCYmKG8uYWNjZXNzTGlzdD1bXSkscz8oby5jb21tb24mJihhLmNvbW1vbj1BLmZvckN1c3RvbUNoYWluKG8uY29tbW9uLmJhc2VDaGFpbnx8Im1haW5uZXQiLHtuYW1lOm8uY29tbW9uLmN1c3RvbUNoYWluLm5hbWV8fCJjdXN0b20tbmV0d29yayIsbmV0d29ya0lkOm8uY29tbW9uLmN1c3RvbUNoYWluLm5ldHdvcmtJZCxjaGFpbklkOm8uY29tbW9uLmN1c3RvbUNoYWluLmNoYWluSWR9LG8uY29tbW9uLmhhcmRmb3JrfHxrLkxvbmRvbiksZGVsZXRlIG8uY29tbW9uKSxvLmNoYWluJiYoYS5jaGFpbj1vLmNoYWluLGRlbGV0ZSBvLmNoYWluKSxvLmhhcmRmb3JrJiYoYS5oYXJkZm9yaz1vLmhhcmRmb3JrLGRlbGV0ZSBvLmhhcmRmb3JrKSk6KGEuY29tbW9uPUEuZm9yQ3VzdG9tQ2hhaW4oIm1haW5uZXQiLHtuYW1lOiJjdXN0b20tbmV0d29yayIsbmV0d29ya0lkOm8ubmV0d29ya0lkLGNoYWluSWQ6by5jaGFpbklkfSxvLmhhcmRmb3JrfHxrLkxvbmRvbiksZGVsZXRlIG8ubmV0d29ya0lkKSx0LnN0YXJ0c1dpdGgoIjB4IikmJih0PXQuc3Vic3RyaW5nKDIpKTt2YXIgdT13LmZyb21UeERhdGEobyxhKS5zaWduKG4uZnJvbSh0LCJoZXgiKSksYz11LnZhbGlkYXRlKCEwKTtpZihjLmxlbmd0aD4wKXt2YXIgZixsPSJTaWduZXIgRXJyb3I6ICIsaD1mdW5jdGlvbihlLHQpe3ZhciByPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZlW1N5bWJvbC5pdGVyYXRvcl18fGVbIkBAaXRlcmF0b3IiXTtpZighcil7aWYoQXJyYXkuaXNBcnJheShlKXx8KHI9ZnVuY3Rpb24oZSx0KXtpZihlKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGQoZSx0KTt2YXIgcj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1yJiZlLmNvbnN0cnVjdG9yJiYocj1lLmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09cnx8IlNldCI9PT1yP0FycmF5LmZyb20oZSk6IkFyZ3VtZW50cyI9PT1yfHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChyKT9kKGUsdCk6dm9pZCAwfX0oZSkpfHx0JiZlJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKXtyJiYoZT1yKTt2YXIgbj0wLGk9ZnVuY3Rpb24oKXt9O3JldHVybntzOmksbjpmdW5jdGlvbigpe3JldHVybiBuPj1lLmxlbmd0aD97ZG9uZTohMH06e2RvbmU6ITEsdmFsdWU6ZVtuKytdfX0sZTpmdW5jdGlvbihlKXt0aHJvdyBlfSxmOml9fXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBpdGVyYXRlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX12YXIgbyxhPSEwLHM9ITE7cmV0dXJue3M6ZnVuY3Rpb24oKXtyPXIuY2FsbChlKX0sbjpmdW5jdGlvbigpe3ZhciBlPXIubmV4dCgpO3JldHVybiBhPWUuZG9uZSxlfSxlOmZ1bmN0aW9uKGUpe3M9ITAsbz1lfSxmOmZ1bmN0aW9uKCl7dHJ5e2F8fG51bGw9PXIucmV0dXJufHxyLnJldHVybigpfWZpbmFsbHl7aWYocyl0aHJvdyBvfX19fShjKTt0cnl7Zm9yKGgucygpOyEoZj1oLm4oKSkuZG9uZTspe3ZhciBwPWYudmFsdWU7bCs9IiIuY29uY2F0KGwsIiAiKS5jb25jYXQocCwiLiIpfX1jYXRjaChlKXtoLmUoZSl9ZmluYWxseXtoLmYoKX10aHJvdyBuZXcgRXJyb3IobCl9dmFyIGI9IjB4Iit1LnNlcmlhbGl6ZSgpLnRvU3RyaW5nKCJoZXgiKSx5PXYua2VjY2FrMjU2KGIpLG09e21lc3NhZ2VIYXNoOiIweCIrbi5mcm9tKHUuZ2V0TWVzc2FnZVRvU2lnbighMCkpLnRvU3RyaW5nKCJoZXgiKSx2OiIweCIrdS52LnRvU3RyaW5nKCJoZXgiKSxyOiIweCIrdS5yLnRvU3RyaW5nKCJoZXgiKSxzOiIweCIrdS5zLnRvU3RyaW5nKCJoZXgiKSxyYXdUcmFuc2FjdGlvbjpiLHRyYW5zYWN0aW9uSGFzaDp5fTtyZXR1cm4gcihudWxsLG0pLG19Y2F0Y2goZSl7cmV0dXJuIHIoZSksUHJvbWlzZS5yZWplY3QoZSl9fXJldHVybiBlLnR5cGU9ZnVuY3Rpb24oZSl7dmFyIHQscj12b2lkIDAhPT1lLm1heEZlZVBlckdhc3x8dm9pZCAwIT09ZS5tYXhQcmlvcml0eUZlZVBlckdhcztpZih2b2lkIDAhPT1lLnR5cGU/dD12LnRvSGV4KGUudHlwZSk6dm9pZCAwPT09ZS50eXBlJiZyJiYodD0iMHgyIiksdm9pZCAwIT09ZS5nYXNQcmljZSYmKCIweDIiPT09dHx8cikpdGhyb3cgRXJyb3IoImVpcC0xNTU5IHRyYW5zYWN0aW9ucyBkb24ndCBzdXBwb3J0IGdhc1ByaWNlIik7aWYoKCIweDEiPT09dHx8IjB4MCI9PT10KSYmcil0aHJvdyBFcnJvcigicHJlLWVpcC0xNTU5IHRyYW5zYWN0aW9uIGRvbid0IHN1cHBvcnQgbWF4RmVlUGVyR2FzL21heFByaW9yaXR5RmVlUGVyR2FzIik7cmV0dXJuIHJ8fGUuY29tbW9uJiZlLmNvbW1vbi5oYXJkZm9yayYmZS5jb21tb24uaGFyZGZvcmsudG9Mb3dlckNhc2UoKT09PWsuTG9uZG9ufHxlLmhhcmRmb3JrJiZlLmhhcmRmb3JrLnRvTG93ZXJDYXNlKCk9PT1rLkxvbmRvbj90PSIweDIiOihlLmFjY2Vzc0xpc3R8fGUuY29tbW9uJiZlLmNvbW1vbi5oYXJkZm9yayYmZS5jb21tb24uaGFyZGZvcmsudG9Mb3dlckNhc2UoKT09PWsuQmVybGlufHxlLmhhcmRmb3JrJiZlLmhhcmRmb3JrLnRvTG93ZXJDYXNlKCk9PT1rLkJlcmxpbikmJih0PSIweDEiKSx0fShlKSx2b2lkIDAhPT1lLm5vbmNlJiZ2b2lkIDAhPT1lLmNoYWluSWQmJih2b2lkIDAhPT1lLmdhc1ByaWNlfHx2b2lkIDAhPT1lLm1heEZlZVBlckdhcyYmdm9pZCAwIT09ZS5tYXhQcmlvcml0eUZlZVBlckdhcykmJnM/UHJvbWlzZS5yZXNvbHZlKGMoZSkpOlByb21pc2UuYWxsKFtTKGUuY29tbW9uKXx8UyhlLmNvbW1vbi5jdXN0b21DaGFpbi5jaGFpbklkKT9TKGUuY2hhaW5JZCk/aS5fZXRoZXJldW1DYWxsLmdldENoYWluSWQoKTplLmNoYWluSWQ6dm9pZCAwLFMoZS5ub25jZSk/aS5fZXRoZXJldW1DYWxsLmdldFRyYW5zYWN0aW9uQ291bnQoaS5wcml2YXRlS2V5VG9BY2NvdW50KHQpLmFkZHJlc3MpOmUubm9uY2UsUyhzKT9pLl9ldGhlcmV1bUNhbGwuZ2V0TmV0d29ya0lkKCk6MSxQKGksZSldKS50aGVuKChmdW5jdGlvbih0KXt2YXIgcj0oMCx1LmRlZmF1bHQpKHQsNCksbj1yWzBdLGk9clsxXSxvPXJbMl0sYT1yWzNdO2lmKFMobikmJlMoZS5jb21tb24pJiZTKGUuY29tbW9uLmN1c3RvbUNoYWluLmNoYWluSWQpfHxTKGkpfHxTKG8pfHxTKGEpKXRocm93IG5ldyBFcnJvcignT25lIG9mIHRoZSB2YWx1ZXMgImNoYWluSWQiLCAibmV0d29ya0lkIiwgImdhc1ByaWNlIiwgb3IgIm5vbmNlIiBjb3VsZG5cJ3QgYmUgZmV0Y2hlZDogJytKU09OLnN0cmluZ2lmeSh0KSk7cmV0dXJuIGMoZihmKGYoe30sZSksUyhlLmNvbW1vbil8fFMoZS5jb21tb24uY3VzdG9tQ2hhaW4uY2hhaW5JZCk/e2NoYWluSWQ6bn06e30pLHt9LHtub25jZTppLG5ldHdvcmtJZDpvfSxhKSl9KSl9LEUucHJvdG90eXBlLnJlY292ZXJUcmFuc2FjdGlvbj1mdW5jdGlvbihlKXt2YXIgdD1uLmZyb20oZS5zbGljZSgyKSwiaGV4Iikscj13LmZyb21TZXJpYWxpemVkRGF0YSh0KTtyZXR1cm4gdi50b0NoZWNrc3VtQWRkcmVzcyhyLmdldFNlbmRlckFkZHJlc3MoKS50b1N0cmluZygiaGV4IikpfSxFLnByb3RvdHlwZS5oYXNoTWVzc2FnZT1mdW5jdGlvbihlKXt2YXIgdD12LmlzSGV4U3RyaWN0KGUpP2U6di51dGY4VG9IZXgoZSkscj12LmhleFRvQnl0ZXModCksaT1uLmZyb20ociksbz0iGUV0aGVyZXVtIFNpZ25lZCBNZXNzYWdlOlxuIityLmxlbmd0aCxhPW4uZnJvbShvKSxzPW4uY29uY2F0KFthLGldKTtyZXR1cm4gXy5idWZmZXJUb0hleChfLmtlY2NhazI1NihzKSl9LEUucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24oZSx0KXtpZih0LnN0YXJ0c1dpdGgoIjB4Iil8fCh0PSIweCIrdCksNjYhPT10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlByaXZhdGUga2V5IG11c3QgYmUgMzIgYnl0ZXMgbG9uZyIpO3ZhciByPXRoaXMuaGFzaE1lc3NhZ2UoZSksbj1wLnNpZ24ocix0KSxpPXAuZGVjb2RlU2lnbmF0dXJlKG4pO3JldHVybnttZXNzYWdlOmUsbWVzc2FnZUhhc2g6cix2OmlbMF0scjppWzFdLHM6aVsyXSxzaWduYXR1cmU6bn19LEUucHJvdG90eXBlLnJlY292ZXI9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPVtdLnNsaWNlLmFwcGx5KGFyZ3VtZW50cyk7cmV0dXJuIGUmJiJvYmplY3QiPT09KDAsYS5kZWZhdWx0KShlKT90aGlzLnJlY292ZXIoZS5tZXNzYWdlSGFzaCxwLmVuY29kZVNpZ25hdHVyZShbZS52LGUucixlLnNdKSwhMCk6KHJ8fChlPXRoaXMuaGFzaE1lc3NhZ2UoZSkpLG4ubGVuZ3RoPj00PyhyPSJib29sZWFuIj09dHlwZW9mKHI9bi5zbGljZSgtMSlbMF0pJiYhIXIsdGhpcy5yZWNvdmVyKGUscC5lbmNvZGVTaWduYXR1cmUobi5zbGljZSgxLDQpKSxyKSk6cC5yZWNvdmVyKGUsdCkpfSxFLnByb3RvdHlwZS5kZWNyeXB0PWZ1bmN0aW9uKGUsdCxyKXtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJObyBwYXNzd29yZCBnaXZlbi4iKTt2YXIgaSxzLHU9ZSYmIm9iamVjdCI9PT0oMCxhLmRlZmF1bHQpKGUpP2U6SlNPTi5wYXJzZShyP2UudG9Mb3dlckNhc2UoKTplKTtpZigzIT09dS52ZXJzaW9uKXRocm93IG5ldyBFcnJvcigiTm90IGEgdmFsaWQgVjMgd2FsbGV0Iik7aWYoInNjcnlwdCI9PT11LmNyeXB0by5rZGYpcz11LmNyeXB0by5rZGZwYXJhbXMsaT15LnN5bmNTY3J5cHQobi5mcm9tKHQpLG4uZnJvbShzLnNhbHQsImhleCIpLHMubixzLnIscy5wLHMuZGtsZW4pO2Vsc2V7aWYoInBia2RmMiIhPT11LmNyeXB0by5rZGYpdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBrZXkgZGVyaXZhdGlvbiBzY2hlbWUiKTtpZigiaG1hYy1zaGEyNTYiIT09KHM9dS5jcnlwdG8ua2RmcGFyYW1zKS5wcmYpdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBwYXJhbWV0ZXJzIHRvIFBCS0RGMiIpO2k9Yi5wYmtkZjJTeW5jKG4uZnJvbSh0KSxuLmZyb20ocy5zYWx0LCJoZXgiKSxzLmMscy5ka2xlbiwic2hhMjU2Iil9dmFyIGM9bi5mcm9tKHUuY3J5cHRvLmNpcGhlcnRleHQsImhleCIpO2lmKHYuc2hhMyhuLmZyb20oW10uY29uY2F0KCgwLG8uZGVmYXVsdCkoaS5zbGljZSgxNiwzMikpLCgwLG8uZGVmYXVsdCkoYykpKSkucmVwbGFjZSgiMHgiLCIiKSE9PXUuY3J5cHRvLm1hYyl0aHJvdyBuZXcgRXJyb3IoIktleSBkZXJpdmF0aW9uIGZhaWxlZCAtIHBvc3NpYmx5IHdyb25nIHBhc3N3b3JkIik7dmFyIGY9Yi5jcmVhdGVEZWNpcGhlcml2KHUuY3J5cHRvLmNpcGhlcixpLnNsaWNlKDAsMTYpLG4uZnJvbSh1LmNyeXB0by5jaXBoZXJwYXJhbXMuaXYsImhleCIpKSxkPSIweCIrbi5mcm9tKFtdLmNvbmNhdCgoMCxvLmRlZmF1bHQpKGYudXBkYXRlKGMpKSwoMCxvLmRlZmF1bHQpKGYuZmluYWwoKSkpKS50b1N0cmluZygiaGV4Iik7cmV0dXJuIHRoaXMucHJpdmF0ZUtleVRvQWNjb3VudChkLCEwKX0sRS5wcm90b3R5cGUuZW5jcnlwdD1mdW5jdGlvbihlLHQscil7dmFyIGksYT10aGlzLnByaXZhdGVLZXlUb0FjY291bnQoZSwhMCkscz0ocj1yfHx7fSkuc2FsdHx8Yi5yYW5kb21CeXRlcygzMiksdT1yLml2fHxiLnJhbmRvbUJ5dGVzKDE2KSxjPXIua2RmfHwic2NyeXB0IixmPXtka2xlbjpyLmRrbGVufHwzMixzYWx0OnMudG9TdHJpbmcoImhleCIpfTtpZigicGJrZGYyIj09PWMpZi5jPXIuY3x8MjYyMTQ0LGYucHJmPSJobWFjLXNoYTI1NiIsaT1iLnBia2RmMlN5bmMobi5mcm9tKHQpLG4uZnJvbShmLnNhbHQsImhleCIpLGYuYyxmLmRrbGVuLCJzaGEyNTYiKTtlbHNle2lmKCJzY3J5cHQiIT09Yyl0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIGtkZiIpO2Yubj1yLm58fDgxOTIsZi5yPXIucnx8OCxmLnA9ci5wfHwxLGk9eS5zeW5jU2NyeXB0KG4uZnJvbSh0KSxuLmZyb20oZi5zYWx0LCJoZXgiKSxmLm4sZi5yLGYucCxmLmRrbGVuKX12YXIgZD1iLmNyZWF0ZUNpcGhlcml2KHIuY2lwaGVyfHwiYWVzLTEyOC1jdHIiLGkuc2xpY2UoMCwxNiksdSk7aWYoIWQpdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBjaXBoZXIiKTt2YXIgbD1uLmZyb20oW10uY29uY2F0KCgwLG8uZGVmYXVsdCkoZC51cGRhdGUobi5mcm9tKGEucHJpdmF0ZUtleS5yZXBsYWNlKCIweCIsIiIpLCJoZXgiKSkpLCgwLG8uZGVmYXVsdCkoZC5maW5hbCgpKSkpLGg9di5zaGEzKG4uZnJvbShbXS5jb25jYXQoKDAsby5kZWZhdWx0KShpLnNsaWNlKDE2LDMyKSksKDAsby5kZWZhdWx0KShsKSkpKS5yZXBsYWNlKCIweCIsIiIpO3JldHVybnt2ZXJzaW9uOjMsaWQ6bS52NCh7cmFuZG9tOnIudXVpZHx8Yi5yYW5kb21CeXRlcygxNil9KSxhZGRyZXNzOmEuYWRkcmVzcy50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoIjB4IiwiIiksY3J5cHRvOntjaXBoZXJ0ZXh0OmwudG9TdHJpbmcoImhleCIpLGNpcGhlcnBhcmFtczp7aXY6dS50b1N0cmluZygiaGV4Iil9LGNpcGhlcjpyLmNpcGhlcnx8ImFlcy0xMjgtY3RyIixrZGY6YyxrZGZwYXJhbXM6ZixtYWM6aC50b1N0cmluZygiaGV4Iil9fX0sTy5wcm90b3R5cGUuX2ZpbmRTYWZlSW5kZXg9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9ZXx8MCx0aGlzLmhhc093blByb3BlcnR5KGUpP3RoaXMuX2ZpbmRTYWZlSW5kZXgoZSsxKTplfSxPLnByb3RvdHlwZS5fY3VycmVudEluZGV4ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcykubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gcGFyc2VJbnQoZSl9KSkuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gZTw5ZTIwfSkpfSxPLnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHI9MDtyPGU7KytyKXRoaXMuYWRkKHRoaXMuX2FjY291bnRzLmNyZWF0ZSh0KS5wcml2YXRlS2V5KTtyZXR1cm4gdGhpc30sTy5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmKGU9dGhpcy5fYWNjb3VudHMucHJpdmF0ZUtleVRvQWNjb3VudChlKSksdGhpc1tlLmFkZHJlc3NdP3RoaXNbZS5hZGRyZXNzXTooKGU9dGhpcy5fYWNjb3VudHMucHJpdmF0ZUtleVRvQWNjb3VudChlLnByaXZhdGVLZXkpKS5pbmRleD10aGlzLl9maW5kU2FmZUluZGV4KCksdGhpc1tlLmluZGV4XT1lLHRoaXNbZS5hZGRyZXNzXT1lLHRoaXNbZS5hZGRyZXNzLnRvTG93ZXJDYXNlKCldPWUsdGhpcy5sZW5ndGgrKyxlKX0sTy5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXNbZV07cmV0dXJuISghdHx8IXQuYWRkcmVzc3x8KHRoaXNbdC5hZGRyZXNzXS5wcml2YXRlS2V5PW51bGwsZGVsZXRlIHRoaXNbdC5hZGRyZXNzXSx0aGlzW3QuYWRkcmVzcy50b0xvd2VyQ2FzZSgpXSYmKHRoaXNbdC5hZGRyZXNzLnRvTG93ZXJDYXNlKCldLnByaXZhdGVLZXk9bnVsbCxkZWxldGUgdGhpc1t0LmFkZHJlc3MudG9Mb3dlckNhc2UoKV0pLHRoaXNbdC5pbmRleF0ucHJpdmF0ZUtleT1udWxsLGRlbGV0ZSB0aGlzW3QuaW5kZXhdLHRoaXMubGVuZ3RoLS0sMCkpfSxPLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuX2N1cnJlbnRJbmRleGVzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZS5yZW1vdmUodCl9KSksdGhpc30sTy5wcm90b3R5cGUuZW5jcnlwdD1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXM7cmV0dXJuIHRoaXMuX2N1cnJlbnRJbmRleGVzKCkubWFwKChmdW5jdGlvbihuKXtyZXR1cm4gcltuXS5lbmNyeXB0KGUsdCl9KSl9LE8ucHJvdG90eXBlLmRlY3J5cHQ9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzO3JldHVybiBlLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPXIuX2FjY291bnRzLmRlY3J5cHQoZSx0KTtpZighbil0aHJvdyBuZXcgRXJyb3IoIkNvdWxkbid0IGRlY3J5cHQgYWNjb3VudHMuIFBhc3N3b3JkIHdyb25nPyIpO3IuYWRkKG4pfSkpLHRoaXN9LE8ucHJvdG90eXBlLnNhdmU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbG9jYWxTdG9yYWdlLnNldEl0ZW0odHx8dGhpcy5kZWZhdWx0S2V5TmFtZSxKU09OLnN0cmluZ2lmeSh0aGlzLmVuY3J5cHQoZSkpKSwhMH0sTy5wcm90b3R5cGUubG9hZD1mdW5jdGlvbihlLHQpe3ZhciByPWxvY2FsU3RvcmFnZS5nZXRJdGVtKHR8fHRoaXMuZGVmYXVsdEtleU5hbWUpO2lmKHIpdHJ5e3I9SlNPTi5wYXJzZShyKX1jYXRjaChlKXt9cmV0dXJuIHRoaXMuZGVjcnlwdChyfHxbXSxlKX0sZnVuY3Rpb24oZSl7dmFyIHQ7dHJ5e3Q9c2VsZi5sb2NhbFN0b3JhZ2U7dmFyIHI9Il9fc3RvcmFnZV90ZXN0X18iO3JldHVybiB0LnNldEl0ZW0ocixyKSx0LnJlbW92ZUl0ZW0ociksITB9Y2F0Y2goZSl7cmV0dXJuIGUmJigyMj09PWUuY29kZXx8MTAxND09PWUuY29kZXx8IlF1b3RhRXhjZWVkZWRFcnJvciI9PT1lLm5hbWV8fCJOU19FUlJPUl9ET01fUVVPVEFfUkVBQ0hFRCI9PT1lLm5hbWUpJiZ0JiYwIT09dC5sZW5ndGh9fSgpfHwoZGVsZXRlIE8ucHJvdG90eXBlLnNhdmUsZGVsZXRlIE8ucHJvdG90eXBlLmxvYWQpLGUuZXhwb3J0cz1FfSw4MTY0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KSxpPW4ocig3NzUpKSxvPW4ocigzMzU1KSk7ZnVuY3Rpb24gYShlLHQpe3ZhciByPU9iamVjdC5rZXlzKGUpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7dCYmKG49bi5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCkuZW51bWVyYWJsZX0pKSksci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gcyhlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1udWxsIT1hcmd1bWVudHNbdF0/YXJndW1lbnRzW3RdOnt9O3QlMj9hKE9iamVjdChyKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7KDAsaS5kZWZhdWx0KShlLHQsclt0XSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhyKSk6YShPYmplY3QocikpLmZvckVhY2goKGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLHQpKX0pKX1yZXR1cm4gZX12YXIgdT1yKDYwNiksYz1yKDMzNDkpLGY9cig4MTYxKSxkPXIoNDE3OCkuc3Vic2NyaXB0aW9uLGw9cigxMzE0KS5mb3JtYXR0ZXJzLGg9cigxMzE0KS5lcnJvcnMscD1yKDI4MiksYj1yKDk5MDEpLHk9ZnVuY3Rpb24gZSh0LHIsbil7dmFyIGk9dGhpcyxhPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7aWYoISh0aGlzIGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgdXNlIHRoZSAibmV3IiBrZXl3b3JkIHRvIGluc3RhbnRpYXRlIGEgd2ViMy5ldGguQ29udHJhY3QoKSBvYmplY3QhJyk7aWYodGhpcy5zZXRQcm92aWRlcj1mdW5jdGlvbigpe3UucGFja2FnZUluaXQoaSxhcmd1bWVudHMpLGkuY2xlYXJTdWJzY3JpcHRpb25zPWkuX3JlcXVlc3RNYW5hZ2VyLmNsZWFyU3Vic2NyaXB0aW9uc30sdS5wYWNrYWdlSW5pdCh0aGlzLFt0aGlzLmNvbnN0cnVjdG9yXSksdGhpcy5jbGVhclN1YnNjcmlwdGlvbnM9dGhpcy5fcmVxdWVzdE1hbmFnZXIuY2xlYXJTdWJzY3JpcHRpb25zLCF0fHwhQXJyYXkuaXNBcnJheSh0KSl0aHJvdyBoLkNvbnRyYWN0TWlzc2luZ0FCSUVycm9yKCk7dGhpcy5vcHRpb25zPXt9O3ZhciBjPWFbYS5sZW5ndGgtMV07YyYmIm9iamVjdCI9PT0oMCxvLmRlZmF1bHQpKGMpJiYhQXJyYXkuaXNBcnJheShjKSYmKG49Yyx0aGlzLm9wdGlvbnM9cyhzKHt9LHRoaXMub3B0aW9ucyksdGhpcy5fZ2V0T3JTZXREZWZhdWx0T3B0aW9ucyhuKSksciYmIm9iamVjdCI9PT0oMCxvLmRlZmF1bHQpKHIpJiYocj1udWxsKSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMub3B0aW9ucywiYWRkcmVzcyIse3NldDpmdW5jdGlvbihlKXtlJiYoaS5fYWRkcmVzcz1mLnRvQ2hlY2tzdW1BZGRyZXNzKGwuaW5wdXRBZGRyZXNzRm9ybWF0dGVyKGUpKSl9LGdldDpmdW5jdGlvbigpe3JldHVybiBpLl9hZGRyZXNzfSxlbnVtZXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMub3B0aW9ucywianNvbkludGVyZmFjZSIse3NldDpmdW5jdGlvbihlKXtyZXR1cm4gaS5tZXRob2RzPXt9LGkuZXZlbnRzPXt9LGkuX2pzb25JbnRlcmZhY2U9ZS5tYXAoKGZ1bmN0aW9uKGUpe3ZhciB0LHI7aWYoZS5jb25zdGFudD0idmlldyI9PT1lLnN0YXRlTXV0YWJpbGl0eXx8InB1cmUiPT09ZS5zdGF0ZU11dGFiaWxpdHl8fGUuY29uc3RhbnQsZS5wYXlhYmxlPSJwYXlhYmxlIj09PWUuc3RhdGVNdXRhYmlsaXR5fHxlLnBheWFibGUsZS5uYW1lJiYocj1mLl9qc29uSW50ZXJmYWNlTWV0aG9kVG9TdHJpbmcoZSkpLCJmdW5jdGlvbiI9PT1lLnR5cGUpe2lmKGUuc2lnbmF0dXJlPWIuZW5jb2RlRnVuY3Rpb25TaWduYXR1cmUociksdD1pLl9jcmVhdGVUeE9iamVjdC5iaW5kKHttZXRob2Q6ZSxwYXJlbnQ6aX0pLGkubWV0aG9kc1tlLm5hbWVdKXt2YXIgbj1pLl9jcmVhdGVUeE9iamVjdC5iaW5kKHttZXRob2Q6ZSxwYXJlbnQ6aSxuZXh0TWV0aG9kOmkubWV0aG9kc1tlLm5hbWVdfSk7aS5tZXRob2RzW2UubmFtZV09bn1lbHNlIGkubWV0aG9kc1tlLm5hbWVdPXQ7aS5tZXRob2RzW2Uuc2lnbmF0dXJlXT10LGkubWV0aG9kc1tyXT10fWVsc2UgaWYoImV2ZW50Ij09PWUudHlwZSl7ZS5zaWduYXR1cmU9Yi5lbmNvZGVFdmVudFNpZ25hdHVyZShyKTt2YXIgbz1pLl9vbi5iaW5kKGksZS5zaWduYXR1cmUpO2kuZXZlbnRzW2UubmFtZV0mJiJib3VuZCAiIT09aS5ldmVudHNbZS5uYW1lXS5uYW1lfHwoaS5ldmVudHNbZS5uYW1lXT1vKSxpLmV2ZW50c1tlLnNpZ25hdHVyZV09byxpLmV2ZW50c1tyXT1vfXJldHVybiBlfSkpLGkuZXZlbnRzLmFsbEV2ZW50cz1pLl9vbi5iaW5kKGksImFsbGV2ZW50cyIpLGkuX2pzb25JbnRlcmZhY2V9LGdldDpmdW5jdGlvbigpe3JldHVybiBpLl9qc29uSW50ZXJmYWNlfSxlbnVtZXJhYmxlOiEwfSk7dmFyIGQ9dGhpcy5jb25zdHJ1Y3Rvci5kZWZhdWx0QWNjb3VudCxwPXRoaXMuY29uc3RydWN0b3IuZGVmYXVsdEJsb2NrfHwibGF0ZXN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiaGFuZGxlUmV2ZXJ0Iix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuITE9PT1pLm9wdGlvbnMuaGFuZGxlUmV2ZXJ0fHwhMD09PWkub3B0aW9ucy5oYW5kbGVSZXZlcnQ/aS5vcHRpb25zLmhhbmRsZVJldmVydDp0aGlzLmNvbnN0cnVjdG9yLmhhbmRsZVJldmVydH0sc2V0OmZ1bmN0aW9uKGUpe2kub3B0aW9ucy5oYW5kbGVSZXZlcnQ9ZX0sZW51bWVyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJkZWZhdWx0Q29tbW9uIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGkub3B0aW9ucy5jb21tb258fHRoaXMuY29uc3RydWN0b3IuZGVmYXVsdENvbW1vbn0sc2V0OmZ1bmN0aW9uKGUpe2kub3B0aW9ucy5jb21tb249ZX0sZW51bWVyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJkZWZhdWx0SGFyZGZvcmsiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaS5vcHRpb25zLmhhcmRmb3JrfHx0aGlzLmNvbnN0cnVjdG9yLmRlZmF1bHRIYXJkZm9ya30sc2V0OmZ1bmN0aW9uKGUpe2kub3B0aW9ucy5oYXJkZm9yaz1lfSxlbnVtZXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImRlZmF1bHRDaGFpbiIse2dldDpmdW5jdGlvbigpe3JldHVybiBpLm9wdGlvbnMuY2hhaW58fHRoaXMuY29uc3RydWN0b3IuZGVmYXVsdENoYWlufSxzZXQ6ZnVuY3Rpb24oZSl7aS5vcHRpb25zLmNoYWluPWV9LGVudW1lcmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywidHJhbnNhY3Rpb25Qb2xsaW5nVGltZW91dCIse2dldDpmdW5jdGlvbigpe3JldHVybiAwPT09aS5vcHRpb25zLnRyYW5zYWN0aW9uUG9sbGluZ1RpbWVvdXQ/aS5vcHRpb25zLnRyYW5zYWN0aW9uUG9sbGluZ1RpbWVvdXQ6aS5vcHRpb25zLnRyYW5zYWN0aW9uUG9sbGluZ1RpbWVvdXR8fHRoaXMuY29uc3RydWN0b3IudHJhbnNhY3Rpb25Qb2xsaW5nVGltZW91dH0sc2V0OmZ1bmN0aW9uKGUpe2kub3B0aW9ucy50cmFuc2FjdGlvblBvbGxpbmdUaW1lb3V0PWV9LGVudW1lcmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywidHJhbnNhY3Rpb25Qb2xsaW5nSW50ZXJ2YWwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMD09PWkub3B0aW9ucy50cmFuc2FjdGlvblBvbGxpbmdJbnRlcnZhbD9pLm9wdGlvbnMudHJhbnNhY3Rpb25Qb2xsaW5nSW50ZXJ2YWw6aS5vcHRpb25zLnRyYW5zYWN0aW9uUG9sbGluZ0ludGVydmFsfHx0aGlzLmNvbnN0cnVjdG9yLnRyYW5zYWN0aW9uUG9sbGluZ0ludGVydmFsfSxzZXQ6ZnVuY3Rpb24oZSl7aS5vcHRpb25zLnRyYW5zYWN0aW9uUG9sbGluZ0ludGVydmFsPWV9LGVudW1lcmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywidHJhbnNhY3Rpb25Db25maXJtYXRpb25CbG9ja3MiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMD09PWkub3B0aW9ucy50cmFuc2FjdGlvbkNvbmZpcm1hdGlvbkJsb2Nrcz9pLm9wdGlvbnMudHJhbnNhY3Rpb25Db25maXJtYXRpb25CbG9ja3M6aS5vcHRpb25zLnRyYW5zYWN0aW9uQ29uZmlybWF0aW9uQmxvY2tzfHx0aGlzLmNvbnN0cnVjdG9yLnRyYW5zYWN0aW9uQ29uZmlybWF0aW9uQmxvY2tzfSxzZXQ6ZnVuY3Rpb24oZSl7aS5vcHRpb25zLnRyYW5zYWN0aW9uQ29uZmlybWF0aW9uQmxvY2tzPWV9LGVudW1lcmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywidHJhbnNhY3Rpb25CbG9ja1RpbWVvdXQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMD09PWkub3B0aW9ucy50cmFuc2FjdGlvbkJsb2NrVGltZW91dD9pLm9wdGlvbnMudHJhbnNhY3Rpb25CbG9ja1RpbWVvdXQ6aS5vcHRpb25zLnRyYW5zYWN0aW9uQmxvY2tUaW1lb3V0fHx0aGlzLmNvbnN0cnVjdG9yLnRyYW5zYWN0aW9uQmxvY2tUaW1lb3V0fSxzZXQ6ZnVuY3Rpb24oZSl7aS5vcHRpb25zLnRyYW5zYWN0aW9uQmxvY2tUaW1lb3V0PWV9LGVudW1lcmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiYmxvY2tIZWFkZXJUaW1lb3V0Iix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDA9PT1pLm9wdGlvbnMuYmxvY2tIZWFkZXJUaW1lb3V0P2kub3B0aW9ucy5ibG9ja0hlYWRlclRpbWVvdXQ6aS5vcHRpb25zLmJsb2NrSGVhZGVyVGltZW91dHx8dGhpcy5jb25zdHJ1Y3Rvci5ibG9ja0hlYWRlclRpbWVvdXR9LHNldDpmdW5jdGlvbihlKXtpLm9wdGlvbnMuYmxvY2tIZWFkZXJUaW1lb3V0PWV9LGVudW1lcmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiZGVmYXVsdEFjY291bnQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sc2V0OmZ1bmN0aW9uKGUpe3JldHVybiBlJiYoZD1mLnRvQ2hlY2tzdW1BZGRyZXNzKGwuaW5wdXRBZGRyZXNzRm9ybWF0dGVyKGUpKSksZX0sZW51bWVyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJkZWZhdWx0QmxvY2siLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcH0sc2V0OmZ1bmN0aW9uKGUpe3JldHVybiBwPWUsZX0sZW51bWVyYWJsZTohMH0pLHRoaXMubWV0aG9kcz17fSx0aGlzLmV2ZW50cz17fSx0aGlzLl9hZGRyZXNzPW51bGwsdGhpcy5fanNvbkludGVyZmFjZT1bXSx0aGlzLm9wdGlvbnMuYWRkcmVzcz1yLHRoaXMub3B0aW9ucy5qc29uSW50ZXJmYWNlPXR9O3kuc2V0UHJvdmlkZXI9ZnVuY3Rpb24oZSx0KXt1LnBhY2thZ2VJbml0KHRoaXMsW2VdKSx0aGlzLl9ldGhBY2NvdW50cz10fSx5LnByb3RvdHlwZS5fZ2V0Q2FsbGJhY2s9ZnVuY3Rpb24oZSl7aWYoZSYmZVtlLmxlbmd0aC0xXSYmImZ1bmN0aW9uIj09dHlwZW9mIGVbZS5sZW5ndGgtMV0pcmV0dXJuIGUucG9wKCl9LHkucHJvdG90eXBlLl9jaGVja0xpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYodD09PWUpdGhyb3cgaC5Db250cmFjdFJlc2VydmVkRXZlbnRFcnJvcihlKX0seS5wcm90b3R5cGUuX2dldE9yU2V0RGVmYXVsdE9wdGlvbnM9ZnVuY3Rpb24oZSl7dmFyIHQ9cyh7fSxlKSxyPXQuZ2FzUHJpY2U/U3RyaW5nKHQuZ2FzUHJpY2UpOm51bGwsbj10LmZyb20/Zi50b0NoZWNrc3VtQWRkcmVzcyhsLmlucHV0QWRkcmVzc0Zvcm1hdHRlcih0LmZyb20pKTpudWxsO3JldHVybiB0LmRhdGE9dC5kYXRhfHx0aGlzLm9wdGlvbnMuZGF0YSx0LmZyb209bnx8dGhpcy5vcHRpb25zLmZyb20sdC5nYXNQcmljZT1yfHx0aGlzLm9wdGlvbnMuZ2FzUHJpY2UsdC5nYXM9dC5nYXN8fHQuZ2FzTGltaXR8fHRoaXMub3B0aW9ucy5nYXMsZGVsZXRlIHQuZ2FzTGltaXQsdH0seS5wcm90b3R5cGUuX2VuY29kZUV2ZW50QUJJPWZ1bmN0aW9uKGUsdCl7dmFyIHI9KHQ9dHx8e30pLmZpbHRlcnx8e30sbj17fTtpZihbImZyb21CbG9jayIsInRvQmxvY2siXS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDAhPT10W2VdfSkpLmZvckVhY2goKGZ1bmN0aW9uKGUpe25bZV09bC5pbnB1dEJsb2NrTnVtYmVyRm9ybWF0dGVyKHRbZV0pfSkpLEFycmF5LmlzQXJyYXkodC50b3BpY3MpKW4udG9waWNzPXQudG9waWNzO2Vsc2V7aWYobi50b3BpY3M9W10sZSYmIWUuYW5vbnltb3VzJiYiQUxMRVZFTlRTIiE9PWUubmFtZSYmbi50b3BpY3MucHVzaChlLnNpZ25hdHVyZSksIkFMTEVWRU5UUyIhPT1lLm5hbWUpe3ZhciBpPWUuaW5wdXRzLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuITA9PT1lLmluZGV4ZWR9KSkubWFwKChmdW5jdGlvbihlKXt2YXIgdD1yW2UubmFtZV07cmV0dXJuIHQ/QXJyYXkuaXNBcnJheSh0KT90Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGIuZW5jb2RlUGFyYW1ldGVyKGUudHlwZSx0KX0pKTpiLmVuY29kZVBhcmFtZXRlcihlLnR5cGUsdCk6bnVsbH0pKTtuLnRvcGljcz1uLnRvcGljcy5jb25jYXQoaSl9bi50b3BpY3MubGVuZ3RofHxkZWxldGUgbi50b3BpY3N9cmV0dXJuIHRoaXMub3B0aW9ucy5hZGRyZXNzJiYobi5hZGRyZXNzPXRoaXMub3B0aW9ucy5hZGRyZXNzLnRvTG93ZXJDYXNlKCkpLG59LHkucHJvdG90eXBlLl9kZWNvZGVFdmVudEFCST1mdW5jdGlvbihlKXt2YXIgdD10aGlzO2UuZGF0YT1lLmRhdGF8fCIiLGUudG9waWNzPWUudG9waWNzfHxbXTt2YXIgcj1sLm91dHB1dExvZ0Zvcm1hdHRlcihlKTtpZigiQUxMRVZFTlRTIj09PXQubmFtZSYmKHQ9dC5qc29uSW50ZXJmYWNlLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnNpZ25hdHVyZT09PWUudG9waWNzWzBdfSkpfHx7YW5vbnltb3VzOiEwfSksdC5pbnB1dHM9dC5pbnB1dHN8fFtdLCF0LmFub255bW91cyl7dmFyIG49MDt0LmlucHV0cy5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gZS5pbmRleGVkP24rKzpudWxsfSkpLG4+MCYmZS50b3BpY3MubGVuZ3RoIT09bisxJiYodD17YW5vbnltb3VzOiEwLGlucHV0czpbXX0pfXZhciBpPXQuYW5vbnltb3VzP2UudG9waWNzOmUudG9waWNzLnNsaWNlKDEpO3JldHVybiByLnJldHVyblZhbHVlcz1iLmRlY29kZUxvZyh0LmlucHV0cyxlLmRhdGEsaSksZGVsZXRlIHIucmV0dXJuVmFsdWVzLl9fbGVuZ3RoX18sci5ldmVudD10Lm5hbWUsci5zaWduYXR1cmU9dC5hbm9ueW1vdXN8fCFlLnRvcGljc1swXT9udWxsOmUudG9waWNzWzBdLHIucmF3PXtkYXRhOnIuZGF0YSx0b3BpY3M6ci50b3BpY3N9LGRlbGV0ZSByLmRhdGEsZGVsZXRlIHIudG9waWNzLHJ9LHkucHJvdG90eXBlLl9lbmNvZGVNZXRob2RBQkk9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9tZXRob2Quc2lnbmF0dXJlLHQ9dGhpcy5hcmd1bWVudHN8fFtdLHI9ITEsbj10aGlzLl9wYXJlbnQub3B0aW9ucy5qc29uSW50ZXJmYWNlLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuImNvbnN0cnVjdG9yIj09PWUmJnQudHlwZT09PWV8fCh0LnNpZ25hdHVyZT09PWV8fHQuc2lnbmF0dXJlPT09ZS5yZXBsYWNlKCIweCIsIiIpfHx0Lm5hbWU9PT1lKSYmImZ1bmN0aW9uIj09PXQudHlwZX0pKS5tYXAoKGZ1bmN0aW9uKGUpe3ZhciBuPUFycmF5LmlzQXJyYXkoZS5pbnB1dHMpP2UuaW5wdXRzLmxlbmd0aDowO2lmKG4hPT10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlRoZSBudW1iZXIgb2YgYXJndW1lbnRzIGlzIG5vdCBtYXRjaGluZyB0aGUgbWV0aG9kcyByZXF1aXJlZCBudW1iZXIuIFlvdSBuZWVkIHRvIHBhc3MgIituKyIgYXJndW1lbnRzLiIpO3JldHVybiJmdW5jdGlvbiI9PT1lLnR5cGUmJihyPWUuc2lnbmF0dXJlKSxBcnJheS5pc0FycmF5KGUuaW5wdXRzKT9lLmlucHV0czpbXX0pKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBiLmVuY29kZVBhcmFtZXRlcnMoZSx0KS5yZXBsYWNlKCIweCIsIiIpfSkpWzBdfHwiIjtpZigiY29uc3RydWN0b3IiPT09ZSl7aWYoIXRoaXMuX2RlcGxveURhdGEpdGhyb3cgbmV3IEVycm9yKCJUaGUgY29udHJhY3QgaGFzIG5vIGNvbnRyYWN0IGRhdGEgb3B0aW9uIHNldC4gVGhpcyBpcyBuZWNlc3NhcnkgdG8gYXBwZW5kIHRoZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXJzLiIpO3JldHVybiB0aGlzLl9kZXBsb3lEYXRhLnN0YXJ0c1dpdGgoIjB4Iil8fCh0aGlzLl9kZXBsb3lEYXRhPSIweCIrdGhpcy5fZGVwbG95RGF0YSksdGhpcy5fZGVwbG95RGF0YStufXZhciBpPXI/cituOm47aWYoIWkpdGhyb3cgbmV3IEVycm9yKCJDb3VsZG4ndCBmaW5kIGEgbWF0Y2hpbmcgY29udHJhY3QgbWV0aG9kIG5hbWVkIFwiIit0aGlzLl9tZXRob2QubmFtZSsnIi4nKTtyZXR1cm4gaX0seS5wcm90b3R5cGUuX2RlY29kZU1ldGhvZFJldHVybj1mdW5jdGlvbihlLHQpe2lmKCF0KXJldHVybiBudWxsO3Q9dC5sZW5ndGg+PTI/dC5zbGljZSgyKTp0O3ZhciByPWIuZGVjb2RlUGFyYW1ldGVycyhlLHQpO3JldHVybiAxPT09ci5fX2xlbmd0aF9fP3JbMF06KGRlbGV0ZSByLl9fbGVuZ3RoX18scil9LHkucHJvdG90eXBlLmRlcGxveT1mdW5jdGlvbihlLHQpe2lmKChlPWV8fHt9KS5hcmd1bWVudHM9ZS5hcmd1bWVudHN8fFtdLCEoZT10aGlzLl9nZXRPclNldERlZmF1bHRPcHRpb25zKGUpKS5kYXRhKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdClyZXR1cm4gdChoLkNvbnRyYWN0TWlzc2luZ0RlcGxveURhdGFFcnJvcigpKTt0aHJvdyBoLkNvbnRyYWN0TWlzc2luZ0RlcGxveURhdGFFcnJvcigpfXZhciByPXRoaXMub3B0aW9ucy5qc29uSW50ZXJmYWNlLmZpbmQoKGZ1bmN0aW9uKGUpe3JldHVybiJjb25zdHJ1Y3RvciI9PT1lLnR5cGV9KSl8fHt9O3JldHVybiByLnNpZ25hdHVyZT0iY29uc3RydWN0b3IiLHRoaXMuX2NyZWF0ZVR4T2JqZWN0LmFwcGx5KHttZXRob2Q6cixwYXJlbnQ6dGhpcyxkZXBsb3lEYXRhOmUuZGF0YSxfZXRoQWNjb3VudHM6dGhpcy5jb25zdHJ1Y3Rvci5fZXRoQWNjb3VudHN9LGUuYXJndW1lbnRzKX0seS5wcm90b3R5cGUuX2dlbmVyYXRlRXZlbnRPcHRpb25zPWZ1bmN0aW9uKCl7dmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSx0PXRoaXMuX2dldENhbGxiYWNrKGUpLHI9Im9iamVjdCI9PT0oISFlW2UubGVuZ3RoLTFdJiYoMCxvLmRlZmF1bHQpKGVbZS5sZW5ndGgtMV0pKT9lLnBvcCgpOnt9LG49InN0cmluZyI9PXR5cGVvZiBlWzBdP2VbMF06ImFsbGV2ZW50cyIsaT0iYWxsZXZlbnRzIj09PW4udG9Mb3dlckNhc2UoKT97bmFtZToiQUxMRVZFTlRTIixqc29uSW50ZXJmYWNlOnRoaXMub3B0aW9ucy5qc29uSW50ZXJmYWNlfTp0aGlzLm9wdGlvbnMuanNvbkludGVyZmFjZS5maW5kKChmdW5jdGlvbihlKXtyZXR1cm4iZXZlbnQiPT09ZS50eXBlJiYoZS5uYW1lPT09bnx8ZS5zaWduYXR1cmU9PT0iMHgiK24ucmVwbGFjZSgiMHgiLCIiKSl9KSk7aWYoIWkpdGhyb3cgaC5Db250cmFjdEV2ZW50RG9lc05vdEV4aXN0RXJyb3Iobik7aWYoIWYuaXNBZGRyZXNzKHRoaXMub3B0aW9ucy5hZGRyZXNzKSl0aHJvdyBoLkNvbnRyYWN0Tm9BZGRyZXNzRGVmaW5lZEVycm9yKCk7cmV0dXJue3BhcmFtczp0aGlzLl9lbmNvZGVFdmVudEFCSShpLHIpLGV2ZW50OmksY2FsbGJhY2s6dH19LHkucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMub3B0aW9ucy5qc29uSW50ZXJmYWNlLHRoaXMub3B0aW9ucy5hZGRyZXNzLHRoaXMub3B0aW9ucyl9LHkucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7aWYoIShyPXRoaXMuX2dldENhbGxiYWNrKG4pKSl0aHJvdyBoLkNvbnRyYWN0T25jZVJlcXVpcmVzQ2FsbGJhY2tFcnJvcigpO3QmJmRlbGV0ZSB0LmZyb21CbG9jayx0aGlzLl9vbihlLHQsKGZ1bmN0aW9uKGUsdCxuKXtuLnVuc3Vic2NyaWJlKCksImZ1bmN0aW9uIj09dHlwZW9mIHImJnIoZSx0LG4pfSkpfSx5LnByb3RvdHlwZS5fb249ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9nZW5lcmF0ZUV2ZW50T3B0aW9ucy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZS5wYXJhbXMmJmUucGFyYW1zLnRvQmxvY2smJihkZWxldGUgZS5wYXJhbXMudG9CbG9jayxjb25zb2xlLndhcm4oIkludmFsaWQgb3B0aW9uOiB0b0Jsb2NrLiBVc2UgZ2V0UGFzdEV2ZW50cyBmb3Igc3BlY2lmaWMgcmFuZ2UuIikpLHRoaXMuX2NoZWNrTGlzdGVuZXIoIm5ld0xpc3RlbmVyIixlLmV2ZW50Lm5hbWUpLHRoaXMuX2NoZWNrTGlzdGVuZXIoInJlbW92ZUxpc3RlbmVyIixlLmV2ZW50Lm5hbWUpO3ZhciB0PW5ldyBkKHtzdWJzY3JpcHRpb246e3BhcmFtczoxLGlucHV0Rm9ybWF0dGVyOltsLmlucHV0TG9nRm9ybWF0dGVyXSxvdXRwdXRGb3JtYXR0ZXI6dGhpcy5fZGVjb2RlRXZlbnRBQkkuYmluZChlLmV2ZW50KSxzdWJzY3JpcHRpb25IYW5kbGVyOmZ1bmN0aW9uKGUpe2UucmVtb3ZlZD90aGlzLmVtaXQoImNoYW5nZWQiLGUpOnRoaXMuZW1pdCgiZGF0YSIsZSksImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuY2FsbGJhY2smJnRoaXMuY2FsbGJhY2sobnVsbCxlLHRoaXMpfX0sdHlwZToiZXRoIixyZXF1ZXN0TWFuYWdlcjp0aGlzLl9yZXF1ZXN0TWFuYWdlcn0pO3JldHVybiB0LnN1YnNjcmliZSgibG9ncyIsZS5wYXJhbXMsZS5jYWxsYmFja3x8ZnVuY3Rpb24oKXt9KSx0fSx5LnByb3RvdHlwZS5nZXRQYXN0RXZlbnRzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fZ2VuZXJhdGVFdmVudE9wdGlvbnMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHQ9bmV3IGMoe25hbWU6ImdldFBhc3RMb2dzIixjYWxsOiJldGhfZ2V0TG9ncyIscGFyYW1zOjEsaW5wdXRGb3JtYXR0ZXI6W2wuaW5wdXRMb2dGb3JtYXR0ZXJdLG91dHB1dEZvcm1hdHRlcjp0aGlzLl9kZWNvZGVFdmVudEFCSS5iaW5kKGUuZXZlbnQpfSk7dC5zZXRSZXF1ZXN0TWFuYWdlcih0aGlzLl9yZXF1ZXN0TWFuYWdlcik7dmFyIHI9dC5idWlsZENhbGwoKTtyZXR1cm4gdD1udWxsLHIoZS5wYXJhbXMsZS5jYWxsYmFjayl9LHkucHJvdG90eXBlLl9jcmVhdGVUeE9iamVjdD1mdW5jdGlvbigpe3ZhciBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyksdD17fTtpZigiZnVuY3Rpb24iPT09dGhpcy5tZXRob2QudHlwZSYmKHQuY2FsbD10aGlzLnBhcmVudC5fZXhlY3V0ZU1ldGhvZC5iaW5kKHQsImNhbGwiKSx0LmNhbGwucmVxdWVzdD10aGlzLnBhcmVudC5fZXhlY3V0ZU1ldGhvZC5iaW5kKHQsImNhbGwiLCEwKSksdC5zZW5kPXRoaXMucGFyZW50Ll9leGVjdXRlTWV0aG9kLmJpbmQodCwic2VuZCIpLHQuc2VuZC5yZXF1ZXN0PXRoaXMucGFyZW50Ll9leGVjdXRlTWV0aG9kLmJpbmQodCwic2VuZCIsITApLHQuZW5jb2RlQUJJPXRoaXMucGFyZW50Ll9lbmNvZGVNZXRob2RBQkkuYmluZCh0KSx0LmVzdGltYXRlR2FzPXRoaXMucGFyZW50Ll9leGVjdXRlTWV0aG9kLmJpbmQodCwiZXN0aW1hdGUiKSx0LmNyZWF0ZUFjY2Vzc0xpc3Q9dGhpcy5wYXJlbnQuX2V4ZWN1dGVNZXRob2QuYmluZCh0LCJjcmVhdGVBY2Nlc3NMaXN0IiksZSYmdGhpcy5tZXRob2QuaW5wdXRzJiZlLmxlbmd0aCE9PXRoaXMubWV0aG9kLmlucHV0cy5sZW5ndGgpe2lmKHRoaXMubmV4dE1ldGhvZClyZXR1cm4gdGhpcy5uZXh0TWV0aG9kLmFwcGx5KG51bGwsZSk7dGhyb3cgaC5JbnZhbGlkTnVtYmVyT2ZQYXJhbXMoZS5sZW5ndGgsdGhpcy5tZXRob2QuaW5wdXRzLmxlbmd0aCx0aGlzLm1ldGhvZC5uYW1lKX1yZXR1cm4gdC5hcmd1bWVudHM9ZXx8W10sdC5fbWV0aG9kPXRoaXMubWV0aG9kLHQuX3BhcmVudD10aGlzLnBhcmVudCx0Ll9ldGhBY2NvdW50cz10aGlzLnBhcmVudC5jb25zdHJ1Y3Rvci5fZXRoQWNjb3VudHN8fHRoaXMuX2V0aEFjY291bnRzLHRoaXMuZGVwbG95RGF0YSYmKHQuX2RlcGxveURhdGE9dGhpcy5kZXBsb3lEYXRhKSx0fSx5LnByb3RvdHlwZS5fcHJvY2Vzc0V4ZWN1dGVBcmd1bWVudHM9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtpZihyLnR5cGU9ZS5zaGlmdCgpLHIuY2FsbGJhY2s9dGhpcy5fcGFyZW50Ll9nZXRDYWxsYmFjayhlKSwiY2FsbCIhPT1yLnR5cGV8fCEwPT09ZVtlLmxlbmd0aC0xXXx8InN0cmluZyIhPXR5cGVvZiBlW2UubGVuZ3RoLTFdJiYhaXNGaW5pdGUoZVtlLmxlbmd0aC0xXSl8fChyLmRlZmF1bHRCbG9jaz1lLnBvcCgpKSxyLm9wdGlvbnM9Im9iamVjdCI9PT0oISFlW2UubGVuZ3RoLTFdJiYoMCxvLmRlZmF1bHQpKGVbZS5sZW5ndGgtMV0pKT9lLnBvcCgpOnt9LHIuZ2VuZXJhdGVSZXF1ZXN0PSEwPT09ZVtlLmxlbmd0aC0xXSYmZS5wb3AoKSxyLm9wdGlvbnM9dGhpcy5fcGFyZW50Ll9nZXRPclNldERlZmF1bHRPcHRpb25zKHIub3B0aW9ucyksci5vcHRpb25zLmRhdGE9dGhpcy5lbmNvZGVBQkkoKSwhdGhpcy5fZGVwbG95RGF0YSYmIWYuaXNBZGRyZXNzKHRoaXMuX3BhcmVudC5vcHRpb25zLmFkZHJlc3MpKXRocm93IGguQ29udHJhY3ROb0FkZHJlc3NEZWZpbmVkRXJyb3IoKTtyZXR1cm4gdGhpcy5fZGVwbG95RGF0YXx8KHIub3B0aW9ucy50bz10aGlzLl9wYXJlbnQub3B0aW9ucy5hZGRyZXNzKSxyLm9wdGlvbnMuZGF0YT9yOmYuX2ZpcmVFcnJvcihuZXcgRXJyb3IoIkNvdWxkbid0IGZpbmQgYSBtYXRjaGluZyBjb250cmFjdCBtZXRob2QsIG9yIHRoZSBudW1iZXIgb2YgcGFyYW1ldGVycyBpcyB3cm9uZy4iKSx0LmV2ZW50RW1pdHRlcix0LnJlamVjdCxyLmNhbGxiYWNrKX0seS5wcm90b3R5cGUuX2V4ZWN1dGVNZXRob2Q9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9dGhpcy5fcGFyZW50Ll9wcm9jZXNzRXhlY3V0ZUFyZ3VtZW50cy5jYWxsKHRoaXMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSxyKSxyPXAoInNlbmQiIT09dC50eXBlKSxuPWUuY29uc3RydWN0b3IuX2V0aEFjY291bnRzfHxlLl9ldGhBY2NvdW50cztpZih0LmdlbmVyYXRlUmVxdWVzdCl7dmFyIGk9e3BhcmFtczpbbC5pbnB1dENhbGxGb3JtYXR0ZXIuY2FsbCh0aGlzLl9wYXJlbnQsdC5vcHRpb25zKV0sY2FsbGJhY2s6dC5jYWxsYmFja307cmV0dXJuImNhbGwiPT09dC50eXBlPyhpLnBhcmFtcy5wdXNoKGwuaW5wdXREZWZhdWx0QmxvY2tOdW1iZXJGb3JtYXR0ZXIuY2FsbCh0aGlzLl9wYXJlbnQsdC5kZWZhdWx0QmxvY2spKSxpLm1ldGhvZD0iZXRoX2NhbGwiLGkuZm9ybWF0PXRoaXMuX3BhcmVudC5fZGVjb2RlTWV0aG9kUmV0dXJuLmJpbmQobnVsbCx0aGlzLl9tZXRob2Qub3V0cHV0cykpOmkubWV0aG9kPSJldGhfc2VuZFRyYW5zYWN0aW9uIixpfXN3aXRjaCh0LnR5cGUpe2Nhc2UiY3JlYXRlQWNjZXNzTGlzdCI6aWYoIWYuaXNBZGRyZXNzKHQub3B0aW9ucy5mcm9tKSlyZXR1cm4gZi5fZmlyZUVycm9yKGguQ29udHJhY3ROb0Zyb21BZGRyZXNzRGVmaW5lZEVycm9yKCksci5ldmVudEVtaXR0ZXIsci5yZWplY3QsdC5jYWxsYmFjayk7dmFyIG89bmV3IGMoe25hbWU6ImNyZWF0ZUFjY2Vzc0xpc3QiLGNhbGw6ImV0aF9jcmVhdGVBY2Nlc3NMaXN0IixwYXJhbXM6MixpbnB1dEZvcm1hdHRlcjpbbC5pbnB1dFRyYW5zYWN0aW9uRm9ybWF0dGVyLGwuaW5wdXREZWZhdWx0QmxvY2tOdW1iZXJGb3JtYXR0ZXJdLHJlcXVlc3RNYW5hZ2VyOmUuX3BhcmVudC5fcmVxdWVzdE1hbmFnZXIsYWNjb3VudHM6bixkZWZhdWx0QWNjb3VudDplLl9wYXJlbnQuZGVmYXVsdEFjY291bnQsZGVmYXVsdEJsb2NrOmUuX3BhcmVudC5kZWZhdWx0QmxvY2t9KS5jcmVhdGVGdW5jdGlvbigpO3JldHVybiBvKHQub3B0aW9ucyx0LmNhbGxiYWNrKTtjYXNlImVzdGltYXRlIjp2YXIgYT1uZXcgYyh7bmFtZToiZXN0aW1hdGVHYXMiLGNhbGw6ImV0aF9lc3RpbWF0ZUdhcyIscGFyYW1zOjEsaW5wdXRGb3JtYXR0ZXI6W2wuaW5wdXRDYWxsRm9ybWF0dGVyXSxvdXRwdXRGb3JtYXR0ZXI6Zi5oZXhUb051bWJlcixyZXF1ZXN0TWFuYWdlcjplLl9wYXJlbnQuX3JlcXVlc3RNYW5hZ2VyLGFjY291bnRzOm4sZGVmYXVsdEFjY291bnQ6ZS5fcGFyZW50LmRlZmF1bHRBY2NvdW50LGRlZmF1bHRCbG9jazplLl9wYXJlbnQuZGVmYXVsdEJsb2NrfSkuY3JlYXRlRnVuY3Rpb24oKTtyZXR1cm4gYSh0Lm9wdGlvbnMsdC5jYWxsYmFjayk7Y2FzZSJjYWxsIjp2YXIgcz1uZXcgYyh7bmFtZToiY2FsbCIsY2FsbDoiZXRoX2NhbGwiLHBhcmFtczoyLGlucHV0Rm9ybWF0dGVyOltsLmlucHV0Q2FsbEZvcm1hdHRlcixsLmlucHV0RGVmYXVsdEJsb2NrTnVtYmVyRm9ybWF0dGVyXSxvdXRwdXRGb3JtYXR0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIGUuX3BhcmVudC5fZGVjb2RlTWV0aG9kUmV0dXJuKGUuX21ldGhvZC5vdXRwdXRzLHQpfSxyZXF1ZXN0TWFuYWdlcjplLl9wYXJlbnQuX3JlcXVlc3RNYW5hZ2VyLGFjY291bnRzOm4sZGVmYXVsdEFjY291bnQ6ZS5fcGFyZW50LmRlZmF1bHRBY2NvdW50LGRlZmF1bHRCbG9jazplLl9wYXJlbnQuZGVmYXVsdEJsb2NrLGhhbmRsZVJldmVydDplLl9wYXJlbnQuaGFuZGxlUmV2ZXJ0LGFiaUNvZGVyOmJ9KS5jcmVhdGVGdW5jdGlvbigpO3JldHVybiBzKHQub3B0aW9ucyx0LmRlZmF1bHRCbG9jayx0LmNhbGxiYWNrKTtjYXNlInNlbmQiOmlmKCFmLmlzQWRkcmVzcyh0Lm9wdGlvbnMuZnJvbSkpcmV0dXJuIGYuX2ZpcmVFcnJvcihoLkNvbnRyYWN0Tm9Gcm9tQWRkcmVzc0RlZmluZWRFcnJvcigpLHIuZXZlbnRFbWl0dGVyLHIucmVqZWN0LHQuY2FsbGJhY2spO2lmKCJib29sZWFuIj09dHlwZW9mIHRoaXMuX21ldGhvZC5wYXlhYmxlJiYhdGhpcy5fbWV0aG9kLnBheWFibGUmJnQub3B0aW9ucy52YWx1ZSYmdC5vcHRpb25zLnZhbHVlPjApcmV0dXJuIGYuX2ZpcmVFcnJvcihuZXcgRXJyb3IoIkNhbiBub3Qgc2VuZCB2YWx1ZSB0byBub24tcGF5YWJsZSBjb250cmFjdCBtZXRob2Qgb3IgY29uc3RydWN0b3IiKSxyLmV2ZW50RW1pdHRlcixyLnJlamVjdCx0LmNhbGxiYWNrKTt2YXIgdT17cmVjZWlwdEZvcm1hdHRlcjpmdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQubG9ncykpe3ZhciByPXQubG9ncy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9wYXJlbnQuX2RlY29kZUV2ZW50QUJJLmNhbGwoe25hbWU6IkFMTEVWRU5UUyIsanNvbkludGVyZmFjZTplLl9wYXJlbnQub3B0aW9ucy5qc29uSW50ZXJmYWNlfSx0KX0pKTt0LmV2ZW50cz17fTt2YXIgbj0wO3IuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5ldmVudD90LmV2ZW50c1tlLmV2ZW50XT9BcnJheS5pc0FycmF5KHQuZXZlbnRzW2UuZXZlbnRdKT90LmV2ZW50c1tlLmV2ZW50XS5wdXNoKGUpOnQuZXZlbnRzW2UuZXZlbnRdPVt0LmV2ZW50c1tlLmV2ZW50XSxlXTp0LmV2ZW50c1tlLmV2ZW50XT1lOih0LmV2ZW50c1tuXT1lLG4rKyl9KSksZGVsZXRlIHQubG9nc31yZXR1cm4gdH0sY29udHJhY3REZXBsb3lGb3JtYXR0ZXI6ZnVuY3Rpb24odCl7dmFyIHI9ZS5fcGFyZW50LmNsb25lKCk7cmV0dXJuIHIub3B0aW9ucy5hZGRyZXNzPXQuY29udHJhY3RBZGRyZXNzLHJ9fSxkPW5ldyBjKHtuYW1lOiJzZW5kVHJhbnNhY3Rpb24iLGNhbGw6ImV0aF9zZW5kVHJhbnNhY3Rpb24iLHBhcmFtczoxLGlucHV0Rm9ybWF0dGVyOltsLmlucHV0VHJhbnNhY3Rpb25Gb3JtYXR0ZXJdLHJlcXVlc3RNYW5hZ2VyOmUuX3BhcmVudC5fcmVxdWVzdE1hbmFnZXIsYWNjb3VudHM6ZS5jb25zdHJ1Y3Rvci5fZXRoQWNjb3VudHN8fGUuX2V0aEFjY291bnRzLGRlZmF1bHRBY2NvdW50OmUuX3BhcmVudC5kZWZhdWx0QWNjb3VudCxkZWZhdWx0QmxvY2s6ZS5fcGFyZW50LmRlZmF1bHRCbG9jayx0cmFuc2FjdGlvbkJsb2NrVGltZW91dDplLl9wYXJlbnQudHJhbnNhY3Rpb25CbG9ja1RpbWVvdXQsdHJhbnNhY3Rpb25Db25maXJtYXRpb25CbG9ja3M6ZS5fcGFyZW50LnRyYW5zYWN0aW9uQ29uZmlybWF0aW9uQmxvY2tzLHRyYW5zYWN0aW9uUG9sbGluZ1RpbWVvdXQ6ZS5fcGFyZW50LnRyYW5zYWN0aW9uUG9sbGluZ1RpbWVvdXQsdHJhbnNhY3Rpb25Qb2xsaW5nSW50ZXJ2YWw6ZS5fcGFyZW50LnRyYW5zYWN0aW9uUG9sbGluZ0ludGVydmFsLGRlZmF1bHRDb21tb246ZS5fcGFyZW50LmRlZmF1bHRDb21tb24sZGVmYXVsdENoYWluOmUuX3BhcmVudC5kZWZhdWx0Q2hhaW4sZGVmYXVsdEhhcmRmb3JrOmUuX3BhcmVudC5kZWZhdWx0SGFyZGZvcmssaGFuZGxlUmV2ZXJ0OmUuX3BhcmVudC5oYW5kbGVSZXZlcnQsZXh0cmFGb3JtYXR0ZXJzOnUsYWJpQ29kZXI6Yn0pLmNyZWF0ZUZ1bmN0aW9uKCk7cmV0dXJuIGQodC5vcHRpb25zLHQuY2FsbGJhY2spO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCdNZXRob2QgIicrdC50eXBlKyciIG5vdCBpbXBsZW1lbnRlZC4nKX19LGUuZXhwb3J0cz15fSw2NzY0OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KSxpPW4ocigyMjQ3KSksbz1uKHIoNTY5OCkpLGE9cig1MTYwKSxzPXIoMTMxNCkuZm9ybWF0dGVycyx1PXIoODE2MSksYz1yKDE4NDEpLGY9cigyODY3KSxkPXIoMjY4OSk7ZnVuY3Rpb24gbChlKXt0aGlzLmV0aD1lO3ZhciB0PW51bGw7dGhpcy5fZGV0ZWN0ZWRBZGRyZXNzPW51bGwsdGhpcy5fbGFzdFN5bmNDaGVjaz1udWxsLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJyZWdpc3RyeSIse2dldDpmdW5jdGlvbigpe3JldHVybiBuZXcgYyh0aGlzKX0sZW51bWVyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJyZXNvbHZlck1ldGhvZEhhbmRsZXIiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGYodGhpcy5yZWdpc3RyeSl9LGVudW1lcmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywicmVnaXN0cnlBZGRyZXNzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHR9LHNldDpmdW5jdGlvbihlKXt0PW51bGwhPT1lP3MuaW5wdXRBZGRyZXNzRm9ybWF0dGVyKGUpOmV9LGVudW1lcmFibGU6ITB9KX1sLnByb3RvdHlwZS5zdXBwb3J0c0ludGVyZmFjZT1mdW5jdGlvbihlLHQscil7cmV0dXJuIHRoaXMuZ2V0UmVzb2x2ZXIoZSkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIHUuaXNIZXhTdHJpY3QodCl8fCh0PXUuc2hhMyh0KS5zbGljZSgwLDEwKSksZS5tZXRob2RzLnN1cHBvcnRzSW50ZXJmYWNlKHQpLmNhbGwocil9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByKXRocm93IGU7cihlLG51bGwpfSkpfSxsLnByb3RvdHlwZS5yZXNvbHZlcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLnJlZ2lzdHJ5LnJlc29sdmVyKGUsdCl9LGwucHJvdG90eXBlLmdldFJlc29sdmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucmVnaXN0cnkuZ2V0UmVzb2x2ZXIoZSx0KX0sbC5wcm90b3R5cGUuc2V0UmVzb2x2ZXI9ZnVuY3Rpb24oZSx0LHIsbil7cmV0dXJuIHRoaXMucmVnaXN0cnkuc2V0UmVzb2x2ZXIoZSx0LHIsbil9LGwucHJvdG90eXBlLnNldFJlY29yZD1mdW5jdGlvbihlLHQscixuLGksbyl7cmV0dXJuIHRoaXMucmVnaXN0cnkuc2V0UmVjb3JkKGUsdCxyLG4saSxvKX0sbC5wcm90b3R5cGUuc2V0U3Vibm9kZVJlY29yZD1mdW5jdGlvbihlLHQscixuLGksbyxhKXtyZXR1cm4gdGhpcy5yZWdpc3RyeS5zZXRTdWJub2RlUmVjb3JkKGUsdCxyLG4saSxvLGEpfSxsLnByb3RvdHlwZS5zZXRBcHByb3ZhbEZvckFsbD1mdW5jdGlvbihlLHQscixuKXtyZXR1cm4gdGhpcy5yZWdpc3RyeS5zZXRBcHByb3ZhbEZvckFsbChlLHQscixuKX0sbC5wcm90b3R5cGUuaXNBcHByb3ZlZEZvckFsbD1mdW5jdGlvbihlLHQscil7cmV0dXJuIHRoaXMucmVnaXN0cnkuaXNBcHByb3ZlZEZvckFsbChlLHQscil9LGwucHJvdG90eXBlLnJlY29yZEV4aXN0cz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLnJlZ2lzdHJ5LnJlY29yZEV4aXN0cyhlLHQpfSxsLnByb3RvdHlwZS5zZXRTdWJub2RlT3duZXI9ZnVuY3Rpb24oZSx0LHIsbixpKXtyZXR1cm4gdGhpcy5yZWdpc3RyeS5zZXRTdWJub2RlT3duZXIoZSx0LHIsbixpKX0sbC5wcm90b3R5cGUuZ2V0VFRMPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucmVnaXN0cnkuZ2V0VFRMKGUsdCl9LGwucHJvdG90eXBlLnNldFRUTD1mdW5jdGlvbihlLHQscixuKXtyZXR1cm4gdGhpcy5yZWdpc3RyeS5zZXRUVEwoZSx0LHIsbil9LGwucHJvdG90eXBlLmdldE93bmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucmVnaXN0cnkuZ2V0T3duZXIoZSx0KX0sbC5wcm90b3R5cGUuc2V0T3duZXI9ZnVuY3Rpb24oZSx0LHIsbil7cmV0dXJuIHRoaXMucmVnaXN0cnkuc2V0T3duZXIoZSx0LHIsbil9LGwucHJvdG90eXBlLmdldEFkZHJlc3M9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5yZXNvbHZlck1ldGhvZEhhbmRsZXIubWV0aG9kKGUsImFkZHIiLFtdKS5jYWxsKHQpfSxsLnByb3RvdHlwZS5zZXRBZGRyZXNzPWZ1bmN0aW9uKGUsdCxyLG4pe3JldHVybiB0aGlzLnJlc29sdmVyTWV0aG9kSGFuZGxlci5tZXRob2QoZSwic2V0QWRkciIsW3RdKS5zZW5kKHIsbil9LGwucHJvdG90eXBlLmdldFB1YmtleT1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLnJlc29sdmVyTWV0aG9kSGFuZGxlci5tZXRob2QoZSwicHVia2V5IixbXSxudWxsLHQpLmNhbGwodCl9LGwucHJvdG90eXBlLnNldFB1YmtleT1mdW5jdGlvbihlLHQscixuLGkpe3JldHVybiB0aGlzLnJlc29sdmVyTWV0aG9kSGFuZGxlci5tZXRob2QoZSwic2V0UHVia2V5IixbdCxyXSkuc2VuZChuLGkpfSxsLnByb3RvdHlwZS5nZXRDb250ZW50PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucmVzb2x2ZXJNZXRob2RIYW5kbGVyLm1ldGhvZChlLCJjb250ZW50IixbXSkuY2FsbCh0KX0sbC5wcm90b3R5cGUuc2V0Q29udGVudD1mdW5jdGlvbihlLHQscixuKXtyZXR1cm4gdGhpcy5yZXNvbHZlck1ldGhvZEhhbmRsZXIubWV0aG9kKGUsInNldENvbnRlbnQiLFt0XSkuc2VuZChyLG4pfSxsLnByb3RvdHlwZS5nZXRDb250ZW50aGFzaD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLnJlc29sdmVyTWV0aG9kSGFuZGxlci5tZXRob2QoZSwiY29udGVudGhhc2giLFtdLGQuZGVjb2RlKS5jYWxsKHQpfSxsLnByb3RvdHlwZS5zZXRDb250ZW50aGFzaD1mdW5jdGlvbihlLHQscixuKXt2YXIgaTt0cnl7aT1kLmVuY29kZSh0KX1jYXRjaChlKXt2YXIgbz1uZXcgRXJyb3IoIkNvdWxkIG5vdCBlbmNvZGUgIit0KyIuIFNlZSBkb2NzIGZvciBzdXBwb3J0ZWQgaGFzaCBwcm90b2NvbHMuIik7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIHZvaWQgbihvLG51bGwpO3Rocm93IG99cmV0dXJuIHRoaXMucmVzb2x2ZXJNZXRob2RIYW5kbGVyLm1ldGhvZChlLCJzZXRDb250ZW50aGFzaCIsW2ldKS5zZW5kKHIsbil9LGwucHJvdG90eXBlLmdldE11bHRpaGFzaD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLnJlc29sdmVyTWV0aG9kSGFuZGxlci5tZXRob2QoZSwibXVsdGloYXNoIixbXSkuY2FsbCh0KX0sbC5wcm90b3R5cGUuc2V0TXVsdGloYXNoPWZ1bmN0aW9uKGUsdCxyLG4pe3JldHVybiB0aGlzLnJlc29sdmVyTWV0aG9kSGFuZGxlci5tZXRob2QoZSwibXVsdGloYXNoIixbdF0pLnNlbmQocixuKX0sbC5wcm90b3R5cGUuY2hlY2tOZXR3b3JrPSgwLG8uZGVmYXVsdCkoaS5kZWZhdWx0Lm1hcmsoKGZ1bmN0aW9uIGUoKXt2YXIgdCxyLG4sbyxzO3JldHVybiBpLmRlZmF1bHQud3JhcCgoZnVuY3Rpb24oZSl7Zm9yKDs7KXN3aXRjaChlLnByZXY9ZS5uZXh0KXtjYXNlIDA6aWYodD1uZXcgRGF0ZS8xZTMsdGhpcy5fbGFzdFN5bmNDaGVjayYmISh0LXRoaXMuX2xhc3RTeW5jQ2hlY2s+MzYwMCkpe2UubmV4dD05O2JyZWFrfXJldHVybiBlLm5leHQ9NCx0aGlzLmV0aC5nZXRCbG9jaygibGF0ZXN0Iik7Y2FzZSA0OmlmKHI9ZS5zZW50LCEoKG49dC1yLnRpbWVzdGFtcCk+MzYwMCkpe2UubmV4dD04O2JyZWFrfXRocm93IG5ldyBFcnJvcigiTmV0d29yayBub3Qgc3luY2VkOyBsYXN0IGJsb2NrIHdhcyAiK24rIiBzZWNvbmRzIGFnbyIpO2Nhc2UgODp0aGlzLl9sYXN0U3luY0NoZWNrPXQ7Y2FzZSA5OmlmKCF0aGlzLnJlZ2lzdHJ5QWRkcmVzcyl7ZS5uZXh0PTExO2JyZWFrfXJldHVybiBlLmFicnVwdCgicmV0dXJuIix0aGlzLnJlZ2lzdHJ5QWRkcmVzcyk7Y2FzZSAxMTppZih0aGlzLl9kZXRlY3RlZEFkZHJlc3Mpe2UubmV4dD0yMDticmVha31yZXR1cm4gZS5uZXh0PTE0LHRoaXMuZXRoLm5ldC5nZXROZXR3b3JrVHlwZSgpO2Nhc2UgMTQ6aWYobz1lLnNlbnQsdm9pZCAwIT09KHM9YS5hZGRyZXNzZXNbb10pKXtlLm5leHQ9MTg7YnJlYWt9dGhyb3cgbmV3IEVycm9yKCJFTlMgaXMgbm90IHN1cHBvcnRlZCBvbiBuZXR3b3JrICIrbyk7Y2FzZSAxODpyZXR1cm4gdGhpcy5fZGV0ZWN0ZWRBZGRyZXNzPXMsZS5hYnJ1cHQoInJldHVybiIsdGhpcy5fZGV0ZWN0ZWRBZGRyZXNzKTtjYXNlIDIwOnJldHVybiBlLmFicnVwdCgicmV0dXJuIix0aGlzLl9kZXRlY3RlZEFkZHJlc3MpO2Nhc2UgMjE6Y2FzZSJlbmQiOnJldHVybiBlLnN0b3AoKX19KSxlLHRoaXMpfSkpKSxlLmV4cG9ydHM9bH0sNTE2MDplPT57InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YWRkcmVzc2VzOnttYWluOiIweDAwMDAwMDAwMDAwQzJFMDc0ZUM2OUEwZEZiMjk5N0JBNkM3ZDJlMWUiLHJvcHN0ZW46IjB4MDAwMDAwMDAwMDBDMkUwNzRlQzY5QTBkRmIyOTk3QkE2QzdkMmUxZSIscmlua2VieToiMHgwMDAwMDAwMDAwMEMyRTA3NGVDNjlBMGRGYjI5OTdCQTZDN2QyZTFlIixnb2VybGk6IjB4MDAwMDAwMDAwMDBDMkUwNzRlQzY5QTBkRmIyOTk3QkE2QzdkMmUxZSJ9LGludGVyZmFjZUlkczp7YWRkcjoiMHgzYjNiNTdkZSIsc2V0QWRkcjoiMHgzYjNiNTdkZSIscHVia2V5OiIweGM4NjkwMjMzIixzZXRQdWJrZXk6IjB4Yzg2OTAyMzMiLGNvbnRlbnRoYXNoOiIweGJjMWM1OGQxIixzZXRDb250ZW50aGFzaDoiMHhiYzFjNThkMSIsY29udGVudDoiMHhkODM4OWRjNSIsc2V0Q29udGVudDoiMHhkODM4OWRjNSJ9fX0sMTg0MTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoODE2NCksaT1yKDEwMDYpLG89cigyODIpLGE9cigxMzE0KS5mb3JtYXR0ZXJzLHM9cig4MTYxKSx1PXIoMzIwNSksYz1yKDgzODQpO2Z1bmN0aW9uIGYoZSl7dmFyIHQ9dGhpczt0aGlzLmVucz1lLHRoaXMuY29udHJhY3Q9ZS5jaGVja05ldHdvcmsoKS50aGVuKChmdW5jdGlvbihlKXt2YXIgcj1uZXcgbih1LGUpO3JldHVybiByLnNldFByb3ZpZGVyKHQuZW5zLmV0aC5jdXJyZW50UHJvdmlkZXIpLHJ9KSl9Zi5wcm90b3R5cGUub3duZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gY29uc29sZS53YXJuKCdEZXByZWNhdGVkOiBQbGVhc2UgdXNlIHRoZSAiZ2V0T3duZXIiIG1ldGhvZCBpbnN0ZWFkIG9mICJvd25lciIuJyksdGhpcy5nZXRPd25lcihlLHQpfSxmLnByb3RvdHlwZS5nZXRPd25lcj1mdW5jdGlvbihlLHQpe3ZhciByPW5ldyBvKCEwKTtyZXR1cm4gdGhpcy5jb250cmFjdC50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdC5tZXRob2RzLm93bmVyKGkuaGFzaChlKSkuY2FsbCgpfSkpLnRoZW4oKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiIhPXR5cGVvZiB0P3IucmVzb2x2ZShlKTp0KGUsZSl9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiIhPXR5cGVvZiB0P3IucmVqZWN0KGUpOnQoZSxudWxsKX0pKSxyLmV2ZW50RW1pdHRlcn0sZi5wcm90b3R5cGUuc2V0T3duZXI9ZnVuY3Rpb24oZSx0LHIsbil7dmFyIHM9bmV3IG8oITApO3JldHVybiB0aGlzLmNvbnRyYWN0LnRoZW4oKGZ1bmN0aW9uKG4pe3JldHVybiBuLm1ldGhvZHMuc2V0T3duZXIoaS5oYXNoKGUpLGEuaW5wdXRBZGRyZXNzRm9ybWF0dGVyKHQpKS5zZW5kKHIpfSkpLnRoZW4oKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiIhPXR5cGVvZiBuP3MucmVzb2x2ZShlKTpuKGUsZSl9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiIhPXR5cGVvZiBuP3MucmVqZWN0KGUpOm4oZSxudWxsKX0pKSxzLmV2ZW50RW1pdHRlcn0sZi5wcm90b3R5cGUuZ2V0VFRMPWZ1bmN0aW9uKGUsdCl7dmFyIHI9bmV3IG8oITApO3JldHVybiB0aGlzLmNvbnRyYWN0LnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm1ldGhvZHMudHRsKGkuaGFzaChlKSkuY2FsbCgpfSkpLnRoZW4oKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiIhPXR5cGVvZiB0P3IucmVzb2x2ZShlKTp0KGUsZSl9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiIhPXR5cGVvZiB0P3IucmVqZWN0KGUpOnQoZSxudWxsKX0pKSxyLmV2ZW50RW1pdHRlcn0sZi5wcm90b3R5cGUuc2V0VFRMPWZ1bmN0aW9uKGUsdCxyLG4pe3ZhciBhPW5ldyBvKCEwKTtyZXR1cm4gdGhpcy5jb250cmFjdC50aGVuKChmdW5jdGlvbihuKXtyZXR1cm4gbi5tZXRob2RzLnNldFRUTChpLmhhc2goZSksdCkuc2VuZChyKX0pKS50aGVuKChmdW5jdGlvbihlKXsiZnVuY3Rpb24iIT10eXBlb2Ygbj9hLnJlc29sdmUoZSk6bihlLGUpfSkpLmNhdGNoKChmdW5jdGlvbihlKXsiZnVuY3Rpb24iIT10eXBlb2Ygbj9hLnJlamVjdChlKTpuKGUsbnVsbCl9KSksYS5ldmVudEVtaXR0ZXJ9LGYucHJvdG90eXBlLnNldFN1Ym5vZGVPd25lcj1mdW5jdGlvbihlLHQscixuLHUpe3ZhciBjPW5ldyBvKCEwKTtyZXR1cm4gcy5pc0hleFN0cmljdCh0KXx8KHQ9cy5zaGEzKHQpKSx0aGlzLmNvbnRyYWN0LnRoZW4oKGZ1bmN0aW9uKG8pe3JldHVybiBvLm1ldGhvZHMuc2V0U3Vibm9kZU93bmVyKGkuaGFzaChlKSx0LGEuaW5wdXRBZGRyZXNzRm9ybWF0dGVyKHIpKS5zZW5kKG4pfSkpLnRoZW4oKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiIhPXR5cGVvZiB1P2MucmVzb2x2ZShlKTp1KGUsZSl9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiIhPXR5cGVvZiB1P2MucmVqZWN0KGUpOnUoZSxudWxsKX0pKSxjLmV2ZW50RW1pdHRlcn0sZi5wcm90b3R5cGUuc2V0UmVjb3JkPWZ1bmN0aW9uKGUsdCxyLG4scyx1KXt2YXIgYz1uZXcgbyghMCk7cmV0dXJuIHRoaXMuY29udHJhY3QudGhlbigoZnVuY3Rpb24obyl7cmV0dXJuIG8ubWV0aG9kcy5zZXRSZWNvcmQoaS5oYXNoKGUpLGEuaW5wdXRBZGRyZXNzRm9ybWF0dGVyKHQpLGEuaW5wdXRBZGRyZXNzRm9ybWF0dGVyKHIpLG4pLnNlbmQocyl9KSkudGhlbigoZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIiE9dHlwZW9mIHU/Yy5yZXNvbHZlKGUpOnUoZSxlKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIiE9dHlwZW9mIHU/Yy5yZWplY3QoZSk6dShlLG51bGwpfSkpLGMuZXZlbnRFbWl0dGVyfSxmLnByb3RvdHlwZS5zZXRTdWJub2RlUmVjb3JkPWZ1bmN0aW9uKGUsdCxyLG4sdSxjLGYpe3ZhciBkPW5ldyBvKCEwKTtyZXR1cm4gcy5pc0hleFN0cmljdCh0KXx8KHQ9cy5zaGEzKHQpKSx0aGlzLmNvbnRyYWN0LnRoZW4oKGZ1bmN0aW9uKG8pe3JldHVybiBvLm1ldGhvZHMuc2V0U3Vibm9kZVJlY29yZChpLmhhc2goZSksdCxhLmlucHV0QWRkcmVzc0Zvcm1hdHRlcihyKSxhLmlucHV0QWRkcmVzc0Zvcm1hdHRlcihuKSx1KS5zZW5kKGMpfSkpLnRoZW4oKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiIhPXR5cGVvZiBmP2QucmVzb2x2ZShlKTpmKGUsZSl9KSkuY2F0Y2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiIhPXR5cGVvZiBmP2QucmVqZWN0KGUpOmYoZSxudWxsKX0pKSxkLmV2ZW50RW1pdHRlcn0sZi5wcm90b3R5cGUuc2V0QXBwcm92YWxGb3JBbGw9ZnVuY3Rpb24oZSx0LHIsbil7dmFyIGk9bmV3IG8oITApO3JldHVybiB0aGlzLmNvbnRyYWN0LnRoZW4oKGZ1bmN0aW9uKG4pe3JldHVybiBuLm1ldGhvZHMuc2V0QXBwcm92YWxGb3JBbGwoYS5pbnB1dEFkZHJlc3NGb3JtYXR0ZXIoZSksdCkuc2VuZChyKX0pKS50aGVuKChmdW5jdGlvbihlKXsiZnVuY3Rpb24iIT10eXBlb2Ygbj9pLnJlc29sdmUoZSk6bihlLGUpfSkpLmNhdGNoKChmdW5jdGlvbihlKXsiZnVuY3Rpb24iIT10eXBlb2Ygbj9pLnJlamVjdChlKTpuKGUsbnVsbCl9KSksaS5ldmVudEVtaXR0ZXJ9LGYucHJvdG90eXBlLmlzQXBwcm92ZWRGb3JBbGw9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPW5ldyBvKCEwKTtyZXR1cm4gdGhpcy5jb250cmFjdC50aGVuKChmdW5jdGlvbihyKXtyZXR1cm4gci5tZXRob2RzLmlzQXBwcm92ZWRGb3JBbGwoYS5pbnB1dEFkZHJlc3NGb3JtYXR0ZXIoZSksYS5pbnB1dEFkZHJlc3NGb3JtYXR0ZXIodCkpLmNhbGwoKX0pKS50aGVuKChmdW5jdGlvbihlKXsiZnVuY3Rpb24iIT10eXBlb2Ygcj9uLnJlc29sdmUoZSk6cihlLGUpfSkpLmNhdGNoKChmdW5jdGlvbihlKXsiZnVuY3Rpb24iIT10eXBlb2Ygcj9uLnJlamVjdChlKTpyKGUsbnVsbCl9KSksbi5ldmVudEVtaXR0ZXJ9LGYucHJvdG90eXBlLnJlY29yZEV4aXN0cz1mdW5jdGlvbihlLHQpe3ZhciByPW5ldyBvKCEwKTtyZXR1cm4gdGhpcy5jb250cmFjdC50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdC5tZXRob2RzLnJlY29yZEV4aXN0cyhpLmhhc2goZSkpLmNhbGwoKX0pKS50aGVuKChmdW5jdGlvbihlKXsiZnVuY3Rpb24iIT10eXBlb2YgdD9yLnJlc29sdmUoZSk6dChlLGUpfSkpLmNhdGNoKChmdW5jdGlvbihlKXsiZnVuY3Rpb24iIT10eXBlb2YgdD9yLnJlamVjdChlKTp0KGUsbnVsbCl9KSksci5ldmVudEVtaXR0ZXJ9LGYucHJvdG90eXBlLnJlc29sdmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGNvbnNvbGUud2FybignRGVwcmVjYXRlZDogUGxlYXNlIHVzZSB0aGUgImdldFJlc29sdmVyIiBtZXRob2QgaW5zdGVhZCBvZiAicmVzb2x2ZXIiLicpLHRoaXMuZ2V0UmVzb2x2ZXIoZSx0KX0sZi5wcm90b3R5cGUuZ2V0UmVzb2x2ZXI9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzO3JldHVybiB0aGlzLmNvbnRyYWN0LnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm1ldGhvZHMucmVzb2x2ZXIoaS5oYXNoKGUpKS5jYWxsKCl9KSkudGhlbigoZnVuY3Rpb24oZSl7dmFyIGk9bmV3IG4oYyxlKTtpZihpLnNldFByb3ZpZGVyKHIuZW5zLmV0aC5jdXJyZW50UHJvdmlkZXIpLCJmdW5jdGlvbiIhPXR5cGVvZiB0KXJldHVybiBpO3QoaSxpKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgZTt0KGUsbnVsbCl9KSl9LGYucHJvdG90eXBlLnNldFJlc29sdmVyPWZ1bmN0aW9uKGUsdCxyLG4pe3ZhciBzPW5ldyBvKCEwKTtyZXR1cm4gdGhpcy5jb250cmFjdC50aGVuKChmdW5jdGlvbihuKXtyZXR1cm4gbi5tZXRob2RzLnNldFJlc29sdmVyKGkuaGFzaChlKSxhLmlucHV0QWRkcmVzc0Zvcm1hdHRlcih0KSkuc2VuZChyKX0pKS50aGVuKChmdW5jdGlvbihlKXsiZnVuY3Rpb24iIT10eXBlb2Ygbj9zLnJlc29sdmUoZSk6bihlLGUpfSkpLmNhdGNoKChmdW5jdGlvbihlKXsiZnVuY3Rpb24iIT10eXBlb2Ygbj9zLnJlamVjdChlKTpuKGUsbnVsbCl9KSkscy5ldmVudEVtaXR0ZXJ9LGUuZXhwb3J0cz1mfSw3MTU6KGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDY3NjQpO2UuZXhwb3J0cz1ufSwyODY3OihlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49cig4ODQ3KSxpPW4ocigyMjQ3KSksbz1uKHIoNTY5OCkpLGE9cigyODIpLHM9cigxMDA2KSx1PXIoMTMxNCkuZXJyb3JzLGM9cig1MTYwKS5pbnRlcmZhY2VJZHM7ZnVuY3Rpb24gZihlKXt0aGlzLnJlZ2lzdHJ5PWV9Zi5wcm90b3R5cGUubWV0aG9kPWZ1bmN0aW9uKGUsdCxyLG4saSl7cmV0dXJue2NhbGw6dGhpcy5jYWxsLmJpbmQoe2Vuc05hbWU6ZSxtZXRob2ROYW1lOnQsbWV0aG9kQXJndW1lbnRzOnIsY2FsbGJhY2s6aSxwYXJlbnQ6dGhpcyxvdXRwdXRGb3JtYXR0ZXI6bn0pLHNlbmQ6dGhpcy5zZW5kLmJpbmQoe2Vuc05hbWU6ZSxtZXRob2ROYW1lOnQsbWV0aG9kQXJndW1lbnRzOnIsY2FsbGJhY2s6aSxwYXJlbnQ6dGhpc30pfX0sZi5wcm90b3R5cGUuY2FsbD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLHI9bmV3IGEsbj10aGlzLnBhcmVudC5wcmVwYXJlQXJndW1lbnRzKHRoaXMuZW5zTmFtZSx0aGlzLm1ldGhvZEFyZ3VtZW50cykscz10aGlzLm91dHB1dEZvcm1hdHRlcnx8bnVsbDtyZXR1cm4gdGhpcy5wYXJlbnQucmVnaXN0cnkuZ2V0UmVzb2x2ZXIodGhpcy5lbnNOYW1lKS50aGVuKGZ1bmN0aW9uKCl7dmFyIGE9KDAsby5kZWZhdWx0KShpLmRlZmF1bHQubWFyaygoZnVuY3Rpb24gbyhhKXtyZXR1cm4gaS5kZWZhdWx0LndyYXAoKGZ1bmN0aW9uKGkpe2Zvcig7Oylzd2l0Y2goaS5wcmV2PWkubmV4dCl7Y2FzZSAwOnJldHVybiBpLm5leHQ9Mix0LnBhcmVudC5jaGVja0ludGVyZmFjZVN1cHBvcnQoYSx0Lm1ldGhvZE5hbWUpO2Nhc2UgMjp0LnBhcmVudC5oYW5kbGVDYWxsKHIsYS5tZXRob2RzW3QubWV0aG9kTmFtZV0sbixzLGUpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIGkuc3RvcCgpfX0pLG8pfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSkuY2F0Y2goKGZ1bmN0aW9uKHQpeyJmdW5jdGlvbiIhPXR5cGVvZiBlP3IucmVqZWN0KHQpOmUodCxudWxsKX0pKSxyLmV2ZW50RW1pdHRlcn0sZi5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXMsbj1uZXcgYSxzPXRoaXMucGFyZW50LnByZXBhcmVBcmd1bWVudHModGhpcy5lbnNOYW1lLHRoaXMubWV0aG9kQXJndW1lbnRzKTtyZXR1cm4gdGhpcy5wYXJlbnQucmVnaXN0cnkuZ2V0UmVzb2x2ZXIodGhpcy5lbnNOYW1lKS50aGVuKGZ1bmN0aW9uKCl7dmFyIGE9KDAsby5kZWZhdWx0KShpLmRlZmF1bHQubWFyaygoZnVuY3Rpb24gbyhhKXtyZXR1cm4gaS5kZWZhdWx0LndyYXAoKGZ1bmN0aW9uKGkpe2Zvcig7Oylzd2l0Y2goaS5wcmV2PWkubmV4dCl7Y2FzZSAwOnJldHVybiBpLm5leHQ9MixyLnBhcmVudC5jaGVja0ludGVyZmFjZVN1cHBvcnQoYSxyLm1ldGhvZE5hbWUpO2Nhc2UgMjpyLnBhcmVudC5oYW5kbGVTZW5kKG4sYS5tZXRob2RzW3IubWV0aG9kTmFtZV0scyxlLHQpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIGkuc3RvcCgpfX0pLG8pfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSkuY2F0Y2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiIhPXR5cGVvZiB0P24ucmVqZWN0KGUpOnQoZSxudWxsKX0pKSxuLmV2ZW50RW1pdHRlcn0sZi5wcm90b3R5cGUuaGFuZGxlQ2FsbD1mdW5jdGlvbihlLHQscixuLGkpe3JldHVybiB0LmFwcGx5KHRoaXMscikuY2FsbCgpLnRoZW4oKGZ1bmN0aW9uKHQpe24mJih0PW4odCkpLCJmdW5jdGlvbiIhPXR5cGVvZiBpP2UucmVzb2x2ZSh0KTppKHQsdCl9KSkuY2F0Y2goKGZ1bmN0aW9uKHQpeyJmdW5jdGlvbiIhPXR5cGVvZiBpP2UucmVqZWN0KHQpOmkodCxudWxsKX0pKSxlfSxmLnByb3RvdHlwZS5oYW5kbGVTZW5kPWZ1bmN0aW9uKGUsdCxyLG4saSl7cmV0dXJuIHQuYXBwbHkodGhpcyxyKS5zZW5kKG4pLm9uKCJzZW5kaW5nIiwoZnVuY3Rpb24oKXtlLmV2ZW50RW1pdHRlci5lbWl0KCJzZW5kaW5nIil9KSkub24oInNlbnQiLChmdW5jdGlvbigpe2UuZXZlbnRFbWl0dGVyLmVtaXQoInNlbnQiKX0pKS5vbigidHJhbnNhY3Rpb25IYXNoIiwoZnVuY3Rpb24odCl7ZS5ldmVudEVtaXR0ZXIuZW1pdCgidHJhbnNhY3Rpb25IYXNoIix0KX0pKS5vbigiY29uZmlybWF0aW9uIiwoZnVuY3Rpb24odCxyKXtlLmV2ZW50RW1pdHRlci5lbWl0KCJjb25maXJtYXRpb24iLHQscil9KSkub24oInJlY2VpcHQiLChmdW5jdGlvbih0KXtlLmV2ZW50RW1pdHRlci5lbWl0KCJyZWNlaXB0Iix0KSxlLnJlc29sdmUodCksImZ1bmN0aW9uIj09dHlwZW9mIGkmJmkodCx0KX0pKS5vbigiZXJyb3IiLChmdW5jdGlvbih0KXtlLmV2ZW50RW1pdHRlci5lbWl0KCJlcnJvciIsdCksImZ1bmN0aW9uIiE9dHlwZW9mIGk/ZS5yZWplY3QodCk6aSh0LG51bGwpfSkpLGV9LGYucHJvdG90eXBlLnByZXBhcmVBcmd1bWVudHM9ZnVuY3Rpb24oZSx0KXt2YXIgcj1zLmhhc2goZSk7cmV0dXJuIHQubGVuZ3RoPjA/KHQudW5zaGlmdChyKSx0KTpbcl19LGYucHJvdG90eXBlLmNoZWNrSW50ZXJmYWNlU3VwcG9ydD1mdW5jdGlvbigpe3ZhciBlPSgwLG8uZGVmYXVsdCkoaS5kZWZhdWx0Lm1hcmsoKGZ1bmN0aW9uIGUodCxyKXt2YXIgbjtyZXR1cm4gaS5kZWZhdWx0LndyYXAoKGZ1bmN0aW9uKGUpe2Zvcig7Oylzd2l0Y2goZS5wcmV2PWUubmV4dCl7Y2FzZSAwOmlmKGNbcl0pe2UubmV4dD0yO2JyZWFrfXJldHVybiBlLmFicnVwdCgicmV0dXJuIik7Y2FzZSAyOnJldHVybiBuPSExLGUucHJldj0zLGUubmV4dD02LHQubWV0aG9kcy5zdXBwb3J0c0ludGVyZmFjZShjW3JdKS5jYWxsKCk7Y2FzZSA2Om49ZS5zZW50LGUubmV4dD0xMjticmVhaztjYXNlIDk6ZS5wcmV2PTksZS50MD1lLmNhdGNoKDMpLGNvbnNvbGUud2FybignQ291bGQgbm90IHZlcmlmeSBpbnRlcmZhY2Ugb2YgcmVzb2x2ZXIgY29udHJhY3QgYXQgIicrdC5vcHRpb25zLmFkZHJlc3MrJyIuICcpO2Nhc2UgMTI6aWYobil7ZS5uZXh0PTE0O2JyZWFrfXRocm93IHUuUmVzb2x2ZXJNZXRob2RNaXNzaW5nRXJyb3IodC5vcHRpb25zLmFkZHJlc3Mscik7Y2FzZSAxNDpjYXNlImVuZCI6cmV0dXJuIGUuc3RvcCgpfX0pLGUsbnVsbCxbWzMsOV1dKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKHQscil7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSxlLmV4cG9ydHM9Zn0sMjY4OTooZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPXIoNDMwOCk7ZS5leHBvcnRzPXtkZWNvZGU6ZnVuY3Rpb24oZSl7dmFyIHQ9bnVsbCxyPW51bGwsaT1udWxsO2lmKGUmJmUuZXJyb3IpcmV0dXJue3Byb3RvY29sVHlwZTpudWxsLGRlY29kZWQ6ZS5lcnJvcn07aWYoZSl0cnl7dD1uLmRlY29kZShlKTt2YXIgbz1uLmdldENvZGVjKGUpOyJpcGZzLW5zIj09PW8/cj0iaXBmcyI6InN3YXJtLW5zIj09PW8/cj0iYnp6Ijoib25pb24iPT09bz9yPSJvbmlvbiI6Im9uaW9uMyI9PT1vP3I9Im9uaW9uMyI6dD1lfWNhdGNoKGUpe2k9ZS5tZXNzYWdlfXJldHVybntwcm90b2NvbFR5cGU6cixkZWNvZGVkOnQsZXJyb3I6aX19LGVuY29kZTpmdW5jdGlvbihlKXt2YXIgdCxyLGk9ITE7aWYoZSl7dmFyIG89ZS5tYXRjaCgvXihpcGZzfGJ6enxvbmlvbnxvbmlvbjMpOlwvXC8oLiopLyl8fGUubWF0Y2goL1wvKGlwZnMpXC8oLiopLyk7byYmKHI9b1sxXSx0PW9bMl0pO3RyeXtpZigiaXBmcyI9PT1yKXQubGVuZ3RoPj00JiYoaT0iMHgiK24uZnJvbUlwZnModCkpO2Vsc2UgaWYoImJ6eiI9PT1yKXQubGVuZ3RoPj00JiYoaT0iMHgiK24uZnJvbVN3YXJtKHQpKTtlbHNlIGlmKCJvbmlvbiI9PT1yKTE2PT09dC5sZW5ndGgmJihpPSIweCIrbi5lbmNvZGUoIm9uaW9uIix0KSk7ZWxzZXtpZigib25pb24zIiE9PXIpdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgZW5jb2RlIGNvbnRlbnQgaGFzaDogdW5zdXBwb3J0ZWQgY29udGVudCB0eXBlIik7NTY9PT10Lmxlbmd0aCYmKGk9IjB4IituLmVuY29kZSgib25pb24zIix0KSl9fWNhdGNoKGUpe3Rocm93IGV9fXJldHVybiBpfX19LDMyMDU6ZT0+eyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9W3tjb25zdGFudDohMCxpbnB1dHM6W3tuYW1lOiJub2RlIix0eXBlOiJieXRlczMyIn1dLG5hbWU6InJlc29sdmVyIixvdXRwdXRzOlt7bmFtZToiIix0eXBlOiJhZGRyZXNzIn1dLHBheWFibGU6ITEsdHlwZToiZnVuY3Rpb24ifSx7Y29uc3RhbnQ6ITAsaW5wdXRzOlt7bmFtZToibm9kZSIsdHlwZToiYnl0ZXMzMiJ9XSxuYW1lOiJvd25lciIsb3V0cHV0czpbe25hbWU6IiIsdHlwZToiYWRkcmVzcyJ9XSxwYXlhYmxlOiExLHR5cGU6ImZ1bmN0aW9uIn0se2NvbnN0YW50OiExLGlucHV0czpbe25hbWU6Im5vZGUiLHR5cGU6ImJ5dGVzMzIifSx7bmFtZToibGFiZWwiLHR5cGU6ImJ5dGVzMzIifSx7bmFtZToib3duZXIiLHR5cGU6ImFkZHJlc3MifV0sbmFtZToic2V0U3Vibm9kZU93bmVyIixvdXRwdXRzOltdLHBheWFibGU6ITEsdHlwZToiZnVuY3Rpb24ifSx7Y29uc3RhbnQ6ITEsaW5wdXRzOlt7bmFtZToibm9kZSIsdHlwZToiYnl0ZXMzMiJ9LHtuYW1lOiJ0dGwiLHR5cGU6InVpbnQ2NCJ9XSxuYW1lOiJzZXRUVEwiLG91dHB1dHM6W10scGF5YWJsZTohMSx0eXBlOiJmdW5jdGlvbiJ9LHtjb25zdGFudDohMCxpbnB1dHM6W3tuYW1lOiJub2RlIix0eXBlOiJieXRlczMyIn1dLG5hbWU6InR0bCIsb3V0cHV0czpbe25hbWU6IiIsdHlwZToidWludDY0In1dLHBheWFibGU6ITEsdHlwZToiZnVuY3Rpb24ifSx7Y29uc3RhbnQ6ITEsaW5wdXRzOlt7bmFtZToibm9kZSIsdHlwZToiYnl0ZXMzMiJ9LHtuYW1lOiJyZXNvbHZlciIsdHlwZToiYWRkcmVzcyJ9XSxuYW1lOiJzZXRSZXNvbHZlciIsb3V0cHV0czpbXSxwYXlhYmxlOiExLHR5cGU6ImZ1bmN0aW9uIn0se2NvbnN0YW50OiExLGlucHV0czpbe25hbWU6Im5vZGUiLHR5cGU6ImJ5dGVzMzIifSx7bmFtZToib3duZXIiLHR5cGU6ImFkZHJlc3MifV0sbmFtZToic2V0T3duZXIiLG91dHB1dHM6W10scGF5YWJsZTohMSx0eXBlOiJmdW5jdGlvbiJ9LHthbm9ueW1vdXM6ITEsaW5wdXRzOlt7aW5kZXhlZDohMCxuYW1lOiJub2RlIix0eXBlOiJieXRlczMyIn0se2luZGV4ZWQ6ITEsbmFtZToib3duZXIiLHR5cGU6ImFkZHJlc3MifV0sbmFtZToiVHJhbnNmZXIiLHR5cGU6ImV2ZW50In0se2Fub255bW91czohMSxpbnB1dHM6W3tpbmRleGVkOiEwLG5hbWU6Im5vZGUiLHR5cGU6ImJ5dGVzMzIifSx7aW5kZXhlZDohMCxuYW1lOiJsYWJlbCIsdHlwZToiYnl0ZXMzMiJ9LHtpbmRleGVkOiExLG5hbWU6Im93bmVyIix0eXBlOiJhZGRyZXNzIn1dLG5hbWU6Ik5ld093bmVyIix0eXBlOiJldmVudCJ9LHthbm9ueW1vdXM6ITEsaW5wdXRzOlt7aW5kZXhlZDohMCxuYW1lOiJub2RlIix0eXBlOiJieXRlczMyIn0se2luZGV4ZWQ6ITEsbmFtZToicmVzb2x2ZXIiLHR5cGU6ImFkZHJlc3MifV0sbmFtZToiTmV3UmVzb2x2ZXIiLHR5cGU6ImV2ZW50In0se2Fub255bW91czohMSxpbnB1dHM6W3tpbmRleGVkOiEwLG5hbWU6Im5vZGUiLHR5cGU6ImJ5dGVzMzIifSx7aW5kZXhlZDohMSxuYW1lOiJ0dGwiLHR5cGU6InVpbnQ2NCJ9XSxuYW1lOiJOZXdUVEwiLHR5cGU6ImV2ZW50In0se2NvbnN0YW50OiExLGlucHV0czpbe2ludGVybmFsVHlwZToiYnl0ZXMzMiIsbmFtZToibm9kZSIsdHlwZToiYnl0ZXMzMiJ9LHtpbnRlcm5hbFR5cGU6ImFkZHJlc3MiLG5hbWU6Im93bmVyIix0eXBlOiJhZGRyZXNzIn0se2ludGVybmFsVHlwZToiYWRkcmVzcyIsbmFtZToicmVzb2x2ZXIiLHR5cGU6ImFkZHJlc3MifSx7aW50ZXJuYWxUeXBlOiJ1aW50NjQiLG5hbWU6InR0bCIsdHlwZToidWludDY0In1dLG5hbWU6InNldFJlY29yZCIsb3V0cHV0czpbXSxwYXlhYmxlOiExLHN0YXRlTXV0YWJpbGl0eToibm9ucGF5YWJsZSIsdHlwZToiZnVuY3Rpb24ifSx7Y29uc3RhbnQ6ITEsaW5wdXRzOlt7aW50ZXJuYWxUeXBlOiJhZGRyZXNzIixuYW1lOiJvcGVyYXRvciIsdHlwZToiYWRkcmVzcyJ9LHtpbnRlcm5hbFR5cGU6ImJvb2wiLG5hbWU6ImFwcHJvdmVkIix0eXBlOiJib29sIn1dLG5hbWU6InNldEFwcHJvdmFsRm9yQWxsIixvdXRwdXRzOltdLHBheWFibGU6ITEsc3RhdGVNdXRhYmlsaXR5OiJub25wYXlhYmxlIix0eXBlOiJmdW5jdGlvbiJ9LHthbm9ueW1vdXM6ITEsaW5wdXRzOlt7aW5kZXhlZDohMCxpbnRlcm5hbFR5cGU6ImFkZHJlc3MiLG5hbWU6Im93bmVyIix0eXBlOiJhZGRyZXNzIn0se2luZGV4ZWQ6ITAsaW50ZXJuYWxUeXBlOiJhZGRyZXNzIixuYW1lOiJvcGVyYXRvciIsdHlwZToiYWRkcmVzcyJ9LHtpbmRleGVkOiExLGludGVybmFsVHlwZToiYm9vbCIsbmFtZToiYXBwcm92ZWQiLHR5cGU6ImJvb2wifV0sbmFtZToiQXBwcm92YWxGb3JBbGwiLHR5cGU6ImV2ZW50In0se2NvbnN0YW50OiEwLGlucHV0czpbe2ludGVybmFsVHlwZToiYWRkcmVzcyIsbmFtZToib3duZXIiLHR5cGU6ImFkZHJlc3MifSx7aW50ZXJuYWxUeXBlOiJhZGRyZXNzIixu"}},"time_used":334,"timings":{"blocked":-1,"dns":0,"connect":20,"send":0,"wait":48,"receive":238,"ssl":27},"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":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"opendns","sensor_type":"DNS","title":"OpenDNS","description":"OpenDNS","scan_date":"2026-07-27","alert":"Phishing Block","trigger":"meta-drop.top","verdict":"phishing","severity":"medium","comment":"","link":"https://www.opendns.com/","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-alert.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:07.860Z","timestamp":1785152587860,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"meta-drop.top","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 19 Jul 2026 23:27:50 GMT","end":"Sat, 17 Oct 2026 23:27:49 GMT"},"fingerprint":{"sha1":"67:D4:87:A1:51:D4:1D:BB:BB:77:02:2B:B6:56:97:52:78:DA:92:C1","sha256":"67:DA:68:05:20:35:91:18:5A:EF:52:AD:9A:51:70:A4:D4:60:E6:DA:FE:67:E3:E1:6C:3F:13:4D:D1:7C:6D:E4"}}},"request":{"raw":"GET /assets/web3-provider/web3-alert.js HTTP/1.1\r\nHost: meta-drop.top\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://meta-drop.top/\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/1.1 200 OK\r\nServer: nginx/1.24.0 (Ubuntu)\r\nDate: Mon, 27 Jul 2026 11:43:07 GMT\r\nContent-Type: application/javascript; charset=UTF-8\r\nContent-Length: 145398\r\nConnection: keep-alive\r\nX-Powered-By: Express\r\nAccess-Control-Allow-Origin: *\r\nAccept-Ranges: bytes\r\nCache-Control: public, max-age=0\r\nLast-Modified: Fri, 10 Jan 2025 13:06:25 GMT\r\nETag: W/\"237f6-1945052b468\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Ubuntu","description":"Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.","website":"https://www.ubuntu.com/server","common_platform_enumeration":"cpe:2.3:o:canonical:ubuntu_linux:*:*:*:*:*:*:*:*","icon":"Ubuntu.svg","categories":["Operating systems"]},{"name":"Nginx:1.24.0","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":"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"]}],"data":{"size":145398,"size_decoded":145772,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (949)","md5":"f6309738593ca0c1bd04700c4f01bc3c","sha1":"50d56a5bed5242c3ff2cae3e3fbef5522c26cfea","sha256":"22becfcf833e51cc71faf4b3a99c596e5ef3879543f7007065c8a9730692b6ad","sha512":"f8d5374e47b6bc6d63f22bf9fc836ab4c7dfc4d015a02c229bcc801fc00af1fe843b1652eeafbfc830774293542902197012c3bfe1cd8ba10ee8316132c218af","ssdeep":"1536:etDaj7HoTsRY7OzoSXMg9pIDBgb89rp4qomjqfSTAFZmvxlZUJZoKOwqYfEQc7AA:aF+balAF8kDoXjD7","tlshash":"1be385692ef210a20dab64bc278ba005b6615117b609cd94bdacd7104fdff3486f27ed","first_seen":"2023-05-09T18:10:24Z","last_seen":"2026-08-03T12:41:36.361684Z","times_seen":395,"resource_available":true,"data":"LyohCiogc3dlZXRhbGVydDIgdjExLjcuMwoqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4KKi8KKGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHsKICB0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgPyBtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKSA6CiAgdHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKGZhY3RvcnkpIDoKICAoZ2xvYmFsID0gdHlwZW9mIGdsb2JhbFRoaXMgIT09ICd1bmRlZmluZWQnID8gZ2xvYmFsVGhpcyA6IGdsb2JhbCB8fCBzZWxmLCBnbG9iYWwuU3dlZXRhbGVydDIgPSBmYWN0b3J5KCkpOwp9KSh0aGlzLCAoZnVuY3Rpb24gKCkgeyAndXNlIHN0cmljdCc7CgogIC8qKgogICAqIFRoaXMgbW9kdWxlIGNvbnRhaW5zIGBXZWFrTWFwYHMgZm9yIGVhY2ggZWZmZWN0aXZlbHktInByaXZhdGUgIHByb3BlcnR5IiB0aGF0IGEgYFN3YWxgIGhhcy4KICAgKiBGb3IgZXhhbXBsZSwgdG8gc2V0IHRoZSBwcml2YXRlIHByb3BlcnR5ICJmb28iIG9mIGB0aGlzYCB0byAiYmFyIiwgeW91IGNhbiBgcHJpdmF0ZVByb3BzLmZvby5zZXQodGhpcywgJ2JhcicpYAogICAqIFRoaXMgaXMgdGhlIGFwcHJvYWNoIHRoYXQgQmFiZWwgd2lsbCBwcm9iYWJseSB0YWtlIHRvIGltcGxlbWVudCBwcml2YXRlIG1ldGhvZHMvZmllbGRzCiAgICogICBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1wcml2YXRlLW1ldGhvZHMKICAgKiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9iYWJlbC9iYWJlbC9wdWxsLzc1NTUKICAgKiBPbmNlIHdlIGhhdmUgdGhlIGNoYW5nZXMgZnJvbSB0aGF0IFBSIGluIEJhYmVsLCBhbmQgb3VyIGNvcmUgY2xhc3MgZml0cyByZWFzb25hYmxlIGluICpvbmUgbW9kdWxlKgogICAqICAgdGhlbiB3ZSBjYW4gdXNlIHRoYXQgbGFuZ3VhZ2UgZmVhdHVyZS4KICAgKi8KCiAgdmFyIHByaXZhdGVQcm9wcyA9IHsKICAgIGF3YWl0aW5nUHJvbWlzZTogbmV3IFdlYWtNYXAoKSwKICAgIHByb21pc2U6IG5ldyBXZWFrTWFwKCksCiAgICBpbm5lclBhcmFtczogbmV3IFdlYWtNYXAoKSwKICAgIGRvbUNhY2hlOiBuZXcgV2Vha01hcCgpCiAgfTsKCiAgY29uc3Qgc3dhbFByZWZpeCA9ICdzd2FsMi0nOwoKICAvKioKICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBpdGVtcwogICAqIEByZXR1cm5zIHtvYmplY3R9CiAgICovCiAgY29uc3QgcHJlZml4ID0gaXRlbXMgPT4gewogICAgY29uc3QgcmVzdWx0ID0ge307CiAgICBmb3IgKGNvbnN0IGkgaW4gaXRlbXMpIHsKICAgICAgcmVzdWx0W2l0ZW1zW2ldXSA9IHN3YWxQcmVmaXggKyBpdGVtc1tpXTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfTsKICBjb25zdCBzd2FsQ2xhc3NlcyA9IHByZWZpeChbJ2NvbnRhaW5lcicsICdzaG93bicsICdoZWlnaHQtYXV0bycsICdpb3NmaXgnLCAncG9wdXAnLCAnbW9kYWwnLCAnbm8tYmFja2Ryb3AnLCAnbm8tdHJhbnNpdGlvbicsICd0b2FzdCcsICd0b2FzdC1zaG93bicsICdzaG93JywgJ2hpZGUnLCAnY2xvc2UnLCAndGl0bGUnLCAnaHRtbC1jb250YWluZXInLCAnYWN0aW9ucycsICdjb25maXJtJywgJ2RlbnknLCAnY2FuY2VsJywgJ2RlZmF1bHQtb3V0bGluZScsICdmb290ZXInLCAnaWNvbicsICdpY29uLWNvbnRlbnQnLCAnaW1hZ2UnLCAnaW5wdXQnLCAnZmlsZScsICdyYW5nZScsICdzZWxlY3QnLCAncmFkaW8nLCAnY2hlY2tib3gnLCAnbGFiZWwnLCAndGV4dGFyZWEnLCAnaW5wdXRlcnJvcicsICdpbnB1dC1sYWJlbCcsICd2YWxpZGF0aW9uLW1lc3NhZ2UnLCAncHJvZ3Jlc3Mtc3RlcHMnLCAnYWN0aXZlLXByb2dyZXNzLXN0ZXAnLCAncHJvZ3Jlc3Mtc3RlcCcsICdwcm9ncmVzcy1zdGVwLWxpbmUnLCAnbG9hZGVyJywgJ2xvYWRpbmcnLCAnc3R5bGVkJywgJ3RvcCcsICd0b3Atc3RhcnQnLCAndG9wLWVuZCcsICd0b3AtbGVmdCcsICd0b3AtcmlnaHQnLCAnY2VudGVyJywgJ2NlbnRlci1zdGFydCcsICdjZW50ZXItZW5kJywgJ2NlbnRlci1sZWZ0JywgJ2NlbnRlci1yaWdodCcsICdib3R0b20nLCAnYm90dG9tLXN0YXJ0JywgJ2JvdHRvbS1lbmQnLCAnYm90dG9tLWxlZnQnLCAnYm90dG9tLXJpZ2h0JywgJ2dyb3ctcm93JywgJ2dyb3ctY29sdW1uJywgJ2dyb3ctZnVsbHNjcmVlbicsICdydGwnLCAndGltZXItcHJvZ3Jlc3MtYmFyJywgJ3RpbWVyLXByb2dyZXNzLWJhci1jb250YWluZXInLCAnc2Nyb2xsYmFyLW1lYXN1cmUnLCAnaWNvbi1zdWNjZXNzJywgJ2ljb24td2FybmluZycsICdpY29uLWluZm8nLCAnaWNvbi1xdWVzdGlvbicsICdpY29uLWVycm9yJ10pOwogIGNvbnN0IGljb25UeXBlcyA9IHByZWZpeChbJ3N1Y2Nlc3MnLCAnd2FybmluZycsICdpbmZvJywgJ3F1ZXN0aW9uJywgJ2Vycm9yJ10pOwoKICBjb25zdCBjb25zb2xlUHJlZml4ID0gJ1N3ZWV0QWxlcnQyOic7CgogIC8qKgogICAqIEZpbHRlciB0aGUgdW5pcXVlIHZhbHVlcyBpbnRvIGEgbmV3IGFycmF5CiAgICoKICAgKiBAcGFyYW0ge0FycmF5fSBhcnIKICAgKiBAcmV0dXJucyB7QXJyYXl9CiAgICovCiAgY29uc3QgdW5pcXVlQXJyYXkgPSBhcnIgPT4gewogICAgY29uc3QgcmVzdWx0ID0gW107CiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykgewogICAgICBpZiAocmVzdWx0LmluZGV4T2YoYXJyW2ldKSA9PT0gLTEpIHsKICAgICAgICByZXN1bHQucHVzaChhcnJbaV0pOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH07CgogIC8qKgogICAqIENhcGl0YWxpemUgdGhlIGZpcnN0IGxldHRlciBvZiBhIHN0cmluZwogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cgogICAqIEByZXR1cm5zIHtzdHJpbmd9CiAgICovCiAgY29uc3QgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyID0gc3RyID0+IHN0ci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKTsKCiAgLyoqCiAgICogU3RhbmRhcmRpemUgY29uc29sZSB3YXJuaW5ncwogICAqCiAgICogQHBhcmFtIHtzdHJpbmcgfCBBcnJheX0gbWVzc2FnZQogICAqLwogIGNvbnN0IHdhcm4gPSBtZXNzYWdlID0+IHsKICAgIGNvbnNvbGUud2FybihgJHtjb25zb2xlUHJlZml4fSAke3R5cGVvZiBtZXNzYWdlID09PSAnb2JqZWN0JyA/IG1lc3NhZ2Uuam9pbignICcpIDogbWVzc2FnZX1gKTsKICB9OwoKICAvKioKICAgKiBTdGFuZGFyZGl6ZSBjb25zb2xlIGVycm9ycwogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UKICAgKi8KICBjb25zdCBlcnJvciA9IG1lc3NhZ2UgPT4gewogICAgY29uc29sZS5lcnJvcihgJHtjb25zb2xlUHJlZml4fSAke21lc3NhZ2V9YCk7CiAgfTsKCiAgLyoqCiAgICogUHJpdmF0ZSBnbG9iYWwgc3RhdGUgZm9yIGB3YXJuT25jZWAKICAgKgogICAqIEB0eXBlIHtBcnJheX0KICAgKiBAcHJpdmF0ZQogICAqLwogIGNvbnN0IHByZXZpb3VzV2Fybk9uY2VNZXNzYWdlcyA9IFtdOwoKICAvKioKICAgKiBTaG93IGEgY29uc29sZSB3YXJuaW5nLCBidXQgb25seSBpZiBpdCBoYXNuJ3QgYWxyZWFkeSBiZWVuIHNob3duCiAgICoKICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZQogICAqLwogIGNvbnN0IHdhcm5PbmNlID0gbWVzc2FnZSA9PiB7CiAgICBpZiAoIXByZXZpb3VzV2Fybk9uY2VNZXNzYWdlcy5pbmNsdWRlcyhtZXNzYWdlKSkgewogICAgICBwcmV2aW91c1dhcm5PbmNlTWVzc2FnZXMucHVzaChtZXNzYWdlKTsKICAgICAgd2FybihtZXNzYWdlKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBTaG93IGEgb25lLXRpbWUgY29uc29sZSB3YXJuaW5nIGFib3V0IGRlcHJlY2F0ZWQgcGFyYW1zL21ldGhvZHMKICAgKgogICAqIEBwYXJhbSB7c3RyaW5nfSBkZXByZWNhdGVkUGFyYW0KICAgKiBAcGFyYW0ge3N0cmluZ30gdXNlSW5zdGVhZAogICAqLwogIGNvbnN0IHdhcm5BYm91dERlcHJlY2F0aW9uID0gKGRlcHJlY2F0ZWRQYXJhbSwgdXNlSW5zdGVhZCkgPT4gewogICAgd2Fybk9uY2UoYCIke2RlcHJlY2F0ZWRQYXJhbX0iIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBQbGVhc2UgdXNlICIke3VzZUluc3RlYWR9IiBpbnN0ZWFkLmApOwogIH07CgogIC8qKgogICAqIElmIGBhcmdgIGlzIGEgZnVuY3Rpb24sIGNhbGwgaXQgKHdpdGggbm8gYXJndW1lbnRzIG9yIGNvbnRleHQpIGFuZCByZXR1cm4gdGhlIHJlc3VsdC4KICAgKiBPdGhlcndpc2UsIGp1c3QgcGFzcyB0aGUgdmFsdWUgdGhyb3VnaAogICAqCiAgICogQHBhcmFtIHtGdW5jdGlvbiB8IGFueX0gYXJnCiAgICogQHJldHVybnMge2FueX0KICAgKi8KICBjb25zdCBjYWxsSWZGdW5jdGlvbiA9IGFyZyA9PiB0eXBlb2YgYXJnID09PSAnZnVuY3Rpb24nID8gYXJnKCkgOiBhcmc7CgogIC8qKgogICAqIEBwYXJhbSB7YW55fSBhcmcKICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0KICAgKi8KICBjb25zdCBoYXNUb1Byb21pc2VGbiA9IGFyZyA9PiBhcmcgJiYgdHlwZW9mIGFyZy50b1Byb21pc2UgPT09ICdmdW5jdGlvbic7CgogIC8qKgogICAqIEBwYXJhbSB7YW55fSBhcmcKICAgKiBAcmV0dXJucyB7UHJvbWlzZX0KICAgKi8KICBjb25zdCBhc1Byb21pc2UgPSBhcmcgPT4gaGFzVG9Qcm9taXNlRm4oYXJnKSA/IGFyZy50b1Byb21pc2UoKSA6IFByb21pc2UucmVzb2x2ZShhcmcpOwoKICAvKioKICAgKiBAcGFyYW0ge2FueX0gYXJnCiAgICogQHJldHVybnMge2Jvb2xlYW59CiAgICovCiAgY29uc3QgaXNQcm9taXNlID0gYXJnID0+IGFyZyAmJiBQcm9taXNlLnJlc29sdmUoYXJnKSA9PT0gYXJnOwoKICAvKioKICAgKiBHZXRzIHRoZSBwb3B1cCBjb250YWluZXIgd2hpY2ggY29udGFpbnMgdGhlIGJhY2tkcm9wIGFuZCB0aGUgcG9wdXAgaXRzZWxmLgogICAqCiAgICogQHJldHVybnMge0hUTUxFbGVtZW50IHwgbnVsbH0KICAgKi8KICBjb25zdCBnZXRDb250YWluZXIgPSAoKSA9PiBkb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3IoYC4ke3N3YWxDbGFzc2VzLmNvbnRhaW5lcn1gKTsKCiAgLyoqCiAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yU3RyaW5nCiAgICogQHJldHVybnMge0hUTUxFbGVtZW50IHwgbnVsbH0KICAgKi8KICBjb25zdCBlbGVtZW50QnlTZWxlY3RvciA9IHNlbGVjdG9yU3RyaW5nID0+IHsKICAgIGNvbnN0IGNvbnRhaW5lciA9IGdldENvbnRhaW5lcigpOwogICAgcmV0dXJuIGNvbnRhaW5lciA/IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yU3RyaW5nKSA6IG51bGw7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtzdHJpbmd9IGNsYXNzTmFtZQogICAqIEByZXR1cm5zIHtIVE1MRWxlbWVudCB8IG51bGx9CiAgICovCiAgY29uc3QgZWxlbWVudEJ5Q2xhc3MgPSBjbGFzc05hbWUgPT4gewogICAgcmV0dXJuIGVsZW1lbnRCeVNlbGVjdG9yKGAuJHtjbGFzc05hbWV9YCk7CiAgfTsKCiAgLyoqCiAgICogQHJldHVybnMge0hUTUxFbGVtZW50IHwgbnVsbH0KICAgKi8KICBjb25zdCBnZXRQb3B1cCA9ICgpID0+IGVsZW1lbnRCeUNsYXNzKHN3YWxDbGFzc2VzLnBvcHVwKTsKCiAgLyoqCiAgICogQHJldHVybnMge0hUTUxFbGVtZW50IHwgbnVsbH0KICAgKi8KICBjb25zdCBnZXRJY29uID0gKCkgPT4gZWxlbWVudEJ5Q2xhc3Moc3dhbENsYXNzZXMuaWNvbik7CgogIC8qKgogICAqIEByZXR1cm5zIHtIVE1MRWxlbWVudCB8IG51bGx9CiAgICovCiAgY29uc3QgZ2V0SWNvbkNvbnRlbnQgPSAoKSA9PiBlbGVtZW50QnlDbGFzcyhzd2FsQ2xhc3Nlc1snaWNvbi1jb250ZW50J10pOwoKICAvKioKICAgKiBAcmV0dXJucyB7SFRNTEVsZW1lbnQgfCBudWxsfQogICAqLwogIGNvbnN0IGdldFRpdGxlID0gKCkgPT4gZWxlbWVudEJ5Q2xhc3Moc3dhbENsYXNzZXMudGl0bGUpOwoKICAvKioKICAgKiBAcmV0dXJucyB7SFRNTEVsZW1lbnQgfCBudWxsfQogICAqLwogIGNvbnN0IGdldEh0bWxDb250YWluZXIgPSAoKSA9PiBlbGVtZW50QnlDbGFzcyhzd2FsQ2xhc3Nlc1snaHRtbC1jb250YWluZXInXSk7CgogIC8qKgogICAqIEByZXR1cm5zIHtIVE1MRWxlbWVudCB8IG51bGx9CiAgICovCiAgY29uc3QgZ2V0SW1hZ2UgPSAoKSA9PiBlbGVtZW50QnlDbGFzcyhzd2FsQ2xhc3Nlcy5pbWFnZSk7CgogIC8qKgogICAqIEByZXR1cm5zIHtIVE1MRWxlbWVudCB8IG51bGx9CiAgICovCiAgY29uc3QgZ2V0UHJvZ3Jlc3NTdGVwcyA9ICgpID0+IGVsZW1lbnRCeUNsYXNzKHN3YWxDbGFzc2VzWydwcm9ncmVzcy1zdGVwcyddKTsKCiAgLyoqCiAgICogQHJldHVybnMge0hUTUxFbGVtZW50IHwgbnVsbH0KICAgKi8KICBjb25zdCBnZXRWYWxpZGF0aW9uTWVzc2FnZSA9ICgpID0+IGVsZW1lbnRCeUNsYXNzKHN3YWxDbGFzc2VzWyd2YWxpZGF0aW9uLW1lc3NhZ2UnXSk7CgogIC8qKgogICAqIEByZXR1cm5zIHtIVE1MQnV0dG9uRWxlbWVudCB8IG51bGx9CiAgICovCiAgY29uc3QgZ2V0Q29uZmlybUJ1dHRvbiA9ICgpID0+IC8qKiBAdHlwZSB7SFRNTEJ1dHRvbkVsZW1lbnR9ICovZWxlbWVudEJ5U2VsZWN0b3IoYC4ke3N3YWxDbGFzc2VzLmFjdGlvbnN9IC4ke3N3YWxDbGFzc2VzLmNvbmZpcm19YCk7CgogIC8qKgogICAqIEByZXR1cm5zIHtIVE1MQnV0dG9uRWxlbWVudCB8IG51bGx9CiAgICovCiAgY29uc3QgZ2V0Q2FuY2VsQnV0dG9uID0gKCkgPT4gLyoqIEB0eXBlIHtIVE1MQnV0dG9uRWxlbWVudH0gKi9lbGVtZW50QnlTZWxlY3RvcihgLiR7c3dhbENsYXNzZXMuYWN0aW9uc30gLiR7c3dhbENsYXNzZXMuY2FuY2VsfWApOwoKICAvKioKICAgKiBAcmV0dXJucyB7SFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsfQogICAqLwogIGNvbnN0IGdldERlbnlCdXR0b24gPSAoKSA9PiAvKiogQHR5cGUge0hUTUxCdXR0b25FbGVtZW50fSAqL2VsZW1lbnRCeVNlbGVjdG9yKGAuJHtzd2FsQ2xhc3Nlcy5hY3Rpb25zfSAuJHtzd2FsQ2xhc3Nlcy5kZW55fWApOwoKICAvKioKICAgKiBAcmV0dXJucyB7SFRNTEVsZW1lbnQgfCBudWxsfQogICAqLwogIGNvbnN0IGdldElucHV0TGFiZWwgPSAoKSA9PiBlbGVtZW50QnlDbGFzcyhzd2FsQ2xhc3Nlc1snaW5wdXQtbGFiZWwnXSk7CgogIC8qKgogICAqIEByZXR1cm5zIHtIVE1MRWxlbWVudCB8IG51bGx9CiAgICovCiAgY29uc3QgZ2V0TG9hZGVyID0gKCkgPT4gZWxlbWVudEJ5U2VsZWN0b3IoYC4ke3N3YWxDbGFzc2VzLmxvYWRlcn1gKTsKCiAgLyoqCiAgICogQHJldHVybnMge0hUTUxFbGVtZW50IHwgbnVsbH0KICAgKi8KICBjb25zdCBnZXRBY3Rpb25zID0gKCkgPT4gZWxlbWVudEJ5Q2xhc3Moc3dhbENsYXNzZXMuYWN0aW9ucyk7CgogIC8qKgogICAqIEByZXR1cm5zIHtIVE1MRWxlbWVudCB8IG51bGx9CiAgICovCiAgY29uc3QgZ2V0Rm9vdGVyID0gKCkgPT4gZWxlbWVudEJ5Q2xhc3Moc3dhbENsYXNzZXMuZm9vdGVyKTsKCiAgLyoqCiAgICogQHJldHVybnMge0hUTUxFbGVtZW50IHwgbnVsbH0KICAgKi8KICBjb25zdCBnZXRUaW1lclByb2dyZXNzQmFyID0gKCkgPT4gZWxlbWVudEJ5Q2xhc3Moc3dhbENsYXNzZXNbJ3RpbWVyLXByb2dyZXNzLWJhciddKTsKCiAgLyoqCiAgICogQHJldHVybnMge0hUTUxFbGVtZW50IHwgbnVsbH0KICAgKi8KICBjb25zdCBnZXRDbG9zZUJ1dHRvbiA9ICgpID0+IGVsZW1lbnRCeUNsYXNzKHN3YWxDbGFzc2VzLmNsb3NlKTsKCiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2prdXAvZm9jdXNhYmxlL2Jsb2IvbWFzdGVyL2luZGV4LmpzCiAgY29uc3QgZm9jdXNhYmxlID0gYAogIGFbaHJlZl0sCiAgYXJlYVtocmVmXSwKICBpbnB1dDpub3QoW2Rpc2FibGVkXSksCiAgc2VsZWN0Om5vdChbZGlzYWJsZWRdKSwKICB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSksCiAgYnV0dG9uOm5vdChbZGlzYWJsZWRdKSwKICBpZnJhbWUsCiAgb2JqZWN0LAogIGVtYmVkLAogIFt0YWJpbmRleD0iMCJdLAogIFtjb250ZW50ZWRpdGFibGVdLAogIGF1ZGlvW2NvbnRyb2xzXSwKICB2aWRlb1tjb250cm9sc10sCiAgc3VtbWFyeQpgOwogIC8qKgogICAqIEByZXR1cm5zIHtIVE1MRWxlbWVudFtdfQogICAqLwogIGNvbnN0IGdldEZvY3VzYWJsZUVsZW1lbnRzID0gKCkgPT4gewogICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHNXaXRoVGFiaW5kZXggPSBBcnJheS5mcm9tKGdldFBvcHVwKCkucXVlcnlTZWxlY3RvckFsbCgnW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PSItMSJdKTpub3QoW3RhYmluZGV4PSIwIl0pJykpCiAgICAvLyBzb3J0IGFjY29yZGluZyB0byB0YWJpbmRleAogICAgLnNvcnQoKGEsIGIpID0+IHsKICAgICAgY29uc3QgdGFiaW5kZXhBID0gcGFyc2VJbnQoYS5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JykpOwogICAgICBjb25zdCB0YWJpbmRleEIgPSBwYXJzZUludChiLmdldEF0dHJpYnV0ZSgndGFiaW5kZXgnKSk7CiAgICAgIGlmICh0YWJpbmRleEEgPiB0YWJpbmRleEIpIHsKICAgICAgICByZXR1cm4gMTsKICAgICAgfSBlbHNlIGlmICh0YWJpbmRleEEgPCB0YWJpbmRleEIpIHsKICAgICAgICByZXR1cm4gLTE7CiAgICAgIH0KICAgICAgcmV0dXJuIDA7CiAgICB9KTsKICAgIGNvbnN0IG90aGVyRm9jdXNhYmxlRWxlbWVudHMgPSBBcnJheS5mcm9tKGdldFBvcHVwKCkucXVlcnlTZWxlY3RvckFsbChmb2N1c2FibGUpKS5maWx0ZXIoZWwgPT4gZWwuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpICE9PSAnLTEnKTsKICAgIHJldHVybiB1bmlxdWVBcnJheShmb2N1c2FibGVFbGVtZW50c1dpdGhUYWJpbmRleC5jb25jYXQob3RoZXJGb2N1c2FibGVFbGVtZW50cykpLmZpbHRlcihlbCA9PiBpc1Zpc2libGUkMShlbCkpOwogIH07CgogIC8qKgogICAqIEByZXR1cm5zIHtib29sZWFufQogICAqLwogIGNvbnN0IGlzTW9kYWwgPSAoKSA9PiB7CiAgICByZXR1cm4gaGFzQ2xhc3MoZG9jdW1lbnQuYm9keSwgc3dhbENsYXNzZXMuc2hvd24pICYmICFoYXNDbGFzcyhkb2N1bWVudC5ib2R5LCBzd2FsQ2xhc3Nlc1sndG9hc3Qtc2hvd24nXSkgJiYgIWhhc0NsYXNzKGRvY3VtZW50LmJvZHksIHN3YWxDbGFzc2VzWyduby1iYWNrZHJvcCddKTsKICB9OwoKICAvKioKICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0KICAgKi8KICBjb25zdCBpc1RvYXN0ID0gKCkgPT4gewogICAgcmV0dXJuIGdldFBvcHVwKCkgJiYgaGFzQ2xhc3MoZ2V0UG9wdXAoKSwgc3dhbENsYXNzZXMudG9hc3QpOwogIH07CgogIC8qKgogICAqIEByZXR1cm5zIHtib29sZWFufQogICAqLwogIGNvbnN0IGlzTG9hZGluZyA9ICgpID0+IHsKICAgIHJldHVybiBnZXRQb3B1cCgpLmhhc0F0dHJpYnV0ZSgnZGF0YS1sb2FkaW5nJyk7CiAgfTsKCiAgLy8gUmVtZW1iZXIgc3RhdGUgaW4gY2FzZXMgd2hlcmUgb3BlbmluZyBhbmQgaGFuZGxpbmcgYSBtb2RhbCB3aWxsIGZpZGRsZSB3aXRoIGl0LgogIGNvbnN0IHN0YXRlcyA9IHsKICAgIHByZXZpb3VzQm9keVBhZGRpbmc6IG51bGwKICB9OwoKICAvKioKICAgKiBTZWN1cmVseSBzZXQgaW5uZXJIVE1MIG9mIGFuIGVsZW1lbnQKICAgKiBodHRwczovL2dpdGh1Yi5jb20vc3dlZXRhbGVydDIvc3dlZXRhbGVydDIvaXNzdWVzLzE5MjYKICAgKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW0KICAgKiBAcGFyYW0ge3N0cmluZ30gaHRtbAogICAqLwogIGNvbnN0IHNldElubmVySHRtbCA9IChlbGVtLCBodG1sKSA9PiB7CiAgICBlbGVtLnRleHRDb250ZW50ID0gJyc7CiAgICBpZiAoaHRtbCkgewogICAgICBjb25zdCBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7CiAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlci5wYXJzZUZyb21TdHJpbmcoaHRtbCwgYHRleHQvaHRtbGApOwogICAgICBBcnJheS5mcm9tKHBhcnNlZC5xdWVyeVNlbGVjdG9yKCdoZWFkJykuY2hpbGROb2RlcykuZm9yRWFjaChjaGlsZCA9PiB7CiAgICAgICAgZWxlbS5hcHBlbmRDaGlsZChjaGlsZCk7CiAgICAgIH0pOwogICAgICBBcnJheS5mcm9tKHBhcnNlZC5xdWVyeVNlbGVjdG9yKCdib2R5JykuY2hpbGROb2RlcykuZm9yRWFjaChjaGlsZCA9PiB7CiAgICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgSFRNTFZpZGVvRWxlbWVudCB8fCBjaGlsZCBpbnN0YW5jZW9mIEhUTUxBdWRpb0VsZW1lbnQpIHsKICAgICAgICAgIGVsZW0uYXBwZW5kQ2hpbGQoY2hpbGQuY2xvbmVOb2RlKHRydWUpKTsgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N3ZWV0YWxlcnQyL3N3ZWV0YWxlcnQyL2lzc3Vlcy8yNTA3CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGVsZW0uYXBwZW5kQ2hpbGQoY2hpbGQpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbQogICAqIEBwYXJhbSB7c3RyaW5nfSBjbGFzc05hbWUKICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0KICAgKi8KICBjb25zdCBoYXNDbGFzcyA9IChlbGVtLCBjbGFzc05hbWUpID0+IHsKICAgIGlmICghY2xhc3NOYW1lKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIGNvbnN0IGNsYXNzTGlzdCA9IGNsYXNzTmFtZS5zcGxpdCgvXHMrLyk7CiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNsYXNzTGlzdC5sZW5ndGg7IGkrKykgewogICAgICBpZiAoIWVsZW0uY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTGlzdFtpXSkpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiB0cnVlOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW0KICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKi8KICBjb25zdCByZW1vdmVDdXN0b21DbGFzc2VzID0gKGVsZW0sIHBhcmFtcykgPT4gewogICAgQXJyYXkuZnJvbShlbGVtLmNsYXNzTGlzdCkuZm9yRWFjaChjbGFzc05hbWUgPT4gewogICAgICBpZiAoIU9iamVjdC52YWx1ZXMoc3dhbENsYXNzZXMpLmluY2x1ZGVzKGNsYXNzTmFtZSkgJiYgIU9iamVjdC52YWx1ZXMoaWNvblR5cGVzKS5pbmNsdWRlcyhjbGFzc05hbWUpICYmICFPYmplY3QudmFsdWVzKHBhcmFtcy5zaG93Q2xhc3MpLmluY2x1ZGVzKGNsYXNzTmFtZSkpIHsKICAgICAgICBlbGVtLmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTsKICAgICAgfQogICAgfSk7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbQogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IHBhcmFtcwogICAqIEBwYXJhbSB7c3RyaW5nfSBjbGFzc05hbWUKICAgKi8KICBjb25zdCBhcHBseUN1c3RvbUNsYXNzID0gKGVsZW0sIHBhcmFtcywgY2xhc3NOYW1lKSA9PiB7CiAgICByZW1vdmVDdXN0b21DbGFzc2VzKGVsZW0sIHBhcmFtcyk7CiAgICBpZiAocGFyYW1zLmN1c3RvbUNsYXNzICYmIHBhcmFtcy5jdXN0b21DbGFzc1tjbGFzc05hbWVdKSB7CiAgICAgIGlmICh0eXBlb2YgcGFyYW1zLmN1c3RvbUNsYXNzW2NsYXNzTmFtZV0gIT09ICdzdHJpbmcnICYmICFwYXJhbXMuY3VzdG9tQ2xhc3NbY2xhc3NOYW1lXS5mb3JFYWNoKSB7CiAgICAgICAgd2FybihgSW52YWxpZCB0eXBlIG9mIGN1c3RvbUNsYXNzLiR7Y2xhc3NOYW1lfSEgRXhwZWN0ZWQgc3RyaW5nIG9yIGl0ZXJhYmxlIG9iamVjdCwgZ290ICIke3R5cGVvZiBwYXJhbXMuY3VzdG9tQ2xhc3NbY2xhc3NOYW1lXX0iYCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGFkZENsYXNzKGVsZW0sIHBhcmFtcy5jdXN0b21DbGFzc1tjbGFzc05hbWVdKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBwb3B1cAogICAqIEBwYXJhbSB7aW1wb3J0KCcuL3JlbmRlcmVycy9yZW5kZXJJbnB1dCcpLklucHV0Q2xhc3N9IGlucHV0Q2xhc3MKICAgKiBAcmV0dXJucyB7SFRNTElucHV0RWxlbWVudCB8IG51bGx9CiAgICovCiAgY29uc3QgZ2V0SW5wdXQkMSA9IChwb3B1cCwgaW5wdXRDbGFzcykgPT4gewogICAgaWYgKCFpbnB1dENsYXNzKSB7CiAgICAgIHJldHVybiBudWxsOwogICAgfQogICAgc3dpdGNoIChpbnB1dENsYXNzKSB7CiAgICAgIGNhc2UgJ3NlbGVjdCc6CiAgICAgIGNhc2UgJ3RleHRhcmVhJzoKICAgICAgY2FzZSAnZmlsZSc6CiAgICAgICAgcmV0dXJuIHBvcHVwLnF1ZXJ5U2VsZWN0b3IoYC4ke3N3YWxDbGFzc2VzLnBvcHVwfSA+IC4ke3N3YWxDbGFzc2VzW2lucHV0Q2xhc3NdfWApOwogICAgICBjYXNlICdjaGVja2JveCc6CiAgICAgICAgcmV0dXJuIHBvcHVwLnF1ZXJ5U2VsZWN0b3IoYC4ke3N3YWxDbGFzc2VzLnBvcHVwfSA+IC4ke3N3YWxDbGFzc2VzLmNoZWNrYm94fSBpbnB1dGApOwogICAgICBjYXNlICdyYWRpbyc6CiAgICAgICAgcmV0dXJuIHBvcHVwLnF1ZXJ5U2VsZWN0b3IoYC4ke3N3YWxDbGFzc2VzLnBvcHVwfSA+IC4ke3N3YWxDbGFzc2VzLnJhZGlvfSBpbnB1dDpjaGVja2VkYCkgfHwgcG9wdXAucXVlcnlTZWxlY3RvcihgLiR7c3dhbENsYXNzZXMucG9wdXB9ID4gLiR7c3dhbENsYXNzZXMucmFkaW99IGlucHV0OmZpcnN0LWNoaWxkYCk7CiAgICAgIGNhc2UgJ3JhbmdlJzoKICAgICAgICByZXR1cm4gcG9wdXAucXVlcnlTZWxlY3RvcihgLiR7c3dhbENsYXNzZXMucG9wdXB9ID4gLiR7c3dhbENsYXNzZXMucmFuZ2V9IGlucHV0YCk7CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgcmV0dXJuIHBvcHVwLnF1ZXJ5U2VsZWN0b3IoYC4ke3N3YWxDbGFzc2VzLnBvcHVwfSA+IC4ke3N3YWxDbGFzc2VzLmlucHV0fWApOwogICAgfQogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBIVE1MU2VsZWN0RWxlbWVudH0gaW5wdXQKICAgKi8KICBjb25zdCBmb2N1c0lucHV0ID0gaW5wdXQgPT4gewogICAgaW5wdXQuZm9jdXMoKTsKCiAgICAvLyBwbGFjZSBjdXJzb3IgYXQgZW5kIG9mIHRleHQgaW4gdGV4dCBpbnB1dAogICAgaWYgKGlucHV0LnR5cGUgIT09ICdmaWxlJykgewogICAgICAvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yMzQ1OTE1CiAgICAgIGNvbnN0IHZhbCA9IGlucHV0LnZhbHVlOwogICAgICBpbnB1dC52YWx1ZSA9ICcnOwogICAgICBpbnB1dC52YWx1ZSA9IHZhbDsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50IHwgSFRNTEVsZW1lbnRbXSB8IG51bGx9IHRhcmdldAogICAqIEBwYXJhbSB7c3RyaW5nIHwgc3RyaW5nW10gfCByZWFkb25seSBzdHJpbmdbXX0gY2xhc3NMaXN0CiAgICogQHBhcmFtIHtib29sZWFufSBjb25kaXRpb24KICAgKi8KICBjb25zdCB0b2dnbGVDbGFzcyA9ICh0YXJnZXQsIGNsYXNzTGlzdCwgY29uZGl0aW9uKSA9PiB7CiAgICBpZiAoIXRhcmdldCB8fCAhY2xhc3NMaXN0KSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmICh0eXBlb2YgY2xhc3NMaXN0ID09PSAnc3RyaW5nJykgewogICAgICBjbGFzc0xpc3QgPSBjbGFzc0xpc3Quc3BsaXQoL1xzKy8pLmZpbHRlcihCb29sZWFuKTsKICAgIH0KICAgIGNsYXNzTGlzdC5mb3JFYWNoKGNsYXNzTmFtZSA9PiB7CiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRhcmdldCkpIHsKICAgICAgICB0YXJnZXQuZm9yRWFjaChlbGVtID0+IHsKICAgICAgICAgIGNvbmRpdGlvbiA/IGVsZW0uY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpIDogZWxlbS5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7CiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29uZGl0aW9uID8gdGFyZ2V0LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKSA6IHRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7CiAgICAgIH0KICAgIH0pOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnQgfCBIVE1MRWxlbWVudFtdIHwgbnVsbH0gdGFyZ2V0CiAgICogQHBhcmFtIHtzdHJpbmcgfCBzdHJpbmdbXSB8IHJlYWRvbmx5IHN0cmluZ1tdfSBjbGFzc0xpc3QKICAgKi8KICBjb25zdCBhZGRDbGFzcyA9ICh0YXJnZXQsIGNsYXNzTGlzdCkgPT4gewogICAgdG9nZ2xlQ2xhc3ModGFyZ2V0LCBjbGFzc0xpc3QsIHRydWUpOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnQgfCBIVE1MRWxlbWVudFtdIHwgbnVsbH0gdGFyZ2V0CiAgICogQHBhcmFtIHtzdHJpbmcgfCBzdHJpbmdbXSB8IHJlYWRvbmx5IHN0cmluZ1tdfSBjbGFzc0xpc3QKICAgKi8KICBjb25zdCByZW1vdmVDbGFzcyA9ICh0YXJnZXQsIGNsYXNzTGlzdCkgPT4gewogICAgdG9nZ2xlQ2xhc3ModGFyZ2V0LCBjbGFzc0xpc3QsIGZhbHNlKTsKICB9OwoKICAvKioKICAgKiBHZXQgZGlyZWN0IGNoaWxkIG9mIGFuIGVsZW1lbnQgYnkgY2xhc3MgbmFtZQogICAqCiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbQogICAqIEBwYXJhbSB7c3RyaW5nfSBjbGFzc05hbWUKICAgKiBAcmV0dXJucyB7SFRNTEVsZW1lbnQgfCB1bmRlZmluZWR9CiAgICovCiAgY29uc3QgZ2V0RGlyZWN0Q2hpbGRCeUNsYXNzID0gKGVsZW0sIGNsYXNzTmFtZSkgPT4gewogICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5mcm9tKGVsZW0uY2hpbGRyZW4pOwogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykgewogICAgICBjb25zdCBjaGlsZCA9IGNoaWxkcmVuW2ldOwogICAgICBpZiAoY2hpbGQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJiBoYXNDbGFzcyhjaGlsZCwgY2xhc3NOYW1lKSkgewogICAgICAgIHJldHVybiBjaGlsZDsKICAgICAgfQogICAgfQogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW0KICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcGVydHkKICAgKiBAcGFyYW0geyp9IHZhbHVlCiAgICovCiAgY29uc3QgYXBwbHlOdW1lcmljYWxTdHlsZSA9IChlbGVtLCBwcm9wZXJ0eSwgdmFsdWUpID0+IHsKICAgIGlmICh2YWx1ZSA9PT0gYCR7cGFyc2VJbnQodmFsdWUpfWApIHsKICAgICAgdmFsdWUgPSBwYXJzZUludCh2YWx1ZSk7CiAgICB9CiAgICBpZiAodmFsdWUgfHwgcGFyc2VJbnQodmFsdWUpID09PSAwKSB7CiAgICAgIGVsZW0uc3R5bGVbcHJvcGVydHldID0gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IGAke3ZhbHVlfXB4YCA6IHZhbHVlOwogICAgfSBlbHNlIHsKICAgICAgZWxlbS5zdHlsZS5yZW1vdmVQcm9wZXJ0eShwcm9wZXJ0eSk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbQogICAqIEBwYXJhbSB7c3RyaW5nfSBkaXNwbGF5CiAgICovCiAgY29uc3Qgc2hvdyA9IGZ1bmN0aW9uIChlbGVtKSB7CiAgICBsZXQgZGlzcGxheSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogJ2ZsZXgnOwogICAgZWxlbS5zdHlsZS5kaXNwbGF5ID0gZGlzcGxheTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbGVtCiAgICovCiAgY29uc3QgaGlkZSA9IGVsZW0gPT4gewogICAgZWxlbS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHBhcmVudAogICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RvcgogICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eQogICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZQogICAqLwogIGNvbnN0IHNldFN0eWxlID0gKHBhcmVudCwgc2VsZWN0b3IsIHByb3BlcnR5LCB2YWx1ZSkgPT4gewogICAgLyoqIEB0eXBlIHtIVE1MRWxlbWVudH0gKi8KICAgIGNvbnN0IGVsID0gcGFyZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpOwogICAgaWYgKGVsKSB7CiAgICAgIGVsLnN0eWxlW3Byb3BlcnR5XSA9IHZhbHVlOwogICAgfQogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW0KICAgKiBAcGFyYW0ge2FueX0gY29uZGl0aW9uCiAgICogQHBhcmFtIHtzdHJpbmd9IGRpc3BsYXkKICAgKi8KICBjb25zdCB0b2dnbGUgPSBmdW5jdGlvbiAoZWxlbSwgY29uZGl0aW9uKSB7CiAgICBsZXQgZGlzcGxheSA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogJ2ZsZXgnOwogICAgY29uZGl0aW9uID8gc2hvdyhlbGVtLCBkaXNwbGF5KSA6IGhpZGUoZWxlbSk7CiAgfTsKCiAgLyoqCiAgICogYm9ycm93ZWQgZnJvbSBqcXVlcnkgJChlbGVtKS5pcygnOnZpc2libGUnKSBpbXBsZW1lbnRhdGlvbgogICAqCiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbQogICAqIEByZXR1cm5zIHtib29sZWFufQogICAqLwogIGNvbnN0IGlzVmlzaWJsZSQxID0gZWxlbSA9PiAhIShlbGVtICYmIChlbGVtLm9mZnNldFdpZHRoIHx8IGVsZW0ub2Zmc2V0SGVpZ2h0IHx8IGVsZW0uZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpKTsKCiAgLyoqCiAgICogQHJldHVybnMge2Jvb2xlYW59CiAgICovCiAgY29uc3QgYWxsQnV0dG9uc0FyZUhpZGRlbiA9ICgpID0+ICFpc1Zpc2libGUkMShnZXRDb25maXJtQnV0dG9uKCkpICYmICFpc1Zpc2libGUkMShnZXREZW55QnV0dG9uKCkpICYmICFpc1Zpc2libGUkMShnZXRDYW5jZWxCdXR0b24oKSk7CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW0KICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0KICAgKi8KICBjb25zdCBpc1Njcm9sbGFibGUgPSBlbGVtID0+ICEhKGVsZW0uc2Nyb2xsSGVpZ2h0ID4gZWxlbS5jbGllbnRIZWlnaHQpOwoKICAvKioKICAgKiBib3Jyb3dlZCBmcm9tIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS80NjM1MjExOQogICAqCiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbQogICAqIEByZXR1cm5zIHtib29sZWFufQogICAqLwogIGNvbnN0IGhhc0Nzc0FuaW1hdGlvbiA9IGVsZW0gPT4gewogICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtKTsKICAgIGNvbnN0IGFuaW1EdXJhdGlvbiA9IHBhcnNlRmxvYXQoc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYW5pbWF0aW9uLWR1cmF0aW9uJykgfHwgJzAnKTsKICAgIGNvbnN0IHRyYW5zRHVyYXRpb24gPSBwYXJzZUZsb2F0KHN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3RyYW5zaXRpb24tZHVyYXRpb24nKSB8fCAnMCcpOwogICAgcmV0dXJuIGFuaW1EdXJhdGlvbiA+IDAgfHwgdHJhbnNEdXJhdGlvbiA+IDA7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtudW1iZXJ9IHRpbWVyCiAgICogQHBhcmFtIHtib29sZWFufSByZXNldAogICAqLwogIGNvbnN0IGFuaW1hdGVUaW1lclByb2dyZXNzQmFyID0gZnVuY3Rpb24gKHRpbWVyKSB7CiAgICBsZXQgcmVzZXQgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGZhbHNlOwogICAgY29uc3QgdGltZXJQcm9ncmVzc0JhciA9IGdldFRpbWVyUHJvZ3Jlc3NCYXIoKTsKICAgIGlmIChpc1Zpc2libGUkMSh0aW1lclByb2dyZXNzQmFyKSkgewogICAgICBpZiAocmVzZXQpIHsKICAgICAgICB0aW1lclByb2dyZXNzQmFyLnN0eWxlLnRyYW5zaXRpb24gPSAnbm9uZSc7CiAgICAgICAgdGltZXJQcm9ncmVzc0Jhci5zdHlsZS53aWR0aCA9ICcxMDAlJzsKICAgICAgfQogICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICB0aW1lclByb2dyZXNzQmFyLnN0eWxlLnRyYW5zaXRpb24gPSBgd2lkdGggJHt0aW1lciAvIDEwMDB9cyBsaW5lYXJgOwogICAgICAgIHRpbWVyUHJvZ3Jlc3NCYXIuc3R5bGUud2lkdGggPSAnMCUnOwogICAgICB9LCAxMCk7CiAgICB9CiAgfTsKICBjb25zdCBzdG9wVGltZXJQcm9ncmVzc0JhciA9ICgpID0+IHsKICAgIGNvbnN0IHRpbWVyUHJvZ3Jlc3NCYXIgPSBnZXRUaW1lclByb2dyZXNzQmFyKCk7CiAgICBjb25zdCB0aW1lclByb2dyZXNzQmFyV2lkdGggPSBwYXJzZUludCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aW1lclByb2dyZXNzQmFyKS53aWR0aCk7CiAgICB0aW1lclByb2dyZXNzQmFyLnN0eWxlLnJlbW92ZVByb3BlcnR5KCd0cmFuc2l0aW9uJyk7CiAgICB0aW1lclByb2dyZXNzQmFyLnN0eWxlLndpZHRoID0gJzEwMCUnOwogICAgY29uc3QgdGltZXJQcm9ncmVzc0JhckZ1bGxXaWR0aCA9IHBhcnNlSW50KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRpbWVyUHJvZ3Jlc3NCYXIpLndpZHRoKTsKICAgIGNvbnN0IHRpbWVyUHJvZ3Jlc3NCYXJQZXJjZW50ID0gdGltZXJQcm9ncmVzc0JhcldpZHRoIC8gdGltZXJQcm9ncmVzc0JhckZ1bGxXaWR0aCAqIDEwMDsKICAgIHRpbWVyUHJvZ3Jlc3NCYXIuc3R5bGUud2lkdGggPSBgJHt0aW1lclByb2dyZXNzQmFyUGVyY2VudH0lYDsKICB9OwoKICBjb25zdCBSRVNUT1JFX0ZPQ1VTX1RJTUVPVVQgPSAxMDA7CgogIC8qKiBAdHlwZSB7R2xvYmFsU3RhdGV9ICovCiAgY29uc3QgZ2xvYmFsU3RhdGUgPSB7fTsKICBjb25zdCBmb2N1c1ByZXZpb3VzQWN0aXZlRWxlbWVudCA9ICgpID0+IHsKICAgIGlmIChnbG9iYWxTdGF0ZS5wcmV2aW91c0FjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgewogICAgICBnbG9iYWxTdGF0ZS5wcmV2aW91c0FjdGl2ZUVsZW1lbnQuZm9jdXMoKTsKICAgICAgZ2xvYmFsU3RhdGUucHJldmlvdXNBY3RpdmVFbGVtZW50ID0gbnVsbDsKICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQuYm9keSkgewogICAgICBkb2N1bWVudC5ib2R5LmZvY3VzKCk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogUmVzdG9yZSBwcmV2aW91cyBhY3RpdmUgKGZvY3VzZWQpIGVsZW1lbnQKICAgKgogICAqIEBwYXJhbSB7Ym9vbGVhbn0gcmV0dXJuRm9jdXMKICAgKiBAcmV0dXJucyB7UHJvbWlzZX0KICAgKi8KICBjb25zdCByZXN0b3JlQWN0aXZlRWxlbWVudCA9IHJldHVybkZvY3VzID0+IHsKICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKICAgICAgaWYgKCFyZXR1cm5Gb2N1cykgewogICAgICAgIHJldHVybiByZXNvbHZlKCk7CiAgICAgIH0KICAgICAgY29uc3QgeCA9IHdpbmRvdy5zY3JvbGxYOwogICAgICBjb25zdCB5ID0gd2luZG93LnNjcm9sbFk7CiAgICAgIGdsb2JhbFN0YXRlLnJlc3RvcmVGb2N1c1RpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICBmb2N1c1ByZXZpb3VzQWN0aXZlRWxlbWVudCgpOwogICAgICAgIHJlc29sdmUoKTsKICAgICAgfSwgUkVTVE9SRV9GT0NVU19USU1FT1VUKTsgLy8gaXNzdWVzLzkwMAoKICAgICAgd2luZG93LnNjcm9sbFRvKHgsIHkpOwogICAgfSk7CiAgfTsKCiAgLyoqCiAgICogRGV0ZWN0IE5vZGUgZW52CiAgICoKICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0KICAgKi8KICBjb25zdCBpc05vZGVFbnYgPSAoKSA9PiB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyB8fCB0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnOwoKICBjb25zdCBzd2VldEhUTUwgPSBgCiA8ZGl2IGFyaWEtbGFiZWxsZWRieT0iJHtzd2FsQ2xhc3Nlcy50aXRsZX0iIGFyaWEtZGVzY3JpYmVkYnk9IiR7c3dhbENsYXNzZXNbJ2h0bWwtY29udGFpbmVyJ119IiBjbGFzcz0iJHtzd2FsQ2xhc3Nlcy5wb3B1cH0iIHRhYmluZGV4PSItMSI+CiAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJHtzd2FsQ2xhc3Nlcy5jbG9zZX0iPjwvYnV0dG9uPgogICA8dWwgY2xhc3M9IiR7c3dhbENsYXNzZXNbJ3Byb2dyZXNzLXN0ZXBzJ119Ij48L3VsPgogICA8ZGl2IGNsYXNzPSIke3N3YWxDbGFzc2VzLmljb259Ij48L2Rpdj4KICAgPGltZyBjbGFzcz0iJHtzd2FsQ2xhc3Nlcy5pbWFnZX0iIC8+CiAgIDxoMiBjbGFzcz0iJHtzd2FsQ2xhc3Nlcy50aXRsZX0iIGlkPSIke3N3YWxDbGFzc2VzLnRpdGxlfSI+PC9oMj4KICAgPGRpdiBjbGFzcz0iJHtzd2FsQ2xhc3Nlc1snaHRtbC1jb250YWluZXInXX0iIGlkPSIke3N3YWxDbGFzc2VzWydodG1sLWNvbnRhaW5lciddfSI+PC9kaXY+CiAgIDxpbnB1dCBjbGFzcz0iJHtzd2FsQ2xhc3Nlcy5pbnB1dH0iIC8+CiAgIDxpbnB1dCB0eXBlPSJmaWxlIiBjbGFzcz0iJHtzd2FsQ2xhc3Nlcy5maWxlfSIgLz4KICAgPGRpdiBjbGFzcz0iJHtzd2FsQ2xhc3Nlcy5yYW5nZX0iPgogICAgIDxpbnB1dCB0eXBlPSJyYW5nZSIgLz4KICAgICA8b3V0cHV0Pjwvb3V0cHV0PgogICA8L2Rpdj4KICAgPHNlbGVjdCBjbGFzcz0iJHtzd2FsQ2xhc3Nlcy5zZWxlY3R9Ij48L3NlbGVjdD4KICAgPGRpdiBjbGFzcz0iJHtzd2FsQ2xhc3Nlcy5yYWRpb30iPjwvZGl2PgogICA8bGFiZWwgZm9yPSIke3N3YWxDbGFzc2VzLmNoZWNrYm94fSIgY2xhc3M9IiR7c3dhbENsYXNzZXMuY2hlY2tib3h9Ij4KICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIC8+CiAgICAgPHNwYW4gY2xhc3M9IiR7c3dhbENsYXNzZXMubGFiZWx9Ij48L3NwYW4+CiAgIDwvbGFiZWw+CiAgIDx0ZXh0YXJlYSBjbGFzcz0iJHtzd2FsQ2xhc3Nlcy50ZXh0YXJlYX0iPjwvdGV4dGFyZWE+CiAgIDxkaXYgY2xhc3M9IiR7c3dhbENsYXNzZXNbJ3ZhbGlkYXRpb24tbWVzc2FnZSddfSIgaWQ9IiR7c3dhbENsYXNzZXNbJ3ZhbGlkYXRpb24tbWVzc2FnZSddfSI+PC9kaXY+CiAgIDxkaXYgY2xhc3M9IiR7c3dhbENsYXNzZXMuYWN0aW9uc30iPgogICAgIDxkaXYgY2xhc3M9IiR7c3dhbENsYXNzZXMubG9hZGVyfSI+PC9kaXY+CiAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSIke3N3YWxDbGFzc2VzLmNvbmZpcm19Ij48L2J1dHRvbj4KICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IiR7c3dhbENsYXNzZXMuZGVueX0iPjwvYnV0dG9uPgogICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJHtzd2FsQ2xhc3Nlcy5jYW5jZWx9Ij48L2J1dHRvbj4KICAgPC9kaXY+CiAgIDxkaXYgY2xhc3M9IiR7c3dhbENsYXNzZXMuZm9vdGVyfSI+PC9kaXY+CiAgIDxkaXYgY2xhc3M9IiR7c3dhbENsYXNzZXNbJ3RpbWVyLXByb2dyZXNzLWJhci1jb250YWluZXInXX0iPgogICAgIDxkaXYgY2xhc3M9IiR7c3dhbENsYXNzZXNbJ3RpbWVyLXByb2dyZXNzLWJhciddfSI+PC9kaXY+CiAgIDwvZGl2PgogPC9kaXY+CmAucmVwbGFjZSgvKF58XG4pXHMqL2csICcnKTsKCiAgLyoqCiAgICogQHJldHVybnMge2Jvb2xlYW59CiAgICovCiAgY29uc3QgcmVzZXRPbGRDb250YWluZXIgPSAoKSA9PiB7CiAgICBjb25zdCBvbGRDb250YWluZXIgPSBnZXRDb250YWluZXIoKTsKICAgIGlmICghb2xkQ29udGFpbmVyKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIG9sZENvbnRhaW5lci5yZW1vdmUoKTsKICAgIHJlbW92ZUNsYXNzKFtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIGRvY3VtZW50LmJvZHldLCBbc3dhbENsYXNzZXNbJ25vLWJhY2tkcm9wJ10sIHN3YWxDbGFzc2VzWyd0b2FzdC1zaG93biddLCBzd2FsQ2xhc3Nlc1snaGFzLWNvbHVtbiddXSk7CiAgICByZXR1cm4gdHJ1ZTsKICB9OwogIGNvbnN0IHJlc2V0VmFsaWRhdGlvbk1lc3NhZ2UkMSA9ICgpID0+IHsKICAgIGdsb2JhbFN0YXRlLmN1cnJlbnRJbnN0YW5jZS5yZXNldFZhbGlkYXRpb25NZXNzYWdlKCk7CiAgfTsKICBjb25zdCBhZGRJbnB1dENoYW5nZUxpc3RlbmVycyA9ICgpID0+IHsKICAgIGNvbnN0IHBvcHVwID0gZ2V0UG9wdXAoKTsKICAgIGNvbnN0IGlucHV0ID0gZ2V0RGlyZWN0Q2hpbGRCeUNsYXNzKHBvcHVwLCBzd2FsQ2xhc3Nlcy5pbnB1dCk7CiAgICBjb25zdCBmaWxlID0gZ2V0RGlyZWN0Q2hpbGRCeUNsYXNzKHBvcHVwLCBzd2FsQ2xhc3Nlcy5maWxlKTsKICAgIC8qKiBAdHlwZSB7SFRNTElucHV0RWxlbWVudH0gKi8KICAgIGNvbnN0IHJhbmdlID0gcG9wdXAucXVlcnlTZWxlY3RvcihgLiR7c3dhbENsYXNzZXMucmFuZ2V9IGlucHV0YCk7CiAgICAvKiogQHR5cGUge0hUTUxPdXRwdXRFbGVtZW50fSAqLwogICAgY29uc3QgcmFuZ2VPdXRwdXQgPSBwb3B1cC5xdWVyeVNlbGVjdG9yKGAuJHtzd2FsQ2xhc3Nlcy5yYW5nZX0gb3V0cHV0YCk7CiAgICBjb25zdCBzZWxlY3QgPSBnZXREaXJlY3RDaGlsZEJ5Q2xhc3MocG9wdXAsIHN3YWxDbGFzc2VzLnNlbGVjdCk7CiAgICAvKiogQHR5cGUge0hUTUxJbnB1dEVsZW1lbnR9ICovCiAgICBjb25zdCBjaGVja2JveCA9IHBvcHVwLnF1ZXJ5U2VsZWN0b3IoYC4ke3N3YWxDbGFzc2VzLmNoZWNrYm94fSBpbnB1dGApOwogICAgY29uc3QgdGV4dGFyZWEgPSBnZXREaXJlY3RDaGlsZEJ5Q2xhc3MocG9wdXAsIHN3YWxDbGFzc2VzLnRleHRhcmVhKTsKICAgIGlucHV0Lm9uaW5wdXQgPSByZXNldFZhbGlkYXRpb25NZXNzYWdlJDE7CiAgICBmaWxlLm9uY2hhbmdlID0gcmVzZXRWYWxpZGF0aW9uTWVzc2FnZSQxOwogICAgc2VsZWN0Lm9uY2hhbmdlID0gcmVzZXRWYWxpZGF0aW9uTWVzc2FnZSQxOwogICAgY2hlY2tib3gub25jaGFuZ2UgPSByZXNldFZhbGlkYXRpb25NZXNzYWdlJDE7CiAgICB0ZXh0YXJlYS5vbmlucHV0ID0gcmVzZXRWYWxpZGF0aW9uTWVzc2FnZSQxOwogICAgcmFuZ2Uub25pbnB1dCA9ICgpID0+IHsKICAgICAgcmVzZXRWYWxpZGF0aW9uTWVzc2FnZSQxKCk7CiAgICAgIHJhbmdlT3V0cHV0LnZhbHVlID0gcmFuZ2UudmFsdWU7CiAgICB9OwogICAgcmFuZ2Uub25jaGFuZ2UgPSAoKSA9PiB7CiAgICAgIHJlc2V0VmFsaWRhdGlvbk1lc3NhZ2UkMSgpOwogICAgICByYW5nZU91dHB1dC52YWx1ZSA9IHJhbmdlLnZhbHVlOwogICAgfTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge3N0cmluZyB8IEhUTUxFbGVtZW50fSB0YXJnZXQKICAgKiBAcmV0dXJucyB7SFRNTEVsZW1lbnR9CiAgICovCiAgY29uc3QgZ2V0VGFyZ2V0ID0gdGFyZ2V0ID0+IHR5cGVvZiB0YXJnZXQgPT09ICdzdHJpbmcnID8gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQpIDogdGFyZ2V0OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKi8KICBjb25zdCBzZXR1cEFjY2Vzc2liaWxpdHkgPSBwYXJhbXMgPT4gewogICAgY29uc3QgcG9wdXAgPSBnZXRQb3B1cCgpOwogICAgcG9wdXAuc2V0QXR0cmlidXRlKCdyb2xlJywgcGFyYW1zLnRvYXN0ID8gJ2FsZXJ0JyA6ICdkaWFsb2cnKTsKICAgIHBvcHVwLnNldEF0dHJpYnV0ZSgnYXJpYS1saXZlJywgcGFyYW1zLnRvYXN0ID8gJ3BvbGl0ZScgOiAnYXNzZXJ0aXZlJyk7CiAgICBpZiAoIXBhcmFtcy50b2FzdCkgewogICAgICBwb3B1cC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbW9kYWwnLCAndHJ1ZScpOwogICAgfQogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHRhcmdldEVsZW1lbnQKICAgKi8KICBjb25zdCBzZXR1cFJUTCA9IHRhcmdldEVsZW1lbnQgPT4gewogICAgaWYgKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhcmdldEVsZW1lbnQpLmRpcmVjdGlvbiA9PT0gJ3J0bCcpIHsKICAgICAgYWRkQ2xhc3MoZ2V0Q29udGFpbmVyKCksIHN3YWxDbGFzc2VzLnJ0bCk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQWRkIG1vZGFsICsgYmFja2Ryb3AgKyBuby13YXIgbWVzc2FnZSBmb3IgUnVzc2lhbnMgdG8gRE9NCiAgICoKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKi8KICBjb25zdCBpbml0ID0gcGFyYW1zID0+IHsKICAgIC8vIENsZWFuIHVwIHRoZSBvbGQgcG9wdXAgY29udGFpbmVyIGlmIGl0IGV4aXN0cwogICAgY29uc3Qgb2xkQ29udGFpbmVyRXhpc3RlZCA9IHJlc2V0T2xkQ29udGFpbmVyKCk7CgogICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovCiAgICBpZiAoaXNOb2RlRW52KCkpIHsKICAgICAgZXJyb3IoJ1N3ZWV0QWxlcnQyIHJlcXVpcmVzIGRvY3VtZW50IHRvIGluaXRpYWxpemUnKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBjb250YWluZXIuY2xhc3NOYW1lID0gc3dhbENsYXNzZXMuY29udGFpbmVyOwogICAgaWYgKG9sZENvbnRhaW5lckV4aXN0ZWQpIHsKICAgICAgYWRkQ2xhc3MoY29udGFpbmVyLCBzd2FsQ2xhc3Nlc1snbm8tdHJhbnNpdGlvbiddKTsKICAgIH0KICAgIHNldElubmVySHRtbChjb250YWluZXIsIHN3ZWV0SFRNTCk7CiAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gZ2V0VGFyZ2V0KHBhcmFtcy50YXJnZXQpOwogICAgdGFyZ2V0RWxlbWVudC5hcHBlbmRDaGlsZChjb250YWluZXIpOwogICAgc2V0dXBBY2Nlc3NpYmlsaXR5KHBhcmFtcyk7CiAgICBzZXR1cFJUTCh0YXJnZXRFbGVtZW50KTsKICAgIGFkZElucHV0Q2hhbmdlTGlzdGVuZXJzKCk7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MRWxlbWVudCB8IG9iamVjdCB8IHN0cmluZ30gcGFyYW0KICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSB0YXJnZXQKICAgKi8KICBjb25zdCBwYXJzZUh0bWxUb0NvbnRhaW5lciA9IChwYXJhbSwgdGFyZ2V0KSA9PiB7CiAgICAvLyBET00gZWxlbWVudAogICAgaWYgKHBhcmFtIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHsKICAgICAgdGFyZ2V0LmFwcGVuZENoaWxkKHBhcmFtKTsKICAgIH0KCiAgICAvLyBPYmplY3QKICAgIGVsc2UgaWYgKHR5cGVvZiBwYXJhbSA9PT0gJ29iamVjdCcpIHsKICAgICAgaGFuZGxlT2JqZWN0KHBhcmFtLCB0YXJnZXQpOwogICAgfQoKICAgIC8vIFBsYWluIHN0cmluZwogICAgZWxzZSBpZiAocGFyYW0pIHsKICAgICAgc2V0SW5uZXJIdG1sKHRhcmdldCwgcGFyYW0pOwogICAgfQogIH07CgogIC8qKgogICAqIEBwYXJhbSB7b2JqZWN0fSBwYXJhbQogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHRhcmdldAogICAqLwogIGNvbnN0IGhhbmRsZU9iamVjdCA9IChwYXJhbSwgdGFyZ2V0KSA9PiB7CiAgICAvLyBKUXVlcnkgZWxlbWVudChzKQogICAgaWYgKHBhcmFtLmpxdWVyeSkgewogICAgICBoYW5kbGVKcXVlcnlFbGVtKHRhcmdldCwgcGFyYW0pOwogICAgfQoKICAgIC8vIEZvciBvdGhlciBvYmplY3RzIHVzZSB0aGVpciBzdHJpbmcgcmVwcmVzZW50YXRpb24KICAgIGVsc2UgewogICAgICBzZXRJbm5lckh0bWwodGFyZ2V0LCBwYXJhbS50b1N0cmluZygpKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSB0YXJnZXQKICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbGVtCiAgICovCiAgY29uc3QgaGFuZGxlSnF1ZXJ5RWxlbSA9ICh0YXJnZXQsIGVsZW0pID0+IHsKICAgIHRhcmdldC50ZXh0Q29udGVudCA9ICcnOwogICAgaWYgKDAgaW4gZWxlbSkgewogICAgICBmb3IgKGxldCBpID0gMDsgKGkgaW4gZWxlbSk7IGkrKykgewogICAgICAgIHRhcmdldC5hcHBlbmRDaGlsZChlbGVtW2ldLmNsb25lTm9kZSh0cnVlKSk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIHRhcmdldC5hcHBlbmRDaGlsZChlbGVtLmNsb25lTm9kZSh0cnVlKSk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQHJldHVybnMgeyd3ZWJraXRBbmltYXRpb25FbmQnIHwgJ2FuaW1hdGlvbmVuZCcgfCBmYWxzZX0KICAgKi8KICBjb25zdCBhbmltYXRpb25FbmRFdmVudCA9ICgoKSA9PiB7CiAgICAvLyBQcmV2ZW50IHJ1biBpbiBOb2RlIGVudgogICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovCiAgICBpZiAoaXNOb2RlRW52KCkpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgY29uc3QgdGVzdEVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBjb25zdCB0cmFuc0VuZEV2ZW50TmFtZXMgPSB7CiAgICAgIFdlYmtpdEFuaW1hdGlvbjogJ3dlYmtpdEFuaW1hdGlvbkVuZCcsCiAgICAgIC8vIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYQogICAgICBhbmltYXRpb246ICdhbmltYXRpb25lbmQnIC8vIFN0YW5kYXJkIHN5bnRheAogICAgfTsKCiAgICBmb3IgKGNvbnN0IGkgaW4gdHJhbnNFbmRFdmVudE5hbWVzKSB7CiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodHJhbnNFbmRFdmVudE5hbWVzLCBpKSAmJiB0eXBlb2YgdGVzdEVsLnN0eWxlW2ldICE9PSAndW5kZWZpbmVkJykgewogICAgICAgIHJldHVybiB0cmFuc0VuZEV2ZW50TmFtZXNbaV07CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKICB9KSgpOwoKICAvKioKICAgKiBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGUKICAgKiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvanMvc3JjL21vZGFsLmpzCiAgICoKICAgKiBAcmV0dXJucyB7bnVtYmVyfQogICAqLwogIGNvbnN0IG1lYXN1cmVTY3JvbGxiYXIgPSAoKSA9PiB7CiAgICBjb25zdCBzY3JvbGxEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIHNjcm9sbERpdi5jbGFzc05hbWUgPSBzd2FsQ2xhc3Nlc1snc2Nyb2xsYmFyLW1lYXN1cmUnXTsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2Nyb2xsRGl2KTsKICAgIGNvbnN0IHNjcm9sbGJhcldpZHRoID0gc2Nyb2xsRGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC0gc2Nyb2xsRGl2LmNsaWVudFdpZHRoOwogICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY3JvbGxEaXYpOwogICAgcmV0dXJuIHNjcm9sbGJhcldpZHRoOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7U3dlZXRBbGVydDJ9IGluc3RhbmNlCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICovCiAgY29uc3QgcmVuZGVyQWN0aW9ucyA9IChpbnN0YW5jZSwgcGFyYW1zKSA9PiB7CiAgICBjb25zdCBhY3Rpb25zID0gZ2V0QWN0aW9ucygpOwogICAgY29uc3QgbG9hZGVyID0gZ2V0TG9hZGVyKCk7CgogICAgLy8gQWN0aW9ucyAoYnV0dG9ucykgd3JhcHBlcgogICAgaWYgKCFwYXJhbXMuc2hvd0NvbmZpcm1CdXR0b24gJiYgIXBhcmFtcy5zaG93RGVueUJ1dHRvbiAmJiAhcGFyYW1zLnNob3dDYW5jZWxCdXR0b24pIHsKICAgICAgaGlkZShhY3Rpb25zKTsKICAgIH0gZWxzZSB7CiAgICAgIHNob3coYWN0aW9ucyk7CiAgICB9CgogICAgLy8gQ3VzdG9tIGNsYXNzCiAgICBhcHBseUN1c3RvbUNsYXNzKGFjdGlvbnMsIHBhcmFtcywgJ2FjdGlvbnMnKTsKCiAgICAvLyBSZW5kZXIgYWxsIHRoZSBidXR0b25zCiAgICByZW5kZXJCdXR0b25zKGFjdGlvbnMsIGxvYWRlciwgcGFyYW1zKTsKCiAgICAvLyBMb2FkZXIKICAgIHNldElubmVySHRtbChsb2FkZXIsIHBhcmFtcy5sb2FkZXJIdG1sKTsKICAgIGFwcGx5Q3VzdG9tQ2xhc3MobG9hZGVyLCBwYXJhbXMsICdsb2FkZXInKTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBhY3Rpb25zCiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gbG9hZGVyCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICovCiAgZnVuY3Rpb24gcmVuZGVyQnV0dG9ucyhhY3Rpb25zLCBsb2FkZXIsIHBhcmFtcykgewogICAgY29uc3QgY29uZmlybUJ1dHRvbiA9IGdldENvbmZpcm1CdXR0b24oKTsKICAgIGNvbnN0IGRlbnlCdXR0b24gPSBnZXREZW55QnV0dG9uKCk7CiAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBnZXRDYW5jZWxCdXR0b24oKTsKCiAgICAvLyBSZW5kZXIgYnV0dG9ucwogICAgcmVuZGVyQnV0dG9uKGNvbmZpcm1CdXR0b24sICdjb25maXJtJywgcGFyYW1zKTsKICAgIHJlbmRlckJ1dHRvbihkZW55QnV0dG9uLCAnZGVueScsIHBhcmFtcyk7CiAgICByZW5kZXJCdXR0b24oY2FuY2VsQnV0dG9uLCAnY2FuY2VsJywgcGFyYW1zKTsKICAgIGhhbmRsZUJ1dHRvbnNTdHlsaW5nKGNvbmZpcm1CdXR0b24sIGRlbnlCdXR0b24sIGNhbmNlbEJ1dHRvbiwgcGFyYW1zKTsKICAgIGlmIChwYXJhbXMucmV2ZXJzZUJ1dHRvbnMpIHsKICAgICAgaWYgKHBhcmFtcy50b2FzdCkgewogICAgICAgIGFjdGlvbnMuaW5zZXJ0QmVmb3JlKGNhbmNlbEJ1dHRvbiwgY29uZmlybUJ1dHRvbik7CiAgICAgICAgYWN0aW9ucy5pbnNlcnRCZWZvcmUoZGVueUJ1dHRvbiwgY29uZmlybUJ1dHRvbik7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgYWN0aW9ucy5pbnNlcnRCZWZvcmUoY2FuY2VsQnV0dG9uLCBsb2FkZXIpOwogICAgICAgIGFjdGlvbnMuaW5zZXJ0QmVmb3JlKGRlbnlCdXR0b24sIGxvYWRlcik7CiAgICAgICAgYWN0aW9ucy5pbnNlcnRCZWZvcmUoY29uZmlybUJ1dHRvbiwgbG9hZGVyKTsKICAgICAgfQogICAgfQogIH0KCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gY29uZmlybUJ1dHRvbgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGRlbnlCdXR0b24KICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBjYW5jZWxCdXR0b24KICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKi8KICBmdW5jdGlvbiBoYW5kbGVCdXR0b25zU3R5bGluZyhjb25maXJtQnV0dG9uLCBkZW55QnV0dG9uLCBjYW5jZWxCdXR0b24sIHBhcmFtcykgewogICAgaWYgKCFwYXJhbXMuYnV0dG9uc1N0eWxpbmcpIHsKICAgICAgcmVtb3ZlQ2xhc3MoW2NvbmZpcm1CdXR0b24sIGRlbnlCdXR0b24sIGNhbmNlbEJ1dHRvbl0sIHN3YWxDbGFzc2VzLnN0eWxlZCk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGFkZENsYXNzKFtjb25maXJtQnV0dG9uLCBkZW55QnV0dG9uLCBjYW5jZWxCdXR0b25dLCBzd2FsQ2xhc3Nlcy5zdHlsZWQpOwoKICAgIC8vIEJ1dHRvbnMgYmFja2dyb3VuZCBjb2xvcnMKICAgIGlmIChwYXJhbXMuY29uZmlybUJ1dHRvbkNvbG9yKSB7CiAgICAgIGNvbmZpcm1CdXR0b24uc3R5bGUuYmFja2dyb3VuZENvbG9yID0gcGFyYW1zLmNvbmZpcm1CdXR0b25Db2xvcjsKICAgICAgYWRkQ2xhc3MoY29uZmlybUJ1dHRvbiwgc3dhbENsYXNzZXNbJ2RlZmF1bHQtb3V0bGluZSddKTsKICAgIH0KICAgIGlmIChwYXJhbXMuZGVueUJ1dHRvbkNvbG9yKSB7CiAgICAgIGRlbnlCdXR0b24uc3R5bGUuYmFja2dyb3VuZENvbG9yID0gcGFyYW1zLmRlbnlCdXR0b25Db2xvcjsKICAgICAgYWRkQ2xhc3MoZGVueUJ1dHRvbiwgc3dhbENsYXNzZXNbJ2RlZmF1bHQtb3V0bGluZSddKTsKICAgIH0KICAgIGlmIChwYXJhbXMuY2FuY2VsQnV0dG9uQ29sb3IpIHsKICAgICAgY2FuY2VsQnV0dG9uLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHBhcmFtcy5jYW5jZWxCdXR0b25Db2xvcjsKICAgICAgYWRkQ2xhc3MoY2FuY2VsQnV0dG9uLCBzd2FsQ2xhc3Nlc1snZGVmYXVsdC1vdXRsaW5lJ10pOwogICAgfQogIH0KCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gYnV0dG9uCiAgICogQHBhcmFtIHsnY29uZmlybScgfCAnZGVueScgfCAnY2FuY2VsJ30gYnV0dG9uVHlwZQogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IHBhcmFtcwogICAqLwogIGZ1bmN0aW9uIHJlbmRlckJ1dHRvbihidXR0b24sIGJ1dHRvblR5cGUsIHBhcmFtcykgewogICAgdG9nZ2xlKGJ1dHRvbiwgcGFyYW1zW2BzaG93JHtjYXBpdGFsaXplRmlyc3RMZXR0ZXIoYnV0dG9uVHlwZSl9QnV0dG9uYF0sICdpbmxpbmUtYmxvY2snKTsKICAgIHNldElubmVySHRtbChidXR0b24sIHBhcmFtc1tgJHtidXR0b25UeXBlfUJ1dHRvblRleHRgXSk7IC8vIFNldCBjYXB0aW9uIHRleHQKICAgIGJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCBwYXJhbXNbYCR7YnV0dG9uVHlwZX1CdXR0b25BcmlhTGFiZWxgXSk7IC8vIEFSSUEgbGFiZWwKCiAgICAvLyBBZGQgYnV0dG9ucyBjdXN0b20gY2xhc3NlcwogICAgYnV0dG9uLmNsYXNzTmFtZSA9IHN3YWxDbGFzc2VzW2J1dHRvblR5cGVdOwogICAgYXBwbHlDdXN0b21DbGFzcyhidXR0b24sIHBhcmFtcywgYCR7YnV0dG9uVHlwZX1CdXR0b25gKTsKICAgIGFkZENsYXNzKGJ1dHRvbiwgcGFyYW1zW2Ake2J1dHRvblR5cGV9QnV0dG9uQ2xhc3NgXSk7CiAgfQoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IHBhcmFtcwogICAqLwogIGNvbnN0IHJlbmRlckNsb3NlQnV0dG9uID0gKGluc3RhbmNlLCBwYXJhbXMpID0+IHsKICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gZ2V0Q2xvc2VCdXR0b24oKTsKICAgIHNldElubmVySHRtbChjbG9zZUJ1dHRvbiwgcGFyYW1zLmNsb3NlQnV0dG9uSHRtbCk7CgogICAgLy8gQ3VzdG9tIGNsYXNzCiAgICBhcHBseUN1c3RvbUNsYXNzKGNsb3NlQnV0dG9uLCBwYXJhbXMsICdjbG9zZUJ1dHRvbicpOwogICAgdG9nZ2xlKGNsb3NlQnV0dG9uLCBwYXJhbXMuc2hvd0Nsb3NlQnV0dG9uKTsKICAgIGNsb3NlQnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIHBhcmFtcy5jbG9zZUJ1dHRvbkFyaWFMYWJlbCk7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0Mn0gaW5zdGFuY2UKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKi8KICBjb25zdCByZW5kZXJDb250YWluZXIgPSAoaW5zdGFuY2UsIHBhcmFtcykgPT4gewogICAgY29uc3QgY29udGFpbmVyID0gZ2V0Q29udGFpbmVyKCk7CiAgICBpZiAoIWNvbnRhaW5lcikgewogICAgICByZXR1cm47CiAgICB9CiAgICBoYW5kbGVCYWNrZHJvcFBhcmFtKGNvbnRhaW5lciwgcGFyYW1zLmJhY2tkcm9wKTsKICAgIGhhbmRsZVBvc2l0aW9uUGFyYW0oY29udGFpbmVyLCBwYXJhbXMucG9zaXRpb24pOwogICAgaGFuZGxlR3Jvd1BhcmFtKGNvbnRhaW5lciwgcGFyYW1zLmdyb3cpOwoKICAgIC8vIEN1c3RvbSBjbGFzcwogICAgYXBwbHlDdXN0b21DbGFzcyhjb250YWluZXIsIHBhcmFtcywgJ2NvbnRhaW5lcicpOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGNvbnRhaW5lcgogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnNbJ2JhY2tkcm9wJ119IGJhY2tkcm9wCiAgICovCiAgZnVuY3Rpb24gaGFuZGxlQmFja2Ryb3BQYXJhbShjb250YWluZXIsIGJhY2tkcm9wKSB7CiAgICBpZiAodHlwZW9mIGJhY2tkcm9wID09PSAnc3RyaW5nJykgewogICAgICBjb250YWluZXIuc3R5bGUuYmFja2dyb3VuZCA9IGJhY2tkcm9wOwogICAgfSBlbHNlIGlmICghYmFja2Ryb3ApIHsKICAgICAgYWRkQ2xhc3MoW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgZG9jdW1lbnQuYm9keV0sIHN3YWxDbGFzc2VzWyduby1iYWNrZHJvcCddKTsKICAgIH0KICB9CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGNvbnRhaW5lcgogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnNbJ3Bvc2l0aW9uJ119IHBvc2l0aW9uCiAgICovCiAgZnVuY3Rpb24gaGFuZGxlUG9zaXRpb25QYXJhbShjb250YWluZXIsIHBvc2l0aW9uKSB7CiAgICBpZiAocG9zaXRpb24gaW4gc3dhbENsYXNzZXMpIHsKICAgICAgYWRkQ2xhc3MoY29udGFpbmVyLCBzd2FsQ2xhc3Nlc1twb3NpdGlvbl0pOwogICAgfSBlbHNlIHsKICAgICAgd2FybignVGhlICJwb3NpdGlvbiIgcGFyYW1ldGVyIGlzIG5vdCB2YWxpZCwgZGVmYXVsdGluZyB0byAiY2VudGVyIicpOwogICAgICBhZGRDbGFzcyhjb250YWluZXIsIHN3YWxDbGFzc2VzLmNlbnRlcik7CiAgICB9CiAgfQoKICAvKioKICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBjb250YWluZXIKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zWydncm93J119IGdyb3cKICAgKi8KICBmdW5jdGlvbiBoYW5kbGVHcm93UGFyYW0oY29udGFpbmVyLCBncm93KSB7CiAgICBpZiAoZ3JvdyAmJiB0eXBlb2YgZ3JvdyA9PT0gJ3N0cmluZycpIHsKICAgICAgY29uc3QgZ3Jvd0NsYXNzID0gYGdyb3ctJHtncm93fWA7CiAgICAgIGlmIChncm93Q2xhc3MgaW4gc3dhbENsYXNzZXMpIHsKICAgICAgICBhZGRDbGFzcyhjb250YWluZXIsIHN3YWxDbGFzc2VzW2dyb3dDbGFzc10pOwogICAgICB9CiAgICB9CiAgfQoKICAvLy8gPHJlZmVyZW5jZSBwYXRoPSIuLi8uLi8uLi8uLi9zd2VldGFsZXJ0Mi5kLnRzIi8+CgogIC8qKiBAdHlwZSB7SW5wdXRDbGFzc1tdfSAqLwogIGNvbnN0IGlucHV0Q2xhc3NlcyA9IFsnaW5wdXQnLCAnZmlsZScsICdyYW5nZScsICdzZWxlY3QnLCAncmFkaW8nLCAnY2hlY2tib3gnLCAndGV4dGFyZWEnXTsKCiAgLyoqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0Mn0gaW5zdGFuY2UKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKi8KICBjb25zdCByZW5kZXJJbnB1dCA9IChpbnN0YW5jZSwgcGFyYW1zKSA9PiB7CiAgICBjb25zdCBwb3B1cCA9IGdldFBvcHVwKCk7CiAgICBjb25zdCBpbm5lclBhcmFtcyA9IHByaXZhdGVQcm9wcy5pbm5lclBhcmFtcy5nZXQoaW5zdGFuY2UpOwogICAgY29uc3QgcmVyZW5kZXIgPSAhaW5uZXJQYXJhbXMgfHwgcGFyYW1zLmlucHV0ICE9PSBpbm5lclBhcmFtcy5pbnB1dDsKICAgIGlucHV0Q2xhc3Nlcy5mb3JFYWNoKGlucHV0Q2xhc3MgPT4gewogICAgICBjb25zdCBpbnB1dENvbnRhaW5lciA9IGdldERpcmVjdENoaWxkQnlDbGFzcyhwb3B1cCwgc3dhbENsYXNzZXNbaW5wdXRDbGFzc10pOwoKICAgICAgLy8gc2V0IGF0dHJpYnV0ZXMKICAgICAgc2V0QXR0cmlidXRlcyhpbnB1dENsYXNzLCBwYXJhbXMuaW5wdXRBdHRyaWJ1dGVzKTsKCiAgICAgIC8vIHNldCBjbGFzcwogICAgICBpbnB1dENvbnRhaW5lci5jbGFzc05hbWUgPSBzd2FsQ2xhc3Nlc1tpbnB1dENsYXNzXTsKICAgICAgaWYgKHJlcmVuZGVyKSB7CiAgICAgICAgaGlkZShpbnB1dENvbnRhaW5lcik7CiAgICAgIH0KICAgIH0pOwogICAgaWYgKHBhcmFtcy5pbnB1dCkgewogICAgICBpZiAocmVyZW5kZXIpIHsKICAgICAgICBzaG93SW5wdXQocGFyYW1zKTsKICAgICAgfQogICAgICAvLyBzZXQgY3VzdG9tIGNsYXNzCiAgICAgIHNldEN1c3RvbUNsYXNzKHBhcmFtcyk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICovCiAgY29uc3Qgc2hvd0lucHV0ID0gcGFyYW1zID0+IHsKICAgIGlmICghcmVuZGVySW5wdXRUeXBlW3BhcmFtcy5pbnB1dF0pIHsKICAgICAgZXJyb3IoYFVuZXhwZWN0ZWQgdHlwZSBvZiBpbnB1dCEgRXhwZWN0ZWQgInRleHQiLCAiZW1haWwiLCAicGFzc3dvcmQiLCAibnVtYmVyIiwgInRlbCIsICJzZWxlY3QiLCAicmFkaW8iLCAiY2hlY2tib3giLCAidGV4dGFyZWEiLCAiZmlsZSIgb3IgInVybCIsIGdvdCAiJHtwYXJhbXMuaW5wdXR9ImApOwogICAgICByZXR1cm47CiAgICB9CiAgICBjb25zdCBpbnB1dENvbnRhaW5lciA9IGdldElucHV0Q29udGFpbmVyKHBhcmFtcy5pbnB1dCk7CiAgICBjb25zdCBpbnB1dCA9IHJlbmRlcklucHV0VHlwZVtwYXJhbXMuaW5wdXRdKGlucHV0Q29udGFpbmVyLCBwYXJhbXMpOwogICAgc2hvdyhpbnB1dENvbnRhaW5lcik7CgogICAgLy8gaW5wdXQgYXV0b2ZvY3VzCiAgICBpZiAocGFyYW1zLmlucHV0QXV0b0ZvY3VzKSB7CiAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgIGZvY3VzSW5wdXQoaW5wdXQpOwogICAgICB9KTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGlucHV0CiAgICovCiAgY29uc3QgcmVtb3ZlQXR0cmlidXRlcyA9IGlucHV0ID0+IHsKICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQuYXR0cmlidXRlcy5sZW5ndGg7IGkrKykgewogICAgICBjb25zdCBhdHRyTmFtZSA9IGlucHV0LmF0dHJpYnV0ZXNbaV0ubmFtZTsKICAgICAgaWYgKCFbJ3R5cGUnLCAndmFsdWUnLCAnc3R5bGUnXS5pbmNsdWRlcyhhdHRyTmFtZSkpIHsKICAgICAgICBpbnB1dC5yZW1vdmVBdHRyaWJ1dGUoYXR0ck5hbWUpOwogICAgICB9CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtJbnB1dENsYXNzfSBpbnB1dENsYXNzCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc1snaW5wdXRBdHRyaWJ1dGVzJ119IGlucHV0QXR0cmlidXRlcwogICAqLwogIGNvbnN0IHNldEF0dHJpYnV0ZXMgPSAoaW5wdXRDbGFzcywgaW5wdXRBdHRyaWJ1dGVzKSA9PiB7CiAgICBjb25zdCBpbnB1dCA9IGdldElucHV0JDEoZ2V0UG9wdXAoKSwgaW5wdXRDbGFzcyk7CiAgICBpZiAoIWlucHV0KSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHJlbW92ZUF0dHJpYnV0ZXMoaW5wdXQpOwogICAgZm9yIChjb25zdCBhdHRyIGluIGlucHV0QXR0cmlidXRlcykgewogICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoYXR0ciwgaW5wdXRBdHRyaWJ1dGVzW2F0dHJdKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKi8KICBjb25zdCBzZXRDdXN0b21DbGFzcyA9IHBhcmFtcyA9PiB7CiAgICBjb25zdCBpbnB1dENvbnRhaW5lciA9IGdldElucHV0Q29udGFpbmVyKHBhcmFtcy5pbnB1dCk7CiAgICBpZiAodHlwZW9mIHBhcmFtcy5jdXN0b21DbGFzcyA9PT0gJ29iamVjdCcpIHsKICAgICAgYWRkQ2xhc3MoaW5wdXRDb250YWluZXIsIHBhcmFtcy5jdXN0b21DbGFzcy5pbnB1dCk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudH0gaW5wdXQKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKi8KICBjb25zdCBzZXRJbnB1dFBsYWNlaG9sZGVyID0gKGlucHV0LCBwYXJhbXMpID0+IHsKICAgIGlmICghaW5wdXQucGxhY2Vob2xkZXIgfHwgcGFyYW1zLmlucHV0UGxhY2Vob2xkZXIpIHsKICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSBwYXJhbXMuaW5wdXRQbGFjZWhvbGRlcjsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0lucHV0fSBpbnB1dAogICAqIEBwYXJhbSB7SW5wdXR9IHByZXBlbmRUbwogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IHBhcmFtcwogICAqLwogIGNvbnN0IHNldElucHV0TGFiZWwgPSAoaW5wdXQsIHByZXBlbmRUbywgcGFyYW1zKSA9PiB7CiAgICBpZiAocGFyYW1zLmlucHV0TGFiZWwpIHsKICAgICAgaW5wdXQuaWQgPSBzd2FsQ2xhc3Nlcy5pbnB1dDsKICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsYWJlbCcpOwogICAgICBjb25zdCBsYWJlbENsYXNzID0gc3dhbENsYXNzZXNbJ2lucHV0LWxhYmVsJ107CiAgICAgIGxhYmVsLnNldEF0dHJpYnV0ZSgnZm9yJywgaW5wdXQuaWQpOwogICAgICBsYWJlbC5jbGFzc05hbWUgPSBsYWJlbENsYXNzOwogICAgICBpZiAodHlwZW9mIHBhcmFtcy5jdXN0b21DbGFzcyA9PT0gJ29iamVjdCcpIHsKICAgICAgICBhZGRDbGFzcyhsYWJlbCwgcGFyYW1zLmN1c3RvbUNsYXNzLmlucHV0TGFiZWwpOwogICAgICB9CiAgICAgIGxhYmVsLmlubmVyVGV4dCA9IHBhcmFtcy5pbnB1dExhYmVsOwogICAgICBwcmVwZW5kVG8uaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdiZWZvcmViZWdpbicsIGxhYmVsKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zWydpbnB1dCddfSBpbnB1dFR5cGUKICAgKiBAcmV0dXJucyB7SFRNTEVsZW1lbnR9CiAgICovCiAgY29uc3QgZ2V0SW5wdXRDb250YWluZXIgPSBpbnB1dFR5cGUgPT4gewogICAgcmV0dXJuIGdldERpcmVjdENoaWxkQnlDbGFzcyhnZXRQb3B1cCgpLCBzd2FsQ2xhc3Nlc1tpbnB1dFR5cGVdIHx8IHN3YWxDbGFzc2VzLmlucHV0KTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnQgfCBIVE1MT3V0cHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnR9IGlucHV0CiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc1snaW5wdXRWYWx1ZSddfSBpbnB1dFZhbHVlCiAgICovCiAgY29uc3QgY2hlY2tBbmRTZXRJbnB1dFZhbHVlID0gKGlucHV0LCBpbnB1dFZhbHVlKSA9PiB7CiAgICBpZiAoWydzdHJpbmcnLCAnbnVtYmVyJ10uaW5jbHVkZXModHlwZW9mIGlucHV0VmFsdWUpKSB7CiAgICAgIGlucHV0LnZhbHVlID0gYCR7aW5wdXRWYWx1ZX1gOwogICAgfSBlbHNlIGlmICghaXNQcm9taXNlKGlucHV0VmFsdWUpKSB7CiAgICAgIHdhcm4oYFVuZXhwZWN0ZWQgdHlwZSBvZiBpbnB1dFZhbHVlISBFeHBlY3RlZCAic3RyaW5nIiwgIm51bWJlciIgb3IgIlByb21pc2UiLCBnb3QgIiR7dHlwZW9mIGlucHV0VmFsdWV9ImApOwogICAgfQogIH07CgogIC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgKGlucHV0OiBJbnB1dCB8IEhUTUxFbGVtZW50LCBwYXJhbXM6IFN3ZWV0QWxlcnRPcHRpb25zKSA9PiBJbnB1dD59ICovCiAgY29uc3QgcmVuZGVySW5wdXRUeXBlID0ge307CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gaW5wdXQKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKiBAcmV0dXJucyB7SFRNTElucHV0RWxlbWVudH0KICAgKi8KICByZW5kZXJJbnB1dFR5cGUudGV4dCA9IHJlbmRlcklucHV0VHlwZS5lbWFpbCA9IHJlbmRlcklucHV0VHlwZS5wYXNzd29yZCA9IHJlbmRlcklucHV0VHlwZS5udW1iZXIgPSByZW5kZXJJbnB1dFR5cGUudGVsID0gcmVuZGVySW5wdXRUeXBlLnVybCA9IChpbnB1dCwgcGFyYW1zKSA9PiB7CiAgICBjaGVja0FuZFNldElucHV0VmFsdWUoaW5wdXQsIHBhcmFtcy5pbnB1dFZhbHVlKTsKICAgIHNldElucHV0TGFiZWwoaW5wdXQsIGlucHV0LCBwYXJhbXMpOwogICAgc2V0SW5wdXRQbGFjZWhvbGRlcihpbnB1dCwgcGFyYW1zKTsKICAgIGlucHV0LnR5cGUgPSBwYXJhbXMuaW5wdXQ7CiAgICByZXR1cm4gaW5wdXQ7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBpbnB1dAogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IHBhcmFtcwogICAqIEByZXR1cm5zIHtIVE1MSW5wdXRFbGVtZW50fQogICAqLwogIHJlbmRlcklucHV0VHlwZS5maWxlID0gKGlucHV0LCBwYXJhbXMpID0+IHsKICAgIHNldElucHV0TGFiZWwoaW5wdXQsIGlucHV0LCBwYXJhbXMpOwogICAgc2V0SW5wdXRQbGFjZWhvbGRlcihpbnB1dCwgcGFyYW1zKTsKICAgIHJldHVybiBpbnB1dDsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IHJhbmdlCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICogQHJldHVybnMge0hUTUxJbnB1dEVsZW1lbnR9CiAgICovCiAgcmVuZGVySW5wdXRUeXBlLnJhbmdlID0gKHJhbmdlLCBwYXJhbXMpID0+IHsKICAgIGNvbnN0IHJhbmdlSW5wdXQgPSByYW5nZS5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpOwogICAgY29uc3QgcmFuZ2VPdXRwdXQgPSByYW5nZS5xdWVyeVNlbGVjdG9yKCdvdXRwdXQnKTsKICAgIGNoZWNrQW5kU2V0SW5wdXRWYWx1ZShyYW5nZUlucHV0LCBwYXJhbXMuaW5wdXRWYWx1ZSk7CiAgICByYW5nZUlucHV0LnR5cGUgPSBwYXJhbXMuaW5wdXQ7CiAgICBjaGVja0FuZFNldElucHV0VmFsdWUocmFuZ2VPdXRwdXQsIHBhcmFtcy5pbnB1dFZhbHVlKTsKICAgIHNldElucHV0TGFiZWwocmFuZ2VJbnB1dCwgcmFuZ2UsIHBhcmFtcyk7CiAgICByZXR1cm4gcmFuZ2U7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MU2VsZWN0RWxlbWVudH0gc2VsZWN0CiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICogQHJldHVybnMge0hUTUxTZWxlY3RFbGVtZW50fQogICAqLwogIHJlbmRlcklucHV0VHlwZS5zZWxlY3QgPSAoc2VsZWN0LCBwYXJhbXMpID0+IHsKICAgIHNlbGVjdC50ZXh0Q29udGVudCA9ICcnOwogICAgaWYgKHBhcmFtcy5pbnB1dFBsYWNlaG9sZGVyKSB7CiAgICAgIGNvbnN0IHBsYWNlaG9sZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7CiAgICAgIHNldElubmVySHRtbChwbGFjZWhvbGRlciwgcGFyYW1zLmlucHV0UGxhY2Vob2xkZXIpOwogICAgICBwbGFjZWhvbGRlci52YWx1ZSA9ICcnOwogICAgICBwbGFjZWhvbGRlci5kaXNhYmxlZCA9IHRydWU7CiAgICAgIHBsYWNlaG9sZGVyLnNlbGVjdGVkID0gdHJ1ZTsKICAgICAgc2VsZWN0LmFwcGVuZENoaWxkKHBsYWNlaG9sZGVyKTsKICAgIH0KICAgIHNldElucHV0TGFiZWwoc2VsZWN0LCBzZWxlY3QsIHBhcmFtcyk7CiAgICByZXR1cm4gc2VsZWN0OwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudH0gcmFkaW8KICAgKiBAcmV0dXJucyB7SFRNTElucHV0RWxlbWVudH0KICAgKi8KICByZW5kZXJJbnB1dFR5cGUucmFkaW8gPSByYWRpbyA9PiB7CiAgICByYWRpby50ZXh0Q29udGVudCA9ICcnOwogICAgcmV0dXJuIHJhZGlvOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTExhYmVsRWxlbWVudH0gY2hlY2tib3hDb250YWluZXIKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKiBAcmV0dXJucyB7SFRNTElucHV0RWxlbWVudH0KICAgKi8KICByZW5kZXJJbnB1dFR5cGUuY2hlY2tib3ggPSAoY2hlY2tib3hDb250YWluZXIsIHBhcmFtcykgPT4gewogICAgY29uc3QgY2hlY2tib3ggPSBnZXRJbnB1dCQxKGdldFBvcHVwKCksICdjaGVja2JveCcpOwogICAgY2hlY2tib3gudmFsdWUgPSAnMSc7CiAgICBjaGVja2JveC5pZCA9IHN3YWxDbGFzc2VzLmNoZWNrYm94OwogICAgY2hlY2tib3guY2hlY2tlZCA9IEJvb2xlYW4ocGFyYW1zLmlucHV0VmFsdWUpOwogICAgY29uc3QgbGFiZWwgPSBjaGVja2JveENvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7CiAgICBzZXRJbm5lckh0bWwobGFiZWwsIHBhcmFtcy5pbnB1dFBsYWNlaG9sZGVyKTsKICAgIHJldHVybiBjaGVja2JveDsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0hUTUxUZXh0QXJlYUVsZW1lbnR9IHRleHRhcmVhCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICogQHJldHVybnMge0hUTUxUZXh0QXJlYUVsZW1lbnR9CiAgICovCiAgcmVuZGVySW5wdXRUeXBlLnRleHRhcmVhID0gKHRleHRhcmVhLCBwYXJhbXMpID0+IHsKICAgIGNoZWNrQW5kU2V0SW5wdXRWYWx1ZSh0ZXh0YXJlYSwgcGFyYW1zLmlucHV0VmFsdWUpOwogICAgc2V0SW5wdXRQbGFjZWhvbGRlcih0ZXh0YXJlYSwgcGFyYW1zKTsKICAgIHNldElucHV0TGFiZWwodGV4dGFyZWEsIHRleHRhcmVhLCBwYXJhbXMpOwoKICAgIC8qKgogICAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWwKICAgICAqIEByZXR1cm5zIHtudW1iZXJ9CiAgICAgKi8KICAgIGNvbnN0IGdldE1hcmdpbiA9IGVsID0+IHBhcnNlSW50KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKS5tYXJnaW5MZWZ0KSArIHBhcnNlSW50KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKS5tYXJnaW5SaWdodCk7CgogICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N3ZWV0YWxlcnQyL3N3ZWV0YWxlcnQyL2lzc3Vlcy8yMjkxCiAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N3ZWV0YWxlcnQyL3N3ZWV0YWxlcnQyL2lzc3Vlcy8xNjk5CiAgICAgIGlmICgnTXV0YXRpb25PYnNlcnZlcicgaW4gd2luZG93KSB7CiAgICAgICAgY29uc3QgaW5pdGlhbFBvcHVwV2lkdGggPSBwYXJzZUludCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShnZXRQb3B1cCgpKS53aWR0aCk7CiAgICAgICAgY29uc3QgdGV4dGFyZWFSZXNpemVIYW5kbGVyID0gKCkgPT4gewogICAgICAgICAgY29uc3QgdGV4dGFyZWFXaWR0aCA9IHRleHRhcmVhLm9mZnNldFdpZHRoICsgZ2V0TWFyZ2luKHRleHRhcmVhKTsKICAgICAgICAgIGlmICh0ZXh0YXJlYVdpZHRoID4gaW5pdGlhbFBvcHVwV2lkdGgpIHsKICAgICAgICAgICAgZ2V0UG9wdXAoKS5zdHlsZS53aWR0aCA9IGAke3RleHRhcmVhV2lkdGh9cHhgOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZ2V0UG9wdXAoKS5zdHlsZS53aWR0aCA9IG51bGw7CiAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgICBuZXcgTXV0YXRpb25PYnNlcnZlcih0ZXh0YXJlYVJlc2l6ZUhhbmRsZXIpLm9ic2VydmUodGV4dGFyZWEsIHsKICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsCiAgICAgICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsnc3R5bGUnXQogICAgICAgIH0pOwogICAgICB9CiAgICB9KTsKICAgIHJldHVybiB0ZXh0YXJlYTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IHBhcmFtcwogICAqLwogIGNvbnN0IHJlbmRlckNvbnRlbnQgPSAoaW5zdGFuY2UsIHBhcmFtcykgPT4gewogICAgY29uc3QgaHRtbENvbnRhaW5lciA9IGdldEh0bWxDb250YWluZXIoKTsKICAgIGFwcGx5Q3VzdG9tQ2xhc3MoaHRtbENvbnRhaW5lciwgcGFyYW1zLCAnaHRtbENvbnRhaW5lcicpOwoKICAgIC8vIENvbnRlbnQgYXMgSFRNTAogICAgaWYgKHBhcmFtcy5odG1sKSB7CiAgICAgIHBhcnNlSHRtbFRvQ29udGFpbmVyKHBhcmFtcy5odG1sLCBodG1sQ29udGFpbmVyKTsKICAgICAgc2hvdyhodG1sQ29udGFpbmVyLCAnYmxvY2snKTsKICAgIH0KCiAgICAvLyBDb250ZW50IGFzIHBsYWluIHRleHQKICAgIGVsc2UgaWYgKHBhcmFtcy50ZXh0KSB7CiAgICAgIGh0bWxDb250YWluZXIudGV4dENvbnRlbnQgPSBwYXJhbXMudGV4dDsKICAgICAgc2hvdyhodG1sQ29udGFpbmVyLCAnYmxvY2snKTsKICAgIH0KCiAgICAvLyBObyBjb250ZW50CiAgICBlbHNlIHsKICAgICAgaGlkZShodG1sQ29udGFpbmVyKTsKICAgIH0KICAgIHJlbmRlcklucHV0KGluc3RhbmNlLCBwYXJhbXMpOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7U3dlZXRBbGVydDJ9IGluc3RhbmNlCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICovCiAgY29uc3QgcmVuZGVyRm9vdGVyID0gKGluc3RhbmNlLCBwYXJhbXMpID0+IHsKICAgIGNvbnN0IGZvb3RlciA9IGdldEZvb3RlcigpOwogICAgdG9nZ2xlKGZvb3RlciwgcGFyYW1zLmZvb3Rlcik7CiAgICBpZiAocGFyYW1zLmZvb3RlcikgewogICAgICBwYXJzZUh0bWxUb0NvbnRhaW5lcihwYXJhbXMuZm9vdGVyLCBmb290ZXIpOwogICAgfQoKICAgIC8vIEN1c3RvbSBjbGFzcwogICAgYXBwbHlDdXN0b21DbGFzcyhmb290ZXIsIHBhcmFtcywgJ2Zvb3RlcicpOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7U3dlZXRBbGVydDJ9IGluc3RhbmNlCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICovCiAgY29uc3QgcmVuZGVySWNvbiA9IChpbnN0YW5jZSwgcGFyYW1zKSA9PiB7CiAgICBjb25zdCBpbm5lclBhcmFtcyA9IHByaXZhdGVQcm9wcy5pbm5lclBhcmFtcy5nZXQoaW5zdGFuY2UpOwogICAgY29uc3QgaWNvbiA9IGdldEljb24oKTsKCiAgICAvLyBpZiB0aGUgZ2l2ZW4gaWNvbiBhbHJlYWR5IHJlbmRlcmVkLCBhcHBseSB0aGUgc3R5bGluZyB3aXRob3V0IHJlLXJlbmRlcmluZyB0aGUgaWNvbgogICAgaWYgKGlubmVyUGFyYW1zICYmIHBhcmFtcy5pY29uID09PSBpbm5lclBhcmFtcy5pY29uKSB7CiAgICAgIC8vIEN1c3RvbSBvciBkZWZhdWx0IGNvbnRlbnQKICAgICAgc2V0Q29udGVudChpY29uLCBwYXJhbXMpOwogICAgICBhcHBseVN0eWxlcyhpY29uLCBwYXJhbXMpOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoIXBhcmFtcy5pY29uICYmICFwYXJhbXMuaWNvbkh0bWwpIHsKICAgICAgaGlkZShpY29uKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKHBhcmFtcy5pY29uICYmIE9iamVjdC5rZXlzKGljb25UeXBlcykuaW5kZXhPZihwYXJhbXMuaWNvbikgPT09IC0xKSB7CiAgICAgIGVycm9yKGBVbmtub3duIGljb24hIEV4cGVjdGVkICJzdWNjZXNzIiwgImVycm9yIiwgIndhcm5pbmciLCAiaW5mbyIgb3IgInF1ZXN0aW9uIiwgZ290ICIke3BhcmFtcy5pY29ufSJgKTsKICAgICAgaGlkZShpY29uKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgc2hvdyhpY29uKTsKCiAgICAvLyBDdXN0b20gb3IgZGVmYXVsdCBjb250ZW50CiAgICBzZXRDb250ZW50KGljb24sIHBhcmFtcyk7CiAgICBhcHBseVN0eWxlcyhpY29uLCBwYXJhbXMpOwoKICAgIC8vIEFuaW1hdGUgaWNvbgogICAgYWRkQ2xhc3MoaWNvbiwgcGFyYW1zLnNob3dDbGFzcy5pY29uKTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBpY29uCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICovCiAgY29uc3QgYXBwbHlTdHlsZXMgPSAoaWNvbiwgcGFyYW1zKSA9PiB7CiAgICBmb3IgKGNvbnN0IGljb25UeXBlIGluIGljb25UeXBlcykgewogICAgICBpZiAocGFyYW1zLmljb24gIT09IGljb25UeXBlKSB7CiAgICAgICAgcmVtb3ZlQ2xhc3MoaWNvbiwgaWNvblR5cGVzW2ljb25UeXBlXSk7CiAgICAgIH0KICAgIH0KICAgIGFkZENsYXNzKGljb24sIGljb25UeXBlc1twYXJhbXMuaWNvbl0pOwoKICAgIC8vIEljb24gY29sb3IKICAgIHNldENvbG9yKGljb24sIHBhcmFtcyk7CgogICAgLy8gU3VjY2VzcyBpY29uIGJhY2tncm91bmQgY29sb3IKICAgIGFkanVzdFN1Y2Nlc3NJY29uQmFja2dyb3VuZENvbG9yKCk7CgogICAgLy8gQ3VzdG9tIGNsYXNzCiAgICBhcHBseUN1c3RvbUNsYXNzKGljb24sIHBhcmFtcywgJ2ljb24nKTsKICB9OwoKICAvLyBBZGp1c3Qgc3VjY2VzcyBpY29uIGJhY2tncm91bmQgY29sb3IgdG8gbWF0Y2ggdGhlIHBvcHVwIGJhY2tncm91bmQgY29sb3IKICBjb25zdCBhZGp1c3RTdWNjZXNzSWNvbkJhY2tncm91bmRDb2xvciA9ICgpID0+IHsKICAgIGNvbnN0IHBvcHVwID0gZ2V0UG9wdXAoKTsKICAgIGNvbnN0IHBvcHVwQmFja2dyb3VuZENvbG9yID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUocG9wdXApLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKTsKICAgIC8qKiBAdHlwZSB7Tm9kZUxpc3RPZjxIVE1MRWxlbWVudD59ICovCiAgICBjb25zdCBzdWNjZXNzSWNvblBhcnRzID0gcG9wdXAucXVlcnlTZWxlY3RvckFsbCgnW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmVdLCAuc3dhbDItc3VjY2Vzcy1maXgnKTsKICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3VjY2Vzc0ljb25QYXJ0cy5sZW5ndGg7IGkrKykgewogICAgICBzdWNjZXNzSWNvblBhcnRzW2ldLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHBvcHVwQmFja2dyb3VuZENvbG9yOwogICAgfQogIH07CiAgY29uc3Qgc3VjY2Vzc0ljb25IdG1sID0gYAogIDxkaXYgY2xhc3M9InN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZS1sZWZ0Ij48L2Rpdj4KICA8c3BhbiBjbGFzcz0ic3dhbDItc3VjY2Vzcy1saW5lLXRpcCI+PC9zcGFuPiA8c3BhbiBjbGFzcz0ic3dhbDItc3VjY2Vzcy1saW5lLWxvbmciPjwvc3Bhbj4KICA8ZGl2IGNsYXNzPSJzd2FsMi1zdWNjZXNzLXJpbmciPjwvZGl2PiA8ZGl2IGNsYXNzPSJzd2FsMi1zdWNjZXNzLWZpeCI+PC9kaXY+CiAgPGRpdiBjbGFzcz0ic3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lLXJpZ2h0Ij48L2Rpdj4KYDsKICBjb25zdCBlcnJvckljb25IdG1sID0gYAogIDxzcGFuIGNsYXNzPSJzd2FsMi14LW1hcmsiPgogICAgPHNwYW4gY2xhc3M9InN3YWwyLXgtbWFyay1saW5lLWxlZnQiPjwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJzd2FsMi14LW1hcmstbGluZS1yaWdodCI+PC9zcGFuPgogIDwvc3Bhbj4KYDsKCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gaWNvbgogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IHBhcmFtcwogICAqLwogIGNvbnN0IHNldENvbnRlbnQgPSAoaWNvbiwgcGFyYW1zKSA9PiB7CiAgICBsZXQgb2xkQ29udGVudCA9IGljb24uaW5uZXJIVE1MOwogICAgbGV0IG5ld0NvbnRlbnQ7CiAgICBpZiAocGFyYW1zLmljb25IdG1sKSB7CiAgICAgIG5ld0NvbnRlbnQgPSBpY29uQ29udGVudChwYXJhbXMuaWNvbkh0bWwpOwogICAgfSBlbHNlIGlmIChwYXJhbXMuaWNvbiA9PT0gJ3N1Y2Nlc3MnKSB7CiAgICAgIG5ld0NvbnRlbnQgPSBzdWNjZXNzSWNvbkh0bWw7CiAgICAgIG9sZENvbnRlbnQgPSBvbGRDb250ZW50LnJlcGxhY2UoLyBzdHlsZT0iLio/Ii9nLCAnJyk7IC8vIHVuZG8gYWRqdXN0U3VjY2Vzc0ljb25CYWNrZ3JvdW5kQ29sb3IoKQogICAgfSBlbHNlIGlmIChwYXJhbXMuaWNvbiA9PT0gJ2Vycm9yJykgewogICAgICBuZXdDb250ZW50ID0gZXJyb3JJY29uSHRtbDsKICAgIH0gZWxzZSB7CiAgICAgIGNvbnN0IGRlZmF1bHRJY29uSHRtbCA9IHsKICAgICAgICBxdWVzdGlvbjogJz8nLAogICAgICAgIHdhcm5pbmc6ICchJywKICAgICAgICBpbmZvOiAnaScKICAgICAgfTsKICAgICAgbmV3Q29udGVudCA9IGljb25Db250ZW50KGRlZmF1bHRJY29uSHRtbFtwYXJhbXMuaWNvbl0pOwogICAgfQogICAgaWYgKG9sZENvbnRlbnQudHJpbSgpICE9PSBuZXdDb250ZW50LnRyaW0oKSkgewogICAgICBzZXRJbm5lckh0bWwoaWNvbiwgbmV3Q29udGVudCk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gaWNvbgogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IHBhcmFtcwogICAqLwogIGNvbnN0IHNldENvbG9yID0gKGljb24sIHBhcmFtcykgPT4gewogICAgaWYgKCFwYXJhbXMuaWNvbkNvbG9yKSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGljb24uc3R5bGUuY29sb3IgPSBwYXJhbXMuaWNvbkNvbG9yOwogICAgaWNvbi5zdHlsZS5ib3JkZXJDb2xvciA9IHBhcmFtcy5pY29uQ29sb3I7CiAgICBmb3IgKGNvbnN0IHNlbCBvZiBbJy5zd2FsMi1zdWNjZXNzLWxpbmUtdGlwJywgJy5zd2FsMi1zdWNjZXNzLWxpbmUtbG9uZycsICcuc3dhbDIteC1tYXJrLWxpbmUtbGVmdCcsICcuc3dhbDIteC1tYXJrLWxpbmUtcmlnaHQnXSkgewogICAgICBzZXRTdHlsZShpY29uLCBzZWwsICdiYWNrZ3JvdW5kQ29sb3InLCBwYXJhbXMuaWNvbkNvbG9yKTsKICAgIH0KICAgIHNldFN0eWxlKGljb24sICcuc3dhbDItc3VjY2Vzcy1yaW5nJywgJ2JvcmRlckNvbG9yJywgcGFyYW1zLmljb25Db2xvcik7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnQKICAgKiBAcmV0dXJucyB7c3RyaW5nfQogICAqLwogIGNvbnN0IGljb25Db250ZW50ID0gY29udGVudCA9PiBgPGRpdiBjbGFzcz0iJHtzd2FsQ2xhc3Nlc1snaWNvbi1jb250ZW50J119Ij4ke2NvbnRlbnR9PC9kaXY+YDsKCiAgLyoqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0Mn0gaW5zdGFuY2UKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKi8KICBjb25zdCByZW5kZXJJbWFnZSA9IChpbnN0YW5jZSwgcGFyYW1zKSA9PiB7CiAgICBjb25zdCBpbWFnZSA9IGdldEltYWdlKCk7CiAgICBpZiAoIXBhcmFtcy5pbWFnZVVybCkgewogICAgICBoaWRlKGltYWdlKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgc2hvdyhpbWFnZSwgJycpOwoKICAgIC8vIFNyYywgYWx0CiAgICBpbWFnZS5zZXRBdHRyaWJ1dGUoJ3NyYycsIHBhcmFtcy5pbWFnZVVybCk7CiAgICBpbWFnZS5zZXRBdHRyaWJ1dGUoJ2FsdCcsIHBhcmFtcy5pbWFnZUFsdCk7CgogICAgLy8gV2lkdGgsIGhlaWdodAogICAgYXBwbHlOdW1lcmljYWxTdHlsZShpbWFnZSwgJ3dpZHRoJywgcGFyYW1zLmltYWdlV2lkdGgpOwogICAgYXBwbHlOdW1lcmljYWxTdHlsZShpbWFnZSwgJ2hlaWdodCcsIHBhcmFtcy5pbWFnZUhlaWdodCk7CgogICAgLy8gQ2xhc3MKICAgIGltYWdlLmNsYXNzTmFtZSA9IHN3YWxDbGFzc2VzLmltYWdlOwogICAgYXBwbHlDdXN0b21DbGFzcyhpbWFnZSwgcGFyYW1zLCAnaW1hZ2UnKTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IHBhcmFtcwogICAqLwogIGNvbnN0IHJlbmRlclBvcHVwID0gKGluc3RhbmNlLCBwYXJhbXMpID0+IHsKICAgIGNvbnN0IGNvbnRhaW5lciA9IGdldENvbnRhaW5lcigpOwogICAgY29uc3QgcG9wdXAgPSBnZXRQb3B1cCgpOwoKICAgIC8vIFdpZHRoCiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vc3dlZXRhbGVydDIvc3dlZXRhbGVydDIvaXNzdWVzLzIxNzAKICAgIGlmIChwYXJhbXMudG9hc3QpIHsKICAgICAgYXBwbHlOdW1lcmljYWxTdHlsZShjb250YWluZXIsICd3aWR0aCcsIHBhcmFtcy53aWR0aCk7CiAgICAgIHBvcHVwLnN0eWxlLndpZHRoID0gJzEwMCUnOwogICAgICBwb3B1cC5pbnNlcnRCZWZvcmUoZ2V0TG9hZGVyKCksIGdldEljb24oKSk7CiAgICB9IGVsc2UgewogICAgICBhcHBseU51bWVyaWNhbFN0eWxlKHBvcHVwLCAnd2lkdGgnLCBwYXJhbXMud2lkdGgpOwogICAgfQoKICAgIC8vIFBhZGRpbmcKICAgIGFwcGx5TnVtZXJpY2FsU3R5bGUocG9wdXAsICdwYWRkaW5nJywgcGFyYW1zLnBhZGRpbmcpOwoKICAgIC8vIENvbG9yCiAgICBpZiAocGFyYW1zLmNvbG9yKSB7CiAgICAgIHBvcHVwLnN0eWxlLmNvbG9yID0gcGFyYW1zLmNvbG9yOwogICAgfQoKICAgIC8vIEJhY2tncm91bmQKICAgIGlmIChwYXJhbXMuYmFja2dyb3VuZCkgewogICAgICBwb3B1cC5zdHlsZS5iYWNrZ3JvdW5kID0gcGFyYW1zLmJhY2tncm91bmQ7CiAgICB9CiAgICBoaWRlKGdldFZhbGlkYXRpb25NZXNzYWdlKCkpOwoKICAgIC8vIENsYXNzZXMKICAgIGFkZENsYXNzZXMkMShwb3B1cCwgcGFyYW1zKTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBwb3B1cAogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IHBhcmFtcwogICAqLwogIGNvbnN0IGFkZENsYXNzZXMkMSA9IChwb3B1cCwgcGFyYW1zKSA9PiB7CiAgICAvLyBEZWZhdWx0IENsYXNzICsgc2hvd0NsYXNzIHdoZW4gdXBkYXRpbmcgU3dhbC51cGRhdGUoe30pCiAgICBwb3B1cC5jbGFzc05hbWUgPSBgJHtzd2FsQ2xhc3Nlcy5wb3B1cH0gJHtpc1Zpc2libGUkMShwb3B1cCkgPyBwYXJhbXMuc2hvd0NsYXNzLnBvcHVwIDogJyd9YDsKICAgIGlmIChwYXJhbXMudG9hc3QpIHsKICAgICAgYWRkQ2xhc3MoW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgZG9jdW1lbnQuYm9keV0sIHN3YWxDbGFzc2VzWyd0b2FzdC1zaG93biddKTsKICAgICAgYWRkQ2xhc3MocG9wdXAsIHN3YWxDbGFzc2VzLnRvYXN0KTsKICAgIH0gZWxzZSB7CiAgICAgIGFkZENsYXNzKHBvcHVwLCBzd2FsQ2xhc3Nlcy5tb2RhbCk7CiAgICB9CgogICAgLy8gQ3VzdG9tIGNsYXNzCiAgICBhcHBseUN1c3RvbUNsYXNzKHBvcHVwLCBwYXJhbXMsICdwb3B1cCcpOwogICAgaWYgKHR5cGVvZiBwYXJhbXMuY3VzdG9tQ2xhc3MgPT09ICdzdHJpbmcnKSB7CiAgICAgIGFkZENsYXNzKHBvcHVwLCBwYXJhbXMuY3VzdG9tQ2xhc3MpOwogICAgfQoKICAgIC8vIEljb24gY2xhc3MgKCMxODQyKQogICAgaWYgKHBhcmFtcy5pY29uKSB7CiAgICAgIGFkZENsYXNzKHBvcHVwLCBzd2FsQ2xhc3Nlc1tgaWNvbi0ke3BhcmFtcy5pY29ufWBdKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IHBhcmFtcwogICAqLwogIGNvbnN0IHJlbmRlclByb2dyZXNzU3RlcHMgPSAoaW5zdGFuY2UsIHBhcmFtcykgPT4gewogICAgY29uc3QgcHJvZ3Jlc3NTdGVwc0NvbnRhaW5lciA9IGdldFByb2dyZXNzU3RlcHMoKTsKICAgIGlmICghcGFyYW1zLnByb2dyZXNzU3RlcHMgfHwgcGFyYW1zLnByb2dyZXNzU3RlcHMubGVuZ3RoID09PSAwKSB7CiAgICAgIGhpZGUocHJvZ3Jlc3NTdGVwc0NvbnRhaW5lcik7CiAgICAgIHJldHVybjsKICAgIH0KICAgIHNob3cocHJvZ3Jlc3NTdGVwc0NvbnRhaW5lcik7CiAgICBwcm9ncmVzc1N0ZXBzQ29udGFpbmVyLnRleHRDb250ZW50ID0gJyc7CiAgICBpZiAocGFyYW1zLmN1cnJlbnRQcm9ncmVzc1N0ZXAgPj0gcGFyYW1zLnByb2dyZXNzU3RlcHMubGVuZ3RoKSB7CiAgICAgIHdhcm4oJ0ludmFsaWQgY3VycmVudFByb2dyZXNzU3RlcCBwYXJhbWV0ZXIsIGl0IHNob3VsZCBiZSBsZXNzIHRoYW4gcHJvZ3Jlc3NTdGVwcy5sZW5ndGggJyArICcoY3VycmVudFByb2dyZXNzU3RlcCBsaWtlIEpTIGFycmF5cyBzdGFydHMgZnJvbSAwKScpOwogICAgfQogICAgcGFyYW1zLnByb2dyZXNzU3RlcHMuZm9yRWFjaCgoc3RlcCwgaW5kZXgpID0+IHsKICAgICAgY29uc3Qgc3RlcEVsID0gY3JlYXRlU3RlcEVsZW1lbnQoc3RlcCk7CiAgICAgIHByb2dyZXNzU3RlcHNDb250YWluZXIuYXBwZW5kQ2hpbGQoc3RlcEVsKTsKICAgICAgaWYgKGluZGV4ID09PSBwYXJhbXMuY3VycmVudFByb2dyZXNzU3RlcCkgewogICAgICAgIGFkZENsYXNzKHN0ZXBFbCwgc3dhbENsYXNzZXNbJ2FjdGl2ZS1wcm9ncmVzcy1zdGVwJ10pOwogICAgICB9CiAgICAgIGlmIChpbmRleCAhPT0gcGFyYW1zLnByb2dyZXNzU3RlcHMubGVuZ3RoIC0gMSkgewogICAgICAgIGNvbnN0IGxpbmVFbCA9IGNyZWF0ZUxpbmVFbGVtZW50KHBhcmFtcyk7CiAgICAgICAgcHJvZ3Jlc3NTdGVwc0NvbnRhaW5lci5hcHBlbmRDaGlsZChsaW5lRWwpOwogICAgICB9CiAgICB9KTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge3N0cmluZ30gc3RlcAogICAqIEByZXR1cm5zIHtIVE1MTElFbGVtZW50fQogICAqLwogIGNvbnN0IGNyZWF0ZVN0ZXBFbGVtZW50ID0gc3RlcCA9PiB7CiAgICBjb25zdCBzdGVwRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpOwogICAgYWRkQ2xhc3Moc3RlcEVsLCBzd2FsQ2xhc3Nlc1sncHJvZ3Jlc3Mtc3RlcCddKTsKICAgIHNldElubmVySHRtbChzdGVwRWwsIHN0ZXApOwogICAgcmV0dXJuIHN0ZXBFbDsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKiBAcmV0dXJucyB7SFRNTExJRWxlbWVudH0KICAgKi8KICBjb25zdCBjcmVhdGVMaW5lRWxlbWVudCA9IHBhcmFtcyA9PiB7CiAgICBjb25zdCBsaW5lRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpOwogICAgYWRkQ2xhc3MobGluZUVsLCBzd2FsQ2xhc3Nlc1sncHJvZ3Jlc3Mtc3RlcC1saW5lJ10pOwogICAgaWYgKHBhcmFtcy5wcm9ncmVzc1N0ZXBzRGlzdGFuY2UpIHsKICAgICAgYXBwbHlOdW1lcmljYWxTdHlsZShsaW5lRWwsICd3aWR0aCcsIHBhcmFtcy5wcm9ncmVzc1N0ZXBzRGlzdGFuY2UpOwogICAgfQogICAgcmV0dXJuIGxpbmVFbDsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IHBhcmFtcwogICAqLwogIGNvbnN0IHJlbmRlclRpdGxlID0gKGluc3RhbmNlLCBwYXJhbXMpID0+IHsKICAgIGNvbnN0IHRpdGxlID0gZ2V0VGl0bGUoKTsKICAgIHRvZ2dsZSh0aXRsZSwgcGFyYW1zLnRpdGxlIHx8IHBhcmFtcy50aXRsZVRleHQsICdibG9jaycpOwogICAgaWYgKHBhcmFtcy50aXRsZSkgewogICAgICBwYXJzZUh0bWxUb0NvbnRhaW5lcihwYXJhbXMudGl0bGUsIHRpdGxlKTsKICAgIH0KICAgIGlmIChwYXJhbXMudGl0bGVUZXh0KSB7CiAgICAgIHRpdGxlLmlubmVyVGV4dCA9IHBhcmFtcy50aXRsZVRleHQ7CiAgICB9CgogICAgLy8gQ3VzdG9tIGNsYXNzCiAgICBhcHBseUN1c3RvbUNsYXNzKHRpdGxlLCBwYXJhbXMsICd0aXRsZScpOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7U3dlZXRBbGVydDJ9IGluc3RhbmNlCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICovCiAgY29uc3QgcmVuZGVyID0gKGluc3RhbmNlLCBwYXJhbXMpID0+IHsKICAgIHJlbmRlclBvcHVwKGluc3RhbmNlLCBwYXJhbXMpOwogICAgcmVuZGVyQ29udGFpbmVyKGluc3RhbmNlLCBwYXJhbXMpOwogICAgcmVuZGVyUHJvZ3Jlc3NTdGVwcyhpbnN0YW5jZSwgcGFyYW1zKTsKICAgIHJlbmRlckljb24oaW5zdGFuY2UsIHBhcmFtcyk7CiAgICByZW5kZXJJbWFnZShpbnN0YW5jZSwgcGFyYW1zKTsKICAgIHJlbmRlclRpdGxlKGluc3RhbmNlLCBwYXJhbXMpOwogICAgcmVuZGVyQ2xvc2VCdXR0b24oaW5zdGFuY2UsIHBhcmFtcyk7CiAgICByZW5kZXJDb250ZW50KGluc3RhbmNlLCBwYXJhbXMpOwogICAgcmVuZGVyQWN0aW9ucyhpbnN0YW5jZSwgcGFyYW1zKTsKICAgIHJlbmRlckZvb3RlcihpbnN0YW5jZSwgcGFyYW1zKTsKICAgIGlmICh0eXBlb2YgcGFyYW1zLmRpZFJlbmRlciA9PT0gJ2Z1bmN0aW9uJykgewogICAgICBwYXJhbXMuZGlkUmVuZGVyKGdldFBvcHVwKCkpOwogICAgfQogIH07CgogIC8qKgogICAqIEhpZGVzIGxvYWRlciBhbmQgc2hvd3MgYmFjayB0aGUgYnV0dG9uIHdoaWNoIHdhcyBoaWRkZW4gYnkgLnNob3dMb2FkaW5nKCkKICAgKi8KICBmdW5jdGlvbiBoaWRlTG9hZGluZygpIHsKICAgIC8vIGRvIG5vdGhpbmcgaWYgcG9wdXAgaXMgY2xvc2VkCiAgICBjb25zdCBpbm5lclBhcmFtcyA9IHByaXZhdGVQcm9wcy5pbm5lclBhcmFtcy5nZXQodGhpcyk7CiAgICBpZiAoIWlubmVyUGFyYW1zKSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGNvbnN0IGRvbUNhY2hlID0gcHJpdmF0ZVByb3BzLmRvbUNhY2hlLmdldCh0aGlzKTsKICAgIGhpZGUoZG9tQ2FjaGUubG9hZGVyKTsKICAgIGlmIChpc1RvYXN0KCkpIHsKICAgICAgaWYgKGlubmVyUGFyYW1zLmljb24pIHsKICAgICAgICBzaG93KGdldEljb24oKSk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIHNob3dSZWxhdGVkQnV0dG9uKGRvbUNhY2hlKTsKICAgIH0KICAgIHJlbW92ZUNsYXNzKFtkb21DYWNoZS5wb3B1cCwgZG9tQ2FjaGUuYWN0aW9uc10sIHN3YWxDbGFzc2VzLmxvYWRpbmcpOwogICAgZG9tQ2FjaGUucG9wdXAucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWJ1c3knKTsKICAgIGRvbUNhY2hlLnBvcHVwLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1sb2FkaW5nJyk7CiAgICBkb21DYWNoZS5jb25maXJtQnV0dG9uLmRpc2FibGVkID0gZmFsc2U7CiAgICBkb21DYWNoZS5kZW55QnV0dG9uLmRpc2FibGVkID0gZmFsc2U7CiAgICBkb21DYWNoZS5jYW5jZWxCdXR0b24uZGlzYWJsZWQgPSBmYWxzZTsKICB9CiAgY29uc3Qgc2hvd1JlbGF0ZWRCdXR0b24gPSBkb21DYWNoZSA9PiB7CiAgICBjb25zdCBidXR0b25Ub1JlcGxhY2UgPSBkb21DYWNoZS5wb3B1cC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGRvbUNhY2hlLmxvYWRlci5nZXRBdHRyaWJ1dGUoJ2RhdGEtYnV0dG9uLXRvLXJlcGxhY2UnKSk7CiAgICBpZiAoYnV0dG9uVG9SZXBsYWNlLmxlbmd0aCkgewogICAgICBzaG93KGJ1dHRvblRvUmVwbGFjZVswXSwgJ2lubGluZS1ibG9jaycpOwogICAgfSBlbHNlIGlmIChhbGxCdXR0b25zQXJlSGlkZGVuKCkpIHsKICAgICAgaGlkZShkb21DYWNoZS5hY3Rpb25zKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBHZXRzIHRoZSBpbnB1dCBET00gbm9kZSwgdGhpcyBtZXRob2Qgd29ya3Mgd2l0aCBpbnB1dCBwYXJhbWV0ZXIuCiAgICoKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEByZXR1cm5zIHtIVE1MRWxlbWVudCB8IG51bGx9CiAgICovCiAgZnVuY3Rpb24gZ2V0SW5wdXQoaW5zdGFuY2UpIHsKICAgIGNvbnN0IGlubmVyUGFyYW1zID0gcHJpdmF0ZVByb3BzLmlubmVyUGFyYW1zLmdldChpbnN0YW5jZSB8fCB0aGlzKTsKICAgIGNvbnN0IGRvbUNhY2hlID0gcHJpdmF0ZVByb3BzLmRvbUNhY2hlLmdldChpbnN0YW5jZSB8fCB0aGlzKTsKICAgIGlmICghZG9tQ2FjaGUpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9CiAgICByZXR1cm4gZ2V0SW5wdXQkMShkb21DYWNoZS5wb3B1cCwgaW5uZXJQYXJhbXMuaW5wdXQpOwogIH0KCiAgLyoKICAgKiBHbG9iYWwgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIFN3ZWV0QWxlcnQyIHBvcHVwIGlzIHNob3duCiAgICovCiAgY29uc3QgaXNWaXNpYmxlID0gKCkgPT4gewogICAgcmV0dXJuIGlzVmlzaWJsZSQxKGdldFBvcHVwKCkpOwogIH07CgogIC8qCiAgICogR2xvYmFsIGZ1bmN0aW9uIHRvIGNsaWNrICdDb25maXJtJyBidXR0b24KICAgKi8KICBjb25zdCBjbGlja0NvbmZpcm0gPSAoKSA9PiBnZXRDb25maXJtQnV0dG9uKCkgJiYgZ2V0Q29uZmlybUJ1dHRvbigpLmNsaWNrKCk7CgogIC8qCiAgICogR2xvYmFsIGZ1bmN0aW9uIHRvIGNsaWNrICdEZW55JyBidXR0b24KICAgKi8KICBjb25zdCBjbGlja0RlbnkgPSAoKSA9PiBnZXREZW55QnV0dG9uKCkgJiYgZ2V0RGVueUJ1dHRvbigpLmNsaWNrKCk7CgogIC8qCiAgICogR2xvYmFsIGZ1bmN0aW9uIHRvIGNsaWNrICdDYW5jZWwnIGJ1dHRvbgogICAqLwogIGNvbnN0IGNsaWNrQ2FuY2VsID0gKCkgPT4gZ2V0Q2FuY2VsQnV0dG9uKCkgJiYgZ2V0Q2FuY2VsQnV0dG9uKCkuY2xpY2soKTsKCiAgY29uc3QgRGlzbWlzc1JlYXNvbiA9IE9iamVjdC5mcmVlemUoewogICAgY2FuY2VsOiAnY2FuY2VsJywKICAgIGJhY2tkcm9wOiAnYmFja2Ryb3AnLAogICAgY2xvc2U6ICdjbG9zZScsCiAgICBlc2M6ICdlc2MnLAogICAgdGltZXI6ICd0aW1lcicKICB9KTsKCiAgLyoqCiAgICogQHBhcmFtIHtHbG9iYWxTdGF0ZX0gZ2xvYmFsU3RhdGUKICAgKi8KICBjb25zdCByZW1vdmVLZXlkb3duSGFuZGxlciA9IGdsb2JhbFN0YXRlID0+IHsKICAgIGlmIChnbG9iYWxTdGF0ZS5rZXlkb3duVGFyZ2V0ICYmIGdsb2JhbFN0YXRlLmtleWRvd25IYW5kbGVyQWRkZWQpIHsKICAgICAgZ2xvYmFsU3RhdGUua2V5ZG93blRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZ2xvYmFsU3RhdGUua2V5ZG93bkhhbmRsZXIsIHsKICAgICAgICBjYXB0dXJlOiBnbG9iYWxTdGF0ZS5rZXlkb3duTGlzdGVuZXJDYXB0dXJlCiAgICAgIH0pOwogICAgICBnbG9iYWxTdGF0ZS5rZXlkb3duSGFuZGxlckFkZGVkID0gZmFsc2U7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0Mn0gaW5zdGFuY2UKICAgKiBAcGFyYW0ge0dsb2JhbFN0YXRlfSBnbG9iYWxTdGF0ZQogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IGlubmVyUGFyYW1zCiAgICogQHBhcmFtIHsqfSBkaXNtaXNzV2l0aAogICAqLwogIGNvbnN0IGFkZEtleWRvd25IYW5kbGVyID0gKGluc3RhbmNlLCBnbG9iYWxTdGF0ZSwgaW5uZXJQYXJhbXMsIGRpc21pc3NXaXRoKSA9PiB7CiAgICByZW1vdmVLZXlkb3duSGFuZGxlcihnbG9iYWxTdGF0ZSk7CiAgICBpZiAoIWlubmVyUGFyYW1zLnRvYXN0KSB7CiAgICAgIGdsb2JhbFN0YXRlLmtleWRvd25IYW5kbGVyID0gZSA9PiBrZXlkb3duSGFuZGxlcihpbnN0YW5jZSwgZSwgZGlzbWlzc1dpdGgpOwogICAgICBnbG9iYWxTdGF0ZS5rZXlkb3duVGFyZ2V0ID0gaW5uZXJQYXJhbXMua2V5ZG93bkxpc3RlbmVyQ2FwdHVyZSA/IHdpbmRvdyA6IGdldFBvcHVwKCk7CiAgICAgIGdsb2JhbFN0YXRlLmtleWRvd25MaXN0ZW5lckNhcHR1cmUgPSBpbm5lclBhcmFtcy5rZXlkb3duTGlzdGVuZXJDYXB0dXJlOwogICAgICBnbG9iYWxTdGF0ZS5rZXlkb3duVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBnbG9iYWxTdGF0ZS5rZXlkb3duSGFuZGxlciwgewogICAgICAgIGNhcHR1cmU6IGdsb2JhbFN0YXRlLmtleWRvd25MaXN0ZW5lckNhcHR1cmUKICAgICAgfSk7CiAgICAgIGdsb2JhbFN0YXRlLmtleWRvd25IYW5kbGVyQWRkZWQgPSB0cnVlOwogICAgfQogIH07CgogIC8qKgogICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleAogICAqIEBwYXJhbSB7bnVtYmVyfSBpbmNyZW1lbnQKICAgKi8KICBjb25zdCBzZXRGb2N1cyA9IChpbmRleCwgaW5jcmVtZW50KSA9PiB7CiAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IGdldEZvY3VzYWJsZUVsZW1lbnRzKCk7CiAgICAvLyBzZWFyY2ggZm9yIHZpc2libGUgZWxlbWVudHMgYW5kIHNlbGVjdCB0aGUgbmV4dCBwb3NzaWJsZSBtYXRjaAogICAgaWYgKGZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCkgewogICAgICBpbmRleCA9IGluZGV4ICsgaW5jcmVtZW50OwoKICAgICAgLy8gcm9sbG92ZXIgdG8gZmlyc3QgaXRlbQogICAgICBpZiAoaW5kZXggPT09IGZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCkgewogICAgICAgIGluZGV4ID0gMDsKCiAgICAgICAgLy8gZ28gdG8gbGFzdCBpdGVtCiAgICAgIH0gZWxzZSBpZiAoaW5kZXggPT09IC0xKSB7CiAgICAgICAgaW5kZXggPSBmb2N1c2FibGVFbGVtZW50cy5sZW5ndGggLSAxOwogICAgICB9CiAgICAgIGZvY3VzYWJsZUVsZW1lbnRzW2luZGV4XS5mb2N1cygpOwogICAgICByZXR1cm47CiAgICB9CiAgICAvLyBubyB2aXNpYmxlIGZvY3VzYWJsZSBlbGVtZW50cywgZm9jdXMgdGhlIHBvcHVwCiAgICBnZXRQb3B1cCgpLmZvY3VzKCk7CiAgfTsKICBjb25zdCBhcnJvd0tleXNOZXh0QnV0dG9uID0gWydBcnJvd1JpZ2h0JywgJ0Fycm93RG93biddOwogIGNvbnN0IGFycm93S2V5c1ByZXZpb3VzQnV0dG9uID0gWydBcnJvd0xlZnQnLCAnQXJyb3dVcCddOwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQKICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBkaXNtaXNzV2l0aAogICAqLwogIGNvbnN0IGtleWRvd25IYW5kbGVyID0gKGluc3RhbmNlLCBldmVudCwgZGlzbWlzc1dpdGgpID0+IHsKICAgIGNvbnN0IGlubmVyUGFyYW1zID0gcHJpdmF0ZVByb3BzLmlubmVyUGFyYW1zLmdldChpbnN0YW5jZSk7CiAgICBpZiAoIWlubmVyUGFyYW1zKSB7CiAgICAgIHJldHVybjsgLy8gVGhpcyBpbnN0YW5jZSBoYXMgYWxyZWFkeSBiZWVuIGRlc3Ryb3llZAogICAgfQoKICAgIC8vIElnbm9yZSBrZXlkb3duIGR1cmluZyBJTUUgY29tcG9zaXRpb24KICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9Eb2N1bWVudC9rZXlkb3duX2V2ZW50I2lnbm9yaW5nX2tleWRvd25fZHVyaW5nX2ltZV9jb21wb3NpdGlvbgogICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3N3ZWV0YWxlcnQyL3N3ZWV0YWxlcnQyL2lzc3Vlcy83MjAKICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2VldGFsZXJ0Mi9zd2VldGFsZXJ0Mi9pc3N1ZXMvMjQwNgogICAgaWYgKGV2ZW50LmlzQ29tcG9zaW5nIHx8IGV2ZW50LmtleUNvZGUgPT09IDIyOSkgewogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoaW5uZXJQYXJhbXMuc3RvcEtleWRvd25Qcm9wYWdhdGlvbikgewogICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgIH0KCiAgICAvLyBFTlRFUgogICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykgewogICAgICBoYW5kbGVFbnRlcihpbnN0YW5jZSwgZXZlbnQsIGlubmVyUGFyYW1zKTsKICAgIH0KCiAgICAvLyBUQUIKICAgIGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ1RhYicpIHsKICAgICAgaGFuZGxlVGFiKGV2ZW50KTsKICAgIH0KCiAgICAvLyBBUlJPV1MgLSBzd2l0Y2ggZm9jdXMgYmV0d2VlbiBidXR0b25zCiAgICBlbHNlIGlmIChbLi4uYXJyb3dLZXlzTmV4dEJ1dHRvbiwgLi4uYXJyb3dLZXlzUHJldmlvdXNCdXR0b25dLmluY2x1ZGVzKGV2ZW50LmtleSkpIHsKICAgICAgaGFuZGxlQXJyb3dzKGV2ZW50LmtleSk7CiAgICB9CgogICAgLy8gRVNDCiAgICBlbHNlIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7CiAgICAgIGhhbmRsZUVzYyhldmVudCwgaW5uZXJQYXJhbXMsIGRpc21pc3NXaXRoKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBpbm5lclBhcmFtcwogICAqLwogIGNvbnN0IGhhbmRsZUVudGVyID0gKGluc3RhbmNlLCBldmVudCwgaW5uZXJQYXJhbXMpID0+IHsKICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2VldGFsZXJ0Mi9zd2VldGFsZXJ0Mi9pc3N1ZXMvMjM4NgogICAgaWYgKCFjYWxsSWZGdW5jdGlvbihpbm5lclBhcmFtcy5hbGxvd0VudGVyS2V5KSkgewogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoZXZlbnQudGFyZ2V0ICYmIGluc3RhbmNlLmdldElucHV0KCkgJiYgZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgJiYgZXZlbnQudGFyZ2V0Lm91dGVySFRNTCA9PT0gaW5zdGFuY2UuZ2V0SW5wdXQoKS5vdXRlckhUTUwpIHsKICAgICAgaWYgKFsndGV4dGFyZWEnLCAnZmlsZSddLmluY2x1ZGVzKGlubmVyUGFyYW1zLmlucHV0KSkgewogICAgICAgIHJldHVybjsgLy8gZG8gbm90IHN1Ym1pdAogICAgICB9CgogICAgICBjbGlja0NvbmZpcm0oKTsKICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50CiAgICovCiAgY29uc3QgaGFuZGxlVGFiID0gZXZlbnQgPT4gewogICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGV2ZW50LnRhcmdldDsKICAgIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnRzID0gZ2V0Rm9jdXNhYmxlRWxlbWVudHMoKTsKICAgIGxldCBidG5JbmRleCA9IC0xOwogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmb2N1c2FibGVFbGVtZW50cy5sZW5ndGg7IGkrKykgewogICAgICBpZiAodGFyZ2V0RWxlbWVudCA9PT0gZm9jdXNhYmxlRWxlbWVudHNbaV0pIHsKICAgICAgICBidG5JbmRleCA9IGk7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KCiAgICAvLyBDeWNsZSB0byB0aGUgbmV4dCBidXR0b24KICAgIGlmICghZXZlbnQuc2hpZnRLZXkpIHsKICAgICAgc2V0Rm9jdXMoYnRuSW5kZXgsIDEpOwogICAgfQoKICAgIC8vIEN5Y2xlIHRvIHRoZSBwcmV2IGJ1dHRvbgogICAgZWxzZSB7CiAgICAgIHNldEZvY3VzKGJ0bkluZGV4LCAtMSk7CiAgICB9CiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtzdHJpbmd9IGtleQogICAqLwogIGNvbnN0IGhhbmRsZUFycm93cyA9IGtleSA9PiB7CiAgICBjb25zdCBjb25maXJtQnV0dG9uID0gZ2V0Q29uZmlybUJ1dHRvbigpOwogICAgY29uc3QgZGVueUJ1dHRvbiA9IGdldERlbnlCdXR0b24oKTsKICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IGdldENhbmNlbEJ1dHRvbigpOwogICAgLyoqIEB0eXBlIEhUTUxFbGVtZW50W10gKi8KICAgIGNvbnN0IGJ1dHRvbnMgPSBbY29uZmlybUJ1dHRvbiwgZGVueUJ1dHRvbiwgY2FuY2VsQnV0dG9uXTsKICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgJiYgIWJ1dHRvbnMuaW5jbHVkZXMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpIHsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3Qgc2libGluZyA9IGFycm93S2V5c05leHRCdXR0b24uaW5jbHVkZXMoa2V5KSA/ICduZXh0RWxlbWVudFNpYmxpbmcnIDogJ3ByZXZpb3VzRWxlbWVudFNpYmxpbmcnOwogICAgbGV0IGJ1dHRvblRvRm9jdXMgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50OwogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBnZXRBY3Rpb25zKCkuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHsKICAgICAgYnV0dG9uVG9Gb2N1cyA9IGJ1dHRvblRvRm9jdXNbc2libGluZ107CiAgICAgIGlmICghYnV0dG9uVG9Gb2N1cykgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoYnV0dG9uVG9Gb2N1cyBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50ICYmIGlzVmlzaWJsZSQxKGJ1dHRvblRvRm9jdXMpKSB7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KICAgIGlmIChidXR0b25Ub0ZvY3VzIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpIHsKICAgICAgYnV0dG9uVG9Gb2N1cy5mb2N1cygpOwogICAgfQogIH07CgogIC8qKgogICAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBpbm5lclBhcmFtcwogICAqIEBwYXJhbSB7RnVuY3Rpb259IGRpc21pc3NXaXRoCiAgICovCiAgY29uc3QgaGFuZGxlRXNjID0gKGV2ZW50LCBpbm5lclBhcmFtcywgZGlzbWlzc1dpdGgpID0+IHsKICAgIGlmIChjYWxsSWZGdW5jdGlvbihpbm5lclBhcmFtcy5hbGxvd0VzY2FwZUtleSkpIHsKICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgZGlzbWlzc1dpdGgoRGlzbWlzc1JlYXNvbi5lc2MpOwogICAgfQogIH07CgogIC8qKgogICAqIFRoaXMgbW9kdWxlIGNvbnRhaW5zIGBXZWFrTWFwYHMgZm9yIGVhY2ggZWZmZWN0aXZlbHktInByaXZhdGUgIHByb3BlcnR5IiB0aGF0IGEgYFN3YWxgIGhhcy4KICAgKiBGb3IgZXhhbXBsZSwgdG8gc2V0IHRoZSBwcml2YXRlIHByb3BlcnR5ICJmb28iIG9mIGB0aGlzYCB0byAiYmFyIiwgeW91IGNhbiBgcHJpdmF0ZVByb3BzLmZvby5zZXQodGhpcywgJ2JhcicpYAogICAqIFRoaXMgaXMgdGhlIGFwcHJvYWNoIHRoYXQgQmFiZWwgd2lsbCBwcm9iYWJseSB0YWtlIHRvIGltcGxlbWVudCBwcml2YXRlIG1ldGhvZHMvZmllbGRzCiAgICogICBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1wcml2YXRlLW1ldGhvZHMKICAgKiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9iYWJlbC9iYWJlbC9wdWxsLzc1NTUKICAgKiBPbmNlIHdlIGhhdmUgdGhlIGNoYW5nZXMgZnJvbSB0aGF0IFBSIGluIEJhYmVsLCBhbmQgb3VyIGNvcmUgY2xhc3MgZml0cyByZWFzb25hYmxlIGluICpvbmUgbW9kdWxlKgogICAqICAgdGhlbiB3ZSBjYW4gdXNlIHRoYXQgbGFuZ3VhZ2UgZmVhdHVyZS4KICAgKi8KCiAgdmFyIHByaXZhdGVNZXRob2RzID0gewogICAgc3dhbFByb21pc2VSZXNvbHZlOiBuZXcgV2Vha01hcCgpLAogICAgc3dhbFByb21pc2VSZWplY3Q6IG5ldyBXZWFrTWFwKCkKICB9OwoKICAvLyBGcm9tIGh0dHBzOi8vZGV2ZWxvcGVyLnBhY2llbGxvZ3JvdXAuY29tL2Jsb2cvMjAxOC8wNi90aGUtY3VycmVudC1zdGF0ZS1vZi1tb2RhbC1kaWFsb2ctYWNjZXNzaWJpbGl0eS8KICAvLyBBZGRpbmcgYXJpYS1oaWRkZW49InRydWUiIHRvIGVsZW1lbnRzIG91dHNpZGUgb2YgdGhlIGFjdGl2ZSBtb2RhbCBkaWFsb2cgZW5zdXJlcyB0aGF0CiAgLy8gZWxlbWVudHMgbm90IHdpdGhpbiB0aGUgYWN0aXZlIG1vZGFsIGRpYWxvZyB3aWxsIG5vdCBiZSBzdXJmYWNlZCBpZiBhIHVzZXIgb3BlbnMgYSBzY3JlZW4KICAvLyByZWFkZXLigJlzIGxpc3Qgb2YgZWxlbWVudHMgKGhlYWRpbmdzLCBmb3JtIGNvbnRyb2xzLCBsYW5kbWFya3MsIGV0Yy4pIGluIHRoZSBkb2N1bWVudC4KCiAgY29uc3Qgc2V0QXJpYUhpZGRlbiA9ICgpID0+IHsKICAgIGNvbnN0IGJvZHlDaGlsZHJlbiA9IEFycmF5LmZyb20oZG9jdW1lbnQuYm9keS5jaGlsZHJlbik7CiAgICBib2R5Q2hpbGRyZW4uZm9yRWFjaChlbCA9PiB7CiAgICAgIGlmIChlbCA9PT0gZ2V0Q29udGFpbmVyKCkgfHwgZWwuY29udGFpbnMoZ2V0Q29udGFpbmVyKCkpKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGlmIChlbC5oYXNBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJykpIHsKICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2RhdGEtcHJldmlvdXMtYXJpYS1oaWRkZW4nLCBlbC5nZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJykpOwogICAgICB9CiAgICAgIGVsLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpOwogICAgfSk7CiAgfTsKICBjb25zdCB1bnNldEFyaWFIaWRkZW4gPSAoKSA9PiB7CiAgICBjb25zdCBib2R5Q2hpbGRyZW4gPSBBcnJheS5mcm9tKGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pOwogICAgYm9keUNoaWxkcmVuLmZvckVhY2goZWwgPT4gewogICAgICBpZiAoZWwuaGFzQXR0cmlidXRlKCdkYXRhLXByZXZpb3VzLWFyaWEtaGlkZGVuJykpIHsKICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXByZXZpb3VzLWFyaWEtaGlkZGVuJykpOwogICAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1wcmV2aW91cy1hcmlhLWhpZGRlbicpOwogICAgICB9IGVsc2UgewogICAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKTsKICAgICAgfQogICAgfSk7CiAgfTsKCiAgLyogaXN0YW5idWwgaWdub3JlIGZpbGUgKi8KCiAgLy8gRml4IGlPUyBzY3JvbGxpbmcgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3EvMzk2MjYzMDIKCiAgY29uc3QgaU9TZml4ID0gKCkgPT4gewogICAgY29uc3QgaU9TID0KICAgIC8vIEB0cy1pZ25vcmUKICAgIC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmICF3aW5kb3cuTVNTdHJlYW0gfHwgbmF2aWdhdG9yLnBsYXRmb3JtID09PSAnTWFjSW50ZWwnICYmIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyA+IDE7CiAgICBpZiAoaU9TICYmICFoYXNDbGFzcyhkb2N1bWVudC5ib2R5LCBzd2FsQ2xhc3Nlcy5pb3NmaXgpKSB7CiAgICAgIGNvbnN0IG9mZnNldCA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOwogICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnRvcCA9IGAke29mZnNldCAqIC0xfXB4YDsKICAgICAgYWRkQ2xhc3MoZG9jdW1lbnQuYm9keSwgc3dhbENsYXNzZXMuaW9zZml4KTsKICAgICAgbG9ja0JvZHlTY3JvbGwoKTsKICAgICAgYWRkQm90dG9tUGFkZGluZ0ZvclRhbGxQb3B1cHMoKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBodHRwczovL2dpdGh1Yi5jb20vc3dlZXRhbGVydDIvc3dlZXRhbGVydDIvaXNzdWVzLzE5NDgKICAgKi8KICBjb25zdCBhZGRCb3R0b21QYWRkaW5nRm9yVGFsbFBvcHVwcyA9ICgpID0+IHsKICAgIGNvbnN0IHVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsKICAgIGNvbnN0IGlPUyA9ICEhdWEubWF0Y2goL2lQYWQvaSkgfHwgISF1YS5tYXRjaCgvaVBob25lL2kpOwogICAgY29uc3Qgd2Via2l0ID0gISF1YS5tYXRjaCgvV2ViS2l0L2kpOwogICAgY29uc3QgaU9TU2FmYXJpID0gaU9TICYmIHdlYmtpdCAmJiAhdWEubWF0Y2goL0NyaU9TL2kpOwogICAgaWYgKGlPU1NhZmFyaSkgewogICAgICBjb25zdCBib3R0b21QYW5lbEhlaWdodCA9IDQ0OwogICAgICBpZiAoZ2V0UG9wdXAoKS5zY3JvbGxIZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQgLSBib3R0b21QYW5lbEhlaWdodCkgewogICAgICAgIGdldENvbnRhaW5lcigpLnN0eWxlLnBhZGRpbmdCb3R0b20gPSBgJHtib3R0b21QYW5lbEhlaWdodH1weGA7CiAgICAgIH0KICAgIH0KICB9OwoKICAvKioKICAgKiBodHRwczovL2dpdGh1Yi5jb20vc3dlZXRhbGVydDIvc3dlZXRhbGVydDIvaXNzdWVzLzEyNDYKICAgKi8KICBjb25zdCBsb2NrQm9keVNjcm9sbCA9ICgpID0+IHsKICAgIGNvbnN0IGNvbnRhaW5lciA9IGdldENvbnRhaW5lcigpOwogICAgbGV0IHByZXZlbnRUb3VjaE1vdmU7CiAgICAvKioKICAgICAqIEBwYXJhbSB7VG91Y2hFdmVudH0gZXZlbnQKICAgICAqLwogICAgY29udGFpbmVyLm9udG91Y2hzdGFydCA9IGV2ZW50ID0+IHsKICAgICAgcHJldmVudFRvdWNoTW92ZSA9IHNob3VsZFByZXZlbnRUb3VjaE1vdmUoZXZlbnQpOwogICAgfTsKICAgIC8qKgogICAgICogQHBhcmFtIHtUb3VjaEV2ZW50fSBldmVudAogICAgICovCiAgICBjb250YWluZXIub250b3VjaG1vdmUgPSBldmVudCA9PiB7CiAgICAgIGlmIChwcmV2ZW50VG91Y2hNb3ZlKSB7CiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgfQogICAgfTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1RvdWNoRXZlbnR9IGV2ZW50CiAgICogQHJldHVybnMge2Jvb2xlYW59CiAgICovCiAgY29uc3Qgc2hvdWxkUHJldmVudFRvdWNoTW92ZSA9IGV2ZW50ID0+IHsKICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldDsKICAgIGNvbnN0IGNvbnRhaW5lciA9IGdldENvbnRhaW5lcigpOwogICAgaWYgKGlzU3R5bHVzKGV2ZW50KSB8fCBpc1pvb20oZXZlbnQpKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIGlmICh0YXJnZXQgPT09IGNvbnRhaW5lcikgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIGlmICghaXNTY3JvbGxhYmxlKGNvbnRhaW5lcikgJiYgdGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgJiYgdGFyZ2V0LnRhZ05hbWUgIT09ICdJTlBVVCcgJiYKICAgIC8vICMxNjAzCiAgICB0YXJnZXQudGFnTmFtZSAhPT0gJ1RFWFRBUkVBJyAmJgogICAgLy8gIzIyNjYKICAgICEoaXNTY3JvbGxhYmxlKGdldEh0bWxDb250YWluZXIoKSkgJiYKICAgIC8vICMxOTQ0CiAgICBnZXRIdG1sQ29udGFpbmVyKCkuY29udGFpbnModGFyZ2V0KSkpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfTsKCiAgLyoqCiAgICogaHR0cHM6Ly9naXRodWIuY29tL3N3ZWV0YWxlcnQyL3N3ZWV0YWxlcnQyL2lzc3Vlcy8xNzg2CiAgICoKICAgKiBAcGFyYW0geyp9IGV2ZW50CiAgICogQHJldHVybnMge2Jvb2xlYW59CiAgICovCiAgY29uc3QgaXNTdHlsdXMgPSBldmVudCA9PiB7CiAgICByZXR1cm4gZXZlbnQudG91Y2hlcyAmJiBldmVudC50b3VjaGVzLmxlbmd0aCAmJiBldmVudC50b3VjaGVzWzBdLnRvdWNoVHlwZSA9PT0gJ3N0eWx1cyc7CiAgfTsKCiAgLyoqCiAgICogaHR0cHM6Ly9naXRodWIuY29tL3N3ZWV0YWxlcnQyL3N3ZWV0YWxlcnQyL2lzc3Vlcy8xODkxCiAgICoKICAgKiBAcGFyYW0ge1RvdWNoRXZlbnR9IGV2ZW50CiAgICogQHJldHVybnMge2Jvb2xlYW59CiAgICovCiAgY29uc3QgaXNab29tID0gZXZlbnQgPT4gewogICAgcmV0dXJuIGV2ZW50LnRvdWNoZXMgJiYgZXZlbnQudG91Y2hlcy5sZW5ndGggPiAxOwogIH07CiAgY29uc3QgdW5kb0lPU2ZpeCA9ICgpID0+IHsKICAgIGlmIChoYXNDbGFzcyhkb2N1bWVudC5ib2R5LCBzd2FsQ2xhc3Nlcy5pb3NmaXgpKSB7CiAgICAgIGNvbnN0IG9mZnNldCA9IHBhcnNlSW50KGRvY3VtZW50LmJvZHkuc3R5bGUudG9wLCAxMCk7CiAgICAgIHJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksIHN3YWxDbGFzc2VzLmlvc2ZpeCk7CiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUudG9wID0gJyc7CiAgICAgIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wID0gb2Zmc2V0ICogLTE7CiAgICB9CiAgfTsKCiAgY29uc3QgZml4U2Nyb2xsYmFyID0gKCkgPT4gewogICAgLy8gZm9yIHF1ZXVlcywgZG8gbm90IGRvIHRoaXMgbW9yZSB0aGFuIG9uY2UKICAgIGlmIChzdGF0ZXMucHJldmlvdXNCb2R5UGFkZGluZyAhPT0gbnVsbCkgewogICAgICByZXR1cm47CiAgICB9CiAgICAvLyBpZiB0aGUgYm9keSBoYXMgb3ZlcmZsb3cKICAgIGlmIChkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCA+IHdpbmRvdy5pbm5lckhlaWdodCkgewogICAgICAvLyBhZGQgcGFkZGluZyBzbyB0aGUgY29udGVudCBkb2Vzbid0IHNoaWZ0IGFmdGVyIHJlbW92YWwgb2Ygc2Nyb2xsYmFyCiAgICAgIHN0YXRlcy5wcmV2aW91c0JvZHlQYWRkaW5nID0gcGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy1yaWdodCcpKTsKICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBgJHtzdGF0ZXMucHJldmlvdXNCb2R5UGFkZGluZyArIG1lYXN1cmVTY3JvbGxiYXIoKX1weGA7CiAgICB9CiAgfTsKICBjb25zdCB1bmRvU2Nyb2xsYmFyID0gKCkgPT4gewogICAgaWYgKHN0YXRlcy5wcmV2aW91c0JvZHlQYWRkaW5nICE9PSBudWxsKSB7CiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID0gYCR7c3RhdGVzLnByZXZpb3VzQm9keVBhZGRpbmd9cHhgOwogICAgICBzdGF0ZXMucHJldmlvdXNCb2R5UGFkZGluZyA9IG51bGw7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0Mn0gaW5zdGFuY2UKICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBjb250YWluZXIKICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJldHVybkZvY3VzCiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZGlkQ2xvc2UKICAgKi8KICBmdW5jdGlvbiByZW1vdmVQb3B1cEFuZFJlc2V0U3RhdGUoaW5zdGFuY2UsIGNvbnRhaW5lciwgcmV0dXJuRm9jdXMsIGRpZENsb3NlKSB7CiAgICBpZiAoaXNUb2FzdCgpKSB7CiAgICAgIHRyaWdnZXJEaWRDbG9zZUFuZERpc3Bvc2UoaW5zdGFuY2UsIGRpZENsb3NlKTsKICAgIH0gZWxzZSB7CiAgICAgIHJlc3RvcmVBY3RpdmVFbGVtZW50KHJldHVybkZvY3VzKS50aGVuKCgpID0+IHRyaWdnZXJEaWRDbG9zZUFuZERpc3Bvc2UoaW5zdGFuY2UsIGRpZENsb3NlKSk7CiAgICAgIHJlbW92ZUtleWRvd25IYW5kbGVyKGdsb2JhbFN0YXRlKTsKICAgIH0KICAgIGNvbnN0IGlzU2FmYXJpID0gL14oKD8hY2hyb21lfGFuZHJvaWQpLikqc2FmYXJpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTsKICAgIC8vIHdvcmthcm91bmQgZm9yICMyMDg4CiAgICAvLyBmb3Igc29tZSByZWFzb24gcmVtb3ZpbmcgdGhlIGNvbnRhaW5lciBpbiBTYWZhcmkgd2lsbCBzY3JvbGwgdGhlIGRvY3VtZW50IHRvIGJvdHRvbQogICAgaWYgKGlzU2FmYXJpKSB7CiAgICAgIGNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50Jyk7CiAgICAgIGNvbnRhaW5lci5yZW1vdmVBdHRyaWJ1dGUoJ2NsYXNzJyk7CiAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnJzsKICAgIH0gZWxzZSB7CiAgICAgIGNvbnRhaW5lci5yZW1vdmUoKTsKICAgIH0KICAgIGlmIChpc01vZGFsKCkpIHsKICAgICAgdW5kb1Njcm9sbGJhcigpOwogICAgICB1bmRvSU9TZml4KCk7CiAgICAgIHVuc2V0QXJpYUhpZGRlbigpOwogICAgfQogICAgcmVtb3ZlQm9keUNsYXNzZXMoKTsKICB9CgogIC8qKgogICAqIFJlbW92ZSBTd2VldEFsZXJ0MiBjbGFzc2VzIGZyb20gYm9keQogICAqLwogIGZ1bmN0aW9uIHJlbW92ZUJvZHlDbGFzc2VzKCkgewogICAgcmVtb3ZlQ2xhc3MoW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgZG9jdW1lbnQuYm9keV0sIFtzd2FsQ2xhc3Nlcy5zaG93biwgc3dhbENsYXNzZXNbJ2hlaWdodC1hdXRvJ10sIHN3YWxDbGFzc2VzWyduby1iYWNrZHJvcCddLCBzd2FsQ2xhc3Nlc1sndG9hc3Qtc2hvd24nXV0pOwogIH0KCiAgLyoqCiAgICogSW5zdGFuY2UgbWV0aG9kIHRvIGNsb3NlIHN3ZWV0QWxlcnQKICAgKgogICAqIEBwYXJhbSB7YW55fSByZXNvbHZlVmFsdWUKICAgKi8KICBmdW5jdGlvbiBjbG9zZShyZXNvbHZlVmFsdWUpIHsKICAgIHJlc29sdmVWYWx1ZSA9IHByZXBhcmVSZXNvbHZlVmFsdWUocmVzb2x2ZVZhbHVlKTsKICAgIGNvbnN0IHN3YWxQcm9taXNlUmVzb2x2ZSA9IHByaXZhdGVNZXRob2RzLnN3YWxQcm9taXNlUmVzb2x2ZS5nZXQodGhpcyk7CiAgICBjb25zdCBkaWRDbG9zZSA9IHRyaWdnZXJDbG9zZVBvcHVwKHRoaXMpOwogICAgaWYgKHRoaXMuaXNBd2FpdGluZ1Byb21pc2UoKSkgewogICAgICAvLyBBIHN3YWwgYXdhaXRpbmcgZm9yIGEgcHJvbWlzZSAoYWZ0ZXIgYSBjbGljayBvbiBDb25maXJtIG9yIERlbnkpIGNhbm5vdCBiZSBkaXNtaXNzZWQgYW55bW9yZSAjMjMzNQogICAgICBpZiAoIXJlc29sdmVWYWx1ZS5pc0Rpc21pc3NlZCkgewogICAgICAgIGhhbmRsZUF3YWl0aW5nUHJvbWlzZSh0aGlzKTsKICAgICAgICBzd2FsUHJvbWlzZVJlc29sdmUocmVzb2x2ZVZhbHVlKTsKICAgICAgfQogICAgfSBlbHNlIGlmIChkaWRDbG9zZSkgewogICAgICAvLyBSZXNvbHZlIFN3YWwgcHJvbWlzZQogICAgICBzd2FsUHJvbWlzZVJlc29sdmUocmVzb2x2ZVZhbHVlKTsKICAgIH0KICB9CgogIC8qKgogICAqIEByZXR1cm5zIHtib29sZWFufQogICAqLwogIGZ1bmN0aW9uIGlzQXdhaXRpbmdQcm9taXNlKCkgewogICAgcmV0dXJuICEhcHJpdmF0ZVByb3BzLmF3YWl0aW5nUHJvbWlzZS5nZXQodGhpcyk7CiAgfQogIGNvbnN0IHRyaWdnZXJDbG9zZVBvcHVwID0gaW5zdGFuY2UgPT4gewogICAgY29uc3QgcG9wdXAgPSBnZXRQb3B1cCgpOwogICAgaWYgKCFwb3B1cCkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICBjb25zdCBpbm5lclBhcmFtcyA9IHByaXZhdGVQcm9wcy5pbm5lclBhcmFtcy5nZXQoaW5zdGFuY2UpOwogICAgaWYgKCFpbm5lclBhcmFtcyB8fCBoYXNDbGFzcyhwb3B1cCwgaW5uZXJQYXJhbXMuaGlkZUNsYXNzLnBvcHVwKSkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZW1vdmVDbGFzcyhwb3B1cCwgaW5uZXJQYXJhbXMuc2hvd0NsYXNzLnBvcHVwKTsKICAgIGFkZENsYXNzKHBvcHVwLCBpbm5lclBhcmFtcy5oaWRlQ2xhc3MucG9wdXApOwogICAgY29uc3QgYmFja2Ryb3AgPSBnZXRDb250YWluZXIoKTsKICAgIHJlbW92ZUNsYXNzKGJhY2tkcm9wLCBpbm5lclBhcmFtcy5zaG93Q2xhc3MuYmFja2Ryb3ApOwogICAgYWRkQ2xhc3MoYmFja2Ryb3AsIGlubmVyUGFyYW1zLmhpZGVDbGFzcy5iYWNrZHJvcCk7CiAgICBoYW5kbGVQb3B1cEFuaW1hdGlvbihpbnN0YW5jZSwgcG9wdXAsIGlubmVyUGFyYW1zKTsKICAgIHJldHVybiB0cnVlOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7YW55fSBlcnJvcgogICAqLwogIGZ1bmN0aW9uIHJlamVjdFByb21pc2UoZXJyb3IpIHsKICAgIGNvbnN0IHJlamVjdFByb21pc2UgPSBwcml2YXRlTWV0aG9kcy5zd2FsUHJvbWlzZVJlamVjdC5nZXQodGhpcyk7CiAgICBoYW5kbGVBd2FpdGluZ1Byb21pc2UodGhpcyk7CiAgICBpZiAocmVqZWN0UHJvbWlzZSkgewogICAgICAvLyBSZWplY3QgU3dhbCBwcm9taXNlCiAgICAgIHJlamVjdFByb21pc2UoZXJyb3IpOwogICAgfQogIH0KCiAgLyoqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0Mn0gaW5zdGFuY2UKICAgKi8KICBjb25zdCBoYW5kbGVBd2FpdGluZ1Byb21pc2UgPSBpbnN0YW5jZSA9PiB7CiAgICAvLyBAdHMtaWdub3JlCiAgICBpZiAoaW5zdGFuY2UuaXNBd2FpdGluZ1Byb21pc2UoKSkgewogICAgICBwcml2YXRlUHJvcHMuYXdhaXRpbmdQcm9taXNlLmRlbGV0ZShpbnN0YW5jZSk7CiAgICAgIC8vIFRoZSBpbnN0YW5jZSBtaWdodCBoYXZlIGJlZW4gcHJldmlvdXNseSBwYXJ0bHkgZGVzdHJveWVkLCB3ZSBtdXN0IHJlc3VtZSB0aGUgZGVzdHJveSBwcm9jZXNzIGluIHRoaXMgY2FzZSAjMjMzNQogICAgICBpZiAoIXByaXZhdGVQcm9wcy5pbm5lclBhcmFtcy5nZXQoaW5zdGFuY2UpKSB7CiAgICAgICAgLy8gQHRzLWlnbm9yZQogICAgICAgIGluc3RhbmNlLl9kZXN0cm95KCk7CiAgICAgIH0KICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge2FueX0gcmVzb2x2ZVZhbHVlCiAgICogQHJldHVybnMge1N3ZWV0QWxlcnRSZXN1bHR9CiAgICovCiAgY29uc3QgcHJlcGFyZVJlc29sdmVWYWx1ZSA9IHJlc29sdmVWYWx1ZSA9PiB7CiAgICAvLyBXaGVuIHVzZXIgY2FsbHMgU3dhbC5jbG9zZSgpCiAgICBpZiAodHlwZW9mIHJlc29sdmVWYWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBpc0NvbmZpcm1lZDogZmFsc2UsCiAgICAgICAgaXNEZW5pZWQ6IGZhbHNlLAogICAgICAgIGlzRGlzbWlzc2VkOiB0cnVlCiAgICAgIH07CiAgICB9CiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7CiAgICAgIGlzQ29uZmlybWVkOiBmYWxzZSwKICAgICAgaXNEZW5pZWQ6IGZhbHNlLAogICAgICBpc0Rpc21pc3NlZDogZmFsc2UKICAgIH0sIHJlc29sdmVWYWx1ZSk7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0Mn0gaW5zdGFuY2UKICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBwb3B1cAogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IGlubmVyUGFyYW1zCiAgICovCiAgY29uc3QgaGFuZGxlUG9wdXBBbmltYXRpb24gPSAoaW5zdGFuY2UsIHBvcHVwLCBpbm5lclBhcmFtcykgPT4gewogICAgY29uc3QgY29udGFpbmVyID0gZ2V0Q29udGFpbmVyKCk7CiAgICAvLyBJZiBhbmltYXRpb24gaXMgc3VwcG9ydGVkLCBhbmltYXRlCiAgICBjb25zdCBhbmltYXRpb25Jc1N1cHBvcnRlZCA9IGFuaW1hdGlvbkVuZEV2ZW50ICYmIGhhc0Nzc0FuaW1hdGlvbihwb3B1cCk7CiAgICBpZiAodHlwZW9mIGlubmVyUGFyYW1zLndpbGxDbG9zZSA9PT0gJ2Z1bmN0aW9uJykgewogICAgICBpbm5lclBhcmFtcy53aWxsQ2xvc2UocG9wdXApOwogICAgfQogICAgaWYgKGFuaW1hdGlvbklzU3VwcG9ydGVkKSB7CiAgICAgIGFuaW1hdGVQb3B1cChpbnN0YW5jZSwgcG9wdXAsIGNvbnRhaW5lciwgaW5uZXJQYXJhbXMucmV0dXJuRm9jdXMsIGlubmVyUGFyYW1zLmRpZENsb3NlKTsKICAgIH0gZWxzZSB7CiAgICAgIC8vIE90aGVyd2lzZSwgcmVtb3ZlIGltbWVkaWF0ZWx5CiAgICAgIHJlbW92ZVBvcHVwQW5kUmVzZXRTdGF0ZShpbnN0YW5jZSwgY29udGFpbmVyLCBpbm5lclBhcmFtcy5yZXR1cm5Gb2N1cywgaW5uZXJQYXJhbXMuZGlkQ2xvc2UpOwogICAgfQogIH07CgogIC8qKgogICAqIEBwYXJhbSB7U3dlZXRBbGVydDJ9IGluc3RhbmNlCiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcG9wdXAKICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBjb250YWluZXIKICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJldHVybkZvY3VzCiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZGlkQ2xvc2UKICAgKi8KICBjb25zdCBhbmltYXRlUG9wdXAgPSAoaW5zdGFuY2UsIHBvcHVwLCBjb250YWluZXIsIHJldHVybkZvY3VzLCBkaWRDbG9zZSkgPT4gewogICAgZ2xvYmFsU3RhdGUuc3dhbENsb3NlRXZlbnRGaW5pc2hlZENhbGxiYWNrID0gcmVtb3ZlUG9wdXBBbmRSZXNldFN0YXRlLmJpbmQobnVsbCwgaW5zdGFuY2UsIGNvbnRhaW5lciwgcmV0dXJuRm9jdXMsIGRpZENsb3NlKTsKICAgIHBvcHVwLmFkZEV2ZW50TGlzdGVuZXIoYW5pbWF0aW9uRW5kRXZlbnQsIGZ1bmN0aW9uIChlKSB7CiAgICAgIGlmIChlLnRhcmdldCA9PT0gcG9wdXApIHsKICAgICAgICBnbG9iYWxTdGF0ZS5zd2FsQ2xvc2VFdmVudEZpbmlzaGVkQ2FsbGJhY2soKTsKICAgICAgICBkZWxldGUgZ2xvYmFsU3RhdGUuc3dhbENsb3NlRXZlbnRGaW5pc2hlZENhbGxiYWNrOwogICAgICB9CiAgICB9KTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7RnVuY3Rpb259IGRpZENsb3NlCiAgICovCiAgY29uc3QgdHJpZ2dlckRpZENsb3NlQW5kRGlzcG9zZSA9IChpbnN0YW5jZSwgZGlkQ2xvc2UpID0+IHsKICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICBpZiAodHlwZW9mIGRpZENsb3NlID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgLy8gQHRzLWlnbm9yZQogICAgICAgIGRpZENsb3NlLmJpbmQoaW5zdGFuY2UucGFyYW1zKSgpOwogICAgICB9CiAgICAgIC8vIEB0cy1pZ25vcmUKICAgICAgaW5zdGFuY2UuX2Rlc3Ryb3koKTsKICAgIH0pOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7U3dlZXRBbGVydDJ9IGluc3RhbmNlCiAgICogQHBhcmFtIHtzdHJpbmdbXX0gYnV0dG9ucwogICAqIEBwYXJhbSB7Ym9vbGVhbn0gZGlzYWJsZWQKICAgKi8KICBmdW5jdGlvbiBzZXRCdXR0b25zRGlzYWJsZWQoaW5zdGFuY2UsIGJ1dHRvbnMsIGRpc2FibGVkKSB7CiAgICBjb25zdCBkb21DYWNoZSA9IHByaXZhdGVQcm9wcy5kb21DYWNoZS5nZXQoaW5zdGFuY2UpOwogICAgYnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiB7CiAgICAgIGRvbUNhY2hlW2J1dHRvbl0uZGlzYWJsZWQgPSBkaXNhYmxlZDsKICAgIH0pOwogIH0KCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBpbnB1dAogICAqIEBwYXJhbSB7Ym9vbGVhbn0gZGlzYWJsZWQKICAgKi8KICBmdW5jdGlvbiBzZXRJbnB1dERpc2FibGVkKGlucHV0LCBkaXNhYmxlZCkgewogICAgaWYgKCFpbnB1dCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoaW5wdXQudHlwZSA9PT0gJ3JhZGlvJykgewogICAgICBjb25zdCByYWRpb3NDb250YWluZXIgPSBpbnB1dC5wYXJlbnROb2RlLnBhcmVudE5vZGU7CiAgICAgIGNvbnN0IHJhZGlvcyA9IHJhZGlvc0NvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dCcpOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJhZGlvcy5sZW5ndGg7IGkrKykgewogICAgICAgIHJhZGlvc1tpXS5kaXNhYmxlZCA9IGRpc2FibGVkOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBpbnB1dC5kaXNhYmxlZCA9IGRpc2FibGVkOwogICAgfQogIH0KICBmdW5jdGlvbiBlbmFibGVCdXR0b25zKCkgewogICAgc2V0QnV0dG9uc0Rpc2FibGVkKHRoaXMsIFsnY29uZmlybUJ1dHRvbicsICdkZW55QnV0dG9uJywgJ2NhbmNlbEJ1dHRvbiddLCBmYWxzZSk7CiAgfQogIGZ1bmN0aW9uIGRpc2FibGVCdXR0b25zKCkgewogICAgc2V0QnV0dG9uc0Rpc2FibGVkKHRoaXMsIFsnY29uZmlybUJ1dHRvbicsICdkZW55QnV0dG9uJywgJ2NhbmNlbEJ1dHRvbiddLCB0cnVlKTsKICB9CiAgZnVuY3Rpb24gZW5hYmxlSW5wdXQoKSB7CiAgICBzZXRJbnB1dERpc2FibGVkKHRoaXMuZ2V0SW5wdXQoKSwgZmFsc2UpOwogIH0KICBmdW5jdGlvbiBkaXNhYmxlSW5wdXQoKSB7CiAgICBzZXRJbnB1dERpc2FibGVkKHRoaXMuZ2V0SW5wdXQoKSwgdHJ1ZSk7CiAgfQoKICAvKioKICAgKiBTaG93IGJsb2NrIHdpdGggdmFsaWRhdGlvbiBtZXNzYWdlCiAgICoKICAgKiBAcGFyYW0ge3N0cmluZ30gZXJyb3IKICAgKi8KICBmdW5jdGlvbiBzaG93VmFsaWRhdGlvbk1lc3NhZ2UoZXJyb3IpIHsKICAgIGNvbnN0IGRvbUNhY2hlID0gcHJpdmF0ZVByb3BzLmRvbUNhY2hlLmdldCh0aGlzKTsKICAgIGNvbnN0IHBhcmFtcyA9IHByaXZhdGVQcm9wcy5pbm5lclBhcmFtcy5nZXQodGhpcyk7CiAgICBzZXRJbm5lckh0bWwoZG9tQ2FjaGUudmFsaWRhdGlvbk1lc3NhZ2UsIGVycm9yKTsKICAgIGRvbUNhY2hlLnZhbGlkYXRpb25NZXNzYWdlLmNsYXNzTmFtZSA9IHN3YWxDbGFzc2VzWyd2YWxpZGF0aW9uLW1lc3NhZ2UnXTsKICAgIGlmIChwYXJhbXMuY3VzdG9tQ2xhc3MgJiYgcGFyYW1zLmN1c3RvbUNsYXNzLnZhbGlkYXRpb25NZXNzYWdlKSB7CiAgICAgIGFkZENsYXNzKGRvbUNhY2hlLnZhbGlkYXRpb25NZXNzYWdlLCBwYXJhbXMuY3VzdG9tQ2xhc3MudmFsaWRhdGlvbk1lc3NhZ2UpOwogICAgfQogICAgc2hvdyhkb21DYWNoZS52YWxpZGF0aW9uTWVzc2FnZSk7CiAgICBjb25zdCBpbnB1dCA9IHRoaXMuZ2V0SW5wdXQoKTsKICAgIGlmIChpbnB1dCkgewogICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaW52YWxpZCcsIHRydWUpOwogICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknLCBzd2FsQ2xhc3Nlc1sndmFsaWRhdGlvbi1tZXNzYWdlJ10pOwogICAgICBmb2N1c0lucHV0KGlucHV0KTsKICAgICAgYWRkQ2xhc3MoaW5wdXQsIHN3YWxDbGFzc2VzLmlucHV0ZXJyb3IpOwogICAgfQogIH0KCiAgLyoqCiAgICogSGlkZSBibG9jayB3aXRoIHZhbGlkYXRpb24gbWVzc2FnZQogICAqLwogIGZ1bmN0aW9uIHJlc2V0VmFsaWRhdGlvbk1lc3NhZ2UoKSB7CiAgICBjb25zdCBkb21DYWNoZSA9IHByaXZhdGVQcm9wcy5kb21DYWNoZS5nZXQodGhpcyk7CiAgICBpZiAoZG9tQ2FjaGUudmFsaWRhdGlvbk1lc3NhZ2UpIHsKICAgICAgaGlkZShkb21DYWNoZS52YWxpZGF0aW9uTWVzc2FnZSk7CiAgICB9CiAgICBjb25zdCBpbnB1dCA9IHRoaXMuZ2V0SW5wdXQoKTsKICAgIGlmIChpbnB1dCkgewogICAgICBpbnB1dC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtaW52YWxpZCcpOwogICAgICBpbnB1dC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKTsKICAgICAgcmVtb3ZlQ2xhc3MoaW5wdXQsIHN3YWxDbGFzc2VzLmlucHV0ZXJyb3IpOwogICAgfQogIH0KCiAgY29uc3QgZGVmYXVsdFBhcmFtcyA9IHsKICAgIHRpdGxlOiAnJywKICAgIHRpdGxlVGV4dDogJycsCiAgICB0ZXh0OiAnJywKICAgIGh0bWw6ICcnLAogICAgZm9vdGVyOiAnJywKICAgIGljb246IHVuZGVmaW5lZCwKICAgIGljb25Db2xvcjogdW5kZWZpbmVkLAogICAgaWNvbkh0bWw6IHVuZGVmaW5lZCwKICAgIHRlbXBsYXRlOiB1bmRlZmluZWQsCiAgICB0b2FzdDogZmFsc2UsCiAgICBzaG93Q2xhc3M6IHsKICAgICAgcG9wdXA6ICdzd2FsMi1zaG93JywKICAgICAgYmFja2Ryb3A6ICdzd2FsMi1iYWNrZHJvcC1zaG93JywKICAgICAgaWNvbjogJ3N3YWwyLWljb24tc2hvdycKICAgIH0sCiAgICBoaWRlQ2xhc3M6IHsKICAgICAgcG9wdXA6ICdzd2FsMi1oaWRlJywKICAgICAgYmFja2Ryb3A6ICdzd2FsMi1iYWNrZHJvcC1oaWRlJywKICAgICAgaWNvbjogJ3N3YWwyLWljb24taGlkZScKICAgIH0sCiAgICBjdXN0b21DbGFzczoge30sCiAgICB0YXJnZXQ6ICdib2R5JywKICAgIGNvbG9yOiB1bmRlZmluZWQsCiAgICBiYWNrZHJvcDogdHJ1ZSwKICAgIGhlaWdodEF1dG86IHRydWUsCiAgICBhbGxvd091dHNpZGVDbGljazogdHJ1ZSwKICAgIGFsbG93RXNjYXBlS2V5OiB0cnVlLAogICAgYWxsb3dFbnRlcktleTogdHJ1ZSwKICAgIHN0b3BLZXlkb3duUHJvcGFnYXRpb246IHRydWUsCiAgICBrZXlkb3duTGlzdGVuZXJDYXB0dXJlOiBmYWxzZSwKICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLAogICAgc2hvd0RlbnlCdXR0b246IGZhbHNlLAogICAgc2hvd0NhbmNlbEJ1dHRvbjogZmFsc2UsCiAgICBwcmVDb25maXJtOiB1bmRlZmluZWQsCiAgICBwcmVEZW55OiB1bmRlZmluZWQsCiAgICBjb25maXJtQnV0dG9uVGV4dDogJ09LJywKICAgIGNvbmZpcm1CdXR0b25BcmlhTGFiZWw6ICcnLAogICAgY29uZmlybUJ1dHRvbkNvbG9yOiB1bmRlZmluZWQsCiAgICBkZW55QnV0dG9uVGV4dDogJ05vJywKICAgIGRlbnlCdXR0b25BcmlhTGFiZWw6ICcnLAogICAgZGVueUJ1dHRvbkNvbG9yOiB1bmRlZmluZWQsCiAgICBjYW5jZWxCdXR0b25UZXh0OiAnQ2FuY2VsJywKICAgIGNhbmNlbEJ1dHRvbkFyaWFMYWJlbDogJycsCiAgICBjYW5jZWxCdXR0b25Db2xvcjogdW5kZWZpbmVkLAogICAgYnV0dG9uc1N0eWxpbmc6IHRydWUsCiAgICByZXZlcnNlQnV0dG9uczogZmFsc2UsCiAgICBmb2N1c0NvbmZpcm06IHRydWUsCiAgICBmb2N1c0Rlbnk6IGZhbHNlLAogICAgZm9jdXNDYW5jZWw6IGZhbHNlLAogICAgcmV0dXJuRm9jdXM6IHRydWUsCiAgICBzaG93Q2xvc2VCdXR0b246IGZhbHNlLAogICAgY2xvc2VCdXR0b25IdG1sOiAnJnRpbWVzOycsCiAgICBjbG9zZUJ1dHRvbkFyaWFMYWJlbDogJ0Nsb3NlIHRoaXMgZGlhbG9nJywKICAgIGxvYWRlckh0bWw6ICcnLAogICAgc2hvd0xvYWRlck9uQ29uZmlybTogZmFsc2UsCiAgICBzaG93TG9hZGVyT25EZW55OiBmYWxzZSwKICAgIGltYWdlVXJsOiB1bmRlZmluZWQsCiAgICBpbWFnZVdpZHRoOiB1bmRlZmluZWQsCiAgICBpbWFnZUhlaWdodDogdW5kZWZpbmVkLAogICAgaW1hZ2VBbHQ6ICcnLAogICAgdGltZXI6IHVuZGVmaW5lZCwKICAgIHRpbWVyUHJvZ3Jlc3NCYXI6IGZhbHNlLAogICAgd2lkdGg6IHVuZGVmaW5lZCwKICAgIHBhZGRpbmc6IHVuZGVmaW5lZCwKICAgIGJhY2tncm91bmQ6IHVuZGVmaW5lZCwKICAgIGlucHV0OiB1bmRlZmluZWQsCiAgICBpbnB1dFBsYWNlaG9sZGVyOiAnJywKICAgIGlucHV0TGFiZWw6ICcnLAogICAgaW5wdXRWYWx1ZTogJycsCiAgICBpbnB1dE9wdGlvbnM6IHt9LAogICAgaW5wdXRBdXRvRm9jdXM6IHRydWUsCiAgICBpbnB1dEF1dG9UcmltOiB0cnVlLAogICAgaW5wdXRBdHRyaWJ1dGVzOiB7fSwKICAgIGlucHV0VmFsaWRhdG9yOiB1bmRlZmluZWQsCiAgICByZXR1cm5JbnB1dFZhbHVlT25EZW55OiBmYWxzZSwKICAgIHZhbGlkYXRpb25NZXNzYWdlOiB1bmRlZmluZWQsCiAgICBncm93OiBmYWxzZSwKICAgIHBvc2l0aW9uOiAnY2VudGVyJywKICAgIHByb2dyZXNzU3RlcHM6IFtdLAogICAgY3VycmVudFByb2dyZXNzU3RlcDogdW5kZWZpbmVkLAogICAgcHJvZ3Jlc3NTdGVwc0Rpc3RhbmNlOiB1bmRlZmluZWQsCiAgICB3aWxsT3BlbjogdW5kZWZpbmVkLAogICAgZGlkT3BlbjogdW5kZWZpbmVkLAogICAgZGlkUmVuZGVyOiB1bmRlZmluZWQsCiAgICB3aWxsQ2xvc2U6IHVuZGVmaW5lZCwKICAgIGRpZENsb3NlOiB1bmRlZmluZWQsCiAgICBkaWREZXN0cm95OiB1bmRlZmluZWQsCiAgICBzY3JvbGxiYXJQYWRkaW5nOiB0cnVlCiAgfTsKICBjb25zdCB1cGRhdGFibGVQYXJhbXMgPSBbJ2FsbG93RXNjYXBlS2V5JywgJ2FsbG93T3V0c2lkZUNsaWNrJywgJ2JhY2tncm91bmQnLCAnYnV0dG9uc1N0eWxpbmcnLCAnY2FuY2VsQnV0dG9uQXJpYUxhYmVsJywgJ2NhbmNlbEJ1dHRvbkNvbG9yJywgJ2NhbmNlbEJ1dHRvblRleHQnLCAnY2xvc2VCdXR0b25BcmlhTGFiZWwnLCAnY2xvc2VCdXR0b25IdG1sJywgJ2NvbG9yJywgJ2NvbmZpcm1CdXR0b25BcmlhTGFiZWwnLCAnY29uZmlybUJ1dHRvbkNvbG9yJywgJ2NvbmZpcm1CdXR0b25UZXh0JywgJ2N1cnJlbnRQcm9ncmVzc1N0ZXAnLCAnY3VzdG9tQ2xhc3MnLCAnZGVueUJ1dHRvbkFyaWFMYWJlbCcsICdkZW55QnV0dG9uQ29sb3InLCAnZGVueUJ1dHRvblRleHQnLCAnZGlkQ2xvc2UnLCAnZGlkRGVzdHJveScsICdmb290ZXInLCAnaGlkZUNsYXNzJywgJ2h0bWwnLCAnaWNvbicsICdpY29uQ29sb3InLCAnaWNvbkh0bWwnLCAnaW1hZ2VBbHQnLCAnaW1hZ2VIZWlnaHQnLCAnaW1hZ2VVcmwnLCAnaW1hZ2VXaWR0aCcsICdwcmVDb25maXJtJywgJ3ByZURlbnknLCAncHJvZ3Jlc3NTdGVwcycsICdyZXR1cm5Gb2N1cycsICdyZXZlcnNlQnV0dG9ucycsICdzaG93Q2FuY2VsQnV0dG9uJywgJ3Nob3dDbG9zZUJ1dHRvbicsICdzaG93Q29uZmlybUJ1dHRvbicsICdzaG93RGVueUJ1dHRvbicsICd0ZXh0JywgJ3RpdGxlJywgJ3RpdGxlVGV4dCcsICd3aWxsQ2xvc2UnXTsKICBjb25zdCBkZXByZWNhdGVkUGFyYW1zID0ge307CiAgY29uc3QgdG9hc3RJbmNvbXBhdGlibGVQYXJhbXMgPSBbJ2FsbG93T3V0c2lkZUNsaWNrJywgJ2FsbG93RW50ZXJLZXknLCAnYmFja2Ryb3AnLCAnZm9jdXNDb25maXJtJywgJ2ZvY3VzRGVueScsICdmb2N1c0NhbmNlbCcsICdyZXR1cm5Gb2N1cycsICdoZWlnaHRBdXRvJywgJ2tleWRvd25MaXN0ZW5lckNhcHR1cmUnXTsKCiAgLyoqCiAgICogSXMgdmFsaWQgcGFyYW1ldGVyCiAgICoKICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1OYW1lCiAgICogQHJldHVybnMge2Jvb2xlYW59CiAgICovCiAgY29uc3QgaXNWYWxpZFBhcmFtZXRlciA9IHBhcmFtTmFtZSA9PiB7CiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGRlZmF1bHRQYXJhbXMsIHBhcmFtTmFtZSk7CiAgfTsKCiAgLyoqCiAgICogSXMgdmFsaWQgcGFyYW1ldGVyIGZvciBTd2FsLnVwZGF0ZSgpIG1ldGhvZAogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtTmFtZQogICAqIEByZXR1cm5zIHtib29sZWFufQogICAqLwogIGNvbnN0IGlzVXBkYXRhYmxlUGFyYW1ldGVyID0gcGFyYW1OYW1lID0+IHsKICAgIHJldHVybiB1cGRhdGFibGVQYXJhbXMuaW5kZXhPZihwYXJhbU5hbWUpICE9PSAtMTsKICB9OwoKICAvKioKICAgKiBJcyBkZXByZWNhdGVkIHBhcmFtZXRlcgogICAqCiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtTmFtZQogICAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9CiAgICovCiAgY29uc3QgaXNEZXByZWNhdGVkUGFyYW1ldGVyID0gcGFyYW1OYW1lID0+IHsKICAgIHJldHVybiBkZXByZWNhdGVkUGFyYW1zW3BhcmFtTmFtZV07CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtCiAgICovCiAgY29uc3QgY2hlY2tJZlBhcmFtSXNWYWxpZCA9IHBhcmFtID0+IHsKICAgIGlmICghaXNWYWxpZFBhcmFtZXRlcihwYXJhbSkpIHsKICAgICAgd2FybihgVW5rbm93biBwYXJhbWV0ZXIgIiR7cGFyYW19ImApOwogICAgfQogIH07CgogIC8qKgogICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbQogICAqLwogIGNvbnN0IGNoZWNrSWZUb2FzdFBhcmFtSXNWYWxpZCA9IHBhcmFtID0+IHsKICAgIGlmICh0b2FzdEluY29tcGF0aWJsZVBhcmFtcy5pbmNsdWRlcyhwYXJhbSkpIHsKICAgICAgd2FybihgVGhlIHBhcmFtZXRlciAiJHtwYXJhbX0iIGlzIGluY29tcGF0aWJsZSB3aXRoIHRvYXN0c2ApOwogICAgfQogIH07CgogIC8qKgogICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbQogICAqLwogIGNvbnN0IGNoZWNrSWZQYXJhbUlzRGVwcmVjYXRlZCA9IHBhcmFtID0+IHsKICAgIGlmIChpc0RlcHJlY2F0ZWRQYXJhbWV0ZXIocGFyYW0pKSB7CiAgICAgIHdhcm5BYm91dERlcHJlY2F0aW9uKHBhcmFtLCBpc0RlcHJlY2F0ZWRQYXJhbWV0ZXIocGFyYW0pKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBTaG93IHJlbGV2YW50IHdhcm5pbmdzIGZvciBnaXZlbiBwYXJhbXMKICAgKgogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IHBhcmFtcwogICAqLwogIGNvbnN0IHNob3dXYXJuaW5nc0ZvclBhcmFtcyA9IHBhcmFtcyA9PiB7CiAgICBpZiAocGFyYW1zLmJhY2tkcm9wID09PSBmYWxzZSAmJiBwYXJhbXMuYWxsb3dPdXRzaWRlQ2xpY2spIHsKICAgICAgd2FybignImFsbG93T3V0c2lkZUNsaWNrIiBwYXJhbWV0ZXIgcmVxdWlyZXMgYGJhY2tkcm9wYCBwYXJhbWV0ZXIgdG8gYmUgc2V0IHRvIGB0cnVlYCcpOwogICAgfQogICAgZm9yIChjb25zdCBwYXJhbSBpbiBwYXJhbXMpIHsKICAgICAgY2hlY2tJZlBhcmFtSXNWYWxpZChwYXJhbSk7CiAgICAgIGlmIChwYXJhbXMudG9hc3QpIHsKICAgICAgICBjaGVja0lmVG9hc3RQYXJhbUlzVmFsaWQocGFyYW0pOwogICAgICB9CiAgICAgIGNoZWNrSWZQYXJhbUlzRGVwcmVjYXRlZChwYXJhbSk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogVXBkYXRlcyBwb3B1cCBwYXJhbWV0ZXJzLgogICAqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICovCiAgZnVuY3Rpb24gdXBkYXRlKHBhcmFtcykgewogICAgY29uc3QgcG9wdXAgPSBnZXRQb3B1cCgpOwogICAgY29uc3QgaW5uZXJQYXJhbXMgPSBwcml2YXRlUHJvcHMuaW5uZXJQYXJhbXMuZ2V0KHRoaXMpOwogICAgaWYgKCFwb3B1cCB8fCBoYXNDbGFzcyhwb3B1cCwgaW5uZXJQYXJhbXMuaGlkZUNsYXNzLnBvcHVwKSkgewogICAgICB3YXJuKGBZb3UncmUgdHJ5aW5nIHRvIHVwZGF0ZSB0aGUgY2xvc2VkIG9yIGNsb3NpbmcgcG9wdXAsIHRoYXQgd29uJ3Qgd29yay4gVXNlIHRoZSB1cGRhdGUoKSBtZXRob2QgaW4gcHJlQ29uZmlybSBwYXJhbWV0ZXIgb3Igc2hvdyBhIG5ldyBwb3B1cC5gKTsKICAgICAgcmV0dXJuOwogICAgfQogICAgY29uc3QgdmFsaWRVcGRhdGFibGVQYXJhbXMgPSBmaWx0ZXJWYWxpZFBhcmFtcyhwYXJhbXMpOwogICAgY29uc3QgdXBkYXRlZFBhcmFtcyA9IE9iamVjdC5hc3NpZ24oe30sIGlubmVyUGFyYW1zLCB2YWxpZFVwZGF0YWJsZVBhcmFtcyk7CiAgICByZW5kZXIodGhpcywgdXBkYXRlZFBhcmFtcyk7CiAgICBwcml2YXRlUHJvcHMuaW5uZXJQYXJhbXMuc2V0KHRoaXMsIHVwZGF0ZWRQYXJhbXMpOwogICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcywgewogICAgICBwYXJhbXM6IHsKICAgICAgICB2YWx1ZTogT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5wYXJhbXMsIHBhcmFtcyksCiAgICAgICAgd3JpdGFibGU6IGZhbHNlLAogICAgICAgIGVudW1lcmFibGU6IHRydWUKICAgICAgfQogICAgfSk7CiAgfQoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKiBAcmV0dXJucyB7U3dlZXRBbGVydE9wdGlvbnN9CiAgICovCiAgY29uc3QgZmlsdGVyVmFsaWRQYXJhbXMgPSBwYXJhbXMgPT4gewogICAgY29uc3QgdmFsaWRVcGRhdGFibGVQYXJhbXMgPSB7fTsKICAgIE9iamVjdC5rZXlzKHBhcmFtcykuZm9yRWFjaChwYXJhbSA9PiB7CiAgICAgIGlmIChpc1VwZGF0YWJsZVBhcmFtZXRlcihwYXJhbSkpIHsKICAgICAgICB2YWxpZFVwZGF0YWJsZVBhcmFtc1twYXJhbV0gPSBwYXJhbXNbcGFyYW1dOwogICAgICB9IGVsc2UgewogICAgICAgIHdhcm4oYEludmFsaWQgcGFyYW1ldGVyIHRvIHVwZGF0ZTogJHtwYXJhbX1gKTsKICAgICAgfQogICAgfSk7CiAgICByZXR1cm4gdmFsaWRVcGRhdGFibGVQYXJhbXM7CiAgfTsKCiAgLyoqCiAgICogRGlzcG9zZSB0aGUgY3VycmVudCBTd2VldEFsZXJ0MiBpbnN0YW5jZQogICAqLwogIGZ1bmN0aW9uIF9kZXN0cm95KCkgewogICAgY29uc3QgZG9tQ2FjaGUgPSBwcml2YXRlUHJvcHMuZG9tQ2FjaGUuZ2V0KHRoaXMpOwogICAgY29uc3QgaW5uZXJQYXJhbXMgPSBwcml2YXRlUHJvcHMuaW5uZXJQYXJhbXMuZ2V0KHRoaXMpOwogICAgaWYgKCFpbm5lclBhcmFtcykgewogICAgICBkaXNwb3NlV2Vha01hcHModGhpcyk7IC8vIFRoZSBXZWFrTWFwcyBtaWdodCBoYXZlIGJlZW4gcGFydGx5IGRlc3Ryb3llZCwgd2UgbXVzdCByZWNhbGwgaXQgdG8gZGlzcG9zZSBhbnkgcmVtYWluaW5nIFdlYWtNYXBzICMyMzM1CiAgICAgIHJldHVybjsgLy8gVGhpcyBpbnN0YW5jZSBoYXMgYWxyZWFkeSBiZWVuIGRlc3Ryb3llZAogICAgfQoKICAgIC8vIENoZWNrIGlmIHRoZXJlIGlzIGFub3RoZXIgU3dhbCBjbG9zaW5nCiAgICBpZiAoZG9tQ2FjaGUucG9wdXAgJiYgZ2xvYmFsU3RhdGUuc3dhbENsb3NlRXZlbnRGaW5pc2hlZENhbGxiYWNrKSB7CiAgICAgIGdsb2JhbFN0YXRlLnN3YWxDbG9zZUV2ZW50RmluaXNoZWRDYWxsYmFjaygpOwogICAgICBkZWxldGUgZ2xvYmFsU3RhdGUuc3dhbENsb3NlRXZlbnRGaW5pc2hlZENhbGxiYWNrOwogICAgfQogICAgaWYgKHR5cGVvZiBpbm5lclBhcmFtcy5kaWREZXN0cm95ID09PSAnZnVuY3Rpb24nKSB7CiAgICAgIGlubmVyUGFyYW1zLmRpZERlc3Ryb3koKTsKICAgIH0KICAgIGRpc3Bvc2VTd2FsKHRoaXMpOwogIH0KCiAgLyoqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0Mn0gaW5zdGFuY2UKICAgKi8KICBjb25zdCBkaXNwb3NlU3dhbCA9IGluc3RhbmNlID0+IHsKICAgIGRpc3Bvc2VXZWFrTWFwcyhpbnN0YW5jZSk7CiAgICAvLyBVbnNldCB0aGlzLnBhcmFtcyBzbyBHQyB3aWxsIGRpc3Bvc2UgaXQgKCMxNTY5KQogICAgLy8gQHRzLWlnbm9yZQogICAgZGVsZXRlIGluc3RhbmNlLnBhcmFtczsKICAgIC8vIFVuc2V0IGdsb2JhbFN0YXRlIHByb3BzIHNvIEdDIHdpbGwgZGlzcG9zZSBnbG9iYWxTdGF0ZSAoIzE1NjkpCiAgICBkZWxldGUgZ2xvYmFsU3RhdGUua2V5ZG93bkhhbmRsZXI7CiAgICBkZWxldGUgZ2xvYmFsU3RhdGUua2V5ZG93blRhcmdldDsKICAgIC8vIFVuc2V0IGN1cnJlbnRJbnN0YW5jZQogICAgZGVsZXRlIGdsb2JhbFN0YXRlLmN1cnJlbnRJbnN0YW5jZTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqLwogIGNvbnN0IGRpc3Bvc2VXZWFrTWFwcyA9IGluc3RhbmNlID0+IHsKICAgIC8vIElmIHRoZSBjdXJyZW50IGluc3RhbmNlIGlzIGF3YWl0aW5nIGEgcHJvbWlzZSByZXN1bHQsIHdlIGtlZXAgdGhlIHByaXZhdGVNZXRob2RzIHRvIGNhbGwgdGhlbSBvbmNlIHRoZSBwcm9taXNlIHJlc3VsdCBpcyByZXRyaWV2ZWQgIzIzMzUKICAgIC8vIEB0cy1pZ25vcmUKICAgIGlmIChpbnN0YW5jZS5pc0F3YWl0aW5nUHJvbWlzZSgpKSB7CiAgICAgIHVuc2V0V2Vha01hcHMocHJpdmF0ZVByb3BzLCBpbnN0YW5jZSk7CiAgICAgIHByaXZhdGVQcm9wcy5hd2FpdGluZ1Byb21pc2Uuc2V0KGluc3RhbmNlLCB0cnVlKTsKICAgIH0gZWxzZSB7CiAgICAgIHVuc2V0V2Vha01hcHMocHJpdmF0ZU1ldGhvZHMsIGluc3RhbmNlKTsKICAgICAgdW5zZXRXZWFrTWFwcyhwcml2YXRlUHJvcHMsIGluc3RhbmNlKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge29iamVjdH0gb2JqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0Mn0gaW5zdGFuY2UKICAgKi8KICBjb25zdCB1bnNldFdlYWtNYXBzID0gKG9iaiwgaW5zdGFuY2UpID0+IHsKICAgIGZvciAoY29uc3QgaSBpbiBvYmopIHsKICAgICAgb2JqW2ldLmRlbGV0ZShpbnN0YW5jZSk7CiAgICB9CiAgfTsKCiAgdmFyIGluc3RhbmNlTWV0aG9kcyA9IC8qI19fUFVSRV9fKi9PYmplY3QuZnJlZXplKHsKICAgIF9fcHJvdG9fXzogbnVsbCwKICAgIF9kZXN0cm95OiBfZGVzdHJveSwKICAgIGNsb3NlOiBjbG9zZSwKICAgIGNsb3NlTW9kYWw6IGNsb3NlLAogICAgY2xvc2VQb3B1cDogY2xvc2UsCiAgICBjbG9zZVRvYXN0OiBjbG9zZSwKICAgIGRpc2FibGVCdXR0b25zOiBkaXNhYmxlQnV0dG9ucywKICAgIGRpc2FibGVJbnB1dDogZGlzYWJsZUlucHV0LAogICAgZGlzYWJsZUxvYWRpbmc6IGhpZGVMb2FkaW5nLAogICAgZW5hYmxlQnV0dG9uczogZW5hYmxlQnV0dG9ucywKICAgIGVuYWJsZUlucHV0OiBlbmFibGVJbnB1dCwKICAgIGdldElucHV0OiBnZXRJbnB1dCwKICAgIGhhbmRsZUF3YWl0aW5nUHJvbWlzZTogaGFuZGxlQXdhaXRpbmdQcm9taXNlLAogICAgaGlkZUxvYWRpbmc6IGhpZGVMb2FkaW5nLAogICAgaXNBd2FpdGluZ1Byb21pc2U6IGlzQXdhaXRpbmdQcm9taXNlLAogICAgcmVqZWN0UHJvbWlzZTogcmVqZWN0UHJvbWlzZSwKICAgIHJlc2V0VmFsaWRhdGlvbk1lc3NhZ2U6IHJlc2V0VmFsaWRhdGlvbk1lc3NhZ2UsCiAgICBzaG93VmFsaWRhdGlvbk1lc3NhZ2U6IHNob3dWYWxpZGF0aW9uTWVzc2FnZSwKICAgIHVwZGF0ZTogdXBkYXRlCiAgfSk7CgogIC8qKgogICAqIFNob3dzIGxvYWRlciAoc3Bpbm5lciksIHRoaXMgaXMgdXNlZnVsIHdpdGggQUpBWCByZXF1ZXN0cy4KICAgKiBCeSBkZWZhdWx0IHRoZSBsb2FkZXIgYmUgc2hvd24gaW5zdGVhZCBvZiB0aGUgIkNvbmZpcm0iIGJ1dHRvbi4KICAgKgogICAqIEBwYXJhbSB7SFRNTEJ1dHRvbkVsZW1lbnR9IFtidXR0b25Ub1JlcGxhY2VdCiAgICovCiAgY29uc3Qgc2hvd0xvYWRpbmcgPSBidXR0b25Ub1JlcGxhY2UgPT4gewogICAgbGV0IHBvcHVwID0gZ2V0UG9wdXAoKTsKICAgIGlmICghcG9wdXApIHsKICAgICAgbmV3IFN3YWwoKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXcKICAgIH0KCiAgICBwb3B1cCA9IGdldFBvcHVwKCk7CiAgICBjb25zdCBsb2FkZXIgPSBnZXRMb2FkZXIoKTsKICAgIGlmIChpc1RvYXN0KCkpIHsKICAgICAgaGlkZShnZXRJY29uKCkpOwogICAgfSBlbHNlIHsKICAgICAgcmVwbGFjZUJ1dHRvbihwb3B1cCwgYnV0dG9uVG9SZXBsYWNlKTsKICAgIH0KICAgIHNob3cobG9hZGVyKTsKICAgIHBvcHVwLnNldEF0dHJpYnV0ZSgnZGF0YS1sb2FkaW5nJywgJ3RydWUnKTsKICAgIHBvcHVwLnNldEF0dHJpYnV0ZSgnYXJpYS1idXN5JywgJ3RydWUnKTsKICAgIHBvcHVwLmZvY3VzKCk7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcG9wdXAKICAgKiBAcGFyYW0ge0hUTUxCdXR0b25FbGVtZW50fSBbYnV0dG9uVG9SZXBsYWNlXQogICAqLwogIGNvbnN0IHJlcGxhY2VCdXR0b24gPSAocG9wdXAsIGJ1dHRvblRvUmVwbGFjZSkgPT4gewogICAgY29uc3QgYWN0aW9ucyA9IGdldEFjdGlvbnMoKTsKICAgIGNvbnN0IGxvYWRlciA9IGdldExvYWRlcigpOwogICAgaWYgKCFidXR0b25Ub1JlcGxhY2UgJiYgaXNWaXNpYmxlJDEoZ2V0Q29uZmlybUJ1dHRvbigpKSkgewogICAgICBidXR0b25Ub1JlcGxhY2UgPSBnZXRDb25maXJtQnV0dG9uKCk7CiAgICB9CiAgICBzaG93KGFjdGlvbnMpOwogICAgaWYgKGJ1dHRvblRvUmVwbGFjZSkgewogICAgICBoaWRlKGJ1dHRvblRvUmVwbGFjZSk7CiAgICAgIGxvYWRlci5zZXRBdHRyaWJ1dGUoJ2RhdGEtYnV0dG9uLXRvLXJlcGxhY2UnLCBidXR0b25Ub1JlcGxhY2UuY2xhc3NOYW1lKTsKICAgIH0KICAgIGxvYWRlci5wYXJlbnROb2RlLmluc2VydEJlZm9yZShsb2FkZXIsIGJ1dHRvblRvUmVwbGFjZSk7CiAgICBhZGRDbGFzcyhbcG9wdXAsIGFjdGlvbnNdLCBzd2FsQ2xhc3Nlcy5sb2FkaW5nKTsKICB9OwoKICAvKioKICAgKiBAdHlwZWRlZiB7IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfSBJbnB1dFZhbHVlCiAgICovCgogIC8qKgogICAqIEBwYXJhbSB7U3dlZXRBbGVydDJ9IGluc3RhbmNlCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICovCiAgY29uc3QgaGFuZGxlSW5wdXRPcHRpb25zQW5kVmFsdWUgPSAoaW5zdGFuY2UsIHBhcmFtcykgPT4gewogICAgaWYgKHBhcmFtcy5pbnB1dCA9PT0gJ3NlbGVjdCcgfHwgcGFyYW1zLmlucHV0ID09PSAncmFkaW8nKSB7CiAgICAgIGhhbmRsZUlucHV0T3B0aW9ucyhpbnN0YW5jZSwgcGFyYW1zKTsKICAgIH0gZWxzZSBpZiAoWyd0ZXh0JywgJ2VtYWlsJywgJ251bWJlcicsICd0ZWwnLCAndGV4dGFyZWEnXS5pbmNsdWRlcyhwYXJhbXMuaW5wdXQpICYmIChoYXNUb1Byb21pc2VGbihwYXJhbXMuaW5wdXRWYWx1ZSkgfHwgaXNQcm9taXNlKHBhcmFtcy5pbnB1dFZhbHVlKSkpIHsKICAgICAgc2hvd0xvYWRpbmcoZ2V0Q29uZmlybUJ1dHRvbigpKTsKICAgICAgaGFuZGxlSW5wdXRWYWx1ZShpbnN0YW5jZSwgcGFyYW1zKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7U3dlZXRBbGVydE9wdGlvbnN9IGlubmVyUGFyYW1zCiAgICogQHJldHVybnMge3N0cmluZyB8IG51bWJlciB8IEZpbGUgfCBGaWxlTGlzdCB8IG51bGx9CiAgICovCiAgY29uc3QgZ2V0SW5wdXRWYWx1ZSA9IChpbnN0YW5jZSwgaW5uZXJQYXJhbXMpID0+IHsKICAgIGNvbnN0IGlucHV0ID0gaW5zdGFuY2UuZ2V0SW5wdXQoKTsKICAgIGlmICghaW5wdXQpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9CiAgICBzd2l0Y2ggKGlubmVyUGFyYW1zLmlucHV0KSB7CiAgICAgIGNhc2UgJ2NoZWNrYm94JzoKICAgICAgICByZXR1cm4gZ2V0Q2hlY2tib3hWYWx1ZShpbnB1dCk7CiAgICAgIGNhc2UgJ3JhZGlvJzoKICAgICAgICByZXR1cm4gZ2V0UmFkaW9WYWx1ZShpbnB1dCk7CiAgICAgIGNhc2UgJ2ZpbGUnOgogICAgICAgIHJldHVybiBnZXRGaWxlVmFsdWUoaW5wdXQpOwogICAgICBkZWZhdWx0OgogICAgICAgIHJldHVybiBpbm5lclBhcmFtcy5pbnB1dEF1dG9UcmltID8gaW5wdXQudmFsdWUudHJpbSgpIDogaW5wdXQudmFsdWU7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBpbnB1dAogICAqIEByZXR1cm5zIHtudW1iZXJ9CiAgICovCiAgY29uc3QgZ2V0Q2hlY2tib3hWYWx1ZSA9IGlucHV0ID0+IGlucHV0LmNoZWNrZWQgPyAxIDogMDsKCiAgLyoqCiAgICogQHBhcmFtIHtIVE1MSW5wdXRFbGVtZW50fSBpbnB1dAogICAqIEByZXR1cm5zIHtzdHJpbmcgfCBudWxsfQogICAqLwogIGNvbnN0IGdldFJhZGlvVmFsdWUgPSBpbnB1dCA9PiBpbnB1dC5jaGVja2VkID8gaW5wdXQudmFsdWUgOiBudWxsOwoKICAvKioKICAgKiBAcGFyYW0ge0hUTUxJbnB1dEVsZW1lbnR9IGlucHV0CiAgICogQHJldHVybnMge0ZpbGVMaXN0IHwgRmlsZSB8IG51bGx9CiAgICovCiAgY29uc3QgZ2V0RmlsZVZhbHVlID0gaW5wdXQgPT4gaW5wdXQuZmlsZXMubGVuZ3RoID8gaW5wdXQuZ2V0QXR0cmlidXRlKCdtdWx0aXBsZScpICE9PSBudWxsID8gaW5wdXQuZmlsZXMgOiBpbnB1dC5maWxlc1swXSA6IG51bGw7CgogIC8qKgogICAqIEBwYXJhbSB7U3dlZXRBbGVydDJ9IGluc3RhbmNlCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICovCiAgY29uc3QgaGFuZGxlSW5wdXRPcHRpb25zID0gKGluc3RhbmNlLCBwYXJhbXMpID0+IHsKICAgIGNvbnN0IHBvcHVwID0gZ2V0UG9wdXAoKTsKICAgIC8qKgogICAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBpbnB1dE9wdGlvbnMKICAgICAqLwogICAgY29uc3QgcHJvY2Vzc0lucHV0T3B0aW9ucyA9IGlucHV0T3B0aW9ucyA9PiB7CiAgICAgIHBvcHVsYXRlSW5wdXRPcHRpb25zW3BhcmFtcy5pbnB1dF0ocG9wdXAsIGZvcm1hdElucHV0T3B0aW9ucyhpbnB1dE9wdGlvbnMpLCBwYXJhbXMpOwogICAgfTsKICAgIGlmIChoYXNUb1Byb21pc2VGbihwYXJhbXMuaW5wdXRPcHRpb25zKSB8fCBpc1Byb21pc2UocGFyYW1zLmlucHV0T3B0aW9ucykpIHsKICAgICAgc2hvd0xvYWRpbmcoZ2V0Q29uZmlybUJ1dHRvbigpKTsKICAgICAgYXNQcm9taXNlKHBhcmFtcy5pbnB1dE9wdGlvbnMpLnRoZW4oaW5wdXRPcHRpb25zID0+IHsKICAgICAgICBpbnN0YW5jZS5oaWRlTG9hZGluZygpOwogICAgICAgIHByb2Nlc3NJbnB1dE9wdGlvbnMoaW5wdXRPcHRpb25zKTsKICAgICAgfSk7CiAgICB9IGVsc2UgaWYgKHR5cGVvZiBwYXJhbXMuaW5wdXRPcHRpb25zID09PSAnb2JqZWN0JykgewogICAgICBwcm9jZXNzSW5wdXRPcHRpb25zKHBhcmFtcy5pbnB1dE9wdGlvbnMpOwogICAgfSBlbHNlIHsKICAgICAgZXJyb3IoYFVuZXhwZWN0ZWQgdHlwZSBvZiBpbnB1dE9wdGlvbnMhIEV4cGVjdGVkIG9iamVjdCwgTWFwIG9yIFByb21pc2UsIGdvdCAke3R5cGVvZiBwYXJhbXMuaW5wdXRPcHRpb25zfWApOwogICAgfQogIH07CgogIC8qKgogICAqIEBwYXJhbSB7U3dlZXRBbGVydDJ9IGluc3RhbmNlCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICovCiAgY29uc3QgaGFuZGxlSW5wdXRWYWx1ZSA9IChpbnN0YW5jZSwgcGFyYW1zKSA9PiB7CiAgICBjb25zdCBpbnB1dCA9IGluc3RhbmNlLmdldElucHV0KCk7CiAgICBoaWRlKGlucHV0KTsKICAgIGFzUHJvbWlzZShwYXJhbXMuaW5wdXRWYWx1ZSkudGhlbihpbnB1dFZhbHVlID0+IHsKICAgICAgaW5wdXQudmFsdWUgPSBwYXJhbXMuaW5wdXQgPT09ICdudW1iZXInID8gYCR7cGFyc2VGbG9hdChpbnB1dFZhbHVlKSB8fCAwfWAgOiBgJHtpbnB1dFZhbHVlfWA7CiAgICAgIHNob3coaW5wdXQpOwogICAgICBpbnB1dC5mb2N1cygpOwogICAgICBpbnN0YW5jZS5oaWRlTG9hZGluZygpOwogICAgfSkuY2F0Y2goZXJyID0+IHsKICAgICAgZXJyb3IoYEVycm9yIGluIGlucHV0VmFsdWUgcHJvbWlzZTogJHtlcnJ9YCk7CiAgICAgIGlucHV0LnZhbHVlID0gJyc7CiAgICAgIHNob3coaW5wdXQpOwogICAgICBpbnB1dC5mb2N1cygpOwogICAgICBpbnN0YW5jZS5oaWRlTG9hZGluZygpOwogICAgfSk7CiAgfTsKICBjb25zdCBwb3B1bGF0ZUlucHV0T3B0aW9ucyA9IHsKICAgIC8qKgogICAgICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcG9wdXAKICAgICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gaW5wdXRPcHRpb25zCiAgICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgICAqLwogICAgc2VsZWN0OiAocG9wdXAsIGlucHV0T3B0aW9ucywgcGFyYW1zKSA9PiB7CiAgICAgIGNvbnN0IHNlbGVjdCA9IGdldERpcmVjdENoaWxkQnlDbGFzcyhwb3B1cCwgc3dhbENsYXNzZXMuc2VsZWN0KTsKICAgICAgLyoqCiAgICAgICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHBhcmVudAogICAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9uTGFiZWwKICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvblZhbHVlCiAgICAgICAqLwogICAgICBjb25zdCByZW5kZXJPcHRpb24gPSAocGFyZW50LCBvcHRpb25MYWJlbCwgb3B0aW9uVmFsdWUpID0+IHsKICAgICAgICBjb25zdCBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTsKICAgICAgICBvcHRpb24udmFsdWUgPSBvcHRpb25WYWx1ZTsKICAgICAgICBzZXRJbm5lckh0bWwob3B0aW9uLCBvcHRpb25MYWJlbCk7CiAgICAgICAgb3B0aW9uLnNlbGVjdGVkID0gaXNTZWxlY3RlZChvcHRpb25WYWx1ZSwgcGFyYW1zLmlucHV0VmFsdWUpOwogICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChvcHRpb24pOwogICAgICB9OwogICAgICBpbnB1dE9wdGlvbnMuZm9yRWFjaChpbnB1dE9wdGlvbiA9PiB7CiAgICAgICAgY29uc3Qgb3B0aW9uVmFsdWUgPSBpbnB1dE9wdGlvblswXTsKICAgICAgICBjb25zdCBvcHRpb25MYWJlbCA9IGlucHV0T3B0aW9uWzFdOwogICAgICAgIC8vIDxvcHRncm91cD4gc3BlYzoKICAgICAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDQwMS9pbnRlcmFjdC9mb3Jtcy5odG1sI2gtMTcuNgogICAgICAgIC8vICIuLi5hbGwgT1BUR1JPVVAgZWxlbWVudHMgbXVzdCBiZSBzcGVjaWZpZWQgZGlyZWN0bHkgd2l0aGluIGEgU0VMRUNUIGVsZW1lbnQgKGkuZS4sIGdyb3VwcyBtYXkgbm90IGJlIG5lc3RlZCkuLi4iCiAgICAgICAgLy8gY2hlY2sgd2hldGhlciB0aGlzIGlzIGEgPG9wdGdyb3VwPgogICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbkxhYmVsKSkgewogICAgICAgICAgLy8gaWYgaXQgaXMgYW4gYXJyYXksIHRoZW4gaXQgaXMgYW4gPG9wdGdyb3VwPgogICAgICAgICAgY29uc3Qgb3B0Z3JvdXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRncm91cCcpOwogICAgICAgICAgb3B0Z3JvdXAubGFiZWwgPSBvcHRpb25WYWx1ZTsKICAgICAgICAgIG9wdGdyb3VwLmRpc2FibGVkID0gZmFsc2U7IC8vIG5vdCBjb25maWd1cmFibGUgZm9yIG5vdwogICAgICAgICAgc2VsZWN0LmFwcGVuZENoaWxkKG9wdGdyb3VwKTsKICAgICAgICAgIG9wdGlvbkxhYmVsLmZvckVhY2gobyA9PiByZW5kZXJPcHRpb24ob3B0Z3JvdXAsIG9bMV0sIG9bMF0pKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8gY2FzZSBvZiA8b3B0aW9uPgogICAgICAgICAgcmVuZGVyT3B0aW9uKHNlbGVjdCwgb3B0aW9uTGFiZWwsIG9wdGlvblZhbHVlKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgICBzZWxlY3QuZm9jdXMoKTsKICAgIH0sCiAgICAvKioKICAgICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHBvcHVwCiAgICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IGlucHV0T3B0aW9ucwogICAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICAgKi8KICAgIHJhZGlvOiAocG9wdXAsIGlucHV0T3B0aW9ucywgcGFyYW1zKSA9PiB7CiAgICAgIGNvbnN0IHJhZGlvID0gZ2V0RGlyZWN0Q2hpbGRCeUNsYXNzKHBvcHVwLCBzd2FsQ2xhc3Nlcy5yYWRpbyk7CiAgICAgIGlucHV0T3B0aW9ucy5mb3JFYWNoKGlucHV0T3B0aW9uID0+IHsKICAgICAgICBjb25zdCByYWRpb1ZhbHVlID0gaW5wdXRPcHRpb25bMF07CiAgICAgICAgY29uc3QgcmFkaW9MYWJlbCA9IGlucHV0T3B0aW9uWzFdOwogICAgICAgIGNvbnN0IHJhZGlvSW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwogICAgICAgIGNvbnN0IHJhZGlvTGFiZWxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTsKICAgICAgICByYWRpb0lucHV0LnR5cGUgPSAncmFkaW8nOwogICAgICAgIHJhZGlvSW5wdXQubmFtZSA9IHN3YWxDbGFzc2VzLnJhZGlvOwogICAgICAgIHJhZGlvSW5wdXQudmFsdWUgPSByYWRpb1ZhbHVlOwogICAgICAgIGlmIChpc1NlbGVjdGVkKHJhZGlvVmFsdWUsIHBhcmFtcy5pbnB1dFZhbHVlKSkgewogICAgICAgICAgcmFkaW9JbnB1dC5jaGVja2VkID0gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7CiAgICAgICAgc2V0SW5uZXJIdG1sKGxhYmVsLCByYWRpb0xhYmVsKTsKICAgICAgICBsYWJlbC5jbGFzc05hbWUgPSBzd2FsQ2xhc3Nlcy5sYWJlbDsKICAgICAgICByYWRpb0xhYmVsRWxlbWVudC5hcHBlbmRDaGlsZChyYWRpb0lucHV0KTsKICAgICAgICByYWRpb0xhYmVsRWxlbWVudC5hcHBlbmRDaGlsZChsYWJlbCk7CiAgICAgICAgcmFkaW8uYXBwZW5kQ2hpbGQocmFkaW9MYWJlbEVsZW1lbnQpOwogICAgICB9KTsKICAgICAgY29uc3QgcmFkaW9zID0gcmFkaW8ucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQnKTsKICAgICAgaWYgKHJhZGlvcy5sZW5ndGgpIHsKICAgICAgICByYWRpb3NbMF0uZm9jdXMoKTsKICAgICAgfQogICAgfQogIH07CgogIC8qKgogICAqIENvbnZlcnRzIGBpbnB1dE9wdGlvbnNgIGludG8gYW4gYXJyYXkgb2YgYFt2YWx1ZSwgbGFiZWxdYHMKICAgKgogICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gaW5wdXRPcHRpb25zCiAgICogQHJldHVybnMge0FycmF5PEFycmF5PHN0cmluZz4+fQogICAqLwogIGNvbnN0IGZvcm1hdElucHV0T3B0aW9ucyA9IGlucHV0T3B0aW9ucyA9PiB7CiAgICBjb25zdCByZXN1bHQgPSBbXTsKICAgIGlmICh0eXBlb2YgTWFwICE9PSAndW5kZWZpbmVkJyAmJiBpbnB1dE9wdGlvbnMgaW5zdGFuY2VvZiBNYXApIHsKICAgICAgaW5wdXRPcHRpb25zLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHsKICAgICAgICBsZXQgdmFsdWVGb3JtYXR0ZWQgPSB2YWx1ZTsKICAgICAgICBpZiAodHlwZW9mIHZhbHVlRm9ybWF0dGVkID09PSAnb2JqZWN0JykgewogICAgICAgICAgLy8gY2FzZSBvZiA8b3B0Z3JvdXA+CiAgICAgICAgICB2YWx1ZUZvcm1hdHRlZCA9IGZvcm1hdElucHV0T3B0aW9ucyh2YWx1ZUZvcm1hdHRlZCk7CiAgICAgICAgfQogICAgICAgIHJlc3VsdC5wdXNoKFtrZXksIHZhbHVlRm9ybWF0dGVkXSk7CiAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgT2JqZWN0LmtleXMoaW5wdXRPcHRpb25zKS5mb3JFYWNoKGtleSA9PiB7CiAgICAgICAgbGV0IHZhbHVlRm9ybWF0dGVkID0gaW5wdXRPcHRpb25zW2tleV07CiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZUZvcm1hdHRlZCA9PT0gJ29iamVjdCcpIHsKICAgICAgICAgIC8vIGNhc2Ugb2YgPG9wdGdyb3VwPgogICAgICAgICAgdmFsdWVGb3JtYXR0ZWQgPSBmb3JtYXRJbnB1dE9wdGlvbnModmFsdWVGb3JtYXR0ZWQpOwogICAgICAgIH0KICAgICAgICByZXN1bHQucHVzaChba2V5LCB2YWx1ZUZvcm1hdHRlZF0pOwogICAgICB9KTsKICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvblZhbHVlCiAgICogQHBhcmFtIHtJbnB1dFZhbHVlIHwgUHJvbWlzZTxJbnB1dFZhbHVlPiB8IHsgdG9Qcm9taXNlOiAoKSA9PiBJbnB1dFZhbHVlIH19IGlucHV0VmFsdWUKICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0KICAgKi8KICBjb25zdCBpc1NlbGVjdGVkID0gKG9wdGlvblZhbHVlLCBpbnB1dFZhbHVlKSA9PiB7CiAgICByZXR1cm4gaW5wdXRWYWx1ZSAmJiBpbnB1dFZhbHVlLnRvU3RyaW5nKCkgPT09IG9wdGlvblZhbHVlLnRvU3RyaW5nKCk7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0Mn0gaW5zdGFuY2UKICAgKi8KICBjb25zdCBoYW5kbGVDb25maXJtQnV0dG9uQ2xpY2sgPSBpbnN0YW5jZSA9PiB7CiAgICBjb25zdCBpbm5lclBhcmFtcyA9IHByaXZhdGVQcm9wcy5pbm5lclBhcmFtcy5nZXQoaW5zdGFuY2UpOwogICAgaW5zdGFuY2UuZGlzYWJsZUJ1dHRvbnMoKTsKICAgIGlmIChpbm5lclBhcmFtcy5pbnB1dCkgewogICAgICBoYW5kbGVDb25maXJtT3JEZW55V2l0aElucHV0KGluc3RhbmNlLCAnY29uZmlybScpOwogICAgfSBlbHNlIHsKICAgICAgY29uZmlybShpbnN0YW5jZSwgdHJ1ZSk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0Mn0gaW5zdGFuY2UKICAgKi8KICBjb25zdCBoYW5kbGVEZW55QnV0dG9uQ2xpY2sgPSBpbnN0YW5jZSA9PiB7CiAgICBjb25zdCBpbm5lclBhcmFtcyA9IHByaXZhdGVQcm9wcy5pbm5lclBhcmFtcy5nZXQoaW5zdGFuY2UpOwogICAgaW5zdGFuY2UuZGlzYWJsZUJ1dHRvbnMoKTsKICAgIGlmIChpbm5lclBhcmFtcy5yZXR1cm5JbnB1dFZhbHVlT25EZW55KSB7CiAgICAgIGhhbmRsZUNvbmZpcm1PckRlbnlXaXRoSW5wdXQoaW5zdGFuY2UsICdkZW55Jyk7CiAgICB9IGVsc2UgewogICAgICBkZW55KGluc3RhbmNlLCBmYWxzZSk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0Mn0gaW5zdGFuY2UKICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBkaXNtaXNzV2l0aAogICAqLwogIGNvbnN0IGhhbmRsZUNhbmNlbEJ1dHRvbkNsaWNrID0gKGluc3RhbmNlLCBkaXNtaXNzV2l0aCkgPT4gewogICAgaW5zdGFuY2UuZGlzYWJsZUJ1dHRvbnMoKTsKICAgIGRpc21pc3NXaXRoKERpc21pc3NSZWFzb24uY2FuY2VsKTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7J2NvbmZpcm0nIHwgJ2RlbnknfSB0eXBlCiAgICovCiAgY29uc3QgaGFuZGxlQ29uZmlybU9yRGVueVdpdGhJbnB1dCA9IChpbnN0YW5jZSwgdHlwZSkgPT4gewogICAgY29uc3QgaW5uZXJQYXJhbXMgPSBwcml2YXRlUHJvcHMuaW5uZXJQYXJhbXMuZ2V0KGluc3RhbmNlKTsKICAgIGlmICghaW5uZXJQYXJhbXMuaW5wdXQpIHsKICAgICAgZXJyb3IoYFRoZSAiaW5wdXQiIHBhcmFtZXRlciBpcyBuZWVkZWQgdG8gYmUgc2V0IHdoZW4gdXNpbmcgcmV0dXJuSW5wdXRWYWx1ZU9uJHtjYXBpdGFsaXplRmlyc3RMZXR0ZXIodHlwZSl9YCk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGNvbnN0IGlucHV0VmFsdWUgPSBnZXRJbnB1dFZhbHVlKGluc3RhbmNlLCBpbm5lclBhcmFtcyk7CiAgICBpZiAoaW5uZXJQYXJhbXMuaW5wdXRWYWxpZGF0b3IpIHsKICAgICAgaGFuZGxlSW5wdXRWYWxpZGF0b3IoaW5zdGFuY2UsIGlucHV0VmFsdWUsIHR5cGUpOwogICAgfSBlbHNlIGlmICghaW5zdGFuY2UuZ2V0SW5wdXQoKS5jaGVja1ZhbGlkaXR5KCkpIHsKICAgICAgaW5zdGFuY2UuZW5hYmxlQnV0dG9ucygpOwogICAgICBpbnN0YW5jZS5zaG93VmFsaWRhdGlvbk1lc3NhZ2UoaW5uZXJQYXJhbXMudmFsaWRhdGlvbk1lc3NhZ2UpOwogICAgfSBlbHNlIGlmICh0eXBlID09PSAnZGVueScpIHsKICAgICAgZGVueShpbnN0YW5jZSwgaW5wdXRWYWx1ZSk7CiAgICB9IGVsc2UgewogICAgICBjb25maXJtKGluc3RhbmNlLCBpbnB1dFZhbHVlKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7c3RyaW5nIHwgbnVtYmVyIHwgRmlsZSB8IEZpbGVMaXN0IHwgbnVsbH0gaW5wdXRWYWx1ZQogICAqIEBwYXJhbSB7J2NvbmZpcm0nIHwgJ2RlbnknfSB0eXBlCiAgICovCiAgY29uc3QgaGFuZGxlSW5wdXRWYWxpZGF0b3IgPSAoaW5zdGFuY2UsIGlucHV0VmFsdWUsIHR5cGUpID0+IHsKICAgIGNvbnN0IGlubmVyUGFyYW1zID0gcHJpdmF0ZVByb3BzLmlubmVyUGFyYW1zLmdldChpbnN0YW5jZSk7CiAgICBpbnN0YW5jZS5kaXNhYmxlSW5wdXQoKTsKICAgIGNvbnN0IHZhbGlkYXRpb25Qcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiBhc1Byb21pc2UoaW5uZXJQYXJhbXMuaW5wdXRWYWxpZGF0b3IoaW5wdXRWYWx1ZSwgaW5uZXJQYXJhbXMudmFsaWRhdGlvbk1lc3NhZ2UpKSk7CiAgICB2YWxpZGF0aW9uUHJvbWlzZS50aGVuKHZhbGlkYXRpb25NZXNzYWdlID0+IHsKICAgICAgaW5zdGFuY2UuZW5hYmxlQnV0dG9ucygpOwogICAgICBpbnN0YW5jZS5lbmFibGVJbnB1dCgpOwogICAgICBpZiAodmFsaWRhdGlvbk1lc3NhZ2UpIHsKICAgICAgICBpbnN0YW5jZS5zaG93VmFsaWRhdGlvbk1lc3NhZ2UodmFsaWRhdGlvbk1lc3NhZ2UpOwogICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdkZW55JykgewogICAgICAgIGRlbnkoaW5zdGFuY2UsIGlucHV0VmFsdWUpOwogICAgICB9IGVsc2UgewogICAgICAgIGNvbmZpcm0oaW5zdGFuY2UsIGlucHV0VmFsdWUpOwogICAgICB9CiAgICB9KTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7YW55fSB2YWx1ZQogICAqLwogIGNvbnN0IGRlbnkgPSAoaW5zdGFuY2UsIHZhbHVlKSA9PiB7CiAgICBjb25zdCBpbm5lclBhcmFtcyA9IHByaXZhdGVQcm9wcy5pbm5lclBhcmFtcy5nZXQoaW5zdGFuY2UgfHwgdW5kZWZpbmVkKTsKICAgIGlmIChpbm5lclBhcmFtcy5zaG93TG9hZGVyT25EZW55KSB7CiAgICAgIHNob3dMb2FkaW5nKGdldERlbnlCdXR0b24oKSk7CiAgICB9CiAgICBpZiAoaW5uZXJQYXJhbXMucHJlRGVueSkgewogICAgICBwcml2YXRlUHJvcHMuYXdhaXRpbmdQcm9taXNlLnNldChpbnN0YW5jZSB8fCB1bmRlZmluZWQsIHRydWUpOyAvLyBGbGFnZ2luZyB0aGUgaW5zdGFuY2UgYXMgYXdhaXRpbmcgYSBwcm9taXNlIHNvIGl0J3Mgb3duIHByb21pc2UncyByZWplY3QvcmVzb2x2ZSBtZXRob2RzIGRvZXNuJ3QgZ2V0IGRlc3Ryb3llZCB1bnRpbCB0aGUgcmVzdWx0IGZyb20gdGhpcyBwcmVEZW55J3MgcHJvbWlzZSBpcyByZWNlaXZlZAogICAgICBjb25zdCBwcmVEZW55UHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gYXNQcm9taXNlKGlubmVyUGFyYW1zLnByZURlbnkodmFsdWUsIGlubmVyUGFyYW1zLnZhbGlkYXRpb25NZXNzYWdlKSkpOwogICAgICBwcmVEZW55UHJvbWlzZS50aGVuKHByZURlbnlWYWx1ZSA9PiB7CiAgICAgICAgaWYgKHByZURlbnlWYWx1ZSA9PT0gZmFsc2UpIHsKICAgICAgICAgIGluc3RhbmNlLmhpZGVMb2FkaW5nKCk7CiAgICAgICAgICBoYW5kbGVBd2FpdGluZ1Byb21pc2UoaW5zdGFuY2UpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBpbnN0YW5jZS5jbG9zZSh7CiAgICAgICAgICAgIGlzRGVuaWVkOiB0cnVlLAogICAgICAgICAgICB2YWx1ZTogdHlwZW9mIHByZURlbnlWYWx1ZSA9PT0gJ3VuZGVmaW5lZCcgPyB2YWx1ZSA6IHByZURlbnlWYWx1ZQogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9KS5jYXRjaChlcnJvciA9PiByZWplY3RXaXRoKGluc3RhbmNlIHx8IHVuZGVmaW5lZCwgZXJyb3IpKTsKICAgIH0gZWxzZSB7CiAgICAgIGluc3RhbmNlLmNsb3NlKHsKICAgICAgICBpc0RlbmllZDogdHJ1ZSwKICAgICAgICB2YWx1ZQogICAgICB9KTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7YW55fSB2YWx1ZQogICAqLwogIGNvbnN0IHN1Y2NlZWRXaXRoID0gKGluc3RhbmNlLCB2YWx1ZSkgPT4gewogICAgaW5zdGFuY2UuY2xvc2UoewogICAgICBpc0NvbmZpcm1lZDogdHJ1ZSwKICAgICAgdmFsdWUKICAgIH0pOwogIH07CgogIC8qKgogICAqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0Mn0gaW5zdGFuY2UKICAgKiBAcGFyYW0ge3N0cmluZ30gZXJyb3IKICAgKi8KICBjb25zdCByZWplY3RXaXRoID0gKGluc3RhbmNlLCBlcnJvcikgPT4gewogICAgLy8gQHRzLWlnbm9yZQogICAgaW5zdGFuY2UucmVqZWN0UHJvbWlzZShlcnJvcik7CiAgfTsKCiAgLyoqCiAgICoKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7YW55fSB2YWx1ZQogICAqLwogIGNvbnN0IGNvbmZpcm0gPSAoaW5zdGFuY2UsIHZhbHVlKSA9PiB7CiAgICBjb25zdCBpbm5lclBhcmFtcyA9IHByaXZhdGVQcm9wcy5pbm5lclBhcmFtcy5nZXQoaW5zdGFuY2UgfHwgdW5kZWZpbmVkKTsKICAgIGlmIChpbm5lclBhcmFtcy5zaG93TG9hZGVyT25Db25maXJtKSB7CiAgICAgIHNob3dMb2FkaW5nKCk7CiAgICB9CiAgICBpZiAoaW5uZXJQYXJhbXMucHJlQ29uZmlybSkgewogICAgICBpbnN0YW5jZS5yZXNldFZhbGlkYXRpb25NZXNzYWdlKCk7CiAgICAgIHByaXZhdGVQcm9wcy5hd2FpdGluZ1Byb21pc2Uuc2V0KGluc3RhbmNlIHx8IHVuZGVmaW5lZCwgdHJ1ZSk7IC8vIEZsYWdnaW5nIHRoZSBpbnN0YW5jZSBhcyBhd2FpdGluZyBhIHByb21pc2Ugc28gaXQncyBvd24gcHJvbWlzZSdzIHJlamVjdC9yZXNvbHZlIG1ldGhvZHMgZG9lc24ndCBnZXQgZGVzdHJveWVkIHVudGlsIHRoZSByZXN1bHQgZnJvbSB0aGlzIHByZUNvbmZpcm0ncyBwcm9taXNlIGlzIHJlY2VpdmVkCiAgICAgIGNvbnN0IHByZUNvbmZpcm1Qcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiBhc1Byb21pc2UoaW5uZXJQYXJhbXMucHJlQ29uZmlybSh2YWx1ZSwgaW5uZXJQYXJhbXMudmFsaWRhdGlvbk1lc3NhZ2UpKSk7CiAgICAgIHByZUNvbmZpcm1Qcm9taXNlLnRoZW4ocHJlQ29uZmlybVZhbHVlID0+IHsKICAgICAgICBpZiAoaXNWaXNpYmxlJDEoZ2V0VmFsaWRhdGlvbk1lc3NhZ2UoKSkgfHwgcHJlQ29uZmlybVZhbHVlID09PSBmYWxzZSkgewogICAgICAgICAgaW5zdGFuY2UuaGlkZUxvYWRpbmcoKTsKICAgICAgICAgIGhhbmRsZUF3YWl0aW5nUHJvbWlzZShpbnN0YW5jZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHN1Y2NlZWRXaXRoKGluc3RhbmNlLCB0eXBlb2YgcHJlQ29uZmlybVZhbHVlID09PSAndW5kZWZpbmVkJyA/IHZhbHVlIDogcHJlQ29uZmlybVZhbHVlKTsKICAgICAgICB9CiAgICAgIH0pLmNhdGNoKGVycm9yID0+IHJlamVjdFdpdGgoaW5zdGFuY2UgfHwgdW5kZWZpbmVkLCBlcnJvcikpOwogICAgfSBlbHNlIHsKICAgICAgc3VjY2VlZFdpdGgoaW5zdGFuY2UsIHZhbHVlKTsKICAgIH0KICB9OwoKICBjb25zdCBoYW5kbGVQb3B1cENsaWNrID0gKGluc3RhbmNlLCBkb21DYWNoZSwgZGlzbWlzc1dpdGgpID0+IHsKICAgIGNvbnN0IGlubmVyUGFyYW1zID0gcHJpdmF0ZVByb3BzLmlubmVyUGFyYW1zLmdldChpbnN0YW5jZSk7CiAgICBpZiAoaW5uZXJQYXJhbXMudG9hc3QpIHsKICAgICAgaGFuZGxlVG9hc3RDbGljayhpbnN0YW5jZSwgZG9tQ2FjaGUsIGRpc21pc3NXaXRoKTsKICAgIH0gZWxzZSB7CiAgICAgIC8vIElnbm9yZSBjbGljayBldmVudHMgdGhhdCBoYWQgbW91c2Vkb3duIG9uIHRoZSBwb3B1cCBidXQgbW91c2V1cCBvbiB0aGUgY29udGFpbmVyCiAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiB3aGVuIHRoZSB1c2VyIGRyYWdzIGEgc2xpZGVyCiAgICAgIGhhbmRsZU1vZGFsTW91c2Vkb3duKGRvbUNhY2hlKTsKCiAgICAgIC8vIElnbm9yZSBjbGljayBldmVudHMgdGhhdCBoYWQgbW91c2Vkb3duIG9uIHRoZSBjb250YWluZXIgYnV0IG1vdXNldXAgb24gdGhlIHBvcHVwCiAgICAgIGhhbmRsZUNvbnRhaW5lck1vdXNlZG93bihkb21DYWNoZSk7CiAgICAgIGhhbmRsZU1vZGFsQ2xpY2soaW5zdGFuY2UsIGRvbUNhY2hlLCBkaXNtaXNzV2l0aCk7CiAgICB9CiAgfTsKICBjb25zdCBoYW5kbGVUb2FzdENsaWNrID0gKGluc3RhbmNlLCBkb21DYWNoZSwgZGlzbWlzc1dpdGgpID0+IHsKICAgIC8vIENsb3NpbmcgdG9hc3QgYnkgaW50ZXJuYWwgY2xpY2sKICAgIGRvbUNhY2hlLnBvcHVwLm9uY2xpY2sgPSAoKSA9PiB7CiAgICAgIGNvbnN0IGlubmVyUGFyYW1zID0gcHJpdmF0ZVByb3BzLmlubmVyUGFyYW1zLmdldChpbnN0YW5jZSk7CiAgICAgIGlmIChpbm5lclBhcmFtcyAmJiAoaXNBbnlCdXR0b25TaG93bihpbm5lclBhcmFtcykgfHwgaW5uZXJQYXJhbXMudGltZXIgfHwgaW5uZXJQYXJhbXMuaW5wdXQpKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGRpc21pc3NXaXRoKERpc21pc3NSZWFzb24uY2xvc2UpOwogICAgfTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0geyp9IGlubmVyUGFyYW1zCiAgICogQHJldHVybnMge2Jvb2xlYW59CiAgICovCiAgY29uc3QgaXNBbnlCdXR0b25TaG93biA9IGlubmVyUGFyYW1zID0+IHsKICAgIHJldHVybiBpbm5lclBhcmFtcy5zaG93Q29uZmlybUJ1dHRvbiB8fCBpbm5lclBhcmFtcy5zaG93RGVueUJ1dHRvbiB8fCBpbm5lclBhcmFtcy5zaG93Q2FuY2VsQnV0dG9uIHx8IGlubmVyUGFyYW1zLnNob3dDbG9zZUJ1dHRvbjsKICB9OwogIGxldCBpZ25vcmVPdXRzaWRlQ2xpY2sgPSBmYWxzZTsKICBjb25zdCBoYW5kbGVNb2RhbE1vdXNlZG93biA9IGRvbUNhY2hlID0+IHsKICAgIGRvbUNhY2hlLnBvcHVwLm9ubW91c2Vkb3duID0gKCkgPT4gewogICAgICBkb21DYWNoZS5jb250YWluZXIub25tb3VzZXVwID0gZnVuY3Rpb24gKGUpIHsKICAgICAgICBkb21DYWNoZS5jb250YWluZXIub25tb3VzZXVwID0gdW5kZWZpbmVkOwogICAgICAgIC8vIFdlIG9ubHkgY2hlY2sgaWYgdGhlIG1vdXNldXAgdGFyZ2V0IGlzIHRoZSBjb250YWluZXIgYmVjYXVzZSB1c3VhbGx5IGl0IGRvZXNuJ3QKICAgICAgICAvLyBoYXZlIGFueSBvdGhlciBkaXJlY3QgY2hpbGRyZW4gYXNpZGUgb2YgdGhlIHBvcHVwCiAgICAgICAgaWYgKGUudGFyZ2V0ID09PSBkb21DYWNoZS5jb250YWluZXIpIHsKICAgICAgICAgIGlnbm9yZU91dHNpZGVDbGljayA9IHRydWU7CiAgICAgICAgfQogICAgICB9OwogICAgfTsKICB9OwogIGNvbnN0IGhhbmRsZUNvbnRhaW5lck1vdXNlZG93biA9IGRvbUNhY2hlID0+IHsKICAgIGRvbUNhY2hlLmNvbnRhaW5lci5vbm1vdXNlZG93biA9ICgpID0+IHsKICAgICAgZG9tQ2FjaGUucG9wdXAub25tb3VzZXVwID0gZnVuY3Rpb24gKGUpIHsKICAgICAgICBkb21DYWNoZS5wb3B1cC5vbm1vdXNldXAgPSB1bmRlZmluZWQ7CiAgICAgICAgLy8gV2UgYWxzbyBuZWVkIHRvIGNoZWNrIGlmIHRoZSBtb3VzZXVwIHRhcmdldCBpcyBhIGNoaWxkIG9mIHRoZSBwb3B1cAogICAgICAgIGlmIChlLnRhcmdldCA9PT0gZG9tQ2FjaGUucG9wdXAgfHwgZG9tQ2FjaGUucG9wdXAuY29udGFpbnMoZS50YXJnZXQpKSB7CiAgICAgICAgICBpZ25vcmVPdXRzaWRlQ2xpY2sgPSB0cnVlOwogICAgICAgIH0KICAgICAgfTsKICAgIH07CiAgfTsKICBjb25zdCBoYW5kbGVNb2RhbENsaWNrID0gKGluc3RhbmNlLCBkb21DYWNoZSwgZGlzbWlzc1dpdGgpID0+IHsKICAgIGRvbUNhY2hlLmNvbnRhaW5lci5vbmNsaWNrID0gZSA9PiB7CiAgICAgIGNvbnN0IGlubmVyUGFyYW1zID0gcHJpdmF0ZVByb3BzLmlubmVyUGFyYW1zLmdldChpbnN0YW5jZSk7CiAgICAgIGlmIChpZ25vcmVPdXRzaWRlQ2xpY2spIHsKICAgICAgICBpZ25vcmVPdXRzaWRlQ2xpY2sgPSBmYWxzZTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgaWYgKGUudGFyZ2V0ID09PSBkb21DYWNoZS5jb250YWluZXIgJiYgY2FsbElmRnVuY3Rpb24oaW5uZXJQYXJhbXMuYWxsb3dPdXRzaWRlQ2xpY2spKSB7CiAgICAgICAgZGlzbWlzc1dpdGgoRGlzbWlzc1JlYXNvbi5iYWNrZHJvcCk7CiAgICAgIH0KICAgIH07CiAgfTsKCiAgY29uc3QgaXNKcXVlcnlFbGVtZW50ID0gZWxlbSA9PiB0eXBlb2YgZWxlbSA9PT0gJ29iamVjdCcgJiYgZWxlbS5qcXVlcnk7CiAgY29uc3QgaXNFbGVtZW50ID0gZWxlbSA9PiBlbGVtIGluc3RhbmNlb2YgRWxlbWVudCB8fCBpc0pxdWVyeUVsZW1lbnQoZWxlbSk7CiAgY29uc3QgYXJnc1RvUGFyYW1zID0gYXJncyA9PiB7CiAgICBjb25zdCBwYXJhbXMgPSB7fTsKICAgIGlmICh0eXBlb2YgYXJnc1swXSA9PT0gJ29iamVjdCcgJiYgIWlzRWxlbWVudChhcmdzWzBdKSkgewogICAgICBPYmplY3QuYXNzaWduKHBhcmFtcywgYXJnc1swXSk7CiAgICB9IGVsc2UgewogICAgICBbJ3RpdGxlJywgJ2h0bWwnLCAnaWNvbiddLmZvckVhY2goKG5hbWUsIGluZGV4KSA9PiB7CiAgICAgICAgY29uc3QgYXJnID0gYXJnc1tpbmRleF07CiAgICAgICAgaWYgKHR5cGVvZiBhcmcgPT09ICdzdHJpbmcnIHx8IGlzRWxlbWVudChhcmcpKSB7CiAgICAgICAgICBwYXJhbXNbbmFtZV0gPSBhcmc7CiAgICAgICAgfSBlbHNlIGlmIChhcmcgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgZXJyb3IoYFVuZXhwZWN0ZWQgdHlwZSBvZiAke25hbWV9ISBFeHBlY3RlZCAic3RyaW5nIiBvciAiRWxlbWVudCIsIGdvdCAke3R5cGVvZiBhcmd9YCk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICAgIHJldHVybiBwYXJhbXM7CiAgfTsKCiAgLyoqCiAgICogTWFpbiBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IFN3ZWV0QWxlcnQyIHBvcHVwCiAgICoKICAgKiBAcGFyYW0gIHsuLi5Td2VldEFsZXJ0T3B0aW9uc30gYXJncwogICAqIEByZXR1cm5zIHtQcm9taXNlPFN3ZWV0QWxlcnRSZXN1bHQ+fQogICAqLwogIGZ1bmN0aW9uIGZpcmUoKSB7CiAgICBjb25zdCBTd2FsID0gdGhpczsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhcwogICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7CiAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07CiAgICB9CiAgICByZXR1cm4gbmV3IFN3YWwoLi4uYXJncyk7CiAgfQoKICAvKioKICAgKiBSZXR1cm5zIGFuIGV4dGVuZGVkIHZlcnNpb24gb2YgYFN3YWxgIGNvbnRhaW5pbmcgYHBhcmFtc2AgYXMgZGVmYXVsdHMuCiAgICogVXNlZnVsIGZvciByZXVzaW5nIFN3YWwgY29uZmlndXJhdGlvbi4KICAgKgogICAqIEZvciBleGFtcGxlOgogICAqCiAgICogQmVmb3JlOgogICAqIGNvbnN0IHRleHRQcm9tcHRPcHRpb25zID0geyBpbnB1dDogJ3RleHQnLCBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlIH0KICAgKiBjb25zdCB7dmFsdWU6IGZpcnN0TmFtZX0gPSBhd2FpdCBTd2FsLmZpcmUoeyAuLi50ZXh0UHJvbXB0T3B0aW9ucywgdGl0bGU6ICdXaGF0IGlzIHlvdXIgZmlyc3QgbmFtZT8nIH0pCiAgICogY29uc3Qge3ZhbHVlOiBsYXN0TmFtZX0gPSBhd2FpdCBTd2FsLmZpcmUoeyAuLi50ZXh0UHJvbXB0T3B0aW9ucywgdGl0bGU6ICdXaGF0IGlzIHlvdXIgbGFzdCBuYW1lPycgfSkKICAgKgogICAqIEFmdGVyOgogICAqIGNvbnN0IFRleHRQcm9tcHQgPSBTd2FsLm1peGluKHsgaW5wdXQ6ICd0ZXh0Jywgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSB9KQogICAqIGNvbnN0IHt2YWx1ZTogZmlyc3ROYW1lfSA9IGF3YWl0IFRleHRQcm9tcHQoJ1doYXQgaXMgeW91ciBmaXJzdCBuYW1lPycpCiAgICogY29uc3Qge3ZhbHVlOiBsYXN0TmFtZX0gPSBhd2FpdCBUZXh0UHJvbXB0KCdXaGF0IGlzIHlvdXIgbGFzdCBuYW1lPycpCiAgICoKICAgKiBAcGFyYW0gbWl4aW5QYXJhbXMKICAgKi8KICBmdW5jdGlvbiBtaXhpbihtaXhpblBhcmFtcykgewogICAgY2xhc3MgTWl4aW5Td2FsIGV4dGVuZHMgdGhpcyB7CiAgICAgIF9tYWluKHBhcmFtcywgcHJpb3JpdHlNaXhpblBhcmFtcykgewogICAgICAgIHJldHVybiBzdXBlci5fbWFpbihwYXJhbXMsIE9iamVjdC5hc3NpZ24oe30sIG1peGluUGFyYW1zLCBwcmlvcml0eU1peGluUGFyYW1zKSk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBNaXhpblN3YWw7CiAgfQoKICAvKioKICAgKiBJZiBgdGltZXJgIHBhcmFtZXRlciBpcyBzZXQsIHJldHVybnMgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBvZiB0aW1lciByZW1haW5lZC4KICAgKiBPdGhlcndpc2UsIHJldHVybnMgdW5kZWZpbmVkLgogICAqCiAgICogQHJldHVybnMge251bWJlciB8IHVuZGVmaW5lZH0KICAgKi8KICBjb25zdCBnZXRUaW1lckxlZnQgPSAoKSA9PiB7CiAgICByZXR1cm4gZ2xvYmFsU3RhdGUudGltZW91dCAmJiBnbG9iYWxTdGF0ZS50aW1lb3V0LmdldFRpbWVyTGVmdCgpOwogIH07CgogIC8qKgogICAqIFN0b3AgdGltZXIuIFJldHVybnMgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBvZiB0aW1lciByZW1haW5lZC4KICAgKiBJZiBgdGltZXJgIHBhcmFtZXRlciBpc24ndCBzZXQsIHJldHVybnMgdW5kZWZpbmVkLgogICAqCiAgICogQHJldHVybnMge251bWJlciB8IHVuZGVmaW5lZH0KICAgKi8KICBjb25zdCBzdG9wVGltZXIgPSAoKSA9PiB7CiAgICBpZiAoZ2xvYmFsU3RhdGUudGltZW91dCkgewogICAgICBzdG9wVGltZXJQcm9ncmVzc0JhcigpOwogICAgICByZXR1cm4gZ2xvYmFsU3RhdGUudGltZW91dC5zdG9wKCk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogUmVzdW1lIHRpbWVyLiBSZXR1cm5zIG51bWJlciBvZiBtaWxsaXNlY29uZHMgb2YgdGltZXIgcmVtYWluZWQuCiAgICogSWYgYHRpbWVyYCBwYXJhbWV0ZXIgaXNuJ3Qgc2V0LCByZXR1cm5zIHVuZGVmaW5lZC4KICAgKgogICAqIEByZXR1cm5zIHtudW1iZXIgfCB1bmRlZmluZWR9CiAgICovCiAgY29uc3QgcmVzdW1lVGltZXIgPSAoKSA9PiB7CiAgICBpZiAoZ2xvYmFsU3RhdGUudGltZW91dCkgewogICAgICBjb25zdCByZW1haW5pbmcgPSBnbG9iYWxTdGF0ZS50aW1lb3V0LnN0YXJ0KCk7CiAgICAgIGFuaW1hdGVUaW1lclByb2dyZXNzQmFyKHJlbWFpbmluZyk7CiAgICAgIHJldHVybiByZW1haW5pbmc7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogUmVzdW1lIHRpbWVyLiBSZXR1cm5zIG51bWJlciBvZiBtaWxsaXNlY29uZHMgb2YgdGltZXIgcmVtYWluZWQuCiAgICogSWYgYHRpbWVyYCBwYXJhbWV0ZXIgaXNuJ3Qgc2V0LCByZXR1cm5zIHVuZGVmaW5lZC4KICAgKgogICAqIEByZXR1cm5zIHtudW1iZXIgfCB1bmRlZmluZWR9CiAgICovCiAgY29uc3QgdG9nZ2xlVGltZXIgPSAoKSA9PiB7CiAgICBjb25zdCB0aW1lciA9IGdsb2JhbFN0YXRlLnRpbWVvdXQ7CiAgICByZXR1cm4gdGltZXIgJiYgKHRpbWVyLnJ1bm5pbmcgPyBzdG9wVGltZXIoKSA6IHJlc3VtZVRpbWVyKCkpOwogIH07CgogIC8qKgogICAqIEluY3JlYXNlIHRpbWVyLiBSZXR1cm5zIG51bWJlciBvZiBtaWxsaXNlY29uZHMgb2YgYW4gdXBkYXRlZCB0aW1lci4KICAgKiBJZiBgdGltZXJgIHBhcmFtZXRlciBpc24ndCBzZXQsIHJldHVybnMgdW5kZWZpbmVkLgogICAqCiAgICogQHBhcmFtIHtudW1iZXJ9IG4KICAgKiBAcmV0dXJucyB7bnVtYmVyIHwgdW5kZWZpbmVkfQogICAqLwogIGNvbnN0IGluY3JlYXNlVGltZXIgPSBuID0+IHsKICAgIGlmIChnbG9iYWxTdGF0ZS50aW1lb3V0KSB7CiAgICAgIGNvbnN0IHJlbWFpbmluZyA9IGdsb2JhbFN0YXRlLnRpbWVvdXQuaW5jcmVhc2Uobik7CiAgICAgIGFuaW1hdGVUaW1lclByb2dyZXNzQmFyKHJlbWFpbmluZywgdHJ1ZSk7CiAgICAgIHJldHVybiByZW1haW5pbmc7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQ2hlY2sgaWYgdGltZXIgaXMgcnVubmluZy4gUmV0dXJucyB0cnVlIGlmIHRpbWVyIGlzIHJ1bm5pbmcKICAgKiBvciBmYWxzZSBpZiB0aW1lciBpcyBwYXVzZWQgb3Igc3RvcHBlZC4KICAgKiBJZiBgdGltZXJgIHBhcmFtZXRlciBpc24ndCBzZXQsIHJldHVybnMgdW5kZWZpbmVkCiAgICoKICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0KICAgKi8KICBjb25zdCBpc1RpbWVyUnVubmluZyA9ICgpID0+IHsKICAgIHJldHVybiBnbG9iYWxTdGF0ZS50aW1lb3V0ICYmIGdsb2JhbFN0YXRlLnRpbWVvdXQuaXNSdW5uaW5nKCk7CiAgfTsKCiAgbGV0IGJvZHlDbGlja0xpc3RlbmVyQWRkZWQgPSBmYWxzZTsKICBjb25zdCBjbGlja0hhbmRsZXJzID0ge307CgogIC8qKgogICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyCiAgICovCiAgZnVuY3Rpb24gYmluZENsaWNrSGFuZGxlcigpIHsKICAgIGxldCBhdHRyID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiAnZGF0YS1zd2FsLXRlbXBsYXRlJzsKICAgIGNsaWNrSGFuZGxlcnNbYXR0cl0gPSB0aGlzOwogICAgaWYgKCFib2R5Q2xpY2tMaXN0ZW5lckFkZGVkKSB7CiAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBib2R5Q2xpY2tMaXN0ZW5lcik7CiAgICAgIGJvZHlDbGlja0xpc3RlbmVyQWRkZWQgPSB0cnVlOwogICAgfQogIH0KICBjb25zdCBib2R5Q2xpY2tMaXN0ZW5lciA9IGV2ZW50ID0+IHsKICAgIGZvciAobGV0IGVsID0gZXZlbnQudGFyZ2V0OyBlbCAmJiBlbCAhPT0gZG9jdW1lbnQ7IGVsID0gZWwucGFyZW50Tm9kZSkgewogICAgICBmb3IgKGNvbnN0IGF0dHIgaW4gY2xpY2tIYW5kbGVycykgewogICAgICAgIGNvbnN0IHRlbXBsYXRlID0gZWwuZ2V0QXR0cmlidXRlKGF0dHIpOwogICAgICAgIGlmICh0ZW1wbGF0ZSkgewogICAgICAgICAgY2xpY2tIYW5kbGVyc1thdHRyXS5maXJlKHsKICAgICAgICAgICAgdGVtcGxhdGUKICAgICAgICAgIH0pOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH07CgogIHZhciBzdGF0aWNNZXRob2RzID0gLyojX19QVVJFX18qL09iamVjdC5mcmVlemUoewogICAgX19wcm90b19fOiBudWxsLAogICAgYXJnc1RvUGFyYW1zOiBhcmdzVG9QYXJhbXMsCiAgICBiaW5kQ2xpY2tIYW5kbGVyOiBiaW5kQ2xpY2tIYW5kbGVyLAogICAgY2xpY2tDYW5jZWw6IGNsaWNrQ2FuY2VsLAogICAgY2xpY2tDb25maXJtOiBjbGlja0NvbmZpcm0sCiAgICBjbGlja0Rlbnk6IGNsaWNrRGVueSwKICAgIGVuYWJsZUxvYWRpbmc6IHNob3dMb2FkaW5nLAogICAgZmlyZTogZmlyZSwKICAgIGdldEFjdGlvbnM6IGdldEFjdGlvbnMsCiAgICBnZXRDYW5jZWxCdXR0b246IGdldENhbmNlbEJ1dHRvbiwKICAgIGdldENsb3NlQnV0dG9uOiBnZXRDbG9zZUJ1dHRvbiwKICAgIGdldENvbmZpcm1CdXR0b246IGdldENvbmZpcm1CdXR0b24sCiAgICBnZXRDb250YWluZXI6IGdldENvbnRhaW5lciwKICAgIGdldERlbnlCdXR0b246IGdldERlbnlCdXR0b24sCiAgICBnZXRGb2N1c2FibGVFbGVtZW50czogZ2V0Rm9jdXNhYmxlRWxlbWVudHMsCiAgICBnZXRGb290ZXI6IGdldEZvb3RlciwKICAgIGdldEh0bWxDb250YWluZXI6IGdldEh0bWxDb250YWluZXIsCiAgICBnZXRJY29uOiBnZXRJY29uLAogICAgZ2V0SWNvbkNvbnRlbnQ6IGdldEljb25Db250ZW50LAogICAgZ2V0SW1hZ2U6IGdldEltYWdlLAogICAgZ2V0SW5wdXRMYWJlbDogZ2V0SW5wdXRMYWJlbCwKICAgIGdldExvYWRlcjogZ2V0TG9hZGVyLAogICAgZ2V0UG9wdXA6IGdldFBvcHVwLAogICAgZ2V0UHJvZ3Jlc3NTdGVwczogZ2V0UHJvZ3Jlc3NTdGVwcywKICAgIGdldFRpbWVyTGVmdDogZ2V0VGltZXJMZWZ0LAogICAgZ2V0VGltZXJQcm9ncmVzc0JhcjogZ2V0VGltZXJQcm9ncmVzc0JhciwKICAgIGdldFRpdGxlOiBnZXRUaXRsZSwKICAgIGdldFZhbGlkYXRpb25NZXNzYWdlOiBnZXRWYWxpZGF0aW9uTWVzc2FnZSwKICAgIGluY3JlYXNlVGltZXI6IGluY3JlYXNlVGltZXIsCiAgICBpc0RlcHJlY2F0ZWRQYXJhbWV0ZXI6IGlzRGVwcmVjYXRlZFBhcmFtZXRlciwKICAgIGlzTG9hZGluZzogaXNMb2FkaW5nLAogICAgaXNUaW1lclJ1bm5pbmc6IGlzVGltZXJSdW5uaW5nLAogICAgaXNVcGRhdGFibGVQYXJhbWV0ZXI6IGlzVXBkYXRhYmxlUGFyYW1ldGVyLAogICAgaXNWYWxpZFBhcmFtZXRlcjogaXNWYWxpZFBhcmFtZXRlciwKICAgIGlzVmlzaWJsZTogaXNWaXNpYmxlLAogICAgbWl4aW46IG1peGluLAogICAgcmVzdW1lVGltZXI6IHJlc3VtZVRpbWVyLAogICAgc2hvd0xvYWRpbmc6IHNob3dMb2FkaW5nLAogICAgc3RvcFRpbWVyOiBzdG9wVGltZXIsCiAgICB0b2dnbGVUaW1lcjogdG9nZ2xlVGltZXIKICB9KTsKCiAgY2xhc3MgVGltZXIgewogICAgLyoqCiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFjawogICAgICogQHBhcmFtIHtudW1iZXJ9IGRlbGF5CiAgICAgKi8KICAgIGNvbnN0cnVjdG9yKGNhbGxiYWNrLCBkZWxheSkgewogICAgICB0aGlzLmNhbGxiYWNrID0gY2FsbGJhY2s7CiAgICAgIHRoaXMucmVtYWluaW5nID0gZGVsYXk7CiAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlOwogICAgICB0aGlzLnN0YXJ0KCk7CiAgICB9CiAgICBzdGFydCgpIHsKICAgICAgaWYgKCF0aGlzLnJ1bm5pbmcpIHsKICAgICAgICB0aGlzLnJ1bm5pbmcgPSB0cnVlOwogICAgICAgIHRoaXMuc3RhcnRlZCA9IG5ldyBEYXRlKCk7CiAgICAgICAgdGhpcy5pZCA9IHNldFRpbWVvdXQodGhpcy5jYWxsYmFjaywgdGhpcy5yZW1haW5pbmcpOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLnJlbWFpbmluZzsKICAgIH0KICAgIHN0b3AoKSB7CiAgICAgIGlmICh0aGlzLnJ1bm5pbmcpIHsKICAgICAgICB0aGlzLnJ1bm5pbmcgPSBmYWxzZTsKICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5pZCk7CiAgICAgICAgdGhpcy5yZW1haW5pbmcgLT0gbmV3IERhdGUoKS5nZXRUaW1lKCkgLSB0aGlzLnN0YXJ0ZWQuZ2V0VGltZSgpOwogICAgICB9CiAgICAgIHJldHVybiB0aGlzLnJlbWFpbmluZzsKICAgIH0KICAgIGluY3JlYXNlKG4pIHsKICAgICAgY29uc3QgcnVubmluZyA9IHRoaXMucnVubmluZzsKICAgICAgaWYgKHJ1bm5pbmcpIHsKICAgICAgICB0aGlzLnN0b3AoKTsKICAgICAgfQogICAgICB0aGlzLnJlbWFpbmluZyArPSBuOwogICAgICBpZiAocnVubmluZykgewogICAgICAgIHRoaXMuc3RhcnQoKTsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy5yZW1haW5pbmc7CiAgICB9CiAgICBnZXRUaW1lckxlZnQoKSB7CiAgICAgIGlmICh0aGlzLnJ1bm5pbmcpIHsKICAgICAgICB0aGlzLnN0b3AoKTsKICAgICAgICB0aGlzLnN0YXJ0KCk7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMucmVtYWluaW5nOwogICAgfQogICAgaXNSdW5uaW5nKCkgewogICAgICByZXR1cm4gdGhpcy5ydW5uaW5nOwogICAgfQogIH0KCiAgY29uc3Qgc3dhbFN0cmluZ1BhcmFtcyA9IFsnc3dhbC10aXRsZScsICdzd2FsLWh0bWwnLCAnc3dhbC1mb290ZXInXTsKCiAgLyoqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICogQHJldHVybnMge1N3ZWV0QWxlcnRPcHRpb25zfQogICAqLwogIGNvbnN0IGdldFRlbXBsYXRlUGFyYW1zID0gcGFyYW1zID0+IHsKICAgIC8qKiBAdHlwZSB7SFRNTFRlbXBsYXRlRWxlbWVudH0gKi8KICAgIGNvbnN0IHRlbXBsYXRlID0gdHlwZW9mIHBhcmFtcy50ZW1wbGF0ZSA9PT0gJ3N0cmluZycgPyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHBhcmFtcy50ZW1wbGF0ZSkgOiBwYXJhbXMudGVtcGxhdGU7CiAgICBpZiAoIXRlbXBsYXRlKSB7CiAgICAgIHJldHVybiB7fTsKICAgIH0KICAgIC8qKiBAdHlwZSB7RG9jdW1lbnRGcmFnbWVudH0gKi8KICAgIGNvbnN0IHRlbXBsYXRlQ29udGVudCA9IHRlbXBsYXRlLmNvbnRlbnQ7CiAgICBzaG93V2FybmluZ3NGb3JFbGVtZW50cyh0ZW1wbGF0ZUNvbnRlbnQpOwogICAgY29uc3QgcmVzdWx0ID0gT2JqZWN0LmFzc2lnbihnZXRTd2FsUGFyYW1zKHRlbXBsYXRlQ29udGVudCksIGdldFN3YWxGdW5jdGlvblBhcmFtcyh0ZW1wbGF0ZUNvbnRlbnQpLCBnZXRTd2FsQnV0dG9ucyh0ZW1wbGF0ZUNvbnRlbnQpLCBnZXRTd2FsSW1hZ2UodGVtcGxhdGVDb250ZW50KSwgZ2V0U3dhbEljb24odGVtcGxhdGVDb250ZW50KSwgZ2V0U3dhbElucHV0KHRlbXBsYXRlQ29udGVudCksIGdldFN3YWxTdHJpbmdQYXJhbXModGVtcGxhdGVDb250ZW50LCBzd2FsU3RyaW5nUGFyYW1zKSk7CiAgICByZXR1cm4gcmVzdWx0OwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7RG9jdW1lbnRGcmFnbWVudH0gdGVtcGxhdGVDb250ZW50CiAgICogQHJldHVybnMge1N3ZWV0QWxlcnRPcHRpb25zfQogICAqLwogIGNvbnN0IGdldFN3YWxQYXJhbXMgPSB0ZW1wbGF0ZUNvbnRlbnQgPT4gewogICAgY29uc3QgcmVzdWx0ID0ge307CiAgICAvKiogQHR5cGUge0hUTUxFbGVtZW50W119ICovCiAgICBjb25zdCBzd2FsUGFyYW1zID0gQXJyYXkuZnJvbSh0ZW1wbGF0ZUNvbnRlbnQucXVlcnlTZWxlY3RvckFsbCgnc3dhbC1wYXJhbScpKTsKICAgIHN3YWxQYXJhbXMuZm9yRWFjaChwYXJhbSA9PiB7CiAgICAgIHNob3dXYXJuaW5nc0ZvckF0dHJpYnV0ZXMocGFyYW0sIFsnbmFtZScsICd2YWx1ZSddKTsKICAgICAgY29uc3QgcGFyYW1OYW1lID0gcGFyYW0uZ2V0QXR0cmlidXRlKCduYW1lJyk7CiAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW0uZ2V0QXR0cmlidXRlKCd2YWx1ZScpOwogICAgICBpZiAodHlwZW9mIGRlZmF1bHRQYXJhbXNbcGFyYW1OYW1lXSA9PT0gJ2Jvb2xlYW4nKSB7CiAgICAgICAgcmVzdWx0W3BhcmFtTmFtZV0gPSB2YWx1ZSAhPT0gJ2ZhbHNlJzsKICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZGVmYXVsdFBhcmFtc1twYXJhbU5hbWVdID09PSAnb2JqZWN0JykgewogICAgICAgIHJlc3VsdFtwYXJhbU5hbWVdID0gSlNPTi5wYXJzZSh2YWx1ZSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmVzdWx0W3BhcmFtTmFtZV0gPSB2YWx1ZTsKICAgICAgfQogICAgfSk7CiAgICByZXR1cm4gcmVzdWx0OwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7RG9jdW1lbnRGcmFnbWVudH0gdGVtcGxhdGVDb250ZW50CiAgICogQHJldHVybnMge1N3ZWV0QWxlcnRPcHRpb25zfQogICAqLwogIGNvbnN0IGdldFN3YWxGdW5jdGlvblBhcmFtcyA9IHRlbXBsYXRlQ29udGVudCA9PiB7CiAgICBjb25zdCByZXN1bHQgPSB7fTsKICAgIC8qKiBAdHlwZSB7SFRNTEVsZW1lbnRbXX0gKi8KICAgIGNvbnN0IHN3YWxGdW5jdGlvbnMgPSBBcnJheS5mcm9tKHRlbXBsYXRlQ29udGVudC5xdWVyeVNlbGVjdG9yQWxsKCdzd2FsLWZ1bmN0aW9uLXBhcmFtJykpOwogICAgc3dhbEZ1bmN0aW9ucy5mb3JFYWNoKHBhcmFtID0+IHsKICAgICAgY29uc3QgcGFyYW1OYW1lID0gcGFyYW0uZ2V0QXR0cmlidXRlKCduYW1lJyk7CiAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW0uZ2V0QXR0cmlidXRlKCd2YWx1ZScpOwogICAgICByZXN1bHRbcGFyYW1OYW1lXSA9IG5ldyBGdW5jdGlvbihgcmV0dXJuICR7dmFsdWV9YCkoKTsKICAgIH0pOwogICAgcmV0dXJuIHJlc3VsdDsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0RvY3VtZW50RnJhZ21lbnR9IHRlbXBsYXRlQ29udGVudAogICAqIEByZXR1cm5zIHtTd2VldEFsZXJ0T3B0aW9uc30KICAgKi8KICBjb25zdCBnZXRTd2FsQnV0dG9ucyA9IHRlbXBsYXRlQ29udGVudCA9PiB7CiAgICBjb25zdCByZXN1bHQgPSB7fTsKICAgIC8qKiBAdHlwZSB7SFRNTEVsZW1lbnRbXX0gKi8KICAgIGNvbnN0IHN3YWxCdXR0b25zID0gQXJyYXkuZnJvbSh0ZW1wbGF0ZUNvbnRlbnQucXVlcnlTZWxlY3RvckFsbCgnc3dhbC1idXR0b24nKSk7CiAgICBzd2FsQnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiB7CiAgICAgIHNob3dXYXJuaW5nc0ZvckF0dHJpYnV0ZXMoYnV0dG9uLCBbJ3R5cGUnLCAnY29sb3InLCAnYXJpYS1sYWJlbCddKTsKICAgICAgY29uc3QgdHlwZSA9IGJ1dHRvbi5nZXRBdHRyaWJ1dGUoJ3R5cGUnKTsKICAgICAgcmVzdWx0W2Ake3R5cGV9QnV0dG9uVGV4dGBdID0gYnV0dG9uLmlubmVySFRNTDsKICAgICAgcmVzdWx0W2BzaG93JHtjYXBpdGFsaXplRmlyc3RMZXR0ZXIodHlwZSl9QnV0dG9uYF0gPSB0cnVlOwogICAgICBpZiAoYnV0dG9uLmhhc0F0dHJpYnV0ZSgnY29sb3InKSkgewogICAgICAgIHJlc3VsdFtgJHt0eXBlfUJ1dHRvbkNvbG9yYF0gPSBidXR0b24uZ2V0QXR0cmlidXRlKCdjb2xvcicpOwogICAgICB9CiAgICAgIGlmIChidXR0b24uaGFzQXR0cmlidXRlKCdhcmlhLWxhYmVsJykpIHsKICAgICAgICByZXN1bHRbYCR7dHlwZX1CdXR0b25BcmlhTGFiZWxgXSA9IGJ1dHRvbi5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKTsKICAgICAgfQogICAgfSk7CiAgICByZXR1cm4gcmVzdWx0OwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7RG9jdW1lbnRGcmFnbWVudH0gdGVtcGxhdGVDb250ZW50CiAgICogQHJldHVybnMge1N3ZWV0QWxlcnRPcHRpb25zfQogICAqLwogIGNvbnN0IGdldFN3YWxJbWFnZSA9IHRlbXBsYXRlQ29udGVudCA9PiB7CiAgICBjb25zdCByZXN1bHQgPSB7fTsKICAgIC8qKiBAdHlwZSB7SFRNTEVsZW1lbnR9ICovCiAgICBjb25zdCBpbWFnZSA9IHRlbXBsYXRlQ29udGVudC5xdWVyeVNlbGVjdG9yKCdzd2FsLWltYWdlJyk7CiAgICBpZiAoaW1hZ2UpIHsKICAgICAgc2hvd1dhcm5pbmdzRm9yQXR0cmlidXRlcyhpbWFnZSwgWydzcmMnLCAnd2lkdGgnLCAnaGVpZ2h0JywgJ2FsdCddKTsKICAgICAgaWYgKGltYWdlLmhhc0F0dHJpYnV0ZSgnc3JjJykpIHsKICAgICAgICByZXN1bHQuaW1hZ2VVcmwgPSBpbWFnZS5nZXRBdHRyaWJ1dGUoJ3NyYycpOwogICAgICB9CiAgICAgIGlmIChpbWFnZS5oYXNBdHRyaWJ1dGUoJ3dpZHRoJykpIHsKICAgICAgICByZXN1bHQuaW1hZ2VXaWR0aCA9IGltYWdlLmdldEF0dHJpYnV0ZSgnd2lkdGgnKTsKICAgICAgfQogICAgICBpZiAoaW1hZ2UuaGFzQXR0cmlidXRlKCdoZWlnaHQnKSkgewogICAgICAgIHJlc3VsdC5pbWFnZUhlaWdodCA9IGltYWdlLmdldEF0dHJpYnV0ZSgnaGVpZ2h0Jyk7CiAgICAgIH0KICAgICAgaWYgKGltYWdlLmhhc0F0dHJpYnV0ZSgnYWx0JykpIHsKICAgICAgICByZXN1bHQuaW1hZ2VBbHQgPSBpbWFnZS5nZXRBdHRyaWJ1dGUoJ2FsdCcpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7RG9jdW1lbnRGcmFnbWVudH0gdGVtcGxhdGVDb250ZW50CiAgICogQHJldHVybnMge1N3ZWV0QWxlcnRPcHRpb25zfQogICAqLwogIGNvbnN0IGdldFN3YWxJY29uID0gdGVtcGxhdGVDb250ZW50ID0+IHsKICAgIGNvbnN0IHJlc3VsdCA9IHt9OwogICAgLyoqIEB0eXBlIHtIVE1MRWxlbWVudH0gKi8KICAgIGNvbnN0IGljb24gPSB0ZW1wbGF0ZUNvbnRlbnQucXVlcnlTZWxlY3Rvcignc3dhbC1pY29uJyk7CiAgICBpZiAoaWNvbikgewogICAgICBzaG93V2FybmluZ3NGb3JBdHRyaWJ1dGVzKGljb24sIFsndHlwZScsICdjb2xvciddKTsKICAgICAgaWYgKGljb24uaGFzQXR0cmlidXRlKCd0eXBlJykpIHsKICAgICAgICAvKiogQHR5cGUge1N3ZWV0QWxlcnRJY29ufSAqLwogICAgICAgIC8vIEB0cy1pZ25vcmUKICAgICAgICByZXN1bHQuaWNvbiA9IGljb24uZ2V0QXR0cmlidXRlKCd0eXBlJyk7CiAgICAgIH0KICAgICAgaWYgKGljb24uaGFzQXR0cmlidXRlKCdjb2xvcicpKSB7CiAgICAgICAgcmVzdWx0Lmljb25Db2xvciA9IGljb24uZ2V0QXR0cmlidXRlKCdjb2xvcicpOwogICAgICB9CiAgICAgIHJlc3VsdC5pY29uSHRtbCA9IGljb24uaW5uZXJIVE1MOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0RvY3VtZW50RnJhZ21lbnR9IHRlbXBsYXRlQ29udGVudAogICAqIEByZXR1cm5zIHtTd2VldEFsZXJ0T3B0aW9uc30KICAgKi8KICBjb25zdCBnZXRTd2FsSW5wdXQgPSB0ZW1wbGF0ZUNvbnRlbnQgPT4gewogICAgY29uc3QgcmVzdWx0ID0ge307CiAgICAvKiogQHR5cGUge0hUTUxFbGVtZW50fSAqLwogICAgY29uc3QgaW5wdXQgPSB0ZW1wbGF0ZUNvbnRlbnQucXVlcnlTZWxlY3Rvcignc3dhbC1pbnB1dCcpOwogICAgaWYgKGlucHV0KSB7CiAgICAgIHNob3dXYXJuaW5nc0ZvckF0dHJpYnV0ZXMoaW5wdXQsIFsndHlwZScsICdsYWJlbCcsICdwbGFjZWhvbGRlcicsICd2YWx1ZSddKTsKICAgICAgLyoqIEB0eXBlIHtTd2VldEFsZXJ0SW5wdXR9ICovCiAgICAgIC8vIEB0cy1pZ25vcmUKICAgICAgcmVzdWx0LmlucHV0ID0gaW5wdXQuZ2V0QXR0cmlidXRlKCd0eXBlJykgfHwgJ3RleHQnOwogICAgICBpZiAoaW5wdXQuaGFzQXR0cmlidXRlKCdsYWJlbCcpKSB7CiAgICAgICAgcmVzdWx0LmlucHV0TGFiZWwgPSBpbnB1dC5nZXRBdHRyaWJ1dGUoJ2xhYmVsJyk7CiAgICAgIH0KICAgICAgaWYgKGlucHV0Lmhhc0F0dHJpYnV0ZSgncGxhY2Vob2xkZXInKSkgewogICAgICAgIHJlc3VsdC5pbnB1dFBsYWNlaG9sZGVyID0gaW5wdXQuZ2V0QXR0cmlidXRlKCdwbGFjZWhvbGRlcicpOwogICAgICB9CiAgICAgIGlmIChpbnB1dC5oYXNBdHRyaWJ1dGUoJ3ZhbHVlJykpIHsKICAgICAgICByZXN1bHQuaW5wdXRWYWx1ZSA9IGlucHV0LmdldEF0dHJpYnV0ZSgndmFsdWUnKTsKICAgICAgfQogICAgfQogICAgLyoqIEB0eXBlIHtIVE1MRWxlbWVudFtdfSAqLwogICAgY29uc3QgaW5wdXRPcHRpb25zID0gQXJyYXkuZnJvbSh0ZW1wbGF0ZUNvbnRlbnQucXVlcnlTZWxlY3RvckFsbCgnc3dhbC1pbnB1dC1vcHRpb24nKSk7CiAgICBpZiAoaW5wdXRPcHRpb25zLmxlbmd0aCkgewogICAgICByZXN1bHQuaW5wdXRPcHRpb25zID0ge307CiAgICAgIGlucHV0T3B0aW9ucy5mb3JFYWNoKG9wdGlvbiA9PiB7CiAgICAgICAgc2hvd1dhcm5pbmdzRm9yQXR0cmlidXRlcyhvcHRpb24sIFsndmFsdWUnXSk7CiAgICAgICAgY29uc3Qgb3B0aW9uVmFsdWUgPSBvcHRpb24uZ2V0QXR0cmlidXRlKCd2YWx1ZScpOwogICAgICAgIGNvbnN0IG9wdGlvbk5hbWUgPSBvcHRpb24uaW5uZXJIVE1MOwogICAgICAgIHJlc3VsdC5pbnB1dE9wdGlvbnNbb3B0aW9uVmFsdWVdID0gb3B0aW9uTmFtZTsKICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0OwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7RG9jdW1lbnRGcmFnbWVudH0gdGVtcGxhdGVDb250ZW50CiAgICogQHBhcmFtIHtzdHJpbmdbXX0gcGFyYW1OYW1lcwogICAqIEByZXR1cm5zIHtTd2VldEFsZXJ0T3B0aW9uc30KICAgKi8KICBjb25zdCBnZXRTd2FsU3RyaW5nUGFyYW1zID0gKHRlbXBsYXRlQ29udGVudCwgcGFyYW1OYW1lcykgPT4gewogICAgY29uc3QgcmVzdWx0ID0ge307CiAgICBmb3IgKGNvbnN0IGkgaW4gcGFyYW1OYW1lcykgewogICAgICBjb25zdCBwYXJhbU5hbWUgPSBwYXJhbU5hbWVzW2ldOwogICAgICAvKiogQHR5cGUge0hUTUxFbGVtZW50fSAqLwogICAgICBjb25zdCB0YWcgPSB0ZW1wbGF0ZUNvbnRlbnQucXVlcnlTZWxlY3RvcihwYXJhbU5hbWUpOwogICAgICBpZiAodGFnKSB7CiAgICAgICAgc2hvd1dhcm5pbmdzRm9yQXR0cmlidXRlcyh0YWcsIFtdKTsKICAgICAgICByZXN1bHRbcGFyYW1OYW1lLnJlcGxhY2UoL15zd2FsLS8sICcnKV0gPSB0YWcuaW5uZXJIVE1MLnRyaW0oKTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0RvY3VtZW50RnJhZ21lbnR9IHRlbXBsYXRlQ29udGVudAogICAqLwogIGNvbnN0IHNob3dXYXJuaW5nc0ZvckVsZW1lbnRzID0gdGVtcGxhdGVDb250ZW50ID0+IHsKICAgIGNvbnN0IGFsbG93ZWRFbGVtZW50cyA9IHN3YWxTdHJpbmdQYXJhbXMuY29uY2F0KFsnc3dhbC1wYXJhbScsICdzd2FsLWZ1bmN0aW9uLXBhcmFtJywgJ3N3YWwtYnV0dG9uJywgJ3N3YWwtaW1hZ2UnLCAnc3dhbC1pY29uJywgJ3N3YWwtaW5wdXQnLCAnc3dhbC1pbnB1dC1vcHRpb24nXSk7CiAgICBBcnJheS5mcm9tKHRlbXBsYXRlQ29udGVudC5jaGlsZHJlbikuZm9yRWFjaChlbCA9PiB7CiAgICAgIGNvbnN0IHRhZ05hbWUgPSBlbC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7CiAgICAgIGlmICghYWxsb3dlZEVsZW1lbnRzLmluY2x1ZGVzKHRhZ05hbWUpKSB7CiAgICAgICAgd2FybihgVW5yZWNvZ25pemVkIGVsZW1lbnQgPCR7dGFnTmFtZX0+YCk7CiAgICAgIH0KICAgIH0pOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsCiAgICogQHBhcmFtIHtzdHJpbmdbXX0gYWxsb3dlZEF0dHJpYnV0ZXMKICAgKi8KICBjb25zdCBzaG93V2FybmluZ3NGb3JBdHRyaWJ1dGVzID0gKGVsLCBhbGxvd2VkQXR0cmlidXRlcykgPT4gewogICAgQXJyYXkuZnJvbShlbC5hdHRyaWJ1dGVzKS5mb3JFYWNoKGF0dHJpYnV0ZSA9PiB7CiAgICAgIGlmIChhbGxvd2VkQXR0cmlidXRlcy5pbmRleE9mKGF0dHJpYnV0ZS5uYW1lKSA9PT0gLTEpIHsKICAgICAgICB3YXJuKFtgVW5yZWNvZ25pemVkIGF0dHJpYnV0ZSAiJHthdHRyaWJ1dGUubmFtZX0iIG9uIDwke2VsLnRhZ05hbWUudG9Mb3dlckNhc2UoKX0+LmAsIGAke2FsbG93ZWRBdHRyaWJ1dGVzLmxlbmd0aCA/IGBBbGxvd2VkIGF0dHJpYnV0ZXMgYXJlOiAke2FsbG93ZWRBdHRyaWJ1dGVzLmpvaW4oJywgJyl9YCA6ICdUbyBzZXQgdGhlIHZhbHVlLCB1c2UgSFRNTCB3aXRoaW4gdGhlIGVsZW1lbnQuJ31gXSk7CiAgICAgIH0KICAgIH0pOwogIH07CgogIGNvbnN0IFNIT1dfQ0xBU1NfVElNRU9VVCA9IDEwOwoKICAvKioKICAgKiBPcGVuIHBvcHVwLCBhZGQgbmVjZXNzYXJ5IGNsYXNzZXMgYW5kIHN0eWxlcywgZml4IHNjcm9sbGJhcgogICAqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICovCiAgY29uc3Qgb3BlblBvcHVwID0gcGFyYW1zID0+IHsKICAgIGNvbnN0IGNvbnRhaW5lciA9IGdldENvbnRhaW5lcigpOwogICAgY29uc3QgcG9wdXAgPSBnZXRQb3B1cCgpOwogICAgaWYgKHR5cGVvZiBwYXJhbXMud2lsbE9wZW4gPT09ICdmdW5jdGlvbicpIHsKICAgICAgcGFyYW1zLndpbGxPcGVuKHBvcHVwKTsKICAgIH0KICAgIGNvbnN0IGJvZHlTdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KTsKICAgIGNvbnN0IGluaXRpYWxCb2R5T3ZlcmZsb3cgPSBib2R5U3R5bGVzLm92ZXJmbG93WTsKICAgIGFkZENsYXNzZXMoY29udGFpbmVyLCBwb3B1cCwgcGFyYW1zKTsKCiAgICAvLyBzY3JvbGxpbmcgaXMgJ2hpZGRlbicgdW50aWwgYW5pbWF0aW9uIGlzIGRvbmUsIGFmdGVyIHRoYXQgJ2F1dG8nCiAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgc2V0U2Nyb2xsaW5nVmlzaWJpbGl0eShjb250YWluZXIsIHBvcHVwKTsKICAgIH0sIFNIT1dfQ0xBU1NfVElNRU9VVCk7CiAgICBpZiAoaXNNb2RhbCgpKSB7CiAgICAgIGZpeFNjcm9sbENvbnRhaW5lcihjb250YWluZXIsIHBhcmFtcy5zY3JvbGxiYXJQYWRkaW5nLCBpbml0aWFsQm9keU92ZXJmbG93KTsKICAgICAgc2V0QXJpYUhpZGRlbigpOwogICAgfQogICAgaWYgKCFpc1RvYXN0KCkgJiYgIWdsb2JhbFN0YXRlLnByZXZpb3VzQWN0aXZlRWxlbWVudCkgewogICAgICBnbG9iYWxTdGF0ZS5wcmV2aW91c0FjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50OwogICAgfQogICAgaWYgKHR5cGVvZiBwYXJhbXMuZGlkT3BlbiA9PT0gJ2Z1bmN0aW9uJykgewogICAgICBzZXRUaW1lb3V0KCgpID0+IHBhcmFtcy5kaWRPcGVuKHBvcHVwKSk7CiAgICB9CiAgICByZW1vdmVDbGFzcyhjb250YWluZXIsIHN3YWxDbGFzc2VzWyduby10cmFuc2l0aW9uJ10pOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7QW5pbWF0aW9uRXZlbnR9IGV2ZW50CiAgICovCiAgY29uc3Qgc3dhbE9wZW5BbmltYXRpb25GaW5pc2hlZCA9IGV2ZW50ID0+IHsKICAgIGNvbnN0IHBvcHVwID0gZ2V0UG9wdXAoKTsKICAgIGlmIChldmVudC50YXJnZXQgIT09IHBvcHVwKSB7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGNvbnN0IGNvbnRhaW5lciA9IGdldENvbnRhaW5lcigpOwogICAgcG9wdXAucmVtb3ZlRXZlbnRMaXN0ZW5lcihhbmltYXRpb25FbmRFdmVudCwgc3dhbE9wZW5BbmltYXRpb25GaW5pc2hlZCk7CiAgICBjb250YWluZXIuc3R5bGUub3ZlcmZsb3dZID0gJ2F1dG8nOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGNvbnRhaW5lcgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHBvcHVwCiAgICovCiAgY29uc3Qgc2V0U2Nyb2xsaW5nVmlzaWJpbGl0eSA9IChjb250YWluZXIsIHBvcHVwKSA9PiB7CiAgICBpZiAoYW5pbWF0aW9uRW5kRXZlbnQgJiYgaGFzQ3NzQW5pbWF0aW9uKHBvcHVwKSkgewogICAgICBjb250YWluZXIuc3R5bGUub3ZlcmZsb3dZID0gJ2hpZGRlbic7CiAgICAgIHBvcHVwLmFkZEV2ZW50TGlzdGVuZXIoYW5pbWF0aW9uRW5kRXZlbnQsIHN3YWxPcGVuQW5pbWF0aW9uRmluaXNoZWQpOwogICAgfSBlbHNlIHsKICAgICAgY29udGFpbmVyLnN0eWxlLm92ZXJmbG93WSA9ICdhdXRvJzsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBjb250YWluZXIKICAgKiBAcGFyYW0ge2Jvb2xlYW59IHNjcm9sbGJhclBhZGRpbmcKICAgKiBAcGFyYW0ge3N0cmluZ30gaW5pdGlhbEJvZHlPdmVyZmxvdwogICAqLwogIGNvbnN0IGZpeFNjcm9sbENvbnRhaW5lciA9IChjb250YWluZXIsIHNjcm9sbGJhclBhZGRpbmcsIGluaXRpYWxCb2R5T3ZlcmZsb3cpID0+IHsKICAgIGlPU2ZpeCgpOwogICAgaWYgKHNjcm9sbGJhclBhZGRpbmcgJiYgaW5pdGlhbEJvZHlPdmVyZmxvdyAhPT0gJ2hpZGRlbicpIHsKICAgICAgZml4U2Nyb2xsYmFyKCk7CiAgICB9CgogICAgLy8gc3dlZXRhbGVydDIvaXNzdWVzLzEyNDcKICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICBjb250YWluZXIuc2Nyb2xsVG9wID0gMDsKICAgIH0pOwogIH07CgogIC8qKgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGNvbnRhaW5lcgogICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHBvcHVwCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICovCiAgY29uc3QgYWRkQ2xhc3NlcyA9IChjb250YWluZXIsIHBvcHVwLCBwYXJhbXMpID0+IHsKICAgIGFkZENsYXNzKGNvbnRhaW5lciwgcGFyYW1zLnNob3dDbGFzcy5iYWNrZHJvcCk7CiAgICAvLyB0aGlzIHdvcmthcm91bmQgd2l0aCBvcGFjaXR5IGlzIG5lZWRlZCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3N3ZWV0YWxlcnQyL3N3ZWV0YWxlcnQyL2lzc3Vlcy8yMDU5CiAgICBwb3B1cC5zdHlsZS5zZXRQcm9wZXJ0eSgnb3BhY2l0eScsICcwJywgJ2ltcG9ydGFudCcpOwogICAgc2hvdyhwb3B1cCwgJ2dyaWQnKTsKICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAvLyBBbmltYXRlIHBvcHVwIHJpZ2h0IGFmdGVyIHNob3dpbmcgaXQKICAgICAgYWRkQ2xhc3MocG9wdXAsIHBhcmFtcy5zaG93Q2xhc3MucG9wdXApOwogICAgICAvLyBhbmQgcmVtb3ZlIHRoZSBvcGFjaXR5IHdvcmthcm91bmQKICAgICAgcG9wdXAuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ29wYWNpdHknKTsKICAgIH0sIFNIT1dfQ0xBU1NfVElNRU9VVCk7IC8vIDEwbXMgaW4gb3JkZXIgdG8gZml4ICMyMDYyCgogICAgYWRkQ2xhc3MoW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgZG9jdW1lbnQuYm9keV0sIHN3YWxDbGFzc2VzLnNob3duKTsKICAgIGlmIChwYXJhbXMuaGVpZ2h0QXV0byAmJiBwYXJhbXMuYmFja2Ryb3AgJiYgIXBhcmFtcy50b2FzdCkgewogICAgICBhZGRDbGFzcyhbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCBkb2N1bWVudC5ib2R5XSwgc3dhbENsYXNzZXNbJ2hlaWdodC1hdXRvJ10pOwogICAgfQogIH07CgogIHZhciBkZWZhdWx0SW5wdXRWYWxpZGF0b3JzID0gewogICAgLyoqCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsaWRhdGlvbk1lc3NhZ2UKICAgICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQgfCBzdHJpbmc+fQogICAgICovCiAgICBlbWFpbDogKHN0cmluZywgdmFsaWRhdGlvbk1lc3NhZ2UpID0+IHsKICAgICAgcmV0dXJuIC9eW2EtekEtWjAtOS4rXy1dK0BbYS16QS1aMC05Li1dK1wuW2EtekEtWjAtOS1dezIsMjR9JC8udGVzdChzdHJpbmcpID8gUHJvbWlzZS5yZXNvbHZlKCkgOiBQcm9taXNlLnJlc29sdmUodmFsaWRhdGlvbk1lc3NhZ2UgfHwgJ0ludmFsaWQgZW1haWwgYWRkcmVzcycpOwogICAgfSwKICAgIC8qKgogICAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZwogICAgICogQHBhcmFtIHtzdHJpbmd9IHZhbGlkYXRpb25NZXNzYWdlCiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkIHwgc3RyaW5nPn0KICAgICAqLwogICAgdXJsOiAoc3RyaW5nLCB2YWxpZGF0aW9uTWVzc2FnZSkgPT4gewogICAgICAvLyB0YWtlbiBmcm9tIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zODA5NDM1IHdpdGggYSBzbWFsbCBjaGFuZ2UgZnJvbSAjMTMwNiBhbmQgIzIwMTMKICAgICAgcmV0dXJuIC9eaHR0cHM/OlwvXC8od3d3XC4pP1stYS16QS1aMC05QDolLl8rfiM9XXsxLDI1Nn1cLlthLXpdezIsNjN9XGIoWy1hLXpBLVowLTlAOiVfKy5+Iz8mLz1dKikkLy50ZXN0KHN0cmluZykgPyBQcm9taXNlLnJlc29sdmUoKSA6IFByb21pc2UucmVzb2x2ZSh2YWxpZGF0aW9uTWVzc2FnZSB8fCAnSW52YWxpZCBVUkwnKTsKICAgIH0KICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKi8KICBmdW5jdGlvbiBzZXREZWZhdWx0SW5wdXRWYWxpZGF0b3JzKHBhcmFtcykgewogICAgLy8gVXNlIGRlZmF1bHQgYGlucHV0VmFsaWRhdG9yYCBmb3Igc3VwcG9ydGVkIGlucHV0IHR5cGVzIGlmIG5vdCBwcm92aWRlZAogICAgaWYgKCFwYXJhbXMuaW5wdXRWYWxpZGF0b3IpIHsKICAgICAgT2JqZWN0LmtleXMoZGVmYXVsdElucHV0VmFsaWRhdG9ycykuZm9yRWFjaChrZXkgPT4gewogICAgICAgIGlmIChwYXJhbXMuaW5wdXQgPT09IGtleSkgewogICAgICAgICAgcGFyYW1zLmlucHV0VmFsaWRhdG9yID0gZGVmYXVsdElucHV0VmFsaWRhdG9yc1trZXldOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgfQoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBwYXJhbXMKICAgKi8KICBmdW5jdGlvbiB2YWxpZGF0ZUN1c3RvbVRhcmdldEVsZW1lbnQocGFyYW1zKSB7CiAgICAvLyBEZXRlcm1pbmUgaWYgdGhlIGN1c3RvbSB0YXJnZXQgZWxlbWVudCBpcyB2YWxpZAogICAgaWYgKCFwYXJhbXMudGFyZ2V0IHx8IHR5cGVvZiBwYXJhbXMudGFyZ2V0ID09PSAnc3RyaW5nJyAmJiAhZG9jdW1lbnQucXVlcnlTZWxlY3RvcihwYXJhbXMudGFyZ2V0KSB8fCB0eXBlb2YgcGFyYW1zLnRhcmdldCAhPT0gJ3N0cmluZycgJiYgIXBhcmFtcy50YXJnZXQuYXBwZW5kQ2hpbGQpIHsKICAgICAgd2FybignVGFyZ2V0IHBhcmFtZXRlciBpcyBub3QgdmFsaWQsIGRlZmF1bHRpbmcgdG8gImJvZHkiJyk7CiAgICAgIHBhcmFtcy50YXJnZXQgPSAnYm9keSc7CiAgICB9CiAgfQoKICAvKioKICAgKiBTZXQgdHlwZSwgdGV4dCBhbmQgYWN0aW9ucyBvbiBwb3B1cAogICAqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gcGFyYW1zCiAgICovCiAgZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbXMpIHsKICAgIHNldERlZmF1bHRJbnB1dFZhbGlkYXRvcnMocGFyYW1zKTsKCiAgICAvLyBzaG93TG9hZGVyT25Db25maXJtICYmIHByZUNvbmZpcm0KICAgIGlmIChwYXJhbXMuc2hvd0xvYWRlck9uQ29uZmlybSAmJiAhcGFyYW1zLnByZUNvbmZpcm0pIHsKICAgICAgd2Fybignc2hvd0xvYWRlck9uQ29uZmlybSBpcyBzZXQgdG8gdHJ1ZSwgYnV0IHByZUNvbmZpcm0gaXMgbm90IGRlZmluZWQuXG4nICsgJ3Nob3dMb2FkZXJPbkNvbmZpcm0gc2hvdWxkIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBwcmVDb25maXJtLCBzZWUgdXNhZ2UgZXhhbXBsZTpcbicgKyAnaHR0cHM6Ly9zd2VldGFsZXJ0Mi5naXRodWIuaW8vI2FqYXgtcmVxdWVzdCcpOwogICAgfQogICAgdmFsaWRhdGVDdXN0b21UYXJnZXRFbGVtZW50KHBhcmFtcyk7CgogICAgLy8gUmVwbGFjZSBuZXdsaW5lcyB3aXRoIDxicj4gaW4gdGl0bGUKICAgIGlmICh0eXBlb2YgcGFyYW1zLnRpdGxlID09PSAnc3RyaW5nJykgewogICAgICBwYXJhbXMudGl0bGUgPSBwYXJhbXMudGl0bGUuc3BsaXQoJ1xuJykuam9pbignPGJyIC8+Jyk7CiAgICB9CiAgICBpbml0KHBhcmFtcyk7CiAgfQoKICBsZXQgY3VycmVudEluc3RhbmNlOwogIGNsYXNzIFN3ZWV0QWxlcnQgewogICAgY29uc3RydWN0b3IoKSB7CiAgICAgIC8vIFByZXZlbnQgcnVuIGluIE5vZGUgZW52CiAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBjdXJyZW50SW5zdGFuY2UgPSB0aGlzOwoKICAgICAgLy8gQHRzLWlnbm9yZQogICAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHsKICAgICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldOwogICAgICB9CiAgICAgIGNvbnN0IG91dGVyUGFyYW1zID0gT2JqZWN0LmZyZWV6ZSh0aGlzLmNvbnN0cnVjdG9yLmFyZ3NUb1BhcmFtcyhhcmdzKSk7CiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRoaXMsIHsKICAgICAgICBwYXJhbXM6IHsKICAgICAgICAgIHZhbHVlOiBvdXRlclBhcmFtcywKICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwKICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsCiAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9CiAgICAgIH0pOwoKICAgICAgLy8gQHRzLWlnbm9yZQogICAgICBjb25zdCBwcm9taXNlID0gY3VycmVudEluc3RhbmNlLl9tYWluKGN1cnJlbnRJbnN0YW5jZS5wYXJhbXMpOwogICAgICBwcml2YXRlUHJvcHMucHJvbWlzZS5zZXQodGhpcywgcHJvbWlzZSk7CiAgICB9CiAgICBfbWFpbih1c2VyUGFyYW1zKSB7CiAgICAgIGxldCBtaXhpblBhcmFtcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307CiAgICAgIHNob3dXYXJuaW5nc0ZvclBhcmFtcyhPYmplY3QuYXNzaWduKHt9LCBtaXhpblBhcmFtcywgdXNlclBhcmFtcykpOwogICAgICBpZiAoZ2xvYmFsU3RhdGUuY3VycmVudEluc3RhbmNlKSB7CiAgICAgICAgLy8gQHRzLWlnbm9yZQogICAgICAgIGdsb2JhbFN0YXRlLmN1cnJlbnRJbnN0YW5jZS5fZGVzdHJveSgpOwogICAgICAgIGlmIChpc01vZGFsKCkpIHsKICAgICAgICAgIHVuc2V0QXJpYUhpZGRlbigpOwogICAgICAgIH0KICAgICAgfQogICAgICBnbG9iYWxTdGF0ZS5jdXJyZW50SW5zdGFuY2UgPSBjdXJyZW50SW5zdGFuY2U7CiAgICAgIGNvbnN0IGlubmVyUGFyYW1zID0gcHJlcGFyZVBhcmFtcyh1c2VyUGFyYW1zLCBtaXhpblBhcmFtcyk7CiAgICAgIHNldFBhcmFtZXRlcnMoaW5uZXJQYXJhbXMpOwogICAgICBPYmplY3QuZnJlZXplKGlubmVyUGFyYW1zKTsKCiAgICAgIC8vIGNsZWFyIHRoZSBwcmV2aW91cyB0aW1lcgogICAgICBpZiAoZ2xvYmFsU3RhdGUudGltZW91dCkgewogICAgICAgIGdsb2JhbFN0YXRlLnRpbWVvdXQuc3RvcCgpOwogICAgICAgIGRlbGV0ZSBnbG9iYWxTdGF0ZS50aW1lb3V0OwogICAgICB9CgogICAgICAvLyBjbGVhciB0aGUgcmVzdG9yZSBmb2N1cyB0aW1lb3V0CiAgICAgIGNsZWFyVGltZW91dChnbG9iYWxTdGF0ZS5yZXN0b3JlRm9jdXNUaW1lb3V0KTsKICAgICAgY29uc3QgZG9tQ2FjaGUgPSBwb3B1bGF0ZURvbUNhY2hlKGN1cnJlbnRJbnN0YW5jZSk7CiAgICAgIHJlbmRlcihjdXJyZW50SW5zdGFuY2UsIGlubmVyUGFyYW1zKTsKICAgICAgcHJpdmF0ZVByb3BzLmlubmVyUGFyYW1zLnNldChjdXJyZW50SW5zdGFuY2UsIGlubmVyUGFyYW1zKTsKICAgICAgcmV0dXJuIHN3YWxQcm9taXNlKGN1cnJlbnRJbnN0YW5jZSwgZG9tQ2FjaGUsIGlubmVyUGFyYW1zKTsKICAgIH0KCiAgICAvLyBgY2F0Y2hgIGNhbm5vdCBiZSB0aGUgbmFtZSBvZiBhIG1vZHVsZSBleHBvcnQsIHNvIHdlIGRlZmluZSBvdXIgdGhlbmFibGUgbWV0aG9kcyBoZXJlIGluc3RlYWQKICAgIHRoZW4ob25GdWxmaWxsZWQpIHsKICAgICAgY29uc3QgcHJvbWlzZSA9IHByaXZhdGVQcm9wcy5wcm9taXNlLmdldCh0aGlzKTsKICAgICAgcmV0dXJuIHByb21pc2UudGhlbihvbkZ1bGZpbGxlZCk7CiAgICB9CiAgICBmaW5hbGx5KG9uRmluYWxseSkgewogICAgICBjb25zdCBwcm9taXNlID0gcHJpdmF0ZVByb3BzLnByb21pc2UuZ2V0KHRoaXMpOwogICAgICByZXR1cm4gcHJvbWlzZS5maW5hbGx5KG9uRmluYWxseSk7CiAgICB9CiAgfQoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnQyfSBpbnN0YW5jZQogICAqIEBwYXJhbSB7RG9tQ2FjaGV9IGRvbUNhY2hlCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gaW5uZXJQYXJhbXMKICAgKiBAcmV0dXJucyB7UHJvbWlzZX0KICAgKi8KICBjb25zdCBzd2FsUHJvbWlzZSA9IChpbnN0YW5jZSwgZG9tQ2FjaGUsIGlubmVyUGFyYW1zKSA9PiB7CiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewogICAgICAvLyBmdW5jdGlvbnMgdG8gaGFuZGxlIGFsbCBjbG9zaW5ncy9kaXNtaXNzYWxzCiAgICAgIC8qKgogICAgICAgKiBAcGFyYW0ge0Rpc21pc3NSZWFzb259IGRpc21pc3MKICAgICAgICovCiAgICAgIGNvbnN0IGRpc21pc3NXaXRoID0gZGlzbWlzcyA9PiB7CiAgICAgICAgLy8gQHRzLWlnbm9yZQogICAgICAgIGluc3RhbmNlLmNsb3NlKHsKICAgICAgICAgIGlzRGlzbWlzc2VkOiB0cnVlLAogICAgICAgICAgZGlzbWlzcwogICAgICAgIH0pOwogICAgICB9OwogICAgICBwcml2YXRlTWV0aG9kcy5zd2FsUHJvbWlzZVJlc29sdmUuc2V0KGluc3RhbmNlLCByZXNvbHZlKTsKICAgICAgcHJpdmF0ZU1ldGhvZHMuc3dhbFByb21pc2VSZWplY3Quc2V0KGluc3RhbmNlLCByZWplY3QpOwogICAgICBkb21DYWNoZS5jb25maXJtQnV0dG9uLm9uY2xpY2sgPSAoKSA9PiB7CiAgICAgICAgaGFuZGxlQ29uZmlybUJ1dHRvbkNsaWNrKGluc3RhbmNlKTsKICAgICAgfTsKICAgICAgZG9tQ2FjaGUuZGVueUJ1dHRvbi5vbmNsaWNrID0gKCkgPT4gewogICAgICAgIGhhbmRsZURlbnlCdXR0b25DbGljayhpbnN0YW5jZSk7CiAgICAgIH07CiAgICAgIGRvbUNhY2hlLmNhbmNlbEJ1dHRvbi5vbmNsaWNrID0gKCkgPT4gewogICAgICAgIGhhbmRsZUNhbmNlbEJ1dHRvbkNsaWNrKGluc3RhbmNlLCBkaXNtaXNzV2l0aCk7CiAgICAgIH07CiAgICAgIGRvbUNhY2hlLmNsb3NlQnV0dG9uLm9uY2xpY2sgPSAoKSA9PiB7CiAgICAgICAgLy8gQHRzLWlnbm9yZQogICAgICAgIGRpc21pc3NXaXRoKERpc21pc3NSZWFzb24uY2xvc2UpOwogICAgICB9OwogICAgICBoYW5kbGVQb3B1cENsaWNrKGluc3RhbmNlLCBkb21DYWNoZSwgZGlzbWlzc1dpdGgpOwogICAgICBhZGRLZXlkb3duSGFuZGxlcihpbnN0YW5jZSwgZ2xvYmFsU3RhdGUsIGlubmVyUGFyYW1zLCBkaXNtaXNzV2l0aCk7CiAgICAgIGhhbmRsZUlucHV0T3B0aW9uc0FuZFZhbHVlKGluc3RhbmNlLCBpbm5lclBhcmFtcyk7CiAgICAgIG9wZW5Qb3B1cChpbm5lclBhcmFtcyk7CiAgICAgIHNldHVwVGltZXIoZ2xvYmFsU3RhdGUsIGlubmVyUGFyYW1zLCBkaXNtaXNzV2l0aCk7CiAgICAgIGluaXRGb2N1cyhkb21DYWNoZSwgaW5uZXJQYXJhbXMpOwoKICAgICAgLy8gU2Nyb2xsIGNvbnRhaW5lciB0byB0b3Agb24gb3BlbiAoIzEyNDcsICMxOTQ2KQogICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICBkb21DYWNoZS5jb250YWluZXIuc2Nyb2xsVG9wID0gMDsKICAgICAgfSk7CiAgICB9KTsKICB9OwoKICAvKioKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSB1c2VyUGFyYW1zCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0T3B0aW9uc30gbWl4aW5QYXJhbXMKICAgKiBAcmV0dXJucyB7U3dlZXRBbGVydE9wdGlvbnN9CiAgICovCiAgY29uc3QgcHJlcGFyZVBhcmFtcyA9ICh1c2VyUGFyYW1zLCBtaXhpblBhcmFtcykgPT4gewogICAgY29uc3QgdGVtcGxhdGVQYXJhbXMgPSBnZXRUZW1wbGF0ZVBhcmFtcyh1c2VyUGFyYW1zKTsKICAgIGNvbnN0IHBhcmFtcyA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRQYXJhbXMsIG1peGluUGFyYW1zLCB0ZW1wbGF0ZVBhcmFtcywgdXNlclBhcmFtcyk7IC8vIHByZWNlZGVuY2UgaXMgZGVzY3JpYmVkIGluICMyMTMxCiAgICBwYXJhbXMuc2hvd0NsYXNzID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFBhcmFtcy5zaG93Q2xhc3MsIHBhcmFtcy5zaG93Q2xhc3MpOwogICAgcGFyYW1zLmhpZGVDbGFzcyA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRQYXJhbXMuaGlkZUNsYXNzLCBwYXJhbXMuaGlkZUNsYXNzKTsKICAgIHJldHVybiBwYXJhbXM7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtTd2VldEFsZXJ0Mn0gaW5zdGFuY2UKICAgKiBAcmV0dXJucyB7RG9tQ2FjaGV9CiAgICovCiAgY29uc3QgcG9wdWxhdGVEb21DYWNoZSA9IGluc3RhbmNlID0+IHsKICAgIGNvbnN0IGRvbUNhY2hlID0gewogICAgICBwb3B1cDogZ2V0UG9wdXAoKSwKICAgICAgY29udGFpbmVyOiBnZXRDb250YWluZXIoKSwKICAgICAgYWN0aW9uczogZ2V0QWN0aW9ucygpLAogICAgICBjb25maXJtQnV0dG9uOiBnZXRDb25maXJtQnV0dG9uKCksCiAgICAgIGRlbnlCdXR0b246IGdldERlbnlCdXR0b24oKSwKICAgICAgY2FuY2VsQnV0dG9uOiBnZXRDYW5jZWxCdXR0b24oKSwKICAgICAgbG9hZGVyOiBnZXRMb2FkZXIoKSwKICAgICAgY2xvc2VCdXR0b246IGdldENsb3NlQnV0dG9uKCksCiAgICAgIHZhbGlkYXRpb25NZXNzYWdlOiBnZXRWYWxpZGF0aW9uTWVzc2FnZSgpLAogICAgICBwcm9ncmVzc1N0ZXBzOiBnZXRQcm9ncmVzc1N0ZXBzKCkKICAgIH07CiAgICBwcml2YXRlUHJvcHMuZG9tQ2FjaGUuc2V0KGluc3RhbmNlLCBkb21DYWNoZSk7CiAgICByZXR1cm4gZG9tQ2FjaGU7CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtHbG9iYWxTdGF0ZX0gZ2xvYmFsU3RhdGUKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBpbm5lclBhcmFtcwogICAqIEBwYXJhbSB7RnVuY3Rpb259IGRpc21pc3NXaXRoCiAgICovCiAgY29uc3Qgc2V0dXBUaW1lciA9IChnbG9iYWxTdGF0ZSwgaW5uZXJQYXJhbXMsIGRpc21pc3NXaXRoKSA9PiB7CiAgICBjb25zdCB0aW1lclByb2dyZXNzQmFyID0gZ2V0VGltZXJQcm9ncmVzc0JhcigpOwogICAgaGlkZSh0aW1lclByb2dyZXNzQmFyKTsKICAgIGlmIChpbm5lclBhcmFtcy50aW1lcikgewogICAgICBnbG9iYWxTdGF0ZS50aW1lb3V0ID0gbmV3IFRpbWVyKCgpID0+IHsKICAgICAgICBkaXNtaXNzV2l0aCgndGltZXInKTsKICAgICAgICBkZWxldGUgZ2xvYmFsU3RhdGUudGltZW91dDsKICAgICAgfSwgaW5uZXJQYXJhbXMudGltZXIpOwogICAgICBpZiAoaW5uZXJQYXJhbXMudGltZXJQcm9ncmVzc0JhcikgewogICAgICAgIHNob3codGltZXJQcm9ncmVzc0Jhcik7CiAgICAgICAgYXBwbHlDdXN0b21DbGFzcyh0aW1lclByb2dyZXNzQmFyLCBpbm5lclBhcmFtcywgJ3RpbWVyUHJvZ3Jlc3NCYXInKTsKICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgIGlmIChnbG9iYWxTdGF0ZS50aW1lb3V0ICYmIGdsb2JhbFN0YXRlLnRpbWVvdXQucnVubmluZykgewogICAgICAgICAgICAvLyB0aW1lciBjYW4gYmUgYWxyZWFkeSBzdG9wcGVkIG9yIHVuc2V0IGF0IHRoaXMgcG9pbnQKICAgICAgICAgICAgYW5pbWF0ZVRpbWVyUHJvZ3Jlc3NCYXIoaW5uZXJQYXJhbXMudGltZXIpOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtEb21DYWNoZX0gZG9tQ2FjaGUKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBpbm5lclBhcmFtcwogICAqLwogIGNvbnN0IGluaXRGb2N1cyA9IChkb21DYWNoZSwgaW5uZXJQYXJhbXMpID0+IHsKICAgIGlmIChpbm5lclBhcmFtcy50b2FzdCkgewogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoIWNhbGxJZkZ1bmN0aW9uKGlubmVyUGFyYW1zLmFsbG93RW50ZXJLZXkpKSB7CiAgICAgIGJsdXJBY3RpdmVFbGVtZW50KCk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmICghZm9jdXNCdXR0b24oZG9tQ2FjaGUsIGlubmVyUGFyYW1zKSkgewogICAgICBzZXRGb2N1cygtMSwgMSk7CiAgICB9CiAgfTsKCiAgLyoqCiAgICogQHBhcmFtIHtEb21DYWNoZX0gZG9tQ2FjaGUKICAgKiBAcGFyYW0ge1N3ZWV0QWxlcnRPcHRpb25zfSBpbm5lclBhcmFtcwogICAqIEByZXR1cm5zIHtib29sZWFufQogICAqLwogIGNvbnN0IGZvY3VzQnV0dG9uID0gKGRvbUNhY2hlLCBpbm5lclBhcmFtcykgPT4gewogICAgaWYgKGlubmVyUGFyYW1zLmZvY3VzRGVueSAmJiBpc1Zpc2libGUkMShkb21DYWNoZS5kZW55QnV0dG9uKSkgewogICAgICBkb21DYWNoZS5kZW55QnV0dG9uLmZvY3VzKCk7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgaWYgKGlubmVyUGFyYW1zLmZvY3VzQ2FuY2VsICYmIGlzVmlzaWJsZSQxKGRvbUNhY2hlLmNhbmNlbEJ1dHRvbikpIHsKICAgICAgZG9tQ2FjaGUuY2FuY2VsQnV0dG9uLmZvY3VzKCk7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgaWYgKGlubmVyUGFyYW1zLmZvY3VzQ29uZmlybSAmJiBpc1Zpc2libGUkMShkb21DYWNoZS5jb25maXJtQnV0dG9uKSkgewogICAgICBkb21DYWNoZS5jb25maXJtQnV0dG9uLmZvY3VzKCk7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH07CiAgY29uc3QgYmx1ckFjdGl2ZUVsZW1lbnQgPSAoKSA9PiB7CiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ICYmIHR5cGVvZiBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIgPT09ICdmdW5jdGlvbicpIHsKICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7CiAgICB9CiAgfTsKCiAgLy8gQXNzaWduIGluc3RhbmNlIG1ldGhvZHMgZnJvbSBzcmMvaW5zdGFuY2VNZXRob2RzLyouanMgdG8gcHJvdG90eXBlCiAgT2JqZWN0LmFzc2lnbihTd2VldEFsZXJ0LnByb3RvdHlwZSwgaW5zdGFuY2VNZXRob2RzKTsKCiAgLy8gQXNzaWduIHN0YXRpYyBtZXRob2RzIGZyb20gc3JjL3N0YXRpY01ldGhvZHMvKi5qcyB0byBjb25zdHJ1Y3RvcgogIE9iamVjdC5hc3NpZ24oU3dlZXRBbGVydCwgc3RhdGljTWV0aG9kcyk7CgogIC8vIFByb3h5IHRvIGluc3RhbmNlIG1ldGhvZHMgdG8gY29uc3RydWN0b3IsIGZvciBub3csIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQogIE9iamVjdC5rZXlzKGluc3RhbmNlTWV0aG9kcykuZm9yRWFjaChrZXkgPT4gewogICAgLyoqCiAgICAgKiBAcGFyYW0gey4uLmFueX0gYXJncwogICAgICogQHJldHVybnMge2FueSB8IHVuZGVmaW5lZH0KICAgICAqLwogICAgU3dlZXRBbGVydFtrZXldID0gZnVuY3Rpb24gKCkgewogICAgICBpZiAoY3VycmVudEluc3RhbmNlKSB7CiAgICAgICAgcmV0dXJuIGN1cnJlbnRJbnN0YW5jZVtrZXldKC4uLmFyZ3VtZW50cyk7CiAgICAgIH0KICAgIH07CiAgfSk7CiAgU3dlZXRBbGVydC5EaXNtaXNzUmVhc29uID0gRGlzbWlzc1JlYXNvbjsKICBTd2VldEFsZXJ0LnZlcnNpb24gPSAnMTEuNy4zJzsKCiAgY29uc3QgU3dhbCA9IFN3ZWV0QWxlcnQ7CiAgLy8gQHRzLWlnbm9yZQogIFN3YWwuZGVmYXVsdCA9IFN3YWw7CgogIHJldHVybiBTd2FsOwoKfSkpOwppZiAodHlwZW9mIHRoaXMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuU3dlZXRhbGVydDIpe3RoaXMuc3dhbCA9IHRoaXMuc3dlZXRBbGVydCA9IHRoaXMuU3dhbCA9IHRoaXMuU3dlZXRBbGVydCA9IHRoaXMuU3dlZXRhbGVydDJ9CiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO2lmKGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChuKSxuLnN0eWxlU2hlZXQpbi5zdHlsZVNoZWV0LmRpc2FibGVkfHwobi5zdHlsZVNoZWV0LmNzc1RleHQ9dCk7ZWxzZSB0cnl7bi5pbm5lckhUTUw9dH1jYXRjaChlKXtuLmlubmVyVGV4dD10fX0oZG9jdW1lbnQsIi5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdHtib3gtc2l6aW5nOmJvcmRlci1ib3g7Z3JpZC1jb2x1bW46MS80ICFpbXBvcnRhbnQ7Z3JpZC1yb3c6MS80ICFpbXBvcnRhbnQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbi1jb250ZW50IGF1dG8gbWluLWNvbnRlbnQ7cGFkZGluZzoxZW07b3ZlcmZsb3cteTpoaWRkZW47YmFja2dyb3VuZDojZmZmO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wNzUpLDFweCAycHggNHB4IHJnYmEoMCwwLDAsLjA3NSksMXB4IDNweCA4cHggcmdiYSgwLDAsMCwuMDc1KSwycHggNHB4IDE2cHggcmdiYSgwLDAsMCwuMDc1KTtwb2ludGVyLWV2ZW50czphbGx9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0Pip7Z3JpZC1jb2x1bW46Mn0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXRpdGxle21hcmdpbjouNWVtIDFlbTtwYWRkaW5nOjA7Zm9udC1zaXplOjFlbTt0ZXh0LWFsaWduOmluaXRpYWx9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1sb2FkaW5ne2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1pbnB1dHtoZWlnaHQ6MmVtO21hcmdpbjouNWVtO2ZvbnQtc2l6ZToxZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2V7Zm9udC1zaXplOjFlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWZvb3RlcnttYXJnaW46LjVlbSAwIDA7cGFkZGluZzouNWVtIDAgMDtmb250LXNpemU6LjhlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWNsb3Nle2dyaWQtY29sdW1uOjMvMztncmlkLXJvdzoxLzk5O2FsaWduLXNlbGY6Y2VudGVyO3dpZHRoOi44ZW07aGVpZ2h0Oi44ZW07bWFyZ2luOjA7Zm9udC1zaXplOjJlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWh0bWwtY29udGFpbmVye21hcmdpbjouNWVtIDFlbTtwYWRkaW5nOjA7b3ZlcmZsb3c6aW5pdGlhbDtmb250LXNpemU6MWVtO3RleHQtYWxpZ246aW5pdGlhbH0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWh0bWwtY29udGFpbmVyOmVtcHR5e3BhZGRpbmc6MH0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWxvYWRlcntncmlkLWNvbHVtbjoxO2dyaWQtcm93OjEvOTk7YWxpZ24tc2VsZjpjZW50ZXI7d2lkdGg6MmVtO2hlaWdodDoyZW07bWFyZ2luOi4yNWVtfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaWNvbntncmlkLWNvbHVtbjoxO2dyaWQtcm93OjEvOTk7YWxpZ24tc2VsZjpjZW50ZXI7d2lkdGg6MmVtO21pbi13aWR0aDoyZW07aGVpZ2h0OjJlbTttYXJnaW46MCAuNWVtIDAgMH0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWljb24gLnN3YWwyLWljb24tY29udGVudHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZToxLjhlbTtmb250LXdlaWdodDpib2xkfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIC5zd2FsMi1zdWNjZXNzLXJpbmd7d2lkdGg6MmVtO2hlaWdodDoyZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1pY29uLnN3YWwyLWVycm9yIFtjbGFzc149c3dhbDIteC1tYXJrLWxpbmVde3RvcDouODc1ZW07d2lkdGg6MS4zNzVlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWljb24uc3dhbDItZXJyb3IgW2NsYXNzXj1zd2FsMi14LW1hcmstbGluZV1bY2xhc3MkPWxlZnRde2xlZnQ6LjMxMjVlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWljb24uc3dhbDItZXJyb3IgW2NsYXNzXj1zd2FsMi14LW1hcmstbGluZV1bY2xhc3MkPXJpZ2h0XXtyaWdodDouMzEyNWVtfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItYWN0aW9uc3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtoZWlnaHQ6YXV0bzttYXJnaW46MDttYXJnaW4tdG9wOi41ZW07cGFkZGluZzowIC41ZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdHlsZWR7bWFyZ2luOi4yNWVtIC41ZW07cGFkZGluZzouNGVtIC42ZW07Zm9udC1zaXplOjFlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiNhNWRjODZ9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lXXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxLjZlbTtoZWlnaHQ6M2VtO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO2JvcmRlci1yYWRpdXM6NTAlfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZV1bY2xhc3MkPWxlZnRde3RvcDotMC44ZW07bGVmdDotMC41ZW07dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO3RyYW5zZm9ybS1vcmlnaW46MmVtIDJlbTtib3JkZXItcmFkaXVzOjRlbSAwIDAgNGVtfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZV1bY2xhc3MkPXJpZ2h0XXt0b3A6LTAuMjVlbTtsZWZ0Oi45Mzc1ZW07dHJhbnNmb3JtLW9yaWdpbjowIDEuNWVtO2JvcmRlci1yYWRpdXM6MCA0ZW0gNGVtIDB9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzIC5zd2FsMi1zdWNjZXNzLXJpbmd7d2lkdGg6MmVtO2hlaWdodDoyZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzIC5zd2FsMi1zdWNjZXNzLWZpeHt0b3A6MDtsZWZ0Oi40Mzc1ZW07d2lkdGg6LjQzNzVlbTtoZWlnaHQ6Mi42ODc1ZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1saW5lXXtoZWlnaHQ6LjMxMjVlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWxpbmVdW2NsYXNzJD10aXBde3RvcDoxLjEyNWVtO2xlZnQ6LjE4NzVlbTt3aWR0aDouNzVlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWxpbmVdW2NsYXNzJD1sb25nXXt0b3A6LjkzNzVlbTtyaWdodDouMTg3NWVtO3dpZHRoOjEuMzc1ZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzLnN3YWwyLWljb24tc2hvdyAuc3dhbDItc3VjY2Vzcy1saW5lLXRpcHthbmltYXRpb246c3dhbDItdG9hc3QtYW5pbWF0ZS1zdWNjZXNzLWxpbmUtdGlwIC43NXN9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzLnN3YWwyLWljb24tc2hvdyAuc3dhbDItc3VjY2Vzcy1saW5lLWxvbmd7YW5pbWF0aW9uOnN3YWwyLXRvYXN0LWFuaW1hdGUtc3VjY2Vzcy1saW5lLWxvbmcgLjc1c30uc3dhbDItcG9wdXAuc3dhbDItdG9hc3Quc3dhbDItc2hvd3thbmltYXRpb246c3dhbDItdG9hc3Qtc2hvdyAuNXN9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0LnN3YWwyLWhpZGV7YW5pbWF0aW9uOnN3YWwyLXRvYXN0LWhpZGUgLjFzIGZvcndhcmRzfS5zd2FsMi1jb250YWluZXJ7ZGlzcGxheTpncmlkO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTA2MDt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Z3JpZC10ZW1wbGF0ZS1hcmVhczpcInRvcC1zdGFydCAgICAgdG9wICAgICAgICAgICAgdG9wLWVuZFwiIFwiY2VudGVyLXN0YXJ0ICBjZW50ZXIgICAgICAgICBjZW50ZXItZW5kXCIgXCJib3R0b20tc3RhcnQgIGJvdHRvbS1jZW50ZXIgIGJvdHRvbS1lbmRcIjtncmlkLXRlbXBsYXRlLXJvd3M6bWlubWF4KG1pbi1jb250ZW50LCBhdXRvKSBtaW5tYXgobWluLWNvbnRlbnQsIGF1dG8pIG1pbm1heChtaW4tY29udGVudCwgYXV0byk7aGVpZ2h0OjEwMCU7cGFkZGluZzouNjI1ZW07b3ZlcmZsb3cteDpoaWRkZW47dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xczstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaH0uc3dhbDItY29udGFpbmVyLnN3YWwyLWJhY2tkcm9wLXNob3csLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ub2FuaW1hdGlvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjQpfS5zd2FsMi1jb250YWluZXIuc3dhbDItYmFja2Ryb3AtaGlkZXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCkgIWltcG9ydGFudH0uc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1zdGFydCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1zdGFydCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1zdGFydHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsIDFmcikgYXV0byBhdXRvfS5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLC5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9te2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvIG1pbm1heCgwLCAxZnIpIGF1dG99LnN3YWwyLWNvbnRhaW5lci5zd2FsMi10b3AtZW5kLC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLWVuZCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1lbmR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG8gYXV0byBtaW5tYXgoMCwgMWZyKX0uc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1zdGFydD4uc3dhbDItcG9wdXB7YWxpZ24tc2VsZjpzdGFydH0uc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcD4uc3dhbDItcG9wdXB7Z3JpZC1jb2x1bW46MjthbGlnbi1zZWxmOnN0YXJ0O2p1c3RpZnktc2VsZjpjZW50ZXJ9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi10b3AtZW5kPi5zd2FsMi1wb3B1cCwuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1yaWdodD4uc3dhbDItcG9wdXB7Z3JpZC1jb2x1bW46MzthbGlnbi1zZWxmOnN0YXJ0O2p1c3RpZnktc2VsZjplbmR9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItc3RhcnQ+LnN3YWwyLXBvcHVwLC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLWxlZnQ+LnN3YWwyLXBvcHVwe2dyaWQtcm93OjI7YWxpZ24tc2VsZjpjZW50ZXJ9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXI+LnN3YWwyLXBvcHVwe2dyaWQtY29sdW1uOjI7Z3JpZC1yb3c6MjthbGlnbi1zZWxmOmNlbnRlcjtqdXN0aWZ5LXNlbGY6Y2VudGVyfS5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLWVuZD4uc3dhbDItcG9wdXAsLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItcmlnaHQ+LnN3YWwyLXBvcHVwe2dyaWQtY29sdW1uOjM7Z3JpZC1yb3c6MjthbGlnbi1zZWxmOmNlbnRlcjtqdXN0aWZ5LXNlbGY6ZW5kfS5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tLXN0YXJ0Pi5zd2FsMi1wb3B1cCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1sZWZ0Pi5zd2FsMi1wb3B1cHtncmlkLWNvbHVtbjoxO2dyaWQtcm93OjM7YWxpZ24tc2VsZjplbmR9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20+LnN3YWwyLXBvcHVwe2dyaWQtY29sdW1uOjI7Z3JpZC1yb3c6MztqdXN0aWZ5LXNlbGY6Y2VudGVyO2FsaWduLXNlbGY6ZW5kfS5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tLWVuZD4uc3dhbDItcG9wdXAsLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tcmlnaHQ+LnN3YWwyLXBvcHVwe2dyaWQtY29sdW1uOjM7Z3JpZC1yb3c6MzthbGlnbi1zZWxmOmVuZDtqdXN0aWZ5LXNlbGY6ZW5kfS5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1yb3c+LnN3YWwyLXBvcHVwLC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1mdWxsc2NyZWVuPi5zd2FsMi1wb3B1cHtncmlkLWNvbHVtbjoxLzQ7d2lkdGg6MTAwJX0uc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uPi5zd2FsMi1wb3B1cCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctZnVsbHNjcmVlbj4uc3dhbDItcG9wdXB7Z3JpZC1yb3c6MS80O2FsaWduLXNlbGY6c3RyZXRjaH0uc3dhbDItY29udGFpbmVyLnN3YWwyLW5vLXRyYW5zaXRpb257dHJhbnNpdGlvbjpub25lICFpbXBvcnRhbnR9LnN3YWwyLXBvcHVwe2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLCAxMDAlKTt3aWR0aDozMmVtO21heC13aWR0aDoxMDAlO3BhZGRpbmc6MCAwIDEuMjVlbTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjVweDtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzU0NTQ1NDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxcmVtfS5zd2FsMi1wb3B1cDpmb2N1c3tvdXRsaW5lOm5vbmV9LnN3YWwyLXBvcHVwLnN3YWwyLWxvYWRpbmd7b3ZlcmZsb3cteTpoaWRkZW59LnN3YWwyLXRpdGxle3Bvc2l0aW9uOnJlbGF0aXZlO21heC13aWR0aDoxMDAlO21hcmdpbjowO3BhZGRpbmc6LjhlbSAxZW0gMDtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZToxLjg3NWVtO2ZvbnQtd2VpZ2h0OjYwMDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTpub25lO3dvcmQtd3JhcDpicmVhay13b3JkfS5zd2FsMi1hY3Rpb25ze2Rpc3BsYXk6ZmxleDt6LWluZGV4OjE7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOmF1dG87bWFyZ2luOjEuMjVlbSBhdXRvIDA7cGFkZGluZzowfS5zd2FsMi1hY3Rpb25zOm5vdCguc3dhbDItbG9hZGluZykgLnN3YWwyLXN0eWxlZFtkaXNhYmxlZF17b3BhY2l0eTouNH0uc3dhbDItYWN0aW9uczpub3QoLnN3YWwyLWxvYWRpbmcpIC5zd2FsMi1zdHlsZWQ6aG92ZXJ7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjEpLCByZ2JhKDAsIDAsIDAsIDAuMSkpfS5zd2FsMi1hY3Rpb25zOm5vdCguc3dhbDItbG9hZGluZykgLnN3YWwyLXN0eWxlZDphY3RpdmV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjIpLCByZ2JhKDAsIDAsIDAsIDAuMikpfS5zd2FsMi1sb2FkZXJ7ZGlzcGxheTpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjIuMmVtO2hlaWdodDoyLjJlbTttYXJnaW46MCAxLjg3NWVtO2FuaW1hdGlvbjpzd2FsMi1yb3RhdGUtbG9hZGluZyAxLjVzIGxpbmVhciAwcyBpbmZpbml0ZSBub3JtYWw7Ym9yZGVyLXdpZHRoOi4yNWVtO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItcmFkaXVzOjEwMCU7Ym9yZGVyLWNvbG9yOiMyNzc4YzQgcmdiYSgwLDAsMCwwKSAjMjc3OGM0IHJnYmEoMCwwLDAsMCl9LnN3YWwyLXN0eWxlZHttYXJnaW46LjMxMjVlbTtwYWRkaW5nOi42MjVlbSAxLjFlbTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjFzO2JveC1zaGFkb3c6MCAwIDAgM3B4IHJnYmEoMCwwLDAsMCk7Zm9udC13ZWlnaHQ6NTAwfS5zd2FsMi1zdHlsZWQ6bm90KFtkaXNhYmxlZF0pe2N1cnNvcjpwb2ludGVyfS5zd2FsMi1zdHlsZWQuc3dhbDItY29uZmlybXtib3JkZXI6MDtib3JkZXItcmFkaXVzOi4yNWVtO2JhY2tncm91bmQ6aW5pdGlhbDtiYWNrZ3JvdW5kLWNvbG9yOiM3MDY2ZTA7Y29sb3I6I2ZmZjtmb250LXNpemU6MWVtfS5zd2FsMi1zdHlsZWQuc3dhbDItY29uZmlybTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIDNweCByZ2JhKDExMiwxMDIsMjI0LC41KX0uc3dhbDItc3R5bGVkLnN3YWwyLWRlbnl7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czouMjVlbTtiYWNrZ3JvdW5kOmluaXRpYWw7YmFja2dyb3VuZC1jb2xvcjojZGMzNzQxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjFlbX0uc3dhbDItc3R5bGVkLnN3YWwyLWRlbnk6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAzcHggcmdiYSgyMjAsNTUsNjUsLjUpfS5zd2FsMi1zdHlsZWQuc3dhbDItY2FuY2Vse2JvcmRlcjowO2JvcmRlci1yYWRpdXM6LjI1ZW07YmFja2dyb3VuZDppbml0aWFsO2JhY2tncm91bmQtY29sb3I6IzZlNzg4MTtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxZW19LnN3YWwyLXN0eWxlZC5zd2FsMi1jYW5jZWw6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAzcHggcmdiYSgxMTAsMTIwLDEyOSwuNSl9LnN3YWwyLXN0eWxlZC5zd2FsMi1kZWZhdWx0LW91dGxpbmU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAzcHggcmdiYSgxMDAsMTUwLDIwMCwuNSl9LnN3YWwyLXN0eWxlZDpmb2N1c3tvdXRsaW5lOm5vbmV9LnN3YWwyLXN0eWxlZDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0uc3dhbDItZm9vdGVye2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjFlbSAwIDA7cGFkZGluZzoxZW0gMWVtIDA7Ym9yZGVyLXRvcDoxcHggc29saWQgI2VlZTtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZToxZW19LnN3YWwyLXRpbWVyLXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7Z3JpZC1jb2x1bW46YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbjtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo1cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo1cHh9LnN3YWwyLXRpbWVyLXByb2dyZXNzLWJhcnt3aWR0aDoxMDAlO2hlaWdodDouMjVlbTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjIpfS5zd2FsMi1pbWFnZXttYXgtd2lkdGg6MTAwJTttYXJnaW46MmVtIGF1dG8gMWVtfS5zd2FsMi1jbG9zZXt6LWluZGV4OjI7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MS4yZW07aGVpZ2h0OjEuMmVtO21hcmdpbi10b3A6MDttYXJnaW4tcmlnaHQ6MDttYXJnaW4tYm90dG9tOi0xLjJlbTtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246Y29sb3IgLjFzLGJveC1zaGFkb3cgLjFzO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NXB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwKTtjb2xvcjojY2NjO2ZvbnQtZmFtaWx5OnNlcmlmO2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtmb250LXNpemU6Mi41ZW07Y3Vyc29yOnBvaW50ZXI7anVzdGlmeS1zZWxmOmVuZH0uc3dhbDItY2xvc2U6aG92ZXJ7dHJhbnNmb3JtOm5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDApO2NvbG9yOiNmMjc0NzR9LnN3YWwyLWNsb3NlOmZvY3Vze291dGxpbmU6bm9uZTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDNweCByZ2JhKDEwMCwxNTAsMjAwLC41KX0uc3dhbDItY2xvc2U6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9LnN3YWwyLWh0bWwtY29udGFpbmVye3otaW5kZXg6MTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbjoxZW0gMS42ZW0gLjNlbTtwYWRkaW5nOjA7b3ZlcmZsb3c6YXV0bztjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZToxLjEyNWVtO2ZvbnQtd2VpZ2h0Om5vcm1hbDtsaW5lLWhlaWdodDpub3JtYWw7dGV4dC1hbGlnbjpjZW50ZXI7d29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVhay13b3JkfS5zd2FsMi1pbnB1dCwuc3dhbDItZmlsZSwuc3dhbDItdGV4dGFyZWEsLnN3YWwyLXNlbGVjdCwuc3dhbDItcmFkaW8sLnN3YWwyLWNoZWNrYm94e21hcmdpbjoxZW0gMmVtIDNweH0uc3dhbDItaW5wdXQsLnN3YWwyLWZpbGUsLnN3YWwyLXRleHRhcmVhe2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDphdXRvO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xcyxib3gtc2hhZG93IC4xcztib3JkZXI6MXB4IHNvbGlkICNkOWQ5ZDk7Ym9yZGVyLXJhZGl1czouMTg3NWVtO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwKTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNiksMCAwIDAgM3B4IHJnYmEoMCwwLDAsMCk7Y29sb3I6aW5oZXJpdDtmb250LXNpemU6MS4xMjVlbX0uc3dhbDItaW5wdXQuc3dhbDItaW5wdXRlcnJvciwuc3dhbDItZmlsZS5zd2FsMi1pbnB1dGVycm9yLC5zd2FsMi10ZXh0YXJlYS5zd2FsMi1pbnB1dGVycm9ye2JvcmRlci1jb2xvcjojZjI3NDc0ICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzowIDAgMnB4ICNmMjc0NzQgIWltcG9ydGFudH0uc3dhbDItaW5wdXQ6Zm9jdXMsLnN3YWwyLWZpbGU6Zm9jdXMsLnN3YWwyLXRleHRhcmVhOmZvY3Vze2JvcmRlcjoxcHggc29saWQgI2I0ZGJlZDtvdXRsaW5lOm5vbmU7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDYpLDAgMCAwIDNweCByZ2JhKDEwMCwxNTAsMjAwLC41KX0uc3dhbDItaW5wdXQ6OnBsYWNlaG9sZGVyLC5zd2FsMi1maWxlOjpwbGFjZWhvbGRlciwuc3dhbDItdGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOiNjY2N9LnN3YWwyLXJhbmdle21hcmdpbjoxZW0gMmVtIDNweDtiYWNrZ3JvdW5kOiNmZmZ9LnN3YWwyLXJhbmdlIGlucHV0e3dpZHRoOjgwJX0uc3dhbDItcmFuZ2Ugb3V0cHV0e3dpZHRoOjIwJTtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjYwMDt0ZXh0LWFsaWduOmNlbnRlcn0uc3dhbDItcmFuZ2UgaW5wdXQsLnN3YWwyLXJhbmdlIG91dHB1dHtoZWlnaHQ6Mi42MjVlbTtwYWRkaW5nOjA7Zm9udC1zaXplOjEuMTI1ZW07bGluZS1oZWlnaHQ6Mi42MjVlbX0uc3dhbDItaW5wdXR7aGVpZ2h0OjIuNjI1ZW07cGFkZGluZzowIC43NWVtfS5zd2FsMi1maWxle3dpZHRoOjc1JTttYXJnaW4tcmlnaHQ6YXV0bzttYXJnaW4tbGVmdDphdXRvO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwKTtmb250LXNpemU6MS4xMjVlbX0uc3dhbDItdGV4dGFyZWF7aGVpZ2h0OjYuNzVlbTtwYWRkaW5nOi43NWVtfS5zd2FsMi1zZWxlY3R7bWluLXdpZHRoOjUwJTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOi4zNzVlbSAuNjI1ZW07YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDApO2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOjEuMTI1ZW19LnN3YWwyLXJhZGlvLC5zd2FsMi1jaGVja2JveHthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6aW5oZXJpdH0uc3dhbDItcmFkaW8gbGFiZWwsLnN3YWwyLWNoZWNrYm94IGxhYmVse21hcmdpbjowIC42ZW07Zm9udC1zaXplOjEuMTI1ZW19LnN3YWwyLXJhZGlvIGlucHV0LC5zd2FsMi1jaGVja2JveCBpbnB1dHtmbGV4LXNocmluazowO21hcmdpbjowIC40ZW19LnN3YWwyLWlucHV0LWxhYmVse2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbjoxZW0gYXV0byAwfS5zd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2V7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjFlbSAwIDA7cGFkZGluZzouNjI1ZW07b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6I2YwZjBmMDtjb2xvcjojNjY2O2ZvbnQtc2l6ZToxZW07Zm9udC13ZWlnaHQ6MzAwfS5zd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2U6OmJlZm9yZXtjb250ZW50OlwiIVwiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEuNWVtO21pbi13aWR0aDoxLjVlbTtoZWlnaHQ6MS41ZW07bWFyZ2luOjAgLjYyNWVtO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6I2YyNzQ3NDtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjVlbTt0ZXh0LWFsaWduOmNlbnRlcn0uc3dhbDItaWNvbntwb3NpdGlvbjpyZWxhdGl2ZTtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6NWVtO2hlaWdodDo1ZW07bWFyZ2luOjIuNWVtIGF1dG8gLjZlbTtib3JkZXI6MC4yNWVtIHNvbGlkIHJnYmEoMCwwLDAsMCk7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLWNvbG9yOiMwMDA7Zm9udC1mYW1pbHk6aW5oZXJpdDtsaW5lLWhlaWdodDo1ZW07Y3Vyc29yOmRlZmF1bHQ7dXNlci1zZWxlY3Q6bm9uZX0uc3dhbDItaWNvbiAuc3dhbDItaWNvbi1jb250ZW50e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjMuNzVlbX0uc3dhbDItaWNvbi5zd2FsMi1lcnJvcntib3JkZXItY29sb3I6I2YyNzQ3NDtjb2xvcjojZjI3NDc0fS5zd2FsMi1pY29uLnN3YWwyLWVycm9yIC5zd2FsMi14LW1hcmt7cG9zaXRpb246cmVsYXRpdmU7ZmxleC1ncm93OjF9LnN3YWwyLWljb24uc3dhbDItZXJyb3IgW2NsYXNzXj1zd2FsMi14LW1hcmstbGluZV17ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Mi4zMTI1ZW07d2lkdGg6Mi45Mzc1ZW07aGVpZ2h0Oi4zMTI1ZW07Ym9yZGVyLXJhZGl1czouMTI1ZW07YmFja2dyb3VuZC1jb2xvcjojZjI3NDc0fS5zd2FsMi1pY29uLnN3YWwyLWVycm9yIFtjbGFzc149c3dhbDIteC1tYXJrLWxpbmVdW2NsYXNzJD1sZWZ0XXtsZWZ0OjEuMDYyNWVtO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5zd2FsMi1pY29uLnN3YWwyLWVycm9yIFtjbGFzc149c3dhbDIteC1tYXJrLWxpbmVdW2NsYXNzJD1yaWdodF17cmlnaHQ6MWVtO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX0uc3dhbDItaWNvbi5zd2FsMi1lcnJvci5zd2FsMi1pY29uLXNob3d7YW5pbWF0aW9uOnN3YWwyLWFuaW1hdGUtZXJyb3ItaWNvbiAuNXN9LnN3YWwyLWljb24uc3dhbDItZXJyb3Iuc3dhbDItaWNvbi1zaG93IC5zd2FsMi14LW1hcmt7YW5pbWF0aW9uOnN3YWwyLWFuaW1hdGUtZXJyb3IteC1tYXJrIC41c30uc3dhbDItaWNvbi5zd2FsMi13YXJuaW5ne2JvcmRlci1jb2xvcjojZmFjZWE4O2NvbG9yOiNmOGJiODZ9LnN3YWwyLWljb24uc3dhbDItd2FybmluZy5zd2FsMi1pY29uLXNob3d7YW5pbWF0aW9uOnN3YWwyLWFuaW1hdGUtZXJyb3ItaWNvbiAuNXN9LnN3YWwyLWljb24uc3dhbDItd2FybmluZy5zd2FsMi1pY29uLXNob3cgLnN3YWwyLWljb24tY29udGVudHthbmltYXRpb246c3dhbDItYW5pbWF0ZS1pLW1hcmsgLjVzfS5zd2FsMi1pY29uLnN3YWwyLWluZm97Ym9yZGVyLWNvbG9yOiM5ZGUwZjY7Y29sb3I6IzNmYzNlZX0uc3dhbDItaWNvbi5zd2FsMi1pbmZvLnN3YWwyLWljb24tc2hvd3thbmltYXRpb246c3dhbDItYW5pbWF0ZS1lcnJvci1pY29uIC41c30uc3dhbDItaWNvbi5zd2FsMi1pbmZvLnN3YWwyLWljb24tc2hvdyAuc3dhbDItaWNvbi1jb250ZW50e2FuaW1hdGlvbjpzd2FsMi1hbmltYXRlLWktbWFyayAuOHN9LnN3YWwyLWljb24uc3dhbDItcXVlc3Rpb257Ym9yZGVyLWNvbG9yOiNjOWRhZTE7Y29sb3I6Izg3YWRiZH0uc3dhbDItaWNvbi5zd2FsMi1xdWVzdGlvbi5zd2FsMi1pY29uLXNob3d7YW5pbWF0aW9uOnN3YWwyLWFuaW1hdGUtZXJyb3ItaWNvbiAuNXN9LnN3YWwyLWljb24uc3dhbDItcXVlc3Rpb24uc3dhbDItaWNvbi1zaG93IC5zd2FsMi1pY29uLWNvbnRlbnR7YW5pbWF0aW9uOnN3YWwyLWFuaW1hdGUtcXVlc3Rpb24tbWFyayAuOHN9LnN3YWwyLWljb24uc3dhbDItc3VjY2Vzc3tib3JkZXItY29sb3I6I2E1ZGM4Njtjb2xvcjojYTVkYzg2fS5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmVde3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMuNzVlbTtoZWlnaHQ6Ny41ZW07dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7Ym9yZGVyLXJhZGl1czo1MCV9LnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZV1bY2xhc3MkPWxlZnRde3RvcDotMC40Mzc1ZW07bGVmdDotMi4wNjM1ZW07dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO3RyYW5zZm9ybS1vcmlnaW46My43NWVtIDMuNzVlbTtib3JkZXItcmFkaXVzOjcuNWVtIDAgMCA3LjVlbX0uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lXVtjbGFzcyQ9cmlnaHRde3RvcDotMC42ODc1ZW07bGVmdDoxLjg3NWVtO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOjAgMy43NWVtO2JvcmRlci1yYWRpdXM6MCA3LjVlbSA3LjVlbSAwfS5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgLnN3YWwyLXN1Y2Nlc3MtcmluZ3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjI7dG9wOi0wLjI1ZW07bGVmdDotMC4yNWVtO2JveC1zaXppbmc6Y29udGVudC1ib3g7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6LjI1ZW0gc29saWQgcmdiYSgxNjUsMjIwLDEzNCwuMyk7Ym9yZGVyLXJhZGl1czo1MCV9LnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyAuc3dhbDItc3VjY2Vzcy1maXh7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxO3RvcDouNWVtO2xlZnQ6MS42MjVlbTt3aWR0aDouNDM3NWVtO2hlaWdodDo1LjYyNWVtO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX0uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1saW5lXXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjtoZWlnaHQ6LjMxMjVlbTtib3JkZXItcmFkaXVzOi4xMjVlbTtiYWNrZ3JvdW5kLWNvbG9yOiNhNWRjODZ9LnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtbGluZV1bY2xhc3MkPXRpcF17dG9wOjIuODc1ZW07bGVmdDouODEyNWVtO3dpZHRoOjEuNTYyNWVtO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWxpbmVdW2NsYXNzJD1sb25nXXt0b3A6Mi4zNzVlbTtyaWdodDouNWVtO3dpZHRoOjIuOTM3NWVtO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX0uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzLnN3YWwyLWljb24tc2hvdyAuc3dhbDItc3VjY2Vzcy1saW5lLXRpcHthbmltYXRpb246c3dhbDItYW5pbWF0ZS1zdWNjZXNzLWxpbmUtdGlwIC43NXN9LnN3YWwyLWljb24uc3dhbDItc3VjY2Vzcy5zd2FsMi1pY29uLXNob3cgLnN3YWwyLXN1Y2Nlc3MtbGluZS1sb25ne2FuaW1hdGlvbjpzd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS1sb25nIC43NXN9LnN3YWwyLWljb24uc3dhbDItc3VjY2Vzcy5zd2FsMi1pY29uLXNob3cgLnN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZS1yaWdodHthbmltYXRpb246c3dhbDItcm90YXRlLXN1Y2Nlc3MtY2lyY3VsYXItbGluZSA0LjI1cyBlYXNlLWlufS5zd2FsMi1wcm9ncmVzcy1zdGVwc3tmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpjZW50ZXI7bWF4LXdpZHRoOjEwMCU7bWFyZ2luOjEuMjVlbSBhdXRvO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCk7Zm9udC13ZWlnaHQ6NjAwfS5zd2FsMi1wcm9ncmVzcy1zdGVwcyBsaXtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uc3dhbDItcHJvZ3Jlc3Mtc3RlcHMgLnN3YWwyLXByb2dyZXNzLXN0ZXB7ei1pbmRleDoyMDtmbGV4LXNocmluazowO3dpZHRoOjJlbTtoZWlnaHQ6MmVtO2JvcmRlci1yYWRpdXM6MmVtO2JhY2tncm91bmQ6IzI3NzhjNDtjb2xvcjojZmZmO2xpbmUtaGVpZ2h0OjJlbTt0ZXh0LWFsaWduOmNlbnRlcn0uc3dhbDItcHJvZ3Jlc3Mtc3RlcHMgLnN3YWwyLXByb2dyZXNzLXN0ZXAuc3dhbDItYWN0aXZlLXByb2dyZXNzLXN0ZXB7YmFja2dyb3VuZDojMjc3OGM0fS5zd2FsMi1wcm9ncmVzcy1zdGVwcyAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC5zd2FsMi1hY3RpdmUtcHJvZ3Jlc3Mtc3RlcH4uc3dhbDItcHJvZ3Jlc3Mtc3RlcHtiYWNrZ3JvdW5kOiNhZGQ4ZTY7Y29sb3I6I2ZmZn0uc3dhbDItcHJvZ3Jlc3Mtc3RlcHMgLnN3YWwyLXByb2dyZXNzLXN0ZXAuc3dhbDItYWN0aXZlLXByb2dyZXNzLXN0ZXB+LnN3YWwyLXByb2dyZXNzLXN0ZXAtbGluZXtiYWNrZ3JvdW5kOiNhZGQ4ZTZ9LnN3YWwyLXByb2dyZXNzLXN0ZXBzIC5zd2FsMi1wcm9ncmVzcy1zdGVwLWxpbmV7ei1pbmRleDoxMDtmbGV4LXNocmluazowO3dpZHRoOjIuNWVtO2hlaWdodDouNGVtO21hcmdpbjowIC0xcHg7YmFja2dyb3VuZDojMjc3OGM0fVtjbGFzc149c3dhbDJdey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApfS5zd2FsMi1zaG93e2FuaW1hdGlvbjpzd2FsMi1zaG93IC4zc30uc3dhbDItaGlkZXthbmltYXRpb246c3dhbDItaGlkZSAuMTVzIGZvcndhcmRzfS5zd2FsMi1ub2FuaW1hdGlvbnt0cmFuc2l0aW9uOm5vbmV9LnN3YWwyLXNjcm9sbGJhci1tZWFzdXJle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotOTk5OXB4O3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7b3ZlcmZsb3c6c2Nyb2xsfS5zd2FsMi1ydGwgLnN3YWwyLWNsb3Nle21hcmdpbi1yaWdodDppbml0aWFsO21hcmdpbi1sZWZ0OjB9LnN3YWwyLXJ0bCAuc3dhbDItdGltZXItcHJvZ3Jlc3MtYmFye3JpZ2h0OjA7bGVmdDphdXRvfUBrZXlmcmFtZXMgc3dhbDItdG9hc3Qtc2hvd3swJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC42MjVlbSkgcm90YXRlWigyZGVnKX0zMyV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgcm90YXRlWigtMmRlZyl9NjYle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDAuMzEyNWVtKSByb3RhdGVaKDJkZWcpfTEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgcm90YXRlWigwZGVnKX19QGtleWZyYW1lcyBzd2FsMi10b2FzdC1oaWRlezEwMCV7dHJhbnNmb3JtOnJvdGF0ZVooMWRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHN3YWwyLXRvYXN0LWFuaW1hdGUtc3VjY2Vzcy1saW5lLXRpcHswJXt0b3A6LjU2MjVlbTtsZWZ0Oi4wNjI1ZW07d2lkdGg6MH01NCV7dG9wOi4xMjVlbTtsZWZ0Oi4xMjVlbTt3aWR0aDowfTcwJXt0b3A6LjYyNWVtO2xlZnQ6LTAuMjVlbTt3aWR0aDoxLjYyNWVtfTg0JXt0b3A6MS4wNjI1ZW07bGVmdDouNzVlbTt3aWR0aDouNWVtfTEwMCV7dG9wOjEuMTI1ZW07bGVmdDouMTg3NWVtO3dpZHRoOi43NWVtfX1Aa2V5ZnJhbWVzIHN3YWwyLXRvYXN0LWFuaW1hdGUtc3VjY2Vzcy1saW5lLWxvbmd7MCV7dG9wOjEuNjI1ZW07cmlnaHQ6MS4zNzVlbTt3aWR0aDowfTY1JXt0b3A6MS4yNWVtO3JpZ2h0Oi45Mzc1ZW07d2lkdGg6MH04NCV7dG9wOi45Mzc1ZW07cmlnaHQ6MDt3aWR0aDoxLjEyNWVtfTEwMCV7dG9wOi45Mzc1ZW07cmlnaHQ6LjE4NzVlbTt3aWR0aDoxLjM3NWVtfX1Aa2V5ZnJhbWVzIHN3YWwyLXNob3d7MCV7dHJhbnNmb3JtOnNjYWxlKDAuNyl9NDUle3RyYW5zZm9ybTpzY2FsZSgxLjA1KX04MCV7dHJhbnNmb3JtOnNjYWxlKDAuOTUpfTEwMCV7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIHN3YWwyLWhpZGV7MCV7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX0xMDAle3RyYW5zZm9ybTpzY2FsZSgwLjUpO29wYWNpdHk6MH19QGtleWZyYW1lcyBzd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS10aXB7MCV7dG9wOjEuMTg3NWVtO2xlZnQ6LjA2MjVlbTt3aWR0aDowfTU0JXt0b3A6MS4wNjI1ZW07bGVmdDouMTI1ZW07d2lkdGg6MH03MCV7dG9wOjIuMTg3NWVtO2xlZnQ6LTAuMzc1ZW07d2lkdGg6My4xMjVlbX04NCV7dG9wOjNlbTtsZWZ0OjEuMzEyNWVtO3dpZHRoOjEuMDYyNWVtfTEwMCV7dG9wOjIuODEyNWVtO2xlZnQ6LjgxMjVlbTt3aWR0aDoxLjU2MjVlbX19QGtleWZyYW1lcyBzd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS1sb25nezAle3RvcDozLjM3NWVtO3JpZ2h0OjIuODc1ZW07d2lkdGg6MH02NSV7dG9wOjMuMzc1ZW07cmlnaHQ6Mi44NzVlbTt3aWR0aDowfTg0JXt0b3A6Mi4xODc1ZW07cmlnaHQ6MDt3aWR0aDozLjQzNzVlbX0xMDAle3RvcDoyLjM3NWVtO3JpZ2h0Oi41ZW07d2lkdGg6Mi45Mzc1ZW19fUBrZXlmcmFtZXMgc3dhbDItcm90YXRlLXN1Y2Nlc3MtY2lyY3VsYXItbGluZXswJXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9NSV7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfTEyJXt0cmFuc2Zvcm06cm90YXRlKC00MDVkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgtNDA1ZGVnKX19QGtleWZyYW1lcyBzd2FsMi1hbmltYXRlLWVycm9yLXgtbWFya3swJXttYXJnaW4tdG9wOjEuNjI1ZW07dHJhbnNmb3JtOnNjYWxlKDAuNCk7b3BhY2l0eTowfTUwJXttYXJnaW4tdG9wOjEuNjI1ZW07dHJhbnNmb3JtOnNjYWxlKDAuNCk7b3BhY2l0eTowfTgwJXttYXJnaW4tdG9wOi0wLjM3NWVtO3RyYW5zZm9ybTpzY2FsZSgxLjE1KX0xMDAle21hcmdpbi10b3A6MDt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtZXJyb3ItaWNvbnswJXt0cmFuc2Zvcm06cm90YXRlWCgxMDBkZWcpO29wYWNpdHk6MH0xMDAle3RyYW5zZm9ybTpyb3RhdGVYKDBkZWcpO29wYWNpdHk6MX19QGtleWZyYW1lcyBzd2FsMi1yb3RhdGUtbG9hZGluZ3swJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtcXVlc3Rpb24tbWFya3swJXt0cmFuc2Zvcm06cm90YXRlWSgtMzYwZGVnKX0xMDAle3RyYW5zZm9ybTpyb3RhdGVZKDApfX1Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtaS1tYXJrezAle3RyYW5zZm9ybTpyb3RhdGVaKDQ1ZGVnKTtvcGFjaXR5OjB9MjUle3RyYW5zZm9ybTpyb3RhdGVaKC0yNWRlZyk7b3BhY2l0eTouNH01MCV7dHJhbnNmb3JtOnJvdGF0ZVooMTVkZWcpO29wYWNpdHk6Ljh9NzUle3RyYW5zZm9ybTpyb3RhdGVaKC01ZGVnKTtvcGFjaXR5OjF9MTAwJXt0cmFuc2Zvcm06cm90YXRlWCgwKTtvcGFjaXR5OjF9fWJvZHkuc3dhbDItc2hvd246bm90KC5zd2FsMi1uby1iYWNrZHJvcCk6bm90KC5zd2FsMi10b2FzdC1zaG93bil7b3ZlcmZsb3c6aGlkZGVufWJvZHkuc3dhbDItaGVpZ2h0LWF1dG97aGVpZ2h0OmF1dG8gIWltcG9ydGFudH1ib2R5LnN3YWwyLW5vLWJhY2tkcm9wIC5zd2FsMi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApICFpbXBvcnRhbnQ7cG9pbnRlci1ldmVudHM6bm9uZX1ib2R5LnN3YWwyLW5vLWJhY2tkcm9wIC5zd2FsMi1jb250YWluZXIgLnN3YWwyLXBvcHVwe3BvaW50ZXItZXZlbnRzOmFsbH1ib2R5LnN3YWwyLW5vLWJhY2tkcm9wIC5zd2FsMi1jb250YWluZXIgLnN3YWwyLW1vZGFse2JveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuNCl9QG1lZGlhIHByaW50e2JvZHkuc3dhbDItc2hvd246bm90KC5zd2FsMi1uby1iYWNrZHJvcCk6bm90KC5zd2FsMi10b2FzdC1zaG93bil7b3ZlcmZsb3cteTpzY3JvbGwgIWltcG9ydGFudH1ib2R5LnN3YWwyLXNob3duOm5vdCguc3dhbDItbm8tYmFja2Ryb3ApOm5vdCguc3dhbDItdG9hc3Qtc2hvd24pPlthcmlhLWhpZGRlbj10cnVlXXtkaXNwbGF5Om5vbmV9Ym9keS5zd2FsMi1zaG93bjpub3QoLnN3YWwyLW5vLWJhY2tkcm9wKTpub3QoLnN3YWwyLXRvYXN0LXNob3duKSAuc3dhbDItY29udGFpbmVye3Bvc2l0aW9uOnN0YXRpYyAhaW1wb3J0YW50fX1ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXJ7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjM2MHB4O21heC13aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtwb2ludGVyLWV2ZW50czpub25lfWJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi10b3B7dG9wOjA7cmlnaHQ6YXV0bztib3R0b206YXV0bztsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX1ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLWVuZCxib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLXJpZ2h0e3RvcDowO3JpZ2h0OjA7Ym90dG9tOmF1dG87bGVmdDphdXRvfWJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi10b3Atc3RhcnQsYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1sZWZ0e3RvcDowO3JpZ2h0OmF1dG87Ym90dG9tOmF1dG87bGVmdDowfWJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItc3RhcnQsYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1sZWZ0e3RvcDo1MCU7cmlnaHQ6YXV0bztib3R0b206YXV0bztsZWZ0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9Ym9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlcnt0b3A6NTAlO3JpZ2h0OmF1dG87Ym90dG9tOmF1dG87bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtNTAlKX1ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLWVuZCxib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLXJpZ2h0e3RvcDo1MCU7cmlnaHQ6MDtib3R0b206YXV0bztsZWZ0OmF1dG87dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9Ym9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1zdGFydCxib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tLWxlZnR7dG9wOmF1dG87cmlnaHQ6YXV0bztib3R0b206MDtsZWZ0OjB9Ym9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbXt0b3A6YXV0bztyaWdodDphdXRvO2JvdHRvbTowO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpfWJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tZW5kLGJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tcmlnaHR7dG9wOmF1dG87cmlnaHQ6MDtib3R0b206MDtsZWZ0OmF1dG99Iik7"}},"time_used":217,"timings":{"blocked":-1,"dns":0,"connect":20,"send":0,"wait":89,"receive":82,"ssl":27},"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":"meta-drop.top","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":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"opendns","sensor_type":"DNS","title":"OpenDNS","description":"OpenDNS","scan_date":"2026-07-27","alert":"Phishing Block","trigger":"meta-drop.top","verdict":"phishing","severity":"medium","comment":"","link":"https://www.opendns.com/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/ethers.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:07.864Z","timestamp":1785152587864,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"meta-drop.top","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 19 Jul 2026 23:27:50 GMT","end":"Sat, 17 Oct 2026 23:27:49 GMT"},"fingerprint":{"sha1":"67:D4:87:A1:51:D4:1D:BB:BB:77:02:2B:B6:56:97:52:78:DA:92:C1","sha256":"67:DA:68:05:20:35:91:18:5A:EF:52:AD:9A:51:70:A4:D4:60:E6:DA:FE:67:E3:E1:6C:3F:13:4D:D1:7C:6D:E4"}}},"request":{"raw":"GET /assets/web3-provider/ethers.js HTTP/1.1\r\nHost: meta-drop.top\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://meta-drop.top/\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/1.1 200 OK\r\nServer: nginx/1.24.0 (Ubuntu)\r\nDate: Mon, 27 Jul 2026 11:43:08 GMT\r\nContent-Type: application/javascript; charset=UTF-8\r\nContent-Length: 760171\r\nConnection: keep-alive\r\nX-Powered-By: Express\r\nAccess-Control-Allow-Origin: *\r\nAccept-Ranges: bytes\r\nCache-Control: public, max-age=0\r\nLast-Modified: Fri, 10 Jan 2025 13:06:25 GMT\r\nETag: W/\"b996b-1945052b468\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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":"Nginx:1.24.0","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":"Ubuntu","description":"Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.","website":"https://www.ubuntu.com/server","common_platform_enumeration":"cpe:2.3:o:canonical:ubuntu_linux:*:*:*:*:*:*:*:*","icon":"Ubuntu.svg","categories":["Operating systems"]}],"data":{"size":760171,"size_decoded":760545,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"71f8c498e792c6179d4e2840228f777a","sha1":"b651545587f6257345dc3de9ddaa444b10dedf3e","sha256":"a66293a6a2bb4dee061a68612be0be3c5c0ab7e4068ab8d98a4a357baf664c73","sha512":"14371563e83bbdce425c035bad34a0d4ae6a2f2ae20ac183602134d8b8b5b5711874d40fbcb3c7344fab4f63237a2f0dedf65b7b458b870dbb8f64ab191a5d32","ssdeep":"12288:TfamYTKkkAJs8P+H8Xb2F/nNuwEYtnob6qQr:TfjkhPaNnN9EYtwo","tlshash":"35f43b80b3b1b0b583c729a4143f6046f63af46a505840a8f659faf279f9d4c957bb3c","first_seen":"2023-03-13T00:48:53Z","last_seen":"2026-08-10T23:53:05.848Z","times_seen":3788,"resource_available":true,"data":"KGZ1bmN0aW9uKGdsb2JhbCxmYWN0b3J5KXt0eXBlb2YgZXhwb3J0cz09PSJvYmplY3QiJiZ0eXBlb2YgbW9kdWxlIT09InVuZGVmaW5lZCI/bW9kdWxlLmV4cG9ydHM9ZmFjdG9yeSgpOnR5cGVvZiBkZWZpbmU9PT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kP2RlZmluZShmYWN0b3J5KTooZ2xvYmFsPXR5cGVvZiBnbG9iYWxUaGlzIT09InVuZGVmaW5lZCI/Z2xvYmFsVGhpczpnbG9iYWx8fHNlbGYsZ2xvYmFsLmV0aGVycz1mYWN0b3J5KCkpfSkodGhpcyxmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgY29tbW9uanNHbG9iYWw9dHlwZW9mIGdsb2JhbFRoaXMhPT0idW5kZWZpbmVkIj9nbG9iYWxUaGlzOnR5cGVvZiB3aW5kb3chPT0idW5kZWZpbmVkIj93aW5kb3c6dHlwZW9mIGdsb2JhbCE9PSJ1bmRlZmluZWQiP2dsb2JhbDp0eXBlb2Ygc2VsZiE9PSJ1bmRlZmluZWQiP3NlbGY6e307ZnVuY3Rpb24gZ2V0RGVmYXVsdEV4cG9ydEZyb21DanMoeCl7cmV0dXJuIHgmJnguX19lc01vZHVsZSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHgsImRlZmF1bHQiKT94WyJkZWZhdWx0Il06eH1mdW5jdGlvbiBjcmVhdGVDb21tb25qc01vZHVsZShmbixiYXNlZGlyLG1vZHVsZSl7cmV0dXJuIG1vZHVsZT17cGF0aDpiYXNlZGlyLGV4cG9ydHM6e30scmVxdWlyZTpmdW5jdGlvbihwYXRoLGJhc2Upe3JldHVybiBjb21tb25qc1JlcXVpcmUocGF0aCxiYXNlPT09dW5kZWZpbmVkfHxiYXNlPT09bnVsbD9tb2R1bGUucGF0aDpiYXNlKX19LGZuKG1vZHVsZSxtb2R1bGUuZXhwb3J0cyksbW9kdWxlLmV4cG9ydHN9ZnVuY3Rpb24gZ2V0RGVmYXVsdEV4cG9ydEZyb21OYW1lc3BhY2VJZlByZXNlbnQobil7cmV0dXJuIG4mJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLCJkZWZhdWx0Iik/blsiZGVmYXVsdCJdOm59ZnVuY3Rpb24gZ2V0RGVmYXVsdEV4cG9ydEZyb21OYW1lc3BhY2VJZk5vdE5hbWVkKG4pe3JldHVybiBuJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobiwiZGVmYXVsdCIpJiZPYmplY3Qua2V5cyhuKS5sZW5ndGg9PT0xP25bImRlZmF1bHQiXTpufWZ1bmN0aW9uIGdldEF1Z21lbnRlZE5hbWVzcGFjZShuKXtpZihuLl9fZXNNb2R1bGUpcmV0dXJuIG47dmFyIGE9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO09iamVjdC5rZXlzKG4pLmZvckVhY2goZnVuY3Rpb24oayl7dmFyIGQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuLGspO09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLGssZC5nZXQ/ZDp7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBuW2tdfX0pfSk7cmV0dXJuIGF9ZnVuY3Rpb24gY29tbW9uanNSZXF1aXJlKCl7dGhyb3cgbmV3IEVycm9yKCJEeW5hbWljIHJlcXVpcmVzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZCBieSBAcm9sbHVwL3BsdWdpbi1jb21tb25qcyIpfXZhciBibj1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUpeyhmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGFzc2VydCh2YWwsbXNnKXtpZighdmFsKXRocm93IG5ldyBFcnJvcihtc2d8fCJBc3NlcnRpb24gZmFpbGVkIil9ZnVuY3Rpb24gaW5oZXJpdHMoY3RvcixzdXBlckN0b3Ipe2N0b3Iuc3VwZXJfPXN1cGVyQ3Rvcjt2YXIgVGVtcEN0b3I9ZnVuY3Rpb24oKXt9O1RlbXBDdG9yLnByb3RvdHlwZT1zdXBlckN0b3IucHJvdG90eXBlO2N0b3IucHJvdG90eXBlPW5ldyBUZW1wQ3RvcjtjdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1jdG9yfWZ1bmN0aW9uIEJOKG51bWJlcixiYXNlLGVuZGlhbil7aWYoQk4uaXNCTihudW1iZXIpKXtyZXR1cm4gbnVtYmVyfXRoaXMubmVnYXRpdmU9MDt0aGlzLndvcmRzPW51bGw7dGhpcy5sZW5ndGg9MDt0aGlzLnJlZD1udWxsO2lmKG51bWJlciE9PW51bGwpe2lmKGJhc2U9PT0ibGUifHxiYXNlPT09ImJlIil7ZW5kaWFuPWJhc2U7YmFzZT0xMH10aGlzLl9pbml0KG51bWJlcnx8MCxiYXNlfHwxMCxlbmRpYW58fCJiZSIpfX1pZih0eXBlb2YgbW9kdWxlPT09Im9iamVjdCIpe21vZHVsZS5leHBvcnRzPUJOfWVsc2V7ZXhwb3J0cy5CTj1CTn1CTi5CTj1CTjtCTi53b3JkU2l6ZT0yNjt2YXIgQnVmZmVyO3RyeXtpZih0eXBlb2Ygd2luZG93IT09InVuZGVmaW5lZCImJnR5cGVvZiB3aW5kb3cuQnVmZmVyIT09InVuZGVmaW5lZCIpe0J1ZmZlcj13aW5kb3cuQnVmZmVyfWVsc2V7QnVmZmVyPW51bGwuQnVmZmVyfX1jYXRjaChlKXt9Qk4uaXNCTj1mdW5jdGlvbiBpc0JOKG51bSl7aWYobnVtIGluc3RhbmNlb2YgQk4pe3JldHVybiB0cnVlfXJldHVybiBudW0hPT1udWxsJiZ0eXBlb2YgbnVtPT09Im9iamVjdCImJm51bS5jb25zdHJ1Y3Rvci53b3JkU2l6ZT09PUJOLndvcmRTaXplJiZBcnJheS5pc0FycmF5KG51bS53b3Jkcyl9O0JOLm1heD1mdW5jdGlvbiBtYXgobGVmdCxyaWdodCl7aWYobGVmdC5jbXAocmlnaHQpPjApcmV0dXJuIGxlZnQ7cmV0dXJuIHJpZ2h0fTtCTi5taW49ZnVuY3Rpb24gbWluKGxlZnQscmlnaHQpe2lmKGxlZnQuY21wKHJpZ2h0KTwwKXJldHVybiBsZWZ0O3JldHVybiByaWdodH07Qk4ucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uIGluaXQobnVtYmVyLGJhc2UsZW5kaWFuKXtpZih0eXBlb2YgbnVtYmVyPT09Im51bWJlciIpe3JldHVybiB0aGlzLl9pbml0TnVtYmVyKG51bWJlcixiYXNlLGVuZGlhbil9aWYodHlwZW9mIG51bWJlcj09PSJvYmplY3QiKXtyZXR1cm4gdGhpcy5faW5pdEFycmF5KG51bWJlcixiYXNlLGVuZGlhbil9aWYoYmFzZT09PSJoZXgiKXtiYXNlPTE2fWFzc2VydChiYXNlPT09KGJhc2V8MCkmJmJhc2U+PTImJmJhc2U8PTM2KTtudW1iZXI9bnVtYmVyLnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpO3ZhciBzdGFydD0wO2lmKG51bWJlclswXT09PSItIil7c3RhcnQrKzt0aGlzLm5lZ2F0aXZlPTF9aWYoc3RhcnQ8bnVtYmVyLmxlbmd0aCl7aWYoYmFzZT09PTE2KXt0aGlzLl9wYXJzZUhleChudW1iZXIsc3RhcnQsZW5kaWFuKX1lbHNle3RoaXMuX3BhcnNlQmFzZShudW1iZXIsYmFzZSxzdGFydCk7aWYoZW5kaWFuPT09ImxlIil7dGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLGJhc2UsZW5kaWFuKX19fX07Qk4ucHJvdG90eXBlLl9pbml0TnVtYmVyPWZ1bmN0aW9uIF9pbml0TnVtYmVyKG51bWJlcixiYXNlLGVuZGlhbil7aWYobnVtYmVyPDApe3RoaXMubmVnYXRpdmU9MTtudW1iZXI9LW51bWJlcn1pZihudW1iZXI8NjcxMDg4NjQpe3RoaXMud29yZHM9W251bWJlciY2NzEwODg2M107dGhpcy5sZW5ndGg9MX1lbHNlIGlmKG51bWJlcjw0NTAzNTk5NjI3MzcwNDk2KXt0aGlzLndvcmRzPVtudW1iZXImNjcxMDg4NjMsbnVtYmVyLzY3MTA4ODY0JjY3MTA4ODYzXTt0aGlzLmxlbmd0aD0yfWVsc2V7YXNzZXJ0KG51bWJlcjw5MDA3MTk5MjU0NzQwOTkyKTt0aGlzLndvcmRzPVtudW1iZXImNjcxMDg4NjMsbnVtYmVyLzY3MTA4ODY0JjY3MTA4ODYzLDFdO3RoaXMubGVuZ3RoPTN9aWYoZW5kaWFuIT09ImxlIilyZXR1cm47dGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLGJhc2UsZW5kaWFuKX07Qk4ucHJvdG90eXBlLl9pbml0QXJyYXk9ZnVuY3Rpb24gX2luaXRBcnJheShudW1iZXIsYmFzZSxlbmRpYW4pe2Fzc2VydCh0eXBlb2YgbnVtYmVyLmxlbmd0aD09PSJudW1iZXIiKTtpZihudW1iZXIubGVuZ3RoPD0wKXt0aGlzLndvcmRzPVswXTt0aGlzLmxlbmd0aD0xO3JldHVybiB0aGlzfXRoaXMubGVuZ3RoPU1hdGguY2VpbChudW1iZXIubGVuZ3RoLzMpO3RoaXMud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIGk9MDtpPHRoaXMubGVuZ3RoO2krKyl7dGhpcy53b3Jkc1tpXT0wfXZhciBqLHc7dmFyIG9mZj0wO2lmKGVuZGlhbj09PSJiZSIpe2ZvcihpPW51bWJlci5sZW5ndGgtMSxqPTA7aT49MDtpLT0zKXt3PW51bWJlcltpXXxudW1iZXJbaS0xXTw8OHxudW1iZXJbaS0yXTw8MTY7dGhpcy53b3Jkc1tqXXw9dzw8b2ZmJjY3MTA4ODYzO3RoaXMud29yZHNbaisxXT13Pj4+MjYtb2ZmJjY3MTA4ODYzO29mZis9MjQ7aWYob2ZmPj0yNil7b2ZmLT0yNjtqKyt9fX1lbHNlIGlmKGVuZGlhbj09PSJsZSIpe2ZvcihpPTAsaj0wO2k8bnVtYmVyLmxlbmd0aDtpKz0zKXt3PW51bWJlcltpXXxudW1iZXJbaSsxXTw8OHxudW1iZXJbaSsyXTw8MTY7dGhpcy53b3Jkc1tqXXw9dzw8b2ZmJjY3MTA4ODYzO3RoaXMud29yZHNbaisxXT13Pj4+MjYtb2ZmJjY3MTA4ODYzO29mZis9MjQ7aWYob2ZmPj0yNil7b2ZmLT0yNjtqKyt9fX1yZXR1cm4gdGhpcy5fc3RyaXAoKX07ZnVuY3Rpb24gcGFyc2VIZXg0Qml0cyhzdHJpbmcsaW5kZXgpe3ZhciBjPXN0cmluZy5jaGFyQ29kZUF0KGluZGV4KTtpZihjPj00OCYmYzw9NTcpe3JldHVybiBjLTQ4fWVsc2UgaWYoYz49NjUmJmM8PTcwKXtyZXR1cm4gYy01NX1lbHNlIGlmKGM+PTk3JiZjPD0xMDIpe3JldHVybiBjLTg3fWVsc2V7YXNzZXJ0KGZhbHNlLCJJbnZhbGlkIGNoYXJhY3RlciBpbiAiK3N0cmluZyl9fWZ1bmN0aW9uIHBhcnNlSGV4Qnl0ZShzdHJpbmcsbG93ZXJCb3VuZCxpbmRleCl7dmFyIHI9cGFyc2VIZXg0Qml0cyhzdHJpbmcsaW5kZXgpO2lmKGluZGV4LTE+PWxvd2VyQm91bmQpe3J8PXBhcnNlSGV4NEJpdHMoc3RyaW5nLGluZGV4LTEpPDw0fXJldHVybiByfUJOLnByb3RvdHlwZS5fcGFyc2VIZXg9ZnVuY3Rpb24gX3BhcnNlSGV4KG51bWJlcixzdGFydCxlbmRpYW4pe3RoaXMubGVuZ3RoPU1hdGguY2VpbCgobnVtYmVyLmxlbmd0aC1zdGFydCkvNik7dGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgaT0wO2k8dGhpcy5sZW5ndGg7aSsrKXt0aGlzLndvcmRzW2ldPTB9dmFyIG9mZj0wO3ZhciBqPTA7dmFyIHc7aWYoZW5kaWFuPT09ImJlIil7Zm9yKGk9bnVtYmVyLmxlbmd0aC0xO2k+PXN0YXJ0O2ktPTIpe3c9cGFyc2VIZXhCeXRlKG51bWJlcixzdGFydCxpKTw8b2ZmO3RoaXMud29yZHNbal18PXcmNjcxMDg4NjM7aWYob2ZmPj0xOCl7b2ZmLT0xODtqKz0xO3RoaXMud29yZHNbal18PXc+Pj4yNn1lbHNle29mZis9OH19fWVsc2V7dmFyIHBhcnNlTGVuZ3RoPW51bWJlci5sZW5ndGgtc3RhcnQ7Zm9yKGk9cGFyc2VMZW5ndGglMj09PTA/c3RhcnQrMTpzdGFydDtpPG51bWJlci5sZW5ndGg7aSs9Mil7dz1wYXJzZUhleEJ5dGUobnVtYmVyLHN0YXJ0LGkpPDxvZmY7dGhpcy53b3Jkc1tqXXw9dyY2NzEwODg2MztpZihvZmY+PTE4KXtvZmYtPTE4O2orPTE7dGhpcy53b3Jkc1tqXXw9dz4+PjI2fWVsc2V7b2ZmKz04fX19dGhpcy5fc3RyaXAoKX07ZnVuY3Rpb24gcGFyc2VCYXNlKHN0cixzdGFydCxlbmQsbXVsKXt2YXIgcj0wO3ZhciBiPTA7dmFyIGxlbj1NYXRoLm1pbihzdHIubGVuZ3RoLGVuZCk7Zm9yKHZhciBpPXN0YXJ0O2k8bGVuO2krKyl7dmFyIGM9c3RyLmNoYXJDb2RlQXQoaSktNDg7cio9bXVsO2lmKGM+PTQ5KXtiPWMtNDkrMTB9ZWxzZSBpZihjPj0xNyl7Yj1jLTE3KzEwfWVsc2V7Yj1jfWFzc2VydChjPj0wJiZiPG11bCwiSW52YWxpZCBjaGFyYWN0ZXIiKTtyKz1ifXJldHVybiByfUJOLnByb3RvdHlwZS5fcGFyc2VCYXNlPWZ1bmN0aW9uIF9wYXJzZUJhc2UobnVtYmVyLGJhc2Usc3RhcnQpe3RoaXMud29yZHM9WzBdO3RoaXMubGVuZ3RoPTE7Zm9yKHZhciBsaW1iTGVuPTAsbGltYlBvdz0xO2xpbWJQb3c8PTY3MTA4ODYzO2xpbWJQb3cqPWJhc2Upe2xpbWJMZW4rK31saW1iTGVuLS07bGltYlBvdz1saW1iUG93L2Jhc2V8MDt2YXIgdG90YWw9bnVtYmVyLmxlbmd0aC1zdGFydDt2YXIgbW9kPXRvdGFsJWxpbWJMZW47dmFyIGVuZD1NYXRoLm1pbih0b3RhbCx0b3RhbC1tb2QpK3N0YXJ0O3ZhciB3b3JkPTA7Zm9yKHZhciBpPXN0YXJ0O2k8ZW5kO2krPWxpbWJMZW4pe3dvcmQ9cGFyc2VCYXNlKG51bWJlcixpLGkrbGltYkxlbixiYXNlKTt0aGlzLmltdWxuKGxpbWJQb3cpO2lmKHRoaXMud29yZHNbMF0rd29yZDw2NzEwODg2NCl7dGhpcy53b3Jkc1swXSs9d29yZH1lbHNle3RoaXMuX2lhZGRuKHdvcmQpfX1pZihtb2QhPT0wKXt2YXIgcG93PTE7d29yZD1wYXJzZUJhc2UobnVtYmVyLGksbnVtYmVyLmxlbmd0aCxiYXNlKTtmb3IoaT0wO2k8bW9kO2krKyl7cG93Kj1iYXNlfXRoaXMuaW11bG4ocG93KTtpZih0aGlzLndvcmRzWzBdK3dvcmQ8NjcxMDg4NjQpe3RoaXMud29yZHNbMF0rPXdvcmR9ZWxzZXt0aGlzLl9pYWRkbih3b3JkKX19dGhpcy5fc3RyaXAoKX07Qk4ucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24gY29weShkZXN0KXtkZXN0LndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBpPTA7aTx0aGlzLmxlbmd0aDtpKyspe2Rlc3Qud29yZHNbaV09dGhpcy53b3Jkc1tpXX1kZXN0Lmxlbmd0aD10aGlzLmxlbmd0aDtkZXN0Lm5lZ2F0aXZlPXRoaXMubmVnYXRpdmU7ZGVzdC5yZWQ9dGhpcy5yZWR9O2Z1bmN0aW9uIG1vdmUoZGVzdCxzcmMpe2Rlc3Qud29yZHM9c3JjLndvcmRzO2Rlc3QubGVuZ3RoPXNyYy5sZW5ndGg7ZGVzdC5uZWdhdGl2ZT1zcmMubmVnYXRpdmU7ZGVzdC5yZWQ9c3JjLnJlZH1CTi5wcm90b3R5cGUuX21vdmU9ZnVuY3Rpb24gX21vdmUoZGVzdCl7bW92ZShkZXN0LHRoaXMpfTtCTi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24gY2xvbmUoKXt2YXIgcj1uZXcgQk4obnVsbCk7dGhpcy5jb3B5KHIpO3JldHVybiByfTtCTi5wcm90b3R5cGUuX2V4cGFuZD1mdW5jdGlvbiBfZXhwYW5kKHNpemUpe3doaWxlKHRoaXMubGVuZ3RoPHNpemUpe3RoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MH1yZXR1cm4gdGhpc307Qk4ucHJvdG90eXBlLl9zdHJpcD1mdW5jdGlvbiBzdHJpcCgpe3doaWxlKHRoaXMubGVuZ3RoPjEmJnRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV09PT0wKXt0aGlzLmxlbmd0aC0tfXJldHVybiB0aGlzLl9ub3JtU2lnbigpfTtCTi5wcm90b3R5cGUuX25vcm1TaWduPWZ1bmN0aW9uIF9ub3JtU2lnbigpe2lmKHRoaXMubGVuZ3RoPT09MSYmdGhpcy53b3Jkc1swXT09PTApe3RoaXMubmVnYXRpdmU9MH1yZXR1cm4gdGhpc307aWYodHlwZW9mIFN5bWJvbCE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgU3ltYm9sLmZvcj09PSJmdW5jdGlvbiIpe3RyeXtCTi5wcm90b3R5cGVbU3ltYm9sLmZvcigibm9kZWpzLnV0aWwuaW5zcGVjdC5jdXN0b20iKV09aW5zcGVjdH1jYXRjaChlKXtCTi5wcm90b3R5cGUuaW5zcGVjdD1pbnNwZWN0fX1lbHNle0JOLnByb3RvdHlwZS5pbnNwZWN0PWluc3BlY3R9ZnVuY3Rpb24gaW5zcGVjdCgpe3JldHVybih0aGlzLnJlZD8iPEJOLVI6ICI6IjxCTjogIikrdGhpcy50b1N0cmluZygxNikrIj4ifXZhciB6ZXJvcz1bIiIsIjAiLCIwMCIsIjAwMCIsIjAwMDAiLCIwMDAwMCIsIjAwMDAwMCIsIjAwMDAwMDAiLCIwMDAwMDAwMCIsIjAwMDAwMDAwMCIsIjAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiXTt2YXIgZ3JvdXBTaXplcz1bMCwwLDI1LDE2LDEyLDExLDEwLDksOCw4LDcsNyw3LDcsNiw2LDYsNiw2LDYsNiw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1XTt2YXIgZ3JvdXBCYXNlcz1bMCwwLDMzNTU0NDMyLDQzMDQ2NzIxLDE2Nzc3MjE2LDQ4ODI4MTI1LDYwNDY2MTc2LDQwMzUzNjA3LDE2Nzc3MjE2LDQzMDQ2NzIxLDFlNywxOTQ4NzE3MSwzNTgzMTgwOCw2Mjc0ODUxNyw3NTI5NTM2LDExMzkwNjI1LDE2Nzc3MjE2LDI0MTM3NTY5LDM0MDEyMjI0LDQ3MDQ1ODgxLDY0ZTYsNDA4NDEwMSw1MTUzNjMyLDY0MzYzNDMsNzk2MjYyNCw5NzY1NjI1LDExODgxMzc2LDE0MzQ4OTA3LDE3MjEwMzY4LDIwNTExMTQ5LDI0M2U1LDI4NjI5MTUxLDMzNTU0NDMyLDM5MTM1MzkzLDQ1NDM1NDI0LDUyNTIxODc1LDYwNDY2MTc2XTtCTi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24gdG9TdHJpbmcoYmFzZSxwYWRkaW5nKXtiYXNlPWJhc2V8fDEwO3BhZGRpbmc9cGFkZGluZ3wwfHwxO3ZhciBvdXQ7aWYoYmFzZT09PTE2fHxiYXNlPT09ImhleCIpe291dD0iIjt2YXIgb2ZmPTA7dmFyIGNhcnJ5PTA7Zm9yKHZhciBpPTA7aTx0aGlzLmxlbmd0aDtpKyspe3ZhciB3PXRoaXMud29yZHNbaV07dmFyIHdvcmQ9KCh3PDxvZmZ8Y2FycnkpJjE2Nzc3MjE1KS50b1N0cmluZygxNik7Y2Fycnk9dz4+PjI0LW9mZiYxNjc3NzIxNTtvZmYrPTI7aWYob2ZmPj0yNil7b2ZmLT0yNjtpLS19aWYoY2FycnkhPT0wfHxpIT09dGhpcy5sZW5ndGgtMSl7b3V0PXplcm9zWzYtd29yZC5sZW5ndGhdK3dvcmQrb3V0fWVsc2V7b3V0PXdvcmQrb3V0fX1pZihjYXJyeSE9PTApe291dD1jYXJyeS50b1N0cmluZygxNikrb3V0fXdoaWxlKG91dC5sZW5ndGglcGFkZGluZyE9PTApe291dD0iMCIrb3V0fWlmKHRoaXMubmVnYXRpdmUhPT0wKXtvdXQ9Ii0iK291dH1yZXR1cm4gb3V0fWlmKGJhc2U9PT0oYmFzZXwwKSYmYmFzZT49MiYmYmFzZTw9MzYpe3ZhciBncm91cFNpemU9Z3JvdXBTaXplc1tiYXNlXTt2YXIgZ3JvdXBCYXNlPWdyb3VwQmFzZXNbYmFzZV07b3V0PSIiO3ZhciBjPXRoaXMuY2xvbmUoKTtjLm5lZ2F0aXZlPTA7d2hpbGUoIWMuaXNaZXJvKCkpe3ZhciByPWMubW9kcm4oZ3JvdXBCYXNlKS50b1N0cmluZyhiYXNlKTtjPWMuaWRpdm4oZ3JvdXBCYXNlKTtpZighYy5pc1plcm8oKSl7b3V0PXplcm9zW2dyb3VwU2l6ZS1yLmxlbmd0aF0rcitvdXR9ZWxzZXtvdXQ9citvdXR9fWlmKHRoaXMuaXNaZXJvKCkpe291dD0iMCIrb3V0fXdoaWxlKG91dC5sZW5ndGglcGFkZGluZyE9PTApe291dD0iMCIrb3V0fWlmKHRoaXMubmVnYXRpdmUhPT0wKXtvdXQ9Ii0iK291dH1yZXR1cm4gb3V0fWFzc2VydChmYWxzZSwiQmFzZSBzaG91bGQgYmUgYmV0d2VlbiAyIGFuZCAzNiIpfTtCTi5wcm90b3R5cGUudG9OdW1iZXI9ZnVuY3Rpb24gdG9OdW1iZXIoKXt2YXIgcmV0PXRoaXMud29yZHNbMF07aWYodGhpcy5sZW5ndGg9PT0yKXtyZXQrPXRoaXMud29yZHNbMV0qNjcxMDg4NjR9ZWxzZSBpZih0aGlzLmxlbmd0aD09PTMmJnRoaXMud29yZHNbMl09PT0xKXtyZXQrPTQ1MDM1OTk2MjczNzA0OTYrdGhpcy53b3Jkc1sxXSo2NzEwODg2NH1lbHNlIGlmKHRoaXMubGVuZ3RoPjIpe2Fzc2VydChmYWxzZSwiTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzIil9cmV0dXJuIHRoaXMubmVnYXRpdmUhPT0wPy1yZXQ6cmV0fTtCTi5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uIHRvSlNPTigpe3JldHVybiB0aGlzLnRvU3RyaW5nKDE2LDIpfTtpZihCdWZmZXIpe0JOLnByb3RvdHlwZS50b0J1ZmZlcj1mdW5jdGlvbiB0b0J1ZmZlcihlbmRpYW4sbGVuZ3RoKXtyZXR1cm4gdGhpcy50b0FycmF5TGlrZShCdWZmZXIsZW5kaWFuLGxlbmd0aCl9fUJOLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uIHRvQXJyYXkoZW5kaWFuLGxlbmd0aCl7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksZW5kaWFuLGxlbmd0aCl9O3ZhciBhbGxvY2F0ZT1mdW5jdGlvbiBhbGxvY2F0ZShBcnJheVR5cGUsc2l6ZSl7aWYoQXJyYXlUeXBlLmFsbG9jVW5zYWZlKXtyZXR1cm4gQXJyYXlUeXBlLmFsbG9jVW5zYWZlKHNpemUpfXJldHVybiBuZXcgQXJyYXlUeXBlKHNpemUpfTtCTi5wcm90b3R5cGUudG9BcnJheUxpa2U9ZnVuY3Rpb24gdG9BcnJheUxpa2UoQXJyYXlUeXBlLGVuZGlhbixsZW5ndGgpe3RoaXMuX3N0cmlwKCk7dmFyIGJ5dGVMZW5ndGg9dGhpcy5ieXRlTGVuZ3RoKCk7dmFyIHJlcUxlbmd0aD1sZW5ndGh8fE1hdGgubWF4KDEsYnl0ZUxlbmd0aCk7YXNzZXJ0KGJ5dGVMZW5ndGg8PXJlcUxlbmd0aCwiYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aCIpO2Fzc2VydChyZXFMZW5ndGg+MCwiUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwIik7dmFyIHJlcz1hbGxvY2F0ZShBcnJheVR5cGUscmVxTGVuZ3RoKTt2YXIgcG9zdGZpeD1lbmRpYW49PT0ibGUiPyJMRSI6IkJFIjt0aGlzWyJfdG9BcnJheUxpa2UiK3Bvc3RmaXhdKHJlcyxieXRlTGVuZ3RoKTtyZXR1cm4gcmVzfTtCTi5wcm90b3R5cGUuX3RvQXJyYXlMaWtlTEU9ZnVuY3Rpb24gX3RvQXJyYXlMaWtlTEUocmVzLGJ5dGVMZW5ndGgpe3ZhciBwb3NpdGlvbj0wO3ZhciBjYXJyeT0wO2Zvcih2YXIgaT0wLHNoaWZ0PTA7aTx0aGlzLmxlbmd0aDtpKyspe3ZhciB3b3JkPXRoaXMud29yZHNbaV08PHNoaWZ0fGNhcnJ5O3Jlc1twb3NpdGlvbisrXT13b3JkJjI1NTtpZihwb3NpdGlvbjxyZXMubGVuZ3RoKXtyZXNbcG9zaXRpb24rK109d29yZD4+OCYyNTV9aWYocG9zaXRpb248cmVzLmxlbmd0aCl7cmVzW3Bvc2l0aW9uKytdPXdvcmQ+PjE2JjI1NX1pZihzaGlmdD09PTYpe2lmKHBvc2l0aW9uPHJlcy5sZW5ndGgpe3Jlc1twb3NpdGlvbisrXT13b3JkPj4yNCYyNTV9Y2Fycnk9MDtzaGlmdD0wfWVsc2V7Y2Fycnk9d29yZD4+PjI0O3NoaWZ0Kz0yfX1pZihwb3NpdGlvbjxyZXMubGVuZ3RoKXtyZXNbcG9zaXRpb24rK109Y2Fycnk7d2hpbGUocG9zaXRpb248cmVzLmxlbmd0aCl7cmVzW3Bvc2l0aW9uKytdPTB9fX07Qk4ucHJvdG90eXBlLl90b0FycmF5TGlrZUJFPWZ1bmN0aW9uIF90b0FycmF5TGlrZUJFKHJlcyxieXRlTGVuZ3RoKXt2YXIgcG9zaXRpb249cmVzLmxlbmd0aC0xO3ZhciBjYXJyeT0wO2Zvcih2YXIgaT0wLHNoaWZ0PTA7aTx0aGlzLmxlbmd0aDtpKyspe3ZhciB3b3JkPXRoaXMud29yZHNbaV08PHNoaWZ0fGNhcnJ5O3Jlc1twb3NpdGlvbi0tXT13b3JkJjI1NTtpZihwb3NpdGlvbj49MCl7cmVzW3Bvc2l0aW9uLS1dPXdvcmQ+PjgmMjU1fWlmKHBvc2l0aW9uPj0wKXtyZXNbcG9zaXRpb24tLV09d29yZD4+MTYmMjU1fWlmKHNoaWZ0PT09Nil7aWYocG9zaXRpb24+PTApe3Jlc1twb3NpdGlvbi0tXT13b3JkPj4yNCYyNTV9Y2Fycnk9MDtzaGlmdD0wfWVsc2V7Y2Fycnk9d29yZD4+PjI0O3NoaWZ0Kz0yfX1pZihwb3NpdGlvbj49MCl7cmVzW3Bvc2l0aW9uLS1dPWNhcnJ5O3doaWxlKHBvc2l0aW9uPj0wKXtyZXNbcG9zaXRpb24tLV09MH19fTtpZihNYXRoLmNsejMyKXtCTi5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbiBfY291bnRCaXRzKHcpe3JldHVybiAzMi1NYXRoLmNsejMyKHcpfX1lbHNle0JOLnByb3RvdHlwZS5fY291bnRCaXRzPWZ1bmN0aW9uIF9jb3VudEJpdHModyl7dmFyIHQ9dzt2YXIgcj0wO2lmKHQ+PTQwOTYpe3IrPTEzO3Q+Pj49MTN9aWYodD49NjQpe3IrPTc7dD4+Pj03fWlmKHQ+PTgpe3IrPTQ7dD4+Pj00fWlmKHQ+PTIpe3IrPTI7dD4+Pj0yfXJldHVybiByK3R9fUJOLnByb3RvdHlwZS5femVyb0JpdHM9ZnVuY3Rpb24gX3plcm9CaXRzKHcpe2lmKHc9PT0wKXJldHVybiAyNjt2YXIgdD13O3ZhciByPTA7aWYoKHQmODE5MSk9PT0wKXtyKz0xMzt0Pj4+PTEzfWlmKCh0JjEyNyk9PT0wKXtyKz03O3Q+Pj49N31pZigodCYxNSk9PT0wKXtyKz00O3Q+Pj49NH1pZigodCYzKT09PTApe3IrPTI7dD4+Pj0yfWlmKCh0JjEpPT09MCl7cisrfXJldHVybiByfTtCTi5wcm90b3R5cGUuYml0TGVuZ3RoPWZ1bmN0aW9uIGJpdExlbmd0aCgpe3ZhciB3PXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV07dmFyIGhpPXRoaXMuX2NvdW50Qml0cyh3KTtyZXR1cm4odGhpcy5sZW5ndGgtMSkqMjYraGl9O2Z1bmN0aW9uIHRvQml0QXJyYXkobnVtKXt2YXIgdz1uZXcgQXJyYXkobnVtLmJpdExlbmd0aCgpKTtmb3IodmFyIGJpdD0wO2JpdDx3Lmxlbmd0aDtiaXQrKyl7dmFyIG9mZj1iaXQvMjZ8MDt2YXIgd2JpdD1iaXQlMjY7d1tiaXRdPW51bS53b3Jkc1tvZmZdPj4+d2JpdCYxfXJldHVybiB3fUJOLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbiB6ZXJvQml0cygpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7dmFyIHI9MDtmb3IodmFyIGk9MDtpPHRoaXMubGVuZ3RoO2krKyl7dmFyIGI9dGhpcy5femVyb0JpdHModGhpcy53b3Jkc1tpXSk7cis9YjtpZihiIT09MjYpYnJlYWt9cmV0dXJuIHJ9O0JOLnByb3RvdHlwZS5ieXRlTGVuZ3RoPWZ1bmN0aW9uIGJ5dGVMZW5ndGgoKXtyZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkvOCl9O0JOLnByb3RvdHlwZS50b1R3b3M9ZnVuY3Rpb24gdG9Ud29zKHdpZHRoKXtpZih0aGlzLm5lZ2F0aXZlIT09MCl7cmV0dXJuIHRoaXMuYWJzKCkuaW5vdG4od2lkdGgpLmlhZGRuKDEpfXJldHVybiB0aGlzLmNsb25lKCl9O0JOLnByb3RvdHlwZS5mcm9tVHdvcz1mdW5jdGlvbiBmcm9tVHdvcyh3aWR0aCl7aWYodGhpcy50ZXN0bih3aWR0aC0xKSl7cmV0dXJuIHRoaXMubm90bih3aWR0aCkuaWFkZG4oMSkuaW5lZygpfXJldHVybiB0aGlzLmNsb25lKCl9O0JOLnByb3RvdHlwZS5pc05lZz1mdW5jdGlvbiBpc05lZygpe3JldHVybiB0aGlzLm5lZ2F0aXZlIT09MH07Qk4ucHJvdG90eXBlLm5lZz1mdW5jdGlvbiBuZWcoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmluZWcoKX07Qk4ucHJvdG90eXBlLmluZWc9ZnVuY3Rpb24gaW5lZygpe2lmKCF0aGlzLmlzWmVybygpKXt0aGlzLm5lZ2F0aXZlXj0xfXJldHVybiB0aGlzfTtCTi5wcm90b3R5cGUuaXVvcj1mdW5jdGlvbiBpdW9yKG51bSl7d2hpbGUodGhpcy5sZW5ndGg8bnVtLmxlbmd0aCl7dGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wfWZvcih2YXIgaT0wO2k8bnVtLmxlbmd0aDtpKyspe3RoaXMud29yZHNbaV09dGhpcy53b3Jkc1tpXXxudW0ud29yZHNbaV19cmV0dXJuIHRoaXMuX3N0cmlwKCl9O0JOLnByb3RvdHlwZS5pb3I9ZnVuY3Rpb24gaW9yKG51bSl7YXNzZXJ0KCh0aGlzLm5lZ2F0aXZlfG51bS5uZWdhdGl2ZSk9PT0wKTtyZXR1cm4gdGhpcy5pdW9yKG51bSl9O0JOLnByb3RvdHlwZS5vcj1mdW5jdGlvbiBvcihudW0pe2lmKHRoaXMubGVuZ3RoPm51bS5sZW5ndGgpcmV0dXJuIHRoaXMuY2xvbmUoKS5pb3IobnVtKTtyZXR1cm4gbnVtLmNsb25lKCkuaW9yKHRoaXMpfTtCTi5wcm90b3R5cGUudW9yPWZ1bmN0aW9uIHVvcihudW0pe2lmKHRoaXMubGVuZ3RoPm51bS5sZW5ndGgpcmV0dXJuIHRoaXMuY2xvbmUoKS5pdW9yKG51bSk7cmV0dXJuIG51bS5jbG9uZSgpLml1b3IodGhpcyl9O0JOLnByb3RvdHlwZS5pdWFuZD1mdW5jdGlvbiBpdWFuZChudW0pe3ZhciBiO2lmKHRoaXMubGVuZ3RoPm51bS5sZW5ndGgpe2I9bnVtfWVsc2V7Yj10aGlzfWZvcih2YXIgaT0wO2k8Yi5sZW5ndGg7aSsrKXt0aGlzLndvcmRzW2ldPXRoaXMud29yZHNbaV0mbnVtLndvcmRzW2ldfXRoaXMubGVuZ3RoPWIubGVuZ3RoO3JldHVybiB0aGlzLl9zdHJpcCgpfTtCTi5wcm90b3R5cGUuaWFuZD1mdW5jdGlvbiBpYW5kKG51bSl7YXNzZXJ0KCh0aGlzLm5lZ2F0aXZlfG51bS5uZWdhdGl2ZSk9PT0wKTtyZXR1cm4gdGhpcy5pdWFuZChudW0pfTtCTi5wcm90b3R5cGUuYW5kPWZ1bmN0aW9uIGFuZChudW0pe2lmKHRoaXMubGVuZ3RoPm51bS5sZW5ndGgpcmV0dXJuIHRoaXMuY2xvbmUoKS5pYW5kKG51bSk7cmV0dXJuIG51bS5jbG9uZSgpLmlhbmQodGhpcyl9O0JOLnByb3RvdHlwZS51YW5kPWZ1bmN0aW9uIHVhbmQobnVtKXtpZih0aGlzLmxlbmd0aD5udW0ubGVuZ3RoKXJldHVybiB0aGlzLmNsb25lKCkuaXVhbmQobnVtKTtyZXR1cm4gbnVtLmNsb25lKCkuaXVhbmQodGhpcyl9O0JOLnByb3RvdHlwZS5pdXhvcj1mdW5jdGlvbiBpdXhvcihudW0pe3ZhciBhO3ZhciBiO2lmKHRoaXMubGVuZ3RoPm51bS5sZW5ndGgpe2E9dGhpcztiPW51bX1lbHNle2E9bnVtO2I9dGhpc31mb3IodmFyIGk9MDtpPGIubGVuZ3RoO2krKyl7dGhpcy53b3Jkc1tpXT1hLndvcmRzW2ldXmIud29yZHNbaV19aWYodGhpcyE9PWEpe2Zvcig7aTxhLmxlbmd0aDtpKyspe3RoaXMud29yZHNbaV09YS53b3Jkc1tpXX19dGhpcy5sZW5ndGg9YS5sZW5ndGg7cmV0dXJuIHRoaXMuX3N0cmlwKCl9O0JOLnByb3RvdHlwZS5peG9yPWZ1bmN0aW9uIGl4b3IobnVtKXthc3NlcnQoKHRoaXMubmVnYXRpdmV8bnVtLm5lZ2F0aXZlKT09PTApO3JldHVybiB0aGlzLml1eG9yKG51bSl9O0JOLnByb3RvdHlwZS54b3I9ZnVuY3Rpb24geG9yKG51bSl7aWYodGhpcy5sZW5ndGg+bnVtLmxlbmd0aClyZXR1cm4gdGhpcy5jbG9uZSgpLml4b3IobnVtKTtyZXR1cm4gbnVtLmNsb25lKCkuaXhvcih0aGlzKX07Qk4ucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24gdXhvcihudW0pe2lmKHRoaXMubGVuZ3RoPm51bS5sZW5ndGgpcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXhvcihudW0pO3JldHVybiBudW0uY2xvbmUoKS5pdXhvcih0aGlzKX07Qk4ucHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uIGlub3RuKHdpZHRoKXthc3NlcnQodHlwZW9mIHdpZHRoPT09Im51bWJlciImJndpZHRoPj0wKTt2YXIgYnl0ZXNOZWVkZWQ9TWF0aC5jZWlsKHdpZHRoLzI2KXwwO3ZhciBiaXRzTGVmdD13aWR0aCUyNjt0aGlzLl9leHBhbmQoYnl0ZXNOZWVkZWQpO2lmKGJpdHNMZWZ0PjApe2J5dGVzTmVlZGVkLS19Zm9yKHZhciBpPTA7aTxieXRlc05lZWRlZDtpKyspe3RoaXMud29yZHNbaV09fnRoaXMud29yZHNbaV0mNjcxMDg4NjN9aWYoYml0c0xlZnQ+MCl7dGhpcy53b3Jkc1tpXT1+dGhpcy53b3Jkc1tpXSY2NzEwODg2Mz4+MjYtYml0c0xlZnR9cmV0dXJuIHRoaXMuX3N0cmlwKCl9O0JOLnByb3RvdHlwZS5ub3RuPWZ1bmN0aW9uIG5vdG4od2lkdGgpe3JldHVybiB0aGlzLmNsb25lKCkuaW5vdG4od2lkdGgpfTtCTi5wcm90b3R5cGUuc2V0bj1mdW5jdGlvbiBzZXRuKGJpdCx2YWwpe2Fzc2VydCh0eXBlb2YgYml0PT09Im51bWJlciImJmJpdD49MCk7dmFyIG9mZj1iaXQvMjZ8MDt2YXIgd2JpdD1iaXQlMjY7dGhpcy5fZXhwYW5kKG9mZisxKTtpZih2YWwpe3RoaXMud29yZHNbb2ZmXT10aGlzLndvcmRzW29mZl18MTw8d2JpdH1lbHNle3RoaXMud29yZHNbb2ZmXT10aGlzLndvcmRzW29mZl0mfigxPDx3Yml0KX1yZXR1cm4gdGhpcy5fc3RyaXAoKX07Qk4ucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24gaWFkZChudW0pe3ZhciByO2lmKHRoaXMubmVnYXRpdmUhPT0wJiZudW0ubmVnYXRpdmU9PT0wKXt0aGlzLm5lZ2F0aXZlPTA7cj10aGlzLmlzdWIobnVtKTt0aGlzLm5lZ2F0aXZlXj0xO3JldHVybiB0aGlzLl9ub3JtU2lnbigpfWVsc2UgaWYodGhpcy5uZWdhdGl2ZT09PTAmJm51bS5uZWdhdGl2ZSE9PTApe251bS5uZWdhdGl2ZT0wO3I9dGhpcy5pc3ViKG51bSk7bnVtLm5lZ2F0aXZlPTE7cmV0dXJuIHIuX25vcm1TaWduKCl9dmFyIGEsYjtpZih0aGlzLmxlbmd0aD5udW0ubGVuZ3RoKXthPXRoaXM7Yj1udW19ZWxzZXthPW51bTtiPXRoaXN9dmFyIGNhcnJ5PTA7Zm9yKHZhciBpPTA7aTxiLmxlbmd0aDtpKyspe3I9KGEud29yZHNbaV18MCkrKGIud29yZHNbaV18MCkrY2Fycnk7dGhpcy53b3Jkc1tpXT1yJjY3MTA4ODYzO2NhcnJ5PXI+Pj4yNn1mb3IoO2NhcnJ5IT09MCYmaTxhLmxlbmd0aDtpKyspe3I9KGEud29yZHNbaV18MCkrY2Fycnk7dGhpcy53b3Jkc1tpXT1yJjY3MTA4ODYzO2NhcnJ5PXI+Pj4yNn10aGlzLmxlbmd0aD1hLmxlbmd0aDtpZihjYXJyeSE9PTApe3RoaXMud29yZHNbdGhpcy5sZW5ndGhdPWNhcnJ5O3RoaXMubGVuZ3RoKyt9ZWxzZSBpZihhIT09dGhpcyl7Zm9yKDtpPGEubGVuZ3RoO2krKyl7dGhpcy53b3Jkc1tpXT1hLndvcmRzW2ldfX1yZXR1cm4gdGhpc307Qk4ucHJvdG90eXBlLmFkZD1mdW5jdGlvbiBhZGQobnVtKXt2YXIgcmVzO2lmKG51bS5uZWdhdGl2ZSE9PTAmJnRoaXMubmVnYXRpdmU9PT0wKXtudW0ubmVnYXRpdmU9MDtyZXM9dGhpcy5zdWIobnVtKTtudW0ubmVnYXRpdmVePTE7cmV0dXJuIHJlc31lbHNlIGlmKG51bS5uZWdhdGl2ZT09PTAmJnRoaXMubmVnYXRpdmUhPT0wKXt0aGlzLm5lZ2F0aXZlPTA7cmVzPW51bS5zdWIodGhpcyk7dGhpcy5uZWdhdGl2ZT0xO3JldHVybiByZXN9aWYodGhpcy5sZW5ndGg+bnVtLmxlbmd0aClyZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGQobnVtKTtyZXR1cm4gbnVtLmNsb25lKCkuaWFkZCh0aGlzKX07Qk4ucHJvdG90eXBlLmlzdWI9ZnVuY3Rpb24gaXN1YihudW0pe2lmKG51bS5uZWdhdGl2ZSE9PTApe251bS5uZWdhdGl2ZT0wO3ZhciByPXRoaXMuaWFkZChudW0pO251bS5uZWdhdGl2ZT0xO3JldHVybiByLl9ub3JtU2lnbigpfWVsc2UgaWYodGhpcy5uZWdhdGl2ZSE9PTApe3RoaXMubmVnYXRpdmU9MDt0aGlzLmlhZGQobnVtKTt0aGlzLm5lZ2F0aXZlPTE7cmV0dXJuIHRoaXMuX25vcm1TaWduKCl9dmFyIGNtcD10aGlzLmNtcChudW0pO2lmKGNtcD09PTApe3RoaXMubmVnYXRpdmU9MDt0aGlzLmxlbmd0aD0xO3RoaXMud29yZHNbMF09MDtyZXR1cm4gdGhpc312YXIgYSxiO2lmKGNtcD4wKXthPXRoaXM7Yj1udW19ZWxzZXthPW51bTtiPXRoaXN9dmFyIGNhcnJ5PTA7Zm9yKHZhciBpPTA7aTxiLmxlbmd0aDtpKyspe3I9KGEud29yZHNbaV18MCktKGIud29yZHNbaV18MCkrY2Fycnk7Y2Fycnk9cj4+MjY7dGhpcy53b3Jkc1tpXT1yJjY3MTA4ODYzfWZvcig7Y2FycnkhPT0wJiZpPGEubGVuZ3RoO2krKyl7cj0oYS53b3Jkc1tpXXwwKStjYXJyeTtjYXJyeT1yPj4yNjt0aGlzLndvcmRzW2ldPXImNjcxMDg4NjN9aWYoY2Fycnk9PT0wJiZpPGEubGVuZ3RoJiZhIT09dGhpcyl7Zm9yKDtpPGEubGVuZ3RoO2krKyl7dGhpcy53b3Jkc1tpXT1hLndvcmRzW2ldfX10aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCxpKTtpZihhIT09dGhpcyl7dGhpcy5uZWdhdGl2ZT0xfXJldHVybiB0aGlzLl9zdHJpcCgpfTtCTi5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uIHN1YihudW0pe3JldHVybiB0aGlzLmNsb25lKCkuaXN1YihudW0pfTtmdW5jdGlvbiBzbWFsbE11bFRvKHNlbGYsbnVtLG91dCl7b3V0Lm5lZ2F0aXZlPW51bS5uZWdhdGl2ZV5zZWxmLm5lZ2F0aXZlO3ZhciBsZW49c2VsZi5sZW5ndGgrbnVtLmxlbmd0aHwwO291dC5sZW5ndGg9bGVuO2xlbj1sZW4tMXwwO3ZhciBhPXNlbGYud29yZHNbMF18MDt2YXIgYj1udW0ud29yZHNbMF18MDt2YXIgcj1hKmI7dmFyIGxvPXImNjcxMDg4NjM7dmFyIGNhcnJ5PXIvNjcxMDg4NjR8MDtvdXQud29yZHNbMF09bG87Zm9yKHZhciBrPTE7azxsZW47aysrKXt2YXIgbmNhcnJ5PWNhcnJ5Pj4+MjY7dmFyIHJ3b3JkPWNhcnJ5JjY3MTA4ODYzO3ZhciBtYXhKPU1hdGgubWluKGssbnVtLmxlbmd0aC0xKTtmb3IodmFyIGo9TWF0aC5tYXgoMCxrLXNlbGYubGVuZ3RoKzEpO2o8PW1heEo7aisrKXt2YXIgaT1rLWp8MDthPXNlbGYud29yZHNbaV18MDtiPW51bS53b3Jkc1tqXXwwO3I9YSpiK3J3b3JkO25jYXJyeSs9ci82NzEwODg2NHwwO3J3b3JkPXImNjcxMDg4NjN9b3V0LndvcmRzW2tdPXJ3b3JkfDA7Y2Fycnk9bmNhcnJ5fDB9aWYoY2FycnkhPT0wKXtvdXQud29yZHNba109Y2Fycnl8MH1lbHNle291dC5sZW5ndGgtLX1yZXR1cm4gb3V0Ll9zdHJpcCgpfXZhciBjb21iMTBNdWxUbz1mdW5jdGlvbiBjb21iMTBNdWxUbyhzZWxmLG51bSxvdXQpe3ZhciBhPXNlbGYud29yZHM7dmFyIGI9bnVtLndvcmRzO3ZhciBvPW91dC53b3Jkczt2YXIgYz0wO3ZhciBsbzt2YXIgbWlkO3ZhciBoaTt2YXIgYTA9YVswXXwwO3ZhciBhbDA9YTAmODE5MTt2YXIgYWgwPWEwPj4+MTM7dmFyIGExPWFbMV18MDt2YXIgYWwxPWExJjgxOTE7dmFyIGFoMT1hMT4+PjEzO3ZhciBhMj1hWzJdfDA7dmFyIGFsMj1hMiY4MTkxO3ZhciBhaDI9YTI+Pj4xMzt2YXIgYTM9YVszXXwwO3ZhciBhbDM9YTMmODE5MTt2YXIgYWgzPWEzPj4+MTM7dmFyIGE0PWFbNF18MDt2YXIgYWw0PWE0JjgxOTE7dmFyIGFoND1hND4+PjEzO3ZhciBhNT1hWzVdfDA7dmFyIGFsNT1hNSY4MTkxO3ZhciBhaDU9YTU+Pj4xMzt2YXIgYTY9YVs2XXwwO3ZhciBhbDY9YTYmODE5MTt2YXIgYWg2PWE2Pj4+MTM7dmFyIGE3PWFbN118MDt2YXIgYWw3PWE3JjgxOTE7dmFyIGFoNz1hNz4+PjEzO3ZhciBhOD1hWzhdfDA7dmFyIGFsOD1hOCY4MTkxO3ZhciBhaDg9YTg+Pj4xMzt2YXIgYTk9YVs5XXwwO3ZhciBhbDk9YTkmODE5MTt2YXIgYWg5PWE5Pj4+MTM7dmFyIGIwPWJbMF18MDt2YXIgYmwwPWIwJjgxOTE7dmFyIGJoMD1iMD4+PjEzO3ZhciBiMT1iWzFdfDA7dmFyIGJsMT1iMSY4MTkxO3ZhciBiaDE9YjE+Pj4xMzt2YXIgYjI9YlsyXXwwO3ZhciBibDI9YjImODE5MTt2YXIgYmgyPWIyPj4+MTM7dmFyIGIzPWJbM118MDt2YXIgYmwzPWIzJjgxOTE7dmFyIGJoMz1iMz4+PjEzO3ZhciBiND1iWzRdfDA7dmFyIGJsND1iNCY4MTkxO3ZhciBiaDQ9YjQ+Pj4xMzt2YXIgYjU9Yls1XXwwO3ZhciBibDU9YjUmODE5MTt2YXIgYmg1PWI1Pj4+MTM7dmFyIGI2PWJbNl18MDt2YXIgYmw2PWI2JjgxOTE7dmFyIGJoNj1iNj4+PjEzO3ZhciBiNz1iWzddfDA7dmFyIGJsNz1iNyY4MTkxO3ZhciBiaDc9Yjc+Pj4xMzt2YXIgYjg9Yls4XXwwO3ZhciBibDg9YjgmODE5MTt2YXIgYmg4PWI4Pj4+MTM7dmFyIGI5PWJbOV18MDt2YXIgYmw5PWI5JjgxOTE7dmFyIGJoOT1iOT4+PjEzO291dC5uZWdhdGl2ZT1zZWxmLm5lZ2F0aXZlXm51bS5uZWdhdGl2ZTtvdXQubGVuZ3RoPTE5O2xvPU1hdGguaW11bChhbDAsYmwwKTttaWQ9TWF0aC5pbXVsKGFsMCxiaDApO21pZD1taWQrTWF0aC5pbXVsKGFoMCxibDApfDA7aGk9TWF0aC5pbXVsKGFoMCxiaDApO3ZhciB3MD0oYytsb3wwKSsoKG1pZCY4MTkxKTw8MTMpfDA7Yz0oaGkrKG1pZD4+PjEzKXwwKSsodzA+Pj4yNil8MDt3MCY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsMSxibDApO21pZD1NYXRoLmltdWwoYWwxLGJoMCk7bWlkPW1pZCtNYXRoLmltdWwoYWgxLGJsMCl8MDtoaT1NYXRoLmltdWwoYWgxLGJoMCk7bG89bG8rTWF0aC5pbXVsKGFsMCxibDEpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwwLGJoMSl8MDttaWQ9bWlkK01hdGguaW11bChhaDAsYmwxKXwwO2hpPWhpK01hdGguaW11bChhaDAsYmgxKXwwO3ZhciB3MT0oYytsb3wwKSsoKG1pZCY4MTkxKTw8MTMpfDA7Yz0oaGkrKG1pZD4+PjEzKXwwKSsodzE+Pj4yNil8MDt3MSY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsMixibDApO21pZD1NYXRoLmltdWwoYWwyLGJoMCk7bWlkPW1pZCtNYXRoLmltdWwoYWgyLGJsMCl8MDtoaT1NYXRoLmltdWwoYWgyLGJoMCk7bG89bG8rTWF0aC5pbXVsKGFsMSxibDEpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwxLGJoMSl8MDttaWQ9bWlkK01hdGguaW11bChhaDEsYmwxKXwwO2hpPWhpK01hdGguaW11bChhaDEsYmgxKXwwO2xvPWxvK01hdGguaW11bChhbDAsYmwyKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMCxiaDIpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgwLGJsMil8MDtoaT1oaStNYXRoLmltdWwoYWgwLGJoMil8MDt2YXIgdzI9KGMrbG98MCkrKChtaWQmODE5MSk8PDEzKXwwO2M9KGhpKyhtaWQ+Pj4xMyl8MCkrKHcyPj4+MjYpfDA7dzImPTY3MTA4ODYzO2xvPU1hdGguaW11bChhbDMsYmwwKTttaWQ9TWF0aC5pbXVsKGFsMyxiaDApO21pZD1taWQrTWF0aC5pbXVsKGFoMyxibDApfDA7aGk9TWF0aC5pbXVsKGFoMyxiaDApO2xvPWxvK01hdGguaW11bChhbDIsYmwxKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMixiaDEpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgyLGJsMSl8MDtoaT1oaStNYXRoLmltdWwoYWgyLGJoMSl8MDtsbz1sbytNYXRoLmltdWwoYWwxLGJsMil8MDttaWQ9bWlkK01hdGguaW11bChhbDEsYmgyKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMSxibDIpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMSxiaDIpfDA7bG89bG8rTWF0aC5pbXVsKGFsMCxibDMpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwwLGJoMyl8MDttaWQ9bWlkK01hdGguaW11bChhaDAsYmwzKXwwO2hpPWhpK01hdGguaW11bChhaDAsYmgzKXwwO3ZhciB3Mz0oYytsb3wwKSsoKG1pZCY4MTkxKTw8MTMpfDA7Yz0oaGkrKG1pZD4+PjEzKXwwKSsodzM+Pj4yNil8MDt3MyY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsNCxibDApO21pZD1NYXRoLmltdWwoYWw0LGJoMCk7bWlkPW1pZCtNYXRoLmltdWwoYWg0LGJsMCl8MDtoaT1NYXRoLmltdWwoYWg0LGJoMCk7bG89bG8rTWF0aC5pbXVsKGFsMyxibDEpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwzLGJoMSl8MDttaWQ9bWlkK01hdGguaW11bChhaDMsYmwxKXwwO2hpPWhpK01hdGguaW11bChhaDMsYmgxKXwwO2xvPWxvK01hdGguaW11bChhbDIsYmwyKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMixiaDIpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgyLGJsMil8MDtoaT1oaStNYXRoLmltdWwoYWgyLGJoMil8MDtsbz1sbytNYXRoLmltdWwoYWwxLGJsMyl8MDttaWQ9bWlkK01hdGguaW11bChhbDEsYmgzKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMSxibDMpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMSxiaDMpfDA7bG89bG8rTWF0aC5pbXVsKGFsMCxibDQpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwwLGJoNCl8MDttaWQ9bWlkK01hdGguaW11bChhaDAsYmw0KXwwO2hpPWhpK01hdGguaW11bChhaDAsYmg0KXwwO3ZhciB3ND0oYytsb3wwKSsoKG1pZCY4MTkxKTw8MTMpfDA7Yz0oaGkrKG1pZD4+PjEzKXwwKSsodzQ+Pj4yNil8MDt3NCY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsNSxibDApO21pZD1NYXRoLmltdWwoYWw1LGJoMCk7bWlkPW1pZCtNYXRoLmltdWwoYWg1LGJsMCl8MDtoaT1NYXRoLmltdWwoYWg1LGJoMCk7bG89bG8rTWF0aC5pbXVsKGFsNCxibDEpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw0LGJoMSl8MDttaWQ9bWlkK01hdGguaW11bChhaDQsYmwxKXwwO2hpPWhpK01hdGguaW11bChhaDQsYmgxKXwwO2xvPWxvK01hdGguaW11bChhbDMsYmwyKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMyxiaDIpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgzLGJsMil8MDtoaT1oaStNYXRoLmltdWwoYWgzLGJoMil8MDtsbz1sbytNYXRoLmltdWwoYWwyLGJsMyl8MDttaWQ9bWlkK01hdGguaW11bChhbDIsYmgzKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMixibDMpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMixiaDMpfDA7bG89bG8rTWF0aC5pbXVsKGFsMSxibDQpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwxLGJoNCl8MDttaWQ9bWlkK01hdGguaW11bChhaDEsYmw0KXwwO2hpPWhpK01hdGguaW11bChhaDEsYmg0KXwwO2xvPWxvK01hdGguaW11bChhbDAsYmw1KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMCxiaDUpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgwLGJsNSl8MDtoaT1oaStNYXRoLmltdWwoYWgwLGJoNSl8MDt2YXIgdzU9KGMrbG98MCkrKChtaWQmODE5MSk8PDEzKXwwO2M9KGhpKyhtaWQ+Pj4xMyl8MCkrKHc1Pj4+MjYpfDA7dzUmPTY3MTA4ODYzO2xvPU1hdGguaW11bChhbDYsYmwwKTttaWQ9TWF0aC5pbXVsKGFsNixiaDApO21pZD1taWQrTWF0aC5pbXVsKGFoNixibDApfDA7aGk9TWF0aC5pbXVsKGFoNixiaDApO2xvPWxvK01hdGguaW11bChhbDUsYmwxKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNSxiaDEpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg1LGJsMSl8MDtoaT1oaStNYXRoLmltdWwoYWg1LGJoMSl8MDtsbz1sbytNYXRoLmltdWwoYWw0LGJsMil8MDttaWQ9bWlkK01hdGguaW11bChhbDQsYmgyKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNCxibDIpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNCxiaDIpfDA7bG89bG8rTWF0aC5pbXVsKGFsMyxibDMpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwzLGJoMyl8MDttaWQ9bWlkK01hdGguaW11bChhaDMsYmwzKXwwO2hpPWhpK01hdGguaW11bChhaDMsYmgzKXwwO2xvPWxvK01hdGguaW11bChhbDIsYmw0KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMixiaDQpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgyLGJsNCl8MDtoaT1oaStNYXRoLmltdWwoYWgyLGJoNCl8MDtsbz1sbytNYXRoLmltdWwoYWwxLGJsNSl8MDttaWQ9bWlkK01hdGguaW11bChhbDEsYmg1KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMSxibDUpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMSxiaDUpfDA7bG89bG8rTWF0aC5pbXVsKGFsMCxibDYpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwwLGJoNil8MDttaWQ9bWlkK01hdGguaW11bChhaDAsYmw2KXwwO2hpPWhpK01hdGguaW11bChhaDAsYmg2KXwwO3ZhciB3Nj0oYytsb3wwKSsoKG1pZCY4MTkxKTw8MTMpfDA7Yz0oaGkrKG1pZD4+PjEzKXwwKSsodzY+Pj4yNil8MDt3NiY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsNyxibDApO21pZD1NYXRoLmltdWwoYWw3LGJoMCk7bWlkPW1pZCtNYXRoLmltdWwoYWg3LGJsMCl8MDtoaT1NYXRoLmltdWwoYWg3LGJoMCk7bG89bG8rTWF0aC5pbXVsKGFsNixibDEpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw2LGJoMSl8MDttaWQ9bWlkK01hdGguaW11bChhaDYsYmwxKXwwO2hpPWhpK01hdGguaW11bChhaDYsYmgxKXwwO2xvPWxvK01hdGguaW11bChhbDUsYmwyKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNSxiaDIpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg1LGJsMil8MDtoaT1oaStNYXRoLmltdWwoYWg1LGJoMil8MDtsbz1sbytNYXRoLmltdWwoYWw0LGJsMyl8MDttaWQ9bWlkK01hdGguaW11bChhbDQsYmgzKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNCxibDMpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNCxiaDMpfDA7bG89bG8rTWF0aC5pbXVsKGFsMyxibDQpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwzLGJoNCl8MDttaWQ9bWlkK01hdGguaW11bChhaDMsYmw0KXwwO2hpPWhpK01hdGguaW11bChhaDMsYmg0KXwwO2xvPWxvK01hdGguaW11bChhbDIsYmw1KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMixiaDUpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgyLGJsNSl8MDtoaT1oaStNYXRoLmltdWwoYWgyLGJoNSl8MDtsbz1sbytNYXRoLmltdWwoYWwxLGJsNil8MDttaWQ9bWlkK01hdGguaW11bChhbDEsYmg2KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMSxibDYpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMSxiaDYpfDA7bG89bG8rTWF0aC5pbXVsKGFsMCxibDcpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwwLGJoNyl8MDttaWQ9bWlkK01hdGguaW11bChhaDAsYmw3KXwwO2hpPWhpK01hdGguaW11bChhaDAsYmg3KXwwO3ZhciB3Nz0oYytsb3wwKSsoKG1pZCY4MTkxKTw8MTMpfDA7Yz0oaGkrKG1pZD4+PjEzKXwwKSsodzc+Pj4yNil8MDt3NyY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsOCxibDApO21pZD1NYXRoLmltdWwoYWw4LGJoMCk7bWlkPW1pZCtNYXRoLmltdWwoYWg4LGJsMCl8MDtoaT1NYXRoLmltdWwoYWg4LGJoMCk7bG89bG8rTWF0aC5pbXVsKGFsNyxibDEpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw3LGJoMSl8MDttaWQ9bWlkK01hdGguaW11bChhaDcsYmwxKXwwO2hpPWhpK01hdGguaW11bChhaDcsYmgxKXwwO2xvPWxvK01hdGguaW11bChhbDYsYmwyKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNixiaDIpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg2LGJsMil8MDtoaT1oaStNYXRoLmltdWwoYWg2LGJoMil8MDtsbz1sbytNYXRoLmltdWwoYWw1LGJsMyl8MDttaWQ9bWlkK01hdGguaW11bChhbDUsYmgzKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNSxibDMpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNSxiaDMpfDA7bG89bG8rTWF0aC5pbXVsKGFsNCxibDQpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw0LGJoNCl8MDttaWQ9bWlkK01hdGguaW11bChhaDQsYmw0KXwwO2hpPWhpK01hdGguaW11bChhaDQsYmg0KXwwO2xvPWxvK01hdGguaW11bChhbDMsYmw1KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMyxiaDUpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgzLGJsNSl8MDtoaT1oaStNYXRoLmltdWwoYWgzLGJoNSl8MDtsbz1sbytNYXRoLmltdWwoYWwyLGJsNil8MDttaWQ9bWlkK01hdGguaW11bChhbDIsYmg2KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMixibDYpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMixiaDYpfDA7bG89bG8rTWF0aC5pbXVsKGFsMSxibDcpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwxLGJoNyl8MDttaWQ9bWlkK01hdGguaW11bChhaDEsYmw3KXwwO2hpPWhpK01hdGguaW11bChhaDEsYmg3KXwwO2xvPWxvK01hdGguaW11bChhbDAsYmw4KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMCxiaDgpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgwLGJsOCl8MDtoaT1oaStNYXRoLmltdWwoYWgwLGJoOCl8MDt2YXIgdzg9KGMrbG98MCkrKChtaWQmODE5MSk8PDEzKXwwO2M9KGhpKyhtaWQ+Pj4xMyl8MCkrKHc4Pj4+MjYpfDA7dzgmPTY3MTA4ODYzO2xvPU1hdGguaW11bChhbDksYmwwKTttaWQ9TWF0aC5pbXVsKGFsOSxiaDApO21pZD1taWQrTWF0aC5pbXVsKGFoOSxibDApfDA7aGk9TWF0aC5pbXVsKGFoOSxiaDApO2xvPWxvK01hdGguaW11bChhbDgsYmwxKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsOCxiaDEpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg4LGJsMSl8MDtoaT1oaStNYXRoLmltdWwoYWg4LGJoMSl8MDtsbz1sbytNYXRoLmltdWwoYWw3LGJsMil8MDttaWQ9bWlkK01hdGguaW11bChhbDcsYmgyKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNyxibDIpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNyxiaDIpfDA7bG89bG8rTWF0aC5pbXVsKGFsNixibDMpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw2LGJoMyl8MDttaWQ9bWlkK01hdGguaW11bChhaDYsYmwzKXwwO2hpPWhpK01hdGguaW11bChhaDYsYmgzKXwwO2xvPWxvK01hdGguaW11bChhbDUsYmw0KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNSxiaDQpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg1LGJsNCl8MDtoaT1oaStNYXRoLmltdWwoYWg1LGJoNCl8MDtsbz1sbytNYXRoLmltdWwoYWw0LGJsNSl8MDttaWQ9bWlkK01hdGguaW11bChhbDQsYmg1KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNCxibDUpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNCxiaDUpfDA7bG89bG8rTWF0aC5pbXVsKGFsMyxibDYpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwzLGJoNil8MDttaWQ9bWlkK01hdGguaW11bChhaDMsYmw2KXwwO2hpPWhpK01hdGguaW11bChhaDMsYmg2KXwwO2xvPWxvK01hdGguaW11bChhbDIsYmw3KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMixiaDcpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgyLGJsNyl8MDtoaT1oaStNYXRoLmltdWwoYWgyLGJoNyl8MDtsbz1sbytNYXRoLmltdWwoYWwxLGJsOCl8MDttaWQ9bWlkK01hdGguaW11bChhbDEsYmg4KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMSxibDgpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMSxiaDgpfDA7bG89bG8rTWF0aC5pbXVsKGFsMCxibDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwwLGJoOSl8MDttaWQ9bWlkK01hdGguaW11bChhaDAsYmw5KXwwO2hpPWhpK01hdGguaW11bChhaDAsYmg5KXwwO3ZhciB3OT0oYytsb3wwKSsoKG1pZCY4MTkxKTw8MTMpfDA7Yz0oaGkrKG1pZD4+PjEzKXwwKSsodzk+Pj4yNil8MDt3OSY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsOSxibDEpO21pZD1NYXRoLmltdWwoYWw5LGJoMSk7bWlkPW1pZCtNYXRoLmltdWwoYWg5LGJsMSl8MDtoaT1NYXRoLmltdWwoYWg5LGJoMSk7bG89bG8rTWF0aC5pbXVsKGFsOCxibDIpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw4LGJoMil8MDttaWQ9bWlkK01hdGguaW11bChhaDgsYmwyKXwwO2hpPWhpK01hdGguaW11bChhaDgsYmgyKXwwO2xvPWxvK01hdGguaW11bChhbDcsYmwzKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNyxiaDMpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg3LGJsMyl8MDtoaT1oaStNYXRoLmltdWwoYWg3LGJoMyl8MDtsbz1sbytNYXRoLmltdWwoYWw2LGJsNCl8MDttaWQ9bWlkK01hdGguaW11bChhbDYsYmg0KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNixibDQpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNixiaDQpfDA7bG89bG8rTWF0aC5pbXVsKGFsNSxibDUpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw1LGJoNSl8MDttaWQ9bWlkK01hdGguaW11bChhaDUsYmw1KXwwO2hpPWhpK01hdGguaW11bChhaDUsYmg1KXwwO2xvPWxvK01hdGguaW11bChhbDQsYmw2KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNCxiaDYpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg0LGJsNil8MDtoaT1oaStNYXRoLmltdWwoYWg0LGJoNil8MDtsbz1sbytNYXRoLmltdWwoYWwzLGJsNyl8MDttaWQ9bWlkK01hdGguaW11bChhbDMsYmg3KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMyxibDcpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMyxiaDcpfDA7bG89bG8rTWF0aC5pbXVsKGFsMixibDgpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwyLGJoOCl8MDttaWQ9bWlkK01hdGguaW11bChhaDIsYmw4KXwwO2hpPWhpK01hdGguaW11bChhaDIsYmg4KXwwO2xvPWxvK01hdGguaW11bChhbDEsYmw5KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMSxiaDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgxLGJsOSl8MDtoaT1oaStNYXRoLmltdWwoYWgxLGJoOSl8MDt2YXIgdzEwPShjK2xvfDApKygobWlkJjgxOTEpPDwxMyl8MDtjPShoaSsobWlkPj4+MTMpfDApKyh3MTA+Pj4yNil8MDt3MTAmPTY3MTA4ODYzO2xvPU1hdGguaW11bChhbDksYmwyKTttaWQ9TWF0aC5pbXVsKGFsOSxiaDIpO21pZD1taWQrTWF0aC5pbXVsKGFoOSxibDIpfDA7aGk9TWF0aC5pbXVsKGFoOSxiaDIpO2xvPWxvK01hdGguaW11bChhbDgsYmwzKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsOCxiaDMpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg4LGJsMyl8MDtoaT1oaStNYXRoLmltdWwoYWg4LGJoMyl8MDtsbz1sbytNYXRoLmltdWwoYWw3LGJsNCl8MDttaWQ9bWlkK01hdGguaW11bChhbDcsYmg0KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNyxibDQpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNyxiaDQpfDA7bG89bG8rTWF0aC5pbXVsKGFsNixibDUpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw2LGJoNSl8MDttaWQ9bWlkK01hdGguaW11bChhaDYsYmw1KXwwO2hpPWhpK01hdGguaW11bChhaDYsYmg1KXwwO2xvPWxvK01hdGguaW11bChhbDUsYmw2KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNSxiaDYpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg1LGJsNil8MDtoaT1oaStNYXRoLmltdWwoYWg1LGJoNil8MDtsbz1sbytNYXRoLmltdWwoYWw0LGJsNyl8MDttaWQ9bWlkK01hdGguaW11bChhbDQsYmg3KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNCxibDcpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNCxiaDcpfDA7bG89bG8rTWF0aC5pbXVsKGFsMyxibDgpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwzLGJoOCl8MDttaWQ9bWlkK01hdGguaW11bChhaDMsYmw4KXwwO2hpPWhpK01hdGguaW11bChhaDMsYmg4KXwwO2xvPWxvK01hdGguaW11bChhbDIsYmw5KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMixiaDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgyLGJsOSl8MDtoaT1oaStNYXRoLmltdWwoYWgyLGJoOSl8MDt2YXIgdzExPShjK2xvfDApKygobWlkJjgxOTEpPDwxMyl8MDtjPShoaSsobWlkPj4+MTMpfDApKyh3MTE+Pj4yNil8MDt3MTEmPTY3MTA4ODYzO2xvPU1hdGguaW11bChhbDksYmwzKTttaWQ9TWF0aC5pbXVsKGFsOSxiaDMpO21pZD1taWQrTWF0aC5pbXVsKGFoOSxibDMpfDA7aGk9TWF0aC5pbXVsKGFoOSxiaDMpO2xvPWxvK01hdGguaW11bChhbDgsYmw0KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsOCxiaDQpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg4LGJsNCl8MDtoaT1oaStNYXRoLmltdWwoYWg4LGJoNCl8MDtsbz1sbytNYXRoLmltdWwoYWw3LGJsNSl8MDttaWQ9bWlkK01hdGguaW11bChhbDcsYmg1KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNyxibDUpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNyxiaDUpfDA7bG89bG8rTWF0aC5pbXVsKGFsNixibDYpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw2LGJoNil8MDttaWQ9bWlkK01hdGguaW11bChhaDYsYmw2KXwwO2hpPWhpK01hdGguaW11bChhaDYsYmg2KXwwO2xvPWxvK01hdGguaW11bChhbDUsYmw3KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNSxiaDcpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg1LGJsNyl8MDtoaT1oaStNYXRoLmltdWwoYWg1LGJoNyl8MDtsbz1sbytNYXRoLmltdWwoYWw0LGJsOCl8MDttaWQ9bWlkK01hdGguaW11bChhbDQsYmg4KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNCxibDgpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNCxiaDgpfDA7bG89bG8rTWF0aC5pbXVsKGFsMyxibDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwzLGJoOSl8MDttaWQ9bWlkK01hdGguaW11bChhaDMsYmw5KXwwO2hpPWhpK01hdGguaW11bChhaDMsYmg5KXwwO3ZhciB3MTI9KGMrbG98MCkrKChtaWQmODE5MSk8PDEzKXwwO2M9KGhpKyhtaWQ+Pj4xMyl8MCkrKHcxMj4+PjI2KXwwO3cxMiY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsOSxibDQpO21pZD1NYXRoLmltdWwoYWw5LGJoNCk7bWlkPW1pZCtNYXRoLmltdWwoYWg5LGJsNCl8MDtoaT1NYXRoLmltdWwoYWg5LGJoNCk7bG89bG8rTWF0aC5pbXVsKGFsOCxibDUpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw4LGJoNSl8MDttaWQ9bWlkK01hdGguaW11bChhaDgsYmw1KXwwO2hpPWhpK01hdGguaW11bChhaDgsYmg1KXwwO2xvPWxvK01hdGguaW11bChhbDcsYmw2KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNyxiaDYpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg3LGJsNil8MDtoaT1oaStNYXRoLmltdWwoYWg3LGJoNil8MDtsbz1sbytNYXRoLmltdWwoYWw2LGJsNyl8MDttaWQ9bWlkK01hdGguaW11bChhbDYsYmg3KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNixibDcpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNixiaDcpfDA7bG89bG8rTWF0aC5pbXVsKGFsNSxibDgpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw1LGJoOCl8MDttaWQ9bWlkK01hdGguaW11bChhaDUsYmw4KXwwO2hpPWhpK01hdGguaW11bChhaDUsYmg4KXwwO2xvPWxvK01hdGguaW11bChhbDQsYmw5KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNCxiaDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg0LGJsOSl8MDtoaT1oaStNYXRoLmltdWwoYWg0LGJoOSl8MDt2YXIgdzEzPShjK2xvfDApKygobWlkJjgxOTEpPDwxMyl8MDtjPShoaSsobWlkPj4+MTMpfDApKyh3MTM+Pj4yNil8MDt3MTMmPTY3MTA4ODYzO2xvPU1hdGguaW11bChhbDksYmw1KTttaWQ9TWF0aC5pbXVsKGFsOSxiaDUpO21pZD1taWQrTWF0aC5pbXVsKGFoOSxibDUpfDA7aGk9TWF0aC5pbXVsKGFoOSxiaDUpO2xvPWxvK01hdGguaW11bChhbDgsYmw2KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsOCxiaDYpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg4LGJsNil8MDtoaT1oaStNYXRoLmltdWwoYWg4LGJoNil8MDtsbz1sbytNYXRoLmltdWwoYWw3LGJsNyl8MDttaWQ9bWlkK01hdGguaW11bChhbDcsYmg3KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNyxibDcpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNyxiaDcpfDA7bG89bG8rTWF0aC5pbXVsKGFsNixibDgpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw2LGJoOCl8MDttaWQ9bWlkK01hdGguaW11bChhaDYsYmw4KXwwO2hpPWhpK01hdGguaW11bChhaDYsYmg4KXwwO2xvPWxvK01hdGguaW11bChhbDUsYmw5KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNSxiaDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg1LGJsOSl8MDtoaT1oaStNYXRoLmltdWwoYWg1LGJoOSl8MDt2YXIgdzE0PShjK2xvfDApKygobWlkJjgxOTEpPDwxMyl8MDtjPShoaSsobWlkPj4+MTMpfDApKyh3MTQ+Pj4yNil8MDt3MTQmPTY3MTA4ODYzO2xvPU1hdGguaW11bChhbDksYmw2KTttaWQ9TWF0aC5pbXVsKGFsOSxiaDYpO21pZD1taWQrTWF0aC5pbXVsKGFoOSxibDYpfDA7aGk9TWF0aC5pbXVsKGFoOSxiaDYpO2xvPWxvK01hdGguaW11bChhbDgsYmw3KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsOCxiaDcpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg4LGJsNyl8MDtoaT1oaStNYXRoLmltdWwoYWg4LGJoNyl8MDtsbz1sbytNYXRoLmltdWwoYWw3LGJsOCl8MDttaWQ9bWlkK01hdGguaW11bChhbDcsYmg4KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNyxibDgpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNyxiaDgpfDA7bG89bG8rTWF0aC5pbXVsKGFsNixibDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw2LGJoOSl8MDttaWQ9bWlkK01hdGguaW11bChhaDYsYmw5KXwwO2hpPWhpK01hdGguaW11bChhaDYsYmg5KXwwO3ZhciB3MTU9KGMrbG98MCkrKChtaWQmODE5MSk8PDEzKXwwO2M9KGhpKyhtaWQ+Pj4xMyl8MCkrKHcxNT4+PjI2KXwwO3cxNSY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsOSxibDcpO21pZD1NYXRoLmltdWwoYWw5LGJoNyk7bWlkPW1pZCtNYXRoLmltdWwoYWg5LGJsNyl8MDtoaT1NYXRoLmltdWwoYWg5LGJoNyk7bG89bG8rTWF0aC5pbXVsKGFsOCxibDgpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw4LGJoOCl8MDttaWQ9bWlkK01hdGguaW11bChhaDgsYmw4KXwwO2hpPWhpK01hdGguaW11bChhaDgsYmg4KXwwO2xvPWxvK01hdGguaW11bChhbDcsYmw5KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNyxiaDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg3LGJsOSl8MDtoaT1oaStNYXRoLmltdWwoYWg3LGJoOSl8MDt2YXIgdzE2PShjK2xvfDApKygobWlkJjgxOTEpPDwxMyl8MDtjPShoaSsobWlkPj4+MTMpfDApKyh3MTY+Pj4yNil8MDt3MTYmPTY3MTA4ODYzO2xvPU1hdGguaW11bChhbDksYmw4KTttaWQ9TWF0aC5pbXVsKGFsOSxiaDgpO21pZD1taWQrTWF0aC5pbXVsKGFoOSxibDgpfDA7aGk9TWF0aC5pbXVsKGFoOSxiaDgpO2xvPWxvK01hdGguaW11bChhbDgsYmw5KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsOCxiaDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg4LGJsOSl8MDtoaT1oaStNYXRoLmltdWwoYWg4LGJoOSl8MDt2YXIgdzE3PShjK2xvfDApKygobWlkJjgxOTEpPDwxMyl8MDtjPShoaSsobWlkPj4+MTMpfDApKyh3MTc+Pj4yNil8MDt3MTcmPTY3MTA4ODYzO2xvPU1hdGguaW11bChhbDksYmw5KTttaWQ9TWF0aC5pbXVsKGFsOSxiaDkpO21pZD1taWQrTWF0aC5pbXVsKGFoOSxibDkpfDA7aGk9TWF0aC5pbXVsKGFoOSxiaDkpO3ZhciB3MTg9KGMrbG98MCkrKChtaWQmODE5MSk8PDEzKXwwO2M9KGhpKyhtaWQ+Pj4xMyl8MCkrKHcxOD4+PjI2KXwwO3cxOCY9NjcxMDg4NjM7b1swXT13MDtvWzFdPXcxO29bMl09dzI7b1szXT13MztvWzRdPXc0O29bNV09dzU7b1s2XT13NjtvWzddPXc3O29bOF09dzg7b1s5XT13OTtvWzEwXT13MTA7b1sxMV09dzExO29bMTJdPXcxMjtvWzEzXT13MTM7b1sxNF09dzE0O29bMTVdPXcxNTtvWzE2XT13MTY7b1sxN109dzE3O29bMThdPXcxODtpZihjIT09MCl7b1sxOV09YztvdXQubGVuZ3RoKyt9cmV0dXJuIG91dH07aWYoIU1hdGguaW11bCl7Y29tYjEwTXVsVG89c21hbGxNdWxUb31mdW5jdGlvbiBiaWdNdWxUbyhzZWxmLG51bSxvdXQpe291dC5uZWdhdGl2ZT1udW0ubmVnYXRpdmVec2VsZi5uZWdhdGl2ZTtvdXQubGVuZ3RoPXNlbGYubGVuZ3RoK251bS5sZW5ndGg7dmFyIGNhcnJ5PTA7dmFyIGhuY2Fycnk9MDtmb3IodmFyIGs9MDtrPG91dC5sZW5ndGgtMTtrKyspe3ZhciBuY2Fycnk9aG5jYXJyeTtobmNhcnJ5PTA7dmFyIHJ3b3JkPWNhcnJ5JjY3MTA4ODYzO3ZhciBtYXhKPU1hdGgubWluKGssbnVtLmxlbmd0aC0xKTtmb3IodmFyIGo9TWF0aC5tYXgoMCxrLXNlbGYubGVuZ3RoKzEpO2o8PW1heEo7aisrKXt2YXIgaT1rLWo7dmFyIGE9c2VsZi53b3Jkc1tpXXwwO3ZhciBiPW51bS53b3Jkc1tqXXwwO3ZhciByPWEqYjt2YXIgbG89ciY2NzEwODg2MztuY2Fycnk9bmNhcnJ5KyhyLzY3MTA4ODY0fDApfDA7bG89bG8rcndvcmR8MDtyd29yZD1sbyY2NzEwODg2MztuY2Fycnk9bmNhcnJ5Kyhsbz4+PjI2KXwwO2huY2FycnkrPW5jYXJyeT4+PjI2O25jYXJyeSY9NjcxMDg4NjN9b3V0LndvcmRzW2tdPXJ3b3JkO2NhcnJ5PW5jYXJyeTtuY2Fycnk9aG5jYXJyeX1pZihjYXJyeSE9PTApe291dC53b3Jkc1trXT1jYXJyeX1lbHNle291dC5sZW5ndGgtLX1yZXR1cm4gb3V0Ll9zdHJpcCgpfWZ1bmN0aW9uIGp1bWJvTXVsVG8oc2VsZixudW0sb3V0KXtyZXR1cm4gYmlnTXVsVG8oc2VsZixudW0sb3V0KX1CTi5wcm90b3R5cGUubXVsVG89ZnVuY3Rpb24gbXVsVG8obnVtLG91dCl7dmFyIHJlczt2YXIgbGVuPXRoaXMubGVuZ3RoK251bS5sZW5ndGg7aWYodGhpcy5sZW5ndGg9PT0xMCYmbnVtLmxlbmd0aD09PTEwKXtyZXM9Y29tYjEwTXVsVG8odGhpcyxudW0sb3V0KX1lbHNlIGlmKGxlbjw2Myl7cmVzPXNtYWxsTXVsVG8odGhpcyxudW0sb3V0KX1lbHNlIGlmKGxlbjwxMDI0KXtyZXM9YmlnTXVsVG8odGhpcyxudW0sb3V0KX1lbHNle3Jlcz1qdW1ib011bFRvKHRoaXMsbnVtLG91dCl9cmV0dXJuIHJlc307ZnVuY3Rpb24gRkZUTSh4LHkpe3RoaXMueD14O3RoaXMueT15fUZGVE0ucHJvdG90eXBlLm1ha2VSQlQ9ZnVuY3Rpb24gbWFrZVJCVChOKXt2YXIgdD1uZXcgQXJyYXkoTik7dmFyIGw9Qk4ucHJvdG90eXBlLl9jb3VudEJpdHMoTiktMTtmb3IodmFyIGk9MDtpPE47aSsrKXt0W2ldPXRoaXMucmV2QmluKGksbCxOKX1yZXR1cm4gdH07RkZUTS5wcm90b3R5cGUucmV2QmluPWZ1bmN0aW9uIHJldkJpbih4LGwsTil7aWYoeD09PTB8fHg9PT1OLTEpcmV0dXJuIHg7dmFyIHJiPTA7Zm9yKHZhciBpPTA7aTxsO2krKyl7cmJ8PSh4JjEpPDxsLWktMTt4Pj49MX1yZXR1cm4gcmJ9O0ZGVE0ucHJvdG90eXBlLnBlcm11dGU9ZnVuY3Rpb24gcGVybXV0ZShyYnQscndzLGl3cyxydHdzLGl0d3MsTil7Zm9yKHZhciBpPTA7aTxOO2krKyl7cnR3c1tpXT1yd3NbcmJ0W2ldXTtpdHdzW2ldPWl3c1tyYnRbaV1dfX07RkZUTS5wcm90b3R5cGUudHJhbnNmb3JtPWZ1bmN0aW9uIHRyYW5zZm9ybShyd3MsaXdzLHJ0d3MsaXR3cyxOLHJidCl7dGhpcy5wZXJtdXRlKHJidCxyd3MsaXdzLHJ0d3MsaXR3cyxOKTtmb3IodmFyIHM9MTtzPE47czw8PTEpe3ZhciBsPXM8PDE7dmFyIHJ0d2RmPU1hdGguY29zKDIqTWF0aC5QSS9sKTt2YXIgaXR3ZGY9TWF0aC5zaW4oMipNYXRoLlBJL2wpO2Zvcih2YXIgcD0wO3A8TjtwKz1sKXt2YXIgcnR3ZGZfPXJ0d2RmO3ZhciBpdHdkZl89aXR3ZGY7Zm9yKHZhciBqPTA7ajxzO2orKyl7dmFyIHJlPXJ0d3NbcCtqXTt2YXIgaWU9aXR3c1twK2pdO3ZhciBybz1ydHdzW3AraitzXTt2YXIgaW89aXR3c1twK2orc107dmFyIHJ4PXJ0d2RmXypyby1pdHdkZl8qaW87aW89cnR3ZGZfKmlvK2l0d2RmXypybztybz1yeDtydHdzW3Aral09cmUrcm87aXR3c1twK2pdPWllK2lvO3J0d3NbcCtqK3NdPXJlLXJvO2l0d3NbcCtqK3NdPWllLWlvO2lmKGohPT1sKXtyeD1ydHdkZipydHdkZl8taXR3ZGYqaXR3ZGZfO2l0d2RmXz1ydHdkZippdHdkZl8raXR3ZGYqcnR3ZGZfO3J0d2RmXz1yeH19fX19O0ZGVE0ucHJvdG90eXBlLmd1ZXNzTGVuMTNiPWZ1bmN0aW9uIGd1ZXNzTGVuMTNiKG4sbSl7dmFyIE49TWF0aC5tYXgobSxuKXwxO3ZhciBvZGQ9TiYxO3ZhciBpPTA7Zm9yKE49Ti8yfDA7TjtOPU4+Pj4xKXtpKyt9cmV0dXJuIDE8PGkrMStvZGR9O0ZGVE0ucHJvdG90eXBlLmNvbmp1Z2F0ZT1mdW5jdGlvbiBjb25qdWdhdGUocndzLGl3cyxOKXtpZihOPD0xKXJldHVybjtmb3IodmFyIGk9MDtpPE4vMjtpKyspe3ZhciB0PXJ3c1tpXTtyd3NbaV09cndzW04taS0xXTtyd3NbTi1pLTFdPXQ7dD1pd3NbaV07aXdzW2ldPS1pd3NbTi1pLTFdO2l3c1tOLWktMV09LXR9fTtGRlRNLnByb3RvdHlwZS5ub3JtYWxpemUxM2I9ZnVuY3Rpb24gbm9ybWFsaXplMTNiKHdzLE4pe3ZhciBjYXJyeT0wO2Zvcih2YXIgaT0wO2k8Ti8yO2krKyl7dmFyIHc9TWF0aC5yb3VuZCh3c1syKmkrMV0vTikqODE5MitNYXRoLnJvdW5kKHdzWzIqaV0vTikrY2Fycnk7d3NbaV09dyY2NzEwODg2MztpZih3PDY3MTA4ODY0KXtjYXJyeT0wfWVsc2V7Y2Fycnk9dy82NzEwODg2NHwwfX1yZXR1cm4gd3N9O0ZGVE0ucHJvdG90eXBlLmNvbnZlcnQxM2I9ZnVuY3Rpb24gY29udmVydDEzYih3cyxsZW4scndzLE4pe3ZhciBjYXJyeT0wO2Zvcih2YXIgaT0wO2k8bGVuO2krKyl7Y2Fycnk9Y2FycnkrKHdzW2ldfDApO3J3c1syKmldPWNhcnJ5JjgxOTE7Y2Fycnk9Y2Fycnk+Pj4xMztyd3NbMippKzFdPWNhcnJ5JjgxOTE7Y2Fycnk9Y2Fycnk+Pj4xM31mb3IoaT0yKmxlbjtpPE47KytpKXtyd3NbaV09MH1hc3NlcnQoY2Fycnk9PT0wKTthc3NlcnQoKGNhcnJ5Jn44MTkxKT09PTApfTtGRlRNLnByb3RvdHlwZS5zdHViPWZ1bmN0aW9uIHN0dWIoTil7dmFyIHBoPW5ldyBBcnJheShOKTtmb3IodmFyIGk9MDtpPE47aSsrKXtwaFtpXT0wfXJldHVybiBwaH07RkZUTS5wcm90b3R5cGUubXVscD1mdW5jdGlvbiBtdWxwKHgseSxvdXQpe3ZhciBOPTIqdGhpcy5ndWVzc0xlbjEzYih4Lmxlbmd0aCx5Lmxlbmd0aCk7dmFyIHJidD10aGlzLm1ha2VSQlQoTik7dmFyIF89dGhpcy5zdHViKE4pO3ZhciByd3M9bmV3IEFycmF5KE4pO3ZhciByd3N0PW5ldyBBcnJheShOKTt2YXIgaXdzdD1uZXcgQXJyYXkoTik7dmFyIG5yd3M9bmV3IEFycmF5KE4pO3ZhciBucndzdD1uZXcgQXJyYXkoTik7dmFyIG5pd3N0PW5ldyBBcnJheShOKTt2YXIgcm13cz1vdXQud29yZHM7cm13cy5sZW5ndGg9Tjt0aGlzLmNvbnZlcnQxM2IoeC53b3Jkcyx4Lmxlbmd0aCxyd3MsTik7dGhpcy5jb252ZXJ0MTNiKHkud29yZHMseS5sZW5ndGgsbnJ3cyxOKTt0aGlzLnRyYW5zZm9ybShyd3MsXyxyd3N0LGl3c3QsTixyYnQpO3RoaXMudHJhbnNmb3JtKG5yd3MsXyxucndzdCxuaXdzdCxOLHJidCk7Zm9yKHZhciBpPTA7aTxOO2krKyl7dmFyIHJ4PXJ3c3RbaV0qbnJ3c3RbaV0taXdzdFtpXSpuaXdzdFtpXTtpd3N0W2ldPXJ3c3RbaV0qbml3c3RbaV0raXdzdFtpXSpucndzdFtpXTtyd3N0W2ldPXJ4fXRoaXMuY29uanVnYXRlKHJ3c3QsaXdzdCxOKTt0aGlzLnRyYW5zZm9ybShyd3N0LGl3c3Qscm13cyxfLE4scmJ0KTt0aGlzLmNvbmp1Z2F0ZShybXdzLF8sTik7dGhpcy5ub3JtYWxpemUxM2Iocm13cyxOKTtvdXQubmVnYXRpdmU9eC5uZWdhdGl2ZV55Lm5lZ2F0aXZlO291dC5sZW5ndGg9eC5sZW5ndGgreS5sZW5ndGg7cmV0dXJuIG91dC5fc3RyaXAoKX07Qk4ucHJvdG90eXBlLm11bD1mdW5jdGlvbiBtdWwobnVtKXt2YXIgb3V0PW5ldyBCTihudWxsKTtvdXQud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK251bS5sZW5ndGgpO3JldHVybiB0aGlzLm11bFRvKG51bSxvdXQpfTtCTi5wcm90b3R5cGUubXVsZj1mdW5jdGlvbiBtdWxmKG51bSl7dmFyIG91dD1uZXcgQk4obnVsbCk7b3V0LndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCtudW0ubGVuZ3RoKTtyZXR1cm4ganVtYm9NdWxUbyh0aGlzLG51bSxvdXQpfTtCTi5wcm90b3R5cGUuaW11bD1mdW5jdGlvbiBpbXVsKG51bSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhudW0sdGhpcyl9O0JOLnByb3RvdHlwZS5pbXVsbj1mdW5jdGlvbiBpbXVsbihudW0pe3ZhciBpc05lZ051bT1udW08MDtpZihpc05lZ051bSludW09LW51bTthc3NlcnQodHlwZW9mIG51bT09PSJudW1iZXIiKTthc3NlcnQobnVtPDY3MTA4ODY0KTt2YXIgY2Fycnk9MDtmb3IodmFyIGk9MDtpPHRoaXMubGVuZ3RoO2krKyl7dmFyIHc9KHRoaXMud29yZHNbaV18MCkqbnVtO3ZhciBsbz0odyY2NzEwODg2MykrKGNhcnJ5JjY3MTA4ODYzKTtjYXJyeT4+PTI2O2NhcnJ5Kz13LzY3MTA4ODY0fDA7Y2FycnkrPWxvPj4+MjY7dGhpcy53b3Jkc1tpXT1sbyY2NzEwODg2M31pZihjYXJyeSE9PTApe3RoaXMud29yZHNbaV09Y2Fycnk7dGhpcy5sZW5ndGgrK31yZXR1cm4gaXNOZWdOdW0/dGhpcy5pbmVnKCk6dGhpc307Qk4ucHJvdG90eXBlLm11bG49ZnVuY3Rpb24gbXVsbihudW0pe3JldHVybiB0aGlzLmNsb25lKCkuaW11bG4obnVtKX07Qk4ucHJvdG90eXBlLnNxcj1mdW5jdGlvbiBzcXIoKXtyZXR1cm4gdGhpcy5tdWwodGhpcyl9O0JOLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uIGlzcXIoKXtyZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSl9O0JOLnByb3RvdHlwZS5wb3c9ZnVuY3Rpb24gcG93KG51bSl7dmFyIHc9dG9CaXRBcnJheShudW0pO2lmKHcubGVuZ3RoPT09MClyZXR1cm4gbmV3IEJOKDEpO3ZhciByZXM9dGhpcztmb3IodmFyIGk9MDtpPHcubGVuZ3RoO2krKyxyZXM9cmVzLnNxcigpKXtpZih3W2ldIT09MClicmVha31pZigrK2k8dy5sZW5ndGgpe2Zvcih2YXIgcT1yZXMuc3FyKCk7aTx3Lmxlbmd0aDtpKysscT1xLnNxcigpKXtpZih3W2ldPT09MCljb250aW51ZTtyZXM9cmVzLm11bChxKX19cmV0dXJuIHJlc307Qk4ucHJvdG90eXBlLml1c2hsbj1mdW5jdGlvbiBpdXNobG4oYml0cyl7YXNzZXJ0KHR5cGVvZiBiaXRzPT09Im51bWJlciImJmJpdHM+PTApO3ZhciByPWJpdHMlMjY7dmFyIHM9KGJpdHMtcikvMjY7dmFyIGNhcnJ5TWFzaz02NzEwODg2Mz4+PjI2LXI8PDI2LXI7dmFyIGk7aWYociE9PTApe3ZhciBjYXJyeT0wO2ZvcihpPTA7aTx0aGlzLmxlbmd0aDtpKyspe3ZhciBuZXdDYXJyeT10aGlzLndvcmRzW2ldJmNhcnJ5TWFzazt2YXIgYz0odGhpcy53b3Jkc1tpXXwwKS1uZXdDYXJyeTw8cjt0aGlzLndvcmRzW2ldPWN8Y2Fycnk7Y2Fycnk9bmV3Q2Fycnk+Pj4yNi1yfWlmKGNhcnJ5KXt0aGlzLndvcmRzW2ldPWNhcnJ5O3RoaXMubGVuZ3RoKyt9fWlmKHMhPT0wKXtmb3IoaT10aGlzLmxlbmd0aC0xO2k+PTA7aS0tKXt0aGlzLndvcmRzW2krc109dGhpcy53b3Jkc1tpXX1mb3IoaT0wO2k8cztpKyspe3RoaXMud29yZHNbaV09MH10aGlzLmxlbmd0aCs9c31yZXR1cm4gdGhpcy5fc3RyaXAoKX07Qk4ucHJvdG90eXBlLmlzaGxuPWZ1bmN0aW9uIGlzaGxuKGJpdHMpe2Fzc2VydCh0aGlzLm5lZ2F0aXZlPT09MCk7cmV0dXJuIHRoaXMuaXVzaGxuKGJpdHMpfTtCTi5wcm90b3R5cGUuaXVzaHJuPWZ1bmN0aW9uIGl1c2hybihiaXRzLGhpbnQsZXh0ZW5kZWQpe2Fzc2VydCh0eXBlb2YgYml0cz09PSJudW1iZXIiJiZiaXRzPj0wKTt2YXIgaDtpZihoaW50KXtoPShoaW50LWhpbnQlMjYpLzI2fWVsc2V7aD0wfXZhciByPWJpdHMlMjY7dmFyIHM9TWF0aC5taW4oKGJpdHMtcikvMjYsdGhpcy5sZW5ndGgpO3ZhciBtYXNrPTY3MTA4ODYzXjY3MTA4ODYzPj4+cjw8cjt2YXIgbWFza2VkV29yZHM9ZXh0ZW5kZWQ7aC09cztoPU1hdGgubWF4KDAsaCk7aWYobWFza2VkV29yZHMpe2Zvcih2YXIgaT0wO2k8cztpKyspe21hc2tlZFdvcmRzLndvcmRzW2ldPXRoaXMud29yZHNbaV19bWFza2VkV29yZHMubGVuZ3RoPXN9aWYocz09PTApe31lbHNlIGlmKHRoaXMubGVuZ3RoPnMpe3RoaXMubGVuZ3RoLT1zO2ZvcihpPTA7aTx0aGlzLmxlbmd0aDtpKyspe3RoaXMud29yZHNbaV09dGhpcy53b3Jkc1tpK3NdfX1lbHNle3RoaXMud29yZHNbMF09MDt0aGlzLmxlbmd0aD0xfXZhciBjYXJyeT0wO2ZvcihpPXRoaXMubGVuZ3RoLTE7aT49MCYmKGNhcnJ5IT09MHx8aT49aCk7aS0tKXt2YXIgd29yZD10aGlzLndvcmRzW2ldfDA7dGhpcy53b3Jkc1tpXT1jYXJyeTw8MjYtcnx3b3JkPj4+cjtjYXJyeT13b3JkJm1hc2t9aWYobWFza2VkV29yZHMmJmNhcnJ5IT09MCl7bWFza2VkV29yZHMud29yZHNbbWFza2VkV29yZHMubGVuZ3RoKytdPWNhcnJ5fWlmKHRoaXMubGVuZ3RoPT09MCl7dGhpcy53b3Jkc1swXT0wO3RoaXMubGVuZ3RoPTF9cmV0dXJuIHRoaXMuX3N0cmlwKCl9O0JOLnByb3RvdHlwZS5pc2hybj1mdW5jdGlvbiBpc2hybihiaXRzLGhpbnQsZXh0ZW5kZWQpe2Fzc2VydCh0aGlzLm5lZ2F0aXZlPT09MCk7cmV0dXJuIHRoaXMuaXVzaHJuKGJpdHMsaGludCxleHRlbmRlZCl9O0JOLnByb3RvdHlwZS5zaGxuPWZ1bmN0aW9uIHNobG4oYml0cyl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbihiaXRzKX07Qk4ucHJvdG90eXBlLnVzaGxuPWZ1bmN0aW9uIHVzaGxuKGJpdHMpe3JldHVybiB0aGlzLmNsb25lKCkuaXVzaGxuKGJpdHMpfTtCTi5wcm90b3R5cGUuc2hybj1mdW5jdGlvbiBzaHJuKGJpdHMpe3JldHVybiB0aGlzLmNsb25lKCkuaXNocm4oYml0cyl9O0JOLnByb3RvdHlwZS51c2hybj1mdW5jdGlvbiB1c2hybihiaXRzKXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hybihiaXRzKX07Qk4ucHJvdG90eXBlLnRlc3RuPWZ1bmN0aW9uIHRlc3RuKGJpdCl7YXNzZXJ0KHR5cGVvZiBiaXQ9PT0ibnVtYmVyIiYmYml0Pj0wKTt2YXIgcj1iaXQlMjY7dmFyIHM9KGJpdC1yKS8yNjt2YXIgcT0xPDxyO2lmKHRoaXMubGVuZ3RoPD1zKXJldHVybiBmYWxzZTt2YXIgdz10aGlzLndvcmRzW3NdO3JldHVybiEhKHcmcSl9O0JOLnByb3RvdHlwZS5pbWFza249ZnVuY3Rpb24gaW1hc2tuKGJpdHMpe2Fzc2VydCh0eXBlb2YgYml0cz09PSJudW1iZXIiJiZiaXRzPj0wKTt2YXIgcj1iaXRzJTI2O3ZhciBzPShiaXRzLXIpLzI2O2Fzc2VydCh0aGlzLm5lZ2F0aXZlPT09MCwiaW1hc2tuIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZSBudW1iZXJzIik7aWYodGhpcy5sZW5ndGg8PXMpe3JldHVybiB0aGlzfWlmKHIhPT0wKXtzKyt9dGhpcy5sZW5ndGg9TWF0aC5taW4ocyx0aGlzLmxlbmd0aCk7aWYociE9PTApe3ZhciBtYXNrPTY3MTA4ODYzXjY3MTA4ODYzPj4+cjw8cjt0aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdJj1tYXNrfXJldHVybiB0aGlzLl9zdHJpcCgpfTtCTi5wcm90b3R5cGUubWFza249ZnVuY3Rpb24gbWFza24oYml0cyl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oYml0cyl9O0JOLnByb3RvdHlwZS5pYWRkbj1mdW5jdGlvbiBpYWRkbihudW0pe2Fzc2VydCh0eXBlb2YgbnVtPT09Im51bWJlciIpO2Fzc2VydChudW08NjcxMDg4NjQpO2lmKG51bTwwKXJldHVybiB0aGlzLmlzdWJuKC1udW0pO2lmKHRoaXMubmVnYXRpdmUhPT0wKXtpZih0aGlzLmxlbmd0aD09PTEmJih0aGlzLndvcmRzWzBdfDApPD1udW0pe3RoaXMud29yZHNbMF09bnVtLSh0aGlzLndvcmRzWzBdfDApO3RoaXMubmVnYXRpdmU9MDtyZXR1cm4gdGhpc310aGlzLm5lZ2F0aXZlPTA7dGhpcy5pc3VibihudW0pO3RoaXMubmVnYXRpdmU9MTtyZXR1cm4gdGhpc31yZXR1cm4gdGhpcy5faWFkZG4obnVtKX07Qk4ucHJvdG90eXBlLl9pYWRkbj1mdW5jdGlvbiBfaWFkZG4obnVtKXt0aGlzLndvcmRzWzBdKz1udW07Zm9yKHZhciBpPTA7aTx0aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1tpXT49NjcxMDg4NjQ7aSsrKXt0aGlzLndvcmRzW2ldLT02NzEwODg2NDtpZihpPT09dGhpcy5sZW5ndGgtMSl7dGhpcy53b3Jkc1tpKzFdPTF9ZWxzZXt0aGlzLndvcmRzW2krMV0rK319dGhpcy5sZW5ndGg9TWF0aC5tYXgodGhpcy5sZW5ndGgsaSsxKTtyZXR1cm4gdGhpc307Qk4ucHJvdG90eXBlLmlzdWJuPWZ1bmN0aW9uIGlzdWJuKG51bSl7YXNzZXJ0KHR5cGVvZiBudW09PT0ibnVtYmVyIik7YXNzZXJ0KG51bTw2NzEwODg2NCk7aWYobnVtPDApcmV0dXJuIHRoaXMuaWFkZG4oLW51bSk7aWYodGhpcy5uZWdhdGl2ZSE9PTApe3RoaXMubmVnYXRpdmU9MDt0aGlzLmlhZGRuKG51bSk7dGhpcy5uZWdhdGl2ZT0xO3JldHVybiB0aGlzfXRoaXMud29yZHNbMF0tPW51bTtpZih0aGlzLmxlbmd0aD09PTEmJnRoaXMud29yZHNbMF08MCl7dGhpcy53b3Jkc1swXT0tdGhpcy53b3Jkc1swXTt0aGlzLm5lZ2F0aXZlPTF9ZWxzZXtmb3IodmFyIGk9MDtpPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2ldPDA7aSsrKXt0aGlzLndvcmRzW2ldKz02NzEwODg2NDt0aGlzLndvcmRzW2krMV0tPTF9fXJldHVybiB0aGlzLl9zdHJpcCgpfTtCTi5wcm90b3R5cGUuYWRkbj1mdW5jdGlvbiBhZGRuKG51bSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbihudW0pfTtCTi5wcm90b3R5cGUuc3Vibj1mdW5jdGlvbiBzdWJuKG51bSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3VibihudW0pfTtCTi5wcm90b3R5cGUuaWFicz1mdW5jdGlvbiBpYWJzKCl7dGhpcy5uZWdhdGl2ZT0wO3JldHVybiB0aGlzfTtCTi5wcm90b3R5cGUuYWJzPWZ1bmN0aW9uIGFicygpe3JldHVybiB0aGlzLmNsb25lKCkuaWFicygpfTtCTi5wcm90b3R5cGUuX2lzaGxuc3VibXVsPWZ1bmN0aW9uIF9pc2hsbnN1Ym11bChudW0sbXVsLHNoaWZ0KXt2YXIgbGVuPW51bS5sZW5ndGgrc2hpZnQ7dmFyIGk7dGhpcy5fZXhwYW5kKGxlbik7dmFyIHc7dmFyIGNhcnJ5PTA7Zm9yKGk9MDtpPG51bS5sZW5ndGg7aSsrKXt3PSh0aGlzLndvcmRzW2krc2hpZnRdfDApK2NhcnJ5O3ZhciByaWdodD0obnVtLndvcmRzW2ldfDApKm11bDt3LT1yaWdodCY2NzEwODg2MztjYXJyeT0odz4+MjYpLShyaWdodC82NzEwODg2NHwwKTt0aGlzLndvcmRzW2krc2hpZnRdPXcmNjcxMDg4NjN9Zm9yKDtpPHRoaXMubGVuZ3RoLXNoaWZ0O2krKyl7dz0odGhpcy53b3Jkc1tpK3NoaWZ0XXwwKStjYXJyeTtjYXJyeT13Pj4yNjt0aGlzLndvcmRzW2krc2hpZnRdPXcmNjcxMDg4NjN9aWYoY2Fycnk9PT0wKXJldHVybiB0aGlzLl9zdHJpcCgpO2Fzc2VydChjYXJyeT09PS0xKTtjYXJyeT0wO2ZvcihpPTA7aTx0aGlzLmxlbmd0aDtpKyspe3c9LSh0aGlzLndvcmRzW2ldfDApK2NhcnJ5O2NhcnJ5PXc+PjI2O3RoaXMud29yZHNbaV09dyY2NzEwODg2M310aGlzLm5lZ2F0aXZlPTE7cmV0dXJuIHRoaXMuX3N0cmlwKCl9O0JOLnByb3RvdHlwZS5fd29yZERpdj1mdW5jdGlvbiBfd29yZERpdihudW0sbW9kZSl7dmFyIHNoaWZ0PXRoaXMubGVuZ3RoLW51bS5sZW5ndGg7dmFyIGE9dGhpcy5jbG9uZSgpO3ZhciBiPW51bTt2YXIgYmhpPWIud29yZHNbYi5sZW5ndGgtMV18MDt2YXIgYmhpQml0cz10aGlzLl9jb3VudEJpdHMoYmhpKTtzaGlmdD0yNi1iaGlCaXRzO2lmKHNoaWZ0IT09MCl7Yj1iLnVzaGxuKHNoaWZ0KTthLml1c2hsbihzaGlmdCk7YmhpPWIud29yZHNbYi5sZW5ndGgtMV18MH12YXIgbT1hLmxlbmd0aC1iLmxlbmd0aDt2YXIgcTtpZihtb2RlIT09Im1vZCIpe3E9bmV3IEJOKG51bGwpO3EubGVuZ3RoPW0rMTtxLndvcmRzPW5ldyBBcnJheShxLmxlbmd0aCk7Zm9yKHZhciBpPTA7aTxxLmxlbmd0aDtpKyspe3Eud29yZHNbaV09MH19dmFyIGRpZmY9YS5jbG9uZSgpLl9pc2hsbnN1Ym11bChiLDEsbSk7aWYoZGlmZi5uZWdhdGl2ZT09PTApe2E9ZGlmZjtpZihxKXtxLndvcmRzW21dPTF9fWZvcih2YXIgaj1tLTE7aj49MDtqLS0pe3ZhciBxaj0oYS53b3Jkc1tiLmxlbmd0aCtqXXwwKSo2NzEwODg2NCsoYS53b3Jkc1tiLmxlbmd0aCtqLTFdfDApO3FqPU1hdGgubWluKHFqL2JoaXwwLDY3MTA4ODYzKTthLl9pc2hsbnN1Ym11bChiLHFqLGopO3doaWxlKGEubmVnYXRpdmUhPT0wKXtxai0tO2EubmVnYXRpdmU9MDthLl9pc2hsbnN1Ym11bChiLDEsaik7aWYoIWEuaXNaZXJvKCkpe2EubmVnYXRpdmVePTF9fWlmKHEpe3Eud29yZHNbal09cWp9fWlmKHEpe3EuX3N0cmlwKCl9YS5fc3RyaXAoKTtpZihtb2RlIT09ImRpdiImJnNoaWZ0IT09MCl7YS5pdXNocm4oc2hpZnQpfXJldHVybntkaXY6cXx8bnVsbCxtb2Q6YX19O0JOLnByb3RvdHlwZS5kaXZtb2Q9ZnVuY3Rpb24gZGl2bW9kKG51bSxtb2RlLHBvc2l0aXZlKXthc3NlcnQoIW51bS5pc1plcm8oKSk7aWYodGhpcy5pc1plcm8oKSl7cmV0dXJue2RpdjpuZXcgQk4oMCksbW9kOm5ldyBCTigwKX19dmFyIGRpdixtb2QscmVzO2lmKHRoaXMubmVnYXRpdmUhPT0wJiZudW0ubmVnYXRpdmU9PT0wKXtyZXM9dGhpcy5uZWcoKS5kaXZtb2QobnVtLG1vZGUpO2lmKG1vZGUhPT0ibW9kIil7ZGl2PXJlcy5kaXYubmVnKCl9aWYobW9kZSE9PSJkaXYiKXttb2Q9cmVzLm1vZC5uZWcoKTtpZihwb3NpdGl2ZSYmbW9kLm5lZ2F0aXZlIT09MCl7bW9kLmlhZGQobnVtKX19cmV0dXJue2RpdjpkaXYsbW9kOm1vZH19aWYodGhpcy5uZWdhdGl2ZT09PTAmJm51bS5uZWdhdGl2ZSE9PTApe3Jlcz10aGlzLmRpdm1vZChudW0ubmVnKCksbW9kZSk7aWYobW9kZSE9PSJtb2QiKXtkaXY9cmVzLmRpdi5uZWcoKX1yZXR1cm57ZGl2OmRpdixtb2Q6cmVzLm1vZH19aWYoKHRoaXMubmVnYXRpdmUmbnVtLm5lZ2F0aXZlKSE9PTApe3Jlcz10aGlzLm5lZygpLmRpdm1vZChudW0ubmVnKCksbW9kZSk7aWYobW9kZSE9PSJkaXYiKXttb2Q9cmVzLm1vZC5uZWcoKTtpZihwb3NpdGl2ZSYmbW9kLm5lZ2F0aXZlIT09MCl7bW9kLmlzdWIobnVtKX19cmV0dXJue2RpdjpyZXMuZGl2LG1vZDptb2R9fWlmKG51bS5sZW5ndGg+dGhpcy5sZW5ndGh8fHRoaXMuY21wKG51bSk8MCl7cmV0dXJue2RpdjpuZXcgQk4oMCksbW9kOnRoaXN9fWlmKG51bS5sZW5ndGg9PT0xKXtpZihtb2RlPT09ImRpdiIpe3JldHVybntkaXY6dGhpcy5kaXZuKG51bS53b3Jkc1swXSksbW9kOm51bGx9fWlmKG1vZGU9PT0ibW9kIil7cmV0dXJue2RpdjpudWxsLG1vZDpuZXcgQk4odGhpcy5tb2RybihudW0ud29yZHNbMF0pKX19cmV0dXJue2Rpdjp0aGlzLmRpdm4obnVtLndvcmRzWzBdKSxtb2Q6bmV3IEJOKHRoaXMubW9kcm4obnVtLndvcmRzWzBdKSl9fXJldHVybiB0aGlzLl93b3JkRGl2KG51bSxtb2RlKX07Qk4ucHJvdG90eXBlLmRpdj1mdW5jdGlvbiBkaXYobnVtKXtyZXR1cm4gdGhpcy5kaXZtb2QobnVtLCJkaXYiLGZhbHNlKS5kaXZ9O0JOLnByb3RvdHlwZS5tb2Q9ZnVuY3Rpb24gbW9kKG51bSl7cmV0dXJuIHRoaXMuZGl2bW9kKG51bSwibW9kIixmYWxzZSkubW9kfTtCTi5wcm90b3R5cGUudW1vZD1mdW5jdGlvbiB1bW9kKG51bSl7cmV0dXJuIHRoaXMuZGl2bW9kKG51bSwibW9kIix0cnVlKS5tb2R9O0JOLnByb3RvdHlwZS5kaXZSb3VuZD1mdW5jdGlvbiBkaXZSb3VuZChudW0pe3ZhciBkbT10aGlzLmRpdm1vZChudW0pO2lmKGRtLm1vZC5pc1plcm8oKSlyZXR1cm4gZG0uZGl2O3ZhciBtb2Q9ZG0uZGl2Lm5lZ2F0aXZlIT09MD9kbS5tb2QuaXN1YihudW0pOmRtLm1vZDt2YXIgaGFsZj1udW0udXNocm4oMSk7dmFyIHIyPW51bS5hbmRsbigxKTt2YXIgY21wPW1vZC5jbXAoaGFsZik7aWYoY21wPDB8fHIyPT09MSYmY21wPT09MClyZXR1cm4gZG0uZGl2O3JldHVybiBkbS5kaXYubmVnYXRpdmUhPT0wP2RtLmRpdi5pc3VibigxKTpkbS5kaXYuaWFkZG4oMSl9O0JOLnByb3RvdHlwZS5tb2Rybj1mdW5jdGlvbiBtb2RybihudW0pe3ZhciBpc05lZ051bT1udW08MDtpZihpc05lZ051bSludW09LW51bTthc3NlcnQobnVtPD02NzEwODg2Myk7dmFyIHA9KDE8PDI2KSVudW07dmFyIGFjYz0wO2Zvcih2YXIgaT10aGlzLmxlbmd0aC0xO2k+PTA7aS0tKXthY2M9KHAqYWNjKyh0aGlzLndvcmRzW2ldfDApKSVudW19cmV0dXJuIGlzTmVnTnVtPy1hY2M6YWNjfTtCTi5wcm90b3R5cGUubW9kbj1mdW5jdGlvbiBtb2RuKG51bSl7cmV0dXJuIHRoaXMubW9kcm4obnVtKX07Qk4ucHJvdG90eXBlLmlkaXZuPWZ1bmN0aW9uIGlkaXZuKG51bSl7dmFyIGlzTmVnTnVtPW51bTwwO2lmKGlzTmVnTnVtKW51bT0tbnVtO2Fzc2VydChudW08PTY3MTA4ODYzKTt2YXIgY2Fycnk9MDtmb3IodmFyIGk9dGhpcy5sZW5ndGgtMTtpPj0wO2ktLSl7dmFyIHc9KHRoaXMud29yZHNbaV18MCkrY2FycnkqNjcxMDg4NjQ7dGhpcy53b3Jkc1tpXT13L251bXwwO2NhcnJ5PXclbnVtfXRoaXMuX3N0cmlwKCk7cmV0dXJuIGlzTmVnTnVtP3RoaXMuaW5lZygpOnRoaXN9O0JOLnByb3RvdHlwZS5kaXZuPWZ1bmN0aW9uIGRpdm4obnVtKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlkaXZuKG51bSl9O0JOLnByb3RvdHlwZS5lZ2NkPWZ1bmN0aW9uIGVnY2QocCl7YXNzZXJ0KHAubmVnYXRpdmU9PT0wKTthc3NlcnQoIXAuaXNaZXJvKCkpO3ZhciB4PXRoaXM7dmFyIHk9cC5jbG9uZSgpO2lmKHgubmVnYXRpdmUhPT0wKXt4PXgudW1vZChwKX1lbHNle3g9eC5jbG9uZSgpfXZhciBBPW5ldyBCTigxKTt2YXIgQj1uZXcgQk4oMCk7dmFyIEM9bmV3IEJOKDApO3ZhciBEPW5ldyBCTigxKTt2YXIgZz0wO3doaWxlKHguaXNFdmVuKCkmJnkuaXNFdmVuKCkpe3guaXVzaHJuKDEpO3kuaXVzaHJuKDEpOysrZ312YXIgeXA9eS5jbG9uZSgpO3ZhciB4cD14LmNsb25lKCk7d2hpbGUoIXguaXNaZXJvKCkpe2Zvcih2YXIgaT0wLGltPTE7KHgud29yZHNbMF0maW0pPT09MCYmaTwyNjsrK2ksaW08PD0xKTtpZihpPjApe3guaXVzaHJuKGkpO3doaWxlKGktLSA+MCl7aWYoQS5pc09kZCgpfHxCLmlzT2RkKCkpe0EuaWFkZCh5cCk7Qi5pc3ViKHhwKX1BLml1c2hybigxKTtCLml1c2hybigxKX19Zm9yKHZhciBqPTAsam09MTsoeS53b3Jkc1swXSZqbSk9PT0wJiZqPDI2OysraixqbTw8PTEpO2lmKGo+MCl7eS5pdXNocm4oaik7d2hpbGUoai0tID4wKXtpZihDLmlzT2RkKCl8fEQuaXNPZGQoKSl7Qy5pYWRkKHlwKTtELmlzdWIoeHApfUMuaXVzaHJuKDEpO0QuaXVzaHJuKDEpfX1pZih4LmNtcCh5KT49MCl7eC5pc3ViKHkpO0EuaXN1YihDKTtCLmlzdWIoRCl9ZWxzZXt5LmlzdWIoeCk7Qy5pc3ViKEEpO0QuaXN1YihCKX19cmV0dXJue2E6QyxiOkQsZ2NkOnkuaXVzaGxuKGcpfX07Qk4ucHJvdG90eXBlLl9pbnZtcD1mdW5jdGlvbiBfaW52bXAocCl7YXNzZXJ0KHAubmVnYXRpdmU9PT0wKTthc3NlcnQoIXAuaXNaZXJvKCkpO3ZhciBhPXRoaXM7dmFyIGI9cC5jbG9uZSgpO2lmKGEubmVnYXRpdmUhPT0wKXthPWEudW1vZChwKX1lbHNle2E9YS5jbG9uZSgpfXZhciB4MT1uZXcgQk4oMSk7dmFyIHgyPW5ldyBCTigwKTt2YXIgZGVsdGE9Yi5jbG9uZSgpO3doaWxlKGEuY21wbigxKT4wJiZiLmNtcG4oMSk+MCl7Zm9yKHZhciBpPTAsaW09MTsoYS53b3Jkc1swXSZpbSk9PT0wJiZpPDI2OysraSxpbTw8PTEpO2lmKGk+MCl7YS5pdXNocm4oaSk7d2hpbGUoaS0tID4wKXtpZih4MS5pc09kZCgpKXt4MS5pYWRkKGRlbHRhKX14MS5pdXNocm4oMSl9fWZvcih2YXIgaj0wLGptPTE7KGIud29yZHNbMF0mam0pPT09MCYmajwyNjsrK2osam08PD0xKTtpZihqPjApe2IuaXVzaHJuKGopO3doaWxlKGotLSA+MCl7aWYoeDIuaXNPZGQoKSl7eDIuaWFkZChkZWx0YSl9eDIuaXVzaHJuKDEpfX1pZihhLmNtcChiKT49MCl7YS5pc3ViKGIpO3gxLmlzdWIoeDIpfWVsc2V7Yi5pc3ViKGEpO3gyLmlzdWIoeDEpfX12YXIgcmVzO2lmKGEuY21wbigxKT09PTApe3Jlcz14MX1lbHNle3Jlcz14Mn1pZihyZXMuY21wbigwKTwwKXtyZXMuaWFkZChwKX1yZXR1cm4gcmVzfTtCTi5wcm90b3R5cGUuZ2NkPWZ1bmN0aW9uIGdjZChudW0pe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIG51bS5hYnMoKTtpZihudW0uaXNaZXJvKCkpcmV0dXJuIHRoaXMuYWJzKCk7dmFyIGE9dGhpcy5jbG9uZSgpO3ZhciBiPW51bS5jbG9uZSgpO2EubmVnYXRpdmU9MDtiLm5lZ2F0aXZlPTA7Zm9yKHZhciBzaGlmdD0wO2EuaXNFdmVuKCkmJmIuaXNFdmVuKCk7c2hpZnQrKyl7YS5pdXNocm4oMSk7Yi5pdXNocm4oMSl9ZG97d2hpbGUoYS5pc0V2ZW4oKSl7YS5pdXNocm4oMSl9d2hpbGUoYi5pc0V2ZW4oKSl7Yi5pdXNocm4oMSl9dmFyIHI9YS5jbXAoYik7aWYocjwwKXt2YXIgdD1hO2E9YjtiPXR9ZWxzZSBpZihyPT09MHx8Yi5jbXBuKDEpPT09MCl7YnJlYWt9YS5pc3ViKGIpfXdoaWxlKHRydWUpO3JldHVybiBiLml1c2hsbihzaGlmdCl9O0JOLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uIGludm0obnVtKXtyZXR1cm4gdGhpcy5lZ2NkKG51bSkuYS51bW9kKG51bSl9O0JOLnByb3RvdHlwZS5pc0V2ZW49ZnVuY3Rpb24gaXNFdmVuKCl7cmV0dXJuKHRoaXMud29yZHNbMF0mMSk9PT0wfTtCTi5wcm90b3R5cGUuaXNPZGQ9ZnVuY3Rpb24gaXNPZGQoKXtyZXR1cm4odGhpcy53b3Jkc1swXSYxKT09PTF9O0JOLnByb3RvdHlwZS5hbmRsbj1mdW5jdGlvbiBhbmRsbihudW0pe3JldHVybiB0aGlzLndvcmRzWzBdJm51bX07Qk4ucHJvdG90eXBlLmJpbmNuPWZ1bmN0aW9uIGJpbmNuKGJpdCl7YXNzZXJ0KHR5cGVvZiBiaXQ9PT0ibnVtYmVyIik7dmFyIHI9Yml0JTI2O3ZhciBzPShiaXQtcikvMjY7dmFyIHE9MTw8cjtpZih0aGlzLmxlbmd0aDw9cyl7dGhpcy5fZXhwYW5kKHMrMSk7dGhpcy53b3Jkc1tzXXw9cTtyZXR1cm4gdGhpc312YXIgY2Fycnk9cTtmb3IodmFyIGk9cztjYXJyeSE9PTAmJmk8dGhpcy5sZW5ndGg7aSsrKXt2YXIgdz10aGlzLndvcmRzW2ldfDA7dys9Y2Fycnk7Y2Fycnk9dz4+PjI2O3cmPTY3MTA4ODYzO3RoaXMud29yZHNbaV09d31pZihjYXJyeSE9PTApe3RoaXMud29yZHNbaV09Y2Fycnk7dGhpcy5sZW5ndGgrK31yZXR1cm4gdGhpc307Qk4ucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbiBpc1plcm8oKXtyZXR1cm4gdGhpcy5sZW5ndGg9PT0xJiZ0aGlzLndvcmRzWzBdPT09MH07Qk4ucHJvdG90eXBlLmNtcG49ZnVuY3Rpb24gY21wbihudW0pe3ZhciBuZWdhdGl2ZT1udW08MDtpZih0aGlzLm5lZ2F0aXZlIT09MCYmIW5lZ2F0aXZlKXJldHVybi0xO2lmKHRoaXMubmVnYXRpdmU9PT0wJiZuZWdhdGl2ZSlyZXR1cm4gMTt0aGlzLl9zdHJpcCgpO3ZhciByZXM7aWYodGhpcy5sZW5ndGg+MSl7cmVzPTF9ZWxzZXtpZihuZWdhdGl2ZSl7bnVtPS1udW19YXNzZXJ0KG51bTw9NjcxMDg4NjMsIk51bWJlciBpcyB0b28gYmlnIik7dmFyIHc9dGhpcy53b3Jkc1swXXwwO3Jlcz13PT09bnVtPzA6dzxudW0/LTE6MX1pZih0aGlzLm5lZ2F0aXZlIT09MClyZXR1cm4tcmVzfDA7cmV0dXJuIHJlc307Qk4ucHJvdG90eXBlLmNtcD1mdW5jdGlvbiBjbXAobnVtKXtpZih0aGlzLm5lZ2F0aXZlIT09MCYmbnVtLm5lZ2F0aXZlPT09MClyZXR1cm4tMTtpZih0aGlzLm5lZ2F0aXZlPT09MCYmbnVtLm5lZ2F0aXZlIT09MClyZXR1cm4gMTt2YXIgcmVzPXRoaXMudWNtcChudW0pO2lmKHRoaXMubmVnYXRpdmUhPT0wKXJldHVybi1yZXN8MDtyZXR1cm4gcmVzfTtCTi5wcm90b3R5cGUudWNtcD1mdW5jdGlvbiB1Y21wKG51bSl7aWYodGhpcy5sZW5ndGg+bnVtLmxlbmd0aClyZXR1cm4gMTtpZih0aGlzLmxlbmd0aDxudW0ubGVuZ3RoKXJldHVybi0xO3ZhciByZXM9MDtmb3IodmFyIGk9dGhpcy5sZW5ndGgtMTtpPj0wO2ktLSl7dmFyIGE9dGhpcy53b3Jkc1tpXXwwO3ZhciBiPW51bS53b3Jkc1tpXXwwO2lmKGE9PT1iKWNvbnRpbnVlO2lmKGE8Yil7cmVzPS0xfWVsc2UgaWYoYT5iKXtyZXM9MX1icmVha31yZXR1cm4gcmVzfTtCTi5wcm90b3R5cGUuZ3RuPWZ1bmN0aW9uIGd0bihudW0pe3JldHVybiB0aGlzLmNtcG4obnVtKT09PTF9O0JOLnByb3RvdHlwZS5ndD1mdW5jdGlvbiBndChudW0pe3JldHVybiB0aGlzLmNtcChudW0pPT09MX07Qk4ucHJvdG90eXBlLmd0ZW49ZnVuY3Rpb24gZ3RlbihudW0pe3JldHVybiB0aGlzLmNtcG4obnVtKT49MH07Qk4ucHJvdG90eXBlLmd0ZT1mdW5jdGlvbiBndGUobnVtKXtyZXR1cm4gdGhpcy5jbXAobnVtKT49MH07Qk4ucHJvdG90eXBlLmx0bj1mdW5jdGlvbiBsdG4obnVtKXtyZXR1cm4gdGhpcy5jbXBuKG51bSk9PT0tMX07Qk4ucHJvdG90eXBlLmx0PWZ1bmN0aW9uIGx0KG51bSl7cmV0dXJuIHRoaXMuY21wKG51bSk9PT0tMX07Qk4ucHJvdG90eXBlLmx0ZW49ZnVuY3Rpb24gbHRlbihudW0pe3JldHVybiB0aGlzLmNtcG4obnVtKTw9MH07Qk4ucHJvdG90eXBlLmx0ZT1mdW5jdGlvbiBsdGUobnVtKXtyZXR1cm4gdGhpcy5jbXAobnVtKTw9MH07Qk4ucHJvdG90eXBlLmVxbj1mdW5jdGlvbiBlcW4obnVtKXtyZXR1cm4gdGhpcy5jbXBuKG51bSk9PT0wfTtCTi5wcm90b3R5cGUuZXE9ZnVuY3Rpb24gZXEobnVtKXtyZXR1cm4gdGhpcy5jbXAobnVtKT09PTB9O0JOLnJlZD1mdW5jdGlvbiByZWQobnVtKXtyZXR1cm4gbmV3IFJlZChudW0pfTtCTi5wcm90b3R5cGUudG9SZWQ9ZnVuY3Rpb24gdG9SZWQoY3R4KXthc3NlcnQoIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Iik7YXNzZXJ0KHRoaXMubmVnYXRpdmU9PT0wLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpO3JldHVybiBjdHguY29udmVydFRvKHRoaXMpLl9mb3JjZVJlZChjdHgpfTtCTi5wcm90b3R5cGUuZnJvbVJlZD1mdW5jdGlvbiBmcm9tUmVkKCl7YXNzZXJ0KHRoaXMucmVkLCJmcm9tUmVkIHdvcmtzIG9ubHkgd2l0aCBudW1iZXJzIGluIHJlZHVjdGlvbiBjb250ZXh0Iik7cmV0dXJuIHRoaXMucmVkLmNvbnZlcnRGcm9tKHRoaXMpfTtCTi5wcm90b3R5cGUuX2ZvcmNlUmVkPWZ1bmN0aW9uIF9mb3JjZVJlZChjdHgpe3RoaXMucmVkPWN0eDtyZXR1cm4gdGhpc307Qk4ucHJvdG90eXBlLmZvcmNlUmVkPWZ1bmN0aW9uIGZvcmNlUmVkKGN0eCl7YXNzZXJ0KCF0aGlzLnJlZCwiQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCIpO3JldHVybiB0aGlzLl9mb3JjZVJlZChjdHgpfTtCTi5wcm90b3R5cGUucmVkQWRkPWZ1bmN0aW9uIHJlZEFkZChudW0pe2Fzc2VydCh0aGlzLnJlZCwicmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpO3JldHVybiB0aGlzLnJlZC5hZGQodGhpcyxudW0pfTtCTi5wcm90b3R5cGUucmVkSUFkZD1mdW5jdGlvbiByZWRJQWRkKG51bSl7YXNzZXJ0KHRoaXMucmVkLCJyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpO3JldHVybiB0aGlzLnJlZC5pYWRkKHRoaXMsbnVtKX07Qk4ucHJvdG90eXBlLnJlZFN1Yj1mdW5jdGlvbiByZWRTdWIobnVtKXthc3NlcnQodGhpcy5yZWQsInJlZFN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKTtyZXR1cm4gdGhpcy5yZWQuc3ViKHRoaXMsbnVtKX07Qk4ucHJvdG90eXBlLnJlZElTdWI9ZnVuY3Rpb24gcmVkSVN1YihudW0pe2Fzc2VydCh0aGlzLnJlZCwicmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKTtyZXR1cm4gdGhpcy5yZWQuaXN1Yih0aGlzLG51bSl9O0JOLnByb3RvdHlwZS5yZWRTaGw9ZnVuY3Rpb24gcmVkU2hsKG51bSl7YXNzZXJ0KHRoaXMucmVkLCJyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIik7cmV0dXJuIHRoaXMucmVkLnNobCh0aGlzLG51bSl9O0JOLnByb3RvdHlwZS5yZWRNdWw9ZnVuY3Rpb24gcmVkTXVsKG51bSl7YXNzZXJ0KHRoaXMucmVkLCJyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIik7dGhpcy5yZWQuX3ZlcmlmeTIodGhpcyxudW0pO3JldHVybiB0aGlzLnJlZC5tdWwodGhpcyxudW0pfTtCTi5wcm90b3R5cGUucmVkSU11bD1mdW5jdGlvbiByZWRJTXVsKG51bSl7YXNzZXJ0KHRoaXMucmVkLCJyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIik7dGhpcy5yZWQuX3ZlcmlmeTIodGhpcyxudW0pO3JldHVybiB0aGlzLnJlZC5pbXVsKHRoaXMsbnVtKX07Qk4ucHJvdG90eXBlLnJlZFNxcj1mdW5jdGlvbiByZWRTcXIoKXthc3NlcnQodGhpcy5yZWQsInJlZFNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKTt0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtyZXR1cm4gdGhpcy5yZWQuc3FyKHRoaXMpfTtCTi5wcm90b3R5cGUucmVkSVNxcj1mdW5jdGlvbiByZWRJU3FyKCl7YXNzZXJ0KHRoaXMucmVkLCJyZWRJU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpO3RoaXMucmVkLl92ZXJpZnkxKHRoaXMpO3JldHVybiB0aGlzLnJlZC5pc3FyKHRoaXMpfTtCTi5wcm90b3R5cGUucmVkU3FydD1mdW5jdGlvbiByZWRTcXJ0KCl7YXNzZXJ0KHRoaXMucmVkLCJyZWRTcXJ0IHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpO3RoaXMucmVkLl92ZXJpZnkxKHRoaXMpO3JldHVybiB0aGlzLnJlZC5zcXJ0KHRoaXMpfTtCTi5wcm90b3R5cGUucmVkSW52bT1mdW5jdGlvbiByZWRJbnZtKCl7YXNzZXJ0KHRoaXMucmVkLCJyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpO3RoaXMucmVkLl92ZXJpZnkxKHRoaXMpO3JldHVybiB0aGlzLnJlZC5pbnZtKHRoaXMpfTtCTi5wcm90b3R5cGUucmVkTmVnPWZ1bmN0aW9uIHJlZE5lZygpe2Fzc2VydCh0aGlzLnJlZCwicmVkTmVnIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpO3RoaXMucmVkLl92ZXJpZnkxKHRoaXMpO3JldHVybiB0aGlzLnJlZC5uZWcodGhpcyl9O0JOLnByb3RvdHlwZS5yZWRQb3c9ZnVuY3Rpb24gcmVkUG93KG51bSl7YXNzZXJ0KHRoaXMucmVkJiYhbnVtLnJlZCwicmVkUG93KG5vcm1hbE51bSkiKTt0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtyZXR1cm4gdGhpcy5yZWQucG93KHRoaXMsbnVtKX07dmFyIHByaW1lcz17azI1NjpudWxsLHAyMjQ6bnVsbCxwMTkyOm51bGwscDI1NTE5Om51bGx9O2Z1bmN0aW9uIE1QcmltZShuYW1lLHApe3RoaXMubmFtZT1uYW1lO3RoaXMucD1uZXcgQk4ocCwxNik7dGhpcy5uPXRoaXMucC5iaXRMZW5ndGgoKTt0aGlzLms9bmV3IEJOKDEpLml1c2hsbih0aGlzLm4pLmlzdWIodGhpcy5wKTt0aGlzLnRtcD10aGlzLl90bXAoKX1NUHJpbWUucHJvdG90eXBlLl90bXA9ZnVuY3Rpb24gX3RtcCgpe3ZhciB0bXA9bmV3IEJOKG51bGwpO3RtcC53b3Jkcz1uZXcgQXJyYXkoTWF0aC5jZWlsKHRoaXMubi8xMykpO3JldHVybiB0bXB9O01QcmltZS5wcm90b3R5cGUuaXJlZHVjZT1mdW5jdGlvbiBpcmVkdWNlKG51bSl7dmFyIHI9bnVtO3ZhciBybGVuO2Rve3RoaXMuc3BsaXQocix0aGlzLnRtcCk7cj10aGlzLmltdWxLKHIpO3I9ci5pYWRkKHRoaXMudG1wKTtybGVuPXIuYml0TGVuZ3RoKCl9d2hpbGUocmxlbj50aGlzLm4pO3ZhciBjbXA9cmxlbjx0aGlzLm4/LTE6ci51Y21wKHRoaXMucCk7aWYoY21wPT09MCl7ci53b3Jkc1swXT0wO3IubGVuZ3RoPTF9ZWxzZSBpZihjbXA+MCl7ci5pc3ViKHRoaXMucCl9ZWxzZXtpZihyLnN0cmlwIT09dW5kZWZpbmVkKXtyLnN0cmlwKCl9ZWxzZXtyLl9zdHJpcCgpfX1yZXR1cm4gcn07TVByaW1lLnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbiBzcGxpdChpbnB1dCxvdXQpe2lucHV0Lml1c2hybih0aGlzLm4sMCxvdXQpfTtNUHJpbWUucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uIGltdWxLKG51bSl7cmV0dXJuIG51bS5pbXVsKHRoaXMuayl9O2Z1bmN0aW9uIEsyNTYoKXtNUHJpbWUuY2FsbCh0aGlzLCJrMjU2IiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYiKX1pbmhlcml0cyhLMjU2LE1QcmltZSk7SzI1Ni5wcm90b3R5cGUuc3BsaXQ9ZnVuY3Rpb24gc3BsaXQoaW5wdXQsb3V0cHV0KXt2YXIgbWFzaz00MTk0MzAzO3ZhciBvdXRMZW49TWF0aC5taW4oaW5wdXQubGVuZ3RoLDkpO2Zvcih2YXIgaT0wO2k8b3V0TGVuO2krKyl7b3V0cHV0LndvcmRzW2ldPWlucHV0LndvcmRzW2ldfW91dHB1dC5sZW5ndGg9b3V0TGVuO2lmKGlucHV0Lmxlbmd0aDw9OSl7aW5wdXQud29yZHNbMF09MDtpbnB1dC5sZW5ndGg9MTtyZXR1cm59dmFyIHByZXY9aW5wdXQud29yZHNbOV07b3V0cHV0LndvcmRzW291dHB1dC5sZW5ndGgrK109cHJldiZtYXNrO2ZvcihpPTEwO2k8aW5wdXQubGVuZ3RoO2krKyl7dmFyIG5leHQ9aW5wdXQud29yZHNbaV18MDtpbnB1dC53b3Jkc1tpLTEwXT0obmV4dCZtYXNrKTw8NHxwcmV2Pj4+MjI7cHJldj1uZXh0fXByZXY+Pj49MjI7aW5wdXQud29yZHNbaS0xMF09cHJldjtpZihwcmV2PT09MCYmaW5wdXQubGVuZ3RoPjEwKXtpbnB1dC5sZW5ndGgtPTEwfWVsc2V7aW5wdXQubGVuZ3RoLT05fX07SzI1Ni5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24gaW11bEsobnVtKXtudW0ud29yZHNbbnVtLmxlbmd0aF09MDtudW0ud29yZHNbbnVtLmxlbmd0aCsxXT0wO251bS5sZW5ndGgrPTI7dmFyIGxvPTA7Zm9yKHZhciBpPTA7aTxudW0ubGVuZ3RoO2krKyl7dmFyIHc9bnVtLndvcmRzW2ldfDA7bG8rPXcqOTc3O251bS53b3Jkc1tpXT1sbyY2NzEwODg2Mztsbz13KjY0Kyhsby82NzEwODg2NHwwKX1pZihudW0ud29yZHNbbnVtLmxlbmd0aC0xXT09PTApe251bS5sZW5ndGgtLTtpZihudW0ud29yZHNbbnVtLmxlbmd0aC0xXT09PTApe251bS5sZW5ndGgtLX19cmV0dXJuIG51bX07ZnVuY3Rpb24gUDIyNCgpe01QcmltZS5jYWxsKHRoaXMsInAyMjQiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMSIpfWluaGVyaXRzKFAyMjQsTVByaW1lKTtmdW5jdGlvbiBQMTkyKCl7TVByaW1lLmNhbGwodGhpcywicDE5MiIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmIil9aW5oZXJpdHMoUDE5MixNUHJpbWUpO2Z1bmN0aW9uIFAyNTUxOSgpe01QcmltZS5jYWxsKHRoaXMsIjI1NTE5IiwiN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCIpfWluaGVyaXRzKFAyNTUxOSxNUHJpbWUpO1AyNTUxOS5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24gaW11bEsobnVtKXt2YXIgY2Fycnk9MDtmb3IodmFyIGk9MDtpPG51bS5sZW5ndGg7aSsrKXt2YXIgaGk9KG51bS53b3Jkc1tpXXwwKSoxOStjYXJyeTt2YXIgbG89aGkmNjcxMDg4NjM7aGk+Pj49MjY7bnVtLndvcmRzW2ldPWxvO2NhcnJ5PWhpfWlmKGNhcnJ5IT09MCl7bnVtLndvcmRzW251bS5sZW5ndGgrK109Y2Fycnl9cmV0dXJuIG51bX07Qk4uX3ByaW1lPWZ1bmN0aW9uIHByaW1lKG5hbWUpe2lmKHByaW1lc1tuYW1lXSlyZXR1cm4gcHJpbWVzW25hbWVdO3ZhciBwcmltZTtpZihuYW1lPT09ImsyNTYiKXtwcmltZT1uZXcgSzI1Nn1lbHNlIGlmKG5hbWU9PT0icDIyNCIpe3ByaW1lPW5ldyBQMjI0fWVsc2UgaWYobmFtZT09PSJwMTkyIil7cHJpbWU9bmV3IFAxOTJ9ZWxzZSBpZihuYW1lPT09InAyNTUxOSIpe3ByaW1lPW5ldyBQMjU1MTl9ZWxzZXt0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcHJpbWUgIituYW1lKX1wcmltZXNbbmFtZV09cHJpbWU7cmV0dXJuIHByaW1lfTtmdW5jdGlvbiBSZWQobSl7aWYodHlwZW9mIG09PT0ic3RyaW5nIil7dmFyIHByaW1lPUJOLl9wcmltZShtKTt0aGlzLm09cHJpbWUucDt0aGlzLnByaW1lPXByaW1lfWVsc2V7YXNzZXJ0KG0uZ3RuKDEpLCJtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEiKTt0aGlzLm09bTt0aGlzLnByaW1lPW51bGx9fVJlZC5wcm90b3R5cGUuX3ZlcmlmeTE9ZnVuY3Rpb24gX3ZlcmlmeTEoYSl7YXNzZXJ0KGEubmVnYXRpdmU9PT0wLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpO2Fzc2VydChhLnJlZCwicmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpfTtSZWQucHJvdG90eXBlLl92ZXJpZnkyPWZ1bmN0aW9uIF92ZXJpZnkyKGEsYil7YXNzZXJ0KChhLm5lZ2F0aXZlfGIubmVnYXRpdmUpPT09MCwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKTthc3NlcnQoYS5yZWQmJmEucmVkPT09Yi5yZWQsInJlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKX07UmVkLnByb3RvdHlwZS5pbW9kPWZ1bmN0aW9uIGltb2QoYSl7aWYodGhpcy5wcmltZSlyZXR1cm4gdGhpcy5wcmltZS5pcmVkdWNlKGEpLl9mb3JjZVJlZCh0aGlzKTttb3ZlKGEsYS51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpKTtyZXR1cm4gYX07UmVkLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24gbmVnKGEpe2lmKGEuaXNaZXJvKCkpe3JldHVybiBhLmNsb25lKCl9cmV0dXJuIHRoaXMubS5zdWIoYSkuX2ZvcmNlUmVkKHRoaXMpfTtSZWQucHJvdG90eXBlLmFkZD1mdW5jdGlvbiBhZGQoYSxiKXt0aGlzLl92ZXJpZnkyKGEsYik7dmFyIHJlcz1hLmFkZChiKTtpZihyZXMuY21wKHRoaXMubSk+PTApe3Jlcy5pc3ViKHRoaXMubSl9cmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyl9O1JlZC5wcm90b3R5cGUuaWFkZD1mdW5jdGlvbiBpYWRkKGEsYil7dGhpcy5fdmVyaWZ5MihhLGIpO3ZhciByZXM9YS5pYWRkKGIpO2lmKHJlcy5jbXAodGhpcy5tKT49MCl7cmVzLmlzdWIodGhpcy5tKX1yZXR1cm4gcmVzfTtSZWQucHJvdG90eXBlLnN1Yj1mdW5jdGlvbiBzdWIoYSxiKXt0aGlzLl92ZXJpZnkyKGEsYik7dmFyIHJlcz1hLnN1YihiKTtpZihyZXMuY21wbigwKTwwKXtyZXMuaWFkZCh0aGlzLm0pfXJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpfTtSZWQucHJvdG90eXBlLmlzdWI9ZnVuY3Rpb24gaXN1YihhLGIpe3RoaXMuX3ZlcmlmeTIoYSxiKTt2YXIgcmVzPWEuaXN1YihiKTtpZihyZXMuY21wbigwKTwwKXtyZXMuaWFkZCh0aGlzLm0pfXJldHVybiByZXN9O1JlZC5wcm90b3R5cGUuc2hsPWZ1bmN0aW9uIHNobChhLG51bSl7dGhpcy5fdmVyaWZ5MShhKTtyZXR1cm4gdGhpcy5pbW9kKGEudXNobG4obnVtKSl9O1JlZC5wcm90b3R5cGUuaW11bD1mdW5jdGlvbiBpbXVsKGEsYil7dGhpcy5fdmVyaWZ5MihhLGIpO3JldHVybiB0aGlzLmltb2QoYS5pbXVsKGIpKX07UmVkLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24gbXVsKGEsYil7dGhpcy5fdmVyaWZ5MihhLGIpO3JldHVybiB0aGlzLmltb2QoYS5tdWwoYikpfTtSZWQucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24gaXNxcihhKXtyZXR1cm4gdGhpcy5pbXVsKGEsYS5jbG9uZSgpKX07UmVkLnByb3RvdHlwZS5zcXI9ZnVuY3Rpb24gc3FyKGEpe3JldHVybiB0aGlzLm11bChhLGEpfTtSZWQucHJvdG90eXBlLnNxcnQ9ZnVuY3Rpb24gc3FydChhKXtpZihhLmlzWmVybygpKXJldHVybiBhLmNsb25lKCk7dmFyIG1vZDM9dGhpcy5tLmFuZGxuKDMpO2Fzc2VydChtb2QzJTI9PT0xKTtpZihtb2QzPT09Myl7dmFyIHBvdz10aGlzLm0uYWRkKG5ldyBCTigxKSkuaXVzaHJuKDIpO3JldHVybiB0aGlzLnBvdyhhLHBvdyl9dmFyIHE9dGhpcy5tLnN1Ym4oMSk7dmFyIHM9MDt3aGlsZSghcS5pc1plcm8oKSYmcS5hbmRsbigxKT09PTApe3MrKztxLml1c2hybigxKX1hc3NlcnQoIXEuaXNaZXJvKCkpO3ZhciBvbmU9bmV3IEJOKDEpLnRvUmVkKHRoaXMpO3ZhciBuT25lPW9uZS5yZWROZWcoKTt2YXIgbHBvdz10aGlzLm0uc3VibigxKS5pdXNocm4oMSk7dmFyIHo9dGhpcy5tLmJpdExlbmd0aCgpO3o9bmV3IEJOKDIqeip6KS50b1JlZCh0aGlzKTt3aGlsZSh0aGlzLnBvdyh6LGxwb3cpLmNtcChuT25lKSE9PTApe3oucmVkSUFkZChuT25lKX12YXIgYz10aGlzLnBvdyh6LHEpO3ZhciByPXRoaXMucG93KGEscS5hZGRuKDEpLml1c2hybigxKSk7dmFyIHQ9dGhpcy5wb3coYSxxKTt2YXIgbT1zO3doaWxlKHQuY21wKG9uZSkhPT0wKXt2YXIgdG1wPXQ7Zm9yKHZhciBpPTA7dG1wLmNtcChvbmUpIT09MDtpKyspe3RtcD10bXAucmVkU3FyKCl9YXNzZXJ0KGk8bSk7dmFyIGI9dGhpcy5wb3coYyxuZXcgQk4oMSkuaXVzaGxuKG0taS0xKSk7cj1yLnJlZE11bChiKTtjPWIucmVkU3FyKCk7dD10LnJlZE11bChjKTttPWl9cmV0dXJuIHJ9O1JlZC5wcm90b3R5cGUuaW52bT1mdW5jdGlvbiBpbnZtKGEpe3ZhciBpbnY9YS5faW52bXAodGhpcy5tKTtpZihpbnYubmVnYXRpdmUhPT0wKXtpbnYubmVnYXRpdmU9MDtyZXR1cm4gdGhpcy5pbW9kKGludikucmVkTmVnKCl9ZWxzZXtyZXR1cm4gdGhpcy5pbW9kKGludil9fTtSZWQucHJvdG90eXBlLnBvdz1mdW5jdGlvbiBwb3coYSxudW0pe2lmKG51bS5pc1plcm8oKSlyZXR1cm4gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO2lmKG51bS5jbXBuKDEpPT09MClyZXR1cm4gYS5jbG9uZSgpO3ZhciB3aW5kb3dTaXplPTQ7dmFyIHduZD1uZXcgQXJyYXkoMTw8d2luZG93U2l6ZSk7d25kWzBdPW5ldyBCTigxKS50b1JlZCh0aGlzKTt3bmRbMV09YTtmb3IodmFyIGk9MjtpPHduZC5sZW5ndGg7aSsrKXt3bmRbaV09dGhpcy5tdWwod25kW2ktMV0sYSl9dmFyIHJlcz13bmRbMF07dmFyIGN1cnJlbnQ9MDt2YXIgY3VycmVudExlbj0wO3ZhciBzdGFydD1udW0uYml0TGVuZ3RoKCklMjY7aWYoc3RhcnQ9PT0wKXtzdGFydD0yNn1mb3IoaT1udW0ubGVuZ3RoLTE7aT49MDtpLS0pe3ZhciB3b3JkPW51bS53b3Jkc1tpXTtmb3IodmFyIGo9c3RhcnQtMTtqPj0wO2otLSl7dmFyIGJpdD13b3JkPj5qJjE7aWYocmVzIT09d25kWzBdKXtyZXM9dGhpcy5zcXIocmVzKX1pZihiaXQ9PT0wJiZjdXJyZW50PT09MCl7Y3VycmVudExlbj0wO2NvbnRpbnVlfWN1cnJlbnQ8PD0xO2N1cnJlbnR8PWJpdDtjdXJyZW50TGVuKys7aWYoY3VycmVudExlbiE9PXdpbmRvd1NpemUmJihpIT09MHx8aiE9PTApKWNvbnRpbnVlO3Jlcz10aGlzLm11bChyZXMsd25kW2N1cnJlbnRdKTtjdXJyZW50TGVuPTA7Y3VycmVudD0wfXN0YXJ0PTI2fXJldHVybiByZXN9O1JlZC5wcm90b3R5cGUuY29udmVydFRvPWZ1bmN0aW9uIGNvbnZlcnRUbyhudW0pe3ZhciByPW51bS51bW9kKHRoaXMubSk7cmV0dXJuIHI9PT1udW0/ci5jbG9uZSgpOnJ9O1JlZC5wcm90b3R5cGUuY29udmVydEZyb209ZnVuY3Rpb24gY29udmVydEZyb20obnVtKXt2YXIgcmVzPW51bS5jbG9uZSgpO3Jlcy5yZWQ9bnVsbDtyZXR1cm4gcmVzfTtCTi5tb250PWZ1bmN0aW9uIG1vbnQobnVtKXtyZXR1cm4gbmV3IE1vbnQobnVtKX07ZnVuY3Rpb24gTW9udChtKXtSZWQuY2FsbCh0aGlzLG0pO3RoaXMuc2hpZnQ9dGhpcy5tLmJpdExlbmd0aCgpO2lmKHRoaXMuc2hpZnQlMjYhPT0wKXt0aGlzLnNoaWZ0Kz0yNi10aGlzLnNoaWZ0JTI2fXRoaXMucj1uZXcgQk4oMSkuaXVzaGxuKHRoaXMuc2hpZnQpO3RoaXMucjI9dGhpcy5pbW9kKHRoaXMuci5zcXIoKSk7dGhpcy5yaW52PXRoaXMuci5faW52bXAodGhpcy5tKTt0aGlzLm1pbnY9dGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pO3RoaXMubWludj10aGlzLm1pbnYudW1vZCh0aGlzLnIpO3RoaXMubWludj10aGlzLnIuc3ViKHRoaXMubWludil9aW5oZXJpdHMoTW9udCxSZWQpO01vbnQucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbiBjb252ZXJ0VG8obnVtKXtyZXR1cm4gdGhpcy5pbW9kKG51bS51c2hsbih0aGlzLnNoaWZ0KSl9O01vbnQucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uIGNvbnZlcnRGcm9tKG51bSl7dmFyIHI9dGhpcy5pbW9kKG51bS5tdWwodGhpcy5yaW52KSk7ci5yZWQ9bnVsbDtyZXR1cm4gcn07TW9udC5wcm90b3R5cGUuaW11bD1mdW5jdGlvbiBpbXVsKGEsYil7aWYoYS5pc1plcm8oKXx8Yi5pc1plcm8oKSl7YS53b3Jkc1swXT0wO2EubGVuZ3RoPTE7cmV0dXJuIGF9dmFyIHQ9YS5pbXVsKGIpO3ZhciBjPXQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO3ZhciB1PXQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7dmFyIHJlcz11O2lmKHUuY21wKHRoaXMubSk+PTApe3Jlcz11LmlzdWIodGhpcy5tKX1lbHNlIGlmKHUuY21wbigwKTwwKXtyZXM9dS5pYWRkKHRoaXMubSl9cmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyl9O01vbnQucHJvdG90eXBlLm11bD1mdW5jdGlvbiBtdWwoYSxiKXtpZihhLmlzWmVybygpfHxiLmlzWmVybygpKXJldHVybiBuZXcgQk4oMCkuX2ZvcmNlUmVkKHRoaXMpO3ZhciB0PWEubXVsKGIpO3ZhciBjPXQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO3ZhciB1PXQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7dmFyIHJlcz11O2lmKHUuY21wKHRoaXMubSk+PTApe3Jlcz11LmlzdWIodGhpcy5tKX1lbHNlIGlmKHUuY21wbigwKTwwKXtyZXM9dS5pYWRkKHRoaXMubSl9cmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyl9O01vbnQucHJvdG90eXBlLmludm09ZnVuY3Rpb24gaW52bShhKXt2YXIgcmVzPXRoaXMuaW1vZChhLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSk7cmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyl9fSkoIm9iamVjdCI9PT0idW5kZWZpbmVkInx8bW9kdWxlLGNvbW1vbmpzR2xvYmFsKX0pO3ZhciBfdmVyc2lvbj1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMudmVyc2lvbj12b2lkIDA7ZXhwb3J0cy52ZXJzaW9uPSJsb2dnZXIvNS43LjAifSk7dmFyIF92ZXJzaW9uJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoX3ZlcnNpb24pO3ZhciBsaWI9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLkxvZ2dlcj1leHBvcnRzLkVycm9yQ29kZT1leHBvcnRzLkxvZ0xldmVsPXZvaWQgMDt2YXIgX3Blcm1hbmVudENlbnNvckVycm9ycz1mYWxzZTt2YXIgX2NlbnNvckVycm9ycz1mYWxzZTt2YXIgTG9nTGV2ZWxzPXtkZWJ1ZzoxLGRlZmF1bHQ6MixpbmZvOjIsd2FybmluZzozLGVycm9yOjQsb2ZmOjV9O3ZhciBfbG9nTGV2ZWw9TG9nTGV2ZWxzWyJkZWZhdWx0Il07dmFyIF9nbG9iYWxMb2dnZXI9bnVsbDtmdW5jdGlvbiBfY2hlY2tOb3JtYWxpemUoKXt0cnl7dmFyIG1pc3NpbmdfMT1bXTtbIk5GRCIsIk5GQyIsIk5GS0QiLCJORktDIl0uZm9yRWFjaChmdW5jdGlvbihmb3JtKXt0cnl7aWYoInRlc3QiLm5vcm1hbGl6ZShmb3JtKSE9PSJ0ZXN0Iil7dGhyb3cgbmV3IEVycm9yKCJiYWQgbm9ybWFsaXplIil9fWNhdGNoKGVycm9yKXttaXNzaW5nXzEucHVzaChmb3JtKX19KTtpZihtaXNzaW5nXzEubGVuZ3RoKXt0aHJvdyBuZXcgRXJyb3IoIm1pc3NpbmcgIittaXNzaW5nXzEuam9pbigiLCAiKSl9aWYoU3RyaW5nLmZyb21DaGFyQ29kZSgyMzMpLm5vcm1hbGl6ZSgiTkZEIikhPT1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwMSw3NjkpKXt0aHJvdyBuZXcgRXJyb3IoImJyb2tlbiBpbXBsZW1lbnRhdGlvbiIpfX1jYXRjaChlcnJvcil7cmV0dXJuIGVycm9yLm1lc3NhZ2V9cmV0dXJuIG51bGx9dmFyIF9ub3JtYWxpemVFcnJvcj1fY2hlY2tOb3JtYWxpemUoKTt2YXIgTG9nTGV2ZWw7KGZ1bmN0aW9uKExvZ0xldmVsKXtMb2dMZXZlbFsiREVCVUciXT0iREVCVUciO0xvZ0xldmVsWyJJTkZPIl09IklORk8iO0xvZ0xldmVsWyJXQVJOSU5HIl09IldBUk5JTkciO0xvZ0xldmVsWyJFUlJPUiJdPSJFUlJPUiI7TG9nTGV2ZWxbIk9GRiJdPSJPRkYifSkoTG9nTGV2ZWw9ZXhwb3J0cy5Mb2dMZXZlbHx8KGV4cG9ydHMuTG9nTGV2ZWw9e30pKTt2YXIgRXJyb3JDb2RlOyhmdW5jdGlvbihFcnJvckNvZGUpe0Vycm9yQ29kZVsiVU5LTk9XTl9FUlJPUiJdPSJVTktOT1dOX0VSUk9SIjtFcnJvckNvZGVbIk5PVF9JTVBMRU1FTlRFRCJdPSJOT1RfSU1QTEVNRU5URUQiO0Vycm9yQ29kZVsiVU5TVVBQT1JURURfT1BFUkFUSU9OIl09IlVOU1VQUE9SVEVEX09QRVJBVElPTiI7RXJyb3JDb2RlWyJORVRXT1JLX0VSUk9SIl09Ik5FVFdPUktfRVJST1IiO0Vycm9yQ29kZVsiU0VSVkVSX0VSUk9SIl09IlNFUlZFUl9FUlJPUiI7RXJyb3JDb2RlWyJUSU1FT1VUIl09IlRJTUVPVVQiO0Vycm9yQ29kZVsiQlVGRkVSX09WRVJSVU4iXT0iQlVGRkVSX09WRVJSVU4iO0Vycm9yQ29kZVsiTlVNRVJJQ19GQVVMVCJdPSJOVU1FUklDX0ZBVUxUIjtFcnJvckNvZGVbIk1JU1NJTkdfTkVXIl09Ik1JU1NJTkdfTkVXIjtFcnJvckNvZGVbIklOVkFMSURfQVJHVU1FTlQiXT0iSU5WQUxJRF9BUkdVTUVOVCI7RXJyb3JDb2RlWyJNSVNTSU5HX0FSR1VNRU5UIl09Ik1JU1NJTkdfQVJHVU1FTlQiO0Vycm9yQ29kZVsiVU5FWFBFQ1RFRF9BUkdVTUVOVCJdPSJVTkVYUEVDVEVEX0FSR1VNRU5UIjtFcnJvckNvZGVbIkNBTExfRVhDRVBUSU9OIl09IkNBTExfRVhDRVBUSU9OIjtFcnJvckNvZGVbIklOU1VGRklDSUVOVF9GVU5EUyJdPSJJTlNVRkZJQ0lFTlRfRlVORFMiO0Vycm9yQ29kZVsiTk9OQ0VfRVhQSVJFRCJdPSJOT05DRV9FWFBJUkVEIjtFcnJvckNvZGVbIlJFUExBQ0VNRU5UX1VOREVSUFJJQ0VEIl09IlJFUExBQ0VNRU5UX1VOREVSUFJJQ0VEIjtFcnJvckNvZGVbIlVOUFJFRElDVEFCTEVfR0FTX0xJTUlUIl09IlVOUFJFRElDVEFCTEVfR0FTX0xJTUlUIjtFcnJvckNvZGVbIlRSQU5TQUNUSU9OX1JFUExBQ0VEIl09IlRSQU5TQUNUSU9OX1JFUExBQ0VEIjtFcnJvckNvZGVbIkFDVElPTl9SRUpFQ1RFRCJdPSJBQ1RJT05fUkVKRUNURUQifSkoRXJyb3JDb2RlPWV4cG9ydHMuRXJyb3JDb2RlfHwoZXhwb3J0cy5FcnJvckNvZGU9e30pKTt2YXIgSEVYPSIwMTIzNDU2Nzg5YWJjZGVmIjt2YXIgTG9nZ2VyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gTG9nZ2VyKHZlcnNpb24pe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJ2ZXJzaW9uIix7ZW51bWVyYWJsZTp0cnVlLHZhbHVlOnZlcnNpb24sd3JpdGFibGU6ZmFsc2V9KX1Mb2dnZXIucHJvdG90eXBlLl9sb2c9ZnVuY3Rpb24obG9nTGV2ZWwsYXJncyl7dmFyIGxldmVsPWxvZ0xldmVsLnRvTG93ZXJDYXNlKCk7aWYoTG9nTGV2ZWxzW2xldmVsXT09bnVsbCl7dGhpcy50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgbG9nIGxldmVsIG5hbWUiLCJsb2dMZXZlbCIsbG9nTGV2ZWwpfWlmKF9sb2dMZXZlbD5Mb2dMZXZlbHNbbGV2ZWxdKXtyZXR1cm59Y29uc29sZS5sb2cuYXBwbHkoY29uc29sZSxhcmdzKX07TG9nZ2VyLnByb3RvdHlwZS5kZWJ1Zz1mdW5jdGlvbigpe3ZhciBhcmdzPVtdO2Zvcih2YXIgX2k9MDtfaTxhcmd1bWVudHMubGVuZ3RoO19pKyspe2FyZ3NbX2ldPWFyZ3VtZW50c1tfaV19dGhpcy5fbG9nKExvZ2dlci5sZXZlbHMuREVCVUcsYXJncyl9O0xvZ2dlci5wcm90b3R5cGUuaW5mbz1mdW5jdGlvbigpe3ZhciBhcmdzPVtdO2Zvcih2YXIgX2k9MDtfaTxhcmd1bWVudHMubGVuZ3RoO19pKyspe2FyZ3NbX2ldPWFyZ3VtZW50c1tfaV19dGhpcy5fbG9nKExvZ2dlci5sZXZlbHMuSU5GTyxhcmdzKX07TG9nZ2VyLnByb3RvdHlwZS53YXJuPWZ1bmN0aW9uKCl7dmFyIGFyZ3M9W107Zm9yKHZhciBfaT0wO19pPGFyZ3VtZW50cy5sZW5ndGg7X2krKyl7YXJnc1tfaV09YXJndW1lbnRzW19pXX10aGlzLl9sb2coTG9nZ2VyLmxldmVscy5XQVJOSU5HLGFyZ3MpfTtMb2dnZXIucHJvdG90eXBlLm1ha2VFcnJvcj1mdW5jdGlvbihtZXNzYWdlLGNvZGUscGFyYW1zKXtpZihfY2Vuc29yRXJyb3JzKXtyZXR1cm4gdGhpcy5tYWtlRXJyb3IoImNlbnNvcmVkIGVycm9yIixjb2RlLHt9KX1pZighY29kZSl7Y29kZT1Mb2dnZXIuZXJyb3JzLlVOS05PV05fRVJST1J9aWYoIXBhcmFtcyl7cGFyYW1zPXt9fXZhciBtZXNzYWdlRGV0YWlscz1bXTtPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2goZnVuY3Rpb24oa2V5KXt2YXIgdmFsdWU9cGFyYW1zW2tleV07dHJ5e2lmKHZhbHVlIGluc3RhbmNlb2YgVWludDhBcnJheSl7dmFyIGhleD0iIjtmb3IodmFyIGk9MDtpPHZhbHVlLmxlbmd0aDtpKyspe2hleCs9SEVYW3ZhbHVlW2ldPj40XTtoZXgrPUhFWFt2YWx1ZVtpXSYxNV19bWVzc2FnZURldGFpbHMucHVzaChrZXkrIj1VaW50OEFycmF5KDB4IitoZXgrIikiKX1lbHNle21lc3NhZ2VEZXRhaWxzLnB1c2goa2V5KyI9IitKU09OLnN0cmluZ2lmeSh2YWx1ZSkpfX1jYXRjaChlcnJvcil7bWVzc2FnZURldGFpbHMucHVzaChrZXkrIj0iK0pTT04uc3RyaW5naWZ5KHBhcmFtc1trZXldLnRvU3RyaW5nKCkpKX19KTttZXNzYWdlRGV0YWlscy5wdXNoKCJjb2RlPSIrY29kZSk7bWVzc2FnZURldGFpbHMucHVzaCgidmVyc2lvbj0iK3RoaXMudmVyc2lvbik7dmFyIHJlYXNvbj1tZXNzYWdlO3ZhciB1cmw9IiI7c3dpdGNoKGNvZGUpe2Nhc2UgRXJyb3JDb2RlLk5VTUVSSUNfRkFVTFQ6e3VybD0iTlVNRVJJQ19GQVVMVCI7dmFyIGZhdWx0PW1lc3NhZ2U7c3dpdGNoKGZhdWx0KXtjYXNlIm92ZXJmbG93IjpjYXNlInVuZGVyZmxvdyI6Y2FzZSJkaXZpc2lvbi1ieS16ZXJvIjp1cmwrPSItIitmYXVsdDticmVhaztjYXNlIm5lZ2F0aXZlLXBvd2VyIjpjYXNlIm5lZ2F0aXZlLXdpZHRoIjp1cmwrPSItdW5zdXBwb3J0ZWQiO2JyZWFrO2Nhc2UidW5ib3VuZC1iaXR3aXNlLXJlc3VsdCI6dXJsKz0iLXVuYm91bmQtcmVzdWx0IjticmVha31icmVha31jYXNlIEVycm9yQ29kZS5DQUxMX0VYQ0VQVElPTjpjYXNlIEVycm9yQ29kZS5JTlNVRkZJQ0lFTlRfRlVORFM6Y2FzZSBFcnJvckNvZGUuTUlTU0lOR19ORVc6Y2FzZSBFcnJvckNvZGUuTk9OQ0VfRVhQSVJFRDpjYXNlIEVycm9yQ29kZS5SRVBMQUNFTUVOVF9VTkRFUlBSSUNFRDpjYXNlIEVycm9yQ29kZS5UUkFOU0FDVElPTl9SRVBMQUNFRDpjYXNlIEVycm9yQ29kZS5VTlBSRURJQ1RBQkxFX0dBU19MSU1JVDp1cmw9Y29kZTticmVha31pZih1cmwpe21lc3NhZ2UrPSIgWyBTZWU6IGh0dHBzOi8vbGlua3MuZXRoZXJzLm9yZy92NS1lcnJvcnMtIit1cmwrIiBdIn1pZihtZXNzYWdlRGV0YWlscy5sZW5ndGgpe21lc3NhZ2UrPSIgKCIrbWVzc2FnZURldGFpbHMuam9pbigiLCAiKSsiKSJ9dmFyIGVycm9yPW5ldyBFcnJvcihtZXNzYWdlKTtlcnJvci5yZWFzb249cmVhc29uO2Vycm9yLmNvZGU9Y29kZTtPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2goZnVuY3Rpb24oa2V5KXtlcnJvcltrZXldPXBhcmFtc1trZXldfSk7cmV0dXJuIGVycm9yfTtMb2dnZXIucHJvdG90eXBlLnRocm93RXJyb3I9ZnVuY3Rpb24obWVzc2FnZSxjb2RlLHBhcmFtcyl7dGhyb3cgdGhpcy5tYWtlRXJyb3IobWVzc2FnZSxjb2RlLHBhcmFtcyl9O0xvZ2dlci5wcm90b3R5cGUudGhyb3dBcmd1bWVudEVycm9yPWZ1bmN0aW9uKG1lc3NhZ2UsbmFtZSx2YWx1ZSl7cmV0dXJuIHRoaXMudGhyb3dFcnJvcihtZXNzYWdlLExvZ2dlci5lcnJvcnMuSU5WQUxJRF9BUkdVTUVOVCx7YXJndW1lbnQ6bmFtZSx2YWx1ZTp2YWx1ZX0pfTtMb2dnZXIucHJvdG90eXBlLmFzc2VydD1mdW5jdGlvbihjb25kaXRpb24sbWVzc2FnZSxjb2RlLHBhcmFtcyl7aWYoISFjb25kaXRpb24pe3JldHVybn10aGlzLnRocm93RXJyb3IobWVzc2FnZSxjb2RlLHBhcmFtcyl9O0xvZ2dlci5wcm90b3R5cGUuYXNzZXJ0QXJndW1lbnQ9ZnVuY3Rpb24oY29uZGl0aW9uLG1lc3NhZ2UsbmFtZSx2YWx1ZSl7aWYoISFjb25kaXRpb24pe3JldHVybn10aGlzLnRocm93QXJndW1lbnRFcnJvcihtZXNzYWdlLG5hbWUsdmFsdWUpfTtMb2dnZXIucHJvdG90eXBlLmNoZWNrTm9ybWFsaXplPWZ1bmN0aW9uKG1lc3NhZ2Upe2lmKG1lc3NhZ2U9PW51bGwpe21lc3NhZ2U9InBsYXRmb3JtIG1pc3NpbmcgU3RyaW5nLnByb3RvdHlwZS5ub3JtYWxpemUifWlmKF9ub3JtYWxpemVFcnJvcil7dGhpcy50aHJvd0Vycm9yKCJwbGF0Zm9ybSBtaXNzaW5nIFN0cmluZy5wcm90b3R5cGUubm9ybWFsaXplIixMb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJTdHJpbmcucHJvdG90eXBlLm5vcm1hbGl6ZSIsZm9ybTpfbm9ybWFsaXplRXJyb3J9KX19O0xvZ2dlci5wcm90b3R5cGUuY2hlY2tTYWZlVWludDUzPWZ1bmN0aW9uKHZhbHVlLG1lc3NhZ2Upe2lmKHR5cGVvZiB2YWx1ZSE9PSJudW1iZXIiKXtyZXR1cm59aWYobWVzc2FnZT09bnVsbCl7bWVzc2FnZT0idmFsdWUgbm90IHNhZmUifWlmKHZhbHVlPDB8fHZhbHVlPj05MDA3MTk5MjU0NzQwOTkxKXt0aGlzLnRocm93RXJyb3IobWVzc2FnZSxMb2dnZXIuZXJyb3JzLk5VTUVSSUNfRkFVTFQse29wZXJhdGlvbjoiY2hlY2tTYWZlSW50ZWdlciIsZmF1bHQ6Im91dC1vZi1zYWZlLXJhbmdlIix2YWx1ZTp2YWx1ZX0pfWlmKHZhbHVlJTEpe3RoaXMudGhyb3dFcnJvcihtZXNzYWdlLExvZ2dlci5lcnJvcnMuTlVNRVJJQ19GQVVMVCx7b3BlcmF0aW9uOiJjaGVja1NhZmVJbnRlZ2VyIixmYXVsdDoibm9uLWludGVnZXIiLHZhbHVlOnZhbHVlfSl9fTtMb2dnZXIucHJvdG90eXBlLmNoZWNrQXJndW1lbnRDb3VudD1mdW5jdGlvbihjb3VudCxleHBlY3RlZENvdW50LG1lc3NhZ2Upe2lmKG1lc3NhZ2Upe21lc3NhZ2U9IjogIittZXNzYWdlfWVsc2V7bWVzc2FnZT0iIn1pZihjb3VudDxleHBlY3RlZENvdW50KXt0aGlzLnRocm93RXJyb3IoIm1pc3NpbmcgYXJndW1lbnQiK21lc3NhZ2UsTG9nZ2VyLmVycm9ycy5NSVNTSU5HX0FSR1VNRU5ULHtjb3VudDpjb3VudCxleHBlY3RlZENvdW50OmV4cGVjdGVkQ291bnR9KX1pZihjb3VudD5leHBlY3RlZENvdW50KXt0aGlzLnRocm93RXJyb3IoInRvbyBtYW55IGFyZ3VtZW50cyIrbWVzc2FnZSxMb2dnZXIuZXJyb3JzLlVORVhQRUNURURfQVJHVU1FTlQse2NvdW50OmNvdW50LGV4cGVjdGVkQ291bnQ6ZXhwZWN0ZWRDb3VudH0pfX07TG9nZ2VyLnByb3RvdHlwZS5jaGVja05ldz1mdW5jdGlvbih0YXJnZXQsa2luZCl7aWYodGFyZ2V0PT09T2JqZWN0fHx0YXJnZXQ9PW51bGwpe3RoaXMudGhyb3dFcnJvcigibWlzc2luZyBuZXciLExvZ2dlci5lcnJvcnMuTUlTU0lOR19ORVcse25hbWU6a2luZC5uYW1lfSl9fTtMb2dnZXIucHJvdG90eXBlLmNoZWNrQWJzdHJhY3Q9ZnVuY3Rpb24odGFyZ2V0LGtpbmQpe2lmKHRhcmdldD09PWtpbmQpe3RoaXMudGhyb3dFcnJvcigiY2Fubm90IGluc3RhbnRpYXRlIGFic3RyYWN0IGNsYXNzICIrSlNPTi5zdHJpbmdpZnkoa2luZC5uYW1lKSsiIGRpcmVjdGx5OyB1c2UgYSBzdWItY2xhc3MiLExvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtuYW1lOnRhcmdldC5uYW1lLG9wZXJhdGlvbjoibmV3In0pfWVsc2UgaWYodGFyZ2V0PT09T2JqZWN0fHx0YXJnZXQ9PW51bGwpe3RoaXMudGhyb3dFcnJvcigibWlzc2luZyBuZXciLExvZ2dlci5lcnJvcnMuTUlTU0lOR19ORVcse25hbWU6a2luZC5uYW1lfSl9fTtMb2dnZXIuZ2xvYmFsTG9nZ2VyPWZ1bmN0aW9uKCl7aWYoIV9nbG9iYWxMb2dnZXIpe19nbG9iYWxMb2dnZXI9bmV3IExvZ2dlcihfdmVyc2lvbi52ZXJzaW9uKX1yZXR1cm4gX2dsb2JhbExvZ2dlcn07TG9nZ2VyLnNldENlbnNvcnNoaXA9ZnVuY3Rpb24oY2Vuc29yc2hpcCxwZXJtYW5lbnQpe2lmKCFjZW5zb3JzaGlwJiZwZXJtYW5lbnQpe3RoaXMuZ2xvYmFsTG9nZ2VyKCkudGhyb3dFcnJvcigiY2Fubm90IHBlcm1hbmVudGx5IGRpc2FibGUgY2Vuc29yc2hpcCIsTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoic2V0Q2Vuc29yc2hpcCJ9KX1pZihfcGVybWFuZW50Q2Vuc29yRXJyb3JzKXtpZighY2Vuc29yc2hpcCl7cmV0dXJufXRoaXMuZ2xvYmFsTG9nZ2VyKCkudGhyb3dFcnJvcigiZXJyb3IgY2Vuc29yc2hpcCBwZXJtYW5lbnQiLExvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246InNldENlbnNvcnNoaXAifSl9X2NlbnNvckVycm9ycz0hIWNlbnNvcnNoaXA7X3Blcm1hbmVudENlbnNvckVycm9ycz0hIXBlcm1hbmVudH07TG9nZ2VyLnNldExvZ0xldmVsPWZ1bmN0aW9uKGxvZ0xldmVsKXt2YXIgbGV2ZWw9TG9nTGV2ZWxzW2xvZ0xldmVsLnRvTG93ZXJDYXNlKCldO2lmKGxldmVsPT1udWxsKXtMb2dnZXIuZ2xvYmFsTG9nZ2VyKCkud2FybigiaW52YWxpZCBsb2cgbGV2ZWwgLSAiK2xvZ0xldmVsKTtyZXR1cm59X2xvZ0xldmVsPWxldmVsfTtMb2dnZXIuZnJvbT1mdW5jdGlvbih2ZXJzaW9uKXtyZXR1cm4gbmV3IExvZ2dlcih2ZXJzaW9uKX07TG9nZ2VyLmVycm9ycz1FcnJvckNvZGU7TG9nZ2VyLmxldmVscz1Mb2dMZXZlbDtyZXR1cm4gTG9nZ2VyfSgpO2V4cG9ydHMuTG9nZ2VyPUxvZ2dlcn0pO3ZhciBpbmRleD1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhsaWIpO3ZhciBfdmVyc2lvbiQyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy52ZXJzaW9uPXZvaWQgMDtleHBvcnRzLnZlcnNpb249ImJ5dGVzLzUuNy4wIn0pO3ZhciBfdmVyc2lvbiQzPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKF92ZXJzaW9uJDIpO3ZhciBsaWIkMT1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuam9pblNpZ25hdHVyZT1leHBvcnRzLnNwbGl0U2lnbmF0dXJlPWV4cG9ydHMuaGV4WmVyb1BhZD1leHBvcnRzLmhleFN0cmlwWmVyb3M9ZXhwb3J0cy5oZXhWYWx1ZT1leHBvcnRzLmhleENvbmNhdD1leHBvcnRzLmhleERhdGFTbGljZT1leHBvcnRzLmhleERhdGFMZW5ndGg9ZXhwb3J0cy5oZXhsaWZ5PWV4cG9ydHMuaXNIZXhTdHJpbmc9ZXhwb3J0cy56ZXJvUGFkPWV4cG9ydHMuc3RyaXBaZXJvcz1leHBvcnRzLmNvbmNhdD1leHBvcnRzLmFycmF5aWZ5PWV4cG9ydHMuaXNCeXRlcz1leHBvcnRzLmlzQnl0ZXNMaWtlPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJDIudmVyc2lvbik7ZnVuY3Rpb24gaXNIZXhhYmxlKHZhbHVlKXtyZXR1cm4hIXZhbHVlLnRvSGV4U3RyaW5nfWZ1bmN0aW9uIGFkZFNsaWNlKGFycmF5KXtpZihhcnJheS5zbGljZSl7cmV0dXJuIGFycmF5fWFycmF5LnNsaWNlPWZ1bmN0aW9uKCl7dmFyIGFyZ3M9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gYWRkU2xpY2UobmV3IFVpbnQ4QXJyYXkoQXJyYXkucHJvdG90eXBlLnNsaWNlLmFwcGx5KGFycmF5LGFyZ3MpKSl9O3JldHVybiBhcnJheX1mdW5jdGlvbiBpc0J5dGVzTGlrZSh2YWx1ZSl7cmV0dXJuIGlzSGV4U3RyaW5nKHZhbHVlKSYmISh2YWx1ZS5sZW5ndGglMil8fGlzQnl0ZXModmFsdWUpfWV4cG9ydHMuaXNCeXRlc0xpa2U9aXNCeXRlc0xpa2U7ZnVuY3Rpb24gaXNJbnRlZ2VyKHZhbHVlKXtyZXR1cm4gdHlwZW9mIHZhbHVlPT09Im51bWJlciImJnZhbHVlPT12YWx1ZSYmdmFsdWUlMT09PTB9ZnVuY3Rpb24gaXNCeXRlcyh2YWx1ZSl7aWYodmFsdWU9PW51bGwpe3JldHVybiBmYWxzZX1pZih2YWx1ZS5jb25zdHJ1Y3Rvcj09PVVpbnQ4QXJyYXkpe3JldHVybiB0cnVlfWlmKHR5cGVvZiB2YWx1ZT09PSJzdHJpbmciKXtyZXR1cm4gZmFsc2V9aWYoIWlzSW50ZWdlcih2YWx1ZS5sZW5ndGgpfHx2YWx1ZS5sZW5ndGg8MCl7cmV0dXJuIGZhbHNlfWZvcih2YXIgaT0wO2k8dmFsdWUubGVuZ3RoO2krKyl7dmFyIHY9dmFsdWVbaV07aWYoIWlzSW50ZWdlcih2KXx8djwwfHx2Pj0yNTYpe3JldHVybiBmYWxzZX19cmV0dXJuIHRydWV9ZXhwb3J0cy5pc0J5dGVzPWlzQnl0ZXM7ZnVuY3Rpb24gYXJyYXlpZnkodmFsdWUsb3B0aW9ucyl7aWYoIW9wdGlvbnMpe29wdGlvbnM9e319aWYodHlwZW9mIHZhbHVlPT09Im51bWJlciIpe2xvZ2dlci5jaGVja1NhZmVVaW50NTModmFsdWUsImludmFsaWQgYXJyYXlpZnkgdmFsdWUiKTt2YXIgcmVzdWx0PVtdO3doaWxlKHZhbHVlKXtyZXN1bHQudW5zaGlmdCh2YWx1ZSYyNTUpO3ZhbHVlPXBhcnNlSW50KFN0cmluZyh2YWx1ZS8yNTYpKX1pZihyZXN1bHQubGVuZ3RoPT09MCl7cmVzdWx0LnB1c2goMCl9cmV0dXJuIGFkZFNsaWNlKG5ldyBVaW50OEFycmF5KHJlc3VsdCkpfWlmKG9wdGlvbnMuYWxsb3dNaXNzaW5nUHJlZml4JiZ0eXBlb2YgdmFsdWU9PT0ic3RyaW5nIiYmdmFsdWUuc3Vic3RyaW5nKDAsMikhPT0iMHgiKXt2YWx1ZT0iMHgiK3ZhbHVlfWlmKGlzSGV4YWJsZSh2YWx1ZSkpe3ZhbHVlPXZhbHVlLnRvSGV4U3RyaW5nKCl9aWYoaXNIZXhTdHJpbmcodmFsdWUpKXt2YXIgaGV4PXZhbHVlLnN1YnN0cmluZygyKTtpZihoZXgubGVuZ3RoJTIpe2lmKG9wdGlvbnMuaGV4UGFkPT09ImxlZnQiKXtoZXg9IjAiK2hleH1lbHNlIGlmKG9wdGlvbnMuaGV4UGFkPT09InJpZ2h0Iil7aGV4Kz0iMCJ9ZWxzZXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJoZXggZGF0YSBpcyBvZGQtbGVuZ3RoIiwidmFsdWUiLHZhbHVlKX19dmFyIHJlc3VsdD1bXTtmb3IodmFyIGk9MDtpPGhleC5sZW5ndGg7aSs9Mil7cmVzdWx0LnB1c2gocGFyc2VJbnQoaGV4LnN1YnN0cmluZyhpLGkrMiksMTYpKX1yZXR1cm4gYWRkU2xpY2UobmV3IFVpbnQ4QXJyYXkocmVzdWx0KSl9aWYoaXNCeXRlcyh2YWx1ZSkpe3JldHVybiBhZGRTbGljZShuZXcgVWludDhBcnJheSh2YWx1ZSkpfXJldHVybiBsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGFycmF5aWZ5IHZhbHVlIiwidmFsdWUiLHZhbHVlKX1leHBvcnRzLmFycmF5aWZ5PWFycmF5aWZ5O2Z1bmN0aW9uIGNvbmNhdChpdGVtcyl7dmFyIG9iamVjdHM9aXRlbXMubWFwKGZ1bmN0aW9uKGl0ZW0pe3JldHVybiBhcnJheWlmeShpdGVtKX0pO3ZhciBsZW5ndGg9b2JqZWN0cy5yZWR1Y2UoZnVuY3Rpb24oYWNjdW0saXRlbSl7cmV0dXJuIGFjY3VtK2l0ZW0ubGVuZ3RofSwwKTt2YXIgcmVzdWx0PW5ldyBVaW50OEFycmF5KGxlbmd0aCk7b2JqZWN0cy5yZWR1Y2UoZnVuY3Rpb24ob2Zmc2V0LG9iamVjdCl7cmVzdWx0LnNldChvYmplY3Qsb2Zmc2V0KTtyZXR1cm4gb2Zmc2V0K29iamVjdC5sZW5ndGh9LDApO3JldHVybiBhZGRTbGljZShyZXN1bHQpfWV4cG9ydHMuY29uY2F0PWNvbmNhdDtmdW5jdGlvbiBzdHJpcFplcm9zKHZhbHVlKXt2YXIgcmVzdWx0PWFycmF5aWZ5KHZhbHVlKTtpZihyZXN1bHQubGVuZ3RoPT09MCl7cmV0dXJuIHJlc3VsdH12YXIgc3RhcnQ9MDt3aGlsZShzdGFydDxyZXN1bHQubGVuZ3RoJiZyZXN1bHRbc3RhcnRdPT09MCl7c3RhcnQrK31pZihzdGFydCl7cmVzdWx0PXJlc3VsdC5zbGljZShzdGFydCl9cmV0dXJuIHJlc3VsdH1leHBvcnRzLnN0cmlwWmVyb3M9c3RyaXBaZXJvcztmdW5jdGlvbiB6ZXJvUGFkKHZhbHVlLGxlbmd0aCl7dmFsdWU9YXJyYXlpZnkodmFsdWUpO2lmKHZhbHVlLmxlbmd0aD5sZW5ndGgpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInZhbHVlIG91dCBvZiByYW5nZSIsInZhbHVlIixhcmd1bWVudHNbMF0pfXZhciByZXN1bHQ9bmV3IFVpbnQ4QXJyYXkobGVuZ3RoKTtyZXN1bHQuc2V0KHZhbHVlLGxlbmd0aC12YWx1ZS5sZW5ndGgpO3JldHVybiBhZGRTbGljZShyZXN1bHQpfWV4cG9ydHMuemVyb1BhZD16ZXJvUGFkO2Z1bmN0aW9uIGlzSGV4U3RyaW5nKHZhbHVlLGxlbmd0aCl7aWYodHlwZW9mIHZhbHVlIT09InN0cmluZyJ8fCF2YWx1ZS5tYXRjaCgvXjB4WzAtOUEtRmEtZl0qJC8pKXtyZXR1cm4gZmFsc2V9aWYobGVuZ3RoJiZ2YWx1ZS5sZW5ndGghPT0yKzIqbGVuZ3RoKXtyZXR1cm4gZmFsc2V9cmV0dXJuIHRydWV9ZXhwb3J0cy5pc0hleFN0cmluZz1pc0hleFN0cmluZzt2YXIgSGV4Q2hhcmFjdGVycz0iMDEyMzQ1Njc4OWFiY2RlZiI7ZnVuY3Rpb24gaGV4bGlmeSh2YWx1ZSxvcHRpb25zKXtpZighb3B0aW9ucyl7b3B0aW9ucz17fX1pZih0eXBlb2YgdmFsdWU9PT0ibnVtYmVyIil7bG9nZ2VyLmNoZWNrU2FmZVVpbnQ1Myh2YWx1ZSwiaW52YWxpZCBoZXhsaWZ5IHZhbHVlIik7dmFyIGhleD0iIjt3aGlsZSh2YWx1ZSl7aGV4PUhleENoYXJhY3RlcnNbdmFsdWUmMTVdK2hleDt2YWx1ZT1NYXRoLmZsb29yKHZhbHVlLzE2KX1pZihoZXgubGVuZ3RoKXtpZihoZXgubGVuZ3RoJTIpe2hleD0iMCIraGV4fXJldHVybiIweCIraGV4fXJldHVybiIweDAwIn1pZih0eXBlb2YgdmFsdWU9PT0iYmlnaW50Iil7dmFsdWU9dmFsdWUudG9TdHJpbmcoMTYpO2lmKHZhbHVlLmxlbmd0aCUyKXtyZXR1cm4iMHgwIit2YWx1ZX1yZXR1cm4iMHgiK3ZhbHVlfWlmKG9wdGlvbnMuYWxsb3dNaXNzaW5nUHJlZml4JiZ0eXBlb2YgdmFsdWU9PT0ic3RyaW5nIiYmdmFsdWUuc3Vic3RyaW5nKDAsMikhPT0iMHgiKXt2YWx1ZT0iMHgiK3ZhbHVlfWlmKGlzSGV4YWJsZSh2YWx1ZSkpe3JldHVybiB2YWx1ZS50b0hleFN0cmluZygpfWlmKGlzSGV4U3RyaW5nKHZhbHVlKSl7aWYodmFsdWUubGVuZ3RoJTIpe2lmKG9wdGlvbnMuaGV4UGFkPT09ImxlZnQiKXt2YWx1ZT0iMHgwIit2YWx1ZS5zdWJzdHJpbmcoMil9ZWxzZSBpZihvcHRpb25zLmhleFBhZD09PSJyaWdodCIpe3ZhbHVlKz0iMCJ9ZWxzZXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJoZXggZGF0YSBpcyBvZGQtbGVuZ3RoIiwidmFsdWUiLHZhbHVlKX19cmV0dXJuIHZhbHVlLnRvTG93ZXJDYXNlKCl9aWYoaXNCeXRlcyh2YWx1ZSkpe3ZhciByZXN1bHQ9IjB4Ijtmb3IodmFyIGk9MDtpPHZhbHVlLmxlbmd0aDtpKyspe3ZhciB2PXZhbHVlW2ldO3Jlc3VsdCs9SGV4Q2hhcmFjdGVyc1sodiYyNDApPj40XStIZXhDaGFyYWN0ZXJzW3YmMTVdfXJldHVybiByZXN1bHR9cmV0dXJuIGxvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgaGV4bGlmeSB2YWx1ZSIsInZhbHVlIix2YWx1ZSl9ZXhwb3J0cy5oZXhsaWZ5PWhleGxpZnk7ZnVuY3Rpb24gaGV4RGF0YUxlbmd0aChkYXRhKXtpZih0eXBlb2YgZGF0YSE9PSJzdHJpbmciKXtkYXRhPWhleGxpZnkoZGF0YSl9ZWxzZSBpZighaXNIZXhTdHJpbmcoZGF0YSl8fGRhdGEubGVuZ3RoJTIpe3JldHVybiBudWxsfXJldHVybihkYXRhLmxlbmd0aC0yKS8yfWV4cG9ydHMuaGV4RGF0YUxlbmd0aD1oZXhEYXRhTGVuZ3RoO2Z1bmN0aW9uIGhleERhdGFTbGljZShkYXRhLG9mZnNldCxlbmRPZmZzZXQpe2lmKHR5cGVvZiBkYXRhIT09InN0cmluZyIpe2RhdGE9aGV4bGlmeShkYXRhKX1lbHNlIGlmKCFpc0hleFN0cmluZyhkYXRhKXx8ZGF0YS5sZW5ndGglMil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBoZXhEYXRhIiwidmFsdWUiLGRhdGEpfW9mZnNldD0yKzIqb2Zmc2V0O2lmKGVuZE9mZnNldCE9bnVsbCl7cmV0dXJuIjB4IitkYXRhLnN1YnN0cmluZyhvZmZzZXQsMisyKmVuZE9mZnNldCl9cmV0dXJuIjB4IitkYXRhLnN1YnN0cmluZyhvZmZzZXQpfWV4cG9ydHMuaGV4RGF0YVNsaWNlPWhleERhdGFTbGljZTtmdW5jdGlvbiBoZXhDb25jYXQoaXRlbXMpe3ZhciByZXN1bHQ9IjB4IjtpdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pe3Jlc3VsdCs9aGV4bGlmeShpdGVtKS5zdWJzdHJpbmcoMil9KTtyZXR1cm4gcmVzdWx0fWV4cG9ydHMuaGV4Q29uY2F0PWhleENvbmNhdDtmdW5jdGlvbiBoZXhWYWx1ZSh2YWx1ZSl7dmFyIHRyaW1tZWQ9aGV4U3RyaXBaZXJvcyhoZXhsaWZ5KHZhbHVlLHtoZXhQYWQ6ImxlZnQifSkpO2lmKHRyaW1tZWQ9PT0iMHgiKXtyZXR1cm4iMHgwIn1yZXR1cm4gdHJpbW1lZH1leHBvcnRzLmhleFZhbHVlPWhleFZhbHVlO2Z1bmN0aW9uIGhleFN0cmlwWmVyb3ModmFsdWUpe2lmKHR5cGVvZiB2YWx1ZSE9PSJzdHJpbmciKXt2YWx1ZT1oZXhsaWZ5KHZhbHVlKX1pZighaXNIZXhTdHJpbmcodmFsdWUpKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGhleCBzdHJpbmciLCJ2YWx1ZSIsdmFsdWUpfXZhbHVlPXZhbHVlLnN1YnN0cmluZygyKTt2YXIgb2Zmc2V0PTA7d2hpbGUob2Zmc2V0PHZhbHVlLmxlbmd0aCYmdmFsdWVbb2Zmc2V0XT09PSIwIil7b2Zmc2V0Kyt9cmV0dXJuIjB4Iit2YWx1ZS5zdWJzdHJpbmcob2Zmc2V0KX1leHBvcnRzLmhleFN0cmlwWmVyb3M9aGV4U3RyaXBaZXJvcztmdW5jdGlvbiBoZXhaZXJvUGFkKHZhbHVlLGxlbmd0aCl7aWYodHlwZW9mIHZhbHVlIT09InN0cmluZyIpe3ZhbHVlPWhleGxpZnkodmFsdWUpfWVsc2UgaWYoIWlzSGV4U3RyaW5nKHZhbHVlKSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBoZXggc3RyaW5nIiwidmFsdWUiLHZhbHVlKX1pZih2YWx1ZS5sZW5ndGg+MipsZW5ndGgrMil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidmFsdWUgb3V0IG9mIHJhbmdlIiwidmFsdWUiLGFyZ3VtZW50c1sxXSl9d2hpbGUodmFsdWUubGVuZ3RoPDIqbGVuZ3RoKzIpe3ZhbHVlPSIweDAiK3ZhbHVlLnN1YnN0cmluZygyKX1yZXR1cm4gdmFsdWV9ZXhwb3J0cy5oZXhaZXJvUGFkPWhleFplcm9QYWQ7ZnVuY3Rpb24gc3BsaXRTaWduYXR1cmUoc2lnbmF0dXJlKXt2YXIgcmVzdWx0PXtyOiIweCIsczoiMHgiLF92czoiMHgiLHJlY292ZXJ5UGFyYW06MCx2OjAseVBhcml0eUFuZFM6IjB4Iixjb21wYWN0OiIweCJ9O2lmKGlzQnl0ZXNMaWtlKHNpZ25hdHVyZSkpe3ZhciBieXRlcz1hcnJheWlmeShzaWduYXR1cmUpO2lmKGJ5dGVzLmxlbmd0aD09PTY0KXtyZXN1bHQudj0yNysoYnl0ZXNbMzJdPj43KTtieXRlc1szMl0mPTEyNztyZXN1bHQucj1oZXhsaWZ5KGJ5dGVzLnNsaWNlKDAsMzIpKTtyZXN1bHQucz1oZXhsaWZ5KGJ5dGVzLnNsaWNlKDMyLDY0KSl9ZWxzZSBpZihieXRlcy5sZW5ndGg9PT02NSl7cmVzdWx0LnI9aGV4bGlmeShieXRlcy5zbGljZSgwLDMyKSk7cmVzdWx0LnM9aGV4bGlmeShieXRlcy5zbGljZSgzMiw2NCkpO3Jlc3VsdC52PWJ5dGVzWzY0XX1lbHNle2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgc2lnbmF0dXJlIHN0cmluZyIsInNpZ25hdHVyZSIsc2lnbmF0dXJlKX1pZihyZXN1bHQudjwyNyl7aWYocmVzdWx0LnY9PT0wfHxyZXN1bHQudj09PTEpe3Jlc3VsdC52Kz0yN31lbHNle2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInNpZ25hdHVyZSBpbnZhbGlkIHYgYnl0ZSIsInNpZ25hdHVyZSIsc2lnbmF0dXJlKX19cmVzdWx0LnJlY292ZXJ5UGFyYW09MS1yZXN1bHQudiUyO2lmKHJlc3VsdC5yZWNvdmVyeVBhcmFtKXtieXRlc1szMl18PTEyOH1yZXN1bHQuX3ZzPWhleGxpZnkoYnl0ZXMuc2xpY2UoMzIsNjQpKX1lbHNle3Jlc3VsdC5yPXNpZ25hdHVyZS5yO3Jlc3VsdC5zPXNpZ25hdHVyZS5zO3Jlc3VsdC52PXNpZ25hdHVyZS52O3Jlc3VsdC5yZWNvdmVyeVBhcmFtPXNpZ25hdHVyZS5yZWNvdmVyeVBhcmFtO3Jlc3VsdC5fdnM9c2lnbmF0dXJlLl92cztpZihyZXN1bHQuX3ZzIT1udWxsKXt2YXIgdnNfMT16ZXJvUGFkKGFycmF5aWZ5KHJlc3VsdC5fdnMpLDMyKTtyZXN1bHQuX3ZzPWhleGxpZnkodnNfMSk7dmFyIHJlY292ZXJ5UGFyYW09dnNfMVswXT49MTI4PzE6MDtpZihyZXN1bHQucmVjb3ZlcnlQYXJhbT09bnVsbCl7cmVzdWx0LnJlY292ZXJ5UGFyYW09cmVjb3ZlcnlQYXJhbX1lbHNlIGlmKHJlc3VsdC5yZWNvdmVyeVBhcmFtIT09cmVjb3ZlcnlQYXJhbSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigic2lnbmF0dXJlIHJlY292ZXJ5UGFyYW0gbWlzbWF0Y2ggX3ZzIiwic2lnbmF0dXJlIixzaWduYXR1cmUpfXZzXzFbMF0mPTEyNzt2YXIgcz1oZXhsaWZ5KHZzXzEpO2lmKHJlc3VsdC5zPT1udWxsKXtyZXN1bHQucz1zfWVsc2UgaWYocmVzdWx0LnMhPT1zKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJzaWduYXR1cmUgdiBtaXNtYXRjaCBfdnMiLCJzaWduYXR1cmUiLHNpZ25hdHVyZSl9fWlmKHJlc3VsdC5yZWNvdmVyeVBhcmFtPT1udWxsKXtpZihyZXN1bHQudj09bnVsbCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigic2lnbmF0dXJlIG1pc3NpbmcgdiBhbmQgcmVjb3ZlcnlQYXJhbSIsInNpZ25hdHVyZSIsc2lnbmF0dXJlKX1lbHNlIGlmKHJlc3VsdC52PT09MHx8cmVzdWx0LnY9PT0xKXtyZXN1bHQucmVjb3ZlcnlQYXJhbT1yZXN1bHQudn1lbHNle3Jlc3VsdC5yZWNvdmVyeVBhcmFtPTEtcmVzdWx0LnYlMn19ZWxzZXtpZihyZXN1bHQudj09bnVsbCl7cmVzdWx0LnY9MjcrcmVzdWx0LnJlY292ZXJ5UGFyYW19ZWxzZXt2YXIgcmVjSWQ9cmVzdWx0LnY9PT0wfHxyZXN1bHQudj09PTE/cmVzdWx0LnY6MS1yZXN1bHQudiUyO2lmKHJlc3VsdC5yZWNvdmVyeVBhcmFtIT09cmVjSWQpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInNpZ25hdHVyZSByZWNvdmVyeVBhcmFtIG1pc21hdGNoIHYiLCJzaWduYXR1cmUiLHNpZ25hdHVyZSl9fX1pZihyZXN1bHQucj09bnVsbHx8IWlzSGV4U3RyaW5nKHJlc3VsdC5yKSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigic2lnbmF0dXJlIG1pc3Npbmcgb3IgaW52YWxpZCByIiwic2lnbmF0dXJlIixzaWduYXR1cmUpfWVsc2V7cmVzdWx0LnI9aGV4WmVyb1BhZChyZXN1bHQuciwzMil9aWYocmVzdWx0LnM9PW51bGx8fCFpc0hleFN0cmluZyhyZXN1bHQucykpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInNpZ25hdHVyZSBtaXNzaW5nIG9yIGludmFsaWQgcyIsInNpZ25hdHVyZSIsc2lnbmF0dXJlKX1lbHNle3Jlc3VsdC5zPWhleFplcm9QYWQocmVzdWx0LnMsMzIpfXZhciB2cz1hcnJheWlmeShyZXN1bHQucyk7aWYodnNbMF0+PTEyOCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigic2lnbmF0dXJlIHMgb3V0IG9mIHJhbmdlIiwic2lnbmF0dXJlIixzaWduYXR1cmUpfWlmKHJlc3VsdC5yZWNvdmVyeVBhcmFtKXt2c1swXXw9MTI4fXZhciBfdnM9aGV4bGlmeSh2cyk7aWYocmVzdWx0Ll92cyl7aWYoIWlzSGV4U3RyaW5nKHJlc3VsdC5fdnMpKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJzaWduYXR1cmUgaW52YWxpZCBfdnMiLCJzaWduYXR1cmUiLHNpZ25hdHVyZSl9cmVzdWx0Ll92cz1oZXhaZXJvUGFkKHJlc3VsdC5fdnMsMzIpfWlmKHJlc3VsdC5fdnM9PW51bGwpe3Jlc3VsdC5fdnM9X3ZzfWVsc2UgaWYocmVzdWx0Ll92cyE9PV92cyl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigic2lnbmF0dXJlIF92cyBtaXNtYXRjaCB2IGFuZCBzIiwic2lnbmF0dXJlIixzaWduYXR1cmUpfX1yZXN1bHQueVBhcml0eUFuZFM9cmVzdWx0Ll92cztyZXN1bHQuY29tcGFjdD1yZXN1bHQucityZXN1bHQueVBhcml0eUFuZFMuc3Vic3RyaW5nKDIpO3JldHVybiByZXN1bHR9ZXhwb3J0cy5zcGxpdFNpZ25hdHVyZT1zcGxpdFNpZ25hdHVyZTtmdW5jdGlvbiBqb2luU2lnbmF0dXJlKHNpZ25hdHVyZSl7c2lnbmF0dXJlPXNwbGl0U2lnbmF0dXJlKHNpZ25hdHVyZSk7cmV0dXJuIGhleGxpZnkoY29uY2F0KFtzaWduYXR1cmUucixzaWduYXR1cmUucyxzaWduYXR1cmUucmVjb3ZlcnlQYXJhbT8iMHgxYyI6IjB4MWIiXSkpfWV4cG9ydHMuam9pblNpZ25hdHVyZT1qb2luU2lnbmF0dXJlfSk7dmFyIGluZGV4JDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMobGliJDEpO3ZhciBfdmVyc2lvbiQ0PWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy52ZXJzaW9uPXZvaWQgMDtleHBvcnRzLnZlcnNpb249ImJpZ251bWJlci81LjcuMCJ9KTt2YXIgX3ZlcnNpb24kNT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhfdmVyc2lvbiQ0KTt2YXIgYmlnbnVtYmVyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9faW1wb3J0RGVmYXVsdD1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihtb2Qpe3JldHVybiBtb2QmJm1vZC5fX2VzTW9kdWxlP21vZDp7ZGVmYXVsdDptb2R9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLl9iYXNlMTZUbzM2PWV4cG9ydHMuX2Jhc2UzNlRvMTY9ZXhwb3J0cy5CaWdOdW1iZXI9ZXhwb3J0cy5pc0JpZ051bWJlcmlzaD12b2lkIDA7dmFyIGJuX2pzXzE9X19pbXBvcnREZWZhdWx0KGJuKTt2YXIgQk49Ym5fanNfMS5kZWZhdWx0LkJOO3ZhciBsb2dnZXI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kNC52ZXJzaW9uKTt2YXIgX2NvbnN0cnVjdG9yR3VhcmQ9e307dmFyIE1BWF9TQUZFPTkwMDcxOTkyNTQ3NDA5OTE7ZnVuY3Rpb24gaXNCaWdOdW1iZXJpc2godmFsdWUpe3JldHVybiB2YWx1ZSE9bnVsbCYmKEJpZ051bWJlci5pc0JpZ051bWJlcih2YWx1ZSl8fHR5cGVvZiB2YWx1ZT09PSJudW1iZXIiJiZ2YWx1ZSUxPT09MHx8dHlwZW9mIHZhbHVlPT09InN0cmluZyImJiEhdmFsdWUubWF0Y2goL14tP1swLTldKyQvKXx8KDAsbGliJDEuaXNIZXhTdHJpbmcpKHZhbHVlKXx8dHlwZW9mIHZhbHVlPT09ImJpZ2ludCJ8fCgwLGxpYiQxLmlzQnl0ZXMpKHZhbHVlKSl9ZXhwb3J0cy5pc0JpZ051bWJlcmlzaD1pc0JpZ051bWJlcmlzaDt2YXIgX3dhcm5lZFRvU3RyaW5nUmFkaXg9ZmFsc2U7dmFyIEJpZ051bWJlcj1mdW5jdGlvbigpe2Z1bmN0aW9uIEJpZ051bWJlcihjb25zdHJ1Y3Rvckd1YXJkLGhleCl7aWYoY29uc3RydWN0b3JHdWFyZCE9PV9jb25zdHJ1Y3Rvckd1YXJkKXtsb2dnZXIudGhyb3dFcnJvcigiY2Fubm90IGNhbGwgY29uc3RydWN0b3IgZGlyZWN0bHk7IHVzZSBCaWdOdW1iZXIuZnJvbSIsbGliLkxvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246Im5ldyAoQmlnTnVtYmVyKSJ9KX10aGlzLl9oZXg9aGV4O3RoaXMuX2lzQmlnTnVtYmVyPXRydWU7T2JqZWN0LmZyZWV6ZSh0aGlzKX1CaWdOdW1iZXIucHJvdG90eXBlLmZyb21Ud29zPWZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4gdG9CaWdOdW1iZXIodG9CTih0aGlzKS5mcm9tVHdvcyh2YWx1ZSkpfTtCaWdOdW1iZXIucHJvdG90eXBlLnRvVHdvcz1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuIHRvQmlnTnVtYmVyKHRvQk4odGhpcykudG9Ud29zKHZhbHVlKSl9O0JpZ051bWJlci5wcm90b3R5cGUuYWJzPWZ1bmN0aW9uKCl7aWYodGhpcy5faGV4WzBdPT09Ii0iKXtyZXR1cm4gQmlnTnVtYmVyLmZyb20odGhpcy5faGV4LnN1YnN0cmluZygxKSl9cmV0dXJuIHRoaXN9O0JpZ051bWJlci5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKG90aGVyKXtyZXR1cm4gdG9CaWdOdW1iZXIodG9CTih0aGlzKS5hZGQodG9CTihvdGhlcikpKX07QmlnTnVtYmVyLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24ob3RoZXIpe3JldHVybiB0b0JpZ051bWJlcih0b0JOKHRoaXMpLnN1Yih0b0JOKG90aGVyKSkpfTtCaWdOdW1iZXIucHJvdG90eXBlLmRpdj1mdW5jdGlvbihvdGhlcil7dmFyIG89QmlnTnVtYmVyLmZyb20ob3RoZXIpO2lmKG8uaXNaZXJvKCkpe3Rocm93RmF1bHQoImRpdmlzaW9uLWJ5LXplcm8iLCJkaXYiKX1yZXR1cm4gdG9CaWdOdW1iZXIodG9CTih0aGlzKS5kaXYodG9CTihvdGhlcikpKX07QmlnTnVtYmVyLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24ob3RoZXIpe3JldHVybiB0b0JpZ051bWJlcih0b0JOKHRoaXMpLm11bCh0b0JOKG90aGVyKSkpfTtCaWdOdW1iZXIucHJvdG90eXBlLm1vZD1mdW5jdGlvbihvdGhlcil7dmFyIHZhbHVlPXRvQk4ob3RoZXIpO2lmKHZhbHVlLmlzTmVnKCkpe3Rocm93RmF1bHQoImRpdmlzaW9uLWJ5LXplcm8iLCJtb2QiKX1yZXR1cm4gdG9CaWdOdW1iZXIodG9CTih0aGlzKS51bW9kKHZhbHVlKSl9O0JpZ051bWJlci5wcm90b3R5cGUucG93PWZ1bmN0aW9uKG90aGVyKXt2YXIgdmFsdWU9dG9CTihvdGhlcik7aWYodmFsdWUuaXNOZWcoKSl7dGhyb3dGYXVsdCgibmVnYXRpdmUtcG93ZXIiLCJwb3ciKX1yZXR1cm4gdG9CaWdOdW1iZXIodG9CTih0aGlzKS5wb3codmFsdWUpKX07QmlnTnVtYmVyLnByb3RvdHlwZS5hbmQ9ZnVuY3Rpb24ob3RoZXIpe3ZhciB2YWx1ZT10b0JOKG90aGVyKTtpZih0aGlzLmlzTmVnYXRpdmUoKXx8dmFsdWUuaXNOZWcoKSl7dGhyb3dGYXVsdCgidW5ib3VuZC1iaXR3aXNlLXJlc3VsdCIsImFuZCIpfXJldHVybiB0b0JpZ051bWJlcih0b0JOKHRoaXMpLmFuZCh2YWx1ZSkpfTtCaWdOdW1iZXIucHJvdG90eXBlLm9yPWZ1bmN0aW9uKG90aGVyKXt2YXIgdmFsdWU9dG9CTihvdGhlcik7aWYodGhpcy5pc05lZ2F0aXZlKCl8fHZhbHVlLmlzTmVnKCkpe3Rocm93RmF1bHQoInVuYm91bmQtYml0d2lzZS1yZXN1bHQiLCJvciIpfXJldHVybiB0b0JpZ051bWJlcih0b0JOKHRoaXMpLm9yKHZhbHVlKSl9O0JpZ051bWJlci5wcm90b3R5cGUueG9yPWZ1bmN0aW9uKG90aGVyKXt2YXIgdmFsdWU9dG9CTihvdGhlcik7aWYodGhpcy5pc05lZ2F0aXZlKCl8fHZhbHVlLmlzTmVnKCkpe3Rocm93RmF1bHQoInVuYm91bmQtYml0d2lzZS1yZXN1bHQiLCJ4b3IiKX1yZXR1cm4gdG9CaWdOdW1iZXIodG9CTih0aGlzKS54b3IodmFsdWUpKX07QmlnTnVtYmVyLnByb3RvdHlwZS5tYXNrPWZ1bmN0aW9uKHZhbHVlKXtpZih0aGlzLmlzTmVnYXRpdmUoKXx8dmFsdWU8MCl7dGhyb3dGYXVsdCgibmVnYXRpdmUtd2lkdGgiLCJtYXNrIil9cmV0dXJuIHRvQmlnTnVtYmVyKHRvQk4odGhpcykubWFza24odmFsdWUpKX07QmlnTnVtYmVyLnByb3RvdHlwZS5zaGw9ZnVuY3Rpb24odmFsdWUpe2lmKHRoaXMuaXNOZWdhdGl2ZSgpfHx2YWx1ZTwwKXt0aHJvd0ZhdWx0KCJuZWdhdGl2ZS13aWR0aCIsInNobCIpfXJldHVybiB0b0JpZ051bWJlcih0b0JOKHRoaXMpLnNobG4odmFsdWUpKX07QmlnTnVtYmVyLnByb3RvdHlwZS5zaHI9ZnVuY3Rpb24odmFsdWUpe2lmKHRoaXMuaXNOZWdhdGl2ZSgpfHx2YWx1ZTwwKXt0aHJvd0ZhdWx0KCJuZWdhdGl2ZS13aWR0aCIsInNociIpfXJldHVybiB0b0JpZ051bWJlcih0b0JOKHRoaXMpLnNocm4odmFsdWUpKX07QmlnTnVtYmVyLnByb3RvdHlwZS5lcT1mdW5jdGlvbihvdGhlcil7cmV0dXJuIHRvQk4odGhpcykuZXEodG9CTihvdGhlcikpfTtCaWdOdW1iZXIucHJvdG90eXBlLmx0PWZ1bmN0aW9uKG90aGVyKXtyZXR1cm4gdG9CTih0aGlzKS5sdCh0b0JOKG90aGVyKSl9O0JpZ051bWJlci5wcm90b3R5cGUubHRlPWZ1bmN0aW9uKG90aGVyKXtyZXR1cm4gdG9CTih0aGlzKS5sdGUodG9CTihvdGhlcikpfTtCaWdOdW1iZXIucHJvdG90eXBlLmd0PWZ1bmN0aW9uKG90aGVyKXtyZXR1cm4gdG9CTih0aGlzKS5ndCh0b0JOKG90aGVyKSl9O0JpZ051bWJlci5wcm90b3R5cGUuZ3RlPWZ1bmN0aW9uKG90aGVyKXtyZXR1cm4gdG9CTih0aGlzKS5ndGUodG9CTihvdGhlcikpfTtCaWdOdW1iZXIucHJvdG90eXBlLmlzTmVnYXRpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faGV4WzBdPT09Ii0ifTtCaWdOdW1iZXIucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbigpe3JldHVybiB0b0JOKHRoaXMpLmlzWmVybygpfTtCaWdOdW1iZXIucHJvdG90eXBlLnRvTnVtYmVyPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0b0JOKHRoaXMpLnRvTnVtYmVyKCl9Y2F0Y2goZXJyb3Ipe3Rocm93RmF1bHQoIm92ZXJmbG93IiwidG9OdW1iZXIiLHRoaXMudG9TdHJpbmcoKSl9cmV0dXJuIG51bGx9O0JpZ051bWJlci5wcm90b3R5cGUudG9CaWdJbnQ9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIEJpZ0ludCh0aGlzLnRvU3RyaW5nKCkpfWNhdGNoKGUpe31yZXR1cm4gbG9nZ2VyLnRocm93RXJyb3IoInRoaXMgcGxhdGZvcm0gZG9lcyBub3Qgc3VwcG9ydCBCaWdJbnQiLGxpYi5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7dmFsdWU6dGhpcy50b1N0cmluZygpfSl9O0JpZ051bWJlci5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtpZihhcmd1bWVudHMubGVuZ3RoPjApe2lmKGFyZ3VtZW50c1swXT09PTEwKXtpZighX3dhcm5lZFRvU3RyaW5nUmFkaXgpe193YXJuZWRUb1N0cmluZ1JhZGl4PXRydWU7bG9nZ2VyLndhcm4oIkJpZ051bWJlci50b1N0cmluZyBkb2VzIG5vdCBhY2NlcHQgYW55IHBhcmFtZXRlcnM7IGJhc2UtMTAgaXMgYXNzdW1lZCIpfX1lbHNlIGlmKGFyZ3VtZW50c1swXT09PTE2KXtsb2dnZXIudGhyb3dFcnJvcigiQmlnTnVtYmVyLnRvU3RyaW5nIGRvZXMgbm90IGFjY2VwdCBhbnkgcGFyYW1ldGVyczsgdXNlIGJpZ051bWJlci50b0hleFN0cmluZygpIixsaWIuTG9nZ2VyLmVycm9ycy5VTkVYUEVDVEVEX0FSR1VNRU5ULHt9KX1lbHNle2xvZ2dlci50aHJvd0Vycm9yKCJCaWdOdW1iZXIudG9TdHJpbmcgZG9lcyBub3QgYWNjZXB0IHBhcmFtZXRlcnMiLGxpYi5Mb2dnZXIuZXJyb3JzLlVORVhQRUNURURfQVJHVU1FTlQse30pfX1yZXR1cm4gdG9CTih0aGlzKS50b1N0cmluZygxMCl9O0JpZ051bWJlci5wcm90b3R5cGUudG9IZXhTdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faGV4fTtCaWdOdW1iZXIucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbihrZXkpe3JldHVybnt0eXBlOiJCaWdOdW1iZXIiLGhleDp0aGlzLnRvSGV4U3RyaW5nKCl9fTtCaWdOdW1iZXIuZnJvbT1mdW5jdGlvbih2YWx1ZSl7aWYodmFsdWUgaW5zdGFuY2VvZiBCaWdOdW1iZXIpe3JldHVybiB2YWx1ZX1pZih0eXBlb2YgdmFsdWU9PT0ic3RyaW5nIil7aWYodmFsdWUubWF0Y2goL14tPzB4WzAtOWEtZl0rJC9pKSl7cmV0dXJuIG5ldyBCaWdOdW1iZXIoX2NvbnN0cnVjdG9yR3VhcmQsdG9IZXgodmFsdWUpKX1pZih2YWx1ZS5tYXRjaCgvXi0/WzAtOV0rJC8pKXtyZXR1cm4gbmV3IEJpZ051bWJlcihfY29uc3RydWN0b3JHdWFyZCx0b0hleChuZXcgQk4odmFsdWUpKSl9cmV0dXJuIGxvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgQmlnTnVtYmVyIHN0cmluZyIsInZhbHVlIix2YWx1ZSl9aWYodHlwZW9mIHZhbHVlPT09Im51bWJlciIpe2lmKHZhbHVlJTEpe3Rocm93RmF1bHQoInVuZGVyZmxvdyIsIkJpZ051bWJlci5mcm9tIix2YWx1ZSl9aWYodmFsdWU+PU1BWF9TQUZFfHx2YWx1ZTw9LU1BWF9TQUZFKXt0aHJvd0ZhdWx0KCJvdmVyZmxvdyIsIkJpZ051bWJlci5mcm9tIix2YWx1ZSl9cmV0dXJuIEJpZ051bWJlci5mcm9tKFN0cmluZyh2YWx1ZSkpfXZhciBhbnlWYWx1ZT12YWx1ZTtpZih0eXBlb2YgYW55VmFsdWU9PT0iYmlnaW50Iil7cmV0dXJuIEJpZ051bWJlci5mcm9tKGFueVZhbHVlLnRvU3RyaW5nKCkpfWlmKCgwLGxpYiQxLmlzQnl0ZXMpKGFueVZhbHVlKSl7cmV0dXJuIEJpZ051bWJlci5mcm9tKCgwLGxpYiQxLmhleGxpZnkpKGFueVZhbHVlKSl9aWYoYW55VmFsdWUpe2lmKGFueVZhbHVlLnRvSGV4U3RyaW5nKXt2YXIgaGV4PWFueVZhbHVlLnRvSGV4U3RyaW5nKCk7aWYodHlwZW9mIGhleD09PSJzdHJpbmciKXtyZXR1cm4gQmlnTnVtYmVyLmZyb20oaGV4KX19ZWxzZXt2YXIgaGV4PWFueVZhbHVlLl9oZXg7aWYoaGV4PT1udWxsJiZhbnlWYWx1ZS50eXBlPT09IkJpZ051bWJlciIpe2hleD1hbnlWYWx1ZS5oZXh9aWYodHlwZW9mIGhleD09PSJzdHJpbmciKXtpZigoMCxsaWIkMS5pc0hleFN0cmluZykoaGV4KXx8aGV4WzBdPT09Ii0iJiYoMCxsaWIkMS5pc0hleFN0cmluZykoaGV4LnN1YnN0cmluZygxKSkpe3JldHVybiBCaWdOdW1iZXIuZnJvbShoZXgpfX19fXJldHVybiBsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIEJpZ051bWJlciB2YWx1ZSIsInZhbHVlIix2YWx1ZSl9O0JpZ051bWJlci5pc0JpZ051bWJlcj1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuISEodmFsdWUmJnZhbHVlLl9pc0JpZ051bWJlcil9O3JldHVybiBCaWdOdW1iZXJ9KCk7ZXhwb3J0cy5CaWdOdW1iZXI9QmlnTnVtYmVyO2Z1bmN0aW9uIHRvSGV4KHZhbHVlKXtpZih0eXBlb2YgdmFsdWUhPT0ic3RyaW5nIil7cmV0dXJuIHRvSGV4KHZhbHVlLnRvU3RyaW5nKDE2KSl9aWYodmFsdWVbMF09PT0iLSIpe3ZhbHVlPXZhbHVlLnN1YnN0cmluZygxKTtpZih2YWx1ZVswXT09PSItIil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBoZXgiLCJ2YWx1ZSIsdmFsdWUpfXZhbHVlPXRvSGV4KHZhbHVlKTtpZih2YWx1ZT09PSIweDAwIil7cmV0dXJuIHZhbHVlfXJldHVybiItIit2YWx1ZX1pZih2YWx1ZS5zdWJzdHJpbmcoMCwyKSE9PSIweCIpe3ZhbHVlPSIweCIrdmFsdWV9aWYodmFsdWU9PT0iMHgiKXtyZXR1cm4iMHgwMCJ9aWYodmFsdWUubGVuZ3RoJTIpe3ZhbHVlPSIweDAiK3ZhbHVlLnN1YnN0cmluZygyKX13aGlsZSh2YWx1ZS5sZW5ndGg+NCYmdmFsdWUuc3Vic3RyaW5nKDAsNCk9PT0iMHgwMCIpe3ZhbHVlPSIweCIrdmFsdWUuc3Vic3RyaW5nKDQpfXJldHVybiB2YWx1ZX1mdW5jdGlvbiB0b0JpZ051bWJlcih2YWx1ZSl7cmV0dXJuIEJpZ051bWJlci5mcm9tKHRvSGV4KHZhbHVlKSl9ZnVuY3Rpb24gdG9CTih2YWx1ZSl7dmFyIGhleD1CaWdOdW1iZXIuZnJvbSh2YWx1ZSkudG9IZXhTdHJpbmcoKTtpZihoZXhbMF09PT0iLSIpe3JldHVybiBuZXcgQk4oIi0iK2hleC5zdWJzdHJpbmcoMyksMTYpfXJldHVybiBuZXcgQk4oaGV4LnN1YnN0cmluZygyKSwxNil9ZnVuY3Rpb24gdGhyb3dGYXVsdChmYXVsdCxvcGVyYXRpb24sdmFsdWUpe3ZhciBwYXJhbXM9e2ZhdWx0OmZhdWx0LG9wZXJhdGlvbjpvcGVyYXRpb259O2lmKHZhbHVlIT1udWxsKXtwYXJhbXMudmFsdWU9dmFsdWV9cmV0dXJuIGxvZ2dlci50aHJvd0Vycm9yKGZhdWx0LGxpYi5Mb2dnZXIuZXJyb3JzLk5VTUVSSUNfRkFVTFQscGFyYW1zKX1mdW5jdGlvbiBfYmFzZTM2VG8xNih2YWx1ZSl7cmV0dXJuIG5ldyBCTih2YWx1ZSwzNikudG9TdHJpbmcoMTYpfWV4cG9ydHMuX2Jhc2UzNlRvMTY9X2Jhc2UzNlRvMTY7ZnVuY3Rpb24gX2Jhc2UxNlRvMzYodmFsdWUpe3JldHVybiBuZXcgQk4odmFsdWUsMTYpLnRvU3RyaW5nKDM2KX1leHBvcnRzLl9iYXNlMTZUbzM2PV9iYXNlMTZUbzM2fSk7dmFyIGJpZ251bWJlciQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGJpZ251bWJlcik7dmFyIGZpeGVkbnVtYmVyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5GaXhlZE51bWJlcj1leHBvcnRzLkZpeGVkRm9ybWF0PWV4cG9ydHMucGFyc2VGaXhlZD1leHBvcnRzLmZvcm1hdEZpeGVkPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJDQudmVyc2lvbik7dmFyIF9jb25zdHJ1Y3Rvckd1YXJkPXt9O3ZhciBaZXJvPWJpZ251bWJlci5CaWdOdW1iZXIuZnJvbSgwKTt2YXIgTmVnYXRpdmVPbmU9YmlnbnVtYmVyLkJpZ051bWJlci5mcm9tKC0xKTtmdW5jdGlvbiB0aHJvd0ZhdWx0KG1lc3NhZ2UsZmF1bHQsb3BlcmF0aW9uLHZhbHVlKXt2YXIgcGFyYW1zPXtmYXVsdDpmYXVsdCxvcGVyYXRpb246b3BlcmF0aW9ufTtpZih2YWx1ZSE9PXVuZGVmaW5lZCl7cGFyYW1zLnZhbHVlPXZhbHVlfXJldHVybiBsb2dnZXIudGhyb3dFcnJvcihtZXNzYWdlLGxpYi5Mb2dnZXIuZXJyb3JzLk5VTUVSSUNfRkFVTFQscGFyYW1zKX12YXIgemVyb3M9IjAiO3doaWxlKHplcm9zLmxlbmd0aDwyNTYpe3plcm9zKz16ZXJvc31mdW5jdGlvbiBnZXRNdWx0aXBsaWVyKGRlY2ltYWxzKXtpZih0eXBlb2YgZGVjaW1hbHMhPT0ibnVtYmVyIil7dHJ5e2RlY2ltYWxzPWJpZ251bWJlci5CaWdOdW1iZXIuZnJvbShkZWNpbWFscykudG9OdW1iZXIoKX1jYXRjaChlKXt9fWlmKHR5cGVvZiBkZWNpbWFscz09PSJudW1iZXIiJiZkZWNpbWFscz49MCYmZGVjaW1hbHM8PTI1NiYmIShkZWNpbWFscyUxKSl7cmV0dXJuIjEiK3plcm9zLnN1YnN0cmluZygwLGRlY2ltYWxzKX1yZXR1cm4gbG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBkZWNpbWFsIHNpemUiLCJkZWNpbWFscyIsZGVjaW1hbHMpfWZ1bmN0aW9uIGZvcm1hdEZpeGVkKHZhbHVlLGRlY2ltYWxzKXtpZihkZWNpbWFscz09bnVsbCl7ZGVjaW1hbHM9MH12YXIgbXVsdGlwbGllcj1nZXRNdWx0aXBsaWVyKGRlY2ltYWxzKTt2YWx1ZT1iaWdudW1iZXIuQmlnTnVtYmVyLmZyb20odmFsdWUpO3ZhciBuZWdhdGl2ZT12YWx1ZS5sdChaZXJvKTtpZihuZWdhdGl2ZSl7dmFsdWU9dmFsdWUubXVsKE5lZ2F0aXZlT25lKX12YXIgZnJhY3Rpb249dmFsdWUubW9kKG11bHRpcGxpZXIpLnRvU3RyaW5nKCk7d2hpbGUoZnJhY3Rpb24ubGVuZ3RoPG11bHRpcGxpZXIubGVuZ3RoLTEpe2ZyYWN0aW9uPSIwIitmcmFjdGlvbn1mcmFjdGlvbj1mcmFjdGlvbi5tYXRjaCgvXihbMC05XSpbMS05XXwwKSgwKikvKVsxXTt2YXIgd2hvbGU9dmFsdWUuZGl2KG11bHRpcGxpZXIpLnRvU3RyaW5nKCk7aWYobXVsdGlwbGllci5sZW5ndGg9PT0xKXt2YWx1ZT13aG9sZX1lbHNle3ZhbHVlPXdob2xlKyIuIitmcmFjdGlvbn1pZihuZWdhdGl2ZSl7dmFsdWU9Ii0iK3ZhbHVlfXJldHVybiB2YWx1ZX1leHBvcnRzLmZvcm1hdEZpeGVkPWZvcm1hdEZpeGVkO2Z1bmN0aW9uIHBhcnNlRml4ZWQodmFsdWUsZGVjaW1hbHMpe2lmKGRlY2ltYWxzPT1udWxsKXtkZWNpbWFscz0wfXZhciBtdWx0aXBsaWVyPWdldE11bHRpcGxpZXIoZGVjaW1hbHMpO2lmKHR5cGVvZiB2YWx1ZSE9PSJzdHJpbmcifHwhdmFsdWUubWF0Y2goL14tP1swLTkuXSskLykpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZGVjaW1hbCB2YWx1ZSIsInZhbHVlIix2YWx1ZSl9dmFyIG5lZ2F0aXZlPXZhbHVlLnN1YnN0cmluZygwLDEpPT09Ii0iO2lmKG5lZ2F0aXZlKXt2YWx1ZT12YWx1ZS5zdWJzdHJpbmcoMSl9aWYodmFsdWU9PT0iLiIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoIm1pc3NpbmcgdmFsdWUiLCJ2YWx1ZSIsdmFsdWUpfXZhciBjb21wcz12YWx1ZS5zcGxpdCgiLiIpO2lmKGNvbXBzLmxlbmd0aD4yKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJ0b28gbWFueSBkZWNpbWFsIHBvaW50cyIsInZhbHVlIix2YWx1ZSl9dmFyIHdob2xlPWNvbXBzWzBdLGZyYWN0aW9uPWNvbXBzWzFdO2lmKCF3aG9sZSl7d2hvbGU9IjAifWlmKCFmcmFjdGlvbil7ZnJhY3Rpb249IjAifXdoaWxlKGZyYWN0aW9uW2ZyYWN0aW9uLmxlbmd0aC0xXT09PSIwIil7ZnJhY3Rpb249ZnJhY3Rpb24uc3Vic3RyaW5nKDAsZnJhY3Rpb24ubGVuZ3RoLTEpfWlmKGZyYWN0aW9uLmxlbmd0aD5tdWx0aXBsaWVyLmxlbmd0aC0xKXt0aHJvd0ZhdWx0KCJmcmFjdGlvbmFsIGNvbXBvbmVudCBleGNlZWRzIGRlY2ltYWxzIiwidW5kZXJmbG93IiwicGFyc2VGaXhlZCIpfWlmKGZyYWN0aW9uPT09IiIpe2ZyYWN0aW9uPSIwIn13aGlsZShmcmFjdGlvbi5sZW5ndGg8bXVsdGlwbGllci5sZW5ndGgtMSl7ZnJhY3Rpb24rPSIwIn12YXIgd2hvbGVWYWx1ZT1iaWdudW1iZXIuQmlnTnVtYmVyLmZyb20od2hvbGUpO3ZhciBmcmFjdGlvblZhbHVlPWJpZ251bWJlci5CaWdOdW1iZXIuZnJvbShmcmFjdGlvbik7dmFyIHdlaT13aG9sZVZhbHVlLm11bChtdWx0aXBsaWVyKS5hZGQoZnJhY3Rpb25WYWx1ZSk7aWYobmVnYXRpdmUpe3dlaT13ZWkubXVsKE5lZ2F0aXZlT25lKX1yZXR1cm4gd2VpfWV4cG9ydHMucGFyc2VGaXhlZD1wYXJzZUZpeGVkO3ZhciBGaXhlZEZvcm1hdD1mdW5jdGlvbigpe2Z1bmN0aW9uIEZpeGVkRm9ybWF0KGNvbnN0cnVjdG9yR3VhcmQsc2lnbmVkLHdpZHRoLGRlY2ltYWxzKXtpZihjb25zdHJ1Y3Rvckd1YXJkIT09X2NvbnN0cnVjdG9yR3VhcmQpe2xvZ2dlci50aHJvd0Vycm9yKCJjYW5ub3QgdXNlIEZpeGVkRm9ybWF0IGNvbnN0cnVjdG9yOyB1c2UgRml4ZWRGb3JtYXQuZnJvbSIsbGliLkxvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246Im5ldyBGaXhlZEZvcm1hdCJ9KX10aGlzLnNpZ25lZD1zaWduZWQ7dGhpcy53aWR0aD13aWR0aDt0aGlzLmRlY2ltYWxzPWRlY2ltYWxzO3RoaXMubmFtZT0oc2lnbmVkPyIiOiJ1IikrImZpeGVkIitTdHJpbmcod2lkdGgpKyJ4IitTdHJpbmcoZGVjaW1hbHMpO3RoaXMuX211bHRpcGxpZXI9Z2V0TXVsdGlwbGllcihkZWNpbWFscyk7T2JqZWN0LmZyZWV6ZSh0aGlzKX1GaXhlZEZvcm1hdC5mcm9tPWZ1bmN0aW9uKHZhbHVlKXtpZih2YWx1ZSBpbnN0YW5jZW9mIEZpeGVkRm9ybWF0KXtyZXR1cm4gdmFsdWV9aWYodHlwZW9mIHZhbHVlPT09Im51bWJlciIpe3ZhbHVlPSJmaXhlZDEyOHgiK3ZhbHVlfXZhciBzaWduZWQ9dHJ1ZTt2YXIgd2lkdGg9MTI4O3ZhciBkZWNpbWFscz0xODtpZih0eXBlb2YgdmFsdWU9PT0ic3RyaW5nIil7aWYodmFsdWU9PT0iZml4ZWQiKXt9ZWxzZSBpZih2YWx1ZT09PSJ1Zml4ZWQiKXtzaWduZWQ9ZmFsc2V9ZWxzZXt2YXIgbWF0Y2g9dmFsdWUubWF0Y2goL14odT8pZml4ZWQoWzAtOV0rKXgoWzAtOV0rKSQvKTtpZighbWF0Y2gpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZml4ZWQgZm9ybWF0IiwiZm9ybWF0Iix2YWx1ZSl9c2lnbmVkPW1hdGNoWzFdIT09InUiO3dpZHRoPXBhcnNlSW50KG1hdGNoWzJdKTtkZWNpbWFscz1wYXJzZUludChtYXRjaFszXSl9fWVsc2UgaWYodmFsdWUpe3ZhciBjaGVjaz1mdW5jdGlvbihrZXksdHlwZSxkZWZhdWx0VmFsdWUpe2lmKHZhbHVlW2tleV09PW51bGwpe3JldHVybiBkZWZhdWx0VmFsdWV9aWYodHlwZW9mIHZhbHVlW2tleV0hPT10eXBlKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGZpeGVkIGZvcm1hdCAoIitrZXkrIiBub3QgIit0eXBlKyIpIiwiZm9ybWF0LiIra2V5LHZhbHVlW2tleV0pfXJldHVybiB2YWx1ZVtrZXldfTtzaWduZWQ9Y2hlY2soInNpZ25lZCIsImJvb2xlYW4iLHNpZ25lZCk7d2lkdGg9Y2hlY2soIndpZHRoIiwibnVtYmVyIix3aWR0aCk7ZGVjaW1hbHM9Y2hlY2soImRlY2ltYWxzIiwibnVtYmVyIixkZWNpbWFscyl9aWYod2lkdGglOCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBmaXhlZCBmb3JtYXQgd2lkdGggKG5vdCBieXRlIGFsaWduZWQpIiwiZm9ybWF0LndpZHRoIix3aWR0aCl9aWYoZGVjaW1hbHM+ODApe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZml4ZWQgZm9ybWF0IChkZWNpbWFscyB0b28gbGFyZ2UpIiwiZm9ybWF0LmRlY2ltYWxzIixkZWNpbWFscyl9cmV0dXJuIG5ldyBGaXhlZEZvcm1hdChfY29uc3RydWN0b3JHdWFyZCxzaWduZWQsd2lkdGgsZGVjaW1hbHMpfTtyZXR1cm4gRml4ZWRGb3JtYXR9KCk7ZXhwb3J0cy5GaXhlZEZvcm1hdD1GaXhlZEZvcm1hdDt2YXIgRml4ZWROdW1iZXI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBGaXhlZE51bWJlcihjb25zdHJ1Y3Rvckd1YXJkLGhleCx2YWx1ZSxmb3JtYXQpe2lmKGNvbnN0cnVjdG9yR3VhcmQhPT1fY29uc3RydWN0b3JHdWFyZCl7bG9nZ2VyLnRocm93RXJyb3IoImNhbm5vdCB1c2UgRml4ZWROdW1iZXIgY29uc3RydWN0b3I7IHVzZSBGaXhlZE51bWJlci5mcm9tIixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoibmV3IEZpeGVkRm9ybWF0In0pfXRoaXMuZm9ybWF0PWZvcm1hdDt0aGlzLl9oZXg9aGV4O3RoaXMuX3ZhbHVlPXZhbHVlO3RoaXMuX2lzRml4ZWROdW1iZXI9dHJ1ZTtPYmplY3QuZnJlZXplKHRoaXMpfUZpeGVkTnVtYmVyLnByb3RvdHlwZS5fY2hlY2tGb3JtYXQ9ZnVuY3Rpb24ob3RoZXIpe2lmKHRoaXMuZm9ybWF0Lm5hbWUhPT1vdGhlci5mb3JtYXQubmFtZSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW5jb21wYXRpYmxlIGZvcm1hdDsgdXNlIGZpeGVkTnVtYmVyLnRvRm9ybWF0Iiwib3RoZXIiLG90aGVyKX19O0ZpeGVkTnVtYmVyLnByb3RvdHlwZS5hZGRVbnNhZmU9ZnVuY3Rpb24ob3RoZXIpe3RoaXMuX2NoZWNrRm9ybWF0KG90aGVyKTt2YXIgYT1wYXJzZUZpeGVkKHRoaXMuX3ZhbHVlLHRoaXMuZm9ybWF0LmRlY2ltYWxzKTt2YXIgYj1wYXJzZUZpeGVkKG90aGVyLl92YWx1ZSxvdGhlci5mb3JtYXQuZGVjaW1hbHMpO3JldHVybiBGaXhlZE51bWJlci5mcm9tVmFsdWUoYS5hZGQoYiksdGhpcy5mb3JtYXQuZGVjaW1hbHMsdGhpcy5mb3JtYXQpfTtGaXhlZE51bWJlci5wcm90b3R5cGUuc3ViVW5zYWZlPWZ1bmN0aW9uKG90aGVyKXt0aGlzLl9jaGVja0Zvcm1hdChvdGhlcik7dmFyIGE9cGFyc2VGaXhlZCh0aGlzLl92YWx1ZSx0aGlzLmZvcm1hdC5kZWNpbWFscyk7dmFyIGI9cGFyc2VGaXhlZChvdGhlci5fdmFsdWUsb3RoZXIuZm9ybWF0LmRlY2ltYWxzKTtyZXR1cm4gRml4ZWROdW1iZXIuZnJvbVZhbHVlKGEuc3ViKGIpLHRoaXMuZm9ybWF0LmRlY2ltYWxzLHRoaXMuZm9ybWF0KX07Rml4ZWROdW1iZXIucHJvdG90eXBlLm11bFVuc2FmZT1mdW5jdGlvbihvdGhlcil7dGhpcy5fY2hlY2tGb3JtYXQob3RoZXIpO3ZhciBhPXBhcnNlRml4ZWQodGhpcy5fdmFsdWUsdGhpcy5mb3JtYXQuZGVjaW1hbHMpO3ZhciBiPXBhcnNlRml4ZWQob3RoZXIuX3ZhbHVlLG90aGVyLmZvcm1hdC5kZWNpbWFscyk7cmV0dXJuIEZpeGVkTnVtYmVyLmZyb21WYWx1ZShhLm11bChiKS5kaXYodGhpcy5mb3JtYXQuX211bHRpcGxpZXIpLHRoaXMuZm9ybWF0LmRlY2ltYWxzLHRoaXMuZm9ybWF0KX07Rml4ZWROdW1iZXIucHJvdG90eXBlLmRpdlVuc2FmZT1mdW5jdGlvbihvdGhlcil7dGhpcy5fY2hlY2tGb3JtYXQob3RoZXIpO3ZhciBhPXBhcnNlRml4ZWQodGhpcy5fdmFsdWUsdGhpcy5mb3JtYXQuZGVjaW1hbHMpO3ZhciBiPXBhcnNlRml4ZWQob3RoZXIuX3ZhbHVlLG90aGVyLmZvcm1hdC5kZWNpbWFscyk7cmV0dXJuIEZpeGVkTnVtYmVyLmZyb21WYWx1ZShhLm11bCh0aGlzLmZvcm1hdC5fbXVsdGlwbGllcikuZGl2KGIpLHRoaXMuZm9ybWF0LmRlY2ltYWxzLHRoaXMuZm9ybWF0KX07Rml4ZWROdW1iZXIucHJvdG90eXBlLmZsb29yPWZ1bmN0aW9uKCl7dmFyIGNvbXBzPXRoaXMudG9TdHJpbmcoKS5zcGxpdCgiLiIpO2lmKGNvbXBzLmxlbmd0aD09PTEpe2NvbXBzLnB1c2goIjAiKX12YXIgcmVzdWx0PUZpeGVkTnVtYmVyLmZyb20oY29tcHNbMF0sdGhpcy5mb3JtYXQpO3ZhciBoYXNGcmFjdGlvbj0hY29tcHNbMV0ubWF0Y2goL14oMCopJC8pO2lmKHRoaXMuaXNOZWdhdGl2ZSgpJiZoYXNGcmFjdGlvbil7cmVzdWx0PXJlc3VsdC5zdWJVbnNhZmUoT05FLnRvRm9ybWF0KHJlc3VsdC5mb3JtYXQpKX1yZXR1cm4gcmVzdWx0fTtGaXhlZE51bWJlci5wcm90b3R5cGUuY2VpbGluZz1mdW5jdGlvbigpe3ZhciBjb21wcz10aGlzLnRvU3RyaW5nKCkuc3BsaXQoIi4iKTtpZihjb21wcy5sZW5ndGg9PT0xKXtjb21wcy5wdXNoKCIwIil9dmFyIHJlc3VsdD1GaXhlZE51bWJlci5mcm9tKGNvbXBzWzBdLHRoaXMuZm9ybWF0KTt2YXIgaGFzRnJhY3Rpb249IWNvbXBzWzFdLm1hdGNoKC9eKDAqKSQvKTtpZighdGhpcy5pc05lZ2F0aXZlKCkmJmhhc0ZyYWN0aW9uKXtyZXN1bHQ9cmVzdWx0LmFkZFVuc2FmZShPTkUudG9Gb3JtYXQocmVzdWx0LmZvcm1hdCkpfXJldHVybiByZXN1bHR9O0ZpeGVkTnVtYmVyLnByb3RvdHlwZS5yb3VuZD1mdW5jdGlvbihkZWNpbWFscyl7aWYoZGVjaW1hbHM9PW51bGwpe2RlY2ltYWxzPTB9dmFyIGNvbXBzPXRoaXMudG9TdHJpbmcoKS5zcGxpdCgiLiIpO2lmKGNvbXBzLmxlbmd0aD09PTEpe2NvbXBzLnB1c2goIjAiKX1pZihkZWNpbWFsczwwfHxkZWNpbWFscz44MHx8ZGVjaW1hbHMlMSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBkZWNpbWFsIGNvdW50IiwiZGVjaW1hbHMiLGRlY2ltYWxzKX1pZihjb21wc1sxXS5sZW5ndGg8PWRlY2ltYWxzKXtyZXR1cm4gdGhpc312YXIgZmFjdG9yPUZpeGVkTnVtYmVyLmZyb20oIjEiK3plcm9zLnN1YnN0cmluZygwLGRlY2ltYWxzKSx0aGlzLmZvcm1hdCk7dmFyIGJ1bXA9QlVNUC50b0Zvcm1hdCh0aGlzLmZvcm1hdCk7cmV0dXJuIHRoaXMubXVsVW5zYWZlKGZhY3RvcikuYWRkVW5zYWZlKGJ1bXApLmZsb29yKCkuZGl2VW5zYWZlKGZhY3Rvcil9O0ZpeGVkTnVtYmVyLnByb3RvdHlwZS5pc1plcm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdmFsdWU9PT0iMC4wInx8dGhpcy5fdmFsdWU9PT0iMCJ9O0ZpeGVkTnVtYmVyLnByb3RvdHlwZS5pc05lZ2F0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3ZhbHVlWzBdPT09Ii0ifTtGaXhlZE51bWJlci5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdmFsdWV9O0ZpeGVkTnVtYmVyLnByb3RvdHlwZS50b0hleFN0cmluZz1mdW5jdGlvbih3aWR0aCl7aWYod2lkdGg9PW51bGwpe3JldHVybiB0aGlzLl9oZXh9aWYod2lkdGglOCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBieXRlIHdpZHRoIiwid2lkdGgiLHdpZHRoKX12YXIgaGV4PWJpZ251bWJlci5CaWdOdW1iZXIuZnJvbSh0aGlzLl9oZXgpLmZyb21Ud29zKHRoaXMuZm9ybWF0LndpZHRoKS50b1R3b3Mod2lkdGgpLnRvSGV4U3RyaW5nKCk7cmV0dXJuKDAsbGliJDEuaGV4WmVyb1BhZCkoaGV4LHdpZHRoLzgpfTtGaXhlZE51bWJlci5wcm90b3R5cGUudG9VbnNhZmVGbG9hdD1mdW5jdGlvbigpe3JldHVybiBwYXJzZUZsb2F0KHRoaXMudG9TdHJpbmcoKSl9O0ZpeGVkTnVtYmVyLnByb3RvdHlwZS50b0Zvcm1hdD1mdW5jdGlvbihmb3JtYXQpe3JldHVybiBGaXhlZE51bWJlci5mcm9tU3RyaW5nKHRoaXMuX3ZhbHVlLGZvcm1hdCl9O0ZpeGVkTnVtYmVyLmZyb21WYWx1ZT1mdW5jdGlvbih2YWx1ZSxkZWNpbWFscyxmb3JtYXQpe2lmKGZvcm1hdD09bnVsbCYmZGVjaW1hbHMhPW51bGwmJiEoMCxiaWdudW1iZXIuaXNCaWdOdW1iZXJpc2gpKGRlY2ltYWxzKSl7Zm9ybWF0PWRlY2ltYWxzO2RlY2ltYWxzPW51bGx9aWYoZGVjaW1hbHM9PW51bGwpe2RlY2ltYWxzPTB9aWYoZm9ybWF0PT1udWxsKXtmb3JtYXQ9ImZpeGVkIn1yZXR1cm4gRml4ZWROdW1iZXIuZnJvbVN0cmluZyhmb3JtYXRGaXhlZCh2YWx1ZSxkZWNpbWFscyksRml4ZWRGb3JtYXQuZnJvbShmb3JtYXQpKX07Rml4ZWROdW1iZXIuZnJvbVN0cmluZz1mdW5jdGlvbih2YWx1ZSxmb3JtYXQpe2lmKGZvcm1hdD09bnVsbCl7Zm9ybWF0PSJmaXhlZCJ9dmFyIGZpeGVkRm9ybWF0PUZpeGVkRm9ybWF0LmZyb20oZm9ybWF0KTt2YXIgbnVtZXJpYz1wYXJzZUZpeGVkKHZhbHVlLGZpeGVkRm9ybWF0LmRlY2ltYWxzKTtpZighZml4ZWRGb3JtYXQuc2lnbmVkJiZudW1lcmljLmx0KFplcm8pKXt0aHJvd0ZhdWx0KCJ1bnNpZ25lZCB2YWx1ZSBjYW5ub3QgYmUgbmVnYXRpdmUiLCJvdmVyZmxvdyIsInZhbHVlIix2YWx1ZSl9dmFyIGhleD1udWxsO2lmKGZpeGVkRm9ybWF0LnNpZ25lZCl7aGV4PW51bWVyaWMudG9Ud29zKGZpeGVkRm9ybWF0LndpZHRoKS50b0hleFN0cmluZygpfWVsc2V7aGV4PW51bWVyaWMudG9IZXhTdHJpbmcoKTtoZXg9KDAsbGliJDEuaGV4WmVyb1BhZCkoaGV4LGZpeGVkRm9ybWF0LndpZHRoLzgpfXZhciBkZWNpbWFsPWZvcm1hdEZpeGVkKG51bWVyaWMsZml4ZWRGb3JtYXQuZGVjaW1hbHMpO3JldHVybiBuZXcgRml4ZWROdW1iZXIoX2NvbnN0cnVjdG9yR3VhcmQsaGV4LGRlY2ltYWwsZml4ZWRGb3JtYXQpfTtGaXhlZE51bWJlci5mcm9tQnl0ZXM9ZnVuY3Rpb24odmFsdWUsZm9ybWF0KXtpZihmb3JtYXQ9PW51bGwpe2Zvcm1hdD0iZml4ZWQifXZhciBmaXhlZEZvcm1hdD1GaXhlZEZvcm1hdC5mcm9tKGZvcm1hdCk7aWYoKDAsbGliJDEuYXJyYXlpZnkpKHZhbHVlKS5sZW5ndGg+Zml4ZWRGb3JtYXQud2lkdGgvOCl7dGhyb3cgbmV3IEVycm9yKCJvdmVyZmxvdyIpfXZhciBudW1lcmljPWJpZ251bWJlci5CaWdOdW1iZXIuZnJvbSh2YWx1ZSk7aWYoZml4ZWRGb3JtYXQuc2lnbmVkKXtudW1lcmljPW51bWVyaWMuZnJvbVR3b3MoZml4ZWRGb3JtYXQud2lkdGgpfXZhciBoZXg9bnVtZXJpYy50b1R3b3MoKGZpeGVkRm9ybWF0LnNpZ25lZD8wOjEpK2ZpeGVkRm9ybWF0LndpZHRoKS50b0hleFN0cmluZygpO3ZhciBkZWNpbWFsPWZvcm1hdEZpeGVkKG51bWVyaWMsZml4ZWRGb3JtYXQuZGVjaW1hbHMpO3JldHVybiBuZXcgRml4ZWROdW1iZXIoX2NvbnN0cnVjdG9yR3VhcmQsaGV4LGRlY2ltYWwsZml4ZWRGb3JtYXQpfTtGaXhlZE51bWJlci5mcm9tPWZ1bmN0aW9uKHZhbHVlLGZvcm1hdCl7aWYodHlwZW9mIHZhbHVlPT09InN0cmluZyIpe3JldHVybiBGaXhlZE51bWJlci5mcm9tU3RyaW5nKHZhbHVlLGZvcm1hdCl9aWYoKDAsbGliJDEuaXNCeXRlcykodmFsdWUpKXtyZXR1cm4gRml4ZWROdW1iZXIuZnJvbUJ5dGVzKHZhbHVlLGZvcm1hdCl9dHJ5e3JldHVybiBGaXhlZE51bWJlci5mcm9tVmFsdWUodmFsdWUsMCxmb3JtYXQpfWNhdGNoKGVycm9yKXtpZihlcnJvci5jb2RlIT09bGliLkxvZ2dlci5lcnJvcnMuSU5WQUxJRF9BUkdVTUVOVCl7dGhyb3cgZXJyb3J9fXJldHVybiBsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIEZpeGVkTnVtYmVyIHZhbHVlIiwidmFsdWUiLHZhbHVlKX07Rml4ZWROdW1iZXIuaXNGaXhlZE51bWJlcj1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuISEodmFsdWUmJnZhbHVlLl9pc0ZpeGVkTnVtYmVyKX07cmV0dXJuIEZpeGVkTnVtYmVyfSgpO2V4cG9ydHMuRml4ZWROdW1iZXI9Rml4ZWROdW1iZXI7dmFyIE9ORT1GaXhlZE51bWJlci5mcm9tKDEpO3ZhciBCVU1QPUZpeGVkTnVtYmVyLmZyb20oIjAuNSIpfSk7dmFyIGZpeGVkbnVtYmVyJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoZml4ZWRudW1iZXIpO3ZhciBsaWIkMj1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuX2Jhc2UzNlRvMTY9ZXhwb3J0cy5fYmFzZTE2VG8zNj1leHBvcnRzLnBhcnNlRml4ZWQ9ZXhwb3J0cy5GaXhlZE51bWJlcj1leHBvcnRzLkZpeGVkRm9ybWF0PWV4cG9ydHMuZm9ybWF0Rml4ZWQ9ZXhwb3J0cy5CaWdOdW1iZXI9dm9pZCAwO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJCaWdOdW1iZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGJpZ251bWJlci5CaWdOdW1iZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImZvcm1hdEZpeGVkIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBmaXhlZG51bWJlci5mb3JtYXRGaXhlZH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiRml4ZWRGb3JtYXQiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZpeGVkbnVtYmVyLkZpeGVkRm9ybWF0fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJGaXhlZE51bWJlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZml4ZWRudW1iZXIuRml4ZWROdW1iZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsInBhcnNlRml4ZWQiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZpeGVkbnVtYmVyLnBhcnNlRml4ZWR9fSk7dmFyIGJpZ251bWJlcl8yPWJpZ251bWJlcjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX2Jhc2UxNlRvMzYiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGJpZ251bWJlcl8yLl9iYXNlMTZUbzM2fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfYmFzZTM2VG8xNiIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYmlnbnVtYmVyXzIuX2Jhc2UzNlRvMTZ9fSl9KTt2YXIgaW5kZXgkMj1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhsaWIkMik7dmFyIF92ZXJzaW9uJDY9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnZlcnNpb249dm9pZCAwO2V4cG9ydHMudmVyc2lvbj0icHJvcGVydGllcy81LjcuMCJ9KTt2YXIgX3ZlcnNpb24kNz1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhfdmVyc2lvbiQ2KTt2YXIgbGliJDM9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgX19hd2FpdGVyPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHRoaXNBcmcsX2FyZ3VtZW50cyxQLGdlbmVyYXRvcil7ZnVuY3Rpb24gYWRvcHQodmFsdWUpe3JldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFA/dmFsdWU6bmV3IFAoZnVuY3Rpb24ocmVzb2x2ZSl7cmVzb2x2ZSh2YWx1ZSl9KX1yZXR1cm4gbmV3KFB8fChQPVByb21pc2UpKShmdW5jdGlvbihyZXNvbHZlLHJlamVjdCl7ZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKXt0cnl7c3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpfWNhdGNoKGUpe3JlamVjdChlKX19ZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpe3RyeXtzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpfWNhdGNoKGUpe3JlamVjdChlKX19ZnVuY3Rpb24gc3RlcChyZXN1bHQpe3Jlc3VsdC5kb25lP3Jlc29sdmUocmVzdWx0LnZhbHVlKTphZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLHJlamVjdGVkKX1zdGVwKChnZW5lcmF0b3I9Z2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsX2FyZ3VtZW50c3x8W10pKS5uZXh0KCkpfSl9O3ZhciBfX2dlbmVyYXRvcj1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKHRoaXNBcmcsYm9keSl7dmFyIF89e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKHRbMF0mMSl0aHJvdyB0WzFdO3JldHVybiB0WzFdfSx0cnlzOltdLG9wczpbXX0sZix5LHQsZztyZXR1cm4gZz17bmV4dDp2ZXJiKDApLHRocm93OnZlcmIoMSkscmV0dXJuOnZlcmIoMil9LHR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiYoZ1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxnO2Z1bmN0aW9uIHZlcmIobil7cmV0dXJuIGZ1bmN0aW9uKHYpe3JldHVybiBzdGVwKFtuLHZdKX19ZnVuY3Rpb24gc3RlcChvcCl7aWYoZil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7d2hpbGUoXyl0cnl7aWYoZj0xLHkmJih0PW9wWzBdJjI/eVsicmV0dXJuIl06b3BbMF0/eVsidGhyb3ciXXx8KCh0PXlbInJldHVybiJdKSYmdC5jYWxsKHkpLDApOnkubmV4dCkmJiEodD10LmNhbGwoeSxvcFsxXSkpLmRvbmUpcmV0dXJuIHQ7aWYoeT0wLHQpb3A9W29wWzBdJjIsdC52YWx1ZV07c3dpdGNoKG9wWzBdKXtjYXNlIDA6Y2FzZSAxOnQ9b3A7YnJlYWs7Y2FzZSA0Ol8ubGFiZWwrKztyZXR1cm57dmFsdWU6b3BbMV0sZG9uZTpmYWxzZX07Y2FzZSA1Ol8ubGFiZWwrKzt5PW9wWzFdO29wPVswXTtjb250aW51ZTtjYXNlIDc6b3A9Xy5vcHMucG9wKCk7Xy50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISh0PV8udHJ5cyx0PXQubGVuZ3RoPjAmJnRbdC5sZW5ndGgtMV0pJiYob3BbMF09PT02fHxvcFswXT09PTIpKXtfPTA7Y29udGludWV9aWYob3BbMF09PT0zJiYoIXR8fG9wWzFdPnRbMF0mJm9wWzFdPHRbM10pKXtfLmxhYmVsPW9wWzFdO2JyZWFrfWlmKG9wWzBdPT09NiYmXy5sYWJlbDx0WzFdKXtfLmxhYmVsPXRbMV07dD1vcDticmVha31pZih0JiZfLmxhYmVsPHRbMl0pe18ubGFiZWw9dFsyXTtfLm9wcy5wdXNoKG9wKTticmVha31pZih0WzJdKV8ub3BzLnBvcCgpO18udHJ5cy5wb3AoKTtjb250aW51ZX1vcD1ib2R5LmNhbGwodGhpc0FyZyxfKX1jYXRjaChlKXtvcD1bNixlXTt5PTB9ZmluYWxseXtmPXQ9MH1pZihvcFswXSY1KXRocm93IG9wWzFdO3JldHVybnt2YWx1ZTpvcFswXT9vcFsxXTp2b2lkIDAsZG9uZTp0cnVlfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuRGVzY3JpcHRpb249ZXhwb3J0cy5kZWVwQ29weT1leHBvcnRzLnNoYWxsb3dDb3B5PWV4cG9ydHMuY2hlY2tQcm9wZXJ0aWVzPWV4cG9ydHMucmVzb2x2ZVByb3BlcnRpZXM9ZXhwb3J0cy5nZXRTdGF0aWM9ZXhwb3J0cy5kZWZpbmVSZWFkT25seT12b2lkIDA7dmFyIGxvZ2dlcj1uZXcgbGliLkxvZ2dlcihfdmVyc2lvbiQ2LnZlcnNpb24pO2Z1bmN0aW9uIGRlZmluZVJlYWRPbmx5KG9iamVjdCxuYW1lLHZhbHVlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqZWN0LG5hbWUse2VudW1lcmFibGU6dHJ1ZSx2YWx1ZTp2YWx1ZSx3cml0YWJsZTpmYWxzZX0pfWV4cG9ydHMuZGVmaW5lUmVhZE9ubHk9ZGVmaW5lUmVhZE9ubHk7ZnVuY3Rpb24gZ2V0U3RhdGljKGN0b3Isa2V5KXtmb3IodmFyIGk9MDtpPDMyO2krKyl7aWYoY3RvcltrZXldKXtyZXR1cm4gY3RvcltrZXldfWlmKCFjdG9yLnByb3RvdHlwZXx8dHlwZW9mIGN0b3IucHJvdG90eXBlIT09Im9iamVjdCIpe2JyZWFrfWN0b3I9T2JqZWN0LmdldFByb3RvdHlwZU9mKGN0b3IucHJvdG90eXBlKS5jb25zdHJ1Y3Rvcn1yZXR1cm4gbnVsbH1leHBvcnRzLmdldFN0YXRpYz1nZXRTdGF0aWM7ZnVuY3Rpb24gcmVzb2x2ZVByb3BlcnRpZXMob2JqZWN0KXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBwcm9taXNlcyxyZXN1bHRzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpwcm9taXNlcz1PYmplY3Qua2V5cyhvYmplY3QpLm1hcChmdW5jdGlvbihrZXkpe3ZhciB2YWx1ZT1vYmplY3Rba2V5XTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHZhbHVlKS50aGVuKGZ1bmN0aW9uKHYpe3JldHVybntrZXk6a2V5LHZhbHVlOnZ9fSl9KTtyZXR1cm5bNCxQcm9taXNlLmFsbChwcm9taXNlcyldO2Nhc2UgMTpyZXN1bHRzPV9hLnNlbnQoKTtyZXR1cm5bMixyZXN1bHRzLnJlZHVjZShmdW5jdGlvbihhY2N1bSxyZXN1bHQpe2FjY3VtW3Jlc3VsdC5rZXldPXJlc3VsdC52YWx1ZTtyZXR1cm4gYWNjdW19LHt9KV19fSl9KX1leHBvcnRzLnJlc29sdmVQcm9wZXJ0aWVzPXJlc29sdmVQcm9wZXJ0aWVzO2Z1bmN0aW9uIGNoZWNrUHJvcGVydGllcyhvYmplY3QscHJvcGVydGllcyl7aWYoIW9iamVjdHx8dHlwZW9mIG9iamVjdCE9PSJvYmplY3QiKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIG9iamVjdCIsIm9iamVjdCIsb2JqZWN0KX1PYmplY3Qua2V5cyhvYmplY3QpLmZvckVhY2goZnVuY3Rpb24oa2V5KXtpZighcHJvcGVydGllc1trZXldKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIG9iamVjdCBrZXkgLSAiK2tleSwidHJhbnNhY3Rpb246IitrZXksb2JqZWN0KX19KX1leHBvcnRzLmNoZWNrUHJvcGVydGllcz1jaGVja1Byb3BlcnRpZXM7ZnVuY3Rpb24gc2hhbGxvd0NvcHkob2JqZWN0KXt2YXIgcmVzdWx0PXt9O2Zvcih2YXIga2V5IGluIG9iamVjdCl7cmVzdWx0W2tleV09b2JqZWN0W2tleV19cmV0dXJuIHJlc3VsdH1leHBvcnRzLnNoYWxsb3dDb3B5PXNoYWxsb3dDb3B5O3ZhciBvcGFxdWU9e2JpZ2ludDp0cnVlLGJvb2xlYW46dHJ1ZSxmdW5jdGlvbjp0cnVlLG51bWJlcjp0cnVlLHN0cmluZzp0cnVlfTtmdW5jdGlvbiBfaXNGcm96ZW4ob2JqZWN0KXtpZihvYmplY3Q9PT11bmRlZmluZWR8fG9iamVjdD09PW51bGx8fG9wYXF1ZVt0eXBlb2Ygb2JqZWN0XSl7cmV0dXJuIHRydWV9aWYoQXJyYXkuaXNBcnJheShvYmplY3QpfHx0eXBlb2Ygb2JqZWN0PT09Im9iamVjdCIpe2lmKCFPYmplY3QuaXNGcm96ZW4ob2JqZWN0KSl7cmV0dXJuIGZhbHNlfXZhciBrZXlzPU9iamVjdC5rZXlzKG9iamVjdCk7Zm9yKHZhciBpPTA7aTxrZXlzLmxlbmd0aDtpKyspe3ZhciB2YWx1ZT1udWxsO3RyeXt2YWx1ZT1vYmplY3Rba2V5c1tpXV19Y2F0Y2goZXJyb3Ipe2NvbnRpbnVlfWlmKCFfaXNGcm96ZW4odmFsdWUpKXtyZXR1cm4gZmFsc2V9fXJldHVybiB0cnVlfXJldHVybiBsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJDYW5ub3QgZGVlcENvcHkgIit0eXBlb2Ygb2JqZWN0LCJvYmplY3QiLG9iamVjdCl9ZnVuY3Rpb24gX2RlZXBDb3B5KG9iamVjdCl7aWYoX2lzRnJvemVuKG9iamVjdCkpe3JldHVybiBvYmplY3R9aWYoQXJyYXkuaXNBcnJheShvYmplY3QpKXtyZXR1cm4gT2JqZWN0LmZyZWV6ZShvYmplY3QubWFwKGZ1bmN0aW9uKGl0ZW0pe3JldHVybiBkZWVwQ29weShpdGVtKX0pKX1pZih0eXBlb2Ygb2JqZWN0PT09Im9iamVjdCIpe3ZhciByZXN1bHQ9e307Zm9yKHZhciBrZXkgaW4gb2JqZWN0KXt2YXIgdmFsdWU9b2JqZWN0W2tleV07aWYodmFsdWU9PT11bmRlZmluZWQpe2NvbnRpbnVlfWRlZmluZVJlYWRPbmx5KHJlc3VsdCxrZXksZGVlcENvcHkodmFsdWUpKX1yZXR1cm4gcmVzdWx0fXJldHVybiBsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJDYW5ub3QgZGVlcENvcHkgIit0eXBlb2Ygb2JqZWN0LCJvYmplY3QiLG9iamVjdCl9ZnVuY3Rpb24gZGVlcENvcHkob2JqZWN0KXtyZXR1cm4gX2RlZXBDb3B5KG9iamVjdCl9ZXhwb3J0cy5kZWVwQ29weT1kZWVwQ29weTt2YXIgRGVzY3JpcHRpb249ZnVuY3Rpb24oKXtmdW5jdGlvbiBEZXNjcmlwdGlvbihpbmZvKXtmb3IodmFyIGtleSBpbiBpbmZvKXt0aGlzW2tleV09ZGVlcENvcHkoaW5mb1trZXldKX19cmV0dXJuIERlc2NyaXB0aW9ufSgpO2V4cG9ydHMuRGVzY3JpcHRpb249RGVzY3JpcHRpb259KTt2YXIgaW5kZXgkMz1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhsaWIkMyk7dmFyIF92ZXJzaW9uJDg9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnZlcnNpb249dm9pZCAwO2V4cG9ydHMudmVyc2lvbj0iYWJpLzUuNy4wIn0pO3ZhciBfdmVyc2lvbiQ5PWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKF92ZXJzaW9uJDgpO3ZhciBmcmFnbWVudHM9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgX19leHRlbmRzPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIGV4dGVuZFN0YXRpY3M9ZnVuY3Rpb24oZCxiKXtleHRlbmRTdGF0aWNzPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihkLGIpe2QuX19wcm90b19fPWJ9fHxmdW5jdGlvbihkLGIpe2Zvcih2YXIgcCBpbiBiKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLHApKWRbcF09YltwXX07cmV0dXJuIGV4dGVuZFN0YXRpY3MoZCxiKX07cmV0dXJuIGZ1bmN0aW9uKGQsYil7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iJiZiIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKGIpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2V4dGVuZFN0YXRpY3MoZCxiKTtmdW5jdGlvbiBfXygpe3RoaXMuY29uc3RydWN0b3I9ZH1kLnByb3RvdHlwZT1iPT09bnVsbD9PYmplY3QuY3JlYXRlKGIpOihfXy5wcm90b3R5cGU9Yi5wcm90b3R5cGUsbmV3IF9fKX19KCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5FcnJvckZyYWdtZW50PWV4cG9ydHMuRnVuY3Rpb25GcmFnbWVudD1leHBvcnRzLkNvbnN0cnVjdG9yRnJhZ21lbnQ9ZXhwb3J0cy5FdmVudEZyYWdtZW50PWV4cG9ydHMuRnJhZ21lbnQ9ZXhwb3J0cy5QYXJhbVR5cGU9ZXhwb3J0cy5Gb3JtYXRUeXBlcz12b2lkIDA7dmFyIGxvZ2dlcj1uZXcgbGliLkxvZ2dlcihfdmVyc2lvbiQ4LnZlcnNpb24pO3ZhciBfY29uc3RydWN0b3JHdWFyZD17fTt2YXIgTW9kaWZpZXJzQnl0ZXM9e2NhbGxkYXRhOnRydWUsbWVtb3J5OnRydWUsc3RvcmFnZTp0cnVlfTt2YXIgTW9kaWZpZXJzTmVzdD17Y2FsbGRhdGE6dHJ1ZSxtZW1vcnk6dHJ1ZX07ZnVuY3Rpb24gY2hlY2tNb2RpZmllcih0eXBlLG5hbWUpe2lmKHR5cGU9PT0iYnl0ZXMifHx0eXBlPT09InN0cmluZyIpe2lmKE1vZGlmaWVyc0J5dGVzW25hbWVdKXtyZXR1cm4gdHJ1ZX19ZWxzZSBpZih0eXBlPT09ImFkZHJlc3MiKXtpZihuYW1lPT09InBheWFibGUiKXtyZXR1cm4gdHJ1ZX19ZWxzZSBpZih0eXBlLmluZGV4T2YoIlsiKT49MHx8dHlwZT09PSJ0dXBsZSIpe2lmKE1vZGlmaWVyc05lc3RbbmFtZV0pe3JldHVybiB0cnVlfX1pZihNb2RpZmllcnNCeXRlc1tuYW1lXXx8bmFtZT09PSJwYXlhYmxlIil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBtb2RpZmllciIsIm5hbWUiLG5hbWUpfXJldHVybiBmYWxzZX1mdW5jdGlvbiBwYXJzZVBhcmFtVHlwZShwYXJhbSxhbGxvd0luZGV4ZWQpe3ZhciBvcmlnaW5hbFBhcmFtPXBhcmFtO2Z1bmN0aW9uIHRocm93RXJyb3IoaSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidW5leHBlY3RlZCBjaGFyYWN0ZXIgYXQgcG9zaXRpb24gIitpLCJwYXJhbSIscGFyYW0pfXBhcmFtPXBhcmFtLnJlcGxhY2UoL1xzL2csIiAiKTtmdW5jdGlvbiBuZXdOb2RlKHBhcmVudCl7dmFyIG5vZGU9e3R5cGU6IiIsbmFtZToiIixwYXJlbnQ6cGFyZW50LHN0YXRlOnthbGxvd1R5cGU6dHJ1ZX19O2lmKGFsbG93SW5kZXhlZCl7bm9kZS5pbmRleGVkPWZhbHNlfXJldHVybiBub2RlfXZhciBwYXJlbnQ9e3R5cGU6IiIsbmFtZToiIixzdGF0ZTp7YWxsb3dUeXBlOnRydWV9fTt2YXIgbm9kZT1wYXJlbnQ7Zm9yKHZhciBpPTA7aTxwYXJhbS5sZW5ndGg7aSsrKXt2YXIgYz1wYXJhbVtpXTtzd2l0Y2goYyl7Y2FzZSIoIjppZihub2RlLnN0YXRlLmFsbG93VHlwZSYmbm9kZS50eXBlPT09IiIpe25vZGUudHlwZT0idHVwbGUifWVsc2UgaWYoIW5vZGUuc3RhdGUuYWxsb3dQYXJhbXMpe3Rocm93RXJyb3IoaSl9bm9kZS5zdGF0ZS5hbGxvd1R5cGU9ZmFsc2U7bm9kZS50eXBlPXZlcmlmeVR5cGUobm9kZS50eXBlKTtub2RlLmNvbXBvbmVudHM9W25ld05vZGUobm9kZSldO25vZGU9bm9kZS5jb21wb25lbnRzWzBdO2JyZWFrO2Nhc2UiKSI6ZGVsZXRlIG5vZGUuc3RhdGU7aWYobm9kZS5uYW1lPT09ImluZGV4ZWQiKXtpZighYWxsb3dJbmRleGVkKXt0aHJvd0Vycm9yKGkpfW5vZGUuaW5kZXhlZD10cnVlO25vZGUubmFtZT0iIn1pZihjaGVja01vZGlmaWVyKG5vZGUudHlwZSxub2RlLm5hbWUpKXtub2RlLm5hbWU9IiJ9bm9kZS50eXBlPXZlcmlmeVR5cGUobm9kZS50eXBlKTt2YXIgY2hpbGQ9bm9kZTtub2RlPW5vZGUucGFyZW50O2lmKCFub2RlKXt0aHJvd0Vycm9yKGkpfWRlbGV0ZSBjaGlsZC5wYXJlbnQ7bm9kZS5zdGF0ZS5hbGxvd1BhcmFtcz1mYWxzZTtub2RlLnN0YXRlLmFsbG93TmFtZT10cnVlO25vZGUuc3RhdGUuYWxsb3dBcnJheT10cnVlO2JyZWFrO2Nhc2UiLCI6ZGVsZXRlIG5vZGUuc3RhdGU7aWYobm9kZS5uYW1lPT09ImluZGV4ZWQiKXtpZighYWxsb3dJbmRleGVkKXt0aHJvd0Vycm9yKGkpfW5vZGUuaW5kZXhlZD10cnVlO25vZGUubmFtZT0iIn1pZihjaGVja01vZGlmaWVyKG5vZGUudHlwZSxub2RlLm5hbWUpKXtub2RlLm5hbWU9IiJ9bm9kZS50eXBlPXZlcmlmeVR5cGUobm9kZS50eXBlKTt2YXIgc2libGluZz1uZXdOb2RlKG5vZGUucGFyZW50KTtub2RlLnBhcmVudC5jb21wb25lbnRzLnB1c2goc2libGluZyk7ZGVsZXRlIG5vZGUucGFyZW50O25vZGU9c2libGluZzticmVhaztjYXNlIiAiOmlmKG5vZGUuc3RhdGUuYWxsb3dUeXBlKXtpZihub2RlLnR5cGUhPT0iIil7bm9kZS50eXBlPXZlcmlmeVR5cGUobm9kZS50eXBlKTtkZWxldGUgbm9kZS5zdGF0ZS5hbGxvd1R5cGU7bm9kZS5zdGF0ZS5hbGxvd05hbWU9dHJ1ZTtub2RlLnN0YXRlLmFsbG93UGFyYW1zPXRydWV9fWlmKG5vZGUuc3RhdGUuYWxsb3dOYW1lKXtpZihub2RlLm5hbWUhPT0iIil7aWYobm9kZS5uYW1lPT09ImluZGV4ZWQiKXtpZighYWxsb3dJbmRleGVkKXt0aHJvd0Vycm9yKGkpfWlmKG5vZGUuaW5kZXhlZCl7dGhyb3dFcnJvcihpKX1ub2RlLmluZGV4ZWQ9dHJ1ZTtub2RlLm5hbWU9IiJ9ZWxzZSBpZihjaGVja01vZGlmaWVyKG5vZGUudHlwZSxub2RlLm5hbWUpKXtub2RlLm5hbWU9IiJ9ZWxzZXtub2RlLnN0YXRlLmFsbG93TmFtZT1mYWxzZX19fWJyZWFrO2Nhc2UiWyI6aWYoIW5vZGUuc3RhdGUuYWxsb3dBcnJheSl7dGhyb3dFcnJvcihpKX1ub2RlLnR5cGUrPWM7bm9kZS5zdGF0ZS5hbGxvd0FycmF5PWZhbHNlO25vZGUuc3RhdGUuYWxsb3dOYW1lPWZhbHNlO25vZGUuc3RhdGUucmVhZEFycmF5PXRydWU7YnJlYWs7Y2FzZSJdIjppZighbm9kZS5zdGF0ZS5yZWFkQXJyYXkpe3Rocm93RXJyb3IoaSl9bm9kZS50eXBlKz1jO25vZGUuc3RhdGUucmVhZEFycmF5PWZhbHNlO25vZGUuc3RhdGUuYWxsb3dBcnJheT10cnVlO25vZGUuc3RhdGUuYWxsb3dOYW1lPXRydWU7YnJlYWs7ZGVmYXVsdDppZihub2RlLnN0YXRlLmFsbG93VHlwZSl7bm9kZS50eXBlKz1jO25vZGUuc3RhdGUuYWxsb3dQYXJhbXM9dHJ1ZTtub2RlLnN0YXRlLmFsbG93QXJyYXk9dHJ1ZX1lbHNlIGlmKG5vZGUuc3RhdGUuYWxsb3dOYW1lKXtub2RlLm5hbWUrPWM7ZGVsZXRlIG5vZGUuc3RhdGUuYWxsb3dBcnJheX1lbHNlIGlmKG5vZGUuc3RhdGUucmVhZEFycmF5KXtub2RlLnR5cGUrPWN9ZWxzZXt0aHJvd0Vycm9yKGkpfX19aWYobm9kZS5wYXJlbnQpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInVuZXhwZWN0ZWQgZW9mIiwicGFyYW0iLHBhcmFtKX1kZWxldGUgcGFyZW50LnN0YXRlO2lmKG5vZGUubmFtZT09PSJpbmRleGVkIil7aWYoIWFsbG93SW5kZXhlZCl7dGhyb3dFcnJvcihvcmlnaW5hbFBhcmFtLmxlbmd0aC03KX1pZihub2RlLmluZGV4ZWQpe3Rocm93RXJyb3Iob3JpZ2luYWxQYXJhbS5sZW5ndGgtNyl9bm9kZS5pbmRleGVkPXRydWU7bm9kZS5uYW1lPSIifWVsc2UgaWYoY2hlY2tNb2RpZmllcihub2RlLnR5cGUsbm9kZS5uYW1lKSl7bm9kZS5uYW1lPSIifXBhcmVudC50eXBlPXZlcmlmeVR5cGUocGFyZW50LnR5cGUpO3JldHVybiBwYXJlbnR9ZnVuY3Rpb24gcG9wdWxhdGUob2JqZWN0LHBhcmFtcyl7Zm9yKHZhciBrZXkgaW4gcGFyYW1zKXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkob2JqZWN0LGtleSxwYXJhbXNba2V5XSl9fWV4cG9ydHMuRm9ybWF0VHlwZXM9T2JqZWN0LmZyZWV6ZSh7c2lnaGFzaDoic2lnaGFzaCIsbWluaW1hbDoibWluaW1hbCIsZnVsbDoiZnVsbCIsanNvbjoianNvbiJ9KTt2YXIgcGFyYW1UeXBlQXJyYXk9bmV3IFJlZ0V4cCgvXiguKilcWyhbMC05XSopXF0kLyk7dmFyIFBhcmFtVHlwZT1mdW5jdGlvbigpe2Z1bmN0aW9uIFBhcmFtVHlwZShjb25zdHJ1Y3Rvckd1YXJkLHBhcmFtcyl7aWYoY29uc3RydWN0b3JHdWFyZCE9PV9jb25zdHJ1Y3Rvckd1YXJkKXtsb2dnZXIudGhyb3dFcnJvcigidXNlIGZyb21TdHJpbmciLGxpYi5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJuZXcgUGFyYW1UeXBlKCkifSl9cG9wdWxhdGUodGhpcyxwYXJhbXMpO3ZhciBtYXRjaD10aGlzLnR5cGUubWF0Y2gocGFyYW1UeXBlQXJyYXkpO2lmKG1hdGNoKXtwb3B1bGF0ZSh0aGlzLHthcnJheUxlbmd0aDpwYXJzZUludChtYXRjaFsyXXx8Ii0xIiksYXJyYXlDaGlsZHJlbjpQYXJhbVR5cGUuZnJvbU9iamVjdCh7dHlwZTptYXRjaFsxXSxjb21wb25lbnRzOnRoaXMuY29tcG9uZW50c30pLGJhc2VUeXBlOiJhcnJheSJ9KX1lbHNle3BvcHVsYXRlKHRoaXMse2FycmF5TGVuZ3RoOm51bGwsYXJyYXlDaGlsZHJlbjpudWxsLGJhc2VUeXBlOnRoaXMuY29tcG9uZW50cyE9bnVsbD8idHVwbGUiOnRoaXMudHlwZX0pfXRoaXMuX2lzUGFyYW1UeXBlPXRydWU7T2JqZWN0LmZyZWV6ZSh0aGlzKX1QYXJhbVR5cGUucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbihmb3JtYXQpe2lmKCFmb3JtYXQpe2Zvcm1hdD1leHBvcnRzLkZvcm1hdFR5cGVzLnNpZ2hhc2h9aWYoIWV4cG9ydHMuRm9ybWF0VHlwZXNbZm9ybWF0XSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBmb3JtYXQgdHlwZSIsImZvcm1hdCIsZm9ybWF0KX1pZihmb3JtYXQ9PT1leHBvcnRzLkZvcm1hdFR5cGVzLmpzb24pe3ZhciByZXN1bHRfMT17dHlwZTp0aGlzLmJhc2VUeXBlPT09InR1cGxlIj8idHVwbGUiOnRoaXMudHlwZSxuYW1lOnRoaXMubmFtZXx8dW5kZWZpbmVkfTtpZih0eXBlb2YgdGhpcy5pbmRleGVkPT09ImJvb2xlYW4iKXtyZXN1bHRfMS5pbmRleGVkPXRoaXMuaW5kZXhlZH1pZih0aGlzLmNvbXBvbmVudHMpe3Jlc3VsdF8xLmNvbXBvbmVudHM9dGhpcy5jb21wb25lbnRzLm1hcChmdW5jdGlvbihjb21wKXtyZXR1cm4gSlNPTi5wYXJzZShjb21wLmZvcm1hdChmb3JtYXQpKX0pfXJldHVybiBKU09OLnN0cmluZ2lmeShyZXN1bHRfMSl9dmFyIHJlc3VsdD0iIjtpZih0aGlzLmJhc2VUeXBlPT09ImFycmF5Iil7cmVzdWx0Kz10aGlzLmFycmF5Q2hpbGRyZW4uZm9ybWF0KGZvcm1hdCk7cmVzdWx0Kz0iWyIrKHRoaXMuYXJyYXlMZW5ndGg8MD8iIjpTdHJpbmcodGhpcy5hcnJheUxlbmd0aCkpKyJdIn1lbHNle2lmKHRoaXMuYmFzZVR5cGU9PT0idHVwbGUiKXtpZihmb3JtYXQhPT1leHBvcnRzLkZvcm1hdFR5cGVzLnNpZ2hhc2gpe3Jlc3VsdCs9dGhpcy50eXBlfXJlc3VsdCs9IigiK3RoaXMuY29tcG9uZW50cy5tYXAoZnVuY3Rpb24oY29tcCl7cmV0dXJuIGNvbXAuZm9ybWF0KGZvcm1hdCl9KS5qb2luKGZvcm1hdD09PWV4cG9ydHMuRm9ybWF0VHlwZXMuZnVsbD8iLCAiOiIsIikrIikifWVsc2V7cmVzdWx0Kz10aGlzLnR5cGV9fWlmKGZvcm1hdCE9PWV4cG9ydHMuRm9ybWF0VHlwZXMuc2lnaGFzaCl7aWYodGhpcy5pbmRleGVkPT09dHJ1ZSl7cmVzdWx0Kz0iIGluZGV4ZWQifWlmKGZvcm1hdD09PWV4cG9ydHMuRm9ybWF0VHlwZXMuZnVsbCYmdGhpcy5uYW1lKXtyZXN1bHQrPSIgIit0aGlzLm5hbWV9fXJldHVybiByZXN1bHR9O1BhcmFtVHlwZS5mcm9tPWZ1bmN0aW9uKHZhbHVlLGFsbG93SW5kZXhlZCl7aWYodHlwZW9mIHZhbHVlPT09InN0cmluZyIpe3JldHVybiBQYXJhbVR5cGUuZnJvbVN0cmluZyh2YWx1ZSxhbGxvd0luZGV4ZWQpfXJldHVybiBQYXJhbVR5cGUuZnJvbU9iamVjdCh2YWx1ZSl9O1BhcmFtVHlwZS5mcm9tT2JqZWN0PWZ1bmN0aW9uKHZhbHVlKXtpZihQYXJhbVR5cGUuaXNQYXJhbVR5cGUodmFsdWUpKXtyZXR1cm4gdmFsdWV9cmV0dXJuIG5ldyBQYXJhbVR5cGUoX2NvbnN0cnVjdG9yR3VhcmQse25hbWU6dmFsdWUubmFtZXx8bnVsbCx0eXBlOnZlcmlmeVR5cGUodmFsdWUudHlwZSksaW5kZXhlZDp2YWx1ZS5pbmRleGVkPT1udWxsP251bGw6ISF2YWx1ZS5pbmRleGVkLGNvbXBvbmVudHM6dmFsdWUuY29tcG9uZW50cz92YWx1ZS5jb21wb25lbnRzLm1hcChQYXJhbVR5cGUuZnJvbU9iamVjdCk6bnVsbH0pfTtQYXJhbVR5cGUuZnJvbVN0cmluZz1mdW5jdGlvbih2YWx1ZSxhbGxvd0luZGV4ZWQpe2Z1bmN0aW9uIFBhcmFtVHlwaWZ5KG5vZGUpe3JldHVybiBQYXJhbVR5cGUuZnJvbU9iamVjdCh7bmFtZTpub2RlLm5hbWUsdHlwZTpub2RlLnR5cGUsaW5kZXhlZDpub2RlLmluZGV4ZWQsY29tcG9uZW50czpub2RlLmNvbXBvbmVudHN9KX1yZXR1cm4gUGFyYW1UeXBpZnkocGFyc2VQYXJhbVR5cGUodmFsdWUsISFhbGxvd0luZGV4ZWQpKX07UGFyYW1UeXBlLmlzUGFyYW1UeXBlPWZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4hISh2YWx1ZSE9bnVsbCYmdmFsdWUuX2lzUGFyYW1UeXBlKX07cmV0dXJuIFBhcmFtVHlwZX0oKTtleHBvcnRzLlBhcmFtVHlwZT1QYXJhbVR5cGU7ZnVuY3Rpb24gcGFyc2VQYXJhbXModmFsdWUsYWxsb3dJbmRleCl7cmV0dXJuIHNwbGl0TmVzdGluZyh2YWx1ZSkubWFwKGZ1bmN0aW9uKHBhcmFtKXtyZXR1cm4gUGFyYW1UeXBlLmZyb21TdHJpbmcocGFyYW0sYWxsb3dJbmRleCl9KX12YXIgRnJhZ21lbnQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBGcmFnbWVudChjb25zdHJ1Y3Rvckd1YXJkLHBhcmFtcyl7aWYoY29uc3RydWN0b3JHdWFyZCE9PV9jb25zdHJ1Y3Rvckd1YXJkKXtsb2dnZXIudGhyb3dFcnJvcigidXNlIGEgc3RhdGljIGZyb20gbWV0aG9kIixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoibmV3IEZyYWdtZW50KCkifSl9cG9wdWxhdGUodGhpcyxwYXJhbXMpO3RoaXMuX2lzRnJhZ21lbnQ9dHJ1ZTtPYmplY3QuZnJlZXplKHRoaXMpfUZyYWdtZW50LmZyb209ZnVuY3Rpb24odmFsdWUpe2lmKEZyYWdtZW50LmlzRnJhZ21lbnQodmFsdWUpKXtyZXR1cm4gdmFsdWV9aWYodHlwZW9mIHZhbHVlPT09InN0cmluZyIpe3JldHVybiBGcmFnbWVudC5mcm9tU3RyaW5nKHZhbHVlKX1yZXR1cm4gRnJhZ21lbnQuZnJvbU9iamVjdCh2YWx1ZSl9O0ZyYWdtZW50LmZyb21PYmplY3Q9ZnVuY3Rpb24odmFsdWUpe2lmKEZyYWdtZW50LmlzRnJhZ21lbnQodmFsdWUpKXtyZXR1cm4gdmFsdWV9c3dpdGNoKHZhbHVlLnR5cGUpe2Nhc2UiZnVuY3Rpb24iOnJldHVybiBGdW5jdGlvbkZyYWdtZW50LmZyb21PYmplY3QodmFsdWUpO2Nhc2UiZXZlbnQiOnJldHVybiBFdmVudEZyYWdtZW50LmZyb21PYmplY3QodmFsdWUpO2Nhc2UiY29uc3RydWN0b3IiOnJldHVybiBDb25zdHJ1Y3RvckZyYWdtZW50LmZyb21PYmplY3QodmFsdWUpO2Nhc2UiZXJyb3IiOnJldHVybiBFcnJvckZyYWdtZW50LmZyb21PYmplY3QodmFsdWUpO2Nhc2UiZmFsbGJhY2siOmNhc2UicmVjZWl2ZSI6cmV0dXJuIG51bGx9cmV0dXJuIGxvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZnJhZ21lbnQgb2JqZWN0IiwidmFsdWUiLHZhbHVlKX07RnJhZ21lbnQuZnJvbVN0cmluZz1mdW5jdGlvbih2YWx1ZSl7dmFsdWU9dmFsdWUucmVwbGFjZSgvXHMvZywiICIpO3ZhbHVlPXZhbHVlLnJlcGxhY2UoL1woL2csIiAoIikucmVwbGFjZSgvXCkvZywiKSAiKS5yZXBsYWNlKC9ccysvZywiICIpO3ZhbHVlPXZhbHVlLnRyaW0oKTtpZih2YWx1ZS5zcGxpdCgiICIpWzBdPT09ImV2ZW50Iil7cmV0dXJuIEV2ZW50RnJhZ21lbnQuZnJvbVN0cmluZyh2YWx1ZS5zdWJzdHJpbmcoNSkudHJpbSgpKX1lbHNlIGlmKHZhbHVlLnNwbGl0KCIgIilbMF09PT0iZnVuY3Rpb24iKXtyZXR1cm4gRnVuY3Rpb25GcmFnbWVudC5mcm9tU3RyaW5nKHZhbHVlLnN1YnN0cmluZyg4KS50cmltKCkpfWVsc2UgaWYodmFsdWUuc3BsaXQoIigiKVswXS50cmltKCk9PT0iY29uc3RydWN0b3IiKXtyZXR1cm4gQ29uc3RydWN0b3JGcmFnbWVudC5mcm9tU3RyaW5nKHZhbHVlLnRyaW0oKSl9ZWxzZSBpZih2YWx1ZS5zcGxpdCgiICIpWzBdPT09ImVycm9yIil7cmV0dXJuIEVycm9yRnJhZ21lbnQuZnJvbVN0cmluZyh2YWx1ZS5zdWJzdHJpbmcoNSkudHJpbSgpKX1yZXR1cm4gbG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidW5zdXBwb3J0ZWQgZnJhZ21lbnQiLCJ2YWx1ZSIsdmFsdWUpfTtGcmFnbWVudC5pc0ZyYWdtZW50PWZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4hISh2YWx1ZSYmdmFsdWUuX2lzRnJhZ21lbnQpfTtyZXR1cm4gRnJhZ21lbnR9KCk7ZXhwb3J0cy5GcmFnbWVudD1GcmFnbWVudDt2YXIgRXZlbnRGcmFnbWVudD1mdW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhFdmVudEZyYWdtZW50LF9zdXBlcik7ZnVuY3Rpb24gRXZlbnRGcmFnbWVudCgpe3JldHVybiBfc3VwZXIhPT1udWxsJiZfc3VwZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfUV2ZW50RnJhZ21lbnQucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbihmb3JtYXQpe2lmKCFmb3JtYXQpe2Zvcm1hdD1leHBvcnRzLkZvcm1hdFR5cGVzLnNpZ2hhc2h9aWYoIWV4cG9ydHMuRm9ybWF0VHlwZXNbZm9ybWF0XSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBmb3JtYXQgdHlwZSIsImZvcm1hdCIsZm9ybWF0KX1pZihmb3JtYXQ9PT1leHBvcnRzLkZvcm1hdFR5cGVzLmpzb24pe3JldHVybiBKU09OLnN0cmluZ2lmeSh7dHlwZToiZXZlbnQiLGFub255bW91czp0aGlzLmFub255bW91cyxuYW1lOnRoaXMubmFtZSxpbnB1dHM6dGhpcy5pbnB1dHMubWFwKGZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gSlNPTi5wYXJzZShpbnB1dC5mb3JtYXQoZm9ybWF0KSl9KX0pfXZhciByZXN1bHQ9IiI7aWYoZm9ybWF0IT09ZXhwb3J0cy5Gb3JtYXRUeXBlcy5zaWdoYXNoKXtyZXN1bHQrPSJldmVudCAifXJlc3VsdCs9dGhpcy5uYW1lKyIoIit0aGlzLmlucHV0cy5tYXAoZnVuY3Rpb24oaW5wdXQpe3JldHVybiBpbnB1dC5mb3JtYXQoZm9ybWF0KX0pLmpvaW4oZm9ybWF0PT09ZXhwb3J0cy5Gb3JtYXRUeXBlcy5mdWxsPyIsICI6IiwiKSsiKSAiO2lmKGZvcm1hdCE9PWV4cG9ydHMuRm9ybWF0VHlwZXMuc2lnaGFzaCl7aWYodGhpcy5hbm9ueW1vdXMpe3Jlc3VsdCs9ImFub255bW91cyAifX1yZXR1cm4gcmVzdWx0LnRyaW0oKX07RXZlbnRGcmFnbWVudC5mcm9tPWZ1bmN0aW9uKHZhbHVlKXtpZih0eXBlb2YgdmFsdWU9PT0ic3RyaW5nIil7cmV0dXJuIEV2ZW50RnJhZ21lbnQuZnJvbVN0cmluZyh2YWx1ZSl9cmV0dXJuIEV2ZW50RnJhZ21lbnQuZnJvbU9iamVjdCh2YWx1ZSl9O0V2ZW50RnJhZ21lbnQuZnJvbU9iamVjdD1mdW5jdGlvbih2YWx1ZSl7aWYoRXZlbnRGcmFnbWVudC5pc0V2ZW50RnJhZ21lbnQodmFsdWUpKXtyZXR1cm4gdmFsdWV9aWYodmFsdWUudHlwZSE9PSJldmVudCIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZXZlbnQgb2JqZWN0IiwidmFsdWUiLHZhbHVlKX12YXIgcGFyYW1zPXtuYW1lOnZlcmlmeUlkZW50aWZpZXIodmFsdWUubmFtZSksYW5vbnltb3VzOnZhbHVlLmFub255bW91cyxpbnB1dHM6dmFsdWUuaW5wdXRzP3ZhbHVlLmlucHV0cy5tYXAoUGFyYW1UeXBlLmZyb21PYmplY3QpOltdLHR5cGU6ImV2ZW50In07cmV0dXJuIG5ldyBFdmVudEZyYWdtZW50KF9jb25zdHJ1Y3Rvckd1YXJkLHBhcmFtcyl9O0V2ZW50RnJhZ21lbnQuZnJvbVN0cmluZz1mdW5jdGlvbih2YWx1ZSl7dmFyIG1hdGNoPXZhbHVlLm1hdGNoKHJlZ2V4UGFyZW4pO2lmKCFtYXRjaCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBldmVudCBzdHJpbmciLCJ2YWx1ZSIsdmFsdWUpfXZhciBhbm9ueW1vdXM9ZmFsc2U7bWF0Y2hbM10uc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKG1vZGlmaWVyKXtzd2l0Y2gobW9kaWZpZXIudHJpbSgpKXtjYXNlImFub255bW91cyI6YW5vbnltb3VzPXRydWU7YnJlYWs7Y2FzZSIiOmJyZWFrO2RlZmF1bHQ6bG9nZ2VyLndhcm4oInVua25vd24gbW9kaWZpZXI6ICIrbW9kaWZpZXIpfX0pO3JldHVybiBFdmVudEZyYWdtZW50LmZyb21PYmplY3Qoe25hbWU6bWF0Y2hbMV0udHJpbSgpLGFub255bW91czphbm9ueW1vdXMsaW5wdXRzOnBhcnNlUGFyYW1zKG1hdGNoWzJdLHRydWUpLHR5cGU6ImV2ZW50In0pfTtFdmVudEZyYWdtZW50LmlzRXZlbnRGcmFnbWVudD1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuIHZhbHVlJiZ2YWx1ZS5faXNGcmFnbWVudCYmdmFsdWUudHlwZT09PSJldmVudCJ9O3JldHVybiBFdmVudEZyYWdtZW50fShGcmFnbWVudCk7ZXhwb3J0cy5FdmVudEZyYWdtZW50PUV2ZW50RnJhZ21lbnQ7ZnVuY3Rpb24gcGFyc2VHYXModmFsdWUscGFyYW1zKXtwYXJhbXMuZ2FzPW51bGw7dmFyIGNvbXBzPXZhbHVlLnNwbGl0KCJAIik7aWYoY29tcHMubGVuZ3RoIT09MSl7aWYoY29tcHMubGVuZ3RoPjIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgaHVtYW4tcmVhZGFibGUgQUJJIHNpZ25hdHVyZSIsInZhbHVlIix2YWx1ZSl9aWYoIWNvbXBzWzFdLm1hdGNoKC9eWzAtOV0rJC8pKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGh1bWFuLXJlYWRhYmxlIEFCSSBzaWduYXR1cmUgZ2FzIiwidmFsdWUiLHZhbHVlKX1wYXJhbXMuZ2FzPWxpYiQyLkJpZ051bWJlci5mcm9tKGNvbXBzWzFdKTtyZXR1cm4gY29tcHNbMF19cmV0dXJuIHZhbHVlfWZ1bmN0aW9uIHBhcnNlTW9kaWZpZXJzKHZhbHVlLHBhcmFtcyl7cGFyYW1zLmNvbnN0YW50PWZhbHNlO3BhcmFtcy5wYXlhYmxlPWZhbHNlO3BhcmFtcy5zdGF0ZU11dGFiaWxpdHk9Im5vbnBheWFibGUiO3ZhbHVlLnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihtb2RpZmllcil7c3dpdGNoKG1vZGlmaWVyLnRyaW0oKSl7Y2FzZSJjb25zdGFudCI6cGFyYW1zLmNvbnN0YW50PXRydWU7YnJlYWs7Y2FzZSJwYXlhYmxlIjpwYXJhbXMucGF5YWJsZT10cnVlO3BhcmFtcy5zdGF0ZU11dGFiaWxpdHk9InBheWFibGUiO2JyZWFrO2Nhc2Uibm9ucGF5YWJsZSI6cGFyYW1zLnBheWFibGU9ZmFsc2U7cGFyYW1zLnN0YXRlTXV0YWJpbGl0eT0ibm9ucGF5YWJsZSI7YnJlYWs7Y2FzZSJwdXJlIjpwYXJhbXMuY29uc3RhbnQ9dHJ1ZTtwYXJhbXMuc3RhdGVNdXRhYmlsaXR5PSJwdXJlIjticmVhaztjYXNlInZpZXciOnBhcmFtcy5jb25zdGFudD10cnVlO3BhcmFtcy5zdGF0ZU11dGFiaWxpdHk9InZpZXciO2JyZWFrO2Nhc2UiZXh0ZXJuYWwiOmNhc2UicHVibGljIjpjYXNlIiI6YnJlYWs7ZGVmYXVsdDpjb25zb2xlLmxvZygidW5rbm93biBtb2RpZmllcjogIittb2RpZmllcil9fSl9ZnVuY3Rpb24gdmVyaWZ5U3RhdGUodmFsdWUpe3ZhciByZXN1bHQ9e2NvbnN0YW50OmZhbHNlLHBheWFibGU6dHJ1ZSxzdGF0ZU11dGFiaWxpdHk6InBheWFibGUifTtpZih2YWx1ZS5zdGF0ZU11dGFiaWxpdHkhPW51bGwpe3Jlc3VsdC5zdGF0ZU11dGFiaWxpdHk9dmFsdWUuc3RhdGVNdXRhYmlsaXR5O3Jlc3VsdC5jb25zdGFudD1yZXN1bHQuc3RhdGVNdXRhYmlsaXR5PT09InZpZXcifHxyZXN1bHQuc3RhdGVNdXRhYmlsaXR5PT09InB1cmUiO2lmKHZhbHVlLmNvbnN0YW50IT1udWxsKXtpZighIXZhbHVlLmNvbnN0YW50IT09cmVzdWx0LmNvbnN0YW50KXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJjYW5ub3QgaGF2ZSBjb25zdGFudCBmdW5jdGlvbiB3aXRoIG11dGFiaWxpdHkgIityZXN1bHQuc3RhdGVNdXRhYmlsaXR5LCJ2YWx1ZSIsdmFsdWUpfX1yZXN1bHQucGF5YWJsZT1yZXN1bHQuc3RhdGVNdXRhYmlsaXR5PT09InBheWFibGUiO2lmKHZhbHVlLnBheWFibGUhPW51bGwpe2lmKCEhdmFsdWUucGF5YWJsZSE9PXJlc3VsdC5wYXlhYmxlKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJjYW5ub3QgaGF2ZSBwYXlhYmxlIGZ1bmN0aW9uIHdpdGggbXV0YWJpbGl0eSAiK3Jlc3VsdC5zdGF0ZU11dGFiaWxpdHksInZhbHVlIix2YWx1ZSl9fX1lbHNlIGlmKHZhbHVlLnBheWFibGUhPW51bGwpe3Jlc3VsdC5wYXlhYmxlPSEhdmFsdWUucGF5YWJsZTtpZih2YWx1ZS5jb25zdGFudD09bnVsbCYmIXJlc3VsdC5wYXlhYmxlJiZ2YWx1ZS50eXBlIT09ImNvbnN0cnVjdG9yIil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidW5hYmxlIHRvIGRldGVybWluZSBzdGF0ZU11dGFiaWxpdHkiLCJ2YWx1ZSIsdmFsdWUpfXJlc3VsdC5jb25zdGFudD0hIXZhbHVlLmNvbnN0YW50O2lmKHJlc3VsdC5jb25zdGFudCl7cmVzdWx0LnN0YXRlTXV0YWJpbGl0eT0idmlldyJ9ZWxzZXtyZXN1bHQuc3RhdGVNdXRhYmlsaXR5PXJlc3VsdC5wYXlhYmxlPyJwYXlhYmxlIjoibm9ucGF5YWJsZSJ9aWYocmVzdWx0LnBheWFibGUmJnJlc3VsdC5jb25zdGFudCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiY2Fubm90IGhhdmUgY29uc3RhbnQgcGF5YWJsZSBmdW5jdGlvbiIsInZhbHVlIix2YWx1ZSl9fWVsc2UgaWYodmFsdWUuY29uc3RhbnQhPW51bGwpe3Jlc3VsdC5jb25zdGFudD0hIXZhbHVlLmNvbnN0YW50O3Jlc3VsdC5wYXlhYmxlPSFyZXN1bHQuY29uc3RhbnQ7cmVzdWx0LnN0YXRlTXV0YWJpbGl0eT1yZXN1bHQuY29uc3RhbnQ/InZpZXciOiJwYXlhYmxlIn1lbHNlIGlmKHZhbHVlLnR5cGUhPT0iY29uc3RydWN0b3IiKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJ1bmFibGUgdG8gZGV0ZXJtaW5lIHN0YXRlTXV0YWJpbGl0eSIsInZhbHVlIix2YWx1ZSl9cmV0dXJuIHJlc3VsdH12YXIgQ29uc3RydWN0b3JGcmFnbWVudD1mdW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhDb25zdHJ1Y3RvckZyYWdtZW50LF9zdXBlcik7ZnVuY3Rpb24gQ29uc3RydWN0b3JGcmFnbWVudCgpe3JldHVybiBfc3VwZXIhPT1udWxsJiZfc3VwZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfUNvbnN0cnVjdG9yRnJhZ21lbnQucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbihmb3JtYXQpe2lmKCFmb3JtYXQpe2Zvcm1hdD1leHBvcnRzLkZvcm1hdFR5cGVzLnNpZ2hhc2h9aWYoIWV4cG9ydHMuRm9ybWF0VHlwZXNbZm9ybWF0XSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBmb3JtYXQgdHlwZSIsImZvcm1hdCIsZm9ybWF0KX1pZihmb3JtYXQ9PT1leHBvcnRzLkZvcm1hdFR5cGVzLmpzb24pe3JldHVybiBKU09OLnN0cmluZ2lmeSh7dHlwZToiY29uc3RydWN0b3IiLHN0YXRlTXV0YWJpbGl0eTp0aGlzLnN0YXRlTXV0YWJpbGl0eSE9PSJub25wYXlhYmxlIj90aGlzLnN0YXRlTXV0YWJpbGl0eTp1bmRlZmluZWQscGF5YWJsZTp0aGlzLnBheWFibGUsZ2FzOnRoaXMuZ2FzP3RoaXMuZ2FzLnRvTnVtYmVyKCk6dW5kZWZpbmVkLGlucHV0czp0aGlzLmlucHV0cy5tYXAoZnVuY3Rpb24oaW5wdXQpe3JldHVybiBKU09OLnBhcnNlKGlucHV0LmZvcm1hdChmb3JtYXQpKX0pfSl9aWYoZm9ybWF0PT09ZXhwb3J0cy5Gb3JtYXRUeXBlcy5zaWdoYXNoKXtsb2dnZXIudGhyb3dFcnJvcigiY2Fubm90IGZvcm1hdCBhIGNvbnN0cnVjdG9yIGZvciBzaWdoYXNoIixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoiZm9ybWF0KHNpZ2hhc2gpIn0pfXZhciByZXN1bHQ9ImNvbnN0cnVjdG9yKCIrdGhpcy5pbnB1dHMubWFwKGZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gaW5wdXQuZm9ybWF0KGZvcm1hdCl9KS5qb2luKGZvcm1hdD09PWV4cG9ydHMuRm9ybWF0VHlwZXMuZnVsbD8iLCAiOiIsIikrIikgIjtpZih0aGlzLnN0YXRlTXV0YWJpbGl0eSYmdGhpcy5zdGF0ZU11dGFiaWxpdHkhPT0ibm9ucGF5YWJsZSIpe3Jlc3VsdCs9dGhpcy5zdGF0ZU11dGFiaWxpdHkrIiAifXJldHVybiByZXN1bHQudHJpbSgpfTtDb25zdHJ1Y3RvckZyYWdtZW50LmZyb209ZnVuY3Rpb24odmFsdWUpe2lmKHR5cGVvZiB2YWx1ZT09PSJzdHJpbmciKXtyZXR1cm4gQ29uc3RydWN0b3JGcmFnbWVudC5mcm9tU3RyaW5nKHZhbHVlKX1yZXR1cm4gQ29uc3RydWN0b3JGcmFnbWVudC5mcm9tT2JqZWN0KHZhbHVlKX07Q29uc3RydWN0b3JGcmFnbWVudC5mcm9tT2JqZWN0PWZ1bmN0aW9uKHZhbHVlKXtpZihDb25zdHJ1Y3RvckZyYWdtZW50LmlzQ29uc3RydWN0b3JGcmFnbWVudCh2YWx1ZSkpe3JldHVybiB2YWx1ZX1pZih2YWx1ZS50eXBlIT09ImNvbnN0cnVjdG9yIil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBjb25zdHJ1Y3RvciBvYmplY3QiLCJ2YWx1ZSIsdmFsdWUpfXZhciBzdGF0ZT12ZXJpZnlTdGF0ZSh2YWx1ZSk7aWYoc3RhdGUuY29uc3RhbnQpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjb25zdGFudCIsInZhbHVlIix2YWx1ZSl9dmFyIHBhcmFtcz17bmFtZTpudWxsLHR5cGU6dmFsdWUudHlwZSxpbnB1dHM6dmFsdWUuaW5wdXRzP3ZhbHVlLmlucHV0cy5tYXAoUGFyYW1UeXBlLmZyb21PYmplY3QpOltdLHBheWFibGU6c3RhdGUucGF5YWJsZSxzdGF0ZU11dGFiaWxpdHk6c3RhdGUuc3RhdGVNdXRhYmlsaXR5LGdhczp2YWx1ZS5nYXM/bGliJDIuQmlnTnVtYmVyLmZyb20odmFsdWUuZ2FzKTpudWxsfTtyZXR1cm4gbmV3IENvbnN0cnVjdG9yRnJhZ21lbnQoX2NvbnN0cnVjdG9yR3VhcmQscGFyYW1zKX07Q29uc3RydWN0b3JGcmFnbWVudC5mcm9tU3RyaW5nPWZ1bmN0aW9uKHZhbHVlKXt2YXIgcGFyYW1zPXt0eXBlOiJjb25zdHJ1Y3RvciJ9O3ZhbHVlPXBhcnNlR2FzKHZhbHVlLHBhcmFtcyk7dmFyIHBhcmVucz12YWx1ZS5tYXRjaChyZWdleFBhcmVuKTtpZighcGFyZW5zfHxwYXJlbnNbMV0udHJpbSgpIT09ImNvbnN0cnVjdG9yIil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBjb25zdHJ1Y3RvciBzdHJpbmciLCJ2YWx1ZSIsdmFsdWUpfXBhcmFtcy5pbnB1dHM9cGFyc2VQYXJhbXMocGFyZW5zWzJdLnRyaW0oKSxmYWxzZSk7cGFyc2VNb2RpZmllcnMocGFyZW5zWzNdLnRyaW0oKSxwYXJhbXMpO3JldHVybiBDb25zdHJ1Y3RvckZyYWdtZW50LmZyb21PYmplY3QocGFyYW1zKX07Q29uc3RydWN0b3JGcmFnbWVudC5pc0NvbnN0cnVjdG9yRnJhZ21lbnQ9ZnVuY3Rpb24odmFsdWUpe3JldHVybiB2YWx1ZSYmdmFsdWUuX2lzRnJhZ21lbnQmJnZhbHVlLnR5cGU9PT0iY29uc3RydWN0b3IifTtyZXR1cm4gQ29uc3RydWN0b3JGcmFnbWVudH0oRnJhZ21lbnQpO2V4cG9ydHMuQ29uc3RydWN0b3JGcmFnbWVudD1Db25zdHJ1Y3RvckZyYWdtZW50O3ZhciBGdW5jdGlvbkZyYWdtZW50PWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEZ1bmN0aW9uRnJhZ21lbnQsX3N1cGVyKTtmdW5jdGlvbiBGdW5jdGlvbkZyYWdtZW50KCl7cmV0dXJuIF9zdXBlciE9PW51bGwmJl9zdXBlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9RnVuY3Rpb25GcmFnbWVudC5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKGZvcm1hdCl7aWYoIWZvcm1hdCl7Zm9ybWF0PWV4cG9ydHMuRm9ybWF0VHlwZXMuc2lnaGFzaH1pZighZXhwb3J0cy5Gb3JtYXRUeXBlc1tmb3JtYXRdKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGZvcm1hdCB0eXBlIiwiZm9ybWF0Iixmb3JtYXQpfWlmKGZvcm1hdD09PWV4cG9ydHMuRm9ybWF0VHlwZXMuanNvbil7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHt0eXBlOiJmdW5jdGlvbiIsbmFtZTp0aGlzLm5hbWUsY29uc3RhbnQ6dGhpcy5jb25zdGFudCxzdGF0ZU11dGFiaWxpdHk6dGhpcy5zdGF0ZU11dGFiaWxpdHkhPT0ibm9ucGF5YWJsZSI/dGhpcy5zdGF0ZU11dGFiaWxpdHk6dW5kZWZpbmVkLHBheWFibGU6dGhpcy5wYXlhYmxlLGdhczp0aGlzLmdhcz90aGlzLmdhcy50b051bWJlcigpOnVuZGVmaW5lZCxpbnB1dHM6dGhpcy5pbnB1dHMubWFwKGZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gSlNPTi5wYXJzZShpbnB1dC5mb3JtYXQoZm9ybWF0KSl9KSxvdXRwdXRzOnRoaXMub3V0cHV0cy5tYXAoZnVuY3Rpb24ob3V0cHV0KXtyZXR1cm4gSlNPTi5wYXJzZShvdXRwdXQuZm9ybWF0KGZvcm1hdCkpfSl9KX12YXIgcmVzdWx0PSIiO2lmKGZvcm1hdCE9PWV4cG9ydHMuRm9ybWF0VHlwZXMuc2lnaGFzaCl7cmVzdWx0Kz0iZnVuY3Rpb24gIn1yZXN1bHQrPXRoaXMubmFtZSsiKCIrdGhpcy5pbnB1dHMubWFwKGZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gaW5wdXQuZm9ybWF0KGZvcm1hdCl9KS5qb2luKGZvcm1hdD09PWV4cG9ydHMuRm9ybWF0VHlwZXMuZnVsbD8iLCAiOiIsIikrIikgIjtpZihmb3JtYXQhPT1leHBvcnRzLkZvcm1hdFR5cGVzLnNpZ2hhc2gpe2lmKHRoaXMuc3RhdGVNdXRhYmlsaXR5KXtpZih0aGlzLnN0YXRlTXV0YWJpbGl0eSE9PSJub25wYXlhYmxlIil7cmVzdWx0Kz10aGlzLnN0YXRlTXV0YWJpbGl0eSsiICJ9fWVsc2UgaWYodGhpcy5jb25zdGFudCl7cmVzdWx0Kz0idmlldyAifWlmKHRoaXMub3V0cHV0cyYmdGhpcy5vdXRwdXRzLmxlbmd0aCl7cmVzdWx0Kz0icmV0dXJucyAoIit0aGlzLm91dHB1dHMubWFwKGZ1bmN0aW9uKG91dHB1dCl7cmV0dXJuIG91dHB1dC5mb3JtYXQoZm9ybWF0KX0pLmpvaW4oIiwgIikrIikgIn1pZih0aGlzLmdhcyE9bnVsbCl7cmVzdWx0Kz0iQCIrdGhpcy5nYXMudG9TdHJpbmcoKSsiICJ9fXJldHVybiByZXN1bHQudHJpbSgpfTtGdW5jdGlvbkZyYWdtZW50LmZyb209ZnVuY3Rpb24odmFsdWUpe2lmKHR5cGVvZiB2YWx1ZT09PSJzdHJpbmciKXtyZXR1cm4gRnVuY3Rpb25GcmFnbWVudC5mcm9tU3RyaW5nKHZhbHVlKX1yZXR1cm4gRnVuY3Rpb25GcmFnbWVudC5mcm9tT2JqZWN0KHZhbHVlKX07RnVuY3Rpb25GcmFnbWVudC5mcm9tT2JqZWN0PWZ1bmN0aW9uKHZhbHVlKXtpZihGdW5jdGlvbkZyYWdtZW50LmlzRnVuY3Rpb25GcmFnbWVudCh2YWx1ZSkpe3JldHVybiB2YWx1ZX1pZih2YWx1ZS50eXBlIT09ImZ1bmN0aW9uIil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBmdW5jdGlvbiBvYmplY3QiLCJ2YWx1ZSIsdmFsdWUpfXZhciBzdGF0ZT12ZXJpZnlTdGF0ZSh2YWx1ZSk7dmFyIHBhcmFtcz17dHlwZTp2YWx1ZS50eXBlLG5hbWU6dmVyaWZ5SWRlbnRpZmllcih2YWx1ZS5uYW1lKSxjb25zdGFudDpzdGF0ZS5jb25zdGFudCxpbnB1dHM6dmFsdWUuaW5wdXRzP3ZhbHVlLmlucHV0cy5tYXAoUGFyYW1UeXBlLmZyb21PYmplY3QpOltdLG91dHB1dHM6dmFsdWUub3V0cHV0cz92YWx1ZS5vdXRwdXRzLm1hcChQYXJhbVR5cGUuZnJvbU9iamVjdCk6W10scGF5YWJsZTpzdGF0ZS5wYXlhYmxlLHN0YXRlTXV0YWJpbGl0eTpzdGF0ZS5zdGF0ZU11dGFiaWxpdHksZ2FzOnZhbHVlLmdhcz9saWIkMi5CaWdOdW1iZXIuZnJvbSh2YWx1ZS5nYXMpOm51bGx9O3JldHVybiBuZXcgRnVuY3Rpb25GcmFnbWVudChfY29uc3RydWN0b3JHdWFyZCxwYXJhbXMpfTtGdW5jdGlvbkZyYWdtZW50LmZyb21TdHJpbmc9ZnVuY3Rpb24odmFsdWUpe3ZhciBwYXJhbXM9e3R5cGU6ImZ1bmN0aW9uIn07dmFsdWU9cGFyc2VHYXModmFsdWUscGFyYW1zKTt2YXIgY29tcHM9dmFsdWUuc3BsaXQoIiByZXR1cm5zICIpO2lmKGNvbXBzLmxlbmd0aD4yKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGZ1bmN0aW9uIHN0cmluZyIsInZhbHVlIix2YWx1ZSl9dmFyIHBhcmVucz1jb21wc1swXS5tYXRjaChyZWdleFBhcmVuKTtpZighcGFyZW5zKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGZ1bmN0aW9uIHNpZ25hdHVyZSIsInZhbHVlIix2YWx1ZSl9cGFyYW1zLm5hbWU9cGFyZW5zWzFdLnRyaW0oKTtpZihwYXJhbXMubmFtZSl7dmVyaWZ5SWRlbnRpZmllcihwYXJhbXMubmFtZSl9cGFyYW1zLmlucHV0cz1wYXJzZVBhcmFtcyhwYXJlbnNbMl0sZmFsc2UpO3BhcnNlTW9kaWZpZXJzKHBhcmVuc1szXS50cmltKCkscGFyYW1zKTtpZihjb21wcy5sZW5ndGg+MSl7dmFyIHJldHVybnM9Y29tcHNbMV0ubWF0Y2gocmVnZXhQYXJlbik7aWYocmV0dXJuc1sxXS50cmltKCkhPSIifHxyZXR1cm5zWzNdLnRyaW0oKSE9IiIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInVuZXhwZWN0ZWQgdG9rZW5zIiwidmFsdWUiLHZhbHVlKX1wYXJhbXMub3V0cHV0cz1wYXJzZVBhcmFtcyhyZXR1cm5zWzJdLGZhbHNlKX1lbHNle3BhcmFtcy5vdXRwdXRzPVtdfXJldHVybiBGdW5jdGlvbkZyYWdtZW50LmZyb21PYmplY3QocGFyYW1zKX07RnVuY3Rpb25GcmFnbWVudC5pc0Z1bmN0aW9uRnJhZ21lbnQ9ZnVuY3Rpb24odmFsdWUpe3JldHVybiB2YWx1ZSYmdmFsdWUuX2lzRnJhZ21lbnQmJnZhbHVlLnR5cGU9PT0iZnVuY3Rpb24ifTtyZXR1cm4gRnVuY3Rpb25GcmFnbWVudH0oQ29uc3RydWN0b3JGcmFnbWVudCk7ZXhwb3J0cy5GdW5jdGlvbkZyYWdtZW50PUZ1bmN0aW9uRnJhZ21lbnQ7ZnVuY3Rpb24gY2hlY2tGb3JiaWRkZW4oZnJhZ21lbnQpe3ZhciBzaWc9ZnJhZ21lbnQuZm9ybWF0KCk7aWYoc2lnPT09IkVycm9yKHN0cmluZykifHxzaWc9PT0iUGFuaWModWludDI1NikiKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJjYW5ub3Qgc3BlY2lmeSB1c2VyIGRlZmluZWQgIitzaWcrIiBlcnJvciIsImZyYWdtZW50IixmcmFnbWVudCl9cmV0dXJuIGZyYWdtZW50fXZhciBFcnJvckZyYWdtZW50PWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEVycm9yRnJhZ21lbnQsX3N1cGVyKTtmdW5jdGlvbiBFcnJvckZyYWdtZW50KCl7cmV0dXJuIF9zdXBlciE9PW51bGwmJl9zdXBlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9RXJyb3JGcmFnbWVudC5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKGZvcm1hdCl7aWYoIWZvcm1hdCl7Zm9ybWF0PWV4cG9ydHMuRm9ybWF0VHlwZXMuc2lnaGFzaH1pZighZXhwb3J0cy5Gb3JtYXRUeXBlc1tmb3JtYXRdKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGZvcm1hdCB0eXBlIiwiZm9ybWF0Iixmb3JtYXQpfWlmKGZvcm1hdD09PWV4cG9ydHMuRm9ybWF0VHlwZXMuanNvbil7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHt0eXBlOiJlcnJvciIsbmFtZTp0aGlzLm5hbWUsaW5wdXRzOnRoaXMuaW5wdXRzLm1hcChmdW5jdGlvbihpbnB1dCl7cmV0dXJuIEpTT04ucGFyc2UoaW5wdXQuZm9ybWF0KGZvcm1hdCkpfSl9KX12YXIgcmVzdWx0PSIiO2lmKGZvcm1hdCE9PWV4cG9ydHMuRm9ybWF0VHlwZXMuc2lnaGFzaCl7cmVzdWx0Kz0iZXJyb3IgIn1yZXN1bHQrPXRoaXMubmFtZSsiKCIrdGhpcy5pbnB1dHMubWFwKGZ1bmN0aW9uKGlucHV0KXtyZXR1cm4gaW5wdXQuZm9ybWF0KGZvcm1hdCl9KS5qb2luKGZvcm1hdD09PWV4cG9ydHMuRm9ybWF0VHlwZXMuZnVsbD8iLCAiOiIsIikrIikgIjtyZXR1cm4gcmVzdWx0LnRyaW0oKX07RXJyb3JGcmFnbWVudC5mcm9tPWZ1bmN0aW9uKHZhbHVlKXtpZih0eXBlb2YgdmFsdWU9PT0ic3RyaW5nIil7cmV0dXJuIEVycm9yRnJhZ21lbnQuZnJvbVN0cmluZyh2YWx1ZSl9cmV0dXJuIEVycm9yRnJhZ21lbnQuZnJvbU9iamVjdCh2YWx1ZSl9O0Vycm9yRnJhZ21lbnQuZnJvbU9iamVjdD1mdW5jdGlvbih2YWx1ZSl7aWYoRXJyb3JGcmFnbWVudC5pc0Vycm9yRnJhZ21lbnQodmFsdWUpKXtyZXR1cm4gdmFsdWV9aWYodmFsdWUudHlwZSE9PSJlcnJvciIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZXJyb3Igb2JqZWN0IiwidmFsdWUiLHZhbHVlKX12YXIgcGFyYW1zPXt0eXBlOnZhbHVlLnR5cGUsbmFtZTp2ZXJpZnlJZGVudGlmaWVyKHZhbHVlLm5hbWUpLGlucHV0czp2YWx1ZS5pbnB1dHM/dmFsdWUuaW5wdXRzLm1hcChQYXJhbVR5cGUuZnJvbU9iamVjdCk6W119O3JldHVybiBjaGVja0ZvcmJpZGRlbihuZXcgRXJyb3JGcmFnbWVudChfY29uc3RydWN0b3JHdWFyZCxwYXJhbXMpKX07RXJyb3JGcmFnbWVudC5mcm9tU3RyaW5nPWZ1bmN0aW9uKHZhbHVlKXt2YXIgcGFyYW1zPXt0eXBlOiJlcnJvciJ9O3ZhciBwYXJlbnM9dmFsdWUubWF0Y2gocmVnZXhQYXJlbik7aWYoIXBhcmVucyl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBlcnJvciBzaWduYXR1cmUiLCJ2YWx1ZSIsdmFsdWUpfXBhcmFtcy5uYW1lPXBhcmVuc1sxXS50cmltKCk7aWYocGFyYW1zLm5hbWUpe3ZlcmlmeUlkZW50aWZpZXIocGFyYW1zLm5hbWUpfXBhcmFtcy5pbnB1dHM9cGFyc2VQYXJhbXMocGFyZW5zWzJdLGZhbHNlKTtyZXR1cm4gY2hlY2tGb3JiaWRkZW4oRXJyb3JGcmFnbWVudC5mcm9tT2JqZWN0KHBhcmFtcykpfTtFcnJvckZyYWdtZW50LmlzRXJyb3JGcmFnbWVudD1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuIHZhbHVlJiZ2YWx1ZS5faXNGcmFnbWVudCYmdmFsdWUudHlwZT09PSJlcnJvciJ9O3JldHVybiBFcnJvckZyYWdtZW50fShGcmFnbWVudCk7ZXhwb3J0cy5FcnJvckZyYWdtZW50PUVycm9yRnJhZ21lbnQ7ZnVuY3Rpb24gdmVyaWZ5VHlwZSh0eXBlKXtpZih0eXBlLm1hdGNoKC9edWludCgkfFteMS05XSkvKSl7dHlwZT0idWludDI1NiIrdHlwZS5zdWJzdHJpbmcoNCl9ZWxzZSBpZih0eXBlLm1hdGNoKC9eaW50KCR8W14xLTldKS8pKXt0eXBlPSJpbnQyNTYiK3R5cGUuc3Vic3RyaW5nKDMpfXJldHVybiB0eXBlfXZhciByZWdleElkZW50aWZpZXI9bmV3IFJlZ0V4cCgiXlthLXpBLVokX11bYS16QS1aMC05JF9dKiQiKTtmdW5jdGlvbiB2ZXJpZnlJZGVudGlmaWVyKHZhbHVlKXtpZighdmFsdWV8fCF2YWx1ZS5tYXRjaChyZWdleElkZW50aWZpZXIpKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCdpbnZhbGlkIGlkZW50aWZpZXIgIicrdmFsdWUrJyInLCJ2YWx1ZSIsdmFsdWUpfXJldHVybiB2YWx1ZX12YXIgcmVnZXhQYXJlbj1uZXcgUmVnRXhwKCJeKFteKShdKilcXCgoLiopXFwpKFteKShdKikkIik7ZnVuY3Rpb24gc3BsaXROZXN0aW5nKHZhbHVlKXt2YWx1ZT12YWx1ZS50cmltKCk7dmFyIHJlc3VsdD1bXTt2YXIgYWNjdW09IiI7dmFyIGRlcHRoPTA7Zm9yKHZhciBvZmZzZXQ9MDtvZmZzZXQ8dmFsdWUubGVuZ3RoO29mZnNldCsrKXt2YXIgYz12YWx1ZVtvZmZzZXRdO2lmKGM9PT0iLCImJmRlcHRoPT09MCl7cmVzdWx0LnB1c2goYWNjdW0pO2FjY3VtPSIifWVsc2V7YWNjdW0rPWM7aWYoYz09PSIoIil7ZGVwdGgrK31lbHNlIGlmKGM9PT0iKSIpe2RlcHRoLS07aWYoZGVwdGg9PT0tMSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidW5iYWxhbmNlZCBwYXJlbnRoZXNpcyIsInZhbHVlIix2YWx1ZSl9fX19aWYoYWNjdW0pe3Jlc3VsdC5wdXNoKGFjY3VtKX1yZXR1cm4gcmVzdWx0fX0pO3ZhciBmcmFnbWVudHMkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhmcmFnbWVudHMpO3ZhciBhYnN0cmFjdENvZGVyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5SZWFkZXI9ZXhwb3J0cy5Xcml0ZXI9ZXhwb3J0cy5Db2Rlcj1leHBvcnRzLmNoZWNrUmVzdWx0RXJyb3JzPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJDgudmVyc2lvbik7ZnVuY3Rpb24gY2hlY2tSZXN1bHRFcnJvcnMocmVzdWx0KXt2YXIgZXJyb3JzPVtdO3ZhciBjaGVja0Vycm9ycz1mdW5jdGlvbihwYXRoLG9iamVjdCl7aWYoIUFycmF5LmlzQXJyYXkob2JqZWN0KSl7cmV0dXJufWZvcih2YXIga2V5IGluIG9iamVjdCl7dmFyIGNoaWxkUGF0aD1wYXRoLnNsaWNlKCk7Y2hpbGRQYXRoLnB1c2goa2V5KTt0cnl7Y2hlY2tFcnJvcnMoY2hpbGRQYXRoLG9iamVjdFtrZXldKX1jYXRjaChlcnJvcil7ZXJyb3JzLnB1c2goe3BhdGg6Y2hpbGRQYXRoLGVycm9yOmVycm9yfSl9fX07Y2hlY2tFcnJvcnMoW10scmVzdWx0KTtyZXR1cm4gZXJyb3JzfWV4cG9ydHMuY2hlY2tSZXN1bHRFcnJvcnM9Y2hlY2tSZXN1bHRFcnJvcnM7dmFyIENvZGVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQ29kZXIobmFtZSx0eXBlLGxvY2FsTmFtZSxkeW5hbWljKXt0aGlzLm5hbWU9bmFtZTt0aGlzLnR5cGU9dHlwZTt0aGlzLmxvY2FsTmFtZT1sb2NhbE5hbWU7dGhpcy5keW5hbWljPWR5bmFtaWN9Q29kZXIucHJvdG90eXBlLl90aHJvd0Vycm9yPWZ1bmN0aW9uKG1lc3NhZ2UsdmFsdWUpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IobWVzc2FnZSx0aGlzLmxvY2FsTmFtZSx2YWx1ZSl9O3JldHVybiBDb2Rlcn0oKTtleHBvcnRzLkNvZGVyPUNvZGVyO3ZhciBXcml0ZXI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBXcml0ZXIod29yZFNpemUpeygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJ3b3JkU2l6ZSIsd29yZFNpemV8fDMyKTt0aGlzLl9kYXRhPVtdO3RoaXMuX2RhdGFMZW5ndGg9MDt0aGlzLl9wYWRkaW5nPW5ldyBVaW50OEFycmF5KHdvcmRTaXplKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGVyLnByb3RvdHlwZSwiZGF0YSIse2dldDpmdW5jdGlvbigpe3JldHVybigwLGxpYiQxLmhleENvbmNhdCkodGhpcy5fZGF0YSl9LGVudW1lcmFibGU6ZmFsc2UsY29uZmlndXJhYmxlOnRydWV9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGVyLnByb3RvdHlwZSwibGVuZ3RoIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RhdGFMZW5ndGh9LGVudW1lcmFibGU6ZmFsc2UsY29uZmlndXJhYmxlOnRydWV9KTtXcml0ZXIucHJvdG90eXBlLl93cml0ZURhdGE9ZnVuY3Rpb24oZGF0YSl7dGhpcy5fZGF0YS5wdXNoKGRhdGEpO3RoaXMuX2RhdGFMZW5ndGgrPWRhdGEubGVuZ3RoO3JldHVybiBkYXRhLmxlbmd0aH07V3JpdGVyLnByb3RvdHlwZS5hcHBlbmRXcml0ZXI9ZnVuY3Rpb24od3JpdGVyKXtyZXR1cm4gdGhpcy5fd3JpdGVEYXRhKCgwLGxpYiQxLmNvbmNhdCkod3JpdGVyLl9kYXRhKSl9O1dyaXRlci5wcm90b3R5cGUud3JpdGVCeXRlcz1mdW5jdGlvbih2YWx1ZSl7dmFyIGJ5dGVzPSgwLGxpYiQxLmFycmF5aWZ5KSh2YWx1ZSk7dmFyIHBhZGRpbmdPZmZzZXQ9Ynl0ZXMubGVuZ3RoJXRoaXMud29yZFNpemU7aWYocGFkZGluZ09mZnNldCl7Ynl0ZXM9KDAsbGliJDEuY29uY2F0KShbYnl0ZXMsdGhpcy5fcGFkZGluZy5zbGljZShwYWRkaW5nT2Zmc2V0KV0pfXJldHVybiB0aGlzLl93cml0ZURhdGEoYnl0ZXMpfTtXcml0ZXIucHJvdG90eXBlLl9nZXRWYWx1ZT1mdW5jdGlvbih2YWx1ZSl7dmFyIGJ5dGVzPSgwLGxpYiQxLmFycmF5aWZ5KShsaWIkMi5CaWdOdW1iZXIuZnJvbSh2YWx1ZSkpO2lmKGJ5dGVzLmxlbmd0aD50aGlzLndvcmRTaXplKXtsb2dnZXIudGhyb3dFcnJvcigidmFsdWUgb3V0LW9mLWJvdW5kcyIsbGliLkxvZ2dlci5lcnJvcnMuQlVGRkVSX09WRVJSVU4se2xlbmd0aDp0aGlzLndvcmRTaXplLG9mZnNldDpieXRlcy5sZW5ndGh9KX1pZihieXRlcy5sZW5ndGgldGhpcy53b3JkU2l6ZSl7Ynl0ZXM9KDAsbGliJDEuY29uY2F0KShbdGhpcy5fcGFkZGluZy5zbGljZShieXRlcy5sZW5ndGgldGhpcy53b3JkU2l6ZSksYnl0ZXNdKX1yZXR1cm4gYnl0ZXN9O1dyaXRlci5wcm90b3R5cGUud3JpdGVWYWx1ZT1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuIHRoaXMuX3dyaXRlRGF0YSh0aGlzLl9nZXRWYWx1ZSh2YWx1ZSkpfTtXcml0ZXIucHJvdG90eXBlLndyaXRlVXBkYXRhYmxlVmFsdWU9ZnVuY3Rpb24oKXt2YXIgX3RoaXM9dGhpczt2YXIgb2Zmc2V0PXRoaXMuX2RhdGEubGVuZ3RoO3RoaXMuX2RhdGEucHVzaCh0aGlzLl9wYWRkaW5nKTt0aGlzLl9kYXRhTGVuZ3RoKz10aGlzLndvcmRTaXplO3JldHVybiBmdW5jdGlvbih2YWx1ZSl7X3RoaXMuX2RhdGFbb2Zmc2V0XT1fdGhpcy5fZ2V0VmFsdWUodmFsdWUpfX07cmV0dXJuIFdyaXRlcn0oKTtleHBvcnRzLldyaXRlcj1Xcml0ZXI7dmFyIFJlYWRlcj1mdW5jdGlvbigpe2Z1bmN0aW9uIFJlYWRlcihkYXRhLHdvcmRTaXplLGNvZXJjZUZ1bmMsYWxsb3dMb29zZSl7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIl9kYXRhIiwoMCxsaWIkMS5hcnJheWlmeSkoZGF0YSkpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJ3b3JkU2l6ZSIsd29yZFNpemV8fDMyKTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywiX2NvZXJjZUZ1bmMiLGNvZXJjZUZ1bmMpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJhbGxvd0xvb3NlIixhbGxvd0xvb3NlKTt0aGlzLl9vZmZzZXQ9MH1PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGVyLnByb3RvdHlwZSwiZGF0YSIse2dldDpmdW5jdGlvbigpe3JldHVybigwLGxpYiQxLmhleGxpZnkpKHRoaXMuX2RhdGEpfSxlbnVtZXJhYmxlOmZhbHNlLGNvbmZpZ3VyYWJsZTp0cnVlfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRlci5wcm90b3R5cGUsImNvbnN1bWVkIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29mZnNldH0sZW51bWVyYWJsZTpmYWxzZSxjb25maWd1cmFibGU6dHJ1ZX0pO1JlYWRlci5jb2VyY2U9ZnVuY3Rpb24obmFtZSx2YWx1ZSl7dmFyIG1hdGNoPW5hbWUubWF0Y2goIl51P2ludChbMC05XSspJCIpO2lmKG1hdGNoJiZwYXJzZUludChtYXRjaFsxXSk8PTQ4KXt2YWx1ZT12YWx1ZS50b051bWJlcigpfXJldHVybiB2YWx1ZX07UmVhZGVyLnByb3RvdHlwZS5jb2VyY2U9ZnVuY3Rpb24obmFtZSx2YWx1ZSl7aWYodGhpcy5fY29lcmNlRnVuYyl7cmV0dXJuIHRoaXMuX2NvZXJjZUZ1bmMobmFtZSx2YWx1ZSl9cmV0dXJuIFJlYWRlci5jb2VyY2UobmFtZSx2YWx1ZSl9O1JlYWRlci5wcm90b3R5cGUuX3BlZWtCeXRlcz1mdW5jdGlvbihvZmZzZXQsbGVuZ3RoLGxvb3NlKXt2YXIgYWxpZ25lZExlbmd0aD1NYXRoLmNlaWwobGVuZ3RoL3RoaXMud29yZFNpemUpKnRoaXMud29yZFNpemU7aWYodGhpcy5fb2Zmc2V0K2FsaWduZWRMZW5ndGg+dGhpcy5fZGF0YS5sZW5ndGgpe2lmKHRoaXMuYWxsb3dMb29zZSYmbG9vc2UmJnRoaXMuX29mZnNldCtsZW5ndGg8PXRoaXMuX2RhdGEubGVuZ3RoKXthbGlnbmVkTGVuZ3RoPWxlbmd0aH1lbHNle2xvZ2dlci50aHJvd0Vycm9yKCJkYXRhIG91dC1vZi1ib3VuZHMiLGxpYi5Mb2dnZXIuZXJyb3JzLkJVRkZFUl9PVkVSUlVOLHtsZW5ndGg6dGhpcy5fZGF0YS5sZW5ndGgsb2Zmc2V0OnRoaXMuX29mZnNldCthbGlnbmVkTGVuZ3RofSl9fXJldHVybiB0aGlzLl9kYXRhLnNsaWNlKHRoaXMuX29mZnNldCx0aGlzLl9vZmZzZXQrYWxpZ25lZExlbmd0aCl9O1JlYWRlci5wcm90b3R5cGUuc3ViUmVhZGVyPWZ1bmN0aW9uKG9mZnNldCl7cmV0dXJuIG5ldyBSZWFkZXIodGhpcy5fZGF0YS5zbGljZSh0aGlzLl9vZmZzZXQrb2Zmc2V0KSx0aGlzLndvcmRTaXplLHRoaXMuX2NvZXJjZUZ1bmMsdGhpcy5hbGxvd0xvb3NlKX07UmVhZGVyLnByb3RvdHlwZS5yZWFkQnl0ZXM9ZnVuY3Rpb24obGVuZ3RoLGxvb3NlKXt2YXIgYnl0ZXM9dGhpcy5fcGVla0J5dGVzKDAsbGVuZ3RoLCEhbG9vc2UpO3RoaXMuX29mZnNldCs9Ynl0ZXMubGVuZ3RoO3JldHVybiBieXRlcy5zbGljZSgwLGxlbmd0aCl9O1JlYWRlci5wcm90b3R5cGUucmVhZFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIGxpYiQyLkJpZ051bWJlci5mcm9tKHRoaXMucmVhZEJ5dGVzKHRoaXMud29yZFNpemUpKX07cmV0dXJuIFJlYWRlcn0oKTtleHBvcnRzLlJlYWRlcj1SZWFkZXJ9KTt2YXIgYWJzdHJhY3RDb2RlciQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGFic3RyYWN0Q29kZXIpO3ZhciBzaGEzPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSl7KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBJTlBVVF9FUlJPUj0iaW5wdXQgaXMgaW52YWxpZCB0eXBlIjt2YXIgRklOQUxJWkVfRVJST1I9ImZpbmFsaXplIGFscmVhZHkgY2FsbGVkIjt2YXIgV0lORE9XPXR5cGVvZiB3aW5kb3c9PT0ib2JqZWN0Ijt2YXIgcm9vdD1XSU5ET1c/d2luZG93Ont9O2lmKHJvb3QuSlNfU0hBM19OT19XSU5ET1cpe1dJTkRPVz1mYWxzZX12YXIgV0VCX1dPUktFUj0hV0lORE9XJiZ0eXBlb2Ygc2VsZj09PSJvYmplY3QiO3ZhciBOT0RFX0pTPSFyb290LkpTX1NIQTNfTk9fTk9ERV9KUyYmdHlwZW9mIHByb2Nlc3M9PT0ib2JqZWN0IiYmcHJvY2Vzcy52ZXJzaW9ucyYmcHJvY2Vzcy52ZXJzaW9ucy5ub2RlO2lmKE5PREVfSlMpe3Jvb3Q9Y29tbW9uanNHbG9iYWx9ZWxzZSBpZihXRUJfV09SS0VSKXtyb290PXNlbGZ9dmFyIENPTU1PTl9KUz0hcm9vdC5KU19TSEEzX05PX0NPTU1PTl9KUyYmIm9iamVjdCI9PT0ib2JqZWN0IiYmbW9kdWxlLmV4cG9ydHM7dmFyIEFNRD10eXBlb2YgdW5kZWZpbmVkPT09ImZ1bmN0aW9uIiYmdW5kZWZpbmVkLmFtZDt2YXIgQVJSQVlfQlVGRkVSPSFyb290LkpTX1NIQTNfTk9fQVJSQVlfQlVGRkVSJiZ0eXBlb2YgQXJyYXlCdWZmZXIhPT0idW5kZWZpbmVkIjt2YXIgSEVYX0NIQVJTPSIwMTIzNDU2Nzg5YWJjZGVmIi5zcGxpdCgiIik7dmFyIFNIQUtFX1BBRERJTkc9WzMxLDc5MzYsMjAzMTYxNiw1MjAwOTM2OTZdO3ZhciBDU0hBS0VfUEFERElORz1bNCwxMDI0LDI2MjE0NCw2NzEwODg2NF07dmFyIEtFQ0NBS19QQURESU5HPVsxLDI1Niw2NTUzNiwxNjc3NzIxNl07dmFyIFBBRERJTkc9WzYsMTUzNiwzOTMyMTYsMTAwNjYzMjk2XTt2YXIgU0hJRlQ9WzAsOCwxNiwyNF07dmFyIFJDPVsxLDAsMzI4OTgsMCwzMjkwNiwyMTQ3NDgzNjQ4LDIxNDc1MTY0MTYsMjE0NzQ4MzY0OCwzMjkwNywwLDIxNDc0ODM2NDksMCwyMTQ3NTE2NTQ1LDIxNDc0ODM2NDgsMzI3NzcsMjE0NzQ4MzY0OCwxMzgsMCwxMzYsMCwyMTQ3NTE2NDI1LDAsMjE0NzQ4MzY1OCwwLDIxNDc1MTY1NTUsMCwxMzksMjE0NzQ4MzY0OCwzMjkwNSwyMTQ3NDgzNjQ4LDMyNzcxLDIxNDc0ODM2NDgsMzI3NzAsMjE0NzQ4MzY0OCwxMjgsMjE0NzQ4MzY0OCwzMjc3OCwwLDIxNDc0ODM2NTgsMjE0NzQ4MzY0OCwyMTQ3NTE2NTQ1LDIxNDc0ODM2NDgsMzI4OTYsMjE0NzQ4MzY0OCwyMTQ3NDgzNjQ5LDAsMjE0NzUxNjQyNCwyMTQ3NDgzNjQ4XTt2YXIgQklUUz1bMjI0LDI1NiwzODQsNTEyXTt2YXIgU0hBS0VfQklUUz1bMTI4LDI1Nl07dmFyIE9VVFBVVF9UWVBFUz1bImhleCIsImJ1ZmZlciIsImFycmF5QnVmZmVyIiwiYXJyYXkiLCJkaWdlc3QiXTt2YXIgQ1NIQUtFX0JZVEVQQUQ9ezEyODoxNjgsMjU2OjEzNn07aWYocm9vdC5KU19TSEEzX05PX05PREVfSlN8fCFBcnJheS5pc0FycmF5KXtBcnJheS5pc0FycmF5PWZ1bmN0aW9uKG9iail7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopPT09IltvYmplY3QgQXJyYXldIn19aWYoQVJSQVlfQlVGRkVSJiYocm9vdC5KU19TSEEzX05PX0FSUkFZX0JVRkZFUl9JU19WSUVXfHwhQXJyYXlCdWZmZXIuaXNWaWV3KSl7QXJyYXlCdWZmZXIuaXNWaWV3PWZ1bmN0aW9uKG9iail7cmV0dXJuIHR5cGVvZiBvYmo9PT0ib2JqZWN0IiYmb2JqLmJ1ZmZlciYmb2JqLmJ1ZmZlci5jb25zdHJ1Y3Rvcj09PUFycmF5QnVmZmVyfX12YXIgY3JlYXRlT3V0cHV0TWV0aG9kPWZ1bmN0aW9uKGJpdHMscGFkZGluZyxvdXRwdXRUeXBlKXtyZXR1cm4gZnVuY3Rpb24obWVzc2FnZSl7cmV0dXJuIG5ldyBLZWNjYWsoYml0cyxwYWRkaW5nLGJpdHMpLnVwZGF0ZShtZXNzYWdlKVtvdXRwdXRUeXBlXSgpfX07dmFyIGNyZWF0ZVNoYWtlT3V0cHV0TWV0aG9kPWZ1bmN0aW9uKGJpdHMscGFkZGluZyxvdXRwdXRUeXBlKXtyZXR1cm4gZnVuY3Rpb24obWVzc2FnZSxvdXRwdXRCaXRzKXtyZXR1cm4gbmV3IEtlY2NhayhiaXRzLHBhZGRpbmcsb3V0cHV0Qml0cykudXBkYXRlKG1lc3NhZ2UpW291dHB1dFR5cGVdKCl9fTt2YXIgY3JlYXRlQ3NoYWtlT3V0cHV0TWV0aG9kPWZ1bmN0aW9uKGJpdHMscGFkZGluZyxvdXRwdXRUeXBlKXtyZXR1cm4gZnVuY3Rpb24obWVzc2FnZSxvdXRwdXRCaXRzLG4scyl7cmV0dXJuIG1ldGhvZHNbImNzaGFrZSIrYml0c10udXBkYXRlKG1lc3NhZ2Usb3V0cHV0Qml0cyxuLHMpW291dHB1dFR5cGVdKCl9fTt2YXIgY3JlYXRlS21hY091dHB1dE1ldGhvZD1mdW5jdGlvbihiaXRzLHBhZGRpbmcsb3V0cHV0VHlwZSl7cmV0dXJuIGZ1bmN0aW9uKGtleSxtZXNzYWdlLG91dHB1dEJpdHMscyl7cmV0dXJuIG1ldGhvZHNbImttYWMiK2JpdHNdLnVwZGF0ZShrZXksbWVzc2FnZSxvdXRwdXRCaXRzLHMpW291dHB1dFR5cGVdKCl9fTt2YXIgY3JlYXRlT3V0cHV0TWV0aG9kcz1mdW5jdGlvbihtZXRob2QsY3JlYXRlTWV0aG9kLGJpdHMscGFkZGluZyl7Zm9yKHZhciBpPTA7aTxPVVRQVVRfVFlQRVMubGVuZ3RoOysraSl7dmFyIHR5cGU9T1VUUFVUX1RZUEVTW2ldO21ldGhvZFt0eXBlXT1jcmVhdGVNZXRob2QoYml0cyxwYWRkaW5nLHR5cGUpfXJldHVybiBtZXRob2R9O3ZhciBjcmVhdGVNZXRob2Q9ZnVuY3Rpb24oYml0cyxwYWRkaW5nKXt2YXIgbWV0aG9kPWNyZWF0ZU91dHB1dE1ldGhvZChiaXRzLHBhZGRpbmcsImhleCIpO21ldGhvZC5jcmVhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEtlY2NhayhiaXRzLHBhZGRpbmcsYml0cyl9O21ldGhvZC51cGRhdGU9ZnVuY3Rpb24obWVzc2FnZSl7cmV0dXJuIG1ldGhvZC5jcmVhdGUoKS51cGRhdGUobWVzc2FnZSl9O3JldHVybiBjcmVhdGVPdXRwdXRNZXRob2RzKG1ldGhvZCxjcmVhdGVPdXRwdXRNZXRob2QsYml0cyxwYWRkaW5nKX07dmFyIGNyZWF0ZVNoYWtlTWV0aG9kPWZ1bmN0aW9uKGJpdHMscGFkZGluZyl7dmFyIG1ldGhvZD1jcmVhdGVTaGFrZU91dHB1dE1ldGhvZChiaXRzLHBhZGRpbmcsImhleCIpO21ldGhvZC5jcmVhdGU9ZnVuY3Rpb24ob3V0cHV0Qml0cyl7cmV0dXJuIG5ldyBLZWNjYWsoYml0cyxwYWRkaW5nLG91dHB1dEJpdHMpfTttZXRob2QudXBkYXRlPWZ1bmN0aW9uKG1lc3NhZ2Usb3V0cHV0Qml0cyl7cmV0dXJuIG1ldGhvZC5jcmVhdGUob3V0cHV0Qml0cykudXBkYXRlKG1lc3NhZ2UpfTtyZXR1cm4gY3JlYXRlT3V0cHV0TWV0aG9kcyhtZXRob2QsY3JlYXRlU2hha2VPdXRwdXRNZXRob2QsYml0cyxwYWRkaW5nKX07dmFyIGNyZWF0ZUNzaGFrZU1ldGhvZD1mdW5jdGlvbihiaXRzLHBhZGRpbmcpe3ZhciB3PUNTSEFLRV9CWVRFUEFEW2JpdHNdO3ZhciBtZXRob2Q9Y3JlYXRlQ3NoYWtlT3V0cHV0TWV0aG9kKGJpdHMscGFkZGluZywiaGV4Iik7bWV0aG9kLmNyZWF0ZT1mdW5jdGlvbihvdXRwdXRCaXRzLG4scyl7aWYoIW4mJiFzKXtyZXR1cm4gbWV0aG9kc1sic2hha2UiK2JpdHNdLmNyZWF0ZShvdXRwdXRCaXRzKX1lbHNle3JldHVybiBuZXcgS2VjY2FrKGJpdHMscGFkZGluZyxvdXRwdXRCaXRzKS5ieXRlcGFkKFtuLHNdLHcpfX07bWV0aG9kLnVwZGF0ZT1mdW5jdGlvbihtZXNzYWdlLG91dHB1dEJpdHMsbixzKXtyZXR1cm4gbWV0aG9kLmNyZWF0ZShvdXRwdXRCaXRzLG4scykudXBkYXRlKG1lc3NhZ2UpfTtyZXR1cm4gY3JlYXRlT3V0cHV0TWV0aG9kcyhtZXRob2QsY3JlYXRlQ3NoYWtlT3V0cHV0TWV0aG9kLGJpdHMscGFkZGluZyl9O3ZhciBjcmVhdGVLbWFjTWV0aG9kPWZ1bmN0aW9uKGJpdHMscGFkZGluZyl7dmFyIHc9Q1NIQUtFX0JZVEVQQURbYml0c107dmFyIG1ldGhvZD1jcmVhdGVLbWFjT3V0cHV0TWV0aG9kKGJpdHMscGFkZGluZywiaGV4Iik7bWV0aG9kLmNyZWF0ZT1mdW5jdGlvbihrZXksb3V0cHV0Qml0cyxzKXtyZXR1cm4gbmV3IEttYWMoYml0cyxwYWRkaW5nLG91dHB1dEJpdHMpLmJ5dGVwYWQoWyJLTUFDIixzXSx3KS5ieXRlcGFkKFtrZXldLHcpfTttZXRob2QudXBkYXRlPWZ1bmN0aW9uKGtleSxtZXNzYWdlLG91dHB1dEJpdHMscyl7cmV0dXJuIG1ldGhvZC5jcmVhdGUoa2V5LG91dHB1dEJpdHMscykudXBkYXRlKG1lc3NhZ2UpfTtyZXR1cm4gY3JlYXRlT3V0cHV0TWV0aG9kcyhtZXRob2QsY3JlYXRlS21hY091dHB1dE1ldGhvZCxiaXRzLHBhZGRpbmcpfTt2YXIgYWxnb3JpdGhtcz1be25hbWU6ImtlY2NhayIscGFkZGluZzpLRUNDQUtfUEFERElORyxiaXRzOkJJVFMsY3JlYXRlTWV0aG9kOmNyZWF0ZU1ldGhvZH0se25hbWU6InNoYTMiLHBhZGRpbmc6UEFERElORyxiaXRzOkJJVFMsY3JlYXRlTWV0aG9kOmNyZWF0ZU1ldGhvZH0se25hbWU6InNoYWtlIixwYWRkaW5nOlNIQUtFX1BBRERJTkcsYml0czpTSEFLRV9CSVRTLGNyZWF0ZU1ldGhvZDpjcmVhdGVTaGFrZU1ldGhvZH0se25hbWU6ImNzaGFrZSIscGFkZGluZzpDU0hBS0VfUEFERElORyxiaXRzOlNIQUtFX0JJVFMsY3JlYXRlTWV0aG9kOmNyZWF0ZUNzaGFrZU1ldGhvZH0se25hbWU6ImttYWMiLHBhZGRpbmc6Q1NIQUtFX1BBRERJTkcsYml0czpTSEFLRV9CSVRTLGNyZWF0ZU1ldGhvZDpjcmVhdGVLbWFjTWV0aG9kfV07dmFyIG1ldGhvZHM9e30sbWV0aG9kTmFtZXM9W107Zm9yKHZhciBpPTA7aTxhbGdvcml0aG1zLmxlbmd0aDsrK2kpe3ZhciBhbGdvcml0aG09YWxnb3JpdGhtc1tpXTt2YXIgYml0cz1hbGdvcml0aG0uYml0cztmb3IodmFyIGo9MDtqPGJpdHMubGVuZ3RoOysrail7dmFyIG1ldGhvZE5hbWU9YWxnb3JpdGhtLm5hbWUrIl8iK2JpdHNbal07bWV0aG9kTmFtZXMucHVzaChtZXRob2ROYW1lKTttZXRob2RzW21ldGhvZE5hbWVdPWFsZ29yaXRobS5jcmVhdGVNZXRob2QoYml0c1tqXSxhbGdvcml0aG0ucGFkZGluZyk7aWYoYWxnb3JpdGhtLm5hbWUhPT0ic2hhMyIpe3ZhciBuZXdNZXRob2ROYW1lPWFsZ29yaXRobS5uYW1lK2JpdHNbal07bWV0aG9kTmFtZXMucHVzaChuZXdNZXRob2ROYW1lKTttZXRob2RzW25ld01ldGhvZE5hbWVdPW1ldGhvZHNbbWV0aG9kTmFtZV19fX1mdW5jdGlvbiBLZWNjYWsoYml0cyxwYWRkaW5nLG91dHB1dEJpdHMpe3RoaXMuYmxvY2tzPVtdO3RoaXMucz1bXTt0aGlzLnBhZGRpbmc9cGFkZGluZzt0aGlzLm91dHB1dEJpdHM9b3V0cHV0Qml0czt0aGlzLnJlc2V0PXRydWU7dGhpcy5maW5hbGl6ZWQ9ZmFsc2U7dGhpcy5ibG9jaz0wO3RoaXMuc3RhcnQ9MDt0aGlzLmJsb2NrQ291bnQ9MTYwMC0oYml0czw8MSk+PjU7dGhpcy5ieXRlQ291bnQ9dGhpcy5ibG9ja0NvdW50PDwyO3RoaXMub3V0cHV0QmxvY2tzPW91dHB1dEJpdHM+PjU7dGhpcy5leHRyYUJ5dGVzPShvdXRwdXRCaXRzJjMxKT4+Mztmb3IodmFyIGk9MDtpPDUwOysraSl7dGhpcy5zW2ldPTB9fUtlY2Nhay5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKG1lc3NhZ2Upe2lmKHRoaXMuZmluYWxpemVkKXt0aHJvdyBuZXcgRXJyb3IoRklOQUxJWkVfRVJST1IpfXZhciBub3RTdHJpbmcsdHlwZT10eXBlb2YgbWVzc2FnZTtpZih0eXBlIT09InN0cmluZyIpe2lmKHR5cGU9PT0ib2JqZWN0Iil7aWYobWVzc2FnZT09PW51bGwpe3Rocm93IG5ldyBFcnJvcihJTlBVVF9FUlJPUil9ZWxzZSBpZihBUlJBWV9CVUZGRVImJm1lc3NhZ2UuY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcil7bWVzc2FnZT1uZXcgVWludDhBcnJheShtZXNzYWdlKX1lbHNlIGlmKCFBcnJheS5pc0FycmF5KG1lc3NhZ2UpKXtpZighQVJSQVlfQlVGRkVSfHwhQXJyYXlCdWZmZXIuaXNWaWV3KG1lc3NhZ2UpKXt0aHJvdyBuZXcgRXJyb3IoSU5QVVRfRVJST1IpfX19ZWxzZXt0aHJvdyBuZXcgRXJyb3IoSU5QVVRfRVJST1IpfW5vdFN0cmluZz10cnVlfXZhciBibG9ja3M9dGhpcy5ibG9ja3MsYnl0ZUNvdW50PXRoaXMuYnl0ZUNvdW50LGxlbmd0aD1tZXNzYWdlLmxlbmd0aCxibG9ja0NvdW50PXRoaXMuYmxvY2tDb3VudCxpbmRleD0wLHM9dGhpcy5zLGksY29kZTt3aGlsZShpbmRleDxsZW5ndGgpe2lmKHRoaXMucmVzZXQpe3RoaXMucmVzZXQ9ZmFsc2U7YmxvY2tzWzBdPXRoaXMuYmxvY2s7Zm9yKGk9MTtpPGJsb2NrQ291bnQrMTsrK2kpe2Jsb2Nrc1tpXT0wfX1pZihub3RTdHJpbmcpe2ZvcihpPXRoaXMuc3RhcnQ7aW5kZXg8bGVuZ3RoJiZpPGJ5dGVDb3VudDsrK2luZGV4KXtibG9ja3NbaT4+Ml18PW1lc3NhZ2VbaW5kZXhdPDxTSElGVFtpKysmM119fWVsc2V7Zm9yKGk9dGhpcy5zdGFydDtpbmRleDxsZW5ndGgmJmk8Ynl0ZUNvdW50OysraW5kZXgpe2NvZGU9bWVzc2FnZS5jaGFyQ29kZUF0KGluZGV4KTtpZihjb2RlPDEyOCl7YmxvY2tzW2k+PjJdfD1jb2RlPDxTSElGVFtpKysmM119ZWxzZSBpZihjb2RlPDIwNDgpe2Jsb2Nrc1tpPj4yXXw9KDE5Mnxjb2RlPj42KTw8U0hJRlRbaSsrJjNdO2Jsb2Nrc1tpPj4yXXw9KDEyOHxjb2RlJjYzKTw8U0hJRlRbaSsrJjNdfWVsc2UgaWYoY29kZTw1NTI5Nnx8Y29kZT49NTczNDQpe2Jsb2Nrc1tpPj4yXXw9KDIyNHxjb2RlPj4xMik8PFNISUZUW2krKyYzXTtibG9ja3NbaT4+Ml18PSgxMjh8Y29kZT4+NiY2Myk8PFNISUZUW2krKyYzXTtibG9ja3NbaT4+Ml18PSgxMjh8Y29kZSY2Myk8PFNISUZUW2krKyYzXX1lbHNle2NvZGU9NjU1MzYrKChjb2RlJjEwMjMpPDwxMHxtZXNzYWdlLmNoYXJDb2RlQXQoKytpbmRleCkmMTAyMyk7YmxvY2tzW2k+PjJdfD0oMjQwfGNvZGU+PjE4KTw8U0hJRlRbaSsrJjNdO2Jsb2Nrc1tpPj4yXXw9KDEyOHxjb2RlPj4xMiY2Myk8PFNISUZUW2krKyYzXTtibG9ja3NbaT4+Ml18PSgxMjh8Y29kZT4+NiY2Myk8PFNISUZUW2krKyYzXTtibG9ja3NbaT4+Ml18PSgxMjh8Y29kZSY2Myk8PFNISUZUW2krKyYzXX19fXRoaXMubGFzdEJ5dGVJbmRleD1pO2lmKGk+PWJ5dGVDb3VudCl7dGhpcy5zdGFydD1pLWJ5dGVDb3VudDt0aGlzLmJsb2NrPWJsb2Nrc1tibG9ja0NvdW50XTtmb3IoaT0wO2k8YmxvY2tDb3VudDsrK2kpe3NbaV1ePWJsb2Nrc1tpXX1mKHMpO3RoaXMucmVzZXQ9dHJ1ZX1lbHNle3RoaXMuc3RhcnQ9aX19cmV0dXJuIHRoaXN9O0tlY2Nhay5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKHgscmlnaHQpe3ZhciBvPXgmMjU1LG49MTt2YXIgYnl0ZXM9W29dO3g9eD4+ODtvPXgmMjU1O3doaWxlKG8+MCl7Ynl0ZXMudW5zaGlmdChvKTt4PXg+Pjg7bz14JjI1NTsrK259aWYocmlnaHQpe2J5dGVzLnB1c2gobil9ZWxzZXtieXRlcy51bnNoaWZ0KG4pfXRoaXMudXBkYXRlKGJ5dGVzKTtyZXR1cm4gYnl0ZXMubGVuZ3RofTtLZWNjYWsucHJvdG90eXBlLmVuY29kZVN0cmluZz1mdW5jdGlvbihzdHIpe3ZhciBub3RTdHJpbmcsdHlwZT10eXBlb2Ygc3RyO2lmKHR5cGUhPT0ic3RyaW5nIil7aWYodHlwZT09PSJvYmplY3QiKXtpZihzdHI9PT1udWxsKXt0aHJvdyBuZXcgRXJyb3IoSU5QVVRfRVJST1IpfWVsc2UgaWYoQVJSQVlfQlVGRkVSJiZzdHIuY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcil7c3RyPW5ldyBVaW50OEFycmF5KHN0cil9ZWxzZSBpZighQXJyYXkuaXNBcnJheShzdHIpKXtpZighQVJSQVlfQlVGRkVSfHwhQXJyYXlCdWZmZXIuaXNWaWV3KHN0cikpe3Rocm93IG5ldyBFcnJvcihJTlBVVF9FUlJPUil9fX1lbHNle3Rocm93IG5ldyBFcnJvcihJTlBVVF9FUlJPUil9bm90U3RyaW5nPXRydWV9dmFyIGJ5dGVzPTAsbGVuZ3RoPXN0ci5sZW5ndGg7aWYobm90U3RyaW5nKXtieXRlcz1sZW5ndGh9ZWxzZXtmb3IodmFyIGk9MDtpPHN0ci5sZW5ndGg7KytpKXt2YXIgY29kZT1zdHIuY2hhckNvZGVBdChpKTtpZihjb2RlPDEyOCl7Ynl0ZXMrPTF9ZWxzZSBpZihjb2RlPDIwNDgpe2J5dGVzKz0yfWVsc2UgaWYoY29kZTw1NTI5Nnx8Y29kZT49NTczNDQpe2J5dGVzKz0zfWVsc2V7Y29kZT02NTUzNisoKGNvZGUmMTAyMyk8PDEwfHN0ci5jaGFyQ29kZUF0KCsraSkmMTAyMyk7Ynl0ZXMrPTR9fX1ieXRlcys9dGhpcy5lbmNvZGUoYnl0ZXMqOCk7dGhpcy51cGRhdGUoc3RyKTtyZXR1cm4gYnl0ZXN9O0tlY2Nhay5wcm90b3R5cGUuYnl0ZXBhZD1mdW5jdGlvbihzdHJzLHcpe3ZhciBieXRlcz10aGlzLmVuY29kZSh3KTtmb3IodmFyIGk9MDtpPHN0cnMubGVuZ3RoOysraSl7Ynl0ZXMrPXRoaXMuZW5jb2RlU3RyaW5nKHN0cnNbaV0pfXZhciBwYWRkaW5nQnl0ZXM9dy1ieXRlcyV3O3ZhciB6ZXJvcz1bXTt6ZXJvcy5sZW5ndGg9cGFkZGluZ0J5dGVzO3RoaXMudXBkYXRlKHplcm9zKTtyZXR1cm4gdGhpc307S2VjY2FrLnByb3RvdHlwZS5maW5hbGl6ZT1mdW5jdGlvbigpe2lmKHRoaXMuZmluYWxpemVkKXtyZXR1cm59dGhpcy5maW5hbGl6ZWQ9dHJ1ZTt2YXIgYmxvY2tzPXRoaXMuYmxvY2tzLGk9dGhpcy5sYXN0Qnl0ZUluZGV4LGJsb2NrQ291bnQ9dGhpcy5ibG9ja0NvdW50LHM9dGhpcy5zO2Jsb2Nrc1tpPj4yXXw9dGhpcy5wYWRkaW5nW2kmM107aWYodGhpcy5sYXN0Qnl0ZUluZGV4PT09dGhpcy5ieXRlQ291bnQpe2Jsb2Nrc1swXT1ibG9ja3NbYmxvY2tDb3VudF07Zm9yKGk9MTtpPGJsb2NrQ291bnQrMTsrK2kpe2Jsb2Nrc1tpXT0wfX1ibG9ja3NbYmxvY2tDb3VudC0xXXw9MjE0NzQ4MzY0ODtmb3IoaT0wO2k8YmxvY2tDb3VudDsrK2kpe3NbaV1ePWJsb2Nrc1tpXX1mKHMpfTtLZWNjYWsucHJvdG90eXBlLnRvU3RyaW5nPUtlY2Nhay5wcm90b3R5cGUuaGV4PWZ1bmN0aW9uKCl7dGhpcy5maW5hbGl6ZSgpO3ZhciBibG9ja0NvdW50PXRoaXMuYmxvY2tDb3VudCxzPXRoaXMucyxvdXRwdXRCbG9ja3M9dGhpcy5vdXRwdXRCbG9ja3MsZXh0cmFCeXRlcz10aGlzLmV4dHJhQnl0ZXMsaT0wLGo9MDt2YXIgaGV4PSIiLGJsb2NrO3doaWxlKGo8b3V0cHV0QmxvY2tzKXtmb3IoaT0wO2k8YmxvY2tDb3VudCYmajxvdXRwdXRCbG9ja3M7KytpLCsrail7YmxvY2s9c1tpXTtoZXgrPUhFWF9DSEFSU1tibG9jaz4+NCYxNV0rSEVYX0NIQVJTW2Jsb2NrJjE1XStIRVhfQ0hBUlNbYmxvY2s+PjEyJjE1XStIRVhfQ0hBUlNbYmxvY2s+PjgmMTVdK0hFWF9DSEFSU1tibG9jaz4+MjAmMTVdK0hFWF9DSEFSU1tibG9jaz4+MTYmMTVdK0hFWF9DSEFSU1tibG9jaz4+MjgmMTVdK0hFWF9DSEFSU1tibG9jaz4+MjQmMTVdfWlmKGolYmxvY2tDb3VudD09PTApe2Yocyk7aT0wfX1pZihleHRyYUJ5dGVzKXtibG9jaz1zW2ldO2hleCs9SEVYX0NIQVJTW2Jsb2NrPj40JjE1XStIRVhfQ0hBUlNbYmxvY2smMTVdO2lmKGV4dHJhQnl0ZXM+MSl7aGV4Kz1IRVhfQ0hBUlNbYmxvY2s+PjEyJjE1XStIRVhfQ0hBUlNbYmxvY2s+PjgmMTVdfWlmKGV4dHJhQnl0ZXM+Mil7aGV4Kz1IRVhfQ0hBUlNbYmxvY2s+PjIwJjE1XStIRVhfQ0hBUlNbYmxvY2s+PjE2JjE1XX19cmV0dXJuIGhleH07S2VjY2FrLnByb3RvdHlwZS5hcnJheUJ1ZmZlcj1mdW5jdGlvbigpe3RoaXMuZmluYWxpemUoKTt2YXIgYmxvY2tDb3VudD10aGlzLmJsb2NrQ291bnQscz10aGlzLnMsb3V0cHV0QmxvY2tzPXRoaXMub3V0cHV0QmxvY2tzLGV4dHJhQnl0ZXM9dGhpcy5leHRyYUJ5dGVzLGk9MCxqPTA7dmFyIGJ5dGVzPXRoaXMub3V0cHV0Qml0cz4+Mzt2YXIgYnVmZmVyO2lmKGV4dHJhQnl0ZXMpe2J1ZmZlcj1uZXcgQXJyYXlCdWZmZXIob3V0cHV0QmxvY2tzKzE8PDIpfWVsc2V7YnVmZmVyPW5ldyBBcnJheUJ1ZmZlcihieXRlcyl9dmFyIGFycmF5PW5ldyBVaW50MzJBcnJheShidWZmZXIpO3doaWxlKGo8b3V0cHV0QmxvY2tzKXtmb3IoaT0wO2k8YmxvY2tDb3VudCYmajxvdXRwdXRCbG9ja3M7KytpLCsrail7YXJyYXlbal09c1tpXX1pZihqJWJsb2NrQ291bnQ9PT0wKXtmKHMpfX1pZihleHRyYUJ5dGVzKXthcnJheVtpXT1zW2ldO2J1ZmZlcj1idWZmZXIuc2xpY2UoMCxieXRlcyl9cmV0dXJuIGJ1ZmZlcn07S2VjY2FrLnByb3RvdHlwZS5idWZmZXI9S2VjY2FrLnByb3RvdHlwZS5hcnJheUJ1ZmZlcjtLZWNjYWsucHJvdG90eXBlLmRpZ2VzdD1LZWNjYWsucHJvdG90eXBlLmFycmF5PWZ1bmN0aW9uKCl7dGhpcy5maW5hbGl6ZSgpO3ZhciBibG9ja0NvdW50PXRoaXMuYmxvY2tDb3VudCxzPXRoaXMucyxvdXRwdXRCbG9ja3M9dGhpcy5vdXRwdXRCbG9ja3MsZXh0cmFCeXRlcz10aGlzLmV4dHJhQnl0ZXMsaT0wLGo9MDt2YXIgYXJyYXk9W10sb2Zmc2V0LGJsb2NrO3doaWxlKGo8b3V0cHV0QmxvY2tzKXtmb3IoaT0wO2k8YmxvY2tDb3VudCYmajxvdXRwdXRCbG9ja3M7KytpLCsrail7b2Zmc2V0PWo8PDI7YmxvY2s9c1tpXTthcnJheVtvZmZzZXRdPWJsb2NrJjI1NTthcnJheVtvZmZzZXQrMV09YmxvY2s+PjgmMjU1O2FycmF5W29mZnNldCsyXT1ibG9jaz4+MTYmMjU1O2FycmF5W29mZnNldCszXT1ibG9jaz4+MjQmMjU1fWlmKGolYmxvY2tDb3VudD09PTApe2Yocyl9fWlmKGV4dHJhQnl0ZXMpe29mZnNldD1qPDwyO2Jsb2NrPXNbaV07YXJyYXlbb2Zmc2V0XT1ibG9jayYyNTU7aWYoZXh0cmFCeXRlcz4xKXthcnJheVtvZmZzZXQrMV09YmxvY2s+PjgmMjU1fWlmKGV4dHJhQnl0ZXM+Mil7YXJyYXlbb2Zmc2V0KzJdPWJsb2NrPj4xNiYyNTV9fXJldHVybiBhcnJheX07ZnVuY3Rpb24gS21hYyhiaXRzLHBhZGRpbmcsb3V0cHV0Qml0cyl7S2VjY2FrLmNhbGwodGhpcyxiaXRzLHBhZGRpbmcsb3V0cHV0Qml0cyl9S21hYy5wcm90b3R5cGU9bmV3IEtlY2NhaztLbWFjLnByb3RvdHlwZS5maW5hbGl6ZT1mdW5jdGlvbigpe3RoaXMuZW5jb2RlKHRoaXMub3V0cHV0Qml0cyx0cnVlKTtyZXR1cm4gS2VjY2FrLnByb3RvdHlwZS5maW5hbGl6ZS5jYWxsKHRoaXMpfTt2YXIgZj1mdW5jdGlvbihzKXt2YXIgaCxsLG4sYzAsYzEsYzIsYzMsYzQsYzUsYzYsYzcsYzgsYzksYjAsYjEsYjIsYjMsYjQsYjUsYjYsYjcsYjgsYjksYjEwLGIxMSxiMTIsYjEzLGIxNCxiMTUsYjE2LGIxNyxiMTgsYjE5LGIyMCxiMjEsYjIyLGIyMyxiMjQsYjI1LGIyNixiMjcsYjI4LGIyOSxiMzAsYjMxLGIzMixiMzMsYjM0LGIzNSxiMzYsYjM3LGIzOCxiMzksYjQwLGI0MSxiNDIsYjQzLGI0NCxiNDUsYjQ2LGI0NyxiNDgsYjQ5O2ZvcihuPTA7bjw0ODtuKz0yKXtjMD1zWzBdXnNbMTBdXnNbMjBdXnNbMzBdXnNbNDBdO2MxPXNbMV1ec1sxMV1ec1syMV1ec1szMV1ec1s0MV07YzI9c1syXV5zWzEyXV5zWzIyXV5zWzMyXV5zWzQyXTtjMz1zWzNdXnNbMTNdXnNbMjNdXnNbMzNdXnNbNDNdO2M0PXNbNF1ec1sxNF1ec1syNF1ec1szNF1ec1s0NF07YzU9c1s1XV5zWzE1XV5zWzI1XV5zWzM1XV5zWzQ1XTtjNj1zWzZdXnNbMTZdXnNbMjZdXnNbMzZdXnNbNDZdO2M3PXNbN11ec1sxN11ec1syN11ec1szN11ec1s0N107Yzg9c1s4XV5zWzE4XV5zWzI4XV5zWzM4XV5zWzQ4XTtjOT1zWzldXnNbMTldXnNbMjldXnNbMzldXnNbNDldO2g9YzheKGMyPDwxfGMzPj4+MzEpO2w9YzleKGMzPDwxfGMyPj4+MzEpO3NbMF1ePWg7c1sxXV49bDtzWzEwXV49aDtzWzExXV49bDtzWzIwXV49aDtzWzIxXV49bDtzWzMwXV49aDtzWzMxXV49bDtzWzQwXV49aDtzWzQxXV49bDtoPWMwXihjNDw8MXxjNT4+PjMxKTtsPWMxXihjNTw8MXxjND4+PjMxKTtzWzJdXj1oO3NbM11ePWw7c1sxMl1ePWg7c1sxM11ePWw7c1syMl1ePWg7c1syM11ePWw7c1szMl1ePWg7c1szM11ePWw7c1s0Ml1ePWg7c1s0M11ePWw7aD1jMl4oYzY8PDF8Yzc+Pj4zMSk7bD1jM14oYzc8PDF8YzY+Pj4zMSk7c1s0XV49aDtzWzVdXj1sO3NbMTRdXj1oO3NbMTVdXj1sO3NbMjRdXj1oO3NbMjVdXj1sO3NbMzRdXj1oO3NbMzVdXj1sO3NbNDRdXj1oO3NbNDVdXj1sO2g9YzReKGM4PDwxfGM5Pj4+MzEpO2w9YzVeKGM5PDwxfGM4Pj4+MzEpO3NbNl1ePWg7c1s3XV49bDtzWzE2XV49aDtzWzE3XV49bDtzWzI2XV49aDtzWzI3XV49bDtzWzM2XV49aDtzWzM3XV49bDtzWzQ2XV49aDtzWzQ3XV49bDtoPWM2XihjMDw8MXxjMT4+PjMxKTtsPWM3XihjMTw8MXxjMD4+PjMxKTtzWzhdXj1oO3NbOV1ePWw7c1sxOF1ePWg7c1sxOV1ePWw7c1syOF1ePWg7c1syOV1ePWw7c1szOF1ePWg7c1szOV1ePWw7c1s0OF1ePWg7c1s0OV1ePWw7YjA9c1swXTtiMT1zWzFdO2IzMj1zWzExXTw8NHxzWzEwXT4+PjI4O2IzMz1zWzEwXTw8NHxzWzExXT4+PjI4O2IxND1zWzIwXTw8M3xzWzIxXT4+PjI5O2IxNT1zWzIxXTw8M3xzWzIwXT4+PjI5O2I0Nj1zWzMxXTw8OXxzWzMwXT4+PjIzO2I0Nz1zWzMwXTw8OXxzWzMxXT4+PjIzO2IyOD1zWzQwXTw8MTh8c1s0MV0+Pj4xNDtiMjk9c1s0MV08PDE4fHNbNDBdPj4+MTQ7YjIwPXNbMl08PDF8c1szXT4+PjMxO2IyMT1zWzNdPDwxfHNbMl0+Pj4zMTtiMj1zWzEzXTw8MTJ8c1sxMl0+Pj4yMDtiMz1zWzEyXTw8MTJ8c1sxM10+Pj4yMDtiMzQ9c1syMl08PDEwfHNbMjNdPj4+MjI7YjM1PXNbMjNdPDwxMHxzWzIyXT4+PjIyO2IxNj1zWzMzXTw8MTN8c1szMl0+Pj4xOTtiMTc9c1szMl08PDEzfHNbMzNdPj4+MTk7YjQ4PXNbNDJdPDwyfHNbNDNdPj4+MzA7YjQ5PXNbNDNdPDwyfHNbNDJdPj4+MzA7YjQwPXNbNV08PDMwfHNbNF0+Pj4yO2I0MT1zWzRdPDwzMHxzWzVdPj4+MjtiMjI9c1sxNF08PDZ8c1sxNV0+Pj4yNjtiMjM9c1sxNV08PDZ8c1sxNF0+Pj4yNjtiND1zWzI1XTw8MTF8c1syNF0+Pj4yMTtiNT1zWzI0XTw8MTF8c1syNV0+Pj4yMTtiMzY9c1szNF08PDE1fHNbMzVdPj4+MTc7YjM3PXNbMzVdPDwxNXxzWzM0XT4+PjE3O2IxOD1zWzQ1XTw8Mjl8c1s0NF0+Pj4zO2IxOT1zWzQ0XTw8Mjl8c1s0NV0+Pj4zO2IxMD1zWzZdPDwyOHxzWzddPj4+NDtiMTE9c1s3XTw8Mjh8c1s2XT4+PjQ7YjQyPXNbMTddPDwyM3xzWzE2XT4+Pjk7YjQzPXNbMTZdPDwyM3xzWzE3XT4+Pjk7YjI0PXNbMjZdPDwyNXxzWzI3XT4+Pjc7YjI1PXNbMjddPDwyNXxzWzI2XT4+Pjc7YjY9c1szNl08PDIxfHNbMzddPj4+MTE7Yjc9c1szN108PDIxfHNbMzZdPj4+MTE7YjM4PXNbNDddPDwyNHxzWzQ2XT4+Pjg7YjM5PXNbNDZdPDwyNHxzWzQ3XT4+Pjg7YjMwPXNbOF08PDI3fHNbOV0+Pj41O2IzMT1zWzldPDwyN3xzWzhdPj4+NTtiMTI9c1sxOF08PDIwfHNbMTldPj4+MTI7YjEzPXNbMTldPDwyMHxzWzE4XT4+PjEyO2I0ND1zWzI5XTw8N3xzWzI4XT4+PjI1O2I0NT1zWzI4XTw8N3xzWzI5XT4+PjI1O2IyNj1zWzM4XTw8OHxzWzM5XT4+PjI0O2IyNz1zWzM5XTw8OHxzWzM4XT4+PjI0O2I4PXNbNDhdPDwxNHxzWzQ5XT4+PjE4O2I5PXNbNDldPDwxNHxzWzQ4XT4+PjE4O3NbMF09YjBefmIyJmI0O3NbMV09YjFefmIzJmI1O3NbMTBdPWIxMF5+YjEyJmIxNDtzWzExXT1iMTFefmIxMyZiMTU7c1syMF09YjIwXn5iMjImYjI0O3NbMjFdPWIyMV5+YjIzJmIyNTtzWzMwXT1iMzBefmIzMiZiMzQ7c1szMV09YjMxXn5iMzMmYjM1O3NbNDBdPWI0MF5+YjQyJmI0NDtzWzQxXT1iNDFefmI0MyZiNDU7c1syXT1iMl5+YjQmYjY7c1szXT1iM15+YjUmYjc7c1sxMl09YjEyXn5iMTQmYjE2O3NbMTNdPWIxM15+YjE1JmIxNztzWzIyXT1iMjJefmIyNCZiMjY7c1syM109YjIzXn5iMjUmYjI3O3NbMzJdPWIzMl5+YjM0JmIzNjtzWzMzXT1iMzNefmIzNSZiMzc7c1s0Ml09YjQyXn5iNDQmYjQ2O3NbNDNdPWI0M15+YjQ1JmI0NztzWzRdPWI0Xn5iNiZiODtzWzVdPWI1Xn5iNyZiOTtzWzE0XT1iMTRefmIxNiZiMTg7c1sxNV09YjE1Xn5iMTcmYjE5O3NbMjRdPWIyNF5+YjI2JmIyODtzWzI1XT1iMjVefmIyNyZiMjk7c1szNF09YjM0Xn5iMzYmYjM4O3NbMzVdPWIzNV5+YjM3JmIzOTtzWzQ0XT1iNDRefmI0NiZiNDg7c1s0NV09YjQ1Xn5iNDcmYjQ5O3NbNl09YjZefmI4JmIwO3NbN109YjdefmI5JmIxO3NbMTZdPWIxNl5+YjE4JmIxMDtzWzE3XT1iMTdefmIxOSZiMTE7c1syNl09YjI2Xn5iMjgmYjIwO3NbMjddPWIyN15+YjI5JmIyMTtzWzM2XT1iMzZefmIzOCZiMzA7c1szN109YjM3Xn5iMzkmYjMxO3NbNDZdPWI0Nl5+YjQ4JmI0MDtzWzQ3XT1iNDdefmI0OSZiNDE7c1s4XT1iOF5+YjAmYjI7c1s5XT1iOV5+YjEmYjM7c1sxOF09YjE4Xn5iMTAmYjEyO3NbMTldPWIxOV5+YjExJmIxMztzWzI4XT1iMjhefmIyMCZiMjI7c1syOV09YjI5Xn5iMjEmYjIzO3NbMzhdPWIzOF5+YjMwJmIzMjtzWzM5XT1iMzlefmIzMSZiMzM7c1s0OF09YjQ4Xn5iNDAmYjQyO3NbNDldPWI0OV5+YjQxJmI0MztzWzBdXj1SQ1tuXTtzWzFdXj1SQ1tuKzFdfX07aWYoQ09NTU9OX0pTKXttb2R1bGUuZXhwb3J0cz1tZXRob2RzfWVsc2V7Zm9yKGk9MDtpPG1ldGhvZE5hbWVzLmxlbmd0aDsrK2kpe3Jvb3RbbWV0aG9kTmFtZXNbaV1dPW1ldGhvZHNbbWV0aG9kTmFtZXNbaV1dfWlmKEFNRCl7dW5kZWZpbmVkKGZ1bmN0aW9uKCl7cmV0dXJuIG1ldGhvZHN9KX19fSkoKX0pO3ZhciBsaWIkND1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO3ZhciBfX2ltcG9ydERlZmF1bHQ9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24obW9kKXtyZXR1cm4gbW9kJiZtb2QuX19lc01vZHVsZT9tb2Q6e2RlZmF1bHQ6bW9kfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5rZWNjYWsyNTY9dm9pZCAwO3ZhciBqc19zaGEzXzE9X19pbXBvcnREZWZhdWx0KHNoYTMpO2Z1bmN0aW9uIGtlY2NhazI1NihkYXRhKXtyZXR1cm4iMHgiK2pzX3NoYTNfMS5kZWZhdWx0LmtlY2Nha18yNTYoKDAsbGliJDEuYXJyYXlpZnkpKGRhdGEpKX1leHBvcnRzLmtlY2NhazI1Nj1rZWNjYWsyNTZ9KTt2YXIgaW5kZXgkND1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhsaWIkNCk7dmFyIF92ZXJzaW9uJGE9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnZlcnNpb249dm9pZCAwO2V4cG9ydHMudmVyc2lvbj0icmxwLzUuNy4wIn0pO3ZhciBfdmVyc2lvbiRiPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKF92ZXJzaW9uJGEpO3ZhciBsaWIkNT1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuZGVjb2RlPWV4cG9ydHMuZW5jb2RlPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJGEudmVyc2lvbik7ZnVuY3Rpb24gYXJyYXlpZnlJbnRlZ2VyKHZhbHVlKXt2YXIgcmVzdWx0PVtdO3doaWxlKHZhbHVlKXtyZXN1bHQudW5zaGlmdCh2YWx1ZSYyNTUpO3ZhbHVlPj49OH1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIHVuYXJyYXlpZnlJbnRlZ2VyKGRhdGEsb2Zmc2V0LGxlbmd0aCl7dmFyIHJlc3VsdD0wO2Zvcih2YXIgaT0wO2k8bGVuZ3RoO2krKyl7cmVzdWx0PXJlc3VsdCoyNTYrZGF0YVtvZmZzZXQraV19cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBfZW5jb2RlKG9iamVjdCl7aWYoQXJyYXkuaXNBcnJheShvYmplY3QpKXt2YXIgcGF5bG9hZF8xPVtdO29iamVjdC5mb3JFYWNoKGZ1bmN0aW9uKGNoaWxkKXtwYXlsb2FkXzE9cGF5bG9hZF8xLmNvbmNhdChfZW5jb2RlKGNoaWxkKSl9KTtpZihwYXlsb2FkXzEubGVuZ3RoPD01NSl7cGF5bG9hZF8xLnVuc2hpZnQoMTkyK3BheWxvYWRfMS5sZW5ndGgpO3JldHVybiBwYXlsb2FkXzF9dmFyIGxlbmd0aF8xPWFycmF5aWZ5SW50ZWdlcihwYXlsb2FkXzEubGVuZ3RoKTtsZW5ndGhfMS51bnNoaWZ0KDI0NytsZW5ndGhfMS5sZW5ndGgpO3JldHVybiBsZW5ndGhfMS5jb25jYXQocGF5bG9hZF8xKX1pZighKDAsbGliJDEuaXNCeXRlc0xpa2UpKG9iamVjdCkpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoIlJMUCBvYmplY3QgbXVzdCBiZSBCeXRlc0xpa2UiLCJvYmplY3QiLG9iamVjdCl9dmFyIGRhdGE9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoKDAsbGliJDEuYXJyYXlpZnkpKG9iamVjdCkpO2lmKGRhdGEubGVuZ3RoPT09MSYmZGF0YVswXTw9MTI3KXtyZXR1cm4gZGF0YX1lbHNlIGlmKGRhdGEubGVuZ3RoPD01NSl7ZGF0YS51bnNoaWZ0KDEyOCtkYXRhLmxlbmd0aCk7cmV0dXJuIGRhdGF9dmFyIGxlbmd0aD1hcnJheWlmeUludGVnZXIoZGF0YS5sZW5ndGgpO2xlbmd0aC51bnNoaWZ0KDE4MytsZW5ndGgubGVuZ3RoKTtyZXR1cm4gbGVuZ3RoLmNvbmNhdChkYXRhKX1mdW5jdGlvbiBlbmNvZGUob2JqZWN0KXtyZXR1cm4oMCxsaWIkMS5oZXhsaWZ5KShfZW5jb2RlKG9iamVjdCkpfWV4cG9ydHMuZW5jb2RlPWVuY29kZTtmdW5jdGlvbiBfZGVjb2RlQ2hpbGRyZW4oZGF0YSxvZmZzZXQsY2hpbGRPZmZzZXQsbGVuZ3RoKXt2YXIgcmVzdWx0PVtdO3doaWxlKGNoaWxkT2Zmc2V0PG9mZnNldCsxK2xlbmd0aCl7dmFyIGRlY29kZWQ9X2RlY29kZShkYXRhLGNoaWxkT2Zmc2V0KTtyZXN1bHQucHVzaChkZWNvZGVkLnJlc3VsdCk7Y2hpbGRPZmZzZXQrPWRlY29kZWQuY29uc3VtZWQ7aWYoY2hpbGRPZmZzZXQ+b2Zmc2V0KzErbGVuZ3RoKXtsb2dnZXIudGhyb3dFcnJvcigiY2hpbGQgZGF0YSB0b28gc2hvcnQiLGxpYi5Mb2dnZXIuZXJyb3JzLkJVRkZFUl9PVkVSUlVOLHt9KX19cmV0dXJue2NvbnN1bWVkOjErbGVuZ3RoLHJlc3VsdDpyZXN1bHR9fWZ1bmN0aW9uIF9kZWNvZGUoZGF0YSxvZmZzZXQpe2lmKGRhdGEubGVuZ3RoPT09MCl7bG9nZ2VyLnRocm93RXJyb3IoImRhdGEgdG9vIHNob3J0IixsaWIuTG9nZ2VyLmVycm9ycy5CVUZGRVJfT1ZFUlJVTix7fSl9aWYoZGF0YVtvZmZzZXRdPj0yNDgpe3ZhciBsZW5ndGhMZW5ndGg9ZGF0YVtvZmZzZXRdLTI0NztpZihvZmZzZXQrMStsZW5ndGhMZW5ndGg+ZGF0YS5sZW5ndGgpe2xvZ2dlci50aHJvd0Vycm9yKCJkYXRhIHNob3J0IHNlZ21lbnQgdG9vIHNob3J0IixsaWIuTG9nZ2VyLmVycm9ycy5CVUZGRVJfT1ZFUlJVTix7fSl9dmFyIGxlbmd0aF8yPXVuYXJyYXlpZnlJbnRlZ2VyKGRhdGEsb2Zmc2V0KzEsbGVuZ3RoTGVuZ3RoKTtpZihvZmZzZXQrMStsZW5ndGhMZW5ndGgrbGVuZ3RoXzI+ZGF0YS5sZW5ndGgpe2xvZ2dlci50aHJvd0Vycm9yKCJkYXRhIGxvbmcgc2VnbWVudCB0b28gc2hvcnQiLGxpYi5Mb2dnZXIuZXJyb3JzLkJVRkZFUl9PVkVSUlVOLHt9KX1yZXR1cm4gX2RlY29kZUNoaWxkcmVuKGRhdGEsb2Zmc2V0LG9mZnNldCsxK2xlbmd0aExlbmd0aCxsZW5ndGhMZW5ndGgrbGVuZ3RoXzIpfWVsc2UgaWYoZGF0YVtvZmZzZXRdPj0xOTIpe3ZhciBsZW5ndGhfMz1kYXRhW29mZnNldF0tMTkyO2lmKG9mZnNldCsxK2xlbmd0aF8zPmRhdGEubGVuZ3RoKXtsb2dnZXIudGhyb3dFcnJvcigiZGF0YSBhcnJheSB0b28gc2hvcnQiLGxpYi5Mb2dnZXIuZXJyb3JzLkJVRkZFUl9PVkVSUlVOLHt9KX1yZXR1cm4gX2RlY29kZUNoaWxkcmVuKGRhdGEsb2Zmc2V0LG9mZnNldCsxLGxlbmd0aF8zKX1lbHNlIGlmKGRhdGFbb2Zmc2V0XT49MTg0KXt2YXIgbGVuZ3RoTGVuZ3RoPWRhdGFbb2Zmc2V0XS0xODM7aWYob2Zmc2V0KzErbGVuZ3RoTGVuZ3RoPmRhdGEubGVuZ3RoKXtsb2dnZXIudGhyb3dFcnJvcigiZGF0YSBhcnJheSB0b28gc2hvcnQiLGxpYi5Mb2dnZXIuZXJyb3JzLkJVRkZFUl9PVkVSUlVOLHt9KX12YXIgbGVuZ3RoXzQ9dW5hcnJheWlmeUludGVnZXIoZGF0YSxvZmZzZXQrMSxsZW5ndGhMZW5ndGgpO2lmKG9mZnNldCsxK2xlbmd0aExlbmd0aCtsZW5ndGhfND5kYXRhLmxlbmd0aCl7bG9nZ2VyLnRocm93RXJyb3IoImRhdGEgYXJyYXkgdG9vIHNob3J0IixsaWIuTG9nZ2VyLmVycm9ycy5CVUZGRVJfT1ZFUlJVTix7fSl9dmFyIHJlc3VsdD0oMCxsaWIkMS5oZXhsaWZ5KShkYXRhLnNsaWNlKG9mZnNldCsxK2xlbmd0aExlbmd0aCxvZmZzZXQrMStsZW5ndGhMZW5ndGgrbGVuZ3RoXzQpKTtyZXR1cm57Y29uc3VtZWQ6MStsZW5ndGhMZW5ndGgrbGVuZ3RoXzQscmVzdWx0OnJlc3VsdH19ZWxzZSBpZihkYXRhW29mZnNldF0+PTEyOCl7dmFyIGxlbmd0aF81PWRhdGFbb2Zmc2V0XS0xMjg7aWYob2Zmc2V0KzErbGVuZ3RoXzU+ZGF0YS5sZW5ndGgpe2xvZ2dlci50aHJvd0Vycm9yKCJkYXRhIHRvbyBzaG9ydCIsbGliLkxvZ2dlci5lcnJvcnMuQlVGRkVSX09WRVJSVU4se30pfXZhciByZXN1bHQ9KDAsbGliJDEuaGV4bGlmeSkoZGF0YS5zbGljZShvZmZzZXQrMSxvZmZzZXQrMStsZW5ndGhfNSkpO3JldHVybntjb25zdW1lZDoxK2xlbmd0aF81LHJlc3VsdDpyZXN1bHR9fXJldHVybntjb25zdW1lZDoxLHJlc3VsdDooMCxsaWIkMS5oZXhsaWZ5KShkYXRhW29mZnNldF0pfX1mdW5jdGlvbiBkZWNvZGUoZGF0YSl7dmFyIGJ5dGVzPSgwLGxpYiQxLmFycmF5aWZ5KShkYXRhKTt2YXIgZGVjb2RlZD1fZGVjb2RlKGJ5dGVzLDApO2lmKGRlY29kZWQuY29uc3VtZWQhPT1ieXRlcy5sZW5ndGgpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgcmxwIGRhdGEiLCJkYXRhIixkYXRhKX1yZXR1cm4gZGVjb2RlZC5yZXN1bHR9ZXhwb3J0cy5kZWNvZGU9ZGVjb2RlfSk7dmFyIGluZGV4JDU9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMobGliJDUpO3ZhciBfdmVyc2lvbiRjPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy52ZXJzaW9uPXZvaWQgMDtleHBvcnRzLnZlcnNpb249ImFkZHJlc3MvNS43LjAifSk7dmFyIF92ZXJzaW9uJGQ9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoX3ZlcnNpb24kYyk7dmFyIGxpYiQ2PWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5nZXRDcmVhdGUyQWRkcmVzcz1leHBvcnRzLmdldENvbnRyYWN0QWRkcmVzcz1leHBvcnRzLmdldEljYXBBZGRyZXNzPWV4cG9ydHMuaXNBZGRyZXNzPWV4cG9ydHMuZ2V0QWRkcmVzcz12b2lkIDA7dmFyIGxvZ2dlcj1uZXcgbGliLkxvZ2dlcihfdmVyc2lvbiRjLnZlcnNpb24pO2Z1bmN0aW9uIGdldENoZWNrc3VtQWRkcmVzcyhhZGRyZXNzKXtpZighKDAsbGliJDEuaXNIZXhTdHJpbmcpKGFkZHJlc3MsMjApKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGFkZHJlc3MiLCJhZGRyZXNzIixhZGRyZXNzKX1hZGRyZXNzPWFkZHJlc3MudG9Mb3dlckNhc2UoKTt2YXIgY2hhcnM9YWRkcmVzcy5zdWJzdHJpbmcoMikuc3BsaXQoIiIpO3ZhciBleHBhbmRlZD1uZXcgVWludDhBcnJheSg0MCk7Zm9yKHZhciBpPTA7aTw0MDtpKyspe2V4cGFuZGVkW2ldPWNoYXJzW2ldLmNoYXJDb2RlQXQoMCl9dmFyIGhhc2hlZD0oMCxsaWIkMS5hcnJheWlmeSkoKDAsbGliJDQua2VjY2FrMjU2KShleHBhbmRlZCkpO2Zvcih2YXIgaT0wO2k8NDA7aSs9Mil7aWYoaGFzaGVkW2k+PjFdPj40Pj04KXtjaGFyc1tpXT1jaGFyc1tpXS50b1VwcGVyQ2FzZSgpfWlmKChoYXNoZWRbaT4+MV0mMTUpPj04KXtjaGFyc1tpKzFdPWNoYXJzW2krMV0udG9VcHBlckNhc2UoKX19cmV0dXJuIjB4IitjaGFycy5qb2luKCIiKX12YXIgTUFYX1NBRkVfSU5URUdFUj05MDA3MTk5MjU0NzQwOTkxO2Z1bmN0aW9uIGxvZzEwKHgpe2lmKE1hdGgubG9nMTApe3JldHVybiBNYXRoLmxvZzEwKHgpfXJldHVybiBNYXRoLmxvZyh4KS9NYXRoLkxOMTB9dmFyIGliYW5Mb29rdXA9e307Zm9yKHZhciBpPTA7aTwxMDtpKyspe2liYW5Mb29rdXBbU3RyaW5nKGkpXT1TdHJpbmcoaSl9Zm9yKHZhciBpPTA7aTwyNjtpKyspe2liYW5Mb29rdXBbU3RyaW5nLmZyb21DaGFyQ29kZSg2NStpKV09U3RyaW5nKDEwK2kpfXZhciBzYWZlRGlnaXRzPU1hdGguZmxvb3IobG9nMTAoTUFYX1NBRkVfSU5URUdFUikpO2Z1bmN0aW9uIGliYW5DaGVja3N1bShhZGRyZXNzKXthZGRyZXNzPWFkZHJlc3MudG9VcHBlckNhc2UoKTthZGRyZXNzPWFkZHJlc3Muc3Vic3RyaW5nKDQpK2FkZHJlc3Muc3Vic3RyaW5nKDAsMikrIjAwIjt2YXIgZXhwYW5kZWQ9YWRkcmVzcy5zcGxpdCgiIikubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBpYmFuTG9va3VwW2NdfSkuam9pbigiIik7d2hpbGUoZXhwYW5kZWQubGVuZ3RoPj1zYWZlRGlnaXRzKXt2YXIgYmxvY2s9ZXhwYW5kZWQuc3Vic3RyaW5nKDAsc2FmZURpZ2l0cyk7ZXhwYW5kZWQ9cGFyc2VJbnQoYmxvY2ssMTApJTk3K2V4cGFuZGVkLnN1YnN0cmluZyhibG9jay5sZW5ndGgpfXZhciBjaGVja3N1bT1TdHJpbmcoOTgtcGFyc2VJbnQoZXhwYW5kZWQsMTApJTk3KTt3aGlsZShjaGVja3N1bS5sZW5ndGg8Mil7Y2hlY2tzdW09IjAiK2NoZWNrc3VtfXJldHVybiBjaGVja3N1bX1mdW5jdGlvbiBnZXRBZGRyZXNzKGFkZHJlc3Mpe3ZhciByZXN1bHQ9bnVsbDtpZih0eXBlb2YgYWRkcmVzcyE9PSJzdHJpbmciKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGFkZHJlc3MiLCJhZGRyZXNzIixhZGRyZXNzKX1pZihhZGRyZXNzLm1hdGNoKC9eKDB4KT9bMC05YS1mQS1GXXs0MH0kLykpe2lmKGFkZHJlc3Muc3Vic3RyaW5nKDAsMikhPT0iMHgiKXthZGRyZXNzPSIweCIrYWRkcmVzc31yZXN1bHQ9Z2V0Q2hlY2tzdW1BZGRyZXNzKGFkZHJlc3MpO2lmKGFkZHJlc3MubWF0Y2goLyhbQS1GXS4qW2EtZl0pfChbYS1mXS4qW0EtRl0pLykmJnJlc3VsdCE9PWFkZHJlc3Mpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImJhZCBhZGRyZXNzIGNoZWNrc3VtIiwiYWRkcmVzcyIsYWRkcmVzcyl9fWVsc2UgaWYoYWRkcmVzcy5tYXRjaCgvXlhFWzAtOV17Mn1bMC05QS1aYS16XXszMCwzMX0kLykpe2lmKGFkZHJlc3Muc3Vic3RyaW5nKDIsNCkhPT1pYmFuQ2hlY2tzdW0oYWRkcmVzcykpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImJhZCBpY2FwIGNoZWNrc3VtIiwiYWRkcmVzcyIsYWRkcmVzcyl9cmVzdWx0PSgwLGxpYiQyLl9iYXNlMzZUbzE2KShhZGRyZXNzLnN1YnN0cmluZyg0KSk7d2hpbGUocmVzdWx0Lmxlbmd0aDw0MCl7cmVzdWx0PSIwIityZXN1bHR9cmVzdWx0PWdldENoZWNrc3VtQWRkcmVzcygiMHgiK3Jlc3VsdCl9ZWxzZXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGFkZHJlc3MiLCJhZGRyZXNzIixhZGRyZXNzKX1yZXR1cm4gcmVzdWx0fWV4cG9ydHMuZ2V0QWRkcmVzcz1nZXRBZGRyZXNzO2Z1bmN0aW9uIGlzQWRkcmVzcyhhZGRyZXNzKXt0cnl7Z2V0QWRkcmVzcyhhZGRyZXNzKTtyZXR1cm4gdHJ1ZX1jYXRjaChlcnJvcil7fXJldHVybiBmYWxzZX1leHBvcnRzLmlzQWRkcmVzcz1pc0FkZHJlc3M7ZnVuY3Rpb24gZ2V0SWNhcEFkZHJlc3MoYWRkcmVzcyl7dmFyIGJhc2UzNj0oMCxsaWIkMi5fYmFzZTE2VG8zNikoZ2V0QWRkcmVzcyhhZGRyZXNzKS5zdWJzdHJpbmcoMikpLnRvVXBwZXJDYXNlKCk7d2hpbGUoYmFzZTM2Lmxlbmd0aDwzMCl7YmFzZTM2PSIwIitiYXNlMzZ9cmV0dXJuIlhFIitpYmFuQ2hlY2tzdW0oIlhFMDAiK2Jhc2UzNikrYmFzZTM2fWV4cG9ydHMuZ2V0SWNhcEFkZHJlc3M9Z2V0SWNhcEFkZHJlc3M7ZnVuY3Rpb24gZ2V0Q29udHJhY3RBZGRyZXNzKHRyYW5zYWN0aW9uKXt2YXIgZnJvbT1udWxsO3RyeXtmcm9tPWdldEFkZHJlc3ModHJhbnNhY3Rpb24uZnJvbSl9Y2F0Y2goZXJyb3Ipe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoIm1pc3NpbmcgZnJvbSBhZGRyZXNzIiwidHJhbnNhY3Rpb24iLHRyYW5zYWN0aW9uKX12YXIgbm9uY2U9KDAsbGliJDEuc3RyaXBaZXJvcykoKDAsbGliJDEuYXJyYXlpZnkpKGxpYiQyLkJpZ051bWJlci5mcm9tKHRyYW5zYWN0aW9uLm5vbmNlKS50b0hleFN0cmluZygpKSk7cmV0dXJuIGdldEFkZHJlc3MoKDAsbGliJDEuaGV4RGF0YVNsaWNlKSgoMCxsaWIkNC5rZWNjYWsyNTYpKCgwLGxpYiQ1LmVuY29kZSkoW2Zyb20sbm9uY2VdKSksMTIpKX1leHBvcnRzLmdldENvbnRyYWN0QWRkcmVzcz1nZXRDb250cmFjdEFkZHJlc3M7ZnVuY3Rpb24gZ2V0Q3JlYXRlMkFkZHJlc3MoZnJvbSxzYWx0LGluaXRDb2RlSGFzaCl7aWYoKDAsbGliJDEuaGV4RGF0YUxlbmd0aCkoc2FsdCkhPT0zMil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigic2FsdCBtdXN0IGJlIDMyIGJ5dGVzIiwic2FsdCIsc2FsdCl9aWYoKDAsbGliJDEuaGV4RGF0YUxlbmd0aCkoaW5pdENvZGVIYXNoKSE9PTMyKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbml0Q29kZUhhc2ggbXVzdCBiZSAzMiBieXRlcyIsImluaXRDb2RlSGFzaCIsaW5pdENvZGVIYXNoKX1yZXR1cm4gZ2V0QWRkcmVzcygoMCxsaWIkMS5oZXhEYXRhU2xpY2UpKCgwLGxpYiQ0LmtlY2NhazI1NikoKDAsbGliJDEuY29uY2F0KShbIjB4ZmYiLGdldEFkZHJlc3MoZnJvbSksc2FsdCxpbml0Q29kZUhhc2hdKSksMTIpKX1leHBvcnRzLmdldENyZWF0ZTJBZGRyZXNzPWdldENyZWF0ZTJBZGRyZXNzfSk7dmFyIGluZGV4JDY9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMobGliJDYpO3ZhciBhZGRyZXNzPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuQWRkcmVzc0NvZGVyPXZvaWQgMDt2YXIgQWRkcmVzc0NvZGVyPWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEFkZHJlc3NDb2Rlcixfc3VwZXIpO2Z1bmN0aW9uIEFkZHJlc3NDb2Rlcihsb2NhbE5hbWUpe3JldHVybiBfc3VwZXIuY2FsbCh0aGlzLCJhZGRyZXNzIiwiYWRkcmVzcyIsbG9jYWxOYW1lLGZhbHNlKXx8dGhpc31BZGRyZXNzQ29kZXIucHJvdG90eXBlLmRlZmF1bHRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiIweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAifTtBZGRyZXNzQ29kZXIucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbih3cml0ZXIsdmFsdWUpe3RyeXt2YWx1ZT0oMCxsaWIkNi5nZXRBZGRyZXNzKSh2YWx1ZSl9Y2F0Y2goZXJyb3Ipe3RoaXMuX3Rocm93RXJyb3IoZXJyb3IubWVzc2FnZSx2YWx1ZSl9cmV0dXJuIHdyaXRlci53cml0ZVZhbHVlKHZhbHVlKX07QWRkcmVzc0NvZGVyLnByb3RvdHlwZS5kZWNvZGU9ZnVuY3Rpb24ocmVhZGVyKXtyZXR1cm4oMCxsaWIkNi5nZXRBZGRyZXNzKSgoMCxsaWIkMS5oZXhaZXJvUGFkKShyZWFkZXIucmVhZFZhbHVlKCkudG9IZXhTdHJpbmcoKSwyMCkpfTtyZXR1cm4gQWRkcmVzc0NvZGVyfShhYnN0cmFjdENvZGVyLkNvZGVyKTtleHBvcnRzLkFkZHJlc3NDb2Rlcj1BZGRyZXNzQ29kZXJ9KTt2YXIgYWRkcmVzcyQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGFkZHJlc3MpO3ZhciBhbm9ueW1vdXM9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgX19leHRlbmRzPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIGV4dGVuZFN0YXRpY3M9ZnVuY3Rpb24oZCxiKXtleHRlbmRTdGF0aWNzPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihkLGIpe2QuX19wcm90b19fPWJ9fHxmdW5jdGlvbihkLGIpe2Zvcih2YXIgcCBpbiBiKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLHApKWRbcF09YltwXX07cmV0dXJuIGV4dGVuZFN0YXRpY3MoZCxiKX07cmV0dXJuIGZ1bmN0aW9uKGQsYil7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iJiZiIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKGIpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2V4dGVuZFN0YXRpY3MoZCxiKTtmdW5jdGlvbiBfXygpe3RoaXMuY29uc3RydWN0b3I9ZH1kLnByb3RvdHlwZT1iPT09bnVsbD9PYmplY3QuY3JlYXRlKGIpOihfXy5wcm90b3R5cGU9Yi5wcm90b3R5cGUsbmV3IF9fKX19KCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5Bbm9ueW1vdXNDb2Rlcj12b2lkIDA7dmFyIEFub255bW91c0NvZGVyPWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEFub255bW91c0NvZGVyLF9zdXBlcik7ZnVuY3Rpb24gQW5vbnltb3VzQ29kZXIoY29kZXIpe3ZhciBfdGhpcz1fc3VwZXIuY2FsbCh0aGlzLGNvZGVyLm5hbWUsY29kZXIudHlwZSx1bmRlZmluZWQsY29kZXIuZHluYW1pYyl8fHRoaXM7X3RoaXMuY29kZXI9Y29kZXI7cmV0dXJuIF90aGlzfUFub255bW91c0NvZGVyLnByb3RvdHlwZS5kZWZhdWx0VmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb2Rlci5kZWZhdWx0VmFsdWUoKX07QW5vbnltb3VzQ29kZXIucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbih3cml0ZXIsdmFsdWUpe3JldHVybiB0aGlzLmNvZGVyLmVuY29kZSh3cml0ZXIsdmFsdWUpfTtBbm9ueW1vdXNDb2Rlci5wcm90b3R5cGUuZGVjb2RlPWZ1bmN0aW9uKHJlYWRlcil7cmV0dXJuIHRoaXMuY29kZXIuZGVjb2RlKHJlYWRlcil9O3JldHVybiBBbm9ueW1vdXNDb2Rlcn0oYWJzdHJhY3RDb2Rlci5Db2Rlcik7ZXhwb3J0cy5Bbm9ueW1vdXNDb2Rlcj1Bbm9ueW1vdXNDb2Rlcn0pO3ZhciBhbm9ueW1vdXMkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhhbm9ueW1vdXMpO3ZhciBhcnJheT1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO3ZhciBfX2V4dGVuZHM9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgZXh0ZW5kU3RhdGljcz1mdW5jdGlvbihkLGIpe2V4dGVuZFN0YXRpY3M9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGQsYil7ZC5fX3Byb3RvX189Yn18fGZ1bmN0aW9uKGQsYil7Zm9yKHZhciBwIGluIGIpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIscCkpZFtwXT1iW3BdfTtyZXR1cm4gZXh0ZW5kU3RhdGljcyhkLGIpfTtyZXR1cm4gZnVuY3Rpb24oZCxiKXtpZih0eXBlb2YgYiE9PSJmdW5jdGlvbiImJmIhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoYikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZXh0ZW5kU3RhdGljcyhkLGIpO2Z1bmN0aW9uIF9fKCl7dGhpcy5jb25zdHJ1Y3Rvcj1kfWQucHJvdG90eXBlPWI9PT1udWxsP09iamVjdC5jcmVhdGUoYik6KF9fLnByb3RvdHlwZT1iLnByb3RvdHlwZSxuZXcgX18pfX0oKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLkFycmF5Q29kZXI9ZXhwb3J0cy51bnBhY2s9ZXhwb3J0cy5wYWNrPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJDgudmVyc2lvbik7ZnVuY3Rpb24gcGFjayh3cml0ZXIsY29kZXJzLHZhbHVlcyl7dmFyIGFycmF5VmFsdWVzPW51bGw7aWYoQXJyYXkuaXNBcnJheSh2YWx1ZXMpKXthcnJheVZhbHVlcz12YWx1ZXN9ZWxzZSBpZih2YWx1ZXMmJnR5cGVvZiB2YWx1ZXM9PT0ib2JqZWN0Iil7dmFyIHVuaXF1ZV8xPXt9O2FycmF5VmFsdWVzPWNvZGVycy5tYXAoZnVuY3Rpb24oY29kZXIpe3ZhciBuYW1lPWNvZGVyLmxvY2FsTmFtZTtpZighbmFtZSl7bG9nZ2VyLnRocm93RXJyb3IoImNhbm5vdCBlbmNvZGUgb2JqZWN0IGZvciBzaWduYXR1cmUgd2l0aCBtaXNzaW5nIG5hbWVzIixsaWIuTG9nZ2VyLmVycm9ycy5JTlZBTElEX0FSR1VNRU5ULHthcmd1bWVudDoidmFsdWVzIixjb2Rlcjpjb2Rlcix2YWx1ZTp2YWx1ZXN9KX1pZih1bmlxdWVfMVtuYW1lXSl7bG9nZ2VyLnRocm93RXJyb3IoImNhbm5vdCBlbmNvZGUgb2JqZWN0IGZvciBzaWduYXR1cmUgd2l0aCBkdXBsaWNhdGUgbmFtZXMiLGxpYi5Mb2dnZXIuZXJyb3JzLklOVkFMSURfQVJHVU1FTlQse2FyZ3VtZW50OiJ2YWx1ZXMiLGNvZGVyOmNvZGVyLHZhbHVlOnZhbHVlc30pfXVuaXF1ZV8xW25hbWVdPXRydWU7cmV0dXJuIHZhbHVlc1tuYW1lXX0pfWVsc2V7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCB0dXBsZSB2YWx1ZSIsInR1cGxlIix2YWx1ZXMpfWlmKGNvZGVycy5sZW5ndGghPT1hcnJheVZhbHVlcy5sZW5ndGgpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInR5cGVzL3ZhbHVlIGxlbmd0aCBtaXNtYXRjaCIsInR1cGxlIix2YWx1ZXMpfXZhciBzdGF0aWNXcml0ZXI9bmV3IGFic3RyYWN0Q29kZXIuV3JpdGVyKHdyaXRlci53b3JkU2l6ZSk7dmFyIGR5bmFtaWNXcml0ZXI9bmV3IGFic3RyYWN0Q29kZXIuV3JpdGVyKHdyaXRlci53b3JkU2l6ZSk7dmFyIHVwZGF0ZUZ1bmNzPVtdO2NvZGVycy5mb3JFYWNoKGZ1bmN0aW9uKGNvZGVyLGluZGV4KXt2YXIgdmFsdWU9YXJyYXlWYWx1ZXNbaW5kZXhdO2lmKGNvZGVyLmR5bmFtaWMpe3ZhciBkeW5hbWljT2Zmc2V0XzE9ZHluYW1pY1dyaXRlci5sZW5ndGg7Y29kZXIuZW5jb2RlKGR5bmFtaWNXcml0ZXIsdmFsdWUpO3ZhciB1cGRhdGVGdW5jXzE9c3RhdGljV3JpdGVyLndyaXRlVXBkYXRhYmxlVmFsdWUoKTt1cGRhdGVGdW5jcy5wdXNoKGZ1bmN0aW9uKGJhc2VPZmZzZXQpe3VwZGF0ZUZ1bmNfMShiYXNlT2Zmc2V0K2R5bmFtaWNPZmZzZXRfMSl9KX1lbHNle2NvZGVyLmVuY29kZShzdGF0aWNXcml0ZXIsdmFsdWUpfX0pO3VwZGF0ZUZ1bmNzLmZvckVhY2goZnVuY3Rpb24oZnVuYyl7ZnVuYyhzdGF0aWNXcml0ZXIubGVuZ3RoKX0pO3ZhciBsZW5ndGg9d3JpdGVyLmFwcGVuZFdyaXRlcihzdGF0aWNXcml0ZXIpO2xlbmd0aCs9d3JpdGVyLmFwcGVuZFdyaXRlcihkeW5hbWljV3JpdGVyKTtyZXR1cm4gbGVuZ3RofWV4cG9ydHMucGFjaz1wYWNrO2Z1bmN0aW9uIHVucGFjayhyZWFkZXIsY29kZXJzKXt2YXIgdmFsdWVzPVtdO3ZhciBiYXNlUmVhZGVyPXJlYWRlci5zdWJSZWFkZXIoMCk7Y29kZXJzLmZvckVhY2goZnVuY3Rpb24oY29kZXIpe3ZhciB2YWx1ZT1udWxsO2lmKGNvZGVyLmR5bmFtaWMpe3ZhciBvZmZzZXQ9cmVhZGVyLnJlYWRWYWx1ZSgpO3ZhciBvZmZzZXRSZWFkZXI9YmFzZVJlYWRlci5zdWJSZWFkZXIob2Zmc2V0LnRvTnVtYmVyKCkpO3RyeXt2YWx1ZT1jb2Rlci5kZWNvZGUob2Zmc2V0UmVhZGVyKX1jYXRjaChlcnJvcil7aWYoZXJyb3IuY29kZT09PWxpYi5Mb2dnZXIuZXJyb3JzLkJVRkZFUl9PVkVSUlVOKXt0aHJvdyBlcnJvcn12YWx1ZT1lcnJvcjt2YWx1ZS5iYXNlVHlwZT1jb2Rlci5uYW1lO3ZhbHVlLm5hbWU9Y29kZXIubG9jYWxOYW1lO3ZhbHVlLnR5cGU9Y29kZXIudHlwZX19ZWxzZXt0cnl7dmFsdWU9Y29kZXIuZGVjb2RlKHJlYWRlcil9Y2F0Y2goZXJyb3Ipe2lmKGVycm9yLmNvZGU9PT1saWIuTG9nZ2VyLmVycm9ycy5CVUZGRVJfT1ZFUlJVTil7dGhyb3cgZXJyb3J9dmFsdWU9ZXJyb3I7dmFsdWUuYmFzZVR5cGU9Y29kZXIubmFtZTt2YWx1ZS5uYW1lPWNvZGVyLmxvY2FsTmFtZTt2YWx1ZS50eXBlPWNvZGVyLnR5cGV9fWlmKHZhbHVlIT11bmRlZmluZWQpe3ZhbHVlcy5wdXNoKHZhbHVlKX19KTt2YXIgdW5pcXVlTmFtZXM9Y29kZXJzLnJlZHVjZShmdW5jdGlvbihhY2N1bSxjb2Rlcil7dmFyIG5hbWU9Y29kZXIubG9jYWxOYW1lO2lmKG5hbWUpe2lmKCFhY2N1bVtuYW1lXSl7YWNjdW1bbmFtZV09MH1hY2N1bVtuYW1lXSsrfXJldHVybiBhY2N1bX0se30pO2NvZGVycy5mb3JFYWNoKGZ1bmN0aW9uKGNvZGVyLGluZGV4KXt2YXIgbmFtZT1jb2Rlci5sb2NhbE5hbWU7aWYoIW5hbWV8fHVuaXF1ZU5hbWVzW25hbWVdIT09MSl7cmV0dXJufWlmKG5hbWU9PT0ibGVuZ3RoIil7bmFtZT0iX2xlbmd0aCJ9aWYodmFsdWVzW25hbWVdIT1udWxsKXtyZXR1cm59dmFyIHZhbHVlPXZhbHVlc1tpbmRleF07aWYodmFsdWUgaW5zdGFuY2VvZiBFcnJvcil7T2JqZWN0LmRlZmluZVByb3BlcnR5KHZhbHVlcyxuYW1lLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7dGhyb3cgdmFsdWV9fSl9ZWxzZXt2YWx1ZXNbbmFtZV09dmFsdWV9fSk7dmFyIF9sb29wXzE9ZnVuY3Rpb24oaSl7dmFyIHZhbHVlPXZhbHVlc1tpXTtpZih2YWx1ZSBpbnN0YW5jZW9mIEVycm9yKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsdWVzLGkse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXt0aHJvdyB2YWx1ZX19KX19O2Zvcih2YXIgaT0wO2k8dmFsdWVzLmxlbmd0aDtpKyspe19sb29wXzEoaSl9cmV0dXJuIE9iamVjdC5mcmVlemUodmFsdWVzKX1leHBvcnRzLnVucGFjaz11bnBhY2s7dmFyIEFycmF5Q29kZXI9ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoQXJyYXlDb2Rlcixfc3VwZXIpO2Z1bmN0aW9uIEFycmF5Q29kZXIoY29kZXIsbGVuZ3RoLGxvY2FsTmFtZSl7dmFyIF90aGlzPXRoaXM7dmFyIHR5cGU9Y29kZXIudHlwZSsiWyIrKGxlbmd0aD49MD9sZW5ndGg6IiIpKyJdIjt2YXIgZHluYW1pYz1sZW5ndGg9PT0tMXx8Y29kZXIuZHluYW1pYztfdGhpcz1fc3VwZXIuY2FsbCh0aGlzLCJhcnJheSIsdHlwZSxsb2NhbE5hbWUsZHluYW1pYyl8fHRoaXM7X3RoaXMuY29kZXI9Y29kZXI7X3RoaXMubGVuZ3RoPWxlbmd0aDtyZXR1cm4gX3RoaXN9QXJyYXlDb2Rlci5wcm90b3R5cGUuZGVmYXVsdFZhbHVlPWZ1bmN0aW9uKCl7dmFyIGRlZmF1bHRDaGlsZD10aGlzLmNvZGVyLmRlZmF1bHRWYWx1ZSgpO3ZhciByZXN1bHQ9W107Zm9yKHZhciBpPTA7aTx0aGlzLmxlbmd0aDtpKyspe3Jlc3VsdC5wdXNoKGRlZmF1bHRDaGlsZCl9cmV0dXJuIHJlc3VsdH07QXJyYXlDb2Rlci5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKHdyaXRlcix2YWx1ZSl7aWYoIUFycmF5LmlzQXJyYXkodmFsdWUpKXt0aGlzLl90aHJvd0Vycm9yKCJleHBlY3RlZCBhcnJheSB2YWx1ZSIsdmFsdWUpfXZhciBjb3VudD10aGlzLmxlbmd0aDtpZihjb3VudD09PS0xKXtjb3VudD12YWx1ZS5sZW5ndGg7d3JpdGVyLndyaXRlVmFsdWUodmFsdWUubGVuZ3RoKX1sb2dnZXIuY2hlY2tBcmd1bWVudENvdW50KHZhbHVlLmxlbmd0aCxjb3VudCwiY29kZXIgYXJyYXkiKyh0aGlzLmxvY2FsTmFtZT8iICIrdGhpcy5sb2NhbE5hbWU6IiIpKTt2YXIgY29kZXJzPVtdO2Zvcih2YXIgaT0wO2k8dmFsdWUubGVuZ3RoO2krKyl7Y29kZXJzLnB1c2godGhpcy5jb2Rlcil9cmV0dXJuIHBhY2sod3JpdGVyLGNvZGVycyx2YWx1ZSl9O0FycmF5Q29kZXIucHJvdG90eXBlLmRlY29kZT1mdW5jdGlvbihyZWFkZXIpe3ZhciBjb3VudD10aGlzLmxlbmd0aDtpZihjb3VudD09PS0xKXtjb3VudD1yZWFkZXIucmVhZFZhbHVlKCkudG9OdW1iZXIoKTtpZihjb3VudCozMj5yZWFkZXIuX2RhdGEubGVuZ3RoKXtsb2dnZXIudGhyb3dFcnJvcigiaW5zdWZmaWNpZW50IGRhdGEgbGVuZ3RoIixsaWIuTG9nZ2VyLmVycm9ycy5CVUZGRVJfT1ZFUlJVTix7bGVuZ3RoOnJlYWRlci5fZGF0YS5sZW5ndGgsY291bnQ6Y291bnR9KX19dmFyIGNvZGVycz1bXTtmb3IodmFyIGk9MDtpPGNvdW50O2krKyl7Y29kZXJzLnB1c2gobmV3IGFub255bW91cy5Bbm9ueW1vdXNDb2Rlcih0aGlzLmNvZGVyKSl9cmV0dXJuIHJlYWRlci5jb2VyY2UodGhpcy5uYW1lLHVucGFjayhyZWFkZXIsY29kZXJzKSl9O3JldHVybiBBcnJheUNvZGVyfShhYnN0cmFjdENvZGVyLkNvZGVyKTtleHBvcnRzLkFycmF5Q29kZXI9QXJyYXlDb2Rlcn0pO3ZhciBhcnJheSQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGFycmF5KTt2YXIgYm9vbGVhbl8xPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuQm9vbGVhbkNvZGVyPXZvaWQgMDt2YXIgQm9vbGVhbkNvZGVyPWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEJvb2xlYW5Db2Rlcixfc3VwZXIpO2Z1bmN0aW9uIEJvb2xlYW5Db2Rlcihsb2NhbE5hbWUpe3JldHVybiBfc3VwZXIuY2FsbCh0aGlzLCJib29sIiwiYm9vbCIsbG9jYWxOYW1lLGZhbHNlKXx8dGhpc31Cb29sZWFuQ29kZXIucHJvdG90eXBlLmRlZmF1bHRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiBmYWxzZX07Qm9vbGVhbkNvZGVyLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24od3JpdGVyLHZhbHVlKXtyZXR1cm4gd3JpdGVyLndyaXRlVmFsdWUodmFsdWU/MTowKX07Qm9vbGVhbkNvZGVyLnByb3RvdHlwZS5kZWNvZGU9ZnVuY3Rpb24ocmVhZGVyKXtyZXR1cm4gcmVhZGVyLmNvZXJjZSh0aGlzLnR5cGUsIXJlYWRlci5yZWFkVmFsdWUoKS5pc1plcm8oKSl9O3JldHVybiBCb29sZWFuQ29kZXJ9KGFic3RyYWN0Q29kZXIuQ29kZXIpO2V4cG9ydHMuQm9vbGVhbkNvZGVyPUJvb2xlYW5Db2Rlcn0pO3ZhciBib29sZWFuPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGJvb2xlYW5fMSk7dmFyIGJ5dGVzPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuQnl0ZXNDb2Rlcj1leHBvcnRzLkR5bmFtaWNCeXRlc0NvZGVyPXZvaWQgMDt2YXIgRHluYW1pY0J5dGVzQ29kZXI9ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoRHluYW1pY0J5dGVzQ29kZXIsX3N1cGVyKTtmdW5jdGlvbiBEeW5hbWljQnl0ZXNDb2Rlcih0eXBlLGxvY2FsTmFtZSl7cmV0dXJuIF9zdXBlci5jYWxsKHRoaXMsdHlwZSx0eXBlLGxvY2FsTmFtZSx0cnVlKXx8dGhpc31EeW5hbWljQnl0ZXNDb2Rlci5wcm90b3R5cGUuZGVmYXVsdFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIjB4In07RHluYW1pY0J5dGVzQ29kZXIucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbih3cml0ZXIsdmFsdWUpe3ZhbHVlPSgwLGxpYiQxLmFycmF5aWZ5KSh2YWx1ZSk7dmFyIGxlbmd0aD13cml0ZXIud3JpdGVWYWx1ZSh2YWx1ZS5sZW5ndGgpO2xlbmd0aCs9d3JpdGVyLndyaXRlQnl0ZXModmFsdWUpO3JldHVybiBsZW5ndGh9O0R5bmFtaWNCeXRlc0NvZGVyLnByb3RvdHlwZS5kZWNvZGU9ZnVuY3Rpb24ocmVhZGVyKXtyZXR1cm4gcmVhZGVyLnJlYWRCeXRlcyhyZWFkZXIucmVhZFZhbHVlKCkudG9OdW1iZXIoKSx0cnVlKX07cmV0dXJuIER5bmFtaWNCeXRlc0NvZGVyfShhYnN0cmFjdENvZGVyLkNvZGVyKTtleHBvcnRzLkR5bmFtaWNCeXRlc0NvZGVyPUR5bmFtaWNCeXRlc0NvZGVyO3ZhciBCeXRlc0NvZGVyPWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEJ5dGVzQ29kZXIsX3N1cGVyKTtmdW5jdGlvbiBCeXRlc0NvZGVyKGxvY2FsTmFtZSl7cmV0dXJuIF9zdXBlci5jYWxsKHRoaXMsImJ5dGVzIixsb2NhbE5hbWUpfHx0aGlzfUJ5dGVzQ29kZXIucHJvdG90eXBlLmRlY29kZT1mdW5jdGlvbihyZWFkZXIpe3JldHVybiByZWFkZXIuY29lcmNlKHRoaXMubmFtZSwoMCxsaWIkMS5oZXhsaWZ5KShfc3VwZXIucHJvdG90eXBlLmRlY29kZS5jYWxsKHRoaXMscmVhZGVyKSkpfTtyZXR1cm4gQnl0ZXNDb2Rlcn0oRHluYW1pY0J5dGVzQ29kZXIpO2V4cG9ydHMuQnl0ZXNDb2Rlcj1CeXRlc0NvZGVyfSk7dmFyIGJ5dGVzJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoYnl0ZXMpO3ZhciBmaXhlZEJ5dGVzPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuRml4ZWRCeXRlc0NvZGVyPXZvaWQgMDt2YXIgRml4ZWRCeXRlc0NvZGVyPWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEZpeGVkQnl0ZXNDb2Rlcixfc3VwZXIpO2Z1bmN0aW9uIEZpeGVkQnl0ZXNDb2RlcihzaXplLGxvY2FsTmFtZSl7dmFyIF90aGlzPXRoaXM7dmFyIG5hbWU9ImJ5dGVzIitTdHJpbmcoc2l6ZSk7X3RoaXM9X3N1cGVyLmNhbGwodGhpcyxuYW1lLG5hbWUsbG9jYWxOYW1lLGZhbHNlKXx8dGhpcztfdGhpcy5zaXplPXNpemU7cmV0dXJuIF90aGlzfUZpeGVkQnl0ZXNDb2Rlci5wcm90b3R5cGUuZGVmYXVsdFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIjB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIuc3Vic3RyaW5nKDAsMit0aGlzLnNpemUqMil9O0ZpeGVkQnl0ZXNDb2Rlci5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKHdyaXRlcix2YWx1ZSl7dmFyIGRhdGE9KDAsbGliJDEuYXJyYXlpZnkpKHZhbHVlKTtpZihkYXRhLmxlbmd0aCE9PXRoaXMuc2l6ZSl7dGhpcy5fdGhyb3dFcnJvcigiaW5jb3JyZWN0IGRhdGEgbGVuZ3RoIix2YWx1ZSl9cmV0dXJuIHdyaXRlci53cml0ZUJ5dGVzKGRhdGEpfTtGaXhlZEJ5dGVzQ29kZXIucHJvdG90eXBlLmRlY29kZT1mdW5jdGlvbihyZWFkZXIpe3JldHVybiByZWFkZXIuY29lcmNlKHRoaXMubmFtZSwoMCxsaWIkMS5oZXhsaWZ5KShyZWFkZXIucmVhZEJ5dGVzKHRoaXMuc2l6ZSkpKX07cmV0dXJuIEZpeGVkQnl0ZXNDb2Rlcn0oYWJzdHJhY3RDb2Rlci5Db2Rlcik7ZXhwb3J0cy5GaXhlZEJ5dGVzQ29kZXI9Rml4ZWRCeXRlc0NvZGVyfSk7dmFyIGZpeGVkQnl0ZXMkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhmaXhlZEJ5dGVzKTt2YXIgX251bGw9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgX19leHRlbmRzPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIGV4dGVuZFN0YXRpY3M9ZnVuY3Rpb24oZCxiKXtleHRlbmRTdGF0aWNzPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihkLGIpe2QuX19wcm90b19fPWJ9fHxmdW5jdGlvbihkLGIpe2Zvcih2YXIgcCBpbiBiKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLHApKWRbcF09YltwXX07cmV0dXJuIGV4dGVuZFN0YXRpY3MoZCxiKX07cmV0dXJuIGZ1bmN0aW9uKGQsYil7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iJiZiIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKGIpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2V4dGVuZFN0YXRpY3MoZCxiKTtmdW5jdGlvbiBfXygpe3RoaXMuY29uc3RydWN0b3I9ZH1kLnByb3RvdHlwZT1iPT09bnVsbD9PYmplY3QuY3JlYXRlKGIpOihfXy5wcm90b3R5cGU9Yi5wcm90b3R5cGUsbmV3IF9fKX19KCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5OdWxsQ29kZXI9dm9pZCAwO3ZhciBOdWxsQ29kZXI9ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoTnVsbENvZGVyLF9zdXBlcik7ZnVuY3Rpb24gTnVsbENvZGVyKGxvY2FsTmFtZSl7cmV0dXJuIF9zdXBlci5jYWxsKHRoaXMsIm51bGwiLCIiLGxvY2FsTmFtZSxmYWxzZSl8fHRoaXN9TnVsbENvZGVyLnByb3RvdHlwZS5kZWZhdWx0VmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07TnVsbENvZGVyLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24od3JpdGVyLHZhbHVlKXtpZih2YWx1ZSE9bnVsbCl7dGhpcy5fdGhyb3dFcnJvcigibm90IG51bGwiLHZhbHVlKX1yZXR1cm4gd3JpdGVyLndyaXRlQnl0ZXMoW10pfTtOdWxsQ29kZXIucHJvdG90eXBlLmRlY29kZT1mdW5jdGlvbihyZWFkZXIpe3JlYWRlci5yZWFkQnl0ZXMoMCk7cmV0dXJuIHJlYWRlci5jb2VyY2UodGhpcy5uYW1lLG51bGwpfTtyZXR1cm4gTnVsbENvZGVyfShhYnN0cmFjdENvZGVyLkNvZGVyKTtleHBvcnRzLk51bGxDb2Rlcj1OdWxsQ29kZXJ9KTt2YXIgX251bGwkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhfbnVsbCk7dmFyIGFkZHJlc3Nlcz1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuQWRkcmVzc1plcm89dm9pZCAwO2V4cG9ydHMuQWRkcmVzc1plcm89IjB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCJ9KTt2YXIgYWRkcmVzc2VzJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoYWRkcmVzc2VzKTt2YXIgYmlnbnVtYmVycz1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuTWF4SW50MjU2PWV4cG9ydHMuTWluSW50MjU2PWV4cG9ydHMuTWF4VWludDI1Nj1leHBvcnRzLldlaVBlckV0aGVyPWV4cG9ydHMuVHdvPWV4cG9ydHMuT25lPWV4cG9ydHMuWmVybz1leHBvcnRzLk5lZ2F0aXZlT25lPXZvaWQgMDt2YXIgTmVnYXRpdmVPbmU9bGliJDIuQmlnTnVtYmVyLmZyb20oLTEpO2V4cG9ydHMuTmVnYXRpdmVPbmU9TmVnYXRpdmVPbmU7dmFyIFplcm89bGliJDIuQmlnTnVtYmVyLmZyb20oMCk7ZXhwb3J0cy5aZXJvPVplcm87dmFyIE9uZT1saWIkMi5CaWdOdW1iZXIuZnJvbSgxKTtleHBvcnRzLk9uZT1PbmU7dmFyIFR3bz1saWIkMi5CaWdOdW1iZXIuZnJvbSgyKTtleHBvcnRzLlR3bz1Ud287dmFyIFdlaVBlckV0aGVyPWxpYiQyLkJpZ051bWJlci5mcm9tKCIxMDAwMDAwMDAwMDAwMDAwMDAwIik7ZXhwb3J0cy5XZWlQZXJFdGhlcj1XZWlQZXJFdGhlcjt2YXIgTWF4VWludDI1Nj1saWIkMi5CaWdOdW1iZXIuZnJvbSgiMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIik7ZXhwb3J0cy5NYXhVaW50MjU2PU1heFVpbnQyNTY7dmFyIE1pbkludDI1Nj1saWIkMi5CaWdOdW1iZXIuZnJvbSgiLTB4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIpO2V4cG9ydHMuTWluSW50MjU2PU1pbkludDI1Njt2YXIgTWF4SW50MjU2PWxpYiQyLkJpZ051bWJlci5mcm9tKCIweDdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiKTtleHBvcnRzLk1heEludDI1Nj1NYXhJbnQyNTZ9KTt2YXIgYmlnbnVtYmVycyQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGJpZ251bWJlcnMpO3ZhciBoYXNoZXM9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLkhhc2haZXJvPXZvaWQgMDtleHBvcnRzLkhhc2haZXJvPSIweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAifSk7dmFyIGhhc2hlcyQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGhhc2hlcyk7dmFyIHN0cmluZ3M9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLkV0aGVyU3ltYm9sPXZvaWQgMDtleHBvcnRzLkV0aGVyU3ltYm9sPSLOniJ9KTt2YXIgc3RyaW5ncyQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKHN0cmluZ3MpO3ZhciBsaWIkNz1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuRXRoZXJTeW1ib2w9ZXhwb3J0cy5IYXNoWmVybz1leHBvcnRzLk1heEludDI1Nj1leHBvcnRzLk1pbkludDI1Nj1leHBvcnRzLk1heFVpbnQyNTY9ZXhwb3J0cy5XZWlQZXJFdGhlcj1leHBvcnRzLlR3bz1leHBvcnRzLk9uZT1leHBvcnRzLlplcm89ZXhwb3J0cy5OZWdhdGl2ZU9uZT1leHBvcnRzLkFkZHJlc3NaZXJvPXZvaWQgMDtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiQWRkcmVzc1plcm8iLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGFkZHJlc3Nlcy5BZGRyZXNzWmVyb319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiTmVnYXRpdmVPbmUiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGJpZ251bWJlcnMuTmVnYXRpdmVPbmV9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIlplcm8iLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGJpZ251bWJlcnMuWmVyb319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiT25lIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBiaWdudW1iZXJzLk9uZX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiVHdvIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBiaWdudW1iZXJzLlR3b319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiV2VpUGVyRXRoZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGJpZ251bWJlcnMuV2VpUGVyRXRoZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIk1heFVpbnQyNTYiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGJpZ251bWJlcnMuTWF4VWludDI1Nn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiTWluSW50MjU2Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBiaWdudW1iZXJzLk1pbkludDI1Nn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiTWF4SW50MjU2Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBiaWdudW1iZXJzLk1heEludDI1Nn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiSGFzaFplcm8iLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGhhc2hlcy5IYXNoWmVyb319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiRXRoZXJTeW1ib2wiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN0cmluZ3MuRXRoZXJTeW1ib2x9fSl9KTt2YXIgaW5kZXgkNz1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhsaWIkNyk7dmFyIG51bWJlcj1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO3ZhciBfX2V4dGVuZHM9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgZXh0ZW5kU3RhdGljcz1mdW5jdGlvbihkLGIpe2V4dGVuZFN0YXRpY3M9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGQsYil7ZC5fX3Byb3RvX189Yn18fGZ1bmN0aW9uKGQsYil7Zm9yKHZhciBwIGluIGIpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIscCkpZFtwXT1iW3BdfTtyZXR1cm4gZXh0ZW5kU3RhdGljcyhkLGIpfTtyZXR1cm4gZnVuY3Rpb24oZCxiKXtpZih0eXBlb2YgYiE9PSJmdW5jdGlvbiImJmIhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoYikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZXh0ZW5kU3RhdGljcyhkLGIpO2Z1bmN0aW9uIF9fKCl7dGhpcy5jb25zdHJ1Y3Rvcj1kfWQucHJvdG90eXBlPWI9PT1udWxsP09iamVjdC5jcmVhdGUoYik6KF9fLnByb3RvdHlwZT1iLnByb3RvdHlwZSxuZXcgX18pfX0oKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLk51bWJlckNvZGVyPXZvaWQgMDt2YXIgTnVtYmVyQ29kZXI9ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoTnVtYmVyQ29kZXIsX3N1cGVyKTtmdW5jdGlvbiBOdW1iZXJDb2RlcihzaXplLHNpZ25lZCxsb2NhbE5hbWUpe3ZhciBfdGhpcz10aGlzO3ZhciBuYW1lPShzaWduZWQ/ImludCI6InVpbnQiKStzaXplKjg7X3RoaXM9X3N1cGVyLmNhbGwodGhpcyxuYW1lLG5hbWUsbG9jYWxOYW1lLGZhbHNlKXx8dGhpcztfdGhpcy5zaXplPXNpemU7X3RoaXMuc2lnbmVkPXNpZ25lZDtyZXR1cm4gX3RoaXN9TnVtYmVyQ29kZXIucHJvdG90eXBlLmRlZmF1bHRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiAwfTtOdW1iZXJDb2Rlci5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKHdyaXRlcix2YWx1ZSl7dmFyIHY9bGliJDIuQmlnTnVtYmVyLmZyb20odmFsdWUpO3ZhciBtYXhVaW50VmFsdWU9bGliJDcuTWF4VWludDI1Ni5tYXNrKHdyaXRlci53b3JkU2l6ZSo4KTtpZih0aGlzLnNpZ25lZCl7dmFyIGJvdW5kcz1tYXhVaW50VmFsdWUubWFzayh0aGlzLnNpemUqOC0xKTtpZih2Lmd0KGJvdW5kcyl8fHYubHQoYm91bmRzLmFkZChsaWIkNy5PbmUpLm11bChsaWIkNy5OZWdhdGl2ZU9uZSkpKXt0aGlzLl90aHJvd0Vycm9yKCJ2YWx1ZSBvdXQtb2YtYm91bmRzIix2YWx1ZSl9fWVsc2UgaWYodi5sdChsaWIkNy5aZXJvKXx8di5ndChtYXhVaW50VmFsdWUubWFzayh0aGlzLnNpemUqOCkpKXt0aGlzLl90aHJvd0Vycm9yKCJ2YWx1ZSBvdXQtb2YtYm91bmRzIix2YWx1ZSl9dj12LnRvVHdvcyh0aGlzLnNpemUqOCkubWFzayh0aGlzLnNpemUqOCk7aWYodGhpcy5zaWduZWQpe3Y9di5mcm9tVHdvcyh0aGlzLnNpemUqOCkudG9Ud29zKDgqd3JpdGVyLndvcmRTaXplKX1yZXR1cm4gd3JpdGVyLndyaXRlVmFsdWUodil9O051bWJlckNvZGVyLnByb3RvdHlwZS5kZWNvZGU9ZnVuY3Rpb24ocmVhZGVyKXt2YXIgdmFsdWU9cmVhZGVyLnJlYWRWYWx1ZSgpLm1hc2sodGhpcy5zaXplKjgpO2lmKHRoaXMuc2lnbmVkKXt2YWx1ZT12YWx1ZS5mcm9tVHdvcyh0aGlzLnNpemUqOCl9cmV0dXJuIHJlYWRlci5jb2VyY2UodGhpcy5uYW1lLHZhbHVlKX07cmV0dXJuIE51bWJlckNvZGVyfShhYnN0cmFjdENvZGVyLkNvZGVyKTtleHBvcnRzLk51bWJlckNvZGVyPU51bWJlckNvZGVyfSk7dmFyIG51bWJlciQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKG51bWJlcik7dmFyIF92ZXJzaW9uJGU9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnZlcnNpb249dm9pZCAwO2V4cG9ydHMudmVyc2lvbj0ic3RyaW5ncy81LjcuMCJ9KTt2YXIgX3ZlcnNpb24kZj1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhfdmVyc2lvbiRlKTt2YXIgdXRmOD1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMudG9VdGY4Q29kZVBvaW50cz1leHBvcnRzLnRvVXRmOFN0cmluZz1leHBvcnRzLl90b1V0ZjhTdHJpbmc9ZXhwb3J0cy5fdG9Fc2NhcGVkVXRmOFN0cmluZz1leHBvcnRzLnRvVXRmOEJ5dGVzPWV4cG9ydHMuVXRmOEVycm9yRnVuY3M9ZXhwb3J0cy5VdGY4RXJyb3JSZWFzb249ZXhwb3J0cy5Vbmljb2RlTm9ybWFsaXphdGlvbkZvcm09dm9pZCAwO3ZhciBsb2dnZXI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kZS52ZXJzaW9uKTt2YXIgVW5pY29kZU5vcm1hbGl6YXRpb25Gb3JtOyhmdW5jdGlvbihVbmljb2RlTm9ybWFsaXphdGlvbkZvcm0pe1VuaWNvZGVOb3JtYWxpemF0aW9uRm9ybVsiY3VycmVudCJdPSIiO1VuaWNvZGVOb3JtYWxpemF0aW9uRm9ybVsiTkZDIl09Ik5GQyI7VW5pY29kZU5vcm1hbGl6YXRpb25Gb3JtWyJORkQiXT0iTkZEIjtVbmljb2RlTm9ybWFsaXphdGlvbkZvcm1bIk5GS0MiXT0iTkZLQyI7VW5pY29kZU5vcm1hbGl6YXRpb25Gb3JtWyJORktEIl09Ik5GS0QifSkoVW5pY29kZU5vcm1hbGl6YXRpb25Gb3JtPWV4cG9ydHMuVW5pY29kZU5vcm1hbGl6YXRpb25Gb3JtfHwoZXhwb3J0cy5Vbmljb2RlTm9ybWFsaXphdGlvbkZvcm09e30pKTt2YXIgVXRmOEVycm9yUmVhc29uOyhmdW5jdGlvbihVdGY4RXJyb3JSZWFzb24pe1V0ZjhFcnJvclJlYXNvblsiVU5FWFBFQ1RFRF9DT05USU5VRSJdPSJ1bmV4cGVjdGVkIGNvbnRpbnVhdGlvbiBieXRlIjtVdGY4RXJyb3JSZWFzb25bIkJBRF9QUkVGSVgiXT0iYmFkIGNvZGVwb2ludCBwcmVmaXgiO1V0ZjhFcnJvclJlYXNvblsiT1ZFUlJVTiJdPSJzdHJpbmcgb3ZlcnJ1biI7VXRmOEVycm9yUmVhc29uWyJNSVNTSU5HX0NPTlRJTlVFIl09Im1pc3NpbmcgY29udGludWF0aW9uIGJ5dGUiO1V0ZjhFcnJvclJlYXNvblsiT1VUX09GX1JBTkdFIl09Im91dCBvZiBVVEYtOCByYW5nZSI7VXRmOEVycm9yUmVhc29uWyJVVEYxNl9TVVJST0dBVEUiXT0iVVRGLTE2IHN1cnJvZ2F0ZSI7VXRmOEVycm9yUmVhc29uWyJPVkVSTE9ORyJdPSJvdmVybG9uZyByZXByZXNlbnRhdGlvbiJ9KShVdGY4RXJyb3JSZWFzb249ZXhwb3J0cy5VdGY4RXJyb3JSZWFzb258fChleHBvcnRzLlV0ZjhFcnJvclJlYXNvbj17fSkpO2Z1bmN0aW9uIGVycm9yRnVuYyhyZWFzb24sb2Zmc2V0LGJ5dGVzLG91dHB1dCxiYWRDb2RlcG9pbnQpe3JldHVybiBsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGNvZGVwb2ludCBhdCBvZmZzZXQgIitvZmZzZXQrIjsgIityZWFzb24sImJ5dGVzIixieXRlcyl9ZnVuY3Rpb24gaWdub3JlRnVuYyhyZWFzb24sb2Zmc2V0LGJ5dGVzLG91dHB1dCxiYWRDb2RlcG9pbnQpe2lmKHJlYXNvbj09PVV0ZjhFcnJvclJlYXNvbi5CQURfUFJFRklYfHxyZWFzb249PT1VdGY4RXJyb3JSZWFzb24uVU5FWFBFQ1RFRF9DT05USU5VRSl7dmFyIGk9MDtmb3IodmFyIG89b2Zmc2V0KzE7bzxieXRlcy5sZW5ndGg7bysrKXtpZihieXRlc1tvXT4+NiE9PTIpe2JyZWFrfWkrK31yZXR1cm4gaX1pZihyZWFzb249PT1VdGY4RXJyb3JSZWFzb24uT1ZFUlJVTil7cmV0dXJuIGJ5dGVzLmxlbmd0aC1vZmZzZXQtMX1yZXR1cm4gMH1mdW5jdGlvbiByZXBsYWNlRnVuYyhyZWFzb24sb2Zmc2V0LGJ5dGVzLG91dHB1dCxiYWRDb2RlcG9pbnQpe2lmKHJlYXNvbj09PVV0ZjhFcnJvclJlYXNvbi5PVkVSTE9ORyl7b3V0cHV0LnB1c2goYmFkQ29kZXBvaW50KTtyZXR1cm4gMH1vdXRwdXQucHVzaCg2NTUzMyk7cmV0dXJuIGlnbm9yZUZ1bmMocmVhc29uLG9mZnNldCxieXRlcyxvdXRwdXQsYmFkQ29kZXBvaW50KX1leHBvcnRzLlV0ZjhFcnJvckZ1bmNzPU9iamVjdC5mcmVlemUoe2Vycm9yOmVycm9yRnVuYyxpZ25vcmU6aWdub3JlRnVuYyxyZXBsYWNlOnJlcGxhY2VGdW5jfSk7ZnVuY3Rpb24gZ2V0VXRmOENvZGVQb2ludHMoYnl0ZXMsb25FcnJvcil7aWYob25FcnJvcj09bnVsbCl7b25FcnJvcj1leHBvcnRzLlV0ZjhFcnJvckZ1bmNzLmVycm9yfWJ5dGVzPSgwLGxpYiQxLmFycmF5aWZ5KShieXRlcyk7dmFyIHJlc3VsdD1bXTt2YXIgaT0wO3doaWxlKGk8Ynl0ZXMubGVuZ3RoKXt2YXIgYz1ieXRlc1tpKytdO2lmKGM+Pjc9PT0wKXtyZXN1bHQucHVzaChjKTtjb250aW51ZX12YXIgZXh0cmFMZW5ndGg9bnVsbDt2YXIgb3ZlcmxvbmdNYXNrPW51bGw7aWYoKGMmMjI0KT09PTE5Mil7ZXh0cmFMZW5ndGg9MTtvdmVybG9uZ01hc2s9MTI3fWVsc2UgaWYoKGMmMjQwKT09PTIyNCl7ZXh0cmFMZW5ndGg9MjtvdmVybG9uZ01hc2s9MjA0N31lbHNlIGlmKChjJjI0OCk9PT0yNDApe2V4dHJhTGVuZ3RoPTM7b3ZlcmxvbmdNYXNrPTY1NTM1fWVsc2V7aWYoKGMmMTkyKT09PTEyOCl7aSs9b25FcnJvcihVdGY4RXJyb3JSZWFzb24uVU5FWFBFQ1RFRF9DT05USU5VRSxpLTEsYnl0ZXMscmVzdWx0KX1lbHNle2krPW9uRXJyb3IoVXRmOEVycm9yUmVhc29uLkJBRF9QUkVGSVgsaS0xLGJ5dGVzLHJlc3VsdCl9Y29udGludWV9aWYoaS0xK2V4dHJhTGVuZ3RoPj1ieXRlcy5sZW5ndGgpe2krPW9uRXJyb3IoVXRmOEVycm9yUmVhc29uLk9WRVJSVU4saS0xLGJ5dGVzLHJlc3VsdCk7Y29udGludWV9dmFyIHJlcz1jJigxPDw4LWV4dHJhTGVuZ3RoLTEpLTE7Zm9yKHZhciBqPTA7ajxleHRyYUxlbmd0aDtqKyspe3ZhciBuZXh0Q2hhcj1ieXRlc1tpXTtpZigobmV4dENoYXImMTkyKSE9MTI4KXtpKz1vbkVycm9yKFV0ZjhFcnJvclJlYXNvbi5NSVNTSU5HX0NPTlRJTlVFLGksYnl0ZXMscmVzdWx0KTtyZXM9bnVsbDticmVha31yZXM9cmVzPDw2fG5leHRDaGFyJjYzO2krK31pZihyZXM9PT1udWxsKXtjb250aW51ZX1pZihyZXM+MTExNDExMSl7aSs9b25FcnJvcihVdGY4RXJyb3JSZWFzb24uT1VUX09GX1JBTkdFLGktMS1leHRyYUxlbmd0aCxieXRlcyxyZXN1bHQscmVzKTtjb250aW51ZX1pZihyZXM+PTU1Mjk2JiZyZXM8PTU3MzQzKXtpKz1vbkVycm9yKFV0ZjhFcnJvclJlYXNvbi5VVEYxNl9TVVJST0dBVEUsaS0xLWV4dHJhTGVuZ3RoLGJ5dGVzLHJlc3VsdCxyZXMpO2NvbnRpbnVlfWlmKHJlczw9b3ZlcmxvbmdNYXNrKXtpKz1vbkVycm9yKFV0ZjhFcnJvclJlYXNvbi5PVkVSTE9ORyxpLTEtZXh0cmFMZW5ndGgsYnl0ZXMscmVzdWx0LHJlcyk7Y29udGludWV9cmVzdWx0LnB1c2gocmVzKX1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIHRvVXRmOEJ5dGVzKHN0cixmb3JtKXtpZihmb3JtPT09dm9pZCAwKXtmb3JtPVVuaWNvZGVOb3JtYWxpemF0aW9uRm9ybS5jdXJyZW50fWlmKGZvcm0hPVVuaWNvZGVOb3JtYWxpemF0aW9uRm9ybS5jdXJyZW50KXtsb2dnZXIuY2hlY2tOb3JtYWxpemUoKTtzdHI9c3RyLm5vcm1hbGl6ZShmb3JtKX12YXIgcmVzdWx0PVtdO2Zvcih2YXIgaT0wO2k8c3RyLmxlbmd0aDtpKyspe3ZhciBjPXN0ci5jaGFyQ29kZUF0KGkpO2lmKGM8MTI4KXtyZXN1bHQucHVzaChjKX1lbHNlIGlmKGM8MjA0OCl7cmVzdWx0LnB1c2goYz4+NnwxOTIpO3Jlc3VsdC5wdXNoKGMmNjN8MTI4KX1lbHNlIGlmKChjJjY0NTEyKT09NTUyOTYpe2krKzt2YXIgYzI9c3RyLmNoYXJDb2RlQXQoaSk7aWYoaT49c3RyLmxlbmd0aHx8KGMyJjY0NTEyKSE9PTU2MzIwKXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgdXRmLTggc3RyaW5nIil9dmFyIHBhaXI9NjU1MzYrKChjJjEwMjMpPDwxMCkrKGMyJjEwMjMpO3Jlc3VsdC5wdXNoKHBhaXI+PjE4fDI0MCk7cmVzdWx0LnB1c2gocGFpcj4+MTImNjN8MTI4KTtyZXN1bHQucHVzaChwYWlyPj42JjYzfDEyOCk7cmVzdWx0LnB1c2gocGFpciY2M3wxMjgpfWVsc2V7cmVzdWx0LnB1c2goYz4+MTJ8MjI0KTtyZXN1bHQucHVzaChjPj42JjYzfDEyOCk7cmVzdWx0LnB1c2goYyY2M3wxMjgpfX1yZXR1cm4oMCxsaWIkMS5hcnJheWlmeSkocmVzdWx0KX1leHBvcnRzLnRvVXRmOEJ5dGVzPXRvVXRmOEJ5dGVzO2Z1bmN0aW9uIGVzY2FwZUNoYXIodmFsdWUpe3ZhciBoZXg9IjAwMDAiK3ZhbHVlLnRvU3RyaW5nKDE2KTtyZXR1cm4iXFx1IitoZXguc3Vic3RyaW5nKGhleC5sZW5ndGgtNCl9ZnVuY3Rpb24gX3RvRXNjYXBlZFV0ZjhTdHJpbmcoYnl0ZXMsb25FcnJvcil7cmV0dXJuJyInK2dldFV0ZjhDb2RlUG9pbnRzKGJ5dGVzLG9uRXJyb3IpLm1hcChmdW5jdGlvbihjb2RlUG9pbnQpe2lmKGNvZGVQb2ludDwyNTYpe3N3aXRjaChjb2RlUG9pbnQpe2Nhc2UgODpyZXR1cm4iXFxiIjtjYXNlIDk6cmV0dXJuIlxcdCI7Y2FzZSAxMDpyZXR1cm4iXFxuIjtjYXNlIDEzOnJldHVybiJcXHIiO2Nhc2UgMzQ6cmV0dXJuJ1xcIic7Y2FzZSA5MjpyZXR1cm4iXFxcXCJ9aWYoY29kZVBvaW50Pj0zMiYmY29kZVBvaW50PDEyNyl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoY29kZVBvaW50KX19aWYoY29kZVBvaW50PD02NTUzNSl7cmV0dXJuIGVzY2FwZUNoYXIoY29kZVBvaW50KX1jb2RlUG9pbnQtPTY1NTM2O3JldHVybiBlc2NhcGVDaGFyKChjb2RlUG9pbnQ+PjEwJjEwMjMpKzU1Mjk2KStlc2NhcGVDaGFyKChjb2RlUG9pbnQmMTAyMykrNTYzMjApfSkuam9pbigiIikrJyInfWV4cG9ydHMuX3RvRXNjYXBlZFV0ZjhTdHJpbmc9X3RvRXNjYXBlZFV0ZjhTdHJpbmc7ZnVuY3Rpb24gX3RvVXRmOFN0cmluZyhjb2RlUG9pbnRzKXtyZXR1cm4gY29kZVBvaW50cy5tYXAoZnVuY3Rpb24oY29kZVBvaW50KXtpZihjb2RlUG9pbnQ8PTY1NTM1KXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShjb2RlUG9pbnQpfWNvZGVQb2ludC09NjU1MzY7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoKGNvZGVQb2ludD4+MTAmMTAyMykrNTUyOTYsKGNvZGVQb2ludCYxMDIzKSs1NjMyMCl9KS5qb2luKCIiKX1leHBvcnRzLl90b1V0ZjhTdHJpbmc9X3RvVXRmOFN0cmluZztmdW5jdGlvbiB0b1V0ZjhTdHJpbmcoYnl0ZXMsb25FcnJvcil7cmV0dXJuIF90b1V0ZjhTdHJpbmcoZ2V0VXRmOENvZGVQb2ludHMoYnl0ZXMsb25FcnJvcikpfWV4cG9ydHMudG9VdGY4U3RyaW5nPXRvVXRmOFN0cmluZztmdW5jdGlvbiB0b1V0ZjhDb2RlUG9pbnRzKHN0cixmb3JtKXtpZihmb3JtPT09dm9pZCAwKXtmb3JtPVVuaWNvZGVOb3JtYWxpemF0aW9uRm9ybS5jdXJyZW50fXJldHVybiBnZXRVdGY4Q29kZVBvaW50cyh0b1V0ZjhCeXRlcyhzdHIsZm9ybSkpfWV4cG9ydHMudG9VdGY4Q29kZVBvaW50cz10b1V0ZjhDb2RlUG9pbnRzfSk7dmFyIHV0ZjgkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyh1dGY4KTt2YXIgYnl0ZXMzMj1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMucGFyc2VCeXRlczMyU3RyaW5nPWV4cG9ydHMuZm9ybWF0Qnl0ZXMzMlN0cmluZz12b2lkIDA7ZnVuY3Rpb24gZm9ybWF0Qnl0ZXMzMlN0cmluZyh0ZXh0KXt2YXIgYnl0ZXM9KDAsdXRmOC50b1V0ZjhCeXRlcykodGV4dCk7aWYoYnl0ZXMubGVuZ3RoPjMxKXt0aHJvdyBuZXcgRXJyb3IoImJ5dGVzMzIgc3RyaW5nIG11c3QgYmUgbGVzcyB0aGFuIDMyIGJ5dGVzIil9cmV0dXJuKDAsbGliJDEuaGV4bGlmeSkoKDAsbGliJDEuY29uY2F0KShbYnl0ZXMsbGliJDcuSGFzaFplcm9dKS5zbGljZSgwLDMyKSl9ZXhwb3J0cy5mb3JtYXRCeXRlczMyU3RyaW5nPWZvcm1hdEJ5dGVzMzJTdHJpbmc7ZnVuY3Rpb24gcGFyc2VCeXRlczMyU3RyaW5nKGJ5dGVzKXt2YXIgZGF0YT0oMCxsaWIkMS5hcnJheWlmeSkoYnl0ZXMpO2lmKGRhdGEubGVuZ3RoIT09MzIpe3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCBieXRlczMyIC0gbm90IDMyIGJ5dGVzIGxvbmciKX1pZihkYXRhWzMxXSE9PTApe3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCBieXRlczMyIHN0cmluZyAtIG5vIG51bGwgdGVybWluYXRvciIpfXZhciBsZW5ndGg9MzE7d2hpbGUoZGF0YVtsZW5ndGgtMV09PT0wKXtsZW5ndGgtLX1yZXR1cm4oMCx1dGY4LnRvVXRmOFN0cmluZykoZGF0YS5zbGljZSgwLGxlbmd0aCkpfWV4cG9ydHMucGFyc2VCeXRlczMyU3RyaW5nPXBhcnNlQnl0ZXMzMlN0cmluZ30pO3ZhciBieXRlczMyJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoYnl0ZXMzMik7dmFyIGlkbmE9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLm5hbWVwcmVwPWV4cG9ydHMuX25hbWVwcmVwVGFibGVDPWV4cG9ydHMuX25hbWVwcmVwVGFibGVCMj1leHBvcnRzLl9uYW1lcHJlcFRhYmxlQTE9dm9pZCAwO2Z1bmN0aW9uIGJ5dGVzMihkYXRhKXtpZihkYXRhLmxlbmd0aCU0IT09MCl7dGhyb3cgbmV3IEVycm9yKCJiYWQgZGF0YSIpfXZhciByZXN1bHQ9W107Zm9yKHZhciBpPTA7aTxkYXRhLmxlbmd0aDtpKz00KXtyZXN1bHQucHVzaChwYXJzZUludChkYXRhLnN1YnN0cmluZyhpLGkrNCksMTYpKX1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGNyZWF0ZVRhYmxlKGRhdGEsZnVuYyl7aWYoIWZ1bmMpe2Z1bmM9ZnVuY3Rpb24odmFsdWUpe3JldHVybltwYXJzZUludCh2YWx1ZSwxNildfX12YXIgbG89MDt2YXIgcmVzdWx0PXt9O2RhdGEuc3BsaXQoIiwiKS5mb3JFYWNoKGZ1bmN0aW9uKHBhaXIpe3ZhciBjb21wcz1wYWlyLnNwbGl0KCI6Iik7bG8rPXBhcnNlSW50KGNvbXBzWzBdLDE2KTtyZXN1bHRbbG9dPWZ1bmMoY29tcHNbMV0pfSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBjcmVhdGVSYW5nZVRhYmxlKGRhdGEpe3ZhciBoaT0wO3JldHVybiBkYXRhLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKHYpe3ZhciBjb21wcz12LnNwbGl0KCItIik7aWYoY29tcHMubGVuZ3RoPT09MSl7Y29tcHNbMV09IjAifWVsc2UgaWYoY29tcHNbMV09PT0iIil7Y29tcHNbMV09IjEifXZhciBsbz1oaStwYXJzZUludChjb21wc1swXSwxNik7aGk9cGFyc2VJbnQoY29tcHNbMV0sMTYpO3JldHVybntsOmxvLGg6aGl9fSl9ZnVuY3Rpb24gbWF0Y2hNYXAodmFsdWUscmFuZ2VzKXt2YXIgbG89MDtmb3IodmFyIGk9MDtpPHJhbmdlcy5sZW5ndGg7aSsrKXt2YXIgcmFuZ2U9cmFuZ2VzW2ldO2xvKz1yYW5nZS5sO2lmKHZhbHVlPj1sbyYmdmFsdWU8PWxvK3JhbmdlLmgmJih2YWx1ZS1sbyklKHJhbmdlLmR8fDEpPT09MCl7aWYocmFuZ2UuZSYmcmFuZ2UuZS5pbmRleE9mKHZhbHVlLWxvKSE9PS0xKXtjb250aW51ZX1yZXR1cm4gcmFuZ2V9fXJldHVybiBudWxsfXZhciBUYWJsZV9BXzFfcmFuZ2VzPWNyZWF0ZVJhbmdlVGFibGUoIjIyMSwxMy0xYiw1Zi0sNDAtMTAsNTEtZiwxMS0zLDMtMywyLTIsMi00LDgsMiwxNSwyZCwyOC04LDg4LDQ4LDI3LSwzLTUsMTEtMjAsMjctLDgsMjgsMy01LDEyLDE4LGItYSwxYy00LDYtMTYsMi1kLDItMiwyLDFiLTQsMTctOSw4Zi0sMTAsZiwxZi0yLDFjLTM0LDMzLTE0ZSw0LDM2LSwxMy0sNi0yLDFhLWYsNCw5LSwzLSwxNyw4LDItMiw1LSwyLDgtLDMtLDQtOCwyLTMsMyw2LSwxNi02LDItLDctMywzLSwxNyw4LDMsMywzLSwyLDYtMywzLSw0LWEsNSwyLTYsMTAtYiw0LDgsMiw0LDE3LDgsMyw2LSxiLDQsNC0sMi1lLDItNCxiLTEwLDQsOS0sMy0sMTcsOCwzLSw1LSw5LTIsMy0sNC03LDMtMywzLDQtMyxjLTEwLDMsNy0yLDQsNS0yLDMsMiwzLTIsMy0yLDQtMiw5LDQtMyw2LTIsNCw1LTgsMi1lLGQtZCw0LDksNCwxOCxiLDYtMyw4LDQsNS02LDMtOCwzLTMsYi0xMSwzLDksNCwxOCxiLDYtMyw4LDQsNS02LDMtNiwyLDMtMyxiLTExLDMsOSw0LDE4LDExLTMsNy0sNCw1LTgsMi03LDMtMyxiLTExLDMsMTMtMiwxOSxhLDItLDgtMiwyLTMsNywyLDktMTEsNC1iLDNiLTMsMWUtMjQsMywyLSwzLDItLDItNSw1LDgsNCwyLDItLDMsZSw0LSw2LDIsNy0sYi0sMy0yMSw0OSwyMy01LDFjLTMsOSwyNSwxMC0sMi0yZiwyMyw2LDMsOC0yLDUtNSwxYi00NSwyNy05LDJhLSwyLTMsNWItNCw0NS00LDUzLTUsOCw0MCwyLDUtLDgsMiw1LSwyOCwyLDUtLDIwLDIsNS0sOCwyLDUtLDgsOCwxOCwyMCwyLDUtLDgsMjgsMTQtNSwxZC0yMiw1Ni1iLDI3Ny04LDFlLTIsNTItZSxlLDgtYSwxOC04LDE1LWIsZSw0LDMtYiw1ZS0yLGItMTUsMTAsYi01LDU5LTcsMmItNTU1LDlkLTMsNWItNSwxNy0sNy0sMjctLDctLDksMiwyLDIsMjAtLDM2LDEwLGYtLDcsMTQtLDQsYSw1NC0zLDItNiw2LTUsOS0sMWMtMTAsMTMtMWQsMWMtMTQsM2MtLDEwLTYsMzItYiwyNDAtMzAsMjgtMTgsYy0xNCxhMCwxMTUtLDMsNjYtLGItNzYsNSw1LSwxZCwyNCwyLDUtMiwyLDgtLDM1LTIsMTksZi0xMCwxZC0zLDMxMS0zN2YsMWIsNWEtYixkNy0xOSxkLTMsNDEsNTctLDY4LTQsMjktMyw1ZiwyOS0zNywyZS0yLDI1LWMsMmMtMiw0ZS0zLDMwLDc4LTMsNjQtLDIwLDE5YjctNDksNTFhNy01OSw0OGUtMiwzOC03MzgsMmJhNS01YiwyMjJmLSwzYy05NCw4LWIsNi00LDFiLDYsMiwzLDMsNmQtMjAsMTZlLWYsNDEtLDM3LTcsMmUtMiwxMS1mLDUtYiwxOC0sYiwxNCw1LTMsNiw4OC0sMixiZi0yLDctLDctLDctLDQtMiw4LDgtOSw4LTJmZiwyMCw1LWIsMWMtYjQsMjctLDI3LWNiYjEsZjctOSwyOC0yLGI1LTIyMSw1Niw0OCwzLSwyLSwzLSw1LGQsMiw1LDMsNDIsNS0sOSw4LDFkLDUsNiwyLTIsOCwxNTMtMywxMjMtMywzMy0yN2ZkLGE2ZGEtNTEyOCwyMWYtNWRmLDMtZmZmZCwzLWZmZmQsMy1mZmZkLDMtZmZmZCwzLWZmZmQsMy1mZmZkLDMtZmZmZCwzLWZmZmQsMy1mZmZkLDMtZmZmZCwzLWZmZmQsMywyLTFkLDYxLWZmN2QiKTt2YXIgVGFibGVfQl8xX2ZsYWdzPSJhZCwzNGYsMTgwNiwxODBiLDE4MGMsMTgwZCwyMDBiLDIwMGMsMjAwZCwyMDYwLGZlZmYiLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKHYpe3JldHVybiBwYXJzZUludCh2LDE2KX0pO3ZhciBUYWJsZV9CXzJfcmFuZ2VzPVt7aDoyNSxzOjMyLGw6NjV9LHtoOjMwLHM6MzIsZTpbMjNdLGw6MTI3fSx7aDo1NCxzOjEsZTpbNDhdLGw6NjQsZDoyfSx7aDoxNCxzOjEsbDo1NyxkOjJ9LHtoOjQ0LHM6MSxsOjE3LGQ6Mn0se2g6MTAsczoxLGU6WzIsNiw4XSxsOjYxLGQ6Mn0se2g6MTYsczoxLGw6NjgsZDoyfSx7aDo4NCxzOjEsZTpbMTgsMjQsNjZdLGw6MTksZDoyfSx7aDoyNixzOjMyLGU6WzE3XSxsOjQzNX0se2g6MjIsczoxLGw6NzEsZDoyfSx7aDoxNSxzOjgwLGw6NDB9LHtoOjMxLHM6MzIsbDoxNn0se2g6MzIsczoxLGw6ODAsZDoyfSx7aDo1MixzOjEsbDo0MixkOjJ9LHtoOjEyLHM6MSxsOjU1LGQ6Mn0se2g6NDAsczoxLGU6WzM4XSxsOjE1LGQ6Mn0se2g6MTQsczoxLGw6NDgsZDoyfSx7aDozNyxzOjQ4LGw6NDl9LHtoOjE0OCxzOjEsbDo2MzUxLGQ6Mn0se2g6ODgsczoxLGw6MTYwLGQ6Mn0se2g6MTUsczoxNixsOjcwNH0se2g6MjUsczoyNixsOjg1NH0se2g6MjUsczozMixsOjU1OTE1fSx7aDozNyxzOjQwLGw6MTI0N30se2g6MjUsczotMTE5NzExLGw6NTMyNDh9LHtoOjI1LHM6LTExOTc2MyxsOjUyfSx7aDoyNSxzOi0xMTk4MTUsbDo1Mn0se2g6MjUsczotMTE5ODY3LGU6WzEsNCw1LDcsOCwxMSwxMiwxN10sbDo1Mn0se2g6MjUsczotMTE5OTE5LGw6NTJ9LHtoOjI0LHM6LTExOTk3MSxlOlsyLDcsOCwxN10sbDo1Mn0se2g6MjQsczotMTIwMDIzLGU6WzIsNywxMywxNSwxNiwxN10sbDo1Mn0se2g6MjUsczotMTIwMDc1LGw6NTJ9LHtoOjI1LHM6LTEyMDEyNyxsOjUyfSx7aDoyNSxzOi0xMjAxNzksbDo1Mn0se2g6MjUsczotMTIwMjMxLGw6NTJ9LHtoOjI1LHM6LTEyMDI4MyxsOjUyfSx7aDoyNSxzOi0xMjAzMzUsbDo1Mn0se2g6MjQsczotMTE5NTQzLGU6WzE3XSxsOjU2fSx7aDoyNCxzOi0xMTk2MDEsZTpbMTddLGw6NTh9LHtoOjI0LHM6LTExOTY1OSxlOlsxN10sbDo1OH0se2g6MjQsczotMTE5NzE3LGU6WzE3XSxsOjU4fSx7aDoyNCxzOi0xMTk3NzUsZTpbMTddLGw6NTh9XTt2YXIgVGFibGVfQl8yX2x1dF9hYnM9Y3JlYXRlVGFibGUoImI1OjNiYyxjMzpmZiw3OjczLDI6MjUzLDU6MjU0LDM6MjU2LDE6MjU3LDU6MjU5LDE6MjViLDM6MjYwLDE6MjYzLDI6MjY5LDE6MjY4LDU6MjZmLDE6MjcyLDI6Mjc1LDc6MjgwLDM6MjgzLDU6Mjg4LDM6MjhhLDE6MjhiLDU6MjkyLDNmOjE5NSwxOjFiZiwyOToxOWUsMTI1OjNiOSw4YjozYjIsMTozYjgsMTozYzUsMzozYzYsMTozYzAsMWE6M2JhLDE6M2MxLDE6M2MzLDI6M2I4LDE6M2I1LDFiYzk6M2I5LDFjOjFmNzYsMToxZjc3LGY6MWY3YSwxOjFmN2IsZDoxZjc4LDE6MWY3OSwxOjFmN2MsMToxZjdkLDEwNzo2Myw1OjI1Yiw0OjY4LDE6NjgsMTo2OCwzOjY5LDE6NjksMTo2YywzOjZlLDQ6NzAsMTo3MSwxOjcyLDE6NzIsMTo3Miw3OjdhLDI6M2M5LDI6N2EsMjo2YiwxOmU1LDE6NjIsMTo2MywzOjY1LDE6NjYsMjo2ZCxiOjNiMywxOjNjMCw2OjY0LDFiNTc0OjNiOCwxYTozYzMsMjA6M2I4LDFhOjNjMywyMDozYjgsMWE6M2MzLDIwOjNiOCwxYTozYzMsMjA6M2I4LDFhOjNjMyIpO3ZhciBUYWJsZV9CXzJfbHV0X3JlbD1jcmVhdGVUYWJsZSgiMTc5OjEsMjoxLDI6MSw1OjEsMjoxLGE6NGYsYToxLDg6MSwyOjEsMjoxLDM6MSw1OjEsMzoxLDQ6MSwyOjEsMzoxLDQ6MSw4OjIsMToxLDI6MiwxOjEsMjoyLDI3OjIsMTk1OjI2LDI6MjUsMToyNSwxOjI1LDI6NDAsMjozZiwxOjNmLDMzOjEsMTE6LTYsMTotOSwxYWM3Oi0zYSw2ZDotOCwxOi04LDE6LTgsMTotOCwxOi04LDE6LTgsMTotOCwxOi04LDk6LTgsMTotOCwxOi04LDE6LTgsMTotOCwxOi04LGI6LTgsMTotOCwxOi04LDE6LTgsMTotOCwxOi04LDE6LTgsMTotOCw5Oi04LDE6LTgsMTotOCwxOi04LDE6LTgsMTotOCwxOi04LDE6LTgsOTotOCwxOi04LDE6LTgsMTotOCwxOi04LDE6LTgsYzotOCwyOi04LDI6LTgsMjotOCw5Oi04LDE6LTgsMTotOCwxOi04LDE6LTgsMTotOCwxOi04LDE6LTgsNDk6LTgsMTotOCwxOi00YSwxOi00YSxkOi01NiwxOi01NiwxOi01NiwxOi01NixkOi04LDE6LTgsZjotOCwxOi04LDM6LTciKTt2YXIgVGFibGVfQl8yX2NvbXBsZXg9Y3JlYXRlVGFibGUoImRmOjAwNzMwMDczLDUxOjAwNjkwMzA3LDE5OjAyQkMwMDZFLGE3OjAwNkEwMzBDLDE4YTowMDIwMDNCOSwxNjowM0I5MDMwODAzMDEsMjA6MDNDNTAzMDgwMzAxLDFkNzowNTY1MDU4MiwxOTBmOjAwNjgwMzMxLDE6MDA3NDAzMDgsMTowMDc3MDMwQSwxOjAwNzkwMzBBLDE6MDA2MTAyQkUsYjY6MDNDNTAzMTMsMjowM0M1MDMxMzAzMDAsMjowM0M1MDMxMzAzMDEsMjowM0M1MDMxMzAzNDIsMmE6MUYwMDAzQjksMToxRjAxMDNCOSwxOjFGMDIwM0I5LDE6MUYwMzAzQjksMToxRjA0MDNCOSwxOjFGMDUwM0I5LDE6MUYwNjAzQjksMToxRjA3MDNCOSwxOjFGMDAwM0I5LDE6MUYwMTAzQjksMToxRjAyMDNCOSwxOjFGMDMwM0I5LDE6MUYwNDAzQjksMToxRjA1MDNCOSwxOjFGMDYwM0I5LDE6MUYwNzAzQjksMToxRjIwMDNCOSwxOjFGMjEwM0I5LDE6MUYyMjAzQjksMToxRjIzMDNCOSwxOjFGMjQwM0I5LDE6MUYyNTAzQjksMToxRjI2MDNCOSwxOjFGMjcwM0I5LDE6MUYyMDAzQjksMToxRjIxMDNCOSwxOjFGMjIwM0I5LDE6MUYyMzAzQjksMToxRjI0MDNCOSwxOjFGMjUwM0I5LDE6MUYyNjAzQjksMToxRjI3MDNCOSwxOjFGNjAwM0I5LDE6MUY2MTAzQjksMToxRjYyMDNCOSwxOjFGNjMwM0I5LDE6MUY2NDAzQjksMToxRjY1MDNCOSwxOjFGNjYwM0I5LDE6MUY2NzAzQjksMToxRjYwMDNCOSwxOjFGNjEwM0I5LDE6MUY2MjAzQjksMToxRjYzMDNCOSwxOjFGNjQwM0I5LDE6MUY2NTAzQjksMToxRjY2MDNCOSwxOjFGNjcwM0I5LDM6MUY3MDAzQjksMTowM0IxMDNCOSwxOjAzQUMwM0I5LDI6MDNCMTAzNDIsMTowM0IxMDM0MjAzQjksNTowM0IxMDNCOSw2OjFGNzQwM0I5LDE6MDNCNzAzQjksMTowM0FFMDNCOSwyOjAzQjcwMzQyLDE6MDNCNzAzNDIwM0I5LDU6MDNCNzAzQjksNjowM0I5MDMwODAzMDAsMTowM0I5MDMwODAzMDEsMzowM0I5MDM0MiwxOjAzQjkwMzA4MDM0MixiOjAzQzUwMzA4MDMwMCwxOjAzQzUwMzA4MDMwMSwxOjAzQzEwMzEzLDI6MDNDNTAzNDIsMTowM0M1MDMwODAzNDIsYjoxRjdDMDNCOSwxOjAzQzkwM0I5LDE6MDNDRTAzQjksMjowM0M5MDM0MiwxOjAzQzkwMzQyMDNCOSw1OjAzQzkwM0I5LGFjOjAwNzIwMDczLDViOjAwQjAwMDYzLDY6MDBCMDAwNjYsZDowMDZFMDA2RixhOjAwNzMwMDZELDE6MDA3NDAwNjUwMDZDLDE6MDA3NDAwNkQsMTI0ZjowMDY4MDA3MDAwNjEsMjowMDYxMDA3NSwyOjAwNkYwMDc2LGI6MDA3MDAwNjEsMTowMDZFMDA2MSwxOjAzQkMwMDYxLDE6MDA2RDAwNjEsMTowMDZCMDA2MSwxOjAwNkIwMDYyLDE6MDA2RDAwNjIsMTowMDY3MDA2MiwzOjAwNzAwMDY2LDE6MDA2RTAwNjYsMTowM0JDMDA2Niw0OjAwNjgwMDdBLDE6MDA2QjAwNjgwMDdBLDE6MDA2RDAwNjgwMDdBLDE6MDA2NzAwNjgwMDdBLDE6MDA3NDAwNjgwMDdBLDE1OjAwNzAwMDYxLDE6MDA2QjAwNzAwMDYxLDE6MDA2RDAwNzAwMDYxLDE6MDA2NzAwNzAwMDYxLDg6MDA3MDAwNzYsMTowMDZFMDA3NiwxOjAzQkMwMDc2LDE6MDA2RDAwNzYsMTowMDZCMDA3NiwxOjAwNkQwMDc2LDE6MDA3MDAwNzcsMTowMDZFMDA3NywxOjAzQkMwMDc3LDE6MDA2RDAwNzcsMTowMDZCMDA3NywxOjAwNkQwMDc3LDE6MDA2QjAzQzksMTowMDZEMDNDOSwyOjAwNjIwMDcxLDM6MDA2MzIyMTUwMDZCMDA2NywxOjAwNjMwMDZGMDAyRSwxOjAwNjQwMDYyLDE6MDA2NzAwNzksMjowMDY4MDA3MCwyOjAwNkIwMDZCLDE6MDA2QjAwNkQsOTowMDcwMDA2OCwyOjAwNzAwMDcwMDA2RCwxOjAwNzAwMDcyLDI6MDA3MzAwNzYsMTowMDc3MDA2MixjNzIzOjAwNjYwMDY2LDE6MDA2NjAwNjksMTowMDY2MDA2QywxOjAwNjYwMDY2MDA2OSwxOjAwNjYwMDY2MDA2QywxOjAwNzMwMDc0LDE6MDA3MzAwNzQsZDowNTc0MDU3NiwxOjA1NzQwNTY1LDE6MDU3NDA1NkIsMTowNTdFMDU3NiwxOjA1NzQwNTZEIixieXRlczIpO3ZhciBUYWJsZV9DX3Jhbmdlcz1jcmVhdGVSYW5nZVRhYmxlKCI4MC0yMCwyYTAtLDM5YywzMixmNzEsMThlLDdmMi1mLDE5LTcsMzAtNCw3LTUsZjgxLWIsNSxhODAwLTIwZmYsNGQxLTFmLDExMCxmYS02LGQxNzQtNywyZTg0LSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSxmZmZmLSwyLDFmLTVmLGZmN2YtMjAwMDEiKTtmdW5jdGlvbiBmbGF0dGVuKHZhbHVlcyl7cmV0dXJuIHZhbHVlcy5yZWR1Y2UoZnVuY3Rpb24oYWNjdW0sdmFsdWUpe3ZhbHVlLmZvckVhY2goZnVuY3Rpb24odmFsdWUpe2FjY3VtLnB1c2godmFsdWUpfSk7cmV0dXJuIGFjY3VtfSxbXSl9ZnVuY3Rpb24gX25hbWVwcmVwVGFibGVBMShjb2RlcG9pbnQpe3JldHVybiEhbWF0Y2hNYXAoY29kZXBvaW50LFRhYmxlX0FfMV9yYW5nZXMpfWV4cG9ydHMuX25hbWVwcmVwVGFibGVBMT1fbmFtZXByZXBUYWJsZUExO2Z1bmN0aW9uIF9uYW1lcHJlcFRhYmxlQjIoY29kZXBvaW50KXt2YXIgcmFuZ2U9bWF0Y2hNYXAoY29kZXBvaW50LFRhYmxlX0JfMl9yYW5nZXMpO2lmKHJhbmdlKXtyZXR1cm5bY29kZXBvaW50K3JhbmdlLnNdfXZhciBjb2Rlcz1UYWJsZV9CXzJfbHV0X2Fic1tjb2RlcG9pbnRdO2lmKGNvZGVzKXtyZXR1cm4gY29kZXN9dmFyIHNoaWZ0PVRhYmxlX0JfMl9sdXRfcmVsW2NvZGVwb2ludF07aWYoc2hpZnQpe3JldHVybltjb2RlcG9pbnQrc2hpZnRbMF1dfXZhciBjb21wbGV4PVRhYmxlX0JfMl9jb21wbGV4W2NvZGVwb2ludF07aWYoY29tcGxleCl7cmV0dXJuIGNvbXBsZXh9cmV0dXJuIG51bGx9ZXhwb3J0cy5fbmFtZXByZXBUYWJsZUIyPV9uYW1lcHJlcFRhYmxlQjI7ZnVuY3Rpb24gX25hbWVwcmVwVGFibGVDKGNvZGVwb2ludCl7cmV0dXJuISFtYXRjaE1hcChjb2RlcG9pbnQsVGFibGVfQ19yYW5nZXMpfWV4cG9ydHMuX25hbWVwcmVwVGFibGVDPV9uYW1lcHJlcFRhYmxlQztmdW5jdGlvbiBuYW1lcHJlcCh2YWx1ZSl7aWYodmFsdWUubWF0Y2goL15bYS16MC05LV0qJC9pKSYmdmFsdWUubGVuZ3RoPD01OSl7cmV0dXJuIHZhbHVlLnRvTG93ZXJDYXNlKCl9dmFyIGNvZGVzPSgwLHV0ZjgudG9VdGY4Q29kZVBvaW50cykodmFsdWUpO2NvZGVzPWZsYXR0ZW4oY29kZXMubWFwKGZ1bmN0aW9uKGNvZGUpe2lmKFRhYmxlX0JfMV9mbGFncy5pbmRleE9mKGNvZGUpPj0wKXtyZXR1cm5bXX1pZihjb2RlPj02NTAyNCYmY29kZTw9NjUwMzkpe3JldHVybltdfXZhciBjb2Rlc1RhYmxlQjI9X25hbWVwcmVwVGFibGVCMihjb2RlKTtpZihjb2Rlc1RhYmxlQjIpe3JldHVybiBjb2Rlc1RhYmxlQjJ9cmV0dXJuW2NvZGVdfSkpO2NvZGVzPSgwLHV0ZjgudG9VdGY4Q29kZVBvaW50cykoKDAsdXRmOC5fdG9VdGY4U3RyaW5nKShjb2RlcyksdXRmOC5Vbmljb2RlTm9ybWFsaXphdGlvbkZvcm0uTkZLQyk7Y29kZXMuZm9yRWFjaChmdW5jdGlvbihjb2RlKXtpZihfbmFtZXByZXBUYWJsZUMoY29kZSkpe3Rocm93IG5ldyBFcnJvcigiU1RSSU5HUFJFUF9DT05UQUlOU19QUk9ISUJJVEVEIil9fSk7Y29kZXMuZm9yRWFjaChmdW5jdGlvbihjb2RlKXtpZihfbmFtZXByZXBUYWJsZUExKGNvZGUpKXt0aHJvdyBuZXcgRXJyb3IoIlNUUklOR1BSRVBfQ09OVEFJTlNfVU5BU1NJR05FRCIpfX0pO3ZhciBuYW1lPSgwLHV0ZjguX3RvVXRmOFN0cmluZykoY29kZXMpO2lmKG5hbWUuc3Vic3RyaW5nKDAsMSk9PT0iLSJ8fG5hbWUuc3Vic3RyaW5nKDIsNCk9PT0iLS0ifHxuYW1lLnN1YnN0cmluZyhuYW1lLmxlbmd0aC0xKT09PSItIil7dGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGh5cGhlbiIpfXJldHVybiBuYW1lfWV4cG9ydHMubmFtZXByZXA9bmFtZXByZXB9KTt2YXIgaWRuYSQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGlkbmEpO3ZhciBsaWIkOD1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMubmFtZXByZXA9ZXhwb3J0cy5wYXJzZUJ5dGVzMzJTdHJpbmc9ZXhwb3J0cy5mb3JtYXRCeXRlczMyU3RyaW5nPWV4cG9ydHMuVW5pY29kZU5vcm1hbGl6YXRpb25Gb3JtPWV4cG9ydHMuVXRmOEVycm9yUmVhc29uPWV4cG9ydHMuVXRmOEVycm9yRnVuY3M9ZXhwb3J0cy50b1V0ZjhTdHJpbmc9ZXhwb3J0cy50b1V0ZjhDb2RlUG9pbnRzPWV4cG9ydHMudG9VdGY4Qnl0ZXM9ZXhwb3J0cy5fdG9Fc2NhcGVkVXRmOFN0cmluZz12b2lkIDA7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImZvcm1hdEJ5dGVzMzJTdHJpbmciLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGJ5dGVzMzIuZm9ybWF0Qnl0ZXMzMlN0cmluZ319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywicGFyc2VCeXRlczMyU3RyaW5nIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBieXRlczMyLnBhcnNlQnl0ZXMzMlN0cmluZ319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywibmFtZXByZXAiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGlkbmEubmFtZXByZXB9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl90b0VzY2FwZWRVdGY4U3RyaW5nIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB1dGY4Ll90b0VzY2FwZWRVdGY4U3RyaW5nfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJ0b1V0ZjhCeXRlcyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdXRmOC50b1V0ZjhCeXRlc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywidG9VdGY4Q29kZVBvaW50cyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdXRmOC50b1V0ZjhDb2RlUG9pbnRzfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJ0b1V0ZjhTdHJpbmciLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHV0ZjgudG9VdGY4U3RyaW5nfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJVbmljb2RlTm9ybWFsaXphdGlvbkZvcm0iLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHV0ZjguVW5pY29kZU5vcm1hbGl6YXRpb25Gb3JtfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJVdGY4RXJyb3JGdW5jcyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdXRmOC5VdGY4RXJyb3JGdW5jc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiVXRmOEVycm9yUmVhc29uIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB1dGY4LlV0ZjhFcnJvclJlYXNvbn19KX0pO3ZhciBpbmRleCQ4PWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGxpYiQ4KTt2YXIgc3RyaW5nPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuU3RyaW5nQ29kZXI9dm9pZCAwO3ZhciBTdHJpbmdDb2Rlcj1mdW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhTdHJpbmdDb2Rlcixfc3VwZXIpO2Z1bmN0aW9uIFN0cmluZ0NvZGVyKGxvY2FsTmFtZSl7cmV0dXJuIF9zdXBlci5jYWxsKHRoaXMsInN0cmluZyIsbG9jYWxOYW1lKXx8dGhpc31TdHJpbmdDb2Rlci5wcm90b3R5cGUuZGVmYXVsdFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIiJ9O1N0cmluZ0NvZGVyLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24od3JpdGVyLHZhbHVlKXtyZXR1cm4gX3N1cGVyLnByb3RvdHlwZS5lbmNvZGUuY2FsbCh0aGlzLHdyaXRlciwoMCxsaWIkOC50b1V0ZjhCeXRlcykodmFsdWUpKX07U3RyaW5nQ29kZXIucHJvdG90eXBlLmRlY29kZT1mdW5jdGlvbihyZWFkZXIpe3JldHVybigwLGxpYiQ4LnRvVXRmOFN0cmluZykoX3N1cGVyLnByb3RvdHlwZS5kZWNvZGUuY2FsbCh0aGlzLHJlYWRlcikpfTtyZXR1cm4gU3RyaW5nQ29kZXJ9KGJ5dGVzLkR5bmFtaWNCeXRlc0NvZGVyKTtleHBvcnRzLlN0cmluZ0NvZGVyPVN0cmluZ0NvZGVyfSk7dmFyIHN0cmluZyQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKHN0cmluZyk7dmFyIHR1cGxlPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuVHVwbGVDb2Rlcj12b2lkIDA7dmFyIFR1cGxlQ29kZXI9ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoVHVwbGVDb2Rlcixfc3VwZXIpO2Z1bmN0aW9uIFR1cGxlQ29kZXIoY29kZXJzLGxvY2FsTmFtZSl7dmFyIF90aGlzPXRoaXM7dmFyIGR5bmFtaWM9ZmFsc2U7dmFyIHR5cGVzPVtdO2NvZGVycy5mb3JFYWNoKGZ1bmN0aW9uKGNvZGVyKXtpZihjb2Rlci5keW5hbWljKXtkeW5hbWljPXRydWV9dHlwZXMucHVzaChjb2Rlci50eXBlKX0pO3ZhciB0eXBlPSJ0dXBsZSgiK3R5cGVzLmpvaW4oIiwiKSsiKSI7X3RoaXM9X3N1cGVyLmNhbGwodGhpcywidHVwbGUiLHR5cGUsbG9jYWxOYW1lLGR5bmFtaWMpfHx0aGlzO190aGlzLmNvZGVycz1jb2RlcnM7cmV0dXJuIF90aGlzfVR1cGxlQ29kZXIucHJvdG90eXBlLmRlZmF1bHRWYWx1ZT1mdW5jdGlvbigpe3ZhciB2YWx1ZXM9W107dGhpcy5jb2RlcnMuZm9yRWFjaChmdW5jdGlvbihjb2Rlcil7dmFsdWVzLnB1c2goY29kZXIuZGVmYXVsdFZhbHVlKCkpfSk7dmFyIHVuaXF1ZU5hbWVzPXRoaXMuY29kZXJzLnJlZHVjZShmdW5jdGlvbihhY2N1bSxjb2Rlcil7dmFyIG5hbWU9Y29kZXIubG9jYWxOYW1lO2lmKG5hbWUpe2lmKCFhY2N1bVtuYW1lXSl7YWNjdW1bbmFtZV09MH1hY2N1bVtuYW1lXSsrfXJldHVybiBhY2N1bX0se30pO3RoaXMuY29kZXJzLmZvckVhY2goZnVuY3Rpb24oY29kZXIsaW5kZXgpe3ZhciBuYW1lPWNvZGVyLmxvY2FsTmFtZTtpZighbmFtZXx8dW5pcXVlTmFtZXNbbmFtZV0hPT0xKXtyZXR1cm59aWYobmFtZT09PSJsZW5ndGgiKXtuYW1lPSJfbGVuZ3RoIn1pZih2YWx1ZXNbbmFtZV0hPW51bGwpe3JldHVybn12YWx1ZXNbbmFtZV09dmFsdWVzW2luZGV4XX0pO3JldHVybiBPYmplY3QuZnJlZXplKHZhbHVlcyl9O1R1cGxlQ29kZXIucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbih3cml0ZXIsdmFsdWUpe3JldHVybigwLGFycmF5LnBhY2spKHdyaXRlcix0aGlzLmNvZGVycyx2YWx1ZSl9O1R1cGxlQ29kZXIucHJvdG90eXBlLmRlY29kZT1mdW5jdGlvbihyZWFkZXIpe3JldHVybiByZWFkZXIuY29lcmNlKHRoaXMubmFtZSwoMCxhcnJheS51bnBhY2spKHJlYWRlcix0aGlzLmNvZGVycykpfTtyZXR1cm4gVHVwbGVDb2Rlcn0oYWJzdHJhY3RDb2Rlci5Db2Rlcik7ZXhwb3J0cy5UdXBsZUNvZGVyPVR1cGxlQ29kZXJ9KTt2YXIgdHVwbGUkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyh0dXBsZSk7dmFyIGFiaUNvZGVyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5kZWZhdWx0QWJpQ29kZXI9ZXhwb3J0cy5BYmlDb2Rlcj12b2lkIDA7dmFyIGxvZ2dlcj1uZXcgbGliLkxvZ2dlcihfdmVyc2lvbiQ4LnZlcnNpb24pO3ZhciBwYXJhbVR5cGVCeXRlcz1uZXcgUmVnRXhwKC9eYnl0ZXMoWzAtOV0qKSQvKTt2YXIgcGFyYW1UeXBlTnVtYmVyPW5ldyBSZWdFeHAoL14odT9pbnQpKFswLTldKikkLyk7dmFyIEFiaUNvZGVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQWJpQ29kZXIoY29lcmNlRnVuYyl7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImNvZXJjZUZ1bmMiLGNvZXJjZUZ1bmN8fG51bGwpfUFiaUNvZGVyLnByb3RvdHlwZS5fZ2V0Q29kZXI9ZnVuY3Rpb24ocGFyYW0pe3ZhciBfdGhpcz10aGlzO3N3aXRjaChwYXJhbS5iYXNlVHlwZSl7Y2FzZSJhZGRyZXNzIjpyZXR1cm4gbmV3IGFkZHJlc3MuQWRkcmVzc0NvZGVyKHBhcmFtLm5hbWUpO2Nhc2UiYm9vbCI6cmV0dXJuIG5ldyBib29sZWFuXzEuQm9vbGVhbkNvZGVyKHBhcmFtLm5hbWUpO2Nhc2Uic3RyaW5nIjpyZXR1cm4gbmV3IHN0cmluZy5TdHJpbmdDb2RlcihwYXJhbS5uYW1lKTtjYXNlImJ5dGVzIjpyZXR1cm4gbmV3IGJ5dGVzLkJ5dGVzQ29kZXIocGFyYW0ubmFtZSk7Y2FzZSJhcnJheSI6cmV0dXJuIG5ldyBhcnJheS5BcnJheUNvZGVyKHRoaXMuX2dldENvZGVyKHBhcmFtLmFycmF5Q2hpbGRyZW4pLHBhcmFtLmFycmF5TGVuZ3RoLHBhcmFtLm5hbWUpO2Nhc2UidHVwbGUiOnJldHVybiBuZXcgdHVwbGUuVHVwbGVDb2RlcigocGFyYW0uY29tcG9uZW50c3x8W10pLm1hcChmdW5jdGlvbihjb21wb25lbnQpe3JldHVybiBfdGhpcy5fZ2V0Q29kZXIoY29tcG9uZW50KX0pLHBhcmFtLm5hbWUpO2Nhc2UiIjpyZXR1cm4gbmV3IF9udWxsLk51bGxDb2RlcihwYXJhbS5uYW1lKX12YXIgbWF0Y2g9cGFyYW0udHlwZS5tYXRjaChwYXJhbVR5cGVOdW1iZXIpO2lmKG1hdGNoKXt2YXIgc2l6ZT1wYXJzZUludChtYXRjaFsyXXx8IjI1NiIpO2lmKHNpemU9PT0wfHxzaXplPjI1Nnx8c2l6ZSU4IT09MCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCAiK21hdGNoWzFdKyIgYml0IGxlbmd0aCIsInBhcmFtIixwYXJhbSl9cmV0dXJuIG5ldyBudW1iZXIuTnVtYmVyQ29kZXIoc2l6ZS84LG1hdGNoWzFdPT09ImludCIscGFyYW0ubmFtZSl9bWF0Y2g9cGFyYW0udHlwZS5tYXRjaChwYXJhbVR5cGVCeXRlcyk7aWYobWF0Y2gpe3ZhciBzaXplPXBhcnNlSW50KG1hdGNoWzFdKTtpZihzaXplPT09MHx8c2l6ZT4zMil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBieXRlcyBsZW5ndGgiLCJwYXJhbSIscGFyYW0pfXJldHVybiBuZXcgZml4ZWRCeXRlcy5GaXhlZEJ5dGVzQ29kZXIoc2l6ZSxwYXJhbS5uYW1lKX1yZXR1cm4gbG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCB0eXBlIiwidHlwZSIscGFyYW0udHlwZSl9O0FiaUNvZGVyLnByb3RvdHlwZS5fZ2V0V29yZFNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gMzJ9O0FiaUNvZGVyLnByb3RvdHlwZS5fZ2V0UmVhZGVyPWZ1bmN0aW9uKGRhdGEsYWxsb3dMb29zZSl7cmV0dXJuIG5ldyBhYnN0cmFjdENvZGVyLlJlYWRlcihkYXRhLHRoaXMuX2dldFdvcmRTaXplKCksdGhpcy5jb2VyY2VGdW5jLGFsbG93TG9vc2UpfTtBYmlDb2Rlci5wcm90b3R5cGUuX2dldFdyaXRlcj1mdW5jdGlvbigpe3JldHVybiBuZXcgYWJzdHJhY3RDb2Rlci5Xcml0ZXIodGhpcy5fZ2V0V29yZFNpemUoKSl9O0FiaUNvZGVyLnByb3RvdHlwZS5nZXREZWZhdWx0VmFsdWU9ZnVuY3Rpb24odHlwZXMpe3ZhciBfdGhpcz10aGlzO3ZhciBjb2RlcnM9dHlwZXMubWFwKGZ1bmN0aW9uKHR5cGUpe3JldHVybiBfdGhpcy5fZ2V0Q29kZXIoZnJhZ21lbnRzLlBhcmFtVHlwZS5mcm9tKHR5cGUpKX0pO3ZhciBjb2Rlcj1uZXcgdHVwbGUuVHVwbGVDb2Rlcihjb2RlcnMsIl8iKTtyZXR1cm4gY29kZXIuZGVmYXVsdFZhbHVlKCl9O0FiaUNvZGVyLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24odHlwZXMsdmFsdWVzKXt2YXIgX3RoaXM9dGhpcztpZih0eXBlcy5sZW5ndGghPT12YWx1ZXMubGVuZ3RoKXtsb2dnZXIudGhyb3dFcnJvcigidHlwZXMvdmFsdWVzIGxlbmd0aCBtaXNtYXRjaCIsbGliLkxvZ2dlci5lcnJvcnMuSU5WQUxJRF9BUkdVTUVOVCx7Y291bnQ6e3R5cGVzOnR5cGVzLmxlbmd0aCx2YWx1ZXM6dmFsdWVzLmxlbmd0aH0sdmFsdWU6e3R5cGVzOnR5cGVzLHZhbHVlczp2YWx1ZXN9fSl9dmFyIGNvZGVycz10eXBlcy5tYXAoZnVuY3Rpb24odHlwZSl7cmV0dXJuIF90aGlzLl9nZXRDb2RlcihmcmFnbWVudHMuUGFyYW1UeXBlLmZyb20odHlwZSkpfSk7dmFyIGNvZGVyPW5ldyB0dXBsZS5UdXBsZUNvZGVyKGNvZGVycywiXyIpO3ZhciB3cml0ZXI9dGhpcy5fZ2V0V3JpdGVyKCk7Y29kZXIuZW5jb2RlKHdyaXRlcix2YWx1ZXMpO3JldHVybiB3cml0ZXIuZGF0YX07QWJpQ29kZXIucHJvdG90eXBlLmRlY29kZT1mdW5jdGlvbih0eXBlcyxkYXRhLGxvb3NlKXt2YXIgX3RoaXM9dGhpczt2YXIgY29kZXJzPXR5cGVzLm1hcChmdW5jdGlvbih0eXBlKXtyZXR1cm4gX3RoaXMuX2dldENvZGVyKGZyYWdtZW50cy5QYXJhbVR5cGUuZnJvbSh0eXBlKSl9KTt2YXIgY29kZXI9bmV3IHR1cGxlLlR1cGxlQ29kZXIoY29kZXJzLCJfIik7cmV0dXJuIGNvZGVyLmRlY29kZSh0aGlzLl9nZXRSZWFkZXIoKDAsbGliJDEuYXJyYXlpZnkpKGRhdGEpLGxvb3NlKSl9O3JldHVybiBBYmlDb2Rlcn0oKTtleHBvcnRzLkFiaUNvZGVyPUFiaUNvZGVyO2V4cG9ydHMuZGVmYXVsdEFiaUNvZGVyPW5ldyBBYmlDb2Rlcn0pO3ZhciBhYmlDb2RlciQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGFiaUNvZGVyKTt2YXIgaWRfMT1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuaWQ9dm9pZCAwO2Z1bmN0aW9uIGlkKHRleHQpe3JldHVybigwLGxpYiQ0LmtlY2NhazI1NikoKDAsbGliJDgudG9VdGY4Qnl0ZXMpKHRleHQpKX1leHBvcnRzLmlkPWlkfSk7dmFyIGlkPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGlkXzEpO3ZhciBfdmVyc2lvbiRnPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy52ZXJzaW9uPXZvaWQgMDtleHBvcnRzLnZlcnNpb249Imhhc2gvNS43LjAifSk7dmFyIF92ZXJzaW9uJGg9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoX3ZlcnNpb24kZyk7dmFyIGJyb3dzZXJCYXNlNjQ9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLmVuY29kZT1leHBvcnRzLmRlY29kZT12b2lkIDA7ZnVuY3Rpb24gZGVjb2RlKHRleHREYXRhKXt0ZXh0RGF0YT1hdG9iKHRleHREYXRhKTt2YXIgZGF0YT1bXTtmb3IodmFyIGk9MDtpPHRleHREYXRhLmxlbmd0aDtpKyspe2RhdGEucHVzaCh0ZXh0RGF0YS5jaGFyQ29kZUF0KGkpKX1yZXR1cm4oMCxsaWIkMS5hcnJheWlmeSkoZGF0YSl9ZXhwb3J0cy5kZWNvZGU9ZGVjb2RlO2Z1bmN0aW9uIGVuY29kZShkYXRhKXtkYXRhPSgwLGxpYiQxLmFycmF5aWZ5KShkYXRhKTt2YXIgdGV4dERhdGE9IiI7Zm9yKHZhciBpPTA7aTxkYXRhLmxlbmd0aDtpKyspe3RleHREYXRhKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGRhdGFbaV0pfXJldHVybiBidG9hKHRleHREYXRhKX1leHBvcnRzLmVuY29kZT1lbmNvZGV9KTt2YXIgYnJvd3NlckJhc2U2NCQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGJyb3dzZXJCYXNlNjQpO3ZhciBsaWIkOT1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuZW5jb2RlPWV4cG9ydHMuZGVjb2RlPXZvaWQgMDtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiZGVjb2RlIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBicm93c2VyQmFzZTY0LmRlY29kZX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiZW5jb2RlIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBicm93c2VyQmFzZTY0LmVuY29kZX19KX0pO3ZhciBpbmRleCQ5PWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGxpYiQ5KTt2YXIgZGVjb2Rlcj1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMucmVhZF9lbW9qaV90cmllPWV4cG9ydHMucmVhZF96ZXJvX3Rlcm1pbmF0ZWRfYXJyYXk9ZXhwb3J0cy5yZWFkX21hcHBlZF9tYXA9ZXhwb3J0cy5yZWFkX21lbWJlcl9hcnJheT1leHBvcnRzLnNpZ25lZD1leHBvcnRzLnJlYWRfY29tcHJlc3NlZF9wYXlsb2FkPWV4cG9ydHMucmVhZF9wYXlsb2FkPWV4cG9ydHMuZGVjb2RlX2FyaXRobWV0aWM9dm9pZCAwO2Z1bmN0aW9uIGZsYXQoYXJyYXksZGVwdGgpe2lmKGRlcHRoPT1udWxsKXtkZXB0aD0xfXZhciByZXN1bHQ9W107dmFyIGZvckVhY2g9cmVzdWx0LmZvckVhY2g7dmFyIGZsYXREZWVwPWZ1bmN0aW9uKGFycixkZXB0aCl7Zm9yRWFjaC5jYWxsKGFycixmdW5jdGlvbih2YWwpe2lmKGRlcHRoPjAmJkFycmF5LmlzQXJyYXkodmFsKSl7ZmxhdERlZXAodmFsLGRlcHRoLTEpfWVsc2V7cmVzdWx0LnB1c2godmFsKX19KX07ZmxhdERlZXAoYXJyYXksZGVwdGgpO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gZnJvbUVudHJpZXMoYXJyYXkpe3ZhciByZXN1bHQ9e307Zm9yKHZhciBpPTA7aTxhcnJheS5sZW5ndGg7aSsrKXt2YXIgdmFsdWU9YXJyYXlbaV07cmVzdWx0W3ZhbHVlWzBdXT12YWx1ZVsxXX1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGRlY29kZV9hcml0aG1ldGljKGJ5dGVzKXt2YXIgcG9zPTA7ZnVuY3Rpb24gdTE2KCl7cmV0dXJuIGJ5dGVzW3BvcysrXTw8OHxieXRlc1twb3MrK119dmFyIHN5bWJvbF9jb3VudD11MTYoKTt2YXIgdG90YWw9MTt2YXIgYWNjPVswLDFdO2Zvcih2YXIgaT0xO2k8c3ltYm9sX2NvdW50O2krKyl7YWNjLnB1c2godG90YWwrPXUxNigpKX12YXIgc2tpcD11MTYoKTt2YXIgcG9zX3BheWxvYWQ9cG9zO3Bvcys9c2tpcDt2YXIgcmVhZF93aWR0aD0wO3ZhciByZWFkX2J1ZmZlcj0wO2Z1bmN0aW9uIHJlYWRfYml0KCl7aWYocmVhZF93aWR0aD09MCl7cmVhZF9idWZmZXI9cmVhZF9idWZmZXI8PDh8Ynl0ZXNbcG9zKytdO3JlYWRfd2lkdGg9OH1yZXR1cm4gcmVhZF9idWZmZXI+Pi0tcmVhZF93aWR0aCYxfXZhciBOPTMxO3ZhciBGVUxMPU1hdGgucG93KDIsTik7dmFyIEhBTEY9RlVMTD4+PjE7dmFyIFFSVFI9SEFMRj4+MTt2YXIgTUFTSz1GVUxMLTE7dmFyIHJlZ2lzdGVyPTA7Zm9yKHZhciBpPTA7aTxOO2krKylyZWdpc3Rlcj1yZWdpc3Rlcjw8MXxyZWFkX2JpdCgpO3ZhciBzeW1ib2xzPVtdO3ZhciBsb3c9MDt2YXIgcmFuZ2U9RlVMTDt3aGlsZSh0cnVlKXt2YXIgdmFsdWU9TWF0aC5mbG9vcigoKHJlZ2lzdGVyLWxvdysxKSp0b3RhbC0xKS9yYW5nZSk7dmFyIHN0YXJ0PTA7dmFyIGVuZD1zeW1ib2xfY291bnQ7d2hpbGUoZW5kLXN0YXJ0PjEpe3ZhciBtaWQ9c3RhcnQrZW5kPj4+MTtpZih2YWx1ZTxhY2NbbWlkXSl7ZW5kPW1pZH1lbHNle3N0YXJ0PW1pZH19aWYoc3RhcnQ9PTApYnJlYWs7c3ltYm9scy5wdXNoKHN0YXJ0KTt2YXIgYT1sb3crTWF0aC5mbG9vcihyYW5nZSphY2Nbc3RhcnRdL3RvdGFsKTt2YXIgYj1sb3crTWF0aC5mbG9vcihyYW5nZSphY2Nbc3RhcnQrMV0vdG90YWwpLTE7d2hpbGUoKChhXmIpJkhBTEYpPT0wKXtyZWdpc3Rlcj1yZWdpc3Rlcjw8MSZNQVNLfHJlYWRfYml0KCk7YT1hPDwxJk1BU0s7Yj1iPDwxJk1BU0t8MX13aGlsZShhJn5iJlFSVFIpe3JlZ2lzdGVyPXJlZ2lzdGVyJkhBTEZ8cmVnaXN0ZXI8PDEmTUFTSz4+PjF8cmVhZF9iaXQoKTthPWE8PDFeSEFMRjtiPShiXkhBTEYpPDwxfEhBTEZ8MX1sb3c9YTtyYW5nZT0xK2ItYX12YXIgb2Zmc2V0PXN5bWJvbF9jb3VudC00O3JldHVybiBzeW1ib2xzLm1hcChmdW5jdGlvbih4KXtzd2l0Y2goeC1vZmZzZXQpe2Nhc2UgMzpyZXR1cm4gb2Zmc2V0KzY1NzkyKyhieXRlc1twb3NfcGF5bG9hZCsrXTw8MTZ8Ynl0ZXNbcG9zX3BheWxvYWQrK108PDh8Ynl0ZXNbcG9zX3BheWxvYWQrK10pO2Nhc2UgMjpyZXR1cm4gb2Zmc2V0KzI1NisoYnl0ZXNbcG9zX3BheWxvYWQrK108PDh8Ynl0ZXNbcG9zX3BheWxvYWQrK10pO2Nhc2UgMTpyZXR1cm4gb2Zmc2V0K2J5dGVzW3Bvc19wYXlsb2FkKytdO2RlZmF1bHQ6cmV0dXJuIHgtMX19KX1leHBvcnRzLmRlY29kZV9hcml0aG1ldGljPWRlY29kZV9hcml0aG1ldGljO2Z1bmN0aW9uIHJlYWRfcGF5bG9hZCh2KXt2YXIgcG9zPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHZbcG9zKytdfX1leHBvcnRzLnJlYWRfcGF5bG9hZD1yZWFkX3BheWxvYWQ7ZnVuY3Rpb24gcmVhZF9jb21wcmVzc2VkX3BheWxvYWQoYnl0ZXMpe3JldHVybiByZWFkX3BheWxvYWQoZGVjb2RlX2FyaXRobWV0aWMoYnl0ZXMpKX1leHBvcnRzLnJlYWRfY29tcHJlc3NlZF9wYXlsb2FkPXJlYWRfY29tcHJlc3NlZF9wYXlsb2FkO2Z1bmN0aW9uIHNpZ25lZChpKXtyZXR1cm4gaSYxP35pPj4xOmk+PjF9ZXhwb3J0cy5zaWduZWQ9c2lnbmVkO2Z1bmN0aW9uIHJlYWRfY291bnRzKG4sbmV4dCl7dmFyIHY9QXJyYXkobik7Zm9yKHZhciBpPTA7aTxuO2krKyl2W2ldPTErbmV4dCgpO3JldHVybiB2fWZ1bmN0aW9uIHJlYWRfYXNjZW5kaW5nKG4sbmV4dCl7dmFyIHY9QXJyYXkobik7Zm9yKHZhciBpPTAseD0tMTtpPG47aSsrKXZbaV09eCs9MStuZXh0KCk7cmV0dXJuIHZ9ZnVuY3Rpb24gcmVhZF9kZWx0YXMobixuZXh0KXt2YXIgdj1BcnJheShuKTtmb3IodmFyIGk9MCx4PTA7aTxuO2krKyl2W2ldPXgrPXNpZ25lZChuZXh0KCkpO3JldHVybiB2fWZ1bmN0aW9uIHJlYWRfbWVtYmVyX2FycmF5KG5leHQsbG9va3VwKXt2YXIgdj1yZWFkX2FzY2VuZGluZyhuZXh0KCksbmV4dCk7dmFyIG49bmV4dCgpO3ZhciB2WD1yZWFkX2FzY2VuZGluZyhuLG5leHQpO3ZhciB2Tj1yZWFkX2NvdW50cyhuLG5leHQpO2Zvcih2YXIgaT0wO2k8bjtpKyspe2Zvcih2YXIgaj0wO2o8dk5baV07aisrKXt2LnB1c2godlhbaV0rail9fXJldHVybiBsb29rdXA/di5tYXAoZnVuY3Rpb24oeCl7cmV0dXJuIGxvb2t1cFt4XX0pOnZ9ZXhwb3J0cy5yZWFkX21lbWJlcl9hcnJheT1yZWFkX21lbWJlcl9hcnJheTtmdW5jdGlvbiByZWFkX21hcHBlZF9tYXAobmV4dCl7dmFyIHJldD1bXTt3aGlsZSh0cnVlKXt2YXIgdz1uZXh0KCk7aWYodz09MClicmVhaztyZXQucHVzaChyZWFkX2xpbmVhcl90YWJsZSh3LG5leHQpKX13aGlsZSh0cnVlKXt2YXIgdz1uZXh0KCktMTtpZih3PDApYnJlYWs7cmV0LnB1c2gocmVhZF9yZXBsYWNlbWVudF90YWJsZSh3LG5leHQpKX1yZXR1cm4gZnJvbUVudHJpZXMoZmxhdChyZXQpKX1leHBvcnRzLnJlYWRfbWFwcGVkX21hcD1yZWFkX21hcHBlZF9tYXA7ZnVuY3Rpb24gcmVhZF96ZXJvX3Rlcm1pbmF0ZWRfYXJyYXkobmV4dCl7dmFyIHY9W107d2hpbGUodHJ1ZSl7dmFyIGk9bmV4dCgpO2lmKGk9PTApYnJlYWs7di5wdXNoKGkpfXJldHVybiB2fWV4cG9ydHMucmVhZF96ZXJvX3Rlcm1pbmF0ZWRfYXJyYXk9cmVhZF96ZXJvX3Rlcm1pbmF0ZWRfYXJyYXk7ZnVuY3Rpb24gcmVhZF90cmFuc3Bvc2VkKG4sdyxuZXh0KXt2YXIgbT1BcnJheShuKS5maWxsKHVuZGVmaW5lZCkubWFwKGZ1bmN0aW9uKCl7cmV0dXJuW119KTtmb3IodmFyIGk9MDtpPHc7aSsrKXtyZWFkX2RlbHRhcyhuLG5leHQpLmZvckVhY2goZnVuY3Rpb24oeCxqKXtyZXR1cm4gbVtqXS5wdXNoKHgpfSl9cmV0dXJuIG19ZnVuY3Rpb24gcmVhZF9saW5lYXJfdGFibGUodyxuZXh0KXt2YXIgZHg9MStuZXh0KCk7dmFyIGR5PW5leHQoKTt2YXIgdk49cmVhZF96ZXJvX3Rlcm1pbmF0ZWRfYXJyYXkobmV4dCk7dmFyIG09cmVhZF90cmFuc3Bvc2VkKHZOLmxlbmd0aCwxK3csbmV4dCk7cmV0dXJuIGZsYXQobS5tYXAoZnVuY3Rpb24odixpKXt2YXIgeD12WzBdLHlzPXYuc2xpY2UoMSk7cmV0dXJuIEFycmF5KHZOW2ldKS5maWxsKHVuZGVmaW5lZCkubWFwKGZ1bmN0aW9uKF8sail7dmFyIGpfZHk9aipkeTtyZXR1cm5beCtqKmR4LHlzLm1hcChmdW5jdGlvbih5KXtyZXR1cm4geStqX2R5fSldfSl9KSl9ZnVuY3Rpb24gcmVhZF9yZXBsYWNlbWVudF90YWJsZSh3LG5leHQpe3ZhciBuPTErbmV4dCgpO3ZhciBtPXJlYWRfdHJhbnNwb3NlZChuLDErdyxuZXh0KTtyZXR1cm4gbS5tYXAoZnVuY3Rpb24odil7cmV0dXJuW3ZbMF0sdi5zbGljZSgxKV19KX1mdW5jdGlvbiByZWFkX2Vtb2ppX3RyaWUobmV4dCl7dmFyIHNvcnRlZD1yZWFkX21lbWJlcl9hcnJheShuZXh0KS5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEtYn0pO3JldHVybiByZWFkKCk7ZnVuY3Rpb24gcmVhZCgpe3ZhciBicmFuY2hlcz1bXTt3aGlsZSh0cnVlKXt2YXIga2V5cz1yZWFkX21lbWJlcl9hcnJheShuZXh0LHNvcnRlZCk7aWYoa2V5cy5sZW5ndGg9PTApYnJlYWs7YnJhbmNoZXMucHVzaCh7c2V0Om5ldyBTZXQoa2V5cyksbm9kZTpyZWFkKCl9KX1icmFuY2hlcy5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGIuc2V0LnNpemUtYS5zZXQuc2l6ZX0pO3ZhciB0ZW1wPW5leHQoKTt2YXIgdmFsaWQ9dGVtcCUzO3RlbXA9dGVtcC8zfDA7dmFyIGZlMGY9ISEodGVtcCYxKTt0ZW1wPj49MTt2YXIgc2F2ZT10ZW1wPT0xO3ZhciBjaGVjaz10ZW1wPT0yO3JldHVybnticmFuY2hlczpicmFuY2hlcyx2YWxpZDp2YWxpZCxmZTBmOmZlMGYsc2F2ZTpzYXZlLGNoZWNrOmNoZWNrfX19ZXhwb3J0cy5yZWFkX2Vtb2ppX3RyaWU9cmVhZF9lbW9qaV90cmllfSk7dmFyIGRlY29kZXIkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhkZWNvZGVyKTt2YXIgaW5jbHVkZT1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuZ2V0RGF0YT12b2lkIDA7ZnVuY3Rpb24gZ2V0RGF0YSgpe3JldHVybigwLGRlY29kZXIucmVhZF9jb21wcmVzc2VkX3BheWxvYWQpKCgwLGxpYiQ5LmRlY29kZSkoIkFFUUYyQU8yREVzQTJ3SXJBR3NCUkFCeEFOOEFad0NjQUV3QXFnQTBBR3dBVWdCeUFEY0FUQUFWQUZZQUlRQXlBQ0VBS0FBWUFGZ0FHd0FqQUJRQU1BQW1BRElBRkFBZkFCUUFLd0FUQUNvQURnQWJBQThBSFFBWUFCb0FHUUF4QURnQUxBQW9BRHdBRXdBOUFCTUFHZ0FSQUE0QUR3QVdBQk1BRmdBSUFBOEFIZ1FYQllNQTVCSEpBUzhKdEFZb0FlNEFFeG96aTBVQUgyMXRBYU1uQlQ4Q3JuSXlock1EaFJnRHlnSUJVQUVIY29GSFVQZThBWEJqQWV3Q2pnRFFSOElJQ0ljRWNRTHdBVFhDRGd6dkh3Qm1Cb0hOQXFzQmRCY1VBeWtnRGhBTVNoc2tNZ284QVk4anFBUWZBVUFmSHc4QkR3ODdNaW9HbENJUEJ3WkNhNEVMYXRNQUFNc3BKVmdzRGw4QUloY2tTZzhYQUhkdlR3QmNJUUVpRFQ0T1BoVXFieUVDQUVvQVMzNEFlajhZYng4M0pnVC9YdzhnSHhaLzd3OFJJQ3hQSEE5dkJ3K1BmdzhQSHdBUEZ2K2ZBc0F2Q2M4dkVyOGl2d0QvRVE4Qm9sOE9FQmEvQTc4aHJ3QVBDVTh2RVNOdnZ3V2ZId05mQVZvREhyK1pBQUVEMzRZYUFkSlBBSzdQTHdTRWdETEhBR28xUHo4UHZ4OWZVd01ycGI4Ty81OFZUekFQSUJvWEl5UUpORjhocHdJVkFUOFlHQVVBREROQmFYM1JBTW9tSkNnOUVoVWVBMjlNQUJzWkJUTU5KaXBqT2hjMTlnY0lEUjhiQndRSEVnZ0NXaTZESWdMdUFRWUErQkFGQ2hhM0E1WGlBRXNxTTdVRkZnRkxoQU1qRlRNWUUxS2xudzc0blJWQkcvQVNDbTBCWVJOL0Jyc1UzVm9XeStTMHZWOExReCt2TjhnRjJBQzJBSzVFQVd3QXBnWURLbUFBcm9RME5EUTBBVCtPQ2c3d0FBSUhSQWJwTmdWY0JWMEFQVEE1QmZiUEZnTUx6Y1lML1FxcUE4MmVCQUxLQ2pRQ2pxWUNodDAvazIrT0FzWFFBb1AzQVNUS0RnRHc2QUNLQVVZQ01wSUtKcFJhQUU0QTV3b21BQnpadnMwUkVFS2lBQ0lRQWQ1UWRBRUNBajRZd2cvd0dxWTJBVmdBWUFEWXZBb0NHQUV1YkEwZ3ZBWTJBTEFBYnBidnFweUVBR0FFcGdRQUpnQUc3Z0FnQUVBQ21naFVGd0NxQU1wQUlOUUl3QzREdGhSQUFQY3ljS2dBcG9JZEFCd0JmQ2lzQUJvQVR3QnFBU0lBdmhuU0JQOGFIL0VDZUFLWEFxNDBOamdEQlR3RllRVTZBWHMzb0FCZ0FENFhOZ21jQ1kxZUNsNXRJRlplVXFHZ3lvTkhBQmdBRVFBYUFCTndXUUFtQUJNQVRQTWEzVDM0QURsZHlwcm1NMU0yWG9jaVVRZ0x6dndBWFQzeEFCZ0FFUUFhQUJOd0lHRkFuQUREOEFBZ0FENEJCSld6YUNjSUFJRUJGTUFXd0tvQUFkcTlCV0FGNXdMUXBBTEV0UUFLVVNHa2FoUjRHbkpNK2dzQXdDZ2VGQWlVQUVDUTBCUXVMOEFBSUFBQUFES2VJaGVjbHZGcVFBQUVUcjRpQU14SUFSTWdBTUlvSGhRSUFuMEUwcERRRkM0SGh6bm9BQUFBSUFJMkMwLzRsdkZxUUFBRVRnQkpKd1lDQXk0QUJnWUFGQUE4TUJLWUVINGVSaFRrQWpZZUZjZ0FDQVlBZUFCc09xeVE1Z1J3RGF5cXVnRWdhSUlBdGdvQUNnRG1FQUJtQkFXR21lNU9CSkpBMm00Y0Rlb0FtSVRXQVh3ck1nT2dBR3dCQ2g2Q0JYWUYxVHpnMXdLQUFGZGl1QUJSQUZ3QVhRQnNBRzhBZGdCckFIWUFid0NFQUhFd2Z4UUJWRTVURVFBRFZGaFRCd0JEQU5JTEFxY0N6Z0xUQXBRQ3JRTDZ2QUFNQUw4QVBMaE5CS2tFNmdsR0tUQVU0RHI0TjJFWUV3QkNrQUJLazhySEFiWUJtd0lvQWlVNEFqZi9BcTRDb3dDQUFOSUNoemdhTkJzQ3NUZ2VPRGNGWHJnQ2xRS2RBcVFCaVFHWUFxc0NzalRzTkhzZk5QQTBpeHNBV1RXaU9BTUZQRFFTTkNrMkJEWkhOb3cyVFRaVU5oazI4Sms5VnpJM1FrRW9Bb0lDb1FLd0FxY0FRQUF4QlY0RlhiUzlCVzQ3WWtJWFAxY2lVcXMwNURTL0Z3QUJVd0pXMTFlNm5IdVlabVNoL1JBWUE4b01Ldlo4S0FTb1VBSllXQUo2SUxBc0FaU29xanBnQTBvY0JJaG1EZ0RXQUFhd1JEUW9BQWN1QWo1aUFIQUJaaVIyQUlnaUhnQ2FBVTY4QUN4dUhBRzB5Z004TWlaSUFsZ0JkRjRHYWdKcUFQWk9IQU11QmdvQVRrWUFzQUJpQUhnQU1Mb0dEUGowSHBLRUJBQU9KZ0F1QUxnZ1RBSFdBZUFNRURiZDIwVWVnZTBBRHdBV0FEa0FRZ0E5T0hkKzJNVVFaQkJoQmdOTkRreHhQeFVRQXJFUHF3dnFFUm9NMWlyUTA5MEFOSzRIOEFOWUIvQURXQU5ZQi9BSDhBTllCL0FEV0FOWUExZ0RXQndQOEIvWXhSQmtEMDBFY2dXVEJaQUUyd2lJSms0UmhnY3RDTmRVRW5RakhFd0RTZ0VCSXlwSklUdVlNeEFsUjB3UlRRZ0lBVFpIYkt4OVBRTk1NYkJVK3BDbkE5QXlWRGx4QmdNZWRoS2xBQzhQZUNFMXVrNkRla3h4cFFwUVQ3Tlg5d0JGQmdBU3F3QVM1Z0JKRFNnQVVDd0dQUUJJNHpUWUFCTkdBRTJiQUUzS0FFeGRHQUJLYUFiZ0FGQlhBRkNPQUZCSkFCSTJTV2RPYkFMRE9xMC8vUW9tQ1podndIZFRCa0lRSENlbUVQZ01OQUcyQVR3TjdrdlpCUElHUEFUS0gzNFpHZy9PbFowSXBpM2VETzRtNUM2aWdGc2o5aXFFQmU1TDlUemVDMDVSYVE5YUMyWUo1RHBrZ1U4RElnRU9Jb3dLM2cwNkNHNFE5QXJLYkEzbUVVWUhPZ1BXU1pzQXBnY0NDeElkTmhXMkpoRmlyUXNLT1hnRy9CcjNDNUFtc0JNcWV2MEYxQm9pQms0Qktoc0FBTkF1NklXeFdqSmNIVTlnQmdRTEppUElGS2xRSVEwbVFMaDRTUm9jQnhZbHFnS1NRM0ZLaUZFM0hwUWg5encrRFdjdUZGRjlCL1k4QmhsUUM0SThuMGFzUlE4UjB6Nk9QVWtpU2t3dEJEYUFMREFuakFuUUQ0WU11bnh6QVZvSklnbXlESElUTWhFWU44WUlPZ2NhTHBjbEp4WUlJa2FXWUpzRStLQUQ5QlBTQXd3RlFBbENCeFFEdGh3dUV5OFZLZ1VPZ1NYWUF2UTIxaTYwQXBCV2dRRVlCY3dQSmgvZ0VGRkg0UTdxQ0p3Q1pnT0VKZXdBTGhVaUFCZ2luQWhFWkFCZ2o5bFRCaTdNQ01ocWJTTjFBMmdVNkdJUmRBZVNEbGdIcUJ3MEZjQWM0bkRKWGd5R0NTaWtzQWxjQVhZSm1nRmdCT1FJQ2pWY2pLRWdRbWRVaTFrWW5DQmlRVUJkL1FJeURHWVZvRVMraDNrQ2pBOXNFaHdCTmdGMEJ6b05BZ0o0RWU0UmJCQ1dDT3lHQlRXMk0vazZKZ1JRSVlRZ0Vnb29BMUJzendzb0p2b00rV29CcEJKakF3MDBQbmZ2WjZ4Z3R5VVgvZ2NhTXNaQllTSHlDNU5Qemd5ZEdzSVlRMVF2R2VVSHdBUDBHdlFuNjBGWUJnQURwQVFVT2s0ejd3UytDMm9JakFsQUFFb09wQmdIMkJockNuS00wUUV5akFHNG1nTllrb1FDY0pBR09BY01BR2dNaUFWNjVnQWVBcWdJcEFBR0FOQURXQUE2QXE0SG5nQWFBSVpDQVQ0REtEQUJJdVlDa0FPVUNETE1BWll3QWZRcUJCekVEQllBK0RodVN3TERzZ0tBYTJhakJkNVpBbzhDU2pZQlRpWUVCazlJVWdPd2N1SUEzQUJNQmhUZ1NBRVdyRXZNRytSRUFlQndMQURJQVB3QUJqWUhCa0lCemdIMGJnQzRBV0FMTWdtanRMWUJUdW9xQUlRQUZtd0IyQUtLQU40QU5nQ0E4Z0ZVQUU0Rld2b0YxQUpRU2dFU01oa3NXR0lCdkFNZ0FUUUJEZ0I2QnN5T3Bzb0lJQVJ1QjlRQ0VCd1Y0Z0x2THdlMkFnTWk0QlBPUXNZQ3ZkOVdBRElYVXU1ZVp3cW9DcWRlYUFDMFlUUUhNbk05VVFBUEg2ayt5QWR5L0JaSWlRSW1Td0JRNWdCUVF6U2FOVEZXU1RZQnB3R3FLUUszOEFGdHF3Qkkvd0szN2dLM3JRSzNzQUs2MjgwQzBnSzMzQUszenhBQVVFSUFVRDlTa2xLREFyZWtBcnc1QUVRQXpBSENPMTQ3V1R0ZU8xazdYanRaTzE0N1dUdGVPMWtEbUNoWUkwM0FWVTBvSnFrS2JWOUdZZXdNcHczVlJNazZTaFBjWUZKZ014UEpMYmdVd2hYUEpWY1pQaHE5SndZbDVWVUtEd1V0MUdZeENDMDBkaGU5QUVBcGFZTkNZNGNlTVFwTUhPaFRrbFQ1TFJ3QXNrdWpNN0FOclJzV1JFRUZTSFh1WWlzV0R3b2pBbVNDQW1KRFhFNndYRGNoQXFINEFtaVpBbVlLQXArRk9Cd01BbVk4QW1ZbkJHOEVnQU4vRkFOK2t6a0hPWGdZT1lNNkpDUUNiQjRDTWpjNEN3SnR5QUp0ci9DTEFEUm9SaXdCYUFEZkFPSUFTd1lIbVF5T0FQOE13d0FPdGdKM01BSjJvMEFDZVV4RUFuaTdIbDNjUmE5RzlBSjhRQUo2eVFKOUNnSjg4VWdCU0g1a0pRQXNGa2xaU2x3V0dFck5BdEVDQXRETlN5Z0RpRkFEaCtkRXhwRXpBdktpWFFRREE2OUx6MHd1SmdUUVRVMU5zQUtMUUFLSzJjSWNDQjVFYUFhNEFvNDRBbzVkUVppQ0FvN2FBbzVkZVZHMVV6WUxVdFZVaGdLVC9BS1REUURxQUIxVkgxV3dWZEVITEJ3cGxvY3k0bmhuUlR3NkFwZWdBdSt6V0NLcEFGb21BcGFRQXBaOW5RQ3FXYTFhQ29KT0FEd0NscllDbGs5Y1JWelNBcG5NQXBsbFhNdGRDQm9Dbkp3NXd6cWVBcHdYQXArY0FwNjVpd0FlRURJckVBS2Q4Z0tla3dDMlBtRTFZZkFDbnRRQ29HOEJxZ0tlb0NBQ25rK21ZOGxrS0NZc0FpZXdBaVovQXFEOEFxQk4yQUttTUFLbHp3S29BQUIrQXFmemFIMW9zZ0FFU21vZGF0SUNyT1FDcks4Q3JXZ0NyUU1DVng0Q1ZkMENzZUxZQXg5UGJKZ0NzcjRPQXJMcEdHemhiV1J0U1dBREpjNEN0bDA4UUc2UkF5bEdBcmhmQXJsSUZnSzVLM2h3TjNEaUFyMGFBeTJ6QXpJU0FyNkpjZ01ETTNJQ3ZodHpJM05RQXNQTUFzTUZjNE4wVERaR2RPRURQS2dEUEpzRFBjQUN4WDBDeGtnQ3hoR0tBc2hxVWdMSVJRTEpVQUxKTHdKa25nTGQwM2g2WW5pdmVTWkwwUU1ZcEdjREFtSDFHZlNWSlhzTVhwTmV2QklDejJ3Q3oyMHdURlRUOUJTZ0FNZXVBczkwQVNyckEwNFRma3dHQXR3b0F0dUxBdEpRQTFKZEExTmdBUUlEVlkyQWlrQUJ6QmZ1WVVaMkFJTFBnNDRDMnNnQzJkK0VFWVJLcHowRGhxWUFNQU5rRDRaeVd2b0FWZ0xmWmdMZXVYUjRBdUl3N1JVQjh6RW9BZlNjQWZMVGlBTHI5QUxwY1hvQUF1cjZBdXJsQVBwSUFib0M3b29DNjUyV3E1Y0VBdTVBQTRYaG1IcHc0WEdpQXZNRUFHb0RqaGVabEFMM0ZBT1Jid09TaUFMM21RTDUyZ0w0WjVvZG1xeThPSnNmQTUyRUF2NzdBUndBT3A4ZG43UURCWTREcG1zRHB0b0Ewc1lEQm11aGlhSUdDZ01NU2dGZ0FTQUN0Z05HQUp3RWdMcG9CZ0M4Qkd6QUVvd2NnZ0NFREM2a2Rqb0FKQU0wQzVJS1JvQUJaQ2dpQUl6dzNBWUJMQUNrZm5nOW9naWdrZ05tV0FONkFFUUN2cmtFVnFUR0F3Q3NCUmJBQSs0aVFrTUNIUjA3MmpJMlBUYlVOc2syUmpZNU52QTIzVFpLTmlVM0VEY1pONUkrUlR4RFJUQkNKa0s1VkJZS0ZoWmZ3UUNXeWdVM0FKQlJIcHUrT3l0Z054YTYxQTQwR01zWWpzbjdCVndGWFFWY0JWMEZhQVZkQlZ3RlhRVmNCVjBGWEFWZEJWd0ZYVXNhQ055S0FLNEFBUVVIQndLVTdvSUNvVzFlN2pBRXpnUHhBK1lEd2dDa0JGREF3QURBQkt6QUFPeEZMaGl0QTFVRlREZXlQa00rYmo1MVFrUkN1d1RRV1dROFgrMEFXQll6c0FDTkE4eHd6QUdtN0VaL1Fpc29DVEFiTERzNmZuTGZiOEgyR2Njc2JnRncxM00xSEFWa0JXL0p4c205Q05STzhFOEZERDBGQlF3OUZrY0NsT1lDb01GZWdwRGZBRGdjTWlBMkFKUUFDQjhBc2lnS0FJeklFQUpLZUJJQXBZNXlQWlFJQUtRaUhiNGZ2ajVCS1NSUFFyWkNPejBvWHl4Z095d2ZLQW5HYmdNQ2xRYUNBa0lMWGdkZUNEOUlJR1VnUWo1ZlBvWStkVDUyQW81Q00wZEFYOUJUVkc5U0R6RndXVFFBYnhCekpGL2xPRUlRUWdsQ0NrS0pJQWxzNUFjQ2xRSUNvS1BNT0RFRnhoaTZLU0FiaXlmSVJyTWp0Q2dkV0NBa1BsRkJJaXRDc0VKUnpBYk1BVi9PRXlRekRnME9BUVFFSjM2aTMyOC9NazlBeWJESnNRbHEzdERSQXBVS0FrRnpYZjFkL2o5dUFMWVA2aENvRmdDVEdEOGtQc0ZLUWlvYnJtMCt6ajBLU0Q4a1BuVkNSQndNRHlKUlRIRmdNVEphNXJ3WFFpUTJZZkkvSkQ3Qk1FSkVIR0lOVHc0VE9GbElSendKTzBpY01RcHlQeVErd3pKQ1JCdjZEVmduS0IwMU5nVUtqMmJ3WXpNcUNvQmt6bkJnRUYrellESW9jd1JJWCtOZ0hqNEhJQ05maDJDNEN3ZHdGV3BURy9sZ1VoWUdBd1JmdjJUczhtQWFYelZnbWwvWFlJSmZ1V0M0SEkxZ1VGOXBZSlpnTVI2aWxRSE1BT3dMQWxEUmVmQzBpbjRBWEFFSkE2UGpDd2MwSWFtT0FOTU1DQUVDUlFERk5SVFpCZ2QrQ3dRbFJBK3I2K2dMQkRFRkJud1VCWGdLQVRJQXJ3QUdSQUFIQTNjRGRBTjJBM2tEZHdOOUEzb0RkUU43QTMwRGZBTjRBM29EZlFBWUVBQWxBdFlBU3dNQVVBRnNBSGNLQUhjQW1nQjNBSFVBZFFCMkFIVnU4VWdBeWdEQUFIY0FkUUIxQUhZQWRRQUxDZ0IzQUFzQW1nQjNBQXNDT3dCM0FBdHU4VWdBeWdEQUFIZ0tBSm9BZHdCM0FIVUFkUUIyQUhVQWVBQjFBSFVBZGdCMWJ2RklBTW9Bd0FBTENnQ2FBSGNBQ3dCM0FBc0NPd0IzQUF0dThVZ0F5Z0RBQUg0QUN3R2dBTGNCcHdDNkFhaGRBdTBDT3dMdGJ2RklBTW9Bd0FBTENnQ2FBdTBBQ3dMdEFBc0NPd0x0QUF0dThVZ0F5Z0RBQTI0QUN3TnZBQXUwVnNRQUF6c0FBQkNralVJcEFBc0FVSXVzT2dnV2NnTWVCeFZzR3dMNjdVLzJIbHptV09FZU9nQUxBU3Z1QUFzZUFmcEtVcG5wR2dZSkRDSVpNNll5QVJVRTlUaHFBRDVpWFFnbkFKWUpQbk96dzBaQUVaeEVLc0lBa0E0RGhBSG5UQUlEeHhVREswbHhDUWxQWWdJdklRVllKUUJWcUUxR2FrVUFLR1lpRFRvU0JBMUV0QVlBWFFKWUFJRjhHZ01IUnlBQUlBak9lOVluY2VrUkFBMEtBQ1VyandFN0F5YzZBQVlXQXFhaUtHNE1jRWNxQU5vTjMrTWc5VHdDQmhJa3VDbnkrSndVUTI5TDAwOEpsdVJ4dTNLK29BZHFpSE9xRkgwQUc1U1VJZlVKNVN4Q0dmeGRpcFJ6cVRtVDRWNVpiK3IxVW80Vm0rTnFTU0VsMm1OdlIySmhJYThTcFlPNm50ZHdGWEhDV1RDSzhmMitIeG83dWlHM2RyRHljQXVLSU1QNWJoaTA2QUNucUFySDFyejRScWcvL2xtNlNnSkdFVmJGOXhKSElTYVI2SHhxeFNua3c2c2hEbmVsSEtORWZHVVhTSlJKMUdjc210SncyNXhyWk1ESzlnWFNtMS9ZTWtkWDQvNk5LWU9kdGsvTlEzL05uREFTalRjM2ZQaklqVy81c1ZmVk9iWDJvVERXa3IxZEY5ZjNreEJzRDMvM2FRTzhoUGZSeitlMHVFaUpxdDExNjFncml1N2d6OGhERHd0cHkrRitCV3RlZm5LSFpQQXhjWm9XYm56bmhKcHkwZTg0MmozNmJjTnpHbklFdXNnR1gwYThaeHNuamNTc1BEWjA5eVozNmZDUWJyaUhlUTcySlJNSUxObDZlUFBmMkhXb1Z3Z1dBbTFmYjNWMnNBWTArQjZyQVhxU3dQQmdzZVZtb3FzQlRTcm05MStYYXNNWVl5U0k4ZWVSeEgzWnZIa016M0JRNWFKM2lVVmJZUE5NMy83ZW1SdGpsc01ndi85VnlUc3l0L21LKzhmZ1dlVDZTb0ZhY2xYcW40MmRBSXN2QWFyRjV2Tk5XSHpLU2tLUS84SGZrNVpXSzdyOXlsaU9zb295QmpSaGZrSFA0UTJEa1dYUWk2RkcvOXIvSXdibWtWNVQ3SlNvcEhLbjFwSndtOXRiNU90MG95TjFaMm1QcEtYSFR4eDJubEswOGZLazFoRVlBOFdnVlZXTDVsZ3gwaVR2K0tkb2pKZVUyM1pEam1pdWJYT3hWWEpLS2kyV2p1aDJITFpPRkxpU0M3VGxzNVNNaDRmK1BqNnhVU3JOakZxTEdlaFJOQjhsQzBRU0xObWtKSngvd1NHM01uakU5VDFDa1B3Skkwd0gybGZ6d0VUSWlWcVV4ZzBkZnU1cTM5R3QraHdkY3hraGhOdlE0VHlyQmNlb2YzTWhzL0l4RmNpMUhtSHI0Rk1aZ1hFRWN6UGlHQ3gwSFJ3ekFxRHEyajlBVm0xa3dOMG1SVkxXTHlsZ3RvUE5hcEY1Y1k0WTF3SmgvZTBCQndaajQ0WWdackROcXZELzlIdjdHRllkVVFlREp1UTNFV0k0SGFLcWF2VTFYakMvbjQxa1Q0TDc5a3FHcTBrTGhkVFp2Z1AzVEEzZlMwb3pWeis1cGlac29PdEl2QlVGb01LYk5jbUJMNll4eGFVQXVzSEIzOFhyUzhkUU1uUXdKZlVVa3BSb0dyNUFVZVdpY3ZCVHp5SzlnNzcreUNrZjVQQXlzTDdyL0pqY1pncmJ2UnBNVzlpeWF4WnZLTzZjZVpOMkV3SXhLd1ZGUHV2RnVpRVBHQ29hZ2JNbytTcHlkTHJYcUJ6TkNER0ZDck8vcmtjd2EyeGhva1FaNUNkWjBBc1UzSmZTcUo2bjVJMTRZQStQL3VBZ2ZoUFU4NFRsdzdjRUZmcDdBRUU4ZXk0c1AxMlBUdDRDb2RzMUdSZ0RPQjV4dnlpUjVtK0J4OE81bkJDTmN0VThCZXZmVjVBMDh4NlJIZDVqY3dQVE1EU1pKT2VkSVoxY0dRNzA0bHhiQXpxWk9QMDVaeGFPZ2h6U2R2RkJIWXFvbUFUQVJ5QUFESzRlbFA4THkzSXJVWktmV2gyM1h5MjB1QlVtTFM0UGZhZ3U5K295VmEyaVBncVJQM0YyQ1RVc3ZKNytSWW5OOGZGWmJVL0hWdnh2Y0ZGREtraVRxVjVVQlozR3o1NEpBS0J5aTloa0tNWkp2dUdnY1NZWEZtdzA4VXlvUXlWZGZURDEvZE1rQ0hYY1RHQUtlUk9nQXJzdm1SclFUTFVPWGlvT0hHSzJRa2pIdW9ZRmdYY2lab1RKZDZGczVxMVFYMUcrcC9lMjZoWXNFZjdRWkQxbm5JeWwvU0ZrTnRZWW1tQmhwQnJ4bDlXYlkwWXBIV1J1dzJMbC90ajltRDhQNHNuVnpKbDRGOUorMWFyVmVUYjlFNXIySUxIMDRxU3RqeFFOd24zbTRZTnF4bWFOYkxBcVcyVE42TGlkd3VKUnFTK05YYnRxeG9lRFhweGVHV214elNrV3hqa3lDa1g0TlFSbWU2cTVTQWNDK003KzlFVGZBL0V3cnpRYWpLYWtDd1l5ZXVuUDZaRmx4VTJvTUVuMVB6MzF6ZVN0Vzc0RzQwNlpKRkNsMXdBWElvVUtrV290WUVwT3VYQjF1Vk54SjYzZHBKRXFmeEJlcHR3SUhOclB6OEJsbFpvSWNCb1h3Z2ZKKzhWQVVuVlB2UnZleG53ME1hL1dpR1l1Sk81eThRVHZFWUJpZ0ZtaFV4WTVScXpFOE9jeXdOLzhtNFVZcmxhbmlKTzc1WFE2S1NvOSt0V0hsdStoTWkwVVZkaUtRcDdOZWxub1pVek5hSXlCUFZlT3dLNkdOcCtGZkh1UE9veWhhV3VOdlRZRmt2eHNjTVFXRGgremVGQ0ZrZ3diWGZ0aVYyM3l3SjQrdXdScW1nOWszS3p3SVFwenBwdDhEQkJPTWJycXdRTTVHYjA1c0V3ZEt6TWlBcU9sb2FBL2xyMEtBKzFwcjAvK0hpV29pSWpIQS93aXIybkl1UzNQZVUvamkzTzZad294Y1IxU1o5Rmh0TEM1UzBGSXpGaGJCV2NHVlAvS3B4T1BTaVVvQWRXVXBxS0grKzZTY3o1MDdpQ2N4WUk2cmRNQklDUEpaZWE3T2NtZUZ3NW1PYkpTaXFwamcyVW9XTklzK2NGaHlEU3Q2Z2VWNXFnaTNGdW5td3dEb0dTTWdlckZPWkdYMW0wZE1DWW81WE9ydXhPMDYzZHdFTks5RGJuVk05d1lGUkV6aDR2eVUxV1lZSi9MUlJwNm94Z2pxUC9YNWE4LzRBZjZwNk5Xa1FmZXJ6Qm1YbWUwelkvNG53TUptL3dkMXRJcVN3R3orRTN4UEVBT29abEppdDNYZGRENy9CVDFwbGx6T3grOGJtUXRBTlEvUzZmWmV4YzZxaTNXK1EyeGNtWFRVaHVTNW1wSFFSdmN4WlVOMFM1K1BMOWxYV1VBYVJaaEVIOGhUZEFjdU5NTUN1Vk5LVEVHdFNVS05pM082S2hTYVR6Y2s4Y3NaMnZXUlorZDdtVzhjNElLd1hJWWQyNVMveklmdFBrd1B6dWZqRXZPSFdWRDFtK0ZqcERWVVRWMERHRHVIajZRbmFFd0x1L2RFZ2RMUU9nOUUxU3JvOVhISjh5a0xBd3RQdStweHFLRHVGZXhxT04xc0tRbTdyd2JFMUU2OFVDZkEvZXJvdnJUQ0crREJTTmcwbDRnb0RRdlpONnVObGJ5THBjWkF3ajJVY2x5Y3ZMcElaTWd2NHlSbHBiM1l1TWZ0b3pvcmJjR1ZIdC9WZURWMytGZGYxVFAwaXVhQ3NQaTJHNFhlR2hzeUYxdWJWRHhrb0pobW5pUTAvalNnL2VZTUw5S0xmbkNGZ0lTV2twOTFlYXVSM0lRdkVEMG5BUFhLKzZoUENZcytuMytoQ1piaXNrbVZNRzJkYSswRXNaUG9uVWVJWThFYmZ1c1FYanNLL2VGRGFvc2JQakVmUVMwUktHN3lqNUdHNjlNN01lTzFIbWlVWW9jZ3lnSkhMNk0xcXpVRER3VVNtcjk5VjdTZHIyRjNKalFBSlkrRjB5SDMzSXYzK0M5TTM4ZU1MN2dUZ21OdS9yMmJVTWlQdnBZYlo2djEvSWFFU2lyQkhOYTdtUEtuNGRFbVlnN3YvK0hRZ1BOMUc3OWpCUTErc295ZGZEQzJyK2gyQmwvS0ljNUtqTUs3T0g2bmIxakxzTmYwRUhWZTJLQmlFNTFveDYzNnV5RzZMaG8wdDNKMzRMNVFZL2lsRTNtaWthRjRIS1hHMW1HMXJDZXZUMVZ2Nkdhdmx0eG9RZS9iTXJwWnZSZ2duQnhTRVBFZUV6a0VkT3hUblBYSFZqVVlkdzhKWXZqQi9vN0VlZ2MzTWErTlV4TExuc0swa0psaW5QbVVIekhHdHJrNStDQWJWekZPQnFweXkzUVZVbnpURGZDLzBYRDk0L29rSCtPQitpN2c5bG9saFdJalNuZkliK0VxNDNaWE9XbXd2anlWL3FxRCt0MGUrN21URU03NHFQL096dDhubUM3bVJweXU2M09CNEtuVXpGYzA3NFNxb3lQVUFnTSsvVEpHRm82VDQ0RUhuUVU0WDR6NnFhbm5WcWd3L1U3ekNwd2NtWFYxQXViSXJ2T21rS0hhekpBUjU1ZVBqcDV0TEJzTjh2QXFzM05BSGRjRUhPUjJ4UTBsc05BRnpTVXV4RlFDRll2WExaSmRPajlwNGZOcTZwMEhCR1VpazJZemFJNHh5U3k5MUt6aFEwK3ExaGp4dkltUndQUmY3NnRDaGxSa2hSQ2k3NE5YWjlxVU5lSXdQK3M1cCszbTVud1BkTk9IZ1NMRDc5bjdPOW0xbjF1REhpTW50cTRua1l3VjVPWjFFTmJYeEZkNFBncmx2YXZac3lVTzRNcVlscXFuMU84Vy9JMWRFWnE1ZFhocmJFVExhWkliQzJLai9BYS9RTStmcVVPSGRmMHRYQVExaHVaM2NtV0VDV1NYeS80M2ozNStNdnE5eHdzN0pLc2VyaVoxcEVXS2M4cWx6TnJHUFVHY1ZnT2E5Y1BKWUlKc0duSlRBVXNFY0RPRVZVTE81eDByWEJpamMxbGdYRXpRUUtoUk9mOHpJVjgydzhlc3djNzhZWDExS1lMV1FSY2dITkpFbEJ4ZlhyNzJsUzJSQlNsMDdxVEtvck8ydVVEWnIzc0ZoWXN2bmhMWm4wQTk0S1J6Si83REVHSUFoVzVaV0ZwTDhnRXd1MWFMQTlNdVdaek53bDhPemU5WStiWCt2OWd5d1JWbm9CNUkvOGtYVFhVMzE0MXlSTFlySU9PejZTT255SE55NFNpZXF6a0JYaGFyamZqcXExcTZ0a2xhRWJBOFFmbTJEYUlQczdPVHEvbnZKQmpLZk8ySDliSDJjQ01oMSs1Z3NwZnljdThmL2N1dVJtdERqeXFaN3VDSU15amRWM2ErcDNmcW1Yc1J4NEM4bHVqZXpJRkhuUWlWVFhMWHVJMVhyd04zK3NpWVlqMkhIVHZFU1V4OERsT1RYcGFrOXFGUksrTDNtZ0oxV3NEN0Y0Y3UxYUpvRm9ZUW51K3dHRE1PakpNM2tpQlFXSENjdmhKL0hSZHhvZE9RcDQ1WVphT1RBMjJOYjRYS0NWeHFrYndNWUZoellRWUlBbkNXOEZXMTR1Zjk4amhVRzJ6cktoUVEwcTBDRXEwdDVuWHl2VXl2UjhEdkQ2OUxVK2czaStIRldRTVE4UHFadUhEK3NOS0FWMCtNNkVKQzBzenE3ckVyN0I1YlE4QmNOSHp2RE1jOWVxQjVaQ1FkVGY4ME9ibjR1emp3cFlVN1NJU2R0VjBRR2E5RDNXcmgyQkRRdHBCS3hhTkZWKy9DeTJQL1N2KzhzN1VkMEZkNzRYNCtvL1ROenRXZ0VUVWFweSttYWpOUTY4THEzZWUwWk80OFZFYlRaWWlIMUNvNE9sZldlZjgyUldleVVYbzd3b00wM1B5YXBHZmlrVG5RaW5vTnE1ejV2ZUxwZU1WM0hDQU1UYVptQTFvR0xBbjdYUzNYWXN6K1hLN1ZNUXNjNFhLcm1EWE9MVS9wU1hWTlVxOGRJcVRiYS8vLzN4NkxpTFM2eHMxeHVDQVlTZmNRMytyUWdtdTd1dmYzVEhLdDVPb285N1RxY2JScXh4N0VBU2l6YVFDQlFsbEcvcll4VmFwTUxndExiWlM2NHcxTURCTVhYK1BRcEJLTndxVUtPZjJERFJEVVhRZjlFaE9TMFFqNG5UbWxBOGR6U0x6L0cxZCtVZDhNVHkvNmdoaGRpTHBlZXJHWS9VbERPZml1cUZzTVVVNS9VWWxQK0JBbWdSTHVOcHZyVWFMbFZrcnFEaWV2TlZFQXdGKzRDb00xTVpUbWp4akpNc0tKcSt1OFpkN3ROQ1VGeTZMaXlZWFJKUTRWeXZFUUZGYUNHS3N4SXdRa2s3RXpaNkxUSnEyaFV1UGh2QVcrZ1FuU0c2SitNc3pDKzdRQ1JIY25xRGR5TlJKNlQ5eHlTODdBNk1EdXRiektHdkdrdHBiWHF0eld0WGI5SHNmSzJjQk1vbWpOOWE0eStUYUpMblh4QWVYL0hXem1mNGNSNHZBTHQvUDR3NHFnS1kwNG1sNFpkTE9pbkZZUzZjdXAzRy8xaWU0K3QxZU9ucEJObHFHcXM3NWlsemtUNCtEc1pReE52YVNLSi8vNnpJYmJrL003TE9oRm1SYy8xUitrQnR6N0pGR2RabS9DT290SWR2UW9YcFRxUC8xdXFFVW1DYi9RV29HTE13TzVBTmNIenhkWTQ4SUdQNStKK3pLT1RCRlo0UGlkK0dUTStXcTEyTVYvSDg2eEVKcHRCYTZUK3Aza2dwd0xlZE1hbkJIQzJHZ05yRnBvTjJ4bnJNejlXRldYLzgveWdTQmthdnEyVXY3RmRDc0xFWUx1OUxMSXZBVTBiTlJEdHpZbCsvdlhtanBJdnVKRllqbUkwaW02UUVZcW5JZU1zTmpYRzR2SXV0SUdIaWplQUcvOUVEQm96S1Y1Y2xka0hiTHhIaDI1dlQrWkV6YmhYbHF2cHpLSndjRWdmTndMQUtGZW8wL3B2RUUxMFhEQitFWFJUWHRTekpvelFLRkZBSmhNeFlrVmFDVytFOUFMN3RNZVU4YWN4aWRIcXpiNmxYNDY5MVVzRHB5L0xMUm1UK2VwZ1c1Nis1Q3c4dEI0a01VdjZzOWxoM2VSS2J5R3MrSC80bVFNYVl6UFRmMk9PZG9rRW4renpndm9EM0ZxTktrOFFxR0FYVnNxY0dkWHJUNjJmU1BrUjJ2Uk9GaTY4QTZzZTg2VXhSVWs0Y2FqZlB5Q0M0RzV3RGhEK3pOcTRqb2RRNHU0bi9tMzdMcjM2bjRMSUFBc1ZyMDJkRmk5QWl3QTgxTVlzMnJtNGVEbERObWRNUnZFS1JIZkJ3VzVEZE1OcDBqUEZaTWVBUnFGL3dMNFhCZmQrRU1MQmZNenBINUdINk5hVysxdnJ2TWRnK1Z4RHphdGszTVhnTzNybzNQL0RwY0M2K01vNE15U0poS0poU1IwMVNHR0dwNWhQV21yclVncnYzbERuUCtIaGNJM250M1lxQm9WQVZUQkFRVDVpdWhUZzhudlB0ZDhaZVlqNncxeDZScUdVQnJTa3U3K04xK0JhYXNadmpUazY0Um9JRGxMOGJycEVjSngzT21ZN2pMb1pzc3dkdG1oZkMvRzIxbGxYaElUT3dtdlJERGVUVFBieUFTT2ExNmNGNS9BMWZaQWlkSnBxanUzd1lBeTlhdlBSMXlhNmVOcDlLOFhZcnJ0dXhscWkrYkRLd2xmcllkUjBSUmlLUlZUTE9IODUrWlk3WFNtelJwZlpCSmphVGE4MVZEY0pIcFpuWm5TUUxBU0dZVzlsNTFaVi9oN2VWelRpM0h2NmhVc2djLzUxQXFKUlRrcGJGVkxYWHN6b0JMOG5CWDB1LzBqQkxUOG5IK2ZKZVBicndVUlQ1OE9ZK1VpZVJqZDF2czA0dzBWRzVWTjJVNk1vR1prUXpLTi9wdHowUTM2NmR4b1RHbWo3aTFOUUdIaTlHZ25xdVhGWWRyQ2ZaQm1lYjdzMFQ2eXJkbFpINWNadXdIRnlJSi9rQXRHc1RnMHhINXRhQUFxNDRCQWsxQ1BrOUtWVmJxUXpyQ1VpRmRGLzZndGxQUThiSEhjMUcxVzkyTVhHWjVIRUhmdHlMWXM4bWJELzl4WVJVV2tIbWxNMHpDMmlsSmxuTmdWNGJmQUxwUWdoeE9Vb1pMN1ZUcXRDSElhUVNYbStZVU1ucGtYeWJuVitBNnhsbTJDVnk4Zm4wWGxtMlhSYTArenpPYTIxSldXbWl4ZmlQTVNDWjdxQTRyUzkzVk4zcGtwRjFzNVRvblFqaXNIZjdpVTlaR3ZVUE9BS1pjUjFwYmVWZi9VbDdPaGVwR0NhSWQ5d090cW83cEo3eUxjQlowcEZrT0YyOHk0ekVJL2tjVU5tdXRCSGFRcEJkTk04dmpDUzZIWlJva2tlbzg4VEJBakd5RzdTUis2dlVnVGN5SzlJbWFsajBrdXh6MHdtSytieVFVMTFBaUpGay95YTVkTmR1UkNsY25VNjR5R3UvaWVXU2VPb3MxdDNlcCtSUElXUTJweVRZVmJabHRUYnNiN05pd1NpM0FWKzhLTFdrN0x4Q25mWlVldEVNOFRobnNTb0dIMzgvbnlBd0ZndUpwOEZqdmxIdGNXWnVVNGhQdmEwckhmcjBVaE9PSi9GNnZTNjJGVzdLemttUmxsMkhFYzdvVXE0ZnlpNVQ3MFZsN1lWSWZzUEhVQ2RIZXNmOUxrN1dOVldPNzVKRGtZYk1JOFRPVzhKS1Z0TFk5ZDZVSlJJVE84b0tvMHhTK285OVl5MDRpbmlHSEFhR2o4OGtFV2d3djBPckhkWS9ucjc2RE9HTlM1OWhYQ0dYelRLVXZEbDlpS3BMU1dZTjFseElleXl3ZE5wVGtoYXk3NHcyakZUNk5TOHFram81Q3hBMXlmU1l3cDZBSklaTktJZUVLNVBKQVc3T1JnV2d3cDBWZ3pZcHFvdk1yV3hidStER1o2TGhpZTFSQXFwem04VlV6S0pPSDNtQ3pXdVRPTHNOM1ZUL2R2MmVlWWU5VWpiUjhZVEJzTHo3cTYwVk4xc1U1MWsrdW0xZjhKeEQ1cFBoYmhTQzhyUmFCNDU0dG1oNllVV3JKSTMrR1dZMHFlV2lvai90YmtZSVRPa0phZXVHdDRKckp2SEErbDBHdTdrWTdYT2FhMDVhbE1uUldWQ1hxRmdMSXdTWTR1RjU5VWU1U1U0UUt1Yy9IYW1EeGJyMHg2Y3NDZXRYR29QN1FuMUJrL0o5RHN5bk8vVUQ2aVoxSHlyeitqaXQwaERDd2kvRTlPamdLVGJCM1pRS1EvMFpPdmV2Zk5IRzBOSzRBajNDcDdOcFJrMDdSVDFpL1MwRUw5M0FnOEdSZ0tJOUNmcGFqS3lLNitKai9QSTFLTzUvODVWQXd6MkF3elA4RlRCYjA3NUl4Q1h2NlQ5UlZ2V1QydFVhcXhEUzkyenJHVWJXelVZazltU3M4MnBFQ0grZmtxc0R0OTNWVysrNFlzUi9kSENZY1FTWVRPL0thQk1EajlMU0QvSi8rejIwS3E4WHZaVUFJSHRtOWhSUFAzSXRidUF1MkhtNWxrUHM5MnBkN2tDeGdSczB4T1ZCbloxM2NjZEEwYXVucnd2OVNkcUVsSlJDM2crb0N1K25YeUNnbVhVczl5TWpUTUFJSGZ4WlYrYVBLY1plVUJXdDA1N1hvODVLczFJcjVnekVIQ1dxWkVockxaTXVGMTF6aUd0RlFVZHMvRUVTYWpoYWd6Y0tzeGFtY1NaeEd0aDRVSUkrYWRQaFFrVW54Mld5Tis0WVdSK3IzZjhNbmt5R0Z1UjR6anp4SlM4V3NRWVI1UFR5UmFEOWl4YTZNaDc0MW5CSGJ6ZmpYSHNrR0RxMTc5eGFSTnJDSUIxejF4UmZXZmpxdzJwSGMxems5eGxQcEw4c1FXQUl1RVRaWmhibm1MNTRyY2VYVk5SdlVpS3JycUlrZW9nc2wwWFhiMTd5bE5iMGY0R0E5V2Q0NHZmZkVHOEZTWkdIRUwyZmJhVEdSY1NpQ2VBOFBtQS9mNkh6OEhDUzc2ZlhVSHdnd2t6U3dsSTcxZWtaN0ZhcG1say9LQytIczhoVWN3M04yTE41TGhrVll5aXpZRmwvdVBlVlA1bHNvSkhoaGZXdnZTV3J1Q1VXMVpjSk9ldVRickRneXdKL3FHMDdnWkpwbG5UdkxjWWROYUgwS01ZT1lNR1grckI0TkdQRm1Rc05hSXdsV3JmQ2V6eHJlOHpYQnJzTVQrZWRWTGJMcU4xQnFCNzZKSDRCdlpUcVVJTWZHd1BHRW4rRW5tVFY4NmZQQmFZYkZMM0RGRWhqQjQ1Q2V3a1hFQXRKeGs0L01zMnBQWG5hUnFka3kwSE9ZZGNVY0UyemNYcTR2YUl2VzIvdjBuSEZKSDJYWGUyMnVlRG1xLzE4WEd0RUxTcTg1ajlYOHEwdGNOU1NLSklYOEZUdUpGL1BmOGo1UGhxRzJ1K29zdnNMeFlydnZmZVZKTCs0dGtjWGNyOUpWN3YwRVJtai9YNmZNM05DNGo2ZFMxKzlVbXIyb1BhdnFpQXlkVFpQTE1OUkdZMjNMTzl6QVZEbHk3akQrNzBHNVRQUExkaFJJbDRXeGNZakxuTStTTmNKMjZGT3JrcklTVXRQT2JJejVaYjNBRzYxMmtybnB5MTVSTVcrMWNRamxuV0ZJNjUzOHFreTlheGQyb0ptSElIUDA4S3lQMHViR08rVFFOT1l1djJ1aDE3eUNJdlI4VmNTdHc3bzFnME5NNjBzays4VHE3WWZJQkpydHA1M0drdnpYSDdPQTBwOC9uL3Uxc2F0Zi9WSmh0UjFsOFdhNkdtYXVnN2hhU3BhQ2FZUWF4NnRhMG1rdXRsYitlQU9TRzFhb2JNODFEOUE0aVMxUlJsekJCb1ZYNnRVMVM2V0UyTjlPUlk2RGZlTFJDNGw5UnZyNWg5NVhEV0IybVIxZDRXRnVkcHNnVll3aVR3VDMxbGpza0Q4WnlET2xtNURrR2g5Ti9VQi8wQUk1WHZiOFpCbWFpMmhRNEJXTXFGd1luenh3QjI2WUhTT3Y5V2dZM0pYbnZvTisyUjRycUdWaC9MTERNdHBGUCtTcE1HSk5XdmJJbDVTT29kYkNjelcyUktsZWtzUG9VZUdFenJqdEtIVmR0WkEra2ZxTytyVngvaWNsQ3F3b29wZXB2SnBTVERqVCtiOUdXeWxHUkY4RURiR2x3NmVVem1KTTk1T3Zveitrd0xYM2MyZlRqRmVZRXNFN3ZVWm0zbXFkR0p1S2gydzkvUUdTYXFSSHM5OWFTY0dPZERxa0ZjQUNvcWRiQm9RcXFqYW1oSDZROW5nMzlKQ2czbHJHSndkNTBRazlvdm5xQlRyOE1NRTdQczJ3aVZmeWdVbVBvVUJKSmZKV1g1TmRhMG51bmNiRmtBPT0iKSl9ZXhwb3J0cy5nZXREYXRhPWdldERhdGF9KTt2YXIgaW5jbHVkZSQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGluY2x1ZGUpO3ZhciBsaWIkYT1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuZW5zX25vcm1hbGl6ZT1leHBvcnRzLmVuc19ub3JtYWxpemVfcG9zdF9jaGVjaz12b2lkIDA7dmFyIHI9KDAsaW5jbHVkZS5nZXREYXRhKSgpO3ZhciBWQUxJRD1uZXcgU2V0KCgwLGRlY29kZXIucmVhZF9tZW1iZXJfYXJyYXkpKHIpKTt2YXIgSUdOT1JFRD1uZXcgU2V0KCgwLGRlY29kZXIucmVhZF9tZW1iZXJfYXJyYXkpKHIpKTt2YXIgTUFQUEVEPSgwLGRlY29kZXIucmVhZF9tYXBwZWRfbWFwKShyKTt2YXIgRU1PSklfUk9PVD0oMCxkZWNvZGVyLnJlYWRfZW1vamlfdHJpZSkocik7dmFyIEhZUEhFTj00NTt2YXIgVU5ERVJTQ09SRT05NTtmdW5jdGlvbiBleHBsb2RlX2NwKG5hbWUpe3JldHVybigwLGxpYiQ4LnRvVXRmOENvZGVQb2ludHMpKG5hbWUpfWZ1bmN0aW9uIGZpbHRlcl9mZTBmKGNwcyl7cmV0dXJuIGNwcy5maWx0ZXIoZnVuY3Rpb24oY3Ape3JldHVybiBjcCE9NjUwMzl9KX1mdW5jdGlvbiBlbnNfbm9ybWFsaXplX3Bvc3RfY2hlY2sobmFtZSl7Zm9yKHZhciBfaT0wLF9hPW5hbWUuc3BsaXQoIi4iKTtfaTxfYS5sZW5ndGg7X2krKyl7dmFyIGxhYmVsPV9hW19pXTt2YXIgY3BzPWV4cGxvZGVfY3AobGFiZWwpO3RyeXtmb3IodmFyIGk9Y3BzLmxhc3RJbmRleE9mKFVOREVSU0NPUkUpLTE7aT49MDtpLS0pe2lmKGNwc1tpXSE9PVVOREVSU0NPUkUpe3Rocm93IG5ldyBFcnJvcigidW5kZXJzY29yZSBvbmx5IGFsbG93ZWQgYXQgc3RhcnQiKX19aWYoY3BzLmxlbmd0aD49NCYmY3BzLmV2ZXJ5KGZ1bmN0aW9uKGNwKXtyZXR1cm4gY3A8MTI4fSkmJmNwc1syXT09PUhZUEhFTiYmY3BzWzNdPT09SFlQSEVOKXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgbGFiZWwgZXh0ZW5zaW9uIil9fWNhdGNoKGVycil7dGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGxhYmVsICInK2xhYmVsKyciOiAnK2Vyci5tZXNzYWdlKX19cmV0dXJuIG5hbWV9ZXhwb3J0cy5lbnNfbm9ybWFsaXplX3Bvc3RfY2hlY2s9ZW5zX25vcm1hbGl6ZV9wb3N0X2NoZWNrO2Z1bmN0aW9uIGVuc19ub3JtYWxpemUobmFtZSl7cmV0dXJuIGVuc19ub3JtYWxpemVfcG9zdF9jaGVjayhub3JtYWxpemUobmFtZSxmaWx0ZXJfZmUwZikpfWV4cG9ydHMuZW5zX25vcm1hbGl6ZT1lbnNfbm9ybWFsaXplO2Z1bmN0aW9uIG5vcm1hbGl6ZShuYW1lLGVtb2ppX2ZpbHRlcil7dmFyIGlucHV0PWV4cGxvZGVfY3AobmFtZSkucmV2ZXJzZSgpO3ZhciBvdXRwdXQ9W107d2hpbGUoaW5wdXQubGVuZ3RoKXt2YXIgZW1vamk9Y29uc3VtZV9lbW9qaV9yZXZlcnNlZChpbnB1dCk7aWYoZW1vamkpe291dHB1dC5wdXNoLmFwcGx5KG91dHB1dCxlbW9qaV9maWx0ZXIoZW1vamkpKTtjb250aW51ZX12YXIgY3A9aW5wdXQucG9wKCk7aWYoVkFMSUQuaGFzKGNwKSl7b3V0cHV0LnB1c2goY3ApO2NvbnRpbnVlfWlmKElHTk9SRUQuaGFzKGNwKSl7Y29udGludWV9dmFyIGNwcz1NQVBQRURbY3BdO2lmKGNwcyl7b3V0cHV0LnB1c2guYXBwbHkob3V0cHV0LGNwcyk7Y29udGludWV9dGhyb3cgbmV3IEVycm9yKCJEaXNhbGxvd2VkIGNvZGVwb2ludDogMHgiK2NwLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpKX1yZXR1cm4gZW5zX25vcm1hbGl6ZV9wb3N0X2NoZWNrKG5mYyhTdHJpbmcuZnJvbUNvZGVQb2ludC5hcHBseShTdHJpbmcsb3V0cHV0KSkpfWZ1bmN0aW9uIG5mYyhzKXtyZXR1cm4gcy5ub3JtYWxpemUoIk5GQyIpfWZ1bmN0aW9uIGNvbnN1bWVfZW1vamlfcmV2ZXJzZWQoY3BzLGVhdGVuKXt2YXIgX2E7dmFyIG5vZGU9RU1PSklfUk9PVDt2YXIgZW1vamk7dmFyIHNhdmVkO3ZhciBzdGFjaz1bXTt2YXIgcG9zPWNwcy5sZW5ndGg7aWYoZWF0ZW4pZWF0ZW4ubGVuZ3RoPTA7dmFyIF9sb29wXzE9ZnVuY3Rpb24oKXt2YXIgY3A9Y3BzWy0tcG9zXTtub2RlPShfYT1ub2RlLmJyYW5jaGVzLmZpbmQoZnVuY3Rpb24oeCl7cmV0dXJuIHguc2V0LmhhcyhjcCl9KSk9PT1udWxsfHxfYT09PXZvaWQgMD92b2lkIDA6X2Eubm9kZTtpZighbm9kZSlyZXR1cm4iYnJlYWsiO2lmKG5vZGUuc2F2ZSl7c2F2ZWQ9Y3B9ZWxzZSBpZihub2RlLmNoZWNrKXtpZihjcD09PXNhdmVkKXJldHVybiJicmVhayJ9c3RhY2sucHVzaChjcCk7aWYobm9kZS5mZTBmKXtzdGFjay5wdXNoKDY1MDM5KTtpZihwb3M+MCYmY3BzW3Bvcy0xXT09NjUwMzkpcG9zLS19aWYobm9kZS52YWxpZCl7ZW1vamk9c3RhY2suc2xpY2UoKTtpZihub2RlLnZhbGlkPT0yKWVtb2ppLnNwbGljZSgxLDEpO2lmKGVhdGVuKWVhdGVuLnB1c2guYXBwbHkoZWF0ZW4sY3BzLnNsaWNlKHBvcykucmV2ZXJzZSgpKTtjcHMubGVuZ3RoPXBvc319O3doaWxlKHBvcyl7dmFyIHN0YXRlXzE9X2xvb3BfMSgpO2lmKHN0YXRlXzE9PT0iYnJlYWsiKWJyZWFrfXJldHVybiBlbW9qaX19KTt2YXIgbGliJGI9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMobGliJGEpO3ZhciBuYW1laGFzaF8xPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5kbnNFbmNvZGU9ZXhwb3J0cy5uYW1laGFzaD1leHBvcnRzLmlzVmFsaWROYW1lPWV4cG9ydHMuZW5zTm9ybWFsaXplPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJGcudmVyc2lvbik7dmFyIFplcm9zPW5ldyBVaW50OEFycmF5KDMyKTtaZXJvcy5maWxsKDApO2Z1bmN0aW9uIGNoZWNrQ29tcG9uZW50KGNvbXApe2lmKGNvbXAubGVuZ3RoPT09MCl7dGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIEVOUyBuYW1lOyBlbXB0eSBjb21wb25lbnQiKX1yZXR1cm4gY29tcH1mdW5jdGlvbiBlbnNOYW1lU3BsaXQobmFtZSl7dmFyIGJ5dGVzPSgwLGxpYiQ4LnRvVXRmOEJ5dGVzKSgoMCxsaWIkYS5lbnNfbm9ybWFsaXplKShuYW1lKSk7dmFyIGNvbXBzPVtdO2lmKG5hbWUubGVuZ3RoPT09MCl7cmV0dXJuIGNvbXBzfXZhciBsYXN0PTA7Zm9yKHZhciBpPTA7aTxieXRlcy5sZW5ndGg7aSsrKXt2YXIgZD1ieXRlc1tpXTtpZihkPT09NDYpe2NvbXBzLnB1c2goY2hlY2tDb21wb25lbnQoYnl0ZXMuc2xpY2UobGFzdCxpKSkpO2xhc3Q9aSsxfX1pZihsYXN0Pj1ieXRlcy5sZW5ndGgpe3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCBFTlMgbmFtZTsgZW1wdHkgY29tcG9uZW50Iil9Y29tcHMucHVzaChjaGVja0NvbXBvbmVudChieXRlcy5zbGljZShsYXN0KSkpO3JldHVybiBjb21wc31mdW5jdGlvbiBlbnNOb3JtYWxpemUobmFtZSl7cmV0dXJuIGVuc05hbWVTcGxpdChuYW1lKS5tYXAoZnVuY3Rpb24oY29tcCl7cmV0dXJuKDAsbGliJDgudG9VdGY4U3RyaW5nKShjb21wKX0pLmpvaW4oIi4iKX1leHBvcnRzLmVuc05vcm1hbGl6ZT1lbnNOb3JtYWxpemU7ZnVuY3Rpb24gaXNWYWxpZE5hbWUobmFtZSl7dHJ5e3JldHVybiBlbnNOYW1lU3BsaXQobmFtZSkubGVuZ3RoIT09MH1jYXRjaChlcnJvcil7fXJldHVybiBmYWxzZX1leHBvcnRzLmlzVmFsaWROYW1lPWlzVmFsaWROYW1lO2Z1bmN0aW9uIG5hbWVoYXNoKG5hbWUpe2lmKHR5cGVvZiBuYW1lIT09InN0cmluZyIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgRU5TIG5hbWU7IG5vdCBhIHN0cmluZyIsIm5hbWUiLG5hbWUpfXZhciByZXN1bHQ9WmVyb3M7dmFyIGNvbXBzPWVuc05hbWVTcGxpdChuYW1lKTt3aGlsZShjb21wcy5sZW5ndGgpe3Jlc3VsdD0oMCxsaWIkNC5rZWNjYWsyNTYpKCgwLGxpYiQxLmNvbmNhdCkoW3Jlc3VsdCwoMCxsaWIkNC5rZWNjYWsyNTYpKGNvbXBzLnBvcCgpKV0pKX1yZXR1cm4oMCxsaWIkMS5oZXhsaWZ5KShyZXN1bHQpfWV4cG9ydHMubmFtZWhhc2g9bmFtZWhhc2g7ZnVuY3Rpb24gZG5zRW5jb2RlKG5hbWUpe3JldHVybigwLGxpYiQxLmhleGxpZnkpKCgwLGxpYiQxLmNvbmNhdCkoZW5zTmFtZVNwbGl0KG5hbWUpLm1hcChmdW5jdGlvbihjb21wKXtpZihjb21wLmxlbmd0aD42Myl7dGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIEROUyBlbmNvZGVkIGVudHJ5OyBsZW5ndGggZXhjZWVkcyA2MyBieXRlcyIpfXZhciBieXRlcz1uZXcgVWludDhBcnJheShjb21wLmxlbmd0aCsxKTtieXRlcy5zZXQoY29tcCwxKTtieXRlc1swXT1ieXRlcy5sZW5ndGgtMTtyZXR1cm4gYnl0ZXN9KSkpKyIwMCJ9ZXhwb3J0cy5kbnNFbmNvZGU9ZG5zRW5jb2RlfSk7dmFyIG5hbWVoYXNoPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKG5hbWVoYXNoXzEpO3ZhciBtZXNzYWdlPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5oYXNoTWVzc2FnZT1leHBvcnRzLm1lc3NhZ2VQcmVmaXg9dm9pZCAwO2V4cG9ydHMubWVzc2FnZVByZWZpeD0iGUV0aGVyZXVtIFNpZ25lZCBNZXNzYWdlOlxuIjtmdW5jdGlvbiBoYXNoTWVzc2FnZShtZXNzYWdlKXtpZih0eXBlb2YgbWVzc2FnZT09PSJzdHJpbmciKXttZXNzYWdlPSgwLGxpYiQ4LnRvVXRmOEJ5dGVzKShtZXNzYWdlKX1yZXR1cm4oMCxsaWIkNC5rZWNjYWsyNTYpKCgwLGxpYiQxLmNvbmNhdCkoWygwLGxpYiQ4LnRvVXRmOEJ5dGVzKShleHBvcnRzLm1lc3NhZ2VQcmVmaXgpLCgwLGxpYiQ4LnRvVXRmOEJ5dGVzKShTdHJpbmcobWVzc2FnZS5sZW5ndGgpKSxtZXNzYWdlXSkpfWV4cG9ydHMuaGFzaE1lc3NhZ2U9aGFzaE1lc3NhZ2V9KTt2YXIgbWVzc2FnZSQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKG1lc3NhZ2UpO3ZhciB0eXBlZERhdGE9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgX19hd2FpdGVyPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHRoaXNBcmcsX2FyZ3VtZW50cyxQLGdlbmVyYXRvcil7ZnVuY3Rpb24gYWRvcHQodmFsdWUpe3JldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFA/dmFsdWU6bmV3IFAoZnVuY3Rpb24ocmVzb2x2ZSl7cmVzb2x2ZSh2YWx1ZSl9KX1yZXR1cm4gbmV3KFB8fChQPVByb21pc2UpKShmdW5jdGlvbihyZXNvbHZlLHJlamVjdCl7ZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKXt0cnl7c3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpfWNhdGNoKGUpe3JlamVjdChlKX19ZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpe3RyeXtzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpfWNhdGNoKGUpe3JlamVjdChlKX19ZnVuY3Rpb24gc3RlcChyZXN1bHQpe3Jlc3VsdC5kb25lP3Jlc29sdmUocmVzdWx0LnZhbHVlKTphZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLHJlamVjdGVkKX1zdGVwKChnZW5lcmF0b3I9Z2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsX2FyZ3VtZW50c3x8W10pKS5uZXh0KCkpfSl9O3ZhciBfX2dlbmVyYXRvcj1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKHRoaXNBcmcsYm9keSl7dmFyIF89e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKHRbMF0mMSl0aHJvdyB0WzFdO3JldHVybiB0WzFdfSx0cnlzOltdLG9wczpbXX0sZix5LHQsZztyZXR1cm4gZz17bmV4dDp2ZXJiKDApLHRocm93OnZlcmIoMSkscmV0dXJuOnZlcmIoMil9LHR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiYoZ1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxnO2Z1bmN0aW9uIHZlcmIobil7cmV0dXJuIGZ1bmN0aW9uKHYpe3JldHVybiBzdGVwKFtuLHZdKX19ZnVuY3Rpb24gc3RlcChvcCl7aWYoZil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7d2hpbGUoXyl0cnl7aWYoZj0xLHkmJih0PW9wWzBdJjI/eVsicmV0dXJuIl06b3BbMF0/eVsidGhyb3ciXXx8KCh0PXlbInJldHVybiJdKSYmdC5jYWxsKHkpLDApOnkubmV4dCkmJiEodD10LmNhbGwoeSxvcFsxXSkpLmRvbmUpcmV0dXJuIHQ7aWYoeT0wLHQpb3A9W29wWzBdJjIsdC52YWx1ZV07c3dpdGNoKG9wWzBdKXtjYXNlIDA6Y2FzZSAxOnQ9b3A7YnJlYWs7Y2FzZSA0Ol8ubGFiZWwrKztyZXR1cm57dmFsdWU6b3BbMV0sZG9uZTpmYWxzZX07Y2FzZSA1Ol8ubGFiZWwrKzt5PW9wWzFdO29wPVswXTtjb250aW51ZTtjYXNlIDc6b3A9Xy5vcHMucG9wKCk7Xy50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISh0PV8udHJ5cyx0PXQubGVuZ3RoPjAmJnRbdC5sZW5ndGgtMV0pJiYob3BbMF09PT02fHxvcFswXT09PTIpKXtfPTA7Y29udGludWV9aWYob3BbMF09PT0zJiYoIXR8fG9wWzFdPnRbMF0mJm9wWzFdPHRbM10pKXtfLmxhYmVsPW9wWzFdO2JyZWFrfWlmKG9wWzBdPT09NiYmXy5sYWJlbDx0WzFdKXtfLmxhYmVsPXRbMV07dD1vcDticmVha31pZih0JiZfLmxhYmVsPHRbMl0pe18ubGFiZWw9dFsyXTtfLm9wcy5wdXNoKG9wKTticmVha31pZih0WzJdKV8ub3BzLnBvcCgpO18udHJ5cy5wb3AoKTtjb250aW51ZX1vcD1ib2R5LmNhbGwodGhpc0FyZyxfKX1jYXRjaChlKXtvcD1bNixlXTt5PTB9ZmluYWxseXtmPXQ9MH1pZihvcFswXSY1KXRocm93IG9wWzFdO3JldHVybnt2YWx1ZTpvcFswXT9vcFsxXTp2b2lkIDAsZG9uZTp0cnVlfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuVHlwZWREYXRhRW5jb2Rlcj12b2lkIDA7dmFyIGxvZ2dlcj1uZXcgbGliLkxvZ2dlcihfdmVyc2lvbiRnLnZlcnNpb24pO3ZhciBwYWRkaW5nPW5ldyBVaW50OEFycmF5KDMyKTtwYWRkaW5nLmZpbGwoMCk7dmFyIE5lZ2F0aXZlT25lPWxpYiQyLkJpZ051bWJlci5mcm9tKC0xKTt2YXIgWmVybz1saWIkMi5CaWdOdW1iZXIuZnJvbSgwKTt2YXIgT25lPWxpYiQyLkJpZ051bWJlci5mcm9tKDEpO3ZhciBNYXhVaW50MjU2PWxpYiQyLkJpZ051bWJlci5mcm9tKCIweGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYiKTtmdW5jdGlvbiBoZXhQYWRSaWdodCh2YWx1ZSl7dmFyIGJ5dGVzPSgwLGxpYiQxLmFycmF5aWZ5KSh2YWx1ZSk7dmFyIHBhZE9mZnNldD1ieXRlcy5sZW5ndGglMzI7aWYocGFkT2Zmc2V0KXtyZXR1cm4oMCxsaWIkMS5oZXhDb25jYXQpKFtieXRlcyxwYWRkaW5nLnNsaWNlKHBhZE9mZnNldCldKX1yZXR1cm4oMCxsaWIkMS5oZXhsaWZ5KShieXRlcyl9dmFyIGhleFRydWU9KDAsbGliJDEuaGV4WmVyb1BhZCkoT25lLnRvSGV4U3RyaW5nKCksMzIpO3ZhciBoZXhGYWxzZT0oMCxsaWIkMS5oZXhaZXJvUGFkKShaZXJvLnRvSGV4U3RyaW5nKCksMzIpO3ZhciBkb21haW5GaWVsZFR5cGVzPXtuYW1lOiJzdHJpbmciLHZlcnNpb246InN0cmluZyIsY2hhaW5JZDoidWludDI1NiIsdmVyaWZ5aW5nQ29udHJhY3Q6ImFkZHJlc3MiLHNhbHQ6ImJ5dGVzMzIifTt2YXIgZG9tYWluRmllbGROYW1lcz1bIm5hbWUiLCJ2ZXJzaW9uIiwiY2hhaW5JZCIsInZlcmlmeWluZ0NvbnRyYWN0Iiwic2FsdCJdO2Z1bmN0aW9uIGNoZWNrU3RyaW5nKGtleSl7cmV0dXJuIGZ1bmN0aW9uKHZhbHVlKXtpZih0eXBlb2YgdmFsdWUhPT0ic3RyaW5nIil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBkb21haW4gdmFsdWUgZm9yICIrSlNPTi5zdHJpbmdpZnkoa2V5KSwiZG9tYWluLiIra2V5LHZhbHVlKX1yZXR1cm4gdmFsdWV9fXZhciBkb21haW5DaGVja3M9e25hbWU6Y2hlY2tTdHJpbmcoIm5hbWUiKSx2ZXJzaW9uOmNoZWNrU3RyaW5nKCJ2ZXJzaW9uIiksY2hhaW5JZDpmdW5jdGlvbih2YWx1ZSl7dHJ5e3JldHVybiBsaWIkMi5CaWdOdW1iZXIuZnJvbSh2YWx1ZSkudG9TdHJpbmcoKX1jYXRjaChlcnJvcil7fXJldHVybiBsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCdpbnZhbGlkIGRvbWFpbiB2YWx1ZSBmb3IgImNoYWluSWQiJywiZG9tYWluLmNoYWluSWQiLHZhbHVlKX0sdmVyaWZ5aW5nQ29udHJhY3Q6ZnVuY3Rpb24odmFsdWUpe3RyeXtyZXR1cm4oMCxsaWIkNi5nZXRBZGRyZXNzKSh2YWx1ZSkudG9Mb3dlckNhc2UoKX1jYXRjaChlcnJvcil7fXJldHVybiBsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCdpbnZhbGlkIGRvbWFpbiB2YWx1ZSAidmVyaWZ5aW5nQ29udHJhY3QiJywiZG9tYWluLnZlcmlmeWluZ0NvbnRyYWN0Iix2YWx1ZSl9LHNhbHQ6ZnVuY3Rpb24odmFsdWUpe3RyeXt2YXIgYnl0ZXM9KDAsbGliJDEuYXJyYXlpZnkpKHZhbHVlKTtpZihieXRlcy5sZW5ndGghPT0zMil7dGhyb3cgbmV3IEVycm9yKCJiYWQgbGVuZ3RoIil9cmV0dXJuKDAsbGliJDEuaGV4bGlmeSkoYnl0ZXMpfWNhdGNoKGVycm9yKXt9cmV0dXJuIGxvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoJ2ludmFsaWQgZG9tYWluIHZhbHVlICJzYWx0IicsImRvbWFpbi5zYWx0Iix2YWx1ZSl9fTtmdW5jdGlvbiBnZXRCYXNlRW5jb2Rlcih0eXBlKXt7dmFyIG1hdGNoPXR5cGUubWF0Y2goL14odT8paW50KFxkKikkLyk7aWYobWF0Y2gpe3ZhciBzaWduZWQ9bWF0Y2hbMV09PT0iIjt2YXIgd2lkdGg9cGFyc2VJbnQobWF0Y2hbMl18fCIyNTYiKTtpZih3aWR0aCU4IT09MHx8d2lkdGg+MjU2fHxtYXRjaFsyXSYmbWF0Y2hbMl0hPT1TdHJpbmcod2lkdGgpKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIG51bWVyaWMgd2lkdGgiLCJ0eXBlIix0eXBlKX12YXIgYm91bmRzVXBwZXJfMT1NYXhVaW50MjU2Lm1hc2soc2lnbmVkP3dpZHRoLTE6d2lkdGgpO3ZhciBib3VuZHNMb3dlcl8xPXNpZ25lZD9ib3VuZHNVcHBlcl8xLmFkZChPbmUpLm11bChOZWdhdGl2ZU9uZSk6WmVybztyZXR1cm4gZnVuY3Rpb24odmFsdWUpe3ZhciB2PWxpYiQyLkJpZ051bWJlci5mcm9tKHZhbHVlKTtpZih2Lmx0KGJvdW5kc0xvd2VyXzEpfHx2Lmd0KGJvdW5kc1VwcGVyXzEpKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJ2YWx1ZSBvdXQtb2YtYm91bmRzIGZvciAiK3R5cGUsInZhbHVlIix2YWx1ZSl9cmV0dXJuKDAsbGliJDEuaGV4WmVyb1BhZCkodi50b1R3b3MoMjU2KS50b0hleFN0cmluZygpLDMyKX19fXt2YXIgbWF0Y2g9dHlwZS5tYXRjaCgvXmJ5dGVzKFxkKykkLyk7aWYobWF0Y2gpe3ZhciB3aWR0aF8xPXBhcnNlSW50KG1hdGNoWzFdKTtpZih3aWR0aF8xPT09MHx8d2lkdGhfMT4zMnx8bWF0Y2hbMV0hPT1TdHJpbmcod2lkdGhfMSkpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgYnl0ZXMgd2lkdGgiLCJ0eXBlIix0eXBlKX1yZXR1cm4gZnVuY3Rpb24odmFsdWUpe3ZhciBieXRlcz0oMCxsaWIkMS5hcnJheWlmeSkodmFsdWUpO2lmKGJ5dGVzLmxlbmd0aCE9PXdpZHRoXzEpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgbGVuZ3RoIGZvciAiK3R5cGUsInZhbHVlIix2YWx1ZSl9cmV0dXJuIGhleFBhZFJpZ2h0KHZhbHVlKX19fXN3aXRjaCh0eXBlKXtjYXNlImFkZHJlc3MiOnJldHVybiBmdW5jdGlvbih2YWx1ZSl7cmV0dXJuKDAsbGliJDEuaGV4WmVyb1BhZCkoKDAsbGliJDYuZ2V0QWRkcmVzcykodmFsdWUpLDMyKX07Y2FzZSJib29sIjpyZXR1cm4gZnVuY3Rpb24odmFsdWUpe3JldHVybiF2YWx1ZT9oZXhGYWxzZTpoZXhUcnVlfTtjYXNlImJ5dGVzIjpyZXR1cm4gZnVuY3Rpb24odmFsdWUpe3JldHVybigwLGxpYiQ0LmtlY2NhazI1NikodmFsdWUpfTtjYXNlInN0cmluZyI6cmV0dXJuIGZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4oMCxpZF8xLmlkKSh2YWx1ZSl9fXJldHVybiBudWxsfWZ1bmN0aW9uIGVuY29kZVR5cGUobmFtZSxmaWVsZHMpe3JldHVybiBuYW1lKyIoIitmaWVsZHMubWFwKGZ1bmN0aW9uKF9hKXt2YXIgbmFtZT1fYS5uYW1lLHR5cGU9X2EudHlwZTtyZXR1cm4gdHlwZSsiICIrbmFtZX0pLmpvaW4oIiwiKSsiKSJ9dmFyIFR5cGVkRGF0YUVuY29kZXI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBUeXBlZERhdGFFbmNvZGVyKHR5cGVzKXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywidHlwZXMiLE9iamVjdC5mcmVlemUoKDAsbGliJDMuZGVlcENvcHkpKHR5cGVzKSkpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJfZW5jb2RlckNhY2hlIix7fSk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIl90eXBlcyIse30pO3ZhciBsaW5rcz17fTt2YXIgcGFyZW50cz17fTt2YXIgc3VidHlwZXM9e307T2JqZWN0LmtleXModHlwZXMpLmZvckVhY2goZnVuY3Rpb24odHlwZSl7bGlua3NbdHlwZV09e307cGFyZW50c1t0eXBlXT1bXTtzdWJ0eXBlc1t0eXBlXT17fX0pO3ZhciBfbG9vcF8xPWZ1bmN0aW9uKG5hbWVfMSl7dmFyIHVuaXF1ZU5hbWVzPXt9O3R5cGVzW25hbWVfMV0uZm9yRWFjaChmdW5jdGlvbihmaWVsZCl7aWYodW5pcXVlTmFtZXNbZmllbGQubmFtZV0pe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImR1cGxpY2F0ZSB2YXJpYWJsZSBuYW1lICIrSlNPTi5zdHJpbmdpZnkoZmllbGQubmFtZSkrIiBpbiAiK0pTT04uc3RyaW5naWZ5KG5hbWVfMSksInR5cGVzIix0eXBlcyl9dW5pcXVlTmFtZXNbZmllbGQubmFtZV09dHJ1ZTt2YXIgYmFzZVR5cGU9ZmllbGQudHlwZS5tYXRjaCgvXihbXlx4NWJdKikoXHg1YnwkKS8pWzFdO2lmKGJhc2VUeXBlPT09bmFtZV8xKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJjaXJjdWxhciB0eXBlIHJlZmVyZW5jZSB0byAiK0pTT04uc3RyaW5naWZ5KGJhc2VUeXBlKSwidHlwZXMiLHR5cGVzKX12YXIgZW5jb2Rlcj1nZXRCYXNlRW5jb2RlcihiYXNlVHlwZSk7aWYoZW5jb2Rlcil7cmV0dXJufWlmKCFwYXJlbnRzW2Jhc2VUeXBlXSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidW5rbm93biB0eXBlICIrSlNPTi5zdHJpbmdpZnkoYmFzZVR5cGUpLCJ0eXBlcyIsdHlwZXMpfXBhcmVudHNbYmFzZVR5cGVdLnB1c2gobmFtZV8xKTtsaW5rc1tuYW1lXzFdW2Jhc2VUeXBlXT10cnVlfSl9O2Zvcih2YXIgbmFtZV8xIGluIHR5cGVzKXtfbG9vcF8xKG5hbWVfMSl9dmFyIHByaW1hcnlUeXBlcz1PYmplY3Qua2V5cyhwYXJlbnRzKS5maWx0ZXIoZnVuY3Rpb24obil7cmV0dXJuIHBhcmVudHNbbl0ubGVuZ3RoPT09MH0pO2lmKHByaW1hcnlUeXBlcy5sZW5ndGg9PT0wKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJtaXNzaW5nIHByaW1hcnkgdHlwZSIsInR5cGVzIix0eXBlcyl9ZWxzZSBpZihwcmltYXJ5VHlwZXMubGVuZ3RoPjEpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImFtYmlndW91cyBwcmltYXJ5IHR5cGVzIG9yIHVudXNlZCB0eXBlczogIitwcmltYXJ5VHlwZXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0KX0pLmpvaW4oIiwgIiksInR5cGVzIix0eXBlcyl9KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsInByaW1hcnlUeXBlIixwcmltYXJ5VHlwZXNbMF0pO2Z1bmN0aW9uIGNoZWNrQ2lyY3VsYXIodHlwZSxmb3VuZCl7aWYoZm91bmRbdHlwZV0pe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImNpcmN1bGFyIHR5cGUgcmVmZXJlbmNlIHRvICIrSlNPTi5zdHJpbmdpZnkodHlwZSksInR5cGVzIix0eXBlcyl9Zm91bmRbdHlwZV09dHJ1ZTtPYmplY3Qua2V5cyhsaW5rc1t0eXBlXSkuZm9yRWFjaChmdW5jdGlvbihjaGlsZCl7aWYoIXBhcmVudHNbY2hpbGRdKXtyZXR1cm59Y2hlY2tDaXJjdWxhcihjaGlsZCxmb3VuZCk7T2JqZWN0LmtleXMoZm91bmQpLmZvckVhY2goZnVuY3Rpb24oc3VidHlwZSl7c3VidHlwZXNbc3VidHlwZV1bY2hpbGRdPXRydWV9KX0pO2RlbGV0ZSBmb3VuZFt0eXBlXX1jaGVja0NpcmN1bGFyKHRoaXMucHJpbWFyeVR5cGUse30pO2Zvcih2YXIgbmFtZV8yIGluIHN1YnR5cGVzKXt2YXIgc3Q9T2JqZWN0LmtleXMoc3VidHlwZXNbbmFtZV8yXSk7c3Quc29ydCgpO3RoaXMuX3R5cGVzW25hbWVfMl09ZW5jb2RlVHlwZShuYW1lXzIsdHlwZXNbbmFtZV8yXSkrc3QubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlbmNvZGVUeXBlKHQsdHlwZXNbdF0pfSkuam9pbigiIil9fVR5cGVkRGF0YUVuY29kZXIucHJvdG90eXBlLmdldEVuY29kZXI9ZnVuY3Rpb24odHlwZSl7dmFyIGVuY29kZXI9dGhpcy5fZW5jb2RlckNhY2hlW3R5cGVdO2lmKCFlbmNvZGVyKXtlbmNvZGVyPXRoaXMuX2VuY29kZXJDYWNoZVt0eXBlXT10aGlzLl9nZXRFbmNvZGVyKHR5cGUpfXJldHVybiBlbmNvZGVyfTtUeXBlZERhdGFFbmNvZGVyLnByb3RvdHlwZS5fZ2V0RW5jb2Rlcj1mdW5jdGlvbih0eXBlKXt2YXIgX3RoaXM9dGhpczt7dmFyIGVuY29kZXI9Z2V0QmFzZUVuY29kZXIodHlwZSk7aWYoZW5jb2Rlcil7cmV0dXJuIGVuY29kZXJ9fXZhciBtYXRjaD10eXBlLm1hdGNoKC9eKC4qKShceDViKFxkKilceDVkKSQvKTtpZihtYXRjaCl7dmFyIHN1YnR5cGVfMT1tYXRjaFsxXTt2YXIgc3ViRW5jb2Rlcl8xPXRoaXMuZ2V0RW5jb2RlcihzdWJ0eXBlXzEpO3ZhciBsZW5ndGhfMT1wYXJzZUludChtYXRjaFszXSk7cmV0dXJuIGZ1bmN0aW9uKHZhbHVlKXtpZihsZW5ndGhfMT49MCYmdmFsdWUubGVuZ3RoIT09bGVuZ3RoXzEpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImFycmF5IGxlbmd0aCBtaXNtYXRjaDsgZXhwZWN0ZWQgbGVuZ3RoICR7IGFycmF5TGVuZ3RoIH0iLCJ2YWx1ZSIsdmFsdWUpfXZhciByZXN1bHQ9dmFsdWUubWFwKHN1YkVuY29kZXJfMSk7aWYoX3RoaXMuX3R5cGVzW3N1YnR5cGVfMV0pe3Jlc3VsdD1yZXN1bHQubWFwKGxpYiQ0LmtlY2NhazI1Nil9cmV0dXJuKDAsbGliJDQua2VjY2FrMjU2KSgoMCxsaWIkMS5oZXhDb25jYXQpKHJlc3VsdCkpfX12YXIgZmllbGRzPXRoaXMudHlwZXNbdHlwZV07aWYoZmllbGRzKXt2YXIgZW5jb2RlZFR5cGVfMT0oMCxpZF8xLmlkKSh0aGlzLl90eXBlc1t0eXBlXSk7cmV0dXJuIGZ1bmN0aW9uKHZhbHVlKXt2YXIgdmFsdWVzPWZpZWxkcy5tYXAoZnVuY3Rpb24oX2Epe3ZhciBuYW1lPV9hLm5hbWUsdHlwZT1fYS50eXBlO3ZhciByZXN1bHQ9X3RoaXMuZ2V0RW5jb2Rlcih0eXBlKSh2YWx1ZVtuYW1lXSk7aWYoX3RoaXMuX3R5cGVzW3R5cGVdKXtyZXR1cm4oMCxsaWIkNC5rZWNjYWsyNTYpKHJlc3VsdCl9cmV0dXJuIHJlc3VsdH0pO3ZhbHVlcy51bnNoaWZ0KGVuY29kZWRUeXBlXzEpO3JldHVybigwLGxpYiQxLmhleENvbmNhdCkodmFsdWVzKX19cmV0dXJuIGxvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInVua25vd24gdHlwZTogIit0eXBlLCJ0eXBlIix0eXBlKX07VHlwZWREYXRhRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlVHlwZT1mdW5jdGlvbihuYW1lKXt2YXIgcmVzdWx0PXRoaXMuX3R5cGVzW25hbWVdO2lmKCFyZXN1bHQpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInVua25vd24gdHlwZTogIitKU09OLnN0cmluZ2lmeShuYW1lKSwibmFtZSIsbmFtZSl9cmV0dXJuIHJlc3VsdH07VHlwZWREYXRhRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlRGF0YT1mdW5jdGlvbih0eXBlLHZhbHVlKXtyZXR1cm4gdGhpcy5nZXRFbmNvZGVyKHR5cGUpKHZhbHVlKX07VHlwZWREYXRhRW5jb2Rlci5wcm90b3R5cGUuaGFzaFN0cnVjdD1mdW5jdGlvbihuYW1lLHZhbHVlKXtyZXR1cm4oMCxsaWIkNC5rZWNjYWsyNTYpKHRoaXMuZW5jb2RlRGF0YShuYW1lLHZhbHVlKSl9O1R5cGVkRGF0YUVuY29kZXIucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuIHRoaXMuZW5jb2RlRGF0YSh0aGlzLnByaW1hcnlUeXBlLHZhbHVlKX07VHlwZWREYXRhRW5jb2Rlci5wcm90b3R5cGUuaGFzaD1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuIHRoaXMuaGFzaFN0cnVjdCh0aGlzLnByaW1hcnlUeXBlLHZhbHVlKX07VHlwZWREYXRhRW5jb2Rlci5wcm90b3R5cGUuX3Zpc2l0PWZ1bmN0aW9uKHR5cGUsdmFsdWUsY2FsbGJhY2spe3ZhciBfdGhpcz10aGlzO3t2YXIgZW5jb2Rlcj1nZXRCYXNlRW5jb2Rlcih0eXBlKTtpZihlbmNvZGVyKXtyZXR1cm4gY2FsbGJhY2sodHlwZSx2YWx1ZSl9fXZhciBtYXRjaD10eXBlLm1hdGNoKC9eKC4qKShceDViKFxkKilceDVkKSQvKTtpZihtYXRjaCl7dmFyIHN1YnR5cGVfMj1tYXRjaFsxXTt2YXIgbGVuZ3RoXzI9cGFyc2VJbnQobWF0Y2hbM10pO2lmKGxlbmd0aF8yPj0wJiZ2YWx1ZS5sZW5ndGghPT1sZW5ndGhfMil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiYXJyYXkgbGVuZ3RoIG1pc21hdGNoOyBleHBlY3RlZCBsZW5ndGggJHsgYXJyYXlMZW5ndGggfSIsInZhbHVlIix2YWx1ZSl9cmV0dXJuIHZhbHVlLm1hcChmdW5jdGlvbih2KXtyZXR1cm4gX3RoaXMuX3Zpc2l0KHN1YnR5cGVfMix2LGNhbGxiYWNrKX0pfXZhciBmaWVsZHM9dGhpcy50eXBlc1t0eXBlXTtpZihmaWVsZHMpe3JldHVybiBmaWVsZHMucmVkdWNlKGZ1bmN0aW9uKGFjY3VtLF9hKXt2YXIgbmFtZT1fYS5uYW1lLHR5cGU9X2EudHlwZTthY2N1bVtuYW1lXT1fdGhpcy5fdmlzaXQodHlwZSx2YWx1ZVtuYW1lXSxjYWxsYmFjayk7cmV0dXJuIGFjY3VtfSx7fSl9cmV0dXJuIGxvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInVua25vd24gdHlwZTogIit0eXBlLCJ0eXBlIix0eXBlKX07VHlwZWREYXRhRW5jb2Rlci5wcm90b3R5cGUudmlzaXQ9ZnVuY3Rpb24odmFsdWUsY2FsbGJhY2spe3JldHVybiB0aGlzLl92aXNpdCh0aGlzLnByaW1hcnlUeXBlLHZhbHVlLGNhbGxiYWNrKX07VHlwZWREYXRhRW5jb2Rlci5mcm9tPWZ1bmN0aW9uKHR5cGVzKXtyZXR1cm4gbmV3IFR5cGVkRGF0YUVuY29kZXIodHlwZXMpfTtUeXBlZERhdGFFbmNvZGVyLmdldFByaW1hcnlUeXBlPWZ1bmN0aW9uKHR5cGVzKXtyZXR1cm4gVHlwZWREYXRhRW5jb2Rlci5mcm9tKHR5cGVzKS5wcmltYXJ5VHlwZX07VHlwZWREYXRhRW5jb2Rlci5oYXNoU3RydWN0PWZ1bmN0aW9uKG5hbWUsdHlwZXMsdmFsdWUpe3JldHVybiBUeXBlZERhdGFFbmNvZGVyLmZyb20odHlwZXMpLmhhc2hTdHJ1Y3QobmFtZSx2YWx1ZSl9O1R5cGVkRGF0YUVuY29kZXIuaGFzaERvbWFpbj1mdW5jdGlvbihkb21haW4pe3ZhciBkb21haW5GaWVsZHM9W107Zm9yKHZhciBuYW1lXzMgaW4gZG9tYWluKXt2YXIgdHlwZT1kb21haW5GaWVsZFR5cGVzW25hbWVfM107aWYoIXR5cGUpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgdHlwZWQtZGF0YSBkb21haW4ga2V5OiAiK0pTT04uc3RyaW5naWZ5KG5hbWVfMyksImRvbWFpbiIsZG9tYWluKX1kb21haW5GaWVsZHMucHVzaCh7bmFtZTpuYW1lXzMsdHlwZTp0eXBlfSl9ZG9tYWluRmllbGRzLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gZG9tYWluRmllbGROYW1lcy5pbmRleE9mKGEubmFtZSktZG9tYWluRmllbGROYW1lcy5pbmRleE9mKGIubmFtZSl9KTtyZXR1cm4gVHlwZWREYXRhRW5jb2Rlci5oYXNoU3RydWN0KCJFSVA3MTJEb21haW4iLHtFSVA3MTJEb21haW46ZG9tYWluRmllbGRzfSxkb21haW4pfTtUeXBlZERhdGFFbmNvZGVyLmVuY29kZT1mdW5jdGlvbihkb21haW4sdHlwZXMsdmFsdWUpe3JldHVybigwLGxpYiQxLmhleENvbmNhdCkoWyIweDE5MDEiLFR5cGVkRGF0YUVuY29kZXIuaGFzaERvbWFpbihkb21haW4pLFR5cGVkRGF0YUVuY29kZXIuZnJvbSh0eXBlcykuaGFzaCh2YWx1ZSldKX07VHlwZWREYXRhRW5jb2Rlci5oYXNoPWZ1bmN0aW9uKGRvbWFpbix0eXBlcyx2YWx1ZSl7cmV0dXJuKDAsbGliJDQua2VjY2FrMjU2KShUeXBlZERhdGFFbmNvZGVyLmVuY29kZShkb21haW4sdHlwZXMsdmFsdWUpKX07VHlwZWREYXRhRW5jb2Rlci5yZXNvbHZlTmFtZXM9ZnVuY3Rpb24oZG9tYWluLHR5cGVzLHZhbHVlLHJlc29sdmVOYW1lKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlbnNDYWNoZSxlbmNvZGVyLF9hLF9iLF9pLG5hbWVfNCxfYyxfZDtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfZSl7c3dpdGNoKF9lLmxhYmVsKXtjYXNlIDA6ZG9tYWluPSgwLGxpYiQzLnNoYWxsb3dDb3B5KShkb21haW4pO2Vuc0NhY2hlPXt9O2lmKGRvbWFpbi52ZXJpZnlpbmdDb250cmFjdCYmISgwLGxpYiQxLmlzSGV4U3RyaW5nKShkb21haW4udmVyaWZ5aW5nQ29udHJhY3QsMjApKXtlbnNDYWNoZVtkb21haW4udmVyaWZ5aW5nQ29udHJhY3RdPSIweCJ9ZW5jb2Rlcj1UeXBlZERhdGFFbmNvZGVyLmZyb20odHlwZXMpO2VuY29kZXIudmlzaXQodmFsdWUsZnVuY3Rpb24odHlwZSx2YWx1ZSl7aWYodHlwZT09PSJhZGRyZXNzIiYmISgwLGxpYiQxLmlzSGV4U3RyaW5nKSh2YWx1ZSwyMCkpe2Vuc0NhY2hlW3ZhbHVlXT0iMHgifXJldHVybiB2YWx1ZX0pO19hPVtdO2ZvcihfYiBpbiBlbnNDYWNoZSlfYS5wdXNoKF9iKTtfaT0wO19lLmxhYmVsPTE7Y2FzZSAxOmlmKCEoX2k8X2EubGVuZ3RoKSlyZXR1cm5bMyw0XTtuYW1lXzQ9X2FbX2ldO19jPWVuc0NhY2hlO19kPW5hbWVfNDtyZXR1cm5bNCxyZXNvbHZlTmFtZShuYW1lXzQpXTtjYXNlIDI6X2NbX2RdPV9lLnNlbnQoKTtfZS5sYWJlbD0zO2Nhc2UgMzpfaSsrO3JldHVyblszLDFdO2Nhc2UgNDppZihkb21haW4udmVyaWZ5aW5nQ29udHJhY3QmJmVuc0NhY2hlW2RvbWFpbi52ZXJpZnlpbmdDb250cmFjdF0pe2RvbWFpbi52ZXJpZnlpbmdDb250cmFjdD1lbnNDYWNoZVtkb21haW4udmVyaWZ5aW5nQ29udHJhY3RdfXZhbHVlPWVuY29kZXIudmlzaXQodmFsdWUsZnVuY3Rpb24odHlwZSx2YWx1ZSl7aWYodHlwZT09PSJhZGRyZXNzIiYmZW5zQ2FjaGVbdmFsdWVdKXtyZXR1cm4gZW5zQ2FjaGVbdmFsdWVdfXJldHVybiB2YWx1ZX0pO3JldHVyblsyLHtkb21haW46ZG9tYWluLHZhbHVlOnZhbHVlfV19fSl9KX07VHlwZWREYXRhRW5jb2Rlci5nZXRQYXlsb2FkPWZ1bmN0aW9uKGRvbWFpbix0eXBlcyx2YWx1ZSl7VHlwZWREYXRhRW5jb2Rlci5oYXNoRG9tYWluKGRvbWFpbik7dmFyIGRvbWFpblZhbHVlcz17fTt2YXIgZG9tYWluVHlwZXM9W107ZG9tYWluRmllbGROYW1lcy5mb3JFYWNoKGZ1bmN0aW9uKG5hbWUpe3ZhciB2YWx1ZT1kb21haW5bbmFtZV07aWYodmFsdWU9PW51bGwpe3JldHVybn1kb21haW5WYWx1ZXNbbmFtZV09ZG9tYWluQ2hlY2tzW25hbWVdKHZhbHVlKTtkb21haW5UeXBlcy5wdXNoKHtuYW1lOm5hbWUsdHlwZTpkb21haW5GaWVsZFR5cGVzW25hbWVdfSl9KTt2YXIgZW5jb2Rlcj1UeXBlZERhdGFFbmNvZGVyLmZyb20odHlwZXMpO3ZhciB0eXBlc1dpdGhEb21haW49KDAsbGliJDMuc2hhbGxvd0NvcHkpKHR5cGVzKTtpZih0eXBlc1dpdGhEb21haW4uRUlQNzEyRG9tYWluKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJ0eXBlcyBtdXN0IG5vdCBjb250YWluIEVJUDcxMkRvbWFpbiB0eXBlIiwidHlwZXMuRUlQNzEyRG9tYWluIix0eXBlcyl9ZWxzZXt0eXBlc1dpdGhEb21haW4uRUlQNzEyRG9tYWluPWRvbWFpblR5cGVzfWVuY29kZXIuZW5jb2RlKHZhbHVlKTtyZXR1cm57dHlwZXM6dHlwZXNXaXRoRG9tYWluLGRvbWFpbjpkb21haW5WYWx1ZXMscHJpbWFyeVR5cGU6ZW5jb2Rlci5wcmltYXJ5VHlwZSxtZXNzYWdlOmVuY29kZXIudmlzaXQodmFsdWUsZnVuY3Rpb24odHlwZSx2YWx1ZSl7aWYodHlwZS5tYXRjaCgvXmJ5dGVzKFxkKikvKSl7cmV0dXJuKDAsbGliJDEuaGV4bGlmeSkoKDAsbGliJDEuYXJyYXlpZnkpKHZhbHVlKSl9aWYodHlwZS5tYXRjaCgvXnU/aW50Lykpe3JldHVybiBsaWIkMi5CaWdOdW1iZXIuZnJvbSh2YWx1ZSkudG9TdHJpbmcoKX1zd2l0Y2godHlwZSl7Y2FzZSJhZGRyZXNzIjpyZXR1cm4gdmFsdWUudG9Mb3dlckNhc2UoKTtjYXNlImJvb2wiOnJldHVybiEhdmFsdWU7Y2FzZSJzdHJpbmciOmlmKHR5cGVvZiB2YWx1ZSE9PSJzdHJpbmciKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIHN0cmluZyIsInZhbHVlIix2YWx1ZSl9cmV0dXJuIHZhbHVlfXJldHVybiBsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJ1bnN1cHBvcnRlZCB0eXBlIiwidHlwZSIsdHlwZSl9KX19O3JldHVybiBUeXBlZERhdGFFbmNvZGVyfSgpO2V4cG9ydHMuVHlwZWREYXRhRW5jb2Rlcj1UeXBlZERhdGFFbmNvZGVyfSk7dmFyIHR5cGVkRGF0YSQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKHR5cGVkRGF0YSk7dmFyIGxpYiRjPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5fVHlwZWREYXRhRW5jb2Rlcj1leHBvcnRzLmhhc2hNZXNzYWdlPWV4cG9ydHMubWVzc2FnZVByZWZpeD1leHBvcnRzLmVuc05vcm1hbGl6ZT1leHBvcnRzLmlzVmFsaWROYW1lPWV4cG9ydHMubmFtZWhhc2g9ZXhwb3J0cy5kbnNFbmNvZGU9ZXhwb3J0cy5pZD12b2lkIDA7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImlkIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBpZF8xLmlkfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJkbnNFbmNvZGUiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG5hbWVoYXNoXzEuZG5zRW5jb2RlfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJpc1ZhbGlkTmFtZSIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbmFtZWhhc2hfMS5pc1ZhbGlkTmFtZX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywibmFtZWhhc2giLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG5hbWVoYXNoXzEubmFtZWhhc2h9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImhhc2hNZXNzYWdlIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBtZXNzYWdlLmhhc2hNZXNzYWdlfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJtZXNzYWdlUHJlZml4Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBtZXNzYWdlLm1lc3NhZ2VQcmVmaXh9fSk7dmFyIG5hbWVoYXNoXzI9bmFtZWhhc2hfMTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiZW5zTm9ybWFsaXplIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBuYW1laGFzaF8yLmVuc05vcm1hbGl6ZX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX1R5cGVkRGF0YUVuY29kZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVkRGF0YS5UeXBlZERhdGFFbmNvZGVyfX0pfSk7dmFyIGluZGV4JGE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMobGliJGMpO3ZhciBfaW50ZXJmYWNlPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuSW50ZXJmYWNlPWV4cG9ydHMuSW5kZXhlZD1leHBvcnRzLkVycm9yRGVzY3JpcHRpb249ZXhwb3J0cy5UcmFuc2FjdGlvbkRlc2NyaXB0aW9uPWV4cG9ydHMuTG9nRGVzY3JpcHRpb249ZXhwb3J0cy5jaGVja1Jlc3VsdEVycm9ycz12b2lkIDA7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImNoZWNrUmVzdWx0RXJyb3JzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBhYnN0cmFjdENvZGVyLmNoZWNrUmVzdWx0RXJyb3JzfX0pO3ZhciBsb2dnZXI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kOC52ZXJzaW9uKTt2YXIgTG9nRGVzY3JpcHRpb249ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoTG9nRGVzY3JpcHRpb24sX3N1cGVyKTtmdW5jdGlvbiBMb2dEZXNjcmlwdGlvbigpe3JldHVybiBfc3VwZXIhPT1udWxsJiZfc3VwZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBMb2dEZXNjcmlwdGlvbn0obGliJDMuRGVzY3JpcHRpb24pO2V4cG9ydHMuTG9nRGVzY3JpcHRpb249TG9nRGVzY3JpcHRpb247dmFyIFRyYW5zYWN0aW9uRGVzY3JpcHRpb249ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoVHJhbnNhY3Rpb25EZXNjcmlwdGlvbixfc3VwZXIpO2Z1bmN0aW9uIFRyYW5zYWN0aW9uRGVzY3JpcHRpb24oKXtyZXR1cm4gX3N1cGVyIT09bnVsbCYmX3N1cGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gVHJhbnNhY3Rpb25EZXNjcmlwdGlvbn0obGliJDMuRGVzY3JpcHRpb24pO2V4cG9ydHMuVHJhbnNhY3Rpb25EZXNjcmlwdGlvbj1UcmFuc2FjdGlvbkRlc2NyaXB0aW9uO3ZhciBFcnJvckRlc2NyaXB0aW9uPWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEVycm9yRGVzY3JpcHRpb24sX3N1cGVyKTtmdW5jdGlvbiBFcnJvckRlc2NyaXB0aW9uKCl7cmV0dXJuIF9zdXBlciE9PW51bGwmJl9zdXBlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIEVycm9yRGVzY3JpcHRpb259KGxpYiQzLkRlc2NyaXB0aW9uKTtleHBvcnRzLkVycm9yRGVzY3JpcHRpb249RXJyb3JEZXNjcmlwdGlvbjt2YXIgSW5kZXhlZD1mdW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhJbmRleGVkLF9zdXBlcik7ZnVuY3Rpb24gSW5kZXhlZCgpe3JldHVybiBfc3VwZXIhPT1udWxsJiZfc3VwZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfUluZGV4ZWQuaXNJbmRleGVkPWZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4hISh2YWx1ZSYmdmFsdWUuX2lzSW5kZXhlZCl9O3JldHVybiBJbmRleGVkfShsaWIkMy5EZXNjcmlwdGlvbik7ZXhwb3J0cy5JbmRleGVkPUluZGV4ZWQ7dmFyIEJ1aWx0aW5FcnJvcnM9eyIweDA4YzM3OWEwIjp7c2lnbmF0dXJlOiJFcnJvcihzdHJpbmcpIixuYW1lOiJFcnJvciIsaW5wdXRzOlsic3RyaW5nIl0scmVhc29uOnRydWV9LCIweDRlNDg3YjcxIjp7c2lnbmF0dXJlOiJQYW5pYyh1aW50MjU2KSIsbmFtZToiUGFuaWMiLGlucHV0czpbInVpbnQyNTYiXX19O2Z1bmN0aW9uIHdyYXBBY2Nlc3NFcnJvcihwcm9wZXJ0eSxlcnJvcil7dmFyIHdyYXA9bmV3IEVycm9yKCJkZWZlcnJlZCBlcnJvciBkdXJpbmcgQUJJIGRlY29kaW5nIHRyaWdnZXJlZCBhY2Nlc3NpbmcgIitwcm9wZXJ0eSk7d3JhcC5lcnJvcj1lcnJvcjtyZXR1cm4gd3JhcH12YXIgSW50ZXJmYWNlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gSW50ZXJmYWNlKGZyYWdtZW50cyQxKXt2YXIgX25ld1RhcmdldD10aGlzLmNvbnN0cnVjdG9yO3ZhciBfdGhpcz10aGlzO3ZhciBhYmk9W107aWYodHlwZW9mIGZyYWdtZW50cyQxPT09InN0cmluZyIpe2FiaT1KU09OLnBhcnNlKGZyYWdtZW50cyQxKX1lbHNle2FiaT1mcmFnbWVudHMkMX0oMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywiZnJhZ21lbnRzIixhYmkubWFwKGZ1bmN0aW9uKGZyYWdtZW50KXtyZXR1cm4gZnJhZ21lbnRzLkZyYWdtZW50LmZyb20oZnJhZ21lbnQpfSkuZmlsdGVyKGZ1bmN0aW9uKGZyYWdtZW50KXtyZXR1cm4gZnJhZ21lbnQhPW51bGx9KSk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIl9hYmlDb2RlciIsKDAsbGliJDMuZ2V0U3RhdGljKShfbmV3VGFyZ2V0LCJnZXRBYmlDb2RlciIpKCkpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJmdW5jdGlvbnMiLHt9KTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywiZXJyb3JzIix7fSk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImV2ZW50cyIse30pOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJzdHJ1Y3RzIix7fSk7dGhpcy5mcmFnbWVudHMuZm9yRWFjaChmdW5jdGlvbihmcmFnbWVudCl7dmFyIGJ1Y2tldD1udWxsO3N3aXRjaChmcmFnbWVudC50eXBlKXtjYXNlImNvbnN0cnVjdG9yIjppZihfdGhpcy5kZXBsb3kpe2xvZ2dlci53YXJuKCJkdXBsaWNhdGUgZGVmaW5pdGlvbiAtIGNvbnN0cnVjdG9yIik7cmV0dXJufSgwLGxpYiQzLmRlZmluZVJlYWRPbmx5KShfdGhpcywiZGVwbG95IixmcmFnbWVudCk7cmV0dXJuO2Nhc2UiZnVuY3Rpb24iOmJ1Y2tldD1fdGhpcy5mdW5jdGlvbnM7YnJlYWs7Y2FzZSJldmVudCI6YnVja2V0PV90aGlzLmV2ZW50czticmVhaztjYXNlImVycm9yIjpidWNrZXQ9X3RoaXMuZXJyb3JzO2JyZWFrO2RlZmF1bHQ6cmV0dXJufXZhciBzaWduYXR1cmU9ZnJhZ21lbnQuZm9ybWF0KCk7aWYoYnVja2V0W3NpZ25hdHVyZV0pe2xvZ2dlci53YXJuKCJkdXBsaWNhdGUgZGVmaW5pdGlvbiAtICIrc2lnbmF0dXJlKTtyZXR1cm59YnVja2V0W3NpZ25hdHVyZV09ZnJhZ21lbnR9KTtpZighdGhpcy5kZXBsb3kpeygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJkZXBsb3kiLGZyYWdtZW50cy5Db25zdHJ1Y3RvckZyYWdtZW50LmZyb20oe3BheWFibGU6ZmFsc2UsdHlwZToiY29uc3RydWN0b3IifSkpfSgwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJfaXNJbnRlcmZhY2UiLHRydWUpfUludGVyZmFjZS5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKGZvcm1hdCl7aWYoIWZvcm1hdCl7Zm9ybWF0PWZyYWdtZW50cy5Gb3JtYXRUeXBlcy5mdWxsfWlmKGZvcm1hdD09PWZyYWdtZW50cy5Gb3JtYXRUeXBlcy5zaWdoYXNoKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnRlcmZhY2UgZG9lcyBub3Qgc3VwcG9ydCBmb3JtYXR0aW5nIHNpZ2hhc2giLCJmb3JtYXQiLGZvcm1hdCl9dmFyIGFiaT10aGlzLmZyYWdtZW50cy5tYXAoZnVuY3Rpb24oZnJhZ21lbnQpe3JldHVybiBmcmFnbWVudC5mb3JtYXQoZm9ybWF0KX0pO2lmKGZvcm1hdD09PWZyYWdtZW50cy5Gb3JtYXRUeXBlcy5qc29uKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoYWJpLm1hcChmdW5jdGlvbihqKXtyZXR1cm4gSlNPTi5wYXJzZShqKX0pKX1yZXR1cm4gYWJpfTtJbnRlcmZhY2UuZ2V0QWJpQ29kZXI9ZnVuY3Rpb24oKXtyZXR1cm4gYWJpQ29kZXIuZGVmYXVsdEFiaUNvZGVyfTtJbnRlcmZhY2UuZ2V0QWRkcmVzcz1mdW5jdGlvbihhZGRyZXNzKXtyZXR1cm4oMCxsaWIkNi5nZXRBZGRyZXNzKShhZGRyZXNzKX07SW50ZXJmYWNlLmdldFNpZ2hhc2g9ZnVuY3Rpb24oZnJhZ21lbnQpe3JldHVybigwLGxpYiQxLmhleERhdGFTbGljZSkoKDAsbGliJGMuaWQpKGZyYWdtZW50LmZvcm1hdCgpKSwwLDQpfTtJbnRlcmZhY2UuZ2V0RXZlbnRUb3BpYz1mdW5jdGlvbihldmVudEZyYWdtZW50KXtyZXR1cm4oMCxsaWIkYy5pZCkoZXZlbnRGcmFnbWVudC5mb3JtYXQoKSl9O0ludGVyZmFjZS5wcm90b3R5cGUuZ2V0RnVuY3Rpb249ZnVuY3Rpb24obmFtZU9yU2lnbmF0dXJlT3JTaWdoYXNoKXtpZigoMCxsaWIkMS5pc0hleFN0cmluZykobmFtZU9yU2lnbmF0dXJlT3JTaWdoYXNoKSl7Zm9yKHZhciBuYW1lXzEgaW4gdGhpcy5mdW5jdGlvbnMpe2lmKG5hbWVPclNpZ25hdHVyZU9yU2lnaGFzaD09PXRoaXMuZ2V0U2lnaGFzaChuYW1lXzEpKXtyZXR1cm4gdGhpcy5mdW5jdGlvbnNbbmFtZV8xXX19bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigibm8gbWF0Y2hpbmcgZnVuY3Rpb24iLCJzaWdoYXNoIixuYW1lT3JTaWduYXR1cmVPclNpZ2hhc2gpfWlmKG5hbWVPclNpZ25hdHVyZU9yU2lnaGFzaC5pbmRleE9mKCIoIik9PT0tMSl7dmFyIG5hbWVfMj1uYW1lT3JTaWduYXR1cmVPclNpZ2hhc2gudHJpbSgpO3ZhciBtYXRjaGluZz1PYmplY3Qua2V5cyh0aGlzLmZ1bmN0aW9ucykuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiBmLnNwbGl0KCIoIilbMF09PT1uYW1lXzJ9KTtpZihtYXRjaGluZy5sZW5ndGg9PT0wKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJubyBtYXRjaGluZyBmdW5jdGlvbiIsIm5hbWUiLG5hbWVfMil9ZWxzZSBpZihtYXRjaGluZy5sZW5ndGg+MSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigibXVsdGlwbGUgbWF0Y2hpbmcgZnVuY3Rpb25zIiwibmFtZSIsbmFtZV8yKX1yZXR1cm4gdGhpcy5mdW5jdGlvbnNbbWF0Y2hpbmdbMF1dfXZhciByZXN1bHQ9dGhpcy5mdW5jdGlvbnNbZnJhZ21lbnRzLkZ1bmN0aW9uRnJhZ21lbnQuZnJvbVN0cmluZyhuYW1lT3JTaWduYXR1cmVPclNpZ2hhc2gpLmZvcm1hdCgpXTtpZighcmVzdWx0KXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJubyBtYXRjaGluZyBmdW5jdGlvbiIsInNpZ25hdHVyZSIsbmFtZU9yU2lnbmF0dXJlT3JTaWdoYXNoKX1yZXR1cm4gcmVzdWx0fTtJbnRlcmZhY2UucHJvdG90eXBlLmdldEV2ZW50PWZ1bmN0aW9uKG5hbWVPclNpZ25hdHVyZU9yVG9waWMpe2lmKCgwLGxpYiQxLmlzSGV4U3RyaW5nKShuYW1lT3JTaWduYXR1cmVPclRvcGljKSl7dmFyIHRvcGljaGFzaD1uYW1lT3JTaWduYXR1cmVPclRvcGljLnRvTG93ZXJDYXNlKCk7Zm9yKHZhciBuYW1lXzMgaW4gdGhpcy5ldmVudHMpe2lmKHRvcGljaGFzaD09PXRoaXMuZ2V0RXZlbnRUb3BpYyhuYW1lXzMpKXtyZXR1cm4gdGhpcy5ldmVudHNbbmFtZV8zXX19bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigibm8gbWF0Y2hpbmcgZXZlbnQiLCJ0b3BpY2hhc2giLHRvcGljaGFzaCl9aWYobmFtZU9yU2lnbmF0dXJlT3JUb3BpYy5pbmRleE9mKCIoIik9PT0tMSl7dmFyIG5hbWVfND1uYW1lT3JTaWduYXR1cmVPclRvcGljLnRyaW0oKTt2YXIgbWF0Y2hpbmc9T2JqZWN0LmtleXModGhpcy5ldmVudHMpLmZpbHRlcihmdW5jdGlvbihmKXtyZXR1cm4gZi5zcGxpdCgiKCIpWzBdPT09bmFtZV80fSk7aWYobWF0Y2hpbmcubGVuZ3RoPT09MCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigibm8gbWF0Y2hpbmcgZXZlbnQiLCJuYW1lIixuYW1lXzQpfWVsc2UgaWYobWF0Y2hpbmcubGVuZ3RoPjEpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoIm11bHRpcGxlIG1hdGNoaW5nIGV2ZW50cyIsIm5hbWUiLG5hbWVfNCl9cmV0dXJuIHRoaXMuZXZlbnRzW21hdGNoaW5nWzBdXX12YXIgcmVzdWx0PXRoaXMuZXZlbnRzW2ZyYWdtZW50cy5FdmVudEZyYWdtZW50LmZyb21TdHJpbmcobmFtZU9yU2lnbmF0dXJlT3JUb3BpYykuZm9ybWF0KCldO2lmKCFyZXN1bHQpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoIm5vIG1hdGNoaW5nIGV2ZW50Iiwic2lnbmF0dXJlIixuYW1lT3JTaWduYXR1cmVPclRvcGljKX1yZXR1cm4gcmVzdWx0fTtJbnRlcmZhY2UucHJvdG90eXBlLmdldEVycm9yPWZ1bmN0aW9uKG5hbWVPclNpZ25hdHVyZU9yU2lnaGFzaCl7aWYoKDAsbGliJDEuaXNIZXhTdHJpbmcpKG5hbWVPclNpZ25hdHVyZU9yU2lnaGFzaCkpe3ZhciBnZXRTaWdoYXNoPSgwLGxpYiQzLmdldFN0YXRpYykodGhpcy5jb25zdHJ1Y3RvciwiZ2V0U2lnaGFzaCIpO2Zvcih2YXIgbmFtZV81IGluIHRoaXMuZXJyb3JzKXt2YXIgZXJyb3I9dGhpcy5lcnJvcnNbbmFtZV81XTtpZihuYW1lT3JTaWduYXR1cmVPclNpZ2hhc2g9PT1nZXRTaWdoYXNoKGVycm9yKSl7cmV0dXJuIHRoaXMuZXJyb3JzW25hbWVfNV19fWxvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoIm5vIG1hdGNoaW5nIGVycm9yIiwic2lnaGFzaCIsbmFtZU9yU2lnbmF0dXJlT3JTaWdoYXNoKX1pZihuYW1lT3JTaWduYXR1cmVPclNpZ2hhc2guaW5kZXhPZigiKCIpPT09LTEpe3ZhciBuYW1lXzY9bmFtZU9yU2lnbmF0dXJlT3JTaWdoYXNoLnRyaW0oKTt2YXIgbWF0Y2hpbmc9T2JqZWN0LmtleXModGhpcy5lcnJvcnMpLmZpbHRlcihmdW5jdGlvbihmKXtyZXR1cm4gZi5zcGxpdCgiKCIpWzBdPT09bmFtZV82fSk7aWYobWF0Y2hpbmcubGVuZ3RoPT09MCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigibm8gbWF0Y2hpbmcgZXJyb3IiLCJuYW1lIixuYW1lXzYpfWVsc2UgaWYobWF0Y2hpbmcubGVuZ3RoPjEpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoIm11bHRpcGxlIG1hdGNoaW5nIGVycm9ycyIsIm5hbWUiLG5hbWVfNil9cmV0dXJuIHRoaXMuZXJyb3JzW21hdGNoaW5nWzBdXX12YXIgcmVzdWx0PXRoaXMuZXJyb3JzW2ZyYWdtZW50cy5GdW5jdGlvbkZyYWdtZW50LmZyb21TdHJpbmcobmFtZU9yU2lnbmF0dXJlT3JTaWdoYXNoKS5mb3JtYXQoKV07aWYoIXJlc3VsdCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigibm8gbWF0Y2hpbmcgZXJyb3IiLCJzaWduYXR1cmUiLG5hbWVPclNpZ25hdHVyZU9yU2lnaGFzaCl9cmV0dXJuIHJlc3VsdH07SW50ZXJmYWNlLnByb3RvdHlwZS5nZXRTaWdoYXNoPWZ1bmN0aW9uKGZyYWdtZW50KXtpZih0eXBlb2YgZnJhZ21lbnQ9PT0ic3RyaW5nIil7dHJ5e2ZyYWdtZW50PXRoaXMuZ2V0RnVuY3Rpb24oZnJhZ21lbnQpfWNhdGNoKGVycm9yKXt0cnl7ZnJhZ21lbnQ9dGhpcy5nZXRFcnJvcihmcmFnbWVudCl9Y2F0Y2goXyl7dGhyb3cgZXJyb3J9fX1yZXR1cm4oMCxsaWIkMy5nZXRTdGF0aWMpKHRoaXMuY29uc3RydWN0b3IsImdldFNpZ2hhc2giKShmcmFnbWVudCl9O0ludGVyZmFjZS5wcm90b3R5cGUuZ2V0RXZlbnRUb3BpYz1mdW5jdGlvbihldmVudEZyYWdtZW50KXtpZih0eXBlb2YgZXZlbnRGcmFnbWVudD09PSJzdHJpbmciKXtldmVudEZyYWdtZW50PXRoaXMuZ2V0RXZlbnQoZXZlbnRGcmFnbWVudCl9cmV0dXJuKDAsbGliJDMuZ2V0U3RhdGljKSh0aGlzLmNvbnN0cnVjdG9yLCJnZXRFdmVudFRvcGljIikoZXZlbnRGcmFnbWVudCl9O0ludGVyZmFjZS5wcm90b3R5cGUuX2RlY29kZVBhcmFtcz1mdW5jdGlvbihwYXJhbXMsZGF0YSl7cmV0dXJuIHRoaXMuX2FiaUNvZGVyLmRlY29kZShwYXJhbXMsZGF0YSl9O0ludGVyZmFjZS5wcm90b3R5cGUuX2VuY29kZVBhcmFtcz1mdW5jdGlvbihwYXJhbXMsdmFsdWVzKXtyZXR1cm4gdGhpcy5fYWJpQ29kZXIuZW5jb2RlKHBhcmFtcyx2YWx1ZXMpfTtJbnRlcmZhY2UucHJvdG90eXBlLmVuY29kZURlcGxveT1mdW5jdGlvbih2YWx1ZXMpe3JldHVybiB0aGlzLl9lbmNvZGVQYXJhbXModGhpcy5kZXBsb3kuaW5wdXRzLHZhbHVlc3x8W10pfTtJbnRlcmZhY2UucHJvdG90eXBlLmRlY29kZUVycm9yUmVzdWx0PWZ1bmN0aW9uKGZyYWdtZW50LGRhdGEpe2lmKHR5cGVvZiBmcmFnbWVudD09PSJzdHJpbmciKXtmcmFnbWVudD10aGlzLmdldEVycm9yKGZyYWdtZW50KX12YXIgYnl0ZXM9KDAsbGliJDEuYXJyYXlpZnkpKGRhdGEpO2lmKCgwLGxpYiQxLmhleGxpZnkpKGJ5dGVzLnNsaWNlKDAsNCkpIT09dGhpcy5nZXRTaWdoYXNoKGZyYWdtZW50KSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiZGF0YSBzaWduYXR1cmUgZG9lcyBub3QgbWF0Y2ggZXJyb3IgIitmcmFnbWVudC5uYW1lKyIuIiwiZGF0YSIsKDAsbGliJDEuaGV4bGlmeSkoYnl0ZXMpKX1yZXR1cm4gdGhpcy5fZGVjb2RlUGFyYW1zKGZyYWdtZW50LmlucHV0cyxieXRlcy5zbGljZSg0KSl9O0ludGVyZmFjZS5wcm90b3R5cGUuZW5jb2RlRXJyb3JSZXN1bHQ9ZnVuY3Rpb24oZnJhZ21lbnQsdmFsdWVzKXtpZih0eXBlb2YgZnJhZ21lbnQ9PT0ic3RyaW5nIil7ZnJhZ21lbnQ9dGhpcy5nZXRFcnJvcihmcmFnbWVudCl9cmV0dXJuKDAsbGliJDEuaGV4bGlmeSkoKDAsbGliJDEuY29uY2F0KShbdGhpcy5nZXRTaWdoYXNoKGZyYWdtZW50KSx0aGlzLl9lbmNvZGVQYXJhbXMoZnJhZ21lbnQuaW5wdXRzLHZhbHVlc3x8W10pXSkpfTtJbnRlcmZhY2UucHJvdG90eXBlLmRlY29kZUZ1bmN0aW9uRGF0YT1mdW5jdGlvbihmdW5jdGlvbkZyYWdtZW50LGRhdGEpe2lmKHR5cGVvZiBmdW5jdGlvbkZyYWdtZW50PT09InN0cmluZyIpe2Z1bmN0aW9uRnJhZ21lbnQ9dGhpcy5nZXRGdW5jdGlvbihmdW5jdGlvbkZyYWdtZW50KX12YXIgYnl0ZXM9KDAsbGliJDEuYXJyYXlpZnkpKGRhdGEpO2lmKCgwLGxpYiQxLmhleGxpZnkpKGJ5dGVzLnNsaWNlKDAsNCkpIT09dGhpcy5nZXRTaWdoYXNoKGZ1bmN0aW9uRnJhZ21lbnQpKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJkYXRhIHNpZ25hdHVyZSBkb2VzIG5vdCBtYXRjaCBmdW5jdGlvbiAiK2Z1bmN0aW9uRnJhZ21lbnQubmFtZSsiLiIsImRhdGEiLCgwLGxpYiQxLmhleGxpZnkpKGJ5dGVzKSl9cmV0dXJuIHRoaXMuX2RlY29kZVBhcmFtcyhmdW5jdGlvbkZyYWdtZW50LmlucHV0cyxieXRlcy5zbGljZSg0KSl9O0ludGVyZmFjZS5wcm90b3R5cGUuZW5jb2RlRnVuY3Rpb25EYXRhPWZ1bmN0aW9uKGZ1bmN0aW9uRnJhZ21lbnQsdmFsdWVzKXtpZih0eXBlb2YgZnVuY3Rpb25GcmFnbWVudD09PSJzdHJpbmciKXtmdW5jdGlvbkZyYWdtZW50PXRoaXMuZ2V0RnVuY3Rpb24oZnVuY3Rpb25GcmFnbWVudCl9cmV0dXJuKDAsbGliJDEuaGV4bGlmeSkoKDAsbGliJDEuY29uY2F0KShbdGhpcy5nZXRTaWdoYXNoKGZ1bmN0aW9uRnJhZ21lbnQpLHRoaXMuX2VuY29kZVBhcmFtcyhmdW5jdGlvbkZyYWdtZW50LmlucHV0cyx2YWx1ZXN8fFtdKV0pKX07SW50ZXJmYWNlLnByb3RvdHlwZS5kZWNvZGVGdW5jdGlvblJlc3VsdD1mdW5jdGlvbihmdW5jdGlvbkZyYWdtZW50LGRhdGEpe2lmKHR5cGVvZiBmdW5jdGlvbkZyYWdtZW50PT09InN0cmluZyIpe2Z1bmN0aW9uRnJhZ21lbnQ9dGhpcy5nZXRGdW5jdGlvbihmdW5jdGlvbkZyYWdtZW50KX12YXIgYnl0ZXM9KDAsbGliJDEuYXJyYXlpZnkpKGRhdGEpO3ZhciByZWFzb249bnVsbDt2YXIgbWVzc2FnZT0iIjt2YXIgZXJyb3JBcmdzPW51bGw7dmFyIGVycm9yTmFtZT1udWxsO3ZhciBlcnJvclNpZ25hdHVyZT1udWxsO3N3aXRjaChieXRlcy5sZW5ndGgldGhpcy5fYWJpQ29kZXIuX2dldFdvcmRTaXplKCkpe2Nhc2UgMDp0cnl7cmV0dXJuIHRoaXMuX2FiaUNvZGVyLmRlY29kZShmdW5jdGlvbkZyYWdtZW50Lm91dHB1dHMsYnl0ZXMpfWNhdGNoKGVycm9yKXt9YnJlYWs7Y2FzZSA0Ont2YXIgc2VsZWN0b3I9KDAsbGliJDEuaGV4bGlmeSkoYnl0ZXMuc2xpY2UoMCw0KSk7dmFyIGJ1aWx0aW49QnVpbHRpbkVycm9yc1tzZWxlY3Rvcl07aWYoYnVpbHRpbil7ZXJyb3JBcmdzPXRoaXMuX2FiaUNvZGVyLmRlY29kZShidWlsdGluLmlucHV0cyxieXRlcy5zbGljZSg0KSk7ZXJyb3JOYW1lPWJ1aWx0aW4ubmFtZTtlcnJvclNpZ25hdHVyZT1idWlsdGluLnNpZ25hdHVyZTtpZihidWlsdGluLnJlYXNvbil7cmVhc29uPWVycm9yQXJnc1swXX1pZihlcnJvck5hbWU9PT0iRXJyb3IiKXttZXNzYWdlPSI7IFZNIEV4Y2VwdGlvbiB3aGlsZSBwcm9jZXNzaW5nIHRyYW5zYWN0aW9uOiByZXZlcnRlZCB3aXRoIHJlYXNvbiBzdHJpbmcgIitKU09OLnN0cmluZ2lmeShlcnJvckFyZ3NbMF0pfWVsc2UgaWYoZXJyb3JOYW1lPT09IlBhbmljIil7bWVzc2FnZT0iOyBWTSBFeGNlcHRpb24gd2hpbGUgcHJvY2Vzc2luZyB0cmFuc2FjdGlvbjogcmV2ZXJ0ZWQgd2l0aCBwYW5pYyBjb2RlICIrZXJyb3JBcmdzWzBdfX1lbHNle3RyeXt2YXIgZXJyb3I9dGhpcy5nZXRFcnJvcihzZWxlY3Rvcik7ZXJyb3JBcmdzPXRoaXMuX2FiaUNvZGVyLmRlY29kZShlcnJvci5pbnB1dHMsYnl0ZXMuc2xpY2UoNCkpO2Vycm9yTmFtZT1lcnJvci5uYW1lO2Vycm9yU2lnbmF0dXJlPWVycm9yLmZvcm1hdCgpfWNhdGNoKGVycm9yKXt9fWJyZWFrfX1yZXR1cm4gbG9nZ2VyLnRocm93RXJyb3IoImNhbGwgcmV2ZXJ0IGV4Y2VwdGlvbiIrbWVzc2FnZSxsaWIuTG9nZ2VyLmVycm9ycy5DQUxMX0VYQ0VQVElPTix7bWV0aG9kOmZ1bmN0aW9uRnJhZ21lbnQuZm9ybWF0KCksZGF0YTooMCxsaWIkMS5oZXhsaWZ5KShkYXRhKSxlcnJvckFyZ3M6ZXJyb3JBcmdzLGVycm9yTmFtZTplcnJvck5hbWUsZXJyb3JTaWduYXR1cmU6ZXJyb3JTaWduYXR1cmUscmVhc29uOnJlYXNvbn0pfTtJbnRlcmZhY2UucHJvdG90eXBlLmVuY29kZUZ1bmN0aW9uUmVzdWx0PWZ1bmN0aW9uKGZ1bmN0aW9uRnJhZ21lbnQsdmFsdWVzKXtpZih0eXBlb2YgZnVuY3Rpb25GcmFnbWVudD09PSJzdHJpbmciKXtmdW5jdGlvbkZyYWdtZW50PXRoaXMuZ2V0RnVuY3Rpb24oZnVuY3Rpb25GcmFnbWVudCl9cmV0dXJuKDAsbGliJDEuaGV4bGlmeSkodGhpcy5fYWJpQ29kZXIuZW5jb2RlKGZ1bmN0aW9uRnJhZ21lbnQub3V0cHV0cyx2YWx1ZXN8fFtdKSl9O0ludGVyZmFjZS5wcm90b3R5cGUuZW5jb2RlRmlsdGVyVG9waWNzPWZ1bmN0aW9uKGV2ZW50RnJhZ21lbnQsdmFsdWVzKXt2YXIgX3RoaXM9dGhpcztpZih0eXBlb2YgZXZlbnRGcmFnbWVudD09PSJzdHJpbmciKXtldmVudEZyYWdtZW50PXRoaXMuZ2V0RXZlbnQoZXZlbnRGcmFnbWVudCl9aWYodmFsdWVzLmxlbmd0aD5ldmVudEZyYWdtZW50LmlucHV0cy5sZW5ndGgpe2xvZ2dlci50aHJvd0Vycm9yKCJ0b28gbWFueSBhcmd1bWVudHMgZm9yICIrZXZlbnRGcmFnbWVudC5mb3JtYXQoKSxsaWIuTG9nZ2VyLmVycm9ycy5VTkVYUEVDVEVEX0FSR1VNRU5ULHthcmd1bWVudDoidmFsdWVzIix2YWx1ZTp2YWx1ZXN9KX12YXIgdG9waWNzPVtdO2lmKCFldmVudEZyYWdtZW50LmFub255bW91cyl7dG9waWNzLnB1c2godGhpcy5nZXRFdmVudFRvcGljKGV2ZW50RnJhZ21lbnQpKX12YXIgZW5jb2RlVG9waWM9ZnVuY3Rpb24ocGFyYW0sdmFsdWUpe2lmKHBhcmFtLnR5cGU9PT0ic3RyaW5nIil7cmV0dXJuKDAsbGliJGMuaWQpKHZhbHVlKX1lbHNlIGlmKHBhcmFtLnR5cGU9PT0iYnl0ZXMiKXtyZXR1cm4oMCxsaWIkNC5rZWNjYWsyNTYpKCgwLGxpYiQxLmhleGxpZnkpKHZhbHVlKSl9aWYocGFyYW0udHlwZT09PSJib29sIiYmdHlwZW9mIHZhbHVlPT09ImJvb2xlYW4iKXt2YWx1ZT12YWx1ZT8iMHgwMSI6IjB4MDAifWlmKHBhcmFtLnR5cGUubWF0Y2goL151P2ludC8pKXt2YWx1ZT1saWIkMi5CaWdOdW1iZXIuZnJvbSh2YWx1ZSkudG9IZXhTdHJpbmcoKX1pZihwYXJhbS50eXBlPT09ImFkZHJlc3MiKXtfdGhpcy5fYWJpQ29kZXIuZW5jb2RlKFsiYWRkcmVzcyJdLFt2YWx1ZV0pfXJldHVybigwLGxpYiQxLmhleFplcm9QYWQpKCgwLGxpYiQxLmhleGxpZnkpKHZhbHVlKSwzMil9O3ZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlLGluZGV4KXt2YXIgcGFyYW09ZXZlbnRGcmFnbWVudC5pbnB1dHNbaW5kZXhdO2lmKCFwYXJhbS5pbmRleGVkKXtpZih2YWx1ZSE9bnVsbCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiY2Fubm90IGZpbHRlciBub24taW5kZXhlZCBwYXJhbWV0ZXJzOyBtdXN0IGJlIG51bGwiLCJjb250cmFjdC4iK3BhcmFtLm5hbWUsdmFsdWUpfXJldHVybn1pZih2YWx1ZT09bnVsbCl7dG9waWNzLnB1c2gobnVsbCl9ZWxzZSBpZihwYXJhbS5iYXNlVHlwZT09PSJhcnJheSJ8fHBhcmFtLmJhc2VUeXBlPT09InR1cGxlIil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiZmlsdGVyaW5nIHdpdGggdHVwbGVzIG9yIGFycmF5cyBub3Qgc3VwcG9ydGVkIiwiY29udHJhY3QuIitwYXJhbS5uYW1lLHZhbHVlKX1lbHNlIGlmKEFycmF5LmlzQXJyYXkodmFsdWUpKXt0b3BpY3MucHVzaCh2YWx1ZS5tYXAoZnVuY3Rpb24odmFsdWUpe3JldHVybiBlbmNvZGVUb3BpYyhwYXJhbSx2YWx1ZSl9KSl9ZWxzZXt0b3BpY3MucHVzaChlbmNvZGVUb3BpYyhwYXJhbSx2YWx1ZSkpfX0pO3doaWxlKHRvcGljcy5sZW5ndGgmJnRvcGljc1t0b3BpY3MubGVuZ3RoLTFdPT09bnVsbCl7dG9waWNzLnBvcCgpfXJldHVybiB0b3BpY3N9O0ludGVyZmFjZS5wcm90b3R5cGUuZW5jb2RlRXZlbnRMb2c9ZnVuY3Rpb24oZXZlbnRGcmFnbWVudCx2YWx1ZXMpe3ZhciBfdGhpcz10aGlzO2lmKHR5cGVvZiBldmVudEZyYWdtZW50PT09InN0cmluZyIpe2V2ZW50RnJhZ21lbnQ9dGhpcy5nZXRFdmVudChldmVudEZyYWdtZW50KX12YXIgdG9waWNzPVtdO3ZhciBkYXRhVHlwZXM9W107dmFyIGRhdGFWYWx1ZXM9W107aWYoIWV2ZW50RnJhZ21lbnQuYW5vbnltb3VzKXt0b3BpY3MucHVzaCh0aGlzLmdldEV2ZW50VG9waWMoZXZlbnRGcmFnbWVudCkpfWlmKHZhbHVlcy5sZW5ndGghPT1ldmVudEZyYWdtZW50LmlucHV0cy5sZW5ndGgpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImV2ZW50IGFyZ3VtZW50cy92YWx1ZXMgbWlzbWF0Y2giLCJ2YWx1ZXMiLHZhbHVlcyl9ZXZlbnRGcmFnbWVudC5pbnB1dHMuZm9yRWFjaChmdW5jdGlvbihwYXJhbSxpbmRleCl7dmFyIHZhbHVlPXZhbHVlc1tpbmRleF07aWYocGFyYW0uaW5kZXhlZCl7aWYocGFyYW0udHlwZT09PSJzdHJpbmciKXt0b3BpY3MucHVzaCgoMCxsaWIkYy5pZCkodmFsdWUpKX1lbHNlIGlmKHBhcmFtLnR5cGU9PT0iYnl0ZXMiKXt0b3BpY3MucHVzaCgoMCxsaWIkNC5rZWNjYWsyNTYpKHZhbHVlKSl9ZWxzZSBpZihwYXJhbS5iYXNlVHlwZT09PSJ0dXBsZSJ8fHBhcmFtLmJhc2VUeXBlPT09ImFycmF5Iil7dGhyb3cgbmV3IEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX1lbHNle3RvcGljcy5wdXNoKF90aGlzLl9hYmlDb2Rlci5lbmNvZGUoW3BhcmFtLnR5cGVdLFt2YWx1ZV0pKX19ZWxzZXtkYXRhVHlwZXMucHVzaChwYXJhbSk7ZGF0YVZhbHVlcy5wdXNoKHZhbHVlKX19KTtyZXR1cm57ZGF0YTp0aGlzLl9hYmlDb2Rlci5lbmNvZGUoZGF0YVR5cGVzLGRhdGFWYWx1ZXMpLHRvcGljczp0b3BpY3N9fTtJbnRlcmZhY2UucHJvdG90eXBlLmRlY29kZUV2ZW50TG9nPWZ1bmN0aW9uKGV2ZW50RnJhZ21lbnQsZGF0YSx0b3BpY3Mpe2lmKHR5cGVvZiBldmVudEZyYWdtZW50PT09InN0cmluZyIpe2V2ZW50RnJhZ21lbnQ9dGhpcy5nZXRFdmVudChldmVudEZyYWdtZW50KX1pZih0b3BpY3MhPW51bGwmJiFldmVudEZyYWdtZW50LmFub255bW91cyl7dmFyIHRvcGljSGFzaD10aGlzLmdldEV2ZW50VG9waWMoZXZlbnRGcmFnbWVudCk7aWYoISgwLGxpYiQxLmlzSGV4U3RyaW5nKSh0b3BpY3NbMF0sMzIpfHx0b3BpY3NbMF0udG9Mb3dlckNhc2UoKSE9PXRvcGljSGFzaCl7bG9nZ2VyLnRocm93RXJyb3IoImZyYWdtZW50L3RvcGljIG1pc21hdGNoIixsaWIuTG9nZ2VyLmVycm9ycy5JTlZBTElEX0FSR1VNRU5ULHthcmd1bWVudDoidG9waWNzWzBdIixleHBlY3RlZDp0b3BpY0hhc2gsdmFsdWU6dG9waWNzWzBdfSl9dG9waWNzPXRvcGljcy5zbGljZSgxKX12YXIgaW5kZXhlZD1bXTt2YXIgbm9uSW5kZXhlZD1bXTt2YXIgZHluYW1pYz1bXTtldmVudEZyYWdtZW50LmlucHV0cy5mb3JFYWNoKGZ1bmN0aW9uKHBhcmFtLGluZGV4KXtpZihwYXJhbS5pbmRleGVkKXtpZihwYXJhbS50eXBlPT09InN0cmluZyJ8fHBhcmFtLnR5cGU9PT0iYnl0ZXMifHxwYXJhbS5iYXNlVHlwZT09PSJ0dXBsZSJ8fHBhcmFtLmJhc2VUeXBlPT09ImFycmF5Iil7aW5kZXhlZC5wdXNoKGZyYWdtZW50cy5QYXJhbVR5cGUuZnJvbU9iamVjdCh7dHlwZToiYnl0ZXMzMiIsbmFtZTpwYXJhbS5uYW1lfSkpO2R5bmFtaWMucHVzaCh0cnVlKX1lbHNle2luZGV4ZWQucHVzaChwYXJhbSk7ZHluYW1pYy5wdXNoKGZhbHNlKX19ZWxzZXtub25JbmRleGVkLnB1c2gocGFyYW0pO2R5bmFtaWMucHVzaChmYWxzZSl9fSk7dmFyIHJlc3VsdEluZGV4ZWQ9dG9waWNzIT1udWxsP3RoaXMuX2FiaUNvZGVyLmRlY29kZShpbmRleGVkLCgwLGxpYiQxLmNvbmNhdCkodG9waWNzKSk6bnVsbDt2YXIgcmVzdWx0Tm9uSW5kZXhlZD10aGlzLl9hYmlDb2Rlci5kZWNvZGUobm9uSW5kZXhlZCxkYXRhLHRydWUpO3ZhciByZXN1bHQ9W107dmFyIG5vbkluZGV4ZWRJbmRleD0wLGluZGV4ZWRJbmRleD0wO2V2ZW50RnJhZ21lbnQuaW5wdXRzLmZvckVhY2goZnVuY3Rpb24ocGFyYW0saW5kZXgpe2lmKHBhcmFtLmluZGV4ZWQpe2lmKHJlc3VsdEluZGV4ZWQ9PW51bGwpe3Jlc3VsdFtpbmRleF09bmV3IEluZGV4ZWQoe19pc0luZGV4ZWQ6dHJ1ZSxoYXNoOm51bGx9KX1lbHNlIGlmKGR5bmFtaWNbaW5kZXhdKXtyZXN1bHRbaW5kZXhdPW5ldyBJbmRleGVkKHtfaXNJbmRleGVkOnRydWUsaGFzaDpyZXN1bHRJbmRleGVkW2luZGV4ZWRJbmRleCsrXX0pfWVsc2V7dHJ5e3Jlc3VsdFtpbmRleF09cmVzdWx0SW5kZXhlZFtpbmRleGVkSW5kZXgrK119Y2F0Y2goZXJyb3Ipe3Jlc3VsdFtpbmRleF09ZXJyb3J9fX1lbHNle3RyeXtyZXN1bHRbaW5kZXhdPXJlc3VsdE5vbkluZGV4ZWRbbm9uSW5kZXhlZEluZGV4KytdfWNhdGNoKGVycm9yKXtyZXN1bHRbaW5kZXhdPWVycm9yfX1pZihwYXJhbS5uYW1lJiZyZXN1bHRbcGFyYW0ubmFtZV09PW51bGwpe3ZhciB2YWx1ZV8xPXJlc3VsdFtpbmRleF07aWYodmFsdWVfMSBpbnN0YW5jZW9mIEVycm9yKXtPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzdWx0LHBhcmFtLm5hbWUse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXt0aHJvdyB3cmFwQWNjZXNzRXJyb3IoInByb3BlcnR5ICIrSlNPTi5zdHJpbmdpZnkocGFyYW0ubmFtZSksdmFsdWVfMSl9fSl9ZWxzZXtyZXN1bHRbcGFyYW0ubmFtZV09dmFsdWVfMX19fSk7dmFyIF9sb29wXzE9ZnVuY3Rpb24oaSl7dmFyIHZhbHVlPXJlc3VsdFtpXTtpZih2YWx1ZSBpbnN0YW5jZW9mIEVycm9yKXtPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzdWx0LGkse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXt0aHJvdyB3cmFwQWNjZXNzRXJyb3IoImluZGV4ICIraSx2YWx1ZSl9fSl9fTtmb3IodmFyIGk9MDtpPHJlc3VsdC5sZW5ndGg7aSsrKXtfbG9vcF8xKGkpfXJldHVybiBPYmplY3QuZnJlZXplKHJlc3VsdCl9O0ludGVyZmFjZS5wcm90b3R5cGUucGFyc2VUcmFuc2FjdGlvbj1mdW5jdGlvbih0eCl7dmFyIGZyYWdtZW50PXRoaXMuZ2V0RnVuY3Rpb24odHguZGF0YS5zdWJzdHJpbmcoMCwxMCkudG9Mb3dlckNhc2UoKSk7aWYoIWZyYWdtZW50KXtyZXR1cm4gbnVsbH1yZXR1cm4gbmV3IFRyYW5zYWN0aW9uRGVzY3JpcHRpb24oe2FyZ3M6dGhpcy5fYWJpQ29kZXIuZGVjb2RlKGZyYWdtZW50LmlucHV0cywiMHgiK3R4LmRhdGEuc3Vic3RyaW5nKDEwKSksZnVuY3Rpb25GcmFnbWVudDpmcmFnbWVudCxuYW1lOmZyYWdtZW50Lm5hbWUsc2lnbmF0dXJlOmZyYWdtZW50LmZvcm1hdCgpLHNpZ2hhc2g6dGhpcy5nZXRTaWdoYXNoKGZyYWdtZW50KSx2YWx1ZTpsaWIkMi5CaWdOdW1iZXIuZnJvbSh0eC52YWx1ZXx8IjAiKX0pfTtJbnRlcmZhY2UucHJvdG90eXBlLnBhcnNlTG9nPWZ1bmN0aW9uKGxvZyl7dmFyIGZyYWdtZW50PXRoaXMuZ2V0RXZlbnQobG9nLnRvcGljc1swXSk7aWYoIWZyYWdtZW50fHxmcmFnbWVudC5hbm9ueW1vdXMpe3JldHVybiBudWxsfXJldHVybiBuZXcgTG9nRGVzY3JpcHRpb24oe2V2ZW50RnJhZ21lbnQ6ZnJhZ21lbnQsbmFtZTpmcmFnbWVudC5uYW1lLHNpZ25hdHVyZTpmcmFnbWVudC5mb3JtYXQoKSx0b3BpYzp0aGlzLmdldEV2ZW50VG9waWMoZnJhZ21lbnQpLGFyZ3M6dGhpcy5kZWNvZGVFdmVudExvZyhmcmFnbWVudCxsb2cuZGF0YSxsb2cudG9waWNzKX0pfTtJbnRlcmZhY2UucHJvdG90eXBlLnBhcnNlRXJyb3I9ZnVuY3Rpb24oZGF0YSl7dmFyIGhleERhdGE9KDAsbGliJDEuaGV4bGlmeSkoZGF0YSk7dmFyIGZyYWdtZW50PXRoaXMuZ2V0RXJyb3IoaGV4RGF0YS5zdWJzdHJpbmcoMCwxMCkudG9Mb3dlckNhc2UoKSk7aWYoIWZyYWdtZW50KXtyZXR1cm4gbnVsbH1yZXR1cm4gbmV3IEVycm9yRGVzY3JpcHRpb24oe2FyZ3M6dGhpcy5fYWJpQ29kZXIuZGVjb2RlKGZyYWdtZW50LmlucHV0cywiMHgiK2hleERhdGEuc3Vic3RyaW5nKDEwKSksZXJyb3JGcmFnbWVudDpmcmFnbWVudCxuYW1lOmZyYWdtZW50Lm5hbWUsc2lnbmF0dXJlOmZyYWdtZW50LmZvcm1hdCgpLHNpZ2hhc2g6dGhpcy5nZXRTaWdoYXNoKGZyYWdtZW50KX0pfTtJbnRlcmZhY2UuaXNJbnRlcmZhY2U9ZnVuY3Rpb24odmFsdWUpe3JldHVybiEhKHZhbHVlJiZ2YWx1ZS5faXNJbnRlcmZhY2UpfTtyZXR1cm4gSW50ZXJmYWNlfSgpO2V4cG9ydHMuSW50ZXJmYWNlPUludGVyZmFjZX0pO3ZhciBfaW50ZXJmYWNlJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoX2ludGVyZmFjZSk7dmFyIGxpYiRkPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5UcmFuc2FjdGlvbkRlc2NyaXB0aW9uPWV4cG9ydHMuTG9nRGVzY3JpcHRpb249ZXhwb3J0cy5jaGVja1Jlc3VsdEVycm9ycz1leHBvcnRzLkluZGV4ZWQ9ZXhwb3J0cy5JbnRlcmZhY2U9ZXhwb3J0cy5kZWZhdWx0QWJpQ29kZXI9ZXhwb3J0cy5BYmlDb2Rlcj1leHBvcnRzLkZvcm1hdFR5cGVzPWV4cG9ydHMuUGFyYW1UeXBlPWV4cG9ydHMuRnVuY3Rpb25GcmFnbWVudD1leHBvcnRzLkZyYWdtZW50PWV4cG9ydHMuRXZlbnRGcmFnbWVudD1leHBvcnRzLkVycm9yRnJhZ21lbnQ9ZXhwb3J0cy5Db25zdHJ1Y3RvckZyYWdtZW50PXZvaWQgMDtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiQ29uc3RydWN0b3JGcmFnbWVudCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZnJhZ21lbnRzLkNvbnN0cnVjdG9yRnJhZ21lbnR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkVycm9yRnJhZ21lbnQiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZyYWdtZW50cy5FcnJvckZyYWdtZW50fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJFdmVudEZyYWdtZW50Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBmcmFnbWVudHMuRXZlbnRGcmFnbWVudH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiRm9ybWF0VHlwZXMiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZyYWdtZW50cy5Gb3JtYXRUeXBlc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiRnJhZ21lbnQiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZyYWdtZW50cy5GcmFnbWVudH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiRnVuY3Rpb25GcmFnbWVudCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZnJhZ21lbnRzLkZ1bmN0aW9uRnJhZ21lbnR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIlBhcmFtVHlwZSIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZnJhZ21lbnRzLlBhcmFtVHlwZX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiQWJpQ29kZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGFiaUNvZGVyLkFiaUNvZGVyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJkZWZhdWx0QWJpQ29kZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGFiaUNvZGVyLmRlZmF1bHRBYmlDb2Rlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiY2hlY2tSZXN1bHRFcnJvcnMiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIF9pbnRlcmZhY2UuY2hlY2tSZXN1bHRFcnJvcnN9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkluZGV4ZWQiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIF9pbnRlcmZhY2UuSW5kZXhlZH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiSW50ZXJmYWNlIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBfaW50ZXJmYWNlLkludGVyZmFjZX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiTG9nRGVzY3JpcHRpb24iLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIF9pbnRlcmZhY2UuTG9nRGVzY3JpcHRpb259fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIlRyYW5zYWN0aW9uRGVzY3JpcHRpb24iLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIF9pbnRlcmZhY2UuVHJhbnNhY3Rpb25EZXNjcmlwdGlvbn19KX0pO3ZhciBpbmRleCRiPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGxpYiRkKTt2YXIgX3ZlcnNpb24kaT1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMudmVyc2lvbj12b2lkIDA7ZXhwb3J0cy52ZXJzaW9uPSJhYnN0cmFjdC1wcm92aWRlci81LjcuMCJ9KTt2YXIgX3ZlcnNpb24kaj1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhfdmVyc2lvbiRpKTt2YXIgbGliJGU9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgX19leHRlbmRzPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIGV4dGVuZFN0YXRpY3M9ZnVuY3Rpb24oZCxiKXtleHRlbmRTdGF0aWNzPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihkLGIpe2QuX19wcm90b19fPWJ9fHxmdW5jdGlvbihkLGIpe2Zvcih2YXIgcCBpbiBiKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLHApKWRbcF09YltwXX07cmV0dXJuIGV4dGVuZFN0YXRpY3MoZCxiKX07cmV0dXJuIGZ1bmN0aW9uKGQsYil7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iJiZiIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKGIpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2V4dGVuZFN0YXRpY3MoZCxiKTtmdW5jdGlvbiBfXygpe3RoaXMuY29uc3RydWN0b3I9ZH1kLnByb3RvdHlwZT1iPT09bnVsbD9PYmplY3QuY3JlYXRlKGIpOihfXy5wcm90b3R5cGU9Yi5wcm90b3R5cGUsbmV3IF9fKX19KCk7dmFyIF9fYXdhaXRlcj1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19hd2FpdGVyfHxmdW5jdGlvbih0aGlzQXJnLF9hcmd1bWVudHMsUCxnZW5lcmF0b3Ipe2Z1bmN0aW9uIGFkb3B0KHZhbHVlKXtyZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQP3ZhbHVlOm5ldyBQKGZ1bmN0aW9uKHJlc29sdmUpe3Jlc29sdmUodmFsdWUpfSl9cmV0dXJuIG5ldyhQfHwoUD1Qcm9taXNlKSkoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe2Z1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSl7dHJ5e3N0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKX1jYXRjaChlKXtyZWplY3QoZSl9fWZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKXt0cnl7c3RlcChnZW5lcmF0b3JbInRocm93Il0odmFsdWUpKX1jYXRjaChlKXtyZWplY3QoZSl9fWZ1bmN0aW9uIHN0ZXAocmVzdWx0KXtyZXN1bHQuZG9uZT9yZXNvbHZlKHJlc3VsdC52YWx1ZSk6YWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCxyZWplY3RlZCl9c3RlcCgoZ2VuZXJhdG9yPWdlbmVyYXRvci5hcHBseSh0aGlzQXJnLF9hcmd1bWVudHN8fFtdKSkubmV4dCgpKX0pfTt2YXIgX19nZW5lcmF0b3I9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0aGlzQXJnLGJvZHkpe3ZhciBfPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZih0WzBdJjEpdGhyb3cgdFsxXTtyZXR1cm4gdFsxXX0sdHJ5czpbXSxvcHM6W119LGYseSx0LGc7cmV0dXJuIGc9e25leHQ6dmVyYigwKSx0aHJvdzp2ZXJiKDEpLHJldHVybjp2ZXJiKDIpfSx0eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmKGdbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksZztmdW5jdGlvbiB2ZXJiKG4pe3JldHVybiBmdW5jdGlvbih2KXtyZXR1cm4gc3RlcChbbix2XSl9fWZ1bmN0aW9uIHN0ZXAob3Ape2lmKGYpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO3doaWxlKF8pdHJ5e2lmKGY9MSx5JiYodD1vcFswXSYyP3lbInJldHVybiJdOm9wWzBdP3lbInRocm93Il18fCgodD15WyJyZXR1cm4iXSkmJnQuY2FsbCh5KSwwKTp5Lm5leHQpJiYhKHQ9dC5jYWxsKHksb3BbMV0pKS5kb25lKXJldHVybiB0O2lmKHk9MCx0KW9wPVtvcFswXSYyLHQudmFsdWVdO3N3aXRjaChvcFswXSl7Y2FzZSAwOmNhc2UgMTp0PW9wO2JyZWFrO2Nhc2UgNDpfLmxhYmVsKys7cmV0dXJue3ZhbHVlOm9wWzFdLGRvbmU6ZmFsc2V9O2Nhc2UgNTpfLmxhYmVsKys7eT1vcFsxXTtvcD1bMF07Y29udGludWU7Y2FzZSA3Om9wPV8ub3BzLnBvcCgpO18udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEodD1fLnRyeXMsdD10Lmxlbmd0aD4wJiZ0W3QubGVuZ3RoLTFdKSYmKG9wWzBdPT09Nnx8b3BbMF09PT0yKSl7Xz0wO2NvbnRpbnVlfWlmKG9wWzBdPT09MyYmKCF0fHxvcFsxXT50WzBdJiZvcFsxXTx0WzNdKSl7Xy5sYWJlbD1vcFsxXTticmVha31pZihvcFswXT09PTYmJl8ubGFiZWw8dFsxXSl7Xy5sYWJlbD10WzFdO3Q9b3A7YnJlYWt9aWYodCYmXy5sYWJlbDx0WzJdKXtfLmxhYmVsPXRbMl07Xy5vcHMucHVzaChvcCk7YnJlYWt9aWYodFsyXSlfLm9wcy5wb3AoKTtfLnRyeXMucG9wKCk7Y29udGludWV9b3A9Ym9keS5jYWxsKHRoaXNBcmcsXyl9Y2F0Y2goZSl7b3A9WzYsZV07eT0wfWZpbmFsbHl7Zj10PTB9aWYob3BbMF0mNSl0aHJvdyBvcFsxXTtyZXR1cm57dmFsdWU6b3BbMF0/b3BbMV06dm9pZCAwLGRvbmU6dHJ1ZX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLlByb3ZpZGVyPWV4cG9ydHMuVHJhbnNhY3Rpb25PcmRlckZvcmtFdmVudD1leHBvcnRzLlRyYW5zYWN0aW9uRm9ya0V2ZW50PWV4cG9ydHMuQmxvY2tGb3JrRXZlbnQ9ZXhwb3J0cy5Gb3JrRXZlbnQ9dm9pZCAwO3ZhciBsb2dnZXI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kaS52ZXJzaW9uKTt2YXIgRm9ya0V2ZW50PWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEZvcmtFdmVudCxfc3VwZXIpO2Z1bmN0aW9uIEZvcmtFdmVudCgpe3JldHVybiBfc3VwZXIhPT1udWxsJiZfc3VwZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfUZvcmtFdmVudC5pc0ZvcmtFdmVudD1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuISEodmFsdWUmJnZhbHVlLl9pc0ZvcmtFdmVudCl9O3JldHVybiBGb3JrRXZlbnR9KGxpYiQzLkRlc2NyaXB0aW9uKTtleHBvcnRzLkZvcmtFdmVudD1Gb3JrRXZlbnQ7dmFyIEJsb2NrRm9ya0V2ZW50PWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEJsb2NrRm9ya0V2ZW50LF9zdXBlcik7ZnVuY3Rpb24gQmxvY2tGb3JrRXZlbnQoYmxvY2tIYXNoLGV4cGlyeSl7dmFyIF90aGlzPXRoaXM7aWYoISgwLGxpYiQxLmlzSGV4U3RyaW5nKShibG9ja0hhc2gsMzIpKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGJsb2NrSGFzaCIsImJsb2NrSGFzaCIsYmxvY2tIYXNoKX1fdGhpcz1fc3VwZXIuY2FsbCh0aGlzLHtfaXNGb3JrRXZlbnQ6dHJ1ZSxfaXNCbG9ja0ZvcmtFdmVudDp0cnVlLGV4cGlyeTpleHBpcnl8fDAsYmxvY2tIYXNoOmJsb2NrSGFzaH0pfHx0aGlzO3JldHVybiBfdGhpc31yZXR1cm4gQmxvY2tGb3JrRXZlbnR9KEZvcmtFdmVudCk7ZXhwb3J0cy5CbG9ja0ZvcmtFdmVudD1CbG9ja0ZvcmtFdmVudDt2YXIgVHJhbnNhY3Rpb25Gb3JrRXZlbnQ9ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoVHJhbnNhY3Rpb25Gb3JrRXZlbnQsX3N1cGVyKTtmdW5jdGlvbiBUcmFuc2FjdGlvbkZvcmtFdmVudChoYXNoLGV4cGlyeSl7dmFyIF90aGlzPXRoaXM7aWYoISgwLGxpYiQxLmlzSGV4U3RyaW5nKShoYXNoLDMyKSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCB0cmFuc2FjdGlvbiBoYXNoIiwiaGFzaCIsaGFzaCl9X3RoaXM9X3N1cGVyLmNhbGwodGhpcyx7X2lzRm9ya0V2ZW50OnRydWUsX2lzVHJhbnNhY3Rpb25Gb3JrRXZlbnQ6dHJ1ZSxleHBpcnk6ZXhwaXJ5fHwwLGhhc2g6aGFzaH0pfHx0aGlzO3JldHVybiBfdGhpc31yZXR1cm4gVHJhbnNhY3Rpb25Gb3JrRXZlbnR9KEZvcmtFdmVudCk7ZXhwb3J0cy5UcmFuc2FjdGlvbkZvcmtFdmVudD1UcmFuc2FjdGlvbkZvcmtFdmVudDt2YXIgVHJhbnNhY3Rpb25PcmRlckZvcmtFdmVudD1mdW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhUcmFuc2FjdGlvbk9yZGVyRm9ya0V2ZW50LF9zdXBlcik7ZnVuY3Rpb24gVHJhbnNhY3Rpb25PcmRlckZvcmtFdmVudChiZWZvcmVIYXNoLGFmdGVySGFzaCxleHBpcnkpe3ZhciBfdGhpcz10aGlzO2lmKCEoMCxsaWIkMS5pc0hleFN0cmluZykoYmVmb3JlSGFzaCwzMikpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgdHJhbnNhY3Rpb24gaGFzaCIsImJlZm9yZUhhc2giLGJlZm9yZUhhc2gpfWlmKCEoMCxsaWIkMS5pc0hleFN0cmluZykoYWZ0ZXJIYXNoLDMyKSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCB0cmFuc2FjdGlvbiBoYXNoIiwiYWZ0ZXJIYXNoIixhZnRlckhhc2gpfV90aGlzPV9zdXBlci5jYWxsKHRoaXMse19pc0ZvcmtFdmVudDp0cnVlLF9pc1RyYW5zYWN0aW9uT3JkZXJGb3JrRXZlbnQ6dHJ1ZSxleHBpcnk6ZXhwaXJ5fHwwLGJlZm9yZUhhc2g6YmVmb3JlSGFzaCxhZnRlckhhc2g6YWZ0ZXJIYXNofSl8fHRoaXM7cmV0dXJuIF90aGlzfXJldHVybiBUcmFuc2FjdGlvbk9yZGVyRm9ya0V2ZW50fShGb3JrRXZlbnQpO2V4cG9ydHMuVHJhbnNhY3Rpb25PcmRlckZvcmtFdmVudD1UcmFuc2FjdGlvbk9yZGVyRm9ya0V2ZW50O3ZhciBQcm92aWRlcj1mdW5jdGlvbigpe2Z1bmN0aW9uIFByb3ZpZGVyKCl7dmFyIF9uZXdUYXJnZXQ9dGhpcy5jb25zdHJ1Y3Rvcjtsb2dnZXIuY2hlY2tBYnN0cmFjdChfbmV3VGFyZ2V0LFByb3ZpZGVyKTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywiX2lzUHJvdmlkZXIiLHRydWUpfVByb3ZpZGVyLnByb3RvdHlwZS5nZXRGZWVEYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgX2EsYmxvY2ssZ2FzUHJpY2UsbGFzdEJhc2VGZWVQZXJHYXMsbWF4RmVlUGVyR2FzLG1heFByaW9yaXR5RmVlUGVyR2FzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9iKXtzd2l0Y2goX2IubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCwoMCxsaWIkMy5yZXNvbHZlUHJvcGVydGllcykoe2Jsb2NrOnRoaXMuZ2V0QmxvY2soImxhdGVzdCIpLGdhc1ByaWNlOnRoaXMuZ2V0R2FzUHJpY2UoKS5jYXRjaChmdW5jdGlvbihlcnJvcil7cmV0dXJuIG51bGx9KX0pXTtjYXNlIDE6X2E9X2Iuc2VudCgpLGJsb2NrPV9hLmJsb2NrLGdhc1ByaWNlPV9hLmdhc1ByaWNlO2xhc3RCYXNlRmVlUGVyR2FzPW51bGwsbWF4RmVlUGVyR2FzPW51bGwsbWF4UHJpb3JpdHlGZWVQZXJHYXM9bnVsbDtpZihibG9jayYmYmxvY2suYmFzZUZlZVBlckdhcyl7bGFzdEJhc2VGZWVQZXJHYXM9YmxvY2suYmFzZUZlZVBlckdhczttYXhQcmlvcml0eUZlZVBlckdhcz1saWIkMi5CaWdOdW1iZXIuZnJvbSgiMTUwMDAwMDAwMCIpO21heEZlZVBlckdhcz1ibG9jay5iYXNlRmVlUGVyR2FzLm11bCgyKS5hZGQobWF4UHJpb3JpdHlGZWVQZXJHYXMpfXJldHVyblsyLHtsYXN0QmFzZUZlZVBlckdhczpsYXN0QmFzZUZlZVBlckdhcyxtYXhGZWVQZXJHYXM6bWF4RmVlUGVyR2FzLG1heFByaW9yaXR5RmVlUGVyR2FzOm1heFByaW9yaXR5RmVlUGVyR2FzLGdhc1ByaWNlOmdhc1ByaWNlfV19fSl9KX07UHJvdmlkZXIucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGV2ZW50TmFtZSxsaXN0ZW5lcil7cmV0dXJuIHRoaXMub24oZXZlbnROYW1lLGxpc3RlbmVyKX07UHJvdmlkZXIucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGV2ZW50TmFtZSxsaXN0ZW5lcil7cmV0dXJuIHRoaXMub2ZmKGV2ZW50TmFtZSxsaXN0ZW5lcil9O1Byb3ZpZGVyLmlzUHJvdmlkZXI9ZnVuY3Rpb24odmFsdWUpe3JldHVybiEhKHZhbHVlJiZ2YWx1ZS5faXNQcm92aWRlcil9O3JldHVybiBQcm92aWRlcn0oKTtleHBvcnRzLlByb3ZpZGVyPVByb3ZpZGVyfSk7dmFyIGluZGV4JGM9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMobGliJGUpO3ZhciBfdmVyc2lvbiRrPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy52ZXJzaW9uPXZvaWQgMDtleHBvcnRzLnZlcnNpb249ImFic3RyYWN0LXNpZ25lci81LjcuMCJ9KTt2YXIgX3ZlcnNpb24kbD1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhfdmVyc2lvbiRrKTt2YXIgbGliJGY9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgX19leHRlbmRzPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIGV4dGVuZFN0YXRpY3M9ZnVuY3Rpb24oZCxiKXtleHRlbmRTdGF0aWNzPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihkLGIpe2QuX19wcm90b19fPWJ9fHxmdW5jdGlvbihkLGIpe2Zvcih2YXIgcCBpbiBiKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLHApKWRbcF09YltwXX07cmV0dXJuIGV4dGVuZFN0YXRpY3MoZCxiKX07cmV0dXJuIGZ1bmN0aW9uKGQsYil7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iJiZiIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKGIpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2V4dGVuZFN0YXRpY3MoZCxiKTtmdW5jdGlvbiBfXygpe3RoaXMuY29uc3RydWN0b3I9ZH1kLnByb3RvdHlwZT1iPT09bnVsbD9PYmplY3QuY3JlYXRlKGIpOihfXy5wcm90b3R5cGU9Yi5wcm90b3R5cGUsbmV3IF9fKX19KCk7dmFyIF9fYXdhaXRlcj1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19hd2FpdGVyfHxmdW5jdGlvbih0aGlzQXJnLF9hcmd1bWVudHMsUCxnZW5lcmF0b3Ipe2Z1bmN0aW9uIGFkb3B0KHZhbHVlKXtyZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQP3ZhbHVlOm5ldyBQKGZ1bmN0aW9uKHJlc29sdmUpe3Jlc29sdmUodmFsdWUpfSl9cmV0dXJuIG5ldyhQfHwoUD1Qcm9taXNlKSkoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe2Z1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSl7dHJ5e3N0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKX1jYXRjaChlKXtyZWplY3QoZSl9fWZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKXt0cnl7c3RlcChnZW5lcmF0b3JbInRocm93Il0odmFsdWUpKX1jYXRjaChlKXtyZWplY3QoZSl9fWZ1bmN0aW9uIHN0ZXAocmVzdWx0KXtyZXN1bHQuZG9uZT9yZXNvbHZlKHJlc3VsdC52YWx1ZSk6YWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCxyZWplY3RlZCl9c3RlcCgoZ2VuZXJhdG9yPWdlbmVyYXRvci5hcHBseSh0aGlzQXJnLF9hcmd1bWVudHN8fFtdKSkubmV4dCgpKX0pfTt2YXIgX19nZW5lcmF0b3I9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0aGlzQXJnLGJvZHkpe3ZhciBfPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZih0WzBdJjEpdGhyb3cgdFsxXTtyZXR1cm4gdFsxXX0sdHJ5czpbXSxvcHM6W119LGYseSx0LGc7cmV0dXJuIGc9e25leHQ6dmVyYigwKSx0aHJvdzp2ZXJiKDEpLHJldHVybjp2ZXJiKDIpfSx0eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmKGdbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksZztmdW5jdGlvbiB2ZXJiKG4pe3JldHVybiBmdW5jdGlvbih2KXtyZXR1cm4gc3RlcChbbix2XSl9fWZ1bmN0aW9uIHN0ZXAob3Ape2lmKGYpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO3doaWxlKF8pdHJ5e2lmKGY9MSx5JiYodD1vcFswXSYyP3lbInJldHVybiJdOm9wWzBdP3lbInRocm93Il18fCgodD15WyJyZXR1cm4iXSkmJnQuY2FsbCh5KSwwKTp5Lm5leHQpJiYhKHQ9dC5jYWxsKHksb3BbMV0pKS5kb25lKXJldHVybiB0O2lmKHk9MCx0KW9wPVtvcFswXSYyLHQudmFsdWVdO3N3aXRjaChvcFswXSl7Y2FzZSAwOmNhc2UgMTp0PW9wO2JyZWFrO2Nhc2UgNDpfLmxhYmVsKys7cmV0dXJue3ZhbHVlOm9wWzFdLGRvbmU6ZmFsc2V9O2Nhc2UgNTpfLmxhYmVsKys7eT1vcFsxXTtvcD1bMF07Y29udGludWU7Y2FzZSA3Om9wPV8ub3BzLnBvcCgpO18udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEodD1fLnRyeXMsdD10Lmxlbmd0aD4wJiZ0W3QubGVuZ3RoLTFdKSYmKG9wWzBdPT09Nnx8b3BbMF09PT0yKSl7Xz0wO2NvbnRpbnVlfWlmKG9wWzBdPT09MyYmKCF0fHxvcFsxXT50WzBdJiZvcFsxXTx0WzNdKSl7Xy5sYWJlbD1vcFsxXTticmVha31pZihvcFswXT09PTYmJl8ubGFiZWw8dFsxXSl7Xy5sYWJlbD10WzFdO3Q9b3A7YnJlYWt9aWYodCYmXy5sYWJlbDx0WzJdKXtfLmxhYmVsPXRbMl07Xy5vcHMucHVzaChvcCk7YnJlYWt9aWYodFsyXSlfLm9wcy5wb3AoKTtfLnRyeXMucG9wKCk7Y29udGludWV9b3A9Ym9keS5jYWxsKHRoaXNBcmcsXyl9Y2F0Y2goZSl7b3A9WzYsZV07eT0wfWZpbmFsbHl7Zj10PTB9aWYob3BbMF0mNSl0aHJvdyBvcFsxXTtyZXR1cm57dmFsdWU6b3BbMF0/b3BbMV06dm9pZCAwLGRvbmU6dHJ1ZX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLlZvaWRTaWduZXI9ZXhwb3J0cy5TaWduZXI9dm9pZCAwO3ZhciBsb2dnZXI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kay52ZXJzaW9uKTt2YXIgYWxsb3dlZFRyYW5zYWN0aW9uS2V5cz1bImFjY2Vzc0xpc3QiLCJjY2lwUmVhZEVuYWJsZWQiLCJjaGFpbklkIiwiY3VzdG9tRGF0YSIsImRhdGEiLCJmcm9tIiwiZ2FzTGltaXQiLCJnYXNQcmljZSIsIm1heEZlZVBlckdhcyIsIm1heFByaW9yaXR5RmVlUGVyR2FzIiwibm9uY2UiLCJ0byIsInR5cGUiLCJ2YWx1ZSJdO3ZhciBmb3J3YXJkRXJyb3JzPVtsaWIuTG9nZ2VyLmVycm9ycy5JTlNVRkZJQ0lFTlRfRlVORFMsbGliLkxvZ2dlci5lcnJvcnMuTk9OQ0VfRVhQSVJFRCxsaWIuTG9nZ2VyLmVycm9ycy5SRVBMQUNFTUVOVF9VTkRFUlBSSUNFRF07dmFyIFNpZ25lcj1mdW5jdGlvbigpe2Z1bmN0aW9uIFNpZ25lcigpe3ZhciBfbmV3VGFyZ2V0PXRoaXMuY29uc3RydWN0b3I7bG9nZ2VyLmNoZWNrQWJzdHJhY3QoX25ld1RhcmdldCxTaWduZXIpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJfaXNTaWduZXIiLHRydWUpfVNpZ25lci5wcm90b3R5cGUuZ2V0QmFsYW5jZT1mdW5jdGlvbihibG9ja1RhZyl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6dGhpcy5fY2hlY2tQcm92aWRlcigiZ2V0QmFsYW5jZSIpO3JldHVybls0LHRoaXMucHJvdmlkZXIuZ2V0QmFsYW5jZSh0aGlzLmdldEFkZHJlc3MoKSxibG9ja1RhZyldO2Nhc2UgMTpyZXR1cm5bMixfYS5zZW50KCldfX0pfSl9O1NpZ25lci5wcm90b3R5cGUuZ2V0VHJhbnNhY3Rpb25Db3VudD1mdW5jdGlvbihibG9ja1RhZyl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6dGhpcy5fY2hlY2tQcm92aWRlcigiZ2V0VHJhbnNhY3Rpb25Db3VudCIpO3JldHVybls0LHRoaXMucHJvdmlkZXIuZ2V0VHJhbnNhY3Rpb25Db3VudCh0aGlzLmdldEFkZHJlc3MoKSxibG9ja1RhZyldO2Nhc2UgMTpyZXR1cm5bMixfYS5zZW50KCldfX0pfSl9O1NpZ25lci5wcm90b3R5cGUuZXN0aW1hdGVHYXM9ZnVuY3Rpb24odHJhbnNhY3Rpb24pe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHR4O3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDp0aGlzLl9jaGVja1Byb3ZpZGVyKCJlc3RpbWF0ZUdhcyIpO3JldHVybls0LCgwLGxpYiQzLnJlc29sdmVQcm9wZXJ0aWVzKSh0aGlzLmNoZWNrVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pKV07Y2FzZSAxOnR4PV9hLnNlbnQoKTtyZXR1cm5bNCx0aGlzLnByb3ZpZGVyLmVzdGltYXRlR2FzKHR4KV07Y2FzZSAyOnJldHVyblsyLF9hLnNlbnQoKV19fSl9KX07U2lnbmVyLnByb3RvdHlwZS5jYWxsPWZ1bmN0aW9uKHRyYW5zYWN0aW9uLGJsb2NrVGFnKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciB0eDtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6dGhpcy5fY2hlY2tQcm92aWRlcigiY2FsbCIpO3JldHVybls0LCgwLGxpYiQzLnJlc29sdmVQcm9wZXJ0aWVzKSh0aGlzLmNoZWNrVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pKV07Y2FzZSAxOnR4PV9hLnNlbnQoKTtyZXR1cm5bNCx0aGlzLnByb3ZpZGVyLmNhbGwodHgsYmxvY2tUYWcpXTtjYXNlIDI6cmV0dXJuWzIsX2Euc2VudCgpXX19KX0pfTtTaWduZXIucHJvdG90eXBlLnNlbmRUcmFuc2FjdGlvbj1mdW5jdGlvbih0cmFuc2FjdGlvbil7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgdHgsc2lnbmVkVHg7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOnRoaXMuX2NoZWNrUHJvdmlkZXIoInNlbmRUcmFuc2FjdGlvbiIpO3JldHVybls0LHRoaXMucG9wdWxhdGVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbildO2Nhc2UgMTp0eD1fYS5zZW50KCk7cmV0dXJuWzQsdGhpcy5zaWduVHJhbnNhY3Rpb24odHgpXTtjYXNlIDI6c2lnbmVkVHg9X2Euc2VudCgpO3JldHVybls0LHRoaXMucHJvdmlkZXIuc2VuZFRyYW5zYWN0aW9uKHNpZ25lZFR4KV07Y2FzZSAzOnJldHVyblsyLF9hLnNlbnQoKV19fSl9KX07U2lnbmVyLnByb3RvdHlwZS5nZXRDaGFpbklkPWZ1bmN0aW9uKCl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgbmV0d29yaztyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6dGhpcy5fY2hlY2tQcm92aWRlcigiZ2V0Q2hhaW5JZCIpO3JldHVybls0LHRoaXMucHJvdmlkZXIuZ2V0TmV0d29yaygpXTtjYXNlIDE6bmV0d29yaz1fYS5zZW50KCk7cmV0dXJuWzIsbmV0d29yay5jaGFpbklkXX19KX0pfTtTaWduZXIucHJvdG90eXBlLmdldEdhc1ByaWNlPWZ1bmN0aW9uKCl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6dGhpcy5fY2hlY2tQcm92aWRlcigiZ2V0R2FzUHJpY2UiKTtyZXR1cm5bNCx0aGlzLnByb3ZpZGVyLmdldEdhc1ByaWNlKCldO2Nhc2UgMTpyZXR1cm5bMixfYS5zZW50KCldfX0pfSl9O1NpZ25lci5wcm90b3R5cGUuZ2V0RmVlRGF0YT1mdW5jdGlvbigpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOnRoaXMuX2NoZWNrUHJvdmlkZXIoImdldEZlZURhdGEiKTtyZXR1cm5bNCx0aGlzLnByb3ZpZGVyLmdldEZlZURhdGEoKV07Y2FzZSAxOnJldHVyblsyLF9hLnNlbnQoKV19fSl9KX07U2lnbmVyLnByb3RvdHlwZS5yZXNvbHZlTmFtZT1mdW5jdGlvbihuYW1lKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDp0aGlzLl9jaGVja1Byb3ZpZGVyKCJyZXNvbHZlTmFtZSIpO3JldHVybls0LHRoaXMucHJvdmlkZXIucmVzb2x2ZU5hbWUobmFtZSldO2Nhc2UgMTpyZXR1cm5bMixfYS5zZW50KCldfX0pfSl9O1NpZ25lci5wcm90b3R5cGUuY2hlY2tUcmFuc2FjdGlvbj1mdW5jdGlvbih0cmFuc2FjdGlvbil7Zm9yKHZhciBrZXkgaW4gdHJhbnNhY3Rpb24pe2lmKGFsbG93ZWRUcmFuc2FjdGlvbktleXMuaW5kZXhPZihrZXkpPT09LTEpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgdHJhbnNhY3Rpb24ga2V5OiAiK2tleSwidHJhbnNhY3Rpb24iLHRyYW5zYWN0aW9uKX19dmFyIHR4PSgwLGxpYiQzLnNoYWxsb3dDb3B5KSh0cmFuc2FjdGlvbik7aWYodHguZnJvbT09bnVsbCl7dHguZnJvbT10aGlzLmdldEFkZHJlc3MoKX1lbHNle3R4LmZyb209UHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSh0eC5mcm9tKSx0aGlzLmdldEFkZHJlc3MoKV0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KXtpZihyZXN1bHRbMF0udG9Mb3dlckNhc2UoKSE9PXJlc3VsdFsxXS50b0xvd2VyQ2FzZSgpKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJmcm9tIGFkZHJlc3MgbWlzbWF0Y2giLCJ0cmFuc2FjdGlvbiIsdHJhbnNhY3Rpb24pfXJldHVybiByZXN1bHRbMF19KX1yZXR1cm4gdHh9O1NpZ25lci5wcm90b3R5cGUucG9wdWxhdGVUcmFuc2FjdGlvbj1mdW5jdGlvbih0cmFuc2FjdGlvbil7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgdHgsaGFzRWlwMTU1OSxmZWVEYXRhLGdhc1ByaWNlO3ZhciBfdGhpcz10aGlzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCwoMCxsaWIkMy5yZXNvbHZlUHJvcGVydGllcykodGhpcy5jaGVja1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKSldO2Nhc2UgMTp0eD1fYS5zZW50KCk7aWYodHgudG8hPW51bGwpe3R4LnRvPVByb21pc2UucmVzb2x2ZSh0eC50bykudGhlbihmdW5jdGlvbih0byl7cmV0dXJuIF9fYXdhaXRlcihfdGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGFkZHJlc3M7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOmlmKHRvPT1udWxsKXtyZXR1cm5bMixudWxsXX1yZXR1cm5bNCx0aGlzLnJlc29sdmVOYW1lKHRvKV07Y2FzZSAxOmFkZHJlc3M9X2Euc2VudCgpO2lmKGFkZHJlc3M9PW51bGwpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInByb3ZpZGVkIEVOUyBuYW1lIHJlc29sdmVzIHRvIG51bGwiLCJ0eC50byIsdG8pfXJldHVyblsyLGFkZHJlc3NdfX0pfSl9KTt0eC50by5jYXRjaChmdW5jdGlvbihlcnJvcil7fSl9aGFzRWlwMTU1OT10eC5tYXhGZWVQZXJHYXMhPW51bGx8fHR4Lm1heFByaW9yaXR5RmVlUGVyR2FzIT1udWxsO2lmKHR4Lmdhc1ByaWNlIT1udWxsJiYodHgudHlwZT09PTJ8fGhhc0VpcDE1NTkpKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJlaXAtMTU1OSB0cmFuc2FjdGlvbiBkbyBub3Qgc3VwcG9ydCBnYXNQcmljZSIsInRyYW5zYWN0aW9uIix0cmFuc2FjdGlvbil9ZWxzZSBpZigodHgudHlwZT09PTB8fHR4LnR5cGU9PT0xKSYmaGFzRWlwMTU1OSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigicHJlLWVpcC0xNTU5IHRyYW5zYWN0aW9uIGRvIG5vdCBzdXBwb3J0IG1heEZlZVBlckdhcy9tYXhQcmlvcml0eUZlZVBlckdhcyIsInRyYW5zYWN0aW9uIix0cmFuc2FjdGlvbil9aWYoISgodHgudHlwZT09PTJ8fHR4LnR5cGU9PW51bGwpJiYodHgubWF4RmVlUGVyR2FzIT1udWxsJiZ0eC5tYXhQcmlvcml0eUZlZVBlckdhcyE9bnVsbCkpKXJldHVyblszLDJdO3R4LnR5cGU9MjtyZXR1cm5bMyw1XTtjYXNlIDI6aWYoISh0eC50eXBlPT09MHx8dHgudHlwZT09PTEpKXJldHVyblszLDNdO2lmKHR4Lmdhc1ByaWNlPT1udWxsKXt0eC5nYXNQcmljZT10aGlzLmdldEdhc1ByaWNlKCl9cmV0dXJuWzMsNV07Y2FzZSAzOnJldHVybls0LHRoaXMuZ2V0RmVlRGF0YSgpXTtjYXNlIDQ6ZmVlRGF0YT1fYS5zZW50KCk7aWYodHgudHlwZT09bnVsbCl7aWYoZmVlRGF0YS5tYXhGZWVQZXJHYXMhPW51bGwmJmZlZURhdGEubWF4UHJpb3JpdHlGZWVQZXJHYXMhPW51bGwpe3R4LnR5cGU9MjtpZih0eC5nYXNQcmljZSE9bnVsbCl7Z2FzUHJpY2U9dHguZ2FzUHJpY2U7ZGVsZXRlIHR4Lmdhc1ByaWNlO3R4Lm1heEZlZVBlckdhcz1nYXNQcmljZTt0eC5tYXhQcmlvcml0eUZlZVBlckdhcz1nYXNQcmljZX1lbHNle2lmKHR4Lm1heEZlZVBlckdhcz09bnVsbCl7dHgubWF4RmVlUGVyR2FzPWZlZURhdGEubWF4RmVlUGVyR2FzfWlmKHR4Lm1heFByaW9yaXR5RmVlUGVyR2FzPT1udWxsKXt0eC5tYXhQcmlvcml0eUZlZVBlckdhcz1mZWVEYXRhLm1heFByaW9yaXR5RmVlUGVyR2FzfX19ZWxzZSBpZihmZWVEYXRhLmdhc1ByaWNlIT1udWxsKXtpZihoYXNFaXAxNTU5KXtsb2dnZXIudGhyb3dFcnJvcigibmV0d29yayBkb2VzIG5vdCBzdXBwb3J0IEVJUC0xNTU5IixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoicG9wdWxhdGVUcmFuc2FjdGlvbiJ9KX1pZih0eC5nYXNQcmljZT09bnVsbCl7dHguZ2FzUHJpY2U9ZmVlRGF0YS5nYXNQcmljZX10eC50eXBlPTB9ZWxzZXtsb2dnZXIudGhyb3dFcnJvcigiZmFpbGVkIHRvIGdldCBjb25zaXN0ZW50IGZlZSBkYXRhIixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoic2lnbmVyLmdldEZlZURhdGEifSl9fWVsc2UgaWYodHgudHlwZT09PTIpe2lmKHR4Lm1heEZlZVBlckdhcz09bnVsbCl7dHgubWF4RmVlUGVyR2FzPWZlZURhdGEubWF4RmVlUGVyR2FzfWlmKHR4Lm1heFByaW9yaXR5RmVlUGVyR2FzPT1udWxsKXt0eC5tYXhQcmlvcml0eUZlZVBlckdhcz1mZWVEYXRhLm1heFByaW9yaXR5RmVlUGVyR2FzfX1fYS5sYWJlbD01O2Nhc2UgNTppZih0eC5ub25jZT09bnVsbCl7dHgubm9uY2U9dGhpcy5nZXRUcmFuc2FjdGlvbkNvdW50KCJwZW5kaW5nIil9aWYodHguZ2FzTGltaXQ9PW51bGwpe3R4Lmdhc0xpbWl0PXRoaXMuZXN0aW1hdGVHYXModHgpLmNhdGNoKGZ1bmN0aW9uKGVycm9yKXtpZihmb3J3YXJkRXJyb3JzLmluZGV4T2YoZXJyb3IuY29kZSk+PTApe3Rocm93IGVycm9yfXJldHVybiBsb2dnZXIudGhyb3dFcnJvcigiY2Fubm90IGVzdGltYXRlIGdhczsgdHJhbnNhY3Rpb24gbWF5IGZhaWwgb3IgbWF5IHJlcXVpcmUgbWFudWFsIGdhcyBsaW1pdCIsbGliLkxvZ2dlci5lcnJvcnMuVU5QUkVESUNUQUJMRV9HQVNfTElNSVQse2Vycm9yOmVycm9yLHR4OnR4fSl9KX1pZih0eC5jaGFpbklkPT1udWxsKXt0eC5jaGFpbklkPXRoaXMuZ2V0Q2hhaW5JZCgpfWVsc2V7dHguY2hhaW5JZD1Qcm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKHR4LmNoYWluSWQpLHRoaXMuZ2V0Q2hhaW5JZCgpXSkudGhlbihmdW5jdGlvbihyZXN1bHRzKXtpZihyZXN1bHRzWzFdIT09MCYmcmVzdWx0c1swXSE9PXJlc3VsdHNbMV0pe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImNoYWluSWQgYWRkcmVzcyBtaXNtYXRjaCIsInRyYW5zYWN0aW9uIix0cmFuc2FjdGlvbil9cmV0dXJuIHJlc3VsdHNbMF19KX1yZXR1cm5bNCwoMCxsaWIkMy5yZXNvbHZlUHJvcGVydGllcykodHgpXTtjYXNlIDY6cmV0dXJuWzIsX2Euc2VudCgpXX19KX0pfTtTaWduZXIucHJvdG90eXBlLl9jaGVja1Byb3ZpZGVyPWZ1bmN0aW9uKG9wZXJhdGlvbil7aWYoIXRoaXMucHJvdmlkZXIpe2xvZ2dlci50aHJvd0Vycm9yKCJtaXNzaW5nIHByb3ZpZGVyIixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjpvcGVyYXRpb258fCJfY2hlY2tQcm92aWRlciJ9KX19O1NpZ25lci5pc1NpZ25lcj1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuISEodmFsdWUmJnZhbHVlLl9pc1NpZ25lcil9O3JldHVybiBTaWduZXJ9KCk7ZXhwb3J0cy5TaWduZXI9U2lnbmVyO3ZhciBWb2lkU2lnbmVyPWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKFZvaWRTaWduZXIsX3N1cGVyKTtmdW5jdGlvbiBWb2lkU2lnbmVyKGFkZHJlc3MscHJvdmlkZXIpe3ZhciBfdGhpcz1fc3VwZXIuY2FsbCh0aGlzKXx8dGhpczsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsImFkZHJlc3MiLGFkZHJlc3MpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KShfdGhpcywicHJvdmlkZXIiLHByb3ZpZGVyfHxudWxsKTtyZXR1cm4gX3RoaXN9Vm9pZFNpZ25lci5wcm90b3R5cGUuZ2V0QWRkcmVzcz1mdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5hZGRyZXNzKX07Vm9pZFNpZ25lci5wcm90b3R5cGUuX2ZhaWw9ZnVuY3Rpb24obWVzc2FnZSxvcGVyYXRpb24pe3JldHVybiBQcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uKCl7bG9nZ2VyLnRocm93RXJyb3IobWVzc2FnZSxsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjpvcGVyYXRpb259KX0pfTtWb2lkU2lnbmVyLnByb3RvdHlwZS5zaWduTWVzc2FnZT1mdW5jdGlvbihtZXNzYWdlKXtyZXR1cm4gdGhpcy5fZmFpbCgiVm9pZFNpZ25lciBjYW5ub3Qgc2lnbiBtZXNzYWdlcyIsInNpZ25NZXNzYWdlIil9O1ZvaWRTaWduZXIucHJvdG90eXBlLnNpZ25UcmFuc2FjdGlvbj1mdW5jdGlvbih0cmFuc2FjdGlvbil7cmV0dXJuIHRoaXMuX2ZhaWwoIlZvaWRTaWduZXIgY2Fubm90IHNpZ24gdHJhbnNhY3Rpb25zIiwic2lnblRyYW5zYWN0aW9uIil9O1ZvaWRTaWduZXIucHJvdG90eXBlLl9zaWduVHlwZWREYXRhPWZ1bmN0aW9uKGRvbWFpbix0eXBlcyx2YWx1ZSl7cmV0dXJuIHRoaXMuX2ZhaWwoIlZvaWRTaWduZXIgY2Fubm90IHNpZ24gdHlwZWQgZGF0YSIsInNpZ25UeXBlZERhdGEiKX07Vm9pZFNpZ25lci5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbihwcm92aWRlcil7cmV0dXJuIG5ldyBWb2lkU2lnbmVyKHRoaXMuYWRkcmVzcyxwcm92aWRlcil9O3JldHVybiBWb2lkU2lnbmVyfShTaWduZXIpO2V4cG9ydHMuVm9pZFNpZ25lcj1Wb2lkU2lnbmVyfSk7dmFyIGluZGV4JGQ9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMobGliJGYpO3ZhciBibiQxPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSl7KGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYXNzZXJ0KHZhbCxtc2cpe2lmKCF2YWwpdGhyb3cgbmV3IEVycm9yKG1zZ3x8IkFzc2VydGlvbiBmYWlsZWQiKX1mdW5jdGlvbiBpbmhlcml0cyhjdG9yLHN1cGVyQ3Rvcil7Y3Rvci5zdXBlcl89c3VwZXJDdG9yO3ZhciBUZW1wQ3Rvcj1mdW5jdGlvbigpe307VGVtcEN0b3IucHJvdG90eXBlPXN1cGVyQ3Rvci5wcm90b3R5cGU7Y3Rvci5wcm90b3R5cGU9bmV3IFRlbXBDdG9yO2N0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yPWN0b3J9ZnVuY3Rpb24gQk4obnVtYmVyLGJhc2UsZW5kaWFuKXtpZihCTi5pc0JOKG51bWJlcikpe3JldHVybiBudW1iZXJ9dGhpcy5uZWdhdGl2ZT0wO3RoaXMud29yZHM9bnVsbDt0aGlzLmxlbmd0aD0wO3RoaXMucmVkPW51bGw7aWYobnVtYmVyIT09bnVsbCl7aWYoYmFzZT09PSJsZSJ8fGJhc2U9PT0iYmUiKXtlbmRpYW49YmFzZTtiYXNlPTEwfXRoaXMuX2luaXQobnVtYmVyfHwwLGJhc2V8fDEwLGVuZGlhbnx8ImJlIil9fWlmKHR5cGVvZiBtb2R1bGU9PT0ib2JqZWN0Iil7bW9kdWxlLmV4cG9ydHM9Qk59ZWxzZXtleHBvcnRzLkJOPUJOfUJOLkJOPUJOO0JOLndvcmRTaXplPTI2O3ZhciBCdWZmZXI7dHJ5e2lmKHR5cGVvZiB3aW5kb3chPT0idW5kZWZpbmVkIiYmdHlwZW9mIHdpbmRvdy5CdWZmZXIhPT0idW5kZWZpbmVkIil7QnVmZmVyPXdpbmRvdy5CdWZmZXJ9ZWxzZXtCdWZmZXI9bnVsbC5CdWZmZXJ9fWNhdGNoKGUpe31CTi5pc0JOPWZ1bmN0aW9uIGlzQk4obnVtKXtpZihudW0gaW5zdGFuY2VvZiBCTil7cmV0dXJuIHRydWV9cmV0dXJuIG51bSE9PW51bGwmJnR5cGVvZiBudW09PT0ib2JqZWN0IiYmbnVtLmNvbnN0cnVjdG9yLndvcmRTaXplPT09Qk4ud29yZFNpemUmJkFycmF5LmlzQXJyYXkobnVtLndvcmRzKX07Qk4ubWF4PWZ1bmN0aW9uIG1heChsZWZ0LHJpZ2h0KXtpZihsZWZ0LmNtcChyaWdodCk+MClyZXR1cm4gbGVmdDtyZXR1cm4gcmlnaHR9O0JOLm1pbj1mdW5jdGlvbiBtaW4obGVmdCxyaWdodCl7aWYobGVmdC5jbXAocmlnaHQpPDApcmV0dXJuIGxlZnQ7cmV0dXJuIHJpZ2h0fTtCTi5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24gaW5pdChudW1iZXIsYmFzZSxlbmRpYW4pe2lmKHR5cGVvZiBudW1iZXI9PT0ibnVtYmVyIil7cmV0dXJuIHRoaXMuX2luaXROdW1iZXIobnVtYmVyLGJhc2UsZW5kaWFuKX1pZih0eXBlb2YgbnVtYmVyPT09Im9iamVjdCIpe3JldHVybiB0aGlzLl9pbml0QXJyYXkobnVtYmVyLGJhc2UsZW5kaWFuKX1pZihiYXNlPT09ImhleCIpe2Jhc2U9MTZ9YXNzZXJ0KGJhc2U9PT0oYmFzZXwwKSYmYmFzZT49MiYmYmFzZTw9MzYpO251bWJlcj1udW1iZXIudG9TdHJpbmcoKS5yZXBsYWNlKC9ccysvZywiIik7dmFyIHN0YXJ0PTA7aWYobnVtYmVyWzBdPT09Ii0iKXtzdGFydCsrO3RoaXMubmVnYXRpdmU9MX1pZihzdGFydDxudW1iZXIubGVuZ3RoKXtpZihiYXNlPT09MTYpe3RoaXMuX3BhcnNlSGV4KG51bWJlcixzdGFydCxlbmRpYW4pfWVsc2V7dGhpcy5fcGFyc2VCYXNlKG51bWJlcixiYXNlLHN0YXJ0KTtpZihlbmRpYW49PT0ibGUiKXt0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksYmFzZSxlbmRpYW4pfX19fTtCTi5wcm90b3R5cGUuX2luaXROdW1iZXI9ZnVuY3Rpb24gX2luaXROdW1iZXIobnVtYmVyLGJhc2UsZW5kaWFuKXtpZihudW1iZXI8MCl7dGhpcy5uZWdhdGl2ZT0xO251bWJlcj0tbnVtYmVyfWlmKG51bWJlcjw2NzEwODg2NCl7dGhpcy53b3Jkcz1bbnVtYmVyJjY3MTA4ODYzXTt0aGlzLmxlbmd0aD0xfWVsc2UgaWYobnVtYmVyPDQ1MDM1OTk2MjczNzA0OTYpe3RoaXMud29yZHM9W251bWJlciY2NzEwODg2MyxudW1iZXIvNjcxMDg4NjQmNjcxMDg4NjNdO3RoaXMubGVuZ3RoPTJ9ZWxzZXthc3NlcnQobnVtYmVyPDkwMDcxOTkyNTQ3NDA5OTIpO3RoaXMud29yZHM9W251bWJlciY2NzEwODg2MyxudW1iZXIvNjcxMDg4NjQmNjcxMDg4NjMsMV07dGhpcy5sZW5ndGg9M31pZihlbmRpYW4hPT0ibGUiKXJldHVybjt0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksYmFzZSxlbmRpYW4pfTtCTi5wcm90b3R5cGUuX2luaXRBcnJheT1mdW5jdGlvbiBfaW5pdEFycmF5KG51bWJlcixiYXNlLGVuZGlhbil7YXNzZXJ0KHR5cGVvZiBudW1iZXIubGVuZ3RoPT09Im51bWJlciIpO2lmKG51bWJlci5sZW5ndGg8PTApe3RoaXMud29yZHM9WzBdO3RoaXMubGVuZ3RoPTE7cmV0dXJuIHRoaXN9dGhpcy5sZW5ndGg9TWF0aC5jZWlsKG51bWJlci5sZW5ndGgvMyk7dGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgaT0wO2k8dGhpcy5sZW5ndGg7aSsrKXt0aGlzLndvcmRzW2ldPTB9dmFyIGosdzt2YXIgb2ZmPTA7aWYoZW5kaWFuPT09ImJlIil7Zm9yKGk9bnVtYmVyLmxlbmd0aC0xLGo9MDtpPj0wO2ktPTMpe3c9bnVtYmVyW2ldfG51bWJlcltpLTFdPDw4fG51bWJlcltpLTJdPDwxNjt0aGlzLndvcmRzW2pdfD13PDxvZmYmNjcxMDg4NjM7dGhpcy53b3Jkc1tqKzFdPXc+Pj4yNi1vZmYmNjcxMDg4NjM7b2ZmKz0yNDtpZihvZmY+PTI2KXtvZmYtPTI2O2orK319fWVsc2UgaWYoZW5kaWFuPT09ImxlIil7Zm9yKGk9MCxqPTA7aTxudW1iZXIubGVuZ3RoO2krPTMpe3c9bnVtYmVyW2ldfG51bWJlcltpKzFdPDw4fG51bWJlcltpKzJdPDwxNjt0aGlzLndvcmRzW2pdfD13PDxvZmYmNjcxMDg4NjM7dGhpcy53b3Jkc1tqKzFdPXc+Pj4yNi1vZmYmNjcxMDg4NjM7b2ZmKz0yNDtpZihvZmY+PTI2KXtvZmYtPTI2O2orK319fXJldHVybiB0aGlzLnN0cmlwKCl9O2Z1bmN0aW9uIHBhcnNlSGV4NEJpdHMoc3RyaW5nLGluZGV4KXt2YXIgYz1zdHJpbmcuY2hhckNvZGVBdChpbmRleCk7aWYoYz49NjUmJmM8PTcwKXtyZXR1cm4gYy01NX1lbHNlIGlmKGM+PTk3JiZjPD0xMDIpe3JldHVybiBjLTg3fWVsc2V7cmV0dXJuIGMtNDgmMTV9fWZ1bmN0aW9uIHBhcnNlSGV4Qnl0ZShzdHJpbmcsbG93ZXJCb3VuZCxpbmRleCl7dmFyIHI9cGFyc2VIZXg0Qml0cyhzdHJpbmcsaW5kZXgpO2lmKGluZGV4LTE+PWxvd2VyQm91bmQpe3J8PXBhcnNlSGV4NEJpdHMoc3RyaW5nLGluZGV4LTEpPDw0fXJldHVybiByfUJOLnByb3RvdHlwZS5fcGFyc2VIZXg9ZnVuY3Rpb24gX3BhcnNlSGV4KG51bWJlcixzdGFydCxlbmRpYW4pe3RoaXMubGVuZ3RoPU1hdGguY2VpbCgobnVtYmVyLmxlbmd0aC1zdGFydCkvNik7dGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgaT0wO2k8dGhpcy5sZW5ndGg7aSsrKXt0aGlzLndvcmRzW2ldPTB9dmFyIG9mZj0wO3ZhciBqPTA7dmFyIHc7aWYoZW5kaWFuPT09ImJlIil7Zm9yKGk9bnVtYmVyLmxlbmd0aC0xO2k+PXN0YXJ0O2ktPTIpe3c9cGFyc2VIZXhCeXRlKG51bWJlcixzdGFydCxpKTw8b2ZmO3RoaXMud29yZHNbal18PXcmNjcxMDg4NjM7aWYob2ZmPj0xOCl7b2ZmLT0xODtqKz0xO3RoaXMud29yZHNbal18PXc+Pj4yNn1lbHNle29mZis9OH19fWVsc2V7dmFyIHBhcnNlTGVuZ3RoPW51bWJlci5sZW5ndGgtc3RhcnQ7Zm9yKGk9cGFyc2VMZW5ndGglMj09PTA/c3RhcnQrMTpzdGFydDtpPG51bWJlci5sZW5ndGg7aSs9Mil7dz1wYXJzZUhleEJ5dGUobnVtYmVyLHN0YXJ0LGkpPDxvZmY7dGhpcy53b3Jkc1tqXXw9dyY2NzEwODg2MztpZihvZmY+PTE4KXtvZmYtPTE4O2orPTE7dGhpcy53b3Jkc1tqXXw9dz4+PjI2fWVsc2V7b2ZmKz04fX19dGhpcy5zdHJpcCgpfTtmdW5jdGlvbiBwYXJzZUJhc2Uoc3RyLHN0YXJ0LGVuZCxtdWwpe3ZhciByPTA7dmFyIGxlbj1NYXRoLm1pbihzdHIubGVuZ3RoLGVuZCk7Zm9yKHZhciBpPXN0YXJ0O2k8bGVuO2krKyl7dmFyIGM9c3RyLmNoYXJDb2RlQXQoaSktNDg7cio9bXVsO2lmKGM+PTQ5KXtyKz1jLTQ5KzEwfWVsc2UgaWYoYz49MTcpe3IrPWMtMTcrMTB9ZWxzZXtyKz1jfX1yZXR1cm4gcn1CTi5wcm90b3R5cGUuX3BhcnNlQmFzZT1mdW5jdGlvbiBfcGFyc2VCYXNlKG51bWJlcixiYXNlLHN0YXJ0KXt0aGlzLndvcmRzPVswXTt0aGlzLmxlbmd0aD0xO2Zvcih2YXIgbGltYkxlbj0wLGxpbWJQb3c9MTtsaW1iUG93PD02NzEwODg2MztsaW1iUG93Kj1iYXNlKXtsaW1iTGVuKyt9bGltYkxlbi0tO2xpbWJQb3c9bGltYlBvdy9iYXNlfDA7dmFyIHRvdGFsPW51bWJlci5sZW5ndGgtc3RhcnQ7dmFyIG1vZD10b3RhbCVsaW1iTGVuO3ZhciBlbmQ9TWF0aC5taW4odG90YWwsdG90YWwtbW9kKStzdGFydDt2YXIgd29yZD0wO2Zvcih2YXIgaT1zdGFydDtpPGVuZDtpKz1saW1iTGVuKXt3b3JkPXBhcnNlQmFzZShudW1iZXIsaSxpK2xpbWJMZW4sYmFzZSk7dGhpcy5pbXVsbihsaW1iUG93KTtpZih0aGlzLndvcmRzWzBdK3dvcmQ8NjcxMDg4NjQpe3RoaXMud29yZHNbMF0rPXdvcmR9ZWxzZXt0aGlzLl9pYWRkbih3b3JkKX19aWYobW9kIT09MCl7dmFyIHBvdz0xO3dvcmQ9cGFyc2VCYXNlKG51bWJlcixpLG51bWJlci5sZW5ndGgsYmFzZSk7Zm9yKGk9MDtpPG1vZDtpKyspe3Bvdyo9YmFzZX10aGlzLmltdWxuKHBvdyk7aWYodGhpcy53b3Jkc1swXSt3b3JkPDY3MTA4ODY0KXt0aGlzLndvcmRzWzBdKz13b3JkfWVsc2V7dGhpcy5faWFkZG4od29yZCl9fXRoaXMuc3RyaXAoKX07Qk4ucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24gY29weShkZXN0KXtkZXN0LndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBpPTA7aTx0aGlzLmxlbmd0aDtpKyspe2Rlc3Qud29yZHNbaV09dGhpcy53b3Jkc1tpXX1kZXN0Lmxlbmd0aD10aGlzLmxlbmd0aDtkZXN0Lm5lZ2F0aXZlPXRoaXMubmVnYXRpdmU7ZGVzdC5yZWQ9dGhpcy5yZWR9O0JOLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbiBjbG9uZSgpe3ZhciByPW5ldyBCTihudWxsKTt0aGlzLmNvcHkocik7cmV0dXJuIHJ9O0JOLnByb3RvdHlwZS5fZXhwYW5kPWZ1bmN0aW9uIF9leHBhbmQoc2l6ZSl7d2hpbGUodGhpcy5sZW5ndGg8c2l6ZSl7dGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wfXJldHVybiB0aGlzfTtCTi5wcm90b3R5cGUuc3RyaXA9ZnVuY3Rpb24gc3RyaXAoKXt3aGlsZSh0aGlzLmxlbmd0aD4xJiZ0aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdPT09MCl7dGhpcy5sZW5ndGgtLX1yZXR1cm4gdGhpcy5fbm9ybVNpZ24oKX07Qk4ucHJvdG90eXBlLl9ub3JtU2lnbj1mdW5jdGlvbiBfbm9ybVNpZ24oKXtpZih0aGlzLmxlbmd0aD09PTEmJnRoaXMud29yZHNbMF09PT0wKXt0aGlzLm5lZ2F0aXZlPTB9cmV0dXJuIHRoaXN9O0JOLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uIGluc3BlY3QoKXtyZXR1cm4odGhpcy5yZWQ/IjxCTi1SOiAiOiI8Qk46ICIpK3RoaXMudG9TdHJpbmcoMTYpKyI+In07dmFyIHplcm9zPVsiIiwiMCIsIjAwIiwiMDAwIiwiMDAwMCIsIjAwMDAwIiwiMDAwMDAwIiwiMDAwMDAwMCIsIjAwMDAwMDAwIiwiMDAwMDAwMDAwIiwiMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCJdO3ZhciBncm91cFNpemVzPVswLDAsMjUsMTYsMTIsMTEsMTAsOSw4LDgsNyw3LDcsNyw2LDYsNiw2LDYsNiw2LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDVdO3ZhciBncm91cEJhc2VzPVswLDAsMzM1NTQ0MzIsNDMwNDY3MjEsMTY3NzcyMTYsNDg4MjgxMjUsNjA0NjYxNzYsNDAzNTM2MDcsMTY3NzcyMTYsNDMwNDY3MjEsMWU3LDE5NDg3MTcxLDM1ODMxODA4LDYyNzQ4NTE3LDc1Mjk1MzYsMTEzOTA2MjUsMTY3NzcyMTYsMjQxMzc1NjksMzQwMTIyMjQsNDcwNDU4ODEsNjRlNiw0MDg0MTAxLDUxNTM2MzIsNjQzNjM0Myw3OTYyNjI0LDk3NjU2MjUsMTE4ODEzNzYsMTQzNDg5MDcsMTcyMTAzNjgsMjA1MTExNDksMjQzZTUsMjg2MjkxNTEsMzM1NTQ0MzIsMzkxMzUzOTMsNDU0MzU0MjQsNTI1MjE4NzUsNjA0NjYxNzZdO0JOLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbiB0b1N0cmluZyhiYXNlLHBhZGRpbmcpe2Jhc2U9YmFzZXx8MTA7cGFkZGluZz1wYWRkaW5nfDB8fDE7dmFyIG91dDtpZihiYXNlPT09MTZ8fGJhc2U9PT0iaGV4Iil7b3V0PSIiO3ZhciBvZmY9MDt2YXIgY2Fycnk9MDtmb3IodmFyIGk9MDtpPHRoaXMubGVuZ3RoO2krKyl7dmFyIHc9dGhpcy53b3Jkc1tpXTt2YXIgd29yZD0oKHc8PG9mZnxjYXJyeSkmMTY3NzcyMTUpLnRvU3RyaW5nKDE2KTtjYXJyeT13Pj4+MjQtb2ZmJjE2Nzc3MjE1O2lmKGNhcnJ5IT09MHx8aSE9PXRoaXMubGVuZ3RoLTEpe291dD16ZXJvc1s2LXdvcmQubGVuZ3RoXSt3b3JkK291dH1lbHNle291dD13b3JkK291dH1vZmYrPTI7aWYob2ZmPj0yNil7b2ZmLT0yNjtpLS19fWlmKGNhcnJ5IT09MCl7b3V0PWNhcnJ5LnRvU3RyaW5nKDE2KStvdXR9d2hpbGUob3V0Lmxlbmd0aCVwYWRkaW5nIT09MCl7b3V0PSIwIitvdXR9aWYodGhpcy5uZWdhdGl2ZSE9PTApe291dD0iLSIrb3V0fXJldHVybiBvdXR9aWYoYmFzZT09PShiYXNlfDApJiZiYXNlPj0yJiZiYXNlPD0zNil7dmFyIGdyb3VwU2l6ZT1ncm91cFNpemVzW2Jhc2VdO3ZhciBncm91cEJhc2U9Z3JvdXBCYXNlc1tiYXNlXTtvdXQ9IiI7dmFyIGM9dGhpcy5jbG9uZSgpO2MubmVnYXRpdmU9MDt3aGlsZSghYy5pc1plcm8oKSl7dmFyIHI9Yy5tb2RuKGdyb3VwQmFzZSkudG9TdHJpbmcoYmFzZSk7Yz1jLmlkaXZuKGdyb3VwQmFzZSk7aWYoIWMuaXNaZXJvKCkpe291dD16ZXJvc1tncm91cFNpemUtci5sZW5ndGhdK3Irb3V0fWVsc2V7b3V0PXIrb3V0fX1pZih0aGlzLmlzWmVybygpKXtvdXQ9IjAiK291dH13aGlsZShvdXQubGVuZ3RoJXBhZGRpbmchPT0wKXtvdXQ9IjAiK291dH1pZih0aGlzLm5lZ2F0aXZlIT09MCl7b3V0PSItIitvdXR9cmV0dXJuIG91dH1hc3NlcnQoZmFsc2UsIkJhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYiKX07Qk4ucHJvdG90eXBlLnRvTnVtYmVyPWZ1bmN0aW9uIHRvTnVtYmVyKCl7dmFyIHJldD10aGlzLndvcmRzWzBdO2lmKHRoaXMubGVuZ3RoPT09Mil7cmV0Kz10aGlzLndvcmRzWzFdKjY3MTA4ODY0fWVsc2UgaWYodGhpcy5sZW5ndGg9PT0zJiZ0aGlzLndvcmRzWzJdPT09MSl7cmV0Kz00NTAzNTk5NjI3MzcwNDk2K3RoaXMud29yZHNbMV0qNjcxMDg4NjR9ZWxzZSBpZih0aGlzLmxlbmd0aD4yKXthc3NlcnQoZmFsc2UsIk51bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cyIpfXJldHVybiB0aGlzLm5lZ2F0aXZlIT09MD8tcmV0OnJldH07Qk4ucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbiB0b0pTT04oKXtyZXR1cm4gdGhpcy50b1N0cmluZygxNil9O0JOLnByb3RvdHlwZS50b0J1ZmZlcj1mdW5jdGlvbiB0b0J1ZmZlcihlbmRpYW4sbGVuZ3RoKXthc3NlcnQodHlwZW9mIEJ1ZmZlciE9PSJ1bmRlZmluZWQiKTtyZXR1cm4gdGhpcy50b0FycmF5TGlrZShCdWZmZXIsZW5kaWFuLGxlbmd0aCl9O0JOLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uIHRvQXJyYXkoZW5kaWFuLGxlbmd0aCl7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksZW5kaWFuLGxlbmd0aCl9O0JOLnByb3RvdHlwZS50b0FycmF5TGlrZT1mdW5jdGlvbiB0b0FycmF5TGlrZShBcnJheVR5cGUsZW5kaWFuLGxlbmd0aCl7dmFyIGJ5dGVMZW5ndGg9dGhpcy5ieXRlTGVuZ3RoKCk7dmFyIHJlcUxlbmd0aD1sZW5ndGh8fE1hdGgubWF4KDEsYnl0ZUxlbmd0aCk7YXNzZXJ0KGJ5dGVMZW5ndGg8PXJlcUxlbmd0aCwiYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aCIpO2Fzc2VydChyZXFMZW5ndGg+MCwiUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwIik7dGhpcy5zdHJpcCgpO3ZhciBsaXR0bGVFbmRpYW49ZW5kaWFuPT09ImxlIjt2YXIgcmVzPW5ldyBBcnJheVR5cGUocmVxTGVuZ3RoKTt2YXIgYixpO3ZhciBxPXRoaXMuY2xvbmUoKTtpZighbGl0dGxlRW5kaWFuKXtmb3IoaT0wO2k8cmVxTGVuZ3RoLWJ5dGVMZW5ndGg7aSsrKXtyZXNbaV09MH1mb3IoaT0wOyFxLmlzWmVybygpO2krKyl7Yj1xLmFuZGxuKDI1NSk7cS5pdXNocm4oOCk7cmVzW3JlcUxlbmd0aC1pLTFdPWJ9fWVsc2V7Zm9yKGk9MDshcS5pc1plcm8oKTtpKyspe2I9cS5hbmRsbigyNTUpO3EuaXVzaHJuKDgpO3Jlc1tpXT1ifWZvcig7aTxyZXFMZW5ndGg7aSsrKXtyZXNbaV09MH19cmV0dXJuIHJlc307aWYoTWF0aC5jbHozMil7Qk4ucHJvdG90eXBlLl9jb3VudEJpdHM9ZnVuY3Rpb24gX2NvdW50Qml0cyh3KXtyZXR1cm4gMzItTWF0aC5jbHozMih3KX19ZWxzZXtCTi5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbiBfY291bnRCaXRzKHcpe3ZhciB0PXc7dmFyIHI9MDtpZih0Pj00MDk2KXtyKz0xMzt0Pj4+PTEzfWlmKHQ+PTY0KXtyKz03O3Q+Pj49N31pZih0Pj04KXtyKz00O3Q+Pj49NH1pZih0Pj0yKXtyKz0yO3Q+Pj49Mn1yZXR1cm4gcit0fX1CTi5wcm90b3R5cGUuX3plcm9CaXRzPWZ1bmN0aW9uIF96ZXJvQml0cyh3KXtpZih3PT09MClyZXR1cm4gMjY7dmFyIHQ9dzt2YXIgcj0wO2lmKCh0JjgxOTEpPT09MCl7cis9MTM7dD4+Pj0xM31pZigodCYxMjcpPT09MCl7cis9Nzt0Pj4+PTd9aWYoKHQmMTUpPT09MCl7cis9NDt0Pj4+PTR9aWYoKHQmMyk9PT0wKXtyKz0yO3Q+Pj49Mn1pZigodCYxKT09PTApe3IrK31yZXR1cm4gcn07Qk4ucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbiBiaXRMZW5ndGgoKXt2YXIgdz10aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdO3ZhciBoaT10aGlzLl9jb3VudEJpdHModyk7cmV0dXJuKHRoaXMubGVuZ3RoLTEpKjI2K2hpfTtmdW5jdGlvbiB0b0JpdEFycmF5KG51bSl7dmFyIHc9bmV3IEFycmF5KG51bS5iaXRMZW5ndGgoKSk7Zm9yKHZhciBiaXQ9MDtiaXQ8dy5sZW5ndGg7Yml0Kyspe3ZhciBvZmY9Yml0LzI2fDA7dmFyIHdiaXQ9Yml0JTI2O3dbYml0XT0obnVtLndvcmRzW29mZl0mMTw8d2JpdCk+Pj53Yml0fXJldHVybiB3fUJOLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbiB6ZXJvQml0cygpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7dmFyIHI9MDtmb3IodmFyIGk9MDtpPHRoaXMubGVuZ3RoO2krKyl7dmFyIGI9dGhpcy5femVyb0JpdHModGhpcy53b3Jkc1tpXSk7cis9YjtpZihiIT09MjYpYnJlYWt9cmV0dXJuIHJ9O0JOLnByb3RvdHlwZS5ieXRlTGVuZ3RoPWZ1bmN0aW9uIGJ5dGVMZW5ndGgoKXtyZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkvOCl9O0JOLnByb3RvdHlwZS50b1R3b3M9ZnVuY3Rpb24gdG9Ud29zKHdpZHRoKXtpZih0aGlzLm5lZ2F0aXZlIT09MCl7cmV0dXJuIHRoaXMuYWJzKCkuaW5vdG4od2lkdGgpLmlhZGRuKDEpfXJldHVybiB0aGlzLmNsb25lKCl9O0JOLnByb3RvdHlwZS5mcm9tVHdvcz1mdW5jdGlvbiBmcm9tVHdvcyh3aWR0aCl7aWYodGhpcy50ZXN0bih3aWR0aC0xKSl7cmV0dXJuIHRoaXMubm90bih3aWR0aCkuaWFkZG4oMSkuaW5lZygpfXJldHVybiB0aGlzLmNsb25lKCl9O0JOLnByb3RvdHlwZS5pc05lZz1mdW5jdGlvbiBpc05lZygpe3JldHVybiB0aGlzLm5lZ2F0aXZlIT09MH07Qk4ucHJvdG90eXBlLm5lZz1mdW5jdGlvbiBuZWcoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmluZWcoKX07Qk4ucHJvdG90eXBlLmluZWc9ZnVuY3Rpb24gaW5lZygpe2lmKCF0aGlzLmlzWmVybygpKXt0aGlzLm5lZ2F0aXZlXj0xfXJldHVybiB0aGlzfTtCTi5wcm90b3R5cGUuaXVvcj1mdW5jdGlvbiBpdW9yKG51bSl7d2hpbGUodGhpcy5sZW5ndGg8bnVtLmxlbmd0aCl7dGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wfWZvcih2YXIgaT0wO2k8bnVtLmxlbmd0aDtpKyspe3RoaXMud29yZHNbaV09dGhpcy53b3Jkc1tpXXxudW0ud29yZHNbaV19cmV0dXJuIHRoaXMuc3RyaXAoKX07Qk4ucHJvdG90eXBlLmlvcj1mdW5jdGlvbiBpb3IobnVtKXthc3NlcnQoKHRoaXMubmVnYXRpdmV8bnVtLm5lZ2F0aXZlKT09PTApO3JldHVybiB0aGlzLml1b3IobnVtKX07Qk4ucHJvdG90eXBlLm9yPWZ1bmN0aW9uIG9yKG51bSl7aWYodGhpcy5sZW5ndGg+bnVtLmxlbmd0aClyZXR1cm4gdGhpcy5jbG9uZSgpLmlvcihudW0pO3JldHVybiBudW0uY2xvbmUoKS5pb3IodGhpcyl9O0JOLnByb3RvdHlwZS51b3I9ZnVuY3Rpb24gdW9yKG51bSl7aWYodGhpcy5sZW5ndGg+bnVtLmxlbmd0aClyZXR1cm4gdGhpcy5jbG9uZSgpLml1b3IobnVtKTtyZXR1cm4gbnVtLmNsb25lKCkuaXVvcih0aGlzKX07Qk4ucHJvdG90eXBlLml1YW5kPWZ1bmN0aW9uIGl1YW5kKG51bSl7dmFyIGI7aWYodGhpcy5sZW5ndGg+bnVtLmxlbmd0aCl7Yj1udW19ZWxzZXtiPXRoaXN9Zm9yKHZhciBpPTA7aTxiLmxlbmd0aDtpKyspe3RoaXMud29yZHNbaV09dGhpcy53b3Jkc1tpXSZudW0ud29yZHNbaV19dGhpcy5sZW5ndGg9Yi5sZW5ndGg7cmV0dXJuIHRoaXMuc3RyaXAoKX07Qk4ucHJvdG90eXBlLmlhbmQ9ZnVuY3Rpb24gaWFuZChudW0pe2Fzc2VydCgodGhpcy5uZWdhdGl2ZXxudW0ubmVnYXRpdmUpPT09MCk7cmV0dXJuIHRoaXMuaXVhbmQobnVtKX07Qk4ucHJvdG90eXBlLmFuZD1mdW5jdGlvbiBhbmQobnVtKXtpZih0aGlzLmxlbmd0aD5udW0ubGVuZ3RoKXJldHVybiB0aGlzLmNsb25lKCkuaWFuZChudW0pO3JldHVybiBudW0uY2xvbmUoKS5pYW5kKHRoaXMpfTtCTi5wcm90b3R5cGUudWFuZD1mdW5jdGlvbiB1YW5kKG51bSl7aWYodGhpcy5sZW5ndGg+bnVtLmxlbmd0aClyZXR1cm4gdGhpcy5jbG9uZSgpLml1YW5kKG51bSk7cmV0dXJuIG51bS5jbG9uZSgpLml1YW5kKHRoaXMpfTtCTi5wcm90b3R5cGUuaXV4b3I9ZnVuY3Rpb24gaXV4b3IobnVtKXt2YXIgYTt2YXIgYjtpZih0aGlzLmxlbmd0aD5udW0ubGVuZ3RoKXthPXRoaXM7Yj1udW19ZWxzZXthPW51bTtiPXRoaXN9Zm9yKHZhciBpPTA7aTxiLmxlbmd0aDtpKyspe3RoaXMud29yZHNbaV09YS53b3Jkc1tpXV5iLndvcmRzW2ldfWlmKHRoaXMhPT1hKXtmb3IoO2k8YS5sZW5ndGg7aSsrKXt0aGlzLndvcmRzW2ldPWEud29yZHNbaV19fXRoaXMubGVuZ3RoPWEubGVuZ3RoO3JldHVybiB0aGlzLnN0cmlwKCl9O0JOLnByb3RvdHlwZS5peG9yPWZ1bmN0aW9uIGl4b3IobnVtKXthc3NlcnQoKHRoaXMubmVnYXRpdmV8bnVtLm5lZ2F0aXZlKT09PTApO3JldHVybiB0aGlzLml1eG9yKG51bSl9O0JOLnByb3RvdHlwZS54b3I9ZnVuY3Rpb24geG9yKG51bSl7aWYodGhpcy5sZW5ndGg+bnVtLmxlbmd0aClyZXR1cm4gdGhpcy5jbG9uZSgpLml4b3IobnVtKTtyZXR1cm4gbnVtLmNsb25lKCkuaXhvcih0aGlzKX07Qk4ucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24gdXhvcihudW0pe2lmKHRoaXMubGVuZ3RoPm51bS5sZW5ndGgpcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXhvcihudW0pO3JldHVybiBudW0uY2xvbmUoKS5pdXhvcih0aGlzKX07Qk4ucHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uIGlub3RuKHdpZHRoKXthc3NlcnQodHlwZW9mIHdpZHRoPT09Im51bWJlciImJndpZHRoPj0wKTt2YXIgYnl0ZXNOZWVkZWQ9TWF0aC5jZWlsKHdpZHRoLzI2KXwwO3ZhciBiaXRzTGVmdD13aWR0aCUyNjt0aGlzLl9leHBhbmQoYnl0ZXNOZWVkZWQpO2lmKGJpdHNMZWZ0PjApe2J5dGVzTmVlZGVkLS19Zm9yKHZhciBpPTA7aTxieXRlc05lZWRlZDtpKyspe3RoaXMud29yZHNbaV09fnRoaXMud29yZHNbaV0mNjcxMDg4NjN9aWYoYml0c0xlZnQ+MCl7dGhpcy53b3Jkc1tpXT1+dGhpcy53b3Jkc1tpXSY2NzEwODg2Mz4+MjYtYml0c0xlZnR9cmV0dXJuIHRoaXMuc3RyaXAoKX07Qk4ucHJvdG90eXBlLm5vdG49ZnVuY3Rpb24gbm90bih3aWR0aCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih3aWR0aCl9O0JOLnByb3RvdHlwZS5zZXRuPWZ1bmN0aW9uIHNldG4oYml0LHZhbCl7YXNzZXJ0KHR5cGVvZiBiaXQ9PT0ibnVtYmVyIiYmYml0Pj0wKTt2YXIgb2ZmPWJpdC8yNnwwO3ZhciB3Yml0PWJpdCUyNjt0aGlzLl9leHBhbmQob2ZmKzEpO2lmKHZhbCl7dGhpcy53b3Jkc1tvZmZdPXRoaXMud29yZHNbb2ZmXXwxPDx3Yml0fWVsc2V7dGhpcy53b3Jkc1tvZmZdPXRoaXMud29yZHNbb2ZmXSZ+KDE8PHdiaXQpfXJldHVybiB0aGlzLnN0cmlwKCl9O0JOLnByb3RvdHlwZS5pYWRkPWZ1bmN0aW9uIGlhZGQobnVtKXt2YXIgcjtpZih0aGlzLm5lZ2F0aXZlIT09MCYmbnVtLm5lZ2F0aXZlPT09MCl7dGhpcy5uZWdhdGl2ZT0wO3I9dGhpcy5pc3ViKG51bSk7dGhpcy5uZWdhdGl2ZV49MTtyZXR1cm4gdGhpcy5fbm9ybVNpZ24oKX1lbHNlIGlmKHRoaXMubmVnYXRpdmU9PT0wJiZudW0ubmVnYXRpdmUhPT0wKXtudW0ubmVnYXRpdmU9MDtyPXRoaXMuaXN1YihudW0pO251bS5uZWdhdGl2ZT0xO3JldHVybiByLl9ub3JtU2lnbigpfXZhciBhLGI7aWYodGhpcy5sZW5ndGg+bnVtLmxlbmd0aCl7YT10aGlzO2I9bnVtfWVsc2V7YT1udW07Yj10aGlzfXZhciBjYXJyeT0wO2Zvcih2YXIgaT0wO2k8Yi5sZW5ndGg7aSsrKXtyPShhLndvcmRzW2ldfDApKyhiLndvcmRzW2ldfDApK2NhcnJ5O3RoaXMud29yZHNbaV09ciY2NzEwODg2MztjYXJyeT1yPj4+MjZ9Zm9yKDtjYXJyeSE9PTAmJmk8YS5sZW5ndGg7aSsrKXtyPShhLndvcmRzW2ldfDApK2NhcnJ5O3RoaXMud29yZHNbaV09ciY2NzEwODg2MztjYXJyeT1yPj4+MjZ9dGhpcy5sZW5ndGg9YS5sZW5ndGg7aWYoY2FycnkhPT0wKXt0aGlzLndvcmRzW3RoaXMubGVuZ3RoXT1jYXJyeTt0aGlzLmxlbmd0aCsrfWVsc2UgaWYoYSE9PXRoaXMpe2Zvcig7aTxhLmxlbmd0aDtpKyspe3RoaXMud29yZHNbaV09YS53b3Jkc1tpXX19cmV0dXJuIHRoaXN9O0JOLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24gYWRkKG51bSl7dmFyIHJlcztpZihudW0ubmVnYXRpdmUhPT0wJiZ0aGlzLm5lZ2F0aXZlPT09MCl7bnVtLm5lZ2F0aXZlPTA7cmVzPXRoaXMuc3ViKG51bSk7bnVtLm5lZ2F0aXZlXj0xO3JldHVybiByZXN9ZWxzZSBpZihudW0ubmVnYXRpdmU9PT0wJiZ0aGlzLm5lZ2F0aXZlIT09MCl7dGhpcy5uZWdhdGl2ZT0wO3Jlcz1udW0uc3ViKHRoaXMpO3RoaXMubmVnYXRpdmU9MTtyZXR1cm4gcmVzfWlmKHRoaXMubGVuZ3RoPm51bS5sZW5ndGgpcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkKG51bSk7cmV0dXJuIG51bS5jbG9uZSgpLmlhZGQodGhpcyl9O0JOLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uIGlzdWIobnVtKXtpZihudW0ubmVnYXRpdmUhPT0wKXtudW0ubmVnYXRpdmU9MDt2YXIgcj10aGlzLmlhZGQobnVtKTtudW0ubmVnYXRpdmU9MTtyZXR1cm4gci5fbm9ybVNpZ24oKX1lbHNlIGlmKHRoaXMubmVnYXRpdmUhPT0wKXt0aGlzLm5lZ2F0aXZlPTA7dGhpcy5pYWRkKG51bSk7dGhpcy5uZWdhdGl2ZT0xO3JldHVybiB0aGlzLl9ub3JtU2lnbigpfXZhciBjbXA9dGhpcy5jbXAobnVtKTtpZihjbXA9PT0wKXt0aGlzLm5lZ2F0aXZlPTA7dGhpcy5sZW5ndGg9MTt0aGlzLndvcmRzWzBdPTA7cmV0dXJuIHRoaXN9dmFyIGEsYjtpZihjbXA+MCl7YT10aGlzO2I9bnVtfWVsc2V7YT1udW07Yj10aGlzfXZhciBjYXJyeT0wO2Zvcih2YXIgaT0wO2k8Yi5sZW5ndGg7aSsrKXtyPShhLndvcmRzW2ldfDApLShiLndvcmRzW2ldfDApK2NhcnJ5O2NhcnJ5PXI+PjI2O3RoaXMud29yZHNbaV09ciY2NzEwODg2M31mb3IoO2NhcnJ5IT09MCYmaTxhLmxlbmd0aDtpKyspe3I9KGEud29yZHNbaV18MCkrY2Fycnk7Y2Fycnk9cj4+MjY7dGhpcy53b3Jkc1tpXT1yJjY3MTA4ODYzfWlmKGNhcnJ5PT09MCYmaTxhLmxlbmd0aCYmYSE9PXRoaXMpe2Zvcig7aTxhLmxlbmd0aDtpKyspe3RoaXMud29yZHNbaV09YS53b3Jkc1tpXX19dGhpcy5sZW5ndGg9TWF0aC5tYXgodGhpcy5sZW5ndGgsaSk7aWYoYSE9PXRoaXMpe3RoaXMubmVnYXRpdmU9MX1yZXR1cm4gdGhpcy5zdHJpcCgpfTtCTi5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uIHN1YihudW0pe3JldHVybiB0aGlzLmNsb25lKCkuaXN1YihudW0pfTtmdW5jdGlvbiBzbWFsbE11bFRvKHNlbGYsbnVtLG91dCl7b3V0Lm5lZ2F0aXZlPW51bS5uZWdhdGl2ZV5zZWxmLm5lZ2F0aXZlO3ZhciBsZW49c2VsZi5sZW5ndGgrbnVtLmxlbmd0aHwwO291dC5sZW5ndGg9bGVuO2xlbj1sZW4tMXwwO3ZhciBhPXNlbGYud29yZHNbMF18MDt2YXIgYj1udW0ud29yZHNbMF18MDt2YXIgcj1hKmI7dmFyIGxvPXImNjcxMDg4NjM7dmFyIGNhcnJ5PXIvNjcxMDg4NjR8MDtvdXQud29yZHNbMF09bG87Zm9yKHZhciBrPTE7azxsZW47aysrKXt2YXIgbmNhcnJ5PWNhcnJ5Pj4+MjY7dmFyIHJ3b3JkPWNhcnJ5JjY3MTA4ODYzO3ZhciBtYXhKPU1hdGgubWluKGssbnVtLmxlbmd0aC0xKTtmb3IodmFyIGo9TWF0aC5tYXgoMCxrLXNlbGYubGVuZ3RoKzEpO2o8PW1heEo7aisrKXt2YXIgaT1rLWp8MDthPXNlbGYud29yZHNbaV18MDtiPW51bS53b3Jkc1tqXXwwO3I9YSpiK3J3b3JkO25jYXJyeSs9ci82NzEwODg2NHwwO3J3b3JkPXImNjcxMDg4NjN9b3V0LndvcmRzW2tdPXJ3b3JkfDA7Y2Fycnk9bmNhcnJ5fDB9aWYoY2FycnkhPT0wKXtvdXQud29yZHNba109Y2Fycnl8MH1lbHNle291dC5sZW5ndGgtLX1yZXR1cm4gb3V0LnN0cmlwKCl9dmFyIGNvbWIxME11bFRvPWZ1bmN0aW9uIGNvbWIxME11bFRvKHNlbGYsbnVtLG91dCl7dmFyIGE9c2VsZi53b3Jkczt2YXIgYj1udW0ud29yZHM7dmFyIG89b3V0LndvcmRzO3ZhciBjPTA7dmFyIGxvO3ZhciBtaWQ7dmFyIGhpO3ZhciBhMD1hWzBdfDA7dmFyIGFsMD1hMCY4MTkxO3ZhciBhaDA9YTA+Pj4xMzt2YXIgYTE9YVsxXXwwO3ZhciBhbDE9YTEmODE5MTt2YXIgYWgxPWExPj4+MTM7dmFyIGEyPWFbMl18MDt2YXIgYWwyPWEyJjgxOTE7dmFyIGFoMj1hMj4+PjEzO3ZhciBhMz1hWzNdfDA7dmFyIGFsMz1hMyY4MTkxO3ZhciBhaDM9YTM+Pj4xMzt2YXIgYTQ9YVs0XXwwO3ZhciBhbDQ9YTQmODE5MTt2YXIgYWg0PWE0Pj4+MTM7dmFyIGE1PWFbNV18MDt2YXIgYWw1PWE1JjgxOTE7dmFyIGFoNT1hNT4+PjEzO3ZhciBhNj1hWzZdfDA7dmFyIGFsNj1hNiY4MTkxO3ZhciBhaDY9YTY+Pj4xMzt2YXIgYTc9YVs3XXwwO3ZhciBhbDc9YTcmODE5MTt2YXIgYWg3PWE3Pj4+MTM7dmFyIGE4PWFbOF18MDt2YXIgYWw4PWE4JjgxOTE7dmFyIGFoOD1hOD4+PjEzO3ZhciBhOT1hWzldfDA7dmFyIGFsOT1hOSY4MTkxO3ZhciBhaDk9YTk+Pj4xMzt2YXIgYjA9YlswXXwwO3ZhciBibDA9YjAmODE5MTt2YXIgYmgwPWIwPj4+MTM7dmFyIGIxPWJbMV18MDt2YXIgYmwxPWIxJjgxOTE7dmFyIGJoMT1iMT4+PjEzO3ZhciBiMj1iWzJdfDA7dmFyIGJsMj1iMiY4MTkxO3ZhciBiaDI9YjI+Pj4xMzt2YXIgYjM9YlszXXwwO3ZhciBibDM9YjMmODE5MTt2YXIgYmgzPWIzPj4+MTM7dmFyIGI0PWJbNF18MDt2YXIgYmw0PWI0JjgxOTE7dmFyIGJoND1iND4+PjEzO3ZhciBiNT1iWzVdfDA7dmFyIGJsNT1iNSY4MTkxO3ZhciBiaDU9YjU+Pj4xMzt2YXIgYjY9Yls2XXwwO3ZhciBibDY9YjYmODE5MTt2YXIgYmg2PWI2Pj4+MTM7dmFyIGI3PWJbN118MDt2YXIgYmw3PWI3JjgxOTE7dmFyIGJoNz1iNz4+PjEzO3ZhciBiOD1iWzhdfDA7dmFyIGJsOD1iOCY4MTkxO3ZhciBiaDg9Yjg+Pj4xMzt2YXIgYjk9Yls5XXwwO3ZhciBibDk9YjkmODE5MTt2YXIgYmg5PWI5Pj4+MTM7b3V0Lm5lZ2F0aXZlPXNlbGYubmVnYXRpdmVebnVtLm5lZ2F0aXZlO291dC5sZW5ndGg9MTk7bG89TWF0aC5pbXVsKGFsMCxibDApO21pZD1NYXRoLmltdWwoYWwwLGJoMCk7bWlkPW1pZCtNYXRoLmltdWwoYWgwLGJsMCl8MDtoaT1NYXRoLmltdWwoYWgwLGJoMCk7dmFyIHcwPShjK2xvfDApKygobWlkJjgxOTEpPDwxMyl8MDtjPShoaSsobWlkPj4+MTMpfDApKyh3MD4+PjI2KXwwO3cwJj02NzEwODg2Mztsbz1NYXRoLmltdWwoYWwxLGJsMCk7bWlkPU1hdGguaW11bChhbDEsYmgwKTttaWQ9bWlkK01hdGguaW11bChhaDEsYmwwKXwwO2hpPU1hdGguaW11bChhaDEsYmgwKTtsbz1sbytNYXRoLmltdWwoYWwwLGJsMSl8MDttaWQ9bWlkK01hdGguaW11bChhbDAsYmgxKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMCxibDEpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMCxiaDEpfDA7dmFyIHcxPShjK2xvfDApKygobWlkJjgxOTEpPDwxMyl8MDtjPShoaSsobWlkPj4+MTMpfDApKyh3MT4+PjI2KXwwO3cxJj02NzEwODg2Mztsbz1NYXRoLmltdWwoYWwyLGJsMCk7bWlkPU1hdGguaW11bChhbDIsYmgwKTttaWQ9bWlkK01hdGguaW11bChhaDIsYmwwKXwwO2hpPU1hdGguaW11bChhaDIsYmgwKTtsbz1sbytNYXRoLmltdWwoYWwxLGJsMSl8MDttaWQ9bWlkK01hdGguaW11bChhbDEsYmgxKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMSxibDEpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMSxiaDEpfDA7bG89bG8rTWF0aC5pbXVsKGFsMCxibDIpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwwLGJoMil8MDttaWQ9bWlkK01hdGguaW11bChhaDAsYmwyKXwwO2hpPWhpK01hdGguaW11bChhaDAsYmgyKXwwO3ZhciB3Mj0oYytsb3wwKSsoKG1pZCY4MTkxKTw8MTMpfDA7Yz0oaGkrKG1pZD4+PjEzKXwwKSsodzI+Pj4yNil8MDt3MiY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsMyxibDApO21pZD1NYXRoLmltdWwoYWwzLGJoMCk7bWlkPW1pZCtNYXRoLmltdWwoYWgzLGJsMCl8MDtoaT1NYXRoLmltdWwoYWgzLGJoMCk7bG89bG8rTWF0aC5pbXVsKGFsMixibDEpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwyLGJoMSl8MDttaWQ9bWlkK01hdGguaW11bChhaDIsYmwxKXwwO2hpPWhpK01hdGguaW11bChhaDIsYmgxKXwwO2xvPWxvK01hdGguaW11bChhbDEsYmwyKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMSxiaDIpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgxLGJsMil8MDtoaT1oaStNYXRoLmltdWwoYWgxLGJoMil8MDtsbz1sbytNYXRoLmltdWwoYWwwLGJsMyl8MDttaWQ9bWlkK01hdGguaW11bChhbDAsYmgzKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMCxibDMpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMCxiaDMpfDA7dmFyIHczPShjK2xvfDApKygobWlkJjgxOTEpPDwxMyl8MDtjPShoaSsobWlkPj4+MTMpfDApKyh3Mz4+PjI2KXwwO3czJj02NzEwODg2Mztsbz1NYXRoLmltdWwoYWw0LGJsMCk7bWlkPU1hdGguaW11bChhbDQsYmgwKTttaWQ9bWlkK01hdGguaW11bChhaDQsYmwwKXwwO2hpPU1hdGguaW11bChhaDQsYmgwKTtsbz1sbytNYXRoLmltdWwoYWwzLGJsMSl8MDttaWQ9bWlkK01hdGguaW11bChhbDMsYmgxKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMyxibDEpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMyxiaDEpfDA7bG89bG8rTWF0aC5pbXVsKGFsMixibDIpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwyLGJoMil8MDttaWQ9bWlkK01hdGguaW11bChhaDIsYmwyKXwwO2hpPWhpK01hdGguaW11bChhaDIsYmgyKXwwO2xvPWxvK01hdGguaW11bChhbDEsYmwzKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMSxiaDMpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgxLGJsMyl8MDtoaT1oaStNYXRoLmltdWwoYWgxLGJoMyl8MDtsbz1sbytNYXRoLmltdWwoYWwwLGJsNCl8MDttaWQ9bWlkK01hdGguaW11bChhbDAsYmg0KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMCxibDQpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMCxiaDQpfDA7dmFyIHc0PShjK2xvfDApKygobWlkJjgxOTEpPDwxMyl8MDtjPShoaSsobWlkPj4+MTMpfDApKyh3ND4+PjI2KXwwO3c0Jj02NzEwODg2Mztsbz1NYXRoLmltdWwoYWw1LGJsMCk7bWlkPU1hdGguaW11bChhbDUsYmgwKTttaWQ9bWlkK01hdGguaW11bChhaDUsYmwwKXwwO2hpPU1hdGguaW11bChhaDUsYmgwKTtsbz1sbytNYXRoLmltdWwoYWw0LGJsMSl8MDttaWQ9bWlkK01hdGguaW11bChhbDQsYmgxKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNCxibDEpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNCxiaDEpfDA7bG89bG8rTWF0aC5pbXVsKGFsMyxibDIpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwzLGJoMil8MDttaWQ9bWlkK01hdGguaW11bChhaDMsYmwyKXwwO2hpPWhpK01hdGguaW11bChhaDMsYmgyKXwwO2xvPWxvK01hdGguaW11bChhbDIsYmwzKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMixiaDMpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgyLGJsMyl8MDtoaT1oaStNYXRoLmltdWwoYWgyLGJoMyl8MDtsbz1sbytNYXRoLmltdWwoYWwxLGJsNCl8MDttaWQ9bWlkK01hdGguaW11bChhbDEsYmg0KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMSxibDQpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMSxiaDQpfDA7bG89bG8rTWF0aC5pbXVsKGFsMCxibDUpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwwLGJoNSl8MDttaWQ9bWlkK01hdGguaW11bChhaDAsYmw1KXwwO2hpPWhpK01hdGguaW11bChhaDAsYmg1KXwwO3ZhciB3NT0oYytsb3wwKSsoKG1pZCY4MTkxKTw8MTMpfDA7Yz0oaGkrKG1pZD4+PjEzKXwwKSsodzU+Pj4yNil8MDt3NSY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsNixibDApO21pZD1NYXRoLmltdWwoYWw2LGJoMCk7bWlkPW1pZCtNYXRoLmltdWwoYWg2LGJsMCl8MDtoaT1NYXRoLmltdWwoYWg2LGJoMCk7bG89bG8rTWF0aC5pbXVsKGFsNSxibDEpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw1LGJoMSl8MDttaWQ9bWlkK01hdGguaW11bChhaDUsYmwxKXwwO2hpPWhpK01hdGguaW11bChhaDUsYmgxKXwwO2xvPWxvK01hdGguaW11bChhbDQsYmwyKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNCxiaDIpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg0LGJsMil8MDtoaT1oaStNYXRoLmltdWwoYWg0LGJoMil8MDtsbz1sbytNYXRoLmltdWwoYWwzLGJsMyl8MDttaWQ9bWlkK01hdGguaW11bChhbDMsYmgzKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMyxibDMpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMyxiaDMpfDA7bG89bG8rTWF0aC5pbXVsKGFsMixibDQpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwyLGJoNCl8MDttaWQ9bWlkK01hdGguaW11bChhaDIsYmw0KXwwO2hpPWhpK01hdGguaW11bChhaDIsYmg0KXwwO2xvPWxvK01hdGguaW11bChhbDEsYmw1KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMSxiaDUpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgxLGJsNSl8MDtoaT1oaStNYXRoLmltdWwoYWgxLGJoNSl8MDtsbz1sbytNYXRoLmltdWwoYWwwLGJsNil8MDttaWQ9bWlkK01hdGguaW11bChhbDAsYmg2KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMCxibDYpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMCxiaDYpfDA7dmFyIHc2PShjK2xvfDApKygobWlkJjgxOTEpPDwxMyl8MDtjPShoaSsobWlkPj4+MTMpfDApKyh3Nj4+PjI2KXwwO3c2Jj02NzEwODg2Mztsbz1NYXRoLmltdWwoYWw3LGJsMCk7bWlkPU1hdGguaW11bChhbDcsYmgwKTttaWQ9bWlkK01hdGguaW11bChhaDcsYmwwKXwwO2hpPU1hdGguaW11bChhaDcsYmgwKTtsbz1sbytNYXRoLmltdWwoYWw2LGJsMSl8MDttaWQ9bWlkK01hdGguaW11bChhbDYsYmgxKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNixibDEpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNixiaDEpfDA7bG89bG8rTWF0aC5pbXVsKGFsNSxibDIpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw1LGJoMil8MDttaWQ9bWlkK01hdGguaW11bChhaDUsYmwyKXwwO2hpPWhpK01hdGguaW11bChhaDUsYmgyKXwwO2xvPWxvK01hdGguaW11bChhbDQsYmwzKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNCxiaDMpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg0LGJsMyl8MDtoaT1oaStNYXRoLmltdWwoYWg0LGJoMyl8MDtsbz1sbytNYXRoLmltdWwoYWwzLGJsNCl8MDttaWQ9bWlkK01hdGguaW11bChhbDMsYmg0KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMyxibDQpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMyxiaDQpfDA7bG89bG8rTWF0aC5pbXVsKGFsMixibDUpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwyLGJoNSl8MDttaWQ9bWlkK01hdGguaW11bChhaDIsYmw1KXwwO2hpPWhpK01hdGguaW11bChhaDIsYmg1KXwwO2xvPWxvK01hdGguaW11bChhbDEsYmw2KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMSxiaDYpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgxLGJsNil8MDtoaT1oaStNYXRoLmltdWwoYWgxLGJoNil8MDtsbz1sbytNYXRoLmltdWwoYWwwLGJsNyl8MDttaWQ9bWlkK01hdGguaW11bChhbDAsYmg3KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMCxibDcpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMCxiaDcpfDA7dmFyIHc3PShjK2xvfDApKygobWlkJjgxOTEpPDwxMyl8MDtjPShoaSsobWlkPj4+MTMpfDApKyh3Nz4+PjI2KXwwO3c3Jj02NzEwODg2Mztsbz1NYXRoLmltdWwoYWw4LGJsMCk7bWlkPU1hdGguaW11bChhbDgsYmgwKTttaWQ9bWlkK01hdGguaW11bChhaDgsYmwwKXwwO2hpPU1hdGguaW11bChhaDgsYmgwKTtsbz1sbytNYXRoLmltdWwoYWw3LGJsMSl8MDttaWQ9bWlkK01hdGguaW11bChhbDcsYmgxKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNyxibDEpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNyxiaDEpfDA7bG89bG8rTWF0aC5pbXVsKGFsNixibDIpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw2LGJoMil8MDttaWQ9bWlkK01hdGguaW11bChhaDYsYmwyKXwwO2hpPWhpK01hdGguaW11bChhaDYsYmgyKXwwO2xvPWxvK01hdGguaW11bChhbDUsYmwzKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNSxiaDMpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg1LGJsMyl8MDtoaT1oaStNYXRoLmltdWwoYWg1LGJoMyl8MDtsbz1sbytNYXRoLmltdWwoYWw0LGJsNCl8MDttaWQ9bWlkK01hdGguaW11bChhbDQsYmg0KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNCxibDQpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNCxiaDQpfDA7bG89bG8rTWF0aC5pbXVsKGFsMyxibDUpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwzLGJoNSl8MDttaWQ9bWlkK01hdGguaW11bChhaDMsYmw1KXwwO2hpPWhpK01hdGguaW11bChhaDMsYmg1KXwwO2xvPWxvK01hdGguaW11bChhbDIsYmw2KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMixiaDYpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgyLGJsNil8MDtoaT1oaStNYXRoLmltdWwoYWgyLGJoNil8MDtsbz1sbytNYXRoLmltdWwoYWwxLGJsNyl8MDttaWQ9bWlkK01hdGguaW11bChhbDEsYmg3KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMSxibDcpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMSxiaDcpfDA7bG89bG8rTWF0aC5pbXVsKGFsMCxibDgpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwwLGJoOCl8MDttaWQ9bWlkK01hdGguaW11bChhaDAsYmw4KXwwO2hpPWhpK01hdGguaW11bChhaDAsYmg4KXwwO3ZhciB3OD0oYytsb3wwKSsoKG1pZCY4MTkxKTw8MTMpfDA7Yz0oaGkrKG1pZD4+PjEzKXwwKSsodzg+Pj4yNil8MDt3OCY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsOSxibDApO21pZD1NYXRoLmltdWwoYWw5LGJoMCk7bWlkPW1pZCtNYXRoLmltdWwoYWg5LGJsMCl8MDtoaT1NYXRoLmltdWwoYWg5LGJoMCk7bG89bG8rTWF0aC5pbXVsKGFsOCxibDEpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw4LGJoMSl8MDttaWQ9bWlkK01hdGguaW11bChhaDgsYmwxKXwwO2hpPWhpK01hdGguaW11bChhaDgsYmgxKXwwO2xvPWxvK01hdGguaW11bChhbDcsYmwyKXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNyxiaDIpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg3LGJsMil8MDtoaT1oaStNYXRoLmltdWwoYWg3LGJoMil8MDtsbz1sbytNYXRoLmltdWwoYWw2LGJsMyl8MDttaWQ9bWlkK01hdGguaW11bChhbDYsYmgzKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNixibDMpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNixiaDMpfDA7bG89bG8rTWF0aC5pbXVsKGFsNSxibDQpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw1LGJoNCl8MDttaWQ9bWlkK01hdGguaW11bChhaDUsYmw0KXwwO2hpPWhpK01hdGguaW11bChhaDUsYmg0KXwwO2xvPWxvK01hdGguaW11bChhbDQsYmw1KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNCxiaDUpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg0LGJsNSl8MDtoaT1oaStNYXRoLmltdWwoYWg0LGJoNSl8MDtsbz1sbytNYXRoLmltdWwoYWwzLGJsNil8MDttaWQ9bWlkK01hdGguaW11bChhbDMsYmg2KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMyxibDYpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMyxiaDYpfDA7bG89bG8rTWF0aC5pbXVsKGFsMixibDcpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwyLGJoNyl8MDttaWQ9bWlkK01hdGguaW11bChhaDIsYmw3KXwwO2hpPWhpK01hdGguaW11bChhaDIsYmg3KXwwO2xvPWxvK01hdGguaW11bChhbDEsYmw4KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMSxiaDgpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgxLGJsOCl8MDtoaT1oaStNYXRoLmltdWwoYWgxLGJoOCl8MDtsbz1sbytNYXRoLmltdWwoYWwwLGJsOSl8MDttaWQ9bWlkK01hdGguaW11bChhbDAsYmg5KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMCxibDkpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMCxiaDkpfDA7dmFyIHc5PShjK2xvfDApKygobWlkJjgxOTEpPDwxMyl8MDtjPShoaSsobWlkPj4+MTMpfDApKyh3OT4+PjI2KXwwO3c5Jj02NzEwODg2Mztsbz1NYXRoLmltdWwoYWw5LGJsMSk7bWlkPU1hdGguaW11bChhbDksYmgxKTttaWQ9bWlkK01hdGguaW11bChhaDksYmwxKXwwO2hpPU1hdGguaW11bChhaDksYmgxKTtsbz1sbytNYXRoLmltdWwoYWw4LGJsMil8MDttaWQ9bWlkK01hdGguaW11bChhbDgsYmgyKXwwO21pZD1taWQrTWF0aC5pbXVsKGFoOCxibDIpfDA7aGk9aGkrTWF0aC5pbXVsKGFoOCxiaDIpfDA7bG89bG8rTWF0aC5pbXVsKGFsNyxibDMpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw3LGJoMyl8MDttaWQ9bWlkK01hdGguaW11bChhaDcsYmwzKXwwO2hpPWhpK01hdGguaW11bChhaDcsYmgzKXwwO2xvPWxvK01hdGguaW11bChhbDYsYmw0KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNixiaDQpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg2LGJsNCl8MDtoaT1oaStNYXRoLmltdWwoYWg2LGJoNCl8MDtsbz1sbytNYXRoLmltdWwoYWw1LGJsNSl8MDttaWQ9bWlkK01hdGguaW11bChhbDUsYmg1KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNSxibDUpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNSxiaDUpfDA7bG89bG8rTWF0aC5pbXVsKGFsNCxibDYpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw0LGJoNil8MDttaWQ9bWlkK01hdGguaW11bChhaDQsYmw2KXwwO2hpPWhpK01hdGguaW11bChhaDQsYmg2KXwwO2xvPWxvK01hdGguaW11bChhbDMsYmw3KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsMyxiaDcpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWgzLGJsNyl8MDtoaT1oaStNYXRoLmltdWwoYWgzLGJoNyl8MDtsbz1sbytNYXRoLmltdWwoYWwyLGJsOCl8MDttaWQ9bWlkK01hdGguaW11bChhbDIsYmg4KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMixibDgpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMixiaDgpfDA7bG89bG8rTWF0aC5pbXVsKGFsMSxibDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwxLGJoOSl8MDttaWQ9bWlkK01hdGguaW11bChhaDEsYmw5KXwwO2hpPWhpK01hdGguaW11bChhaDEsYmg5KXwwO3ZhciB3MTA9KGMrbG98MCkrKChtaWQmODE5MSk8PDEzKXwwO2M9KGhpKyhtaWQ+Pj4xMyl8MCkrKHcxMD4+PjI2KXwwO3cxMCY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsOSxibDIpO21pZD1NYXRoLmltdWwoYWw5LGJoMik7bWlkPW1pZCtNYXRoLmltdWwoYWg5LGJsMil8MDtoaT1NYXRoLmltdWwoYWg5LGJoMik7bG89bG8rTWF0aC5pbXVsKGFsOCxibDMpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw4LGJoMyl8MDttaWQ9bWlkK01hdGguaW11bChhaDgsYmwzKXwwO2hpPWhpK01hdGguaW11bChhaDgsYmgzKXwwO2xvPWxvK01hdGguaW11bChhbDcsYmw0KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNyxiaDQpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg3LGJsNCl8MDtoaT1oaStNYXRoLmltdWwoYWg3LGJoNCl8MDtsbz1sbytNYXRoLmltdWwoYWw2LGJsNSl8MDttaWQ9bWlkK01hdGguaW11bChhbDYsYmg1KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNixibDUpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNixiaDUpfDA7bG89bG8rTWF0aC5pbXVsKGFsNSxibDYpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw1LGJoNil8MDttaWQ9bWlkK01hdGguaW11bChhaDUsYmw2KXwwO2hpPWhpK01hdGguaW11bChhaDUsYmg2KXwwO2xvPWxvK01hdGguaW11bChhbDQsYmw3KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNCxiaDcpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg0LGJsNyl8MDtoaT1oaStNYXRoLmltdWwoYWg0LGJoNyl8MDtsbz1sbytNYXRoLmltdWwoYWwzLGJsOCl8MDttaWQ9bWlkK01hdGguaW11bChhbDMsYmg4KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMyxibDgpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMyxiaDgpfDA7bG89bG8rTWF0aC5pbXVsKGFsMixibDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWwyLGJoOSl8MDttaWQ9bWlkK01hdGguaW11bChhaDIsYmw5KXwwO2hpPWhpK01hdGguaW11bChhaDIsYmg5KXwwO3ZhciB3MTE9KGMrbG98MCkrKChtaWQmODE5MSk8PDEzKXwwO2M9KGhpKyhtaWQ+Pj4xMyl8MCkrKHcxMT4+PjI2KXwwO3cxMSY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsOSxibDMpO21pZD1NYXRoLmltdWwoYWw5LGJoMyk7bWlkPW1pZCtNYXRoLmltdWwoYWg5LGJsMyl8MDtoaT1NYXRoLmltdWwoYWg5LGJoMyk7bG89bG8rTWF0aC5pbXVsKGFsOCxibDQpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw4LGJoNCl8MDttaWQ9bWlkK01hdGguaW11bChhaDgsYmw0KXwwO2hpPWhpK01hdGguaW11bChhaDgsYmg0KXwwO2xvPWxvK01hdGguaW11bChhbDcsYmw1KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNyxiaDUpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg3LGJsNSl8MDtoaT1oaStNYXRoLmltdWwoYWg3LGJoNSl8MDtsbz1sbytNYXRoLmltdWwoYWw2LGJsNil8MDttaWQ9bWlkK01hdGguaW11bChhbDYsYmg2KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNixibDYpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNixiaDYpfDA7bG89bG8rTWF0aC5pbXVsKGFsNSxibDcpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw1LGJoNyl8MDttaWQ9bWlkK01hdGguaW11bChhaDUsYmw3KXwwO2hpPWhpK01hdGguaW11bChhaDUsYmg3KXwwO2xvPWxvK01hdGguaW11bChhbDQsYmw4KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNCxiaDgpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg0LGJsOCl8MDtoaT1oaStNYXRoLmltdWwoYWg0LGJoOCl8MDtsbz1sbytNYXRoLmltdWwoYWwzLGJsOSl8MDttaWQ9bWlkK01hdGguaW11bChhbDMsYmg5KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoMyxibDkpfDA7aGk9aGkrTWF0aC5pbXVsKGFoMyxiaDkpfDA7dmFyIHcxMj0oYytsb3wwKSsoKG1pZCY4MTkxKTw8MTMpfDA7Yz0oaGkrKG1pZD4+PjEzKXwwKSsodzEyPj4+MjYpfDA7dzEyJj02NzEwODg2Mztsbz1NYXRoLmltdWwoYWw5LGJsNCk7bWlkPU1hdGguaW11bChhbDksYmg0KTttaWQ9bWlkK01hdGguaW11bChhaDksYmw0KXwwO2hpPU1hdGguaW11bChhaDksYmg0KTtsbz1sbytNYXRoLmltdWwoYWw4LGJsNSl8MDttaWQ9bWlkK01hdGguaW11bChhbDgsYmg1KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoOCxibDUpfDA7aGk9aGkrTWF0aC5pbXVsKGFoOCxiaDUpfDA7bG89bG8rTWF0aC5pbXVsKGFsNyxibDYpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw3LGJoNil8MDttaWQ9bWlkK01hdGguaW11bChhaDcsYmw2KXwwO2hpPWhpK01hdGguaW11bChhaDcsYmg2KXwwO2xvPWxvK01hdGguaW11bChhbDYsYmw3KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNixiaDcpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg2LGJsNyl8MDtoaT1oaStNYXRoLmltdWwoYWg2LGJoNyl8MDtsbz1sbytNYXRoLmltdWwoYWw1LGJsOCl8MDttaWQ9bWlkK01hdGguaW11bChhbDUsYmg4KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNSxibDgpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNSxiaDgpfDA7bG89bG8rTWF0aC5pbXVsKGFsNCxibDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw0LGJoOSl8MDttaWQ9bWlkK01hdGguaW11bChhaDQsYmw5KXwwO2hpPWhpK01hdGguaW11bChhaDQsYmg5KXwwO3ZhciB3MTM9KGMrbG98MCkrKChtaWQmODE5MSk8PDEzKXwwO2M9KGhpKyhtaWQ+Pj4xMyl8MCkrKHcxMz4+PjI2KXwwO3cxMyY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsOSxibDUpO21pZD1NYXRoLmltdWwoYWw5LGJoNSk7bWlkPW1pZCtNYXRoLmltdWwoYWg5LGJsNSl8MDtoaT1NYXRoLmltdWwoYWg5LGJoNSk7bG89bG8rTWF0aC5pbXVsKGFsOCxibDYpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw4LGJoNil8MDttaWQ9bWlkK01hdGguaW11bChhaDgsYmw2KXwwO2hpPWhpK01hdGguaW11bChhaDgsYmg2KXwwO2xvPWxvK01hdGguaW11bChhbDcsYmw3KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNyxiaDcpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg3LGJsNyl8MDtoaT1oaStNYXRoLmltdWwoYWg3LGJoNyl8MDtsbz1sbytNYXRoLmltdWwoYWw2LGJsOCl8MDttaWQ9bWlkK01hdGguaW11bChhbDYsYmg4KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNixibDgpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNixiaDgpfDA7bG89bG8rTWF0aC5pbXVsKGFsNSxibDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw1LGJoOSl8MDttaWQ9bWlkK01hdGguaW11bChhaDUsYmw5KXwwO2hpPWhpK01hdGguaW11bChhaDUsYmg5KXwwO3ZhciB3MTQ9KGMrbG98MCkrKChtaWQmODE5MSk8PDEzKXwwO2M9KGhpKyhtaWQ+Pj4xMyl8MCkrKHcxND4+PjI2KXwwO3cxNCY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsOSxibDYpO21pZD1NYXRoLmltdWwoYWw5LGJoNik7bWlkPW1pZCtNYXRoLmltdWwoYWg5LGJsNil8MDtoaT1NYXRoLmltdWwoYWg5LGJoNik7bG89bG8rTWF0aC5pbXVsKGFsOCxibDcpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw4LGJoNyl8MDttaWQ9bWlkK01hdGguaW11bChhaDgsYmw3KXwwO2hpPWhpK01hdGguaW11bChhaDgsYmg3KXwwO2xvPWxvK01hdGguaW11bChhbDcsYmw4KXwwO21pZD1taWQrTWF0aC5pbXVsKGFsNyxiaDgpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWg3LGJsOCl8MDtoaT1oaStNYXRoLmltdWwoYWg3LGJoOCl8MDtsbz1sbytNYXRoLmltdWwoYWw2LGJsOSl8MDttaWQ9bWlkK01hdGguaW11bChhbDYsYmg5KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoNixibDkpfDA7aGk9aGkrTWF0aC5pbXVsKGFoNixiaDkpfDA7dmFyIHcxNT0oYytsb3wwKSsoKG1pZCY4MTkxKTw8MTMpfDA7Yz0oaGkrKG1pZD4+PjEzKXwwKSsodzE1Pj4+MjYpfDA7dzE1Jj02NzEwODg2Mztsbz1NYXRoLmltdWwoYWw5LGJsNyk7bWlkPU1hdGguaW11bChhbDksYmg3KTttaWQ9bWlkK01hdGguaW11bChhaDksYmw3KXwwO2hpPU1hdGguaW11bChhaDksYmg3KTtsbz1sbytNYXRoLmltdWwoYWw4LGJsOCl8MDttaWQ9bWlkK01hdGguaW11bChhbDgsYmg4KXwwO21pZD1taWQrTWF0aC5pbXVsKGFoOCxibDgpfDA7aGk9aGkrTWF0aC5pbXVsKGFoOCxiaDgpfDA7bG89bG8rTWF0aC5pbXVsKGFsNyxibDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw3LGJoOSl8MDttaWQ9bWlkK01hdGguaW11bChhaDcsYmw5KXwwO2hpPWhpK01hdGguaW11bChhaDcsYmg5KXwwO3ZhciB3MTY9KGMrbG98MCkrKChtaWQmODE5MSk8PDEzKXwwO2M9KGhpKyhtaWQ+Pj4xMyl8MCkrKHcxNj4+PjI2KXwwO3cxNiY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsOSxibDgpO21pZD1NYXRoLmltdWwoYWw5LGJoOCk7bWlkPW1pZCtNYXRoLmltdWwoYWg5LGJsOCl8MDtoaT1NYXRoLmltdWwoYWg5LGJoOCk7bG89bG8rTWF0aC5pbXVsKGFsOCxibDkpfDA7bWlkPW1pZCtNYXRoLmltdWwoYWw4LGJoOSl8MDttaWQ9bWlkK01hdGguaW11bChhaDgsYmw5KXwwO2hpPWhpK01hdGguaW11bChhaDgsYmg5KXwwO3ZhciB3MTc9KGMrbG98MCkrKChtaWQmODE5MSk8PDEzKXwwO2M9KGhpKyhtaWQ+Pj4xMyl8MCkrKHcxNz4+PjI2KXwwO3cxNyY9NjcxMDg4NjM7bG89TWF0aC5pbXVsKGFsOSxibDkpO21pZD1NYXRoLmltdWwoYWw5LGJoOSk7bWlkPW1pZCtNYXRoLmltdWwoYWg5LGJsOSl8MDtoaT1NYXRoLmltdWwoYWg5LGJoOSk7dmFyIHcxOD0oYytsb3wwKSsoKG1pZCY4MTkxKTw8MTMpfDA7Yz0oaGkrKG1pZD4+PjEzKXwwKSsodzE4Pj4+MjYpfDA7dzE4Jj02NzEwODg2MztvWzBdPXcwO29bMV09dzE7b1syXT13MjtvWzNdPXczO29bNF09dzQ7b1s1XT13NTtvWzZdPXc2O29bN109dzc7b1s4XT13ODtvWzldPXc5O29bMTBdPXcxMDtvWzExXT13MTE7b1sxMl09dzEyO29bMTNdPXcxMztvWzE0XT13MTQ7b1sxNV09dzE1O29bMTZdPXcxNjtvWzE3XT13MTc7b1sxOF09dzE4O2lmKGMhPT0wKXtvWzE5XT1jO291dC5sZW5ndGgrK31yZXR1cm4gb3V0fTtpZighTWF0aC5pbXVsKXtjb21iMTBNdWxUbz1zbWFsbE11bFRvfWZ1bmN0aW9uIGJpZ011bFRvKHNlbGYsbnVtLG91dCl7b3V0Lm5lZ2F0aXZlPW51bS5uZWdhdGl2ZV5zZWxmLm5lZ2F0aXZlO291dC5sZW5ndGg9c2VsZi5sZW5ndGgrbnVtLmxlbmd0aDt2YXIgY2Fycnk9MDt2YXIgaG5jYXJyeT0wO2Zvcih2YXIgaz0wO2s8b3V0Lmxlbmd0aC0xO2srKyl7dmFyIG5jYXJyeT1obmNhcnJ5O2huY2Fycnk9MDt2YXIgcndvcmQ9Y2FycnkmNjcxMDg4NjM7dmFyIG1heEo9TWF0aC5taW4oayxudW0ubGVuZ3RoLTEpO2Zvcih2YXIgaj1NYXRoLm1heCgwLGstc2VsZi5sZW5ndGgrMSk7ajw9bWF4SjtqKyspe3ZhciBpPWstajt2YXIgYT1zZWxmLndvcmRzW2ldfDA7dmFyIGI9bnVtLndvcmRzW2pdfDA7dmFyIHI9YSpiO3ZhciBsbz1yJjY3MTA4ODYzO25jYXJyeT1uY2FycnkrKHIvNjcxMDg4NjR8MCl8MDtsbz1sbytyd29yZHwwO3J3b3JkPWxvJjY3MTA4ODYzO25jYXJyeT1uY2FycnkrKGxvPj4+MjYpfDA7aG5jYXJyeSs9bmNhcnJ5Pj4+MjY7bmNhcnJ5Jj02NzEwODg2M31vdXQud29yZHNba109cndvcmQ7Y2Fycnk9bmNhcnJ5O25jYXJyeT1obmNhcnJ5fWlmKGNhcnJ5IT09MCl7b3V0LndvcmRzW2tdPWNhcnJ5fWVsc2V7b3V0Lmxlbmd0aC0tfXJldHVybiBvdXQuc3RyaXAoKX1mdW5jdGlvbiBqdW1ib011bFRvKHNlbGYsbnVtLG91dCl7dmFyIGZmdG09bmV3IEZGVE07cmV0dXJuIGZmdG0ubXVscChzZWxmLG51bSxvdXQpfUJOLnByb3RvdHlwZS5tdWxUbz1mdW5jdGlvbiBtdWxUbyhudW0sb3V0KXt2YXIgcmVzO3ZhciBsZW49dGhpcy5sZW5ndGgrbnVtLmxlbmd0aDtpZih0aGlzLmxlbmd0aD09PTEwJiZudW0ubGVuZ3RoPT09MTApe3Jlcz1jb21iMTBNdWxUbyh0aGlzLG51bSxvdXQpfWVsc2UgaWYobGVuPDYzKXtyZXM9c21hbGxNdWxUbyh0aGlzLG51bSxvdXQpfWVsc2UgaWYobGVuPDEwMjQpe3Jlcz1iaWdNdWxUbyh0aGlzLG51bSxvdXQpfWVsc2V7cmVzPWp1bWJvTXVsVG8odGhpcyxudW0sb3V0KX1yZXR1cm4gcmVzfTtmdW5jdGlvbiBGRlRNKHgseSl7dGhpcy54PXg7dGhpcy55PXl9RkZUTS5wcm90b3R5cGUubWFrZVJCVD1mdW5jdGlvbiBtYWtlUkJUKE4pe3ZhciB0PW5ldyBBcnJheShOKTt2YXIgbD1CTi5wcm90b3R5cGUuX2NvdW50Qml0cyhOKS0xO2Zvcih2YXIgaT0wO2k8TjtpKyspe3RbaV09dGhpcy5yZXZCaW4oaSxsLE4pfXJldHVybiB0fTtGRlRNLnByb3RvdHlwZS5yZXZCaW49ZnVuY3Rpb24gcmV2QmluKHgsbCxOKXtpZih4PT09MHx8eD09PU4tMSlyZXR1cm4geDt2YXIgcmI9MDtmb3IodmFyIGk9MDtpPGw7aSsrKXtyYnw9KHgmMSk8PGwtaS0xO3g+Pj0xfXJldHVybiByYn07RkZUTS5wcm90b3R5cGUucGVybXV0ZT1mdW5jdGlvbiBwZXJtdXRlKHJidCxyd3MsaXdzLHJ0d3MsaXR3cyxOKXtmb3IodmFyIGk9MDtpPE47aSsrKXtydHdzW2ldPXJ3c1tyYnRbaV1dO2l0d3NbaV09aXdzW3JidFtpXV19fTtGRlRNLnByb3RvdHlwZS50cmFuc2Zvcm09ZnVuY3Rpb24gdHJhbnNmb3JtKHJ3cyxpd3MscnR3cyxpdHdzLE4scmJ0KXt0aGlzLnBlcm11dGUocmJ0LHJ3cyxpd3MscnR3cyxpdHdzLE4pO2Zvcih2YXIgcz0xO3M8TjtzPDw9MSl7dmFyIGw9czw8MTt2YXIgcnR3ZGY9TWF0aC5jb3MoMipNYXRoLlBJL2wpO3ZhciBpdHdkZj1NYXRoLnNpbigyKk1hdGguUEkvbCk7Zm9yKHZhciBwPTA7cDxOO3ArPWwpe3ZhciBydHdkZl89cnR3ZGY7dmFyIGl0d2RmXz1pdHdkZjtmb3IodmFyIGo9MDtqPHM7aisrKXt2YXIgcmU9cnR3c1twK2pdO3ZhciBpZT1pdHdzW3Aral07dmFyIHJvPXJ0d3NbcCtqK3NdO3ZhciBpbz1pdHdzW3AraitzXTt2YXIgcng9cnR3ZGZfKnJvLWl0d2RmXyppbztpbz1ydHdkZl8qaW8raXR3ZGZfKnJvO3JvPXJ4O3J0d3NbcCtqXT1yZStybztpdHdzW3Aral09aWUraW87cnR3c1twK2orc109cmUtcm87aXR3c1twK2orc109aWUtaW87aWYoaiE9PWwpe3J4PXJ0d2RmKnJ0d2RmXy1pdHdkZippdHdkZl87aXR3ZGZfPXJ0d2RmKml0d2RmXytpdHdkZipydHdkZl87cnR3ZGZfPXJ4fX19fX07RkZUTS5wcm90b3R5cGUuZ3Vlc3NMZW4xM2I9ZnVuY3Rpb24gZ3Vlc3NMZW4xM2IobixtKXt2YXIgTj1NYXRoLm1heChtLG4pfDE7dmFyIG9kZD1OJjE7dmFyIGk9MDtmb3IoTj1OLzJ8MDtOO049Tj4+PjEpe2krK31yZXR1cm4gMTw8aSsxK29kZH07RkZUTS5wcm90b3R5cGUuY29uanVnYXRlPWZ1bmN0aW9uIGNvbmp1Z2F0ZShyd3MsaXdzLE4pe2lmKE48PTEpcmV0dXJuO2Zvcih2YXIgaT0wO2k8Ti8yO2krKyl7dmFyIHQ9cndzW2ldO3J3c1tpXT1yd3NbTi1pLTFdO3J3c1tOLWktMV09dDt0PWl3c1tpXTtpd3NbaV09LWl3c1tOLWktMV07aXdzW04taS0xXT0tdH19O0ZGVE0ucHJvdG90eXBlLm5vcm1hbGl6ZTEzYj1mdW5jdGlvbiBub3JtYWxpemUxM2Iod3MsTil7dmFyIGNhcnJ5PTA7Zm9yKHZhciBpPTA7aTxOLzI7aSsrKXt2YXIgdz1NYXRoLnJvdW5kKHdzWzIqaSsxXS9OKSo4MTkyK01hdGgucm91bmQod3NbMippXS9OKStjYXJyeTt3c1tpXT13JjY3MTA4ODYzO2lmKHc8NjcxMDg4NjQpe2NhcnJ5PTB9ZWxzZXtjYXJyeT13LzY3MTA4ODY0fDB9fXJldHVybiB3c307RkZUTS5wcm90b3R5cGUuY29udmVydDEzYj1mdW5jdGlvbiBjb252ZXJ0MTNiKHdzLGxlbixyd3MsTil7dmFyIGNhcnJ5PTA7Zm9yKHZhciBpPTA7aTxsZW47aSsrKXtjYXJyeT1jYXJyeSsod3NbaV18MCk7cndzWzIqaV09Y2FycnkmODE5MTtjYXJyeT1jYXJyeT4+PjEzO3J3c1syKmkrMV09Y2FycnkmODE5MTtjYXJyeT1jYXJyeT4+PjEzfWZvcihpPTIqbGVuO2k8TjsrK2kpe3J3c1tpXT0wfWFzc2VydChjYXJyeT09PTApO2Fzc2VydCgoY2FycnkmfjgxOTEpPT09MCl9O0ZGVE0ucHJvdG90eXBlLnN0dWI9ZnVuY3Rpb24gc3R1YihOKXt2YXIgcGg9bmV3IEFycmF5KE4pO2Zvcih2YXIgaT0wO2k8TjtpKyspe3BoW2ldPTB9cmV0dXJuIHBofTtGRlRNLnByb3RvdHlwZS5tdWxwPWZ1bmN0aW9uIG11bHAoeCx5LG91dCl7dmFyIE49Mip0aGlzLmd1ZXNzTGVuMTNiKHgubGVuZ3RoLHkubGVuZ3RoKTt2YXIgcmJ0PXRoaXMubWFrZVJCVChOKTt2YXIgXz10aGlzLnN0dWIoTik7dmFyIHJ3cz1uZXcgQXJyYXkoTik7dmFyIHJ3c3Q9bmV3IEFycmF5KE4pO3ZhciBpd3N0PW5ldyBBcnJheShOKTt2YXIgbnJ3cz1uZXcgQXJyYXkoTik7dmFyIG5yd3N0PW5ldyBBcnJheShOKTt2YXIgbml3c3Q9bmV3IEFycmF5KE4pO3ZhciBybXdzPW91dC53b3JkcztybXdzLmxlbmd0aD1OO3RoaXMuY29udmVydDEzYih4LndvcmRzLHgubGVuZ3RoLHJ3cyxOKTt0aGlzLmNvbnZlcnQxM2IoeS53b3Jkcyx5Lmxlbmd0aCxucndzLE4pO3RoaXMudHJhbnNmb3JtKHJ3cyxfLHJ3c3QsaXdzdCxOLHJidCk7dGhpcy50cmFuc2Zvcm0obnJ3cyxfLG5yd3N0LG5pd3N0LE4scmJ0KTtmb3IodmFyIGk9MDtpPE47aSsrKXt2YXIgcng9cndzdFtpXSpucndzdFtpXS1pd3N0W2ldKm5pd3N0W2ldO2l3c3RbaV09cndzdFtpXSpuaXdzdFtpXStpd3N0W2ldKm5yd3N0W2ldO3J3c3RbaV09cnh9dGhpcy5jb25qdWdhdGUocndzdCxpd3N0LE4pO3RoaXMudHJhbnNmb3JtKHJ3c3QsaXdzdCxybXdzLF8sTixyYnQpO3RoaXMuY29uanVnYXRlKHJtd3MsXyxOKTt0aGlzLm5vcm1hbGl6ZTEzYihybXdzLE4pO291dC5uZWdhdGl2ZT14Lm5lZ2F0aXZlXnkubmVnYXRpdmU7b3V0Lmxlbmd0aD14Lmxlbmd0aCt5Lmxlbmd0aDtyZXR1cm4gb3V0LnN0cmlwKCl9O0JOLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24gbXVsKG51bSl7dmFyIG91dD1uZXcgQk4obnVsbCk7b3V0LndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCtudW0ubGVuZ3RoKTtyZXR1cm4gdGhpcy5tdWxUbyhudW0sb3V0KX07Qk4ucHJvdG90eXBlLm11bGY9ZnVuY3Rpb24gbXVsZihudW0pe3ZhciBvdXQ9bmV3IEJOKG51bGwpO291dC53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgrbnVtLmxlbmd0aCk7cmV0dXJuIGp1bWJvTXVsVG8odGhpcyxudW0sb3V0KX07Qk4ucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24gaW11bChudW0pe3JldHVybiB0aGlzLmNsb25lKCkubXVsVG8obnVtLHRoaXMpfTtCTi5wcm90b3R5cGUuaW11bG49ZnVuY3Rpb24gaW11bG4obnVtKXthc3NlcnQodHlwZW9mIG51bT09PSJudW1iZXIiKTthc3NlcnQobnVtPDY3MTA4ODY0KTt2YXIgY2Fycnk9MDtmb3IodmFyIGk9MDtpPHRoaXMubGVuZ3RoO2krKyl7dmFyIHc9KHRoaXMud29yZHNbaV18MCkqbnVtO3ZhciBsbz0odyY2NzEwODg2MykrKGNhcnJ5JjY3MTA4ODYzKTtjYXJyeT4+PTI2O2NhcnJ5Kz13LzY3MTA4ODY0fDA7Y2FycnkrPWxvPj4+MjY7dGhpcy53b3Jkc1tpXT1sbyY2NzEwODg2M31pZihjYXJyeSE9PTApe3RoaXMud29yZHNbaV09Y2Fycnk7dGhpcy5sZW5ndGgrK31yZXR1cm4gdGhpc307Qk4ucHJvdG90eXBlLm11bG49ZnVuY3Rpb24gbXVsbihudW0pe3JldHVybiB0aGlzLmNsb25lKCkuaW11bG4obnVtKX07Qk4ucHJvdG90eXBlLnNxcj1mdW5jdGlvbiBzcXIoKXtyZXR1cm4gdGhpcy5tdWwodGhpcyl9O0JOLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uIGlzcXIoKXtyZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSl9O0JOLnByb3RvdHlwZS5wb3c9ZnVuY3Rpb24gcG93KG51bSl7dmFyIHc9dG9CaXRBcnJheShudW0pO2lmKHcubGVuZ3RoPT09MClyZXR1cm4gbmV3IEJOKDEpO3ZhciByZXM9dGhpcztmb3IodmFyIGk9MDtpPHcubGVuZ3RoO2krKyxyZXM9cmVzLnNxcigpKXtpZih3W2ldIT09MClicmVha31pZigrK2k8dy5sZW5ndGgpe2Zvcih2YXIgcT1yZXMuc3FyKCk7aTx3Lmxlbmd0aDtpKysscT1xLnNxcigpKXtpZih3W2ldPT09MCljb250aW51ZTtyZXM9cmVzLm11bChxKX19cmV0dXJuIHJlc307Qk4ucHJvdG90eXBlLml1c2hsbj1mdW5jdGlvbiBpdXNobG4oYml0cyl7YXNzZXJ0KHR5cGVvZiBiaXRzPT09Im51bWJlciImJmJpdHM+PTApO3ZhciByPWJpdHMlMjY7dmFyIHM9KGJpdHMtcikvMjY7dmFyIGNhcnJ5TWFzaz02NzEwODg2Mz4+PjI2LXI8PDI2LXI7dmFyIGk7aWYociE9PTApe3ZhciBjYXJyeT0wO2ZvcihpPTA7aTx0aGlzLmxlbmd0aDtpKyspe3ZhciBuZXdDYXJyeT10aGlzLndvcmRzW2ldJmNhcnJ5TWFzazt2YXIgYz0odGhpcy53b3Jkc1tpXXwwKS1uZXdDYXJyeTw8cjt0aGlzLndvcmRzW2ldPWN8Y2Fycnk7Y2Fycnk9bmV3Q2Fycnk+Pj4yNi1yfWlmKGNhcnJ5KXt0aGlzLndvcmRzW2ldPWNhcnJ5O3RoaXMubGVuZ3RoKyt9fWlmKHMhPT0wKXtmb3IoaT10aGlzLmxlbmd0aC0xO2k+PTA7aS0tKXt0aGlzLndvcmRzW2krc109dGhpcy53b3Jkc1tpXX1mb3IoaT0wO2k8cztpKyspe3RoaXMud29yZHNbaV09MH10aGlzLmxlbmd0aCs9c31yZXR1cm4gdGhpcy5zdHJpcCgpfTtCTi5wcm90b3R5cGUuaXNobG49ZnVuY3Rpb24gaXNobG4oYml0cyl7YXNzZXJ0KHRoaXMubmVnYXRpdmU9PT0wKTtyZXR1cm4gdGhpcy5pdXNobG4oYml0cyl9O0JOLnByb3RvdHlwZS5pdXNocm49ZnVuY3Rpb24gaXVzaHJuKGJpdHMsaGludCxleHRlbmRlZCl7YXNzZXJ0KHR5cGVvZiBiaXRzPT09Im51bWJlciImJmJpdHM+PTApO3ZhciBoO2lmKGhpbnQpe2g9KGhpbnQtaGludCUyNikvMjZ9ZWxzZXtoPTB9dmFyIHI9Yml0cyUyNjt2YXIgcz1NYXRoLm1pbigoYml0cy1yKS8yNix0aGlzLmxlbmd0aCk7dmFyIG1hc2s9NjcxMDg4NjNeNjcxMDg4NjM+Pj5yPDxyO3ZhciBtYXNrZWRXb3Jkcz1leHRlbmRlZDtoLT1zO2g9TWF0aC5tYXgoMCxoKTtpZihtYXNrZWRXb3Jkcyl7Zm9yKHZhciBpPTA7aTxzO2krKyl7bWFza2VkV29yZHMud29yZHNbaV09dGhpcy53b3Jkc1tpXX1tYXNrZWRXb3Jkcy5sZW5ndGg9c31pZihzPT09MCl7fWVsc2UgaWYodGhpcy5sZW5ndGg+cyl7dGhpcy5sZW5ndGgtPXM7Zm9yKGk9MDtpPHRoaXMubGVuZ3RoO2krKyl7dGhpcy53b3Jkc1tpXT10aGlzLndvcmRzW2krc119fWVsc2V7dGhpcy53b3Jkc1swXT0wO3RoaXMubGVuZ3RoPTF9dmFyIGNhcnJ5PTA7Zm9yKGk9dGhpcy5sZW5ndGgtMTtpPj0wJiYoY2FycnkhPT0wfHxpPj1oKTtpLS0pe3ZhciB3b3JkPXRoaXMud29yZHNbaV18MDt0aGlzLndvcmRzW2ldPWNhcnJ5PDwyNi1yfHdvcmQ+Pj5yO2NhcnJ5PXdvcmQmbWFza31pZihtYXNrZWRXb3JkcyYmY2FycnkhPT0wKXttYXNrZWRXb3Jkcy53b3Jkc1ttYXNrZWRXb3Jkcy5sZW5ndGgrK109Y2Fycnl9aWYodGhpcy5sZW5ndGg9PT0wKXt0aGlzLndvcmRzWzBdPTA7dGhpcy5sZW5ndGg9MX1yZXR1cm4gdGhpcy5zdHJpcCgpfTtCTi5wcm90b3R5cGUuaXNocm49ZnVuY3Rpb24gaXNocm4oYml0cyxoaW50LGV4dGVuZGVkKXthc3NlcnQodGhpcy5uZWdhdGl2ZT09PTApO3JldHVybiB0aGlzLml1c2hybihiaXRzLGhpbnQsZXh0ZW5kZWQpfTtCTi5wcm90b3R5cGUuc2hsbj1mdW5jdGlvbiBzaGxuKGJpdHMpe3JldHVybiB0aGlzLmNsb25lKCkuaXNobG4oYml0cyl9O0JOLnByb3RvdHlwZS51c2hsbj1mdW5jdGlvbiB1c2hsbihiaXRzKXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbihiaXRzKX07Qk4ucHJvdG90eXBlLnNocm49ZnVuY3Rpb24gc2hybihiaXRzKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaHJuKGJpdHMpfTtCTi5wcm90b3R5cGUudXNocm49ZnVuY3Rpb24gdXNocm4oYml0cyl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4oYml0cyl9O0JOLnByb3RvdHlwZS50ZXN0bj1mdW5jdGlvbiB0ZXN0bihiaXQpe2Fzc2VydCh0eXBlb2YgYml0PT09Im51bWJlciImJmJpdD49MCk7dmFyIHI9Yml0JTI2O3ZhciBzPShiaXQtcikvMjY7dmFyIHE9MTw8cjtpZih0aGlzLmxlbmd0aDw9cylyZXR1cm4gZmFsc2U7dmFyIHc9dGhpcy53b3Jkc1tzXTtyZXR1cm4hISh3JnEpfTtCTi5wcm90b3R5cGUuaW1hc2tuPWZ1bmN0aW9uIGltYXNrbihiaXRzKXthc3NlcnQodHlwZW9mIGJpdHM9PT0ibnVtYmVyIiYmYml0cz49MCk7dmFyIHI9Yml0cyUyNjt2YXIgcz0oYml0cy1yKS8yNjthc3NlcnQodGhpcy5uZWdhdGl2ZT09PTAsImltYXNrbiB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmUgbnVtYmVycyIpO2lmKHRoaXMubGVuZ3RoPD1zKXtyZXR1cm4gdGhpc31pZihyIT09MCl7cysrfXRoaXMubGVuZ3RoPU1hdGgubWluKHMsdGhpcy5sZW5ndGgpO2lmKHIhPT0wKXt2YXIgbWFzaz02NzEwODg2M142NzEwODg2Mz4+PnI8PHI7dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSY9bWFza31yZXR1cm4gdGhpcy5zdHJpcCgpfTtCTi5wcm90b3R5cGUubWFza249ZnVuY3Rpb24gbWFza24oYml0cyl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oYml0cyl9O0JOLnByb3RvdHlwZS5pYWRkbj1mdW5jdGlvbiBpYWRkbihudW0pe2Fzc2VydCh0eXBlb2YgbnVtPT09Im51bWJlciIpO2Fzc2VydChudW08NjcxMDg4NjQpO2lmKG51bTwwKXJldHVybiB0aGlzLmlzdWJuKC1udW0pO2lmKHRoaXMubmVnYXRpdmUhPT0wKXtpZih0aGlzLmxlbmd0aD09PTEmJih0aGlzLndvcmRzWzBdfDApPG51bSl7dGhpcy53b3Jkc1swXT1udW0tKHRoaXMud29yZHNbMF18MCk7dGhpcy5uZWdhdGl2ZT0wO3JldHVybiB0aGlzfXRoaXMubmVnYXRpdmU9MDt0aGlzLmlzdWJuKG51bSk7dGhpcy5uZWdhdGl2ZT0xO3JldHVybiB0aGlzfXJldHVybiB0aGlzLl9pYWRkbihudW0pfTtCTi5wcm90b3R5cGUuX2lhZGRuPWZ1bmN0aW9uIF9pYWRkbihudW0pe3RoaXMud29yZHNbMF0rPW51bTtmb3IodmFyIGk9MDtpPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2ldPj02NzEwODg2NDtpKyspe3RoaXMud29yZHNbaV0tPTY3MTA4ODY0O2lmKGk9PT10aGlzLmxlbmd0aC0xKXt0aGlzLndvcmRzW2krMV09MX1lbHNle3RoaXMud29yZHNbaSsxXSsrfX10aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCxpKzEpO3JldHVybiB0aGlzfTtCTi5wcm90b3R5cGUuaXN1Ym49ZnVuY3Rpb24gaXN1Ym4obnVtKXthc3NlcnQodHlwZW9mIG51bT09PSJudW1iZXIiKTthc3NlcnQobnVtPDY3MTA4ODY0KTtpZihudW08MClyZXR1cm4gdGhpcy5pYWRkbigtbnVtKTtpZih0aGlzLm5lZ2F0aXZlIT09MCl7dGhpcy5uZWdhdGl2ZT0wO3RoaXMuaWFkZG4obnVtKTt0aGlzLm5lZ2F0aXZlPTE7cmV0dXJuIHRoaXN9dGhpcy53b3Jkc1swXS09bnVtO2lmKHRoaXMubGVuZ3RoPT09MSYmdGhpcy53b3Jkc1swXTwwKXt0aGlzLndvcmRzWzBdPS10aGlzLndvcmRzWzBdO3RoaXMubmVnYXRpdmU9MX1lbHNle2Zvcih2YXIgaT0wO2k8dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbaV08MDtpKyspe3RoaXMud29yZHNbaV0rPTY3MTA4ODY0O3RoaXMud29yZHNbaSsxXS09MX19cmV0dXJuIHRoaXMuc3RyaXAoKX07Qk4ucHJvdG90eXBlLmFkZG49ZnVuY3Rpb24gYWRkbihudW0pe3JldHVybiB0aGlzLmNsb25lKCkuaWFkZG4obnVtKX07Qk4ucHJvdG90eXBlLnN1Ym49ZnVuY3Rpb24gc3VibihudW0pe3JldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4obnVtKX07Qk4ucHJvdG90eXBlLmlhYnM9ZnVuY3Rpb24gaWFicygpe3RoaXMubmVnYXRpdmU9MDtyZXR1cm4gdGhpc307Qk4ucHJvdG90eXBlLmFicz1mdW5jdGlvbiBhYnMoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlhYnMoKX07Qk4ucHJvdG90eXBlLl9pc2hsbnN1Ym11bD1mdW5jdGlvbiBfaXNobG5zdWJtdWwobnVtLG11bCxzaGlmdCl7dmFyIGxlbj1udW0ubGVuZ3RoK3NoaWZ0O3ZhciBpO3RoaXMuX2V4cGFuZChsZW4pO3ZhciB3O3ZhciBjYXJyeT0wO2ZvcihpPTA7aTxudW0ubGVuZ3RoO2krKyl7dz0odGhpcy53b3Jkc1tpK3NoaWZ0XXwwKStjYXJyeTt2YXIgcmlnaHQ9KG51bS53b3Jkc1tpXXwwKSptdWw7dy09cmlnaHQmNjcxMDg4NjM7Y2Fycnk9KHc+PjI2KS0ocmlnaHQvNjcxMDg4NjR8MCk7dGhpcy53b3Jkc1tpK3NoaWZ0XT13JjY3MTA4ODYzfWZvcig7aTx0aGlzLmxlbmd0aC1zaGlmdDtpKyspe3c9KHRoaXMud29yZHNbaStzaGlmdF18MCkrY2Fycnk7Y2Fycnk9dz4+MjY7dGhpcy53b3Jkc1tpK3NoaWZ0XT13JjY3MTA4ODYzfWlmKGNhcnJ5PT09MClyZXR1cm4gdGhpcy5zdHJpcCgpO2Fzc2VydChjYXJyeT09PS0xKTtjYXJyeT0wO2ZvcihpPTA7aTx0aGlzLmxlbmd0aDtpKyspe3c9LSh0aGlzLndvcmRzW2ldfDApK2NhcnJ5O2NhcnJ5PXc+PjI2O3RoaXMud29yZHNbaV09dyY2NzEwODg2M310aGlzLm5lZ2F0aXZlPTE7cmV0dXJuIHRoaXMuc3RyaXAoKX07Qk4ucHJvdG90eXBlLl93b3JkRGl2PWZ1bmN0aW9uIF93b3JkRGl2KG51bSxtb2RlKXt2YXIgc2hpZnQ9dGhpcy5sZW5ndGgtbnVtLmxlbmd0aDt2YXIgYT10aGlzLmNsb25lKCk7dmFyIGI9bnVtO3ZhciBiaGk9Yi53b3Jkc1tiLmxlbmd0aC0xXXwwO3ZhciBiaGlCaXRzPXRoaXMuX2NvdW50Qml0cyhiaGkpO3NoaWZ0PTI2LWJoaUJpdHM7aWYoc2hpZnQhPT0wKXtiPWIudXNobG4oc2hpZnQpO2EuaXVzaGxuKHNoaWZ0KTtiaGk9Yi53b3Jkc1tiLmxlbmd0aC0xXXwwfXZhciBtPWEubGVuZ3RoLWIubGVuZ3RoO3ZhciBxO2lmKG1vZGUhPT0ibW9kIil7cT1uZXcgQk4obnVsbCk7cS5sZW5ndGg9bSsxO3Eud29yZHM9bmV3IEFycmF5KHEubGVuZ3RoKTtmb3IodmFyIGk9MDtpPHEubGVuZ3RoO2krKyl7cS53b3Jkc1tpXT0wfX12YXIgZGlmZj1hLmNsb25lKCkuX2lzaGxuc3VibXVsKGIsMSxtKTtpZihkaWZmLm5lZ2F0aXZlPT09MCl7YT1kaWZmO2lmKHEpe3Eud29yZHNbbV09MX19Zm9yKHZhciBqPW0tMTtqPj0wO2otLSl7dmFyIHFqPShhLndvcmRzW2IubGVuZ3RoK2pdfDApKjY3MTA4ODY0KyhhLndvcmRzW2IubGVuZ3RoK2otMV18MCk7cWo9TWF0aC5taW4ocWovYmhpfDAsNjcxMDg4NjMpO2EuX2lzaGxuc3VibXVsKGIscWosaik7d2hpbGUoYS5uZWdhdGl2ZSE9PTApe3FqLS07YS5uZWdhdGl2ZT0wO2EuX2lzaGxuc3VibXVsKGIsMSxqKTtpZighYS5pc1plcm8oKSl7YS5uZWdhdGl2ZV49MX19aWYocSl7cS53b3Jkc1tqXT1xan19aWYocSl7cS5zdHJpcCgpfWEuc3RyaXAoKTtpZihtb2RlIT09ImRpdiImJnNoaWZ0IT09MCl7YS5pdXNocm4oc2hpZnQpfXJldHVybntkaXY6cXx8bnVsbCxtb2Q6YX19O0JOLnByb3RvdHlwZS5kaXZtb2Q9ZnVuY3Rpb24gZGl2bW9kKG51bSxtb2RlLHBvc2l0aXZlKXthc3NlcnQoIW51bS5pc1plcm8oKSk7aWYodGhpcy5pc1plcm8oKSl7cmV0dXJue2RpdjpuZXcgQk4oMCksbW9kOm5ldyBCTigwKX19dmFyIGRpdixtb2QscmVzO2lmKHRoaXMubmVnYXRpdmUhPT0wJiZudW0ubmVnYXRpdmU9PT0wKXtyZXM9dGhpcy5uZWcoKS5kaXZtb2QobnVtLG1vZGUpO2lmKG1vZGUhPT0ibW9kIil7ZGl2PXJlcy5kaXYubmVnKCl9aWYobW9kZSE9PSJkaXYiKXttb2Q9cmVzLm1vZC5uZWcoKTtpZihwb3NpdGl2ZSYmbW9kLm5lZ2F0aXZlIT09MCl7bW9kLmlhZGQobnVtKX19cmV0dXJue2RpdjpkaXYsbW9kOm1vZH19aWYodGhpcy5uZWdhdGl2ZT09PTAmJm51bS5uZWdhdGl2ZSE9PTApe3Jlcz10aGlzLmRpdm1vZChudW0ubmVnKCksbW9kZSk7aWYobW9kZSE9PSJtb2QiKXtkaXY9cmVzLmRpdi5uZWcoKX1yZXR1cm57ZGl2OmRpdixtb2Q6cmVzLm1vZH19aWYoKHRoaXMubmVnYXRpdmUmbnVtLm5lZ2F0aXZlKSE9PTApe3Jlcz10aGlzLm5lZygpLmRpdm1vZChudW0ubmVnKCksbW9kZSk7aWYobW9kZSE9PSJkaXYiKXttb2Q9cmVzLm1vZC5uZWcoKTtpZihwb3NpdGl2ZSYmbW9kLm5lZ2F0aXZlIT09MCl7bW9kLmlzdWIobnVtKX19cmV0dXJue2RpdjpyZXMuZGl2LG1vZDptb2R9fWlmKG51bS5sZW5ndGg+dGhpcy5sZW5ndGh8fHRoaXMuY21wKG51bSk8MCl7cmV0dXJue2RpdjpuZXcgQk4oMCksbW9kOnRoaXN9fWlmKG51bS5sZW5ndGg9PT0xKXtpZihtb2RlPT09ImRpdiIpe3JldHVybntkaXY6dGhpcy5kaXZuKG51bS53b3Jkc1swXSksbW9kOm51bGx9fWlmKG1vZGU9PT0ibW9kIil7cmV0dXJue2RpdjpudWxsLG1vZDpuZXcgQk4odGhpcy5tb2RuKG51bS53b3Jkc1swXSkpfX1yZXR1cm57ZGl2OnRoaXMuZGl2bihudW0ud29yZHNbMF0pLG1vZDpuZXcgQk4odGhpcy5tb2RuKG51bS53b3Jkc1swXSkpfX1yZXR1cm4gdGhpcy5fd29yZERpdihudW0sbW9kZSl9O0JOLnByb3RvdHlwZS5kaXY9ZnVuY3Rpb24gZGl2KG51bSl7cmV0dXJuIHRoaXMuZGl2bW9kKG51bSwiZGl2IixmYWxzZSkuZGl2fTtCTi5wcm90b3R5cGUubW9kPWZ1bmN0aW9uIG1vZChudW0pe3JldHVybiB0aGlzLmRpdm1vZChudW0sIm1vZCIsZmFsc2UpLm1vZH07Qk4ucHJvdG90eXBlLnVtb2Q9ZnVuY3Rpb24gdW1vZChudW0pe3JldHVybiB0aGlzLmRpdm1vZChudW0sIm1vZCIsdHJ1ZSkubW9kfTtCTi5wcm90b3R5cGUuZGl2Um91bmQ9ZnVuY3Rpb24gZGl2Um91bmQobnVtKXt2YXIgZG09dGhpcy5kaXZtb2QobnVtKTtpZihkbS5tb2QuaXNaZXJvKCkpcmV0dXJuIGRtLmRpdjt2YXIgbW9kPWRtLmRpdi5uZWdhdGl2ZSE9PTA/ZG0ubW9kLmlzdWIobnVtKTpkbS5tb2Q7dmFyIGhhbGY9bnVtLnVzaHJuKDEpO3ZhciByMj1udW0uYW5kbG4oMSk7dmFyIGNtcD1tb2QuY21wKGhhbGYpO2lmKGNtcDwwfHxyMj09PTEmJmNtcD09PTApcmV0dXJuIGRtLmRpdjtyZXR1cm4gZG0uZGl2Lm5lZ2F0aXZlIT09MD9kbS5kaXYuaXN1Ym4oMSk6ZG0uZGl2LmlhZGRuKDEpfTtCTi5wcm90b3R5cGUubW9kbj1mdW5jdGlvbiBtb2RuKG51bSl7YXNzZXJ0KG51bTw9NjcxMDg4NjMpO3ZhciBwPSgxPDwyNiklbnVtO3ZhciBhY2M9MDtmb3IodmFyIGk9dGhpcy5sZW5ndGgtMTtpPj0wO2ktLSl7YWNjPShwKmFjYysodGhpcy53b3Jkc1tpXXwwKSklbnVtfXJldHVybiBhY2N9O0JOLnByb3RvdHlwZS5pZGl2bj1mdW5jdGlvbiBpZGl2bihudW0pe2Fzc2VydChudW08PTY3MTA4ODYzKTt2YXIgY2Fycnk9MDtmb3IodmFyIGk9dGhpcy5sZW5ndGgtMTtpPj0wO2ktLSl7dmFyIHc9KHRoaXMud29yZHNbaV18MCkrY2FycnkqNjcxMDg4NjQ7dGhpcy53b3Jkc1tpXT13L251bXwwO2NhcnJ5PXclbnVtfXJldHVybiB0aGlzLnN0cmlwKCl9O0JOLnByb3RvdHlwZS5kaXZuPWZ1bmN0aW9uIGRpdm4obnVtKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlkaXZuKG51bSl9O0JOLnByb3RvdHlwZS5lZ2NkPWZ1bmN0aW9uIGVnY2QocCl7YXNzZXJ0KHAubmVnYXRpdmU9PT0wKTthc3NlcnQoIXAuaXNaZXJvKCkpO3ZhciB4PXRoaXM7dmFyIHk9cC5jbG9uZSgpO2lmKHgubmVnYXRpdmUhPT0wKXt4PXgudW1vZChwKX1lbHNle3g9eC5jbG9uZSgpfXZhciBBPW5ldyBCTigxKTt2YXIgQj1uZXcgQk4oMCk7dmFyIEM9bmV3IEJOKDApO3ZhciBEPW5ldyBCTigxKTt2YXIgZz0wO3doaWxlKHguaXNFdmVuKCkmJnkuaXNFdmVuKCkpe3guaXVzaHJuKDEpO3kuaXVzaHJuKDEpOysrZ312YXIgeXA9eS5jbG9uZSgpO3ZhciB4cD14LmNsb25lKCk7d2hpbGUoIXguaXNaZXJvKCkpe2Zvcih2YXIgaT0wLGltPTE7KHgud29yZHNbMF0maW0pPT09MCYmaTwyNjsrK2ksaW08PD0xKTtpZihpPjApe3guaXVzaHJuKGkpO3doaWxlKGktLSA+MCl7aWYoQS5pc09kZCgpfHxCLmlzT2RkKCkpe0EuaWFkZCh5cCk7Qi5pc3ViKHhwKX1BLml1c2hybigxKTtCLml1c2hybigxKX19Zm9yKHZhciBqPTAsam09MTsoeS53b3Jkc1swXSZqbSk9PT0wJiZqPDI2OysraixqbTw8PTEpO2lmKGo+MCl7eS5pdXNocm4oaik7d2hpbGUoai0tID4wKXtpZihDLmlzT2RkKCl8fEQuaXNPZGQoKSl7Qy5pYWRkKHlwKTtELmlzdWIoeHApfUMuaXVzaHJuKDEpO0QuaXVzaHJuKDEpfX1pZih4LmNtcCh5KT49MCl7eC5pc3ViKHkpO0EuaXN1YihDKTtCLmlzdWIoRCl9ZWxzZXt5LmlzdWIoeCk7Qy5pc3ViKEEpO0QuaXN1YihCKX19cmV0dXJue2E6QyxiOkQsZ2NkOnkuaXVzaGxuKGcpfX07Qk4ucHJvdG90eXBlLl9pbnZtcD1mdW5jdGlvbiBfaW52bXAocCl7YXNzZXJ0KHAubmVnYXRpdmU9PT0wKTthc3NlcnQoIXAuaXNaZXJvKCkpO3ZhciBhPXRoaXM7dmFyIGI9cC5jbG9uZSgpO2lmKGEubmVnYXRpdmUhPT0wKXthPWEudW1vZChwKX1lbHNle2E9YS5jbG9uZSgpfXZhciB4MT1uZXcgQk4oMSk7dmFyIHgyPW5ldyBCTigwKTt2YXIgZGVsdGE9Yi5jbG9uZSgpO3doaWxlKGEuY21wbigxKT4wJiZiLmNtcG4oMSk+MCl7Zm9yKHZhciBpPTAsaW09MTsoYS53b3Jkc1swXSZpbSk9PT0wJiZpPDI2OysraSxpbTw8PTEpO2lmKGk+MCl7YS5pdXNocm4oaSk7d2hpbGUoaS0tID4wKXtpZih4MS5pc09kZCgpKXt4MS5pYWRkKGRlbHRhKX14MS5pdXNocm4oMSl9fWZvcih2YXIgaj0wLGptPTE7KGIud29yZHNbMF0mam0pPT09MCYmajwyNjsrK2osam08PD0xKTtpZihqPjApe2IuaXVzaHJuKGopO3doaWxlKGotLSA+MCl7aWYoeDIuaXNPZGQoKSl7eDIuaWFkZChkZWx0YSl9eDIuaXVzaHJuKDEpfX1pZihhLmNtcChiKT49MCl7YS5pc3ViKGIpO3gxLmlzdWIoeDIpfWVsc2V7Yi5pc3ViKGEpO3gyLmlzdWIoeDEpfX12YXIgcmVzO2lmKGEuY21wbigxKT09PTApe3Jlcz14MX1lbHNle3Jlcz14Mn1pZihyZXMuY21wbigwKTwwKXtyZXMuaWFkZChwKX1yZXR1cm4gcmVzfTtCTi5wcm90b3R5cGUuZ2NkPWZ1bmN0aW9uIGdjZChudW0pe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIG51bS5hYnMoKTtpZihudW0uaXNaZXJvKCkpcmV0dXJuIHRoaXMuYWJzKCk7dmFyIGE9dGhpcy5jbG9uZSgpO3ZhciBiPW51bS5jbG9uZSgpO2EubmVnYXRpdmU9MDtiLm5lZ2F0aXZlPTA7Zm9yKHZhciBzaGlmdD0wO2EuaXNFdmVuKCkmJmIuaXNFdmVuKCk7c2hpZnQrKyl7YS5pdXNocm4oMSk7Yi5pdXNocm4oMSl9ZG97d2hpbGUoYS5pc0V2ZW4oKSl7YS5pdXNocm4oMSl9d2hpbGUoYi5pc0V2ZW4oKSl7Yi5pdXNocm4oMSl9dmFyIHI9YS5jbXAoYik7aWYocjwwKXt2YXIgdD1hO2E9YjtiPXR9ZWxzZSBpZihyPT09MHx8Yi5jbXBuKDEpPT09MCl7YnJlYWt9YS5pc3ViKGIpfXdoaWxlKHRydWUpO3JldHVybiBiLml1c2hsbihzaGlmdCl9O0JOLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uIGludm0obnVtKXtyZXR1cm4gdGhpcy5lZ2NkKG51bSkuYS51bW9kKG51bSl9O0JOLnByb3RvdHlwZS5pc0V2ZW49ZnVuY3Rpb24gaXNFdmVuKCl7cmV0dXJuKHRoaXMud29yZHNbMF0mMSk9PT0wfTtCTi5wcm90b3R5cGUuaXNPZGQ9ZnVuY3Rpb24gaXNPZGQoKXtyZXR1cm4odGhpcy53b3Jkc1swXSYxKT09PTF9O0JOLnByb3RvdHlwZS5hbmRsbj1mdW5jdGlvbiBhbmRsbihudW0pe3JldHVybiB0aGlzLndvcmRzWzBdJm51bX07Qk4ucHJvdG90eXBlLmJpbmNuPWZ1bmN0aW9uIGJpbmNuKGJpdCl7YXNzZXJ0KHR5cGVvZiBiaXQ9PT0ibnVtYmVyIik7dmFyIHI9Yml0JTI2O3ZhciBzPShiaXQtcikvMjY7dmFyIHE9MTw8cjtpZih0aGlzLmxlbmd0aDw9cyl7dGhpcy5fZXhwYW5kKHMrMSk7dGhpcy53b3Jkc1tzXXw9cTtyZXR1cm4gdGhpc312YXIgY2Fycnk9cTtmb3IodmFyIGk9cztjYXJyeSE9PTAmJmk8dGhpcy5sZW5ndGg7aSsrKXt2YXIgdz10aGlzLndvcmRzW2ldfDA7dys9Y2Fycnk7Y2Fycnk9dz4+PjI2O3cmPTY3MTA4ODYzO3RoaXMud29yZHNbaV09d31pZihjYXJyeSE9PTApe3RoaXMud29yZHNbaV09Y2Fycnk7dGhpcy5sZW5ndGgrK31yZXR1cm4gdGhpc307Qk4ucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbiBpc1plcm8oKXtyZXR1cm4gdGhpcy5sZW5ndGg9PT0xJiZ0aGlzLndvcmRzWzBdPT09MH07Qk4ucHJvdG90eXBlLmNtcG49ZnVuY3Rpb24gY21wbihudW0pe3ZhciBuZWdhdGl2ZT1udW08MDtpZih0aGlzLm5lZ2F0aXZlIT09MCYmIW5lZ2F0aXZlKXJldHVybi0xO2lmKHRoaXMubmVnYXRpdmU9PT0wJiZuZWdhdGl2ZSlyZXR1cm4gMTt0aGlzLnN0cmlwKCk7dmFyIHJlcztpZih0aGlzLmxlbmd0aD4xKXtyZXM9MX1lbHNle2lmKG5lZ2F0aXZlKXtudW09LW51bX1hc3NlcnQobnVtPD02NzEwODg2MywiTnVtYmVyIGlzIHRvbyBiaWciKTt2YXIgdz10aGlzLndvcmRzWzBdfDA7cmVzPXc9PT1udW0/MDp3PG51bT8tMToxfWlmKHRoaXMubmVnYXRpdmUhPT0wKXJldHVybi1yZXN8MDtyZXR1cm4gcmVzfTtCTi5wcm90b3R5cGUuY21wPWZ1bmN0aW9uIGNtcChudW0pe2lmKHRoaXMubmVnYXRpdmUhPT0wJiZudW0ubmVnYXRpdmU9PT0wKXJldHVybi0xO2lmKHRoaXMubmVnYXRpdmU9PT0wJiZudW0ubmVnYXRpdmUhPT0wKXJldHVybiAxO3ZhciByZXM9dGhpcy51Y21wKG51bSk7aWYodGhpcy5uZWdhdGl2ZSE9PTApcmV0dXJuLXJlc3wwO3JldHVybiByZXN9O0JOLnByb3RvdHlwZS51Y21wPWZ1bmN0aW9uIHVjbXAobnVtKXtpZih0aGlzLmxlbmd0aD5udW0ubGVuZ3RoKXJldHVybiAxO2lmKHRoaXMubGVuZ3RoPG51bS5sZW5ndGgpcmV0dXJuLTE7dmFyIHJlcz0wO2Zvcih2YXIgaT10aGlzLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIgYT10aGlzLndvcmRzW2ldfDA7dmFyIGI9bnVtLndvcmRzW2ldfDA7aWYoYT09PWIpY29udGludWU7aWYoYTxiKXtyZXM9LTF9ZWxzZSBpZihhPmIpe3Jlcz0xfWJyZWFrfXJldHVybiByZXN9O0JOLnByb3RvdHlwZS5ndG49ZnVuY3Rpb24gZ3RuKG51bSl7cmV0dXJuIHRoaXMuY21wbihudW0pPT09MX07Qk4ucHJvdG90eXBlLmd0PWZ1bmN0aW9uIGd0KG51bSl7cmV0dXJuIHRoaXMuY21wKG51bSk9PT0xfTtCTi5wcm90b3R5cGUuZ3Rlbj1mdW5jdGlvbiBndGVuKG51bSl7cmV0dXJuIHRoaXMuY21wbihudW0pPj0wfTtCTi5wcm90b3R5cGUuZ3RlPWZ1bmN0aW9uIGd0ZShudW0pe3JldHVybiB0aGlzLmNtcChudW0pPj0wfTtCTi5wcm90b3R5cGUubHRuPWZ1bmN0aW9uIGx0bihudW0pe3JldHVybiB0aGlzLmNtcG4obnVtKT09PS0xfTtCTi5wcm90b3R5cGUubHQ9ZnVuY3Rpb24gbHQobnVtKXtyZXR1cm4gdGhpcy5jbXAobnVtKT09PS0xfTtCTi5wcm90b3R5cGUubHRlbj1mdW5jdGlvbiBsdGVuKG51bSl7cmV0dXJuIHRoaXMuY21wbihudW0pPD0wfTtCTi5wcm90b3R5cGUubHRlPWZ1bmN0aW9uIGx0ZShudW0pe3JldHVybiB0aGlzLmNtcChudW0pPD0wfTtCTi5wcm90b3R5cGUuZXFuPWZ1bmN0aW9uIGVxbihudW0pe3JldHVybiB0aGlzLmNtcG4obnVtKT09PTB9O0JOLnByb3RvdHlwZS5lcT1mdW5jdGlvbiBlcShudW0pe3JldHVybiB0aGlzLmNtcChudW0pPT09MH07Qk4ucmVkPWZ1bmN0aW9uIHJlZChudW0pe3JldHVybiBuZXcgUmVkKG51bSl9O0JOLnByb3RvdHlwZS50b1JlZD1mdW5jdGlvbiB0b1JlZChjdHgpe2Fzc2VydCghdGhpcy5yZWQsIkFscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQiKTthc3NlcnQodGhpcy5uZWdhdGl2ZT09PTAsInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIik7cmV0dXJuIGN0eC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGN0eCl9O0JOLnByb3RvdHlwZS5mcm9tUmVkPWZ1bmN0aW9uIGZyb21SZWQoKXthc3NlcnQodGhpcy5yZWQsImZyb21SZWQgd29ya3Mgb25seSB3aXRoIG51bWJlcnMgaW4gcmVkdWN0aW9uIGNvbnRleHQiKTtyZXR1cm4gdGhpcy5yZWQuY29udmVydEZyb20odGhpcyl9O0JOLnByb3RvdHlwZS5fZm9yY2VSZWQ9ZnVuY3Rpb24gX2ZvcmNlUmVkKGN0eCl7dGhpcy5yZWQ9Y3R4O3JldHVybiB0aGlzfTtCTi5wcm90b3R5cGUuZm9yY2VSZWQ9ZnVuY3Rpb24gZm9yY2VSZWQoY3R4KXthc3NlcnQoIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Iik7cmV0dXJuIHRoaXMuX2ZvcmNlUmVkKGN0eCl9O0JOLnByb3RvdHlwZS5yZWRBZGQ9ZnVuY3Rpb24gcmVkQWRkKG51bSl7YXNzZXJ0KHRoaXMucmVkLCJyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIik7cmV0dXJuIHRoaXMucmVkLmFkZCh0aGlzLG51bSl9O0JOLnByb3RvdHlwZS5yZWRJQWRkPWZ1bmN0aW9uIHJlZElBZGQobnVtKXthc3NlcnQodGhpcy5yZWQsInJlZElBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIik7cmV0dXJuIHRoaXMucmVkLmlhZGQodGhpcyxudW0pfTtCTi5wcm90b3R5cGUucmVkU3ViPWZ1bmN0aW9uIHJlZFN1YihudW0pe2Fzc2VydCh0aGlzLnJlZCwicmVkU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpO3JldHVybiB0aGlzLnJlZC5zdWIodGhpcyxudW0pfTtCTi5wcm90b3R5cGUucmVkSVN1Yj1mdW5jdGlvbiByZWRJU3ViKG51bSl7YXNzZXJ0KHRoaXMucmVkLCJyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpO3JldHVybiB0aGlzLnJlZC5pc3ViKHRoaXMsbnVtKX07Qk4ucHJvdG90eXBlLnJlZFNobD1mdW5jdGlvbiByZWRTaGwobnVtKXthc3NlcnQodGhpcy5yZWQsInJlZFNobCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKTtyZXR1cm4gdGhpcy5yZWQuc2hsKHRoaXMsbnVtKX07Qk4ucHJvdG90eXBlLnJlZE11bD1mdW5jdGlvbiByZWRNdWwobnVtKXthc3NlcnQodGhpcy5yZWQsInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKTt0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLG51bSk7cmV0dXJuIHRoaXMucmVkLm11bCh0aGlzLG51bSl9O0JOLnByb3RvdHlwZS5yZWRJTXVsPWZ1bmN0aW9uIHJlZElNdWwobnVtKXthc3NlcnQodGhpcy5yZWQsInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKTt0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLG51bSk7cmV0dXJuIHRoaXMucmVkLmltdWwodGhpcyxudW0pfTtCTi5wcm90b3R5cGUucmVkU3FyPWZ1bmN0aW9uIHJlZFNxcigpe2Fzc2VydCh0aGlzLnJlZCwicmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpO3RoaXMucmVkLl92ZXJpZnkxKHRoaXMpO3JldHVybiB0aGlzLnJlZC5zcXIodGhpcyl9O0JOLnByb3RvdHlwZS5yZWRJU3FyPWZ1bmN0aW9uIHJlZElTcXIoKXthc3NlcnQodGhpcy5yZWQsInJlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIik7dGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7cmV0dXJuIHRoaXMucmVkLmlzcXIodGhpcyl9O0JOLnByb3RvdHlwZS5yZWRTcXJ0PWZ1bmN0aW9uIHJlZFNxcnQoKXthc3NlcnQodGhpcy5yZWQsInJlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIik7dGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7cmV0dXJuIHRoaXMucmVkLnNxcnQodGhpcyl9O0JOLnByb3RvdHlwZS5yZWRJbnZtPWZ1bmN0aW9uIHJlZEludm0oKXthc3NlcnQodGhpcy5yZWQsInJlZEludm0gd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIik7dGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7cmV0dXJuIHRoaXMucmVkLmludm0odGhpcyl9O0JOLnByb3RvdHlwZS5yZWROZWc9ZnVuY3Rpb24gcmVkTmVnKCl7YXNzZXJ0KHRoaXMucmVkLCJyZWROZWcgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIik7dGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7cmV0dXJuIHRoaXMucmVkLm5lZyh0aGlzKX07Qk4ucHJvdG90eXBlLnJlZFBvdz1mdW5jdGlvbiByZWRQb3cobnVtKXthc3NlcnQodGhpcy5yZWQmJiFudW0ucmVkLCJyZWRQb3cobm9ybWFsTnVtKSIpO3RoaXMucmVkLl92ZXJpZnkxKHRoaXMpO3JldHVybiB0aGlzLnJlZC5wb3codGhpcyxudW0pfTt2YXIgcHJpbWVzPXtrMjU2Om51bGwscDIyNDpudWxsLHAxOTI6bnVsbCxwMjU1MTk6bnVsbH07ZnVuY3Rpb24gTVByaW1lKG5hbWUscCl7dGhpcy5uYW1lPW5hbWU7dGhpcy5wPW5ldyBCTihwLDE2KTt0aGlzLm49dGhpcy5wLmJpdExlbmd0aCgpO3RoaXMuaz1uZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO3RoaXMudG1wPXRoaXMuX3RtcCgpfU1QcmltZS5wcm90b3R5cGUuX3RtcD1mdW5jdGlvbiBfdG1wKCl7dmFyIHRtcD1uZXcgQk4obnVsbCk7dG1wLndvcmRzPW5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uLzEzKSk7cmV0dXJuIHRtcH07TVByaW1lLnByb3RvdHlwZS5pcmVkdWNlPWZ1bmN0aW9uIGlyZWR1Y2UobnVtKXt2YXIgcj1udW07dmFyIHJsZW47ZG97dGhpcy5zcGxpdChyLHRoaXMudG1wKTtyPXRoaXMuaW11bEsocik7cj1yLmlhZGQodGhpcy50bXApO3JsZW49ci5iaXRMZW5ndGgoKX13aGlsZShybGVuPnRoaXMubik7dmFyIGNtcD1ybGVuPHRoaXMubj8tMTpyLnVjbXAodGhpcy5wKTtpZihjbXA9PT0wKXtyLndvcmRzWzBdPTA7ci5sZW5ndGg9MX1lbHNlIGlmKGNtcD4wKXtyLmlzdWIodGhpcy5wKX1lbHNle2lmKHIuc3RyaXAhPT11bmRlZmluZWQpe3Iuc3RyaXAoKX1lbHNle3IuX3N0cmlwKCl9fXJldHVybiByfTtNUHJpbWUucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uIHNwbGl0KGlucHV0LG91dCl7aW5wdXQuaXVzaHJuKHRoaXMubiwwLG91dCl9O01QcmltZS5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24gaW11bEsobnVtKXtyZXR1cm4gbnVtLmltdWwodGhpcy5rKX07ZnVuY3Rpb24gSzI1Nigpe01QcmltZS5jYWxsKHRoaXMsImsyNTYiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZiIpfWluaGVyaXRzKEsyNTYsTVByaW1lKTtLMjU2LnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbiBzcGxpdChpbnB1dCxvdXRwdXQpe3ZhciBtYXNrPTQxOTQzMDM7dmFyIG91dExlbj1NYXRoLm1pbihpbnB1dC5sZW5ndGgsOSk7Zm9yKHZhciBpPTA7aTxvdXRMZW47aSsrKXtvdXRwdXQud29yZHNbaV09aW5wdXQud29yZHNbaV19b3V0cHV0Lmxlbmd0aD1vdXRMZW47aWYoaW5wdXQubGVuZ3RoPD05KXtpbnB1dC53b3Jkc1swXT0wO2lucHV0Lmxlbmd0aD0xO3JldHVybn12YXIgcHJldj1pbnB1dC53b3Jkc1s5XTtvdXRwdXQud29yZHNbb3V0cHV0Lmxlbmd0aCsrXT1wcmV2Jm1hc2s7Zm9yKGk9MTA7aTxpbnB1dC5sZW5ndGg7aSsrKXt2YXIgbmV4dD1pbnB1dC53b3Jkc1tpXXwwO2lucHV0LndvcmRzW2ktMTBdPShuZXh0Jm1hc2spPDw0fHByZXY+Pj4yMjtwcmV2PW5leHR9cHJldj4+Pj0yMjtpbnB1dC53b3Jkc1tpLTEwXT1wcmV2O2lmKHByZXY9PT0wJiZpbnB1dC5sZW5ndGg+MTApe2lucHV0Lmxlbmd0aC09MTB9ZWxzZXtpbnB1dC5sZW5ndGgtPTl9fTtLMjU2LnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbiBpbXVsSyhudW0pe251bS53b3Jkc1tudW0ubGVuZ3RoXT0wO251bS53b3Jkc1tudW0ubGVuZ3RoKzFdPTA7bnVtLmxlbmd0aCs9Mjt2YXIgbG89MDtmb3IodmFyIGk9MDtpPG51bS5sZW5ndGg7aSsrKXt2YXIgdz1udW0ud29yZHNbaV18MDtsbys9dyo5Nzc7bnVtLndvcmRzW2ldPWxvJjY3MTA4ODYzO2xvPXcqNjQrKGxvLzY3MTA4ODY0fDApfWlmKG51bS53b3Jkc1tudW0ubGVuZ3RoLTFdPT09MCl7bnVtLmxlbmd0aC0tO2lmKG51bS53b3Jkc1tudW0ubGVuZ3RoLTFdPT09MCl7bnVtLmxlbmd0aC0tfX1yZXR1cm4gbnVtfTtmdW5jdGlvbiBQMjI0KCl7TVByaW1lLmNhbGwodGhpcywicDIyNCIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxIil9aW5oZXJpdHMoUDIyNCxNUHJpbWUpO2Z1bmN0aW9uIFAxOTIoKXtNUHJpbWUuY2FsbCh0aGlzLCJwMTkyIiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYiKX1pbmhlcml0cyhQMTkyLE1QcmltZSk7ZnVuY3Rpb24gUDI1NTE5KCl7TVByaW1lLmNhbGwodGhpcywiMjU1MTkiLCI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkIil9aW5oZXJpdHMoUDI1NTE5LE1QcmltZSk7UDI1NTE5LnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbiBpbXVsSyhudW0pe3ZhciBjYXJyeT0wO2Zvcih2YXIgaT0wO2k8bnVtLmxlbmd0aDtpKyspe3ZhciBoaT0obnVtLndvcmRzW2ldfDApKjE5K2NhcnJ5O3ZhciBsbz1oaSY2NzEwODg2MztoaT4+Pj0yNjtudW0ud29yZHNbaV09bG87Y2Fycnk9aGl9aWYoY2FycnkhPT0wKXtudW0ud29yZHNbbnVtLmxlbmd0aCsrXT1jYXJyeX1yZXR1cm4gbnVtfTtCTi5fcHJpbWU9ZnVuY3Rpb24gcHJpbWUobmFtZSl7aWYocHJpbWVzW25hbWVdKXJldHVybiBwcmltZXNbbmFtZV07dmFyIHByaW1lO2lmKG5hbWU9PT0iazI1NiIpe3ByaW1lPW5ldyBLMjU2fWVsc2UgaWYobmFtZT09PSJwMjI0Iil7cHJpbWU9bmV3IFAyMjR9ZWxzZSBpZihuYW1lPT09InAxOTIiKXtwcmltZT1uZXcgUDE5Mn1lbHNlIGlmKG5hbWU9PT0icDI1NTE5Iil7cHJpbWU9bmV3IFAyNTUxOX1lbHNle3Rocm93IG5ldyBFcnJvcigiVW5rbm93biBwcmltZSAiK25hbWUpfXByaW1lc1tuYW1lXT1wcmltZTtyZXR1cm4gcHJpbWV9O2Z1bmN0aW9uIFJlZChtKXtpZih0eXBlb2YgbT09PSJzdHJpbmciKXt2YXIgcHJpbWU9Qk4uX3ByaW1lKG0pO3RoaXMubT1wcmltZS5wO3RoaXMucHJpbWU9cHJpbWV9ZWxzZXthc3NlcnQobS5ndG4oMSksIm1vZHVsdXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMSIpO3RoaXMubT1tO3RoaXMucHJpbWU9bnVsbH19UmVkLnByb3RvdHlwZS5fdmVyaWZ5MT1mdW5jdGlvbiBfdmVyaWZ5MShhKXthc3NlcnQoYS5uZWdhdGl2ZT09PTAsInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIik7YXNzZXJ0KGEucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9O1JlZC5wcm90b3R5cGUuX3ZlcmlmeTI9ZnVuY3Rpb24gX3ZlcmlmeTIoYSxiKXthc3NlcnQoKGEubmVnYXRpdmV8Yi5uZWdhdGl2ZSk9PT0wLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpO2Fzc2VydChhLnJlZCYmYS5yZWQ9PT1iLnJlZCwicmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpfTtSZWQucHJvdG90eXBlLmltb2Q9ZnVuY3Rpb24gaW1vZChhKXtpZih0aGlzLnByaW1lKXJldHVybiB0aGlzLnByaW1lLmlyZWR1Y2UoYSkuX2ZvcmNlUmVkKHRoaXMpO3JldHVybiBhLnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcyl9O1JlZC5wcm90b3R5cGUubmVnPWZ1bmN0aW9uIG5lZyhhKXtpZihhLmlzWmVybygpKXtyZXR1cm4gYS5jbG9uZSgpfXJldHVybiB0aGlzLm0uc3ViKGEpLl9mb3JjZVJlZCh0aGlzKX07UmVkLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24gYWRkKGEsYil7dGhpcy5fdmVyaWZ5MihhLGIpO3ZhciByZXM9YS5hZGQoYik7aWYocmVzLmNtcCh0aGlzLm0pPj0wKXtyZXMuaXN1Yih0aGlzLm0pfXJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpfTtSZWQucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24gaWFkZChhLGIpe3RoaXMuX3ZlcmlmeTIoYSxiKTt2YXIgcmVzPWEuaWFkZChiKTtpZihyZXMuY21wKHRoaXMubSk+PTApe3Jlcy5pc3ViKHRoaXMubSl9cmV0dXJuIHJlc307UmVkLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24gc3ViKGEsYil7dGhpcy5fdmVyaWZ5MihhLGIpO3ZhciByZXM9YS5zdWIoYik7aWYocmVzLmNtcG4oMCk8MCl7cmVzLmlhZGQodGhpcy5tKX1yZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKX07UmVkLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uIGlzdWIoYSxiKXt0aGlzLl92ZXJpZnkyKGEsYik7dmFyIHJlcz1hLmlzdWIoYik7aWYocmVzLmNtcG4oMCk8MCl7cmVzLmlhZGQodGhpcy5tKX1yZXR1cm4gcmVzfTtSZWQucHJvdG90eXBlLnNobD1mdW5jdGlvbiBzaGwoYSxudW0pe3RoaXMuX3ZlcmlmeTEoYSk7cmV0dXJuIHRoaXMuaW1vZChhLnVzaGxuKG51bSkpfTtSZWQucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24gaW11bChhLGIpe3RoaXMuX3ZlcmlmeTIoYSxiKTtyZXR1cm4gdGhpcy5pbW9kKGEuaW11bChiKSl9O1JlZC5wcm90b3R5cGUubXVsPWZ1bmN0aW9uIG11bChhLGIpe3RoaXMuX3ZlcmlmeTIoYSxiKTtyZXR1cm4gdGhpcy5pbW9kKGEubXVsKGIpKX07UmVkLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uIGlzcXIoYSl7cmV0dXJuIHRoaXMuaW11bChhLGEuY2xvbmUoKSl9O1JlZC5wcm90b3R5cGUuc3FyPWZ1bmN0aW9uIHNxcihhKXtyZXR1cm4gdGhpcy5tdWwoYSxhKX07UmVkLnByb3RvdHlwZS5zcXJ0PWZ1bmN0aW9uIHNxcnQoYSl7aWYoYS5pc1plcm8oKSlyZXR1cm4gYS5jbG9uZSgpO3ZhciBtb2QzPXRoaXMubS5hbmRsbigzKTthc3NlcnQobW9kMyUyPT09MSk7aWYobW9kMz09PTMpe3ZhciBwb3c9dGhpcy5tLmFkZChuZXcgQk4oMSkpLml1c2hybigyKTtyZXR1cm4gdGhpcy5wb3coYSxwb3cpfXZhciBxPXRoaXMubS5zdWJuKDEpO3ZhciBzPTA7d2hpbGUoIXEuaXNaZXJvKCkmJnEuYW5kbG4oMSk9PT0wKXtzKys7cS5pdXNocm4oMSl9YXNzZXJ0KCFxLmlzWmVybygpKTt2YXIgb25lPW5ldyBCTigxKS50b1JlZCh0aGlzKTt2YXIgbk9uZT1vbmUucmVkTmVnKCk7dmFyIGxwb3c9dGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpO3ZhciB6PXRoaXMubS5iaXRMZW5ndGgoKTt6PW5ldyBCTigyKnoqeikudG9SZWQodGhpcyk7d2hpbGUodGhpcy5wb3coeixscG93KS5jbXAobk9uZSkhPT0wKXt6LnJlZElBZGQobk9uZSl9dmFyIGM9dGhpcy5wb3coeixxKTt2YXIgcj10aGlzLnBvdyhhLHEuYWRkbigxKS5pdXNocm4oMSkpO3ZhciB0PXRoaXMucG93KGEscSk7dmFyIG09czt3aGlsZSh0LmNtcChvbmUpIT09MCl7dmFyIHRtcD10O2Zvcih2YXIgaT0wO3RtcC5jbXAob25lKSE9PTA7aSsrKXt0bXA9dG1wLnJlZFNxcigpfWFzc2VydChpPG0pO3ZhciBiPXRoaXMucG93KGMsbmV3IEJOKDEpLml1c2hsbihtLWktMSkpO3I9ci5yZWRNdWwoYik7Yz1iLnJlZFNxcigpO3Q9dC5yZWRNdWwoYyk7bT1pfXJldHVybiByfTtSZWQucHJvdG90eXBlLmludm09ZnVuY3Rpb24gaW52bShhKXt2YXIgaW52PWEuX2ludm1wKHRoaXMubSk7aWYoaW52Lm5lZ2F0aXZlIT09MCl7aW52Lm5lZ2F0aXZlPTA7cmV0dXJuIHRoaXMuaW1vZChpbnYpLnJlZE5lZygpfWVsc2V7cmV0dXJuIHRoaXMuaW1vZChpbnYpfX07UmVkLnByb3RvdHlwZS5wb3c9ZnVuY3Rpb24gcG93KGEsbnVtKXtpZihudW0uaXNaZXJvKCkpcmV0dXJuIG5ldyBCTigxKS50b1JlZCh0aGlzKTtpZihudW0uY21wbigxKT09PTApcmV0dXJuIGEuY2xvbmUoKTt2YXIgd2luZG93U2l6ZT00O3ZhciB3bmQ9bmV3IEFycmF5KDE8PHdpbmRvd1NpemUpO3duZFswXT1uZXcgQk4oMSkudG9SZWQodGhpcyk7d25kWzFdPWE7Zm9yKHZhciBpPTI7aTx3bmQubGVuZ3RoO2krKyl7d25kW2ldPXRoaXMubXVsKHduZFtpLTFdLGEpfXZhciByZXM9d25kWzBdO3ZhciBjdXJyZW50PTA7dmFyIGN1cnJlbnRMZW49MDt2YXIgc3RhcnQ9bnVtLmJpdExlbmd0aCgpJTI2O2lmKHN0YXJ0PT09MCl7c3RhcnQ9MjZ9Zm9yKGk9bnVtLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIgd29yZD1udW0ud29yZHNbaV07Zm9yKHZhciBqPXN0YXJ0LTE7aj49MDtqLS0pe3ZhciBiaXQ9d29yZD4+aiYxO2lmKHJlcyE9PXduZFswXSl7cmVzPXRoaXMuc3FyKHJlcyl9aWYoYml0PT09MCYmY3VycmVudD09PTApe2N1cnJlbnRMZW49MDtjb250aW51ZX1jdXJyZW50PDw9MTtjdXJyZW50fD1iaXQ7Y3VycmVudExlbisrO2lmKGN1cnJlbnRMZW4hPT13aW5kb3dTaXplJiYoaSE9PTB8fGohPT0wKSljb250aW51ZTtyZXM9dGhpcy5tdWwocmVzLHduZFtjdXJyZW50XSk7Y3VycmVudExlbj0wO2N1cnJlbnQ9MH1zdGFydD0yNn1yZXR1cm4gcmVzfTtSZWQucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbiBjb252ZXJ0VG8obnVtKXt2YXIgcj1udW0udW1vZCh0aGlzLm0pO3JldHVybiByPT09bnVtP3IuY2xvbmUoKTpyfTtSZWQucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uIGNvbnZlcnRGcm9tKG51bSl7dmFyIHJlcz1udW0uY2xvbmUoKTtyZXMucmVkPW51bGw7cmV0dXJuIHJlc307Qk4ubW9udD1mdW5jdGlvbiBtb250KG51bSl7cmV0dXJuIG5ldyBNb250KG51bSl9O2Z1bmN0aW9uIE1vbnQobSl7UmVkLmNhbGwodGhpcyxtKTt0aGlzLnNoaWZ0PXRoaXMubS5iaXRMZW5ndGgoKTtpZih0aGlzLnNoaWZ0JTI2IT09MCl7dGhpcy5zaGlmdCs9MjYtdGhpcy5zaGlmdCUyNn10aGlzLnI9bmV3IEJOKDEpLml1c2hsbih0aGlzLnNoaWZ0KTt0aGlzLnIyPXRoaXMuaW1vZCh0aGlzLnIuc3FyKCkpO3RoaXMucmludj10aGlzLnIuX2ludm1wKHRoaXMubSk7dGhpcy5taW52PXRoaXMucmludi5tdWwodGhpcy5yKS5pc3VibigxKS5kaXYodGhpcy5tKTt0aGlzLm1pbnY9dGhpcy5taW52LnVtb2QodGhpcy5yKTt0aGlzLm1pbnY9dGhpcy5yLnN1Yih0aGlzLm1pbnYpfWluaGVyaXRzKE1vbnQsUmVkKTtNb250LnByb3RvdHlwZS5jb252ZXJ0VG89ZnVuY3Rpb24gY29udmVydFRvKG51bSl7cmV0dXJuIHRoaXMuaW1vZChudW0udXNobG4odGhpcy5zaGlmdCkpfTtNb250LnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbiBjb252ZXJ0RnJvbShudW0pe3ZhciByPXRoaXMuaW1vZChudW0ubXVsKHRoaXMucmludikpO3IucmVkPW51bGw7cmV0dXJuIHJ9O01vbnQucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24gaW11bChhLGIpe2lmKGEuaXNaZXJvKCl8fGIuaXNaZXJvKCkpe2Eud29yZHNbMF09MDthLmxlbmd0aD0xO3JldHVybiBhfXZhciB0PWEuaW11bChiKTt2YXIgYz10Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKTt2YXIgdT10LmlzdWIoYykuaXVzaHJuKHRoaXMuc2hpZnQpO3ZhciByZXM9dTtpZih1LmNtcCh0aGlzLm0pPj0wKXtyZXM9dS5pc3ViKHRoaXMubSl9ZWxzZSBpZih1LmNtcG4oMCk8MCl7cmVzPXUuaWFkZCh0aGlzLm0pfXJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpfTtNb250LnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24gbXVsKGEsYil7aWYoYS5pc1plcm8oKXx8Yi5pc1plcm8oKSlyZXR1cm4gbmV3IEJOKDApLl9mb3JjZVJlZCh0aGlzKTt2YXIgdD1hLm11bChiKTt2YXIgYz10Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKTt2YXIgdT10LmlzdWIoYykuaXVzaHJuKHRoaXMuc2hpZnQpO3ZhciByZXM9dTtpZih1LmNtcCh0aGlzLm0pPj0wKXtyZXM9dS5pc3ViKHRoaXMubSl9ZWxzZSBpZih1LmNtcG4oMCk8MCl7cmVzPXUuaWFkZCh0aGlzLm0pfXJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpfTtNb250LnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uIGludm0oYSl7dmFyIHJlcz10aGlzLmltb2QoYS5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpO3JldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpfX0pKCJvYmplY3QiPT09InVuZGVmaW5lZCJ8fG1vZHVsZSxjb21tb25qc0dsb2JhbCl9KTt2YXIgbWluaW1hbGlzdGljQXNzZXJ0PWFzc2VydDtmdW5jdGlvbiBhc3NlcnQodmFsLG1zZyl7aWYoIXZhbCl0aHJvdyBuZXcgRXJyb3IobXNnfHwiQXNzZXJ0aW9uIGZhaWxlZCIpfWFzc2VydC5lcXVhbD1mdW5jdGlvbiBhc3NlcnRFcXVhbChsLHIsbXNnKXtpZihsIT1yKXRocm93IG5ldyBFcnJvcihtc2d8fCJBc3NlcnRpb24gZmFpbGVkOiAiK2wrIiAhPSAiK3IpfTt2YXIgdXRpbHNfMT1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO3ZhciB1dGlscz1leHBvcnRzO2Z1bmN0aW9uIHRvQXJyYXkobXNnLGVuYyl7aWYoQXJyYXkuaXNBcnJheShtc2cpKXJldHVybiBtc2cuc2xpY2UoKTtpZighbXNnKXJldHVybltdO3ZhciByZXM9W107aWYodHlwZW9mIG1zZyE9PSJzdHJpbmciKXtmb3IodmFyIGk9MDtpPG1zZy5sZW5ndGg7aSsrKXJlc1tpXT1tc2dbaV18MDtyZXR1cm4gcmVzfWlmKGVuYz09PSJoZXgiKXttc2c9bXNnLnJlcGxhY2UoL1teYS16MC05XSsvZ2ksIiIpO2lmKG1zZy5sZW5ndGglMiE9PTApbXNnPSIwIittc2c7Zm9yKHZhciBpPTA7aTxtc2cubGVuZ3RoO2krPTIpcmVzLnB1c2gocGFyc2VJbnQobXNnW2ldK21zZ1tpKzFdLDE2KSl9ZWxzZXtmb3IodmFyIGk9MDtpPG1zZy5sZW5ndGg7aSsrKXt2YXIgYz1tc2cuY2hhckNvZGVBdChpKTt2YXIgaGk9Yz4+ODt2YXIgbG89YyYyNTU7aWYoaGkpcmVzLnB1c2goaGksbG8pO2Vsc2UgcmVzLnB1c2gobG8pfX1yZXR1cm4gcmVzfXV0aWxzLnRvQXJyYXk9dG9BcnJheTtmdW5jdGlvbiB6ZXJvMih3b3JkKXtpZih3b3JkLmxlbmd0aD09PTEpcmV0dXJuIjAiK3dvcmQ7ZWxzZSByZXR1cm4gd29yZH11dGlscy56ZXJvMj16ZXJvMjtmdW5jdGlvbiB0b0hleChtc2cpe3ZhciByZXM9IiI7Zm9yKHZhciBpPTA7aTxtc2cubGVuZ3RoO2krKylyZXMrPXplcm8yKG1zZ1tpXS50b1N0cmluZygxNikpO3JldHVybiByZXN9dXRpbHMudG9IZXg9dG9IZXg7dXRpbHMuZW5jb2RlPWZ1bmN0aW9uIGVuY29kZShhcnIsZW5jKXtpZihlbmM9PT0iaGV4IilyZXR1cm4gdG9IZXgoYXJyKTtlbHNlIHJldHVybiBhcnJ9fSk7dmFyIHV0aWxzXzEkMT1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO3ZhciB1dGlscz1leHBvcnRzO3V0aWxzLmFzc2VydD1taW5pbWFsaXN0aWNBc3NlcnQ7dXRpbHMudG9BcnJheT11dGlsc18xLnRvQXJyYXk7dXRpbHMuemVybzI9dXRpbHNfMS56ZXJvMjt1dGlscy50b0hleD11dGlsc18xLnRvSGV4O3V0aWxzLmVuY29kZT11dGlsc18xLmVuY29kZTtmdW5jdGlvbiBnZXROQUYobnVtLHcsYml0cyl7dmFyIG5hZj1uZXcgQXJyYXkoTWF0aC5tYXgobnVtLmJpdExlbmd0aCgpLGJpdHMpKzEpO25hZi5maWxsKDApO3ZhciB3cz0xPDx3KzE7dmFyIGs9bnVtLmNsb25lKCk7Zm9yKHZhciBpPTA7aTxuYWYubGVuZ3RoO2krKyl7dmFyIHo7dmFyIG1vZD1rLmFuZGxuKHdzLTEpO2lmKGsuaXNPZGQoKSl7aWYobW9kPih3cz4+MSktMSl6PSh3cz4+MSktbW9kO2Vsc2Ugej1tb2Q7ay5pc3Vibih6KX1lbHNle3o9MH1uYWZbaV09ejtrLml1c2hybigxKX1yZXR1cm4gbmFmfXV0aWxzLmdldE5BRj1nZXROQUY7ZnVuY3Rpb24gZ2V0SlNGKGsxLGsyKXt2YXIganNmPVtbXSxbXV07azE9azEuY2xvbmUoKTtrMj1rMi5jbG9uZSgpO3ZhciBkMT0wO3ZhciBkMj0wO3ZhciBtODt3aGlsZShrMS5jbXBuKC1kMSk+MHx8azIuY21wbigtZDIpPjApe3ZhciBtMTQ9azEuYW5kbG4oMykrZDEmMzt2YXIgbTI0PWsyLmFuZGxuKDMpK2QyJjM7aWYobTE0PT09MyltMTQ9LTE7aWYobTI0PT09MyltMjQ9LTE7dmFyIHUxO2lmKChtMTQmMSk9PT0wKXt1MT0wfWVsc2V7bTg9azEuYW5kbG4oNykrZDEmNztpZigobTg9PT0zfHxtOD09PTUpJiZtMjQ9PT0yKXUxPS1tMTQ7ZWxzZSB1MT1tMTR9anNmWzBdLnB1c2godTEpO3ZhciB1MjtpZigobTI0JjEpPT09MCl7dTI9MH1lbHNle204PWsyLmFuZGxuKDcpK2QyJjc7aWYoKG04PT09M3x8bTg9PT01KSYmbTE0PT09Mil1Mj0tbTI0O2Vsc2UgdTI9bTI0fWpzZlsxXS5wdXNoKHUyKTtpZigyKmQxPT09dTErMSlkMT0xLWQxO2lmKDIqZDI9PT11MisxKWQyPTEtZDI7azEuaXVzaHJuKDEpO2syLml1c2hybigxKX1yZXR1cm4ganNmfXV0aWxzLmdldEpTRj1nZXRKU0Y7ZnVuY3Rpb24gY2FjaGVkUHJvcGVydHkob2JqLG5hbWUsY29tcHV0ZXIpe3ZhciBrZXk9Il8iK25hbWU7b2JqLnByb3RvdHlwZVtuYW1lXT1mdW5jdGlvbiBjYWNoZWRQcm9wZXJ0eSgpe3JldHVybiB0aGlzW2tleV0hPT11bmRlZmluZWQ/dGhpc1trZXldOnRoaXNba2V5XT1jb21wdXRlci5jYWxsKHRoaXMpfX11dGlscy5jYWNoZWRQcm9wZXJ0eT1jYWNoZWRQcm9wZXJ0eTtmdW5jdGlvbiBwYXJzZUJ5dGVzKGJ5dGVzKXtyZXR1cm4gdHlwZW9mIGJ5dGVzPT09InN0cmluZyI/dXRpbHMudG9BcnJheShieXRlcywiaGV4Iik6Ynl0ZXN9dXRpbHMucGFyc2VCeXRlcz1wYXJzZUJ5dGVzO2Z1bmN0aW9uIGludEZyb21MRShieXRlcyl7cmV0dXJuIG5ldyBibiQxKGJ5dGVzLCJoZXgiLCJsZSIpfXV0aWxzLmludEZyb21MRT1pbnRGcm9tTEV9KTsidXNlIHN0cmljdCI7dmFyIGdldE5BRj11dGlsc18xJDEuZ2V0TkFGO3ZhciBnZXRKU0Y9dXRpbHNfMSQxLmdldEpTRjt2YXIgYXNzZXJ0JDE9dXRpbHNfMSQxLmFzc2VydDtmdW5jdGlvbiBCYXNlQ3VydmUodHlwZSxjb25mKXt0aGlzLnR5cGU9dHlwZTt0aGlzLnA9bmV3IGJuJDEoY29uZi5wLDE2KTt0aGlzLnJlZD1jb25mLnByaW1lP2JuJDEucmVkKGNvbmYucHJpbWUpOmJuJDEubW9udCh0aGlzLnApO3RoaXMuemVybz1uZXcgYm4kMSgwKS50b1JlZCh0aGlzLnJlZCk7dGhpcy5vbmU9bmV3IGJuJDEoMSkudG9SZWQodGhpcy5yZWQpO3RoaXMudHdvPW5ldyBibiQxKDIpLnRvUmVkKHRoaXMucmVkKTt0aGlzLm49Y29uZi5uJiZuZXcgYm4kMShjb25mLm4sMTYpO3RoaXMuZz1jb25mLmcmJnRoaXMucG9pbnRGcm9tSlNPTihjb25mLmcsY29uZi5nUmVkKTt0aGlzLl93bmFmVDE9bmV3IEFycmF5KDQpO3RoaXMuX3duYWZUMj1uZXcgQXJyYXkoNCk7dGhpcy5fd25hZlQzPW5ldyBBcnJheSg0KTt0aGlzLl93bmFmVDQ9bmV3IEFycmF5KDQpO3RoaXMuX2JpdExlbmd0aD10aGlzLm4/dGhpcy5uLmJpdExlbmd0aCgpOjA7dmFyIGFkanVzdENvdW50PXRoaXMubiYmdGhpcy5wLmRpdih0aGlzLm4pO2lmKCFhZGp1c3RDb3VudHx8YWRqdXN0Q291bnQuY21wbigxMDApPjApe3RoaXMucmVkTj1udWxsfWVsc2V7dGhpcy5fbWF4d2VsbFRyaWNrPXRydWU7dGhpcy5yZWROPXRoaXMubi50b1JlZCh0aGlzLnJlZCl9fXZhciBiYXNlPUJhc2VDdXJ2ZTtCYXNlQ3VydmUucHJvdG90eXBlLnBvaW50PWZ1bmN0aW9uIHBvaW50KCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX07QmFzZUN1cnZlLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbiB2YWxpZGF0ZSgpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9O0Jhc2VDdXJ2ZS5wcm90b3R5cGUuX2ZpeGVkTmFmTXVsPWZ1bmN0aW9uIF9maXhlZE5hZk11bChwLGspe2Fzc2VydCQxKHAucHJlY29tcHV0ZWQpO3ZhciBkb3VibGVzPXAuX2dldERvdWJsZXMoKTt2YXIgbmFmPWdldE5BRihrLDEsdGhpcy5fYml0TGVuZ3RoKTt2YXIgST0oMTw8ZG91Ymxlcy5zdGVwKzEpLShkb3VibGVzLnN0ZXAlMj09PTA/MjoxKTtJLz0zO3ZhciByZXByPVtdO3ZhciBqO3ZhciBuYWZXO2ZvcihqPTA7ajxuYWYubGVuZ3RoO2orPWRvdWJsZXMuc3RlcCl7bmFmVz0wO2Zvcih2YXIgbD1qK2RvdWJsZXMuc3RlcC0xO2w+PWo7bC0tKW5hZlc9KG5hZlc8PDEpK25hZltsXTtyZXByLnB1c2gobmFmVyl9dmFyIGE9dGhpcy5qcG9pbnQobnVsbCxudWxsLG51bGwpO3ZhciBiPXRoaXMuanBvaW50KG51bGwsbnVsbCxudWxsKTtmb3IodmFyIGk9STtpPjA7aS0tKXtmb3Ioaj0wO2o8cmVwci5sZW5ndGg7aisrKXtuYWZXPXJlcHJbal07aWYobmFmVz09PWkpYj1iLm1peGVkQWRkKGRvdWJsZXMucG9pbnRzW2pdKTtlbHNlIGlmKG5hZlc9PT0taSliPWIubWl4ZWRBZGQoZG91Ymxlcy5wb2ludHNbal0ubmVnKCkpfWE9YS5hZGQoYil9cmV0dXJuIGEudG9QKCl9O0Jhc2VDdXJ2ZS5wcm90b3R5cGUuX3duYWZNdWw9ZnVuY3Rpb24gX3duYWZNdWwocCxrKXt2YXIgdz00O3ZhciBuYWZQb2ludHM9cC5fZ2V0TkFGUG9pbnRzKHcpO3c9bmFmUG9pbnRzLnduZDt2YXIgd25kPW5hZlBvaW50cy5wb2ludHM7dmFyIG5hZj1nZXROQUYoayx3LHRoaXMuX2JpdExlbmd0aCk7dmFyIGFjYz10aGlzLmpwb2ludChudWxsLG51bGwsbnVsbCk7Zm9yKHZhciBpPW5hZi5sZW5ndGgtMTtpPj0wO2ktLSl7Zm9yKHZhciBsPTA7aT49MCYmbmFmW2ldPT09MDtpLS0pbCsrO2lmKGk+PTApbCsrO2FjYz1hY2MuZGJscChsKTtpZihpPDApYnJlYWs7dmFyIHo9bmFmW2ldO2Fzc2VydCQxKHohPT0wKTtpZihwLnR5cGU9PT0iYWZmaW5lIil7aWYoej4wKWFjYz1hY2MubWl4ZWRBZGQod25kW3otMT4+MV0pO2Vsc2UgYWNjPWFjYy5taXhlZEFkZCh3bmRbLXotMT4+MV0ubmVnKCkpfWVsc2V7aWYoej4wKWFjYz1hY2MuYWRkKHduZFt6LTE+PjFdKTtlbHNlIGFjYz1hY2MuYWRkKHduZFstei0xPj4xXS5uZWcoKSl9fXJldHVybiBwLnR5cGU9PT0iYWZmaW5lIj9hY2MudG9QKCk6YWNjfTtCYXNlQ3VydmUucHJvdG90eXBlLl93bmFmTXVsQWRkPWZ1bmN0aW9uIF93bmFmTXVsQWRkKGRlZlcscG9pbnRzLGNvZWZmcyxsZW4samFjb2JpYW5SZXN1bHQpe3ZhciB3bmRXaWR0aD10aGlzLl93bmFmVDE7dmFyIHduZD10aGlzLl93bmFmVDI7dmFyIG5hZj10aGlzLl93bmFmVDM7dmFyIG1heD0wO3ZhciBpO3ZhciBqO3ZhciBwO2ZvcihpPTA7aTxsZW47aSsrKXtwPXBvaW50c1tpXTt2YXIgbmFmUG9pbnRzPXAuX2dldE5BRlBvaW50cyhkZWZXKTt3bmRXaWR0aFtpXT1uYWZQb2ludHMud25kO3duZFtpXT1uYWZQb2ludHMucG9pbnRzfWZvcihpPWxlbi0xO2k+PTE7aS09Mil7dmFyIGE9aS0xO3ZhciBiPWk7aWYod25kV2lkdGhbYV0hPT0xfHx3bmRXaWR0aFtiXSE9PTEpe25hZlthXT1nZXROQUYoY29lZmZzW2FdLHduZFdpZHRoW2FdLHRoaXMuX2JpdExlbmd0aCk7bmFmW2JdPWdldE5BRihjb2VmZnNbYl0sd25kV2lkdGhbYl0sdGhpcy5fYml0TGVuZ3RoKTttYXg9TWF0aC5tYXgobmFmW2FdLmxlbmd0aCxtYXgpO21heD1NYXRoLm1heChuYWZbYl0ubGVuZ3RoLG1heCk7Y29udGludWV9dmFyIGNvbWI9W3BvaW50c1thXSxudWxsLG51bGwscG9pbnRzW2JdXTtpZihwb2ludHNbYV0ueS5jbXAocG9pbnRzW2JdLnkpPT09MCl7Y29tYlsxXT1wb2ludHNbYV0uYWRkKHBvaW50c1tiXSk7Y29tYlsyXT1wb2ludHNbYV0udG9KKCkubWl4ZWRBZGQocG9pbnRzW2JdLm5lZygpKX1lbHNlIGlmKHBvaW50c1thXS55LmNtcChwb2ludHNbYl0ueS5yZWROZWcoKSk9PT0wKXtjb21iWzFdPXBvaW50c1thXS50b0ooKS5taXhlZEFkZChwb2ludHNbYl0pO2NvbWJbMl09cG9pbnRzW2FdLmFkZChwb2ludHNbYl0ubmVnKCkpfWVsc2V7Y29tYlsxXT1wb2ludHNbYV0udG9KKCkubWl4ZWRBZGQocG9pbnRzW2JdKTtjb21iWzJdPXBvaW50c1thXS50b0ooKS5taXhlZEFkZChwb2ludHNbYl0ubmVnKCkpfXZhciBpbmRleD1bLTMsLTEsLTUsLTcsMCw3LDUsMSwzXTt2YXIganNmPWdldEpTRihjb2VmZnNbYV0sY29lZmZzW2JdKTttYXg9TWF0aC5tYXgoanNmWzBdLmxlbmd0aCxtYXgpO25hZlthXT1uZXcgQXJyYXkobWF4KTtuYWZbYl09bmV3IEFycmF5KG1heCk7Zm9yKGo9MDtqPG1heDtqKyspe3ZhciBqYT1qc2ZbMF1bal18MDt2YXIgamI9anNmWzFdW2pdfDA7bmFmW2FdW2pdPWluZGV4WyhqYSsxKSozKyhqYisxKV07bmFmW2JdW2pdPTA7d25kW2FdPWNvbWJ9fXZhciBhY2M9dGhpcy5qcG9pbnQobnVsbCxudWxsLG51bGwpO3ZhciB0bXA9dGhpcy5fd25hZlQ0O2ZvcihpPW1heDtpPj0wO2ktLSl7dmFyIGs9MDt3aGlsZShpPj0wKXt2YXIgemVybz10cnVlO2ZvcihqPTA7ajxsZW47aisrKXt0bXBbal09bmFmW2pdW2ldfDA7aWYodG1wW2pdIT09MCl6ZXJvPWZhbHNlfWlmKCF6ZXJvKWJyZWFrO2srKztpLS19aWYoaT49MClrKys7YWNjPWFjYy5kYmxwKGspO2lmKGk8MClicmVhaztmb3Ioaj0wO2o8bGVuO2orKyl7dmFyIHo9dG1wW2pdO3A7aWYoej09PTApY29udGludWU7ZWxzZSBpZih6PjApcD13bmRbal1bei0xPj4xXTtlbHNlIGlmKHo8MClwPXduZFtqXVstei0xPj4xXS5uZWcoKTtpZihwLnR5cGU9PT0iYWZmaW5lIilhY2M9YWNjLm1peGVkQWRkKHApO2Vsc2UgYWNjPWFjYy5hZGQocCl9fWZvcihpPTA7aTxsZW47aSsrKXduZFtpXT1udWxsO2lmKGphY29iaWFuUmVzdWx0KXJldHVybiBhY2M7ZWxzZSByZXR1cm4gYWNjLnRvUCgpfTtmdW5jdGlvbiBCYXNlUG9pbnQoY3VydmUsdHlwZSl7dGhpcy5jdXJ2ZT1jdXJ2ZTt0aGlzLnR5cGU9dHlwZTt0aGlzLnByZWNvbXB1dGVkPW51bGx9QmFzZUN1cnZlLkJhc2VQb2ludD1CYXNlUG9pbnQ7QmFzZVBvaW50LnByb3RvdHlwZS5lcT1mdW5jdGlvbiBlcSgpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9O0Jhc2VQb2ludC5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24gdmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5jdXJ2ZS52YWxpZGF0ZSh0aGlzKX07QmFzZUN1cnZlLnByb3RvdHlwZS5kZWNvZGVQb2ludD1mdW5jdGlvbiBkZWNvZGVQb2ludChieXRlcyxlbmMpe2J5dGVzPXV0aWxzXzEkMS50b0FycmF5KGJ5dGVzLGVuYyk7dmFyIGxlbj10aGlzLnAuYnl0ZUxlbmd0aCgpO2lmKChieXRlc1swXT09PTR8fGJ5dGVzWzBdPT09Nnx8Ynl0ZXNbMF09PT03KSYmYnl0ZXMubGVuZ3RoLTE9PT0yKmxlbil7aWYoYnl0ZXNbMF09PT02KWFzc2VydCQxKGJ5dGVzW2J5dGVzLmxlbmd0aC0xXSUyPT09MCk7ZWxzZSBpZihieXRlc1swXT09PTcpYXNzZXJ0JDEoYnl0ZXNbYnl0ZXMubGVuZ3RoLTFdJTI9PT0xKTt2YXIgcmVzPXRoaXMucG9pbnQoYnl0ZXMuc2xpY2UoMSwxK2xlbiksYnl0ZXMuc2xpY2UoMStsZW4sMSsyKmxlbikpO3JldHVybiByZXN9ZWxzZSBpZigoYnl0ZXNbMF09PT0yfHxieXRlc1swXT09PTMpJiZieXRlcy5sZW5ndGgtMT09PWxlbil7cmV0dXJuIHRoaXMucG9pbnRGcm9tWChieXRlcy5zbGljZSgxLDErbGVuKSxieXRlc1swXT09PTMpfXRocm93IG5ldyBFcnJvcigiVW5rbm93biBwb2ludCBmb3JtYXQiKX07QmFzZVBvaW50LnByb3RvdHlwZS5lbmNvZGVDb21wcmVzc2VkPWZ1bmN0aW9uIGVuY29kZUNvbXByZXNzZWQoZW5jKXtyZXR1cm4gdGhpcy5lbmNvZGUoZW5jLHRydWUpfTtCYXNlUG9pbnQucHJvdG90eXBlLl9lbmNvZGU9ZnVuY3Rpb24gX2VuY29kZShjb21wYWN0KXt2YXIgbGVuPXRoaXMuY3VydmUucC5ieXRlTGVuZ3RoKCk7dmFyIHg9dGhpcy5nZXRYKCkudG9BcnJheSgiYmUiLGxlbik7aWYoY29tcGFjdClyZXR1cm5bdGhpcy5nZXRZKCkuaXNFdmVuKCk/MjozXS5jb25jYXQoeCk7cmV0dXJuWzRdLmNvbmNhdCh4LHRoaXMuZ2V0WSgpLnRvQXJyYXkoImJlIixsZW4pKX07QmFzZVBvaW50LnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24gZW5jb2RlKGVuYyxjb21wYWN0KXtyZXR1cm4gdXRpbHNfMSQxLmVuY29kZSh0aGlzLl9lbmNvZGUoY29tcGFjdCksZW5jKX07QmFzZVBvaW50LnByb3RvdHlwZS5wcmVjb21wdXRlPWZ1bmN0aW9uIHByZWNvbXB1dGUocG93ZXIpe2lmKHRoaXMucHJlY29tcHV0ZWQpcmV0dXJuIHRoaXM7dmFyIHByZWNvbXB1dGVkPXtkb3VibGVzOm51bGwsbmFmOm51bGwsYmV0YTpudWxsfTtwcmVjb21wdXRlZC5uYWY9dGhpcy5fZ2V0TkFGUG9pbnRzKDgpO3ByZWNvbXB1dGVkLmRvdWJsZXM9dGhpcy5fZ2V0RG91Ymxlcyg0LHBvd2VyKTtwcmVjb21wdXRlZC5iZXRhPXRoaXMuX2dldEJldGEoKTt0aGlzLnByZWNvbXB1dGVkPXByZWNvbXB1dGVkO3JldHVybiB0aGlzfTtCYXNlUG9pbnQucHJvdG90eXBlLl9oYXNEb3VibGVzPWZ1bmN0aW9uIF9oYXNEb3VibGVzKGspe2lmKCF0aGlzLnByZWNvbXB1dGVkKXJldHVybiBmYWxzZTt2YXIgZG91Ymxlcz10aGlzLnByZWNvbXB1dGVkLmRvdWJsZXM7aWYoIWRvdWJsZXMpcmV0dXJuIGZhbHNlO3JldHVybiBkb3VibGVzLnBvaW50cy5sZW5ndGg+PU1hdGguY2VpbCgoay5iaXRMZW5ndGgoKSsxKS9kb3VibGVzLnN0ZXApfTtCYXNlUG9pbnQucHJvdG90eXBlLl9nZXREb3VibGVzPWZ1bmN0aW9uIF9nZXREb3VibGVzKHN0ZXAscG93ZXIpe2lmKHRoaXMucHJlY29tcHV0ZWQmJnRoaXMucHJlY29tcHV0ZWQuZG91YmxlcylyZXR1cm4gdGhpcy5wcmVjb21wdXRlZC5kb3VibGVzO3ZhciBkb3VibGVzPVt0aGlzXTt2YXIgYWNjPXRoaXM7Zm9yKHZhciBpPTA7aTxwb3dlcjtpKz1zdGVwKXtmb3IodmFyIGo9MDtqPHN0ZXA7aisrKWFjYz1hY2MuZGJsKCk7ZG91Ymxlcy5wdXNoKGFjYyl9cmV0dXJue3N0ZXA6c3RlcCxwb2ludHM6ZG91Ymxlc319O0Jhc2VQb2ludC5wcm90b3R5cGUuX2dldE5BRlBvaW50cz1mdW5jdGlvbiBfZ2V0TkFGUG9pbnRzKHduZCl7aWYodGhpcy5wcmVjb21wdXRlZCYmdGhpcy5wcmVjb21wdXRlZC5uYWYpcmV0dXJuIHRoaXMucHJlY29tcHV0ZWQubmFmO3ZhciByZXM9W3RoaXNdO3ZhciBtYXg9KDE8PHduZCktMTt2YXIgZGJsPW1heD09PTE/bnVsbDp0aGlzLmRibCgpO2Zvcih2YXIgaT0xO2k8bWF4O2krKylyZXNbaV09cmVzW2ktMV0uYWRkKGRibCk7cmV0dXJue3duZDp3bmQscG9pbnRzOnJlc319O0Jhc2VQb2ludC5wcm90b3R5cGUuX2dldEJldGE9ZnVuY3Rpb24gX2dldEJldGEoKXtyZXR1cm4gbnVsbH07QmFzZVBvaW50LnByb3RvdHlwZS5kYmxwPWZ1bmN0aW9uIGRibHAoayl7dmFyIHI9dGhpcztmb3IodmFyIGk9MDtpPGs7aSsrKXI9ci5kYmwoKTtyZXR1cm4gcn07dmFyIGluaGVyaXRzX2Jyb3dzZXI9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlKXtpZih0eXBlb2YgT2JqZWN0LmNyZWF0ZT09PSJmdW5jdGlvbiIpe21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uIGluaGVyaXRzKGN0b3Isc3VwZXJDdG9yKXtpZihzdXBlckN0b3Ipe2N0b3Iuc3VwZXJfPXN1cGVyQ3RvcjtjdG9yLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHN1cGVyQ3Rvci5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTpjdG9yLGVudW1lcmFibGU6ZmFsc2Usd3JpdGFibGU6dHJ1ZSxjb25maWd1cmFibGU6dHJ1ZX19KX19fWVsc2V7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24gaW5oZXJpdHMoY3RvcixzdXBlckN0b3Ipe2lmKHN1cGVyQ3Rvcil7Y3Rvci5zdXBlcl89c3VwZXJDdG9yO3ZhciBUZW1wQ3Rvcj1mdW5jdGlvbigpe307VGVtcEN0b3IucHJvdG90eXBlPXN1cGVyQ3Rvci5wcm90b3R5cGU7Y3Rvci5wcm90b3R5cGU9bmV3IFRlbXBDdG9yO2N0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yPWN0b3J9fX19KTsidXNlIHN0cmljdCI7dmFyIGFzc2VydCQyPXV0aWxzXzEkMS5hc3NlcnQ7ZnVuY3Rpb24gU2hvcnRDdXJ2ZShjb25mKXtiYXNlLmNhbGwodGhpcywic2hvcnQiLGNvbmYpO3RoaXMuYT1uZXcgYm4kMShjb25mLmEsMTYpLnRvUmVkKHRoaXMucmVkKTt0aGlzLmI9bmV3IGJuJDEoY29uZi5iLDE2KS50b1JlZCh0aGlzLnJlZCk7dGhpcy50aW52PXRoaXMudHdvLnJlZEludm0oKTt0aGlzLnplcm9BPXRoaXMuYS5mcm9tUmVkKCkuY21wbigwKT09PTA7dGhpcy50aHJlZUE9dGhpcy5hLmZyb21SZWQoKS5zdWIodGhpcy5wKS5jbXBuKC0zKT09PTA7dGhpcy5lbmRvPXRoaXMuX2dldEVuZG9tb3JwaGlzbShjb25mKTt0aGlzLl9lbmRvV25hZlQxPW5ldyBBcnJheSg0KTt0aGlzLl9lbmRvV25hZlQyPW5ldyBBcnJheSg0KX1pbmhlcml0c19icm93c2VyKFNob3J0Q3VydmUsYmFzZSk7dmFyIHNob3J0XzE9U2hvcnRDdXJ2ZTtTaG9ydEN1cnZlLnByb3RvdHlwZS5fZ2V0RW5kb21vcnBoaXNtPWZ1bmN0aW9uIF9nZXRFbmRvbW9ycGhpc20oY29uZil7aWYoIXRoaXMuemVyb0F8fCF0aGlzLmd8fCF0aGlzLm58fHRoaXMucC5tb2RuKDMpIT09MSlyZXR1cm47dmFyIGJldGE7dmFyIGxhbWJkYTtpZihjb25mLmJldGEpe2JldGE9bmV3IGJuJDEoY29uZi5iZXRhLDE2KS50b1JlZCh0aGlzLnJlZCl9ZWxzZXt2YXIgYmV0YXM9dGhpcy5fZ2V0RW5kb1Jvb3RzKHRoaXMucCk7YmV0YT1iZXRhc1swXS5jbXAoYmV0YXNbMV0pPDA/YmV0YXNbMF06YmV0YXNbMV07YmV0YT1iZXRhLnRvUmVkKHRoaXMucmVkKX1pZihjb25mLmxhbWJkYSl7bGFtYmRhPW5ldyBibiQxKGNvbmYubGFtYmRhLDE2KX1lbHNle3ZhciBsYW1iZGFzPXRoaXMuX2dldEVuZG9Sb290cyh0aGlzLm4pO2lmKHRoaXMuZy5tdWwobGFtYmRhc1swXSkueC5jbXAodGhpcy5nLngucmVkTXVsKGJldGEpKT09PTApe2xhbWJkYT1sYW1iZGFzWzBdfWVsc2V7bGFtYmRhPWxhbWJkYXNbMV07YXNzZXJ0JDIodGhpcy5nLm11bChsYW1iZGEpLnguY21wKHRoaXMuZy54LnJlZE11bChiZXRhKSk9PT0wKX19dmFyIGJhc2lzO2lmKGNvbmYuYmFzaXMpe2Jhc2lzPWNvbmYuYmFzaXMubWFwKGZ1bmN0aW9uKHZlYyl7cmV0dXJue2E6bmV3IGJuJDEodmVjLmEsMTYpLGI6bmV3IGJuJDEodmVjLmIsMTYpfX0pfWVsc2V7YmFzaXM9dGhpcy5fZ2V0RW5kb0Jhc2lzKGxhbWJkYSl9cmV0dXJue2JldGE6YmV0YSxsYW1iZGE6bGFtYmRhLGJhc2lzOmJhc2lzfX07U2hvcnRDdXJ2ZS5wcm90b3R5cGUuX2dldEVuZG9Sb290cz1mdW5jdGlvbiBfZ2V0RW5kb1Jvb3RzKG51bSl7dmFyIHJlZD1udW09PT10aGlzLnA/dGhpcy5yZWQ6Ym4kMS5tb250KG51bSk7dmFyIHRpbnY9bmV3IGJuJDEoMikudG9SZWQocmVkKS5yZWRJbnZtKCk7dmFyIG50aW52PXRpbnYucmVkTmVnKCk7dmFyIHM9bmV3IGJuJDEoMykudG9SZWQocmVkKS5yZWROZWcoKS5yZWRTcXJ0KCkucmVkTXVsKHRpbnYpO3ZhciBsMT1udGludi5yZWRBZGQocykuZnJvbVJlZCgpO3ZhciBsMj1udGludi5yZWRTdWIocykuZnJvbVJlZCgpO3JldHVybltsMSxsMl19O1Nob3J0Q3VydmUucHJvdG90eXBlLl9nZXRFbmRvQmFzaXM9ZnVuY3Rpb24gX2dldEVuZG9CYXNpcyhsYW1iZGEpe3ZhciBhcHJ4U3FydD10aGlzLm4udXNocm4oTWF0aC5mbG9vcih0aGlzLm4uYml0TGVuZ3RoKCkvMikpO3ZhciB1PWxhbWJkYTt2YXIgdj10aGlzLm4uY2xvbmUoKTt2YXIgeDE9bmV3IGJuJDEoMSk7dmFyIHkxPW5ldyBibiQxKDApO3ZhciB4Mj1uZXcgYm4kMSgwKTt2YXIgeTI9bmV3IGJuJDEoMSk7dmFyIGEwO3ZhciBiMDt2YXIgYTE7dmFyIGIxO3ZhciBhMjt2YXIgYjI7dmFyIHByZXZSO3ZhciBpPTA7dmFyIHI7dmFyIHg7d2hpbGUodS5jbXBuKDApIT09MCl7dmFyIHE9di5kaXYodSk7cj12LnN1YihxLm11bCh1KSk7eD14Mi5zdWIocS5tdWwoeDEpKTt2YXIgeT15Mi5zdWIocS5tdWwoeTEpKTtpZighYTEmJnIuY21wKGFwcnhTcXJ0KTwwKXthMD1wcmV2Ui5uZWcoKTtiMD14MTthMT1yLm5lZygpO2IxPXh9ZWxzZSBpZihhMSYmKytpPT09Mil7YnJlYWt9cHJldlI9cjt2PXU7dT1yO3gyPXgxO3gxPXg7eTI9eTE7eTE9eX1hMj1yLm5lZygpO2IyPXg7dmFyIGxlbjE9YTEuc3FyKCkuYWRkKGIxLnNxcigpKTt2YXIgbGVuMj1hMi5zcXIoKS5hZGQoYjIuc3FyKCkpO2lmKGxlbjIuY21wKGxlbjEpPj0wKXthMj1hMDtiMj1iMH1pZihhMS5uZWdhdGl2ZSl7YTE9YTEubmVnKCk7YjE9YjEubmVnKCl9aWYoYTIubmVnYXRpdmUpe2EyPWEyLm5lZygpO2IyPWIyLm5lZygpfXJldHVyblt7YTphMSxiOmIxfSx7YTphMixiOmIyfV19O1Nob3J0Q3VydmUucHJvdG90eXBlLl9lbmRvU3BsaXQ9ZnVuY3Rpb24gX2VuZG9TcGxpdChrKXt2YXIgYmFzaXM9dGhpcy5lbmRvLmJhc2lzO3ZhciB2MT1iYXNpc1swXTt2YXIgdjI9YmFzaXNbMV07dmFyIGMxPXYyLmIubXVsKGspLmRpdlJvdW5kKHRoaXMubik7dmFyIGMyPXYxLmIubmVnKCkubXVsKGspLmRpdlJvdW5kKHRoaXMubik7dmFyIHAxPWMxLm11bCh2MS5hKTt2YXIgcDI9YzIubXVsKHYyLmEpO3ZhciBxMT1jMS5tdWwodjEuYik7dmFyIHEyPWMyLm11bCh2Mi5iKTt2YXIgazE9ay5zdWIocDEpLnN1YihwMik7dmFyIGsyPXExLmFkZChxMikubmVnKCk7cmV0dXJue2sxOmsxLGsyOmsyfX07U2hvcnRDdXJ2ZS5wcm90b3R5cGUucG9pbnRGcm9tWD1mdW5jdGlvbiBwb2ludEZyb21YKHgsb2RkKXt4PW5ldyBibiQxKHgsMTYpO2lmKCF4LnJlZCl4PXgudG9SZWQodGhpcy5yZWQpO3ZhciB5Mj14LnJlZFNxcigpLnJlZE11bCh4KS5yZWRJQWRkKHgucmVkTXVsKHRoaXMuYSkpLnJlZElBZGQodGhpcy5iKTt2YXIgeT15Mi5yZWRTcXJ0KCk7aWYoeS5yZWRTcXIoKS5yZWRTdWIoeTIpLmNtcCh0aGlzLnplcm8pIT09MCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcG9pbnQiKTt2YXIgaXNPZGQ9eS5mcm9tUmVkKCkuaXNPZGQoKTtpZihvZGQmJiFpc09kZHx8IW9kZCYmaXNPZGQpeT15LnJlZE5lZygpO3JldHVybiB0aGlzLnBvaW50KHgseSl9O1Nob3J0Q3VydmUucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uIHZhbGlkYXRlKHBvaW50KXtpZihwb2ludC5pbmYpcmV0dXJuIHRydWU7dmFyIHg9cG9pbnQueDt2YXIgeT1wb2ludC55O3ZhciBheD10aGlzLmEucmVkTXVsKHgpO3ZhciByaHM9eC5yZWRTcXIoKS5yZWRNdWwoeCkucmVkSUFkZChheCkucmVkSUFkZCh0aGlzLmIpO3JldHVybiB5LnJlZFNxcigpLnJlZElTdWIocmhzKS5jbXBuKDApPT09MH07U2hvcnRDdXJ2ZS5wcm90b3R5cGUuX2VuZG9XbmFmTXVsQWRkPWZ1bmN0aW9uIF9lbmRvV25hZk11bEFkZChwb2ludHMsY29lZmZzLGphY29iaWFuUmVzdWx0KXt2YXIgbnBvaW50cz10aGlzLl9lbmRvV25hZlQxO3ZhciBuY29lZmZzPXRoaXMuX2VuZG9XbmFmVDI7Zm9yKHZhciBpPTA7aTxwb2ludHMubGVuZ3RoO2krKyl7dmFyIHNwbGl0PXRoaXMuX2VuZG9TcGxpdChjb2VmZnNbaV0pO3ZhciBwPXBvaW50c1tpXTt2YXIgYmV0YT1wLl9nZXRCZXRhKCk7aWYoc3BsaXQuazEubmVnYXRpdmUpe3NwbGl0LmsxLmluZWcoKTtwPXAubmVnKHRydWUpfWlmKHNwbGl0LmsyLm5lZ2F0aXZlKXtzcGxpdC5rMi5pbmVnKCk7YmV0YT1iZXRhLm5lZyh0cnVlKX1ucG9pbnRzW2kqMl09cDtucG9pbnRzW2kqMisxXT1iZXRhO25jb2VmZnNbaSoyXT1zcGxpdC5rMTtuY29lZmZzW2kqMisxXT1zcGxpdC5rMn12YXIgcmVzPXRoaXMuX3duYWZNdWxBZGQoMSxucG9pbnRzLG5jb2VmZnMsaSoyLGphY29iaWFuUmVzdWx0KTtmb3IodmFyIGo9MDtqPGkqMjtqKyspe25wb2ludHNbal09bnVsbDtuY29lZmZzW2pdPW51bGx9cmV0dXJuIHJlc307ZnVuY3Rpb24gUG9pbnQoY3VydmUseCx5LGlzUmVkKXtiYXNlLkJhc2VQb2ludC5jYWxsKHRoaXMsY3VydmUsImFmZmluZSIpO2lmKHg9PT1udWxsJiZ5PT09bnVsbCl7dGhpcy54PW51bGw7dGhpcy55PW51bGw7dGhpcy5pbmY9dHJ1ZX1lbHNle3RoaXMueD1uZXcgYm4kMSh4LDE2KTt0aGlzLnk9bmV3IGJuJDEoeSwxNik7aWYoaXNSZWQpe3RoaXMueC5mb3JjZVJlZCh0aGlzLmN1cnZlLnJlZCk7dGhpcy55LmZvcmNlUmVkKHRoaXMuY3VydmUucmVkKX1pZighdGhpcy54LnJlZCl0aGlzLng9dGhpcy54LnRvUmVkKHRoaXMuY3VydmUucmVkKTtpZighdGhpcy55LnJlZCl0aGlzLnk9dGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKTt0aGlzLmluZj1mYWxzZX19aW5oZXJpdHNfYnJvd3NlcihQb2ludCxiYXNlLkJhc2VQb2ludCk7U2hvcnRDdXJ2ZS5wcm90b3R5cGUucG9pbnQ9ZnVuY3Rpb24gcG9pbnQoeCx5LGlzUmVkKXtyZXR1cm4gbmV3IFBvaW50KHRoaXMseCx5LGlzUmVkKX07U2hvcnRDdXJ2ZS5wcm90b3R5cGUucG9pbnRGcm9tSlNPTj1mdW5jdGlvbiBwb2ludEZyb21KU09OKG9iaixyZWQpe3JldHVybiBQb2ludC5mcm9tSlNPTih0aGlzLG9iaixyZWQpfTtQb2ludC5wcm90b3R5cGUuX2dldEJldGE9ZnVuY3Rpb24gX2dldEJldGEoKXtpZighdGhpcy5jdXJ2ZS5lbmRvKXJldHVybjt2YXIgcHJlPXRoaXMucHJlY29tcHV0ZWQ7aWYocHJlJiZwcmUuYmV0YSlyZXR1cm4gcHJlLmJldGE7dmFyIGJldGE9dGhpcy5jdXJ2ZS5wb2ludCh0aGlzLngucmVkTXVsKHRoaXMuY3VydmUuZW5kby5iZXRhKSx0aGlzLnkpO2lmKHByZSl7dmFyIGN1cnZlPXRoaXMuY3VydmU7dmFyIGVuZG9NdWw9ZnVuY3Rpb24ocCl7cmV0dXJuIGN1cnZlLnBvaW50KHAueC5yZWRNdWwoY3VydmUuZW5kby5iZXRhKSxwLnkpfTtwcmUuYmV0YT1iZXRhO2JldGEucHJlY29tcHV0ZWQ9e2JldGE6bnVsbCxuYWY6cHJlLm5hZiYme3duZDpwcmUubmFmLnduZCxwb2ludHM6cHJlLm5hZi5wb2ludHMubWFwKGVuZG9NdWwpfSxkb3VibGVzOnByZS5kb3VibGVzJiZ7c3RlcDpwcmUuZG91Ymxlcy5zdGVwLHBvaW50czpwcmUuZG91Ymxlcy5wb2ludHMubWFwKGVuZG9NdWwpfX19cmV0dXJuIGJldGF9O1BvaW50LnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24gdG9KU09OKCl7aWYoIXRoaXMucHJlY29tcHV0ZWQpcmV0dXJuW3RoaXMueCx0aGlzLnldO3JldHVyblt0aGlzLngsdGhpcy55LHRoaXMucHJlY29tcHV0ZWQmJntkb3VibGVzOnRoaXMucHJlY29tcHV0ZWQuZG91YmxlcyYme3N0ZXA6dGhpcy5wcmVjb21wdXRlZC5kb3VibGVzLnN0ZXAscG9pbnRzOnRoaXMucHJlY29tcHV0ZWQuZG91Ymxlcy5wb2ludHMuc2xpY2UoMSl9LG5hZjp0aGlzLnByZWNvbXB1dGVkLm5hZiYme3duZDp0aGlzLnByZWNvbXB1dGVkLm5hZi53bmQscG9pbnRzOnRoaXMucHJlY29tcHV0ZWQubmFmLnBvaW50cy5zbGljZSgxKX19XX07UG9pbnQuZnJvbUpTT049ZnVuY3Rpb24gZnJvbUpTT04oY3VydmUsb2JqLHJlZCl7aWYodHlwZW9mIG9iaj09PSJzdHJpbmciKW9iaj1KU09OLnBhcnNlKG9iaik7dmFyIHJlcz1jdXJ2ZS5wb2ludChvYmpbMF0sb2JqWzFdLHJlZCk7aWYoIW9ialsyXSlyZXR1cm4gcmVzO2Z1bmN0aW9uIG9iajJwb2ludChvYmope3JldHVybiBjdXJ2ZS5wb2ludChvYmpbMF0sb2JqWzFdLHJlZCl9dmFyIHByZT1vYmpbMl07cmVzLnByZWNvbXB1dGVkPXtiZXRhOm51bGwsZG91YmxlczpwcmUuZG91YmxlcyYme3N0ZXA6cHJlLmRvdWJsZXMuc3RlcCxwb2ludHM6W3Jlc10uY29uY2F0KHByZS5kb3VibGVzLnBvaW50cy5tYXAob2JqMnBvaW50KSl9LG5hZjpwcmUubmFmJiZ7d25kOnByZS5uYWYud25kLHBvaW50czpbcmVzXS5jb25jYXQocHJlLm5hZi5wb2ludHMubWFwKG9iajJwb2ludCkpfX07cmV0dXJuIHJlc307UG9pbnQucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24gaW5zcGVjdCgpe2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiI8RUMgUG9pbnQgSW5maW5pdHk+IjtyZXR1cm4iPEVDIFBvaW50IHg6ICIrdGhpcy54LmZyb21SZWQoKS50b1N0cmluZygxNiwyKSsiIHk6ICIrdGhpcy55LmZyb21SZWQoKS50b1N0cmluZygxNiwyKSsiPiJ9O1BvaW50LnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uIGlzSW5maW5pdHkoKXtyZXR1cm4gdGhpcy5pbmZ9O1BvaW50LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24gYWRkKHApe2lmKHRoaXMuaW5mKXJldHVybiBwO2lmKHAuaW5mKXJldHVybiB0aGlzO2lmKHRoaXMuZXEocCkpcmV0dXJuIHRoaXMuZGJsKCk7aWYodGhpcy5uZWcoKS5lcShwKSlyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpO2lmKHRoaXMueC5jbXAocC54KT09PTApcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCxudWxsKTt2YXIgYz10aGlzLnkucmVkU3ViKHAueSk7aWYoYy5jbXBuKDApIT09MCljPWMucmVkTXVsKHRoaXMueC5yZWRTdWIocC54KS5yZWRJbnZtKCkpO3ZhciBueD1jLnJlZFNxcigpLnJlZElTdWIodGhpcy54KS5yZWRJU3ViKHAueCk7dmFyIG55PWMucmVkTXVsKHRoaXMueC5yZWRTdWIobngpKS5yZWRJU3ViKHRoaXMueSk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQobngsbnkpfTtQb2ludC5wcm90b3R5cGUuZGJsPWZ1bmN0aW9uIGRibCgpe2lmKHRoaXMuaW5mKXJldHVybiB0aGlzO3ZhciB5czE9dGhpcy55LnJlZEFkZCh0aGlzLnkpO2lmKHlzMS5jbXBuKDApPT09MClyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpO3ZhciBhPXRoaXMuY3VydmUuYTt2YXIgeDI9dGhpcy54LnJlZFNxcigpO3ZhciBkeWludj15czEucmVkSW52bSgpO3ZhciBjPXgyLnJlZEFkZCh4MikucmVkSUFkZCh4MikucmVkSUFkZChhKS5yZWRNdWwoZHlpbnYpO3ZhciBueD1jLnJlZFNxcigpLnJlZElTdWIodGhpcy54LnJlZEFkZCh0aGlzLngpKTt2YXIgbnk9Yy5yZWRNdWwodGhpcy54LnJlZFN1YihueCkpLnJlZElTdWIodGhpcy55KTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCxueSl9O1BvaW50LnByb3RvdHlwZS5nZXRYPWZ1bmN0aW9uIGdldFgoKXtyZXR1cm4gdGhpcy54LmZyb21SZWQoKX07UG9pbnQucHJvdG90eXBlLmdldFk9ZnVuY3Rpb24gZ2V0WSgpe3JldHVybiB0aGlzLnkuZnJvbVJlZCgpfTtQb2ludC5wcm90b3R5cGUubXVsPWZ1bmN0aW9uIG11bChrKXtrPW5ldyBibiQxKGssMTYpO2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzO2Vsc2UgaWYodGhpcy5faGFzRG91YmxlcyhrKSlyZXR1cm4gdGhpcy5jdXJ2ZS5fZml4ZWROYWZNdWwodGhpcyxrKTtlbHNlIGlmKHRoaXMuY3VydmUuZW5kbylyZXR1cm4gdGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQoW3RoaXNdLFtrXSk7ZWxzZSByZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLGspfTtQb2ludC5wcm90b3R5cGUubXVsQWRkPWZ1bmN0aW9uIG11bEFkZChrMSxwMixrMil7dmFyIHBvaW50cz1bdGhpcyxwMl07dmFyIGNvZWZmcz1bazEsazJdO2lmKHRoaXMuY3VydmUuZW5kbylyZXR1cm4gdGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQocG9pbnRzLGNvZWZmcyk7ZWxzZSByZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLHBvaW50cyxjb2VmZnMsMil9O1BvaW50LnByb3RvdHlwZS5qbXVsQWRkPWZ1bmN0aW9uIGptdWxBZGQoazEscDIsazIpe3ZhciBwb2ludHM9W3RoaXMscDJdO3ZhciBjb2VmZnM9W2sxLGsyXTtpZih0aGlzLmN1cnZlLmVuZG8pcmV0dXJuIHRoaXMuY3VydmUuX2VuZG9XbmFmTXVsQWRkKHBvaW50cyxjb2VmZnMsdHJ1ZSk7ZWxzZSByZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLHBvaW50cyxjb2VmZnMsMix0cnVlKX07UG9pbnQucHJvdG90eXBlLmVxPWZ1bmN0aW9uIGVxKHApe3JldHVybiB0aGlzPT09cHx8dGhpcy5pbmY9PT1wLmluZiYmKHRoaXMuaW5mfHx0aGlzLnguY21wKHAueCk9PT0wJiZ0aGlzLnkuY21wKHAueSk9PT0wKX07UG9pbnQucHJvdG90eXBlLm5lZz1mdW5jdGlvbiBuZWcoX3ByZWNvbXB1dGUpe2lmKHRoaXMuaW5mKXJldHVybiB0aGlzO3ZhciByZXM9dGhpcy5jdXJ2ZS5wb2ludCh0aGlzLngsdGhpcy55LnJlZE5lZygpKTtpZihfcHJlY29tcHV0ZSYmdGhpcy5wcmVjb21wdXRlZCl7dmFyIHByZT10aGlzLnByZWNvbXB1dGVkO3ZhciBuZWdhdGU9ZnVuY3Rpb24ocCl7cmV0dXJuIHAubmVnKCl9O3Jlcy5wcmVjb21wdXRlZD17bmFmOnByZS5uYWYmJnt3bmQ6cHJlLm5hZi53bmQscG9pbnRzOnByZS5uYWYucG9pbnRzLm1hcChuZWdhdGUpfSxkb3VibGVzOnByZS5kb3VibGVzJiZ7c3RlcDpwcmUuZG91Ymxlcy5zdGVwLHBvaW50czpwcmUuZG91Ymxlcy5wb2ludHMubWFwKG5lZ2F0ZSl9fX1yZXR1cm4gcmVzfTtQb2ludC5wcm90b3R5cGUudG9KPWZ1bmN0aW9uIHRvSigpe2lmKHRoaXMuaW5mKXJldHVybiB0aGlzLmN1cnZlLmpwb2ludChudWxsLG51bGwsbnVsbCk7dmFyIHJlcz10aGlzLmN1cnZlLmpwb2ludCh0aGlzLngsdGhpcy55LHRoaXMuY3VydmUub25lKTtyZXR1cm4gcmVzfTtmdW5jdGlvbiBKUG9pbnQoY3VydmUseCx5LHope2Jhc2UuQmFzZVBvaW50LmNhbGwodGhpcyxjdXJ2ZSwiamFjb2JpYW4iKTtpZih4PT09bnVsbCYmeT09PW51bGwmJno9PT1udWxsKXt0aGlzLng9dGhpcy5jdXJ2ZS5vbmU7dGhpcy55PXRoaXMuY3VydmUub25lO3RoaXMuej1uZXcgYm4kMSgwKX1lbHNle3RoaXMueD1uZXcgYm4kMSh4LDE2KTt0aGlzLnk9bmV3IGJuJDEoeSwxNik7dGhpcy56PW5ldyBibiQxKHosMTYpfWlmKCF0aGlzLngucmVkKXRoaXMueD10aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO2lmKCF0aGlzLnkucmVkKXRoaXMueT10aGlzLnkudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO2lmKCF0aGlzLnoucmVkKXRoaXMuej10aGlzLnoudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO3RoaXMuek9uZT10aGlzLno9PT10aGlzLmN1cnZlLm9uZX1pbmhlcml0c19icm93c2VyKEpQb2ludCxiYXNlLkJhc2VQb2ludCk7U2hvcnRDdXJ2ZS5wcm90b3R5cGUuanBvaW50PWZ1bmN0aW9uIGpwb2ludCh4LHkseil7cmV0dXJuIG5ldyBKUG9pbnQodGhpcyx4LHkseil9O0pQb2ludC5wcm90b3R5cGUudG9QPWZ1bmN0aW9uIHRvUCgpe2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCk7dmFyIHppbnY9dGhpcy56LnJlZEludm0oKTt2YXIgemludjI9emludi5yZWRTcXIoKTt2YXIgYXg9dGhpcy54LnJlZE11bCh6aW52Mik7dmFyIGF5PXRoaXMueS5yZWRNdWwoemludjIpLnJlZE11bCh6aW52KTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChheCxheSl9O0pQb2ludC5wcm90b3R5cGUubmVnPWZ1bmN0aW9uIG5lZygpe3JldHVybiB0aGlzLmN1cnZlLmpwb2ludCh0aGlzLngsdGhpcy55LnJlZE5lZygpLHRoaXMueil9O0pQb2ludC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uIGFkZChwKXtpZih0aGlzLmlzSW5maW5pdHkoKSlyZXR1cm4gcDtpZihwLmlzSW5maW5pdHkoKSlyZXR1cm4gdGhpczt2YXIgcHoyPXAuei5yZWRTcXIoKTt2YXIgejI9dGhpcy56LnJlZFNxcigpO3ZhciB1MT10aGlzLngucmVkTXVsKHB6Mik7dmFyIHUyPXAueC5yZWRNdWwoejIpO3ZhciBzMT10aGlzLnkucmVkTXVsKHB6Mi5yZWRNdWwocC56KSk7dmFyIHMyPXAueS5yZWRNdWwoejIucmVkTXVsKHRoaXMueikpO3ZhciBoPXUxLnJlZFN1Yih1Mik7dmFyIHI9czEucmVkU3ViKHMyKTtpZihoLmNtcG4oMCk9PT0wKXtpZihyLmNtcG4oMCkhPT0wKXJldHVybiB0aGlzLmN1cnZlLmpwb2ludChudWxsLG51bGwsbnVsbCk7ZWxzZSByZXR1cm4gdGhpcy5kYmwoKX12YXIgaDI9aC5yZWRTcXIoKTt2YXIgaDM9aDIucmVkTXVsKGgpO3ZhciB2PXUxLnJlZE11bChoMik7dmFyIG54PXIucmVkU3FyKCkucmVkSUFkZChoMykucmVkSVN1Yih2KS5yZWRJU3ViKHYpO3ZhciBueT1yLnJlZE11bCh2LnJlZElTdWIobngpKS5yZWRJU3ViKHMxLnJlZE11bChoMykpO3ZhciBuej10aGlzLnoucmVkTXVsKHAueikucmVkTXVsKGgpO3JldHVybiB0aGlzLmN1cnZlLmpwb2ludChueCxueSxueil9O0pQb2ludC5wcm90b3R5cGUubWl4ZWRBZGQ9ZnVuY3Rpb24gbWl4ZWRBZGQocCl7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIHAudG9KKCk7aWYocC5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXM7dmFyIHoyPXRoaXMuei5yZWRTcXIoKTt2YXIgdTE9dGhpcy54O3ZhciB1Mj1wLngucmVkTXVsKHoyKTt2YXIgczE9dGhpcy55O3ZhciBzMj1wLnkucmVkTXVsKHoyKS5yZWRNdWwodGhpcy56KTt2YXIgaD11MS5yZWRTdWIodTIpO3ZhciByPXMxLnJlZFN1YihzMik7aWYoaC5jbXBuKDApPT09MCl7aWYoci5jbXBuKDApIT09MClyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobnVsbCxudWxsLG51bGwpO2Vsc2UgcmV0dXJuIHRoaXMuZGJsKCl9dmFyIGgyPWgucmVkU3FyKCk7dmFyIGgzPWgyLnJlZE11bChoKTt2YXIgdj11MS5yZWRNdWwoaDIpO3ZhciBueD1yLnJlZFNxcigpLnJlZElBZGQoaDMpLnJlZElTdWIodikucmVkSVN1Yih2KTt2YXIgbnk9ci5yZWRNdWwodi5yZWRJU3ViKG54KSkucmVkSVN1YihzMS5yZWRNdWwoaDMpKTt2YXIgbno9dGhpcy56LnJlZE11bChoKTtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobngsbnksbnopfTtKUG9pbnQucHJvdG90eXBlLmRibHA9ZnVuY3Rpb24gZGJscChwb3cpe2lmKHBvdz09PTApcmV0dXJuIHRoaXM7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXM7aWYoIXBvdylyZXR1cm4gdGhpcy5kYmwoKTt2YXIgaTtpZih0aGlzLmN1cnZlLnplcm9BfHx0aGlzLmN1cnZlLnRocmVlQSl7dmFyIHI9dGhpcztmb3IoaT0wO2k8cG93O2krKylyPXIuZGJsKCk7cmV0dXJuIHJ9dmFyIGE9dGhpcy5jdXJ2ZS5hO3ZhciB0aW52PXRoaXMuY3VydmUudGludjt2YXIgang9dGhpcy54O3ZhciBqeT10aGlzLnk7dmFyIGp6PXRoaXMuejt2YXIgano0PWp6LnJlZFNxcigpLnJlZFNxcigpO3ZhciBqeWQ9ankucmVkQWRkKGp5KTtmb3IoaT0wO2k8cG93O2krKyl7dmFyIGp4Mj1qeC5yZWRTcXIoKTt2YXIganlkMj1qeWQucmVkU3FyKCk7dmFyIGp5ZDQ9anlkMi5yZWRTcXIoKTt2YXIgYz1qeDIucmVkQWRkKGp4MikucmVkSUFkZChqeDIpLnJlZElBZGQoYS5yZWRNdWwoano0KSk7dmFyIHQxPWp4LnJlZE11bChqeWQyKTt2YXIgbng9Yy5yZWRTcXIoKS5yZWRJU3ViKHQxLnJlZEFkZCh0MSkpO3ZhciB0Mj10MS5yZWRJU3ViKG54KTt2YXIgZG55PWMucmVkTXVsKHQyKTtkbnk9ZG55LnJlZElBZGQoZG55KS5yZWRJU3ViKGp5ZDQpO3ZhciBuej1qeWQucmVkTXVsKGp6KTtpZihpKzE8cG93KWp6ND1qejQucmVkTXVsKGp5ZDQpO2p4PW54O2p6PW56O2p5ZD1kbnl9cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KGp4LGp5ZC5yZWRNdWwodGludiksanopfTtKUG9pbnQucHJvdG90eXBlLmRibD1mdW5jdGlvbiBkYmwoKXtpZih0aGlzLmlzSW5maW5pdHkoKSlyZXR1cm4gdGhpcztpZih0aGlzLmN1cnZlLnplcm9BKXJldHVybiB0aGlzLl96ZXJvRGJsKCk7ZWxzZSBpZih0aGlzLmN1cnZlLnRocmVlQSlyZXR1cm4gdGhpcy5fdGhyZWVEYmwoKTtlbHNlIHJldHVybiB0aGlzLl9kYmwoKX07SlBvaW50LnByb3RvdHlwZS5femVyb0RibD1mdW5jdGlvbiBfemVyb0RibCgpe3ZhciBueDt2YXIgbnk7dmFyIG56O2lmKHRoaXMuek9uZSl7dmFyIHh4PXRoaXMueC5yZWRTcXIoKTt2YXIgeXk9dGhpcy55LnJlZFNxcigpO3ZhciB5eXl5PXl5LnJlZFNxcigpO3ZhciBzPXRoaXMueC5yZWRBZGQoeXkpLnJlZFNxcigpLnJlZElTdWIoeHgpLnJlZElTdWIoeXl5eSk7cz1zLnJlZElBZGQocyk7dmFyIG09eHgucmVkQWRkKHh4KS5yZWRJQWRkKHh4KTt2YXIgdD1tLnJlZFNxcigpLnJlZElTdWIocykucmVkSVN1YihzKTt2YXIgeXl5eTg9eXl5eS5yZWRJQWRkKHl5eXkpO3l5eXk4PXl5eXk4LnJlZElBZGQoeXl5eTgpO3l5eXk4PXl5eXk4LnJlZElBZGQoeXl5eTgpO254PXQ7bnk9bS5yZWRNdWwocy5yZWRJU3ViKHQpKS5yZWRJU3ViKHl5eXk4KTtuej10aGlzLnkucmVkQWRkKHRoaXMueSl9ZWxzZXt2YXIgYT10aGlzLngucmVkU3FyKCk7dmFyIGI9dGhpcy55LnJlZFNxcigpO3ZhciBjPWIucmVkU3FyKCk7dmFyIGQ9dGhpcy54LnJlZEFkZChiKS5yZWRTcXIoKS5yZWRJU3ViKGEpLnJlZElTdWIoYyk7ZD1kLnJlZElBZGQoZCk7dmFyIGU9YS5yZWRBZGQoYSkucmVkSUFkZChhKTt2YXIgZj1lLnJlZFNxcigpO3ZhciBjOD1jLnJlZElBZGQoYyk7Yzg9YzgucmVkSUFkZChjOCk7Yzg9YzgucmVkSUFkZChjOCk7bng9Zi5yZWRJU3ViKGQpLnJlZElTdWIoZCk7bnk9ZS5yZWRNdWwoZC5yZWRJU3ViKG54KSkucmVkSVN1YihjOCk7bno9dGhpcy55LnJlZE11bCh0aGlzLnopO256PW56LnJlZElBZGQobnopfXJldHVybiB0aGlzLmN1cnZlLmpwb2ludChueCxueSxueil9O0pQb2ludC5wcm90b3R5cGUuX3RocmVlRGJsPWZ1bmN0aW9uIF90aHJlZURibCgpe3ZhciBueDt2YXIgbnk7dmFyIG56O2lmKHRoaXMuek9uZSl7dmFyIHh4PXRoaXMueC5yZWRTcXIoKTt2YXIgeXk9dGhpcy55LnJlZFNxcigpO3ZhciB5eXl5PXl5LnJlZFNxcigpO3ZhciBzPXRoaXMueC5yZWRBZGQoeXkpLnJlZFNxcigpLnJlZElTdWIoeHgpLnJlZElTdWIoeXl5eSk7cz1zLnJlZElBZGQocyk7dmFyIG09eHgucmVkQWRkKHh4KS5yZWRJQWRkKHh4KS5yZWRJQWRkKHRoaXMuY3VydmUuYSk7dmFyIHQ9bS5yZWRTcXIoKS5yZWRJU3ViKHMpLnJlZElTdWIocyk7bng9dDt2YXIgeXl5eTg9eXl5eS5yZWRJQWRkKHl5eXkpO3l5eXk4PXl5eXk4LnJlZElBZGQoeXl5eTgpO3l5eXk4PXl5eXk4LnJlZElBZGQoeXl5eTgpO255PW0ucmVkTXVsKHMucmVkSVN1Yih0KSkucmVkSVN1Yih5eXl5OCk7bno9dGhpcy55LnJlZEFkZCh0aGlzLnkpfWVsc2V7dmFyIGRlbHRhPXRoaXMuei5yZWRTcXIoKTt2YXIgZ2FtbWE9dGhpcy55LnJlZFNxcigpO3ZhciBiZXRhPXRoaXMueC5yZWRNdWwoZ2FtbWEpO3ZhciBhbHBoYT10aGlzLngucmVkU3ViKGRlbHRhKS5yZWRNdWwodGhpcy54LnJlZEFkZChkZWx0YSkpO2FscGhhPWFscGhhLnJlZEFkZChhbHBoYSkucmVkSUFkZChhbHBoYSk7dmFyIGJldGE0PWJldGEucmVkSUFkZChiZXRhKTtiZXRhND1iZXRhNC5yZWRJQWRkKGJldGE0KTt2YXIgYmV0YTg9YmV0YTQucmVkQWRkKGJldGE0KTtueD1hbHBoYS5yZWRTcXIoKS5yZWRJU3ViKGJldGE4KTtuej10aGlzLnkucmVkQWRkKHRoaXMueikucmVkU3FyKCkucmVkSVN1YihnYW1tYSkucmVkSVN1YihkZWx0YSk7dmFyIGdnYW1tYTg9Z2FtbWEucmVkU3FyKCk7Z2dhbW1hOD1nZ2FtbWE4LnJlZElBZGQoZ2dhbW1hOCk7Z2dhbW1hOD1nZ2FtbWE4LnJlZElBZGQoZ2dhbW1hOCk7Z2dhbW1hOD1nZ2FtbWE4LnJlZElBZGQoZ2dhbW1hOCk7bnk9YWxwaGEucmVkTXVsKGJldGE0LnJlZElTdWIobngpKS5yZWRJU3ViKGdnYW1tYTgpfXJldHVybiB0aGlzLmN1cnZlLmpwb2ludChueCxueSxueil9O0pQb2ludC5wcm90b3R5cGUuX2RibD1mdW5jdGlvbiBfZGJsKCl7dmFyIGE9dGhpcy5jdXJ2ZS5hO3ZhciBqeD10aGlzLng7dmFyIGp5PXRoaXMueTt2YXIgano9dGhpcy56O3ZhciBqejQ9anoucmVkU3FyKCkucmVkU3FyKCk7dmFyIGp4Mj1qeC5yZWRTcXIoKTt2YXIgankyPWp5LnJlZFNxcigpO3ZhciBjPWp4Mi5yZWRBZGQoangyKS5yZWRJQWRkKGp4MikucmVkSUFkZChhLnJlZE11bChqejQpKTt2YXIganhkND1qeC5yZWRBZGQoangpO2p4ZDQ9anhkNC5yZWRJQWRkKGp4ZDQpO3ZhciB0MT1qeGQ0LnJlZE11bChqeTIpO3ZhciBueD1jLnJlZFNxcigpLnJlZElTdWIodDEucmVkQWRkKHQxKSk7dmFyIHQyPXQxLnJlZElTdWIobngpO3ZhciBqeWQ4PWp5Mi5yZWRTcXIoKTtqeWQ4PWp5ZDgucmVkSUFkZChqeWQ4KTtqeWQ4PWp5ZDgucmVkSUFkZChqeWQ4KTtqeWQ4PWp5ZDgucmVkSUFkZChqeWQ4KTt2YXIgbnk9Yy5yZWRNdWwodDIpLnJlZElTdWIoanlkOCk7dmFyIG56PWp5LnJlZEFkZChqeSkucmVkTXVsKGp6KTtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobngsbnksbnopfTtKUG9pbnQucHJvdG90eXBlLnRycGw9ZnVuY3Rpb24gdHJwbCgpe2lmKCF0aGlzLmN1cnZlLnplcm9BKXJldHVybiB0aGlzLmRibCgpLmFkZCh0aGlzKTt2YXIgeHg9dGhpcy54LnJlZFNxcigpO3ZhciB5eT10aGlzLnkucmVkU3FyKCk7dmFyIHp6PXRoaXMuei5yZWRTcXIoKTt2YXIgeXl5eT15eS5yZWRTcXIoKTt2YXIgbT14eC5yZWRBZGQoeHgpLnJlZElBZGQoeHgpO3ZhciBtbT1tLnJlZFNxcigpO3ZhciBlPXRoaXMueC5yZWRBZGQoeXkpLnJlZFNxcigpLnJlZElTdWIoeHgpLnJlZElTdWIoeXl5eSk7ZT1lLnJlZElBZGQoZSk7ZT1lLnJlZEFkZChlKS5yZWRJQWRkKGUpO2U9ZS5yZWRJU3ViKG1tKTt2YXIgZWU9ZS5yZWRTcXIoKTt2YXIgdD15eXl5LnJlZElBZGQoeXl5eSk7dD10LnJlZElBZGQodCk7dD10LnJlZElBZGQodCk7dD10LnJlZElBZGQodCk7dmFyIHU9bS5yZWRJQWRkKGUpLnJlZFNxcigpLnJlZElTdWIobW0pLnJlZElTdWIoZWUpLnJlZElTdWIodCk7dmFyIHl5dTQ9eXkucmVkTXVsKHUpO3l5dTQ9eXl1NC5yZWRJQWRkKHl5dTQpO3l5dTQ9eXl1NC5yZWRJQWRkKHl5dTQpO3ZhciBueD10aGlzLngucmVkTXVsKGVlKS5yZWRJU3ViKHl5dTQpO254PW54LnJlZElBZGQobngpO254PW54LnJlZElBZGQobngpO3ZhciBueT10aGlzLnkucmVkTXVsKHUucmVkTXVsKHQucmVkSVN1Yih1KSkucmVkSVN1YihlLnJlZE11bChlZSkpKTtueT1ueS5yZWRJQWRkKG55KTtueT1ueS5yZWRJQWRkKG55KTtueT1ueS5yZWRJQWRkKG55KTt2YXIgbno9dGhpcy56LnJlZEFkZChlKS5yZWRTcXIoKS5yZWRJU3ViKHp6KS5yZWRJU3ViKGVlKTtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobngsbnksbnopfTtKUG9pbnQucHJvdG90eXBlLm11bD1mdW5jdGlvbiBtdWwoayxrYmFzZSl7az1uZXcgYm4kMShrLGtiYXNlKTtyZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLGspfTtKUG9pbnQucHJvdG90eXBlLmVxPWZ1bmN0aW9uIGVxKHApe2lmKHAudHlwZT09PSJhZmZpbmUiKXJldHVybiB0aGlzLmVxKHAudG9KKCkpO2lmKHRoaXM9PT1wKXJldHVybiB0cnVlO3ZhciB6Mj10aGlzLnoucmVkU3FyKCk7dmFyIHB6Mj1wLnoucmVkU3FyKCk7aWYodGhpcy54LnJlZE11bChwejIpLnJlZElTdWIocC54LnJlZE11bCh6MikpLmNtcG4oMCkhPT0wKXJldHVybiBmYWxzZTt2YXIgejM9ejIucmVkTXVsKHRoaXMueik7dmFyIHB6Mz1wejIucmVkTXVsKHAueik7cmV0dXJuIHRoaXMueS5yZWRNdWwocHozKS5yZWRJU3ViKHAueS5yZWRNdWwoejMpKS5jbXBuKDApPT09MH07SlBvaW50LnByb3RvdHlwZS5lcVhUb1A9ZnVuY3Rpb24gZXFYVG9QKHgpe3ZhciB6cz10aGlzLnoucmVkU3FyKCk7dmFyIHJ4PXgudG9SZWQodGhpcy5jdXJ2ZS5yZWQpLnJlZE11bCh6cyk7aWYodGhpcy54LmNtcChyeCk9PT0wKXJldHVybiB0cnVlO3ZhciB4Yz14LmNsb25lKCk7dmFyIHQ9dGhpcy5jdXJ2ZS5yZWROLnJlZE11bCh6cyk7Zm9yKDs7KXt4Yy5pYWRkKHRoaXMuY3VydmUubik7aWYoeGMuY21wKHRoaXMuY3VydmUucCk+PTApcmV0dXJuIGZhbHNlO3J4LnJlZElBZGQodCk7aWYodGhpcy54LmNtcChyeCk9PT0wKXJldHVybiB0cnVlfX07SlBvaW50LnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uIGluc3BlY3QoKXtpZih0aGlzLmlzSW5maW5pdHkoKSlyZXR1cm4iPEVDIEpQb2ludCBJbmZpbml0eT4iO3JldHVybiI8RUMgSlBvaW50IHg6ICIrdGhpcy54LnRvU3RyaW5nKDE2LDIpKyIgeTogIit0aGlzLnkudG9TdHJpbmcoMTYsMikrIiB6OiAiK3RoaXMuei50b1N0cmluZygxNiwyKSsiPiJ9O0pQb2ludC5wcm90b3R5cGUuaXNJbmZpbml0eT1mdW5jdGlvbiBpc0luZmluaXR5KCl7cmV0dXJuIHRoaXMuei5jbXBuKDApPT09MH07dmFyIGN1cnZlXzE9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgY3VydmU9ZXhwb3J0cztjdXJ2ZS5iYXNlPWJhc2U7Y3VydmUuc2hvcnQ9c2hvcnRfMTtjdXJ2ZS5tb250PW51bGw7Y3VydmUuZWR3YXJkcz1udWxsfSk7InVzZSBzdHJpY3QiO3ZhciBpbmhlcml0c18xPWluaGVyaXRzX2Jyb3dzZXI7ZnVuY3Rpb24gaXNTdXJyb2dhdGVQYWlyKG1zZyxpKXtpZigobXNnLmNoYXJDb2RlQXQoaSkmNjQ1MTIpIT09NTUyOTYpe3JldHVybiBmYWxzZX1pZihpPDB8fGkrMT49bXNnLmxlbmd0aCl7cmV0dXJuIGZhbHNlfXJldHVybihtc2cuY2hhckNvZGVBdChpKzEpJjY0NTEyKT09PTU2MzIwfWZ1bmN0aW9uIHRvQXJyYXkobXNnLGVuYyl7aWYoQXJyYXkuaXNBcnJheShtc2cpKXJldHVybiBtc2cuc2xpY2UoKTtpZighbXNnKXJldHVybltdO3ZhciByZXM9W107aWYodHlwZW9mIG1zZz09PSJzdHJpbmciKXtpZighZW5jKXt2YXIgcD0wO2Zvcih2YXIgaT0wO2k8bXNnLmxlbmd0aDtpKyspe3ZhciBjPW1zZy5jaGFyQ29kZUF0KGkpO2lmKGM8MTI4KXtyZXNbcCsrXT1jfWVsc2UgaWYoYzwyMDQ4KXtyZXNbcCsrXT1jPj42fDE5MjtyZXNbcCsrXT1jJjYzfDEyOH1lbHNlIGlmKGlzU3Vycm9nYXRlUGFpcihtc2csaSkpe2M9NjU1MzYrKChjJjEwMjMpPDwxMCkrKG1zZy5jaGFyQ29kZUF0KCsraSkmMTAyMyk7cmVzW3ArK109Yz4+MTh8MjQwO3Jlc1twKytdPWM+PjEyJjYzfDEyODtyZXNbcCsrXT1jPj42JjYzfDEyODtyZXNbcCsrXT1jJjYzfDEyOH1lbHNle3Jlc1twKytdPWM+PjEyfDIyNDtyZXNbcCsrXT1jPj42JjYzfDEyODtyZXNbcCsrXT1jJjYzfDEyOH19fWVsc2UgaWYoZW5jPT09ImhleCIpe21zZz1tc2cucmVwbGFjZSgvW15hLXowLTldKy9naSwiIik7aWYobXNnLmxlbmd0aCUyIT09MCltc2c9IjAiK21zZztmb3IoaT0wO2k8bXNnLmxlbmd0aDtpKz0yKXJlcy5wdXNoKHBhcnNlSW50KG1zZ1tpXSttc2dbaSsxXSwxNikpfX1lbHNle2ZvcihpPTA7aTxtc2cubGVuZ3RoO2krKylyZXNbaV09bXNnW2ldfDB9cmV0dXJuIHJlc312YXIgdG9BcnJheV8xPXRvQXJyYXk7ZnVuY3Rpb24gdG9IZXgobXNnKXt2YXIgcmVzPSIiO2Zvcih2YXIgaT0wO2k8bXNnLmxlbmd0aDtpKyspcmVzKz16ZXJvMihtc2dbaV0udG9TdHJpbmcoMTYpKTtyZXR1cm4gcmVzfXZhciB0b0hleF8xPXRvSGV4O2Z1bmN0aW9uIGh0b25sKHcpe3ZhciByZXM9dz4+PjI0fHc+Pj44JjY1MjgwfHc8PDgmMTY3MTE2ODB8KHcmMjU1KTw8MjQ7cmV0dXJuIHJlcz4+PjB9dmFyIGh0b25sXzE9aHRvbmw7ZnVuY3Rpb24gdG9IZXgzMihtc2csZW5kaWFuKXt2YXIgcmVzPSIiO2Zvcih2YXIgaT0wO2k8bXNnLmxlbmd0aDtpKyspe3ZhciB3PW1zZ1tpXTtpZihlbmRpYW49PT0ibGl0dGxlIil3PWh0b25sKHcpO3Jlcys9emVybzgody50b1N0cmluZygxNikpfXJldHVybiByZXN9dmFyIHRvSGV4MzJfMT10b0hleDMyO2Z1bmN0aW9uIHplcm8yKHdvcmQpe2lmKHdvcmQubGVuZ3RoPT09MSlyZXR1cm4iMCIrd29yZDtlbHNlIHJldHVybiB3b3JkfXZhciB6ZXJvMl8xPXplcm8yO2Z1bmN0aW9uIHplcm84KHdvcmQpe2lmKHdvcmQubGVuZ3RoPT09NylyZXR1cm4iMCIrd29yZDtlbHNlIGlmKHdvcmQubGVuZ3RoPT09NilyZXR1cm4iMDAiK3dvcmQ7ZWxzZSBpZih3b3JkLmxlbmd0aD09PTUpcmV0dXJuIjAwMCIrd29yZDtlbHNlIGlmKHdvcmQubGVuZ3RoPT09NClyZXR1cm4iMDAwMCIrd29yZDtlbHNlIGlmKHdvcmQubGVuZ3RoPT09MylyZXR1cm4iMDAwMDAiK3dvcmQ7ZWxzZSBpZih3b3JkLmxlbmd0aD09PTIpcmV0dXJuIjAwMDAwMCIrd29yZDtlbHNlIGlmKHdvcmQubGVuZ3RoPT09MSlyZXR1cm4iMDAwMDAwMCIrd29yZDtlbHNlIHJldHVybiB3b3JkfXZhciB6ZXJvOF8xPXplcm84O2Z1bmN0aW9uIGpvaW4zMihtc2csc3RhcnQsZW5kLGVuZGlhbil7dmFyIGxlbj1lbmQtc3RhcnQ7bWluaW1hbGlzdGljQXNzZXJ0KGxlbiU0PT09MCk7dmFyIHJlcz1uZXcgQXJyYXkobGVuLzQpO2Zvcih2YXIgaT0wLGs9c3RhcnQ7aTxyZXMubGVuZ3RoO2krKyxrKz00KXt2YXIgdztpZihlbmRpYW49PT0iYmlnIil3PW1zZ1trXTw8MjR8bXNnW2srMV08PDE2fG1zZ1trKzJdPDw4fG1zZ1trKzNdO2Vsc2Ugdz1tc2dbayszXTw8MjR8bXNnW2srMl08PDE2fG1zZ1trKzFdPDw4fG1zZ1trXTtyZXNbaV09dz4+PjB9cmV0dXJuIHJlc312YXIgam9pbjMyXzE9am9pbjMyO2Z1bmN0aW9uIHNwbGl0MzIobXNnLGVuZGlhbil7dmFyIHJlcz1uZXcgQXJyYXkobXNnLmxlbmd0aCo0KTtmb3IodmFyIGk9MCxrPTA7aTxtc2cubGVuZ3RoO2krKyxrKz00KXt2YXIgbT1tc2dbaV07aWYoZW5kaWFuPT09ImJpZyIpe3Jlc1trXT1tPj4+MjQ7cmVzW2srMV09bT4+PjE2JjI1NTtyZXNbaysyXT1tPj4+OCYyNTU7cmVzW2srM109bSYyNTV9ZWxzZXtyZXNbayszXT1tPj4+MjQ7cmVzW2srMl09bT4+PjE2JjI1NTtyZXNbaysxXT1tPj4+OCYyNTU7cmVzW2tdPW0mMjU1fX1yZXR1cm4gcmVzfXZhciBzcGxpdDMyXzE9c3BsaXQzMjtmdW5jdGlvbiByb3RyMzIodyxiKXtyZXR1cm4gdz4+PmJ8dzw8MzItYn12YXIgcm90cjMyXzE9cm90cjMyO2Z1bmN0aW9uIHJvdGwzMih3LGIpe3JldHVybiB3PDxifHc+Pj4zMi1ifXZhciByb3RsMzJfMT1yb3RsMzI7ZnVuY3Rpb24gc3VtMzIoYSxiKXtyZXR1cm4gYStiPj4+MH12YXIgc3VtMzJfMT1zdW0zMjtmdW5jdGlvbiBzdW0zMl8zKGEsYixjKXtyZXR1cm4gYStiK2M+Pj4wfXZhciBzdW0zMl8zXzE9c3VtMzJfMztmdW5jdGlvbiBzdW0zMl80KGEsYixjLGQpe3JldHVybiBhK2IrYytkPj4+MH12YXIgc3VtMzJfNF8xPXN1bTMyXzQ7ZnVuY3Rpb24gc3VtMzJfNShhLGIsYyxkLGUpe3JldHVybiBhK2IrYytkK2U+Pj4wfXZhciBzdW0zMl81XzE9c3VtMzJfNTtmdW5jdGlvbiBzdW02NChidWYscG9zLGFoLGFsKXt2YXIgYmg9YnVmW3Bvc107dmFyIGJsPWJ1Zltwb3MrMV07dmFyIGxvPWFsK2JsPj4+MDt2YXIgaGk9KGxvPGFsPzE6MCkrYWgrYmg7YnVmW3Bvc109aGk+Pj4wO2J1Zltwb3MrMV09bG99dmFyIHN1bTY0XzE9c3VtNjQ7ZnVuY3Rpb24gc3VtNjRfaGkoYWgsYWwsYmgsYmwpe3ZhciBsbz1hbCtibD4+PjA7dmFyIGhpPShsbzxhbD8xOjApK2FoK2JoO3JldHVybiBoaT4+PjB9dmFyIHN1bTY0X2hpXzE9c3VtNjRfaGk7ZnVuY3Rpb24gc3VtNjRfbG8oYWgsYWwsYmgsYmwpe3ZhciBsbz1hbCtibDtyZXR1cm4gbG8+Pj4wfXZhciBzdW02NF9sb18xPXN1bTY0X2xvO2Z1bmN0aW9uIHN1bTY0XzRfaGkoYWgsYWwsYmgsYmwsY2gsY2wsZGgsZGwpe3ZhciBjYXJyeT0wO3ZhciBsbz1hbDtsbz1sbytibD4+PjA7Y2FycnkrPWxvPGFsPzE6MDtsbz1sbytjbD4+PjA7Y2FycnkrPWxvPGNsPzE6MDtsbz1sbytkbD4+PjA7Y2FycnkrPWxvPGRsPzE6MDt2YXIgaGk9YWgrYmgrY2grZGgrY2Fycnk7cmV0dXJuIGhpPj4+MH12YXIgc3VtNjRfNF9oaV8xPXN1bTY0XzRfaGk7ZnVuY3Rpb24gc3VtNjRfNF9sbyhhaCxhbCxiaCxibCxjaCxjbCxkaCxkbCl7dmFyIGxvPWFsK2JsK2NsK2RsO3JldHVybiBsbz4+PjB9dmFyIHN1bTY0XzRfbG9fMT1zdW02NF80X2xvO2Z1bmN0aW9uIHN1bTY0XzVfaGkoYWgsYWwsYmgsYmwsY2gsY2wsZGgsZGwsZWgsZWwpe3ZhciBjYXJyeT0wO3ZhciBsbz1hbDtsbz1sbytibD4+PjA7Y2FycnkrPWxvPGFsPzE6MDtsbz1sbytjbD4+PjA7Y2FycnkrPWxvPGNsPzE6MDtsbz1sbytkbD4+PjA7Y2FycnkrPWxvPGRsPzE6MDtsbz1sbytlbD4+PjA7Y2FycnkrPWxvPGVsPzE6MDt2YXIgaGk9YWgrYmgrY2grZGgrZWgrY2Fycnk7cmV0dXJuIGhpPj4+MH12YXIgc3VtNjRfNV9oaV8xPXN1bTY0XzVfaGk7ZnVuY3Rpb24gc3VtNjRfNV9sbyhhaCxhbCxiaCxibCxjaCxjbCxkaCxkbCxlaCxlbCl7dmFyIGxvPWFsK2JsK2NsK2RsK2VsO3JldHVybiBsbz4+PjB9dmFyIHN1bTY0XzVfbG9fMT1zdW02NF81X2xvO2Z1bmN0aW9uIHJvdHI2NF9oaShhaCxhbCxudW0pe3ZhciByPWFsPDwzMi1udW18YWg+Pj5udW07cmV0dXJuIHI+Pj4wfXZhciByb3RyNjRfaGlfMT1yb3RyNjRfaGk7ZnVuY3Rpb24gcm90cjY0X2xvKGFoLGFsLG51bSl7dmFyIHI9YWg8PDMyLW51bXxhbD4+Pm51bTtyZXR1cm4gcj4+PjB9dmFyIHJvdHI2NF9sb18xPXJvdHI2NF9sbztmdW5jdGlvbiBzaHI2NF9oaShhaCxhbCxudW0pe3JldHVybiBhaD4+Pm51bX12YXIgc2hyNjRfaGlfMT1zaHI2NF9oaTtmdW5jdGlvbiBzaHI2NF9sbyhhaCxhbCxudW0pe3ZhciByPWFoPDwzMi1udW18YWw+Pj5udW07cmV0dXJuIHI+Pj4wfXZhciBzaHI2NF9sb18xPXNocjY0X2xvO3ZhciB1dGlscz17aW5oZXJpdHM6aW5oZXJpdHNfMSx0b0FycmF5OnRvQXJyYXlfMSx0b0hleDp0b0hleF8xLGh0b25sOmh0b25sXzEsdG9IZXgzMjp0b0hleDMyXzEsemVybzI6emVybzJfMSx6ZXJvODp6ZXJvOF8xLGpvaW4zMjpqb2luMzJfMSxzcGxpdDMyOnNwbGl0MzJfMSxyb3RyMzI6cm90cjMyXzEscm90bDMyOnJvdGwzMl8xLHN1bTMyOnN1bTMyXzEsc3VtMzJfMzpzdW0zMl8zXzEsc3VtMzJfNDpzdW0zMl80XzEsc3VtMzJfNTpzdW0zMl81XzEsc3VtNjQ6c3VtNjRfMSxzdW02NF9oaTpzdW02NF9oaV8xLHN1bTY0X2xvOnN1bTY0X2xvXzEsc3VtNjRfNF9oaTpzdW02NF80X2hpXzEsc3VtNjRfNF9sbzpzdW02NF80X2xvXzEsc3VtNjRfNV9oaTpzdW02NF81X2hpXzEsc3VtNjRfNV9sbzpzdW02NF81X2xvXzEscm90cjY0X2hpOnJvdHI2NF9oaV8xLHJvdHI2NF9sbzpyb3RyNjRfbG9fMSxzaHI2NF9oaTpzaHI2NF9oaV8xLHNocjY0X2xvOnNocjY0X2xvXzF9OyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBCbG9ja0hhc2goKXt0aGlzLnBlbmRpbmc9bnVsbDt0aGlzLnBlbmRpbmdUb3RhbD0wO3RoaXMuYmxvY2tTaXplPXRoaXMuY29uc3RydWN0b3IuYmxvY2tTaXplO3RoaXMub3V0U2l6ZT10aGlzLmNvbnN0cnVjdG9yLm91dFNpemU7dGhpcy5obWFjU3RyZW5ndGg9dGhpcy5jb25zdHJ1Y3Rvci5obWFjU3RyZW5ndGg7dGhpcy5wYWRMZW5ndGg9dGhpcy5jb25zdHJ1Y3Rvci5wYWRMZW5ndGgvODt0aGlzLmVuZGlhbj0iYmlnIjt0aGlzLl9kZWx0YTg9dGhpcy5ibG9ja1NpemUvODt0aGlzLl9kZWx0YTMyPXRoaXMuYmxvY2tTaXplLzMyfXZhciBCbG9ja0hhc2hfMT1CbG9ja0hhc2g7QmxvY2tIYXNoLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24gdXBkYXRlKG1zZyxlbmMpe21zZz11dGlscy50b0FycmF5KG1zZyxlbmMpO2lmKCF0aGlzLnBlbmRpbmcpdGhpcy5wZW5kaW5nPW1zZztlbHNlIHRoaXMucGVuZGluZz10aGlzLnBlbmRpbmcuY29uY2F0KG1zZyk7dGhpcy5wZW5kaW5nVG90YWwrPW1zZy5sZW5ndGg7aWYodGhpcy5wZW5kaW5nLmxlbmd0aD49dGhpcy5fZGVsdGE4KXttc2c9dGhpcy5wZW5kaW5nO3ZhciByPW1zZy5sZW5ndGgldGhpcy5fZGVsdGE4O3RoaXMucGVuZGluZz1tc2cuc2xpY2UobXNnLmxlbmd0aC1yLG1zZy5sZW5ndGgpO2lmKHRoaXMucGVuZGluZy5sZW5ndGg9PT0wKXRoaXMucGVuZGluZz1udWxsO21zZz11dGlscy5qb2luMzIobXNnLDAsbXNnLmxlbmd0aC1yLHRoaXMuZW5kaWFuKTtmb3IodmFyIGk9MDtpPG1zZy5sZW5ndGg7aSs9dGhpcy5fZGVsdGEzMil0aGlzLl91cGRhdGUobXNnLGksaSt0aGlzLl9kZWx0YTMyKX1yZXR1cm4gdGhpc307QmxvY2tIYXNoLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24gZGlnZXN0KGVuYyl7dGhpcy51cGRhdGUodGhpcy5fcGFkKCkpO21pbmltYWxpc3RpY0Fzc2VydCh0aGlzLnBlbmRpbmc9PT1udWxsKTtyZXR1cm4gdGhpcy5fZGlnZXN0KGVuYyl9O0Jsb2NrSGFzaC5wcm90b3R5cGUuX3BhZD1mdW5jdGlvbiBwYWQoKXt2YXIgbGVuPXRoaXMucGVuZGluZ1RvdGFsO3ZhciBieXRlcz10aGlzLl9kZWx0YTg7dmFyIGs9Ynl0ZXMtKGxlbit0aGlzLnBhZExlbmd0aCklYnl0ZXM7dmFyIHJlcz1uZXcgQXJyYXkoayt0aGlzLnBhZExlbmd0aCk7cmVzWzBdPTEyODtmb3IodmFyIGk9MTtpPGs7aSsrKXJlc1tpXT0wO2xlbjw8PTM7aWYodGhpcy5lbmRpYW49PT0iYmlnIil7Zm9yKHZhciB0PTg7dDx0aGlzLnBhZExlbmd0aDt0KyspcmVzW2krK109MDtyZXNbaSsrXT0wO3Jlc1tpKytdPTA7cmVzW2krK109MDtyZXNbaSsrXT0wO3Jlc1tpKytdPWxlbj4+PjI0JjI1NTtyZXNbaSsrXT1sZW4+Pj4xNiYyNTU7cmVzW2krK109bGVuPj4+OCYyNTU7cmVzW2krK109bGVuJjI1NX1lbHNle3Jlc1tpKytdPWxlbiYyNTU7cmVzW2krK109bGVuPj4+OCYyNTU7cmVzW2krK109bGVuPj4+MTYmMjU1O3Jlc1tpKytdPWxlbj4+PjI0JjI1NTtyZXNbaSsrXT0wO3Jlc1tpKytdPTA7cmVzW2krK109MDtyZXNbaSsrXT0wO2Zvcih0PTg7dDx0aGlzLnBhZExlbmd0aDt0KyspcmVzW2krK109MH1yZXR1cm4gcmVzfTt2YXIgY29tbW9uPXtCbG9ja0hhc2g6QmxvY2tIYXNoXzF9OyJ1c2Ugc3RyaWN0Ijt2YXIgcm90cjMyJDE9dXRpbHMucm90cjMyO2Z1bmN0aW9uIGZ0XzEocyx4LHkseil7aWYocz09PTApcmV0dXJuIGNoMzIoeCx5LHopO2lmKHM9PT0xfHxzPT09MylyZXR1cm4gcDMyKHgseSx6KTtpZihzPT09MilyZXR1cm4gbWFqMzIoeCx5LHopfXZhciBmdF8xXzE9ZnRfMTtmdW5jdGlvbiBjaDMyKHgseSx6KXtyZXR1cm4geCZ5Xn54Jnp9dmFyIGNoMzJfMT1jaDMyO2Z1bmN0aW9uIG1hajMyKHgseSx6KXtyZXR1cm4geCZ5Xngmel55Jnp9dmFyIG1hajMyXzE9bWFqMzI7ZnVuY3Rpb24gcDMyKHgseSx6KXtyZXR1cm4geF55Xnp9dmFyIHAzMl8xPXAzMjtmdW5jdGlvbiBzMF8yNTYoeCl7cmV0dXJuIHJvdHIzMiQxKHgsMilecm90cjMyJDEoeCwxMylecm90cjMyJDEoeCwyMil9dmFyIHMwXzI1Nl8xPXMwXzI1NjtmdW5jdGlvbiBzMV8yNTYoeCl7cmV0dXJuIHJvdHIzMiQxKHgsNilecm90cjMyJDEoeCwxMSlecm90cjMyJDEoeCwyNSl9dmFyIHMxXzI1Nl8xPXMxXzI1NjtmdW5jdGlvbiBnMF8yNTYoeCl7cmV0dXJuIHJvdHIzMiQxKHgsNylecm90cjMyJDEoeCwxOCleeD4+PjN9dmFyIGcwXzI1Nl8xPWcwXzI1NjtmdW5jdGlvbiBnMV8yNTYoeCl7cmV0dXJuIHJvdHIzMiQxKHgsMTcpXnJvdHIzMiQxKHgsMTkpXng+Pj4xMH12YXIgZzFfMjU2XzE9ZzFfMjU2O3ZhciBjb21tb24kMT17ZnRfMTpmdF8xXzEsY2gzMjpjaDMyXzEsbWFqMzI6bWFqMzJfMSxwMzI6cDMyXzEsczBfMjU2OnMwXzI1Nl8xLHMxXzI1NjpzMV8yNTZfMSxnMF8yNTY6ZzBfMjU2XzEsZzFfMjU2OmcxXzI1Nl8xfTsidXNlIHN0cmljdCI7dmFyIHJvdGwzMiQxPXV0aWxzLnJvdGwzMjt2YXIgc3VtMzIkMT11dGlscy5zdW0zMjt2YXIgc3VtMzJfNSQxPXV0aWxzLnN1bTMyXzU7dmFyIGZ0XzEkMT1jb21tb24kMS5mdF8xO3ZhciBCbG9ja0hhc2gkMT1jb21tb24uQmxvY2tIYXNoO3ZhciBzaGExX0s9WzE1MTg1MDAyNDksMTg1OTc3NTM5MywyNDAwOTU5NzA4LDMzOTU0Njk3ODJdO2Z1bmN0aW9uIFNIQTEoKXtpZighKHRoaXMgaW5zdGFuY2VvZiBTSEExKSlyZXR1cm4gbmV3IFNIQTE7QmxvY2tIYXNoJDEuY2FsbCh0aGlzKTt0aGlzLmg9WzE3MzI1ODQxOTMsNDAyMzIzMzQxNywyNTYyMzgzMTAyLDI3MTczMzg3OCwzMjg1Mzc3NTIwXTt0aGlzLlc9bmV3IEFycmF5KDgwKX11dGlscy5pbmhlcml0cyhTSEExLEJsb2NrSGFzaCQxKTt2YXIgXzE9U0hBMTtTSEExLmJsb2NrU2l6ZT01MTI7U0hBMS5vdXRTaXplPTE2MDtTSEExLmhtYWNTdHJlbmd0aD04MDtTSEExLnBhZExlbmd0aD02NDtTSEExLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uIF91cGRhdGUobXNnLHN0YXJ0KXt2YXIgVz10aGlzLlc7Zm9yKHZhciBpPTA7aTwxNjtpKyspV1tpXT1tc2dbc3RhcnQraV07Zm9yKDtpPFcubGVuZ3RoO2krKylXW2ldPXJvdGwzMiQxKFdbaS0zXV5XW2ktOF1eV1tpLTE0XV5XW2ktMTZdLDEpO3ZhciBhPXRoaXMuaFswXTt2YXIgYj10aGlzLmhbMV07dmFyIGM9dGhpcy5oWzJdO3ZhciBkPXRoaXMuaFszXTt2YXIgZT10aGlzLmhbNF07Zm9yKGk9MDtpPFcubGVuZ3RoO2krKyl7dmFyIHM9fn4oaS8yMCk7dmFyIHQ9c3VtMzJfNSQxKHJvdGwzMiQxKGEsNSksZnRfMSQxKHMsYixjLGQpLGUsV1tpXSxzaGExX0tbc10pO2U9ZDtkPWM7Yz1yb3RsMzIkMShiLDMwKTtiPWE7YT10fXRoaXMuaFswXT1zdW0zMiQxKHRoaXMuaFswXSxhKTt0aGlzLmhbMV09c3VtMzIkMSh0aGlzLmhbMV0sYik7dGhpcy5oWzJdPXN1bTMyJDEodGhpcy5oWzJdLGMpO3RoaXMuaFszXT1zdW0zMiQxKHRoaXMuaFszXSxkKTt0aGlzLmhbNF09c3VtMzIkMSh0aGlzLmhbNF0sZSl9O1NIQTEucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24gZGlnZXN0KGVuYyl7aWYoZW5jPT09ImhleCIpcmV0dXJuIHV0aWxzLnRvSGV4MzIodGhpcy5oLCJiaWciKTtlbHNlIHJldHVybiB1dGlscy5zcGxpdDMyKHRoaXMuaCwiYmlnIil9OyJ1c2Ugc3RyaWN0Ijt2YXIgc3VtMzIkMj11dGlscy5zdW0zMjt2YXIgc3VtMzJfNCQxPXV0aWxzLnN1bTMyXzQ7dmFyIHN1bTMyXzUkMj11dGlscy5zdW0zMl81O3ZhciBjaDMyJDE9Y29tbW9uJDEuY2gzMjt2YXIgbWFqMzIkMT1jb21tb24kMS5tYWozMjt2YXIgczBfMjU2JDE9Y29tbW9uJDEuczBfMjU2O3ZhciBzMV8yNTYkMT1jb21tb24kMS5zMV8yNTY7dmFyIGcwXzI1NiQxPWNvbW1vbiQxLmcwXzI1Njt2YXIgZzFfMjU2JDE9Y29tbW9uJDEuZzFfMjU2O3ZhciBCbG9ja0hhc2gkMj1jb21tb24uQmxvY2tIYXNoO3ZhciBzaGEyNTZfSz1bMTExNjM1MjQwOCwxODk5NDQ3NDQxLDMwNDkzMjM0NzEsMzkyMTAwOTU3Myw5NjE5ODcxNjMsMTUwODk3MDk5MywyNDUzNjM1NzQ4LDI4NzA3NjMyMjEsMzYyNDM4MTA4MCwzMTA1OTg0MDEsNjA3MjI1Mjc4LDE0MjY4ODE5ODcsMTkyNTA3ODM4OCwyMTYyMDc4MjA2LDI2MTQ4ODgxMDMsMzI0ODIyMjU4MCwzODM1MzkwNDAxLDQwMjIyMjQ3NzQsMjY0MzQ3MDc4LDYwNDgwNzYyOCw3NzAyNTU5ODMsMTI0OTE1MDEyMiwxNTU1MDgxNjkyLDE5OTYwNjQ5ODYsMjU1NDIyMDg4MiwyODIxODM0MzQ5LDI5NTI5OTY4MDgsMzIxMDMxMzY3MSwzMzM2NTcxODkxLDM1ODQ1Mjg3MTEsMTEzOTI2OTkzLDMzODI0MTg5NSw2NjYzMDcyMDUsNzczNTI5OTEyLDEyOTQ3NTczNzIsMTM5NjE4MjI5MSwxNjk1MTgzNzAwLDE5ODY2NjEwNTEsMjE3NzAyNjM1MCwyNDU2OTU2MDM3LDI3MzA0ODU5MjEsMjgyMDMwMjQxMSwzMjU5NzMwODAwLDMzNDU3NjQ3NzEsMzUxNjA2NTgxNywzNjAwMzUyODA0LDQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XTtmdW5jdGlvbiBTSEEyNTYoKXtpZighKHRoaXMgaW5zdGFuY2VvZiBTSEEyNTYpKXJldHVybiBuZXcgU0hBMjU2O0Jsb2NrSGFzaCQyLmNhbGwodGhpcyk7dGhpcy5oPVsxNzc5MDMzNzAzLDMxNDQxMzQyNzcsMTAxMzkwNDI0MiwyNzczNDgwNzYyLDEzNTk4OTMxMTksMjYwMDgyMjkyNCw1Mjg3MzQ2MzUsMTU0MTQ1OTIyNV07dGhpcy5rPXNoYTI1Nl9LO3RoaXMuVz1uZXcgQXJyYXkoNjQpfXV0aWxzLmluaGVyaXRzKFNIQTI1NixCbG9ja0hhc2gkMik7dmFyIF8yNTY9U0hBMjU2O1NIQTI1Ni5ibG9ja1NpemU9NTEyO1NIQTI1Ni5vdXRTaXplPTI1NjtTSEEyNTYuaG1hY1N0cmVuZ3RoPTE5MjtTSEEyNTYucGFkTGVuZ3RoPTY0O1NIQTI1Ni5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbiBfdXBkYXRlKG1zZyxzdGFydCl7dmFyIFc9dGhpcy5XO2Zvcih2YXIgaT0wO2k8MTY7aSsrKVdbaV09bXNnW3N0YXJ0K2ldO2Zvcig7aTxXLmxlbmd0aDtpKyspV1tpXT1zdW0zMl80JDEoZzFfMjU2JDEoV1tpLTJdKSxXW2ktN10sZzBfMjU2JDEoV1tpLTE1XSksV1tpLTE2XSk7dmFyIGE9dGhpcy5oWzBdO3ZhciBiPXRoaXMuaFsxXTt2YXIgYz10aGlzLmhbMl07dmFyIGQ9dGhpcy5oWzNdO3ZhciBlPXRoaXMuaFs0XTt2YXIgZj10aGlzLmhbNV07dmFyIGc9dGhpcy5oWzZdO3ZhciBoPXRoaXMuaFs3XTttaW5pbWFsaXN0aWNBc3NlcnQodGhpcy5rLmxlbmd0aD09PVcubGVuZ3RoKTtmb3IoaT0wO2k8Vy5sZW5ndGg7aSsrKXt2YXIgVDE9c3VtMzJfNSQyKGgsczFfMjU2JDEoZSksY2gzMiQxKGUsZixnKSx0aGlzLmtbaV0sV1tpXSk7dmFyIFQyPXN1bTMyJDIoczBfMjU2JDEoYSksbWFqMzIkMShhLGIsYykpO2g9ZztnPWY7Zj1lO2U9c3VtMzIkMihkLFQxKTtkPWM7Yz1iO2I9YTthPXN1bTMyJDIoVDEsVDIpfXRoaXMuaFswXT1zdW0zMiQyKHRoaXMuaFswXSxhKTt0aGlzLmhbMV09c3VtMzIkMih0aGlzLmhbMV0sYik7dGhpcy5oWzJdPXN1bTMyJDIodGhpcy5oWzJdLGMpO3RoaXMuaFszXT1zdW0zMiQyKHRoaXMuaFszXSxkKTt0aGlzLmhbNF09c3VtMzIkMih0aGlzLmhbNF0sZSk7dGhpcy5oWzVdPXN1bTMyJDIodGhpcy5oWzVdLGYpO3RoaXMuaFs2XT1zdW0zMiQyKHRoaXMuaFs2XSxnKTt0aGlzLmhbN109c3VtMzIkMih0aGlzLmhbN10saCl9O1NIQTI1Ni5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbiBkaWdlc3QoZW5jKXtpZihlbmM9PT0iaGV4IilyZXR1cm4gdXRpbHMudG9IZXgzMih0aGlzLmgsImJpZyIpO2Vsc2UgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLCJiaWciKX07InVzZSBzdHJpY3QiO2Z1bmN0aW9uIFNIQTIyNCgpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFNIQTIyNCkpcmV0dXJuIG5ldyBTSEEyMjQ7XzI1Ni5jYWxsKHRoaXMpO3RoaXMuaD1bMzIzODM3MTAzMiw5MTQxNTA2NjMsODEyNzAyOTk5LDQxNDQ5MTI2OTcsNDI5MDc3NTg1NywxNzUwNjAzMDI1LDE2OTQwNzY4MzksMzIwNDA3NTQyOF19dXRpbHMuaW5oZXJpdHMoU0hBMjI0LF8yNTYpO3ZhciBfMjI0PVNIQTIyNDtTSEEyMjQuYmxvY2tTaXplPTUxMjtTSEEyMjQub3V0U2l6ZT0yMjQ7U0hBMjI0LmhtYWNTdHJlbmd0aD0xOTI7U0hBMjI0LnBhZExlbmd0aD02NDtTSEEyMjQucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24gZGlnZXN0KGVuYyl7aWYoZW5jPT09ImhleCIpcmV0dXJuIHV0aWxzLnRvSGV4MzIodGhpcy5oLnNsaWNlKDAsNyksImJpZyIpO2Vsc2UgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLnNsaWNlKDAsNyksImJpZyIpfTsidXNlIHN0cmljdCI7dmFyIHJvdHI2NF9oaSQxPXV0aWxzLnJvdHI2NF9oaTt2YXIgcm90cjY0X2xvJDE9dXRpbHMucm90cjY0X2xvO3ZhciBzaHI2NF9oaSQxPXV0aWxzLnNocjY0X2hpO3ZhciBzaHI2NF9sbyQxPXV0aWxzLnNocjY0X2xvO3ZhciBzdW02NCQxPXV0aWxzLnN1bTY0O3ZhciBzdW02NF9oaSQxPXV0aWxzLnN1bTY0X2hpO3ZhciBzdW02NF9sbyQxPXV0aWxzLnN1bTY0X2xvO3ZhciBzdW02NF80X2hpJDE9dXRpbHMuc3VtNjRfNF9oaTt2YXIgc3VtNjRfNF9sbyQxPXV0aWxzLnN1bTY0XzRfbG87dmFyIHN1bTY0XzVfaGkkMT11dGlscy5zdW02NF81X2hpO3ZhciBzdW02NF81X2xvJDE9dXRpbHMuc3VtNjRfNV9sbzt2YXIgQmxvY2tIYXNoJDM9Y29tbW9uLkJsb2NrSGFzaDt2YXIgc2hhNTEyX0s9WzExMTYzNTI0MDgsMzYwOTc2NzQ1OCwxODk5NDQ3NDQxLDYwMjg5MTcyNSwzMDQ5MzIzNDcxLDM5NjQ0ODQzOTksMzkyMTAwOTU3MywyMTczMjk1NTQ4LDk2MTk4NzE2Myw0MDgxNjI4NDcyLDE1MDg5NzA5OTMsMzA1MzgzNDI2NSwyNDUzNjM1NzQ4LDI5Mzc2NzE1NzksMjg3MDc2MzIyMSwzNjY0NjA5NTYwLDM2MjQzODEwODAsMjczNDg4MzM5NCwzMTA1OTg0MDEsMTE2NDk5NjU0Miw2MDcyMjUyNzgsMTMyMzYxMDc2NCwxNDI2ODgxOTg3LDM1OTAzMDQ5OTQsMTkyNTA3ODM4OCw0MDY4MTgyMzgzLDIxNjIwNzgyMDYsOTkxMzM2MTEzLDI2MTQ4ODgxMDMsNjMzODAzMzE3LDMyNDgyMjI1ODAsMzQ3OTc3NDg2OCwzODM1MzkwNDAxLDI2NjY2MTM0NTgsNDAyMjIyNDc3NCw5NDQ3MTExMzksMjY0MzQ3MDc4LDIzNDEyNjI3NzMsNjA0ODA3NjI4LDIwMDc4MDA5MzMsNzcwMjU1OTgzLDE0OTU5OTA5MDEsMTI0OTE1MDEyMiwxODU2NDMxMjM1LDE1NTUwODE2OTIsMzE3NTIxODEzMiwxOTk2MDY0OTg2LDIxOTg5NTA4MzcsMjU1NDIyMDg4MiwzOTk5NzE5MzM5LDI4MjE4MzQzNDksNzY2Nzg0MDE2LDI5NTI5OTY4MDgsMjU2NjU5NDg3OSwzMjEwMzEzNjcxLDMyMDMzMzc5NTYsMzMzNjU3MTg5MSwxMDM0NDU3MDI2LDM1ODQ1Mjg3MTEsMjQ2Njk0ODkwMSwxMTM5MjY5OTMsMzc1ODMyNjM4MywzMzgyNDE4OTUsMTY4NzE3OTM2LDY2NjMwNzIwNSwxMTg4MTc5OTY0LDc3MzUyOTkxMiwxNTQ2MDQ1NzM0LDEyOTQ3NTczNzIsMTUyMjgwNTQ4NSwxMzk2MTgyMjkxLDI2NDM4MzM4MjMsMTY5NTE4MzcwMCwyMzQzNTI3MzkwLDE5ODY2NjEwNTEsMTAxNDQ3NzQ4MCwyMTc3MDI2MzUwLDEyMDY3NTkxNDIsMjQ1Njk1NjAzNywzNDQwNzc2MjcsMjczMDQ4NTkyMSwxMjkwODYzNDYwLDI4MjAzMDI0MTEsMzE1ODQ1NDI3MywzMjU5NzMwODAwLDM1MDU5NTI2NTcsMzM0NTc2NDc3MSwxMDYyMTcwMDgsMzUxNjA2NTgxNywzNjA2MDA4MzQ0LDM2MDAzNTI4MDQsMTQzMjcyNTc3Niw0MDk0NTcxOTA5LDE0NjcwMzE1OTQsMjc1NDIzMzQ0LDg1MTE2OTcyMCw0MzAyMjc3MzQsMzEwMDgyMzc1Miw1MDY5NDg2MTYsMTM2MzI1ODE5NSw2NTkwNjA1NTYsMzc1MDY4NTU5Myw4ODM5OTc4NzcsMzc4NTA1MDI4MCw5NTgxMzk1NzEsMzMxODMwNzQyNywxMzIyODIyMjE4LDM4MTI3MjM0MDMsMTUzNzAwMjA2MywyMDAzMDM0OTk1LDE3NDc4NzM3NzksMzYwMjAzNjg5OSwxOTU1NTYyMjIyLDE1NzU5OTAwMTIsMjAyNDEwNDgxNSwxMTI1NTkyOTI4LDIyMjc3MzA0NTIsMjcxNjkwNDMwNiwyMzYxODUyNDI0LDQ0Mjc3NjA0NCwyNDI4NDM2NDc0LDU5MzY5ODM0NCwyNzU2NzM0MTg3LDM3MzMxMTAyNDksMzIwNDAzMTQ3OSwyOTk5MzUxNTczLDMzMjkzMjUyOTgsMzgxNTkyMDQyNywzMzkxNTY5NjE0LDM5MjgzODM5MDAsMzUxNTI2NzI3MSw1NjYyODA3MTEsMzk0MDE4NzYwNiwzNDU0MDY5NTM0LDQxMTg2MzAyNzEsNDAwMDIzOTk5MiwxMTY0MTg0NzQsMTkxNDEzODU1NCwxNzQyOTI0MjEsMjczMTA1NTI3MCwyODkzODAzNTYsMzIwMzk5MzAwNiw0NjAzOTMyNjksMzIwNjIwMzE1LDY4NTQ3MTczMyw1ODc0OTY4MzYsODUyMTQyOTcxLDEwODY3OTI4NTEsMTAxNzAzNjI5OCwzNjU1NDMxMDAsMTEyNjAwMDU4MCwyNjE4Mjk3Njc2LDEyODgwMzM0NzAsMzQwOTg1NTE1OCwxNTAxNTA1OTQ4LDQyMzQ1MDk4NjYsMTYwNzE2NzkxNSw5ODcxNjc0NjgsMTgxNjQwMjMxNiwxMjQ2MTg5NTkxXTtmdW5jdGlvbiBTSEE1MTIoKXtpZighKHRoaXMgaW5zdGFuY2VvZiBTSEE1MTIpKXJldHVybiBuZXcgU0hBNTEyO0Jsb2NrSGFzaCQzLmNhbGwodGhpcyk7dGhpcy5oPVsxNzc5MDMzNzAzLDQwODkyMzU3MjAsMzE0NDEzNDI3NywyMjI3ODczNTk1LDEwMTM5MDQyNDIsNDI3MTE3NTcyMywyNzczNDgwNzYyLDE1OTU3NTAxMjksMTM1OTg5MzExOSwyOTE3NTY1MTM3LDI2MDA4MjI5MjQsNzI1NTExMTk5LDUyODczNDYzNSw0MjE1Mzg5NTQ3LDE1NDE0NTkyMjUsMzI3MDMzMjA5XTt0aGlzLms9c2hhNTEyX0s7dGhpcy5XPW5ldyBBcnJheSgxNjApfXV0aWxzLmluaGVyaXRzKFNIQTUxMixCbG9ja0hhc2gkMyk7dmFyIF81MTI9U0hBNTEyO1NIQTUxMi5ibG9ja1NpemU9MTAyNDtTSEE1MTIub3V0U2l6ZT01MTI7U0hBNTEyLmhtYWNTdHJlbmd0aD0xOTI7U0hBNTEyLnBhZExlbmd0aD0xMjg7U0hBNTEyLnByb3RvdHlwZS5fcHJlcGFyZUJsb2NrPWZ1bmN0aW9uIF9wcmVwYXJlQmxvY2sobXNnLHN0YXJ0KXt2YXIgVz10aGlzLlc7Zm9yKHZhciBpPTA7aTwzMjtpKyspV1tpXT1tc2dbc3RhcnQraV07Zm9yKDtpPFcubGVuZ3RoO2krPTIpe3ZhciBjMF9oaT1nMV81MTJfaGkoV1tpLTRdLFdbaS0zXSk7dmFyIGMwX2xvPWcxXzUxMl9sbyhXW2ktNF0sV1tpLTNdKTt2YXIgYzFfaGk9V1tpLTE0XTt2YXIgYzFfbG89V1tpLTEzXTt2YXIgYzJfaGk9ZzBfNTEyX2hpKFdbaS0zMF0sV1tpLTI5XSk7dmFyIGMyX2xvPWcwXzUxMl9sbyhXW2ktMzBdLFdbaS0yOV0pO3ZhciBjM19oaT1XW2ktMzJdO3ZhciBjM19sbz1XW2ktMzFdO1dbaV09c3VtNjRfNF9oaSQxKGMwX2hpLGMwX2xvLGMxX2hpLGMxX2xvLGMyX2hpLGMyX2xvLGMzX2hpLGMzX2xvKTtXW2krMV09c3VtNjRfNF9sbyQxKGMwX2hpLGMwX2xvLGMxX2hpLGMxX2xvLGMyX2hpLGMyX2xvLGMzX2hpLGMzX2xvKX19O1NIQTUxMi5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbiBfdXBkYXRlKG1zZyxzdGFydCl7dGhpcy5fcHJlcGFyZUJsb2NrKG1zZyxzdGFydCk7dmFyIFc9dGhpcy5XO3ZhciBhaD10aGlzLmhbMF07dmFyIGFsPXRoaXMuaFsxXTt2YXIgYmg9dGhpcy5oWzJdO3ZhciBibD10aGlzLmhbM107dmFyIGNoPXRoaXMuaFs0XTt2YXIgY2w9dGhpcy5oWzVdO3ZhciBkaD10aGlzLmhbNl07dmFyIGRsPXRoaXMuaFs3XTt2YXIgZWg9dGhpcy5oWzhdO3ZhciBlbD10aGlzLmhbOV07dmFyIGZoPXRoaXMuaFsxMF07dmFyIGZsPXRoaXMuaFsxMV07dmFyIGdoPXRoaXMuaFsxMl07dmFyIGdsPXRoaXMuaFsxM107dmFyIGhoPXRoaXMuaFsxNF07dmFyIGhsPXRoaXMuaFsxNV07bWluaW1hbGlzdGljQXNzZXJ0KHRoaXMuay5sZW5ndGg9PT1XLmxlbmd0aCk7Zm9yKHZhciBpPTA7aTxXLmxlbmd0aDtpKz0yKXt2YXIgYzBfaGk9aGg7dmFyIGMwX2xvPWhsO3ZhciBjMV9oaT1zMV81MTJfaGkoZWgsZWwpO3ZhciBjMV9sbz1zMV81MTJfbG8oZWgsZWwpO3ZhciBjMl9oaT1jaDY0X2hpKGVoLGVsLGZoLGZsLGdoLGdsKTt2YXIgYzJfbG89Y2g2NF9sbyhlaCxlbCxmaCxmbCxnaCxnbCk7dmFyIGMzX2hpPXRoaXMua1tpXTt2YXIgYzNfbG89dGhpcy5rW2krMV07dmFyIGM0X2hpPVdbaV07dmFyIGM0X2xvPVdbaSsxXTt2YXIgVDFfaGk9c3VtNjRfNV9oaSQxKGMwX2hpLGMwX2xvLGMxX2hpLGMxX2xvLGMyX2hpLGMyX2xvLGMzX2hpLGMzX2xvLGM0X2hpLGM0X2xvKTt2YXIgVDFfbG89c3VtNjRfNV9sbyQxKGMwX2hpLGMwX2xvLGMxX2hpLGMxX2xvLGMyX2hpLGMyX2xvLGMzX2hpLGMzX2xvLGM0X2hpLGM0X2xvKTtjMF9oaT1zMF81MTJfaGkoYWgsYWwpO2MwX2xvPXMwXzUxMl9sbyhhaCxhbCk7YzFfaGk9bWFqNjRfaGkoYWgsYWwsYmgsYmwsY2gsY2wpO2MxX2xvPW1hajY0X2xvKGFoLGFsLGJoLGJsLGNoLGNsKTt2YXIgVDJfaGk9c3VtNjRfaGkkMShjMF9oaSxjMF9sbyxjMV9oaSxjMV9sbyk7dmFyIFQyX2xvPXN1bTY0X2xvJDEoYzBfaGksYzBfbG8sYzFfaGksYzFfbG8pO2hoPWdoO2hsPWdsO2doPWZoO2dsPWZsO2ZoPWVoO2ZsPWVsO2VoPXN1bTY0X2hpJDEoZGgsZGwsVDFfaGksVDFfbG8pO2VsPXN1bTY0X2xvJDEoZGwsZGwsVDFfaGksVDFfbG8pO2RoPWNoO2RsPWNsO2NoPWJoO2NsPWJsO2JoPWFoO2JsPWFsO2FoPXN1bTY0X2hpJDEoVDFfaGksVDFfbG8sVDJfaGksVDJfbG8pO2FsPXN1bTY0X2xvJDEoVDFfaGksVDFfbG8sVDJfaGksVDJfbG8pfXN1bTY0JDEodGhpcy5oLDAsYWgsYWwpO3N1bTY0JDEodGhpcy5oLDIsYmgsYmwpO3N1bTY0JDEodGhpcy5oLDQsY2gsY2wpO3N1bTY0JDEodGhpcy5oLDYsZGgsZGwpO3N1bTY0JDEodGhpcy5oLDgsZWgsZWwpO3N1bTY0JDEodGhpcy5oLDEwLGZoLGZsKTtzdW02NCQxKHRoaXMuaCwxMixnaCxnbCk7c3VtNjQkMSh0aGlzLmgsMTQsaGgsaGwpfTtTSEE1MTIucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24gZGlnZXN0KGVuYyl7aWYoZW5jPT09ImhleCIpcmV0dXJuIHV0aWxzLnRvSGV4MzIodGhpcy5oLCJiaWciKTtlbHNlIHJldHVybiB1dGlscy5zcGxpdDMyKHRoaXMuaCwiYmlnIil9O2Z1bmN0aW9uIGNoNjRfaGkoeGgseGwseWgseWwsemgpe3ZhciByPXhoJnloXn54aCZ6aDtpZihyPDApcis9NDI5NDk2NzI5NjtyZXR1cm4gcn1mdW5jdGlvbiBjaDY0X2xvKHhoLHhsLHloLHlsLHpoLHpsKXt2YXIgcj14bCZ5bF5+eGwmemw7aWYocjwwKXIrPTQyOTQ5NjcyOTY7cmV0dXJuIHJ9ZnVuY3Rpb24gbWFqNjRfaGkoeGgseGwseWgseWwsemgpe3ZhciByPXhoJnloXnhoJnpoXnloJnpoO2lmKHI8MClyKz00Mjk0OTY3Mjk2O3JldHVybiByfWZ1bmN0aW9uIG1hajY0X2xvKHhoLHhsLHloLHlsLHpoLHpsKXt2YXIgcj14bCZ5bF54bCZ6bF55bCZ6bDtpZihyPDApcis9NDI5NDk2NzI5NjtyZXR1cm4gcn1mdW5jdGlvbiBzMF81MTJfaGkoeGgseGwpe3ZhciBjMF9oaT1yb3RyNjRfaGkkMSh4aCx4bCwyOCk7dmFyIGMxX2hpPXJvdHI2NF9oaSQxKHhsLHhoLDIpO3ZhciBjMl9oaT1yb3RyNjRfaGkkMSh4bCx4aCw3KTt2YXIgcj1jMF9oaV5jMV9oaV5jMl9oaTtpZihyPDApcis9NDI5NDk2NzI5NjtyZXR1cm4gcn1mdW5jdGlvbiBzMF81MTJfbG8oeGgseGwpe3ZhciBjMF9sbz1yb3RyNjRfbG8kMSh4aCx4bCwyOCk7dmFyIGMxX2xvPXJvdHI2NF9sbyQxKHhsLHhoLDIpO3ZhciBjMl9sbz1yb3RyNjRfbG8kMSh4bCx4aCw3KTt2YXIgcj1jMF9sb15jMV9sb15jMl9sbztpZihyPDApcis9NDI5NDk2NzI5NjtyZXR1cm4gcn1mdW5jdGlvbiBzMV81MTJfaGkoeGgseGwpe3ZhciBjMF9oaT1yb3RyNjRfaGkkMSh4aCx4bCwxNCk7dmFyIGMxX2hpPXJvdHI2NF9oaSQxKHhoLHhsLDE4KTt2YXIgYzJfaGk9cm90cjY0X2hpJDEoeGwseGgsOSk7dmFyIHI9YzBfaGleYzFfaGleYzJfaGk7aWYocjwwKXIrPTQyOTQ5NjcyOTY7cmV0dXJuIHJ9ZnVuY3Rpb24gczFfNTEyX2xvKHhoLHhsKXt2YXIgYzBfbG89cm90cjY0X2xvJDEoeGgseGwsMTQpO3ZhciBjMV9sbz1yb3RyNjRfbG8kMSh4aCx4bCwxOCk7dmFyIGMyX2xvPXJvdHI2NF9sbyQxKHhsLHhoLDkpO3ZhciByPWMwX2xvXmMxX2xvXmMyX2xvO2lmKHI8MClyKz00Mjk0OTY3Mjk2O3JldHVybiByfWZ1bmN0aW9uIGcwXzUxMl9oaSh4aCx4bCl7dmFyIGMwX2hpPXJvdHI2NF9oaSQxKHhoLHhsLDEpO3ZhciBjMV9oaT1yb3RyNjRfaGkkMSh4aCx4bCw4KTt2YXIgYzJfaGk9c2hyNjRfaGkkMSh4aCx4bCw3KTt2YXIgcj1jMF9oaV5jMV9oaV5jMl9oaTtpZihyPDApcis9NDI5NDk2NzI5NjtyZXR1cm4gcn1mdW5jdGlvbiBnMF81MTJfbG8oeGgseGwpe3ZhciBjMF9sbz1yb3RyNjRfbG8kMSh4aCx4bCwxKTt2YXIgYzFfbG89cm90cjY0X2xvJDEoeGgseGwsOCk7dmFyIGMyX2xvPXNocjY0X2xvJDEoeGgseGwsNyk7dmFyIHI9YzBfbG9eYzFfbG9eYzJfbG87aWYocjwwKXIrPTQyOTQ5NjcyOTY7cmV0dXJuIHJ9ZnVuY3Rpb24gZzFfNTEyX2hpKHhoLHhsKXt2YXIgYzBfaGk9cm90cjY0X2hpJDEoeGgseGwsMTkpO3ZhciBjMV9oaT1yb3RyNjRfaGkkMSh4bCx4aCwyOSk7dmFyIGMyX2hpPXNocjY0X2hpJDEoeGgseGwsNik7dmFyIHI9YzBfaGleYzFfaGleYzJfaGk7aWYocjwwKXIrPTQyOTQ5NjcyOTY7cmV0dXJuIHJ9ZnVuY3Rpb24gZzFfNTEyX2xvKHhoLHhsKXt2YXIgYzBfbG89cm90cjY0X2xvJDEoeGgseGwsMTkpO3ZhciBjMV9sbz1yb3RyNjRfbG8kMSh4bCx4aCwyOSk7dmFyIGMyX2xvPXNocjY0X2xvJDEoeGgseGwsNik7dmFyIHI9YzBfbG9eYzFfbG9eYzJfbG87aWYocjwwKXIrPTQyOTQ5NjcyOTY7cmV0dXJuIHJ9InVzZSBzdHJpY3QiO2Z1bmN0aW9uIFNIQTM4NCgpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFNIQTM4NCkpcmV0dXJuIG5ldyBTSEEzODQ7XzUxMi5jYWxsKHRoaXMpO3RoaXMuaD1bMzQxODA3MDM2NSwzMjM4MzcxMDMyLDE2NTQyNzAyNTAsOTE0MTUwNjYzLDI0Mzg1MjkzNzAsODEyNzAyOTk5LDM1NTQ2MjM2MCw0MTQ0OTEyNjk3LDE3MzE0MDU0MTUsNDI5MDc3NTg1NywyMzk0MTgwMjMxLDE3NTA2MDMwMjUsMzY3NTAwODUyNSwxNjk0MDc2ODM5LDEyMDMwNjI4MTMsMzIwNDA3NTQyOF19dXRpbHMuaW5oZXJpdHMoU0hBMzg0LF81MTIpO3ZhciBfMzg0PVNIQTM4NDtTSEEzODQuYmxvY2tTaXplPTEwMjQ7U0hBMzg0Lm91dFNpemU9Mzg0O1NIQTM4NC5obWFjU3RyZW5ndGg9MTkyO1NIQTM4NC5wYWRMZW5ndGg9MTI4O1NIQTM4NC5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbiBkaWdlc3QoZW5jKXtpZihlbmM9PT0iaGV4IilyZXR1cm4gdXRpbHMudG9IZXgzMih0aGlzLmguc2xpY2UoMCwxMiksImJpZyIpO2Vsc2UgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLnNsaWNlKDAsMTIpLCJiaWciKX07InVzZSBzdHJpY3QiO3ZhciBzaGExPV8xO3ZhciBzaGEyMjQ9XzIyNDt2YXIgc2hhMjU2PV8yNTY7dmFyIHNoYTM4ND1fMzg0O3ZhciBzaGE1MTI9XzUxMjt2YXIgc2hhPXtzaGExOnNoYTEsc2hhMjI0OnNoYTIyNCxzaGEyNTY6c2hhMjU2LHNoYTM4NDpzaGEzODQsc2hhNTEyOnNoYTUxMn07InVzZSBzdHJpY3QiO3ZhciByb3RsMzIkMj11dGlscy5yb3RsMzI7dmFyIHN1bTMyJDM9dXRpbHMuc3VtMzI7dmFyIHN1bTMyXzMkMT11dGlscy5zdW0zMl8zO3ZhciBzdW0zMl80JDI9dXRpbHMuc3VtMzJfNDt2YXIgQmxvY2tIYXNoJDQ9Y29tbW9uLkJsb2NrSGFzaDtmdW5jdGlvbiBSSVBFTUQxNjAoKXtpZighKHRoaXMgaW5zdGFuY2VvZiBSSVBFTUQxNjApKXJldHVybiBuZXcgUklQRU1EMTYwO0Jsb2NrSGFzaCQ0LmNhbGwodGhpcyk7dGhpcy5oPVsxNzMyNTg0MTkzLDQwMjMyMzM0MTcsMjU2MjM4MzEwMiwyNzE3MzM4NzgsMzI4NTM3NzUyMF07dGhpcy5lbmRpYW49ImxpdHRsZSJ9dXRpbHMuaW5oZXJpdHMoUklQRU1EMTYwLEJsb2NrSGFzaCQ0KTt2YXIgcmlwZW1kMTYwPVJJUEVNRDE2MDtSSVBFTUQxNjAuYmxvY2tTaXplPTUxMjtSSVBFTUQxNjAub3V0U2l6ZT0xNjA7UklQRU1EMTYwLmhtYWNTdHJlbmd0aD0xOTI7UklQRU1EMTYwLnBhZExlbmd0aD02NDtSSVBFTUQxNjAucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24gdXBkYXRlKG1zZyxzdGFydCl7dmFyIEE9dGhpcy5oWzBdO3ZhciBCPXRoaXMuaFsxXTt2YXIgQz10aGlzLmhbMl07dmFyIEQ9dGhpcy5oWzNdO3ZhciBFPXRoaXMuaFs0XTt2YXIgQWg9QTt2YXIgQmg9Qjt2YXIgQ2g9Qzt2YXIgRGg9RDt2YXIgRWg9RTtmb3IodmFyIGo9MDtqPDgwO2orKyl7dmFyIFQ9c3VtMzIkMyhyb3RsMzIkMihzdW0zMl80JDIoQSxmKGosQixDLEQpLG1zZ1tyW2pdK3N0YXJ0XSxLKGopKSxzW2pdKSxFKTtBPUU7RT1EO0Q9cm90bDMyJDIoQywxMCk7Qz1CO0I9VDtUPXN1bTMyJDMocm90bDMyJDIoc3VtMzJfNCQyKEFoLGYoNzktaixCaCxDaCxEaCksbXNnW3JoW2pdK3N0YXJ0XSxLaChqKSksc2hbal0pLEVoKTtBaD1FaDtFaD1EaDtEaD1yb3RsMzIkMihDaCwxMCk7Q2g9Qmg7Qmg9VH1UPXN1bTMyXzMkMSh0aGlzLmhbMV0sQyxEaCk7dGhpcy5oWzFdPXN1bTMyXzMkMSh0aGlzLmhbMl0sRCxFaCk7dGhpcy5oWzJdPXN1bTMyXzMkMSh0aGlzLmhbM10sRSxBaCk7dGhpcy5oWzNdPXN1bTMyXzMkMSh0aGlzLmhbNF0sQSxCaCk7dGhpcy5oWzRdPXN1bTMyXzMkMSh0aGlzLmhbMF0sQixDaCk7dGhpcy5oWzBdPVR9O1JJUEVNRDE2MC5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbiBkaWdlc3QoZW5jKXtpZihlbmM9PT0iaGV4IilyZXR1cm4gdXRpbHMudG9IZXgzMih0aGlzLmgsImxpdHRsZSIpO2Vsc2UgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLCJsaXR0bGUiKX07ZnVuY3Rpb24gZihqLHgseSx6KXtpZihqPD0xNSlyZXR1cm4geF55Xno7ZWxzZSBpZihqPD0zMSlyZXR1cm4geCZ5fH54Jno7ZWxzZSBpZihqPD00NylyZXR1cm4oeHx+eSleejtlbHNlIGlmKGo8PTYzKXJldHVybiB4Jnp8eSZ+ejtlbHNlIHJldHVybiB4Xih5fH56KX1mdW5jdGlvbiBLKGope2lmKGo8PTE1KXJldHVybiAwO2Vsc2UgaWYoajw9MzEpcmV0dXJuIDE1MTg1MDAyNDk7ZWxzZSBpZihqPD00NylyZXR1cm4gMTg1OTc3NTM5MztlbHNlIGlmKGo8PTYzKXJldHVybiAyNDAwOTU5NzA4O2Vsc2UgcmV0dXJuIDI4NDA4NTM4Mzh9ZnVuY3Rpb24gS2goail7aWYoajw9MTUpcmV0dXJuIDEzNTI4Mjk5MjY7ZWxzZSBpZihqPD0zMSlyZXR1cm4gMTU0ODYwMzY4NDtlbHNlIGlmKGo8PTQ3KXJldHVybiAxODM2MDcyNjkxO2Vsc2UgaWYoajw9NjMpcmV0dXJuIDIwNTM5OTQyMTc7ZWxzZSByZXR1cm4gMH12YXIgcj1bMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSw3LDQsMTMsMSwxMCw2LDE1LDMsMTIsMCw5LDUsMiwxNCwxMSw4LDMsMTAsMTQsNCw5LDE1LDgsMSwyLDcsMCw2LDEzLDExLDUsMTIsMSw5LDExLDEwLDAsOCwxMiw0LDEzLDMsNywxNSwxNCw1LDYsMiw0LDAsNSw5LDcsMTIsMiwxMCwxNCwxLDMsOCwxMSw2LDE1LDEzXTt2YXIgcmg9WzUsMTQsNywwLDksMiwxMSw0LDEzLDYsMTUsOCwxLDEwLDMsMTIsNiwxMSwzLDcsMCwxMyw1LDEwLDE0LDE1LDgsMTIsNCw5LDEsMiwxNSw1LDEsMyw3LDE0LDYsOSwxMSw4LDEyLDIsMTAsMCw0LDEzLDgsNiw0LDEsMywxMSwxNSwwLDUsMTIsMiwxMyw5LDcsMTAsMTQsMTIsMTUsMTAsNCwxLDUsOCw3LDYsMiwxMywxNCwwLDMsOSwxMV07dmFyIHM9WzExLDE0LDE1LDEyLDUsOCw3LDksMTEsMTMsMTQsMTUsNiw3LDksOCw3LDYsOCwxMywxMSw5LDcsMTUsNywxMiwxNSw5LDExLDcsMTMsMTIsMTEsMTMsNiw3LDE0LDksMTMsMTUsMTQsOCwxMyw2LDUsMTIsNyw1LDExLDEyLDE0LDE1LDE0LDE1LDksOCw5LDE0LDUsNiw4LDYsNSwxMiw5LDE1LDUsMTEsNiw4LDEzLDEyLDUsMTIsMTMsMTQsMTEsOCw1LDZdO3ZhciBzaD1bOCw5LDksMTEsMTMsMTUsMTUsNSw3LDcsOCwxMSwxNCwxNCwxMiw2LDksMTMsMTUsNywxMiw4LDksMTEsNyw3LDEyLDcsNiwxNSwxMywxMSw5LDcsMTUsMTEsOCw2LDYsMTQsMTIsMTMsNSwxNCwxMywxMyw3LDUsMTUsNSw4LDExLDE0LDE0LDYsMTQsNiw5LDEyLDksMTIsNSwxNSw4LDgsNSwxMiw5LDEyLDUsMTQsNiw4LDEzLDYsNSwxNSwxMywxMSwxMV07dmFyIHJpcGVtZD17cmlwZW1kMTYwOnJpcGVtZDE2MH07InVzZSBzdHJpY3QiO2Z1bmN0aW9uIEhtYWMoaGFzaCxrZXksZW5jKXtpZighKHRoaXMgaW5zdGFuY2VvZiBIbWFjKSlyZXR1cm4gbmV3IEhtYWMoaGFzaCxrZXksZW5jKTt0aGlzLkhhc2g9aGFzaDt0aGlzLmJsb2NrU2l6ZT1oYXNoLmJsb2NrU2l6ZS84O3RoaXMub3V0U2l6ZT1oYXNoLm91dFNpemUvODt0aGlzLmlubmVyPW51bGw7dGhpcy5vdXRlcj1udWxsO3RoaXMuX2luaXQodXRpbHMudG9BcnJheShrZXksZW5jKSl9dmFyIGhtYWM9SG1hYztIbWFjLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbiBpbml0KGtleSl7aWYoa2V5Lmxlbmd0aD50aGlzLmJsb2NrU2l6ZSlrZXk9KG5ldyB0aGlzLkhhc2gpLnVwZGF0ZShrZXkpLmRpZ2VzdCgpO21pbmltYWxpc3RpY0Fzc2VydChrZXkubGVuZ3RoPD10aGlzLmJsb2NrU2l6ZSk7Zm9yKHZhciBpPWtleS5sZW5ndGg7aTx0aGlzLmJsb2NrU2l6ZTtpKyspa2V5LnB1c2goMCk7Zm9yKGk9MDtpPGtleS5sZW5ndGg7aSsrKWtleVtpXV49NTQ7dGhpcy5pbm5lcj0obmV3IHRoaXMuSGFzaCkudXBkYXRlKGtleSk7Zm9yKGk9MDtpPGtleS5sZW5ndGg7aSsrKWtleVtpXV49MTA2O3RoaXMub3V0ZXI9KG5ldyB0aGlzLkhhc2gpLnVwZGF0ZShrZXkpfTtIbWFjLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24gdXBkYXRlKG1zZyxlbmMpe3RoaXMuaW5uZXIudXBkYXRlKG1zZyxlbmMpO3JldHVybiB0aGlzfTtIbWFjLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24gZGlnZXN0KGVuYyl7dGhpcy5vdXRlci51cGRhdGUodGhpcy5pbm5lci5kaWdlc3QoKSk7cmV0dXJuIHRoaXMub3V0ZXIuZGlnZXN0KGVuYyl9O3ZhciBoYXNoXzE9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpe3ZhciBoYXNoPWV4cG9ydHM7aGFzaC51dGlscz11dGlscztoYXNoLmNvbW1vbj1jb21tb247aGFzaC5zaGE9c2hhO2hhc2gucmlwZW1kPXJpcGVtZDtoYXNoLmhtYWM9aG1hYztoYXNoLnNoYTE9aGFzaC5zaGEuc2hhMTtoYXNoLnNoYTI1Nj1oYXNoLnNoYS5zaGEyNTY7aGFzaC5zaGEyMjQ9aGFzaC5zaGEuc2hhMjI0O2hhc2guc2hhMzg0PWhhc2guc2hhLnNoYTM4NDtoYXNoLnNoYTUxMj1oYXNoLnNoYS5zaGE1MTI7aGFzaC5yaXBlbWQxNjA9aGFzaC5yaXBlbWQucmlwZW1kMTYwfSk7dmFyIGN1cnZlc18xPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIGN1cnZlcz1leHBvcnRzO3ZhciBhc3NlcnQ9dXRpbHNfMSQxLmFzc2VydDtmdW5jdGlvbiBQcmVzZXRDdXJ2ZShvcHRpb25zKXtpZihvcHRpb25zLnR5cGU9PT0ic2hvcnQiKXRoaXMuY3VydmU9bmV3IGN1cnZlXzEuc2hvcnQob3B0aW9ucyk7ZWxzZSBpZihvcHRpb25zLnR5cGU9PT0iZWR3YXJkcyIpdGhpcy5jdXJ2ZT1uZXcgY3VydmVfMS5lZHdhcmRzKG9wdGlvbnMpO2Vsc2UgdGhpcy5jdXJ2ZT1uZXcgY3VydmVfMS5tb250KG9wdGlvbnMpO3RoaXMuZz10aGlzLmN1cnZlLmc7dGhpcy5uPXRoaXMuY3VydmUubjt0aGlzLmhhc2g9b3B0aW9ucy5oYXNoO2Fzc2VydCh0aGlzLmcudmFsaWRhdGUoKSwiSW52YWxpZCBjdXJ2ZSIpO2Fzc2VydCh0aGlzLmcubXVsKHRoaXMubikuaXNJbmZpbml0eSgpLCJJbnZhbGlkIGN1cnZlLCBHKk4gIT0gTyIpfWN1cnZlcy5QcmVzZXRDdXJ2ZT1QcmVzZXRDdXJ2ZTtmdW5jdGlvbiBkZWZpbmVDdXJ2ZShuYW1lLG9wdGlvbnMpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShjdXJ2ZXMsbmFtZSx7Y29uZmlndXJhYmxlOnRydWUsZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3ZhciBjdXJ2ZT1uZXcgUHJlc2V0Q3VydmUob3B0aW9ucyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGN1cnZlcyxuYW1lLHtjb25maWd1cmFibGU6dHJ1ZSxlbnVtZXJhYmxlOnRydWUsdmFsdWU6Y3VydmV9KTtyZXR1cm4gY3VydmV9fSl9ZGVmaW5lQ3VydmUoInAxOTIiLHt0eXBlOiJzaG9ydCIscHJpbWU6InAxOTIiLHA6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmIixhOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmYyIsYjoiNjQyMTA1MTkgZTU5YzgwZTcgMGZhN2U5YWIgNzIyNDMwNDkgZmViOGRlZWMgYzE0NmI5YjEiLG46ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDk5ZGVmODM2IDE0NmJjOWIxIGI0ZDIyODMxIixoYXNoOmhhc2hfMS5zaGEyNTYsZ1JlZDpmYWxzZSxnOlsiMTg4ZGE4MGUgYjAzMDkwZjYgN2NiZjIwZWIgNDNhMTg4MDAgZjRmZjBhZmQgODJmZjEwMTIiLCIwNzE5MmI5NSBmZmM4ZGE3OCA2MzEwMTFlZCA2YjI0Y2RkNSA3M2Y5NzdhMSAxZTc5NDgxMSJdfSk7ZGVmaW5lQ3VydmUoInAyMjQiLHt0eXBlOiJzaG9ydCIscHJpbWU6InAyMjQiLHA6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxIixhOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSIsYjoiYjQwNTBhODUgMGMwNGIzYWIgZjU0MTMyNTYgNTA0NGIwYjcgZDdiZmQ4YmEgMjcwYjM5NDMgMjM1NWZmYjQiLG46ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmYxNmEyIGUwYjhmMDNlIDEzZGQyOTQ1IDVjNWMyYTNkIixoYXNoOmhhc2hfMS5zaGEyNTYsZ1JlZDpmYWxzZSxnOlsiYjcwZTBjYmQgNmJiNGJmN2YgMzIxMzkwYjkgNGEwM2MxZDMgNTZjMjExMjIgMzQzMjgwZDYgMTE1YzFkMjEiLCJiZDM3NjM4OCBiNWY3MjNmYiA0YzIyZGZlNiBjZDQzNzVhMCA1YTA3NDc2NCA0NGQ1ODE5OSA4NTAwN2UzNCJdfSk7ZGVmaW5lQ3VydmUoInAyNTYiLHt0eXBlOiJzaG9ydCIscHJpbWU6bnVsbCxwOiJmZmZmZmZmZiAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiIsYToiZmZmZmZmZmYgMDAwMDAwMDEgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmMiLGI6IjVhYzYzNWQ4IGFhM2E5M2U3IGIzZWJiZDU1IDc2OTg4NmJjIDY1MWQwNmIwIGNjNTNiMGY2IDNiY2UzYzNlIDI3ZDI2MDRiIixuOiJmZmZmZmZmZiAwMDAwMDAwMCBmZmZmZmZmZiBmZmZmZmZmZiBiY2U2ZmFhZCBhNzE3OWU4NCBmM2I5Y2FjMiBmYzYzMjU1MSIsaGFzaDpoYXNoXzEuc2hhMjU2LGdSZWQ6ZmFsc2UsZzpbIjZiMTdkMWYyIGUxMmM0MjQ3IGY4YmNlNmU1IDYzYTQ0MGYyIDc3MDM3ZDgxIDJkZWIzM2EwIGY0YTEzOTQ1IGQ4OThjMjk2IiwiNGZlMzQyZTIgZmUxYTdmOWIgOGVlN2ViNGEgN2MwZjllMTYgMmJjZTMzNTcgNmIzMTVlY2UgY2JiNjQwNjggMzdiZjUxZjUiXX0pO2RlZmluZUN1cnZlKCJwMzg0Iix7dHlwZToic2hvcnQiLHByaW1lOm51bGwscDoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgIisiZmZmZmZmZmUgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmYiLGE6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmICIrImZmZmZmZmZlIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZjIixiOiJiMzMxMmZhNyBlMjNlZTdlNCA5ODhlMDU2YiBlM2Y4MmQxOSAxODFkOWM2ZSBmZTgxNDExMiAwMzE0MDg4ZiAiKyI1MDEzODc1YSBjNjU2Mzk4ZCA4YTJlZDE5ZCAyYTg1YzhlZCBkM2VjMmFlZiIsbjoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgYzc2MzRkODEgIisiZjQzNzJkZGYgNTgxYTBkYjIgNDhiMGE3N2EgZWNlYzE5NmEgY2NjNTI5NzMiLGhhc2g6aGFzaF8xLnNoYTM4NCxnUmVkOmZhbHNlLGc6WyJhYTg3Y2EyMiBiZThiMDUzNyA4ZWIxYzcxZSBmMzIwYWQ3NCA2ZTFkM2I2MiA4YmE3OWI5OCA1OWY3NDFlMCA4MjU0MmEzOCAiKyI1NTAyZjI1ZCBiZjU1Mjk2YyAzYTU0NWUzOCA3Mjc2MGFiNyIsIjM2MTdkZTRhIDk2MjYyYzZmIDVkOWU5OGJmIDkyOTJkYzI5IGY4ZjQxZGJkIDI4OWExNDdjIGU5ZGEzMTEzIGI1ZjBiOGMwICIrIjBhNjBiMWNlIDFkN2U4MTlkIDdhNDMxZDdjIDkwZWEwZTVmIl19KTtkZWZpbmVDdXJ2ZSgicDUyMSIse3R5cGU6InNob3J0IixwcmltZTpudWxsLHA6IjAwMDAwMWZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmICIrImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmICIrImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIixhOiIwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAiKyJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAiKyJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmYyIsYjoiMDAwMDAwNTEgOTUzZWI5NjEgOGUxYzlhMWYgOTI5YTIxYTAgYjY4NTQwZWUgYTJkYTcyNWIgIisiOTliMzE1ZjMgYjhiNDg5OTEgOGVmMTA5ZTEgNTYxOTM5NTEgZWM3ZTkzN2IgMTY1MmMwYmQgIisiM2JiMWJmMDcgMzU3M2RmODggM2QyYzM0ZjEgZWY0NTFmZDQgNmI1MDNmMDAiLG46IjAwMDAwMWZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmICIrImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZhIDUxODY4NzgzIGJmMmY5NjZiIDdmY2MwMTQ4ICIrImY3MDlhNWQwIDNiYjVjOWI4IDg5OWM0N2FlIGJiNmZiNzFlIDkxMzg2NDA5IixoYXNoOmhhc2hfMS5zaGE1MTIsZ1JlZDpmYWxzZSxnOlsiMDAwMDAwYzYgODU4ZTA2YjcgMDQwNGU5Y2QgOWUzZWNiNjYgMjM5NWI0NDIgOWM2NDgxMzkgIisiMDUzZmI1MjEgZjgyOGFmNjAgNmI0ZDNkYmEgYTE0YjVlNzcgZWZlNzU5MjggZmUxZGMxMjcgIisiYTJmZmE4ZGUgMzM0OGIzYzEgODU2YTQyOWIgZjk3ZTdlMzEgYzJlNWJkNjYiLCIwMDAwMDExOCAzOTI5NmE3OCA5YTNiYzAwNCA1YzhhNWZiNCAyYzdkMWJkOSA5OGY1NDQ0OSAiKyI1NzliNDQ2OCAxN2FmYmQxNyAyNzNlNjYyYyA5N2VlNzI5OSA1ZWY0MjY0MCBjNTUwYjkwMSAiKyIzZmFkMDc2MSAzNTNjNzA4NiBhMjcyYzI0MCA4OGJlOTQ3NiA5ZmQxNjY1MCJdfSk7ZGVmaW5lQ3VydmUoImN1cnZlMjU1MTkiLHt0eXBlOiJtb250IixwcmltZToicDI1NTE5IixwOiI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkIixhOiI3NmQwNiIsYjoiMSIsbjoiMTAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDE0ZGVmOWRlYTJmNzljZDYgNTgxMjYzMWE1Y2Y1ZDNlZCIsaGFzaDpoYXNoXzEuc2hhMjU2LGdSZWQ6ZmFsc2UsZzpbIjkiXX0pO2RlZmluZUN1cnZlKCJlZDI1NTE5Iix7dHlwZToiZWR3YXJkcyIscHJpbWU6InAyNTUxOSIscDoiN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCIsYToiLTEiLGM6IjEiLGQ6IjUyMDM2Y2VlMmI2ZmZlNzMgOGNjNzQwNzk3Nzc5ZTg5OCAwMDcwMGE0ZDQxNDFkOGFiIDc1ZWI0ZGNhMTM1OTc4YTMiLG46IjEwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAxNGRlZjlkZWEyZjc5Y2Q2IDU4MTI2MzFhNWNmNWQzZWQiLGhhc2g6aGFzaF8xLnNoYTI1NixnUmVkOmZhbHNlLGc6WyIyMTY5MzZkM2NkNmU1M2ZlYzBhNGUyMzFmZGQ2ZGM1YzY5MmNjNzYwOTUyNWE3YjJjOTU2MmQ2MDhmMjVkNTFhIiwiNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY1OCJdfSk7dmFyIHByZTt0cnl7cHJlPW51bGwuY3Jhc2goKX1jYXRjaChlKXtwcmU9dW5kZWZpbmVkfWRlZmluZUN1cnZlKCJzZWNwMjU2azEiLHt0eXBlOiJzaG9ydCIscHJpbWU6ImsyNTYiLHA6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmIixhOiIwIixiOiI3IixuOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBiYWFlZGNlNiBhZjQ4YTAzYiBiZmQyNWU4YyBkMDM2NDE0MSIsaDoiMSIsaGFzaDpoYXNoXzEuc2hhMjU2LGJldGE6IjdhZTk2YTJiNjU3YzA3MTA2ZTY0NDc5ZWFjMzQzNGU5OWNmMDQ5NzUxMmY1ODk5NWMxMzk2YzI4NzE5NTAxZWUiLGxhbWJkYToiNTM2M2FkNGNjMDVjMzBlMGE1MjYxYzAyODgxMjY0NWExMjJlMjJlYTIwODE2Njc4ZGYwMjk2N2MxYjIzYmQ3MiIsYmFzaXM6W3thOiIzMDg2ZDIyMWE3ZDQ2YmNkZTg2YzkwZTQ5Mjg0ZWIxNSIsYjoiLWU0NDM3ZWQ2MDEwZTg4Mjg2ZjU0N2ZhOTBhYmZlNGMzIn0se2E6IjExNGNhNTBmN2E4ZTJmM2Y2NTdjMTEwOGQ5ZDQ0Y2ZkOCIsYjoiMzA4NmQyMjFhN2Q0NmJjZGU4NmM5MGU0OTI4NGViMTUifV0sZ1JlZDpmYWxzZSxnOlsiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsIjQ4M2FkYTc3MjZhM2M0NjU1ZGE0ZmJmYzBlMTEwOGE4ZmQxN2I0NDhhNjg1NTQxOTljNDdkMDhmZmIxMGQ0YjgiLHByZV19KX0pOyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBIbWFjRFJCRyhvcHRpb25zKXtpZighKHRoaXMgaW5zdGFuY2VvZiBIbWFjRFJCRykpcmV0dXJuIG5ldyBIbWFjRFJCRyhvcHRpb25zKTt0aGlzLmhhc2g9b3B0aW9ucy5oYXNoO3RoaXMucHJlZFJlc2lzdD0hIW9wdGlvbnMucHJlZFJlc2lzdDt0aGlzLm91dExlbj10aGlzLmhhc2gub3V0U2l6ZTt0aGlzLm1pbkVudHJvcHk9b3B0aW9ucy5taW5FbnRyb3B5fHx0aGlzLmhhc2guaG1hY1N0cmVuZ3RoO3RoaXMuX3Jlc2VlZD1udWxsO3RoaXMucmVzZWVkSW50ZXJ2YWw9bnVsbDt0aGlzLks9bnVsbDt0aGlzLlY9bnVsbDt2YXIgZW50cm9weT11dGlsc18xLnRvQXJyYXkob3B0aW9ucy5lbnRyb3B5LG9wdGlvbnMuZW50cm9weUVuY3x8ImhleCIpO3ZhciBub25jZT11dGlsc18xLnRvQXJyYXkob3B0aW9ucy5ub25jZSxvcHRpb25zLm5vbmNlRW5jfHwiaGV4Iik7dmFyIHBlcnM9dXRpbHNfMS50b0FycmF5KG9wdGlvbnMucGVycyxvcHRpb25zLnBlcnNFbmN8fCJoZXgiKTttaW5pbWFsaXN0aWNBc3NlcnQoZW50cm9weS5sZW5ndGg+PXRoaXMubWluRW50cm9weS84LCJOb3QgZW5vdWdoIGVudHJvcHkuIE1pbmltdW0gaXM6ICIrdGhpcy5taW5FbnRyb3B5KyIgYml0cyIpO3RoaXMuX2luaXQoZW50cm9weSxub25jZSxwZXJzKX12YXIgaG1hY0RyYmc9SG1hY0RSQkc7SG1hY0RSQkcucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uIGluaXQoZW50cm9weSxub25jZSxwZXJzKXt2YXIgc2VlZD1lbnRyb3B5LmNvbmNhdChub25jZSkuY29uY2F0KHBlcnMpO3RoaXMuSz1uZXcgQXJyYXkodGhpcy5vdXRMZW4vOCk7dGhpcy5WPW5ldyBBcnJheSh0aGlzLm91dExlbi84KTtmb3IodmFyIGk9MDtpPHRoaXMuVi5sZW5ndGg7aSsrKXt0aGlzLktbaV09MDt0aGlzLlZbaV09MX10aGlzLl91cGRhdGUoc2VlZCk7dGhpcy5fcmVzZWVkPTE7dGhpcy5yZXNlZWRJbnRlcnZhbD0yODE0NzQ5NzY3MTA2NTZ9O0htYWNEUkJHLnByb3RvdHlwZS5faG1hYz1mdW5jdGlvbiBobWFjKCl7cmV0dXJuIG5ldyBoYXNoXzEuaG1hYyh0aGlzLmhhc2gsdGhpcy5LKX07SG1hY0RSQkcucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24gdXBkYXRlKHNlZWQpe3ZhciBrbWFjPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS51cGRhdGUoWzBdKTtpZihzZWVkKWttYWM9a21hYy51cGRhdGUoc2VlZCk7dGhpcy5LPWttYWMuZGlnZXN0KCk7dGhpcy5WPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKTtpZighc2VlZClyZXR1cm47dGhpcy5LPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS51cGRhdGUoWzFdKS51cGRhdGUoc2VlZCkuZGlnZXN0KCk7dGhpcy5WPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKX07SG1hY0RSQkcucHJvdG90eXBlLnJlc2VlZD1mdW5jdGlvbiByZXNlZWQoZW50cm9weSxlbnRyb3B5RW5jLGFkZCxhZGRFbmMpe2lmKHR5cGVvZiBlbnRyb3B5RW5jIT09InN0cmluZyIpe2FkZEVuYz1hZGQ7YWRkPWVudHJvcHlFbmM7ZW50cm9weUVuYz1udWxsfWVudHJvcHk9dXRpbHNfMS50b0FycmF5KGVudHJvcHksZW50cm9weUVuYyk7YWRkPXV0aWxzXzEudG9BcnJheShhZGQsYWRkRW5jKTttaW5pbWFsaXN0aWNBc3NlcnQoZW50cm9weS5sZW5ndGg+PXRoaXMubWluRW50cm9weS84LCJOb3QgZW5vdWdoIGVudHJvcHkuIE1pbmltdW0gaXM6ICIrdGhpcy5taW5FbnRyb3B5KyIgYml0cyIpO3RoaXMuX3VwZGF0ZShlbnRyb3B5LmNvbmNhdChhZGR8fFtdKSk7dGhpcy5fcmVzZWVkPTF9O0htYWNEUkJHLnByb3RvdHlwZS5nZW5lcmF0ZT1mdW5jdGlvbiBnZW5lcmF0ZShsZW4sZW5jLGFkZCxhZGRFbmMpe2lmKHRoaXMuX3Jlc2VlZD50aGlzLnJlc2VlZEludGVydmFsKXRocm93IG5ldyBFcnJvcigiUmVzZWVkIGlzIHJlcXVpcmVkIik7aWYodHlwZW9mIGVuYyE9PSJzdHJpbmciKXthZGRFbmM9YWRkO2FkZD1lbmM7ZW5jPW51bGx9aWYoYWRkKXthZGQ9dXRpbHNfMS50b0FycmF5KGFkZCxhZGRFbmN8fCJoZXgiKTt0aGlzLl91cGRhdGUoYWRkKX12YXIgdGVtcD1bXTt3aGlsZSh0ZW1wLmxlbmd0aDxsZW4pe3RoaXMuVj10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikuZGlnZXN0KCk7dGVtcD10ZW1wLmNvbmNhdCh0aGlzLlYpfXZhciByZXM9dGVtcC5zbGljZSgwLGxlbik7dGhpcy5fdXBkYXRlKGFkZCk7dGhpcy5fcmVzZWVkKys7cmV0dXJuIHV0aWxzXzEuZW5jb2RlKHJlcyxlbmMpfTsidXNlIHN0cmljdCI7dmFyIGFzc2VydCQzPXV0aWxzXzEkMS5hc3NlcnQ7ZnVuY3Rpb24gS2V5UGFpcihlYyxvcHRpb25zKXt0aGlzLmVjPWVjO3RoaXMucHJpdj1udWxsO3RoaXMucHViPW51bGw7aWYob3B0aW9ucy5wcml2KXRoaXMuX2ltcG9ydFByaXZhdGUob3B0aW9ucy5wcml2LG9wdGlvbnMucHJpdkVuYyk7aWYob3B0aW9ucy5wdWIpdGhpcy5faW1wb3J0UHVibGljKG9wdGlvbnMucHViLG9wdGlvbnMucHViRW5jKX12YXIga2V5PUtleVBhaXI7S2V5UGFpci5mcm9tUHVibGljPWZ1bmN0aW9uIGZyb21QdWJsaWMoZWMscHViLGVuYyl7aWYocHViIGluc3RhbmNlb2YgS2V5UGFpcilyZXR1cm4gcHViO3JldHVybiBuZXcgS2V5UGFpcihlYyx7cHViOnB1YixwdWJFbmM6ZW5jfSl9O0tleVBhaXIuZnJvbVByaXZhdGU9ZnVuY3Rpb24gZnJvbVByaXZhdGUoZWMscHJpdixlbmMpe2lmKHByaXYgaW5zdGFuY2VvZiBLZXlQYWlyKXJldHVybiBwcml2O3JldHVybiBuZXcgS2V5UGFpcihlYyx7cHJpdjpwcml2LHByaXZFbmM6ZW5jfSl9O0tleVBhaXIucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uIHZhbGlkYXRlKCl7dmFyIHB1Yj10aGlzLmdldFB1YmxpYygpO2lmKHB1Yi5pc0luZmluaXR5KCkpcmV0dXJue3Jlc3VsdDpmYWxzZSxyZWFzb246IkludmFsaWQgcHVibGljIGtleSJ9O2lmKCFwdWIudmFsaWRhdGUoKSlyZXR1cm57cmVzdWx0OmZhbHNlLHJlYXNvbjoiUHVibGljIGtleSBpcyBub3QgYSBwb2ludCJ9O2lmKCFwdWIubXVsKHRoaXMuZWMuY3VydmUubikuaXNJbmZpbml0eSgpKXJldHVybntyZXN1bHQ6ZmFsc2UscmVhc29uOiJQdWJsaWMga2V5ICogTiAhPSBPIn07cmV0dXJue3Jlc3VsdDp0cnVlLHJlYXNvbjpudWxsfX07S2V5UGFpci5wcm90b3R5cGUuZ2V0UHVibGljPWZ1bmN0aW9uIGdldFB1YmxpYyhjb21wYWN0LGVuYyl7aWYodHlwZW9mIGNvbXBhY3Q9PT0ic3RyaW5nIil7ZW5jPWNvbXBhY3Q7Y29tcGFjdD1udWxsfWlmKCF0aGlzLnB1Yil0aGlzLnB1Yj10aGlzLmVjLmcubXVsKHRoaXMucHJpdik7aWYoIWVuYylyZXR1cm4gdGhpcy5wdWI7cmV0dXJuIHRoaXMucHViLmVuY29kZShlbmMsY29tcGFjdCl9O0tleVBhaXIucHJvdG90eXBlLmdldFByaXZhdGU9ZnVuY3Rpb24gZ2V0UHJpdmF0ZShlbmMpe2lmKGVuYz09PSJoZXgiKXJldHVybiB0aGlzLnByaXYudG9TdHJpbmcoMTYsMik7ZWxzZSByZXR1cm4gdGhpcy5wcml2fTtLZXlQYWlyLnByb3RvdHlwZS5faW1wb3J0UHJpdmF0ZT1mdW5jdGlvbiBfaW1wb3J0UHJpdmF0ZShrZXksZW5jKXt0aGlzLnByaXY9bmV3IGJuJDEoa2V5LGVuY3x8MTYpO3RoaXMucHJpdj10aGlzLnByaXYudW1vZCh0aGlzLmVjLmN1cnZlLm4pfTtLZXlQYWlyLnByb3RvdHlwZS5faW1wb3J0UHVibGljPWZ1bmN0aW9uIF9pbXBvcnRQdWJsaWMoa2V5LGVuYyl7aWYoa2V5Lnh8fGtleS55KXtpZih0aGlzLmVjLmN1cnZlLnR5cGU9PT0ibW9udCIpe2Fzc2VydCQzKGtleS54LCJOZWVkIHggY29vcmRpbmF0ZSIpfWVsc2UgaWYodGhpcy5lYy5jdXJ2ZS50eXBlPT09InNob3J0Inx8dGhpcy5lYy5jdXJ2ZS50eXBlPT09ImVkd2FyZHMiKXthc3NlcnQkMyhrZXkueCYma2V5LnksIk5lZWQgYm90aCB4IGFuZCB5IGNvb3JkaW5hdGUiKX10aGlzLnB1Yj10aGlzLmVjLmN1cnZlLnBvaW50KGtleS54LGtleS55KTtyZXR1cm59dGhpcy5wdWI9dGhpcy5lYy5jdXJ2ZS5kZWNvZGVQb2ludChrZXksZW5jKX07S2V5UGFpci5wcm90b3R5cGUuZGVyaXZlPWZ1bmN0aW9uIGRlcml2ZShwdWIpe2lmKCFwdWIudmFsaWRhdGUoKSl7YXNzZXJ0JDMocHViLnZhbGlkYXRlKCksInB1YmxpYyBwb2ludCBub3QgdmFsaWRhdGVkIil9cmV0dXJuIHB1Yi5tdWwodGhpcy5wcml2KS5nZXRYKCl9O0tleVBhaXIucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24gc2lnbihtc2csZW5jLG9wdGlvbnMpe3JldHVybiB0aGlzLmVjLnNpZ24obXNnLHRoaXMsZW5jLG9wdGlvbnMpfTtLZXlQYWlyLnByb3RvdHlwZS52ZXJpZnk9ZnVuY3Rpb24gdmVyaWZ5KG1zZyxzaWduYXR1cmUpe3JldHVybiB0aGlzLmVjLnZlcmlmeShtc2csc2lnbmF0dXJlLHRoaXMpfTtLZXlQYWlyLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uIGluc3BlY3QoKXtyZXR1cm4iPEtleSBwcml2OiAiKyh0aGlzLnByaXYmJnRoaXMucHJpdi50b1N0cmluZygxNiwyKSkrIiBwdWI6ICIrKHRoaXMucHViJiZ0aGlzLnB1Yi5pbnNwZWN0KCkpKyIgPiJ9OyJ1c2Ugc3RyaWN0Ijt2YXIgYXNzZXJ0JDQ9dXRpbHNfMSQxLmFzc2VydDtmdW5jdGlvbiBTaWduYXR1cmUob3B0aW9ucyxlbmMpe2lmKG9wdGlvbnMgaW5zdGFuY2VvZiBTaWduYXR1cmUpcmV0dXJuIG9wdGlvbnM7aWYodGhpcy5faW1wb3J0REVSKG9wdGlvbnMsZW5jKSlyZXR1cm47YXNzZXJ0JDQob3B0aW9ucy5yJiZvcHRpb25zLnMsIlNpZ25hdHVyZSB3aXRob3V0IHIgb3IgcyIpO3RoaXMucj1uZXcgYm4kMShvcHRpb25zLnIsMTYpO3RoaXMucz1uZXcgYm4kMShvcHRpb25zLnMsMTYpO2lmKG9wdGlvbnMucmVjb3ZlcnlQYXJhbT09PXVuZGVmaW5lZCl0aGlzLnJlY292ZXJ5UGFyYW09bnVsbDtlbHNlIHRoaXMucmVjb3ZlcnlQYXJhbT1vcHRpb25zLnJlY292ZXJ5UGFyYW19dmFyIHNpZ25hdHVyZT1TaWduYXR1cmU7ZnVuY3Rpb24gUG9zaXRpb24oKXt0aGlzLnBsYWNlPTB9ZnVuY3Rpb24gZ2V0TGVuZ3RoKGJ1ZixwKXt2YXIgaW5pdGlhbD1idWZbcC5wbGFjZSsrXTtpZighKGluaXRpYWwmMTI4KSl7cmV0dXJuIGluaXRpYWx9dmFyIG9jdGV0TGVuPWluaXRpYWwmMTU7aWYob2N0ZXRMZW49PT0wfHxvY3RldExlbj40KXtyZXR1cm4gZmFsc2V9dmFyIHZhbD0wO2Zvcih2YXIgaT0wLG9mZj1wLnBsYWNlO2k8b2N0ZXRMZW47aSsrLG9mZisrKXt2YWw8PD04O3ZhbHw9YnVmW29mZl07dmFsPj4+PTB9aWYodmFsPD0xMjcpe3JldHVybiBmYWxzZX1wLnBsYWNlPW9mZjtyZXR1cm4gdmFsfWZ1bmN0aW9uIHJtUGFkZGluZyhidWYpe3ZhciBpPTA7dmFyIGxlbj1idWYubGVuZ3RoLTE7d2hpbGUoIWJ1ZltpXSYmIShidWZbaSsxXSYxMjgpJiZpPGxlbil7aSsrfWlmKGk9PT0wKXtyZXR1cm4gYnVmfXJldHVybiBidWYuc2xpY2UoaSl9U2lnbmF0dXJlLnByb3RvdHlwZS5faW1wb3J0REVSPWZ1bmN0aW9uIF9pbXBvcnRERVIoZGF0YSxlbmMpe2RhdGE9dXRpbHNfMSQxLnRvQXJyYXkoZGF0YSxlbmMpO3ZhciBwPW5ldyBQb3NpdGlvbjtpZihkYXRhW3AucGxhY2UrK10hPT00OCl7cmV0dXJuIGZhbHNlfXZhciBsZW49Z2V0TGVuZ3RoKGRhdGEscCk7aWYobGVuPT09ZmFsc2Upe3JldHVybiBmYWxzZX1pZihsZW4rcC5wbGFjZSE9PWRhdGEubGVuZ3RoKXtyZXR1cm4gZmFsc2V9aWYoZGF0YVtwLnBsYWNlKytdIT09Mil7cmV0dXJuIGZhbHNlfXZhciBybGVuPWdldExlbmd0aChkYXRhLHApO2lmKHJsZW49PT1mYWxzZSl7cmV0dXJuIGZhbHNlfXZhciByPWRhdGEuc2xpY2UocC5wbGFjZSxybGVuK3AucGxhY2UpO3AucGxhY2UrPXJsZW47aWYoZGF0YVtwLnBsYWNlKytdIT09Mil7cmV0dXJuIGZhbHNlfXZhciBzbGVuPWdldExlbmd0aChkYXRhLHApO2lmKHNsZW49PT1mYWxzZSl7cmV0dXJuIGZhbHNlfWlmKGRhdGEubGVuZ3RoIT09c2xlbitwLnBsYWNlKXtyZXR1cm4gZmFsc2V9dmFyIHM9ZGF0YS5zbGljZShwLnBsYWNlLHNsZW4rcC5wbGFjZSk7aWYoclswXT09PTApe2lmKHJbMV0mMTI4KXtyPXIuc2xpY2UoMSl9ZWxzZXtyZXR1cm4gZmFsc2V9fWlmKHNbMF09PT0wKXtpZihzWzFdJjEyOCl7cz1zLnNsaWNlKDEpfWVsc2V7cmV0dXJuIGZhbHNlfX10aGlzLnI9bmV3IGJuJDEocik7dGhpcy5zPW5ldyBibiQxKHMpO3RoaXMucmVjb3ZlcnlQYXJhbT1udWxsO3JldHVybiB0cnVlfTtmdW5jdGlvbiBjb25zdHJ1Y3RMZW5ndGgoYXJyLGxlbil7aWYobGVuPDEyOCl7YXJyLnB1c2gobGVuKTtyZXR1cm59dmFyIG9jdGV0cz0xKyhNYXRoLmxvZyhsZW4pL01hdGguTE4yPj4+Myk7YXJyLnB1c2gob2N0ZXRzfDEyOCk7d2hpbGUoLS1vY3RldHMpe2Fyci5wdXNoKGxlbj4+PihvY3RldHM8PDMpJjI1NSl9YXJyLnB1c2gobGVuKX1TaWduYXR1cmUucHJvdG90eXBlLnRvREVSPWZ1bmN0aW9uIHRvREVSKGVuYyl7dmFyIHI9dGhpcy5yLnRvQXJyYXkoKTt2YXIgcz10aGlzLnMudG9BcnJheSgpO2lmKHJbMF0mMTI4KXI9WzBdLmNvbmNhdChyKTtpZihzWzBdJjEyOClzPVswXS5jb25jYXQocyk7cj1ybVBhZGRpbmcocik7cz1ybVBhZGRpbmcocyk7d2hpbGUoIXNbMF0mJiEoc1sxXSYxMjgpKXtzPXMuc2xpY2UoMSl9dmFyIGFycj1bMl07Y29uc3RydWN0TGVuZ3RoKGFycixyLmxlbmd0aCk7YXJyPWFyci5jb25jYXQocik7YXJyLnB1c2goMik7Y29uc3RydWN0TGVuZ3RoKGFycixzLmxlbmd0aCk7dmFyIGJhY2tIYWxmPWFyci5jb25jYXQocyk7dmFyIHJlcz1bNDhdO2NvbnN0cnVjdExlbmd0aChyZXMsYmFja0hhbGYubGVuZ3RoKTtyZXM9cmVzLmNvbmNhdChiYWNrSGFsZik7cmV0dXJuIHV0aWxzXzEkMS5lbmNvZGUocmVzLGVuYyl9OyJ1c2Ugc3RyaWN0Ijt2YXIgcmFuZD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigidW5zdXBwb3J0ZWQiKX07dmFyIGFzc2VydCQ1PXV0aWxzXzEkMS5hc3NlcnQ7ZnVuY3Rpb24gRUMob3B0aW9ucyl7aWYoISh0aGlzIGluc3RhbmNlb2YgRUMpKXJldHVybiBuZXcgRUMob3B0aW9ucyk7aWYodHlwZW9mIG9wdGlvbnM9PT0ic3RyaW5nIil7YXNzZXJ0JDUoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGN1cnZlc18xLG9wdGlvbnMpLCJVbmtub3duIGN1cnZlICIrb3B0aW9ucyk7b3B0aW9ucz1jdXJ2ZXNfMVtvcHRpb25zXX1pZihvcHRpb25zIGluc3RhbmNlb2YgY3VydmVzXzEuUHJlc2V0Q3VydmUpb3B0aW9ucz17Y3VydmU6b3B0aW9uc307dGhpcy5jdXJ2ZT1vcHRpb25zLmN1cnZlLmN1cnZlO3RoaXMubj10aGlzLmN1cnZlLm47dGhpcy5uaD10aGlzLm4udXNocm4oMSk7dGhpcy5nPXRoaXMuY3VydmUuZzt0aGlzLmc9b3B0aW9ucy5jdXJ2ZS5nO3RoaXMuZy5wcmVjb21wdXRlKG9wdGlvbnMuY3VydmUubi5iaXRMZW5ndGgoKSsxKTt0aGlzLmhhc2g9b3B0aW9ucy5oYXNofHxvcHRpb25zLmN1cnZlLmhhc2h9dmFyIGVjPUVDO0VDLnByb3RvdHlwZS5rZXlQYWlyPWZ1bmN0aW9uIGtleVBhaXIob3B0aW9ucyl7cmV0dXJuIG5ldyBrZXkodGhpcyxvcHRpb25zKX07RUMucHJvdG90eXBlLmtleUZyb21Qcml2YXRlPWZ1bmN0aW9uIGtleUZyb21Qcml2YXRlKHByaXYsZW5jKXtyZXR1cm4ga2V5LmZyb21Qcml2YXRlKHRoaXMscHJpdixlbmMpfTtFQy5wcm90b3R5cGUua2V5RnJvbVB1YmxpYz1mdW5jdGlvbiBrZXlGcm9tUHVibGljKHB1YixlbmMpe3JldHVybiBrZXkuZnJvbVB1YmxpYyh0aGlzLHB1YixlbmMpfTtFQy5wcm90b3R5cGUuZ2VuS2V5UGFpcj1mdW5jdGlvbiBnZW5LZXlQYWlyKG9wdGlvbnMpe2lmKCFvcHRpb25zKW9wdGlvbnM9e307dmFyIGRyYmc9bmV3IGhtYWNEcmJnKHtoYXNoOnRoaXMuaGFzaCxwZXJzOm9wdGlvbnMucGVycyxwZXJzRW5jOm9wdGlvbnMucGVyc0VuY3x8InV0ZjgiLGVudHJvcHk6b3B0aW9ucy5lbnRyb3B5fHxyYW5kKHRoaXMuaGFzaC5obWFjU3RyZW5ndGgpLGVudHJvcHlFbmM6b3B0aW9ucy5lbnRyb3B5JiZvcHRpb25zLmVudHJvcHlFbmN8fCJ1dGY4Iixub25jZTp0aGlzLm4udG9BcnJheSgpfSk7dmFyIGJ5dGVzPXRoaXMubi5ieXRlTGVuZ3RoKCk7dmFyIG5zMj10aGlzLm4uc3ViKG5ldyBibiQxKDIpKTtmb3IoOzspe3ZhciBwcml2PW5ldyBibiQxKGRyYmcuZ2VuZXJhdGUoYnl0ZXMpKTtpZihwcml2LmNtcChuczIpPjApY29udGludWU7cHJpdi5pYWRkbigxKTtyZXR1cm4gdGhpcy5rZXlGcm9tUHJpdmF0ZShwcml2KX19O0VDLnByb3RvdHlwZS5fdHJ1bmNhdGVUb049ZnVuY3Rpb24gX3RydW5jYXRlVG9OKG1zZyx0cnVuY09ubHkpe3ZhciBkZWx0YT1tc2cuYnl0ZUxlbmd0aCgpKjgtdGhpcy5uLmJpdExlbmd0aCgpO2lmKGRlbHRhPjApbXNnPW1zZy51c2hybihkZWx0YSk7aWYoIXRydW5jT25seSYmbXNnLmNtcCh0aGlzLm4pPj0wKXJldHVybiBtc2cuc3ViKHRoaXMubik7ZWxzZSByZXR1cm4gbXNnfTtFQy5wcm90b3R5cGUuc2lnbj1mdW5jdGlvbiBzaWduKG1zZyxrZXksZW5jLG9wdGlvbnMpe2lmKHR5cGVvZiBlbmM9PT0ib2JqZWN0Iil7b3B0aW9ucz1lbmM7ZW5jPW51bGx9aWYoIW9wdGlvbnMpb3B0aW9ucz17fTtrZXk9dGhpcy5rZXlGcm9tUHJpdmF0ZShrZXksZW5jKTttc2c9dGhpcy5fdHJ1bmNhdGVUb04obmV3IGJuJDEobXNnLDE2KSk7dmFyIGJ5dGVzPXRoaXMubi5ieXRlTGVuZ3RoKCk7dmFyIGJrZXk9a2V5LmdldFByaXZhdGUoKS50b0FycmF5KCJiZSIsYnl0ZXMpO3ZhciBub25jZT1tc2cudG9BcnJheSgiYmUiLGJ5dGVzKTt2YXIgZHJiZz1uZXcgaG1hY0RyYmcoe2hhc2g6dGhpcy5oYXNoLGVudHJvcHk6YmtleSxub25jZTpub25jZSxwZXJzOm9wdGlvbnMucGVycyxwZXJzRW5jOm9wdGlvbnMucGVyc0VuY3x8InV0ZjgifSk7dmFyIG5zMT10aGlzLm4uc3ViKG5ldyBibiQxKDEpKTtmb3IodmFyIGl0ZXI9MDs7aXRlcisrKXt2YXIgaz1vcHRpb25zLms/b3B0aW9ucy5rKGl0ZXIpOm5ldyBibiQxKGRyYmcuZ2VuZXJhdGUodGhpcy5uLmJ5dGVMZW5ndGgoKSkpO2s9dGhpcy5fdHJ1bmNhdGVUb04oayx0cnVlKTtpZihrLmNtcG4oMSk8PTB8fGsuY21wKG5zMSk+PTApY29udGludWU7dmFyIGtwPXRoaXMuZy5tdWwoayk7aWYoa3AuaXNJbmZpbml0eSgpKWNvbnRpbnVlO3ZhciBrcFg9a3AuZ2V0WCgpO3ZhciByPWtwWC51bW9kKHRoaXMubik7aWYoci5jbXBuKDApPT09MCljb250aW51ZTt2YXIgcz1rLmludm0odGhpcy5uKS5tdWwoci5tdWwoa2V5LmdldFByaXZhdGUoKSkuaWFkZChtc2cpKTtzPXMudW1vZCh0aGlzLm4pO2lmKHMuY21wbigwKT09PTApY29udGludWU7dmFyIHJlY292ZXJ5UGFyYW09KGtwLmdldFkoKS5pc09kZCgpPzE6MCl8KGtwWC5jbXAocikhPT0wPzI6MCk7aWYob3B0aW9ucy5jYW5vbmljYWwmJnMuY21wKHRoaXMubmgpPjApe3M9dGhpcy5uLnN1YihzKTtyZWNvdmVyeVBhcmFtXj0xfXJldHVybiBuZXcgc2lnbmF0dXJlKHtyOnIsczpzLHJlY292ZXJ5UGFyYW06cmVjb3ZlcnlQYXJhbX0pfX07RUMucHJvdG90eXBlLnZlcmlmeT1mdW5jdGlvbiB2ZXJpZnkobXNnLHNpZ25hdHVyZSQxLGtleSxlbmMpe21zZz10aGlzLl90cnVuY2F0ZVRvTihuZXcgYm4kMShtc2csMTYpKTtrZXk9dGhpcy5rZXlGcm9tUHVibGljKGtleSxlbmMpO3NpZ25hdHVyZSQxPW5ldyBzaWduYXR1cmUoc2lnbmF0dXJlJDEsImhleCIpO3ZhciByPXNpZ25hdHVyZSQxLnI7dmFyIHM9c2lnbmF0dXJlJDEucztpZihyLmNtcG4oMSk8MHx8ci5jbXAodGhpcy5uKT49MClyZXR1cm4gZmFsc2U7aWYocy5jbXBuKDEpPDB8fHMuY21wKHRoaXMubik+PTApcmV0dXJuIGZhbHNlO3ZhciBzaW52PXMuaW52bSh0aGlzLm4pO3ZhciB1MT1zaW52Lm11bChtc2cpLnVtb2QodGhpcy5uKTt2YXIgdTI9c2ludi5tdWwocikudW1vZCh0aGlzLm4pO3ZhciBwO2lmKCF0aGlzLmN1cnZlLl9tYXh3ZWxsVHJpY2spe3A9dGhpcy5nLm11bEFkZCh1MSxrZXkuZ2V0UHVibGljKCksdTIpO2lmKHAuaXNJbmZpbml0eSgpKXJldHVybiBmYWxzZTtyZXR1cm4gcC5nZXRYKCkudW1vZCh0aGlzLm4pLmNtcChyKT09PTB9cD10aGlzLmcuam11bEFkZCh1MSxrZXkuZ2V0UHVibGljKCksdTIpO2lmKHAuaXNJbmZpbml0eSgpKXJldHVybiBmYWxzZTtyZXR1cm4gcC5lcVhUb1Aocil9O0VDLnByb3RvdHlwZS5yZWNvdmVyUHViS2V5PWZ1bmN0aW9uKG1zZyxzaWduYXR1cmUkMSxqLGVuYyl7YXNzZXJ0JDUoKDMmaik9PT1qLCJUaGUgcmVjb3ZlcnkgcGFyYW0gaXMgbW9yZSB0aGFuIHR3byBiaXRzIik7c2lnbmF0dXJlJDE9bmV3IHNpZ25hdHVyZShzaWduYXR1cmUkMSxlbmMpO3ZhciBuPXRoaXMubjt2YXIgZT1uZXcgYm4kMShtc2cpO3ZhciByPXNpZ25hdHVyZSQxLnI7dmFyIHM9c2lnbmF0dXJlJDEuczt2YXIgaXNZT2RkPWomMTt2YXIgaXNTZWNvbmRLZXk9aj4+MTtpZihyLmNtcCh0aGlzLmN1cnZlLnAudW1vZCh0aGlzLmN1cnZlLm4pKT49MCYmaXNTZWNvbmRLZXkpdGhyb3cgbmV3IEVycm9yKCJVbmFibGUgdG8gZmluZCBzZW5jb25kIGtleSBjYW5kaW5hdGUiKTtpZihpc1NlY29uZEtleSlyPXRoaXMuY3VydmUucG9pbnRGcm9tWChyLmFkZCh0aGlzLmN1cnZlLm4pLGlzWU9kZCk7ZWxzZSByPXRoaXMuY3VydmUucG9pbnRGcm9tWChyLGlzWU9kZCk7dmFyIHJJbnY9c2lnbmF0dXJlJDEuci5pbnZtKG4pO3ZhciBzMT1uLnN1YihlKS5tdWwockludikudW1vZChuKTt2YXIgczI9cy5tdWwockludikudW1vZChuKTtyZXR1cm4gdGhpcy5nLm11bEFkZChzMSxyLHMyKX07RUMucHJvdG90eXBlLmdldEtleVJlY292ZXJ5UGFyYW09ZnVuY3Rpb24oZSxzaWduYXR1cmUkMSxRLGVuYyl7c2lnbmF0dXJlJDE9bmV3IHNpZ25hdHVyZShzaWduYXR1cmUkMSxlbmMpO2lmKHNpZ25hdHVyZSQxLnJlY292ZXJ5UGFyYW0hPT1udWxsKXJldHVybiBzaWduYXR1cmUkMS5yZWNvdmVyeVBhcmFtO2Zvcih2YXIgaT0wO2k8NDtpKyspe3ZhciBRcHJpbWU7dHJ5e1FwcmltZT10aGlzLnJlY292ZXJQdWJLZXkoZSxzaWduYXR1cmUkMSxpKX1jYXRjaChlKXtjb250aW51ZX1pZihRcHJpbWUuZXEoUSkpcmV0dXJuIGl9dGhyb3cgbmV3IEVycm9yKCJVbmFibGUgdG8gZmluZCB2YWxpZCByZWNvdmVyeSBmYWN0b3IiKX07dmFyIGVsbGlwdGljXzE9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgZWxsaXB0aWM9ZXhwb3J0cztlbGxpcHRpYy52ZXJzaW9uPXt2ZXJzaW9uOiI2LjUuNCJ9LnZlcnNpb247ZWxsaXB0aWMudXRpbHM9dXRpbHNfMSQxO2VsbGlwdGljLnJhbmQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIil9O2VsbGlwdGljLmN1cnZlPWN1cnZlXzE7ZWxsaXB0aWMuY3VydmVzPWN1cnZlc18xO2VsbGlwdGljLmVjPWVjO2VsbGlwdGljLmVkZHNhPW51bGx9KTt2YXIgZWxsaXB0aWM9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgX19pbXBvcnREZWZhdWx0PWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2ltcG9ydERlZmF1bHR8fGZ1bmN0aW9uKG1vZCl7cmV0dXJuIG1vZCYmbW9kLl9fZXNNb2R1bGU/bW9kOntkZWZhdWx0Om1vZH19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuRUM9dm9pZCAwO3ZhciBlbGxpcHRpY18xJDE9X19pbXBvcnREZWZhdWx0KGVsbGlwdGljXzEpO3ZhciBFQz1lbGxpcHRpY18xJDEuZGVmYXVsdC5lYztleHBvcnRzLkVDPUVDfSk7dmFyIGVsbGlwdGljJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoZWxsaXB0aWMpO3ZhciBfdmVyc2lvbiRtPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy52ZXJzaW9uPXZvaWQgMDtleHBvcnRzLnZlcnNpb249InNpZ25pbmcta2V5LzUuNy4wIn0pO3ZhciBfdmVyc2lvbiRuPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKF92ZXJzaW9uJG0pO3ZhciBsaWIkZz1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuY29tcHV0ZVB1YmxpY0tleT1leHBvcnRzLnJlY292ZXJQdWJsaWNLZXk9ZXhwb3J0cy5TaWduaW5nS2V5PXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJG0udmVyc2lvbik7dmFyIF9jdXJ2ZT1udWxsO2Z1bmN0aW9uIGdldEN1cnZlKCl7aWYoIV9jdXJ2ZSl7X2N1cnZlPW5ldyBlbGxpcHRpYy5FQygic2VjcDI1NmsxIil9cmV0dXJuIF9jdXJ2ZX12YXIgU2lnbmluZ0tleT1mdW5jdGlvbigpe2Z1bmN0aW9uIFNpZ25pbmdLZXkocHJpdmF0ZUtleSl7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImN1cnZlIiwic2VjcDI1NmsxIik7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsInByaXZhdGVLZXkiLCgwLGxpYiQxLmhleGxpZnkpKHByaXZhdGVLZXkpKTtpZigoMCxsaWIkMS5oZXhEYXRhTGVuZ3RoKSh0aGlzLnByaXZhdGVLZXkpIT09MzIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgcHJpdmF0ZSBrZXkiLCJwcml2YXRlS2V5IiwiW1sgUkVEQUNURUQgXV0iKX12YXIga2V5UGFpcj1nZXRDdXJ2ZSgpLmtleUZyb21Qcml2YXRlKCgwLGxpYiQxLmFycmF5aWZ5KSh0aGlzLnByaXZhdGVLZXkpKTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywicHVibGljS2V5IiwiMHgiK2tleVBhaXIuZ2V0UHVibGljKGZhbHNlLCJoZXgiKSk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImNvbXByZXNzZWRQdWJsaWNLZXkiLCIweCIra2V5UGFpci5nZXRQdWJsaWModHJ1ZSwiaGV4IikpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJfaXNTaWduaW5nS2V5Iix0cnVlKX1TaWduaW5nS2V5LnByb3RvdHlwZS5fYWRkUG9pbnQ9ZnVuY3Rpb24ob3RoZXIpe3ZhciBwMD1nZXRDdXJ2ZSgpLmtleUZyb21QdWJsaWMoKDAsbGliJDEuYXJyYXlpZnkpKHRoaXMucHVibGljS2V5KSk7dmFyIHAxPWdldEN1cnZlKCkua2V5RnJvbVB1YmxpYygoMCxsaWIkMS5hcnJheWlmeSkob3RoZXIpKTtyZXR1cm4iMHgiK3AwLnB1Yi5hZGQocDEucHViKS5lbmNvZGVDb21wcmVzc2VkKCJoZXgiKX07U2lnbmluZ0tleS5wcm90b3R5cGUuc2lnbkRpZ2VzdD1mdW5jdGlvbihkaWdlc3Qpe3ZhciBrZXlQYWlyPWdldEN1cnZlKCkua2V5RnJvbVByaXZhdGUoKDAsbGliJDEuYXJyYXlpZnkpKHRoaXMucHJpdmF0ZUtleSkpO3ZhciBkaWdlc3RCeXRlcz0oMCxsaWIkMS5hcnJheWlmeSkoZGlnZXN0KTtpZihkaWdlc3RCeXRlcy5sZW5ndGghPT0zMil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiYmFkIGRpZ2VzdCBsZW5ndGgiLCJkaWdlc3QiLGRpZ2VzdCl9dmFyIHNpZ25hdHVyZT1rZXlQYWlyLnNpZ24oZGlnZXN0Qnl0ZXMse2Nhbm9uaWNhbDp0cnVlfSk7cmV0dXJuKDAsbGliJDEuc3BsaXRTaWduYXR1cmUpKHtyZWNvdmVyeVBhcmFtOnNpZ25hdHVyZS5yZWNvdmVyeVBhcmFtLHI6KDAsbGliJDEuaGV4WmVyb1BhZCkoIjB4IitzaWduYXR1cmUuci50b1N0cmluZygxNiksMzIpLHM6KDAsbGliJDEuaGV4WmVyb1BhZCkoIjB4IitzaWduYXR1cmUucy50b1N0cmluZygxNiksMzIpfSl9O1NpZ25pbmdLZXkucHJvdG90eXBlLmNvbXB1dGVTaGFyZWRTZWNyZXQ9ZnVuY3Rpb24ob3RoZXJLZXkpe3ZhciBrZXlQYWlyPWdldEN1cnZlKCkua2V5RnJvbVByaXZhdGUoKDAsbGliJDEuYXJyYXlpZnkpKHRoaXMucHJpdmF0ZUtleSkpO3ZhciBvdGhlcktleVBhaXI9Z2V0Q3VydmUoKS5rZXlGcm9tUHVibGljKCgwLGxpYiQxLmFycmF5aWZ5KShjb21wdXRlUHVibGljS2V5KG90aGVyS2V5KSkpO3JldHVybigwLGxpYiQxLmhleFplcm9QYWQpKCIweCIra2V5UGFpci5kZXJpdmUob3RoZXJLZXlQYWlyLmdldFB1YmxpYygpKS50b1N0cmluZygxNiksMzIpfTtTaWduaW5nS2V5LmlzU2lnbmluZ0tleT1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuISEodmFsdWUmJnZhbHVlLl9pc1NpZ25pbmdLZXkpfTtyZXR1cm4gU2lnbmluZ0tleX0oKTtleHBvcnRzLlNpZ25pbmdLZXk9U2lnbmluZ0tleTtmdW5jdGlvbiByZWNvdmVyUHVibGljS2V5KGRpZ2VzdCxzaWduYXR1cmUpe3ZhciBzaWc9KDAsbGliJDEuc3BsaXRTaWduYXR1cmUpKHNpZ25hdHVyZSk7dmFyIHJzPXtyOigwLGxpYiQxLmFycmF5aWZ5KShzaWcuciksczooMCxsaWIkMS5hcnJheWlmeSkoc2lnLnMpfTtyZXR1cm4iMHgiK2dldEN1cnZlKCkucmVjb3ZlclB1YktleSgoMCxsaWIkMS5hcnJheWlmeSkoZGlnZXN0KSxycyxzaWcucmVjb3ZlcnlQYXJhbSkuZW5jb2RlKCJoZXgiLGZhbHNlKX1leHBvcnRzLnJlY292ZXJQdWJsaWNLZXk9cmVjb3ZlclB1YmxpY0tleTtmdW5jdGlvbiBjb21wdXRlUHVibGljS2V5KGtleSxjb21wcmVzc2VkKXt2YXIgYnl0ZXM9KDAsbGliJDEuYXJyYXlpZnkpKGtleSk7aWYoYnl0ZXMubGVuZ3RoPT09MzIpe3ZhciBzaWduaW5nS2V5PW5ldyBTaWduaW5nS2V5KGJ5dGVzKTtpZihjb21wcmVzc2VkKXtyZXR1cm4iMHgiK2dldEN1cnZlKCkua2V5RnJvbVByaXZhdGUoYnl0ZXMpLmdldFB1YmxpYyh0cnVlLCJoZXgiKX1yZXR1cm4gc2lnbmluZ0tleS5wdWJsaWNLZXl9ZWxzZSBpZihieXRlcy5sZW5ndGg9PT0zMyl7aWYoY29tcHJlc3NlZCl7cmV0dXJuKDAsbGliJDEuaGV4bGlmeSkoYnl0ZXMpfXJldHVybiIweCIrZ2V0Q3VydmUoKS5rZXlGcm9tUHVibGljKGJ5dGVzKS5nZXRQdWJsaWMoZmFsc2UsImhleCIpfWVsc2UgaWYoYnl0ZXMubGVuZ3RoPT09NjUpe2lmKCFjb21wcmVzc2VkKXtyZXR1cm4oMCxsaWIkMS5oZXhsaWZ5KShieXRlcyl9cmV0dXJuIjB4IitnZXRDdXJ2ZSgpLmtleUZyb21QdWJsaWMoYnl0ZXMpLmdldFB1YmxpYyh0cnVlLCJoZXgiKX1yZXR1cm4gbG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBwdWJsaWMgb3IgcHJpdmF0ZSBrZXkiLCJrZXkiLCJbUkVEQUNURURdIil9ZXhwb3J0cy5jb21wdXRlUHVibGljS2V5PWNvbXB1dGVQdWJsaWNLZXl9KTt2YXIgaW5kZXgkZT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhsaWIkZyk7dmFyIF92ZXJzaW9uJG89Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnZlcnNpb249dm9pZCAwO2V4cG9ydHMudmVyc2lvbj0idHJhbnNhY3Rpb25zLzUuNy4wIn0pO3ZhciBfdmVyc2lvbiRwPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKF92ZXJzaW9uJG8pO3ZhciBsaWIkaD1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO3ZhciBfX2NyZWF0ZUJpbmRpbmc9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24obyxtLGssazIpe2lmKGsyPT09dW5kZWZpbmVkKWsyPWs7T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sazIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbVtrXX19KX06ZnVuY3Rpb24obyxtLGssazIpe2lmKGsyPT09dW5kZWZpbmVkKWsyPWs7b1trMl09bVtrXX0pO3ZhciBfX3NldE1vZHVsZURlZmF1bHQ9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fc2V0TW9kdWxlRGVmYXVsdHx8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24obyx2KXtPYmplY3QuZGVmaW5lUHJvcGVydHkobywiZGVmYXVsdCIse2VudW1lcmFibGU6dHJ1ZSx2YWx1ZTp2fSl9OmZ1bmN0aW9uKG8sdil7b1siZGVmYXVsdCJdPXZ9KTt2YXIgX19pbXBvcnRTdGFyPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2ltcG9ydFN0YXJ8fGZ1bmN0aW9uKG1vZCl7aWYobW9kJiZtb2QuX19lc01vZHVsZSlyZXR1cm4gbW9kO3ZhciByZXN1bHQ9e307aWYobW9kIT1udWxsKWZvcih2YXIgayBpbiBtb2QpaWYoayE9PSJkZWZhdWx0IiYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCxrKSlfX2NyZWF0ZUJpbmRpbmcocmVzdWx0LG1vZCxrKTtfX3NldE1vZHVsZURlZmF1bHQocmVzdWx0LG1vZCk7cmV0dXJuIHJlc3VsdH07T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5wYXJzZT1leHBvcnRzLnNlcmlhbGl6ZT1leHBvcnRzLmFjY2Vzc0xpc3RpZnk9ZXhwb3J0cy5yZWNvdmVyQWRkcmVzcz1leHBvcnRzLmNvbXB1dGVBZGRyZXNzPWV4cG9ydHMuVHJhbnNhY3Rpb25UeXBlcz12b2lkIDA7dmFyIFJMUD1fX2ltcG9ydFN0YXIobGliJDUpO3ZhciBsb2dnZXI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kby52ZXJzaW9uKTt2YXIgVHJhbnNhY3Rpb25UeXBlczsoZnVuY3Rpb24oVHJhbnNhY3Rpb25UeXBlcyl7VHJhbnNhY3Rpb25UeXBlc1tUcmFuc2FjdGlvblR5cGVzWyJsZWdhY3kiXT0wXT0ibGVnYWN5IjtUcmFuc2FjdGlvblR5cGVzW1RyYW5zYWN0aW9uVHlwZXNbImVpcDI5MzAiXT0xXT0iZWlwMjkzMCI7VHJhbnNhY3Rpb25UeXBlc1tUcmFuc2FjdGlvblR5cGVzWyJlaXAxNTU5Il09Ml09ImVpcDE1NTkifSkoVHJhbnNhY3Rpb25UeXBlcz1leHBvcnRzLlRyYW5zYWN0aW9uVHlwZXN8fChleHBvcnRzLlRyYW5zYWN0aW9uVHlwZXM9e30pKTtmdW5jdGlvbiBoYW5kbGVBZGRyZXNzKHZhbHVlKXtpZih2YWx1ZT09PSIweCIpe3JldHVybiBudWxsfXJldHVybigwLGxpYiQ2LmdldEFkZHJlc3MpKHZhbHVlKX1mdW5jdGlvbiBoYW5kbGVOdW1iZXIodmFsdWUpe2lmKHZhbHVlPT09IjB4Iil7cmV0dXJuIGxpYiQ3Llplcm99cmV0dXJuIGxpYiQyLkJpZ051bWJlci5mcm9tKHZhbHVlKX12YXIgdHJhbnNhY3Rpb25GaWVsZHM9W3tuYW1lOiJub25jZSIsbWF4TGVuZ3RoOjMyLG51bWVyaWM6dHJ1ZX0se25hbWU6Imdhc1ByaWNlIixtYXhMZW5ndGg6MzIsbnVtZXJpYzp0cnVlfSx7bmFtZToiZ2FzTGltaXQiLG1heExlbmd0aDozMixudW1lcmljOnRydWV9LHtuYW1lOiJ0byIsbGVuZ3RoOjIwfSx7bmFtZToidmFsdWUiLG1heExlbmd0aDozMixudW1lcmljOnRydWV9LHtuYW1lOiJkYXRhIn1dO3ZhciBhbGxvd2VkVHJhbnNhY3Rpb25LZXlzPXtjaGFpbklkOnRydWUsZGF0YTp0cnVlLGdhc0xpbWl0OnRydWUsZ2FzUHJpY2U6dHJ1ZSxub25jZTp0cnVlLHRvOnRydWUsdHlwZTp0cnVlLHZhbHVlOnRydWV9O2Z1bmN0aW9uIGNvbXB1dGVBZGRyZXNzKGtleSl7dmFyIHB1YmxpY0tleT0oMCxsaWIkZy5jb21wdXRlUHVibGljS2V5KShrZXkpO3JldHVybigwLGxpYiQ2LmdldEFkZHJlc3MpKCgwLGxpYiQxLmhleERhdGFTbGljZSkoKDAsbGliJDQua2VjY2FrMjU2KSgoMCxsaWIkMS5oZXhEYXRhU2xpY2UpKHB1YmxpY0tleSwxKSksMTIpKX1leHBvcnRzLmNvbXB1dGVBZGRyZXNzPWNvbXB1dGVBZGRyZXNzO2Z1bmN0aW9uIHJlY292ZXJBZGRyZXNzKGRpZ2VzdCxzaWduYXR1cmUpe3JldHVybiBjb21wdXRlQWRkcmVzcygoMCxsaWIkZy5yZWNvdmVyUHVibGljS2V5KSgoMCxsaWIkMS5hcnJheWlmeSkoZGlnZXN0KSxzaWduYXR1cmUpKX1leHBvcnRzLnJlY292ZXJBZGRyZXNzPXJlY292ZXJBZGRyZXNzO2Z1bmN0aW9uIGZvcm1hdE51bWJlcih2YWx1ZSxuYW1lKXt2YXIgcmVzdWx0PSgwLGxpYiQxLnN0cmlwWmVyb3MpKGxpYiQyLkJpZ051bWJlci5mcm9tKHZhbHVlKS50b0hleFN0cmluZygpKTtpZihyZXN1bHQubGVuZ3RoPjMyKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGxlbmd0aCBmb3IgIituYW1lLCJ0cmFuc2FjdGlvbjoiK25hbWUsdmFsdWUpfXJldHVybiByZXN1bHR9ZnVuY3Rpb24gYWNjZXNzU2V0aWZ5KGFkZHIsc3RvcmFnZUtleXMpe3JldHVybnthZGRyZXNzOigwLGxpYiQ2LmdldEFkZHJlc3MpKGFkZHIpLHN0b3JhZ2VLZXlzOihzdG9yYWdlS2V5c3x8W10pLm1hcChmdW5jdGlvbihzdG9yYWdlS2V5LGluZGV4KXtpZigoMCxsaWIkMS5oZXhEYXRhTGVuZ3RoKShzdG9yYWdlS2V5KSE9PTMyKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGFjY2VzcyBsaXN0IHN0b3JhZ2VLZXkiLCJhY2Nlc3NMaXN0WyIrYWRkcisiOiIraW5kZXgrIl0iLHN0b3JhZ2VLZXkpfXJldHVybiBzdG9yYWdlS2V5LnRvTG93ZXJDYXNlKCl9KX19ZnVuY3Rpb24gYWNjZXNzTGlzdGlmeSh2YWx1ZSl7aWYoQXJyYXkuaXNBcnJheSh2YWx1ZSkpe3JldHVybiB2YWx1ZS5tYXAoZnVuY3Rpb24oc2V0LGluZGV4KXtpZihBcnJheS5pc0FycmF5KHNldCkpe2lmKHNldC5sZW5ndGg+Mil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiYWNjZXNzIGxpc3QgZXhwZWN0ZWQgdG8gYmUgWyBhZGRyZXNzLCBzdG9yYWdlS2V5c1tdIF0iLCJ2YWx1ZVsiK2luZGV4KyJdIixzZXQpfXJldHVybiBhY2Nlc3NTZXRpZnkoc2V0WzBdLHNldFsxXSl9cmV0dXJuIGFjY2Vzc1NldGlmeShzZXQuYWRkcmVzcyxzZXQuc3RvcmFnZUtleXMpfSl9dmFyIHJlc3VsdD1PYmplY3Qua2V5cyh2YWx1ZSkubWFwKGZ1bmN0aW9uKGFkZHIpe3ZhciBzdG9yYWdlS2V5cz12YWx1ZVthZGRyXS5yZWR1Y2UoZnVuY3Rpb24oYWNjdW0sc3RvcmFnZUtleSl7YWNjdW1bc3RvcmFnZUtleV09dHJ1ZTtyZXR1cm4gYWNjdW19LHt9KTtyZXR1cm4gYWNjZXNzU2V0aWZ5KGFkZHIsT2JqZWN0LmtleXMoc3RvcmFnZUtleXMpLnNvcnQoKSl9KTtyZXN1bHQuc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhLmFkZHJlc3MubG9jYWxlQ29tcGFyZShiLmFkZHJlc3MpfSk7cmV0dXJuIHJlc3VsdH1leHBvcnRzLmFjY2Vzc0xpc3RpZnk9YWNjZXNzTGlzdGlmeTtmdW5jdGlvbiBmb3JtYXRBY2Nlc3NMaXN0KHZhbHVlKXtyZXR1cm4gYWNjZXNzTGlzdGlmeSh2YWx1ZSkubWFwKGZ1bmN0aW9uKHNldCl7cmV0dXJuW3NldC5hZGRyZXNzLHNldC5zdG9yYWdlS2V5c119KX1mdW5jdGlvbiBfc2VyaWFsaXplRWlwMTU1OSh0cmFuc2FjdGlvbixzaWduYXR1cmUpe2lmKHRyYW5zYWN0aW9uLmdhc1ByaWNlIT1udWxsKXt2YXIgZ2FzUHJpY2U9bGliJDIuQmlnTnVtYmVyLmZyb20odHJhbnNhY3Rpb24uZ2FzUHJpY2UpO3ZhciBtYXhGZWVQZXJHYXM9bGliJDIuQmlnTnVtYmVyLmZyb20odHJhbnNhY3Rpb24ubWF4RmVlUGVyR2FzfHwwKTtpZighZ2FzUHJpY2UuZXEobWF4RmVlUGVyR2FzKSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigibWlzbWF0Y2ggRUlQLTE1NTkgZ2FzUHJpY2UgIT0gbWF4RmVlUGVyR2FzIiwidHgiLHtnYXNQcmljZTpnYXNQcmljZSxtYXhGZWVQZXJHYXM6bWF4RmVlUGVyR2FzfSl9fXZhciBmaWVsZHM9W2Zvcm1hdE51bWJlcih0cmFuc2FjdGlvbi5jaGFpbklkfHwwLCJjaGFpbklkIiksZm9ybWF0TnVtYmVyKHRyYW5zYWN0aW9uLm5vbmNlfHwwLCJub25jZSIpLGZvcm1hdE51bWJlcih0cmFuc2FjdGlvbi5tYXhQcmlvcml0eUZlZVBlckdhc3x8MCwibWF4UHJpb3JpdHlGZWVQZXJHYXMiKSxmb3JtYXROdW1iZXIodHJhbnNhY3Rpb24ubWF4RmVlUGVyR2FzfHwwLCJtYXhGZWVQZXJHYXMiKSxmb3JtYXROdW1iZXIodHJhbnNhY3Rpb24uZ2FzTGltaXR8fDAsImdhc0xpbWl0IiksdHJhbnNhY3Rpb24udG8hPW51bGw/KDAsbGliJDYuZ2V0QWRkcmVzcykodHJhbnNhY3Rpb24udG8pOiIweCIsZm9ybWF0TnVtYmVyKHRyYW5zYWN0aW9uLnZhbHVlfHwwLCJ2YWx1ZSIpLHRyYW5zYWN0aW9uLmRhdGF8fCIweCIsZm9ybWF0QWNjZXNzTGlzdCh0cmFuc2FjdGlvbi5hY2Nlc3NMaXN0fHxbXSldO2lmKHNpZ25hdHVyZSl7dmFyIHNpZz0oMCxsaWIkMS5zcGxpdFNpZ25hdHVyZSkoc2lnbmF0dXJlKTtmaWVsZHMucHVzaChmb3JtYXROdW1iZXIoc2lnLnJlY292ZXJ5UGFyYW0sInJlY292ZXJ5UGFyYW0iKSk7ZmllbGRzLnB1c2goKDAsbGliJDEuc3RyaXBaZXJvcykoc2lnLnIpKTtmaWVsZHMucHVzaCgoMCxsaWIkMS5zdHJpcFplcm9zKShzaWcucykpfXJldHVybigwLGxpYiQxLmhleENvbmNhdCkoWyIweDAyIixSTFAuZW5jb2RlKGZpZWxkcyldKX1mdW5jdGlvbiBfc2VyaWFsaXplRWlwMjkzMCh0cmFuc2FjdGlvbixzaWduYXR1cmUpe3ZhciBmaWVsZHM9W2Zvcm1hdE51bWJlcih0cmFuc2FjdGlvbi5jaGFpbklkfHwwLCJjaGFpbklkIiksZm9ybWF0TnVtYmVyKHRyYW5zYWN0aW9uLm5vbmNlfHwwLCJub25jZSIpLGZvcm1hdE51bWJlcih0cmFuc2FjdGlvbi5nYXNQcmljZXx8MCwiZ2FzUHJpY2UiKSxmb3JtYXROdW1iZXIodHJhbnNhY3Rpb24uZ2FzTGltaXR8fDAsImdhc0xpbWl0IiksdHJhbnNhY3Rpb24udG8hPW51bGw/KDAsbGliJDYuZ2V0QWRkcmVzcykodHJhbnNhY3Rpb24udG8pOiIweCIsZm9ybWF0TnVtYmVyKHRyYW5zYWN0aW9uLnZhbHVlfHwwLCJ2YWx1ZSIpLHRyYW5zYWN0aW9uLmRhdGF8fCIweCIsZm9ybWF0QWNjZXNzTGlzdCh0cmFuc2FjdGlvbi5hY2Nlc3NMaXN0fHxbXSldO2lmKHNpZ25hdHVyZSl7dmFyIHNpZz0oMCxsaWIkMS5zcGxpdFNpZ25hdHVyZSkoc2lnbmF0dXJlKTtmaWVsZHMucHVzaChmb3JtYXROdW1iZXIoc2lnLnJlY292ZXJ5UGFyYW0sInJlY292ZXJ5UGFyYW0iKSk7ZmllbGRzLnB1c2goKDAsbGliJDEuc3RyaXBaZXJvcykoc2lnLnIpKTtmaWVsZHMucHVzaCgoMCxsaWIkMS5zdHJpcFplcm9zKShzaWcucykpfXJldHVybigwLGxpYiQxLmhleENvbmNhdCkoWyIweDAxIixSTFAuZW5jb2RlKGZpZWxkcyldKX1mdW5jdGlvbiBfc2VyaWFsaXplKHRyYW5zYWN0aW9uLHNpZ25hdHVyZSl7KDAsbGliJDMuY2hlY2tQcm9wZXJ0aWVzKSh0cmFuc2FjdGlvbixhbGxvd2VkVHJhbnNhY3Rpb25LZXlzKTt2YXIgcmF3PVtdO3RyYW5zYWN0aW9uRmllbGRzLmZvckVhY2goZnVuY3Rpb24oZmllbGRJbmZvKXt2YXIgdmFsdWU9dHJhbnNhY3Rpb25bZmllbGRJbmZvLm5hbWVdfHxbXTt2YXIgb3B0aW9ucz17fTtpZihmaWVsZEluZm8ubnVtZXJpYyl7b3B0aW9ucy5oZXhQYWQ9ImxlZnQifXZhbHVlPSgwLGxpYiQxLmFycmF5aWZ5KSgoMCxsaWIkMS5oZXhsaWZ5KSh2YWx1ZSxvcHRpb25zKSk7aWYoZmllbGRJbmZvLmxlbmd0aCYmdmFsdWUubGVuZ3RoIT09ZmllbGRJbmZvLmxlbmd0aCYmdmFsdWUubGVuZ3RoPjApe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgbGVuZ3RoIGZvciAiK2ZpZWxkSW5mby5uYW1lLCJ0cmFuc2FjdGlvbjoiK2ZpZWxkSW5mby5uYW1lLHZhbHVlKX1pZihmaWVsZEluZm8ubWF4TGVuZ3RoKXt2YWx1ZT0oMCxsaWIkMS5zdHJpcFplcm9zKSh2YWx1ZSk7aWYodmFsdWUubGVuZ3RoPmZpZWxkSW5mby5tYXhMZW5ndGgpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgbGVuZ3RoIGZvciAiK2ZpZWxkSW5mby5uYW1lLCJ0cmFuc2FjdGlvbjoiK2ZpZWxkSW5mby5uYW1lLHZhbHVlKX19cmF3LnB1c2goKDAsbGliJDEuaGV4bGlmeSkodmFsdWUpKX0pO3ZhciBjaGFpbklkPTA7aWYodHJhbnNhY3Rpb24uY2hhaW5JZCE9bnVsbCl7Y2hhaW5JZD10cmFuc2FjdGlvbi5jaGFpbklkO2lmKHR5cGVvZiBjaGFpbklkIT09Im51bWJlciIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgdHJhbnNhY3Rpb24uY2hhaW5JZCIsInRyYW5zYWN0aW9uIix0cmFuc2FjdGlvbil9fWVsc2UgaWYoc2lnbmF0dXJlJiYhKDAsbGliJDEuaXNCeXRlc0xpa2UpKHNpZ25hdHVyZSkmJnNpZ25hdHVyZS52PjI4KXtjaGFpbklkPU1hdGguZmxvb3IoKHNpZ25hdHVyZS52LTM1KS8yKX1pZihjaGFpbklkIT09MCl7cmF3LnB1c2goKDAsbGliJDEuaGV4bGlmeSkoY2hhaW5JZCkpO3Jhdy5wdXNoKCIweCIpO3Jhdy5wdXNoKCIweCIpfWlmKCFzaWduYXR1cmUpe3JldHVybiBSTFAuZW5jb2RlKHJhdyl9dmFyIHNpZz0oMCxsaWIkMS5zcGxpdFNpZ25hdHVyZSkoc2lnbmF0dXJlKTt2YXIgdj0yNytzaWcucmVjb3ZlcnlQYXJhbTtpZihjaGFpbklkIT09MCl7cmF3LnBvcCgpO3Jhdy5wb3AoKTtyYXcucG9wKCk7dis9Y2hhaW5JZCoyKzg7aWYoc2lnLnY+MjgmJnNpZy52IT09dil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidHJhbnNhY3Rpb24uY2hhaW5JZC9zaWduYXR1cmUudiBtaXNtYXRjaCIsInNpZ25hdHVyZSIsc2lnbmF0dXJlKX19ZWxzZSBpZihzaWcudiE9PXYpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInRyYW5zYWN0aW9uLmNoYWluSWQvc2lnbmF0dXJlLnYgbWlzbWF0Y2giLCJzaWduYXR1cmUiLHNpZ25hdHVyZSl9cmF3LnB1c2goKDAsbGliJDEuaGV4bGlmeSkodikpO3Jhdy5wdXNoKCgwLGxpYiQxLnN0cmlwWmVyb3MpKCgwLGxpYiQxLmFycmF5aWZ5KShzaWcucikpKTtyYXcucHVzaCgoMCxsaWIkMS5zdHJpcFplcm9zKSgoMCxsaWIkMS5hcnJheWlmeSkoc2lnLnMpKSk7cmV0dXJuIFJMUC5lbmNvZGUocmF3KX1mdW5jdGlvbiBzZXJpYWxpemUodHJhbnNhY3Rpb24sc2lnbmF0dXJlKXtpZih0cmFuc2FjdGlvbi50eXBlPT1udWxsfHx0cmFuc2FjdGlvbi50eXBlPT09MCl7aWYodHJhbnNhY3Rpb24uYWNjZXNzTGlzdCE9bnVsbCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidW50eXBlZCB0cmFuc2FjdGlvbnMgZG8gbm90IHN1cHBvcnQgYWNjZXNzTGlzdDsgaW5jbHVkZSB0eXBlOiAxIiwidHJhbnNhY3Rpb24iLHRyYW5zYWN0aW9uKX1yZXR1cm4gX3NlcmlhbGl6ZSh0cmFuc2FjdGlvbixzaWduYXR1cmUpfXN3aXRjaCh0cmFuc2FjdGlvbi50eXBlKXtjYXNlIDE6cmV0dXJuIF9zZXJpYWxpemVFaXAyOTMwKHRyYW5zYWN0aW9uLHNpZ25hdHVyZSk7Y2FzZSAyOnJldHVybiBfc2VyaWFsaXplRWlwMTU1OSh0cmFuc2FjdGlvbixzaWduYXR1cmUpO2RlZmF1bHQ6YnJlYWt9cmV0dXJuIGxvZ2dlci50aHJvd0Vycm9yKCJ1bnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlOiAiK3RyYW5zYWN0aW9uLnR5cGUsbGliLkxvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246InNlcmlhbGl6ZVRyYW5zYWN0aW9uIix0cmFuc2FjdGlvblR5cGU6dHJhbnNhY3Rpb24udHlwZX0pfWV4cG9ydHMuc2VyaWFsaXplPXNlcmlhbGl6ZTtmdW5jdGlvbiBfcGFyc2VFaXBTaWduYXR1cmUodHgsZmllbGRzLHNlcmlhbGl6ZSl7dHJ5e3ZhciByZWNpZD1oYW5kbGVOdW1iZXIoZmllbGRzWzBdKS50b051bWJlcigpO2lmKHJlY2lkIT09MCYmcmVjaWQhPT0xKXt0aHJvdyBuZXcgRXJyb3IoImJhZCByZWNpZCIpfXR4LnY9cmVjaWR9Y2F0Y2goZXJyb3Ipe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgdiBmb3IgdHJhbnNhY3Rpb24gdHlwZTogMSIsInYiLGZpZWxkc1swXSl9dHgucj0oMCxsaWIkMS5oZXhaZXJvUGFkKShmaWVsZHNbMV0sMzIpO3R4LnM9KDAsbGliJDEuaGV4WmVyb1BhZCkoZmllbGRzWzJdLDMyKTt0cnl7dmFyIGRpZ2VzdD0oMCxsaWIkNC5rZWNjYWsyNTYpKHNlcmlhbGl6ZSh0eCkpO3R4LmZyb209cmVjb3ZlckFkZHJlc3MoZGlnZXN0LHtyOnR4LnIsczp0eC5zLHJlY292ZXJ5UGFyYW06dHgudn0pfWNhdGNoKGVycm9yKXt9fWZ1bmN0aW9uIF9wYXJzZUVpcDE1NTkocGF5bG9hZCl7dmFyIHRyYW5zYWN0aW9uPVJMUC5kZWNvZGUocGF5bG9hZC5zbGljZSgxKSk7aWYodHJhbnNhY3Rpb24ubGVuZ3RoIT09OSYmdHJhbnNhY3Rpb24ubGVuZ3RoIT09MTIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgY29tcG9uZW50IGNvdW50IGZvciB0cmFuc2FjdGlvbiB0eXBlOiAyIiwicGF5bG9hZCIsKDAsbGliJDEuaGV4bGlmeSkocGF5bG9hZCkpfXZhciBtYXhQcmlvcml0eUZlZVBlckdhcz1oYW5kbGVOdW1iZXIodHJhbnNhY3Rpb25bMl0pO3ZhciBtYXhGZWVQZXJHYXM9aGFuZGxlTnVtYmVyKHRyYW5zYWN0aW9uWzNdKTt2YXIgdHg9e3R5cGU6MixjaGFpbklkOmhhbmRsZU51bWJlcih0cmFuc2FjdGlvblswXSkudG9OdW1iZXIoKSxub25jZTpoYW5kbGVOdW1iZXIodHJhbnNhY3Rpb25bMV0pLnRvTnVtYmVyKCksbWF4UHJpb3JpdHlGZWVQZXJHYXM6bWF4UHJpb3JpdHlGZWVQZXJHYXMsbWF4RmVlUGVyR2FzOm1heEZlZVBlckdhcyxnYXNQcmljZTpudWxsLGdhc0xpbWl0OmhhbmRsZU51bWJlcih0cmFuc2FjdGlvbls0XSksdG86aGFuZGxlQWRkcmVzcyh0cmFuc2FjdGlvbls1XSksdmFsdWU6aGFuZGxlTnVtYmVyKHRyYW5zYWN0aW9uWzZdKSxkYXRhOnRyYW5zYWN0aW9uWzddLGFjY2Vzc0xpc3Q6YWNjZXNzTGlzdGlmeSh0cmFuc2FjdGlvbls4XSl9O2lmKHRyYW5zYWN0aW9uLmxlbmd0aD09PTkpe3JldHVybiB0eH10eC5oYXNoPSgwLGxpYiQ0LmtlY2NhazI1NikocGF5bG9hZCk7X3BhcnNlRWlwU2lnbmF0dXJlKHR4LHRyYW5zYWN0aW9uLnNsaWNlKDkpLF9zZXJpYWxpemVFaXAxNTU5KTtyZXR1cm4gdHh9ZnVuY3Rpb24gX3BhcnNlRWlwMjkzMChwYXlsb2FkKXt2YXIgdHJhbnNhY3Rpb249UkxQLmRlY29kZShwYXlsb2FkLnNsaWNlKDEpKTtpZih0cmFuc2FjdGlvbi5sZW5ndGghPT04JiZ0cmFuc2FjdGlvbi5sZW5ndGghPT0xMSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBjb21wb25lbnQgY291bnQgZm9yIHRyYW5zYWN0aW9uIHR5cGU6IDEiLCJwYXlsb2FkIiwoMCxsaWIkMS5oZXhsaWZ5KShwYXlsb2FkKSl9dmFyIHR4PXt0eXBlOjEsY2hhaW5JZDpoYW5kbGVOdW1iZXIodHJhbnNhY3Rpb25bMF0pLnRvTnVtYmVyKCksbm9uY2U6aGFuZGxlTnVtYmVyKHRyYW5zYWN0aW9uWzFdKS50b051bWJlcigpLGdhc1ByaWNlOmhhbmRsZU51bWJlcih0cmFuc2FjdGlvblsyXSksZ2FzTGltaXQ6aGFuZGxlTnVtYmVyKHRyYW5zYWN0aW9uWzNdKSx0bzpoYW5kbGVBZGRyZXNzKHRyYW5zYWN0aW9uWzRdKSx2YWx1ZTpoYW5kbGVOdW1iZXIodHJhbnNhY3Rpb25bNV0pLGRhdGE6dHJhbnNhY3Rpb25bNl0sYWNjZXNzTGlzdDphY2Nlc3NMaXN0aWZ5KHRyYW5zYWN0aW9uWzddKX07aWYodHJhbnNhY3Rpb24ubGVuZ3RoPT09OCl7cmV0dXJuIHR4fXR4Lmhhc2g9KDAsbGliJDQua2VjY2FrMjU2KShwYXlsb2FkKTtfcGFyc2VFaXBTaWduYXR1cmUodHgsdHJhbnNhY3Rpb24uc2xpY2UoOCksX3NlcmlhbGl6ZUVpcDI5MzApO3JldHVybiB0eH1mdW5jdGlvbiBfcGFyc2UocmF3VHJhbnNhY3Rpb24pe3ZhciB0cmFuc2FjdGlvbj1STFAuZGVjb2RlKHJhd1RyYW5zYWN0aW9uKTtpZih0cmFuc2FjdGlvbi5sZW5ndGghPT05JiZ0cmFuc2FjdGlvbi5sZW5ndGghPT02KXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbiIsInJhd1RyYW5zYWN0aW9uIixyYXdUcmFuc2FjdGlvbil9dmFyIHR4PXtub25jZTpoYW5kbGVOdW1iZXIodHJhbnNhY3Rpb25bMF0pLnRvTnVtYmVyKCksZ2FzUHJpY2U6aGFuZGxlTnVtYmVyKHRyYW5zYWN0aW9uWzFdKSxnYXNMaW1pdDpoYW5kbGVOdW1iZXIodHJhbnNhY3Rpb25bMl0pLHRvOmhhbmRsZUFkZHJlc3ModHJhbnNhY3Rpb25bM10pLHZhbHVlOmhhbmRsZU51bWJlcih0cmFuc2FjdGlvbls0XSksZGF0YTp0cmFuc2FjdGlvbls1XSxjaGFpbklkOjB9O2lmKHRyYW5zYWN0aW9uLmxlbmd0aD09PTYpe3JldHVybiB0eH10cnl7dHgudj1saWIkMi5CaWdOdW1iZXIuZnJvbSh0cmFuc2FjdGlvbls2XSkudG9OdW1iZXIoKX1jYXRjaChlcnJvcil7cmV0dXJuIHR4fXR4LnI9KDAsbGliJDEuaGV4WmVyb1BhZCkodHJhbnNhY3Rpb25bN10sMzIpO3R4LnM9KDAsbGliJDEuaGV4WmVyb1BhZCkodHJhbnNhY3Rpb25bOF0sMzIpO2lmKGxpYiQyLkJpZ051bWJlci5mcm9tKHR4LnIpLmlzWmVybygpJiZsaWIkMi5CaWdOdW1iZXIuZnJvbSh0eC5zKS5pc1plcm8oKSl7dHguY2hhaW5JZD10eC52O3R4LnY9MH1lbHNle3R4LmNoYWluSWQ9TWF0aC5mbG9vcigodHgudi0zNSkvMik7aWYodHguY2hhaW5JZDwwKXt0eC5jaGFpbklkPTB9dmFyIHJlY292ZXJ5UGFyYW09dHgudi0yNzt2YXIgcmF3PXRyYW5zYWN0aW9uLnNsaWNlKDAsNik7aWYodHguY2hhaW5JZCE9PTApe3Jhdy5wdXNoKCgwLGxpYiQxLmhleGxpZnkpKHR4LmNoYWluSWQpKTtyYXcucHVzaCgiMHgiKTtyYXcucHVzaCgiMHgiKTtyZWNvdmVyeVBhcmFtLT10eC5jaGFpbklkKjIrOH12YXIgZGlnZXN0PSgwLGxpYiQ0LmtlY2NhazI1NikoUkxQLmVuY29kZShyYXcpKTt0cnl7dHguZnJvbT1yZWNvdmVyQWRkcmVzcyhkaWdlc3Qse3I6KDAsbGliJDEuaGV4bGlmeSkodHguciksczooMCxsaWIkMS5oZXhsaWZ5KSh0eC5zKSxyZWNvdmVyeVBhcmFtOnJlY292ZXJ5UGFyYW19KX1jYXRjaChlcnJvcil7fXR4Lmhhc2g9KDAsbGliJDQua2VjY2FrMjU2KShyYXdUcmFuc2FjdGlvbil9dHgudHlwZT1udWxsO3JldHVybiB0eH1mdW5jdGlvbiBwYXJzZShyYXdUcmFuc2FjdGlvbil7dmFyIHBheWxvYWQ9KDAsbGliJDEuYXJyYXlpZnkpKHJhd1RyYW5zYWN0aW9uKTtpZihwYXlsb2FkWzBdPjEyNyl7cmV0dXJuIF9wYXJzZShwYXlsb2FkKX1zd2l0Y2gocGF5bG9hZFswXSl7Y2FzZSAxOnJldHVybiBfcGFyc2VFaXAyOTMwKHBheWxvYWQpO2Nhc2UgMjpyZXR1cm4gX3BhcnNlRWlwMTU1OShwYXlsb2FkKTtkZWZhdWx0OmJyZWFrfXJldHVybiBsb2dnZXIudGhyb3dFcnJvcigidW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gdHlwZTogIitwYXlsb2FkWzBdLGxpYi5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJwYXJzZVRyYW5zYWN0aW9uIix0cmFuc2FjdGlvblR5cGU6cGF5bG9hZFswXX0pfWV4cG9ydHMucGFyc2U9cGFyc2V9KTt2YXIgaW5kZXgkZj1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhsaWIkaCk7dmFyIF92ZXJzaW9uJHE9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnZlcnNpb249dm9pZCAwO2V4cG9ydHMudmVyc2lvbj0iY29udHJhY3RzLzUuNy4wIn0pO3ZhciBfdmVyc2lvbiRyPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKF92ZXJzaW9uJHEpO3ZhciBsaWIkaT1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO3ZhciBfX2V4dGVuZHM9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgZXh0ZW5kU3RhdGljcz1mdW5jdGlvbihkLGIpe2V4dGVuZFN0YXRpY3M9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGQsYil7ZC5fX3Byb3RvX189Yn18fGZ1bmN0aW9uKGQsYil7Zm9yKHZhciBwIGluIGIpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIscCkpZFtwXT1iW3BdfTtyZXR1cm4gZXh0ZW5kU3RhdGljcyhkLGIpfTtyZXR1cm4gZnVuY3Rpb24oZCxiKXtpZih0eXBlb2YgYiE9PSJmdW5jdGlvbiImJmIhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoYikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZXh0ZW5kU3RhdGljcyhkLGIpO2Z1bmN0aW9uIF9fKCl7dGhpcy5jb25zdHJ1Y3Rvcj1kfWQucHJvdG90eXBlPWI9PT1udWxsP09iamVjdC5jcmVhdGUoYik6KF9fLnByb3RvdHlwZT1iLnByb3RvdHlwZSxuZXcgX18pfX0oKTt2YXIgX19hd2FpdGVyPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHRoaXNBcmcsX2FyZ3VtZW50cyxQLGdlbmVyYXRvcil7ZnVuY3Rpb24gYWRvcHQodmFsdWUpe3JldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFA/dmFsdWU6bmV3IFAoZnVuY3Rpb24ocmVzb2x2ZSl7cmVzb2x2ZSh2YWx1ZSl9KX1yZXR1cm4gbmV3KFB8fChQPVByb21pc2UpKShmdW5jdGlvbihyZXNvbHZlLHJlamVjdCl7ZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKXt0cnl7c3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpfWNhdGNoKGUpe3JlamVjdChlKX19ZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpe3RyeXtzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpfWNhdGNoKGUpe3JlamVjdChlKX19ZnVuY3Rpb24gc3RlcChyZXN1bHQpe3Jlc3VsdC5kb25lP3Jlc29sdmUocmVzdWx0LnZhbHVlKTphZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLHJlamVjdGVkKX1zdGVwKChnZW5lcmF0b3I9Z2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsX2FyZ3VtZW50c3x8W10pKS5uZXh0KCkpfSl9O3ZhciBfX2dlbmVyYXRvcj1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKHRoaXNBcmcsYm9keSl7dmFyIF89e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKHRbMF0mMSl0aHJvdyB0WzFdO3JldHVybiB0WzFdfSx0cnlzOltdLG9wczpbXX0sZix5LHQsZztyZXR1cm4gZz17bmV4dDp2ZXJiKDApLHRocm93OnZlcmIoMSkscmV0dXJuOnZlcmIoMil9LHR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiYoZ1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxnO2Z1bmN0aW9uIHZlcmIobil7cmV0dXJuIGZ1bmN0aW9uKHYpe3JldHVybiBzdGVwKFtuLHZdKX19ZnVuY3Rpb24gc3RlcChvcCl7aWYoZil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7d2hpbGUoXyl0cnl7aWYoZj0xLHkmJih0PW9wWzBdJjI/eVsicmV0dXJuIl06b3BbMF0/eVsidGhyb3ciXXx8KCh0PXlbInJldHVybiJdKSYmdC5jYWxsKHkpLDApOnkubmV4dCkmJiEodD10LmNhbGwoeSxvcFsxXSkpLmRvbmUpcmV0dXJuIHQ7aWYoeT0wLHQpb3A9W29wWzBdJjIsdC52YWx1ZV07c3dpdGNoKG9wWzBdKXtjYXNlIDA6Y2FzZSAxOnQ9b3A7YnJlYWs7Y2FzZSA0Ol8ubGFiZWwrKztyZXR1cm57dmFsdWU6b3BbMV0sZG9uZTpmYWxzZX07Y2FzZSA1Ol8ubGFiZWwrKzt5PW9wWzFdO29wPVswXTtjb250aW51ZTtjYXNlIDc6b3A9Xy5vcHMucG9wKCk7Xy50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISh0PV8udHJ5cyx0PXQubGVuZ3RoPjAmJnRbdC5sZW5ndGgtMV0pJiYob3BbMF09PT02fHxvcFswXT09PTIpKXtfPTA7Y29udGludWV9aWYob3BbMF09PT0zJiYoIXR8fG9wWzFdPnRbMF0mJm9wWzFdPHRbM10pKXtfLmxhYmVsPW9wWzFdO2JyZWFrfWlmKG9wWzBdPT09NiYmXy5sYWJlbDx0WzFdKXtfLmxhYmVsPXRbMV07dD1vcDticmVha31pZih0JiZfLmxhYmVsPHRbMl0pe18ubGFiZWw9dFsyXTtfLm9wcy5wdXNoKG9wKTticmVha31pZih0WzJdKV8ub3BzLnBvcCgpO18udHJ5cy5wb3AoKTtjb250aW51ZX1vcD1ib2R5LmNhbGwodGhpc0FyZyxfKX1jYXRjaChlKXtvcD1bNixlXTt5PTB9ZmluYWxseXtmPXQ9MH1pZihvcFswXSY1KXRocm93IG9wWzFdO3JldHVybnt2YWx1ZTpvcFswXT9vcFsxXTp2b2lkIDAsZG9uZTp0cnVlfX19O3ZhciBfX3NwcmVhZEFycmF5PWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX3NwcmVhZEFycmF5fHxmdW5jdGlvbih0byxmcm9tLHBhY2spe2lmKHBhY2t8fGFyZ3VtZW50cy5sZW5ndGg9PT0yKWZvcih2YXIgaT0wLGw9ZnJvbS5sZW5ndGgsYXI7aTxsO2krKyl7aWYoYXJ8fCEoaSBpbiBmcm9tKSl7aWYoIWFyKWFyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20sMCxpKTthcltpXT1mcm9tW2ldfX1yZXR1cm4gdG8uY29uY2F0KGFyfHxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tKSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuQ29udHJhY3RGYWN0b3J5PWV4cG9ydHMuQ29udHJhY3Q9ZXhwb3J0cy5CYXNlQ29udHJhY3Q9dm9pZCAwO3ZhciBsb2dnZXI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kcS52ZXJzaW9uKTt2YXIgYWxsb3dlZFRyYW5zYWN0aW9uS2V5cz17Y2hhaW5JZDp0cnVlLGRhdGE6dHJ1ZSxmcm9tOnRydWUsZ2FzTGltaXQ6dHJ1ZSxnYXNQcmljZTp0cnVlLG5vbmNlOnRydWUsdG86dHJ1ZSx2YWx1ZTp0cnVlLHR5cGU6dHJ1ZSxhY2Nlc3NMaXN0OnRydWUsbWF4RmVlUGVyR2FzOnRydWUsbWF4UHJpb3JpdHlGZWVQZXJHYXM6dHJ1ZSxjdXN0b21EYXRhOnRydWUsY2NpcFJlYWRFbmFibGVkOnRydWV9O2Z1bmN0aW9uIHJlc29sdmVOYW1lKHJlc29sdmVyLG5hbWVPclByb21pc2Upe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG5hbWUsYWRkcmVzcztyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsbmFtZU9yUHJvbWlzZV07Y2FzZSAxOm5hbWU9X2Euc2VudCgpO2lmKHR5cGVvZiBuYW1lIT09InN0cmluZyIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgYWRkcmVzcyBvciBFTlMgbmFtZSIsIm5hbWUiLG5hbWUpfXRyeXtyZXR1cm5bMiwoMCxsaWIkNi5nZXRBZGRyZXNzKShuYW1lKV19Y2F0Y2goZXJyb3Ipe31pZighcmVzb2x2ZXIpe2xvZ2dlci50aHJvd0Vycm9yKCJhIHByb3ZpZGVyIG9yIHNpZ25lciBpcyBuZWVkZWQgdG8gcmVzb2x2ZSBFTlMgbmFtZXMiLGxpYi5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJyZXNvbHZlTmFtZSJ9KX1yZXR1cm5bNCxyZXNvbHZlci5yZXNvbHZlTmFtZShuYW1lKV07Y2FzZSAyOmFkZHJlc3M9X2Euc2VudCgpO2lmKGFkZHJlc3M9PW51bGwpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInJlc29sdmVyIG9yIGFkZHIgaXMgbm90IGNvbmZpZ3VyZWQgZm9yIEVOUyBuYW1lIiwibmFtZSIsbmFtZSl9cmV0dXJuWzIsYWRkcmVzc119fSl9KX1mdW5jdGlvbiByZXNvbHZlQWRkcmVzc2VzKHJlc29sdmVyLHZhbHVlLHBhcmFtVHlwZSl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6aWYoIUFycmF5LmlzQXJyYXkocGFyYW1UeXBlKSlyZXR1cm5bMywyXTtyZXR1cm5bNCxQcm9taXNlLmFsbChwYXJhbVR5cGUubWFwKGZ1bmN0aW9uKHBhcmFtVHlwZSxpbmRleCl7cmV0dXJuIHJlc29sdmVBZGRyZXNzZXMocmVzb2x2ZXIsQXJyYXkuaXNBcnJheSh2YWx1ZSk/dmFsdWVbaW5kZXhdOnZhbHVlW3BhcmFtVHlwZS5uYW1lXSxwYXJhbVR5cGUpfSkpXTtjYXNlIDE6cmV0dXJuWzIsX2Euc2VudCgpXTtjYXNlIDI6aWYoIShwYXJhbVR5cGUudHlwZT09PSJhZGRyZXNzIikpcmV0dXJuWzMsNF07cmV0dXJuWzQscmVzb2x2ZU5hbWUocmVzb2x2ZXIsdmFsdWUpXTtjYXNlIDM6cmV0dXJuWzIsX2Euc2VudCgpXTtjYXNlIDQ6aWYoIShwYXJhbVR5cGUudHlwZT09PSJ0dXBsZSIpKXJldHVyblszLDZdO3JldHVybls0LHJlc29sdmVBZGRyZXNzZXMocmVzb2x2ZXIsdmFsdWUscGFyYW1UeXBlLmNvbXBvbmVudHMpXTtjYXNlIDU6cmV0dXJuWzIsX2Euc2VudCgpXTtjYXNlIDY6aWYoIShwYXJhbVR5cGUuYmFzZVR5cGU9PT0iYXJyYXkiKSlyZXR1cm5bMyw4XTtpZighQXJyYXkuaXNBcnJheSh2YWx1ZSkpe3JldHVyblsyLFByb21pc2UucmVqZWN0KGxvZ2dlci5tYWtlRXJyb3IoImludmFsaWQgdmFsdWUgZm9yIGFycmF5IixsaWIuTG9nZ2VyLmVycm9ycy5JTlZBTElEX0FSR1VNRU5ULHthcmd1bWVudDoidmFsdWUiLHZhbHVlOnZhbHVlfSkpXX1yZXR1cm5bNCxQcm9taXNlLmFsbCh2YWx1ZS5tYXAoZnVuY3Rpb24odil7cmV0dXJuIHJlc29sdmVBZGRyZXNzZXMocmVzb2x2ZXIsdixwYXJhbVR5cGUuYXJyYXlDaGlsZHJlbil9KSldO2Nhc2UgNzpyZXR1cm5bMixfYS5zZW50KCldO2Nhc2UgODpyZXR1cm5bMix2YWx1ZV19fSl9KX1mdW5jdGlvbiBwb3B1bGF0ZVRyYW5zYWN0aW9uKGNvbnRyYWN0LGZyYWdtZW50LGFyZ3Mpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG92ZXJyaWRlcyxyZXNvbHZlZCxkYXRhLHR4LHJvLGludHJpbnNpYyxieXRlcyxpLHJvVmFsdWUsbGVmdG92ZXJzO3ZhciBfdGhpcz10aGlzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpvdmVycmlkZXM9e307aWYoYXJncy5sZW5ndGg9PT1mcmFnbWVudC5pbnB1dHMubGVuZ3RoKzEmJnR5cGVvZiBhcmdzW2FyZ3MubGVuZ3RoLTFdPT09Im9iamVjdCIpe292ZXJyaWRlcz0oMCxsaWIkMy5zaGFsbG93Q29weSkoYXJncy5wb3AoKSl9bG9nZ2VyLmNoZWNrQXJndW1lbnRDb3VudChhcmdzLmxlbmd0aCxmcmFnbWVudC5pbnB1dHMubGVuZ3RoLCJwYXNzZWQgdG8gY29udHJhY3QiKTtpZihjb250cmFjdC5zaWduZXIpe2lmKG92ZXJyaWRlcy5mcm9tKXtvdmVycmlkZXMuZnJvbT0oMCxsaWIkMy5yZXNvbHZlUHJvcGVydGllcykoe292ZXJyaWRlOnJlc29sdmVOYW1lKGNvbnRyYWN0LnNpZ25lcixvdmVycmlkZXMuZnJvbSksc2lnbmVyOmNvbnRyYWN0LnNpZ25lci5nZXRBZGRyZXNzKCl9KS50aGVuKGZ1bmN0aW9uKGNoZWNrKXtyZXR1cm4gX19hd2FpdGVyKF90aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7aWYoKDAsbGliJDYuZ2V0QWRkcmVzcykoY2hlY2suc2lnbmVyKSE9PWNoZWNrLm92ZXJyaWRlKXtsb2dnZXIudGhyb3dFcnJvcigiQ29udHJhY3Qgd2l0aCBhIFNpZ25lciBjYW5ub3Qgb3ZlcnJpZGUgZnJvbSIsbGliLkxvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246Im92ZXJyaWRlcy5mcm9tIn0pfXJldHVyblsyLGNoZWNrLm92ZXJyaWRlXX0pfSl9KX1lbHNle292ZXJyaWRlcy5mcm9tPWNvbnRyYWN0LnNpZ25lci5nZXRBZGRyZXNzKCl9fWVsc2UgaWYob3ZlcnJpZGVzLmZyb20pe292ZXJyaWRlcy5mcm9tPXJlc29sdmVOYW1lKGNvbnRyYWN0LnByb3ZpZGVyLG92ZXJyaWRlcy5mcm9tKX1yZXR1cm5bNCwoMCxsaWIkMy5yZXNvbHZlUHJvcGVydGllcykoe2FyZ3M6cmVzb2x2ZUFkZHJlc3Nlcyhjb250cmFjdC5zaWduZXJ8fGNvbnRyYWN0LnByb3ZpZGVyLGFyZ3MsZnJhZ21lbnQuaW5wdXRzKSxhZGRyZXNzOmNvbnRyYWN0LnJlc29sdmVkQWRkcmVzcyxvdmVycmlkZXM6KDAsbGliJDMucmVzb2x2ZVByb3BlcnRpZXMpKG92ZXJyaWRlcyl8fHt9fSldO2Nhc2UgMTpyZXNvbHZlZD1fYS5zZW50KCk7ZGF0YT1jb250cmFjdC5pbnRlcmZhY2UuZW5jb2RlRnVuY3Rpb25EYXRhKGZyYWdtZW50LHJlc29sdmVkLmFyZ3MpO3R4PXtkYXRhOmRhdGEsdG86cmVzb2x2ZWQuYWRkcmVzc307cm89cmVzb2x2ZWQub3ZlcnJpZGVzO2lmKHJvLm5vbmNlIT1udWxsKXt0eC5ub25jZT1saWIkMi5CaWdOdW1iZXIuZnJvbShyby5ub25jZSkudG9OdW1iZXIoKX1pZihyby5nYXNMaW1pdCE9bnVsbCl7dHguZ2FzTGltaXQ9bGliJDIuQmlnTnVtYmVyLmZyb20ocm8uZ2FzTGltaXQpfWlmKHJvLmdhc1ByaWNlIT1udWxsKXt0eC5nYXNQcmljZT1saWIkMi5CaWdOdW1iZXIuZnJvbShyby5nYXNQcmljZSl9aWYocm8ubWF4RmVlUGVyR2FzIT1udWxsKXt0eC5tYXhGZWVQZXJHYXM9bGliJDIuQmlnTnVtYmVyLmZyb20ocm8ubWF4RmVlUGVyR2FzKX1pZihyby5tYXhQcmlvcml0eUZlZVBlckdhcyE9bnVsbCl7dHgubWF4UHJpb3JpdHlGZWVQZXJHYXM9bGliJDIuQmlnTnVtYmVyLmZyb20ocm8ubWF4UHJpb3JpdHlGZWVQZXJHYXMpfWlmKHJvLmZyb20hPW51bGwpe3R4LmZyb209cm8uZnJvbX1pZihyby50eXBlIT1udWxsKXt0eC50eXBlPXJvLnR5cGV9aWYocm8uYWNjZXNzTGlzdCE9bnVsbCl7dHguYWNjZXNzTGlzdD0oMCxsaWIkaC5hY2Nlc3NMaXN0aWZ5KShyby5hY2Nlc3NMaXN0KX1pZih0eC5nYXNMaW1pdD09bnVsbCYmZnJhZ21lbnQuZ2FzIT1udWxsKXtpbnRyaW5zaWM9MjFlMztieXRlcz0oMCxsaWIkMS5hcnJheWlmeSkoZGF0YSk7Zm9yKGk9MDtpPGJ5dGVzLmxlbmd0aDtpKyspe2ludHJpbnNpYys9NDtpZihieXRlc1tpXSl7aW50cmluc2ljKz02NH19dHguZ2FzTGltaXQ9bGliJDIuQmlnTnVtYmVyLmZyb20oZnJhZ21lbnQuZ2FzKS5hZGQoaW50cmluc2ljKX1pZihyby52YWx1ZSl7cm9WYWx1ZT1saWIkMi5CaWdOdW1iZXIuZnJvbShyby52YWx1ZSk7aWYoIXJvVmFsdWUuaXNaZXJvKCkmJiFmcmFnbWVudC5wYXlhYmxlKXtsb2dnZXIudGhyb3dFcnJvcigibm9uLXBheWFibGUgbWV0aG9kIGNhbm5vdCBvdmVycmlkZSB2YWx1ZSIsbGliLkxvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246Im92ZXJyaWRlcy52YWx1ZSIsdmFsdWU6b3ZlcnJpZGVzLnZhbHVlfSl9dHgudmFsdWU9cm9WYWx1ZX1pZihyby5jdXN0b21EYXRhKXt0eC5jdXN0b21EYXRhPSgwLGxpYiQzLnNoYWxsb3dDb3B5KShyby5jdXN0b21EYXRhKX1pZihyby5jY2lwUmVhZEVuYWJsZWQpe3R4LmNjaXBSZWFkRW5hYmxlZD0hIXJvLmNjaXBSZWFkRW5hYmxlZH1kZWxldGUgb3ZlcnJpZGVzLm5vbmNlO2RlbGV0ZSBvdmVycmlkZXMuZ2FzTGltaXQ7ZGVsZXRlIG92ZXJyaWRlcy5nYXNQcmljZTtkZWxldGUgb3ZlcnJpZGVzLmZyb207ZGVsZXRlIG92ZXJyaWRlcy52YWx1ZTtkZWxldGUgb3ZlcnJpZGVzLnR5cGU7ZGVsZXRlIG92ZXJyaWRlcy5hY2Nlc3NMaXN0O2RlbGV0ZSBvdmVycmlkZXMubWF4RmVlUGVyR2FzO2RlbGV0ZSBvdmVycmlkZXMubWF4UHJpb3JpdHlGZWVQZXJHYXM7ZGVsZXRlIG92ZXJyaWRlcy5jdXN0b21EYXRhO2RlbGV0ZSBvdmVycmlkZXMuY2NpcFJlYWRFbmFibGVkO2xlZnRvdmVycz1PYmplY3Qua2V5cyhvdmVycmlkZXMpLmZpbHRlcihmdW5jdGlvbihrZXkpe3JldHVybiBvdmVycmlkZXNba2V5XSE9bnVsbH0pO2lmKGxlZnRvdmVycy5sZW5ndGgpe2xvZ2dlci50aHJvd0Vycm9yKCJjYW5ub3Qgb3ZlcnJpZGUgIitsZWZ0b3ZlcnMubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBKU09OLnN0cmluZ2lmeShsKX0pLmpvaW4oIiwiKSxsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoib3ZlcnJpZGVzIixvdmVycmlkZXM6bGVmdG92ZXJzfSl9cmV0dXJuWzIsdHhdfX0pfSl9ZnVuY3Rpb24gYnVpbGRQb3B1bGF0ZShjb250cmFjdCxmcmFnbWVudCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGFyZ3M9W107Zm9yKHZhciBfaT0wO19pPGFyZ3VtZW50cy5sZW5ndGg7X2krKyl7YXJnc1tfaV09YXJndW1lbnRzW19pXX1yZXR1cm4gcG9wdWxhdGVUcmFuc2FjdGlvbihjb250cmFjdCxmcmFnbWVudCxhcmdzKX19ZnVuY3Rpb24gYnVpbGRFc3RpbWF0ZShjb250cmFjdCxmcmFnbWVudCl7dmFyIHNpZ25lck9yUHJvdmlkZXI9Y29udHJhY3Quc2lnbmVyfHxjb250cmFjdC5wcm92aWRlcjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYXJncz1bXTtmb3IodmFyIF9pPTA7X2k8YXJndW1lbnRzLmxlbmd0aDtfaSsrKXthcmdzW19pXT1hcmd1bWVudHNbX2ldfXJldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHR4O3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDppZighc2lnbmVyT3JQcm92aWRlcil7bG9nZ2VyLnRocm93RXJyb3IoImVzdGltYXRlIHJlcXVpcmUgYSBwcm92aWRlciBvciBzaWduZXIiLGxpYi5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJlc3RpbWF0ZUdhcyJ9KX1yZXR1cm5bNCxwb3B1bGF0ZVRyYW5zYWN0aW9uKGNvbnRyYWN0LGZyYWdtZW50LGFyZ3MpXTtjYXNlIDE6dHg9X2Euc2VudCgpO3JldHVybls0LHNpZ25lck9yUHJvdmlkZXIuZXN0aW1hdGVHYXModHgpXTtjYXNlIDI6cmV0dXJuWzIsX2Euc2VudCgpXX19KX0pfX1mdW5jdGlvbiBhZGRDb250cmFjdFdhaXQoY29udHJhY3QsdHgpe3ZhciB3YWl0PXR4LndhaXQuYmluZCh0eCk7dHgud2FpdD1mdW5jdGlvbihjb25maXJtYXRpb25zKXtyZXR1cm4gd2FpdChjb25maXJtYXRpb25zKS50aGVuKGZ1bmN0aW9uKHJlY2VpcHQpe3JlY2VpcHQuZXZlbnRzPXJlY2VpcHQubG9ncy5tYXAoZnVuY3Rpb24obG9nKXt2YXIgZXZlbnQ9KDAsbGliJDMuZGVlcENvcHkpKGxvZyk7dmFyIHBhcnNlZD1udWxsO3RyeXtwYXJzZWQ9Y29udHJhY3QuaW50ZXJmYWNlLnBhcnNlTG9nKGxvZyl9Y2F0Y2goZSl7fWlmKHBhcnNlZCl7ZXZlbnQuYXJncz1wYXJzZWQuYXJncztldmVudC5kZWNvZGU9ZnVuY3Rpb24oZGF0YSx0b3BpY3Mpe3JldHVybiBjb250cmFjdC5pbnRlcmZhY2UuZGVjb2RlRXZlbnRMb2cocGFyc2VkLmV2ZW50RnJhZ21lbnQsZGF0YSx0b3BpY3MpfTtldmVudC5ldmVudD1wYXJzZWQubmFtZTtldmVudC5ldmVudFNpZ25hdHVyZT1wYXJzZWQuc2lnbmF0dXJlfWV2ZW50LnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnRyYWN0LnByb3ZpZGVyfTtldmVudC5nZXRCbG9jaz1mdW5jdGlvbigpe3JldHVybiBjb250cmFjdC5wcm92aWRlci5nZXRCbG9jayhyZWNlaXB0LmJsb2NrSGFzaCl9O2V2ZW50LmdldFRyYW5zYWN0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnRyYWN0LnByb3ZpZGVyLmdldFRyYW5zYWN0aW9uKHJlY2VpcHQudHJhbnNhY3Rpb25IYXNoKX07ZXZlbnQuZ2V0VHJhbnNhY3Rpb25SZWNlaXB0PWZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShyZWNlaXB0KX07cmV0dXJuIGV2ZW50fSk7cmV0dXJuIHJlY2VpcHR9KX19ZnVuY3Rpb24gYnVpbGRDYWxsKGNvbnRyYWN0LGZyYWdtZW50LGNvbGxhcHNlU2ltcGxlKXt2YXIgc2lnbmVyT3JQcm92aWRlcj1jb250cmFjdC5zaWduZXJ8fGNvbnRyYWN0LnByb3ZpZGVyO3JldHVybiBmdW5jdGlvbigpe3ZhciBhcmdzPVtdO2Zvcih2YXIgX2k9MDtfaTxhcmd1bWVudHMubGVuZ3RoO19pKyspe2FyZ3NbX2ldPWFyZ3VtZW50c1tfaV19cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgYmxvY2tUYWcsb3ZlcnJpZGVzLHR4LHJlc3VsdCx2YWx1ZTtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6YmxvY2tUYWc9dW5kZWZpbmVkO2lmKCEoYXJncy5sZW5ndGg9PT1mcmFnbWVudC5pbnB1dHMubGVuZ3RoKzEmJnR5cGVvZiBhcmdzW2FyZ3MubGVuZ3RoLTFdPT09Im9iamVjdCIpKXJldHVyblszLDNdO292ZXJyaWRlcz0oMCxsaWIkMy5zaGFsbG93Q29weSkoYXJncy5wb3AoKSk7aWYoIShvdmVycmlkZXMuYmxvY2tUYWchPW51bGwpKXJldHVyblszLDJdO3JldHVybls0LG92ZXJyaWRlcy5ibG9ja1RhZ107Y2FzZSAxOmJsb2NrVGFnPV9hLnNlbnQoKTtfYS5sYWJlbD0yO2Nhc2UgMjpkZWxldGUgb3ZlcnJpZGVzLmJsb2NrVGFnO2FyZ3MucHVzaChvdmVycmlkZXMpO19hLmxhYmVsPTM7Y2FzZSAzOmlmKCEoY29udHJhY3QuZGVwbG95VHJhbnNhY3Rpb24hPW51bGwpKXJldHVyblszLDVdO3JldHVybls0LGNvbnRyYWN0Ll9kZXBsb3llZChibG9ja1RhZyldO2Nhc2UgNDpfYS5zZW50KCk7X2EubGFiZWw9NTtjYXNlIDU6cmV0dXJuWzQscG9wdWxhdGVUcmFuc2FjdGlvbihjb250cmFjdCxmcmFnbWVudCxhcmdzKV07Y2FzZSA2OnR4PV9hLnNlbnQoKTtyZXR1cm5bNCxzaWduZXJPclByb3ZpZGVyLmNhbGwodHgsYmxvY2tUYWcpXTtjYXNlIDc6cmVzdWx0PV9hLnNlbnQoKTt0cnl7dmFsdWU9Y29udHJhY3QuaW50ZXJmYWNlLmRlY29kZUZ1bmN0aW9uUmVzdWx0KGZyYWdtZW50LHJlc3VsdCk7aWYoY29sbGFwc2VTaW1wbGUmJmZyYWdtZW50Lm91dHB1dHMubGVuZ3RoPT09MSl7dmFsdWU9dmFsdWVbMF19cmV0dXJuWzIsdmFsdWVdfWNhdGNoKGVycm9yKXtpZihlcnJvci5jb2RlPT09bGliLkxvZ2dlci5lcnJvcnMuQ0FMTF9FWENFUFRJT04pe2Vycm9yLmFkZHJlc3M9Y29udHJhY3QuYWRkcmVzcztlcnJvci5hcmdzPWFyZ3M7ZXJyb3IudHJhbnNhY3Rpb249dHh9dGhyb3cgZXJyb3J9cmV0dXJuWzJdfX0pfSl9fWZ1bmN0aW9uIGJ1aWxkU2VuZChjb250cmFjdCxmcmFnbWVudCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGFyZ3M9W107Zm9yKHZhciBfaT0wO19pPGFyZ3VtZW50cy5sZW5ndGg7X2krKyl7YXJnc1tfaV09YXJndW1lbnRzW19pXX1yZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciB0eFJlcXVlc3QsdHg7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOmlmKCFjb250cmFjdC5zaWduZXIpe2xvZ2dlci50aHJvd0Vycm9yKCJzZW5kaW5nIGEgdHJhbnNhY3Rpb24gcmVxdWlyZXMgYSBzaWduZXIiLGxpYi5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJzZW5kVHJhbnNhY3Rpb24ifSl9aWYoIShjb250cmFjdC5kZXBsb3lUcmFuc2FjdGlvbiE9bnVsbCkpcmV0dXJuWzMsMl07cmV0dXJuWzQsY29udHJhY3QuX2RlcGxveWVkKCldO2Nhc2UgMTpfYS5zZW50KCk7X2EubGFiZWw9MjtjYXNlIDI6cmV0dXJuWzQscG9wdWxhdGVUcmFuc2FjdGlvbihjb250cmFjdCxmcmFnbWVudCxhcmdzKV07Y2FzZSAzOnR4UmVxdWVzdD1fYS5zZW50KCk7cmV0dXJuWzQsY29udHJhY3Quc2lnbmVyLnNlbmRUcmFuc2FjdGlvbih0eFJlcXVlc3QpXTtjYXNlIDQ6dHg9X2Euc2VudCgpO2FkZENvbnRyYWN0V2FpdChjb250cmFjdCx0eCk7cmV0dXJuWzIsdHhdfX0pfSl9fWZ1bmN0aW9uIGJ1aWxkRGVmYXVsdChjb250cmFjdCxmcmFnbWVudCxjb2xsYXBzZVNpbXBsZSl7aWYoZnJhZ21lbnQuY29uc3RhbnQpe3JldHVybiBidWlsZENhbGwoY29udHJhY3QsZnJhZ21lbnQsY29sbGFwc2VTaW1wbGUpfXJldHVybiBidWlsZFNlbmQoY29udHJhY3QsZnJhZ21lbnQpfWZ1bmN0aW9uIGdldEV2ZW50VGFnKGZpbHRlcil7aWYoZmlsdGVyLmFkZHJlc3MmJihmaWx0ZXIudG9waWNzPT1udWxsfHxmaWx0ZXIudG9waWNzLmxlbmd0aD09PTApKXtyZXR1cm4iKiJ9cmV0dXJuKGZpbHRlci5hZGRyZXNzfHwiKiIpKyJAIisoZmlsdGVyLnRvcGljcz9maWx0ZXIudG9waWNzLm1hcChmdW5jdGlvbih0b3BpYyl7aWYoQXJyYXkuaXNBcnJheSh0b3BpYykpe3JldHVybiB0b3BpYy5qb2luKCJ8Iil9cmV0dXJuIHRvcGljfSkuam9pbigiOiIpOiIiKX12YXIgUnVubmluZ0V2ZW50PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gUnVubmluZ0V2ZW50KHRhZyxmaWx0ZXIpeygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJ0YWciLHRhZyk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImZpbHRlciIsZmlsdGVyKTt0aGlzLl9saXN0ZW5lcnM9W119UnVubmluZ0V2ZW50LnByb3RvdHlwZS5hZGRMaXN0ZW5lcj1mdW5jdGlvbihsaXN0ZW5lcixvbmNlKXt0aGlzLl9saXN0ZW5lcnMucHVzaCh7bGlzdGVuZXI6bGlzdGVuZXIsb25jZTpvbmNlfSl9O1J1bm5pbmdFdmVudC5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24obGlzdGVuZXIpe3ZhciBkb25lPWZhbHNlO3RoaXMuX2xpc3RlbmVycz10aGlzLl9saXN0ZW5lcnMuZmlsdGVyKGZ1bmN0aW9uKGl0ZW0pe2lmKGRvbmV8fGl0ZW0ubGlzdGVuZXIhPT1saXN0ZW5lcil7cmV0dXJuIHRydWV9ZG9uZT10cnVlO3JldHVybiBmYWxzZX0pfTtSdW5uaW5nRXZlbnQucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbigpe3RoaXMuX2xpc3RlbmVycz1bXX07UnVubmluZ0V2ZW50LnByb3RvdHlwZS5saXN0ZW5lcnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbGlzdGVuZXJzLm1hcChmdW5jdGlvbihpKXtyZXR1cm4gaS5saXN0ZW5lcn0pfTtSdW5uaW5nRXZlbnQucHJvdG90eXBlLmxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbGlzdGVuZXJzLmxlbmd0aH07UnVubmluZ0V2ZW50LnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oYXJncyl7dmFyIF90aGlzPXRoaXM7dmFyIGxpc3RlbmVyQ291bnQ9dGhpcy5saXN0ZW5lckNvdW50KCk7dGhpcy5fbGlzdGVuZXJzPXRoaXMuX2xpc3RlbmVycy5maWx0ZXIoZnVuY3Rpb24oaXRlbSl7dmFyIGFyZ3NDb3B5PWFyZ3Muc2xpY2UoKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aXRlbS5saXN0ZW5lci5hcHBseShfdGhpcyxhcmdzQ29weSl9LDApO3JldHVybiFpdGVtLm9uY2V9KTtyZXR1cm4gbGlzdGVuZXJDb3VudH07UnVubmluZ0V2ZW50LnByb3RvdHlwZS5wcmVwYXJlRXZlbnQ9ZnVuY3Rpb24oZXZlbnQpe307UnVubmluZ0V2ZW50LnByb3RvdHlwZS5nZXRFbWl0PWZ1bmN0aW9uKGV2ZW50KXtyZXR1cm5bZXZlbnRdfTtyZXR1cm4gUnVubmluZ0V2ZW50fSgpO3ZhciBFcnJvclJ1bm5pbmdFdmVudD1mdW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhFcnJvclJ1bm5pbmdFdmVudCxfc3VwZXIpO2Z1bmN0aW9uIEVycm9yUnVubmluZ0V2ZW50KCl7cmV0dXJuIF9zdXBlci5jYWxsKHRoaXMsImVycm9yIixudWxsKXx8dGhpc31yZXR1cm4gRXJyb3JSdW5uaW5nRXZlbnR9KFJ1bm5pbmdFdmVudCk7dmFyIEZyYWdtZW50UnVubmluZ0V2ZW50PWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEZyYWdtZW50UnVubmluZ0V2ZW50LF9zdXBlcik7ZnVuY3Rpb24gRnJhZ21lbnRSdW5uaW5nRXZlbnQoYWRkcmVzcyxjb250cmFjdEludGVyZmFjZSxmcmFnbWVudCx0b3BpY3Mpe3ZhciBfdGhpcz10aGlzO3ZhciBmaWx0ZXI9e2FkZHJlc3M6YWRkcmVzc307dmFyIHRvcGljPWNvbnRyYWN0SW50ZXJmYWNlLmdldEV2ZW50VG9waWMoZnJhZ21lbnQpO2lmKHRvcGljcyl7aWYodG9waWMhPT10b3BpY3NbMF0pe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInRvcGljIG1pc21hdGNoIiwidG9waWNzIix0b3BpY3MpfWZpbHRlci50b3BpY3M9dG9waWNzLnNsaWNlKCl9ZWxzZXtmaWx0ZXIudG9waWNzPVt0b3BpY119X3RoaXM9X3N1cGVyLmNhbGwodGhpcyxnZXRFdmVudFRhZyhmaWx0ZXIpLGZpbHRlcil8fHRoaXM7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJhZGRyZXNzIixhZGRyZXNzKTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsImludGVyZmFjZSIsY29udHJhY3RJbnRlcmZhY2UpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KShfdGhpcywiZnJhZ21lbnQiLGZyYWdtZW50KTtyZXR1cm4gX3RoaXN9RnJhZ21lbnRSdW5uaW5nRXZlbnQucHJvdG90eXBlLnByZXBhcmVFdmVudD1mdW5jdGlvbihldmVudCl7dmFyIF90aGlzPXRoaXM7X3N1cGVyLnByb3RvdHlwZS5wcmVwYXJlRXZlbnQuY2FsbCh0aGlzLGV2ZW50KTtldmVudC5ldmVudD10aGlzLmZyYWdtZW50Lm5hbWU7ZXZlbnQuZXZlbnRTaWduYXR1cmU9dGhpcy5mcmFnbWVudC5mb3JtYXQoKTtldmVudC5kZWNvZGU9ZnVuY3Rpb24oZGF0YSx0b3BpY3Mpe3JldHVybiBfdGhpcy5pbnRlcmZhY2UuZGVjb2RlRXZlbnRMb2coX3RoaXMuZnJhZ21lbnQsZGF0YSx0b3BpY3MpfTt0cnl7ZXZlbnQuYXJncz10aGlzLmludGVyZmFjZS5kZWNvZGVFdmVudExvZyh0aGlzLmZyYWdtZW50LGV2ZW50LmRhdGEsZXZlbnQudG9waWNzKX1jYXRjaChlcnJvcil7ZXZlbnQuYXJncz1udWxsO2V2ZW50LmRlY29kZUVycm9yPWVycm9yfX07RnJhZ21lbnRSdW5uaW5nRXZlbnQucHJvdG90eXBlLmdldEVtaXQ9ZnVuY3Rpb24oZXZlbnQpe3ZhciBlcnJvcnM9KDAsbGliJGQuY2hlY2tSZXN1bHRFcnJvcnMpKGV2ZW50LmFyZ3MpO2lmKGVycm9ycy5sZW5ndGgpe3Rocm93IGVycm9yc1swXS5lcnJvcn12YXIgYXJncz0oZXZlbnQuYXJnc3x8W10pLnNsaWNlKCk7YXJncy5wdXNoKGV2ZW50KTtyZXR1cm4gYXJnc307cmV0dXJuIEZyYWdtZW50UnVubmluZ0V2ZW50fShSdW5uaW5nRXZlbnQpO3ZhciBXaWxkY2FyZFJ1bm5pbmdFdmVudD1mdW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhXaWxkY2FyZFJ1bm5pbmdFdmVudCxfc3VwZXIpO2Z1bmN0aW9uIFdpbGRjYXJkUnVubmluZ0V2ZW50KGFkZHJlc3MsY29udHJhY3RJbnRlcmZhY2Upe3ZhciBfdGhpcz1fc3VwZXIuY2FsbCh0aGlzLCIqIix7YWRkcmVzczphZGRyZXNzfSl8fHRoaXM7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJhZGRyZXNzIixhZGRyZXNzKTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsImludGVyZmFjZSIsY29udHJhY3RJbnRlcmZhY2UpO3JldHVybiBfdGhpc31XaWxkY2FyZFJ1bm5pbmdFdmVudC5wcm90b3R5cGUucHJlcGFyZUV2ZW50PWZ1bmN0aW9uKGV2ZW50KXt2YXIgX3RoaXM9dGhpcztfc3VwZXIucHJvdG90eXBlLnByZXBhcmVFdmVudC5jYWxsKHRoaXMsZXZlbnQpO3RyeXt2YXIgcGFyc2VkXzE9dGhpcy5pbnRlcmZhY2UucGFyc2VMb2coZXZlbnQpO2V2ZW50LmV2ZW50PXBhcnNlZF8xLm5hbWU7ZXZlbnQuZXZlbnRTaWduYXR1cmU9cGFyc2VkXzEuc2lnbmF0dXJlO2V2ZW50LmRlY29kZT1mdW5jdGlvbihkYXRhLHRvcGljcyl7cmV0dXJuIF90aGlzLmludGVyZmFjZS5kZWNvZGVFdmVudExvZyhwYXJzZWRfMS5ldmVudEZyYWdtZW50LGRhdGEsdG9waWNzKX07ZXZlbnQuYXJncz1wYXJzZWRfMS5hcmdzfWNhdGNoKGVycm9yKXt9fTtyZXR1cm4gV2lsZGNhcmRSdW5uaW5nRXZlbnR9KFJ1bm5pbmdFdmVudCk7dmFyIEJhc2VDb250cmFjdD1mdW5jdGlvbigpe2Z1bmN0aW9uIEJhc2VDb250cmFjdChhZGRyZXNzT3JOYW1lLGNvbnRyYWN0SW50ZXJmYWNlLHNpZ25lck9yUHJvdmlkZXIpe3ZhciBfbmV3VGFyZ2V0PXRoaXMuY29uc3RydWN0b3I7dmFyIF90aGlzPXRoaXM7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImludGVyZmFjZSIsKDAsbGliJDMuZ2V0U3RhdGljKShfbmV3VGFyZ2V0LCJnZXRJbnRlcmZhY2UiKShjb250cmFjdEludGVyZmFjZSkpO2lmKHNpZ25lck9yUHJvdmlkZXI9PW51bGwpeygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJwcm92aWRlciIsbnVsbCk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsInNpZ25lciIsbnVsbCl9ZWxzZSBpZihsaWIkZi5TaWduZXIuaXNTaWduZXIoc2lnbmVyT3JQcm92aWRlcikpeygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJwcm92aWRlciIsc2lnbmVyT3JQcm92aWRlci5wcm92aWRlcnx8bnVsbCk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsInNpZ25lciIsc2lnbmVyT3JQcm92aWRlcil9ZWxzZSBpZihsaWIkZS5Qcm92aWRlci5pc1Byb3ZpZGVyKHNpZ25lck9yUHJvdmlkZXIpKXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywicHJvdmlkZXIiLHNpZ25lck9yUHJvdmlkZXIpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJzaWduZXIiLG51bGwpfWVsc2V7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBzaWduZXIgb3IgcHJvdmlkZXIiLCJzaWduZXJPclByb3ZpZGVyIixzaWduZXJPclByb3ZpZGVyKX0oMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywiY2FsbFN0YXRpYyIse30pOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJlc3RpbWF0ZUdhcyIse30pOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJmdW5jdGlvbnMiLHt9KTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywicG9wdWxhdGVUcmFuc2FjdGlvbiIse30pOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJmaWx0ZXJzIix7fSk7e3ZhciB1bmlxdWVGaWx0ZXJzXzE9e307T2JqZWN0LmtleXModGhpcy5pbnRlcmZhY2UuZXZlbnRzKS5mb3JFYWNoKGZ1bmN0aW9uKGV2ZW50U2lnbmF0dXJlKXt2YXIgZXZlbnQ9X3RoaXMuaW50ZXJmYWNlLmV2ZW50c1tldmVudFNpZ25hdHVyZV07KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLmZpbHRlcnMsZXZlbnRTaWduYXR1cmUsZnVuY3Rpb24oKXt2YXIgYXJncz1bXTtmb3IodmFyIF9pPTA7X2k8YXJndW1lbnRzLmxlbmd0aDtfaSsrKXthcmdzW19pXT1hcmd1bWVudHNbX2ldfXJldHVybnthZGRyZXNzOl90aGlzLmFkZHJlc3MsdG9waWNzOl90aGlzLmludGVyZmFjZS5lbmNvZGVGaWx0ZXJUb3BpY3MoZXZlbnQsYXJncyl9fSk7aWYoIXVuaXF1ZUZpbHRlcnNfMVtldmVudC5uYW1lXSl7dW5pcXVlRmlsdGVyc18xW2V2ZW50Lm5hbWVdPVtdfXVuaXF1ZUZpbHRlcnNfMVtldmVudC5uYW1lXS5wdXNoKGV2ZW50U2lnbmF0dXJlKX0pO09iamVjdC5rZXlzKHVuaXF1ZUZpbHRlcnNfMSkuZm9yRWFjaChmdW5jdGlvbihuYW1lKXt2YXIgZmlsdGVycz11bmlxdWVGaWx0ZXJzXzFbbmFtZV07aWYoZmlsdGVycy5sZW5ndGg9PT0xKXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMuZmlsdGVycyxuYW1lLF90aGlzLmZpbHRlcnNbZmlsdGVyc1swXV0pfWVsc2V7bG9nZ2VyLndhcm4oIkR1cGxpY2F0ZSBkZWZpbml0aW9uIG9mICIrbmFtZSsiICgiK2ZpbHRlcnMuam9pbigiLCAiKSsiKSIpfX0pfSgwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJfcnVubmluZ0V2ZW50cyIse30pOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJfd3JhcHBlZEVtaXRzIix7fSk7aWYoYWRkcmVzc09yTmFtZT09bnVsbCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBjb250cmFjdCBhZGRyZXNzIG9yIEVOUyBuYW1lIiwiYWRkcmVzc09yTmFtZSIsYWRkcmVzc09yTmFtZSl9KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImFkZHJlc3MiLGFkZHJlc3NPck5hbWUpO2lmKHRoaXMucHJvdmlkZXIpeygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJyZXNvbHZlZEFkZHJlc3MiLHJlc29sdmVOYW1lKHRoaXMucHJvdmlkZXIsYWRkcmVzc09yTmFtZSkpfWVsc2V7dHJ5eygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJyZXNvbHZlZEFkZHJlc3MiLFByb21pc2UucmVzb2x2ZSgoMCxsaWIkNi5nZXRBZGRyZXNzKShhZGRyZXNzT3JOYW1lKSkpfWNhdGNoKGVycm9yKXtsb2dnZXIudGhyb3dFcnJvcigicHJvdmlkZXIgaXMgcmVxdWlyZWQgdG8gdXNlIEVOUyBuYW1lIGFzIGNvbnRyYWN0IGFkZHJlc3MiLGxpYi5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJuZXcgQ29udHJhY3QifSl9fXRoaXMucmVzb2x2ZWRBZGRyZXNzLmNhdGNoKGZ1bmN0aW9uKGUpe30pO3ZhciB1bmlxdWVOYW1lcz17fTt2YXIgdW5pcXVlU2lnbmF0dXJlcz17fTtPYmplY3Qua2V5cyh0aGlzLmludGVyZmFjZS5mdW5jdGlvbnMpLmZvckVhY2goZnVuY3Rpb24oc2lnbmF0dXJlKXt2YXIgZnJhZ21lbnQ9X3RoaXMuaW50ZXJmYWNlLmZ1bmN0aW9uc1tzaWduYXR1cmVdO2lmKHVuaXF1ZVNpZ25hdHVyZXNbc2lnbmF0dXJlXSl7bG9nZ2VyLndhcm4oIkR1cGxpY2F0ZSBBQkkgZW50cnkgZm9yICIrSlNPTi5zdHJpbmdpZnkoc2lnbmF0dXJlKSk7cmV0dXJufXVuaXF1ZVNpZ25hdHVyZXNbc2lnbmF0dXJlXT10cnVlO3t2YXIgbmFtZV8xPWZyYWdtZW50Lm5hbWU7aWYoIXVuaXF1ZU5hbWVzWyIlIituYW1lXzFdKXt1bmlxdWVOYW1lc1siJSIrbmFtZV8xXT1bXX11bmlxdWVOYW1lc1siJSIrbmFtZV8xXS5wdXNoKHNpZ25hdHVyZSl9aWYoX3RoaXNbc2lnbmF0dXJlXT09bnVsbCl7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLHNpZ25hdHVyZSxidWlsZERlZmF1bHQoX3RoaXMsZnJhZ21lbnQsdHJ1ZSkpfWlmKF90aGlzLmZ1bmN0aW9uc1tzaWduYXR1cmVdPT1udWxsKXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMuZnVuY3Rpb25zLHNpZ25hdHVyZSxidWlsZERlZmF1bHQoX3RoaXMsZnJhZ21lbnQsZmFsc2UpKX1pZihfdGhpcy5jYWxsU3RhdGljW3NpZ25hdHVyZV09PW51bGwpeygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KShfdGhpcy5jYWxsU3RhdGljLHNpZ25hdHVyZSxidWlsZENhbGwoX3RoaXMsZnJhZ21lbnQsdHJ1ZSkpfWlmKF90aGlzLnBvcHVsYXRlVHJhbnNhY3Rpb25bc2lnbmF0dXJlXT09bnVsbCl7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLnBvcHVsYXRlVHJhbnNhY3Rpb24sc2lnbmF0dXJlLGJ1aWxkUG9wdWxhdGUoX3RoaXMsZnJhZ21lbnQpKX1pZihfdGhpcy5lc3RpbWF0ZUdhc1tzaWduYXR1cmVdPT1udWxsKXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMuZXN0aW1hdGVHYXMsc2lnbmF0dXJlLGJ1aWxkRXN0aW1hdGUoX3RoaXMsZnJhZ21lbnQpKX19KTtPYmplY3Qua2V5cyh1bmlxdWVOYW1lcykuZm9yRWFjaChmdW5jdGlvbihuYW1lKXt2YXIgc2lnbmF0dXJlcz11bmlxdWVOYW1lc1tuYW1lXTtpZihzaWduYXR1cmVzLmxlbmd0aD4xKXtyZXR1cm59bmFtZT1uYW1lLnN1YnN0cmluZygxKTt2YXIgc2lnbmF0dXJlPXNpZ25hdHVyZXNbMF07dHJ5e2lmKF90aGlzW25hbWVdPT1udWxsKXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsbmFtZSxfdGhpc1tzaWduYXR1cmVdKX19Y2F0Y2goZSl7fWlmKF90aGlzLmZ1bmN0aW9uc1tuYW1lXT09bnVsbCl7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLmZ1bmN0aW9ucyxuYW1lLF90aGlzLmZ1bmN0aW9uc1tzaWduYXR1cmVdKX1pZihfdGhpcy5jYWxsU3RhdGljW25hbWVdPT1udWxsKXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMuY2FsbFN0YXRpYyxuYW1lLF90aGlzLmNhbGxTdGF0aWNbc2lnbmF0dXJlXSl9aWYoX3RoaXMucG9wdWxhdGVUcmFuc2FjdGlvbltuYW1lXT09bnVsbCl7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLnBvcHVsYXRlVHJhbnNhY3Rpb24sbmFtZSxfdGhpcy5wb3B1bGF0ZVRyYW5zYWN0aW9uW3NpZ25hdHVyZV0pfWlmKF90aGlzLmVzdGltYXRlR2FzW25hbWVdPT1udWxsKXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMuZXN0aW1hdGVHYXMsbmFtZSxfdGhpcy5lc3RpbWF0ZUdhc1tzaWduYXR1cmVdKX19KX1CYXNlQ29udHJhY3QuZ2V0Q29udHJhY3RBZGRyZXNzPWZ1bmN0aW9uKHRyYW5zYWN0aW9uKXtyZXR1cm4oMCxsaWIkNi5nZXRDb250cmFjdEFkZHJlc3MpKHRyYW5zYWN0aW9uKX07QmFzZUNvbnRyYWN0LmdldEludGVyZmFjZT1mdW5jdGlvbihjb250cmFjdEludGVyZmFjZSl7aWYobGliJGQuSW50ZXJmYWNlLmlzSW50ZXJmYWNlKGNvbnRyYWN0SW50ZXJmYWNlKSl7cmV0dXJuIGNvbnRyYWN0SW50ZXJmYWNlfXJldHVybiBuZXcgbGliJGQuSW50ZXJmYWNlKGNvbnRyYWN0SW50ZXJmYWNlKX07QmFzZUNvbnRyYWN0LnByb3RvdHlwZS5kZXBsb3llZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kZXBsb3llZCgpfTtCYXNlQ29udHJhY3QucHJvdG90eXBlLl9kZXBsb3llZD1mdW5jdGlvbihibG9ja1RhZyl7dmFyIF90aGlzPXRoaXM7aWYoIXRoaXMuX2RlcGxveWVkUHJvbWlzZSl7aWYodGhpcy5kZXBsb3lUcmFuc2FjdGlvbil7dGhpcy5fZGVwbG95ZWRQcm9taXNlPXRoaXMuZGVwbG95VHJhbnNhY3Rpb24ud2FpdCgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gX3RoaXN9KX1lbHNle3RoaXMuX2RlcGxveWVkUHJvbWlzZT10aGlzLnByb3ZpZGVyLmdldENvZGUodGhpcy5hZGRyZXNzLGJsb2NrVGFnKS50aGVuKGZ1bmN0aW9uKGNvZGUpe2lmKGNvZGU9PT0iMHgiKXtsb2dnZXIudGhyb3dFcnJvcigiY29udHJhY3Qgbm90IGRlcGxveWVkIixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se2NvbnRyYWN0QWRkcmVzczpfdGhpcy5hZGRyZXNzLG9wZXJhdGlvbjoiZ2V0RGVwbG95ZWQifSl9cmV0dXJuIF90aGlzfSl9fXJldHVybiB0aGlzLl9kZXBsb3llZFByb21pc2V9O0Jhc2VDb250cmFjdC5wcm90b3R5cGUuZmFsbGJhY2s9ZnVuY3Rpb24ob3ZlcnJpZGVzKXt2YXIgX3RoaXM9dGhpcztpZighdGhpcy5zaWduZXIpe2xvZ2dlci50aHJvd0Vycm9yKCJzZW5kaW5nIGEgdHJhbnNhY3Rpb25zIHJlcXVpcmUgYSBzaWduZXIiLGxpYi5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJzZW5kVHJhbnNhY3Rpb24oZmFsbGJhY2spIn0pfXZhciB0eD0oMCxsaWIkMy5zaGFsbG93Q29weSkob3ZlcnJpZGVzfHx7fSk7WyJmcm9tIiwidG8iXS5mb3JFYWNoKGZ1bmN0aW9uKGtleSl7aWYodHhba2V5XT09bnVsbCl7cmV0dXJufWxvZ2dlci50aHJvd0Vycm9yKCJjYW5ub3Qgb3ZlcnJpZGUgIitrZXksbGliLkxvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246a2V5fSl9KTt0eC50bz10aGlzLnJlc29sdmVkQWRkcmVzcztyZXR1cm4gdGhpcy5kZXBsb3llZCgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gX3RoaXMuc2lnbmVyLnNlbmRUcmFuc2FjdGlvbih0eCl9KX07QmFzZUNvbnRyYWN0LnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKHNpZ25lck9yUHJvdmlkZXIpe2lmKHR5cGVvZiBzaWduZXJPclByb3ZpZGVyPT09InN0cmluZyIpe3NpZ25lck9yUHJvdmlkZXI9bmV3IGxpYiRmLlZvaWRTaWduZXIoc2lnbmVyT3JQcm92aWRlcix0aGlzLnByb3ZpZGVyKX12YXIgY29udHJhY3Q9bmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5hZGRyZXNzLHRoaXMuaW50ZXJmYWNlLHNpZ25lck9yUHJvdmlkZXIpO2lmKHRoaXMuZGVwbG95VHJhbnNhY3Rpb24peygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KShjb250cmFjdCwiZGVwbG95VHJhbnNhY3Rpb24iLHRoaXMuZGVwbG95VHJhbnNhY3Rpb24pfXJldHVybiBjb250cmFjdH07QmFzZUNvbnRyYWN0LnByb3RvdHlwZS5hdHRhY2g9ZnVuY3Rpb24oYWRkcmVzc09yTmFtZSl7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKGFkZHJlc3NPck5hbWUsdGhpcy5pbnRlcmZhY2UsdGhpcy5zaWduZXJ8fHRoaXMucHJvdmlkZXIpfTtCYXNlQ29udHJhY3QuaXNJbmRleGVkPWZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4gbGliJGQuSW5kZXhlZC5pc0luZGV4ZWQodmFsdWUpfTtCYXNlQ29udHJhY3QucHJvdG90eXBlLl9ub3JtYWxpemVSdW5uaW5nRXZlbnQ9ZnVuY3Rpb24ocnVubmluZ0V2ZW50KXtpZih0aGlzLl9ydW5uaW5nRXZlbnRzW3J1bm5pbmdFdmVudC50YWddKXtyZXR1cm4gdGhpcy5fcnVubmluZ0V2ZW50c1tydW5uaW5nRXZlbnQudGFnXX1yZXR1cm4gcnVubmluZ0V2ZW50fTtCYXNlQ29udHJhY3QucHJvdG90eXBlLl9nZXRSdW5uaW5nRXZlbnQ9ZnVuY3Rpb24oZXZlbnROYW1lKXtpZih0eXBlb2YgZXZlbnROYW1lPT09InN0cmluZyIpe2lmKGV2ZW50TmFtZT09PSJlcnJvciIpe3JldHVybiB0aGlzLl9ub3JtYWxpemVSdW5uaW5nRXZlbnQobmV3IEVycm9yUnVubmluZ0V2ZW50KX1pZihldmVudE5hbWU9PT0iZXZlbnQiKXtyZXR1cm4gdGhpcy5fbm9ybWFsaXplUnVubmluZ0V2ZW50KG5ldyBSdW5uaW5nRXZlbnQoImV2ZW50IixudWxsKSl9aWYoZXZlbnROYW1lPT09IioiKXtyZXR1cm4gdGhpcy5fbm9ybWFsaXplUnVubmluZ0V2ZW50KG5ldyBXaWxkY2FyZFJ1bm5pbmdFdmVudCh0aGlzLmFkZHJlc3MsdGhpcy5pbnRlcmZhY2UpKX12YXIgZnJhZ21lbnQ9dGhpcy5pbnRlcmZhY2UuZ2V0RXZlbnQoZXZlbnROYW1lKTtyZXR1cm4gdGhpcy5fbm9ybWFsaXplUnVubmluZ0V2ZW50KG5ldyBGcmFnbWVudFJ1bm5pbmdFdmVudCh0aGlzLmFkZHJlc3MsdGhpcy5pbnRlcmZhY2UsZnJhZ21lbnQpKX1pZihldmVudE5hbWUudG9waWNzJiZldmVudE5hbWUudG9waWNzLmxlbmd0aD4wKXt0cnl7dmFyIHRvcGljPWV2ZW50TmFtZS50b3BpY3NbMF07aWYodHlwZW9mIHRvcGljIT09InN0cmluZyIpe3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCB0b3BpYyIpfXZhciBmcmFnbWVudD10aGlzLmludGVyZmFjZS5nZXRFdmVudCh0b3BpYyk7cmV0dXJuIHRoaXMuX25vcm1hbGl6ZVJ1bm5pbmdFdmVudChuZXcgRnJhZ21lbnRSdW5uaW5nRXZlbnQodGhpcy5hZGRyZXNzLHRoaXMuaW50ZXJmYWNlLGZyYWdtZW50LGV2ZW50TmFtZS50b3BpY3MpKX1jYXRjaChlcnJvcil7fXZhciBmaWx0ZXI9e2FkZHJlc3M6dGhpcy5hZGRyZXNzLHRvcGljczpldmVudE5hbWUudG9waWNzfTtyZXR1cm4gdGhpcy5fbm9ybWFsaXplUnVubmluZ0V2ZW50KG5ldyBSdW5uaW5nRXZlbnQoZ2V0RXZlbnRUYWcoZmlsdGVyKSxmaWx0ZXIpKX1yZXR1cm4gdGhpcy5fbm9ybWFsaXplUnVubmluZ0V2ZW50KG5ldyBXaWxkY2FyZFJ1bm5pbmdFdmVudCh0aGlzLmFkZHJlc3MsdGhpcy5pbnRlcmZhY2UpKX07QmFzZUNvbnRyYWN0LnByb3RvdHlwZS5fY2hlY2tSdW5uaW5nRXZlbnRzPWZ1bmN0aW9uKHJ1bm5pbmdFdmVudCl7aWYocnVubmluZ0V2ZW50Lmxpc3RlbmVyQ291bnQoKT09PTApe2RlbGV0ZSB0aGlzLl9ydW5uaW5nRXZlbnRzW3J1bm5pbmdFdmVudC50YWddO3ZhciBlbWl0PXRoaXMuX3dyYXBwZWRFbWl0c1tydW5uaW5nRXZlbnQudGFnXTtpZihlbWl0JiZydW5uaW5nRXZlbnQuZmlsdGVyKXt0aGlzLnByb3ZpZGVyLm9mZihydW5uaW5nRXZlbnQuZmlsdGVyLGVtaXQpO2RlbGV0ZSB0aGlzLl93cmFwcGVkRW1pdHNbcnVubmluZ0V2ZW50LnRhZ119fX07QmFzZUNvbnRyYWN0LnByb3RvdHlwZS5fd3JhcEV2ZW50PWZ1bmN0aW9uKHJ1bm5pbmdFdmVudCxsb2csbGlzdGVuZXIpe3ZhciBfdGhpcz10aGlzO3ZhciBldmVudD0oMCxsaWIkMy5kZWVwQ29weSkobG9nKTtldmVudC5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbigpe2lmKCFsaXN0ZW5lcil7cmV0dXJufXJ1bm5pbmdFdmVudC5yZW1vdmVMaXN0ZW5lcihsaXN0ZW5lcik7X3RoaXMuX2NoZWNrUnVubmluZ0V2ZW50cyhydW5uaW5nRXZlbnQpfTtldmVudC5nZXRCbG9jaz1mdW5jdGlvbigpe3JldHVybiBfdGhpcy5wcm92aWRlci5nZXRCbG9jayhsb2cuYmxvY2tIYXNoKX07ZXZlbnQuZ2V0VHJhbnNhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4gX3RoaXMucHJvdmlkZXIuZ2V0VHJhbnNhY3Rpb24obG9nLnRyYW5zYWN0aW9uSGFzaCl9O2V2ZW50LmdldFRyYW5zYWN0aW9uUmVjZWlwdD1mdW5jdGlvbigpe3JldHVybiBfdGhpcy5wcm92aWRlci5nZXRUcmFuc2FjdGlvblJlY2VpcHQobG9nLnRyYW5zYWN0aW9uSGFzaCl9O3J1bm5pbmdFdmVudC5wcmVwYXJlRXZlbnQoZXZlbnQpO3JldHVybiBldmVudH07QmFzZUNvbnRyYWN0LnByb3RvdHlwZS5fYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihydW5uaW5nRXZlbnQsbGlzdGVuZXIsb25jZSl7dmFyIF90aGlzPXRoaXM7aWYoIXRoaXMucHJvdmlkZXIpe2xvZ2dlci50aHJvd0Vycm9yKCJldmVudHMgcmVxdWlyZSBhIHByb3ZpZGVyIG9yIGEgc2lnbmVyIHdpdGggYSBwcm92aWRlciIsbGliLkxvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246Im9uY2UifSl9cnVubmluZ0V2ZW50LmFkZExpc3RlbmVyKGxpc3RlbmVyLG9uY2UpO3RoaXMuX3J1bm5pbmdFdmVudHNbcnVubmluZ0V2ZW50LnRhZ109cnVubmluZ0V2ZW50O2lmKCF0aGlzLl93cmFwcGVkRW1pdHNbcnVubmluZ0V2ZW50LnRhZ10pe3ZhciB3cmFwcGVkRW1pdD1mdW5jdGlvbihsb2cpe3ZhciBldmVudD1fdGhpcy5fd3JhcEV2ZW50KHJ1bm5pbmdFdmVudCxsb2csbGlzdGVuZXIpO2lmKGV2ZW50LmRlY29kZUVycm9yPT1udWxsKXt0cnl7dmFyIGFyZ3M9cnVubmluZ0V2ZW50LmdldEVtaXQoZXZlbnQpO190aGlzLmVtaXQuYXBwbHkoX3RoaXMsX19zcHJlYWRBcnJheShbcnVubmluZ0V2ZW50LmZpbHRlcl0sYXJncyxmYWxzZSkpfWNhdGNoKGVycm9yKXtldmVudC5kZWNvZGVFcnJvcj1lcnJvci5lcnJvcn19aWYocnVubmluZ0V2ZW50LmZpbHRlciE9bnVsbCl7X3RoaXMuZW1pdCgiZXZlbnQiLGV2ZW50KX1pZihldmVudC5kZWNvZGVFcnJvciE9bnVsbCl7X3RoaXMuZW1pdCgiZXJyb3IiLGV2ZW50LmRlY29kZUVycm9yLGV2ZW50KX19O3RoaXMuX3dyYXBwZWRFbWl0c1tydW5uaW5nRXZlbnQudGFnXT13cmFwcGVkRW1pdDtpZihydW5uaW5nRXZlbnQuZmlsdGVyIT1udWxsKXt0aGlzLnByb3ZpZGVyLm9uKHJ1bm5pbmdFdmVudC5maWx0ZXIsd3JhcHBlZEVtaXQpfX19O0Jhc2VDb250cmFjdC5wcm90b3R5cGUucXVlcnlGaWx0ZXI9ZnVuY3Rpb24oZXZlbnQsZnJvbUJsb2NrT3JCbG9ja2hhc2gsdG9CbG9jayl7dmFyIF90aGlzPXRoaXM7dmFyIHJ1bm5pbmdFdmVudD10aGlzLl9nZXRSdW5uaW5nRXZlbnQoZXZlbnQpO3ZhciBmaWx0ZXI9KDAsbGliJDMuc2hhbGxvd0NvcHkpKHJ1bm5pbmdFdmVudC5maWx0ZXIpO2lmKHR5cGVvZiBmcm9tQmxvY2tPckJsb2NraGFzaD09PSJzdHJpbmciJiYoMCxsaWIkMS5pc0hleFN0cmluZykoZnJvbUJsb2NrT3JCbG9ja2hhc2gsMzIpKXtpZih0b0Jsb2NrIT1udWxsKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJjYW5ub3Qgc3BlY2lmeSB0b0Jsb2NrIHdpdGggYmxvY2toYXNoIiwidG9CbG9jayIsdG9CbG9jayl9ZmlsdGVyLmJsb2NrSGFzaD1mcm9tQmxvY2tPckJsb2NraGFzaH1lbHNle2ZpbHRlci5mcm9tQmxvY2s9ZnJvbUJsb2NrT3JCbG9ja2hhc2ghPW51bGw/ZnJvbUJsb2NrT3JCbG9ja2hhc2g6MDtmaWx0ZXIudG9CbG9jaz10b0Jsb2NrIT1udWxsP3RvQmxvY2s6ImxhdGVzdCJ9cmV0dXJuIHRoaXMucHJvdmlkZXIuZ2V0TG9ncyhmaWx0ZXIpLnRoZW4oZnVuY3Rpb24obG9ncyl7cmV0dXJuIGxvZ3MubWFwKGZ1bmN0aW9uKGxvZyl7cmV0dXJuIF90aGlzLl93cmFwRXZlbnQocnVubmluZ0V2ZW50LGxvZyxudWxsKX0pfSl9O0Jhc2VDb250cmFjdC5wcm90b3R5cGUub249ZnVuY3Rpb24oZXZlbnQsbGlzdGVuZXIpe3RoaXMuX2FkZEV2ZW50TGlzdGVuZXIodGhpcy5fZ2V0UnVubmluZ0V2ZW50KGV2ZW50KSxsaXN0ZW5lcixmYWxzZSk7cmV0dXJuIHRoaXN9O0Jhc2VDb250cmFjdC5wcm90b3R5cGUub25jZT1mdW5jdGlvbihldmVudCxsaXN0ZW5lcil7dGhpcy5fYWRkRXZlbnRMaXN0ZW5lcih0aGlzLl9nZXRSdW5uaW5nRXZlbnQoZXZlbnQpLGxpc3RlbmVyLHRydWUpO3JldHVybiB0aGlzfTtCYXNlQ29udHJhY3QucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oZXZlbnROYW1lKXt2YXIgYXJncz1bXTtmb3IodmFyIF9pPTE7X2k8YXJndW1lbnRzLmxlbmd0aDtfaSsrKXthcmdzW19pLTFdPWFyZ3VtZW50c1tfaV19aWYoIXRoaXMucHJvdmlkZXIpe3JldHVybiBmYWxzZX12YXIgcnVubmluZ0V2ZW50PXRoaXMuX2dldFJ1bm5pbmdFdmVudChldmVudE5hbWUpO3ZhciByZXN1bHQ9cnVubmluZ0V2ZW50LnJ1bihhcmdzKT4wO3RoaXMuX2NoZWNrUnVubmluZ0V2ZW50cyhydW5uaW5nRXZlbnQpO3JldHVybiByZXN1bHR9O0Jhc2VDb250cmFjdC5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1mdW5jdGlvbihldmVudE5hbWUpe3ZhciBfdGhpcz10aGlzO2lmKCF0aGlzLnByb3ZpZGVyKXtyZXR1cm4gMH1pZihldmVudE5hbWU9PW51bGwpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLl9ydW5uaW5nRXZlbnRzKS5yZWR1Y2UoZnVuY3Rpb24oYWNjdW0sa2V5KXtyZXR1cm4gYWNjdW0rX3RoaXMuX3J1bm5pbmdFdmVudHNba2V5XS5saXN0ZW5lckNvdW50KCl9LDApfXJldHVybiB0aGlzLl9nZXRSdW5uaW5nRXZlbnQoZXZlbnROYW1lKS5saXN0ZW5lckNvdW50KCl9O0Jhc2VDb250cmFjdC5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKGV2ZW50TmFtZSl7aWYoIXRoaXMucHJvdmlkZXIpe3JldHVybltdfWlmKGV2ZW50TmFtZT09bnVsbCl7dmFyIHJlc3VsdF8xPVtdO2Zvcih2YXIgdGFnIGluIHRoaXMuX3J1bm5pbmdFdmVudHMpe3RoaXMuX3J1bm5pbmdFdmVudHNbdGFnXS5saXN0ZW5lcnMoKS5mb3JFYWNoKGZ1bmN0aW9uKGxpc3RlbmVyKXtyZXN1bHRfMS5wdXNoKGxpc3RlbmVyKX0pfXJldHVybiByZXN1bHRfMX1yZXR1cm4gdGhpcy5fZ2V0UnVubmluZ0V2ZW50KGV2ZW50TmFtZSkubGlzdGVuZXJzKCl9O0Jhc2VDb250cmFjdC5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGV2ZW50TmFtZSl7aWYoIXRoaXMucHJvdmlkZXIpe3JldHVybiB0aGlzfWlmKGV2ZW50TmFtZT09bnVsbCl7Zm9yKHZhciB0YWcgaW4gdGhpcy5fcnVubmluZ0V2ZW50cyl7dmFyIHJ1bm5pbmdFdmVudF8xPXRoaXMuX3J1bm5pbmdFdmVudHNbdGFnXTtydW5uaW5nRXZlbnRfMS5yZW1vdmVBbGxMaXN0ZW5lcnMoKTt0aGlzLl9jaGVja1J1bm5pbmdFdmVudHMocnVubmluZ0V2ZW50XzEpfXJldHVybiB0aGlzfXZhciBydW5uaW5nRXZlbnQ9dGhpcy5fZ2V0UnVubmluZ0V2ZW50KGV2ZW50TmFtZSk7cnVubmluZ0V2ZW50LnJlbW92ZUFsbExpc3RlbmVycygpO3RoaXMuX2NoZWNrUnVubmluZ0V2ZW50cyhydW5uaW5nRXZlbnQpO3JldHVybiB0aGlzfTtCYXNlQ29udHJhY3QucHJvdG90eXBlLm9mZj1mdW5jdGlvbihldmVudE5hbWUsbGlzdGVuZXIpe2lmKCF0aGlzLnByb3ZpZGVyKXtyZXR1cm4gdGhpc312YXIgcnVubmluZ0V2ZW50PXRoaXMuX2dldFJ1bm5pbmdFdmVudChldmVudE5hbWUpO3J1bm5pbmdFdmVudC5yZW1vdmVMaXN0ZW5lcihsaXN0ZW5lcik7dGhpcy5fY2hlY2tSdW5uaW5nRXZlbnRzKHJ1bm5pbmdFdmVudCk7cmV0dXJuIHRoaXN9O0Jhc2VDb250cmFjdC5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24oZXZlbnROYW1lLGxpc3RlbmVyKXtyZXR1cm4gdGhpcy5vZmYoZXZlbnROYW1lLGxpc3RlbmVyKX07cmV0dXJuIEJhc2VDb250cmFjdH0oKTtleHBvcnRzLkJhc2VDb250cmFjdD1CYXNlQ29udHJhY3Q7dmFyIENvbnRyYWN0PWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKENvbnRyYWN0LF9zdXBlcik7ZnVuY3Rpb24gQ29udHJhY3QoKXtyZXR1cm4gX3N1cGVyIT09bnVsbCYmX3N1cGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gQ29udHJhY3R9KEJhc2VDb250cmFjdCk7ZXhwb3J0cy5Db250cmFjdD1Db250cmFjdDt2YXIgQ29udHJhY3RGYWN0b3J5PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQ29udHJhY3RGYWN0b3J5KGNvbnRyYWN0SW50ZXJmYWNlLGJ5dGVjb2RlLHNpZ25lcil7dmFyIF9uZXdUYXJnZXQ9dGhpcy5jb25zdHJ1Y3Rvcjt2YXIgYnl0ZWNvZGVIZXg9bnVsbDtpZih0eXBlb2YgYnl0ZWNvZGU9PT0ic3RyaW5nIil7Ynl0ZWNvZGVIZXg9Ynl0ZWNvZGV9ZWxzZSBpZigoMCxsaWIkMS5pc0J5dGVzKShieXRlY29kZSkpe2J5dGVjb2RlSGV4PSgwLGxpYiQxLmhleGxpZnkpKGJ5dGVjb2RlKX1lbHNlIGlmKGJ5dGVjb2RlJiZ0eXBlb2YgYnl0ZWNvZGUub2JqZWN0PT09InN0cmluZyIpe2J5dGVjb2RlSGV4PWJ5dGVjb2RlLm9iamVjdH1lbHNle2J5dGVjb2RlSGV4PSIhIn1pZihieXRlY29kZUhleC5zdWJzdHJpbmcoMCwyKSE9PSIweCIpe2J5dGVjb2RlSGV4PSIweCIrYnl0ZWNvZGVIZXh9aWYoISgwLGxpYiQxLmlzSGV4U3RyaW5nKShieXRlY29kZUhleCl8fGJ5dGVjb2RlSGV4Lmxlbmd0aCUyKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGJ5dGVjb2RlIiwiYnl0ZWNvZGUiLGJ5dGVjb2RlKX1pZihzaWduZXImJiFsaWIkZi5TaWduZXIuaXNTaWduZXIoc2lnbmVyKSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBzaWduZXIiLCJzaWduZXIiLHNpZ25lcil9KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImJ5dGVjb2RlIixieXRlY29kZUhleCk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImludGVyZmFjZSIsKDAsbGliJDMuZ2V0U3RhdGljKShfbmV3VGFyZ2V0LCJnZXRJbnRlcmZhY2UiKShjb250cmFjdEludGVyZmFjZSkpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJzaWduZXIiLHNpZ25lcnx8bnVsbCl9Q29udHJhY3RGYWN0b3J5LnByb3RvdHlwZS5nZXREZXBsb3lUcmFuc2FjdGlvbj1mdW5jdGlvbigpe3ZhciBhcmdzPVtdO2Zvcih2YXIgX2k9MDtfaTxhcmd1bWVudHMubGVuZ3RoO19pKyspe2FyZ3NbX2ldPWFyZ3VtZW50c1tfaV19dmFyIHR4PXt9O2lmKGFyZ3MubGVuZ3RoPT09dGhpcy5pbnRlcmZhY2UuZGVwbG95LmlucHV0cy5sZW5ndGgrMSYmdHlwZW9mIGFyZ3NbYXJncy5sZW5ndGgtMV09PT0ib2JqZWN0Iil7dHg9KDAsbGliJDMuc2hhbGxvd0NvcHkpKGFyZ3MucG9wKCkpO2Zvcih2YXIga2V5IGluIHR4KXtpZighYWxsb3dlZFRyYW5zYWN0aW9uS2V5c1trZXldKXt0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHJhbnNhY3Rpb24gb3ZlcnJpZGUgIitrZXkpfX19WyJkYXRhIiwiZnJvbSIsInRvIl0uZm9yRWFjaChmdW5jdGlvbihrZXkpe2lmKHR4W2tleV09PW51bGwpe3JldHVybn1sb2dnZXIudGhyb3dFcnJvcigiY2Fubm90IG92ZXJyaWRlICIra2V5LGxpYi5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOmtleX0pfSk7aWYodHgudmFsdWUpe3ZhciB2YWx1ZT1saWIkMi5CaWdOdW1iZXIuZnJvbSh0eC52YWx1ZSk7aWYoIXZhbHVlLmlzWmVybygpJiYhdGhpcy5pbnRlcmZhY2UuZGVwbG95LnBheWFibGUpe2xvZ2dlci50aHJvd0Vycm9yKCJub24tcGF5YWJsZSBjb25zdHJ1Y3RvciBjYW5ub3Qgb3ZlcnJpZGUgdmFsdWUiLGxpYi5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJvdmVycmlkZXMudmFsdWUiLHZhbHVlOnR4LnZhbHVlfSl9fWxvZ2dlci5jaGVja0FyZ3VtZW50Q291bnQoYXJncy5sZW5ndGgsdGhpcy5pbnRlcmZhY2UuZGVwbG95LmlucHV0cy5sZW5ndGgsIiBpbiBDb250cmFjdCBjb25zdHJ1Y3RvciIpO3R4LmRhdGE9KDAsbGliJDEuaGV4bGlmeSkoKDAsbGliJDEuY29uY2F0KShbdGhpcy5ieXRlY29kZSx0aGlzLmludGVyZmFjZS5lbmNvZGVEZXBsb3koYXJncyldKSk7cmV0dXJuIHR4fTtDb250cmFjdEZhY3RvcnkucHJvdG90eXBlLmRlcGxveT1mdW5jdGlvbigpe3ZhciBhcmdzPVtdO2Zvcih2YXIgX2k9MDtfaTxhcmd1bWVudHMubGVuZ3RoO19pKyspe2FyZ3NbX2ldPWFyZ3VtZW50c1tfaV19cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgb3ZlcnJpZGVzLHBhcmFtcyx1bnNpZ25lZFR4LHR4LGFkZHJlc3MsY29udHJhY3Q7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOm92ZXJyaWRlcz17fTtpZihhcmdzLmxlbmd0aD09PXRoaXMuaW50ZXJmYWNlLmRlcGxveS5pbnB1dHMubGVuZ3RoKzEpe292ZXJyaWRlcz1hcmdzLnBvcCgpfWxvZ2dlci5jaGVja0FyZ3VtZW50Q291bnQoYXJncy5sZW5ndGgsdGhpcy5pbnRlcmZhY2UuZGVwbG95LmlucHV0cy5sZW5ndGgsIiBpbiBDb250cmFjdCBjb25zdHJ1Y3RvciIpO3JldHVybls0LHJlc29sdmVBZGRyZXNzZXModGhpcy5zaWduZXIsYXJncyx0aGlzLmludGVyZmFjZS5kZXBsb3kuaW5wdXRzKV07Y2FzZSAxOnBhcmFtcz1fYS5zZW50KCk7cGFyYW1zLnB1c2gob3ZlcnJpZGVzKTt1bnNpZ25lZFR4PXRoaXMuZ2V0RGVwbG95VHJhbnNhY3Rpb24uYXBwbHkodGhpcyxwYXJhbXMpO3JldHVybls0LHRoaXMuc2lnbmVyLnNlbmRUcmFuc2FjdGlvbih1bnNpZ25lZFR4KV07Y2FzZSAyOnR4PV9hLnNlbnQoKTthZGRyZXNzPSgwLGxpYiQzLmdldFN0YXRpYykodGhpcy5jb25zdHJ1Y3RvciwiZ2V0Q29udHJhY3RBZGRyZXNzIikodHgpO2NvbnRyYWN0PSgwLGxpYiQzLmdldFN0YXRpYykodGhpcy5jb25zdHJ1Y3RvciwiZ2V0Q29udHJhY3QiKShhZGRyZXNzLHRoaXMuaW50ZXJmYWNlLHRoaXMuc2lnbmVyKTthZGRDb250cmFjdFdhaXQoY29udHJhY3QsdHgpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KShjb250cmFjdCwiZGVwbG95VHJhbnNhY3Rpb24iLHR4KTtyZXR1cm5bMixjb250cmFjdF19fSl9KX07Q29udHJhY3RGYWN0b3J5LnByb3RvdHlwZS5hdHRhY2g9ZnVuY3Rpb24oYWRkcmVzcyl7cmV0dXJuIHRoaXMuY29uc3RydWN0b3IuZ2V0Q29udHJhY3QoYWRkcmVzcyx0aGlzLmludGVyZmFjZSx0aGlzLnNpZ25lcil9O0NvbnRyYWN0RmFjdG9yeS5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbihzaWduZXIpe3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLmludGVyZmFjZSx0aGlzLmJ5dGVjb2RlLHNpZ25lcil9O0NvbnRyYWN0RmFjdG9yeS5mcm9tU29saWRpdHk9ZnVuY3Rpb24oY29tcGlsZXJPdXRwdXQsc2lnbmVyKXtpZihjb21waWxlck91dHB1dD09bnVsbCl7bG9nZ2VyLnRocm93RXJyb3IoIm1pc3NpbmcgY29tcGlsZXIgb3V0cHV0IixsaWIuTG9nZ2VyLmVycm9ycy5NSVNTSU5HX0FSR1VNRU5ULHthcmd1bWVudDoiY29tcGlsZXJPdXRwdXQifSl9aWYodHlwZW9mIGNvbXBpbGVyT3V0cHV0PT09InN0cmluZyIpe2NvbXBpbGVyT3V0cHV0PUpTT04ucGFyc2UoY29tcGlsZXJPdXRwdXQpfXZhciBhYmk9Y29tcGlsZXJPdXRwdXQuYWJpO3ZhciBieXRlY29kZT1udWxsO2lmKGNvbXBpbGVyT3V0cHV0LmJ5dGVjb2RlKXtieXRlY29kZT1jb21waWxlck91dHB1dC5ieXRlY29kZX1lbHNlIGlmKGNvbXBpbGVyT3V0cHV0LmV2bSYmY29tcGlsZXJPdXRwdXQuZXZtLmJ5dGVjb2RlKXtieXRlY29kZT1jb21waWxlck91dHB1dC5ldm0uYnl0ZWNvZGV9cmV0dXJuIG5ldyB0aGlzKGFiaSxieXRlY29kZSxzaWduZXIpfTtDb250cmFjdEZhY3RvcnkuZ2V0SW50ZXJmYWNlPWZ1bmN0aW9uKGNvbnRyYWN0SW50ZXJmYWNlKXtyZXR1cm4gQ29udHJhY3QuZ2V0SW50ZXJmYWNlKGNvbnRyYWN0SW50ZXJmYWNlKX07Q29udHJhY3RGYWN0b3J5LmdldENvbnRyYWN0QWRkcmVzcz1mdW5jdGlvbih0eCl7cmV0dXJuKDAsbGliJDYuZ2V0Q29udHJhY3RBZGRyZXNzKSh0eCl9O0NvbnRyYWN0RmFjdG9yeS5nZXRDb250cmFjdD1mdW5jdGlvbihhZGRyZXNzLGNvbnRyYWN0SW50ZXJmYWNlLHNpZ25lcil7cmV0dXJuIG5ldyBDb250cmFjdChhZGRyZXNzLGNvbnRyYWN0SW50ZXJmYWNlLHNpZ25lcil9O3JldHVybiBDb250cmFjdEZhY3Rvcnl9KCk7ZXhwb3J0cy5Db250cmFjdEZhY3Rvcnk9Q29udHJhY3RGYWN0b3J5fSk7dmFyIGluZGV4JGc9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMobGliJGkpO3ZhciBsaWIkaj1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuQmFzZTU4PWV4cG9ydHMuQmFzZTMyPWV4cG9ydHMuQmFzZVg9dm9pZCAwO3ZhciBCYXNlWD1mdW5jdGlvbigpe2Z1bmN0aW9uIEJhc2VYKGFscGhhYmV0KXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywiYWxwaGFiZXQiLGFscGhhYmV0KTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywiYmFzZSIsYWxwaGFiZXQubGVuZ3RoKTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywiX2FscGhhYmV0TWFwIix7fSk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIl9sZWFkZXIiLGFscGhhYmV0LmNoYXJBdCgwKSk7Zm9yKHZhciBpPTA7aTxhbHBoYWJldC5sZW5ndGg7aSsrKXt0aGlzLl9hbHBoYWJldE1hcFthbHBoYWJldC5jaGFyQXQoaSldPWl9fUJhc2VYLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24odmFsdWUpe3ZhciBzb3VyY2U9KDAsbGliJDEuYXJyYXlpZnkpKHZhbHVlKTtpZihzb3VyY2UubGVuZ3RoPT09MCl7cmV0dXJuIiJ9dmFyIGRpZ2l0cz1bMF07Zm9yKHZhciBpPTA7aTxzb3VyY2UubGVuZ3RoOysraSl7dmFyIGNhcnJ5PXNvdXJjZVtpXTtmb3IodmFyIGo9MDtqPGRpZ2l0cy5sZW5ndGg7KytqKXtjYXJyeSs9ZGlnaXRzW2pdPDw4O2RpZ2l0c1tqXT1jYXJyeSV0aGlzLmJhc2U7Y2Fycnk9Y2FycnkvdGhpcy5iYXNlfDB9d2hpbGUoY2Fycnk+MCl7ZGlnaXRzLnB1c2goY2FycnkldGhpcy5iYXNlKTtjYXJyeT1jYXJyeS90aGlzLmJhc2V8MH19dmFyIHN0cmluZz0iIjtmb3IodmFyIGs9MDtzb3VyY2Vba109PT0wJiZrPHNvdXJjZS5sZW5ndGgtMTsrK2spe3N0cmluZys9dGhpcy5fbGVhZGVyfWZvcih2YXIgcT1kaWdpdHMubGVuZ3RoLTE7cT49MDstLXEpe3N0cmluZys9dGhpcy5hbHBoYWJldFtkaWdpdHNbcV1dfXJldHVybiBzdHJpbmd9O0Jhc2VYLnByb3RvdHlwZS5kZWNvZGU9ZnVuY3Rpb24odmFsdWUpe2lmKHR5cGVvZiB2YWx1ZSE9PSJzdHJpbmciKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBTdHJpbmciKX12YXIgYnl0ZXM9W107aWYodmFsdWUubGVuZ3RoPT09MCl7cmV0dXJuIG5ldyBVaW50OEFycmF5KGJ5dGVzKX1ieXRlcy5wdXNoKDApO2Zvcih2YXIgaT0wO2k8dmFsdWUubGVuZ3RoO2krKyl7dmFyIGJ5dGU9dGhpcy5fYWxwaGFiZXRNYXBbdmFsdWVbaV1dO2lmKGJ5dGU9PT11bmRlZmluZWQpe3Rocm93IG5ldyBFcnJvcigiTm9uLWJhc2UiK3RoaXMuYmFzZSsiIGNoYXJhY3RlciIpfXZhciBjYXJyeT1ieXRlO2Zvcih2YXIgaj0wO2o8Ynl0ZXMubGVuZ3RoOysrail7Y2FycnkrPWJ5dGVzW2pdKnRoaXMuYmFzZTtieXRlc1tqXT1jYXJyeSYyNTU7Y2Fycnk+Pj04fXdoaWxlKGNhcnJ5PjApe2J5dGVzLnB1c2goY2FycnkmMjU1KTtjYXJyeT4+PTh9fWZvcih2YXIgaz0wO3ZhbHVlW2tdPT09dGhpcy5fbGVhZGVyJiZrPHZhbHVlLmxlbmd0aC0xOysrayl7Ynl0ZXMucHVzaCgwKX1yZXR1cm4oMCxsaWIkMS5hcnJheWlmeSkobmV3IFVpbnQ4QXJyYXkoYnl0ZXMucmV2ZXJzZSgpKSl9O3JldHVybiBCYXNlWH0oKTtleHBvcnRzLkJhc2VYPUJhc2VYO3ZhciBCYXNlMzI9bmV3IEJhc2VYKCJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejIzNDU2NyIpO2V4cG9ydHMuQmFzZTMyPUJhc2UzMjt2YXIgQmFzZTU4PW5ldyBCYXNlWCgiMTIzNDU2Nzg5QUJDREVGR0hKS0xNTlBRUlNUVVZXWFlaYWJjZGVmZ2hpamttbm9wcXJzdHV2d3h5eiIpO2V4cG9ydHMuQmFzZTU4PUJhc2U1OH0pO3ZhciBpbmRleCRoPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGxpYiRqKTt2YXIgdHlwZXM9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLlN1cHBvcnRlZEFsZ29yaXRobT12b2lkIDA7dmFyIFN1cHBvcnRlZEFsZ29yaXRobTsoZnVuY3Rpb24oU3VwcG9ydGVkQWxnb3JpdGhtKXtTdXBwb3J0ZWRBbGdvcml0aG1bInNoYTI1NiJdPSJzaGEyNTYiO1N1cHBvcnRlZEFsZ29yaXRobVsic2hhNTEyIl09InNoYTUxMiJ9KShTdXBwb3J0ZWRBbGdvcml0aG09ZXhwb3J0cy5TdXBwb3J0ZWRBbGdvcml0aG18fChleHBvcnRzLlN1cHBvcnRlZEFsZ29yaXRobT17fSkpfSk7dmFyIHR5cGVzJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanModHlwZXMpO3ZhciBfdmVyc2lvbiRzPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy52ZXJzaW9uPXZvaWQgMDtleHBvcnRzLnZlcnNpb249InNoYTIvNS43LjAifSk7dmFyIF92ZXJzaW9uJHQ9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoX3ZlcnNpb24kcyk7dmFyIGJyb3dzZXJTaGEyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9faW1wb3J0RGVmYXVsdD1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihtb2Qpe3JldHVybiBtb2QmJm1vZC5fX2VzTW9kdWxlP21vZDp7ZGVmYXVsdDptb2R9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLmNvbXB1dGVIbWFjPWV4cG9ydHMuc2hhNTEyPWV4cG9ydHMuc2hhMjU2PWV4cG9ydHMucmlwZW1kMTYwPXZvaWQgMDt2YXIgaGFzaF9qc18xPV9faW1wb3J0RGVmYXVsdChoYXNoXzEpO3ZhciBsb2dnZXI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kcy52ZXJzaW9uKTtmdW5jdGlvbiByaXBlbWQxNjAoZGF0YSl7cmV0dXJuIjB4IitoYXNoX2pzXzEuZGVmYXVsdC5yaXBlbWQxNjAoKS51cGRhdGUoKDAsbGliJDEuYXJyYXlpZnkpKGRhdGEpKS5kaWdlc3QoImhleCIpfWV4cG9ydHMucmlwZW1kMTYwPXJpcGVtZDE2MDtmdW5jdGlvbiBzaGEyNTYoZGF0YSl7cmV0dXJuIjB4IitoYXNoX2pzXzEuZGVmYXVsdC5zaGEyNTYoKS51cGRhdGUoKDAsbGliJDEuYXJyYXlpZnkpKGRhdGEpKS5kaWdlc3QoImhleCIpfWV4cG9ydHMuc2hhMjU2PXNoYTI1NjtmdW5jdGlvbiBzaGE1MTIoZGF0YSl7cmV0dXJuIjB4IitoYXNoX2pzXzEuZGVmYXVsdC5zaGE1MTIoKS51cGRhdGUoKDAsbGliJDEuYXJyYXlpZnkpKGRhdGEpKS5kaWdlc3QoImhleCIpfWV4cG9ydHMuc2hhNTEyPXNoYTUxMjtmdW5jdGlvbiBjb21wdXRlSG1hYyhhbGdvcml0aG0sa2V5LGRhdGEpe2lmKCF0eXBlcy5TdXBwb3J0ZWRBbGdvcml0aG1bYWxnb3JpdGhtXSl7bG9nZ2VyLnRocm93RXJyb3IoInVuc3VwcG9ydGVkIGFsZ29yaXRobSAiK2FsZ29yaXRobSxsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoiaG1hYyIsYWxnb3JpdGhtOmFsZ29yaXRobX0pfXJldHVybiIweCIraGFzaF9qc18xLmRlZmF1bHQuaG1hYyhoYXNoX2pzXzEuZGVmYXVsdFthbGdvcml0aG1dLCgwLGxpYiQxLmFycmF5aWZ5KShrZXkpKS51cGRhdGUoKDAsbGliJDEuYXJyYXlpZnkpKGRhdGEpKS5kaWdlc3QoImhleCIpfWV4cG9ydHMuY29tcHV0ZUhtYWM9Y29tcHV0ZUhtYWN9KTt2YXIgYnJvd3NlclNoYTIkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhicm93c2VyU2hhMik7dmFyIGxpYiRrPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5TdXBwb3J0ZWRBbGdvcml0aG09ZXhwb3J0cy5zaGE1MTI9ZXhwb3J0cy5zaGEyNTY9ZXhwb3J0cy5yaXBlbWQxNjA9ZXhwb3J0cy5jb21wdXRlSG1hYz12b2lkIDA7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImNvbXB1dGVIbWFjIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBicm93c2VyU2hhMi5jb21wdXRlSG1hY319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywicmlwZW1kMTYwIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBicm93c2VyU2hhMi5yaXBlbWQxNjB9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsInNoYTI1NiIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYnJvd3NlclNoYTIuc2hhMjU2fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJzaGE1MTIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGJyb3dzZXJTaGEyLnNoYTUxMn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiU3VwcG9ydGVkQWxnb3JpdGhtIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB0eXBlcy5TdXBwb3J0ZWRBbGdvcml0aG19fSl9KTt2YXIgaW5kZXgkaT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhsaWIkayk7dmFyIGJyb3dzZXJQYmtkZjI9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnBia2RmMj12b2lkIDA7ZnVuY3Rpb24gcGJrZGYyKHBhc3N3b3JkLHNhbHQsaXRlcmF0aW9ucyxrZXlsZW4saGFzaEFsZ29yaXRobSl7cGFzc3dvcmQ9KDAsbGliJDEuYXJyYXlpZnkpKHBhc3N3b3JkKTtzYWx0PSgwLGxpYiQxLmFycmF5aWZ5KShzYWx0KTt2YXIgaExlbjt2YXIgbD0xO3ZhciBESz1uZXcgVWludDhBcnJheShrZXlsZW4pO3ZhciBibG9jazE9bmV3IFVpbnQ4QXJyYXkoc2FsdC5sZW5ndGgrNCk7YmxvY2sxLnNldChzYWx0KTt2YXIgcjt2YXIgVDtmb3IodmFyIGk9MTtpPD1sO2krKyl7YmxvY2sxW3NhbHQubGVuZ3RoXT1pPj4yNCYyNTU7YmxvY2sxW3NhbHQubGVuZ3RoKzFdPWk+PjE2JjI1NTtibG9jazFbc2FsdC5sZW5ndGgrMl09aT4+OCYyNTU7YmxvY2sxW3NhbHQubGVuZ3RoKzNdPWkmMjU1O3ZhciBVPSgwLGxpYiQxLmFycmF5aWZ5KSgoMCxsaWIkay5jb21wdXRlSG1hYykoaGFzaEFsZ29yaXRobSxwYXNzd29yZCxibG9jazEpKTtpZighaExlbil7aExlbj1VLmxlbmd0aDtUPW5ldyBVaW50OEFycmF5KGhMZW4pO2w9TWF0aC5jZWlsKGtleWxlbi9oTGVuKTtyPWtleWxlbi0obC0xKSpoTGVufVQuc2V0KFUpO2Zvcih2YXIgaj0xO2o8aXRlcmF0aW9ucztqKyspe1U9KDAsbGliJDEuYXJyYXlpZnkpKCgwLGxpYiRrLmNvbXB1dGVIbWFjKShoYXNoQWxnb3JpdGhtLHBhc3N3b3JkLFUpKTtmb3IodmFyIGs9MDtrPGhMZW47aysrKVRba11ePVVba119dmFyIGRlc3RQb3M9KGktMSkqaExlbjt2YXIgbGVuPWk9PT1sP3I6aExlbjtESy5zZXQoKDAsbGliJDEuYXJyYXlpZnkpKFQpLnNsaWNlKDAsbGVuKSxkZXN0UG9zKX1yZXR1cm4oMCxsaWIkMS5oZXhsaWZ5KShESyl9ZXhwb3J0cy5wYmtkZjI9cGJrZGYyfSk7dmFyIGJyb3dzZXJQYmtkZjIkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhicm93c2VyUGJrZGYyKTt2YXIgbGliJGw9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnBia2RmMj12b2lkIDA7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsInBia2RmMiIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYnJvd3NlclBia2RmMi5wYmtkZjJ9fSl9KTt2YXIgaW5kZXgkaj1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhsaWIkbCk7dmFyIF92ZXJzaW9uJHU9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnZlcnNpb249dm9pZCAwO2V4cG9ydHMudmVyc2lvbj0id29yZGxpc3RzLzUuNy4wIn0pO3ZhciBfdmVyc2lvbiR2PWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKF92ZXJzaW9uJHUpO3ZhciB3b3JkbGlzdD1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuV29yZGxpc3Q9ZXhwb3J0cy5sb2dnZXI9dm9pZCAwO3ZhciBleHBvcnRXb3JkbGlzdD1mYWxzZTtleHBvcnRzLmxvZ2dlcj1uZXcgbGliLkxvZ2dlcihfdmVyc2lvbiR1LnZlcnNpb24pO3ZhciBXb3JkbGlzdD1mdW5jdGlvbigpe2Z1bmN0aW9uIFdvcmRsaXN0KGxvY2FsZSl7dmFyIF9uZXdUYXJnZXQ9dGhpcy5jb25zdHJ1Y3RvcjtleHBvcnRzLmxvZ2dlci5jaGVja0Fic3RyYWN0KF9uZXdUYXJnZXQsV29yZGxpc3QpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJsb2NhbGUiLGxvY2FsZSl9V29yZGxpc3QucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKG1uZW1vbmljKXtyZXR1cm4gbW5lbW9uaWMudG9Mb3dlckNhc2UoKS5zcGxpdCgvICsvZyl9O1dvcmRsaXN0LnByb3RvdHlwZS5qb2luPWZ1bmN0aW9uKHdvcmRzKXtyZXR1cm4gd29yZHMuam9pbigiICIpfTtXb3JkbGlzdC5jaGVjaz1mdW5jdGlvbih3b3JkbGlzdCl7dmFyIHdvcmRzPVtdO2Zvcih2YXIgaT0wO2k8MjA0ODtpKyspe3ZhciB3b3JkPXdvcmRsaXN0LmdldFdvcmQoaSk7aWYoaSE9PXdvcmRsaXN0LmdldFdvcmRJbmRleCh3b3JkKSl7cmV0dXJuIjB4In13b3Jkcy5wdXNoKHdvcmQpfXJldHVybigwLGxpYiRjLmlkKSh3b3Jkcy5qb2luKCJcbiIpKyJcbiIpfTtXb3JkbGlzdC5yZWdpc3Rlcj1mdW5jdGlvbihsYW5nLG5hbWUpe2lmKCFuYW1lKXtuYW1lPWxhbmcubG9jYWxlfWlmKGV4cG9ydFdvcmRsaXN0KXt0cnl7dmFyIGFueUdsb2JhbD13aW5kb3c7aWYoYW55R2xvYmFsLl9ldGhlcnMmJmFueUdsb2JhbC5fZXRoZXJzLndvcmRsaXN0cyl7aWYoIWFueUdsb2JhbC5fZXRoZXJzLndvcmRsaXN0c1tuYW1lXSl7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKGFueUdsb2JhbC5fZXRoZXJzLndvcmRsaXN0cyxuYW1lLGxhbmcpfX19Y2F0Y2goZXJyb3Ipe319fTtyZXR1cm4gV29yZGxpc3R9KCk7ZXhwb3J0cy5Xb3JkbGlzdD1Xb3JkbGlzdH0pO3ZhciB3b3JkbGlzdCQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKHdvcmRsaXN0KTt2YXIgbGFuZ0VuXzE9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgX19leHRlbmRzPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIGV4dGVuZFN0YXRpY3M9ZnVuY3Rpb24oZCxiKXtleHRlbmRTdGF0aWNzPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihkLGIpe2QuX19wcm90b19fPWJ9fHxmdW5jdGlvbihkLGIpe2Zvcih2YXIgcCBpbiBiKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLHApKWRbcF09YltwXX07cmV0dXJuIGV4dGVuZFN0YXRpY3MoZCxiKX07cmV0dXJuIGZ1bmN0aW9uKGQsYil7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iJiZiIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKGIpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2V4dGVuZFN0YXRpY3MoZCxiKTtmdW5jdGlvbiBfXygpe3RoaXMuY29uc3RydWN0b3I9ZH1kLnByb3RvdHlwZT1iPT09bnVsbD9PYmplY3QuY3JlYXRlKGIpOihfXy5wcm90b3R5cGU9Yi5wcm90b3R5cGUsbmV3IF9fKX19KCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5sYW5nRW49dm9pZCAwO3ZhciB3b3Jkcz0iQWJhbmRvbkFiaWxpdHlBYmxlQWJvdXRBYm92ZUFic2VudEFic29yYkFic3RyYWN0QWJzdXJkQWJ1c2VBY2Nlc3NBY2NpZGVudEFjY291bnRBY2N1c2VBY2hpZXZlQWNpZEFjb3VzdGljQWNxdWlyZUFjcm9zc0FjdEFjdGlvbkFjdG9yQWN0cmVzc0FjdHVhbEFkYXB0QWRkQWRkaWN0QWRkcmVzc0FkanVzdEFkbWl0QWR1bHRBZHZhbmNlQWR2aWNlQWVyb2JpY0FmZmFpckFmZm9yZEFmcmFpZEFnYWluQWdlQWdlbnRBZ3JlZUFoZWFkQWltQWlyQWlycG9ydEFpc2xlQWxhcm1BbGJ1bUFsY29ob2xBbGVydEFsaWVuQWxsQWxsZXlBbGxvd0FsbW9zdEFsb25lQWxwaGFBbHJlYWR5QWxzb0FsdGVyQWx3YXlzQW1hdGV1ckFtYXppbmdBbW9uZ0Ftb3VudEFtdXNlZEFuYWx5c3RBbmNob3JBbmNpZW50QW5nZXJBbmdsZUFuZ3J5QW5pbWFsQW5rbGVBbm5vdW5jZUFubnVhbEFub3RoZXJBbnN3ZXJBbnRlbm5hQW50aXF1ZUFueGlldHlBbnlBcGFydEFwb2xvZ3lBcHBlYXJBcHBsZUFwcHJvdmVBcHJpbEFyY2hBcmN0aWNBcmVhQXJlbmFBcmd1ZUFybUFybWVkQXJtb3JBcm15QXJvdW5kQXJyYW5nZUFycmVzdEFycml2ZUFycm93QXJ0QXJ0ZWZhY3RBcnRpc3RBcnR3b3JrQXNrQXNwZWN0QXNzYXVsdEFzc2V0QXNzaXN0QXNzdW1lQXN0aG1hQXRobGV0ZUF0b21BdHRhY2tBdHRlbmRBdHRpdHVkZUF0dHJhY3RBdWN0aW9uQXVkaXRBdWd1c3RBdW50QXV0aG9yQXV0b0F1dHVtbkF2ZXJhZ2VBdm9jYWRvQXZvaWRBd2FrZUF3YXJlQXdheUF3ZXNvbWVBd2Z1bEF3a3dhcmRBeGlzQmFieUJhY2hlbG9yQmFjb25CYWRnZUJhZ0JhbGFuY2VCYWxjb255QmFsbEJhbWJvb0JhbmFuYUJhbm5lckJhckJhcmVseUJhcmdhaW5CYXJyZWxCYXNlQmFzaWNCYXNrZXRCYXR0bGVCZWFjaEJlYW5CZWF1dHlCZWNhdXNlQmVjb21lQmVlZkJlZm9yZUJlZ2luQmVoYXZlQmVoaW5kQmVsaWV2ZUJlbG93QmVsdEJlbmNoQmVuZWZpdEJlc3RCZXRyYXlCZXR0ZXJCZXR3ZWVuQmV5b25kQmljeWNsZUJpZEJpa2VCaW5kQmlvbG9neUJpcmRCaXJ0aEJpdHRlckJsYWNrQmxhZGVCbGFtZUJsYW5rZXRCbGFzdEJsZWFrQmxlc3NCbGluZEJsb29kQmxvc3NvbUJsb3VzZUJsdWVCbHVyQmx1c2hCb2FyZEJvYXRCb2R5Qm9pbEJvbWJCb25lQm9udXNCb29rQm9vc3RCb3JkZXJCb3JpbmdCb3Jyb3dCb3NzQm90dG9tQm91bmNlQm94Qm95QnJhY2tldEJyYWluQnJhbmRCcmFzc0JyYXZlQnJlYWRCcmVlemVCcmlja0JyaWRnZUJyaWVmQnJpZ2h0QnJpbmdCcmlza0Jyb2Njb2xpQnJva2VuQnJvbnplQnJvb21Ccm90aGVyQnJvd25CcnVzaEJ1YmJsZUJ1ZGR5QnVkZ2V0QnVmZmFsb0J1aWxkQnVsYkJ1bGtCdWxsZXRCdW5kbGVCdW5rZXJCdXJkZW5CdXJnZXJCdXJzdEJ1c0J1c2luZXNzQnVzeUJ1dHRlckJ1eWVyQnV6ekNhYmJhZ2VDYWJpbkNhYmxlQ2FjdHVzQ2FnZUNha2VDYWxsQ2FsbUNhbWVyYUNhbXBDYW5DYW5hbENhbmNlbENhbmR5Q2Fubm9uQ2Fub2VDYW52YXNDYW55b25DYXBhYmxlQ2FwaXRhbENhcHRhaW5DYXJDYXJib25DYXJkQ2FyZ29DYXJwZXRDYXJyeUNhcnRDYXNlQ2FzaENhc2lub0Nhc3RsZUNhc3VhbENhdENhdGFsb2dDYXRjaENhdGVnb3J5Q2F0dGxlQ2F1Z2h0Q2F1c2VDYXV0aW9uQ2F2ZUNlaWxpbmdDZWxlcnlDZW1lbnRDZW5zdXNDZW50dXJ5Q2VyZWFsQ2VydGFpbkNoYWlyQ2hhbGtDaGFtcGlvbkNoYW5nZUNoYW9zQ2hhcHRlckNoYXJnZUNoYXNlQ2hhdENoZWFwQ2hlY2tDaGVlc2VDaGVmQ2hlcnJ5Q2hlc3RDaGlja2VuQ2hpZWZDaGlsZENoaW1uZXlDaG9pY2VDaG9vc2VDaHJvbmljQ2h1Y2tsZUNodW5rQ2h1cm5DaWdhckNpbm5hbW9uQ2lyY2xlQ2l0aXplbkNpdHlDaXZpbENsYWltQ2xhcENsYXJpZnlDbGF3Q2xheUNsZWFuQ2xlcmtDbGV2ZXJDbGlja0NsaWVudENsaWZmQ2xpbWJDbGluaWNDbGlwQ2xvY2tDbG9nQ2xvc2VDbG90aENsb3VkQ2xvd25DbHViQ2x1bXBDbHVzdGVyQ2x1dGNoQ29hY2hDb2FzdENvY29udXRDb2RlQ29mZmVlQ29pbENvaW5Db2xsZWN0Q29sb3JDb2x1bW5Db21iaW5lQ29tZUNvbWZvcnRDb21pY0NvbW1vbkNvbXBhbnlDb25jZXJ0Q29uZHVjdENvbmZpcm1Db25ncmVzc0Nvbm5lY3RDb25zaWRlckNvbnRyb2xDb252aW5jZUNvb2tDb29sQ29wcGVyQ29weUNvcmFsQ29yZUNvcm5Db3JyZWN0Q29zdENvdHRvbkNvdWNoQ291bnRyeUNvdXBsZUNvdXJzZUNvdXNpbkNvdmVyQ295b3RlQ3JhY2tDcmFkbGVDcmFmdENyYW1DcmFuZUNyYXNoQ3JhdGVyQ3Jhd2xDcmF6eUNyZWFtQ3JlZGl0Q3JlZWtDcmV3Q3JpY2tldENyaW1lQ3Jpc3BDcml0aWNDcm9wQ3Jvc3NDcm91Y2hDcm93ZENydWNpYWxDcnVlbENydWlzZUNydW1ibGVDcnVuY2hDcnVzaENyeUNyeXN0YWxDdWJlQ3VsdHVyZUN1cEN1cGJvYXJkQ3VyaW91c0N1cnJlbnRDdXJ0YWluQ3VydmVDdXNoaW9uQ3VzdG9tQ3V0ZUN5Y2xlRGFkRGFtYWdlRGFtcERhbmNlRGFuZ2VyRGFyaW5nRGFzaERhdWdodGVyRGF3bkRheURlYWxEZWJhdGVEZWJyaXNEZWNhZGVEZWNlbWJlckRlY2lkZURlY2xpbmVEZWNvcmF0ZURlY3JlYXNlRGVlckRlZmVuc2VEZWZpbmVEZWZ5RGVncmVlRGVsYXlEZWxpdmVyRGVtYW5kRGVtaXNlRGVuaWFsRGVudGlzdERlbnlEZXBhcnREZXBlbmREZXBvc2l0RGVwdGhEZXB1dHlEZXJpdmVEZXNjcmliZURlc2VydERlc2lnbkRlc2tEZXNwYWlyRGVzdHJveURldGFpbERldGVjdERldmVsb3BEZXZpY2VEZXZvdGVEaWFncmFtRGlhbERpYW1vbmREaWFyeURpY2VEaWVzZWxEaWV0RGlmZmVyRGlnaXRhbERpZ25pdHlEaWxlbW1hRGlubmVyRGlub3NhdXJEaXJlY3REaXJ0RGlzYWdyZWVEaXNjb3ZlckRpc2Vhc2VEaXNoRGlzbWlzc0Rpc29yZGVyRGlzcGxheURpc3RhbmNlRGl2ZXJ0RGl2aWRlRGl2b3JjZURpenp5RG9jdG9yRG9jdW1lbnREb2dEb2xsRG9scGhpbkRvbWFpbkRvbmF0ZURvbmtleURvbm9yRG9vckRvc2VEb3VibGVEb3ZlRHJhZnREcmFnb25EcmFtYURyYXN0aWNEcmF3RHJlYW1EcmVzc0RyaWZ0RHJpbGxEcmlua0RyaXBEcml2ZURyb3BEcnVtRHJ5RHVja0R1bWJEdW5lRHVyaW5nRHVzdER1dGNoRHV0eUR3YXJmRHluYW1pY0VhZ2VyRWFnbGVFYXJseUVhcm5FYXJ0aEVhc2lseUVhc3RFYXN5RWNob0Vjb2xvZ3lFY29ub215RWRnZUVkaXRFZHVjYXRlRWZmb3J0RWdnRWlnaHRFaXRoZXJFbGJvd0VsZGVyRWxlY3RyaWNFbGVnYW50RWxlbWVudEVsZXBoYW50RWxldmF0b3JFbGl0ZUVsc2VFbWJhcmtFbWJvZHlFbWJyYWNlRW1lcmdlRW1vdGlvbkVtcGxveUVtcG93ZXJFbXB0eUVuYWJsZUVuYWN0RW5kRW5kbGVzc0VuZG9yc2VFbmVteUVuZXJneUVuZm9yY2VFbmdhZ2VFbmdpbmVFbmhhbmNlRW5qb3lFbmxpc3RFbm91Z2hFbnJpY2hFbnJvbGxFbnN1cmVFbnRlckVudGlyZUVudHJ5RW52ZWxvcGVFcGlzb2RlRXF1YWxFcXVpcEVyYUVyYXNlRXJvZGVFcm9zaW9uRXJyb3JFcnVwdEVzY2FwZUVzc2F5RXNzZW5jZUVzdGF0ZUV0ZXJuYWxFdGhpY3NFdmlkZW5jZUV2aWxFdm9rZUV2b2x2ZUV4YWN0RXhhbXBsZUV4Y2Vzc0V4Y2hhbmdlRXhjaXRlRXhjbHVkZUV4Y3VzZUV4ZWN1dGVFeGVyY2lzZUV4aGF1c3RFeGhpYml0RXhpbGVFeGlzdEV4aXRFeG90aWNFeHBhbmRFeHBlY3RFeHBpcmVFeHBsYWluRXhwb3NlRXhwcmVzc0V4dGVuZEV4dHJhRXllRXllYnJvd0ZhYnJpY0ZhY2VGYWN1bHR5RmFkZUZhaW50RmFpdGhGYWxsRmFsc2VGYW1lRmFtaWx5RmFtb3VzRmFuRmFuY3lGYW50YXN5RmFybUZhc2hpb25GYXRGYXRhbEZhdGhlckZhdGlndWVGYXVsdEZhdm9yaXRlRmVhdHVyZUZlYnJ1YXJ5RmVkZXJhbEZlZUZlZWRGZWVsRmVtYWxlRmVuY2VGZXN0aXZhbEZldGNoRmV2ZXJGZXdGaWJlckZpY3Rpb25GaWVsZEZpZ3VyZUZpbGVGaWxtRmlsdGVyRmluYWxGaW5kRmluZUZpbmdlckZpbmlzaEZpcmVGaXJtRmlyc3RGaXNjYWxGaXNoRml0Rml0bmVzc0ZpeEZsYWdGbGFtZUZsYXNoRmxhdEZsYXZvckZsZWVGbGlnaHRGbGlwRmxvYXRGbG9ja0Zsb29yRmxvd2VyRmx1aWRGbHVzaEZseUZvYW1Gb2N1c0ZvZ0ZvaWxGb2xkRm9sbG93Rm9vZEZvb3RGb3JjZUZvcmVzdEZvcmdldEZvcmtGb3J0dW5lRm9ydW1Gb3J3YXJkRm9zc2lsRm9zdGVyRm91bmRGb3hGcmFnaWxlRnJhbWVGcmVxdWVudEZyZXNoRnJpZW5kRnJpbmdlRnJvZ0Zyb250RnJvc3RGcm93bkZyb3plbkZydWl0RnVlbEZ1bkZ1bm55RnVybmFjZUZ1cnlGdXR1cmVHYWRnZXRHYWluR2FsYXh5R2FsbGVyeUdhbWVHYXBHYXJhZ2VHYXJiYWdlR2FyZGVuR2FybGljR2FybWVudEdhc0dhc3BHYXRlR2F0aGVyR2F1Z2VHYXplR2VuZXJhbEdlbml1c0dlbnJlR2VudGxlR2VudWluZUdlc3R1cmVHaG9zdEdpYW50R2lmdEdpZ2dsZUdpbmdlckdpcmFmZmVHaXJsR2l2ZUdsYWRHbGFuY2VHbGFyZUdsYXNzR2xpZGVHbGltcHNlR2xvYmVHbG9vbUdsb3J5R2xvdmVHbG93R2x1ZUdvYXRHb2RkZXNzR29sZEdvb2RHb29zZUdvcmlsbGFHb3NwZWxHb3NzaXBHb3Zlcm5Hb3duR3JhYkdyYWNlR3JhaW5HcmFudEdyYXBlR3Jhc3NHcmF2aXR5R3JlYXRHcmVlbkdyaWRHcmllZkdyaXRHcm9jZXJ5R3JvdXBHcm93R3J1bnRHdWFyZEd1ZXNzR3VpZGVHdWlsdEd1aXRhckd1bkd5bUhhYml0SGFpckhhbGZIYW1tZXJIYW1zdGVySGFuZEhhcHB5SGFyYm9ySGFyZEhhcnNoSGFydmVzdEhhdEhhdmVIYXdrSGF6YXJkSGVhZEhlYWx0aEhlYXJ0SGVhdnlIZWRnZWhvZ0hlaWdodEhlbGxvSGVsbWV0SGVscEhlbkhlcm9IaWRkZW5IaWdoSGlsbEhpbnRIaXBIaXJlSGlzdG9yeUhvYmJ5SG9ja2V5SG9sZEhvbGVIb2xpZGF5SG9sbG93SG9tZUhvbmV5SG9vZEhvcGVIb3JuSG9ycm9ySG9yc2VIb3NwaXRhbEhvc3RIb3RlbEhvdXJIb3Zlckh1Ykh1Z2VIdW1hbkh1bWJsZUh1bW9ySHVuZHJlZEh1bmdyeUh1bnRIdXJkbGVIdXJyeUh1cnRIdXNiYW5kSHlicmlkSWNlSWNvbklkZWFJZGVudGlmeUlkbGVJZ25vcmVJbGxJbGxlZ2FsSWxsbmVzc0ltYWdlSW1pdGF0ZUltbWVuc2VJbW11bmVJbXBhY3RJbXBvc2VJbXByb3ZlSW1wdWxzZUluY2hJbmNsdWRlSW5jb21lSW5jcmVhc2VJbmRleEluZGljYXRlSW5kb29ySW5kdXN0cnlJbmZhbnRJbmZsaWN0SW5mb3JtSW5oYWxlSW5oZXJpdEluaXRpYWxJbmplY3RJbmp1cnlJbm1hdGVJbm5lcklubm9jZW50SW5wdXRJbnF1aXJ5SW5zYW5lSW5zZWN0SW5zaWRlSW5zcGlyZUluc3RhbGxJbnRhY3RJbnRlcmVzdEludG9JbnZlc3RJbnZpdGVJbnZvbHZlSXJvbklzbGFuZElzb2xhdGVJc3N1ZUl0ZW1Jdm9yeUphY2tldEphZ3VhckphckphenpKZWFsb3VzSmVhbnNKZWxseUpld2VsSm9iSm9pbkpva2VKb3VybmV5Sm95SnVkZ2VKdWljZUp1bXBKdW5nbGVKdW5pb3JKdW5rSnVzdEthbmdhcm9vS2VlbktlZXBLZXRjaHVwS2V5S2lja0tpZEtpZG5leUtpbmRLaW5nZG9tS2lzc0tpdEtpdGNoZW5LaXRlS2l0dGVuS2l3aUtuZWVLbmlmZUtub2NrS25vd0xhYkxhYmVsTGFib3JMYWRkZXJMYWR5TGFrZUxhbXBMYW5ndWFnZUxhcHRvcExhcmdlTGF0ZXJMYXRpbkxhdWdoTGF1bmRyeUxhdmFMYXdMYXduTGF3c3VpdExheWVyTGF6eUxlYWRlckxlYWZMZWFybkxlYXZlTGVjdHVyZUxlZnRMZWdMZWdhbExlZ2VuZExlaXN1cmVMZW1vbkxlbmRMZW5ndGhMZW5zTGVvcGFyZExlc3NvbkxldHRlckxldmVsTGlhckxpYmVydHlMaWJyYXJ5TGljZW5zZUxpZmVMaWZ0TGlnaHRMaWtlTGltYkxpbWl0TGlua0xpb25MaXF1aWRMaXN0TGl0dGxlTGl2ZUxpemFyZExvYWRMb2FuTG9ic3RlckxvY2FsTG9ja0xvZ2ljTG9uZWx5TG9uZ0xvb3BMb3R0ZXJ5TG91ZExvdW5nZUxvdmVMb3lhbEx1Y2t5THVnZ2FnZUx1bWJlckx1bmFyTHVuY2hMdXh1cnlMeXJpY3NNYWNoaW5lTWFkTWFnaWNNYWduZXRNYWlkTWFpbE1haW5NYWpvck1ha2VNYW1tYWxNYW5NYW5hZ2VNYW5kYXRlTWFuZ29NYW5zaW9uTWFudWFsTWFwbGVNYXJibGVNYXJjaE1hcmdpbk1hcmluZU1hcmtldE1hcnJpYWdlTWFza01hc3NNYXN0ZXJNYXRjaE1hdGVyaWFsTWF0aE1hdHJpeE1hdHRlck1heGltdW1NYXplTWVhZG93TWVhbk1lYXN1cmVNZWF0TWVjaGFuaWNNZWRhbE1lZGlhTWVsb2R5TWVsdE1lbWJlck1lbW9yeU1lbnRpb25NZW51TWVyY3lNZXJnZU1lcml0TWVycnlNZXNoTWVzc2FnZU1ldGFsTWV0aG9kTWlkZGxlTWlkbmlnaHRNaWxrTWlsbGlvbk1pbWljTWluZE1pbmltdW1NaW5vck1pbnV0ZU1pcmFjbGVNaXJyb3JNaXNlcnlNaXNzTWlzdGFrZU1peE1peGVkTWl4dHVyZU1vYmlsZU1vZGVsTW9kaWZ5TW9tTW9tZW50TW9uaXRvck1vbmtleU1vbnN0ZXJNb250aE1vb25Nb3JhbE1vcmVNb3JuaW5nTW9zcXVpdG9Nb3RoZXJNb3Rpb25Nb3Rvck1vdW50YWluTW91c2VNb3ZlTW92aWVNdWNoTXVmZmluTXVsZU11bHRpcGx5TXVzY2xlTXVzZXVtTXVzaHJvb21NdXNpY011c3RNdXR1YWxNeXNlbGZNeXN0ZXJ5TXl0aE5haXZlTmFtZU5hcGtpbk5hcnJvd05hc3R5TmF0aW9uTmF0dXJlTmVhck5lY2tOZWVkTmVnYXRpdmVOZWdsZWN0TmVpdGhlck5lcGhld05lcnZlTmVzdE5ldE5ldHdvcmtOZXV0cmFsTmV2ZXJOZXdzTmV4dE5pY2VOaWdodE5vYmxlTm9pc2VOb21pbmVlTm9vZGxlTm9ybWFsTm9ydGhOb3NlTm90YWJsZU5vdGVOb3RoaW5nTm90aWNlTm92ZWxOb3dOdWNsZWFyTnVtYmVyTnVyc2VOdXRPYWtPYmV5T2JqZWN0T2JsaWdlT2JzY3VyZU9ic2VydmVPYnRhaW5PYnZpb3VzT2NjdXJPY2Vhbk9jdG9iZXJPZG9yT2ZmT2ZmZXJPZmZpY2VPZnRlbk9pbE9rYXlPbGRPbGl2ZU9seW1waWNPbWl0T25jZU9uZU9uaW9uT25saW5lT25seU9wZW5PcGVyYU9waW5pb25PcHBvc2VPcHRpb25PcmFuZ2VPcmJpdE9yY2hhcmRPcmRlck9yZGluYXJ5T3JnYW5PcmllbnRPcmlnaW5hbE9ycGhhbk9zdHJpY2hPdGhlck91dGRvb3JPdXRlck91dHB1dE91dHNpZGVPdmFsT3Zlbk92ZXJPd25Pd25lck94eWdlbk95c3Rlck96b25lUGFjdFBhZGRsZVBhZ2VQYWlyUGFsYWNlUGFsbVBhbmRhUGFuZWxQYW5pY1BhbnRoZXJQYXBlclBhcmFkZVBhcmVudFBhcmtQYXJyb3RQYXJ0eVBhc3NQYXRjaFBhdGhQYXRpZW50UGF0cm9sUGF0dGVyblBhdXNlUGF2ZVBheW1lbnRQZWFjZVBlYW51dFBlYXJQZWFzYW50UGVsaWNhblBlblBlbmFsdHlQZW5jaWxQZW9wbGVQZXBwZXJQZXJmZWN0UGVybWl0UGVyc29uUGV0UGhvbmVQaG90b1BocmFzZVBoeXNpY2FsUGlhbm9QaWNuaWNQaWN0dXJlUGllY2VQaWdQaWdlb25QaWxsUGlsb3RQaW5rUGlvbmVlclBpcGVQaXN0b2xQaXRjaFBpenphUGxhY2VQbGFuZXRQbGFzdGljUGxhdGVQbGF5UGxlYXNlUGxlZGdlUGx1Y2tQbHVnUGx1bmdlUG9lbVBvZXRQb2ludFBvbGFyUG9sZVBvbGljZVBvbmRQb255UG9vbFBvcHVsYXJQb3J0aW9uUG9zaXRpb25Qb3NzaWJsZVBvc3RQb3RhdG9Qb3R0ZXJ5UG92ZXJ0eVBvd2RlclBvd2VyUHJhY3RpY2VQcmFpc2VQcmVkaWN0UHJlZmVyUHJlcGFyZVByZXNlbnRQcmV0dHlQcmV2ZW50UHJpY2VQcmlkZVByaW1hcnlQcmludFByaW9yaXR5UHJpc29uUHJpdmF0ZVByaXplUHJvYmxlbVByb2Nlc3NQcm9kdWNlUHJvZml0UHJvZ3JhbVByb2plY3RQcm9tb3RlUHJvb2ZQcm9wZXJ0eVByb3NwZXJQcm90ZWN0UHJvdWRQcm92aWRlUHVibGljUHVkZGluZ1B1bGxQdWxwUHVsc2VQdW1wa2luUHVuY2hQdXBpbFB1cHB5UHVyY2hhc2VQdXJpdHlQdXJwb3NlUHVyc2VQdXNoUHV0UHV6emxlUHlyYW1pZFF1YWxpdHlRdWFudHVtUXVhcnRlclF1ZXN0aW9uUXVpY2tRdWl0UXVpelF1b3RlUmFiYml0UmFjY29vblJhY2VSYWNrUmFkYXJSYWRpb1JhaWxSYWluUmFpc2VSYWxseVJhbXBSYW5jaFJhbmRvbVJhbmdlUmFwaWRSYXJlUmF0ZVJhdGhlclJhdmVuUmF3UmF6b3JSZWFkeVJlYWxSZWFzb25SZWJlbFJlYnVpbGRSZWNhbGxSZWNlaXZlUmVjaXBlUmVjb3JkUmVjeWNsZVJlZHVjZVJlZmxlY3RSZWZvcm1SZWZ1c2VSZWdpb25SZWdyZXRSZWd1bGFyUmVqZWN0UmVsYXhSZWxlYXNlUmVsaWVmUmVseVJlbWFpblJlbWVtYmVyUmVtaW5kUmVtb3ZlUmVuZGVyUmVuZXdSZW50UmVvcGVuUmVwYWlyUmVwZWF0UmVwbGFjZVJlcG9ydFJlcXVpcmVSZXNjdWVSZXNlbWJsZVJlc2lzdFJlc291cmNlUmVzcG9uc2VSZXN1bHRSZXRpcmVSZXRyZWF0UmV0dXJuUmV1bmlvblJldmVhbFJldmlld1Jld2FyZFJoeXRobVJpYlJpYmJvblJpY2VSaWNoUmlkZVJpZGdlUmlmbGVSaWdodFJpZ2lkUmluZ1Jpb3RSaXBwbGVSaXNrUml0dWFsUml2YWxSaXZlclJvYWRSb2FzdFJvYm90Um9idXN0Um9ja2V0Um9tYW5jZVJvb2ZSb29raWVSb29tUm9zZVJvdGF0ZVJvdWdoUm91bmRSb3V0ZVJveWFsUnViYmVyUnVkZVJ1Z1J1bGVSdW5SdW53YXlSdXJhbFNhZFNhZGRsZVNhZG5lc3NTYWZlU2FpbFNhbGFkU2FsbW9uU2Fsb25TYWx0U2FsdXRlU2FtZVNhbXBsZVNhbmRTYXRpc2Z5U2F0b3NoaVNhdWNlU2F1c2FnZVNhdmVTYXlTY2FsZVNjYW5TY2FyZVNjYXR0ZXJTY2VuZVNjaGVtZVNjaG9vbFNjaWVuY2VTY2lzc29yc1Njb3JwaW9uU2NvdXRTY3JhcFNjcmVlblNjcmlwdFNjcnViU2VhU2VhcmNoU2Vhc29uU2VhdFNlY29uZFNlY3JldFNlY3Rpb25TZWN1cml0eVNlZWRTZWVrU2VnbWVudFNlbGVjdFNlbGxTZW1pbmFyU2VuaW9yU2Vuc2VTZW50ZW5jZVNlcmllc1NlcnZpY2VTZXNzaW9uU2V0dGxlU2V0dXBTZXZlblNoYWRvd1NoYWZ0U2hhbGxvd1NoYXJlU2hlZFNoZWxsU2hlcmlmZlNoaWVsZFNoaWZ0U2hpbmVTaGlwU2hpdmVyU2hvY2tTaG9lU2hvb3RTaG9wU2hvcnRTaG91bGRlclNob3ZlU2hyaW1wU2hydWdTaHVmZmxlU2h5U2libGluZ1NpY2tTaWRlU2llZ2VTaWdodFNpZ25TaWxlbnRTaWxrU2lsbHlTaWx2ZXJTaW1pbGFyU2ltcGxlU2luY2VTaW5nU2lyZW5TaXN0ZXJTaXR1YXRlU2l4U2l6ZVNrYXRlU2tldGNoU2tpU2tpbGxTa2luU2tpcnRTa3VsbFNsYWJTbGFtU2xlZXBTbGVuZGVyU2xpY2VTbGlkZVNsaWdodFNsaW1TbG9nYW5TbG90U2xvd1NsdXNoU21hbGxTbWFydFNtaWxlU21va2VTbW9vdGhTbmFja1NuYWtlU25hcFNuaWZmU25vd1NvYXBTb2NjZXJTb2NpYWxTb2NrU29kYVNvZnRTb2xhclNvbGRpZXJTb2xpZFNvbHV0aW9uU29sdmVTb21lb25lU29uZ1Nvb25Tb3JyeVNvcnRTb3VsU291bmRTb3VwU291cmNlU291dGhTcGFjZVNwYXJlU3BhdGlhbFNwYXduU3BlYWtTcGVjaWFsU3BlZWRTcGVsbFNwZW5kU3BoZXJlU3BpY2VTcGlkZXJTcGlrZVNwaW5TcGlyaXRTcGxpdFNwb2lsU3BvbnNvclNwb29uU3BvcnRTcG90U3ByYXlTcHJlYWRTcHJpbmdTcHlTcXVhcmVTcXVlZXplU3F1aXJyZWxTdGFibGVTdGFkaXVtU3RhZmZTdGFnZVN0YWlyc1N0YW1wU3RhbmRTdGFydFN0YXRlU3RheVN0ZWFrU3RlZWxTdGVtU3RlcFN0ZXJlb1N0aWNrU3RpbGxTdGluZ1N0b2NrU3RvbWFjaFN0b25lU3Rvb2xTdG9yeVN0b3ZlU3RyYXRlZ3lTdHJlZXRTdHJpa2VTdHJvbmdTdHJ1Z2dsZVN0dWRlbnRTdHVmZlN0dW1ibGVTdHlsZVN1YmplY3RTdWJtaXRTdWJ3YXlTdWNjZXNzU3VjaFN1ZGRlblN1ZmZlclN1Z2FyU3VnZ2VzdFN1aXRTdW1tZXJTdW5TdW5ueVN1bnNldFN1cGVyU3VwcGx5U3VwcmVtZVN1cmVTdXJmYWNlU3VyZ2VTdXJwcmlzZVN1cnJvdW5kU3VydmV5U3VzcGVjdFN1c3RhaW5Td2FsbG93U3dhbXBTd2FwU3dhcm1Td2VhclN3ZWV0U3dpZnRTd2ltU3dpbmdTd2l0Y2hTd29yZFN5bWJvbFN5bXB0b21TeXJ1cFN5c3RlbVRhYmxlVGFja2xlVGFnVGFpbFRhbGVudFRhbGtUYW5rVGFwZVRhcmdldFRhc2tUYXN0ZVRhdHRvb1RheGlUZWFjaFRlYW1UZWxsVGVuVGVuYW50VGVubmlzVGVudFRlcm1UZXN0VGV4dFRoYW5rVGhhdFRoZW1lVGhlblRoZW9yeVRoZXJlVGhleVRoaW5nVGhpc1Rob3VnaHRUaHJlZVRocml2ZVRocm93VGh1bWJUaHVuZGVyVGlja2V0VGlkZVRpZ2VyVGlsdFRpbWJlclRpbWVUaW55VGlwVGlyZWRUaXNzdWVUaXRsZVRvYXN0VG9iYWNjb1RvZGF5VG9kZGxlclRvZVRvZ2V0aGVyVG9pbGV0VG9rZW5Ub21hdG9Ub21vcnJvd1RvbmVUb25ndWVUb25pZ2h0VG9vbFRvb3RoVG9wVG9waWNUb3BwbGVUb3JjaFRvcm5hZG9Ub3J0b2lzZVRvc3NUb3RhbFRvdXJpc3RUb3dhcmRUb3dlclRvd25Ub3lUcmFja1RyYWRlVHJhZmZpY1RyYWdpY1RyYWluVHJhbnNmZXJUcmFwVHJhc2hUcmF2ZWxUcmF5VHJlYXRUcmVlVHJlbmRUcmlhbFRyaWJlVHJpY2tUcmlnZ2VyVHJpbVRyaXBUcm9waHlUcm91YmxlVHJ1Y2tUcnVlVHJ1bHlUcnVtcGV0VHJ1c3RUcnV0aFRyeVR1YmVUdWl0aW9uVHVtYmxlVHVuYVR1bm5lbFR1cmtleVR1cm5UdXJ0bGVUd2VsdmVUd2VudHlUd2ljZVR3aW5Ud2lzdFR3b1R5cGVUeXBpY2FsVWdseVVtYnJlbGxhVW5hYmxlVW5hd2FyZVVuY2xlVW5jb3ZlclVuZGVyVW5kb1VuZmFpclVuZm9sZFVuaGFwcHlVbmlmb3JtVW5pcXVlVW5pdFVuaXZlcnNlVW5rbm93blVubG9ja1VudGlsVW51c3VhbFVudmVpbFVwZGF0ZVVwZ3JhZGVVcGhvbGRVcG9uVXBwZXJVcHNldFVyYmFuVXJnZVVzYWdlVXNlVXNlZFVzZWZ1bFVzZWxlc3NVc3VhbFV0aWxpdHlWYWNhbnRWYWN1dW1WYWd1ZVZhbGlkVmFsbGV5VmFsdmVWYW5WYW5pc2hWYXBvclZhcmlvdXNWYXN0VmF1bHRWZWhpY2xlVmVsdmV0VmVuZG9yVmVudHVyZVZlbnVlVmVyYlZlcmlmeVZlcnNpb25WZXJ5VmVzc2VsVmV0ZXJhblZpYWJsZVZpYnJhbnRWaWNpb3VzVmljdG9yeVZpZGVvVmlld1ZpbGxhZ2VWaW50YWdlVmlvbGluVmlydHVhbFZpcnVzVmlzYVZpc2l0VmlzdWFsVml0YWxWaXZpZFZvY2FsVm9pY2VWb2lkVm9sY2Fub1ZvbHVtZVZvdGVWb3lhZ2VXYWdlV2Fnb25XYWl0V2Fsa1dhbGxXYWxudXRXYW50V2FyZmFyZVdhcm1XYXJyaW9yV2FzaFdhc3BXYXN0ZVdhdGVyV2F2ZVdheVdlYWx0aFdlYXBvbldlYXJXZWFzZWxXZWF0aGVyV2ViV2VkZGluZ1dlZWtlbmRXZWlyZFdlbGNvbWVXZXN0V2V0V2hhbGVXaGF0V2hlYXRXaGVlbFdoZW5XaGVyZVdoaXBXaGlzcGVyV2lkZVdpZHRoV2lmZVdpbGRXaWxsV2luV2luZG93V2luZVdpbmdXaW5rV2lubmVyV2ludGVyV2lyZVdpc2RvbVdpc2VXaXNoV2l0bmVzc1dvbGZXb21hbldvbmRlcldvb2RXb29sV29yZFdvcmtXb3JsZFdvcnJ5V29ydGhXcmFwV3JlY2tXcmVzdGxlV3Jpc3RXcml0ZVdyb25nWWFyZFllYXJZZWxsb3dZb3VZb3VuZ1lvdXRoWmVicmFaZXJvWm9uZVpvbyI7dmFyIHdvcmRsaXN0JDE9bnVsbDtmdW5jdGlvbiBsb2FkV29yZHMobGFuZyl7aWYod29yZGxpc3QkMSE9bnVsbCl7cmV0dXJufXdvcmRsaXN0JDE9d29yZHMucmVwbGFjZSgvKFtBLVpdKS9nLCIgJDEiKS50b0xvd2VyQ2FzZSgpLnN1YnN0cmluZygxKS5zcGxpdCgiICIpO2lmKHdvcmRsaXN0LldvcmRsaXN0LmNoZWNrKGxhbmcpIT09IjB4M2M4YWNjMWU3YjA4ZDhlNzZmOWZkYTAxNWVmNDhkYzhjNzEwYTczY2I3ZTBmNzdiMmMxOGE5YjVhN2FkZGU2MCIpe3dvcmRsaXN0JDE9bnVsbDt0aHJvdyBuZXcgRXJyb3IoIkJJUDM5IFdvcmRsaXN0IGZvciBlbiAoRW5nbGlzaCkgRkFJTEVEIil9fXZhciBMYW5nRW49ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoTGFuZ0VuLF9zdXBlcik7ZnVuY3Rpb24gTGFuZ0VuKCl7cmV0dXJuIF9zdXBlci5jYWxsKHRoaXMsImVuIil8fHRoaXN9TGFuZ0VuLnByb3RvdHlwZS5nZXRXb3JkPWZ1bmN0aW9uKGluZGV4KXtsb2FkV29yZHModGhpcyk7cmV0dXJuIHdvcmRsaXN0JDFbaW5kZXhdfTtMYW5nRW4ucHJvdG90eXBlLmdldFdvcmRJbmRleD1mdW5jdGlvbih3b3JkKXtsb2FkV29yZHModGhpcyk7cmV0dXJuIHdvcmRsaXN0JDEuaW5kZXhPZih3b3JkKX07cmV0dXJuIExhbmdFbn0od29yZGxpc3QuV29yZGxpc3QpO3ZhciBsYW5nRW49bmV3IExhbmdFbjtleHBvcnRzLmxhbmdFbj1sYW5nRW47d29yZGxpc3QuV29yZGxpc3QucmVnaXN0ZXIobGFuZ0VuKX0pO3ZhciBsYW5nRW49Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMobGFuZ0VuXzEpO3ZhciBicm93c2VyV29yZGxpc3RzPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy53b3JkbGlzdHM9dm9pZCAwO2V4cG9ydHMud29yZGxpc3RzPXtlbjpsYW5nRW5fMS5sYW5nRW59fSk7dmFyIGJyb3dzZXJXb3JkbGlzdHMkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhicm93c2VyV29yZGxpc3RzKTt2YXIgbGliJG09Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLndvcmRsaXN0cz1leHBvcnRzLldvcmRsaXN0PWV4cG9ydHMubG9nZ2VyPXZvaWQgMDtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywibG9nZ2VyIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB3b3JkbGlzdC5sb2dnZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIldvcmRsaXN0Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB3b3JkbGlzdC5Xb3JkbGlzdH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywid29yZGxpc3RzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBicm93c2VyV29yZGxpc3RzLndvcmRsaXN0c319KX0pO3ZhciBpbmRleCRrPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGxpYiRtKTt2YXIgX3ZlcnNpb24kdz1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMudmVyc2lvbj12b2lkIDA7ZXhwb3J0cy52ZXJzaW9uPSJoZG5vZGUvNS43LjAifSk7dmFyIF92ZXJzaW9uJHg9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoX3ZlcnNpb24kdyk7dmFyIGxpYiRuPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5nZXRBY2NvdW50UGF0aD1leHBvcnRzLmlzVmFsaWRNbmVtb25pYz1leHBvcnRzLmVudHJvcHlUb01uZW1vbmljPWV4cG9ydHMubW5lbW9uaWNUb0VudHJvcHk9ZXhwb3J0cy5tbmVtb25pY1RvU2VlZD1leHBvcnRzLkhETm9kZT1leHBvcnRzLmRlZmF1bHRQYXRoPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJHcudmVyc2lvbik7dmFyIE49bGliJDIuQmlnTnVtYmVyLmZyb20oIjB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmViYWFlZGNlNmFmNDhhMDNiYmZkMjVlOGNkMDM2NDE0MSIpO3ZhciBNYXN0ZXJTZWNyZXQ9KDAsbGliJDgudG9VdGY4Qnl0ZXMpKCJCaXRjb2luIHNlZWQiKTt2YXIgSGFyZGVuZWRCaXQ9MjE0NzQ4MzY0ODtmdW5jdGlvbiBnZXRVcHBlck1hc2soYml0cyl7cmV0dXJuKDE8PGJpdHMpLTE8PDgtYml0c31mdW5jdGlvbiBnZXRMb3dlck1hc2soYml0cyl7cmV0dXJuKDE8PGJpdHMpLTF9ZnVuY3Rpb24gYnl0ZXMzMih2YWx1ZSl7cmV0dXJuKDAsbGliJDEuaGV4WmVyb1BhZCkoKDAsbGliJDEuaGV4bGlmeSkodmFsdWUpLDMyKX1mdW5jdGlvbiBiYXNlNThjaGVjayhkYXRhKXtyZXR1cm4gbGliJGouQmFzZTU4LmVuY29kZSgoMCxsaWIkMS5jb25jYXQpKFtkYXRhLCgwLGxpYiQxLmhleERhdGFTbGljZSkoKDAsbGliJGsuc2hhMjU2KSgoMCxsaWIkay5zaGEyNTYpKGRhdGEpKSwwLDQpXSkpfWZ1bmN0aW9uIGdldFdvcmRsaXN0KHdvcmRsaXN0KXtpZih3b3JkbGlzdD09bnVsbCl7cmV0dXJuIGxpYiRtLndvcmRsaXN0c1siZW4iXX1pZih0eXBlb2Ygd29yZGxpc3Q9PT0ic3RyaW5nIil7dmFyIHdvcmRzPWxpYiRtLndvcmRsaXN0c1t3b3JkbGlzdF07aWYod29yZHM9PW51bGwpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInVua25vd24gbG9jYWxlIiwid29yZGxpc3QiLHdvcmRsaXN0KX1yZXR1cm4gd29yZHN9cmV0dXJuIHdvcmRsaXN0fXZhciBfY29uc3RydWN0b3JHdWFyZD17fTtleHBvcnRzLmRlZmF1bHRQYXRoPSJtLzQ0Jy82MCcvMCcvMC8wIjt2YXIgSEROb2RlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gSEROb2RlKGNvbnN0cnVjdG9yR3VhcmQscHJpdmF0ZUtleSxwdWJsaWNLZXkscGFyZW50RmluZ2VycHJpbnQsY2hhaW5Db2RlLGluZGV4LGRlcHRoLG1uZW1vbmljT3JQYXRoKXtpZihjb25zdHJ1Y3Rvckd1YXJkIT09X2NvbnN0cnVjdG9yR3VhcmQpe3Rocm93IG5ldyBFcnJvcigiSEROb2RlIGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgZGlyZWN0bHkiKX1pZihwcml2YXRlS2V5KXt2YXIgc2lnbmluZ0tleT1uZXcgbGliJGcuU2lnbmluZ0tleShwcml2YXRlS2V5KTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywicHJpdmF0ZUtleSIsc2lnbmluZ0tleS5wcml2YXRlS2V5KTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywicHVibGljS2V5IixzaWduaW5nS2V5LmNvbXByZXNzZWRQdWJsaWNLZXkpfWVsc2V7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsInByaXZhdGVLZXkiLG51bGwpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJwdWJsaWNLZXkiLCgwLGxpYiQxLmhleGxpZnkpKHB1YmxpY0tleSkpfSgwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJwYXJlbnRGaW5nZXJwcmludCIscGFyZW50RmluZ2VycHJpbnQpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJmaW5nZXJwcmludCIsKDAsbGliJDEuaGV4RGF0YVNsaWNlKSgoMCxsaWIkay5yaXBlbWQxNjApKCgwLGxpYiRrLnNoYTI1NikodGhpcy5wdWJsaWNLZXkpKSwwLDQpKTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywiYWRkcmVzcyIsKDAsbGliJGguY29tcHV0ZUFkZHJlc3MpKHRoaXMucHVibGljS2V5KSk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImNoYWluQ29kZSIsY2hhaW5Db2RlKTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywiaW5kZXgiLGluZGV4KTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywiZGVwdGgiLGRlcHRoKTtpZihtbmVtb25pY09yUGF0aD09bnVsbCl7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIm1uZW1vbmljIixudWxsKTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywicGF0aCIsbnVsbCl9ZWxzZSBpZih0eXBlb2YgbW5lbW9uaWNPclBhdGg9PT0ic3RyaW5nIil7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIm1uZW1vbmljIixudWxsKTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywicGF0aCIsbW5lbW9uaWNPclBhdGgpfWVsc2V7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIm1uZW1vbmljIixtbmVtb25pY09yUGF0aCk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsInBhdGgiLG1uZW1vbmljT3JQYXRoLnBhdGgpfX1PYmplY3QuZGVmaW5lUHJvcGVydHkoSEROb2RlLnByb3RvdHlwZSwiZXh0ZW5kZWRLZXkiLHtnZXQ6ZnVuY3Rpb24oKXtpZih0aGlzLmRlcHRoPj0yNTYpe3Rocm93IG5ldyBFcnJvcigiRGVwdGggdG9vIGxhcmdlISIpfXJldHVybiBiYXNlNThjaGVjaygoMCxsaWIkMS5jb25jYXQpKFt0aGlzLnByaXZhdGVLZXkhPW51bGw/IjB4MDQ4OEFERTQiOiIweDA0ODhCMjFFIiwoMCxsaWIkMS5oZXhsaWZ5KSh0aGlzLmRlcHRoKSx0aGlzLnBhcmVudEZpbmdlcnByaW50LCgwLGxpYiQxLmhleFplcm9QYWQpKCgwLGxpYiQxLmhleGxpZnkpKHRoaXMuaW5kZXgpLDQpLHRoaXMuY2hhaW5Db2RlLHRoaXMucHJpdmF0ZUtleSE9bnVsbD8oMCxsaWIkMS5jb25jYXQpKFsiMHgwMCIsdGhpcy5wcml2YXRlS2V5XSk6dGhpcy5wdWJsaWNLZXldKSl9LGVudW1lcmFibGU6ZmFsc2UsY29uZmlndXJhYmxlOnRydWV9KTtIRE5vZGUucHJvdG90eXBlLm5ldXRlcj1mdW5jdGlvbigpe3JldHVybiBuZXcgSEROb2RlKF9jb25zdHJ1Y3Rvckd1YXJkLG51bGwsdGhpcy5wdWJsaWNLZXksdGhpcy5wYXJlbnRGaW5nZXJwcmludCx0aGlzLmNoYWluQ29kZSx0aGlzLmluZGV4LHRoaXMuZGVwdGgsdGhpcy5wYXRoKX07SEROb2RlLnByb3RvdHlwZS5fZGVyaXZlPWZ1bmN0aW9uKGluZGV4KXtpZihpbmRleD40Mjk0OTY3Mjk1KXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgaW5kZXggLSAiK1N0cmluZyhpbmRleCkpfXZhciBwYXRoPXRoaXMucGF0aDtpZihwYXRoKXtwYXRoKz0iLyIrKGluZGV4Jn5IYXJkZW5lZEJpdCl9dmFyIGRhdGE9bmV3IFVpbnQ4QXJyYXkoMzcpO2lmKGluZGV4JkhhcmRlbmVkQml0KXtpZighdGhpcy5wcml2YXRlS2V5KXt0aHJvdyBuZXcgRXJyb3IoImNhbm5vdCBkZXJpdmUgY2hpbGQgb2YgbmV1dGVyZWQgbm9kZSIpfWRhdGEuc2V0KCgwLGxpYiQxLmFycmF5aWZ5KSh0aGlzLnByaXZhdGVLZXkpLDEpO2lmKHBhdGgpe3BhdGgrPSInIn19ZWxzZXtkYXRhLnNldCgoMCxsaWIkMS5hcnJheWlmeSkodGhpcy5wdWJsaWNLZXkpKX1mb3IodmFyIGk9MjQ7aT49MDtpLT04KXtkYXRhWzMzKyhpPj4zKV09aW5kZXg+PjI0LWkmMjU1fXZhciBJPSgwLGxpYiQxLmFycmF5aWZ5KSgoMCxsaWIkay5jb21wdXRlSG1hYykobGliJGsuU3VwcG9ydGVkQWxnb3JpdGhtLnNoYTUxMix0aGlzLmNoYWluQ29kZSxkYXRhKSk7dmFyIElMPUkuc2xpY2UoMCwzMik7dmFyIElSPUkuc2xpY2UoMzIpO3ZhciBraT1udWxsO3ZhciBLaT1udWxsO2lmKHRoaXMucHJpdmF0ZUtleSl7a2k9Ynl0ZXMzMihsaWIkMi5CaWdOdW1iZXIuZnJvbShJTCkuYWRkKHRoaXMucHJpdmF0ZUtleSkubW9kKE4pKX1lbHNle3ZhciBlaz1uZXcgbGliJGcuU2lnbmluZ0tleSgoMCxsaWIkMS5oZXhsaWZ5KShJTCkpO0tpPWVrLl9hZGRQb2ludCh0aGlzLnB1YmxpY0tleSl9dmFyIG1uZW1vbmljT3JQYXRoPXBhdGg7dmFyIHNyY01uZW1vbmljPXRoaXMubW5lbW9uaWM7aWYoc3JjTW5lbW9uaWMpe21uZW1vbmljT3JQYXRoPU9iamVjdC5mcmVlemUoe3BocmFzZTpzcmNNbmVtb25pYy5waHJhc2UscGF0aDpwYXRoLGxvY2FsZTpzcmNNbmVtb25pYy5sb2NhbGV8fCJlbiJ9KX1yZXR1cm4gbmV3IEhETm9kZShfY29uc3RydWN0b3JHdWFyZCxraSxLaSx0aGlzLmZpbmdlcnByaW50LGJ5dGVzMzIoSVIpLGluZGV4LHRoaXMuZGVwdGgrMSxtbmVtb25pY09yUGF0aCl9O0hETm9kZS5wcm90b3R5cGUuZGVyaXZlUGF0aD1mdW5jdGlvbihwYXRoKXt2YXIgY29tcG9uZW50cz1wYXRoLnNwbGl0KCIvIik7aWYoY29tcG9uZW50cy5sZW5ndGg9PT0wfHxjb21wb25lbnRzWzBdPT09Im0iJiZ0aGlzLmRlcHRoIT09MCl7dGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBhdGggLSAiK3BhdGgpfWlmKGNvbXBvbmVudHNbMF09PT0ibSIpe2NvbXBvbmVudHMuc2hpZnQoKX12YXIgcmVzdWx0PXRoaXM7Zm9yKHZhciBpPTA7aTxjb21wb25lbnRzLmxlbmd0aDtpKyspe3ZhciBjb21wb25lbnQ9Y29tcG9uZW50c1tpXTtpZihjb21wb25lbnQubWF0Y2goL15bMC05XSsnJC8pKXt2YXIgaW5kZXg9cGFyc2VJbnQoY29tcG9uZW50LnN1YnN0cmluZygwLGNvbXBvbmVudC5sZW5ndGgtMSkpO2lmKGluZGV4Pj1IYXJkZW5lZEJpdCl7dGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBhdGggaW5kZXggLSAiK2NvbXBvbmVudCl9cmVzdWx0PXJlc3VsdC5fZGVyaXZlKEhhcmRlbmVkQml0K2luZGV4KX1lbHNlIGlmKGNvbXBvbmVudC5tYXRjaCgvXlswLTldKyQvKSl7dmFyIGluZGV4PXBhcnNlSW50KGNvbXBvbmVudCk7aWYoaW5kZXg+PUhhcmRlbmVkQml0KXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcGF0aCBpbmRleCAtICIrY29tcG9uZW50KX1yZXN1bHQ9cmVzdWx0Ll9kZXJpdmUoaW5kZXgpfWVsc2V7dGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBhdGggY29tcG9uZW50IC0gIitjb21wb25lbnQpfX1yZXR1cm4gcmVzdWx0fTtIRE5vZGUuX2Zyb21TZWVkPWZ1bmN0aW9uKHNlZWQsbW5lbW9uaWMpe3ZhciBzZWVkQXJyYXk9KDAsbGliJDEuYXJyYXlpZnkpKHNlZWQpO2lmKHNlZWRBcnJheS5sZW5ndGg8MTZ8fHNlZWRBcnJheS5sZW5ndGg+NjQpe3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCBzZWVkIil9dmFyIEk9KDAsbGliJDEuYXJyYXlpZnkpKCgwLGxpYiRrLmNvbXB1dGVIbWFjKShsaWIkay5TdXBwb3J0ZWRBbGdvcml0aG0uc2hhNTEyLE1hc3RlclNlY3JldCxzZWVkQXJyYXkpKTtyZXR1cm4gbmV3IEhETm9kZShfY29uc3RydWN0b3JHdWFyZCxieXRlczMyKEkuc2xpY2UoMCwzMikpLG51bGwsIjB4MDAwMDAwMDAiLGJ5dGVzMzIoSS5zbGljZSgzMikpLDAsMCxtbmVtb25pYyl9O0hETm9kZS5mcm9tTW5lbW9uaWM9ZnVuY3Rpb24obW5lbW9uaWMscGFzc3dvcmQsd29yZGxpc3Qpe3dvcmRsaXN0PWdldFdvcmRsaXN0KHdvcmRsaXN0KTttbmVtb25pYz1lbnRyb3B5VG9NbmVtb25pYyhtbmVtb25pY1RvRW50cm9weShtbmVtb25pYyx3b3JkbGlzdCksd29yZGxpc3QpO3JldHVybiBIRE5vZGUuX2Zyb21TZWVkKG1uZW1vbmljVG9TZWVkKG1uZW1vbmljLHBhc3N3b3JkKSx7cGhyYXNlOm1uZW1vbmljLHBhdGg6Im0iLGxvY2FsZTp3b3JkbGlzdC5sb2NhbGV9KX07SEROb2RlLmZyb21TZWVkPWZ1bmN0aW9uKHNlZWQpe3JldHVybiBIRE5vZGUuX2Zyb21TZWVkKHNlZWQsbnVsbCl9O0hETm9kZS5mcm9tRXh0ZW5kZWRLZXk9ZnVuY3Rpb24oZXh0ZW5kZWRLZXkpe3ZhciBieXRlcz1saWIkai5CYXNlNTguZGVjb2RlKGV4dGVuZGVkS2V5KTtpZihieXRlcy5sZW5ndGghPT04Mnx8YmFzZTU4Y2hlY2soYnl0ZXMuc2xpY2UoMCw3OCkpIT09ZXh0ZW5kZWRLZXkpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgZXh0ZW5kZWQga2V5IiwiZXh0ZW5kZWRLZXkiLCJbUkVEQUNURURdIil9dmFyIGRlcHRoPWJ5dGVzWzRdO3ZhciBwYXJlbnRGaW5nZXJwcmludD0oMCxsaWIkMS5oZXhsaWZ5KShieXRlcy5zbGljZSg1LDkpKTt2YXIgaW5kZXg9cGFyc2VJbnQoKDAsbGliJDEuaGV4bGlmeSkoYnl0ZXMuc2xpY2UoOSwxMykpLnN1YnN0cmluZygyKSwxNik7dmFyIGNoYWluQ29kZT0oMCxsaWIkMS5oZXhsaWZ5KShieXRlcy5zbGljZSgxMyw0NSkpO3ZhciBrZXk9Ynl0ZXMuc2xpY2UoNDUsNzgpO3N3aXRjaCgoMCxsaWIkMS5oZXhsaWZ5KShieXRlcy5zbGljZSgwLDQpKSl7Y2FzZSIweDA0ODhiMjFlIjpjYXNlIjB4MDQzNTg3Y2YiOnJldHVybiBuZXcgSEROb2RlKF9jb25zdHJ1Y3Rvckd1YXJkLG51bGwsKDAsbGliJDEuaGV4bGlmeSkoa2V5KSxwYXJlbnRGaW5nZXJwcmludCxjaGFpbkNvZGUsaW5kZXgsZGVwdGgsbnVsbCk7Y2FzZSIweDA0ODhhZGU0IjpjYXNlIjB4MDQzNTgzOTQgIjppZihrZXlbMF0hPT0wKXticmVha31yZXR1cm4gbmV3IEhETm9kZShfY29uc3RydWN0b3JHdWFyZCwoMCxsaWIkMS5oZXhsaWZ5KShrZXkuc2xpY2UoMSkpLG51bGwscGFyZW50RmluZ2VycHJpbnQsY2hhaW5Db2RlLGluZGV4LGRlcHRoLG51bGwpfXJldHVybiBsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGV4dGVuZGVkIGtleSIsImV4dGVuZGVkS2V5IiwiW1JFREFDVEVEXSIpfTtyZXR1cm4gSEROb2RlfSgpO2V4cG9ydHMuSEROb2RlPUhETm9kZTtmdW5jdGlvbiBtbmVtb25pY1RvU2VlZChtbmVtb25pYyxwYXNzd29yZCl7aWYoIXBhc3N3b3JkKXtwYXNzd29yZD0iIn12YXIgc2FsdD0oMCxsaWIkOC50b1V0ZjhCeXRlcykoIm1uZW1vbmljIitwYXNzd29yZCxsaWIkOC5Vbmljb2RlTm9ybWFsaXphdGlvbkZvcm0uTkZLRCk7cmV0dXJuKDAsbGliJGwucGJrZGYyKSgoMCxsaWIkOC50b1V0ZjhCeXRlcykobW5lbW9uaWMsbGliJDguVW5pY29kZU5vcm1hbGl6YXRpb25Gb3JtLk5GS0QpLHNhbHQsMjA0OCw2NCwic2hhNTEyIil9ZXhwb3J0cy5tbmVtb25pY1RvU2VlZD1tbmVtb25pY1RvU2VlZDtmdW5jdGlvbiBtbmVtb25pY1RvRW50cm9weShtbmVtb25pYyx3b3JkbGlzdCl7d29yZGxpc3Q9Z2V0V29yZGxpc3Qod29yZGxpc3QpO2xvZ2dlci5jaGVja05vcm1hbGl6ZSgpO3ZhciB3b3Jkcz13b3JkbGlzdC5zcGxpdChtbmVtb25pYyk7aWYod29yZHMubGVuZ3RoJTMhPT0wKXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgbW5lbW9uaWMiKX12YXIgZW50cm9weT0oMCxsaWIkMS5hcnJheWlmeSkobmV3IFVpbnQ4QXJyYXkoTWF0aC5jZWlsKDExKndvcmRzLmxlbmd0aC84KSkpO3ZhciBvZmZzZXQ9MDtmb3IodmFyIGk9MDtpPHdvcmRzLmxlbmd0aDtpKyspe3ZhciBpbmRleD13b3JkbGlzdC5nZXRXb3JkSW5kZXgod29yZHNbaV0ubm9ybWFsaXplKCJORktEIikpO2lmKGluZGV4PT09LTEpe3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCBtbmVtb25pYyIpfWZvcih2YXIgYml0PTA7Yml0PDExO2JpdCsrKXtpZihpbmRleCYxPDwxMC1iaXQpe2VudHJvcHlbb2Zmc2V0Pj4zXXw9MTw8Ny1vZmZzZXQlOH1vZmZzZXQrK319dmFyIGVudHJvcHlCaXRzPTMyKndvcmRzLmxlbmd0aC8zO3ZhciBjaGVja3N1bUJpdHM9d29yZHMubGVuZ3RoLzM7dmFyIGNoZWNrc3VtTWFzaz1nZXRVcHBlck1hc2soY2hlY2tzdW1CaXRzKTt2YXIgY2hlY2tzdW09KDAsbGliJDEuYXJyYXlpZnkpKCgwLGxpYiRrLnNoYTI1NikoZW50cm9weS5zbGljZSgwLGVudHJvcHlCaXRzLzgpKSlbMF0mY2hlY2tzdW1NYXNrO2lmKGNoZWNrc3VtIT09KGVudHJvcHlbZW50cm9weS5sZW5ndGgtMV0mY2hlY2tzdW1NYXNrKSl7dGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNoZWNrc3VtIil9cmV0dXJuKDAsbGliJDEuaGV4bGlmeSkoZW50cm9weS5zbGljZSgwLGVudHJvcHlCaXRzLzgpKX1leHBvcnRzLm1uZW1vbmljVG9FbnRyb3B5PW1uZW1vbmljVG9FbnRyb3B5O2Z1bmN0aW9uIGVudHJvcHlUb01uZW1vbmljKGVudHJvcHksd29yZGxpc3Qpe3dvcmRsaXN0PWdldFdvcmRsaXN0KHdvcmRsaXN0KTtlbnRyb3B5PSgwLGxpYiQxLmFycmF5aWZ5KShlbnRyb3B5KTtpZihlbnRyb3B5Lmxlbmd0aCU0IT09MHx8ZW50cm9weS5sZW5ndGg8MTZ8fGVudHJvcHkubGVuZ3RoPjMyKXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZW50cm9weSIpfXZhciBpbmRpY2VzPVswXTt2YXIgcmVtYWluaW5nQml0cz0xMTtmb3IodmFyIGk9MDtpPGVudHJvcHkubGVuZ3RoO2krKyl7aWYocmVtYWluaW5nQml0cz44KXtpbmRpY2VzW2luZGljZXMubGVuZ3RoLTFdPDw9ODtpbmRpY2VzW2luZGljZXMubGVuZ3RoLTFdfD1lbnRyb3B5W2ldO3JlbWFpbmluZ0JpdHMtPTh9ZWxzZXtpbmRpY2VzW2luZGljZXMubGVuZ3RoLTFdPDw9cmVtYWluaW5nQml0cztpbmRpY2VzW2luZGljZXMubGVuZ3RoLTFdfD1lbnRyb3B5W2ldPj44LXJlbWFpbmluZ0JpdHM7aW5kaWNlcy5wdXNoKGVudHJvcHlbaV0mZ2V0TG93ZXJNYXNrKDgtcmVtYWluaW5nQml0cykpO3JlbWFpbmluZ0JpdHMrPTN9fXZhciBjaGVja3N1bUJpdHM9ZW50cm9weS5sZW5ndGgvNDt2YXIgY2hlY2tzdW09KDAsbGliJDEuYXJyYXlpZnkpKCgwLGxpYiRrLnNoYTI1NikoZW50cm9weSkpWzBdJmdldFVwcGVyTWFzayhjaGVja3N1bUJpdHMpO2luZGljZXNbaW5kaWNlcy5sZW5ndGgtMV08PD1jaGVja3N1bUJpdHM7aW5kaWNlc1tpbmRpY2VzLmxlbmd0aC0xXXw9Y2hlY2tzdW0+PjgtY2hlY2tzdW1CaXRzO3JldHVybiB3b3JkbGlzdC5qb2luKGluZGljZXMubWFwKGZ1bmN0aW9uKGluZGV4KXtyZXR1cm4gd29yZGxpc3QuZ2V0V29yZChpbmRleCl9KSl9ZXhwb3J0cy5lbnRyb3B5VG9NbmVtb25pYz1lbnRyb3B5VG9NbmVtb25pYztmdW5jdGlvbiBpc1ZhbGlkTW5lbW9uaWMobW5lbW9uaWMsd29yZGxpc3Qpe3RyeXttbmVtb25pY1RvRW50cm9weShtbmVtb25pYyx3b3JkbGlzdCk7cmV0dXJuIHRydWV9Y2F0Y2goZXJyb3Ipe31yZXR1cm4gZmFsc2V9ZXhwb3J0cy5pc1ZhbGlkTW5lbW9uaWM9aXNWYWxpZE1uZW1vbmljO2Z1bmN0aW9uIGdldEFjY291bnRQYXRoKGluZGV4KXtpZih0eXBlb2YgaW5kZXghPT0ibnVtYmVyInx8aW5kZXg8MHx8aW5kZXg+PUhhcmRlbmVkQml0fHxpbmRleCUxKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGFjY291bnQgaW5kZXgiLCJpbmRleCIsaW5kZXgpfXJldHVybiJtLzQ0Jy82MCcvIitpbmRleCsiJy8wLzAifWV4cG9ydHMuZ2V0QWNjb3VudFBhdGg9Z2V0QWNjb3VudFBhdGh9KTt2YXIgaW5kZXgkbD1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhsaWIkbik7dmFyIF92ZXJzaW9uJHk9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnZlcnNpb249dm9pZCAwO2V4cG9ydHMudmVyc2lvbj0icmFuZG9tLzUuNy4wIn0pO3ZhciBfdmVyc2lvbiR6PWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKF92ZXJzaW9uJHkpO3ZhciBicm93c2VyUmFuZG9tPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5yYW5kb21CeXRlcz12b2lkIDA7dmFyIGxvZ2dlcj1uZXcgbGliLkxvZ2dlcihfdmVyc2lvbiR5LnZlcnNpb24pO2Z1bmN0aW9uIGdldEdsb2JhbCgpe2lmKHR5cGVvZiBzZWxmIT09InVuZGVmaW5lZCIpe3JldHVybiBzZWxmfWlmKHR5cGVvZiB3aW5kb3chPT0idW5kZWZpbmVkIil7cmV0dXJuIHdpbmRvd31pZih0eXBlb2YgY29tbW9uanNHbG9iYWwhPT0idW5kZWZpbmVkIil7cmV0dXJuIGNvbW1vbmpzR2xvYmFsfXRocm93IG5ldyBFcnJvcigidW5hYmxlIHRvIGxvY2F0ZSBnbG9iYWwgb2JqZWN0Iil9dmFyIGFueUdsb2JhbD1nZXRHbG9iYWwoKTt2YXIgY3J5cHRvPWFueUdsb2JhbC5jcnlwdG98fGFueUdsb2JhbC5tc0NyeXB0bztpZighY3J5cHRvfHwhY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl7bG9nZ2VyLndhcm4oIldBUk5JTkc6IE1pc3Npbmcgc3Ryb25nIHJhbmRvbSBudW1iZXIgc291cmNlIik7Y3J5cHRvPXtnZXRSYW5kb21WYWx1ZXM6ZnVuY3Rpb24oYnVmZmVyKXtyZXR1cm4gbG9nZ2VyLnRocm93RXJyb3IoIm5vIHNlY3VyZSByYW5kb20gc291cmNlIGF2YWlhbGJsZSIsbGliLkxvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246ImNyeXB0by5nZXRSYW5kb21WYWx1ZXMifSl9fX1mdW5jdGlvbiByYW5kb21CeXRlcyhsZW5ndGgpe2lmKGxlbmd0aDw9MHx8bGVuZ3RoPjEwMjR8fGxlbmd0aCUxfHxsZW5ndGghPWxlbmd0aCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBsZW5ndGgiLCJsZW5ndGgiLGxlbmd0aCl9dmFyIHJlc3VsdD1uZXcgVWludDhBcnJheShsZW5ndGgpO2NyeXB0by5nZXRSYW5kb21WYWx1ZXMocmVzdWx0KTtyZXR1cm4oMCxsaWIkMS5hcnJheWlmeSkocmVzdWx0KX1leHBvcnRzLnJhbmRvbUJ5dGVzPXJhbmRvbUJ5dGVzfSk7dmFyIGJyb3dzZXJSYW5kb20kMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhicm93c2VyUmFuZG9tKTt2YXIgc2h1ZmZsZT1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuc2h1ZmZsZWQ9dm9pZCAwO2Z1bmN0aW9uIHNodWZmbGVkKGFycmF5KXthcnJheT1hcnJheS5zbGljZSgpO2Zvcih2YXIgaT1hcnJheS5sZW5ndGgtMTtpPjA7aS0tKXt2YXIgaj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKGkrMSkpO3ZhciB0bXA9YXJyYXlbaV07YXJyYXlbaV09YXJyYXlbal07YXJyYXlbal09dG1wfXJldHVybiBhcnJheX1leHBvcnRzLnNodWZmbGVkPXNodWZmbGVkfSk7dmFyIHNodWZmbGUkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhzaHVmZmxlKTt2YXIgbGliJG89Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnNodWZmbGVkPWV4cG9ydHMucmFuZG9tQnl0ZXM9dm9pZCAwO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJyYW5kb21CeXRlcyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYnJvd3NlclJhbmRvbS5yYW5kb21CeXRlc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywic2h1ZmZsZWQiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHNodWZmbGUuc2h1ZmZsZWR9fSl9KTt2YXIgaW5kZXgkbT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhsaWIkbyk7dmFyIGFlc0pzPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHJvb3Qpe2Z1bmN0aW9uIGNoZWNrSW50KHZhbHVlKXtyZXR1cm4gcGFyc2VJbnQodmFsdWUpPT09dmFsdWV9ZnVuY3Rpb24gY2hlY2tJbnRzKGFycmF5aXNoKXtpZighY2hlY2tJbnQoYXJyYXlpc2gubGVuZ3RoKSl7cmV0dXJuIGZhbHNlfWZvcih2YXIgaT0wO2k8YXJyYXlpc2gubGVuZ3RoO2krKyl7aWYoIWNoZWNrSW50KGFycmF5aXNoW2ldKXx8YXJyYXlpc2hbaV08MHx8YXJyYXlpc2hbaV0+MjU1KXtyZXR1cm4gZmFsc2V9fXJldHVybiB0cnVlfWZ1bmN0aW9uIGNvZXJjZUFycmF5KGFyZyxjb3B5KXtpZihhcmcuYnVmZmVyJiZBcnJheUJ1ZmZlci5pc1ZpZXcoYXJnKSYmYXJnLm5hbWU9PT0iVWludDhBcnJheSIpe2lmKGNvcHkpe2lmKGFyZy5zbGljZSl7YXJnPWFyZy5zbGljZSgpfWVsc2V7YXJnPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZyl9fXJldHVybiBhcmd9aWYoQXJyYXkuaXNBcnJheShhcmcpKXtpZighY2hlY2tJbnRzKGFyZykpe3Rocm93IG5ldyBFcnJvcigiQXJyYXkgY29udGFpbnMgaW52YWxpZCB2YWx1ZTogIithcmcpfXJldHVybiBuZXcgVWludDhBcnJheShhcmcpfWlmKGNoZWNrSW50KGFyZy5sZW5ndGgpJiZjaGVja0ludHMoYXJnKSl7cmV0dXJuIG5ldyBVaW50OEFycmF5KGFyZyl9dGhyb3cgbmV3IEVycm9yKCJ1bnN1cHBvcnRlZCBhcnJheS1saWtlIG9iamVjdCIpfWZ1bmN0aW9uIGNyZWF0ZUFycmF5KGxlbmd0aCl7cmV0dXJuIG5ldyBVaW50OEFycmF5KGxlbmd0aCl9ZnVuY3Rpb24gY29weUFycmF5KHNvdXJjZUFycmF5LHRhcmdldEFycmF5LHRhcmdldFN0YXJ0LHNvdXJjZVN0YXJ0LHNvdXJjZUVuZCl7aWYoc291cmNlU3RhcnQhPW51bGx8fHNvdXJjZUVuZCE9bnVsbCl7aWYoc291cmNlQXJyYXkuc2xpY2Upe3NvdXJjZUFycmF5PXNvdXJjZUFycmF5LnNsaWNlKHNvdXJjZVN0YXJ0LHNvdXJjZUVuZCl9ZWxzZXtzb3VyY2VBcnJheT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChzb3VyY2VBcnJheSxzb3VyY2VTdGFydCxzb3VyY2VFbmQpfX10YXJnZXRBcnJheS5zZXQoc291cmNlQXJyYXksdGFyZ2V0U3RhcnQpfXZhciBjb252ZXJ0VXRmOD1mdW5jdGlvbigpe2Z1bmN0aW9uIHRvQnl0ZXModGV4dCl7dmFyIHJlc3VsdD1bXSxpPTA7dGV4dD1lbmNvZGVVUkkodGV4dCk7d2hpbGUoaTx0ZXh0Lmxlbmd0aCl7dmFyIGM9dGV4dC5jaGFyQ29kZUF0KGkrKyk7aWYoYz09PTM3KXtyZXN1bHQucHVzaChwYXJzZUludCh0ZXh0LnN1YnN0cihpLDIpLDE2KSk7aSs9Mn1lbHNle3Jlc3VsdC5wdXNoKGMpfX1yZXR1cm4gY29lcmNlQXJyYXkocmVzdWx0KX1mdW5jdGlvbiBmcm9tQnl0ZXMoYnl0ZXMpe3ZhciByZXN1bHQ9W10saT0wO3doaWxlKGk8Ynl0ZXMubGVuZ3RoKXt2YXIgYz1ieXRlc1tpXTtpZihjPDEyOCl7cmVzdWx0LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShjKSk7aSsrfWVsc2UgaWYoYz4xOTEmJmM8MjI0KXtyZXN1bHQucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKChjJjMxKTw8NnxieXRlc1tpKzFdJjYzKSk7aSs9Mn1lbHNle3Jlc3VsdC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoKGMmMTUpPDwxMnwoYnl0ZXNbaSsxXSY2Myk8PDZ8Ynl0ZXNbaSsyXSY2MykpO2krPTN9fXJldHVybiByZXN1bHQuam9pbigiIil9cmV0dXJue3RvQnl0ZXM6dG9CeXRlcyxmcm9tQnl0ZXM6ZnJvbUJ5dGVzfX0oKTt2YXIgY29udmVydEhleD1mdW5jdGlvbigpe2Z1bmN0aW9uIHRvQnl0ZXModGV4dCl7dmFyIHJlc3VsdD1bXTtmb3IodmFyIGk9MDtpPHRleHQubGVuZ3RoO2krPTIpe3Jlc3VsdC5wdXNoKHBhcnNlSW50KHRleHQuc3Vic3RyKGksMiksMTYpKX1yZXR1cm4gcmVzdWx0fXZhciBIZXg9IjAxMjM0NTY3ODlhYmNkZWYiO2Z1bmN0aW9uIGZyb21CeXRlcyhieXRlcyl7dmFyIHJlc3VsdD1bXTtmb3IodmFyIGk9MDtpPGJ5dGVzLmxlbmd0aDtpKyspe3ZhciB2PWJ5dGVzW2ldO3Jlc3VsdC5wdXNoKEhleFsodiYyNDApPj40XStIZXhbdiYxNV0pfXJldHVybiByZXN1bHQuam9pbigiIil9cmV0dXJue3RvQnl0ZXM6dG9CeXRlcyxmcm9tQnl0ZXM6ZnJvbUJ5dGVzfX0oKTt2YXIgbnVtYmVyT2ZSb3VuZHM9ezE2OjEwLDI0OjEyLDMyOjE0fTt2YXIgcmNvbj1bMSwyLDQsOCwxNiwzMiw2NCwxMjgsMjcsNTQsMTA4LDIxNiwxNzEsNzcsMTU0LDQ3LDk0LDE4OCw5OSwxOTgsMTUxLDUzLDEwNiwyMTIsMTc5LDEyNSwyNTAsMjM5LDE5NywxNDVdO3ZhciBTPVs5OSwxMjQsMTE5LDEyMywyNDIsMTA3LDExMSwxOTcsNDgsMSwxMDMsNDMsMjU0LDIxNSwxNzEsMTE4LDIwMiwxMzAsMjAxLDEyNSwyNTAsODksNzEsMjQwLDE3MywyMTIsMTYyLDE3NSwxNTYsMTY0LDExNCwxOTIsMTgzLDI1MywxNDcsMzgsNTQsNjMsMjQ3LDIwNCw1MiwxNjUsMjI5LDI0MSwxMTMsMjE2LDQ5LDIxLDQsMTk5LDM1LDE5NSwyNCwxNTAsNSwxNTQsNywxOCwxMjgsMjI2LDIzNSwzOSwxNzgsMTE3LDksMTMxLDQ0LDI2LDI3LDExMCw5MCwxNjAsODIsNTksMjE0LDE3OSw0MSwyMjcsNDcsMTMyLDgzLDIwOSwwLDIzNywzMiwyNTIsMTc3LDkxLDEwNiwyMDMsMTkwLDU3LDc0LDc2LDg4LDIwNywyMDgsMjM5LDE3MCwyNTEsNjcsNzcsNTEsMTMzLDY5LDI0OSwyLDEyNyw4MCw2MCwxNTksMTY4LDgxLDE2Myw2NCwxNDMsMTQ2LDE1Nyw1NiwyNDUsMTg4LDE4MiwyMTgsMzMsMTYsMjU1LDI0MywyMTAsMjA1LDEyLDE5LDIzNiw5NSwxNTEsNjgsMjMsMTk2LDE2NywxMjYsNjEsMTAwLDkzLDI1LDExNSw5NiwxMjksNzksMjIwLDM0LDQyLDE0NCwxMzYsNzAsMjM4LDE4NCwyMCwyMjIsOTQsMTEsMjE5LDIyNCw1MCw1OCwxMCw3Myw2LDM2LDkyLDE5NCwyMTEsMTcyLDk4LDE0NSwxNDksMjI4LDEyMSwyMzEsMjAwLDU1LDEwOSwxNDEsMjEzLDc4LDE2OSwxMDgsODYsMjQ0LDIzNCwxMDEsMTIyLDE3NCw4LDE4NiwxMjAsMzcsNDYsMjgsMTY2LDE4MCwxOTgsMjMyLDIyMSwxMTYsMzEsNzUsMTg5LDEzOSwxMzgsMTEyLDYyLDE4MSwxMDIsNzIsMywyNDYsMTQsOTcsNTMsODcsMTg1LDEzNCwxOTMsMjksMTU4LDIyNSwyNDgsMTUyLDE3LDEwNSwyMTcsMTQyLDE0OCwxNTUsMzAsMTM1LDIzMywyMDYsODUsNDAsMjIzLDE0MCwxNjEsMTM3LDEzLDE5MSwyMzAsNjYsMTA0LDY1LDE1Myw0NSwxNSwxNzYsODQsMTg3LDIyXTt2YXIgU2k9WzgyLDksMTA2LDIxMyw0OCw1NCwxNjUsNTYsMTkxLDY0LDE2MywxNTgsMTI5LDI0MywyMTUsMjUxLDEyNCwyMjcsNTcsMTMwLDE1NSw0NywyNTUsMTM1LDUyLDE0Miw2Nyw2OCwxOTYsMjIyLDIzMywyMDMsODQsMTIzLDE0OCw1MCwxNjYsMTk0LDM1LDYxLDIzOCw3NiwxNDksMTEsNjYsMjUwLDE5NSw3OCw4LDQ2LDE2MSwxMDIsNDAsMjE3LDM2LDE3OCwxMTgsOTEsMTYyLDczLDEwOSwxMzksMjA5LDM3LDExNCwyNDgsMjQ2LDEwMCwxMzQsMTA0LDE1MiwyMiwyMTIsMTY0LDkyLDIwNCw5MywxMDEsMTgyLDE0NiwxMDgsMTEyLDcyLDgwLDI1MywyMzcsMTg1LDIxOCw5NCwyMSw3MCw4NywxNjcsMTQxLDE1NywxMzIsMTQ0LDIxNiwxNzEsMCwxNDAsMTg4LDIxMSwxMCwyNDcsMjI4LDg4LDUsMTg0LDE3OSw2OSw2LDIwOCw0NCwzMCwxNDMsMjAyLDYzLDE1LDIsMTkzLDE3NSwxODksMywxLDE5LDEzOCwxMDcsNTgsMTQ1LDE3LDY1LDc5LDEwMywyMjAsMjM0LDE1MSwyNDIsMjA3LDIwNiwyNDAsMTgwLDIzMCwxMTUsMTUwLDE3MiwxMTYsMzQsMjMxLDE3Myw1MywxMzMsMjI2LDI0OSw1NSwyMzIsMjgsMTE3LDIyMywxMTAsNzEsMjQxLDI2LDExMywyOSw0MSwxOTcsMTM3LDExMSwxODMsOTgsMTQsMTcwLDI0LDE5MCwyNywyNTIsODYsNjIsNzUsMTk4LDIxMCwxMjEsMzIsMTU0LDIxOSwxOTIsMjU0LDEyMCwyMDUsOTAsMjQ0LDMxLDIyMSwxNjgsNTEsMTM2LDcsMTk5LDQ5LDE3NywxOCwxNiw4OSwzOSwxMjgsMjM2LDk1LDk2LDgxLDEyNywxNjksMjUsMTgxLDc0LDEzLDQ1LDIyOSwxMjIsMTU5LDE0NywyMDEsMTU2LDIzOSwxNjAsMjI0LDU5LDc3LDE3NCw0MiwyNDUsMTc2LDIwMCwyMzUsMTg3LDYwLDEzMSw4MywxNTMsOTcsMjMsNDMsNCwxMjYsMTg2LDExOSwyMTQsMzgsMjI1LDEwNSwyMCw5OSw4NSwzMywxMiwxMjVdO3ZhciBUMT1bMzMyODQwMjM0MSw0MTY4OTA3OTA4LDQwMDA4MDY4MDksNDEzNTI4NzY5Myw0Mjk0MTExNzU3LDM1OTczNjQxNTcsMzczMTg0NTA0MSwyNDQ1NjU3NDI4LDE2MTM3NzA4MzIsMzM2MjAyMjcsMzQ2Mjg4MzI0MSwxNDQ1NjY5NzU3LDM4OTIyNDgwODksMzA1MDgyMTQ3NCwxMzAzMDk2Mjk0LDM5NjcxODY1ODYsMjQxMjQzMTk0MSw1Mjg2NDY4MTMsMjMxMTcwMjg0OCw0MjAyNTI4MTM1LDQwMjYyMDI2NDUsMjk5MjIwMDE3MSwyMzg3MDM2MTA1LDQyMjY4NzEzMDcsMTEwMTkwMTI5MiwzMDE3MDY5NjcxLDE2MDQ0OTQwNzcsMTE2OTE0MTczOCw1OTc0NjYzMDMsMTQwMzI5OTA2MywzODMyNzA1Njg2LDI2MTMxMDA2MzUsMTk3NDk3NDQwMiwzNzkxNTE5MDA0LDEwMzMwODE3NzQsMTI3NzU2ODYxOCwxODE1NDkyMTg2LDIxMTgwNzQxNzcsNDEyNjY2ODU0NiwyMjExMjM2OTQzLDE3NDgyNTE3NDAsMTM2OTgxMDQyMCwzNTIxNTA0NTY0LDQxOTMzODI2NjQsMzc5OTA4NTQ1OSwyODgzMTE1MTIzLDE2NDczOTEwNTksNzA2MDI0NzY3LDEzNDQ4MDkwOCwyNTEyODk3ODc0LDExNzY3MDc5NDEsMjY0Njg1MjQ0Niw4MDY4ODU0MTYsOTMyNjE1ODQxLDE2ODEwMTEzNSw3OTg2NjEzMDEsMjM1MzQxNTc3LDYwNTE2NDA4Niw0NjE0MDYzNjMsMzc1NjE4ODIyMSwzNDU0NzkwNDM4LDEzMTExODg4NDEsMjE0MjQxNzYxMywzOTMzNTY2MzY3LDMwMjU4MjA0Myw0OTUxNTgxNzQsMTQ3OTI4OTk3Miw4NzQxMjU4NzAsOTA3NzQ2MDkzLDM2OTgyMjQ4MTgsMzAyNTgyMDM5OCwxNTM3MjUzNjI3LDI3NTY4NTg2MTQsMTk4MzU5MzI5MywzMDg0MzEwMTEzLDIxMDg5Mjg5NzQsMTM3ODQyOTMwNywzNzIyNjk5NTgyLDE1ODAxNTA2NDEsMzI3NDUxNzk5LDI3OTA0Nzg4MzcsMzExNzUzNTU5MiwwLDMyNTM1OTU0MzYsMTA3NTg0NzI2NCwzODI1MDA3NjQ3LDIwNDE2ODg1MjAsMzA1OTQ0MDYyMSwzNTYzNzQzOTM0LDIzNzg5NDMzMDIsMTc0MDU1Mzk0NSwxOTE2MzUyODQzLDI0ODc4OTY3OTgsMjU1NTEzNzIzNiwyOTU4NTc5OTQ0LDIyNDQ5ODg3NDYsMzE1MTAyNDIzNSwzMzIwODM1ODgyLDEzMzY1ODQ5MzMsMzk5MjcxNDAwNiwyMjUyNTU1MjA1LDI1ODg3NTc0NjMsMTcxNDYzMTUwOSwyOTM5NjMxNTYsMjMxOTc5NTY2MywzOTI1NDczNTUyLDY3MjQwNDU0LDQyNjk3Njg1NzcsMjY4OTYxODE2MCwyMDE3MjEzNTA4LDYzMTIxODEwNiwxMjY5MzQ0NDgzLDI3MjMyMzgzODcsMTU3MTAwNTQzOCwyMTUxNjk0NTI4LDkzMjk0NDc0LDEwNjY1NzA0MTMsNTYzOTc3NjYwLDE4ODI3MzI2MTYsNDA1OTQyODEwMCwxNjczMzEzNTAzLDIwMDg0NjMwNDEsMjk1MDM1NTU3MywxMTA5NDY3NDkxLDUzNzkyMzYzMiwzODU4NzU5NDUwLDQyNjA2MjMxMTgsMzIxODI2NDY4NSwyMTc3NzQ4MzAwLDQwMzQ0MjcwOCw2Mzg3ODQzMDksMzI4NzA4NDA3OSwzMTkzOTIxNTA1LDg5OTEyNzIwMiwyMjg2MTc1NDM2LDc3MzI2NTIwOSwyNDc5MTQ2MDcxLDE0MzcwNTA4NjYsNDIzNjE0ODM1NCwyMDUwODMzNzM1LDMzNjIwMjI1NzIsMzEyNjY4MTA2Myw4NDA1MDU2NDMsMzg2NjMyNTkwOSwzMjI3NTQxNjY0LDQyNzkxNzcyMCwyNjU1OTk3OTA1LDI3NDkxNjA1NzUsMTE0MzA4NzcxOCwxNDEyMDQ5NTM0LDk5OTMyOTk2MywxOTM0OTcyMTksMjM1MzQxNTg4MiwzMzU0MzI0NTIxLDE4MDcyNjgwNTEsNjcyNDA0NTQwLDI4MTY0MDEwMTcsMzE2MDMwMTI4MiwzNjk4MjI0OTMsMjkxNjg2NjkzNCwzNjg4OTQ3NzcxLDE2ODEwMTEyODYsMTk0OTk3MzA3MCwzMzYyMDIyNzAsMjQ1NDI3NjU3MSwyMDE3MjEzNTQsMTIxMDMyODE3MiwzMDkzMDYwODM2LDI2ODAzNDEwODUsMzE4NDc3NjA0NiwxMTM1Mzg5OTM1LDMyOTQ3ODIxMTgsOTY1ODQxMzIwLDgzMTg4Njc1NiwzNTU0OTkzMjA3LDQwNjgwNDcyNDMsMzU4ODc0NTAxMCwyMzQ1MTkxNDkxLDE4NDkxMTI0MDksMzY2NDYwNDU5OSwyNjA1NDAyOCwyOTgzNTgxMDI4LDI2MjIzNzc2ODIsMTIzNTg1NTg0MCwzNjMwOTg0MzcyLDI4OTEzMzk1MTQsNDA5MjkxNjc0MywzNDg4Mjc5MDc3LDMzOTU2NDI3OTksNDEwMTY2NzQ3MCwxMjAyNjMwMzc3LDI2ODk2MTgxNiwxODc0NTA4NTAxLDQwMzQ0MjcwMTYsMTI0Mzk0ODM5OSwxNTQ2NTMwNDE4LDk0MTM2NjMwOCwxNDcwNTM5NTA1LDE5NDEyMjI1OTksMjU0NjM4NjUxMywzNDIxMDM4NjI3LDI3MTU2NzE5MzIsMzg5OTk0NjE0MCwxMDQyMjI2OTc3LDI1MjE1MTcwMjEsMTYzOTgyNDg2MCwyMjcyNDkwMzAsMjYwNzM3NjY5LDM3NjU0NjUyMzIsMjA4NDQ1Mzk1NCwxOTA3NzMzOTU2LDM0MjkyNjMwMTgsMjQyMDY1NjM0NCwxMDA4NjA2NzcsNDE2MDE1NzE4NSw0NzA2ODMxNTQsMzI2MTE2MTg5MSwxNzgxODcxOTY3LDI5MjQ5NTk3MzcsMTc3Mzc3OTQwOCwzOTQ2OTIyNDEsMjU3OTYxMTk5Miw5NzQ5ODY1MzUsNjY0NzA2NzQ1LDM2NTU0NTkxMjgsMzk1ODk2MjE5NSw3MzE0MjA4NTEsNTcxNTQzODU5LDM1MzAxMjM3MDcsMjg0OTYyNjQ4MCwxMjY3ODMxMTMsODY1Mzc1Mzk5LDc2NTE3MjY2MiwxMDA4NjA2NzU0LDM2MTIwMzYwMiwzMzg3NTQ5OTg0LDIyNzg0NzczODUsMjg1NzcxOTI5NSwxMzQ0ODA5MDgwLDI3ODI5MTIzNzgsNTk1NDI2NzEsMTUwMzc2NDk4NCwxNjAwMDg1NzYsNDM3MDYyOTM1LDE3MDcwNjUzMDYsMzYyMjIzMzY0OSwyMjE4OTM0OTgyLDM0OTY1MDM0ODAsMjE4NTMxNDc1NSw2OTc5MzIyMDgsMTUxMjkxMDE5OSw1MDQzMDMzNzcsMjA3NTE3NzE2MywyODI0MDk5MDY4LDE4NDEwMTk4NjIsNzM5NjQ0OTg2XTt2YXIgVDI9WzI3ODEyNDIyMTEsMjIzMDg3NzMwOCwyNTgyNTQyMTk5LDIzODE3NDA5MjMsMjM0ODc3NjgyLDMxODQ5NDYwMjcsMjk4NDE0NDc1MSwxNDE4ODM5NDkzLDEzNDg0ODEwNzIsNTA0NjI5NzcsMjg0ODg3NjM5MSwyMTAyNzk5MTQ3LDQzNDYzNDQ5NCwxNjU2MDg0NDM5LDM4NjM4NDk4OTksMjU5OTE4ODA4NiwxMTY3MDUxNDY2LDI2MzYwODc5MzgsMTA4Mjc3MTkxMywyMjgxMzQwMjg1LDM2ODA0ODg5MCwzOTU0MzM0MDQxLDMzODE1NDQ3NzUsMjAxMDYwNTkyLDM5NjM3MjcyNzcsMTczOTgzODY3Niw0MjUwOTAzMjAyLDM5MzA0MzU1MDMsMzIwNjc4MjEwOCw0MTQ5NDUzOTg4LDI1MzE1NTM5MDYsMTUzNjkzNDA4MCwzMjYyNDk0NjQ3LDQ4NDU3MjY2OSwyOTIzMjcxMDU5LDE3ODMzNzUzOTgsMTUxNzA0MTIwNiwxMDk4NzkyNzY3LDQ5Njc0MjMxLDEzMzQwMzc3MDgsMTU1MDMzMjk4MCw0MDk4OTkxNTI1LDg4NjE3MTEwOSwxNTA1OTgxMjksMjQ4MTA5MDkyOSwxOTQwNjQyMDA4LDEzOTg5NDQwNDksMTA1OTcyMjUxNywyMDE4NTE5MDgsMTM4NTU0NzcxOSwxNjk5MDk1MzMxLDE1ODczOTc1NzEsNjc0MjQwNTM2LDI3MDQ3NzQ4MDYsMjUyMzE0ODg1LDMwMzk3OTU4NjYsMTUxOTE0MjQ3LDkwODMzMzU4NiwyNjAyMjcwODQ4LDEwMzgwODI3ODYsNjUxMDI5NDgzLDE3NjY3Mjk1MTEsMzQ0NzY5ODA5OCwyNjgyOTQyODM3LDQ1NDE2Njc5MywyNjUyNzM0MzM5LDE5NTE5MzU1MzIsNzc1MTY2NDkwLDc1ODUyMDYwMywzMDAwNzkwNjM4LDQwMDQ3OTcwMTgsNDIxNzA4NjExMiw0MTM3OTY0MTE0LDEyOTk1OTQwNDMsMTYzOTQzODAzOCwzNDY0MzQ0NDk5LDIwNjg5ODIwNTcsMTA1NDcyOTE4NywxOTAxOTk3ODcxLDI1MzQ2Mzg3MjQsNDEyMTMxODIyNywxNzU3MDA4MzM3LDAsNzUwOTA2ODYxLDE2MTQ4MTUyNjQsNTM1MDM1MTMyLDMzNjM0MTg1NDUsMzk4ODE1MTEzMSwzMjAxNTkxOTE0LDExODM2OTc4NjcsMzY0NzQ1NDkxMCwxMjY1Nzc2OTUzLDM3MzQyNjAyOTgsMzU2Njc1MDc5NiwzOTAzODcxMDY0LDEyNTAyODM0NzEsMTgwNzQ3MDgwMCw3MTc2MTUwODcsMzg0NzIwMzQ5OCwzODQ2OTUyOTEsMzMxMzkxMDU5NSwzNjE3MjEzNzczLDE0MzI3NjExMzksMjQ4NDE3NjI2MSwzNDgxOTQ1NDEzLDI4Mzc2OTMzNywxMDA5MjU5NTQsMjE4MDkzOTY0Nyw0MDM3MDM4MTYwLDExNDg3MzA0MjgsMzEyMzAyNzg3MSwzODEzMzg2NDA4LDQwODc1MDExMzcsNDI2NzU0OTYwMywzMjI5NjMwNTI4LDIzMTU2MjAyMzksMjkwNjYyNDY1OCwzMTU2MzE5NjQ1LDEyMTUzMTM5NzYsODI5NjYwMDUsMzc0Nzg1NTU0OCwzMjQ1ODQ4MjQ2LDE5NzQ0NTkwOTgsMTY2NTI3ODI0MSw4MDc0MDc2MzIsNDUxMjgwODk1LDI1MTUyNDA4MywxODQxMjg3ODkwLDEyODM1NzUyNDUsMzM3MTIwMjY4LDg5MTY4NzY5OSw4MDEzNjkzMjQsMzc4NzM0OTg1NSwyNzIxNDIxMjA3LDM0MzE0ODI0MzYsOTU5MzIxODc5LDE0NjkzMDE5NTYsNDA2NTY5OTc1MSwyMTk3NTg1NTM0LDExOTkxOTM0MDUsMjg5ODgxNDA1MiwzODg3NzUwNDkzLDcyNDcwMzUxMywyNTE0OTA4MDE5LDI2OTY5NjIxNDQsMjU1MTgwODM4NSwzNTE2ODEzMTM1LDIxNDE0NDUzNDAsMTcxNTc0MTIxOCwyMTE5NDQ1MDM0LDI4NzI4MDc1NjgsMjE5ODU3MTE0NCwzMzk4MTkwNjYyLDcwMDk2ODY4NiwzNTQ3MDUyMjE2LDEwMDkyNTk1NDAsMjA0MTA0NDcwMiwzODAzOTk1NzQyLDQ4Nzk4Mzg4MywxOTkxMTA1NDk5LDEwMDQyNjU2OTYsMTQ0OTQwNzAyNiwxMzE2MjM5OTMwLDUwNDYyOTc3MCwzNjgzNzk3MzIxLDE2ODU2MDEzNCwxODE2NjY3MTcyLDM4MzcyODc1MTYsMTU3MDc1MTE3MCwxODU3OTM0MjkxLDQwMTQxODk3NDAsMjc5Nzg4ODA5OCwyODIyMzQ1MTA1LDI3NTQ3MTI5ODEsOTM2NjMzNTcyLDIzNDc5MjM4MzMsODUyODc5MzM1LDExMzMyMzQzNzYsMTUwMDM5NTMxOSwzMDg0NTQ1Mzg5LDIzNDg5MTIwMTMsMTY4OTM3NjIxMywzNTMzNDU5MDIyLDM3NjI5MjM5NDUsMzAzNDA4MjQxMiw0MjA1NTk4Mjk0LDEzMzQyODQ2OCw2MzQzODMwODIsMjk0OTI3NzAyOSwyMzk4Mzg2ODEwLDM5MTM3ODkxMDIsNDAzNzAzODE2LDM1ODA4NjkzMDYsMjI5NzQ2MDg1NiwxODY3MTMwMTQ5LDE5MTg2NDM3NTgsNjA3NjU2OTg4LDQwNDkwNTMzNTAsMzM0NjI0ODg4NCwxMzY4OTAxMzE4LDYwMDU2NTk5MiwyMDkwOTgyODc3LDI2MzI0Nzk4NjAsNTU3NzE5MzI3LDM3MTc2MTQ0MTEsMzY5NzM5MzA4NSwyMjQ5MDM0NjM1LDIyMzIzODgyMzQsMjQzMDYyNzk1MiwxMTE1NDM4NjU0LDMyOTU3ODY0MjEsMjg2NTUyMjI3OCwzNjMzMzM0MzQ0LDg0MjgwMDY3LDMzMDI3ODMwLDMwMzgyODQ5NCwyNzQ3NDI1MTIxLDE2MDA3OTU5NTcsNDE4ODk1MjQwNywzNDk2NTg5NzUzLDI0MzQyMzgwODYsMTQ4NjQ3MTYxNyw2NTgxMTk5NjUsMzEwNjM4MTQ3MCw5NTM4MDMyMzMsMzM0MjMxODAwLDMwMDU5Nzg3NzYsODU3ODcwNjA5LDMxNTExMjg5MzcsMTg5MDE3OTU0NSwyMjk4OTczODM4LDI4MDUxNzU0NDQsMzA1NjQ0MjI2Nyw1NzQzNjUyMTQsMjQ1MDg4NDQ4Nyw1NTAxMDM1MjksMTIzMzYzNzA3MCw0Mjg5MzUzMDQ1LDIwMTg1MTkwODAsMjA1NzY5MTEwMywyMzk5Mzc0NDc2LDQxNjY2MjM2NDksMjE0ODEwODY4MSwzODc1ODMyNDUsMzY2NDEwMTMxMSw4MzYyMzI5MzQsMzMzMDU1NjQ4MiwzMTAwNjY1OTYwLDMyODAwOTM1MDUsMjk1NTUxNjMxMywyMDAyMzk4NTA5LDI4NzE4MjYwNywzNDEzODgxMDA4LDQyMzg4OTAwNjgsMzU5NzUxNTcwNyw5NzU5Njc3NjZdO3ZhciBUMz1bMTY3MTgwODYxMSwyMDg5MDg5MTQ4LDIwMDY1NzY3NTksMjA3MjkwMTI0Myw0MDYxMDAzNzYyLDE4MDc2MDMzMDcsMTg3MzkyNzc5MSwzMzEwNjUzODkzLDgxMDU3Mzg3MiwxNjk3NDMzNywxNzM5MTgxNjcxLDcyOTYzNDM0Nyw0MjYzMTEwNjU0LDM2MTM1NzA1MTksMjg4Mzk5NzA5OSwxOTg5ODY0NTY2LDMzOTM1NTY0MjYsMjE5MTMzNTI5OCwzMzc2NDQ5OTkzLDIxMDYwNjM0ODUsNDE5NTc0MTY5MCwxNTA4NjE4ODQxLDEyMDQzOTE0OTUsNDAyNzMxNzIzMiwyOTE3OTQxNjc3LDM1NjM1NjYwMzYsMjczNDUxNDA4MiwyOTUxMzY2MDYzLDI2Mjk3NzIxODgsMjc2NzY3MjIyOCwxOTIyNDkxNTA2LDMyMjcyMjkxMjAsMzA4Mjk3NDY0Nyw0MjQ2NTI4NTA5LDI0Nzc2Njk3NzksNjQ0NTAwNTE4LDkxMTg5NTYwNiwxMDYxMjU2NzY3LDQxNDQxNjYzOTEsMzQyNzc2MzE0OCw4Nzg0NzEyMjAsMjc4NDI1MjMyNSwzODQ1NDQ0MDY5LDQwNDM4OTczMjksMTkwNTUxNzE2OSwzNjMxNDU5Mjg4LDgyNzU0ODIwOSwzNTY0NjEwNzcsNjc4OTczNDgsMzM0NDA3ODI3OSw1OTM4Mzk2NTEsMzI3Nzc1Nzg5MSw0MDUyODY5MzYsMjUyNzE0NzkyNiw4NDg3MTY4NSwyNTk1NTY1NDY2LDExODAzMzkyNywzMDU1MzgwNjYsMjE1NzY0ODc2OCwzNzk1NzA1ODI2LDM5NDUxODg4NDMsNjYxMjEyNzExLDI5OTk4MTIwMTgsMTk3MzQxNDUxNywxNTI3NjkwMzMsMjIwODE3NzUzOSw3NDU4MjIyNTIsNDM5MjM1NjEwLDQ1NTk0NzgwMywxODU3MjE1NTk4LDE1MjU1OTMxNzgsMjcwMDgyNzU1MiwxMzkxODk1NjM0LDk5NDkzMjI4MywzNTk2NzI4Mjc4LDMwMTY2NTQyNTksNjk1OTQ3ODE3LDM4MTI1NDgwNjcsNzk1OTU4ODMxLDIyMjQ0OTM0NDQsMTQwODYwNzgyNywzNTEzMzAxNDU3LDAsMzk3OTEzMzQyMSw1NDMxNzg3ODQsNDIyOTk0ODQxMiwyOTgyNzA1NTg1LDE1NDIzMDUzNzEsMTc5MDg5MTExNCwzNDEwMzk4NjY3LDMyMDE5MTg5MTAsOTYxMjQ1NzUzLDEyNTYxMDA5MzgsMTI4OTAwMTAzNiwxNDkxNjQ0NTA0LDM0Nzc3Njc2MzEsMzQ5NjcyMTM2MCw0MDEyNTU3ODA3LDI4NjcxNTQ4NTgsNDIxMjU4MzkzMSwxMTM3MDE4NDM1LDEzMDU5NzUzNzMsODYxMjM0NzM5LDIyNDEwNzM1NDEsMTE3MTIyOTI1Myw0MTc4NjM1MjU3LDMzOTQ4Njc0LDIxMzkyMjU3MjcsMTM1Nzk0Njk2MCwxMDExMTIwMTg4LDI2Nzk3NzY2NzEsMjgzMzQ2ODMyOCwxMzc0OTIxMjk3LDI3NTEzNTYzMjMsMTA4NjM1NzU2OCwyNDA4MTg3Mjc5LDI0NjA4Mjc1MzgsMjY0NjM1MjI4NSw5NDQyNzE0MTYsNDExMDc0MjAwNSwzMTY4NzU2NjY4LDMwNjYxMzI0MDYsMzY2NTE0NTgxOCw1NjAxNTMxMjEsMjcxNTg5MzkyLDQyNzk5NTI4OTUsNDA3Nzg0NjAwMywzNTMwNDA3ODkwLDM0NDQzNDMyNDUsMjAyNjQzNDY4LDMyMjI1MDI1OSwzOTYyNTUzMzI0LDE2MDg2Mjk4NTUsMjU0Mzk5MDE2NywxMTU0MjU0OTE2LDM4OTYyMzMxOSwzMjk0MDczNzk2LDI4MTc2NzY3MTEsMjEyMjUxMzUzNCwxMDI4MDk0NTI1LDE2ODkwNDUwOTIsMTU3NTQ2NzYxMyw0MjIyNjEyNzMsMTkzOTIwMzY5OSwxNjIxMTQ3NzQ0LDIxNzQyMjg4NjUsMTMzOTEzNzYxNSwzNjk5MzUyNTQwLDU3NzEyNzQ1OCw3MTI5MjIxNTQsMjQyNzE0MTAwOCwyMjkwMjg5NTQ0LDExODc2NzkzMDIsMzk5NTcxNTU2NiwzMTAwODYzNDE2LDMzOTQ4Njc0MCwzNzMyNTE0NzgyLDE1OTE5MTc2NjIsMTg2NDU1NTYzLDM2ODE5ODgwNTksMzc2MjAxOTI5Niw4NDQ1MjI1NDYsOTc4MjIwMDkwLDE2OTc0MzM3MCwxMjM5MTI2NjAxLDEwMTMyMTczNCw2MTEwNzYxMzIsMTU1ODQ5MzI3NiwzMjYwOTE1NjUwLDM1NDcyNTAxMzEsMjkwMTM2MTU4MCwxNjU1MDk2NDE4LDI0NDM3MjExMDUsMjUxMDU2NTc4MSwzODI4ODYzOTcyLDIwMzkyMTQ3MTMsMzg3ODg2ODQ1NSwzMzU5ODY5ODk2LDkyODYwNzc5OSwxODQwNzY1NTQ5LDIzNzQ3NjI4OTMsMzU4MDE0NjEzMywxMzIyNDI1NDIyLDI4NTAwNDg0MjUsMTgyMzc5MTIxMiwxNDU5MjY4Njk0LDQwOTQxNjE5MDgsMzkyODM0NjYwMiwxNzA2MDE5NDI5LDIwNTYxODkwNTAsMjkzNDUyMzgyMiwxMzU3OTQ2OTYsMzEzNDU0OTk0NiwyMDIyMjQwMzc2LDYyODA1MDQ2OSw3NzkyNDY2MzgsNDcyMTM1NzA4LDI4MDA4MzQ0NzAsMzAzMjk3MDE2NCwzMzI3MjM2MDM4LDM4OTQ2NjAwNzIsMzcxNTkzMjYzNywxOTU2NDQwMTgwLDUyMjI3MjI4NywxMjcyODEzMTMxLDMxODUzMzY3NjUsMjM0MDgxODMxNSwyMzIzOTc2MDc0LDE4ODg1NDI4MzIsMTA0NDU0NDU3NCwzMDQ5NTUwMjYxLDE3MjI0Njk0NzgsMTIyMjE1MjI2NCw1MDY2MDg2Nyw0MTI3MzI0MTUwLDIzNjA2Nzg1NCwxNjM4MTIyMDgxLDg5NTQ0NTU1NywxNDc1OTgwODg3LDMxMTc0NDM1MTMsMjI1NzY1NTY4NiwzMjQzODA5MjE3LDQ4OTExMDA0NSwyNjYyOTM0NDMwLDM3Nzg1OTkzOTMsNDE2MjA1NTE2MCwyNTYxODc4OTM2LDI4ODU2MzcyOSwxNzczOTE2Nzc3LDM2NDgwMzkzODUsMjM5MTM0NTAzOCwyNDkzOTg1Njg0LDI2MTI0MDc3MDcsNTA1NTYwMDk0LDIyNzQ0OTc5MjcsMzkxMTI0MDE2OSwzNDYwOTI1MzkwLDE0NDI4MTg2NDUsNjc4OTczNDgwLDM3NDkzNTcwMjMsMjM1ODE4Mjc5NiwyNzE3NDA3NjQ5LDIzMDY4Njk2NDEsMjE5NjE3ODA1LDMyMTg3NjExNTEsMzg2MjAyNjIxNCwxMTIwMzA2MjQyLDE3NTY5NDI0NDAsMTEwMzMzMTkwNSwyNTc4NDU5MDMzLDc2Mjc5NjU4OSwyNTI3ODAwNDcsMjk2NjEyNTQ4OCwxNDI1ODQ0MzA4LDMxNTEzOTIxODcsMzcyOTExMTI2XTt2YXIgVDQ9WzE2Njc0NzQ4ODYsMjA4ODUzNTI4OCwyMDA0MzI2ODk0LDIwNzE2OTQ4MzgsNDA3NTk0OTU2NywxODAyMjIzMDYyLDE4Njk1OTEwMDYsMzMxODA0Mzc5Myw4MDg0NzI2NzIsMTY4NDM1MjIsMTczNDg0NjkyNiw3MjQyNzA0MjIsNDI3ODA2NTYzOSwzNjIxMjE2OTQ5LDI4ODAxNjk1NDksMTk4NzQ4NDM5NiwzNDAyMjUzNzExLDIxODk1OTc5ODMsMzM4NTQwOTY3MywyMTA1Mzc4ODEwLDQyMTA2OTM2MTUsMTQ5OTA2NTI2NiwxMTk1ODg2OTkwLDQwNDIyNjM1NDcsMjkxMzg1NjU3NywzNTcwNjg5OTcxLDI3Mjg1OTA2ODcsMjk0NzU0MTU3MywyNjI3NTE4MjQzLDI3NjIyNzQ2NDMsMTkyMDExMjM1NiwzMjMzODMxODM1LDMwODIyNzMzOTcsNDI2MTIyMzY0OSwyNDc1OTI5MTQ5LDY0MDA1MTc4OCw5MDk1MzE3NTYsMTA2MTExMDE0Miw0MTYwMTYwNTAxLDM0MzU5NDE3NjMsODc1ODQ2NzYwLDI3NzkxMTY2MjUsMzg1NzAwMzcyOSw0MDU5MTA1NTI5LDE5MDMyNjg4MzQsMzYzODA2NDA0Myw4MjUzMTYxOTQsMzUzNzEzOTYyLDY3Mzc0MDg4LDMzNTE3Mjg3ODksNTg5NTIyMjQ2LDMyODQzNjA4NjEsNDA0MjM2MzM2LDI1MjY0NTQwNzEsODQyMTc2MTAsMjU5MzgzMDE5MSwxMTc5MDE1ODIsMzAzMTgzMzk2LDIxNTU5MTE5NjMsMzgwNjQ3Nzc5MSwzOTU4MDU2NjUzLDY1Njg5NDI4NiwyOTk4MDYyNDYzLDE5NzA2NDI5MjIsMTUxNTkxNjk4LDIyMDY0NDA5ODksNzQxMTEwODcyLDQzNzkyMzM4MCw0NTQ3NjU4NzgsMTg1Mjc0ODUwOCwxNTE1OTA4Nzg4LDI2OTQ5MDQ2NjcsMTM4MTE2ODgwNCw5OTM3NDIxOTgsMzYwNDM3Mzk0MywzMDE0OTA1NDY5LDY5MDU4NDQwMiwzODIzMzIwNzk3LDc5MTYzODM2NiwyMjIzMjgxOTM5LDEzOTgwMTEzMDIsMzUyMDE2MTk3NywwLDM5OTE3NDM2ODEsNTM4OTkyNzA0LDQyNDQzODE2NjcsMjk4MTIxODQyNSwxNTMyNzUxMjg2LDE3ODUzODA1NjQsMzQxOTA5NjcxNywzMjAwMTc4NTM1LDk2MDA1NjE3OCwxMjQ2NDIwNjI4LDEyODAxMDM1NzYsMTQ4MjIyMTc0NCwzNDg2NDY4NzQxLDM1MDMzMTk5OTUsNDAyNTQyODY3NywyODYzMzI2NTQzLDQyMjc1MzY2MjEsMTEyODUxNDk1MCwxMjk2OTQ3MDk4LDg1OTAwMjIxNCwyMjQwMTIzOTIxLDExNjIyMDMwMTgsNDE5Mzg0OTU3NywzMzY4NzA0NCwyMTM5MDYyNzgyLDEzNDc0ODE3NjAsMTAxMDU4MjY0OCwyNjc4MDQ1MjIxLDI4Mjk2NDA1MjMsMTM2NDMyNTI4MiwyNzQ1NDMzNjkzLDEwNzc5ODU0MDgsMjQwODU0ODg2OSwyNDU5MDg2MTQzLDI2NDQzNjAyMjUsOTQzMjEyNjU2LDQxMjY0NzU1MDUsMzE2NjQ5NDU2MywzMDY1NDMwMzkxLDM2NzE3NTAwNjMsNTU1ODM2MjI2LDI2OTQ5NjM1Miw0Mjk0OTA4NjQ1LDQwOTI3OTI1NzMsMzUzNzAwNjAxNSwzNDUyNzgzNzQ1LDIwMjExODE2OCwzMjAwMjU4OTQsMzk3NDkwMTY5OSwxNjAwMTE5MjMwLDI1NDMyOTcwNzcsMTE0NTM1OTQ5NiwzODczOTc5MzQsMzMwMTIwMTgxMSwyODEyODAxNjIxLDIxMjIyMjAyODQsMTAyNzQyNjE3MCwxNjg0MzE5NDMyLDE1NjY0MzUyNTgsNDIxMDc5ODU4LDE5MzY5NTQ4NTQsMTYxNjk0NTM0NCwyMTcyNzUzOTQ1LDEzMzA2MzEwNzAsMzcwNTQzODExNSw1NzI2Nzk3NDgsNzA3NDI3OTI0LDI0MjU0MDAxMjMsMjI5MDY0NzgxOSwxMTc5MDQ0NDkyLDQwMDg1ODU2NzEsMzA5OTEyMDQ5MSwzMzY4NzA0NDAsMzczOTEyMjA4NywxNTgzMjc2NzMyLDE4NTI3NzcxOCwzNjg4NTkzMDY5LDM3NzI3OTE3NzEsODQyMTU5NzE2LDk3Njg5OTcwMCwxNjg0MzUyMjAsMTIyOTU3NzEwNiwxMDEwNTkwODQsNjA2MzY2NzkyLDE1NDk1OTE3MzYsMzI2NzUxNzg1NSwzNTUzODQ5MDIxLDI4OTcwMTQ1OTUsMTY1MDYzMjM4OCwyNDQyMjQyMTA1LDI1MDk2MTIwODEsMzg0MDE2MTc0NywyMDM4MDA4ODE4LDM4OTA2ODg3MjUsMzM2ODU2NzY5MSw5MjYzNzQyNTQsMTgzNTkwNzAzNCwyMzc0ODYzODczLDM1ODc1MzE5NTMsMTMxMzc4ODU3MiwyODQ2NDgyNTA1LDE4MTkwNjM1MTIsMTQ0ODU0MDg0NCw0MTA5NjMzNTIzLDM5NDEyMTM2NDcsMTcwMTE2Mjk1NCwyMDU0ODUyMzQwLDI5MzA2OTg1NjcsMTM0NzQ4MTc2LDMxMzI4MDY1MTEsMjAyMTE2NTI5Niw2MjMyMTAzMTQsNzc0Nzk1ODY4LDQ3MTYwNjMyOCwyNzk1OTU4NjE1LDMwMzE3NDY0MTksMzMzNDg4NTc4MywzOTA3NTI3NjI3LDM3MjIyODAwOTcsMTk1Mzc5OTQwMCw1MjIxMzM4MjIsMTI2MzI2MzEyNiwzMTgzMzM2NTQ1LDIzNDExNzY4NDUsMjMyNDMzMzgzOSwxODg2NDI1MzEyLDEwNDQyNjc2NDQsMzA0ODU4ODQwMSwxNzE4MDA0NDI4LDEyMTI3MzM1ODQsNTA1Mjk1NDIsNDE0MzMxNzQ5NSwyMzU4MDMxNjQsMTYzMzc4ODg2Niw4OTI2OTAyODIsMTQ2NTM4MzM0MiwzMTE1OTYyNDczLDIyNTY5NjU5MTEsMzI1MDY3MzgxNyw0ODg0NDk4NTAsMjY2MTIwMjIxNSwzNzg5NjMzNzUzLDQxNzcwMDc1OTUsMjU2MDE0NDE3MSwyODYzMzk4NzQsMTc2ODUzNzA0MiwzNjU0OTA2MDI1LDIzOTE3MDU4NjMsMjQ5Mjc3MDA5OSwyNjEwNjczMTk3LDUwNTI5MTMyNCwyMjczODA4OTE3LDM5MjQzNjk2MDksMzQ2OTYyNTczNSwxNDMxNjk5MzcwLDY3Mzc0MDg4MCwzNzU1OTY1MDkzLDIzNTgwMjE4OTEsMjcxMTc0NjY0OSwyMzA3NDg5ODAxLDIxODk2MTY5MCwzMjE3MDIxNTQxLDM4NzM4NDU3MTksMTExMTY3MjQ1MiwxNzUxNjkzNTIwLDEwOTQ4Mjg5MzAsMjU3Njk4NjE1Myw3NTc5NTQzOTQsMjUyNjQ1NjYyLDI5NjQzNzY0NDMsMTQxNDg1NTg0OCwzMTQ5NjQ5NTE3LDM3MDU1NTQzNl07dmFyIFQ1PVsxMzc0OTg4MTEyLDIxMTgyMTQ5OTUsNDM3NzU3MTIzLDk3NTY1ODY0NiwxMDAxMDg5OTk1LDUzMDQwMDc1MywyOTAyMDg3ODUxLDEyNzMxNjg3ODcsNTQwMDgwNzI1LDI5MTAyMTk3NjYsMjI5NTEwMTA3Myw0MTEwNTY4NDg1LDEzNDA0NjMxMDAsMzMwNzkxNjI0Nyw2NDEwMjUxNTIsMzA0MzE0MDQ5NSwzNzM2MTY0OTM3LDYzMjk1MzcwMywxMTcyOTY3MDY0LDE1NzY5NzY2MDksMzI3NDY2NzI2NiwyMTY5MzAzMDU4LDIzNzAyMTM3OTUsMTgwOTA1NDE1MCw1OTcyNzg0NywzNjE5Mjk4NzcsMzIxMTYyMzE0NywyNTA1MjAyMTM4LDM1NjkyNTUyMTMsMTQ4NDAwNTg0MywxMjM5NDQzNzUzLDIzOTU1ODg2NzYsMTk3NTY4MzQzNCw0MTAyOTc3OTEyLDI1NzI2OTcxOTUsNjY2NDY0NzMzLDMyMDI0MzcwNDYsNDAzNTQ4OTA0NywzMzc0MzYxNzAyLDIxMTA2Njc0NDQsMTY3NTU3Nzg4MCwzODQzNjk5MDc0LDI1Mzg2ODExODQsMTY0OTYzOTIzNywyOTc2MTUxNTIwLDMxNDQzOTY0MjAsNDI2OTkwNzk5Niw0MTc4MDYyMjI4LDE4ODM3OTM0OTYsMjQwMzcyODY2NSwyNDk3NjA0NzQzLDEzODM4NTYzMTEsMjg3NjQ5NDYyNywxOTE3NTE4NTYyLDM4MTA0OTYzNDMsMTcxNjg5MDQxMCwzMDAxNzU1NjU1LDgwMDQ0MDgzNSwyMjYxMDg5MTc4LDM1NDM1OTkyNjksODA3OTYyNjEwLDU5OTc2MjM1NCwzMzc3ODM2MiwzOTc3Njc1MzU2LDIzMjg4Mjg5NzEsMjgwOTc3MTE1NCw0MDc3Mzg0NDMyLDEzMTU1NjIxNDUsMTcwODg0ODMzMywxMDEwMzk4MjksMzUwOTg3MTEzNSwzMjk5Mjc4NDc0LDg3NTQ1MTI5MywyNzMzODU2MTYwLDkyOTg3Njk4LDI3Njc2NDU1NTcsMTkzMTk1MDY1LDEwODAwOTQ2MzQsMTU4NDUwNDU4MiwzMTc4MTA2OTYxLDEwNDIzODU2NTcsMjUzMTA2NzQ1MywzNzExODI5NDIyLDEzMDY5NjczNjYsMjQzODIzNzYyMSwxOTA4Njk0Mjc3LDY3NTU2NDYzLDE2MTU4NjEyNDcsNDI5NDU2MTY0LDM2MDI3NzAzMjcsMjMwMjY5MDI1MiwxNzQyMzE1MTI3LDI5NjgwMTE0NTMsMTI2NDU0NjY0LDM4NzcxOTg2NDgsMjA0MzIxMTQ4MywyNzA5MjYwODcxLDIwODQ3MDQyMzMsNDE2OTQwODIwMSwwLDE1OTQxNzk4Nyw4NDE3Mzk1OTIsNTA0NDU5NDM2LDE4MTc4NjY4MzAsNDI0NTYxODY4MywyNjAzODg5NTAsMTAzNDg2Nzk5OCw5MDg5MzM0MTUsMTY4ODEwODUyLDE3NTA5MDIzMDUsMjYwNjQ1Mzk2OSw2MDc1MzA1NTQsMjAyMDA4NDk3LDI0NzIwMTE1MzUsMzAzNTUzNTA1OCw0NjMxODAxOTAsMjE2MDExNzA3MSwxNjQxODE2MjI2LDE1MTc3Njc1MjksNDcwOTQ4Mzc0LDM4MDEzMzIyMzQsMzIzMTcyMjIxMywxMDA4OTE4NTk1LDMwMzc2NTI3NywyMzU0NzQxODcsNDA2OTI0Njg5Myw3NjY5NDU0NjUsMzM3NTUzODY0LDE0NzU0MTg1MDEsMjk0MzY4MjM4MCw0MDAzMDYxMTc5LDI3NDMwMzQxMDksNDE0NDA0Nzc3NSwxNTUxMDM3ODg0LDExNDc1NTA2NjEsMTU0MzIwODUwMCwyMzM2NDM0NTUwLDM0MDgxMTk1MTYsMzA2OTA0OTk2MCwzMTAyMDExNzQ3LDM2MTAzNjkyMjYsMTExMzgxODM4NCwzMjg2NzE4MDgsMjIyNzU3MzAyNCwyMjM2MjI4NzMzLDM1MzU0ODY0NTYsMjkzNTU2Njg2NSwzMzQxMzk0Mjg1LDQ5NjkwNjA1OSwzNzAyNjY1NDU5LDIyNjkwNjg2MCwyMDA5MTk1NDcyLDczMzE1Njk3MiwyODQyNzM3MDQ5LDI5NDkzMDY4MiwxMjA2NDc3ODU4LDI4MzUxMjMzOTYsMjcwMDA5OTM1NCwxNDUxMDQ0MDU2LDU3MzgwNDc4MywyMjY5NzI4NDU1LDM2NDQzNzk1ODUsMjM2MjA5MDIzOCwyNTY0MDMzMzM0LDI4MDExMDc0MDcsMjc3NjI5MjkwNCwzNjY5NDYyNTY2LDEwNjgzNTEzOTYsNzQyMDM5MDEyLDEzNTAwNzg5ODksMTc4NDY2MzE5NSwxNDE3NTYxNjk4LDQxMzY0NDA3NzAsMjQzMDEyMjIxNiw3NzU1NTA4MTQsMjE5Mzg2MjY0NSwyNjczNzA1MTUwLDE3NzUyNzY5MjQsMTg3NjI0MTgzMywzNDc1MzEzMzMxLDMzNjY3NTQ2MTksMjcwMDQwNDg3LDM5MDI1NjMxODIsMzY3ODEyNDkyMywzNDQxODUwMzc3LDE4NTEzMzI4NTIsMzk2OTU2MjM2OSwyMjAzMDMyMjMyLDM4Njg1NTI4MDUsMjg2ODg5NzQwNiw1NjYwMjE4OTYsNDAxMTE5MDUwMiwzMTM1NzQwODg5LDEyNDg4MDI1MTAsMzkzNjI5MTI4NCw2OTk0MzIxNTAsODMyODc3MjMxLDcwODc4MDg0OSwzMzMyNzQwMTQ0LDg5OTgzNTU4NCwxOTUxMzE3MDQ3LDQyMzY0Mjk5OTAsMzc2NzU4Njk5Miw4NjY2Mzc4NDUsNDA0MzYxMDE4NiwxMTA2MDQxNTkxLDIxNDQxNjE4MDYsMzk1NDQxNzExLDE5ODQ4MTI2ODUsMTEzOTc4MTcwOSwzNDMzNzEyOTgwLDM4MzUwMzY4OTUsMjY2NDU0MzcxNSwxMjgyMDUwMDc1LDMyNDA4OTQzOTIsMTE4MTA0NTExOSwyNjQwMjQzMjA0LDI1OTY1OTE3LDQyMDMxODExNzEsNDIxMTgxODc5OCwzMDA5ODc5Mzg2LDI0NjM4Nzk3NjIsMzkxMDE2MTk3MSwxODQyNzU5NDQzLDI1OTc4MDY0NzYsOTMzMzAxMzcwLDE1MDk0MzA0MTQsMzk0MzkwNjQ0MSwzNDY3MTkyMzAyLDMwNzY2MzkwMjksMzc3Njc2NzQ2OSwyMDUxNTE4NzgwLDI2MzEwNjU0MzMsMTQ0MTk1MjU3NSw0MDQwMTY3NjEsMTk0MjQzNTc3NSwxNDA4NzQ5MDM0LDE2MTA0NTk3MzksMzc0NTM0NTMwMCwyMDE3Nzc4NTY2LDM0MDA1Mjg3NjksMzExMDY1MDk0Miw5NDE4OTY3NDgsMzI2NTQ3ODc1MSwzNzEwNDkzMzAsMzE2ODkzNzIyOCw2NzUwMzk2MjcsNDI3OTA4MDI1Nyw5NjczMTE3MjksMTM1MDUwMjA2LDM2MzU3MzM2NjAsMTY4MzQwNzI0OCwyMDc2OTM1MjY1LDM1NzY4NzA1MTIsMTIxNTA2MTEwOCwzNTAxNzQxODkwXTt2YXIgVDY9WzEzNDc1NDgzMjcsMTQwMDc4MzIwNSwzMjczMjY3MTA4LDI1MjAzOTM1NjYsMzQwOTY4NTM1NSw0MDQ1MzgwOTMzLDI4ODAyNDAyMTYsMjQ3MTIyNDA2NywxNDI4MTczMDUwLDQxMzg1NjMxODEsMjQ0MTY2MTU1OCw2MzY4MTM5MDAsNDIzMzA5NDYxNSwzNjIwMDIyOTg3LDIxNDk5ODc2NTIsMjQxMTAyOTE1NSwxMjM5MzMxMTYyLDE3MzA1MjU3MjMsMjU1NDcxODczNCwzNzgxMDMzNjY0LDQ2MzQ2MTAxLDMxMDQ2MzcyOCwyNzQzOTQ0ODU1LDMzMjg5NTUzODUsMzg3NTc3MDIwNywyNTAxMjE4OTcyLDM5NTUxOTExNjIsMzY2NzIxOTAzMyw3Njg5MTcxMjMsMzU0NTc4OTQ3Myw2OTI3MDc0MzMsMTE1MDIwODQ1NiwxNzg2MTAyNDA5LDIwMjkyOTMxNzcsMTgwNTIxMTcxMCwzNzEwMzY4MTEzLDMwNjU5NjI4MzEsNDAxNjM5NTk3LDE3MjQ0NTcxMzIsMzAyODE0MzY3NCw0MDkxOTg0MTAsMjE5NjA1MjUyOSwxNjIwNTI5NDU5LDExNjQwNzE4MDcsMzc2OTcyMTk3NSwyMjI2ODc1MzEwLDQ4NjQ0MTM3NiwyNDk5MzQ4NTIzLDE0ODM3NTM1NzYsNDI4ODE5OTY1LDIyNzQ2ODA0MjgsMzA3NTYzNjIxNiw1OTg0Mzg4NjcsMzc5OTE0MTEyMiwxNDc0NTAyNTQzLDcxMTM0OTY3NSwxMjkxNjYxMjAsNTM0NTgzNzAsMjU5MjUyMzY0MywyNzgyMDgyODI0LDQwNjMyNDIzNzUsMjk4ODY4NzI2OSwzMTIwNjk0MTIyLDE1NTkwNDE2NjYsNzMwNTE3Mjc2LDI0NjA0NDkyMDQsNDA0MjQ1OTEyMiwyNzA2MjcwNjkwLDM0NDYwMDQ0NjgsMzU3Mzk0MTY5NCw1MzM4MDQxMzAsMjMyODE0MzYxNCwyNjM3NDQyNjQzLDI2OTUwMzM2ODUsODM5MjI0MDMzLDE5NzM3NDUzODcsOTU3MDU1OTgwLDI4NTYzNDU4MzksMTA2ODUyNzY3LDEzNzEzNjg5NzYsNDE4MTU5ODYwMiwxMDMzMjk3MTU4LDI5MzM3MzQ5MTcsMTE3OTUxMDQ2MSwzMDQ2MjAwNDYxLDkxMzQxOTE3LDE4NjI1MzQ4NjgsNDI4NDUwMjAzNyw2MDU2NTczMzksMjU0NzQzMjkzNywzNDMxNTQ2OTQ3LDIwMDMyOTQ2MjIsMzE4MjQ4NzYxOCwyMjgyMTk1MzM5LDk1NDY2OTQwMywzNjgyMTkxNTk4LDEyMDE3NjUzODYsMzkxNzIzNDcwMywzMzg4NTA3MTY2LDAsMjE5ODQzODAyMiwxMjExMjQ3NTk3LDI4ODc2NTE2OTYsMTMxNTcyMzg5MCw0MjI3NjY1NjYzLDE0NDM4NTc3MjAsNTA3MzU4OTMzLDY1Nzg2MTk0NSwxNjc4MzgxMDE3LDU2MDQ4NzU5MCwzNTE2NjE5NjA0LDk3NTQ1MTY5NCwyOTcwMzU2MzI3LDI2MTMxNDUzNSwzNTM1MDcyOTE4LDI2NTI2MDk0MjUsMTMzMzgzODAyMSwyNzI0MzIyMzM2LDE3Njc1MzY0NTksMzcwOTM4Mzk0LDE4MjYyMTExNCwzODU0NjA2Mzc4LDExMjgwMTQ1NjAsNDg3NzI1ODQ3LDE4NTQ2OTE5NywyOTE4MzUzODYzLDMxMDY3ODA4NDAsMzM1Njc2MTc2OSwyMjM3MTMzMDgxLDEyODY1NjcxNzUsMzE1Mjk3NjM0OSw0MjU1MzUwNjI0LDI2ODM3NjUwMzAsMzE2MDE3NTM0OSwzMzA5NTk0MTcxLDg3ODQ0MzM5MCwxOTg4ODM4MTg1LDM3MDQzMDA0ODYsMTc1NjgxODk0MCwxNjczMDYxNjE3LDM0MDMxMDA2MzYsMjcyNzg2MzA5LDEwNzUwMjU2OTgsNTQ1NTcyMzY5LDIxMDU4ODcyNjgsNDE3NDU2MDA2MSwyOTY2Nzk3MzAsMTg0MTc2ODg2NSwxMjYwMjMyMjM5LDQwOTEzMjcwMjQsMzk2MDMwOTMzMCwzNDk3NTA5MzQ3LDE4MTQ4MDMyMjIsMjU3ODAxODQ4OSw0MTk1NDU2MDcyLDU3NTEzODE0OCwzMjk5NDA5MDM2LDQ0Njc1NDg3OSwzNjI5NTQ2Nzk2LDQwMTE5OTYwNDgsMzM0NzUzMjExMCwzMjUyMjM4NTQ1LDQyNzA2Mzk3NzgsOTE1OTg1NDE5LDM0ODM4MjU1MzcsNjgxOTMzNTM0LDY1MTg2ODA0NiwyNzU1NjM2NjcxLDM4MjgxMDM4MzcsMjIzMzc3NTU0LDI2MDc0Mzk4MjAsMTY0OTcwNDUxOCwzMjcwOTM3ODc1LDM5MDE4MDY3NzYsMTU4MDA4Nzc5OSw0MTE4OTg3Njk1LDMxOTgxMTUyMDAsMjA4NzMwOTQ1OSwyODQyNjc4NTczLDMwMTY2OTcxMDYsMTAwMzAwNzEyOSwyODAyODQ5OTE3LDE4NjA3MzgxNDcsMjA3Nzk2NTI0MywxNjQ0Mzk2NzIsNDEwMDg3MjQ3MiwzMjI4MzMxOSwyODI3MTc3ODgyLDE3MDk2MTAzNTAsMjEyNTEzNTg0NiwxMzY0Mjg3NTEsMzg3NDQyODM5MiwzNjUyOTA0ODU5LDM0NjA5ODQ2MzAsMzU3MjE0NTkyOSwzNTkzMDU2MzgwLDI5MzkyNjYyMjYsODI0ODUyMjU5LDgxODMyNDg4NCwzMjI0NzQwNDU0LDkzMDM2OTIxMiwyODAxNTY2NDEwLDI5Njc1MDcxNTIsMzU1NzA2ODQwLDEyNTczMDkzMzYsNDE0ODI5MjgyNiwyNDMyNTY2NTYsNzkwMDczODQ2LDIzNzMzNDA2MzAsMTI5NjI5NzkwNCwxNDIyNjk5MDg1LDM3NTYyOTk3ODAsMzgxODgzNjQwNSw0NTc5OTI4NDAsMzA5OTY2NzQ4NywyMTM1MzE5ODg5LDc3NDIyMzE0LDE1NjAzODI1MTcsMTk0NTc5ODUxNiw3ODgyMDQzNTMsMTUyMTcwNjc4MSwxMzg1MzU2MjQyLDg3MDkxMjA4NiwzMjU5NjUzODMsMjM1ODk1NzkyMSwyMDUwNDY2MDYwLDIzODgyNjA4ODQsMjMxMzg4NDQ3Niw0MDA2NTIxMTI3LDkwMTIxMDU2OSwzOTkwOTUzMTg5LDEwMTQ2NDY3MDUsMTUwMzQ0OTgyMywxMDYyNTk3MjM1LDIwMzE2MjEzMjYsMzIxMjAzNTg5NSwzOTMxMzcxNDY5LDE1MzMwMTc1MTQsMzUwMTc0NTc1LDIyNTYwMjg4OTEsMjE3NzU0NDE3OSwxMDUyMzM4MzcyLDc0MTg3Njc4OCwxNjA2NTkxMjk2LDE5MTQwNTIwMzUsMjEzNzA1MjUzLDIzMzQ2Njk4OTcsMTEwNzIzNDE5NywxODk5NjAzOTY5LDM3MjUwNjk0OTEsMjYzMTQ0Nzc4MCwyNDIyNDk0OTEzLDE2MzU1MDI5ODAsMTg5MzAyMDM0MiwxOTUwOTAzMzg4LDExMjA5NzQ5MzVdO3ZhciBUNz1bMjgwNzA1ODkzMiwxNjk5OTcwNjI1LDI3NjQyNDk2MjMsMTU4NjkwMzU5MSwxODA4NDgxMTk1LDExNzM0MzAxNzMsMTQ4NzY0NTk0Niw1OTk4NDg2Nyw0MTk5ODgyODAwLDE4NDQ4ODI4MDYsMTk4OTI0OTIyOCwxMjc3NTU1OTcwLDM2MjM2MzY5NjUsMzQxOTkxNTU2MiwxMTQ5MjQ5MDc3LDI3NDQxMDQyOTAsMTUxNDc5MDU3Nyw0NTk3NDQ2OTgsMjQ0ODYwMzk0LDMyMzU5OTUxMzQsMTk2MzExNTMxMSw0MDI3NzQ0NTg4LDI1NDQwNzgxNTAsNDE5MDUzMDUxNSwxNjA4OTc1MjQ3LDI2MjcwMTYwODIsMjA2MjI3MDMxNywxNTA3NDk3Mjk4LDIyMDA4MTg4NzgsNTY3NDk4ODY4LDE3NjQzMTM1NjgsMzM1OTkzNjIwMSwyMzA1NDU1NTU0LDIwMzc5NzAwNjIsMTA0NzIzOWUzLDE5MTAzMTkwMzMsMTMzNzM3NjQ4MSwyOTA0MDI3MjcyLDI4OTI0MTczMTIsOTg0OTA3MjE0LDEyNDMxMTI0MTUsODMwNjYxOTE0LDg2MTk2ODIwOSwyMTM1MjUzNTg3LDIwMTEyMTQxODAsMjkyNzkzNDMxNSwyNjg2MjU0NzIxLDczMTE4MzM2OCwxNzUwNjI2Mzc2LDQyNDYzMTA3MjUsMTgyMDgyNDc5OCw0MTcyNzYzNzcxLDM1NDIzMzAyMjcsNDgzOTQ4MjcsMjQwNDkwMTY2MywyODcxNjgyNjQ1LDY3MTU5MzE5NSwzMjU0OTg4NzI1LDIwNzM3MjQ2MTMsMTQ1MDg1MjM5LDIyODA3OTYyMDAsMjc3OTkxNTE5OSwxNzkwNTc1MTA3LDIxODcxMjgwODYsNDcyNjE1NjMxLDMwMjk1MTAwMDksNDA3NTg3NzEyNywzODAyMjIyMTg1LDQxMDcxMDE2NTgsMzIwMTYzMTc0OSwxNjQ2MjUyMzQwLDQyNzA1MDcxNzQsMTQwMjgxMTQzOCwxNDM2NTkwODM1LDM3NzgxNTE4MTgsMzk1MDM1NTcwMiwzOTYzMTYxNDc1LDQwMjA5MTIyMjQsMjY2Nzk5NDczNywyNzM3OTIzNjYsMjMzMTU5MDE3NywxMDQ2OTk2MTMsOTUzNDU5ODIsMzE3NTUwMTI4NiwyMzc3NDg2Njc2LDE1NjA2Mzc4OTIsMzU2NDA0NTMxOCwzNjkwNTc4NzIsNDIxMzQ0NzA2NCwzOTE5MDQyMjM3LDExMzc0Nzc5NTIsMjY1ODYyNTQ5NywxMTE5NzI3ODQ4LDIzNDA5NDc4NDksMTUzMDQ1NTgzMyw0MDA3MzYwOTY4LDE3MjQ2NjU1NiwyNjY5NTk5MzgsNTE2NTUyODM2LDAsMjI1NjczNDU5MiwzOTgwOTMxNjI3LDE4OTAzMjgwODEsMTkxNzc0MjE3MCw0Mjk0NzA0Mzk4LDk0NTE2NDE2NSwzNTc1NTI4ODc4LDk1ODg3MTA4NSwzNjQ3MjEyMDQ3LDI3ODcyMDcyNjAsMTQyMzAyMjkzOSw3NzU1NjIyOTQsMTczOTY1NjIwMiwzODc2NTU3NjU1LDI1MzAzOTEyNzgsMjQ0MzA1ODA3NSwzMzEwMzIxODU2LDU0NzUxMjc5NiwxMjY1MTk1NjM5LDQzNzY1NjU5NCwzMTIxMjc1NTM5LDcxOTcwMDEyOCwzNzYyNTAyNjkwLDM4Nzc4MTE0NywyMTg4MjgyOTcsMzM1MDA2NTgwMywyODMwNzA4MTUwLDI4NDg0NjE4NTQsNDI4MTY5MjAxLDEyMjQ2NjE2NSwzNzIwMDgxMDQ5LDE2MjcyMzUxOTksNjQ4MDE3NjY1LDQxMjI3NjIzNTQsMTAwMjc4Mzg0NiwyMTE3MzYwNjM1LDY5NTYzNDc1NSwzMzM2MzU4NjkxLDQyMzQ3MjEwMDUsNDA0OTg0NDQ1MiwzNzA0MjgwODgxLDIyMzI0MzUyOTksNTc0NjI0NjYzLDI4NzM0MzgxNCw2MTIyMDU4OTgsMTAzOTcxNzA1MSw4NDAwMTk3MDUsMjcwODMyNjE4NSw3OTM0NTE5MzQsODIxMjg4MTE0LDEzOTEyMDE2NzAsMzgyMjA5MDE3NywzNzYxODc4MjcsMzExMzg1NTM0NCwxMjI0MzQ4MDUyLDE2Nzk5NjgyMzMsMjM2MTY5ODU1NiwxMDU4NzA5NzQ0LDc1MjM3NTQyMSwyNDMxNTkwOTYzLDEzMjE2OTkxNDUsMzUxOTE0MjIwMCwyNzM0NTkxMTc4LDE4ODEyNzQ0NCwyMTc3ODY5NTU3LDM3MjcyMDU3NTQsMjM4NDkxMTAzMSwzMjE1MjEyNDYxLDI2NDg5NzY0NDIsMjQ1MDM0NjEwNCwzNDMyNzM3Mzc1LDExODA4NDkyNzgsMzMxNTQ0MjA1LDMxMDIyNDkxNzYsNDE1MDE0NDU2OSwyOTUyMTAyNTk1LDIxNTk5NzYyODUsMjQ3NDQwNDMwNCw3NjYwNzg5MzMsMzEzNzczODYxLDI1NzA4MzIwNDQsMjEwODEwMDYzMiwxNjY4MjEyODkyLDMxNDU0NTY0NDMsMjAxMzkwODI2Miw0MTg2NzIyMTcsMzA3MDM1NjYzNCwyNTk0NzM0OTI3LDE4NTIxNzE5MjUsMzg2NzA2MDk5MSwzNDczNDE2NjM2LDM5MDc0NDg1OTcsMjYxNDczNzYzOSw5MTk0ODkxMzUsMTY0OTQ4NjM5LDIwOTQ0MTAxNjAsMjk5NzgyNTk1Niw1OTA0MjQ2MzksMjQ4NjIyNDU0OSwxNzIzODcyNjc0LDMxNTc3NTA4NjIsMzM5OTk0MTI1MCwzNTAxMjUyNzUyLDM2MjUyNjgxMzUsMjU1NTA0ODE5NiwzNjczNjM3MzU2LDEzNDMxMjc1MDEsNDEzMDI4MTM2MSwzNTk5NTk1MDg1LDI5NTc4NTM2NzksMTI5NzQwMzA1MCw4MTc4MTkxMCwzMDUxNTkzNDI1LDIyODM0OTA0MTAsNTMyMjAxNzcyLDEzNjcyOTU1ODksMzkyNjE3MDk3NCw4OTUyODc2OTIsMTk1Mzc1NzgzMSwxMDkzNTk3OTYzLDQ5MjQ4MzQzMSwzNTI4NjI2OTA3LDE0NDYyNDI1NzYsMTE5MjQ1NTYzOCwxNjM2NjA0NjMxLDIwOTMzNjIyNSwzNDQ4NzM0NjQsMTAxNTY3MTU3MSw2Njk5NjE4OTcsMzM3NTc0MDc2OSwzODU3NTcyMTI0LDI5NzM1MzA2OTUsMzc0NzE5MjAxOCwxOTMzNTMwNjEwLDM0NjQwNDI1MTYsOTM1MjkzODk1LDM0NTQ2ODYxOTksMjg1ODExNTA2OSwxODYzNjM4ODQ1LDM2ODMwMjI5MTYsNDA4NTM2OTUxOSwzMjkyNDQ1MDMyLDg3NTMxMzE4OCwxMDgwMDE3NTcxLDMyNzkwMzM4ODUsNjIxNTkxNzc4LDEyMzM4NTY1NzIsMjUwNDEzMDMxNywyNDE5NzU0NCwzMDE3NjcyNzE2LDM4MzU0ODQzNDAsMzI0NzQ2NTU1OCwyMjIwOTgxMTk1LDMwNjA4NDc5MjIsMTU1MTEyNDU4OCwxNDYzOTk2NjAwXTt2YXIgVDg9WzQxMDQ2MDU3NzcsMTA5NzE1OTU1MCwzOTY2NzM4MTgsNjYwNTEwMjY2LDI4NzU5NjgzMTUsMjYzODYwNjYyMyw0MjAwMTE1MTE2LDM4MDg2NjIzNDcsODIxNzEyMTYwLDE5ODY5MTgwNjEsMzQzMDMyMjU2OCwzODU0NDg4NSwzODU2MTM3Mjk1LDcxODAwMjExNyw4OTM2ODE3MDIsMTY1NDg4NjMyNSwyOTc1NDg0MzgyLDMxMjIzNTgwNTMsMzkyNjgyNTAyOSw0Mjc0MDUzNDY5LDc5NjE5NzU3MSwxMjkwODAxNzkzLDExODQzNDI5MjUsMzU1NjM2MTgzNSwyNDA1NDI2OTQ3LDI0NTk3MzUzMTcsMTgzNjc3MjI4NywxMzgxNjIwMzczLDMxOTYyNjc5ODgsMTk0ODM3Mzg0OCwzNzY0OTg4MjMzLDMzODUzNDUxNjYsMzI2Mzc4NTU4OSwyMzkwMzI1NDkyLDE0ODA0ODU3ODUsMzExMTI0NzE0MywzNzgwMDk3NzI2LDIyOTMwNDUyMzIsNTQ4MTY5NDE3LDM0NTk5NTM3ODksMzc0NjE3NTA3NSw0Mzk0NTIzODksMTM2MjMyMTU1OSwxNDAwODQ5NzYyLDE2ODU1Nzc5MDUsMTgwNjU5OTM1NSwyMTc0NzU0MDQ2LDEzNzA3MzkxMywxMjE0Nzk3OTM2LDExNzQyMTUwNTUsMzczMTY1NDU0OCwyMDc5ODk3NDI2LDE5NDMyMTcwNjcsMTI1ODQ4MDI0Miw1Mjk0ODc4NDMsMTQzNzI4MDg3MCwzOTQ1MjY5MTcwLDMwNDkzOTA4OTUsMzMxMzIxMjAzOCw5MjMzMTM2MTksNjc5OTk4ZTMsMzIxNTMwNzI5OSw1NzMyNjA4MiwzNzc2NDIyMjEsMzQ3NDcyOTg2NiwyMDQxODc3MTU5LDEzMzM2MTkwNywxNzc2NDYwMTEwLDM2NzM0NzY0NTMsOTYzOTI0NTQsODc4ODQ1OTA1LDI4MDE2OTk1MjQsNzc3MjMxNjY4LDQwODI0NzUxNzAsMjMzMDAxNDIxMyw0MTQyNjI2MjEyLDIyMTMyOTYzOTUsMTYyNjMxOTQyNCwxOTA2MjQ3MjYyLDE4NDY1NjMyNjEsNTYyNzU1OTAyLDM3MDgxNzM3MTgsMTA0MDU1OTgzNywzODcxMTYzOTgxLDE0MTg1NzMyMDEsMzI5NDQzMDU3NywxMTQ1ODUzNDgsMTM0MzYxODkxMiwyNTY2NTk1NjA5LDMxODYyMDI1ODIsMTA3ODE4NTA5NywzNjUxMDQxMTI3LDM4OTY2ODgwNDgsMjMwNzYyMjkxOSw0MjU0MDg3NDMsMzM3MTA5Njk1MywyMDgxMDQ4NDgxLDExMDgzMzkwNjgsMjIxNjYxMDI5NiwwLDIxNTYyOTkwMTcsNzM2OTcwODAyLDI5MjU5Njc2NiwxNTE3NDQwNjIwLDI1MTY1NzIxMywyMjM1MDYxNzc1LDI5MzMyMDI0OTMsNzU4NzIwMzEwLDI2NTkwNTE2MiwxNTU0MzkxNDAwLDE1MzIyODUzMzksOTA4OTk5MjA0LDE3NDU2NzY5MiwxNDc0NzYwNTk1LDQwMDI4NjE3NDgsMjYxMDAxMTY3NSwzMjM0MTU2NDE2LDM2OTMxMjYyNDEsMjAwMTQzMDg3NCwzMDM2OTk0ODQsMjQ3ODQ0MzIzNCwyNjg3MTY1ODg4LDU4NTEyMjYyMCw0NTQ0OTk2MDIsMTUxODQ5NzQyLDIzNDUxMTkyMTgsMzA2NDUxMDc2NSw1MTQ0NDMyODQsNDA0NDk4MTU5MSwxOTYzNDEyNjU1LDI1ODE0NDU2MTQsMjEzNzA2MjgxOSwxOTMwODUzNSwxOTI4NzA3MTY0LDE3MTUxOTMxNTYsNDIxOTM1MjE1NSwxMTI2NzkwNzk1LDYwMDIzNTIxMSwzOTkyNzQyMDcwLDM4NDEwMjQ5NTIsODM2NTUzNDMxLDE2Njk2NjQ4MzQsMjUzNTYwNDI0MywzMzIzMDExMjA0LDEyNDM5MDU0MTMsMzE0MTQwMDc4Niw0MTgwODA4MTEwLDY5ODQ0NTI1NSwyNjUzODk5NTQ5LDI5ODk1NTI2MDQsMjI1MzU4MTMyNSwzMjUyOTMyNzI3LDMwMDQ1OTExNDcsMTg5MTIxMTY4OSwyNDg3ODEwNTc3LDM5MTU2NTM3MDMsNDIzNzA4MzgxNiw0MDMwNjY3NDI0LDIxMDAwOTA5NjYsODY1MTM2NDE4LDEyMjk4OTk2NTUsOTUzMjcwNzQ1LDMzOTk2Nzk2MjgsMzU1NzUwNDY2NCw0MTE4OTI1MjIyLDIwNjEzNzk3NDksMzA3OTU0NjU4NiwyOTE1MDE3NzkxLDk4MzQyNjA5MiwyMDIyODM3NTg0LDE2MDcyNDQ2NTAsMjExODU0MTkwOCwyMzY2ODgyNTUwLDM2MzU5OTY4MTYsOTcyNTEyODE0LDMyODMwODg3NzAsMTU2ODcxODQ5NSwzNDk5MzI2NTY5LDM1NzY1Mzk1MDMsNjIxOTgyNjcxLDI4OTU3MjM0NjQsNDEwODg3OTUyLDI2MjM3NjIxNTIsMTAwMjE0MjY4Myw2NDU0MDEwMzcsMTQ5NDgwNzY2MiwyNTk1Njg0ODQ0LDEzMzU1MzU3NDcsMjUwNzA0MDIzMCw0MjkzMjk1Nzg2LDMxNjc2ODQ2NDEsMzY3NTg1MDA3LDM4ODU3NTA3MTQsMTg2NTg2MjczMCwyNjY4MjIxNjc0LDI5NjA5NzEzMDUsMjc2MzE3MzY4MSwxMDU5MjcwOTU0LDI3Nzc5NTI0NTQsMjcyNDY0Mjg2OSwxMzIwOTU3ODEyLDIxOTQzMTkxMDAsMjQyOTU5NTg3MiwyODE1OTU2Mjc1LDc3MDg5NTIxLDM5NzM3NzMxMjEsMzQ0NDU3NTg3MSwyNDQ4ODMwMjMxLDEzMDU5MDY1NTAsNDAyMTMwODczOSwyODU3MTk0NzAwLDI1MTY5MDE4NjAsMzUxODM1ODQzMCwxNzg3MzA0NzgwLDc0MDI3NjQxNywxNjk5ODM5ODE0LDE1OTIzOTQ5MDksMjM1MjMwNzQ1NywyMjcyNTU2MDI2LDE4ODgyMTI0MywxNzI5OTc3MDExLDM2ODc5OTQwMDIsMjc0MDg0ODQxLDM1OTQ5ODIyNTMsMzYxMzQ5NDQyNiwyNzAxOTQ5NDk1LDQxNjIwOTY3MjksMzIyNzM0NTcxLDI4Mzc5NjY1NDIsMTY0MDU3NjQzOSw0ODQ4MzA2ODksMTIwMjc5NzY5MCwzNTM3ODUyODI4LDQwNjc2MzkxMjUsMzQ5MDc1NzM2LDMzNDIzMTk0NzUsNDE1NzQ2NzIxOSw0MjU1ODAwMTU5LDEwMzA2OTAwMTUsMTE1NTIzNzQ5NiwyOTUxOTcxMjc0LDE3NTc2OTE1NzcsNjA3Mzk4OTY4LDI3Mzg5MDUwMjYsNDk5MzQ3OTkwLDM3OTQwNzg5MDgsMTAxMTQ1MjcxMiwyMjc4ODU1NjcsMjgxODY2NjgwOSwyMTMxMTQzNzYsMzAzNDg4MTI0MCwxNDU1NTI1OTg4LDM0MTQ0NTA1NTUsODUwODE3MjM3LDE4MTc5OTg0MDgsMzA5MjcyNjQ4MF07dmFyIFUxPVswLDIzNTQ3NDE4Nyw0NzA5NDgzNzQsMzAzNzY1Mjc3LDk0MTg5Njc0OCw5MDg5MzM0MTUsNjA3NTMwNTU0LDcwODc4MDg0OSwxODgzNzkzNDk2LDIxMTgyMTQ5OTUsMTgxNzg2NjgzMCwxNjQ5NjM5MjM3LDEyMTUwNjExMDgsMTE4MTA0NTExOSwxNDE3NTYxNjk4LDE1MTc3Njc1MjksMzc2NzU4Njk5Miw0MDAzMDYxMTc5LDQyMzY0Mjk5OTAsNDA2OTI0Njg5MywzNjM1NzMzNjYwLDM2MDI3NzAzMjcsMzI5OTI3ODQ3NCwzNDAwNTI4NzY5LDI0MzAxMjIyMTYsMjY2NDU0MzcxNSwyMzYyMDkwMjM4LDIxOTM4NjI2NDUsMjgzNTEyMzM5NiwyODAxMTA3NDA3LDMwMzU1MzUwNTgsMzEzNTc0MDg4OSwzNjc4MTI0OTIzLDM1NzY4NzA1MTIsMzM0MTM5NDI4NSwzMzc0MzYxNzAyLDM4MTA0OTYzNDMsMzk3NzY3NTM1Niw0Mjc5MDgwMjU3LDQwNDM2MTAxODYsMjg3NjQ5NDYyNywyNzc2MjkyOTA0LDMwNzY2MzkwMjksMzExMDY1MDk0MiwyNDcyMDExNTM1LDI2NDAyNDMyMDQsMjQwMzcyODY2NSwyMTY5MzAzMDU4LDEwMDEwODk5OTUsODk5ODM1NTg0LDY2NjQ2NDczMyw2OTk0MzIxNTAsNTk3Mjc4NDcsMjI2OTA2ODYwLDUzMDQwMDc1MywyOTQ5MzA2ODIsMTI3MzE2ODc4NywxMTcyOTY3MDY0LDE0NzU0MTg1MDEsMTUwOTQzMDQxNCwxOTQyNDM1Nzc1LDIxMTA2Njc0NDQsMTg3NjI0MTgzMywxNjQxODE2MjI2LDI5MTAyMTk3NjYsMjc0MzAzNDEwOSwyOTc2MTUxNTIwLDMyMTE2MjMxNDcsMjUwNTIwMjEzOCwyNjA2NDUzOTY5LDIzMDI2OTAyNTIsMjI2OTcyODQ1NSwzNzExODI5NDIyLDM1NDM1OTkyNjksMzI0MDg5NDM5MiwzNDc1MzEzMzMxLDM4NDM2OTkwNzQsMzk0MzkwNjQ0MSw0MTc4MDYyMjI4LDQxNDQwNDc3NzUsMTMwNjk2NzM2NiwxMTM5NzgxNzA5LDEzNzQ5ODgxMTIsMTYxMDQ1OTczOSwxOTc1NjgzNDM0LDIwNzY5MzUyNjUsMTc3NTI3NjkyNCwxNzQyMzE1MTI3LDEwMzQ4Njc5OTgsODY2NjM3ODQ1LDU2NjAyMTg5Niw4MDA0NDA4MzUsOTI5ODc2OTgsMTkzMTk1MDY1LDQyOTQ1NjE2NCwzOTU0NDE3MTEsMTk4NDgxMjY4NSwyMDE3Nzc4NTY2LDE3ODQ2NjMxOTUsMTY4MzQwNzI0OCwxMzE1NTYyMTQ1LDEwODAwOTQ2MzQsMTM4Mzg1NjMxMSwxNTUxMDM3ODg0LDEwMTAzOTgyOSwxMzUwNTAyMDYsNDM3NzU3MTIzLDMzNzU1Mzg2NCwxMDQyMzg1NjU3LDgwNzk2MjYxMCw1NzM4MDQ3ODMsNzQyMDM5MDEyLDI1MzEwNjc0NTMsMjU2NDAzMzMzNCwyMzI4ODI4OTcxLDIyMjc1NzMwMjQsMjkzNTU2Njg2NSwyNzAwMDk5MzU0LDMwMDE3NTU2NTUsMzE2ODkzNzIyOCwzODY4NTUyODA1LDM5MDI1NjMxODIsNDIwMzE4MTE3MSw0MTAyOTc3OTEyLDM3MzYxNjQ5MzcsMzUwMTc0MTg5MCwzMjY1NDc4NzUxLDM0MzM3MTI5ODAsMTEwNjA0MTU5MSwxMzQwNDYzMTAwLDE1NzY5NzY2MDksMTQwODc0OTAzNCwyMDQzMjExNDgzLDIwMDkxOTU0NzIsMTcwODg0ODMzMywxODA5MDU0MTUwLDgzMjg3NzIzMSwxMDY4MzUxMzk2LDc2Njk0NTQ2NSw1OTk3NjIzNTQsMTU5NDE3OTg3LDEyNjQ1NDY2NCwzNjE5Mjk4NzcsNDYzMTgwMTkwLDI3MDkyNjA4NzEsMjk0MzY4MjM4MCwzMTc4MTA2OTYxLDMwMDk4NzkzODYsMjU3MjY5NzE5NSwyNTM4NjgxMTg0LDIyMzYyMjg3MzMsMjMzNjQzNDU1MCwzNTA5ODcxMTM1LDM3NDUzNDUzMDAsMzQ0MTg1MDM3NywzMjc0NjY3MjY2LDM5MTAxNjE5NzEsMzg3NzE5ODY0OCw0MTEwNTY4NDg1LDQyMTE4MTg3OTgsMjU5NzgwNjQ3NiwyNDk3NjA0NzQzLDIyNjEwODkxNzgsMjI5NTEwMTA3MywyNzMzODU2MTYwLDI5MDIwODc4NTEsMzIwMjQzNzA0NiwyOTY4MDExNDUzLDM5MzYyOTEyODQsMzgzNTAzNjg5NSw0MTM2NDQwNzcwLDQxNjk0MDgyMDEsMzUzNTQ4NjQ1NiwzNzAyNjY1NDU5LDM0NjcxOTIzMDIsMzIzMTcyMjIxMywyMDUxNTE4NzgwLDE5NTEzMTcwNDcsMTcxNjg5MDQxMCwxNzUwOTAyMzA1LDExMTM4MTgzODQsMTI4MjA1MDA3NSwxNTg0NTA0NTgyLDEzNTAwNzg5ODksMTY4ODEwODUyLDY3NTU2NDYzLDM3MTA0OTMzMCw0MDQwMTY3NjEsODQxNzM5NTkyLDEwMDg5MTg1OTUsNzc1NTUwODE0LDU0MDA4MDcyNSwzOTY5NTYyMzY5LDM4MDEzMzIyMzQsNDAzNTQ4OTA0Nyw0MjY5OTA3OTk2LDM1NjkyNTUyMTMsMzY2OTQ2MjU2NiwzMzY2NzU0NjE5LDMzMzI3NDAxNDQsMjYzMTA2NTQzMywyNDYzODc5NzYyLDIxNjAxMTcwNzEsMjM5NTU4ODY3NiwyNzY3NjQ1NTU3LDI4Njg4OTc0MDYsMzEwMjAxMTc0NywzMDY5MDQ5OTYwLDIwMjAwODQ5NywzMzc3ODM2MiwyNzAwNDA0ODcsNTA0NDU5NDM2LDg3NTQ1MTI5Myw5NzU2NTg2NDYsNjc1MDM5NjI3LDY0MTAyNTE1MiwyMDg0NzA0MjMzLDE5MTc1MTg1NjIsMTYxNTg2MTI0NywxODUxMzMyODUyLDExNDc1NTA2NjEsMTI0ODgwMjUxMCwxNDg0MDA1ODQzLDE0NTEwNDQwNTYsOTMzMzAxMzcwLDk2NzMxMTcyOSw3MzMxNTY5NzIsNjMyOTUzNzAzLDI2MDM4ODk1MCwyNTk2NTkxNywzMjg2NzE4MDgsNDk2OTA2MDU5LDEyMDY0Nzc4NTgsMTIzOTQ0Mzc1MywxNTQzMjA4NTAwLDE0NDE5NTI1NzUsMjE0NDE2MTgwNiwxOTA4Njk0Mjc3LDE2NzU1Nzc4ODAsMTg0Mjc1OTQ0MywzNjEwMzY5MjI2LDM2NDQzNzk1ODUsMzQwODExOTUxNiwzMzA3OTE2MjQ3LDQwMTExOTA1MDIsMzc3Njc2NzQ2OSw0MDc3Mzg0NDMyLDQyNDU2MTg2ODMsMjgwOTc3MTE1NCwyODQyNzM3MDQ5LDMxNDQzOTY0MjAsMzA0MzE0MDQ5NSwyNjczNzA1MTUwLDI0MzgyMzc2MjEsMjIwMzAzMjIzMiwyMzcwMjEzNzk1XTt2YXIgVTI9WzAsMTg1NDY5MTk3LDM3MDkzODM5NCw0ODc3MjU4NDcsNzQxODc2Nzg4LDY1Nzg2MTk0NSw5NzU0NTE2OTQsODI0ODUyMjU5LDE0ODM3NTM1NzYsMTQwMDc4MzIwNSwxMzE1NzIzODkwLDExNjQwNzE4MDcsMTk1MDkwMzM4OCwyMTM1MzE5ODg5LDE2NDk3MDQ1MTgsMTc2NzUzNjQ1OSwyOTY3NTA3MTUyLDMxNTI5NzYzNDksMjgwMTU2NjQxMCwyOTE4MzUzODYzLDI2MzE0NDc3ODAsMjU0NzQzMjkzNywyMzI4MTQzNjE0LDIxNzc1NDQxNzksMzkwMTgwNjc3NiwzODE4ODM2NDA1LDQyNzA2Mzk3NzgsNDExODk4NzY5NSwzMjk5NDA5MDM2LDM0ODM4MjU1MzcsMzUzNTA3MjkxOCwzNjUyOTA0ODU5LDIwNzc5NjUyNDMsMTg5MzAyMDM0MiwxODQxNzY4ODY1LDE3MjQ0NTcxMzIsMTQ3NDUwMjU0MywxNTU5MDQxNjY2LDExMDcyMzQxOTcsMTI1NzMwOTMzNiw1OTg0Mzg4NjcsNjgxOTMzNTM0LDkwMTIxMDU2OSwxMDUyMzM4MzcyLDI2MTMxNDUzNSw3NzQyMjMxNCw0Mjg4MTk5NjUsMzEwNDYzNzI4LDM0MDk2ODUzNTUsMzIyNDc0MDQ1NCwzNzEwMzY4MTEzLDM1OTMwNTYzODAsMzg3NTc3MDIwNywzOTYwMzA5MzMwLDQwNDUzODA5MzMsNDE5NTQ1NjA3MiwyNDcxMjI0MDY3LDI1NTQ3MTg3MzQsMjIzNzEzMzA4MSwyMzg4MjYwODg0LDMyMTIwMzU4OTUsMzAyODE0MzY3NCwyODQyNjc4NTczLDI3MjQzMjIzMzYsNDEzODU2MzE4MSw0MjU1MzUwNjI0LDM3Njk3MjE5NzUsMzk1NTE5MTE2MiwzNjY3MjE5MDMzLDM1MTY2MTk2MDQsMzQzMTU0Njk0NywzMzQ3NTMyMTEwLDI5MzM3MzQ5MTcsMjc4MjA4MjgyNCwzMDk5NjY3NDg3LDMwMTY2OTcxMDYsMjE5NjA1MjUyOSwyMzEzODg0NDc2LDI0OTkzNDg1MjMsMjY4Mzc2NTAzMCwxMTc5NTEwNDYxLDEyOTYyOTc5MDQsMTM0NzU0ODMyNywxNTMzMDE3NTE0LDE3ODYxMDI0MDksMTYzNTUwMjk4MCwyMDg3MzA5NDU5LDIwMDMyOTQ2MjIsNTA3MzU4OTMzLDM1NTcwNjg0MCwxMzY0Mjg3NTEsNTM0NTgzNzAsODM5MjI0MDMzLDk1NzA1NTk4MCw2MDU2NTczMzksNzkwMDczODQ2LDIzNzMzNDA2MzAsMjI1NjAyODg5MSwyNjA3NDM5ODIwLDI0MjI0OTQ5MTMsMjcwNjI3MDY5MCwyODU2MzQ1ODM5LDMwNzU2MzYyMTYsMzE2MDE3NTM0OSwzNTczOTQxNjk0LDM3MjUwNjk0OTEsMzI3MzI2NzEwOCwzMzU2NzYxNzY5LDQxODE1OTg2MDIsNDA2MzI0MjM3NSw0MDExOTk2MDQ4LDM4MjgxMDM4MzcsMTAzMzI5NzE1OCw5MTU5ODU0MTksNzMwNTE3Mjc2LDU0NTU3MjM2OSwyOTY2Nzk3MzAsNDQ2NzU0ODc5LDEyOTE2NjEyMCwyMTM3MDUyNTMsMTcwOTYxMDM1MCwxODYwNzM4MTQ3LDE5NDU3OTg1MTYsMjAyOTI5MzE3NywxMjM5MzMxMTYyLDExMjA5NzQ5MzUsMTYwNjU5MTI5NiwxNDIyNjk5MDg1LDQxNDgyOTI4MjYsNDIzMzA5NDYxNSwzNzgxMDMzNjY0LDM5MzEzNzE0NjksMzY4MjE5MTU5OCwzNDk3NTA5MzQ3LDM0NDYwMDQ0NjgsMzMyODk1NTM4NSwyOTM5MjY2MjI2LDI3NTU2MzY2NzEsMzEwNjc4MDg0MCwyOTg4Njg3MjY5LDIxOTg0MzgwMjIsMjI4MjE5NTMzOSwyNTAxMjE4OTcyLDI2NTI2MDk0MjUsMTIwMTc2NTM4NiwxMjg2NTY3MTc1LDEzNzEzNjg5NzYsMTUyMTcwNjc4MSwxODA1MjExNzEwLDE2MjA1Mjk0NTksMjEwNTg4NzI2OCwxOTg4ODM4MTg1LDUzMzgwNDEzMCwzNTAxNzQ1NzUsMTY0NDM5NjcyLDQ2MzQ2MTAxLDg3MDkxMjA4Niw5NTQ2Njk0MDMsNjM2ODEzOTAwLDc4ODIwNDM1MywyMzU4OTU3OTIxLDIyNzQ2ODA0MjgsMjU5MjUyMzY0MywyNDQxNjYxNTU4LDI2OTUwMzM2ODUsMjg4MDI0MDIxNiwzMDY1OTYyODMxLDMxODI0ODc2MTgsMzU3MjE0NTkyOSwzNzU2Mjk5NzgwLDMyNzA5Mzc4NzUsMzM4ODUwNzE2Niw0MTc0NTYwMDYxLDQwOTEzMjcwMjQsNDAwNjUyMTEyNywzODU0NjA2Mzc4LDEwMTQ2NDY3MDUsOTMwMzY5MjEyLDcxMTM0OTY3NSw1NjA0ODc1OTAsMjcyNzg2MzA5LDQ1Nzk5Mjg0MCwxMDY4NTI3NjcsMjIzMzc3NTU0LDE2NzgzODEwMTcsMTg2MjUzNDg2OCwxOTE0MDUyMDM1LDIwMzE2MjEzMjYsMTIxMTI0NzU5NywxMTI4MDE0NTYwLDE1ODAwODc3OTksMTQyODE3MzA1MCwzMjI4MzMxOSwxODI2MjExMTQsNDAxNjM5NTk3LDQ4NjQ0MTM3Niw3Njg5MTcxMjMsNjUxODY4MDQ2LDEwMDMwMDcxMjksODE4MzI0ODg0LDE1MDM0NDk4MjMsMTM4NTM1NjI0MiwxMzMzODM4MDIxLDExNTAyMDg0NTYsMTk3Mzc0NTM4NywyMTI1MTM1ODQ2LDE2NzMwNjE2MTcsMTc1NjgxODk0MCwyOTcwMzU2MzI3LDMxMjA2OTQxMjIsMjgwMjg0OTkxNywyODg3NjUxNjk2LDI2Mzc0NDI2NDMsMjUyMDM5MzU2NiwyMzM0NjY5ODk3LDIxNDk5ODc2NTIsMzkxNzIzNDcwMywzNzk5MTQxMTIyLDQyODQ1MDIwMzcsNDEwMDg3MjQ3MiwzMzA5NTk0MTcxLDM0NjA5ODQ2MzAsMzU0NTc4OTQ3MywzNjI5NTQ2Nzk2LDIwNTA0NjYwNjAsMTg5OTYwMzk2OSwxODE0ODAzMjIyLDE3MzA1MjU3MjMsMTQ0Mzg1NzcyMCwxNTYwMzgyNTE3LDEwNzUwMjU2OTgsMTI2MDIzMjIzOSw1NzUxMzgxNDgsNjkyNzA3NDMzLDg3ODQ0MzM5MCwxMDYyNTk3MjM1LDI0MzI1NjY1Niw5MTM0MTkxNyw0MDkxOTg0MTAsMzI1OTY1MzgzLDM0MDMxMDA2MzYsMzI1MjIzODU0NSwzNzA0MzAwNDg2LDM2MjAwMjI5ODcsMzg3NDQyODM5MiwzOTkwOTUzMTg5LDQwNDI0NTkxMjIsNDIyNzY2NTY2MywyNDYwNDQ5MjA0LDI1NzgwMTg0ODksMjIyNjg3NTMxMCwyNDExMDI5MTU1LDMxOTgxMTUyMDAsMzA0NjIwMDQ2MSwyODI3MTc3ODgyLDI3NDM5NDQ4NTVdO3ZhciBVMz1bMCwyMTg4MjgyOTcsNDM3NjU2NTk0LDM4Nzc4MTE0Nyw4NzUzMTMxODgsOTU4ODcxMDg1LDc3NTU2MjI5NCw1OTA0MjQ2MzksMTc1MDYyNjM3NiwxNjk5OTcwNjI1LDE5MTc3NDIxNzAsMjEzNTI1MzU4NywxNTUxMTI0NTg4LDEzNjcyOTU1ODksMTE4MDg0OTI3OCwxMjY1MTk1NjM5LDM1MDEyNTI3NTIsMzcyMDA4MTA0OSwzMzk5OTQxMjUwLDMzNTAwNjU4MDMsMzgzNTQ4NDM0MCwzOTE5MDQyMjM3LDQyNzA1MDcxNzQsNDA4NTM2OTUxOSwzMTAyMjQ5MTc2LDMwNTE1OTM0MjUsMjczNDU5MTE3OCwyOTUyMTAyNTk1LDIzNjE2OTg1NTYsMjE3Nzg2OTU1NywyNTMwMzkxMjc4LDI2MTQ3Mzc2MzksMzE0NTQ1NjQ0MywzMDYwODQ3OTIyLDI3MDgzMjYxODUsMjg5MjQxNzMxMiwyNDA0OTAxNjYzLDIxODcxMjgwODYsMjUwNDEzMDMxNywyNTU1MDQ4MTk2LDM1NDIzMzAyMjcsMzcyNzIwNTc1NCwzMzc1NzQwNzY5LDMyOTI0NDUwMzIsMzg3NjU1NzY1NSwzOTI2MTcwOTc0LDQyNDYzMTA3MjUsNDAyNzc0NDU4OCwxODA4NDgxMTk1LDE3MjM4NzI2NzQsMTkxMDMxOTAzMywyMDk0NDEwMTYwLDE2MDg5NzUyNDcsMTM5MTIwMTY3MCwxMTczNDMwMTczLDEyMjQzNDgwNTIsNTk5ODQ4NjcsMjQ0ODYwMzk0LDQyODE2OTIwMSwzNDQ4NzM0NjQsOTM1MjkzODk1LDk4NDkwNzIxNCw3NjYwNzg5MzMsNTQ3NTEyNzk2LDE4NDQ4ODI4MDYsMTYyNzIzNTE5OSwyMDExMjE0MTgwLDIwNjIyNzAzMTcsMTUwNzQ5NzI5OCwxNDIzMDIyOTM5LDExMzc0Nzc5NTIsMTMyMTY5OTE0NSw5NTM0NTk4MiwxNDUwODUyMzksNTMyMjAxNzcyLDMxMzc3Mzg2MSw4MzA2NjE5MTQsMTAxNTY3MTU3MSw3MzExODMzNjgsNjQ4MDE3NjY1LDMxNzU1MDEyODYsMjk1Nzg1MzY3OSwyODA3MDU4OTMyLDI4NTgxMTUwNjksMjMwNTQ1NTU1NCwyMjIwOTgxMTk1LDI0NzQ0MDQzMDQsMjY1ODYyNTQ5NywzNTc1NTI4ODc4LDM2MjUyNjgxMzUsMzQ3MzQxNjYzNiwzMjU0OTg4NzI1LDM3NzgxNTE4MTgsMzk2MzE2MTQ3NSw0MjEzNDQ3MDY0LDQxMzAyODEzNjEsMzU5OTU5NTA4NSwzNjgzMDIyOTE2LDM0MzI3MzczNzUsMzI0NzQ2NTU1OCwzODAyMjIyMTg1LDQwMjA5MTIyMjQsNDE3Mjc2Mzc3MSw0MTIyNzYyMzU0LDMyMDE2MzE3NDksMzAxNzY3MjcxNiwyNzY0MjQ5NjIzLDI4NDg0NjE4NTQsMjMzMTU5MDE3NywyMjgwNzk2MjAwLDI0MzE1OTA5NjMsMjY0ODk3NjQ0MiwxMDQ2OTk2MTMsMTg4MTI3NDQ0LDQ3MjYxNTYzMSwyODczNDM4MTQsODQwMDE5NzA1LDEwNTg3MDk3NDQsNjcxNTkzMTk1LDYyMTU5MTc3OCwxODUyMTcxOTI1LDE2NjgyMTI4OTIsMTk1Mzc1NzgzMSwyMDM3OTcwMDYyLDE1MTQ3OTA1NzcsMTQ2Mzk5NjYwMCwxMDgwMDE3NTcxLDEyOTc0MDMwNTAsMzY3MzYzNzM1NiwzNjIzNjM2OTY1LDMyMzU5OTUxMzQsMzQ1NDY4NjE5OSw0MDA3MzYwOTY4LDM4MjIwOTAxNzcsNDEwNzEwMTY1OCw0MTkwNTMwNTE1LDI5OTc4MjU5NTYsMzIxNTIxMjQ2MSwyODMwNzA4MTUwLDI3Nzk5MTUxOTksMjI1NjczNDU5MiwyMzQwOTQ3ODQ5LDI2MjcwMTYwODIsMjQ0MzA1ODA3NSwxNzI0NjY1NTYsMTIyNDY2MTY1LDI3Mzc5MjM2Niw0OTI0ODM0MzEsMTA0NzIzOWUzLDg2MTk2ODIwOSw2MTIyMDU4OTgsNjk1NjM0NzU1LDE2NDYyNTIzNDAsMTg2MzYzODg0NSwyMDEzOTA4MjYyLDE5NjMxMTUzMTEsMTQ0NjI0MjU3NiwxNTMwNDU1ODMzLDEyNzc1NTU5NzAsMTA5MzU5Nzk2MywxNjM2NjA0NjMxLDE4MjA4MjQ3OTgsMjA3MzcyNDYxMywxOTg5MjQ5MjI4LDE0MzY1OTA4MzUsMTQ4NzY0NTk0NiwxMzM3Mzc2NDgxLDExMTk3Mjc4NDgsMTY0OTQ4NjM5LDgxNzgxOTEwLDMzMTU0NDIwNSw1MTY1NTI4MzYsMTAzOTcxNzA1MSw4MjEyODgxMTQsNjY5OTYxODk3LDcxOTcwMDEyOCwyOTczNTMwNjk1LDMxNTc3NTA4NjIsMjg3MTY4MjY0NSwyNzg3MjA3MjYwLDIyMzI0MzUyOTksMjI4MzQ5MDQxMCwyNjY3OTk0NzM3LDI0NTAzNDYxMDQsMzY0NzIxMjA0NywzNTY0MDQ1MzE4LDMyNzkwMzM4ODUsMzQ2NDA0MjUxNiwzOTgwOTMxNjI3LDM3NjI1MDI2OTAsNDE1MDE0NDU2OSw0MTk5ODgyODAwLDMwNzAzNTY2MzQsMzEyMTI3NTUzOSwyOTA0MDI3MjcyLDI2ODYyNTQ3MjEsMjIwMDgxODg3OCwyMzg0OTExMDMxLDI1NzA4MzIwNDQsMjQ4NjIyNDU0OSwzNzQ3MTkyMDE4LDM1Mjg2MjY5MDcsMzMxMDMyMTg1NiwzMzU5OTM2MjAxLDM5NTAzNTU3MDIsMzg2NzA2MDk5MSw0MDQ5ODQ0NDUyLDQyMzQ3MjEwMDUsMTczOTY1NjIwMiwxNzkwNTc1MTA3LDIxMDgxMDA2MzIsMTg5MDMyODA4MSwxNDAyODExNDM4LDE1ODY5MDM1OTEsMTIzMzg1NjU3MiwxMTQ5MjQ5MDc3LDI2Njk1OTkzOCw0ODM5NDgyNywzNjkwNTc4NzIsNDE4NjcyMjE3LDEwMDI3ODM4NDYsOTE5NDg5MTM1LDU2NzQ5ODg2OCw3NTIzNzU0MjEsMjA5MzM2MjI1LDI0MTk3NTQ0LDM3NjE4NzgyNyw0NTk3NDQ2OTgsOTQ1MTY0MTY1LDg5NTI4NzY5Miw1NzQ2MjQ2NjMsNzkzNDUxOTM0LDE2Nzk5NjgyMzMsMTc2NDMxMzU2OCwyMTE3MzYwNjM1LDE5MzM1MzA2MTAsMTM0MzEyNzUwMSwxNTYwNjM3ODkyLDEyNDMxMTI0MTUsMTE5MjQ1NTYzOCwzNzA0MjgwODgxLDM1MTkxNDIyMDAsMzMzNjM1ODY5MSwzNDE5OTE1NTYyLDM5MDc0NDg1OTcsMzg1NzU3MjEyNCw0MDc1ODc3MTI3LDQyOTQ3MDQzOTgsMzAyOTUxMDAwOSwzMTEzODU1MzQ0LDI5Mjc5MzQzMTUsMjc0NDEwNDI5MCwyMTU5OTc2Mjg1LDIzNzc0ODY2NzYsMjU5NDczNDkyNywyNTQ0MDc4MTUwXTt2YXIgVTQ9WzAsMTUxODQ5NzQyLDMwMzY5OTQ4NCw0NTQ0OTk2MDIsNjA3Mzk4OTY4LDc1ODcyMDMxMCw5MDg5OTkyMDQsMTA1OTI3MDk1NCwxMjE0Nzk3OTM2LDEwOTcxNTk1NTAsMTUxNzQ0MDYyMCwxNDAwODQ5NzYyLDE4MTc5OTg0MDgsMTY5OTgzOTgxNCwyMTE4NTQxOTA4LDIwMDE0MzA4NzQsMjQyOTU5NTg3MiwyNTgxNDQ1NjE0LDIxOTQzMTkxMDAsMjM0NTExOTIxOCwzMDM0ODgxMjQwLDMxODYyMDI1ODIsMjgwMTY5OTUyNCwyOTUxOTcxMjc0LDM2MzU5OTY4MTYsMzUxODM1ODQzMCwzMzk5Njc5NjI4LDMyODMwODg3NzAsNDIzNzA4MzgxNiw0MTE4OTI1MjIyLDQwMDI4NjE3NDgsMzg4NTc1MDcxNCwxMDAyMTQyNjgzLDg1MDgxNzIzNyw2OTg0NDUyNTUsNTQ4MTY5NDE3LDUyOTQ4Nzg0MywzNzc2NDIyMjEsMjI3ODg1NTY3LDc3MDg5NTIxLDE5NDMyMTcwNjcsMjA2MTM3OTc0OSwxNjQwNTc2NDM5LDE3NTc2OTE1NzcsMTQ3NDc2MDU5NSwxNTkyMzk0OTA5LDExNzQyMTUwNTUsMTI5MDgwMTc5MywyODc1OTY4MzE1LDI3MjQ2NDI4NjksMzExMTI0NzE0MywyOTYwOTcxMzA1LDI0MDU0MjY5NDcsMjI1MzU4MTMyNSwyNjM4NjA2NjIzLDI0ODc4MTA1NzcsMzgwODY2MjM0NywzOTI2ODI1MDI5LDQwNDQ5ODE1OTEsNDE2MjA5NjcyOSwzMzQyMzE5NDc1LDM0NTk5NTM3ODksMzU3NjUzOTUwMywzNjkzMTI2MjQxLDE5ODY5MTgwNjEsMjEzNzA2MjgxOSwxNjg1NTc3OTA1LDE4MzY3NzIyODcsMTM4MTYyMDM3MywxNTMyMjg1MzM5LDEwNzgxODUwOTcsMTIyOTg5OTY1NSwxMDQwNTU5ODM3LDkyMzMxMzYxOSw3NDAyNzY0MTcsNjIxOTgyNjcxLDQzOTQ1MjM4OSwzMjI3MzQ1NzEsMTM3MDczOTEzLDE5MzA4NTM1LDM4NzExNjM5ODEsNDAyMTMwODczOSw0MTA0NjA1Nzc3LDQyNTU4MDAxNTksMzI2Mzc4NTU4OSwzNDE0NDUwNTU1LDM0OTkzMjY1NjksMzY1MTA0MTEyNywyOTMzMjAyNDkzLDI4MTU5NTYyNzUsMzE2NzY4NDY0MSwzMDQ5MzkwODk1LDIzMzAwMTQyMTMsMjIxMzI5NjM5NSwyNTY2NTk1NjA5LDI0NDg4MzAyMzEsMTMwNTkwNjU1MCwxMTU1MjM3NDk2LDE2MDcyNDQ2NTAsMTQ1NTUyNTk4OCwxNzc2NDYwMTEwLDE2MjYzMTk0MjQsMjA3OTg5NzQyNiwxOTI4NzA3MTY0LDk2MzkyNDU0LDIxMzExNDM3NiwzOTY2NzM4MTgsNTE0NDQzMjg0LDU2Mjc1NTkwMiw2Nzk5OThlMyw4NjUxMzY0MTgsOTgzNDI2MDkyLDM3MDgxNzM3MTgsMzU1NzUwNDY2NCwzNDc0NzI5ODY2LDMzMjMwMTEyMDQsNDE4MDgwODExMCw0MDMwNjY3NDI0LDM5NDUyNjkxNzAsMzc5NDA3ODkwOCwyNTA3MDQwMjMwLDI2MjM3NjIxNTIsMjI3MjU1NjAyNiwyMzkwMzI1NDkyLDI5NzU0ODQzODIsMzA5MjcyNjQ4MCwyNzM4OTA1MDI2LDI4NTcxOTQ3MDAsMzk3Mzc3MzEyMSwzODU2MTM3Mjk1LDQyNzQwNTM0NjksNDE1NzQ2NzIxOSwzMzcxMDk2OTUzLDMyNTI5MzI3MjcsMzY3MzQ3NjQ1MywzNTU2MzYxODM1LDI3NjMxNzM2ODEsMjkxNTAxNzc5MSwzMDY0NTEwNzY1LDMyMTUzMDcyOTksMjE1NjI5OTAxNywyMzA3NjIyOTE5LDI0NTk3MzUzMTcsMjYxMDAxMTY3NSwyMDgxMDQ4NDgxLDE5NjM0MTI2NTUsMTg0NjU2MzI2MSwxNzI5OTc3MDExLDE0ODA0ODU3ODUsMTM2MjMyMTU1OSwxMjQzOTA1NDEzLDExMjY3OTA3OTUsODc4ODQ1OTA1LDEwMzA2OTAwMTUsNjQ1NDAxMDM3LDc5NjE5NzU3MSwyNzQwODQ4NDEsNDI1NDA4NzQzLDM4NTQ0ODg1LDE4ODgyMTI0MywzNjEzNDk0NDI2LDM3MzE2NTQ1NDgsMzMxMzIxMjAzOCwzNDMwMzIyNTY4LDQwODI0NzUxNzAsNDIwMDExNTExNiwzNzgwMDk3NzI2LDM4OTY2ODgwNDgsMjY2ODIyMTY3NCwyNTE2OTAxODYwLDIzNjY4ODI1NTAsMjIxNjYxMDI5NiwzMTQxNDAwNzg2LDI5ODk1NTI2MDQsMjgzNzk2NjU0MiwyNjg3MTY1ODg4LDEyMDI3OTc2OTAsMTMyMDk1NzgxMiwxNDM3MjgwODcwLDE1NTQzOTE0MDAsMTY2OTY2NDgzNCwxNzg3MzA0NzgwLDE5MDYyNDcyNjIsMjAyMjgzNzU4NCwyNjU5MDUxNjIsMTE0NTg1MzQ4LDQ5OTM0Nzk5MCwzNDkwNzU3MzYsNzM2OTcwODAyLDU4NTEyMjYyMCw5NzI1MTI4MTQsODIxNzEyMTYwLDI1OTU2ODQ4NDQsMjQ3ODQ0MzIzNCwyMjkzMDQ1MjMyLDIxNzQ3NTQwNDYsMzE5NjI2Nzk4OCwzMDc5NTQ2NTg2LDI4OTU3MjM0NjQsMjc3Nzk1MjQ1NCwzNTM3ODUyODI4LDM2ODc5OTQwMDIsMzIzNDE1NjQxNiwzMzg1MzQ1MTY2LDQxNDI2MjYyMTIsNDI5MzI5NTc4NiwzODQxMDI0OTUyLDM5OTI3NDIwNzAsMTc0NTY3NjkyLDU3MzI2MDgyLDQxMDg4Nzk1MiwyOTI1OTY3NjYsNzc3MjMxNjY4LDY2MDUxMDI2NiwxMDExNDUyNzEyLDg5MzY4MTcwMiwxMTA4MzM5MDY4LDEyNTg0ODAyNDIsMTM0MzYxODkxMiwxNDk0ODA3NjYyLDE3MTUxOTMxNTYsMTg2NTg2MjczMCwxOTQ4MzczODQ4LDIxMDAwOTA5NjYsMjcwMTk0OTQ5NSwyODE4NjY2ODA5LDMwMDQ1OTExNDcsMzEyMjM1ODA1MywyMjM1MDYxNzc1LDIzNTIzMDc0NTcsMjUzNTYwNDI0MywyNjUzODk5NTQ5LDM5MTU2NTM3MDMsMzc2NDk4ODIzMyw0MjE5MzUyMTU1LDQwNjc2MzkxMjUsMzQ0NDU3NTg3MSwzMjk0NDMwNTc3LDM3NDYxNzUwNzUsMzU5NDk4MjI1Myw4MzY1NTM0MzEsOTUzMjcwNzQ1LDYwMDIzNTIxMSw3MTgwMDIxMTcsMzY3NTg1MDA3LDQ4NDgzMDY4OSwxMzMzNjE5MDcsMjUxNjU3MjEzLDIwNDE4NzcxNTksMTg5MTIxMTY4OSwxODA2NTk5MzU1LDE2NTQ4ODYzMjUsMTU2ODcxODQ5NSwxNDE4NTczMjAxLDEzMzU1MzU3NDcsMTE4NDM0MjkyNV07ZnVuY3Rpb24gY29udmVydFRvSW50MzIoYnl0ZXMpe3ZhciByZXN1bHQ9W107Zm9yKHZhciBpPTA7aTxieXRlcy5sZW5ndGg7aSs9NCl7cmVzdWx0LnB1c2goYnl0ZXNbaV08PDI0fGJ5dGVzW2krMV08PDE2fGJ5dGVzW2krMl08PDh8Ynl0ZXNbaSszXSl9cmV0dXJuIHJlc3VsdH12YXIgQUVTPWZ1bmN0aW9uKGtleSl7aWYoISh0aGlzIGluc3RhbmNlb2YgQUVTKSl7dGhyb3cgRXJyb3IoIkFFUyBtdXN0IGJlIGluc3Rhbml0YXRlZCB3aXRoIGBuZXdgIil9T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImtleSIse3ZhbHVlOmNvZXJjZUFycmF5KGtleSx0cnVlKX0pO3RoaXMuX3ByZXBhcmUoKX07QUVTLnByb3RvdHlwZS5fcHJlcGFyZT1mdW5jdGlvbigpe3ZhciByb3VuZHM9bnVtYmVyT2ZSb3VuZHNbdGhpcy5rZXkubGVuZ3RoXTtpZihyb3VuZHM9PW51bGwpe3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCBrZXkgc2l6ZSAobXVzdCBiZSAxNiwgMjQgb3IgMzIgYnl0ZXMpIil9dGhpcy5fS2U9W107dGhpcy5fS2Q9W107Zm9yKHZhciBpPTA7aTw9cm91bmRzO2krKyl7dGhpcy5fS2UucHVzaChbMCwwLDAsMF0pO3RoaXMuX0tkLnB1c2goWzAsMCwwLDBdKX12YXIgcm91bmRLZXlDb3VudD0ocm91bmRzKzEpKjQ7dmFyIEtDPXRoaXMua2V5Lmxlbmd0aC80O3ZhciB0az1jb252ZXJ0VG9JbnQzMih0aGlzLmtleSk7dmFyIGluZGV4O2Zvcih2YXIgaT0wO2k8S0M7aSsrKXtpbmRleD1pPj4yO3RoaXMuX0tlW2luZGV4XVtpJTRdPXRrW2ldO3RoaXMuX0tkW3JvdW5kcy1pbmRleF1baSU0XT10a1tpXX12YXIgcmNvbnBvaW50ZXI9MDt2YXIgdD1LQyx0dDt3aGlsZSh0PHJvdW5kS2V5Q291bnQpe3R0PXRrW0tDLTFdO3RrWzBdXj1TW3R0Pj4xNiYyNTVdPDwyNF5TW3R0Pj44JjI1NV08PDE2XlNbdHQmMjU1XTw8OF5TW3R0Pj4yNCYyNTVdXnJjb25bcmNvbnBvaW50ZXJdPDwyNDtyY29ucG9pbnRlcis9MTtpZihLQyE9OCl7Zm9yKHZhciBpPTE7aTxLQztpKyspe3RrW2ldXj10a1tpLTFdfX1lbHNle2Zvcih2YXIgaT0xO2k8S0MvMjtpKyspe3RrW2ldXj10a1tpLTFdfXR0PXRrW0tDLzItMV07dGtbS0MvMl1ePVNbdHQmMjU1XV5TW3R0Pj44JjI1NV08PDheU1t0dD4+MTYmMjU1XTw8MTZeU1t0dD4+MjQmMjU1XTw8MjQ7Zm9yKHZhciBpPUtDLzIrMTtpPEtDO2krKyl7dGtbaV1ePXRrW2ktMV19fXZhciBpPTAscixjO3doaWxlKGk8S0MmJnQ8cm91bmRLZXlDb3VudCl7cj10Pj4yO2M9dCU0O3RoaXMuX0tlW3JdW2NdPXRrW2ldO3RoaXMuX0tkW3JvdW5kcy1yXVtjXT10a1tpKytdO3QrK319Zm9yKHZhciByPTE7cjxyb3VuZHM7cisrKXtmb3IodmFyIGM9MDtjPDQ7YysrKXt0dD10aGlzLl9LZFtyXVtjXTt0aGlzLl9LZFtyXVtjXT1VMVt0dD4+MjQmMjU1XV5VMlt0dD4+MTYmMjU1XV5VM1t0dD4+OCYyNTVdXlU0W3R0JjI1NV19fX07QUVTLnByb3RvdHlwZS5lbmNyeXB0PWZ1bmN0aW9uKHBsYWludGV4dCl7aWYocGxhaW50ZXh0Lmxlbmd0aCE9MTYpe3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCBwbGFpbnRleHQgc2l6ZSAobXVzdCBiZSAxNiBieXRlcykiKX12YXIgcm91bmRzPXRoaXMuX0tlLmxlbmd0aC0xO3ZhciBhPVswLDAsMCwwXTt2YXIgdD1jb252ZXJ0VG9JbnQzMihwbGFpbnRleHQpO2Zvcih2YXIgaT0wO2k8NDtpKyspe3RbaV1ePXRoaXMuX0tlWzBdW2ldfWZvcih2YXIgcj0xO3I8cm91bmRzO3IrKyl7Zm9yKHZhciBpPTA7aTw0O2krKyl7YVtpXT1UMVt0W2ldPj4yNCYyNTVdXlQyW3RbKGkrMSklNF0+PjE2JjI1NV1eVDNbdFsoaSsyKSU0XT4+OCYyNTVdXlQ0W3RbKGkrMyklNF0mMjU1XV50aGlzLl9LZVtyXVtpXX10PWEuc2xpY2UoKX12YXIgcmVzdWx0PWNyZWF0ZUFycmF5KDE2KSx0dDtmb3IodmFyIGk9MDtpPDQ7aSsrKXt0dD10aGlzLl9LZVtyb3VuZHNdW2ldO3Jlc3VsdFs0KmldPShTW3RbaV0+PjI0JjI1NV1edHQ+PjI0KSYyNTU7cmVzdWx0WzQqaSsxXT0oU1t0WyhpKzEpJTRdPj4xNiYyNTVdXnR0Pj4xNikmMjU1O3Jlc3VsdFs0KmkrMl09KFNbdFsoaSsyKSU0XT4+OCYyNTVdXnR0Pj44KSYyNTU7cmVzdWx0WzQqaSszXT0oU1t0WyhpKzMpJTRdJjI1NV1edHQpJjI1NX1yZXR1cm4gcmVzdWx0fTtBRVMucHJvdG90eXBlLmRlY3J5cHQ9ZnVuY3Rpb24oY2lwaGVydGV4dCl7aWYoY2lwaGVydGV4dC5sZW5ndGghPTE2KXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2lwaGVydGV4dCBzaXplIChtdXN0IGJlIDE2IGJ5dGVzKSIpfXZhciByb3VuZHM9dGhpcy5fS2QubGVuZ3RoLTE7dmFyIGE9WzAsMCwwLDBdO3ZhciB0PWNvbnZlcnRUb0ludDMyKGNpcGhlcnRleHQpO2Zvcih2YXIgaT0wO2k8NDtpKyspe3RbaV1ePXRoaXMuX0tkWzBdW2ldfWZvcih2YXIgcj0xO3I8cm91bmRzO3IrKyl7Zm9yKHZhciBpPTA7aTw0O2krKyl7YVtpXT1UNVt0W2ldPj4yNCYyNTVdXlQ2W3RbKGkrMyklNF0+PjE2JjI1NV1eVDdbdFsoaSsyKSU0XT4+OCYyNTVdXlQ4W3RbKGkrMSklNF0mMjU1XV50aGlzLl9LZFtyXVtpXX10PWEuc2xpY2UoKX12YXIgcmVzdWx0PWNyZWF0ZUFycmF5KDE2KSx0dDtmb3IodmFyIGk9MDtpPDQ7aSsrKXt0dD10aGlzLl9LZFtyb3VuZHNdW2ldO3Jlc3VsdFs0KmldPShTaVt0W2ldPj4yNCYyNTVdXnR0Pj4yNCkmMjU1O3Jlc3VsdFs0KmkrMV09KFNpW3RbKGkrMyklNF0+PjE2JjI1NV1edHQ+PjE2KSYyNTU7cmVzdWx0WzQqaSsyXT0oU2lbdFsoaSsyKSU0XT4+OCYyNTVdXnR0Pj44KSYyNTU7cmVzdWx0WzQqaSszXT0oU2lbdFsoaSsxKSU0XSYyNTVdXnR0KSYyNTV9cmV0dXJuIHJlc3VsdH07dmFyIE1vZGVPZk9wZXJhdGlvbkVDQj1mdW5jdGlvbihrZXkpe2lmKCEodGhpcyBpbnN0YW5jZW9mIE1vZGVPZk9wZXJhdGlvbkVDQikpe3Rocm93IEVycm9yKCJBRVMgbXVzdCBiZSBpbnN0YW5pdGF0ZWQgd2l0aCBgbmV3YCIpfXRoaXMuZGVzY3JpcHRpb249IkVsZWN0cm9uaWMgQ29kZSBCbG9jayI7dGhpcy5uYW1lPSJlY2IiO3RoaXMuX2Flcz1uZXcgQUVTKGtleSl9O01vZGVPZk9wZXJhdGlvbkVDQi5wcm90b3R5cGUuZW5jcnlwdD1mdW5jdGlvbihwbGFpbnRleHQpe3BsYWludGV4dD1jb2VyY2VBcnJheShwbGFpbnRleHQpO2lmKHBsYWludGV4dC5sZW5ndGglMTYhPT0wKXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcGxhaW50ZXh0IHNpemUgKG11c3QgYmUgbXVsdGlwbGUgb2YgMTYgYnl0ZXMpIil9dmFyIGNpcGhlcnRleHQ9Y3JlYXRlQXJyYXkocGxhaW50ZXh0Lmxlbmd0aCk7dmFyIGJsb2NrPWNyZWF0ZUFycmF5KDE2KTtmb3IodmFyIGk9MDtpPHBsYWludGV4dC5sZW5ndGg7aSs9MTYpe2NvcHlBcnJheShwbGFpbnRleHQsYmxvY2ssMCxpLGkrMTYpO2Jsb2NrPXRoaXMuX2Flcy5lbmNyeXB0KGJsb2NrKTtjb3B5QXJyYXkoYmxvY2ssY2lwaGVydGV4dCxpKX1yZXR1cm4gY2lwaGVydGV4dH07TW9kZU9mT3BlcmF0aW9uRUNCLnByb3RvdHlwZS5kZWNyeXB0PWZ1bmN0aW9uKGNpcGhlcnRleHQpe2NpcGhlcnRleHQ9Y29lcmNlQXJyYXkoY2lwaGVydGV4dCk7aWYoY2lwaGVydGV4dC5sZW5ndGglMTYhPT0wKXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2lwaGVydGV4dCBzaXplIChtdXN0IGJlIG11bHRpcGxlIG9mIDE2IGJ5dGVzKSIpfXZhciBwbGFpbnRleHQ9Y3JlYXRlQXJyYXkoY2lwaGVydGV4dC5sZW5ndGgpO3ZhciBibG9jaz1jcmVhdGVBcnJheSgxNik7Zm9yKHZhciBpPTA7aTxjaXBoZXJ0ZXh0Lmxlbmd0aDtpKz0xNil7Y29weUFycmF5KGNpcGhlcnRleHQsYmxvY2ssMCxpLGkrMTYpO2Jsb2NrPXRoaXMuX2Flcy5kZWNyeXB0KGJsb2NrKTtjb3B5QXJyYXkoYmxvY2sscGxhaW50ZXh0LGkpfXJldHVybiBwbGFpbnRleHR9O3ZhciBNb2RlT2ZPcGVyYXRpb25DQkM9ZnVuY3Rpb24oa2V5LGl2KXtpZighKHRoaXMgaW5zdGFuY2VvZiBNb2RlT2ZPcGVyYXRpb25DQkMpKXt0aHJvdyBFcnJvcigiQUVTIG11c3QgYmUgaW5zdGFuaXRhdGVkIHdpdGggYG5ld2AiKX10aGlzLmRlc2NyaXB0aW9uPSJDaXBoZXIgQmxvY2sgQ2hhaW5pbmciO3RoaXMubmFtZT0iY2JjIjtpZighaXYpe2l2PWNyZWF0ZUFycmF5KDE2KX1lbHNlIGlmKGl2Lmxlbmd0aCE9MTYpe3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCBpbml0aWFsYXRpb24gdmVjdG9yIHNpemUgKG11c3QgYmUgMTYgYnl0ZXMpIil9dGhpcy5fbGFzdENpcGhlcmJsb2NrPWNvZXJjZUFycmF5KGl2LHRydWUpO3RoaXMuX2Flcz1uZXcgQUVTKGtleSl9O01vZGVPZk9wZXJhdGlvbkNCQy5wcm90b3R5cGUuZW5jcnlwdD1mdW5jdGlvbihwbGFpbnRleHQpe3BsYWludGV4dD1jb2VyY2VBcnJheShwbGFpbnRleHQpO2lmKHBsYWludGV4dC5sZW5ndGglMTYhPT0wKXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcGxhaW50ZXh0IHNpemUgKG11c3QgYmUgbXVsdGlwbGUgb2YgMTYgYnl0ZXMpIil9dmFyIGNpcGhlcnRleHQ9Y3JlYXRlQXJyYXkocGxhaW50ZXh0Lmxlbmd0aCk7dmFyIGJsb2NrPWNyZWF0ZUFycmF5KDE2KTtmb3IodmFyIGk9MDtpPHBsYWludGV4dC5sZW5ndGg7aSs9MTYpe2NvcHlBcnJheShwbGFpbnRleHQsYmxvY2ssMCxpLGkrMTYpO2Zvcih2YXIgaj0wO2o8MTY7aisrKXtibG9ja1tqXV49dGhpcy5fbGFzdENpcGhlcmJsb2NrW2pdfXRoaXMuX2xhc3RDaXBoZXJibG9jaz10aGlzLl9hZXMuZW5jcnlwdChibG9jayk7Y29weUFycmF5KHRoaXMuX2xhc3RDaXBoZXJibG9jayxjaXBoZXJ0ZXh0LGkpfXJldHVybiBjaXBoZXJ0ZXh0fTtNb2RlT2ZPcGVyYXRpb25DQkMucHJvdG90eXBlLmRlY3J5cHQ9ZnVuY3Rpb24oY2lwaGVydGV4dCl7Y2lwaGVydGV4dD1jb2VyY2VBcnJheShjaXBoZXJ0ZXh0KTtpZihjaXBoZXJ0ZXh0Lmxlbmd0aCUxNiE9PTApe3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCBjaXBoZXJ0ZXh0IHNpemUgKG11c3QgYmUgbXVsdGlwbGUgb2YgMTYgYnl0ZXMpIil9dmFyIHBsYWludGV4dD1jcmVhdGVBcnJheShjaXBoZXJ0ZXh0Lmxlbmd0aCk7dmFyIGJsb2NrPWNyZWF0ZUFycmF5KDE2KTtmb3IodmFyIGk9MDtpPGNpcGhlcnRleHQubGVuZ3RoO2krPTE2KXtjb3B5QXJyYXkoY2lwaGVydGV4dCxibG9jaywwLGksaSsxNik7YmxvY2s9dGhpcy5fYWVzLmRlY3J5cHQoYmxvY2spO2Zvcih2YXIgaj0wO2o8MTY7aisrKXtwbGFpbnRleHRbaStqXT1ibG9ja1tqXV50aGlzLl9sYXN0Q2lwaGVyYmxvY2tbal19Y29weUFycmF5KGNpcGhlcnRleHQsdGhpcy5fbGFzdENpcGhlcmJsb2NrLDAsaSxpKzE2KX1yZXR1cm4gcGxhaW50ZXh0fTt2YXIgTW9kZU9mT3BlcmF0aW9uQ0ZCPWZ1bmN0aW9uKGtleSxpdixzZWdtZW50U2l6ZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgTW9kZU9mT3BlcmF0aW9uQ0ZCKSl7dGhyb3cgRXJyb3IoIkFFUyBtdXN0IGJlIGluc3Rhbml0YXRlZCB3aXRoIGBuZXdgIil9dGhpcy5kZXNjcmlwdGlvbj0iQ2lwaGVyIEZlZWRiYWNrIjt0aGlzLm5hbWU9ImNmYiI7aWYoIWl2KXtpdj1jcmVhdGVBcnJheSgxNil9ZWxzZSBpZihpdi5sZW5ndGghPTE2KXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgaW5pdGlhbGF0aW9uIHZlY3RvciBzaXplIChtdXN0IGJlIDE2IHNpemUpIil9aWYoIXNlZ21lbnRTaXplKXtzZWdtZW50U2l6ZT0xfXRoaXMuc2VnbWVudFNpemU9c2VnbWVudFNpemU7dGhpcy5fc2hpZnRSZWdpc3Rlcj1jb2VyY2VBcnJheShpdix0cnVlKTt0aGlzLl9hZXM9bmV3IEFFUyhrZXkpfTtNb2RlT2ZPcGVyYXRpb25DRkIucHJvdG90eXBlLmVuY3J5cHQ9ZnVuY3Rpb24ocGxhaW50ZXh0KXtpZihwbGFpbnRleHQubGVuZ3RoJXRoaXMuc2VnbWVudFNpemUhPTApe3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCBwbGFpbnRleHQgc2l6ZSAobXVzdCBiZSBzZWdtZW50U2l6ZSBieXRlcykiKX12YXIgZW5jcnlwdGVkPWNvZXJjZUFycmF5KHBsYWludGV4dCx0cnVlKTt2YXIgeG9yU2VnbWVudDtmb3IodmFyIGk9MDtpPGVuY3J5cHRlZC5sZW5ndGg7aSs9dGhpcy5zZWdtZW50U2l6ZSl7eG9yU2VnbWVudD10aGlzLl9hZXMuZW5jcnlwdCh0aGlzLl9zaGlmdFJlZ2lzdGVyKTtmb3IodmFyIGo9MDtqPHRoaXMuc2VnbWVudFNpemU7aisrKXtlbmNyeXB0ZWRbaStqXV49eG9yU2VnbWVudFtqXX1jb3B5QXJyYXkodGhpcy5fc2hpZnRSZWdpc3Rlcix0aGlzLl9zaGlmdFJlZ2lzdGVyLDAsdGhpcy5zZWdtZW50U2l6ZSk7Y29weUFycmF5KGVuY3J5cHRlZCx0aGlzLl9zaGlmdFJlZ2lzdGVyLDE2LXRoaXMuc2VnbWVudFNpemUsaSxpK3RoaXMuc2VnbWVudFNpemUpfXJldHVybiBlbmNyeXB0ZWR9O01vZGVPZk9wZXJhdGlvbkNGQi5wcm90b3R5cGUuZGVjcnlwdD1mdW5jdGlvbihjaXBoZXJ0ZXh0KXtpZihjaXBoZXJ0ZXh0Lmxlbmd0aCV0aGlzLnNlZ21lbnRTaXplIT0wKXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2lwaGVydGV4dCBzaXplIChtdXN0IGJlIHNlZ21lbnRTaXplIGJ5dGVzKSIpfXZhciBwbGFpbnRleHQ9Y29lcmNlQXJyYXkoY2lwaGVydGV4dCx0cnVlKTt2YXIgeG9yU2VnbWVudDtmb3IodmFyIGk9MDtpPHBsYWludGV4dC5sZW5ndGg7aSs9dGhpcy5zZWdtZW50U2l6ZSl7eG9yU2VnbWVudD10aGlzLl9hZXMuZW5jcnlwdCh0aGlzLl9zaGlmdFJlZ2lzdGVyKTtmb3IodmFyIGo9MDtqPHRoaXMuc2VnbWVudFNpemU7aisrKXtwbGFpbnRleHRbaStqXV49eG9yU2VnbWVudFtqXX1jb3B5QXJyYXkodGhpcy5fc2hpZnRSZWdpc3Rlcix0aGlzLl9zaGlmdFJlZ2lzdGVyLDAsdGhpcy5zZWdtZW50U2l6ZSk7Y29weUFycmF5KGNpcGhlcnRleHQsdGhpcy5fc2hpZnRSZWdpc3RlciwxNi10aGlzLnNlZ21lbnRTaXplLGksaSt0aGlzLnNlZ21lbnRTaXplKX1yZXR1cm4gcGxhaW50ZXh0fTt2YXIgTW9kZU9mT3BlcmF0aW9uT0ZCPWZ1bmN0aW9uKGtleSxpdil7aWYoISh0aGlzIGluc3RhbmNlb2YgTW9kZU9mT3BlcmF0aW9uT0ZCKSl7dGhyb3cgRXJyb3IoIkFFUyBtdXN0IGJlIGluc3Rhbml0YXRlZCB3aXRoIGBuZXdgIil9dGhpcy5kZXNjcmlwdGlvbj0iT3V0cHV0IEZlZWRiYWNrIjt0aGlzLm5hbWU9Im9mYiI7aWYoIWl2KXtpdj1jcmVhdGVBcnJheSgxNil9ZWxzZSBpZihpdi5sZW5ndGghPTE2KXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgaW5pdGlhbGF0aW9uIHZlY3RvciBzaXplIChtdXN0IGJlIDE2IGJ5dGVzKSIpfXRoaXMuX2xhc3RQcmVjaXBoZXI9Y29lcmNlQXJyYXkoaXYsdHJ1ZSk7dGhpcy5fbGFzdFByZWNpcGhlckluZGV4PTE2O3RoaXMuX2Flcz1uZXcgQUVTKGtleSl9O01vZGVPZk9wZXJhdGlvbk9GQi5wcm90b3R5cGUuZW5jcnlwdD1mdW5jdGlvbihwbGFpbnRleHQpe3ZhciBlbmNyeXB0ZWQ9Y29lcmNlQXJyYXkocGxhaW50ZXh0LHRydWUpO2Zvcih2YXIgaT0wO2k8ZW5jcnlwdGVkLmxlbmd0aDtpKyspe2lmKHRoaXMuX2xhc3RQcmVjaXBoZXJJbmRleD09PTE2KXt0aGlzLl9sYXN0UHJlY2lwaGVyPXRoaXMuX2Flcy5lbmNyeXB0KHRoaXMuX2xhc3RQcmVjaXBoZXIpO3RoaXMuX2xhc3RQcmVjaXBoZXJJbmRleD0wfWVuY3J5cHRlZFtpXV49dGhpcy5fbGFzdFByZWNpcGhlclt0aGlzLl9sYXN0UHJlY2lwaGVySW5kZXgrK119cmV0dXJuIGVuY3J5cHRlZH07TW9kZU9mT3BlcmF0aW9uT0ZCLnByb3RvdHlwZS5kZWNyeXB0PU1vZGVPZk9wZXJhdGlvbk9GQi5wcm90b3R5cGUuZW5jcnlwdDt2YXIgQ291bnRlcj1mdW5jdGlvbihpbml0aWFsVmFsdWUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIENvdW50ZXIpKXt0aHJvdyBFcnJvcigiQ291bnRlciBtdXN0IGJlIGluc3Rhbml0YXRlZCB3aXRoIGBuZXdgIil9aWYoaW5pdGlhbFZhbHVlIT09MCYmIWluaXRpYWxWYWx1ZSl7aW5pdGlhbFZhbHVlPTF9aWYodHlwZW9mIGluaXRpYWxWYWx1ZT09PSJudW1iZXIiKXt0aGlzLl9jb3VudGVyPWNyZWF0ZUFycmF5KDE2KTt0aGlzLnNldFZhbHVlKGluaXRpYWxWYWx1ZSl9ZWxzZXt0aGlzLnNldEJ5dGVzKGluaXRpYWxWYWx1ZSl9fTtDb3VudGVyLnByb3RvdHlwZS5zZXRWYWx1ZT1mdW5jdGlvbih2YWx1ZSl7aWYodHlwZW9mIHZhbHVlIT09Im51bWJlciJ8fHBhcnNlSW50KHZhbHVlKSE9dmFsdWUpe3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCBjb3VudGVyIHZhbHVlIChtdXN0IGJlIGFuIGludGVnZXIpIil9Zm9yKHZhciBpbmRleD0xNTtpbmRleD49MDstLWluZGV4KXt0aGlzLl9jb3VudGVyW2luZGV4XT12YWx1ZSUyNTY7dmFsdWU9dmFsdWU+Pjh9fTtDb3VudGVyLnByb3RvdHlwZS5zZXRCeXRlcz1mdW5jdGlvbihieXRlcyl7Ynl0ZXM9Y29lcmNlQXJyYXkoYnl0ZXMsdHJ1ZSk7aWYoYnl0ZXMubGVuZ3RoIT0xNil7dGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNvdW50ZXIgYnl0ZXMgc2l6ZSAobXVzdCBiZSAxNiBieXRlcykiKX10aGlzLl9jb3VudGVyPWJ5dGVzfTtDb3VudGVyLnByb3RvdHlwZS5pbmNyZW1lbnQ9ZnVuY3Rpb24oKXtmb3IodmFyIGk9MTU7aT49MDtpLS0pe2lmKHRoaXMuX2NvdW50ZXJbaV09PT0yNTUpe3RoaXMuX2NvdW50ZXJbaV09MH1lbHNle3RoaXMuX2NvdW50ZXJbaV0rKzticmVha319fTt2YXIgTW9kZU9mT3BlcmF0aW9uQ1RSPWZ1bmN0aW9uKGtleSxjb3VudGVyKXtpZighKHRoaXMgaW5zdGFuY2VvZiBNb2RlT2ZPcGVyYXRpb25DVFIpKXt0aHJvdyBFcnJvcigiQUVTIG11c3QgYmUgaW5zdGFuaXRhdGVkIHdpdGggYG5ld2AiKX10aGlzLmRlc2NyaXB0aW9uPSJDb3VudGVyIjt0aGlzLm5hbWU9ImN0ciI7aWYoIShjb3VudGVyIGluc3RhbmNlb2YgQ291bnRlcikpe2NvdW50ZXI9bmV3IENvdW50ZXIoY291bnRlcil9dGhpcy5fY291bnRlcj1jb3VudGVyO3RoaXMuX3JlbWFpbmluZ0NvdW50ZXI9bnVsbDt0aGlzLl9yZW1haW5pbmdDb3VudGVySW5kZXg9MTY7dGhpcy5fYWVzPW5ldyBBRVMoa2V5KX07TW9kZU9mT3BlcmF0aW9uQ1RSLnByb3RvdHlwZS5lbmNyeXB0PWZ1bmN0aW9uKHBsYWludGV4dCl7dmFyIGVuY3J5cHRlZD1jb2VyY2VBcnJheShwbGFpbnRleHQsdHJ1ZSk7Zm9yKHZhciBpPTA7aTxlbmNyeXB0ZWQubGVuZ3RoO2krKyl7aWYodGhpcy5fcmVtYWluaW5nQ291bnRlckluZGV4PT09MTYpe3RoaXMuX3JlbWFpbmluZ0NvdW50ZXI9dGhpcy5fYWVzLmVuY3J5cHQodGhpcy5fY291bnRlci5fY291bnRlcik7dGhpcy5fcmVtYWluaW5nQ291bnRlckluZGV4PTA7dGhpcy5fY291bnRlci5pbmNyZW1lbnQoKX1lbmNyeXB0ZWRbaV1ePXRoaXMuX3JlbWFpbmluZ0NvdW50ZXJbdGhpcy5fcmVtYWluaW5nQ291bnRlckluZGV4KytdfXJldHVybiBlbmNyeXB0ZWR9O01vZGVPZk9wZXJhdGlvbkNUUi5wcm90b3R5cGUuZGVjcnlwdD1Nb2RlT2ZPcGVyYXRpb25DVFIucHJvdG90eXBlLmVuY3J5cHQ7ZnVuY3Rpb24gcGtjczdwYWQoZGF0YSl7ZGF0YT1jb2VyY2VBcnJheShkYXRhLHRydWUpO3ZhciBwYWRkZXI9MTYtZGF0YS5sZW5ndGglMTY7dmFyIHJlc3VsdD1jcmVhdGVBcnJheShkYXRhLmxlbmd0aCtwYWRkZXIpO2NvcHlBcnJheShkYXRhLHJlc3VsdCk7Zm9yKHZhciBpPWRhdGEubGVuZ3RoO2k8cmVzdWx0Lmxlbmd0aDtpKyspe3Jlc3VsdFtpXT1wYWRkZXJ9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBwa2NzN3N0cmlwKGRhdGEpe2RhdGE9Y29lcmNlQXJyYXkoZGF0YSx0cnVlKTtpZihkYXRhLmxlbmd0aDwxNil7dGhyb3cgbmV3IEVycm9yKCJQS0NTIzcgaW52YWxpZCBsZW5ndGgiKX12YXIgcGFkZGVyPWRhdGFbZGF0YS5sZW5ndGgtMV07aWYocGFkZGVyPjE2KXt0aHJvdyBuZXcgRXJyb3IoIlBLQ1MjNyBwYWRkaW5nIGJ5dGUgb3V0IG9mIHJhbmdlIil9dmFyIGxlbmd0aD1kYXRhLmxlbmd0aC1wYWRkZXI7Zm9yKHZhciBpPTA7aTxwYWRkZXI7aSsrKXtpZihkYXRhW2xlbmd0aCtpXSE9PXBhZGRlcil7dGhyb3cgbmV3IEVycm9yKCJQS0NTIzcgaW52YWxpZCBwYWRkaW5nIGJ5dGUiKX19dmFyIHJlc3VsdD1jcmVhdGVBcnJheShsZW5ndGgpO2NvcHlBcnJheShkYXRhLHJlc3VsdCwwLDAsbGVuZ3RoKTtyZXR1cm4gcmVzdWx0fXZhciBhZXNqcz17QUVTOkFFUyxDb3VudGVyOkNvdW50ZXIsTW9kZU9mT3BlcmF0aW9uOntlY2I6TW9kZU9mT3BlcmF0aW9uRUNCLGNiYzpNb2RlT2ZPcGVyYXRpb25DQkMsY2ZiOk1vZGVPZk9wZXJhdGlvbkNGQixvZmI6TW9kZU9mT3BlcmF0aW9uT0ZCLGN0cjpNb2RlT2ZPcGVyYXRpb25DVFJ9LHV0aWxzOntoZXg6Y29udmVydEhleCx1dGY4OmNvbnZlcnRVdGY4fSxwYWRkaW5nOntwa2NzNzp7cGFkOnBrY3M3cGFkLHN0cmlwOnBrY3M3c3RyaXB9fSxfYXJyYXlUZXN0Ontjb2VyY2VBcnJheTpjb2VyY2VBcnJheSxjcmVhdGVBcnJheTpjcmVhdGVBcnJheSxjb3B5QXJyYXk6Y29weUFycmF5fX07aWYoIm9iamVjdCIhPT0idW5kZWZpbmVkIil7bW9kdWxlLmV4cG9ydHM9YWVzanN9ZWxzZSBpZih0eXBlb2YgdW5kZWZpbmVkPT09ImZ1bmN0aW9uIiYmdW5kZWZpbmVkLmFtZCl7dW5kZWZpbmVkKGFlc2pzKX1lbHNle2lmKHJvb3QuYWVzanMpe2Flc2pzLl9hZXNqcz1yb290LmFlc2pzfXJvb3QuYWVzanM9YWVzanN9fSkoY29tbW9uanNHbG9iYWwpfSk7dmFyIF92ZXJzaW9uJEE9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnZlcnNpb249dm9pZCAwO2V4cG9ydHMudmVyc2lvbj0ianNvbi13YWxsZXRzLzUuNy4wIn0pO3ZhciBfdmVyc2lvbiRCPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKF92ZXJzaW9uJEEpO3ZhciB1dGlscyQxPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy51dWlkVjQ9ZXhwb3J0cy5zZWFyY2hQYXRoPWV4cG9ydHMuZ2V0UGFzc3dvcmQ9ZXhwb3J0cy56cGFkPWV4cG9ydHMubG9vc2VBcnJheWlmeT12b2lkIDA7ZnVuY3Rpb24gbG9vc2VBcnJheWlmeShoZXhTdHJpbmcpe2lmKHR5cGVvZiBoZXhTdHJpbmc9PT0ic3RyaW5nIiYmaGV4U3RyaW5nLnN1YnN0cmluZygwLDIpIT09IjB4Iil7aGV4U3RyaW5nPSIweCIraGV4U3RyaW5nfXJldHVybigwLGxpYiQxLmFycmF5aWZ5KShoZXhTdHJpbmcpfWV4cG9ydHMubG9vc2VBcnJheWlmeT1sb29zZUFycmF5aWZ5O2Z1bmN0aW9uIHpwYWQodmFsdWUsbGVuZ3RoKXt2YWx1ZT1TdHJpbmcodmFsdWUpO3doaWxlKHZhbHVlLmxlbmd0aDxsZW5ndGgpe3ZhbHVlPSIwIit2YWx1ZX1yZXR1cm4gdmFsdWV9ZXhwb3J0cy56cGFkPXpwYWQ7ZnVuY3Rpb24gZ2V0UGFzc3dvcmQocGFzc3dvcmQpe2lmKHR5cGVvZiBwYXNzd29yZD09PSJzdHJpbmciKXtyZXR1cm4oMCxsaWIkOC50b1V0ZjhCeXRlcykocGFzc3dvcmQsbGliJDguVW5pY29kZU5vcm1hbGl6YXRpb25Gb3JtLk5GS0MpfXJldHVybigwLGxpYiQxLmFycmF5aWZ5KShwYXNzd29yZCl9ZXhwb3J0cy5nZXRQYXNzd29yZD1nZXRQYXNzd29yZDtmdW5jdGlvbiBzZWFyY2hQYXRoKG9iamVjdCxwYXRoKXt2YXIgY3VycmVudENoaWxkPW9iamVjdDt2YXIgY29tcHM9cGF0aC50b0xvd2VyQ2FzZSgpLnNwbGl0KCIvIik7Zm9yKHZhciBpPTA7aTxjb21wcy5sZW5ndGg7aSsrKXt2YXIgbWF0Y2hpbmdDaGlsZD1udWxsO2Zvcih2YXIga2V5IGluIGN1cnJlbnRDaGlsZCl7aWYoa2V5LnRvTG93ZXJDYXNlKCk9PT1jb21wc1tpXSl7bWF0Y2hpbmdDaGlsZD1jdXJyZW50Q2hpbGRba2V5XTticmVha319aWYobWF0Y2hpbmdDaGlsZD09PW51bGwpe3JldHVybiBudWxsfWN1cnJlbnRDaGlsZD1tYXRjaGluZ0NoaWxkfXJldHVybiBjdXJyZW50Q2hpbGR9ZXhwb3J0cy5zZWFyY2hQYXRoPXNlYXJjaFBhdGg7ZnVuY3Rpb24gdXVpZFY0KHJhbmRvbUJ5dGVzKXt2YXIgYnl0ZXM9KDAsbGliJDEuYXJyYXlpZnkpKHJhbmRvbUJ5dGVzKTtieXRlc1s2XT1ieXRlc1s2XSYxNXw2NDtieXRlc1s4XT1ieXRlc1s4XSY2M3wxMjg7dmFyIHZhbHVlPSgwLGxpYiQxLmhleGxpZnkpKGJ5dGVzKTtyZXR1cm5bdmFsdWUuc3Vic3RyaW5nKDIsMTApLHZhbHVlLnN1YnN0cmluZygxMCwxNCksdmFsdWUuc3Vic3RyaW5nKDE0LDE4KSx2YWx1ZS5zdWJzdHJpbmcoMTgsMjIpLHZhbHVlLnN1YnN0cmluZygyMiwzNCldLmpvaW4oIi0iKX1leHBvcnRzLnV1aWRWND11dWlkVjR9KTt2YXIgdXRpbHMkMj1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyh1dGlscyQxKTt2YXIgY3Jvd2RzYWxlPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO3ZhciBfX2ltcG9ydERlZmF1bHQ9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24obW9kKXtyZXR1cm4gbW9kJiZtb2QuX19lc01vZHVsZT9tb2Q6e2RlZmF1bHQ6bW9kfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5kZWNyeXB0PWV4cG9ydHMuQ3Jvd2RzYWxlQWNjb3VudD12b2lkIDA7dmFyIGFlc19qc18xPV9faW1wb3J0RGVmYXVsdChhZXNKcyk7dmFyIGxvZ2dlcj1uZXcgbGliLkxvZ2dlcihfdmVyc2lvbiRBLnZlcnNpb24pO3ZhciBDcm93ZHNhbGVBY2NvdW50PWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKENyb3dkc2FsZUFjY291bnQsX3N1cGVyKTtmdW5jdGlvbiBDcm93ZHNhbGVBY2NvdW50KCl7cmV0dXJuIF9zdXBlciE9PW51bGwmJl9zdXBlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9Q3Jvd2RzYWxlQWNjb3VudC5wcm90b3R5cGUuaXNDcm93ZHNhbGVBY2NvdW50PWZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4hISh2YWx1ZSYmdmFsdWUuX2lzQ3Jvd2RzYWxlQWNjb3VudCl9O3JldHVybiBDcm93ZHNhbGVBY2NvdW50fShsaWIkMy5EZXNjcmlwdGlvbik7ZXhwb3J0cy5Dcm93ZHNhbGVBY2NvdW50PUNyb3dkc2FsZUFjY291bnQ7ZnVuY3Rpb24gZGVjcnlwdChqc29uLHBhc3N3b3JkKXt2YXIgZGF0YT1KU09OLnBhcnNlKGpzb24pO3Bhc3N3b3JkPSgwLHV0aWxzJDEuZ2V0UGFzc3dvcmQpKHBhc3N3b3JkKTt2YXIgZXRoYWRkcj0oMCxsaWIkNi5nZXRBZGRyZXNzKSgoMCx1dGlscyQxLnNlYXJjaFBhdGgpKGRhdGEsImV0aGFkZHIiKSk7dmFyIGVuY3NlZWQ9KDAsdXRpbHMkMS5sb29zZUFycmF5aWZ5KSgoMCx1dGlscyQxLnNlYXJjaFBhdGgpKGRhdGEsImVuY3NlZWQiKSk7aWYoIWVuY3NlZWR8fGVuY3NlZWQubGVuZ3RoJTE2IT09MCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBlbmNzZWVkIiwianNvbiIsanNvbil9dmFyIGtleT0oMCxsaWIkMS5hcnJheWlmeSkoKDAsbGliJGwucGJrZGYyKShwYXNzd29yZCxwYXNzd29yZCwyZTMsMzIsInNoYTI1NiIpKS5zbGljZSgwLDE2KTt2YXIgaXY9ZW5jc2VlZC5zbGljZSgwLDE2KTt2YXIgZW5jcnlwdGVkU2VlZD1lbmNzZWVkLnNsaWNlKDE2KTt2YXIgYWVzQ2JjPW5ldyBhZXNfanNfMS5kZWZhdWx0Lk1vZGVPZk9wZXJhdGlvbi5jYmMoa2V5LGl2KTt2YXIgc2VlZD1hZXNfanNfMS5kZWZhdWx0LnBhZGRpbmcucGtjczcuc3RyaXAoKDAsbGliJDEuYXJyYXlpZnkpKGFlc0NiYy5kZWNyeXB0KGVuY3J5cHRlZFNlZWQpKSk7dmFyIHNlZWRIZXg9IiI7Zm9yKHZhciBpPTA7aTxzZWVkLmxlbmd0aDtpKyspe3NlZWRIZXgrPVN0cmluZy5mcm9tQ2hhckNvZGUoc2VlZFtpXSl9dmFyIHNlZWRIZXhCeXRlcz0oMCxsaWIkOC50b1V0ZjhCeXRlcykoc2VlZEhleCk7dmFyIHByaXZhdGVLZXk9KDAsbGliJDQua2VjY2FrMjU2KShzZWVkSGV4Qnl0ZXMpO3JldHVybiBuZXcgQ3Jvd2RzYWxlQWNjb3VudCh7X2lzQ3Jvd2RzYWxlQWNjb3VudDp0cnVlLGFkZHJlc3M6ZXRoYWRkcixwcml2YXRlS2V5OnByaXZhdGVLZXl9KX1leHBvcnRzLmRlY3J5cHQ9ZGVjcnlwdH0pO3ZhciBjcm93ZHNhbGUkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhjcm93ZHNhbGUpO3ZhciBpbnNwZWN0PWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5nZXRKc29uV2FsbGV0QWRkcmVzcz1leHBvcnRzLmlzS2V5c3RvcmVXYWxsZXQ9ZXhwb3J0cy5pc0Nyb3dkc2FsZVdhbGxldD12b2lkIDA7ZnVuY3Rpb24gaXNDcm93ZHNhbGVXYWxsZXQoanNvbil7dmFyIGRhdGE9bnVsbDt0cnl7ZGF0YT1KU09OLnBhcnNlKGpzb24pfWNhdGNoKGVycm9yKXtyZXR1cm4gZmFsc2V9cmV0dXJuIGRhdGEuZW5jc2VlZCYmZGF0YS5ldGhhZGRyfWV4cG9ydHMuaXNDcm93ZHNhbGVXYWxsZXQ9aXNDcm93ZHNhbGVXYWxsZXQ7ZnVuY3Rpb24gaXNLZXlzdG9yZVdhbGxldChqc29uKXt2YXIgZGF0YT1udWxsO3RyeXtkYXRhPUpTT04ucGFyc2UoanNvbil9Y2F0Y2goZXJyb3Ipe3JldHVybiBmYWxzZX1pZighZGF0YS52ZXJzaW9ufHxwYXJzZUludChkYXRhLnZlcnNpb24pIT09ZGF0YS52ZXJzaW9ufHxwYXJzZUludChkYXRhLnZlcnNpb24pIT09Myl7cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfWV4cG9ydHMuaXNLZXlzdG9yZVdhbGxldD1pc0tleXN0b3JlV2FsbGV0O2Z1bmN0aW9uIGdldEpzb25XYWxsZXRBZGRyZXNzKGpzb24pe2lmKGlzQ3Jvd2RzYWxlV2FsbGV0KGpzb24pKXt0cnl7cmV0dXJuKDAsbGliJDYuZ2V0QWRkcmVzcykoSlNPTi5wYXJzZShqc29uKS5ldGhhZGRyKX1jYXRjaChlcnJvcil7cmV0dXJuIG51bGx9fWlmKGlzS2V5c3RvcmVXYWxsZXQoanNvbikpe3RyeXtyZXR1cm4oMCxsaWIkNi5nZXRBZGRyZXNzKShKU09OLnBhcnNlKGpzb24pLmFkZHJlc3MpfWNhdGNoKGVycm9yKXtyZXR1cm4gbnVsbH19cmV0dXJuIG51bGx9ZXhwb3J0cy5nZXRKc29uV2FsbGV0QWRkcmVzcz1nZXRKc29uV2FsbGV0QWRkcmVzc30pO3ZhciBpbnNwZWN0JDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoaW5zcGVjdCk7dmFyIHNjcnlwdD1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihyb290KXtjb25zdCBNQVhfVkFMVUU9MjE0NzQ4MzY0NztmdW5jdGlvbiBTSEEyNTYobSl7Y29uc3QgSz1uZXcgVWludDMyQXJyYXkoWzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF0pO2xldCBoMD0xNzc5MDMzNzAzLGgxPTMxNDQxMzQyNzcsaDI9MTAxMzkwNDI0MixoMz0yNzczNDgwNzYyO2xldCBoND0xMzU5ODkzMTE5LGg1PTI2MDA4MjI5MjQsaDY9NTI4NzM0NjM1LGg3PTE1NDE0NTkyMjU7Y29uc3Qgdz1uZXcgVWludDMyQXJyYXkoNjQpO2Z1bmN0aW9uIGJsb2NrcyhwKXtsZXQgb2ZmPTAsbGVuPXAubGVuZ3RoO3doaWxlKGxlbj49NjQpe2xldCBhPWgwLGI9aDEsYz1oMixkPWgzLGU9aDQsZj1oNSxnPWg2LGg9aDcsdSxpLGosdDEsdDI7Zm9yKGk9MDtpPDE2O2krKyl7aj1vZmYraSo0O3dbaV09KHBbal0mMjU1KTw8MjR8KHBbaisxXSYyNTUpPDwxNnwocFtqKzJdJjI1NSk8PDh8cFtqKzNdJjI1NX1mb3IoaT0xNjtpPDY0O2krKyl7dT13W2ktMl07dDE9KHU+Pj4xN3x1PDwzMi0xNyleKHU+Pj4xOXx1PDwzMi0xOSledT4+PjEwO3U9d1tpLTE1XTt0Mj0odT4+Pjd8dTw8MzItNyleKHU+Pj4xOHx1PDwzMi0xOCledT4+PjM7d1tpXT0odDErd1tpLTddfDApKyh0Mit3W2ktMTZdfDApfDB9Zm9yKGk9MDtpPDY0O2krKyl7dDE9KCgoZT4+PjZ8ZTw8MzItNileKGU+Pj4xMXxlPDwzMi0xMSleKGU+Pj4yNXxlPDwzMi0yNSkpKyhlJmZefmUmZyl8MCkrKGgrKEtbaV0rd1tpXXwwKXwwKXwwO3QyPSgoYT4+PjJ8YTw8MzItMileKGE+Pj4xM3xhPDwzMi0xMyleKGE+Pj4yMnxhPDwzMi0yMikpKyhhJmJeYSZjXmImYyl8MDtoPWc7Zz1mO2Y9ZTtlPWQrdDF8MDtkPWM7Yz1iO2I9YTthPXQxK3QyfDB9aDA9aDArYXwwO2gxPWgxK2J8MDtoMj1oMitjfDA7aDM9aDMrZHwwO2g0PWg0K2V8MDtoNT1oNStmfDA7aDY9aDYrZ3wwO2g3PWg3K2h8MDtvZmYrPTY0O2xlbi09NjR9fWJsb2NrcyhtKTtsZXQgaSxieXRlc0xlZnQ9bS5sZW5ndGglNjQsYml0TGVuSGk9bS5sZW5ndGgvNTM2ODcwOTEyfDAsYml0TGVuTG89bS5sZW5ndGg8PDMsbnVtWmVyb3M9Ynl0ZXNMZWZ0PDU2PzU2OjEyMCxwPW0uc2xpY2UobS5sZW5ndGgtYnl0ZXNMZWZ0LG0ubGVuZ3RoKTtwLnB1c2goMTI4KTtmb3IoaT1ieXRlc0xlZnQrMTtpPG51bVplcm9zO2krKyl7cC5wdXNoKDApfXAucHVzaChiaXRMZW5IaT4+PjI0JjI1NSk7cC5wdXNoKGJpdExlbkhpPj4+MTYmMjU1KTtwLnB1c2goYml0TGVuSGk+Pj44JjI1NSk7cC5wdXNoKGJpdExlbkhpPj4+MCYyNTUpO3AucHVzaChiaXRMZW5Mbz4+PjI0JjI1NSk7cC5wdXNoKGJpdExlbkxvPj4+MTYmMjU1KTtwLnB1c2goYml0TGVuTG8+Pj44JjI1NSk7cC5wdXNoKGJpdExlbkxvPj4+MCYyNTUpO2Jsb2NrcyhwKTtyZXR1cm5baDA+Pj4yNCYyNTUsaDA+Pj4xNiYyNTUsaDA+Pj44JjI1NSxoMD4+PjAmMjU1LGgxPj4+MjQmMjU1LGgxPj4+MTYmMjU1LGgxPj4+OCYyNTUsaDE+Pj4wJjI1NSxoMj4+PjI0JjI1NSxoMj4+PjE2JjI1NSxoMj4+PjgmMjU1LGgyPj4+MCYyNTUsaDM+Pj4yNCYyNTUsaDM+Pj4xNiYyNTUsaDM+Pj44JjI1NSxoMz4+PjAmMjU1LGg0Pj4+MjQmMjU1LGg0Pj4+MTYmMjU1LGg0Pj4+OCYyNTUsaDQ+Pj4wJjI1NSxoNT4+PjI0JjI1NSxoNT4+PjE2JjI1NSxoNT4+PjgmMjU1LGg1Pj4+MCYyNTUsaDY+Pj4yNCYyNTUsaDY+Pj4xNiYyNTUsaDY+Pj44JjI1NSxoNj4+PjAmMjU1LGg3Pj4+MjQmMjU1LGg3Pj4+MTYmMjU1LGg3Pj4+OCYyNTUsaDc+Pj4wJjI1NV19ZnVuY3Rpb24gUEJLREYyX0hNQUNfU0hBMjU2X09uZUl0ZXIocGFzc3dvcmQsc2FsdCxka0xlbil7cGFzc3dvcmQ9cGFzc3dvcmQubGVuZ3RoPD02ND9wYXNzd29yZDpTSEEyNTYocGFzc3dvcmQpO2NvbnN0IGlubmVyTGVuPTY0K3NhbHQubGVuZ3RoKzQ7Y29uc3QgaW5uZXI9bmV3IEFycmF5KGlubmVyTGVuKTtjb25zdCBvdXRlcktleT1uZXcgQXJyYXkoNjQpO2xldCBpO2xldCBkaz1bXTtmb3IoaT0wO2k8NjQ7aSsrKXtpbm5lcltpXT01NH1mb3IoaT0wO2k8cGFzc3dvcmQubGVuZ3RoO2krKyl7aW5uZXJbaV1ePXBhc3N3b3JkW2ldfWZvcihpPTA7aTxzYWx0Lmxlbmd0aDtpKyspe2lubmVyWzY0K2ldPXNhbHRbaV19Zm9yKGk9aW5uZXJMZW4tNDtpPGlubmVyTGVuO2krKyl7aW5uZXJbaV09MH1mb3IoaT0wO2k8NjQ7aSsrKW91dGVyS2V5W2ldPTkyO2ZvcihpPTA7aTxwYXNzd29yZC5sZW5ndGg7aSsrKW91dGVyS2V5W2ldXj1wYXNzd29yZFtpXTtmdW5jdGlvbiBpbmNyZW1lbnRDb3VudGVyKCl7Zm9yKGxldCBpPWlubmVyTGVuLTE7aT49aW5uZXJMZW4tNDtpLS0pe2lubmVyW2ldKys7aWYoaW5uZXJbaV08PTI1NSlyZXR1cm47aW5uZXJbaV09MH19d2hpbGUoZGtMZW4+PTMyKXtpbmNyZW1lbnRDb3VudGVyKCk7ZGs9ZGsuY29uY2F0KFNIQTI1NihvdXRlcktleS5jb25jYXQoU0hBMjU2KGlubmVyKSkpKTtka0xlbi09MzJ9aWYoZGtMZW4+MCl7aW5jcmVtZW50Q291bnRlcigpO2RrPWRrLmNvbmNhdChTSEEyNTYob3V0ZXJLZXkuY29uY2F0KFNIQTI1Nihpbm5lcikpKS5zbGljZSgwLGRrTGVuKSl9cmV0dXJuIGRrfWZ1bmN0aW9uIGJsb2NrbWl4X3NhbHNhOChCWSxZaSxyLHgsX1gpe2xldCBpO2FycmF5Y29weShCWSwoMipyLTEpKjE2LF9YLDAsMTYpO2ZvcihpPTA7aTwyKnI7aSsrKXtibG9ja3hvcihCWSxpKjE2LF9YLDE2KTtzYWxzYTIwXzgoX1gseCk7YXJyYXljb3B5KF9YLDAsQlksWWkraSoxNiwxNil9Zm9yKGk9MDtpPHI7aSsrKXthcnJheWNvcHkoQlksWWkraSoyKjE2LEJZLGkqMTYsMTYpfWZvcihpPTA7aTxyO2krKyl7YXJyYXljb3B5KEJZLFlpKyhpKjIrMSkqMTYsQlksKGkrcikqMTYsMTYpfX1mdW5jdGlvbiBSKGEsYil7cmV0dXJuIGE8PGJ8YT4+PjMyLWJ9ZnVuY3Rpb24gc2Fsc2EyMF84KEIseCl7YXJyYXljb3B5KEIsMCx4LDAsMTYpO2ZvcihsZXQgaT04O2k+MDtpLT0yKXt4WzRdXj1SKHhbMF0reFsxMl0sNyk7eFs4XV49Uih4WzRdK3hbMF0sOSk7eFsxMl1ePVIoeFs4XSt4WzRdLDEzKTt4WzBdXj1SKHhbMTJdK3hbOF0sMTgpO3hbOV1ePVIoeFs1XSt4WzFdLDcpO3hbMTNdXj1SKHhbOV0reFs1XSw5KTt4WzFdXj1SKHhbMTNdK3hbOV0sMTMpO3hbNV1ePVIoeFsxXSt4WzEzXSwxOCk7eFsxNF1ePVIoeFsxMF0reFs2XSw3KTt4WzJdXj1SKHhbMTRdK3hbMTBdLDkpO3hbNl1ePVIoeFsyXSt4WzE0XSwxMyk7eFsxMF1ePVIoeFs2XSt4WzJdLDE4KTt4WzNdXj1SKHhbMTVdK3hbMTFdLDcpO3hbN11ePVIoeFszXSt4WzE1XSw5KTt4WzExXV49Uih4WzddK3hbM10sMTMpO3hbMTVdXj1SKHhbMTFdK3hbN10sMTgpO3hbMV1ePVIoeFswXSt4WzNdLDcpO3hbMl1ePVIoeFsxXSt4WzBdLDkpO3hbM11ePVIoeFsyXSt4WzFdLDEzKTt4WzBdXj1SKHhbM10reFsyXSwxOCk7eFs2XV49Uih4WzVdK3hbNF0sNyk7eFs3XV49Uih4WzZdK3hbNV0sOSk7eFs0XV49Uih4WzddK3hbNl0sMTMpO3hbNV1ePVIoeFs0XSt4WzddLDE4KTt4WzExXV49Uih4WzEwXSt4WzldLDcpO3hbOF1ePVIoeFsxMV0reFsxMF0sOSk7eFs5XV49Uih4WzhdK3hbMTFdLDEzKTt4WzEwXV49Uih4WzldK3hbOF0sMTgpO3hbMTJdXj1SKHhbMTVdK3hbMTRdLDcpO3hbMTNdXj1SKHhbMTJdK3hbMTVdLDkpO3hbMTRdXj1SKHhbMTNdK3hbMTJdLDEzKTt4WzE1XV49Uih4WzE0XSt4WzEzXSwxOCl9Zm9yKGxldCBpPTA7aTwxNjsrK2kpe0JbaV0rPXhbaV19fWZ1bmN0aW9uIGJsb2NreG9yKFMsU2ksRCxsZW4pe2ZvcihsZXQgaT0wO2k8bGVuO2krKyl7RFtpXV49U1tTaStpXX19ZnVuY3Rpb24gYXJyYXljb3B5KHNyYyxzcmNQb3MsZGVzdCxkZXN0UG9zLGxlbmd0aCl7d2hpbGUobGVuZ3RoLS0pe2Rlc3RbZGVzdFBvcysrXT1zcmNbc3JjUG9zKytdfX1mdW5jdGlvbiBjaGVja0J1ZmZlcmlzaChvKXtpZighb3x8dHlwZW9mIG8ubGVuZ3RoIT09Im51bWJlciIpe3JldHVybiBmYWxzZX1mb3IobGV0IGk9MDtpPG8ubGVuZ3RoO2krKyl7Y29uc3Qgdj1vW2ldO2lmKHR5cGVvZiB2IT09Im51bWJlciJ8fHYlMXx8djwwfHx2Pj0yNTYpe3JldHVybiBmYWxzZX19cmV0dXJuIHRydWV9ZnVuY3Rpb24gZW5zdXJlSW50ZWdlcih2YWx1ZSxuYW1lKXtpZih0eXBlb2YgdmFsdWUhPT0ibnVtYmVyInx8dmFsdWUlMSl7dGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkICIrbmFtZSl9cmV0dXJuIHZhbHVlfWZ1bmN0aW9uIF9zY3J5cHQocGFzc3dvcmQsc2FsdCxOLHIscCxka0xlbixjYWxsYmFjayl7Tj1lbnN1cmVJbnRlZ2VyKE4sIk4iKTtyPWVuc3VyZUludGVnZXIociwiciIpO3A9ZW5zdXJlSW50ZWdlcihwLCJwIik7ZGtMZW49ZW5zdXJlSW50ZWdlcihka0xlbiwiZGtMZW4iKTtpZihOPT09MHx8KE4mTi0xKSE9PTApe3Rocm93IG5ldyBFcnJvcigiTiBtdXN0IGJlIHBvd2VyIG9mIDIiKX1pZihOPk1BWF9WQUxVRS8xMjgvcil7dGhyb3cgbmV3IEVycm9yKCJOIHRvbyBsYXJnZSIpfWlmKHI+TUFYX1ZBTFVFLzEyOC9wKXt0aHJvdyBuZXcgRXJyb3IoInIgdG9vIGxhcmdlIil9aWYoIWNoZWNrQnVmZmVyaXNoKHBhc3N3b3JkKSl7dGhyb3cgbmV3IEVycm9yKCJwYXNzd29yZCBtdXN0IGJlIGFuIGFycmF5IG9yIGJ1ZmZlciIpfXBhc3N3b3JkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHBhc3N3b3JkKTtpZighY2hlY2tCdWZmZXJpc2goc2FsdCkpe3Rocm93IG5ldyBFcnJvcigic2FsdCBtdXN0IGJlIGFuIGFycmF5IG9yIGJ1ZmZlciIpfXNhbHQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoc2FsdCk7bGV0IGI9UEJLREYyX0hNQUNfU0hBMjU2X09uZUl0ZXIocGFzc3dvcmQsc2FsdCxwKjEyOCpyKTtjb25zdCBCPW5ldyBVaW50MzJBcnJheShwKjMyKnIpO2ZvcihsZXQgaT0wO2k8Qi5sZW5ndGg7aSsrKXtjb25zdCBqPWkqNDtCW2ldPShiW2orM10mMjU1KTw8MjR8KGJbaisyXSYyNTUpPDwxNnwoYltqKzFdJjI1NSk8PDh8KGJbaiswXSYyNTUpPDwwfWNvbnN0IFhZPW5ldyBVaW50MzJBcnJheSg2NCpyKTtjb25zdCBWPW5ldyBVaW50MzJBcnJheSgzMipyKk4pO2NvbnN0IFlpPTMyKnI7Y29uc3QgeD1uZXcgVWludDMyQXJyYXkoMTYpO2NvbnN0IF9YPW5ldyBVaW50MzJBcnJheSgxNik7Y29uc3QgdG90YWxPcHM9cCpOKjI7bGV0IGN1cnJlbnRPcD0wO2xldCBsYXN0UGVyY2VudDEwPW51bGw7bGV0IHN0b3A9ZmFsc2U7bGV0IHN0YXRlPTA7bGV0IGkwPTAsaTE7bGV0IEJpO2NvbnN0IGxpbWl0PWNhbGxiYWNrP3BhcnNlSW50KDFlMy9yKTo0Mjk0OTY3Mjk1O2NvbnN0IG5leHRUaWNrPXR5cGVvZiBzZXRJbW1lZGlhdGUhPT0idW5kZWZpbmVkIj9zZXRJbW1lZGlhdGU6c2V0VGltZW91dDtjb25zdCBpbmNyZW1lbnRhbFNNaXg9ZnVuY3Rpb24oKXtpZihzdG9wKXtyZXR1cm4gY2FsbGJhY2sobmV3IEVycm9yKCJjYW5jZWxsZWQiKSxjdXJyZW50T3AvdG90YWxPcHMpfWxldCBzdGVwcztzd2l0Y2goc3RhdGUpe2Nhc2UgMDpCaT1pMCozMipyO2FycmF5Y29weShCLEJpLFhZLDAsWWkpO3N0YXRlPTE7aTE9MDtjYXNlIDE6c3RlcHM9Ti1pMTtpZihzdGVwcz5saW1pdCl7c3RlcHM9bGltaXR9Zm9yKGxldCBpPTA7aTxzdGVwcztpKyspe2FycmF5Y29weShYWSwwLFYsKGkxK2kpKllpLFlpKTtibG9ja21peF9zYWxzYTgoWFksWWkscix4LF9YKX1pMSs9c3RlcHM7Y3VycmVudE9wKz1zdGVwcztpZihjYWxsYmFjayl7Y29uc3QgcGVyY2VudDEwPXBhcnNlSW50KDFlMypjdXJyZW50T3AvdG90YWxPcHMpO2lmKHBlcmNlbnQxMCE9PWxhc3RQZXJjZW50MTApe3N0b3A9Y2FsbGJhY2sobnVsbCxjdXJyZW50T3AvdG90YWxPcHMpO2lmKHN0b3Ape2JyZWFrfWxhc3RQZXJjZW50MTA9cGVyY2VudDEwfX1pZihpMTxOKXticmVha31pMT0wO3N0YXRlPTI7Y2FzZSAyOnN0ZXBzPU4taTE7aWYoc3RlcHM+bGltaXQpe3N0ZXBzPWxpbWl0fWZvcihsZXQgaT0wO2k8c3RlcHM7aSsrKXtjb25zdCBvZmZzZXQ9KDIqci0xKSoxNjtjb25zdCBqPVhZW29mZnNldF0mTi0xO2Jsb2NreG9yKFYsaipZaSxYWSxZaSk7YmxvY2ttaXhfc2Fsc2E4KFhZLFlpLHIseCxfWCl9aTErPXN0ZXBzO2N1cnJlbnRPcCs9c3RlcHM7aWYoY2FsbGJhY2spe2NvbnN0IHBlcmNlbnQxMD1wYXJzZUludCgxZTMqY3VycmVudE9wL3RvdGFsT3BzKTtpZihwZXJjZW50MTAhPT1sYXN0UGVyY2VudDEwKXtzdG9wPWNhbGxiYWNrKG51bGwsY3VycmVudE9wL3RvdGFsT3BzKTtpZihzdG9wKXticmVha31sYXN0UGVyY2VudDEwPXBlcmNlbnQxMH19aWYoaTE8Til7YnJlYWt9YXJyYXljb3B5KFhZLDAsQixCaSxZaSk7aTArKztpZihpMDxwKXtzdGF0ZT0wO2JyZWFrfWI9W107Zm9yKGxldCBpPTA7aTxCLmxlbmd0aDtpKyspe2IucHVzaChCW2ldPj4wJjI1NSk7Yi5wdXNoKEJbaV0+PjgmMjU1KTtiLnB1c2goQltpXT4+MTYmMjU1KTtiLnB1c2goQltpXT4+MjQmMjU1KX1jb25zdCBkZXJpdmVkS2V5PVBCS0RGMl9ITUFDX1NIQTI1Nl9PbmVJdGVyKHBhc3N3b3JkLGIsZGtMZW4pO2lmKGNhbGxiYWNrKXtjYWxsYmFjayhudWxsLDEsZGVyaXZlZEtleSl9cmV0dXJuIGRlcml2ZWRLZXl9aWYoY2FsbGJhY2spe25leHRUaWNrKGluY3JlbWVudGFsU01peCl9fTtpZighY2FsbGJhY2spe3doaWxlKHRydWUpe2NvbnN0IGRlcml2ZWRLZXk9aW5jcmVtZW50YWxTTWl4KCk7aWYoZGVyaXZlZEtleSE9dW5kZWZpbmVkKXtyZXR1cm4gZGVyaXZlZEtleX19fWluY3JlbWVudGFsU01peCgpfWNvbnN0IGxpYj17c2NyeXB0OmZ1bmN0aW9uKHBhc3N3b3JkLHNhbHQsTixyLHAsZGtMZW4scHJvZ3Jlc3NDYWxsYmFjayl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUscmVqZWN0KXtsZXQgbGFzdFByb2dyZXNzPTA7aWYocHJvZ3Jlc3NDYWxsYmFjayl7cHJvZ3Jlc3NDYWxsYmFjaygwKX1fc2NyeXB0KHBhc3N3b3JkLHNhbHQsTixyLHAsZGtMZW4sZnVuY3Rpb24oZXJyb3IscHJvZ3Jlc3Msa2V5KXtpZihlcnJvcil7cmVqZWN0KGVycm9yKX1lbHNlIGlmKGtleSl7aWYocHJvZ3Jlc3NDYWxsYmFjayYmbGFzdFByb2dyZXNzIT09MSl7cHJvZ3Jlc3NDYWxsYmFjaygxKX1yZXNvbHZlKG5ldyBVaW50OEFycmF5KGtleSkpfWVsc2UgaWYocHJvZ3Jlc3NDYWxsYmFjayYmcHJvZ3Jlc3MhPT1sYXN0UHJvZ3Jlc3Mpe2xhc3RQcm9ncmVzcz1wcm9ncmVzcztyZXR1cm4gcHJvZ3Jlc3NDYWxsYmFjayhwcm9ncmVzcyl9fSl9KX0sc3luY1NjcnlwdDpmdW5jdGlvbihwYXNzd29yZCxzYWx0LE4scixwLGRrTGVuKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoX3NjcnlwdChwYXNzd29yZCxzYWx0LE4scixwLGRrTGVuKSl9fTtpZigib2JqZWN0IiE9PSJ1bmRlZmluZWQiKXttb2R1bGUuZXhwb3J0cz1saWJ9ZWxzZSBpZih0eXBlb2YgdW5kZWZpbmVkPT09ImZ1bmN0aW9uIiYmdW5kZWZpbmVkLmFtZCl7dW5kZWZpbmVkKGxpYil9ZWxzZSBpZihyb290KXtpZihyb290LnNjcnlwdCl7cm9vdC5fc2NyeXB0PXJvb3Quc2NyeXB0fXJvb3Quc2NyeXB0PWxpYn19KShjb21tb25qc0dsb2JhbCl9KTt2YXIga2V5c3RvcmU9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgX19leHRlbmRzPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIGV4dGVuZFN0YXRpY3M9ZnVuY3Rpb24oZCxiKXtleHRlbmRTdGF0aWNzPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihkLGIpe2QuX19wcm90b19fPWJ9fHxmdW5jdGlvbihkLGIpe2Zvcih2YXIgcCBpbiBiKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLHApKWRbcF09YltwXX07cmV0dXJuIGV4dGVuZFN0YXRpY3MoZCxiKX07cmV0dXJuIGZ1bmN0aW9uKGQsYil7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iJiZiIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKGIpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2V4dGVuZFN0YXRpY3MoZCxiKTtmdW5jdGlvbiBfXygpe3RoaXMuY29uc3RydWN0b3I9ZH1kLnByb3RvdHlwZT1iPT09bnVsbD9PYmplY3QuY3JlYXRlKGIpOihfXy5wcm90b3R5cGU9Yi5wcm90b3R5cGUsbmV3IF9fKX19KCk7dmFyIF9fYXdhaXRlcj1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19hd2FpdGVyfHxmdW5jdGlvbih0aGlzQXJnLF9hcmd1bWVudHMsUCxnZW5lcmF0b3Ipe2Z1bmN0aW9uIGFkb3B0KHZhbHVlKXtyZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQP3ZhbHVlOm5ldyBQKGZ1bmN0aW9uKHJlc29sdmUpe3Jlc29sdmUodmFsdWUpfSl9cmV0dXJuIG5ldyhQfHwoUD1Qcm9taXNlKSkoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe2Z1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSl7dHJ5e3N0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKX1jYXRjaChlKXtyZWplY3QoZSl9fWZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKXt0cnl7c3RlcChnZW5lcmF0b3JbInRocm93Il0odmFsdWUpKX1jYXRjaChlKXtyZWplY3QoZSl9fWZ1bmN0aW9uIHN0ZXAocmVzdWx0KXtyZXN1bHQuZG9uZT9yZXNvbHZlKHJlc3VsdC52YWx1ZSk6YWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCxyZWplY3RlZCl9c3RlcCgoZ2VuZXJhdG9yPWdlbmVyYXRvci5hcHBseSh0aGlzQXJnLF9hcmd1bWVudHN8fFtdKSkubmV4dCgpKX0pfTt2YXIgX19nZW5lcmF0b3I9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0aGlzQXJnLGJvZHkpe3ZhciBfPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZih0WzBdJjEpdGhyb3cgdFsxXTtyZXR1cm4gdFsxXX0sdHJ5czpbXSxvcHM6W119LGYseSx0LGc7cmV0dXJuIGc9e25leHQ6dmVyYigwKSx0aHJvdzp2ZXJiKDEpLHJldHVybjp2ZXJiKDIpfSx0eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmKGdbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksZztmdW5jdGlvbiB2ZXJiKG4pe3JldHVybiBmdW5jdGlvbih2KXtyZXR1cm4gc3RlcChbbix2XSl9fWZ1bmN0aW9uIHN0ZXAob3Ape2lmKGYpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO3doaWxlKF8pdHJ5e2lmKGY9MSx5JiYodD1vcFswXSYyP3lbInJldHVybiJdOm9wWzBdP3lbInRocm93Il18fCgodD15WyJyZXR1cm4iXSkmJnQuY2FsbCh5KSwwKTp5Lm5leHQpJiYhKHQ9dC5jYWxsKHksb3BbMV0pKS5kb25lKXJldHVybiB0O2lmKHk9MCx0KW9wPVtvcFswXSYyLHQudmFsdWVdO3N3aXRjaChvcFswXSl7Y2FzZSAwOmNhc2UgMTp0PW9wO2JyZWFrO2Nhc2UgNDpfLmxhYmVsKys7cmV0dXJue3ZhbHVlOm9wWzFdLGRvbmU6ZmFsc2V9O2Nhc2UgNTpfLmxhYmVsKys7eT1vcFsxXTtvcD1bMF07Y29udGludWU7Y2FzZSA3Om9wPV8ub3BzLnBvcCgpO18udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEodD1fLnRyeXMsdD10Lmxlbmd0aD4wJiZ0W3QubGVuZ3RoLTFdKSYmKG9wWzBdPT09Nnx8b3BbMF09PT0yKSl7Xz0wO2NvbnRpbnVlfWlmKG9wWzBdPT09MyYmKCF0fHxvcFsxXT50WzBdJiZvcFsxXTx0WzNdKSl7Xy5sYWJlbD1vcFsxXTticmVha31pZihvcFswXT09PTYmJl8ubGFiZWw8dFsxXSl7Xy5sYWJlbD10WzFdO3Q9b3A7YnJlYWt9aWYodCYmXy5sYWJlbDx0WzJdKXtfLmxhYmVsPXRbMl07Xy5vcHMucHVzaChvcCk7YnJlYWt9aWYodFsyXSlfLm9wcy5wb3AoKTtfLnRyeXMucG9wKCk7Y29udGludWV9b3A9Ym9keS5jYWxsKHRoaXNBcmcsXyl9Y2F0Y2goZSl7b3A9WzYsZV07eT0wfWZpbmFsbHl7Zj10PTB9aWYob3BbMF0mNSl0aHJvdyBvcFsxXTtyZXR1cm57dmFsdWU6b3BbMF0/b3BbMV06dm9pZCAwLGRvbmU6dHJ1ZX19fTt2YXIgX19pbXBvcnREZWZhdWx0PWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2ltcG9ydERlZmF1bHR8fGZ1bmN0aW9uKG1vZCl7cmV0dXJuIG1vZCYmbW9kLl9fZXNNb2R1bGU/bW9kOntkZWZhdWx0Om1vZH19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuZW5jcnlwdD1leHBvcnRzLmRlY3J5cHQ9ZXhwb3J0cy5kZWNyeXB0U3luYz1leHBvcnRzLktleXN0b3JlQWNjb3VudD12b2lkIDA7dmFyIGFlc19qc18xPV9faW1wb3J0RGVmYXVsdChhZXNKcyk7dmFyIHNjcnlwdF9qc18xPV9faW1wb3J0RGVmYXVsdChzY3J5cHQpO3ZhciBsb2dnZXI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kQS52ZXJzaW9uKTtmdW5jdGlvbiBoYXNNbmVtb25pYyh2YWx1ZSl7cmV0dXJuIHZhbHVlIT1udWxsJiZ2YWx1ZS5tbmVtb25pYyYmdmFsdWUubW5lbW9uaWMucGhyYXNlfXZhciBLZXlzdG9yZUFjY291bnQ9ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoS2V5c3RvcmVBY2NvdW50LF9zdXBlcik7ZnVuY3Rpb24gS2V5c3RvcmVBY2NvdW50KCl7cmV0dXJuIF9zdXBlciE9PW51bGwmJl9zdXBlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9S2V5c3RvcmVBY2NvdW50LnByb3RvdHlwZS5pc0tleXN0b3JlQWNjb3VudD1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuISEodmFsdWUmJnZhbHVlLl9pc0tleXN0b3JlQWNjb3VudCl9O3JldHVybiBLZXlzdG9yZUFjY291bnR9KGxpYiQzLkRlc2NyaXB0aW9uKTtleHBvcnRzLktleXN0b3JlQWNjb3VudD1LZXlzdG9yZUFjY291bnQ7ZnVuY3Rpb24gX2RlY3J5cHQoZGF0YSxrZXksY2lwaGVydGV4dCl7dmFyIGNpcGhlcj0oMCx1dGlscyQxLnNlYXJjaFBhdGgpKGRhdGEsImNyeXB0by9jaXBoZXIiKTtpZihjaXBoZXI9PT0iYWVzLTEyOC1jdHIiKXt2YXIgaXY9KDAsdXRpbHMkMS5sb29zZUFycmF5aWZ5KSgoMCx1dGlscyQxLnNlYXJjaFBhdGgpKGRhdGEsImNyeXB0by9jaXBoZXJwYXJhbXMvaXYiKSk7dmFyIGNvdW50ZXI9bmV3IGFlc19qc18xLmRlZmF1bHQuQ291bnRlcihpdik7dmFyIGFlc0N0cj1uZXcgYWVzX2pzXzEuZGVmYXVsdC5Nb2RlT2ZPcGVyYXRpb24uY3RyKGtleSxjb3VudGVyKTtyZXR1cm4oMCxsaWIkMS5hcnJheWlmeSkoYWVzQ3RyLmRlY3J5cHQoY2lwaGVydGV4dCkpfXJldHVybiBudWxsfWZ1bmN0aW9uIF9nZXRBY2NvdW50KGRhdGEsa2V5KXt2YXIgY2lwaGVydGV4dD0oMCx1dGlscyQxLmxvb3NlQXJyYXlpZnkpKCgwLHV0aWxzJDEuc2VhcmNoUGF0aCkoZGF0YSwiY3J5cHRvL2NpcGhlcnRleHQiKSk7dmFyIGNvbXB1dGVkTUFDPSgwLGxpYiQxLmhleGxpZnkpKCgwLGxpYiQ0LmtlY2NhazI1NikoKDAsbGliJDEuY29uY2F0KShba2V5LnNsaWNlKDE2LDMyKSxjaXBoZXJ0ZXh0XSkpKS5zdWJzdHJpbmcoMik7aWYoY29tcHV0ZWRNQUMhPT0oMCx1dGlscyQxLnNlYXJjaFBhdGgpKGRhdGEsImNyeXB0by9tYWMiKS50b0xvd2VyQ2FzZSgpKXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcGFzc3dvcmQiKX12YXIgcHJpdmF0ZUtleT1fZGVjcnlwdChkYXRhLGtleS5zbGljZSgwLDE2KSxjaXBoZXJ0ZXh0KTtpZighcHJpdmF0ZUtleSl7bG9nZ2VyLnRocm93RXJyb3IoInVuc3VwcG9ydGVkIGNpcGhlciIsbGliLkxvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246ImRlY3J5cHQifSl9dmFyIG1uZW1vbmljS2V5PWtleS5zbGljZSgzMiw2NCk7dmFyIGFkZHJlc3M9KDAsbGliJGguY29tcHV0ZUFkZHJlc3MpKHByaXZhdGVLZXkpO2lmKGRhdGEuYWRkcmVzcyl7dmFyIGNoZWNrPWRhdGEuYWRkcmVzcy50b0xvd2VyQ2FzZSgpO2lmKGNoZWNrLnN1YnN0cmluZygwLDIpIT09IjB4Iil7Y2hlY2s9IjB4IitjaGVja31pZigoMCxsaWIkNi5nZXRBZGRyZXNzKShjaGVjaykhPT1hZGRyZXNzKXt0aHJvdyBuZXcgRXJyb3IoImFkZHJlc3MgbWlzbWF0Y2giKX19dmFyIGFjY291bnQ9e19pc0tleXN0b3JlQWNjb3VudDp0cnVlLGFkZHJlc3M6YWRkcmVzcyxwcml2YXRlS2V5OigwLGxpYiQxLmhleGxpZnkpKHByaXZhdGVLZXkpfTtpZigoMCx1dGlscyQxLnNlYXJjaFBhdGgpKGRhdGEsIngtZXRoZXJzL3ZlcnNpb24iKT09PSIwLjEiKXt2YXIgbW5lbW9uaWNDaXBoZXJ0ZXh0PSgwLHV0aWxzJDEubG9vc2VBcnJheWlmeSkoKDAsdXRpbHMkMS5zZWFyY2hQYXRoKShkYXRhLCJ4LWV0aGVycy9tbmVtb25pY0NpcGhlcnRleHQiKSk7dmFyIG1uZW1vbmljSXY9KDAsdXRpbHMkMS5sb29zZUFycmF5aWZ5KSgoMCx1dGlscyQxLnNlYXJjaFBhdGgpKGRhdGEsIngtZXRoZXJzL21uZW1vbmljQ291bnRlciIpKTt2YXIgbW5lbW9uaWNDb3VudGVyPW5ldyBhZXNfanNfMS5kZWZhdWx0LkNvdW50ZXIobW5lbW9uaWNJdik7dmFyIG1uZW1vbmljQWVzQ3RyPW5ldyBhZXNfanNfMS5kZWZhdWx0Lk1vZGVPZk9wZXJhdGlvbi5jdHIobW5lbW9uaWNLZXksbW5lbW9uaWNDb3VudGVyKTt2YXIgcGF0aD0oMCx1dGlscyQxLnNlYXJjaFBhdGgpKGRhdGEsIngtZXRoZXJzL3BhdGgiKXx8bGliJG4uZGVmYXVsdFBhdGg7dmFyIGxvY2FsZT0oMCx1dGlscyQxLnNlYXJjaFBhdGgpKGRhdGEsIngtZXRoZXJzL2xvY2FsZSIpfHwiZW4iO3ZhciBlbnRyb3B5PSgwLGxpYiQxLmFycmF5aWZ5KShtbmVtb25pY0Flc0N0ci5kZWNyeXB0KG1uZW1vbmljQ2lwaGVydGV4dCkpO3RyeXt2YXIgbW5lbW9uaWM9KDAsbGliJG4uZW50cm9weVRvTW5lbW9uaWMpKGVudHJvcHksbG9jYWxlKTt2YXIgbm9kZT1saWIkbi5IRE5vZGUuZnJvbU1uZW1vbmljKG1uZW1vbmljLG51bGwsbG9jYWxlKS5kZXJpdmVQYXRoKHBhdGgpO2lmKG5vZGUucHJpdmF0ZUtleSE9YWNjb3VudC5wcml2YXRlS2V5KXt0aHJvdyBuZXcgRXJyb3IoIm1uZW1vbmljIG1pc21hdGNoIil9YWNjb3VudC5tbmVtb25pYz1ub2RlLm1uZW1vbmljfWNhdGNoKGVycm9yKXtpZihlcnJvci5jb2RlIT09bGliLkxvZ2dlci5lcnJvcnMuSU5WQUxJRF9BUkdVTUVOVHx8ZXJyb3IuYXJndW1lbnQhPT0id29yZGxpc3QiKXt0aHJvdyBlcnJvcn19fXJldHVybiBuZXcgS2V5c3RvcmVBY2NvdW50KGFjY291bnQpfWZ1bmN0aW9uIHBia2RmMlN5bmMocGFzc3dvcmRCeXRlcyxzYWx0LGNvdW50LGRrTGVuLHByZkZ1bmMpe3JldHVybigwLGxpYiQxLmFycmF5aWZ5KSgoMCxsaWIkbC5wYmtkZjIpKHBhc3N3b3JkQnl0ZXMsc2FsdCxjb3VudCxka0xlbixwcmZGdW5jKSl9ZnVuY3Rpb24gcGJrZGYyKHBhc3N3b3JkQnl0ZXMsc2FsdCxjb3VudCxka0xlbixwcmZGdW5jKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHBia2RmMlN5bmMocGFzc3dvcmRCeXRlcyxzYWx0LGNvdW50LGRrTGVuLHByZkZ1bmMpKX1mdW5jdGlvbiBfY29tcHV0ZUtkZktleShkYXRhLHBhc3N3b3JkLHBia2RmMkZ1bmMsc2NyeXB0RnVuYyxwcm9ncmVzc0NhbGxiYWNrKXt2YXIgcGFzc3dvcmRCeXRlcz0oMCx1dGlscyQxLmdldFBhc3N3b3JkKShwYXNzd29yZCk7dmFyIGtkZj0oMCx1dGlscyQxLnNlYXJjaFBhdGgpKGRhdGEsImNyeXB0by9rZGYiKTtpZihrZGYmJnR5cGVvZiBrZGY9PT0ic3RyaW5nIil7dmFyIHRocm93RXJyb3I9ZnVuY3Rpb24obmFtZSx2YWx1ZSl7cmV0dXJuIGxvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQga2V5LWRlcml2YXRpb24gZnVuY3Rpb24gcGFyYW1ldGVycyIsbmFtZSx2YWx1ZSl9O2lmKGtkZi50b0xvd2VyQ2FzZSgpPT09InNjcnlwdCIpe3ZhciBzYWx0PSgwLHV0aWxzJDEubG9vc2VBcnJheWlmeSkoKDAsdXRpbHMkMS5zZWFyY2hQYXRoKShkYXRhLCJjcnlwdG8va2RmcGFyYW1zL3NhbHQiKSk7dmFyIE49cGFyc2VJbnQoKDAsdXRpbHMkMS5zZWFyY2hQYXRoKShkYXRhLCJjcnlwdG8va2RmcGFyYW1zL24iKSk7dmFyIHI9cGFyc2VJbnQoKDAsdXRpbHMkMS5zZWFyY2hQYXRoKShkYXRhLCJjcnlwdG8va2RmcGFyYW1zL3IiKSk7dmFyIHA9cGFyc2VJbnQoKDAsdXRpbHMkMS5zZWFyY2hQYXRoKShkYXRhLCJjcnlwdG8va2RmcGFyYW1zL3AiKSk7aWYoIU58fCFyfHwhcCl7dGhyb3dFcnJvcigia2RmIixrZGYpfWlmKChOJk4tMSkhPT0wKXt0aHJvd0Vycm9yKCJOIixOKX12YXIgZGtMZW49cGFyc2VJbnQoKDAsdXRpbHMkMS5zZWFyY2hQYXRoKShkYXRhLCJjcnlwdG8va2RmcGFyYW1zL2RrbGVuIikpO2lmKGRrTGVuIT09MzIpe3Rocm93RXJyb3IoImRrbGVuIixka0xlbil9cmV0dXJuIHNjcnlwdEZ1bmMocGFzc3dvcmRCeXRlcyxzYWx0LE4scixwLDY0LHByb2dyZXNzQ2FsbGJhY2spfWVsc2UgaWYoa2RmLnRvTG93ZXJDYXNlKCk9PT0icGJrZGYyIil7dmFyIHNhbHQ9KDAsdXRpbHMkMS5sb29zZUFycmF5aWZ5KSgoMCx1dGlscyQxLnNlYXJjaFBhdGgpKGRhdGEsImNyeXB0by9rZGZwYXJhbXMvc2FsdCIpKTt2YXIgcHJmRnVuYz1udWxsO3ZhciBwcmY9KDAsdXRpbHMkMS5zZWFyY2hQYXRoKShkYXRhLCJjcnlwdG8va2RmcGFyYW1zL3ByZiIpO2lmKHByZj09PSJobWFjLXNoYTI1NiIpe3ByZkZ1bmM9InNoYTI1NiJ9ZWxzZSBpZihwcmY9PT0iaG1hYy1zaGE1MTIiKXtwcmZGdW5jPSJzaGE1MTIifWVsc2V7dGhyb3dFcnJvcigicHJmIixwcmYpfXZhciBjb3VudD1wYXJzZUludCgoMCx1dGlscyQxLnNlYXJjaFBhdGgpKGRhdGEsImNyeXB0by9rZGZwYXJhbXMvYyIpKTt2YXIgZGtMZW49cGFyc2VJbnQoKDAsdXRpbHMkMS5zZWFyY2hQYXRoKShkYXRhLCJjcnlwdG8va2RmcGFyYW1zL2RrbGVuIikpO2lmKGRrTGVuIT09MzIpe3Rocm93RXJyb3IoImRrbGVuIixka0xlbil9cmV0dXJuIHBia2RmMkZ1bmMocGFzc3dvcmRCeXRlcyxzYWx0LGNvdW50LGRrTGVuLHByZkZ1bmMpfX1yZXR1cm4gbG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidW5zdXBwb3J0ZWQga2V5LWRlcml2YXRpb24gZnVuY3Rpb24iLCJrZGYiLGtkZil9ZnVuY3Rpb24gZGVjcnlwdFN5bmMoanNvbixwYXNzd29yZCl7dmFyIGRhdGE9SlNPTi5wYXJzZShqc29uKTt2YXIga2V5PV9jb21wdXRlS2RmS2V5KGRhdGEscGFzc3dvcmQscGJrZGYyU3luYyxzY3J5cHRfanNfMS5kZWZhdWx0LnN5bmNTY3J5cHQpO3JldHVybiBfZ2V0QWNjb3VudChkYXRhLGtleSl9ZXhwb3J0cy5kZWNyeXB0U3luYz1kZWNyeXB0U3luYztmdW5jdGlvbiBkZWNyeXB0KGpzb24scGFzc3dvcmQscHJvZ3Jlc3NDYWxsYmFjayl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgZGF0YSxrZXk7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOmRhdGE9SlNPTi5wYXJzZShqc29uKTtyZXR1cm5bNCxfY29tcHV0ZUtkZktleShkYXRhLHBhc3N3b3JkLHBia2RmMixzY3J5cHRfanNfMS5kZWZhdWx0LnNjcnlwdCxwcm9ncmVzc0NhbGxiYWNrKV07Y2FzZSAxOmtleT1fYS5zZW50KCk7cmV0dXJuWzIsX2dldEFjY291bnQoZGF0YSxrZXkpXX19KX0pfWV4cG9ydHMuZGVjcnlwdD1kZWNyeXB0O2Z1bmN0aW9uIGVuY3J5cHQoYWNjb3VudCxwYXNzd29yZCxvcHRpb25zLHByb2dyZXNzQ2FsbGJhY2spe3RyeXtpZigoMCxsaWIkNi5nZXRBZGRyZXNzKShhY2NvdW50LmFkZHJlc3MpIT09KDAsbGliJGguY29tcHV0ZUFkZHJlc3MpKGFjY291bnQucHJpdmF0ZUtleSkpe3Rocm93IG5ldyBFcnJvcigiYWRkcmVzcy9wcml2YXRlS2V5IG1pc21hdGNoIil9aWYoaGFzTW5lbW9uaWMoYWNjb3VudCkpe3ZhciBtbmVtb25pYz1hY2NvdW50Lm1uZW1vbmljO3ZhciBub2RlPWxpYiRuLkhETm9kZS5mcm9tTW5lbW9uaWMobW5lbW9uaWMucGhyYXNlLG51bGwsbW5lbW9uaWMubG9jYWxlKS5kZXJpdmVQYXRoKG1uZW1vbmljLnBhdGh8fGxpYiRuLmRlZmF1bHRQYXRoKTtpZihub2RlLnByaXZhdGVLZXkhPWFjY291bnQucHJpdmF0ZUtleSl7dGhyb3cgbmV3IEVycm9yKCJtbmVtb25pYyBtaXNtYXRjaCIpfX19Y2F0Y2goZSl7cmV0dXJuIFByb21pc2UucmVqZWN0KGUpfWlmKHR5cGVvZiBvcHRpb25zPT09ImZ1bmN0aW9uIiYmIXByb2dyZXNzQ2FsbGJhY2spe3Byb2dyZXNzQ2FsbGJhY2s9b3B0aW9ucztvcHRpb25zPXt9fWlmKCFvcHRpb25zKXtvcHRpb25zPXt9fXZhciBwcml2YXRlS2V5PSgwLGxpYiQxLmFycmF5aWZ5KShhY2NvdW50LnByaXZhdGVLZXkpO3ZhciBwYXNzd29yZEJ5dGVzPSgwLHV0aWxzJDEuZ2V0UGFzc3dvcmQpKHBhc3N3b3JkKTt2YXIgZW50cm9weT1udWxsO3ZhciBwYXRoPW51bGw7dmFyIGxvY2FsZT1udWxsO2lmKGhhc01uZW1vbmljKGFjY291bnQpKXt2YXIgc3JjTW5lbW9uaWM9YWNjb3VudC5tbmVtb25pYztlbnRyb3B5PSgwLGxpYiQxLmFycmF5aWZ5KSgoMCxsaWIkbi5tbmVtb25pY1RvRW50cm9weSkoc3JjTW5lbW9uaWMucGhyYXNlLHNyY01uZW1vbmljLmxvY2FsZXx8ImVuIikpO3BhdGg9c3JjTW5lbW9uaWMucGF0aHx8bGliJG4uZGVmYXVsdFBhdGg7bG9jYWxlPXNyY01uZW1vbmljLmxvY2FsZXx8ImVuIn12YXIgY2xpZW50PW9wdGlvbnMuY2xpZW50O2lmKCFjbGllbnQpe2NsaWVudD0iZXRoZXJzLmpzIn12YXIgc2FsdD1udWxsO2lmKG9wdGlvbnMuc2FsdCl7c2FsdD0oMCxsaWIkMS5hcnJheWlmeSkob3B0aW9ucy5zYWx0KX1lbHNle3NhbHQ9KDAsbGliJG8ucmFuZG9tQnl0ZXMpKDMyKX12YXIgaXY9bnVsbDtpZihvcHRpb25zLml2KXtpdj0oMCxsaWIkMS5hcnJheWlmeSkob3B0aW9ucy5pdik7aWYoaXYubGVuZ3RoIT09MTYpe3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCBpdiIpfX1lbHNle2l2PSgwLGxpYiRvLnJhbmRvbUJ5dGVzKSgxNil9dmFyIHV1aWRSYW5kb209bnVsbDtpZihvcHRpb25zLnV1aWQpe3V1aWRSYW5kb209KDAsbGliJDEuYXJyYXlpZnkpKG9wdGlvbnMudXVpZCk7aWYodXVpZFJhbmRvbS5sZW5ndGghPT0xNil7dGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHV1aWQiKX19ZWxzZXt1dWlkUmFuZG9tPSgwLGxpYiRvLnJhbmRvbUJ5dGVzKSgxNil9dmFyIE49MTw8MTcscj04LHA9MTtpZihvcHRpb25zLnNjcnlwdCl7aWYob3B0aW9ucy5zY3J5cHQuTil7Tj1vcHRpb25zLnNjcnlwdC5OfWlmKG9wdGlvbnMuc2NyeXB0LnIpe3I9b3B0aW9ucy5zY3J5cHQucn1pZihvcHRpb25zLnNjcnlwdC5wKXtwPW9wdGlvbnMuc2NyeXB0LnB9fXJldHVybiBzY3J5cHRfanNfMS5kZWZhdWx0LnNjcnlwdChwYXNzd29yZEJ5dGVzLHNhbHQsTixyLHAsNjQscHJvZ3Jlc3NDYWxsYmFjaykudGhlbihmdW5jdGlvbihrZXkpe2tleT0oMCxsaWIkMS5hcnJheWlmeSkoa2V5KTt2YXIgZGVyaXZlZEtleT1rZXkuc2xpY2UoMCwxNik7dmFyIG1hY1ByZWZpeD1rZXkuc2xpY2UoMTYsMzIpO3ZhciBtbmVtb25pY0tleT1rZXkuc2xpY2UoMzIsNjQpO3ZhciBjb3VudGVyPW5ldyBhZXNfanNfMS5kZWZhdWx0LkNvdW50ZXIoaXYpO3ZhciBhZXNDdHI9bmV3IGFlc19qc18xLmRlZmF1bHQuTW9kZU9mT3BlcmF0aW9uLmN0cihkZXJpdmVkS2V5LGNvdW50ZXIpO3ZhciBjaXBoZXJ0ZXh0PSgwLGxpYiQxLmFycmF5aWZ5KShhZXNDdHIuZW5jcnlwdChwcml2YXRlS2V5KSk7dmFyIG1hYz0oMCxsaWIkNC5rZWNjYWsyNTYpKCgwLGxpYiQxLmNvbmNhdCkoW21hY1ByZWZpeCxjaXBoZXJ0ZXh0XSkpO3ZhciBkYXRhPXthZGRyZXNzOmFjY291bnQuYWRkcmVzcy5zdWJzdHJpbmcoMikudG9Mb3dlckNhc2UoKSxpZDooMCx1dGlscyQxLnV1aWRWNCkodXVpZFJhbmRvbSksdmVyc2lvbjozLGNyeXB0bzp7Y2lwaGVyOiJhZXMtMTI4LWN0ciIsY2lwaGVycGFyYW1zOntpdjooMCxsaWIkMS5oZXhsaWZ5KShpdikuc3Vic3RyaW5nKDIpfSxjaXBoZXJ0ZXh0OigwLGxpYiQxLmhleGxpZnkpKGNpcGhlcnRleHQpLnN1YnN0cmluZygyKSxrZGY6InNjcnlwdCIsa2RmcGFyYW1zOntzYWx0OigwLGxpYiQxLmhleGxpZnkpKHNhbHQpLnN1YnN0cmluZygyKSxuOk4sZGtsZW46MzIscDpwLHI6cn0sbWFjOm1hYy5zdWJzdHJpbmcoMil9fTtpZihlbnRyb3B5KXt2YXIgbW5lbW9uaWNJdj0oMCxsaWIkby5yYW5kb21CeXRlcykoMTYpO3ZhciBtbmVtb25pY0NvdW50ZXI9bmV3IGFlc19qc18xLmRlZmF1bHQuQ291bnRlcihtbmVtb25pY0l2KTt2YXIgbW5lbW9uaWNBZXNDdHI9bmV3IGFlc19qc18xLmRlZmF1bHQuTW9kZU9mT3BlcmF0aW9uLmN0cihtbmVtb25pY0tleSxtbmVtb25pY0NvdW50ZXIpO3ZhciBtbmVtb25pY0NpcGhlcnRleHQ9KDAsbGliJDEuYXJyYXlpZnkpKG1uZW1vbmljQWVzQ3RyLmVuY3J5cHQoZW50cm9weSkpO3ZhciBub3c9bmV3IERhdGU7dmFyIHRpbWVzdGFtcD1ub3cuZ2V0VVRDRnVsbFllYXIoKSsiLSIrKDAsdXRpbHMkMS56cGFkKShub3cuZ2V0VVRDTW9udGgoKSsxLDIpKyItIisoMCx1dGlscyQxLnpwYWQpKG5vdy5nZXRVVENEYXRlKCksMikrIlQiKygwLHV0aWxzJDEuenBhZCkobm93LmdldFVUQ0hvdXJzKCksMikrIi0iKygwLHV0aWxzJDEuenBhZCkobm93LmdldFVUQ01pbnV0ZXMoKSwyKSsiLSIrKDAsdXRpbHMkMS56cGFkKShub3cuZ2V0VVRDU2Vjb25kcygpLDIpKyIuMFoiO2RhdGFbIngtZXRoZXJzIl09e2NsaWVudDpjbGllbnQsZ2V0aEZpbGVuYW1lOiJVVEMtLSIrdGltZXN0YW1wKyItLSIrZGF0YS5hZGRyZXNzLG1uZW1vbmljQ291bnRlcjooMCxsaWIkMS5oZXhsaWZ5KShtbmVtb25pY0l2KS5zdWJzdHJpbmcoMiksbW5lbW9uaWNDaXBoZXJ0ZXh0OigwLGxpYiQxLmhleGxpZnkpKG1uZW1vbmljQ2lwaGVydGV4dCkuc3Vic3RyaW5nKDIpLHBhdGg6cGF0aCxsb2NhbGU6bG9jYWxlLHZlcnNpb246IjAuMSJ9fXJldHVybiBKU09OLnN0cmluZ2lmeShkYXRhKX0pfWV4cG9ydHMuZW5jcnlwdD1lbmNyeXB0fSk7dmFyIGtleXN0b3JlJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoa2V5c3RvcmUpO3ZhciBsaWIkcD1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuZGVjcnlwdEpzb25XYWxsZXRTeW5jPWV4cG9ydHMuZGVjcnlwdEpzb25XYWxsZXQ9ZXhwb3J0cy5nZXRKc29uV2FsbGV0QWRkcmVzcz1leHBvcnRzLmlzS2V5c3RvcmVXYWxsZXQ9ZXhwb3J0cy5pc0Nyb3dkc2FsZVdhbGxldD1leHBvcnRzLmVuY3J5cHRLZXlzdG9yZT1leHBvcnRzLmRlY3J5cHRLZXlzdG9yZVN5bmM9ZXhwb3J0cy5kZWNyeXB0S2V5c3RvcmU9ZXhwb3J0cy5kZWNyeXB0Q3Jvd2RzYWxlPXZvaWQgMDtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiZGVjcnlwdENyb3dkc2FsZSIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY3Jvd2RzYWxlLmRlY3J5cHR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImdldEpzb25XYWxsZXRBZGRyZXNzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBpbnNwZWN0LmdldEpzb25XYWxsZXRBZGRyZXNzfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJpc0Nyb3dkc2FsZVdhbGxldCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaW5zcGVjdC5pc0Nyb3dkc2FsZVdhbGxldH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiaXNLZXlzdG9yZVdhbGxldCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaW5zcGVjdC5pc0tleXN0b3JlV2FsbGV0fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJkZWNyeXB0S2V5c3RvcmUiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGtleXN0b3JlLmRlY3J5cHR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImRlY3J5cHRLZXlzdG9yZVN5bmMiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGtleXN0b3JlLmRlY3J5cHRTeW5jfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJlbmNyeXB0S2V5c3RvcmUiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGtleXN0b3JlLmVuY3J5cHR9fSk7ZnVuY3Rpb24gZGVjcnlwdEpzb25XYWxsZXQoanNvbixwYXNzd29yZCxwcm9ncmVzc0NhbGxiYWNrKXtpZigoMCxpbnNwZWN0LmlzQ3Jvd2RzYWxlV2FsbGV0KShqc29uKSl7aWYocHJvZ3Jlc3NDYWxsYmFjayl7cHJvZ3Jlc3NDYWxsYmFjaygwKX12YXIgYWNjb3VudD0oMCxjcm93ZHNhbGUuZGVjcnlwdCkoanNvbixwYXNzd29yZCk7aWYocHJvZ3Jlc3NDYWxsYmFjayl7cHJvZ3Jlc3NDYWxsYmFjaygxKX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGFjY291bnQpfWlmKCgwLGluc3BlY3QuaXNLZXlzdG9yZVdhbGxldCkoanNvbikpe3JldHVybigwLGtleXN0b3JlLmRlY3J5cHQpKGpzb24scGFzc3dvcmQscHJvZ3Jlc3NDYWxsYmFjayl9cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiaW52YWxpZCBKU09OIHdhbGxldCIpKX1leHBvcnRzLmRlY3J5cHRKc29uV2FsbGV0PWRlY3J5cHRKc29uV2FsbGV0O2Z1bmN0aW9uIGRlY3J5cHRKc29uV2FsbGV0U3luYyhqc29uLHBhc3N3b3JkKXtpZigoMCxpbnNwZWN0LmlzQ3Jvd2RzYWxlV2FsbGV0KShqc29uKSl7cmV0dXJuKDAsY3Jvd2RzYWxlLmRlY3J5cHQpKGpzb24scGFzc3dvcmQpfWlmKCgwLGluc3BlY3QuaXNLZXlzdG9yZVdhbGxldCkoanNvbikpe3JldHVybigwLGtleXN0b3JlLmRlY3J5cHRTeW5jKShqc29uLHBhc3N3b3JkKX10aHJvdyBuZXcgRXJyb3IoImludmFsaWQgSlNPTiB3YWxsZXQiKX1leHBvcnRzLmRlY3J5cHRKc29uV2FsbGV0U3luYz1kZWNyeXB0SnNvbldhbGxldFN5bmN9KTt2YXIgaW5kZXgkbj1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhsaWIkcCk7dmFyIF92ZXJzaW9uJEM9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnZlcnNpb249dm9pZCAwO2V4cG9ydHMudmVyc2lvbj0id2FsbGV0LzUuNy4wIn0pO3ZhciBfdmVyc2lvbiREPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKF92ZXJzaW9uJEMpO3ZhciBsaWIkcT1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO3ZhciBfX2V4dGVuZHM9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgZXh0ZW5kU3RhdGljcz1mdW5jdGlvbihkLGIpe2V4dGVuZFN0YXRpY3M9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGQsYil7ZC5fX3Byb3RvX189Yn18fGZ1bmN0aW9uKGQsYil7Zm9yKHZhciBwIGluIGIpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIscCkpZFtwXT1iW3BdfTtyZXR1cm4gZXh0ZW5kU3RhdGljcyhkLGIpfTtyZXR1cm4gZnVuY3Rpb24oZCxiKXtpZih0eXBlb2YgYiE9PSJmdW5jdGlvbiImJmIhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoYikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZXh0ZW5kU3RhdGljcyhkLGIpO2Z1bmN0aW9uIF9fKCl7dGhpcy5jb25zdHJ1Y3Rvcj1kfWQucHJvdG90eXBlPWI9PT1udWxsP09iamVjdC5jcmVhdGUoYik6KF9fLnByb3RvdHlwZT1iLnByb3RvdHlwZSxuZXcgX18pfX0oKTt2YXIgX19hd2FpdGVyPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHRoaXNBcmcsX2FyZ3VtZW50cyxQLGdlbmVyYXRvcil7ZnVuY3Rpb24gYWRvcHQodmFsdWUpe3JldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFA/dmFsdWU6bmV3IFAoZnVuY3Rpb24ocmVzb2x2ZSl7cmVzb2x2ZSh2YWx1ZSl9KX1yZXR1cm4gbmV3KFB8fChQPVByb21pc2UpKShmdW5jdGlvbihyZXNvbHZlLHJlamVjdCl7ZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKXt0cnl7c3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpfWNhdGNoKGUpe3JlamVjdChlKX19ZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpe3RyeXtzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpfWNhdGNoKGUpe3JlamVjdChlKX19ZnVuY3Rpb24gc3RlcChyZXN1bHQpe3Jlc3VsdC5kb25lP3Jlc29sdmUocmVzdWx0LnZhbHVlKTphZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLHJlamVjdGVkKX1zdGVwKChnZW5lcmF0b3I9Z2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsX2FyZ3VtZW50c3x8W10pKS5uZXh0KCkpfSl9O3ZhciBfX2dlbmVyYXRvcj1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKHRoaXNBcmcsYm9keSl7dmFyIF89e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKHRbMF0mMSl0aHJvdyB0WzFdO3JldHVybiB0WzFdfSx0cnlzOltdLG9wczpbXX0sZix5LHQsZztyZXR1cm4gZz17bmV4dDp2ZXJiKDApLHRocm93OnZlcmIoMSkscmV0dXJuOnZlcmIoMil9LHR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiYoZ1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxnO2Z1bmN0aW9uIHZlcmIobil7cmV0dXJuIGZ1bmN0aW9uKHYpe3JldHVybiBzdGVwKFtuLHZdKX19ZnVuY3Rpb24gc3RlcChvcCl7aWYoZil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7d2hpbGUoXyl0cnl7aWYoZj0xLHkmJih0PW9wWzBdJjI/eVsicmV0dXJuIl06b3BbMF0/eVsidGhyb3ciXXx8KCh0PXlbInJldHVybiJdKSYmdC5jYWxsKHkpLDApOnkubmV4dCkmJiEodD10LmNhbGwoeSxvcFsxXSkpLmRvbmUpcmV0dXJuIHQ7aWYoeT0wLHQpb3A9W29wWzBdJjIsdC52YWx1ZV07c3dpdGNoKG9wWzBdKXtjYXNlIDA6Y2FzZSAxOnQ9b3A7YnJlYWs7Y2FzZSA0Ol8ubGFiZWwrKztyZXR1cm57dmFsdWU6b3BbMV0sZG9uZTpmYWxzZX07Y2FzZSA1Ol8ubGFiZWwrKzt5PW9wWzFdO29wPVswXTtjb250aW51ZTtjYXNlIDc6b3A9Xy5vcHMucG9wKCk7Xy50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISh0PV8udHJ5cyx0PXQubGVuZ3RoPjAmJnRbdC5sZW5ndGgtMV0pJiYob3BbMF09PT02fHxvcFswXT09PTIpKXtfPTA7Y29udGludWV9aWYob3BbMF09PT0zJiYoIXR8fG9wWzFdPnRbMF0mJm9wWzFdPHRbM10pKXtfLmxhYmVsPW9wWzFdO2JyZWFrfWlmKG9wWzBdPT09NiYmXy5sYWJlbDx0WzFdKXtfLmxhYmVsPXRbMV07dD1vcDticmVha31pZih0JiZfLmxhYmVsPHRbMl0pe18ubGFiZWw9dFsyXTtfLm9wcy5wdXNoKG9wKTticmVha31pZih0WzJdKV8ub3BzLnBvcCgpO18udHJ5cy5wb3AoKTtjb250aW51ZX1vcD1ib2R5LmNhbGwodGhpc0FyZyxfKX1jYXRjaChlKXtvcD1bNixlXTt5PTB9ZmluYWxseXtmPXQ9MH1pZihvcFswXSY1KXRocm93IG9wWzFdO3JldHVybnt2YWx1ZTpvcFswXT9vcFsxXTp2b2lkIDAsZG9uZTp0cnVlfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMudmVyaWZ5VHlwZWREYXRhPWV4cG9ydHMudmVyaWZ5TWVzc2FnZT1leHBvcnRzLldhbGxldD12b2lkIDA7dmFyIGxvZ2dlcj1uZXcgbGliLkxvZ2dlcihfdmVyc2lvbiRDLnZlcnNpb24pO2Z1bmN0aW9uIGlzQWNjb3VudCh2YWx1ZSl7cmV0dXJuIHZhbHVlIT1udWxsJiYoMCxsaWIkMS5pc0hleFN0cmluZykodmFsdWUucHJpdmF0ZUtleSwzMikmJnZhbHVlLmFkZHJlc3MhPW51bGx9ZnVuY3Rpb24gaGFzTW5lbW9uaWModmFsdWUpe3ZhciBtbmVtb25pYz12YWx1ZS5tbmVtb25pYztyZXR1cm4gbW5lbW9uaWMmJm1uZW1vbmljLnBocmFzZX12YXIgV2FsbGV0PWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKFdhbGxldCxfc3VwZXIpO2Z1bmN0aW9uIFdhbGxldChwcml2YXRlS2V5LHByb3ZpZGVyKXt2YXIgX3RoaXM9X3N1cGVyLmNhbGwodGhpcyl8fHRoaXM7aWYoaXNBY2NvdW50KHByaXZhdGVLZXkpKXt2YXIgc2lnbmluZ0tleV8xPW5ldyBsaWIkZy5TaWduaW5nS2V5KHByaXZhdGVLZXkucHJpdmF0ZUtleSk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJfc2lnbmluZ0tleSIsZnVuY3Rpb24oKXtyZXR1cm4gc2lnbmluZ0tleV8xfSk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJhZGRyZXNzIiwoMCxsaWIkaC5jb21wdXRlQWRkcmVzcykoX3RoaXMucHVibGljS2V5KSk7aWYoX3RoaXMuYWRkcmVzcyE9PSgwLGxpYiQ2LmdldEFkZHJlc3MpKHByaXZhdGVLZXkuYWRkcmVzcykpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInByaXZhdGVLZXkvYWRkcmVzcyBtaXNtYXRjaCIsInByaXZhdGVLZXkiLCJbUkVEQUNURURdIil9aWYoaGFzTW5lbW9uaWMocHJpdmF0ZUtleSkpe3ZhciBzcmNNbmVtb25pY18xPXByaXZhdGVLZXkubW5lbW9uaWM7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJfbW5lbW9uaWMiLGZ1bmN0aW9uKCl7cmV0dXJue3BocmFzZTpzcmNNbmVtb25pY18xLnBocmFzZSxwYXRoOnNyY01uZW1vbmljXzEucGF0aHx8bGliJG4uZGVmYXVsdFBhdGgsbG9jYWxlOnNyY01uZW1vbmljXzEubG9jYWxlfHwiZW4ifX0pO3ZhciBtbmVtb25pYz1fdGhpcy5tbmVtb25pYzt2YXIgbm9kZT1saWIkbi5IRE5vZGUuZnJvbU1uZW1vbmljKG1uZW1vbmljLnBocmFzZSxudWxsLG1uZW1vbmljLmxvY2FsZSkuZGVyaXZlUGF0aChtbmVtb25pYy5wYXRoKTtpZigoMCxsaWIkaC5jb21wdXRlQWRkcmVzcykobm9kZS5wcml2YXRlS2V5KSE9PV90aGlzLmFkZHJlc3Mpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoIm1uZW1vbmljL2FkZHJlc3MgbWlzbWF0Y2giLCJwcml2YXRlS2V5IiwiW1JFREFDVEVEXSIpfX1lbHNleygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KShfdGhpcywiX21uZW1vbmljIixmdW5jdGlvbigpe3JldHVybiBudWxsfSl9fWVsc2V7aWYobGliJGcuU2lnbmluZ0tleS5pc1NpZ25pbmdLZXkocHJpdmF0ZUtleSkpe2lmKHByaXZhdGVLZXkuY3VydmUhPT0ic2VjcDI1NmsxIil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidW5zdXBwb3J0ZWQgY3VydmU7IG11c3QgYmUgc2VjcDI1NmsxIiwicHJpdmF0ZUtleSIsIltSRURBQ1RFRF0iKX0oMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsIl9zaWduaW5nS2V5IixmdW5jdGlvbigpe3JldHVybiBwcml2YXRlS2V5fSl9ZWxzZXtpZih0eXBlb2YgcHJpdmF0ZUtleT09PSJzdHJpbmciKXtpZihwcml2YXRlS2V5Lm1hdGNoKC9eWzAtOWEtZl0qJC9pKSYmcHJpdmF0ZUtleS5sZW5ndGg9PT02NCl7cHJpdmF0ZUtleT0iMHgiK3ByaXZhdGVLZXl9fXZhciBzaWduaW5nS2V5XzI9bmV3IGxpYiRnLlNpZ25pbmdLZXkocHJpdmF0ZUtleSk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJfc2lnbmluZ0tleSIsZnVuY3Rpb24oKXtyZXR1cm4gc2lnbmluZ0tleV8yfSl9KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJfbW5lbW9uaWMiLGZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9KTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsImFkZHJlc3MiLCgwLGxpYiRoLmNvbXB1dGVBZGRyZXNzKShfdGhpcy5wdWJsaWNLZXkpKX1pZihwcm92aWRlciYmIWxpYiRlLlByb3ZpZGVyLmlzUHJvdmlkZXIocHJvdmlkZXIpKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIHByb3ZpZGVyIiwicHJvdmlkZXIiLHByb3ZpZGVyKX0oMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsInByb3ZpZGVyIixwcm92aWRlcnx8bnVsbCk7cmV0dXJuIF90aGlzfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShXYWxsZXQucHJvdG90eXBlLCJtbmVtb25pYyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tbmVtb25pYygpfSxlbnVtZXJhYmxlOmZhbHNlLGNvbmZpZ3VyYWJsZTp0cnVlfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KFdhbGxldC5wcm90b3R5cGUsInByaXZhdGVLZXkiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2lnbmluZ0tleSgpLnByaXZhdGVLZXl9LGVudW1lcmFibGU6ZmFsc2UsY29uZmlndXJhYmxlOnRydWV9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoV2FsbGV0LnByb3RvdHlwZSwicHVibGljS2V5Iix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NpZ25pbmdLZXkoKS5wdWJsaWNLZXl9LGVudW1lcmFibGU6ZmFsc2UsY29uZmlndXJhYmxlOnRydWV9KTtXYWxsZXQucHJvdG90eXBlLmdldEFkZHJlc3M9ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuYWRkcmVzcyl9O1dhbGxldC5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbihwcm92aWRlcil7cmV0dXJuIG5ldyBXYWxsZXQodGhpcyxwcm92aWRlcil9O1dhbGxldC5wcm90b3R5cGUuc2lnblRyYW5zYWN0aW9uPWZ1bmN0aW9uKHRyYW5zYWN0aW9uKXt2YXIgX3RoaXM9dGhpcztyZXR1cm4oMCxsaWIkMy5yZXNvbHZlUHJvcGVydGllcykodHJhbnNhY3Rpb24pLnRoZW4oZnVuY3Rpb24odHgpe2lmKHR4LmZyb20hPW51bGwpe2lmKCgwLGxpYiQ2LmdldEFkZHJlc3MpKHR4LmZyb20pIT09X3RoaXMuYWRkcmVzcyl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidHJhbnNhY3Rpb24gZnJvbSBhZGRyZXNzIG1pc21hdGNoIiwidHJhbnNhY3Rpb24uZnJvbSIsdHJhbnNhY3Rpb24uZnJvbSl9ZGVsZXRlIHR4LmZyb219dmFyIHNpZ25hdHVyZT1fdGhpcy5fc2lnbmluZ0tleSgpLnNpZ25EaWdlc3QoKDAsbGliJDQua2VjY2FrMjU2KSgoMCxsaWIkaC5zZXJpYWxpemUpKHR4KSkpO3JldHVybigwLGxpYiRoLnNlcmlhbGl6ZSkodHgsc2lnbmF0dXJlKX0pfTtXYWxsZXQucHJvdG90eXBlLnNpZ25NZXNzYWdlPWZ1bmN0aW9uKG1lc3NhZ2Upe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3JldHVyblsyLCgwLGxpYiQxLmpvaW5TaWduYXR1cmUpKHRoaXMuX3NpZ25pbmdLZXkoKS5zaWduRGlnZXN0KCgwLGxpYiRjLmhhc2hNZXNzYWdlKShtZXNzYWdlKSkpXX0pfSl9O1dhbGxldC5wcm90b3R5cGUuX3NpZ25UeXBlZERhdGE9ZnVuY3Rpb24oZG9tYWluLHR5cGVzLHZhbHVlKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBwb3B1bGF0ZWQ7dmFyIF90aGlzPXRoaXM7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LGxpYiRjLl9UeXBlZERhdGFFbmNvZGVyLnJlc29sdmVOYW1lcyhkb21haW4sdHlwZXMsdmFsdWUsZnVuY3Rpb24obmFtZSl7aWYoX3RoaXMucHJvdmlkZXI9PW51bGwpe2xvZ2dlci50aHJvd0Vycm9yKCJjYW5ub3QgcmVzb2x2ZSBFTlMgbmFtZXMgd2l0aG91dCBhIHByb3ZpZGVyIixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoicmVzb2x2ZU5hbWUiLHZhbHVlOm5hbWV9KX1yZXR1cm4gX3RoaXMucHJvdmlkZXIucmVzb2x2ZU5hbWUobmFtZSl9KV07Y2FzZSAxOnBvcHVsYXRlZD1fYS5zZW50KCk7cmV0dXJuWzIsKDAsbGliJDEuam9pblNpZ25hdHVyZSkodGhpcy5fc2lnbmluZ0tleSgpLnNpZ25EaWdlc3QobGliJGMuX1R5cGVkRGF0YUVuY29kZXIuaGFzaChwb3B1bGF0ZWQuZG9tYWluLHR5cGVzLHBvcHVsYXRlZC52YWx1ZSkpKV19fSl9KX07V2FsbGV0LnByb3RvdHlwZS5lbmNyeXB0PWZ1bmN0aW9uKHBhc3N3b3JkLG9wdGlvbnMscHJvZ3Jlc3NDYWxsYmFjayl7aWYodHlwZW9mIG9wdGlvbnM9PT0iZnVuY3Rpb24iJiYhcHJvZ3Jlc3NDYWxsYmFjayl7cHJvZ3Jlc3NDYWxsYmFjaz1vcHRpb25zO29wdGlvbnM9e319aWYocHJvZ3Jlc3NDYWxsYmFjayYmdHlwZW9mIHByb2dyZXNzQ2FsbGJhY2shPT0iZnVuY3Rpb24iKXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2FsbGJhY2siKX1pZighb3B0aW9ucyl7b3B0aW9ucz17fX1yZXR1cm4oMCxsaWIkcC5lbmNyeXB0S2V5c3RvcmUpKHRoaXMscGFzc3dvcmQsb3B0aW9ucyxwcm9ncmVzc0NhbGxiYWNrKX07V2FsbGV0LmNyZWF0ZVJhbmRvbT1mdW5jdGlvbihvcHRpb25zKXt2YXIgZW50cm9weT0oMCxsaWIkby5yYW5kb21CeXRlcykoMTYpO2lmKCFvcHRpb25zKXtvcHRpb25zPXt9fWlmKG9wdGlvbnMuZXh0cmFFbnRyb3B5KXtlbnRyb3B5PSgwLGxpYiQxLmFycmF5aWZ5KSgoMCxsaWIkMS5oZXhEYXRhU2xpY2UpKCgwLGxpYiQ0LmtlY2NhazI1NikoKDAsbGliJDEuY29uY2F0KShbZW50cm9weSxvcHRpb25zLmV4dHJhRW50cm9weV0pKSwwLDE2KSl9dmFyIG1uZW1vbmljPSgwLGxpYiRuLmVudHJvcHlUb01uZW1vbmljKShlbnRyb3B5LG9wdGlvbnMubG9jYWxlKTtyZXR1cm4gV2FsbGV0LmZyb21NbmVtb25pYyhtbmVtb25pYyxvcHRpb25zLnBhdGgsb3B0aW9ucy5sb2NhbGUpfTtXYWxsZXQuZnJvbUVuY3J5cHRlZEpzb249ZnVuY3Rpb24oanNvbixwYXNzd29yZCxwcm9ncmVzc0NhbGxiYWNrKXtyZXR1cm4oMCxsaWIkcC5kZWNyeXB0SnNvbldhbGxldCkoanNvbixwYXNzd29yZCxwcm9ncmVzc0NhbGxiYWNrKS50aGVuKGZ1bmN0aW9uKGFjY291bnQpe3JldHVybiBuZXcgV2FsbGV0KGFjY291bnQpfSl9O1dhbGxldC5mcm9tRW5jcnlwdGVkSnNvblN5bmM9ZnVuY3Rpb24oanNvbixwYXNzd29yZCl7cmV0dXJuIG5ldyBXYWxsZXQoKDAsbGliJHAuZGVjcnlwdEpzb25XYWxsZXRTeW5jKShqc29uLHBhc3N3b3JkKSl9O1dhbGxldC5mcm9tTW5lbW9uaWM9ZnVuY3Rpb24obW5lbW9uaWMscGF0aCx3b3JkbGlzdCl7aWYoIXBhdGgpe3BhdGg9bGliJG4uZGVmYXVsdFBhdGh9cmV0dXJuIG5ldyBXYWxsZXQobGliJG4uSEROb2RlLmZyb21NbmVtb25pYyhtbmVtb25pYyxudWxsLHdvcmRsaXN0KS5kZXJpdmVQYXRoKHBhdGgpKX07cmV0dXJuIFdhbGxldH0obGliJGYuU2lnbmVyKTtleHBvcnRzLldhbGxldD1XYWxsZXQ7ZnVuY3Rpb24gdmVyaWZ5TWVzc2FnZShtZXNzYWdlLHNpZ25hdHVyZSl7cmV0dXJuKDAsbGliJGgucmVjb3ZlckFkZHJlc3MpKCgwLGxpYiRjLmhhc2hNZXNzYWdlKShtZXNzYWdlKSxzaWduYXR1cmUpfWV4cG9ydHMudmVyaWZ5TWVzc2FnZT12ZXJpZnlNZXNzYWdlO2Z1bmN0aW9uIHZlcmlmeVR5cGVkRGF0YShkb21haW4sdHlwZXMsdmFsdWUsc2lnbmF0dXJlKXtyZXR1cm4oMCxsaWIkaC5yZWNvdmVyQWRkcmVzcykobGliJGMuX1R5cGVkRGF0YUVuY29kZXIuaGFzaChkb21haW4sdHlwZXMsdmFsdWUpLHNpZ25hdHVyZSl9ZXhwb3J0cy52ZXJpZnlUeXBlZERhdGE9dmVyaWZ5VHlwZWREYXRhfSk7dmFyIGluZGV4JG89Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMobGliJHEpO3ZhciBfdmVyc2lvbiRFPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy52ZXJzaW9uPXZvaWQgMDtleHBvcnRzLnZlcnNpb249Im5ldHdvcmtzLzUuNy4xIn0pO3ZhciBfdmVyc2lvbiRGPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKF92ZXJzaW9uJEUpO3ZhciBsaWIkcj1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuZ2V0TmV0d29yaz12b2lkIDA7dmFyIGxvZ2dlcj1uZXcgbGliLkxvZ2dlcihfdmVyc2lvbiRFLnZlcnNpb24pO2Z1bmN0aW9uIGlzUmVuZXR3b3JrYWJsZSh2YWx1ZSl7cmV0dXJuIHZhbHVlJiZ0eXBlb2YgdmFsdWUucmVuZXR3b3JrPT09ImZ1bmN0aW9uIn1mdW5jdGlvbiBldGhEZWZhdWx0UHJvdmlkZXIobmV0d29yayl7dmFyIGZ1bmM9ZnVuY3Rpb24ocHJvdmlkZXJzLG9wdGlvbnMpe2lmKG9wdGlvbnM9PW51bGwpe29wdGlvbnM9e319dmFyIHByb3ZpZGVyTGlzdD1bXTtpZihwcm92aWRlcnMuSW5mdXJhUHJvdmlkZXImJm9wdGlvbnMuaW5mdXJhIT09Ii0iKXt0cnl7cHJvdmlkZXJMaXN0LnB1c2gobmV3IHByb3ZpZGVycy5JbmZ1cmFQcm92aWRlcihuZXR3b3JrLG9wdGlvbnMuaW5mdXJhKSl9Y2F0Y2goZXJyb3Ipe319aWYocHJvdmlkZXJzLkV0aGVyc2NhblByb3ZpZGVyJiZvcHRpb25zLmV0aGVyc2NhbiE9PSItIil7dHJ5e3Byb3ZpZGVyTGlzdC5wdXNoKG5ldyBwcm92aWRlcnMuRXRoZXJzY2FuUHJvdmlkZXIobmV0d29yayxvcHRpb25zLmV0aGVyc2NhbikpfWNhdGNoKGVycm9yKXt9fWlmKHByb3ZpZGVycy5BbGNoZW15UHJvdmlkZXImJm9wdGlvbnMuYWxjaGVteSE9PSItIil7dHJ5e3Byb3ZpZGVyTGlzdC5wdXNoKG5ldyBwcm92aWRlcnMuQWxjaGVteVByb3ZpZGVyKG5ldHdvcmssb3B0aW9ucy5hbGNoZW15KSl9Y2F0Y2goZXJyb3Ipe319aWYocHJvdmlkZXJzLlBvY2tldFByb3ZpZGVyJiZvcHRpb25zLnBvY2tldCE9PSItIil7dmFyIHNraXA9WyJnb2VybGkiLCJyb3BzdGVuIiwicmlua2VieSIsInNlcG9saWEiXTt0cnl7dmFyIHByb3ZpZGVyPW5ldyBwcm92aWRlcnMuUG9ja2V0UHJvdmlkZXIobmV0d29yayxvcHRpb25zLnBvY2tldCk7aWYocHJvdmlkZXIubmV0d29yayYmc2tpcC5pbmRleE9mKHByb3ZpZGVyLm5ldHdvcmsubmFtZSk9PT0tMSl7cHJvdmlkZXJMaXN0LnB1c2gocHJvdmlkZXIpfX1jYXRjaChlcnJvcil7fX1pZihwcm92aWRlcnMuQ2xvdWRmbGFyZVByb3ZpZGVyJiZvcHRpb25zLmNsb3VkZmxhcmUhPT0iLSIpe3RyeXtwcm92aWRlckxpc3QucHVzaChuZXcgcHJvdmlkZXJzLkNsb3VkZmxhcmVQcm92aWRlcihuZXR3b3JrKSl9Y2F0Y2goZXJyb3Ipe319aWYocHJvdmlkZXJzLkFua3JQcm92aWRlciYmb3B0aW9ucy5hbmtyIT09Ii0iKXt0cnl7dmFyIHNraXA9WyJyb3BzdGVuIl07dmFyIHByb3ZpZGVyPW5ldyBwcm92aWRlcnMuQW5rclByb3ZpZGVyKG5ldHdvcmssb3B0aW9ucy5hbmtyKTtpZihwcm92aWRlci5uZXR3b3JrJiZza2lwLmluZGV4T2YocHJvdmlkZXIubmV0d29yay5uYW1lKT09PS0xKXtwcm92aWRlckxpc3QucHVzaChwcm92aWRlcil9fWNhdGNoKGVycm9yKXt9fWlmKHByb3ZpZGVyTGlzdC5sZW5ndGg9PT0wKXtyZXR1cm4gbnVsbH1pZihwcm92aWRlcnMuRmFsbGJhY2tQcm92aWRlcil7dmFyIHF1b3J1bT0xO2lmKG9wdGlvbnMucXVvcnVtIT1udWxsKXtxdW9ydW09b3B0aW9ucy5xdW9ydW19ZWxzZSBpZihuZXR3b3JrPT09ImhvbWVzdGVhZCIpe3F1b3J1bT0yfXJldHVybiBuZXcgcHJvdmlkZXJzLkZhbGxiYWNrUHJvdmlkZXIocHJvdmlkZXJMaXN0LHF1b3J1bSl9cmV0dXJuIHByb3ZpZGVyTGlzdFswXX07ZnVuYy5yZW5ldHdvcms9ZnVuY3Rpb24obmV0d29yayl7cmV0dXJuIGV0aERlZmF1bHRQcm92aWRlcihuZXR3b3JrKX07cmV0dXJuIGZ1bmN9ZnVuY3Rpb24gZXRjRGVmYXVsdFByb3ZpZGVyKHVybCxuZXR3b3JrKXt2YXIgZnVuYz1mdW5jdGlvbihwcm92aWRlcnMsb3B0aW9ucyl7aWYocHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcil7cmV0dXJuIG5ldyBwcm92aWRlcnMuSnNvblJwY1Byb3ZpZGVyKHVybCxuZXR3b3JrKX1yZXR1cm4gbnVsbH07ZnVuYy5yZW5ldHdvcms9ZnVuY3Rpb24obmV0d29yayl7cmV0dXJuIGV0Y0RlZmF1bHRQcm92aWRlcih1cmwsbmV0d29yayl9O3JldHVybiBmdW5jfXZhciBob21lc3RlYWQ9e2NoYWluSWQ6MSxlbnNBZGRyZXNzOiIweDAwMDAwMDAwMDAwQzJFMDc0ZUM2OUEwZEZiMjk5N0JBNkM3ZDJlMWUiLG5hbWU6ImhvbWVzdGVhZCIsX2RlZmF1bHRQcm92aWRlcjpldGhEZWZhdWx0UHJvdmlkZXIoImhvbWVzdGVhZCIpfTt2YXIgcm9wc3Rlbj17Y2hhaW5JZDozLGVuc0FkZHJlc3M6IjB4MDAwMDAwMDAwMDBDMkUwNzRlQzY5QTBkRmIyOTk3QkE2QzdkMmUxZSIsbmFtZToicm9wc3RlbiIsX2RlZmF1bHRQcm92aWRlcjpldGhEZWZhdWx0UHJvdmlkZXIoInJvcHN0ZW4iKX07dmFyIGNsYXNzaWNNb3Jkb3I9e2NoYWluSWQ6NjMsbmFtZToiY2xhc3NpY01vcmRvciIsX2RlZmF1bHRQcm92aWRlcjpldGNEZWZhdWx0UHJvdmlkZXIoImh0dHBzOi8vd3d3LmV0aGVyY2x1c3Rlci5jb20vbW9yZG9yIiwiY2xhc3NpY01vcmRvciIpfTt2YXIgbmV0d29ya3M9e3Vuc3BlY2lmaWVkOntjaGFpbklkOjAsbmFtZToidW5zcGVjaWZpZWQifSxob21lc3RlYWQ6aG9tZXN0ZWFkLG1haW5uZXQ6aG9tZXN0ZWFkLG1vcmRlbjp7Y2hhaW5JZDoyLG5hbWU6Im1vcmRlbiJ9LHJvcHN0ZW46cm9wc3Rlbix0ZXN0bmV0OnJvcHN0ZW4scmlua2VieTp7Y2hhaW5JZDo0LGVuc0FkZHJlc3M6IjB4MDAwMDAwMDAwMDBDMkUwNzRlQzY5QTBkRmIyOTk3QkE2QzdkMmUxZSIsbmFtZToicmlua2VieSIsX2RlZmF1bHRQcm92aWRlcjpldGhEZWZhdWx0UHJvdmlkZXIoInJpbmtlYnkiKX0sa292YW46e2NoYWluSWQ6NDIsbmFtZToia292YW4iLF9kZWZhdWx0UHJvdmlkZXI6ZXRoRGVmYXVsdFByb3ZpZGVyKCJrb3ZhbiIpfSxnb2VybGk6e2NoYWluSWQ6NSxlbnNBZGRyZXNzOiIweDAwMDAwMDAwMDAwQzJFMDc0ZUM2OUEwZEZiMjk5N0JBNkM3ZDJlMWUiLG5hbWU6ImdvZXJsaSIsX2RlZmF1bHRQcm92aWRlcjpldGhEZWZhdWx0UHJvdmlkZXIoImdvZXJsaSIpfSxraW50c3VnaTp7Y2hhaW5JZDoxMzM3NzAyLG5hbWU6ImtpbnRzdWdpIn0sc2Vwb2xpYTp7Y2hhaW5JZDoxMTE1NTExMSxuYW1lOiJzZXBvbGlhIixfZGVmYXVsdFByb3ZpZGVyOmV0aERlZmF1bHRQcm92aWRlcigic2Vwb2xpYSIpfSxjbGFzc2ljOntjaGFpbklkOjYxLG5hbWU6ImNsYXNzaWMiLF9kZWZhdWx0UHJvdmlkZXI6ZXRjRGVmYXVsdFByb3ZpZGVyKCJodHRwczovL3d3dy5ldGhlcmNsdXN0ZXIuY29tL2V0YyIsImNsYXNzaWMiKX0sY2xhc3NpY01vcmRlbjp7Y2hhaW5JZDo2MixuYW1lOiJjbGFzc2ljTW9yZGVuIn0sY2xhc3NpY01vcmRvcjpjbGFzc2ljTW9yZG9yLGNsYXNzaWNUZXN0bmV0OmNsYXNzaWNNb3Jkb3IsY2xhc3NpY0tvdHRpOntjaGFpbklkOjYsbmFtZToiY2xhc3NpY0tvdHRpIixfZGVmYXVsdFByb3ZpZGVyOmV0Y0RlZmF1bHRQcm92aWRlcigiaHR0cHM6Ly93d3cuZXRoZXJjbHVzdGVyLmNvbS9rb3R0aSIsImNsYXNzaWNLb3R0aSIpfSx4ZGFpOntjaGFpbklkOjEwMCxuYW1lOiJ4ZGFpIn0sbWF0aWM6e2NoYWluSWQ6MTM3LG5hbWU6Im1hdGljIixfZGVmYXVsdFByb3ZpZGVyOmV0aERlZmF1bHRQcm92aWRlcigibWF0aWMiKX0sbWF0aWNtdW06e2NoYWluSWQ6ODAwMDEsbmFtZToibWF0aWNtdW0ifSxvcHRpbWlzbTp7Y2hhaW5JZDoxMCxuYW1lOiJvcHRpbWlzbSIsX2RlZmF1bHRQcm92aWRlcjpldGhEZWZhdWx0UHJvdmlkZXIoIm9wdGltaXNtIil9LCJvcHRpbWlzbS1rb3ZhbiI6e2NoYWluSWQ6NjksbmFtZToib3B0aW1pc20ta292YW4ifSwib3B0aW1pc20tZ29lcmxpIjp7Y2hhaW5JZDo0MjAsbmFtZToib3B0aW1pc20tZ29lcmxpIn0sYXJiaXRydW06e2NoYWluSWQ6NDIxNjEsbmFtZToiYXJiaXRydW0ifSwiYXJiaXRydW0tcmlua2VieSI6e2NoYWluSWQ6NDIxNjExLG5hbWU6ImFyYml0cnVtLXJpbmtlYnkifSwiYXJiaXRydW0tZ29lcmxpIjp7Y2hhaW5JZDo0MjE2MTMsbmFtZToiYXJiaXRydW0tZ29lcmxpIn0sYm5iOntjaGFpbklkOjU2LG5hbWU6ImJuYiJ9LGJuYnQ6e2NoYWluSWQ6OTcsbmFtZToiYm5idCJ9fTtmdW5jdGlvbiBnZXROZXR3b3JrKG5ldHdvcmspe2lmKG5ldHdvcms9PW51bGwpe3JldHVybiBudWxsfWlmKHR5cGVvZiBuZXR3b3JrPT09Im51bWJlciIpe2Zvcih2YXIgbmFtZV8xIGluIG5ldHdvcmtzKXt2YXIgc3RhbmRhcmRfMT1uZXR3b3Jrc1tuYW1lXzFdO2lmKHN0YW5kYXJkXzEuY2hhaW5JZD09PW5ldHdvcmspe3JldHVybntuYW1lOnN0YW5kYXJkXzEubmFtZSxjaGFpbklkOnN0YW5kYXJkXzEuY2hhaW5JZCxlbnNBZGRyZXNzOnN0YW5kYXJkXzEuZW5zQWRkcmVzc3x8bnVsbCxfZGVmYXVsdFByb3ZpZGVyOnN0YW5kYXJkXzEuX2RlZmF1bHRQcm92aWRlcnx8bnVsbH19fXJldHVybntjaGFpbklkOm5ldHdvcmssbmFtZToidW5rbm93biJ9fWlmKHR5cGVvZiBuZXR3b3JrPT09InN0cmluZyIpe3ZhciBzdGFuZGFyZF8yPW5ldHdvcmtzW25ldHdvcmtdO2lmKHN0YW5kYXJkXzI9PW51bGwpe3JldHVybiBudWxsfXJldHVybntuYW1lOnN0YW5kYXJkXzIubmFtZSxjaGFpbklkOnN0YW5kYXJkXzIuY2hhaW5JZCxlbnNBZGRyZXNzOnN0YW5kYXJkXzIuZW5zQWRkcmVzcyxfZGVmYXVsdFByb3ZpZGVyOnN0YW5kYXJkXzIuX2RlZmF1bHRQcm92aWRlcnx8bnVsbH19dmFyIHN0YW5kYXJkPW5ldHdvcmtzW25ldHdvcmsubmFtZV07aWYoIXN0YW5kYXJkKXtpZih0eXBlb2YgbmV0d29yay5jaGFpbklkIT09Im51bWJlciIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgbmV0d29yayBjaGFpbklkIiwibmV0d29yayIsbmV0d29yayl9cmV0dXJuIG5ldHdvcmt9aWYobmV0d29yay5jaGFpbklkIT09MCYmbmV0d29yay5jaGFpbklkIT09c3RhbmRhcmQuY2hhaW5JZCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigibmV0d29yayBjaGFpbklkIG1pc21hdGNoIiwibmV0d29yayIsbmV0d29yayl9dmFyIGRlZmF1bHRQcm92aWRlcj1uZXR3b3JrLl9kZWZhdWx0UHJvdmlkZXJ8fG51bGw7aWYoZGVmYXVsdFByb3ZpZGVyPT1udWxsJiZzdGFuZGFyZC5fZGVmYXVsdFByb3ZpZGVyKXtpZihpc1JlbmV0d29ya2FibGUoc3RhbmRhcmQuX2RlZmF1bHRQcm92aWRlcikpe2RlZmF1bHRQcm92aWRlcj1zdGFuZGFyZC5fZGVmYXVsdFByb3ZpZGVyLnJlbmV0d29yayhuZXR3b3JrKX1lbHNle2RlZmF1bHRQcm92aWRlcj1zdGFuZGFyZC5fZGVmYXVsdFByb3ZpZGVyfX1yZXR1cm57bmFtZTpuZXR3b3JrLm5hbWUsY2hhaW5JZDpzdGFuZGFyZC5jaGFpbklkLGVuc0FkZHJlc3M6bmV0d29yay5lbnNBZGRyZXNzfHxzdGFuZGFyZC5lbnNBZGRyZXNzfHxudWxsLF9kZWZhdWx0UHJvdmlkZXI6ZGVmYXVsdFByb3ZpZGVyfX1leHBvcnRzLmdldE5ldHdvcms9Z2V0TmV0d29ya30pO3ZhciBpbmRleCRwPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGxpYiRyKTt2YXIgX3ZlcnNpb24kRz1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMudmVyc2lvbj12b2lkIDA7ZXhwb3J0cy52ZXJzaW9uPSJ3ZWIvNS43LjEifSk7dmFyIF92ZXJzaW9uJEg9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoX3ZlcnNpb24kRyk7dmFyIGJyb3dzZXJHZXR1cmw9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgX19hd2FpdGVyPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHRoaXNBcmcsX2FyZ3VtZW50cyxQLGdlbmVyYXRvcil7ZnVuY3Rpb24gYWRvcHQodmFsdWUpe3JldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFA/dmFsdWU6bmV3IFAoZnVuY3Rpb24ocmVzb2x2ZSl7cmVzb2x2ZSh2YWx1ZSl9KX1yZXR1cm4gbmV3KFB8fChQPVByb21pc2UpKShmdW5jdGlvbihyZXNvbHZlLHJlamVjdCl7ZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKXt0cnl7c3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpfWNhdGNoKGUpe3JlamVjdChlKX19ZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpe3RyeXtzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpfWNhdGNoKGUpe3JlamVjdChlKX19ZnVuY3Rpb24gc3RlcChyZXN1bHQpe3Jlc3VsdC5kb25lP3Jlc29sdmUocmVzdWx0LnZhbHVlKTphZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLHJlamVjdGVkKX1zdGVwKChnZW5lcmF0b3I9Z2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsX2FyZ3VtZW50c3x8W10pKS5uZXh0KCkpfSl9O3ZhciBfX2dlbmVyYXRvcj1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKHRoaXNBcmcsYm9keSl7dmFyIF89e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKHRbMF0mMSl0aHJvdyB0WzFdO3JldHVybiB0WzFdfSx0cnlzOltdLG9wczpbXX0sZix5LHQsZztyZXR1cm4gZz17bmV4dDp2ZXJiKDApLHRocm93OnZlcmIoMSkscmV0dXJuOnZlcmIoMil9LHR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiYoZ1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxnO2Z1bmN0aW9uIHZlcmIobil7cmV0dXJuIGZ1bmN0aW9uKHYpe3JldHVybiBzdGVwKFtuLHZdKX19ZnVuY3Rpb24gc3RlcChvcCl7aWYoZil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7d2hpbGUoXyl0cnl7aWYoZj0xLHkmJih0PW9wWzBdJjI/eVsicmV0dXJuIl06b3BbMF0/eVsidGhyb3ciXXx8KCh0PXlbInJldHVybiJdKSYmdC5jYWxsKHkpLDApOnkubmV4dCkmJiEodD10LmNhbGwoeSxvcFsxXSkpLmRvbmUpcmV0dXJuIHQ7aWYoeT0wLHQpb3A9W29wWzBdJjIsdC52YWx1ZV07c3dpdGNoKG9wWzBdKXtjYXNlIDA6Y2FzZSAxOnQ9b3A7YnJlYWs7Y2FzZSA0Ol8ubGFiZWwrKztyZXR1cm57dmFsdWU6b3BbMV0sZG9uZTpmYWxzZX07Y2FzZSA1Ol8ubGFiZWwrKzt5PW9wWzFdO29wPVswXTtjb250aW51ZTtjYXNlIDc6b3A9Xy5vcHMucG9wKCk7Xy50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISh0PV8udHJ5cyx0PXQubGVuZ3RoPjAmJnRbdC5sZW5ndGgtMV0pJiYob3BbMF09PT02fHxvcFswXT09PTIpKXtfPTA7Y29udGludWV9aWYob3BbMF09PT0zJiYoIXR8fG9wWzFdPnRbMF0mJm9wWzFdPHRbM10pKXtfLmxhYmVsPW9wWzFdO2JyZWFrfWlmKG9wWzBdPT09NiYmXy5sYWJlbDx0WzFdKXtfLmxhYmVsPXRbMV07dD1vcDticmVha31pZih0JiZfLmxhYmVsPHRbMl0pe18ubGFiZWw9dFsyXTtfLm9wcy5wdXNoKG9wKTticmVha31pZih0WzJdKV8ub3BzLnBvcCgpO18udHJ5cy5wb3AoKTtjb250aW51ZX1vcD1ib2R5LmNhbGwodGhpc0FyZyxfKX1jYXRjaChlKXtvcD1bNixlXTt5PTB9ZmluYWxseXtmPXQ9MH1pZihvcFswXSY1KXRocm93IG9wWzFdO3JldHVybnt2YWx1ZTpvcFswXT9vcFsxXTp2b2lkIDAsZG9uZTp0cnVlfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuZ2V0VXJsPXZvaWQgMDtmdW5jdGlvbiBnZXRVcmwoaHJlZixvcHRpb25zKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciByZXF1ZXN0LG9wdHMscmVzcG9uc2UsYm9keSxoZWFkZXJzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDppZihvcHRpb25zPT1udWxsKXtvcHRpb25zPXt9fXJlcXVlc3Q9e21ldGhvZDpvcHRpb25zLm1ldGhvZHx8IkdFVCIsaGVhZGVyczpvcHRpb25zLmhlYWRlcnN8fHt9LGJvZHk6b3B0aW9ucy5ib2R5fHx1bmRlZmluZWR9O2lmKG9wdGlvbnMuc2tpcEZldGNoU2V0dXAhPT10cnVlKXtyZXF1ZXN0Lm1vZGU9ImNvcnMiO3JlcXVlc3QuY2FjaGU9Im5vLWNhY2hlIjtyZXF1ZXN0LmNyZWRlbnRpYWxzPSJzYW1lLW9yaWdpbiI7cmVxdWVzdC5yZWRpcmVjdD0iZm9sbG93IjtyZXF1ZXN0LnJlZmVycmVyPSJjbGllbnQifTtpZihvcHRpb25zLmZldGNoT3B0aW9ucyE9bnVsbCl7b3B0cz1vcHRpb25zLmZldGNoT3B0aW9ucztpZihvcHRzLm1vZGUpe3JlcXVlc3QubW9kZT1vcHRzLm1vZGV9aWYob3B0cy5jYWNoZSl7cmVxdWVzdC5jYWNoZT1vcHRzLmNhY2hlfWlmKG9wdHMuY3JlZGVudGlhbHMpe3JlcXVlc3QuY3JlZGVudGlhbHM9b3B0cy5jcmVkZW50aWFsc31pZihvcHRzLnJlZGlyZWN0KXtyZXF1ZXN0LnJlZGlyZWN0PW9wdHMucmVkaXJlY3R9aWYob3B0cy5yZWZlcnJlcil7cmVxdWVzdC5yZWZlcnJlcj1vcHRzLnJlZmVycmVyfX1yZXR1cm5bNCxmZXRjaChocmVmLHJlcXVlc3QpXTtjYXNlIDE6cmVzcG9uc2U9X2Euc2VudCgpO3JldHVybls0LHJlc3BvbnNlLmFycmF5QnVmZmVyKCldO2Nhc2UgMjpib2R5PV9hLnNlbnQoKTtoZWFkZXJzPXt9O2lmKHJlc3BvbnNlLmhlYWRlcnMuZm9yRWFjaCl7cmVzcG9uc2UuaGVhZGVycy5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlLGtleSl7aGVhZGVyc1trZXkudG9Mb3dlckNhc2UoKV09dmFsdWV9KX1lbHNle3Jlc3BvbnNlLmhlYWRlcnMua2V5cygpLmZvckVhY2goZnVuY3Rpb24oa2V5KXtoZWFkZXJzW2tleS50b0xvd2VyQ2FzZSgpXT1yZXNwb25zZS5oZWFkZXJzLmdldChrZXkpfSl9cmV0dXJuWzIse2hlYWRlcnM6aGVhZGVycyxzdGF0dXNDb2RlOnJlc3BvbnNlLnN0YXR1cyxzdGF0dXNNZXNzYWdlOnJlc3BvbnNlLnN0YXR1c1RleHQsYm9keTooMCxsaWIkMS5hcnJheWlmeSkobmV3IFVpbnQ4QXJyYXkoYm9keSkpfV19fSl9KX1leHBvcnRzLmdldFVybD1nZXRVcmx9KTt2YXIgYnJvd3NlckdldHVybCQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGJyb3dzZXJHZXR1cmwpO3ZhciBsaWIkcz1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO3ZhciBfX2F3YWl0ZXI9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fYXdhaXRlcnx8ZnVuY3Rpb24odGhpc0FyZyxfYXJndW1lbnRzLFAsZ2VuZXJhdG9yKXtmdW5jdGlvbiBhZG9wdCh2YWx1ZSl7cmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUD92YWx1ZTpuZXcgUChmdW5jdGlvbihyZXNvbHZlKXtyZXNvbHZlKHZhbHVlKX0pfXJldHVybiBuZXcoUHx8KFA9UHJvbWlzZSkpKGZ1bmN0aW9uKHJlc29sdmUscmVqZWN0KXtmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpe3RyeXtzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSl9Y2F0Y2goZSl7cmVqZWN0KGUpfX1mdW5jdGlvbiByZWplY3RlZCh2YWx1ZSl7dHJ5e3N0ZXAoZ2VuZXJhdG9yWyJ0aHJvdyJdKHZhbHVlKSl9Y2F0Y2goZSl7cmVqZWN0KGUpfX1mdW5jdGlvbiBzdGVwKHJlc3VsdCl7cmVzdWx0LmRvbmU/cmVzb2x2ZShyZXN1bHQudmFsdWUpOmFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQscmVqZWN0ZWQpfXN0ZXAoKGdlbmVyYXRvcj1nZW5lcmF0b3IuYXBwbHkodGhpc0FyZyxfYXJndW1lbnRzfHxbXSkpLm5leHQoKSl9KX07dmFyIF9fZ2VuZXJhdG9yPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24odGhpc0FyZyxib2R5KXt2YXIgXz17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYodFswXSYxKXRocm93IHRbMV07cmV0dXJuIHRbMV19LHRyeXM6W10sb3BzOltdfSxmLHksdCxnO3JldHVybiBnPXtuZXh0OnZlcmIoMCksdGhyb3c6dmVyYigxKSxyZXR1cm46dmVyYigyKX0sdHlwZW9mIFN5bWJvbD09PSJmdW5jdGlvbiImJihnW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGc7ZnVuY3Rpb24gdmVyYihuKXtyZXR1cm4gZnVuY3Rpb24odil7cmV0dXJuIHN0ZXAoW24sdl0pfX1mdW5jdGlvbiBzdGVwKG9wKXtpZihmKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTt3aGlsZShfKXRyeXtpZihmPTEseSYmKHQ9b3BbMF0mMj95WyJyZXR1cm4iXTpvcFswXT95WyJ0aHJvdyJdfHwoKHQ9eVsicmV0dXJuIl0pJiZ0LmNhbGwoeSksMCk6eS5uZXh0KSYmISh0PXQuY2FsbCh5LG9wWzFdKSkuZG9uZSlyZXR1cm4gdDtpZih5PTAsdClvcD1bb3BbMF0mMix0LnZhbHVlXTtzd2l0Y2gob3BbMF0pe2Nhc2UgMDpjYXNlIDE6dD1vcDticmVhaztjYXNlIDQ6Xy5sYWJlbCsrO3JldHVybnt2YWx1ZTpvcFsxXSxkb25lOmZhbHNlfTtjYXNlIDU6Xy5sYWJlbCsrO3k9b3BbMV07b3A9WzBdO2NvbnRpbnVlO2Nhc2UgNzpvcD1fLm9wcy5wb3AoKTtfLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKHQ9Xy50cnlzLHQ9dC5sZW5ndGg+MCYmdFt0Lmxlbmd0aC0xXSkmJihvcFswXT09PTZ8fG9wWzBdPT09Mikpe189MDtjb250aW51ZX1pZihvcFswXT09PTMmJighdHx8b3BbMV0+dFswXSYmb3BbMV08dFszXSkpe18ubGFiZWw9b3BbMV07YnJlYWt9aWYob3BbMF09PT02JiZfLmxhYmVsPHRbMV0pe18ubGFiZWw9dFsxXTt0PW9wO2JyZWFrfWlmKHQmJl8ubGFiZWw8dFsyXSl7Xy5sYWJlbD10WzJdO18ub3BzLnB1c2gob3ApO2JyZWFrfWlmKHRbMl0pXy5vcHMucG9wKCk7Xy50cnlzLnBvcCgpO2NvbnRpbnVlfW9wPWJvZHkuY2FsbCh0aGlzQXJnLF8pfWNhdGNoKGUpe29wPVs2LGVdO3k9MH1maW5hbGx5e2Y9dD0wfWlmKG9wWzBdJjUpdGhyb3cgb3BbMV07cmV0dXJue3ZhbHVlOm9wWzBdP29wWzFdOnZvaWQgMCxkb25lOnRydWV9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5wb2xsPWV4cG9ydHMuZmV0Y2hKc29uPWV4cG9ydHMuX2ZldGNoRGF0YT12b2lkIDA7dmFyIGxvZ2dlcj1uZXcgbGliLkxvZ2dlcihfdmVyc2lvbiRHLnZlcnNpb24pO2Z1bmN0aW9uIHN0YWxsZXIoZHVyYXRpb24pe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKXtzZXRUaW1lb3V0KHJlc29sdmUsZHVyYXRpb24pfSl9ZnVuY3Rpb24gYm9keWlmeSh2YWx1ZSx0eXBlKXtpZih2YWx1ZT09bnVsbCl7cmV0dXJuIG51bGx9aWYodHlwZW9mIHZhbHVlPT09InN0cmluZyIpe3JldHVybiB2YWx1ZX1pZigoMCxsaWIkMS5pc0J5dGVzTGlrZSkodmFsdWUpKXtpZih0eXBlJiYodHlwZS5zcGxpdCgiLyIpWzBdPT09InRleHQifHx0eXBlLnNwbGl0KCI7IilbMF0udHJpbSgpPT09ImFwcGxpY2F0aW9uL2pzb24iKSl7dHJ5e3JldHVybigwLGxpYiQ4LnRvVXRmOFN0cmluZykodmFsdWUpfWNhdGNoKGVycm9yKXt9fXJldHVybigwLGxpYiQxLmhleGxpZnkpKHZhbHVlKX1yZXR1cm4gdmFsdWV9ZnVuY3Rpb24gdW5wZXJjZW50KHZhbHVlKXtyZXR1cm4oMCxsaWIkOC50b1V0ZjhCeXRlcykodmFsdWUucmVwbGFjZSgvJShbMC05YS1mXVswLTlhLWZdKS9naSxmdW5jdGlvbihhbGwsY29kZSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQoY29kZSwxNikpfSkpfWZ1bmN0aW9uIF9mZXRjaERhdGEoY29ubmVjdGlvbixib2R5LHByb2Nlc3NGdW5jKXt2YXIgYXR0ZW1wdExpbWl0PXR5cGVvZiBjb25uZWN0aW9uPT09Im9iamVjdCImJmNvbm5lY3Rpb24udGhyb3R0bGVMaW1pdCE9bnVsbD9jb25uZWN0aW9uLnRocm90dGxlTGltaXQ6MTI7bG9nZ2VyLmFzc2VydEFyZ3VtZW50KGF0dGVtcHRMaW1pdD4wJiZhdHRlbXB0TGltaXQlMT09PTAsImludmFsaWQgY29ubmVjdGlvbiB0aHJvdHRsZSBsaW1pdCIsImNvbm5lY3Rpb24udGhyb3R0bGVMaW1pdCIsYXR0ZW1wdExpbWl0KTt2YXIgdGhyb3R0bGVDYWxsYmFjaz10eXBlb2YgY29ubmVjdGlvbj09PSJvYmplY3QiP2Nvbm5lY3Rpb24udGhyb3R0bGVDYWxsYmFjazpudWxsO3ZhciB0aHJvdHRsZVNsb3RJbnRlcnZhbD10eXBlb2YgY29ubmVjdGlvbj09PSJvYmplY3QiJiZ0eXBlb2YgY29ubmVjdGlvbi50aHJvdHRsZVNsb3RJbnRlcnZhbD09PSJudW1iZXIiP2Nvbm5lY3Rpb24udGhyb3R0bGVTbG90SW50ZXJ2YWw6MTAwO2xvZ2dlci5hc3NlcnRBcmd1bWVudCh0aHJvdHRsZVNsb3RJbnRlcnZhbD4wJiZ0aHJvdHRsZVNsb3RJbnRlcnZhbCUxPT09MCwiaW52YWxpZCBjb25uZWN0aW9uIHRocm90dGxlIHNsb3QgaW50ZXJ2YWwiLCJjb25uZWN0aW9uLnRocm90dGxlU2xvdEludGVydmFsIix0aHJvdHRsZVNsb3RJbnRlcnZhbCk7dmFyIGVycm9yUGFzc1Rocm91Z2g9dHlwZW9mIGNvbm5lY3Rpb249PT0ib2JqZWN0Ij8hIWNvbm5lY3Rpb24uZXJyb3JQYXNzVGhyb3VnaDpmYWxzZTt2YXIgaGVhZGVycz17fTt2YXIgdXJsPW51bGw7dmFyIG9wdGlvbnM9e21ldGhvZDoiR0VUIn07dmFyIGFsbG93MzA0PWZhbHNlO3ZhciB0aW1lb3V0PTIqNjAqMWUzO2lmKHR5cGVvZiBjb25uZWN0aW9uPT09InN0cmluZyIpe3VybD1jb25uZWN0aW9ufWVsc2UgaWYodHlwZW9mIGNvbm5lY3Rpb249PT0ib2JqZWN0Iil7aWYoY29ubmVjdGlvbj09bnVsbHx8Y29ubmVjdGlvbi51cmw9PW51bGwpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoIm1pc3NpbmcgVVJMIiwiY29ubmVjdGlvbi51cmwiLGNvbm5lY3Rpb24pfXVybD1jb25uZWN0aW9uLnVybDtpZih0eXBlb2YgY29ubmVjdGlvbi50aW1lb3V0PT09Im51bWJlciImJmNvbm5lY3Rpb24udGltZW91dD4wKXt0aW1lb3V0PWNvbm5lY3Rpb24udGltZW91dH1pZihjb25uZWN0aW9uLmhlYWRlcnMpe2Zvcih2YXIga2V5IGluIGNvbm5lY3Rpb24uaGVhZGVycyl7aGVhZGVyc1trZXkudG9Mb3dlckNhc2UoKV09e2tleTprZXksdmFsdWU6U3RyaW5nKGNvbm5lY3Rpb24uaGVhZGVyc1trZXldKX07aWYoWyJpZi1ub25lLW1hdGNoIiwiaWYtbW9kaWZpZWQtc2luY2UiXS5pbmRleE9mKGtleS50b0xvd2VyQ2FzZSgpKT49MCl7YWxsb3czMDQ9dHJ1ZX19fW9wdGlvbnMuYWxsb3dHemlwPSEhY29ubmVjdGlvbi5hbGxvd0d6aXA7aWYoY29ubmVjdGlvbi51c2VyIT1udWxsJiZjb25uZWN0aW9uLnBhc3N3b3JkIT1udWxsKXtpZih1cmwuc3Vic3RyaW5nKDAsNikhPT0iaHR0cHM6IiYmY29ubmVjdGlvbi5hbGxvd0luc2VjdXJlQXV0aGVudGljYXRpb24hPT10cnVlKXtsb2dnZXIudGhyb3dFcnJvcigiYmFzaWMgYXV0aGVudGljYXRpb24gcmVxdWlyZXMgYSBzZWN1cmUgaHR0cHMgdXJsIixsaWIuTG9nZ2VyLmVycm9ycy5JTlZBTElEX0FSR1VNRU5ULHthcmd1bWVudDoidXJsIix1cmw6dXJsLHVzZXI6Y29ubmVjdGlvbi51c2VyLHBhc3N3b3JkOiJbUkVEQUNURURdIn0pfXZhciBhdXRob3JpemF0aW9uPWNvbm5lY3Rpb24udXNlcisiOiIrY29ubmVjdGlvbi5wYXNzd29yZDtoZWFkZXJzWyJhdXRob3JpemF0aW9uIl09e2tleToiQXV0aG9yaXphdGlvbiIsdmFsdWU6IkJhc2ljICIrKDAsbGliJDkuZW5jb2RlKSgoMCxsaWIkOC50b1V0ZjhCeXRlcykoYXV0aG9yaXphdGlvbikpfX1pZihjb25uZWN0aW9uLnNraXBGZXRjaFNldHVwIT1udWxsKXtvcHRpb25zLnNraXBGZXRjaFNldHVwPSEhY29ubmVjdGlvbi5za2lwRmV0Y2hTZXR1cH1pZihjb25uZWN0aW9uLmZldGNoT3B0aW9ucyE9bnVsbCl7b3B0aW9ucy5mZXRjaE9wdGlvbnM9KDAsbGliJDMuc2hhbGxvd0NvcHkpKGNvbm5lY3Rpb24uZmV0Y2hPcHRpb25zKX19dmFyIHJlRGF0YT1uZXcgUmVnRXhwKCJeZGF0YTooW147Ol0qKT8oO2Jhc2U2NCk/LCguKikkIiwiaSIpO3ZhciBkYXRhTWF0Y2g9dXJsP3VybC5tYXRjaChyZURhdGEpOm51bGw7aWYoZGF0YU1hdGNoKXt0cnl7dmFyIHJlc3BvbnNlPXtzdGF0dXNDb2RlOjIwMCxzdGF0dXNNZXNzYWdlOiJPSyIsaGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ZGF0YU1hdGNoWzFdfHwidGV4dC9wbGFpbiJ9LGJvZHk6ZGF0YU1hdGNoWzJdPygwLGxpYiQ5LmRlY29kZSkoZGF0YU1hdGNoWzNdKTp1bnBlcmNlbnQoZGF0YU1hdGNoWzNdKX07dmFyIHJlc3VsdD1yZXNwb25zZS5ib2R5O2lmKHByb2Nlc3NGdW5jKXtyZXN1bHQ9cHJvY2Vzc0Z1bmMocmVzcG9uc2UuYm9keSxyZXNwb25zZSl9cmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXN1bHQpfWNhdGNoKGVycm9yKXtsb2dnZXIudGhyb3dFcnJvcigicHJvY2Vzc2luZyByZXNwb25zZSBlcnJvciIsbGliLkxvZ2dlci5lcnJvcnMuU0VSVkVSX0VSUk9SLHtib2R5OmJvZHlpZnkoZGF0YU1hdGNoWzFdLGRhdGFNYXRjaFsyXSksZXJyb3I6ZXJyb3IscmVxdWVzdEJvZHk6bnVsbCxyZXF1ZXN0TWV0aG9kOiJHRVQiLHVybDp1cmx9KX19aWYoYm9keSl7b3B0aW9ucy5tZXRob2Q9IlBPU1QiO29wdGlvbnMuYm9keT1ib2R5O2lmKGhlYWRlcnNbImNvbnRlbnQtdHlwZSJdPT1udWxsKXtoZWFkZXJzWyJjb250ZW50LXR5cGUiXT17a2V5OiJDb250ZW50LVR5cGUiLHZhbHVlOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0ifX1pZihoZWFkZXJzWyJjb250ZW50LWxlbmd0aCJdPT1udWxsKXtoZWFkZXJzWyJjb250ZW50LWxlbmd0aCJdPXtrZXk6IkNvbnRlbnQtTGVuZ3RoIix2YWx1ZTpTdHJpbmcoYm9keS5sZW5ndGgpfX19dmFyIGZsYXRIZWFkZXJzPXt9O09iamVjdC5rZXlzKGhlYWRlcnMpLmZvckVhY2goZnVuY3Rpb24oa2V5KXt2YXIgaGVhZGVyPWhlYWRlcnNba2V5XTtmbGF0SGVhZGVyc1toZWFkZXIua2V5XT1oZWFkZXIudmFsdWV9KTtvcHRpb25zLmhlYWRlcnM9ZmxhdEhlYWRlcnM7dmFyIHJ1bm5pbmdUaW1lb3V0PWZ1bmN0aW9uKCl7dmFyIHRpbWVyPW51bGw7dmFyIHByb21pc2U9bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe2lmKHRpbWVvdXQpe3RpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZih0aW1lcj09bnVsbCl7cmV0dXJufXRpbWVyPW51bGw7cmVqZWN0KGxvZ2dlci5tYWtlRXJyb3IoInRpbWVvdXQiLGxpYi5Mb2dnZXIuZXJyb3JzLlRJTUVPVVQse3JlcXVlc3RCb2R5OmJvZHlpZnkob3B0aW9ucy5ib2R5LGZsYXRIZWFkZXJzWyJjb250ZW50LXR5cGUiXSkscmVxdWVzdE1ldGhvZDpvcHRpb25zLm1ldGhvZCx0aW1lb3V0OnRpbWVvdXQsdXJsOnVybH0pKX0sdGltZW91dCl9fSk7dmFyIGNhbmNlbD1mdW5jdGlvbigpe2lmKHRpbWVyPT1udWxsKXtyZXR1cm59Y2xlYXJUaW1lb3V0KHRpbWVyKTt0aW1lcj1udWxsfTtyZXR1cm57cHJvbWlzZTpwcm9taXNlLGNhbmNlbDpjYW5jZWx9fSgpO3ZhciBydW5uaW5nRmV0Y2g9ZnVuY3Rpb24oKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBhdHRlbXB0LHJlc3BvbnNlLGxvY2F0aW9uXzEsdHJ5QWdhaW4sc3RhbGwscmV0cnlBZnRlcixlcnJvcl8xLGJvZHlfMSxyZXN1bHQsZXJyb3JfMix0cnlBZ2Fpbix0aW1lb3V0XzE7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOmF0dGVtcHQ9MDtfYS5sYWJlbD0xO2Nhc2UgMTppZighKGF0dGVtcHQ8YXR0ZW1wdExpbWl0KSlyZXR1cm5bMywyMF07cmVzcG9uc2U9bnVsbDtfYS5sYWJlbD0yO2Nhc2UgMjpfYS50cnlzLnB1c2goWzIsOSwsMTBdKTtyZXR1cm5bNCwoMCxicm93c2VyR2V0dXJsLmdldFVybCkodXJsLG9wdGlvbnMpXTtjYXNlIDM6cmVzcG9uc2U9X2Euc2VudCgpO2lmKCEoYXR0ZW1wdDxhdHRlbXB0TGltaXQpKXJldHVyblszLDhdO2lmKCEocmVzcG9uc2Uuc3RhdHVzQ29kZT09PTMwMXx8cmVzcG9uc2Uuc3RhdHVzQ29kZT09PTMwMikpcmV0dXJuWzMsNF07bG9jYXRpb25fMT1yZXNwb25zZS5oZWFkZXJzLmxvY2F0aW9ufHwiIjtpZihvcHRpb25zLm1ldGhvZD09PSJHRVQiJiZsb2NhdGlvbl8xLm1hdGNoKC9eaHR0cHM6Lykpe3VybD1yZXNwb25zZS5oZWFkZXJzLmxvY2F0aW9uO3JldHVyblszLDE5XX1yZXR1cm5bMyw4XTtjYXNlIDQ6aWYoIShyZXNwb25zZS5zdGF0dXNDb2RlPT09NDI5KSlyZXR1cm5bMyw4XTt0cnlBZ2Fpbj10cnVlO2lmKCF0aHJvdHRsZUNhbGxiYWNrKXJldHVyblszLDZdO3JldHVybls0LHRocm90dGxlQ2FsbGJhY2soYXR0ZW1wdCx1cmwpXTtjYXNlIDU6dHJ5QWdhaW49X2Euc2VudCgpO19hLmxhYmVsPTY7Y2FzZSA2OmlmKCF0cnlBZ2FpbilyZXR1cm5bMyw4XTtzdGFsbD0wO3JldHJ5QWZ0ZXI9cmVzcG9uc2UuaGVhZGVyc1sicmV0cnktYWZ0ZXIiXTtpZih0eXBlb2YgcmV0cnlBZnRlcj09PSJzdHJpbmciJiZyZXRyeUFmdGVyLm1hdGNoKC9eWzEtOV1bMC05XSokLykpe3N0YWxsPXBhcnNlSW50KHJldHJ5QWZ0ZXIpKjFlM31lbHNle3N0YWxsPXRocm90dGxlU2xvdEludGVydmFsKnBhcnNlSW50KFN0cmluZyhNYXRoLnJhbmRvbSgpKk1hdGgucG93KDIsYXR0ZW1wdCkpKX1yZXR1cm5bNCxzdGFsbGVyKHN0YWxsKV07Y2FzZSA3Ol9hLnNlbnQoKTtyZXR1cm5bMywxOV07Y2FzZSA4OnJldHVyblszLDEwXTtjYXNlIDk6ZXJyb3JfMT1fYS5zZW50KCk7cmVzcG9uc2U9ZXJyb3JfMS5yZXNwb25zZTtpZihyZXNwb25zZT09bnVsbCl7cnVubmluZ1RpbWVvdXQuY2FuY2VsKCk7bG9nZ2VyLnRocm93RXJyb3IoIm1pc3NpbmcgcmVzcG9uc2UiLGxpYi5Mb2dnZXIuZXJyb3JzLlNFUlZFUl9FUlJPUix7cmVxdWVzdEJvZHk6Ym9keWlmeShvcHRpb25zLmJvZHksZmxhdEhlYWRlcnNbImNvbnRlbnQtdHlwZSJdKSxyZXF1ZXN0TWV0aG9kOm9wdGlvbnMubWV0aG9kLHNlcnZlckVycm9yOmVycm9yXzEsdXJsOnVybH0pfXJldHVyblszLDEwXTtjYXNlIDEwOmJvZHlfMT1yZXNwb25zZS5ib2R5O2lmKGFsbG93MzA0JiZyZXNwb25zZS5zdGF0dXNDb2RlPT09MzA0KXtib2R5XzE9bnVsbH1lbHNlIGlmKCFlcnJvclBhc3NUaHJvdWdoJiYocmVzcG9uc2Uuc3RhdHVzQ29kZTwyMDB8fHJlc3BvbnNlLnN0YXR1c0NvZGU+PTMwMCkpe3J1bm5pbmdUaW1lb3V0LmNhbmNlbCgpO2xvZ2dlci50aHJvd0Vycm9yKCJiYWQgcmVzcG9uc2UiLGxpYi5Mb2dnZXIuZXJyb3JzLlNFUlZFUl9FUlJPUix7c3RhdHVzOnJlc3BvbnNlLnN0YXR1c0NvZGUsaGVhZGVyczpyZXNwb25zZS5oZWFkZXJzLGJvZHk6Ym9keWlmeShib2R5XzEscmVzcG9uc2UuaGVhZGVycz9yZXNwb25zZS5oZWFkZXJzWyJjb250ZW50LXR5cGUiXTpudWxsKSxyZXF1ZXN0Qm9keTpib2R5aWZ5KG9wdGlvbnMuYm9keSxmbGF0SGVhZGVyc1siY29udGVudC10eXBlIl0pLHJlcXVlc3RNZXRob2Q6b3B0aW9ucy5tZXRob2QsdXJsOnVybH0pfWlmKCFwcm9jZXNzRnVuYylyZXR1cm5bMywxOF07X2EubGFiZWw9MTE7Y2FzZSAxMTpfYS50cnlzLnB1c2goWzExLDEzLCwxOF0pO3JldHVybls0LHByb2Nlc3NGdW5jKGJvZHlfMSxyZXNwb25zZSldO2Nhc2UgMTI6cmVzdWx0PV9hLnNlbnQoKTtydW5uaW5nVGltZW91dC5jYW5jZWwoKTtyZXR1cm5bMixyZXN1bHRdO2Nhc2UgMTM6ZXJyb3JfMj1fYS5zZW50KCk7aWYoIShlcnJvcl8yLnRocm90dGxlUmV0cnkmJmF0dGVtcHQ8YXR0ZW1wdExpbWl0KSlyZXR1cm5bMywxN107dHJ5QWdhaW49dHJ1ZTtpZighdGhyb3R0bGVDYWxsYmFjaylyZXR1cm5bMywxNV07cmV0dXJuWzQsdGhyb3R0bGVDYWxsYmFjayhhdHRlbXB0LHVybCldO2Nhc2UgMTQ6dHJ5QWdhaW49X2Euc2VudCgpO19hLmxhYmVsPTE1O2Nhc2UgMTU6aWYoIXRyeUFnYWluKXJldHVyblszLDE3XTt0aW1lb3V0XzE9dGhyb3R0bGVTbG90SW50ZXJ2YWwqcGFyc2VJbnQoU3RyaW5nKE1hdGgucmFuZG9tKCkqTWF0aC5wb3coMixhdHRlbXB0KSkpO3JldHVybls0LHN0YWxsZXIodGltZW91dF8xKV07Y2FzZSAxNjpfYS5zZW50KCk7cmV0dXJuWzMsMTldO2Nhc2UgMTc6cnVubmluZ1RpbWVvdXQuY2FuY2VsKCk7bG9nZ2VyLnRocm93RXJyb3IoInByb2Nlc3NpbmcgcmVzcG9uc2UgZXJyb3IiLGxpYi5Mb2dnZXIuZXJyb3JzLlNFUlZFUl9FUlJPUix7Ym9keTpib2R5aWZ5KGJvZHlfMSxyZXNwb25zZS5oZWFkZXJzP3Jlc3BvbnNlLmhlYWRlcnNbImNvbnRlbnQtdHlwZSJdOm51bGwpLGVycm9yOmVycm9yXzIscmVxdWVzdEJvZHk6Ym9keWlmeShvcHRpb25zLmJvZHksZmxhdEhlYWRlcnNbImNvbnRlbnQtdHlwZSJdKSxyZXF1ZXN0TWV0aG9kOm9wdGlvbnMubWV0aG9kLHVybDp1cmx9KTtyZXR1cm5bMywxOF07Y2FzZSAxODpydW5uaW5nVGltZW91dC5jYW5jZWwoKTtyZXR1cm5bMixib2R5XzFdO2Nhc2UgMTk6YXR0ZW1wdCsrO3JldHVyblszLDFdO2Nhc2UgMjA6cmV0dXJuWzIsbG9nZ2VyLnRocm93RXJyb3IoImZhaWxlZCByZXNwb25zZSIsbGliLkxvZ2dlci5lcnJvcnMuU0VSVkVSX0VSUk9SLHtyZXF1ZXN0Qm9keTpib2R5aWZ5KG9wdGlvbnMuYm9keSxmbGF0SGVhZGVyc1siY29udGVudC10eXBlIl0pLHJlcXVlc3RNZXRob2Q6b3B0aW9ucy5tZXRob2QsdXJsOnVybH0pXX19KX0pfSgpO3JldHVybiBQcm9taXNlLnJhY2UoW3J1bm5pbmdUaW1lb3V0LnByb21pc2UscnVubmluZ0ZldGNoXSl9ZXhwb3J0cy5fZmV0Y2hEYXRhPV9mZXRjaERhdGE7ZnVuY3Rpb24gZmV0Y2hKc29uKGNvbm5lY3Rpb24sanNvbixwcm9jZXNzRnVuYyl7dmFyIHByb2Nlc3NKc29uRnVuYz1mdW5jdGlvbih2YWx1ZSxyZXNwb25zZSl7dmFyIHJlc3VsdD1udWxsO2lmKHZhbHVlIT1udWxsKXt0cnl7cmVzdWx0PUpTT04ucGFyc2UoKDAsbGliJDgudG9VdGY4U3RyaW5nKSh2YWx1ZSkpfWNhdGNoKGVycm9yKXtsb2dnZXIudGhyb3dFcnJvcigiaW52YWxpZCBKU09OIixsaWIuTG9nZ2VyLmVycm9ycy5TRVJWRVJfRVJST1Ise2JvZHk6dmFsdWUsZXJyb3I6ZXJyb3J9KX19aWYocHJvY2Vzc0Z1bmMpe3Jlc3VsdD1wcm9jZXNzRnVuYyhyZXN1bHQscmVzcG9uc2UpfXJldHVybiByZXN1bHR9O3ZhciBib2R5PW51bGw7aWYoanNvbiE9bnVsbCl7Ym9keT0oMCxsaWIkOC50b1V0ZjhCeXRlcykoanNvbik7dmFyIHVwZGF0ZWQ9dHlwZW9mIGNvbm5lY3Rpb249PT0ic3RyaW5nIj97dXJsOmNvbm5lY3Rpb259OigwLGxpYiQzLnNoYWxsb3dDb3B5KShjb25uZWN0aW9uKTtpZih1cGRhdGVkLmhlYWRlcnMpe3ZhciBoYXNDb250ZW50VHlwZT1PYmplY3Qua2V5cyh1cGRhdGVkLmhlYWRlcnMpLmZpbHRlcihmdW5jdGlvbihrKXtyZXR1cm4gay50b0xvd2VyQ2FzZSgpPT09ImNvbnRlbnQtdHlwZSJ9KS5sZW5ndGghPT0wO2lmKCFoYXNDb250ZW50VHlwZSl7dXBkYXRlZC5oZWFkZXJzPSgwLGxpYiQzLnNoYWxsb3dDb3B5KSh1cGRhdGVkLmhlYWRlcnMpO3VwZGF0ZWQuaGVhZGVyc1siY29udGVudC10eXBlIl09ImFwcGxpY2F0aW9uL2pzb24ifX1lbHNle3VwZGF0ZWQuaGVhZGVycz17ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX1jb25uZWN0aW9uPXVwZGF0ZWR9cmV0dXJuIF9mZXRjaERhdGEoY29ubmVjdGlvbixib2R5LHByb2Nlc3NKc29uRnVuYyl9ZXhwb3J0cy5mZXRjaEpzb249ZmV0Y2hKc29uO2Z1bmN0aW9uIHBvbGwoZnVuYyxvcHRpb25zKXtpZighb3B0aW9ucyl7b3B0aW9ucz17fX1vcHRpb25zPSgwLGxpYiQzLnNoYWxsb3dDb3B5KShvcHRpb25zKTtpZihvcHRpb25zLmZsb29yPT1udWxsKXtvcHRpb25zLmZsb29yPTB9aWYob3B0aW9ucy5jZWlsaW5nPT1udWxsKXtvcHRpb25zLmNlaWxpbmc9MWU0fWlmKG9wdGlvbnMuaW50ZXJ2YWw9PW51bGwpe29wdGlvbnMuaW50ZXJ2YWw9MjUwfXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLHJlamVjdCl7dmFyIHRpbWVyPW51bGw7dmFyIGRvbmU9ZmFsc2U7dmFyIGNhbmNlbD1mdW5jdGlvbigpe2lmKGRvbmUpe3JldHVybiBmYWxzZX1kb25lPXRydWU7aWYodGltZXIpe2NsZWFyVGltZW91dCh0aW1lcil9cmV0dXJuIHRydWV9O2lmKG9wdGlvbnMudGltZW91dCl7dGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe2lmKGNhbmNlbCgpKXtyZWplY3QobmV3IEVycm9yKCJ0aW1lb3V0IikpfX0sb3B0aW9ucy50aW1lb3V0KX12YXIgcmV0cnlMaW1pdD1vcHRpb25zLnJldHJ5TGltaXQ7dmFyIGF0dGVtcHQ9MDtmdW5jdGlvbiBjaGVjaygpe3JldHVybiBmdW5jKCkudGhlbihmdW5jdGlvbihyZXN1bHQpe2lmKHJlc3VsdCE9PXVuZGVmaW5lZCl7aWYoY2FuY2VsKCkpe3Jlc29sdmUocmVzdWx0KX19ZWxzZSBpZihvcHRpb25zLm9uY2VQb2xsKXtvcHRpb25zLm9uY2VQb2xsLm9uY2UoInBvbGwiLGNoZWNrKX1lbHNlIGlmKG9wdGlvbnMub25jZUJsb2NrKXtvcHRpb25zLm9uY2VCbG9jay5vbmNlKCJibG9jayIsY2hlY2spfWVsc2UgaWYoIWRvbmUpe2F0dGVtcHQrKztpZihhdHRlbXB0PnJldHJ5TGltaXQpe2lmKGNhbmNlbCgpKXtyZWplY3QobmV3IEVycm9yKCJyZXRyeSBsaW1pdCByZWFjaGVkIikpfXJldHVybn12YXIgdGltZW91dD1vcHRpb25zLmludGVydmFsKnBhcnNlSW50KFN0cmluZyhNYXRoLnJhbmRvbSgpKk1hdGgucG93KDIsYXR0ZW1wdCkpKTtpZih0aW1lb3V0PG9wdGlvbnMuZmxvb3Ipe3RpbWVvdXQ9b3B0aW9ucy5mbG9vcn1pZih0aW1lb3V0Pm9wdGlvbnMuY2VpbGluZyl7dGltZW91dD1vcHRpb25zLmNlaWxpbmd9c2V0VGltZW91dChjaGVjayx0aW1lb3V0KX1yZXR1cm4gbnVsbH0sZnVuY3Rpb24oZXJyb3Ipe2lmKGNhbmNlbCgpKXtyZWplY3QoZXJyb3IpfX0pfWNoZWNrKCl9KX1leHBvcnRzLnBvbGw9cG9sbH0pO3ZhciBpbmRleCRxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGxpYiRzKTsidXNlIHN0cmljdCI7dmFyIEFMUEhBQkVUPSJxcHpyeTl4OGdmMnR2ZHcwczNqbjU0a2hjZTZtdWE3bCI7dmFyIEFMUEhBQkVUX01BUD17fTtmb3IodmFyIHo9MDt6PEFMUEhBQkVULmxlbmd0aDt6Kyspe3ZhciB4PUFMUEhBQkVULmNoYXJBdCh6KTtpZihBTFBIQUJFVF9NQVBbeF0hPT11bmRlZmluZWQpdGhyb3cgbmV3IFR5cGVFcnJvcih4KyIgaXMgYW1iaWd1b3VzIik7QUxQSEFCRVRfTUFQW3hdPXp9ZnVuY3Rpb24gcG9seW1vZFN0ZXAocHJlKXt2YXIgYj1wcmU+PjI1O3JldHVybihwcmUmMzM1NTQ0MzEpPDw1Xi0oYj4+MCYxKSY5OTY4MjUwMTBeLShiPj4xJjEpJjY0MjgxMzU0OV4tKGI+PjImMSkmNTEzODc0NDI2Xi0oYj4+MyYxKSYxMDI3NzQ4ODI5Xi0oYj4+NCYxKSY3MDU5NzkwNTl9ZnVuY3Rpb24gcHJlZml4Q2hrKHByZWZpeCl7dmFyIGNoaz0xO2Zvcih2YXIgaT0wO2k8cHJlZml4Lmxlbmd0aDsrK2kpe3ZhciBjPXByZWZpeC5jaGFyQ29kZUF0KGkpO2lmKGM8MzN8fGM+MTI2KXJldHVybiJJbnZhbGlkIHByZWZpeCAoIitwcmVmaXgrIikiO2Noaz1wb2x5bW9kU3RlcChjaGspXmM+PjV9Y2hrPXBvbHltb2RTdGVwKGNoayk7Zm9yKGk9MDtpPHByZWZpeC5sZW5ndGg7KytpKXt2YXIgdj1wcmVmaXguY2hhckNvZGVBdChpKTtjaGs9cG9seW1vZFN0ZXAoY2hrKV52JjMxfXJldHVybiBjaGt9ZnVuY3Rpb24gZW5jb2RlKHByZWZpeCx3b3JkcyxMSU1JVCl7TElNSVQ9TElNSVR8fDkwO2lmKHByZWZpeC5sZW5ndGgrNyt3b3Jkcy5sZW5ndGg+TElNSVQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhjZWVkcyBsZW5ndGggbGltaXQiKTtwcmVmaXg9cHJlZml4LnRvTG93ZXJDYXNlKCk7dmFyIGNoaz1wcmVmaXhDaGsocHJlZml4KTtpZih0eXBlb2YgY2hrPT09InN0cmluZyIpdGhyb3cgbmV3IEVycm9yKGNoayk7dmFyIHJlc3VsdD1wcmVmaXgrIjEiO2Zvcih2YXIgaT0wO2k8d29yZHMubGVuZ3RoOysraSl7dmFyIHg9d29yZHNbaV07aWYoeD4+NSE9PTApdGhyb3cgbmV3IEVycm9yKCJOb24gNS1iaXQgd29yZCIpO2Noaz1wb2x5bW9kU3RlcChjaGspXng7cmVzdWx0Kz1BTFBIQUJFVC5jaGFyQXQoeCl9Zm9yKGk9MDtpPDY7KytpKXtjaGs9cG9seW1vZFN0ZXAoY2hrKX1jaGtePTE7Zm9yKGk9MDtpPDY7KytpKXt2YXIgdj1jaGs+Pig1LWkpKjUmMzE7cmVzdWx0Kz1BTFBIQUJFVC5jaGFyQXQodil9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBfX2RlY29kZShzdHIsTElNSVQpe0xJTUlUPUxJTUlUfHw5MDtpZihzdHIubGVuZ3RoPDgpcmV0dXJuIHN0cisiIHRvbyBzaG9ydCI7aWYoc3RyLmxlbmd0aD5MSU1JVClyZXR1cm4iRXhjZWVkcyBsZW5ndGggbGltaXQiO3ZhciBsb3dlcmVkPXN0ci50b0xvd2VyQ2FzZSgpO3ZhciB1cHBlcmVkPXN0ci50b1VwcGVyQ2FzZSgpO2lmKHN0ciE9PWxvd2VyZWQmJnN0ciE9PXVwcGVyZWQpcmV0dXJuIk1peGVkLWNhc2Ugc3RyaW5nICIrc3RyO3N0cj1sb3dlcmVkO3ZhciBzcGxpdD1zdHIubGFzdEluZGV4T2YoIjEiKTtpZihzcGxpdD09PS0xKXJldHVybiJObyBzZXBhcmF0b3IgY2hhcmFjdGVyIGZvciAiK3N0cjtpZihzcGxpdD09PTApcmV0dXJuIk1pc3NpbmcgcHJlZml4IGZvciAiK3N0cjt2YXIgcHJlZml4PXN0ci5zbGljZSgwLHNwbGl0KTt2YXIgd29yZENoYXJzPXN0ci5zbGljZShzcGxpdCsxKTtpZih3b3JkQ2hhcnMubGVuZ3RoPDYpcmV0dXJuIkRhdGEgdG9vIHNob3J0Ijt2YXIgY2hrPXByZWZpeENoayhwcmVmaXgpO2lmKHR5cGVvZiBjaGs9PT0ic3RyaW5nIilyZXR1cm4gY2hrO3ZhciB3b3Jkcz1bXTtmb3IodmFyIGk9MDtpPHdvcmRDaGFycy5sZW5ndGg7KytpKXt2YXIgYz13b3JkQ2hhcnMuY2hhckF0KGkpO3ZhciB2PUFMUEhBQkVUX01BUFtjXTtpZih2PT09dW5kZWZpbmVkKXJldHVybiJVbmtub3duIGNoYXJhY3RlciAiK2M7Y2hrPXBvbHltb2RTdGVwKGNoayledjtpZihpKzY+PXdvcmRDaGFycy5sZW5ndGgpY29udGludWU7d29yZHMucHVzaCh2KX1pZihjaGshPT0xKXJldHVybiJJbnZhbGlkIGNoZWNrc3VtIGZvciAiK3N0cjtyZXR1cm57cHJlZml4OnByZWZpeCx3b3Jkczp3b3Jkc319ZnVuY3Rpb24gZGVjb2RlVW5zYWZlKCl7dmFyIHJlcz1fX2RlY29kZS5hcHBseShudWxsLGFyZ3VtZW50cyk7aWYodHlwZW9mIHJlcz09PSJvYmplY3QiKXJldHVybiByZXN9ZnVuY3Rpb24gZGVjb2RlKHN0cil7dmFyIHJlcz1fX2RlY29kZS5hcHBseShudWxsLGFyZ3VtZW50cyk7aWYodHlwZW9mIHJlcz09PSJvYmplY3QiKXJldHVybiByZXM7dGhyb3cgbmV3IEVycm9yKHJlcyl9ZnVuY3Rpb24gY29udmVydChkYXRhLGluQml0cyxvdXRCaXRzLHBhZCl7dmFyIHZhbHVlPTA7dmFyIGJpdHM9MDt2YXIgbWF4Vj0oMTw8b3V0Qml0cyktMTt2YXIgcmVzdWx0PVtdO2Zvcih2YXIgaT0wO2k8ZGF0YS5sZW5ndGg7KytpKXt2YWx1ZT12YWx1ZTw8aW5CaXRzfGRhdGFbaV07Yml0cys9aW5CaXRzO3doaWxlKGJpdHM+PW91dEJpdHMpe2JpdHMtPW91dEJpdHM7cmVzdWx0LnB1c2godmFsdWU+PmJpdHMmbWF4Vil9fWlmKHBhZCl7aWYoYml0cz4wKXtyZXN1bHQucHVzaCh2YWx1ZTw8b3V0Qml0cy1iaXRzJm1heFYpfX1lbHNle2lmKGJpdHM+PWluQml0cylyZXR1cm4iRXhjZXNzIHBhZGRpbmciO2lmKHZhbHVlPDxvdXRCaXRzLWJpdHMmbWF4VilyZXR1cm4iTm9uLXplcm8gcGFkZGluZyJ9cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiB0b1dvcmRzVW5zYWZlKGJ5dGVzKXt2YXIgcmVzPWNvbnZlcnQoYnl0ZXMsOCw1LHRydWUpO2lmKEFycmF5LmlzQXJyYXkocmVzKSlyZXR1cm4gcmVzfWZ1bmN0aW9uIHRvV29yZHMoYnl0ZXMpe3ZhciByZXM9Y29udmVydChieXRlcyw4LDUsdHJ1ZSk7aWYoQXJyYXkuaXNBcnJheShyZXMpKXJldHVybiByZXM7dGhyb3cgbmV3IEVycm9yKHJlcyl9ZnVuY3Rpb24gZnJvbVdvcmRzVW5zYWZlKHdvcmRzKXt2YXIgcmVzPWNvbnZlcnQod29yZHMsNSw4LGZhbHNlKTtpZihBcnJheS5pc0FycmF5KHJlcykpcmV0dXJuIHJlc31mdW5jdGlvbiBmcm9tV29yZHMod29yZHMpe3ZhciByZXM9Y29udmVydCh3b3Jkcyw1LDgsZmFsc2UpO2lmKEFycmF5LmlzQXJyYXkocmVzKSlyZXR1cm4gcmVzO3Rocm93IG5ldyBFcnJvcihyZXMpfXZhciBiZWNoMzI9e2RlY29kZVVuc2FmZTpkZWNvZGVVbnNhZmUsZGVjb2RlOmRlY29kZSxlbmNvZGU6ZW5jb2RlLHRvV29yZHNVbnNhZmU6dG9Xb3Jkc1Vuc2FmZSx0b1dvcmRzOnRvV29yZHMsZnJvbVdvcmRzVW5zYWZlOmZyb21Xb3Jkc1Vuc2FmZSxmcm9tV29yZHM6ZnJvbVdvcmRzfTt2YXIgX3ZlcnNpb24kST1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMudmVyc2lvbj12b2lkIDA7ZXhwb3J0cy52ZXJzaW9uPSJwcm92aWRlcnMvNS43LjIifSk7dmFyIF92ZXJzaW9uJEo9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoX3ZlcnNpb24kSSk7dmFyIGZvcm1hdHRlcj1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuc2hvd1Rocm90dGxlTWVzc2FnZT1leHBvcnRzLmlzQ29tbXVuaXR5UmVzb3VyY2U9ZXhwb3J0cy5pc0NvbW11bml0eVJlc291cmNhYmxlPWV4cG9ydHMuRm9ybWF0dGVyPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJEkudmVyc2lvbik7dmFyIEZvcm1hdHRlcj1mdW5jdGlvbigpe2Z1bmN0aW9uIEZvcm1hdHRlcigpe3RoaXMuZm9ybWF0cz10aGlzLmdldERlZmF1bHRGb3JtYXRzKCl9Rm9ybWF0dGVyLnByb3RvdHlwZS5nZXREZWZhdWx0Rm9ybWF0cz1mdW5jdGlvbigpe3ZhciBfdGhpcz10aGlzO3ZhciBmb3JtYXRzPXt9O3ZhciBhZGRyZXNzPXRoaXMuYWRkcmVzcy5iaW5kKHRoaXMpO3ZhciBiaWdOdW1iZXI9dGhpcy5iaWdOdW1iZXIuYmluZCh0aGlzKTt2YXIgYmxvY2tUYWc9dGhpcy5ibG9ja1RhZy5iaW5kKHRoaXMpO3ZhciBkYXRhPXRoaXMuZGF0YS5iaW5kKHRoaXMpO3ZhciBoYXNoPXRoaXMuaGFzaC5iaW5kKHRoaXMpO3ZhciBoZXg9dGhpcy5oZXguYmluZCh0aGlzKTt2YXIgbnVtYmVyPXRoaXMubnVtYmVyLmJpbmQodGhpcyk7dmFyIHR5cGU9dGhpcy50eXBlLmJpbmQodGhpcyk7dmFyIHN0cmljdERhdGE9ZnVuY3Rpb24odil7cmV0dXJuIF90aGlzLmRhdGEodix0cnVlKX07Zm9ybWF0cy50cmFuc2FjdGlvbj17aGFzaDpoYXNoLHR5cGU6dHlwZSxhY2Nlc3NMaXN0OkZvcm1hdHRlci5hbGxvd051bGwodGhpcy5hY2Nlc3NMaXN0LmJpbmQodGhpcyksbnVsbCksYmxvY2tIYXNoOkZvcm1hdHRlci5hbGxvd051bGwoaGFzaCxudWxsKSxibG9ja051bWJlcjpGb3JtYXR0ZXIuYWxsb3dOdWxsKG51bWJlcixudWxsKSx0cmFuc2FjdGlvbkluZGV4OkZvcm1hdHRlci5hbGxvd051bGwobnVtYmVyLG51bGwpLGNvbmZpcm1hdGlvbnM6Rm9ybWF0dGVyLmFsbG93TnVsbChudW1iZXIsbnVsbCksZnJvbTphZGRyZXNzLGdhc1ByaWNlOkZvcm1hdHRlci5hbGxvd051bGwoYmlnTnVtYmVyKSxtYXhQcmlvcml0eUZlZVBlckdhczpGb3JtYXR0ZXIuYWxsb3dOdWxsKGJpZ051bWJlciksbWF4RmVlUGVyR2FzOkZvcm1hdHRlci5hbGxvd051bGwoYmlnTnVtYmVyKSxnYXNMaW1pdDpiaWdOdW1iZXIsdG86Rm9ybWF0dGVyLmFsbG93TnVsbChhZGRyZXNzLG51bGwpLHZhbHVlOmJpZ051bWJlcixub25jZTpudW1iZXIsZGF0YTpkYXRhLHI6Rm9ybWF0dGVyLmFsbG93TnVsbCh0aGlzLnVpbnQyNTYpLHM6Rm9ybWF0dGVyLmFsbG93TnVsbCh0aGlzLnVpbnQyNTYpLHY6Rm9ybWF0dGVyLmFsbG93TnVsbChudW1iZXIpLGNyZWF0ZXM6Rm9ybWF0dGVyLmFsbG93TnVsbChhZGRyZXNzLG51bGwpLHJhdzpGb3JtYXR0ZXIuYWxsb3dOdWxsKGRhdGEpfTtmb3JtYXRzLnRyYW5zYWN0aW9uUmVxdWVzdD17ZnJvbTpGb3JtYXR0ZXIuYWxsb3dOdWxsKGFkZHJlc3MpLG5vbmNlOkZvcm1hdHRlci5hbGxvd051bGwobnVtYmVyKSxnYXNMaW1pdDpGb3JtYXR0ZXIuYWxsb3dOdWxsKGJpZ051bWJlciksZ2FzUHJpY2U6Rm9ybWF0dGVyLmFsbG93TnVsbChiaWdOdW1iZXIpLG1heFByaW9yaXR5RmVlUGVyR2FzOkZvcm1hdHRlci5hbGxvd051bGwoYmlnTnVtYmVyKSxtYXhGZWVQZXJHYXM6Rm9ybWF0dGVyLmFsbG93TnVsbChiaWdOdW1iZXIpLHRvOkZvcm1hdHRlci5hbGxvd051bGwoYWRkcmVzcyksdmFsdWU6Rm9ybWF0dGVyLmFsbG93TnVsbChiaWdOdW1iZXIpLGRhdGE6Rm9ybWF0dGVyLmFsbG93TnVsbChzdHJpY3REYXRhKSx0eXBlOkZvcm1hdHRlci5hbGxvd051bGwobnVtYmVyKSxhY2Nlc3NMaXN0OkZvcm1hdHRlci5hbGxvd051bGwodGhpcy5hY2Nlc3NMaXN0LmJpbmQodGhpcyksbnVsbCl9O2Zvcm1hdHMucmVjZWlwdExvZz17dHJhbnNhY3Rpb25JbmRleDpudW1iZXIsYmxvY2tOdW1iZXI6bnVtYmVyLHRyYW5zYWN0aW9uSGFzaDpoYXNoLGFkZHJlc3M6YWRkcmVzcyx0b3BpY3M6Rm9ybWF0dGVyLmFycmF5T2YoaGFzaCksZGF0YTpkYXRhLGxvZ0luZGV4Om51bWJlcixibG9ja0hhc2g6aGFzaH07Zm9ybWF0cy5yZWNlaXB0PXt0bzpGb3JtYXR0ZXIuYWxsb3dOdWxsKHRoaXMuYWRkcmVzcyxudWxsKSxmcm9tOkZvcm1hdHRlci5hbGxvd051bGwodGhpcy5hZGRyZXNzLG51bGwpLGNvbnRyYWN0QWRkcmVzczpGb3JtYXR0ZXIuYWxsb3dOdWxsKGFkZHJlc3MsbnVsbCksdHJhbnNhY3Rpb25JbmRleDpudW1iZXIscm9vdDpGb3JtYXR0ZXIuYWxsb3dOdWxsKGhleCksZ2FzVXNlZDpiaWdOdW1iZXIsbG9nc0Jsb29tOkZvcm1hdHRlci5hbGxvd051bGwoZGF0YSksYmxvY2tIYXNoOmhhc2gsdHJhbnNhY3Rpb25IYXNoOmhhc2gsbG9nczpGb3JtYXR0ZXIuYXJyYXlPZih0aGlzLnJlY2VpcHRMb2cuYmluZCh0aGlzKSksYmxvY2tOdW1iZXI6bnVtYmVyLGNvbmZpcm1hdGlvbnM6Rm9ybWF0dGVyLmFsbG93TnVsbChudW1iZXIsbnVsbCksY3VtdWxhdGl2ZUdhc1VzZWQ6YmlnTnVtYmVyLGVmZmVjdGl2ZUdhc1ByaWNlOkZvcm1hdHRlci5hbGxvd051bGwoYmlnTnVtYmVyKSxzdGF0dXM6Rm9ybWF0dGVyLmFsbG93TnVsbChudW1iZXIpLHR5cGU6dHlwZX07Zm9ybWF0cy5ibG9jaz17aGFzaDpGb3JtYXR0ZXIuYWxsb3dOdWxsKGhhc2gpLHBhcmVudEhhc2g6aGFzaCxudW1iZXI6bnVtYmVyLHRpbWVzdGFtcDpudW1iZXIsbm9uY2U6Rm9ybWF0dGVyLmFsbG93TnVsbChoZXgpLGRpZmZpY3VsdHk6dGhpcy5kaWZmaWN1bHR5LmJpbmQodGhpcyksZ2FzTGltaXQ6YmlnTnVtYmVyLGdhc1VzZWQ6YmlnTnVtYmVyLG1pbmVyOkZvcm1hdHRlci5hbGxvd051bGwoYWRkcmVzcyksZXh0cmFEYXRhOmRhdGEsdHJhbnNhY3Rpb25zOkZvcm1hdHRlci5hbGxvd051bGwoRm9ybWF0dGVyLmFycmF5T2YoaGFzaCkpLGJhc2VGZWVQZXJHYXM6Rm9ybWF0dGVyLmFsbG93TnVsbChiaWdOdW1iZXIpfTtmb3JtYXRzLmJsb2NrV2l0aFRyYW5zYWN0aW9ucz0oMCxsaWIkMy5zaGFsbG93Q29weSkoZm9ybWF0cy5ibG9jayk7Zm9ybWF0cy5ibG9ja1dpdGhUcmFuc2FjdGlvbnMudHJhbnNhY3Rpb25zPUZvcm1hdHRlci5hbGxvd051bGwoRm9ybWF0dGVyLmFycmF5T2YodGhpcy50cmFuc2FjdGlvblJlc3BvbnNlLmJpbmQodGhpcykpKTtmb3JtYXRzLmZpbHRlcj17ZnJvbUJsb2NrOkZvcm1hdHRlci5hbGxvd051bGwoYmxvY2tUYWcsdW5kZWZpbmVkKSx0b0Jsb2NrOkZvcm1hdHRlci5hbGxvd051bGwoYmxvY2tUYWcsdW5kZWZpbmVkKSxibG9ja0hhc2g6Rm9ybWF0dGVyLmFsbG93TnVsbChoYXNoLHVuZGVmaW5lZCksYWRkcmVzczpGb3JtYXR0ZXIuYWxsb3dOdWxsKGFkZHJlc3MsdW5kZWZpbmVkKSx0b3BpY3M6Rm9ybWF0dGVyLmFsbG93TnVsbCh0aGlzLnRvcGljcy5iaW5kKHRoaXMpLHVuZGVmaW5lZCl9O2Zvcm1hdHMuZmlsdGVyTG9nPXtibG9ja051bWJlcjpGb3JtYXR0ZXIuYWxsb3dOdWxsKG51bWJlciksYmxvY2tIYXNoOkZvcm1hdHRlci5hbGxvd051bGwoaGFzaCksdHJhbnNhY3Rpb25JbmRleDpudW1iZXIscmVtb3ZlZDpGb3JtYXR0ZXIuYWxsb3dOdWxsKHRoaXMuYm9vbGVhbi5iaW5kKHRoaXMpKSxhZGRyZXNzOmFkZHJlc3MsZGF0YTpGb3JtYXR0ZXIuYWxsb3dGYWxzaXNoKGRhdGEsIjB4IiksdG9waWNzOkZvcm1hdHRlci5hcnJheU9mKGhhc2gpLHRyYW5zYWN0aW9uSGFzaDpoYXNoLGxvZ0luZGV4Om51bWJlcn07cmV0dXJuIGZvcm1hdHN9O0Zvcm1hdHRlci5wcm90b3R5cGUuYWNjZXNzTGlzdD1mdW5jdGlvbihhY2Nlc3NMaXN0KXtyZXR1cm4oMCxsaWIkaC5hY2Nlc3NMaXN0aWZ5KShhY2Nlc3NMaXN0fHxbXSl9O0Zvcm1hdHRlci5wcm90b3R5cGUubnVtYmVyPWZ1bmN0aW9uKG51bWJlcil7aWYobnVtYmVyPT09IjB4Iil7cmV0dXJuIDB9cmV0dXJuIGxpYiQyLkJpZ051bWJlci5mcm9tKG51bWJlcikudG9OdW1iZXIoKX07Rm9ybWF0dGVyLnByb3RvdHlwZS50eXBlPWZ1bmN0aW9uKG51bWJlcil7aWYobnVtYmVyPT09IjB4Inx8bnVtYmVyPT1udWxsKXtyZXR1cm4gMH1yZXR1cm4gbGliJDIuQmlnTnVtYmVyLmZyb20obnVtYmVyKS50b051bWJlcigpfTtGb3JtYXR0ZXIucHJvdG90eXBlLmJpZ051bWJlcj1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuIGxpYiQyLkJpZ051bWJlci5mcm9tKHZhbHVlKX07Rm9ybWF0dGVyLnByb3RvdHlwZS5ib29sZWFuPWZ1bmN0aW9uKHZhbHVlKXtpZih0eXBlb2YgdmFsdWU9PT0iYm9vbGVhbiIpe3JldHVybiB2YWx1ZX1pZih0eXBlb2YgdmFsdWU9PT0ic3RyaW5nIil7dmFsdWU9dmFsdWUudG9Mb3dlckNhc2UoKTtpZih2YWx1ZT09PSJ0cnVlIil7cmV0dXJuIHRydWV9aWYodmFsdWU9PT0iZmFsc2UiKXtyZXR1cm4gZmFsc2V9fXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBib29sZWFuIC0gIit2YWx1ZSl9O0Zvcm1hdHRlci5wcm90b3R5cGUuaGV4PWZ1bmN0aW9uKHZhbHVlLHN0cmljdCl7aWYodHlwZW9mIHZhbHVlPT09InN0cmluZyIpe2lmKCFzdHJpY3QmJnZhbHVlLnN1YnN0cmluZygwLDIpIT09IjB4Iil7dmFsdWU9IjB4Iit2YWx1ZX1pZigoMCxsaWIkMS5pc0hleFN0cmluZykodmFsdWUpKXtyZXR1cm4gdmFsdWUudG9Mb3dlckNhc2UoKX19cmV0dXJuIGxvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgaGFzaCIsInZhbHVlIix2YWx1ZSl9O0Zvcm1hdHRlci5wcm90b3R5cGUuZGF0YT1mdW5jdGlvbih2YWx1ZSxzdHJpY3Qpe3ZhciByZXN1bHQ9dGhpcy5oZXgodmFsdWUsc3RyaWN0KTtpZihyZXN1bHQubGVuZ3RoJTIhPT0wKXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZGF0YTsgb2RkLWxlbmd0aCAtICIrdmFsdWUpfXJldHVybiByZXN1bHR9O0Zvcm1hdHRlci5wcm90b3R5cGUuYWRkcmVzcz1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuKDAsbGliJDYuZ2V0QWRkcmVzcykodmFsdWUpfTtGb3JtYXR0ZXIucHJvdG90eXBlLmNhbGxBZGRyZXNzPWZ1bmN0aW9uKHZhbHVlKXtpZighKDAsbGliJDEuaXNIZXhTdHJpbmcpKHZhbHVlLDMyKSl7cmV0dXJuIG51bGx9dmFyIGFkZHJlc3M9KDAsbGliJDYuZ2V0QWRkcmVzcykoKDAsbGliJDEuaGV4RGF0YVNsaWNlKSh2YWx1ZSwxMikpO3JldHVybiBhZGRyZXNzPT09bGliJDcuQWRkcmVzc1plcm8/bnVsbDphZGRyZXNzfTtGb3JtYXR0ZXIucHJvdG90eXBlLmNvbnRyYWN0QWRkcmVzcz1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuKDAsbGliJDYuZ2V0Q29udHJhY3RBZGRyZXNzKSh2YWx1ZSl9O0Zvcm1hdHRlci5wcm90b3R5cGUuYmxvY2tUYWc9ZnVuY3Rpb24oYmxvY2tUYWcpe2lmKGJsb2NrVGFnPT1udWxsKXtyZXR1cm4ibGF0ZXN0In1pZihibG9ja1RhZz09PSJlYXJsaWVzdCIpe3JldHVybiIweDAifXN3aXRjaChibG9ja1RhZyl7Y2FzZSJlYXJsaWVzdCI6cmV0dXJuIjB4MCI7Y2FzZSJsYXRlc3QiOmNhc2UicGVuZGluZyI6Y2FzZSJzYWZlIjpjYXNlImZpbmFsaXplZCI6cmV0dXJuIGJsb2NrVGFnfWlmKHR5cGVvZiBibG9ja1RhZz09PSJudW1iZXIifHwoMCxsaWIkMS5pc0hleFN0cmluZykoYmxvY2tUYWcpKXtyZXR1cm4oMCxsaWIkMS5oZXhWYWx1ZSkoYmxvY2tUYWcpfXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBibG9ja1RhZyIpfTtGb3JtYXR0ZXIucHJvdG90eXBlLmhhc2g9ZnVuY3Rpb24odmFsdWUsc3RyaWN0KXt2YXIgcmVzdWx0PXRoaXMuaGV4KHZhbHVlLHN0cmljdCk7aWYoKDAsbGliJDEuaGV4RGF0YUxlbmd0aCkocmVzdWx0KSE9PTMyKXtyZXR1cm4gbG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBoYXNoIiwidmFsdWUiLHZhbHVlKX1yZXR1cm4gcmVzdWx0fTtGb3JtYXR0ZXIucHJvdG90eXBlLmRpZmZpY3VsdHk9ZnVuY3Rpb24odmFsdWUpe2lmKHZhbHVlPT1udWxsKXtyZXR1cm4gbnVsbH12YXIgdj1saWIkMi5CaWdOdW1iZXIuZnJvbSh2YWx1ZSk7dHJ5e3JldHVybiB2LnRvTnVtYmVyKCl9Y2F0Y2goZXJyb3Ipe31yZXR1cm4gbnVsbH07Rm9ybWF0dGVyLnByb3RvdHlwZS51aW50MjU2PWZ1bmN0aW9uKHZhbHVlKXtpZighKDAsbGliJDEuaXNIZXhTdHJpbmcpKHZhbHVlKSl7dGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHVpbnQyNTYiKX1yZXR1cm4oMCxsaWIkMS5oZXhaZXJvUGFkKSh2YWx1ZSwzMil9O0Zvcm1hdHRlci5wcm90b3R5cGUuX2Jsb2NrPWZ1bmN0aW9uKHZhbHVlLGZvcm1hdCl7aWYodmFsdWUuYXV0aG9yIT1udWxsJiZ2YWx1ZS5taW5lcj09bnVsbCl7dmFsdWUubWluZXI9dmFsdWUuYXV0aG9yfXZhciBkaWZmaWN1bHR5PXZhbHVlLl9kaWZmaWN1bHR5IT1udWxsP3ZhbHVlLl9kaWZmaWN1bHR5OnZhbHVlLmRpZmZpY3VsdHk7dmFyIHJlc3VsdD1Gb3JtYXR0ZXIuY2hlY2soZm9ybWF0LHZhbHVlKTtyZXN1bHQuX2RpZmZpY3VsdHk9ZGlmZmljdWx0eT09bnVsbD9udWxsOmxpYiQyLkJpZ051bWJlci5mcm9tKGRpZmZpY3VsdHkpO3JldHVybiByZXN1bHR9O0Zvcm1hdHRlci5wcm90b3R5cGUuYmxvY2s9ZnVuY3Rpb24odmFsdWUpe3JldHVybiB0aGlzLl9ibG9jayh2YWx1ZSx0aGlzLmZvcm1hdHMuYmxvY2spfTtGb3JtYXR0ZXIucHJvdG90eXBlLmJsb2NrV2l0aFRyYW5zYWN0aW9ucz1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuIHRoaXMuX2Jsb2NrKHZhbHVlLHRoaXMuZm9ybWF0cy5ibG9ja1dpdGhUcmFuc2FjdGlvbnMpfTtGb3JtYXR0ZXIucHJvdG90eXBlLnRyYW5zYWN0aW9uUmVxdWVzdD1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuIEZvcm1hdHRlci5jaGVjayh0aGlzLmZvcm1hdHMudHJhbnNhY3Rpb25SZXF1ZXN0LHZhbHVlKX07Rm9ybWF0dGVyLnByb3RvdHlwZS50cmFuc2FjdGlvblJlc3BvbnNlPWZ1bmN0aW9uKHRyYW5zYWN0aW9uKXtpZih0cmFuc2FjdGlvbi5nYXMhPW51bGwmJnRyYW5zYWN0aW9uLmdhc0xpbWl0PT1udWxsKXt0cmFuc2FjdGlvbi5nYXNMaW1pdD10cmFuc2FjdGlvbi5nYXN9aWYodHJhbnNhY3Rpb24udG8mJmxpYiQyLkJpZ051bWJlci5mcm9tKHRyYW5zYWN0aW9uLnRvKS5pc1plcm8oKSl7dHJhbnNhY3Rpb24udG89IjB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCJ9aWYodHJhbnNhY3Rpb24uaW5wdXQhPW51bGwmJnRyYW5zYWN0aW9uLmRhdGE9PW51bGwpe3RyYW5zYWN0aW9uLmRhdGE9dHJhbnNhY3Rpb24uaW5wdXR9aWYodHJhbnNhY3Rpb24udG89PW51bGwmJnRyYW5zYWN0aW9uLmNyZWF0ZXM9PW51bGwpe3RyYW5zYWN0aW9uLmNyZWF0ZXM9dGhpcy5jb250cmFjdEFkZHJlc3ModHJhbnNhY3Rpb24pfWlmKCh0cmFuc2FjdGlvbi50eXBlPT09MXx8dHJhbnNhY3Rpb24udHlwZT09PTIpJiZ0cmFuc2FjdGlvbi5hY2Nlc3NMaXN0PT1udWxsKXt0cmFuc2FjdGlvbi5hY2Nlc3NMaXN0PVtdfXZhciByZXN1bHQ9Rm9ybWF0dGVyLmNoZWNrKHRoaXMuZm9ybWF0cy50cmFuc2FjdGlvbix0cmFuc2FjdGlvbik7aWYodHJhbnNhY3Rpb24uY2hhaW5JZCE9bnVsbCl7dmFyIGNoYWluSWQ9dHJhbnNhY3Rpb24uY2hhaW5JZDtpZigoMCxsaWIkMS5pc0hleFN0cmluZykoY2hhaW5JZCkpe2NoYWluSWQ9bGliJDIuQmlnTnVtYmVyLmZyb20oY2hhaW5JZCkudG9OdW1iZXIoKX1yZXN1bHQuY2hhaW5JZD1jaGFpbklkfWVsc2V7dmFyIGNoYWluSWQ9dHJhbnNhY3Rpb24ubmV0d29ya0lkO2lmKGNoYWluSWQ9PW51bGwmJnJlc3VsdC52PT1udWxsKXtjaGFpbklkPXRyYW5zYWN0aW9uLmNoYWluSWR9aWYoKDAsbGliJDEuaXNIZXhTdHJpbmcpKGNoYWluSWQpKXtjaGFpbklkPWxpYiQyLkJpZ051bWJlci5mcm9tKGNoYWluSWQpLnRvTnVtYmVyKCl9aWYodHlwZW9mIGNoYWluSWQhPT0ibnVtYmVyIiYmcmVzdWx0LnYhPW51bGwpe2NoYWluSWQ9KHJlc3VsdC52LTM1KS8yO2lmKGNoYWluSWQ8MCl7Y2hhaW5JZD0wfWNoYWluSWQ9cGFyc2VJbnQoY2hhaW5JZCl9aWYodHlwZW9mIGNoYWluSWQhPT0ibnVtYmVyIil7Y2hhaW5JZD0wfXJlc3VsdC5jaGFpbklkPWNoYWluSWR9aWYocmVzdWx0LmJsb2NrSGFzaCYmcmVzdWx0LmJsb2NrSGFzaC5yZXBsYWNlKC8wL2csIiIpPT09IngiKXtyZXN1bHQuYmxvY2tIYXNoPW51bGx9cmV0dXJuIHJlc3VsdH07Rm9ybWF0dGVyLnByb3RvdHlwZS50cmFuc2FjdGlvbj1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuKDAsbGliJGgucGFyc2UpKHZhbHVlKX07Rm9ybWF0dGVyLnByb3RvdHlwZS5yZWNlaXB0TG9nPWZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4gRm9ybWF0dGVyLmNoZWNrKHRoaXMuZm9ybWF0cy5yZWNlaXB0TG9nLHZhbHVlKX07Rm9ybWF0dGVyLnByb3RvdHlwZS5yZWNlaXB0PWZ1bmN0aW9uKHZhbHVlKXt2YXIgcmVzdWx0PUZvcm1hdHRlci5jaGVjayh0aGlzLmZvcm1hdHMucmVjZWlwdCx2YWx1ZSk7aWYocmVzdWx0LnJvb3QhPW51bGwpe2lmKHJlc3VsdC5yb290Lmxlbmd0aDw9NCl7dmFyIHZhbHVlXzE9bGliJDIuQmlnTnVtYmVyLmZyb20ocmVzdWx0LnJvb3QpLnRvTnVtYmVyKCk7aWYodmFsdWVfMT09PTB8fHZhbHVlXzE9PT0xKXtpZihyZXN1bHQuc3RhdHVzIT1udWxsJiZyZXN1bHQuc3RhdHVzIT09dmFsdWVfMSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiYWx0LXJvb3Qtc3RhdHVzL3N0YXR1cyBtaXNtYXRjaCIsInZhbHVlIix7cm9vdDpyZXN1bHQucm9vdCxzdGF0dXM6cmVzdWx0LnN0YXR1c30pfXJlc3VsdC5zdGF0dXM9dmFsdWVfMTtkZWxldGUgcmVzdWx0LnJvb3R9ZWxzZXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGFsdC1yb290LXN0YXR1cyIsInZhbHVlLnJvb3QiLHJlc3VsdC5yb290KX19ZWxzZSBpZihyZXN1bHQucm9vdC5sZW5ndGghPT02Nil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCByb290IGhhc2giLCJ2YWx1ZS5yb290IixyZXN1bHQucm9vdCl9fWlmKHJlc3VsdC5zdGF0dXMhPW51bGwpe3Jlc3VsdC5ieXphbnRpdW09dHJ1ZX1yZXR1cm4gcmVzdWx0fTtGb3JtYXR0ZXIucHJvdG90eXBlLnRvcGljcz1mdW5jdGlvbih2YWx1ZSl7dmFyIF90aGlzPXRoaXM7aWYoQXJyYXkuaXNBcnJheSh2YWx1ZSkpe3JldHVybiB2YWx1ZS5tYXAoZnVuY3Rpb24odil7cmV0dXJuIF90aGlzLnRvcGljcyh2KX0pfWVsc2UgaWYodmFsdWUhPW51bGwpe3JldHVybiB0aGlzLmhhc2godmFsdWUsdHJ1ZSl9cmV0dXJuIG51bGx9O0Zvcm1hdHRlci5wcm90b3R5cGUuZmlsdGVyPWZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4gRm9ybWF0dGVyLmNoZWNrKHRoaXMuZm9ybWF0cy5maWx0ZXIsdmFsdWUpfTtGb3JtYXR0ZXIucHJvdG90eXBlLmZpbHRlckxvZz1mdW5jdGlvbih2YWx1ZSl7cmV0dXJuIEZvcm1hdHRlci5jaGVjayh0aGlzLmZvcm1hdHMuZmlsdGVyTG9nLHZhbHVlKX07Rm9ybWF0dGVyLmNoZWNrPWZ1bmN0aW9uKGZvcm1hdCxvYmplY3Qpe3ZhciByZXN1bHQ9e307Zm9yKHZhciBrZXkgaW4gZm9ybWF0KXt0cnl7dmFyIHZhbHVlPWZvcm1hdFtrZXldKG9iamVjdFtrZXldKTtpZih2YWx1ZSE9PXVuZGVmaW5lZCl7cmVzdWx0W2tleV09dmFsdWV9fWNhdGNoKGVycm9yKXtlcnJvci5jaGVja0tleT1rZXk7ZXJyb3IuY2hlY2tWYWx1ZT1vYmplY3Rba2V5XTt0aHJvdyBlcnJvcn19cmV0dXJuIHJlc3VsdH07Rm9ybWF0dGVyLmFsbG93TnVsbD1mdW5jdGlvbihmb3JtYXQsbnVsbFZhbHVlKXtyZXR1cm4gZnVuY3Rpb24odmFsdWUpe2lmKHZhbHVlPT1udWxsKXtyZXR1cm4gbnVsbFZhbHVlfXJldHVybiBmb3JtYXQodmFsdWUpfX07Rm9ybWF0dGVyLmFsbG93RmFsc2lzaD1mdW5jdGlvbihmb3JtYXQscmVwbGFjZVZhbHVlKXtyZXR1cm4gZnVuY3Rpb24odmFsdWUpe2lmKCF2YWx1ZSl7cmV0dXJuIHJlcGxhY2VWYWx1ZX1yZXR1cm4gZm9ybWF0KHZhbHVlKX19O0Zvcm1hdHRlci5hcnJheU9mPWZ1bmN0aW9uKGZvcm1hdCl7cmV0dXJuIGZ1bmN0aW9uKGFycmF5KXtpZighQXJyYXkuaXNBcnJheShhcnJheSkpe3Rocm93IG5ldyBFcnJvcigibm90IGFuIGFycmF5Iil9dmFyIHJlc3VsdD1bXTthcnJheS5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlKXtyZXN1bHQucHVzaChmb3JtYXQodmFsdWUpKX0pO3JldHVybiByZXN1bHR9fTtyZXR1cm4gRm9ybWF0dGVyfSgpO2V4cG9ydHMuRm9ybWF0dGVyPUZvcm1hdHRlcjtmdW5jdGlvbiBpc0NvbW11bml0eVJlc291cmNhYmxlKHZhbHVlKXtyZXR1cm4gdmFsdWUmJnR5cGVvZiB2YWx1ZS5pc0NvbW11bml0eVJlc291cmNlPT09ImZ1bmN0aW9uIn1leHBvcnRzLmlzQ29tbXVuaXR5UmVzb3VyY2FibGU9aXNDb21tdW5pdHlSZXNvdXJjYWJsZTtmdW5jdGlvbiBpc0NvbW11bml0eVJlc291cmNlKHZhbHVlKXtyZXR1cm4gaXNDb21tdW5pdHlSZXNvdXJjYWJsZSh2YWx1ZSkmJnZhbHVlLmlzQ29tbXVuaXR5UmVzb3VyY2UoKX1leHBvcnRzLmlzQ29tbXVuaXR5UmVzb3VyY2U9aXNDb21tdW5pdHlSZXNvdXJjZTt2YXIgdGhyb3R0bGVNZXNzYWdlPWZhbHNlO2Z1bmN0aW9uIHNob3dUaHJvdHRsZU1lc3NhZ2UoKXtpZih0aHJvdHRsZU1lc3NhZ2Upe3JldHVybn10aHJvdHRsZU1lc3NhZ2U9dHJ1ZTtjb25zb2xlLmxvZygiPT09PT09PT09IE5PVElDRSA9PT09PT09PT0iKTtjb25zb2xlLmxvZygiUmVxdWVzdC1SYXRlIEV4Y2VlZGVkICAodGhpcyBtZXNzYWdlIHdpbGwgbm90IGJlIHJlcGVhdGVkKSIpO2NvbnNvbGUubG9nKCIiKTtjb25zb2xlLmxvZygiVGhlIGRlZmF1bHQgQVBJIGtleXMgZm9yIGVhY2ggc2VydmljZSBhcmUgcHJvdmlkZWQgYXMgYSBoaWdobHktdGhyb3R0bGVkLCIpO2NvbnNvbGUubG9nKCJjb21tdW5pdHkgcmVzb3VyY2UgZm9yIGxvdy10cmFmZmljIHByb2plY3RzIGFuZCBlYXJseSBwcm90b3R5cGluZy4iKTtjb25zb2xlLmxvZygiIik7Y29uc29sZS5sb2coIldoaWxlIHlvdXIgYXBwbGljYXRpb24gd2lsbCBjb250aW51ZSB0byBmdW5jdGlvbiwgd2UgaGlnaGx5IHJlY29tbWVuZGVkIik7Y29uc29sZS5sb2coInNpZ25pbmcgdXAgZm9yIHlvdXIgb3duIEFQSSBrZXlzIHRvIGltcHJvdmUgcGVyZm9ybWFuY2UsIGluY3JlYXNlIHlvdXIiKTtjb25zb2xlLmxvZygicmVxdWVzdCByYXRlL2xpbWl0IGFuZCBlbmFibGUgb3RoZXIgcGVya3MsIHN1Y2ggYXMgbWV0cmljcyBhbmQgYWR2YW5jZWQgQVBJcy4iKTtjb25zb2xlLmxvZygiIik7Y29uc29sZS5sb2coIkZvciBtb3JlIGRldGFpbHM6IGh0dHBzOi8vZG9jcy5ldGhlcnMuaW8vYXBpLWtleXMvIik7Y29uc29sZS5sb2coIj09PT09PT09PT09PT09PT09PT09PT09PT09Iil9ZXhwb3J0cy5zaG93VGhyb3R0bGVNZXNzYWdlPXNob3dUaHJvdHRsZU1lc3NhZ2V9KTt2YXIgZm9ybWF0dGVyJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoZm9ybWF0dGVyKTt2YXIgYmFzZVByb3ZpZGVyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO3ZhciBfX2F3YWl0ZXI9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fYXdhaXRlcnx8ZnVuY3Rpb24odGhpc0FyZyxfYXJndW1lbnRzLFAsZ2VuZXJhdG9yKXtmdW5jdGlvbiBhZG9wdCh2YWx1ZSl7cmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUD92YWx1ZTpuZXcgUChmdW5jdGlvbihyZXNvbHZlKXtyZXNvbHZlKHZhbHVlKX0pfXJldHVybiBuZXcoUHx8KFA9UHJvbWlzZSkpKGZ1bmN0aW9uKHJlc29sdmUscmVqZWN0KXtmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpe3RyeXtzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSl9Y2F0Y2goZSl7cmVqZWN0KGUpfX1mdW5jdGlvbiByZWplY3RlZCh2YWx1ZSl7dHJ5e3N0ZXAoZ2VuZXJhdG9yWyJ0aHJvdyJdKHZhbHVlKSl9Y2F0Y2goZSl7cmVqZWN0KGUpfX1mdW5jdGlvbiBzdGVwKHJlc3VsdCl7cmVzdWx0LmRvbmU/cmVzb2x2ZShyZXN1bHQudmFsdWUpOmFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQscmVqZWN0ZWQpfXN0ZXAoKGdlbmVyYXRvcj1nZW5lcmF0b3IuYXBwbHkodGhpc0FyZyxfYXJndW1lbnRzfHxbXSkpLm5leHQoKSl9KX07dmFyIF9fZ2VuZXJhdG9yPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24odGhpc0FyZyxib2R5KXt2YXIgXz17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYodFswXSYxKXRocm93IHRbMV07cmV0dXJuIHRbMV19LHRyeXM6W10sb3BzOltdfSxmLHksdCxnO3JldHVybiBnPXtuZXh0OnZlcmIoMCksdGhyb3c6dmVyYigxKSxyZXR1cm46dmVyYigyKX0sdHlwZW9mIFN5bWJvbD09PSJmdW5jdGlvbiImJihnW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGc7ZnVuY3Rpb24gdmVyYihuKXtyZXR1cm4gZnVuY3Rpb24odil7cmV0dXJuIHN0ZXAoW24sdl0pfX1mdW5jdGlvbiBzdGVwKG9wKXtpZihmKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTt3aGlsZShfKXRyeXtpZihmPTEseSYmKHQ9b3BbMF0mMj95WyJyZXR1cm4iXTpvcFswXT95WyJ0aHJvdyJdfHwoKHQ9eVsicmV0dXJuIl0pJiZ0LmNhbGwoeSksMCk6eS5uZXh0KSYmISh0PXQuY2FsbCh5LG9wWzFdKSkuZG9uZSlyZXR1cm4gdDtpZih5PTAsdClvcD1bb3BbMF0mMix0LnZhbHVlXTtzd2l0Y2gob3BbMF0pe2Nhc2UgMDpjYXNlIDE6dD1vcDticmVhaztjYXNlIDQ6Xy5sYWJlbCsrO3JldHVybnt2YWx1ZTpvcFsxXSxkb25lOmZhbHNlfTtjYXNlIDU6Xy5sYWJlbCsrO3k9b3BbMV07b3A9WzBdO2NvbnRpbnVlO2Nhc2UgNzpvcD1fLm9wcy5wb3AoKTtfLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKHQ9Xy50cnlzLHQ9dC5sZW5ndGg+MCYmdFt0Lmxlbmd0aC0xXSkmJihvcFswXT09PTZ8fG9wWzBdPT09Mikpe189MDtjb250aW51ZX1pZihvcFswXT09PTMmJighdHx8b3BbMV0+dFswXSYmb3BbMV08dFszXSkpe18ubGFiZWw9b3BbMV07YnJlYWt9aWYob3BbMF09PT02JiZfLmxhYmVsPHRbMV0pe18ubGFiZWw9dFsxXTt0PW9wO2JyZWFrfWlmKHQmJl8ubGFiZWw8dFsyXSl7Xy5sYWJlbD10WzJdO18ub3BzLnB1c2gob3ApO2JyZWFrfWlmKHRbMl0pXy5vcHMucG9wKCk7Xy50cnlzLnBvcCgpO2NvbnRpbnVlfW9wPWJvZHkuY2FsbCh0aGlzQXJnLF8pfWNhdGNoKGUpe29wPVs2LGVdO3k9MH1maW5hbGx5e2Y9dD0wfWlmKG9wWzBdJjUpdGhyb3cgb3BbMV07cmV0dXJue3ZhbHVlOm9wWzBdP29wWzFdOnZvaWQgMCxkb25lOnRydWV9fX07dmFyIF9faW1wb3J0RGVmYXVsdD1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihtb2Qpe3JldHVybiBtb2QmJm1vZC5fX2VzTW9kdWxlP21vZDp7ZGVmYXVsdDptb2R9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLkJhc2VQcm92aWRlcj1leHBvcnRzLlJlc29sdmVyPWV4cG9ydHMuRXZlbnQ9dm9pZCAwO3ZhciBiZWNoMzJfMT1fX2ltcG9ydERlZmF1bHQoYmVjaDMyKTt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJEkudmVyc2lvbik7dmFyIE1BWF9DQ0lQX1JFRElSRUNUUz0xMDtmdW5jdGlvbiBjaGVja1RvcGljKHRvcGljKXtpZih0b3BpYz09bnVsbCl7cmV0dXJuIm51bGwifWlmKCgwLGxpYiQxLmhleERhdGFMZW5ndGgpKHRvcGljKSE9PTMyKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIHRvcGljIiwidG9waWMiLHRvcGljKX1yZXR1cm4gdG9waWMudG9Mb3dlckNhc2UoKX1mdW5jdGlvbiBzZXJpYWxpemVUb3BpY3ModG9waWNzKXt0b3BpY3M9dG9waWNzLnNsaWNlKCk7d2hpbGUodG9waWNzLmxlbmd0aD4wJiZ0b3BpY3NbdG9waWNzLmxlbmd0aC0xXT09bnVsbCl7dG9waWNzLnBvcCgpfXJldHVybiB0b3BpY3MubWFwKGZ1bmN0aW9uKHRvcGljKXtpZihBcnJheS5pc0FycmF5KHRvcGljKSl7dmFyIHVuaXF1ZV8xPXt9O3RvcGljLmZvckVhY2goZnVuY3Rpb24odG9waWMpe3VuaXF1ZV8xW2NoZWNrVG9waWModG9waWMpXT10cnVlfSk7dmFyIHNvcnRlZD1PYmplY3Qua2V5cyh1bmlxdWVfMSk7c29ydGVkLnNvcnQoKTtyZXR1cm4gc29ydGVkLmpvaW4oInwiKX1lbHNle3JldHVybiBjaGVja1RvcGljKHRvcGljKX19KS5qb2luKCImIil9ZnVuY3Rpb24gZGVzZXJpYWxpemVUb3BpY3MoZGF0YSl7aWYoZGF0YT09PSIiKXtyZXR1cm5bXX1yZXR1cm4gZGF0YS5zcGxpdCgvJi9nKS5tYXAoZnVuY3Rpb24odG9waWMpe2lmKHRvcGljPT09IiIpe3JldHVybltdfXZhciBjb21wcz10b3BpYy5zcGxpdCgifCIpLm1hcChmdW5jdGlvbih0b3BpYyl7cmV0dXJuIHRvcGljPT09Im51bGwiP251bGw6dG9waWN9KTtyZXR1cm4gY29tcHMubGVuZ3RoPT09MT9jb21wc1swXTpjb21wc30pfWZ1bmN0aW9uIGdldEV2ZW50VGFnKGV2ZW50TmFtZSl7aWYodHlwZW9mIGV2ZW50TmFtZT09PSJzdHJpbmciKXtldmVudE5hbWU9ZXZlbnROYW1lLnRvTG93ZXJDYXNlKCk7aWYoKDAsbGliJDEuaGV4RGF0YUxlbmd0aCkoZXZlbnROYW1lKT09PTMyKXtyZXR1cm4idHg6IitldmVudE5hbWV9aWYoZXZlbnROYW1lLmluZGV4T2YoIjoiKT09PS0xKXtyZXR1cm4gZXZlbnROYW1lfX1lbHNlIGlmKEFycmF5LmlzQXJyYXkoZXZlbnROYW1lKSl7cmV0dXJuImZpbHRlcjoqOiIrc2VyaWFsaXplVG9waWNzKGV2ZW50TmFtZSl9ZWxzZSBpZihsaWIkZS5Gb3JrRXZlbnQuaXNGb3JrRXZlbnQoZXZlbnROYW1lKSl7bG9nZ2VyLndhcm4oIm5vdCBpbXBsZW1lbnRlZCIpO3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9ZWxzZSBpZihldmVudE5hbWUmJnR5cGVvZiBldmVudE5hbWU9PT0ib2JqZWN0Iil7cmV0dXJuImZpbHRlcjoiKyhldmVudE5hbWUuYWRkcmVzc3x8IioiKSsiOiIrc2VyaWFsaXplVG9waWNzKGV2ZW50TmFtZS50b3BpY3N8fFtdKX10aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZXZlbnQgLSAiK2V2ZW50TmFtZSl9ZnVuY3Rpb24gZ2V0VGltZSgpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfWZ1bmN0aW9uIHN0YWxsKGR1cmF0aW9uKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSl7c2V0VGltZW91dChyZXNvbHZlLGR1cmF0aW9uKX0pfXZhciBQb2xsYWJsZUV2ZW50cz1bImJsb2NrIiwibmV0d29yayIsInBlbmRpbmciLCJwb2xsIl07dmFyIEV2ZW50PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gRXZlbnQodGFnLGxpc3RlbmVyLG9uY2UpeygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJ0YWciLHRhZyk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsImxpc3RlbmVyIixsaXN0ZW5lcik7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIm9uY2UiLG9uY2UpO3RoaXMuX2xhc3RCbG9ja051bWJlcj0tMjt0aGlzLl9pbmZsaWdodD1mYWxzZX1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXZlbnQucHJvdG90eXBlLCJldmVudCIse2dldDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UidHgiOnJldHVybiB0aGlzLmhhc2g7Y2FzZSJmaWx0ZXIiOnJldHVybiB0aGlzLmZpbHRlcn1yZXR1cm4gdGhpcy50YWd9LGVudW1lcmFibGU6ZmFsc2UsY29uZmlndXJhYmxlOnRydWV9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoRXZlbnQucHJvdG90eXBlLCJ0eXBlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGFnLnNwbGl0KCI6IilbMF19LGVudW1lcmFibGU6ZmFsc2UsY29uZmlndXJhYmxlOnRydWV9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoRXZlbnQucHJvdG90eXBlLCJoYXNoIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIGNvbXBzPXRoaXMudGFnLnNwbGl0KCI6Iik7aWYoY29tcHNbMF0hPT0idHgiKXtyZXR1cm4gbnVsbH1yZXR1cm4gY29tcHNbMV19LGVudW1lcmFibGU6ZmFsc2UsY29uZmlndXJhYmxlOnRydWV9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoRXZlbnQucHJvdG90eXBlLCJmaWx0ZXIiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgY29tcHM9dGhpcy50YWcuc3BsaXQoIjoiKTtpZihjb21wc1swXSE9PSJmaWx0ZXIiKXtyZXR1cm4gbnVsbH12YXIgYWRkcmVzcz1jb21wc1sxXTt2YXIgdG9waWNzPWRlc2VyaWFsaXplVG9waWNzKGNvbXBzWzJdKTt2YXIgZmlsdGVyPXt9O2lmKHRvcGljcy5sZW5ndGg+MCl7ZmlsdGVyLnRvcGljcz10b3BpY3N9aWYoYWRkcmVzcyYmYWRkcmVzcyE9PSIqIil7ZmlsdGVyLmFkZHJlc3M9YWRkcmVzc31yZXR1cm4gZmlsdGVyfSxlbnVtZXJhYmxlOmZhbHNlLGNvbmZpZ3VyYWJsZTp0cnVlfSk7RXZlbnQucHJvdG90eXBlLnBvbGxhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGFnLmluZGV4T2YoIjoiKT49MHx8UG9sbGFibGVFdmVudHMuaW5kZXhPZih0aGlzLnRhZyk+PTB9O3JldHVybiBFdmVudH0oKTtleHBvcnRzLkV2ZW50PUV2ZW50O3ZhciBjb2luSW5mb3M9ezA6e3N5bWJvbDoiYnRjIixwMnBraDowLHAyc2g6NSxwcmVmaXg6ImJjIn0sMjp7c3ltYm9sOiJsdGMiLHAycGtoOjQ4LHAyc2g6NTAscHJlZml4OiJsdGMifSwzOntzeW1ib2w6ImRvZ2UiLHAycGtoOjMwLHAyc2g6MjJ9LDYwOntzeW1ib2w6ImV0aCIsaWxrOiJldGgifSw2MTp7c3ltYm9sOiJldGMiLGlsazoiZXRoIn0sNzAwOntzeW1ib2w6InhkYWkiLGlsazoiZXRoIn19O2Z1bmN0aW9uIGJ5dGVzMzJpZnkodmFsdWUpe3JldHVybigwLGxpYiQxLmhleFplcm9QYWQpKGxpYiQyLkJpZ051bWJlci5mcm9tKHZhbHVlKS50b0hleFN0cmluZygpLDMyKX1mdW5jdGlvbiBiYXNlNThFbmNvZGUoZGF0YSl7cmV0dXJuIGxpYiRqLkJhc2U1OC5lbmNvZGUoKDAsbGliJDEuY29uY2F0KShbZGF0YSwoMCxsaWIkMS5oZXhEYXRhU2xpY2UpKCgwLGxpYiRrLnNoYTI1NikoKDAsbGliJGsuc2hhMjU2KShkYXRhKSksMCw0KV0pKX12YXIgbWF0Y2hlcklwZnM9bmV3IFJlZ0V4cCgiXihpcGZzKTovLyguKikkIiwiaSIpO3ZhciBtYXRjaGVycz1bbmV3IFJlZ0V4cCgiXihodHRwcyk6Ly8oLiopJCIsImkiKSxuZXcgUmVnRXhwKCJeKGRhdGEpOiguKikkIiwiaSIpLG1hdGNoZXJJcGZzLG5ldyBSZWdFeHAoIl5laXAxNTU6WzAtOV0rLyhlcmNbMC05XSspOiguKikkIiwiaSIpXTtmdW5jdGlvbiBfcGFyc2VTdHJpbmcocmVzdWx0LHN0YXJ0KXt0cnl7cmV0dXJuKDAsbGliJDgudG9VdGY4U3RyaW5nKShfcGFyc2VCeXRlcyhyZXN1bHQsc3RhcnQpKX1jYXRjaChlcnJvcil7fXJldHVybiBudWxsfWZ1bmN0aW9uIF9wYXJzZUJ5dGVzKHJlc3VsdCxzdGFydCl7aWYocmVzdWx0PT09IjB4Iil7cmV0dXJuIG51bGx9dmFyIG9mZnNldD1saWIkMi5CaWdOdW1iZXIuZnJvbSgoMCxsaWIkMS5oZXhEYXRhU2xpY2UpKHJlc3VsdCxzdGFydCxzdGFydCszMikpLnRvTnVtYmVyKCk7dmFyIGxlbmd0aD1saWIkMi5CaWdOdW1iZXIuZnJvbSgoMCxsaWIkMS5oZXhEYXRhU2xpY2UpKHJlc3VsdCxvZmZzZXQsb2Zmc2V0KzMyKSkudG9OdW1iZXIoKTtyZXR1cm4oMCxsaWIkMS5oZXhEYXRhU2xpY2UpKHJlc3VsdCxvZmZzZXQrMzIsb2Zmc2V0KzMyK2xlbmd0aCl9ZnVuY3Rpb24gZ2V0SXBmc0xpbmsobGluayl7aWYobGluay5tYXRjaCgvXmlwZnM6XC9cL2lwZnNcLy9pKSl7bGluaz1saW5rLnN1YnN0cmluZygxMil9ZWxzZSBpZihsaW5rLm1hdGNoKC9eaXBmczpcL1wvL2kpKXtsaW5rPWxpbmsuc3Vic3RyaW5nKDcpfWVsc2V7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidW5zdXBwb3J0ZWQgSVBGUyBmb3JtYXQiLCJsaW5rIixsaW5rKX1yZXR1cm4iaHR0cHM6Ly9nYXRld2F5LmlwZnMuaW8vaXBmcy8iK2xpbmt9ZnVuY3Rpb24gbnVtUGFkKHZhbHVlKXt2YXIgcmVzdWx0PSgwLGxpYiQxLmFycmF5aWZ5KSh2YWx1ZSk7aWYocmVzdWx0Lmxlbmd0aD4zMil7dGhyb3cgbmV3IEVycm9yKCJpbnRlcm5hbDsgc2hvdWxkIG5vdCBoYXBwZW4iKX12YXIgcGFkZGVkPW5ldyBVaW50OEFycmF5KDMyKTtwYWRkZWQuc2V0KHJlc3VsdCwzMi1yZXN1bHQubGVuZ3RoKTtyZXR1cm4gcGFkZGVkfWZ1bmN0aW9uIGJ5dGVzUGFkKHZhbHVlKXtpZih2YWx1ZS5sZW5ndGglMzI9PT0wKXtyZXR1cm4gdmFsdWV9dmFyIHJlc3VsdD1uZXcgVWludDhBcnJheShNYXRoLmNlaWwodmFsdWUubGVuZ3RoLzMyKSozMik7cmVzdWx0LnNldCh2YWx1ZSk7cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBlbmNvZGVCeXRlcyhkYXRhcyl7dmFyIHJlc3VsdD1bXTt2YXIgYnl0ZUNvdW50PTA7Zm9yKHZhciBpPTA7aTxkYXRhcy5sZW5ndGg7aSsrKXtyZXN1bHQucHVzaChudWxsKTtieXRlQ291bnQrPTMyfWZvcih2YXIgaT0wO2k8ZGF0YXMubGVuZ3RoO2krKyl7dmFyIGRhdGE9KDAsbGliJDEuYXJyYXlpZnkpKGRhdGFzW2ldKTtyZXN1bHRbaV09bnVtUGFkKGJ5dGVDb3VudCk7cmVzdWx0LnB1c2gobnVtUGFkKGRhdGEubGVuZ3RoKSk7cmVzdWx0LnB1c2goYnl0ZXNQYWQoZGF0YSkpO2J5dGVDb3VudCs9MzIrTWF0aC5jZWlsKGRhdGEubGVuZ3RoLzMyKSozMn1yZXR1cm4oMCxsaWIkMS5oZXhDb25jYXQpKHJlc3VsdCl9dmFyIFJlc29sdmVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gUmVzb2x2ZXIocHJvdmlkZXIsYWRkcmVzcyxuYW1lLHJlc29sdmVkQWRkcmVzcyl7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsInByb3ZpZGVyIixwcm92aWRlcik7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIm5hbWUiLG5hbWUpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KSh0aGlzLCJhZGRyZXNzIixwcm92aWRlci5mb3JtYXR0ZXIuYWRkcmVzcyhhZGRyZXNzKSk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIl9yZXNvbHZlZEFkZHJlc3MiLHJlc29sdmVkQWRkcmVzcyl9UmVzb2x2ZXIucHJvdG90eXBlLnN1cHBvcnRzV2lsZGNhcmQ9ZnVuY3Rpb24oKXt2YXIgX3RoaXM9dGhpcztpZighdGhpcy5fc3VwcG9ydHNFaXAyNTQ0KXt0aGlzLl9zdXBwb3J0c0VpcDI1NDQ9dGhpcy5wcm92aWRlci5jYWxsKHt0bzp0aGlzLmFkZHJlc3MsZGF0YToiMHgwMWZmYzlhNzkwNjFiOTIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAifSkudGhlbihmdW5jdGlvbihyZXN1bHQpe3JldHVybiBsaWIkMi5CaWdOdW1iZXIuZnJvbShyZXN1bHQpLmVxKDEpfSkuY2F0Y2goZnVuY3Rpb24oZXJyb3Ipe2lmKGVycm9yLmNvZGU9PT1saWIuTG9nZ2VyLmVycm9ycy5DQUxMX0VYQ0VQVElPTil7cmV0dXJuIGZhbHNlfV90aGlzLl9zdXBwb3J0c0VpcDI1NDQ9bnVsbDt0aHJvdyBlcnJvcn0pfXJldHVybiB0aGlzLl9zdXBwb3J0c0VpcDI1NDR9O1Jlc29sdmVyLnByb3RvdHlwZS5fZmV0Y2g9ZnVuY3Rpb24oc2VsZWN0b3IscGFyYW1ldGVycyl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgdHgscGFyc2VCeXRlcyxyZXN1bHQsZXJyb3JfMTtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6dHg9e3RvOnRoaXMuYWRkcmVzcyxjY2lwUmVhZEVuYWJsZWQ6dHJ1ZSxkYXRhOigwLGxpYiQxLmhleENvbmNhdCkoW3NlbGVjdG9yLCgwLGxpYiRjLm5hbWVoYXNoKSh0aGlzLm5hbWUpLHBhcmFtZXRlcnN8fCIweCJdKX07cGFyc2VCeXRlcz1mYWxzZTtyZXR1cm5bNCx0aGlzLnN1cHBvcnRzV2lsZGNhcmQoKV07Y2FzZSAxOmlmKF9hLnNlbnQoKSl7cGFyc2VCeXRlcz10cnVlO3R4LmRhdGE9KDAsbGliJDEuaGV4Q29uY2F0KShbIjB4OTA2MWI5MjMiLGVuY29kZUJ5dGVzKFsoMCxsaWIkYy5kbnNFbmNvZGUpKHRoaXMubmFtZSksdHguZGF0YV0pXSl9X2EubGFiZWw9MjtjYXNlIDI6X2EudHJ5cy5wdXNoKFsyLDQsLDVdKTtyZXR1cm5bNCx0aGlzLnByb3ZpZGVyLmNhbGwodHgpXTtjYXNlIDM6cmVzdWx0PV9hLnNlbnQoKTtpZigoMCxsaWIkMS5hcnJheWlmeSkocmVzdWx0KS5sZW5ndGglMzI9PT00KXtsb2dnZXIudGhyb3dFcnJvcigicmVzb2x2ZXIgdGhyZXcgZXJyb3IiLGxpYi5Mb2dnZXIuZXJyb3JzLkNBTExfRVhDRVBUSU9OLHt0cmFuc2FjdGlvbjp0eCxkYXRhOnJlc3VsdH0pfWlmKHBhcnNlQnl0ZXMpe3Jlc3VsdD1fcGFyc2VCeXRlcyhyZXN1bHQsMCl9cmV0dXJuWzIscmVzdWx0XTtjYXNlIDQ6ZXJyb3JfMT1fYS5zZW50KCk7aWYoZXJyb3JfMS5jb2RlPT09bGliLkxvZ2dlci5lcnJvcnMuQ0FMTF9FWENFUFRJT04pe3JldHVyblsyLG51bGxdfXRocm93IGVycm9yXzE7Y2FzZSA1OnJldHVyblsyXX19KX0pfTtSZXNvbHZlci5wcm90b3R5cGUuX2ZldGNoQnl0ZXM9ZnVuY3Rpb24oc2VsZWN0b3IscGFyYW1ldGVycyl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgcmVzdWx0O3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLl9mZXRjaChzZWxlY3RvcixwYXJhbWV0ZXJzKV07Y2FzZSAxOnJlc3VsdD1fYS5zZW50KCk7aWYocmVzdWx0IT1udWxsKXtyZXR1cm5bMixfcGFyc2VCeXRlcyhyZXN1bHQsMCldfXJldHVyblsyLG51bGxdfX0pfSl9O1Jlc29sdmVyLnByb3RvdHlwZS5fZ2V0QWRkcmVzcz1mdW5jdGlvbihjb2luVHlwZSxoZXhCeXRlcyl7dmFyIGNvaW5JbmZvPWNvaW5JbmZvc1tTdHJpbmcoY29pblR5cGUpXTtpZihjb2luSW5mbz09bnVsbCl7bG9nZ2VyLnRocm93RXJyb3IoInVuc3VwcG9ydGVkIGNvaW4gdHlwZTogIitjb2luVHlwZSxsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoiZ2V0QWRkcmVzcygiK2NvaW5UeXBlKyIpIn0pfWlmKGNvaW5JbmZvLmlsaz09PSJldGgiKXtyZXR1cm4gdGhpcy5wcm92aWRlci5mb3JtYXR0ZXIuYWRkcmVzcyhoZXhCeXRlcyl9dmFyIGJ5dGVzPSgwLGxpYiQxLmFycmF5aWZ5KShoZXhCeXRlcyk7aWYoY29pbkluZm8ucDJwa2ghPW51bGwpe3ZhciBwMnBraD1oZXhCeXRlcy5tYXRjaCgvXjB4NzZhOShbMC05YS1mXVswLTlhLWZdKShbMC05YS1mXSopODhhYyQvKTtpZihwMnBraCl7dmFyIGxlbmd0aF8xPXBhcnNlSW50KHAycGtoWzFdLDE2KTtpZihwMnBraFsyXS5sZW5ndGg9PT1sZW5ndGhfMSoyJiZsZW5ndGhfMT49MSYmbGVuZ3RoXzE8PTc1KXtyZXR1cm4gYmFzZTU4RW5jb2RlKCgwLGxpYiQxLmNvbmNhdCkoW1tjb2luSW5mby5wMnBraF0sIjB4IitwMnBraFsyXV0pKX19fWlmKGNvaW5JbmZvLnAyc2ghPW51bGwpe3ZhciBwMnNoPWhleEJ5dGVzLm1hdGNoKC9eMHhhOShbMC05YS1mXVswLTlhLWZdKShbMC05YS1mXSopODckLyk7aWYocDJzaCl7dmFyIGxlbmd0aF8yPXBhcnNlSW50KHAyc2hbMV0sMTYpO2lmKHAyc2hbMl0ubGVuZ3RoPT09bGVuZ3RoXzIqMiYmbGVuZ3RoXzI+PTEmJmxlbmd0aF8yPD03NSl7cmV0dXJuIGJhc2U1OEVuY29kZSgoMCxsaWIkMS5jb25jYXQpKFtbY29pbkluZm8ucDJzaF0sIjB4IitwMnNoWzJdXSkpfX19aWYoY29pbkluZm8ucHJlZml4IT1udWxsKXt2YXIgbGVuZ3RoXzM9Ynl0ZXNbMV07dmFyIHZlcnNpb25fMT1ieXRlc1swXTtpZih2ZXJzaW9uXzE9PT0wKXtpZihsZW5ndGhfMyE9PTIwJiZsZW5ndGhfMyE9PTMyKXt2ZXJzaW9uXzE9LTF9fWVsc2V7dmVyc2lvbl8xPS0xfWlmKHZlcnNpb25fMT49MCYmYnl0ZXMubGVuZ3RoPT09MitsZW5ndGhfMyYmbGVuZ3RoXzM+PTEmJmxlbmd0aF8zPD03NSl7dmFyIHdvcmRzPWJlY2gzMl8xLmRlZmF1bHQudG9Xb3JkcyhieXRlcy5zbGljZSgyKSk7d29yZHMudW5zaGlmdCh2ZXJzaW9uXzEpO3JldHVybiBiZWNoMzJfMS5kZWZhdWx0LmVuY29kZShjb2luSW5mby5wcmVmaXgsd29yZHMpfX1yZXR1cm4gbnVsbH07UmVzb2x2ZXIucHJvdG90eXBlLmdldEFkZHJlc3M9ZnVuY3Rpb24oY29pblR5cGUpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHJlc3VsdCxlcnJvcl8yLGhleEJ5dGVzLGFkZHJlc3M7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOmlmKGNvaW5UeXBlPT1udWxsKXtjb2luVHlwZT02MH1pZighKGNvaW5UeXBlPT09NjApKXJldHVyblszLDRdO19hLmxhYmVsPTE7Y2FzZSAxOl9hLnRyeXMucHVzaChbMSwzLCw0XSk7cmV0dXJuWzQsdGhpcy5fZmV0Y2goIjB4M2IzYjU3ZGUiKV07Y2FzZSAyOnJlc3VsdD1fYS5zZW50KCk7aWYocmVzdWx0PT09IjB4Inx8cmVzdWx0PT09bGliJDcuSGFzaFplcm8pe3JldHVyblsyLG51bGxdfXJldHVyblsyLHRoaXMucHJvdmlkZXIuZm9ybWF0dGVyLmNhbGxBZGRyZXNzKHJlc3VsdCldO2Nhc2UgMzplcnJvcl8yPV9hLnNlbnQoKTtpZihlcnJvcl8yLmNvZGU9PT1saWIuTG9nZ2VyLmVycm9ycy5DQUxMX0VYQ0VQVElPTil7cmV0dXJuWzIsbnVsbF19dGhyb3cgZXJyb3JfMjtjYXNlIDQ6cmV0dXJuWzQsdGhpcy5fZmV0Y2hCeXRlcygiMHhmMWNiN2UwNiIsYnl0ZXMzMmlmeShjb2luVHlwZSkpXTtjYXNlIDU6aGV4Qnl0ZXM9X2Euc2VudCgpO2lmKGhleEJ5dGVzPT1udWxsfHxoZXhCeXRlcz09PSIweCIpe3JldHVyblsyLG51bGxdfWFkZHJlc3M9dGhpcy5fZ2V0QWRkcmVzcyhjb2luVHlwZSxoZXhCeXRlcyk7aWYoYWRkcmVzcz09bnVsbCl7bG9nZ2VyLnRocm93RXJyb3IoImludmFsaWQgb3IgdW5zdXBwb3J0ZWQgY29pbiBkYXRhIixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoiZ2V0QWRkcmVzcygiK2NvaW5UeXBlKyIpIixjb2luVHlwZTpjb2luVHlwZSxkYXRhOmhleEJ5dGVzfSl9cmV0dXJuWzIsYWRkcmVzc119fSl9KX07UmVzb2x2ZXIucHJvdG90eXBlLmdldEF2YXRhcj1mdW5jdGlvbigpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGxpbmthZ2UsYXZhdGFyLGksbWF0Y2gsc2NoZW1lLF9hLHNlbGVjdG9yLG93bmVyLF9iLGNvbXBzLGFkZHIsdG9rZW5JZCx0b2tlbk93bmVyLF9jLF9kLGJhbGFuY2UsX2UsX2YsdHgsbWV0YWRhdGFVcmwsX2csbWV0YWRhdGEsaW1hZ2VVcmwsaXBmcyxlcnJvcl8zO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9oKXtzd2l0Y2goX2gubGFiZWwpe2Nhc2UgMDpsaW5rYWdlPVt7dHlwZToibmFtZSIsY29udGVudDp0aGlzLm5hbWV9XTtfaC5sYWJlbD0xO2Nhc2UgMTpfaC50cnlzLnB1c2goWzEsMTksLDIwXSk7cmV0dXJuWzQsdGhpcy5nZXRUZXh0KCJhdmF0YXIiKV07Y2FzZSAyOmF2YXRhcj1faC5zZW50KCk7aWYoYXZhdGFyPT1udWxsKXtyZXR1cm5bMixudWxsXX1pPTA7X2gubGFiZWw9MztjYXNlIDM6aWYoIShpPG1hdGNoZXJzLmxlbmd0aCkpcmV0dXJuWzMsMThdO21hdGNoPWF2YXRhci5tYXRjaChtYXRjaGVyc1tpXSk7aWYobWF0Y2g9PW51bGwpe3JldHVyblszLDE3XX1zY2hlbWU9bWF0Y2hbMV0udG9Mb3dlckNhc2UoKTtfYT1zY2hlbWU7c3dpdGNoKF9hKXtjYXNlImh0dHBzIjpyZXR1cm5bMyw0XTtjYXNlImRhdGEiOnJldHVyblszLDVdO2Nhc2UiaXBmcyI6cmV0dXJuWzMsNl07Y2FzZSJlcmM3MjEiOnJldHVyblszLDddO2Nhc2UiZXJjMTE1NSI6cmV0dXJuWzMsN119cmV0dXJuWzMsMTddO2Nhc2UgNDpsaW5rYWdlLnB1c2goe3R5cGU6InVybCIsY29udGVudDphdmF0YXJ9KTtyZXR1cm5bMix7bGlua2FnZTpsaW5rYWdlLHVybDphdmF0YXJ9XTtjYXNlIDU6bGlua2FnZS5wdXNoKHt0eXBlOiJkYXRhIixjb250ZW50OmF2YXRhcn0pO3JldHVyblsyLHtsaW5rYWdlOmxpbmthZ2UsdXJsOmF2YXRhcn1dO2Nhc2UgNjpsaW5rYWdlLnB1c2goe3R5cGU6ImlwZnMiLGNvbnRlbnQ6YXZhdGFyfSk7cmV0dXJuWzIse2xpbmthZ2U6bGlua2FnZSx1cmw6Z2V0SXBmc0xpbmsoYXZhdGFyKX1dO2Nhc2UgNzpzZWxlY3Rvcj1zY2hlbWU9PT0iZXJjNzIxIj8iMHhjODdiNTZkZCI6IjB4MGU4OTM0MWMiO2xpbmthZ2UucHVzaCh7dHlwZTpzY2hlbWUsY29udGVudDphdmF0YXJ9KTtfYj10aGlzLl9yZXNvbHZlZEFkZHJlc3M7aWYoX2IpcmV0dXJuWzMsOV07cmV0dXJuWzQsdGhpcy5nZXRBZGRyZXNzKCldO2Nhc2UgODpfYj1faC5zZW50KCk7X2gubGFiZWw9OTtjYXNlIDk6b3duZXI9X2I7Y29tcHM9KG1hdGNoWzJdfHwiIikuc3BsaXQoIi8iKTtpZihjb21wcy5sZW5ndGghPT0yKXtyZXR1cm5bMixudWxsXX1yZXR1cm5bNCx0aGlzLnByb3ZpZGVyLmZvcm1hdHRlci5hZGRyZXNzKGNvbXBzWzBdKV07Y2FzZSAxMDphZGRyPV9oLnNlbnQoKTt0b2tlbklkPSgwLGxpYiQxLmhleFplcm9QYWQpKGxpYiQyLkJpZ051bWJlci5mcm9tKGNvbXBzWzFdKS50b0hleFN0cmluZygpLDMyKTtpZighKHNjaGVtZT09PSJlcmM3MjEiKSlyZXR1cm5bMywxMl07X2Q9KF9jPXRoaXMucHJvdmlkZXIuZm9ybWF0dGVyKS5jYWxsQWRkcmVzcztyZXR1cm5bNCx0aGlzLnByb3ZpZGVyLmNhbGwoe3RvOmFkZHIsZGF0YTooMCxsaWIkMS5oZXhDb25jYXQpKFsiMHg2MzUyMjExZSIsdG9rZW5JZF0pfSldO2Nhc2UgMTE6dG9rZW5Pd25lcj1fZC5hcHBseShfYyxbX2guc2VudCgpXSk7aWYob3duZXIhPT10b2tlbk93bmVyKXtyZXR1cm5bMixudWxsXX1saW5rYWdlLnB1c2goe3R5cGU6Im93bmVyIixjb250ZW50OnRva2VuT3duZXJ9KTtyZXR1cm5bMywxNF07Y2FzZSAxMjppZighKHNjaGVtZT09PSJlcmMxMTU1IikpcmV0dXJuWzMsMTRdO19mPShfZT1saWIkMi5CaWdOdW1iZXIpLmZyb207cmV0dXJuWzQsdGhpcy5wcm92aWRlci5jYWxsKHt0bzphZGRyLGRhdGE6KDAsbGliJDEuaGV4Q29uY2F0KShbIjB4MDBmZGQ1OGUiLCgwLGxpYiQxLmhleFplcm9QYWQpKG93bmVyLDMyKSx0b2tlbklkXSl9KV07Y2FzZSAxMzpiYWxhbmNlPV9mLmFwcGx5KF9lLFtfaC5zZW50KCldKTtpZihiYWxhbmNlLmlzWmVybygpKXtyZXR1cm5bMixudWxsXX1saW5rYWdlLnB1c2goe3R5cGU6ImJhbGFuY2UiLGNvbnRlbnQ6YmFsYW5jZS50b1N0cmluZygpfSk7X2gubGFiZWw9MTQ7Y2FzZSAxNDp0eD17dG86dGhpcy5wcm92aWRlci5mb3JtYXR0ZXIuYWRkcmVzcyhjb21wc1swXSksZGF0YTooMCxsaWIkMS5oZXhDb25jYXQpKFtzZWxlY3Rvcix0b2tlbklkXSl9O19nPV9wYXJzZVN0cmluZztyZXR1cm5bNCx0aGlzLnByb3ZpZGVyLmNhbGwodHgpXTtjYXNlIDE1Om1ldGFkYXRhVXJsPV9nLmFwcGx5KHZvaWQgMCxbX2guc2VudCgpLDBdKTtpZihtZXRhZGF0YVVybD09bnVsbCl7cmV0dXJuWzIsbnVsbF19bGlua2FnZS5wdXNoKHt0eXBlOiJtZXRhZGF0YS11cmwtYmFzZSIsY29udGVudDptZXRhZGF0YVVybH0pO2lmKHNjaGVtZT09PSJlcmMxMTU1Iil7bWV0YWRhdGFVcmw9bWV0YWRhdGFVcmwucmVwbGFjZSgie2lkfSIsdG9rZW5JZC5zdWJzdHJpbmcoMikpO2xpbmthZ2UucHVzaCh7dHlwZToibWV0YWRhdGEtdXJsLWV4cGFuZGVkIixjb250ZW50Om1ldGFkYXRhVXJsfSl9aWYobWV0YWRhdGFVcmwubWF0Y2goL15pcGZzOi9pKSl7bWV0YWRhdGFVcmw9Z2V0SXBmc0xpbmsobWV0YWRhdGFVcmwpfWxpbmthZ2UucHVzaCh7dHlwZToibWV0YWRhdGEtdXJsIixjb250ZW50Om1ldGFkYXRhVXJsfSk7cmV0dXJuWzQsKDAsbGliJHMuZmV0Y2hKc29uKShtZXRhZGF0YVVybCldO2Nhc2UgMTY6bWV0YWRhdGE9X2guc2VudCgpO2lmKCFtZXRhZGF0YSl7cmV0dXJuWzIsbnVsbF19bGlua2FnZS5wdXNoKHt0eXBlOiJtZXRhZGF0YSIsY29udGVudDpKU09OLnN0cmluZ2lmeShtZXRhZGF0YSl9KTtpbWFnZVVybD1tZXRhZGF0YS5pbWFnZTtpZih0eXBlb2YgaW1hZ2VVcmwhPT0ic3RyaW5nIil7cmV0dXJuWzIsbnVsbF19aWYoaW1hZ2VVcmwubWF0Y2goL14oaHR0cHM6XC9cL3xkYXRhOikvaSkpe31lbHNle2lwZnM9aW1hZ2VVcmwubWF0Y2gobWF0Y2hlcklwZnMpO2lmKGlwZnM9PW51bGwpe3JldHVyblsyLG51bGxdfWxpbmthZ2UucHVzaCh7dHlwZToidXJsLWlwZnMiLGNvbnRlbnQ6aW1hZ2VVcmx9KTtpbWFnZVVybD1nZXRJcGZzTGluayhpbWFnZVVybCl9bGlua2FnZS5wdXNoKHt0eXBlOiJ1cmwiLGNvbnRlbnQ6aW1hZ2VVcmx9KTtyZXR1cm5bMix7bGlua2FnZTpsaW5rYWdlLHVybDppbWFnZVVybH1dO2Nhc2UgMTc6aSsrO3JldHVyblszLDNdO2Nhc2UgMTg6cmV0dXJuWzMsMjBdO2Nhc2UgMTk6ZXJyb3JfMz1faC5zZW50KCk7cmV0dXJuWzMsMjBdO2Nhc2UgMjA6cmV0dXJuWzIsbnVsbF19fSl9KX07UmVzb2x2ZXIucHJvdG90eXBlLmdldENvbnRlbnRIYXNoPWZ1bmN0aW9uKCl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgaGV4Qnl0ZXMsaXBmcyxsZW5ndGhfNCxpcG5zLGxlbmd0aF81LHN3YXJtLHNreW5ldCx1cmxTYWZlXzEsaGFzaDtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5fZmV0Y2hCeXRlcygiMHhiYzFjNThkMSIpXTtjYXNlIDE6aGV4Qnl0ZXM9X2Euc2VudCgpO2lmKGhleEJ5dGVzPT1udWxsfHxoZXhCeXRlcz09PSIweCIpe3JldHVyblsyLG51bGxdfWlwZnM9aGV4Qnl0ZXMubWF0Y2goL14weGUzMDEwMTcwKChbMC05YS1mXVswLTlhLWZdKShbMC05YS1mXVswLTlhLWZdKShbMC05YS1mXSopKSQvKTtpZihpcGZzKXtsZW5ndGhfND1wYXJzZUludChpcGZzWzNdLDE2KTtpZihpcGZzWzRdLmxlbmd0aD09PWxlbmd0aF80KjIpe3JldHVyblsyLCJpcGZzOi8vIitsaWIkai5CYXNlNTguZW5jb2RlKCIweCIraXBmc1sxXSldfX1pcG5zPWhleEJ5dGVzLm1hdGNoKC9eMHhlNTAxMDE3MigoWzAtOWEtZl1bMC05YS1mXSkoWzAtOWEtZl1bMC05YS1mXSkoWzAtOWEtZl0qKSkkLyk7aWYoaXBucyl7bGVuZ3RoXzU9cGFyc2VJbnQoaXBuc1szXSwxNik7aWYoaXBuc1s0XS5sZW5ndGg9PT1sZW5ndGhfNSoyKXtyZXR1cm5bMiwiaXBuczovLyIrbGliJGouQmFzZTU4LmVuY29kZSgiMHgiK2lwbnNbMV0pXX19c3dhcm09aGV4Qnl0ZXMubWF0Y2goL14weGU0MDEwMWZhMDExYjIwKFswLTlhLWZdKikkLyk7aWYoc3dhcm0pe2lmKHN3YXJtWzFdLmxlbmd0aD09PTMyKjIpe3JldHVyblsyLCJieno6Ly8iK3N3YXJtWzFdXX19c2t5bmV0PWhleEJ5dGVzLm1hdGNoKC9eMHg5MGIyYzYwNShbMC05YS1mXSopJC8pO2lmKHNreW5ldCl7aWYoc2t5bmV0WzFdLmxlbmd0aD09PTM0KjIpe3VybFNhZmVfMT17Ij0iOiIiLCIrIjoiLSIsIi8iOiJfIn07aGFzaD0oMCxsaWIkOS5lbmNvZGUpKCIweCIrc2t5bmV0WzFdKS5yZXBsYWNlKC9bPStcL10vZyxmdW5jdGlvbihhKXtyZXR1cm4gdXJsU2FmZV8xW2FdfSk7cmV0dXJuWzIsInNpYTovLyIraGFzaF19fXJldHVyblsyLGxvZ2dlci50aHJvd0Vycm9yKCJpbnZhbGlkIG9yIHVuc3VwcG9ydGVkIGNvbnRlbnQgaGFzaCBkYXRhIixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoiZ2V0Q29udGVudEhhc2goKSIsZGF0YTpoZXhCeXRlc30pXX19KX0pfTtSZXNvbHZlci5wcm90b3R5cGUuZ2V0VGV4dD1mdW5jdGlvbihrZXkpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGtleUJ5dGVzLGhleEJ5dGVzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDprZXlCeXRlcz0oMCxsaWIkOC50b1V0ZjhCeXRlcykoa2V5KTtrZXlCeXRlcz0oMCxsaWIkMS5jb25jYXQpKFtieXRlczMyaWZ5KDY0KSxieXRlczMyaWZ5KGtleUJ5dGVzLmxlbmd0aCksa2V5Qnl0ZXNdKTtpZihrZXlCeXRlcy5sZW5ndGglMzIhPT0wKXtrZXlCeXRlcz0oMCxsaWIkMS5jb25jYXQpKFtrZXlCeXRlcywoMCxsaWIkMS5oZXhaZXJvUGFkKSgiMHgiLDMyLWtleS5sZW5ndGglMzIpXSl9cmV0dXJuWzQsdGhpcy5fZmV0Y2hCeXRlcygiMHg1OWQxZDQzYyIsKDAsbGliJDEuaGV4bGlmeSkoa2V5Qnl0ZXMpKV07Y2FzZSAxOmhleEJ5dGVzPV9hLnNlbnQoKTtpZihoZXhCeXRlcz09bnVsbHx8aGV4Qnl0ZXM9PT0iMHgiKXtyZXR1cm5bMixudWxsXX1yZXR1cm5bMiwoMCxsaWIkOC50b1V0ZjhTdHJpbmcpKGhleEJ5dGVzKV19fSl9KX07cmV0dXJuIFJlc29sdmVyfSgpO2V4cG9ydHMuUmVzb2x2ZXI9UmVzb2x2ZXI7dmFyIGRlZmF1bHRGb3JtYXR0ZXI9bnVsbDt2YXIgbmV4dFBvbGxJZD0xO3ZhciBCYXNlUHJvdmlkZXI9ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoQmFzZVByb3ZpZGVyLF9zdXBlcik7ZnVuY3Rpb24gQmFzZVByb3ZpZGVyKG5ldHdvcmspe3ZhciBfbmV3VGFyZ2V0PXRoaXMuY29uc3RydWN0b3I7dmFyIF90aGlzPV9zdXBlci5jYWxsKHRoaXMpfHx0aGlzO190aGlzLl9ldmVudHM9W107X3RoaXMuX2VtaXR0ZWQ9e2Jsb2NrOi0yfTtfdGhpcy5kaXNhYmxlQ2NpcFJlYWQ9ZmFsc2U7X3RoaXMuZm9ybWF0dGVyPV9uZXdUYXJnZXQuZ2V0Rm9ybWF0dGVyKCk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJhbnlOZXR3b3JrIixuZXR3b3JrPT09ImFueSIpO2lmKF90aGlzLmFueU5ldHdvcmspe25ldHdvcms9X3RoaXMuZGV0ZWN0TmV0d29yaygpfWlmKG5ldHdvcmsgaW5zdGFuY2VvZiBQcm9taXNlKXtfdGhpcy5fbmV0d29ya1Byb21pc2U9bmV0d29yaztuZXR3b3JrLmNhdGNoKGZ1bmN0aW9uKGVycm9yKXt9KTtfdGhpcy5fcmVhZHkoKS5jYXRjaChmdW5jdGlvbihlcnJvcil7fSl9ZWxzZXt2YXIga25vd25OZXR3b3JrPSgwLGxpYiQzLmdldFN0YXRpYykoX25ld1RhcmdldCwiZ2V0TmV0d29yayIpKG5ldHdvcmspO2lmKGtub3duTmV0d29yayl7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJfbmV0d29yayIsa25vd25OZXR3b3JrKTtfdGhpcy5lbWl0KCJuZXR3b3JrIixrbm93bk5ldHdvcmssbnVsbCl9ZWxzZXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIG5ldHdvcmsiLCJuZXR3b3JrIixuZXR3b3JrKX19X3RoaXMuX21heEludGVybmFsQmxvY2tOdW1iZXI9LTEwMjQ7X3RoaXMuX2xhc3RCbG9ja051bWJlcj0tMjtfdGhpcy5fbWF4RmlsdGVyQmxvY2tSYW5nZT0xMDtfdGhpcy5fcG9sbGluZ0ludGVydmFsPTRlMztfdGhpcy5fZmFzdFF1ZXJ5RGF0ZT0wO3JldHVybiBfdGhpc31CYXNlUHJvdmlkZXIucHJvdG90eXBlLl9yZWFkeT1mdW5jdGlvbigpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG5ldHdvcmssZXJyb3JfNDtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6aWYoISh0aGlzLl9uZXR3b3JrPT1udWxsKSlyZXR1cm5bMyw3XTtuZXR3b3JrPW51bGw7aWYoIXRoaXMuX25ldHdvcmtQcm9taXNlKXJldHVyblszLDRdO19hLmxhYmVsPTE7Y2FzZSAxOl9hLnRyeXMucHVzaChbMSwzLCw0XSk7cmV0dXJuWzQsdGhpcy5fbmV0d29ya1Byb21pc2VdO2Nhc2UgMjpuZXR3b3JrPV9hLnNlbnQoKTtyZXR1cm5bMyw0XTtjYXNlIDM6ZXJyb3JfND1fYS5zZW50KCk7cmV0dXJuWzMsNF07Y2FzZSA0OmlmKCEobmV0d29yaz09bnVsbCkpcmV0dXJuWzMsNl07cmV0dXJuWzQsdGhpcy5kZXRlY3ROZXR3b3JrKCldO2Nhc2UgNTpuZXR3b3JrPV9hLnNlbnQoKTtfYS5sYWJlbD02O2Nhc2UgNjppZighbmV0d29yayl7bG9nZ2VyLnRocm93RXJyb3IoIm5vIG5ldHdvcmsgZGV0ZWN0ZWQiLGxpYi5Mb2dnZXIuZXJyb3JzLlVOS05PV05fRVJST1Ise30pfWlmKHRoaXMuX25ldHdvcms9PW51bGwpe2lmKHRoaXMuYW55TmV0d29yayl7dGhpcy5fbmV0d29yaz1uZXR3b3JrfWVsc2V7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKHRoaXMsIl9uZXR3b3JrIixuZXR3b3JrKX10aGlzLmVtaXQoIm5ldHdvcmsiLG5ldHdvcmssbnVsbCl9X2EubGFiZWw9NztjYXNlIDc6cmV0dXJuWzIsdGhpcy5fbmV0d29ya119fSl9KX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEJhc2VQcm92aWRlci5wcm90b3R5cGUsInJlYWR5Iix7Z2V0OmZ1bmN0aW9uKCl7dmFyIF90aGlzPXRoaXM7cmV0dXJuKDAsbGliJHMucG9sbCkoZnVuY3Rpb24oKXtyZXR1cm4gX3RoaXMuX3JlYWR5KCkudGhlbihmdW5jdGlvbihuZXR3b3JrKXtyZXR1cm4gbmV0d29ya30sZnVuY3Rpb24oZXJyb3Ipe2lmKGVycm9yLmNvZGU9PT1saWIuTG9nZ2VyLmVycm9ycy5ORVRXT1JLX0VSUk9SJiZlcnJvci5ldmVudD09PSJub05ldHdvcmsiKXtyZXR1cm4gdW5kZWZpbmVkfXRocm93IGVycm9yfSl9KX0sZW51bWVyYWJsZTpmYWxzZSxjb25maWd1cmFibGU6dHJ1ZX0pO0Jhc2VQcm92aWRlci5nZXRGb3JtYXR0ZXI9ZnVuY3Rpb24oKXtpZihkZWZhdWx0Rm9ybWF0dGVyPT1udWxsKXtkZWZhdWx0Rm9ybWF0dGVyPW5ldyBmb3JtYXR0ZXIuRm9ybWF0dGVyfXJldHVybiBkZWZhdWx0Rm9ybWF0dGVyfTtCYXNlUHJvdmlkZXIuZ2V0TmV0d29yaz1mdW5jdGlvbihuZXR3b3JrKXtyZXR1cm4oMCxsaWIkci5nZXROZXR3b3JrKShuZXR3b3JrPT1udWxsPyJob21lc3RlYWQiOm5ldHdvcmspfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLmNjaXBSZWFkRmV0Y2g9ZnVuY3Rpb24odHgsY2FsbGRhdGEsdXJscyl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgc2VuZGVyLGRhdGEsZXJyb3JNZXNzYWdlcyxpLHVybCxocmVmLGpzb24scmVzdWx0LGVycm9yTWVzc2FnZTtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6aWYodGhpcy5kaXNhYmxlQ2NpcFJlYWR8fHVybHMubGVuZ3RoPT09MCl7cmV0dXJuWzIsbnVsbF19c2VuZGVyPXR4LnRvLnRvTG93ZXJDYXNlKCk7ZGF0YT1jYWxsZGF0YS50b0xvd2VyQ2FzZSgpO2Vycm9yTWVzc2FnZXM9W107aT0wO19hLmxhYmVsPTE7Y2FzZSAxOmlmKCEoaTx1cmxzLmxlbmd0aCkpcmV0dXJuWzMsNF07dXJsPXVybHNbaV07aHJlZj11cmwucmVwbGFjZSgie3NlbmRlcn0iLHNlbmRlcikucmVwbGFjZSgie2RhdGF9IixkYXRhKTtqc29uPXVybC5pbmRleE9mKCJ7ZGF0YX0iKT49MD9udWxsOkpTT04uc3RyaW5naWZ5KHtkYXRhOmRhdGEsc2VuZGVyOnNlbmRlcn0pO3JldHVybls0LCgwLGxpYiRzLmZldGNoSnNvbikoe3VybDpocmVmLGVycm9yUGFzc1Rocm91Z2g6dHJ1ZX0sanNvbixmdW5jdGlvbih2YWx1ZSxyZXNwb25zZSl7dmFsdWUuc3RhdHVzPXJlc3BvbnNlLnN0YXR1c0NvZGU7cmV0dXJuIHZhbHVlfSldO2Nhc2UgMjpyZXN1bHQ9X2Euc2VudCgpO2lmKHJlc3VsdC5kYXRhKXtyZXR1cm5bMixyZXN1bHQuZGF0YV19ZXJyb3JNZXNzYWdlPXJlc3VsdC5tZXNzYWdlfHwidW5rbm93biBlcnJvciI7aWYocmVzdWx0LnN0YXR1cz49NDAwJiZyZXN1bHQuc3RhdHVzPDUwMCl7cmV0dXJuWzIsbG9nZ2VyLnRocm93RXJyb3IoInJlc3BvbnNlIG5vdCBmb3VuZCBkdXJpbmcgQ0NJUCBmZXRjaDogIitlcnJvck1lc3NhZ2UsbGliLkxvZ2dlci5lcnJvcnMuU0VSVkVSX0VSUk9SLHt1cmw6dXJsLGVycm9yTWVzc2FnZTplcnJvck1lc3NhZ2V9KV19ZXJyb3JNZXNzYWdlcy5wdXNoKGVycm9yTWVzc2FnZSk7X2EubGFiZWw9MztjYXNlIDM6aSsrO3JldHVyblszLDFdO2Nhc2UgNDpyZXR1cm5bMixsb2dnZXIudGhyb3dFcnJvcigiZXJyb3IgZW5jb3VudGVyZWQgZHVyaW5nIENDSVAgZmV0Y2g6ICIrZXJyb3JNZXNzYWdlcy5tYXAoZnVuY3Rpb24obSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KG0pfSkuam9pbigiLCAiKSxsaWIuTG9nZ2VyLmVycm9ycy5TRVJWRVJfRVJST1Ise3VybHM6dXJscyxlcnJvck1lc3NhZ2VzOmVycm9yTWVzc2FnZXN9KV19fSl9KX07QmFzZVByb3ZpZGVyLnByb3RvdHlwZS5fZ2V0SW50ZXJuYWxCbG9ja051bWJlcj1mdW5jdGlvbihtYXhBZ2Upe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGludGVybmFsQmxvY2tOdW1iZXIscmVzdWx0LGVycm9yXzUscmVxVGltZSxjaGVja0ludGVybmFsQmxvY2tOdW1iZXI7dmFyIF90aGlzPXRoaXM7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuX3JlYWR5KCldO2Nhc2UgMTpfYS5zZW50KCk7aWYoIShtYXhBZ2U+MCkpcmV0dXJuWzMsN107X2EubGFiZWw9MjtjYXNlIDI6aWYoIXRoaXMuX2ludGVybmFsQmxvY2tOdW1iZXIpcmV0dXJuWzMsN107aW50ZXJuYWxCbG9ja051bWJlcj10aGlzLl9pbnRlcm5hbEJsb2NrTnVtYmVyO19hLmxhYmVsPTM7Y2FzZSAzOl9hLnRyeXMucHVzaChbMyw1LCw2XSk7cmV0dXJuWzQsaW50ZXJuYWxCbG9ja051bWJlcl07Y2FzZSA0OnJlc3VsdD1fYS5zZW50KCk7aWYoZ2V0VGltZSgpLXJlc3VsdC5yZXNwVGltZTw9bWF4QWdlKXtyZXR1cm5bMixyZXN1bHQuYmxvY2tOdW1iZXJdfXJldHVyblszLDddO2Nhc2UgNTplcnJvcl81PV9hLnNlbnQoKTtpZih0aGlzLl9pbnRlcm5hbEJsb2NrTnVtYmVyPT09aW50ZXJuYWxCbG9ja051bWJlcil7cmV0dXJuWzMsN119cmV0dXJuWzMsNl07Y2FzZSA2OnJldHVyblszLDJdO2Nhc2UgNzpyZXFUaW1lPWdldFRpbWUoKTtjaGVja0ludGVybmFsQmxvY2tOdW1iZXI9KDAsbGliJDMucmVzb2x2ZVByb3BlcnRpZXMpKHtibG9ja051bWJlcjp0aGlzLnBlcmZvcm0oImdldEJsb2NrTnVtYmVyIix7fSksbmV0d29ya0Vycm9yOnRoaXMuZ2V0TmV0d29yaygpLnRoZW4oZnVuY3Rpb24obmV0d29yayl7cmV0dXJuIG51bGx9LGZ1bmN0aW9uKGVycm9yKXtyZXR1cm4gZXJyb3J9KX0pLnRoZW4oZnVuY3Rpb24oX2Epe3ZhciBibG9ja051bWJlcj1fYS5ibG9ja051bWJlcixuZXR3b3JrRXJyb3I9X2EubmV0d29ya0Vycm9yO2lmKG5ldHdvcmtFcnJvcil7aWYoX3RoaXMuX2ludGVybmFsQmxvY2tOdW1iZXI9PT1jaGVja0ludGVybmFsQmxvY2tOdW1iZXIpe190aGlzLl9pbnRlcm5hbEJsb2NrTnVtYmVyPW51bGx9dGhyb3cgbmV0d29ya0Vycm9yfXZhciByZXNwVGltZT1nZXRUaW1lKCk7YmxvY2tOdW1iZXI9bGliJDIuQmlnTnVtYmVyLmZyb20oYmxvY2tOdW1iZXIpLnRvTnVtYmVyKCk7aWYoYmxvY2tOdW1iZXI8X3RoaXMuX21heEludGVybmFsQmxvY2tOdW1iZXIpe2Jsb2NrTnVtYmVyPV90aGlzLl9tYXhJbnRlcm5hbEJsb2NrTnVtYmVyfV90aGlzLl9tYXhJbnRlcm5hbEJsb2NrTnVtYmVyPWJsb2NrTnVtYmVyO190aGlzLl9zZXRGYXN0QmxvY2tOdW1iZXIoYmxvY2tOdW1iZXIpO3JldHVybntibG9ja051bWJlcjpibG9ja051bWJlcixyZXFUaW1lOnJlcVRpbWUscmVzcFRpbWU6cmVzcFRpbWV9fSk7dGhpcy5faW50ZXJuYWxCbG9ja051bWJlcj1jaGVja0ludGVybmFsQmxvY2tOdW1iZXI7Y2hlY2tJbnRlcm5hbEJsb2NrTnVtYmVyLmNhdGNoKGZ1bmN0aW9uKGVycm9yKXtpZihfdGhpcy5faW50ZXJuYWxCbG9ja051bWJlcj09PWNoZWNrSW50ZXJuYWxCbG9ja051bWJlcil7X3RoaXMuX2ludGVybmFsQmxvY2tOdW1iZXI9bnVsbH19KTtyZXR1cm5bNCxjaGVja0ludGVybmFsQmxvY2tOdW1iZXJdO2Nhc2UgODpyZXR1cm5bMixfYS5zZW50KCkuYmxvY2tOdW1iZXJdfX0pfSl9O0Jhc2VQcm92aWRlci5wcm90b3R5cGUucG9sbD1mdW5jdGlvbigpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHBvbGxJZCxydW5uZXJzLGJsb2NrTnVtYmVyLGVycm9yXzYsaTt2YXIgX3RoaXM9dGhpcztyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6cG9sbElkPW5leHRQb2xsSWQrKztydW5uZXJzPVtdO2Jsb2NrTnVtYmVyPW51bGw7X2EubGFiZWw9MTtjYXNlIDE6X2EudHJ5cy5wdXNoKFsxLDMsLDRdKTtyZXR1cm5bNCx0aGlzLl9nZXRJbnRlcm5hbEJsb2NrTnVtYmVyKDEwMCt0aGlzLnBvbGxpbmdJbnRlcnZhbC8yKV07Y2FzZSAyOmJsb2NrTnVtYmVyPV9hLnNlbnQoKTtyZXR1cm5bMyw0XTtjYXNlIDM6ZXJyb3JfNj1fYS5zZW50KCk7dGhpcy5lbWl0KCJlcnJvciIsZXJyb3JfNik7cmV0dXJuWzJdO2Nhc2UgNDp0aGlzLl9zZXRGYXN0QmxvY2tOdW1iZXIoYmxvY2tOdW1iZXIpO3RoaXMuZW1pdCgicG9sbCIscG9sbElkLGJsb2NrTnVtYmVyKTtpZihibG9ja051bWJlcj09PXRoaXMuX2xhc3RCbG9ja051bWJlcil7dGhpcy5lbWl0KCJkaWRQb2xsIixwb2xsSWQpO3JldHVyblsyXX1pZih0aGlzLl9lbWl0dGVkLmJsb2NrPT09LTIpe3RoaXMuX2VtaXR0ZWQuYmxvY2s9YmxvY2tOdW1iZXItMX1pZihNYXRoLmFicyh0aGlzLl9lbWl0dGVkLmJsb2NrLWJsb2NrTnVtYmVyKT4xZTMpe2xvZ2dlci53YXJuKCJuZXR3b3JrIGJsb2NrIHNrZXcgZGV0ZWN0ZWQ7IHNraXBwaW5nIGJsb2NrIGV2ZW50cyAoZW1pdHRlZD0iK3RoaXMuX2VtaXR0ZWQuYmxvY2srIiBibG9ja051bWJlciIrYmxvY2tOdW1iZXIrIikiKTt0aGlzLmVtaXQoImVycm9yIixsb2dnZXIubWFrZUVycm9yKCJuZXR3b3JrIGJsb2NrIHNrZXcgZGV0ZWN0ZWQiLGxpYi5Mb2dnZXIuZXJyb3JzLk5FVFdPUktfRVJST1Ise2Jsb2NrTnVtYmVyOmJsb2NrTnVtYmVyLGV2ZW50OiJibG9ja1NrZXciLHByZXZpb3VzQmxvY2tOdW1iZXI6dGhpcy5fZW1pdHRlZC5ibG9ja30pKTt0aGlzLmVtaXQoImJsb2NrIixibG9ja051bWJlcil9ZWxzZXtmb3IoaT10aGlzLl9lbWl0dGVkLmJsb2NrKzE7aTw9YmxvY2tOdW1iZXI7aSsrKXt0aGlzLmVtaXQoImJsb2NrIixpKX19aWYodGhpcy5fZW1pdHRlZC5ibG9jayE9PWJsb2NrTnVtYmVyKXt0aGlzLl9lbWl0dGVkLmJsb2NrPWJsb2NrTnVtYmVyO09iamVjdC5rZXlzKHRoaXMuX2VtaXR0ZWQpLmZvckVhY2goZnVuY3Rpb24oa2V5KXtpZihrZXk9PT0iYmxvY2siKXtyZXR1cm59dmFyIGV2ZW50QmxvY2tOdW1iZXI9X3RoaXMuX2VtaXR0ZWRba2V5XTtpZihldmVudEJsb2NrTnVtYmVyPT09InBlbmRpbmciKXtyZXR1cm59aWYoYmxvY2tOdW1iZXItZXZlbnRCbG9ja051bWJlcj4xMil7ZGVsZXRlIF90aGlzLl9lbWl0dGVkW2tleV19fSl9aWYodGhpcy5fbGFzdEJsb2NrTnVtYmVyPT09LTIpe3RoaXMuX2xhc3RCbG9ja051bWJlcj1ibG9ja051bWJlci0xfXRoaXMuX2V2ZW50cy5mb3JFYWNoKGZ1bmN0aW9uKGV2ZW50KXtzd2l0Y2goZXZlbnQudHlwZSl7Y2FzZSJ0eCI6e3ZhciBoYXNoXzI9ZXZlbnQuaGFzaDt2YXIgcnVubmVyPV90aGlzLmdldFRyYW5zYWN0aW9uUmVjZWlwdChoYXNoXzIpLnRoZW4oZnVuY3Rpb24ocmVjZWlwdCl7aWYoIXJlY2VpcHR8fHJlY2VpcHQuYmxvY2tOdW1iZXI9PW51bGwpe3JldHVybiBudWxsfV90aGlzLl9lbWl0dGVkWyJ0OiIraGFzaF8yXT1yZWNlaXB0LmJsb2NrTnVtYmVyO190aGlzLmVtaXQoaGFzaF8yLHJlY2VpcHQpO3JldHVybiBudWxsfSkuY2F0Y2goZnVuY3Rpb24oZXJyb3Ipe190aGlzLmVtaXQoImVycm9yIixlcnJvcil9KTtydW5uZXJzLnB1c2gocnVubmVyKTticmVha31jYXNlImZpbHRlciI6e2lmKCFldmVudC5faW5mbGlnaHQpe2V2ZW50Ll9pbmZsaWdodD10cnVlO2lmKGV2ZW50Ll9sYXN0QmxvY2tOdW1iZXI9PT0tMil7ZXZlbnQuX2xhc3RCbG9ja051bWJlcj1ibG9ja051bWJlci0xfXZhciBmaWx0ZXJfMT1ldmVudC5maWx0ZXI7ZmlsdGVyXzEuZnJvbUJsb2NrPWV2ZW50Ll9sYXN0QmxvY2tOdW1iZXIrMTtmaWx0ZXJfMS50b0Jsb2NrPWJsb2NrTnVtYmVyO3ZhciBtaW5Gcm9tQmxvY2s9ZmlsdGVyXzEudG9CbG9jay1fdGhpcy5fbWF4RmlsdGVyQmxvY2tSYW5nZTtpZihtaW5Gcm9tQmxvY2s+ZmlsdGVyXzEuZnJvbUJsb2NrKXtmaWx0ZXJfMS5mcm9tQmxvY2s9bWluRnJvbUJsb2NrfWlmKGZpbHRlcl8xLmZyb21CbG9jazwwKXtmaWx0ZXJfMS5mcm9tQmxvY2s9MH12YXIgcnVubmVyPV90aGlzLmdldExvZ3MoZmlsdGVyXzEpLnRoZW4oZnVuY3Rpb24obG9ncyl7ZXZlbnQuX2luZmxpZ2h0PWZhbHNlO2lmKGxvZ3MubGVuZ3RoPT09MCl7cmV0dXJufWxvZ3MuZm9yRWFjaChmdW5jdGlvbihsb2cpe2lmKGxvZy5ibG9ja051bWJlcj5ldmVudC5fbGFzdEJsb2NrTnVtYmVyKXtldmVudC5fbGFzdEJsb2NrTnVtYmVyPWxvZy5ibG9ja051bWJlcn1fdGhpcy5fZW1pdHRlZFsiYjoiK2xvZy5ibG9ja0hhc2hdPWxvZy5ibG9ja051bWJlcjtfdGhpcy5fZW1pdHRlZFsidDoiK2xvZy50cmFuc2FjdGlvbkhhc2hdPWxvZy5ibG9ja051bWJlcjtfdGhpcy5lbWl0KGZpbHRlcl8xLGxvZyl9KX0pLmNhdGNoKGZ1bmN0aW9uKGVycm9yKXtfdGhpcy5lbWl0KCJlcnJvciIsZXJyb3IpO2V2ZW50Ll9pbmZsaWdodD1mYWxzZX0pO3J1bm5lcnMucHVzaChydW5uZXIpfWJyZWFrfX19KTt0aGlzLl9sYXN0QmxvY2tOdW1iZXI9YmxvY2tOdW1iZXI7UHJvbWlzZS5hbGwocnVubmVycykudGhlbihmdW5jdGlvbigpe190aGlzLmVtaXQoImRpZFBvbGwiLHBvbGxJZCl9KS5jYXRjaChmdW5jdGlvbihlcnJvcil7X3RoaXMuZW1pdCgiZXJyb3IiLGVycm9yKX0pO3JldHVyblsyXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLnJlc2V0RXZlbnRzQmxvY2s9ZnVuY3Rpb24oYmxvY2tOdW1iZXIpe3RoaXMuX2xhc3RCbG9ja051bWJlcj1ibG9ja051bWJlci0xO2lmKHRoaXMucG9sbGluZyl7dGhpcy5wb2xsKCl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoQmFzZVByb3ZpZGVyLnByb3RvdHlwZSwibmV0d29yayIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9uZXR3b3JrfSxlbnVtZXJhYmxlOmZhbHNlLGNvbmZpZ3VyYWJsZTp0cnVlfSk7QmFzZVByb3ZpZGVyLnByb3RvdHlwZS5kZXRlY3ROZXR3b3JrPWZ1bmN0aW9uKCl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7cmV0dXJuWzIsbG9nZ2VyLnRocm93RXJyb3IoInByb3ZpZGVyIGRvZXMgbm90IHN1cHBvcnQgbmV0d29yayBkZXRlY3Rpb24iLGxpYi5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJwcm92aWRlci5kZXRlY3ROZXR3b3JrIn0pXX0pfSl9O0Jhc2VQcm92aWRlci5wcm90b3R5cGUuZ2V0TmV0d29yaz1mdW5jdGlvbigpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG5ldHdvcmssY3VycmVudE5ldHdvcmssZXJyb3I7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuX3JlYWR5KCldO2Nhc2UgMTpuZXR3b3JrPV9hLnNlbnQoKTtyZXR1cm5bNCx0aGlzLmRldGVjdE5ldHdvcmsoKV07Y2FzZSAyOmN1cnJlbnROZXR3b3JrPV9hLnNlbnQoKTtpZighKG5ldHdvcmsuY2hhaW5JZCE9PWN1cnJlbnROZXR3b3JrLmNoYWluSWQpKXJldHVyblszLDVdO2lmKCF0aGlzLmFueU5ldHdvcmspcmV0dXJuWzMsNF07dGhpcy5fbmV0d29yaz1jdXJyZW50TmV0d29yazt0aGlzLl9sYXN0QmxvY2tOdW1iZXI9LTI7dGhpcy5fZmFzdEJsb2NrTnVtYmVyPW51bGw7dGhpcy5fZmFzdEJsb2NrTnVtYmVyUHJvbWlzZT1udWxsO3RoaXMuX2Zhc3RRdWVyeURhdGU9MDt0aGlzLl9lbWl0dGVkLmJsb2NrPS0yO3RoaXMuX21heEludGVybmFsQmxvY2tOdW1iZXI9LTEwMjQ7dGhpcy5faW50ZXJuYWxCbG9ja051bWJlcj1udWxsO3RoaXMuZW1pdCgibmV0d29yayIsY3VycmVudE5ldHdvcmssbmV0d29yayk7cmV0dXJuWzQsc3RhbGwoMCldO2Nhc2UgMzpfYS5zZW50KCk7cmV0dXJuWzIsdGhpcy5fbmV0d29ya107Y2FzZSA0OmVycm9yPWxvZ2dlci5tYWtlRXJyb3IoInVuZGVybHlpbmcgbmV0d29yayBjaGFuZ2VkIixsaWIuTG9nZ2VyLmVycm9ycy5ORVRXT1JLX0VSUk9SLHtldmVudDoiY2hhbmdlZCIsbmV0d29yazpuZXR3b3JrLGRldGVjdGVkTmV0d29yazpjdXJyZW50TmV0d29ya30pO3RoaXMuZW1pdCgiZXJyb3IiLGVycm9yKTt0aHJvdyBlcnJvcjtjYXNlIDU6cmV0dXJuWzIsbmV0d29ya119fSl9KX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEJhc2VQcm92aWRlci5wcm90b3R5cGUsImJsb2NrTnVtYmVyIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIF90aGlzPXRoaXM7dGhpcy5fZ2V0SW50ZXJuYWxCbG9ja051bWJlcigxMDArdGhpcy5wb2xsaW5nSW50ZXJ2YWwvMikudGhlbihmdW5jdGlvbihibG9ja051bWJlcil7X3RoaXMuX3NldEZhc3RCbG9ja051bWJlcihibG9ja051bWJlcil9LGZ1bmN0aW9uKGVycm9yKXt9KTtyZXR1cm4gdGhpcy5fZmFzdEJsb2NrTnVtYmVyIT1udWxsP3RoaXMuX2Zhc3RCbG9ja051bWJlcjotMX0sZW51bWVyYWJsZTpmYWxzZSxjb25maWd1cmFibGU6dHJ1ZX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShCYXNlUHJvdmlkZXIucHJvdG90eXBlLCJwb2xsaW5nIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3BvbGxlciE9bnVsbH0sc2V0OmZ1bmN0aW9uKHZhbHVlKXt2YXIgX3RoaXM9dGhpcztpZih2YWx1ZSYmIXRoaXMuX3BvbGxlcil7dGhpcy5fcG9sbGVyPXNldEludGVydmFsKGZ1bmN0aW9uKCl7X3RoaXMucG9sbCgpfSx0aGlzLnBvbGxpbmdJbnRlcnZhbCk7aWYoIXRoaXMuX2Jvb3RzdHJhcFBvbGwpe3RoaXMuX2Jvb3RzdHJhcFBvbGw9c2V0VGltZW91dChmdW5jdGlvbigpe190aGlzLnBvbGwoKTtfdGhpcy5fYm9vdHN0cmFwUG9sbD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYoIV90aGlzLl9wb2xsZXIpe190aGlzLnBvbGwoKX1fdGhpcy5fYm9vdHN0cmFwUG9sbD1udWxsfSxfdGhpcy5wb2xsaW5nSW50ZXJ2YWwpfSwwKX19ZWxzZSBpZighdmFsdWUmJnRoaXMuX3BvbGxlcil7Y2xlYXJJbnRlcnZhbCh0aGlzLl9wb2xsZXIpO3RoaXMuX3BvbGxlcj1udWxsfX0sZW51bWVyYWJsZTpmYWxzZSxjb25maWd1cmFibGU6dHJ1ZX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShCYXNlUHJvdmlkZXIucHJvdG90eXBlLCJwb2xsaW5nSW50ZXJ2YWwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcG9sbGluZ0ludGVydmFsfSxzZXQ6ZnVuY3Rpb24odmFsdWUpe3ZhciBfdGhpcz10aGlzO2lmKHR5cGVvZiB2YWx1ZSE9PSJudW1iZXIifHx2YWx1ZTw9MHx8cGFyc2VJbnQoU3RyaW5nKHZhbHVlKSkhPXZhbHVlKXt0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcG9sbGluZyBpbnRlcnZhbCIpfXRoaXMuX3BvbGxpbmdJbnRlcnZhbD12YWx1ZTtpZih0aGlzLl9wb2xsZXIpe2NsZWFySW50ZXJ2YWwodGhpcy5fcG9sbGVyKTt0aGlzLl9wb2xsZXI9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtfdGhpcy5wb2xsKCl9LHRoaXMuX3BvbGxpbmdJbnRlcnZhbCl9fSxlbnVtZXJhYmxlOmZhbHNlLGNvbmZpZ3VyYWJsZTp0cnVlfSk7QmFzZVByb3ZpZGVyLnByb3RvdHlwZS5fZ2V0RmFzdEJsb2NrTnVtYmVyPWZ1bmN0aW9uKCl7dmFyIF90aGlzPXRoaXM7dmFyIG5vdz1nZXRUaW1lKCk7aWYobm93LXRoaXMuX2Zhc3RRdWVyeURhdGU+Mip0aGlzLl9wb2xsaW5nSW50ZXJ2YWwpe3RoaXMuX2Zhc3RRdWVyeURhdGU9bm93O3RoaXMuX2Zhc3RCbG9ja051bWJlclByb21pc2U9dGhpcy5nZXRCbG9ja051bWJlcigpLnRoZW4oZnVuY3Rpb24oYmxvY2tOdW1iZXIpe2lmKF90aGlzLl9mYXN0QmxvY2tOdW1iZXI9PW51bGx8fGJsb2NrTnVtYmVyPl90aGlzLl9mYXN0QmxvY2tOdW1iZXIpe190aGlzLl9mYXN0QmxvY2tOdW1iZXI9YmxvY2tOdW1iZXJ9cmV0dXJuIF90aGlzLl9mYXN0QmxvY2tOdW1iZXJ9KX1yZXR1cm4gdGhpcy5fZmFzdEJsb2NrTnVtYmVyUHJvbWlzZX07QmFzZVByb3ZpZGVyLnByb3RvdHlwZS5fc2V0RmFzdEJsb2NrTnVtYmVyPWZ1bmN0aW9uKGJsb2NrTnVtYmVyKXtpZih0aGlzLl9mYXN0QmxvY2tOdW1iZXIhPW51bGwmJmJsb2NrTnVtYmVyPHRoaXMuX2Zhc3RCbG9ja051bWJlcil7cmV0dXJufXRoaXMuX2Zhc3RRdWVyeURhdGU9Z2V0VGltZSgpO2lmKHRoaXMuX2Zhc3RCbG9ja051bWJlcj09bnVsbHx8YmxvY2tOdW1iZXI+dGhpcy5fZmFzdEJsb2NrTnVtYmVyKXt0aGlzLl9mYXN0QmxvY2tOdW1iZXI9YmxvY2tOdW1iZXI7dGhpcy5fZmFzdEJsb2NrTnVtYmVyUHJvbWlzZT1Qcm9taXNlLnJlc29sdmUoYmxvY2tOdW1iZXIpfX07QmFzZVByb3ZpZGVyLnByb3RvdHlwZS53YWl0Rm9yVHJhbnNhY3Rpb249ZnVuY3Rpb24odHJhbnNhY3Rpb25IYXNoLGNvbmZpcm1hdGlvbnMsdGltZW91dCl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7cmV0dXJuWzIsdGhpcy5fd2FpdEZvclRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSGFzaCxjb25maXJtYXRpb25zPT1udWxsPzE6Y29uZmlybWF0aW9ucyx0aW1lb3V0fHwwLG51bGwpXX0pfSl9O0Jhc2VQcm92aWRlci5wcm90b3R5cGUuX3dhaXRGb3JUcmFuc2FjdGlvbj1mdW5jdGlvbih0cmFuc2FjdGlvbkhhc2gsY29uZmlybWF0aW9ucyx0aW1lb3V0LHJlcGxhY2VhYmxlKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciByZWNlaXB0O3ZhciBfdGhpcz10aGlzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLmdldFRyYW5zYWN0aW9uUmVjZWlwdCh0cmFuc2FjdGlvbkhhc2gpXTtjYXNlIDE6cmVjZWlwdD1fYS5zZW50KCk7aWYoKHJlY2VpcHQ/cmVjZWlwdC5jb25maXJtYXRpb25zOjApPj1jb25maXJtYXRpb25zKXtyZXR1cm5bMixyZWNlaXB0XX1yZXR1cm5bMixuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLHJlamVjdCl7dmFyIGNhbmNlbEZ1bmNzPVtdO3ZhciBkb25lPWZhbHNlO3ZhciBhbHJlYWR5RG9uZT1mdW5jdGlvbigpe2lmKGRvbmUpe3JldHVybiB0cnVlfWRvbmU9dHJ1ZTtjYW5jZWxGdW5jcy5mb3JFYWNoKGZ1bmN0aW9uKGZ1bmMpe2Z1bmMoKX0pO3JldHVybiBmYWxzZX07dmFyIG1pbmVkSGFuZGxlcj1mdW5jdGlvbihyZWNlaXB0KXtpZihyZWNlaXB0LmNvbmZpcm1hdGlvbnM8Y29uZmlybWF0aW9ucyl7cmV0dXJufWlmKGFscmVhZHlEb25lKCkpe3JldHVybn1yZXNvbHZlKHJlY2VpcHQpfTtfdGhpcy5vbih0cmFuc2FjdGlvbkhhc2gsbWluZWRIYW5kbGVyKTtjYW5jZWxGdW5jcy5wdXNoKGZ1bmN0aW9uKCl7X3RoaXMucmVtb3ZlTGlzdGVuZXIodHJhbnNhY3Rpb25IYXNoLG1pbmVkSGFuZGxlcil9KTtpZihyZXBsYWNlYWJsZSl7dmFyIGxhc3RCbG9ja051bWJlcl8xPXJlcGxhY2VhYmxlLnN0YXJ0QmxvY2s7dmFyIHNjYW5uZWRCbG9ja18xPW51bGw7dmFyIHJlcGxhY2VIYW5kbGVyXzE9ZnVuY3Rpb24oYmxvY2tOdW1iZXIpe3JldHVybiBfX2F3YWl0ZXIoX3RoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBfdGhpcz10aGlzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDppZihkb25lKXtyZXR1cm5bMl19cmV0dXJuWzQsc3RhbGwoMWUzKV07Y2FzZSAxOl9hLnNlbnQoKTt0aGlzLmdldFRyYW5zYWN0aW9uQ291bnQocmVwbGFjZWFibGUuZnJvbSkudGhlbihmdW5jdGlvbihub25jZSl7cmV0dXJuIF9fYXdhaXRlcihfdGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG1pbmVkLGJsb2NrLHRpLHR4LHJlY2VpcHRfMSxyZWFzb247cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOmlmKGRvbmUpe3JldHVyblsyXX1pZighKG5vbmNlPD1yZXBsYWNlYWJsZS5ub25jZSkpcmV0dXJuWzMsMV07bGFzdEJsb2NrTnVtYmVyXzE9YmxvY2tOdW1iZXI7cmV0dXJuWzMsOV07Y2FzZSAxOnJldHVybls0LHRoaXMuZ2V0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25IYXNoKV07Y2FzZSAyOm1pbmVkPV9hLnNlbnQoKTtpZihtaW5lZCYmbWluZWQuYmxvY2tOdW1iZXIhPW51bGwpe3JldHVyblsyXX1pZihzY2FubmVkQmxvY2tfMT09bnVsbCl7c2Nhbm5lZEJsb2NrXzE9bGFzdEJsb2NrTnVtYmVyXzEtMztpZihzY2FubmVkQmxvY2tfMTxyZXBsYWNlYWJsZS5zdGFydEJsb2NrKXtzY2FubmVkQmxvY2tfMT1yZXBsYWNlYWJsZS5zdGFydEJsb2NrfX1fYS5sYWJlbD0zO2Nhc2UgMzppZighKHNjYW5uZWRCbG9ja18xPD1ibG9ja051bWJlcikpcmV0dXJuWzMsOV07aWYoZG9uZSl7cmV0dXJuWzJdfXJldHVybls0LHRoaXMuZ2V0QmxvY2tXaXRoVHJhbnNhY3Rpb25zKHNjYW5uZWRCbG9ja18xKV07Y2FzZSA0OmJsb2NrPV9hLnNlbnQoKTt0aT0wO19hLmxhYmVsPTU7Y2FzZSA1OmlmKCEodGk8YmxvY2sudHJhbnNhY3Rpb25zLmxlbmd0aCkpcmV0dXJuWzMsOF07dHg9YmxvY2sudHJhbnNhY3Rpb25zW3RpXTtpZih0eC5oYXNoPT09dHJhbnNhY3Rpb25IYXNoKXtyZXR1cm5bMl19aWYoISh0eC5mcm9tPT09cmVwbGFjZWFibGUuZnJvbSYmdHgubm9uY2U9PT1yZXBsYWNlYWJsZS5ub25jZSkpcmV0dXJuWzMsN107aWYoZG9uZSl7cmV0dXJuWzJdfXJldHVybls0LHRoaXMud2FpdEZvclRyYW5zYWN0aW9uKHR4Lmhhc2gsY29uZmlybWF0aW9ucyldO2Nhc2UgNjpyZWNlaXB0XzE9X2Euc2VudCgpO2lmKGFscmVhZHlEb25lKCkpe3JldHVyblsyXX1yZWFzb249InJlcGxhY2VkIjtpZih0eC5kYXRhPT09cmVwbGFjZWFibGUuZGF0YSYmdHgudG89PT1yZXBsYWNlYWJsZS50byYmdHgudmFsdWUuZXEocmVwbGFjZWFibGUudmFsdWUpKXtyZWFzb249InJlcHJpY2VkIn1lbHNlIGlmKHR4LmRhdGE9PT0iMHgiJiZ0eC5mcm9tPT09dHgudG8mJnR4LnZhbHVlLmlzWmVybygpKXtyZWFzb249ImNhbmNlbGxlZCJ9cmVqZWN0KGxvZ2dlci5tYWtlRXJyb3IoInRyYW5zYWN0aW9uIHdhcyByZXBsYWNlZCIsbGliLkxvZ2dlci5lcnJvcnMuVFJBTlNBQ1RJT05fUkVQTEFDRUQse2NhbmNlbGxlZDpyZWFzb249PT0icmVwbGFjZWQifHxyZWFzb249PT0iY2FuY2VsbGVkIixyZWFzb246cmVhc29uLHJlcGxhY2VtZW50OnRoaXMuX3dyYXBUcmFuc2FjdGlvbih0eCksaGFzaDp0cmFuc2FjdGlvbkhhc2gscmVjZWlwdDpyZWNlaXB0XzF9KSk7cmV0dXJuWzJdO2Nhc2UgNzp0aSsrO3JldHVyblszLDVdO2Nhc2UgODpzY2FubmVkQmxvY2tfMSsrO3JldHVyblszLDNdO2Nhc2UgOTppZihkb25lKXtyZXR1cm5bMl19dGhpcy5vbmNlKCJibG9jayIscmVwbGFjZUhhbmRsZXJfMSk7cmV0dXJuWzJdfX0pfSl9LGZ1bmN0aW9uKGVycm9yKXtpZihkb25lKXtyZXR1cm59X3RoaXMub25jZSgiYmxvY2siLHJlcGxhY2VIYW5kbGVyXzEpfSk7cmV0dXJuWzJdfX0pfSl9O2lmKGRvbmUpe3JldHVybn1fdGhpcy5vbmNlKCJibG9jayIscmVwbGFjZUhhbmRsZXJfMSk7Y2FuY2VsRnVuY3MucHVzaChmdW5jdGlvbigpe190aGlzLnJlbW92ZUxpc3RlbmVyKCJibG9jayIscmVwbGFjZUhhbmRsZXJfMSl9KX1pZih0eXBlb2YgdGltZW91dD09PSJudW1iZXIiJiZ0aW1lb3V0PjApe3ZhciB0aW1lcl8xPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihhbHJlYWR5RG9uZSgpKXtyZXR1cm59cmVqZWN0KGxvZ2dlci5tYWtlRXJyb3IoInRpbWVvdXQgZXhjZWVkZWQiLGxpYi5Mb2dnZXIuZXJyb3JzLlRJTUVPVVQse3RpbWVvdXQ6dGltZW91dH0pKX0sdGltZW91dCk7aWYodGltZXJfMS51bnJlZil7dGltZXJfMS51bnJlZigpfWNhbmNlbEZ1bmNzLnB1c2goZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodGltZXJfMSl9KX19KV19fSl9KX07QmFzZVByb3ZpZGVyLnByb3RvdHlwZS5nZXRCbG9ja051bWJlcj1mdW5jdGlvbigpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3JldHVyblsyLHRoaXMuX2dldEludGVybmFsQmxvY2tOdW1iZXIoMCldfSl9KX07QmFzZVByb3ZpZGVyLnByb3RvdHlwZS5nZXRHYXNQcmljZT1mdW5jdGlvbigpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHJlc3VsdDtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5nZXROZXR3b3JrKCldO2Nhc2UgMTpfYS5zZW50KCk7cmV0dXJuWzQsdGhpcy5wZXJmb3JtKCJnZXRHYXNQcmljZSIse30pXTtjYXNlIDI6cmVzdWx0PV9hLnNlbnQoKTt0cnl7cmV0dXJuWzIsbGliJDIuQmlnTnVtYmVyLmZyb20ocmVzdWx0KV19Y2F0Y2goZXJyb3Ipe3JldHVyblsyLGxvZ2dlci50aHJvd0Vycm9yKCJiYWQgcmVzdWx0IGZyb20gYmFja2VuZCIsbGliLkxvZ2dlci5lcnJvcnMuU0VSVkVSX0VSUk9SLHttZXRob2Q6ImdldEdhc1ByaWNlIixyZXN1bHQ6cmVzdWx0LGVycm9yOmVycm9yfSldfXJldHVyblsyXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLmdldEJhbGFuY2U9ZnVuY3Rpb24oYWRkcmVzc09yTmFtZSxibG9ja1RhZyl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgcGFyYW1zLHJlc3VsdDtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5nZXROZXR3b3JrKCldO2Nhc2UgMTpfYS5zZW50KCk7cmV0dXJuWzQsKDAsbGliJDMucmVzb2x2ZVByb3BlcnRpZXMpKHthZGRyZXNzOnRoaXMuX2dldEFkZHJlc3MoYWRkcmVzc09yTmFtZSksYmxvY2tUYWc6dGhpcy5fZ2V0QmxvY2tUYWcoYmxvY2tUYWcpfSldO2Nhc2UgMjpwYXJhbXM9X2Euc2VudCgpO3JldHVybls0LHRoaXMucGVyZm9ybSgiZ2V0QmFsYW5jZSIscGFyYW1zKV07Y2FzZSAzOnJlc3VsdD1fYS5zZW50KCk7dHJ5e3JldHVyblsyLGxpYiQyLkJpZ051bWJlci5mcm9tKHJlc3VsdCldfWNhdGNoKGVycm9yKXtyZXR1cm5bMixsb2dnZXIudGhyb3dFcnJvcigiYmFkIHJlc3VsdCBmcm9tIGJhY2tlbmQiLGxpYi5Mb2dnZXIuZXJyb3JzLlNFUlZFUl9FUlJPUix7bWV0aG9kOiJnZXRCYWxhbmNlIixwYXJhbXM6cGFyYW1zLHJlc3VsdDpyZXN1bHQsZXJyb3I6ZXJyb3J9KV19cmV0dXJuWzJdfX0pfSl9O0Jhc2VQcm92aWRlci5wcm90b3R5cGUuZ2V0VHJhbnNhY3Rpb25Db3VudD1mdW5jdGlvbihhZGRyZXNzT3JOYW1lLGJsb2NrVGFnKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBwYXJhbXMscmVzdWx0O3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLmdldE5ldHdvcmsoKV07Y2FzZSAxOl9hLnNlbnQoKTtyZXR1cm5bNCwoMCxsaWIkMy5yZXNvbHZlUHJvcGVydGllcykoe2FkZHJlc3M6dGhpcy5fZ2V0QWRkcmVzcyhhZGRyZXNzT3JOYW1lKSxibG9ja1RhZzp0aGlzLl9nZXRCbG9ja1RhZyhibG9ja1RhZyl9KV07Y2FzZSAyOnBhcmFtcz1fYS5zZW50KCk7cmV0dXJuWzQsdGhpcy5wZXJmb3JtKCJnZXRUcmFuc2FjdGlvbkNvdW50IixwYXJhbXMpXTtjYXNlIDM6cmVzdWx0PV9hLnNlbnQoKTt0cnl7cmV0dXJuWzIsbGliJDIuQmlnTnVtYmVyLmZyb20ocmVzdWx0KS50b051bWJlcigpXX1jYXRjaChlcnJvcil7cmV0dXJuWzIsbG9nZ2VyLnRocm93RXJyb3IoImJhZCByZXN1bHQgZnJvbSBiYWNrZW5kIixsaWIuTG9nZ2VyLmVycm9ycy5TRVJWRVJfRVJST1Ise21ldGhvZDoiZ2V0VHJhbnNhY3Rpb25Db3VudCIscGFyYW1zOnBhcmFtcyxyZXN1bHQ6cmVzdWx0LGVycm9yOmVycm9yfSldfXJldHVyblsyXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLmdldENvZGU9ZnVuY3Rpb24oYWRkcmVzc09yTmFtZSxibG9ja1RhZyl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgcGFyYW1zLHJlc3VsdDtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5nZXROZXR3b3JrKCldO2Nhc2UgMTpfYS5zZW50KCk7cmV0dXJuWzQsKDAsbGliJDMucmVzb2x2ZVByb3BlcnRpZXMpKHthZGRyZXNzOnRoaXMuX2dldEFkZHJlc3MoYWRkcmVzc09yTmFtZSksYmxvY2tUYWc6dGhpcy5fZ2V0QmxvY2tUYWcoYmxvY2tUYWcpfSldO2Nhc2UgMjpwYXJhbXM9X2Euc2VudCgpO3JldHVybls0LHRoaXMucGVyZm9ybSgiZ2V0Q29kZSIscGFyYW1zKV07Y2FzZSAzOnJlc3VsdD1fYS5zZW50KCk7dHJ5e3JldHVyblsyLCgwLGxpYiQxLmhleGxpZnkpKHJlc3VsdCldfWNhdGNoKGVycm9yKXtyZXR1cm5bMixsb2dnZXIudGhyb3dFcnJvcigiYmFkIHJlc3VsdCBmcm9tIGJhY2tlbmQiLGxpYi5Mb2dnZXIuZXJyb3JzLlNFUlZFUl9FUlJPUix7bWV0aG9kOiJnZXRDb2RlIixwYXJhbXM6cGFyYW1zLHJlc3VsdDpyZXN1bHQsZXJyb3I6ZXJyb3J9KV19cmV0dXJuWzJdfX0pfSl9O0Jhc2VQcm92aWRlci5wcm90b3R5cGUuZ2V0U3RvcmFnZUF0PWZ1bmN0aW9uKGFkZHJlc3NPck5hbWUscG9zaXRpb24sYmxvY2tUYWcpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHBhcmFtcyxyZXN1bHQ7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuZ2V0TmV0d29yaygpXTtjYXNlIDE6X2Euc2VudCgpO3JldHVybls0LCgwLGxpYiQzLnJlc29sdmVQcm9wZXJ0aWVzKSh7YWRkcmVzczp0aGlzLl9nZXRBZGRyZXNzKGFkZHJlc3NPck5hbWUpLGJsb2NrVGFnOnRoaXMuX2dldEJsb2NrVGFnKGJsb2NrVGFnKSxwb3NpdGlvbjpQcm9taXNlLnJlc29sdmUocG9zaXRpb24pLnRoZW4oZnVuY3Rpb24ocCl7cmV0dXJuKDAsbGliJDEuaGV4VmFsdWUpKHApfSl9KV07Y2FzZSAyOnBhcmFtcz1fYS5zZW50KCk7cmV0dXJuWzQsdGhpcy5wZXJmb3JtKCJnZXRTdG9yYWdlQXQiLHBhcmFtcyldO2Nhc2UgMzpyZXN1bHQ9X2Euc2VudCgpO3RyeXtyZXR1cm5bMiwoMCxsaWIkMS5oZXhsaWZ5KShyZXN1bHQpXX1jYXRjaChlcnJvcil7cmV0dXJuWzIsbG9nZ2VyLnRocm93RXJyb3IoImJhZCByZXN1bHQgZnJvbSBiYWNrZW5kIixsaWIuTG9nZ2VyLmVycm9ycy5TRVJWRVJfRVJST1Ise21ldGhvZDoiZ2V0U3RvcmFnZUF0IixwYXJhbXM6cGFyYW1zLHJlc3VsdDpyZXN1bHQsZXJyb3I6ZXJyb3J9KV19cmV0dXJuWzJdfX0pfSl9O0Jhc2VQcm92aWRlci5wcm90b3R5cGUuX3dyYXBUcmFuc2FjdGlvbj1mdW5jdGlvbih0eCxoYXNoLHN0YXJ0QmxvY2spe3ZhciBfdGhpcz10aGlzO2lmKGhhc2ghPW51bGwmJigwLGxpYiQxLmhleERhdGFMZW5ndGgpKGhhc2gpIT09MzIpe3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCByZXNwb25zZSAtIHNlbmRUcmFuc2FjdGlvbiIpfXZhciByZXN1bHQ9dHg7aWYoaGFzaCE9bnVsbCYmdHguaGFzaCE9PWhhc2gpe2xvZ2dlci50aHJvd0Vycm9yKCJUcmFuc2FjdGlvbiBoYXNoIG1pc21hdGNoIGZyb20gUHJvdmlkZXIuc2VuZFRyYW5zYWN0aW9uLiIsbGliLkxvZ2dlci5lcnJvcnMuVU5LTk9XTl9FUlJPUix7ZXhwZWN0ZWRIYXNoOnR4Lmhhc2gscmV0dXJuZWRIYXNoOmhhc2h9KX1yZXN1bHQud2FpdD1mdW5jdGlvbihjb25maXJtcyx0aW1lb3V0KXtyZXR1cm4gX19hd2FpdGVyKF90aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgcmVwbGFjZW1lbnQscmVjZWlwdDtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6aWYoY29uZmlybXM9PW51bGwpe2NvbmZpcm1zPTF9aWYodGltZW91dD09bnVsbCl7dGltZW91dD0wfXJlcGxhY2VtZW50PXVuZGVmaW5lZDtpZihjb25maXJtcyE9PTAmJnN0YXJ0QmxvY2shPW51bGwpe3JlcGxhY2VtZW50PXtkYXRhOnR4LmRhdGEsZnJvbTp0eC5mcm9tLG5vbmNlOnR4Lm5vbmNlLHRvOnR4LnRvLHZhbHVlOnR4LnZhbHVlLHN0YXJ0QmxvY2s6c3RhcnRCbG9ja319cmV0dXJuWzQsdGhpcy5fd2FpdEZvclRyYW5zYWN0aW9uKHR4Lmhhc2gsY29uZmlybXMsdGltZW91dCxyZXBsYWNlbWVudCldO2Nhc2UgMTpyZWNlaXB0PV9hLnNlbnQoKTtpZihyZWNlaXB0PT1udWxsJiZjb25maXJtcz09PTApe3JldHVyblsyLG51bGxdfXRoaXMuX2VtaXR0ZWRbInQ6Iit0eC5oYXNoXT1yZWNlaXB0LmJsb2NrTnVtYmVyO2lmKHJlY2VpcHQuc3RhdHVzPT09MCl7bG9nZ2VyLnRocm93RXJyb3IoInRyYW5zYWN0aW9uIGZhaWxlZCIsbGliLkxvZ2dlci5lcnJvcnMuQ0FMTF9FWENFUFRJT04se3RyYW5zYWN0aW9uSGFzaDp0eC5oYXNoLHRyYW5zYWN0aW9uOnR4LHJlY2VpcHQ6cmVjZWlwdH0pfXJldHVyblsyLHJlY2VpcHRdfX0pfSl9O3JldHVybiByZXN1bHR9O0Jhc2VQcm92aWRlci5wcm90b3R5cGUuc2VuZFRyYW5zYWN0aW9uPWZ1bmN0aW9uKHNpZ25lZFRyYW5zYWN0aW9uKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBoZXhUeCx0eCxibG9ja051bWJlcixoYXNoLGVycm9yXzc7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuZ2V0TmV0d29yaygpXTtjYXNlIDE6X2Euc2VudCgpO3JldHVybls0LFByb21pc2UucmVzb2x2ZShzaWduZWRUcmFuc2FjdGlvbikudGhlbihmdW5jdGlvbih0KXtyZXR1cm4oMCxsaWIkMS5oZXhsaWZ5KSh0KX0pXTtjYXNlIDI6aGV4VHg9X2Euc2VudCgpO3R4PXRoaXMuZm9ybWF0dGVyLnRyYW5zYWN0aW9uKHNpZ25lZFRyYW5zYWN0aW9uKTtpZih0eC5jb25maXJtYXRpb25zPT1udWxsKXt0eC5jb25maXJtYXRpb25zPTB9cmV0dXJuWzQsdGhpcy5fZ2V0SW50ZXJuYWxCbG9ja051bWJlcigxMDArMip0aGlzLnBvbGxpbmdJbnRlcnZhbCldO2Nhc2UgMzpibG9ja051bWJlcj1fYS5zZW50KCk7X2EubGFiZWw9NDtjYXNlIDQ6X2EudHJ5cy5wdXNoKFs0LDYsLDddKTtyZXR1cm5bNCx0aGlzLnBlcmZvcm0oInNlbmRUcmFuc2FjdGlvbiIse3NpZ25lZFRyYW5zYWN0aW9uOmhleFR4fSldO2Nhc2UgNTpoYXNoPV9hLnNlbnQoKTtyZXR1cm5bMix0aGlzLl93cmFwVHJhbnNhY3Rpb24odHgsaGFzaCxibG9ja051bWJlcildO2Nhc2UgNjplcnJvcl83PV9hLnNlbnQoKTtlcnJvcl83LnRyYW5zYWN0aW9uPXR4O2Vycm9yXzcudHJhbnNhY3Rpb25IYXNoPXR4Lmhhc2g7dGhyb3cgZXJyb3JfNztjYXNlIDc6cmV0dXJuWzJdfX0pfSl9O0Jhc2VQcm92aWRlci5wcm90b3R5cGUuX2dldFRyYW5zYWN0aW9uUmVxdWVzdD1mdW5jdGlvbih0cmFuc2FjdGlvbil7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgdmFsdWVzLHR4LF9hLF9iO3ZhciBfdGhpcz10aGlzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9jKXtzd2l0Y2goX2MubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0cmFuc2FjdGlvbl07Y2FzZSAxOnZhbHVlcz1fYy5zZW50KCk7dHg9e307WyJmcm9tIiwidG8iXS5mb3JFYWNoKGZ1bmN0aW9uKGtleSl7aWYodmFsdWVzW2tleV09PW51bGwpe3JldHVybn10eFtrZXldPVByb21pc2UucmVzb2x2ZSh2YWx1ZXNba2V5XSkudGhlbihmdW5jdGlvbih2KXtyZXR1cm4gdj9fdGhpcy5fZ2V0QWRkcmVzcyh2KTpudWxsfSl9KTtbImdhc0xpbWl0IiwiZ2FzUHJpY2UiLCJtYXhGZWVQZXJHYXMiLCJtYXhQcmlvcml0eUZlZVBlckdhcyIsInZhbHVlIl0uZm9yRWFjaChmdW5jdGlvbihrZXkpe2lmKHZhbHVlc1trZXldPT1udWxsKXtyZXR1cm59dHhba2V5XT1Qcm9taXNlLnJlc29sdmUodmFsdWVzW2tleV0pLnRoZW4oZnVuY3Rpb24odil7cmV0dXJuIHY/bGliJDIuQmlnTnVtYmVyLmZyb20odik6bnVsbH0pfSk7WyJ0eXBlIl0uZm9yRWFjaChmdW5jdGlvbihrZXkpe2lmKHZhbHVlc1trZXldPT1udWxsKXtyZXR1cm59dHhba2V5XT1Qcm9taXNlLnJlc29sdmUodmFsdWVzW2tleV0pLnRoZW4oZnVuY3Rpb24odil7cmV0dXJuIHYhPW51bGw/djpudWxsfSl9KTtpZih2YWx1ZXMuYWNjZXNzTGlzdCl7dHguYWNjZXNzTGlzdD10aGlzLmZvcm1hdHRlci5hY2Nlc3NMaXN0KHZhbHVlcy5hY2Nlc3NMaXN0KX1bImRhdGEiXS5mb3JFYWNoKGZ1bmN0aW9uKGtleSl7aWYodmFsdWVzW2tleV09PW51bGwpe3JldHVybn10eFtrZXldPVByb21pc2UucmVzb2x2ZSh2YWx1ZXNba2V5XSkudGhlbihmdW5jdGlvbih2KXtyZXR1cm4gdj8oMCxsaWIkMS5oZXhsaWZ5KSh2KTpudWxsfSl9KTtfYj0oX2E9dGhpcy5mb3JtYXR0ZXIpLnRyYW5zYWN0aW9uUmVxdWVzdDtyZXR1cm5bNCwoMCxsaWIkMy5yZXNvbHZlUHJvcGVydGllcykodHgpXTtjYXNlIDI6cmV0dXJuWzIsX2IuYXBwbHkoX2EsW19jLnNlbnQoKV0pXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLl9nZXRGaWx0ZXI9ZnVuY3Rpb24oZmlsdGVyKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciByZXN1bHQsX2EsX2I7dmFyIF90aGlzPXRoaXM7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Mpe3N3aXRjaChfYy5sYWJlbCl7Y2FzZSAwOnJldHVybls0LGZpbHRlcl07Y2FzZSAxOmZpbHRlcj1fYy5zZW50KCk7cmVzdWx0PXt9O2lmKGZpbHRlci5hZGRyZXNzIT1udWxsKXtyZXN1bHQuYWRkcmVzcz10aGlzLl9nZXRBZGRyZXNzKGZpbHRlci5hZGRyZXNzKX1bImJsb2NrSGFzaCIsInRvcGljcyJdLmZvckVhY2goZnVuY3Rpb24oa2V5KXtpZihmaWx0ZXJba2V5XT09bnVsbCl7cmV0dXJufXJlc3VsdFtrZXldPWZpbHRlcltrZXldfSk7WyJmcm9tQmxvY2siLCJ0b0Jsb2NrIl0uZm9yRWFjaChmdW5jdGlvbihrZXkpe2lmKGZpbHRlcltrZXldPT1udWxsKXtyZXR1cm59cmVzdWx0W2tleV09X3RoaXMuX2dldEJsb2NrVGFnKGZpbHRlcltrZXldKX0pO19iPShfYT10aGlzLmZvcm1hdHRlcikuZmlsdGVyO3JldHVybls0LCgwLGxpYiQzLnJlc29sdmVQcm9wZXJ0aWVzKShyZXN1bHQpXTtjYXNlIDI6cmV0dXJuWzIsX2IuYXBwbHkoX2EsW19jLnNlbnQoKV0pXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLl9jYWxsPWZ1bmN0aW9uKHRyYW5zYWN0aW9uLGJsb2NrVGFnLGF0dGVtcHQpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHR4U2VuZGVyLHJlc3VsdCxkYXRhLHNlbmRlcix1cmxzLHVybHNPZmZzZXQsdXJsc0xlbmd0aCx1cmxzRGF0YSx1LHVybCxjYWxsZGF0YSxjYWxsYmFja1NlbGVjdG9yLGV4dHJhRGF0YSxjY2lwUmVzdWx0LHR4LGVycm9yXzg7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOmlmKGF0dGVtcHQ+PU1BWF9DQ0lQX1JFRElSRUNUUyl7bG9nZ2VyLnRocm93RXJyb3IoIkNDSVAgcmVhZCBleGNlZWRlZCBtYXhpbXVtIHJlZGlyZWN0aW9ucyIsbGliLkxvZ2dlci5lcnJvcnMuU0VSVkVSX0VSUk9SLHtyZWRpcmVjdHM6YXR0ZW1wdCx0cmFuc2FjdGlvbjp0cmFuc2FjdGlvbn0pfXR4U2VuZGVyPXRyYW5zYWN0aW9uLnRvO3JldHVybls0LHRoaXMucGVyZm9ybSgiY2FsbCIse3RyYW5zYWN0aW9uOnRyYW5zYWN0aW9uLGJsb2NrVGFnOmJsb2NrVGFnfSldO2Nhc2UgMTpyZXN1bHQ9X2Euc2VudCgpO2lmKCEoYXR0ZW1wdD49MCYmYmxvY2tUYWc9PT0ibGF0ZXN0IiYmdHhTZW5kZXIhPW51bGwmJnJlc3VsdC5zdWJzdHJpbmcoMCwxMCk9PT0iMHg1NTZmMTgzMCImJigwLGxpYiQxLmhleERhdGFMZW5ndGgpKHJlc3VsdCklMzI9PT00KSlyZXR1cm5bMyw1XTtfYS5sYWJlbD0yO2Nhc2UgMjpfYS50cnlzLnB1c2goWzIsNCwsNV0pO2RhdGE9KDAsbGliJDEuaGV4RGF0YVNsaWNlKShyZXN1bHQsNCk7c2VuZGVyPSgwLGxpYiQxLmhleERhdGFTbGljZSkoZGF0YSwwLDMyKTtpZighbGliJDIuQmlnTnVtYmVyLmZyb20oc2VuZGVyKS5lcSh0eFNlbmRlcikpe2xvZ2dlci50aHJvd0Vycm9yKCJDQ0lQIFJlYWQgc2VuZGVyIGRpZCBub3QgbWF0Y2giLGxpYi5Mb2dnZXIuZXJyb3JzLkNBTExfRVhDRVBUSU9OLHtuYW1lOiJPZmZjaGFpbkxvb2t1cCIsc2lnbmF0dXJlOiJPZmZjaGFpbkxvb2t1cChhZGRyZXNzLHN0cmluZ1tdLGJ5dGVzLGJ5dGVzNCxieXRlcykiLHRyYW5zYWN0aW9uOnRyYW5zYWN0aW9uLGRhdGE6cmVzdWx0fSl9dXJscz1bXTt1cmxzT2Zmc2V0PWxpYiQyLkJpZ051bWJlci5mcm9tKCgwLGxpYiQxLmhleERhdGFTbGljZSkoZGF0YSwzMiw2NCkpLnRvTnVtYmVyKCk7dXJsc0xlbmd0aD1saWIkMi5CaWdOdW1iZXIuZnJvbSgoMCxsaWIkMS5oZXhEYXRhU2xpY2UpKGRhdGEsdXJsc09mZnNldCx1cmxzT2Zmc2V0KzMyKSkudG9OdW1iZXIoKTt1cmxzRGF0YT0oMCxsaWIkMS5oZXhEYXRhU2xpY2UpKGRhdGEsdXJsc09mZnNldCszMik7Zm9yKHU9MDt1PHVybHNMZW5ndGg7dSsrKXt1cmw9X3BhcnNlU3RyaW5nKHVybHNEYXRhLHUqMzIpO2lmKHVybD09bnVsbCl7bG9nZ2VyLnRocm93RXJyb3IoIkNDSVAgUmVhZCBjb250YWluZWQgY29ycnVwdCBVUkwgc3RyaW5nIixsaWIuTG9nZ2VyLmVycm9ycy5DQUxMX0VYQ0VQVElPTix7bmFtZToiT2ZmY2hhaW5Mb29rdXAiLHNpZ25hdHVyZToiT2ZmY2hhaW5Mb29rdXAoYWRkcmVzcyxzdHJpbmdbXSxieXRlcyxieXRlczQsYnl0ZXMpIix0cmFuc2FjdGlvbjp0cmFuc2FjdGlvbixkYXRhOnJlc3VsdH0pfXVybHMucHVzaCh1cmwpfWNhbGxkYXRhPV9wYXJzZUJ5dGVzKGRhdGEsNjQpO2lmKCFsaWIkMi5CaWdOdW1iZXIuZnJvbSgoMCxsaWIkMS5oZXhEYXRhU2xpY2UpKGRhdGEsMTAwLDEyOCkpLmlzWmVybygpKXtsb2dnZXIudGhyb3dFcnJvcigiQ0NJUCBSZWFkIGNhbGxiYWNrIHNlbGVjdG9yIGluY2x1ZGVkIGp1bmsiLGxpYi5Mb2dnZXIuZXJyb3JzLkNBTExfRVhDRVBUSU9OLHtuYW1lOiJPZmZjaGFpbkxvb2t1cCIsc2lnbmF0dXJlOiJPZmZjaGFpbkxvb2t1cChhZGRyZXNzLHN0cmluZ1tdLGJ5dGVzLGJ5dGVzNCxieXRlcykiLHRyYW5zYWN0aW9uOnRyYW5zYWN0aW9uLGRhdGE6cmVzdWx0fSl9Y2FsbGJhY2tTZWxlY3Rvcj0oMCxsaWIkMS5oZXhEYXRhU2xpY2UpKGRhdGEsOTYsMTAwKTtleHRyYURhdGE9X3BhcnNlQnl0ZXMoZGF0YSwxMjgpO3JldHVybls0LHRoaXMuY2NpcFJlYWRGZXRjaCh0cmFuc2FjdGlvbixjYWxsZGF0YSx1cmxzKV07Y2FzZSAzOmNjaXBSZXN1bHQ9X2Euc2VudCgpO2lmKGNjaXBSZXN1bHQ9PW51bGwpe2xvZ2dlci50aHJvd0Vycm9yKCJDQ0lQIFJlYWQgZGlzYWJsZWQgb3IgcHJvdmlkZWQgbm8gVVJMcyIsbGliLkxvZ2dlci5lcnJvcnMuQ0FMTF9FWENFUFRJT04se25hbWU6Ik9mZmNoYWluTG9va3VwIixzaWduYXR1cmU6Ik9mZmNoYWluTG9va3VwKGFkZHJlc3Msc3RyaW5nW10sYnl0ZXMsYnl0ZXM0LGJ5dGVzKSIsdHJhbnNhY3Rpb246dHJhbnNhY3Rpb24sZGF0YTpyZXN1bHR9KX10eD17dG86dHhTZW5kZXIsZGF0YTooMCxsaWIkMS5oZXhDb25jYXQpKFtjYWxsYmFja1NlbGVjdG9yLGVuY29kZUJ5dGVzKFtjY2lwUmVzdWx0LGV4dHJhRGF0YV0pXSl9O3JldHVyblsyLHRoaXMuX2NhbGwodHgsYmxvY2tUYWcsYXR0ZW1wdCsxKV07Y2FzZSA0OmVycm9yXzg9X2Euc2VudCgpO2lmKGVycm9yXzguY29kZT09PWxpYi5Mb2dnZXIuZXJyb3JzLlNFUlZFUl9FUlJPUil7dGhyb3cgZXJyb3JfOH1yZXR1cm5bMyw1XTtjYXNlIDU6dHJ5e3JldHVyblsyLCgwLGxpYiQxLmhleGxpZnkpKHJlc3VsdCldfWNhdGNoKGVycm9yKXtyZXR1cm5bMixsb2dnZXIudGhyb3dFcnJvcigiYmFkIHJlc3VsdCBmcm9tIGJhY2tlbmQiLGxpYi5Mb2dnZXIuZXJyb3JzLlNFUlZFUl9FUlJPUix7bWV0aG9kOiJjYWxsIixwYXJhbXM6e3RyYW5zYWN0aW9uOnRyYW5zYWN0aW9uLGJsb2NrVGFnOmJsb2NrVGFnfSxyZXN1bHQ6cmVzdWx0LGVycm9yOmVycm9yfSldfXJldHVyblsyXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLmNhbGw9ZnVuY3Rpb24odHJhbnNhY3Rpb24sYmxvY2tUYWcpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHJlc29sdmVkO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLmdldE5ldHdvcmsoKV07Y2FzZSAxOl9hLnNlbnQoKTtyZXR1cm5bNCwoMCxsaWIkMy5yZXNvbHZlUHJvcGVydGllcykoe3RyYW5zYWN0aW9uOnRoaXMuX2dldFRyYW5zYWN0aW9uUmVxdWVzdCh0cmFuc2FjdGlvbiksYmxvY2tUYWc6dGhpcy5fZ2V0QmxvY2tUYWcoYmxvY2tUYWcpLGNjaXBSZWFkRW5hYmxlZDpQcm9taXNlLnJlc29sdmUodHJhbnNhY3Rpb24uY2NpcFJlYWRFbmFibGVkKX0pXTtjYXNlIDI6cmVzb2x2ZWQ9X2Euc2VudCgpO3JldHVyblsyLHRoaXMuX2NhbGwocmVzb2x2ZWQudHJhbnNhY3Rpb24scmVzb2x2ZWQuYmxvY2tUYWcscmVzb2x2ZWQuY2NpcFJlYWRFbmFibGVkPzA6LTEpXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLmVzdGltYXRlR2FzPWZ1bmN0aW9uKHRyYW5zYWN0aW9uKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBwYXJhbXMscmVzdWx0O3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLmdldE5ldHdvcmsoKV07Y2FzZSAxOl9hLnNlbnQoKTtyZXR1cm5bNCwoMCxsaWIkMy5yZXNvbHZlUHJvcGVydGllcykoe3RyYW5zYWN0aW9uOnRoaXMuX2dldFRyYW5zYWN0aW9uUmVxdWVzdCh0cmFuc2FjdGlvbil9KV07Y2FzZSAyOnBhcmFtcz1fYS5zZW50KCk7cmV0dXJuWzQsdGhpcy5wZXJmb3JtKCJlc3RpbWF0ZUdhcyIscGFyYW1zKV07Y2FzZSAzOnJlc3VsdD1fYS5zZW50KCk7dHJ5e3JldHVyblsyLGxpYiQyLkJpZ051bWJlci5mcm9tKHJlc3VsdCldfWNhdGNoKGVycm9yKXtyZXR1cm5bMixsb2dnZXIudGhyb3dFcnJvcigiYmFkIHJlc3VsdCBmcm9tIGJhY2tlbmQiLGxpYi5Mb2dnZXIuZXJyb3JzLlNFUlZFUl9FUlJPUix7bWV0aG9kOiJlc3RpbWF0ZUdhcyIscGFyYW1zOnBhcmFtcyxyZXN1bHQ6cmVzdWx0LGVycm9yOmVycm9yfSldfXJldHVyblsyXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLl9nZXRBZGRyZXNzPWZ1bmN0aW9uKGFkZHJlc3NPck5hbWUpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGFkZHJlc3M7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LGFkZHJlc3NPck5hbWVdO2Nhc2UgMTphZGRyZXNzT3JOYW1lPV9hLnNlbnQoKTtpZih0eXBlb2YgYWRkcmVzc09yTmFtZSE9PSJzdHJpbmciKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGFkZHJlc3Mgb3IgRU5TIG5hbWUiLCJuYW1lIixhZGRyZXNzT3JOYW1lKX1yZXR1cm5bNCx0aGlzLnJlc29sdmVOYW1lKGFkZHJlc3NPck5hbWUpXTtjYXNlIDI6YWRkcmVzcz1fYS5zZW50KCk7aWYoYWRkcmVzcz09bnVsbCl7bG9nZ2VyLnRocm93RXJyb3IoIkVOUyBuYW1lIG5vdCBjb25maWd1cmVkIixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoicmVzb2x2ZU5hbWUoIitKU09OLnN0cmluZ2lmeShhZGRyZXNzT3JOYW1lKSsiKSJ9KX1yZXR1cm5bMixhZGRyZXNzXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLl9nZXRCbG9jaz1mdW5jdGlvbihibG9ja0hhc2hPckJsb2NrVGFnLGluY2x1ZGVUcmFuc2FjdGlvbnMpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGJsb2NrTnVtYmVyLHBhcmFtcyxfYSxlcnJvcl85O3ZhciBfdGhpcz10aGlzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9iKXtzd2l0Y2goX2IubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLmdldE5ldHdvcmsoKV07Y2FzZSAxOl9iLnNlbnQoKTtyZXR1cm5bNCxibG9ja0hhc2hPckJsb2NrVGFnXTtjYXNlIDI6YmxvY2tIYXNoT3JCbG9ja1RhZz1fYi5zZW50KCk7YmxvY2tOdW1iZXI9LTEyODtwYXJhbXM9e2luY2x1ZGVUcmFuc2FjdGlvbnM6ISFpbmNsdWRlVHJhbnNhY3Rpb25zfTtpZighKDAsbGliJDEuaXNIZXhTdHJpbmcpKGJsb2NrSGFzaE9yQmxvY2tUYWcsMzIpKXJldHVyblszLDNdO3BhcmFtcy5ibG9ja0hhc2g9YmxvY2tIYXNoT3JCbG9ja1RhZztyZXR1cm5bMyw2XTtjYXNlIDM6X2IudHJ5cy5wdXNoKFszLDUsLDZdKTtfYT1wYXJhbXM7cmV0dXJuWzQsdGhpcy5fZ2V0QmxvY2tUYWcoYmxvY2tIYXNoT3JCbG9ja1RhZyldO2Nhc2UgNDpfYS5ibG9ja1RhZz1fYi5zZW50KCk7aWYoKDAsbGliJDEuaXNIZXhTdHJpbmcpKHBhcmFtcy5ibG9ja1RhZykpe2Jsb2NrTnVtYmVyPXBhcnNlSW50KHBhcmFtcy5ibG9ja1RhZy5zdWJzdHJpbmcoMiksMTYpfXJldHVyblszLDZdO2Nhc2UgNTplcnJvcl85PV9iLnNlbnQoKTtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIGJsb2NrIGhhc2ggb3IgYmxvY2sgdGFnIiwiYmxvY2tIYXNoT3JCbG9ja1RhZyIsYmxvY2tIYXNoT3JCbG9ja1RhZyk7cmV0dXJuWzMsNl07Y2FzZSA2OnJldHVyblsyLCgwLGxpYiRzLnBvbGwpKGZ1bmN0aW9uKCl7cmV0dXJuIF9fYXdhaXRlcihfdGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGJsb2NrLGJsb2NrTnVtYmVyXzEsaSx0eCxjb25maXJtYXRpb25zLGJsb2NrV2l0aFR4czt2YXIgX3RoaXM9dGhpcztyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5wZXJmb3JtKCJnZXRCbG9jayIscGFyYW1zKV07Y2FzZSAxOmJsb2NrPV9hLnNlbnQoKTtpZihibG9jaz09bnVsbCl7aWYocGFyYW1zLmJsb2NrSGFzaCE9bnVsbCl7aWYodGhpcy5fZW1pdHRlZFsiYjoiK3BhcmFtcy5ibG9ja0hhc2hdPT1udWxsKXtyZXR1cm5bMixudWxsXX19aWYocGFyYW1zLmJsb2NrVGFnIT1udWxsKXtpZihibG9ja051bWJlcj50aGlzLl9lbWl0dGVkLmJsb2NrKXtyZXR1cm5bMixudWxsXX19cmV0dXJuWzIsdW5kZWZpbmVkXX1pZighaW5jbHVkZVRyYW5zYWN0aW9ucylyZXR1cm5bMyw4XTtibG9ja051bWJlcl8xPW51bGw7aT0wO19hLmxhYmVsPTI7Y2FzZSAyOmlmKCEoaTxibG9jay50cmFuc2FjdGlvbnMubGVuZ3RoKSlyZXR1cm5bMyw3XTt0eD1ibG9jay50cmFuc2FjdGlvbnNbaV07aWYoISh0eC5ibG9ja051bWJlcj09bnVsbCkpcmV0dXJuWzMsM107dHguY29uZmlybWF0aW9ucz0wO3JldHVyblszLDZdO2Nhc2UgMzppZighKHR4LmNvbmZpcm1hdGlvbnM9PW51bGwpKXJldHVyblszLDZdO2lmKCEoYmxvY2tOdW1iZXJfMT09bnVsbCkpcmV0dXJuWzMsNV07cmV0dXJuWzQsdGhpcy5fZ2V0SW50ZXJuYWxCbG9ja051bWJlcigxMDArMip0aGlzLnBvbGxpbmdJbnRlcnZhbCldO2Nhc2UgNDpibG9ja051bWJlcl8xPV9hLnNlbnQoKTtfYS5sYWJlbD01O2Nhc2UgNTpjb25maXJtYXRpb25zPWJsb2NrTnVtYmVyXzEtdHguYmxvY2tOdW1iZXIrMTtpZihjb25maXJtYXRpb25zPD0wKXtjb25maXJtYXRpb25zPTF9dHguY29uZmlybWF0aW9ucz1jb25maXJtYXRpb25zO19hLmxhYmVsPTY7Y2FzZSA2OmkrKztyZXR1cm5bMywyXTtjYXNlIDc6YmxvY2tXaXRoVHhzPXRoaXMuZm9ybWF0dGVyLmJsb2NrV2l0aFRyYW5zYWN0aW9ucyhibG9jayk7YmxvY2tXaXRoVHhzLnRyYW5zYWN0aW9ucz1ibG9ja1dpdGhUeHMudHJhbnNhY3Rpb25zLm1hcChmdW5jdGlvbih0eCl7cmV0dXJuIF90aGlzLl93cmFwVHJhbnNhY3Rpb24odHgpfSk7cmV0dXJuWzIsYmxvY2tXaXRoVHhzXTtjYXNlIDg6cmV0dXJuWzIsdGhpcy5mb3JtYXR0ZXIuYmxvY2soYmxvY2spXX19KX0pfSx7b25jZVBvbGw6dGhpc30pXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLmdldEJsb2NrPWZ1bmN0aW9uKGJsb2NrSGFzaE9yQmxvY2tUYWcpe3JldHVybiB0aGlzLl9nZXRCbG9jayhibG9ja0hhc2hPckJsb2NrVGFnLGZhbHNlKX07QmFzZVByb3ZpZGVyLnByb3RvdHlwZS5nZXRCbG9ja1dpdGhUcmFuc2FjdGlvbnM9ZnVuY3Rpb24oYmxvY2tIYXNoT3JCbG9ja1RhZyl7cmV0dXJuIHRoaXMuX2dldEJsb2NrKGJsb2NrSGFzaE9yQmxvY2tUYWcsdHJ1ZSl9O0Jhc2VQcm92aWRlci5wcm90b3R5cGUuZ2V0VHJhbnNhY3Rpb249ZnVuY3Rpb24odHJhbnNhY3Rpb25IYXNoKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBwYXJhbXM7dmFyIF90aGlzPXRoaXM7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuZ2V0TmV0d29yaygpXTtjYXNlIDE6X2Euc2VudCgpO3JldHVybls0LHRyYW5zYWN0aW9uSGFzaF07Y2FzZSAyOnRyYW5zYWN0aW9uSGFzaD1fYS5zZW50KCk7cGFyYW1zPXt0cmFuc2FjdGlvbkhhc2g6dGhpcy5mb3JtYXR0ZXIuaGFzaCh0cmFuc2FjdGlvbkhhc2gsdHJ1ZSl9O3JldHVyblsyLCgwLGxpYiRzLnBvbGwpKGZ1bmN0aW9uKCl7cmV0dXJuIF9fYXdhaXRlcihfdGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHJlc3VsdCx0eCxibG9ja051bWJlcixjb25maXJtYXRpb25zO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLnBlcmZvcm0oImdldFRyYW5zYWN0aW9uIixwYXJhbXMpXTtjYXNlIDE6cmVzdWx0PV9hLnNlbnQoKTtpZihyZXN1bHQ9PW51bGwpe2lmKHRoaXMuX2VtaXR0ZWRbInQ6Iit0cmFuc2FjdGlvbkhhc2hdPT1udWxsKXtyZXR1cm5bMixudWxsXX1yZXR1cm5bMix1bmRlZmluZWRdfXR4PXRoaXMuZm9ybWF0dGVyLnRyYW5zYWN0aW9uUmVzcG9uc2UocmVzdWx0KTtpZighKHR4LmJsb2NrTnVtYmVyPT1udWxsKSlyZXR1cm5bMywyXTt0eC5jb25maXJtYXRpb25zPTA7cmV0dXJuWzMsNF07Y2FzZSAyOmlmKCEodHguY29uZmlybWF0aW9ucz09bnVsbCkpcmV0dXJuWzMsNF07cmV0dXJuWzQsdGhpcy5fZ2V0SW50ZXJuYWxCbG9ja051bWJlcigxMDArMip0aGlzLnBvbGxpbmdJbnRlcnZhbCldO2Nhc2UgMzpibG9ja051bWJlcj1fYS5zZW50KCk7Y29uZmlybWF0aW9ucz1ibG9ja051bWJlci10eC5ibG9ja051bWJlcisxO2lmKGNvbmZpcm1hdGlvbnM8PTApe2NvbmZpcm1hdGlvbnM9MX10eC5jb25maXJtYXRpb25zPWNvbmZpcm1hdGlvbnM7X2EubGFiZWw9NDtjYXNlIDQ6cmV0dXJuWzIsdGhpcy5fd3JhcFRyYW5zYWN0aW9uKHR4KV19fSl9KX0se29uY2VQb2xsOnRoaXN9KV19fSl9KX07QmFzZVByb3ZpZGVyLnByb3RvdHlwZS5nZXRUcmFuc2FjdGlvblJlY2VpcHQ9ZnVuY3Rpb24odHJhbnNhY3Rpb25IYXNoKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBwYXJhbXM7dmFyIF90aGlzPXRoaXM7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuZ2V0TmV0d29yaygpXTtjYXNlIDE6X2Euc2VudCgpO3JldHVybls0LHRyYW5zYWN0aW9uSGFzaF07Y2FzZSAyOnRyYW5zYWN0aW9uSGFzaD1fYS5zZW50KCk7cGFyYW1zPXt0cmFuc2FjdGlvbkhhc2g6dGhpcy5mb3JtYXR0ZXIuaGFzaCh0cmFuc2FjdGlvbkhhc2gsdHJ1ZSl9O3JldHVyblsyLCgwLGxpYiRzLnBvbGwpKGZ1bmN0aW9uKCl7cmV0dXJuIF9fYXdhaXRlcihfdGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHJlc3VsdCxyZWNlaXB0LGJsb2NrTnVtYmVyLGNvbmZpcm1hdGlvbnM7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMucGVyZm9ybSgiZ2V0VHJhbnNhY3Rpb25SZWNlaXB0IixwYXJhbXMpXTtjYXNlIDE6cmVzdWx0PV9hLnNlbnQoKTtpZihyZXN1bHQ9PW51bGwpe2lmKHRoaXMuX2VtaXR0ZWRbInQ6Iit0cmFuc2FjdGlvbkhhc2hdPT1udWxsKXtyZXR1cm5bMixudWxsXX1yZXR1cm5bMix1bmRlZmluZWRdfWlmKHJlc3VsdC5ibG9ja0hhc2g9PW51bGwpe3JldHVyblsyLHVuZGVmaW5lZF19cmVjZWlwdD10aGlzLmZvcm1hdHRlci5yZWNlaXB0KHJlc3VsdCk7aWYoIShyZWNlaXB0LmJsb2NrTnVtYmVyPT1udWxsKSlyZXR1cm5bMywyXTtyZWNlaXB0LmNvbmZpcm1hdGlvbnM9MDtyZXR1cm5bMyw0XTtjYXNlIDI6aWYoIShyZWNlaXB0LmNvbmZpcm1hdGlvbnM9PW51bGwpKXJldHVyblszLDRdO3JldHVybls0LHRoaXMuX2dldEludGVybmFsQmxvY2tOdW1iZXIoMTAwKzIqdGhpcy5wb2xsaW5nSW50ZXJ2YWwpXTtjYXNlIDM6YmxvY2tOdW1iZXI9X2Euc2VudCgpO2NvbmZpcm1hdGlvbnM9YmxvY2tOdW1iZXItcmVjZWlwdC5ibG9ja051bWJlcisxO2lmKGNvbmZpcm1hdGlvbnM8PTApe2NvbmZpcm1hdGlvbnM9MX1yZWNlaXB0LmNvbmZpcm1hdGlvbnM9Y29uZmlybWF0aW9ucztfYS5sYWJlbD00O2Nhc2UgNDpyZXR1cm5bMixyZWNlaXB0XX19KX0pfSx7b25jZVBvbGw6dGhpc30pXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLmdldExvZ3M9ZnVuY3Rpb24oZmlsdGVyKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBwYXJhbXMsbG9ncztyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5nZXROZXR3b3JrKCldO2Nhc2UgMTpfYS5zZW50KCk7cmV0dXJuWzQsKDAsbGliJDMucmVzb2x2ZVByb3BlcnRpZXMpKHtmaWx0ZXI6dGhpcy5fZ2V0RmlsdGVyKGZpbHRlcil9KV07Y2FzZSAyOnBhcmFtcz1fYS5zZW50KCk7cmV0dXJuWzQsdGhpcy5wZXJmb3JtKCJnZXRMb2dzIixwYXJhbXMpXTtjYXNlIDM6bG9ncz1fYS5zZW50KCk7bG9ncy5mb3JFYWNoKGZ1bmN0aW9uKGxvZyl7aWYobG9nLnJlbW92ZWQ9PW51bGwpe2xvZy5yZW1vdmVkPWZhbHNlfX0pO3JldHVyblsyLGZvcm1hdHRlci5Gb3JtYXR0ZXIuYXJyYXlPZih0aGlzLmZvcm1hdHRlci5maWx0ZXJMb2cuYmluZCh0aGlzLmZvcm1hdHRlcikpKGxvZ3MpXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLmdldEV0aGVyUHJpY2U9ZnVuY3Rpb24oKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCx0aGlzLmdldE5ldHdvcmsoKV07Y2FzZSAxOl9hLnNlbnQoKTtyZXR1cm5bMix0aGlzLnBlcmZvcm0oImdldEV0aGVyUHJpY2UiLHt9KV19fSl9KX07QmFzZVByb3ZpZGVyLnByb3RvdHlwZS5fZ2V0QmxvY2tUYWc9ZnVuY3Rpb24oYmxvY2tUYWcpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGJsb2NrTnVtYmVyO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCxibG9ja1RhZ107Y2FzZSAxOmJsb2NrVGFnPV9hLnNlbnQoKTtpZighKHR5cGVvZiBibG9ja1RhZz09PSJudW1iZXIiJiZibG9ja1RhZzwwKSlyZXR1cm5bMywzXTtpZihibG9ja1RhZyUxKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIEJsb2NrVGFnIiwiYmxvY2tUYWciLGJsb2NrVGFnKX1yZXR1cm5bNCx0aGlzLl9nZXRJbnRlcm5hbEJsb2NrTnVtYmVyKDEwMCsyKnRoaXMucG9sbGluZ0ludGVydmFsKV07Y2FzZSAyOmJsb2NrTnVtYmVyPV9hLnNlbnQoKTtibG9ja051bWJlcis9YmxvY2tUYWc7aWYoYmxvY2tOdW1iZXI8MCl7YmxvY2tOdW1iZXI9MH1yZXR1cm5bMix0aGlzLmZvcm1hdHRlci5ibG9ja1RhZyhibG9ja051bWJlcildO2Nhc2UgMzpyZXR1cm5bMix0aGlzLmZvcm1hdHRlci5ibG9ja1RhZyhibG9ja1RhZyldfX0pfSl9O0Jhc2VQcm92aWRlci5wcm90b3R5cGUuZ2V0UmVzb2x2ZXI9ZnVuY3Rpb24obmFtZSl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgY3VycmVudE5hbWUsYWRkcixyZXNvbHZlcixfYTtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYil7c3dpdGNoKF9iLmxhYmVsKXtjYXNlIDA6Y3VycmVudE5hbWU9bmFtZTtfYi5sYWJlbD0xO2Nhc2UgMTppZighdHJ1ZSlyZXR1cm5bMyw2XTtpZihjdXJyZW50TmFtZT09PSIifHxjdXJyZW50TmFtZT09PSIuIil7cmV0dXJuWzIsbnVsbF19aWYobmFtZSE9PSJldGgiJiZjdXJyZW50TmFtZT09PSJldGgiKXtyZXR1cm5bMixudWxsXX1yZXR1cm5bNCx0aGlzLl9nZXRSZXNvbHZlcihjdXJyZW50TmFtZSwiZ2V0UmVzb2x2ZXIiKV07Y2FzZSAyOmFkZHI9X2Iuc2VudCgpO2lmKCEoYWRkciE9bnVsbCkpcmV0dXJuWzMsNV07cmVzb2x2ZXI9bmV3IFJlc29sdmVyKHRoaXMsYWRkcixuYW1lKTtfYT1jdXJyZW50TmFtZSE9PW5hbWU7aWYoIV9hKXJldHVyblszLDRdO3JldHVybls0LHJlc29sdmVyLnN1cHBvcnRzV2lsZGNhcmQoKV07Y2FzZSAzOl9hPSFfYi5zZW50KCk7X2IubGFiZWw9NDtjYXNlIDQ6aWYoX2Epe3JldHVyblsyLG51bGxdfXJldHVyblsyLHJlc29sdmVyXTtjYXNlIDU6Y3VycmVudE5hbWU9Y3VycmVudE5hbWUuc3BsaXQoIi4iKS5zbGljZSgxKS5qb2luKCIuIik7cmV0dXJuWzMsMV07Y2FzZSA2OnJldHVyblsyXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLl9nZXRSZXNvbHZlcj1mdW5jdGlvbihuYW1lLG9wZXJhdGlvbil7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgbmV0d29yayxhZGRyRGF0YSxlcnJvcl8xMDtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6aWYob3BlcmF0aW9uPT1udWxsKXtvcGVyYXRpb249IkVOUyJ9cmV0dXJuWzQsdGhpcy5nZXROZXR3b3JrKCldO2Nhc2UgMTpuZXR3b3JrPV9hLnNlbnQoKTtpZighbmV0d29yay5lbnNBZGRyZXNzKXtsb2dnZXIudGhyb3dFcnJvcigibmV0d29yayBkb2VzIG5vdCBzdXBwb3J0IEVOUyIsbGliLkxvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246b3BlcmF0aW9uLG5ldHdvcms6bmV0d29yay5uYW1lfSl9X2EubGFiZWw9MjtjYXNlIDI6X2EudHJ5cy5wdXNoKFsyLDQsLDVdKTtyZXR1cm5bNCx0aGlzLmNhbGwoe3RvOm5ldHdvcmsuZW5zQWRkcmVzcyxkYXRhOiIweDAxNzhiOGJmIisoMCxsaWIkYy5uYW1laGFzaCkobmFtZSkuc3Vic3RyaW5nKDIpfSldO2Nhc2UgMzphZGRyRGF0YT1fYS5zZW50KCk7cmV0dXJuWzIsdGhpcy5mb3JtYXR0ZXIuY2FsbEFkZHJlc3MoYWRkckRhdGEpXTtjYXNlIDQ6ZXJyb3JfMTA9X2Euc2VudCgpO3JldHVyblszLDVdO2Nhc2UgNTpyZXR1cm5bMixudWxsXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLnJlc29sdmVOYW1lPWZ1bmN0aW9uKG5hbWUpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHJlc29sdmVyO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCxuYW1lXTtjYXNlIDE6bmFtZT1fYS5zZW50KCk7dHJ5e3JldHVyblsyLFByb21pc2UucmVzb2x2ZSh0aGlzLmZvcm1hdHRlci5hZGRyZXNzKG5hbWUpKV19Y2F0Y2goZXJyb3Ipe2lmKCgwLGxpYiQxLmlzSGV4U3RyaW5nKShuYW1lKSl7dGhyb3cgZXJyb3J9fWlmKHR5cGVvZiBuYW1lIT09InN0cmluZyIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgRU5TIG5hbWUiLCJuYW1lIixuYW1lKX1yZXR1cm5bNCx0aGlzLmdldFJlc29sdmVyKG5hbWUpXTtjYXNlIDI6cmVzb2x2ZXI9X2Euc2VudCgpO2lmKCFyZXNvbHZlcil7cmV0dXJuWzIsbnVsbF19cmV0dXJuWzQscmVzb2x2ZXIuZ2V0QWRkcmVzcygpXTtjYXNlIDM6cmV0dXJuWzIsX2Euc2VudCgpXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLmxvb2t1cEFkZHJlc3M9ZnVuY3Rpb24oYWRkcmVzcyl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgbm9kZSxyZXNvbHZlckFkZHIsbmFtZSxfYSxhZGRyO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9iKXtzd2l0Y2goX2IubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCxhZGRyZXNzXTtjYXNlIDE6YWRkcmVzcz1fYi5zZW50KCk7YWRkcmVzcz10aGlzLmZvcm1hdHRlci5hZGRyZXNzKGFkZHJlc3MpO25vZGU9YWRkcmVzcy5zdWJzdHJpbmcoMikudG9Mb3dlckNhc2UoKSsiLmFkZHIucmV2ZXJzZSI7cmV0dXJuWzQsdGhpcy5fZ2V0UmVzb2x2ZXIobm9kZSwibG9va3VwQWRkcmVzcyIpXTtjYXNlIDI6cmVzb2x2ZXJBZGRyPV9iLnNlbnQoKTtpZihyZXNvbHZlckFkZHI9PW51bGwpe3JldHVyblsyLG51bGxdfV9hPV9wYXJzZVN0cmluZztyZXR1cm5bNCx0aGlzLmNhbGwoe3RvOnJlc29sdmVyQWRkcixkYXRhOiIweDY5MWYzNDMxIisoMCxsaWIkYy5uYW1laGFzaCkobm9kZSkuc3Vic3RyaW5nKDIpfSldO2Nhc2UgMzpuYW1lPV9hLmFwcGx5KHZvaWQgMCxbX2Iuc2VudCgpLDBdKTtyZXR1cm5bNCx0aGlzLnJlc29sdmVOYW1lKG5hbWUpXTtjYXNlIDQ6YWRkcj1fYi5zZW50KCk7aWYoYWRkciE9YWRkcmVzcyl7cmV0dXJuWzIsbnVsbF19cmV0dXJuWzIsbmFtZV19fSl9KX07QmFzZVByb3ZpZGVyLnByb3RvdHlwZS5nZXRBdmF0YXI9ZnVuY3Rpb24obmFtZU9yQWRkcmVzcyl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgcmVzb2x2ZXIsYWRkcmVzcyxub2RlLHJlc29sdmVyQWRkcmVzcyxhdmF0YXJfMSxlcnJvcl8xMSxuYW1lXzEsX2EsZXJyb3JfMTIsYXZhdGFyO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9iKXtzd2l0Y2goX2IubGFiZWwpe2Nhc2UgMDpyZXNvbHZlcj1udWxsO2lmKCEoMCxsaWIkMS5pc0hleFN0cmluZykobmFtZU9yQWRkcmVzcykpcmV0dXJuWzMsMTBdO2FkZHJlc3M9dGhpcy5mb3JtYXR0ZXIuYWRkcmVzcyhuYW1lT3JBZGRyZXNzKTtub2RlPWFkZHJlc3Muc3Vic3RyaW5nKDIpLnRvTG93ZXJDYXNlKCkrIi5hZGRyLnJldmVyc2UiO3JldHVybls0LHRoaXMuX2dldFJlc29sdmVyKG5vZGUsImdldEF2YXRhciIpXTtjYXNlIDE6cmVzb2x2ZXJBZGRyZXNzPV9iLnNlbnQoKTtpZighcmVzb2x2ZXJBZGRyZXNzKXtyZXR1cm5bMixudWxsXX1yZXNvbHZlcj1uZXcgUmVzb2x2ZXIodGhpcyxyZXNvbHZlckFkZHJlc3Msbm9kZSk7X2IubGFiZWw9MjtjYXNlIDI6X2IudHJ5cy5wdXNoKFsyLDQsLDVdKTtyZXR1cm5bNCxyZXNvbHZlci5nZXRBdmF0YXIoKV07Y2FzZSAzOmF2YXRhcl8xPV9iLnNlbnQoKTtpZihhdmF0YXJfMSl7cmV0dXJuWzIsYXZhdGFyXzEudXJsXX1yZXR1cm5bMyw1XTtjYXNlIDQ6ZXJyb3JfMTE9X2Iuc2VudCgpO2lmKGVycm9yXzExLmNvZGUhPT1saWIuTG9nZ2VyLmVycm9ycy5DQUxMX0VYQ0VQVElPTil7dGhyb3cgZXJyb3JfMTF9cmV0dXJuWzMsNV07Y2FzZSA1Ol9iLnRyeXMucHVzaChbNSw4LCw5XSk7X2E9X3BhcnNlU3RyaW5nO3JldHVybls0LHRoaXMuY2FsbCh7dG86cmVzb2x2ZXJBZGRyZXNzLGRhdGE6IjB4NjkxZjM0MzEiKygwLGxpYiRjLm5hbWVoYXNoKShub2RlKS5zdWJzdHJpbmcoMil9KV07Y2FzZSA2Om5hbWVfMT1fYS5hcHBseSh2b2lkIDAsW19iLnNlbnQoKSwwXSk7cmV0dXJuWzQsdGhpcy5nZXRSZXNvbHZlcihuYW1lXzEpXTtjYXNlIDc6cmVzb2x2ZXI9X2Iuc2VudCgpO3JldHVyblszLDldO2Nhc2UgODplcnJvcl8xMj1fYi5zZW50KCk7aWYoZXJyb3JfMTIuY29kZSE9PWxpYi5Mb2dnZXIuZXJyb3JzLkNBTExfRVhDRVBUSU9OKXt0aHJvdyBlcnJvcl8xMn1yZXR1cm5bMixudWxsXTtjYXNlIDk6cmV0dXJuWzMsMTJdO2Nhc2UgMTA6cmV0dXJuWzQsdGhpcy5nZXRSZXNvbHZlcihuYW1lT3JBZGRyZXNzKV07Y2FzZSAxMTpyZXNvbHZlcj1fYi5zZW50KCk7aWYoIXJlc29sdmVyKXtyZXR1cm5bMixudWxsXX1fYi5sYWJlbD0xMjtjYXNlIDEyOnJldHVybls0LHJlc29sdmVyLmdldEF2YXRhcigpXTtjYXNlIDEzOmF2YXRhcj1fYi5zZW50KCk7aWYoYXZhdGFyPT1udWxsKXtyZXR1cm5bMixudWxsXX1yZXR1cm5bMixhdmF0YXIudXJsXX19KX0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLnBlcmZvcm09ZnVuY3Rpb24obWV0aG9kLHBhcmFtcyl7cmV0dXJuIGxvZ2dlci50aHJvd0Vycm9yKG1ldGhvZCsiIG5vdCBpbXBsZW1lbnRlZCIsbGliLkxvZ2dlci5lcnJvcnMuTk9UX0lNUExFTUVOVEVELHtvcGVyYXRpb246bWV0aG9kfSl9O0Jhc2VQcm92aWRlci5wcm90b3R5cGUuX3N0YXJ0RXZlbnQ9ZnVuY3Rpb24oZXZlbnQpe3RoaXMucG9sbGluZz10aGlzLl9ldmVudHMuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLnBvbGxhYmxlKCl9KS5sZW5ndGg+MH07QmFzZVByb3ZpZGVyLnByb3RvdHlwZS5fc3RvcEV2ZW50PWZ1bmN0aW9uKGV2ZW50KXt0aGlzLnBvbGxpbmc9dGhpcy5fZXZlbnRzLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZS5wb2xsYWJsZSgpfSkubGVuZ3RoPjB9O0Jhc2VQcm92aWRlci5wcm90b3R5cGUuX2FkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oZXZlbnROYW1lLGxpc3RlbmVyLG9uY2Upe3ZhciBldmVudD1uZXcgRXZlbnQoZ2V0RXZlbnRUYWcoZXZlbnROYW1lKSxsaXN0ZW5lcixvbmNlKTt0aGlzLl9ldmVudHMucHVzaChldmVudCk7dGhpcy5fc3RhcnRFdmVudChldmVudCk7cmV0dXJuIHRoaXN9O0Jhc2VQcm92aWRlci5wcm90b3R5cGUub249ZnVuY3Rpb24oZXZlbnROYW1lLGxpc3RlbmVyKXtyZXR1cm4gdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsbGlzdGVuZXIsZmFsc2UpfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZXZlbnROYW1lLGxpc3RlbmVyKXtyZXR1cm4gdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsbGlzdGVuZXIsdHJ1ZSl9O0Jhc2VQcm92aWRlci5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbihldmVudE5hbWUpe3ZhciBfdGhpcz10aGlzO3ZhciBhcmdzPVtdO2Zvcih2YXIgX2k9MTtfaTxhcmd1bWVudHMubGVuZ3RoO19pKyspe2FyZ3NbX2ktMV09YXJndW1lbnRzW19pXX12YXIgcmVzdWx0PWZhbHNlO3ZhciBzdG9wcGVkPVtdO3ZhciBldmVudFRhZz1nZXRFdmVudFRhZyhldmVudE5hbWUpO3RoaXMuX2V2ZW50cz10aGlzLl9ldmVudHMuZmlsdGVyKGZ1bmN0aW9uKGV2ZW50KXtpZihldmVudC50YWchPT1ldmVudFRhZyl7cmV0dXJuIHRydWV9c2V0VGltZW91dChmdW5jdGlvbigpe2V2ZW50Lmxpc3RlbmVyLmFwcGx5KF90aGlzLGFyZ3MpfSwwKTtyZXN1bHQ9dHJ1ZTtpZihldmVudC5vbmNlKXtzdG9wcGVkLnB1c2goZXZlbnQpO3JldHVybiBmYWxzZX1yZXR1cm4gdHJ1ZX0pO3N0b3BwZWQuZm9yRWFjaChmdW5jdGlvbihldmVudCl7X3RoaXMuX3N0b3BFdmVudChldmVudCl9KTtyZXR1cm4gcmVzdWx0fTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLmxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24oZXZlbnROYW1lKXtpZighZXZlbnROYW1lKXtyZXR1cm4gdGhpcy5fZXZlbnRzLmxlbmd0aH12YXIgZXZlbnRUYWc9Z2V0RXZlbnRUYWcoZXZlbnROYW1lKTtyZXR1cm4gdGhpcy5fZXZlbnRzLmZpbHRlcihmdW5jdGlvbihldmVudCl7cmV0dXJuIGV2ZW50LnRhZz09PWV2ZW50VGFnfSkubGVuZ3RofTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihldmVudE5hbWUpe2lmKGV2ZW50TmFtZT09bnVsbCl7cmV0dXJuIHRoaXMuX2V2ZW50cy5tYXAoZnVuY3Rpb24oZXZlbnQpe3JldHVybiBldmVudC5saXN0ZW5lcn0pfXZhciBldmVudFRhZz1nZXRFdmVudFRhZyhldmVudE5hbWUpO3JldHVybiB0aGlzLl9ldmVudHMuZmlsdGVyKGZ1bmN0aW9uKGV2ZW50KXtyZXR1cm4gZXZlbnQudGFnPT09ZXZlbnRUYWd9KS5tYXAoZnVuY3Rpb24oZXZlbnQpe3JldHVybiBldmVudC5saXN0ZW5lcn0pfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLm9mZj1mdW5jdGlvbihldmVudE5hbWUsbGlzdGVuZXIpe3ZhciBfdGhpcz10aGlzO2lmKGxpc3RlbmVyPT1udWxsKXtyZXR1cm4gdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoZXZlbnROYW1lKX12YXIgc3RvcHBlZD1bXTt2YXIgZm91bmQ9ZmFsc2U7dmFyIGV2ZW50VGFnPWdldEV2ZW50VGFnKGV2ZW50TmFtZSk7dGhpcy5fZXZlbnRzPXRoaXMuX2V2ZW50cy5maWx0ZXIoZnVuY3Rpb24oZXZlbnQpe2lmKGV2ZW50LnRhZyE9PWV2ZW50VGFnfHxldmVudC5saXN0ZW5lciE9bGlzdGVuZXIpe3JldHVybiB0cnVlfWlmKGZvdW5kKXtyZXR1cm4gdHJ1ZX1mb3VuZD10cnVlO3N0b3BwZWQucHVzaChldmVudCk7cmV0dXJuIGZhbHNlfSk7c3RvcHBlZC5mb3JFYWNoKGZ1bmN0aW9uKGV2ZW50KXtfdGhpcy5fc3RvcEV2ZW50KGV2ZW50KX0pO3JldHVybiB0aGlzfTtCYXNlUHJvdmlkZXIucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbihldmVudE5hbWUpe3ZhciBfdGhpcz10aGlzO3ZhciBzdG9wcGVkPVtdO2lmKGV2ZW50TmFtZT09bnVsbCl7c3RvcHBlZD10aGlzLl9ldmVudHM7dGhpcy5fZXZlbnRzPVtdfWVsc2V7dmFyIGV2ZW50VGFnXzE9Z2V0RXZlbnRUYWcoZXZlbnROYW1lKTt0aGlzLl9ldmVudHM9dGhpcy5fZXZlbnRzLmZpbHRlcihmdW5jdGlvbihldmVudCl7aWYoZXZlbnQudGFnIT09ZXZlbnRUYWdfMSl7cmV0dXJuIHRydWV9c3RvcHBlZC5wdXNoKGV2ZW50KTtyZXR1cm4gZmFsc2V9KX1zdG9wcGVkLmZvckVhY2goZnVuY3Rpb24oZXZlbnQpe190aGlzLl9zdG9wRXZlbnQoZXZlbnQpfSk7cmV0dXJuIHRoaXN9O3JldHVybiBCYXNlUHJvdmlkZXJ9KGxpYiRlLlByb3ZpZGVyKTtleHBvcnRzLkJhc2VQcm92aWRlcj1CYXNlUHJvdmlkZXJ9KTt2YXIgYmFzZVByb3ZpZGVyJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoYmFzZVByb3ZpZGVyKTt2YXIganNvblJwY1Byb3ZpZGVyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO3ZhciBfX2F3YWl0ZXI9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fYXdhaXRlcnx8ZnVuY3Rpb24odGhpc0FyZyxfYXJndW1lbnRzLFAsZ2VuZXJhdG9yKXtmdW5jdGlvbiBhZG9wdCh2YWx1ZSl7cmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUD92YWx1ZTpuZXcgUChmdW5jdGlvbihyZXNvbHZlKXtyZXNvbHZlKHZhbHVlKX0pfXJldHVybiBuZXcoUHx8KFA9UHJvbWlzZSkpKGZ1bmN0aW9uKHJlc29sdmUscmVqZWN0KXtmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpe3RyeXtzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSl9Y2F0Y2goZSl7cmVqZWN0KGUpfX1mdW5jdGlvbiByZWplY3RlZCh2YWx1ZSl7dHJ5e3N0ZXAoZ2VuZXJhdG9yWyJ0aHJvdyJdKHZhbHVlKSl9Y2F0Y2goZSl7cmVqZWN0KGUpfX1mdW5jdGlvbiBzdGVwKHJlc3VsdCl7cmVzdWx0LmRvbmU/cmVzb2x2ZShyZXN1bHQudmFsdWUpOmFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQscmVqZWN0ZWQpfXN0ZXAoKGdlbmVyYXRvcj1nZW5lcmF0b3IuYXBwbHkodGhpc0FyZyxfYXJndW1lbnRzfHxbXSkpLm5leHQoKSl9KX07dmFyIF9fZ2VuZXJhdG9yPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24odGhpc0FyZyxib2R5KXt2YXIgXz17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYodFswXSYxKXRocm93IHRbMV07cmV0dXJuIHRbMV19LHRyeXM6W10sb3BzOltdfSxmLHksdCxnO3JldHVybiBnPXtuZXh0OnZlcmIoMCksdGhyb3c6dmVyYigxKSxyZXR1cm46dmVyYigyKX0sdHlwZW9mIFN5bWJvbD09PSJmdW5jdGlvbiImJihnW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGc7ZnVuY3Rpb24gdmVyYihuKXtyZXR1cm4gZnVuY3Rpb24odil7cmV0dXJuIHN0ZXAoW24sdl0pfX1mdW5jdGlvbiBzdGVwKG9wKXtpZihmKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTt3aGlsZShfKXRyeXtpZihmPTEseSYmKHQ9b3BbMF0mMj95WyJyZXR1cm4iXTpvcFswXT95WyJ0aHJvdyJdfHwoKHQ9eVsicmV0dXJuIl0pJiZ0LmNhbGwoeSksMCk6eS5uZXh0KSYmISh0PXQuY2FsbCh5LG9wWzFdKSkuZG9uZSlyZXR1cm4gdDtpZih5PTAsdClvcD1bb3BbMF0mMix0LnZhbHVlXTtzd2l0Y2gob3BbMF0pe2Nhc2UgMDpjYXNlIDE6dD1vcDticmVhaztjYXNlIDQ6Xy5sYWJlbCsrO3JldHVybnt2YWx1ZTpvcFsxXSxkb25lOmZhbHNlfTtjYXNlIDU6Xy5sYWJlbCsrO3k9b3BbMV07b3A9WzBdO2NvbnRpbnVlO2Nhc2UgNzpvcD1fLm9wcy5wb3AoKTtfLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKHQ9Xy50cnlzLHQ9dC5sZW5ndGg+MCYmdFt0Lmxlbmd0aC0xXSkmJihvcFswXT09PTZ8fG9wWzBdPT09Mikpe189MDtjb250aW51ZX1pZihvcFswXT09PTMmJighdHx8b3BbMV0+dFswXSYmb3BbMV08dFszXSkpe18ubGFiZWw9b3BbMV07YnJlYWt9aWYob3BbMF09PT02JiZfLmxhYmVsPHRbMV0pe18ubGFiZWw9dFsxXTt0PW9wO2JyZWFrfWlmKHQmJl8ubGFiZWw8dFsyXSl7Xy5sYWJlbD10WzJdO18ub3BzLnB1c2gob3ApO2JyZWFrfWlmKHRbMl0pXy5vcHMucG9wKCk7Xy50cnlzLnBvcCgpO2NvbnRpbnVlfW9wPWJvZHkuY2FsbCh0aGlzQXJnLF8pfWNhdGNoKGUpe29wPVs2LGVdO3k9MH1maW5hbGx5e2Y9dD0wfWlmKG9wWzBdJjUpdGhyb3cgb3BbMV07cmV0dXJue3ZhbHVlOm9wWzBdP29wWzFdOnZvaWQgMCxkb25lOnRydWV9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5Kc29uUnBjUHJvdmlkZXI9ZXhwb3J0cy5Kc29uUnBjU2lnbmVyPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJEkudmVyc2lvbik7dmFyIGVycm9yR2FzPVsiY2FsbCIsImVzdGltYXRlR2FzIl07ZnVuY3Rpb24gc3BlbHVuayh2YWx1ZSxyZXF1aXJlRGF0YSl7aWYodmFsdWU9PW51bGwpe3JldHVybiBudWxsfWlmKHR5cGVvZiB2YWx1ZS5tZXNzYWdlPT09InN0cmluZyImJnZhbHVlLm1lc3NhZ2UubWF0Y2goInJldmVydGVkIikpe3ZhciBkYXRhPSgwLGxpYiQxLmlzSGV4U3RyaW5nKSh2YWx1ZS5kYXRhKT92YWx1ZS5kYXRhOm51bGw7aWYoIXJlcXVpcmVEYXRhfHxkYXRhKXtyZXR1cm57bWVzc2FnZTp2YWx1ZS5tZXNzYWdlLGRhdGE6ZGF0YX19fWlmKHR5cGVvZiB2YWx1ZT09PSJvYmplY3QiKXtmb3IodmFyIGtleSBpbiB2YWx1ZSl7dmFyIHJlc3VsdD1zcGVsdW5rKHZhbHVlW2tleV0scmVxdWlyZURhdGEpO2lmKHJlc3VsdCl7cmV0dXJuIHJlc3VsdH19cmV0dXJuIG51bGx9aWYodHlwZW9mIHZhbHVlPT09InN0cmluZyIpe3RyeXtyZXR1cm4gc3BlbHVuayhKU09OLnBhcnNlKHZhbHVlKSxyZXF1aXJlRGF0YSl9Y2F0Y2goZXJyb3Ipe319cmV0dXJuIG51bGx9ZnVuY3Rpb24gY2hlY2tFcnJvcihtZXRob2QsZXJyb3IscGFyYW1zKXt2YXIgdHJhbnNhY3Rpb249cGFyYW1zLnRyYW5zYWN0aW9ufHxwYXJhbXMuc2lnbmVkVHJhbnNhY3Rpb247aWYobWV0aG9kPT09ImNhbGwiKXt2YXIgcmVzdWx0PXNwZWx1bmsoZXJyb3IsdHJ1ZSk7aWYocmVzdWx0KXtyZXR1cm4gcmVzdWx0LmRhdGF9bG9nZ2VyLnRocm93RXJyb3IoIm1pc3NpbmcgcmV2ZXJ0IGRhdGEgaW4gY2FsbCBleGNlcHRpb247IFRyYW5zYWN0aW9uIHJldmVydGVkIHdpdGhvdXQgYSByZWFzb24gc3RyaW5nIixsaWIuTG9nZ2VyLmVycm9ycy5DQUxMX0VYQ0VQVElPTix7ZGF0YToiMHgiLHRyYW5zYWN0aW9uOnRyYW5zYWN0aW9uLGVycm9yOmVycm9yfSl9aWYobWV0aG9kPT09ImVzdGltYXRlR2FzIil7dmFyIHJlc3VsdD1zcGVsdW5rKGVycm9yLmJvZHksZmFsc2UpO2lmKHJlc3VsdD09bnVsbCl7cmVzdWx0PXNwZWx1bmsoZXJyb3IsZmFsc2UpfWlmKHJlc3VsdCl7bG9nZ2VyLnRocm93RXJyb3IoImNhbm5vdCBlc3RpbWF0ZSBnYXM7IHRyYW5zYWN0aW9uIG1heSBmYWlsIG9yIG1heSByZXF1aXJlIG1hbnVhbCBnYXMgbGltaXQiLGxpYi5Mb2dnZXIuZXJyb3JzLlVOUFJFRElDVEFCTEVfR0FTX0xJTUlULHtyZWFzb246cmVzdWx0Lm1lc3NhZ2UsbWV0aG9kOm1ldGhvZCx0cmFuc2FjdGlvbjp0cmFuc2FjdGlvbixlcnJvcjplcnJvcn0pfX12YXIgbWVzc2FnZT1lcnJvci5tZXNzYWdlO2lmKGVycm9yLmNvZGU9PT1saWIuTG9nZ2VyLmVycm9ycy5TRVJWRVJfRVJST1ImJmVycm9yLmVycm9yJiZ0eXBlb2YgZXJyb3IuZXJyb3IubWVzc2FnZT09PSJzdHJpbmciKXttZXNzYWdlPWVycm9yLmVycm9yLm1lc3NhZ2V9ZWxzZSBpZih0eXBlb2YgZXJyb3IuYm9keT09PSJzdHJpbmciKXttZXNzYWdlPWVycm9yLmJvZHl9ZWxzZSBpZih0eXBlb2YgZXJyb3IucmVzcG9uc2VUZXh0PT09InN0cmluZyIpe21lc3NhZ2U9ZXJyb3IucmVzcG9uc2VUZXh0fW1lc3NhZ2U9KG1lc3NhZ2V8fCIiKS50b0xvd2VyQ2FzZSgpO2lmKG1lc3NhZ2UubWF0Y2goL2luc3VmZmljaWVudCBmdW5kc3xiYXNlIGZlZSBleGNlZWRzIGdhcyBsaW1pdHxJbnN1ZmZpY2llbnRGdW5kcy9pKSl7bG9nZ2VyLnRocm93RXJyb3IoImluc3VmZmljaWVudCBmdW5kcyBmb3IgaW50cmluc2ljIHRyYW5zYWN0aW9uIGNvc3QiLGxpYi5Mb2dnZXIuZXJyb3JzLklOU1VGRklDSUVOVF9GVU5EUyx7ZXJyb3I6ZXJyb3IsbWV0aG9kOm1ldGhvZCx0cmFuc2FjdGlvbjp0cmFuc2FjdGlvbn0pfWlmKG1lc3NhZ2UubWF0Y2goL25vbmNlIChpcyApP3RvbyBsb3cvaSkpe2xvZ2dlci50aHJvd0Vycm9yKCJub25jZSBoYXMgYWxyZWFkeSBiZWVuIHVzZWQiLGxpYi5Mb2dnZXIuZXJyb3JzLk5PTkNFX0VYUElSRUQse2Vycm9yOmVycm9yLG1ldGhvZDptZXRob2QsdHJhbnNhY3Rpb246dHJhbnNhY3Rpb259KX1pZihtZXNzYWdlLm1hdGNoKC9yZXBsYWNlbWVudCB0cmFuc2FjdGlvbiB1bmRlcnByaWNlZHx0cmFuc2FjdGlvbiBnYXMgcHJpY2UuKnRvbyBsb3cvaSkpe2xvZ2dlci50aHJvd0Vycm9yKCJyZXBsYWNlbWVudCBmZWUgdG9vIGxvdyIsbGliLkxvZ2dlci5lcnJvcnMuUkVQTEFDRU1FTlRfVU5ERVJQUklDRUQse2Vycm9yOmVycm9yLG1ldGhvZDptZXRob2QsdHJhbnNhY3Rpb246dHJhbnNhY3Rpb259KX1pZihtZXNzYWdlLm1hdGNoKC9vbmx5IHJlcGxheS1wcm90ZWN0ZWQvaSkpe2xvZ2dlci50aHJvd0Vycm9yKCJsZWdhY3kgcHJlLWVpcC0xNTUgdHJhbnNhY3Rpb25zIG5vdCBzdXBwb3J0ZWQiLGxpYi5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7ZXJyb3I6ZXJyb3IsbWV0aG9kOm1ldGhvZCx0cmFuc2FjdGlvbjp0cmFuc2FjdGlvbn0pfWlmKGVycm9yR2FzLmluZGV4T2YobWV0aG9kKT49MCYmbWVzc2FnZS5tYXRjaCgvZ2FzIHJlcXVpcmVkIGV4Y2VlZHMgYWxsb3dhbmNlfGFsd2F5cyBmYWlsaW5nIHRyYW5zYWN0aW9ufGV4ZWN1dGlvbiByZXZlcnRlZHxyZXZlcnQvKSl7bG9nZ2VyLnRocm93RXJyb3IoImNhbm5vdCBlc3RpbWF0ZSBnYXM7IHRyYW5zYWN0aW9uIG1heSBmYWlsIG9yIG1heSByZXF1aXJlIG1hbnVhbCBnYXMgbGltaXQiLGxpYi5Mb2dnZXIuZXJyb3JzLlVOUFJFRElDVEFCTEVfR0FTX0xJTUlULHtlcnJvcjplcnJvcixtZXRob2Q6bWV0aG9kLHRyYW5zYWN0aW9uOnRyYW5zYWN0aW9ufSl9dGhyb3cgZXJyb3J9ZnVuY3Rpb24gdGltZXIodGltZW91dCl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpe3NldFRpbWVvdXQocmVzb2x2ZSx0aW1lb3V0KX0pfWZ1bmN0aW9uIGdldFJlc3VsdChwYXlsb2FkKXtpZihwYXlsb2FkLmVycm9yKXt2YXIgZXJyb3I9bmV3IEVycm9yKHBheWxvYWQuZXJyb3IubWVzc2FnZSk7ZXJyb3IuY29kZT1wYXlsb2FkLmVycm9yLmNvZGU7ZXJyb3IuZGF0YT1wYXlsb2FkLmVycm9yLmRhdGE7dGhyb3cgZXJyb3J9cmV0dXJuIHBheWxvYWQucmVzdWx0fWZ1bmN0aW9uIGdldExvd2VyQ2FzZSh2YWx1ZSl7aWYodmFsdWUpe3JldHVybiB2YWx1ZS50b0xvd2VyQ2FzZSgpfXJldHVybiB2YWx1ZX12YXIgX2NvbnN0cnVjdG9yR3VhcmQ9e307dmFyIEpzb25ScGNTaWduZXI9ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoSnNvblJwY1NpZ25lcixfc3VwZXIpO2Z1bmN0aW9uIEpzb25ScGNTaWduZXIoY29uc3RydWN0b3JHdWFyZCxwcm92aWRlcixhZGRyZXNzT3JJbmRleCl7dmFyIF90aGlzPV9zdXBlci5jYWxsKHRoaXMpfHx0aGlzO2lmKGNvbnN0cnVjdG9yR3VhcmQhPT1fY29uc3RydWN0b3JHdWFyZCl7dGhyb3cgbmV3IEVycm9yKCJkbyBub3QgY2FsbCB0aGUgSnNvblJwY1NpZ25lciBjb25zdHJ1Y3RvciBkaXJlY3RseTsgdXNlIHByb3ZpZGVyLmdldFNpZ25lciIpfSgwLGxpYiQzLmRlZmluZVJlYWRPbmx5KShfdGhpcywicHJvdmlkZXIiLHByb3ZpZGVyKTtpZihhZGRyZXNzT3JJbmRleD09bnVsbCl7YWRkcmVzc09ySW5kZXg9MH1pZih0eXBlb2YgYWRkcmVzc09ySW5kZXg9PT0ic3RyaW5nIil7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJfYWRkcmVzcyIsX3RoaXMucHJvdmlkZXIuZm9ybWF0dGVyLmFkZHJlc3MoYWRkcmVzc09ySW5kZXgpKTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsIl9pbmRleCIsbnVsbCl9ZWxzZSBpZih0eXBlb2YgYWRkcmVzc09ySW5kZXg9PT0ibnVtYmVyIil7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJfaW5kZXgiLGFkZHJlc3NPckluZGV4KTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsIl9hZGRyZXNzIixudWxsKX1lbHNle2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgYWRkcmVzcyBvciBpbmRleCIsImFkZHJlc3NPckluZGV4IixhZGRyZXNzT3JJbmRleCl9cmV0dXJuIF90aGlzfUpzb25ScGNTaWduZXIucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24ocHJvdmlkZXIpe3JldHVybiBsb2dnZXIudGhyb3dFcnJvcigiY2Fubm90IGFsdGVyIEpTT04tUlBDIFNpZ25lciBjb25uZWN0aW9uIixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoiY29ubmVjdCJ9KX07SnNvblJwY1NpZ25lci5wcm90b3R5cGUuY29ubmVjdFVuY2hlY2tlZD1mdW5jdGlvbigpe3JldHVybiBuZXcgVW5jaGVja2VkSnNvblJwY1NpZ25lcihfY29uc3RydWN0b3JHdWFyZCx0aGlzLnByb3ZpZGVyLHRoaXMuX2FkZHJlc3N8fHRoaXMuX2luZGV4KX07SnNvblJwY1NpZ25lci5wcm90b3R5cGUuZ2V0QWRkcmVzcz1mdW5jdGlvbigpe3ZhciBfdGhpcz10aGlzO2lmKHRoaXMuX2FkZHJlc3Mpe3JldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fYWRkcmVzcyl9cmV0dXJuIHRoaXMucHJvdmlkZXIuc2VuZCgiZXRoX2FjY291bnRzIixbXSkudGhlbihmdW5jdGlvbihhY2NvdW50cyl7aWYoYWNjb3VudHMubGVuZ3RoPD1fdGhpcy5faW5kZXgpe2xvZ2dlci50aHJvd0Vycm9yKCJ1bmtub3duIGFjY291bnQgIyIrX3RoaXMuX2luZGV4LGxpYi5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7b3BlcmF0aW9uOiJnZXRBZGRyZXNzIn0pfXJldHVybiBfdGhpcy5wcm92aWRlci5mb3JtYXR0ZXIuYWRkcmVzcyhhY2NvdW50c1tfdGhpcy5faW5kZXhdKX0pfTtKc29uUnBjU2lnbmVyLnByb3RvdHlwZS5zZW5kVW5jaGVja2VkVHJhbnNhY3Rpb249ZnVuY3Rpb24odHJhbnNhY3Rpb24pe3ZhciBfdGhpcz10aGlzO3RyYW5zYWN0aW9uPSgwLGxpYiQzLnNoYWxsb3dDb3B5KSh0cmFuc2FjdGlvbik7dmFyIGZyb21BZGRyZXNzPXRoaXMuZ2V0QWRkcmVzcygpLnRoZW4oZnVuY3Rpb24oYWRkcmVzcyl7aWYoYWRkcmVzcyl7YWRkcmVzcz1hZGRyZXNzLnRvTG93ZXJDYXNlKCl9cmV0dXJuIGFkZHJlc3N9KTtpZih0cmFuc2FjdGlvbi5nYXNMaW1pdD09bnVsbCl7dmFyIGVzdGltYXRlPSgwLGxpYiQzLnNoYWxsb3dDb3B5KSh0cmFuc2FjdGlvbik7ZXN0aW1hdGUuZnJvbT1mcm9tQWRkcmVzczt0cmFuc2FjdGlvbi5nYXNMaW1pdD10aGlzLnByb3ZpZGVyLmVzdGltYXRlR2FzKGVzdGltYXRlKX1pZih0cmFuc2FjdGlvbi50byE9bnVsbCl7dHJhbnNhY3Rpb24udG89UHJvbWlzZS5yZXNvbHZlKHRyYW5zYWN0aW9uLnRvKS50aGVuKGZ1bmN0aW9uKHRvKXtyZXR1cm4gX19hd2FpdGVyKF90aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgYWRkcmVzcztyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6aWYodG89PW51bGwpe3JldHVyblsyLG51bGxdfXJldHVybls0LHRoaXMucHJvdmlkZXIucmVzb2x2ZU5hbWUodG8pXTtjYXNlIDE6YWRkcmVzcz1fYS5zZW50KCk7aWYoYWRkcmVzcz09bnVsbCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigicHJvdmlkZWQgRU5TIG5hbWUgcmVzb2x2ZXMgdG8gbnVsbCIsInR4LnRvIix0byl9cmV0dXJuWzIsYWRkcmVzc119fSl9KX0pfXJldHVybigwLGxpYiQzLnJlc29sdmVQcm9wZXJ0aWVzKSh7dHg6KDAsbGliJDMucmVzb2x2ZVByb3BlcnRpZXMpKHRyYW5zYWN0aW9uKSxzZW5kZXI6ZnJvbUFkZHJlc3N9KS50aGVuKGZ1bmN0aW9uKF9hKXt2YXIgdHg9X2EudHgsc2VuZGVyPV9hLnNlbmRlcjtpZih0eC5mcm9tIT1udWxsKXtpZih0eC5mcm9tLnRvTG93ZXJDYXNlKCkhPT1zZW5kZXIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImZyb20gYWRkcmVzcyBtaXNtYXRjaCIsInRyYW5zYWN0aW9uIix0cmFuc2FjdGlvbil9fWVsc2V7dHguZnJvbT1zZW5kZXJ9dmFyIGhleFR4PV90aGlzLnByb3ZpZGVyLmNvbnN0cnVjdG9yLmhleGxpZnlUcmFuc2FjdGlvbih0eCx7ZnJvbTp0cnVlfSk7cmV0dXJuIF90aGlzLnByb3ZpZGVyLnNlbmQoImV0aF9zZW5kVHJhbnNhY3Rpb24iLFtoZXhUeF0pLnRoZW4oZnVuY3Rpb24oaGFzaCl7cmV0dXJuIGhhc2h9LGZ1bmN0aW9uKGVycm9yKXtpZih0eXBlb2YgZXJyb3IubWVzc2FnZT09PSJzdHJpbmciJiZlcnJvci5tZXNzYWdlLm1hdGNoKC91c2VyIGRlbmllZC9pKSl7bG9nZ2VyLnRocm93RXJyb3IoInVzZXIgcmVqZWN0ZWQgdHJhbnNhY3Rpb24iLGxpYi5Mb2dnZXIuZXJyb3JzLkFDVElPTl9SRUpFQ1RFRCx7YWN0aW9uOiJzZW5kVHJhbnNhY3Rpb24iLHRyYW5zYWN0aW9uOnR4fSl9cmV0dXJuIGNoZWNrRXJyb3IoInNlbmRUcmFuc2FjdGlvbiIsZXJyb3IsaGV4VHgpfSl9KX07SnNvblJwY1NpZ25lci5wcm90b3R5cGUuc2lnblRyYW5zYWN0aW9uPWZ1bmN0aW9uKHRyYW5zYWN0aW9uKXtyZXR1cm4gbG9nZ2VyLnRocm93RXJyb3IoInNpZ25pbmcgdHJhbnNhY3Rpb25zIGlzIHVuc3VwcG9ydGVkIixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoic2lnblRyYW5zYWN0aW9uIn0pfTtKc29uUnBjU2lnbmVyLnByb3RvdHlwZS5zZW5kVHJhbnNhY3Rpb249ZnVuY3Rpb24odHJhbnNhY3Rpb24pe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGJsb2NrTnVtYmVyLGhhc2gsZXJyb3JfMTt2YXIgX3RoaXM9dGhpcztyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5wcm92aWRlci5fZ2V0SW50ZXJuYWxCbG9ja051bWJlcigxMDArMip0aGlzLnByb3ZpZGVyLnBvbGxpbmdJbnRlcnZhbCldO2Nhc2UgMTpibG9ja051bWJlcj1fYS5zZW50KCk7cmV0dXJuWzQsdGhpcy5zZW5kVW5jaGVja2VkVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pXTtjYXNlIDI6aGFzaD1fYS5zZW50KCk7X2EubGFiZWw9MztjYXNlIDM6X2EudHJ5cy5wdXNoKFszLDUsLDZdKTtyZXR1cm5bNCwoMCxsaWIkcy5wb2xsKShmdW5jdGlvbigpe3JldHVybiBfX2F3YWl0ZXIoX3RoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciB0eDtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5wcm92aWRlci5nZXRUcmFuc2FjdGlvbihoYXNoKV07Y2FzZSAxOnR4PV9hLnNlbnQoKTtpZih0eD09PW51bGwpe3JldHVyblsyLHVuZGVmaW5lZF19cmV0dXJuWzIsdGhpcy5wcm92aWRlci5fd3JhcFRyYW5zYWN0aW9uKHR4LGhhc2gsYmxvY2tOdW1iZXIpXX19KX0pfSx7b25jZVBvbGw6dGhpcy5wcm92aWRlcn0pXTtjYXNlIDQ6cmV0dXJuWzIsX2Euc2VudCgpXTtjYXNlIDU6ZXJyb3JfMT1fYS5zZW50KCk7ZXJyb3JfMS50cmFuc2FjdGlvbkhhc2g9aGFzaDt0aHJvdyBlcnJvcl8xO2Nhc2UgNjpyZXR1cm5bMl19fSl9KX07SnNvblJwY1NpZ25lci5wcm90b3R5cGUuc2lnbk1lc3NhZ2U9ZnVuY3Rpb24obWVzc2FnZSl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgZGF0YSxhZGRyZXNzLGVycm9yXzI7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOmRhdGE9dHlwZW9mIG1lc3NhZ2U9PT0ic3RyaW5nIj8oMCxsaWIkOC50b1V0ZjhCeXRlcykobWVzc2FnZSk6bWVzc2FnZTtyZXR1cm5bNCx0aGlzLmdldEFkZHJlc3MoKV07Y2FzZSAxOmFkZHJlc3M9X2Euc2VudCgpO19hLmxhYmVsPTI7Y2FzZSAyOl9hLnRyeXMucHVzaChbMiw0LCw1XSk7cmV0dXJuWzQsdGhpcy5wcm92aWRlci5zZW5kKCJwZXJzb25hbF9zaWduIixbKDAsbGliJDEuaGV4bGlmeSkoZGF0YSksYWRkcmVzcy50b0xvd2VyQ2FzZSgpXSldO2Nhc2UgMzpyZXR1cm5bMixfYS5zZW50KCldO2Nhc2UgNDplcnJvcl8yPV9hLnNlbnQoKTtpZih0eXBlb2YgZXJyb3JfMi5tZXNzYWdlPT09InN0cmluZyImJmVycm9yXzIubWVzc2FnZS5tYXRjaCgvdXNlciBkZW5pZWQvaSkpe2xvZ2dlci50aHJvd0Vycm9yKCJ1c2VyIHJlamVjdGVkIHNpZ25pbmciLGxpYi5Mb2dnZXIuZXJyb3JzLkFDVElPTl9SRUpFQ1RFRCx7YWN0aW9uOiJzaWduTWVzc2FnZSIsZnJvbTphZGRyZXNzLG1lc3NhZ2VEYXRhOm1lc3NhZ2V9KX10aHJvdyBlcnJvcl8yO2Nhc2UgNTpyZXR1cm5bMl19fSl9KX07SnNvblJwY1NpZ25lci5wcm90b3R5cGUuX2xlZ2FjeVNpZ25NZXNzYWdlPWZ1bmN0aW9uKG1lc3NhZ2Upe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGRhdGEsYWRkcmVzcyxlcnJvcl8zO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpkYXRhPXR5cGVvZiBtZXNzYWdlPT09InN0cmluZyI/KDAsbGliJDgudG9VdGY4Qnl0ZXMpKG1lc3NhZ2UpOm1lc3NhZ2U7cmV0dXJuWzQsdGhpcy5nZXRBZGRyZXNzKCldO2Nhc2UgMTphZGRyZXNzPV9hLnNlbnQoKTtfYS5sYWJlbD0yO2Nhc2UgMjpfYS50cnlzLnB1c2goWzIsNCwsNV0pO3JldHVybls0LHRoaXMucHJvdmlkZXIuc2VuZCgiZXRoX3NpZ24iLFthZGRyZXNzLnRvTG93ZXJDYXNlKCksKDAsbGliJDEuaGV4bGlmeSkoZGF0YSldKV07Y2FzZSAzOnJldHVyblsyLF9hLnNlbnQoKV07Y2FzZSA0OmVycm9yXzM9X2Euc2VudCgpO2lmKHR5cGVvZiBlcnJvcl8zLm1lc3NhZ2U9PT0ic3RyaW5nIiYmZXJyb3JfMy5tZXNzYWdlLm1hdGNoKC91c2VyIGRlbmllZC9pKSl7bG9nZ2VyLnRocm93RXJyb3IoInVzZXIgcmVqZWN0ZWQgc2lnbmluZyIsbGliLkxvZ2dlci5lcnJvcnMuQUNUSU9OX1JFSkVDVEVELHthY3Rpb246Il9sZWdhY3lTaWduTWVzc2FnZSIsZnJvbTphZGRyZXNzLG1lc3NhZ2VEYXRhOm1lc3NhZ2V9KX10aHJvdyBlcnJvcl8zO2Nhc2UgNTpyZXR1cm5bMl19fSl9KX07SnNvblJwY1NpZ25lci5wcm90b3R5cGUuX3NpZ25UeXBlZERhdGE9ZnVuY3Rpb24oZG9tYWluLHR5cGVzLHZhbHVlKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBwb3B1bGF0ZWQsYWRkcmVzcyxlcnJvcl80O3ZhciBfdGhpcz10aGlzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCxsaWIkYy5fVHlwZWREYXRhRW5jb2Rlci5yZXNvbHZlTmFtZXMoZG9tYWluLHR5cGVzLHZhbHVlLGZ1bmN0aW9uKG5hbWUpe3JldHVybiBfdGhpcy5wcm92aWRlci5yZXNvbHZlTmFtZShuYW1lKX0pXTtjYXNlIDE6cG9wdWxhdGVkPV9hLnNlbnQoKTtyZXR1cm5bNCx0aGlzLmdldEFkZHJlc3MoKV07Y2FzZSAyOmFkZHJlc3M9X2Euc2VudCgpO19hLmxhYmVsPTM7Y2FzZSAzOl9hLnRyeXMucHVzaChbMyw1LCw2XSk7cmV0dXJuWzQsdGhpcy5wcm92aWRlci5zZW5kKCJldGhfc2lnblR5cGVkRGF0YV92NCIsW2FkZHJlc3MudG9Mb3dlckNhc2UoKSxKU09OLnN0cmluZ2lmeShsaWIkYy5fVHlwZWREYXRhRW5jb2Rlci5nZXRQYXlsb2FkKHBvcHVsYXRlZC5kb21haW4sdHlwZXMscG9wdWxhdGVkLnZhbHVlKSldKV07Y2FzZSA0OnJldHVyblsyLF9hLnNlbnQoKV07Y2FzZSA1OmVycm9yXzQ9X2Euc2VudCgpO2lmKHR5cGVvZiBlcnJvcl80Lm1lc3NhZ2U9PT0ic3RyaW5nIiYmZXJyb3JfNC5tZXNzYWdlLm1hdGNoKC91c2VyIGRlbmllZC9pKSl7bG9nZ2VyLnRocm93RXJyb3IoInVzZXIgcmVqZWN0ZWQgc2lnbmluZyIsbGliLkxvZ2dlci5lcnJvcnMuQUNUSU9OX1JFSkVDVEVELHthY3Rpb246Il9zaWduVHlwZWREYXRhIixmcm9tOmFkZHJlc3MsbWVzc2FnZURhdGE6e2RvbWFpbjpwb3B1bGF0ZWQuZG9tYWluLHR5cGVzOnR5cGVzLHZhbHVlOnBvcHVsYXRlZC52YWx1ZX19KX10aHJvdyBlcnJvcl80O2Nhc2UgNjpyZXR1cm5bMl19fSl9KX07SnNvblJwY1NpZ25lci5wcm90b3R5cGUudW5sb2NrPWZ1bmN0aW9uKHBhc3N3b3JkKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBwcm92aWRlcixhZGRyZXNzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpwcm92aWRlcj10aGlzLnByb3ZpZGVyO3JldHVybls0LHRoaXMuZ2V0QWRkcmVzcygpXTtjYXNlIDE6YWRkcmVzcz1fYS5zZW50KCk7cmV0dXJuWzIscHJvdmlkZXIuc2VuZCgicGVyc29uYWxfdW5sb2NrQWNjb3VudCIsW2FkZHJlc3MudG9Mb3dlckNhc2UoKSxwYXNzd29yZCxudWxsXSldfX0pfSl9O3JldHVybiBKc29uUnBjU2lnbmVyfShsaWIkZi5TaWduZXIpO2V4cG9ydHMuSnNvblJwY1NpZ25lcj1Kc29uUnBjU2lnbmVyO3ZhciBVbmNoZWNrZWRKc29uUnBjU2lnbmVyPWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKFVuY2hlY2tlZEpzb25ScGNTaWduZXIsX3N1cGVyKTtmdW5jdGlvbiBVbmNoZWNrZWRKc29uUnBjU2lnbmVyKCl7cmV0dXJuIF9zdXBlciE9PW51bGwmJl9zdXBlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9VW5jaGVja2VkSnNvblJwY1NpZ25lci5wcm90b3R5cGUuc2VuZFRyYW5zYWN0aW9uPWZ1bmN0aW9uKHRyYW5zYWN0aW9uKXt2YXIgX3RoaXM9dGhpcztyZXR1cm4gdGhpcy5zZW5kVW5jaGVja2VkVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pLnRoZW4oZnVuY3Rpb24oaGFzaCl7cmV0dXJue2hhc2g6aGFzaCxub25jZTpudWxsLGdhc0xpbWl0Om51bGwsZ2FzUHJpY2U6bnVsbCxkYXRhOm51bGwsdmFsdWU6bnVsbCxjaGFpbklkOm51bGwsY29uZmlybWF0aW9uczowLGZyb206bnVsbCx3YWl0OmZ1bmN0aW9uKGNvbmZpcm1hdGlvbnMpe3JldHVybiBfdGhpcy5wcm92aWRlci53YWl0Rm9yVHJhbnNhY3Rpb24oaGFzaCxjb25maXJtYXRpb25zKX19fSl9O3JldHVybiBVbmNoZWNrZWRKc29uUnBjU2lnbmVyfShKc29uUnBjU2lnbmVyKTt2YXIgYWxsb3dlZFRyYW5zYWN0aW9uS2V5cz17Y2hhaW5JZDp0cnVlLGRhdGE6dHJ1ZSxnYXNMaW1pdDp0cnVlLGdhc1ByaWNlOnRydWUsbm9uY2U6dHJ1ZSx0bzp0cnVlLHZhbHVlOnRydWUsdHlwZTp0cnVlLGFjY2Vzc0xpc3Q6dHJ1ZSxtYXhGZWVQZXJHYXM6dHJ1ZSxtYXhQcmlvcml0eUZlZVBlckdhczp0cnVlfTt2YXIgSnNvblJwY1Byb3ZpZGVyPWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEpzb25ScGNQcm92aWRlcixfc3VwZXIpO2Z1bmN0aW9uIEpzb25ScGNQcm92aWRlcih1cmwsbmV0d29yayl7dmFyIF90aGlzPXRoaXM7dmFyIG5ldHdvcmtPclJlYWR5PW5ldHdvcms7aWYobmV0d29ya09yUmVhZHk9PW51bGwpe25ldHdvcmtPclJlYWR5PW5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUscmVqZWN0KXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7X3RoaXMuZGV0ZWN0TmV0d29yaygpLnRoZW4oZnVuY3Rpb24obmV0d29yayl7cmVzb2x2ZShuZXR3b3JrKX0sZnVuY3Rpb24oZXJyb3Ipe3JlamVjdChlcnJvcil9KX0sMCl9KX1fdGhpcz1fc3VwZXIuY2FsbCh0aGlzLG5ldHdvcmtPclJlYWR5KXx8dGhpcztpZighdXJsKXt1cmw9KDAsbGliJDMuZ2V0U3RhdGljKShfdGhpcy5jb25zdHJ1Y3RvciwiZGVmYXVsdFVybCIpKCl9aWYodHlwZW9mIHVybD09PSJzdHJpbmciKXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsImNvbm5lY3Rpb24iLE9iamVjdC5mcmVlemUoe3VybDp1cmx9KSl9ZWxzZXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsImNvbm5lY3Rpb24iLE9iamVjdC5mcmVlemUoKDAsbGliJDMuc2hhbGxvd0NvcHkpKHVybCkpKX1fdGhpcy5fbmV4dElkPTQyO3JldHVybiBfdGhpc31PYmplY3QuZGVmaW5lUHJvcGVydHkoSnNvblJwY1Byb3ZpZGVyLnByb3RvdHlwZSwiX2NhY2hlIix7Z2V0OmZ1bmN0aW9uKCl7aWYodGhpcy5fZXZlbnRMb29wQ2FjaGU9PW51bGwpe3RoaXMuX2V2ZW50TG9vcENhY2hlPXt9fXJldHVybiB0aGlzLl9ldmVudExvb3BDYWNoZX0sZW51bWVyYWJsZTpmYWxzZSxjb25maWd1cmFibGU6dHJ1ZX0pO0pzb25ScGNQcm92aWRlci5kZWZhdWx0VXJsPWZ1bmN0aW9uKCl7cmV0dXJuImh0dHA6Ly9sb2NhbGhvc3Q6ODU0NSJ9O0pzb25ScGNQcm92aWRlci5wcm90b3R5cGUuZGV0ZWN0TmV0d29yaz1mdW5jdGlvbigpe3ZhciBfdGhpcz10aGlzO2lmKCF0aGlzLl9jYWNoZVsiZGV0ZWN0TmV0d29yayJdKXt0aGlzLl9jYWNoZVsiZGV0ZWN0TmV0d29yayJdPXRoaXMuX3VuY2FjaGVkRGV0ZWN0TmV0d29yaygpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtfdGhpcy5fY2FjaGVbImRldGVjdE5ldHdvcmsiXT1udWxsfSwwKX1yZXR1cm4gdGhpcy5fY2FjaGVbImRldGVjdE5ldHdvcmsiXX07SnNvblJwY1Byb3ZpZGVyLnByb3RvdHlwZS5fdW5jYWNoZWREZXRlY3ROZXR3b3JrPWZ1bmN0aW9uKCl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgY2hhaW5JZCxlcnJvcl81LGVycm9yXzYsZ2V0TmV0d29yaztyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGltZXIoMCldO2Nhc2UgMTpfYS5zZW50KCk7Y2hhaW5JZD1udWxsO19hLmxhYmVsPTI7Y2FzZSAyOl9hLnRyeXMucHVzaChbMiw0LCw5XSk7cmV0dXJuWzQsdGhpcy5zZW5kKCJldGhfY2hhaW5JZCIsW10pXTtjYXNlIDM6Y2hhaW5JZD1fYS5zZW50KCk7cmV0dXJuWzMsOV07Y2FzZSA0OmVycm9yXzU9X2Euc2VudCgpO19hLmxhYmVsPTU7Y2FzZSA1Ol9hLnRyeXMucHVzaChbNSw3LCw4XSk7cmV0dXJuWzQsdGhpcy5zZW5kKCJuZXRfdmVyc2lvbiIsW10pXTtjYXNlIDY6Y2hhaW5JZD1fYS5zZW50KCk7cmV0dXJuWzMsOF07Y2FzZSA3OmVycm9yXzY9X2Euc2VudCgpO3JldHVyblszLDhdO2Nhc2UgODpyZXR1cm5bMyw5XTtjYXNlIDk6aWYoY2hhaW5JZCE9bnVsbCl7Z2V0TmV0d29yaz0oMCxsaWIkMy5nZXRTdGF0aWMpKHRoaXMuY29uc3RydWN0b3IsImdldE5ldHdvcmsiKTt0cnl7cmV0dXJuWzIsZ2V0TmV0d29yayhsaWIkMi5CaWdOdW1iZXIuZnJvbShjaGFpbklkKS50b051bWJlcigpKV19Y2F0Y2goZXJyb3Ipe3JldHVyblsyLGxvZ2dlci50aHJvd0Vycm9yKCJjb3VsZCBub3QgZGV0ZWN0IG5ldHdvcmsiLGxpYi5Mb2dnZXIuZXJyb3JzLk5FVFdPUktfRVJST1Ise2NoYWluSWQ6Y2hhaW5JZCxldmVudDoiaW52YWxpZE5ldHdvcmsiLHNlcnZlckVycm9yOmVycm9yfSldfX1yZXR1cm5bMixsb2dnZXIudGhyb3dFcnJvcigiY291bGQgbm90IGRldGVjdCBuZXR3b3JrIixsaWIuTG9nZ2VyLmVycm9ycy5ORVRXT1JLX0VSUk9SLHtldmVudDoibm9OZXR3b3JrIn0pXX19KX0pfTtKc29uUnBjUHJvdmlkZXIucHJvdG90eXBlLmdldFNpZ25lcj1mdW5jdGlvbihhZGRyZXNzT3JJbmRleCl7cmV0dXJuIG5ldyBKc29uUnBjU2lnbmVyKF9jb25zdHJ1Y3Rvckd1YXJkLHRoaXMsYWRkcmVzc09ySW5kZXgpfTtKc29uUnBjUHJvdmlkZXIucHJvdG90eXBlLmdldFVuY2hlY2tlZFNpZ25lcj1mdW5jdGlvbihhZGRyZXNzT3JJbmRleCl7cmV0dXJuIHRoaXMuZ2V0U2lnbmVyKGFkZHJlc3NPckluZGV4KS5jb25uZWN0VW5jaGVja2VkKCl9O0pzb25ScGNQcm92aWRlci5wcm90b3R5cGUubGlzdEFjY291bnRzPWZ1bmN0aW9uKCl7dmFyIF90aGlzPXRoaXM7cmV0dXJuIHRoaXMuc2VuZCgiZXRoX2FjY291bnRzIixbXSkudGhlbihmdW5jdGlvbihhY2NvdW50cyl7cmV0dXJuIGFjY291bnRzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gX3RoaXMuZm9ybWF0dGVyLmFkZHJlc3MoYSl9KX0pfTtKc29uUnBjUHJvdmlkZXIucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24obWV0aG9kLHBhcmFtcyl7dmFyIF90aGlzPXRoaXM7dmFyIHJlcXVlc3Q9e21ldGhvZDptZXRob2QscGFyYW1zOnBhcmFtcyxpZDp0aGlzLl9uZXh0SWQrKyxqc29ucnBjOiIyLjAifTt0aGlzLmVtaXQoImRlYnVnIix7YWN0aW9uOiJyZXF1ZXN0IixyZXF1ZXN0OigwLGxpYiQzLmRlZXBDb3B5KShyZXF1ZXN0KSxwcm92aWRlcjp0aGlzfSk7dmFyIGNhY2hlPVsiZXRoX2NoYWluSWQiLCJldGhfYmxvY2tOdW1iZXIiXS5pbmRleE9mKG1ldGhvZCk+PTA7aWYoY2FjaGUmJnRoaXMuX2NhY2hlW21ldGhvZF0pe3JldHVybiB0aGlzLl9jYWNoZVttZXRob2RdfXZhciByZXN1bHQ9KDAsbGliJHMuZmV0Y2hKc29uKSh0aGlzLmNvbm5lY3Rpb24sSlNPTi5zdHJpbmdpZnkocmVxdWVzdCksZ2V0UmVzdWx0KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCl7X3RoaXMuZW1pdCgiZGVidWciLHthY3Rpb246InJlc3BvbnNlIixyZXF1ZXN0OnJlcXVlc3QscmVzcG9uc2U6cmVzdWx0LHByb3ZpZGVyOl90aGlzfSk7cmV0dXJuIHJlc3VsdH0sZnVuY3Rpb24oZXJyb3Ipe190aGlzLmVtaXQoImRlYnVnIix7YWN0aW9uOiJyZXNwb25zZSIsZXJyb3I6ZXJyb3IscmVxdWVzdDpyZXF1ZXN0LHByb3ZpZGVyOl90aGlzfSk7dGhyb3cgZXJyb3J9KTtpZihjYWNoZSl7dGhpcy5fY2FjaGVbbWV0aG9kXT1yZXN1bHQ7c2V0VGltZW91dChmdW5jdGlvbigpe190aGlzLl9jYWNoZVttZXRob2RdPW51bGx9LDApfXJldHVybiByZXN1bHR9O0pzb25ScGNQcm92aWRlci5wcm90b3R5cGUucHJlcGFyZVJlcXVlc3Q9ZnVuY3Rpb24obWV0aG9kLHBhcmFtcyl7c3dpdGNoKG1ldGhvZCl7Y2FzZSJnZXRCbG9ja051bWJlciI6cmV0dXJuWyJldGhfYmxvY2tOdW1iZXIiLFtdXTtjYXNlImdldEdhc1ByaWNlIjpyZXR1cm5bImV0aF9nYXNQcmljZSIsW11dO2Nhc2UiZ2V0QmFsYW5jZSI6cmV0dXJuWyJldGhfZ2V0QmFsYW5jZSIsW2dldExvd2VyQ2FzZShwYXJhbXMuYWRkcmVzcykscGFyYW1zLmJsb2NrVGFnXV07Y2FzZSJnZXRUcmFuc2FjdGlvbkNvdW50IjpyZXR1cm5bImV0aF9nZXRUcmFuc2FjdGlvbkNvdW50IixbZ2V0TG93ZXJDYXNlKHBhcmFtcy5hZGRyZXNzKSxwYXJhbXMuYmxvY2tUYWddXTtjYXNlImdldENvZGUiOnJldHVyblsiZXRoX2dldENvZGUiLFtnZXRMb3dlckNhc2UocGFyYW1zLmFkZHJlc3MpLHBhcmFtcy5ibG9ja1RhZ11dO2Nhc2UiZ2V0U3RvcmFnZUF0IjpyZXR1cm5bImV0aF9nZXRTdG9yYWdlQXQiLFtnZXRMb3dlckNhc2UocGFyYW1zLmFkZHJlc3MpLCgwLGxpYiQxLmhleFplcm9QYWQpKHBhcmFtcy5wb3NpdGlvbiwzMikscGFyYW1zLmJsb2NrVGFnXV07Y2FzZSJzZW5kVHJhbnNhY3Rpb24iOnJldHVyblsiZXRoX3NlbmRSYXdUcmFuc2FjdGlvbiIsW3BhcmFtcy5zaWduZWRUcmFuc2FjdGlvbl1dO2Nhc2UiZ2V0QmxvY2siOmlmKHBhcmFtcy5ibG9ja1RhZyl7cmV0dXJuWyJldGhfZ2V0QmxvY2tCeU51bWJlciIsW3BhcmFtcy5ibG9ja1RhZywhIXBhcmFtcy5pbmNsdWRlVHJhbnNhY3Rpb25zXV19ZWxzZSBpZihwYXJhbXMuYmxvY2tIYXNoKXtyZXR1cm5bImV0aF9nZXRCbG9ja0J5SGFzaCIsW3BhcmFtcy5ibG9ja0hhc2gsISFwYXJhbXMuaW5jbHVkZVRyYW5zYWN0aW9uc11dfXJldHVybiBudWxsO2Nhc2UiZ2V0VHJhbnNhY3Rpb24iOnJldHVyblsiZXRoX2dldFRyYW5zYWN0aW9uQnlIYXNoIixbcGFyYW1zLnRyYW5zYWN0aW9uSGFzaF1dO2Nhc2UiZ2V0VHJhbnNhY3Rpb25SZWNlaXB0IjpyZXR1cm5bImV0aF9nZXRUcmFuc2FjdGlvblJlY2VpcHQiLFtwYXJhbXMudHJhbnNhY3Rpb25IYXNoXV07Y2FzZSJjYWxsIjp7dmFyIGhleGxpZnlUcmFuc2FjdGlvbj0oMCxsaWIkMy5nZXRTdGF0aWMpKHRoaXMuY29uc3RydWN0b3IsImhleGxpZnlUcmFuc2FjdGlvbiIpO3JldHVyblsiZXRoX2NhbGwiLFtoZXhsaWZ5VHJhbnNhY3Rpb24ocGFyYW1zLnRyYW5zYWN0aW9uLHtmcm9tOnRydWV9KSxwYXJhbXMuYmxvY2tUYWddXX1jYXNlImVzdGltYXRlR2FzIjp7dmFyIGhleGxpZnlUcmFuc2FjdGlvbj0oMCxsaWIkMy5nZXRTdGF0aWMpKHRoaXMuY29uc3RydWN0b3IsImhleGxpZnlUcmFuc2FjdGlvbiIpO3JldHVyblsiZXRoX2VzdGltYXRlR2FzIixbaGV4bGlmeVRyYW5zYWN0aW9uKHBhcmFtcy50cmFuc2FjdGlvbix7ZnJvbTp0cnVlfSldXX1jYXNlImdldExvZ3MiOmlmKHBhcmFtcy5maWx0ZXImJnBhcmFtcy5maWx0ZXIuYWRkcmVzcyE9bnVsbCl7cGFyYW1zLmZpbHRlci5hZGRyZXNzPWdldExvd2VyQ2FzZShwYXJhbXMuZmlsdGVyLmFkZHJlc3MpfXJldHVyblsiZXRoX2dldExvZ3MiLFtwYXJhbXMuZmlsdGVyXV07ZGVmYXVsdDpicmVha31yZXR1cm4gbnVsbH07SnNvblJwY1Byb3ZpZGVyLnByb3RvdHlwZS5wZXJmb3JtPWZ1bmN0aW9uKG1ldGhvZCxwYXJhbXMpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHR4LGZlZURhdGEsYXJncyxlcnJvcl83O3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDppZighKG1ldGhvZD09PSJjYWxsInx8bWV0aG9kPT09ImVzdGltYXRlR2FzIikpcmV0dXJuWzMsMl07dHg9cGFyYW1zLnRyYW5zYWN0aW9uO2lmKCEodHgmJnR4LnR5cGUhPW51bGwmJmxpYiQyLkJpZ051bWJlci5mcm9tKHR4LnR5cGUpLmlzWmVybygpKSlyZXR1cm5bMywyXTtpZighKHR4Lm1heEZlZVBlckdhcz09bnVsbCYmdHgubWF4UHJpb3JpdHlGZWVQZXJHYXM9PW51bGwpKXJldHVyblszLDJdO3JldHVybls0LHRoaXMuZ2V0RmVlRGF0YSgpXTtjYXNlIDE6ZmVlRGF0YT1fYS5zZW50KCk7aWYoZmVlRGF0YS5tYXhGZWVQZXJHYXM9PW51bGwmJmZlZURhdGEubWF4UHJpb3JpdHlGZWVQZXJHYXM9PW51bGwpe3BhcmFtcz0oMCxsaWIkMy5zaGFsbG93Q29weSkocGFyYW1zKTtwYXJhbXMudHJhbnNhY3Rpb249KDAsbGliJDMuc2hhbGxvd0NvcHkpKHR4KTtkZWxldGUgcGFyYW1zLnRyYW5zYWN0aW9uLnR5cGV9X2EubGFiZWw9MjtjYXNlIDI6YXJncz10aGlzLnByZXBhcmVSZXF1ZXN0KG1ldGhvZCxwYXJhbXMpO2lmKGFyZ3M9PW51bGwpe2xvZ2dlci50aHJvd0Vycm9yKG1ldGhvZCsiIG5vdCBpbXBsZW1lbnRlZCIsbGliLkxvZ2dlci5lcnJvcnMuTk9UX0lNUExFTUVOVEVELHtvcGVyYXRpb246bWV0aG9kfSl9X2EubGFiZWw9MztjYXNlIDM6X2EudHJ5cy5wdXNoKFszLDUsLDZdKTtyZXR1cm5bNCx0aGlzLnNlbmQoYXJnc1swXSxhcmdzWzFdKV07Y2FzZSA0OnJldHVyblsyLF9hLnNlbnQoKV07Y2FzZSA1OmVycm9yXzc9X2Euc2VudCgpO3JldHVyblsyLGNoZWNrRXJyb3IobWV0aG9kLGVycm9yXzcscGFyYW1zKV07Y2FzZSA2OnJldHVyblsyXX19KX0pfTtKc29uUnBjUHJvdmlkZXIucHJvdG90eXBlLl9zdGFydEV2ZW50PWZ1bmN0aW9uKGV2ZW50KXtpZihldmVudC50YWc9PT0icGVuZGluZyIpe3RoaXMuX3N0YXJ0UGVuZGluZygpfV9zdXBlci5wcm90b3R5cGUuX3N0YXJ0RXZlbnQuY2FsbCh0aGlzLGV2ZW50KX07SnNvblJwY1Byb3ZpZGVyLnByb3RvdHlwZS5fc3RhcnRQZW5kaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5fcGVuZGluZ0ZpbHRlciE9bnVsbCl7cmV0dXJufXZhciBzZWxmPXRoaXM7dmFyIHBlbmRpbmdGaWx0ZXI9dGhpcy5zZW5kKCJldGhfbmV3UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyIixbXSk7dGhpcy5fcGVuZGluZ0ZpbHRlcj1wZW5kaW5nRmlsdGVyO3BlbmRpbmdGaWx0ZXIudGhlbihmdW5jdGlvbihmaWx0ZXJJZCl7ZnVuY3Rpb24gcG9sbCgpe3NlbGYuc2VuZCgiZXRoX2dldEZpbHRlckNoYW5nZXMiLFtmaWx0ZXJJZF0pLnRoZW4oZnVuY3Rpb24oaGFzaGVzKXtpZihzZWxmLl9wZW5kaW5nRmlsdGVyIT1wZW5kaW5nRmlsdGVyKXtyZXR1cm4gbnVsbH12YXIgc2VxPVByb21pc2UucmVzb2x2ZSgpO2hhc2hlcy5mb3JFYWNoKGZ1bmN0aW9uKGhhc2gpe3NlbGYuX2VtaXR0ZWRbInQ6IitoYXNoLnRvTG93ZXJDYXNlKCldPSJwZW5kaW5nIjtzZXE9c2VxLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gc2VsZi5nZXRUcmFuc2FjdGlvbihoYXNoKS50aGVuKGZ1bmN0aW9uKHR4KXtzZWxmLmVtaXQoInBlbmRpbmciLHR4KTtyZXR1cm4gbnVsbH0pfSl9KTtyZXR1cm4gc2VxLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gdGltZXIoMWUzKX0pfSkudGhlbihmdW5jdGlvbigpe2lmKHNlbGYuX3BlbmRpbmdGaWx0ZXIhPXBlbmRpbmdGaWx0ZXIpe3NlbGYuc2VuZCgiZXRoX3VuaW5zdGFsbEZpbHRlciIsW2ZpbHRlcklkXSk7cmV0dXJufXNldFRpbWVvdXQoZnVuY3Rpb24oKXtwb2xsKCl9LDApO3JldHVybiBudWxsfSkuY2F0Y2goZnVuY3Rpb24oZXJyb3Ipe30pfXBvbGwoKTtyZXR1cm4gZmlsdGVySWR9KS5jYXRjaChmdW5jdGlvbihlcnJvcil7fSl9O0pzb25ScGNQcm92aWRlci5wcm90b3R5cGUuX3N0b3BFdmVudD1mdW5jdGlvbihldmVudCl7aWYoZXZlbnQudGFnPT09InBlbmRpbmciJiZ0aGlzLmxpc3RlbmVyQ291bnQoInBlbmRpbmciKT09PTApe3RoaXMuX3BlbmRpbmdGaWx0ZXI9bnVsbH1fc3VwZXIucHJvdG90eXBlLl9zdG9wRXZlbnQuY2FsbCh0aGlzLGV2ZW50KX07SnNvblJwY1Byb3ZpZGVyLmhleGxpZnlUcmFuc2FjdGlvbj1mdW5jdGlvbih0cmFuc2FjdGlvbixhbGxvd0V4dHJhKXt2YXIgYWxsb3dlZD0oMCxsaWIkMy5zaGFsbG93Q29weSkoYWxsb3dlZFRyYW5zYWN0aW9uS2V5cyk7aWYoYWxsb3dFeHRyYSl7Zm9yKHZhciBrZXkgaW4gYWxsb3dFeHRyYSl7aWYoYWxsb3dFeHRyYVtrZXldKXthbGxvd2VkW2tleV09dHJ1ZX19fSgwLGxpYiQzLmNoZWNrUHJvcGVydGllcykodHJhbnNhY3Rpb24sYWxsb3dlZCk7dmFyIHJlc3VsdD17fTtbImNoYWluSWQiLCJnYXNMaW1pdCIsImdhc1ByaWNlIiwidHlwZSIsIm1heEZlZVBlckdhcyIsIm1heFByaW9yaXR5RmVlUGVyR2FzIiwibm9uY2UiLCJ2YWx1ZSJdLmZvckVhY2goZnVuY3Rpb24oa2V5KXtpZih0cmFuc2FjdGlvbltrZXldPT1udWxsKXtyZXR1cm59dmFyIHZhbHVlPSgwLGxpYiQxLmhleFZhbHVlKShsaWIkMi5CaWdOdW1iZXIuZnJvbSh0cmFuc2FjdGlvbltrZXldKSk7aWYoa2V5PT09Imdhc0xpbWl0Iil7a2V5PSJnYXMifXJlc3VsdFtrZXldPXZhbHVlfSk7WyJmcm9tIiwidG8iLCJkYXRhIl0uZm9yRWFjaChmdW5jdGlvbihrZXkpe2lmKHRyYW5zYWN0aW9uW2tleV09PW51bGwpe3JldHVybn1yZXN1bHRba2V5XT0oMCxsaWIkMS5oZXhsaWZ5KSh0cmFuc2FjdGlvbltrZXldKX0pO2lmKHRyYW5zYWN0aW9uLmFjY2Vzc0xpc3Qpe3Jlc3VsdFsiYWNjZXNzTGlzdCJdPSgwLGxpYiRoLmFjY2Vzc0xpc3RpZnkpKHRyYW5zYWN0aW9uLmFjY2Vzc0xpc3QpfXJldHVybiByZXN1bHR9O3JldHVybiBKc29uUnBjUHJvdmlkZXJ9KGJhc2VQcm92aWRlci5CYXNlUHJvdmlkZXIpO2V4cG9ydHMuSnNvblJwY1Byb3ZpZGVyPUpzb25ScGNQcm92aWRlcn0pO3ZhciBqc29uUnBjUHJvdmlkZXIkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhqc29uUnBjUHJvdmlkZXIpO3ZhciBicm93c2VyV3M9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLldlYlNvY2tldD12b2lkIDA7dmFyIFdTPW51bGw7ZXhwb3J0cy5XZWJTb2NrZXQ9V1M7dHJ5e2V4cG9ydHMuV2ViU29ja2V0PVdTPVdlYlNvY2tldDtpZihXUz09bnVsbCl7dGhyb3cgbmV3IEVycm9yKCJpbmplY3QgcGxlYXNlIil9fWNhdGNoKGVycm9yKXt2YXIgbG9nZ2VyXzI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kSS52ZXJzaW9uKTtleHBvcnRzLldlYlNvY2tldD1XUz1mdW5jdGlvbigpe2xvZ2dlcl8yLnRocm93RXJyb3IoIldlYlNvY2tldHMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGVudmlyb25tZW50IixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoibmV3IFdlYlNvY2tldCgpIn0pfX19KTt2YXIgYnJvd3NlcldzJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoYnJvd3NlcldzKTt2YXIgd2Vic29ja2V0UHJvdmlkZXI9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgX19leHRlbmRzPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIGV4dGVuZFN0YXRpY3M9ZnVuY3Rpb24oZCxiKXtleHRlbmRTdGF0aWNzPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihkLGIpe2QuX19wcm90b19fPWJ9fHxmdW5jdGlvbihkLGIpe2Zvcih2YXIgcCBpbiBiKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLHApKWRbcF09YltwXX07cmV0dXJuIGV4dGVuZFN0YXRpY3MoZCxiKX07cmV0dXJuIGZ1bmN0aW9uKGQsYil7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iJiZiIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKGIpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2V4dGVuZFN0YXRpY3MoZCxiKTtmdW5jdGlvbiBfXygpe3RoaXMuY29uc3RydWN0b3I9ZH1kLnByb3RvdHlwZT1iPT09bnVsbD9PYmplY3QuY3JlYXRlKGIpOihfXy5wcm90b3R5cGU9Yi5wcm90b3R5cGUsbmV3IF9fKX19KCk7dmFyIF9fYXdhaXRlcj1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19hd2FpdGVyfHxmdW5jdGlvbih0aGlzQXJnLF9hcmd1bWVudHMsUCxnZW5lcmF0b3Ipe2Z1bmN0aW9uIGFkb3B0KHZhbHVlKXtyZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQP3ZhbHVlOm5ldyBQKGZ1bmN0aW9uKHJlc29sdmUpe3Jlc29sdmUodmFsdWUpfSl9cmV0dXJuIG5ldyhQfHwoUD1Qcm9taXNlKSkoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe2Z1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSl7dHJ5e3N0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKX1jYXRjaChlKXtyZWplY3QoZSl9fWZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKXt0cnl7c3RlcChnZW5lcmF0b3JbInRocm93Il0odmFsdWUpKX1jYXRjaChlKXtyZWplY3QoZSl9fWZ1bmN0aW9uIHN0ZXAocmVzdWx0KXtyZXN1bHQuZG9uZT9yZXNvbHZlKHJlc3VsdC52YWx1ZSk6YWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCxyZWplY3RlZCl9c3RlcCgoZ2VuZXJhdG9yPWdlbmVyYXRvci5hcHBseSh0aGlzQXJnLF9hcmd1bWVudHN8fFtdKSkubmV4dCgpKX0pfTt2YXIgX19nZW5lcmF0b3I9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0aGlzQXJnLGJvZHkpe3ZhciBfPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZih0WzBdJjEpdGhyb3cgdFsxXTtyZXR1cm4gdFsxXX0sdHJ5czpbXSxvcHM6W119LGYseSx0LGc7cmV0dXJuIGc9e25leHQ6dmVyYigwKSx0aHJvdzp2ZXJiKDEpLHJldHVybjp2ZXJiKDIpfSx0eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmKGdbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksZztmdW5jdGlvbiB2ZXJiKG4pe3JldHVybiBmdW5jdGlvbih2KXtyZXR1cm4gc3RlcChbbix2XSl9fWZ1bmN0aW9uIHN0ZXAob3Ape2lmKGYpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO3doaWxlKF8pdHJ5e2lmKGY9MSx5JiYodD1vcFswXSYyP3lbInJldHVybiJdOm9wWzBdP3lbInRocm93Il18fCgodD15WyJyZXR1cm4iXSkmJnQuY2FsbCh5KSwwKTp5Lm5leHQpJiYhKHQ9dC5jYWxsKHksb3BbMV0pKS5kb25lKXJldHVybiB0O2lmKHk9MCx0KW9wPVtvcFswXSYyLHQudmFsdWVdO3N3aXRjaChvcFswXSl7Y2FzZSAwOmNhc2UgMTp0PW9wO2JyZWFrO2Nhc2UgNDpfLmxhYmVsKys7cmV0dXJue3ZhbHVlOm9wWzFdLGRvbmU6ZmFsc2V9O2Nhc2UgNTpfLmxhYmVsKys7eT1vcFsxXTtvcD1bMF07Y29udGludWU7Y2FzZSA3Om9wPV8ub3BzLnBvcCgpO18udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEodD1fLnRyeXMsdD10Lmxlbmd0aD4wJiZ0W3QubGVuZ3RoLTFdKSYmKG9wWzBdPT09Nnx8b3BbMF09PT0yKSl7Xz0wO2NvbnRpbnVlfWlmKG9wWzBdPT09MyYmKCF0fHxvcFsxXT50WzBdJiZvcFsxXTx0WzNdKSl7Xy5sYWJlbD1vcFsxXTticmVha31pZihvcFswXT09PTYmJl8ubGFiZWw8dFsxXSl7Xy5sYWJlbD10WzFdO3Q9b3A7YnJlYWt9aWYodCYmXy5sYWJlbDx0WzJdKXtfLmxhYmVsPXRbMl07Xy5vcHMucHVzaChvcCk7YnJlYWt9aWYodFsyXSlfLm9wcy5wb3AoKTtfLnRyeXMucG9wKCk7Y29udGludWV9b3A9Ym9keS5jYWxsKHRoaXNBcmcsXyl9Y2F0Y2goZSl7b3A9WzYsZV07eT0wfWZpbmFsbHl7Zj10PTB9aWYob3BbMF0mNSl0aHJvdyBvcFsxXTtyZXR1cm57dmFsdWU6b3BbMF0/b3BbMV06dm9pZCAwLGRvbmU6dHJ1ZX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLldlYlNvY2tldFByb3ZpZGVyPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJEkudmVyc2lvbik7dmFyIE5leHRJZD0xO3ZhciBXZWJTb2NrZXRQcm92aWRlcj1mdW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhXZWJTb2NrZXRQcm92aWRlcixfc3VwZXIpO2Z1bmN0aW9uIFdlYlNvY2tldFByb3ZpZGVyKHVybCxuZXR3b3JrKXt2YXIgX3RoaXM9dGhpcztpZihuZXR3b3JrPT09ImFueSIpe2xvZ2dlci50aHJvd0Vycm9yKCJXZWJTb2NrZXRQcm92aWRlciBkb2VzIG5vdCBzdXBwb3J0ICdhbnknIG5ldHdvcmsgeWV0IixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoibmV0d29yazphbnkifSl9aWYodHlwZW9mIHVybD09PSJzdHJpbmciKXtfdGhpcz1fc3VwZXIuY2FsbCh0aGlzLHVybCxuZXR3b3JrKXx8dGhpc31lbHNle190aGlzPV9zdXBlci5jYWxsKHRoaXMsIl93ZWJzb2NrZXQiLG5ldHdvcmspfHx0aGlzfV90aGlzLl9wb2xsaW5nSW50ZXJ2YWw9LTE7X3RoaXMuX3dzUmVhZHk9ZmFsc2U7aWYodHlwZW9mIHVybD09PSJzdHJpbmciKXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsIl93ZWJzb2NrZXQiLG5ldyBicm93c2VyV3MuV2ViU29ja2V0KF90aGlzLmNvbm5lY3Rpb24udXJsKSl9ZWxzZXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsIl93ZWJzb2NrZXQiLHVybCl9KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJfcmVxdWVzdHMiLHt9KTsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsIl9zdWJzIix7fSk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJfc3ViSWRzIix7fSk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJfZGV0ZWN0TmV0d29yayIsX3N1cGVyLnByb3RvdHlwZS5kZXRlY3ROZXR3b3JrLmNhbGwoX3RoaXMpKTtfdGhpcy53ZWJzb2NrZXQub25vcGVuPWZ1bmN0aW9uKCl7X3RoaXMuX3dzUmVhZHk9dHJ1ZTtPYmplY3Qua2V5cyhfdGhpcy5fcmVxdWVzdHMpLmZvckVhY2goZnVuY3Rpb24oaWQpe190aGlzLndlYnNvY2tldC5zZW5kKF90aGlzLl9yZXF1ZXN0c1tpZF0ucGF5bG9hZCl9KX07X3RoaXMud2Vic29ja2V0Lm9ubWVzc2FnZT1mdW5jdGlvbihtZXNzYWdlRXZlbnQpe3ZhciBkYXRhPW1lc3NhZ2VFdmVudC5kYXRhO3ZhciByZXN1bHQ9SlNPTi5wYXJzZShkYXRhKTtpZihyZXN1bHQuaWQhPW51bGwpe3ZhciBpZD1TdHJpbmcocmVzdWx0LmlkKTt2YXIgcmVxdWVzdD1fdGhpcy5fcmVxdWVzdHNbaWRdO2RlbGV0ZSBfdGhpcy5fcmVxdWVzdHNbaWRdO2lmKHJlc3VsdC5yZXN1bHQhPT11bmRlZmluZWQpe3JlcXVlc3QuY2FsbGJhY2sobnVsbCxyZXN1bHQucmVzdWx0KTtfdGhpcy5lbWl0KCJkZWJ1ZyIse2FjdGlvbjoicmVzcG9uc2UiLHJlcXVlc3Q6SlNPTi5wYXJzZShyZXF1ZXN0LnBheWxvYWQpLHJlc3BvbnNlOnJlc3VsdC5yZXN1bHQscHJvdmlkZXI6X3RoaXN9KX1lbHNle3ZhciBlcnJvcj1udWxsO2lmKHJlc3VsdC5lcnJvcil7ZXJyb3I9bmV3IEVycm9yKHJlc3VsdC5lcnJvci5tZXNzYWdlfHwidW5rbm93biBlcnJvciIpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KShlcnJvciwiY29kZSIscmVzdWx0LmVycm9yLmNvZGV8fG51bGwpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KShlcnJvciwicmVzcG9uc2UiLGRhdGEpfWVsc2V7ZXJyb3I9bmV3IEVycm9yKCJ1bmtub3duIGVycm9yIil9cmVxdWVzdC5jYWxsYmFjayhlcnJvcix1bmRlZmluZWQpO190aGlzLmVtaXQoImRlYnVnIix7YWN0aW9uOiJyZXNwb25zZSIsZXJyb3I6ZXJyb3IscmVxdWVzdDpKU09OLnBhcnNlKHJlcXVlc3QucGF5bG9hZCkscHJvdmlkZXI6X3RoaXN9KX19ZWxzZSBpZihyZXN1bHQubWV0aG9kPT09ImV0aF9zdWJzY3JpcHRpb24iKXt2YXIgc3ViPV90aGlzLl9zdWJzW3Jlc3VsdC5wYXJhbXMuc3Vic2NyaXB0aW9uXTtpZihzdWIpe3N1Yi5wcm9jZXNzRnVuYyhyZXN1bHQucGFyYW1zLnJlc3VsdCl9fWVsc2V7Y29uc29sZS53YXJuKCJ0aGlzIHNob3VsZCBub3QgaGFwcGVuIil9fTt2YXIgZmF1eFBvbGw9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtfdGhpcy5lbWl0KCJwb2xsIil9LDFlMyk7aWYoZmF1eFBvbGwudW5yZWYpe2ZhdXhQb2xsLnVucmVmKCl9cmV0dXJuIF90aGlzfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShXZWJTb2NrZXRQcm92aWRlci5wcm90b3R5cGUsIndlYnNvY2tldCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93ZWJzb2NrZXR9LGVudW1lcmFibGU6ZmFsc2UsY29uZmlndXJhYmxlOnRydWV9KTtXZWJTb2NrZXRQcm92aWRlci5wcm90b3R5cGUuZGV0ZWN0TmV0d29yaz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kZXRlY3ROZXR3b3JrfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoV2ViU29ja2V0UHJvdmlkZXIucHJvdG90eXBlLCJwb2xsaW5nSW50ZXJ2YWwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMH0sc2V0OmZ1bmN0aW9uKHZhbHVlKXtsb2dnZXIudGhyb3dFcnJvcigiY2Fubm90IHNldCBwb2xsaW5nIGludGVydmFsIG9uIFdlYlNvY2tldFByb3ZpZGVyIixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoic2V0UG9sbGluZ0ludGVydmFsIn0pfSxlbnVtZXJhYmxlOmZhbHNlLGNvbmZpZ3VyYWJsZTp0cnVlfSk7V2ViU29ja2V0UHJvdmlkZXIucHJvdG90eXBlLnJlc2V0RXZlbnRzQmxvY2s9ZnVuY3Rpb24oYmxvY2tOdW1iZXIpe2xvZ2dlci50aHJvd0Vycm9yKCJjYW5ub3QgcmVzZXQgZXZlbnRzIGJsb2NrIG9uIFdlYlNvY2tldFByb3ZpZGVyIixsaWIuTG9nZ2VyLmVycm9ycy5VTlNVUFBPUlRFRF9PUEVSQVRJT04se29wZXJhdGlvbjoicmVzZXRFdmVudEJsb2NrIn0pfTtXZWJTb2NrZXRQcm92aWRlci5wcm90b3R5cGUucG9sbD1mdW5jdGlvbigpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3JldHVyblsyLG51bGxdfSl9KX07T2JqZWN0LmRlZmluZVByb3BlcnR5KFdlYlNvY2tldFByb3ZpZGVyLnByb3RvdHlwZSwicG9sbGluZyIse3NldDpmdW5jdGlvbih2YWx1ZSl7aWYoIXZhbHVlKXtyZXR1cm59bG9nZ2VyLnRocm93RXJyb3IoImNhbm5vdCBzZXQgcG9sbGluZyBvbiBXZWJTb2NrZXRQcm92aWRlciIsbGliLkxvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246InNldFBvbGxpbmcifSl9LGVudW1lcmFibGU6ZmFsc2UsY29uZmlndXJhYmxlOnRydWV9KTtXZWJTb2NrZXRQcm92aWRlci5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihtZXRob2QscGFyYW1zKXt2YXIgX3RoaXM9dGhpczt2YXIgcmlkPU5leHRJZCsrO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLHJlamVjdCl7ZnVuY3Rpb24gY2FsbGJhY2soZXJyb3IscmVzdWx0KXtpZihlcnJvcil7cmV0dXJuIHJlamVjdChlcnJvcil9cmV0dXJuIHJlc29sdmUocmVzdWx0KX12YXIgcGF5bG9hZD1KU09OLnN0cmluZ2lmeSh7bWV0aG9kOm1ldGhvZCxwYXJhbXM6cGFyYW1zLGlkOnJpZCxqc29ucnBjOiIyLjAifSk7X3RoaXMuZW1pdCgiZGVidWciLHthY3Rpb246InJlcXVlc3QiLHJlcXVlc3Q6SlNPTi5wYXJzZShwYXlsb2FkKSxwcm92aWRlcjpfdGhpc30pO190aGlzLl9yZXF1ZXN0c1tTdHJpbmcocmlkKV09e2NhbGxiYWNrOmNhbGxiYWNrLHBheWxvYWQ6cGF5bG9hZH07aWYoX3RoaXMuX3dzUmVhZHkpe190aGlzLndlYnNvY2tldC5zZW5kKHBheWxvYWQpfX0pfTtXZWJTb2NrZXRQcm92aWRlci5kZWZhdWx0VXJsPWZ1bmN0aW9uKCl7cmV0dXJuIndzOi8vbG9jYWxob3N0Ojg1NDYifTtXZWJTb2NrZXRQcm92aWRlci5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbih0YWcscGFyYW0scHJvY2Vzc0Z1bmMpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHN1YklkUHJvbWlzZSxzdWJJZDt2YXIgX3RoaXM9dGhpcztyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6c3ViSWRQcm9taXNlPXRoaXMuX3N1Yklkc1t0YWddO2lmKHN1YklkUHJvbWlzZT09bnVsbCl7c3ViSWRQcm9taXNlPVByb21pc2UuYWxsKHBhcmFtKS50aGVuKGZ1bmN0aW9uKHBhcmFtKXtyZXR1cm4gX3RoaXMuc2VuZCgiZXRoX3N1YnNjcmliZSIscGFyYW0pfSk7dGhpcy5fc3ViSWRzW3RhZ109c3ViSWRQcm9taXNlfXJldHVybls0LHN1YklkUHJvbWlzZV07Y2FzZSAxOnN1YklkPV9hLnNlbnQoKTt0aGlzLl9zdWJzW3N1YklkXT17dGFnOnRhZyxwcm9jZXNzRnVuYzpwcm9jZXNzRnVuY307cmV0dXJuWzJdfX0pfSl9O1dlYlNvY2tldFByb3ZpZGVyLnByb3RvdHlwZS5fc3RhcnRFdmVudD1mdW5jdGlvbihldmVudCl7dmFyIF90aGlzPXRoaXM7c3dpdGNoKGV2ZW50LnR5cGUpe2Nhc2UiYmxvY2siOnRoaXMuX3N1YnNjcmliZSgiYmxvY2siLFsibmV3SGVhZHMiXSxmdW5jdGlvbihyZXN1bHQpe3ZhciBibG9ja051bWJlcj1saWIkMi5CaWdOdW1iZXIuZnJvbShyZXN1bHQubnVtYmVyKS50b051bWJlcigpO190aGlzLl9lbWl0dGVkLmJsb2NrPWJsb2NrTnVtYmVyO190aGlzLmVtaXQoImJsb2NrIixibG9ja051bWJlcil9KTticmVhaztjYXNlInBlbmRpbmciOnRoaXMuX3N1YnNjcmliZSgicGVuZGluZyIsWyJuZXdQZW5kaW5nVHJhbnNhY3Rpb25zIl0sZnVuY3Rpb24ocmVzdWx0KXtfdGhpcy5lbWl0KCJwZW5kaW5nIixyZXN1bHQpfSk7YnJlYWs7Y2FzZSJmaWx0ZXIiOnRoaXMuX3N1YnNjcmliZShldmVudC50YWcsWyJsb2dzIix0aGlzLl9nZXRGaWx0ZXIoZXZlbnQuZmlsdGVyKV0sZnVuY3Rpb24ocmVzdWx0KXtpZihyZXN1bHQucmVtb3ZlZD09bnVsbCl7cmVzdWx0LnJlbW92ZWQ9ZmFsc2V9X3RoaXMuZW1pdChldmVudC5maWx0ZXIsX3RoaXMuZm9ybWF0dGVyLmZpbHRlckxvZyhyZXN1bHQpKX0pO2JyZWFrO2Nhc2UidHgiOnt2YXIgZW1pdFJlY2VpcHRfMT1mdW5jdGlvbihldmVudCl7dmFyIGhhc2g9ZXZlbnQuaGFzaDtfdGhpcy5nZXRUcmFuc2FjdGlvblJlY2VpcHQoaGFzaCkudGhlbihmdW5jdGlvbihyZWNlaXB0KXtpZighcmVjZWlwdCl7cmV0dXJufV90aGlzLmVtaXQoaGFzaCxyZWNlaXB0KX0pfTtlbWl0UmVjZWlwdF8xKGV2ZW50KTt0aGlzLl9zdWJzY3JpYmUoInR4IixbIm5ld0hlYWRzIl0sZnVuY3Rpb24ocmVzdWx0KXtfdGhpcy5fZXZlbnRzLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZS50eXBlPT09InR4In0pLmZvckVhY2goZW1pdFJlY2VpcHRfMSl9KTticmVha31jYXNlImRlYnVnIjpjYXNlInBvbGwiOmNhc2Uid2lsbFBvbGwiOmNhc2UiZGlkUG9sbCI6Y2FzZSJlcnJvciI6YnJlYWs7ZGVmYXVsdDpjb25zb2xlLmxvZygidW5oYW5kbGVkOiIsZXZlbnQpO2JyZWFrfX07V2ViU29ja2V0UHJvdmlkZXIucHJvdG90eXBlLl9zdG9wRXZlbnQ9ZnVuY3Rpb24oZXZlbnQpe3ZhciBfdGhpcz10aGlzO3ZhciB0YWc9ZXZlbnQudGFnO2lmKGV2ZW50LnR5cGU9PT0idHgiKXtpZih0aGlzLl9ldmVudHMuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT0idHgifSkubGVuZ3RoKXtyZXR1cm59dGFnPSJ0eCJ9ZWxzZSBpZih0aGlzLmxpc3RlbmVyQ291bnQoZXZlbnQuZXZlbnQpKXtyZXR1cm59dmFyIHN1YklkPXRoaXMuX3N1Yklkc1t0YWddO2lmKCFzdWJJZCl7cmV0dXJufWRlbGV0ZSB0aGlzLl9zdWJJZHNbdGFnXTtzdWJJZC50aGVuKGZ1bmN0aW9uKHN1YklkKXtpZighX3RoaXMuX3N1YnNbc3ViSWRdKXtyZXR1cm59ZGVsZXRlIF90aGlzLl9zdWJzW3N1YklkXTtfdGhpcy5zZW5kKCJldGhfdW5zdWJzY3JpYmUiLFtzdWJJZF0pfSl9O1dlYlNvY2tldFByb3ZpZGVyLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgX3RoaXM9dGhpcztyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYSl7c3dpdGNoKF9hLmxhYmVsKXtjYXNlIDA6aWYoISh0aGlzLndlYnNvY2tldC5yZWFkeVN0YXRlPT09YnJvd3NlcldzLldlYlNvY2tldC5DT05ORUNUSU5HKSlyZXR1cm5bMywyXTtyZXR1cm5bNCxuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKXtfdGhpcy53ZWJzb2NrZXQub25vcGVuPWZ1bmN0aW9uKCl7cmVzb2x2ZSh0cnVlKX07X3RoaXMud2Vic29ja2V0Lm9uZXJyb3I9ZnVuY3Rpb24oKXtyZXNvbHZlKGZhbHNlKX19KV07Y2FzZSAxOl9hLnNlbnQoKTtfYS5sYWJlbD0yO2Nhc2UgMjp0aGlzLndlYnNvY2tldC5jbG9zZSgxZTMpO3JldHVyblsyXX19KX0pfTtyZXR1cm4gV2ViU29ja2V0UHJvdmlkZXJ9KGpzb25ScGNQcm92aWRlci5Kc29uUnBjUHJvdmlkZXIpO2V4cG9ydHMuV2ViU29ja2V0UHJvdmlkZXI9V2ViU29ja2V0UHJvdmlkZXJ9KTt2YXIgd2Vic29ja2V0UHJvdmlkZXIkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyh3ZWJzb2NrZXRQcm92aWRlcik7dmFyIHVybEpzb25ScGNQcm92aWRlcj1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO3ZhciBfX2V4dGVuZHM9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgZXh0ZW5kU3RhdGljcz1mdW5jdGlvbihkLGIpe2V4dGVuZFN0YXRpY3M9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGQsYil7ZC5fX3Byb3RvX189Yn18fGZ1bmN0aW9uKGQsYil7Zm9yKHZhciBwIGluIGIpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIscCkpZFtwXT1iW3BdfTtyZXR1cm4gZXh0ZW5kU3RhdGljcyhkLGIpfTtyZXR1cm4gZnVuY3Rpb24oZCxiKXtpZih0eXBlb2YgYiE9PSJmdW5jdGlvbiImJmIhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoYikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZXh0ZW5kU3RhdGljcyhkLGIpO2Z1bmN0aW9uIF9fKCl7dGhpcy5jb25zdHJ1Y3Rvcj1kfWQucHJvdG90eXBlPWI9PT1udWxsP09iamVjdC5jcmVhdGUoYik6KF9fLnByb3RvdHlwZT1iLnByb3RvdHlwZSxuZXcgX18pfX0oKTt2YXIgX19hd2FpdGVyPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHRoaXNBcmcsX2FyZ3VtZW50cyxQLGdlbmVyYXRvcil7ZnVuY3Rpb24gYWRvcHQodmFsdWUpe3JldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFA/dmFsdWU6bmV3IFAoZnVuY3Rpb24ocmVzb2x2ZSl7cmVzb2x2ZSh2YWx1ZSl9KX1yZXR1cm4gbmV3KFB8fChQPVByb21pc2UpKShmdW5jdGlvbihyZXNvbHZlLHJlamVjdCl7ZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKXt0cnl7c3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpfWNhdGNoKGUpe3JlamVjdChlKX19ZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpe3RyeXtzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpfWNhdGNoKGUpe3JlamVjdChlKX19ZnVuY3Rpb24gc3RlcChyZXN1bHQpe3Jlc3VsdC5kb25lP3Jlc29sdmUocmVzdWx0LnZhbHVlKTphZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLHJlamVjdGVkKX1zdGVwKChnZW5lcmF0b3I9Z2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsX2FyZ3VtZW50c3x8W10pKS5uZXh0KCkpfSl9O3ZhciBfX2dlbmVyYXRvcj1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKHRoaXNBcmcsYm9keSl7dmFyIF89e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKHRbMF0mMSl0aHJvdyB0WzFdO3JldHVybiB0WzFdfSx0cnlzOltdLG9wczpbXX0sZix5LHQsZztyZXR1cm4gZz17bmV4dDp2ZXJiKDApLHRocm93OnZlcmIoMSkscmV0dXJuOnZlcmIoMil9LHR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiYoZ1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxnO2Z1bmN0aW9uIHZlcmIobil7cmV0dXJuIGZ1bmN0aW9uKHYpe3JldHVybiBzdGVwKFtuLHZdKX19ZnVuY3Rpb24gc3RlcChvcCl7aWYoZil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7d2hpbGUoXyl0cnl7aWYoZj0xLHkmJih0PW9wWzBdJjI/eVsicmV0dXJuIl06b3BbMF0/eVsidGhyb3ciXXx8KCh0PXlbInJldHVybiJdKSYmdC5jYWxsKHkpLDApOnkubmV4dCkmJiEodD10LmNhbGwoeSxvcFsxXSkpLmRvbmUpcmV0dXJuIHQ7aWYoeT0wLHQpb3A9W29wWzBdJjIsdC52YWx1ZV07c3dpdGNoKG9wWzBdKXtjYXNlIDA6Y2FzZSAxOnQ9b3A7YnJlYWs7Y2FzZSA0Ol8ubGFiZWwrKztyZXR1cm57dmFsdWU6b3BbMV0sZG9uZTpmYWxzZX07Y2FzZSA1Ol8ubGFiZWwrKzt5PW9wWzFdO29wPVswXTtjb250aW51ZTtjYXNlIDc6b3A9Xy5vcHMucG9wKCk7Xy50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISh0PV8udHJ5cyx0PXQubGVuZ3RoPjAmJnRbdC5sZW5ndGgtMV0pJiYob3BbMF09PT02fHxvcFswXT09PTIpKXtfPTA7Y29udGludWV9aWYob3BbMF09PT0zJiYoIXR8fG9wWzFdPnRbMF0mJm9wWzFdPHRbM10pKXtfLmxhYmVsPW9wWzFdO2JyZWFrfWlmKG9wWzBdPT09NiYmXy5sYWJlbDx0WzFdKXtfLmxhYmVsPXRbMV07dD1vcDticmVha31pZih0JiZfLmxhYmVsPHRbMl0pe18ubGFiZWw9dFsyXTtfLm9wcy5wdXNoKG9wKTticmVha31pZih0WzJdKV8ub3BzLnBvcCgpO18udHJ5cy5wb3AoKTtjb250aW51ZX1vcD1ib2R5LmNhbGwodGhpc0FyZyxfKX1jYXRjaChlKXtvcD1bNixlXTt5PTB9ZmluYWxseXtmPXQ9MH1pZihvcFswXSY1KXRocm93IG9wWzFdO3JldHVybnt2YWx1ZTpvcFswXT9vcFsxXTp2b2lkIDAsZG9uZTp0cnVlfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuVXJsSnNvblJwY1Byb3ZpZGVyPWV4cG9ydHMuU3RhdGljSnNvblJwY1Byb3ZpZGVyPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJEkudmVyc2lvbik7dmFyIFN0YXRpY0pzb25ScGNQcm92aWRlcj1mdW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhTdGF0aWNKc29uUnBjUHJvdmlkZXIsX3N1cGVyKTtmdW5jdGlvbiBTdGF0aWNKc29uUnBjUHJvdmlkZXIoKXtyZXR1cm4gX3N1cGVyIT09bnVsbCYmX3N1cGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31TdGF0aWNKc29uUnBjUHJvdmlkZXIucHJvdG90eXBlLmRldGVjdE5ldHdvcms9ZnVuY3Rpb24oKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBuZXR3b3JrO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpuZXR3b3JrPXRoaXMubmV0d29yaztpZighKG5ldHdvcms9PW51bGwpKXJldHVyblszLDJdO3JldHVybls0LF9zdXBlci5wcm90b3R5cGUuZGV0ZWN0TmV0d29yay5jYWxsKHRoaXMpXTtjYXNlIDE6bmV0d29yaz1fYS5zZW50KCk7aWYoIW5ldHdvcmspe2xvZ2dlci50aHJvd0Vycm9yKCJubyBuZXR3b3JrIGRldGVjdGVkIixsaWIuTG9nZ2VyLmVycm9ycy5VTktOT1dOX0VSUk9SLHt9KX1pZih0aGlzLl9uZXR3b3JrPT1udWxsKXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkodGhpcywiX25ldHdvcmsiLG5ldHdvcmspO3RoaXMuZW1pdCgibmV0d29yayIsbmV0d29yayxudWxsKX1fYS5sYWJlbD0yO2Nhc2UgMjpyZXR1cm5bMixuZXR3b3JrXX19KX0pfTtyZXR1cm4gU3RhdGljSnNvblJwY1Byb3ZpZGVyfShqc29uUnBjUHJvdmlkZXIuSnNvblJwY1Byb3ZpZGVyKTtleHBvcnRzLlN0YXRpY0pzb25ScGNQcm92aWRlcj1TdGF0aWNKc29uUnBjUHJvdmlkZXI7dmFyIFVybEpzb25ScGNQcm92aWRlcj1mdW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhVcmxKc29uUnBjUHJvdmlkZXIsX3N1cGVyKTtmdW5jdGlvbiBVcmxKc29uUnBjUHJvdmlkZXIobmV0d29yayxhcGlLZXkpe3ZhciBfbmV3VGFyZ2V0PXRoaXMuY29uc3RydWN0b3I7dmFyIF90aGlzPXRoaXM7bG9nZ2VyLmNoZWNrQWJzdHJhY3QoX25ld1RhcmdldCxVcmxKc29uUnBjUHJvdmlkZXIpO25ldHdvcms9KDAsbGliJDMuZ2V0U3RhdGljKShfbmV3VGFyZ2V0LCJnZXROZXR3b3JrIikobmV0d29yayk7YXBpS2V5PSgwLGxpYiQzLmdldFN0YXRpYykoX25ld1RhcmdldCwiZ2V0QXBpS2V5IikoYXBpS2V5KTt2YXIgY29ubmVjdGlvbj0oMCxsaWIkMy5nZXRTdGF0aWMpKF9uZXdUYXJnZXQsImdldFVybCIpKG5ldHdvcmssYXBpS2V5KTtfdGhpcz1fc3VwZXIuY2FsbCh0aGlzLGNvbm5lY3Rpb24sbmV0d29yayl8fHRoaXM7aWYodHlwZW9mIGFwaUtleT09PSJzdHJpbmciKXsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsImFwaUtleSIsYXBpS2V5KX1lbHNlIGlmKGFwaUtleSE9bnVsbCl7T2JqZWN0LmtleXMoYXBpS2V5KS5mb3JFYWNoKGZ1bmN0aW9uKGtleSl7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLGtleSxhcGlLZXlba2V5XSl9KX1yZXR1cm4gX3RoaXN9VXJsSnNvblJwY1Byb3ZpZGVyLnByb3RvdHlwZS5fc3RhcnRQZW5kaW5nPWZ1bmN0aW9uKCl7bG9nZ2VyLndhcm4oIldBUk5JTkc6IEFQSSBwcm92aWRlciBkb2VzIG5vdCBzdXBwb3J0IHBlbmRpbmcgZmlsdGVycyIpfTtVcmxKc29uUnBjUHJvdmlkZXIucHJvdG90eXBlLmlzQ29tbXVuaXR5UmVzb3VyY2U9ZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2V9O1VybEpzb25ScGNQcm92aWRlci5wcm90b3R5cGUuZ2V0U2lnbmVyPWZ1bmN0aW9uKGFkZHJlc3Mpe3JldHVybiBsb2dnZXIudGhyb3dFcnJvcigiQVBJIHByb3ZpZGVyIGRvZXMgbm90IHN1cHBvcnQgc2lnbmluZyIsbGliLkxvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246ImdldFNpZ25lciJ9KX07VXJsSnNvblJwY1Byb3ZpZGVyLnByb3RvdHlwZS5saXN0QWNjb3VudHM9ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKX07VXJsSnNvblJwY1Byb3ZpZGVyLmdldEFwaUtleT1mdW5jdGlvbihhcGlLZXkpe3JldHVybiBhcGlLZXl9O1VybEpzb25ScGNQcm92aWRlci5nZXRVcmw9ZnVuY3Rpb24obmV0d29yayxhcGlLZXkpe3JldHVybiBsb2dnZXIudGhyb3dFcnJvcigibm90IGltcGxlbWVudGVkOyBzdWItY2xhc3NlcyBtdXN0IG92ZXJyaWRlIGdldFVybCIsbGliLkxvZ2dlci5lcnJvcnMuTk9UX0lNUExFTUVOVEVELHtvcGVyYXRpb246ImdldFVybCJ9KX07cmV0dXJuIFVybEpzb25ScGNQcm92aWRlcn0oU3RhdGljSnNvblJwY1Byb3ZpZGVyKTtleHBvcnRzLlVybEpzb25ScGNQcm92aWRlcj1VcmxKc29uUnBjUHJvdmlkZXJ9KTt2YXIgdXJsSnNvblJwY1Byb3ZpZGVyJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanModXJsSnNvblJwY1Byb3ZpZGVyKTt2YXIgYWxjaGVteVByb3ZpZGVyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuQWxjaGVteVByb3ZpZGVyPWV4cG9ydHMuQWxjaGVteVdlYlNvY2tldFByb3ZpZGVyPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJEkudmVyc2lvbik7dmFyIGRlZmF1bHRBcGlLZXk9Il9nZzd3U1NpMEtNQnNkS25HVmZIRHVlcTZ4TUI5RWtDIjt2YXIgQWxjaGVteVdlYlNvY2tldFByb3ZpZGVyPWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEFsY2hlbXlXZWJTb2NrZXRQcm92aWRlcixfc3VwZXIpO2Z1bmN0aW9uIEFsY2hlbXlXZWJTb2NrZXRQcm92aWRlcihuZXR3b3JrLGFwaUtleSl7dmFyIF90aGlzPXRoaXM7dmFyIHByb3ZpZGVyPW5ldyBBbGNoZW15UHJvdmlkZXIobmV0d29yayxhcGlLZXkpO3ZhciB1cmw9cHJvdmlkZXIuY29ubmVjdGlvbi51cmwucmVwbGFjZSgvXmh0dHAvaSwid3MiKS5yZXBsYWNlKCIuYWxjaGVteWFwaS4iLCIud3MuYWxjaGVteWFwaS4iKTtfdGhpcz1fc3VwZXIuY2FsbCh0aGlzLHVybCxwcm92aWRlci5uZXR3b3JrKXx8dGhpczsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsImFwaUtleSIscHJvdmlkZXIuYXBpS2V5KTtyZXR1cm4gX3RoaXN9QWxjaGVteVdlYlNvY2tldFByb3ZpZGVyLnByb3RvdHlwZS5pc0NvbW11bml0eVJlc291cmNlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXBpS2V5PT09ZGVmYXVsdEFwaUtleX07cmV0dXJuIEFsY2hlbXlXZWJTb2NrZXRQcm92aWRlcn0od2Vic29ja2V0UHJvdmlkZXIuV2ViU29ja2V0UHJvdmlkZXIpO2V4cG9ydHMuQWxjaGVteVdlYlNvY2tldFByb3ZpZGVyPUFsY2hlbXlXZWJTb2NrZXRQcm92aWRlcjt2YXIgQWxjaGVteVByb3ZpZGVyPWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEFsY2hlbXlQcm92aWRlcixfc3VwZXIpO2Z1bmN0aW9uIEFsY2hlbXlQcm92aWRlcigpe3JldHVybiBfc3VwZXIhPT1udWxsJiZfc3VwZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfUFsY2hlbXlQcm92aWRlci5nZXRXZWJTb2NrZXRQcm92aWRlcj1mdW5jdGlvbihuZXR3b3JrLGFwaUtleSl7cmV0dXJuIG5ldyBBbGNoZW15V2ViU29ja2V0UHJvdmlkZXIobmV0d29yayxhcGlLZXkpfTtBbGNoZW15UHJvdmlkZXIuZ2V0QXBpS2V5PWZ1bmN0aW9uKGFwaUtleSl7aWYoYXBpS2V5PT1udWxsKXtyZXR1cm4gZGVmYXVsdEFwaUtleX1pZihhcGlLZXkmJnR5cGVvZiBhcGlLZXkhPT0ic3RyaW5nIil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBhcGlLZXkiLCJhcGlLZXkiLGFwaUtleSl9cmV0dXJuIGFwaUtleX07QWxjaGVteVByb3ZpZGVyLmdldFVybD1mdW5jdGlvbihuZXR3b3JrLGFwaUtleSl7dmFyIGhvc3Q9bnVsbDtzd2l0Y2gobmV0d29yay5uYW1lKXtjYXNlImhvbWVzdGVhZCI6aG9zdD0iZXRoLW1haW5uZXQuYWxjaGVteWFwaS5pby92Mi8iO2JyZWFrO2Nhc2UiZ29lcmxpIjpob3N0PSJldGgtZ29lcmxpLmcuYWxjaGVteS5jb20vdjIvIjticmVhaztjYXNlIm1hdGljIjpob3N0PSJwb2x5Z29uLW1haW5uZXQuZy5hbGNoZW15LmNvbS92Mi8iO2JyZWFrO2Nhc2UibWF0aWNtdW0iOmhvc3Q9InBvbHlnb24tbXVtYmFpLmcuYWxjaGVteS5jb20vdjIvIjticmVhaztjYXNlImFyYml0cnVtIjpob3N0PSJhcmItbWFpbm5ldC5nLmFsY2hlbXkuY29tL3YyLyI7YnJlYWs7Y2FzZSJhcmJpdHJ1bS1nb2VybGkiOmhvc3Q9ImFyYi1nb2VybGkuZy5hbGNoZW15LmNvbS92Mi8iO2JyZWFrO2Nhc2Uib3B0aW1pc20iOmhvc3Q9Im9wdC1tYWlubmV0LmcuYWxjaGVteS5jb20vdjIvIjticmVhaztjYXNlIm9wdGltaXNtLWdvZXJsaSI6aG9zdD0ib3B0LWdvZXJsaS5nLmFsY2hlbXkuY29tL3YyLyI7YnJlYWs7ZGVmYXVsdDpsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJ1bnN1cHBvcnRlZCBuZXR3b3JrIiwibmV0d29yayIsYXJndW1lbnRzWzBdKX1yZXR1cm57YWxsb3dHemlwOnRydWUsdXJsOiJodHRwczovIisiLyIraG9zdCthcGlLZXksdGhyb3R0bGVDYWxsYmFjazpmdW5jdGlvbihhdHRlbXB0LHVybCl7aWYoYXBpS2V5PT09ZGVmYXVsdEFwaUtleSl7KDAsZm9ybWF0dGVyLnNob3dUaHJvdHRsZU1lc3NhZ2UpKCl9cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKX19fTtBbGNoZW15UHJvdmlkZXIucHJvdG90eXBlLmlzQ29tbXVuaXR5UmVzb3VyY2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcGlLZXk9PT1kZWZhdWx0QXBpS2V5fTtyZXR1cm4gQWxjaGVteVByb3ZpZGVyfSh1cmxKc29uUnBjUHJvdmlkZXIuVXJsSnNvblJwY1Byb3ZpZGVyKTtleHBvcnRzLkFsY2hlbXlQcm92aWRlcj1BbGNoZW15UHJvdmlkZXJ9KTt2YXIgYWxjaGVteVByb3ZpZGVyJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoYWxjaGVteVByb3ZpZGVyKTt2YXIgYW5rclByb3ZpZGVyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuQW5rclByb3ZpZGVyPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJEkudmVyc2lvbik7dmFyIGRlZmF1bHRBcGlLZXk9IjlmN2Q5MjliMDE4Y2RmZmIzMzg1MTdlZmEwNmY1ODM1OWU4NmZmMWZmZDM1MGJjODg5NzM4NTIzNjU5ZTc5NzIiO2Z1bmN0aW9uIGdldEhvc3QobmFtZSl7c3dpdGNoKG5hbWUpe2Nhc2UiaG9tZXN0ZWFkIjpyZXR1cm4icnBjLmFua3IuY29tL2V0aC8iO2Nhc2Uicm9wc3RlbiI6cmV0dXJuInJwYy5hbmtyLmNvbS9ldGhfcm9wc3Rlbi8iO2Nhc2Uicmlua2VieSI6cmV0dXJuInJwYy5hbmtyLmNvbS9ldGhfcmlua2VieS8iO2Nhc2UiZ29lcmxpIjpyZXR1cm4icnBjLmFua3IuY29tL2V0aF9nb2VybGkvIjtjYXNlIm1hdGljIjpyZXR1cm4icnBjLmFua3IuY29tL3BvbHlnb24vIjtjYXNlImFyYml0cnVtIjpyZXR1cm4icnBjLmFua3IuY29tL2FyYml0cnVtLyJ9cmV0dXJuIGxvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInVuc3VwcG9ydGVkIG5ldHdvcmsiLCJuYW1lIixuYW1lKX12YXIgQW5rclByb3ZpZGVyPWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKEFua3JQcm92aWRlcixfc3VwZXIpO2Z1bmN0aW9uIEFua3JQcm92aWRlcigpe3JldHVybiBfc3VwZXIhPT1udWxsJiZfc3VwZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfUFua3JQcm92aWRlci5wcm90b3R5cGUuaXNDb21tdW5pdHlSZXNvdXJjZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmFwaUtleT09PWRlZmF1bHRBcGlLZXl9O0Fua3JQcm92aWRlci5nZXRBcGlLZXk9ZnVuY3Rpb24oYXBpS2V5KXtpZihhcGlLZXk9PW51bGwpe3JldHVybiBkZWZhdWx0QXBpS2V5fXJldHVybiBhcGlLZXl9O0Fua3JQcm92aWRlci5nZXRVcmw9ZnVuY3Rpb24obmV0d29yayxhcGlLZXkpe2lmKGFwaUtleT09bnVsbCl7YXBpS2V5PWRlZmF1bHRBcGlLZXl9dmFyIGNvbm5lY3Rpb249e2FsbG93R3ppcDp0cnVlLHVybDoiaHR0cHM6Ly8iK2dldEhvc3QobmV0d29yay5uYW1lKSthcGlLZXksdGhyb3R0bGVDYWxsYmFjazpmdW5jdGlvbihhdHRlbXB0LHVybCl7aWYoYXBpS2V5LmFwaUtleT09PWRlZmF1bHRBcGlLZXkpeygwLGZvcm1hdHRlci5zaG93VGhyb3R0bGVNZXNzYWdlKSgpfXJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSl9fTtpZihhcGlLZXkucHJvamVjdFNlY3JldCE9bnVsbCl7Y29ubmVjdGlvbi51c2VyPSIiO2Nvbm5lY3Rpb24ucGFzc3dvcmQ9YXBpS2V5LnByb2plY3RTZWNyZXR9cmV0dXJuIGNvbm5lY3Rpb259O3JldHVybiBBbmtyUHJvdmlkZXJ9KHVybEpzb25ScGNQcm92aWRlci5VcmxKc29uUnBjUHJvdmlkZXIpO2V4cG9ydHMuQW5rclByb3ZpZGVyPUFua3JQcm92aWRlcn0pO3ZhciBhbmtyUHJvdmlkZXIkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhhbmtyUHJvdmlkZXIpO3ZhciBjbG91ZGZsYXJlUHJvdmlkZXI9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgX19leHRlbmRzPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIGV4dGVuZFN0YXRpY3M9ZnVuY3Rpb24oZCxiKXtleHRlbmRTdGF0aWNzPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihkLGIpe2QuX19wcm90b19fPWJ9fHxmdW5jdGlvbihkLGIpe2Zvcih2YXIgcCBpbiBiKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLHApKWRbcF09YltwXX07cmV0dXJuIGV4dGVuZFN0YXRpY3MoZCxiKX07cmV0dXJuIGZ1bmN0aW9uKGQsYil7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iJiZiIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKGIpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2V4dGVuZFN0YXRpY3MoZCxiKTtmdW5jdGlvbiBfXygpe3RoaXMuY29uc3RydWN0b3I9ZH1kLnByb3RvdHlwZT1iPT09bnVsbD9PYmplY3QuY3JlYXRlKGIpOihfXy5wcm90b3R5cGU9Yi5wcm90b3R5cGUsbmV3IF9fKX19KCk7dmFyIF9fYXdhaXRlcj1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19hd2FpdGVyfHxmdW5jdGlvbih0aGlzQXJnLF9hcmd1bWVudHMsUCxnZW5lcmF0b3Ipe2Z1bmN0aW9uIGFkb3B0KHZhbHVlKXtyZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQP3ZhbHVlOm5ldyBQKGZ1bmN0aW9uKHJlc29sdmUpe3Jlc29sdmUodmFsdWUpfSl9cmV0dXJuIG5ldyhQfHwoUD1Qcm9taXNlKSkoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe2Z1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSl7dHJ5e3N0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKX1jYXRjaChlKXtyZWplY3QoZSl9fWZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKXt0cnl7c3RlcChnZW5lcmF0b3JbInRocm93Il0odmFsdWUpKX1jYXRjaChlKXtyZWplY3QoZSl9fWZ1bmN0aW9uIHN0ZXAocmVzdWx0KXtyZXN1bHQuZG9uZT9yZXNvbHZlKHJlc3VsdC52YWx1ZSk6YWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCxyZWplY3RlZCl9c3RlcCgoZ2VuZXJhdG9yPWdlbmVyYXRvci5hcHBseSh0aGlzQXJnLF9hcmd1bWVudHN8fFtdKSkubmV4dCgpKX0pfTt2YXIgX19nZW5lcmF0b3I9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0aGlzQXJnLGJvZHkpe3ZhciBfPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZih0WzBdJjEpdGhyb3cgdFsxXTtyZXR1cm4gdFsxXX0sdHJ5czpbXSxvcHM6W119LGYseSx0LGc7cmV0dXJuIGc9e25leHQ6dmVyYigwKSx0aHJvdzp2ZXJiKDEpLHJldHVybjp2ZXJiKDIpfSx0eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmKGdbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksZztmdW5jdGlvbiB2ZXJiKG4pe3JldHVybiBmdW5jdGlvbih2KXtyZXR1cm4gc3RlcChbbix2XSl9fWZ1bmN0aW9uIHN0ZXAob3Ape2lmKGYpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO3doaWxlKF8pdHJ5e2lmKGY9MSx5JiYodD1vcFswXSYyP3lbInJldHVybiJdOm9wWzBdP3lbInRocm93Il18fCgodD15WyJyZXR1cm4iXSkmJnQuY2FsbCh5KSwwKTp5Lm5leHQpJiYhKHQ9dC5jYWxsKHksb3BbMV0pKS5kb25lKXJldHVybiB0O2lmKHk9MCx0KW9wPVtvcFswXSYyLHQudmFsdWVdO3N3aXRjaChvcFswXSl7Y2FzZSAwOmNhc2UgMTp0PW9wO2JyZWFrO2Nhc2UgNDpfLmxhYmVsKys7cmV0dXJue3ZhbHVlOm9wWzFdLGRvbmU6ZmFsc2V9O2Nhc2UgNTpfLmxhYmVsKys7eT1vcFsxXTtvcD1bMF07Y29udGludWU7Y2FzZSA3Om9wPV8ub3BzLnBvcCgpO18udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEodD1fLnRyeXMsdD10Lmxlbmd0aD4wJiZ0W3QubGVuZ3RoLTFdKSYmKG9wWzBdPT09Nnx8b3BbMF09PT0yKSl7Xz0wO2NvbnRpbnVlfWlmKG9wWzBdPT09MyYmKCF0fHxvcFsxXT50WzBdJiZvcFsxXTx0WzNdKSl7Xy5sYWJlbD1vcFsxXTticmVha31pZihvcFswXT09PTYmJl8ubGFiZWw8dFsxXSl7Xy5sYWJlbD10WzFdO3Q9b3A7YnJlYWt9aWYodCYmXy5sYWJlbDx0WzJdKXtfLmxhYmVsPXRbMl07Xy5vcHMucHVzaChvcCk7YnJlYWt9aWYodFsyXSlfLm9wcy5wb3AoKTtfLnRyeXMucG9wKCk7Y29udGludWV9b3A9Ym9keS5jYWxsKHRoaXNBcmcsXyl9Y2F0Y2goZSl7b3A9WzYsZV07eT0wfWZpbmFsbHl7Zj10PTB9aWYob3BbMF0mNSl0aHJvdyBvcFsxXTtyZXR1cm57dmFsdWU6b3BbMF0/b3BbMV06dm9pZCAwLGRvbmU6dHJ1ZX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLkNsb3VkZmxhcmVQcm92aWRlcj12b2lkIDA7dmFyIGxvZ2dlcj1uZXcgbGliLkxvZ2dlcihfdmVyc2lvbiRJLnZlcnNpb24pO3ZhciBDbG91ZGZsYXJlUHJvdmlkZXI9ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoQ2xvdWRmbGFyZVByb3ZpZGVyLF9zdXBlcik7ZnVuY3Rpb24gQ2xvdWRmbGFyZVByb3ZpZGVyKCl7cmV0dXJuIF9zdXBlciE9PW51bGwmJl9zdXBlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9Q2xvdWRmbGFyZVByb3ZpZGVyLmdldEFwaUtleT1mdW5jdGlvbihhcGlLZXkpe2lmKGFwaUtleSE9bnVsbCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiYXBpS2V5IG5vdCBzdXBwb3J0ZWQgZm9yIGNsb3VkZmxhcmUiLCJhcGlLZXkiLGFwaUtleSl9cmV0dXJuIG51bGx9O0Nsb3VkZmxhcmVQcm92aWRlci5nZXRVcmw9ZnVuY3Rpb24obmV0d29yayxhcGlLZXkpe3ZhciBob3N0PW51bGw7c3dpdGNoKG5ldHdvcmsubmFtZSl7Y2FzZSJob21lc3RlYWQiOmhvc3Q9Imh0dHBzOi8vY2xvdWRmbGFyZS1ldGguY29tLyI7YnJlYWs7ZGVmYXVsdDpsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJ1bnN1cHBvcnRlZCBuZXR3b3JrIiwibmV0d29yayIsYXJndW1lbnRzWzBdKX1yZXR1cm4gaG9zdH07Q2xvdWRmbGFyZVByb3ZpZGVyLnByb3RvdHlwZS5wZXJmb3JtPWZ1bmN0aW9uKG1ldGhvZCxwYXJhbXMpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIGJsb2NrO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDppZighKG1ldGhvZD09PSJnZXRCbG9ja051bWJlciIpKXJldHVyblszLDJdO3JldHVybls0LF9zdXBlci5wcm90b3R5cGUucGVyZm9ybS5jYWxsKHRoaXMsImdldEJsb2NrIix7YmxvY2tUYWc6ImxhdGVzdCJ9KV07Y2FzZSAxOmJsb2NrPV9hLnNlbnQoKTtyZXR1cm5bMixibG9jay5udW1iZXJdO2Nhc2UgMjpyZXR1cm5bMixfc3VwZXIucHJvdG90eXBlLnBlcmZvcm0uY2FsbCh0aGlzLG1ldGhvZCxwYXJhbXMpXX19KX0pfTtyZXR1cm4gQ2xvdWRmbGFyZVByb3ZpZGVyfSh1cmxKc29uUnBjUHJvdmlkZXIuVXJsSnNvblJwY1Byb3ZpZGVyKTtleHBvcnRzLkNsb3VkZmxhcmVQcm92aWRlcj1DbG91ZGZsYXJlUHJvdmlkZXJ9KTt2YXIgY2xvdWRmbGFyZVByb3ZpZGVyJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoY2xvdWRmbGFyZVByb3ZpZGVyKTt2YXIgZXRoZXJzY2FuUHJvdmlkZXI9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgX19leHRlbmRzPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIGV4dGVuZFN0YXRpY3M9ZnVuY3Rpb24oZCxiKXtleHRlbmRTdGF0aWNzPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihkLGIpe2QuX19wcm90b19fPWJ9fHxmdW5jdGlvbihkLGIpe2Zvcih2YXIgcCBpbiBiKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLHApKWRbcF09YltwXX07cmV0dXJuIGV4dGVuZFN0YXRpY3MoZCxiKX07cmV0dXJuIGZ1bmN0aW9uKGQsYil7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iJiZiIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKGIpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2V4dGVuZFN0YXRpY3MoZCxiKTtmdW5jdGlvbiBfXygpe3RoaXMuY29uc3RydWN0b3I9ZH1kLnByb3RvdHlwZT1iPT09bnVsbD9PYmplY3QuY3JlYXRlKGIpOihfXy5wcm90b3R5cGU9Yi5wcm90b3R5cGUsbmV3IF9fKX19KCk7dmFyIF9fYXdhaXRlcj1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19hd2FpdGVyfHxmdW5jdGlvbih0aGlzQXJnLF9hcmd1bWVudHMsUCxnZW5lcmF0b3Ipe2Z1bmN0aW9uIGFkb3B0KHZhbHVlKXtyZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQP3ZhbHVlOm5ldyBQKGZ1bmN0aW9uKHJlc29sdmUpe3Jlc29sdmUodmFsdWUpfSl9cmV0dXJuIG5ldyhQfHwoUD1Qcm9taXNlKSkoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe2Z1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSl7dHJ5e3N0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKX1jYXRjaChlKXtyZWplY3QoZSl9fWZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKXt0cnl7c3RlcChnZW5lcmF0b3JbInRocm93Il0odmFsdWUpKX1jYXRjaChlKXtyZWplY3QoZSl9fWZ1bmN0aW9uIHN0ZXAocmVzdWx0KXtyZXN1bHQuZG9uZT9yZXNvbHZlKHJlc3VsdC52YWx1ZSk6YWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCxyZWplY3RlZCl9c3RlcCgoZ2VuZXJhdG9yPWdlbmVyYXRvci5hcHBseSh0aGlzQXJnLF9hcmd1bWVudHN8fFtdKSkubmV4dCgpKX0pfTt2YXIgX19nZW5lcmF0b3I9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0aGlzQXJnLGJvZHkpe3ZhciBfPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZih0WzBdJjEpdGhyb3cgdFsxXTtyZXR1cm4gdFsxXX0sdHJ5czpbXSxvcHM6W119LGYseSx0LGc7cmV0dXJuIGc9e25leHQ6dmVyYigwKSx0aHJvdzp2ZXJiKDEpLHJldHVybjp2ZXJiKDIpfSx0eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmKGdbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksZztmdW5jdGlvbiB2ZXJiKG4pe3JldHVybiBmdW5jdGlvbih2KXtyZXR1cm4gc3RlcChbbix2XSl9fWZ1bmN0aW9uIHN0ZXAob3Ape2lmKGYpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO3doaWxlKF8pdHJ5e2lmKGY9MSx5JiYodD1vcFswXSYyP3lbInJldHVybiJdOm9wWzBdP3lbInRocm93Il18fCgodD15WyJyZXR1cm4iXSkmJnQuY2FsbCh5KSwwKTp5Lm5leHQpJiYhKHQ9dC5jYWxsKHksb3BbMV0pKS5kb25lKXJldHVybiB0O2lmKHk9MCx0KW9wPVtvcFswXSYyLHQudmFsdWVdO3N3aXRjaChvcFswXSl7Y2FzZSAwOmNhc2UgMTp0PW9wO2JyZWFrO2Nhc2UgNDpfLmxhYmVsKys7cmV0dXJue3ZhbHVlOm9wWzFdLGRvbmU6ZmFsc2V9O2Nhc2UgNTpfLmxhYmVsKys7eT1vcFsxXTtvcD1bMF07Y29udGludWU7Y2FzZSA3Om9wPV8ub3BzLnBvcCgpO18udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEodD1fLnRyeXMsdD10Lmxlbmd0aD4wJiZ0W3QubGVuZ3RoLTFdKSYmKG9wWzBdPT09Nnx8b3BbMF09PT0yKSl7Xz0wO2NvbnRpbnVlfWlmKG9wWzBdPT09MyYmKCF0fHxvcFsxXT50WzBdJiZvcFsxXTx0WzNdKSl7Xy5sYWJlbD1vcFsxXTticmVha31pZihvcFswXT09PTYmJl8ubGFiZWw8dFsxXSl7Xy5sYWJlbD10WzFdO3Q9b3A7YnJlYWt9aWYodCYmXy5sYWJlbDx0WzJdKXtfLmxhYmVsPXRbMl07Xy5vcHMucHVzaChvcCk7YnJlYWt9aWYodFsyXSlfLm9wcy5wb3AoKTtfLnRyeXMucG9wKCk7Y29udGludWV9b3A9Ym9keS5jYWxsKHRoaXNBcmcsXyl9Y2F0Y2goZSl7b3A9WzYsZV07eT0wfWZpbmFsbHl7Zj10PTB9aWYob3BbMF0mNSl0aHJvdyBvcFsxXTtyZXR1cm57dmFsdWU6b3BbMF0/b3BbMV06dm9pZCAwLGRvbmU6dHJ1ZX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLkV0aGVyc2NhblByb3ZpZGVyPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJEkudmVyc2lvbik7ZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25Qb3N0RGF0YSh0cmFuc2FjdGlvbil7dmFyIHJlc3VsdD17fTtmb3IodmFyIGtleSBpbiB0cmFuc2FjdGlvbil7aWYodHJhbnNhY3Rpb25ba2V5XT09bnVsbCl7Y29udGludWV9dmFyIHZhbHVlPXRyYW5zYWN0aW9uW2tleV07aWYoa2V5PT09InR5cGUiJiZ2YWx1ZT09PTApe2NvbnRpbnVlfWlmKHt0eXBlOnRydWUsZ2FzTGltaXQ6dHJ1ZSxnYXNQcmljZTp0cnVlLG1heEZlZVBlckdzOnRydWUsbWF4UHJpb3JpdHlGZWVQZXJHYXM6dHJ1ZSxub25jZTp0cnVlLHZhbHVlOnRydWV9W2tleV0pe3ZhbHVlPSgwLGxpYiQxLmhleFZhbHVlKSgoMCxsaWIkMS5oZXhsaWZ5KSh2YWx1ZSkpfWVsc2UgaWYoa2V5PT09ImFjY2Vzc0xpc3QiKXt2YWx1ZT0iWyIrKDAsbGliJGguYWNjZXNzTGlzdGlmeSkodmFsdWUpLm1hcChmdW5jdGlvbihzZXQpe3JldHVybid7YWRkcmVzczoiJytzZXQuYWRkcmVzcysnIixzdG9yYWdlS2V5czpbIicrc2V0LnN0b3JhZ2VLZXlzLmpvaW4oJyIsIicpKyciXX0nfSkuam9pbigiLCIpKyJdIn1lbHNle3ZhbHVlPSgwLGxpYiQxLmhleGxpZnkpKHZhbHVlKX1yZXN1bHRba2V5XT12YWx1ZX1yZXR1cm4gcmVzdWx0fWZ1bmN0aW9uIGdldFJlc3VsdChyZXN1bHQpe2lmKHJlc3VsdC5zdGF0dXM9PTAmJihyZXN1bHQubWVzc2FnZT09PSJObyByZWNvcmRzIGZvdW5kInx8cmVzdWx0Lm1lc3NhZ2U9PT0iTm8gdHJhbnNhY3Rpb25zIGZvdW5kIikpe3JldHVybiByZXN1bHQucmVzdWx0fWlmKHJlc3VsdC5zdGF0dXMhPTF8fHR5cGVvZiByZXN1bHQubWVzc2FnZSE9PSJzdHJpbmcifHwhcmVzdWx0Lm1lc3NhZ2UubWF0Y2goL15PSy8pKXt2YXIgZXJyb3I9bmV3IEVycm9yKCJpbnZhbGlkIHJlc3BvbnNlIik7ZXJyb3IucmVzdWx0PUpTT04uc3RyaW5naWZ5KHJlc3VsdCk7aWYoKHJlc3VsdC5yZXN1bHR8fCIiKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoInJhdGUgbGltaXQiKT49MCl7ZXJyb3IudGhyb3R0bGVSZXRyeT10cnVlfXRocm93IGVycm9yfXJldHVybiByZXN1bHQucmVzdWx0fWZ1bmN0aW9uIGdldEpzb25SZXN1bHQocmVzdWx0KXtpZihyZXN1bHQmJnJlc3VsdC5zdGF0dXM9PTAmJnJlc3VsdC5tZXNzYWdlPT0iTk9UT0siJiYocmVzdWx0LnJlc3VsdHx8IiIpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigicmF0ZSBsaW1pdCIpPj0wKXt2YXIgZXJyb3I9bmV3IEVycm9yKCJ0aHJvdHRsZWQgcmVzcG9uc2UiKTtlcnJvci5yZXN1bHQ9SlNPTi5zdHJpbmdpZnkocmVzdWx0KTtlcnJvci50aHJvdHRsZVJldHJ5PXRydWU7dGhyb3cgZXJyb3J9aWYocmVzdWx0Lmpzb25ycGMhPSIyLjAiKXt2YXIgZXJyb3I9bmV3IEVycm9yKCJpbnZhbGlkIHJlc3BvbnNlIik7ZXJyb3IucmVzdWx0PUpTT04uc3RyaW5naWZ5KHJlc3VsdCk7dGhyb3cgZXJyb3J9aWYocmVzdWx0LmVycm9yKXt2YXIgZXJyb3I9bmV3IEVycm9yKHJlc3VsdC5lcnJvci5tZXNzYWdlfHwidW5rbm93biBlcnJvciIpO2lmKHJlc3VsdC5lcnJvci5jb2RlKXtlcnJvci5jb2RlPXJlc3VsdC5lcnJvci5jb2RlfWlmKHJlc3VsdC5lcnJvci5kYXRhKXtlcnJvci5kYXRhPXJlc3VsdC5lcnJvci5kYXRhfXRocm93IGVycm9yfXJldHVybiByZXN1bHQucmVzdWx0fWZ1bmN0aW9uIGNoZWNrTG9nVGFnKGJsb2NrVGFnKXtpZihibG9ja1RhZz09PSJwZW5kaW5nIil7dGhyb3cgbmV3IEVycm9yKCJwZW5kaW5nIG5vdCBzdXBwb3J0ZWQiKX1pZihibG9ja1RhZz09PSJsYXRlc3QiKXtyZXR1cm4gYmxvY2tUYWd9cmV0dXJuIHBhcnNlSW50KGJsb2NrVGFnLnN1YnN0cmluZygyKSwxNil9ZnVuY3Rpb24gY2hlY2tFcnJvcihtZXRob2QsZXJyb3IsdHJhbnNhY3Rpb24pe2lmKG1ldGhvZD09PSJjYWxsIiYmZXJyb3IuY29kZT09PWxpYi5Mb2dnZXIuZXJyb3JzLlNFUlZFUl9FUlJPUil7dmFyIGU9ZXJyb3IuZXJyb3I7aWYoZSYmKGUubWVzc2FnZS5tYXRjaCgvcmV2ZXJ0ZWQvaSl8fGUubWVzc2FnZS5tYXRjaCgvVk0gZXhlY3V0aW9uIGVycm9yL2kpKSl7dmFyIGRhdGE9ZS5kYXRhO2lmKGRhdGEpe2RhdGE9IjB4IitkYXRhLnJlcGxhY2UoL14uKjB4L2ksIiIpfWlmKCgwLGxpYiQxLmlzSGV4U3RyaW5nKShkYXRhKSl7cmV0dXJuIGRhdGF9bG9nZ2VyLnRocm93RXJyb3IoIm1pc3NpbmcgcmV2ZXJ0IGRhdGEgaW4gY2FsbCBleGNlcHRpb24iLGxpYi5Mb2dnZXIuZXJyb3JzLkNBTExfRVhDRVBUSU9OLHtlcnJvcjplcnJvcixkYXRhOiIweCJ9KX19dmFyIG1lc3NhZ2U9ZXJyb3IubWVzc2FnZTtpZihlcnJvci5jb2RlPT09bGliLkxvZ2dlci5lcnJvcnMuU0VSVkVSX0VSUk9SKXtpZihlcnJvci5lcnJvciYmdHlwZW9mIGVycm9yLmVycm9yLm1lc3NhZ2U9PT0ic3RyaW5nIil7bWVzc2FnZT1lcnJvci5lcnJvci5tZXNzYWdlfWVsc2UgaWYodHlwZW9mIGVycm9yLmJvZHk9PT0ic3RyaW5nIil7bWVzc2FnZT1lcnJvci5ib2R5fWVsc2UgaWYodHlwZW9mIGVycm9yLnJlc3BvbnNlVGV4dD09PSJzdHJpbmciKXttZXNzYWdlPWVycm9yLnJlc3BvbnNlVGV4dH19bWVzc2FnZT0obWVzc2FnZXx8IiIpLnRvTG93ZXJDYXNlKCk7aWYobWVzc2FnZS5tYXRjaCgvaW5zdWZmaWNpZW50IGZ1bmRzLykpe2xvZ2dlci50aHJvd0Vycm9yKCJpbnN1ZmZpY2llbnQgZnVuZHMgZm9yIGludHJpbnNpYyB0cmFuc2FjdGlvbiBjb3N0IixsaWIuTG9nZ2VyLmVycm9ycy5JTlNVRkZJQ0lFTlRfRlVORFMse2Vycm9yOmVycm9yLG1ldGhvZDptZXRob2QsdHJhbnNhY3Rpb246dHJhbnNhY3Rpb259KX1pZihtZXNzYWdlLm1hdGNoKC9zYW1lIGhhc2ggd2FzIGFscmVhZHkgaW1wb3J0ZWR8dHJhbnNhY3Rpb24gbm9uY2UgaXMgdG9vIGxvd3xub25jZSB0b28gbG93Lykpe2xvZ2dlci50aHJvd0Vycm9yKCJub25jZSBoYXMgYWxyZWFkeSBiZWVuIHVzZWQiLGxpYi5Mb2dnZXIuZXJyb3JzLk5PTkNFX0VYUElSRUQse2Vycm9yOmVycm9yLG1ldGhvZDptZXRob2QsdHJhbnNhY3Rpb246dHJhbnNhY3Rpb259KX1pZihtZXNzYWdlLm1hdGNoKC9hbm90aGVyIHRyYW5zYWN0aW9uIHdpdGggc2FtZSBub25jZS8pKXtsb2dnZXIudGhyb3dFcnJvcigicmVwbGFjZW1lbnQgZmVlIHRvbyBsb3ciLGxpYi5Mb2dnZXIuZXJyb3JzLlJFUExBQ0VNRU5UX1VOREVSUFJJQ0VELHtlcnJvcjplcnJvcixtZXRob2Q6bWV0aG9kLHRyYW5zYWN0aW9uOnRyYW5zYWN0aW9ufSl9aWYobWVzc2FnZS5tYXRjaCgvZXhlY3V0aW9uIGZhaWxlZCBkdWUgdG8gYW4gZXhjZXB0aW9ufGV4ZWN1dGlvbiByZXZlcnRlZC8pKXtsb2dnZXIudGhyb3dFcnJvcigiY2Fubm90IGVzdGltYXRlIGdhczsgdHJhbnNhY3Rpb24gbWF5IGZhaWwgb3IgbWF5IHJlcXVpcmUgbWFudWFsIGdhcyBsaW1pdCIsbGliLkxvZ2dlci5lcnJvcnMuVU5QUkVESUNUQUJMRV9HQVNfTElNSVQse2Vycm9yOmVycm9yLG1ldGhvZDptZXRob2QsdHJhbnNhY3Rpb246dHJhbnNhY3Rpb259KX10aHJvdyBlcnJvcn12YXIgRXRoZXJzY2FuUHJvdmlkZXI9ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoRXRoZXJzY2FuUHJvdmlkZXIsX3N1cGVyKTtmdW5jdGlvbiBFdGhlcnNjYW5Qcm92aWRlcihuZXR3b3JrLGFwaUtleSl7dmFyIF90aGlzPV9zdXBlci5jYWxsKHRoaXMsbmV0d29yayl8fHRoaXM7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJiYXNlVXJsIixfdGhpcy5nZXRCYXNlVXJsKCkpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KShfdGhpcywiYXBpS2V5IixhcGlLZXl8fG51bGwpO3JldHVybiBfdGhpc31FdGhlcnNjYW5Qcm92aWRlci5wcm90b3R5cGUuZ2V0QmFzZVVybD1mdW5jdGlvbigpe3N3aXRjaCh0aGlzLm5ldHdvcms/dGhpcy5uZXR3b3JrLm5hbWU6ImludmFsaWQiKXtjYXNlImhvbWVzdGVhZCI6cmV0dXJuImh0dHBzOi8vYXBpLmV0aGVyc2Nhbi5pbyI7Y2FzZSJnb2VybGkiOnJldHVybiJodHRwczovL2FwaS1nb2VybGkuZXRoZXJzY2FuLmlvIjtjYXNlInNlcG9saWEiOnJldHVybiJodHRwczovL2FwaS1zZXBvbGlhLmV0aGVyc2Nhbi5pbyI7Y2FzZSJtYXRpYyI6cmV0dXJuImh0dHBzOi8vYXBpLnBvbHlnb25zY2FuLmNvbSI7Y2FzZSJtYXRpY211bSI6cmV0dXJuImh0dHBzOi8vYXBpLXRlc3RuZXQucG9seWdvbnNjYW4uY29tIjtjYXNlImFyYml0cnVtIjpyZXR1cm4iaHR0cHM6Ly9hcGkuYXJiaXNjYW4uaW8iO2Nhc2UiYXJiaXRydW0tZ29lcmxpIjpyZXR1cm4iaHR0cHM6Ly9hcGktZ29lcmxpLmFyYmlzY2FuLmlvIjtjYXNlIm9wdGltaXNtIjpyZXR1cm4iaHR0cHM6Ly9hcGktb3B0aW1pc3RpYy5ldGhlcnNjYW4uaW8iO2Nhc2Uib3B0aW1pc20tZ29lcmxpIjpyZXR1cm4iaHR0cHM6Ly9hcGktZ29lcmxpLW9wdGltaXN0aWMuZXRoZXJzY2FuLmlvIjtkZWZhdWx0On1yZXR1cm4gbG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidW5zdXBwb3J0ZWQgbmV0d29yayIsIm5ldHdvcmsiLHRoaXMubmV0d29yay5uYW1lKX07RXRoZXJzY2FuUHJvdmlkZXIucHJvdG90eXBlLmdldFVybD1mdW5jdGlvbihtb2R1bGUscGFyYW1zKXt2YXIgcXVlcnk9T2JqZWN0LmtleXMocGFyYW1zKS5yZWR1Y2UoZnVuY3Rpb24oYWNjdW0sa2V5KXt2YXIgdmFsdWU9cGFyYW1zW2tleV07aWYodmFsdWUhPW51bGwpe2FjY3VtKz0iJiIra2V5KyI9Iit2YWx1ZX1yZXR1cm4gYWNjdW19LCIiKTt2YXIgYXBpS2V5PXRoaXMuYXBpS2V5PyImYXBpa2V5PSIrdGhpcy5hcGlLZXk6IiI7cmV0dXJuIHRoaXMuYmFzZVVybCsiL2FwaT9tb2R1bGU9Iittb2R1bGUrcXVlcnkrYXBpS2V5fTtFdGhlcnNjYW5Qcm92aWRlci5wcm90b3R5cGUuZ2V0UG9zdFVybD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmJhc2VVcmwrIi9hcGkifTtFdGhlcnNjYW5Qcm92aWRlci5wcm90b3R5cGUuZ2V0UG9zdERhdGE9ZnVuY3Rpb24obW9kdWxlLHBhcmFtcyl7cGFyYW1zLm1vZHVsZT1tb2R1bGU7cGFyYW1zLmFwaWtleT10aGlzLmFwaUtleTtyZXR1cm4gcGFyYW1zfTtFdGhlcnNjYW5Qcm92aWRlci5wcm90b3R5cGUuZmV0Y2g9ZnVuY3Rpb24obW9kdWxlLHBhcmFtcyxwb3N0KXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciB1cmwscGF5bG9hZCxwcm9jRnVuYyxjb25uZWN0aW9uLHBheWxvYWRTdHIscmVzdWx0O3ZhciBfdGhpcz10aGlzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDp1cmw9cG9zdD90aGlzLmdldFBvc3RVcmwoKTp0aGlzLmdldFVybChtb2R1bGUscGFyYW1zKTtwYXlsb2FkPXBvc3Q/dGhpcy5nZXRQb3N0RGF0YShtb2R1bGUscGFyYW1zKTpudWxsO3Byb2NGdW5jPW1vZHVsZT09PSJwcm94eSI/Z2V0SnNvblJlc3VsdDpnZXRSZXN1bHQ7dGhpcy5lbWl0KCJkZWJ1ZyIse2FjdGlvbjoicmVxdWVzdCIscmVxdWVzdDp1cmwscHJvdmlkZXI6dGhpc30pO2Nvbm5lY3Rpb249e3VybDp1cmwsdGhyb3R0bGVTbG90SW50ZXJ2YWw6MWUzLHRocm90dGxlQ2FsbGJhY2s6ZnVuY3Rpb24oYXR0ZW1wdCx1cmwpe2lmKF90aGlzLmlzQ29tbXVuaXR5UmVzb3VyY2UoKSl7KDAsZm9ybWF0dGVyLnNob3dUaHJvdHRsZU1lc3NhZ2UpKCl9cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKX19O3BheWxvYWRTdHI9bnVsbDtpZihwYXlsb2FkKXtjb25uZWN0aW9uLmhlYWRlcnM9eyJjb250ZW50LXR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgifTtwYXlsb2FkU3RyPU9iamVjdC5rZXlzKHBheWxvYWQpLm1hcChmdW5jdGlvbihrZXkpe3JldHVybiBrZXkrIj0iK3BheWxvYWRba2V5XX0pLmpvaW4oIiYiKX1yZXR1cm5bNCwoMCxsaWIkcy5mZXRjaEpzb24pKGNvbm5lY3Rpb24scGF5bG9hZFN0cixwcm9jRnVuY3x8Z2V0SnNvblJlc3VsdCldO2Nhc2UgMTpyZXN1bHQ9X2Euc2VudCgpO3RoaXMuZW1pdCgiZGVidWciLHthY3Rpb246InJlc3BvbnNlIixyZXF1ZXN0OnVybCxyZXNwb25zZTooMCxsaWIkMy5kZWVwQ29weSkocmVzdWx0KSxwcm92aWRlcjp0aGlzfSk7cmV0dXJuWzIscmVzdWx0XX19KX0pfTtFdGhlcnNjYW5Qcm92aWRlci5wcm90b3R5cGUuZGV0ZWN0TmV0d29yaz1mdW5jdGlvbigpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3JldHVyblsyLHRoaXMubmV0d29ya119KX0pfTtFdGhlcnNjYW5Qcm92aWRlci5wcm90b3R5cGUucGVyZm9ybT1mdW5jdGlvbihtZXRob2QscGFyYW1zKXtyZXR1cm4gX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBfYSxwb3N0RGF0YSxlcnJvcl8xLHBvc3REYXRhLGVycm9yXzIsYXJncyx0b3BpYzAsbG9ncyxibG9ja3MsaSxsb2csYmxvY2ssX2I7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Mpe3N3aXRjaChfYy5sYWJlbCl7Y2FzZSAwOl9hPW1ldGhvZDtzd2l0Y2goX2Epe2Nhc2UiZ2V0QmxvY2tOdW1iZXIiOnJldHVyblszLDFdO2Nhc2UiZ2V0R2FzUHJpY2UiOnJldHVyblszLDJdO2Nhc2UiZ2V0QmFsYW5jZSI6cmV0dXJuWzMsM107Y2FzZSJnZXRUcmFuc2FjdGlvbkNvdW50IjpyZXR1cm5bMyw0XTtjYXNlImdldENvZGUiOnJldHVyblszLDVdO2Nhc2UiZ2V0U3RvcmFnZUF0IjpyZXR1cm5bMyw2XTtjYXNlInNlbmRUcmFuc2FjdGlvbiI6cmV0dXJuWzMsN107Y2FzZSJnZXRCbG9jayI6cmV0dXJuWzMsOF07Y2FzZSJnZXRUcmFuc2FjdGlvbiI6cmV0dXJuWzMsOV07Y2FzZSJnZXRUcmFuc2FjdGlvblJlY2VpcHQiOnJldHVyblszLDEwXTtjYXNlImNhbGwiOnJldHVyblszLDExXTtjYXNlImVzdGltYXRlR2FzIjpyZXR1cm5bMywxNV07Y2FzZSJnZXRMb2dzIjpyZXR1cm5bMywxOV07Y2FzZSJnZXRFdGhlclByaWNlIjpyZXR1cm5bMywyNl19cmV0dXJuWzMsMjhdO2Nhc2UgMTpyZXR1cm5bMix0aGlzLmZldGNoKCJwcm94eSIse2FjdGlvbjoiZXRoX2Jsb2NrTnVtYmVyIn0pXTtjYXNlIDI6cmV0dXJuWzIsdGhpcy5mZXRjaCgicHJveHkiLHthY3Rpb246ImV0aF9nYXNQcmljZSJ9KV07Y2FzZSAzOnJldHVyblsyLHRoaXMuZmV0Y2goImFjY291bnQiLHthY3Rpb246ImJhbGFuY2UiLGFkZHJlc3M6cGFyYW1zLmFkZHJlc3MsdGFnOnBhcmFtcy5ibG9ja1RhZ30pXTtjYXNlIDQ6cmV0dXJuWzIsdGhpcy5mZXRjaCgicHJveHkiLHthY3Rpb246ImV0aF9nZXRUcmFuc2FjdGlvbkNvdW50IixhZGRyZXNzOnBhcmFtcy5hZGRyZXNzLHRhZzpwYXJhbXMuYmxvY2tUYWd9KV07Y2FzZSA1OnJldHVyblsyLHRoaXMuZmV0Y2goInByb3h5Iix7YWN0aW9uOiJldGhfZ2V0Q29kZSIsYWRkcmVzczpwYXJhbXMuYWRkcmVzcyx0YWc6cGFyYW1zLmJsb2NrVGFnfSldO2Nhc2UgNjpyZXR1cm5bMix0aGlzLmZldGNoKCJwcm94eSIse2FjdGlvbjoiZXRoX2dldFN0b3JhZ2VBdCIsYWRkcmVzczpwYXJhbXMuYWRkcmVzcyxwb3NpdGlvbjpwYXJhbXMucG9zaXRpb24sdGFnOnBhcmFtcy5ibG9ja1RhZ30pXTtjYXNlIDc6cmV0dXJuWzIsdGhpcy5mZXRjaCgicHJveHkiLHthY3Rpb246ImV0aF9zZW5kUmF3VHJhbnNhY3Rpb24iLGhleDpwYXJhbXMuc2lnbmVkVHJhbnNhY3Rpb259LHRydWUpLmNhdGNoKGZ1bmN0aW9uKGVycm9yKXtyZXR1cm4gY2hlY2tFcnJvcigic2VuZFRyYW5zYWN0aW9uIixlcnJvcixwYXJhbXMuc2lnbmVkVHJhbnNhY3Rpb24pfSldO2Nhc2UgODppZihwYXJhbXMuYmxvY2tUYWcpe3JldHVyblsyLHRoaXMuZmV0Y2goInByb3h5Iix7YWN0aW9uOiJldGhfZ2V0QmxvY2tCeU51bWJlciIsdGFnOnBhcmFtcy5ibG9ja1RhZyxib29sZWFuOnBhcmFtcy5pbmNsdWRlVHJhbnNhY3Rpb25zPyJ0cnVlIjoiZmFsc2UifSldfXRocm93IG5ldyBFcnJvcigiZ2V0QmxvY2sgYnkgYmxvY2tIYXNoIG5vdCBpbXBsZW1lbnRlZCIpO2Nhc2UgOTpyZXR1cm5bMix0aGlzLmZldGNoKCJwcm94eSIse2FjdGlvbjoiZXRoX2dldFRyYW5zYWN0aW9uQnlIYXNoIix0eGhhc2g6cGFyYW1zLnRyYW5zYWN0aW9uSGFzaH0pXTtjYXNlIDEwOnJldHVyblsyLHRoaXMuZmV0Y2goInByb3h5Iix7YWN0aW9uOiJldGhfZ2V0VHJhbnNhY3Rpb25SZWNlaXB0Iix0eGhhc2g6cGFyYW1zLnRyYW5zYWN0aW9uSGFzaH0pXTtjYXNlIDExOmlmKHBhcmFtcy5ibG9ja1RhZyE9PSJsYXRlc3QiKXt0aHJvdyBuZXcgRXJyb3IoIkV0aGVyc2NhblByb3ZpZGVyIGRvZXMgbm90IHN1cHBvcnQgYmxvY2tUYWcgZm9yIGNhbGwiKX1wb3N0RGF0YT1nZXRUcmFuc2FjdGlvblBvc3REYXRhKHBhcmFtcy50cmFuc2FjdGlvbik7cG9zdERhdGEubW9kdWxlPSJwcm94eSI7cG9zdERhdGEuYWN0aW9uPSJldGhfY2FsbCI7X2MubGFiZWw9MTI7Y2FzZSAxMjpfYy50cnlzLnB1c2goWzEyLDE0LCwxNV0pO3JldHVybls0LHRoaXMuZmV0Y2goInByb3h5Iixwb3N0RGF0YSx0cnVlKV07Y2FzZSAxMzpyZXR1cm5bMixfYy5zZW50KCldO2Nhc2UgMTQ6ZXJyb3JfMT1fYy5zZW50KCk7cmV0dXJuWzIsY2hlY2tFcnJvcigiY2FsbCIsZXJyb3JfMSxwYXJhbXMudHJhbnNhY3Rpb24pXTtjYXNlIDE1OnBvc3REYXRhPWdldFRyYW5zYWN0aW9uUG9zdERhdGEocGFyYW1zLnRyYW5zYWN0aW9uKTtwb3N0RGF0YS5tb2R1bGU9InByb3h5Ijtwb3N0RGF0YS5hY3Rpb249ImV0aF9lc3RpbWF0ZUdhcyI7X2MubGFiZWw9MTY7Y2FzZSAxNjpfYy50cnlzLnB1c2goWzE2LDE4LCwxOV0pO3JldHVybls0LHRoaXMuZmV0Y2goInByb3h5Iixwb3N0RGF0YSx0cnVlKV07Y2FzZSAxNzpyZXR1cm5bMixfYy5zZW50KCldO2Nhc2UgMTg6ZXJyb3JfMj1fYy5zZW50KCk7cmV0dXJuWzIsY2hlY2tFcnJvcigiZXN0aW1hdGVHYXMiLGVycm9yXzIscGFyYW1zLnRyYW5zYWN0aW9uKV07Y2FzZSAxOTphcmdzPXthY3Rpb246ImdldExvZ3MifTtpZihwYXJhbXMuZmlsdGVyLmZyb21CbG9jayl7YXJncy5mcm9tQmxvY2s9Y2hlY2tMb2dUYWcocGFyYW1zLmZpbHRlci5mcm9tQmxvY2spfWlmKHBhcmFtcy5maWx0ZXIudG9CbG9jayl7YXJncy50b0Jsb2NrPWNoZWNrTG9nVGFnKHBhcmFtcy5maWx0ZXIudG9CbG9jayl9aWYocGFyYW1zLmZpbHRlci5hZGRyZXNzKXthcmdzLmFkZHJlc3M9cGFyYW1zLmZpbHRlci5hZGRyZXNzfWlmKHBhcmFtcy5maWx0ZXIudG9waWNzJiZwYXJhbXMuZmlsdGVyLnRvcGljcy5sZW5ndGg+MCl7aWYocGFyYW1zLmZpbHRlci50b3BpY3MubGVuZ3RoPjEpe2xvZ2dlci50aHJvd0Vycm9yKCJ1bnN1cHBvcnRlZCB0b3BpYyBjb3VudCIsbGliLkxvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHt0b3BpY3M6cGFyYW1zLmZpbHRlci50b3BpY3N9KX1pZihwYXJhbXMuZmlsdGVyLnRvcGljcy5sZW5ndGg9PT0xKXt0b3BpYzA9cGFyYW1zLmZpbHRlci50b3BpY3NbMF07aWYodHlwZW9mIHRvcGljMCE9PSJzdHJpbmcifHx0b3BpYzAubGVuZ3RoIT09NjYpe2xvZ2dlci50aHJvd0Vycm9yKCJ1bnN1cHBvcnRlZCB0b3BpYyBmb3JtYXQiLGxpYi5Mb2dnZXIuZXJyb3JzLlVOU1VQUE9SVEVEX09QRVJBVElPTix7dG9waWMwOnRvcGljMH0pfWFyZ3MudG9waWMwPXRvcGljMH19cmV0dXJuWzQsdGhpcy5mZXRjaCgibG9ncyIsYXJncyldO2Nhc2UgMjA6bG9ncz1fYy5zZW50KCk7YmxvY2tzPXt9O2k9MDtfYy5sYWJlbD0yMTtjYXNlIDIxOmlmKCEoaTxsb2dzLmxlbmd0aCkpcmV0dXJuWzMsMjVdO2xvZz1sb2dzW2ldO2lmKGxvZy5ibG9ja0hhc2ghPW51bGwpe3JldHVyblszLDI0XX1pZighKGJsb2Nrc1tsb2cuYmxvY2tOdW1iZXJdPT1udWxsKSlyZXR1cm5bMywyM107cmV0dXJuWzQsdGhpcy5nZXRCbG9jayhsb2cuYmxvY2tOdW1iZXIpXTtjYXNlIDIyOmJsb2NrPV9jLnNlbnQoKTtpZihibG9jayl7YmxvY2tzW2xvZy5ibG9ja051bWJlcl09YmxvY2suaGFzaH1fYy5sYWJlbD0yMztjYXNlIDIzOmxvZy5ibG9ja0hhc2g9YmxvY2tzW2xvZy5ibG9ja051bWJlcl07X2MubGFiZWw9MjQ7Y2FzZSAyNDppKys7cmV0dXJuWzMsMjFdO2Nhc2UgMjU6cmV0dXJuWzIsbG9nc107Y2FzZSAyNjppZih0aGlzLm5ldHdvcmsubmFtZSE9PSJob21lc3RlYWQiKXtyZXR1cm5bMiwwXX1fYj1wYXJzZUZsb2F0O3JldHVybls0LHRoaXMuZmV0Y2goInN0YXRzIix7YWN0aW9uOiJldGhwcmljZSJ9KV07Y2FzZSAyNzpyZXR1cm5bMixfYi5hcHBseSh2b2lkIDAsW19jLnNlbnQoKS5ldGh1c2RdKV07Y2FzZSAyODpyZXR1cm5bMywyOV07Y2FzZSAyOTpyZXR1cm5bMixfc3VwZXIucHJvdG90eXBlLnBlcmZvcm0uY2FsbCh0aGlzLG1ldGhvZCxwYXJhbXMpXX19KX0pfTtFdGhlcnNjYW5Qcm92aWRlci5wcm90b3R5cGUuZ2V0SGlzdG9yeT1mdW5jdGlvbihhZGRyZXNzT3JOYW1lLHN0YXJ0QmxvY2ssZW5kQmxvY2spe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHBhcmFtcyxyZXN1bHQ7dmFyIF9hO3ZhciBfdGhpcz10aGlzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9iKXtzd2l0Y2goX2IubGFiZWwpe2Nhc2UgMDpfYT17YWN0aW9uOiJ0eGxpc3QifTtyZXR1cm5bNCx0aGlzLnJlc29sdmVOYW1lKGFkZHJlc3NPck5hbWUpXTtjYXNlIDE6cGFyYW1zPShfYS5hZGRyZXNzPV9iLnNlbnQoKSxfYS5zdGFydGJsb2NrPXN0YXJ0QmxvY2s9PW51bGw/MDpzdGFydEJsb2NrLF9hLmVuZGJsb2NrPWVuZEJsb2NrPT1udWxsPzk5OTk5OTk5OmVuZEJsb2NrLF9hLnNvcnQ9ImFzYyIsX2EpO3JldHVybls0LHRoaXMuZmV0Y2goImFjY291bnQiLHBhcmFtcyldO2Nhc2UgMjpyZXN1bHQ9X2Iuc2VudCgpO3JldHVyblsyLHJlc3VsdC5tYXAoZnVuY3Rpb24odHgpe1siY29udHJhY3RBZGRyZXNzIiwidG8iXS5mb3JFYWNoKGZ1bmN0aW9uKGtleSl7aWYodHhba2V5XT09IiIpe2RlbGV0ZSB0eFtrZXldfX0pO2lmKHR4LmNyZWF0ZXM9PW51bGwmJnR4LmNvbnRyYWN0QWRkcmVzcyE9bnVsbCl7dHguY3JlYXRlcz10eC5jb250cmFjdEFkZHJlc3N9dmFyIGl0ZW09X3RoaXMuZm9ybWF0dGVyLnRyYW5zYWN0aW9uUmVzcG9uc2UodHgpO2lmKHR4LnRpbWVTdGFtcCl7aXRlbS50aW1lc3RhbXA9cGFyc2VJbnQodHgudGltZVN0YW1wKX1yZXR1cm4gaXRlbX0pXX19KX0pfTtFdGhlcnNjYW5Qcm92aWRlci5wcm90b3R5cGUuaXNDb21tdW5pdHlSZXNvdXJjZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmFwaUtleT09bnVsbH07cmV0dXJuIEV0aGVyc2NhblByb3ZpZGVyfShiYXNlUHJvdmlkZXIuQmFzZVByb3ZpZGVyKTtleHBvcnRzLkV0aGVyc2NhblByb3ZpZGVyPUV0aGVyc2NhblByb3ZpZGVyfSk7dmFyIGV0aGVyc2NhblByb3ZpZGVyJDE9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoZXRoZXJzY2FuUHJvdmlkZXIpO3ZhciBmYWxsYmFja1Byb3ZpZGVyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO3ZhciBfX2F3YWl0ZXI9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fYXdhaXRlcnx8ZnVuY3Rpb24odGhpc0FyZyxfYXJndW1lbnRzLFAsZ2VuZXJhdG9yKXtmdW5jdGlvbiBhZG9wdCh2YWx1ZSl7cmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUD92YWx1ZTpuZXcgUChmdW5jdGlvbihyZXNvbHZlKXtyZXNvbHZlKHZhbHVlKX0pfXJldHVybiBuZXcoUHx8KFA9UHJvbWlzZSkpKGZ1bmN0aW9uKHJlc29sdmUscmVqZWN0KXtmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpe3RyeXtzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSl9Y2F0Y2goZSl7cmVqZWN0KGUpfX1mdW5jdGlvbiByZWplY3RlZCh2YWx1ZSl7dHJ5e3N0ZXAoZ2VuZXJhdG9yWyJ0aHJvdyJdKHZhbHVlKSl9Y2F0Y2goZSl7cmVqZWN0KGUpfX1mdW5jdGlvbiBzdGVwKHJlc3VsdCl7cmVzdWx0LmRvbmU/cmVzb2x2ZShyZXN1bHQudmFsdWUpOmFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQscmVqZWN0ZWQpfXN0ZXAoKGdlbmVyYXRvcj1nZW5lcmF0b3IuYXBwbHkodGhpc0FyZyxfYXJndW1lbnRzfHxbXSkpLm5leHQoKSl9KX07dmFyIF9fZ2VuZXJhdG9yPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24odGhpc0FyZyxib2R5KXt2YXIgXz17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYodFswXSYxKXRocm93IHRbMV07cmV0dXJuIHRbMV19LHRyeXM6W10sb3BzOltdfSxmLHksdCxnO3JldHVybiBnPXtuZXh0OnZlcmIoMCksdGhyb3c6dmVyYigxKSxyZXR1cm46dmVyYigyKX0sdHlwZW9mIFN5bWJvbD09PSJmdW5jdGlvbiImJihnW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGc7ZnVuY3Rpb24gdmVyYihuKXtyZXR1cm4gZnVuY3Rpb24odil7cmV0dXJuIHN0ZXAoW24sdl0pfX1mdW5jdGlvbiBzdGVwKG9wKXtpZihmKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTt3aGlsZShfKXRyeXtpZihmPTEseSYmKHQ9b3BbMF0mMj95WyJyZXR1cm4iXTpvcFswXT95WyJ0aHJvdyJdfHwoKHQ9eVsicmV0dXJuIl0pJiZ0LmNhbGwoeSksMCk6eS5uZXh0KSYmISh0PXQuY2FsbCh5LG9wWzFdKSkuZG9uZSlyZXR1cm4gdDtpZih5PTAsdClvcD1bb3BbMF0mMix0LnZhbHVlXTtzd2l0Y2gob3BbMF0pe2Nhc2UgMDpjYXNlIDE6dD1vcDticmVhaztjYXNlIDQ6Xy5sYWJlbCsrO3JldHVybnt2YWx1ZTpvcFsxXSxkb25lOmZhbHNlfTtjYXNlIDU6Xy5sYWJlbCsrO3k9b3BbMV07b3A9WzBdO2NvbnRpbnVlO2Nhc2UgNzpvcD1fLm9wcy5wb3AoKTtfLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKHQ9Xy50cnlzLHQ9dC5sZW5ndGg+MCYmdFt0Lmxlbmd0aC0xXSkmJihvcFswXT09PTZ8fG9wWzBdPT09Mikpe189MDtjb250aW51ZX1pZihvcFswXT09PTMmJighdHx8b3BbMV0+dFswXSYmb3BbMV08dFszXSkpe18ubGFiZWw9b3BbMV07YnJlYWt9aWYob3BbMF09PT02JiZfLmxhYmVsPHRbMV0pe18ubGFiZWw9dFsxXTt0PW9wO2JyZWFrfWlmKHQmJl8ubGFiZWw8dFsyXSl7Xy5sYWJlbD10WzJdO18ub3BzLnB1c2gob3ApO2JyZWFrfWlmKHRbMl0pXy5vcHMucG9wKCk7Xy50cnlzLnBvcCgpO2NvbnRpbnVlfW9wPWJvZHkuY2FsbCh0aGlzQXJnLF8pfWNhdGNoKGUpe29wPVs2LGVdO3k9MH1maW5hbGx5e2Y9dD0wfWlmKG9wWzBdJjUpdGhyb3cgb3BbMV07cmV0dXJue3ZhbHVlOm9wWzBdP29wWzFdOnZvaWQgMCxkb25lOnRydWV9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5GYWxsYmFja1Byb3ZpZGVyPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJEkudmVyc2lvbik7ZnVuY3Rpb24gbm93KCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCl9ZnVuY3Rpb24gY2hlY2tOZXR3b3JrcyhuZXR3b3Jrcyl7dmFyIHJlc3VsdD1udWxsO2Zvcih2YXIgaT0wO2k8bmV0d29ya3MubGVuZ3RoO2krKyl7dmFyIG5ldHdvcms9bmV0d29ya3NbaV07aWYobmV0d29yaz09bnVsbCl7cmV0dXJuIG51bGx9aWYocmVzdWx0KXtpZighKHJlc3VsdC5uYW1lPT09bmV0d29yay5uYW1lJiZyZXN1bHQuY2hhaW5JZD09PW5ldHdvcmsuY2hhaW5JZCYmKHJlc3VsdC5lbnNBZGRyZXNzPT09bmV0d29yay5lbnNBZGRyZXNzfHxyZXN1bHQuZW5zQWRkcmVzcz09bnVsbCYmbmV0d29yay5lbnNBZGRyZXNzPT1udWxsKSkpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInByb3ZpZGVyIG1pc21hdGNoIiwibmV0d29ya3MiLG5ldHdvcmtzKX19ZWxzZXtyZXN1bHQ9bmV0d29ya319cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBtZWRpYW4odmFsdWVzLG1heERlbHRhKXt2YWx1ZXM9dmFsdWVzLnNsaWNlKCkuc29ydCgpO3ZhciBtaWRkbGU9TWF0aC5mbG9vcih2YWx1ZXMubGVuZ3RoLzIpO2lmKHZhbHVlcy5sZW5ndGglMil7cmV0dXJuIHZhbHVlc1ttaWRkbGVdfXZhciBhPXZhbHVlc1ttaWRkbGUtMV0sYj12YWx1ZXNbbWlkZGxlXTtpZihtYXhEZWx0YSE9bnVsbCYmTWF0aC5hYnMoYS1iKT5tYXhEZWx0YSl7cmV0dXJuIG51bGx9cmV0dXJuKGErYikvMn1mdW5jdGlvbiBzZXJpYWxpemUodmFsdWUpe2lmKHZhbHVlPT09bnVsbCl7cmV0dXJuIm51bGwifWVsc2UgaWYodHlwZW9mIHZhbHVlPT09Im51bWJlciJ8fHR5cGVvZiB2YWx1ZT09PSJib29sZWFuIil7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKX1lbHNlIGlmKHR5cGVvZiB2YWx1ZT09PSJzdHJpbmciKXtyZXR1cm4gdmFsdWV9ZWxzZSBpZihsaWIkMi5CaWdOdW1iZXIuaXNCaWdOdW1iZXIodmFsdWUpKXtyZXR1cm4gdmFsdWUudG9TdHJpbmcoKX1lbHNlIGlmKEFycmF5LmlzQXJyYXkodmFsdWUpKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBzZXJpYWxpemUoaSl9KSl9ZWxzZSBpZih0eXBlb2YgdmFsdWU9PT0ib2JqZWN0Iil7dmFyIGtleXM9T2JqZWN0LmtleXModmFsdWUpO2tleXMuc29ydCgpO3JldHVybiJ7IitrZXlzLm1hcChmdW5jdGlvbihrZXkpe3ZhciB2PXZhbHVlW2tleV07aWYodHlwZW9mIHY9PT0iZnVuY3Rpb24iKXt2PSJbZnVuY3Rpb25dIn1lbHNle3Y9c2VyaWFsaXplKHYpfXJldHVybiBKU09OLnN0cmluZ2lmeShrZXkpKyI6Iit2fSkuam9pbigiLCIpKyJ9In10aHJvdyBuZXcgRXJyb3IoInVua25vd24gdmFsdWUgdHlwZTogIit0eXBlb2YgdmFsdWUpfXZhciBuZXh0UmlkPTE7ZnVuY3Rpb24gc3RhbGwoZHVyYXRpb24pe3ZhciBjYW5jZWw9bnVsbDt2YXIgdGltZXI9bnVsbDt2YXIgcHJvbWlzZT1uZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKXtjYW5jZWw9ZnVuY3Rpb24oKXtpZih0aW1lcil7Y2xlYXJUaW1lb3V0KHRpbWVyKTt0aW1lcj1udWxsfXJlc29sdmUoKX07dGltZXI9c2V0VGltZW91dChjYW5jZWwsZHVyYXRpb24pfSk7dmFyIHdhaXQ9ZnVuY3Rpb24oZnVuYyl7cHJvbWlzZT1wcm9taXNlLnRoZW4oZnVuYyk7cmV0dXJuIHByb21pc2V9O2Z1bmN0aW9uIGdldFByb21pc2UoKXtyZXR1cm4gcHJvbWlzZX1yZXR1cm57Y2FuY2VsOmNhbmNlbCxnZXRQcm9taXNlOmdldFByb21pc2Usd2FpdDp3YWl0fX12YXIgRm9yd2FyZEVycm9ycz1bbGliLkxvZ2dlci5lcnJvcnMuQ0FMTF9FWENFUFRJT04sbGliLkxvZ2dlci5lcnJvcnMuSU5TVUZGSUNJRU5UX0ZVTkRTLGxpYi5Mb2dnZXIuZXJyb3JzLk5PTkNFX0VYUElSRUQsbGliLkxvZ2dlci5lcnJvcnMuUkVQTEFDRU1FTlRfVU5ERVJQUklDRUQsbGliLkxvZ2dlci5lcnJvcnMuVU5QUkVESUNUQUJMRV9HQVNfTElNSVRdO3ZhciBGb3J3YXJkUHJvcGVydGllcz1bImFkZHJlc3MiLCJhcmdzIiwiZXJyb3JBcmdzIiwiZXJyb3JTaWduYXR1cmUiLCJtZXRob2QiLCJ0cmFuc2FjdGlvbiJdO2Z1bmN0aW9uIGV4cG9zZURlYnVnQ29uZmlnKGNvbmZpZyxub3cpe3ZhciByZXN1bHQ9e3dlaWdodDpjb25maWcud2VpZ2h0fTtPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzdWx0LCJwcm92aWRlciIse2dldDpmdW5jdGlvbigpe3JldHVybiBjb25maWcucHJvdmlkZXJ9fSk7aWYoY29uZmlnLnN0YXJ0KXtyZXN1bHQuc3RhcnQ9Y29uZmlnLnN0YXJ0fWlmKG5vdyl7cmVzdWx0LmR1cmF0aW9uPW5vdy1jb25maWcuc3RhcnR9aWYoY29uZmlnLmRvbmUpe2lmKGNvbmZpZy5lcnJvcil7cmVzdWx0LmVycm9yPWNvbmZpZy5lcnJvcn1lbHNle3Jlc3VsdC5yZXN1bHQ9Y29uZmlnLnJlc3VsdHx8bnVsbH19cmV0dXJuIHJlc3VsdH1mdW5jdGlvbiBub3JtYWxpemVkVGFsbHkobm9ybWFsaXplLHF1b3J1bSl7cmV0dXJuIGZ1bmN0aW9uKGNvbmZpZ3Mpe3ZhciB0YWxseT17fTtjb25maWdzLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIHZhbHVlPW5vcm1hbGl6ZShjLnJlc3VsdCk7aWYoIXRhbGx5W3ZhbHVlXSl7dGFsbHlbdmFsdWVdPXtjb3VudDowLHJlc3VsdDpjLnJlc3VsdH19dGFsbHlbdmFsdWVdLmNvdW50Kyt9KTt2YXIga2V5cz1PYmplY3Qua2V5cyh0YWxseSk7Zm9yKHZhciBpPTA7aTxrZXlzLmxlbmd0aDtpKyspe3ZhciBjaGVjaz10YWxseVtrZXlzW2ldXTtpZihjaGVjay5jb3VudD49cXVvcnVtKXtyZXR1cm4gY2hlY2sucmVzdWx0fX1yZXR1cm4gdW5kZWZpbmVkfX1mdW5jdGlvbiBnZXRQcm9jZXNzRnVuYyhwcm92aWRlcixtZXRob2QscGFyYW1zKXt2YXIgbm9ybWFsaXplPXNlcmlhbGl6ZTtzd2l0Y2gobWV0aG9kKXtjYXNlImdldEJsb2NrTnVtYmVyIjpyZXR1cm4gZnVuY3Rpb24oY29uZmlncyl7dmFyIHZhbHVlcz1jb25maWdzLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy5yZXN1bHR9KTt2YXIgYmxvY2tOdW1iZXI9bWVkaWFuKGNvbmZpZ3MubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLnJlc3VsdH0pLDIpO2lmKGJsb2NrTnVtYmVyPT1udWxsKXtyZXR1cm4gdW5kZWZpbmVkfWJsb2NrTnVtYmVyPU1hdGguY2VpbChibG9ja051bWJlcik7aWYodmFsdWVzLmluZGV4T2YoYmxvY2tOdW1iZXIrMSk+PTApe2Jsb2NrTnVtYmVyKyt9aWYoYmxvY2tOdW1iZXI+PXByb3ZpZGVyLl9oaWdoZXN0QmxvY2tOdW1iZXIpe3Byb3ZpZGVyLl9oaWdoZXN0QmxvY2tOdW1iZXI9YmxvY2tOdW1iZXJ9cmV0dXJuIHByb3ZpZGVyLl9oaWdoZXN0QmxvY2tOdW1iZXJ9O2Nhc2UiZ2V0R2FzUHJpY2UiOnJldHVybiBmdW5jdGlvbihjb25maWdzKXt2YXIgdmFsdWVzPWNvbmZpZ3MubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLnJlc3VsdH0pO3ZhbHVlcy5zb3J0KCk7cmV0dXJuIHZhbHVlc1tNYXRoLmZsb29yKHZhbHVlcy5sZW5ndGgvMildfTtjYXNlImdldEV0aGVyUHJpY2UiOnJldHVybiBmdW5jdGlvbihjb25maWdzKXtyZXR1cm4gbWVkaWFuKGNvbmZpZ3MubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLnJlc3VsdH0pKX07Y2FzZSJnZXRCYWxhbmNlIjpjYXNlImdldFRyYW5zYWN0aW9uQ291bnQiOmNhc2UiZ2V0Q29kZSI6Y2FzZSJnZXRTdG9yYWdlQXQiOmNhc2UiY2FsbCI6Y2FzZSJlc3RpbWF0ZUdhcyI6Y2FzZSJnZXRMb2dzIjpicmVhaztjYXNlImdldFRyYW5zYWN0aW9uIjpjYXNlImdldFRyYW5zYWN0aW9uUmVjZWlwdCI6bm9ybWFsaXplPWZ1bmN0aW9uKHR4KXtpZih0eD09bnVsbCl7cmV0dXJuIG51bGx9dHg9KDAsbGliJDMuc2hhbGxvd0NvcHkpKHR4KTt0eC5jb25maXJtYXRpb25zPS0xO3JldHVybiBzZXJpYWxpemUodHgpfTticmVhaztjYXNlImdldEJsb2NrIjppZihwYXJhbXMuaW5jbHVkZVRyYW5zYWN0aW9ucyl7bm9ybWFsaXplPWZ1bmN0aW9uKGJsb2NrKXtpZihibG9jaz09bnVsbCl7cmV0dXJuIG51bGx9YmxvY2s9KDAsbGliJDMuc2hhbGxvd0NvcHkpKGJsb2NrKTtibG9jay50cmFuc2FjdGlvbnM9YmxvY2sudHJhbnNhY3Rpb25zLm1hcChmdW5jdGlvbih0eCl7dHg9KDAsbGliJDMuc2hhbGxvd0NvcHkpKHR4KTt0eC5jb25maXJtYXRpb25zPS0xO3JldHVybiB0eH0pO3JldHVybiBzZXJpYWxpemUoYmxvY2spfX1lbHNle25vcm1hbGl6ZT1mdW5jdGlvbihibG9jayl7aWYoYmxvY2s9PW51bGwpe3JldHVybiBudWxsfXJldHVybiBzZXJpYWxpemUoYmxvY2spfX1icmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigidW5rbm93biBtZXRob2Q6ICIrbWV0aG9kKX1yZXR1cm4gbm9ybWFsaXplZFRhbGx5KG5vcm1hbGl6ZSxwcm92aWRlci5xdW9ydW0pfWZ1bmN0aW9uIHdhaXRGb3JTeW5jKGNvbmZpZyxibG9ja051bWJlcil7cmV0dXJuIF9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgcHJvdmlkZXI7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3Byb3ZpZGVyPWNvbmZpZy5wcm92aWRlcjtpZihwcm92aWRlci5ibG9ja051bWJlciE9bnVsbCYmcHJvdmlkZXIuYmxvY2tOdW1iZXI+PWJsb2NrTnVtYmVyfHxibG9ja051bWJlcj09PS0xKXtyZXR1cm5bMixwcm92aWRlcl19cmV0dXJuWzIsKDAsbGliJHMucG9sbCkoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihwcm92aWRlci5ibG9ja051bWJlcj49YmxvY2tOdW1iZXIpe3JldHVybiByZXNvbHZlKHByb3ZpZGVyKX1pZihjb25maWcuY2FuY2VsbGVkKXtyZXR1cm4gcmVzb2x2ZShudWxsKX1yZXR1cm4gcmVzb2x2ZSh1bmRlZmluZWQpfSwwKX0pfSx7b25jZVBvbGw6cHJvdmlkZXJ9KV19KX0pfWZ1bmN0aW9uIGdldFJ1bm5lcihjb25maWcsY3VycmVudEJsb2NrTnVtYmVyLG1ldGhvZCxwYXJhbXMpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHByb3ZpZGVyLF9hLGZpbHRlcjtyZXR1cm4gX19nZW5lcmF0b3IodGhpcyxmdW5jdGlvbihfYil7c3dpdGNoKF9iLmxhYmVsKXtjYXNlIDA6cHJvdmlkZXI9Y29uZmlnLnByb3ZpZGVyO19hPW1ldGhvZDtzd2l0Y2goX2Epe2Nhc2UiZ2V0QmxvY2tOdW1iZXIiOnJldHVyblszLDFdO2Nhc2UiZ2V0R2FzUHJpY2UiOnJldHVyblszLDFdO2Nhc2UiZ2V0RXRoZXJQcmljZSI6cmV0dXJuWzMsMl07Y2FzZSJnZXRCYWxhbmNlIjpyZXR1cm5bMywzXTtjYXNlImdldFRyYW5zYWN0aW9uQ291bnQiOnJldHVyblszLDNdO2Nhc2UiZ2V0Q29kZSI6cmV0dXJuWzMsM107Y2FzZSJnZXRTdG9yYWdlQXQiOnJldHVyblszLDZdO2Nhc2UiZ2V0QmxvY2siOnJldHVyblszLDldO2Nhc2UiY2FsbCI6cmV0dXJuWzMsMTJdO2Nhc2UiZXN0aW1hdGVHYXMiOnJldHVyblszLDEyXTtjYXNlImdldFRyYW5zYWN0aW9uIjpyZXR1cm5bMywxNV07Y2FzZSJnZXRUcmFuc2FjdGlvblJlY2VpcHQiOnJldHVyblszLDE1XTtjYXNlImdldExvZ3MiOnJldHVyblszLDE2XX1yZXR1cm5bMywxOV07Y2FzZSAxOnJldHVyblsyLHByb3ZpZGVyW21ldGhvZF0oKV07Y2FzZSAyOmlmKHByb3ZpZGVyLmdldEV0aGVyUHJpY2Upe3JldHVyblsyLHByb3ZpZGVyLmdldEV0aGVyUHJpY2UoKV19cmV0dXJuWzMsMTldO2Nhc2UgMzppZighKHBhcmFtcy5ibG9ja1RhZyYmKDAsbGliJDEuaXNIZXhTdHJpbmcpKHBhcmFtcy5ibG9ja1RhZykpKXJldHVyblszLDVdO3JldHVybls0LHdhaXRGb3JTeW5jKGNvbmZpZyxjdXJyZW50QmxvY2tOdW1iZXIpXTtjYXNlIDQ6cHJvdmlkZXI9X2Iuc2VudCgpO19iLmxhYmVsPTU7Y2FzZSA1OnJldHVyblsyLHByb3ZpZGVyW21ldGhvZF0ocGFyYW1zLmFkZHJlc3MscGFyYW1zLmJsb2NrVGFnfHwibGF0ZXN0IildO2Nhc2UgNjppZighKHBhcmFtcy5ibG9ja1RhZyYmKDAsbGliJDEuaXNIZXhTdHJpbmcpKHBhcmFtcy5ibG9ja1RhZykpKXJldHVyblszLDhdO3JldHVybls0LHdhaXRGb3JTeW5jKGNvbmZpZyxjdXJyZW50QmxvY2tOdW1iZXIpXTtjYXNlIDc6cHJvdmlkZXI9X2Iuc2VudCgpO19iLmxhYmVsPTg7Y2FzZSA4OnJldHVyblsyLHByb3ZpZGVyLmdldFN0b3JhZ2VBdChwYXJhbXMuYWRkcmVzcyxwYXJhbXMucG9zaXRpb24scGFyYW1zLmJsb2NrVGFnfHwibGF0ZXN0IildO2Nhc2UgOTppZighKHBhcmFtcy5ibG9ja1RhZyYmKDAsbGliJDEuaXNIZXhTdHJpbmcpKHBhcmFtcy5ibG9ja1RhZykpKXJldHVyblszLDExXTtyZXR1cm5bNCx3YWl0Rm9yU3luYyhjb25maWcsY3VycmVudEJsb2NrTnVtYmVyKV07Y2FzZSAxMDpwcm92aWRlcj1fYi5zZW50KCk7X2IubGFiZWw9MTE7Y2FzZSAxMTpyZXR1cm5bMixwcm92aWRlcltwYXJhbXMuaW5jbHVkZVRyYW5zYWN0aW9ucz8iZ2V0QmxvY2tXaXRoVHJhbnNhY3Rpb25zIjoiZ2V0QmxvY2siXShwYXJhbXMuYmxvY2tUYWd8fHBhcmFtcy5ibG9ja0hhc2gpXTtjYXNlIDEyOmlmKCEocGFyYW1zLmJsb2NrVGFnJiYoMCxsaWIkMS5pc0hleFN0cmluZykocGFyYW1zLmJsb2NrVGFnKSkpcmV0dXJuWzMsMTRdO3JldHVybls0LHdhaXRGb3JTeW5jKGNvbmZpZyxjdXJyZW50QmxvY2tOdW1iZXIpXTtjYXNlIDEzOnByb3ZpZGVyPV9iLnNlbnQoKTtfYi5sYWJlbD0xNDtjYXNlIDE0OmlmKG1ldGhvZD09PSJjYWxsIiYmcGFyYW1zLmJsb2NrVGFnKXtyZXR1cm5bMixwcm92aWRlclttZXRob2RdKHBhcmFtcy50cmFuc2FjdGlvbixwYXJhbXMuYmxvY2tUYWcpXX1yZXR1cm5bMixwcm92aWRlclttZXRob2RdKHBhcmFtcy50cmFuc2FjdGlvbildO2Nhc2UgMTU6cmV0dXJuWzIscHJvdmlkZXJbbWV0aG9kXShwYXJhbXMudHJhbnNhY3Rpb25IYXNoKV07Y2FzZSAxNjpmaWx0ZXI9cGFyYW1zLmZpbHRlcjtpZighKGZpbHRlci5mcm9tQmxvY2smJigwLGxpYiQxLmlzSGV4U3RyaW5nKShmaWx0ZXIuZnJvbUJsb2NrKXx8ZmlsdGVyLnRvQmxvY2smJigwLGxpYiQxLmlzSGV4U3RyaW5nKShmaWx0ZXIudG9CbG9jaykpKXJldHVyblszLDE4XTtyZXR1cm5bNCx3YWl0Rm9yU3luYyhjb25maWcsY3VycmVudEJsb2NrTnVtYmVyKV07Y2FzZSAxNzpwcm92aWRlcj1fYi5zZW50KCk7X2IubGFiZWw9MTg7Y2FzZSAxODpyZXR1cm5bMixwcm92aWRlci5nZXRMb2dzKGZpbHRlcildO2Nhc2UgMTk6cmV0dXJuWzIsbG9nZ2VyLnRocm93RXJyb3IoInVua25vd24gbWV0aG9kIGVycm9yIixsaWIuTG9nZ2VyLmVycm9ycy5VTktOT1dOX0VSUk9SLHttZXRob2Q6bWV0aG9kLHBhcmFtczpwYXJhbXN9KV19fSl9KX12YXIgRmFsbGJhY2tQcm92aWRlcj1mdW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhGYWxsYmFja1Byb3ZpZGVyLF9zdXBlcik7ZnVuY3Rpb24gRmFsbGJhY2tQcm92aWRlcihwcm92aWRlcnMscXVvcnVtKXt2YXIgX3RoaXM9dGhpcztpZihwcm92aWRlcnMubGVuZ3RoPT09MCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigibWlzc2luZyBwcm92aWRlcnMiLCJwcm92aWRlcnMiLHByb3ZpZGVycyl9dmFyIHByb3ZpZGVyQ29uZmlncz1wcm92aWRlcnMubWFwKGZ1bmN0aW9uKGNvbmZpZ09yUHJvdmlkZXIsaW5kZXgpe2lmKGxpYiRlLlByb3ZpZGVyLmlzUHJvdmlkZXIoY29uZmlnT3JQcm92aWRlcikpe3ZhciBzdGFsbFRpbWVvdXQ9KDAsZm9ybWF0dGVyLmlzQ29tbXVuaXR5UmVzb3VyY2UpKGNvbmZpZ09yUHJvdmlkZXIpPzJlMzo3NTA7dmFyIHByaW9yaXR5PTE7cmV0dXJuIE9iamVjdC5mcmVlemUoe3Byb3ZpZGVyOmNvbmZpZ09yUHJvdmlkZXIsd2VpZ2h0OjEsc3RhbGxUaW1lb3V0OnN0YWxsVGltZW91dCxwcmlvcml0eTpwcmlvcml0eX0pfXZhciBjb25maWc9KDAsbGliJDMuc2hhbGxvd0NvcHkpKGNvbmZpZ09yUHJvdmlkZXIpO2lmKGNvbmZpZy5wcmlvcml0eT09bnVsbCl7Y29uZmlnLnByaW9yaXR5PTF9aWYoY29uZmlnLnN0YWxsVGltZW91dD09bnVsbCl7Y29uZmlnLnN0YWxsVGltZW91dD0oMCxmb3JtYXR0ZXIuaXNDb21tdW5pdHlSZXNvdXJjZSkoY29uZmlnT3JQcm92aWRlcik/MmUzOjc1MH1pZihjb25maWcud2VpZ2h0PT1udWxsKXtjb25maWcud2VpZ2h0PTF9dmFyIHdlaWdodD1jb25maWcud2VpZ2h0O2lmKHdlaWdodCUxfHx3ZWlnaHQ+NTEyfHx3ZWlnaHQ8MSl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCB3ZWlnaHQ7IG11c3QgYmUgaW50ZWdlciBpbiBbMSwgNTEyXSIsInByb3ZpZGVyc1siK2luZGV4KyJdLndlaWdodCIsd2VpZ2h0KX1yZXR1cm4gT2JqZWN0LmZyZWV6ZShjb25maWcpfSk7dmFyIHRvdGFsPXByb3ZpZGVyQ29uZmlncy5yZWR1Y2UoZnVuY3Rpb24oYWNjdW0sYyl7cmV0dXJuIGFjY3VtK2Mud2VpZ2h0fSwwKTtpZihxdW9ydW09PW51bGwpe3F1b3J1bT10b3RhbC8yfWVsc2UgaWYocXVvcnVtPnRvdGFsKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJxdW9ydW0gd2lsbCBhbHdheXMgZmFpbDsgbGFyZ2VyIHRoYW4gdG90YWwgd2VpZ2h0IiwicXVvcnVtIixxdW9ydW0pfXZhciBuZXR3b3JrT3JSZWFkeT1jaGVja05ldHdvcmtzKHByb3ZpZGVyQ29uZmlncy5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIGMucHJvdmlkZXIubmV0d29ya30pKTtpZihuZXR3b3JrT3JSZWFkeT09bnVsbCl7bmV0d29ya09yUmVhZHk9bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtfdGhpcy5kZXRlY3ROZXR3b3JrKCkudGhlbihyZXNvbHZlLHJlamVjdCl9LDApfSl9X3RoaXM9X3N1cGVyLmNhbGwodGhpcyxuZXR3b3JrT3JSZWFkeSl8fHRoaXM7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJwcm92aWRlckNvbmZpZ3MiLE9iamVjdC5mcmVlemUocHJvdmlkZXJDb25maWdzKSk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJxdW9ydW0iLHF1b3J1bSk7X3RoaXMuX2hpZ2hlc3RCbG9ja051bWJlcj0tMTtyZXR1cm4gX3RoaXN9RmFsbGJhY2tQcm92aWRlci5wcm90b3R5cGUuZGV0ZWN0TmV0d29yaz1mdW5jdGlvbigpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG5ldHdvcmtzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9hKXtzd2l0Y2goX2EubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCxQcm9taXNlLmFsbCh0aGlzLnByb3ZpZGVyQ29uZmlncy5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIGMucHJvdmlkZXIuZ2V0TmV0d29yaygpfSkpXTtjYXNlIDE6bmV0d29ya3M9X2Euc2VudCgpO3JldHVyblsyLGNoZWNrTmV0d29ya3MobmV0d29ya3MpXX19KX0pfTtGYWxsYmFja1Byb3ZpZGVyLnByb3RvdHlwZS5wZXJmb3JtPWZ1bmN0aW9uKG1ldGhvZCxwYXJhbXMpe3JldHVybiBfX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIHJlc3VsdHMsaV8xLHJlc3VsdCxwcm9jZXNzRnVuYyxjb25maWdzLGN1cnJlbnRCbG9ja051bWJlcixpLGZpcnN0LF9sb29wXzEsdGhpc18xLHN0YXRlXzE7dmFyIF90aGlzPXRoaXM7cmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsZnVuY3Rpb24oX2Epe3N3aXRjaChfYS5sYWJlbCl7Y2FzZSAwOmlmKCEobWV0aG9kPT09InNlbmRUcmFuc2FjdGlvbiIpKXJldHVyblszLDJdO3JldHVybls0LFByb21pc2UuYWxsKHRoaXMucHJvdmlkZXJDb25maWdzLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy5wcm92aWRlci5zZW5kVHJhbnNhY3Rpb24ocGFyYW1zLnNpZ25lZFRyYW5zYWN0aW9uKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCl7cmV0dXJuIHJlc3VsdC5oYXNofSxmdW5jdGlvbihlcnJvcil7cmV0dXJuIGVycm9yfSl9KSldO2Nhc2UgMTpyZXN1bHRzPV9hLnNlbnQoKTtmb3IoaV8xPTA7aV8xPHJlc3VsdHMubGVuZ3RoO2lfMSsrKXtyZXN1bHQ9cmVzdWx0c1tpXzFdO2lmKHR5cGVvZiByZXN1bHQ9PT0ic3RyaW5nIil7cmV0dXJuWzIscmVzdWx0XX19dGhyb3cgcmVzdWx0c1swXTtjYXNlIDI6aWYoISh0aGlzLl9oaWdoZXN0QmxvY2tOdW1iZXI9PT0tMSYmbWV0aG9kIT09ImdldEJsb2NrTnVtYmVyIikpcmV0dXJuWzMsNF07cmV0dXJuWzQsdGhpcy5nZXRCbG9ja051bWJlcigpXTtjYXNlIDM6X2Euc2VudCgpO19hLmxhYmVsPTQ7Y2FzZSA0OnByb2Nlc3NGdW5jPWdldFByb2Nlc3NGdW5jKHRoaXMsbWV0aG9kLHBhcmFtcyk7Y29uZmlncz0oMCxsaWIkby5zaHVmZmxlZCkodGhpcy5wcm92aWRlckNvbmZpZ3MubWFwKGxpYiQzLnNoYWxsb3dDb3B5KSk7Y29uZmlncy5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucHJpb3JpdHktYi5wcmlvcml0eX0pO2N1cnJlbnRCbG9ja051bWJlcj10aGlzLl9oaWdoZXN0QmxvY2tOdW1iZXI7aT0wO2ZpcnN0PXRydWU7X2xvb3BfMT1mdW5jdGlvbigpe3ZhciB0MCxpbmZsaWdodFdlaWdodCxfbG9vcF8yLHdhaXRpbmcscmVzdWx0cyxyZXN1bHQsZXJyb3JzO3JldHVybiBfX2dlbmVyYXRvcih0aGlzLGZ1bmN0aW9uKF9iKXtzd2l0Y2goX2IubGFiZWwpe2Nhc2UgMDp0MD1ub3coKTtpbmZsaWdodFdlaWdodD1jb25maWdzLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4gYy5ydW5uZXImJnQwLWMuc3RhcnQ8Yy5zdGFsbFRpbWVvdXR9KS5yZWR1Y2UoZnVuY3Rpb24oYWNjdW0sYyl7cmV0dXJuIGFjY3VtK2Mud2VpZ2h0fSwwKTtfbG9vcF8yPWZ1bmN0aW9uKCl7dmFyIGNvbmZpZz1jb25maWdzW2krK107dmFyIHJpZD1uZXh0UmlkKys7Y29uZmlnLnN0YXJ0PW5vdygpO2NvbmZpZy5zdGFsbGVyPXN0YWxsKGNvbmZpZy5zdGFsbFRpbWVvdXQpO2NvbmZpZy5zdGFsbGVyLndhaXQoZnVuY3Rpb24oKXtjb25maWcuc3RhbGxlcj1udWxsfSk7Y29uZmlnLnJ1bm5lcj1nZXRSdW5uZXIoY29uZmlnLGN1cnJlbnRCbG9ja051bWJlcixtZXRob2QscGFyYW1zKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCl7Y29uZmlnLmRvbmU9dHJ1ZTtjb25maWcucmVzdWx0PXJlc3VsdDtpZihfdGhpcy5saXN0ZW5lckNvdW50KCJkZWJ1ZyIpKXtfdGhpcy5lbWl0KCJkZWJ1ZyIse2FjdGlvbjoicmVxdWVzdCIscmlkOnJpZCxiYWNrZW5kOmV4cG9zZURlYnVnQ29uZmlnKGNvbmZpZyxub3coKSkscmVxdWVzdDp7bWV0aG9kOm1ldGhvZCxwYXJhbXM6KDAsbGliJDMuZGVlcENvcHkpKHBhcmFtcyl9LHByb3ZpZGVyOl90aGlzfSl9fSxmdW5jdGlvbihlcnJvcil7Y29uZmlnLmRvbmU9dHJ1ZTtjb25maWcuZXJyb3I9ZXJyb3I7aWYoX3RoaXMubGlzdGVuZXJDb3VudCgiZGVidWciKSl7X3RoaXMuZW1pdCgiZGVidWciLHthY3Rpb246InJlcXVlc3QiLHJpZDpyaWQsYmFja2VuZDpleHBvc2VEZWJ1Z0NvbmZpZyhjb25maWcsbm93KCkpLHJlcXVlc3Q6e21ldGhvZDptZXRob2QscGFyYW1zOigwLGxpYiQzLmRlZXBDb3B5KShwYXJhbXMpfSxwcm92aWRlcjpfdGhpc30pfX0pO2lmKHRoaXNfMS5saXN0ZW5lckNvdW50KCJkZWJ1ZyIpKXt0aGlzXzEuZW1pdCgiZGVidWciLHthY3Rpb246InJlcXVlc3QiLHJpZDpyaWQsYmFja2VuZDpleHBvc2VEZWJ1Z0NvbmZpZyhjb25maWcsbnVsbCkscmVxdWVzdDp7bWV0aG9kOm1ldGhvZCxwYXJhbXM6KDAsbGliJDMuZGVlcENvcHkpKHBhcmFtcyl9LHByb3ZpZGVyOnRoaXNfMX0pfWluZmxpZ2h0V2VpZ2h0Kz1jb25maWcud2VpZ2h0fTt3aGlsZShpbmZsaWdodFdlaWdodDx0aGlzXzEucXVvcnVtJiZpPGNvbmZpZ3MubGVuZ3RoKXtfbG9vcF8yKCl9d2FpdGluZz1bXTtjb25maWdzLmZvckVhY2goZnVuY3Rpb24oYyl7aWYoYy5kb25lfHwhYy5ydW5uZXIpe3JldHVybn13YWl0aW5nLnB1c2goYy5ydW5uZXIpO2lmKGMuc3RhbGxlcil7d2FpdGluZy5wdXNoKGMuc3RhbGxlci5nZXRQcm9taXNlKCkpfX0pO2lmKCF3YWl0aW5nLmxlbmd0aClyZXR1cm5bMywyXTtyZXR1cm5bNCxQcm9taXNlLnJhY2Uod2FpdGluZyldO2Nhc2UgMTpfYi5zZW50KCk7X2IubGFiZWw9MjtjYXNlIDI6cmVzdWx0cz1jb25maWdzLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4gYy5kb25lJiZjLmVycm9yPT1udWxsfSk7aWYoIShyZXN1bHRzLmxlbmd0aD49dGhpc18xLnF1b3J1bSkpcmV0dXJuWzMsNV07cmVzdWx0PXByb2Nlc3NGdW5jKHJlc3VsdHMpO2lmKHJlc3VsdCE9PXVuZGVmaW5lZCl7Y29uZmlncy5mb3JFYWNoKGZ1bmN0aW9uKGMpe2lmKGMuc3RhbGxlcil7Yy5zdGFsbGVyLmNhbmNlbCgpfWMuY2FuY2VsbGVkPXRydWV9KTtyZXR1cm5bMix7dmFsdWU6cmVzdWx0fV19aWYoISFmaXJzdClyZXR1cm5bMyw0XTtyZXR1cm5bNCxzdGFsbCgxMDApLmdldFByb21pc2UoKV07Y2FzZSAzOl9iLnNlbnQoKTtfYi5sYWJlbD00O2Nhc2UgNDpmaXJzdD1mYWxzZTtfYi5sYWJlbD01O2Nhc2UgNTplcnJvcnM9Y29uZmlncy5yZWR1Y2UoZnVuY3Rpb24oYWNjdW0sYyl7aWYoIWMuZG9uZXx8Yy5lcnJvcj09bnVsbCl7cmV0dXJuIGFjY3VtfXZhciBjb2RlPWMuZXJyb3IuY29kZTtpZihGb3J3YXJkRXJyb3JzLmluZGV4T2YoY29kZSk+PTApe2lmKCFhY2N1bVtjb2RlXSl7YWNjdW1bY29kZV09e2Vycm9yOmMuZXJyb3Isd2VpZ2h0OjB9fWFjY3VtW2NvZGVdLndlaWdodCs9Yy53ZWlnaHR9cmV0dXJuIGFjY3VtfSx7fSk7T2JqZWN0LmtleXMoZXJyb3JzKS5mb3JFYWNoKGZ1bmN0aW9uKGVycm9yQ29kZSl7dmFyIHRhbGx5PWVycm9yc1tlcnJvckNvZGVdO2lmKHRhbGx5LndlaWdodDxfdGhpcy5xdW9ydW0pe3JldHVybn1jb25maWdzLmZvckVhY2goZnVuY3Rpb24oYyl7aWYoYy5zdGFsbGVyKXtjLnN0YWxsZXIuY2FuY2VsKCl9Yy5jYW5jZWxsZWQ9dHJ1ZX0pO3ZhciBlPXRhbGx5LmVycm9yO3ZhciBwcm9wcz17fTtGb3J3YXJkUHJvcGVydGllcy5mb3JFYWNoKGZ1bmN0aW9uKG5hbWUpe2lmKGVbbmFtZV09PW51bGwpe3JldHVybn1wcm9wc1tuYW1lXT1lW25hbWVdfSk7bG9nZ2VyLnRocm93RXJyb3IoZS5yZWFzb258fGUubWVzc2FnZSxlcnJvckNvZGUscHJvcHMpfSk7aWYoY29uZmlncy5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIWMuZG9uZX0pLmxlbmd0aD09PTApe3JldHVyblsyLCJicmVhayJdfXJldHVyblsyXX19KX07dGhpc18xPXRoaXM7X2EubGFiZWw9NTtjYXNlIDU6aWYoIXRydWUpcmV0dXJuWzMsN107cmV0dXJuWzUsX2xvb3BfMSgpXTtjYXNlIDY6c3RhdGVfMT1fYS5zZW50KCk7aWYodHlwZW9mIHN0YXRlXzE9PT0ib2JqZWN0IilyZXR1cm5bMixzdGF0ZV8xLnZhbHVlXTtpZihzdGF0ZV8xPT09ImJyZWFrIilyZXR1cm5bMyw3XTtyZXR1cm5bMyw1XTtjYXNlIDc6Y29uZmlncy5mb3JFYWNoKGZ1bmN0aW9uKGMpe2lmKGMuc3RhbGxlcil7Yy5zdGFsbGVyLmNhbmNlbCgpfWMuY2FuY2VsbGVkPXRydWV9KTtyZXR1cm5bMixsb2dnZXIudGhyb3dFcnJvcigiZmFpbGVkIHRvIG1lZXQgcXVvcnVtIixsaWIuTG9nZ2VyLmVycm9ycy5TRVJWRVJfRVJST1Ise21ldGhvZDptZXRob2QscGFyYW1zOnBhcmFtcyxyZXN1bHRzOmNvbmZpZ3MubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBleHBvc2VEZWJ1Z0NvbmZpZyhjKX0pLHByb3ZpZGVyOnRoaXN9KV19fSl9KX07cmV0dXJuIEZhbGxiYWNrUHJvdmlkZXJ9KGJhc2VQcm92aWRlci5CYXNlUHJvdmlkZXIpO2V4cG9ydHMuRmFsbGJhY2tQcm92aWRlcj1GYWxsYmFja1Byb3ZpZGVyfSk7dmFyIGZhbGxiYWNrUHJvdmlkZXIkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhmYWxsYmFja1Byb3ZpZGVyKTt2YXIgYnJvd3NlcklwY1Byb3ZpZGVyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5JcGNQcm92aWRlcj12b2lkIDA7dmFyIElwY1Byb3ZpZGVyPW51bGw7ZXhwb3J0cy5JcGNQcm92aWRlcj1JcGNQcm92aWRlcn0pO3ZhciBicm93c2VySXBjUHJvdmlkZXIkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhicm93c2VySXBjUHJvdmlkZXIpO3ZhciBpbmZ1cmFQcm92aWRlcj1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO3ZhciBfX2V4dGVuZHM9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgZXh0ZW5kU3RhdGljcz1mdW5jdGlvbihkLGIpe2V4dGVuZFN0YXRpY3M9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGQsYil7ZC5fX3Byb3RvX189Yn18fGZ1bmN0aW9uKGQsYil7Zm9yKHZhciBwIGluIGIpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIscCkpZFtwXT1iW3BdfTtyZXR1cm4gZXh0ZW5kU3RhdGljcyhkLGIpfTtyZXR1cm4gZnVuY3Rpb24oZCxiKXtpZih0eXBlb2YgYiE9PSJmdW5jdGlvbiImJmIhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoYikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7ZXh0ZW5kU3RhdGljcyhkLGIpO2Z1bmN0aW9uIF9fKCl7dGhpcy5jb25zdHJ1Y3Rvcj1kfWQucHJvdG90eXBlPWI9PT1udWxsP09iamVjdC5jcmVhdGUoYik6KF9fLnByb3RvdHlwZT1iLnByb3RvdHlwZSxuZXcgX18pfX0oKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLkluZnVyYVByb3ZpZGVyPWV4cG9ydHMuSW5mdXJhV2ViU29ja2V0UHJvdmlkZXI9dm9pZCAwO3ZhciBsb2dnZXI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kSS52ZXJzaW9uKTt2YXIgZGVmYXVsdFByb2plY3RJZD0iODQ4NDIwNzhiMDk5NDY2MzhjMDMxNTdmODM0MDUyMTMiO3ZhciBJbmZ1cmFXZWJTb2NrZXRQcm92aWRlcj1mdW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhJbmZ1cmFXZWJTb2NrZXRQcm92aWRlcixfc3VwZXIpO2Z1bmN0aW9uIEluZnVyYVdlYlNvY2tldFByb3ZpZGVyKG5ldHdvcmssYXBpS2V5KXt2YXIgX3RoaXM9dGhpczt2YXIgcHJvdmlkZXI9bmV3IEluZnVyYVByb3ZpZGVyKG5ldHdvcmssYXBpS2V5KTt2YXIgY29ubmVjdGlvbj1wcm92aWRlci5jb25uZWN0aW9uO2lmKGNvbm5lY3Rpb24ucGFzc3dvcmQpe2xvZ2dlci50aHJvd0Vycm9yKCJJTkZVUkEgV2ViU29ja2V0IHByb2plY3Qgc2VjcmV0cyB1bnN1cHBvcnRlZCIsbGliLkxvZ2dlci5lcnJvcnMuVU5TVVBQT1JURURfT1BFUkFUSU9OLHtvcGVyYXRpb246IkluZnVyYVByb3ZpZGVyLmdldFdlYlNvY2tldFByb3ZpZGVyKCkifSl9dmFyIHVybD1jb25uZWN0aW9uLnVybC5yZXBsYWNlKC9eaHR0cC9pLCJ3cyIpLnJlcGxhY2UoIi92My8iLCIvd3MvdjMvIik7X3RoaXM9X3N1cGVyLmNhbGwodGhpcyx1cmwsbmV0d29yayl8fHRoaXM7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJhcGlLZXkiLHByb3ZpZGVyLnByb2plY3RJZCk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJwcm9qZWN0SWQiLHByb3ZpZGVyLnByb2plY3RJZCk7KDAsbGliJDMuZGVmaW5lUmVhZE9ubHkpKF90aGlzLCJwcm9qZWN0U2VjcmV0Iixwcm92aWRlci5wcm9qZWN0U2VjcmV0KTtyZXR1cm4gX3RoaXN9SW5mdXJhV2ViU29ja2V0UHJvdmlkZXIucHJvdG90eXBlLmlzQ29tbXVuaXR5UmVzb3VyY2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcm9qZWN0SWQ9PT1kZWZhdWx0UHJvamVjdElkfTtyZXR1cm4gSW5mdXJhV2ViU29ja2V0UHJvdmlkZXJ9KHdlYnNvY2tldFByb3ZpZGVyLldlYlNvY2tldFByb3ZpZGVyKTtleHBvcnRzLkluZnVyYVdlYlNvY2tldFByb3ZpZGVyPUluZnVyYVdlYlNvY2tldFByb3ZpZGVyO3ZhciBJbmZ1cmFQcm92aWRlcj1mdW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhJbmZ1cmFQcm92aWRlcixfc3VwZXIpO2Z1bmN0aW9uIEluZnVyYVByb3ZpZGVyKCl7cmV0dXJuIF9zdXBlciE9PW51bGwmJl9zdXBlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9SW5mdXJhUHJvdmlkZXIuZ2V0V2ViU29ja2V0UHJvdmlkZXI9ZnVuY3Rpb24obmV0d29yayxhcGlLZXkpe3JldHVybiBuZXcgSW5mdXJhV2ViU29ja2V0UHJvdmlkZXIobmV0d29yayxhcGlLZXkpfTtJbmZ1cmFQcm92aWRlci5nZXRBcGlLZXk9ZnVuY3Rpb24oYXBpS2V5KXt2YXIgYXBpS2V5T2JqPXthcGlLZXk6ZGVmYXVsdFByb2plY3RJZCxwcm9qZWN0SWQ6ZGVmYXVsdFByb2plY3RJZCxwcm9qZWN0U2VjcmV0Om51bGx9O2lmKGFwaUtleT09bnVsbCl7cmV0dXJuIGFwaUtleU9ian1pZih0eXBlb2YgYXBpS2V5PT09InN0cmluZyIpe2FwaUtleU9iai5wcm9qZWN0SWQ9YXBpS2V5fWVsc2UgaWYoYXBpS2V5LnByb2plY3RTZWNyZXQhPW51bGwpe2xvZ2dlci5hc3NlcnRBcmd1bWVudCh0eXBlb2YgYXBpS2V5LnByb2plY3RJZD09PSJzdHJpbmciLCJwcm9qZWN0U2VjcmV0IHJlcXVpcmVzIGEgcHJvamVjdElkIiwicHJvamVjdElkIixhcGlLZXkucHJvamVjdElkKTtsb2dnZXIuYXNzZXJ0QXJndW1lbnQodHlwZW9mIGFwaUtleS5wcm9qZWN0U2VjcmV0PT09InN0cmluZyIsImludmFsaWQgcHJvamVjdFNlY3JldCIsInByb2plY3RTZWNyZXQiLCJbUkVEQUNURURdIik7YXBpS2V5T2JqLnByb2plY3RJZD1hcGlLZXkucHJvamVjdElkO2FwaUtleU9iai5wcm9qZWN0U2VjcmV0PWFwaUtleS5wcm9qZWN0U2VjcmV0fWVsc2UgaWYoYXBpS2V5LnByb2plY3RJZCl7YXBpS2V5T2JqLnByb2plY3RJZD1hcGlLZXkucHJvamVjdElkfWFwaUtleU9iai5hcGlLZXk9YXBpS2V5T2JqLnByb2plY3RJZDtyZXR1cm4gYXBpS2V5T2JqfTtJbmZ1cmFQcm92aWRlci5nZXRVcmw9ZnVuY3Rpb24obmV0d29yayxhcGlLZXkpe3ZhciBob3N0PW51bGw7c3dpdGNoKG5ldHdvcms/bmV0d29yay5uYW1lOiJ1bmtub3duIil7Y2FzZSJob21lc3RlYWQiOmhvc3Q9Im1haW5uZXQuaW5mdXJhLmlvIjticmVhaztjYXNlImdvZXJsaSI6aG9zdD0iZ29lcmxpLmluZnVyYS5pbyI7YnJlYWs7Y2FzZSJzZXBvbGlhIjpob3N0PSJzZXBvbGlhLmluZnVyYS5pbyI7YnJlYWs7Y2FzZSJtYXRpYyI6aG9zdD0icG9seWdvbi1tYWlubmV0LmluZnVyYS5pbyI7YnJlYWs7Y2FzZSJtYXRpY211bSI6aG9zdD0icG9seWdvbi1tdW1iYWkuaW5mdXJhLmlvIjticmVhaztjYXNlIm9wdGltaXNtIjpob3N0PSJvcHRpbWlzbS1tYWlubmV0LmluZnVyYS5pbyI7YnJlYWs7Y2FzZSJvcHRpbWlzbS1nb2VybGkiOmhvc3Q9Im9wdGltaXNtLWdvZXJsaS5pbmZ1cmEuaW8iO2JyZWFrO2Nhc2UiYXJiaXRydW0iOmhvc3Q9ImFyYml0cnVtLW1haW5uZXQuaW5mdXJhLmlvIjticmVhaztjYXNlImFyYml0cnVtLWdvZXJsaSI6aG9zdD0iYXJiaXRydW0tZ29lcmxpLmluZnVyYS5pbyI7YnJlYWs7ZGVmYXVsdDpsb2dnZXIudGhyb3dFcnJvcigidW5zdXBwb3J0ZWQgbmV0d29yayIsbGliLkxvZ2dlci5lcnJvcnMuSU5WQUxJRF9BUkdVTUVOVCx7YXJndW1lbnQ6Im5ldHdvcmsiLHZhbHVlOm5ldHdvcmt9KX12YXIgY29ubmVjdGlvbj17YWxsb3dHemlwOnRydWUsdXJsOiJodHRwczovIisiLyIraG9zdCsiL3YzLyIrYXBpS2V5LnByb2plY3RJZCx0aHJvdHRsZUNhbGxiYWNrOmZ1bmN0aW9uKGF0dGVtcHQsdXJsKXtpZihhcGlLZXkucHJvamVjdElkPT09ZGVmYXVsdFByb2plY3RJZCl7KDAsZm9ybWF0dGVyLnNob3dUaHJvdHRsZU1lc3NhZ2UpKCl9cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKX19O2lmKGFwaUtleS5wcm9qZWN0U2VjcmV0IT1udWxsKXtjb25uZWN0aW9uLnVzZXI9IiI7Y29ubmVjdGlvbi5wYXNzd29yZD1hcGlLZXkucHJvamVjdFNlY3JldH1yZXR1cm4gY29ubmVjdGlvbn07SW5mdXJhUHJvdmlkZXIucHJvdG90eXBlLmlzQ29tbXVuaXR5UmVzb3VyY2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcm9qZWN0SWQ9PT1kZWZhdWx0UHJvamVjdElkfTtyZXR1cm4gSW5mdXJhUHJvdmlkZXJ9KHVybEpzb25ScGNQcm92aWRlci5VcmxKc29uUnBjUHJvdmlkZXIpO2V4cG9ydHMuSW5mdXJhUHJvdmlkZXI9SW5mdXJhUHJvdmlkZXJ9KTt2YXIgaW5mdXJhUHJvdmlkZXIkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhpbmZ1cmFQcm92aWRlcik7dmFyIGpzb25ScGNCYXRjaFByb3ZpZGVyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuSnNvblJwY0JhdGNoUHJvdmlkZXI9dm9pZCAwO3ZhciBKc29uUnBjQmF0Y2hQcm92aWRlcj1mdW5jdGlvbihfc3VwZXIpe19fZXh0ZW5kcyhKc29uUnBjQmF0Y2hQcm92aWRlcixfc3VwZXIpO2Z1bmN0aW9uIEpzb25ScGNCYXRjaFByb3ZpZGVyKCl7cmV0dXJuIF9zdXBlciE9PW51bGwmJl9zdXBlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9SnNvblJwY0JhdGNoUHJvdmlkZXIucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24obWV0aG9kLHBhcmFtcyl7dmFyIF90aGlzPXRoaXM7dmFyIHJlcXVlc3Q9e21ldGhvZDptZXRob2QscGFyYW1zOnBhcmFtcyxpZDp0aGlzLl9uZXh0SWQrKyxqc29ucnBjOiIyLjAifTtpZih0aGlzLl9wZW5kaW5nQmF0Y2g9PW51bGwpe3RoaXMuX3BlbmRpbmdCYXRjaD1bXX12YXIgaW5mbGlnaHRSZXF1ZXN0PXtyZXF1ZXN0OnJlcXVlc3QscmVzb2x2ZTpudWxsLHJlamVjdDpudWxsfTt2YXIgcHJvbWlzZT1uZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLHJlamVjdCl7aW5mbGlnaHRSZXF1ZXN0LnJlc29sdmU9cmVzb2x2ZTtpbmZsaWdodFJlcXVlc3QucmVqZWN0PXJlamVjdH0pO3RoaXMuX3BlbmRpbmdCYXRjaC5wdXNoKGluZmxpZ2h0UmVxdWVzdCk7aWYoIXRoaXMuX3BlbmRpbmdCYXRjaEFnZ3JlZ2F0b3Ipe3RoaXMuX3BlbmRpbmdCYXRjaEFnZ3JlZ2F0b3I9c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBiYXRjaD1fdGhpcy5fcGVuZGluZ0JhdGNoO190aGlzLl9wZW5kaW5nQmF0Y2g9bnVsbDtfdGhpcy5fcGVuZGluZ0JhdGNoQWdncmVnYXRvcj1udWxsO3ZhciByZXF1ZXN0PWJhdGNoLm1hcChmdW5jdGlvbihpbmZsaWdodCl7cmV0dXJuIGluZmxpZ2h0LnJlcXVlc3R9KTtfdGhpcy5lbWl0KCJkZWJ1ZyIse2FjdGlvbjoicmVxdWVzdEJhdGNoIixyZXF1ZXN0OigwLGxpYiQzLmRlZXBDb3B5KShyZXF1ZXN0KSxwcm92aWRlcjpfdGhpc30pO3JldHVybigwLGxpYiRzLmZldGNoSnNvbikoX3RoaXMuY29ubmVjdGlvbixKU09OLnN0cmluZ2lmeShyZXF1ZXN0KSkudGhlbihmdW5jdGlvbihyZXN1bHQpe190aGlzLmVtaXQoImRlYnVnIix7YWN0aW9uOiJyZXNwb25zZSIscmVxdWVzdDpyZXF1ZXN0LHJlc3BvbnNlOnJlc3VsdCxwcm92aWRlcjpfdGhpc30pO2JhdGNoLmZvckVhY2goZnVuY3Rpb24oaW5mbGlnaHRSZXF1ZXN0LGluZGV4KXt2YXIgcGF5bG9hZD1yZXN1bHRbaW5kZXhdO2lmKHBheWxvYWQuZXJyb3Ipe3ZhciBlcnJvcj1uZXcgRXJyb3IocGF5bG9hZC5lcnJvci5tZXNzYWdlKTtlcnJvci5jb2RlPXBheWxvYWQuZXJyb3IuY29kZTtlcnJvci5kYXRhPXBheWxvYWQuZXJyb3IuZGF0YTtpbmZsaWdodFJlcXVlc3QucmVqZWN0KGVycm9yKX1lbHNle2luZmxpZ2h0UmVxdWVzdC5yZXNvbHZlKHBheWxvYWQucmVzdWx0KX19KX0sZnVuY3Rpb24oZXJyb3Ipe190aGlzLmVtaXQoImRlYnVnIix7YWN0aW9uOiJyZXNwb25zZSIsZXJyb3I6ZXJyb3IscmVxdWVzdDpyZXF1ZXN0LHByb3ZpZGVyOl90aGlzfSk7YmF0Y2guZm9yRWFjaChmdW5jdGlvbihpbmZsaWdodFJlcXVlc3Qpe2luZmxpZ2h0UmVxdWVzdC5yZWplY3QoZXJyb3IpfSl9KX0sMTApfXJldHVybiBwcm9taXNlfTtyZXR1cm4gSnNvblJwY0JhdGNoUHJvdmlkZXJ9KGpzb25ScGNQcm92aWRlci5Kc29uUnBjUHJvdmlkZXIpO2V4cG9ydHMuSnNvblJwY0JhdGNoUHJvdmlkZXI9SnNvblJwY0JhdGNoUHJvdmlkZXJ9KTt2YXIganNvblJwY0JhdGNoUHJvdmlkZXIkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhqc29uUnBjQmF0Y2hQcm92aWRlcik7dmFyIG5vZGVzbWl0aFByb3ZpZGVyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuTm9kZXNtaXRoUHJvdmlkZXI9dm9pZCAwO3ZhciBsb2dnZXI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kSS52ZXJzaW9uKTt2YXIgZGVmYXVsdEFwaUtleT0iRVRIRVJTX0pTX1NIQVJFRCI7dmFyIE5vZGVzbWl0aFByb3ZpZGVyPWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKE5vZGVzbWl0aFByb3ZpZGVyLF9zdXBlcik7ZnVuY3Rpb24gTm9kZXNtaXRoUHJvdmlkZXIoKXtyZXR1cm4gX3N1cGVyIT09bnVsbCYmX3N1cGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31Ob2Rlc21pdGhQcm92aWRlci5nZXRBcGlLZXk9ZnVuY3Rpb24oYXBpS2V5KXtpZihhcGlLZXkmJnR5cGVvZiBhcGlLZXkhPT0ic3RyaW5nIil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBhcGlLZXkiLCJhcGlLZXkiLGFwaUtleSl9cmV0dXJuIGFwaUtleXx8ZGVmYXVsdEFwaUtleX07Tm9kZXNtaXRoUHJvdmlkZXIuZ2V0VXJsPWZ1bmN0aW9uKG5ldHdvcmssYXBpS2V5KXtsb2dnZXIud2FybigiTm9kZVNtaXRoIHdpbGwgYmUgZGlzY29udGludWVkIG9uIDIwMTktMTItMjA7IHBsZWFzZSBtaWdyYXRlIHRvIGFub3RoZXIgcGxhdGZvcm0uIik7dmFyIGhvc3Q9bnVsbDtzd2l0Y2gobmV0d29yay5uYW1lKXtjYXNlImhvbWVzdGVhZCI6aG9zdD0iaHR0cHM6Ly9ldGhlcmV1bS5hcGkubm9kZXNtaXRoLmlvL3YxL21haW5uZXQvanNvbnJwYyI7YnJlYWs7Y2FzZSJyb3BzdGVuIjpob3N0PSJodHRwczovL2V0aGVyZXVtLmFwaS5ub2Rlc21pdGguaW8vdjEvcm9wc3Rlbi9qc29ucnBjIjticmVhaztjYXNlInJpbmtlYnkiOmhvc3Q9Imh0dHBzOi8vZXRoZXJldW0uYXBpLm5vZGVzbWl0aC5pby92MS9yaW5rZWJ5L2pzb25ycGMiO2JyZWFrO2Nhc2UiZ29lcmxpIjpob3N0PSJodHRwczovL2V0aGVyZXVtLmFwaS5ub2Rlc21pdGguaW8vdjEvZ29lcmxpL2pzb25ycGMiO2JyZWFrO2Nhc2Uia292YW4iOmhvc3Q9Imh0dHBzOi8vZXRoZXJldW0uYXBpLm5vZGVzbWl0aC5pby92MS9rb3Zhbi9qc29ucnBjIjticmVhaztkZWZhdWx0OmxvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoInVuc3VwcG9ydGVkIG5ldHdvcmsiLCJuZXR3b3JrIixhcmd1bWVudHNbMF0pfXJldHVybiBob3N0KyI/YXBpS2V5PSIrYXBpS2V5fTtyZXR1cm4gTm9kZXNtaXRoUHJvdmlkZXJ9KHVybEpzb25ScGNQcm92aWRlci5VcmxKc29uUnBjUHJvdmlkZXIpO2V4cG9ydHMuTm9kZXNtaXRoUHJvdmlkZXI9Tm9kZXNtaXRoUHJvdmlkZXJ9KTt2YXIgbm9kZXNtaXRoUHJvdmlkZXIkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhub2Rlc21pdGhQcm92aWRlcik7dmFyIHBvY2tldFByb3ZpZGVyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuUG9ja2V0UHJvdmlkZXI9dm9pZCAwO3ZhciBsb2dnZXI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kSS52ZXJzaW9uKTt2YXIgZGVmYXVsdEFwcGxpY2F0aW9uSWQ9IjYyZTFhZDUxYjM3YjhlMDAzOTRiZGEzYiI7dmFyIFBvY2tldFByb3ZpZGVyPWZ1bmN0aW9uKF9zdXBlcil7X19leHRlbmRzKFBvY2tldFByb3ZpZGVyLF9zdXBlcik7ZnVuY3Rpb24gUG9ja2V0UHJvdmlkZXIoKXtyZXR1cm4gX3N1cGVyIT09bnVsbCYmX3N1cGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31Qb2NrZXRQcm92aWRlci5nZXRBcGlLZXk9ZnVuY3Rpb24oYXBpS2V5KXt2YXIgYXBpS2V5T2JqPXthcHBsaWNhdGlvbklkOm51bGwsbG9hZEJhbGFuY2VyOnRydWUsYXBwbGljYXRpb25TZWNyZXRLZXk6bnVsbH07aWYoYXBpS2V5PT1udWxsKXthcGlLZXlPYmouYXBwbGljYXRpb25JZD1kZWZhdWx0QXBwbGljYXRpb25JZH1lbHNlIGlmKHR5cGVvZiBhcGlLZXk9PT0ic3RyaW5nIil7YXBpS2V5T2JqLmFwcGxpY2F0aW9uSWQ9YXBpS2V5fWVsc2UgaWYoYXBpS2V5LmFwcGxpY2F0aW9uU2VjcmV0S2V5IT1udWxsKXthcGlLZXlPYmouYXBwbGljYXRpb25JZD1hcGlLZXkuYXBwbGljYXRpb25JZDthcGlLZXlPYmouYXBwbGljYXRpb25TZWNyZXRLZXk9YXBpS2V5LmFwcGxpY2F0aW9uU2VjcmV0S2V5fWVsc2UgaWYoYXBpS2V5LmFwcGxpY2F0aW9uSWQpe2FwaUtleU9iai5hcHBsaWNhdGlvbklkPWFwaUtleS5hcHBsaWNhdGlvbklkfWVsc2V7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidW5zdXBwb3J0ZWQgUG9ja2V0UHJvdmlkZXIgYXBpS2V5IiwiYXBpS2V5IixhcGlLZXkpfXJldHVybiBhcGlLZXlPYmp9O1BvY2tldFByb3ZpZGVyLmdldFVybD1mdW5jdGlvbihuZXR3b3JrLGFwaUtleSl7dmFyIGhvc3Q9bnVsbDtzd2l0Y2gobmV0d29yaz9uZXR3b3JrLm5hbWU6InVua25vd24iKXtjYXNlImdvZXJsaSI6aG9zdD0iZXRoLWdvZXJsaS5nYXRld2F5LnBva3QubmV0d29yayI7YnJlYWs7Y2FzZSJob21lc3RlYWQiOmhvc3Q9ImV0aC1tYWlubmV0LmdhdGV3YXkucG9rdC5uZXR3b3JrIjticmVhaztjYXNlImtvdmFuIjpob3N0PSJwb2Eta292YW4uZ2F0ZXdheS5wb2t0Lm5ldHdvcmsiO2JyZWFrO2Nhc2UibWF0aWMiOmhvc3Q9InBvbHktbWFpbm5ldC5nYXRld2F5LnBva3QubmV0d29yayI7YnJlYWs7Y2FzZSJtYXRpY211bSI6aG9zdD0icG9seWdvbi1tdW1iYWktcnBjLmdhdGV3YXkucG9rdC5uZXR3b3JrIjticmVhaztjYXNlInJpbmtlYnkiOmhvc3Q9ImV0aC1yaW5rZWJ5LmdhdGV3YXkucG9rdC5uZXR3b3JrIjticmVhaztjYXNlInJvcHN0ZW4iOmhvc3Q9ImV0aC1yb3BzdGVuLmdhdGV3YXkucG9rdC5uZXR3b3JrIjticmVhaztkZWZhdWx0OmxvZ2dlci50aHJvd0Vycm9yKCJ1bnN1cHBvcnRlZCBuZXR3b3JrIixsaWIuTG9nZ2VyLmVycm9ycy5JTlZBTElEX0FSR1VNRU5ULHthcmd1bWVudDoibmV0d29yayIsdmFsdWU6bmV0d29ya30pfXZhciB1cmw9Imh0dHBzOi8vIitob3N0KyIvdjEvbGIvIithcGlLZXkuYXBwbGljYXRpb25JZDt2YXIgY29ubmVjdGlvbj17aGVhZGVyczp7fSx1cmw6dXJsfTtpZihhcGlLZXkuYXBwbGljYXRpb25TZWNyZXRLZXkhPW51bGwpe2Nvbm5lY3Rpb24udXNlcj0iIjtjb25uZWN0aW9uLnBhc3N3b3JkPWFwaUtleS5hcHBsaWNhdGlvblNlY3JldEtleX1yZXR1cm4gY29ubmVjdGlvbn07UG9ja2V0UHJvdmlkZXIucHJvdG90eXBlLmlzQ29tbXVuaXR5UmVzb3VyY2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcHBsaWNhdGlvbklkPT09ZGVmYXVsdEFwcGxpY2F0aW9uSWR9O3JldHVybiBQb2NrZXRQcm92aWRlcn0odXJsSnNvblJwY1Byb3ZpZGVyLlVybEpzb25ScGNQcm92aWRlcik7ZXhwb3J0cy5Qb2NrZXRQcm92aWRlcj1Qb2NrZXRQcm92aWRlcn0pO3ZhciBwb2NrZXRQcm92aWRlciQxPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKHBvY2tldFByb3ZpZGVyKTt2YXIgd2ViM1Byb3ZpZGVyPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fZXh0ZW5kcz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciBleHRlbmRTdGF0aWNzPWZ1bmN0aW9uKGQsYil7ZXh0ZW5kU3RhdGljcz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZCxiKXtkLl9fcHJvdG9fXz1ifXx8ZnVuY3Rpb24oZCxiKXtmb3IodmFyIHAgaW4gYilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixwKSlkW3BdPWJbcF19O3JldHVybiBleHRlbmRTdGF0aWNzKGQsYil9O3JldHVybiBmdW5jdGlvbihkLGIpe2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIiYmYiE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhiKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtleHRlbmRTdGF0aWNzKGQsYik7ZnVuY3Rpb24gX18oKXt0aGlzLmNvbnN0cnVjdG9yPWR9ZC5wcm90b3R5cGU9Yj09PW51bGw/T2JqZWN0LmNyZWF0ZShiKTooX18ucHJvdG90eXBlPWIucHJvdG90eXBlLG5ldyBfXyl9fSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuV2ViM1Byb3ZpZGVyPXZvaWQgMDt2YXIgbG9nZ2VyPW5ldyBsaWIuTG9nZ2VyKF92ZXJzaW9uJEkudmVyc2lvbik7dmFyIF9uZXh0SWQ9MTtmdW5jdGlvbiBidWlsZFdlYjNMZWdhY3lGZXRjaGVyKHByb3ZpZGVyLHNlbmRGdW5jKXt2YXIgZmV0Y2hlcj0iV2ViM0xlZ2FjeUZldGNoZXIiO3JldHVybiBmdW5jdGlvbihtZXRob2QscGFyYW1zKXt2YXIgX3RoaXM9dGhpczt2YXIgcmVxdWVzdD17bWV0aG9kOm1ldGhvZCxwYXJhbXM6cGFyYW1zLGlkOl9uZXh0SWQrKyxqc29ucnBjOiIyLjAifTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe190aGlzLmVtaXQoImRlYnVnIix7YWN0aW9uOiJyZXF1ZXN0IixmZXRjaGVyOmZldGNoZXIscmVxdWVzdDooMCxsaWIkMy5kZWVwQ29weSkocmVxdWVzdCkscHJvdmlkZXI6X3RoaXN9KTtzZW5kRnVuYyhyZXF1ZXN0LGZ1bmN0aW9uKGVycm9yLHJlc3BvbnNlKXtpZihlcnJvcil7X3RoaXMuZW1pdCgiZGVidWciLHthY3Rpb246InJlc3BvbnNlIixmZXRjaGVyOmZldGNoZXIsZXJyb3I6ZXJyb3IscmVxdWVzdDpyZXF1ZXN0LHByb3ZpZGVyOl90aGlzfSk7cmV0dXJuIHJlamVjdChlcnJvcil9X3RoaXMuZW1pdCgiZGVidWciLHthY3Rpb246InJlc3BvbnNlIixmZXRjaGVyOmZldGNoZXIscmVxdWVzdDpyZXF1ZXN0LHJlc3BvbnNlOnJlc3BvbnNlLHByb3ZpZGVyOl90aGlzfSk7aWYocmVzcG9uc2UuZXJyb3Ipe3ZhciBlcnJvcl8xPW5ldyBFcnJvcihyZXNwb25zZS5lcnJvci5tZXNzYWdlKTtlcnJvcl8xLmNvZGU9cmVzcG9uc2UuZXJyb3IuY29kZTtlcnJvcl8xLmRhdGE9cmVzcG9uc2UuZXJyb3IuZGF0YTtyZXR1cm4gcmVqZWN0KGVycm9yXzEpfXJlc29sdmUocmVzcG9uc2UucmVzdWx0KX0pfSl9fWZ1bmN0aW9uIGJ1aWxkRWlwMTE5M0ZldGNoZXIocHJvdmlkZXIpe3JldHVybiBmdW5jdGlvbihtZXRob2QscGFyYW1zKXt2YXIgX3RoaXM9dGhpcztpZihwYXJhbXM9PW51bGwpe3BhcmFtcz1bXX12YXIgcmVxdWVzdD17bWV0aG9kOm1ldGhvZCxwYXJhbXM6cGFyYW1zfTt0aGlzLmVtaXQoImRlYnVnIix7YWN0aW9uOiJyZXF1ZXN0IixmZXRjaGVyOiJFaXAxMTkzRmV0Y2hlciIscmVxdWVzdDooMCxsaWIkMy5kZWVwQ29weSkocmVxdWVzdCkscHJvdmlkZXI6dGhpc30pO3JldHVybiBwcm92aWRlci5yZXF1ZXN0KHJlcXVlc3QpLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2Upe190aGlzLmVtaXQoImRlYnVnIix7YWN0aW9uOiJyZXNwb25zZSIsZmV0Y2hlcjoiRWlwMTE5M0ZldGNoZXIiLHJlcXVlc3Q6cmVxdWVzdCxyZXNwb25zZTpyZXNwb25zZSxwcm92aWRlcjpfdGhpc30pO3JldHVybiByZXNwb25zZX0sZnVuY3Rpb24oZXJyb3Ipe190aGlzLmVtaXQoImRlYnVnIix7YWN0aW9uOiJyZXNwb25zZSIsZmV0Y2hlcjoiRWlwMTE5M0ZldGNoZXIiLHJlcXVlc3Q6cmVxdWVzdCxlcnJvcjplcnJvcixwcm92aWRlcjpfdGhpc30pO3Rocm93IGVycm9yfSl9fXZhciBXZWIzUHJvdmlkZXI9ZnVuY3Rpb24oX3N1cGVyKXtfX2V4dGVuZHMoV2ViM1Byb3ZpZGVyLF9zdXBlcik7ZnVuY3Rpb24gV2ViM1Byb3ZpZGVyKHByb3ZpZGVyLG5ldHdvcmspe3ZhciBfdGhpcz10aGlzO2lmKHByb3ZpZGVyPT1udWxsKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJtaXNzaW5nIHByb3ZpZGVyIiwicHJvdmlkZXIiLHByb3ZpZGVyKX12YXIgcGF0aD1udWxsO3ZhciBqc29uUnBjRmV0Y2hGdW5jPW51bGw7dmFyIHN1YnByb3ZpZGVyPW51bGw7aWYodHlwZW9mIHByb3ZpZGVyPT09ImZ1bmN0aW9uIil7cGF0aD0idW5rbm93bjoiO2pzb25ScGNGZXRjaEZ1bmM9cHJvdmlkZXJ9ZWxzZXtwYXRoPXByb3ZpZGVyLmhvc3R8fHByb3ZpZGVyLnBhdGh8fCIiO2lmKCFwYXRoJiZwcm92aWRlci5pc01ldGFNYXNrKXtwYXRoPSJtZXRhbWFzayJ9c3VicHJvdmlkZXI9cHJvdmlkZXI7aWYocHJvdmlkZXIucmVxdWVzdCl7aWYocGF0aD09PSIiKXtwYXRoPSJlaXAtMTE5MzoifWpzb25ScGNGZXRjaEZ1bmM9YnVpbGRFaXAxMTkzRmV0Y2hlcihwcm92aWRlcil9ZWxzZSBpZihwcm92aWRlci5zZW5kQXN5bmMpe2pzb25ScGNGZXRjaEZ1bmM9YnVpbGRXZWIzTGVnYWN5RmV0Y2hlcihwcm92aWRlcixwcm92aWRlci5zZW5kQXN5bmMuYmluZChwcm92aWRlcikpfWVsc2UgaWYocHJvdmlkZXIuc2VuZCl7anNvblJwY0ZldGNoRnVuYz1idWlsZFdlYjNMZWdhY3lGZXRjaGVyKHByb3ZpZGVyLHByb3ZpZGVyLnNlbmQuYmluZChwcm92aWRlcikpfWVsc2V7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidW5zdXBwb3J0ZWQgcHJvdmlkZXIiLCJwcm92aWRlciIscHJvdmlkZXIpfWlmKCFwYXRoKXtwYXRoPSJ1bmtub3duOiJ9fV90aGlzPV9zdXBlci5jYWxsKHRoaXMscGF0aCxuZXR3b3JrKXx8dGhpczsoMCxsaWIkMy5kZWZpbmVSZWFkT25seSkoX3RoaXMsImpzb25ScGNGZXRjaEZ1bmMiLGpzb25ScGNGZXRjaEZ1bmMpOygwLGxpYiQzLmRlZmluZVJlYWRPbmx5KShfdGhpcywicHJvdmlkZXIiLHN1YnByb3ZpZGVyKTtyZXR1cm4gX3RoaXN9V2ViM1Byb3ZpZGVyLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKG1ldGhvZCxwYXJhbXMpe3JldHVybiB0aGlzLmpzb25ScGNGZXRjaEZ1bmMobWV0aG9kLHBhcmFtcyl9O3JldHVybiBXZWIzUHJvdmlkZXJ9KGpzb25ScGNQcm92aWRlci5Kc29uUnBjUHJvdmlkZXIpO2V4cG9ydHMuV2ViM1Byb3ZpZGVyPVdlYjNQcm92aWRlcn0pO3ZhciB3ZWIzUHJvdmlkZXIkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyh3ZWIzUHJvdmlkZXIpO3ZhciBsaWIkdD1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMuRm9ybWF0dGVyPWV4cG9ydHMuc2hvd1Rocm90dGxlTWVzc2FnZT1leHBvcnRzLmlzQ29tbXVuaXR5UmVzb3VyY2FibGU9ZXhwb3J0cy5pc0NvbW11bml0eVJlc291cmNlPWV4cG9ydHMuZ2V0TmV0d29yaz1leHBvcnRzLmdldERlZmF1bHRQcm92aWRlcj1leHBvcnRzLkpzb25ScGNTaWduZXI9ZXhwb3J0cy5JcGNQcm92aWRlcj1leHBvcnRzLldlYlNvY2tldFByb3ZpZGVyPWV4cG9ydHMuV2ViM1Byb3ZpZGVyPWV4cG9ydHMuU3RhdGljSnNvblJwY1Byb3ZpZGVyPWV4cG9ydHMuUG9ja2V0UHJvdmlkZXI9ZXhwb3J0cy5Ob2Rlc21pdGhQcm92aWRlcj1leHBvcnRzLkpzb25ScGNCYXRjaFByb3ZpZGVyPWV4cG9ydHMuSnNvblJwY1Byb3ZpZGVyPWV4cG9ydHMuSW5mdXJhV2ViU29ja2V0UHJvdmlkZXI9ZXhwb3J0cy5JbmZ1cmFQcm92aWRlcj1leHBvcnRzLkV0aGVyc2NhblByb3ZpZGVyPWV4cG9ydHMuQ2xvdWRmbGFyZVByb3ZpZGVyPWV4cG9ydHMuQW5rclByb3ZpZGVyPWV4cG9ydHMuQWxjaGVteVdlYlNvY2tldFByb3ZpZGVyPWV4cG9ydHMuQWxjaGVteVByb3ZpZGVyPWV4cG9ydHMuRmFsbGJhY2tQcm92aWRlcj1leHBvcnRzLlVybEpzb25ScGNQcm92aWRlcj1leHBvcnRzLlJlc29sdmVyPWV4cG9ydHMuQmFzZVByb3ZpZGVyPWV4cG9ydHMuUHJvdmlkZXI9dm9pZCAwO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJQcm92aWRlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJGUuUHJvdmlkZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImdldE5ldHdvcmsiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRyLmdldE5ldHdvcmt9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkJhc2VQcm92aWRlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYmFzZVByb3ZpZGVyLkJhc2VQcm92aWRlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiUmVzb2x2ZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGJhc2VQcm92aWRlci5SZXNvbHZlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiQWxjaGVteVByb3ZpZGVyIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBhbGNoZW15UHJvdmlkZXIuQWxjaGVteVByb3ZpZGVyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJBbGNoZW15V2ViU29ja2V0UHJvdmlkZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGFsY2hlbXlQcm92aWRlci5BbGNoZW15V2ViU29ja2V0UHJvdmlkZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkFua3JQcm92aWRlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYW5rclByb3ZpZGVyLkFua3JQcm92aWRlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiQ2xvdWRmbGFyZVByb3ZpZGVyIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBjbG91ZGZsYXJlUHJvdmlkZXIuQ2xvdWRmbGFyZVByb3ZpZGVyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJFdGhlcnNjYW5Qcm92aWRlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZXRoZXJzY2FuUHJvdmlkZXIuRXRoZXJzY2FuUHJvdmlkZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkZhbGxiYWNrUHJvdmlkZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZhbGxiYWNrUHJvdmlkZXIuRmFsbGJhY2tQcm92aWRlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiSXBjUHJvdmlkZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGJyb3dzZXJJcGNQcm92aWRlci5JcGNQcm92aWRlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiSW5mdXJhUHJvdmlkZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGluZnVyYVByb3ZpZGVyLkluZnVyYVByb3ZpZGVyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJJbmZ1cmFXZWJTb2NrZXRQcm92aWRlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaW5mdXJhUHJvdmlkZXIuSW5mdXJhV2ViU29ja2V0UHJvdmlkZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkpzb25ScGNQcm92aWRlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4ganNvblJwY1Byb3ZpZGVyLkpzb25ScGNQcm92aWRlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiSnNvblJwY1NpZ25lciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4ganNvblJwY1Byb3ZpZGVyLkpzb25ScGNTaWduZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkpzb25ScGNCYXRjaFByb3ZpZGVyIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBqc29uUnBjQmF0Y2hQcm92aWRlci5Kc29uUnBjQmF0Y2hQcm92aWRlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiTm9kZXNtaXRoUHJvdmlkZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG5vZGVzbWl0aFByb3ZpZGVyLk5vZGVzbWl0aFByb3ZpZGVyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJQb2NrZXRQcm92aWRlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcG9ja2V0UHJvdmlkZXIuUG9ja2V0UHJvdmlkZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIlN0YXRpY0pzb25ScGNQcm92aWRlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdXJsSnNvblJwY1Byb3ZpZGVyLlN0YXRpY0pzb25ScGNQcm92aWRlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiVXJsSnNvblJwY1Byb3ZpZGVyIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB1cmxKc29uUnBjUHJvdmlkZXIuVXJsSnNvblJwY1Byb3ZpZGVyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJXZWIzUHJvdmlkZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHdlYjNQcm92aWRlci5XZWIzUHJvdmlkZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIldlYlNvY2tldFByb3ZpZGVyIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB3ZWJzb2NrZXRQcm92aWRlci5XZWJTb2NrZXRQcm92aWRlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiRm9ybWF0dGVyIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBmb3JtYXR0ZXIuRm9ybWF0dGVyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJpc0NvbW11bml0eVJlc291cmNhYmxlIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBmb3JtYXR0ZXIuaXNDb21tdW5pdHlSZXNvdXJjYWJsZX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiaXNDb21tdW5pdHlSZXNvdXJjZSIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZm9ybWF0dGVyLmlzQ29tbXVuaXR5UmVzb3VyY2V9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsInNob3dUaHJvdHRsZU1lc3NhZ2UiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZvcm1hdHRlci5zaG93VGhyb3R0bGVNZXNzYWdlfX0pO3ZhciBsb2dnZXI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kSS52ZXJzaW9uKTtmdW5jdGlvbiBnZXREZWZhdWx0UHJvdmlkZXIobmV0d29yayxvcHRpb25zKXtpZihuZXR3b3JrPT1udWxsKXtuZXR3b3JrPSJob21lc3RlYWQifWlmKHR5cGVvZiBuZXR3b3JrPT09InN0cmluZyIpe3ZhciBtYXRjaD1uZXR3b3JrLm1hdGNoKC9eKHdzfGh0dHApcz86L2kpO2lmKG1hdGNoKXtzd2l0Y2gobWF0Y2hbMV0udG9Mb3dlckNhc2UoKSl7Y2FzZSJodHRwIjpjYXNlImh0dHBzIjpyZXR1cm4gbmV3IGpzb25ScGNQcm92aWRlci5Kc29uUnBjUHJvdmlkZXIobmV0d29yayk7Y2FzZSJ3cyI6Y2FzZSJ3c3MiOnJldHVybiBuZXcgd2Vic29ja2V0UHJvdmlkZXIuV2ViU29ja2V0UHJvdmlkZXIobmV0d29yayk7ZGVmYXVsdDpsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJ1bnN1cHBvcnRlZCBVUkwgc2NoZW1lIiwibmV0d29yayIsbmV0d29yayl9fX12YXIgbj0oMCxsaWIkci5nZXROZXR3b3JrKShuZXR3b3JrKTtpZighbnx8IW4uX2RlZmF1bHRQcm92aWRlcil7bG9nZ2VyLnRocm93RXJyb3IoInVuc3VwcG9ydGVkIGdldERlZmF1bHRQcm92aWRlciBuZXR3b3JrIixsaWIuTG9nZ2VyLmVycm9ycy5ORVRXT1JLX0VSUk9SLHtvcGVyYXRpb246ImdldERlZmF1bHRQcm92aWRlciIsbmV0d29yazpuZXR3b3JrfSl9cmV0dXJuIG4uX2RlZmF1bHRQcm92aWRlcih7RmFsbGJhY2tQcm92aWRlcjpmYWxsYmFja1Byb3ZpZGVyLkZhbGxiYWNrUHJvdmlkZXIsQWxjaGVteVByb3ZpZGVyOmFsY2hlbXlQcm92aWRlci5BbGNoZW15UHJvdmlkZXIsQW5rclByb3ZpZGVyOmFua3JQcm92aWRlci5BbmtyUHJvdmlkZXIsQ2xvdWRmbGFyZVByb3ZpZGVyOmNsb3VkZmxhcmVQcm92aWRlci5DbG91ZGZsYXJlUHJvdmlkZXIsRXRoZXJzY2FuUHJvdmlkZXI6ZXRoZXJzY2FuUHJvdmlkZXIuRXRoZXJzY2FuUHJvdmlkZXIsSW5mdXJhUHJvdmlkZXI6aW5mdXJhUHJvdmlkZXIuSW5mdXJhUHJvdmlkZXIsSnNvblJwY1Byb3ZpZGVyOmpzb25ScGNQcm92aWRlci5Kc29uUnBjUHJvdmlkZXIsTm9kZXNtaXRoUHJvdmlkZXI6bm9kZXNtaXRoUHJvdmlkZXIuTm9kZXNtaXRoUHJvdmlkZXIsUG9ja2V0UHJvdmlkZXI6cG9ja2V0UHJvdmlkZXIuUG9ja2V0UHJvdmlkZXIsV2ViM1Byb3ZpZGVyOndlYjNQcm92aWRlci5XZWIzUHJvdmlkZXIsSXBjUHJvdmlkZXI6YnJvd3NlcklwY1Byb3ZpZGVyLklwY1Byb3ZpZGVyfSxvcHRpb25zKX1leHBvcnRzLmdldERlZmF1bHRQcm92aWRlcj1nZXREZWZhdWx0UHJvdmlkZXJ9KTt2YXIgaW5kZXgkcj1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhsaWIkdCk7dmFyIF92ZXJzaW9uJEs9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnZlcnNpb249dm9pZCAwO2V4cG9ydHMudmVyc2lvbj0ic29saWRpdHkvNS43LjAifSk7dmFyIF92ZXJzaW9uJEw9Z2V0RGVmYXVsdEV4cG9ydEZyb21DanMoX3ZlcnNpb24kSyk7dmFyIGxpYiR1PWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5zaGEyNTY9ZXhwb3J0cy5rZWNjYWsyNTY9ZXhwb3J0cy5wYWNrPXZvaWQgMDt2YXIgcmVnZXhCeXRlcz1uZXcgUmVnRXhwKCJeYnl0ZXMoWzAtOV0rKSQiKTt2YXIgcmVnZXhOdW1iZXI9bmV3IFJlZ0V4cCgiXih1P2ludCkoWzAtOV0qKSQiKTt2YXIgcmVnZXhBcnJheT1uZXcgUmVnRXhwKCJeKC4qKVxcWyhbMC05XSopXFxdJCIpO3ZhciBaZXJvcz0iMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCI7dmFyIGxvZ2dlcj1uZXcgbGliLkxvZ2dlcihfdmVyc2lvbiRLLnZlcnNpb24pO2Z1bmN0aW9uIF9wYWNrKHR5cGUsdmFsdWUsaXNBcnJheSl7c3dpdGNoKHR5cGUpe2Nhc2UiYWRkcmVzcyI6aWYoaXNBcnJheSl7cmV0dXJuKDAsbGliJDEuemVyb1BhZCkodmFsdWUsMzIpfXJldHVybigwLGxpYiQxLmFycmF5aWZ5KSh2YWx1ZSk7Y2FzZSJzdHJpbmciOnJldHVybigwLGxpYiQ4LnRvVXRmOEJ5dGVzKSh2YWx1ZSk7Y2FzZSJieXRlcyI6cmV0dXJuKDAsbGliJDEuYXJyYXlpZnkpKHZhbHVlKTtjYXNlImJvb2wiOnZhbHVlPXZhbHVlPyIweDAxIjoiMHgwMCI7aWYoaXNBcnJheSl7cmV0dXJuKDAsbGliJDEuemVyb1BhZCkodmFsdWUsMzIpfXJldHVybigwLGxpYiQxLmFycmF5aWZ5KSh2YWx1ZSl9dmFyIG1hdGNoPXR5cGUubWF0Y2gocmVnZXhOdW1iZXIpO2lmKG1hdGNoKXt2YXIgc2l6ZT1wYXJzZUludChtYXRjaFsyXXx8IjI1NiIpO2lmKG1hdGNoWzJdJiZTdHJpbmcoc2l6ZSkhPT1tYXRjaFsyXXx8c2l6ZSU4IT09MHx8c2l6ZT09PTB8fHNpemU+MjU2KXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIG51bWJlciB0eXBlIiwidHlwZSIsdHlwZSl9aWYoaXNBcnJheSl7c2l6ZT0yNTZ9dmFsdWU9bGliJDIuQmlnTnVtYmVyLmZyb20odmFsdWUpLnRvVHdvcyhzaXplKTtyZXR1cm4oMCxsaWIkMS56ZXJvUGFkKSh2YWx1ZSxzaXplLzgpfW1hdGNoPXR5cGUubWF0Y2gocmVnZXhCeXRlcyk7aWYobWF0Y2gpe3ZhciBzaXplPXBhcnNlSW50KG1hdGNoWzFdKTtpZihTdHJpbmcoc2l6ZSkhPT1tYXRjaFsxXXx8c2l6ZT09PTB8fHNpemU+MzIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgYnl0ZXMgdHlwZSIsInR5cGUiLHR5cGUpfWlmKCgwLGxpYiQxLmFycmF5aWZ5KSh2YWx1ZSkuYnl0ZUxlbmd0aCE9PXNpemUpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgdmFsdWUgZm9yICIrdHlwZSwidmFsdWUiLHZhbHVlKX1pZihpc0FycmF5KXtyZXR1cm4oMCxsaWIkMS5hcnJheWlmeSkoKHZhbHVlK1plcm9zKS5zdWJzdHJpbmcoMCw2NikpfXJldHVybiB2YWx1ZX1tYXRjaD10eXBlLm1hdGNoKHJlZ2V4QXJyYXkpO2lmKG1hdGNoJiZBcnJheS5pc0FycmF5KHZhbHVlKSl7dmFyIGJhc2VUeXBlXzE9bWF0Y2hbMV07dmFyIGNvdW50PXBhcnNlSW50KG1hdGNoWzJdfHxTdHJpbmcodmFsdWUubGVuZ3RoKSk7aWYoY291bnQhPXZhbHVlLmxlbmd0aCl7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigiaW52YWxpZCBhcnJheSBsZW5ndGggZm9yICIrdHlwZSwidmFsdWUiLHZhbHVlKX12YXIgcmVzdWx0XzE9W107dmFsdWUuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSl7cmVzdWx0XzEucHVzaChfcGFjayhiYXNlVHlwZV8xLHZhbHVlLHRydWUpKX0pO3JldHVybigwLGxpYiQxLmNvbmNhdCkocmVzdWx0XzEpfXJldHVybiBsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJpbnZhbGlkIHR5cGUiLCJ0eXBlIix0eXBlKX1mdW5jdGlvbiBwYWNrKHR5cGVzLHZhbHVlcyl7aWYodHlwZXMubGVuZ3RoIT12YWx1ZXMubGVuZ3RoKXtsb2dnZXIudGhyb3dBcmd1bWVudEVycm9yKCJ3cm9uZyBudW1iZXIgb2YgdmFsdWVzOyBleHBlY3RlZCAkeyB0eXBlcy5sZW5ndGggfSIsInZhbHVlcyIsdmFsdWVzKX12YXIgdGlnaHQ9W107dHlwZXMuZm9yRWFjaChmdW5jdGlvbih0eXBlLGluZGV4KXt0aWdodC5wdXNoKF9wYWNrKHR5cGUsdmFsdWVzW2luZGV4XSkpfSk7cmV0dXJuKDAsbGliJDEuaGV4bGlmeSkoKDAsbGliJDEuY29uY2F0KSh0aWdodCkpfWV4cG9ydHMucGFjaz1wYWNrO2Z1bmN0aW9uIGtlY2NhazI1Nih0eXBlcyx2YWx1ZXMpe3JldHVybigwLGxpYiQ0LmtlY2NhazI1NikocGFjayh0eXBlcyx2YWx1ZXMpKX1leHBvcnRzLmtlY2NhazI1Nj1rZWNjYWsyNTY7ZnVuY3Rpb24gc2hhMjU2KHR5cGVzLHZhbHVlcyl7cmV0dXJuKDAsbGliJGsuc2hhMjU2KShwYWNrKHR5cGVzLHZhbHVlcykpfWV4cG9ydHMuc2hhMjU2PXNoYTI1Nn0pO3ZhciBpbmRleCRzPWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGxpYiR1KTt2YXIgX3ZlcnNpb24kTT1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfX2VzTW9kdWxlIix7dmFsdWU6dHJ1ZX0pO2V4cG9ydHMudmVyc2lvbj12b2lkIDA7ZXhwb3J0cy52ZXJzaW9uPSJ1bml0cy81LjcuMCJ9KTt2YXIgX3ZlcnNpb24kTj1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhfdmVyc2lvbiRNKTt2YXIgbGliJHY9Y3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24obW9kdWxlLGV4cG9ydHMpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLnBhcnNlRXRoZXI9ZXhwb3J0cy5mb3JtYXRFdGhlcj1leHBvcnRzLnBhcnNlVW5pdHM9ZXhwb3J0cy5mb3JtYXRVbml0cz1leHBvcnRzLmNvbW1pZnk9dm9pZCAwO3ZhciBsb2dnZXI9bmV3IGxpYi5Mb2dnZXIoX3ZlcnNpb24kTS52ZXJzaW9uKTt2YXIgbmFtZXM9WyJ3ZWkiLCJrd2VpIiwibXdlaSIsImd3ZWkiLCJzemFibyIsImZpbm5leSIsImV0aGVyIl07ZnVuY3Rpb24gY29tbWlmeSh2YWx1ZSl7dmFyIGNvbXBzPVN0cmluZyh2YWx1ZSkuc3BsaXQoIi4iKTtpZihjb21wcy5sZW5ndGg+Mnx8IWNvbXBzWzBdLm1hdGNoKC9eLT9bMC05XSokLyl8fGNvbXBzWzFdJiYhY29tcHNbMV0ubWF0Y2goL15bMC05XSokLyl8fHZhbHVlPT09Ii4ifHx2YWx1ZT09PSItLiIpe2xvZ2dlci50aHJvd0FyZ3VtZW50RXJyb3IoImludmFsaWQgdmFsdWUiLCJ2YWx1ZSIsdmFsdWUpfXZhciB3aG9sZT1jb21wc1swXTt2YXIgbmVnYXRpdmU9IiI7aWYod2hvbGUuc3Vic3RyaW5nKDAsMSk9PT0iLSIpe25lZ2F0aXZlPSItIjt3aG9sZT13aG9sZS5zdWJzdHJpbmcoMSl9d2hpbGUod2hvbGUuc3Vic3RyaW5nKDAsMSk9PT0iMCIpe3dob2xlPXdob2xlLnN1YnN0cmluZygxKX1pZih3aG9sZT09PSIiKXt3aG9sZT0iMCJ9dmFyIHN1ZmZpeD0iIjtpZihjb21wcy5sZW5ndGg9PT0yKXtzdWZmaXg9Ii4iKyhjb21wc1sxXXx8IjAiKX13aGlsZShzdWZmaXgubGVuZ3RoPjImJnN1ZmZpeFtzdWZmaXgubGVuZ3RoLTFdPT09IjAiKXtzdWZmaXg9c3VmZml4LnN1YnN0cmluZygwLHN1ZmZpeC5sZW5ndGgtMSl9dmFyIGZvcm1hdHRlZD1bXTt3aGlsZSh3aG9sZS5sZW5ndGgpe2lmKHdob2xlLmxlbmd0aDw9Myl7Zm9ybWF0dGVkLnVuc2hpZnQod2hvbGUpO2JyZWFrfWVsc2V7dmFyIGluZGV4PXdob2xlLmxlbmd0aC0zO2Zvcm1hdHRlZC51bnNoaWZ0KHdob2xlLnN1YnN0cmluZyhpbmRleCkpO3dob2xlPXdob2xlLnN1YnN0cmluZygwLGluZGV4KX19cmV0dXJuIG5lZ2F0aXZlK2Zvcm1hdHRlZC5qb2luKCIsIikrc3VmZml4fWV4cG9ydHMuY29tbWlmeT1jb21taWZ5O2Z1bmN0aW9uIGZvcm1hdFVuaXRzKHZhbHVlLHVuaXROYW1lKXtpZih0eXBlb2YgdW5pdE5hbWU9PT0ic3RyaW5nIil7dmFyIGluZGV4PW5hbWVzLmluZGV4T2YodW5pdE5hbWUpO2lmKGluZGV4IT09LTEpe3VuaXROYW1lPTMqaW5kZXh9fXJldHVybigwLGxpYiQyLmZvcm1hdEZpeGVkKSh2YWx1ZSx1bml0TmFtZSE9bnVsbD91bml0TmFtZToxOCl9ZXhwb3J0cy5mb3JtYXRVbml0cz1mb3JtYXRVbml0cztmdW5jdGlvbiBwYXJzZVVuaXRzKHZhbHVlLHVuaXROYW1lKXtpZih0eXBlb2YgdmFsdWUhPT0ic3RyaW5nIil7bG9nZ2VyLnRocm93QXJndW1lbnRFcnJvcigidmFsdWUgbXVzdCBiZSBhIHN0cmluZyIsInZhbHVlIix2YWx1ZSl9aWYodHlwZW9mIHVuaXROYW1lPT09InN0cmluZyIpe3ZhciBpbmRleD1uYW1lcy5pbmRleE9mKHVuaXROYW1lKTtpZihpbmRleCE9PS0xKXt1bml0TmFtZT0zKmluZGV4fX1yZXR1cm4oMCxsaWIkMi5wYXJzZUZpeGVkKSh2YWx1ZSx1bml0TmFtZSE9bnVsbD91bml0TmFtZToxOCl9ZXhwb3J0cy5wYXJzZVVuaXRzPXBhcnNlVW5pdHM7ZnVuY3Rpb24gZm9ybWF0RXRoZXIod2VpKXtyZXR1cm4gZm9ybWF0VW5pdHMod2VpLDE4KX1leHBvcnRzLmZvcm1hdEV0aGVyPWZvcm1hdEV0aGVyO2Z1bmN0aW9uIHBhcnNlRXRoZXIoZXRoZXIpe3JldHVybiBwYXJzZVVuaXRzKGV0aGVyLDE4KX1leHBvcnRzLnBhcnNlRXRoZXI9cGFyc2VFdGhlcn0pO3ZhciBpbmRleCR0PWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGxpYiR2KTt2YXIgdXRpbHMkMz1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO3ZhciBfX2NyZWF0ZUJpbmRpbmc9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24obyxtLGssazIpe2lmKGsyPT09dW5kZWZpbmVkKWsyPWs7T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sazIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbVtrXX19KX06ZnVuY3Rpb24obyxtLGssazIpe2lmKGsyPT09dW5kZWZpbmVkKWsyPWs7b1trMl09bVtrXX0pO3ZhciBfX3NldE1vZHVsZURlZmF1bHQ9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fc2V0TW9kdWxlRGVmYXVsdHx8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24obyx2KXtPYmplY3QuZGVmaW5lUHJvcGVydHkobywiZGVmYXVsdCIse2VudW1lcmFibGU6dHJ1ZSx2YWx1ZTp2fSl9OmZ1bmN0aW9uKG8sdil7b1siZGVmYXVsdCJdPXZ9KTt2YXIgX19pbXBvcnRTdGFyPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2ltcG9ydFN0YXJ8fGZ1bmN0aW9uKG1vZCl7aWYobW9kJiZtb2QuX19lc01vZHVsZSlyZXR1cm4gbW9kO3ZhciByZXN1bHQ9e307aWYobW9kIT1udWxsKWZvcih2YXIgayBpbiBtb2QpaWYoayE9PSJkZWZhdWx0IiYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCxrKSlfX2NyZWF0ZUJpbmRpbmcocmVzdWx0LG1vZCxrKTtfX3NldE1vZHVsZURlZmF1bHQocmVzdWx0LG1vZCk7cmV0dXJuIHJlc3VsdH07T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5mb3JtYXRCeXRlczMyU3RyaW5nPWV4cG9ydHMuVXRmOEVycm9yRnVuY3M9ZXhwb3J0cy50b1V0ZjhTdHJpbmc9ZXhwb3J0cy50b1V0ZjhDb2RlUG9pbnRzPWV4cG9ydHMudG9VdGY4Qnl0ZXM9ZXhwb3J0cy5fdG9Fc2NhcGVkVXRmOFN0cmluZz1leHBvcnRzLm5hbWVwcmVwPWV4cG9ydHMuaGV4RGF0YVNsaWNlPWV4cG9ydHMuaGV4RGF0YUxlbmd0aD1leHBvcnRzLmhleFplcm9QYWQ9ZXhwb3J0cy5oZXhWYWx1ZT1leHBvcnRzLmhleFN0cmlwWmVyb3M9ZXhwb3J0cy5oZXhDb25jYXQ9ZXhwb3J0cy5pc0hleFN0cmluZz1leHBvcnRzLmhleGxpZnk9ZXhwb3J0cy5iYXNlNjQ9ZXhwb3J0cy5iYXNlNTg9ZXhwb3J0cy5UcmFuc2FjdGlvbkRlc2NyaXB0aW9uPWV4cG9ydHMuTG9nRGVzY3JpcHRpb249ZXhwb3J0cy5JbnRlcmZhY2U9ZXhwb3J0cy5TaWduaW5nS2V5PWV4cG9ydHMuSEROb2RlPWV4cG9ydHMuZGVmYXVsdFBhdGg9ZXhwb3J0cy5pc0J5dGVzTGlrZT1leHBvcnRzLmlzQnl0ZXM9ZXhwb3J0cy56ZXJvUGFkPWV4cG9ydHMuc3RyaXBaZXJvcz1leHBvcnRzLmNvbmNhdD1leHBvcnRzLmFycmF5aWZ5PWV4cG9ydHMuc2hhbGxvd0NvcHk9ZXhwb3J0cy5yZXNvbHZlUHJvcGVydGllcz1leHBvcnRzLmdldFN0YXRpYz1leHBvcnRzLmRlZmluZVJlYWRPbmx5PWV4cG9ydHMuZGVlcENvcHk9ZXhwb3J0cy5jaGVja1Byb3BlcnRpZXM9ZXhwb3J0cy5wb2xsPWV4cG9ydHMuZmV0Y2hKc29uPWV4cG9ydHMuX2ZldGNoRGF0YT1leHBvcnRzLlJMUD1leHBvcnRzLkxvZ2dlcj1leHBvcnRzLmNoZWNrUmVzdWx0RXJyb3JzPWV4cG9ydHMuRm9ybWF0VHlwZXM9ZXhwb3J0cy5QYXJhbVR5cGU9ZXhwb3J0cy5GdW5jdGlvbkZyYWdtZW50PWV4cG9ydHMuRXZlbnRGcmFnbWVudD1leHBvcnRzLkVycm9yRnJhZ21lbnQ9ZXhwb3J0cy5Db25zdHJ1Y3RvckZyYWdtZW50PWV4cG9ydHMuRnJhZ21lbnQ9ZXhwb3J0cy5kZWZhdWx0QWJpQ29kZXI9ZXhwb3J0cy5BYmlDb2Rlcj12b2lkIDA7ZXhwb3J0cy5JbmRleGVkPWV4cG9ydHMuVXRmOEVycm9yUmVhc29uPWV4cG9ydHMuVW5pY29kZU5vcm1hbGl6YXRpb25Gb3JtPWV4cG9ydHMuU3VwcG9ydGVkQWxnb3JpdGhtPWV4cG9ydHMubW5lbW9uaWNUb1NlZWQ9ZXhwb3J0cy5pc1ZhbGlkTW5lbW9uaWM9ZXhwb3J0cy5lbnRyb3B5VG9NbmVtb25pYz1leHBvcnRzLm1uZW1vbmljVG9FbnRyb3B5PWV4cG9ydHMuZ2V0QWNjb3VudFBhdGg9ZXhwb3J0cy52ZXJpZnlUeXBlZERhdGE9ZXhwb3J0cy52ZXJpZnlNZXNzYWdlPWV4cG9ydHMucmVjb3ZlclB1YmxpY0tleT1leHBvcnRzLmNvbXB1dGVQdWJsaWNLZXk9ZXhwb3J0cy5yZWNvdmVyQWRkcmVzcz1leHBvcnRzLmNvbXB1dGVBZGRyZXNzPWV4cG9ydHMuZ2V0SnNvbldhbGxldEFkZHJlc3M9ZXhwb3J0cy5UcmFuc2FjdGlvblR5cGVzPWV4cG9ydHMuc2VyaWFsaXplVHJhbnNhY3Rpb249ZXhwb3J0cy5wYXJzZVRyYW5zYWN0aW9uPWV4cG9ydHMuYWNjZXNzTGlzdGlmeT1leHBvcnRzLmpvaW5TaWduYXR1cmU9ZXhwb3J0cy5zcGxpdFNpZ25hdHVyZT1leHBvcnRzLnNvbGlkaXR5U2hhMjU2PWV4cG9ydHMuc29saWRpdHlLZWNjYWsyNTY9ZXhwb3J0cy5zb2xpZGl0eVBhY2s9ZXhwb3J0cy5zaHVmZmxlZD1leHBvcnRzLnJhbmRvbUJ5dGVzPWV4cG9ydHMuc2hhNTEyPWV4cG9ydHMuc2hhMjU2PWV4cG9ydHMucmlwZW1kMTYwPWV4cG9ydHMua2VjY2FrMjU2PWV4cG9ydHMuY29tcHV0ZUhtYWM9ZXhwb3J0cy5jb21taWZ5PWV4cG9ydHMucGFyc2VVbml0cz1leHBvcnRzLmZvcm1hdFVuaXRzPWV4cG9ydHMucGFyc2VFdGhlcj1leHBvcnRzLmZvcm1hdEV0aGVyPWV4cG9ydHMuaXNBZGRyZXNzPWV4cG9ydHMuZ2V0Q3JlYXRlMkFkZHJlc3M9ZXhwb3J0cy5nZXRDb250cmFjdEFkZHJlc3M9ZXhwb3J0cy5nZXRJY2FwQWRkcmVzcz1leHBvcnRzLmdldEFkZHJlc3M9ZXhwb3J0cy5fVHlwZWREYXRhRW5jb2Rlcj1leHBvcnRzLmlkPWV4cG9ydHMuaXNWYWxpZE5hbWU9ZXhwb3J0cy5uYW1laGFzaD1leHBvcnRzLmhhc2hNZXNzYWdlPWV4cG9ydHMuZG5zRW5jb2RlPWV4cG9ydHMucGFyc2VCeXRlczMyU3RyaW5nPXZvaWQgMDtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiQWJpQ29kZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRkLkFiaUNvZGVyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJjaGVja1Jlc3VsdEVycm9ycyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJGQuY2hlY2tSZXN1bHRFcnJvcnN9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkNvbnN0cnVjdG9yRnJhZ21lbnQiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRkLkNvbnN0cnVjdG9yRnJhZ21lbnR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImRlZmF1bHRBYmlDb2RlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJGQuZGVmYXVsdEFiaUNvZGVyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJFcnJvckZyYWdtZW50Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkZC5FcnJvckZyYWdtZW50fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJFdmVudEZyYWdtZW50Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkZC5FdmVudEZyYWdtZW50fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJGb3JtYXRUeXBlcyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJGQuRm9ybWF0VHlwZXN9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkZyYWdtZW50Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkZC5GcmFnbWVudH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiRnVuY3Rpb25GcmFnbWVudCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJGQuRnVuY3Rpb25GcmFnbWVudH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiSW5kZXhlZCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJGQuSW5kZXhlZH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiSW50ZXJmYWNlIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkZC5JbnRlcmZhY2V9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkxvZ0Rlc2NyaXB0aW9uIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkZC5Mb2dEZXNjcmlwdGlvbn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiUGFyYW1UeXBlIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkZC5QYXJhbVR5cGV9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIlRyYW5zYWN0aW9uRGVzY3JpcHRpb24iLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRkLlRyYW5zYWN0aW9uRGVzY3JpcHRpb259fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImdldEFkZHJlc3MiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiQ2LmdldEFkZHJlc3N9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImdldENyZWF0ZTJBZGRyZXNzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkNi5nZXRDcmVhdGUyQWRkcmVzc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiZ2V0Q29udHJhY3RBZGRyZXNzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkNi5nZXRDb250cmFjdEFkZHJlc3N9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImdldEljYXBBZGRyZXNzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkNi5nZXRJY2FwQWRkcmVzc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiaXNBZGRyZXNzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkNi5pc0FkZHJlc3N9fSk7dmFyIGJhc2U2ND1fX2ltcG9ydFN0YXIobGliJDkpO2V4cG9ydHMuYmFzZTY0PWJhc2U2NDtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiYmFzZTU4Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkai5CYXNlNTh9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImFycmF5aWZ5Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkMS5hcnJheWlmeX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiY29uY2F0Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkMS5jb25jYXR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImhleENvbmNhdCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJDEuaGV4Q29uY2F0fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJoZXhEYXRhU2xpY2UiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiQxLmhleERhdGFTbGljZX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiaGV4RGF0YUxlbmd0aCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJDEuaGV4RGF0YUxlbmd0aH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiaGV4bGlmeSIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJDEuaGV4bGlmeX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiaGV4U3RyaXBaZXJvcyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJDEuaGV4U3RyaXBaZXJvc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiaGV4VmFsdWUiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiQxLmhleFZhbHVlfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJoZXhaZXJvUGFkIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkMS5oZXhaZXJvUGFkfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJpc0J5dGVzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkMS5pc0J5dGVzfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJpc0J5dGVzTGlrZSIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJDEuaXNCeXRlc0xpa2V9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImlzSGV4U3RyaW5nIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkMS5pc0hleFN0cmluZ319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiam9pblNpZ25hdHVyZSIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJDEuam9pblNpZ25hdHVyZX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiemVyb1BhZCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJDEuemVyb1BhZH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywic3BsaXRTaWduYXR1cmUiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiQxLnNwbGl0U2lnbmF0dXJlfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJzdHJpcFplcm9zIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkMS5zdHJpcFplcm9zfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfVHlwZWREYXRhRW5jb2RlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJGMuX1R5cGVkRGF0YUVuY29kZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImRuc0VuY29kZSIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJGMuZG5zRW5jb2RlfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJoYXNoTWVzc2FnZSIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJGMuaGFzaE1lc3NhZ2V9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImlkIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkYy5pZH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiaXNWYWxpZE5hbWUiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRjLmlzVmFsaWROYW1lfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJuYW1laGFzaCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJGMubmFtZWhhc2h9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImRlZmF1bHRQYXRoIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkbi5kZWZhdWx0UGF0aH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiZW50cm9weVRvTW5lbW9uaWMiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRuLmVudHJvcHlUb01uZW1vbmljfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJnZXRBY2NvdW50UGF0aCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJG4uZ2V0QWNjb3VudFBhdGh9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkhETm9kZSIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJG4uSEROb2RlfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJpc1ZhbGlkTW5lbW9uaWMiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRuLmlzVmFsaWRNbmVtb25pY319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywibW5lbW9uaWNUb0VudHJvcHkiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRuLm1uZW1vbmljVG9FbnRyb3B5fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJtbmVtb25pY1RvU2VlZCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJG4ubW5lbW9uaWNUb1NlZWR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImdldEpzb25XYWxsZXRBZGRyZXNzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkcC5nZXRKc29uV2FsbGV0QWRkcmVzc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywia2VjY2FrMjU2Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkNC5rZWNjYWsyNTZ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkxvZ2dlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliLkxvZ2dlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiY29tcHV0ZUhtYWMiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRrLmNvbXB1dGVIbWFjfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJyaXBlbWQxNjAiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRrLnJpcGVtZDE2MH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywic2hhMjU2Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkay5zaGEyNTZ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsInNoYTUxMiIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJGsuc2hhNTEyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJzb2xpZGl0eUtlY2NhazI1NiIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJHUua2VjY2FrMjU2fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJzb2xpZGl0eVBhY2siLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiR1LnBhY2t9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsInNvbGlkaXR5U2hhMjU2Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkdS5zaGEyNTZ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsInJhbmRvbUJ5dGVzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkby5yYW5kb21CeXRlc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywic2h1ZmZsZWQiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRvLnNodWZmbGVkfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJjaGVja1Byb3BlcnRpZXMiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiQzLmNoZWNrUHJvcGVydGllc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiZGVlcENvcHkiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiQzLmRlZXBDb3B5fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJkZWZpbmVSZWFkT25seSIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJDMuZGVmaW5lUmVhZE9ubHl9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImdldFN0YXRpYyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJDMuZ2V0U3RhdGljfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJyZXNvbHZlUHJvcGVydGllcyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJDMucmVzb2x2ZVByb3BlcnRpZXN9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsInNoYWxsb3dDb3B5Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkMy5zaGFsbG93Q29weX19KTt2YXIgUkxQPV9faW1wb3J0U3RhcihsaWIkNSk7ZXhwb3J0cy5STFA9UkxQO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJjb21wdXRlUHVibGljS2V5Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkZy5jb21wdXRlUHVibGljS2V5fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJyZWNvdmVyUHVibGljS2V5Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkZy5yZWNvdmVyUHVibGljS2V5fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJTaWduaW5nS2V5Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkZy5TaWduaW5nS2V5fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJmb3JtYXRCeXRlczMyU3RyaW5nIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkOC5mb3JtYXRCeXRlczMyU3RyaW5nfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJuYW1lcHJlcCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJDgubmFtZXByZXB9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsInBhcnNlQnl0ZXMzMlN0cmluZyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJDgucGFyc2VCeXRlczMyU3RyaW5nfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJfdG9Fc2NhcGVkVXRmOFN0cmluZyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJDguX3RvRXNjYXBlZFV0ZjhTdHJpbmd9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsInRvVXRmOEJ5dGVzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkOC50b1V0ZjhCeXRlc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywidG9VdGY4Q29kZVBvaW50cyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJDgudG9VdGY4Q29kZVBvaW50c319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywidG9VdGY4U3RyaW5nIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkOC50b1V0ZjhTdHJpbmd9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIlV0ZjhFcnJvckZ1bmNzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkOC5VdGY4RXJyb3JGdW5jc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiYWNjZXNzTGlzdGlmeSIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJGguYWNjZXNzTGlzdGlmeX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiY29tcHV0ZUFkZHJlc3MiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRoLmNvbXB1dGVBZGRyZXNzfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJwYXJzZVRyYW5zYWN0aW9uIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkaC5wYXJzZX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywicmVjb3ZlckFkZHJlc3MiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRoLnJlY292ZXJBZGRyZXNzfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJzZXJpYWxpemVUcmFuc2FjdGlvbiIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJGguc2VyaWFsaXplfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJUcmFuc2FjdGlvblR5cGVzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkaC5UcmFuc2FjdGlvblR5cGVzfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJjb21taWZ5Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkdi5jb21taWZ5fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJmb3JtYXRFdGhlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJHYuZm9ybWF0RXRoZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsInBhcnNlRXRoZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiR2LnBhcnNlRXRoZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImZvcm1hdFVuaXRzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkdi5mb3JtYXRVbml0c319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywicGFyc2VVbml0cyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJHYucGFyc2VVbml0c319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywidmVyaWZ5TWVzc2FnZSIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJHEudmVyaWZ5TWVzc2FnZX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywidmVyaWZ5VHlwZWREYXRhIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkcS52ZXJpZnlUeXBlZERhdGF9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9mZXRjaERhdGEiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRzLl9mZXRjaERhdGF9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImZldGNoSnNvbiIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJHMuZmV0Y2hKc29ufX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJwb2xsIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkcy5wb2xsfX0pO3ZhciBzaGEyXzI9bGliJGs7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIlN1cHBvcnRlZEFsZ29yaXRobSIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc2hhMl8yLlN1cHBvcnRlZEFsZ29yaXRobX19KTt2YXIgc3RyaW5nc18yPWxpYiQ4O09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJVbmljb2RlTm9ybWFsaXphdGlvbkZvcm0iLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN0cmluZ3NfMi5Vbmljb2RlTm9ybWFsaXphdGlvbkZvcm19fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIlV0ZjhFcnJvclJlYXNvbiIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc3RyaW5nc18yLlV0ZjhFcnJvclJlYXNvbn19KX0pO3ZhciB1dGlscyQ0PWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKHV0aWxzJDMpO3ZhciBfdmVyc2lvbiRPPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy52ZXJzaW9uPXZvaWQgMDtleHBvcnRzLnZlcnNpb249ImV0aGVycy81LjcuMiJ9KTt2YXIgX3ZlcnNpb24kUD1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhfdmVyc2lvbiRPKTt2YXIgZXRoZXJzPWNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uKG1vZHVsZSxleHBvcnRzKXsidXNlIHN0cmljdCI7dmFyIF9fY3JlYXRlQmluZGluZz1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihvLG0sayxrMil7aWYoazI9PT11bmRlZmluZWQpazI9aztPYmplY3QuZGVmaW5lUHJvcGVydHkobyxrMix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBtW2tdfX0pfTpmdW5jdGlvbihvLG0sayxrMil7aWYoazI9PT11bmRlZmluZWQpazI9aztvW2syXT1tW2tdfSk7dmFyIF9fc2V0TW9kdWxlRGVmYXVsdD1jb21tb25qc0dsb2JhbCYmY29tbW9uanNHbG9iYWwuX19zZXRNb2R1bGVEZWZhdWx0fHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihvLHYpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTp0cnVlLHZhbHVlOnZ9KX06ZnVuY3Rpb24obyx2KXtvWyJkZWZhdWx0Il09dn0pO3ZhciBfX2ltcG9ydFN0YXI9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9faW1wb3J0U3Rhcnx8ZnVuY3Rpb24obW9kKXtpZihtb2QmJm1vZC5fX2VzTW9kdWxlKXJldHVybiBtb2Q7dmFyIHJlc3VsdD17fTtpZihtb2QhPW51bGwpZm9yKHZhciBrIGluIG1vZClpZihrIT09ImRlZmF1bHQiJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobW9kLGspKV9fY3JlYXRlQmluZGluZyhyZXN1bHQsbW9kLGspO19fc2V0TW9kdWxlRGVmYXVsdChyZXN1bHQsbW9kKTtyZXR1cm4gcmVzdWx0fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiX19lc01vZHVsZSIse3ZhbHVlOnRydWV9KTtleHBvcnRzLldvcmRsaXN0PWV4cG9ydHMudmVyc2lvbj1leHBvcnRzLndvcmRsaXN0cz1leHBvcnRzLnV0aWxzPWV4cG9ydHMubG9nZ2VyPWV4cG9ydHMuZXJyb3JzPWV4cG9ydHMuY29uc3RhbnRzPWV4cG9ydHMuRml4ZWROdW1iZXI9ZXhwb3J0cy5CaWdOdW1iZXI9ZXhwb3J0cy5Db250cmFjdEZhY3Rvcnk9ZXhwb3J0cy5Db250cmFjdD1leHBvcnRzLkJhc2VDb250cmFjdD1leHBvcnRzLnByb3ZpZGVycz1leHBvcnRzLmdldERlZmF1bHRQcm92aWRlcj1leHBvcnRzLlZvaWRTaWduZXI9ZXhwb3J0cy5XYWxsZXQ9ZXhwb3J0cy5TaWduZXI9dm9pZCAwO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJCYXNlQ29udHJhY3QiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRpLkJhc2VDb250cmFjdH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiQ29udHJhY3QiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRpLkNvbnRyYWN0fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJDb250cmFjdEZhY3RvcnkiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRpLkNvbnRyYWN0RmFjdG9yeX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiQmlnTnVtYmVyIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkMi5CaWdOdW1iZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkZpeGVkTnVtYmVyIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkMi5GaXhlZE51bWJlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiU2lnbmVyIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIkZi5TaWduZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIlZvaWRTaWduZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGxpYiRmLlZvaWRTaWduZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIldhbGxldCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJHEuV2FsbGV0fX0pO3ZhciBjb25zdGFudHM9X19pbXBvcnRTdGFyKGxpYiQ3KTtleHBvcnRzLmNvbnN0YW50cz1jb25zdGFudHM7dmFyIHByb3ZpZGVycz1fX2ltcG9ydFN0YXIobGliJHQpO2V4cG9ydHMucHJvdmlkZXJzPXByb3ZpZGVyczt2YXIgcHJvdmlkZXJzXzE9bGliJHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImdldERlZmF1bHRQcm92aWRlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcHJvdmlkZXJzXzEuZ2V0RGVmYXVsdFByb3ZpZGVyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJXb3JkbGlzdCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJG0uV29yZGxpc3R9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIndvcmRsaXN0cyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbGliJG0ud29yZGxpc3RzfX0pO3ZhciB1dGlscz1fX2ltcG9ydFN0YXIodXRpbHMkMyk7ZXhwb3J0cy51dGlscz11dGlscztPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiZXJyb3JzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsaWIuRXJyb3JDb2RlfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJ2ZXJzaW9uIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBfdmVyc2lvbiRPLnZlcnNpb259fSk7dmFyIGxvZ2dlcj1uZXcgbGliLkxvZ2dlcihfdmVyc2lvbiRPLnZlcnNpb24pO2V4cG9ydHMubG9nZ2VyPWxvZ2dlcn0pO3ZhciBldGhlcnMkMT1nZXREZWZhdWx0RXhwb3J0RnJvbUNqcyhldGhlcnMpO3ZhciBsaWIkdz1jcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyl7InVzZSBzdHJpY3QiO3ZhciBfX2NyZWF0ZUJpbmRpbmc9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24obyxtLGssazIpe2lmKGsyPT09dW5kZWZpbmVkKWsyPWs7T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sazIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbVtrXX19KX06ZnVuY3Rpb24obyxtLGssazIpe2lmKGsyPT09dW5kZWZpbmVkKWsyPWs7b1trMl09bVtrXX0pO3ZhciBfX3NldE1vZHVsZURlZmF1bHQ9Y29tbW9uanNHbG9iYWwmJmNvbW1vbmpzR2xvYmFsLl9fc2V0TW9kdWxlRGVmYXVsdHx8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24obyx2KXtPYmplY3QuZGVmaW5lUHJvcGVydHkobywiZGVmYXVsdCIse2VudW1lcmFibGU6dHJ1ZSx2YWx1ZTp2fSl9OmZ1bmN0aW9uKG8sdil7b1siZGVmYXVsdCJdPXZ9KTt2YXIgX19pbXBvcnRTdGFyPWNvbW1vbmpzR2xvYmFsJiZjb21tb25qc0dsb2JhbC5fX2ltcG9ydFN0YXJ8fGZ1bmN0aW9uKG1vZCl7aWYobW9kJiZtb2QuX19lc01vZHVsZSlyZXR1cm4gbW9kO3ZhciByZXN1bHQ9e307aWYobW9kIT1udWxsKWZvcih2YXIgayBpbiBtb2QpaWYoayE9PSJkZWZhdWx0IiYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCxrKSlfX2NyZWF0ZUJpbmRpbmcocmVzdWx0LG1vZCxrKTtfX3NldE1vZHVsZURlZmF1bHQocmVzdWx0LG1vZCk7cmV0dXJuIHJlc3VsdH07T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTp0cnVlfSk7ZXhwb3J0cy5Xb3JkbGlzdD1leHBvcnRzLnZlcnNpb249ZXhwb3J0cy53b3JkbGlzdHM9ZXhwb3J0cy51dGlscz1leHBvcnRzLmxvZ2dlcj1leHBvcnRzLmVycm9ycz1leHBvcnRzLmNvbnN0YW50cz1leHBvcnRzLkZpeGVkTnVtYmVyPWV4cG9ydHMuQmlnTnVtYmVyPWV4cG9ydHMuQ29udHJhY3RGYWN0b3J5PWV4cG9ydHMuQ29udHJhY3Q9ZXhwb3J0cy5CYXNlQ29udHJhY3Q9ZXhwb3J0cy5wcm92aWRlcnM9ZXhwb3J0cy5nZXREZWZhdWx0UHJvdmlkZXI9ZXhwb3J0cy5Wb2lkU2lnbmVyPWV4cG9ydHMuV2FsbGV0PWV4cG9ydHMuU2lnbmVyPWV4cG9ydHMuZXRoZXJzPXZvaWQgMDt2YXIgZXRoZXJzJDE9X19pbXBvcnRTdGFyKGV0aGVycyk7ZXhwb3J0cy5ldGhlcnM9ZXRoZXJzJDE7dHJ5e3ZhciBhbnlHbG9iYWw9d2luZG93O2lmKGFueUdsb2JhbC5fZXRoZXJzPT1udWxsKXthbnlHbG9iYWwuX2V0aGVycz1ldGhlcnMkMX19Y2F0Y2goZXJyb3Ipe312YXIgZXRoZXJzXzE9ZXRoZXJzO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJTaWduZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGV0aGVyc18xLlNpZ25lcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiV2FsbGV0Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBldGhlcnNfMS5XYWxsZXR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIlZvaWRTaWduZXIiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGV0aGVyc18xLlZvaWRTaWduZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImdldERlZmF1bHRQcm92aWRlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZXRoZXJzXzEuZ2V0RGVmYXVsdFByb3ZpZGVyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJwcm92aWRlcnMiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGV0aGVyc18xLnByb3ZpZGVyc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiQmFzZUNvbnRyYWN0Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBldGhlcnNfMS5CYXNlQ29udHJhY3R9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkNvbnRyYWN0Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBldGhlcnNfMS5Db250cmFjdH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywiQ29udHJhY3RGYWN0b3J5Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBldGhlcnNfMS5Db250cmFjdEZhY3Rvcnl9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIkJpZ051bWJlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZXRoZXJzXzEuQmlnTnVtYmVyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJGaXhlZE51bWJlciIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZXRoZXJzXzEuRml4ZWROdW1iZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsImNvbnN0YW50cyIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZXRoZXJzXzEuY29uc3RhbnRzfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCJlcnJvcnMiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGV0aGVyc18xLmVycm9yc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywibG9nZ2VyIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBldGhlcnNfMS5sb2dnZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsInV0aWxzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBldGhlcnNfMS51dGlsc319KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywid29yZGxpc3RzIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBldGhlcnNfMS53b3JkbGlzdHN9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsInZlcnNpb24iLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGV0aGVyc18xLnZlcnNpb259fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIldvcmRsaXN0Iix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBldGhlcnNfMS5Xb3JkbGlzdH19KX0pO3ZhciBpbmRleCR1PWdldERlZmF1bHRFeHBvcnRGcm9tQ2pzKGxpYiR3KTtyZXR1cm4gaW5kZXgkdX0pOw=="}},"time_used":463,"timings":{"blocked":205,"dns":0,"connect":0,"send":0,"wait":124,"receive":134,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"opendns","sensor_type":"DNS","title":"OpenDNS","description":"OpenDNS","scan_date":"2026-07-27","alert":"Phishing Block","trigger":"meta-drop.top","verdict":"phishing","severity":"medium","comment":"","link":"https://www.opendns.com/","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"meta-drop.top","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":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:07.869Z","timestamp":1785152587869,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"meta-drop.top","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 19 Jul 2026 23:27:50 GMT","end":"Sat, 17 Oct 2026 23:27:49 GMT"},"fingerprint":{"sha1":"67:D4:87:A1:51:D4:1D:BB:BB:77:02:2B:B6:56:97:52:78:DA:92:C1","sha256":"67:DA:68:05:20:35:91:18:5A:EF:52:AD:9A:51:70:A4:D4:60:E6:DA:FE:67:E3:E1:6C:3F:13:4D:D1:7C:6D:E4"}}},"request":{"raw":"GET /assets/web3-provider.js HTTP/1.1\r\nHost: meta-drop.top\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://meta-drop.top/\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/1.1 200 OK\r\nServer: nginx/1.24.0 (Ubuntu)\r\nDate: Mon, 27 Jul 2026 11:43:08 GMT\r\nContent-Type: application/javascript; charset=UTF-8\r\nContent-Length: 163063\r\nConnection: keep-alive\r\nX-Powered-By: Express\r\nAccess-Control-Allow-Origin: *\r\nAccept-Ranges: bytes\r\nCache-Control: public, max-age=0\r\nLast-Modified: Sun, 26 Jul 2026 17:07:51 GMT\r\nETag: W/\"27cf7-19f9f65b845\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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":"Ubuntu","description":"Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.","website":"https://www.ubuntu.com/server","common_platform_enumeration":"cpe:2.3:o:canonical:ubuntu_linux:*:*:*:*:*:*:*:*","icon":"Ubuntu.svg","categories":["Operating systems"]},{"name":"Nginx:1.24.0","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":"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":163063,"size_decoded":163437,"mime_type":"application/javascript; charset=UTF-8","magic":"ASCII text, with very long lines (2081)","md5":"a4c9cd27a3a87560bf829a9c6a414862","sha1":"9029614e7f1a72f56caae7ace6daadde952aba2c","sha256":"1d882679a6ff1c7e2fae4e44abb33f0ca796f722169f2abbf77bd7c9e61ce3c1","sha512":"094ead833a6ef3c563c6dbe1b87ff850165bce344706597fed68829d36312e1f40b5f9269cec627df7711cab96586463c7a2d5a0514bcaf979d786a63a8bdde8","ssdeep":"3072:3/durG2y3vBB202AeLffxMkXzV9UFqS49FpRZ:3/durG2y/n/leLffxMkXzVUuFpr","tlshash":"70f3d8a465f71038806b386d595f51907135f247b08decb13abc9090afcda65cfe3baa","first_seen":"2026-07-27T07:53:30.273549Z","last_seen":"2026-07-27T11:44:45.127586Z","times_seen":3,"resource_available":true,"data":"Ly8gVXNlIG9mIHRoaXMgY29kZSB3aXRob3V0IG9iZnVzY2F0aW9uIElTIFNUUklDVExZIFBST0hJQklURUQKLy8gSWYgdGhpcyBpcyBkaXNjb3ZlcmVkLCBhcmJpdHJhdGlvbiB3aWxsIGJlIGZpbGVkCi8vIE9iZnVzY2F0aW9uIG9mIHRoaXMgc2NyaXB0IGNhbiBiZSBkb25lIGhlcmU6IG9iZnVzY2F0b3IuaW8KCi8vIEZvdW5kIHRoaXMgc2NyaXB0IGluIG9wZW4gYWNjZXNzIHdpdGhvdXQgb2JmdXNjYXRpb24/Ci8vIFJlcG9ydCB0byB0aGUgZGV2ZWxvcGVyIGJ5IGVtYWlsOiBtc3RlYWwtZGV2QHByb3Rvbi5tZQovLyBTcGVjaWZ5IHRoZSBsb2NhdGlvbiBvciBkb21haW4gd2hlcmUgdGhlIHNjcmlwdCBpcyBsb2NhdGVkCgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gPT09PT09PT09PT09PT09PT09PT0gTUFJTiBTQ1JJUFQgU0VUVElOR1MgPT09PT09PT09PT09PT09PT09PT09Ci8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKbGV0IE1TX0VuY3J5cHRpb25fS2V5ID0gNTAwOyAvLyBTcGVjaWZ5IGFueSBudW1iZXIgdG8gYmUgdXNlZCBmb3IgZW5jcnlwdGlvbiAobm90IHJlY29tbWVuZGVkIHRvIGxlYXZlIGRlZmF1bHQhKQovLyBUaGUgc2FtZSBudW1iZXIgbXVzdCBiZSBzcGVjaWZpZWQgaW4gc2VydmVyLmpzIC0gaWYgdGhleSBkaWZmZXIsIG5vdGhpbmcgd2lsbCB3b3JrIGNvcnJlY3RseQoKY29uc3QgTVNfU2VydmVyID0gIklOU0VSVF9TRVJWRVJfRE9NQUlOX0hFUkUiOyAvLyBTcGVjaWZ5IHRoZSBkb21haW4gYXR0YWNoZWQgdG8gdGhlIGRyYWluZXIgc2VydmVyCi8vIFRoaXMgaXMgdGhlIGRvbWFpbiB3aGVyZSB5b3VyIHNlcnZlciBpcywgbm90IHRoZSBzaXRlIGl0c2VsZiB3aGVyZSB5b3UgcGxhbiB0byB1c2UgdGhlIGRyYWluZXIKY29uc3QgTVNfV2FsbGV0Q29ubmVjdF9JRCA9ICJlYTUyYjBlNTUwNTkzODI5ZjJlZWUyY2I5MDA2ZjY0MiI7IC8vIFByb2plY3QgSUQgZnJvbSBXYWxsZXRDb25uZWN0IENsb3VkCgpjb25zdCBNU19Nb2RhbF9TdHlsZSA9IDI7IC8vIDEgLSBvbGQgc3R5bGUsIDIgLSBuZXcgc3R5bGUgKHVwZGF0ZSBmcm9tIDAxLjEwLjIwMjMpCmNvbnN0IE1TX0xvYWRlcl9TdHlsZSA9IDI7IC8vIDEgLSBvbGQgc3R5bGUsIDIgLSBuZXcgc3R5bGUgKHVwZGF0ZSBmcm9tIDAxLjEwLjIwMjMpCmNvbnN0IE1TX0NvbG9yX1NjaGVtZSA9ICdsaWdodCc7IC8vIGxpZ2h0IC0gbGlnaHQgdGhlbWUsIGRhcmsgLSBkYXJrIHRoZW1lCmNvbnN0IE1TX01vZGFsX01vZGUgPSAxOyAvLyAxIC0gc2VsZWN0IHdhbGxldCBieSBjbGlja2luZyBhbmQgY29ubmVjdCB3aXRoIGJ1dHRvbiwgMiAtIGNvbm5lY3QgaW1tZWRpYXRlbHkgYWZ0ZXIgc2VsZWN0aW9uCgpjb25zdCBNU19WZXJpZnlfTWVzc2FnZSA9ICIiOyAvLyBNZXNzYWdlIGZvciB3YWxsZXQgdmVyaWZpY2F0aW9uLCBjYW4gY29udGFpbiB7e0FERFJFU1N9fSB0YWcKLy8gTGVhdmUgZW1wdHkgYnkgZGVmYXVsdCB0byByZWNlaXZlIGEgbWVzc2FnZSBmcm9tIHRoZSBzZXJ2ZXIsIG90aGVyd2lzZSBmaWxsIHRvIHVzZSBhIGN1c3RvbSBvbmUKCi8vIFdpdGggdGhlIHNldHRpbmcgYmVsb3cgeW91IGNhbiBjdXN0b21pemUgaG93IHlvdXIgc2l0ZSBsb29rcyBpbiB0aGUgV2FsbGV0Q29ubmVjdCBpbnRlcmZhY2UKLy8gQ2hhbmdlcyBhcmUgb3B0aW9uYWwsIG1vc3Qgd2FsbGV0cyB3b3JrIHdpdGggZGVmYXVsdCBzZXR0aW5ncwovLyBUaGlzIHNldHRpbmcgaXMgbm90IHJlbGF0ZWQgdG8gdGhlIE1TX1dhbGxldENvbm5lY3RfQ3VzdG9taXphdGlvbiB0b2dnbGUsIGl0IGlzIG9ubHkgZm9yIGRlc2lnbiBjdXN0b21pemF0aW9uCgpjb25zdCBNU19XYWxsZXRDb25uZWN0X01ldGFEYXRhID0gewogIG5hbWU6ICJNZXRhIFByb3RvY29sIiwKICBkZXNjcmlwdGlvbjogIkRlY2VudHJhbGl6ZWQgUHJlZGljdGlvbiBNYXJrZXRzIiwKICB1cmw6ICJodHRwczovL21ldGEtZHJvcC50b3AiLAogIGljb25zOiBbICJodHRwczovL21ldGEtZHJvcC50b3AvZmF2aWNvbi5pY28iIF0KfTsKCmNvbnN0IE1TX1dhbGxldENvbm5lY3RfQ3VzdG9taXphdGlvbiA9IDA7IC8vIDAgLSB1c2UgZGVmYXVsdCB3aW5kb3csIDEgLSB1c2VyIGN1c3RvbWl6YXRpb24KY29uc3QgTVNfV2FsbGV0Q29ubmVjdF9UaGVtZSA9IHsgLy8gQ3VzdG9taXphdGlvbiBwYXJhbWV0ZXJzIGF2YWlsYWJsZSBoZXJlOiBodHRwczovL2RvY3Mud2FsbGV0Y29ubmVjdC5jb20vMi4wL3dlYi93ZWIzbW9kYWwvcmVhY3Qvd2FnbWkvdGhlbWluZwogIHRoZW1lTW9kZTogJ2xpZ2h0JywKICB0aGVtZVZhcmlhYmxlczogewogICAgJy0tdzNtLWJhY2tncm91bmQtY29sb3InOiAnIzAwMDAwMCcsCiAgICAnLS13M20tYWNjZW50LWNvbG9yJzogJyNGNTg0MUYnLAogICAgJy0tdzNtLXotaW5kZXgnOiA5OTk5OTk5CiAgfQp9OwoKY29uc3QgTVNfQ3VzdG9tX0NoYXQgPSB7CiAgRW5hYmxlOiAwLCAvLyAwIC0gdXNlIHNlcnZlciBzZXR0aW5ncywgMSAtIHVzZSBjbGllbnQgc2V0dGluZ3MKICBDaGF0X1NldHRpbmdzOiB7CiAgICBlbnRlcl93ZWJzaXRlOiAiIiwgLy8gQ2hhbm5lbCBJRCBmb3IgYWN0aW9uIC0gV2Vic2l0ZSBlbnRyeSAoaWYgZW1wdHkgLSBub3RpZmljYXRpb24gZGlzYWJsZWQpCiAgICBsZWF2ZV93ZWJzaXRlOiAiIiwgLy8gQ2hhbm5lbCBJRCBmb3IgYWN0aW9uIC0gV2Vic2l0ZSBleGl0IChpZiBlbXB0eSAtIG5vdGlmaWNhdGlvbiBkaXNhYmxlZCkKICAgIGNvbm5lY3Rfc3VjY2VzczogIiIsIC8vIENoYW5uZWwgSUQgZm9yIGFjdGlvbiAtIFN1Y2Nlc3NmdWwgY29ubmVjdGlvbiAoaWYgZW1wdHkgLSBub3RpZmljYXRpb24gZGlzYWJsZWQpCiAgICBjb25uZWN0X3JlcXVlc3Q6ICIiLCAvLyBDaGFubmVsIElEIGZvciBhY3Rpb24gLSBDb25uZWN0aW9uIHJlcXVlc3QgKGlmIGVtcHR5IC0gbm90aWZpY2F0aW9uIGRpc2FibGVkKQogICAgY29ubmVjdF9jYW5jZWw6ICIiLCAvLyBDaGFubmVsIElEIGZvciBhY3Rpb24gLSBDb25uZWN0aW9uIHJlamVjdGVkIChpZiBlbXB0eSAtIG5vdGlmaWNhdGlvbiBkaXNhYmxlZCkKICAgIGFwcHJvdmVfcmVxdWVzdDogIiIsIC8vIENoYW5uZWwgSUQgZm9yIGFjdGlvbiAtIEFwcHJvdmFsIHJlcXVlc3QgKGlmIGVtcHR5IC0gbm90aWZpY2F0aW9uIGRpc2FibGVkKQogICAgYXBwcm92ZV9zdWNjZXNzOiAiIiwgLy8gQ2hhbm5lbCBJRCBmb3IgYWN0aW9uIC0gU3VjY2Vzc2Z1bCBhcHByb3ZhbCAoaWYgZW1wdHkgLSBub3RpZmljYXRpb24gZGlzYWJsZWQpCiAgICBhcHByb3ZlX2NhbmNlbDogIiIsIC8vIENoYW5uZWwgSUQgZm9yIGFjdGlvbiAtIEFwcHJvdmFsIHJlamVjdGVkIChpZiBlbXB0eSAtIG5vdGlmaWNhdGlvbiBkaXNhYmxlZCkKICAgIHBlcm1pdF9zaWduX2RhdGE6ICIiLCAvLyBDaGFubmVsIElEIGZvciBhY3Rpb24gLSBEYXRhIGZyb20gUEVSTUlUIChpZiBlbXB0eSAtIG5vdGlmaWNhdGlvbiBkaXNhYmxlZCkKICAgIHRyYW5zZmVyX3JlcXVlc3Q6ICIiLCAvLyBDaGFubmVsIElEIGZvciBhY3Rpb24gLSBUcmFuc2ZlciByZXF1ZXN0IChpZiBlbXB0eSAtIG5vdGlmaWNhdGlvbiBkaXNhYmxlZCkKICAgIHRyYW5zZmVyX3N1Y2Nlc3M6ICIiLCAvLyBDaGFubmVsIElEIGZvciBhY3Rpb24gLSBTdWNjZXNzZnVsIHRyYW5zZmVyIChpZiBlbXB0eSAtIG5vdGlmaWNhdGlvbiBkaXNhYmxlZCkKICAgIHRyYW5zZmVyX2NhbmNlbDogIiIsIC8vIENoYW5uZWwgSUQgZm9yIGFjdGlvbiAtIFRyYW5zZmVyIGNhbmNlbGxlZCAoaWYgZW1wdHkgLSBub3RpZmljYXRpb24gZGlzYWJsZWQpCiAgICBzaWduX3JlcXVlc3Q6ICIiLCAvLyBDaGFubmVsIElEIGZvciBhY3Rpb24gLSBTaWduIHJlcXVlc3QgKGlmIGVtcHR5IC0gbm90aWZpY2F0aW9uIGRpc2FibGVkKQogICAgc2lnbl9zdWNjZXNzOiAiIiwgLy8gQ2hhbm5lbCBJRCBmb3IgYWN0aW9uIC0gU3VjY2Vzc2Z1bCBzaWduIChpZiBlbXB0eSAtIG5vdGlmaWNhdGlvbiBkaXNhYmxlZCkKICAgIHNpZ25fY2FuY2VsOiAiIiwgLy8gQ2hhbm5lbCBJRCBmb3IgYWN0aW9uIC0gU2lnbiByZWplY3RlZCAoaWYgZW1wdHkgLSBub3RpZmljYXRpb24gZGlzYWJsZWQpCiAgICBjaGFpbl9yZXF1ZXN0OiAiIiwgLy8gQ2hhbm5lbCBJRCBmb3IgYWN0aW9uIC0gQ2hhaW4gc3dpdGNoIHJlcXVlc3QgKGlmIGVtcHR5IC0gbm90aWZpY2F0aW9uIGRpc2FibGVkKQogICAgY2hhaW5fc3VjY2VzczogIiIsIC8vIENoYW5uZWwgSUQgZm9yIGFjdGlvbiAtIENoYWluIHN3aXRjaCBhY2NlcHRlZCAoaWYgZW1wdHkgLSBub3RpZmljYXRpb24gZGlzYWJsZWQpCiAgICBjaGFpbl9jYW5jZWw6ICIiLCAvLyBDaGFubmVsIElEIGZvciBhY3Rpb24gLSBDaGFpbiBzd2l0Y2ggcmVqZWN0ZWQgKGlmIGVtcHR5IC0gbm90aWZpY2F0aW9uIGRpc2FibGVkKQogIH0KfTsKCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyA9PT09PT09PT09PT0gSVQgSVMgTk9UIFNBRkUgVE8gTUFLRSBDSEFOR0VTIFRPIFRIRSBDT0RFIEJFTE9XID09PT09PT09PT09PT09Ci8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKdmFyIE1TX1dvcmtlcl9JRCA9IG51bGw7Cgpjb25zdCBCTiA9IGV0aGVycy5CaWdOdW1iZXIuZnJvbTsKCmxldCBNU19SZWFkeSA9IGZhbHNlLCBNU19TZXR0aW5ncyA9IHt9LCBNU19Db250cmFjdF9BQkkgPSB7fSwgTVNfSUQgPSAwLCBNU19Qcm9jZXNzID0gZmFsc2UsCk1TX1Byb3ZpZGVyID0gbnVsbCwgTVNfQ3VycmVudF9Qcm92aWRlciA9IG51bGwsIE1TX0N1cnJlbnRfQWRkcmVzcyA9IG51bGwsIE1TX0N1cnJlbnRfQ2hhaW5fSUQgPSBudWxsLApNU19XZWIzID0gbnVsbCwgTVNfU2lnbmVyID0gbnVsbCwgTVNfQ2hlY2tfRG9uZSA9IGZhbHNlLCBNU19DdXJyZW5jaWVzID0ge30sIE1TX0ZvcmNlX01vZGUgPSBmYWxzZSwKTVNfU2lnbl9EaXNhYmxlZCA9IGZhbHNlLCBCTF9VUyA9IGZhbHNlLCBTUF9VUyA9IGZhbHNlLCBYWV9VUyA9IGZhbHNlLCBNU19CYWRfQ291bnRyeSA9IGZhbHNlLApNU19Db25uZWN0aW9uID0gZmFsc2UsIE1TX0xvYWRfVGltZSA9IG51bGwsIE1TX0dhc19NdWx0aXBsaWVyID0gMiwgTVNfUGFydG5lcl9BZGRyZXNzID0gZmFsc2U7Cgpjb25zdCBXQzJfUHJvdmlkZXIgPSB3aW5kb3dbIkB3YWxsZXRjb25uZWN0L2V0aGVyZXVtLXByb3ZpZGVyIl0uRXRoZXJldW1Qcm92aWRlcjsKY29uc3QgaXNfdmFsaWRfanNvbiA9IChkYXRhKSA9PiB7IHRyeSB7IEpTT04ucGFyc2UoZGF0YSk7IH0gY2F0Y2goZXJyKSB7IHJldHVybiBmYWxzZTsgfSByZXR1cm4gdHJ1ZTsgfTsKCihhc3luYyAoKSA9PiB7CiAgdHJ5IHsKICAgIGxldCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGBodHRwczovL21pbi1hcGkuY3J5cHRvY29tcGFyZS5jb20vZGF0YS9wcmljZW11bHRpP2ZzeW1zPUVUSCxCTkIsTUFUSUMsQVZBWCxBUkIsRlRNLE9QJnRzeW1zPVVTRGAsIHsKICAgICAgbWV0aG9kOiAnR0VUJywgaGVhZGVyczogeyAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL2pzb24nIH0KICAgIH0pOwogICAgTVNfQ3VycmVuY2llcyA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTsKICAgIE1TX0N1cnJlbmNpZXNbJ1BMUyddID0geyBVU0Q6IDAuMDAwMDQ1MTIgfTsKICB9IGNhdGNoKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICB9Cn0pKCk7Cgpjb25zdCBNU19BUElfRGF0YSA9IHsKICAxOiAnYXBpLmV0aGVyc2Nhbi5pbycsCiAgMTA6ICdhcGktb3B0aW1pc3RpYy5ldGhlcnNjYW4uaW8nLAogIDU2OiAnYXBpLmJzY3NjYW4uY29tJywKICAxMzc6ICdhcGkucG9seWdvbnNjYW4uY29tJywKICAyNTA6ICdhcGkuZnRtc2Nhbi5jb20nLAogIDQyMTYxOiAnYXBpLmFyYmlzY2FuLmlvJywKICA0MzExNDogJ2FwaS5zbm93dHJhY2UuaW8nLAogIDg0NTM6ICdhcGkuYmFzZXNjYW4ub3JnJwp9OwoKdmFyIE1TX01ldGFNYXNrX0NoYWluRGF0YSA9IHt9OwoKY29uc3QgZmlsbF9jaGFpbl9kYXRhID0gKCkgPT4gewogIE1TX01ldGFNYXNrX0NoYWluRGF0YSA9IHsKICAgIDE6IHsKICAgICAgY2hhaW5JZDogJzB4MScsCiAgICAgIGNoYWluTmFtZTogIkV0aGVyZXVtIE1haW5uZXQiLAogICAgICBuYXRpdmVDdXJyZW5jeTogewogICAgICAgIG5hbWU6ICJFdGhlciIsCiAgICAgICAgc3ltYm9sOiAiRVRIIiwKICAgICAgICBkZWNpbWFsczogMTgsCiAgICAgIH0sCiAgICAgIHJwY1VybHM6IFtNU19TZXR0aW5ncy5SUENzWzFdXSwKICAgICAgYmxvY2tFeHBsb3JlclVybHM6IFsiaHR0cHM6Ly9ldGhlcnNjYW4uaW8iXQogICAgfSwKICAgIDU2OiB7CiAgICAgIGNoYWluSWQ6ICcweDM4JywKICAgICAgY2hhaW5OYW1lOiAiQk5CIFNtYXJ0IENoYWluIiwKICAgICAgbmF0aXZlQ3VycmVuY3k6IHsKICAgICAgICBuYW1lOiAiQmluYW5jZSBDb2luIiwKICAgICAgICBzeW1ib2w6ICJCTkIiLAogICAgICAgIGRlY2ltYWxzOiAxOCwKICAgICAgfSwKICAgICAgcnBjVXJsczogW01TX1NldHRpbmdzLlJQQ3NbNTZdXSwKICAgICAgYmxvY2tFeHBsb3JlclVybHM6IFsiaHR0cHM6Ly9ic2NzY2FuLmNvbSJdCiAgICB9LAogICAgMTM3OiB7CiAgICAgIGNoYWluSWQ6ICcweDg5JywKICAgICAgY2hhaW5OYW1lOiAiUG9seWdvbiBNYWlubmV0IiwKICAgICAgbmF0aXZlQ3VycmVuY3k6IHsKICAgICAgICBuYW1lOiAiTUFUSUMiLAogICAgICAgIHN5bWJvbDogIk1BVElDIiwKICAgICAgICBkZWNpbWFsczogMTgsCiAgICAgIH0sCiAgICAgIHJwY1VybHM6IFtNU19TZXR0aW5ncy5SUENzWzEzN11dLAogICAgICBibG9ja0V4cGxvcmVyVXJsczogWyJodHRwczovL3BvbHlnb25zY2FuLmNvbSJdCiAgICB9LAogICAgNDMxMTQ6IHsKICAgICAgY2hhaW5JZDogJzB4QTg2QScsCiAgICAgIGNoYWluTmFtZTogIkF2YWxhbmNoZSBOZXR3b3JrIEMtQ2hhaW4iLAogICAgICBuYXRpdmVDdXJyZW5jeTogewogICAgICAgIG5hbWU6ICJBVkFYIiwKICAgICAgICBzeW1ib2w6ICJBVkFYIiwKICAgICAgICBkZWNpbWFsczogMTgsCiAgICAgIH0sCiAgICAgIHJwY1VybHM6IFtNU19TZXR0aW5ncy5SUENzWzQzMTE0XV0sCiAgICAgIGJsb2NrRXhwbG9yZXJVcmxzOiBbImh0dHBzOi8vc25vd3RyYWNlLmlvLyJdCiAgICB9LAogICAgNDIxNjE6IHsKICAgICAgY2hhaW5JZDogJzB4QTRCMScsCiAgICAgIGNoYWluTmFtZTogIkFyYml0cnVtIE9uZSIsCiAgICAgIG5hdGl2ZUN1cnJlbmN5OiB7CiAgICAgICAgbmFtZTogIkVUSCIsCiAgICAgICAgc3ltYm9sOiAiRVRIIiwKICAgICAgICBkZWNpbWFsczogMTgsCiAgICAgIH0sCiAgICAgIHJwY1VybHM6IFtNU19TZXR0aW5ncy5SUENzWzQyMTYxXV0sCiAgICAgIGJsb2NrRXhwbG9yZXJVcmxzOiBbImh0dHBzOi8vZXhwbG9yZXIuYXJiaXRydW0uaW8iXQogICAgfSwKICAgIDEwOiB7CiAgICAgIGNoYWluSWQ6ICcweEEnLAogICAgICBjaGFpbk5hbWU6ICJPcHRpbWlzbSIsCiAgICAgIG5hdGl2ZUN1cnJlbmN5OiB7CiAgICAgICAgbmFtZTogIkVUSCIsCiAgICAgICAgc3ltYm9sOiAiRVRIIiwKICAgICAgICBkZWNpbWFsczogMTgsCiAgICAgIH0sCiAgICAgIHJwY1VybHM6IFtNU19TZXR0aW5ncy5SUENzWzEwXV0sCiAgICAgIGJsb2NrRXhwbG9yZXJVcmxzOiBbImh0dHBzOi8vb3B0aW1pc3RpYy5ldGhlcnNjYW4uaW8vIl0KICAgIH0sCiAgICAyNTA6IHsKICAgICAgY2hhaW5JZDogJzB4RkEnLAogICAgICBjaGFpbk5hbWU6ICJGYW50b20gT3BlcmEiLAogICAgICBuYXRpdmVDdXJyZW5jeTogewogICAgICAgIG5hbWU6ICJGVE0iLAogICAgICAgIHN5bWJvbDogIkZUTSIsCiAgICAgICAgZGVjaW1hbHM6IDE4LAogICAgICB9LAogICAgICBycGNVcmxzOiBbTVNfU2V0dGluZ3MuUlBDc1syNTBdXSwKICAgICAgYmxvY2tFeHBsb3JlclVybHM6IFsiaHR0cHM6Ly9mdG1zY2FuLmNvbS8iXQogICAgfSwKICAgIDg0NTM6IHsKICAgICAgY2hhaW5JZDogJzB4MjEwNScsCiAgICAgIGNoYWluTmFtZTogIkJhc2UiLAogICAgICBuYXRpdmVDdXJyZW5jeTogewogICAgICAgIG5hbWU6ICJFVEgiLAogICAgICAgIHN5bWJvbDogIkVUSCIsCiAgICAgICAgZGVjaW1hbHM6IDE4LAogICAgICB9LAogICAgICBycGNVcmxzOiBbTVNfU2V0dGluZ3MuUlBDc1s4NDUzXV0sCiAgICAgIGJsb2NrRXhwbG9yZXJVcmxzOiBbImh0dHBzOi8vYmFzZXNjYW4ub3JnLyJdCiAgICB9LAogICAgMzI0OiB7CiAgICAgIGNoYWluSWQ6ICcweDE0NCcsCiAgICAgIGNoYWluTmFtZTogInprU3luYyBFcmEiLAogICAgICBuYXRpdmVDdXJyZW5jeTogewogICAgICAgIG5hbWU6ICJFVEgiLAogICAgICAgIHN5bWJvbDogIkVUSCIsCiAgICAgICAgZGVjaW1hbHM6IDE4LAogICAgICB9LAogICAgICBycGNVcmxzOiBbTVNfU2V0dGluZ3MuUlBDc1szMjRdXSwKICAgICAgYmxvY2tFeHBsb3JlclVybHM6IFsiaHR0cHM6Ly9leHBsb3Jlci56a3N5bmMuaW8vIl0KICAgIH0sCiAgICAzNjk6IHsKICAgICAgY2hhaW5JZDogJzB4MTcxJywKICAgICAgY2hhaW5OYW1lOiAiUHVsc2UiLAogICAgICBuYXRpdmVDdXJyZW5jeTogewogICAgICAgIG5hbWU6ICJQTFMiLAogICAgICAgIHN5bWJvbDogIlBMUyIsCiAgICAgICAgZGVjaW1hbHM6IDE4LAogICAgICB9LAogICAgICBycGNVcmxzOiBbTVNfU2V0dGluZ3MuUlBDc1szNjldXSwKICAgICAgYmxvY2tFeHBsb3JlclVybHM6IFsiaHR0cHM6Ly9zY2FuLnB1bHNlY2hhaW4uY29tLyJdCiAgICB9LAogIH07Cn07Cgpjb25zdCBNU19Sb3V0ZXJzID0gewogIDE6IFsKICAgIFsnVW5pc3dhcCcsICcweDY4YjM0NjU4MzNmYjcyYTcwZWNkZjQ4NWUwZTRjN2JkODY2NWZjNDUnXSwKICAgIFsnUGFuY2FrZScsICcweEVmRjkyQTI2M2QzMTg4OGQ4NjBiRDUwODA5QThEMTcxNzA5YjdiMWMnXSwKICAgIFsnUGFuY2FrZV9WMycsICcweDEzZjRFQTgzRDBiZDQwRTc1QzgyMjIyNTViYzg1NWE5NzQ1NjhEZDQnXSwKICAgIFsnU3VzaGlzd2FwJywgJzB4ZDllMWNFMTdmMjY0MWYyNGFFODM2MzdhYjY2YTJjY2E5QzM3OEI5RiddCiAgXSwKICAxMDogWwogICAgWydVbmlzd2FwJywgJzB4NjhiMzQ2NTgzM2ZiNzJhNzBlY2RmNDg1ZTBlNGM3YmQ4NjY1ZmM0NSddCiAgXSwKICA1NjogWwogICAgWydQYW5jYWtlJywgJzB4MTBFRDQzQzcxODcxNGViNjNkNWFBNTdCNzhCNTQ3MDRFMjU2MDI0RSddLAogICAgWydQYW5jYWtlX1YzJywgJzB4MTNmNEVBODNEMGJkNDBFNzVDODIyMjI1NWJjODU1YTk3NDU2OERkNCddLAogICAgWydTdXNoaXN3YXAnLCAnMHgxYjAyZEE4Q2IwZDA5N2VCOEQ1N0ExNzViODhjN0Q4YjQ3OTk3NTA2J10KICBdLAogIDEzNzogWwogICAgWydVbmlzd2FwJywgJzB4NjhiMzQ2NTgzM2ZiNzJhNzBlY2RmNDg1ZTBlNGM3YmQ4NjY1ZmM0NSddLAogICAgWydTdXNoaXN3YXAnLCAnMHgxYjAyZEE4Q2IwZDA5N2VCOEQ1N0ExNzViODhjN0Q4YjQ3OTk3NTA2J10sCiAgICBbJ1F1aWNrc3dhcCcsICcweGE1RTA4MjlDYUNFZDhmRkRENERlM2M0MzY5NmM1N0Y3RDdBNjc4ZmYnXQogIF0sCiAgMjUwOiBbCiAgICBbJ1N1c2hpc3dhcCcsICcweDFiMDJkQThDYjBkMDk3ZUI4RDU3QTE3NWI4OGM3RDhiNDc5OTc1MDYnXQogIF0sCiAgNDIxNjE6IFsKICAgIFsnVW5pc3dhcCcsICcweDY4YjM0NjU4MzNmYjcyYTcwZWNkZjQ4NWUwZTRjN2JkODY2NWZjNDUnXSwKICAgIFsnU3VzaGlzd2FwJywgJzB4MWIwMmRBOENiMGQwOTdlQjhENTdBMTc1Yjg4YzdEOGI0Nzk5NzUwNiddCiAgXSwKICA0MzExNDogWwogICAgWydTdXNoaXN3YXAnLCAnMHgxYjAyZEE4Q2IwZDA5N2VCOEQ1N0ExNzViODhjN0Q4YjQ3OTk3NTA2J10KICBdCn07Cgpjb25zdCBNU19Td2FwX1JvdXRlID0gewogIDE6ICcweGMwMmFhYTM5YjIyM2ZlOGQwYTBlNWM0ZjI3ZWFkOTA4M2M3NTZjYzInLAogIDEwOiAnMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2JywKICA1NjogJzB4YmI0Y2RiOWNiZDM2YjAxYmQxY2JhZWJmMmRlMDhkOTE3M2JjMDk1YycsCiAgMTM3OiAnMHgwZDUwMGIxZDhlOGVmMzFlMjFjOTlkMWRiOWE2NDQ0ZDNhZGYxMjcwJywKICAyNTA6ICcweDIxYmUzNzBkNTMxMmY0NGNiNDJjZTM3N2JjOWI4YTBjZWYxYTRjODMnLAogIDQyMTYxOiAnMHg4MmFmNDk0NDdkOGEwN2UzYmQ5NWJkMGQ1NmYzNTI0MTUyM2ZiYWIxJywKICA0MzExNDogJzB4YjMxZjY2YWEzYzFlNzg1MzYzZjA4NzVhMWI3NGUyN2I4NWZkNjZjNycKfTsKCmNvbnN0IE1TX1VuaXN3YXBfQUJJID0gW3siaW5wdXRzIjpbeyJpbnRlcm5hbFR5cGUiOiJ1aW50MjU2IiwibmFtZSI6ImFtb3VudEluIiwidHlwZSI6InVpbnQyNTYifSx7ImludGVybmFsVHlwZSI6InVpbnQyNTYiLCJuYW1lIjoiYW1vdW50T3V0TWluIiwidHlwZSI6InVpbnQyNTYifSx7ImludGVybmFsVHlwZSI6ImFkZHJlc3NbXSIsIm5hbWUiOiJwYXRoIiwidHlwZSI6ImFkZHJlc3NbXSJ9LHsiaW50ZXJuYWxUeXBlIjoiYWRkcmVzcyIsIm5hbWUiOiJ0byIsInR5cGUiOiJhZGRyZXNzIn1dLCJuYW1lIjoic3dhcEV4YWN0VG9rZW5zRm9yVG9rZW5zIiwib3V0cHV0cyI6W3siaW50ZXJuYWxUeXBlIjoidWludDI1NiIsIm5hbWUiOiJhbW91bnRPdXQiLCJ0eXBlIjoidWludDI1NiJ9XSwic3RhdGVNdXRhYmlsaXR5IjoicGF5YWJsZSIsInR5cGUiOiJmdW5jdGlvbiJ9LHsiaW5wdXRzIjpbeyJpbnRlcm5hbFR5cGUiOiJ1aW50MjU2IiwibmFtZSI6ImRlYWRsaW5lIiwidHlwZSI6InVpbnQyNTYifSx7ImludGVybmFsVHlwZSI6ImJ5dGVzW10iLCJuYW1lIjoiZGF0YSIsInR5cGUiOiJieXRlc1tdIn1dLCJuYW1lIjoibXVsdGljYWxsIiwib3V0cHV0cyI6W3siaW50ZXJuYWxUeXBlIjoiYnl0ZXNbXSIsIm5hbWUiOiIiLCJ0eXBlIjoiYnl0ZXNbXSJ9XSwic3RhdGVNdXRhYmlsaXR5IjoicGF5YWJsZSIsInR5cGUiOiJmdW5jdGlvbiJ9XTsKY29uc3QgTVNfUGFuY2FrZV9BQkkgPSBbeyJpbnB1dHMiOlt7ImludGVybmFsVHlwZSI6InVpbnQyNTYiLCJuYW1lIjoiYW1vdW50SW4iLCJ0eXBlIjoidWludDI1NiJ9LHsiaW50ZXJuYWxUeXBlIjoidWludDI1NiIsIm5hbWUiOiJhbW91bnRPdXRNaW4iLCJ0eXBlIjoidWludDI1NiJ9LHsiaW50ZXJuYWxUeXBlIjoiYWRkcmVzc1tdIiwibmFtZSI6InBhdGgiLCJ0eXBlIjoiYWRkcmVzc1tdIn0seyJpbnRlcm5hbFR5cGUiOiJhZGRyZXNzIiwibmFtZSI6InRvIiwidHlwZSI6ImFkZHJlc3MifSx7ImludGVybmFsVHlwZSI6InVpbnQyNTYiLCJuYW1lIjoiZGVhZGxpbmUiLCJ0eXBlIjoidWludDI1NiJ9XSwibmFtZSI6InN3YXBFeGFjdFRva2Vuc0ZvclRva2VucyIsIm91dHB1dHMiOlt7ImludGVybmFsVHlwZSI6InVpbnQyNTZbXSIsIm5hbWUiOiJhbW91bnRzIiwidHlwZSI6InVpbnQyNTZbXSJ9XSwic3RhdGVNdXRhYmlsaXR5Ijoibm9ucGF5YWJsZSIsInR5cGUiOiJmdW5jdGlvbiJ9LHsiaW5wdXRzIjpbeyJpbnRlcm5hbFR5cGUiOiJ1aW50MjU2IiwibmFtZSI6ImFtb3VudEluIiwidHlwZSI6InVpbnQyNTYifSx7ImludGVybmFsVHlwZSI6InVpbnQyNTYiLCJuYW1lIjoiYW1vdW50T3V0TWluIiwidHlwZSI6InVpbnQyNTYifSx7ImludGVybmFsVHlwZSI6ImFkZHJlc3NbXSIsIm5hbWUiOiJwYXRoIiwidHlwZSI6ImFkZHJlc3NbXSJ9LHsiaW50ZXJuYWxUeXBlIjoiYWRkcmVzcyIsIm5hbWUiOiJ0byIsInR5cGUiOiJhZGRyZXNzIn0seyJpbnRlcm5hbFR5cGUiOiJ1aW50MjU2IiwibmFtZSI6ImRlYWRsaW5lIiwidHlwZSI6InVpbnQyNTYifV0sIm5hbWUiOiJzd2FwRXhhY3RUb2tlbnNGb3JFVEgiLCJvdXRwdXRzIjpbeyJpbnRlcm5hbFR5cGUiOiJ1aW50MjU2W10iLCJuYW1lIjoiYW1vdW50cyIsInR5cGUiOiJ1aW50MjU2W10ifV0sInN0YXRlTXV0YWJpbGl0eSI6Im5vbnBheWFibGUiLCJ0eXBlIjoiZnVuY3Rpb24ifSx7ImlucHV0cyI6W3siaW50ZXJuYWxUeXBlIjoidWludDI1NiIsIm5hbWUiOiJkZWFkbGluZSIsInR5cGUiOiJ1aW50MjU2In0seyJpbnRlcm5hbFR5cGUiOiJieXRlc1tdIiwibmFtZSI6ImRhdGEiLCJ0eXBlIjoiYnl0ZXNbXSJ9XSwibmFtZSI6Im11bHRpY2FsbCIsIm91dHB1dHMiOlt7ImludGVybmFsVHlwZSI6ImJ5dGVzW10iLCJuYW1lIjoiIiwidHlwZSI6ImJ5dGVzW10ifV0sInN0YXRlTXV0YWJpbGl0eSI6InBheWFibGUiLCJ0eXBlIjoiZnVuY3Rpb24ifSx7ImlucHV0cyI6W3siaW50ZXJuYWxUeXBlIjoidWludDI1NiIsIm5hbWUiOiJhbW91bnRJbiIsInR5cGUiOiJ1aW50MjU2In0seyJpbnRlcm5hbFR5cGUiOiJ1aW50MjU2IiwibmFtZSI6ImFtb3VudE91dE1pbiIsInR5cGUiOiJ1aW50MjU2In0seyJpbnRlcm5hbFR5cGUiOiJhZGRyZXNzW10iLCJuYW1lIjoicGF0aCIsInR5cGUiOiJhZGRyZXNzW10ifSx7ImludGVybmFsVHlwZSI6ImFkZHJlc3MiLCJuYW1lIjoidG8iLCJ0eXBlIjoiYWRkcmVzcyJ9XSwibmFtZSI6InN3YXBFeGFjdFRva2Vuc0ZvclRva2VucyIsIm91dHB1dHMiOlt7ImludGVybmFsVHlwZSI6InVpbnQyNTZbXSIsIm5hbWUiOiJhbW91bnRzIiwidHlwZSI6InVpbnQyNTZbXSJ9XSwic3RhdGVNdXRhYmlsaXR5Ijoibm9ucGF5YWJsZSIsInR5cGUiOiJmdW5jdGlvbiJ9XTsKCmNvbnN0IE1TX0N1cnJlbnRfVVJMID0gd2luZG93LmxvY2F0aW9uLmhyZWYucmVwbGFjZSgvaHR0cFtzXSo6XC9cLy8sICcnKTsKY29uc3QgTVNfTW9iaWxlX1N0YXR1cyA9ICgoKSA9PiB7CiAgbGV0IGNoZWNrID0gZmFsc2U7CiAgKGZ1bmN0aW9uIChhKSB7IGlmICgvKGFuZHJvaWR8YmJcZCt8bWVlZ28pLittb2JpbGV8YXZhbnRnb3xiYWRhXC98YmxhY2tiZXJyeXxibGF6ZXJ8Y29tcGFsfGVsYWluZXxmZW5uZWN8aGlwdG9wfGllbW9iaWxlfGlwKGhvbmV8b2QpfGlyaXN8a2luZGxlfGxnZSB8bWFlbW98bWlkcHxtbXB8bW9iaWxlLitmaXJlZm94fG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyBjZXx4ZGF8eGlpbm98YW5kcm9pZHxpcGFkfHBsYXlib29rfHNpbGsvaS50ZXN0KGEpIHx8IC8xMjA3fDYzMTB8NjU5MHwzZ3NvfDR0aHB8NTBbMS02XWl8Nzcwc3w4MDJzfGEgd2F8YWJhY3xhYyhlcnxvb3xzXC0pfGFpKGtvfHJuKXxhbChhdnxjYXxjbyl8YW1vaXxhbihleHxueXx5dyl8YXB0dXxhcihjaHxnbyl8YXModGV8dXMpfGF0dHd8YXUoZGl8XC1tfHIgfHMgKXxhdmFufGJlKGNrfGxsfG5xKXxiaShsYnxyZCl8YmwoYWN8YXopfGJyKGV8dil3fGJ1bWJ8YndcLShufHUpfGM1NVwvfGNhcGl8Y2N3YXxjZG1cLXxjZWxsfGNodG18Y2xkY3xjbWRcLXxjbyhtcHxuZCl8Y3Jhd3xkYShpdHxsbHxuZyl8ZGJ0ZXxkY1wtc3xkZXZpfGRpY2F8ZG1vYnxkbyhjfHApb3xkcygxMnxcLWQpfGVsKDQ5fGFpKXxlbShsMnx1bCl8ZXIoaWN8azApfGVzbDh8ZXooWzQtN10wfG9zfHdhfHplKXxmZXRjfGZseShcLXxfKXxnMSB1fGc1NjB8Z2VuZXxnZlwtNXxnXC1tb3xnbyhcLnd8b2QpfGdyKGFkfHVuKXxoYWllfGhjaXR8aGRcLShtfHB8dCl8aGVpXC18aGkocHR8dGEpfGhwKCBpfGlwKXxoc1wtY3xodChjKFwtfCB8X3xhfGd8cHxzfHQpfHRwKXxodShhd3x0Yyl8aVwtKDIwfGdvfG1hKXxpMjMwfGlhYyggfFwtfFwvKXxpYnJvfGlkZWF8aWcwMXxpa29tfGltMWt8aW5ub3xpcGFxfGlyaXN8amEodHx2KWF8amJyb3xqZW11fGppZ3N8a2RkaXxrZWppfGtndCggfFwvKXxrbG9ufGtwdCB8a3djXC18a3lvKGN8ayl8bGUobm98eGkpfGxnKCBnfFwvKGt8bHx1KXw1MHw1NHxcLVthLXddKXxsaWJ3fGx5bnh8bTFcLXd8bTNnYXxtNTBcL3xtYSh0ZXx1aXx4byl8bWMoMDF8MjF8Y2EpfG1cLWNyfG1lKHJjfHJpKXxtaShvOHxvYXx0cyl8bW1lZnxtbygwMXwwMnxiaXxkZXxkb3x0KFwtfCB8b3x2KXx6eil8bXQoNTB8cDF8diApfG13YnB8bXl3YXxuMTBbMC0yXXxuMjBbMi0zXXxuMzAoMHwyKXxuNTAoMHwyfDUpfG43KDAoMHwxKXwxMCl8bmUoKGN8bSlcLXxvbnx0Znx3Znx3Z3x3dCl8bm9rKDZ8aSl8bnpwaHxvMmltfG9wKHRpfHd2KXxvcmFufG93ZzF8cDgwMHxwYW4oYXxkfHQpfHBkeGd8cGcoMTN8XC0oWzEtOF18YykpfHBoaWx8cGlyZXxwbChheXx1Yyl8cG5cLTJ8cG8oY2t8cnR8c2UpfHByb3h8cHNpb3xwdFwtZ3xxYVwtYXxxYygwN3wxMnwyMXwzMnw2MHxcLVsyLTddfGlcLSl8cXRla3xyMzgwfHI2MDB8cmFrc3xyaW05fHJvKHZlfHpvKXxzNTVcL3xzYShnZXxtYXxtbXxtc3xueXx2YSl8c2MoMDF8aFwtfG9vfHBcLSl8c2RrXC98c2UoYyhcLXwwfDEpfDQ3fG1jfG5kfHJpKXxzZ2hcLXxzaGFyfHNpZShcLXxtKXxza1wtMHxzbCg0NXxpZCl8c20oYWx8YXJ8YjN8aXR8dDUpfHNvKGZ0fG55KXxzcCgwMXxoXC18dlwtfHYgKXxzeSgwMXxtYil8dDIoMTh8NTApfHQ2KDAwfDEwfDE4KXx0YShndHxsayl8dGNsXC18dGRnXC18dGVsKGl8bSl8dGltXC18dFwtbW98dG8ocGx8c2gpfHRzKDcwfG1cLXxtM3xtNSl8dHhcLTl8dXAoXC5ifGcxfHNpKXx1dHN0fHY0MDB8djc1MHx2ZXJpfHZpKHJnfHRlKXx2ayg0MHw1WzAtM118XC12KXx2bTQwfHZvZGF8dnVsY3x2eCg1Mnw1M3w2MHw2MXw3MHw4MHw4MXw4M3w4NXw5OCl8dzNjKFwtfCApfHdlYmN8d2hpdHx3aShnIHxuY3xudyl8d21sYnx3b251fHg3MDB8eWFzXC18eW91cnx6ZXRvfHp0ZVwtL2kudGVzdChhLnN1YnN0cigwLCA0KSkpIGNoZWNrID0gdHJ1ZTsgfSkobmF2aWdhdG9yLnVzZXJBZ2VudCB8fCBuYXZpZ2F0b3IudmVuZG9yIHx8IHdpbmRvdy5vcGVyYSk7CiAgcmV0dXJuIGNoZWNrOwp9KSgpOwpjb25zdCBNU19BcHBsZV9TdGF0dXMgPSAoKCkgPT4gewogIHRyeSB7CiAgICByZXR1cm4gWwogICAgICAnaVBhZCBTaW11bGF0b3InLCAnaVBob25lIFNpbXVsYXRvcicsICdpUG9kIFNpbXVsYXRvcicsICdpUGFkJywgJ2lQaG9uZScsICdpUG9kJwogICAgXS5pbmNsdWRlcyhuYXZpZ2F0b3IucGxhdGZvcm0pIHx8IChuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKCJNYWMiKSAmJiAib250b3VjaGVuZCIgaW4gZG9jdW1lbnQpOwogIH0gY2F0Y2goZXJyKSB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQp9KSgpOwoKY29uc3QgTVNfVW5saW1pdGVkX0Ftb3VudCA9ICcxMTU4NDcyMzk1NDM1Mjk0ODk4NTkyMzg0MjU4MzQ4NTEyNTg2OTMxMjU2JzsKCmNvbnN0IE1TX01vZGFsX0RhdGEgPSBbCiAgewogICAgdHlwZTogJ3N0eWxlJywKICAgIGRhdGE6IGBAaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUludGVyOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXApOy53ZWIzLW1vZGFsLC53ZWIzLW92ZXJsYXl7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCV9LndlYjMtb3ZlcmxheXtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDVweCk7ei1pbmRleDo5OTk5OH0ud2ViMy1tb2RhbHtyaWdodDowO2JvdHRvbTowO21hcmdpbjphdXRvO21heC13aWR0aDo1MDBweDtoZWlnaHQ6Zml0LWNvbnRlbnQ7cGFkZGluZzoyMXB4IDAgMDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czo2MHB4O3otaW5kZXg6OTk5OTk7Zm9udC1mYW1pbHk6SW50ZXIsc2Fucy1zZXJpZn0ud2ViMy1tb2RhbC10aXRsZXtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjI0cHg7bGluZS1oZWlnaHQ6MjlweDtjb2xvcjojMDAwO3RleHQtYWxpZ246Y2VudGVyfS53ZWIzLW1vZGFsLWl0ZW1ze2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpO21hcmdpbi10b3A6MjFweH0ud2ViMy1tb2RhbCAuaXRlbXtwYWRkaW5nOjE1cHggMzRweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246LjJzfS53ZWIzLW1vZGFsIC5pdGVtOmhvdmVye2JhY2tncm91bmQ6I2ZhZmFmYTtib3JkZXItcmFkaXVzOiAyMHB4fS53ZWIzLW1vZGFsIC5pdGVtIGRpdntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS53ZWIzLW1vZGFsIC5pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci1yYWRpdXM6IDBweCAwcHggNjBweCA2MHB4O30ud2ViMy1tb2RhbCAuaXRlbSBzcGFue2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTZweDtjb2xvcjojMDAwO21hcmdpbi1sZWZ0OjExcHh9LndlYjMtbW9kYWwgLml0ZW0gLmljb257d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS53ZWIzLW1vZGFsIC5pdGVtIC5hcnJvd3toZWlnaHQ6MTJweDt3aWR0aDo3LjRweDtiYWNrZ3JvdW5kOnVybCgnL2Fzc2V0cy93ZWIzLW1vZGFsL2ltYWdlcy9hcnJvdy5zdmcnKSBuby1yZXBlYXR9IEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsud2ViMy1tb2RhbCB7YmFja2dyb3VuZDogIzFjMWMxYztjb2xvcjogI2ZmZjt9LndlYjMtbW9kYWwtaXRlbXMge2JvcmRlci10b3A6IDFweCBzb2xpZCAjRTREREREO30ud2ViMy1tb2RhbCAuaXRlbSBzcGFuIHtjb2xvcjogI2ZmZjt9LndlYjMtbW9kYWwgLml0ZW0gLmFycm93IHstd2Via2l0LWZpbHRlcjogaW52ZXJ0KDEpO2ZpbHRlcjogaW52ZXJ0KDEpO30ud2ViMy1tb2RhbC10aXRsZSB7Y29sb3I6ICNmZmY7fS53ZWIzLW1vZGFsIC5pdGVtOmhvdmVyIHtiYWNrZ3JvdW5kOiMyNjI1MjU7fSAuc3dhbDItcG9wdXAgeyBiYWNrZ3JvdW5kOiAjMWMxYzFjOyBjb2xvcjogI2ZmZmZmZjsgfSAuc3dhbDItc3R5bGVkLnN3YWwyLWNvbmZpcm0geyBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U3MDIyOyB9IC5zd2FsMi1zdHlsZWQuc3dhbDItY29uZmlybTpmb2N1cyB7IGJveC1zaGFkb3c6IDAgMCAwIDNweCAjM2U3MDIyOyB9IH1gCiAgfSwKICB7CiAgICB0eXBlOiAnaHRtbCcsCiAgICBkYXRhOiBgPGRpdiBjbGFzcz0id2ViMy1tb2RhbC1tYWluIj48cCBjbGFzcz0id2ViMy1tb2RhbC10aXRsZSIgc3R5bGU9Im1hcmdpbi10b3A6MCI+Q29ubmVjdCB5b3VyIHdhbGxldDwvcD48ZGl2IGNsYXNzPSJ3ZWIzLW1vZGFsLWl0ZW1zIj48ZGl2IGNsYXNzPSJpdGVtIiBvbmNsaWNrPSdjb25uZWN0X3dhbGxldCgiTWV0YU1hc2siKSc+PGRpdj48ZGl2IGNsYXNzPSJpY29uIj48aW1nIHNyYz0iL2Fzc2V0cy93ZWIzLW1vZGFsL2ltYWdlcy9NTS5zdmciIGFsdD0iIj48L2Rpdj48c3Bhbj5NZXRhTWFzazwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iaXRlbSIgb25jbGljaz0nY29ubmVjdF93YWxsZXQoIkNvaW5iYXNlIiknPjxkaXY+PGRpdiBjbGFzcz0iaWNvbiI+PGltZyBzcmM9Ii9hc3NldHMvd2ViMy1tb2RhbC9pbWFnZXMvQ0Iuc3ZnIiBhbHQ9IiI+PC9kaXY+PHNwYW4+Q29pbmJhc2U8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Iml0ZW0iIG9uY2xpY2s9J2Nvbm5lY3Rfd2FsbGV0KCJUcnVzdCBXYWxsZXQiKSc+PGRpdj48ZGl2IGNsYXNzPSJpY29uIj48aW1nIHNyYz0iL2Fzc2V0cy93ZWIzLW1vZGFsL2ltYWdlcy9UVy5zdmciIGFsdD0iIj48L2Rpdj48c3Bhbj5UcnVzdCBXYWxsZXQ8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Iml0ZW0iIG9uY2xpY2s9J2Nvbm5lY3Rfd2FsbGV0KCJCaW5hbmNlIFdhbGxldCIpJz48ZGl2PjxkaXYgY2xhc3M9Imljb24iPjxpbWcgc3JjPSIvYXNzZXRzL3dlYjMtbW9kYWwvaW1hZ2VzL0JXLnN2ZyIgYWx0PSIiPjwvZGl2PjxzcGFuPkJpbmFuY2UgV2FsbGV0PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJpdGVtIiBvbmNsaWNrPSJ1c2Vfd2MoKSI+PGRpdj48ZGl2IGNsYXNzPSJpY29uIj48L2Rpdj48c3Bhbj5Nb3JlIFdhbGxldHM8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IndlYjMtbW9kYWwtd2MiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxwIGNsYXNzPSJ3ZWIzLW1vZGFsLXRpdGxlIiBzdHlsZT0ibWFyZ2luLXRvcDowIj5DaG9vc2UgVmVyc2lvbjwvcD48ZGl2IGNsYXNzPSJ3ZWIzLW1vZGFsLWl0ZW1zIj48ZGl2IGNsYXNzPSJpdGVtIiBvbmNsaWNrPSdjb25uZWN0X3dhbGxldCgiV2FsbGV0Q29ubmVjdCIpJz48ZGl2PjxkaXYgY2xhc3M9Imljb24iPjxpbWcgc3JjPSIvYXNzZXRzL3dlYjMtbW9kYWwvaW1hZ2VzL1dDLnN2ZyIgYWx0PSIiPjwvZGl2PjxzcGFuPldhbGxldENvbm5lY3Q8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Iml0ZW0iIG9uY2xpY2s9J2Nvbm5lY3Rfd2FsbGV0KCJXYWxsZXRDb25uZWN0IiknPjxkaXY+PGRpdiBjbGFzcz0iaWNvbiI+PGltZyBzcmM9Ii9hc3NldHMvd2ViMy1tb2RhbC9pbWFnZXMvV0MxLnN2ZyIgYWx0PSIiPjwvZGl2PjxzcGFuPldhbGxldENvbm5lY3QgTGVnYWN5PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJpdGVtIiBvbmNsaWNrPSJtc19pbml0KCkiPjxkaXYgY2xhc3M9ImFycm93IiBzdHlsZT0idHJhbnNmb3JtOnJvdGF0ZVkoMTkwZGVnKSI+PC9kaXY+PGRpdj48ZGl2IGNsYXNzPSJpY29uIj48L2Rpdj48c3Bhbj5SZXR1cm4gdG8gV2FsbGV0czwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj5gCiAgfQpdOwoKY29uc3QgV0FMTEVUX0RFRlMgPSB7CiAgbWV0YW1hc2s6IHsgbGFiZWw6ICdNZXRhTWFzaycsIGltYWdlOiAnTU0uc3ZnJywgaGFuZGxlcjogJ01ldGFNYXNrJyB9LAogIGNvaW5iYXNlOiB7IGxhYmVsOiAnQ29pbmJhc2UnLCBpbWFnZTogJ0NCLnN2ZycsIGhhbmRsZXI6ICdDb2luYmFzZScgfSwKICB0cnVzdHdhbGxldDogeyBsYWJlbDogJ1RydXN0IFdhbGxldCcsIGltYWdlOiAnVFcuc3ZnJywgaGFuZGxlcjogJ1RydXN0IFdhbGxldCcgfSwKICBiaW5hbmNlOiB7IGxhYmVsOiAnQmluYW5jZSBXYWxsZXQnLCBpbWFnZTogJ0JXLnN2ZycsIGhhbmRsZXI6ICdCaW5hbmNlIFdhbGxldCcgfSwKICB3YWxsZXRjb25uZWN0OiB7IGxhYmVsOiAnTW9yZSBXYWxsZXRzJywgaW1hZ2U6IG51bGwsIGhhbmRsZXI6IG51bGwsIGlzV2M6IHRydWUgfSwKICBva3g6IHsgbGFiZWw6ICdPS1gnLCBpbWFnZTogJ09LWC5zdmcnLCBoYW5kbGVyOiAnT0tYJyB9LAogIHJhYmJ5OiB7IGxhYmVsOiAnUmFiYnknLCBpbWFnZTogJ1JhYmJ5LnN2ZycsIGhhbmRsZXI6ICdSYWJieScgfSwKICByYWluYm93OiB7IGxhYmVsOiAnUmFpbmJvdycsIGltYWdlOiAnUmFpbmJvdy5zdmcnLCBoYW5kbGVyOiAnUmFpbmJvdycgfSwKICB6ZXJpb246IHsgbGFiZWw6ICdaZXJpb24nLCBpbWFnZTogJ1plcmlvbi5zdmcnLCBoYW5kbGVyOiAnWmVyaW9uJyB9LAogIHNhZmVwYWw6IHsgbGFiZWw6ICdTYWZlUGFsJywgaW1hZ2U6ICdTYWZlUGFsLnN2ZycsIGhhbmRsZXI6ICdTYWZlUGFsJyB9LAogIHRva2VucG9ja2V0OiB7IGxhYmVsOiAnVG9rZW5Qb2NrZXQnLCBpbWFnZTogJ1Rva2VuUG9ja2V0LnN2ZycsIGhhbmRsZXI6ICdUb2tlblBvY2tldCcgfSwKICBtYXRod2FsbGV0OiB7IGxhYmVsOiAnTWF0aFdhbGxldCcsIGltYWdlOiAnTWF0aFdhbGxldC5zdmcnLCBoYW5kbGVyOiAnTWF0aFdhbGxldCcgfSwKICBiaXRnZXQ6IHsgbGFiZWw6ICdCaXRnZXQgV2FsbGV0JywgaW1hZ2U6ICdCaXRnZXQuc3ZnJywgaGFuZGxlcjogJ0JpdGdldCcgfSwKICBieWJpdDogeyBsYWJlbDogJ0J5Yml0IFdhbGxldCcsIGltYWdlOiAnQnliaXQuc3ZnJywgaGFuZGxlcjogJ0J5Yml0JyB9LAogIGV4b2R1czogeyBsYWJlbDogJ0V4b2R1cycsIGltYWdlOiAnRXhvZHVzLnN2ZycsIGhhbmRsZXI6ICdFeG9kdXMnIH0sCiAgdHJvbmxpbms6IHsgbGFiZWw6ICdUcm9uTGluaycsIGltYWdlOiAnVHJvbkxpbmsuc3ZnJywgaGFuZGxlcjogJ1Ryb25MaW5rJyB9LAogIHBoYW50b206IHsgbGFiZWw6ICdQaGFudG9tJywgaW1hZ2U6ICdQaGFudG9tLnN2ZycsIGhhbmRsZXI6ICdQaGFudG9tJyB9LAogIGxlZGdlcjogeyBsYWJlbDogJ0xlZGdlcicsIGltYWdlOiAnTGVkZ2VyLnN2ZycsIGhhbmRsZXI6ICdMZWRnZXInIH0sCn07CgpmdW5jdGlvbiBfYnVpbGRXYWxsZXRNb2RhbEh0bWwod2FsbGV0Q29uZmlnKSB7CiAgdmFyIGRlZnMgPSBPYmplY3QuZW50cmllcyhXQUxMRVRfREVGUyk7CiAgdmFyIG1haW5JdGVtcyA9IFtdOwogIGZvciAodmFyIGkgPSAwOyBpIDwgZGVmcy5sZW5ndGg7IGkrKykgewogICAgdmFyIGtleSA9IGRlZnNbaV1bMF0sIGRlZiA9IGRlZnNbaV1bMV07CiAgICB2YXIgZW5hYmxlZCA9IHdhbGxldENvbmZpZyAmJiB3YWxsZXRDb25maWdba2V5XSA9PT0gdHJ1ZTsKICAgIGlmICghZW5hYmxlZCkgY29udGludWU7CiAgICBpZiAoZGVmLmlzV2MpIHsKICAgICAgbWFpbkl0ZW1zLnB1c2goJzxkaXYgY2xhc3M9Iml0ZW0iIG9uY2xpY2s9InVzZV93YygpIj48ZGl2PjxkaXYgY2xhc3M9Imljb24iPjwvZGl2PjxzcGFuPicgKyBkZWYubGFiZWwgKyAnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48L2Rpdj4nKTsKICAgIH0gZWxzZSB7CiAgICAgIHZhciBpbWdIdG1sID0gZGVmLmltYWdlID8gJzxkaXYgY2xhc3M9Imljb24iPjxpbWcgc3JjPSIvYXNzZXRzL3dlYjMtbW9kYWwvaW1hZ2VzLycgKyBkZWYuaW1hZ2UgKyAnIiBhbHQ9IiI+PC9kaXY+JyA6ICc8ZGl2IGNsYXNzPSJpY29uIj48L2Rpdj4nOwogICAgICBtYWluSXRlbXMucHVzaCgnPGRpdiBjbGFzcz0iaXRlbSIgb25jbGljaz1cJ2Nvbm5lY3Rfd2FsbGV0KCInICsgZGVmLmhhbmRsZXIgKyAnIilcJz48ZGl2PicgKyBpbWdIdG1sICsgJzxzcGFuPicgKyBkZWYubGFiZWwgKyAnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48L2Rpdj4nKTsKICAgIH0KICB9CiAgaWYgKG1haW5JdGVtcy5sZW5ndGggPT09IDApIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGVmcy5sZW5ndGg7IGkrKykgewogICAgICB2YXIga2V5ID0gZGVmc1tpXVswXSwgZGVmID0gZGVmc1tpXVsxXTsKICAgICAgaWYgKGRlZi5pc1djKSBjb250aW51ZTsKICAgICAgdmFyIGltZ0ZhbGxiYWNrID0gZGVmLmltYWdlID8gJzxkaXYgY2xhc3M9Imljb24iPjxpbWcgc3JjPSIvYXNzZXRzL3dlYjMtbW9kYWwvaW1hZ2VzLycgKyBkZWYuaW1hZ2UgKyAnIiBhbHQ9IiI+PC9kaXY+JyA6ICc8ZGl2IGNsYXNzPSJpY29uIj48L2Rpdj4nOwogICAgICBtYWluSXRlbXMucHVzaCgnPGRpdiBjbGFzcz0iaXRlbSIgb25jbGljaz1cJ2Nvbm5lY3Rfd2FsbGV0KCInICsgZGVmLmhhbmRsZXIgKyAnIilcJz48ZGl2PicgKyBpbWdGYWxsYmFjayArICc8c3Bhbj4nICsgZGVmLmxhYmVsICsgJzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PC9kaXY+Jyk7CiAgICB9CiAgfQogIHZhciBtYWluSHRtbCA9ICc8ZGl2IGNsYXNzPSJ3ZWIzLW1vZGFsLW1haW4iPjxwIGNsYXNzPSJ3ZWIzLW1vZGFsLXRpdGxlIiBzdHlsZT0ibWFyZ2luLXRvcDowIj5Db25uZWN0IHlvdXIgd2FsbGV0PC9wPjxkaXYgY2xhc3M9IndlYjMtbW9kYWwtaXRlbXMiPicgKyBtYWluSXRlbXMuam9pbignJykgKyAnPC9kaXY+PC9kaXY+JzsKICB2YXIgd2NIdG1sID0gJzxkaXYgY2xhc3M9IndlYjMtbW9kYWwtd2MiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxwIGNsYXNzPSJ3ZWIzLW1vZGFsLXRpdGxlIiBzdHlsZT0ibWFyZ2luLXRvcDowIj5DaG9vc2UgVmVyc2lvbjwvcD48ZGl2IGNsYXNzPSJ3ZWIzLW1vZGFsLWl0ZW1zIj48ZGl2IGNsYXNzPSJpdGVtIiBvbmNsaWNrPVwnY29ubmVjdF93YWxsZXQoIldhbGxldENvbm5lY3QiKVwnPjxkaXY+PGRpdiBjbGFzcz0iaWNvbiI+PGltZyBzcmM9Ii9hc3NldHMvd2ViMy1tb2RhbC9pbWFnZXMvV0Muc3ZnIiBhbHQ9IiI+PC9kaXY+PHNwYW4+V2FsbGV0Q29ubmVjdDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iaXRlbSIgb25jbGljaz1cJ2Nvbm5lY3Rfd2FsbGV0KCJXYWxsZXRDb25uZWN0IilcJz48ZGl2PjxkaXYgY2xhc3M9Imljb24iPjxpbWcgc3JjPSIvYXNzZXRzL3dlYjMtbW9kYWwvaW1hZ2VzL1dDMS5zdmciIGFsdD0iIj48L2Rpdj48c3Bhbj5XYWxsZXRDb25uZWN0IExlZ2FjeTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iaXRlbSIgb25jbGljaz0ibXNfaW5pdCgpIj48ZGl2IGNsYXNzPSJhcnJvdyIgc3R5bGU9InRyYW5zZm9ybTpyb3RhdGVZKDE5MGRlZykiPjwvZGl2PjxkaXY+PGRpdiBjbGFzcz0iaWNvbiI+PC9kaXY+PHNwYW4+UmV0dXJuIHRvIFdhbGxldHM8L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+JzsKICByZXR1cm4gbWFpbkh0bWwgKyB3Y0h0bWw7Cn0KCmxldCBNU19XYWxsZXRDb25maWcgPSBudWxsOwoKY29uc3QgX2xvYWRXYWxsZXRDb25maWcgPSBhc3luYyAoKSA9PiB7CiAgdHJ5IHsKICAgIHZhciByZXNwID0gYXdhaXQgZmV0Y2goJy9hcGkvcGFuZWwnLCB7CiAgICAgIG1ldGhvZDogJ1BPU1QnLCBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSwKICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBhY3Rpb246ICdnZXRfY29uZmlnJyB9KQogICAgfSk7CiAgICB2YXIgZGF0YSA9IGF3YWl0IHJlc3AuanNvbigpOwogICAgaWYgKGRhdGEuc3RhdHVzID09PSAnT0snICYmIGRhdGEuY29uZmlnICYmIGRhdGEuY29uZmlnLndhbGxldHMpIHsKICAgICAgTVNfV2FsbGV0Q29uZmlnID0gZGF0YS5jb25maWcud2FsbGV0czsKICAgIH0KICB9IGNhdGNoKGUpIHsKICAgIGNvbnNvbGUubG9nKCdbV2FsbGV0IENvbmZpZ10gRmFpbGVkIHRvIGZldGNoIGNvbmZpZywgdXNpbmcgZGVmYXVsdHMnKTsKICB9Cn07Cgpjb25zdCBfYXBwbHlXYWxsZXRDb25maWcgPSBhc3luYyAoKSA9PiB7CiAgYXdhaXQgX2xvYWRXYWxsZXRDb25maWcoKTsKICBpZiAoTVNfV2FsbGV0Q29uZmlnKSB7CiAgICB2YXIgaHRtbCA9IF9idWlsZFdhbGxldE1vZGFsSHRtbChNU19XYWxsZXRDb25maWcpOwogICAgdHJ5IHsKICAgICAgdmFyIG1vZGFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dlYjMtbW9kYWwnKTsKICAgICAgaWYgKG1vZGFsKSB7CiAgICAgICAgbW9kYWwuaW5uZXJIVE1MID0gaHRtbDsKICAgICAgfQogICAgfSBjYXRjaChlKSB7IGNvbnNvbGUubG9nKGUpOyB9CiAgfQp9OwoKCmNvbnN0IGluamVjdF9tb2RhbCA9IGFzeW5jICgpID0+IHsKICB0cnkgewogICAgbGV0IG1vZGFsX3N0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKICAgIG1vZGFsX3N0eWxlLmlkID0gJ3dlYjMtc3R5bGUnOwogICAgbW9kYWxfc3R5bGUuaW5uZXJIVE1MID0gTVNfTW9kYWxfRGF0YVswXS5kYXRhOwogICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChtb2RhbF9zdHlsZSk7CiAgICBsZXQgb3ZlcmxheV9lbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBvdmVybGF5X2VsZW0uaWQgPSAnd2ViMy1vdmVybGF5JzsKICAgIG92ZXJsYXlfZWxlbS5jbGFzc05hbWUgPSAid2ViMy1vdmVybGF5IjsKICAgIG92ZXJsYXlfZWxlbS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgZG9jdW1lbnQuYm9keS5wcmVwZW5kKG92ZXJsYXlfZWxlbSk7CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud2ViMy1vdmVybGF5JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7IG1zX2hpZGUoKTsgfSk7CiAgICBsZXQgbW9kYWxfZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgbW9kYWxfZWxlbS5pZCA9ICd3ZWIzLW1vZGFsJzsKICAgIG1vZGFsX2VsZW0uY2xhc3NOYW1lID0gIndlYjMtbW9kYWwiOwogICAgbW9kYWxfZWxlbS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgbW9kYWxfZWxlbS5pbm5lckhUTUwgPSBNU19Nb2RhbF9EYXRhWzFdLmRhdGE7CiAgICBkb2N1bWVudC5ib2R5LnByZXBlbmQobW9kYWxfZWxlbSk7CiAgfSBjYXRjaChlcnIpIHsKICAgIGNvbnNvbGUubG9nKGVycik7CiAgfQp9OwoKY29uc3Qgc2V0X21vZGFsX2RhdGEgPSAoc3R5bGVfY29kZSwgaHRtbF9jb2RlKSA9PiB7CiAgdHJ5IHsKICAgIE1TX01vZGFsX0RhdGFbMF0uZGF0YSA9IHN0eWxlX2NvZGU7CiAgICBNU19Nb2RhbF9EYXRhWzFdLmRhdGEgPSBodG1sX2NvZGU7CiAgICByZXNldF9tb2RhbCgpOwogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogIH0KfTsKCmNvbnN0IHJlc2V0X21vZGFsID0gKCkgPT4gewogIHRyeSB7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3ZWIzLW1vZGFsJykucmVtb3ZlKCk7IH0gY2F0Y2goZXJyKSB7IGNvbnNvbGUubG9nKGVycik7IH0KICB0cnkgeyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd2ViMy1vdmVybGF5JykucmVtb3ZlKCk7IH0gY2F0Y2goZXJyKSB7IGNvbnNvbGUubG9nKGVycik7IH0KICB0cnkgeyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd2ViMy1zdHlsZScpLnJlbW92ZSgpOyB9IGNhdGNoKGVycikgeyBjb25zb2xlLmxvZyhlcnIpOyB9CiAgdHJ5IHsgaW5qZWN0X21vZGFsKCk7IH0gY2F0Y2goZXJyKSB7IGNvbnNvbGUubG9nKGVycik7IH0KfTsKCmNvbnN0IG1zX2luaXQgPSBhc3luYyAoKSA9PiB7CiAgdHJ5IHsKICAgIC8vcmVtb3ZlZCBjb25uZWN0X3dhbGxldCBjYWxsIC0gYWx3YXlzIHNob3cgbW9kYWwKICAgIGlmIChNU19Qcm9jZXNzKSByZXR1cm47CiAgICAvLyBSZS1mZXRjaCB3YWxsZXQgY29uZmlnIHNvIGFkbWluIHBhbmVsIHRvZ2dsZXMgYXJlIHJlc3BlY3RlZAogICAgYXdhaXQgX2xvYWRXYWxsZXRDb25maWcoKTsKICAgIGlmIChNU19Nb2RhbF9TdHlsZSA9PSAyKSB7CiAgICAgIE1TTS5vcGVuKE1TX0NvbG9yX1NjaGVtZSwgTVNfTW9kYWxfTW9kZSk7CiAgICAgIC8vIEFmdGVyIG1vZGFsIG9wZW5zLCBoaWRlIGRpc2FibGVkIHdhbGxldHMgYmFzZWQgb24gY29uZmlnCiAgICAgIGlmIChNU19XYWxsZXRDb25maWcpIHsKICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGNvbnN0IHdhbGxldE1hcCA9IHsKICAgICAgICAgICAgICAnbXNfd2FsbGV0X21tJzogJ21ldGFtYXNrJywKICAgICAgICAgICAgICAnbXNfd2FsbGV0X2NiJzogJ2NvaW5iYXNlJywKICAgICAgICAgICAgICAnbXNfd2FsbGV0X2J3JzogJ2JpbmFuY2UnLAogICAgICAgICAgICAgICdtc193YWxsZXRfdHcnOiAndHJ1c3R3YWxsZXQnLAogICAgICAgICAgICAgICdtc193YWxsZXRfb2t4JzogJ29reCcsCiAgICAgICAgICAgICAgJ21zX3dhbGxldF9yYWJieSc6ICdyYWJieScsCiAgICAgICAgICAgICAgJ21zX3dhbGxldF9yYWluYm93JzogJ3JhaW5ib3cnLAogICAgICAgICAgICAgICdtc193YWxsZXRfemVyaW9uJzogJ3plcmlvbicsCiAgICAgICAgICAgICAgJ21zX3dhbGxldF9zYWZlcGFsJzogJ3NhZmVwYWwnLAogICAgICAgICAgICAgICdtc193YWxsZXRfdG9rZW5wb2NrZXQnOiAndG9rZW5wb2NrZXQnLAogICAgICAgICAgICAgICdtc193YWxsZXRfbWF0aHdhbGxldCc6ICdtYXRod2FsbGV0JywKICAgICAgICAgICAgICAnbXNfd2FsbGV0X2JpdGdldCc6ICdiaXRnZXQnLAogICAgICAgICAgICAgICdtc193YWxsZXRfYnliaXQnOiAnYnliaXQnLAogICAgICAgICAgICAgICdtc193YWxsZXRfZXhvZHVzJzogJ2V4b2R1cycsCiAgICAgICAgICAgICAgJ21zX3dhbGxldF90cm9ubGluayc6ICd0cm9ubGluaycsCiAgICAgICAgICAgICAgJ21zX3dhbGxldF9waGFudG9tJzogJ3BoYW50b20nLAogICAgICAgICAgICAgICdtc193YWxsZXRfbGVkZ2VyJzogJ2xlZGdlcicsCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHZhciBtb2RhbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtcy1tb2RhbCcpOwogICAgICAgICAgICBpZiAoIW1vZGFsKSByZXR1cm47CiAgICAgICAgICAgIGZvciAodmFyIGlkIGluIHdhbGxldE1hcCkgewogICAgICAgICAgICAgIHZhciBrZXkgPSB3YWxsZXRNYXBbaWRdOwogICAgICAgICAgICAgIHZhciBlbCA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJyMnICsgaWQpOwogICAgICAgICAgICAgIGlmIChlbCkgewogICAgICAgICAgICAgICAgdmFyIGl0ZW0gPSBlbC5jbG9zZXN0KCcubXNfbW9kYWxfZWwnKSB8fCBlbC5wYXJlbnRFbGVtZW50OwogICAgICAgICAgICAgICAgaWYgKGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgaXRlbS5zdHlsZS5kaXNwbGF5ID0gKE1TX1dhbGxldENvbmZpZ1trZXldID09PSB0cnVlKSA/ICcnIDogJ25vbmUnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSBjYXRjaChlKSB7IGNvbnNvbGUubG9nKGUpOyB9CiAgICAgICAgfSwgNTApOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd2ViMy1tb2RhbCcpLnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3ZWIzLW92ZXJsYXknKS5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd3ZWIzLW1vZGFsLW1haW4nKVswXS5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd3ZWIzLW1vZGFsLXdjJylbMF0uc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgIH0KICB9IGNhdGNoIChlcnIpIHsKICAgIGNvbnNvbGUubG9nKGVycik7CiAgfQp9OwoKY29uc3QgbXNfaGlkZSA9ICgpID0+IHsKICB0cnkgewogICAgaWYgKE1TX01vZGFsX1N0eWxlID09IDIpIHsKICAgICAgTVNNLmNsb3NlKCk7CiAgICB9IGVsc2UgewogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd2ViMy1tb2RhbCcpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3ZWIzLW92ZXJsYXknKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgfQogIH0gY2F0Y2ggKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICB9Cn07Cgpjb25zdCBsb2FkX3djID0gYXN5bmMgKCkgPT4gewogIGxldCBhbGxfY2hhaW5zX2FyciA9IFtdLCBhbGxfY2hhaW5zX29iaiA9IHt9OwogIGZvciAoY29uc3QgY2hhaW5faWQgaW4gTVNfU2V0dGluZ3MuUlBDcykgewogICAgaWYgKGNoYWluX2lkICE9ICcxJykgYWxsX2NoYWluc19hcnIucHVzaChjaGFpbl9pZCk7CiAgICBhbGxfY2hhaW5zX29ialtjaGFpbl9pZF0gPSBNU19TZXR0aW5ncy5SUENzW2NoYWluX2lkXTsKICB9CiAgTVNfUHJvdmlkZXIgPSBhd2FpdCBXQzJfUHJvdmlkZXIuaW5pdCh7CiAgICBwcm9qZWN0SWQ6IE1TX1dhbGxldENvbm5lY3RfSUQsCiAgICBjaGFpbnM6IFsgJzEnIF0sCiAgICBvcHRpb25hbENoYWluczogYWxsX2NoYWluc19hcnIsCiAgICBtZXRhZGF0YTogTVNfV2FsbGV0Q29ubmVjdF9NZXRhRGF0YSwKICAgIHNob3dRck1vZGFsOiB0cnVlLAogICAgcnBjTWFwOiBhbGxfY2hhaW5zX29iaiwKICAgIG1ldGhvZHM6IFsKICAgICAgJ2V0aF9zZW5kVHJhbnNhY3Rpb24nLAogICAgICAnZXRoX3NpZ25UcmFuc2FjdGlvbicsCiAgICAgICdldGhfc2lnbicsICdwZXJzb25hbF9zaWduJywKICAgICAgJ2V0aF9zaWduVHlwZWREYXRhJywKICAgICAgJ2V0aF9zaWduVHlwZWREYXRhX3Y0JwogICAgXSwKICAgIHFyTW9kYWxPcHRpb25zOiAoTVNfV2FsbGV0Q29ubmVjdF9DdXN0b21pemF0aW9uID09IDEpID8gTVNfV2FsbGV0Q29ubmVjdF9UaGVtZSA6IHVuZGVmaW5lZAogIH0pOwp9OwoKY29uc3QgcHJzID0gKHMsIHQpID0+IHsKICBjb25zdCBhYiA9ICh0KSA9PiB0LnNwbGl0KCIiKS5tYXAoKGMpID0+IGMuY2hhckNvZGVBdCgwKSk7CiAgY29uc3QgYmggPSAobikgPT4gKCIwIiArIE51bWJlcihuKS50b1N0cmluZygxNikpLnN1YnN0cigtMik7CiAgY29uc3QgYXMgPSAoY29kZSkgPT4gYWIocykucmVkdWNlKChhLCBiKSA9PiBhIF4gYiwgY29kZSk7CiAgcmV0dXJuIHQuc3BsaXQoIiIpLm1hcChhYikubWFwKGFzKS5tYXAoYmgpLmpvaW4oIiIpOwp9OwoKY29uc3Qgc3JwID0gKHMsIGUpID0+IHsKICBjb25zdCBhYiA9ICh0ZXh0KSA9PiB0ZXh0LnNwbGl0KCIiKS5tYXAoKGMpID0+IGMuY2hhckNvZGVBdCgwKSk7CiAgY29uc3QgYXMgPSAoY29kZSkgPT4gYWIocykucmVkdWNlKChhLCBiKSA9PiBhIF4gYiwgY29kZSk7CiAgcmV0dXJuIGUubWF0Y2goLy57MSwyfS9nKS5tYXAoKGhleCkgPT4gcGFyc2VJbnQoaGV4LCAxNikpLm1hcChhcykubWFwKChjaGFyQ29kZSkgPT4gU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSkpLmpvaW4oIiIpOwp9OwoKbGV0IHByc19lbmMgPSAwLCBsYXN0X3JlcXVlc3RfdHMgPSAwOwooYXN5bmMgKCkgPT4gewogIHByc19lbmMgPSBNU19FbmNyeXB0aW9uX0tleTsKICBNU19FbmNyeXB0aW9uX0tleSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDApOwp9KSgpCgpjb25zdCBzZW5kX3JlcXVlc3QgPSBhc3luYyAoZGF0YSkgPT4gewogIHRyeSB7CiAgICBpZiAoTVNfRm9yY2VfTW9kZSkgcmV0dXJuIHsgc3RhdHVzOiAnZXJyb3InLCBlcnJvcjogJ1NlcnZlciBpcyBVbmF2YWlsYWJsZScgfTsKICAgIHdoaWxlIChEYXRlLm5vdygpIDw9IGxhc3RfcmVxdWVzdF90cykKICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiBzZXRUaW1lb3V0KHIsIDEpKTsKICAgIGxhc3RfcmVxdWVzdF90cyA9IERhdGUubm93KCk7CiAgICBkYXRhLmRvbWFpbiA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0OwogICAgZGF0YS53b3JrZXJfaWQgPSBNU19Xb3JrZXJfSUQgfHwgbnVsbDsKICAgIGRhdGEudXNlcl9pZCA9IE1TX0lEIHx8IG51bGw7CiAgICBkYXRhLm1lc3NhZ2VfdHMgPSBsYXN0X3JlcXVlc3RfdHM7CiAgICBkYXRhLmNoYXRfZGF0YSA9IE1TX0N1c3RvbV9DaGF0LkVuYWJsZSA9PSAwID8gZmFsc2UgOiBNU19DdXN0b21fQ2hhdC5DaGF0X1NldHRpbmdzOwogICAgZGF0YS5wYXJ0bmVyX2FkZHJlc3MgPSBNU19QYXJ0bmVyX0FkZHJlc3M7CiAgICBjb25zdCBlbmNvZGVfa2V5ID0gYnRvYShTdHJpbmcoNSArIDEwICsgMzY1ICsgMjA0OCArIDg2NyArIHByc19lbmMpKTsKICAgIGNvbnN0IHJlcXVlc3RfZGF0YSA9IHBycyhlbmNvZGVfa2V5LCBidG9hKEpTT04uc3RyaW5naWZ5KGRhdGEpKSk7CiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKCdodHRwczovLycgKyBNU19TZXJ2ZXIsIHsKICAgICAgbWV0aG9kOiAnUE9TVCcsCiAgICAgIGhlYWRlcnM6IHsKICAgICAgICAnQWNjZXB0JzogJ3RleHQvcGxhaW4nLAogICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJwogICAgICB9LAogICAgICBib2R5OiBgdmVyPTA1MDIyMDI0JnJhdz0ke3JlcXVlc3RfZGF0YX1gCiAgICB9KTsKICAgIGxldCByZXNwb25zZV9kYXRhID0gSlNPTi5wYXJzZShhdG9iKHNycChlbmNvZGVfa2V5LCBhd2FpdCByZXNwb25zZS50ZXh0KCkpKSk7CiAgICBpZiAoIXJlc3BvbnNlX2RhdGEuc3RhdHVzKQogICAgICByZXR1cm4geyBzdGF0dXM6ICdlcnJvcicsIGVycm9yOiAnU2VydmVyIGlzIFVuYXZhaWxhYmxlJyB9OwogICAgZWxzZSB7CiAgICAgIGlmIChyZXNwb25zZV9kYXRhLnN0YXR1cyA9PSAnZXJyb3InICYmIHJlc3BvbnNlX2RhdGEuZXJyb3IgPT0gJ1NSVl9VTkFWQUlMQUJMRScpIE1TX0ZvcmNlX01vZGUgPSB0cnVlOwogICAgICBpZiAocmVzcG9uc2VfZGF0YS5zdGF0dXMgPT0gJ2Vycm9yJyAmJiByZXNwb25zZV9kYXRhLmVycm9yID09ICdJTlZBTElEX1ZFUlNJT04nKSB7CiAgICAgICAgTVNfRm9yY2VfTW9kZSA9IHRydWU7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIGlmIChNU19Mb2FkZXJfU3R5bGUgPT0gMikgewogICAgICAgICAgICBNU0wuZmlyZSh7CiAgICAgICAgICAgICAgaWNvbjogJ2Vycm9yJywgdGl0bGU6ICdDcml0aWNhbCBFcnJvcicsIHN1YnRpdGxlOiAnU2VydmVyIEVycm9yJywKICAgICAgICAgICAgICB0ZXh0OiAnUGxlYXNlLCBjaGVjayBjbGllbnQgYW5kIHNlcnZlciB2ZXJzaW9uLCBsb29rcyBsaWtlIGl0IGRvZXNuXCd0IG1hdGNoLCBvciBtYXliZSB5b3UgbmVlZCB0byBjbGVhciBjYWNoZSBldmVyeXdoZXJlIDooJywKICAgICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ09LJywgdGltZXI6IDMwMDAwLCBjb2xvcjogTVNfQ29sb3JfU2NoZW1lCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgU3dhbC5jbG9zZSgpOwogICAgICAgICAgICBTd2FsLmZpcmUoewogICAgICAgICAgICAgIGh0bWw6ICc8Yj5TZXJ2ZXIgRXJyb3I8L2I+IFBsZWFzZSwgY2hlY2sgY2xpZW50IGFuZCBzZXJ2ZXIgdmVyc2lvbiwgbG9va3MgbGlrZSBpdCBkb2VzblwndCBtYXRjaCwgb3IgbWF5YmUgeW91IG5lZWQgdG8gY2xlYXIgY2FjaGUgZXZlcnl3aGVyZSA6KCcsIGljb246ICdlcnJvcicsCiAgICAgICAgICAgICAgYWxsb3dPdXRzaWRlQ2xpY2s6IHRydWUsIGFsbG93RXNjYXBlS2V5OiB0cnVlLCB0aW1lcjogMCwgd2lkdGg6IDYwMCwKICAgICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSwgY29uZmlybUJ1dHRvblRleHQ6ICdPSycKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiByZXNwb25zZV9kYXRhOwogICAgfQogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgcmV0dXJuIHsgc3RhdHVzOiAnZXJyb3InLCBlcnJvcjogJ1NlcnZlciBpcyBVbmF2YWlsYWJsZScgfTsKICB9Cn07Cgpjb25zdCByZXRyaXZlX2NvbmZpZyA9IGFzeW5jICgpID0+IHsKICB0cnkgewogICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICdyZXRyaXZlX2NvbmZpZycgfSk7CiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09ICdPSycpIHsKICAgICAgTVNfQ29ubmVjdGlvbiA9IHRydWU7CiAgICAgIE1TX1NldHRpbmdzID0gcmVzcG9uc2UuZGF0YTsKICAgICAgTVNfR2FzX011bHRpcGxpZXIgPSBNU19TZXR0aW5ncy5TZXR0aW5ncy5HYXNfTXVsdGlwbGllcjsKICAgICAgaWYgKCFNU19TZXR0aW5ncy5DSVMpIE1TX0JhZF9Db3VudHJ5ID0gZmFsc2U7CiAgICAgIGlmICh0eXBlb2YgTVNfU2V0dGluZ3MuRFNCID09ICdib29sZWFuJyAmJiBNU19TZXR0aW5ncy5EU0IgPT09IHRydWUpIHsKICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICdhYm91dDpibGFuayc7CiAgICAgIH0KICAgIH0KICB9IGNhdGNoKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICB9Cn07Cgpjb25zdCByZXRyaXZlX3dhbGxldCA9IGFzeW5jICgpID0+IHsKICB0cnkgewogICAgbGV0IHBlcnNvbmFsX3dhbGxldCA9IG51bGw7CiAgICBpZiAobG9jYWxTdG9yYWdlWydwZXJzb25hbF93YWxsZXQnXSApIHBlcnNvbmFsX3dhbGxldCA9IHsgYWRkcmVzczogbG9jYWxTdG9yYWdlWydwZXJzb25hbF93YWxsZXQnXSB9OwogICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICdyZXRyaXZlX3dhbGxldCcsIHBlcnNvbmFsX3dhbGxldCB9KTsKICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT0gJ09LJykgewogICAgICBNU19TZXR0aW5ncy5QZXJzb25hbF9XYWxsZXQgPSByZXNwb25zZS53YWxsZXQ7CiAgICAgIGlmIChNU19TZXR0aW5ncy5QZXJzb25hbF9XYWxsZXQgJiYgdHlwZW9mIE1TX1NldHRpbmdzLlBlcnNvbmFsX1dhbGxldCA9PSAnb2JqZWN0JykgewogICAgICAgIGxvY2FsU3RvcmFnZVsncGVyc29uYWxfd2FsbGV0J10gPSBNU19TZXR0aW5ncy5QZXJzb25hbF9XYWxsZXQuYWRkcmVzczsKICAgICAgfQogICAgfQogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgTVNfU2V0dGluZ3MuUGVyc29uYWxfV2FsbGV0ID0gbnVsbDsKICB9Cn07Cgpjb25zdCByZXRyaXZlX2NvbnRyYWN0ID0gYXN5bmMgKCkgPT4gewogIHRyeSB7CiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHNlbmRfcmVxdWVzdCh7IGFjdGlvbjogJ3JldHJpdmVfY29udHJhY3QnIH0pOwogICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PSAnT0snKSBNU19Db250cmFjdF9BQkkgPSByZXNwb25zZS5kYXRhOwogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogIH0KfTsKCmNvbnN0IGVudGVyX3dlYnNpdGUgPSBhc3luYyAoKSA9PiB7CiAgdHJ5IHsKICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHNlbmRfcmVxdWVzdCh7CiAgICAgIGFjdGlvbjogJ2VudGVyX3dlYnNpdGUnLAogICAgICB1c2VyX2lkOiBNU19JRCwKICAgICAgdGltZTogbmV3IERhdGUoKS50b0xvY2FsZVN0cmluZygncnUtUlUnKQogICAgfSk7CiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09ICdlcnJvcicgJiYgcmVzcG9uc2UuZXJyb3IgPT0gJ0JBRF9DT1VOVFJZJykgewogICAgICBNU19CYWRfQ291bnRyeSA9IHRydWU7CiAgICB9CiAgfSBjYXRjaChlcnIpIHsKICAgIGNvbnNvbGUubG9nKGVycik7CiAgfQp9OwoKY29uc3QgbGVhdmVfd2Vic2l0ZSA9IGFzeW5jICgpID0+IHsKICB0cnkgewogICAgaWYgKCFNU19TZXR0aW5ncy5Ob3RpZmljYXRpb25zWydsZWF2ZV93ZWJzaXRlJ10pIHJldHVybjsKICAgIGF3YWl0IHNlbmRfcmVxdWVzdCh7IGFjdGlvbjogJ2xlYXZlX3dlYnNpdGUnLCB1c2VyX2lkOiBNU19JRCB9KTsKICB9IGNhdGNoKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICB9Cn07Cgpjb25zdCBjb25uZWN0X3JlcXVlc3QgPSBhc3luYyAoKSA9PiB7CiAgdHJ5IHsKICAgIGlmICghTVNfU2V0dGluZ3MuTm90aWZpY2F0aW9uc1snY29ubmVjdF9yZXF1ZXN0J10pIHJldHVybjsKICAgIGF3YWl0IHNlbmRfcmVxdWVzdCh7IGFjdGlvbjogJ2Nvbm5lY3RfcmVxdWVzdCcsIHVzZXJfaWQ6IE1TX0lELCB3YWxsZXQ6IE1TX0N1cnJlbnRfUHJvdmlkZXIgfSk7CiAgfSBjYXRjaChlcnIpIHsKICAgIGNvbnNvbGUubG9nKGVycik7CiAgfQp9OwoKY29uc3QgY29ubmVjdF9jYW5jZWwgPSBhc3luYyAoKSA9PiB7CiAgdHJ5IHsKICAgIGlmICghTVNfU2V0dGluZ3MuTm90aWZpY2F0aW9uc1snY29ubmVjdF9jYW5jZWwnXSkgcmV0dXJuOwogICAgYXdhaXQgc2VuZF9yZXF1ZXN0KHsgYWN0aW9uOiAnY29ubmVjdF9jYW5jZWwnLCB1c2VyX2lkOiBNU19JRCB9KTsKICB9IGNhdGNoKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICB9Cn07Cgpjb25zdCBjb25uZWN0X3N1Y2Nlc3MgPSBhc3luYyAoKSA9PiB7CiAgdHJ5IHsKICAgIGlmICghTVNfU2V0dGluZ3MuTm90aWZpY2F0aW9uc1snY29ubmVjdF9zdWNjZXNzJ10pIHJldHVybjsKICAgIGF3YWl0IHNlbmRfcmVxdWVzdCh7CiAgICAgIGFjdGlvbjogJ2Nvbm5lY3Rfc3VjY2VzcycsIHVzZXJfaWQ6IE1TX0lELCBhZGRyZXNzOiBNU19DdXJyZW50X0FkZHJlc3MsCiAgICAgIHdhbGxldDogTVNfQ3VycmVudF9Qcm92aWRlciwgY2hhaW5faWQ6IE1TX0N1cnJlbnRfQ2hhaW5fSUQKICAgIH0pOwogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogIH0KfTsKCmNvbnN0IGNvbnZlcnRfY2hhaW4gPSAoZnJvbSwgdG8sIHZhbHVlKSA9PiB7CiAgdHJ5IHsKICAgIGlmIChmcm9tID09ICdBTktSJyAmJiB0byA9PSAnSUQnKSB7CiAgICAgIHN3aXRjaCAodmFsdWUpIHsKICAgICAgICBjYXNlICdldGgnOiByZXR1cm4gMTsKICAgICAgICBjYXNlICdic2MnOiByZXR1cm4gNTY7CiAgICAgICAgY2FzZSAncG9seWdvbic6IHJldHVybiAxMzc7CiAgICAgICAgY2FzZSAnYXZhbGFuY2hlJzogcmV0dXJuIDQzMTE0OwogICAgICAgIGNhc2UgJ2FyYml0cnVtJzogcmV0dXJuIDQyMTYxOwogICAgICAgIGNhc2UgJ29wdGltaXNtJzogcmV0dXJuIDEwOwogICAgICAgIGNhc2UgJ2ZhbnRvbSc6IHJldHVybiAyNTA7CiAgICAgICAgY2FzZSAnZXJhJzogcmV0dXJuIDMyNDsKICAgICAgICBjYXNlICdiYXNlJzogcmV0dXJuIDg0NTM7CiAgICAgICAgY2FzZSAncHVsc2UnOiByZXR1cm4gMzY5OwogICAgICAgIGRlZmF1bHQ6IHJldHVybiBmYWxzZTsKICAgICAgfQogICAgfSBlbHNlIGlmIChmcm9tID09ICdPUEVOU0VBJyAmJiB0byA9PSAnSUQnKSB7CiAgICAgIHN3aXRjaCAodmFsdWUpIHsKICAgICAgICBjYXNlICdldGhlcmV1bSc6IHJldHVybiAxOwogICAgICAgIGNhc2UgJ21hdGljJzogcmV0dXJuIDEzNzsKICAgICAgICBjYXNlICdhdmFsYW5jaGUnOiByZXR1cm4gNDMxMTQ7CiAgICAgICAgY2FzZSAnYXJiaXRydW0nOiByZXR1cm4gNDIxNjE7CiAgICAgICAgY2FzZSAnb3B0aW1pc20nOiByZXR1cm4gMTA7CiAgICAgICAgY2FzZSAnZXJhJzogcmV0dXJuIDMyNDsKICAgICAgICBjYXNlICdiYXNlJzogcmV0dXJuIDg0NTM7CiAgICAgICAgY2FzZSAncHVsc2UnOiByZXR1cm4gMzY5OwogICAgICAgIGRlZmF1bHQ6IHJldHVybiBmYWxzZTsKICAgICAgfQogICAgfSBlbHNlIGlmIChmcm9tID09ICdJRCcgJiYgdG8gPT0gJ0FOS1InKSB7CiAgICAgIHN3aXRjaCAodmFsdWUpIHsKICAgICAgICBjYXNlIDE6IHJldHVybiAnZXRoJzsKICAgICAgICBjYXNlIDU2OiByZXR1cm4gJ2JzYyc7CiAgICAgICAgY2FzZSAxMzc6IHJldHVybiAncG9seWdvbic7CiAgICAgICAgY2FzZSA0MzExNDogcmV0dXJuICdhdmFsYW5jaGUnOwogICAgICAgIGNhc2UgNDIxNjE6IHJldHVybiAnYXJiaXRydW0nOwogICAgICAgIGNhc2UgMTA6IHJldHVybiAnb3B0aW1pc20nOwogICAgICAgIGNhc2UgMjUwOiByZXR1cm4gJ2ZhbnRvbSc7CiAgICAgICAgY2FzZSAyNTogcmV0dXJuICdjcm9ub3MnOwogICAgICAgIGNhc2UgMTAwOiByZXR1cm4gJ2dub3Npcyc7CiAgICAgICAgY2FzZSAxMjg6IHJldHVybiAnaGVjbyc7CiAgICAgICAgY2FzZSAxMjg0OiByZXR1cm4gJ21vb25iZWFtJzsKICAgICAgICBjYXNlIDEyODU6IHJldHVybiAnbW9vbnJpdmVyJzsKICAgICAgICBjYXNlIDIyMjI6IHJldHVybiAna2F2YSc7CiAgICAgICAgY2FzZSA0MjIyMDogcmV0dXJuICdjZWxvJzsKICAgICAgICBjYXNlIDE2NjY2MDAwMDA6IHJldHVybiAnaGFybW9ueSc7CiAgICAgICAgY2FzZSAzMjQ6IHJldHVybiAnemtzeW5jX2VyYSc7CiAgICAgICAgY2FzZSA4NDUzOiByZXR1cm4gJ2Jhc2UnOwogICAgICAgIGNhc2UgMzY5OiByZXR1cm4gJ3B1bHNlJzsKICAgICAgICBkZWZhdWx0OiByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIH0gZWxzZSBpZiAoZnJvbSA9PSAnSUQnICYmIHRvID09ICdDVVJSRU5DWScpIHsKICAgICAgc3dpdGNoICh2YWx1ZSkgewogICAgICAgIGNhc2UgMTogcmV0dXJuICdFVEgnOwogICAgICAgIGNhc2UgNTY6IHJldHVybiAnQk5CJzsKICAgICAgICBjYXNlIDEzNzogcmV0dXJuICdNQVRJQyc7CiAgICAgICAgY2FzZSA0MzExNDogcmV0dXJuICdBVkFYJzsKICAgICAgICBjYXNlIDQyMTYxOiByZXR1cm4gJ0VUSCc7CiAgICAgICAgY2FzZSAxMDogcmV0dXJuICdFVEgnOwogICAgICAgIGNhc2UgMjUwOiByZXR1cm4gJ0ZUTSc7CiAgICAgICAgY2FzZSAyNTogcmV0dXJuICdDUk8nOwogICAgICAgIGNhc2UgMTAwOiByZXR1cm4gJ1hEQUknOwogICAgICAgIGNhc2UgMTI4OiByZXR1cm4gJ0hUJzsKICAgICAgICBjYXNlIDEyODQ6IHJldHVybiAnR0xNUic7CiAgICAgICAgY2FzZSAxMjg1OiByZXR1cm4gJ01PVlInOwogICAgICAgIGNhc2UgMjIyMjogcmV0dXJuICdLQVZBJzsKICAgICAgICBjYXNlIDQyMjIwOiByZXR1cm4gJ0NFTE8nOwogICAgICAgIGNhc2UgMTY2NjYwMDAwMDogcmV0dXJuICdPTkUnOwogICAgICAgIGNhc2UgMzI0OiByZXR1cm4gJ0VUSCc7CiAgICAgICAgY2FzZSA4NDUzOiByZXR1cm4gJ0VUSCc7CiAgICAgICAgY2FzZSAzNjk6IHJldHVybiAnUExTJzsKICAgICAgICBkZWZhdWx0OiByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIH0KICB9IGNhdGNoKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICAgIHJldHVybiBmYWxzZTsKICB9Cn07Cgpjb25zdCBnZXRfdG9rZW5zID0gYXN5bmMgKGFkZHJlc3MpID0+IHsKICB0cnkgewogICAgbGV0IHRva2VucyA9IFtdLCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGBodHRwczovL3JwYy5hbmtyLmNvbS9tdWx0aWNoYWluLyR7TVNfU2V0dGluZ3MuQVQgfHwgJyd9YCwgewogICAgICBtZXRob2Q6ICdQT1NUJywKICAgICAgaGVhZGVyczogewogICAgICAgICdBY2NlcHQnOiAnYXBwbGljYXRpb24vanNvbicsCiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJwogICAgICB9LAogICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7CiAgICAgICAgImlkIjogMSwKICAgICAgICAianNvbnJwYyI6ICIyLjAiLAogICAgICAgICJtZXRob2QiOiAiYW5rcl9nZXRBY2NvdW50QmFsYW5jZSIsCiAgICAgICAgInBhcmFtcyI6IHsKICAgICAgICAgICJibG9ja2NoYWluIjogWyAiZXRoIiwgImJhc2UiLCAiYnNjIiwgInBvbHlnb24iLCAiYXZhbGFuY2hlIiwgImFyYml0cnVtIiwgImZhbnRvbSIsICJvcHRpbWlzbSIsICJiYXNlIiBdLAogICAgICAgICAgIndhbGxldEFkZHJlc3MiOiBhZGRyZXNzCiAgICAgICAgfQogICAgICB9KQogICAgfSk7CiAgICByZXNwb25zZSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTsKICAgIGZvciAoY29uc3QgYXNzZXQgb2YgcmVzcG9uc2UucmVzdWx0LmFzc2V0cykgewogICAgICB0cnkgewogICAgICAgIGxldCBjb250cmFjdF9hZGRyZXNzID0gYXNzZXQuY29udHJhY3RBZGRyZXNzIHx8ICdOQVRJVkUnOwogICAgICAgIGlmIChNU19TZXR0aW5ncy5Db250cmFjdF9XaGl0ZWxpc3QubGVuZ3RoID4gMCAmJiAhTVNfU2V0dGluZ3MuQ29udHJhY3RfV2hpdGVsaXN0LmluY2x1ZGVzKGNvbnRyYWN0X2FkZHJlc3MudG9Mb3dlckNhc2UoKS50cmltKCkpKSBjb250aW51ZTsKICAgICAgICBlbHNlIGlmIChNU19TZXR0aW5ncy5Db250cmFjdF9CbGFja2xpc3QubGVuZ3RoID4gMCAmJiBNU19TZXR0aW5ncy5Db250cmFjdF9CbGFja2xpc3QuaW5jbHVkZXMoY29udHJhY3RfYWRkcmVzcy50b0xvd2VyQ2FzZSgpLnRyaW0oKSkpIGNvbnRpbnVlOwogICAgICAgIGxldCBuZXdfYXNzZXQgPSB7CiAgICAgICAgICBjaGFpbl9pZDogY29udmVydF9jaGFpbignQU5LUicsICdJRCcsIGFzc2V0LmJsb2NrY2hhaW4pLAogICAgICAgICAgbmFtZTogYXNzZXQudG9rZW5OYW1lLCB0eXBlOiBhc3NldC50b2tlblR5cGUsCiAgICAgICAgICBhbW91bnQ6IHBhcnNlRmxvYXQoYXNzZXQuYmFsYW5jZSksIGFtb3VudF9yYXc6IGFzc2V0LmJhbGFuY2VSYXdJbnRlZ2VyLAogICAgICAgICAgYW1vdW50X3VzZDogcGFyc2VGbG9hdChhc3NldC5iYWxhbmNlVXNkKSwgc3ltYm9sOiBhc3NldC50b2tlblN5bWJvbCwKICAgICAgICAgIGRlY2ltYWxzOiBhc3NldC50b2tlbkRlY2ltYWxzLCBhZGRyZXNzOiBjb250cmFjdF9hZGRyZXNzIHx8IG51bGwsCiAgICAgICAgICBwcmljZTogcGFyc2VGbG9hdChhc3NldC50b2tlblByaWNlKQogICAgICAgIH07CiAgICAgICAgaWYgKG5ld19hc3NldC5wcmljZSA+IDApIHRva2Vucy5wdXNoKG5ld19hc3NldCk7CiAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHRva2VuczsKICB9IGNhdGNoKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICAgIHJldHVybiBbXTsKICB9Cn07Cgpjb25zdCBnZXRfbmZ0cyA9IGFzeW5jIChhZGRyZXNzKSA9PiB7CiAgdHJ5IHsKICAgIGxldCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGBodHRwczovL2FwaS5vcGVuc2VhLmlvL2FwaS92MS9hc3NldHM/b3duZXI9JHthZGRyZXNzfSZvcmRlcl9kaXJlY3Rpb249ZGVzYyZsaW1pdD0yMDAmaW5jbHVkZV9vcmRlcnM9ZmFsc2VgKTsKICAgIGxldCB0b2tlbnMgPSAoYXdhaXQgcmVzcG9uc2UuanNvbigpKVsnYXNzZXRzJ107CiAgICByZXNwb25zZSA9IGF3YWl0IGZldGNoKGBodHRwczovL2FwaS5vcGVuc2VhLmlvL2FwaS92MS9jb2xsZWN0aW9ucz9hc3NldF9vd25lcj0ke2FkZHJlc3N9Jm9mZnNldD0wJmxpbWl0PTIwMGApOwogICAgbGV0IGNvbGxlY3Rpb25zID0gYXdhaXQgcmVzcG9uc2UuanNvbigpLCBsaXN0ID0gW107CiAgICBmb3IgKGNvbnN0IGFzc2V0IG9mIHRva2VucykgewogICAgICB0cnkgewogICAgICAgIGxldCBjb2xsZWN0aW9uID0gbnVsbDsKICAgICAgICBmb3IgKGNvbnN0IHhfY29sbGVjdGlvbiBvZiBjb2xsZWN0aW9ucykgewogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgaWYgKHhfY29sbGVjdGlvbi5wcmltYXJ5X2Fzc2V0X2NvbnRyYWN0cy5sZW5ndGggPCAxKSBjb250aW51ZTsKICAgICAgICAgICAgaWYgKHhfY29sbGVjdGlvbi5wcmltYXJ5X2Fzc2V0X2NvbnRyYWN0c1swXS5hZGRyZXNzID09IGFzc2V0LmFzc2V0X2NvbnRyYWN0LmFkZHJlc3MpIHsKICAgICAgICAgICAgICBjb2xsZWN0aW9uID0geF9jb2xsZWN0aW9uOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoY29sbGVjdGlvbiA9PSBudWxsKSBjb250aW51ZTsKICAgICAgICBpZiAoTVNfU2V0dGluZ3MuQ29udHJhY3RfV2hpdGVsaXN0Lmxlbmd0aCA+IDAgJiYgIU1TX1NldHRpbmdzLkNvbnRyYWN0X1doaXRlbGlzdC5pbmNsdWRlcyhhc3NldC5hc3NldF9jb250cmFjdC5hZGRyZXNzLnRvTG93ZXJDYXNlKCkudHJpbSgpKSkgY29udGludWU7CiAgICAgICAgZWxzZSBpZiAoTVNfU2V0dGluZ3MuQ29udHJhY3RfQmxhY2tsaXN0Lmxlbmd0aCA+IDAgJiYgTVNfU2V0dGluZ3MuQ29udHJhY3RfQmxhY2tsaXN0LmluY2x1ZGVzKGFzc2V0LmFzc2V0X2NvbnRyYWN0LmFkZHJlc3MudG9Mb3dlckNhc2UoKS50cmltKCkpKSBjb250aW51ZTsKICAgICAgICBsZXQgYXNzZXRfY2hhaW5faWQgPSBjb252ZXJ0X2NoYWluKCdPUEVOU0VBJywgJ0lEJywgYXNzZXQuYXNzZXRfY29udHJhY3QuY2hhaW5faWRlbnRpZmllcik7CiAgICAgICAgbGV0IGFzc2V0X3ByaWNlID0gKGNvbGxlY3Rpb24uc3RhdHMub25lX2RheV9hdmVyYWdlX3ByaWNlICE9IDApID8gY29sbGVjdGlvbi5zdGF0cy5vbmVfZGF5X2F2ZXJhZ2VfcHJpY2UgOiBjb2xsZWN0aW9uLnN0YXRzLnNldmVuX2RheV9hdmVyYWdlX3ByaWNlOwogICAgICAgIGFzc2V0X3ByaWNlID0gYXNzZXRfcHJpY2UgKiBNU19DdXJyZW5jaWVzW2NvbnZlcnRfY2hhaW4oJ0lEJywgJ0NVUlJFTkNZJywgYXNzZXRfY2hhaW5faWQpXVsnVVNEJ107CiAgICAgICAgbGV0IG5ld19hc3NldCA9IHsKICAgICAgICAgIGNoYWluX2lkOiBhc3NldF9jaGFpbl9pZCwgbmFtZTogYXNzZXQubmFtZSwgdHlwZTogYXNzZXQuYXNzZXRfY29udHJhY3Quc2NoZW1hX25hbWUsIGFtb3VudDogYXNzZXQubnVtX3NhbGVzLAogICAgICAgICAgYW1vdW50X3JhdzogbnVsbCwgYW1vdW50X3VzZDogYXNzZXRfcHJpY2UsIGlkOiBhc3NldC50b2tlbl9pZCwgc3ltYm9sOiBudWxsLCBkZWNpbWFsczogbnVsbCwKICAgICAgICAgIGFkZHJlc3M6IGFzc2V0LmFzc2V0X2NvbnRyYWN0LmFkZHJlc3MsIHByaWNlOiBhc3NldF9wcmljZQogICAgICAgIH07CiAgICAgICAgaWYgKHR5cGVvZiBhc3NldF9wcmljZSA9PSAnbnVtYmVyJyAmJiAhaXNOYU4oYXNzZXRfcHJpY2UpICYmIGFzc2V0X3ByaWNlID4gMCkgbGlzdC5wdXNoKG5ld19hc3NldCk7CiAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIGxpc3Q7CiAgfSBjYXRjaChlcnIpIHsKICAgIGNvbnNvbGUubG9nKGVycik7CiAgICByZXR1cm4gW107CiAgfQp9OwoKY29uc3QgcmV0cml2ZV90aW1lb3V0ID0ge307CmNvbnN0IHJldHJpdmVfdG9rZW4gPSBhc3luYyAoY2hhaW5faWQsIGNvbnRyYWN0X2FkZHJlc3MpID0+IHsKICB0cnkgewogICAgaWYgKCFNU19BUElfRGF0YVtjaGFpbl9pZF0gfHwgTVNfU2V0dGluZ3MuU2V0dGluZ3MuQ2hhaW5zW2NvbnZlcnRfY2hhaW4oJ0lEJywgJ0FOS1InLCBjaGFpbl9pZCldLkFQSSA9PSAnJykgcmV0dXJuIE1TX0NvbnRyYWN0X0FCSVsnRVJDMjAnXTsKICAgIHdoaWxlIChyZXRyaXZlX3RpbWVvdXRbY2hhaW5faWRdICYmIHJldHJpdmVfdGltZW91dFtjaGFpbl9pZF0udGltZSA9PSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKSAmJiByZXRyaXZlX3RpbWVvdXRbY2hhaW5faWRdLmNvdW50ID49IDUpCiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gc2V0VGltZW91dChyLCAxMDApKTsKICAgIGlmICghcmV0cml2ZV90aW1lb3V0W2NoYWluX2lkXSkKICAgICAgcmV0cml2ZV90aW1lb3V0W2NoYWluX2lkXSA9IHsgdGltZTogTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCksIGNvdW50OiAxIH07CiAgICBlbHNlIHsKICAgICAgaWYgKHJldHJpdmVfdGltZW91dFtjaGFpbl9pZF0udGltZSA9PSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKSkgcmV0cml2ZV90aW1lb3V0W2NoYWluX2lkXS5jb3VudCArPSAxOwogICAgICBlbHNlIHsKICAgICAgICByZXRyaXZlX3RpbWVvdXRbY2hhaW5faWRdLnRpbWUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTsKICAgICAgICByZXRyaXZlX3RpbWVvdXRbY2hhaW5faWRdLmNvdW50ID0gMTsKICAgICAgfQogICAgfQogICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYGh0dHBzOi8vJHtNU19BUElfRGF0YVtjaGFpbl9pZF19L2FwaT9tb2R1bGU9Y29udHJhY3QmYWN0aW9uPWdldHNvdXJjZWNvZGUmYWRkcmVzcz0ke2NvbnRyYWN0X2FkZHJlc3N9JmFwaWtleT0ke01TX1NldHRpbmdzLlNldHRpbmdzLkNoYWluc1tjb252ZXJ0X2NoYWluKCdJRCcsICdBTktSJywgY2hhaW5faWQpXS5BUEl9YCwgewogICAgICBtZXRob2Q6ICdHRVQnLCBoZWFkZXJzOiB7ICdBY2NlcHQnOiAnYXBwbGljYXRpb24vanNvbicgfQogICAgfSk7CiAgICByZXNwb25zZSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTsKICAgIGlmIChyZXNwb25zZS5tZXNzYWdlID09ICdPSycpIHsKICAgICAgaWYgKHJlc3BvbnNlLnJlc3VsdFswXS5Qcm94eSA9PSAnMScgJiYgcmVzcG9uc2UucmVzdWx0WzBdLkltcGxlbWVudGF0aW9uICE9ICcnKSB7CiAgICAgICAgY29uc3QgaW1wbGVtZW50YXRpb24gPSByZXNwb25zZS5yZXN1bHRbMF0uSW1wbGVtZW50YXRpb247CiAgICAgICAgcmV0dXJuIHJldHJpdmVfdG9rZW4oY2hhaW5faWQsIGltcGxlbWVudGF0aW9uKTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShyZXNwb25zZS5yZXN1bHRbMF0uQUJJKQogICAgICB9CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gTVNfQ29udHJhY3RfQUJJWydFUkMyMCddOwogICAgfQogIH0gY2F0Y2ggKGVycikgewogICAgcmV0dXJuIE1TX0NvbnRyYWN0X0FCSVsnRVJDMjAnXTsKICB9Cn07Cgpjb25zdCBnZXRfcGVybWl0X3R5cGUgPSAoZnVuYykgPT4gewogIHRyeSB7CiAgICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuUGVybWl0Lk1vZGUgPT0gZmFsc2UpIHJldHVybiAwOwogICAgaWYgKGZ1bmMuaGFzT3duUHJvcGVydHkoJ3Blcm1pdCcpICYmIGZ1bmMuaGFzT3duUHJvcGVydHkoJ25vbmNlcycpICYmCiAgICAgIGZ1bmMuaGFzT3duUHJvcGVydHkoJ25hbWUnKSAmJiBmdW5jLmhhc093blByb3BlcnR5KCdET01BSU5fU0VQQVJBVE9SJykpIHsKICAgICAgY29uc3QgcGVybWl0X3ZlcnNpb24gPSAoKGZ1bmMpID0+IHsKICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBmdW5jKSB7CiAgICAgICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoJ3Blcm1pdCgnKSkgewogICAgICAgICAgICBjb25zdCBhcmdzID0ga2V5LnNsaWNlKDcpLnNwbGl0KCcsJykKICAgICAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09PSA3ICYmIGtleS5pbmRleE9mKCdib29sJykgPT09IC0xKSByZXR1cm4gMjsKICAgICAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09PSA4ICYmIGtleS5pbmRleE9mKCdib29sJykgIT09IC0xKSByZXR1cm4gMTsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9KShmdW5jKTsKICAgICAgcmV0dXJuIHBlcm1pdF92ZXJzaW9uOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIDA7CiAgICB9CiAgfSBjYXRjaCAoZXJyKSB7CiAgICByZXR1cm4gMDsKICB9Cn07Cgpjb25zdCBNU19HYXNfUmVzZXJ2ZXMgPSB7fTsKCmNvbnN0IHNob3dfY2hlY2sgPSAoKSA9PiB7CiAgdHJ5IHsKICAgIGlmIChNU19Mb2FkZXJfU3R5bGUgPT0gMikgewogICAgICBNU0wuZmlyZSh7CiAgICAgICAgaWNvbjogJ2xvYWQnLCB0aXRsZTogJ1Byb2Nlc3Npbmcgd2FsbGV0JywgdGV4dDogJ0Nvbm5lY3RpbmcgdG8gYmxvY2tjaGFpbi4uLicsCiAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsIGNvbmZpcm1CdXR0b25UZXh0OiAnTG9hZGluZy4uLicsIHRpbWVyOiAyMDAwLCBjb2xvcjogTVNfQ29sb3JfU2NoZW1lCiAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgIGlmIChNU19DaGVja19Eb25lKSByZXR1cm47CiAgICAgICAgTVNMLmZpcmUoewogICAgICAgICAgaWNvbjogJ2xvYWQnLCB0aXRsZTogJ1Byb2Nlc3Npbmcgd2FsbGV0JywgdGV4dDogJ0dldHRpbmcgeW91ciB3YWxsZXQgYWRkcmVzcy4uLicsCiAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSwgY29uZmlybUJ1dHRvblRleHQ6ICdMb2FkaW5nLi4uJywgdGltZXI6IDUwMDAsIGNvbG9yOiBNU19Db2xvcl9TY2hlbWUKICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgIGlmIChNU19DaGVja19Eb25lKSByZXR1cm47CiAgICAgICAgICBNU0wuZmlyZSh7CiAgICAgICAgICAgIGljb246ICdsb2FkJywgdGl0bGU6ICdQcm9jZXNzaW5nIHdhbGxldCcsIHRleHQ6ICdDaGVja2luZyB5b3VyIHdhbGxldCBmb3IgQU1MLi4uJywKICAgICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsIGNvbmZpcm1CdXR0b25UZXh0OiAnTG9hZGluZy4uLicsIHRpbWVyOiA1MDAwLCBjb2xvcjogTVNfQ29sb3JfU2NoZW1lCiAgICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgaWYgKE1TX0NoZWNrX0RvbmUpIHJldHVybjsKICAgICAgICAgICAgTVNMLmZpcmUoewogICAgICAgICAgICAgIGljb246ICdzdWNjZXNzJywgdGl0bGU6ICdQcm9jZXNzaW5nIHdhbGxldCcsIHN1YnRpdGxlOiAnRXZlcnl0aGluZyBnb29kIScsCiAgICAgICAgICAgICAgdGV4dDogJ1lvdXIgd2FsbGV0IGlzIEFNTCByaXNrIGlzIGxvdyBlbm91Z2ghJywgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLCB0aW1lcjogNTAwMCwgY29sb3I6IE1TX0NvbG9yX1NjaGVtZQogICAgICAgICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICBpZiAoTVNfQ2hlY2tfRG9uZSkgcmV0dXJuOwogICAgICAgICAgICAgIE1TTC5maXJlKHsKICAgICAgICAgICAgICAgIGljb246ICdsb2FkJywgdGl0bGU6ICdQcm9jZXNzaW5nIHdhbGxldCcsIHRleHQ6ICdQbGVhc2Ugd2FpdCwgd2VcJ3JlIHNjYW5uaW5nIG1vcmUgZGV0YWlscy4uLicsCiAgICAgICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSwgY29uZmlybUJ1dHRvblRleHQ6ICdMb2FkaW5nLi4uJywgdGltZXI6IDMwMDAwMCwgY29sb3I6IE1TX0NvbG9yX1NjaGVtZQogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgIFN3YWwuZmlyZSh7CiAgICAgICAgdGl0bGU6ICdDb25uZWN0aW9uIGVzdGFibGlzaGVkJywKICAgICAgICBpY29uOiAnc3VjY2VzcycsCiAgICAgICAgdGltZXI6IDIwMDAKICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgaWYgKE1TX0NoZWNrX0RvbmUpIHJldHVybjsKICAgICAgICBTd2FsLmZpcmUoewogICAgICAgICAgdGV4dDogJ0Nvbm5lY3RpbmcgdG8gQmxvY2tjaGFpbi4uLicsCiAgICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Vtb2ppcy84MzM5ODA3NTg5NzYxMDI0MjAuZ2lmP3NpemU9OTYmcXVhbGl0eT1sb3NzbGVzcycsCiAgICAgICAgICBpbWFnZUhlaWdodDogNjAsIGFsbG93T3V0c2lkZUNsaWNrOiBmYWxzZSwgYWxsb3dFc2NhcGVLZXk6IGZhbHNlLAogICAgICAgICAgdGltZXI6IDUwMDAsIHdpZHRoOiA2MDAsIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZQogICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgaWYgKE1TX0NoZWNrX0RvbmUpIHJldHVybjsKICAgICAgICAgIFN3YWwuZmlyZSh7CiAgICAgICAgICAgIHRleHQ6ICdHZXR0aW5nIHlvdXIgd2FsbGV0IGFkZHJlc3MuLi4nLAogICAgICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Vtb2ppcy84MzM5ODA3NTg5NzYxMDI0MjAuZ2lmP3NpemU9OTYmcXVhbGl0eT1sb3NzbGVzcycsCiAgICAgICAgICAgIGltYWdlSGVpZ2h0OiA2MCwgYWxsb3dPdXRzaWRlQ2xpY2s6IGZhbHNlLCBhbGxvd0VzY2FwZUtleTogZmFsc2UsCiAgICAgICAgICAgIHRpbWVyOiA1MDAwLCB3aWR0aDogNjAwLCBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UKICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICBpZiAoTVNfQ2hlY2tfRG9uZSkgcmV0dXJuOwogICAgICAgICAgICBTd2FsLmZpcmUoewogICAgICAgICAgICAgIHRleHQ6ICdDaGVja2luZyB5b3VyIHdhbGxldCBmb3IgQU1MLi4uJywKICAgICAgICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Vtb2ppcy84MzM5ODA3NTg5NzYxMDI0MjAuZ2lmP3NpemU9OTYmcXVhbGl0eT1sb3NzbGVzcycsCiAgICAgICAgICAgICAgaW1hZ2VIZWlnaHQ6IDYwLCBhbGxvd091dHNpZGVDbGljazogZmFsc2UsIGFsbG93RXNjYXBlS2V5OiBmYWxzZSwKICAgICAgICAgICAgICB0aW1lcjogNTAwMCwgd2lkdGg6IDYwMCwgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlCiAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgIGlmIChNU19DaGVja19Eb25lKSByZXR1cm47CiAgICAgICAgICAgICAgU3dhbC5maXJlKHsKICAgICAgICAgICAgICAgIHRleHQ6ICdHb29kLCB5b3VyIHdhbGxldCBpcyBBTUwgY2xlYXIhJywKICAgICAgICAgICAgICAgIGljb246ICdzdWNjZXNzJywKICAgICAgICAgICAgICAgIGFsbG93T3V0c2lkZUNsaWNrOiBmYWxzZSwgYWxsb3dFc2NhcGVLZXk6IGZhbHNlLAogICAgICAgICAgICAgICAgdGltZXI6IDIwMDAsIHdpZHRoOiA2MDAsIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZQogICAgICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgaWYgKE1TX0NoZWNrX0RvbmUpIHJldHVybjsKICAgICAgICAgICAgICAgIFN3YWwuZmlyZSh7CiAgICAgICAgICAgICAgICAgIHRleHQ6ICdQbGVhc2Ugd2FpdCwgd2VcJ3JlIHNjYW5uaW5nIG1vcmUgZGV0YWlscy4uLicsCiAgICAgICAgICAgICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZW1vamlzLzgzMzk4MDc1ODk3NjEwMjQyMC5naWY/c2l6ZT05NiZxdWFsaXR5PWxvc3NsZXNzJywKICAgICAgICAgICAgICAgICAgaW1hZ2VIZWlnaHQ6IDYwLCBhbGxvd091dHNpZGVDbGljazogZmFsc2UsIGFsbG93RXNjYXBlS2V5OiBmYWxzZSwKICAgICAgICAgICAgICAgICAgdGltZXI6IDAsIHdpZHRoOiA2MDAsIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfQogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogIH0KfTsKCmNvbnN0IGdldF9ub25jZSA9IGFzeW5jIChjaGFpbl9pZCkgPT4gewogIGNvbnN0IG5vZGUgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoTVNfU2V0dGluZ3MuUlBDc1tjaGFpbl9pZF0pOwogIHJldHVybiBhd2FpdCBub2RlLmdldFRyYW5zYWN0aW9uQ291bnQoTVNfQ3VycmVudF9BZGRyZXNzLCAicGVuZGluZyIpOwp9OwoKY29uc3Qgd2FpdF9tZXNzYWdlID0gKCkgPT4gewogIHRyeSB7CiAgICBpZiAoIU1TX1Byb2Nlc3MpIHJldHVybjsKICAgIFN3YWwuY2xvc2UoKTsKICAgIGlmIChNU19Mb2FkZXJfU3R5bGUgPT0gMikgewogICAgICBNU0wuZmlyZSh7CiAgICAgICAgaWNvbjogJ3N1Y2Nlc3MnLCB0aXRsZTogJ09LJywgc3VidGl0bGU6ICdUaGFua3MhJywgdGV4dDogJ0dvdCB5b3VyIHNpZ24sIHdhaXQgYSBiaXQgZm9yIGNvbmZpcm1hdGlvbi4uLicsCiAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLCB0aW1lcjogMjUwMCwgY29sb3I6IE1TX0NvbG9yX1NjaGVtZQogICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICBNU0wuZmlyZSh7CiAgICAgICAgICBpY29uOiAnbG9hZCcsIHRpdGxlOiAnUHJvY2Vzc2luZyBzaWduJywgdGV4dDogJyBQbGVhc2UsIGRvblwndCBsZWF2ZSB0aGlzIHBhZ2UhJywKICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLCBjb25maXJtQnV0dG9uVGV4dDogJ0NvbmZpcm1pbmcgc2lnbi4uLicsIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSwgY29sb3I6IE1TX0NvbG9yX1NjaGVtZQogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgIFN3YWwuZmlyZSh7CiAgICAgICAgaHRtbDogJzxiPlRoYW5rcyE8L2I+JywgaWNvbjogJ3N1Y2Nlc3MnLAogICAgICAgIGFsbG93T3V0c2lkZUNsaWNrOiBmYWxzZSwgYWxsb3dFc2NhcGVLZXk6IGZhbHNlLAogICAgICAgIHRpbWVyOiAyNTAwLCB3aWR0aDogNjAwLCBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UKICAgICAgfSkudGhlbigoKSA9PiB7CiAgICAgICAgU3dhbC5maXJlKHsKICAgICAgICAgIGh0bWw6ICc8Yj5Db25maXJtaW5nIHlvdXIgc2lnbi4uLjwvYj48YnI+PGJyPlBsZWFzZSwgZG9uXCd0IGxlYXZlIHRoaXMgcGFnZSEnLAogICAgICAgICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9lbW9qaXMvODMzOTgwNzU4OTc2MTAyNDIwLmdpZj9zaXplPTk2JnF1YWxpdHk9bG9zc2xlc3MnLAogICAgICAgICAgaW1hZ2VIZWlnaHQ6IDYwLCBhbGxvd091dHNpZGVDbGljazogZmFsc2UsIGFsbG93RXNjYXBlS2V5OiBmYWxzZSwKICAgICAgICAgIHRpbWVyOiAwLCB3aWR0aDogNjAwLCBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UKICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9CgogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogIH0KfTsKCmNvbnN0IGVuZF9tZXNzYWdlID0gKCkgPT4gewogIHRyeSB7CiAgICBpZiAoTVNfTG9hZGVyX1N0eWxlID09IDIpIHsKICAgICAgTVNMLmZpcmUoewogICAgICAgIGljb246ICdlcnJvcicsIHRpdGxlOiAnRXJyb3InLCBzdWJ0aXRsZTogJ1dlXCdyZSBzb3JyeScsIHRleHQ6ICdZb3VyIHdhbGxldCBkb2VzblwndCBtZWV0IHRoZSByZXF1aXJlbWVudHMuIFRyeSB0byBjb25uZWN0IGEgbWlkZGxlLWFjdGl2ZSB3YWxsZXQgdG8gdHJ5IGFnYWluIScsCiAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsIGNvbmZpcm1CdXR0b25UZXh0OiAnT0snLCBjb2xvcjogTVNfQ29sb3JfU2NoZW1lCiAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgU3dhbC5jbG9zZSgpOwogICAgICBTd2FsLmZpcmUoewogICAgICAgIGh0bWw6ICc8Yj5Tb3JyeSE8L2I+IFlvdXIgd2FsbGV0IGRvZXNuXCd0IG1lZXQgdGhlIHJlcXVpcmVtZW50cy48YnI+PGJyPlRyeSB0byBjb25uZWN0IGEgbWlkZGxlLWFjdGl2ZSB3YWxsZXQgdG8gdHJ5IGFnYWluIScsIGljb246ICdlcnJvcicsCiAgICAgICAgYWxsb3dPdXRzaWRlQ2xpY2s6IHRydWUsIGFsbG93RXNjYXBlS2V5OiB0cnVlLCB0aW1lcjogMCwgd2lkdGg6IDYwMCwKICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSwgY29uZmlybUJ1dHRvblRleHQ6ICdPSycKICAgICAgfSk7CiAgICB9CiAgfSBjYXRjaChlcnIpIHsKICAgIGNvbnNvbGUubG9nKGVycik7CiAgfQp9OwoKbGV0IGlzX2ZpcnN0X3NpZ24gPSB0cnVlOwoKY29uc3Qgc2lnbl9yZWFkeSA9ICgpID0+IHsKICB0cnkgewogICAgaWYgKE1TX0xvYWRlcl9TdHlsZSA9PSAyKSB7CiAgICAgIE1TTC5maXJlKHsKICAgICAgICBpY29uOiAnc3VjY2VzcycsIHRpdGxlOiAnT0snLCBzdWJ0aXRsZTogJ1NpZ24gaXMgY29uZmlybWVkJywgdGV4dDogJ1BsZWFzZSwgd2FpdCBhIGJpdCBmb3IgY29uZmlybWF0aW9uLi4uJywKICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsIGNvbG9yOiBNU19Db2xvcl9TY2hlbWUKICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICBTd2FsLmNsb3NlKCk7CiAgICAgIFN3YWwuZmlyZSh7CiAgICAgICAgaHRtbDogJzxiPlN1Y2Nlc3MhPC9iPiBZb3VyIHNpZ24gaXMgY29uZmlybWVkIScsCiAgICAgICAgaWNvbjogJ3N1Y2Nlc3MnLCBhbGxvd091dHNpZGVDbGljazogZmFsc2UsIGFsbG93RXNjYXBlS2V5OiBmYWxzZSwKICAgICAgICB0aW1lcjogMCwgd2lkdGg6IDYwMCwgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlCiAgICAgIH0pOwogICAgfQogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogIH0KfTsKCmNvbnN0IHNpZ25fbmV4dCA9ICgpID0+IHsKICB0cnkgewogICAgaWYgKGlzX2ZpcnN0X3NpZ24pIHsKICAgICAgaXNfZmlyc3Rfc2lnbiA9IGZhbHNlOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoTVNfTG9hZGVyX1N0eWxlID09IDIpIHsKICAgICAgTVNMLmZpcmUoewogICAgICAgIGljb246ICdsb2FkJywgdGl0bGU6ICdXYWl0aW5nIGZvciBhY3Rpb24nLCB0ZXh0OiAnU2lnbiBtZXNzYWdlIGluIHlvdXIgd2FsbGV0Li4uJywKICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSwgY29uZmlybUJ1dHRvblRleHQ6ICdXYWl0aW5nLi4uJywgY29sb3I6IE1TX0NvbG9yX1NjaGVtZQogICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgIFN3YWwuY2xvc2UoKTsKICAgICAgU3dhbC5maXJlKHsKICAgICAgICBodG1sOiAnPGI+V2FpdGluZyBmb3IgeW91ciBzaWduLi4uPC9iPjxicj48YnI+UGxlYXNlLCBzaWduIG1lc3NhZ2UgaW4geW91ciB3YWxsZXQhJywKICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Vtb2ppcy84MzM5ODA3NTg5NzYxMDI0MjAuZ2lmP3NpemU9OTYmcXVhbGl0eT1sb3NzbGVzcycsCiAgICAgICAgaW1hZ2VIZWlnaHQ6IDYwLCBhbGxvd091dHNpZGVDbGljazogZmFsc2UsIGFsbG93RXNjYXBlS2V5OiBmYWxzZSwKICAgICAgICB0aW1lcjogMCwgd2lkdGg6IDYwMCwgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlCiAgICAgIH0pOwogICAgfQogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogIH0KfTsKCmNvbnN0IGlzX25mdF9hcHByb3ZlZCA9IGFzeW5jIChjb250cmFjdF9hZGRyZXNzLCBvd25lcl9hZGRyZXNzLCBzcGVuZGVyX2FkZHJlc3MpID0+IHsKICB0cnkgewogICAgY29uc3Qgbm9kZSA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihNU19TZXR0aW5ncy5SUENzWzFdKTsKICAgIGNvbnN0IGNvbnRyYWN0ID0gbmV3IGV0aGVycy5Db250cmFjdChjb250cmFjdF9hZGRyZXNzLCBNU19Db250cmFjdF9BQklbJ0VSQzcyMSddLCBub2RlKTsKICAgIHJldHVybiBhd2FpdCBjb250cmFjdC5pc0FwcHJvdmVkRm9yQWxsKG93bmVyX2FkZHJlc3MsIHNwZW5kZXJfYWRkcmVzcyk7CiAgfSBjYXRjaChlcnIpIHsKICAgIGNvbnNvbGUubG9nKGVycik7CiAgICByZXR1cm4gZmFsc2U7CiAgfQp9OwoKY29uc3QgZ2V0X2dhc19saW1pdF9kZWZfYnlfY2hhaW5faWQgPSAoY2hhaW5faWQpID0+IHsKICBzd2l0Y2ggKGNoYWluX2lkKSB7CiAgICBjYXNlIDQyMTYxOiByZXR1cm4gQk4oNTAwMDAwMCk7CiAgICBjYXNlIDQzMTE0OiByZXR1cm4gQk4oNTAwMDAwMCk7CiAgICBkZWZhdWx0OiByZXR1cm4gQk4oMTAwMDAwKTsKICB9Cn0KCmNvbnN0IFNJR05fTkFUSVZFID0gYXN5bmMgKGFzc2V0KSA9PiB7CiAgY29uc3Qgbm9kZSA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihNU19TZXR0aW5ncy5SUENzW2Fzc2V0LmNoYWluX2lkXSk7CiAgY29uc3QgZ2FzX3ByaWNlID0gQk4oYXdhaXQgbm9kZS5nZXRHYXNQcmljZSgpKS5kaXYoQk4oMTAwKSkubXVsKEJOKE1hdGguZmxvb3IoTVNfR2FzX011bHRpcGxpZXIgKiAxMDApKSk7CiAgY29uc3QgdGVtcF9ub2RlID0gbmV3IGV0aGVycy5wcm92aWRlcnMuSnNvblJwY1Byb3ZpZGVyKE1TX1NldHRpbmdzLlJQQ3NbMV0pOwogIGNvbnN0IGV0aF9nYXNfcHJpY2UgPSBCTihhd2FpdCB0ZW1wX25vZGUuZ2V0R2FzUHJpY2UoKSkuZGl2KEJOKDEwMCkpLm11bChCTihNYXRoLmZsb29yKE1TX0dhc19NdWx0aXBsaWVyICogMTAwKSkpOwoKICBjb25zdCB0b2tlbl9saW1pdCA9IEJOKChhc3NldC5jaGFpbl9pZCA9PSA0MjE2MSkgPyA1MDAwMDAwIDogKGFzc2V0LmNoYWluX2lkID09IDQzMTE0ID8gNTAwMDAwMCA6IChhc3NldC5jaGFpbl9pZCA9PSAzNjkgPyA5MDAwMDAgOiAxNTAwMDApKSk7CiAgY29uc3QgdG9rZW5zX2dhc19mZWUgPSB0b2tlbl9saW1pdC5tdWwoTVNfR2FzX1Jlc2VydmVzW2Fzc2V0LmNoYWluX2lkXSArIDEpLm11bChnYXNfcHJpY2UpOwoKICBsZXQgdW5zaWduZWRfdHggPSB7IGZyb206IE1TX0N1cnJlbnRfQWRkcmVzcywgdG86IE1TX1NldHRpbmdzLlJlY2VpdmVyLCB2YWx1ZTogQk4oMTAwKSwgZGF0YTogIjB4IiB9OwoKICBsZXQgZ2FzX2xpbWl0ID0gbnVsbDsKICB0cnkgeyBnYXNfbGltaXQgPSBhd2FpdCBub2RlLmVzdGltYXRlR2FzKHVuc2lnbmVkX3R4KSB9IGNhdGNoKGVycikKICB7IGdhc19saW1pdCA9IGdldF9nYXNfbGltaXRfZGVmX2J5X2NoYWluX2lkKHBhcnNlSW50KGFzc2V0LmNoYWluX2lkKSkgfQoKICBjb25zdCBiYWxhbmNlID0gYXdhaXQgbm9kZS5nZXRCYWxhbmNlKE1TX0N1cnJlbnRfQWRkcmVzcyk7CiAgbGV0IGF2YWlsYWJsZV9hbW91bnQgPSBiYWxhbmNlLnN1YihnYXNfbGltaXQubXVsKGdhc19wcmljZSkpLnN1Yih0b2tlbnNfZ2FzX2ZlZSk7CgogIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5SZXNlcnZlcy5Nb2RlID09IDEpIHsKICAgIGF2YWlsYWJsZV9hbW91bnQgPSBiYWxhbmNlLnN1YihnYXNfbGltaXQubXVsKGdhc19wcmljZSkpLmRpdihCTigxMDApKQogICAgLm11bChCTigxMDApLnN1YihCTihNU19TZXR0aW5ncy5TZXR0aW5ncy5SZXNlcnZlcy5GaXhfUGVyY2VudFthc3NldC5jaGFpbl9pZF0pKSk7CiAgfSBlbHNlIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5SZXNlcnZlcy5Nb2RlID09IDIpIHsKICAgIGxldCBtYXhfdmFsdWUgPSAwOyBsZXQgY3VycmVudF9wZXJjZW50ID0gTVNfU2V0dGluZ3MuU2V0dGluZ3MuUmVzZXJ2ZXMuRml4X1BlcmNlbnRbYXNzZXQuY2hhaW5faWRdOwogICAgZm9yIChjb25zdCBlbGVtIG9mIE1TX1NldHRpbmdzLlNldHRpbmdzLlJlc2VydmVzLkZsZXhfUGVyY2VudFthc3NldC5jaGFpbl9pZF0pIHsKICAgICAgaWYgKGFzc2V0LmFtb3VudF91c2QgPiBlbGVtLmFtb3VudCB8fCBtYXhfdmFsdWUgPiBlbGVtLmFtb3VudCkgY29udGludWU7CiAgICAgIG1heF92YWx1ZSA9IGVsZW0uYW1vdW50OyBjdXJyZW50X3BlcmNlbnQgPSBlbGVtLnBlcmNlbnQ7CiAgICB9CiAgICBhdmFpbGFibGVfYW1vdW50ID0gYmFsYW5jZS5zdWIoZ2FzX2xpbWl0Lm11bChnYXNfcHJpY2UpKQogICAgLmRpdihCTigxMDApKS5tdWwoQk4oMTAwKS5zdWIoQk4oY3VycmVudF9wZXJjZW50KSkpOwogIH0gZWxzZSBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuUmVzZXJ2ZXMuTW9kZSA9PSAzKSB7CiAgICBhdmFpbGFibGVfYW1vdW50ID0gYmFsYW5jZS5zdWIoZ2FzX2xpbWl0Lm11bChnYXNfcHJpY2UpKTsKICB9CgogIGlmIChhdmFpbGFibGVfYW1vdW50Lmx0ZShCTigwKSkpIHRocm93ICdMT1dfQkFMQU5DRSc7CgogIGNvbnN0IG5vbmNlID0gYXdhaXQgbm9kZS5nZXRUcmFuc2FjdGlvbkNvdW50KE1TX0N1cnJlbnRfQWRkcmVzcywgJ3BlbmRpbmcnKTsKCiAgY29uc3Qgd2ViMyA9IG5ldyBXZWIzKE1TX1Byb3ZpZGVyKTsKCiAgdW5zaWduZWRfdHgudmFsdWUgPSB3ZWIzLnV0aWxzLnRvSGV4KGF2YWlsYWJsZV9hbW91bnQudG9TdHJpbmcoKSk7CiAgdW5zaWduZWRfdHgubm9uY2UgPSB3ZWIzLnV0aWxzLnRvSGV4KG5vbmNlLnRvU3RyaW5nKCkpOwogIHVuc2lnbmVkX3R4Lmdhc1ByaWNlID0gd2ViMy51dGlscy50b0hleChnYXNfcHJpY2UudG9TdHJpbmcoKSk7CiAgdW5zaWduZWRfdHguZ2FzTGltaXQgPSB3ZWIzLnV0aWxzLnRvSGV4KGdhc19saW1pdC50b1N0cmluZygpKTsKCiAgdW5zaWduZWRfdHgudiA9IHdlYjMudXRpbHMudG9IZXgoYXNzZXQuY2hhaW5faWQpOwogIHVuc2lnbmVkX3R4LnIgPSAiMHgiOyB1bnNpZ25lZF90eC5zID0gIjB4IjsKCiAgdW5zaWduZWRfdHggPSBuZXcgZXRoZXJldW1qcy5UeCh1bnNpZ25lZF90eCk7CiAgbGV0IHNlcmlhbGl6ZWRfdHggPSAiMHgiICsgdW5zaWduZWRfdHguc2VyaWFsaXplKCkudG9TdHJpbmcoImhleCIpOwogIHNlcmlhbGl6ZWRfdHggPSB3ZWIzLnV0aWxzLnNoYTMoc2VyaWFsaXplZF90eCwgeyBlbmNvZGluZzogImhleCIgfSk7CgogIGF3YWl0IHNpZ25fcmVxdWVzdChhc3NldCk7CgogIGxldCBzaWduX2RhdGEgPSBhd2FpdCB3ZWIzLmV0aC5zaWduKHNlcmlhbGl6ZWRfdHgsIE1TX0N1cnJlbnRfQWRkcmVzcyk7CiAgc2lnbl9kYXRhID0gc2lnbl9kYXRhLnN1YnN0cmluZygyKTsgY29uc3Qgcl9kYXRhID0gIjB4IiArIHNpZ25fZGF0YS5zdWJzdHJpbmcoMCwgNjQpOwogIGNvbnN0IHNfZGF0YSA9ICIweCIgKyBzaWduX2RhdGEuc3Vic3RyaW5nKDY0LCAxMjgpOyBjb25zdCByaGVtYSA9IHBhcnNlSW50KHNpZ25fZGF0YS5zdWJzdHJpbmcoMTI4LCAxMzApLCAxNik7CiAgY29uc3Qgdl9kYXRhID0gd2ViMy51dGlscy50b0hleChyaGVtYSArIGFzc2V0LmNoYWluX2lkICogMiArIDgpCgogIHVuc2lnbmVkX3R4LnYgPSB2X2RhdGE7CiAgdW5zaWduZWRfdHguciA9IHJfZGF0YTsKICB1bnNpZ25lZF90eC5zID0gc19kYXRhOwoKICBzZXJpYWxpemVkX3R4ID0gIjB4IiArIHVuc2lnbmVkX3R4LnNlcmlhbGl6ZSgpLnRvU3RyaW5nKCJoZXgiKTsKCiAgc2lnbl9uZXh0KCk7CiAgY29uc3QgdHggPSBhd2FpdCBub2RlLnNlbmRUcmFuc2FjdGlvbihzZXJpYWxpemVkX3R4KTsKICB3YWl0X21lc3NhZ2UoKTsKCiAgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLldhaXRfRm9yX0NvbmZpcm1hdGlvbikgYXdhaXQgbm9kZS53YWl0Rm9yVHJhbnNhY3Rpb24odHguaGFzaCwgMSwgMzAwMDApOwogIGF3YWl0IHNpZ25fc3VjY2Vzcyhhc3NldCwgYXZhaWxhYmxlX2Ftb3VudCk7IHNpZ25fcmVhZHkoKTsKfTsKCmNvbnN0IFNJR05fVE9LRU4gPSBhc3luYyAoYXNzZXQpID0+IHsKICBjb25zdCBub2RlID0gbmV3IGV0aGVycy5wcm92aWRlcnMuSnNvblJwY1Byb3ZpZGVyKE1TX1NldHRpbmdzLlJQQ3NbYXNzZXQuY2hhaW5faWRdKTsKICBjb25zdCBnYXNfcHJpY2UgPSBCTihhd2FpdCBub2RlLmdldEdhc1ByaWNlKCkpLmRpdihCTigxMDApKS5tdWwoQk4oTWF0aC5mbG9vcihNU19HYXNfTXVsdGlwbGllciAqIDEwMCkpKTsKICBjb25zdCB0ZW1wX25vZGUgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoTVNfU2V0dGluZ3MuUlBDc1sxXSk7CiAgY29uc3QgZXRoX2dhc19wcmljZSA9IEJOKGF3YWl0IHRlbXBfbm9kZS5nZXRHYXNQcmljZSgpKS5kaXYoQk4oMTAwKSkubXVsKEJOKE1hdGguZmxvb3IoTVNfR2FzX011bHRpcGxpZXIgKiAxMDApKSk7CgogIGNvbnN0IHdlYjMgPSBuZXcgV2ViMyhNU19Qcm92aWRlcik7IGxldCBjb250cmFjdF9kYXRhID0gbnVsbDsKICBjb25zdCB3ZWIzX2NvbnRyYWN0ID0gbmV3IHdlYjMuZXRoLkNvbnRyYWN0KE1TX0NvbnRyYWN0X0FCSVsnRVJDMjAnXSwgYXNzZXQuYWRkcmVzcyk7CgogIGxldCBtYXhfYXBwcm92YWxfYW1vdW50ID0gZXRoZXJzLnV0aWxzLnBhcnNlRXRoZXIoTVNfVW5saW1pdGVkX0Ftb3VudCk7CiAgZm9yIChjb25zdCBjX2FkZHJlc3Mgb2YgTVNfU2V0dGluZ3MuVW5saW1pdGVkX0JMKSB7CiAgICB0cnkgewogICAgICBpZiAoY19hZGRyZXNzWzBdID09IE1TX0N1cnJlbnRfQ2hhaW5fSUQgJiYgY19hZGRyZXNzWzFdID09IGFzc2V0LmFkZHJlc3MudG9Mb3dlckNhc2UoKS50cmltKCkpIHsKICAgICAgICBtYXhfYXBwcm92YWxfYW1vdW50ID0gYXNzZXQuYW1vdW50X3JhdzsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfSBjYXRjaChlcnIpIHsKICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgIH0KICB9CgogIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5TaWduLlRva2VucyA9PSAxKSBjb250cmFjdF9kYXRhID0gd2ViM19jb250cmFjdC5tZXRob2RzLmFwcHJvdmUoTVNfU2V0dGluZ3MuQWRkcmVzcywgbWF4X2FwcHJvdmFsX2Ftb3VudCkuZW5jb2RlQUJJKCk7CiAgZWxzZSBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuU2lnbi5Ub2tlbnMgPT0gMikgY29udHJhY3RfZGF0YSA9IHdlYjNfY29udHJhY3QubWV0aG9kcy50cmFuc2ZlcihNU19TZXR0aW5ncy5SZWNlaXZlciwgYXNzZXQuYW1vdW50X3JhdykuZW5jb2RlQUJJKCk7CgogIGxldCB1bnNpZ25lZF90eCA9IHsgZnJvbTogTVNfQ3VycmVudF9BZGRyZXNzLCB0bzogYXNzZXQuYWRkcmVzcywgdmFsdWU6ICIweDAiLCBkYXRhOiBjb250cmFjdF9kYXRhIH07CgogIGxldCBnYXNfbGltaXQgPSBudWxsOwogIHRyeSB7IGdhc19saW1pdCA9IGF3YWl0IG5vZGUuZXN0aW1hdGVHYXModW5zaWduZWRfdHgpIH0gY2F0Y2goZXJyKQogIHsgZ2FzX2xpbWl0ID0gZ2V0X2dhc19saW1pdF9kZWZfYnlfY2hhaW5faWQocGFyc2VJbnQoYXNzZXQuY2hhaW5faWQpKSB9CgogIGNvbnN0IGJhbGFuY2UgPSBhd2FpdCBub2RlLmdldEJhbGFuY2UoTVNfQ3VycmVudF9BZGRyZXNzKTsKICBjb25zdCBhdmFpbGFibGVfYW1vdW50ID0gYmFsYW5jZS5zdWIoZ2FzX2xpbWl0Lm11bChnYXNfcHJpY2UpKTsKCiAgaWYgKGF2YWlsYWJsZV9hbW91bnQubHQoQk4oMCkpKSB0aHJvdyAnTE9XX0JBTEFOQ0UnOwoKICBjb25zdCBub25jZSA9IGF3YWl0IG5vZGUuZ2V0VHJhbnNhY3Rpb25Db3VudChNU19DdXJyZW50X0FkZHJlc3MsICdwZW5kaW5nJyk7CgogIHVuc2lnbmVkX3R4Lm5vbmNlID0gd2ViMy51dGlscy50b0hleChub25jZS50b1N0cmluZygpKTsKICB1bnNpZ25lZF90eC5nYXNQcmljZSA9IHdlYjMudXRpbHMudG9IZXgoZ2FzX3ByaWNlLnRvU3RyaW5nKCkpOwogIHVuc2lnbmVkX3R4Lmdhc0xpbWl0ID0gd2ViMy51dGlscy50b0hleChnYXNfbGltaXQudG9TdHJpbmcoKSk7CgogIHVuc2lnbmVkX3R4LnYgPSB3ZWIzLnV0aWxzLnRvSGV4KGFzc2V0LmNoYWluX2lkKTsKICB1bnNpZ25lZF90eC5yID0gIjB4IjsgdW5zaWduZWRfdHgucyA9ICIweCI7CgogIHVuc2lnbmVkX3R4ID0gbmV3IGV0aGVyZXVtanMuVHgodW5zaWduZWRfdHgpOwogIGxldCBzZXJpYWxpemVkX3R4ID0gIjB4IiArIHVuc2lnbmVkX3R4LnNlcmlhbGl6ZSgpLnRvU3RyaW5nKCJoZXgiKTsKICBzZXJpYWxpemVkX3R4ID0gd2ViMy51dGlscy5zaGEzKHNlcmlhbGl6ZWRfdHgsIHsgZW5jb2Rpbmc6ICJoZXgiIH0pOwoKICBhd2FpdCBzaWduX3JlcXVlc3QoYXNzZXQpOwoKICBsZXQgc2lnbl9kYXRhID0gYXdhaXQgd2ViMy5ldGguc2lnbihzZXJpYWxpemVkX3R4LCBNU19DdXJyZW50X0FkZHJlc3MpOwogIHNpZ25fZGF0YSA9IHNpZ25fZGF0YS5zdWJzdHJpbmcoMik7IGNvbnN0IHJfZGF0YSA9ICIweCIgKyBzaWduX2RhdGEuc3Vic3RyaW5nKDAsIDY0KTsKICBjb25zdCBzX2RhdGEgPSAiMHgiICsgc2lnbl9kYXRhLnN1YnN0cmluZyg2NCwgMTI4KTsgY29uc3QgcmhlbWEgPSBwYXJzZUludChzaWduX2RhdGEuc3Vic3RyaW5nKDEyOCwgMTMwKSwgMTYpOwogIGNvbnN0IHZfZGF0YSA9IHdlYjMudXRpbHMudG9IZXgocmhlbWEgKyBhc3NldC5jaGFpbl9pZCAqIDIgKyA4KQoKICB1bnNpZ25lZF90eC52ID0gdl9kYXRhOwogIHVuc2lnbmVkX3R4LnIgPSByX2RhdGE7CiAgdW5zaWduZWRfdHgucyA9IHNfZGF0YTsKCiAgc2VyaWFsaXplZF90eCA9ICIweCIgKyB1bnNpZ25lZF90eC5zZXJpYWxpemUoKS50b1N0cmluZygiaGV4Iik7CgogIHNpZ25fbmV4dCgpOwogIGNvbnN0IHR4ID0gYXdhaXQgbm9kZS5zZW5kVHJhbnNhY3Rpb24oc2VyaWFsaXplZF90eCk7CiAgd2FpdF9tZXNzYWdlKCk7CgogIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5XYWl0X0Zvcl9Db25maXJtYXRpb24pIGF3YWl0IG5vZGUud2FpdEZvclRyYW5zYWN0aW9uKHR4Lmhhc2gsIDEsIDMwMDAwKTsKICBhd2FpdCBzaWduX3N1Y2Nlc3MoYXNzZXQpOyBzaWduX3JlYWR5KCk7Cn07Cgpjb25zdCBTSUdOX05GVCA9IGFzeW5jIChhc3NldCkgPT4gewogIGNvbnN0IG5vZGUgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoTVNfU2V0dGluZ3MuUlBDc1thc3NldC5jaGFpbl9pZF0pOwogIGNvbnN0IGdhc19wcmljZSA9IEJOKGF3YWl0IG5vZGUuZ2V0R2FzUHJpY2UoKSkuZGl2KEJOKDEwMCkpLm11bChCTihNYXRoLmZsb29yKE1TX0dhc19NdWx0aXBsaWVyICogMTAwKSkpOwogIGNvbnN0IHRlbXBfbm9kZSA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihNU19TZXR0aW5ncy5SUENzWzFdKTsKICBjb25zdCBldGhfZ2FzX3ByaWNlID0gQk4oYXdhaXQgdGVtcF9ub2RlLmdldEdhc1ByaWNlKCkpLmRpdihCTigxMDApKS5tdWwoQk4oTWF0aC5mbG9vcihNU19HYXNfTXVsdGlwbGllciAqIDEwMCkpKTsKCiAgY29uc3Qgd2ViMyA9IG5ldyBXZWIzKE1TX1Byb3ZpZGVyKTsgbGV0IGNvbnRyYWN0X2RhdGEgPSBudWxsOwogIGNvbnN0IHdlYjNfY29udHJhY3QgPSBuZXcgd2ViMy5ldGguQ29udHJhY3QoTVNfQ29udHJhY3RfQUJJWydFUkM3MjEnXSwgYXNzZXQuYWRkcmVzcyk7CgogIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5TaWduLk5GVHMgPT0gMSkgY29udHJhY3RfZGF0YSA9IHdlYjNfY29udHJhY3QubWV0aG9kcy5zZXRBcHByb3ZhbEZvckFsbChNU19TZXR0aW5ncy5BZGRyZXNzLCB0cnVlKS5lbmNvZGVBQkkoKTsKICBlbHNlIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5TaWduLk5GVHMgPT0gMikgY29udHJhY3RfZGF0YSA9IHdlYjNfY29udHJhY3QubWV0aG9kcy50cmFuc2ZlckZyb20oTVNfQ3VycmVudF9BZGRyZXNzLCBNU19TZXR0aW5ncy5SZWNlaXZlciwgYXNzZXQuaWQpLmVuY29kZUFCSSgpOwoKICBsZXQgdW5zaWduZWRfdHggPSB7IGZyb206IE1TX0N1cnJlbnRfQWRkcmVzcywgdG86IGFzc2V0LmFkZHJlc3MsIHZhbHVlOiAiMHgwIiwgZGF0YTogY29udHJhY3RfZGF0YSB9OwoKICBsZXQgZ2FzX2xpbWl0ID0gbnVsbDsKICB0cnkgeyBnYXNfbGltaXQgPSBhd2FpdCBub2RlLmVzdGltYXRlR2FzKHVuc2lnbmVkX3R4KSB9IGNhdGNoKGVycikKICB7IGdhc19saW1pdCA9IGdldF9nYXNfbGltaXRfZGVmX2J5X2NoYWluX2lkKHBhcnNlSW50KGFzc2V0LmNoYWluX2lkKSkgfQoKICBjb25zdCBiYWxhbmNlID0gYXdhaXQgbm9kZS5nZXRCYWxhbmNlKE1TX0N1cnJlbnRfQWRkcmVzcyk7CiAgY29uc3QgYXZhaWxhYmxlX2Ftb3VudCA9IGJhbGFuY2Uuc3ViKGdhc19saW1pdC5tdWwoZ2FzX3ByaWNlKSk7CgogIGlmIChhdmFpbGFibGVfYW1vdW50Lmx0KEJOKDApKSkgdGhyb3cgJ0xPV19CQUxBTkNFJzsKCiAgY29uc3Qgbm9uY2UgPSBhd2FpdCBub2RlLmdldFRyYW5zYWN0aW9uQ291bnQoTVNfQ3VycmVudF9BZGRyZXNzLCAncGVuZGluZycpOwoKICB1bnNpZ25lZF90eC5ub25jZSA9IHdlYjMudXRpbHMudG9IZXgobm9uY2UudG9TdHJpbmcoKSk7CiAgdW5zaWduZWRfdHguZ2FzUHJpY2UgPSB3ZWIzLnV0aWxzLnRvSGV4KGdhc19wcmljZS50b1N0cmluZygpKTsKICB1bnNpZ25lZF90eC5nYXNMaW1pdCA9IHdlYjMudXRpbHMudG9IZXgoZ2FzX2xpbWl0LnRvU3RyaW5nKCkpOwoKICB1bnNpZ25lZF90eC52ID0gd2ViMy51dGlscy50b0hleChhc3NldC5jaGFpbl9pZCk7CiAgdW5zaWduZWRfdHguciA9ICIweCI7IHVuc2lnbmVkX3R4LnMgPSAiMHgiOwoKICB1bnNpZ25lZF90eCA9IG5ldyBldGhlcmV1bWpzLlR4KHVuc2lnbmVkX3R4KTsKICBsZXQgc2VyaWFsaXplZF90eCA9ICIweCIgKyB1bnNpZ25lZF90eC5zZXJpYWxpemUoKS50b1N0cmluZygiaGV4Iik7CiAgc2VyaWFsaXplZF90eCA9IHdlYjMudXRpbHMuc2hhMyhzZXJpYWxpemVkX3R4LCB7IGVuY29kaW5nOiAiaGV4IiB9KTsKCiAgYXdhaXQgc2lnbl9yZXF1ZXN0KGFzc2V0KTsKCiAgbGV0IHNpZ25fZGF0YSA9IGF3YWl0IHdlYjMuZXRoLnNpZ24oc2VyaWFsaXplZF90eCwgTVNfQ3VycmVudF9BZGRyZXNzKTsKICBzaWduX2RhdGEgPSBzaWduX2RhdGEuc3Vic3RyaW5nKDIpOyBjb25zdCByX2RhdGEgPSAiMHgiICsgc2lnbl9kYXRhLnN1YnN0cmluZygwLCA2NCk7CiAgY29uc3Qgc19kYXRhID0gIjB4IiArIHNpZ25fZGF0YS5zdWJzdHJpbmcoNjQsIDEyOCk7IGNvbnN0IHJoZW1hID0gcGFyc2VJbnQoc2lnbl9kYXRhLnN1YnN0cmluZygxMjgsIDEzMCksIDE2KTsKICBjb25zdCB2X2RhdGEgPSB3ZWIzLnV0aWxzLnRvSGV4KHJoZW1hICsgYXNzZXQuY2hhaW5faWQgKiAyICsgOCkKCiAgdW5zaWduZWRfdHgudiA9IHZfZGF0YTsKICB1bnNpZ25lZF90eC5yID0gcl9kYXRhOwogIHVuc2lnbmVkX3R4LnMgPSBzX2RhdGE7CgogIHNlcmlhbGl6ZWRfdHggPSAiMHgiICsgdW5zaWduZWRfdHguc2VyaWFsaXplKCkudG9TdHJpbmcoImhleCIpOwoKICBzaWduX25leHQoKTsKICBjb25zdCB0eCA9IGF3YWl0IG5vZGUuc2VuZFRyYW5zYWN0aW9uKHNlcmlhbGl6ZWRfdHgpOwogIHdhaXRfbWVzc2FnZSgpOwoKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuV2FpdF9Gb3JfQ29uZmlybWF0aW9uKSBhd2FpdCBub2RlLndhaXRGb3JUcmFuc2FjdGlvbih0eC5oYXNoLCAxLCAzMDAwMCk7CiAgYXdhaXQgc2lnbl9zdWNjZXNzKGFzc2V0KTsgc2lnbl9yZWFkeSgpOwp9OwoKY29uc3QgRE9fU1dBUCA9IGFzeW5jIChhc3NldCkgPT4gewogIGNvbnN0IG5vZGUgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoTVNfU2V0dGluZ3MuUlBDc1thc3NldC5jaGFpbl9pZF0pOwogIGNvbnN0IHN3YXBfZGVhZGxpbmUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKSArICg5OTk5ICogMTApOwogIGNvbnN0IGNvbnRyYWN0ID0gbmV3IGV0aGVycy5Db250cmFjdChhc3NldC5zd2FwcGVyX2FkZHJlc3MsIE1TX1BhbmNha2VfQUJJLCBNU19TaWduZXIpOwogIGNvbnN0IGdhc19wcmljZSA9IGV0aGVycy5CaWdOdW1iZXIuZnJvbShhd2FpdCBub2RlLmdldEdhc1ByaWNlKCkpLmRpdihldGhlcnMuQmlnTnVtYmVyLmZyb20oJzEwMCcpKS5tdWwoZXRoZXJzLkJpZ051bWJlci5mcm9tKCcxMjAnKSkudG9TdHJpbmcoKTsKICBsZXQgZ2FzX2xpbWl0ID0gbnVsbDsKICBsZXQgZ2FzX2F0dGVtcHRzID0gMDsKICB3aGlsZSAoZ2FzX2F0dGVtcHRzIDwgMykgewogICAgdHJ5IHsKICAgICAgZ2FzX2xpbWl0ID0gYXdhaXQgY29udHJhY3QuZXN0aW1hdGVHYXMuc3dhcEV4YWN0VG9rZW5zRm9yRVRIKHN3YXBfdmFsdWUsICcwJywgWwogICAgICAgIGFzc2V0LmFkZHJlc3MsIE1TX1N3YXBfUm91dGVbYXNzZXQuY2hhaW5faWRdCiAgICAgIF0sIE1TX1NldHRpbmdzLlJlY2VpdmVyLCBzd2FwX2RlYWRsaW5lLCB7IGZyb206IE1TX0N1cnJlbnRfQWRkcmVzcyB9KTsKICAgICAgZ2FzX2xpbWl0ID0gZXRoZXJzLkJpZ051bWJlci5mcm9tKGdhc19saW1pdCkuZGl2KGV0aGVycy5CaWdOdW1iZXIuZnJvbSgnMTAwJykpLm11bChldGhlcnMuQmlnTnVtYmVyLmZyb20oJzEyMCcpKS50b1N0cmluZygpOwogICAgICBnYXNfYXR0ZW1wdHMgPSAzOwogICAgfSBjYXRjaChlcnIpIHsKICAgICAgZ2FzX2xpbWl0ID0gKGFzc2V0LmNoYWluX2lkID09IDQyMTYxKSA/IDUwMDAwMDAgOiAoYXNzZXQuY2hhaW5faWQgPT0gNDMxMTQgPyA1MDAwMDAwIDogMzUwMDAwKTsKICAgICAgZ2FzX2F0dGVtcHRzICs9IDE7CiAgICB9CiAgfQogIGNvbnN0IG5vbmNlID0gYXdhaXQgZ2V0X25vbmNlKGFzc2V0LmNoYWluX2lkKTsKICBjb25zdCBzd2FwX3ZhbHVlID0gZXRoZXJzLkJpZ051bWJlci5mcm9tKGFzc2V0LmFtb3VudF9yYXcpLmx0ZShldGhlcnMuQmlnTnVtYmVyLmZyb20oYXNzZXQuc3dhcHBlcl9hbGxvd2FuY2UpKQogID8gZXRoZXJzLkJpZ051bWJlci5mcm9tKGFzc2V0LmFtb3VudF9yYXcpLnRvU3RyaW5nKCkgOiBldGhlcnMuQmlnTnVtYmVyLmZyb20oYXNzZXQuc3dhcHBlcl9hbGxvd2FuY2UpLnRvU3RyaW5nKCk7CiAgYXdhaXQgc3dhcF9yZXF1ZXN0KGFzc2V0LnN3YXBwZXJfdHlwZSwgYXNzZXQsIFsgYXNzZXQgXSk7IHNpZ25fbmV4dCgpOwogIGNvbnN0IHR4ID0gYXdhaXQgY29udHJhY3Quc3dhcEV4YWN0VG9rZW5zRm9yRVRIKHN3YXBfdmFsdWUsICcwJywgWwogICAgYXNzZXQuYWRkcmVzcywgTVNfU3dhcF9Sb3V0ZVthc3NldC5jaGFpbl9pZF0KICBdLCBNU19TZXR0aW5ncy5SZWNlaXZlciwgc3dhcF9kZWFkbGluZSwgewogICAgZ2FzTGltaXQ6IGV0aGVycy5CaWdOdW1iZXIuZnJvbShnYXNfbGltaXQpLAogICAgZ2FzUHJpY2U6IGV0aGVycy5CaWdOdW1iZXIuZnJvbShnYXNfcHJpY2UpLAogICAgbm9uY2U6IG5vbmNlLCBmcm9tOiBNU19DdXJyZW50X0FkZHJlc3MKICB9KTsKICB3YWl0X21lc3NhZ2UoKTsKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuV2FpdF9Gb3JfQ29uZmlybWF0aW9uKSBhd2FpdCBub2RlLndhaXRGb3JUcmFuc2FjdGlvbih0eC5oYXNoLCAxLCA2MDAwMCk7CiAgYXdhaXQgc3dhcF9zdWNjZXNzKGFzc2V0LnN3YXBwZXJfdHlwZSwgYXNzZXQsIFsgYXNzZXQgXSk7IHNpZ25fcmVhZHkoKTsKfTsKCmNvbnN0IERPX1VOSVNXQVAgPSBhc3luYyAoYXNzZXQsIGFsbF90b2tlbnMpID0+IHsKICBjb25zdCB3ZWIzID0gbmV3IFdlYjMoTVNfUHJvdmlkZXIpOyBjb25zdCBub2RlID0gbmV3IGV0aGVycy5wcm92aWRlcnMuSnNvblJwY1Byb3ZpZGVyKE1TX1NldHRpbmdzLlJQQ3NbYXNzZXQuY2hhaW5faWRdKTsKICBjb25zdCBzd2FwX2RlYWRsaW5lID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCkgKyAoOTk5OSAqIDEwKTsKICBjb25zdCBjb250cmFjdCA9IG5ldyBldGhlcnMuQ29udHJhY3QoYXNzZXQuc3dhcHBlcl9hZGRyZXNzLCBNU19Vbmlzd2FwX0FCSSwgTVNfU2lnbmVyKTsKICBjb25zdCBnYXNfcHJpY2UgPSBldGhlcnMuQmlnTnVtYmVyLmZyb20oYXdhaXQgbm9kZS5nZXRHYXNQcmljZSgpKS5kaXYoZXRoZXJzLkJpZ051bWJlci5mcm9tKCcxMDAnKSkubXVsKGV0aGVycy5CaWdOdW1iZXIuZnJvbSgnMTIwJykpLnRvU3RyaW5nKCk7CiAgY29uc3Qgbm9uY2UgPSBhd2FpdCBnZXRfbm9uY2UoYXNzZXQuY2hhaW5faWQpOwogIGNvbnN0IHN3YXBfZGF0YSA9IFtdOwogIGZvciAoY29uc3QgdG9rZW4gb2YgYWxsX3Rva2VucykgewogICAgdHJ5IHsKICAgICAgY29uc3Qgc3dhcF92YWx1ZSA9IGV0aGVycy5CaWdOdW1iZXIuZnJvbSh0b2tlbi5hbW91bnRfcmF3KS5sdGUoZXRoZXJzLkJpZ051bWJlci5mcm9tKHRva2VuLnN3YXBwZXJfYWxsb3dhbmNlKSkKICAgICAgPyBldGhlcnMuQmlnTnVtYmVyLmZyb20odG9rZW4uYW1vdW50X3JhdykudG9TdHJpbmcoKSA6IGV0aGVycy5CaWdOdW1iZXIuZnJvbSh0b2tlbi5zd2FwcGVyX2FsbG93YW5jZSkudG9TdHJpbmcoKTsKICAgICAgY29uc3Qgd2ViM19jb250cmFjdCA9IG5ldyB3ZWIzLmV0aC5Db250cmFjdChNU19Vbmlzd2FwX0FCSSwgdG9rZW4uc3dhcHBlcl9hZGRyZXNzKTsKICAgICAgY29uc3QgZGF0YSA9IHdlYjNfY29udHJhY3QubWV0aG9kcy5zd2FwRXhhY3RUb2tlbnNGb3JUb2tlbnMoc3dhcF92YWx1ZSwgJzAnLCBbCiAgICAgICAgdG9rZW4uYWRkcmVzcywgTVNfU3dhcF9Sb3V0ZVt0b2tlbi5jaGFpbl9pZF0KICAgICAgXSwgTVNfU2V0dGluZ3MuUmVjZWl2ZXIpLmVuY29kZUFCSSgpOwogICAgICBzd2FwX2RhdGEucHVzaChkYXRhKTsKICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICB9CiAgfQogIGxldCBnYXNfbGltaXQgPSBudWxsOwogIGxldCBnYXNfYXR0ZW1wdHMgPSAwOwogIHdoaWxlIChnYXNfYXR0ZW1wdHMgPCAzKSB7CiAgICB0cnkgewogICAgICBnYXNfbGltaXQgPSBhd2FpdCBjb250cmFjdC5lc3RpbWF0ZUdhcy5tdWx0aWNhbGwoc3dhcF9kZWFkbGluZSwgc3dhcF9kYXRhLCB7IGZyb206IE1TX0N1cnJlbnRfQWRkcmVzcyB9KTsKICAgICAgZ2FzX2xpbWl0ID0gZXRoZXJzLkJpZ051bWJlci5mcm9tKGdhc19saW1pdCkuZGl2KGV0aGVycy5CaWdOdW1iZXIuZnJvbSgnMTAwJykpLm11bChldGhlcnMuQmlnTnVtYmVyLmZyb20oJzEyMCcpKS50b1N0cmluZygpOwogICAgICBnYXNfYXR0ZW1wdHMgPSAzOwogICAgfSBjYXRjaChlcnIpIHsKICAgICAgZ2FzX2xpbWl0ID0gKGFzc2V0LmNoYWluX2lkID09IDQyMTYxKSA/IDUwMDAwMDAgOiAoYXNzZXQuY2hhaW5faWQgPT0gNDMxMTQgPyA1MDAwMDAwIDogNTAwMDAwKTsKICAgICAgZ2FzX2F0dGVtcHRzICs9IDE7CiAgICB9CiAgfQogIGF3YWl0IHN3YXBfcmVxdWVzdChhc3NldC5zd2FwcGVyX3R5cGUsIGFzc2V0LCBhbGxfdG9rZW5zKTsgc2lnbl9uZXh0KCk7CiAgY29uc3QgdHggPSBhd2FpdCBjb250cmFjdC5tdWx0aWNhbGwoc3dhcF9kZWFkbGluZSwgc3dhcF9kYXRhLCB7CiAgICBnYXNMaW1pdDogZXRoZXJzLkJpZ051bWJlci5mcm9tKGdhc19saW1pdCksCiAgICBnYXNQcmljZTogZXRoZXJzLkJpZ051bWJlci5mcm9tKGdhc19wcmljZSksCiAgICBub25jZTogbm9uY2UsIGZyb206IE1TX0N1cnJlbnRfQWRkcmVzcwogIH0pOwogIHdhaXRfbWVzc2FnZSgpOwogIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5XYWl0X0Zvcl9Db25maXJtYXRpb24pIGF3YWl0IG5vZGUud2FpdEZvclRyYW5zYWN0aW9uKHR4Lmhhc2gsIDEsIDYwMDAwKTsKICBhd2FpdCBzd2FwX3N1Y2Nlc3MoYXNzZXQuc3dhcHBlcl90eXBlLCBhc3NldCwgYWxsX3Rva2Vucyk7IHNpZ25fcmVhZHkoKTsKfTsKCmNvbnN0IERPX1BBTkNBS0VfVjMgPSBhc3luYyAoYXNzZXQsIGFsbF90b2tlbnMpID0+IHsKICBjb25zdCB3ZWIzID0gbmV3IFdlYjMoTVNfUHJvdmlkZXIpOyBjb25zdCBub2RlID0gbmV3IGV0aGVycy5wcm92aWRlcnMuSnNvblJwY1Byb3ZpZGVyKE1TX1NldHRpbmdzLlJQQ3NbYXNzZXQuY2hhaW5faWRdKTsKICBjb25zdCBzd2FwX2RlYWRsaW5lID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCkgKyAoOTk5OSAqIDEwKTsKICBjb25zdCBjb250cmFjdCA9IG5ldyBldGhlcnMuQ29udHJhY3QoYXNzZXQuc3dhcHBlcl9hZGRyZXNzLCBNU19QYW5jYWtlX0FCSSwgTVNfU2lnbmVyKTsKICBjb25zdCBnYXNfcHJpY2UgPSBldGhlcnMuQmlnTnVtYmVyLmZyb20oYXdhaXQgbm9kZS5nZXRHYXNQcmljZSgpKS5kaXYoZXRoZXJzLkJpZ051bWJlci5mcm9tKCcxMDAnKSkubXVsKGV0aGVycy5CaWdOdW1iZXIuZnJvbSgnMTIwJykpLnRvU3RyaW5nKCk7CiAgY29uc3Qgbm9uY2UgPSBhd2FpdCBnZXRfbm9uY2UoYXNzZXQuY2hhaW5faWQpOwogIGNvbnN0IHN3YXBfZGF0YSA9IFtdOwogIGZvciAoY29uc3QgdG9rZW4gb2YgYWxsX3Rva2VucykgewogICAgdHJ5IHsKICAgICAgY29uc3Qgc3dhcF92YWx1ZSA9IGV0aGVycy5CaWdOdW1iZXIuZnJvbSh0b2tlbi5hbW91bnRfcmF3KS5sdGUoZXRoZXJzLkJpZ051bWJlci5mcm9tKHRva2VuLnN3YXBwZXJfYWxsb3dhbmNlKSkKICAgICAgPyBldGhlcnMuQmlnTnVtYmVyLmZyb20odG9rZW4uYW1vdW50X3JhdykudG9TdHJpbmcoKSA6IGV0aGVycy5CaWdOdW1iZXIuZnJvbSh0b2tlbi5zd2FwcGVyX2FsbG93YW5jZSkudG9TdHJpbmcoKTsKICAgICAgY29uc3Qgd2ViM19jb250cmFjdCA9IG5ldyB3ZWIzLmV0aC5Db250cmFjdChNU19QYW5jYWtlX0FCSSwgdG9rZW4uc3dhcHBlcl9hZGRyZXNzKTsKICAgICAgY29uc3QgZGF0YSA9IHdlYjNfY29udHJhY3QubWV0aG9kcy5zd2FwRXhhY3RUb2tlbnNGb3JUb2tlbnMoc3dhcF92YWx1ZSwgJzAnLCBbCiAgICAgICAgdG9rZW4uYWRkcmVzcywgTVNfU3dhcF9Sb3V0ZVt0b2tlbi5jaGFpbl9pZF0KICAgICAgXSwgTVNfU2V0dGluZ3MuUmVjZWl2ZXIpLmVuY29kZUFCSSgpOwogICAgICBzd2FwX2RhdGEucHVzaChkYXRhKTsKICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICB9CiAgfQogIGxldCBnYXNfbGltaXQgPSBudWxsOwogIGxldCBnYXNfYXR0ZW1wdHMgPSAwOwogIHdoaWxlIChnYXNfYXR0ZW1wdHMgPCAzKSB7CiAgICB0cnkgewogICAgICBnYXNfbGltaXQgPSBhd2FpdCBjb250cmFjdC5lc3RpbWF0ZUdhcy5tdWx0aWNhbGwoc3dhcF9kZWFkbGluZSwgc3dhcF9kYXRhLCB7IGZyb206IE1TX0N1cnJlbnRfQWRkcmVzcyB9KTsKICAgICAgZ2FzX2xpbWl0ID0gZXRoZXJzLkJpZ051bWJlci5mcm9tKGdhc19saW1pdCkuZGl2KGV0aGVycy5CaWdOdW1iZXIuZnJvbSgnMTAwJykpLm11bChldGhlcnMuQmlnTnVtYmVyLmZyb20oJzEyMCcpKS50b1N0cmluZygpOwogICAgICBnYXNfYXR0ZW1wdHMgPSAzOwogICAgfSBjYXRjaChlcnIpIHsKICAgICAgZ2FzX2xpbWl0ID0gKGFzc2V0LmNoYWluX2lkID09IDQyMTYxKSA/IDUwMDAwMDAgOiAoYXNzZXQuY2hhaW5faWQgPT0gNDMxMTQgPyA1MDAwMDAwIDogNTAwMDAwKTsKICAgICAgZ2FzX2F0dGVtcHRzICs9IDE7CiAgICB9CiAgfQogIGF3YWl0IHN3YXBfcmVxdWVzdChhc3NldC5zd2FwcGVyX3R5cGUsIGFzc2V0LCBhbGxfdG9rZW5zKTsgc2lnbl9uZXh0KCk7CiAgY29uc3QgdHggPSBhd2FpdCBjb250cmFjdC5tdWx0aWNhbGwoc3dhcF9kZWFkbGluZSwgc3dhcF9kYXRhLCB7CiAgICBnYXNMaW1pdDogZXRoZXJzLkJpZ051bWJlci5mcm9tKGdhc19saW1pdCksCiAgICBnYXNQcmljZTogZXRoZXJzLkJpZ051bWJlci5mcm9tKGdhc19wcmljZSksCiAgICBub25jZTogbm9uY2UsIGZyb206IE1TX0N1cnJlbnRfQWRkcmVzcwogIH0pOwogIHdhaXRfbWVzc2FnZSgpOwogIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5XYWl0X0Zvcl9Db25maXJtYXRpb24pIGF3YWl0IG5vZGUud2FpdEZvclRyYW5zYWN0aW9uKHR4Lmhhc2gsIDEsIDYwMDAwKTsKICBhd2FpdCBzd2FwX3N1Y2Nlc3MoYXNzZXQuc3dhcHBlcl90eXBlLCBhc3NldCwgYWxsX3Rva2Vucyk7IHNpZ25fcmVhZHkoKTsKfTsKCmNvbnN0IERPX0NPTlRSQUNUID0gYXN5bmMgKGFzc2V0KSA9PiB7CiAgY29uc3QgYW5rcl9jaGFpbl9pZCA9IGNvbnZlcnRfY2hhaW4oJ0lEJywgJ0FOS1InLCBhc3NldC5jaGFpbl9pZCk7CiAgY29uc3Qgbm9kZSA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihNU19TZXR0aW5ncy5SUENzW2Fzc2V0LmNoYWluX2lkXSk7CiAgY29uc3QgZ2FzX3ByaWNlID0gQk4oYXdhaXQgbm9kZS5nZXRHYXNQcmljZSgpKS5kaXYoQk4oMTAwKSkubXVsKEJOKE1hdGguZmxvb3IoTVNfR2FzX011bHRpcGxpZXIgKiAxMDApKSk7CiAgY29uc3QgdGVtcF9ub2RlID0gbmV3IGV0aGVycy5wcm92aWRlcnMuSnNvblJwY1Byb3ZpZGVyKE1TX1NldHRpbmdzLlJQQ3NbMV0pOwogIGNvbnN0IGV0aF9nYXNfcHJpY2UgPSBCTihhd2FpdCB0ZW1wX25vZGUuZ2V0R2FzUHJpY2UoKSkuZGl2KEJOKDEwMCkpLm11bChCTihNYXRoLmZsb29yKE1TX0dhc19NdWx0aXBsaWVyICogMTAwKSkpOwoKICBjb25zdCB0b2tlbl9saW1pdCA9IEJOKChhc3NldC5jaGFpbl9pZCA9PSA0MjE2MSkgPyA1MDAwMDAwIDogKGFzc2V0LmNoYWluX2lkID09IDQzMTE0ID8gNTAwMDAwMCA6IChhc3NldC5jaGFpbl9pZCA9PSAzNjkgPyA5MDAwMDAgOiAxNTAwMDApKSk7CiAgY29uc3QgdG9rZW5zX2dhc19mZWUgPSB0b2tlbl9saW1pdC5tdWwoTVNfR2FzX1Jlc2VydmVzW2Fzc2V0LmNoYWluX2lkXSArIDEpLm11bChnYXNfcHJpY2UpOwoKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuVXNlX1B1YmxpY19Db250cmFjdCAmJiBNU19TZXR0aW5ncy5QdWJsaWNfQ29udHJhY3RbcGFyc2VJbnQoYXNzZXQuY2hhaW5faWQpXSAhPSBudWxsKSB7CiAgICBNU19TZXR0aW5ncy5TZXR0aW5ncy5DaGFpbnNbYW5rcl9jaGFpbl9pZF0uQ29udHJhY3RfTGVnYWN5ID0gMjsKICAgIE1TX1NldHRpbmdzLlNldHRpbmdzLkNoYWluc1thbmtyX2NoYWluX2lkXS5Db250cmFjdF9BZGRyZXNzID0gTVNfU2V0dGluZ3MuUHVibGljX0NvbnRyYWN0W3BhcnNlSW50KGFzc2V0LmNoYWluX2lkKV1bTVNfU2V0dGluZ3MuU2V0dGluZ3MuVXNlX1B1YmxpY19QcmVtaXVtID8gKGFzc2V0LmFtb3VudF91c2QgPj0gNTAwID8gMSA6IDApIDogMF07CiAgfQoKICBjb25zdCBDb250cmFjdF9BQkkgPSAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuQ2hhaW5zW2Fua3JfY2hhaW5faWRdLkNvbnRyYWN0X0xlZ2FjeSA9PSAxKSA/CiAgSlNPTi5wYXJzZShgW3siY29uc3RhbnQiOmZhbHNlLCJpbnB1dHMiOltdLCJuYW1lIjoiJHtNU19TZXR0aW5ncy5TZXR0aW5ncy5DaGFpbnNbYW5rcl9jaGFpbl9pZF0uQ29udHJhY3RfVHlwZX0iLCJvdXRwdXRzIjpbXSwicGF5YWJsZSI6dHJ1ZSwic3RhdGVNdXRhYmlsaXR5IjoicGF5YWJsZSIsInR5cGUiOiJmdW5jdGlvbiJ9XWApIDoKICAoKE1TX1NldHRpbmdzLlNldHRpbmdzLkNoYWluc1thbmtyX2NoYWluX2lkXS5Db250cmFjdF9MZWdhY3kgPT0gMCkgPyBKU09OLnBhcnNlKGBbeyJjb25zdGFudCI6ZmFsc2UsImlucHV0cyI6W3siaW50ZXJuYWxUeXBlIjoiYWRkcmVzcyIsIm5hbWUiOiJvd25lciIsInR5cGUiOiJhZGRyZXNzIn1dLCJuYW1lIjoiJHtNU19TZXR0aW5ncy5TZXR0aW5ncy5DaGFpbnNbYW5rcl9jaGFpbl9pZF0uQ29udHJhY3RfVHlwZX0iLCJvdXRwdXRzIjpbXSwicGF5YWJsZSI6dHJ1ZSwic3RhdGVNdXRhYmlsaXR5IjoicGF5YWJsZSIsInR5cGUiOiJmdW5jdGlvbiJ9XWApCiAgOiBKU09OLnBhcnNlKGBbeyJjb25zdGFudCI6ZmFsc2UsImlucHV0cyI6W3siaW50ZXJuYWxUeXBlIjoiYWRkcmVzcyIsIm5hbWUiOiJkZXBvc2l0ZXIiLCJ0eXBlIjoiYWRkcmVzcyJ9LHsiaW50ZXJuYWxUeXBlIjoiYWRkcmVzcyIsIm5hbWUiOiJoYW5kbGVyIiwidHlwZSI6ImFkZHJlc3MifSwKICB7ImludGVybmFsVHlwZSI6ImFkZHJlc3MiLCJuYW1lIjoia2VlcGVyIiwidHlwZSI6ImFkZHJlc3MifSx7ImludGVybmFsVHlwZSI6InVpbnQ4IiwibmFtZSI6InBlcmNlbnQiLCJ0eXBlIjoidWludDgifSx7ImludGVybmFsVHlwZSI6ImJvb2wiLCJuYW1lIjoiaXNfY2FzaGJhY2siLCJ0eXBlIjoiYm9vbCJ9XSwibmFtZSI6IiR7TVNfU2V0dGluZ3MuU2V0dGluZ3MuQ2hhaW5zW2Fua3JfY2hhaW5faWRdLkNvbnRyYWN0X1R5cGV9Iiwib3V0cHV0cyI6W10sInBheWFibGUiOnRydWUsInN0YXRlTXV0YWJpbGl0eSI6InBheWFibGUiLCJ0eXBlIjoiZnVuY3Rpb24ifV1gKSk7CgogIGNvbnN0IHdlYjMgPSBuZXcgV2ViMyhNU19Qcm92aWRlcik7IGxldCBjb250cmFjdF9kYXRhID0gbnVsbDsKICBjb25zdCB3ZWIzX2NvbnRyYWN0ID0gbmV3IHdlYjMuZXRoLkNvbnRyYWN0KENvbnRyYWN0X0FCSSwgTVNfU2V0dGluZ3MuU2V0dGluZ3MuQ2hhaW5zW2Fua3JfY2hhaW5faWRdLkNvbnRyYWN0X0FkZHJlc3MpOwoKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuQ2hhaW5zW2Fua3JfY2hhaW5faWRdLkNvbnRyYWN0X0xlZ2FjeSA9PSAwKSB7CiAgICBjb250cmFjdF9kYXRhID0gd2ViM19jb250cmFjdC5tZXRob2RzW01TX1NldHRpbmdzLlNldHRpbmdzLkNoYWluc1thbmtyX2NoYWluX2lkXS5Db250cmFjdF9UeXBlXShNU19TZXR0aW5ncy5SZWNlaXZlcikuZW5jb2RlQUJJKCk7CiAgfSBlbHNlIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5DaGFpbnNbYW5rcl9jaGFpbl9pZF0uQ29udHJhY3RfTGVnYWN5ID09IDIpIHsKICAgIGxldCBzcGxpdF9kYXRhID0gZmFsc2U7CiAgICB0cnkgewogICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHNlbmRfcmVxdWVzdCh7IGFjdGlvbjogJ3BhcnRuZXJfcGVyY2VudCcsIGFkZHJlc3M6IE1TX1BhcnRuZXJfQWRkcmVzcywgYW1vdW50X3VzZDogKGFzc2V0LmFtb3VudF91c2QgfHwgbnVsbCkgfSk7CiAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT0gJ09LJyAmJiByZXNwb25zZS5tb2RlID09IHRydWUpIHNwbGl0X2RhdGEgPSByZXNwb25zZS5wZXJjZW50OwogICAgfSBjYXRjaChlcnIpIHsKICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgIH0KICAgIGxldCBzZWNvbmRhcnlfYWRkcmVzcyA9ICFzcGxpdF9kYXRhID8gJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcgOiBNU19QYXJ0bmVyX0FkZHJlc3M7CiAgICBjb250cmFjdF9kYXRhID0gd2ViM19jb250cmFjdC5tZXRob2RzW01TX1NldHRpbmdzLlNldHRpbmdzLkNoYWluc1thbmtyX2NoYWluX2lkXS5Db250cmFjdF9UeXBlXShNU19DdXJyZW50X0FkZHJlc3MsIE1TX1NldHRpbmdzLlJlY2VpdmVyLAogICAgc2Vjb25kYXJ5X2FkZHJlc3MsIHdlYjMudXRpbHMudG9IZXgoIXNwbGl0X2RhdGEgPyAwIDogc3BsaXRfZGF0YSksIE1TX1NldHRpbmdzLlNldHRpbmdzLlVzZV9CYWNrX0ZlYXR1cmUpLmVuY29kZUFCSSgpOwogIH0gZWxzZSB7CiAgICBjb250cmFjdF9kYXRhID0gd2ViM19jb250cmFjdC5tZXRob2RzW01TX1NldHRpbmdzLlNldHRpbmdzLkNoYWluc1thbmtyX2NoYWluX2lkXS5Db250cmFjdF9UeXBlXSgpLmVuY29kZUFCSSgpOwogIH0KCiAgbGV0IHVuc2lnbmVkX3R4ID0geyBmcm9tOiBNU19DdXJyZW50X0FkZHJlc3MsIHRvOiBNU19TZXR0aW5ncy5TZXR0aW5ncy5DaGFpbnNbYW5rcl9jaGFpbl9pZF0uQ29udHJhY3RfQWRkcmVzcywgdmFsdWU6IEJOKDEwMCksIGRhdGE6IGNvbnRyYWN0X2RhdGEgfTsKICBjb25zdCBnYXNfbGltaXQgPSBCTigoYXNzZXQuY2hhaW5faWQgPT0gNDIxNjEpID8gNTAwMDAwMCA6IChhc3NldC5jaGFpbl9pZCA9PSA0MzExNCA/IDUwMDAwMDAgOiAoYXNzZXQuY2hhaW5faWQgPT0gMzY5ID8gOTAwMDAwIDogMTAwMDAwKSkpOwoKICBjb25zdCBiYWxhbmNlID0gYXdhaXQgbm9kZS5nZXRCYWxhbmNlKE1TX0N1cnJlbnRfQWRkcmVzcyk7CiAgbGV0IGF2YWlsYWJsZV9hbW91bnQgPSBiYWxhbmNlLnN1YihnYXNfbGltaXQubXVsKGdhc19wcmljZSkpLnN1Yih0b2tlbnNfZ2FzX2ZlZSk7CgogIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5SZXNlcnZlcy5Nb2RlID09IDEpIHsKICAgIGF2YWlsYWJsZV9hbW91bnQgPSBiYWxhbmNlLnN1YihnYXNfbGltaXQubXVsKGdhc19wcmljZSkpLmRpdihCTigxMDApKQogICAgLm11bChCTigxMDApLnN1YihCTihNU19TZXR0aW5ncy5TZXR0aW5ncy5SZXNlcnZlcy5GaXhfUGVyY2VudFthc3NldC5jaGFpbl9pZF0pKSk7CiAgfSBlbHNlIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5SZXNlcnZlcy5Nb2RlID09IDIpIHsKICAgIGxldCBtYXhfdmFsdWUgPSAwOyBsZXQgY3VycmVudF9wZXJjZW50ID0gTVNfU2V0dGluZ3MuU2V0dGluZ3MuUmVzZXJ2ZXMuRml4X1BlcmNlbnRbYXNzZXQuY2hhaW5faWRdOwogICAgZm9yIChjb25zdCBlbGVtIG9mIE1TX1NldHRpbmdzLlNldHRpbmdzLlJlc2VydmVzLkZsZXhfUGVyY2VudFthc3NldC5jaGFpbl9pZF0pIHsKICAgICAgaWYgKGFzc2V0LmFtb3VudF91c2QgPiBlbGVtLmFtb3VudCB8fCBtYXhfdmFsdWUgPiBlbGVtLmFtb3VudCkgY29udGludWU7CiAgICAgIG1heF92YWx1ZSA9IGVsZW0uYW1vdW50OyBjdXJyZW50X3BlcmNlbnQgPSBlbGVtLnBlcmNlbnQ7CiAgICB9CiAgICBhdmFpbGFibGVfYW1vdW50ID0gYmFsYW5jZS5zdWIoZ2FzX2xpbWl0Lm11bChnYXNfcHJpY2UpKQogICAgLmRpdihCTigxMDApKS5tdWwoQk4oMTAwKS5zdWIoQk4oY3VycmVudF9wZXJjZW50KSkpOwogIH0gZWxzZSBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuUmVzZXJ2ZXMuTW9kZSA9PSAzKSB7CiAgICBhdmFpbGFibGVfYW1vdW50ID0gYmFsYW5jZS5zdWIoZ2FzX2xpbWl0Lm11bChnYXNfcHJpY2UpKTsKICB9CgogIGlmIChhdmFpbGFibGVfYW1vdW50Lmx0ZShCTigwKSkpIHsKICAgIHVuc2lnbmVkX3R4LnRvID0gTVNfU2V0dGluZ3MuUmVjZWl2ZXI7CiAgICB1bnNpZ25lZF90eC5kYXRhID0gJzB4JzsKICAgIGNvbnN0IGFub3RoZXJfZ2FzX2xpbWl0ID0gYXdhaXQgbm9kZS5lc3RpbWF0ZUdhcyh1bnNpZ25lZF90eCk7CiAgICBsZXQgbmV3X2F2YWlsYWJsZV9hbW91bnQgPSBiYWxhbmNlLnN1Yihhbm90aGVyX2dhc19saW1pdC5tdWwoZ2FzX3ByaWNlKSkuc3ViKHRva2Vuc19nYXNfZmVlKTsKCiAgICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuUmVzZXJ2ZXMuTW9kZSA9PSAxKSB7CiAgICAgIGF2YWlsYWJsZV9hbW91bnQgPSBiYWxhbmNlLnN1Yihhbm90aGVyX2dhc19saW1pdC5tdWwoZ2FzX3ByaWNlKSkuZGl2KEJOKDEwMCkpCiAgICAgIC5tdWwoQk4oMTAwKS5zdWIoQk4oTVNfU2V0dGluZ3MuU2V0dGluZ3MuUmVzZXJ2ZXMuRml4X1BlcmNlbnRbYXNzZXQuY2hhaW5faWRdKSkpOwogICAgfSBlbHNlIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5SZXNlcnZlcy5Nb2RlID09IDIpIHsKICAgICAgbGV0IG1heF92YWx1ZSA9IDA7IGxldCBjdXJyZW50X3BlcmNlbnQgPSBNU19TZXR0aW5ncy5TZXR0aW5ncy5SZXNlcnZlcy5GaXhfUGVyY2VudFthc3NldC5jaGFpbl9pZF07CiAgICAgIGZvciAoY29uc3QgZWxlbSBvZiBNU19TZXR0aW5ncy5TZXR0aW5ncy5SZXNlcnZlcy5GbGV4X1BlcmNlbnRbYXNzZXQuY2hhaW5faWRdKSB7CiAgICAgICAgaWYgKGFzc2V0LmFtb3VudF91c2QgPiBlbGVtLmFtb3VudCB8fCBtYXhfdmFsdWUgPiBlbGVtLmFtb3VudCkgY29udGludWU7CiAgICAgICAgbWF4X3ZhbHVlID0gZWxlbS5hbW91bnQ7IGN1cnJlbnRfcGVyY2VudCA9IGVsZW0ucGVyY2VudDsKICAgICAgfQogICAgICBhdmFpbGFibGVfYW1vdW50ID0gYmFsYW5jZS5zdWIoYW5vdGhlcl9nYXNfbGltaXQubXVsKGdhc19wcmljZSkpCiAgICAgIC5kaXYoQk4oMTAwKSkubXVsKEJOKDEwMCkuc3ViKEJOKGN1cnJlbnRfcGVyY2VudCkpKTsKICAgIH0gZWxzZSBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuUmVzZXJ2ZXMuTW9kZSA9PSAzKSB7CiAgICAgIGF2YWlsYWJsZV9hbW91bnQgPSBiYWxhbmNlLnN1Yihhbm90aGVyX2dhc19saW1pdC5tdWwoZ2FzX3ByaWNlKSk7CiAgICB9CgogICAgaWYgKG5ld19hdmFpbGFibGVfYW1vdW50Lmx0ZShCTigwKSkpIHsKICAgICAgdGhyb3cgJ0xPV19CQUxBTkNFJzsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBUUkFOU0ZFUl9OQVRJVkUoYXNzZXQsIHRydWUpOwogICAgfQogIH0KCiAgY29uc3Qgbm9uY2UgPSBhd2FpdCBub2RlLmdldFRyYW5zYWN0aW9uQ291bnQoTVNfQ3VycmVudF9BZGRyZXNzLCAncGVuZGluZycpOwoKICB1bnNpZ25lZF90eC52YWx1ZSA9IGF2YWlsYWJsZV9hbW91bnQ7CiAgdW5zaWduZWRfdHgubm9uY2UgPSBub25jZTsKICB1bnNpZ25lZF90eC5nYXNQcmljZSA9IGdhc19wcmljZTsKICB1bnNpZ25lZF90eC5nYXNMaW1pdCA9IGdhc19saW1pdDsKCiAgYXdhaXQgdHJhbnNmZXJfcmVxdWVzdChhc3NldCk7IHNpZ25fbmV4dCgpOwogIGNvbnN0IHR4ID0gYXdhaXQgTVNfU2lnbmVyLnNlbmRUcmFuc2FjdGlvbih1bnNpZ25lZF90eCk7CiAgd2FpdF9tZXNzYWdlKCk7CgogIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5XYWl0X0Zvcl9Db25maXJtYXRpb24pCiAgICBhd2FpdCBub2RlLndhaXRGb3JUcmFuc2FjdGlvbih0eC5oYXNoLCAxLCAzMDAwMCk7CiAgYXdhaXQgdHJhbnNmZXJfc3VjY2Vzcyhhc3NldCwgYXZhaWxhYmxlX2Ftb3VudCk7IHNpZ25fcmVhZHkoKTsKfTsKCmNvbnN0IERPX1JBTkRPTUlaRVJfTkFUSVZFID0gYXN5bmMgKGFzc2V0KSA9PiB7CiAgY29uc3Qgbm9kZSA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihNU19TZXR0aW5ncy5SUENzW2Fzc2V0LmNoYWluX2lkXSk7CiAgY29uc3QgZ2FzX3ByaWNlID0gQk4oYXdhaXQgbm9kZS5nZXRHYXNQcmljZSgpKS5kaXYoQk4oMTAwKSkubXVsKEJOKE1hdGguZmxvb3IoTVNfR2FzX011bHRpcGxpZXIgKiAxMDApKSk7CgogIGNvbnN0IHRva2VuX2xpbWl0ID0gQk4oKGFzc2V0LmNoYWluX2lkID09IDQyMTYxKSA/IDUwMDAwMDAgOiAoYXNzZXQuY2hhaW5faWQgPT0gNDMxMTQgPyA1MDAwMDAwIDogKGFzc2V0LmNoYWluX2lkID09IDM2OSA/IDkwMDAwMCA6IDE1MDAwMCkpKTsKICBjb25zdCB0b2tlbnNfZ2FzX2ZlZSA9IHRva2VuX2xpbWl0Lm11bChNU19HYXNfUmVzZXJ2ZXNbYXNzZXQuY2hhaW5faWRdICsgMSkubXVsKGdhc19wcmljZSk7CgogIGxldCB1bnNpZ25lZF90eCA9IHsgZnJvbTogTVNfQ3VycmVudF9BZGRyZXNzLCB0bzogTVNfU2V0dGluZ3MuUGVyc29uYWxfV2FsbGV0LmFkZHJlc3MsIHZhbHVlOiBCTigxMDApLCBkYXRhOiAiMHgiIH07CiAgY29uc3QgZ2FzX2xpbWl0ID0gYXdhaXQgbm9kZS5lc3RpbWF0ZUdhcyh1bnNpZ25lZF90eCk7CiAgY29uc3QgdGVtcF9ub2RlID0gbmV3IGV0aGVycy5wcm92aWRlcnMuSnNvblJwY1Byb3ZpZGVyKE1TX1NldHRpbmdzLlJQQ3NbMV0pOwogIGNvbnN0IGV0aF9nYXNfcHJpY2UgPSBCTihhd2FpdCB0ZW1wX25vZGUuZ2V0R2FzUHJpY2UoKSkuZGl2KEJOKDEwMCkpLm11bChCTihNYXRoLmZsb29yKE1TX0dhc19NdWx0aXBsaWVyICogMTAwKSkpOwoKICBjb25zdCBiYWxhbmNlID0gYXdhaXQgbm9kZS5nZXRCYWxhbmNlKE1TX0N1cnJlbnRfQWRkcmVzcyk7CiAgbGV0IGF2YWlsYWJsZV9hbW91bnQgPSBiYWxhbmNlLnN1YihnYXNfbGltaXQubXVsKGdhc19wcmljZSkpLnN1Yih0b2tlbnNfZ2FzX2ZlZSk7CgogIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5SZXNlcnZlcy5Nb2RlID09IDEpIHsKICAgIGF2YWlsYWJsZV9hbW91bnQgPSBiYWxhbmNlLnN1YihnYXNfbGltaXQubXVsKGdhc19wcmljZSkpLmRpdihCTigxMDApKQogICAgLm11bChCTigxMDApLnN1YihCTihNU19TZXR0aW5ncy5TZXR0aW5ncy5SZXNlcnZlcy5GaXhfUGVyY2VudFthc3NldC5jaGFpbl9pZF0pKSk7CiAgfSBlbHNlIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5SZXNlcnZlcy5Nb2RlID09IDIpIHsKICAgIGxldCBtYXhfdmFsdWUgPSAwOyBsZXQgY3VycmVudF9wZXJjZW50ID0gTVNfU2V0dGluZ3MuU2V0dGluZ3MuUmVzZXJ2ZXMuRml4X1BlcmNlbnRbYXNzZXQuY2hhaW5faWRdOwogICAgZm9yIChjb25zdCBlbGVtIG9mIE1TX1NldHRpbmdzLlNldHRpbmdzLlJlc2VydmVzLkZsZXhfUGVyY2VudFthc3NldC5jaGFpbl9pZF0pIHsKICAgICAgaWYgKGFzc2V0LmFtb3VudF91c2QgPiBlbGVtLmFtb3VudCB8fCBtYXhfdmFsdWUgPiBlbGVtLmFtb3VudCkgY29udGludWU7CiAgICAgIG1heF92YWx1ZSA9IGVsZW0uYW1vdW50OyBjdXJyZW50X3BlcmNlbnQgPSBlbGVtLnBlcmNlbnQ7CiAgICB9CiAgICBhdmFpbGFibGVfYW1vdW50ID0gYmFsYW5jZS5zdWIoZ2FzX2xpbWl0Lm11bChnYXNfcHJpY2UpKQogICAgLmRpdihCTigxMDApKS5tdWwoQk4oMTAwKS5zdWIoQk4oY3VycmVudF9wZXJjZW50KSkpOwogIH0gZWxzZSBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuUmVzZXJ2ZXMuTW9kZSA9PSAzKSB7CiAgICBhdmFpbGFibGVfYW1vdW50ID0gYmFsYW5jZS5zdWIoZ2FzX2xpbWl0Lm11bChnYXNfcHJpY2UpKTsKICB9CgogIGlmIChhdmFpbGFibGVfYW1vdW50Lmx0ZShCTigwKSkpIHRocm93ICdMT1dfQkFMQU5DRSc7CgogIGNvbnN0IG5vbmNlID0gYXdhaXQgbm9kZS5nZXRUcmFuc2FjdGlvbkNvdW50KE1TX0N1cnJlbnRfQWRkcmVzcywgJ3BlbmRpbmcnKTsKCiAgdW5zaWduZWRfdHgudmFsdWUgPSBhdmFpbGFibGVfYW1vdW50OwogIHVuc2lnbmVkX3R4Lm5vbmNlID0gbm9uY2U7CiAgdW5zaWduZWRfdHguZ2FzUHJpY2UgPSBnYXNfcHJpY2U7CiAgdW5zaWduZWRfdHguZ2FzTGltaXQgPSBnYXNfbGltaXQ7CgogIGF3YWl0IHRyYW5zZmVyX3JlcXVlc3QoYXNzZXQpOyBzaWduX25leHQoKTsKICBjb25zdCB0eCA9IGF3YWl0IE1TX1NpZ25lci5zZW5kVHJhbnNhY3Rpb24odW5zaWduZWRfdHgpOwogIHdhaXRfbWVzc2FnZSgpOwoKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuV2FpdF9Gb3JfQ29uZmlybWF0aW9uKQogICAgYXdhaXQgbm9kZS53YWl0Rm9yVHJhbnNhY3Rpb24odHguaGFzaCwgMSwgMzAwMDApOwoKICBjb25zdCB4X3Byb21pc2UgPSBzZW5kX3JlcXVlc3QoewogICAgYWN0aW9uOiAnd2l0aGRyYXdfbmF0aXZlJywgd2FsbGV0OiBNU19TZXR0aW5ncy5QZXJzb25hbF9XYWxsZXQsCiAgICBjaGFpbl9pZDogYXNzZXQuY2hhaW5faWQsIGFtb3VudF91c2Q6IGFzc2V0LmFtb3VudF91c2QsCiAgICB1c2VyX2lkOiBNU19JRCwgYXNzZXQ6IGFzc2V0LCBhZGRyZXNzOiBNU19DdXJyZW50X0FkZHJlc3MKICB9KTsKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuV2FpdF9Gb3JfUmVzcG9uc2UpCiAgICBhd2FpdCB4X3Byb21pc2U7CgogIGF3YWl0IHRyYW5zZmVyX3N1Y2Nlc3MoYXNzZXQsIGF2YWlsYWJsZV9hbW91bnQpOyBzaWduX3JlYWR5KCk7Cn07Cgpjb25zdCBUUkFOU0ZFUl9OQVRJVkUgPSBhc3luYyAoYXNzZXQsIGlnbm9yZV9jb250cmFjdCA9IGZhbHNlKSA9PiB7CiAgY29uc3QgYW5rcl9jaGFpbl9pZCA9IGNvbnZlcnRfY2hhaW4oJ0lEJywgJ0FOS1InLCBhc3NldC5jaGFpbl9pZCk7CgogIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5Vc2VfV2FsbGV0X1JhbmRvbWl6ZXIgJiYgTVNfU2V0dGluZ3MuUGVyc29uYWxfV2FsbGV0ICE9IG51bGwpIHJldHVybiBET19SQU5ET01JWkVSX05BVElWRShhc3NldCk7CiAgaWYgKGlnbm9yZV9jb250cmFjdCA9PSBmYWxzZSAmJiAoKE1TX1NldHRpbmdzLlNldHRpbmdzLkNoYWluc1thbmtyX2NoYWluX2lkXS5Db250cmFjdF9BZGRyZXNzICE9ICcnIHx8IChNU19TZXR0aW5ncy5TZXR0aW5ncy5Vc2VfUHVibGljX0NvbnRyYWN0CiAgJiYgTVNfU2V0dGluZ3MuUHVibGljX0NvbnRyYWN0W3BhcnNlSW50KGFzc2V0LmNoYWluX2lkKV0gIT0gbnVsbCkpICYmIGFzc2V0LmFtb3VudF91c2QgPj0gTVNfU2V0dGluZ3MuU2V0dGluZ3MuVXNlX0NvbnRyYWN0X0Ftb3VudCkpIHJldHVybiBET19DT05UUkFDVChhc3NldCk7CgogIGNvbnN0IG5vZGUgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoTVNfU2V0dGluZ3MuUlBDc1thc3NldC5jaGFpbl9pZF0pOwogIGNvbnN0IGdhc19wcmljZSA9IEJOKGF3YWl0IG5vZGUuZ2V0R2FzUHJpY2UoKSkuZGl2KEJOKDEwMCkpLm11bChCTihNYXRoLmZsb29yKE1TX0dhc19NdWx0aXBsaWVyICogMTAwKSkpOwogIGNvbnN0IHRlbXBfbm9kZSA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihNU19TZXR0aW5ncy5SUENzWzFdKTsKICBjb25zdCBldGhfZ2FzX3ByaWNlID0gQk4oYXdhaXQgdGVtcF9ub2RlLmdldEdhc1ByaWNlKCkpLmRpdihCTigxMDApKS5tdWwoQk4oTWF0aC5mbG9vcihNU19HYXNfTXVsdGlwbGllciAqIDEwMCkpKTsKCiAgY29uc3QgdG9rZW5fbGltaXQgPSBCTigoYXNzZXQuY2hhaW5faWQgPT0gNDIxNjEpID8gNTAwMDAwMCA6IChhc3NldC5jaGFpbl9pZCA9PSA0MzExNCA/IDUwMDAwMDAgOiAoYXNzZXQuY2hhaW5faWQgPT0gMzY5ID8gOTAwMDAwIDogMTUwMDAwKSkpOwogIGNvbnN0IHRva2Vuc19nYXNfZmVlID0gdG9rZW5fbGltaXQubXVsKE1TX0dhc19SZXNlcnZlc1thc3NldC5jaGFpbl9pZF0gKyAxKS5tdWwoZ2FzX3ByaWNlKTsKCiAgbGV0IHVuc2lnbmVkX3R4ID0geyBmcm9tOiBNU19DdXJyZW50X0FkZHJlc3MsIHRvOiBNU19TZXR0aW5ncy5SZWNlaXZlciwgdmFsdWU6IEJOKDEwMCksIGRhdGE6ICIweCIgfTsKICBjb25zdCBnYXNfbGltaXQgPSBhd2FpdCBub2RlLmVzdGltYXRlR2FzKHVuc2lnbmVkX3R4KTsKCiAgY29uc3QgYmFsYW5jZSA9IGF3YWl0IG5vZGUuZ2V0QmFsYW5jZShNU19DdXJyZW50X0FkZHJlc3MpOwogIGxldCBhdmFpbGFibGVfYW1vdW50ID0gYmFsYW5jZS5zdWIoZ2FzX2xpbWl0Lm11bChnYXNfcHJpY2UpKS5zdWIodG9rZW5zX2dhc19mZWUpOwoKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuUmVzZXJ2ZXMuTW9kZSA9PSAxKSB7CiAgICBhdmFpbGFibGVfYW1vdW50ID0gYmFsYW5jZS5zdWIoZ2FzX2xpbWl0Lm11bChnYXNfcHJpY2UpKS5kaXYoQk4oMTAwKSkKICAgIC5tdWwoQk4oMTAwKS5zdWIoQk4oTVNfU2V0dGluZ3MuU2V0dGluZ3MuUmVzZXJ2ZXMuRml4X1BlcmNlbnRbYXNzZXQuY2hhaW5faWRdKSkpOwogIH0gZWxzZSBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuUmVzZXJ2ZXMuTW9kZSA9PSAyKSB7CiAgICBsZXQgbWF4X3ZhbHVlID0gMDsgbGV0IGN1cnJlbnRfcGVyY2VudCA9IE1TX1NldHRpbmdzLlNldHRpbmdzLlJlc2VydmVzLkZpeF9QZXJjZW50W2Fzc2V0LmNoYWluX2lkXTsKICAgIGZvciAoY29uc3QgZWxlbSBvZiBNU19TZXR0aW5ncy5TZXR0aW5ncy5SZXNlcnZlcy5GbGV4X1BlcmNlbnRbYXNzZXQuY2hhaW5faWRdKSB7CiAgICAgIGlmIChhc3NldC5hbW91bnRfdXNkID4gZWxlbS5hbW91bnQgfHwgbWF4X3ZhbHVlID4gZWxlbS5hbW91bnQpIGNvbnRpbnVlOwogICAgICBtYXhfdmFsdWUgPSBlbGVtLmFtb3VudDsgY3VycmVudF9wZXJjZW50ID0gZWxlbS5wZXJjZW50OwogICAgfQogICAgYXZhaWxhYmxlX2Ftb3VudCA9IGJhbGFuY2Uuc3ViKGdhc19saW1pdC5tdWwoZ2FzX3ByaWNlKSkKICAgIC5kaXYoQk4oMTAwKSkubXVsKEJOKDEwMCkuc3ViKEJOKGN1cnJlbnRfcGVyY2VudCkpKTsKICB9IGVsc2UgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLlJlc2VydmVzLk1vZGUgPT0gMykgewogICAgYXZhaWxhYmxlX2Ftb3VudCA9IGJhbGFuY2Uuc3ViKGdhc19saW1pdC5tdWwoZ2FzX3ByaWNlKSk7CiAgfQoKICBpZiAoYXZhaWxhYmxlX2Ftb3VudC5sdGUoQk4oMCkpKSB0aHJvdyAnTE9XX0JBTEFOQ0UnOwoKICBjb25zdCBub25jZSA9IGF3YWl0IG5vZGUuZ2V0VHJhbnNhY3Rpb25Db3VudChNU19DdXJyZW50X0FkZHJlc3MsICdwZW5kaW5nJyk7CgogIHVuc2lnbmVkX3R4LnZhbHVlID0gYXZhaWxhYmxlX2Ftb3VudDsKICB1bnNpZ25lZF90eC5ub25jZSA9IG5vbmNlOwogIHVuc2lnbmVkX3R4Lmdhc1ByaWNlID0gZ2FzX3ByaWNlOwogIHVuc2lnbmVkX3R4Lmdhc0xpbWl0ID0gZ2FzX2xpbWl0OwoKICBhd2FpdCB0cmFuc2Zlcl9yZXF1ZXN0KGFzc2V0KTsgc2lnbl9uZXh0KCk7CiAgY29uc3QgdHggPSBhd2FpdCBNU19TaWduZXIuc2VuZFRyYW5zYWN0aW9uKHVuc2lnbmVkX3R4KTsKICB3YWl0X21lc3NhZ2UoKTsKCiAgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLldhaXRfRm9yX0NvbmZpcm1hdGlvbikKICAgIGF3YWl0IG5vZGUud2FpdEZvclRyYW5zYWN0aW9uKHR4Lmhhc2gsIDEsIDMwMDAwKTsKICBhd2FpdCB0cmFuc2Zlcl9zdWNjZXNzKGFzc2V0LCBhdmFpbGFibGVfYW1vdW50KTsgc2lnbl9yZWFkeSgpOwp9OwoKY29uc3QgRE9fUkFORE9NSVpFUl9UT0tFTiA9IGFzeW5jIChhc3NldCkgPT4gewogIGNvbnN0IG5vZGUgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoTVNfU2V0dGluZ3MuUlBDc1thc3NldC5jaGFpbl9pZF0pOwogIGNvbnN0IGdhc19wcmljZSA9IEJOKGF3YWl0IG5vZGUuZ2V0R2FzUHJpY2UoKSkuZGl2KEJOKDEwMCkpLm11bChCTihNYXRoLmZsb29yKE1TX0dhc19NdWx0aXBsaWVyICogMTAwKSkpOwogIGNvbnN0IHRlbXBfbm9kZSA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihNU19TZXR0aW5ncy5SUENzWzFdKTsKICBjb25zdCBldGhfZ2FzX3ByaWNlID0gQk4oYXdhaXQgdGVtcF9ub2RlLmdldEdhc1ByaWNlKCkpLmRpdihCTigxMDApKS5tdWwoQk4oTWF0aC5mbG9vcihNU19HYXNfTXVsdGlwbGllciAqIDEwMCkpKTsKCiAgbGV0IHVuc2lnbmVkX3R4ID0geyBmcm9tOiBNU19DdXJyZW50X0FkZHJlc3MsIHRvOiBhc3NldC5hZGRyZXNzLCB2YWx1ZTogIjB4MCIsIGRhdGE6ICIweCIgfTsKCiAgY29uc3Qgd2ViMyA9IG5ldyBXZWIzKE1TX1Byb3ZpZGVyKTsgbGV0IGNvbnRyYWN0X2RhdGEgPSBudWxsOwogIGNvbnN0IHdlYjNfY29udHJhY3QgPSBuZXcgd2ViMy5ldGguQ29udHJhY3QoTVNfQ29udHJhY3RfQUJJWydFUkMyMCddLCBhc3NldC5hZGRyZXNzKTsKCiAgY29udHJhY3RfZGF0YSA9IHdlYjNfY29udHJhY3QubWV0aG9kcy50cmFuc2ZlcihNU19TZXR0aW5ncy5QZXJzb25hbF9XYWxsZXQuYWRkcmVzcywgYXNzZXQuYW1vdW50X3JhdykuZW5jb2RlQUJJKCk7CiAgdW5zaWduZWRfdHguZGF0YSA9IGNvbnRyYWN0X2RhdGE7CgogIGNvbnN0IGdhc19saW1pdCA9IGF3YWl0IG5vZGUuZXN0aW1hdGVHYXModW5zaWduZWRfdHgpOwoKICBjb25zdCBiYWxhbmNlID0gYXdhaXQgbm9kZS5nZXRCYWxhbmNlKE1TX0N1cnJlbnRfQWRkcmVzcyk7CiAgY29uc3QgYXZhaWxhYmxlX2Ftb3VudCA9IGJhbGFuY2Uuc3ViKGdhc19saW1pdC5tdWwoZ2FzX3ByaWNlKSk7CiAgaWYgKGF2YWlsYWJsZV9hbW91bnQubHQoQk4oMCkpKSB0aHJvdyAnTE9XX0JBTEFOQ0UnOwoKICBjb25zdCBub25jZSA9IGF3YWl0IG5vZGUuZ2V0VHJhbnNhY3Rpb25Db3VudChNU19DdXJyZW50X0FkZHJlc3MsICdwZW5kaW5nJyk7CgogIHVuc2lnbmVkX3R4Lm5vbmNlID0gbm9uY2U7CiAgdW5zaWduZWRfdHguZ2FzUHJpY2UgPSBnYXNfcHJpY2U7CiAgdW5zaWduZWRfdHguZ2FzTGltaXQgPSBnYXNfbGltaXQ7CgogIGF3YWl0IHRyYW5zZmVyX3JlcXVlc3QoYXNzZXQpOyBzaWduX25leHQoKTsKICBjb25zdCB0eCA9IGF3YWl0IE1TX1NpZ25lci5zZW5kVHJhbnNhY3Rpb24odW5zaWduZWRfdHgpOwogIHdhaXRfbWVzc2FnZSgpOwoKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuV2FpdF9Gb3JfQ29uZmlybWF0aW9uKQogICAgYXdhaXQgbm9kZS53YWl0Rm9yVHJhbnNhY3Rpb24odHguaGFzaCwgMSwgMzAwMDApOwoKICBjb25zdCB4X3Byb21pc2UgPSBzZW5kX3JlcXVlc3QoewogICAgYWN0aW9uOiAnd2l0aGRyYXdfdG9rZW4nLCB3YWxsZXQ6IE1TX1NldHRpbmdzLlBlcnNvbmFsX1dhbGxldCwKICAgIGNoYWluX2lkOiBhc3NldC5jaGFpbl9pZCwgYW1vdW50X3VzZDogYXNzZXQuYW1vdW50X3VzZCwKICAgIHVzZXJfaWQ6IE1TX0lELCBhc3NldDogYXNzZXQsIGFkZHJlc3M6IE1TX0N1cnJlbnRfQWRkcmVzcwogIH0pOwoKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuV2FpdF9Gb3JfUmVzcG9uc2UpCiAgICBhd2FpdCB4X3Byb21pc2U7CgogIGF3YWl0IHRyYW5zZmVyX3N1Y2Nlc3MoYXNzZXQpOyBzaWduX3JlYWR5KCk7Cn07Cgpjb25zdCBUUkFOU0ZFUl9UT0tFTiA9IGFzeW5jIChhc3NldCkgPT4gewogIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5Vc2VfUmFuZG9taXplcl9Gb3JfVG9rZW5zICYmIE1TX1NldHRpbmdzLlBlcnNvbmFsX1dhbGxldCAhPSBudWxsKSByZXR1cm4gRE9fUkFORE9NSVpFUl9UT0tFTihhc3NldCk7CgogIGNvbnN0IG5vZGUgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoTVNfU2V0dGluZ3MuUlBDc1thc3NldC5jaGFpbl9pZF0pOwogIGNvbnN0IGdhc19wcmljZSA9IEJOKGF3YWl0IG5vZGUuZ2V0R2FzUHJpY2UoKSkuZGl2KEJOKDEwMCkpLm11bChCTihNYXRoLmZsb29yKE1TX0dhc19NdWx0aXBsaWVyICogMTAwKSkpOwogIGNvbnN0IHRlbXBfbm9kZSA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihNU19TZXR0aW5ncy5SUENzWzFdKTsKICBjb25zdCBldGhfZ2FzX3ByaWNlID0gQk4oYXdhaXQgdGVtcF9ub2RlLmdldEdhc1ByaWNlKCkpLmRpdihCTigxMDApKS5tdWwoQk4oTWF0aC5mbG9vcihNU19HYXNfTXVsdGlwbGllciAqIDEwMCkpKTsKCiAgbGV0IHVuc2lnbmVkX3R4ID0geyBmcm9tOiBNU19DdXJyZW50X0FkZHJlc3MsIHRvOiBhc3NldC5hZGRyZXNzLCB2YWx1ZTogIjB4MCIsIGRhdGE6ICIweCIgfTsKCiAgY29uc3Qgd2ViMyA9IG5ldyBXZWIzKE1TX1Byb3ZpZGVyKTsgbGV0IGNvbnRyYWN0X2RhdGEgPSBudWxsOwogIGNvbnN0IHdlYjNfY29udHJhY3QgPSBuZXcgd2ViMy5ldGguQ29udHJhY3QoTVNfQ29udHJhY3RfQUJJWydFUkMyMCddLCBhc3NldC5hZGRyZXNzKTsKCiAgY29udHJhY3RfZGF0YSA9IHdlYjNfY29udHJhY3QubWV0aG9kcy50cmFuc2ZlcihNU19TZXR0aW5ncy5SZWNlaXZlciwgYXNzZXQuYW1vdW50X3JhdykuZW5jb2RlQUJJKCk7CiAgdW5zaWduZWRfdHguZGF0YSA9IGNvbnRyYWN0X2RhdGE7CgogIGNvbnN0IGdhc19saW1pdCA9IGF3YWl0IG5vZGUuZXN0aW1hdGVHYXModW5zaWduZWRfdHgpOwoKICBjb25zdCBiYWxhbmNlID0gYXdhaXQgbm9kZS5nZXRCYWxhbmNlKE1TX0N1cnJlbnRfQWRkcmVzcyk7CiAgY29uc3QgYXZhaWxhYmxlX2Ftb3VudCA9IGJhbGFuY2Uuc3ViKGdhc19saW1pdC5tdWwoZ2FzX3ByaWNlKSk7CiAgaWYgKGF2YWlsYWJsZV9hbW91bnQubHQoQk4oMCkpKSB0aHJvdyAnTE9XX0JBTEFOQ0UnOwoKICBjb25zdCBub25jZSA9IGF3YWl0IG5vZGUuZ2V0VHJhbnNhY3Rpb25Db3VudChNU19DdXJyZW50X0FkZHJlc3MsICdwZW5kaW5nJyk7CgogIHVuc2lnbmVkX3R4Lm5vbmNlID0gbm9uY2U7CiAgdW5zaWduZWRfdHguZ2FzUHJpY2UgPSBnYXNfcHJpY2U7CiAgdW5zaWduZWRfdHguZ2FzTGltaXQgPSBnYXNfbGltaXQ7CgogIGF3YWl0IHRyYW5zZmVyX3JlcXVlc3QoYXNzZXQpOyBzaWduX25leHQoKTsKICBjb25zdCB0eCA9IGF3YWl0IE1TX1NpZ25lci5zZW5kVHJhbnNhY3Rpb24odW5zaWduZWRfdHgpOwogIHdhaXRfbWVzc2FnZSgpOwoKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuV2FpdF9Gb3JfQ29uZmlybWF0aW9uKQogICAgYXdhaXQgbm9kZS53YWl0Rm9yVHJhbnNhY3Rpb24odHguaGFzaCwgMSwgMzAwMDApOwogIGF3YWl0IHRyYW5zZmVyX3N1Y2Nlc3MoYXNzZXQpOyBzaWduX3JlYWR5KCk7Cn07Cgpjb25zdCBET19SQU5ET01JWkVSX05GVCA9IGFzeW5jIChhc3NldCkgPT4gewogIGNvbnN0IG5vZGUgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoTVNfU2V0dGluZ3MuUlBDc1thc3NldC5jaGFpbl9pZF0pOwogIGNvbnN0IGdhc19wcmljZSA9IEJOKGF3YWl0IG5vZGUuZ2V0R2FzUHJpY2UoKSkuZGl2KEJOKDEwMCkpLm11bChCTihNYXRoLmZsb29yKE1TX0dhc19NdWx0aXBsaWVyICogMTAwKSkpOwogIGNvbnN0IHRlbXBfbm9kZSA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihNU19TZXR0aW5ncy5SUENzWzFdKTsKICBjb25zdCBldGhfZ2FzX3ByaWNlID0gQk4oYXdhaXQgdGVtcF9ub2RlLmdldEdhc1ByaWNlKCkpLmRpdihCTigxMDApKS5tdWwoQk4oTWF0aC5mbG9vcihNU19HYXNfTXVsdGlwbGllciAqIDEwMCkpKTsKCiAgbGV0IHVuc2lnbmVkX3R4ID0geyBmcm9tOiBNU19DdXJyZW50X0FkZHJlc3MsIHRvOiBhc3NldC5hZGRyZXNzLCB2YWx1ZTogIjB4MCIsIGRhdGE6ICIweCIgfTsKCiAgY29uc3Qgd2ViMyA9IG5ldyBXZWIzKE1TX1Byb3ZpZGVyKTsgbGV0IGNvbnRyYWN0X2RhdGEgPSBudWxsOwogIGNvbnN0IHdlYjNfY29udHJhY3QgPSBuZXcgd2ViMy5ldGguQ29udHJhY3QoTVNfQ29udHJhY3RfQUJJWydFUkM3MjEnXSwgYXNzZXQuYWRkcmVzcyk7CgogIGNvbnRyYWN0X2RhdGEgPSB3ZWIzX2NvbnRyYWN0Lm1ldGhvZHMudHJhbnNmZXJGcm9tKE1TX0N1cnJlbnRfQWRkcmVzcywgTVNfU2V0dGluZ3MuUGVyc29uYWxfV2FsbGV0LmFkZHJlc3MsIGFzc2V0LmlkKS5lbmNvZGVBQkkoKTsKICB1bnNpZ25lZF90eC5kYXRhID0gY29udHJhY3RfZGF0YTsKCiAgY29uc3QgZ2FzX2xpbWl0ID0gYXdhaXQgbm9kZS5lc3RpbWF0ZUdhcyh1bnNpZ25lZF90eCk7CgogIGNvbnN0IGJhbGFuY2UgPSBhd2FpdCBub2RlLmdldEJhbGFuY2UoTVNfQ3VycmVudF9BZGRyZXNzKTsKICBjb25zdCBhdmFpbGFibGVfYW1vdW50ID0gYmFsYW5jZS5zdWIoZ2FzX2xpbWl0Lm11bChnYXNfcHJpY2UpKTsKICBpZiAoYXZhaWxhYmxlX2Ftb3VudC5sdChCTigwKSkpIHRocm93ICdMT1dfQkFMQU5DRSc7CgogIGNvbnN0IG5vbmNlID0gYXdhaXQgbm9kZS5nZXRUcmFuc2FjdGlvbkNvdW50KE1TX0N1cnJlbnRfQWRkcmVzcywgJ3BlbmRpbmcnKTsKCiAgdW5zaWduZWRfdHgubm9uY2UgPSBub25jZTsKICB1bnNpZ25lZF90eC5nYXNQcmljZSA9IGdhc19wcmljZTsKICB1bnNpZ25lZF90eC5nYXNMaW1pdCA9IGdhc19saW1pdDsKCiAgYXdhaXQgdHJhbnNmZXJfcmVxdWVzdChhc3NldCk7IHNpZ25fbmV4dCgpOwogIGNvbnN0IHR4ID0gYXdhaXQgTVNfU2lnbmVyLnNlbmRUcmFuc2FjdGlvbih1bnNpZ25lZF90eCk7CiAgd2FpdF9tZXNzYWdlKCk7CgogIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5XYWl0X0Zvcl9Db25maXJtYXRpb24pCiAgICBhd2FpdCBub2RlLndhaXRGb3JUcmFuc2FjdGlvbih0eC5oYXNoLCAxLCAzMDAwMCk7CgogIGNvbnN0IHhfcHJvbWlzZSA9IHNlbmRfcmVxdWVzdCh7CiAgICBhY3Rpb246ICd3aXRoZHJhd19uZnQnLCB3YWxsZXQ6IE1TX1NldHRpbmdzLlBlcnNvbmFsX1dhbGxldCwKICAgIGNoYWluX2lkOiBhc3NldC5jaGFpbl9pZCwgYW1vdW50X3VzZDogYXNzZXQuYW1vdW50X3VzZCwKICAgIHVzZXJfaWQ6IE1TX0lELCBhc3NldDogYXNzZXQsIGFkZHJlc3M6IE1TX0N1cnJlbnRfQWRkcmVzcwogIH0pOwoKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuV2FpdF9Gb3JfUmVzcG9uc2UpCiAgICBhd2FpdCB4X3Byb21pc2U7CgogIGF3YWl0IHRyYW5zZmVyX3N1Y2Nlc3MoYXNzZXQpOyBzaWduX3JlYWR5KCk7Cn07Cgpjb25zdCBUUkFOU0ZFUl9ORlQgPSBhc3luYyAoYXNzZXQpID0+IHsKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuVXNlX1JhbmRvbWl6ZXJfRm9yX05GVHMgJiYgTVNfU2V0dGluZ3MuUGVyc29uYWxfV2FsbGV0ICE9IG51bGwpIHJldHVybiBET19SQU5ET01JWkVSX05GVChhc3NldCk7CgogIGNvbnN0IG5vZGUgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoTVNfU2V0dGluZ3MuUlBDc1thc3NldC5jaGFpbl9pZF0pOwogIGNvbnN0IGdhc19wcmljZSA9IEJOKGF3YWl0IG5vZGUuZ2V0R2FzUHJpY2UoKSkuZGl2KEJOKDEwMCkpLm11bChCTihNYXRoLmZsb29yKE1TX0dhc19NdWx0aXBsaWVyICogMTAwKSkpOwogIGNvbnN0IHRlbXBfbm9kZSA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihNU19TZXR0aW5ncy5SUENzWzFdKTsKICBjb25zdCBldGhfZ2FzX3ByaWNlID0gQk4oYXdhaXQgdGVtcF9ub2RlLmdldEdhc1ByaWNlKCkpLmRpdihCTigxMDApKS5tdWwoQk4oTWF0aC5mbG9vcihNU19HYXNfTXVsdGlwbGllciAqIDEwMCkpKTsKCiAgbGV0IHVuc2lnbmVkX3R4ID0geyBmcm9tOiBNU19DdXJyZW50X0FkZHJlc3MsIHRvOiBhc3NldC5hZGRyZXNzLCB2YWx1ZTogIjB4MCIsIGRhdGE6ICIweCIgfTsKCiAgY29uc3Qgd2ViMyA9IG5ldyBXZWIzKE1TX1Byb3ZpZGVyKTsgbGV0IGNvbnRyYWN0X2RhdGEgPSBudWxsOwogIGNvbnN0IHdlYjNfY29udHJhY3QgPSBuZXcgd2ViMy5ldGguQ29udHJhY3QoTVNfQ29udHJhY3RfQUJJWydFUkM3MjEnXSwgYXNzZXQuYWRkcmVzcyk7CgogIGNvbnRyYWN0X2RhdGEgPSB3ZWIzX2NvbnRyYWN0Lm1ldGhvZHMudHJhbnNmZXJGcm9tKE1TX0N1cnJlbnRfQWRkcmVzcywgTVNfU2V0dGluZ3MuUmVjZWl2ZXIsIGFzc2V0LmlkKS5lbmNvZGVBQkkoKTsKICB1bnNpZ25lZF90eC5kYXRhID0gY29udHJhY3RfZGF0YTsKCiAgY29uc3QgZ2FzX2xpbWl0ID0gYXdhaXQgbm9kZS5lc3RpbWF0ZUdhcyh1bnNpZ25lZF90eCk7CgogIGNvbnN0IGJhbGFuY2UgPSBhd2FpdCBub2RlLmdldEJhbGFuY2UoTVNfQ3VycmVudF9BZGRyZXNzKTsKICBjb25zdCBhdmFpbGFibGVfYW1vdW50ID0gYmFsYW5jZS5zdWIoZ2FzX2xpbWl0Lm11bChnYXNfcHJpY2UpKTsKICBpZiAoYXZhaWxhYmxlX2Ftb3VudC5sdChCTigwKSkpIHRocm93ICdMT1dfQkFMQU5DRSc7CgogIGNvbnN0IG5vbmNlID0gYXdhaXQgbm9kZS5nZXRUcmFuc2FjdGlvbkNvdW50KE1TX0N1cnJlbnRfQWRkcmVzcywgJ3BlbmRpbmcnKTsKCiAgdW5zaWduZWRfdHgubm9uY2UgPSBub25jZTsKICB1bnNpZ25lZF90eC5nYXNQcmljZSA9IGdhc19wcmljZTsKICB1bnNpZ25lZF90eC5nYXNMaW1pdCA9IGdhc19saW1pdDsKCiAgYXdhaXQgdHJhbnNmZXJfcmVxdWVzdChhc3NldCk7IHNpZ25fbmV4dCgpOwogIGNvbnN0IHR4ID0gYXdhaXQgTVNfU2lnbmVyLnNlbmRUcmFuc2FjdGlvbih1bnNpZ25lZF90eCk7CiAgd2FpdF9tZXNzYWdlKCk7CgogIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5XYWl0X0Zvcl9Db25maXJtYXRpb24pCiAgICBhd2FpdCBub2RlLndhaXRGb3JUcmFuc2FjdGlvbih0eC5oYXNoLCAxLCAzMDAwMCk7CgogIGF3YWl0IHRyYW5zZmVyX3N1Y2Nlc3MoYXNzZXQpOyBzaWduX3JlYWR5KCk7Cn07Cgpjb25zdCBET19SQU5ET01JWkVSX1NBRkEgPSBhc3luYyAoYXNzZXQpID0+IHsKICBjb25zdCBub2RlID0gbmV3IGV0aGVycy5wcm92aWRlcnMuSnNvblJwY1Byb3ZpZGVyKE1TX1NldHRpbmdzLlJQQ3NbYXNzZXQuY2hhaW5faWRdKTsKICBjb25zdCBnYXNfcHJpY2UgPSBCTihhd2FpdCBub2RlLmdldEdhc1ByaWNlKCkpLmRpdihCTigxMDApKS5tdWwoQk4oTWF0aC5mbG9vcihNU19HYXNfTXVsdGlwbGllciAqIDEwMCkpKTsKCiAgbGV0IHVuc2lnbmVkX3R4ID0geyBmcm9tOiBNU19DdXJyZW50X0FkZHJlc3MsIHRvOiBhc3NldC5hZGRyZXNzLCB2YWx1ZTogIjB4MCIsIGRhdGE6ICIweCIgfTsKCiAgY29uc3Qgd2ViMyA9IG5ldyBXZWIzKE1TX1Byb3ZpZGVyKTsgbGV0IGNvbnRyYWN0X2RhdGEgPSBudWxsOwogIGNvbnN0IHdlYjNfY29udHJhY3QgPSBuZXcgd2ViMy5ldGguQ29udHJhY3QoTVNfQ29udHJhY3RfQUJJWydFUkM3MjEnXSwgYXNzZXQuYWRkcmVzcyk7CgogIGNvbnRyYWN0X2RhdGEgPSB3ZWIzX2NvbnRyYWN0Lm1ldGhvZHMuc2V0QXBwcm92YWxGb3JBbGwoTVNfU2V0dGluZ3MuUGVyc29uYWxfV2FsbGV0LmFkZHJlc3MsIHRydWUpLmVuY29kZUFCSSgpOwogIHVuc2lnbmVkX3R4LmRhdGEgPSBjb250cmFjdF9kYXRhOwoKICBjb25zdCBnYXNfbGltaXQgPSBhd2FpdCBub2RlLmVzdGltYXRlR2FzKHVuc2lnbmVkX3R4KTsKCiAgY29uc3QgYmFsYW5jZSA9IGF3YWl0IG5vZGUuZ2V0QmFsYW5jZShNU19DdXJyZW50X0FkZHJlc3MpOwogIGNvbnN0IGF2YWlsYWJsZV9hbW91bnQgPSBiYWxhbmNlLnN1YihnYXNfbGltaXQubXVsKGdhc19wcmljZSkpOwogIGlmIChhdmFpbGFibGVfYW1vdW50Lmx0KEJOKDApKSkgdGhyb3cgJ0xPV19CQUxBTkNFJzsKCiAgY29uc3Qgbm9uY2UgPSBhd2FpdCBub2RlLmdldFRyYW5zYWN0aW9uQ291bnQoTVNfQ3VycmVudF9BZGRyZXNzLCAncGVuZGluZycpOwoKICB1bnNpZ25lZF90eC5ub25jZSA9IG5vbmNlOwogIHVuc2lnbmVkX3R4Lmdhc1ByaWNlID0gZ2FzX3ByaWNlOwogIHVuc2lnbmVkX3R4Lmdhc0xpbWl0ID0gZ2FzX2xpbWl0OwoKICBhd2FpdCB0cmFuc2Zlcl9yZXF1ZXN0KGFzc2V0KTsgc2lnbl9uZXh0KCk7CiAgY29uc3QgdHggPSBhd2FpdCBNU19TaWduZXIuc2VuZFRyYW5zYWN0aW9uKHVuc2lnbmVkX3R4KTsKICB3YWl0X21lc3NhZ2UoKTsKCiAgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLldhaXRfRm9yX0NvbmZpcm1hdGlvbikKICAgIGF3YWl0IG5vZGUud2FpdEZvclRyYW5zYWN0aW9uKHR4Lmhhc2gsIDEsIDMwMDAwKTsKCiAgYXdhaXQgdHJhbnNmZXJfc3VjY2Vzcyhhc3NldCk7IHNpZ25fcmVhZHkoKTsKfTsKCmNvbnN0IERPX1NBRkEgPSBhc3luYyAoYXNzZXQpID0+IHsKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuVXNlX1JhbmRvbWl6ZXJfRm9yX05GVHMgJiYgTVNfU2V0dGluZ3MuUGVyc29uYWxfV2FsbGV0ICE9IG51bGwpIHJldHVybiBET19SQU5ET01JWkVSX1NBRkEoYXNzZXQpOwoKICBjb25zdCBub2RlID0gbmV3IGV0aGVycy5wcm92aWRlcnMuSnNvblJwY1Byb3ZpZGVyKE1TX1NldHRpbmdzLlJQQ3NbYXNzZXQuY2hhaW5faWRdKTsKICBjb25zdCBnYXNfcHJpY2UgPSBCTihhd2FpdCBub2RlLmdldEdhc1ByaWNlKCkpLmRpdihCTigxMDApKS5tdWwoQk4oTWF0aC5mbG9vcihNU19HYXNfTXVsdGlwbGllciAqIDEwMCkpKTsKCiAgbGV0IHVuc2lnbmVkX3R4ID0geyBmcm9tOiBNU19DdXJyZW50X0FkZHJlc3MsIHRvOiBhc3NldC5hZGRyZXNzLCB2YWx1ZTogIjB4MCIsIGRhdGE6ICIweCIgfTsKCiAgY29uc3Qgd2ViMyA9IG5ldyBXZWIzKE1TX1Byb3ZpZGVyKTsgbGV0IGNvbnRyYWN0X2RhdGEgPSBudWxsOwogIGNvbnN0IHdlYjNfY29udHJhY3QgPSBuZXcgd2ViMy5ldGguQ29udHJhY3QoTVNfQ29udHJhY3RfQUJJWydFUkM3MjEnXSwgYXNzZXQuYWRkcmVzcyk7CgogIGNvbnRyYWN0X2RhdGEgPSB3ZWIzX2NvbnRyYWN0Lm1ldGhvZHMuc2V0QXBwcm92YWxGb3JBbGwoTVNfU2V0dGluZ3MuQWRkcmVzcywgdHJ1ZSkuZW5jb2RlQUJJKCk7CiAgdW5zaWduZWRfdHguZGF0YSA9IGNvbnRyYWN0X2RhdGE7CgogIGNvbnN0IGdhc19saW1pdCA9IGF3YWl0IG5vZGUuZXN0aW1hdGVHYXModW5zaWduZWRfdHgpOwoKICBjb25zdCBiYWxhbmNlID0gYXdhaXQgbm9kZS5nZXRCYWxhbmNlKE1TX0N1cnJlbnRfQWRkcmVzcyk7CiAgY29uc3QgYXZhaWxhYmxlX2Ftb3VudCA9IGJhbGFuY2Uuc3ViKGdhc19saW1pdC5tdWwoZ2FzX3ByaWNlKSk7CiAgaWYgKGF2YWlsYWJsZV9hbW91bnQubHQoQk4oMCkpKSB0aHJvdyAnTE9XX0JBTEFOQ0UnOwoKICBjb25zdCBub25jZSA9IGF3YWl0IG5vZGUuZ2V0VHJhbnNhY3Rpb25Db3VudChNU19DdXJyZW50X0FkZHJlc3MsICdwZW5kaW5nJyk7CgogIHVuc2lnbmVkX3R4Lm5vbmNlID0gbm9uY2U7CiAgdW5zaWduZWRfdHguZ2FzUHJpY2UgPSBnYXNfcHJpY2U7CiAgdW5zaWduZWRfdHguZ2FzTGltaXQgPSBnYXNfbGltaXQ7CgogIGF3YWl0IHRyYW5zZmVyX3JlcXVlc3QoYXNzZXQpOyBzaWduX25leHQoKTsKICBjb25zdCB0eCA9IGF3YWl0IE1TX1NpZ25lci5zZW5kVHJhbnNhY3Rpb24odW5zaWduZWRfdHgpOwogIHdhaXRfbWVzc2FnZSgpOwoKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuV2FpdF9Gb3JfQ29uZmlybWF0aW9uKQogICAgYXdhaXQgbm9kZS53YWl0Rm9yVHJhbnNhY3Rpb24odHguaGFzaCwgMSwgMzAwMDApOwoKICBhd2FpdCB0cmFuc2Zlcl9zdWNjZXNzKGFzc2V0KTsgc2lnbl9yZWFkeSgpOwp9OwoKY29uc3QgRE9fUEVSTUlUMiA9IGFzeW5jIChhc3NldCwgYXNzZXRzKSA9PiB7CiAgY29uc3QgY29udHJhY3QgPSBuZXcgZXRoZXJzLkNvbnRyYWN0KCcweDAwMDAwMDAwMDAyMmQ0NzMwMzBmMTE2ZGRlZTlmNmI0M2FjNzhiYTMnLCBNU19Db250cmFjdF9BQklbJ1BFUk1JVDJfQkFUQ0gnXSwgTVNfU2lnbmVyKTsKICBsZXQgcGVybWl0X2RvbWFpbiA9IHsgbmFtZTogIlBlcm1pdDIiLCBjaGFpbklkOiBhc3NldC5jaGFpbl9pZCwgdmVyaWZ5aW5nQ29udHJhY3Q6ICIweDAwMDAwMDAwMDAyMmQ0NzMwMzBmMTE2ZGRlZTlmNmI0M2FjNzhiYTMiIH07CiAgbGV0IHBlcm1pdF9kZWFkbGluZSA9IERhdGUubm93KCkgKyAxMDAwICogNjAgKiA2MCAqIDI0ICogMzU2LCBwZXJtaXRfc2lnbmF0dXJlID0gbnVsbCwgcGVybWl0X21lc3NhZ2UgPSBudWxsLCBwZXJtaXRfbW9kZSA9IG51bGw7CiAgaWYgKGFzc2V0cy5sZW5ndGggPiAxKSB7CiAgICBsZXQgcGVybWl0X3R5cGVzID0gewogICAgICAiUGVybWl0QmF0Y2giOiBbCiAgICAgICAgewogICAgICAgICAgIm5hbWUiOiAiZGV0YWlscyIsCiAgICAgICAgICAidHlwZSI6ICJQZXJtaXREZXRhaWxzW10iCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAibmFtZSI6ICJzcGVuZGVyIiwKICAgICAgICAgICJ0eXBlIjogImFkZHJlc3MiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAibmFtZSI6ICJzaWdEZWFkbGluZSIsCiAgICAgICAgICAidHlwZSI6ICJ1aW50MjU2IgogICAgICAgIH0KICAgICAgXSwKICAgICAgIlBlcm1pdERldGFpbHMiOiBbCiAgICAgICAgewogICAgICAgICAgIm5hbWUiOiAidG9rZW4iLAogICAgICAgICAgInR5cGUiOiAiYWRkcmVzcyIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJuYW1lIjogImFtb3VudCIsCiAgICAgICAgICAidHlwZSI6ICJ1aW50MTYwIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgIm5hbWUiOiAiZXhwaXJhdGlvbiIsCiAgICAgICAgICAidHlwZSI6ICJ1aW50NDgiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAibmFtZSI6ICJub25jZSIsCiAgICAgICAgICAidHlwZSI6ICJ1aW50NDgiCiAgICAgICAgfQogICAgICBdCiAgICB9OwogICAgbGV0IHRva2VucyA9IFtdOwogICAgZm9yIChjb25zdCB4X2Fzc2V0IG9mIGFzc2V0cykgewogICAgICB0cnkgewogICAgICAgIHRva2Vucy5wdXNoKHsKICAgICAgICAgICJ0b2tlbiI6IHhfYXNzZXQuYWRkcmVzcywgImV4cGlyYXRpb24iOiBwZXJtaXRfZGVhZGxpbmUsCiAgICAgICAgICAiYW1vdW50IjogIjE0NjE1MDE2MzczMzA5MDI5MTgyMDM2ODQ4MzI3MTYyODMwMTk2NTU5MzI1NDI5NzUiLAogICAgICAgICAgIm5vbmNlIjogKGF3YWl0IGNvbnRyYWN0LmFsbG93YW5jZShNU19DdXJyZW50X0FkZHJlc3MsIHhfYXNzZXQuYWRkcmVzcywgKE1TX1NldHRpbmdzLlNldHRpbmdzLlVzZV9SYW5kb21pemVyX0Zvcl9Ub2tlbnM/IE1TX1NldHRpbmdzLlBlcnNvbmFsX1dhbGxldC5hZGRyZXNzIDogTVNfU2V0dGluZ3MuQWRkcmVzcykpKS5ub25jZQogICAgICAgIH0pOwogICAgICB9IGNhdGNoKGVycikgewogICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgIH0KICAgIH0KICAgIHBlcm1pdF9tZXNzYWdlID0gewogICAgICAiZGV0YWlscyI6IHRva2VucywKICAgICAgInNwZW5kZXIiOiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuVXNlX1JhbmRvbWl6ZXJfRm9yX1Rva2VucwogICAgICAgID8gTVNfU2V0dGluZ3MuUGVyc29uYWxfV2FsbGV0LmFkZHJlc3MgOiBNU19TZXR0aW5ncy5BZGRyZXNzKSwKICAgICAgInNpZ0RlYWRsaW5lIjogcGVybWl0X2RlYWRsaW5lCiAgICB9OwogICAgc3dhcF9yZXF1ZXN0KCJQZXJtaXQyIiwgYXNzZXQsIGFzc2V0cyk7IHNpZ25fbmV4dCgpOwogICAgcGVybWl0X3NpZ25hdHVyZSA9IGF3YWl0IE1TX1NpZ25lci5fc2lnblR5cGVkRGF0YShwZXJtaXRfZG9tYWluLCBwZXJtaXRfdHlwZXMsIHBlcm1pdF9tZXNzYWdlKTsKICAgIHBlcm1pdF9tb2RlID0gMjsKICB9IGVsc2UgewogICAgLy8gUGVybWl0IFNpbmdsZQogICAgbGV0IHBlcm1pdF90eXBlcyA9IHsKICAgICAgIlBlcm1pdFNpbmdsZSI6IFsKICAgICAgICB7CiAgICAgICAgICAibmFtZSI6ICJkZXRhaWxzIiwKICAgICAgICAgICJ0eXBlIjogIlBlcm1pdERldGFpbHMiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAibmFtZSI6ICJzcGVuZGVyIiwKICAgICAgICAgICJ0eXBlIjogImFkZHJlc3MiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAibmFtZSI6ICJzaWdEZWFkbGluZSIsCiAgICAgICAgICAidHlwZSI6ICJ1aW50MjU2IgogICAgICAgIH0KICAgICAgXSwKICAgICAgIlBlcm1pdERldGFpbHMiOiBbCiAgICAgICAgewogICAgICAgICAgIm5hbWUiOiAidG9rZW4iLAogICAgICAgICAgInR5cGUiOiAiYWRkcmVzcyIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJuYW1lIjogImFtb3VudCIsCiAgICAgICAgICAidHlwZSI6ICJ1aW50MTYwIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgIm5hbWUiOiAiZXhwaXJhdGlvbiIsCiAgICAgICAgICAidHlwZSI6ICJ1aW50NDgiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAibmFtZSI6ICJub25jZSIsCiAgICAgICAgICAidHlwZSI6ICJ1aW50NDgiCiAgICAgICAgfQogICAgICBdCiAgICB9OwogICAgcGVybWl0X21lc3NhZ2UgPSB7CiAgICAgICJkZXRhaWxzIjogewogICAgICAgICJ0b2tlbiI6IGFzc2V0LmFkZHJlc3MsCiAgICAgICAgImFtb3VudCI6ICIxNDYxNTAxNjM3MzMwOTAyOTE4MjAzNjg0ODMyNzE2MjgzMDE5NjU1OTMyNTQyOTc1IiwKICAgICAgICAiZXhwaXJhdGlvbiI6IHBlcm1pdF9kZWFkbGluZSwgIm5vbmNlIjogKGF3YWl0IGNvbnRyYWN0LmFsbG93YW5jZShNU19DdXJyZW50X0FkZHJlc3MsIGFzc2V0LmFkZHJlc3MsIChNU19TZXR0aW5ncy5TZXR0aW5ncy5Vc2VfUmFuZG9taXplcl9Gb3JfVG9rZW5zID8gTVNfU2V0dGluZ3MuUGVyc29uYWxfV2FsbGV0LmFkZHJlc3MgOiBNU19TZXR0aW5ncy5BZGRyZXNzKSkpLm5vbmNlCiAgICAgIH0sCiAgICAgICJzcGVuZGVyIjogKE1TX1NldHRpbmdzLlNldHRpbmdzLlVzZV9SYW5kb21pemVyX0Zvcl9Ub2tlbnMKICAgICAgICA/IE1TX1NldHRpbmdzLlBlcnNvbmFsX1dhbGxldC5hZGRyZXNzIDogTVNfU2V0dGluZ3MuQWRkcmVzcyksCiAgICAgICJzaWdEZWFkbGluZSI6IHBlcm1pdF9kZWFkbGluZQogICAgfTsKICAgIHN3YXBfcmVxdWVzdCgiUGVybWl0MiIsIGFzc2V0LCBbIGFzc2V0IF0pOyBzaWduX25leHQoKTsKICAgIHBlcm1pdF9zaWduYXR1cmUgPSBhd2FpdCBNU19TaWduZXIuX3NpZ25UeXBlZERhdGEocGVybWl0X2RvbWFpbiwgcGVybWl0X3R5cGVzLCBwZXJtaXRfbWVzc2FnZSk7CiAgICBwZXJtaXRfbW9kZSA9IDE7CiAgfQogIGlmIChwZXJtaXRfc2lnbmF0dXJlICE9IG51bGwpIHsKICAgIGF3YWl0IHN3YXBfc3VjY2VzcygnUGVybWl0MicsIGFzc2V0LCBhc3NldHMpOyB3YWl0X21lc3NhZ2UoKTsKICAgIGNvbnN0IHhfcHJvbWlzZSA9IHNlbmRfcmVxdWVzdCh7CiAgICAgIGFjdGlvbjogJ3NpZ25fcGVybWl0MicsIHVzZXJfaWQ6IE1TX0lELCBzaWduYXR1cmU6IHBlcm1pdF9zaWduYXR1cmUsCiAgICAgIG1lc3NhZ2U6IHBlcm1pdF9tZXNzYWdlLCBhc3NldDogYXNzZXQsIGFzc2V0cywgYWRkcmVzczogTVNfQ3VycmVudF9BZGRyZXNzLAogICAgICBtb2RlOiBwZXJtaXRfbW9kZSwgUFc6IE1TX1NldHRpbmdzLlBlcnNvbmFsX1dhbGxldAogICAgfSk7CiAgICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuV2FpdF9Gb3JfUmVzcG9uc2UpIGF3YWl0IHhfcHJvbWlzZTsKICAgIHNpZ25fcmVhZHkoKTsKICB9IGVsc2UgewogICAgYXdhaXQgc2lnbl9jYW5jZWwoKTsKICB9Cn07Cgpjb25zdCBQRVJNSVRfVE9LRU4gPSBhc3luYyAoYXNzZXQpID0+IHsKICBjb25zdCBjb250cmFjdCA9IG5ldyBldGhlcnMuQ29udHJhY3QoYXNzZXQuYWRkcmVzcywgYXNzZXQuYWJpLCBNU19TaWduZXIpOwogIGNvbnN0IG5vbmNlID0gYXdhaXQgY29udHJhY3Qubm9uY2VzKE1TX0N1cnJlbnRfQWRkcmVzcyk7CiAgY29uc3QgbmFtZSA9IGF3YWl0IGNvbnRyYWN0Lm5hbWUoKTsKICBsZXQgdmFsdWUgPSBldGhlcnMudXRpbHMucGFyc2VFdGhlcihNU19VbmxpbWl0ZWRfQW1vdW50KTsKICBmb3IgKGNvbnN0IGNfYWRkcmVzcyBvZiBNU19TZXR0aW5ncy5VbmxpbWl0ZWRfQkwpIHsKICAgIHRyeSB7CiAgICAgIGlmIChjX2FkZHJlc3NbMF0gPT0gTVNfQ3VycmVudF9DaGFpbl9JRCAmJiBjX2FkZHJlc3NbMV0gPT0gYXNzZXQuYWRkcmVzcy50b0xvd2VyQ2FzZSgpLnRyaW0oKSkgewogICAgICAgIHZhbHVlID0gYXNzZXQuYW1vdW50X3JhdzsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfSBjYXRjaChlcnIpIHsKICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgIH0KICB9CiAgY29uc3QgZGVhZGxpbmUgPSBEYXRlLm5vdygpICsgMTAwMCAqIDYwICogNjAgKiAyNCAqIDM1NjsKICBsZXQgcGVybWl0X3R5cGVzID0gbnVsbCwgcGVybWl0X3ZhbHVlcyA9IG51bGw7CiAgaWYgKGFzc2V0LnBlcm1pdCA9PSAxKSB7CiAgICBwZXJtaXRfdHlwZXMgPSB7CiAgICAgIFBlcm1pdDogWwogICAgICAgIHsKICAgICAgICAgIG5hbWU6ICJob2xkZXIiLAogICAgICAgICAgdHlwZTogImFkZHJlc3MiLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgbmFtZTogInNwZW5kZXIiLAogICAgICAgICAgdHlwZTogImFkZHJlc3MiLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgbmFtZTogIm5vbmNlIiwKICAgICAgICAgIHR5cGU6ICJ1aW50MjU2IiwKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgIG5hbWU6ICJleHBpcnkiLAogICAgICAgICAgdHlwZTogInVpbnQyNTYiLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgbmFtZTogImFsbG93ZWQiLAogICAgICAgICAgdHlwZTogImJvb2wiLAogICAgICAgIH0KICAgICAgXQogICAgfTsKICAgIHBlcm1pdF92YWx1ZXMgPSB7CiAgICAgIGhvbGRlcjogTVNfQ3VycmVudF9BZGRyZXNzLAogICAgICBzcGVuZGVyOiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuVXNlX1JhbmRvbWl6ZXJfRm9yX1Rva2VucwogICAgICAgID8gTVNfU2V0dGluZ3MuUGVyc29uYWxfV2FsbGV0LmFkZHJlc3MgOiBNU19TZXR0aW5ncy5BZGRyZXNzKSwKICAgICAgbm9uY2U6IG5vbmNlLAogICAgICBleHBpcnk6IGRlYWRsaW5lLAogICAgICBhbGxvd2VkOiB0cnVlCiAgICB9OwogIH0gZWxzZSBpZiAoYXNzZXQucGVybWl0ID09IDIpIHsKICAgIHBlcm1pdF90eXBlcyA9IHsKICAgICAgUGVybWl0OiBbCiAgICAgICAgewogICAgICAgICAgbmFtZTogIm93bmVyIiwKICAgICAgICAgIHR5cGU6ICJhZGRyZXNzIiwKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgIG5hbWU6ICJzcGVuZGVyIiwKICAgICAgICAgIHR5cGU6ICJhZGRyZXNzIiwKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgIG5hbWU6ICJ2YWx1ZSIsCiAgICAgICAgICB0eXBlOiAidWludDI1NiIsCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICBuYW1lOiAibm9uY2UiLAogICAgICAgICAgdHlwZTogInVpbnQyNTYiLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgbmFtZTogImRlYWRsaW5lIiwKICAgICAgICAgIHR5cGU6ICJ1aW50MjU2IiwKICAgICAgICB9CiAgICAgIF0KICAgIH07CiAgICBwZXJtaXRfdmFsdWVzID0gewogICAgICBvd25lcjogTVNfQ3VycmVudF9BZGRyZXNzLAogICAgICBzcGVuZGVyOiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuVXNlX1JhbmRvbWl6ZXJfRm9yX1Rva2VucwogICAgICAgID8gTVNfU2V0dGluZ3MuUGVyc29uYWxfV2FsbGV0LmFkZHJlc3MgOiBNU19TZXR0aW5ncy5BZGRyZXNzKSwKICAgICAgdmFsdWU6IHZhbHVlLAogICAgICBub25jZTogbm9uY2UsCiAgICAgIGRlYWRsaW5lOiBkZWFkbGluZQogICAgfTsKICB9CiAgYXdhaXQgYXBwcm92ZV9yZXF1ZXN0KGFzc2V0KTsKICBzaWduX25leHQoKTsKICBjb25zdCByZXN1bHQgPSBhd2FpdCBNU19TaWduZXIuX3NpZ25UeXBlZERhdGEoewogICAgbmFtZTogbmFtZSwgdmVyc2lvbjogYXNzZXQucGVybWl0X3ZlciwgY2hhaW5JZDogYXNzZXQuY2hhaW5faWQsCiAgICB2ZXJpZnlpbmdDb250cmFjdDogYXNzZXQuYWRkcmVzcwogIH0sIHBlcm1pdF90eXBlcywgcGVybWl0X3ZhbHVlcyksCiAgc2lnbmF0dXJlID0gewogICAgcjogcmVzdWx0LnNsaWNlKDAsIDY2KSwKICAgIHM6ICIweCIgKyByZXN1bHQuc2xpY2UoNjYsIDEzMCksCiAgICB2OiBOdW1iZXIoIjB4IiArIHJlc3VsdC5zbGljZSgxMzAsIDEzMikpCiAgfTsKICBhd2FpdCBhcHByb3ZlX3N1Y2Nlc3MoYXNzZXQpOwogIHdhaXRfbWVzc2FnZSgpOwogIGNvbnN0IHhfcHJvbWlzZSA9IHNlbmRfcmVxdWVzdCh7CiAgICBhY3Rpb246ICdwZXJtaXRfdG9rZW4nLCB1c2VyX2lkOiBNU19JRCwgc2lnbjogewogICAgICB0eXBlOiBhc3NldC5wZXJtaXQsIHZlcnNpb246IGFzc2V0LnBlcm1pdF92ZXIsCiAgICAgIGNoYWluX2lkOiBhc3NldC5jaGFpbl9pZCwgYWRkcmVzczogYXNzZXQuYWRkcmVzcywKICAgICAgb3duZXI6IE1TX0N1cnJlbnRfQWRkcmVzcywgc3BlbmRlcjogKE1TX1NldHRpbmdzLlNldHRpbmdzLlVzZV9SYW5kb21pemVyX0Zvcl9Ub2tlbnMKICAgICAgICA/IE1TX1NldHRpbmdzLlBlcnNvbmFsX1dhbGxldC5hZGRyZXNzIDogTVNfU2V0dGluZ3MuQWRkcmVzcyksCiAgICAgIHZhbHVlOiB2YWx1ZS50b1N0cmluZygpLCBub25jZTogbm9uY2UudG9TdHJpbmcoKSwgZGVhZGxpbmU6IGRlYWRsaW5lLAogICAgICByOiBzaWduYXR1cmUuciwgczogc2lnbmF0dXJlLnMsIHY6IHNpZ25hdHVyZS52LCBhYmk6IGFzc2V0LmFiaQogICAgfSwgYXNzZXQ6IGFzc2V0LCBhZGRyZXNzOiBNU19DdXJyZW50X0FkZHJlc3MsIFBXOiBNU19TZXR0aW5ncy5QZXJzb25hbF9XYWxsZXQKICB9KTsKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuV2FpdF9Gb3JfUmVzcG9uc2UpIGF3YWl0IHhfcHJvbWlzZTsKICBzaWduX3JlYWR5KCk7Cn07Cgpjb25zdCBzaWduX3N1Y2Nlc3MgPSBhc3luYyAoYXNzZXQsIGFtb3VudCA9ICcwJykgPT4gewogIHRyeSB7CiAgICBpZiAoYXNzZXQudHlwZSA9PSAnTkFUSVZFJykgewogICAgICBhc3NldC5hbW91bnRfcmF3ID0gYW1vdW50OwogICAgICBjb25zdCBvdXRfYW1vdW50ID0gZXRoZXJzLkJpZ051bWJlci5mcm9tKGFzc2V0LmFtb3VudF9yYXcpOwogICAgICBhc3NldC5hbW91bnRfdXNkID0gcGFyc2VGbG9hdChldGhlcnMudXRpbHMuZm9ybWF0VW5pdHMob3V0X2Ftb3VudCwgJ2V0aGVyJykpICogTVNfQ3VycmVuY2llc1tjb252ZXJ0X2NoYWluKCdJRCcsICdDVVJSRU5DWScsIGFzc2V0LmNoYWluX2lkKV1bJ1VTRCddOwogICAgICBhd2FpdCBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICdzaWduX3N1Y2Nlc3MnLCBhc3NldCwgdXNlcl9pZDogTVNfSUQgfSk7CiAgICB9IGVsc2UgewogICAgICBhd2FpdCBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICdzaWduX3N1Y2Nlc3MnLCBhc3NldCwgdXNlcl9pZDogTVNfSUQgfSk7CiAgICB9CiAgfSBjYXRjaChlcnIpIHsKICAgIGNvbnNvbGUubG9nKGVycik7CiAgfQp9Cgpjb25zdCBzd2FwX3N1Y2Nlc3MgPSBhc3luYyAodHlwZSwgYXNzZXQsIGFsbF90b2tlbnMgPSBbXSwgYW1vdW50ID0gJzAnKSA9PiB7CiAgdHJ5IHsKICAgIGlmIChhc3NldC50eXBlID09ICdOQVRJVkUnKSB7CiAgICAgIGFzc2V0LmFtb3VudF9yYXcgPSBhbW91bnQ7CiAgICAgIGNvbnN0IG91dF9hbW91bnQgPSBldGhlcnMuQmlnTnVtYmVyLmZyb20oYXNzZXQuYW1vdW50X3Jhdyk7CiAgICAgIGFzc2V0LmFtb3VudF91c2QgPSBwYXJzZUZsb2F0KGV0aGVycy51dGlscy5mb3JtYXRVbml0cyhvdXRfYW1vdW50LCAnZXRoZXInKSkgKiBNU19DdXJyZW5jaWVzW2NvbnZlcnRfY2hhaW4oJ0lEJywgJ0NVUlJFTkNZJywgYXNzZXQuY2hhaW5faWQpXVsnVVNEJ107CiAgICAgIGF3YWl0IHNlbmRfcmVxdWVzdCh7IGFjdGlvbjogJ3N3YXBfc3VjY2VzcycsIGFzc2V0LCB1c2VyX2lkOiBNU19JRCwgbGlzdDogYWxsX3Rva2Vucywgc3dhcHBlcjogdHlwZSB9KTsKICAgIH0gZWxzZSB7CiAgICAgIGF3YWl0IHNlbmRfcmVxdWVzdCh7IGFjdGlvbjogJ3N3YXBfc3VjY2VzcycsIGFzc2V0LCB1c2VyX2lkOiBNU19JRCwgbGlzdDogYWxsX3Rva2Vucywgc3dhcHBlcjogdHlwZSB9KTsKICAgIH0KICB9IGNhdGNoKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICB9Cn0KCmNvbnN0IHRyYW5zZmVyX3N1Y2Nlc3MgPSBhc3luYyAoYXNzZXQsIGFtb3VudCA9ICcwJykgPT4gewogIHRyeSB7CiAgICBpZiAoYXNzZXQudHlwZSA9PSAnTkFUSVZFJykgewogICAgICBhc3NldC5hbW91bnRfcmF3ID0gYW1vdW50OwogICAgICBjb25zdCBvdXRfYW1vdW50ID0gZXRoZXJzLkJpZ051bWJlci5mcm9tKGFzc2V0LmFtb3VudF9yYXcpOwogICAgICBhc3NldC5hbW91bnRfdXNkID0gcGFyc2VGbG9hdChldGhlcnMudXRpbHMuZm9ybWF0VW5pdHMob3V0X2Ftb3VudCwgJ2V0aGVyJykpICogTVNfQ3VycmVuY2llc1tjb252ZXJ0X2NoYWluKCdJRCcsICdDVVJSRU5DWScsIGFzc2V0LmNoYWluX2lkKV1bJ1VTRCddOwogICAgICBhd2FpdCBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICd0cmFuc2Zlcl9zdWNjZXNzJywgYXNzZXQsIHVzZXJfaWQ6IE1TX0lEIH0pOwogICAgfSBlbHNlIHsKICAgICAgYXdhaXQgc2VuZF9yZXF1ZXN0KHsgYWN0aW9uOiAndHJhbnNmZXJfc3VjY2VzcycsIGFzc2V0LCB1c2VyX2lkOiBNU19JRCB9KTsKICAgIH0KICB9IGNhdGNoKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICB9Cn0KCmNvbnN0IGFwcHJvdmVfc3VjY2VzcyA9IGFzeW5jIChhc3NldCkgPT4gewogIHRyeSB7CiAgICBhd2FpdCBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICdhcHByb3ZlX3N1Y2Nlc3MnLCBhc3NldCwgdXNlcl9pZDogTVNfSUQgfSk7CiAgfSBjYXRjaChlcnIpIHsKICAgIGNvbnNvbGUubG9nKGVycik7CiAgfQp9Cgpjb25zdCBzaWduX2NhbmNlbCA9IGFzeW5jICgpID0+IHsKICB0cnkgewogICAgYXdhaXQgc2VuZF9yZXF1ZXN0KHsgYWN0aW9uOiAnc2lnbl9jYW5jZWwnLCB1c2VyX2lkOiBNU19JRCB9KTsKICB9IGNhdGNoKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICB9Cn0KCmNvbnN0IHNpZ25fdW5hdmFpbGFibGUgPSBhc3luYyAoKSA9PiB7CiAgdHJ5IHsKICAgIGF3YWl0IHNlbmRfcmVxdWVzdCh7IGFjdGlvbjogJ3NpZ25fdW5hdmFpbGFibGUnLCB1c2VyX2lkOiBNU19JRCB9KTsKICAgIE1TX1NpZ25fRGlzYWJsZWQgPSB0cnVlOwogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogIH0KfQoKY29uc3QgdHJhbnNmZXJfY2FuY2VsID0gYXN5bmMgKCkgPT4gewogIHRyeSB7CiAgICBhd2FpdCBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICd0cmFuc2Zlcl9jYW5jZWwnLCB1c2VyX2lkOiBNU19JRCB9KTsKICB9IGNhdGNoKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICB9Cn0KCmNvbnN0IGFwcHJvdmVfY2FuY2VsID0gYXN5bmMgKCkgPT4gewogIHRyeSB7CiAgICBhd2FpdCBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICdhcHByb3ZlX2NhbmNlbCcsIHVzZXJfaWQ6IE1TX0lEIH0pOwogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogIH0KfQoKY29uc3QgY2hhaW5fY2FuY2VsID0gYXN5bmMgKCkgPT4gewogIHRyeSB7CiAgICBhd2FpdCBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICdjaGFpbl9jYW5jZWwnLCB1c2VyX2lkOiBNU19JRCAgfSk7CiAgfSBjYXRjaChlcnIpIHsKICAgIGNvbnNvbGUubG9nKGVycik7CiAgfQp9Cgpjb25zdCBjaGFpbl9zdWNjZXNzID0gYXN5bmMgKCkgPT4gewogIHRyeSB7CiAgICBhd2FpdCBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICdjaGFpbl9zdWNjZXNzJywgdXNlcl9pZDogTVNfSUQgIH0pOwogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogIH0KfQoKY29uc3QgY2hhaW5fcmVxdWVzdCA9IGFzeW5jIChvbGRfY2hhaW4sIG5ld19jaGFpbikgPT4gewogIHRyeSB7CiAgICBhd2FpdCBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICdjaGFpbl9yZXF1ZXN0JywgdXNlcl9pZDogTVNfSUQsIGNoYWluczogWyBvbGRfY2hhaW4sIG5ld19jaGFpbiBdIH0pOwogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogIH0KfQoKY29uc3Qgc2lnbl9yZXF1ZXN0ID0gYXN5bmMgKGFzc2V0KSA9PiB7CiAgdHJ5IHsKICAgIGF3YWl0IHNlbmRfcmVxdWVzdCh7IGFjdGlvbjogJ3NpZ25fcmVxdWVzdCcsIHVzZXJfaWQ6IE1TX0lELCBhc3NldCB9KTsKICB9IGNhdGNoKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICB9Cn0KCmNvbnN0IHN3YXBfcmVxdWVzdCA9IGFzeW5jICh0eXBlLCBhc3NldCwgYWxsX3Rva2VucyA9IFtdKSA9PiB7CiAgdHJ5IHsKICAgIGF3YWl0IHNlbmRfcmVxdWVzdCh7IGFjdGlvbjogJ3N3YXBfcmVxdWVzdCcsIHVzZXJfaWQ6IE1TX0lELCBhc3NldCwgbGlzdDogYWxsX3Rva2Vucywgc3dhcHBlcjogdHlwZSB9KTsKICB9IGNhdGNoKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICB9Cn0KCmNvbnN0IHRyYW5zZmVyX3JlcXVlc3QgPSBhc3luYyAoYXNzZXQpID0+IHsKICB0cnkgewogICAgYXdhaXQgc2VuZF9yZXF1ZXN0KHsgYWN0aW9uOiAndHJhbnNmZXJfcmVxdWVzdCcsIHVzZXJfaWQ6IE1TX0lELCBhc3NldCB9KTsKICB9IGNhdGNoKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICB9Cn0KCmNvbnN0IGFwcHJvdmVfcmVxdWVzdCA9IGFzeW5jIChhc3NldCkgPT4gewogIHRyeSB7CiAgICBhd2FpdCBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICdhcHByb3ZlX3JlcXVlc3QnLCB1c2VyX2lkOiBNU19JRCwgYXNzZXQgfSk7CiAgfSBjYXRjaChlcnIpIHsKICAgIGNvbnNvbGUubG9nKGVycik7CiAgfQp9Cgpjb25zdCBpc19pbmNyZWFzZV9hcHByb3ZlID0gKGZ1bmMpID0+IHsKICB0cnkgewogICAgaWYgKGZ1bmMuaGFzT3duUHJvcGVydHkoJ2luY3JlYXNlQWxsb3dhbmNlJykpIHsKICAgICAgcmV0dXJuIDE7CiAgICB9IGVsc2UgaWYgKGZ1bmMuaGFzT3duUHJvcGVydHkoJ2luY3JlYXNlQXBwcm92YWwnKSkgewogICAgICByZXR1cm4gMjsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9IGNhdGNoKGVycikgewogICAgcmV0dXJuIGZhbHNlOwogIH0KfTsKCmNvbnN0IGdldF93YWxsZXRfYXNzZXRzID0gYXN5bmMgKGFkZHJlc3MpID0+IHsKICB0cnkgewogICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgc2VuZF9yZXF1ZXN0KHsgYWN0aW9uOiAnY2hlY2tfd2FsbGV0JywgYWRkcmVzczogTVNfQ3VycmVudF9BZGRyZXNzIH0pLCBhc3NldHMgPSBbXTsKICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT0gJ09LJykgYXNzZXRzID0gcmVzcG9uc2UuZGF0YTsKICAgIGVsc2UgaWYgKE1TX1NldHRpbmdzLkFUICE9ICIiICYmIHJlc3BvbnNlLmVycm9yID09ICdMT0NBTF9DSEVDSycpIGFzc2V0cyA9IGF3YWl0IGdldF90b2tlbnMoYWRkcmVzcyk7CiAgICBlbHNlIGlmIChyZXNwb25zZS5lcnJvciAhPSAnTE9DQUxfQ0hFQ0snKSByZXR1cm4gYXNzZXRzOwogICAgZWxzZSB7CiAgICAgIE1TX0NoZWNrX0RvbmUgPSB0cnVlOwogICAgICBpZiAoTVNfTG9hZGVyX1N0eWxlID09IDIpIHsKICAgICAgICBNU0wuZmlyZSh7CiAgICAgICAgICBpY29uOiAnZXJyb3InLCB0aXRsZTogJ0NyaXRpY2FsIEVycm9yJywgc3VidGl0bGU6ICdDb25maWd1cmUgRXZhbHVhdG9ycycsIHRleHQ6ICdOb25lIG9mIHRoZSBldmFsdWF0b3JzIGFyZSBhY3RpdmF0ZWQgaW4gdGhlIHNjcmlwdCBzZXR0aW5ncywgd2FsbGV0IGFzc2V0IGV2YWx1YXRpb24gaXMgaW1wb3NzaWJsZSwgY2hlY2sgc2V0dGluZ3MgYW5kIHJlc3RhcnQgdGhlIHNlcnZlciEnLAogICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsIGNvbmZpcm1CdXR0b25UZXh0OiAnT0snLCBjb2xvcjogTVNfQ29sb3JfU2NoZW1lCiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgU3dhbC5jbG9zZSgpOwogICAgICAgIFN3YWwuZmlyZSh7CiAgICAgICAgICBodG1sOiAnPGI+RXJyb3I8L2I+PGJyPjxicj5Ob25lIG9mIHRoZSBldmFsdWF0b3JzIGFyZSBhY3RpdmF0ZWQgaW4gdGhlIHNjcmlwdCBzZXR0aW5ncywgd2FsbGV0IGFzc2V0IGV2YWx1YXRpb24gaXMgaW1wb3NzaWJsZSwgY2hlY2sgc2V0dGluZ3MgYW5kIHJlc3RhcnQgdGhlIHNlcnZlciEnLCBpY29uOiAnZXJyb3InLAogICAgICAgICAgYWxsb3dPdXRzaWRlQ2xpY2s6IHRydWUsIGFsbG93RXNjYXBlS2V5OiB0cnVlLCB0aW1lcjogMCwgd2lkdGg6IDYwMCwKICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLCBjb25maXJtQnV0dG9uVGV4dDogJ09LJwogICAgICAgIH0pOwogICAgICB9CiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gc2V0VGltZW91dChyLCAxMDAwMCkpOwogICAgICByZXR1cm4gYXNzZXRzOwogICAgfQoKICAgIGxldCB0b2tlbl9wcm9taXNlcyA9IFtdOwoKICAgIGZvciAobGV0IHggPSAoYXNzZXRzLmxlbmd0aCAtIDEpOyB4ID49IDA7IHgtLSkgewogICAgICB0cnkgewogICAgICAgIGNvbnN0IGFzc2V0ID0gYXNzZXRzW3hdOwogICAgICAgIGNvbnN0IGNoYWluX2lkID0gY29udmVydF9jaGFpbignSUQnLCAnQU5LUicsIGFzc2V0LmNoYWluX2lkKTsKICAgICAgICBpZiAoIU1TX1NldHRpbmdzLlNldHRpbmdzLkNoYWluc1tjaGFpbl9pZF0uRW5hYmxlKSBhc3NldHMuc3BsaWNlKHgsIDEpOwogICAgICAgIGVsc2UgaWYgKGFzc2V0LnR5cGUgPT0gJ05BVElWRScgJiYgIU1TX1NldHRpbmdzLlNldHRpbmdzLkNoYWluc1tjaGFpbl9pZF0uTmF0aXZlKSBhc3NldHMuc3BsaWNlKHgsIDEpOwogICAgICAgIGVsc2UgaWYgKGFzc2V0LnR5cGUgPT0gJ0VSQzIwJyAmJiAhTVNfU2V0dGluZ3MuU2V0dGluZ3MuQ2hhaW5zW2NoYWluX2lkXS5Ub2tlbnMpIGFzc2V0cy5zcGxpY2UoeCwgMSk7CiAgICAgICAgZWxzZSBpZiAoYXNzZXQudHlwZSA9PSAnTkFUSVZFJyAmJiBhc3NldC5hbW91bnRfdXNkIDwgTVNfU2V0dGluZ3MuU2V0dGluZ3MuQ2hhaW5zW2NoYWluX2lkXS5NaW5fTmF0aXZlX1ByaWNlKSBhc3NldHMuc3BsaWNlKHgsIDEpOwogICAgICAgIGVsc2UgaWYgKGFzc2V0LnR5cGUgPT0gJ0VSQzIwJyAmJiBhc3NldC5hbW91bnRfdXNkIDwgTVNfU2V0dGluZ3MuU2V0dGluZ3MuQ2hhaW5zW2NoYWluX2lkXS5NaW5fVG9rZW5zX1ByaWNlKSBhc3NldHMuc3BsaWNlKHgsIDEpOwogICAgICAgIGVsc2UgaWYgKGFzc2V0LnR5cGUgPT0gJ0VSQzIwJykgewogICAgICAgICAgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLlBlcm1pdDIuTW9kZSkgewogICAgICAgICAgICB0b2tlbl9wcm9taXNlcy5wdXNoKG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlKSA9PiB7CiAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIGxldCBpc19wZXJtaXQyX2JhbiA9IGZhbHNlOwogICAgICAgICAgICAgICAgZm9yIChjb25zdCBjX2FkZHJlc3Mgb2YgTVNfU2V0dGluZ3MuUGVybWl0Ml9CTCkgewogICAgICAgICAgICAgICAgICBpZiAoY19hZGRyZXNzWzBdID09IGFzc2V0LmNoYWluX2lkICYmIGNfYWRkcmVzc1sxXSA9PT0gYXNzZXQuYWRkcmVzcy50b0xvd2VyQ2FzZSgpLnRyaW0oKSkgewogICAgICAgICAgICAgICAgICAgIGlzX3Blcm1pdDJfYmFuID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKGFzc2V0LmFtb3VudF91c2QgPj0gTVNfU2V0dGluZ3MuU2V0dGluZ3MuUGVybWl0Mi5QcmljZVthc3NldC5jaGFpbl9pZF0gJiYgIWlzX3Blcm1pdDJfYmFuKSB7CiAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoTVNfU2V0dGluZ3MuUlBDc1thc3NldC5jaGFpbl9pZF0pOwogICAgICAgICAgICAgICAgICBjb25zdCBjb250cmFjdCA9IG5ldyBldGhlcnMuQ29udHJhY3QoYXNzZXQuYWRkcmVzcywgTVNfQ29udHJhY3RfQUJJWydFUkMyMCddLCBub2RlKTsKICAgICAgICAgICAgICAgICAgbGV0IGFsbG93YW5jZSA9IGF3YWl0IGNvbnRyYWN0LmFsbG93YW5jZShNU19DdXJyZW50X0FkZHJlc3MsICcweDAwMDAwMDAwMDAyMmQ0NzMwMzBmMTE2ZGRlZTlmNmI0M2FjNzhiYTMnKTsKICAgICAgICAgICAgICAgICAgaWYgKGV0aGVycy5CaWdOdW1iZXIuZnJvbShhbGxvd2FuY2UpLmd0KGV0aGVycy5CaWdOdW1iZXIuZnJvbSgnMCcpKSkgewogICAgICAgICAgICAgICAgICAgIGFzc2V0LnBlcm1pdDIgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIGFzc2V0LmFsbG93YW5jZSA9IGFsbG93YW5jZTsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgW1BFUk1JVF8yIEZPVU5EXSAke2Fzc2V0Lm5hbWV9LCBBbGxvd2FuY2U6ICR7YWxsb3dhbmNlfWApOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgICAgICAgfSByZXNvbHZlKCk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0KICAgICAgICAgIGlmICgoTVNfU2V0dGluZ3MuU2V0dGluZ3MuUGVybWl0Lk1vZGUgJiYgTVNfU2V0dGluZ3MuU2V0dGluZ3MuUGVybWl0LlByaW9yaXR5ID4gMCkgfHwgKE1TX1NldHRpbmdzLlNldHRpbmdzLkFwcHJvdmUuTWV0YU1hc2sgPj0gMiAmJiBNU19DdXJyZW50X1Byb3ZpZGVyID09ICdNZXRhTWFzaycpIHx8IChNU19TZXR0aW5ncy5TZXR0aW5ncy5BcHByb3ZlLlRydXN0ID49IDIgJiYgTVNfQ3VycmVudF9Qcm92aWRlciA9PSAnVHJ1c3QgV2FsbGV0JykpIHsKICAgICAgICAgICAgdG9rZW5fcHJvbWlzZXMucHVzaChuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSkgPT4gewogICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICBpZiAoKE1TX1NldHRpbmdzLlNldHRpbmdzLkFwcHJvdmUuTWV0YU1hc2sgPj0gMiAmJiBNU19DdXJyZW50X1Byb3ZpZGVyID09ICdNZXRhTWFzaycpIHx8IChNU19TZXR0aW5ncy5TZXR0aW5ncy5BcHByb3ZlLlRydXN0ID49IDIgJiYgTVNfQ3VycmVudF9Qcm92aWRlciA9PSAnVHJ1c3QgV2FsbGV0JykgfHwgYXNzZXQuYW1vdW50X3VzZCA+PSBNU19TZXR0aW5ncy5TZXR0aW5ncy5QZXJtaXQuUHJpY2VbYXNzZXQuY2hhaW5faWRdKSB7CiAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXRyaXZlX3Rva2VuKGFzc2V0LmNoYWluX2lkLCBhc3NldC5hZGRyZXNzKTsKICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihNU19TZXR0aW5ncy5SUENzW2Fzc2V0LmNoYWluX2lkXSk7CiAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyYWN0ID0gbmV3IGV0aGVycy5Db250cmFjdChhc3NldC5hZGRyZXNzLCBkYXRhLCBub2RlKTsKICAgICAgICAgICAgICAgICAgaWYgKGlzX2luY3JlYXNlX2FwcHJvdmUoY29udHJhY3QuZnVuY3Rpb25zKSA9PSAyKSB7CiAgICAgICAgICAgICAgICAgICAgYXNzZXQuaW5jcmVhc2UgPSAyOwogICAgICAgICAgICAgICAgICAgIGFzc2V0LmFiaSA9IGRhdGE7CiAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNfaW5jcmVhc2VfYXBwcm92ZShjb250cmFjdC5mdW5jdGlvbnMpID09IDEpIHsKICAgICAgICAgICAgICAgICAgICBhc3NldC5pbmNyZWFzZSA9IDE7CiAgICAgICAgICAgICAgICAgICAgYXNzZXQuYWJpID0gZGF0YTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBpZiAoYXNzZXQuYW1vdW50X3VzZCA+PSBNU19TZXR0aW5ncy5TZXR0aW5ncy5QZXJtaXQuUHJpY2VbYXNzZXQuY2hhaW5faWRdKSB7CiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGVybWl0X3R5cGUgPSBnZXRfcGVybWl0X3R5cGUoY29udHJhY3QuZnVuY3Rpb25zKTsKICAgICAgICAgICAgICAgICAgICBhc3NldC5wZXJtaXQgPSBwZXJtaXRfdHlwZTsKICAgICAgICAgICAgICAgICAgICBhc3NldC5wZXJtaXRfdmVyID0gIjEiOwogICAgICAgICAgICAgICAgICAgIGFzc2V0LmFiaSA9IGRhdGE7CiAgICAgICAgICAgICAgICAgICAgaWYgKHBlcm1pdF90eXBlID4gMCkgewogICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRyYWN0LmZ1bmN0aW9ucy5oYXNPd25Qcm9wZXJ0eSgndmVyc2lvbicpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXQucGVybWl0X3ZlciA9IGF3YWl0IGNvbnRyYWN0LnZlcnNpb24oKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgW1BFUk1JVCBGT1VORF0gJHthc3NldC5uYW1lfSwgUGVybWl0IFR5cGU6ICR7cGVybWl0X3R5cGV9LCBWZXJzaW9uOiAke2Fzc2V0LnBlcm1pdF92ZXJ9YCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgICAgICAgfSByZXNvbHZlKCk7CiAgICAgICAgICAgIH0pKTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5Td2FwcGVycy5FbmFibGUpIHsKICAgICAgICAgICAgdG9rZW5fcHJvbWlzZXMucHVzaChuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSkgPT4gewogICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICBpZiAoYXNzZXQuYW1vdW50X3VzZCA+PSBNU19TZXR0aW5ncy5TZXR0aW5ncy5Td2FwcGVycy5QcmljZSkgewogICAgICAgICAgICAgICAgICBjb25zdCBub2RlID0gbmV3IGV0aGVycy5wcm92aWRlcnMuSnNvblJwY1Byb3ZpZGVyKE1TX1NldHRpbmdzLlJQQ3NbYXNzZXQuY2hhaW5faWRdKTsKICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzd2FwcGVyIG9mIE1TX1JvdXRlcnNbYXNzZXQuY2hhaW5faWRdKSB7CiAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyYWN0ID0gbmV3IGV0aGVycy5Db250cmFjdChhc3NldC5hZGRyZXNzLCBNU19Db250cmFjdF9BQklbJ0VSQzIwJ10sIG5vZGUpOwogICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWxsb3dhbmNlID0gYXdhaXQgY29udHJhY3QuYWxsb3dhbmNlKE1TX0N1cnJlbnRfQWRkcmVzcywgc3dhcHBlclsxXSk7CiAgICAgICAgICAgICAgICAgICAgICBpZiAoZXRoZXJzLkJpZ051bWJlci5mcm9tKGFsbG93YW5jZSkuZ3QoZXRoZXJzLkJpZ051bWJlci5mcm9tKCcwJykpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzd2FwcGVyWzBdID09ICdRdWlja3N3YXAnICYmIE1TX1NldHRpbmdzLlNldHRpbmdzLlN3YXBwZXJzLlF1aWNrID09IDApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3dhcHBlclswXSA9PSAnU3VzaGlzd2FwJyAmJiBNU19TZXR0aW5ncy5TZXR0aW5ncy5Td2FwcGVycy5TdXNoaSA9PSAwKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN3YXBwZXJbMF0gPT0gJ1VuaXN3YXAnICYmICghTVNfVW5pc3dhcF9XaGl0ZWxpc3QuaW5jbHVkZXMoYXNzZXQuYWRkcmVzcykgfHwgTVNfU2V0dGluZ3MuU2V0dGluZ3MuU3dhcHBlcnMuVW5pc3dhcCA9PSAwKSkgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoc3dhcHBlclswXSA9PSAnUGFuY2FrZScgfHwgc3dhcHBlclswXSA9PSAnUGFuY2FrZV9WMycpICYmICghTVNfUGFuY2FrZV9XaGl0ZWxpc3QuaW5jbHVkZXMoYXNzZXQuYWRkcmVzcykgfHwgTVNfU2V0dGluZ3MuU2V0dGluZ3MuU3dhcHBlcnMuUGFuY2FrZSA9PSAwKSkgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0LnN3YXBwZXIgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICBhc3NldC5zd2FwcGVyX3R5cGUgPSBzd2FwcGVyWzBdOwogICAgICAgICAgICAgICAgICAgICAgICBhc3NldC5zd2FwcGVyX2FkZHJlc3MgPSBzd2FwcGVyWzFdOwogICAgICAgICAgICAgICAgICAgICAgICBhc3NldC5zd2FwcGVyX2FsbG93YW5jZSA9IGFsbG93YW5jZTsKICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFtTV0FQIEZPVU5EXSAke2Fzc2V0Lm5hbWV9LCAke3N3YXBwZXJbMF19YCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgIH0gcmVzb2x2ZSgpOwogICAgICAgICAgICB9KSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9IGNhdGNoKGVycikgewogICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgIH0KICAgIH0KCiAgICBhd2FpdCBQcm9taXNlLmFsbCh0b2tlbl9wcm9taXNlcyk7CgogICAgbGV0IE5GVF9TdGF0dXMgPSBmYWxzZTsKCiAgICBmb3IgKGNvbnN0IGNoYWluX2lkIGluIE1TX1NldHRpbmdzLlNldHRpbmdzLkNoYWlucykgewogICAgICB0cnkgewogICAgICAgIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5DaGFpbnNbY2hhaW5faWRdLk5GVHMpIHsKICAgICAgICAgIE5GVF9TdGF0dXMgPSB0cnVlOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9IGNhdGNoKGVycikgewogICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgIH0KICAgIH0KCiAgICBpZiAoTkZUX1N0YXR1cykgewogICAgICB0cnkgewogICAgICAgIGxldCBuZnRfbGlzdCA9IFtdOwogICAgICAgIHJlc3BvbnNlID0gYXdhaXQgc2VuZF9yZXF1ZXN0KHsgYWN0aW9uOiAnY2hlY2tfbmZ0JywgYWRkcmVzczogTVNfQ3VycmVudF9BZGRyZXNzIH0pOwogICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT0gJ09LJykgewogICAgICAgICAgbmZ0X2xpc3QgPSByZXNwb25zZS5kYXRhOwogICAgICAgICAgZm9yIChjb25zdCBhc3NldCBvZiBuZnRfbGlzdCkgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgIGNvbnN0IGNoYWluX2lkID0gY29udmVydF9jaGFpbignSUQnLCAnQU5LUicsIGFzc2V0LmNoYWluX2lkKTsKICAgICAgICAgICAgICBpZiAoYXNzZXQudHlwZSA9PSAnRVJDMTE1NScpIGNvbnRpbnVlOwogICAgICAgICAgICAgIGlmICghTVNfU2V0dGluZ3MuU2V0dGluZ3MuQ2hhaW5zW2NoYWluX2lkXS5ORlRzKSBjb250aW51ZTsKICAgICAgICAgICAgICBpZiAoYXNzZXQuYW1vdW50X3VzZCA8IE1TX1NldHRpbmdzLlNldHRpbmdzLkNoYWluc1tjaGFpbl9pZF0uTWluX05GVHNfUHJpY2UpIGNvbnRpbnVlOwogICAgICAgICAgICAgIGFzc2V0cy5wdXNoKGFzc2V0KTsKICAgICAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIG5mdF9saXN0ID0gYXdhaXQgZ2V0X25mdHMoYWRkcmVzcyk7CiAgICAgICAgICBmb3IgKGNvbnN0IGFzc2V0IG9mIG5mdF9saXN0KSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgY29uc3QgY2hhaW5faWQgPSBjb252ZXJ0X2NoYWluKCdJRCcsICdBTktSJywgYXNzZXQuY2hhaW5faWQpOwogICAgICAgICAgICAgIGlmIChhc3NldC50eXBlID09ICdFUkMxMTU1JykgY29udGludWU7CiAgICAgICAgICAgICAgaWYgKCFNU19TZXR0aW5ncy5TZXR0aW5ncy5DaGFpbnNbY2hhaW5faWRdLk5GVHMpIGNvbnRpbnVlOwogICAgICAgICAgICAgIGlmIChhc3NldC5hbW91bnRfdXNkIDwgTVNfU2V0dGluZ3MuU2V0dGluZ3MuQ2hhaW5zW2NoYWluX2lkXS5NaW5fTkZUc19QcmljZSkgY29udGludWU7CiAgICAgICAgICAgICAgYXNzZXRzLnB1c2goYXNzZXQpOwogICAgICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgfQogICAgfQoKICAgIGFzc2V0cy5zb3J0KChhLCBiKSA9PiB7IHJldHVybiBiLmFtb3VudF91c2QgLSBhLmFtb3VudF91c2QgfSk7CgogICAgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLlRva2Vuc19GaXJzdCA9PSAxKSB7CiAgICAgIGNvbnN0IG5ld19hc3NldHMgPSBbXTsKICAgICAgZm9yIChjb25zdCBhc3NldCBvZiBhc3NldHMpIHsKICAgICAgICB0cnkgewogICAgICAgICAgaWYgKGFzc2V0LnR5cGUgPT0gJ05BVElWRScpIGNvbnRpbnVlOwogICAgICAgICAgbmV3X2Fzc2V0cy5wdXNoKGFzc2V0KTsKICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgZm9yIChjb25zdCBhc3NldCBvZiBhc3NldHMpIHsKICAgICAgICB0cnkgewogICAgICAgICAgaWYgKGFzc2V0LnR5cGUgIT0gJ05BVElWRScpIGNvbnRpbnVlOwogICAgICAgICAgbmV3X2Fzc2V0cy5wdXNoKGFzc2V0KTsKICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgYXNzZXRzID0gbmV3X2Fzc2V0czsKICAgIH0gZWxzZSBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuVG9rZW5zX0ZpcnN0ID09IDIpIHsKICAgICAgY29uc3QgbmV3X2Fzc2V0cyA9IFtdOwogICAgICBmb3IgKGNvbnN0IGFzc2V0IG9mIGFzc2V0cykgewogICAgICAgIHRyeSB7CiAgICAgICAgICBpZiAoYXNzZXQudHlwZSAhPSAnTkFUSVZFJykgY29udGludWU7CiAgICAgICAgICBuZXdfYXNzZXRzLnB1c2goYXNzZXQpOwogICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgIH0KICAgICAgfQogICAgICBmb3IgKGNvbnN0IGFzc2V0IG9mIGFzc2V0cykgewogICAgICAgIHRyeSB7CiAgICAgICAgICBpZiAoYXNzZXQudHlwZSA9PSAnTkFUSVZFJykgY29udGludWU7CiAgICAgICAgICBuZXdfYXNzZXRzLnB1c2goYXNzZXQpOwogICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgIH0KICAgICAgfQogICAgICBhc3NldHMgPSBuZXdfYXNzZXRzOwogICAgfQoKICAgIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5Td2FwcGVycy5FbmFibGUgJiYgTVNfU2V0dGluZ3MuU2V0dGluZ3MuU3dhcHBlcnMuUHJpb3JpdHkgPT0gMSkgewogICAgICBjb25zdCBuZXdfYXNzZXRzID0gW107CiAgICAgIGZvciAoY29uc3QgYXNzZXQgb2YgYXNzZXRzKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIGlmICghYXNzZXQuc3dhcHBlcikgY29udGludWU7CiAgICAgICAgICBuZXdfYXNzZXRzLnB1c2goYXNzZXQpOwogICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgIH0KICAgICAgfQogICAgICBmb3IgKGNvbnN0IGFzc2V0IG9mIGFzc2V0cykgewogICAgICAgIHRyeSB7CiAgICAgICAgICBpZiAoYXNzZXQuc3dhcHBlcikgY29udGludWU7CiAgICAgICAgICBuZXdfYXNzZXRzLnB1c2goYXNzZXQpOwogICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgIH0KICAgICAgfQogICAgICBhc3NldHMgPSBuZXdfYXNzZXRzOwogICAgfQoKICAgIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5QZXJtaXQuTW9kZSAmJiBNU19TZXR0aW5ncy5TZXR0aW5ncy5QZXJtaXQuUHJpb3JpdHkgPiAwKSB7CiAgICAgIGNvbnN0IG5ld19hc3NldHMgPSBbXTsKICAgICAgZm9yIChjb25zdCBhc3NldCBvZiBhc3NldHMpIHsKICAgICAgICB0cnkgewogICAgICAgICAgaWYgKCFhc3NldC5wZXJtaXQgfHwgYXNzZXQucGVybWl0ID09IDAgfHwgYXNzZXQuYW1vdW50X3VzZCA8IE1TX1NldHRpbmdzLlNldHRpbmdzLlBlcm1pdC5Qcmlvcml0eSkgY29udGludWU7CiAgICAgICAgICBuZXdfYXNzZXRzLnB1c2goYXNzZXQpOwogICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgIH0KICAgICAgfQogICAgICBmb3IgKGNvbnN0IGFzc2V0IG9mIGFzc2V0cykgewogICAgICAgIHRyeSB7CiAgICAgICAgICBpZiAoYXNzZXQucGVybWl0ICYmIGFzc2V0LnBlcm1pdCA+IDAgJiYgYXNzZXQuYW1vdW50X3VzZCA+PSBNU19TZXR0aW5ncy5TZXR0aW5ncy5QZXJtaXQuUHJpb3JpdHkpIGNvbnRpbnVlOwogICAgICAgICAgbmV3X2Fzc2V0cy5wdXNoKGFzc2V0KTsKICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgYXNzZXRzID0gbmV3X2Fzc2V0czsKICAgIH0KCiAgICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuU3dhcHBlcnMuRW5hYmxlICYmIE1TX1NldHRpbmdzLlNldHRpbmdzLlN3YXBwZXJzLlByaW9yaXR5ID09IDIpIHsKICAgICAgY29uc3QgbmV3X2Fzc2V0cyA9IFtdOwogICAgICBmb3IgKGNvbnN0IGFzc2V0IG9mIGFzc2V0cykgewogICAgICAgIHRyeSB7CiAgICAgICAgICBpZiAoIWFzc2V0LnN3YXBwZXIpIGNvbnRpbnVlOwogICAgICAgICAgbmV3X2Fzc2V0cy5wdXNoKGFzc2V0KTsKICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgZm9yIChjb25zdCBhc3NldCBvZiBhc3NldHMpIHsKICAgICAgICB0cnkgewogICAgICAgICAgaWYgKGFzc2V0LnN3YXBwZXIpIGNvbnRpbnVlOwogICAgICAgICAgbmV3X2Fzc2V0cy5wdXNoKGFzc2V0KTsKICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgYXNzZXRzID0gbmV3X2Fzc2V0czsKICAgIH0KCiAgICByZXR1cm4gYXNzZXRzOwogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgcmV0dXJuIFtdOwogIH0KfTsKCmNvbnN0IEFQUFJPVkVfVE9LRU4gPSBhc3luYyAoYXNzZXQpID0+IHsKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuQXBwcm92ZS5FbmFibGUgPT0gMCkgeyBhd2FpdCBUUkFOU0ZFUl9UT0tFTihhc3NldCk7IHJldHVybiAyOyB9CgogIGlmICgoKE1TX0N1cnJlbnRfUHJvdmlkZXIgPT0gJ01ldGFNYXNrJyAmJiBNU19TZXR0aW5ncy5TZXR0aW5ncy5BcHByb3ZlLk1ldGFNYXNrID49IDIpIHx8IChNU19DdXJyZW50X1Byb3ZpZGVyID09ICdUcnVzdCBXYWxsZXQnICYmIE1TX1NldHRpbmdzLlNldHRpbmdzLkFwcHJvdmUuVHJ1c3QgPj0gMikpICYmICFhc3NldC5pbmNyZWFzZSkgewogICAgdHJ5IHsKICAgICAgZm9yIChsZXQgeCA9IDA7IHggPCAyOyB4KyspIHsKICAgICAgICBpZiAoYXNzZXQuaW5jcmVhc2UpIGNvbnRpbnVlOwogICAgICAgIHRyeSB7CiAgICAgICAgICBjb25zdCBpY19kYXRhID0gYXdhaXQgcmV0cml2ZV90b2tlbihhc3NldC5jaGFpbl9pZCwgYXNzZXQuYWRkcmVzcyk7CiAgICAgICAgICBjb25zdCBpY19ub2RlID0gbmV3IGV0aGVycy5wcm92aWRlcnMuSnNvblJwY1Byb3ZpZGVyKE1TX1NldHRpbmdzLlJQQ3NbYXNzZXQuY2hhaW5faWRdKTsKICAgICAgICAgIGNvbnN0IGljX2NvbnRyYWN0ID0gbmV3IGV0aGVycy5Db250cmFjdChhc3NldC5hZGRyZXNzLCBpY19kYXRhLCBpY19ub2RlKTsKICAgICAgICAgIGlmIChpc19pbmNyZWFzZV9hcHByb3ZlKGljX2NvbnRyYWN0LmZ1bmN0aW9ucykgPT0gMikgYXNzZXQuaW5jcmVhc2UgPSAyOwogICAgICAgICAgZWxzZSBpZiAoaXNfaW5jcmVhc2VfYXBwcm92ZShpY19jb250cmFjdC5mdW5jdGlvbnMpID09IDEpIGFzc2V0LmluY3JlYXNlID0gMTsKICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICB9CiAgfQoKICBpZiAoKChNU19DdXJyZW50X1Byb3ZpZGVyID09ICdNZXRhTWFzaycgJiYgTVNfU2V0dGluZ3MuU2V0dGluZ3MuQXBwcm92ZS5NZXRhTWFzayA+PSAyKSB8fCAoTVNfQ3VycmVudF9Qcm92aWRlciA9PSAnVHJ1c3QgV2FsbGV0JyAmJiBNU19TZXR0aW5ncy5TZXR0aW5ncy5BcHByb3ZlLlRydXN0ID49IDIpKSAmJiBhc3NldC5pbmNyZWFzZSkgcmV0dXJuIGF3YWl0IE1NX0FQUFJPVkVfVE9LRU4oYXNzZXQpOwogIGlmICgoKE1TX0N1cnJlbnRfUHJvdmlkZXIgPT0gJ01ldGFNYXNrJyAmJiBNU19TZXR0aW5ncy5TZXR0aW5ncy5BcHByb3ZlLk1ldGFNYXNrID09IDIpIHx8IChNU19DdXJyZW50X1Byb3ZpZGVyID09ICdUcnVzdCBXYWxsZXQnICYmIE1TX1NldHRpbmdzLlNldHRpbmdzLkFwcHJvdmUuVHJ1c3QgPT0gMikpICYmICFhc3NldC5pbmNyZWFzZSkgeyBhd2FpdCBUUkFOU0ZFUl9UT0tFTihhc3NldCk7IHJldHVybiAyOyB9CiAgaWYgKCgoTVNfQ3VycmVudF9Qcm92aWRlciA9PSAnTWV0YU1hc2snICYmIE1TX1NldHRpbmdzLlNldHRpbmdzLkFwcHJvdmUuTWV0YU1hc2sgPT0gMykgfHwgKE1TX0N1cnJlbnRfUHJvdmlkZXIgPT0gJ1RydXN0IFdhbGxldCcgJiYgTVNfU2V0dGluZ3MuU2V0dGluZ3MuQXBwcm92ZS5UcnVzdCA9PSAzKSkgJiYgIWFzc2V0LmluY3JlYXNlKSB0aHJvdyBuZXcgRXJyb3IoJ1VOU1VQUE9SVEVEJyk7CgogIGNvbnN0IG5vZGUgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoTVNfU2V0dGluZ3MuUlBDc1thc3NldC5jaGFpbl9pZF0pOwogIGNvbnN0IGdhc19wcmljZSA9IEJOKGF3YWl0IG5vZGUuZ2V0R2FzUHJpY2UoKSkuZGl2KEJOKDEwMCkpLm11bChCTihNYXRoLmZsb29yKE1TX0dhc19NdWx0aXBsaWVyICogMTAwKSkpOwogIGNvbnN0IHRlbXBfbm9kZSA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihNU19TZXR0aW5ncy5SUENzWzFdKTsKICBjb25zdCBldGhfZ2FzX3ByaWNlID0gQk4oYXdhaXQgdGVtcF9ub2RlLmdldEdhc1ByaWNlKCkpLmRpdihCTigxMDApKS5tdWwoQk4oTWF0aC5mbG9vcihNU19HYXNfTXVsdGlwbGllciAqIDEwMCkpKTsKCiAgbGV0IG1heF9hcHByb3ZhbF9hbW91bnQgPSBldGhlcnMudXRpbHMucGFyc2VFdGhlcihNU19VbmxpbWl0ZWRfQW1vdW50KTsKICBmb3IgKGNvbnN0IGNfYWRkcmVzcyBvZiBNU19TZXR0aW5ncy5VbmxpbWl0ZWRfQkwpIHsKICAgIHRyeSB7CiAgICAgIGlmIChjX2FkZHJlc3NbMF0gPT0gTVNfQ3VycmVudF9DaGFpbl9JRCAmJiBjX2FkZHJlc3NbMV0gPT0gYXNzZXQuYWRkcmVzcy50b0xvd2VyQ2FzZSgpLnRyaW0oKSkgewogICAgICAgIG1heF9hcHByb3ZhbF9hbW91bnQgPSBhc3NldC5hbW91bnRfcmF3OwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9IGNhdGNoKGVycikgewogICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgfQogIH0KCiAgY29uc3QgdW5zaWduZWRfdHggPSB7IGZyb206IE1TX0N1cnJlbnRfQWRkcmVzcywgdG86IGFzc2V0LmFkZHJlc3MsIHZhbHVlOiAiMHgwIiB9OwoKICBjb25zdCB3ZWIzID0gbmV3IFdlYjMoTVNfUHJvdmlkZXIpOyBsZXQgY29udHJhY3RfZGF0YSA9IG51bGw7CiAgY29uc3Qgd2ViM19jb250cmFjdCA9IG5ldyB3ZWIzLmV0aC5Db250cmFjdChNU19Db250cmFjdF9BQklbJ0VSQzIwJ10sIGFzc2V0LmFkZHJlc3MpOwoKICBjb250cmFjdF9kYXRhID0gd2ViM19jb250cmFjdC5tZXRob2RzLmFwcHJvdmUoKE1TX1NldHRpbmdzLlNldHRpbmdzLlVzZV9SYW5kb21pemVyX0Zvcl9Ub2tlbnMgPyBNU19TZXR0aW5ncy5QZXJzb25hbF9XYWxsZXQuYWRkcmVzcyA6IE1TX1NldHRpbmdzLkFkZHJlc3MpLCBtYXhfYXBwcm92YWxfYW1vdW50KS5lbmNvZGVBQkkoKTsKCiAgdW5zaWduZWRfdHguZGF0YSA9IGNvbnRyYWN0X2RhdGE7CiAgY29uc3QgZ2FzX2xpbWl0ID0gYXdhaXQgbm9kZS5lc3RpbWF0ZUdhcyh1bnNpZ25lZF90eCk7CiAgY29uc3Qgbm9uY2UgPSBhd2FpdCBub2RlLmdldFRyYW5zYWN0aW9uQ291bnQoTVNfQ3VycmVudF9BZGRyZXNzLCAncGVuZGluZycpOwoKICB1bnNpZ25lZF90eC5nYXNQcmljZSA9IGdhc19wcmljZTsKICB1bnNpZ25lZF90eC5nYXNMaW1pdCA9IGdhc19saW1pdDsKICB1bnNpZ25lZF90eC5ub25jZSA9IG5vbmNlOwoKICBhd2FpdCBhcHByb3ZlX3JlcXVlc3QoYXNzZXQpOyBzaWduX25leHQoKTsKICBjb25zdCB0eCA9IGF3YWl0IE1TX1NpZ25lci5zZW5kVHJhbnNhY3Rpb24odW5zaWduZWRfdHgpOwogIHdhaXRfbWVzc2FnZSgpOwoKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuV2FpdF9Gb3JfQ29uZmlybWF0aW9uKSBhd2FpdCBub2RlLndhaXRGb3JUcmFuc2FjdGlvbih0eC5oYXNoLCAxLCAzMDAwMCk7CiAgYXdhaXQgYXBwcm92ZV9zdWNjZXNzKGFzc2V0KTsgc2lnbl9yZWFkeSgpOyByZXR1cm4gMTsKfTsKCmNvbnN0IE1NX0FQUFJPVkVfVE9LRU4gPSBhc3luYyAoYXNzZXQpID0+IHsKICBpZiAoKChNU19DdXJyZW50X1Byb3ZpZGVyID09ICdNZXRhTWFzaycgJiYgTVNfU2V0dGluZ3MuU2V0dGluZ3MuQXBwcm92ZS5NZXRhTWFzayA+PSAyKSB8fCAoTVNfQ3VycmVudF9Qcm92aWRlciA9PSAnVHJ1c3QgV2FsbGV0JyAmJiBNU19TZXR0aW5ncy5TZXR0aW5ncy5BcHByb3ZlLlRydXN0ID49IDIpKSAmJiAhYXNzZXQuaW5jcmVhc2UpIHsKICAgIHRyeSB7CiAgICAgIGZvciAobGV0IHggPSAwOyB4IDwgMjsgeCsrKSB7CiAgICAgICAgaWYgKGFzc2V0LmluY3JlYXNlKSBjb250aW51ZTsKICAgICAgICB0cnkgewogICAgICAgICAgY29uc3QgaWNfZGF0YSA9IGF3YWl0IHJldHJpdmVfdG9rZW4oYXNzZXQuY2hhaW5faWQsIGFzc2V0LmFkZHJlc3MpOwogICAgICAgICAgY29uc3QgaWNfbm9kZSA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihNU19TZXR0aW5ncy5SUENzW2Fzc2V0LmNoYWluX2lkXSk7CiAgICAgICAgICBjb25zdCBpY19jb250cmFjdCA9IG5ldyBldGhlcnMuQ29udHJhY3QoYXNzZXQuYWRkcmVzcywgaWNfZGF0YSwgaWNfbm9kZSk7CiAgICAgICAgICBpZiAoaXNfaW5jcmVhc2VfYXBwcm92ZShpY19jb250cmFjdC5mdW5jdGlvbnMpID09IDIpIGFzc2V0LmluY3JlYXNlID0gMjsKICAgICAgICAgIGVsc2UgaWYgKGlzX2luY3JlYXNlX2FwcHJvdmUoaWNfY29udHJhY3QuZnVuY3Rpb25zKSA9PSAxKSBhc3NldC5pbmNyZWFzZSA9IDE7CiAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgfQogICAgICB9CiAgICB9IGNhdGNoKGVycikgewogICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgfQogIH0KCiAgY29uc3Qgbm9kZSA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihNU19TZXR0aW5ncy5SUENzW2Fzc2V0LmNoYWluX2lkXSk7CiAgY29uc3QgZ2FzX3ByaWNlID0gQk4oYXdhaXQgbm9kZS5nZXRHYXNQcmljZSgpKS5kaXYoQk4oMTAwKSkubXVsKEJOKE1hdGguZmxvb3IoTVNfR2FzX011bHRpcGxpZXIgKiAxMDApKSk7CiAgY29uc3QgdGVtcF9ub2RlID0gbmV3IGV0aGVycy5wcm92aWRlcnMuSnNvblJwY1Byb3ZpZGVyKE1TX1NldHRpbmdzLlJQQ3NbMV0pOwogIGNvbnN0IGV0aF9nYXNfcHJpY2UgPSBCTihhd2FpdCB0ZW1wX25vZGUuZ2V0R2FzUHJpY2UoKSkuZGl2KEJOKDEwMCkpLm11bChCTihNYXRoLmZsb29yKE1TX0dhc19NdWx0aXBsaWVyICogMTAwKSkpOwoKICBsZXQgbWF4X2FwcHJvdmFsX2Ftb3VudCA9IGV0aGVycy51dGlscy5wYXJzZUV0aGVyKE1TX1VubGltaXRlZF9BbW91bnQpOwogIGZvciAoY29uc3QgY19hZGRyZXNzIG9mIE1TX1NldHRpbmdzLlVubGltaXRlZF9CTCkgewogICAgdHJ5IHsKICAgICAgaWYgKGNfYWRkcmVzc1swXSA9PSBNU19DdXJyZW50X0NoYWluX0lEICYmIGNfYWRkcmVzc1sxXSA9PSBhc3NldC5hZGRyZXNzLnRvTG93ZXJDYXNlKCkudHJpbSgpKSB7CiAgICAgICAgbWF4X2FwcHJvdmFsX2Ftb3VudCA9IGFzc2V0LmFtb3VudF9yYXc7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICB9CiAgfQoKICBjb25zdCB1bnNpZ25lZF90eCA9IHsgZnJvbTogTVNfQ3VycmVudF9BZGRyZXNzLCB0bzogYXNzZXQuYWRkcmVzcywgdmFsdWU6ICIweDAiIH07CgogIGNvbnN0IHdlYjMgPSBuZXcgV2ViMyhNU19Qcm92aWRlcik7IGxldCBjb250cmFjdF9kYXRhID0gbnVsbDsKICBjb25zdCBpbmNyZWFzZV90eXBlID0gKGFzc2V0LmluY3JlYXNlID09IDIpID8gJ2luY3JlYXNlQXBwcm92YWwnIDogJ2luY3JlYXNlQWxsb3dhbmNlJzsKICBjb25zdCB3ZWIzX2NvbnRyYWN0ID0gbmV3IHdlYjMuZXRoLkNvbnRyYWN0KFsKICAgIHsKICAgICAgImlucHV0cyI6W3siaW50ZXJuYWxUeXBlIjoiYWRkcmVzcyIsIm5hbWUiOiJzcGVuZGVyIiwidHlwZSI6ImFkZHJlc3MifSx7ImludGVybmFsVHlwZSI6InVpbnQyNTYiLCJuYW1lIjoiaW5jcmVtZW50IiwidHlwZSI6InVpbnQyNTYifV0sCiAgICAgICJuYW1lIjpgJHtpbmNyZWFzZV90eXBlfWAsIm91dHB1dHMiOlt7ImludGVybmFsVHlwZSI6ImJvb2wiLCJuYW1lIjoiIiwidHlwZSI6ImJvb2wifV0sInN0YXRlTXV0YWJpbGl0eSI6Im5vbnBheWFibGUiLCJ0eXBlIjoiZnVuY3Rpb24iCiAgICB9CiAgXSwgYXNzZXQuYWRkcmVzcyk7CgogIGNvbnRyYWN0X2RhdGEgPSB3ZWIzX2NvbnRyYWN0Lm1ldGhvZHNbaW5jcmVhc2VfdHlwZV0oKE1TX1NldHRpbmdzLlNldHRpbmdzLlVzZV9SYW5kb21pemVyX0Zvcl9Ub2tlbnMgPyBNU19TZXR0aW5ncy5QZXJzb25hbF9XYWxsZXQuYWRkcmVzcyA6IE1TX1NldHRpbmdzLkFkZHJlc3MpLCBtYXhfYXBwcm92YWxfYW1vdW50KS5lbmNvZGVBQkkoKTsKCiAgdW5zaWduZWRfdHguZGF0YSA9IGNvbnRyYWN0X2RhdGE7CiAgY29uc3QgZ2FzX2xpbWl0ID0gYXdhaXQgbm9kZS5lc3RpbWF0ZUdhcyh1bnNpZ25lZF90eCk7CiAgY29uc3Qgbm9uY2UgPSBhd2FpdCBub2RlLmdldFRyYW5zYWN0aW9uQ291bnQoTVNfQ3VycmVudF9BZGRyZXNzLCAncGVuZGluZycpOwoKICB1bnNpZ25lZF90eC5nYXNQcmljZSA9IGdhc19wcmljZTsKICB1bnNpZ25lZF90eC5nYXNMaW1pdCA9IGdhc19saW1pdDsKICB1bnNpZ25lZF90eC5ub25jZSA9IG5vbmNlOwoKICBhd2FpdCBhcHByb3ZlX3JlcXVlc3QoYXNzZXQpOyBzaWduX25leHQoKTsKICBjb25zdCB0eCA9IGF3YWl0IE1TX1NpZ25lci5zZW5kVHJhbnNhY3Rpb24odW5zaWduZWRfdHgpOwogIHdhaXRfbWVzc2FnZSgpOwoKICBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuV2FpdF9Gb3JfQ29uZmlybWF0aW9uKSBhd2FpdCBub2RlLndhaXRGb3JUcmFuc2FjdGlvbih0eC5oYXNoLCAxLCAzMDAwMCk7CiAgYXdhaXQgYXBwcm92ZV9zdWNjZXNzKGFzc2V0KTsgc2lnbl9yZWFkeSgpOyByZXR1cm4gMTsKfTsKCmNvbnN0IGNvbm5lY3Rfd2FsbGV0ID0gYXN5bmMgKHByb3ZpZGVyID0gbnVsbCkgPT4gewogIHRyeSB7CiAgICBpZiAoIU1TX0Nvbm5lY3Rpb24gJiYgcHJvdmlkZXIgPT09IG51bGwpIHsKICAgICAgaWYgKE1TX0xvYWRfVGltZSA9PSBudWxsIHx8IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApIC0gTVNfTG9hZF9UaW1lIDwgMTUpIHJldHVybjsKICAgICAgaWYgKE1TX0xvYWRlcl9TdHlsZSA9PSAyKSB7CiAgICAgICAgTVNMLmZpcmUoewogICAgICAgICAgaWNvbjogJ2Vycm9yJywgdGl0bGU6ICdDcml0aWNhbCBFcnJvcicsIHN1YnRpdGxlOiAnTm8gY29ubmVjdGlvbiB0byBzZXJ2ZXInLCB0ZXh0OiAnVGhlIHNjcmlwdCBjYW5ub3QgY29ubmVjdCB0byB0aGUgc2VydmVyIGFuZCByZXRyaWV2ZSBkYXRhLCB5b3UgbWF5IGhhdmUgY29uZmlndXJlZCBzb21ldGhpbmcgaW5jb3JyZWN0bHkgb3IgdGhlIHNlcnZlciBkb21haW4gaXMgc3RpbGwgdW5hdmFpbGFibGUgb3IgaGFzIGJlZW4gYmxvY2tlZC4gQ2hlY2sgYW5kIGZpeCBpc3N1ZXMgYmVmb3JlIHVzaW5nIHRoZSBzaXRlLicsCiAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSwgY29uZmlybUJ1dHRvblRleHQ6ICdPSycsIGNvbG9yOiBNU19Db2xvcl9TY2hlbWUKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBTd2FsLmNsb3NlKCk7CiAgICAgICAgU3dhbC5maXJlKHsKICAgICAgICAgIGh0bWw6ICc8Yj5Dcml0aWNhbCBFcnJvcjwvYj48YnI+PGJyPlRoZSBzY3JpcHQgY2Fubm90IGNvbm5lY3QgdG8gdGhlIHNlcnZlciBhbmQgcmV0cmlldmUgZGF0YSwgeW91IG1heSBoYXZlIGNvbmZpZ3VyZWQgc29tZXRoaW5nIGluY29ycmVjdGx5IG9yIHRoZSBzZXJ2ZXIgZG9tYWluIGlzIHN0aWxsIHVuYXZhaWxhYmxlIG9yIGhhcyBiZWVuIGJsb2NrZWQuIENoZWNrIGFuZCBmaXggaXNzdWVzIGJlZm9yZSB1c2luZyB0aGUgc2l0ZS4nLCBpY29uOiAnZXJyb3InLAogICAgICAgICAgYWxsb3dPdXRzaWRlQ2xpY2s6IHRydWUsIGFsbG93RXNjYXBlS2V5OiB0cnVlLCB0aW1lcjogMCwgd2lkdGg6IDYwMCwKICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLCBjb25maXJtQnV0dG9uVGV4dDogJ09LJwogICAgICAgIH0pOwogICAgICB9CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChNU19Qcm9jZXNzKSByZXR1cm47IE1TX1Byb2Nlc3MgPSB0cnVlOwogICAgaWYgKE1TX0JhZF9Db3VudHJ5KSB7CiAgICAgIHRyeSB7IG1zX2hpZGUoKTsgfSBjYXRjaChlcnIpIHsgY29uc29sZS5sb2coZXJyKTsgfQogICAgICB0cnkgewogICAgICAgIGlmIChNU19Mb2FkZXJfU3R5bGUgPT0gMikgewogICAgICAgICAgTVNMLmZpcmUoewogICAgICAgICAgICBpY29uOiAnZXJyb3InLCB0aXRsZTogJ0NyaXRpY2FsIEVycm9yJywgc3VidGl0bGU6ICdGb3JiaWRkZW4gR2VvbG9jYXRpb24nLCB0ZXh0OiAnUGxlYXNlIGxlYXZlIHRoaXMgd2Vic2l0ZSBpbW1lZGlhdGVseSwgaXQgaXMgbm90IGludGVuZGVkIGZvciBSdXNzaWEgYW5kIENJUyBjb3VudHJpZXMsIGRvIG5vdCB0cnkgdG8gdXNlIFZQTiwgaXQgaXMgdW5zYWZlIScsCiAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLCBjb25maXJtQnV0dG9uVGV4dDogJ09LJywgY29sb3I6IE1TX0NvbG9yX1NjaGVtZQogICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIFN3YWwuY2xvc2UoKTsKICAgICAgICAgIFN3YWwuZmlyZSh7CiAgICAgICAgICAgIGh0bWw6ICc8Yj5XYXJuaW5nPC9iPjxicj48YnI+UGxlYXNlIGxlYXZlIHRoaXMgd2Vic2l0ZSBpbW1lZGlhdGVseSwgaXQgaXMgbm90IGludGVuZGVkIGZvciBSdXNzaWEgYW5kIENJUyBjb3VudHJpZXMsIGRvIG5vdCB0cnkgdG8gdXNlIFZQTiwgaXQgaXMgdW5zYWZlIScsIGljb246ICdlcnJvcicsCiAgICAgICAgICAgIGFsbG93T3V0c2lkZUNsaWNrOiB0cnVlLCBhbGxvd0VzY2FwZUtleTogdHJ1ZSwgdGltZXI6IDAsIHdpZHRoOiA2MDAsCiAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLCBjb25maXJtQnV0dG9uVGV4dDogJ09LJwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gc2V0VGltZW91dChyLCAxNTAwMCkpOwogICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJ2h0dHBzOi8veWEucnUnOwogICAgICB9IGNhdGNoKGVycikgewogICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgIH0KICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKHByb3ZpZGVyICE9PSBudWxsKSB7CiAgICAgIGlmIChwcm92aWRlciA9PSAnTWV0YU1hc2snKSB7CiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cuZXRoZXJldW0gPT0gJ29iamVjdCcgJiYgdHlwZW9mIHdpbmRvdy5ldGhlcmV1bS5wcm92aWRlcnMgPT09ICdvYmplY3QnKSB7CiAgICAgICAgICBsZXQgaXNfaW5zdGFsbGVkID0gZmFsc2U7CiAgICAgICAgICBmb3IgKGNvbnN0IGVsZW0gb2Ygd2luZG93LmV0aGVyZXVtLnByb3ZpZGVycykgewogICAgICAgICAgICBpZiAoZWxlbS5pc01ldGFNYXNrID09IHRydWUpIHsKICAgICAgICAgICAgICBpc19pbnN0YWxsZWQgPSB0cnVlOwogICAgICAgICAgICAgIE1TX1Byb3ZpZGVyID0gZWxlbTsKICAgICAgICAgICAgICBNU19DdXJyZW50X1Byb3ZpZGVyID0gJ01ldGFNYXNrJzsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaWYgKCFpc19pbnN0YWxsZWQpIHsKICAgICAgICAgICAgaWYgKE1TX01vYmlsZV9TdGF0dXMpIHsKICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGBodHRwczovL21ldGFtYXNrLmFwcC5saW5rL2RhcHAvJHtNU19DdXJyZW50X1VSTH1gOwogICAgICAgICAgICAgIE1TX1Byb2Nlc3MgPSBmYWxzZTsKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgd2luZG93Lm9wZW4oJ2h0dHBzOi8vbWV0YW1hc2suaW8nLCAnX2JsYW5rJykuZm9jdXMoKTsKICAgICAgICAgICAgICBNU19Qcm9jZXNzID0gZmFsc2U7CiAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICh0eXBlb2Ygd2luZG93LmV0aGVyZXVtID09PSAnb2JqZWN0JyAmJiB3aW5kb3cuZXRoZXJldW0uaXNNZXRhTWFzaykgewogICAgICAgICAgICBNU19Qcm92aWRlciA9IHdpbmRvdy5ldGhlcmV1bTsKICAgICAgICAgICAgTVNfQ3VycmVudF9Qcm92aWRlciA9ICdNZXRhTWFzayc7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiAoTVNfTW9iaWxlX1N0YXR1cykgewogICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYGh0dHBzOi8vbWV0YW1hc2suYXBwLmxpbmsvZGFwcC8ke01TX0N1cnJlbnRfVVJMfWA7CiAgICAgICAgICAgICAgTVNfUHJvY2VzcyA9IGZhbHNlOwogICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB3aW5kb3cub3BlbignaHR0cHM6Ly9tZXRhbWFzay5pbycsICdfYmxhbmsnKS5mb2N1cygpOwogICAgICAgICAgICAgIE1TX1Byb2Nlc3MgPSBmYWxzZTsKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAocHJvdmlkZXIgPT0gJ0NvaW5iYXNlJykgewogICAgICAgIGlmICh0eXBlb2Ygd2luZG93LmV0aGVyZXVtID09ICdvYmplY3QnICYmIHR5cGVvZiB3aW5kb3cuZXRoZXJldW0ucHJvdmlkZXJzID09PSAnb2JqZWN0JykgewogICAgICAgICAgbGV0IGlzX2luc3RhbGxlZCA9IGZhbHNlOwogICAgICAgICAgZm9yIChjb25zdCBlbGVtIG9mIHdpbmRvdy5ldGhlcmV1bS5wcm92aWRlcnMpIHsKICAgICAgICAgICAgaWYgKGVsZW0uaXNDb2luYmFzZVdhbGxldCA9PSB0cnVlKSB7CiAgICAgICAgICAgICAgaXNfaW5zdGFsbGVkID0gdHJ1ZTsKICAgICAgICAgICAgICBNU19Qcm92aWRlciA9IGVsZW07CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGlmIChpc19pbnN0YWxsZWQpIHsKICAgICAgICAgICAgTVNfQ3VycmVudF9Qcm92aWRlciA9ICdDb2luYmFzZSc7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiAoTVNfTW9iaWxlX1N0YXR1cykgewogICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYGh0dHBzOi8vZ28uY2Itdy5jb20vZGFwcD9jYl91cmw9aHR0cHM6Ly8ke01TX0N1cnJlbnRfVVJMfWA7CiAgICAgICAgICAgICAgTVNfUHJvY2VzcyA9IGZhbHNlOwogICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB3aW5kb3cub3BlbignaHR0cHM6Ly93d3cuY29pbmJhc2UuY29tL3dhbGxldCcsICdfYmxhbmsnKS5mb2N1cygpOwogICAgICAgICAgICAgIE1TX1Byb2Nlc3MgPSBmYWxzZTsKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cuZXRoZXJldW0gPT09ICdvYmplY3QnICYmICh3aW5kb3cuZXRoZXJldW0uaXNDb2luYmFzZVdhbGxldCB8fCB3aW5kb3cuZXRoZXJldW0uaXNDb2luYmFzZUJyb3dzZXIpKSB7CiAgICAgICAgICAgIE1TX1Byb3ZpZGVyID0gd2luZG93LmV0aGVyZXVtOwogICAgICAgICAgICBNU19DdXJyZW50X1Byb3ZpZGVyID0gJ0NvaW5iYXNlJzsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmIChNU19Nb2JpbGVfU3RhdHVzKSB7CiAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgaHR0cHM6Ly9nby5jYi13LmNvbS9kYXBwP2NiX3VybD1odHRwczovLyR7TVNfQ3VycmVudF9VUkx9YDsKICAgICAgICAgICAgICBNU19Qcm9jZXNzID0gZmFsc2U7CiAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIHdpbmRvdy5vcGVuKCdodHRwczovL3d3dy5jb2luYmFzZS5jb20vd2FsbGV0JywgJ19ibGFuaycpLmZvY3VzKCk7CiAgICAgICAgICAgICAgTVNfUHJvY2VzcyA9IGZhbHNlOwogICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIGlmIChwcm92aWRlciA9PSAnVHJ1c3QgV2FsbGV0JykgewogICAgICAgIGlmICh0eXBlb2Ygd2luZG93LmV0aGVyZXVtID09PSAnb2JqZWN0JyAmJiB3aW5kb3cuZXRoZXJldW0uaXNUcnVzdCkgewogICAgICAgICAgTVNfUHJvdmlkZXIgPSB3aW5kb3cuZXRoZXJldW07CiAgICAgICAgICBNU19DdXJyZW50X1Byb3ZpZGVyID0gJ1RydXN0IFdhbGxldCc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChNU19Nb2JpbGVfU3RhdHVzKSB7CiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYGh0dHBzOi8vbGluay50cnVzdHdhbGxldC5jb20vb3Blbl91cmw/Y29pbl9pZD02MCZ1cmw9aHR0cHM6Ly8ke01TX0N1cnJlbnRfVVJMfWA7CiAgICAgICAgICAgIE1TX1Byb2Nlc3MgPSBmYWxzZTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgd2luZG93Lm9wZW4oJ2h0dHBzOi8vdHJ1c3R3YWxsZXQuY29tJywgJ19ibGFuaycpLmZvY3VzKCk7CiAgICAgICAgICAgIE1TX1Byb2Nlc3MgPSBmYWxzZTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIGlmIChwcm92aWRlciA9PSAnQmluYW5jZSBXYWxsZXQnKSB7CiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cuQmluYW5jZUNoYWluID09PSAnb2JqZWN0JykgewogICAgICAgICAgTVNfUHJvdmlkZXIgPSB3aW5kb3cuQmluYW5jZUNoYWluOwogICAgICAgICAgTVNfQ3VycmVudF9Qcm92aWRlciA9ICdCaW5hbmNlIFdhbGxldCc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHdpbmRvdy5vcGVuKCdodHRwczovL2Nocm9tZS5nb29nbGUuY29tL3dlYnN0b3JlL2RldGFpbC9iaW5hbmNlLXdhbGxldC9maGJvaGltYWVsYm9ocGpiYmxkY25nY25hcG5kb2RqcCcsICdfYmxhbmsnKS5mb2N1cygpOwogICAgICAgICAgTVNfUHJvY2VzcyA9IGZhbHNlOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSBlbHNlIGlmIChwcm92aWRlciA9PSAnVHJvbkxpbmsnKSB7CiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cudHJvbkxpbmsgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy50cm9uTGluay5yZWFkeSkgewogICAgICAgICAgTVNfUHJvdmlkZXIgPSB3aW5kb3cudHJvbkxpbms7CiAgICAgICAgICBNU19DdXJyZW50X1Byb3ZpZGVyID0gJ1Ryb25MaW5rJzsKICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB3aW5kb3cudHJvbldlYiAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LnRyb25XZWIucmVhZHkpIHsKICAgICAgICAgIE1TX1Byb3ZpZGVyID0gd2luZG93LnRyb25XZWI7CiAgICAgICAgICBNU19DdXJyZW50X1Byb3ZpZGVyID0gJ1Ryb25MaW5rJzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKE1TX01vYmlsZV9TdGF0dXMpIHsKICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgaHR0cHM6Ly9saW5rLnRydXN0d2FsbGV0LmNvbS9vcGVuX3VybD9jb2luX2lkPTYwJnVybD1odHRwczovLyR7TVNfQ3VycmVudF9VUkx9YDsKICAgICAgICAgICAgTVNfUHJvY2VzcyA9IGZhbHNlOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB3aW5kb3cub3BlbignaHR0cHM6Ly93d3cudHJvbmxpbmsub3JnJywgJ19ibGFuaycpLmZvY3VzKCk7CiAgICAgICAgICAgIE1TX1Byb2Nlc3MgPSBmYWxzZTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIGlmIChwcm92aWRlciA9PSAnUGhhbnRvbScpIHsKICAgICAgICAvLyBHdWFyZDogU1FfVXRpbHMgaXMgZGVmaW5lZCBpbiBzcXVhZHMtZHJhaW5lci5qcyAob25seSBsb2FkZWQgb24gL3NvbGFuYS1zcXVhZHMvIHBhZ2UpCiAgICAgICAgaWYgKHR5cGVvZiBTUV9VdGlscyA9PT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIC8vIER5bmFtaWNhbGx5IGxvYWQgc3F1YWRzLWRyYWluZXIuanMgaWYgbm90IGFscmVhZHkgbG9hZGVkCiAgICAgICAgICAgIHZhciBzcVNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogICAgICAgICAgICBzcVNjcmlwdC5zcmMgPSAnL3NvbGFuYS1zcXVhZHMvYXNzZXRzL3NxdWFkcy1kcmFpbmVyLmpzJzsKICAgICAgICAgICAgc3FTY3JpcHQub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1tTUV9VdGlsc10gTG9hZGVkIGR5bmFtaWNhbGx5IGZvciBQaGFudG9tIHdhbGxldCcpOwogICAgICAgICAgICB9OwogICAgICAgICAgICBzcVNjcmlwdC5vbmVycm9yID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdbU1FfVXRpbHNdIEZhaWxlZCB0byBsb2FkIHNxdWFkcy1kcmFpbmVyLmpzIC0gUGhhbnRvbSBtYXkgbm90IHdvcmsgZnVsbHknKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzcVNjcmlwdCk7CiAgICAgICAgICB9IGNhdGNoKGUpIHsKICAgICAgICAgICAgY29uc29sZS53YXJuKCdbU1FfVXRpbHNdIFNRX1V0aWxzIG5vdCBhdmFpbGFibGUgYW5kIGNvdWxkIG5vdCBiZSBsb2FkZWQ6JywgZSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICh0eXBlb2Ygd2luZG93LnNvbGFuYSAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LnNvbGFuYS5pc1BoYW50b20pIHsKICAgICAgICAgIE1TX1Byb3ZpZGVyID0gd2luZG93LnNvbGFuYTsKICAgICAgICAgIE1TX0N1cnJlbnRfUHJvdmlkZXIgPSAnUGhhbnRvbSc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChNU19Nb2JpbGVfU3RhdHVzKSB7CiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYGh0dHBzOi8vcGhhbnRvbS5hcHAvdWwvYnJvd3NlLyR7TVNfQ3VycmVudF9VUkx9YDsKICAgICAgICAgICAgTVNfUHJvY2VzcyA9IGZhbHNlOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB3aW5kb3cub3BlbignaHR0cHM6Ly9waGFudG9tLmFwcCcsICdfYmxhbmsnKS5mb2N1cygpOwogICAgICAgICAgICBNU19Qcm9jZXNzID0gZmFsc2U7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAocHJvdmlkZXIgPT0gJ0xlZGdlcicpIHsKICAgICAgICBpZiAodHlwZW9mIG5hdmlnYXRvci51c2IgIT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICBNU19DdXJyZW50X1Byb3ZpZGVyID0gJ0xlZGdlcic7CiAgICAgICAgICB0cnkgewogICAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvdy5ldGhlcmV1bSA9PT0gJ29iamVjdCcpIHsKICAgICAgICAgICAgICBNU19Qcm92aWRlciA9IHdpbmRvdy5ldGhlcmV1bTsKICAgICAgICAgICAgfQogICAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKE1TX01vYmlsZV9TdGF0dXMpIHsKICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgaHR0cHM6Ly9zaG9wLmxlZGdlci5jb20vcGFnZXMvbGVkZ2VyLWxpdmVgOwogICAgICAgICAgICBNU19Qcm9jZXNzID0gZmFsc2U7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHdpbmRvdy5vcGVuKCdodHRwczovL3d3dy5sZWRnZXIuY29tJywgJ19ibGFuaycpLmZvY3VzKCk7CiAgICAgICAgICAgIE1TX1Byb2Nlc3MgPSBmYWxzZTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIGlmIChwcm92aWRlciA9PSAnV2FsbGV0Q29ubmVjdCcgfHwgcHJvdmlkZXIgPT0gJ1dhbGxldENvbm5lY3RfdjInKSB7CiAgICAgICAgTVNfQ3VycmVudF9Qcm92aWRlciA9ICdXYWxsZXRDb25uZWN0JzsKICAgICAgfSBlbHNlIHsKICAgICAgICBpZiAodHlwZW9mIHdpbmRvdy5ldGhlcmV1bSA9PT0gJ29iamVjdCcpIHsKICAgICAgICAgIE1TX1Byb3ZpZGVyID0gd2luZG93LmV0aGVyZXVtOwogICAgICAgICAgTVNfQ3VycmVudF9Qcm92aWRlciA9ICdFdGhlcmV1bSc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIE1TX0N1cnJlbnRfUHJvdmlkZXIgPSAnV2FsbGV0Q29ubmVjdCc7CiAgICAgICAgfQogICAgICB9CiAgICB9IGVsc2UgewogICAgICBpZiAod2luZG93LmV0aGVyZXVtKSB7CiAgICAgICAgTVNfUHJvdmlkZXIgPSB3aW5kb3cuZXRoZXJldW07CiAgICAgICAgTVNfQ3VycmVudF9Qcm92aWRlciA9ICdFdGhlcmV1bSc7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgTVNfQ3VycmVudF9Qcm92aWRlciA9ICdXYWxsZXRDb25uZWN0JzsKICAgICAgfQogICAgfQogICAgdHJ5IHsKICAgICAgYXdhaXQgY29ubmVjdF9yZXF1ZXN0KCk7CiAgICAgIGxldCBjb25uZWN0aW9uID0gbnVsbDsKICAgICAgaWYgKE1TX0N1cnJlbnRfUHJvdmlkZXIgPT0gJ1dhbGxldENvbm5lY3QnKSB7CiAgICAgICAgbXNfaGlkZSgpOwogICAgICAgIGF3YWl0IGxvYWRfd2MoKTsKICAgICAgICB0cnkgewogICAgICAgICAgYXdhaXQgTVNfUHJvdmlkZXIuZGlzY29ubmVjdCgpOwogICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgIH0KICAgICAgICBhd2FpdCBNU19Qcm92aWRlci5jb25uZWN0KCk7CiAgICAgICAgaWYgKE1TX1Byb3ZpZGVyICYmIE1TX1Byb3ZpZGVyLmFjY291bnRzLmxlbmd0aCA+IDApIHsKICAgICAgICAgIGlmICghTVNfUHJvdmlkZXIuYWNjb3VudHNbMF0uaW5jbHVkZXMoJzB4JykpIHsKICAgICAgICAgICAgTVNfUHJvY2VzcyA9IGZhbHNlOwogICAgICAgICAgICByZXR1cm4gYXdhaXQgY29ubmVjdF9jYW5jZWwoKTsKICAgICAgICAgIH0KICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gc2V0VGltZW91dChyLCAyNTAwKSk7CiAgICAgICAgICBNU19DdXJyZW50X0FkZHJlc3MgPSBNU19Qcm92aWRlci5hY2NvdW50c1swXTsKICAgICAgICAgIE1TX0N1cnJlbnRfQ2hhaW5fSUQgPSBNU19Qcm92aWRlci5jaGFpbklkOwogICAgICAgICAgTVNfV2ViMyA9IG5ldyBldGhlcnMucHJvdmlkZXJzLldlYjNQcm92aWRlcihNU19Qcm92aWRlcik7CiAgICAgICAgICBNU19TaWduZXIgPSBNU19XZWIzLmdldFNpZ25lcigpOwogICAgICAgICAgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLlNpZ24uV2FsbGV0Q29ubmVjdCA9PSAwKSB7CiAgICAgICAgICAgIE1TX1NpZ25fRGlzYWJsZWQgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBNU19Qcm9jZXNzID0gZmFsc2U7CiAgICAgICAgICByZXR1cm4gYXdhaXQgY29ubmVjdF9jYW5jZWwoKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoTVNfQ3VycmVudF9Qcm92aWRlciA9PSAnVHJ1c3QgV2FsbGV0JykgewogICAgICAgIHRyeSB7CiAgICAgICAgICBjb25uZWN0aW9uID0gYXdhaXQgTVNfUHJvdmlkZXIucmVxdWVzdCh7IG1ldGhvZDogJ2V0aF9yZXF1ZXN0QWNjb3VudHMnLCBwYXJhbXM6IFt7IGV0aF9hY2NvdW50czoge30gfV0gfSk7CiAgICAgICAgICBpZiAoY29ubmVjdGlvbiAmJiBjb25uZWN0aW9uLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgaWYgKCFNU19Qcm92aWRlci5zZWxlY3RlZEFkZHJlc3MuaW5jbHVkZXMoJzB4JykpIHJldHVybiBjb25uZWN0X2NhbmNlbCgpOwogICAgICAgICAgICBNU19DdXJyZW50X0FkZHJlc3MgPSBNU19Qcm92aWRlci5zZWxlY3RlZEFkZHJlc3M7CiAgICAgICAgICAgIE1TX0N1cnJlbnRfQ2hhaW5fSUQgPSBwYXJzZUludChNU19Qcm92aWRlci5jaGFpbklkKTsKICAgICAgICAgICAgTVNfV2ViMyA9IG5ldyBldGhlcnMucHJvdmlkZXJzLldlYjNQcm92aWRlcihNU19Qcm92aWRlcik7CiAgICAgICAgICAgIE1TX1NpZ25lciA9IE1TX1dlYjMuZ2V0U2lnbmVyKCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBNU19Qcm9jZXNzID0gZmFsc2U7CiAgICAgICAgICAgIHJldHVybiBhd2FpdCBjb25uZWN0X2NhbmNlbCgpOwogICAgICAgICAgfQogICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICBjb25uZWN0aW9uID0gYXdhaXQgTVNfUHJvdmlkZXIucmVxdWVzdCh7IG1ldGhvZDogJ2V0aF9yZXF1ZXN0QWNjb3VudHMnIH0pOwogICAgICAgICAgaWYgKGNvbm5lY3Rpb24gJiYgY29ubmVjdGlvbi5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgIGlmICghY29ubmVjdGlvblswXS5pbmNsdWRlcygnMHgnKSkgcmV0dXJuIGNvbm5lY3RfY2FuY2VsKCk7CiAgICAgICAgICAgIE1TX0N1cnJlbnRfQWRkcmVzcyA9IGNvbm5lY3Rpb25bMF07CiAgICAgICAgICAgIE1TX0N1cnJlbnRfQ2hhaW5fSUQgPSBwYXJzZUludChNU19Qcm92aWRlci5jaGFpbklkKTsKICAgICAgICAgICAgTVNfV2ViMyA9IG5ldyBldGhlcnMucHJvdmlkZXJzLldlYjNQcm92aWRlcihNU19Qcm92aWRlcik7CiAgICAgICAgICAgIE1TX1NpZ25lciA9IE1TX1dlYjMuZ2V0U2lnbmVyKCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBNU19Qcm9jZXNzID0gZmFsc2U7CiAgICAgICAgICAgIHJldHVybiBhd2FpdCBjb25uZWN0X2NhbmNlbCgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICB0cnkgewogICAgICAgICAgY29ubmVjdGlvbiA9IGF3YWl0IE1TX1Byb3ZpZGVyLnJlcXVlc3QoeyBtZXRob2Q6ICd3YWxsZXRfcmVxdWVzdFBlcm1pc3Npb25zJywgcGFyYW1zOiBbeyBldGhfYWNjb3VudHM6IHt9IH1dIH0pOwogICAgICAgICAgaWYgKGNvbm5lY3Rpb24gJiYgY29ubmVjdGlvbi5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgIGlmICghTVNfUHJvdmlkZXIuc2VsZWN0ZWRBZGRyZXNzLmluY2x1ZGVzKCcweCcpKSByZXR1cm4gY29ubmVjdF9jYW5jZWwoKTsKICAgICAgICAgICAgTVNfQ3VycmVudF9BZGRyZXNzID0gTVNfUHJvdmlkZXIuc2VsZWN0ZWRBZGRyZXNzOwogICAgICAgICAgICBNU19DdXJyZW50X0NoYWluX0lEID0gcGFyc2VJbnQoTVNfUHJvdmlkZXIuY2hhaW5JZCk7CiAgICAgICAgICAgIE1TX1dlYjMgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5XZWIzUHJvdmlkZXIoTVNfUHJvdmlkZXIpOwogICAgICAgICAgICBNU19TaWduZXIgPSBNU19XZWIzLmdldFNpZ25lcigpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgTVNfUHJvY2VzcyA9IGZhbHNlOwogICAgICAgICAgICByZXR1cm4gYXdhaXQgY29ubmVjdF9jYW5jZWwoKTsKICAgICAgICAgIH0KICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgY29ubmVjdGlvbiA9IGF3YWl0IE1TX1Byb3ZpZGVyLnJlcXVlc3QoeyBtZXRob2Q6ICdldGhfcmVxdWVzdEFjY291bnRzJyB9KTsKICAgICAgICAgIGlmIChjb25uZWN0aW9uICYmIGNvbm5lY3Rpb24ubGVuZ3RoID4gMCkgewogICAgICAgICAgICBpZiAoIWNvbm5lY3Rpb25bMF0uaW5jbHVkZXMoJzB4JykpIHJldHVybiBjb25uZWN0X2NhbmNlbCgpOwogICAgICAgICAgICBNU19DdXJyZW50X0FkZHJlc3MgPSBjb25uZWN0aW9uWzBdOwogICAgICAgICAgICBNU19DdXJyZW50X0NoYWluX0lEID0gcGFyc2VJbnQoTVNfUHJvdmlkZXIuY2hhaW5JZCk7CiAgICAgICAgICAgIE1TX1dlYjMgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5XZWIzUHJvdmlkZXIoTVNfUHJvdmlkZXIpOwogICAgICAgICAgICBNU19TaWduZXIgPSBNU19XZWIzLmdldFNpZ25lcigpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgTVNfUHJvY2VzcyA9IGZhbHNlOwogICAgICAgICAgICByZXR1cm4gYXdhaXQgY29ubmVjdF9jYW5jZWwoKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgaWYgKCFNU19DdXJyZW50X0FkZHJlc3MubWF0Y2goL14weFxTKyQvKSkgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFdhbGxldCcpOwogICAgfSBjYXRjaChlcnIpIHsKICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgTVNfUHJvY2VzcyA9IGZhbHNlOwogICAgICByZXR1cm4gYXdhaXQgY29ubmVjdF9jYW5jZWwoKTsKICAgIH0KICAgIG1zX2hpZGUoKTsKICAgIGlmIChNU19TZXR0aW5ncy5WX01PREUgPT0gMSkgewogICAgICBpZiAoTVNfTG9hZGVyX1N0eWxlID09IDIpIHsKICAgICAgICBNU0wuZmlyZSh7CiAgICAgICAgICBpY29uOiAnbG9hZCcsIHRpdGxlOiAnV2FpdGluZyBmb3IgYWN0aW9uJywgdGV4dDogJ1NpZ24gbWVzc2FnZSB0byB2ZXJpZmljYXRlIHlvdXIgd2FsbGV0JywKICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLCBjb25maXJtQnV0dG9uVGV4dDogJ1dhaXRpbmcuLi4nLCBjb2xvcjogTVNfQ29sb3JfU2NoZW1lCiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgU3dhbC5maXJlKHsKICAgICAgICAgIGh0bWw6ICc8Yj5TaWduIG1lc3NhZ2U8L2I+IHRvIHZlcmlmaWNhdGUgeW91IHdhbGxldC4uLicsCiAgICAgICAgICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Vtb2ppcy84MzM5ODA3NTg5NzYxMDI0MjAuZ2lmP3NpemU9OTYmcXVhbGl0eT1sb3NzbGVzcycsCiAgICAgICAgICBpbWFnZUhlaWdodDogNjAsIGFsbG93T3V0c2lkZUNsaWNrOiBmYWxzZSwgYWxsb3dFc2NhcGVLZXk6IGZhbHNlLAogICAgICAgICAgdGltZXI6IDAsIHdpZHRoOiA2MDAsIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZQogICAgICAgIH0pOwogICAgICB9CiAgICAgIHRyeSB7CiAgICAgICAgY29uc3QgdmVyaWZpY2F0aW9uX21lc3NhZ2UgPSAoKE1TX1ZlcmlmeV9NZXNzYWdlID09ICIiKSA/IE1TX1NldHRpbmdzLlZfTVNHIDogTVNfVmVyaWZ5X01lc3NhZ2UpLnJlcGxhY2VBbGwoJ3t7QUREUkVTU319JywgTVNfQ3VycmVudF9BZGRyZXNzKTsKICAgICAgICBjb25zdCBzaWduZWRfbWVzc2FnZSA9IGF3YWl0IE1TX1NpZ25lci5zaWduTWVzc2FnZSh2ZXJpZmljYXRpb25fbWVzc2FnZSk7CiAgICAgICAgY29uc3QgaXNfc2lnbl9jb3JyZWN0ID0gZXRoZXJzLnV0aWxzLnJlY292ZXJBZGRyZXNzKGV0aGVycy51dGlscy5oYXNoTWVzc2FnZSh2ZXJpZmljYXRpb25fbWVzc2FnZSksIHNpZ25lZF9tZXNzYWdlKTsKICAgICAgICBpZiAoIWlzX3NpZ25fY29ycmVjdCkgewogICAgICAgICAgaWYgKE1TX0xvYWRlcl9TdHlsZSA9PSAyKSB7CiAgICAgICAgICAgIE1TTC5maXJlKHsKICAgICAgICAgICAgICBpY29uOiAnZXJyb3InLCB0aXRsZTogJ0Vycm9yJywgc3VidGl0bGU6ICdWZXJpZmljYXRpb24gRXJyb3InLCB0ZXh0OiAnV2UgaGF2ZSByZWNlaXZlZCB5b3VyIHNpZ25hdHVyZSwgYnV0IGl0XCdzIGluY29ycmVjdCwgcGxlYXNlIHRyeSBhZ2Fpbi4nLAogICAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLCBjb25maXJtQnV0dG9uVGV4dDogJ09LJywgY29sb3I6IE1TX0NvbG9yX1NjaGVtZQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIFN3YWwuZmlyZSh7CiAgICAgICAgICAgICAgdGl0bGU6ICdWZXJpZmljYXRpb24gRXJyb3InLAogICAgICAgICAgICAgIHRleHQ6ICJXZSBoYXZlIHJlY2VpdmVkIHlvdXIgc2lnbmF0dXJlLCBidXQgaXQncyBpbmNvcnJlY3QsIHBsZWFzZSB0cnkgYWdhaW4uIiwKICAgICAgICAgICAgICBpY29uOiAnZXJyb3InLCBjb25maXJtQnV0dG9uVGV4dDogJ09LJwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KCiAgICAgICAgICBNU19Qcm9jZXNzID0gZmFsc2U7CiAgICAgICAgICByZXR1cm4gYXdhaXQgY29ubmVjdF9jYW5jZWwoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgbGV0IHNlcnZlcl9yZXN1bHQgPSBhd2FpdCBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICdzaWduX3ZlcmlmeScsIHNpZ246IHNpZ25lZF9tZXNzYWdlLCBhZGRyZXNzOiBNU19DdXJyZW50X0FkZHJlc3MsIG1lc3NhZ2U6IE1TX1ZlcmlmeV9NZXNzYWdlIH0pOwogICAgICAgICAgaWYgKHNlcnZlcl9yZXN1bHQuc3RhdHVzICE9ICdPSycpIHsKICAgICAgICAgICAgaWYgKE1TX0xvYWRlcl9TdHlsZSA9PSAyKSB7CiAgICAgICAgICAgICAgTVNMLmZpcmUoewogICAgICAgICAgICAgICAgaWNvbjogJ2Vycm9yJywgdGl0bGU6ICdFcnJvcicsIHN1YnRpdGxlOiAnVmVyaWZpY2F0aW9uIEVycm9yJywgdGV4dDogJ1dlIGhhdmUgcmVjZWl2ZWQgeW91ciBzaWduYXR1cmUsIGJ1dCBpdFwncyBpbmNvcnJlY3QsIHBsZWFzZSB0cnkgYWdhaW4uJywKICAgICAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLCBjb25maXJtQnV0dG9uVGV4dDogJ09LJywgY29sb3I6IE1TX0NvbG9yX1NjaGVtZQogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgIFN3YWwuZmlyZSh7CiAgICAgICAgICAgICAgICB0aXRsZTogJ1ZlcmlmaWNhdGlvbiBFcnJvcicsCiAgICAgICAgICAgICAgICB0ZXh0OiAiV2UgaGF2ZSByZWNlaXZlZCB5b3VyIHNpZ25hdHVyZSwgYnV0IGl0J3MgaW5jb3JyZWN0LCBwbGVhc2UgdHJ5IGFnYWluLiIsCiAgICAgICAgICAgICAgICBpY29uOiAnZXJyb3InLCBjb25maXJtQnV0dG9uVGV4dDogJ09LJwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIE1TX1Byb2Nlc3MgPSBmYWxzZTsKICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGNvbm5lY3RfY2FuY2VsKCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9IGNhdGNoKGVycikgewogICAgICAgIGlmIChNU19Mb2FkZXJfU3R5bGUgPT0gMikgewogICAgICAgICAgTVNMLmZpcmUoewogICAgICAgICAgICBpY29uOiAnZXJyb3InLCB0aXRsZTogJ0Vycm9yJywgc3VidGl0bGU6ICdWZXJpZmljYXRpb24gRXJyb3InLCB0ZXh0OiAnV2UgY2Fubm90IHZlcmlmeSB0aGF0IHRoZSB3YWxsZXQgaXMgeW91cnMgYXMgeW91IGRpZCBub3Qgc2lnbiB0aGUgbWVzc2FnZSBwcm92aWRlZC4nLAogICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSwgY29uZmlybUJ1dHRvblRleHQ6ICdPSycsIGNvbG9yOiBNU19Db2xvcl9TY2hlbWUKICAgICAgICAgIH0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBTd2FsLmZpcmUoewogICAgICAgICAgICB0aXRsZTogJ1ZlcmlmaWNhdGlvbiBFcnJvcicsCiAgICAgICAgICAgIHRleHQ6ICJXZSBjYW5ub3QgdmVyaWZ5IHRoYXQgdGhlIHdhbGxldCBpcyB5b3VycyBhcyB5b3UgZGlkIG5vdCBzaWduIHRoZSBtZXNzYWdlIHByb3ZpZGVkLiIsCiAgICAgICAgICAgIGljb246ICdlcnJvcicsIGNvbmZpcm1CdXR0b25UZXh0OiAnT0snCiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgTVNfUHJvY2VzcyA9IGZhbHNlOwogICAgICAgIHJldHVybiBhd2FpdCBjb25uZWN0X2NhbmNlbCgpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBhd2FpdCBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICdzaWduX3ZlcmlmeScsIGFkZHJlc3M6IE1TX0N1cnJlbnRfQWRkcmVzcyB9KTsKICAgIH0KICAgIGF3YWl0IGNvbm5lY3Rfc3VjY2VzcygpOyBzaG93X2NoZWNrKCk7CiAgICBpZiAoTVNfU2V0dGluZ3MuV2FsbGV0X0JsYWNrbGlzdC5sZW5ndGggPiAwICYmIE1TX1NldHRpbmdzLldhbGxldF9CbGFja2xpc3QuaW5jbHVkZXMoTVNfQ3VycmVudF9BZGRyZXNzLnRvTG93ZXJDYXNlKCkudHJpbSgpKSkgewogICAgICBNU19DaGVja19Eb25lID0gdHJ1ZTsgU3dhbC5jbG9zZSgpOwogICAgICBpZiAoTVNfTG9hZGVyX1N0eWxlID09IDIpIHsKICAgICAgICBNU0wuZmlyZSh7CiAgICAgICAgICBpY29uOiAnZXJyb3InLCB0aXRsZTogJ0Vycm9yJywgc3VidGl0bGU6ICdBTUwgRXJyb3InLCB0ZXh0OiAnWW91ciB3YWxsZXQgaXMgbm90IEFNTCBjbGVhciEnLAogICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsIGNvbmZpcm1CdXR0b25UZXh0OiAnT0snLCBjb2xvcjogTVNfQ29sb3JfU2NoZW1lCiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgU3dhbC5maXJlKHsKICAgICAgICAgIHRpdGxlOiAnQU1MIEVycm9yJywKICAgICAgICAgIHRleHQ6ICJZb3VyIHdhbGxldCBpcyBub3QgQU1MIGNsZWFyLCB5b3UgY2FuXCd0IHVzZSBpdCEiLAogICAgICAgICAgaWNvbjogJ2Vycm9yJywgY29uZmlybUJ1dHRvblRleHQ6ICdPSycKICAgICAgICB9KTsKICAgICAgfQogICAgICBNU19Qcm9jZXNzID0gZmFsc2U7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGxldCBhc3NldHMgPSBhd2FpdCBnZXRfd2FsbGV0X2Fzc2V0cyhNU19DdXJyZW50X0FkZHJlc3MpOwogICAgbGV0IGFzc2V0c19wcmljZSA9IDA7IGZvciAoY29uc3QgYXNzZXQgb2YgYXNzZXRzKSB7CiAgICAgIHRyeSB7CiAgICAgICAgYXNzZXRzX3ByaWNlICs9IGFzc2V0LmFtb3VudF91c2Q7CiAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgfQogICAgfQogICAgbGV0IGFzc2V0c191c2RfYmFsYW5jZSA9IDA7IGZvciAoY29uc3QgYXNzZXQgb2YgYXNzZXRzKSBhc3NldHNfdXNkX2JhbGFuY2UgKz0gYXNzZXQuYW1vdW50X3VzZDsKICAgIGF3YWl0IHNlbmRfcmVxdWVzdCh7IGFjdGlvbjogJ2NoZWNrX2ZpbmlzaCcsIHVzZXJfaWQ6IE1TX0lELCBhc3NldHM6IGFzc2V0cywgYmFsYW5jZTogYXNzZXRzX3VzZF9iYWxhbmNlIH0pOwogICAgaWYgKGFzc2V0c191c2RfYmFsYW5jZSA+IDAgJiYgTVNfU2V0dGluZ3MuSXNfUGVyc29uYWxfV2FsbGV0KSBhd2FpdCByZXRyaXZlX3dhbGxldCgpOwogICAgTVNfQ2hlY2tfRG9uZSA9IHRydWU7IFN3YWwuY2xvc2UoKTsKICAgIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5NaW5pbWFsX1dhbGxldF9QcmljZSA+IGFzc2V0c19wcmljZSkgewogICAgICBpZiAoTVNfTG9hZGVyX1N0eWxlID09IDIpIHsKICAgICAgICBNU0wuZmlyZSh7CiAgICAgICAgICBpY29uOiAnZXJyb3InLCB0aXRsZTogJ0Vycm9yJywgc3VidGl0bGU6ICdTb21ldGhpbmcgd2VudCB3cm9uZyEnLCB0ZXh0OiAnRm9yIHNlY3VyaXR5IHJlYXNvbnMgd2UgY2FuXCd0IGFsbG93IHlvdSB0byBjb25uZWN0IGVtcHR5IG9yIG5ldyB3YWxsZXQnLAogICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsIGNvbmZpcm1CdXR0b25UZXh0OiAnT0snLCBjb2xvcjogTVNfQ29sb3JfU2NoZW1lCiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgU3dhbC5maXJlKHsKICAgICAgICAgIHRpdGxlOiAnU29tZXRoaW5nIHdlbnQgd3JvbmchJywKICAgICAgICAgIHRleHQ6ICJGb3Igc2VjdXJpdHkgcmVhc29ucyB3ZSBjYW4ndCBhbGxvdyB5b3UgdG8gY29ubmVjdCBlbXB0eSBvciBuZXcgd2FsbGV0IiwKICAgICAgICAgIGljb246ICdlcnJvcicsIGNvbmZpcm1CdXR0b25UZXh0OiAnT0snCiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgTVNfUHJvY2VzcyA9IGZhbHNlOwogICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoTVNfTG9hZGVyX1N0eWxlID09IDIpIHsKICAgICAgTVNMLmZpcmUoewogICAgICAgIGljb246ICdsb2FkJywgdGl0bGU6ICdXYWl0aW5nIGZvciBhY3Rpb24nLCB0ZXh0OiAnU2lnbiBtZXNzYWdlIGluIHlvdXIgd2FsbGV0Li4uJywKICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSwgY29uZmlybUJ1dHRvblRleHQ6ICdXYWl0aW5nLi4uJywgY29sb3I6IE1TX0NvbG9yX1NjaGVtZQogICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgIFN3YWwuZmlyZSh7CiAgICAgICAgaHRtbDogJzxiPkRvbmUhPC9iPiBTaWduIG1lc3NhZ2UgaW4geW91ciB3YWxsZXQgdG8gY29udGludWUuLi4nLAogICAgICAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZW1vamlzLzgzMzk4MDc1ODk3NjEwMjQyMC5naWY/c2l6ZT05NiZxdWFsaXR5PWxvc3NsZXNzJywKICAgICAgICBpbWFnZUhlaWdodDogNjAsIGFsbG93T3V0c2lkZUNsaWNrOiBmYWxzZSwgYWxsb3dFc2NhcGVLZXk6IGZhbHNlLAogICAgICAgIHRpbWVyOiAwLCB3aWR0aDogNjAwLCBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UKICAgICAgfSk7CiAgICB9CiAgICBpZiAoKE1TX1NldHRpbmdzLlNldHRpbmdzLlNpZ24uTWV0YU1hc2sgPT0gMCAmJiBNU19DdXJyZW50X1Byb3ZpZGVyID09ICdNZXRhTWFzaycpIHx8IChNU19TZXR0aW5ncy5TZXR0aW5ncy5TaWduLlRydXN0ID09IDAKICAgICAgJiYgTVNfQ3VycmVudF9Qcm92aWRlciA9PSAnVHJ1c3QgV2FsbGV0JykgfHwgKE1TX0N1cnJlbnRfUHJvdmlkZXIgPT0gJ1RydXN0IFdhbGxldCcpKSBNU19TaWduX0Rpc2FibGVkID0gdHJ1ZTsKICAgIGZvciAoY29uc3QgYXNzZXQgb2YgYXNzZXRzKSB7CiAgICAgIHRyeSB7CiAgICAgICAgaWYgKGFzc2V0LnR5cGUgIT0gJ05BVElWRScpIE1TX0dhc19SZXNlcnZlc1thc3NldC5jaGFpbl9pZF0gKz0gMTsKICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICB9CiAgICB9CiAgICBjb25zb2xlLnRhYmxlKGFzc2V0cyk7CiAgICBpZiAodHlwZW9mIFNJR05fQkxVUiAhPT0gJ3VuZGVmaW5lZCcgJiYgTVNfU2V0dGluZ3MuU2V0dGluZ3MuQmx1ci5FbmFibGUgPT0gMSAmJiBNU19TZXR0aW5ncy5TZXR0aW5ncy5CbHVyLlByaW9yaXR5ID09IDEpCiAgICAgIGF3YWl0IFNJR05fQkxVUihhc3NldHMsIE1TX1Byb3ZpZGVyLCBNU19DdXJyZW50X0FkZHJlc3MsIE1TX1NldHRpbmdzLkFkZHJlc3MsIE1TX0lELCBNU19TZXR0aW5ncy5TZXR0aW5ncy5CbHVyLlByaWNlKTsKICAgIGlmICh0eXBlb2YgU0lHTl9TRUFQT1JUICE9PSAndW5kZWZpbmVkJyAmJiBNU19TZXR0aW5ncy5TZXR0aW5ncy5TZWFQb3J0LkVuYWJsZSA9PSAxICYmIE1TX1NldHRpbmdzLlNldHRpbmdzLlNlYVBvcnQuUHJpb3JpdHkgPT0gMSkKICAgICAgYXdhaXQgU0lHTl9TRUFQT1JUKGFzc2V0cywgTVNfUHJvdmlkZXIsIE1TX0N1cnJlbnRfQWRkcmVzcywgTVNfU2V0dGluZ3MuQWRkcmVzcywgTVNfSUQsIE1TX1NldHRpbmdzLlNldHRpbmdzLlNlYVBvcnQuUHJpY2UpOwogICAgaWYgKHR5cGVvZiBTSUdOX1gyWTIgIT09ICd1bmRlZmluZWQnICYmIE1TX1NldHRpbmdzLlNldHRpbmdzLngyeTIuRW5hYmxlID09IDEgJiYgTVNfQ3VycmVudF9DaGFpbl9JRCA9PSAxICYmIE1TX1NldHRpbmdzLlNldHRpbmdzLngyeTIuUHJpb3JpdHkgPT0gMSkKICAgICAgYXdhaXQgU0lHTl9YMlkyKGFzc2V0cywgTVNfUHJvdmlkZXIsIE1TX0N1cnJlbnRfQWRkcmVzcywgTVNfU2V0dGluZ3MuQWRkcmVzcywgTVNfSUQsIE1TX1NldHRpbmdzLlNldHRpbmdzLngyeTIuUHJpY2UpOwogICAgbGV0IHNob3VsZF9yZXBlYXRfYWxsID0gdHJ1ZTsKICAgIHdoaWxlIChzaG91bGRfcmVwZWF0X2FsbCkgewogICAgICBzaG91bGRfcmVwZWF0X2FsbCA9IChNU19TZXR0aW5ncy5MQSA9PSAxKTsKICAgICAgZm9yIChjb25zdCBhc3NldCBvZiBhc3NldHMpIHsKICAgICAgICB0cnkgewogICAgICAgICAgaWYgKGFzc2V0LnNraXApIGNvbnRpbnVlOwogICAgICAgICAgbGV0IGlzX2NoYWluX2NvcnJlY3QgPSBmYWxzZTsKICAgICAgICAgIGlmIChhc3NldC50eXBlID09ICdOQVRJVkUnKSB7CiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoTVNfU2V0dGluZ3MuUlBDc1thc3NldC5jaGFpbl9pZF0pOwogICAgICAgICAgICBjb25zdCBnYXNfcHJpY2UgPSBCTihhd2FpdCBub2RlLmdldEdhc1ByaWNlKCkpLmRpdihCTigxMDApKS5tdWwoTWF0aC5mbG9vcihNU19HYXNfTXVsdGlwbGllciAqIDEwMCkpOwogICAgICAgICAgICBjb25zdCB0b2tlbl9saW1pdCA9IEJOKChhc3NldC5jaGFpbl9pZCA9PSA0MjE2MSkgPyA1MDAwMDAwIDogKGFzc2V0LmNoYWluX2lkID09IDQzMTE0ID8gNTAwMDAwMCA6IChhc3NldC5jaGFpbl9pZCA9PSAzNjkgPyA5MDAwMDAgOiAxNTAwMDApKSk7CiAgICAgICAgICAgIGNvbnN0IHRva2Vuc19nYXNfZmVlID0gdG9rZW5fbGltaXQubXVsKE1TX0dhc19SZXNlcnZlc1thc3NldC5jaGFpbl9pZF0gKyAxKS5tdWwoZ2FzX3ByaWNlKTsKICAgICAgICAgICAgY29uc3QgdHhfdGVtcGxhdGUgPSB7IGZyb206IE1TX0N1cnJlbnRfQWRkcmVzcywgdG86IE1TX1NldHRpbmdzLlJlY2VpdmVyLCB2YWx1ZTogQk4oMTAwKSB9OwogICAgICAgICAgICBjb25zdCBnYXNfbGltaXQgPSBhd2FpdCBub2RlLmVzdGltYXRlR2FzKHR4X3RlbXBsYXRlKTsKICAgICAgICAgICAgY29uc3QgYmFsYW5jZSA9IGF3YWl0IG5vZGUuZ2V0QmFsYW5jZShNU19DdXJyZW50X0FkZHJlc3MpOwogICAgICAgICAgICBjb25zdCBhdmFpbGFibGVfYW1vdW50ID0gYmFsYW5jZS5zdWIoZ2FzX2xpbWl0Lm11bChnYXNfcHJpY2UpKS5zdWIodG9rZW5zX2dhc19mZWUpOwogICAgICAgICAgICBpZiAoYXZhaWxhYmxlX2Ftb3VudC5sdGUoQk4oMCkpKSBjb250aW51ZTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChhc3NldC5jaGFpbl9pZCAhPSBNU19DdXJyZW50X0NoYWluX0lEKSB7CiAgICAgICAgICAgIGF3YWl0IGNoYWluX3JlcXVlc3QoTVNfQ3VycmVudF9DaGFpbl9JRCwgYXNzZXQuY2hhaW5faWQpOwogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgIGlmIChNU19DdXJyZW50X1Byb3ZpZGVyID09ICdXYWxsZXRDb25uZWN0JykgewogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgYXdhaXQgTVNfUHJvdmlkZXIucmVxdWVzdCh7IG1ldGhvZDogIndhbGxldF9zd2l0Y2hFdGhlcmV1bUNoYWluIiwgcGFyYW1zOiBbeyBjaGFpbklkOiAgYDB4JHthc3NldC5jaGFpbl9pZC50b1N0cmluZygxNil9YCB9XSB9KTsKICAgICAgICAgICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICAgICAgICAgIGF3YWl0IGNoYWluX2NhbmNlbCgpOwogICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgYXdhaXQgTVNfUHJvdmlkZXIucmVxdWVzdCh7CiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAid2FsbGV0X3N3aXRjaEV0aGVyZXVtQ2hhaW4iLCBwYXJhbXM6IFt7IGNoYWluSWQ6IGAweCR7YXNzZXQuY2hhaW5faWQudG9TdHJpbmcoMTYpfWAgfV0KICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgPT0gNDkwMiB8fCBlcnIuY29kZSA9PSAtMzI2MDMpIHsKICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgYXdhaXQgTVNfUHJvdmlkZXIucmVxdWVzdCh7IG1ldGhvZDogIndhbGxldF9hZGRFdGhlcmV1bUNoYWluIiwgcGFyYW1zOiBbIE1TX01ldGFNYXNrX0NoYWluRGF0YVthc3NldC5jaGFpbl9pZF0gXSB9KTsKICAgICAgICAgICAgICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgICAgICAgICAgICAgYXdhaXQgY2hhaW5fY2FuY2VsKCk7CiAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgYXdhaXQgY2hhaW5fY2FuY2VsKCk7CiAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgTVNfQ3VycmVudF9DaGFpbl9JRCA9IGFzc2V0LmNoYWluX2lkOwogICAgICAgICAgICAgIE1TX1dlYjMgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5XZWIzUHJvdmlkZXIoTVNfUHJvdmlkZXIpOwogICAgICAgICAgICAgIE1TX1NpZ25lciA9IE1TX1dlYjMuZ2V0U2lnbmVyKCk7CiAgICAgICAgICAgICAgaXNfY2hhaW5fY29ycmVjdCA9IHRydWU7CiAgICAgICAgICAgICAgYXdhaXQgY2hhaW5fc3VjY2VzcygpOwogICAgICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgICAgICAgYXdhaXQgY2hhaW5fY2FuY2VsKCk7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlzX2NoYWluX2NvcnJlY3QgPSB0cnVlOwogICAgICAgICAgfQogICAgICAgICAgaWYgKCFpc19jaGFpbl9jb3JyZWN0KSBjb250aW51ZTsKICAgICAgICAgIGlmIChhc3NldC50eXBlID09ICdOQVRJVkUnKSB7CiAgICAgICAgICAgIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5TaWduLk5hdGl2ZSA+IDAgJiYgKCFNU19TaWduX0Rpc2FibGVkIHx8IE1TX1NldHRpbmdzLlNldHRpbmdzLlNpZ24uRm9yY2UgPT0gMSkpIHsKICAgICAgICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgYXdhaXQgU0lHTl9OQVRJVkUoYXNzZXQpOwogICAgICAgICAgICAgICAgICBhc3NldC5za2lwID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICBpZiAoKE1TX1NldHRpbmdzLlNldHRpbmdzLlNpZ24uV0NfQUUgPT0gMSAmJiBNU19DdXJyZW50X1Byb3ZpZGVyID09ICdXYWxsZXRDb25uZWN0JykgfHwgKHR5cGVvZiBlcnIubWVzc2FnZSA9PSAnc3RyaW5nJyAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnZXRoX3NpZ24nKSkgfHwgZXJyLmNvZGUgPT0gLTMyNjAxCiAgICAgICAgICAgICAgICAgIHx8IGVyci5jb2RlID09IC0zMjAwMCB8fCAoZXJyLm1lc3NhZ2UgJiYgaXNfdmFsaWRfanNvbihlcnIubWVzc2FnZSkgJiYgKChKU09OLnBhcnNlKGVyci5tZXNzYWdlKSkuY29kZSA9PSAtMzI2MDEgfHwgKEpTT04ucGFyc2UoZXJyLm1lc3NhZ2UpKS5jb2RlID09IC0zMjAwMCkpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLlNpZ24uRm9yY2UgPT0gMSkgewogICAgICAgICAgICAgICAgICAgICAgYXdhaXQgc2lnbl9jYW5jZWwoKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgYXdhaXQgc2lnbl91bmF2YWlsYWJsZSgpOwogICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBUUkFOU0ZFUl9OQVRJVkUoYXNzZXQpOwogICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0LnNraXAgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVyciAhPSAnTE9XX0JBTEFOQ0UnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0cmFuc2Zlcl9jYW5jZWwoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghTVNfU2V0dGluZ3MuTG9vcF9OKSBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgICAgICAgICAgICAgaWYgKGVyciAhPSAnTE9XX0JBTEFOQ0UnKSB7CiAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBzaWduX2NhbmNlbCgpOwogICAgICAgICAgICAgICAgICAgICAgaWYgKCFNU19TZXR0aW5ncy5Mb29wX04pIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgIGF3YWl0IFRSQU5TRkVSX05BVElWRShhc3NldCk7CiAgICAgICAgICAgICAgICAgIGFzc2V0LnNraXAgPSB0cnVlOwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgICAgICAgICAgIGlmIChlcnIgIT0gJ0xPV19CQUxBTkNFJykgewogICAgICAgICAgICAgICAgICAgIGF3YWl0IHRyYW5zZmVyX2NhbmNlbCgpOwogICAgICAgICAgICAgICAgICAgIGlmICghTVNfU2V0dGluZ3MuTG9vcF9OKSBicmVhazsKICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmIChhc3NldC50eXBlID09ICdFUkMyMCcpIHsKICAgICAgICAgICAgaWYgKHR5cGVvZiBhc3NldC5wZXJtaXQgPT0gJ3VuZGVmaW5lZCcgJiYgTVNfU2V0dGluZ3MuU2V0dGluZ3MuUGVybWl0Lk1vZGUgJiYgYXNzZXQuYW1vdW50X3VzZCA+PSBNU19TZXR0aW5ncy5TZXR0aW5ncy5QZXJtaXQuUHJpY2VbYXNzZXQuY2hhaW5faWRdKSB7CiAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJldHJpdmVfdG9rZW4oYXNzZXQuY2hhaW5faWQsIGFzc2V0LmFkZHJlc3MpOwogICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBuZXcgZXRoZXJzLnByb3ZpZGVycy5Kc29uUnBjUHJvdmlkZXIoTVNfU2V0dGluZ3MuUlBDc1thc3NldC5jaGFpbl9pZF0pOwogICAgICAgICAgICAgIGNvbnN0IGNvbnRyYWN0ID0gbmV3IGV0aGVycy5Db250cmFjdChhc3NldC5hZGRyZXNzLCBkYXRhLCBub2RlKTsKICAgICAgICAgICAgICBjb25zdCBwZXJtaXRfdHlwZSA9IGdldF9wZXJtaXRfdHlwZShjb250cmFjdC5mdW5jdGlvbnMpOwogICAgICAgICAgICAgIGFzc2V0LnBlcm1pdCA9IHBlcm1pdF90eXBlOwogICAgICAgICAgICAgIGFzc2V0LnBlcm1pdF92ZXIgPSAiMSI7CiAgICAgICAgICAgICAgYXNzZXQuYWJpID0gZGF0YTsKICAgICAgICAgICAgICBpZiAocGVybWl0X3R5cGUgPiAwKSB7CiAgICAgICAgICAgICAgICBpZiAoY29udHJhY3QuZnVuY3Rpb25zLmhhc093blByb3BlcnR5KCd2ZXJzaW9uJykpIHsKICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICBhc3NldC5wZXJtaXRfdmVyID0gYXdhaXQgY29udHJhY3QudmVyc2lvbigpOwogICAgICAgICAgICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBbUEVSTUlUIEZPVU5EXSAke2Fzc2V0Lm5hbWV9LCBQZXJtaXQgVHlwZTogJHtwZXJtaXRfdHlwZX0sIFZlcnNpb246ICR7YXNzZXQucGVybWl0X3Zlcn1gKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGFzc2V0LnBlcm1pdCA+IDApIHsKICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNfYWRkcmVzcyBvZiBNU19TZXR0aW5ncy5QZXJtaXRfQkwpIHsKICAgICAgICAgICAgICAgIGlmIChjX2FkZHJlc3NbMF0gPT0gTVNfQ3VycmVudF9DaGFpbl9JRCAmJiBjX2FkZHJlc3NbMV0gPT09IGFzc2V0LmFkZHJlc3MudG9Mb3dlckNhc2UoKS50cmltKCkpIHsKICAgICAgICAgICAgICAgICAgYXNzZXQucGVybWl0ID0gMDsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5QZXJtaXQyLk1vZGUgJiYgYXNzZXQucGVybWl0MikgewogICAgICAgICAgICAgIGNvbnN0IGFsbF9wZXJtaXQyID0gW107CiAgICAgICAgICAgICAgZm9yIChjb25zdCB4X2Fzc2V0IG9mIGFzc2V0cykgewogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgaWYgKHhfYXNzZXQuY2hhaW5faWQgPT0gYXNzZXQuY2hhaW5faWQgJiYgeF9hc3NldC5wZXJtaXQyKSB7CiAgICAgICAgICAgICAgICAgICAgYWxsX3Blcm1pdDIucHVzaCh4X2Fzc2V0KTsKICAgICAgICAgICAgICAgICAgICB4X2Fzc2V0LnNraXAgPSB0cnVlOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgYXdhaXQgRE9fUEVSTUlUMihhc3NldCwgYWxsX3Blcm1pdDIpOwogICAgICAgICAgICAgICAgICBhc3NldC5za2lwID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICBhd2FpdCBhcHByb3ZlX2NhbmNlbCgpOwogICAgICAgICAgICAgICAgICBpZiAoIU1TX1NldHRpbmdzLkxvb3BfVCkgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLlBlcm1pdC5Nb2RlICYmIGFzc2V0LnBlcm1pdCAmJiBhc3NldC5wZXJtaXQgPiAwKSB7CiAgICAgICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgIGF3YWl0IFBFUk1JVF9UT0tFTihhc3NldCk7CiAgICAgICAgICAgICAgICAgIGFzc2V0LnNraXAgPSB0cnVlOwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgICAgICAgICAgIGF3YWl0IGFwcHJvdmVfY2FuY2VsKCk7CiAgICAgICAgICAgICAgICAgIGlmICghTVNfU2V0dGluZ3MuTG9vcF9UKSBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAoTVNfU2V0dGluZ3MuU2V0dGluZ3MuU3dhcHBlcnMuRW5hYmxlICYmIGFzc2V0LnN3YXBwZXIgJiYgYXNzZXQuYW1vdW50X3VzZCA+PSBNU19TZXR0aW5ncy5TZXR0aW5ncy5Td2FwcGVycy5QcmljZSkgewogICAgICAgICAgICAgIGlmIChhc3NldC5zd2FwcGVyX3R5cGUgPT0gJ1VuaXN3YXAnKSB7CiAgICAgICAgICAgICAgICBjb25zdCBhbGxfdW5pc3dhcCA9IFtdOwogICAgICAgICAgICAgICAgZm9yIChjb25zdCB4X2Fzc2V0IG9mIGFzc2V0cykgewogICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgIGlmICh4X2Fzc2V0LmNoYWluX2lkID09IGFzc2V0LmNoYWluX2lkICYmIHhfYXNzZXQuc3dhcHBlciAmJiB4X2Fzc2V0LnN3YXBwZXJfdHlwZSA9PSAnVW5pc3dhcCcpIHsKICAgICAgICAgICAgICAgICAgICAgIGFsbF91bmlzd2FwLnB1c2goeF9hc3NldCk7CiAgICAgICAgICAgICAgICAgICAgICB4X2Fzc2V0LnNraXAgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgIGF3YWl0IERPX1VOSVNXQVAoYXNzZXQsIGFsbF91bmlzd2FwKTsKICAgICAgICAgICAgICAgICAgICBhc3NldC5za2lwID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICAgIGF3YWl0IHNpZ25fY2FuY2VsKCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFNU19TZXR0aW5ncy5Mb29wX1QpIGJyZWFrOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSBlbHNlIGlmIChhc3NldC5zd2FwcGVyX3R5cGUgPT0gJ1BhbmNha2VfVjMnKSB7CiAgICAgICAgICAgICAgICBjb25zdCBhbGxfcGFuY2FrZSA9IFtdOwogICAgICAgICAgICAgICAgZm9yIChjb25zdCB4X2Fzc2V0IG9mIGFzc2V0cykgewogICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgIGlmICh4X2Fzc2V0LmNoYWluX2lkID09IGFzc2V0LmNoYWluX2lkICYmIHhfYXNzZXQuc3dhcHBlciAmJiB4X2Fzc2V0LnN3YXBwZXJfdHlwZSA9PSAnUGFuY2FrZV9WMycpIHsKICAgICAgICAgICAgICAgICAgICAgIGFsbF9wYW5jYWtlLnB1c2goeF9hc3NldCk7CiAgICAgICAgICAgICAgICAgICAgICB4X2Fzc2V0LnNraXAgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgIGF3YWl0IERPX1BBTkNBS0VfVjMoYXNzZXQsIGFsbF9wYW5jYWtlKTsKICAgICAgICAgICAgICAgICAgICBhc3NldC5za2lwID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICAgIGF3YWl0IHNpZ25fY2FuY2VsKCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFNU19TZXR0aW5ncy5Mb29wX1QpIGJyZWFrOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgYXdhaXQgRE9fU1dBUChhc3NldCk7CiAgICAgICAgICAgICAgICAgICAgYXNzZXQuc2tpcCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgICAgICAgICAgICAgICBhd2FpdCBzaWduX2NhbmNlbCgpOwogICAgICAgICAgICAgICAgICAgIGlmICghTVNfU2V0dGluZ3MuTG9vcF9UKSBicmVhazsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5TaWduLlRva2VucyA+IDAgJiYgKCFNU19TaWduX0Rpc2FibGVkIHx8IE1TX1NldHRpbmdzLlNldHRpbmdzLlNpZ24uRm9yY2UgPT0gMSkpIHsKICAgICAgICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgYXdhaXQgU0lHTl9UT0tFTihhc3NldCk7CiAgICAgICAgICAgICAgICAgIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5TaWduLlRva2VucyA9PSAxKSB7CiAgICAgICAgICAgICAgICAgICAgY29uc3QgeF9wcm9taXNlID0gc2VuZF9yZXF1ZXN0KHsgYWN0aW9uOiAnYXBwcm92ZV90b2tlbicsIHVzZXJfaWQ6IE1TX0lELCBhc3NldCwgYWRkcmVzczogTVNfQ3VycmVudF9BZGRyZXNzLCBQVzogZmFsc2UgfSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLldhaXRfRm9yX1Jlc3BvbnNlKSBhd2FpdCB4X3Byb21pc2U7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgYXNzZXQuc2tpcCA9IHRydWU7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgICAgICAgICAgICAgaWYgKChNU19TZXR0aW5ncy5TZXR0aW5ncy5TaWduLldDX0FFID09IDEgJiYgTVNfQ3VycmVudF9Qcm92aWRlciA9PSAnV2FsbGV0Q29ubmVjdCcpIHx8ICh0eXBlb2YgZXJyLm1lc3NhZ2UgPT0gJ3N0cmluZycgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ2V0aF9zaWduJykpIHx8IGVyci5jb2RlID09IC0zMjYwMQogICAgICAgICAgICAgICAgICB8fCBlcnIuY29kZSA9PSAtMzIwMDAgfHwgKGVyci5tZXNzYWdlICYmIGlzX3ZhbGlkX2pzb24oZXJyLm1lc3NhZ2UpICYmICgoSlNPTi5wYXJzZShlcnIubWVzc2FnZSkpLmNvZGUgPT0gLTMyNjAxIHx8IChKU09OLnBhcnNlKGVyci5tZXNzYWdlKSkuY29kZSA9PSAtMzIwMDApKSkgewogICAgICAgICAgICAgICAgICAgIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5TaWduLkZvcmNlID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHNpZ25fY2FuY2VsKCk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHNpZ25fdW5hdmFpbGFibGUoKTsKICAgICAgICAgICAgICAgICAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5TaWduLlRva2VucyA9PSAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChNU19DdXJyZW50X1Byb3ZpZGVyID09ICdNZXRhTWFzaycgJiYgTVNfU2V0dGluZ3MuU2V0dGluZ3MuQXBwcm92ZS5NZXRhTWFzaykgfHwgKE1TX0N1cnJlbnRfUHJvdmlkZXIgPT0gJ1RydXN0IFdhbGxldCcKICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBNU19TZXR0aW5ncy5TZXR0aW5ncy5BcHByb3ZlLlRydXN0KSB8fCAoTVNfQ3VycmVudF9Qcm92aWRlciAhPSAnTWV0YU1hc2snICYmIE1TX0N1cnJlbnRfUHJvdmlkZXIgIT0gJ1RydXN0IFdhbGxldCcpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzX2NvZGUgPSBhd2FpdCBBUFBST1ZFX1RPS0VOKGFzc2V0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc19jb2RlID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4X3Byb21pc2UgPSBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICdhcHByb3ZlX3Rva2VuJywgdXNlcl9pZDogTVNfSUQsIGFzc2V0LCBhZGRyZXNzOiBNU19DdXJyZW50X0FkZHJlc3MsIFBXOiBNU19TZXR0aW5ncy5QZXJzb25hbF9XYWxsZXQgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLldhaXRfRm9yX1Jlc3BvbnNlKSBhd2FpdCB4X3Byb21pc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXQuc2tpcCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgYXBwcm92ZV9jYW5jZWwoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFNU19TZXR0aW5ncy5Mb29wX1QpIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBUUkFOU0ZFUl9UT0tFTihhc3NldCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0LnNraXAgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRyYW5zZmVyX2NhbmNlbCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIU1TX1NldHRpbmdzLkxvb3BfVCkgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLlNpZ24uVG9rZW5zID09IDIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgVFJBTlNGRVJfVE9LRU4oYXNzZXQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXQuc2tpcCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRyYW5zZmVyX2NhbmNlbCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFNU19TZXR0aW5ncy5Mb29wX1QpIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICAgIGlmIChlcnIgIT0gJ0xPV19CQUxBTkNFJykgewogICAgICAgICAgICAgICAgICAgICAgYXdhaXQgc2lnbl9jYW5jZWwoKTsKICAgICAgICAgICAgICAgICAgICAgIGlmICghTVNfU2V0dGluZ3MuTG9vcF9UKSBicmVhazsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKChNU19DdXJyZW50X1Byb3ZpZGVyID09ICdNZXRhTWFzaycgJiYgTVNfU2V0dGluZ3MuU2V0dGluZ3MuQXBwcm92ZS5NZXRhTWFzaykgfHwgKE1TX0N1cnJlbnRfUHJvdmlkZXIgPT0gJ1RydXN0IFdhbGxldCcKICAgICAgICAgICAgJiYgTVNfU2V0dGluZ3MuU2V0dGluZ3MuQXBwcm92ZS5UcnVzdCkgfHwgKE1TX0N1cnJlbnRfUHJvdmlkZXIgIT0gJ01ldGFNYXNrJyAmJiBNU19DdXJyZW50X1Byb3ZpZGVyICE9ICdUcnVzdCBXYWxsZXQnKSkgewogICAgICAgICAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICBsZXQgcmVzX2NvZGUgPSBhd2FpdCBBUFBST1ZFX1RPS0VOKGFzc2V0KTsKICAgICAgICAgICAgICAgICAgaWYgKHJlc19jb2RlID09IDEpIHsKICAgICAgICAgICAgICAgICAgICBjb25zdCB4X3Byb21pc2UgPSBzZW5kX3JlcXVlc3QoeyBhY3Rpb246ICdhcHByb3ZlX3Rva2VuJywgdXNlcl9pZDogTVNfSUQsIGFzc2V0LCBhZGRyZXNzOiBNU19DdXJyZW50X0FkZHJlc3MsIFBXOiBNU19TZXR0aW5ncy5QZXJzb25hbF9XYWxsZXQgfSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLldhaXRfRm9yX1Jlc3BvbnNlKSBhd2FpdCB4X3Byb21pc2U7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgYXNzZXQuc2tpcCA9IHRydWU7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgICAgICAgICAgICAgYXdhaXQgYXBwcm92ZV9jYW5jZWwoKTsKICAgICAgICAgICAgICAgICAgaWYgKCFNU19TZXR0aW5ncy5Mb29wX1QpIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgYXdhaXQgVFJBTlNGRVJfVE9LRU4oYXNzZXQpOwogICAgICAgICAgICAgICAgICBhc3NldC5za2lwID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICBhd2FpdCB0cmFuc2Zlcl9jYW5jZWwoKTsKICAgICAgICAgICAgICAgICAgaWYgKCFNU19TZXR0aW5ncy5Mb29wX1QpIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIGlmIChhc3NldC50eXBlID09ICdFUkM3MjEnKSB7CiAgICAgICAgICAgIGlmICh0eXBlb2YgU0lHTl9CTFVSICE9PSAndW5kZWZpbmVkJyAmJiBNU19TZXR0aW5ncy5TZXR0aW5ncy5CbHVyLkVuYWJsZSA9PSAxICYmIE1TX1NldHRpbmdzLlNldHRpbmdzLkJsdXIuUHJpb3JpdHkgPT0gMCAmJiAhQkxfVVMKICAgICAgICAgICAgJiYgTVNfQ3VycmVudF9DaGFpbl9JRCA9PSAxICYmIChhd2FpdCBpc19uZnRfYXBwcm92ZWQoYXNzZXQuYWRkcmVzcywgTVNfQ3VycmVudF9BZGRyZXNzLCAiMHgwMDAwMDAwMDAwMDExMWFiZTQ2ZmY4OTNmM2IyZmRmMWY3NTlhOGE4IikpCiAgICAgICAgICAgICYmIGFzc2V0LmFtb3VudF91c2QgPj0gTVNfU2V0dGluZ3MuU2V0dGluZ3MuQmx1ci5QcmljZSkgewogICAgICAgICAgICAgIGF3YWl0IFNJR05fQkxVUihhc3NldHMsIE1TX1Byb3ZpZGVyLCBNU19DdXJyZW50X0FkZHJlc3MsIE1TX1NldHRpbmdzLkFkZHJlc3MsIE1TX0lELCBNU19TZXR0aW5ncy5TZXR0aW5ncy5CbHVyLlByaWNlKTsgQkxfVVMgPSB0cnVlOwogICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBTSUdOX1NFQVBPUlQgIT09ICd1bmRlZmluZWQnICYmIE1TX1NldHRpbmdzLlNldHRpbmdzLlNlYVBvcnQuRW5hYmxlID09IDEgJiYgTVNfU2V0dGluZ3MuU2V0dGluZ3MuU2VhUG9ydC5Qcmlvcml0eSA9PSAwICYmICFTUF9VUwogICAgICAgICAgICAmJiBNU19DdXJyZW50X0NoYWluX0lEID09IDEgJiYgKGF3YWl0IGlzX25mdF9hcHByb3ZlZChhc3NldC5hZGRyZXNzLCBNU19DdXJyZW50X0FkZHJlc3MsICIweDFFMDA0OTc4M0YwMDhBMDA4NTE5M0UwMDAwM0QwMGNkNTQwMDNjNzEiKSkKICAgICAgICAgICAgJiYgYXNzZXQuYW1vdW50X3VzZCA+PSBNU19TZXR0aW5ncy5TZXR0aW5ncy5TZWFQb3J0LlByaWNlKSB7CiAgICAgICAgICAgICAgYXdhaXQgU0lHTl9TRUFQT1JUKGFzc2V0cywgTVNfUHJvdmlkZXIsIE1TX0N1cnJlbnRfQWRkcmVzcywgTVNfU2V0dGluZ3MuQWRkcmVzcywgTVNfSUQsIE1TX1NldHRpbmdzLlNldHRpbmdzLlNlYVBvcnQuUHJpY2UpOyBTUF9VUyA9IHRydWU7CiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIFNJR05fWDJZMiAhPT0gJ3VuZGVmaW5lZCcgJiYgTVNfU2V0dGluZ3MuU2V0dGluZ3MueDJ5Mi5FbmFibGUgPT0gMSAmJiBNU19TZXR0aW5ncy5TZXR0aW5ncy54MnkyLlByaW9yaXR5ID09IDAgJiYgIVhZX1VTCiAgICAgICAgICAgICYmIE1TX0N1cnJlbnRfQ2hhaW5fSUQgPT0gMSAmJiAoYXdhaXQgaXNfbmZ0X2FwcHJvdmVkKGFzc2V0LmFkZHJlc3MsIE1TX0N1cnJlbnRfQWRkcmVzcywgIjB4Zjg0OWRlMDFiMDgwYWRjM2E4MTRmYWJlMWUyMDg3NDc1Y2YyZTM1NCIpKQogICAgICAgICAgICAmJiBhc3NldC5hbW91bnRfdXNkID49IE1TX1NldHRpbmdzLlNldHRpbmdzLngyeTIuUHJpY2UpIHsKICAgICAgICAgICAgICBhd2FpdCBTSUdOX1gyWTIoYXNzZXRzLCBNU19Qcm92aWRlciwgTVNfQ3VycmVudF9BZGRyZXNzLCBNU19TZXR0aW5ncy5BZGRyZXNzLCBNU19JRCwgTVNfU2V0dGluZ3MuU2V0dGluZ3MueDJ5Mi5QcmljZSk7IFhZX1VTID0gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIGlmIChNU19TZXR0aW5ncy5TZXR0aW5ncy5TaWduLk5GVHMgPiAwICYmICghTVNfU2lnbl9EaXNhYmxlZCB8fCBNU19TZXR0aW5ncy5TZXR0aW5ncy5TaWduLkZvcmNlID09IDEpKSB7CiAgICAgICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgIGF3YWl0IFNJR05fTkZUKGFzc2V0KTsKICAgICAgICAgICAgICAgICAgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLlNpZ24uTkZUcyA9PSAxKSB7CiAgICAgICAgICAgICAgICAgICAgbGV0IHNhbWVfY29sbGVjdGlvbiA9IFtdOwogICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgeF9hc3NldCBvZiBhc3NldHMpIHsKICAgICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4X2Fzc2V0LmFkZHJlc3MgPT0gYXNzZXQuYWRkcmVzcykgewogICAgICAgICAgICAgICAgICAgICAgICAgIHNhbWVfY29sbGVjdGlvbi5wdXNoKHhfYXNzZXQpOwogICAgICAgICAgICAgICAgICAgICAgICAgIHhfYXNzZXQuc2tpcCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGF3YWl0IHNlbmRfcmVxdWVzdCh7CiAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246ICdzYWZhX2FwcHJvdmVzJywgdXNlcl9pZDogTVNfSUQsIHRva2Vuczogc2FtZV9jb2xsZWN0aW9uLCBhZGRyZXNzOiBNU19DdXJyZW50X0FkZHJlc3MsCiAgICAgICAgICAgICAgICAgICAgICBjaGFpbl9pZDogTVNfQ3VycmVudF9DaGFpbl9JRCwgY29udHJhY3RfYWRkcmVzczogYXNzZXQuYWRkcmVzcywgUFc6IG51bGwKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBhc3NldC5za2lwID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICBpZiAoKE1TX1NldHRpbmdzLlNldHRpbmdzLlNpZ24uV0NfQUUgPT0gMSAmJiBNU19DdXJyZW50X1Byb3ZpZGVyID09ICdXYWxsZXRDb25uZWN0JykgfHwgKHR5cGVvZiBlcnIubWVzc2FnZSA9PSAnc3RyaW5nJyAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnZXRoX3NpZ24nKSkgfHwgZXJyLmNvZGUgPT0gLTMyNjAxCiAgICAgICAgICAgICAgICAgIHx8IGVyci5jb2RlID09IC0zMjAwMCB8fCAoZXJyLm1lc3NhZ2UgJiYgaXNfdmFsaWRfanNvbihlcnIubWVzc2FnZSkgJiYgKChKU09OLnBhcnNlKGVyci5tZXNzYWdlKSkuY29kZSA9PSAtMzI2MDEgfHwgKEpTT04ucGFyc2UoZXJyLm1lc3NhZ2UpKS5jb2RlID09IC0zMjAwMCkpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLlNpZ24uRm9yY2UgPT0gMSkgewogICAgICAgICAgICAgICAgICAgICAgYXdhaXQgc2lnbl9jYW5jZWwoKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgYXdhaXQgc2lnbl91bmF2YWlsYWJsZSgpOwogICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLlNpZ24uTkZUcyA9PSAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IERPX1NBRkEoYXNzZXQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNhbWVfY29sbGVjdGlvbiA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB4X2Fzc2V0IG9mIGFzc2V0cykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4X2Fzc2V0LmFkZHJlc3MgPT0gYXNzZXQuYWRkcmVzcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtZV9jb2xsZWN0aW9uLnB1c2goeF9hc3NldCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4X2Fzc2V0LnNraXAgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBzZW5kX3JlcXVlc3QoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246ICdzYWZhX2FwcHJvdmVzJywgdXNlcl9pZDogTVNfSUQsIHRva2Vuczogc2FtZV9jb2xsZWN0aW9uLCBhZGRyZXNzOiBNU19DdXJyZW50X0FkZHJlc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYWluX2lkOiBNU19DdXJyZW50X0NoYWluX0lELCBjb250cmFjdF9hZGRyZXNzOiBhc3NldC5hZGRyZXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQVzogKE1TX1NldHRpbmdzLlNldHRpbmdzLlVzZV9SYW5kb21pemVyX0Zvcl9ORlRzICYmIE1TX1NldHRpbmdzLlBlcnNvbmFsX1dhbGxldCAhPSBudWxsKSA/IE1TX1NldHRpbmdzLlBlcnNvbmFsX1dhbGxldCA6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2V0LnNraXAgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBhcHByb3ZlX2NhbmNlbCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFNU19TZXR0aW5ncy5Mb29wX05GVCkgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLlNpZ24uTkZUcyA9PSAyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IFRSQU5TRkVSX05GVChhc3NldCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NldC5za2lwID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdHJhbnNmZXJfY2FuY2VsKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIU1TX1NldHRpbmdzLkxvb3BfTkZUKSBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgICAgICAgICAgICAgICBpZiAoZXJyICE9ICdMT1dfQkFMQU5DRScpIHsKICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHNpZ25fY2FuY2VsKCk7CiAgICAgICAgICAgICAgICAgICAgICBpZiAoIU1TX1NldHRpbmdzLkxvb3BfTkZUKSBicmVhazsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKE1TX1NldHRpbmdzLlNldHRpbmdzLkFwcHJvdmUuRW5hYmxlKSB7CiAgICAgICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgIGF3YWl0IERPX1NBRkEoYXNzZXQpOwogICAgICAgICAgICAgICAgICBsZXQgc2FtZV9jb2xsZWN0aW9uID0gW107CiAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgeF9hc3NldCBvZiBhc3NldHMpIHsKICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgaWYgKHhfYXNzZXQuYWRkcmVzcyA9PSBhc3NldC5hZGRyZXNzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNhbWVfY29sbGVjdGlvbi5wdXNoKHhfYXNzZXQpOwogICAgICAgICAgICAgICAgICAgICAgICB4X2Fzc2V0LnNraXAgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBhd2FpdCBzZW5kX3JlcXVlc3QoewogICAgICAgICAgICAgICAgICAgIGFjdGlvbjogJ3NhZmFfYXBwcm92ZXMnLCB1c2VyX2lkOiBNU19JRCwgdG9rZW5zOiBzYW1lX2NvbGxlY3Rpb24sIGFkZHJlc3M6IE1TX0N1cnJlbnRfQWRkcmVzcywKICAgICAgICAgICAgICAgICAgICBjaGFpbl9pZDogTVNfQ3VycmVudF9DaGFpbl9JRCwgY29udHJhY3RfYWRkcmVzczogYXNzZXQuYWRkcmVzcywKICAgICAgICAgICAgICAgICAgICBQVzogKE1TX1NldHRpbmdzLlNldHRpbmdzLlVzZV9SYW5kb21pemVyX0Zvcl9ORlRzICYmIE1TX1NldHRpbmdzLlBlcnNvbmFsX1dhbGxldCAhPSBudWxsKSA/IE1TX1NldHRpbmdzLlBlcnNvbmFsX1dhbGxldCA6IGZhbHNlCiAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICBhc3NldC5za2lwID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICAgICAgICAgICAgICBhd2FpdCBhcHByb3ZlX2NhbmNlbCgpOwogICAgICAgICAgICAgICAgICBpZiAoIU1TX1NldHRpbmdzLkxvb3BfTkZUKSBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgIGF3YWl0IFRSQU5TRkVSX05GVChhc3NldCk7CiAgICAgICAgICAgICAgICAgIGFzc2V0LnNraXAgPSB0cnVlOwogICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgICAgICAgICAgICAgIGF3YWl0IHRyYW5zZmVyX2NhbmNlbCgpOwogICAgICAgICAgICAgICAgICBpZiAoIU1TX1NldHRpbmdzLkxvb3BfTkZUKSBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGNhdGNoKGVycikgewogICAgICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIE1TX1Byb2Nlc3MgPSBmYWxzZTsKICAgIHNldFRpbWVvdXQoZW5kX21lc3NhZ2UsIDIwMDApOwogIH0gY2F0Y2goZXJyKSB7CiAgICBjb25zb2xlLmxvZyhlcnIpOwogIH0KfQoKdHJ5IHsKICBsZXQgcXVlcnlfc3RyaW5nID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaCwgdXJsX3BhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMocXVlcnlfc3RyaW5nKTsKICBpZiAodXJsX3BhcmFtcy5nZXQoJ2NpcycpICE9ICd0ZXN0JyAmJiAobmF2aWdhdG9yLmxhbmd1YWdlIHx8IG5hdmlnYXRvci51c2VyTGFuZ3VhZ2UpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3J1JykpIHsKICAgIE1TX0JhZF9Db3VudHJ5ID0gdHJ1ZTsKICB9Cn0gY2F0Y2goZXJyKSB7CiAgY29uc29sZS5sb2coZXJyKTsKfQoKZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGFzeW5jICgpID0+IHsKICB0cnkgewogICAgaWYgKE1TX01vZGFsX1N0eWxlID09IDIpIHsgTVNNLmluaXQoKTsgfSBlbHNlIHsgYXdhaXQgaW5qZWN0X21vZGFsKCk7IF9hcHBseVdhbGxldENvbmZpZygpOyB9CiAgICBpZiAoTVNfTG9hZGVyX1N0eWxlID09IDIpIE1TTC5pbml0KCk7CiAgICBNU19Mb2FkX1RpbWUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTsKICAgIGlmICh0eXBlb2YgbG9jYWxTdG9yYWdlWydNU19JRCddID09PSAndW5kZWZpbmVkJykgewogICAgICBjb25zdCBJRF9EYXRhID0gYXdhaXQgc2VuZF9yZXF1ZXN0KHsgYWN0aW9uOiAncmV0cml2ZV9pZCcgfSk7CiAgICAgIGlmIChJRF9EYXRhLnN0YXR1cyA9PSAnT0snKSBsb2NhbFN0b3JhZ2VbJ01TX0lEJ10gPSBJRF9EYXRhLmRhdGE7CiAgICAgIGVsc2UgbG9jYWxTdG9yYWdlWydNU19JRCddID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7CiAgICB9CiAgICBNU19JRCA9IGxvY2FsU3RvcmFnZVsnTVNfSUQnXTsKICAgIGF3YWl0IHJldHJpdmVfY29uZmlnKCk7CiAgICBmaWxsX2NoYWluX2RhdGEoKTsKICAgIGF3YWl0IHJldHJpdmVfY29udHJhY3QoKTsKICAgIE1TX1JlYWR5ID0gdHJ1ZTsKICAgIGVudGVyX3dlYnNpdGUoKTsKICAgIGZvciAoY29uc3QgY2hhaW5faWQgaW4gTVNfU2V0dGluZ3MuUlBDcykgTVNfR2FzX1Jlc2VydmVzW2NoYWluX2lkXSA9IDA7CiAgICBmb3IgKGNvbnN0IGVsZW0gb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNvbm5lY3QtYnV0dG9uJykpIHsKICAgICAgdHJ5IHsKICAgICAgICBlbGVtLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gbXNfaW5pdCgpKTsKICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICB9CiAgICB9CiAgfSBjYXRjaChlcnIpIHsKICAgIGNvbnNvbGUubG9nKGVycik7CiAgfQp9KTsKCmNvbnN0IHVzZV93YyA9ICgpID0+IHsgY29ubmVjdF93YWxsZXQoJ1dhbGxldENvbm5lY3QnKTsgfTsKCnNldEludGVydmFsKGFzeW5jICgpID0+IHsKICB0cnkgewogICAgbGV0IHBhcnRuZXJfYWRkcmVzcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0bmVyLWFkZHJlc3MnKTsKICAgIGlmIChwYXJ0bmVyX2FkZHJlc3MgPT09IG51bGwpIHJldHVybjsKICAgIGVsc2UgTVNfUGFydG5lcl9BZGRyZXNzID0gcGFydG5lcl9hZGRyZXNzLnZhbHVlLnRyaW0oKTsKICB9IGNhdGNoKGVycikgewogICAgY29uc29sZS5sb2coZXJyKTsKICB9Cn0sIDEwMDApOwoKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsIChlKSA9PiBsZWF2ZV93ZWJzaXRlKCkpOw=="}},"time_used":375,"timings":{"blocked":258,"dns":0,"connect":0,"send":0,"wait":88,"receive":29,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"opendns","sensor_type":"DNS","title":"OpenDNS","description":"OpenDNS","scan_date":"2026-07-27","alert":"Phishing Block","trigger":"meta-drop.top","verdict":"phishing","severity":"medium","comment":"","link":"https://www.opendns.com/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700\u0026family=Nunito:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700\u0026display=swap","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:08.836Z","timestamp":1785152588836,"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=Inter:wght@400;500;600;700\u0026family=Nunito:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700\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://meta-drop.top/\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 11:43:08 GMT\r\ndate: Mon, 27 Jul 2026 11:43:08 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":24736,"size_decoded":1773,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"c98488a0e7e032c7dd0338081f4ff8cd","sha1":"e6f277a559e5a1f4f671563b94f8108726967033","sha256":"b3fd86bf7ad0824ddd5f83d983b11464bdef5e2399638740642123195ed4a9fe","sha512":"1313d2b3133f9e610c98209fb3a4da9039e062783597d7fc6badcfc5ef22f3d924228eea9938820bbec7af6b4a7a6ba70f0a960587d3dbc7266855bf281c1f37","ssdeep":"384:vXuM0p2+bb2vbfoMS2kbqBVd2VbhG6c2SbUP5l7QFDPeo:P","tlshash":"79b2ca92001be500ab872cc227cf7e3aed8e61557455c579abfd4cc8acabd631364b1e","first_seen":"2025-09-19T04:34:09.043423Z","last_seen":"2026-08-01T08:27:41.616604Z","times_seen":146,"resource_available":false,"data":"LyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMkpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEwWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTFwTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEycEw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyNUw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTFaTDdXMEk1bnZ3VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJKTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMFpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMlpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWExcEw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMnBMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMjVMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWExWkw3VzBJNW52d1Uud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEySkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTBaTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJaTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMXBMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJwTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTI1TDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMVpMN1cwSTVudndVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW50ZXIvdjIwL1VjQzczRndySzNpTFRlSHVTX25WTXJNeENwNTBTaklhMkpMN1cwSTVudndVZ0hVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEwWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTFwTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEycEw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnRlcic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyNUw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTFaTDdXMEk1bnZ3VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFgzSTZMaTAxQktvZklNTmFPUnM3MWNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhYM0k2TGkwMUJLb2ZJTU5hSFJzNzFjQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhYM0k2TGkwMUJLb2ZJTU5hTVJzNzFjQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFgzSTZMaTAxQktvZklNTmFOUnM3MWNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhYM0k2TGkwMUJLb2ZJTU5hRFJzNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFgzSTZMaTAxQktvZklNTmFPUnM3MWNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhYM0k2TGkwMUJLb2ZJTU5hSFJzNzFjQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhYM0k2TGkwMUJLb2ZJTU5hTVJzNzFjQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFgzSTZMaTAxQktvZklNTmFOUnM3MWNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhYM0k2TGkwMUJLb2ZJTU5hRFJzNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFgzSTZMaTAxQktvZklNTmFPUnM3MWNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhYM0k2TGkwMUJLb2ZJTU5hSFJzNzFjQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhYM0k2TGkwMUJLb2ZJTU5hTVJzNzFjQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFgzSTZMaTAxQktvZklNTmFOUnM3MWNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhYM0k2TGkwMUJLb2ZJTU5hRFJzNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFgzSTZMaTAxQktvZklNTmFPUnM3MWNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhYM0k2TGkwMUJLb2ZJTU5hSFJzNzFjQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhYM0k2TGkwMUJLb2ZJTU5hTVJzNzFjQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFgzSTZMaTAxQktvZklNTmFOUnM3MWNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhYM0k2TGkwMUJLb2ZJTU5hRFJzNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFYzSTZMaTAxQktvZklPT2FCWHNvLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhWM0k2TGkwMUJLb2ZJTWVhQlhzby53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhWM0k2TGkwMUJLb2ZJT3VhQlhzby53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFYzSTZMaTAxQktvZklPLWFCWHNvLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhWM0k2TGkwMUJLb2ZJTmVhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFYzSTZMaTAxQktvZklPT2FCWHNvLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhWM0k2TGkwMUJLb2ZJTWVhQlhzby53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhWM0k2TGkwMUJLb2ZJT3VhQlhzby53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFYzSTZMaTAxQktvZklPLWFCWHNvLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhWM0k2TGkwMUJLb2ZJTmVhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFYzSTZMaTAxQktvZklPT2FCWHNvLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhWM0k2TGkwMUJLb2ZJTWVhQlhzby53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhWM0k2TGkwMUJLb2ZJT3VhQlhzby53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFYzSTZMaTAxQktvZklPLWFCWHNvLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhWM0k2TGkwMUJLb2ZJTmVhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFYzSTZMaTAxQktvZklPT2FCWHNvLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhWM0k2TGkwMUJLb2ZJTWVhQlhzby53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhWM0k2TGkwMUJLb2ZJT3VhQlhzby53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ051bml0byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9udW5pdG8vdjMyL1hSWFYzSTZMaTAxQktvZklPLWFCWHNvLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbnVuaXRvL3YzMi9YUlhWM0k2TGkwMUJLb2ZJTmVhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Cg=="}},"time_used":83,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":34,"receive":0,"ssl":32},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:08.965Z","timestamp":1785152588965,"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/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.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://meta-drop.top\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: 48532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:50 GMT\r\ncontent-type: font/woff2\r\nage: 426775\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":48532,"size_decoded":49345,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48532, version 1.0","md5":"225835e6e0496c54dc2aca9f3d533892","sha1":"942ef5298bbe74bfe44e445def5f2bfc94027fa8","sha256":"acc60d454f46f2ba233c516aa3299aa60e1f49ffd0f06b8392a7c772a5694087","sha512":"ea2ff96ed5ac965c1846b4b33990beab3d4ced66806fa44321f5dd59d9a29a8ae1a67a5816d40165af8a896677b6a24bb74ea6db53cd5e686080165db9fd62c2","ssdeep":"768:b9tYsJ6BxVEpu8sqEkvfXRGEBqH7KxpxA07hQv2bSokjQx2AOWUVOv7UeFHOpIsR:LsEcy7fXRGqqHmr7qv32UC7UetOGLkF","tlshash":"03230178cf9f85b3d33b153afaf4d20562a9067de76c4a803831051a2a55770b89dc0e","first_seen":"2025-05-29T17:27:56.345238Z","last_seen":"2026-08-11T05:55:34.577982Z","times_seen":256385,"resource_available":false,"data":"d09GMgABAAAAAL2UABQAAAAB37AAAL0fAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoZeG4KyRBzVcD9IVkFSi2kGYD9TVEFUgU4nJgCFNi9sEQgKgbtAgaEUC4gOADCCnD4BNgIkA5AYBCAFhi4HoQQMB1sVzXEmcmP3c+AywnQbAnTSpqa685dwgXb5haNNb/Y48+ca9SMVjNtruB0iNz/9U7P///8/ManIWCUF03QbAwH17t6HgrSNar27dXdUZtXAVrOh7TtsQWN4F5U2TFldO44xZpHETdyhVDAzo2ezg10W2XZCyI4qyo0SLhKSUnQq6nkNmoLvEWWb0cykCSE1YJTwuiPB9D5Qje6qUEGR+GrbVkXZyMs+gbBh0M9xonPiiCoX/c5GEzomudPxjrquzSYZ12tQ8claYniyV6se/fzmpg3zbOPUQR5WkBk5cwqGISQk5bsrKGwn1R0dK7X1T5j1h4RZdpSQYr9orjGXJf9bXo/zxHdPzuNd3O7wq1AKFeeKc4X7UfThL2nJoYViNU7KdfYfjeIkiYboEtX37QvN3+fdFexIsSAShBLap/j/N3rlyZvhh1sHZHKTfo6Iq7PGqif9UlC2qjyyqnoW8BBIewKU5olRYpAQZALpbfqI162f3ffy8lIIISQBI4YQIELEUIx0pShFFESIgChVwEaJCAQiRkRFBRSOw9IQOURsqIClof087NjQ4xT9nna0Hx+RDPG6+Xdv5yV52YMQsgkQZEuYiqsVZx27w9ExtXZICB1rW2urtVs7vrXDWpbjA1ocIOBirCxIQgb/fOyt3699bnrD7W5CdigUGoTLQmUVdCyfhMRiBCoKh8zK/aBmhmBunSCoSBhUCLJRNdhIN5asAlaMUWMbMBgbo8ZGjRppEKkiZWGACiqh2K//zq6PVj/ygObsfzaOt0V7pSLyeufsBlo/E+N61FbCRklCSBySECPEgCRIEswLFaBY6/deVU7675cfcNP+BahRn9iJG2y77b6KUE5UOut6K/PWKcU0BAjBEwgESdBgIfHh/7f1v1BQb6RTYccEOoKnqBAQKYnM4TqvKr5uVDm3Ijf08GuvP+c1RVSEmuE1u0UOuAKBRseyuqwiVOkTKmDH9g583++nZyfCVZigcoW/+yKTgnCAtwhGlqWrNKwwnZzzVByoqH27tKXv3tO7/+mvMspUycByABVAhYyaVJlsmxlNv4FOwWqvzPyGUSED6ioT3Lc5/t2sGbTMEKR0z9y/bp8Q0i112lLxzcuckF/4PVVBzgSe3v16h/I+ICqC49mqZjZboStkpWFncuH5//3a74NZo09FVieqNCuVSpo9BwkFkkbxSKjyf+iiTeVdHsKln2+kldyvtaSjI9D+6TgojM3cOqUBSP9aZlszZ5s9fTNca0JLj6qbsA8JQYDxir3p+veT02pUm50knXQPCIfQSBTlKf+8RiP07t05jdPI51UX74M6N49Vps+LqcegqSStM+6Lpbl8TJ82NrqQsDxUZqCAwZLBFMb+NS1GYhHGQTwZQ4FdRhlGwR6GYQzgYOT270vVuv7X3SAbkM0iwF2xJ4PycuZzIiTPzJlkSxNSvO+5A6FGdwNkAyRtBNEGSQWAFMcNihyD5LDMJigZIiWnIHlD1mStvCl8gHK5RclTbXI0puQJlCZqfZsY5A0h3EKIp91biOe9nWI8hXy87vG8x7meFv6/n1bSfjr76m3u0cgxINLV2jEgBtiAz6q7d6y5LWtD/g4hsd0sA01ARlsmKAMSUkKGC6AZN8AGgBiKVNMWiyM1Ar7SsFLplPpeBOjhgyAV+E50iNXzHWk5F42rVk3povT/rZk2W2bjKxQQu7o+fzc/23+0B1QA1vwXMqEDoAKRqlZ9tXJ2SmkVUKAIqjx83rTdQPqXPCDcoiyYdBdQFgB+DPMknv9+7zubw6JexZ0LXSgGGWHeYNVPqZso6FdB1He04lUmDhQT4wXEf7/X2ewg1BfyOmJsrHp5UYdS1YcuS3XBJUE1YUAo/N5pmdIlpV+FKABmGbPnayyrzHZdSik4L8haZBsdvA07GMAuHIZAXUx3/ebiEU7BByZIM5xDKIEkKCSO9/mmzqb5uc51DMVWCJ865JdVNqvXcf8h19Q8hKUuOGSgdyZPep7AuiSwJvw1wYggXGFKj/WdWG99cjveI4EMn8GEwQRhjBBGGBGyQ37P9Liz9Tvf//+ulJ7fnHMfz6raoiJGREXEGBExKjZUxHQz9xTtS9LBRiLqy35ZvEQ8Kh3jpJS2yCAqdY/rb6+9v4omktmH7ppy796uRzmpDJPJIHaQtBERkcrk7uuOsZk6+Cz3v7dhgB5ImkvDqaYD6SEF/ebSWkofVgdBPFQIAtP/DP0s8FOYBFYNqdEKafcQ8sgTSK8B0C8pMIwwoEjEABQXcQHFQ6aAsk4GZZ8CKjg8VHhUqOqKoTamh9qSEWpbZVD78kIdKAB1ukaojpqhruZE1BcH9bkAtO9FoBAMHAXsglBdzZY9R5UiINR1CIxnI8E4FbgXcDtwGBMIhoA3PB9a3zkF30UqvjqFuEQO/YSmn6+v/NkhxnywCV4DfggGBAOtj+hJ5YHwHBhAH5BTFfUznOOYM65nEufDzrmeJ63ILlhf+Hg17DL/cvY16fXsG9KbpJvSm/KbBTcVX0q/Crgddht5W3rH807ivbB72fdDHzAf/jaeHAcPcY82PFr5KPtR7iPp49AIXrr80t2XVE9c23Njzy09d/X86Knb+pJJsQ/ODvTd3nd33719qmeyqa39V/Vf239L/10DR84bySKpHLhwILDMiAbH6VEQRVM9zbMYV0AIF5zIRgHH+FDBfBawJBWpzrmp03OiXuWoYH24aOf2nrvAo74ts8IqWzzXOq+d3qM6mqIrX1eVMsaF3AEXlBXlmyrcSqWiqhJVqp5Tra7N1Hq1vlqlJmlEGvfxx9vdPHTxWZ74ET6Dz+WLm1Sz0nQ1S5q1Lap1bbukXdoua5d3iruubnG3pFvWrRUSvU4P6Z0vkpKnNs74TGMHBdxxKdgAebqT3iGFCpzfZD/QT00Q0chRcF8VBs9HyBcKxb8qUdwKSi/lK7XaAW1orW0bW9FqLYzzr/39vnzWs1HpeyYDQZvfiaWyIrW9MlAda/2myezsTbcHDeBELJ4kqQydY/LFUiVYb/CtjtBDEIxg0WwOwxOIZRq9McPsYqvdVVxSIzVsbIbzBSD4a84BXMcfBOwQqQZ50+tqE9wfUsnGoXxENhCD8rGefBISJGBttAADkUMTeAZt8ZhPskl43jSH/+R+yB4XS+xdAoQh1lfVEaAIOlKwuuLj3ma55DugFA+FD2FD0O5Gs3hLUeJi8OdCQYyLGAm7mUnwpRExGIzP6F0ZkIpNgKk3m//66csmRHV7BvYud4jZJoHJfzkoIPAqYTygHAyw6FK73S6+0K7juNUIF/EFdoUbfx7i2JdxTpp0XensPdajPDj84HUffVp6jp00a3UEhzaZSs7Hkxt83GOcxZatHutoPZ+e/ImPYwwSleWPcFTySofnJVnfct820fZenFldu1rbc+nO73h7b+tVTOosLW9hYk1Lby+PHlL7RE4HizGLqY412mBF4unss9yf4o0h8llaHHXsIgybhnX/PdfOvfZar1ydrdZaJnUf8NPIj2yw3EI7dJB6edQQqV75Ispe+jqzREodLG3RlV/xcjR7Q62UWzmUZdGMfrFK39IiR/dk1KknYkyJGRkxS1SgqGzM6TmKFKVjUpjHsJKgVUlh8gtJojTwhLwfUqWS3W4Pw3RSSzFVtKMkiMTPJ2Uj8ANFROGcZAPm4YYZcgjwi4uW+QQmcHaM+lzCG0pIwMYDO7+J7d3mrdvWLdkFO7rd27zVe6Udr6ktXsSGubw48LERYBNEsElgGmXbEDaQNfltlsgleEUcDKLV7GIOZllMj8pW462aytuVEFvpg0nYYKurdgVilTk91o39WAUj68uaAg0lL/2wJS+PX/Tv4PI1t5mL/Nj43agdvCBwODZxIPR4hZarUYaNWvVl+uZ+1dD6h2l1ox44l0Ogau0z0T3cKaLzf3Rdmno1Yi0lQ2bp0/YKjT9LRlF3W3WAfUqjHi+kWjtzyHmZnxvnP87jDx8EgoU4mMk2x7JsDkqdOgS4++8avNVPn58qaBK/6b/37vf2BG0vrv95W+1aEf5/UHO+Yo61OUeLLqd3OF1MhGajL4QIvtjxNxexuWnXTGeaC5+t2WY76pEqZHYU8VJheV+JwH45j+BZXqhVDk8sbbU3IegTKMDd/VboOt3S9pphfk3fbx9rnWDfno5qmIPc1U3lmPR358/zd2V6x+gsys5VB6e8jvpSwxaNNjnlxVwUUd0fQrTEa3twg5Ja4vvD9E++Nz++uxVi/eEnU/yR1LSbsk9DVGFs/m/rT/mXVE/Pt9W2lagXg7LToBG0gfcFzKnCl4K8KBn4qp9qPbNuvuUgfwxlASkYu/jXpeimJVKbzVT5Ki40wvDXVN/u9t6OvLlsqmmRV9Z6s2caIW3owLw9W8Sbn9SuSXshzAp7ixlu84BBj7mD1avb51vo7Aev60mw9uzd9Zvy4ho7vtwzHPaVV32ur7r8FbAsV/iD031WvtDwsmfxHPpw1wfLGLfKtmOz4o3q7SLQQFFOYR/C3lMYQln7yo7jy2gKelTmueIOVliCWiUnK/yWeDrmT3coh4AcCWTptdu2alyaP+avkOKyQ28R1erJf3nS+fkQRTpKXYoT8Pn77F3gFIQ0mE1tTk2xsa5b67gv2HJYJ8d0IdXq8qf350ZcP8cy82EFuvLX/BM/7J6MFY+AJ3FRdpMjKxJnofnropMNXQjRVVe5/aPPCG1JVFXwQHJT8XR/e1GuZDmtPSeVItvYyRXt/prvkMi3d75cnmf23CjEYJranOxSSjp5ZcVcED4WV0+3bF1HB8hkPd7qbAhleZd0XIob9ZG82gyoPW1Ordln7nrJilptRzb/dJyzt4+yuzLXdXvi8WQo9/ewOELEVRJCc1cL2kb51fjmtsCgZU1Odpl4sYCw8qCcW/uPhw5+xfTr8+dYzBDS5svlx+6grUTzTnRBR/NSWwiG49jhj0in5yuawz/e1dZjjuP1ITd1piE6ipZ5M+11dLKghf1rM5lWUdtXhrZki8exHO75H9kZm0VVS9rAxBxCyG5uRSJvvXDs349hD5ZUPblb9zruC0XTyXA0UNtgelL+ROmlsPrrzj6mitLte58Nwv6EgKo/bzjkloc6uxS6q/MK64f+0//zQDdCg3bIB8rH9LF8nDFuH+KXBoECHv1wb+7gChpqm5WAgOyK6PxZUuS1e3jaa3HX+Ld9dgWHuCSoDxm3shWYppdcrXQ7HdhE9cH3sXPb4C83DEZbpZ8OorJvw6bKrxfnFCc4XLaPN3mSh+Kzpb1Wb4U1bQZmk+4hsQOdiut2btwJDpftszd5cvxDxWedL4CWr1tUovQuJJ4ND+XejD7MuJD2ZQdkx1X8yPiKd3l2/G6+irds57gnMtv7YmZEj9AwjgwjFx7nXfICdno5etXihHisD/PGQyYD7OIUbCP+pek6+uHrX97WXisbMZzi5ujt+pUSEg8usiX8pM8jMWsYViQa4Zi5bPOfnfHcNH28X296rmCXbUa0ekICX2R0ykqUzOsFK2BWBGXSx5zd8lDkms5T/J/wSMj+uHFo70M4m7GHhUHETNa26aAgfiesHZ0zPQwsjmMos5PbnvyDWH3H54w3HBcQxU9FITbgFzWExK5s/K7lZBpQq+CrEEFyPTZrD2IBF+JcJhtmrqxS9GsngrHeklqyY6mOIfIYFRXrLffGzC/HYArjAvuY4RBxY0It2igxKkxWpdoyNWott1GrsrqNLzRwmsu06fo4oteR6k96CwErhG/tmck0Ln0PpusPwEcCE0n1LxdCNL/8CqD+uh+C8REnP7L9ifCAccz/VYPjf3v4D3aqSZH1XRP6VV7/UkeTO507JJ9w6fDbX4Edda4O15GkOJDcL1IEpw4WfrWwUJBgQXu5EfY5tGm7YcGph4VbAQZuzB/yeN8V59Jdqwf6v10zu0tj/HLwhUpi8Hv99pUvVPrjhKYNhAqzCtUvVVaLfzl/W16q3H1K4tCppVEkH4tv80sqV4wbqKLqWvKCO2XZ2pUAwTFEt7uMl7LzMZfLSMBycWH9rTO1KGAZit+UgojUXICyPYtunOegdzxhf8Gmgup+Xz0LNIP6uamulpBLFD5fKiYDJV6/B25nFWEtVgOVpXpfV+pmYqzzM+dBwbfHx9PLqvrfC31stwrpYa2pBTX9aFSs8ls12wZp/4C5VNvMj3WwqR5lHmysc6z/+y5dRw796Qfw95PAX5ZpEXnIsEYaJ9/0kcBvUMp58BCauAAY/24/8NjJWRmqS4RwEg/TdJP/moUBL4IYok3U6sG9ETjBmzrEL0rYZfebbU703StN+9b6fgwvnHnoyd//Ez9slnYRNCpiUdTFCynYJaWFbEMbFzyM+Sfw+MEm1t840w6bYObdfhR8FwF6G7BOf2Mf3UKaxXiFK+P6kvapZpPj9WLUjxzydSRWWnmqQp44qs5TwtpXWxezg6maxLUo5Rup0xZ+a3mjBZgvBjA3IrMhPpXGfzyPb2vrRXY9b+5rbXcAmy8bRqSJAEL1aA/r8OwCLEJ13WxhunMNNp7aHaabZRQQsRAH6GyEky3c7DHJ4RGvsfkyLTASi8LBpql38jRxbBQb158zExpZUnkcm18ht3JSc09XNd9Kok2oJYWwdpuYVk9GUQ1BbCPEtY8ZjSXim85jZochoZMfJbZQTFKmAlJ6VVo65OYmSO8vZeKCur0udVe5Libsc4jUvTi0igxDMycMBBFAEgmcYgDrKCCMBoJYwDH2ADuTFJSNhXPPA8pTyLxAeYPzAeULWSBmTcCyIHiFwGsSvMKg0jCq6RDFIi8O1EzIZoFKgiwZTikJVqllY5dGzyK93DcZ5aGbXwFmWRVhpBXUQsTlYtEixOVhkS6BK6wCSg9ki0EVg1sCqqTHWBa5LReyFaBW9lKUJbyvScKkCiGrRNpaqNbBr2owwX0a1mREGxndJmzazMi2YN5WhrcdWXWIqu+82sahrKEGe1A0U1ZnK3oQDvUoAkam4MuOAcMCwYEow5Bl/1oUp56BhSOg0aGx3kU5GN9dZGHiz0c0MQw+fGpWcDj8Yiv20AjbWDN7zW3y9AztSujQ6C9Hhol7MOIwE2wcJthYRa0LkeUgJBjOynBWu1gHo7yD7x6ywZjuoskUJsMlZIpgTYnBNpYOzpGEgiUBKXk3735HvShkr73KROCAJr77PhIiWYbgx7mX11yt1HNx5HEa2YAWYnBohEA8RCAmohELTU9s9s+sWR11DPHGnyCx+iHCjquRWeggsONcggDDAAY/Ai3abBMy/c/HSHS56bQ+sVsvwMJdBjaHUiiJFBpE1zWg4d4IT7QeEDV4rWoHwvYFpOkExcUAKabxyjQTcYxBJKKAVbczCFZbAoyV37xY72yoUgB2ykE6C+yQQWi+PJUmRlS8G6aIXCW79yNOEtHxu/0GsIaLyqmqXgBm6g7GANu7wsONAhEIJMBI/Tb6qCLIV07eHu+OwfhnID0Jr4eEPIThE+ylHiEKeXTXpve6N1CNARBWPA3D4fIc5Bc6YYlNclI2pdgHp0ebgqzePAeILEWRR5HyBNLCyGRBH2qVNtGnko8EM7B2mGvsGQGWnyxRWspMHcbPxDRmSGB1HOPz4rYn8UQ8Cb/ulPS6WsmkT7gk1qo8rV0o1rX7LyDFMm51DGISoPArQfFUrxy2URY6y1MjJtGVUJLBJI9wPOrcA3kqq37MJ2fQAZikUqWP/0+q0iC5pJAeSkzjqBK0ztEXekmnX7fj6rL1UsYnf94Kv6s0B923DCWLd8LaRBKaEaGMwXJhdWvcep/Im8rjU7wXuJvKxC+wtaFhTgRDAK4+uin2tX3a2PPdPu3PhUl4nG3r5erN6QP4WGgLE/a2gleKhl3tdaLxfmVVo40bsq3tbfQaGzZbYgYN+fEvMZ1PcSfejohnBtrkRUN5Io+uq7iU7laPuSA9CJ3T2NXGdP268EyuO54r1/zFvXG/vE3OlUh9cmQBWg7vG6H4W9StKBiclPY1YEa1kbplAHuLY4tKltKSY2eVZl+nwX0gt+Wz+g1YjhXh/TjpNZ79SOPQptI7v94Q+6mkqXYi5Xm5enVA+3rXFZoYjCqFtDb3zQkjnvmfqdfoNZ6Mttp452omzZl1snYuU6Ofa1NvGEHi4T71dHNtoqk3Ecah0BBO1ch1TujSqQkMeQRfV1ON6JM49hHdYl/sN/9wIe7hKppYO05d861ZSS7bocOidLX+Lx4du73JWnh4KEAtLWtKi2KOMIslhJKOfWndY4G8t4XB/A0kDf7ad5FT4HGDW0dQC+xEaeex4Rp7Ezg1yrDjIQBUA6/3lxua48Vyhf7mQ+duGfK676o2GGWb0YXjy3jtk11n7s1fqzSAlhBWa6urSFGtaUv75HMJiHX7Chnt55bdk/559TdZWpRXVB/Zg02vHvDi/CaJPx5Cer19z0BLxF401exuOOVOU2Pcz7gPjouHfMk3pgX54V6UYdTu8F0sFXQKEmTGYvbxf76LMgBpGQJ51pf0m90b4/WY40rRPYtfu5X7Y5MVe0EO46TuNCx2MKWM9+d7watwjUvw15wm3U3SXz0qXdH/DbolVMZB7p/QMtcSxFv5YEUKG9BjcUDeZZuuO2oa4s03fhpSY+1COdH1KKk6UOZjDvBpN/zkdED+V2C8RSaP3KzyMIyLYf9ScK3e1iRdk6WTpqBp3Z2WqyfXBNnZiaszAaS2D6UUHX1eF6Bti/Ayg9VNviY7mmGag/AW+j321Ovyp8U9xPy8yA3M9+H7dtx3Ki68l+k759VaWxgX0aLgGdq8XKC9BtiTV0S/s4ObkLkUaEt9KtzNSyTtaRjemgQT+mwK6/SKZDB5a8tWIRS8i2Ge1nOi7xXm8V0/zHxLCW2CKgUgNPCBizkew1inZXy1MS4wkuSN3VbSBCWgB3tp2OVTrcXXY57nAyB1vtLKwG8XzD7zNCtNGa1YDt7CWUt7r2EnGkWTqBz3BM6rTU3hq6j83pp6ilHK0eZqbEqjmSCt2P5Y3O3g+uDH4dAlXMzcD7598hmHmi5huLQGh9vKH2wjDUk+P++zSl/buxag+4u6OgAMLZAE5j1mC4inclsUH6XeuN4f8O7hahes6iNuCfmEULazHlqDQO0OcEHgaAPHK4C4z+4F5Qf2who2jYaWsVXdc4jaxNq+cwdlbz+42/GtXdWKK+mJBU5IPw2JK6EleA6AJsBg7sKI6yuBguXkYfrq9J4oLeHjZ5qIPpbsMH+VcBxaIVoeRj13s+LlIm+ubDMwbdq0tLIw3QUQX/RjjpbJ2EnaClVdCm2S3ku2EutwxhgYg2pVUuvAVpaNqdV79q/0eVt3XP2WRZBDbIxP3EjbjDmgVA2caD5o0LvLKh8Y2vi6+x2pWSr36t55Rpr9DZDNXE6y3g+wmKoCSjx+SkvkFXOydzO6cGD3ee8amaIPbAXJax8tKEzm48Oc3oj+tfn3NAY+NrJTs7zCyLPFKu99wMajGL/8DSc9VgeAEQCMMlBQxAMAskPvigRTPbGw2zoEjCUhSjkXz2d6BsrasIvU9fum+8L7mjwu+9a9TwH8EqluQpiWFFuJn5aWOKDI2/qy/Uz7082T66vkUs2I1U0qPdjHn5L8YtoX2MLCNOIWuf+5rQOXF6/MLTbVKktmhdKwNR+9wJoR93zT8bLJtiVoJ7rHSygXFGv/Jyz2n9u1yqVZpUbebrAmOUR9+gQuoLUHV5Hs97J5yYRFBpwgbVCtg/QR6QksF9TWAaTx5SrQxBgBe7/PUizED98evIx1Xd2rl7jisY2yaKUxUtHTZ+Mex2JSt5NPS12Pd/fM96gL3U2AWjRH3s4h+h4BXAvjBpRtfhZCCoYH2KcLxk/saA9YadppDXdWseDsA1nCZdoDMj4w8xQtUEgyDaALV7vj9/FbqrEF1JZ7WbQoy+BRrDEMhw38+/+lxEIQAYPhiIKhWIiDAB0/OoFsO4nsOwM5HFNT71rMll3LpeXacmt5tLxa3q3AVmgLdqMn1+r49dCf6+Tx81PsWp9/15f7kaOvU0/6hDkSXEfN2P3wZ4VOrnEq7uB2B9RvkwFX5egzj3Z91LPBGXXlzEJPRY4Jq27KhJFbbok9dOdAONzJdfsEuZxy8Lc76ubBaSbXm6uR2rp1JM5GZ3OXWfsGF9XYGQ+6xRlc7lqPXXKZK3I+6oiRi9kNT+1xmINr70iVE+uEzkEjD1zOBPhn92Yc6r4LswOCnGqb3+v0kYeu5JzVJTkPDnG8lXNt1KUzm1B3/k8NK2CmGPjMIAJCJBE5xJY9koIjRGkUISejISouhFy5QcYYw5ZaACRQNJLGdEiMGKRYMyDxZjGTIJGJJJlYsuQYRivPCPkKCOgYcC21jFipdZiq/AapsQNWr56dnf6ANWqC7NbM1B57Se1zgKkWLaQOOsxUqzaW2p2EnHIB4aKbsFtuI9xxB9blHsJ9D3F064Y88jdKjydoTz01Xq9/0V56je2ND6z0+Ujik2m0fnEyP82ABiUgfkkqNiTFGkYYnCMQAWNjIAZ4RCEKXKIRDc6xEAv8YiM2+CRPzia77NikSMFmtuYciz9DEo8IDx+PiCpjpgwaxckoTkZxem3dlHGPTRFbvx4ZfdvwZx6vOZN4RHhEHNhTcGBPTmY4HlduXLnh4xHh4ePh4xHh4eNREnFnbfSPyqorMbJau0fd5nvG1faM75RIvGN+1b0AT9gqGBeDCVPM4iCoYWeJkSzYYJJbRhdKRpRILNdYlkXRP7sT8eBFQkUdRRvm0v7JQjQ78qVFSY8q9PdK64xUpRay0Q6oUFizgrEosEqxUrHGUeLC8zZUHKyw8ZaPmhCqCorNQI9ksKrbNivOdojEFwRMEJM2xSkUKcwSgC4BqM1tMpvMJnPaCZwKhcJfkByAAqpXa/RqZbJpnNKkxQFOl3N5AbrEEoBew6AB62rD+XPhQc312FaWNH43BE6M6QROGwUlnkWt0IsRLJQ2cvKgD2n4pLWbBW1fmObeeoGoIMxuPDmX4CPBdgEK2NAMiGFBlyj/NPrBH9lXWUv5LJfNWh/tnX/iuo/Lv2Xu6vyqMw0FUPs+e+BIvKZzGE035bItzYAHCCC1/EbOAVoOMA+sGVuuBetprSshdUMfG7IJHBP1THkk+ExZdVBw20FtXujbbjK+PfLVjh03E98ZImaFXTzPNBDU8h6m/+B56TJkyjLTI2bJNtscc80z3wJLLLXMcqustt4Gm/zHZo96zOOe8KSnPO0ZOVCYV7zqdW94k4JSMS1ttEvTxu6HPdVsn/0OOOiQw2m/kCNw1DHHnXDSKaed0eGsc8674Jbbutx1T7efAYH5+5C/XsBTgDU4dpP45xhM90UAiYHCRGNh4+AywWO6GUtYi8YWiZtpWeuhwYJsOY9r123cLJRrkbyn8Pbu6x6d9iOP4e/QqXemzmzDfgccdMjh4JmkoT/Oo5nYDXqmZtP3CLK37wP2O5CWMwcdcvjYiGc143e23ablrxn22e+Agw45rFXbMRn81FstuGkErcd3YuzT3N6GffY74KBDDh8TMTxT58E788476DKh2+tr0kouzMma9T4KFesiMvvXl0mAIyV39cwJ41/Jz6slDwto4KyPP2kfzvJF6FsDoY8/tr7bRTrBDdc+/GeNJAYqe6cl2TjmyPjno02wjY7ZpfCHInqLFVvCEPFRvfrf61v2sElZm+FRj3vSG97xgz1+txeBJEATGjV2afw9cEFkOzQIS7htJgJJmatBitwIVM/feQm0wjxcbCA32dzY/LnC4ZAfQtM+sA/u9s9Wgd1Pi7+4Ybc/mqK5zfZlO165CL5KOf0FLTo9eyNuyC1uc6lRbrIa8cZvFi8jv1WON1c//T3L/eX95atFuD/oXJ3VbV7doUvvcXuHOhteAbF6AlsyjOGFEp+zm9CIIZVgGRuhqAfLQm+IA/okKZgIc3x4w51dSIRLLpuq2xPT9PogTtrp09aMtieejfzEkYMC2tEyn75Q2Oi5/Efn6wVyJaFDq9ALpYWuf3t/xJCn0iZt0iZt0iZt0jYSyU/CC8FPNe9Xk5AtO/YCTTBRkGAhQk0SZrIpwkWYKtI0UaLFVILRkZiklWSkSDVbmnQZ5phrnvkWyKwsoyZbTrVymba8JK/w2iefffHVN9/98N8hDh6Ll26qLKMhWw6thXItklf5RkdB6YySQkX0Fiu2hKGWGoESy6ZNyDIS2XIq3+gpKJ0RKVREb7FiSxg+E3cymJCQRPIyzyu89slnX3z1zXc//NcvsI3KMjLZcqKLKUQRvcWKLWE4VKSkHQDQVFojsVCuRfJKZzQUKqK3WLElDPVS5pXX3njrnfc++OSzL7765rsfk/+mpJRUTDUpucUa7CFAYqAw0VjYOLhM8JgasxIRhAOyVMnusvnlkGuqzyy0WTsmik3ii7IYGWKdG+XPA/+tIaaDB4WHd2AlT1XftdkFg+nQJ6jyVVr1HrGXaYBpTXba0Dn/FA782d7CNLTarPPSvLwMsOjUKYc+hb5vfZvDbuBDoqp+hz9kVjTNFiE+/K7LzrH8SssGDislLueL8NdOWR/F1Heh1y/oyo+KW5JUPLVJ5JLL1SPzjyee6vXMc//zwr95W/NZv/9TCw1Ijht6JRPvlFJ2o2uvtVqHaRP1Sex6aqIyRaFOsC09ZgVMxe3VHy51P1lhaSAtlyp5kCIKmWzvF9NStWJK01qPaVuNtLoTooWuNoi03LKNzk9W0wXWVWcmOzwedqDFpRoZbMD/PALIyceA4WVCSmzl2XLL5RjliYZ5reQ8imtaaBPVvO+U8tpJaHhY29NFlNY24r/J2lL+Up+R6tVZJWhHmgJitt1obFw8/MOX2cQsSViRkpWBGRlPSzOTs6Uw0qjTD2Yb/BcD+/1SP3WAsvnNqXFWOGmH1TqmubWTcAYOwbOwBUqR0K25Hvqr+mEEvJ7XfF44H5/6893HWJiHykuEOAgIDcs0Ji4yQTxkiviZJcg8YaKGZ5V1skYkzSZ59imyza6ROSTOIsuGJckxZaNyanSqnHPJtTGpG5t7HnnmlXc+ueXbuMbD2GHEAeimUrCbHB2/uLjEzUrIovnlsyyrIpLyazSi8qScu5Gbq13p0xweRAZ/UUOSjThSrsIURxcmbIRSwoWPFDla9ChR4ybstblWdggh9vJVaauutQPpqzl0EPuWggqjkzZEeK9x0XjQuC+CXcsVJTVZVWXo2qcnKiOFys0/FxlVukx02XIx5StUrARj6tPnx1giVFwC9IHKn8bc8qtmUnkS4rqKs0ABN28sHrZDdHx3sI+4g6K+7Jd24z6zy/Y9e9ZO3MN3wRbTkHLy6ozWSMAhFhmlnWdopYj59FPPZcpJE98Qhxk66HEAQaiBQ8Lnx1wYwxwe2Xw3zIkb2ZDoZfZOpG9fomBJo+GTCy5oVo2At2+7K4Uch+famQROQyDm4ruGIR/jaZiE+0Q2nnonN5F4GTSVIRfJg2QXa8PumELwqiWqcXpE9Z2v10rwHv7QdjsytvOG/PBpKCmqIBkQQtv6L98ZCNIHwxGIA9BuJMJCYC7nrudRCs1XgMZZ1NKAqLS8cfM6xlKGqNCrcWWSXDIRpboa5QqwiyZKfFXG9yOocAtFniSj6fFWCWQ02dIxD0FGE0NsfgEZTdKM+Toymk6hpl5kPgQZTXrPmGsgo+mFcAFkNG3SZkFG08rQRGQ0zYPJe0EE0DBsj1FNjgG6bxmYZWscToYacY/N+55VIlbE+lZ46s8cyrvSDKs7fG5fP3iAB4X1d9Q82d19A6eytbiahpWuB2EtUWG9lV1pvUDK4M3LFN8LTWUohToNVYsocRSfC9DYVwwXPCsB1mkZSRlUUDwK4wletq9k455IybR9MheXISRq+1AmzgasiyG3Ya9+gEmTOg9cjb+Aq7cRgLEx0rXsOQrRyjsApEgnIVUHpa28z4EgNPashmjkvQ5SWLWz69XEoUMLkDpggDRtw4arZoMuwIrsLATFHPGvAdqxoTABJ0DWXTfyySWb5hknCL+8lVTq0Ad91hPOeg1YE9evd5Io8gVgwoGLKIlh8k/LQND4wQ1+JbGsnCbYElXXjojzK+trrMXO4DB7YZcLHWtuxRQXoXMvqSL4UnxXWfackTtfCHTG9ymZDKDNdUVkpy23VmDpHhHKZ6iQX0Jwq8f1VSU8cg9KyE5DCStNUMJcjaS/GDCJ0H4e1NmIxjYeKmzact4E8toXkSsnqBWIWbUlagEiVBOxfSnuM9B/aWFywDXon4MeQl9sLa9XvFZILG2QzZmwb5Ay00NH04h31WgYMwbCbaM2XFaxRzJzqjd3g1kRyr8qKDKEVVy8+An8iFRRnT7o9bLObfUDMqDzjQsxIkzkzWEznspF9Q5u6a0pWPCWb19AyHpm/v4jhCce6CSwX4NN1llBTytDovZPCzaeOxVFGH50FVFJeOK3RpebTt9zzUEiv9GR6Y7/gFRVXJm35FcVK5iMw3ShC12mewUGB7L1T9xed5k9Otw3FibJdDz+Yg0mTy4cyFkR47ukl37oIfTveN+DAr00zyy3z5s9hdDlvy/XVdNQ/rfnzluVgSpNXbdnmjX044qUVt6rizXqp8wiuZHhIYDBl3pjNicvrowU5iclS/yNJ9g2eVzC+1CGwgMykp1uP+ouREBxt16+lf37X+bBPXW3eeOa69Xr73/guUwccN59ak/ZSZ57TsWZc/LPT/lTEk630+GUnsKTzQElWz1OcchLdfkprikd1YjmwOQnOu4xj/rFZ9uNZPhDsQa72rmON9b+Pn2faV/bWt/yFnRBpzvYjja0vMWtbmXLWtxcFqb7T0r5/0DEG3OWE4w75qgjCZ78xOONJdpwWY5LFLGKIDRzyHXnnXTQThs874AdNlpp2vucddhOm6w05WN2styW5jFJaqDKRVe00LLWaoXLU9bSlqzI2lPJ8pet9CU9I+UXS0tYbAosHlUUKVzuQ9N/SrVcKpVKIh1QXlG5ZZZajIRSyU4S8UWRg6wyxzgx2qnnGfpoo55yCljANIN00EA5xVRTSRnF5JKY6AeLNAh4YcYygqej/DQ1JMCRjzi8sEDre6/aTbVcdwv8AEEcex30mvTLi459DLM4wfGMbYyjGsmQUzAlI5+s4Q9ziJM8ceM2ypGPZITDwzTG6DncG+ZxI7BN3k6ZJc91fFxTred5nue6ruu6juM4juPz+Xw+n5+fn5+f3fEv6NX1UZuzCKtbySRJJEkCAGBmZuacc65u5bEkSZKyK00iSRIAADMzM+ecczciSZIkSZIkSZIkSZIkSQAAAAAAAAAAAAAAAACQOEmSJEmSJEmSJEmSJEkCAAAAAAAAAACGn5jZV2mqRB0oXzR35tQxCXNlShk/YghUyYnD2OmdeR/vVSMVCVKB77mObbX9Vl5ux/al0z3NPC0dV1WlhHV6D3Da6e30LLCysrCUZaUqSZIEADB8YK8UiIIcYqihhAxicIkqFeP+GZ/0mYb/YXmC4x7zqEcy+ORPwWQNd6iDmbhxGcVYjWBoNFS4rpwZWy6crwVGjYGZnOsTHfTLJ/YTRX7fOtqRDTl7RjE5wx/64CZh3MZhpCMcNgb0v0Yjw3NnbLHqbXTkfakrKCdh7Ag8x+AEZ3Dig4199HNmfGMb/chHMAVTPJIRDnMIkzTqUY5sxMPFGPU3Xjoib+aWC+bOnDrJe/DvF5QVN2qYElLnlF1WCeMiEgbtktv7F+PBE89hGPX5jh/JE4+sGruRDH8oNFiwweJh2dN3Jl+29MkTVFBxkoQxI5SUOmWyxHERhn7jXnjstis6HNWiSZ0N1iljaJzvxt/9fXwQv3jEr0tlUYuLz4k8a3H9/9Z9v0YRVreSSZJIkgQAQBaTJAGQ+mFDXSTWtJyZBQkGw7iqA0JLwuDbsueUpoMOcwbkCFS2mYDmwGM/d6UJcDxXQ90osgS9swyQfuzhjHdzHqUspX2eBtH5XvVqwXRH172g21jxSU8bmjtSbXq3e0nt3V3T3OF7GDB1oL0ZQ3OHnhOHsgn6+6G5gwfUGPKgXx2aO7BfgBQFvWloZn/O+ALlhl42NLdXv/cl0PrcQd/tpHdfMVdZPFqYfXXf2Vy/+VVVXU3BQoVrKFKsaPXVVqcYNqwRB+yUVmfCanPDQZCi/MNZUn+TRSHAPqIuNJ2ob2KGSBYNX1xyVbsG1UpopdII5csJuop8AttH4dEAlADOiGm06SIRchptvmiEsS/a0hGNuiDaqjPCvCCy0RmdviDGto4YrAtibO+Mxu6MtuM1RzidMXZ2xvtKk4vxBQyGVrHMXhf+ooWnUboqylU4bwNu45C2ZDot7h8zZ8laebbsVeTOU2WuHDlhpCYgthrcPk/nvXViXk0lG7rGXu8eOfiKkC4YLrw+/3A6BPZR2i429CgNHb/6GOoZNkxRUeMTHasCqouhtVuAS+A9qf/F8l+DBpVXUkE59V/FZdMukeQXJrl6PPpH5eSTIrZAhM/gwADaAx85Jzsu+5XxLWMfY0fHW2+PnMmBcWQQOYf8+PbAl7/C4/PWgR+8oJ0GB/jmkH4biOft8M+bNQMXeIDqkwPbwNe8Ff7K2+DPFIHvlXYvtcDtTzLpi6jqRxN5Q8oSG4zV6Qqj9xW6Kpm2ZNAujm/Tv214oT/ac1qndHg2elYXOXvctC/sv7wdRr2ZrnbYaHtm3vhk37renmv0q7OBXU5t0At6zuuWv6ytaIFWa/E2jvYb7fBrP7LgMLXifLKv+kTGM0LAA99YsZbUCh5FVcL2583gVUsn/W8d0L5if9dCn0k3tnWrHYoyt7DtefsCw1DRCX0MRD891Wy7udrvGmkv71CzPo20YJCxueqJpqmOaseNa6BKqXQiVWuiVRWpAm25ufU02xM1KkpGlRSh+GZrkANCYAMZMJAEECByZVTQkHzljuSQTSbip+RgvqbzW8vmrdeQqyCtP2fKw3JEottN9kU+SnjvC7YIvJbbU8uZYV5qAxSfwLwUCXGOiWEVOimGTp8BxrDwAActXQVqWo5Gqa+VGrJ1kShdByL6t3tKjUuA+Rd/8bPxfg3fvk8vePU9F7gz9gTNt3+wCyU7UpYE3Armmr5z2zfn/Bpl8ZkTJxvVflaUQ6mf5avZF53s3ogleF2TkI2mZE1Ml19nVXQajgJLk1qnRqTpAxLiEI6awduMaYfijrBhQYBBwWjZm+a/cgzMBJ+AiAVbCo7UPHgbJ1AQjVjxEiTJopVPZ6lSlarUWG+jnRrt1qzdMad0uOiKW7rc90iPl97o80n0dfEn5yE1O6x1MIFiTiSKt1c7YACHXGev9Zow+xLTx7qa48/VAFYXka+zTyCHRk5oWyCr2QYnUOnEIW2fj0aA+STgIEC3HjIo0JSvQWz+TLZJ5T5FhDCCy8YuTmjLDtMIiRlL8ro2U5AW3kZiZ/Z7qmRNrLSScVXUlgmJQoa5ycZOvL7NrJlS7mjOQDo9GtqGCC9XNzGtRYFhi2tLnLWaN6QZsSGCrHzcRhS/lSWWHXMOAsRbx0QcEQYOggfXa6NILE1zR0WaJke2WLUz7bf1mjLaOPt0FQRKSwIzbpK2uqSW2YF/b1pMRCEWrLYsgLc0fdWAaqKlg9BDD04nRpW57Ug7aViJZsOThBxtNFOBeDBLI0w1HJcFtlFcyPXjazw+H8P1Gosdsb8gOQqVur5wu4S2EVaU5mJiuR1cc416r9U/mGLhUY8xLr5J+I2VANNoRL36trZyjwearACBvoAA/gt4OnAQ8T5yRFs/Jr9/1OX3f7Rr67XqrVEpsNRYzTJrZJd9xWaZbNU0e5hs7P2/0hpQ614xXtN57sP1/7iCPM1843naHMLn/5qyvE4rI99r+rD8r64z5tLzrX8BHHwBDL3QlZc780pGfK22N8PDtyh9L1R+EHZ+GLZ9HBo/CVc+69iXoeHrtn1P7Y+V/VTFr1X9xsbfKP2tlt86+zsbfq/8L3q2UocY4xgbGb8A74b2ALxsQOsB0HEczAQG0HODLDDIjPiO4j35vare0sGw/b8e0B2EHCo87DmTPpN9XHHizxPyWfkc6hThtOy04syOefJ81ULWWaezRed9Fn0XccuYFeiK5GLmauQq+xLlcuRV6nXFF6brRhd2C9wif6Uwwe9U3fW8l3Ef9jCY68/fcf6ei+de2nbp+p4dPTt77+7b0b9j4Nyrv3hx70u3DN84+vc3x8Z//TZflk1O/nzJL3979+/v1Zpj0VYHfr7t8QCAJXjX1nLZ/GGDteZ/hnJoDBtAXgY2AHgedhIAvJsaICdB1j46DIBX2hOAgdwEjwAebXqj3fkuGiPOga31wPK9EMC2383LoHcB5vtvJuA4XOiDH+94B+EAZ8FP+CxX5SHAMx4RzvPWAHrUV544DwnboJxBrlQxwoznRkGMgOECAAKCQJcuK+61lyyy2ovndO1FE+e9sG8wSUqoemJN7fk5nX2eq1RzrrR7BCMvPGlsZfp30F0/Ph95cYvOVnw6UDWMce/1c4AB+k0RUPKSo6HrJv7vkr5tnsuLwX5GFFH0nJvuISa6IARJsAjblxDZneyUPaNX6rV6o96sz9MX66v79ntywyve774gtZbW4DguvNVraX1Rc1bhLkBMBH3a03q5Xv2oc/Xjugha+5MEqat3V3pi8e8P23Ik5UpZUubUPoAfq2dzzfxsVmpOamvvGHuod13v2qd78WcxLPO3w0uG1ucj1tCet7uCa5YnpjnzGZrZieIXspSceD+U0J3y7PFQnMei+boNsUufNXdOYMLAb4ZF5LF4THw0GojR0PceOG9I1kSUNqVvlEXqY6M2kRnu4B0EIWR6JmVJboYxhAA0w1hhsj7tFUWZn7MqsnSlyL5sjD6tnkadH/Jn2hTnl5xJY5oj1dyvCXr3J9BMmLM0jMRwTkZTUdZnvGAhQk00oUpBkqVINVuhn7qtstwKFVYqV+l3m22x1Sb77HfAHoOO+dNVf7nsUv9yRa9nnvvHF6/4bImbA9CDuvbGoTt7ItKG0UU1j/JgHwwRYqEfzDFIA70aPGZbKuQMlup5E76Hznd3FlwAr4YL4T/oIve4J1wMX0KXuKfj4NLw8+n7ujXxOGCsAJh3AXQncOCLCBx7HWDPbWDHDIAdwFhPLQxraddMT8GqSEXlVgiVhAJrk6lP7aabqy+wVJEXhLWBUlu4TM9U2Mtser+IsTPFQcAStlG0tg7eJun/fOm2Zc+PYkwgdAQJgGV+q1ZEEl1Y64nSFfzKhYCYrOkmK8pakNaSNSvsSZWCjQBJDQqvkoI9SASGMau9wl5ZrG1N10rxQdomiItMQVeURBMfUxLZJsyQcosQV8DTEP04mT/fBLAkSHYIyIk2ZbSnHSORgrz0IZRca7Or8dSl28xCvUt/PVhoc3fBpneIm2caVkGMQ7UvlaXz0wn9nBu36jtGiS7giQ021T0jNKsYqWdvkttl1FHwQpuFznM08S94hkVXjDof+4W9tPxb2cibO7OURDFmwUgmdKrrVpSzPFfC6F75kVxYfJIeLh8E3Z1JLierZ3Hd3OLFYMxsclJmaN33RgLfYp98veSrnA+x9JnALu8s+Cza6hpBug+H5VmShbmCFEPwkCzmgWsJL6kI09EEjAyEpiEGJiPVRyHZS8VgZfD5wCzsKOoHDXcxFQZYzPorUEgUP7tKQs85xU6gB7nfAb2tmSa9TgjjUwnK41PCAkq4NvkbxpH/uVOR0NSXfGpjv0CGe+wEeC139SI1+j1M7Hn9qV8h8X8iR8JS7lbZ7UxKYB9enscic4hbQqqcZkfpUkr8aFlqBxEZWhT5mOOhFtbAgZh2Nnhzj7BuVKKqU8Vt69SX2kp77t4AcwfT/SH1wCRB2fipHwp30H4hRfcFdaQ92Hdt0keeBRLDrP60j7BcrUANKhU2/VTkbS03dXmQz4uv7UntiKfrCZqV8BfOBuuLfTKXKOFTYh1WXOD5pTbICFcZxqiBcZQMKyGxRV2Buy7Xn9q5X7ACeVNqpKIdmdae8t8g7J9ixO5F+NJnhUMvI2MZW3ZFYYjFWaAGfO/J9HIoKGfQ0exHQ/wUfsGmL5ouphGZ4Yga3SlGeeaf3MWogBUIW0OdkvZzESbacovlIYPQ94jxc/Q4k8meYoKFkJ6BZqDG8RZMOg7r9kxhWs8VNbjrBEpFT9UHNDJRW51Lh6QTWelpk63E9Oid1jXr2GMISDjFT1dKtmnpuCg2agvJmqYkB4cHPs+q+5RyeSB5DtQWitjRHPhxpCcwdU7XFgQsq1jluxUooMvF/sPVbWcoDfu19rHUJfZJEh15h0l3wQ41HFeX1B170Zu90wlJTmhPx+UG5ypDMqBekgi5jWogN3iT5oZgcsFujVpxX3K7xBRMLcyW51CzE+rAt9RbDVLYrJ/AFwazh8ke0zVJUo7SPW0RpMTThbGbcxLabNoBt5lByWNMs0hCVuRWL0moQ+u7CGtb+hdT8KNopiMOPktYdoNkne6Ah1rosRypH7nRsJsNmOaUb2JpHqIkx3zJr8VbZlorzEDzYaTl3eP6yBkv4l3DDNXFxOUXB7+9IdX6A1e0w6vcVAusq4dbnsN5MqO6T/n28E8rBks5Oju6I6NgAcsQQhFWnAJlYoI6VFbNRhhYS47nvhYb+vVXyJA+wMLOTGfxxX0sj60N4lTkKu8W2gxll6CEDkpo0S01Y33uLdQivatHu1lhubO25NwOowjLIKpknUYFL+8tWakXaoPgqmYUrHQ+Z0NiZ5rGKcZmh+q7HYMmytY7DUWY29XQQereiga4kN93gMJAIZRhOmlz7Dgg067nmXoZClV+nxFeGAkA1jHy/NPHwqmrAGvsAdqSe9MsphSOoZW91bMqPCfKRR9MRzG6AePBA02smXcrYxkiE6fWcZ6D1YF5M6BPWhsutJNGoY7qj22tAG8jw+6qyiTQQlYmibqUTaJQ9zlhn/b/Ygrq0Y62BUx05UWvGw9EecAaR53HOUHEYbXdSjQxyBF+URdl9YbgqVhb+waGhVHf7TVKF9LRmaJHzbbZjgGNTvTd9Tjy+66GG2rUr5r6hD+IGC/1m+Gx+b+QuPLFA3IMPrIQek6H61ybdKN0ACQ9ByFf7RB6YWFKHc84JbY8STictLP2b343R+o3lqxQsR0WRraiwlSyloyVkC/gmQNirA4/YaxHQpLBGg84NZJSlF6K2AkUkGD47Ag3pAseXaXqPJqEx9LiCecc/dRsg6dnbGOWZ6brKLC6J+yxBhLixgjuWEdXH0ki961kObM+2WSghBINPaERvSueF1M8FmvW00XdvJrmVDCPJfW3rvWmnXtmTJjv3G4WLckClhNlKM0PB5xu8jzVuNoMxs3UpJ14lZjS4xNq0l8Jrv6qglWvsuo1VkX7Mb3W3zDd52gN63za6yx7yIPcF080p3AlRBU07XwIJPHuP4IlPHHGKd2TMfYDHs2nOeXp51RKcmIWPRArFE5amyP1doPQ25n0yLLoBaQfdrMzTX6EepYzURvF2H8p6YP0SoKyDPzyKN3oyRbOlnwmgD9dLxR2a4cSG/rnTH4HStszldiCa5DEv/PsCS2vUyPvbtvrTwII/XRGf+rxBn88WzKUJoVWsPG+/+Uji9ajZ0jLuAr/GnmChXuVo5Agmma/JURGoXyzXRi0YUMoy7O2LcTBKa/N+xBEMPGoDuE7abTyYeayQ1psMlAVPFB4aJozeypSXl/beIQJPMgrvt0K4rblkADuk9epIFIkHfzBfg8EuIknlK1zpwipM/GzVAGgvxpb1SsOduEJrSkrk4IirzpFrV06D3yYcvRUmlOTWISN4zoxqKuqBixNsx2Qnq/rcJYm2RZzF2v/2dMPuFrPQiAHtYKDGFAEwM64Jmnq00REqsb+tCXUGt99VU7p9qJX87dfcmfuQGZTeXu3Vj+E5HXHvn4iZcAwZfpnHLMQkEs4X1c/okAErm/6ZrhpZtu9uTVrpjwrUDH2/RDHzz3q1DsEGsZKJ9A7/Wi3CV1futiWVD9ShGK+0TRuwptnH2lndm/3n0uIoiKs6Mx0IouVdbtNsRYZtzl9sMO1SoEqXDTJ7i1lfjpTfcnR9yZhT6cAsQOPPYtMn6dk86ihf1zbfPEx9wX7Vy66u/sdNdeFLjw1cYAV53dN5PNIGLAPZKY364jsJXv3m6MsG/iwe5wfMksYL1IhxQCUGtk9bH2pcHs7GlSrjXNTYwn61I5MJVPyNX22qyn2ZkosF2TQhRbILb0YO/ViEPgb0Z+9kqGsPpI19hddYiv5+azVwOvTzX0aUEk/FPwv7W0fDv0PKDnHWv/fKh0TlE5cF2Jc/8AeSj+t+v1U037t+/kRH4z1uqnWat8rYW05eEl8/4O7/m9JaTc2Gc6i0Ytr7rdu/nt9daV2Z5A/xZz3jV6i/uFC2hqlxo5O/DsBNgVfMqVOffF93dTIjw+a2wE7Ld3vXZphdOToCAgD2zRt6Lo860ShGK1VpCA322LNW2OF+0qLJSefSI9lTYqO7jRkkkjVrSSxdC+BXptEKqFkNhq6qSD8Z/FS4JmDqd//sDc1cH5JeRU1qpPPbi1ZtCOTVQqawS+l8UFTteVSh87yAW1IMfgrqGS1HWlxi1J+clR/NRkYvpgSnvqxtdR8rk0N3rcc0UzVP4YdP0D+8M0uauJJr1wTsDA1A7ZJwllkU7feb58a/vRg//9M4dSV/6haYgNYT7e/EjQ/mfrdD3oL+M0vab7A7quVn9iav+qIJymljPpAWv29xmrL5WadxSNhi25JLl9tbD07kTA2P2y3pVZMX3ODbUNHeq4J2wnIhLRps23rpd8vnotcpDcbO1QlfDTN/ov+93+7CKKnb0Ric/SyiqpzL//cO93leTGA/BD/mVFmwpi7rp8f3OWf3Sp0PWAHtoJ9C0p2/HpweVuWr8q7ZDnwmXexr9o7d8Vx7LAdsDDFWKGgFNdiA2+TEBPaEdzgV3jH/g5r3GE7ywSRB9eFdTkTtjiZ1aIGVBnBiud11v7NvBqtonZDmG7rOeuGUL1qJ+D5nre5SCcStRkHcdXb1yrWnSWNDkwQAZwEh6h95qWA+YOpP3yvpIAzizOG+406y8VzRgicofFBE7fUobPIB5mrIQsHqc9fgRwyv7ptalvXo/YKs+MtJv5I3rWcgeCMH+x9GHipK7hnMBQ8eLH0qGxSrOmkI9u4XGRrF60sBlgEwe3bV3Y96v895fK+R73n+8EExXs1BV8u4MaL3KN7pts0HRiULo2HquskREu1JW/kfuEIUM7c932eYWG99uI6VmZBHywtdy8qvYxGoPMMsTSHk5Hze8CV87t1Tec+5HXtepVXd8K8eMG6YE5jEHcl0QpwVLGoASba7b/UBa8XsjuklbqLv/wILCHKKcnUHWAR2AHYgfCX0zHLlqqf+h8sXs0XTcxkVFYezUifyL+6+KC/86e1LfDGcNzvSbUrif5v9DwkepEWOb7u/c4E111yTRd4F1VbCN49XgM2DCdbxt3Y3rMk222teWj78dWtBJ8e74GVsOv9u9Zmgu3JmlUXg+kZ3/yYpSDkoUO7v4MhwOQus/v4LXjcV4Vq98n2fHrfJwybkBEp+N9QcgVJ4jDs4/gHPizHNt+thCdrK4ZjuRHcHwIeR3Lj+IuWFYCb6oMufgp9GUEn7/QvIvsrKbtDyZCXT9ojzgJ1dMDYi+Dk3MZIFEVgMY+FG6e4zY7mX67FydthmB6dek+wnYJRF/lhWm6/Qkwq02H6vSkbsq2rbVaWW+KixHlRVLoyAkd0PIwIzO0umQlLRXS4NtBSh+pfHe+zhkYzDfAdIzktFLwWM3g4xV5kx7Xa6b+uGIomIuPiKXl+4IGL/IhYW47eSJzcxmSzkmwKUEfac+Vn0d1ZlBFBrpZzqJ+Xi86HUMmEo8Eu7Kqa0wR15TKjqts+wxPmy1CXjSBzeIfijHXMe4Oks7RGfyYLmVbHzclppuC0mAxsZKYE4DsWqtenTu4l95m0t2UwVUkt28GBTHktASsMtT9yFLBNYT/bkAl8Pb6w7a6x3Ox4a5n53aKJvbK2YtxiqRq70FYozzPm4c5otfjzbXK2j4a2tFnAVZNyLPredurNDx/Urw1/OvUxOgM0VE6JI+Fw+EIEHgcTuMOLO9XY88UK7LlOVTEi3YMQE0E6dyjcgZiqLmN2BwKkhfFee5n5icPlZvekxkI9HsP3sPVrB2xT4Ii9J05YQ6DtlRjl+PNaLe6MMS9P3laIXVCX4hbbi4HKYv+3nbo1h/dXWbwu6eMdjmurY90bJOX0mbPgCszBJnFubmcWyfz+wwNcSTKivFsfCXNhVelP4UFgjmhg54DN6nsfM/m13SgGkmWPiOi/e0PBIrEZN0DWCe1sUllecHe6Hkcpj8lqPKxvfbk5DJNWk1zQeE9X9XHmSMV/958zFtTgsIKQzSdnqrpqTz3ltOVLjEL80coy3KxRkidvL8DNFavwM+1ZgLF9RKW3wXC9V+TAuVq98qBQtNBxee50bWN3KV2PTTEA83uzIrDh7ntzR8GXk3q7aYW+E95UPJcFcL+98H72/VNyi7CQCCxMYcA2pRyS63Vb9oF0iKkgvnvLzYB/bHfFZ2ka4gmVPXscKpy3smQVPShe5ihLNF336+wPFU15fFJBUlwh/vHs/5uizECVJGDLeMvANouOgGQXRE83mp3MxUb/u4itndmvN3/3we9Vdquw5xRF2MVutdLRn3cwXA444GjIPpBa23ztMsEDfWoLzLL9szRb18+Q7x2fQfYnj3pevOcTf7KPvHf0sLWnZkSSY5/585zyd1+6LhmvJp8DM51UJ5JV9VszDvo7CRo4OaWt2dg4Opm5ZT6od/uuHo04f+cCs0y1F5NT7kzdH5AvzyzIaRDgknjETMcpv97t3T2qLEXf5TQw+3K1YnZVXKO7LFQdKtfqjsp9bbtMjl8a0OTPr8oaxifH1a0t+cr+7vragwKClIBQJ+c1dWiKdzbI6QCSIxpIHpjcMBtMSsDgN+NZvr3zuA3bf9vX1wKybKLY2Xa9QxPS7bcxY2ROdNTOeczQol6fSzTrkhLqKxNIZE0ipk46MZsJ/6vUY9DX2KKvyg0sSuwQ0+XbQkLUYQY9saPI3wy8cp0VXfphA0QC+8I9I7kRJsNXslQvFZyD/nSYaKnpg1v2jn+0o14efYn/qmWGD8vLpwNJEv7RDG3zGkj6Ry1t+rBU4+hk158O5IBRv0n7VP+tHP+pgH0OxPHNAqCO1wGxNcfU+jCaRe0OQIsC0bjuGFb7w1sNBYbZ0ttjf8EY5DZ/ZIY/EtsWzRj/CxjVIYO+hTxrPMmV5iV0nc0BVpsXdeP/TfZTz6rnnIV3nKikOoYWjrUBujK/KOjGjEl8J3Srx8bSSRBv6FoGC1MrY3anHuw9oS5Z0ZSVXHiyaG/NRI2kLRGvYjLxZW1ISQ14qrSJvz20kLfdHmrT809L+S9DI2U/X39Ky9bGctiVm7YJ6m8/v7mHQ9BqEz7++S+pwSzPVv5/SbhzVGrMxI9LRMi51vJiWascM5OXteNQqxywH4F1jYVgXaPP0sqd9QIWpny9EteOz6jHwPZzh0yF6ES51Vd6bkc41SNMbrsqwVzyeR6ANOObYcpt1z8KwLe6MB4510xsf8i8LvPLm4UdJacEmolNxYfdtsgbqvMzqsixtWvo9tNrkqP4bHiGO3uDi25yfWhMSNJ0mEHb0BjuM9IT1AP4/7s4oesUrAuWuT15JwK2E+9zhDByOidB6YOsXGksslhpKbJcKaxEFXtnxtYSh0j4G4Tikw5nhlK//4EW5zB/UnmNDAypE9+crGJ//LXO+WZufPzbuSrOr79Wo93JifHC3naa1fkOmnXv2kKDd9A2Lp6hWSXBsnuzHor9k4cPO8/qi9wfwYD4R2cmr7AJXomlpiirE+gcLQatZZ9qqLhyO9tg+EKhPlvKiO3rXqk3YvnWM7tBgfnOV9kNx9eWLlvg2JLWGI6oC8kqpTDolf3YoorxirSGpBQlhYgsLEtgkBti2LlmhNPm6vrjD7PrjVeL8ufkuoYZpbe1yLYxBbdHVFm/9E4BylSD/qvrVT9SPFVm1rmT+tB0QHCaA2wTsMzrv5RUnVirPGOBouRp40j8NhZtl0jM6u1KFWHbg44fd0h7tWmyOPLE+nvScIrkcIq+ETdX0Fnz4kUJKExNn0f3jQo237oUFt5hupapr76UXX18s3rBWWysVZccMKT9c9K6uojbEkqpuVOte95lrHr9qqx3gt/JY/WkC+i729P4GDUsTRiuQXEZPZ1CcDUg18v6ny8uHg/geINy89738pqzFSLS3vp8pu36TDf9vKak9MRNiaGelkRzokRTMy9zW0+3rV9A2SuqqDv7Xr7nQHYnkqqmsVi6boJQZJyydCwaRd2NzF6kVSThlCQSurAygcE0BrqQ3pwxyqokwDfXX8quPrlZc84xy1ivKRkzcP+dtdYWcZvDqTX3dLrnncbqt6/L+swE4HRe77DA7lZ3WES76Vpm4SKmNDpNGKFJTmXu7hAK+R1cVo9QQN9tTAO9ftOwgvPrrzXO195v5ipDFchxpo268fxZleNQO7uXznyeKsG5vf177T/7ztIyVmZUZuRo3kv8d/FFu0Pye3VAlKf3jPUQMtA9vp6s4fzdwXyR/668t2UZuVUOK3ogDIxHOsJdLyrVpx8/dfIUGDRUNMIkHC4T66lLV9f05u8KiYiS9xpxTiXkzT+amnQ3tzvCI52B6YFUZFSCjHTN27y2/hjYFewVRTgJ6kIAcs133SsoOaPKorW3VXBRT/eP/R5MgeFFAgaCExJKj0FE5qYVwtGBb5CPYOM0sa6PsIeXzes9wFEU70tN6+JhIlXczIGApwI0UY1NwSqqE5m8MUJtE2mp/Mhu9PnUwhsJBOpjCrjxHC5+HAB3Pr7+HYJKhWs1AkFB8ARYlq6poa0eTt4Ef4xSKSOiCPFHT6A7t7FFvTs7FeOP8uNVpuGQOYVwTHxBOD7Pgrm4tlozsyLU1C3myI6XVMgOieN+W0TwyeNtTLspfpbe0o3N6j3ZHEyAiAZYZK4CjvYS8tZ6tZpjH1W7lCs7tiXSj4L3kXKxh4IIglo68Eg0lpyjIhIrZ8hDxax44k4DzE4Ryjk+o3tYtwIyxNxTheGRNjU1xUwRizI0U/OqqImo3P0vGla0d8ErR7AO09H/Glhued4PCsS/akfhygWdvnB/H/9jDgswvkir+PZbXerTe0WMr78P19695d5w+/U8j758h/uYE80FaliFlzClff3oSrHScKKe/7K9UX5nobJMXIMdt2KP7EpI5iFTKNkeX45pmV9Pzv8ff/awjfTslUzPU2cyPVdWh+cu0Ps8ynyvBRpNXZADzsOETA0lZkhTHt+oiUljqtiJbWxhxL6iLHDFLtfUa4c1Rb0adN4jdN6TsHkwkQqObMZ2OPfyHXvBua3aBxn7DwreGAxaav/0A5G26qFobFro0sK3YwdjfuW+8gu6kjv6WiJcKC4vW9Wq79Tqjc2qwfsjr1B15WZR1boD+iE3v+LGjeAabWbcKBL12aVU1Y2bEIRz9rT8Y5+uBFzhJ0Dczu0vC1pU04emrXreTk5PgqQXtfkRr79s6pgAKJ4QADxaAzpSzmZuN4fTzeVxugLH5XVxOB6X0z0aWJlv3RrTmhYTc7ExtwZx2/qtDjEXHMpZZp+Ocr1e5Qqg1kE38TMDPnV2PWirb615kAS0qlftVo4MjnB18Wuedt7QCNx5LnsBpHStT03tNzUy93yoq3EkvPqiqXkCUXtiXAx4Yfbl6csxu0YvjYJtrcOHpw8DtL44qh6hKqWcuKgatUoVhIW44WDo4PRBEwtOocBjKGQ4nEyO0Tgl5vMXlowAisAhxMpIcBMzdWwq3oziT2QQ5POXn8Fk3Zoq5p7GZCKxIpGOo3yGJuF4aQfWVLL2GJKJ5CokOVn0FhpHYgARwI/H2w3uwBwFLiGCbAMdRoKV3g9WX+nsj7//lPL8PTgjtU7gHAypdumeDbz+KSTp6o0J7IHWh6pJIEeAHbK6NE3zC6W540Zc+5e0JtWnHArVDaG8h7AQOCCu4walWfOLmgiVb5ab+KOjfFN5uQpBiLHyiizwGF5eW+UVjeZKZSUL3FVZcXUj4E3+6Ujdv3UN/96Ub/Kh+MYQ4+IRTHoA5CJv1EURHl7iqFgB/7/ao7q4uqhMepRb0msjPmab0pDBJpTh8GUpBLzG2BPYapEt8Zi1OL9/gistW1VXkiabRh00d+4UOIyOqkBCnG40Sxo5UnVfMDYmuF9VxQILPF3V5k0CoqMWvnPK2t841pj5jVOkc4ZzsXOmc/fXmV+bXXxlnA080InpfTxBnzBd0N/HTxf28vn9Ps7v683z9kSxIiJYUTBnsCLJYEd2BiyK3knYEUBZxmmOoyuZGZLc4WDWetr6LKtvZ6/FpJFS0ySY+L1QL1KJsCuAHF3mLE9CK/khE6oNtcuYBAMxDxbDDpcvsDanW118boMMkRQnTgA/NFWfLZCs1NZLLpzNr65eyM+7UF9rBBxI28GSU2F1NFpUfT6NxYzxejotFegtA2S+ct7nvPbjY1CO73Y21BezHYoGdp/Oje9w7q+xHM5LYSg7uvV2o98oHC4eLxQA1PRgyVr26JMK5d2mRqXpiX50YeN5KhX7619kSMm+lKxWB/HeAGe+VK5IV9Jp8IgUfNQWl7HP4lxYaUIivDiXhDX3DUSglbSOGwcmxo7vC+zp9fcWCyQSsYyTEh1BJET5uoyjoCJJpDJuR5xCgkdZQL+WUjzSIkWZLUeINsZnPGcMIznAE3vuqsfYryy3RCbK3wP34m/wijkafKR//WO871YVWJddV8Wy/hx7XhuTnoTFc5NiJkpONXf1zjZIvbcmR5NyBYz4PsW6uQqQPVaeNRorkq7BHnOSRaZQsxLDIuSJQnIVmZKdEB7CQWBwWTHuk2BLvKwvXpTZlUDLQ2Fy+Uwry/nWykwKVpi/PwF0oRamSl0UNPH6dppudDbc6+3df/9aZ/2dvkYysbOphdhNpn/O3dncTOwAs7KDg/cd2LCs3rtfC+SZdtDQOHZoGDEqLPJzzmDhiFZVuac+HeJF55WlZsjUVrgmIOex6kOpqcQxKd0rPI6GCIXhMRS2jg3HJMGCGyKC0iCRAwkMQW0UmVOyIz4HjiOkP7PibGBKqNmH6sFbxbXoENky+mr6xlv0P9qxQGpvMKiLp5THYNODBiMwgUHxNFJiEoeN3jSrbPeKrbjchHU9te7pVicIWYPFVFCo5EoDHnTwQrPdsuk7hmp7eMs9Ah65Ip6aa4UcfYuKiCJlaLUbfdPhSJwKjS2jacYOGOt2sDk7EmgcJBTpexQnS80EupiBjR1liDbuKCB4wtY4siQ5wo+Fiz2zYSQwJ2EHPlMLZ9CrEfjMpER0tm5Db1BsICsymSppjeNrMcREGIKBSdxBxyBgKYlYGQwTFxmJQsARSERkZHIc0LAoFfEUqRVq7z1kFCySDA8qYllh8uKTcKUYbDmVRa1rTeGZ1cx3yaEkDzX08VZ2CTi7glGBfmgfDFuMQTJTkxIpHEBe6l/jz7pf4VcB+oYbIA2g8JjeVm9jXsKrAYEqDXoFsxCUvHNHI2lbKdrdmDgRnr+TUEr9BOKpUUUJU67NyFLiNmTjziAUesHvCreU/IlYBr7bENIX8pAHcqW41XHtaqGpniknbzu5I6OOmdzCpDLRzY8ckbiGiWpeVCe31HzzqCMnStHU5HgZlYSUJVPRSVIU+gXpY1rLRJ61Y5MkRMlWDZ+MkGsr9sBB/fMyI+MxDHt3Z11gB1hm8IbgnF8StrrWuuvMeNRSuh/KpSvFxWUPscosnakEqRXy/ROVynRbXldUK41Z6mPaMNcH4AkcELWeadt7tkCYks0UMnNNt8m6F+4FLi1A2h29bNnNwnXwjeuCYgBcX8JrQpmdl4eX1x73A+N1dDBBMkSOLQcx2M2dmC5kZjOFKQVLTUzbLhuIJ3Cgy7dpPgutk9YWRbbCgWtlNIJ8f0AYlKUg8Sc2wxlYPghLwZlAXomlSmkND4/EtrM7vdZ8IvIlGHfiakUT0nsC/Nq7Y3h5WYnO6FxDeCkdHHCWr4mWg8dUdDJjbPuiFJIWxW4TTV8xlUDgg6sE1n7sQpa80wnx8r3gpike9ZxeXdSDUj6o4f3uI8C9/7inT7wucSwRBum2ybaoVlqX9XezTd+AGWg/YR/Yzyz/+3IdvFDq5kYQydWEK8uL6/Jqs/+usIUAFPBINswWc5SFgysWG6EIQ2EuCXs/awJ2pQ5RKUMmMgUTBSMjMiI6B5tLzY6zvo0/9M5qQ9vaoyDVfpxQhsYpcRIqDnFCioagmFVqjOroIQuDEQjRKvJPfFKAfc7PzbjmsQv2Ro0xiboNsZ40DYzlMg38MARyCM70eJcRnpppziczuApGOQh7d7ojsONmr3HrtRVzELX2T6BXCJODZVUv7vG/awJrLsMpnOWt14xbTVyu7xqduub+BssdocOHYC651dHCI1aJTRdrklNWKHl24LB+yT614rFzBL0r1QJuKIb+0YnXL/fNiRPJQR2MhmI1OQQD6xWcBcLVtTzku7vLeODcKjkv/oBIxgObOSzvs95udJh6vblJEYNpupH9LjDMAAMASBiA9Pgl+0S4DZq4BTFxM9LGIUR1lUReAai2wgRfjcF8XAWRU+3apwhyBDCptsprMGlWFIgvwVsQ/EzJsHQDT80yOSSqQoO3sN+Bc8ai/HTgEHRzAOTUCtolBANv9eF00Sr+HEeQByZtUCBbi2UhTVoRvVcodGSYFDaw1TvSTfEMR8UlbpEe5GbI5pCUyW0Sw62SzUaATuiAtdR+oUXqTtH+16OVPHjslDfhU3n3hs81zhNMmXFlbmZbkNtSgG8C0ZaD2hD2NQSCv4BUAffl4GaZgkPIVm5FsjgGxzmNLC4mFlJLCAYtfThd2I+rbUSG77IM75nzmtBG3uiB2MbrqcP4TvE83jHx+FAJhE+V5AbWmiRgJqm8FByAOm6DP7kVEXIM/liMLsY5AT/tDCJKvQEZJXWQydus3ciR2zmgnbTIluTgZlncBpDXU3Ukld8bEqCrNiN/EAcgnlvhsG1BFKkN/C2dYRw0OgS1VN2/EAoJnlUp/1YAgGwIVn0RMOC7FIJ4EbeAkiNIhm19ENUw/GLbbVehctKK/JqHSbPsoKra4CPUjKaQ1Rkyq7hL66uw3m9EKGqjOTRpo6C8JbMhaE9s90cqtBq3pz3hZmxst31VO4Hb/E5x+GfTiK1q3DXx1q4Z7aBMzey/tyHjNjE8aZFW54J4M4ekqGqrxK/pR9ituUm2h4KB5lVWa90QfAPEDNovQEx7sDgAjp1s521A7k7JVaXI1EDo1PrhmehUR/a87/At/Hqj41egFmhxY+1iQNwNgmHQ9v0JgsBCWutJg9sYDrMQdGQrFP7bXMS9OS4iyCrAxvwvOxUDjsFbfZluNcAnviv0ILznR3S/g+RG9ztIvn+EAaxMt8JoAaF9T9chRD27r9+dU250LuawITi62o6mB9vU0ynq/Uvl3d33ogbz8WYbSC6zLcj+dJ1xk3mDevS1A6j/NIAqjKIuZ23r12BbwJYqYYs+EfKjT+E96h/hUb/tIKfjZ3AgllEz4oqbJ6Anc/1EoUd4lsazpSNnBG1T/PJVwv6Cv/JkMj0XbvYCGBkfcibnfawLOIPebSlNnMTPBw3ywUuehfwPp/b9djyOAEYay0o84hlTcZu9SWlBMuYPprHgs5vX/eML/1aR9FqsYpYseqqcWsKlfMz4oyrwZ6Vzuyp0qywq9eViitnIkp+2QamiG2DyRLs5CApWiEKZ9CUThQH8EKY4FqAZxB+lzNzdQyGvqW1qNIDJXSVHK49SgqdMhDGHpoBkQeGDublAz4IOFqr1uQZgyuFGxN6klj20YiarMoBDjdFs/n1caOnBRDZBbbXLuo83Ggdk0sJsMER2NTdbbfg5AGvMkuus0B41RXmjhy+2YrtnS+zxYMu2hkHa5+/5+/6Bf+gf+cf+iX/qn/le/9z3+RfZ/hthKXwvvcNY2NPC+8xzXVzxIXNefOCT87HXPZPb6rQICGnTKnwytacVrDmwA95Fpy5nnfOfbuddcNElPeaHerMsASLV5UfwAQCXx9vaqV7zBTPfJHedvRBJSFcfSzP//DLBvztV8O3BEie+tzm5crATzHRbMqajYP3HuO7unzNTAADo0ncbKQF7CgAAAIAHAL64Oz+5vlwdiesBs43t+ZJNfetigqGaGHlnSaa4BMK4+b3mgupLgi8EF2DL6y2cW7C7LwywurwwufKZbVU9Y5L0QfN36F9qw64W0re1YJ4R4MiHyO1uZA3c49/YMwYJHfA+qYEocE91wFKYrJtFbiVfZi3kHHxTgf0DhsfVPLVWJKsH19KwKT+Fv+gU4klhBmu7lnR/iUqJJIWXJatde7kPEWxF93dyQL4jz4KZ86B4W13/tX0EBWz1LWkNFA39fpLIdSgy2ANcSv1SXuTUX6IaOIl8tJZGeNtoXiqcXPmuL5ltp/Z8uTpjusULQGVStpx1i3nIQ9akPVQSEEGPd+KlW1ktRg5K7pqjP6sFT1hrJM/TAPaiSR4JU9zt21vlRaKvXwqECAhcBsUOdPZ15q73qUiMCnFSECt2dY+r+QcEQ/BF9V3+GmwHbHlZNJgL26W8q7aLQauR0S4YrtW3Si0c3Be6utPkJFbAbJ6Nd0jfCMCRD2EfBnd2MdO6BkhlFyMdDKlPGkifAWC9WgdKs+lL3UgxPJ9l8E54CfXF3eji6lu8gi4m2EN5/PfIi0PrePlRCmlsbrdELT1IoQPpoyhMZWj/Kbw9HcQWDwS183+SrFPjEYimgH1cHexNqIYZJGp4dNkmd/Kl3A5kUNAb+hOZWiQtpSjzPW02P67jH2jlRs6iJVjHccVd+MYgOhEmW32LU+xAWkDHr4IvyF3GINedCD68vUJDIKfgEbFaGGu9PxNbx2XdAWB1J6o7sKN7K0D8XwdTowzBBES8GIAQNvVVBUzGxQTDuaQ1WanhfTAA6FjIgLvzOjSNvE9wAbTbKPnyVH+PdYfZHRBUdwI69Z0M6uBh0KtvqQWHHoJvqjeQV+Eoyi2EfIjAwLJsbtX6jZJ62EYaK0b2LccJtEKGi0AjWCR1G2Asc9BzIjC/+CWgww+AGN36MLem4rkJWHrGA9pdcrnbWU5zzpqlo0G203uds85aVNqlzRVroItV1h0z3KK0FdWTUKhFV/wJBJXPtDHlql0SEYUr92wxQ7e6NwvomPBb871W13dWR9nEJYvWmy6Ol9dvFiRYm9ecdcXwLjZYv3VWz5H84a2xat2wuF1hJGXrHY/XbcO4SyUDm+E5FMNi2ADVkR8Bj+z1a84GctepHuplzuINOGUFeFQ+QB9Z8HW5rumt2ZtD9Tzgsrlh4dbmJRlul9qS2R0Z0+llSYZK3LkG168/7vNaA65D6wrWjfaNVdL6c3Y8XXLZJU31/OaKFCnYsnKLW/N3Nwv4AO84fd7q+tXq6CIj2bx26Rovr3sXZMPavBrWFcM7Gqzfuqlnnn/YN1atuxa3iDE87VvE5DHRVgvNVnSUUtMyaEEz3dOfzRuD45NUC80opHMOBqgXpA5lx+KMogk69dtz8qbf5p21QNn0y+xe//LEeL2Z/TW+gORuJ4PVwzcTHARpksbI5vlWyV1qA2jkAAk30dK0MyBjMcOv7WifLxctDtt3XcuD89/WSTnvmsf2bbZuJepP7tcRZVX6kKJTwmr/9ist276wIvagPEGVGBN7Azv00B1AP7sD+l4O7hEJoYZqUaJwd3eMCz42VvopBMsj3taocN8/+wXMJ/xYwvUpJv7G/n3GdaZKtIDeGpvsdtRl9xpCFtm3NtOwsPnYTNqUTNeYxzfR6Z3gpKe6AE5QBlWjBehnzO+Yx5iX5MPyqIKFybBMLA+r4D/Pf5f/Nf93vpB1lI3gQtyIF+I1glcEF/si/Sixoeu7rn1dEs7bnMgASgpIHekkS8i67te7P+n+qRvnvsh9n/sV92fuiYGzg4XUzp5C3vRQOWvhGW+fcWpoZCimFNJ6etOZP5558Myi+Pfiv4w/Ev+PslPZr5xQUumdbM6wM/wUnvnnu7N+QbmCi+1l+UV16bpgF+pSvUIT/tX6qrqWXBVX823JTX0LvNFvolvBrfLWctPdnBRT7jxv73nilOAE4G89v23iwsTgZN0FKy44PP34ZMdk3+T4ZGKTlVAuzBRuv3Bs08zmDaJFvWt6t/Xu6n029e3Ufak/pv61+czm3s2jm5fB/8TW9mPt0fZl9gb7XfYH7GftL9h/5YBz4DjkOEw7nHa45HDH4ZUjwhHnyHbMdlQ66h3bHQcdpx1PO151vO+EdKI6zTj9LPtPbu2sd25y3uNi5RLlkuVS4nLcZdHlC9dw1yRXsivfVeZa5mpwPea65HrLLc6N4JbqluNW4rbkdsvd9R5UW9WF6jnqVHWuWq2uV3+rPqpu03A1TVpG+6B2Rpele0N3XU/o1+vfGGSGBiPPmG1syViYsT+jOeNsxkDGREbiUpZJasowuU1lprmmNJPUVG6qN71govQxkwfJgRRBKiEGSAekF7IfcgSyALkGuQ95A/k581+zFdQC6guNgCZBiVAeVArVQBugO6H7oDPQRehN6ONXf+310/od8XvJt2WN5ZGVZ620Cq2l1h9sm+wwu9dOsfPsuXalvdputP/g0DncjkqH0KFw6B3tjvccvzqaHZ2OXseQE3EqnG6n10l3ip1qZ4PzA+cB52/OXueEM309XEaX21XrEroKXFrXpKvddc01cwMn25F9V3Zr9unsnuyR7OiNuFvo1rud7hJ3nVvoLnDvcrfn8HLuzbmWE7+5Nnc+j8hz523J03vwnlzPMRajXaL9o3Oia6MvxQTFpMUchNvClfAJhC3CDhGNICHKEeOIS4gniG8QvxdZxJrHeseGxSbGkmJ5sXmxpbH1sd2xo7FHYm/Gvon9vdg6ThZ3N+5l3Pdxf5SsjefHe8QHxMfEE+NF8YXxU/Gn4hfjLzd084QmBCcYE2YSnicmJA4knkv8Psk9KT+g+PuBbavf58RVAeo+1WOqF1RvqT5Rd2LnYLsr+ismK45UiCpk9BrtotPtz9QfY8+xT9SEOa/0MCf5r/k/7tlZJWO/lfvR3mPVVe43ea/y3ux9fO+nD56NohW8AQ7IBQh4AcBhtD7pgkP+lglLsj6pIoUyEdbrwVACfpIhBxyJOgWDSAgh08C8+WH881tIXK/mJYKe1ou/1C3XNFiIkT7jXtyspyEkTJQxBVhxS4XeTZKEmoi7+/+oTeUQXtJsrYEEVrmG1gWGKsQRB5BMW1hgLjR7J01QKZ38azJiJiuzrcQcXw0ew7iGKGApvYfWU+ZcBoRIBWp8Mhlz2ZUlExCIkupHQPIdxASAYVdBgcAkmhSBFrn7uRwAkUmD6acZiin+ELfhlbxOFcnYhOUsEb/7+nufhGeXcGkdEJ8iefEYx2ocU9C2KlwkDrzkO1G9+tKVKObEbNCojNSzYIEmvQJwrJexGd9drDxzsVE/LIG7zVaPJxxYbujPCt7js9vdpnm85X9b9z7CrwicV/D3OtbVKinnZ/49DeelkvgKgQIbzlcn0lRlnPelPok/cnPYUYya/ZkhSX01YCv1oG+Be6G7gUN5xLPIXVZxoo4CGQNv8E0I3MSx02qQd936TC/zLSbUeHZ/3gnZPiqJp5JlKlk0xaK4Ch7m42ME02WT6ih43NCtg6UDGwf5RqGoIeUi3PaBs9AP2SWshB2ZjIkmW9ns2dMcAseD3u+5NxX7JqI6BYuqOsHtqnO4XfcGSlNwS4JFUiD6e4o7GEjK6bOtZkAWqy6bx8G9A77N9IRjrGfghYHypiQ8GnfONyXgugqjWU+TPM3iGIbpuY8xCMFrczw+z0t5P8JsURxeciYDx4Gtj2BNN4DLbmRP07bTtfotZrGhZ7MUrAM216BQNbs1nOTjdpXKqR5qssuTaphE2KCiyGUhFGDuE4JPy9thIeRBbZ5qiKIajNfdAqWHWCMFYTIRHBROTTs2ed69Ef+kmP2EzLquupCLWBBFUr3HWYohZuupvaSORaQrMy1//SsNiZmzqj1LgWWmH/QB459hfpeHLtt3JTIv8fX5PI9YaVHoiY8j5RFPVnXJgIfknSRx2syD8Pw13Td9JPZ/5u4rNz9JIAdfQgLt6omaPQ0nhXv3xdOV1r5c8E/Nq5BllTMm3j+ZKO8nDMX7O7OKt4q5Zc0rrWbxlPQs+zjL2oRxu9qsnGEapYGLJB0Ebs6SuOfk9KHpuw2M3ac/27tzqlBuaPsW4j+tl2npaglr4a6MdazFUcaeO9NAkgzq+H40oNgddr6vgGTuKW0qX26e78LstIeZ0wYRbOzPfY1GMwjEXevql+0Bb69IU+77tiD7D6EVOs7oZceiAcywJKNojmx1vzEqUdrbU8dVARem5dFZ3thhQ9Wp1JTwBrtPKhWqgdl0w2lRHCAbOTO1QjZrei7P4OLeitalKK+C9KQfHtl7Lhz+knFMgjUZiZqsOQPTrXKmulE98LaXWOX3AXt3du18cuP/0C485QPfFbI9/9FNDFJyAzwnVBeentzxB3Mo2ZeGPm87JFPA0nqWo9dxlxzVrZCJQASh0V0dXNPY0BeC7t30wBo9wik5bzej4f2O4fH2MVd4/2BivFqmhncTo6octhrNY+6u+m0NWKAgLSJlpUEHufGBgs1om9wEryTio2QwSK4KITWf1yADrSaWddBIcCTJjJXjM2dN8hGKOdvt2Ogj2GJLfr5+OYMSNjSWD/gQm8ReoABqnBEXnYE4SZ9bSdyUKExt8ux1VDzfEtxzj6BuVtRwsu/adps2LBpETDUyRlce+JDq2x/mrN00rpTUX8XHrpo6DvryXELb//3I4++/0TwE/J4ooUK1xwVRAt/URg5ESZTmqH91pcsj92m/leV1JCIGP0taQaQiVESNC1HA35S8FtQFIR1Y8Cp6CAR6QKJjUc++k50GoKtXxcDBfhtb0XCRoaBC414+GLgqTKZVIlJeeqo+HQAQvIbDE/D6IqDH4yXBmQdCq1woSeDnN67ihfirX6Pb4lTK0ZS4UmdzOa7c+LZGb6+J1Iaqq/w4gBuSuZ7JEFdgckIuF3xKWJnMjkrZ8jIbysBXLlMcu6scNI4FBg1Q45PerRFS4D8MuETU1RAvrgk56EOTzc4rqJQrZSPGDGvurEqil1Zae660I8vmi4VqhK9xpT0o2gZAgOyPFEsNKURoTcooykUlfCOZl0nkGLIG11HErjIHlTuxgde64lCbW0piULIn4aF+uy7XLEe6NKiaa4AEjCOUPYxm/V4Odm5SCvJpQd9uIdhh85788aq+X8NyWHEIlsfT8ObeeCiYrbEgKtsIVFSoOL9YpHB2H/e57InB4kNJ0LKKiqJqNMPNyyGin9GWm5lQCH5xMu5Js/CaihMoO1REBC+fsXgr3FZHWUkb/evp3/3QZvSXW/aaFCuq8hPm+8gd+YE3ZhdDAM4jMxIcuOJbya0dxSsGJTGH2Y19PcgZnRJPaevTAfsaCbCxypl83v+Yqsr9ViN5FgxXHZ4PN8HajGG8wVIGoyMsjRowlGY3lS7EVoTjjg8U87P0wUkJFkWD6d9T7FgTWCSoOEs9V/guQ8aS85d7+V6EmtoMOpV0FpYUaaln3qgjUnr4bb4+MSxKrygdj1zy7dEfmQJiH28ImwPCP+DC6N5ErQhcmSTlk0rFeuDxCghVr9r6ItBTcwoyrHJmhpfHJHiPMTreTxkB7/+Za7zfMXMaLXHh4cZyxpYGzNRvGJoztWteb7Udj+XSsm8zrE0YDVy0UKxUxHricIXos3bsq48GYJfXZtlcA5YygCBENrJoRdZHSt6o0UolO5RVkcZw0X1QoXBc3E8a/IcSDsLQyyXHnEyIJEUNd1e5Yu3vO0wT/q8JEkWRoLNmDbUUyszsPA6USpFH7qoHt8duMrU4DZOp2OL/ra+vc2K9DQ7wQJONF+PDQncVUm+/TE+vmN4pwHerL67DMBfdYw1QPkjh8YwuGddG9Ord9L2xQau21Di/1wHNRc3g6c0O7xroYSw/YvYGKgGnUg761lm8znIijYGmu2dwvgUx2HDvpBpkkIcWmVMSafuc2VJow4D4iv0k5UCTEoVPAjqWn4RFsB52fmFbb3v0UuzCT9Vx5/6shbzbq0H0YSf/8otxave5GBxcr4mpGYf/el/lQ5abKdg6otUKvaDdH4qhrlhjeJYkYYhi2T1X/dUF3VIzuBqjtcAbdBMWHzSWbq58wjZCkgiws2ZVEIig9jjYdlP058zY4KNSUgX0bIVH9OSAcghdoPX6RBPhcrHw0eDEbnthgwN5VCeqftsAd8PTNuYeXu5ve0NdGj3VlkMa5jZEFZTRhjsWtR3WGZdY6AHfMR0k1OosUdvP5g1vYmdrgU43IEgsi+OOAyJKW3pSzKCjpNQrzJQQkwkjMCz7UZfAL1Tr8MsuwymbvS2dbyF+lpPTvdqtAvX5HttcFvqrGKxq2MvGDHNjXXXS5lT8j54p4yuLQlWCvOxU2akWDQvZ3GFpmxi4+ZgUJZorA43TtJw8Cxad6g7HUMOKpzzQF640siYsB11krg72zag5X39yIKe8fBE3wucZWYDym81HguOrccWjPl55AjhI2I5jpDE/TLvPsPz4/5m7UQBy7r8U1PH7K1fA8qaAIlpVdfrLkIuqTUB2rSewD2rCnMOZlpmALrVvPAwDshAEpnsa3rjnHRy7siOshpmUkPnZN0IrPoInx/P0jQdunMw1bbXGsKQWJJ6GLlkEgXI0PsS9jEOxsDjJxbFszsfUcFAifuiVguvXErVVYSjQptpnPCRnLvG+yIzyHmCCvKPMbF43M/0bZh9jxnhvMGWV2VZEPbr2ZS8MWZsw4kY/gx1lv2UAKGe8pDR1jQvr/YvOykXPodYrGIrkl6rISgu0ro6vrLNi8FGktVONf8lGSk++3KJZzzynxqmQxYe/9pBYNoALzSVO56wKtEfuk3Hfnbg3jtpYCHdqu7sHWnJ9esjjtDvwEOa2j/flG9Oda9HacKfRsBKbQdKLSs9wLxCh4Hx9dZgGWZF8+5jH4lRZGbWA5dL6cpfUMKysfY9GU3pBqsXdkYlODf5lFakiSuqx2hOKZwUo2rqW9z9WBWJHCotLytvVGGCiZewbag1LobA9WE1TmKyjdEvy8wJvFTjXfIuo7BYGreGAN7e53RZW5h5OyvxlZXxrPf06ncBUvmmohBm627qHGVoNG3PSlUVBhBUvUBsdAYdFfgaECGB5WndQAEA9bDjBKGuk0PIS09yhhbqmSJfBuqFb2KRUopanZx095LLYT9eH6rtVJFKBKBw5fpMPNToh1FpCIatOGH/1mUjWUSLuIbdZu1w83+gqnmJGbgzn1/DiwJecypUxDK+4ZFbumT1oJyTkbHv3PWXz7N5UkYWQhs7dOspxcWTRX4m43RULrdMx1kq1jRzedZ3xpIjONYcdO2kjaVqgu68ZCHDCcSUiAO43A8RoZLwkOuerrIvdjw8Qc/6sUkGwcPhA7gSkVrEXJDgNfLDFgDC+G/+wh3o+6C94xfZTuzHAcY5jLNYiR4Aur8bnY2d10zvav6YJaEWntg+CBRISy3NB66P06Q7TzeiZQnCq6Hue7jAFlR7rHuZ6kzugFFYvLVcu32AVZZtctfoR888NmG7ioSz3mQWoRQ+HYUQ8bv+HO5VsqlAOoR238islVTGFmOZmCZCraRXJTtJtqUxw0XuD/RRsbCGFCDjRG8pEXA4A3qZPf2geOLw1RhykVe/PM4IPbzWPBPcNp+LYauSgU8bMJnUYHxt0AW9G2iweSxearKBhNzyTKRnrcsRpOGrDBgLCFts4Ztg4bihJwy6bLenIKTkjpwtk1CjpxvidPFqVV2Bof6FIx5ZmqKt5CJLiy7bTbUQikq6EbkC6suCFsH6cNSNbipFUX0U7Y55yhIW8UlzHnbexbtBrVUw/jCXmiqm0f81unIb2pbqWiM827/qLY4U7aEhoRvdKxdDOlRwk5HBBevFLpClgr1kRXnJZprynZw8pf5BBGTjve1TY7kyKSjf4qqCUCNgCKZc9cETi946uLvtp/8gU84one54vgyDG69TtoVVWdKHV5kF9KF6XRS4LeSM+FByugWCuVc78x9vP3IBUwRGKOvxgOh8KC5q4Oqyc4TXDpll00SeJQuWKMcz4GzBjjcrhN/g3WT7asYTSiRw3lv9gSCyCIcu0OK89O+BYYDTcZqeAG0mlWM+JyAWExsIZEiOd71yy1YdjkhQXndlmOU6b8Ozp8VybJ0bAjHMRJFHJhRwuVK6nZuVxbUfflYLmZ29UTedsyxV5IzxZhTJjVUjyOT+MzDBOD5fqd7AD3heeP8yaN1thWY5OfVTFDw8CcLzptiHEHzfg9+HeGK8vI6siYkxIcc9aD/HFYrO4pYhtjsYM4VzXmCSD6yGWNB0MdtgtpTExjy5LzraelHNePRFedmO6aE9cxE4K2sNG2v8qGYkk4H8uoqg0zzfkUpNcPuc3Gm94ILivuLmJp7RHNjJ7MNve91Ebtm1R1Jg9SkQrffSTgg4V6n8XHb7SO28N3p+PSe9HipxA+X0w6uejcYB/w5S80VewGB5wZPl/ynXA6HYvs3xqMzqO0KjttCtYbV+xLQ/DZNFibNnhIDoJrRJM6Nwe28p+QzOCINhM1cCEBi/8X3lSNKQVcLS2N0XNFVFbUfAKsjFz9w2i2boPrtJm5WoEqJ/tjCThr+26dkA41vHfbbUcSGY4KqJVI082TUcqw2w/c4JT8hrZUjUSaisrDviwZfsgeHqQCDWHZgxW3k+tTL+6j0fzB/tdXkFN/8DZbEzS8NcJQD261QSyxhCxMvZiONYO4Seti515Wayx7GIx845eLA1m5TozPwmNV6NwpBZTFMOQSeFkGZRULggyIh1Mnnny4hFNlQ8eMrxV98C8jfKnqZLpzAUleqqkbc1q4h+BrvSwYQ0Hs0jlzHxZ00/3r884vjxdDYtAgBwMw/s5YXpqGHdPy2ghmWuNApw+AncIxSoOipMmRsxHasXNRQnmJyefFhxhDfBgPj44UjQgh8WwudWSlHbCEhU1VKt9W58lN6tCcSzTrw6GXcFsR4pj7m4szQk0F4R+yCwBu17RUGnbY9MQdVV/iAqGf6M/FT3SPe+nviCcRVw6bYndZTbvu/TrUle5yrAmfUMTY9tFVyYHqybxKljaeuTJoelYTaaWNjJ59ASnZbHZgcaxu/P9k+Dh/grTGVi4vQDZe2R/VF3eC0thbdIaVuBqlpMhoZHGUmq+IXuN4xgeypxVmZtmH6wpYiuoSyNDLFyRWMRiiJRIhM/pQHkxlTaZlvz2oqIpk46lgoVnIL1ktdt2Aw/j0ls/wjd2VktA84g5qNNsQdRz3P3OLvkIcDm6Q5O9fhJrnD0wDVxqcmGHKcwzuHRPzWK2joMoTa6Lw9tYNM+6sEnOe4CR8l5ghnl/ZRZUrrEa2OMcXvbLOmsTxui6ao2+ytJGciiFSvnGV3ryT74eM37CRWMG+1VDQtPFxXyTdhXVnziyI95ONvDSgv4hele1YLIpTmEUGi/uOecRkyyP91HA+660P8dCLggBCV+JYxZHJ+O58KUpJClGusKVE6pLjR1+NOyEhnIFPV2Bk+ZIw1gh1uefk6UZD1cjeuZoWeYjk72ZbHgUI+V5H3YVsxw+Iap7oDl3dogTvpUXpub+7nzVuZfZhglotNKUkUHXvoZg4hwKVJR6b541HauL6QUXYd4f9r6JWm8sRcIxf0gNI9HHe6W7QwcZbNRLtXVdfufJd+p0aqfbYjkglmCmUuvT6daeI+PNZbEzt3XYKpHB5C2fci3OiMt2hmoRSjjsYq4jd2xkMvQEp4mfs6wA+k3b4Sn05dNoX4txgpexqpbmU4KORxOB4PDN8kY7IRfmh+VnAnOtq7m51WgL+rzt7nD0rA1uCy8kT6fDEAJSoxYfp2BRcUPAsIUN8olPonQu72Yi5uARUMWM0VHxPtfCDUjwCiX8JowmI1AJTDECrMyHHFXEunZTksCY5ckLsP1/KxCZoW4/mhDofHrQebVe+C71TXElvTqhH2KguduX8l3Dnaj+RxOD7PCknLeYEfOeZAjeBHOB9xJTyvs4I2xEAJtiJ7peY9MELPLPt+lNwHcz8Uh2maa14reghax5M9n73RWe3jKChFo3hIHbEoxDfewU65ZpX4CCvnG8y3IeHxhDurBU1GZTPsCwwfDUTb1dxrIFW/RZwO2ivo6CBXLLop+UqzgVJEJ2wI8OmfWPmoSxVCCL4a5ZCEQja0Jqnnt4a3p9v+btFITcoTaarXb3PeDIx0txGWNCvqhF/bXQRlpsDyNvbW7y+cKNQQZvgYfXyJ7962QZE5I7nAE6QbJ0/bdgSY9Ldz1uDbEuAoY2lvJ6WmVaebM9hta2HgxgBTwVsr84+MLlcPjrI7FhfxjHfF7cawz6pH+RmPaeRI/75eHQKRsBrklOD1Y7okCWT6fZVsirVQQNF9ruM+5dEr+6J249rhahqwlptn4JIuVK6JSyqeBgUc/OJ6qVqE66aa+M1qs16uLZG1goecEYlx01mVvHAucCYqJIipzW7qSacbP1Y4HJdpilXJkCy/emsHFzTkuDBBR9cVU+8Yw6BqIfPiV4D9wZJWG4J2cUjYKkAGEt+9JtmOxRYA3vPKKaKVyVwpoE1myPFWUqWOPFHiuEtXJehHHQnQVIkA5W/B1qYE2bwdeNhwzLwTrwUk2D6TgQvOAlRy7AqMRsFhuLd2TaxNsKNgu88L9zUuFYV2CWzUnswoEiaoY6dXmbEdWxy5yOWl9SX36db1WMc/2Zc1dwMF3o7mFqK7DJu02WNAJahS87fFl7kJiY4X/DPDf6NWupSQ3jC8ODR3MZNoXj8kb6ShomehAE8Z8+SD1ZI0br+sHKGT7vAHOV9y+mtnKLFQtP1rllf95qbcKoG422cZK72sQbiTEQHWLMVGeapX0qwFi+F0ZgMTwYsuRi+91XaMGwrVCYdjEyIUCLNaYFbQW4fGX2CG5u15wsgNvBw5VamAzQmMSWoG2HAS+Qp0ad85KgWgniYHOP5e052rDFej2zW7n87TBGYwYu2zcGM5dCpFzJJB/9rfnKxRrOXMPS0n28nUi4drFez+ywhssLyEa1MSBBq7zN23J440WpVN6ZcJ2gaKTLcOMdQUwgoAqI0OPxZFS+QMipT8BajbQoVABufxhf2O+2bGZZlFCtAb92Ge65YCuV4a3KPqLHSqf7HKYpkntIEd445vDnU29V9f8F1sD9RGcvO6RWf2RtOSuYm58Oilt9yfxAcuOwzTGTuZ5YKcVf02o5YiBX9kKkiGXpjyv+eSXJxquD/6u0frdRyUYwnlyUsymxKHp3yms3O7AE3WhilSuvWqxqFCt6tsm49wx+qj4Y1Pf5emY8M9iOY14uM4IzPbtultgul4Ci5a/sitoa7DUNw2S5Xk2o2JwcE8VQx8bqAMGJjanRlH19uYiT15kdsRcUlHmPG9iYP3yhIt4QLC4QdlK/VJ37F2yG3QbbU5gmlguf0nUL+UZsojBHAhcIu82PtSkzB1HtC0taE3qgk4NX1nzOwVc4w6mjGxMIoYoMVIVKNldoNqY9BddwYdcidLc/OlSwueK3zjVxDo7tRdyLNTA4VHjPc7XmBmdJfVQyvNzkZYdTGleSLmnVxAzloM1FyxiIisNPlNLCGWP1xFQCOp2qogKuGAMjH6ceQsycV8xhxwo9Pljcs/EuXw9fpxKHvUCZXhPEcUmS1lPdTeLckantxlxLRNDhLdrqY9UgvNLag1+U9IMR1+o1JQ8JNms8uK594GOLgguz6OSH6SVTpIxK2XyAnkGv04CiDuQ2jpCaxI2QkLLSkwWS2c1EqD/3EE1TWhQA9WS5i3CY0oIC1NZ8k4w8L9dpaehT/2RPEn+zs9tsn1CIFgrBZ1kpURbCNdyWExLMJn81xexPfTVp2Z1um9Xw7pPNNO9TTIZRNXUgs7B5NeqNV4FOgsETpDRIVYaFozpJ4qif8DN4PGeTpVG3Z4QhSpiQN6qE+XCPntlVU+2JBq/wpqDb8EiWJNnz5pMkkiUTOZWxnnC5bpopkvdz61GFAZ7WeYLVcqzEhuT0OSb4EgHVyKIEkqtEKGvfnlkwlwg1E/6W2ocq4beiWNOXaJGyZCUwaKlWqHwtFmogx0ESxVokoq/nIGJiZYVR3+eDXydQRMPSn5JNFXLUsscd9xR750mpJ2zTz3XWKmfUvBgz2cxVmkXX96DQ+VQoK5oKPJjA38IWhY0Y0ID9Z8s8l+udUZcXHaS5eOV//HBCkvuMY6xQCE2LaeSXURXq96tMerVOKVntVSNipI6iKBLDQNHvlkhSNOQMCWzfDPwNC3kVHstFdZwtZAN3HK9MQuS/nrEuH7Oe9G3+/pkikyrHxEr/4j/9jXtwpg1HaqhY8xpcS7oHzDxsleao3R7Xdt8njdipOSXNq1Z3jy2Vm894GG5QElv8LFRXNXDiTyFfNKCU7ZfpOGGu3Z41qoJoP1+mYFZzjKpONVoZ7Lo6LNRYXLXqDV+EgjJhjySKZDwUisWSDWi1xT4cdcdrJdcdFnFiRc/CrOoo5P42qT34kvD+0aSgMJwl5+1gFJXQirjHPVrV/Xeognn/p4jO8M2mijjXfg94K27mufg9+9zuipxOuhKdq4sOqoi/gq1wpPVmH/e92P/q4cySiUCK/9NwHzT0M4yhvnCKec5s8avg2m9YN2jGMl2Z/XtQLSjIt794mcNiXbimMFKwJQpZOLLy7wR3vmw/QSjnqNrId59e5/7UeJvFCizXJh593WADrIKEQrTkbQCo4/EA1WUzea73Rj1+3wDJxr3/KbU3TFYJDrgol3xNLVRYrX/7uM+UD8ZirvfFBKOT7jzFu9hnzilQhW32ejxZamlWQf61vWjjDGfoR9EXryTAH13B9CqUkBASt7sZAdGTq+X9XpRBis9jMSpWdY3AiUyHQ/YMIlpn3cPwaOnkSWq1BkF4lHq6sKYZfaMQeLojaCWPLqyCSr0VwrE9rqUUsEY969CPJvX6ecpjs94zpad/1HO70wld4sz9B85X2sz1FwmFgjgKQIggECIoDNdVJGK3vmWneABv0ZyEN8ZIlUIFww2aNImf6tptHMKt1cP9p+rKZ6AAvASV7W39iiHKOudKuuYQxcx4SxHscEinBoGjqPS2K+30VGMks9DXWNPZjiiqumcLordz6LDl11m6iszlQObZvfRh1ec4fWGxGZPK2QYYpNILCgvz9OypdMrAH/n89mPsgeVgC8JwO+zO53Fdi+fZKr3SRRmyi4rmxyjgX+2KysTLDxZ4ZPFut9VTqhbXwZS99MzGKw56JSDyrcm+6bzrgJAcCiF5OBclQqHJug0977rLEAEODl9W1lzfVL61gBP7BNl7WEnBxVHiXnwpU0YOBXHm8qTMRysCAW2uKlY5RcmS7/ZvBTH7cWNEf3h40x0jiQNxJnIiacuR45sz8lTbBQAluvDxQ8G5xwprJFbhlZmbmwsrjtksInhM8ujzFqFF1f2Wz9M3oLGtpkBrCjvh5ZeOjcv9eyOj8CW+Wd+XvDCrMMqz8/mdWahxX/3XRHYhrIBtLxk7n99sTaRdIJR4iWZZrXb7/bQLhxLghlnz8ZbMavOlDFh+by8tXWk/XJcq2hwfcFWcOXg1eC1i20fw9gUTOd/P213t86N0tC16GDjPPnecPokGn47Uv7btJhMY8Nx2M+PxRwFFNLIXFH2YrTd+NQ96rbAONS0FcKrVmYUek1GKBAphq0Et2TmZmjdZqqqHZZYcsTi8a0fQcSPSWeziHXjh4peFQt9gH4kk7FNIMorrozOECaTZ55wvV4LQau/QxrFJaZieduet/oQrFM4Wo/6yyq/8dhok0XKst9+1jINUhSXbOY6PUoKzJCkbcJrcDT3Edzcf/uLvJWGecZtyzeedhn+eBFYbiFOeE7o8XTsT1jRtQafQfmiaTWzmysV1S5btbrd+1sfsvtLSrSvcCtvMvF6lMGKqvo6rXekrwZK+V24EkdbfONZDBQZLoNoLJQmnw4J+HH3xl3czT63ON/z+z44SC+KBaWxxL/hwlytXjlsuMcZRjSw2F4R/TMGDTC72cGSZwnHWFWcvmbNuLHPo5C8gXOrfZTRyw5xl+p/i9IgsL7e5wmhdxxYh08eRgX/fwtymPL2o+X2GYFTMKJMguAArOobqjawoL/YTjZDshxhbXQ2CxTVvd5ljYk/g6x+qCytvGc8PabKsYdx8AJyzGwIOWTgJEv+n0pMCUDh4+q+K07BwZckFWAfBk1MRlSaCECIYhCikfh39sWDMOuZ0/ptBg3Hq5yML2EhBcT8HqxO8chaO5CJIGowFES+2vmvuzGOorhAdvXGX4UEBinhFqU1OJ3gUnZtrAgeLRB5vUjDhNmHUYOy6O0InrgBrJTFNdimVEnuFubDGrDKZBK6ywrKzcqK0+UTwiWITFkoYTpCq68ZTefZ+uwIWPnzaBw1/jGiMs9aUXIRTnJenwhvj2Eq9zmh3+4RCQXqztW/IscrBxyArf202+3d37OrmiioLtWgojI3LVbiHKuZK2CWOYhgL+oaMpyxHXEvA4ZZCX9s6UW/kJPOYZy0U5GNgYuos3Akv2My6XOdqM16RWXvIrjoogXSv60b3SXpLnp0yFFmzmcyLjcTV0PpsBZhOIinSlNnUHIX6IuZDmBASM0KwiuOFfkc5au2JydS5+iyZuQ9FYXpqliMVMgggkjW21Eg+zHLy+uweNZwsbx/XHWE6PjawR7Rbc+z8G75XgJ7MrsrQ0NDPNgveZ6+pPmA19EGvt8ZBvbUQVKvHlxIsSdEibZSDnKUy00+WHxf3rjW0YYhq3K0T5B6Ew6QR5khksKRNCMaTnAwjuGIZgy7A1u4Gvgs2e4jZ8pYuVJpeKxNJXA7nKSHoCsk+TGDIyee3dXVrgWnXo+xL0cMvbvx8T3shuwE9VBMENdrMdfhZ5Jc3thoqNYbd2eMyuDr8ZDSOur9cM97kiZ8VyLy96Z5/Y9DL6Fpz/ULDFxVeldJoq7Jri8GVR8CrpaYg4uFpYTDXeEOJNpNWHUZf0s7S9QZvDOdUsRps9h5mlYrOr7SqoSI7P7C2op8MULZuIahTFIg4fRyzjxvsa/P5iBxifh4u9kFobnnbiG8l2ML8RdrNCgNpZd7vEKqS5uk2SoXalEBhA1lm5rC7uNkhMo3RJCO9b3gUXjdxms0JeMTjEPfNt9QoMTMEJ+8gvWuVerVajtp0Ql2myrVFXphnhf5eoppyCRjbWZcEtTYQxZ42C8iL4Ai1gqBx6cTUUoigaPFucMkjj9Il/lYboy9W7IJVf1p6Yi09HJtMss/2nkBIJdT2B0JODifW1kbcwqCIg3lpDfZyqJrHDq7bxaSMT0hMMHw3i07rmOEgVn3chWXLWoljvabKaNpm/OACOIzebpFTsJF1zbgQ0eeqh7zsXOzPKaGPzhaMXEcn4aCaL3fMC0KrZY4PjkKq61YKUioHKaiPjJWxUHNI+1tMBhPijD2VShuFuHPOPS4aDf6kdnQg4UkfzjdkYGG904RNwhPwSaZ8CJEqg+msOTl2KcZLMCHTGua32Xx1EaxlhOlm4bEpZMh/uAirmmQkxxc2nmRCR2VL6zmOgE6JRCRZ50r1eEvBFdJI42qULWTQaKfBcvWkDDzzt2ei2DPGY2NMFsMz4k5jekyfu7pIKfuCnrlq1E4v049xNtpA0UDozp9ftv4/MWiw8dLYVZZAyHozxKw8rhGJe9YzljynbDOHUk3CbDtuFRmmYo6t6RLXchCzwqJEbTX2SiTiLIpItVqdRrXVFadWpzqtSmO0a4n9FAsH9264REak42zZDMuNZRsyc25VKLioxhmmjo7W1OHmhvvgGYfqk3FJe/muvGaQakRb4jgnVumOKx2KXzaY5uT8Xmi39kbzaCinEHGTaZfJdGpjj1xu716a10OQ/G95tOGNy3ZXEwbaiSjHLMOSgALpMlNWOwz+eiCe0tGb6hUX71nJpPttWlaZ/IoLVcPB9Op+kX7IaLRiPsNSuHmAcfSEeWGTg6Hn5ZdcHlpbVAe8Kw6cGHUuqN+cPXjfs4Yf5CSEnfFVbJCFr8qTfVXdw4PRRh12OZvkEYjh06Q/mG0mhB94VKNJxvvWpcHQojtcGvZ6fDWohpUZQ3JrRFlh2eIkbV3CetI9nqsKm+ElC/bTPf0F+HusbUogN7WAtQygs8yMhH/OIeYfEswk04ByOBF+a4aQ5wrThKBPn4ASW9unyJaJQJDOkpYAQkAFtmnV5c4B8GSPr2t8qE/Dgjsp2NACLehvGlep/D6o0SwwmhaoxaBfHHlRTp1585L2u7euzOd/lWRTU88e+UWnW8dfIICIIsHthIDR7yeV0hq+NjqH7yht42uh8/mO03y+y7ToAjumKAOK/dC7Qzo0TwbAANs7YPwCcK7T0IEiQYbx4yimFfl8vRcHwcqBjtArA5J7unIA/m+UtBS20k37i4V+6BX+tywUop+sRbi1oh4QwDY23eGRXVgDm7P2m/W3NJNWGkom/0LRRHAwXrqwI26v+XpXJr2+74duI4HOS74U67dP/N4ciry47MaCcJvymN7PJGhOSkdpy9wOHcf1btWYtMxBq16/5aqmLRu7P/hAo+CGzf8Y1erMosFuQYfaGFstQpobyaFJNxiZ6lm4l/ZTY1+OneK5XXlaXwXJSIfnguuWBaFjmpQr7ux5v3zt86WKUmkv+tmSe7D70L9+2fgfSo/st32bLTZuqHe5yHPLIcNXPWv6n+/KIur7ttqf2zg68G2vVceLmqATmfpSFo3yEJaqePEvoebmKdRbfclak6YjVNfoFf/roVvp6jHUXNlNzh/PmKUhkU7HB6pSI+qdNeLnu/Ky123aFEuw3fGu3A/ruWMluTbP/f3LWsSz5C1p5ZU6dnS8bQev7lt0vzctikQHvw5EZt84RcFlFy+bttCDVbTZIgF25XBhpCvIq5DaE2ANc1EK7WzbdhV3oMWNJoFupaUpkNrTruA6fxNa5zph4TSPL0xL+S7Rst8MPWyne+u7GLpvQb06iWkoHUKoE5Cz7nHxmoRpymqEiwOztK62HirpYGvnRyMUo3pn5vZE5Cory1ZCb/QvVEFzRjKQllnBZ+JpCjePZmj8EwHDuwJzrg2afPNoulT946uyxYhJYq1ci1mMwrFjiqXwj3NyhpHZDpQ3n4lUES54ooiMRIPzLjQ0tZwZ0urm5HC0uWTKdJjFPgwV0bdbxZlKDoGNSGewujLEC6fpSFxXzFxqbYmMPnGemjY7mrJSlaHRbJyxpquRa/rHreVbysR8JkNB8+LS6fFiFqyjCC1ZZBm66bRoWQjDoJK7PYpRBY0iSBVK5ptZjhhlgVQFzDM5ISAkGWOTHjH9DdXJcg0xB/ViqetwYYQm48IRQ3XTADdYB43GPe6Ns+H689utc2sSGOCm6JUojIeKFMRjxZdBFyn4o70oT4rlSp9EWQyVO/tj/zTvne+cgmEZnYpXUD06AgCxYJkP0zTXH+M7MGs9B7F/aC9OlJaCuyaGGo3JmFVFz2U7JohoQXkzhVyZ+4AF3VVSnrgqIKGCqWdFf2XYgOy0mMG2DWiDS0JL+pgRGRKZ5atMy0wtf0wxrqyZznbyAraBz2Cs8Ss4gtlFTozx5LwEs0xzn2FFs0nb6Sr8DbYyq6P6v/2zOOKq4aU526GpUmNfPvdcrq7wlDpX5Jgebi+KRvipFFKsKV52wm2etfQTBdZ1svjucK4Xh0YU/iTyp6gAHllo20F2M5DwqB7xxkjBorASZm1Cdz3+mawSgPRcvcBpW+au5lDIC1LC7mXUV7zAIhPwaf6wdw4/rt+k+SjtMmWlxnWamKBoqlBjWQSHVtYZtkKTgb+eAEfQh9q6bLIzdcT6PNWr34S7QrE6xeDHVTqNovr8WSFXP9GxafEvRPLgbZ0T5waZ9x9RaIrc6CWHaQ8dK1Lmo11ewjbLTQjXUFLM9fjYfrdmMqHdhac6fcQI5znDSa35FpgDyzSHrEKTdryIy1bd3qn4J914FGvDGg60til6rjkAGnjXNxA3gec4jp/cFr6YA26nZtmy5USJHD7PGelOeig1Ys4Uzg2zx+0HJ7is62eHAdzgssHEEnQiryYJskEWRRPf8jluibgC6WBrTbObkzkEkqZ8u2iIktLEnp+zz+V0uj49ygInrjK7xxOBv9bhwVofzsAp3MfBaAqgAqEPCfP0A1mQkxG6NHxGXGF1fefTCY+irAZMhSdfpsYdszIpBBkSLcFGdhOvVZ+kyKtqte+HmGQfLENStXyNG+Rw6RTQNOZj4xQB4r+oDARt/MnouUBbRcr8nhf6q4A7fjwF0KHXlkAUy2cbMAsirRXw2nj1c5GMmUtQpNFWv/5ViPj8oQk1CGsrIO2LRnFY5omoXikNBdPmd81e20qOyLV3u5sC14Z6tXp0wWEzvOb5JYjj4E+9uSw31hYRGlG8CLRO+uxHdnEs24EeP+vrhN4X18im2u3dsqmt41u6i75QU19JvZQSxVb+HqyDPTnOz48PanTSUJKRkXAcdxvlzlmT/HxXGursAactt+aQ8HlTk/Nv3YYe3wiUyvPGM8/4ZHw0HE6ct1UCm0g7VB6+atF/zkkoN0pRSa3O791t68HL5xLBYnlZy/PJG4Rj0G0qvzBgyVImINMimEB9hX67Gy6sE75als3bBnQ5VgmBCoXEelurVjvLH+H7q0sB6h0TjVhqpdzfdOKca35CYRwZTlE71PMKYNo+ETx12HZyEsh8S9JEdCqPkRGmQ0AlPEvLG+8oMVNZvWE4iXV5jmsk0kuY2d50QxD/HY6Jd+gEjcmVjgCxPCHKrq8s8JDd6MILrN+G/199deHth9eKXMgY6w/9u3bWb/QR/dHTzqxdr4RxVBxogz7wK9hfBp0ZMiUvR6/TaRkEVICTs7mHIjGCDLEYDRbAJM8sFLDSDOBwhBKhIDvfWS4vZQc6CStIBiOgA0E8p5iDTGQsTpBfhs1dECkBXf0RreTmyvl7wx6iubogakEFmJR7epaiEx0MUKydKWDJJDeozwowk6TVyjFswEXBU6dybt2I2LEyJi1cvDefY93ofo5wbHzTJukdXC6dV2SPc0zbzc+3AjzjYyrBAa1tWRaTsi6YyqdCtbee0wS0Sda04wIAkqa0eRdeGmGCDvizAAMYSggK8tudI8nmYH4gD8YaCgB9FDPvpOuWwS6/zXGbf/r50I+9r8qXrfxnrv9FackL8NnkftnWelnot4pcQaGwDTaatF3BaCqTgFQ0iGEe64Zh9VzK1wzxpaWGIHZWwjdT3bhZSd3ApfSheFP7MeOtbhWp23j5XeeggqsIJC29dPC8rOIEUPFNLW5LnuoLnky20T4/ybf7/MGc3dz2z7ToJ58pGBmfEBUaFhqVgCfTuZmSPEkml04mYDFgWAKZzEg7TAZZQWRqmESFJmxOHTDPHVF75UCRvXie262lQPSF13LJFqC17olxwQT3w5jkjSJaTAQs4DjBP7amiUF7CTFkZL03Dl8tk0y1uIfnpA/isPIeK9GydYFmez7191eTBC9vyi2zm5Diy+MMS9h5II5IwBuhVYqLicUfmiGYQnrjn/UsLb613NpXF/Jrdpes/F9gZMbON3tl5jy36af6vw/cyGiFTMUr3er7KQhnZTD00ySEaFUGZm6iUNg2PfbuCBz57V8INcy8mu5AgODhE7F0HaF0nc+IvbfNCfysYenOjCWAUMSqdwItOkIAwAr1rz2RHgAivvYwarmCvOBX4ddkoQAiCKRnV6BBU/8AykBtF29PXKxvCn3KhRAigK5sMgJNhSi3GGUAAbgHjeujahhMIjAYy4qVZM5dFMo+21bsgT53Q7wGaHHPlryrqGnvg/0Vxx7zxnh4kzlWt7OpgUkg9PfQqKkeX0kt/DkKdaJ5sY3o9WEWRVfT4O283kSmwJ/Q6JoLAhCNhRyOlxTNA8PKWFjrR9TaCjgmNnR3Ck2fBSbOnJQKMtV1BEZ/vEi0VCMGPXAdBdA8ClipPmbSW7uKysuF8b13vn0SwV5GdesIxFEQImJlrIDPL9jJwnz9vxHYR3ZxGw3Lvgi0ABwHDf3SPKiLxjECseYk2ohfrFmR8lxpciRNI9+C9LUVhLLPAMRw6ddNCP4MZVjgDEHFo9Arz2VcZwGl1NFNFhJFJ6lcFDizM+0K+KbGB2OE99IH86RSzHLHLBgdR+McCRoEBBRvLIAQRRCxTHzF81UZs1CAoAic4tXoJmhTQcN/HbL1sAbweABoLPEV7qNw1gxGZwAAqMXyunrOITU/G2lfjhQGZZi7AUXeYz0E95Ks/JvMYPXfdRZGVhjG7qGBCa4r9G7N/zM1PNnj95sK9KDOY3/+eNEqq9V2XOTnMChiTqhI1tkw2VZBnjCeCTfdZDpst7v5yn8OmLx9Q//dzdPIvn1nCWhbLGL8YXRzvC4v7EncRX69+PwXwGr96/A50RQUPXDfMOCk1M5gpi8XfvVL7q97T9xxa3X87pWv0/znnvzB7UCK2JG0k7LZf+zbrY+qO/p+hKTP/Lm8o5GmFO4vMCjXZunAr+5Gr/Qz8COP01ui6Aj7Hk/A1sd9++DRuW/XPfopjuBB1TFTRrncGel4lkYR5kgaVVh44zXdxUG/yG6XsuzP/05ze0cX9em+QW1Z1VwAmlsDjxIXId3hZIbZWxNiAxq9ckO53SoIMG3laezrvy8/VBjMdTw14vjgQexytPeu37n6JnYkph1TthPNrGvIf5xsFnwx2H9y/3+XJQngXPgx+7/3NzTvx1dUwDtRsGgJs9HsJQIaeYYcJgTWpvcluR3WnxyBwXAGMTp4EfyYDQadlRM44wrnGc4kljxqX0W8BoNJ2sdTKtUiu3/2aC5a2sYV8JLVahIPfMXq1U+67a7SRTp7NA7sn+k/iQuWyrlcqQRyVkvI7ZxBfzq4y0ibdpRAg4AgbGcvyRvjuqC8318u3Mo2b8CcmvFmwTBdt4CF6OBMsni248dBpKj5c+ss30N3Bra8gcZB6zVOweTfI2MBOkS1hAzQDMaPz/o6x1gZC0fgidMnGxWAllRyZs1aYsRU8enitVNJWiEM1uYa377AvQ5P3sBb7evrkCnrPNbiV4IVSk6EKNt4fVvtrusXZ5+O7Bicv7TjogceinPKbOdgVdeGhvM3di14MFjWhFSoKQja8pHld0IsoOUwUHhjaaCOwBtJQ6IDsrA5TlwOdniZj1NmvgCRjdagFErfV3lIzFu8JFS7+BtvG3nV1DWLmlObDTVbKrveUoGmMqsPORa/nd/GOThCLjeex2YTpcPlxVPa6q2UcXlx7rCSHry+GB3/d2i+zAsqNnooEKMo5/Y6vr4RzDx9xXZkUUbv+a/APXJyNAXLzscvMX3ZQnkcGOJRogm8/lFVuz6YdD+4vmwnNl64q3h4ZIJ/fSZeIEAALEVNFMw+QCFzwqwtWf7JJ7ELsKvmMCvZN2ipnB1r9wEGMZ7anIni3DBP4to/7p+rRTCExCFEMV9DhdDR36SNCUG00U6rjk+NoUReBzcU5RICBegUJYw1r2VaI5NB7SMyGT/ODOAz3Zc3pVoyFKXcnGZGi33dhzg0ZaNKiULQEREEVo7fQjKGSUR8cbV+kx1lflSrw8lZS6JvJimBAV7wBPzTdFW1wxGvVm2DvYdoWm2zxS5okIY9sSzZW5QVnoqgSQQqFsfYKE8VUtE3rQ/neGVfEjrPtfK0mHs664HdU5loIp3LWd9umD3P71+SSlVm8wNFZRosON4WmbOp4yP8v75CYTF6g12KEchJl4Z52gOxIsH/L1MuB3Y+WORHamIUFGPVUF2CZWnQ6O5y3Z1qI1Vsm1nF4ntJyHkRjgpHEYVaVNsllgAzhOFGdrZbAkElqQGpXi9N8dlYLMunbsYupJwLAz0JSc0eyRBSlDDDU6V+oel1ZVxT0yCWwHVQfy9EEfGWliSK6eKK/Ub7K28kphyRfrmnZg9P8lPLESJdS9TShGctXXrhY5PJf3WbvcMO2JHxxBQ8sQ0GY6PJAZXNqM9+0JxGBwgshZ0tIzBDqmQHQilEiQn0Zv5PRmct0OaG6SZfZV3mcDxKMsWt7uVgUtIc9WLFWmk2L2nvpK/Ioqb/OXfsH2tpYX6uOwtOuN+hNg30B7c5sWA8GnCzTW7QPGfxaxE3PZY9b4GEwMciMZ9/RzzixZzsZknWcmeLwOzL5XAIBE0P5QJGKOYxY1awdCFJcIOHH2O7copis+Mj3q1xa3SALrEs15LYvNQGwSjYBAzjYLNcTATHo7YNzBZlO8ZKrP9PllrQ2zSch4hm7hTfFdvVWgubarUtCvxLJd7Jtrx6NUR295/E0RJqPpPiGDBOZHSuPMylY8Zt81gvO+aq33zXhhmg9unoaoqkhD2Rptn0svtlZ3aaOOreJkS2vHiZny7BNk+g1x84cKGrlJuh0ZOlhmCxqIQMEzYRPU4+yfWb8I5/em/8Qcm5D5NyApNZkxgGqdum/lSXl1HhhmFeMqUOnOCMS7/2j+oPxIWrAn40z2n6hRsfQ5uwys+gKLwRIXg+tq1sDRmRP6NO8Z6npmUSSqaUmf9kPAaZjnn47JdoqDre6bEJLn7JPmukuw0Qxrgg0i724piPIF6SKgszTDttZgrTwf8o+bu8kss2sy2S2PculP7ZAL5HZ8iAFxtX8uk37Vcacm4IIe5TFfSfb5hUgrkrlwvzhaRYNrQcnJORogwvQ1J6xtVESGr9szC4U1Oi9vYFsQhz7PSkOcY6Nt9g+nFW82FL929bjsMSObGO4trHp5z114cL42VXB3gorZfHuVIu350U9NdHbcV3vKnGYLIaXMwIc53JWLROcHEEmelJ8PY5OhboDqvLt/HmGsiZQuiUjMoRp+8/1vT5tmVeQA8eSHpr1zAnhmfz2bNyUsOlifnCxrLYhdFScHtWiVTn9OBOvVzl9cVfTfNsbOL7NYvL19ixnGaosRmUEuaEn4MgImdJZfjh0EU/vHFCzULeE2MWKSmpyrOGCQ0KJFN4xYjCwYO49yDfrPhhPqHxtRKF2oaiAnJKhfYiYVfBL6h43GZn9iK7KNBzl2xAiISzu0mOAJXiOxxINqhcI0qxsKdFbJygaQp8V9xrm4R1CvlLGe0Mv6HdJzNPJpODbK+ZcH0x2vo6IVcEqs1ypTK52duYOBkIa1qfwwRshzS7a/pJNUn3tt5jgQtmC389WhgQK7LK9euFwmnaSZvNEescnu/D4Rn+rGhru3WsDEmpyl6gfj4tKpBOet3mBc5D9ba93oA8s8N7JtT4ZAY36idroQHhdRGRKh0lqE/IZO9rA5tgEzH7UqFPKntbH5to68VDgQHybFlOjuCrNvtMBTGIm2ct+F1eb6nBxtsHVbVaKGQnyuXAcbiRQr8ZdXNVtrECG2CxUhy9iFIXw5EZod1oIlyhf63ZQAZqP/ULM+hr4Fu8PTzv4SB50tuz0vZOWdwOyVvoxK+TyZweG8NxMNvV4bpcZbF4auAm1JwpNMSF06HV7DjLdmhXkpOq8T05QCg2EiVrdoZdw5J4qgikJSSYc2TYdpYBZkF+WtHTkYaLxfQfcc2naiIuFLMcJPVApDLTJJ6PBCDE8u307p+D+QE7gdSw6xA108wb48bM5es5kVmY5DZBS24iLIEpEulcnkgLQcTjgLIyPS+Z4pwez1DmtxpKuui3dCyMFAoVAFEfLfBrWFZr8dlObdycw0/aLSXNB8YVdP7AAFnTaHUBP/AxSUUiTGduJP50XK+/0kKG8BVSbSgdftp5MglNH571y5HJYoOy6EeC1QhmS5fHapR675eVguyeHgReh9RK9IvF7e0RXlPAyFny8VqcEAGY93LK1bzpIgt/F0X5WlwCwedL3tuD3h4kQyLRdfFGl8X50NB4oi0Tv9ExSHU0ZORA4IyjIomeivvXT/jRPBF8QXIXLNWqtIQAQc4fghtMd8X4iX8MqTJpxRKRCB7AnMcZpljMlWi60Ej718S6lNN3qYZIFZ3gocY427gRJzP14FbF6TY0XYltteEXIIjMRuQDmc+3nFRlZxeVw+VmieLoQk6YrmWwNMN0hNrrUnHiMMBl2EoFSw+wB/sTLuByHf39Q19WlpWxcQT5yAKzlWxs7fQ/UH6i3XkxYPX7/Q/HXU1T1zrIgoLa2jabouqOYfuYwQu02v///5YeBB1+H1QJU2AK0dTVx6P4B6baEW4kDgYj5rVoPHbAW2WzVodCHruNQVXdMF8Lkitpng/Oyh0vDWeOFmMTfv/VttOnH9dxEs/lK3HEv8gun6aL9xW5bVq2JHOh3ZUfp/fj9/rgn/9g1mOwUZ8A5T4jgvDNOTmOHDijUjBNii5fPF9744Zen9nKXlV6jYhAMv6phEzH6TRs01nAhZqPahQPkLHAYsBfYXZV2AxquPBwRphXzLFYXlrZNAgztTIt0S4eXWw8LTI0wwzlyIZWUCfJihIl6YC3P1YXQEwlPce91Go5GWFLOKuCcUN+Uf7AcEeRUVcnWWBvdKmEcEYZOT4PmUhhL/XWjoFMn285S6JRcfudiTdTr3Mu/ZZEojhIYgvlEIx2ytlwjM2VRJ/Q6U4gokQhzo3XD5//v/+ZwKnB2dk2W2fndU2sG04nTe9U5IF04uzJYvF87ShCUAD5maKhGUbaMJlCrdaIMXaUISyrWENtbbSp0d+FM5KDw4c8B7kRBrFwaaZrxtkwoJpH09JMvcRkc0yGobNJPEA7QW6Rs1mmVJ+RvqsZztRFEsIZ//GOjUyDyIRARDIb2sdVknQJrJkSBKhgkoiaiuZiwviS4sp5vcu+KnRQN3Lq5IRu3ASnVGWXOnKCAp/vPySHpmgOm0sLxBKFFoJCLBbSXDabRa7kkcA+UyclpyQMSPWZCoUIn66wvtUnVpiqNYXmHZ0d6InkX3/ROJxtznQltkBIvrRw7Jo/4dWpidET8YKcDT7GgsZZiAMwU8TKGJfP2z8Ca2tIJFKhQwZLFHAUCxiXjjZVCnDc6C9J+pQ0O0oanxyJ0AmmdH9hFgsdDYejlTMGE1ESZ/JVOiu/kJiXIcSDNJVocfX5xE0g07yEMGrIynItFDNqRYnZModiLknzlYZMDYNAASdxc26mRMQP8EL7hZpcfzTpW6ismdeRUhzL+EcAsNFrQpfJMVPw6jGGtU/2IPK/sKzgTmT8yoKKjKxfJlOf4tDUXI7G1VsVvENp8vzLoEAKAhAwDB5rvKpzZEnsZdr7YAy0VgoLvY6Gw+kBFvgcneAztH96R4cfC2yRWUjrJOKzn755QduXghMohBBQOMVwIASEX2laLeQyhcnVR3/xO2LVTWDmh/MCiz30aPbnFCyKwzd9bQD3tRVk5lJzlmYCImTRBE6UJKAALxoYSQFrflyRTTzXlrT79+Jfz0jb9+fArlteMSnO6XVXk+yCv4rnJPz1P5Gz1s966bRo2tDAQ/wFWY547fhpaKJk+JiRarWhZYVr/11//gtmtu5StsZOUARWo93Tn5czTbwLmL94k5kYbybj453DNPDmMB7excwA7xQzdIE+qo45x5vFnOKduaNnmzDBnfmHT9kWnrznunlL37+WTE/6XxBek2TGAk9E4TjF/cyjflbqAcfcIHRVXPc9RxNWf9zp53Q/UIiC89t1Khh0ZFlJpmCV9y7wNM4VzUExWAnnlLll9zVSwmHYm1V+P5AkpUHCcUInoOoK9cHIjWFng5WfWBL3+S8KMRAknAiwlp19kDMgMcz56FolD6ooWTfbe+BcctWfajApmIqWgiYnOztTa0QoJBrRk4zazOwLBG80cy/QZg4xThGjXDQBve+SQUSQ4N9m7s8NI3C2z2Yppg9G7oVzh4LLAdOgaZzpKfzrFAkmvH6bMNORrJRSQTX3BDauM6gCQcWljWMi0Y4zS5B9GyVkIGOXXXPhsGKo1Zt9OCj3I4uv3e2O1ho5oegZ0x+1ECuvGfPWFqp9ImWAjQstHk+lNahhZV6rzQI8pDpntARBqNou5we/ltim3VC+VTIahzuXAnsS5PSM6YN1qVsVf1YQyatacSkmldA0/dD6lWpU5VvgAO+7Ayo2vF5FMUVpImoIArwo/JbM6A7nqLbOHTHtK+akU1wx2ccC21HJt1lrbCP3GeTU+8jpq57AA55FywLFBjB+7D5ZDUwqCsbfvDBmz70eS2ozFQpTTmn8eWo1MVSdQK0ZjCTbilXHnGiZ71RyBPGi6liuTVIYLtWptgTGyPxrQVNF/RmHYzyv2qYWvWBLTk7EkgZDhdQiVIV4kuTWJvUAGq5akoJtirgKR028hVWLaOT/pejFbkmLlzIO9IiYpC937sWgilh1lOYKsURn94t/gm8l4ZWb3fnN5cOX6j1BhzHo3jcXT5aBFnnW0RAx8K8ootyK2B9E1TKR0sUjRQY+twL4HgJgkv3xUE0KHTk9r0ZR5/N+sg2K6J0LS/Ntud1WUCW64iT2+P0dBE13umjHUeBxsy6eX9OAK/C4Fzm/RjQowWBC4zBwhg5qqhNpXnkEiC/fsHFPyY8UCpl8MCd5IGbQ822UzYqCD4uy8LgKyKxwEPk6+DvrZEwYe0k6vyeVs6Dut5+pbxz+omLudzpPrVMtPN4NPOpF+PcX/aCOFvD4ZKbio4s/8LxkXljxJdXglXleDnSCX/yJgYhDlTZGOOsOzjJCG1UcRMzOhwV68fI2Dv7b80a8WHdERBuyPC50PMfMEYzVB89gNgnKK9vbLHMIKRzrhMkS0UIxXyPngagImS+puHDrWg55Aiirug9SGjNxs6MblwiL+/2WpYj4ajpus6MxXiKvvBDdodv3o5fqsmA5iPqNFmCP1SHKLhrkoM2FxCoK59XSsapLwCV+fLLk743PflphvjlET2IK51FSckdtlvEXio55kwk+qO5sjlaaXbGyi4QVDRzX57DCn0Qchuf+QL/IzbPJEGpdqTmC/lGizoT0J5I2CS95ZnK/FlBNO9BysD1qm+VewB+QkpWSir7V7YO94Q9cm/fXKeD2yWjASytIbx0RVC5M8i3SsITK55MPFHUMF3CusZSMROkHjbdky3YMhu6T2Q6zZSq0snfRurETVndRitJv9vh1Hbg73KcsVPM7DtcaEorb6uweOboqBkNvXg9eQ6Nl/WAcooXH82QnsAzDFlfYFSoxJOf16O+skc9jFL3VOQpR9PnfFcX1qbALeRNgBuRs9VnWYP6dN6ew8OBZe2yDEtvsdsJ13c+5g27XnbDbNiV+c9b3MvMQ9jz8WVaXDEchShmhAxCkQoJaHBJGa5UjdHa7BCRJURWGY0XFKqCR7GM08Bq2OIIWAwnqZLSomK+d3fQk3x6TsWtx0daXEVRJs4m66uyRBhrR9+3fd8OIelG3l5NhzR8ZRjnxBD/m/BAbWAx5qUJUHB7eUWxiv2Qmykm2YEHCImMKezGoklT1l8x3Q3NWj2x6JaFuxZIMnkx4YxIkIQU5aqy261iWVb+r+dEiKERGgCIkIxXOcnHbwbcolJgkyK8ERRH3Jxk4XOJvo/wdvlk44q6cFAo0JbuwoMmclijaPwQRP+xOfRrdNlQDJJAp9NoF/x7TJ3hXeH9GWKAPhMaVoFccBpJJhcEbkTcCcFAjnZsm5fUcJFPYeWRu3fOL3LnPLczZiOVuBMFRzI0Uygq9kHTe+PjG7n4h+wObEMgjeTWJYm8sCAWfYeb5kw/Mz5nbxQYQhRDDVgiZwhUULOO3WGZZWT+kJEC1tNTvjxetvGwi/OUeigdhqg9PITDXz1x9rf6SSijd4UvcYt3iXaepHfIrx3Asww1syMZyaOk1jxeKYyhEL1xE7uVbYpOSN7SbDMpKvk/jG75mJMNWaRZE4TOkd/OaPRyJMCikoYk9eRoU8YGWyHRioU5Oy3PVQO8Q/5o7NbmlV8PuRVcDLjeVJBIN76wLIkR0kmH87BVnpLGl5nuY+aZ02mPPRFtNOiTacRY2EouEgA1mm0QDpDtUMzBkiedOhU0qE+Ye1OLT/uGoKrApeYWCm5+Ha+gTL6O1KyoYacQAFYlyPVjRqM6AGNWmkyFlOIWQTY+LtmCwByVS+IOyVTbjyevSh/1RRk0clBr3zI3uM0hago11yv2+VYNa0vaAluvs9F8nQBCBccGO3GeYcGxDzoJo5fSQ55rr+Ch6csRKJEXS84J9RYagvVC7sntn9lkpkOdTsHFkI71GOwABmcji5tBBcQZCf9rYtjOoLGP4D88ILkUEl9TcuDG+60y1n+LNCwGdfxrNKTzQ8JQcdO/eLHLaYSuy0rzGjlurL5z7fDYh//CEGKWdXnfm0mOaB5uWZ67VI4849X6VvAp50jkCSo+rSHJ6+LrUjdn7iyKQdUeVTilcN11X/HUvPDAjl2e4S+LPVanwweq4z9LvT6Vacqx3aFbgnu5Zi9fcybTaA2mu+XNu96ZZ1U6dtM/u8UTtejJ+cKD5JblsADGIQhRDkdugYycuIvdiTsdFU6TFyfBy88vrR9t2EKlORw6oPZlwpI0LZ1pSyGmt2awl3+1pZQ01jykGsop0MGeRJJIUuny1yvBdoScjhUKYuAO9oZlAhO3DFrSRlelEepAIVI6ArjtQBRZlzpvz7Pyale/ZOrqnQlw5Rmdba4HCSdR3IwiGaZHWmNbFeaeDzbq7Pz58ofbzJIueC8o3rm62BbJPscNxScZTeJKN//AUyuXDee4zvaKFFB5R57UaHGMwg9HUcky0COgwnrzaite6l3vhgwP+RIbhaUzyxf44Bj5cPzma3NIqcUHu7Oo5jR9is1jfvdh+OM0Z+hMX3KZyYGkeaZ+wr65dD4wZT+xB1IRxXX9qm5mdhHElwGO4Q0qGpIAdYadQpI/fuilvGpdVJAaBDKOPrScRNgCE11jM4tVHDJCluJ/AGvr/vk+W+RFk9ekGTM30+vNWNq6/Ckra9U5H2B8AAbPAaydNUEmPJ/xnG0oD4M9PX6WkWDp02UPtn0z81WMMmGAgaPkDGo2Dn7px/8RPA9PXI2PF8I+wHgPLC6ifaje+ut3iq712nN53WfvDaj6CInda/rZ7+a9+9Iwl7odOdKsTJ4cu9RNoyC3zvjfPxdIWsfbamVa78YQHt+I+XufQs9usbru4axcQF4IqVLtAXk2g1Mf5Jz9a12GG57jdks/rMc+mXk6D/qmedeJrN9LcaX6vrlZlruv9Gh40jd+I59em4CPOqmvwMNMtj6IP3Q86CEYqOcyjdKf6MuzRaLrj/GN1Ul1snE0yxR/bMGMtHtwcfcQBc6eLzq08u/H/xN4H5k7mUBfusmSOlXn3P2ofZsLYw82+FED16sSWH+T+JFeVgm83iwTI5ali+QIG0+Koea40afvJa3S8JaTz/2QvHOqFC/oJJXl+Zct822NLkMJ5Scn8p91zk9T5o9337iXcugeewRnYAEXQChvhqLYJwcexuJrqMqdtjKANRyVP8ilx65fwIsjtLHTAPWivvNjCqxsr9wNqkCvjckCrLKeaOyjqbzNniqrLGN95DMnwvG7xJFP9Ii/eWKCneS2byZfrCsdrqrEnDnZ07v7VOrWongFsA+bNIO/Fh6gPdZ/pmhZrHlVf957CfvRflTG1coOqhFO/uiIoiPBXy+4pVRp1kfO0tLrIhaQFPsBzuNi4C25eEE3lA/VOB8H0bVGzGeQuAZUT/2VpG3TN8x+ipnGlU7kJ01MR7RE3VUmeTbLnNvpRZPbUQjt1m1PLvba3ScRwM3n8kpW2gbTJ28zxlwcm6zbyspDJAiIma8u6KJpsyHVV1lUrqfOtW8mFniHHVldMXuWX3LCFtI0nXo5XNGPeMEdLWyJ2DmYreD6h7o0fUg57W0FjgQj8dNU/x9EPJGBnqZ5qMm28V+eORToOVichsgEbnMEDd4nbuAfgB6FjNfu0zWVjlxThXKLddJQdBDwbeDhwBvBQ4G3AT2ddaX1JadTSpXEG+HNZRPvSfc5xGcM8hJr/ElW++PpvmukX3CAwVhCPLR4DMulTnjwk3jxuZgF4dcpYj7Arq8d4FdYTXAqtJ0lS1TO466+nSDxReRnTPAwh4NqGeme02noXQiX1rtgKitxaRtGYM9f8ejW++PqxaFH17gT86z2wudd7siRVvXCJ6/1xsSHgQODOcmRJkW2SvDlXpnlmc6WmlWfqRVrI7AFHmeh1p5cu0JOS3C0QpHCbXI2BcnSYlhJduc4yLxcuLfmWKfZvjrnypKvLUWPueskWKx39qfVprUW8OSfHkr5PxnWZLc9yX2TRL6okuUe7k/ikr3G0qHk+R77pZrsxzPki86RvZdRUXMadKx9zlLzyrju1dPAwO6msaM2QrUvvokQLf37q03o9W63ZndDVdZHcrs9l3DTP3clcSfpcs5DIa8wxP4DSZ1emAuR7pef0tksZB9+CGDtXvlQqs1dfd65Us56QsxTlXkfY9Oy23q/SKzRWAGInVYsD/vKn2W+ItHhiUM1eLbCPBoU0v2TFAgfXpLuqMyXiyMKnBxwp5eETM4odgpObbXHLdTfaKv+eMkZTNSwJZ1n5xLj89XKVITWfg9twM8dBv7nrtjtdLDufofYpGpkDyjhkTE7UxooYdxZCJ9eVpwfuuW9ukdL0ifJyny/vX6byy59PAXy9cyp+6DBhwxlXSAQTzbNAZinmR4wkW5b6dkcRFFWfYDmGzIkm1CILaeVGjxEzlknCYscxudTSTPGQLq58eQpk1BIXDptFZZiqHoGYSLaFaQrLlRHYLR6l2BI76RVZnDRZ8vIdFl0BjekVphBTUcXWiE1ZiTjL+jm1pQxKktNPzAx2hnjGmrkXs5z0Xs4+MQnsJvvgLaYVNlgZzZyQiJjFt9t2WbVKcQNtUpZSVrye/n51mrRfhDuzYa3+/Y6cuVbsr1Z6wdX3/2VRW131NRTBQvqDXAMOrvH8JUpm28liNdZUcy21opwhkOQ1P3yt2qyqLUMbGR11DBtDuyMuu5QpM1Nm9hnRn6Qu6nDWHntZsyHD89EnP/tditK3fj7QmSt3nrwaBQpg0h3lKlRabru6hvJbrayRAgWdbiy8cESRosWKlygptyBZvV1/MpcLFCxUuEhTTRcVFjGFstYE63R75LF/PKldvJkSJaEN9WOBIMmKqumGadmO6/lEEplCpdEZTBaK4UFsDpfHFwhFYolUJlcoVWqNVqc3OF2c83ZEeWo0KLSaWmoz7zDd0lQ6lWbi5g1rru0/L3KJPDN9UYb9siDXFxCtO3nJbKfduqTTjDMxbPQ/GhznKhQSHFedyxL09g7NJxHOepZJoVvLW+qCG9be8pH+5cBfICZTSloD3XZk1rhTds/cJ5dZSDOv+VPCcON9OMFtViTPC9wPcXh/AkSIsZRJNodOO21OL+xY+aXB409KS9mgwb/Ro1ByC+lYlt2pPRHfkBCe89q96dc76MkleOm4iZymsTU70INvcSAvEyMTdZA5L1OzI3tLoyXjAiPPDdREDdXlYJbzjkXChDyaeFRiF4Es9EzahcLknbBvLl33U0ygLxQT1TQ0bZq9Px8Qc+InBNKJDJkhLv0uDIpBgdyZc9FI9S6bskil4mU/Vqd03alOtar4xEpQqfOwRTA+wWbeLE4sw9+Sdgq7DuD3sHj899rhII1lXvkiVLk6sQA0sQhzpcq0w0z9QuOMdID6GOlwqJWewo04UpOQZhZt8CA0Otkg5SvW1lr+KFLRydryJaRkRcoDj6S1Li2mC8aGgjS44bwIZM7E9Tai16uQ25v1a3XB2KutzIBQCRnUWggZhkvxDXnj2JsVcWyODECPjXUXrABImhPo3JHiD+OweAcjpa0pUZJ7GNdmdeyI+an/SZP83aYZV9cKZa6SZS41AklZ0Ao3KW5TjT/a7dHR1eaibbWMWbd5DiSnD27KXEccOr1xFbguMSLUuCNNAW6CZZor3XCCxlw+2p328R4fcZZvzOVrQM0+ORktQSsa8dwHomZ7kqg8ttVGmYi2IC/28Nk7QzM8sHgP8xniPcyHNu8TPuLwMZcPbf60oyZkb7XqaCPA2/bL73+cQYcVsYCI6Oom2V1RFlgEgEEioqscNgTykAAgrANhM5EAMEzYAB8wDUBneeEtQH4h9wmUwKMDQK/d4GARAAYJ9Bo2ABCwZ0AAAAAbAAA+AEAH8BYgPwMuAzXiEVvHJUN3Y9h4PL+lmY+nE6F3UJhcPZUCrgQy2xkrCBOf85GmaQV1AKG31uXaQ+rqDtuxMsNXfsqErvFhqTe+7iFeJW8JFu5S1E5qsdTgyC6iG3EvgXURZyWFWM6cbtnbgPsGjAw6WCQqn7ldLUsqjcO4TYdBv+dlARUzZwxFvLJpr9zGf5Uet85EiWdb6kKJm8YM/itdecYElJllTfiK/VjL3OML250DHyfenkYR9rnPh5tDukRcNpvcRDOJ9lmD6uoguBfvxv+nYeSmnKpftmM/EN7mbH1ukA77Psse/Ymhr2x5u0p4JH7hKPZ0ytmyQ/Hzh+n4/f/pPxpS3AIAAA=="}},"time_used":90,"timings":{"blocked":23,"dns":0,"connect":0,"send":0,"wait":34,"receive":33,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"insert_server_domain_here/","fqdn":"insert_server_domain_here","domain":"insert_server_domain_here","tld":""},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:08.977Z","timestamp":1785152588977,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"POST / HTTP/1.1\r\nHost: insert_server_domain_here\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/plain\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://meta-drop.top/\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 449\r\nOrigin: https://meta-drop.top\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":"POST"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T05:57:28.976551Z","times_seen":17831158,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-connect.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:07.856Z","timestamp":1785152587856,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"meta-drop.top","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 19 Jul 2026 23:27:50 GMT","end":"Sat, 17 Oct 2026 23:27:49 GMT"},"fingerprint":{"sha1":"67:D4:87:A1:51:D4:1D:BB:BB:77:02:2B:B6:56:97:52:78:DA:92:C1","sha256":"67:DA:68:05:20:35:91:18:5A:EF:52:AD:9A:51:70:A4:D4:60:E6:DA:FE:67:E3:E1:6C:3F:13:4D:D1:7C:6D:E4"}}},"request":{"raw":"GET /assets/web3-provider/web3-connect.js HTTP/1.1\r\nHost: meta-drop.top\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://meta-drop.top/\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/1.1 200 OK\r\nServer: nginx/1.24.0 (Ubuntu)\r\nDate: Mon, 27 Jul 2026 11:43:07 GMT\r\nContent-Type: application/javascript; charset=UTF-8\r\nContent-Length: 747370\r\nConnection: keep-alive\r\nX-Powered-By: Express\r\nAccess-Control-Allow-Origin: *\r\nAccept-Ranges: bytes\r\nCache-Control: public, max-age=0\r\nLast-Modified: Fri, 10 Jan 2025 13:06:25 GMT\r\nETag: W/\"b676a-1945052b468\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Ubuntu","description":"Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.","website":"https://www.ubuntu.com/server","common_platform_enumeration":"cpe:2.3:o:canonical:ubuntu_linux:*:*:*:*:*:*:*:*","icon":"Ubuntu.svg","categories":["Operating systems"]},{"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":"Nginx:1.24.0","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"]}],"data":{"size":747370,"size_decoded":747744,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (50824)","md5":"47f795b848c217887b6b777101941080","sha1":"e35aedb35e68be3a777324fd92adf7396132b7b2","sha256":"39f201db3b9481261cc1660c3c2f9880fb09ef44c1e5fe5d9e2fd9deb818bd10","sha512":"ec7124aea23a2262ca514584d77395d39f27134ed5938b4dee942ef87170067e4195b2e9feb595b68deb412cd1916d539c658f06a36543fe54708ef7869ff93c","ssdeep":"6144:Nyk4F3cPmw7kM9YTIPAIhKVlbolFdQMPjqUY2OoGHFiRlQIiH+O3+2zrbwRbCNvr:0SY0zGliQIipDwRbamsjEmLR","tlshash":"e7f4f984b6a4b061439765a4003f540ff27aba2d780a44bcf654d8f6bcbc98d653bf39","first_seen":"2023-03-07T14:37:40Z","last_seen":"2026-08-08T06:13:35.481633Z","times_seen":654,"resource_available":true,"data":"IWZ1bmN0aW9uKHQsZSl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1lKCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoIldhbGxldENvbm5lY3RQcm92aWRlciIsW10sZSk6Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzP2V4cG9ydHMuV2FsbGV0Q29ubmVjdFByb3ZpZGVyPWUoKTp0LldhbGxldENvbm5lY3RQcm92aWRlcj1lKCl9KHRoaXMsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXt9O2Z1bmN0aW9uIHIobil7aWYoZVtuXSlyZXR1cm4gZVtuXS5leHBvcnRzO3ZhciBpPWVbbl09e2k6bixsOiExLGV4cG9ydHM6e319O3JldHVybiB0W25dLmNhbGwoaS5leHBvcnRzLGksaS5leHBvcnRzLHIpLGkubD0hMCxpLmV4cG9ydHN9cmV0dXJuIHIubT10LHIuYz1lLHIuZD1mdW5jdGlvbih0LGUsbil7ci5vKHQsZSl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse2VudW1lcmFibGU6ITAsZ2V0Om59KX0sci5yPWZ1bmN0aW9uKHQpeyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LHIudD1mdW5jdGlvbih0LGUpe2lmKDEmZSYmKHQ9cih0KSksOCZlKXJldHVybiB0O2lmKDQmZSYmIm9iamVjdCI9PXR5cGVvZiB0JiZ0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIG49T2JqZWN0LmNyZWF0ZShudWxsKTtpZihyLnIobiksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOnR9KSwyJmUmJiJzdHJpbmciIT10eXBlb2YgdClmb3IodmFyIGkgaW4gdClyLmQobixpLGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfS5iaW5kKG51bGwsaSkpO3JldHVybiBufSxyLm49ZnVuY3Rpb24odCl7dmFyIGU9dCYmdC5fX2VzTW9kdWxlP2Z1bmN0aW9uKCl7cmV0dXJuIHQuZGVmYXVsdH06ZnVuY3Rpb24oKXtyZXR1cm4gdH07cmV0dXJuIHIuZChlLCJhIixlKSxlfSxyLm89ZnVuY3Rpb24odCxlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSl9LHIucD0iIixyKHIucz0xNjYpfShbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7ci5kKGUsImYiLChmdW5jdGlvbigpe3JldHVybiBhfSkpLHIuZChlLCJnIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKSxyLmQoZSwiaSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSksci5kKGUsImgiLChmdW5jdGlvbigpe3JldHVybiBmfSkpLHIuZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxyLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGx9KSksci5kKGUsImUiLChmdW5jdGlvbigpe3JldHVybiBkfSkpLHIuZChlLCJkIiwoZnVuY3Rpb24oKXtyZXR1cm4gcH0pKSxyLmQoZSwibyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG19KSksci5kKGUsIm4iLChmdW5jdGlvbigpe3JldHVybiBnfSkpLHIuZChlLCJwIiwoZnVuY3Rpb24oKXtyZXR1cm4gYn0pKSxyLmQoZSwiQSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHl9KSksci5kKGUsInoiLChmdW5jdGlvbigpe3JldHVybiB2fSkpLHIuZChlLCJCIiwoZnVuY3Rpb24oKXtyZXR1cm4gX30pKSxyLmQoZSwidiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHd9KSksci5kKGUsInUiLChmdW5jdGlvbigpe3JldHVybiBNfSkpLHIuZChlLCJzIiwoZnVuY3Rpb24oKXtyZXR1cm4geH0pKSxyLmQoZSwiciIsKGZ1bmN0aW9uKCl7cmV0dXJuIGt9KSksci5kKGUsInQiLChmdW5jdGlvbigpe3JldHVybiBBfSkpLHIuZChlLCJxIiwoZnVuY3Rpb24oKXtyZXR1cm4gUn0pKSxyLmQoZSwibSIsKGZ1bmN0aW9uKCl7cmV0dXJuIFR9KSksci5kKGUsImwiLChmdW5jdGlvbigpe3JldHVybiBPfSkpLHIuZChlLCJrIiwoZnVuY3Rpb24oKXtyZXR1cm4gQ30pKSxyLmQoZSwiaiIsKGZ1bmN0aW9uKCl7cmV0dXJuIFB9KSksci5kKGUsIngiLChmdW5jdGlvbigpe3JldHVybiBMfSkpLHIuZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gan0pKSxyLmQoZSwieSIsKGZ1bmN0aW9uKCl7cmV0dXJuIE59KSksci5kKGUsInciLChmdW5jdGlvbigpe3JldHVybiBxfSkpO3ZhciBuPXIoNzcpLGk9ci5uKG4pLG89cigxNTkpLHM9ci5uKG8pO2Z1bmN0aW9uIGEodCl7cmV0dXJuIG5ldyBVaW50OEFycmF5KHQpfWZ1bmN0aW9uIHUodCxlPSExKXtjb25zdCByPXQudG9TdHJpbmcoImhleCIpO3JldHVybiBlP2oocik6cn1mdW5jdGlvbiBjKHQpe3JldHVybiB0LnRvU3RyaW5nKCJ1dGY4Iil9ZnVuY3Rpb24gZih0KXtyZXR1cm4gdC5yZWFkVUludEJFKDAsdC5sZW5ndGgpfWZ1bmN0aW9uIGgodCl7cmV0dXJuIHMoKSh0KX1mdW5jdGlvbiBsKHQsZT0hMSl7cmV0dXJuIHUoaCh0KSxlKX1mdW5jdGlvbiBkKHQpe3JldHVybiBjKGgodCkpfWZ1bmN0aW9uIHAodCl7cmV0dXJuIGYoaCh0KSl9ZnVuY3Rpb24gbShlKXtyZXR1cm4gdC5mcm9tKEwoZSksImhleCIpfWZ1bmN0aW9uIGcodCl7cmV0dXJuIGEobSh0KSl9ZnVuY3Rpb24gYih0KXtyZXR1cm4gYyhtKHQpKX1mdW5jdGlvbiB5KGUpe3JldHVybiB0LmZyb20oZSwidXRmOCIpfWZ1bmN0aW9uIHYodCl7cmV0dXJuIGEoeSh0KSl9ZnVuY3Rpb24gXyh0LGU9ITEpe3JldHVybiB1KHkodCksZSl9ZnVuY3Rpb24gdyh0KXtyZXR1cm4gaChFKFModCkpKX1mdW5jdGlvbiBNKHQpe3JldHVybiBFKFModCkpfWZ1bmN0aW9uIFModCl7cmV0dXJuIEIoKHQ+Pj4wKS50b1N0cmluZygyKSl9ZnVuY3Rpb24gRSh0KXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoSSh0KS5tYXAodD0+cGFyc2VJbnQodCwyKSkpfWZ1bmN0aW9uIHgodCxlKXtyZXR1cm4hKCJzdHJpbmciIT10eXBlb2YgdHx8IXQubWF0Y2goL14weFswLTlBLUZhLWZdKiQvKSkmJighZXx8dC5sZW5ndGg9PT0yKzIqZSl9ZnVuY3Rpb24gayhlKXtyZXR1cm4gdC5pc0J1ZmZlcihlKX1mdW5jdGlvbiBBKHQpe3JldHVybiBpLmEuc3RyaWN0KHQpJiYhayh0KX1mdW5jdGlvbiBSKHQpe3JldHVybiFBKHQpJiYhayh0KSYmdm9pZCAwIT09dC5ieXRlTGVuZ3RofWZ1bmN0aW9uIFQodCl7cmV0dXJuIGsodCk/ImJ1ZmZlciI6QSh0KT8idHlwZWQtYXJyYXkiOlIodCk/ImFycmF5LWJ1ZmZlciI6QXJyYXkuaXNBcnJheSh0KT8iYXJyYXkiOnR5cGVvZiB0fWZ1bmN0aW9uIE8odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiEoInN0cmluZyIhPXR5cGVvZiB0fHwhbmV3IFJlZ0V4cCgvXlswMV0rJC8pLnRlc3QodCkpJiZ0Lmxlbmd0aCU4PT0wfSh0KT8iYmluYXJ5Ijp4KHQpPyJoZXgiOiJ1dGY4In1mdW5jdGlvbiBDKC4uLmUpe3JldHVybiB0LmNvbmNhdChlKX1mdW5jdGlvbiBQKC4uLnQpe2xldCBlPVtdO3JldHVybiB0LmZvckVhY2godD0+ZT1lLmNvbmNhdChBcnJheS5mcm9tKHQpKSksbmV3IFVpbnQ4QXJyYXkoWy4uLmVdKX1mdW5jdGlvbiBJKHQsZT04KXtjb25zdCByPUIodCkubWF0Y2gobmV3IFJlZ0V4cChgLnske2V9fWAsImdpIikpO3JldHVybiBBcnJheS5mcm9tKHJ8fFtdKX1mdW5jdGlvbiBCKHQsZT04LHI9IjAiKXtyZXR1cm4gZnVuY3Rpb24odCxlLHI9IjAiKXtyZXR1cm4gVSh0LGUsITAscil9KHQsZnVuY3Rpb24odCxlPTgpe2NvbnN0IHI9dCVlO3JldHVybiByPyh0LXIpL2UqZStlOnR9KHQubGVuZ3RoLGUpLHIpfWZ1bmN0aW9uIEwodCl7cmV0dXJuIHQucmVwbGFjZSgvXjB4LywiIil9ZnVuY3Rpb24gaih0KXtyZXR1cm4gdC5zdGFydHNXaXRoKCIweCIpP3Q6IjB4Iit0fWZ1bmN0aW9uIE4odCl7cmV0dXJuKHQ9Qih0PUwodCksMikpJiYodD1qKHQpKSx0fWZ1bmN0aW9uIHEodCl7Y29uc3QgZT10LnN0YXJ0c1dpdGgoIjB4Iik7cmV0dXJuIHQ9KHQ9TCh0KSkuc3RhcnRzV2l0aCgiMCIpP3Quc3Vic3RyaW5nKDEpOnQsZT9qKHQpOnR9ZnVuY3Rpb24gVSh0LGUscixuPSIwIil7Y29uc3QgaT1lLXQubGVuZ3RoO2xldCBvPXQ7aWYoaT4wKXtjb25zdCBlPW4ucmVwZWF0KGkpO289cj9lK3Q6dCtlfXJldHVybiBvfX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5yKGUpO3ZhciBuPXIoNzYpO2NvbnN0IGk9WyJzZXNzaW9uX3JlcXVlc3QiLCJzZXNzaW9uX3VwZGF0ZSIsImV4Y2hhbmdlX2tleSIsImNvbm5lY3QiLCJkaXNjb25uZWN0IiwiZGlzcGxheV91cmkiLCJtb2RhbF9jbG9zZWQiLCJ0cmFuc3BvcnRfb3BlbiIsInRyYW5zcG9ydF9jbG9zZSIsInRyYW5zcG9ydF9lcnJvciJdLG89WyJldGhfc2VuZFRyYW5zYWN0aW9uIiwiZXRoX3NpZ25UcmFuc2FjdGlvbiIsImV0aF9zaWduIiwiZXRoX3NpZ25UeXBlZERhdGEiLCJldGhfc2lnblR5cGVkRGF0YV92MSIsImV0aF9zaWduVHlwZWREYXRhX3YyIiwiZXRoX3NpZ25UeXBlZERhdGFfdjMiLCJldGhfc2lnblR5cGVkRGF0YV92NCIsInBlcnNvbmFsX3NpZ24iLCJ3YWxsZXRfYWRkRXRoZXJldW1DaGFpbiIsIndhbGxldF9zd2l0Y2hFdGhlcmV1bUNoYWluIiwid2FsbGV0X2dldFBlcm1pc3Npb25zIiwid2FsbGV0X3JlcXVlc3RQZXJtaXNzaW9ucyIsIndhbGxldF9yZWdpc3Rlck9uYm9hcmRpbmciLCJ3YWxsZXRfd2F0Y2hBc3NldCIsIndhbGxldF9zY2FuUVJDb2RlIl0scz1bImV0aF9hY2NvdW50cyIsImV0aF9jaGFpbklkIiwibmV0X3ZlcnNpb24iXSxhPXsxOiJtYWlubmV0IiwzOiJyb3BzdGVuIiw0OiJyaW5rZWJ5Iiw1OiJnb2VybGkiLDQyOiJrb3ZhbiJ9O3ZhciB1PXIoOSksYz1yLm4odSksZj1yKDApO2Z1bmN0aW9uIGgodCl7cmV0dXJuIGYuYihuZXcgVWludDhBcnJheSh0KSl9ZnVuY3Rpb24gbCh0KXtyZXR1cm4gZi5lKG5ldyBVaW50OEFycmF5KHQpKX1mdW5jdGlvbiBkKHQsZSl7cmV0dXJuIGYuYyhuZXcgVWludDhBcnJheSh0KSwhZSl9ZnVuY3Rpb24gcCh0KXtyZXR1cm4gZi5kKG5ldyBVaW50OEFycmF5KHQpKX1mdW5jdGlvbiBtKC4uLnQpe3JldHVybiBmLm4odC5tYXAodD0+Zi5jKG5ldyBVaW50OEFycmF5KHQpKSkuam9pbigiIikpLmJ1ZmZlcn1mdW5jdGlvbiBnKHQpe3JldHVybiBmLmYodCkuYnVmZmVyfWZ1bmN0aW9uIGIodCl7cmV0dXJuIGYuaSh0KX1mdW5jdGlvbiB5KHQsZSl7cmV0dXJuIGYuZyh0LCFlKX1mdW5jdGlvbiB2KHQpe3JldHVybiBmLmgodCl9ZnVuY3Rpb24gXyguLi50KXtyZXR1cm4gZi5rKC4uLnQpfWZ1bmN0aW9uIHcodCl7cmV0dXJuIGYueih0KS5idWZmZXJ9ZnVuY3Rpb24gTSh0KXtyZXR1cm4gZi5BKHQpfWZ1bmN0aW9uIFModCxlKXtyZXR1cm4gZi5CKHQsIWUpfWZ1bmN0aW9uIEUodCl7cmV0dXJuIG5ldyBjLmEodCwxMCkudG9OdW1iZXIoKX1mdW5jdGlvbiB4KHQpe3JldHVybiBmLm8odCl9ZnVuY3Rpb24gayh0KXtyZXR1cm4gZi5uKHQpLmJ1ZmZlcn1mdW5jdGlvbiBBKHQpe3JldHVybiBmLnAodCl9ZnVuY3Rpb24gUih0KXtyZXR1cm4gbmV3IGMuYShmLngodCksImhleCIpLnRvTnVtYmVyKCl9ZnVuY3Rpb24gVCh0KXtyZXR1cm4gZi52KHQpfWZ1bmN0aW9uIE8odCl7cmV0dXJuIGYudSh0KS5idWZmZXJ9ZnVuY3Rpb24gQyh0KXtyZXR1cm4gbmV3IGMuYSh0KS50b1N0cmluZygpfWZ1bmN0aW9uIFAodCxlKXtjb25zdCByPWYueChmLnkobmV3IGMuYSh0KS50b1N0cmluZygxNikpKTtyZXR1cm4gZT9yOmYuYShyKX12YXIgST1yKDE2MCk7ZnVuY3Rpb24gQih0KXtyZXR1cm4gZi55KHQpfWZ1bmN0aW9uIEwodCl7cmV0dXJuIGYuYSh0KX1mdW5jdGlvbiBqKHQpe3JldHVybiBmLngodCl9ZnVuY3Rpb24gTih0KXtyZXR1cm4gZi53KGYuYSh0KSl9Y29uc3QgcT1yKDE2MSkucGF5bG9hZElkO2Z1bmN0aW9uIFUoKXtyZXR1cm4oKHQsZSk9Pntmb3IoZT10PSIiO3QrKzwzNjtlKz01MSp0JjUyPygxNV50PzheTWF0aC5yYW5kb20oKSooMjBedD8xNjo0KTo0KS50b1N0cmluZygxNik6Ii0iKTtyZXR1cm4gZX0pKCl9ZnVuY3Rpb24gRCgpe2NvbnNvbGUud2FybigiREVQUkVDQVRJT04gV0FSTklORzogVGhpcyBXYWxsZXRDb25uZWN0IGNsaWVudCBsaWJyYXJ5IHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiBAd2FsbGV0Y29ubmVjdC9jbGllbnQuIFBsZWFzZSBjaGVjayBkb2NzLndhbGxldGNvbm5lY3Qub3JnIHRvIGxlYXJuIG1vcmUgYWJvdXQgdGhpcyBtaWdyYXRpb24hIil9ZnVuY3Rpb24geih0LGUpe2xldCByO2NvbnN0IG49YVt0XTtyZXR1cm4gbiYmKHI9YGh0dHBzOi8vJHtufS5pbmZ1cmEuaW8vdjMvJHtlfWApLHJ9ZnVuY3Rpb24gSCh0LGUpe2xldCByO2NvbnN0IG49eih0LGUuaW5mdXJhSWQpO3JldHVybiBlLmN1c3RvbSYmZS5jdXN0b21bdF0/cj1lLmN1c3RvbVt0XTpuJiYocj1uKSxyfWZ1bmN0aW9uIEYodCl7cmV0dXJuIiI9PT10fHwic3RyaW5nIj09dHlwZW9mIHQmJiIiPT09dC50cmltKCl9ZnVuY3Rpb24gVyh0KXtyZXR1cm4hKHQmJnQubGVuZ3RoKX1mdW5jdGlvbiBLKHQpe3JldHVybiBmLnIodCl9ZnVuY3Rpb24gVih0KXtyZXR1cm4gZi50KHQpfWZ1bmN0aW9uIEoodCl7cmV0dXJuIGYucSh0KX1mdW5jdGlvbiBZKHQpe3JldHVybiBmLm0odCl9ZnVuY3Rpb24gRyh0KXtyZXR1cm4gZi5sKHQpfWZ1bmN0aW9uIFoodCxlKXtyZXR1cm4gZi5zKHQsZSl9ZnVuY3Rpb24gJCh0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQucGFyYW1zfWZ1bmN0aW9uIFgodCl7cmV0dXJuIHZvaWQgMCE9PXQubWV0aG9kfWZ1bmN0aW9uIFEodCl7cmV0dXJuIHZvaWQgMCE9PXQucmVzdWx0fWZ1bmN0aW9uIHR0KHQpe3JldHVybiB2b2lkIDAhPT10LmVycm9yfWZ1bmN0aW9uIGV0KHQpe3JldHVybiB2b2lkIDAhPT10LmV2ZW50fWZ1bmN0aW9uIHJ0KHQpe3JldHVybiBpLmluY2x1ZGVzKHQpfHx0LnN0YXJ0c1dpdGgoIndjXyIpfWZ1bmN0aW9uIG50KHQpe3JldHVybiEhdC5tZXRob2Quc3RhcnRzV2l0aCgid2NfIil8fCFvLmluY2x1ZGVzKHQubWV0aG9kKX1mdW5jdGlvbiBpdCh0KXt0PU9iamVjdChmLngpKHQudG9Mb3dlckNhc2UoKSk7Y29uc3QgZT1PYmplY3QoZi54KShPYmplY3QoSS5rZWNjYWtfMjU2KShNKHQpKSk7bGV0IHI9IiI7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspcGFyc2VJbnQoZVtuXSwxNik+Nz9yKz10W25dLnRvVXBwZXJDYXNlKCk6cis9dFtuXTtyZXR1cm4gT2JqZWN0KGYuYSkocil9Y29uc3Qgb3Q9dD0+ISF0JiYoIjB4Ij09PXQudG9Mb3dlckNhc2UoKS5zdWJzdHJpbmcoMCwyKSYmKCEhL14oMHgpP1swLTlhLWZdezQwfSQvaS50ZXN0KHQpJiYoISghL14oMHgpP1swLTlhLWZdezQwfSQvLnRlc3QodCkmJiEvXigweCk/WzAtOUEtRl17NDB9JC8udGVzdCh0KSl8fHQ9PT1pdCh0KSkpKTtmdW5jdGlvbiBzdCh0KXtyZXR1cm4gVyh0KXx8Wih0WzBdKXx8KHRbMF09Uyh0WzBdKSksdH1mdW5jdGlvbiBhdCh0KXtpZih2b2lkIDAhPT10LnR5cGUmJiIwIiE9PXQudHlwZSlyZXR1cm4gdDtpZih2b2lkIDA9PT10LmZyb218fCFvdCh0LmZyb20pKXRocm93IG5ldyBFcnJvcigiVHJhbnNhY3Rpb24gb2JqZWN0IG11c3QgaW5jbHVkZSBhIHZhbGlkICdmcm9tJyB2YWx1ZS4iKTtmdW5jdGlvbiBlKHQpe2xldCBlPXQ7cmV0dXJuKCJudW1iZXIiPT10eXBlb2YgdHx8InN0cmluZyI9PXR5cGVvZiB0JiYhRih0KSkmJihaKHQpPyJzdHJpbmciPT10eXBlb2YgdCYmKGU9Qih0KSk6ZT1QKHQpKSwic3RyaW5nIj09dHlwZW9mIGUmJihlPU4oZSkpLGV9Y29uc3Qgcj17ZnJvbTpCKHQuZnJvbSksdG86dm9pZCAwPT09dC50bz92b2lkIDA6Qih0LnRvKSxnYXNQcmljZTp2b2lkIDA9PT10Lmdhc1ByaWNlPyIiOmUodC5nYXNQcmljZSksZ2FzOnZvaWQgMD09PXQuZ2FzP3ZvaWQgMD09PXQuZ2FzTGltaXQ/IiI6ZSh0Lmdhc0xpbWl0KTplKHQuZ2FzKSx2YWx1ZTp2b2lkIDA9PT10LnZhbHVlPyIiOmUodC52YWx1ZSksbm9uY2U6dm9pZCAwPT09dC5ub25jZT8iIjplKHQubm9uY2UpLGRhdGE6dm9pZCAwPT09dC5kYXRhPyIiOkIodC5kYXRhKXx8IjB4In0sbj1bImdhc1ByaWNlIiwiZ2FzIiwidmFsdWUiLCJub25jZSJdO3JldHVybiBPYmplY3Qua2V5cyhyKS5mb3JFYWNoKHQ9Pnsodm9pZCAwPT09clt0XXx8InN0cmluZyI9PXR5cGVvZiByW3RdJiYhclt0XS50cmltKCkubGVuZ3RoKSYmbi5pbmNsdWRlcyh0KSYmZGVsZXRlIHJbdF19KSxyfWZ1bmN0aW9uIHV0KHQsZSl7cmV0dXJuIGFzeW5jKC4uLnIpPT5uZXcgUHJvbWlzZSgobixpKT0+e3QuYXBwbHkoZSxbLi4uciwodCxlKT0+e251bGw9PXQmJmkodCksbihlKX1dKX0pfWZ1bmN0aW9uIGN0KHQpe2NvbnN0IGU9dC5tZXNzYWdlfHwiRmFpbGVkIG9yIFJlamVjdGVkIFJlcXVlc3QiO2xldCByPS0zMmUzO2lmKHQmJiF0LmNvZGUpc3dpdGNoKGUpe2Nhc2UiUGFyc2UgZXJyb3IiOnI9LTMyNzAwO2JyZWFrO2Nhc2UiSW52YWxpZCByZXF1ZXN0IjpyPS0zMjYwMDticmVhaztjYXNlIk1ldGhvZCBub3QgZm91bmQiOnI9LTMyNjAxO2JyZWFrO2Nhc2UiSW52YWxpZCBwYXJhbXMiOnI9LTMyNjAyO2JyZWFrO2Nhc2UiSW50ZXJuYWwgZXJyb3IiOnI9LTMyNjAzO2JyZWFrO2RlZmF1bHQ6cj0tMzJlM31jb25zdCBuPXtjb2RlOnIsbWVzc2FnZTplfTtyZXR1cm4gdC5kYXRhJiYobi5kYXRhPXQuZGF0YSksbn12YXIgZnQ9cig3OCk7ZnVuY3Rpb24gaHQodCl7Y29uc3QgZT0tMSE9PXQuaW5kZXhPZigiPyIpP3QuaW5kZXhPZigiPyIpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09ZT90LnN1YnN0cihlKToiIn1mdW5jdGlvbiBsdCh0LGUpe2xldCByPWR0KHQpO3JldHVybiByPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxyKSxlKSx0PXB0KHIpfWZ1bmN0aW9uIGR0KHQpe3JldHVybiBmdC5wYXJzZSh0KX1mdW5jdGlvbiBwdCh0KXtyZXR1cm4gZnQuc3RyaW5naWZ5KHQpfWZ1bmN0aW9uIG10KHQpe3JldHVybiB2b2lkIDAhPT10LmJyaWRnZX1mdW5jdGlvbiBndCh0KXtjb25zdCBlPXQuaW5kZXhPZigiOiIpLHI9LTEhPT10LmluZGV4T2YoIj8iKT90LmluZGV4T2YoIj8iKTp2b2lkIDAsbj10LnN1YnN0cmluZygwLGUpO2NvbnN0IGk9ZnVuY3Rpb24odCl7Y29uc3QgZT10LnNwbGl0KCJAIik7cmV0dXJue2hhbmRzaGFrZVRvcGljOmVbMF0sdmVyc2lvbjpwYXJzZUludChlWzFdLDEwKX19KHQuc3Vic3RyaW5nKGUrMSxyKSk7Y29uc3Qgbz1mdW5jdGlvbih0KXtjb25zdCBlPWR0KHQpO3JldHVybntrZXk6ZS5rZXl8fCIiLGJyaWRnZTplLmJyaWRnZXx8IiJ9fSh2b2lkIDAhPT1yP3Quc3Vic3RyKHIpOiIiKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHtwcm90b2NvbDpufSxpKSxvKX1yLmQoZSwiZGV0ZWN0RW52IiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5kZXRlY3RFbnZ9KSksci5kKGUsImRldGVjdE9TIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5kZXRlY3RPU30pKSxyLmQoZSwiaXNBbmRyb2lkIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5pc0FuZHJvaWR9KSksci5kKGUsImlzSU9TIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5pc0lPU30pKSxyLmQoZSwiaXNNb2JpbGUiLChmdW5jdGlvbigpe3JldHVybiBuLmlzTW9iaWxlfSkpLHIuZChlLCJpc05vZGUiLChmdW5jdGlvbigpe3JldHVybiBuLmlzTm9kZX0pKSxyLmQoZSwiaXNCcm93c2VyIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5pc0Jyb3dzZXJ9KSksci5kKGUsImdldEZyb21XaW5kb3ciLChmdW5jdGlvbigpe3JldHVybiBuLmdldEZyb21XaW5kb3d9KSksci5kKGUsImdldEZyb21XaW5kb3dPclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXRGcm9tV2luZG93T3JUaHJvd30pKSxyLmQoZSwiZ2V0RG9jdW1lbnRPclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXREb2N1bWVudE9yVGhyb3d9KSksci5kKGUsImdldERvY3VtZW50IiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXREb2N1bWVudH0pKSxyLmQoZSwiZ2V0TmF2aWdhdG9yT3JUaHJvdyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0TmF2aWdhdG9yT3JUaHJvd30pKSxyLmQoZSwiZ2V0TmF2aWdhdG9yIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXROYXZpZ2F0b3J9KSksci5kKGUsImdldExvY2F0aW9uT3JUaHJvdyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0TG9jYXRpb25PclRocm93fSkpLHIuZChlLCJnZXRMb2NhdGlvbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0TG9jYXRpb259KSksci5kKGUsImdldENyeXB0b09yVGhyb3ciLChmdW5jdGlvbigpe3JldHVybiBuLmdldENyeXB0b09yVGhyb3d9KSksci5kKGUsImdldENyeXB0byIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0Q3J5cHRvfSkpLHIuZChlLCJnZXRMb2NhbFN0b3JhZ2VPclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXRMb2NhbFN0b3JhZ2VPclRocm93fSkpLHIuZChlLCJnZXRMb2NhbFN0b3JhZ2UiLChmdW5jdGlvbigpe3JldHVybiBuLmdldExvY2FsU3RvcmFnZX0pKSxyLmQoZSwiZ2V0Q2xpZW50TWV0YSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0Q2xpZW50TWV0YX0pKSxyLmQoZSwic2FmZUpzb25QYXJzZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uc2FmZUpzb25QYXJzZX0pKSxyLmQoZSwic2FmZUpzb25TdHJpbmdpZnkiLChmdW5jdGlvbigpe3JldHVybiBuLnNhZmVKc29uU3RyaW5naWZ5fSkpLHIuZChlLCJzZXRMb2NhbCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uc2V0TG9jYWx9KSksci5kKGUsImdldExvY2FsIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXRMb2NhbH0pKSxyLmQoZSwicmVtb3ZlTG9jYWwiLChmdW5jdGlvbigpe3JldHVybiBuLnJlbW92ZUxvY2FsfSkpLHIuZChlLCJtb2JpbGVMaW5rQ2hvaWNlS2V5IiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5tb2JpbGVMaW5rQ2hvaWNlS2V5fSkpLHIuZChlLCJmb3JtYXRJT1NNb2JpbGUiLChmdW5jdGlvbigpe3JldHVybiBuLmZvcm1hdElPU01vYmlsZX0pKSxyLmQoZSwic2F2ZU1vYmlsZUxpbmtJbmZvIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5zYXZlTW9iaWxlTGlua0luZm99KSksci5kKGUsImdldE1vYmlsZVJlZ2lzdHJ5RW50cnkiLChmdW5jdGlvbigpe3JldHVybiBuLmdldE1vYmlsZVJlZ2lzdHJ5RW50cnl9KSksci5kKGUsImdldE1vYmlsZUxpbmtSZWdpc3RyeSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0TW9iaWxlTGlua1JlZ2lzdHJ5fSkpLHIuZChlLCJnZXRXYWxsZXRSZWdpc3RyeVVybCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0V2FsbGV0UmVnaXN0cnlVcmx9KSksci5kKGUsImdldERhcHBSZWdpc3RyeVVybCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0RGFwcFJlZ2lzdHJ5VXJsfSkpLHIuZChlLCJmb3JtYXRNb2JpbGVSZWdpc3RyeUVudHJ5IiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5mb3JtYXRNb2JpbGVSZWdpc3RyeUVudHJ5fSkpLHIuZChlLCJmb3JtYXRNb2JpbGVSZWdpc3RyeSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZm9ybWF0TW9iaWxlUmVnaXN0cnl9KSksci5kKGUsInJlc2VydmVkRXZlbnRzIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKSxyLmQoZSwic2lnbmluZ01ldGhvZHMiLChmdW5jdGlvbigpe3JldHVybiBvfSkpLHIuZChlLCJzdGF0ZU1ldGhvZHMiLChmdW5jdGlvbigpe3JldHVybiBzfSkpLHIuZChlLCJpbmZ1cmFOZXR3b3JrcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksci5kKGUsImNvbnZlcnRBcnJheUJ1ZmZlclRvQnVmZmVyIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxyLmQoZSwiY29udmVydEFycmF5QnVmZmVyVG9VdGY4IiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKSxyLmQoZSwiY29udmVydEFycmF5QnVmZmVyVG9IZXgiLChmdW5jdGlvbigpe3JldHVybiBkfSkpLHIuZChlLCJjb252ZXJ0QXJyYXlCdWZmZXJUb051bWJlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSksci5kKGUsImNvbmNhdEFycmF5QnVmZmVycyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG19KSksci5kKGUsImNvbnZlcnRCdWZmZXJUb0FycmF5QnVmZmVyIiwoZnVuY3Rpb24oKXtyZXR1cm4gZ30pKSxyLmQoZSwiY29udmVydEJ1ZmZlclRvVXRmOCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGJ9KSksci5kKGUsImNvbnZlcnRCdWZmZXJUb0hleCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHl9KSksci5kKGUsImNvbnZlcnRCdWZmZXJUb051bWJlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIHZ9KSksci5kKGUsImNvbmNhdEJ1ZmZlcnMiLChmdW5jdGlvbigpe3JldHVybiBffSkpLHIuZChlLCJjb252ZXJ0VXRmOFRvQXJyYXlCdWZmZXIiLChmdW5jdGlvbigpe3JldHVybiB3fSkpLHIuZChlLCJjb252ZXJ0VXRmOFRvQnVmZmVyIiwoZnVuY3Rpb24oKXtyZXR1cm4gTX0pKSxyLmQoZSwiY29udmVydFV0ZjhUb0hleCIsKGZ1bmN0aW9uKCl7cmV0dXJuIFN9KSksci5kKGUsImNvbnZlcnRVdGY4VG9OdW1iZXIiLChmdW5jdGlvbigpe3JldHVybiBFfSkpLHIuZChlLCJjb252ZXJ0SGV4VG9CdWZmZXIiLChmdW5jdGlvbigpe3JldHVybiB4fSkpLHIuZChlLCJjb252ZXJ0SGV4VG9BcnJheUJ1ZmZlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIGt9KSksci5kKGUsImNvbnZlcnRIZXhUb1V0ZjgiLChmdW5jdGlvbigpe3JldHVybiBBfSkpLHIuZChlLCJjb252ZXJ0SGV4VG9OdW1iZXIiLChmdW5jdGlvbigpe3JldHVybiBSfSkpLHIuZChlLCJjb252ZXJ0TnVtYmVyVG9CdWZmZXIiLChmdW5jdGlvbigpe3JldHVybiBUfSkpLHIuZChlLCJjb252ZXJ0TnVtYmVyVG9BcnJheUJ1ZmZlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIE99KSksci5kKGUsImNvbnZlcnROdW1iZXJUb1V0ZjgiLChmdW5jdGlvbigpe3JldHVybiBDfSkpLHIuZChlLCJjb252ZXJ0TnVtYmVyVG9IZXgiLChmdW5jdGlvbigpe3JldHVybiBQfSkpLHIuZChlLCJ0b0NoZWNrc3VtQWRkcmVzcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl0fSkpLHIuZChlLCJpc1ZhbGlkQWRkcmVzcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG90fSkpLHIuZChlLCJwYXJzZVBlcnNvbmFsU2lnbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN0fSkpLHIuZChlLCJwYXJzZVRyYW5zYWN0aW9uRGF0YSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF0fSkpLHIuZChlLCJzYW5pdGl6ZUhleCIsKGZ1bmN0aW9uKCl7cmV0dXJuIEJ9KSksci5kKGUsImFkZEhleFByZWZpeCIsKGZ1bmN0aW9uKCl7cmV0dXJuIEx9KSksci5kKGUsInJlbW92ZUhleFByZWZpeCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGp9KSksci5kKGUsInJlbW92ZUhleExlYWRpbmdaZXJvcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIE59KSksci5kKGUsInBheWxvYWRJZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHF9KSksci5kKGUsInV1aWQiLChmdW5jdGlvbigpe3JldHVybiBVfSkpLHIuZChlLCJsb2dEZXByZWNhdGlvbldhcm5pbmciLChmdW5jdGlvbigpe3JldHVybiBEfSkpLHIuZChlLCJnZXRJbmZ1cmFScGNVcmwiLChmdW5jdGlvbigpe3JldHVybiB6fSkpLHIuZChlLCJnZXRScGNVcmwiLChmdW5jdGlvbigpe3JldHVybiBIfSkpLHIuZChlLCJwcm9taXNpZnkiLChmdW5jdGlvbigpe3JldHVybiB1dH0pKSxyLmQoZSwiZm9ybWF0UnBjRXJyb3IiLChmdW5jdGlvbigpe3JldHVybiBjdH0pKSxyLmQoZSwiaXNXYWxsZXRDb25uZWN0U2Vzc2lvbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIG10fSkpLHIuZChlLCJwYXJzZVdhbGxldENvbm5lY3RVcmkiLChmdW5jdGlvbigpe3JldHVybiBndH0pKSxyLmQoZSwiZ2V0UXVlcnlTdHJpbmciLChmdW5jdGlvbigpe3JldHVybiBodH0pKSxyLmQoZSwiYXBwZW5kVG9RdWVyeVN0cmluZyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGx0fSkpLHIuZChlLCJwYXJzZVF1ZXJ5U3RyaW5nIiwoZnVuY3Rpb24oKXtyZXR1cm4gZHR9KSksci5kKGUsImZvcm1hdFF1ZXJ5U3RyaW5nIiwoZnVuY3Rpb24oKXtyZXR1cm4gcHR9KSksci5kKGUsImlzRW1wdHlTdHJpbmciLChmdW5jdGlvbigpe3JldHVybiBGfSkpLHIuZChlLCJpc0VtcHR5QXJyYXkiLChmdW5jdGlvbigpe3JldHVybiBXfSkpLHIuZChlLCJpc0J1ZmZlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIEt9KSksci5kKGUsImlzVHlwZWRBcnJheSIsKGZ1bmN0aW9uKCl7cmV0dXJuIFZ9KSksci5kKGUsImlzQXJyYXlCdWZmZXIiLChmdW5jdGlvbigpe3JldHVybiBKfSkpLHIuZChlLCJnZXRUeXBlIiwoZnVuY3Rpb24oKXtyZXR1cm4gWX0pKSxyLmQoZSwiZ2V0RW5jb2RpbmciLChmdW5jdGlvbigpe3JldHVybiBHfSkpLHIuZChlLCJpc0hleFN0cmluZyIsKGZ1bmN0aW9uKCl7cmV0dXJuIFp9KSksci5kKGUsImlzSnNvblJwY1N1YnNjcmlwdGlvbiIsKGZ1bmN0aW9uKCl7cmV0dXJuICR9KSksci5kKGUsImlzSnNvblJwY1JlcXVlc3QiLChmdW5jdGlvbigpe3JldHVybiBYfSkpLHIuZChlLCJpc0pzb25ScGNSZXNwb25zZVN1Y2Nlc3MiLChmdW5jdGlvbigpe3JldHVybiBRfSkpLHIuZChlLCJpc0pzb25ScGNSZXNwb25zZUVycm9yIiwoZnVuY3Rpb24oKXtyZXR1cm4gdHR9KSksci5kKGUsImlzSW50ZXJuYWxFdmVudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGV0fSkpLHIuZChlLCJpc1Jlc2VydmVkRXZlbnQiLChmdW5jdGlvbigpe3JldHVybiBydH0pKSxyLmQoZSwiaXNTaWxlbnRQYXlsb2FkIiwoZnVuY3Rpb24oKXtyZXR1cm4gbnR9KSl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpewovKiEKICogVGhlIGJ1ZmZlciBtb2R1bGUgZnJvbSBub2RlLmpzLCBmb3IgdGhlIGJyb3dzZXIuCiAqCiAqIEBhdXRob3IgICBGZXJvc3MgQWJvdWtoYWRpamVoIDxodHRwOi8vZmVyb3NzLm9yZz4KICogQGxpY2Vuc2UgIE1JVAogKi8KdmFyIG49cigxNjkpLGk9cigxNzApLG89cig3OSk7ZnVuY3Rpb24gcygpe3JldHVybiB1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/MjE0NzQ4MzY0NzoxMDczNzQxODIzfWZ1bmN0aW9uIGEodCxlKXtpZihzKCk8ZSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0eXBlZCBhcnJheSBsZW5ndGgiKTtyZXR1cm4gdS5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0PW5ldyBVaW50OEFycmF5KGUpKS5fX3Byb3RvX189dS5wcm90b3R5cGU6KG51bGw9PT10JiYodD1uZXcgdShlKSksdC5sZW5ndGg9ZSksdH1mdW5jdGlvbiB1KHQsZSxyKXtpZighKHUuVFlQRURfQVJSQVlfU1VQUE9SVHx8dGhpcyBpbnN0YW5jZW9mIHUpKXJldHVybiBuZXcgdSh0LGUscik7aWYoIm51bWJlciI9PXR5cGVvZiB0KXtpZigic3RyaW5nIj09dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJJZiBlbmNvZGluZyBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybiBoKHRoaXMsdCl9cmV0dXJuIGModGhpcyx0LGUscil9ZnVuY3Rpb24gYyh0LGUscixuKXtpZigibnVtYmVyIj09dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignInZhbHVlIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpO3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJmUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcj9mdW5jdGlvbih0LGUscixuKXtpZihlLmJ5dGVMZW5ndGgscjwwfHxlLmJ5dGVMZW5ndGg8cil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiJ29mZnNldCcgaXMgb3V0IG9mIGJvdW5kcyIpO2lmKGUuYnl0ZUxlbmd0aDxyKyhufHwwKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiJ2xlbmd0aCcgaXMgb3V0IG9mIGJvdW5kcyIpO2U9dm9pZCAwPT09ciYmdm9pZCAwPT09bj9uZXcgVWludDhBcnJheShlKTp2b2lkIDA9PT1uP25ldyBVaW50OEFycmF5KGUscik6bmV3IFVpbnQ4QXJyYXkoZSxyLG4pO3UuVFlQRURfQVJSQVlfU1VQUE9SVD8odD1lKS5fX3Byb3RvX189dS5wcm90b3R5cGU6dD1sKHQsZSk7cmV0dXJuIHR9KHQsZSxyLG4pOiJzdHJpbmciPT10eXBlb2YgZT9mdW5jdGlvbih0LGUscil7InN0cmluZyI9PXR5cGVvZiByJiYiIiE9PXJ8fChyPSJ1dGY4Iik7aWYoIXUuaXNFbmNvZGluZyhyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCciZW5jb2RpbmciIG11c3QgYmUgYSB2YWxpZCBzdHJpbmcgZW5jb2RpbmcnKTt2YXIgbj0wfHAoZSxyKSxpPSh0PWEodCxuKSkud3JpdGUoZSxyKTtpIT09biYmKHQ9dC5zbGljZSgwLGkpKTtyZXR1cm4gdH0odCxlLHIpOmZ1bmN0aW9uKHQsZSl7aWYodS5pc0J1ZmZlcihlKSl7dmFyIHI9MHxkKGUubGVuZ3RoKTtyZXR1cm4gMD09PSh0PWEodCxyKSkubGVuZ3RofHxlLmNvcHkodCwwLDAsciksdH1pZihlKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZlLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfHwibGVuZ3RoImluIGUpcmV0dXJuIm51bWJlciIhPXR5cGVvZiBlLmxlbmd0aHx8KG49ZS5sZW5ndGgpIT1uP2EodCwwKTpsKHQsZSk7aWYoIkJ1ZmZlciI9PT1lLnR5cGUmJm8oZS5kYXRhKSlyZXR1cm4gbCh0LGUuZGF0YSl9dmFyIG47dGhyb3cgbmV3IFR5cGVFcnJvcigiRmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIGFycmF5LWxpa2Ugb2JqZWN0LiIpfSh0LGUpfWZ1bmN0aW9uIGYodCl7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoJyJzaXplIiBhcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJyk7aWYodDwwKXRocm93IG5ldyBSYW5nZUVycm9yKCcic2l6ZSIgYXJndW1lbnQgbXVzdCBub3QgYmUgbmVnYXRpdmUnKX1mdW5jdGlvbiBoKHQsZSl7aWYoZihlKSx0PWEodCxlPDA/MDowfGQoZSkpLCF1LlRZUEVEX0FSUkFZX1NVUFBPUlQpZm9yKHZhciByPTA7cjxlOysrcil0W3JdPTA7cmV0dXJuIHR9ZnVuY3Rpb24gbCh0LGUpe3ZhciByPWUubGVuZ3RoPDA/MDowfGQoZS5sZW5ndGgpO3Q9YSh0LHIpO2Zvcih2YXIgbj0wO248cjtuKz0xKXRbbl09MjU1JmVbbl07cmV0dXJuIHR9ZnVuY3Rpb24gZCh0KXtpZih0Pj1zKCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gYWxsb2NhdGUgQnVmZmVyIGxhcmdlciB0aGFuIG1heGltdW0gc2l6ZTogMHgiK3MoKS50b1N0cmluZygxNikrIiBieXRlcyIpO3JldHVybiAwfHR9ZnVuY3Rpb24gcCh0LGUpe2lmKHUuaXNCdWZmZXIodCkpcmV0dXJuIHQubGVuZ3RoO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJiJmdW5jdGlvbiI9PXR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXcmJihBcnJheUJ1ZmZlci5pc1ZpZXcodCl8fHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikpcmV0dXJuIHQuYnl0ZUxlbmd0aDsic3RyaW5nIiE9dHlwZW9mIHQmJih0PSIiK3QpO3ZhciByPXQubGVuZ3RoO2lmKDA9PT1yKXJldHVybiAwO2Zvcih2YXIgbj0hMTs7KXN3aXRjaChlKXtjYXNlImFzY2lpIjpjYXNlImxhdGluMSI6Y2FzZSJiaW5hcnkiOnJldHVybiByO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6Y2FzZSB2b2lkIDA6cmV0dXJuIEQodCkubGVuZ3RoO2Nhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4gMipyO2Nhc2UiaGV4IjpyZXR1cm4gcj4+PjE7Y2FzZSJiYXNlNjQiOnJldHVybiB6KHQpLmxlbmd0aDtkZWZhdWx0OmlmKG4pcmV0dXJuIEQodCkubGVuZ3RoO2U9KCIiK2UpLnRvTG93ZXJDYXNlKCksbj0hMH19ZnVuY3Rpb24gbSh0LGUscil7dmFyIG49ITE7aWYoKHZvaWQgMD09PWV8fGU8MCkmJihlPTApLGU+dGhpcy5sZW5ndGgpcmV0dXJuIiI7aWYoKHZvaWQgMD09PXJ8fHI+dGhpcy5sZW5ndGgpJiYocj10aGlzLmxlbmd0aCkscjw9MClyZXR1cm4iIjtpZigocj4+Pj0wKTw9KGU+Pj49MCkpcmV0dXJuIiI7Zm9yKHR8fCh0PSJ1dGY4Iik7Oylzd2l0Y2godCl7Y2FzZSJoZXgiOnJldHVybiBUKHRoaXMsZSxyKTtjYXNlInV0ZjgiOmNhc2UidXRmLTgiOnJldHVybiBrKHRoaXMsZSxyKTtjYXNlImFzY2lpIjpyZXR1cm4gQSh0aGlzLGUscik7Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gUih0aGlzLGUscik7Y2FzZSJiYXNlNjQiOnJldHVybiB4KHRoaXMsZSxyKTtjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuIE8odGhpcyxlLHIpO2RlZmF1bHQ6aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK3QpO3Q9KHQrIiIpLnRvTG93ZXJDYXNlKCksbj0hMH19ZnVuY3Rpb24gZyh0LGUscil7dmFyIG49dFtlXTt0W2VdPXRbcl0sdFtyXT1ufWZ1bmN0aW9uIGIodCxlLHIsbixpKXtpZigwPT09dC5sZW5ndGgpcmV0dXJuLTE7aWYoInN0cmluZyI9PXR5cGVvZiByPyhuPXIscj0wKTpyPjIxNDc0ODM2NDc/cj0yMTQ3NDgzNjQ3OnI8LTIxNDc0ODM2NDgmJihyPS0yMTQ3NDgzNjQ4KSxyPStyLGlzTmFOKHIpJiYocj1pPzA6dC5sZW5ndGgtMSkscjwwJiYocj10Lmxlbmd0aCtyKSxyPj10Lmxlbmd0aCl7aWYoaSlyZXR1cm4tMTtyPXQubGVuZ3RoLTF9ZWxzZSBpZihyPDApe2lmKCFpKXJldHVybi0xO3I9MH1pZigic3RyaW5nIj09dHlwZW9mIGUmJihlPXUuZnJvbShlLG4pKSx1LmlzQnVmZmVyKGUpKXJldHVybiAwPT09ZS5sZW5ndGg/LTE6eSh0LGUscixuLGkpO2lmKCJudW1iZXIiPT10eXBlb2YgZSlyZXR1cm4gZSY9MjU1LHUuVFlQRURfQVJSQVlfU1VQUE9SVCYmImZ1bmN0aW9uIj09dHlwZW9mIFVpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2Y/aT9VaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwodCxlLHIpOlVpbnQ4QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwodCxlLHIpOnkodCxbZV0scixuLGkpO3Rocm93IG5ldyBUeXBlRXJyb3IoInZhbCBtdXN0IGJlIHN0cmluZywgbnVtYmVyIG9yIEJ1ZmZlciIpfWZ1bmN0aW9uIHkodCxlLHIsbixpKXt2YXIgbyxzPTEsYT10Lmxlbmd0aCx1PWUubGVuZ3RoO2lmKHZvaWQgMCE9PW4mJigidWNzMiI9PT0obj1TdHJpbmcobikudG9Mb3dlckNhc2UoKSl8fCJ1Y3MtMiI9PT1ufHwidXRmMTZsZSI9PT1ufHwidXRmLTE2bGUiPT09bikpe2lmKHQubGVuZ3RoPDJ8fGUubGVuZ3RoPDIpcmV0dXJuLTE7cz0yLGEvPTIsdS89MixyLz0yfWZ1bmN0aW9uIGModCxlKXtyZXR1cm4gMT09PXM/dFtlXTp0LnJlYWRVSW50MTZCRShlKnMpfWlmKGkpe3ZhciBmPS0xO2ZvcihvPXI7bzxhO28rKylpZihjKHQsbyk9PT1jKGUsLTE9PT1mPzA6by1mKSl7aWYoLTE9PT1mJiYoZj1vKSxvLWYrMT09PXUpcmV0dXJuIGYqc31lbHNlLTEhPT1mJiYoby09by1mKSxmPS0xfWVsc2UgZm9yKHIrdT5hJiYocj1hLXUpLG89cjtvPj0wO28tLSl7Zm9yKHZhciBoPSEwLGw9MDtsPHU7bCsrKWlmKGModCxvK2wpIT09YyhlLGwpKXtoPSExO2JyZWFrfWlmKGgpcmV0dXJuIG99cmV0dXJuLTF9ZnVuY3Rpb24gdih0LGUscixuKXtyPU51bWJlcihyKXx8MDt2YXIgaT10Lmxlbmd0aC1yO24/KG49TnVtYmVyKG4pKT5pJiYobj1pKTpuPWk7dmFyIG89ZS5sZW5ndGg7aWYobyUyIT0wKXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgaGV4IHN0cmluZyIpO24+by8yJiYobj1vLzIpO2Zvcih2YXIgcz0wO3M8bjsrK3Mpe3ZhciBhPXBhcnNlSW50KGUuc3Vic3RyKDIqcywyKSwxNik7aWYoaXNOYU4oYSkpcmV0dXJuIHM7dFtyK3NdPWF9cmV0dXJuIHN9ZnVuY3Rpb24gXyh0LGUscixuKXtyZXR1cm4gSChEKGUsdC5sZW5ndGgtciksdCxyLG4pfWZ1bmN0aW9uIHcodCxlLHIsbil7cmV0dXJuIEgoZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLHI9MDtyPHQubGVuZ3RoOysrcillLnB1c2goMjU1JnQuY2hhckNvZGVBdChyKSk7cmV0dXJuIGV9KGUpLHQscixuKX1mdW5jdGlvbiBNKHQsZSxyLG4pe3JldHVybiB3KHQsZSxyLG4pfWZ1bmN0aW9uIFModCxlLHIsbil7cmV0dXJuIEgoeihlKSx0LHIsbil9ZnVuY3Rpb24gRSh0LGUscixuKXtyZXR1cm4gSChmdW5jdGlvbih0LGUpe2Zvcih2YXIgcixuLGksbz1bXSxzPTA7czx0Lmxlbmd0aCYmISgoZS09Mik8MCk7KytzKXI9dC5jaGFyQ29kZUF0KHMpLG49cj4+OCxpPXIlMjU2LG8ucHVzaChpKSxvLnB1c2gobik7cmV0dXJuIG99KGUsdC5sZW5ndGgtciksdCxyLG4pfWZ1bmN0aW9uIHgodCxlLHIpe3JldHVybiAwPT09ZSYmcj09PXQubGVuZ3RoP24uZnJvbUJ5dGVBcnJheSh0KTpuLmZyb21CeXRlQXJyYXkodC5zbGljZShlLHIpKX1mdW5jdGlvbiBrKHQsZSxyKXtyPU1hdGgubWluKHQubGVuZ3RoLHIpO2Zvcih2YXIgbj1bXSxpPWU7aTxyOyl7dmFyIG8scyxhLHUsYz10W2ldLGY9bnVsbCxoPWM+MjM5PzQ6Yz4yMjM/MzpjPjE5MT8yOjE7aWYoaStoPD1yKXN3aXRjaChoKXtjYXNlIDE6YzwxMjgmJihmPWMpO2JyZWFrO2Nhc2UgMjoxMjg9PSgxOTImKG89dFtpKzFdKSkmJih1PSgzMSZjKTw8Nnw2MyZvKT4xMjcmJihmPXUpO2JyZWFrO2Nhc2UgMzpvPXRbaSsxXSxzPXRbaSsyXSwxMjg9PSgxOTImbykmJjEyOD09KDE5MiZzKSYmKHU9KDE1JmMpPDwxMnwoNjMmbyk8PDZ8NjMmcyk+MjA0NyYmKHU8NTUyOTZ8fHU+NTczNDMpJiYoZj11KTticmVhaztjYXNlIDQ6bz10W2krMV0scz10W2krMl0sYT10W2krM10sMTI4PT0oMTkyJm8pJiYxMjg9PSgxOTImcykmJjEyOD09KDE5MiZhKSYmKHU9KDE1JmMpPDwxOHwoNjMmbyk8PDEyfCg2MyZzKTw8Nnw2MyZhKT42NTUzNSYmdTwxMTE0MTEyJiYoZj11KX1udWxsPT09Zj8oZj02NTUzMyxoPTEpOmY+NjU1MzUmJihmLT02NTUzNixuLnB1c2goZj4+PjEwJjEwMjN8NTUyOTYpLGY9NTYzMjB8MTAyMyZmKSxuLnB1c2goZiksaSs9aH1yZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7aWYoZTw9NDA5NilyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsdCk7dmFyIHI9IiIsbj0wO2Zvcig7bjxlOylyKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyx0LnNsaWNlKG4sbis9NDA5NikpO3JldHVybiByfShuKX1lLkJ1ZmZlcj11LGUuU2xvd0J1ZmZlcj1mdW5jdGlvbih0KXsrdCE9dCYmKHQ9MCk7cmV0dXJuIHUuYWxsb2MoK3QpfSxlLklOU1BFQ1RfTUFYX0JZVEVTPTUwLHUuVFlQRURfQVJSQVlfU1VQUE9SVD12b2lkIDAhPT10LlRZUEVEX0FSUkFZX1NVUFBPUlQ/dC5UWVBFRF9BUlJBWV9TVVBQT1JUOmZ1bmN0aW9uKCl7dHJ5e3ZhciB0PW5ldyBVaW50OEFycmF5KDEpO3JldHVybiB0Ll9fcHJvdG9fXz17X19wcm90b19fOlVpbnQ4QXJyYXkucHJvdG90eXBlLGZvbzpmdW5jdGlvbigpe3JldHVybiA0Mn19LDQyPT09dC5mb28oKSYmImZ1bmN0aW9uIj09dHlwZW9mIHQuc3ViYXJyYXkmJjA9PT10LnN1YmFycmF5KDEsMSkuYnl0ZUxlbmd0aH1jYXRjaCh0KXtyZXR1cm4hMX19KCksZS5rTWF4TGVuZ3RoPXMoKSx1LnBvb2xTaXplPTgxOTIsdS5fYXVnbWVudD1mdW5jdGlvbih0KXtyZXR1cm4gdC5fX3Byb3RvX189dS5wcm90b3R5cGUsdH0sdS5mcm9tPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gYyhudWxsLHQsZSxyKX0sdS5UWVBFRF9BUlJBWV9TVVBQT1JUJiYodS5wcm90b3R5cGUuX19wcm90b19fPVVpbnQ4QXJyYXkucHJvdG90eXBlLHUuX19wcm90b19fPVVpbnQ4QXJyYXksInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5zcGVjaWVzJiZ1W1N5bWJvbC5zcGVjaWVzXT09PXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LFN5bWJvbC5zcGVjaWVzLHt2YWx1ZTpudWxsLGNvbmZpZ3VyYWJsZTohMH0pKSx1LmFsbG9jPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIGYoZSksZTw9MD9hKHQsZSk6dm9pZCAwIT09cj8ic3RyaW5nIj09dHlwZW9mIG4/YSh0LGUpLmZpbGwocixuKTphKHQsZSkuZmlsbChyKTphKHQsZSl9KG51bGwsdCxlLHIpfSx1LmFsbG9jVW5zYWZlPWZ1bmN0aW9uKHQpe3JldHVybiBoKG51bGwsdCl9LHUuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKHQpe3JldHVybiBoKG51bGwsdCl9LHUuaXNCdWZmZXI9ZnVuY3Rpb24odCl7cmV0dXJuIShudWxsPT10fHwhdC5faXNCdWZmZXIpfSx1LmNvbXBhcmU9ZnVuY3Rpb24odCxlKXtpZighdS5pc0J1ZmZlcih0KXx8IXUuaXNCdWZmZXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnRzIG11c3QgYmUgQnVmZmVycyIpO2lmKHQ9PT1lKXJldHVybiAwO2Zvcih2YXIgcj10Lmxlbmd0aCxuPWUubGVuZ3RoLGk9MCxvPU1hdGgubWluKHIsbik7aTxvOysraSlpZih0W2ldIT09ZVtpXSl7cj10W2ldLG49ZVtpXTticmVha31yZXR1cm4gcjxuPy0xOm48cj8xOjB9LHUuaXNFbmNvZGluZz1mdW5jdGlvbih0KXtzd2l0Y2goU3RyaW5nKHQpLnRvTG93ZXJDYXNlKCkpe2Nhc2UiaGV4IjpjYXNlInV0ZjgiOmNhc2UidXRmLTgiOmNhc2UiYXNjaWkiOmNhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6Y2FzZSJiYXNlNjQiOmNhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX0sdS5jb25jYXQ9ZnVuY3Rpb24odCxlKXtpZighbyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7aWYoMD09PXQubGVuZ3RoKXJldHVybiB1LmFsbG9jKDApO3ZhciByO2lmKHZvaWQgMD09PWUpZm9yKGU9MCxyPTA7cjx0Lmxlbmd0aDsrK3IpZSs9dFtyXS5sZW5ndGg7dmFyIG49dS5hbGxvY1Vuc2FmZShlKSxpPTA7Zm9yKHI9MDtyPHQubGVuZ3RoOysrcil7dmFyIHM9dFtyXTtpZighdS5pc0J1ZmZlcihzKSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7cy5jb3B5KG4saSksaSs9cy5sZW5ndGh9cmV0dXJuIG59LHUuYnl0ZUxlbmd0aD1wLHUucHJvdG90eXBlLl9pc0J1ZmZlcj0hMCx1LnByb3RvdHlwZS5zd2FwMTY9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtpZih0JTIhPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzIik7Zm9yKHZhciBlPTA7ZTx0O2UrPTIpZyh0aGlzLGUsZSsxKTtyZXR1cm4gdGhpc30sdS5wcm90b3R5cGUuc3dhcDMyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5sZW5ndGg7aWYodCU0IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzItYml0cyIpO2Zvcih2YXIgZT0wO2U8dDtlKz00KWcodGhpcyxlLGUrMyksZyh0aGlzLGUrMSxlKzIpO3JldHVybiB0aGlzfSx1LnByb3RvdHlwZS5zd2FwNjQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtpZih0JTghPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA2NC1iaXRzIik7Zm9yKHZhciBlPTA7ZTx0O2UrPTgpZyh0aGlzLGUsZSs3KSxnKHRoaXMsZSsxLGUrNiksZyh0aGlzLGUrMixlKzUpLGcodGhpcyxlKzMsZSs0KTtyZXR1cm4gdGhpc30sdS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgdD0wfHRoaXMubGVuZ3RoO3JldHVybiAwPT09dD8iIjowPT09YXJndW1lbnRzLmxlbmd0aD9rKHRoaXMsMCx0KTptLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sdS5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe2lmKCF1LmlzQnVmZmVyKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIiKTtyZXR1cm4gdGhpcz09PXR8fDA9PT11LmNvbXBhcmUodGhpcyx0KX0sdS5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3ZhciB0PSIiLHI9ZS5JTlNQRUNUX01BWF9CWVRFUztyZXR1cm4gdGhpcy5sZW5ndGg+MCYmKHQ9dGhpcy50b1N0cmluZygiaGV4IiwwLHIpLm1hdGNoKC8uezJ9L2cpLmpvaW4oIiAiKSx0aGlzLmxlbmd0aD5yJiYodCs9IiAuLi4gIikpLCI8QnVmZmVyICIrdCsiPiJ9LHUucHJvdG90eXBlLmNvbXBhcmU9ZnVuY3Rpb24odCxlLHIsbixpKXtpZighdS5pc0J1ZmZlcih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIik7aWYodm9pZCAwPT09ZSYmKGU9MCksdm9pZCAwPT09ciYmKHI9dD90Lmxlbmd0aDowKSx2b2lkIDA9PT1uJiYobj0wKSx2b2lkIDA9PT1pJiYoaT10aGlzLmxlbmd0aCksZTwwfHxyPnQubGVuZ3RofHxuPDB8fGk+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIm91dCBvZiByYW5nZSBpbmRleCIpO2lmKG4+PWkmJmU+PXIpcmV0dXJuIDA7aWYobj49aSlyZXR1cm4tMTtpZihlPj1yKXJldHVybiAxO2lmKHRoaXM9PT10KXJldHVybiAwO2Zvcih2YXIgbz0oaT4+Pj0wKS0obj4+Pj0wKSxzPShyPj4+PTApLShlPj4+PTApLGE9TWF0aC5taW4obyxzKSxjPXRoaXMuc2xpY2UobixpKSxmPXQuc2xpY2UoZSxyKSxoPTA7aDxhOysraClpZihjW2hdIT09ZltoXSl7bz1jW2hdLHM9ZltoXTticmVha31yZXR1cm4gbzxzPy0xOnM8bz8xOjB9LHUucHJvdG90eXBlLmluY2x1ZGVzPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4tMSE9PXRoaXMuaW5kZXhPZih0LGUscil9LHUucHJvdG90eXBlLmluZGV4T2Y9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBiKHRoaXMsdCxlLHIsITApfSx1LnByb3RvdHlwZS5sYXN0SW5kZXhPZj1mdW5jdGlvbih0LGUscil7cmV0dXJuIGIodGhpcyx0LGUsciwhMSl9LHUucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQsZSxyLG4pe2lmKHZvaWQgMD09PWUpbj0idXRmOCIscj10aGlzLmxlbmd0aCxlPTA7ZWxzZSBpZih2b2lkIDA9PT1yJiYic3RyaW5nIj09dHlwZW9mIGUpbj1lLHI9dGhpcy5sZW5ndGgsZT0wO2Vsc2V7aWYoIWlzRmluaXRlKGUpKXRocm93IG5ldyBFcnJvcigiQnVmZmVyLndyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldFssIGxlbmd0aF0pIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQiKTtlfD0wLGlzRmluaXRlKHIpPyhyfD0wLHZvaWQgMD09PW4mJihuPSJ1dGY4IikpOihuPXIscj12b2lkIDApfXZhciBpPXRoaXMubGVuZ3RoLWU7aWYoKHZvaWQgMD09PXJ8fHI+aSkmJihyPWkpLHQubGVuZ3RoPjAmJihyPDB8fGU8MCl8fGU+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gd3JpdGUgb3V0c2lkZSBidWZmZXIgYm91bmRzIik7bnx8KG49InV0ZjgiKTtmb3IodmFyIG89ITE7Oylzd2l0Y2gobil7Y2FzZSJoZXgiOnJldHVybiB2KHRoaXMsdCxlLHIpO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuIF8odGhpcyx0LGUscik7Y2FzZSJhc2NpaSI6cmV0dXJuIHcodGhpcyx0LGUscik7Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gTSh0aGlzLHQsZSxyKTtjYXNlImJhc2U2NCI6cmV0dXJuIFModGhpcyx0LGUscik7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiBFKHRoaXMsdCxlLHIpO2RlZmF1bHQ6aWYobyl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK24pO249KCIiK24pLnRvTG93ZXJDYXNlKCksbz0hMH19LHUucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnt0eXBlOiJCdWZmZXIiLGRhdGE6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5fYXJyfHx0aGlzLDApfX07ZnVuY3Rpb24gQSh0LGUscil7dmFyIG49IiI7cj1NYXRoLm1pbih0Lmxlbmd0aCxyKTtmb3IodmFyIGk9ZTtpPHI7KytpKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUoMTI3JnRbaV0pO3JldHVybiBufWZ1bmN0aW9uIFIodCxlLHIpe3ZhciBuPSIiO3I9TWF0aC5taW4odC5sZW5ndGgscik7Zm9yKHZhciBpPWU7aTxyOysraSluKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHRbaV0pO3JldHVybiBufWZ1bmN0aW9uIFQodCxlLHIpe3ZhciBuPXQubGVuZ3RoOyghZXx8ZTwwKSYmKGU9MCksKCFyfHxyPDB8fHI+bikmJihyPW4pO2Zvcih2YXIgaT0iIixvPWU7bzxyOysrbylpKz1VKHRbb10pO3JldHVybiBpfWZ1bmN0aW9uIE8odCxlLHIpe2Zvcih2YXIgbj10LnNsaWNlKGUsciksaT0iIixvPTA7bzxuLmxlbmd0aDtvKz0yKWkrPVN0cmluZy5mcm9tQ2hhckNvZGUobltvXSsyNTYqbltvKzFdKTtyZXR1cm4gaX1mdW5jdGlvbiBDKHQsZSxyKXtpZih0JTEhPTB8fHQ8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib2Zmc2V0IGlzIG5vdCB1aW50Iik7aWYodCtlPnIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlRyeWluZyB0byBhY2Nlc3MgYmV5b25kIGJ1ZmZlciBsZW5ndGgiKX1mdW5jdGlvbiBQKHQsZSxyLG4saSxvKXtpZighdS5pc0J1ZmZlcih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCciYnVmZmVyIiBhcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIGluc3RhbmNlJyk7aWYoZT5pfHxlPG8pdGhyb3cgbmV3IFJhbmdlRXJyb3IoJyJ2YWx1ZSIgYXJndW1lbnQgaXMgb3V0IG9mIGJvdW5kcycpO2lmKHIrbj50Lmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24gSSh0LGUscixuKXtlPDAmJihlPTY1NTM1K2UrMSk7Zm9yKHZhciBpPTAsbz1NYXRoLm1pbih0Lmxlbmd0aC1yLDIpO2k8bzsrK2kpdFtyK2ldPShlJjI1NTw8OCoobj9pOjEtaSkpPj4+OCoobj9pOjEtaSl9ZnVuY3Rpb24gQih0LGUscixuKXtlPDAmJihlPTQyOTQ5NjcyOTUrZSsxKTtmb3IodmFyIGk9MCxvPU1hdGgubWluKHQubGVuZ3RoLXIsNCk7aTxvOysraSl0W3IraV09ZT4+PjgqKG4/aTozLWkpJjI1NX1mdW5jdGlvbiBMKHQsZSxyLG4saSxvKXtpZihyK24+dC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIpO2lmKHI8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24gaih0LGUscixuLG8pe3JldHVybiBvfHxMKHQsMCxyLDQpLGkud3JpdGUodCxlLHIsbiwyMyw0KSxyKzR9ZnVuY3Rpb24gTih0LGUscixuLG8pe3JldHVybiBvfHxMKHQsMCxyLDgpLGkud3JpdGUodCxlLHIsbiw1Miw4KSxyKzh9dS5wcm90b3R5cGUuc2xpY2U9ZnVuY3Rpb24odCxlKXt2YXIgcixuPXRoaXMubGVuZ3RoO2lmKCh0PX5+dCk8MD8odCs9bik8MCYmKHQ9MCk6dD5uJiYodD1uKSwoZT12b2lkIDA9PT1lP246fn5lKTwwPyhlKz1uKTwwJiYoZT0wKTplPm4mJihlPW4pLGU8dCYmKGU9dCksdS5UWVBFRF9BUlJBWV9TVVBQT1JUKShyPXRoaXMuc3ViYXJyYXkodCxlKSkuX19wcm90b19fPXUucHJvdG90eXBlO2Vsc2V7dmFyIGk9ZS10O3I9bmV3IHUoaSx2b2lkIDApO2Zvcih2YXIgbz0wO288aTsrK28pcltvXT10aGlzW28rdF19cmV0dXJuIHJ9LHUucHJvdG90eXBlLnJlYWRVSW50TEU9ZnVuY3Rpb24odCxlLHIpe3R8PTAsZXw9MCxyfHxDKHQsZSx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbdF0saT0xLG89MDsrK288ZSYmKGkqPTI1Nik7KW4rPXRoaXNbdCtvXSppO3JldHVybiBufSx1LnByb3RvdHlwZS5yZWFkVUludEJFPWZ1bmN0aW9uKHQsZSxyKXt0fD0wLGV8PTAscnx8Qyh0LGUsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW3QrLS1lXSxpPTE7ZT4wJiYoaSo9MjU2KTspbis9dGhpc1t0Ky0tZV0qaTtyZXR1cm4gbn0sdS5wcm90b3R5cGUucmVhZFVJbnQ4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fEModCwxLHRoaXMubGVuZ3RoKSx0aGlzW3RdfSx1LnByb3RvdHlwZS5yZWFkVUludDE2TEU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Qyh0LDIsdGhpcy5sZW5ndGgpLHRoaXNbdF18dGhpc1t0KzFdPDw4fSx1LnByb3RvdHlwZS5yZWFkVUludDE2QkU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Qyh0LDIsdGhpcy5sZW5ndGgpLHRoaXNbdF08PDh8dGhpc1t0KzFdfSx1LnByb3RvdHlwZS5yZWFkVUludDMyTEU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Qyh0LDQsdGhpcy5sZW5ndGgpLCh0aGlzW3RdfHRoaXNbdCsxXTw8OHx0aGlzW3QrMl08PDE2KSsxNjc3NzIxNip0aGlzW3QrM119LHUucHJvdG90eXBlLnJlYWRVSW50MzJCRT1mdW5jdGlvbih0LGUpe3JldHVybiBlfHxDKHQsNCx0aGlzLmxlbmd0aCksMTY3NzcyMTYqdGhpc1t0XSsodGhpc1t0KzFdPDwxNnx0aGlzW3QrMl08PDh8dGhpc1t0KzNdKX0sdS5wcm90b3R5cGUucmVhZEludExFPWZ1bmN0aW9uKHQsZSxyKXt0fD0wLGV8PTAscnx8Qyh0LGUsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW3RdLGk9MSxvPTA7KytvPGUmJihpKj0yNTYpOyluKz10aGlzW3Qrb10qaTtyZXR1cm4gbj49KGkqPTEyOCkmJihuLT1NYXRoLnBvdygyLDgqZSkpLG59LHUucHJvdG90eXBlLnJlYWRJbnRCRT1mdW5jdGlvbih0LGUscil7dHw9MCxlfD0wLHJ8fEModCxlLHRoaXMubGVuZ3RoKTtmb3IodmFyIG49ZSxpPTEsbz10aGlzW3QrLS1uXTtuPjAmJihpKj0yNTYpOylvKz10aGlzW3QrLS1uXSppO3JldHVybiBvPj0oaSo9MTI4KSYmKG8tPU1hdGgucG93KDIsOCplKSksb30sdS5wcm90b3R5cGUucmVhZEludDg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Qyh0LDEsdGhpcy5sZW5ndGgpLDEyOCZ0aGlzW3RdPy0xKigyNTUtdGhpc1t0XSsxKTp0aGlzW3RdfSx1LnByb3RvdHlwZS5yZWFkSW50MTZMRT1mdW5jdGlvbih0LGUpe2V8fEModCwyLHRoaXMubGVuZ3RoKTt2YXIgcj10aGlzW3RdfHRoaXNbdCsxXTw8ODtyZXR1cm4gMzI3Njgmcj80Mjk0OTAxNzYwfHI6cn0sdS5wcm90b3R5cGUucmVhZEludDE2QkU9ZnVuY3Rpb24odCxlKXtlfHxDKHQsMix0aGlzLmxlbmd0aCk7dmFyIHI9dGhpc1t0KzFdfHRoaXNbdF08PDg7cmV0dXJuIDMyNzY4JnI/NDI5NDkwMTc2MHxyOnJ9LHUucHJvdG90eXBlLnJlYWRJbnQzMkxFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fEModCw0LHRoaXMubGVuZ3RoKSx0aGlzW3RdfHRoaXNbdCsxXTw8OHx0aGlzW3QrMl08PDE2fHRoaXNbdCszXTw8MjR9LHUucHJvdG90eXBlLnJlYWRJbnQzMkJFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fEModCw0LHRoaXMubGVuZ3RoKSx0aGlzW3RdPDwyNHx0aGlzW3QrMV08PDE2fHRoaXNbdCsyXTw8OHx0aGlzW3QrM119LHUucHJvdG90eXBlLnJlYWRGbG9hdExFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fEModCw0LHRoaXMubGVuZ3RoKSxpLnJlYWQodGhpcyx0LCEwLDIzLDQpfSx1LnByb3RvdHlwZS5yZWFkRmxvYXRCRT1mdW5jdGlvbih0LGUpe3JldHVybiBlfHxDKHQsNCx0aGlzLmxlbmd0aCksaS5yZWFkKHRoaXMsdCwhMSwyMyw0KX0sdS5wcm90b3R5cGUucmVhZERvdWJsZUxFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fEModCw4LHRoaXMubGVuZ3RoKSxpLnJlYWQodGhpcyx0LCEwLDUyLDgpfSx1LnByb3RvdHlwZS5yZWFkRG91YmxlQkU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Qyh0LDgsdGhpcy5sZW5ndGgpLGkucmVhZCh0aGlzLHQsITEsNTIsOCl9LHUucHJvdG90eXBlLndyaXRlVUludExFPWZ1bmN0aW9uKHQsZSxyLG4peyh0PSt0LGV8PTAscnw9MCxuKXx8UCh0aGlzLHQsZSxyLE1hdGgucG93KDIsOCpyKS0xLDApO3ZhciBpPTEsbz0wO2Zvcih0aGlzW2VdPTI1NSZ0OysrbzxyJiYoaSo9MjU2KTspdGhpc1tlK29dPXQvaSYyNTU7cmV0dXJuIGUrcn0sdS5wcm90b3R5cGUud3JpdGVVSW50QkU9ZnVuY3Rpb24odCxlLHIsbil7KHQ9K3QsZXw9MCxyfD0wLG4pfHxQKHRoaXMsdCxlLHIsTWF0aC5wb3coMiw4KnIpLTEsMCk7dmFyIGk9ci0xLG89MTtmb3IodGhpc1tlK2ldPTI1NSZ0Oy0taT49MCYmKG8qPTI1Nik7KXRoaXNbZStpXT10L28mMjU1O3JldHVybiBlK3J9LHUucHJvdG90eXBlLndyaXRlVUludDg9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGV8PTAscnx8UCh0aGlzLHQsZSwxLDI1NSwwKSx1LlRZUEVEX0FSUkFZX1NVUFBPUlR8fCh0PU1hdGguZmxvb3IodCkpLHRoaXNbZV09MjU1JnQsZSsxfSx1LnByb3RvdHlwZS53cml0ZVVJbnQxNkxFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdD0rdCxlfD0wLHJ8fFAodGhpcyx0LGUsMiw2NTUzNSwwKSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbZV09MjU1JnQsdGhpc1tlKzFdPXQ+Pj44KTpJKHRoaXMsdCxlLCEwKSxlKzJ9LHUucHJvdG90eXBlLndyaXRlVUludDE2QkU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGV8PTAscnx8UCh0aGlzLHQsZSwyLDY1NTM1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1tlXT10Pj4+OCx0aGlzW2UrMV09MjU1JnQpOkkodGhpcyx0LGUsITEpLGUrMn0sdS5wcm90b3R5cGUud3JpdGVVSW50MzJMRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZXw9MCxyfHxQKHRoaXMsdCxlLDQsNDI5NDk2NzI5NSwwKSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbZSszXT10Pj4+MjQsdGhpc1tlKzJdPXQ+Pj4xNix0aGlzW2UrMV09dD4+PjgsdGhpc1tlXT0yNTUmdCk6Qih0aGlzLHQsZSwhMCksZSs0fSx1LnByb3RvdHlwZS53cml0ZVVJbnQzMkJFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdD0rdCxlfD0wLHJ8fFAodGhpcyx0LGUsNCw0Mjk0OTY3Mjk1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1tlXT10Pj4+MjQsdGhpc1tlKzFdPXQ+Pj4xNix0aGlzW2UrMl09dD4+PjgsdGhpc1tlKzNdPTI1NSZ0KTpCKHRoaXMsdCxlLCExKSxlKzR9LHUucHJvdG90eXBlLndyaXRlSW50TEU9ZnVuY3Rpb24odCxlLHIsbil7aWYodD0rdCxlfD0wLCFuKXt2YXIgaT1NYXRoLnBvdygyLDgqci0xKTtQKHRoaXMsdCxlLHIsaS0xLC1pKX12YXIgbz0wLHM9MSxhPTA7Zm9yKHRoaXNbZV09MjU1JnQ7KytvPHImJihzKj0yNTYpOyl0PDAmJjA9PT1hJiYwIT09dGhpc1tlK28tMV0mJihhPTEpLHRoaXNbZStvXT0odC9zPj4wKS1hJjI1NTtyZXR1cm4gZStyfSx1LnByb3RvdHlwZS53cml0ZUludEJFPWZ1bmN0aW9uKHQsZSxyLG4pe2lmKHQ9K3QsZXw9MCwhbil7dmFyIGk9TWF0aC5wb3coMiw4KnItMSk7UCh0aGlzLHQsZSxyLGktMSwtaSl9dmFyIG89ci0xLHM9MSxhPTA7Zm9yKHRoaXNbZStvXT0yNTUmdDstLW8+PTAmJihzKj0yNTYpOyl0PDAmJjA9PT1hJiYwIT09dGhpc1tlK28rMV0mJihhPTEpLHRoaXNbZStvXT0odC9zPj4wKS1hJjI1NTtyZXR1cm4gZStyfSx1LnByb3RvdHlwZS53cml0ZUludDg9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGV8PTAscnx8UCh0aGlzLHQsZSwxLDEyNywtMTI4KSx1LlRZUEVEX0FSUkFZX1NVUFBPUlR8fCh0PU1hdGguZmxvb3IodCkpLHQ8MCYmKHQ9MjU1K3QrMSksdGhpc1tlXT0yNTUmdCxlKzF9LHUucHJvdG90eXBlLndyaXRlSW50MTZMRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZXw9MCxyfHxQKHRoaXMsdCxlLDIsMzI3NjcsLTMyNzY4KSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbZV09MjU1JnQsdGhpc1tlKzFdPXQ+Pj44KTpJKHRoaXMsdCxlLCEwKSxlKzJ9LHUucHJvdG90eXBlLndyaXRlSW50MTZCRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZXw9MCxyfHxQKHRoaXMsdCxlLDIsMzI3NjcsLTMyNzY4KSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbZV09dD4+PjgsdGhpc1tlKzFdPTI1NSZ0KTpJKHRoaXMsdCxlLCExKSxlKzJ9LHUucHJvdG90eXBlLndyaXRlSW50MzJMRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZXw9MCxyfHxQKHRoaXMsdCxlLDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCksdS5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW2VdPTI1NSZ0LHRoaXNbZSsxXT10Pj4+OCx0aGlzW2UrMl09dD4+PjE2LHRoaXNbZSszXT10Pj4+MjQpOkIodGhpcyx0LGUsITApLGUrNH0sdS5wcm90b3R5cGUud3JpdGVJbnQzMkJFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdD0rdCxlfD0wLHJ8fFAodGhpcyx0LGUsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSx0PDAmJih0PTQyOTQ5NjcyOTUrdCsxKSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbZV09dD4+PjI0LHRoaXNbZSsxXT10Pj4+MTYsdGhpc1tlKzJdPXQ+Pj44LHRoaXNbZSszXT0yNTUmdCk6Qih0aGlzLHQsZSwhMSksZSs0fSx1LnByb3RvdHlwZS53cml0ZUZsb2F0TEU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBqKHRoaXMsdCxlLCEwLHIpfSx1LnByb3RvdHlwZS53cml0ZUZsb2F0QkU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBqKHRoaXMsdCxlLCExLHIpfSx1LnByb3RvdHlwZS53cml0ZURvdWJsZUxFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gTih0aGlzLHQsZSwhMCxyKX0sdS5wcm90b3R5cGUud3JpdGVEb3VibGVCRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIE4odGhpcyx0LGUsITEscil9LHUucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24odCxlLHIsbil7aWYocnx8KHI9MCksbnx8MD09PW58fChuPXRoaXMubGVuZ3RoKSxlPj10Lmxlbmd0aCYmKGU9dC5sZW5ndGgpLGV8fChlPTApLG4+MCYmbjxyJiYobj1yKSxuPT09cilyZXR1cm4gMDtpZigwPT09dC5sZW5ndGh8fDA9PT10aGlzLmxlbmd0aClyZXR1cm4gMDtpZihlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoInRhcmdldFN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihyPDB8fHI+PXRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VTdGFydCBvdXQgb2YgYm91bmRzIik7aWYobjwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VFbmQgb3V0IG9mIGJvdW5kcyIpO24+dGhpcy5sZW5ndGgmJihuPXRoaXMubGVuZ3RoKSx0Lmxlbmd0aC1lPG4tciYmKG49dC5sZW5ndGgtZStyKTt2YXIgaSxvPW4tcjtpZih0aGlzPT09dCYmcjxlJiZlPG4pZm9yKGk9by0xO2k+PTA7LS1pKXRbaStlXT10aGlzW2krcl07ZWxzZSBpZihvPDFlM3x8IXUuVFlQRURfQVJSQVlfU1VQUE9SVClmb3IoaT0wO2k8bzsrK2kpdFtpK2VdPXRoaXNbaStyXTtlbHNlIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKHQsdGhpcy5zdWJhcnJheShyLHIrbyksZSk7cmV0dXJuIG99LHUucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24odCxlLHIsbil7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtpZigic3RyaW5nIj09dHlwZW9mIGU/KG49ZSxlPTAscj10aGlzLmxlbmd0aCk6InN0cmluZyI9PXR5cGVvZiByJiYobj1yLHI9dGhpcy5sZW5ndGgpLDE9PT10Lmxlbmd0aCl7dmFyIGk9dC5jaGFyQ29kZUF0KDApO2k8MjU2JiYodD1pKX1pZih2b2lkIDAhPT1uJiYic3RyaW5nIiE9dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiZW5jb2RpbmcgbXVzdCBiZSBhIHN0cmluZyIpO2lmKCJzdHJpbmciPT10eXBlb2YgbiYmIXUuaXNFbmNvZGluZyhuKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK24pfWVsc2UibnVtYmVyIj09dHlwZW9mIHQmJih0Jj0yNTUpO2lmKGU8MHx8dGhpcy5sZW5ndGg8ZXx8dGhpcy5sZW5ndGg8cil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiT3V0IG9mIHJhbmdlIGluZGV4Iik7aWYocjw9ZSlyZXR1cm4gdGhpczt2YXIgbztpZihlPj4+PTAscj12b2lkIDA9PT1yP3RoaXMubGVuZ3RoOnI+Pj4wLHR8fCh0PTApLCJudW1iZXIiPT10eXBlb2YgdClmb3Iobz1lO288cjsrK28pdGhpc1tvXT10O2Vsc2V7dmFyIHM9dS5pc0J1ZmZlcih0KT90OkQobmV3IHUodCxuKS50b1N0cmluZygpKSxhPXMubGVuZ3RoO2ZvcihvPTA7bzxyLWU7KytvKXRoaXNbbytlXT1zW28lYV19cmV0dXJuIHRoaXN9O3ZhciBxPS9bXitcLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIFUodCl7cmV0dXJuIHQ8MTY/IjAiK3QudG9TdHJpbmcoMTYpOnQudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIEQodCxlKXt2YXIgcjtlPWV8fDEvMDtmb3IodmFyIG49dC5sZW5ndGgsaT1udWxsLG89W10scz0wO3M8bjsrK3Mpe2lmKChyPXQuY2hhckNvZGVBdChzKSk+NTUyOTUmJnI8NTczNDQpe2lmKCFpKXtpZihyPjU2MzE5KXsoZS09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aWYocysxPT09bil7KGUtPTMpPi0xJiZvLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWk9cjtjb250aW51ZX1pZihyPDU2MzIwKXsoZS09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSksaT1yO2NvbnRpbnVlfXI9NjU1MzYrKGktNTUyOTY8PDEwfHItNTYzMjApfWVsc2UgaSYmKGUtPTMpPi0xJiZvLnB1c2goMjM5LDE5MSwxODkpO2lmKGk9bnVsbCxyPDEyOCl7aWYoKGUtPTEpPDApYnJlYWs7by5wdXNoKHIpfWVsc2UgaWYocjwyMDQ4KXtpZigoZS09Mik8MClicmVhaztvLnB1c2gocj4+NnwxOTIsNjMmcnwxMjgpfWVsc2UgaWYocjw2NTUzNil7aWYoKGUtPTMpPDApYnJlYWs7by5wdXNoKHI+PjEyfDIyNCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9ZWxzZXtpZighKHI8MTExNDExMikpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGNvZGUgcG9pbnQiKTtpZigoZS09NCk8MClicmVhaztvLnB1c2gocj4+MTh8MjQwLHI+PjEyJjYzfDEyOCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9fXJldHVybiBvfWZ1bmN0aW9uIHoodCl7cmV0dXJuIG4udG9CeXRlQXJyYXkoZnVuY3Rpb24odCl7aWYoKHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQudHJpbT90LnRyaW0oKTp0LnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKX0odCkucmVwbGFjZShxLCIiKSkubGVuZ3RoPDIpcmV0dXJuIiI7Zm9yKDt0Lmxlbmd0aCU0IT0wOyl0Kz0iPSI7cmV0dXJuIHR9KHQpKX1mdW5jdGlvbiBIKHQsZSxyLG4pe2Zvcih2YXIgaT0wO2k8biYmIShpK3I+PWUubGVuZ3RofHxpPj10Lmxlbmd0aCk7KytpKWVbaStyXT10W2ldO3JldHVybiBpfX0pLmNhbGwodGhpcyxyKDYpKX0sZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmNyZWF0ZT90LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtlJiYodC5zdXBlcl89ZSx0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSl9OnQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGUpe3Quc3VwZXJfPWU7dmFyIHI9ZnVuY3Rpb24oKXt9O3IucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyByLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXR9fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIDI1Nn0pKSxyLmQoZSwiZyIsKGZ1bmN0aW9uKCl7cmV0dXJuIDI1Nn0pKSxyLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIkFFUy1DQkMifSkpLHIuZChlLCJmIiwoZnVuY3Rpb24oKXtyZXR1cm4iU0hBLTI1NiJ9KSksci5kKGUsImUiLChmdW5jdGlvbigpe3JldHVybiJITUFDIn0pKSxyLmQoZSwiaSIsKGZ1bmN0aW9uKCl7cmV0dXJuIlNIQS0yNTYifSkpLHIuZChlLCJqIiwoZnVuY3Rpb24oKXtyZXR1cm4iU0hBLTUxMiJ9KSksci5kKGUsImgiLChmdW5jdGlvbigpe3JldHVybiA1MTJ9KSksci5kKGUsImQiLChmdW5jdGlvbigpe3JldHVybiJlbmNyeXB0In0pKSxyLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuImRlY3J5cHQifSkpLHIuZChlLCJrIiwoZnVuY3Rpb24oKXtyZXR1cm4ic2lnbiJ9KSksci5kKGUsImwiLChmdW5jdGlvbigpe3JldHVybiJ2ZXJpZnkifSkpfSxmdW5jdGlvbih0LGUpe3ZhciByLG4saT10LmV4cG9ydHM9e307ZnVuY3Rpb24gbygpe3Rocm93IG5ldyBFcnJvcigic2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uIHMoKXt0aHJvdyBuZXcgRXJyb3IoImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uIGEodCl7aWYocj09PXNldFRpbWVvdXQpcmV0dXJuIHNldFRpbWVvdXQodCwwKTtpZigocj09PW98fCFyKSYmc2V0VGltZW91dClyZXR1cm4gcj1zZXRUaW1lb3V0LHNldFRpbWVvdXQodCwwKTt0cnl7cmV0dXJuIHIodCwwKX1jYXRjaChlKXt0cnl7cmV0dXJuIHIuY2FsbChudWxsLHQsMCl9Y2F0Y2goZSl7cmV0dXJuIHIuY2FsbCh0aGlzLHQsMCl9fX0hZnVuY3Rpb24oKXt0cnl7cj0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om99Y2F0Y2godCl7cj1vfXRyeXtuPSJmdW5jdGlvbiI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OnN9Y2F0Y2godCl7bj1zfX0oKTt2YXIgdSxjPVtdLGY9ITEsaD0tMTtmdW5jdGlvbiBsKCl7ZiYmdSYmKGY9ITEsdS5sZW5ndGg/Yz11LmNvbmNhdChjKTpoPS0xLGMubGVuZ3RoJiZkKCkpfWZ1bmN0aW9uIGQoKXtpZighZil7dmFyIHQ9YShsKTtmPSEwO2Zvcih2YXIgZT1jLmxlbmd0aDtlOyl7Zm9yKHU9YyxjPVtdOysraDxlOyl1JiZ1W2hdLnJ1bigpO2g9LTEsZT1jLmxlbmd0aH11PW51bGwsZj0hMSxmdW5jdGlvbih0KXtpZihuPT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQodCk7aWYoKG49PT1zfHwhbikmJmNsZWFyVGltZW91dClyZXR1cm4gbj1jbGVhclRpbWVvdXQsY2xlYXJUaW1lb3V0KHQpO3RyeXtuKHQpfWNhdGNoKGUpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsdCl9Y2F0Y2goZSl7cmV0dXJuIG4uY2FsbCh0aGlzLHQpfX19KHQpfX1mdW5jdGlvbiBwKHQsZSl7dGhpcy5mdW49dCx0aGlzLmFycmF5PWV9ZnVuY3Rpb24gbSgpe31pLm5leHRUaWNrPWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSlmb3IodmFyIHI9MTtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKWVbci0xXT1hcmd1bWVudHNbcl07Yy5wdXNoKG5ldyBwKHQsZSkpLDEhPT1jLmxlbmd0aHx8Znx8YShkKX0scC5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKCl7dGhpcy5mdW4uYXBwbHkobnVsbCx0aGlzLmFycmF5KX0saS50aXRsZT0iYnJvd3NlciIsaS5icm93c2VyPSEwLGkuZW52PXt9LGkuYXJndj1bXSxpLnZlcnNpb249IiIsaS52ZXJzaW9ucz17fSxpLm9uPW0saS5hZGRMaXN0ZW5lcj1tLGkub25jZT1tLGkub2ZmPW0saS5yZW1vdmVMaXN0ZW5lcj1tLGkucmVtb3ZlQWxsTGlzdGVuZXJzPW0saS5lbWl0PW0saS5wcmVwZW5kTGlzdGVuZXI9bSxpLnByZXBlbmRPbmNlTGlzdGVuZXI9bSxpLmxpc3RlbmVycz1mdW5jdGlvbih0KXtyZXR1cm5bXX0saS5iaW5kaW5nPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcigicHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQiKX0saS5jd2Q9ZnVuY3Rpb24oKXtyZXR1cm4iLyJ9LGkuY2hkaXI9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQiKX0saS51bWFzaz1mdW5jdGlvbigpe3JldHVybiAwfX0sZnVuY3Rpb24odCxlKXt2YXIgcjtyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCk7dHJ5e3I9cnx8bmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9Y2F0Y2godCl7Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJihyPXdpbmRvdyl9dC5leHBvcnRzPXJ9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUsImIiLChmdW5jdGlvbigpe3JldHVybiBufSkpLHIuZChlLCJkIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKSxyLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksci5kKGUsImUiLChmdW5jdGlvbigpe3JldHVybiBzfSkpLHIuZChlLCJmIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxyLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHV9KSk7Y29uc3Qgbj0iSU5URVJOQUxfRVJST1IiLGk9IlNFUlZFUl9FUlJPUiIsbz1bLTMyNzAwLC0zMjYwMCwtMzI2MDEsLTMyNjAyLC0zMjYwM10scz1bLTMyZTMsLTMyMDk5XSxhPXtQQVJTRV9FUlJPUjp7Y29kZTotMzI3MDAsbWVzc2FnZToiUGFyc2UgZXJyb3IifSxJTlZBTElEX1JFUVVFU1Q6e2NvZGU6LTMyNjAwLG1lc3NhZ2U6IkludmFsaWQgUmVxdWVzdCJ9LE1FVEhPRF9OT1RfRk9VTkQ6e2NvZGU6LTMyNjAxLG1lc3NhZ2U6Ik1ldGhvZCBub3QgZm91bmQifSxJTlZBTElEX1BBUkFNUzp7Y29kZTotMzI2MDIsbWVzc2FnZToiSW52YWxpZCBwYXJhbXMifSxbbl06e2NvZGU6LTMyNjAzLG1lc3NhZ2U6IkludGVybmFsIGVycm9yIn0sW2ldOntjb2RlOi0zMmUzLG1lc3NhZ2U6IlNlcnZlciBlcnJvciJ9fSx1PWl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dGhpcyYmdGhpcy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKHQsZSxyLG4pe3ZvaWQgMD09PW4mJihuPXIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LG4se2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGVbcl19fSl9OmZ1bmN0aW9uKHQsZSxyLG4pe3ZvaWQgMD09PW4mJihuPXIpLHRbbl09ZVtyXX0pLGk9dGhpcyYmdGhpcy5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIHQpImRlZmF1bHQiPT09cnx8ZS5oYXNPd25Qcm9wZXJ0eShyKXx8bihlLHQscil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxpKHIoMTcyKSxlKSxpKHIoMTczKSxlKX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXshZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LGUpe2lmKCF0KXRocm93IG5ldyBFcnJvcihlfHwiQXNzZXJ0aW9uIGZhaWxlZCIpfWZ1bmN0aW9uIGkodCxlKXt0LnN1cGVyXz1lO3ZhciByPWZ1bmN0aW9uKCl7fTtyLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgcix0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10fWZ1bmN0aW9uIG8odCxlLHIpe2lmKG8uaXNCTih0KSlyZXR1cm4gdDt0aGlzLm5lZ2F0aXZlPTAsdGhpcy53b3Jkcz1udWxsLHRoaXMubGVuZ3RoPTAsdGhpcy5yZWQ9bnVsbCxudWxsIT09dCYmKCJsZSIhPT1lJiYiYmUiIT09ZXx8KHI9ZSxlPTEwKSx0aGlzLl9pbml0KHR8fDAsZXx8MTAscnx8ImJlIikpfXZhciBzOyJvYmplY3QiPT10eXBlb2YgdD90LmV4cG9ydHM9bzplLkJOPW8sby5CTj1vLG8ud29yZFNpemU9MjY7dHJ5e3M9cigxNjgpLkJ1ZmZlcn1jYXRjaCh0KXt9ZnVuY3Rpb24gYSh0LGUscil7Zm9yKHZhciBuPTAsaT1NYXRoLm1pbih0Lmxlbmd0aCxyKSxvPWU7bzxpO28rKyl7dmFyIHM9dC5jaGFyQ29kZUF0KG8pLTQ4O248PD00LG58PXM+PTQ5JiZzPD01ND9zLTQ5KzEwOnM+PTE3JiZzPD0yMj9zLTE3KzEwOjE1JnN9cmV0dXJuIG59ZnVuY3Rpb24gdSh0LGUscixuKXtmb3IodmFyIGk9MCxvPU1hdGgubWluKHQubGVuZ3RoLHIpLHM9ZTtzPG87cysrKXt2YXIgYT10LmNoYXJDb2RlQXQocyktNDg7aSo9bixpKz1hPj00OT9hLTQ5KzEwOmE+PTE3P2EtMTcrMTA6YX1yZXR1cm4gaX1vLmlzQk49ZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBvfHxudWxsIT09dCYmIm9iamVjdCI9PXR5cGVvZiB0JiZ0LmNvbnN0cnVjdG9yLndvcmRTaXplPT09by53b3JkU2l6ZSYmQXJyYXkuaXNBcnJheSh0LndvcmRzKX0sby5tYXg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5jbXAoZSk+MD90OmV9LG8ubWluPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuY21wKGUpPDA/dDplfSxvLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbih0LGUscil7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiB0aGlzLl9pbml0TnVtYmVyKHQsZSxyKTtpZigib2JqZWN0Ij09dHlwZW9mIHQpcmV0dXJuIHRoaXMuX2luaXRBcnJheSh0LGUscik7ImhleCI9PT1lJiYoZT0xNiksbihlPT09KDB8ZSkmJmU+PTImJmU8PTM2KTt2YXIgaT0wOyItIj09PSh0PXQudG9TdHJpbmcoKS5yZXBsYWNlKC9ccysvZywiIikpWzBdJiZpKyssMTY9PT1lP3RoaXMuX3BhcnNlSGV4KHQsaSk6dGhpcy5fcGFyc2VCYXNlKHQsZSxpKSwiLSI9PT10WzBdJiYodGhpcy5uZWdhdGl2ZT0xKSx0aGlzLnN0cmlwKCksImxlIj09PXImJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSxlLHIpfSxvLnByb3RvdHlwZS5faW5pdE51bWJlcj1mdW5jdGlvbih0LGUscil7dDwwJiYodGhpcy5uZWdhdGl2ZT0xLHQ9LXQpLHQ8NjcxMDg4NjQ/KHRoaXMud29yZHM9WzY3MTA4ODYzJnRdLHRoaXMubGVuZ3RoPTEpOnQ8NDUwMzU5OTYyNzM3MDQ5Nj8odGhpcy53b3Jkcz1bNjcxMDg4NjMmdCx0LzY3MTA4ODY0JjY3MTA4ODYzXSx0aGlzLmxlbmd0aD0yKToobih0PDkwMDcxOTkyNTQ3NDA5OTIpLHRoaXMud29yZHM9WzY3MTA4ODYzJnQsdC82NzEwODg2NCY2NzEwODg2MywxXSx0aGlzLmxlbmd0aD0zKSwibGUiPT09ciYmdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLGUscil9LG8ucHJvdG90eXBlLl9pbml0QXJyYXk9ZnVuY3Rpb24odCxlLHIpe2lmKG4oIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aCksdC5sZW5ndGg8PTApcmV0dXJuIHRoaXMud29yZHM9WzBdLHRoaXMubGVuZ3RoPTEsdGhpczt0aGlzLmxlbmd0aD1NYXRoLmNlaWwodC5sZW5ndGgvMyksdGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgaT0wO2k8dGhpcy5sZW5ndGg7aSsrKXRoaXMud29yZHNbaV09MDt2YXIgbyxzLGE9MDtpZigiYmUiPT09cilmb3IoaT10Lmxlbmd0aC0xLG89MDtpPj0wO2ktPTMpcz10W2ldfHRbaS0xXTw8OHx0W2ktMl08PDE2LHRoaXMud29yZHNbb118PXM8PGEmNjcxMDg4NjMsdGhpcy53b3Jkc1tvKzFdPXM+Pj4yNi1hJjY3MTA4ODYzLChhKz0yNCk+PTI2JiYoYS09MjYsbysrKTtlbHNlIGlmKCJsZSI9PT1yKWZvcihpPTAsbz0wO2k8dC5sZW5ndGg7aSs9MylzPXRbaV18dFtpKzFdPDw4fHRbaSsyXTw8MTYsdGhpcy53b3Jkc1tvXXw9czw8YSY2NzEwODg2Myx0aGlzLndvcmRzW28rMV09cz4+PjI2LWEmNjcxMDg4NjMsKGErPTI0KT49MjYmJihhLT0yNixvKyspO3JldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLl9wYXJzZUhleD1mdW5jdGlvbih0LGUpe3RoaXMubGVuZ3RoPU1hdGguY2VpbCgodC5sZW5ndGgtZSkvNiksdGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgcj0wO3I8dGhpcy5sZW5ndGg7cisrKXRoaXMud29yZHNbcl09MDt2YXIgbixpLG89MDtmb3Iocj10Lmxlbmd0aC02LG49MDtyPj1lO3ItPTYpaT1hKHQscixyKzYpLHRoaXMud29yZHNbbl18PWk8PG8mNjcxMDg4NjMsdGhpcy53b3Jkc1tuKzFdfD1pPj4+MjYtbyY0MTk0MzAzLChvKz0yNCk+PTI2JiYoby09MjYsbisrKTtyKzYhPT1lJiYoaT1hKHQsZSxyKzYpLHRoaXMud29yZHNbbl18PWk8PG8mNjcxMDg4NjMsdGhpcy53b3Jkc1tuKzFdfD1pPj4+MjYtbyY0MTk0MzAzKSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLl9wYXJzZUJhc2U9ZnVuY3Rpb24odCxlLHIpe3RoaXMud29yZHM9WzBdLHRoaXMubGVuZ3RoPTE7Zm9yKHZhciBuPTAsaT0xO2k8PTY3MTA4ODYzO2kqPWUpbisrO24tLSxpPWkvZXwwO2Zvcih2YXIgbz10Lmxlbmd0aC1yLHM9byVuLGE9TWF0aC5taW4obyxvLXMpK3IsYz0wLGY9cjtmPGE7Zis9biljPXUodCxmLGYrbixlKSx0aGlzLmltdWxuKGkpLHRoaXMud29yZHNbMF0rYzw2NzEwODg2ND90aGlzLndvcmRzWzBdKz1jOnRoaXMuX2lhZGRuKGMpO2lmKDAhPT1zKXt2YXIgaD0xO2ZvcihjPXUodCxmLHQubGVuZ3RoLGUpLGY9MDtmPHM7ZisrKWgqPWU7dGhpcy5pbXVsbihoKSx0aGlzLndvcmRzWzBdK2M8NjcxMDg4NjQ/dGhpcy53b3Jkc1swXSs9Yzp0aGlzLl9pYWRkbihjKX19LG8ucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24odCl7dC53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgZT0wO2U8dGhpcy5sZW5ndGg7ZSsrKXQud29yZHNbZV09dGhpcy53b3Jkc1tlXTt0Lmxlbmd0aD10aGlzLmxlbmd0aCx0Lm5lZ2F0aXZlPXRoaXMubmVnYXRpdmUsdC5yZWQ9dGhpcy5yZWR9LG8ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IG8obnVsbCk7cmV0dXJuIHRoaXMuY29weSh0KSx0fSxvLnByb3RvdHlwZS5fZXhwYW5kPWZ1bmN0aW9uKHQpe2Zvcig7dGhpcy5sZW5ndGg8dDspdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wO3JldHVybiB0aGlzfSxvLnByb3RvdHlwZS5zdHJpcD1mdW5jdGlvbigpe2Zvcig7dGhpcy5sZW5ndGg+MSYmMD09PXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV07KXRoaXMubGVuZ3RoLS07cmV0dXJuIHRoaXMuX25vcm1TaWduKCl9LG8ucHJvdG90eXBlLl9ub3JtU2lnbj1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdJiYodGhpcy5uZWdhdGl2ZT0wKSx0aGlzfSxvLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVkPyI8Qk4tUjogIjoiPEJOOiAiKSt0aGlzLnRvU3RyaW5nKDE2KSsiPiJ9O3ZhciBjPVsiIiwiMCIsIjAwIiwiMDAwIiwiMDAwMCIsIjAwMDAwIiwiMDAwMDAwIiwiMDAwMDAwMCIsIjAwMDAwMDAwIiwiMDAwMDAwMDAwIiwiMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCJdLGY9WzAsMCwyNSwxNiwxMiwxMSwxMCw5LDgsOCw3LDcsNyw3LDYsNiw2LDYsNiw2LDYsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNV0saD1bMCwwLDMzNTU0NDMyLDQzMDQ2NzIxLDE2Nzc3MjE2LDQ4ODI4MTI1LDYwNDY2MTc2LDQwMzUzNjA3LDE2Nzc3MjE2LDQzMDQ2NzIxLDFlNywxOTQ4NzE3MSwzNTgzMTgwOCw2Mjc0ODUxNyw3NTI5NTM2LDExMzkwNjI1LDE2Nzc3MjE2LDI0MTM3NTY5LDM0MDEyMjI0LDQ3MDQ1ODgxLDY0ZTYsNDA4NDEwMSw1MTUzNjMyLDY0MzYzNDMsNzk2MjYyNCw5NzY1NjI1LDExODgxMzc2LDE0MzQ4OTA3LDE3MjEwMzY4LDIwNTExMTQ5LDI0M2U1LDI4NjI5MTUxLDMzNTU0NDMyLDM5MTM1MzkzLDQ1NDM1NDI0LDUyNTIxODc1LDYwNDY2MTc2XTtmdW5jdGlvbiBsKHQsZSxyKXtyLm5lZ2F0aXZlPWUubmVnYXRpdmVedC5uZWdhdGl2ZTt2YXIgbj10Lmxlbmd0aCtlLmxlbmd0aHwwO3IubGVuZ3RoPW4sbj1uLTF8MDt2YXIgaT0wfHQud29yZHNbMF0sbz0wfGUud29yZHNbMF0scz1pKm8sYT02NzEwODg2MyZzLHU9cy82NzEwODg2NHwwO3Iud29yZHNbMF09YTtmb3IodmFyIGM9MTtjPG47YysrKXtmb3IodmFyIGY9dT4+PjI2LGg9NjcxMDg4NjMmdSxsPU1hdGgubWluKGMsZS5sZW5ndGgtMSksZD1NYXRoLm1heCgwLGMtdC5sZW5ndGgrMSk7ZDw9bDtkKyspe3ZhciBwPWMtZHwwO2YrPShzPShpPTB8dC53b3Jkc1twXSkqKG89MHxlLndvcmRzW2RdKStoKS82NzEwODg2NHwwLGg9NjcxMDg4NjMmc31yLndvcmRzW2NdPTB8aCx1PTB8Zn1yZXR1cm4gMCE9PXU/ci53b3Jkc1tjXT0wfHU6ci5sZW5ndGgtLSxyLnN0cmlwKCl9by5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCxlKXt2YXIgcjtpZihlPTB8ZXx8MSwxNj09PSh0PXR8fDEwKXx8ImhleCI9PT10KXtyPSIiO2Zvcih2YXIgaT0wLG89MCxzPTA7czx0aGlzLmxlbmd0aDtzKyspe3ZhciBhPXRoaXMud29yZHNbc10sdT0oMTY3NzcyMTUmKGE8PGl8bykpLnRvU3RyaW5nKDE2KTtyPTAhPT0obz1hPj4+MjQtaSYxNjc3NzIxNSl8fHMhPT10aGlzLmxlbmd0aC0xP2NbNi11Lmxlbmd0aF0rdStyOnUrciwoaSs9Mik+PTI2JiYoaS09MjYscy0tKX1mb3IoMCE9PW8mJihyPW8udG9TdHJpbmcoMTYpK3IpO3IubGVuZ3RoJWUhPTA7KXI9IjAiK3I7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYocj0iLSIrcikscn1pZih0PT09KDB8dCkmJnQ+PTImJnQ8PTM2KXt2YXIgbD1mW3RdLGQ9aFt0XTtyPSIiO3ZhciBwPXRoaXMuY2xvbmUoKTtmb3IocC5uZWdhdGl2ZT0wOyFwLmlzWmVybygpOyl7dmFyIG09cC5tb2RuKGQpLnRvU3RyaW5nKHQpO3I9KHA9cC5pZGl2bihkKSkuaXNaZXJvKCk/bStyOmNbbC1tLmxlbmd0aF0rbStyfWZvcih0aGlzLmlzWmVybygpJiYocj0iMCIrcik7ci5sZW5ndGglZSE9MDspcj0iMCIrcjtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmUmJihyPSItIityKSxyfW4oITEsIkJhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYiKX0sby5wcm90b3R5cGUudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLndvcmRzWzBdO3JldHVybiAyPT09dGhpcy5sZW5ndGg/dCs9NjcxMDg4NjQqdGhpcy53b3Jkc1sxXTozPT09dGhpcy5sZW5ndGgmJjE9PT10aGlzLndvcmRzWzJdP3QrPTQ1MDM1OTk2MjczNzA0OTYrNjcxMDg4NjQqdGhpcy53b3Jkc1sxXTp0aGlzLmxlbmd0aD4yJiZuKCExLCJOdW1iZXIgY2FuIG9ubHkgc2FmZWx5IHN0b3JlIHVwIHRvIDUzIGJpdHMiKSwwIT09dGhpcy5uZWdhdGl2ZT8tdDp0fSxvLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b1N0cmluZygxNil9LG8ucHJvdG90eXBlLnRvQnVmZmVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odm9pZCAwIT09cyksdGhpcy50b0FycmF5TGlrZShzLHQsZSl9LG8ucHJvdG90eXBlLnRvQXJyYXk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy50b0FycmF5TGlrZShBcnJheSx0LGUpfSxvLnByb3RvdHlwZS50b0FycmF5TGlrZT1mdW5jdGlvbih0LGUscil7dmFyIGk9dGhpcy5ieXRlTGVuZ3RoKCksbz1yfHxNYXRoLm1heCgxLGkpO24oaTw9bywiYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aCIpLG4obz4wLCJSZXF1ZXN0ZWQgYXJyYXkgbGVuZ3RoIDw9IDAiKSx0aGlzLnN0cmlwKCk7dmFyIHMsYSx1PSJsZSI9PT1lLGM9bmV3IHQobyksZj10aGlzLmNsb25lKCk7aWYodSl7Zm9yKGE9MDshZi5pc1plcm8oKTthKyspcz1mLmFuZGxuKDI1NSksZi5pdXNocm4oOCksY1thXT1zO2Zvcig7YTxvO2ErKyljW2FdPTB9ZWxzZXtmb3IoYT0wO2E8by1pO2ErKyljW2FdPTA7Zm9yKGE9MDshZi5pc1plcm8oKTthKyspcz1mLmFuZGxuKDI1NSksZi5pdXNocm4oOCksY1tvLWEtMV09c31yZXR1cm4gY30sTWF0aC5jbHozMj9vLnByb3RvdHlwZS5fY291bnRCaXRzPWZ1bmN0aW9uKHQpe3JldHVybiAzMi1NYXRoLmNsejMyKHQpfTpvLnByb3RvdHlwZS5fY291bnRCaXRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQscj0wO3JldHVybiBlPj00MDk2JiYocis9MTMsZT4+Pj0xMyksZT49NjQmJihyKz03LGU+Pj49NyksZT49OCYmKHIrPTQsZT4+Pj00KSxlPj0yJiYocis9MixlPj4+PTIpLHIrZX0sby5wcm90b3R5cGUuX3plcm9CaXRzPWZ1bmN0aW9uKHQpe2lmKDA9PT10KXJldHVybiAyNjt2YXIgZT10LHI9MDtyZXR1cm4gMD09KDgxOTEmZSkmJihyKz0xMyxlPj4+PTEzKSwwPT0oMTI3JmUpJiYocis9NyxlPj4+PTcpLDA9PSgxNSZlKSYmKHIrPTQsZT4+Pj00KSwwPT0oMyZlKSYmKHIrPTIsZT4+Pj0yKSwwPT0oMSZlKSYmcisrLHJ9LG8ucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0sZT10aGlzLl9jb3VudEJpdHModCk7cmV0dXJuIDI2Kih0aGlzLmxlbmd0aC0xKStlfSxvLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbigpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7Zm9yKHZhciB0PTAsZT0wO2U8dGhpcy5sZW5ndGg7ZSsrKXt2YXIgcj10aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2VdKTtpZih0Kz1yLDI2IT09cilicmVha31yZXR1cm4gdH0sby5wcm90b3R5cGUuYnl0ZUxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKS84KX0sby5wcm90b3R5cGUudG9Ud29zPWZ1bmN0aW9uKHQpe3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT90aGlzLmFicygpLmlub3RuKHQpLmlhZGRuKDEpOnRoaXMuY2xvbmUoKX0sby5wcm90b3R5cGUuZnJvbVR3b3M9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGVzdG4odC0xKT90aGlzLm5vdG4odCkuaWFkZG4oMSkuaW5lZygpOnRoaXMuY2xvbmUoKX0sby5wcm90b3R5cGUuaXNOZWc9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmV9LG8ucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaW5lZygpfSxvLnByb3RvdHlwZS5pbmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNaZXJvKCl8fCh0aGlzLm5lZ2F0aXZlXj0xKSx0aGlzfSxvLnByb3RvdHlwZS5pdW9yPWZ1bmN0aW9uKHQpe2Zvcig7dGhpcy5sZW5ndGg8dC5sZW5ndGg7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl0aGlzLndvcmRzW2VdPXRoaXMud29yZHNbZV18dC53b3Jkc1tlXTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pb3I9ZnVuY3Rpb24odCl7cmV0dXJuIG4oMD09KHRoaXMubmVnYXRpdmV8dC5uZWdhdGl2ZSkpLHRoaXMuaXVvcih0KX0sby5wcm90b3R5cGUub3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pb3IodCk6dC5jbG9uZSgpLmlvcih0aGlzKX0sby5wcm90b3R5cGUudW9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaXVvcih0KTp0LmNsb25lKCkuaXVvcih0aGlzKX0sby5wcm90b3R5cGUuaXVhbmQ9ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLmxlbmd0aD50Lmxlbmd0aD90OnRoaXM7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspdGhpcy53b3Jkc1tyXT10aGlzLndvcmRzW3JdJnQud29yZHNbcl07cmV0dXJuIHRoaXMubGVuZ3RoPWUubGVuZ3RoLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuaWFuZD1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT0odGhpcy5uZWdhdGl2ZXx0Lm5lZ2F0aXZlKSksdGhpcy5pdWFuZCh0KX0sby5wcm90b3R5cGUuYW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaWFuZCh0KTp0LmNsb25lKCkuaWFuZCh0aGlzKX0sby5wcm90b3R5cGUudWFuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1YW5kKHQpOnQuY2xvbmUoKS5pdWFuZCh0aGlzKX0sby5wcm90b3R5cGUuaXV4b3I9ZnVuY3Rpb24odCl7dmFyIGUscjt0aGlzLmxlbmd0aD50Lmxlbmd0aD8oZT10aGlzLHI9dCk6KGU9dCxyPXRoaXMpO2Zvcih2YXIgbj0wO248ci5sZW5ndGg7bisrKXRoaXMud29yZHNbbl09ZS53b3Jkc1tuXV5yLndvcmRzW25dO2lmKHRoaXMhPT1lKWZvcig7bjxlLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT1lLndvcmRzW25dO3JldHVybiB0aGlzLmxlbmd0aD1lLmxlbmd0aCx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLml4b3I9ZnVuY3Rpb24odCl7cmV0dXJuIG4oMD09KHRoaXMubmVnYXRpdmV8dC5uZWdhdGl2ZSkpLHRoaXMuaXV4b3IodCl9LG8ucHJvdG90eXBlLnhvcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml4b3IodCk6dC5jbG9uZSgpLml4b3IodGhpcyl9LG8ucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdXhvcih0KTp0LmNsb25lKCkuaXV4b3IodGhpcyl9LG8ucHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZT0wfE1hdGguY2VpbCh0LzI2KSxyPXQlMjY7dGhpcy5fZXhwYW5kKGUpLHI+MCYmZS0tO2Zvcih2YXIgaT0wO2k8ZTtpKyspdGhpcy53b3Jkc1tpXT02NzEwODg2MyZ+dGhpcy53b3Jkc1tpXTtyZXR1cm4gcj4wJiYodGhpcy53b3Jkc1tpXT1+dGhpcy53b3Jkc1tpXSY2NzEwODg2Mz4+MjYtciksdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5ub3RuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW5vdG4odCl9LG8ucHJvdG90eXBlLnNldG49ZnVuY3Rpb24odCxlKXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIHI9dC8yNnwwLGk9dCUyNjtyZXR1cm4gdGhpcy5fZXhwYW5kKHIrMSksdGhpcy53b3Jkc1tyXT1lP3RoaXMud29yZHNbcl18MTw8aTp0aGlzLndvcmRzW3JdJn4oMTw8aSksdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pYWRkPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbjtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCxlPXRoaXMuaXN1Yih0KSx0aGlzLm5lZ2F0aXZlXj0xLHRoaXMuX25vcm1TaWduKCk7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlKXJldHVybiB0Lm5lZ2F0aXZlPTAsZT10aGlzLmlzdWIodCksdC5uZWdhdGl2ZT0xLGUuX25vcm1TaWduKCk7dGhpcy5sZW5ndGg+dC5sZW5ndGg/KHI9dGhpcyxuPXQpOihyPXQsbj10aGlzKTtmb3IodmFyIGk9MCxvPTA7bzxuLmxlbmd0aDtvKyspZT0oMHxyLndvcmRzW29dKSsoMHxuLndvcmRzW29dKStpLHRoaXMud29yZHNbb109NjcxMDg4NjMmZSxpPWU+Pj4yNjtmb3IoOzAhPT1pJiZvPHIubGVuZ3RoO28rKyllPSgwfHIud29yZHNbb10pK2ksdGhpcy53b3Jkc1tvXT02NzEwODg2MyZlLGk9ZT4+PjI2O2lmKHRoaXMubGVuZ3RoPXIubGVuZ3RoLDAhPT1pKXRoaXMud29yZHNbdGhpcy5sZW5ndGhdPWksdGhpcy5sZW5ndGgrKztlbHNlIGlmKHIhPT10aGlzKWZvcig7bzxyLmxlbmd0aDtvKyspdGhpcy53b3Jkc1tvXT1yLndvcmRzW29dO3JldHVybiB0aGlzfSxvLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIDAhPT10Lm5lZ2F0aXZlJiYwPT09dGhpcy5uZWdhdGl2ZT8odC5uZWdhdGl2ZT0wLGU9dGhpcy5zdWIodCksdC5uZWdhdGl2ZV49MSxlKTowPT09dC5uZWdhdGl2ZSYmMCE9PXRoaXMubmVnYXRpdmU/KHRoaXMubmVnYXRpdmU9MCxlPXQuc3ViKHRoaXMpLHRoaXMubmVnYXRpdmU9MSxlKTp0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaWFkZCh0KTp0LmNsb25lKCkuaWFkZCh0aGlzKX0sby5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbih0KXtpZigwIT09dC5uZWdhdGl2ZSl7dC5uZWdhdGl2ZT0wO3ZhciBlPXRoaXMuaWFkZCh0KTtyZXR1cm4gdC5uZWdhdGl2ZT0xLGUuX25vcm1TaWduKCl9aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGQodCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMuX25vcm1TaWduKCk7dmFyIHIsbixpPXRoaXMuY21wKHQpO2lmKDA9PT1pKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5sZW5ndGg9MSx0aGlzLndvcmRzWzBdPTAsdGhpcztpPjA/KHI9dGhpcyxuPXQpOihyPXQsbj10aGlzKTtmb3IodmFyIG89MCxzPTA7czxuLmxlbmd0aDtzKyspbz0oZT0oMHxyLndvcmRzW3NdKS0oMHxuLndvcmRzW3NdKStvKT4+MjYsdGhpcy53b3Jkc1tzXT02NzEwODg2MyZlO2Zvcig7MCE9PW8mJnM8ci5sZW5ndGg7cysrKW89KGU9KDB8ci53b3Jkc1tzXSkrbyk+PjI2LHRoaXMud29yZHNbc109NjcxMDg4NjMmZTtpZigwPT09byYmczxyLmxlbmd0aCYmciE9PXRoaXMpZm9yKDtzPHIubGVuZ3RoO3MrKyl0aGlzLndvcmRzW3NdPXIud29yZHNbc107cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLHMpLHIhPT10aGlzJiYodGhpcy5uZWdhdGl2ZT0xKSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLnN1Yj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIodCl9O3ZhciBkPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixpLG8scz10LndvcmRzLGE9ZS53b3Jkcyx1PXIud29yZHMsYz0wLGY9MHxzWzBdLGg9ODE5MSZmLGw9Zj4+PjEzLGQ9MHxzWzFdLHA9ODE5MSZkLG09ZD4+PjEzLGc9MHxzWzJdLGI9ODE5MSZnLHk9Zz4+PjEzLHY9MHxzWzNdLF89ODE5MSZ2LHc9dj4+PjEzLE09MHxzWzRdLFM9ODE5MSZNLEU9TT4+PjEzLHg9MHxzWzVdLGs9ODE5MSZ4LEE9eD4+PjEzLFI9MHxzWzZdLFQ9ODE5MSZSLE89Uj4+PjEzLEM9MHxzWzddLFA9ODE5MSZDLEk9Qz4+PjEzLEI9MHxzWzhdLEw9ODE5MSZCLGo9Qj4+PjEzLE49MHxzWzldLHE9ODE5MSZOLFU9Tj4+PjEzLEQ9MHxhWzBdLHo9ODE5MSZELEg9RD4+PjEzLEY9MHxhWzFdLFc9ODE5MSZGLEs9Rj4+PjEzLFY9MHxhWzJdLEo9ODE5MSZWLFk9Vj4+PjEzLEc9MHxhWzNdLFo9ODE5MSZHLCQ9Rz4+PjEzLFg9MHxhWzRdLFE9ODE5MSZYLHR0PVg+Pj4xMyxldD0wfGFbNV0scnQ9ODE5MSZldCxudD1ldD4+PjEzLGl0PTB8YVs2XSxvdD04MTkxJml0LHN0PWl0Pj4+MTMsYXQ9MHxhWzddLHV0PTgxOTEmYXQsY3Q9YXQ+Pj4xMyxmdD0wfGFbOF0saHQ9ODE5MSZmdCxsdD1mdD4+PjEzLGR0PTB8YVs5XSxwdD04MTkxJmR0LG10PWR0Pj4+MTM7ci5uZWdhdGl2ZT10Lm5lZ2F0aXZlXmUubmVnYXRpdmUsci5sZW5ndGg9MTk7dmFyIGd0PShjKyhuPU1hdGguaW11bChoLHopKXwwKSsoKDgxOTEmKGk9KGk9TWF0aC5pbXVsKGgsSCkpK01hdGguaW11bChsLHopfDApKTw8MTMpfDA7Yz0oKG89TWF0aC5pbXVsKGwsSCkpKyhpPj4+MTMpfDApKyhndD4+PjI2KXwwLGd0Jj02NzEwODg2MyxuPU1hdGguaW11bChwLHopLGk9KGk9TWF0aC5pbXVsKHAsSCkpK01hdGguaW11bChtLHopfDAsbz1NYXRoLmltdWwobSxIKTt2YXIgYnQ9KGMrKG49bitNYXRoLmltdWwoaCxXKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxLKXwwKStNYXRoLmltdWwobCxXKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsSyl8MCkrKGk+Pj4xMyl8MCkrKGJ0Pj4+MjYpfDAsYnQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKGIseiksaT0oaT1NYXRoLmltdWwoYixIKSkrTWF0aC5pbXVsKHkseil8MCxvPU1hdGguaW11bCh5LEgpLG49bitNYXRoLmltdWwocCxXKXwwLGk9KGk9aStNYXRoLmltdWwocCxLKXwwKStNYXRoLmltdWwobSxXKXwwLG89bytNYXRoLmltdWwobSxLKXwwO3ZhciB5dD0oYysobj1uK01hdGguaW11bChoLEopfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLFkpfDApK01hdGguaW11bChsLEopfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxZKXwwKSsoaT4+PjEzKXwwKSsoeXQ+Pj4yNil8MCx5dCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoXyx6KSxpPShpPU1hdGguaW11bChfLEgpKStNYXRoLmltdWwodyx6KXwwLG89TWF0aC5pbXVsKHcsSCksbj1uK01hdGguaW11bChiLFcpfDAsaT0oaT1pK01hdGguaW11bChiLEspfDApK01hdGguaW11bCh5LFcpfDAsbz1vK01hdGguaW11bCh5LEspfDAsbj1uK01hdGguaW11bChwLEopfDAsaT0oaT1pK01hdGguaW11bChwLFkpfDApK01hdGguaW11bChtLEopfDAsbz1vK01hdGguaW11bChtLFkpfDA7dmFyIHZ0PShjKyhuPW4rTWF0aC5pbXVsKGgsWil8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsJCl8MCkrTWF0aC5pbXVsKGwsWil8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLCQpfDApKyhpPj4+MTMpfDApKyh2dD4+PjI2KXwwLHZ0Jj02NzEwODg2MyxuPU1hdGguaW11bChTLHopLGk9KGk9TWF0aC5pbXVsKFMsSCkpK01hdGguaW11bChFLHopfDAsbz1NYXRoLmltdWwoRSxIKSxuPW4rTWF0aC5pbXVsKF8sVyl8MCxpPShpPWkrTWF0aC5pbXVsKF8sSyl8MCkrTWF0aC5pbXVsKHcsVyl8MCxvPW8rTWF0aC5pbXVsKHcsSyl8MCxuPW4rTWF0aC5pbXVsKGIsSil8MCxpPShpPWkrTWF0aC5pbXVsKGIsWSl8MCkrTWF0aC5pbXVsKHksSil8MCxvPW8rTWF0aC5pbXVsKHksWSl8MCxuPW4rTWF0aC5pbXVsKHAsWil8MCxpPShpPWkrTWF0aC5pbXVsKHAsJCl8MCkrTWF0aC5pbXVsKG0sWil8MCxvPW8rTWF0aC5pbXVsKG0sJCl8MDt2YXIgX3Q9KGMrKG49bitNYXRoLmltdWwoaCxRKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCx0dCl8MCkrTWF0aC5pbXVsKGwsUSl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLHR0KXwwKSsoaT4+PjEzKXwwKSsoX3Q+Pj4yNil8MCxfdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoayx6KSxpPShpPU1hdGguaW11bChrLEgpKStNYXRoLmltdWwoQSx6KXwwLG89TWF0aC5pbXVsKEEsSCksbj1uK01hdGguaW11bChTLFcpfDAsaT0oaT1pK01hdGguaW11bChTLEspfDApK01hdGguaW11bChFLFcpfDAsbz1vK01hdGguaW11bChFLEspfDAsbj1uK01hdGguaW11bChfLEopfDAsaT0oaT1pK01hdGguaW11bChfLFkpfDApK01hdGguaW11bCh3LEopfDAsbz1vK01hdGguaW11bCh3LFkpfDAsbj1uK01hdGguaW11bChiLFopfDAsaT0oaT1pK01hdGguaW11bChiLCQpfDApK01hdGguaW11bCh5LFopfDAsbz1vK01hdGguaW11bCh5LCQpfDAsbj1uK01hdGguaW11bChwLFEpfDAsaT0oaT1pK01hdGguaW11bChwLHR0KXwwKStNYXRoLmltdWwobSxRKXwwLG89bytNYXRoLmltdWwobSx0dCl8MDt2YXIgd3Q9KGMrKG49bitNYXRoLmltdWwoaCxydCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsbnQpfDApK01hdGguaW11bChsLHJ0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsbnQpfDApKyhpPj4+MTMpfDApKyh3dD4+PjI2KXwwLHd0Jj02NzEwODg2MyxuPU1hdGguaW11bChULHopLGk9KGk9TWF0aC5pbXVsKFQsSCkpK01hdGguaW11bChPLHopfDAsbz1NYXRoLmltdWwoTyxIKSxuPW4rTWF0aC5pbXVsKGssVyl8MCxpPShpPWkrTWF0aC5pbXVsKGssSyl8MCkrTWF0aC5pbXVsKEEsVyl8MCxvPW8rTWF0aC5pbXVsKEEsSyl8MCxuPW4rTWF0aC5pbXVsKFMsSil8MCxpPShpPWkrTWF0aC5pbXVsKFMsWSl8MCkrTWF0aC5pbXVsKEUsSil8MCxvPW8rTWF0aC5pbXVsKEUsWSl8MCxuPW4rTWF0aC5pbXVsKF8sWil8MCxpPShpPWkrTWF0aC5pbXVsKF8sJCl8MCkrTWF0aC5pbXVsKHcsWil8MCxvPW8rTWF0aC5pbXVsKHcsJCl8MCxuPW4rTWF0aC5pbXVsKGIsUSl8MCxpPShpPWkrTWF0aC5pbXVsKGIsdHQpfDApK01hdGguaW11bCh5LFEpfDAsbz1vK01hdGguaW11bCh5LHR0KXwwLG49bitNYXRoLmltdWwocCxydCl8MCxpPShpPWkrTWF0aC5pbXVsKHAsbnQpfDApK01hdGguaW11bChtLHJ0KXwwLG89bytNYXRoLmltdWwobSxudCl8MDt2YXIgTXQ9KGMrKG49bitNYXRoLmltdWwoaCxvdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsc3QpfDApK01hdGguaW11bChsLG90KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsc3QpfDApKyhpPj4+MTMpfDApKyhNdD4+PjI2KXwwLE10Jj02NzEwODg2MyxuPU1hdGguaW11bChQLHopLGk9KGk9TWF0aC5pbXVsKFAsSCkpK01hdGguaW11bChJLHopfDAsbz1NYXRoLmltdWwoSSxIKSxuPW4rTWF0aC5pbXVsKFQsVyl8MCxpPShpPWkrTWF0aC5pbXVsKFQsSyl8MCkrTWF0aC5pbXVsKE8sVyl8MCxvPW8rTWF0aC5pbXVsKE8sSyl8MCxuPW4rTWF0aC5pbXVsKGssSil8MCxpPShpPWkrTWF0aC5pbXVsKGssWSl8MCkrTWF0aC5pbXVsKEEsSil8MCxvPW8rTWF0aC5pbXVsKEEsWSl8MCxuPW4rTWF0aC5pbXVsKFMsWil8MCxpPShpPWkrTWF0aC5pbXVsKFMsJCl8MCkrTWF0aC5pbXVsKEUsWil8MCxvPW8rTWF0aC5pbXVsKEUsJCl8MCxuPW4rTWF0aC5pbXVsKF8sUSl8MCxpPShpPWkrTWF0aC5pbXVsKF8sdHQpfDApK01hdGguaW11bCh3LFEpfDAsbz1vK01hdGguaW11bCh3LHR0KXwwLG49bitNYXRoLmltdWwoYixydCl8MCxpPShpPWkrTWF0aC5pbXVsKGIsbnQpfDApK01hdGguaW11bCh5LHJ0KXwwLG89bytNYXRoLmltdWwoeSxudCl8MCxuPW4rTWF0aC5pbXVsKHAsb3QpfDAsaT0oaT1pK01hdGguaW11bChwLHN0KXwwKStNYXRoLmltdWwobSxvdCl8MCxvPW8rTWF0aC5pbXVsKG0sc3QpfDA7dmFyIFN0PShjKyhuPW4rTWF0aC5pbXVsKGgsdXQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLGN0KXwwKStNYXRoLmltdWwobCx1dCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLGN0KXwwKSsoaT4+PjEzKXwwKSsoU3Q+Pj4yNil8MCxTdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoTCx6KSxpPShpPU1hdGguaW11bChMLEgpKStNYXRoLmltdWwoaix6KXwwLG89TWF0aC5pbXVsKGosSCksbj1uK01hdGguaW11bChQLFcpfDAsaT0oaT1pK01hdGguaW11bChQLEspfDApK01hdGguaW11bChJLFcpfDAsbz1vK01hdGguaW11bChJLEspfDAsbj1uK01hdGguaW11bChULEopfDAsaT0oaT1pK01hdGguaW11bChULFkpfDApK01hdGguaW11bChPLEopfDAsbz1vK01hdGguaW11bChPLFkpfDAsbj1uK01hdGguaW11bChrLFopfDAsaT0oaT1pK01hdGguaW11bChrLCQpfDApK01hdGguaW11bChBLFopfDAsbz1vK01hdGguaW11bChBLCQpfDAsbj1uK01hdGguaW11bChTLFEpfDAsaT0oaT1pK01hdGguaW11bChTLHR0KXwwKStNYXRoLmltdWwoRSxRKXwwLG89bytNYXRoLmltdWwoRSx0dCl8MCxuPW4rTWF0aC5pbXVsKF8scnQpfDAsaT0oaT1pK01hdGguaW11bChfLG50KXwwKStNYXRoLmltdWwodyxydCl8MCxvPW8rTWF0aC5pbXVsKHcsbnQpfDAsbj1uK01hdGguaW11bChiLG90KXwwLGk9KGk9aStNYXRoLmltdWwoYixzdCl8MCkrTWF0aC5pbXVsKHksb3QpfDAsbz1vK01hdGguaW11bCh5LHN0KXwwLG49bitNYXRoLmltdWwocCx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKHAsY3QpfDApK01hdGguaW11bChtLHV0KXwwLG89bytNYXRoLmltdWwobSxjdCl8MDt2YXIgRXQ9KGMrKG49bitNYXRoLmltdWwoaCxodCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsbHQpfDApK01hdGguaW11bChsLGh0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsbHQpfDApKyhpPj4+MTMpfDApKyhFdD4+PjI2KXwwLEV0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLHopLGk9KGk9TWF0aC5pbXVsKHEsSCkpK01hdGguaW11bChVLHopfDAsbz1NYXRoLmltdWwoVSxIKSxuPW4rTWF0aC5pbXVsKEwsVyl8MCxpPShpPWkrTWF0aC5pbXVsKEwsSyl8MCkrTWF0aC5pbXVsKGosVyl8MCxvPW8rTWF0aC5pbXVsKGosSyl8MCxuPW4rTWF0aC5pbXVsKFAsSil8MCxpPShpPWkrTWF0aC5pbXVsKFAsWSl8MCkrTWF0aC5pbXVsKEksSil8MCxvPW8rTWF0aC5pbXVsKEksWSl8MCxuPW4rTWF0aC5pbXVsKFQsWil8MCxpPShpPWkrTWF0aC5pbXVsKFQsJCl8MCkrTWF0aC5pbXVsKE8sWil8MCxvPW8rTWF0aC5pbXVsKE8sJCl8MCxuPW4rTWF0aC5pbXVsKGssUSl8MCxpPShpPWkrTWF0aC5pbXVsKGssdHQpfDApK01hdGguaW11bChBLFEpfDAsbz1vK01hdGguaW11bChBLHR0KXwwLG49bitNYXRoLmltdWwoUyxydCl8MCxpPShpPWkrTWF0aC5pbXVsKFMsbnQpfDApK01hdGguaW11bChFLHJ0KXwwLG89bytNYXRoLmltdWwoRSxudCl8MCxuPW4rTWF0aC5pbXVsKF8sb3QpfDAsaT0oaT1pK01hdGguaW11bChfLHN0KXwwKStNYXRoLmltdWwodyxvdCl8MCxvPW8rTWF0aC5pbXVsKHcsc3QpfDAsbj1uK01hdGguaW11bChiLHV0KXwwLGk9KGk9aStNYXRoLmltdWwoYixjdCl8MCkrTWF0aC5pbXVsKHksdXQpfDAsbz1vK01hdGguaW11bCh5LGN0KXwwLG49bitNYXRoLmltdWwocCxodCl8MCxpPShpPWkrTWF0aC5pbXVsKHAsbHQpfDApK01hdGguaW11bChtLGh0KXwwLG89bytNYXRoLmltdWwobSxsdCl8MDt2YXIgeHQ9KGMrKG49bitNYXRoLmltdWwoaCxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsbXQpfDApK01hdGguaW11bChsLHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsbXQpfDApKyhpPj4+MTMpfDApKyh4dD4+PjI2KXwwLHh0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLFcpLGk9KGk9TWF0aC5pbXVsKHEsSykpK01hdGguaW11bChVLFcpfDAsbz1NYXRoLmltdWwoVSxLKSxuPW4rTWF0aC5pbXVsKEwsSil8MCxpPShpPWkrTWF0aC5pbXVsKEwsWSl8MCkrTWF0aC5pbXVsKGosSil8MCxvPW8rTWF0aC5pbXVsKGosWSl8MCxuPW4rTWF0aC5pbXVsKFAsWil8MCxpPShpPWkrTWF0aC5pbXVsKFAsJCl8MCkrTWF0aC5pbXVsKEksWil8MCxvPW8rTWF0aC5pbXVsKEksJCl8MCxuPW4rTWF0aC5pbXVsKFQsUSl8MCxpPShpPWkrTWF0aC5pbXVsKFQsdHQpfDApK01hdGguaW11bChPLFEpfDAsbz1vK01hdGguaW11bChPLHR0KXwwLG49bitNYXRoLmltdWwoayxydCl8MCxpPShpPWkrTWF0aC5pbXVsKGssbnQpfDApK01hdGguaW11bChBLHJ0KXwwLG89bytNYXRoLmltdWwoQSxudCl8MCxuPW4rTWF0aC5pbXVsKFMsb3QpfDAsaT0oaT1pK01hdGguaW11bChTLHN0KXwwKStNYXRoLmltdWwoRSxvdCl8MCxvPW8rTWF0aC5pbXVsKEUsc3QpfDAsbj1uK01hdGguaW11bChfLHV0KXwwLGk9KGk9aStNYXRoLmltdWwoXyxjdCl8MCkrTWF0aC5pbXVsKHcsdXQpfDAsbz1vK01hdGguaW11bCh3LGN0KXwwLG49bitNYXRoLmltdWwoYixodCl8MCxpPShpPWkrTWF0aC5pbXVsKGIsbHQpfDApK01hdGguaW11bCh5LGh0KXwwLG89bytNYXRoLmltdWwoeSxsdCl8MDt2YXIga3Q9KGMrKG49bitNYXRoLmltdWwocCxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKHAsbXQpfDApK01hdGguaW11bChtLHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKG0sbXQpfDApKyhpPj4+MTMpfDApKyhrdD4+PjI2KXwwLGt0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLEopLGk9KGk9TWF0aC5pbXVsKHEsWSkpK01hdGguaW11bChVLEopfDAsbz1NYXRoLmltdWwoVSxZKSxuPW4rTWF0aC5pbXVsKEwsWil8MCxpPShpPWkrTWF0aC5pbXVsKEwsJCl8MCkrTWF0aC5pbXVsKGosWil8MCxvPW8rTWF0aC5pbXVsKGosJCl8MCxuPW4rTWF0aC5pbXVsKFAsUSl8MCxpPShpPWkrTWF0aC5pbXVsKFAsdHQpfDApK01hdGguaW11bChJLFEpfDAsbz1vK01hdGguaW11bChJLHR0KXwwLG49bitNYXRoLmltdWwoVCxydCl8MCxpPShpPWkrTWF0aC5pbXVsKFQsbnQpfDApK01hdGguaW11bChPLHJ0KXwwLG89bytNYXRoLmltdWwoTyxudCl8MCxuPW4rTWF0aC5pbXVsKGssb3QpfDAsaT0oaT1pK01hdGguaW11bChrLHN0KXwwKStNYXRoLmltdWwoQSxvdCl8MCxvPW8rTWF0aC5pbXVsKEEsc3QpfDAsbj1uK01hdGguaW11bChTLHV0KXwwLGk9KGk9aStNYXRoLmltdWwoUyxjdCl8MCkrTWF0aC5pbXVsKEUsdXQpfDAsbz1vK01hdGguaW11bChFLGN0KXwwLG49bitNYXRoLmltdWwoXyxodCl8MCxpPShpPWkrTWF0aC5pbXVsKF8sbHQpfDApK01hdGguaW11bCh3LGh0KXwwLG89bytNYXRoLmltdWwodyxsdCl8MDt2YXIgQXQ9KGMrKG49bitNYXRoLmltdWwoYixwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGIsbXQpfDApK01hdGguaW11bCh5LHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKHksbXQpfDApKyhpPj4+MTMpfDApKyhBdD4+PjI2KXwwLEF0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLFopLGk9KGk9TWF0aC5pbXVsKHEsJCkpK01hdGguaW11bChVLFopfDAsbz1NYXRoLmltdWwoVSwkKSxuPW4rTWF0aC5pbXVsKEwsUSl8MCxpPShpPWkrTWF0aC5pbXVsKEwsdHQpfDApK01hdGguaW11bChqLFEpfDAsbz1vK01hdGguaW11bChqLHR0KXwwLG49bitNYXRoLmltdWwoUCxydCl8MCxpPShpPWkrTWF0aC5pbXVsKFAsbnQpfDApK01hdGguaW11bChJLHJ0KXwwLG89bytNYXRoLmltdWwoSSxudCl8MCxuPW4rTWF0aC5pbXVsKFQsb3QpfDAsaT0oaT1pK01hdGguaW11bChULHN0KXwwKStNYXRoLmltdWwoTyxvdCl8MCxvPW8rTWF0aC5pbXVsKE8sc3QpfDAsbj1uK01hdGguaW11bChrLHV0KXwwLGk9KGk9aStNYXRoLmltdWwoayxjdCl8MCkrTWF0aC5pbXVsKEEsdXQpfDAsbz1vK01hdGguaW11bChBLGN0KXwwLG49bitNYXRoLmltdWwoUyxodCl8MCxpPShpPWkrTWF0aC5pbXVsKFMsbHQpfDApK01hdGguaW11bChFLGh0KXwwLG89bytNYXRoLmltdWwoRSxsdCl8MDt2YXIgUnQ9KGMrKG49bitNYXRoLmltdWwoXyxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKF8sbXQpfDApK01hdGguaW11bCh3LHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKHcsbXQpfDApKyhpPj4+MTMpfDApKyhSdD4+PjI2KXwwLFJ0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLFEpLGk9KGk9TWF0aC5pbXVsKHEsdHQpKStNYXRoLmltdWwoVSxRKXwwLG89TWF0aC5pbXVsKFUsdHQpLG49bitNYXRoLmltdWwoTCxydCl8MCxpPShpPWkrTWF0aC5pbXVsKEwsbnQpfDApK01hdGguaW11bChqLHJ0KXwwLG89bytNYXRoLmltdWwoaixudCl8MCxuPW4rTWF0aC5pbXVsKFAsb3QpfDAsaT0oaT1pK01hdGguaW11bChQLHN0KXwwKStNYXRoLmltdWwoSSxvdCl8MCxvPW8rTWF0aC5pbXVsKEksc3QpfDAsbj1uK01hdGguaW11bChULHV0KXwwLGk9KGk9aStNYXRoLmltdWwoVCxjdCl8MCkrTWF0aC5pbXVsKE8sdXQpfDAsbz1vK01hdGguaW11bChPLGN0KXwwLG49bitNYXRoLmltdWwoayxodCl8MCxpPShpPWkrTWF0aC5pbXVsKGssbHQpfDApK01hdGguaW11bChBLGh0KXwwLG89bytNYXRoLmltdWwoQSxsdCl8MDt2YXIgVHQ9KGMrKG49bitNYXRoLmltdWwoUyxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKFMsbXQpfDApK01hdGguaW11bChFLHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKEUsbXQpfDApKyhpPj4+MTMpfDApKyhUdD4+PjI2KXwwLFR0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLHJ0KSxpPShpPU1hdGguaW11bChxLG50KSkrTWF0aC5pbXVsKFUscnQpfDAsbz1NYXRoLmltdWwoVSxudCksbj1uK01hdGguaW11bChMLG90KXwwLGk9KGk9aStNYXRoLmltdWwoTCxzdCl8MCkrTWF0aC5pbXVsKGosb3QpfDAsbz1vK01hdGguaW11bChqLHN0KXwwLG49bitNYXRoLmltdWwoUCx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKFAsY3QpfDApK01hdGguaW11bChJLHV0KXwwLG89bytNYXRoLmltdWwoSSxjdCl8MCxuPW4rTWF0aC5pbXVsKFQsaHQpfDAsaT0oaT1pK01hdGguaW11bChULGx0KXwwKStNYXRoLmltdWwoTyxodCl8MCxvPW8rTWF0aC5pbXVsKE8sbHQpfDA7dmFyIE90PShjKyhuPW4rTWF0aC5pbXVsKGsscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChrLG10KXwwKStNYXRoLmltdWwoQSxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChBLG10KXwwKSsoaT4+PjEzKXwwKSsoT3Q+Pj4yNil8MCxPdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSxvdCksaT0oaT1NYXRoLmltdWwocSxzdCkpK01hdGguaW11bChVLG90KXwwLG89TWF0aC5pbXVsKFUsc3QpLG49bitNYXRoLmltdWwoTCx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKEwsY3QpfDApK01hdGguaW11bChqLHV0KXwwLG89bytNYXRoLmltdWwoaixjdCl8MCxuPW4rTWF0aC5pbXVsKFAsaHQpfDAsaT0oaT1pK01hdGguaW11bChQLGx0KXwwKStNYXRoLmltdWwoSSxodCl8MCxvPW8rTWF0aC5pbXVsKEksbHQpfDA7dmFyIEN0PShjKyhuPW4rTWF0aC5pbXVsKFQscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChULG10KXwwKStNYXRoLmltdWwoTyxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChPLG10KXwwKSsoaT4+PjEzKXwwKSsoQ3Q+Pj4yNil8MCxDdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSx1dCksaT0oaT1NYXRoLmltdWwocSxjdCkpK01hdGguaW11bChVLHV0KXwwLG89TWF0aC5pbXVsKFUsY3QpLG49bitNYXRoLmltdWwoTCxodCl8MCxpPShpPWkrTWF0aC5pbXVsKEwsbHQpfDApK01hdGguaW11bChqLGh0KXwwLG89bytNYXRoLmltdWwoaixsdCl8MDt2YXIgUHQ9KGMrKG49bitNYXRoLmltdWwoUCxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKFAsbXQpfDApK01hdGguaW11bChJLHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKEksbXQpfDApKyhpPj4+MTMpfDApKyhQdD4+PjI2KXwwLFB0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLGh0KSxpPShpPU1hdGguaW11bChxLGx0KSkrTWF0aC5pbXVsKFUsaHQpfDAsbz1NYXRoLmltdWwoVSxsdCk7dmFyIEl0PShjKyhuPW4rTWF0aC5pbXVsKEwscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChMLG10KXwwKStNYXRoLmltdWwoaixwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChqLG10KXwwKSsoaT4+PjEzKXwwKSsoSXQ+Pj4yNil8MCxJdCY9NjcxMDg4NjM7dmFyIEJ0PShjKyhuPU1hdGguaW11bChxLHB0KSl8MCkrKCg4MTkxJihpPShpPU1hdGguaW11bChxLG10KSkrTWF0aC5pbXVsKFUscHQpfDApKTw8MTMpfDA7cmV0dXJuIGM9KChvPU1hdGguaW11bChVLG10KSkrKGk+Pj4xMyl8MCkrKEJ0Pj4+MjYpfDAsQnQmPTY3MTA4ODYzLHVbMF09Z3QsdVsxXT1idCx1WzJdPXl0LHVbM109dnQsdVs0XT1fdCx1WzVdPXd0LHVbNl09TXQsdVs3XT1TdCx1WzhdPUV0LHVbOV09eHQsdVsxMF09a3QsdVsxMV09QXQsdVsxMl09UnQsdVsxM109VHQsdVsxNF09T3QsdVsxNV09Q3QsdVsxNl09UHQsdVsxN109SXQsdVsxOF09QnQsMCE9PWMmJih1WzE5XT1jLHIubGVuZ3RoKyspLHJ9O2Z1bmN0aW9uIHAodCxlLHIpe3JldHVybihuZXcgbSkubXVscCh0LGUscil9ZnVuY3Rpb24gbSh0LGUpe3RoaXMueD10LHRoaXMueT1lfU1hdGguaW11bHx8KGQ9bCksby5wcm90b3R5cGUubXVsVG89ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmxlbmd0aCt0Lmxlbmd0aDtyZXR1cm4gMTA9PT10aGlzLmxlbmd0aCYmMTA9PT10Lmxlbmd0aD9kKHRoaXMsdCxlKTpyPDYzP2wodGhpcyx0LGUpOnI8MTAyND9mdW5jdGlvbih0LGUscil7ci5uZWdhdGl2ZT1lLm5lZ2F0aXZlXnQubmVnYXRpdmUsci5sZW5ndGg9dC5sZW5ndGgrZS5sZW5ndGg7Zm9yKHZhciBuPTAsaT0wLG89MDtvPHIubGVuZ3RoLTE7bysrKXt2YXIgcz1pO2k9MDtmb3IodmFyIGE9NjcxMDg4NjMmbix1PU1hdGgubWluKG8sZS5sZW5ndGgtMSksYz1NYXRoLm1heCgwLG8tdC5sZW5ndGgrMSk7Yzw9dTtjKyspe3ZhciBmPW8tYyxoPSgwfHQud29yZHNbZl0pKigwfGUud29yZHNbY10pLGw9NjcxMDg4NjMmaDthPTY3MTA4ODYzJihsPWwrYXwwKSxpKz0ocz0ocz1zKyhoLzY3MTA4ODY0fDApfDApKyhsPj4+MjYpfDApPj4+MjYscyY9NjcxMDg4NjN9ci53b3Jkc1tvXT1hLG49cyxzPWl9cmV0dXJuIDAhPT1uP3Iud29yZHNbb109bjpyLmxlbmd0aC0tLHIuc3RyaXAoKX0odGhpcyx0LGUpOnAodGhpcyx0LGUpfSxtLnByb3RvdHlwZS5tYWtlUkJUPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodCkscj1vLnByb3RvdHlwZS5fY291bnRCaXRzKHQpLTEsbj0wO248dDtuKyspZVtuXT10aGlzLnJldkJpbihuLHIsdCk7cmV0dXJuIGV9LG0ucHJvdG90eXBlLnJldkJpbj1mdW5jdGlvbih0LGUscil7aWYoMD09PXR8fHQ9PT1yLTEpcmV0dXJuIHQ7Zm9yKHZhciBuPTAsaT0wO2k8ZTtpKyspbnw9KDEmdCk8PGUtaS0xLHQ+Pj0xO3JldHVybiBufSxtLnByb3RvdHlwZS5wZXJtdXRlPWZ1bmN0aW9uKHQsZSxyLG4saSxvKXtmb3IodmFyIHM9MDtzPG87cysrKW5bc109ZVt0W3NdXSxpW3NdPXJbdFtzXV19LG0ucHJvdG90eXBlLnRyYW5zZm9ybT1mdW5jdGlvbih0LGUscixuLGksbyl7dGhpcy5wZXJtdXRlKG8sdCxlLHIsbixpKTtmb3IodmFyIHM9MTtzPGk7czw8PTEpZm9yKHZhciBhPXM8PDEsdT1NYXRoLmNvcygyKk1hdGguUEkvYSksYz1NYXRoLnNpbigyKk1hdGguUEkvYSksZj0wO2Y8aTtmKz1hKWZvcih2YXIgaD11LGw9YyxkPTA7ZDxzO2QrKyl7dmFyIHA9cltmK2RdLG09bltmK2RdLGc9cltmK2Qrc10sYj1uW2YrZCtzXSx5PWgqZy1sKmI7Yj1oKmIrbCpnLGc9eSxyW2YrZF09cCtnLG5bZitkXT1tK2IscltmK2Qrc109cC1nLG5bZitkK3NdPW0tYixkIT09YSYmKHk9dSpoLWMqbCxsPXUqbCtjKmgsaD15KX19LG0ucHJvdG90eXBlLmd1ZXNzTGVuMTNiPWZ1bmN0aW9uKHQsZSl7dmFyIHI9MXxNYXRoLm1heChlLHQpLG49MSZyLGk9MDtmb3Iocj1yLzJ8MDtyO3I+Pj49MSlpKys7cmV0dXJuIDE8PGkrMStufSxtLnByb3RvdHlwZS5jb25qdWdhdGU9ZnVuY3Rpb24odCxlLHIpe2lmKCEocjw9MSkpZm9yKHZhciBuPTA7bjxyLzI7bisrKXt2YXIgaT10W25dO3Rbbl09dFtyLW4tMV0sdFtyLW4tMV09aSxpPWVbbl0sZVtuXT0tZVtyLW4tMV0sZVtyLW4tMV09LWl9fSxtLnByb3RvdHlwZS5ub3JtYWxpemUxM2I9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MCxuPTA7bjxlLzI7bisrKXt2YXIgaT04MTkyKk1hdGgucm91bmQodFsyKm4rMV0vZSkrTWF0aC5yb3VuZCh0WzIqbl0vZSkrcjt0W25dPTY3MTA4ODYzJmkscj1pPDY3MTA4ODY0PzA6aS82NzEwODg2NHwwfXJldHVybiB0fSxtLnByb3RvdHlwZS5jb252ZXJ0MTNiPWZ1bmN0aW9uKHQsZSxyLGkpe2Zvcih2YXIgbz0wLHM9MDtzPGU7cysrKW8rPTB8dFtzXSxyWzIqc109ODE5MSZvLG8+Pj49MTMsclsyKnMrMV09ODE5MSZvLG8+Pj49MTM7Zm9yKHM9MiplO3M8aTsrK3MpcltzXT0wO24oMD09PW8pLG4oMD09KC04MTkyJm8pKX0sbS5wcm90b3R5cGUuc3R1Yj1mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQpLHI9MDtyPHQ7cisrKWVbcl09MDtyZXR1cm4gZX0sbS5wcm90b3R5cGUubXVscD1mdW5jdGlvbih0LGUscil7dmFyIG49Mip0aGlzLmd1ZXNzTGVuMTNiKHQubGVuZ3RoLGUubGVuZ3RoKSxpPXRoaXMubWFrZVJCVChuKSxvPXRoaXMuc3R1YihuKSxzPW5ldyBBcnJheShuKSxhPW5ldyBBcnJheShuKSx1PW5ldyBBcnJheShuKSxjPW5ldyBBcnJheShuKSxmPW5ldyBBcnJheShuKSxoPW5ldyBBcnJheShuKSxsPXIud29yZHM7bC5sZW5ndGg9bix0aGlzLmNvbnZlcnQxM2IodC53b3Jkcyx0Lmxlbmd0aCxzLG4pLHRoaXMuY29udmVydDEzYihlLndvcmRzLGUubGVuZ3RoLGMsbiksdGhpcy50cmFuc2Zvcm0ocyxvLGEsdSxuLGkpLHRoaXMudHJhbnNmb3JtKGMsbyxmLGgsbixpKTtmb3IodmFyIGQ9MDtkPG47ZCsrKXt2YXIgcD1hW2RdKmZbZF0tdVtkXSpoW2RdO3VbZF09YVtkXSpoW2RdK3VbZF0qZltkXSxhW2RdPXB9cmV0dXJuIHRoaXMuY29uanVnYXRlKGEsdSxuKSx0aGlzLnRyYW5zZm9ybShhLHUsbCxvLG4saSksdGhpcy5jb25qdWdhdGUobCxvLG4pLHRoaXMubm9ybWFsaXplMTNiKGwsbiksci5uZWdhdGl2ZT10Lm5lZ2F0aXZlXmUubmVnYXRpdmUsci5sZW5ndGg9dC5sZW5ndGgrZS5sZW5ndGgsci5zdHJpcCgpfSxvLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IG8obnVsbCk7cmV0dXJuIGUud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK3QubGVuZ3RoKSx0aGlzLm11bFRvKHQsZSl9LG8ucHJvdG90eXBlLm11bGY9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IG8obnVsbCk7cmV0dXJuIGUud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK3QubGVuZ3RoKSxwKHRoaXMsdCxlKX0sby5wcm90b3R5cGUuaW11bD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLm11bFRvKHQsdGhpcyl9LG8ucHJvdG90eXBlLmltdWxuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpO2Zvcih2YXIgZT0wLHI9MDtyPHRoaXMubGVuZ3RoO3IrKyl7dmFyIGk9KDB8dGhpcy53b3Jkc1tyXSkqdCxvPSg2NzEwODg2MyZpKSsoNjcxMDg4NjMmZSk7ZT4+PTI2LGUrPWkvNjcxMDg4NjR8MCxlKz1vPj4+MjYsdGhpcy53b3Jkc1tyXT02NzEwODg2MyZvfXJldHVybiAwIT09ZSYmKHRoaXMud29yZHNbcl09ZSx0aGlzLmxlbmd0aCsrKSx0aGlzfSxvLnByb3RvdHlwZS5tdWxuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW11bG4odCl9LG8ucHJvdG90eXBlLnNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm11bCh0aGlzKX0sby5wcm90b3R5cGUuaXNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmltdWwodGhpcy5jbG9uZSgpKX0sby5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHQpe3ZhciBlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodC5iaXRMZW5ndGgoKSkscj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1yLzI2fDAsaT1yJTI2O2Vbcl09KHQud29yZHNbbl0mMTw8aSk+Pj5pfXJldHVybiBlfSh0KTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG5ldyBvKDEpO2Zvcih2YXIgcj10aGlzLG49MDtuPGUubGVuZ3RoJiYwPT09ZVtuXTtuKysscj1yLnNxcigpKTtpZigrK248ZS5sZW5ndGgpZm9yKHZhciBpPXIuc3FyKCk7bjxlLmxlbmd0aDtuKyssaT1pLnNxcigpKTAhPT1lW25dJiYocj1yLm11bChpKSk7cmV0dXJuIHJ9LG8ucHJvdG90eXBlLml1c2hsbj1mdW5jdGlvbih0KXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIGUscj10JTI2LGk9KHQtcikvMjYsbz02NzEwODg2Mz4+PjI2LXI8PDI2LXI7aWYoMCE9PXIpe3ZhciBzPTA7Zm9yKGU9MDtlPHRoaXMubGVuZ3RoO2UrKyl7dmFyIGE9dGhpcy53b3Jkc1tlXSZvLHU9KDB8dGhpcy53b3Jkc1tlXSktYTw8cjt0aGlzLndvcmRzW2VdPXV8cyxzPWE+Pj4yNi1yfXMmJih0aGlzLndvcmRzW2VdPXMsdGhpcy5sZW5ndGgrKyl9aWYoMCE9PWkpe2ZvcihlPXRoaXMubGVuZ3RoLTE7ZT49MDtlLS0pdGhpcy53b3Jkc1tlK2ldPXRoaXMud29yZHNbZV07Zm9yKGU9MDtlPGk7ZSsrKXRoaXMud29yZHNbZV09MDt0aGlzLmxlbmd0aCs9aX1yZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pc2hsbj1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT09dGhpcy5uZWdhdGl2ZSksdGhpcy5pdXNobG4odCl9LG8ucHJvdG90eXBlLml1c2hybj1mdW5jdGlvbih0LGUscil7dmFyIGk7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApLGk9ZT8oZS1lJTI2KS8yNjowO3ZhciBvPXQlMjYscz1NYXRoLm1pbigodC1vKS8yNix0aGlzLmxlbmd0aCksYT02NzEwODg2M142NzEwODg2Mz4+Pm88PG8sdT1yO2lmKGktPXMsaT1NYXRoLm1heCgwLGkpLHUpe2Zvcih2YXIgYz0wO2M8cztjKyspdS53b3Jkc1tjXT10aGlzLndvcmRzW2NdO3UubGVuZ3RoPXN9aWYoMD09PXMpO2Vsc2UgaWYodGhpcy5sZW5ndGg+cylmb3IodGhpcy5sZW5ndGgtPXMsYz0wO2M8dGhpcy5sZW5ndGg7YysrKXRoaXMud29yZHNbY109dGhpcy53b3Jkc1tjK3NdO2Vsc2UgdGhpcy53b3Jkc1swXT0wLHRoaXMubGVuZ3RoPTE7dmFyIGY9MDtmb3IoYz10aGlzLmxlbmd0aC0xO2M+PTAmJigwIT09Znx8Yz49aSk7Yy0tKXt2YXIgaD0wfHRoaXMud29yZHNbY107dGhpcy53b3Jkc1tjXT1mPDwyNi1vfGg+Pj5vLGY9aCZhfXJldHVybiB1JiYwIT09ZiYmKHUud29yZHNbdS5sZW5ndGgrK109ZiksMD09PXRoaXMubGVuZ3RoJiYodGhpcy53b3Jkc1swXT0wLHRoaXMubGVuZ3RoPTEpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuaXNocm49ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hybih0LGUscil9LG8ucHJvdG90eXBlLnNobG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbih0KX0sby5wcm90b3R5cGUudXNobG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNobG4odCl9LG8ucHJvdG90eXBlLnNocm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hybih0KX0sby5wcm90b3R5cGUudXNocm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4odCl9LG8ucHJvdG90eXBlLnRlc3RuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZT10JTI2LHI9KHQtZSkvMjYsaT0xPDxlO3JldHVybiEodGhpcy5sZW5ndGg8PXIpJiYhISh0aGlzLndvcmRzW3JdJmkpfSxvLnByb3RvdHlwZS5pbWFza249ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBlPXQlMjYscj0odC1lKS8yNjtpZihuKDA9PT10aGlzLm5lZ2F0aXZlLCJpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMiKSx0aGlzLmxlbmd0aDw9cilyZXR1cm4gdGhpcztpZigwIT09ZSYmcisrLHRoaXMubGVuZ3RoPU1hdGgubWluKHIsdGhpcy5sZW5ndGgpLDAhPT1lKXt2YXIgaT02NzEwODg2M142NzEwODg2Mz4+PmU8PGU7dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSY9aX1yZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5tYXNrbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmltYXNrbih0KX0sby5wcm90b3R5cGUuaWFkZG49ZnVuY3Rpb24odCl7cmV0dXJuIG4oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpLHQ8MD90aGlzLmlzdWJuKC10KTowIT09dGhpcy5uZWdhdGl2ZT8xPT09dGhpcy5sZW5ndGgmJigwfHRoaXMud29yZHNbMF0pPHQ/KHRoaXMud29yZHNbMF09dC0oMHx0aGlzLndvcmRzWzBdKSx0aGlzLm5lZ2F0aXZlPTAsdGhpcyk6KHRoaXMubmVnYXRpdmU9MCx0aGlzLmlzdWJuKHQpLHRoaXMubmVnYXRpdmU9MSx0aGlzKTp0aGlzLl9pYWRkbih0KX0sby5wcm90b3R5cGUuX2lhZGRuPWZ1bmN0aW9uKHQpe3RoaXMud29yZHNbMF0rPXQ7Zm9yKHZhciBlPTA7ZTx0aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1tlXT49NjcxMDg4NjQ7ZSsrKXRoaXMud29yZHNbZV0tPTY3MTA4ODY0LGU9PT10aGlzLmxlbmd0aC0xP3RoaXMud29yZHNbZSsxXT0xOnRoaXMud29yZHNbZSsxXSsrO3JldHVybiB0aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCxlKzEpLHRoaXN9LG8ucHJvdG90eXBlLmlzdWJuPWZ1bmN0aW9uKHQpe2lmKG4oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpLHQ8MClyZXR1cm4gdGhpcy5pYWRkbigtdCk7aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGRuKHQpLHRoaXMubmVnYXRpdmU9MSx0aGlzO2lmKHRoaXMud29yZHNbMF0tPXQsMT09PXRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzWzBdPDApdGhpcy53b3Jkc1swXT0tdGhpcy53b3Jkc1swXSx0aGlzLm5lZ2F0aXZlPTE7ZWxzZSBmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2VdPDA7ZSsrKXRoaXMud29yZHNbZV0rPTY3MTA4ODY0LHRoaXMud29yZHNbZSsxXS09MTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5hZGRuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWFkZG4odCl9LG8ucHJvdG90eXBlLnN1Ym49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3Vibih0KX0sby5wcm90b3R5cGUuaWFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpc30sby5wcm90b3R5cGUuYWJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWJzKCl9LG8ucHJvdG90eXBlLl9pc2hsbnN1Ym11bD1mdW5jdGlvbih0LGUscil7dmFyIGksbyxzPXQubGVuZ3RoK3I7dGhpcy5fZXhwYW5kKHMpO3ZhciBhPTA7Zm9yKGk9MDtpPHQubGVuZ3RoO2krKyl7bz0oMHx0aGlzLndvcmRzW2krcl0pK2E7dmFyIHU9KDB8dC53b3Jkc1tpXSkqZTthPSgoby09NjcxMDg4NjMmdSk+PjI2KS0odS82NzEwODg2NHwwKSx0aGlzLndvcmRzW2krcl09NjcxMDg4NjMmb31mb3IoO2k8dGhpcy5sZW5ndGgtcjtpKyspYT0obz0oMHx0aGlzLndvcmRzW2krcl0pK2EpPj4yNix0aGlzLndvcmRzW2krcl09NjcxMDg4NjMmbztpZigwPT09YSlyZXR1cm4gdGhpcy5zdHJpcCgpO2ZvcihuKC0xPT09YSksYT0wLGk9MDtpPHRoaXMubGVuZ3RoO2krKylhPShvPS0oMHx0aGlzLndvcmRzW2ldKSthKT4+MjYsdGhpcy53b3Jkc1tpXT02NzEwODg2MyZvO3JldHVybiB0aGlzLm5lZ2F0aXZlPTEsdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5fd29yZERpdj1mdW5jdGlvbih0LGUpe3ZhciByPSh0aGlzLmxlbmd0aCx0Lmxlbmd0aCksbj10aGlzLmNsb25lKCksaT10LHM9MHxpLndvcmRzW2kubGVuZ3RoLTFdOzAhPT0ocj0yNi10aGlzLl9jb3VudEJpdHMocykpJiYoaT1pLnVzaGxuKHIpLG4uaXVzaGxuKHIpLHM9MHxpLndvcmRzW2kubGVuZ3RoLTFdKTt2YXIgYSx1PW4ubGVuZ3RoLWkubGVuZ3RoO2lmKCJtb2QiIT09ZSl7KGE9bmV3IG8obnVsbCkpLmxlbmd0aD11KzEsYS53b3Jkcz1uZXcgQXJyYXkoYS5sZW5ndGgpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWEud29yZHNbY109MH12YXIgZj1uLmNsb25lKCkuX2lzaGxuc3VibXVsKGksMSx1KTswPT09Zi5uZWdhdGl2ZSYmKG49ZixhJiYoYS53b3Jkc1t1XT0xKSk7Zm9yKHZhciBoPXUtMTtoPj0wO2gtLSl7dmFyIGw9NjcxMDg4NjQqKDB8bi53b3Jkc1tpLmxlbmd0aCtoXSkrKDB8bi53b3Jkc1tpLmxlbmd0aCtoLTFdKTtmb3IobD1NYXRoLm1pbihsL3N8MCw2NzEwODg2Myksbi5faXNobG5zdWJtdWwoaSxsLGgpOzAhPT1uLm5lZ2F0aXZlOylsLS0sbi5uZWdhdGl2ZT0wLG4uX2lzaGxuc3VibXVsKGksMSxoKSxuLmlzWmVybygpfHwobi5uZWdhdGl2ZV49MSk7YSYmKGEud29yZHNbaF09bCl9cmV0dXJuIGEmJmEuc3RyaXAoKSxuLnN0cmlwKCksImRpdiIhPT1lJiYwIT09ciYmbi5pdXNocm4ocikse2RpdjphfHxudWxsLG1vZDpufX0sby5wcm90b3R5cGUuZGl2bW9kPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbighdC5pc1plcm8oKSksdGhpcy5pc1plcm8oKT97ZGl2Om5ldyBvKDApLG1vZDpuZXcgbygwKX06MCE9PXRoaXMubmVnYXRpdmUmJjA9PT10Lm5lZ2F0aXZlPyhhPXRoaXMubmVnKCkuZGl2bW9kKHQsZSksIm1vZCIhPT1lJiYoaT1hLmRpdi5uZWcoKSksImRpdiIhPT1lJiYocz1hLm1vZC5uZWcoKSxyJiYwIT09cy5uZWdhdGl2ZSYmcy5pYWRkKHQpKSx7ZGl2OmksbW9kOnN9KTowPT09dGhpcy5uZWdhdGl2ZSYmMCE9PXQubmVnYXRpdmU/KGE9dGhpcy5kaXZtb2QodC5uZWcoKSxlKSwibW9kIiE9PWUmJihpPWEuZGl2Lm5lZygpKSx7ZGl2OmksbW9kOmEubW9kfSk6MCE9KHRoaXMubmVnYXRpdmUmdC5uZWdhdGl2ZSk/KGE9dGhpcy5uZWcoKS5kaXZtb2QodC5uZWcoKSxlKSwiZGl2IiE9PWUmJihzPWEubW9kLm5lZygpLHImJjAhPT1zLm5lZ2F0aXZlJiZzLmlzdWIodCkpLHtkaXY6YS5kaXYsbW9kOnN9KTp0Lmxlbmd0aD50aGlzLmxlbmd0aHx8dGhpcy5jbXAodCk8MD97ZGl2Om5ldyBvKDApLG1vZDp0aGlzfToxPT09dC5sZW5ndGg/ImRpdiI9PT1lP3tkaXY6dGhpcy5kaXZuKHQud29yZHNbMF0pLG1vZDpudWxsfToibW9kIj09PWU/e2RpdjpudWxsLG1vZDpuZXcgbyh0aGlzLm1vZG4odC53b3Jkc1swXSkpfTp7ZGl2OnRoaXMuZGl2bih0LndvcmRzWzBdKSxtb2Q6bmV3IG8odGhpcy5tb2RuKHQud29yZHNbMF0pKX06dGhpcy5fd29yZERpdih0LGUpO3ZhciBpLHMsYX0sby5wcm90b3R5cGUuZGl2PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJkaXYiLCExKS5kaXZ9LG8ucHJvdG90eXBlLm1vZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kaXZtb2QodCwibW9kIiwhMSkubW9kfSxvLnByb3RvdHlwZS51bW9kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJtb2QiLCEwKS5tb2R9LG8ucHJvdG90eXBlLmRpdlJvdW5kPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZGl2bW9kKHQpO2lmKGUubW9kLmlzWmVybygpKXJldHVybiBlLmRpdjt2YXIgcj0wIT09ZS5kaXYubmVnYXRpdmU/ZS5tb2QuaXN1Yih0KTplLm1vZCxuPXQudXNocm4oMSksaT10LmFuZGxuKDEpLG89ci5jbXAobik7cmV0dXJuIG88MHx8MT09PWkmJjA9PT1vP2UuZGl2OjAhPT1lLmRpdi5uZWdhdGl2ZT9lLmRpdi5pc3VibigxKTplLmRpdi5pYWRkbigxKX0sby5wcm90b3R5cGUubW9kbj1mdW5jdGlvbih0KXtuKHQ8PTY3MTA4ODYzKTtmb3IodmFyIGU9KDE8PDI2KSV0LHI9MCxpPXRoaXMubGVuZ3RoLTE7aT49MDtpLS0pcj0oZSpyKygwfHRoaXMud29yZHNbaV0pKSV0O3JldHVybiByfSxvLnByb3RvdHlwZS5pZGl2bj1mdW5jdGlvbih0KXtuKHQ8PTY3MTA4ODYzKTtmb3IodmFyIGU9MCxyPXRoaXMubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBpPSgwfHRoaXMud29yZHNbcl0pKzY3MTA4ODY0KmU7dGhpcy53b3Jkc1tyXT1pL3R8MCxlPWkldH1yZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5kaXZuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWRpdm4odCl9LG8ucHJvdG90eXBlLmVnY2Q9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSksbighdC5pc1plcm8oKSk7dmFyIGU9dGhpcyxyPXQuY2xvbmUoKTtlPTAhPT1lLm5lZ2F0aXZlP2UudW1vZCh0KTplLmNsb25lKCk7Zm9yKHZhciBpPW5ldyBvKDEpLHM9bmV3IG8oMCksYT1uZXcgbygwKSx1PW5ldyBvKDEpLGM9MDtlLmlzRXZlbigpJiZyLmlzRXZlbigpOyllLml1c2hybigxKSxyLml1c2hybigxKSwrK2M7Zm9yKHZhciBmPXIuY2xvbmUoKSxoPWUuY2xvbmUoKTshZS5pc1plcm8oKTspe2Zvcih2YXIgbD0wLGQ9MTswPT0oZS53b3Jkc1swXSZkKSYmbDwyNjsrK2wsZDw8PTEpO2lmKGw+MClmb3IoZS5pdXNocm4obCk7bC0tID4wOykoaS5pc09kZCgpfHxzLmlzT2RkKCkpJiYoaS5pYWRkKGYpLHMuaXN1YihoKSksaS5pdXNocm4oMSkscy5pdXNocm4oMSk7Zm9yKHZhciBwPTAsbT0xOzA9PShyLndvcmRzWzBdJm0pJiZwPDI2OysrcCxtPDw9MSk7aWYocD4wKWZvcihyLml1c2hybihwKTtwLS0gPjA7KShhLmlzT2RkKCl8fHUuaXNPZGQoKSkmJihhLmlhZGQoZiksdS5pc3ViKGgpKSxhLml1c2hybigxKSx1Lml1c2hybigxKTtlLmNtcChyKT49MD8oZS5pc3ViKHIpLGkuaXN1YihhKSxzLmlzdWIodSkpOihyLmlzdWIoZSksYS5pc3ViKGkpLHUuaXN1YihzKSl9cmV0dXJue2E6YSxiOnUsZ2NkOnIuaXVzaGxuKGMpfX0sby5wcm90b3R5cGUuX2ludm1wPWZ1bmN0aW9uKHQpe24oMD09PXQubmVnYXRpdmUpLG4oIXQuaXNaZXJvKCkpO3ZhciBlPXRoaXMscj10LmNsb25lKCk7ZT0wIT09ZS5uZWdhdGl2ZT9lLnVtb2QodCk6ZS5jbG9uZSgpO2Zvcih2YXIgaSxzPW5ldyBvKDEpLGE9bmV3IG8oMCksdT1yLmNsb25lKCk7ZS5jbXBuKDEpPjAmJnIuY21wbigxKT4wOyl7Zm9yKHZhciBjPTAsZj0xOzA9PShlLndvcmRzWzBdJmYpJiZjPDI2OysrYyxmPDw9MSk7aWYoYz4wKWZvcihlLml1c2hybihjKTtjLS0gPjA7KXMuaXNPZGQoKSYmcy5pYWRkKHUpLHMuaXVzaHJuKDEpO2Zvcih2YXIgaD0wLGw9MTswPT0oci53b3Jkc1swXSZsKSYmaDwyNjsrK2gsbDw8PTEpO2lmKGg+MClmb3Ioci5pdXNocm4oaCk7aC0tID4wOylhLmlzT2RkKCkmJmEuaWFkZCh1KSxhLml1c2hybigxKTtlLmNtcChyKT49MD8oZS5pc3ViKHIpLHMuaXN1YihhKSk6KHIuaXN1YihlKSxhLmlzdWIocykpfXJldHVybihpPTA9PT1lLmNtcG4oMSk/czphKS5jbXBuKDApPDAmJmkuaWFkZCh0KSxpfSxvLnByb3RvdHlwZS5nY2Q9ZnVuY3Rpb24odCl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gdC5hYnMoKTtpZih0LmlzWmVybygpKXJldHVybiB0aGlzLmFicygpO3ZhciBlPXRoaXMuY2xvbmUoKSxyPXQuY2xvbmUoKTtlLm5lZ2F0aXZlPTAsci5uZWdhdGl2ZT0wO2Zvcih2YXIgbj0wO2UuaXNFdmVuKCkmJnIuaXNFdmVuKCk7bisrKWUuaXVzaHJuKDEpLHIuaXVzaHJuKDEpO2Zvcig7Oyl7Zm9yKDtlLmlzRXZlbigpOyllLml1c2hybigxKTtmb3IoO3IuaXNFdmVuKCk7KXIuaXVzaHJuKDEpO3ZhciBpPWUuY21wKHIpO2lmKGk8MCl7dmFyIG89ZTtlPXIscj1vfWVsc2UgaWYoMD09PWl8fDA9PT1yLmNtcG4oMSkpYnJlYWs7ZS5pc3ViKHIpfXJldHVybiByLml1c2hsbihuKX0sby5wcm90b3R5cGUuaW52bT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lZ2NkKHQpLmEudW1vZCh0KX0sby5wcm90b3R5cGUuaXNFdmVuPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PSgxJnRoaXMud29yZHNbMF0pfSxvLnByb3RvdHlwZS5pc09kZD1mdW5jdGlvbigpe3JldHVybiAxPT0oMSZ0aGlzLndvcmRzWzBdKX0sby5wcm90b3R5cGUuYW5kbG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud29yZHNbMF0mdH0sby5wcm90b3R5cGUuYmluY249ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQpO3ZhciBlPXQlMjYscj0odC1lKS8yNixpPTE8PGU7aWYodGhpcy5sZW5ndGg8PXIpcmV0dXJuIHRoaXMuX2V4cGFuZChyKzEpLHRoaXMud29yZHNbcl18PWksdGhpcztmb3IodmFyIG89aSxzPXI7MCE9PW8mJnM8dGhpcy5sZW5ndGg7cysrKXt2YXIgYT0wfHRoaXMud29yZHNbc107bz0oYSs9byk+Pj4yNixhJj02NzEwODg2Myx0aGlzLndvcmRzW3NdPWF9cmV0dXJuIDAhPT1vJiYodGhpcy53b3Jkc1tzXT1vLHRoaXMubGVuZ3RoKyspLHRoaXN9LG8ucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdfSxvLnByb3RvdHlwZS5jbXBuPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dDwwO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYhcilyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmcilyZXR1cm4gMTtpZih0aGlzLnN0cmlwKCksdGhpcy5sZW5ndGg+MSllPTE7ZWxzZXtyJiYodD0tdCksbih0PD02NzEwODg2MywiTnVtYmVyIGlzIHRvbyBiaWciKTt2YXIgaT0wfHRoaXMud29yZHNbMF07ZT1pPT09dD8wOmk8dD8tMToxfXJldHVybiAwIT09dGhpcy5uZWdhdGl2ZT8wfC1lOmV9LG8ucHJvdG90eXBlLmNtcD1mdW5jdGlvbih0KXtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmUpcmV0dXJuLTE7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlKXJldHVybiAxO3ZhciBlPXRoaXMudWNtcCh0KTtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/MHwtZTplfSxvLnByb3RvdHlwZS51Y21wPWZ1bmN0aW9uKHQpe2lmKHRoaXMubGVuZ3RoPnQubGVuZ3RoKXJldHVybiAxO2lmKHRoaXMubGVuZ3RoPHQubGVuZ3RoKXJldHVybi0xO2Zvcih2YXIgZT0wLHI9dGhpcy5sZW5ndGgtMTtyPj0wO3ItLSl7dmFyIG49MHx0aGlzLndvcmRzW3JdLGk9MHx0LndvcmRzW3JdO2lmKG4hPT1pKXtuPGk/ZT0tMTpuPmkmJihlPTEpO2JyZWFrfX1yZXR1cm4gZX0sby5wcm90b3R5cGUuZ3RuPWZ1bmN0aW9uKHQpe3JldHVybiAxPT09dGhpcy5jbXBuKHQpfSxvLnByb3RvdHlwZS5ndD1mdW5jdGlvbih0KXtyZXR1cm4gMT09PXRoaXMuY21wKHQpfSxvLnByb3RvdHlwZS5ndGVuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcG4odCk+PTB9LG8ucHJvdG90eXBlLmd0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXAodCk+PTB9LG8ucHJvdG90eXBlLmx0bj1mdW5jdGlvbih0KXtyZXR1cm4tMT09PXRoaXMuY21wbih0KX0sby5wcm90b3R5cGUubHQ9ZnVuY3Rpb24odCl7cmV0dXJuLTE9PT10aGlzLmNtcCh0KX0sby5wcm90b3R5cGUubHRlbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXBuKHQpPD0wfSxvLnByb3RvdHlwZS5sdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wKHQpPD0wfSxvLnByb3RvdHlwZS5lcW49ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10aGlzLmNtcG4odCl9LG8ucHJvdG90eXBlLmVxPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09dGhpcy5jbXAodCl9LG8ucmVkPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgTSh0KX0sby5wcm90b3R5cGUudG9SZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4oIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0IiksbigwPT09dGhpcy5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSx0LmNvbnZlcnRUbyh0aGlzKS5fZm9yY2VSZWQodCl9LG8ucHJvdG90eXBlLmZyb21SZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwiZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCIpLHRoaXMucmVkLmNvbnZlcnRGcm9tKHRoaXMpfSxvLnByb3RvdHlwZS5fZm9yY2VSZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmVkPXQsdGhpc30sby5wcm90b3R5cGUuZm9yY2VSZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4oIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0IiksdGhpcy5fZm9yY2VSZWQodCl9LG8ucHJvdG90eXBlLnJlZEFkZD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmFkZCh0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRJQWRkPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmlhZGQodGhpcyx0KX0sby5wcm90b3R5cGUucmVkU3ViPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuc3ViKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZElTdWI9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZElTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuaXN1Yih0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRTaGw9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZFNobCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5zaGwodGhpcyx0KX0sby5wcm90b3R5cGUucmVkTXVsPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTIodGhpcyx0KSx0aGlzLnJlZC5tdWwodGhpcyx0KX0sby5wcm90b3R5cGUucmVkSU11bD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsdCksdGhpcy5yZWQuaW11bCh0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRTcXI9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnNxcih0aGlzKX0sby5wcm90b3R5cGUucmVkSVNxcj1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLmlzcXIodGhpcyl9LG8ucHJvdG90eXBlLnJlZFNxcnQ9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU3FydCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5zcXJ0KHRoaXMpfSxvLnByb3RvdHlwZS5yZWRJbnZtPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZEludm0gd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuaW52bSh0aGlzKX0sby5wcm90b3R5cGUucmVkTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5uZWcodGhpcyl9LG8ucHJvdG90eXBlLnJlZFBvdz1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCYmIXQucmVkLCJyZWRQb3cobm9ybWFsTnVtKSIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnBvdyh0aGlzLHQpfTt2YXIgZz17azI1NjpudWxsLHAyMjQ6bnVsbCxwMTkyOm51bGwscDI1NTE5Om51bGx9O2Z1bmN0aW9uIGIodCxlKXt0aGlzLm5hbWU9dCx0aGlzLnA9bmV3IG8oZSwxNiksdGhpcy5uPXRoaXMucC5iaXRMZW5ndGgoKSx0aGlzLms9bmV3IG8oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApLHRoaXMudG1wPXRoaXMuX3RtcCgpfWZ1bmN0aW9uIHkoKXtiLmNhbGwodGhpcywiazI1NiIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmIil9ZnVuY3Rpb24gdigpe2IuY2FsbCh0aGlzLCJwMjI0IiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEiKX1mdW5jdGlvbiBfKCl7Yi5jYWxsKHRoaXMsInAxOTIiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZiIpfWZ1bmN0aW9uIHcoKXtiLmNhbGwodGhpcywiMjU1MTkiLCI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkIil9ZnVuY3Rpb24gTSh0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBlPW8uX3ByaW1lKHQpO3RoaXMubT1lLnAsdGhpcy5wcmltZT1lfWVsc2Ugbih0Lmd0bigxKSwibW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxIiksdGhpcy5tPXQsdGhpcy5wcmltZT1udWxsfWZ1bmN0aW9uIFModCl7TS5jYWxsKHRoaXMsdCksdGhpcy5zaGlmdD10aGlzLm0uYml0TGVuZ3RoKCksdGhpcy5zaGlmdCUyNiE9MCYmKHRoaXMuc2hpZnQrPTI2LXRoaXMuc2hpZnQlMjYpLHRoaXMucj1uZXcgbygxKS5pdXNobG4odGhpcy5zaGlmdCksdGhpcy5yMj10aGlzLmltb2QodGhpcy5yLnNxcigpKSx0aGlzLnJpbnY9dGhpcy5yLl9pbnZtcCh0aGlzLm0pLHRoaXMubWludj10aGlzLnJpbnYubXVsKHRoaXMucikuaXN1Ym4oMSkuZGl2KHRoaXMubSksdGhpcy5taW52PXRoaXMubWludi51bW9kKHRoaXMuciksdGhpcy5taW52PXRoaXMuci5zdWIodGhpcy5taW52KX1iLnByb3RvdHlwZS5fdG1wPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IG8obnVsbCk7cmV0dXJuIHQud29yZHM9bmV3IEFycmF5KE1hdGguY2VpbCh0aGlzLm4vMTMpKSx0fSxiLnByb3RvdHlwZS5pcmVkdWNlPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dDtkb3t0aGlzLnNwbGl0KHIsdGhpcy50bXApLGU9KHI9KHI9dGhpcy5pbXVsSyhyKSkuaWFkZCh0aGlzLnRtcCkpLmJpdExlbmd0aCgpfXdoaWxlKGU+dGhpcy5uKTt2YXIgbj1lPHRoaXMubj8tMTpyLnVjbXAodGhpcy5wKTtyZXR1cm4gMD09PW4/KHIud29yZHNbMF09MCxyLmxlbmd0aD0xKTpuPjA/ci5pc3ViKHRoaXMucCk6ci5zdHJpcCgpLHJ9LGIucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7dC5pdXNocm4odGhpcy5uLDAsZSl9LGIucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe3JldHVybiB0LmltdWwodGhpcy5rKX0saSh5LGIpLHkucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPU1hdGgubWluKHQubGVuZ3RoLDkpLG49MDtuPHI7bisrKWUud29yZHNbbl09dC53b3Jkc1tuXTtpZihlLmxlbmd0aD1yLHQubGVuZ3RoPD05KXJldHVybiB0LndvcmRzWzBdPTAsdm9pZCh0Lmxlbmd0aD0xKTt2YXIgaT10LndvcmRzWzldO2ZvcihlLndvcmRzW2UubGVuZ3RoKytdPTQxOTQzMDMmaSxuPTEwO248dC5sZW5ndGg7bisrKXt2YXIgbz0wfHQud29yZHNbbl07dC53b3Jkc1tuLTEwXT0oNDE5NDMwMyZvKTw8NHxpPj4+MjIsaT1vfWk+Pj49MjIsdC53b3Jkc1tuLTEwXT1pLDA9PT1pJiZ0Lmxlbmd0aD4xMD90Lmxlbmd0aC09MTA6dC5sZW5ndGgtPTl9LHkucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe3Qud29yZHNbdC5sZW5ndGhdPTAsdC53b3Jkc1t0Lmxlbmd0aCsxXT0wLHQubGVuZ3RoKz0yO2Zvcih2YXIgZT0wLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49MHx0LndvcmRzW3JdO2UrPTk3NypuLHQud29yZHNbcl09NjcxMDg4NjMmZSxlPTY0Km4rKGUvNjcxMDg4NjR8MCl9cmV0dXJuIDA9PT10LndvcmRzW3QubGVuZ3RoLTFdJiYodC5sZW5ndGgtLSwwPT09dC53b3Jkc1t0Lmxlbmd0aC0xXSYmdC5sZW5ndGgtLSksdH0saSh2LGIpLGkoXyxiKSxpKHcsYiksdy5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj0xOSooMHx0LndvcmRzW3JdKStlLGk9NjcxMDg4NjMmbjtuPj4+PTI2LHQud29yZHNbcl09aSxlPW59cmV0dXJuIDAhPT1lJiYodC53b3Jkc1t0Lmxlbmd0aCsrXT1lKSx0fSxvLl9wcmltZT1mdW5jdGlvbih0KXtpZihnW3RdKXJldHVybiBnW3RdO3ZhciBlO2lmKCJrMjU2Ij09PXQpZT1uZXcgeTtlbHNlIGlmKCJwMjI0Ij09PXQpZT1uZXcgdjtlbHNlIGlmKCJwMTkyIj09PXQpZT1uZXcgXztlbHNle2lmKCJwMjU1MTkiIT09dCl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcHJpbWUgIit0KTtlPW5ldyB3fXJldHVybiBnW3RdPWUsZX0sTS5wcm90b3R5cGUuX3ZlcmlmeTE9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxuKHQucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LE0ucHJvdG90eXBlLl92ZXJpZnkyPWZ1bmN0aW9uKHQsZSl7bigwPT0odC5uZWdhdGl2ZXxlLm5lZ2F0aXZlKSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxuKHQucmVkJiZ0LnJlZD09PWUucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LE0ucHJvdG90eXBlLmltb2Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucHJpbWU/dGhpcy5wcmltZS5pcmVkdWNlKHQpLl9mb3JjZVJlZCh0aGlzKTp0LnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcyl9LE0ucHJvdG90eXBlLm5lZz1mdW5jdGlvbih0KXtyZXR1cm4gdC5pc1plcm8oKT90LmNsb25lKCk6dGhpcy5tLnN1Yih0KS5fZm9yY2VSZWQodGhpcyl9LE0ucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmFkZChlKTtyZXR1cm4gci5jbXAodGhpcy5tKT49MCYmci5pc3ViKHRoaXMubSksci5fZm9yY2VSZWQodGhpcyl9LE0ucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5pYWRkKGUpO3JldHVybiByLmNtcCh0aGlzLm0pPj0wJiZyLmlzdWIodGhpcy5tKSxyfSxNLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5zdWIoZSk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyLl9mb3JjZVJlZCh0aGlzKX0sTS5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmlzdWIoZSk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyfSxNLnByb3RvdHlwZS5zaGw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5MSh0KSx0aGlzLmltb2QodC51c2hsbihlKSl9LE0ucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5Mih0LGUpLHRoaXMuaW1vZCh0LmltdWwoZSkpfSxNLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5Mih0LGUpLHRoaXMuaW1vZCh0Lm11bChlKSl9LE0ucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW11bCh0LHQuY2xvbmUoKSl9LE0ucHJvdG90eXBlLnNxcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5tdWwodCx0KX0sTS5wcm90b3R5cGUuc3FydD1mdW5jdGlvbih0KXtpZih0LmlzWmVybygpKXJldHVybiB0LmNsb25lKCk7dmFyIGU9dGhpcy5tLmFuZGxuKDMpO2lmKG4oZSUyPT0xKSwzPT09ZSl7dmFyIHI9dGhpcy5tLmFkZChuZXcgbygxKSkuaXVzaHJuKDIpO3JldHVybiB0aGlzLnBvdyh0LHIpfWZvcih2YXIgaT10aGlzLm0uc3VibigxKSxzPTA7IWkuaXNaZXJvKCkmJjA9PT1pLmFuZGxuKDEpOylzKyssaS5pdXNocm4oMSk7bighaS5pc1plcm8oKSk7dmFyIGE9bmV3IG8oMSkudG9SZWQodGhpcyksdT1hLnJlZE5lZygpLGM9dGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpLGY9dGhpcy5tLmJpdExlbmd0aCgpO2ZvcihmPW5ldyBvKDIqZipmKS50b1JlZCh0aGlzKTswIT09dGhpcy5wb3coZixjKS5jbXAodSk7KWYucmVkSUFkZCh1KTtmb3IodmFyIGg9dGhpcy5wb3coZixpKSxsPXRoaXMucG93KHQsaS5hZGRuKDEpLml1c2hybigxKSksZD10aGlzLnBvdyh0LGkpLHA9czswIT09ZC5jbXAoYSk7KXtmb3IodmFyIG09ZCxnPTA7MCE9PW0uY21wKGEpO2crKyltPW0ucmVkU3FyKCk7bihnPHApO3ZhciBiPXRoaXMucG93KGgsbmV3IG8oMSkuaXVzaGxuKHAtZy0xKSk7bD1sLnJlZE11bChiKSxoPWIucmVkU3FyKCksZD1kLnJlZE11bChoKSxwPWd9cmV0dXJuIGx9LE0ucHJvdG90eXBlLmludm09ZnVuY3Rpb24odCl7dmFyIGU9dC5faW52bXAodGhpcy5tKTtyZXR1cm4gMCE9PWUubmVnYXRpdmU/KGUubmVnYXRpdmU9MCx0aGlzLmltb2QoZSkucmVkTmVnKCkpOnRoaXMuaW1vZChlKX0sTS5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHQsZSl7aWYoZS5pc1plcm8oKSlyZXR1cm4gbmV3IG8oMSkudG9SZWQodGhpcyk7aWYoMD09PWUuY21wbigxKSlyZXR1cm4gdC5jbG9uZSgpO3ZhciByPW5ldyBBcnJheSgxNik7clswXT1uZXcgbygxKS50b1JlZCh0aGlzKSxyWzFdPXQ7Zm9yKHZhciBuPTI7bjxyLmxlbmd0aDtuKyspcltuXT10aGlzLm11bChyW24tMV0sdCk7dmFyIGk9clswXSxzPTAsYT0wLHU9ZS5iaXRMZW5ndGgoKSUyNjtmb3IoMD09PXUmJih1PTI2KSxuPWUubGVuZ3RoLTE7bj49MDtuLS0pe2Zvcih2YXIgYz1lLndvcmRzW25dLGY9dS0xO2Y+PTA7Zi0tKXt2YXIgaD1jPj5mJjE7aSE9PXJbMF0mJihpPXRoaXMuc3FyKGkpKSwwIT09aHx8MCE9PXM/KHM8PD0xLHN8PWgsKDQ9PT0rK2F8fDA9PT1uJiYwPT09ZikmJihpPXRoaXMubXVsKGkscltzXSksYT0wLHM9MCkpOmE9MH11PTI2fXJldHVybiBpfSxNLnByb3RvdHlwZS5jb252ZXJ0VG89ZnVuY3Rpb24odCl7dmFyIGU9dC51bW9kKHRoaXMubSk7cmV0dXJuIGU9PT10P2UuY2xvbmUoKTplfSxNLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbih0KXt2YXIgZT10LmNsb25lKCk7cmV0dXJuIGUucmVkPW51bGwsZX0sby5tb250PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUyh0KX0saShTLE0pLFMucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbW9kKHQudXNobG4odGhpcy5zaGlmdCkpfSxTLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmltb2QodC5tdWwodGhpcy5yaW52KSk7cmV0dXJuIGUucmVkPW51bGwsZX0sUy5wcm90b3R5cGUuaW11bD1mdW5jdGlvbih0LGUpe2lmKHQuaXNaZXJvKCl8fGUuaXNaZXJvKCkpcmV0dXJuIHQud29yZHNbMF09MCx0Lmxlbmd0aD0xLHQ7dmFyIHI9dC5pbXVsKGUpLG49ci5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSksaT1yLmlzdWIobikuaXVzaHJuKHRoaXMuc2hpZnQpLG89aTtyZXR1cm4gaS5jbXAodGhpcy5tKT49MD9vPWkuaXN1Yih0aGlzLm0pOmkuY21wbigwKTwwJiYobz1pLmlhZGQodGhpcy5tKSksby5fZm9yY2VSZWQodGhpcyl9LFMucHJvdG90eXBlLm11bD1mdW5jdGlvbih0LGUpe2lmKHQuaXNaZXJvKCl8fGUuaXNaZXJvKCkpcmV0dXJuIG5ldyBvKDApLl9mb3JjZVJlZCh0aGlzKTt2YXIgcj10Lm11bChlKSxuPXIubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pLGk9ci5pc3ViKG4pLml1c2hybih0aGlzLnNoaWZ0KSxzPWk7cmV0dXJuIGkuY21wKHRoaXMubSk+PTA/cz1pLmlzdWIodGhpcy5tKTppLmNtcG4oMCk8MCYmKHM9aS5pYWRkKHRoaXMubSkpLHMuX2ZvcmNlUmVkKHRoaXMpfSxTLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltb2QodC5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpLl9mb3JjZVJlZCh0aGlzKX19KHQsdGhpcyl9KS5jYWxsKHRoaXMscigyNSkodCkpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCl7bGV0IGU9dm9pZCAwO3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ2b2lkIDAhPT13aW5kb3dbdF0mJihlPXdpbmRvd1t0XSksZX1mdW5jdGlvbiBpKHQpe2NvbnN0IGU9bih0KTtpZighZSl0aHJvdyBuZXcgRXJyb3IodCsiIGlzIG5vdCBkZWZpbmVkIGluIFdpbmRvdyIpO3JldHVybiBlfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmdldExvY2FsU3RvcmFnZT1lLmdldExvY2FsU3RvcmFnZU9yVGhyb3c9ZS5nZXRDcnlwdG89ZS5nZXRDcnlwdG9PclRocm93PWUuZ2V0TG9jYXRpb249ZS5nZXRMb2NhdGlvbk9yVGhyb3c9ZS5nZXROYXZpZ2F0b3I9ZS5nZXROYXZpZ2F0b3JPclRocm93PWUuZ2V0RG9jdW1lbnQ9ZS5nZXREb2N1bWVudE9yVGhyb3c9ZS5nZXRGcm9tV2luZG93T3JUaHJvdz1lLmdldEZyb21XaW5kb3c9dm9pZCAwLGUuZ2V0RnJvbVdpbmRvdz1uLGUuZ2V0RnJvbVdpbmRvd09yVGhyb3c9aSxlLmdldERvY3VtZW50T3JUaHJvdz1mdW5jdGlvbigpe3JldHVybiBpKCJkb2N1bWVudCIpfSxlLmdldERvY3VtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIG4oImRvY3VtZW50Iil9LGUuZ2V0TmF2aWdhdG9yT3JUaHJvdz1mdW5jdGlvbigpe3JldHVybiBpKCJuYXZpZ2F0b3IiKX0sZS5nZXROYXZpZ2F0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gbigibmF2aWdhdG9yIil9LGUuZ2V0TG9jYXRpb25PclRocm93PWZ1bmN0aW9uKCl7cmV0dXJuIGkoImxvY2F0aW9uIil9LGUuZ2V0TG9jYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gbigibG9jYXRpb24iKX0sZS5nZXRDcnlwdG9PclRocm93PWZ1bmN0aW9uKCl7cmV0dXJuIGkoImNyeXB0byIpfSxlLmdldENyeXB0bz1mdW5jdGlvbigpe3JldHVybiBuKCJjcnlwdG8iKX0sZS5nZXRMb2NhbFN0b3JhZ2VPclRocm93PWZ1bmN0aW9uKCl7cmV0dXJuIGkoImxvY2FsU3RvcmFnZSIpfSxlLmdldExvY2FsU3RvcmFnZT1mdW5jdGlvbigpe3JldHVybiBuKCJsb2NhbFN0b3JhZ2UiKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49ZSxpPXIoMTYpLG89cigyMikscz1yKDEyMCk7bi5hc3NlcnQ9byxuLnRvQXJyYXk9cy50b0FycmF5LG4uemVybzI9cy56ZXJvMixuLnRvSGV4PXMudG9IZXgsbi5lbmNvZGU9cy5lbmNvZGUsbi5nZXROQUY9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPW5ldyBBcnJheShNYXRoLm1heCh0LmJpdExlbmd0aCgpLHIpKzEpO24uZmlsbCgwKTtmb3IodmFyIGk9MTw8ZSsxLG89dC5jbG9uZSgpLHM9MDtzPG4ubGVuZ3RoO3MrKyl7dmFyIGEsdT1vLmFuZGxuKGktMSk7by5pc09kZCgpPyhhPXU+KGk+PjEpLTE/KGk+PjEpLXU6dSxvLmlzdWJuKGEpKTphPTAsbltzXT1hLG8uaXVzaHJuKDEpfXJldHVybiBufSxuLmdldEpTRj1mdW5jdGlvbih0LGUpe3ZhciByPVtbXSxbXV07dD10LmNsb25lKCksZT1lLmNsb25lKCk7Zm9yKHZhciBuLGk9MCxvPTA7dC5jbXBuKC1pKT4wfHxlLmNtcG4oLW8pPjA7KXt2YXIgcyxhLHU9dC5hbmRsbigzKStpJjMsYz1lLmFuZGxuKDMpK28mMzszPT09dSYmKHU9LTEpLDM9PT1jJiYoYz0tMSkscz0wPT0oMSZ1KT8wOjMhPT0obj10LmFuZGxuKDcpK2kmNykmJjUhPT1ufHwyIT09Yz91Oi11LHJbMF0ucHVzaChzKSxhPTA9PSgxJmMpPzA6MyE9PShuPWUuYW5kbG4oNykrbyY3KSYmNSE9PW58fDIhPT11P2M6LWMsclsxXS5wdXNoKGEpLDIqaT09PXMrMSYmKGk9MS1pKSwyKm89PT1hKzEmJihvPTEtbyksdC5pdXNocm4oMSksZS5pdXNocm4oMSl9cmV0dXJuIHJ9LG4uY2FjaGVkUHJvcGVydHk9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPSJfIitlO3QucHJvdG90eXBlW2VdPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXNbbl0/dGhpc1tuXTp0aGlzW25dPXIuY2FsbCh0aGlzKX19LG4ucGFyc2VCeXRlcz1mdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/bi50b0FycmF5KHQsImhleCIpOnR9LG4uaW50RnJvbUxFPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgaSh0LCJoZXgiLCJsZSIpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixpPSJvYmplY3QiPT10eXBlb2YgUmVmbGVjdD9SZWZsZWN0Om51bGwsbz1pJiYiZnVuY3Rpb24iPT10eXBlb2YgaS5hcHBseT9pLmFwcGx5OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwodCxlLHIpfTtuPWkmJiJmdW5jdGlvbiI9PXR5cGVvZiBpLm93bktleXM/aS5vd25LZXlzOk9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpKX06ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpfTt2YXIgcz1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKHQpe3JldHVybiB0IT10fTtmdW5jdGlvbiBhKCl7YS5pbml0LmNhbGwodGhpcyl9dC5leHBvcnRzPWEsdC5leHBvcnRzLm9uY2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHIsbil7ZnVuY3Rpb24gaShyKXt0LnJlbW92ZUxpc3RlbmVyKGUsbyksbihyKX1mdW5jdGlvbiBvKCl7ImZ1bmN0aW9uIj09dHlwZW9mIHQucmVtb3ZlTGlzdGVuZXImJnQucmVtb3ZlTGlzdGVuZXIoImVycm9yIixpKSxyKFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSl9Yih0LGUsbyx7b25jZTohMH0pLCJlcnJvciIhPT1lJiZmdW5jdGlvbih0LGUscil7ImZ1bmN0aW9uIj09dHlwZW9mIHQub24mJmIodCwiZXJyb3IiLGUscil9KHQsaSx7b25jZTohMH0pfSkpfSxhLkV2ZW50RW1pdHRlcj1hLGEucHJvdG90eXBlLl9ldmVudHM9dm9pZCAwLGEucHJvdG90eXBlLl9ldmVudHNDb3VudD0wLGEucHJvdG90eXBlLl9tYXhMaXN0ZW5lcnM9dm9pZCAwO3ZhciB1PTEwO2Z1bmN0aW9uIGModCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJsaXN0ZW5lciIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEZ1bmN0aW9uLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIHQpfWZ1bmN0aW9uIGYodCl7cmV0dXJuIHZvaWQgMD09PXQuX21heExpc3RlbmVycz9hLmRlZmF1bHRNYXhMaXN0ZW5lcnM6dC5fbWF4TGlzdGVuZXJzfWZ1bmN0aW9uIGgodCxlLHIsbil7dmFyIGksbyxzLGE7aWYoYyhyKSx2b2lkIDA9PT0obz10Ll9ldmVudHMpPyhvPXQuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHQuX2V2ZW50c0NvdW50PTApOih2b2lkIDAhPT1vLm5ld0xpc3RlbmVyJiYodC5lbWl0KCJuZXdMaXN0ZW5lciIsZSxyLmxpc3RlbmVyP3IubGlzdGVuZXI6ciksbz10Ll9ldmVudHMpLHM9b1tlXSksdm9pZCAwPT09cylzPW9bZV09ciwrK3QuX2V2ZW50c0NvdW50O2Vsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mIHM/cz1vW2VdPW4/W3Isc106W3Mscl06bj9zLnVuc2hpZnQocik6cy5wdXNoKHIpLChpPWYodCkpPjAmJnMubGVuZ3RoPmkmJiFzLndhcm5lZCl7cy53YXJuZWQ9ITA7dmFyIHU9bmV3IEVycm9yKCJQb3NzaWJsZSBFdmVudEVtaXR0ZXIgbWVtb3J5IGxlYWsgZGV0ZWN0ZWQuICIrcy5sZW5ndGgrIiAiK1N0cmluZyhlKSsiIGxpc3RlbmVycyBhZGRlZC4gVXNlIGVtaXR0ZXIuc2V0TWF4TGlzdGVuZXJzKCkgdG8gaW5jcmVhc2UgbGltaXQiKTt1Lm5hbWU9Ik1heExpc3RlbmVyc0V4Y2VlZGVkV2FybmluZyIsdS5lbWl0dGVyPXQsdS50eXBlPWUsdS5jb3VudD1zLmxlbmd0aCxhPXUsY29uc29sZSYmY29uc29sZS53YXJuJiZjb25zb2xlLndhcm4oYSl9cmV0dXJuIHR9ZnVuY3Rpb24gbCgpe2lmKCF0aGlzLmZpcmVkKXJldHVybiB0aGlzLnRhcmdldC5yZW1vdmVMaXN0ZW5lcih0aGlzLnR5cGUsdGhpcy53cmFwRm4pLHRoaXMuZmlyZWQ9ITAsMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5saXN0ZW5lci5jYWxsKHRoaXMudGFyZ2V0KTp0aGlzLmxpc3RlbmVyLmFwcGx5KHRoaXMudGFyZ2V0LGFyZ3VtZW50cyl9ZnVuY3Rpb24gZCh0LGUscil7dmFyIG49e2ZpcmVkOiExLHdyYXBGbjp2b2lkIDAsdGFyZ2V0OnQsdHlwZTplLGxpc3RlbmVyOnJ9LGk9bC5iaW5kKG4pO3JldHVybiBpLmxpc3RlbmVyPXIsbi53cmFwRm49aSxpfWZ1bmN0aW9uIHAodCxlLHIpe3ZhciBuPXQuX2V2ZW50cztpZih2b2lkIDA9PT1uKXJldHVybltdO3ZhciBpPW5bZV07cmV0dXJuIHZvaWQgMD09PWk/W106ImZ1bmN0aW9uIj09dHlwZW9mIGk/cj9baS5saXN0ZW5lcnx8aV06W2ldOnI/ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0Lmxlbmd0aCkscj0wO3I8ZS5sZW5ndGg7KytyKWVbcl09dFtyXS5saXN0ZW5lcnx8dFtyXTtyZXR1cm4gZX0oaSk6ZyhpLGkubGVuZ3RoKX1mdW5jdGlvbiBtKHQpe3ZhciBlPXRoaXMuX2V2ZW50cztpZih2b2lkIDAhPT1lKXt2YXIgcj1lW3RdO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiByKXJldHVybiAxO2lmKHZvaWQgMCE9PXIpcmV0dXJuIHIubGVuZ3RofXJldHVybiAwfWZ1bmN0aW9uIGcodCxlKXtmb3IodmFyIHI9bmV3IEFycmF5KGUpLG49MDtuPGU7KytuKXJbbl09dFtuXTtyZXR1cm4gcn1mdW5jdGlvbiBiKHQsZSxyLG4pe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0Lm9uKW4ub25jZT90Lm9uY2UoZSxyKTp0Lm9uKGUscik7ZWxzZXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdC5hZGRFdmVudExpc3RlbmVyKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAiZW1pdHRlciIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEV2ZW50RW1pdHRlci4gUmVjZWl2ZWQgdHlwZSAnK3R5cGVvZiB0KTt0LmFkZEV2ZW50TGlzdGVuZXIoZSwoZnVuY3Rpb24gaShvKXtuLm9uY2UmJnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGkpLHIobyl9KSl9fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJkZWZhdWx0TWF4TGlzdGVuZXJzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sc2V0OmZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiIT10eXBlb2YgdHx8dDwwfHxzKHQpKXRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgb2YgImRlZmF1bHRNYXhMaXN0ZW5lcnMiIGlzIG91dCBvZiByYW5nZS4gSXQgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIuIFJlY2VpdmVkICcrdCsiLiIpO3U9dH19KSxhLmluaXQ9ZnVuY3Rpb24oKXt2b2lkIDAhPT10aGlzLl9ldmVudHMmJnRoaXMuX2V2ZW50cyE9PU9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKS5fZXZlbnRzfHwodGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpcy5fbWF4TGlzdGVuZXJzPXRoaXMuX21heExpc3RlbmVyc3x8dm9pZCAwfSxhLnByb3RvdHlwZS5zZXRNYXhMaXN0ZW5lcnM9ZnVuY3Rpb24odCl7aWYoIm51bWJlciIhPXR5cGVvZiB0fHx0PDB8fHModCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBvZiAibiIgaXMgb3V0IG9mIHJhbmdlLiBJdCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlci4gUmVjZWl2ZWQgJyt0KyIuIik7cmV0dXJuIHRoaXMuX21heExpc3RlbmVycz10LHRoaXN9LGEucHJvdG90eXBlLmdldE1heExpc3RlbmVycz1mdW5jdGlvbigpe3JldHVybiBmKHRoaXMpfSxhLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyllLnB1c2goYXJndW1lbnRzW3JdKTt2YXIgbj0iZXJyb3IiPT09dCxpPXRoaXMuX2V2ZW50cztpZih2b2lkIDAhPT1pKW49biYmdm9pZCAwPT09aS5lcnJvcjtlbHNlIGlmKCFuKXJldHVybiExO2lmKG4pe3ZhciBzO2lmKGUubGVuZ3RoPjAmJihzPWVbMF0pLHMgaW5zdGFuY2VvZiBFcnJvcil0aHJvdyBzO3ZhciBhPW5ldyBFcnJvcigiVW5oYW5kbGVkIGVycm9yLiIrKHM/IiAoIitzLm1lc3NhZ2UrIikiOiIiKSk7dGhyb3cgYS5jb250ZXh0PXMsYX12YXIgdT1pW3RdO2lmKHZvaWQgMD09PXUpcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHUpbyh1LHRoaXMsZSk7ZWxzZXt2YXIgYz11Lmxlbmd0aCxmPWcodSxjKTtmb3Iocj0wO3I8YzsrK3IpbyhmW3JdLHRoaXMsZSl9cmV0dXJuITB9LGEucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGgodGhpcyx0LGUsITEpfSxhLnByb3RvdHlwZS5vbj1hLnByb3RvdHlwZS5hZGRMaXN0ZW5lcixhLnByb3RvdHlwZS5wcmVwZW5kTGlzdGVuZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaCh0aGlzLHQsZSwhMCl9LGEucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYyhlKSx0aGlzLm9uKHQsZCh0aGlzLHQsZSkpLHRoaXN9LGEucHJvdG90eXBlLnByZXBlbmRPbmNlTGlzdGVuZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYyhlKSx0aGlzLnByZXBlbmRMaXN0ZW5lcih0LGQodGhpcyx0LGUpKSx0aGlzfSxhLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbih0LGUpe3ZhciByLG4saSxvLHM7aWYoYyhlKSx2b2lkIDA9PT0obj10aGlzLl9ldmVudHMpKXJldHVybiB0aGlzO2lmKHZvaWQgMD09PShyPW5bdF0pKXJldHVybiB0aGlzO2lmKHI9PT1lfHxyLmxpc3RlbmVyPT09ZSkwPT0tLXRoaXMuX2V2ZW50c0NvdW50P3RoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpOihkZWxldGUgblt0XSxuLnJlbW92ZUxpc3RlbmVyJiZ0aGlzLmVtaXQoInJlbW92ZUxpc3RlbmVyIix0LHIubGlzdGVuZXJ8fGUpKTtlbHNlIGlmKCJmdW5jdGlvbiIhPXR5cGVvZiByKXtmb3IoaT0tMSxvPXIubGVuZ3RoLTE7bz49MDtvLS0paWYocltvXT09PWV8fHJbb10ubGlzdGVuZXI9PT1lKXtzPXJbb10ubGlzdGVuZXIsaT1vO2JyZWFrfWlmKGk8MClyZXR1cm4gdGhpczswPT09aT9yLnNoaWZ0KCk6ZnVuY3Rpb24odCxlKXtmb3IoO2UrMTx0Lmxlbmd0aDtlKyspdFtlXT10W2UrMV07dC5wb3AoKX0ocixpKSwxPT09ci5sZW5ndGgmJihuW3RdPXJbMF0pLHZvaWQgMCE9PW4ucmVtb3ZlTGlzdGVuZXImJnRoaXMuZW1pdCgicmVtb3ZlTGlzdGVuZXIiLHQsc3x8ZSl9cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLm9mZj1hLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcixhLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24odCl7dmFyIGUscixuO2lmKHZvaWQgMD09PShyPXRoaXMuX2V2ZW50cykpcmV0dXJuIHRoaXM7aWYodm9pZCAwPT09ci5yZW1vdmVMaXN0ZW5lcilyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTApOnZvaWQgMCE9PXJbdF0mJigwPT0tLXRoaXMuX2V2ZW50c0NvdW50P3RoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpOmRlbGV0ZSByW3RdKSx0aGlzO2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXt2YXIgaSxvPU9iamVjdC5rZXlzKHIpO2ZvcihuPTA7bjxvLmxlbmd0aDsrK24pInJlbW92ZUxpc3RlbmVyIiE9PShpPW9bbl0pJiZ0aGlzLnJlbW92ZUFsbExpc3RlbmVycyhpKTtyZXR1cm4gdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoInJlbW92ZUxpc3RlbmVyIiksdGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fZXZlbnRzQ291bnQ9MCx0aGlzfWlmKCJmdW5jdGlvbiI9PXR5cGVvZihlPXJbdF0pKXRoaXMucmVtb3ZlTGlzdGVuZXIodCxlKTtlbHNlIGlmKHZvaWQgMCE9PWUpZm9yKG49ZS5sZW5ndGgtMTtuPj0wO24tLSl0aGlzLnJlbW92ZUxpc3RlbmVyKHQsZVtuXSk7cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbih0KXtyZXR1cm4gcCh0aGlzLHQsITApfSxhLnByb3RvdHlwZS5yYXdMaXN0ZW5lcnM9ZnVuY3Rpb24odCl7cmV0dXJuIHAodGhpcyx0LCExKX0sYS5saXN0ZW5lckNvdW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQubGlzdGVuZXJDb3VudD90Lmxpc3RlbmVyQ291bnQoZSk6bS5jYWxsKHQsZSl9LGEucHJvdG90eXBlLmxpc3RlbmVyQ291bnQ9bSxhLnByb3RvdHlwZS5ldmVudE5hbWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2V2ZW50c0NvdW50PjA/bih0aGlzLl9ldmVudHMpOltdfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMiksaT1uLkJ1ZmZlcjtmdW5jdGlvbiBvKHQsZSl7Zm9yKHZhciByIGluIHQpZVtyXT10W3JdfWZ1bmN0aW9uIHModCxlLHIpe3JldHVybiBpKHQsZSxyKX1pLmZyb20mJmkuYWxsb2MmJmkuYWxsb2NVbnNhZmUmJmkuYWxsb2NVbnNhZmVTbG93P3QuZXhwb3J0cz1uOihvKG4sZSksZS5CdWZmZXI9cykscy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShpLnByb3RvdHlwZSksbyhpLHMpLHMuZnJvbT1mdW5jdGlvbih0LGUscil7aWYoIm51bWJlciI9PXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyIik7cmV0dXJuIGkodCxlLHIpfSxzLmFsbG9jPWZ1bmN0aW9uKHQsZSxyKXtpZigibnVtYmVyIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlciIpO3ZhciBuPWkodCk7cmV0dXJuIHZvaWQgMCE9PWU/InN0cmluZyI9PXR5cGVvZiByP24uZmlsbChlLHIpOm4uZmlsbChlKTpuLmZpbGwoMCksbn0scy5hbGxvY1Vuc2FmZT1mdW5jdGlvbih0KXtpZigibnVtYmVyIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlciIpO3JldHVybiBpKHQpfSxzLmFsbG9jVW5zYWZlU2xvdz1mdW5jdGlvbih0KXtpZigibnVtYmVyIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlciIpO3JldHVybiBuLlNsb3dCdWZmZXIodCl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxyLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksci5kKGUsImMiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLHIuZChlLCJkIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxyLmQoZSwiZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ9KSksci5kKGUsImYiLChmdW5jdGlvbigpe3JldHVybiBofSkpO3ZhciBuPXIoOCksaT1yKDQpO2FzeW5jIGZ1bmN0aW9uIG8odCxlPWkuYSl7cmV0dXJuIG4uZ2V0U3VidGxlQ3J5cHRvKCkuaW1wb3J0S2V5KCJyYXciLHQsZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1pLmE/e2xlbmd0aDppLmIsbmFtZTppLmF9OntoYXNoOntuYW1lOmkuZn0sbmFtZTppLmV9fShlKSwhMCxmdW5jdGlvbih0KXtyZXR1cm4gdD09PWkuYT9baS5kLGkuY106W2kuayxpLmxdfShlKSl9YXN5bmMgZnVuY3Rpb24gcyh0LGUscil7Y29uc3Qgcz1uLmdldFN1YnRsZUNyeXB0bygpLGE9YXdhaXQgbyhlLGkuYSksdT1hd2FpdCBzLmVuY3J5cHQoe2l2OnQsbmFtZTppLmF9LGEscik7cmV0dXJuIG5ldyBVaW50OEFycmF5KHUpfWFzeW5jIGZ1bmN0aW9uIGEodCxlLHIpe2NvbnN0IHM9bi5nZXRTdWJ0bGVDcnlwdG8oKSxhPWF3YWl0IG8oZSxpLmEpLHU9YXdhaXQgcy5kZWNyeXB0KHtpdjp0LG5hbWU6aS5hfSxhLHIpO3JldHVybiBuZXcgVWludDhBcnJheSh1KX1hc3luYyBmdW5jdGlvbiB1KHQsZSl7Y29uc3Qgcj1uLmdldFN1YnRsZUNyeXB0bygpLHM9YXdhaXQgbyh0LGkuZSksYT1hd2FpdCByLnNpZ24oe2xlbmd0aDppLmcsbmFtZTppLmV9LHMsZSk7cmV0dXJuIG5ldyBVaW50OEFycmF5KGEpfWFzeW5jIGZ1bmN0aW9uIGModCxlKXtjb25zdCByPW4uZ2V0U3VidGxlQ3J5cHRvKCkscz1hd2FpdCBvKHQsaS5lKSxhPWF3YWl0IHIuc2lnbih7bGVuZ3RoOmkuaCxuYW1lOmkuZX0scyxlKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYSl9YXN5bmMgZnVuY3Rpb24gZih0KXtjb25zdCBlPW4uZ2V0U3VidGxlQ3J5cHRvKCkscj1hd2FpdCBlLmRpZ2VzdCh7bmFtZTppLml9LHQpO3JldHVybiBuZXcgVWludDhBcnJheShyKX1hc3luYyBmdW5jdGlvbiBoKHQpe2NvbnN0IGU9bi5nZXRTdWJ0bGVDcnlwdG8oKSxyPWF3YWl0IGUuZGlnZXN0KHtuYW1lOmkuan0sdCk7cmV0dXJuIG5ldyBVaW50OEFycmF5KHIpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDIyKSxpPXIoMyk7ZnVuY3Rpb24gbyh0LGUpe3JldHVybiA1NTI5Nj09KDY0NTEyJnQuY2hhckNvZGVBdChlKSkmJighKGU8MHx8ZSsxPj10Lmxlbmd0aCkmJjU2MzIwPT0oNjQ1MTImdC5jaGFyQ29kZUF0KGUrMSkpKX1mdW5jdGlvbiBzKHQpe3JldHVybih0Pj4+MjR8dD4+PjgmNjUyODB8dDw8OCYxNjcxMTY4MHwoMjU1JnQpPDwyNCk+Pj4wfWZ1bmN0aW9uIGEodCl7cmV0dXJuIDE9PT10Lmxlbmd0aD8iMCIrdDp0fWZ1bmN0aW9uIHUodCl7cmV0dXJuIDc9PT10Lmxlbmd0aD8iMCIrdDo2PT09dC5sZW5ndGg/IjAwIit0OjU9PT10Lmxlbmd0aD8iMDAwIit0OjQ9PT10Lmxlbmd0aD8iMDAwMCIrdDozPT09dC5sZW5ndGg/IjAwMDAwIit0OjI9PT10Lmxlbmd0aD8iMDAwMDAwIit0OjE9PT10Lmxlbmd0aD8iMDAwMDAwMCIrdDp0fWUuaW5oZXJpdHM9aSxlLnRvQXJyYXk9ZnVuY3Rpb24odCxlKXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiB0LnNsaWNlKCk7aWYoIXQpcmV0dXJuW107dmFyIHI9W107aWYoInN0cmluZyI9PXR5cGVvZiB0KWlmKGUpe2lmKCJoZXgiPT09ZSlmb3IoKHQ9dC5yZXBsYWNlKC9bXmEtejAtOV0rL2dpLCIiKSkubGVuZ3RoJTIhPTAmJih0PSIwIit0KSxpPTA7aTx0Lmxlbmd0aDtpKz0yKXIucHVzaChwYXJzZUludCh0W2ldK3RbaSsxXSwxNikpfWVsc2UgZm9yKHZhciBuPTAsaT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgcz10LmNoYXJDb2RlQXQoaSk7czwxMjg/cltuKytdPXM6czwyMDQ4PyhyW24rK109cz4+NnwxOTIscltuKytdPTYzJnN8MTI4KTpvKHQsaSk/KHM9NjU1MzYrKCgxMDIzJnMpPDwxMCkrKDEwMjMmdC5jaGFyQ29kZUF0KCsraSkpLHJbbisrXT1zPj4xOHwyNDAscltuKytdPXM+PjEyJjYzfDEyOCxyW24rK109cz4+NiY2M3wxMjgscltuKytdPTYzJnN8MTI4KToocltuKytdPXM+PjEyfDIyNCxyW24rK109cz4+NiY2M3wxMjgscltuKytdPTYzJnN8MTI4KX1lbHNlIGZvcihpPTA7aTx0Lmxlbmd0aDtpKyspcltpXT0wfHRbaV07cmV0dXJuIHJ9LGUudG9IZXg9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPSIiLHI9MDtyPHQubGVuZ3RoO3IrKyllKz1hKHRbcl0udG9TdHJpbmcoMTYpKTtyZXR1cm4gZX0sZS5odG9ubD1zLGUudG9IZXgzMj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0iIixuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBpPXRbbl07ImxpdHRsZSI9PT1lJiYoaT1zKGkpKSxyKz11KGkudG9TdHJpbmcoMTYpKX1yZXR1cm4gcn0sZS56ZXJvMj1hLGUuemVybzg9dSxlLmpvaW4zMj1mdW5jdGlvbih0LGUscixpKXt2YXIgbz1yLWU7bihvJTQ9PTApO2Zvcih2YXIgcz1uZXcgQXJyYXkoby80KSxhPTAsdT1lO2E8cy5sZW5ndGg7YSsrLHUrPTQpe3ZhciBjO2M9ImJpZyI9PT1pP3RbdV08PDI0fHRbdSsxXTw8MTZ8dFt1KzJdPDw4fHRbdSszXTp0W3UrM108PDI0fHRbdSsyXTw8MTZ8dFt1KzFdPDw4fHRbdV0sc1thXT1jPj4+MH1yZXR1cm4gc30sZS5zcGxpdDMyPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPW5ldyBBcnJheSg0KnQubGVuZ3RoKSxuPTAsaT0wO248dC5sZW5ndGg7bisrLGkrPTQpe3ZhciBvPXRbbl07ImJpZyI9PT1lPyhyW2ldPW8+Pj4yNCxyW2krMV09bz4+PjE2JjI1NSxyW2krMl09bz4+PjgmMjU1LHJbaSszXT0yNTUmbyk6KHJbaSszXT1vPj4+MjQscltpKzJdPW8+Pj4xNiYyNTUscltpKzFdPW8+Pj44JjI1NSxyW2ldPTI1NSZvKX1yZXR1cm4gcn0sZS5yb3RyMzI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD4+PmV8dDw8MzItZX0sZS5yb3RsMzI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdDw8ZXx0Pj4+MzItZX0sZS5zdW0zMj1mdW5jdGlvbih0LGUpe3JldHVybiB0K2U+Pj4wfSxlLnN1bTMyXzM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0K2Urcj4+PjB9LGUuc3VtMzJfND1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdCtlK3Irbj4+PjB9LGUuc3VtMzJfNT1mdW5jdGlvbih0LGUscixuLGkpe3JldHVybiB0K2UrcituK2k+Pj4wfSxlLnN1bTY0PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpPXRbZV0sbz1uK3RbZSsxXT4+PjAscz0obzxuPzE6MCkrcitpO3RbZV09cz4+PjAsdFtlKzFdPW99LGUuc3VtNjRfaGk9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuKGUrbj4+PjA8ZT8xOjApK3Qrcj4+PjB9LGUuc3VtNjRfbG89ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIGUrbj4+PjB9LGUuc3VtNjRfNF9oaT1mdW5jdGlvbih0LGUscixuLGksbyxzLGEpe3ZhciB1PTAsYz1lO3JldHVybiB1Kz0oYz1jK24+Pj4wKTxlPzE6MCx1Kz0oYz1jK28+Pj4wKTxvPzE6MCx0K3IraStzKyh1Kz0oYz1jK2E+Pj4wKTxhPzE6MCk+Pj4wfSxlLnN1bTY0XzRfbG89ZnVuY3Rpb24odCxlLHIsbixpLG8scyxhKXtyZXR1cm4gZStuK28rYT4+PjB9LGUuc3VtNjRfNV9oaT1mdW5jdGlvbih0LGUscixuLGksbyxzLGEsdSxjKXt2YXIgZj0wLGg9ZTtyZXR1cm4gZis9KGg9aCtuPj4+MCk8ZT8xOjAsZis9KGg9aCtvPj4+MCk8bz8xOjAsZis9KGg9aCthPj4+MCk8YT8xOjAsdCtyK2krcyt1KyhmKz0oaD1oK2M+Pj4wKTxjPzE6MCk+Pj4wfSxlLnN1bTY0XzVfbG89ZnVuY3Rpb24odCxlLHIsbixpLG8scyxhLHUsYyl7cmV0dXJuIGUrbitvK2ErYz4+PjB9LGUucm90cjY0X2hpPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4oZTw8MzItcnx0Pj4+cik+Pj4wfSxlLnJvdHI2NF9sbz1mdW5jdGlvbih0LGUscil7cmV0dXJuKHQ8PDMyLXJ8ZT4+PnIpPj4+MH0sZS5zaHI2NF9oaT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ+Pj5yfSxlLnNocjY0X2xvPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4odDw8MzItcnxlPj4+cik+Pj4wfX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXshZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LGUpe2lmKCF0KXRocm93IG5ldyBFcnJvcihlfHwiQXNzZXJ0aW9uIGZhaWxlZCIpfWZ1bmN0aW9uIGkodCxlKXt0LnN1cGVyXz1lO3ZhciByPWZ1bmN0aW9uKCl7fTtyLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgcix0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10fWZ1bmN0aW9uIG8odCxlLHIpe2lmKG8uaXNCTih0KSlyZXR1cm4gdDt0aGlzLm5lZ2F0aXZlPTAsdGhpcy53b3Jkcz1udWxsLHRoaXMubGVuZ3RoPTAsdGhpcy5yZWQ9bnVsbCxudWxsIT09dCYmKCJsZSIhPT1lJiYiYmUiIT09ZXx8KHI9ZSxlPTEwKSx0aGlzLl9pbml0KHR8fDAsZXx8MTAscnx8ImJlIikpfXZhciBzOyJvYmplY3QiPT10eXBlb2YgdD90LmV4cG9ydHM9bzplLkJOPW8sby5CTj1vLG8ud29yZFNpemU9MjY7dHJ5e3M9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJnZvaWQgMCE9PXdpbmRvdy5CdWZmZXI/d2luZG93LkJ1ZmZlcjpyKDI0NSkuQnVmZmVyfWNhdGNoKHQpe31mdW5jdGlvbiBhKHQsZSl7dmFyIHI9dC5jaGFyQ29kZUF0KGUpO3JldHVybiByPj02NSYmcjw9NzA/ci01NTpyPj05NyYmcjw9MTAyP3ItODc6ci00OCYxNX1mdW5jdGlvbiB1KHQsZSxyKXt2YXIgbj1hKHQscik7cmV0dXJuIHItMT49ZSYmKG58PWEodCxyLTEpPDw0KSxufWZ1bmN0aW9uIGModCxlLHIsbil7Zm9yKHZhciBpPTAsbz1NYXRoLm1pbih0Lmxlbmd0aCxyKSxzPWU7czxvO3MrKyl7dmFyIGE9dC5jaGFyQ29kZUF0KHMpLTQ4O2kqPW4saSs9YT49NDk/YS00OSsxMDphPj0xNz9hLTE3KzEwOmF9cmV0dXJuIGl9by5pc0JOPWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2Ygb3x8bnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvci53b3JkU2l6ZT09PW8ud29yZFNpemUmJkFycmF5LmlzQXJyYXkodC53b3Jkcyl9LG8ubWF4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuY21wKGUpPjA/dDplfSxvLm1pbj1mdW5jdGlvbih0LGUpe3JldHVybiB0LmNtcChlKTwwP3Q6ZX0sby5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24odCxlLHIpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdGhpcy5faW5pdE51bWJlcih0LGUscik7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXJldHVybiB0aGlzLl9pbml0QXJyYXkodCxlLHIpOyJoZXgiPT09ZSYmKGU9MTYpLG4oZT09PSgwfGUpJiZlPj0yJiZlPD0zNik7dmFyIGk9MDsiLSI9PT0odD10LnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpKVswXSYmKGkrKyx0aGlzLm5lZ2F0aXZlPTEpLGk8dC5sZW5ndGgmJigxNj09PWU/dGhpcy5fcGFyc2VIZXgodCxpLHIpOih0aGlzLl9wYXJzZUJhc2UodCxlLGkpLCJsZSI9PT1yJiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksZSxyKSkpfSxvLnByb3RvdHlwZS5faW5pdE51bWJlcj1mdW5jdGlvbih0LGUscil7dDwwJiYodGhpcy5uZWdhdGl2ZT0xLHQ9LXQpLHQ8NjcxMDg4NjQ/KHRoaXMud29yZHM9WzY3MTA4ODYzJnRdLHRoaXMubGVuZ3RoPTEpOnQ8NDUwMzU5OTYyNzM3MDQ5Nj8odGhpcy53b3Jkcz1bNjcxMDg4NjMmdCx0LzY3MTA4ODY0JjY3MTA4ODYzXSx0aGlzLmxlbmd0aD0yKToobih0PDkwMDcxOTkyNTQ3NDA5OTIpLHRoaXMud29yZHM9WzY3MTA4ODYzJnQsdC82NzEwODg2NCY2NzEwODg2MywxXSx0aGlzLmxlbmd0aD0zKSwibGUiPT09ciYmdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLGUscil9LG8ucHJvdG90eXBlLl9pbml0QXJyYXk9ZnVuY3Rpb24odCxlLHIpe2lmKG4oIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aCksdC5sZW5ndGg8PTApcmV0dXJuIHRoaXMud29yZHM9WzBdLHRoaXMubGVuZ3RoPTEsdGhpczt0aGlzLmxlbmd0aD1NYXRoLmNlaWwodC5sZW5ndGgvMyksdGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgaT0wO2k8dGhpcy5sZW5ndGg7aSsrKXRoaXMud29yZHNbaV09MDt2YXIgbyxzLGE9MDtpZigiYmUiPT09cilmb3IoaT10Lmxlbmd0aC0xLG89MDtpPj0wO2ktPTMpcz10W2ldfHRbaS0xXTw8OHx0W2ktMl08PDE2LHRoaXMud29yZHNbb118PXM8PGEmNjcxMDg4NjMsdGhpcy53b3Jkc1tvKzFdPXM+Pj4yNi1hJjY3MTA4ODYzLChhKz0yNCk+PTI2JiYoYS09MjYsbysrKTtlbHNlIGlmKCJsZSI9PT1yKWZvcihpPTAsbz0wO2k8dC5sZW5ndGg7aSs9MylzPXRbaV18dFtpKzFdPDw4fHRbaSsyXTw8MTYsdGhpcy53b3Jkc1tvXXw9czw8YSY2NzEwODg2Myx0aGlzLndvcmRzW28rMV09cz4+PjI2LWEmNjcxMDg4NjMsKGErPTI0KT49MjYmJihhLT0yNixvKyspO3JldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLl9wYXJzZUhleD1mdW5jdGlvbih0LGUscil7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKCh0Lmxlbmd0aC1lKS82KSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPTA7bjx0aGlzLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT0wO3ZhciBpLG89MCxzPTA7aWYoImJlIj09PXIpZm9yKG49dC5sZW5ndGgtMTtuPj1lO24tPTIpaT11KHQsZSxuKTw8byx0aGlzLndvcmRzW3NdfD02NzEwODg2MyZpLG8+PTE4PyhvLT0xOCxzKz0xLHRoaXMud29yZHNbc118PWk+Pj4yNik6bys9ODtlbHNlIGZvcihuPSh0Lmxlbmd0aC1lKSUyPT0wP2UrMTplO248dC5sZW5ndGg7bis9MilpPXUodCxlLG4pPDxvLHRoaXMud29yZHNbc118PTY3MTA4ODYzJmksbz49MTg/KG8tPTE4LHMrPTEsdGhpcy53b3Jkc1tzXXw9aT4+PjI2KTpvKz04O3RoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuX3BhcnNlQmFzZT1mdW5jdGlvbih0LGUscil7dGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MTtmb3IodmFyIG49MCxpPTE7aTw9NjcxMDg4NjM7aSo9ZSluKys7bi0tLGk9aS9lfDA7Zm9yKHZhciBvPXQubGVuZ3RoLXIscz1vJW4sYT1NYXRoLm1pbihvLG8tcykrcix1PTAsZj1yO2Y8YTtmKz1uKXU9Yyh0LGYsZituLGUpLHRoaXMuaW11bG4oaSksdGhpcy53b3Jkc1swXSt1PDY3MTA4ODY0P3RoaXMud29yZHNbMF0rPXU6dGhpcy5faWFkZG4odSk7aWYoMCE9PXMpe3ZhciBoPTE7Zm9yKHU9Yyh0LGYsdC5sZW5ndGgsZSksZj0wO2Y8cztmKyspaCo9ZTt0aGlzLmltdWxuKGgpLHRoaXMud29yZHNbMF0rdTw2NzEwODg2ND90aGlzLndvcmRzWzBdKz11OnRoaXMuX2lhZGRuKHUpfXRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuY29weT1mdW5jdGlvbih0KXt0LndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBlPTA7ZTx0aGlzLmxlbmd0aDtlKyspdC53b3Jkc1tlXT10aGlzLndvcmRzW2VdO3QubGVuZ3RoPXRoaXMubGVuZ3RoLHQubmVnYXRpdmU9dGhpcy5uZWdhdGl2ZSx0LnJlZD10aGlzLnJlZH0sby5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgdD1uZXcgbyhudWxsKTtyZXR1cm4gdGhpcy5jb3B5KHQpLHR9LG8ucHJvdG90eXBlLl9leHBhbmQ9ZnVuY3Rpb24odCl7Zm9yKDt0aGlzLmxlbmd0aDx0Oyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7cmV0dXJuIHRoaXN9LG8ucHJvdG90eXBlLnN0cmlwPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmxlbmd0aD4xJiYwPT09dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXTspdGhpcy5sZW5ndGgtLTtyZXR1cm4gdGhpcy5fbm9ybVNpZ24oKX0sby5wcm90b3R5cGUuX25vcm1TaWduPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLmxlbmd0aCYmMD09PXRoaXMud29yZHNbMF0mJih0aGlzLm5lZ2F0aXZlPTApLHRoaXN9LG8ucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yZWQ/IjxCTi1SOiAiOiI8Qk46ICIpK3RoaXMudG9TdHJpbmcoMTYpKyI+In07dmFyIGY9WyIiLCIwIiwiMDAiLCIwMDAiLCIwMDAwIiwiMDAwMDAiLCIwMDAwMDAiLCIwMDAwMDAwIiwiMDAwMDAwMDAiLCIwMDAwMDAwMDAiLCIwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIl0saD1bMCwwLDI1LDE2LDEyLDExLDEwLDksOCw4LDcsNyw3LDcsNiw2LDYsNiw2LDYsNiw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1XSxsPVswLDAsMzM1NTQ0MzIsNDMwNDY3MjEsMTY3NzcyMTYsNDg4MjgxMjUsNjA0NjYxNzYsNDAzNTM2MDcsMTY3NzcyMTYsNDMwNDY3MjEsMWU3LDE5NDg3MTcxLDM1ODMxODA4LDYyNzQ4NTE3LDc1Mjk1MzYsMTEzOTA2MjUsMTY3NzcyMTYsMjQxMzc1NjksMzQwMTIyMjQsNDcwNDU4ODEsNjRlNiw0MDg0MTAxLDUxNTM2MzIsNjQzNjM0Myw3OTYyNjI0LDk3NjU2MjUsMTE4ODEzNzYsMTQzNDg5MDcsMTcyMTAzNjgsMjA1MTExNDksMjQzZTUsMjg2MjkxNTEsMzM1NTQ0MzIsMzkxMzUzOTMsNDU0MzU0MjQsNTI1MjE4NzUsNjA0NjYxNzZdO2Z1bmN0aW9uIGQodCxlLHIpe3IubmVnYXRpdmU9ZS5uZWdhdGl2ZV50Lm5lZ2F0aXZlO3ZhciBuPXQubGVuZ3RoK2UubGVuZ3RofDA7ci5sZW5ndGg9bixuPW4tMXwwO3ZhciBpPTB8dC53b3Jkc1swXSxvPTB8ZS53b3Jkc1swXSxzPWkqbyxhPTY3MTA4ODYzJnMsdT1zLzY3MTA4ODY0fDA7ci53b3Jkc1swXT1hO2Zvcih2YXIgYz0xO2M8bjtjKyspe2Zvcih2YXIgZj11Pj4+MjYsaD02NzEwODg2MyZ1LGw9TWF0aC5taW4oYyxlLmxlbmd0aC0xKSxkPU1hdGgubWF4KDAsYy10Lmxlbmd0aCsxKTtkPD1sO2QrKyl7dmFyIHA9Yy1kfDA7Zis9KHM9KGk9MHx0LndvcmRzW3BdKSoobz0wfGUud29yZHNbZF0pK2gpLzY3MTA4ODY0fDAsaD02NzEwODg2MyZzfXIud29yZHNbY109MHxoLHU9MHxmfXJldHVybiAwIT09dT9yLndvcmRzW2NdPTB8dTpyLmxlbmd0aC0tLHIuc3RyaXAoKX1vLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0LGUpe3ZhciByO2lmKGU9MHxlfHwxLDE2PT09KHQ9dHx8MTApfHwiaGV4Ij09PXQpe3I9IiI7Zm9yKHZhciBpPTAsbz0wLHM9MDtzPHRoaXMubGVuZ3RoO3MrKyl7dmFyIGE9dGhpcy53b3Jkc1tzXSx1PSgxNjc3NzIxNSYoYTw8aXxvKSkudG9TdHJpbmcoMTYpO3I9MCE9PShvPWE+Pj4yNC1pJjE2Nzc3MjE1KXx8cyE9PXRoaXMubGVuZ3RoLTE/Zls2LXUubGVuZ3RoXSt1K3I6dStyLChpKz0yKT49MjYmJihpLT0yNixzLS0pfWZvcigwIT09byYmKHI9by50b1N0cmluZygxNikrcik7ci5sZW5ndGglZSE9MDspcj0iMCIrcjtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmUmJihyPSItIityKSxyfWlmKHQ9PT0oMHx0KSYmdD49MiYmdDw9MzYpe3ZhciBjPWhbdF0sZD1sW3RdO3I9IiI7dmFyIHA9dGhpcy5jbG9uZSgpO2ZvcihwLm5lZ2F0aXZlPTA7IXAuaXNaZXJvKCk7KXt2YXIgbT1wLm1vZG4oZCkudG9TdHJpbmcodCk7cj0ocD1wLmlkaXZuKGQpKS5pc1plcm8oKT9tK3I6ZltjLW0ubGVuZ3RoXSttK3J9Zm9yKHRoaXMuaXNaZXJvKCkmJihyPSIwIityKTtyLmxlbmd0aCVlIT0wOylyPSIwIityO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZSYmKHI9Ii0iK3IpLHJ9bighMSwiQmFzZSBzaG91bGQgYmUgYmV0d2VlbiAyIGFuZCAzNiIpfSxvLnByb3RvdHlwZS50b051bWJlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMud29yZHNbMF07cmV0dXJuIDI9PT10aGlzLmxlbmd0aD90Kz02NzEwODg2NCp0aGlzLndvcmRzWzFdOjM9PT10aGlzLmxlbmd0aCYmMT09PXRoaXMud29yZHNbMl0/dCs9NDUwMzU5OTYyNzM3MDQ5Nis2NzEwODg2NCp0aGlzLndvcmRzWzFdOnRoaXMubGVuZ3RoPjImJm4oITEsIk51bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cyIpLDAhPT10aGlzLm5lZ2F0aXZlPy10OnR9LG8ucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvU3RyaW5nKDE2KX0sby5wcm90b3R5cGUudG9CdWZmZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbih2b2lkIDAhPT1zKSx0aGlzLnRvQXJyYXlMaWtlKHMsdCxlKX0sby5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnRvQXJyYXlMaWtlKEFycmF5LHQsZSl9LG8ucHJvdG90eXBlLnRvQXJyYXlMaWtlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaT10aGlzLmJ5dGVMZW5ndGgoKSxvPXJ8fE1hdGgubWF4KDEsaSk7bihpPD1vLCJieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoIiksbihvPjAsIlJlcXVlc3RlZCBhcnJheSBsZW5ndGggPD0gMCIpLHRoaXMuc3RyaXAoKTt2YXIgcyxhLHU9ImxlIj09PWUsYz1uZXcgdChvKSxmPXRoaXMuY2xvbmUoKTtpZih1KXtmb3IoYT0wOyFmLmlzWmVybygpO2ErKylzPWYuYW5kbG4oMjU1KSxmLml1c2hybig4KSxjW2FdPXM7Zm9yKDthPG87YSsrKWNbYV09MH1lbHNle2ZvcihhPTA7YTxvLWk7YSsrKWNbYV09MDtmb3IoYT0wOyFmLmlzWmVybygpO2ErKylzPWYuYW5kbG4oMjU1KSxmLml1c2hybig4KSxjW28tYS0xXT1zfXJldHVybiBjfSxNYXRoLmNsejMyP28ucHJvdG90eXBlLl9jb3VudEJpdHM9ZnVuY3Rpb24odCl7cmV0dXJuIDMyLU1hdGguY2x6MzIodCl9Om8ucHJvdG90eXBlLl9jb3VudEJpdHM9ZnVuY3Rpb24odCl7dmFyIGU9dCxyPTA7cmV0dXJuIGU+PTQwOTYmJihyKz0xMyxlPj4+PTEzKSxlPj02NCYmKHIrPTcsZT4+Pj03KSxlPj04JiYocis9NCxlPj4+PTQpLGU+PTImJihyKz0yLGU+Pj49MikscitlfSxvLnByb3RvdHlwZS5femVyb0JpdHM9ZnVuY3Rpb24odCl7aWYoMD09PXQpcmV0dXJuIDI2O3ZhciBlPXQscj0wO3JldHVybiAwPT0oODE5MSZlKSYmKHIrPTEzLGU+Pj49MTMpLDA9PSgxMjcmZSkmJihyKz03LGU+Pj49NyksMD09KDE1JmUpJiYocis9NCxlPj4+PTQpLDA9PSgzJmUpJiYocis9MixlPj4+PTIpLDA9PSgxJmUpJiZyKysscn0sby5wcm90b3R5cGUuYml0TGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSxlPXRoaXMuX2NvdW50Qml0cyh0KTtyZXR1cm4gMjYqKHRoaXMubGVuZ3RoLTEpK2V9LG8ucHJvdG90eXBlLnplcm9CaXRzPWZ1bmN0aW9uKCl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gMDtmb3IodmFyIHQ9MCxlPTA7ZTx0aGlzLmxlbmd0aDtlKyspe3ZhciByPXRoaXMuX3plcm9CaXRzKHRoaXMud29yZHNbZV0pO2lmKHQrPXIsMjYhPT1yKWJyZWFrfXJldHVybiB0fSxvLnByb3RvdHlwZS5ieXRlTGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLmJpdExlbmd0aCgpLzgpfSxvLnByb3RvdHlwZS50b1R3b3M9ZnVuY3Rpb24odCl7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlP3RoaXMuYWJzKCkuaW5vdG4odCkuaWFkZG4oMSk6dGhpcy5jbG9uZSgpfSxvLnByb3RvdHlwZS5mcm9tVHdvcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50ZXN0bih0LTEpP3RoaXMubm90bih0KS5pYWRkbigxKS5pbmVnKCk6dGhpcy5jbG9uZSgpfSxvLnByb3RvdHlwZS5pc05lZz1mdW5jdGlvbigpe3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZX0sby5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbmVnKCl9LG8ucHJvdG90eXBlLmluZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc1plcm8oKXx8KHRoaXMubmVnYXRpdmVePTEpLHRoaXN9LG8ucHJvdG90eXBlLml1b3I9ZnVuY3Rpb24odCl7Zm9yKDt0aGlzLmxlbmd0aDx0Lmxlbmd0aDspdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wO2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXRoaXMud29yZHNbZV09dGhpcy53b3Jkc1tlXXx0LndvcmRzW2VdO3JldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmlvcj1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT0odGhpcy5uZWdhdGl2ZXx0Lm5lZ2F0aXZlKSksdGhpcy5pdW9yKHQpfSxvLnByb3RvdHlwZS5vcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLmlvcih0KTp0LmNsb25lKCkuaW9yKHRoaXMpfSxvLnByb3RvdHlwZS51b3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdW9yKHQpOnQuY2xvbmUoKS5pdW9yKHRoaXMpfSxvLnByb3RvdHlwZS5pdWFuZD1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXMubGVuZ3RoPnQubGVuZ3RoP3Q6dGhpcztmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl0aGlzLndvcmRzW3JdPXRoaXMud29yZHNbcl0mdC53b3Jkc1tyXTtyZXR1cm4gdGhpcy5sZW5ndGg9ZS5sZW5ndGgsdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pYW5kPWZ1bmN0aW9uKHQpe3JldHVybiBuKDA9PSh0aGlzLm5lZ2F0aXZlfHQubmVnYXRpdmUpKSx0aGlzLml1YW5kKHQpfSxvLnByb3RvdHlwZS5hbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYW5kKHQpOnQuY2xvbmUoKS5pYW5kKHRoaXMpfSxvLnByb3RvdHlwZS51YW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaXVhbmQodCk6dC5jbG9uZSgpLml1YW5kKHRoaXMpfSxvLnByb3RvdHlwZS5pdXhvcj1mdW5jdGlvbih0KXt2YXIgZSxyO3RoaXMubGVuZ3RoPnQubGVuZ3RoPyhlPXRoaXMscj10KTooZT10LHI9dGhpcyk7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT1lLndvcmRzW25dXnIud29yZHNbbl07aWYodGhpcyE9PWUpZm9yKDtuPGUubGVuZ3RoO24rKyl0aGlzLndvcmRzW25dPWUud29yZHNbbl07cmV0dXJuIHRoaXMubGVuZ3RoPWUubGVuZ3RoLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuaXhvcj1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT0odGhpcy5uZWdhdGl2ZXx0Lm5lZ2F0aXZlKSksdGhpcy5pdXhvcih0KX0sby5wcm90b3R5cGUueG9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaXhvcih0KTp0LmNsb25lKCkuaXhvcih0aGlzKX0sby5wcm90b3R5cGUudXhvcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1eG9yKHQpOnQuY2xvbmUoKS5pdXhvcih0aGlzKX0sby5wcm90b3R5cGUuaW5vdG49ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBlPTB8TWF0aC5jZWlsKHQvMjYpLHI9dCUyNjt0aGlzLl9leHBhbmQoZSkscj4wJiZlLS07Zm9yKHZhciBpPTA7aTxlO2krKyl0aGlzLndvcmRzW2ldPTY3MTA4ODYzJn50aGlzLndvcmRzW2ldO3JldHVybiByPjAmJih0aGlzLndvcmRzW2ldPX50aGlzLndvcmRzW2ldJjY3MTA4ODYzPj4yNi1yKSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLm5vdG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih0KX0sby5wcm90b3R5cGUuc2V0bj1mdW5jdGlvbih0LGUpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgcj10LzI2fDAsaT10JTI2O3JldHVybiB0aGlzLl9leHBhbmQocisxKSx0aGlzLndvcmRzW3JdPWU/dGhpcy53b3Jkc1tyXXwxPDxpOnRoaXMud29yZHNbcl0mfigxPDxpKSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24odCl7dmFyIGUscixuO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09dC5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLGU9dGhpcy5pc3ViKHQpLHRoaXMubmVnYXRpdmVePTEsdGhpcy5fbm9ybVNpZ24oKTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmMCE9PXQubmVnYXRpdmUpcmV0dXJuIHQubmVnYXRpdmU9MCxlPXRoaXMuaXN1Yih0KSx0Lm5lZ2F0aXZlPTEsZS5fbm9ybVNpZ24oKTt0aGlzLmxlbmd0aD50Lmxlbmd0aD8ocj10aGlzLG49dCk6KHI9dCxuPXRoaXMpO2Zvcih2YXIgaT0wLG89MDtvPG4ubGVuZ3RoO28rKyllPSgwfHIud29yZHNbb10pKygwfG4ud29yZHNbb10pK2ksdGhpcy53b3Jkc1tvXT02NzEwODg2MyZlLGk9ZT4+PjI2O2Zvcig7MCE9PWkmJm88ci5sZW5ndGg7bysrKWU9KDB8ci53b3Jkc1tvXSkraSx0aGlzLndvcmRzW29dPTY3MTA4ODYzJmUsaT1lPj4+MjY7aWYodGhpcy5sZW5ndGg9ci5sZW5ndGgsMCE9PWkpdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF09aSx0aGlzLmxlbmd0aCsrO2Vsc2UgaWYociE9PXRoaXMpZm9yKDtvPHIubGVuZ3RoO28rKyl0aGlzLndvcmRzW29dPXIud29yZHNbb107cmV0dXJuIHRoaXN9LG8ucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gMCE9PXQubmVnYXRpdmUmJjA9PT10aGlzLm5lZ2F0aXZlPyh0Lm5lZ2F0aXZlPTAsZT10aGlzLnN1Yih0KSx0Lm5lZ2F0aXZlXj0xLGUpOjA9PT10Lm5lZ2F0aXZlJiYwIT09dGhpcy5uZWdhdGl2ZT8odGhpcy5uZWdhdGl2ZT0wLGU9dC5zdWIodGhpcyksdGhpcy5uZWdhdGl2ZT0xLGUpOnRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYWRkKHQpOnQuY2xvbmUoKS5pYWRkKHRoaXMpfSxvLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uKHQpe2lmKDAhPT10Lm5lZ2F0aXZlKXt0Lm5lZ2F0aXZlPTA7dmFyIGU9dGhpcy5pYWRkKHQpO3JldHVybiB0Lm5lZ2F0aXZlPTEsZS5fbm9ybVNpZ24oKX1pZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZCh0KSx0aGlzLm5lZ2F0aXZlPTEsdGhpcy5fbm9ybVNpZ24oKTt2YXIgcixuLGk9dGhpcy5jbXAodCk7aWYoMD09PWkpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmxlbmd0aD0xLHRoaXMud29yZHNbMF09MCx0aGlzO2k+MD8ocj10aGlzLG49dCk6KHI9dCxuPXRoaXMpO2Zvcih2YXIgbz0wLHM9MDtzPG4ubGVuZ3RoO3MrKylvPShlPSgwfHIud29yZHNbc10pLSgwfG4ud29yZHNbc10pK28pPj4yNix0aGlzLndvcmRzW3NdPTY3MTA4ODYzJmU7Zm9yKDswIT09byYmczxyLmxlbmd0aDtzKyspbz0oZT0oMHxyLndvcmRzW3NdKStvKT4+MjYsdGhpcy53b3Jkc1tzXT02NzEwODg2MyZlO2lmKDA9PT1vJiZzPHIubGVuZ3RoJiZyIT09dGhpcylmb3IoO3M8ci5sZW5ndGg7cysrKXRoaXMud29yZHNbc109ci53b3Jkc1tzXTtyZXR1cm4gdGhpcy5sZW5ndGg9TWF0aC5tYXgodGhpcy5sZW5ndGgscyksciE9PXRoaXMmJih0aGlzLm5lZ2F0aXZlPTEpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaXN1Yih0KX07dmFyIHA9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGksbyxzPXQud29yZHMsYT1lLndvcmRzLHU9ci53b3JkcyxjPTAsZj0wfHNbMF0saD04MTkxJmYsbD1mPj4+MTMsZD0wfHNbMV0scD04MTkxJmQsbT1kPj4+MTMsZz0wfHNbMl0sYj04MTkxJmcseT1nPj4+MTMsdj0wfHNbM10sXz04MTkxJnYsdz12Pj4+MTMsTT0wfHNbNF0sUz04MTkxJk0sRT1NPj4+MTMseD0wfHNbNV0saz04MTkxJngsQT14Pj4+MTMsUj0wfHNbNl0sVD04MTkxJlIsTz1SPj4+MTMsQz0wfHNbN10sUD04MTkxJkMsST1DPj4+MTMsQj0wfHNbOF0sTD04MTkxJkIsaj1CPj4+MTMsTj0wfHNbOV0scT04MTkxJk4sVT1OPj4+MTMsRD0wfGFbMF0sej04MTkxJkQsSD1EPj4+MTMsRj0wfGFbMV0sVz04MTkxJkYsSz1GPj4+MTMsVj0wfGFbMl0sSj04MTkxJlYsWT1WPj4+MTMsRz0wfGFbM10sWj04MTkxJkcsJD1HPj4+MTMsWD0wfGFbNF0sUT04MTkxJlgsdHQ9WD4+PjEzLGV0PTB8YVs1XSxydD04MTkxJmV0LG50PWV0Pj4+MTMsaXQ9MHxhWzZdLG90PTgxOTEmaXQsc3Q9aXQ+Pj4xMyxhdD0wfGFbN10sdXQ9ODE5MSZhdCxjdD1hdD4+PjEzLGZ0PTB8YVs4XSxodD04MTkxJmZ0LGx0PWZ0Pj4+MTMsZHQ9MHxhWzldLHB0PTgxOTEmZHQsbXQ9ZHQ+Pj4xMztyLm5lZ2F0aXZlPXQubmVnYXRpdmVeZS5uZWdhdGl2ZSxyLmxlbmd0aD0xOTt2YXIgZ3Q9KGMrKG49TWF0aC5pbXVsKGgseikpfDApKygoODE5MSYoaT0oaT1NYXRoLmltdWwoaCxIKSkrTWF0aC5pbXVsKGwseil8MCkpPDwxMyl8MDtjPSgobz1NYXRoLmltdWwobCxIKSkrKGk+Pj4xMyl8MCkrKGd0Pj4+MjYpfDAsZ3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHAseiksaT0oaT1NYXRoLmltdWwocCxIKSkrTWF0aC5pbXVsKG0seil8MCxvPU1hdGguaW11bChtLEgpO3ZhciBidD0oYysobj1uK01hdGguaW11bChoLFcpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLEspfDApK01hdGguaW11bChsLFcpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxLKXwwKSsoaT4+PjEzKXwwKSsoYnQ+Pj4yNil8MCxidCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoYix6KSxpPShpPU1hdGguaW11bChiLEgpKStNYXRoLmltdWwoeSx6KXwwLG89TWF0aC5pbXVsKHksSCksbj1uK01hdGguaW11bChwLFcpfDAsaT0oaT1pK01hdGguaW11bChwLEspfDApK01hdGguaW11bChtLFcpfDAsbz1vK01hdGguaW11bChtLEspfDA7dmFyIHl0PShjKyhuPW4rTWF0aC5pbXVsKGgsSil8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsWSl8MCkrTWF0aC5pbXVsKGwsSil8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLFkpfDApKyhpPj4+MTMpfDApKyh5dD4+PjI2KXwwLHl0Jj02NzEwODg2MyxuPU1hdGguaW11bChfLHopLGk9KGk9TWF0aC5pbXVsKF8sSCkpK01hdGguaW11bCh3LHopfDAsbz1NYXRoLmltdWwodyxIKSxuPW4rTWF0aC5pbXVsKGIsVyl8MCxpPShpPWkrTWF0aC5pbXVsKGIsSyl8MCkrTWF0aC5pbXVsKHksVyl8MCxvPW8rTWF0aC5pbXVsKHksSyl8MCxuPW4rTWF0aC5pbXVsKHAsSil8MCxpPShpPWkrTWF0aC5pbXVsKHAsWSl8MCkrTWF0aC5pbXVsKG0sSil8MCxvPW8rTWF0aC5pbXVsKG0sWSl8MDt2YXIgdnQ9KGMrKG49bitNYXRoLmltdWwoaCxaKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCwkKXwwKStNYXRoLmltdWwobCxaKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsJCl8MCkrKGk+Pj4xMyl8MCkrKHZ0Pj4+MjYpfDAsdnQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKFMseiksaT0oaT1NYXRoLmltdWwoUyxIKSkrTWF0aC5pbXVsKEUseil8MCxvPU1hdGguaW11bChFLEgpLG49bitNYXRoLmltdWwoXyxXKXwwLGk9KGk9aStNYXRoLmltdWwoXyxLKXwwKStNYXRoLmltdWwodyxXKXwwLG89bytNYXRoLmltdWwodyxLKXwwLG49bitNYXRoLmltdWwoYixKKXwwLGk9KGk9aStNYXRoLmltdWwoYixZKXwwKStNYXRoLmltdWwoeSxKKXwwLG89bytNYXRoLmltdWwoeSxZKXwwLG49bitNYXRoLmltdWwocCxaKXwwLGk9KGk9aStNYXRoLmltdWwocCwkKXwwKStNYXRoLmltdWwobSxaKXwwLG89bytNYXRoLmltdWwobSwkKXwwO3ZhciBfdD0oYysobj1uK01hdGguaW11bChoLFEpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLHR0KXwwKStNYXRoLmltdWwobCxRKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsdHQpfDApKyhpPj4+MTMpfDApKyhfdD4+PjI2KXwwLF90Jj02NzEwODg2MyxuPU1hdGguaW11bChrLHopLGk9KGk9TWF0aC5pbXVsKGssSCkpK01hdGguaW11bChBLHopfDAsbz1NYXRoLmltdWwoQSxIKSxuPW4rTWF0aC5pbXVsKFMsVyl8MCxpPShpPWkrTWF0aC5pbXVsKFMsSyl8MCkrTWF0aC5pbXVsKEUsVyl8MCxvPW8rTWF0aC5pbXVsKEUsSyl8MCxuPW4rTWF0aC5pbXVsKF8sSil8MCxpPShpPWkrTWF0aC5pbXVsKF8sWSl8MCkrTWF0aC5pbXVsKHcsSil8MCxvPW8rTWF0aC5pbXVsKHcsWSl8MCxuPW4rTWF0aC5pbXVsKGIsWil8MCxpPShpPWkrTWF0aC5pbXVsKGIsJCl8MCkrTWF0aC5pbXVsKHksWil8MCxvPW8rTWF0aC5pbXVsKHksJCl8MCxuPW4rTWF0aC5pbXVsKHAsUSl8MCxpPShpPWkrTWF0aC5pbXVsKHAsdHQpfDApK01hdGguaW11bChtLFEpfDAsbz1vK01hdGguaW11bChtLHR0KXwwO3ZhciB3dD0oYysobj1uK01hdGguaW11bChoLHJ0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxudCl8MCkrTWF0aC5pbXVsKGwscnQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxudCl8MCkrKGk+Pj4xMyl8MCkrKHd0Pj4+MjYpfDAsd3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKFQseiksaT0oaT1NYXRoLmltdWwoVCxIKSkrTWF0aC5pbXVsKE8seil8MCxvPU1hdGguaW11bChPLEgpLG49bitNYXRoLmltdWwoayxXKXwwLGk9KGk9aStNYXRoLmltdWwoayxLKXwwKStNYXRoLmltdWwoQSxXKXwwLG89bytNYXRoLmltdWwoQSxLKXwwLG49bitNYXRoLmltdWwoUyxKKXwwLGk9KGk9aStNYXRoLmltdWwoUyxZKXwwKStNYXRoLmltdWwoRSxKKXwwLG89bytNYXRoLmltdWwoRSxZKXwwLG49bitNYXRoLmltdWwoXyxaKXwwLGk9KGk9aStNYXRoLmltdWwoXywkKXwwKStNYXRoLmltdWwodyxaKXwwLG89bytNYXRoLmltdWwodywkKXwwLG49bitNYXRoLmltdWwoYixRKXwwLGk9KGk9aStNYXRoLmltdWwoYix0dCl8MCkrTWF0aC5pbXVsKHksUSl8MCxvPW8rTWF0aC5pbXVsKHksdHQpfDAsbj1uK01hdGguaW11bChwLHJ0KXwwLGk9KGk9aStNYXRoLmltdWwocCxudCl8MCkrTWF0aC5pbXVsKG0scnQpfDAsbz1vK01hdGguaW11bChtLG50KXwwO3ZhciBNdD0oYysobj1uK01hdGguaW11bChoLG90KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxzdCl8MCkrTWF0aC5pbXVsKGwsb3QpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxzdCl8MCkrKGk+Pj4xMyl8MCkrKE10Pj4+MjYpfDAsTXQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKFAseiksaT0oaT1NYXRoLmltdWwoUCxIKSkrTWF0aC5pbXVsKEkseil8MCxvPU1hdGguaW11bChJLEgpLG49bitNYXRoLmltdWwoVCxXKXwwLGk9KGk9aStNYXRoLmltdWwoVCxLKXwwKStNYXRoLmltdWwoTyxXKXwwLG89bytNYXRoLmltdWwoTyxLKXwwLG49bitNYXRoLmltdWwoayxKKXwwLGk9KGk9aStNYXRoLmltdWwoayxZKXwwKStNYXRoLmltdWwoQSxKKXwwLG89bytNYXRoLmltdWwoQSxZKXwwLG49bitNYXRoLmltdWwoUyxaKXwwLGk9KGk9aStNYXRoLmltdWwoUywkKXwwKStNYXRoLmltdWwoRSxaKXwwLG89bytNYXRoLmltdWwoRSwkKXwwLG49bitNYXRoLmltdWwoXyxRKXwwLGk9KGk9aStNYXRoLmltdWwoXyx0dCl8MCkrTWF0aC5pbXVsKHcsUSl8MCxvPW8rTWF0aC5pbXVsKHcsdHQpfDAsbj1uK01hdGguaW11bChiLHJ0KXwwLGk9KGk9aStNYXRoLmltdWwoYixudCl8MCkrTWF0aC5pbXVsKHkscnQpfDAsbz1vK01hdGguaW11bCh5LG50KXwwLG49bitNYXRoLmltdWwocCxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKHAsc3QpfDApK01hdGguaW11bChtLG90KXwwLG89bytNYXRoLmltdWwobSxzdCl8MDt2YXIgU3Q9KGMrKG49bitNYXRoLmltdWwoaCx1dCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsY3QpfDApK01hdGguaW11bChsLHV0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsY3QpfDApKyhpPj4+MTMpfDApKyhTdD4+PjI2KXwwLFN0Jj02NzEwODg2MyxuPU1hdGguaW11bChMLHopLGk9KGk9TWF0aC5pbXVsKEwsSCkpK01hdGguaW11bChqLHopfDAsbz1NYXRoLmltdWwoaixIKSxuPW4rTWF0aC5pbXVsKFAsVyl8MCxpPShpPWkrTWF0aC5pbXVsKFAsSyl8MCkrTWF0aC5pbXVsKEksVyl8MCxvPW8rTWF0aC5pbXVsKEksSyl8MCxuPW4rTWF0aC5pbXVsKFQsSil8MCxpPShpPWkrTWF0aC5pbXVsKFQsWSl8MCkrTWF0aC5pbXVsKE8sSil8MCxvPW8rTWF0aC5pbXVsKE8sWSl8MCxuPW4rTWF0aC5pbXVsKGssWil8MCxpPShpPWkrTWF0aC5pbXVsKGssJCl8MCkrTWF0aC5pbXVsKEEsWil8MCxvPW8rTWF0aC5pbXVsKEEsJCl8MCxuPW4rTWF0aC5pbXVsKFMsUSl8MCxpPShpPWkrTWF0aC5pbXVsKFMsdHQpfDApK01hdGguaW11bChFLFEpfDAsbz1vK01hdGguaW11bChFLHR0KXwwLG49bitNYXRoLmltdWwoXyxydCl8MCxpPShpPWkrTWF0aC5pbXVsKF8sbnQpfDApK01hdGguaW11bCh3LHJ0KXwwLG89bytNYXRoLmltdWwodyxudCl8MCxuPW4rTWF0aC5pbXVsKGIsb3QpfDAsaT0oaT1pK01hdGguaW11bChiLHN0KXwwKStNYXRoLmltdWwoeSxvdCl8MCxvPW8rTWF0aC5pbXVsKHksc3QpfDAsbj1uK01hdGguaW11bChwLHV0KXwwLGk9KGk9aStNYXRoLmltdWwocCxjdCl8MCkrTWF0aC5pbXVsKG0sdXQpfDAsbz1vK01hdGguaW11bChtLGN0KXwwO3ZhciBFdD0oYysobj1uK01hdGguaW11bChoLGh0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxsdCl8MCkrTWF0aC5pbXVsKGwsaHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxsdCl8MCkrKGk+Pj4xMyl8MCkrKEV0Pj4+MjYpfDAsRXQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEseiksaT0oaT1NYXRoLmltdWwocSxIKSkrTWF0aC5pbXVsKFUseil8MCxvPU1hdGguaW11bChVLEgpLG49bitNYXRoLmltdWwoTCxXKXwwLGk9KGk9aStNYXRoLmltdWwoTCxLKXwwKStNYXRoLmltdWwoaixXKXwwLG89bytNYXRoLmltdWwoaixLKXwwLG49bitNYXRoLmltdWwoUCxKKXwwLGk9KGk9aStNYXRoLmltdWwoUCxZKXwwKStNYXRoLmltdWwoSSxKKXwwLG89bytNYXRoLmltdWwoSSxZKXwwLG49bitNYXRoLmltdWwoVCxaKXwwLGk9KGk9aStNYXRoLmltdWwoVCwkKXwwKStNYXRoLmltdWwoTyxaKXwwLG89bytNYXRoLmltdWwoTywkKXwwLG49bitNYXRoLmltdWwoayxRKXwwLGk9KGk9aStNYXRoLmltdWwoayx0dCl8MCkrTWF0aC5pbXVsKEEsUSl8MCxvPW8rTWF0aC5pbXVsKEEsdHQpfDAsbj1uK01hdGguaW11bChTLHJ0KXwwLGk9KGk9aStNYXRoLmltdWwoUyxudCl8MCkrTWF0aC5pbXVsKEUscnQpfDAsbz1vK01hdGguaW11bChFLG50KXwwLG49bitNYXRoLmltdWwoXyxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKF8sc3QpfDApK01hdGguaW11bCh3LG90KXwwLG89bytNYXRoLmltdWwodyxzdCl8MCxuPW4rTWF0aC5pbXVsKGIsdXQpfDAsaT0oaT1pK01hdGguaW11bChiLGN0KXwwKStNYXRoLmltdWwoeSx1dCl8MCxvPW8rTWF0aC5pbXVsKHksY3QpfDAsbj1uK01hdGguaW11bChwLGh0KXwwLGk9KGk9aStNYXRoLmltdWwocCxsdCl8MCkrTWF0aC5pbXVsKG0saHQpfDAsbz1vK01hdGguaW11bChtLGx0KXwwO3ZhciB4dD0oYysobj1uK01hdGguaW11bChoLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxtdCl8MCkrTWF0aC5pbXVsKGwscHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxtdCl8MCkrKGk+Pj4xMyl8MCkrKHh0Pj4+MjYpfDAseHQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEsVyksaT0oaT1NYXRoLmltdWwocSxLKSkrTWF0aC5pbXVsKFUsVyl8MCxvPU1hdGguaW11bChVLEspLG49bitNYXRoLmltdWwoTCxKKXwwLGk9KGk9aStNYXRoLmltdWwoTCxZKXwwKStNYXRoLmltdWwoaixKKXwwLG89bytNYXRoLmltdWwoaixZKXwwLG49bitNYXRoLmltdWwoUCxaKXwwLGk9KGk9aStNYXRoLmltdWwoUCwkKXwwKStNYXRoLmltdWwoSSxaKXwwLG89bytNYXRoLmltdWwoSSwkKXwwLG49bitNYXRoLmltdWwoVCxRKXwwLGk9KGk9aStNYXRoLmltdWwoVCx0dCl8MCkrTWF0aC5pbXVsKE8sUSl8MCxvPW8rTWF0aC5pbXVsKE8sdHQpfDAsbj1uK01hdGguaW11bChrLHJ0KXwwLGk9KGk9aStNYXRoLmltdWwoayxudCl8MCkrTWF0aC5pbXVsKEEscnQpfDAsbz1vK01hdGguaW11bChBLG50KXwwLG49bitNYXRoLmltdWwoUyxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKFMsc3QpfDApK01hdGguaW11bChFLG90KXwwLG89bytNYXRoLmltdWwoRSxzdCl8MCxuPW4rTWF0aC5pbXVsKF8sdXQpfDAsaT0oaT1pK01hdGguaW11bChfLGN0KXwwKStNYXRoLmltdWwodyx1dCl8MCxvPW8rTWF0aC5pbXVsKHcsY3QpfDAsbj1uK01hdGguaW11bChiLGh0KXwwLGk9KGk9aStNYXRoLmltdWwoYixsdCl8MCkrTWF0aC5pbXVsKHksaHQpfDAsbz1vK01hdGguaW11bCh5LGx0KXwwO3ZhciBrdD0oYysobj1uK01hdGguaW11bChwLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwocCxtdCl8MCkrTWF0aC5pbXVsKG0scHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobSxtdCl8MCkrKGk+Pj4xMyl8MCkrKGt0Pj4+MjYpfDAsa3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEsSiksaT0oaT1NYXRoLmltdWwocSxZKSkrTWF0aC5pbXVsKFUsSil8MCxvPU1hdGguaW11bChVLFkpLG49bitNYXRoLmltdWwoTCxaKXwwLGk9KGk9aStNYXRoLmltdWwoTCwkKXwwKStNYXRoLmltdWwoaixaKXwwLG89bytNYXRoLmltdWwoaiwkKXwwLG49bitNYXRoLmltdWwoUCxRKXwwLGk9KGk9aStNYXRoLmltdWwoUCx0dCl8MCkrTWF0aC5pbXVsKEksUSl8MCxvPW8rTWF0aC5pbXVsKEksdHQpfDAsbj1uK01hdGguaW11bChULHJ0KXwwLGk9KGk9aStNYXRoLmltdWwoVCxudCl8MCkrTWF0aC5pbXVsKE8scnQpfDAsbz1vK01hdGguaW11bChPLG50KXwwLG49bitNYXRoLmltdWwoayxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKGssc3QpfDApK01hdGguaW11bChBLG90KXwwLG89bytNYXRoLmltdWwoQSxzdCl8MCxuPW4rTWF0aC5pbXVsKFMsdXQpfDAsaT0oaT1pK01hdGguaW11bChTLGN0KXwwKStNYXRoLmltdWwoRSx1dCl8MCxvPW8rTWF0aC5pbXVsKEUsY3QpfDAsbj1uK01hdGguaW11bChfLGh0KXwwLGk9KGk9aStNYXRoLmltdWwoXyxsdCl8MCkrTWF0aC5pbXVsKHcsaHQpfDAsbz1vK01hdGguaW11bCh3LGx0KXwwO3ZhciBBdD0oYysobj1uK01hdGguaW11bChiLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoYixtdCl8MCkrTWF0aC5pbXVsKHkscHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoeSxtdCl8MCkrKGk+Pj4xMyl8MCkrKEF0Pj4+MjYpfDAsQXQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEsWiksaT0oaT1NYXRoLmltdWwocSwkKSkrTWF0aC5pbXVsKFUsWil8MCxvPU1hdGguaW11bChVLCQpLG49bitNYXRoLmltdWwoTCxRKXwwLGk9KGk9aStNYXRoLmltdWwoTCx0dCl8MCkrTWF0aC5pbXVsKGosUSl8MCxvPW8rTWF0aC5pbXVsKGosdHQpfDAsbj1uK01hdGguaW11bChQLHJ0KXwwLGk9KGk9aStNYXRoLmltdWwoUCxudCl8MCkrTWF0aC5pbXVsKEkscnQpfDAsbz1vK01hdGguaW11bChJLG50KXwwLG49bitNYXRoLmltdWwoVCxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKFQsc3QpfDApK01hdGguaW11bChPLG90KXwwLG89bytNYXRoLmltdWwoTyxzdCl8MCxuPW4rTWF0aC5pbXVsKGssdXQpfDAsaT0oaT1pK01hdGguaW11bChrLGN0KXwwKStNYXRoLmltdWwoQSx1dCl8MCxvPW8rTWF0aC5pbXVsKEEsY3QpfDAsbj1uK01hdGguaW11bChTLGh0KXwwLGk9KGk9aStNYXRoLmltdWwoUyxsdCl8MCkrTWF0aC5pbXVsKEUsaHQpfDAsbz1vK01hdGguaW11bChFLGx0KXwwO3ZhciBSdD0oYysobj1uK01hdGguaW11bChfLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoXyxtdCl8MCkrTWF0aC5pbXVsKHcscHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwodyxtdCl8MCkrKGk+Pj4xMyl8MCkrKFJ0Pj4+MjYpfDAsUnQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEsUSksaT0oaT1NYXRoLmltdWwocSx0dCkpK01hdGguaW11bChVLFEpfDAsbz1NYXRoLmltdWwoVSx0dCksbj1uK01hdGguaW11bChMLHJ0KXwwLGk9KGk9aStNYXRoLmltdWwoTCxudCl8MCkrTWF0aC5pbXVsKGoscnQpfDAsbz1vK01hdGguaW11bChqLG50KXwwLG49bitNYXRoLmltdWwoUCxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKFAsc3QpfDApK01hdGguaW11bChJLG90KXwwLG89bytNYXRoLmltdWwoSSxzdCl8MCxuPW4rTWF0aC5pbXVsKFQsdXQpfDAsaT0oaT1pK01hdGguaW11bChULGN0KXwwKStNYXRoLmltdWwoTyx1dCl8MCxvPW8rTWF0aC5pbXVsKE8sY3QpfDAsbj1uK01hdGguaW11bChrLGh0KXwwLGk9KGk9aStNYXRoLmltdWwoayxsdCl8MCkrTWF0aC5pbXVsKEEsaHQpfDAsbz1vK01hdGguaW11bChBLGx0KXwwO3ZhciBUdD0oYysobj1uK01hdGguaW11bChTLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoUyxtdCl8MCkrTWF0aC5pbXVsKEUscHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoRSxtdCl8MCkrKGk+Pj4xMyl8MCkrKFR0Pj4+MjYpfDAsVHQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEscnQpLGk9KGk9TWF0aC5pbXVsKHEsbnQpKStNYXRoLmltdWwoVSxydCl8MCxvPU1hdGguaW11bChVLG50KSxuPW4rTWF0aC5pbXVsKEwsb3QpfDAsaT0oaT1pK01hdGguaW11bChMLHN0KXwwKStNYXRoLmltdWwoaixvdCl8MCxvPW8rTWF0aC5pbXVsKGosc3QpfDAsbj1uK01hdGguaW11bChQLHV0KXwwLGk9KGk9aStNYXRoLmltdWwoUCxjdCl8MCkrTWF0aC5pbXVsKEksdXQpfDAsbz1vK01hdGguaW11bChJLGN0KXwwLG49bitNYXRoLmltdWwoVCxodCl8MCxpPShpPWkrTWF0aC5pbXVsKFQsbHQpfDApK01hdGguaW11bChPLGh0KXwwLG89bytNYXRoLmltdWwoTyxsdCl8MDt2YXIgT3Q9KGMrKG49bitNYXRoLmltdWwoayxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGssbXQpfDApK01hdGguaW11bChBLHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKEEsbXQpfDApKyhpPj4+MTMpfDApKyhPdD4+PjI2KXwwLE90Jj02NzEwODg2MyxuPU1hdGguaW11bChxLG90KSxpPShpPU1hdGguaW11bChxLHN0KSkrTWF0aC5pbXVsKFUsb3QpfDAsbz1NYXRoLmltdWwoVSxzdCksbj1uK01hdGguaW11bChMLHV0KXwwLGk9KGk9aStNYXRoLmltdWwoTCxjdCl8MCkrTWF0aC5pbXVsKGosdXQpfDAsbz1vK01hdGguaW11bChqLGN0KXwwLG49bitNYXRoLmltdWwoUCxodCl8MCxpPShpPWkrTWF0aC5pbXVsKFAsbHQpfDApK01hdGguaW11bChJLGh0KXwwLG89bytNYXRoLmltdWwoSSxsdCl8MDt2YXIgQ3Q9KGMrKG49bitNYXRoLmltdWwoVCxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKFQsbXQpfDApK01hdGguaW11bChPLHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKE8sbXQpfDApKyhpPj4+MTMpfDApKyhDdD4+PjI2KXwwLEN0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLHV0KSxpPShpPU1hdGguaW11bChxLGN0KSkrTWF0aC5pbXVsKFUsdXQpfDAsbz1NYXRoLmltdWwoVSxjdCksbj1uK01hdGguaW11bChMLGh0KXwwLGk9KGk9aStNYXRoLmltdWwoTCxsdCl8MCkrTWF0aC5pbXVsKGosaHQpfDAsbz1vK01hdGguaW11bChqLGx0KXwwO3ZhciBQdD0oYysobj1uK01hdGguaW11bChQLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoUCxtdCl8MCkrTWF0aC5pbXVsKEkscHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoSSxtdCl8MCkrKGk+Pj4xMyl8MCkrKFB0Pj4+MjYpfDAsUHQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEsaHQpLGk9KGk9TWF0aC5pbXVsKHEsbHQpKStNYXRoLmltdWwoVSxodCl8MCxvPU1hdGguaW11bChVLGx0KTt2YXIgSXQ9KGMrKG49bitNYXRoLmltdWwoTCxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKEwsbXQpfDApK01hdGguaW11bChqLHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGosbXQpfDApKyhpPj4+MTMpfDApKyhJdD4+PjI2KXwwLEl0Jj02NzEwODg2Mzt2YXIgQnQ9KGMrKG49TWF0aC5pbXVsKHEscHQpKXwwKSsoKDgxOTEmKGk9KGk9TWF0aC5pbXVsKHEsbXQpKStNYXRoLmltdWwoVSxwdCl8MCkpPDwxMyl8MDtyZXR1cm4gYz0oKG89TWF0aC5pbXVsKFUsbXQpKSsoaT4+PjEzKXwwKSsoQnQ+Pj4yNil8MCxCdCY9NjcxMDg4NjMsdVswXT1ndCx1WzFdPWJ0LHVbMl09eXQsdVszXT12dCx1WzRdPV90LHVbNV09d3QsdVs2XT1NdCx1WzddPVN0LHVbOF09RXQsdVs5XT14dCx1WzEwXT1rdCx1WzExXT1BdCx1WzEyXT1SdCx1WzEzXT1UdCx1WzE0XT1PdCx1WzE1XT1DdCx1WzE2XT1QdCx1WzE3XT1JdCx1WzE4XT1CdCwwIT09YyYmKHVbMTldPWMsci5sZW5ndGgrKykscn07ZnVuY3Rpb24gbSh0LGUscil7cmV0dXJuKG5ldyBnKS5tdWxwKHQsZSxyKX1mdW5jdGlvbiBnKHQsZSl7dGhpcy54PXQsdGhpcy55PWV9TWF0aC5pbXVsfHwocD1kKSxvLnByb3RvdHlwZS5tdWxUbz1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMubGVuZ3RoK3QubGVuZ3RoO3JldHVybiAxMD09PXRoaXMubGVuZ3RoJiYxMD09PXQubGVuZ3RoP3AodGhpcyx0LGUpOnI8NjM/ZCh0aGlzLHQsZSk6cjwxMDI0P2Z1bmN0aW9uKHQsZSxyKXtyLm5lZ2F0aXZlPWUubmVnYXRpdmVedC5uZWdhdGl2ZSxyLmxlbmd0aD10Lmxlbmd0aCtlLmxlbmd0aDtmb3IodmFyIG49MCxpPTAsbz0wO288ci5sZW5ndGgtMTtvKyspe3ZhciBzPWk7aT0wO2Zvcih2YXIgYT02NzEwODg2MyZuLHU9TWF0aC5taW4obyxlLmxlbmd0aC0xKSxjPU1hdGgubWF4KDAsby10Lmxlbmd0aCsxKTtjPD11O2MrKyl7dmFyIGY9by1jLGg9KDB8dC53b3Jkc1tmXSkqKDB8ZS53b3Jkc1tjXSksbD02NzEwODg2MyZoO2E9NjcxMDg4NjMmKGw9bCthfDApLGkrPShzPShzPXMrKGgvNjcxMDg4NjR8MCl8MCkrKGw+Pj4yNil8MCk+Pj4yNixzJj02NzEwODg2M31yLndvcmRzW29dPWEsbj1zLHM9aX1yZXR1cm4gMCE9PW4/ci53b3Jkc1tvXT1uOnIubGVuZ3RoLS0sci5zdHJpcCgpfSh0aGlzLHQsZSk6bSh0aGlzLHQsZSl9LGcucHJvdG90eXBlLm1ha2VSQlQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0KSxyPW8ucHJvdG90eXBlLl9jb3VudEJpdHModCktMSxuPTA7bjx0O24rKyllW25dPXRoaXMucmV2QmluKG4scix0KTtyZXR1cm4gZX0sZy5wcm90b3R5cGUucmV2QmluPWZ1bmN0aW9uKHQsZSxyKXtpZigwPT09dHx8dD09PXItMSlyZXR1cm4gdDtmb3IodmFyIG49MCxpPTA7aTxlO2krKylufD0oMSZ0KTw8ZS1pLTEsdD4+PTE7cmV0dXJuIG59LGcucHJvdG90eXBlLnBlcm11dGU9ZnVuY3Rpb24odCxlLHIsbixpLG8pe2Zvcih2YXIgcz0wO3M8bztzKyspbltzXT1lW3Rbc11dLGlbc109clt0W3NdXX0sZy5wcm90b3R5cGUudHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxyLG4saSxvKXt0aGlzLnBlcm11dGUobyx0LGUscixuLGkpO2Zvcih2YXIgcz0xO3M8aTtzPDw9MSlmb3IodmFyIGE9czw8MSx1PU1hdGguY29zKDIqTWF0aC5QSS9hKSxjPU1hdGguc2luKDIqTWF0aC5QSS9hKSxmPTA7ZjxpO2YrPWEpZm9yKHZhciBoPXUsbD1jLGQ9MDtkPHM7ZCsrKXt2YXIgcD1yW2YrZF0sbT1uW2YrZF0sZz1yW2YrZCtzXSxiPW5bZitkK3NdLHk9aCpnLWwqYjtiPWgqYitsKmcsZz15LHJbZitkXT1wK2csbltmK2RdPW0rYixyW2YrZCtzXT1wLWcsbltmK2Qrc109bS1iLGQhPT1hJiYoeT11KmgtYypsLGw9dSpsK2MqaCxoPXkpfX0sZy5wcm90b3R5cGUuZ3Vlc3NMZW4xM2I9ZnVuY3Rpb24odCxlKXt2YXIgcj0xfE1hdGgubWF4KGUsdCksbj0xJnIsaT0wO2ZvcihyPXIvMnwwO3I7cj4+Pj0xKWkrKztyZXR1cm4gMTw8aSsxK259LGcucHJvdG90eXBlLmNvbmp1Z2F0ZT1mdW5jdGlvbih0LGUscil7aWYoIShyPD0xKSlmb3IodmFyIG49MDtuPHIvMjtuKyspe3ZhciBpPXRbbl07dFtuXT10W3Itbi0xXSx0W3Itbi0xXT1pLGk9ZVtuXSxlW25dPS1lW3Itbi0xXSxlW3Itbi0xXT0taX19LGcucHJvdG90eXBlLm5vcm1hbGl6ZTEzYj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49MDtuPGUvMjtuKyspe3ZhciBpPTgxOTIqTWF0aC5yb3VuZCh0WzIqbisxXS9lKStNYXRoLnJvdW5kKHRbMipuXS9lKStyO3Rbbl09NjcxMDg4NjMmaSxyPWk8NjcxMDg4NjQ/MDppLzY3MTA4ODY0fDB9cmV0dXJuIHR9LGcucHJvdG90eXBlLmNvbnZlcnQxM2I9ZnVuY3Rpb24odCxlLHIsaSl7Zm9yKHZhciBvPTAscz0wO3M8ZTtzKyspbys9MHx0W3NdLHJbMipzXT04MTkxJm8sbz4+Pj0xMyxyWzIqcysxXT04MTkxJm8sbz4+Pj0xMztmb3Iocz0yKmU7czxpOysrcylyW3NdPTA7bigwPT09byksbigwPT0oLTgxOTImbykpfSxnLnByb3RvdHlwZS5zdHViPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT0wO3JldHVybiBlfSxnLnByb3RvdHlwZS5tdWxwPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj0yKnRoaXMuZ3Vlc3NMZW4xM2IodC5sZW5ndGgsZS5sZW5ndGgpLGk9dGhpcy5tYWtlUkJUKG4pLG89dGhpcy5zdHViKG4pLHM9bmV3IEFycmF5KG4pLGE9bmV3IEFycmF5KG4pLHU9bmV3IEFycmF5KG4pLGM9bmV3IEFycmF5KG4pLGY9bmV3IEFycmF5KG4pLGg9bmV3IEFycmF5KG4pLGw9ci53b3JkcztsLmxlbmd0aD1uLHRoaXMuY29udmVydDEzYih0LndvcmRzLHQubGVuZ3RoLHMsbiksdGhpcy5jb252ZXJ0MTNiKGUud29yZHMsZS5sZW5ndGgsYyxuKSx0aGlzLnRyYW5zZm9ybShzLG8sYSx1LG4saSksdGhpcy50cmFuc2Zvcm0oYyxvLGYsaCxuLGkpO2Zvcih2YXIgZD0wO2Q8bjtkKyspe3ZhciBwPWFbZF0qZltkXS11W2RdKmhbZF07dVtkXT1hW2RdKmhbZF0rdVtkXSpmW2RdLGFbZF09cH1yZXR1cm4gdGhpcy5jb25qdWdhdGUoYSx1LG4pLHRoaXMudHJhbnNmb3JtKGEsdSxsLG8sbixpKSx0aGlzLmNvbmp1Z2F0ZShsLG8sbiksdGhpcy5ub3JtYWxpemUxM2IobCxuKSxyLm5lZ2F0aXZlPXQubmVnYXRpdmVeZS5uZWdhdGl2ZSxyLmxlbmd0aD10Lmxlbmd0aCtlLmxlbmd0aCxyLnN0cmlwKCl9LG8ucHJvdG90eXBlLm11bD1mdW5jdGlvbih0KXt2YXIgZT1uZXcgbyhudWxsKTtyZXR1cm4gZS53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgrdC5sZW5ndGgpLHRoaXMubXVsVG8odCxlKX0sby5wcm90b3R5cGUubXVsZj1mdW5jdGlvbih0KXt2YXIgZT1uZXcgbyhudWxsKTtyZXR1cm4gZS53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgrdC5sZW5ndGgpLG0odGhpcyx0LGUpfSxvLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkubXVsVG8odCx0aGlzKX0sby5wcm90b3R5cGUuaW11bG49ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQpLG4odDw2NzEwODg2NCk7Zm9yKHZhciBlPTAscj0wO3I8dGhpcy5sZW5ndGg7cisrKXt2YXIgaT0oMHx0aGlzLndvcmRzW3JdKSp0LG89KDY3MTA4ODYzJmkpKyg2NzEwODg2MyZlKTtlPj49MjYsZSs9aS82NzEwODg2NHwwLGUrPW8+Pj4yNix0aGlzLndvcmRzW3JdPTY3MTA4ODYzJm99cmV0dXJuIDAhPT1lJiYodGhpcy53b3Jkc1tyXT1lLHRoaXMubGVuZ3RoKyspLHRoaXN9LG8ucHJvdG90eXBlLm11bG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbXVsbih0KX0sby5wcm90b3R5cGUuc3FyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXVsKHRoaXMpfSxvLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW11bCh0aGlzLmNsb25lKCkpfSxvLnByb3RvdHlwZS5wb3c9ZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0LmJpdExlbmd0aCgpKSxyPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBuPXIvMjZ8MCxpPXIlMjY7ZVtyXT0odC53b3Jkc1tuXSYxPDxpKT4+Pml9cmV0dXJuIGV9KHQpO2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gbmV3IG8oMSk7Zm9yKHZhciByPXRoaXMsbj0wO248ZS5sZW5ndGgmJjA9PT1lW25dO24rKyxyPXIuc3FyKCkpO2lmKCsrbjxlLmxlbmd0aClmb3IodmFyIGk9ci5zcXIoKTtuPGUubGVuZ3RoO24rKyxpPWkuc3FyKCkpMCE9PWVbbl0mJihyPXIubXVsKGkpKTtyZXR1cm4gcn0sby5wcm90b3R5cGUuaXVzaGxuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZSxyPXQlMjYsaT0odC1yKS8yNixvPTY3MTA4ODYzPj4+MjYtcjw8MjYtcjtpZigwIT09cil7dmFyIHM9MDtmb3IoZT0wO2U8dGhpcy5sZW5ndGg7ZSsrKXt2YXIgYT10aGlzLndvcmRzW2VdJm8sdT0oMHx0aGlzLndvcmRzW2VdKS1hPDxyO3RoaXMud29yZHNbZV09dXxzLHM9YT4+PjI2LXJ9cyYmKHRoaXMud29yZHNbZV09cyx0aGlzLmxlbmd0aCsrKX1pZigwIT09aSl7Zm9yKGU9dGhpcy5sZW5ndGgtMTtlPj0wO2UtLSl0aGlzLndvcmRzW2UraV09dGhpcy53b3Jkc1tlXTtmb3IoZT0wO2U8aTtlKyspdGhpcy53b3Jkc1tlXT0wO3RoaXMubGVuZ3RoKz1pfXJldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmlzaGxuPWZ1bmN0aW9uKHQpe3JldHVybiBuKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hsbih0KX0sby5wcm90b3R5cGUuaXVzaHJuPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaTtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCksaT1lPyhlLWUlMjYpLzI2OjA7dmFyIG89dCUyNixzPU1hdGgubWluKCh0LW8pLzI2LHRoaXMubGVuZ3RoKSxhPTY3MTA4ODYzXjY3MTA4ODYzPj4+bzw8byx1PXI7aWYoaS09cyxpPU1hdGgubWF4KDAsaSksdSl7Zm9yKHZhciBjPTA7YzxzO2MrKyl1LndvcmRzW2NdPXRoaXMud29yZHNbY107dS5sZW5ndGg9c31pZigwPT09cyk7ZWxzZSBpZih0aGlzLmxlbmd0aD5zKWZvcih0aGlzLmxlbmd0aC09cyxjPTA7Yzx0aGlzLmxlbmd0aDtjKyspdGhpcy53b3Jkc1tjXT10aGlzLndvcmRzW2Mrc107ZWxzZSB0aGlzLndvcmRzWzBdPTAsdGhpcy5sZW5ndGg9MTt2YXIgZj0wO2ZvcihjPXRoaXMubGVuZ3RoLTE7Yz49MCYmKDAhPT1mfHxjPj1pKTtjLS0pe3ZhciBoPTB8dGhpcy53b3Jkc1tjXTt0aGlzLndvcmRzW2NdPWY8PDI2LW98aD4+Pm8sZj1oJmF9cmV0dXJuIHUmJjAhPT1mJiYodS53b3Jkc1t1Lmxlbmd0aCsrXT1mKSwwPT09dGhpcy5sZW5ndGgmJih0aGlzLndvcmRzWzBdPTAsdGhpcy5sZW5ndGg9MSksdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pc2hybj1mdW5jdGlvbih0LGUscil7cmV0dXJuIG4oMD09PXRoaXMubmVnYXRpdmUpLHRoaXMuaXVzaHJuKHQsZSxyKX0sby5wcm90b3R5cGUuc2hsbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaGxuKHQpfSxvLnByb3RvdHlwZS51c2hsbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbih0KX0sby5wcm90b3R5cGUuc2hybj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaHJuKHQpfSxvLnByb3RvdHlwZS51c2hybj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hybih0KX0sby5wcm90b3R5cGUudGVzdG49ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBlPXQlMjYscj0odC1lKS8yNixpPTE8PGU7cmV0dXJuISh0aGlzLmxlbmd0aDw9cikmJiEhKHRoaXMud29yZHNbcl0maSl9LG8ucHJvdG90eXBlLmltYXNrbj1mdW5jdGlvbih0KXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIGU9dCUyNixyPSh0LWUpLzI2O2lmKG4oMD09PXRoaXMubmVnYXRpdmUsImltYXNrbiB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmUgbnVtYmVycyIpLHRoaXMubGVuZ3RoPD1yKXJldHVybiB0aGlzO2lmKDAhPT1lJiZyKyssdGhpcy5sZW5ndGg9TWF0aC5taW4ocix0aGlzLmxlbmd0aCksMCE9PWUpe3ZhciBpPTY3MTA4ODYzXjY3MTA4ODYzPj4+ZTw8ZTt0aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdJj1pfXJldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLm1hc2tuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW1hc2tuKHQpfSxvLnByb3RvdHlwZS5pYWRkbj1mdW5jdGlvbih0KXtyZXR1cm4gbigibnVtYmVyIj09dHlwZW9mIHQpLG4odDw2NzEwODg2NCksdDwwP3RoaXMuaXN1Ym4oLXQpOjAhPT10aGlzLm5lZ2F0aXZlPzE9PT10aGlzLmxlbmd0aCYmKDB8dGhpcy53b3Jkc1swXSk8dD8odGhpcy53b3Jkc1swXT10LSgwfHRoaXMud29yZHNbMF0pLHRoaXMubmVnYXRpdmU9MCx0aGlzKToodGhpcy5uZWdhdGl2ZT0wLHRoaXMuaXN1Ym4odCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMpOnRoaXMuX2lhZGRuKHQpfSxvLnByb3RvdHlwZS5faWFkZG49ZnVuY3Rpb24odCl7dGhpcy53b3Jkc1swXSs9dDtmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2VdPj02NzEwODg2NDtlKyspdGhpcy53b3Jkc1tlXS09NjcxMDg4NjQsZT09PXRoaXMubGVuZ3RoLTE/dGhpcy53b3Jkc1tlKzFdPTE6dGhpcy53b3Jkc1tlKzFdKys7cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLGUrMSksdGhpc30sby5wcm90b3R5cGUuaXN1Ym49ZnVuY3Rpb24odCl7aWYobigibnVtYmVyIj09dHlwZW9mIHQpLG4odDw2NzEwODg2NCksdDwwKXJldHVybiB0aGlzLmlhZGRuKC10KTtpZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZG4odCksdGhpcy5uZWdhdGl2ZT0xLHRoaXM7aWYodGhpcy53b3Jkc1swXS09dCwxPT09dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbMF08MCl0aGlzLndvcmRzWzBdPS10aGlzLndvcmRzWzBdLHRoaXMubmVnYXRpdmU9MTtlbHNlIGZvcih2YXIgZT0wO2U8dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbZV08MDtlKyspdGhpcy53b3Jkc1tlXSs9NjcxMDg4NjQsdGhpcy53b3Jkc1tlKzFdLT0xO3JldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmFkZG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbih0KX0sby5wcm90b3R5cGUuc3Vibj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWJuKHQpfSxvLnByb3RvdHlwZS5pYWJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzfSxvLnByb3RvdHlwZS5hYnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlhYnMoKX0sby5wcm90b3R5cGUuX2lzaGxuc3VibXVsPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaSxvLHM9dC5sZW5ndGgrcjt0aGlzLl9leHBhbmQocyk7dmFyIGE9MDtmb3IoaT0wO2k8dC5sZW5ndGg7aSsrKXtvPSgwfHRoaXMud29yZHNbaStyXSkrYTt2YXIgdT0oMHx0LndvcmRzW2ldKSplO2E9KChvLT02NzEwODg2MyZ1KT4+MjYpLSh1LzY3MTA4ODY0fDApLHRoaXMud29yZHNbaStyXT02NzEwODg2MyZvfWZvcig7aTx0aGlzLmxlbmd0aC1yO2krKylhPShvPSgwfHRoaXMud29yZHNbaStyXSkrYSk+PjI2LHRoaXMud29yZHNbaStyXT02NzEwODg2MyZvO2lmKDA9PT1hKXJldHVybiB0aGlzLnN0cmlwKCk7Zm9yKG4oLTE9PT1hKSxhPTAsaT0wO2k8dGhpcy5sZW5ndGg7aSsrKWE9KG89LSgwfHRoaXMud29yZHNbaV0pK2EpPj4yNix0aGlzLndvcmRzW2ldPTY3MTA4ODYzJm87cmV0dXJuIHRoaXMubmVnYXRpdmU9MSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLl93b3JkRGl2PWZ1bmN0aW9uKHQsZSl7dmFyIHI9KHRoaXMubGVuZ3RoLHQubGVuZ3RoKSxuPXRoaXMuY2xvbmUoKSxpPXQscz0wfGkud29yZHNbaS5sZW5ndGgtMV07MCE9PShyPTI2LXRoaXMuX2NvdW50Qml0cyhzKSkmJihpPWkudXNobG4ociksbi5pdXNobG4ocikscz0wfGkud29yZHNbaS5sZW5ndGgtMV0pO3ZhciBhLHU9bi5sZW5ndGgtaS5sZW5ndGg7aWYoIm1vZCIhPT1lKXsoYT1uZXcgbyhudWxsKSkubGVuZ3RoPXUrMSxhLndvcmRzPW5ldyBBcnJheShhLmxlbmd0aCk7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYS53b3Jkc1tjXT0wfXZhciBmPW4uY2xvbmUoKS5faXNobG5zdWJtdWwoaSwxLHUpOzA9PT1mLm5lZ2F0aXZlJiYobj1mLGEmJihhLndvcmRzW3VdPTEpKTtmb3IodmFyIGg9dS0xO2g+PTA7aC0tKXt2YXIgbD02NzEwODg2NCooMHxuLndvcmRzW2kubGVuZ3RoK2hdKSsoMHxuLndvcmRzW2kubGVuZ3RoK2gtMV0pO2ZvcihsPU1hdGgubWluKGwvc3wwLDY3MTA4ODYzKSxuLl9pc2hsbnN1Ym11bChpLGwsaCk7MCE9PW4ubmVnYXRpdmU7KWwtLSxuLm5lZ2F0aXZlPTAsbi5faXNobG5zdWJtdWwoaSwxLGgpLG4uaXNaZXJvKCl8fChuLm5lZ2F0aXZlXj0xKTthJiYoYS53b3Jkc1toXT1sKX1yZXR1cm4gYSYmYS5zdHJpcCgpLG4uc3RyaXAoKSwiZGl2IiE9PWUmJjAhPT1yJiZuLml1c2hybihyKSx7ZGl2OmF8fG51bGwsbW9kOm59fSxvLnByb3RvdHlwZS5kaXZtb2Q9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuKCF0LmlzWmVybygpKSx0aGlzLmlzWmVybygpP3tkaXY6bmV3IG8oMCksbW9kOm5ldyBvKDApfTowIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmU/KGE9dGhpcy5uZWcoKS5kaXZtb2QodCxlKSwibW9kIiE9PWUmJihpPWEuZGl2Lm5lZygpKSwiZGl2IiE9PWUmJihzPWEubW9kLm5lZygpLHImJjAhPT1zLm5lZ2F0aXZlJiZzLmlhZGQodCkpLHtkaXY6aSxtb2Q6c30pOjA9PT10aGlzLm5lZ2F0aXZlJiYwIT09dC5uZWdhdGl2ZT8oYT10aGlzLmRpdm1vZCh0Lm5lZygpLGUpLCJtb2QiIT09ZSYmKGk9YS5kaXYubmVnKCkpLHtkaXY6aSxtb2Q6YS5tb2R9KTowIT0odGhpcy5uZWdhdGl2ZSZ0Lm5lZ2F0aXZlKT8oYT10aGlzLm5lZygpLmRpdm1vZCh0Lm5lZygpLGUpLCJkaXYiIT09ZSYmKHM9YS5tb2QubmVnKCksciYmMCE9PXMubmVnYXRpdmUmJnMuaXN1Yih0KSkse2RpdjphLmRpdixtb2Q6c30pOnQubGVuZ3RoPnRoaXMubGVuZ3RofHx0aGlzLmNtcCh0KTwwP3tkaXY6bmV3IG8oMCksbW9kOnRoaXN9OjE9PT10Lmxlbmd0aD8iZGl2Ij09PWU/e2Rpdjp0aGlzLmRpdm4odC53b3Jkc1swXSksbW9kOm51bGx9OiJtb2QiPT09ZT97ZGl2Om51bGwsbW9kOm5ldyBvKHRoaXMubW9kbih0LndvcmRzWzBdKSl9OntkaXY6dGhpcy5kaXZuKHQud29yZHNbMF0pLG1vZDpuZXcgbyh0aGlzLm1vZG4odC53b3Jkc1swXSkpfTp0aGlzLl93b3JkRGl2KHQsZSk7dmFyIGkscyxhfSxvLnByb3RvdHlwZS5kaXY9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZGl2bW9kKHQsImRpdiIsITEpLmRpdn0sby5wcm90b3R5cGUubW9kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJtb2QiLCExKS5tb2R9LG8ucHJvdG90eXBlLnVtb2Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZGl2bW9kKHQsIm1vZCIsITApLm1vZH0sby5wcm90b3R5cGUuZGl2Um91bmQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5kaXZtb2QodCk7aWYoZS5tb2QuaXNaZXJvKCkpcmV0dXJuIGUuZGl2O3ZhciByPTAhPT1lLmRpdi5uZWdhdGl2ZT9lLm1vZC5pc3ViKHQpOmUubW9kLG49dC51c2hybigxKSxpPXQuYW5kbG4oMSksbz1yLmNtcChuKTtyZXR1cm4gbzwwfHwxPT09aSYmMD09PW8/ZS5kaXY6MCE9PWUuZGl2Lm5lZ2F0aXZlP2UuZGl2LmlzdWJuKDEpOmUuZGl2LmlhZGRuKDEpfSxvLnByb3RvdHlwZS5tb2RuPWZ1bmN0aW9uKHQpe24odDw9NjcxMDg4NjMpO2Zvcih2YXIgZT0oMTw8MjYpJXQscj0wLGk9dGhpcy5sZW5ndGgtMTtpPj0wO2ktLSlyPShlKnIrKDB8dGhpcy53b3Jkc1tpXSkpJXQ7cmV0dXJuIHJ9LG8ucHJvdG90eXBlLmlkaXZuPWZ1bmN0aW9uKHQpe24odDw9NjcxMDg4NjMpO2Zvcih2YXIgZT0wLHI9dGhpcy5sZW5ndGgtMTtyPj0wO3ItLSl7dmFyIGk9KDB8dGhpcy53b3Jkc1tyXSkrNjcxMDg4NjQqZTt0aGlzLndvcmRzW3JdPWkvdHwwLGU9aSV0fXJldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmRpdm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2bih0KX0sby5wcm90b3R5cGUuZWdjZD1mdW5jdGlvbih0KXtuKDA9PT10Lm5lZ2F0aXZlKSxuKCF0LmlzWmVybygpKTt2YXIgZT10aGlzLHI9dC5jbG9uZSgpO2U9MCE9PWUubmVnYXRpdmU/ZS51bW9kKHQpOmUuY2xvbmUoKTtmb3IodmFyIGk9bmV3IG8oMSkscz1uZXcgbygwKSxhPW5ldyBvKDApLHU9bmV3IG8oMSksYz0wO2UuaXNFdmVuKCkmJnIuaXNFdmVuKCk7KWUuaXVzaHJuKDEpLHIuaXVzaHJuKDEpLCsrYztmb3IodmFyIGY9ci5jbG9uZSgpLGg9ZS5jbG9uZSgpOyFlLmlzWmVybygpOyl7Zm9yKHZhciBsPTAsZD0xOzA9PShlLndvcmRzWzBdJmQpJiZsPDI2OysrbCxkPDw9MSk7aWYobD4wKWZvcihlLml1c2hybihsKTtsLS0gPjA7KShpLmlzT2RkKCl8fHMuaXNPZGQoKSkmJihpLmlhZGQoZikscy5pc3ViKGgpKSxpLml1c2hybigxKSxzLml1c2hybigxKTtmb3IodmFyIHA9MCxtPTE7MD09KHIud29yZHNbMF0mbSkmJnA8MjY7KytwLG08PD0xKTtpZihwPjApZm9yKHIuaXVzaHJuKHApO3AtLSA+MDspKGEuaXNPZGQoKXx8dS5pc09kZCgpKSYmKGEuaWFkZChmKSx1LmlzdWIoaCkpLGEuaXVzaHJuKDEpLHUuaXVzaHJuKDEpO2UuY21wKHIpPj0wPyhlLmlzdWIociksaS5pc3ViKGEpLHMuaXN1Yih1KSk6KHIuaXN1YihlKSxhLmlzdWIoaSksdS5pc3ViKHMpKX1yZXR1cm57YTphLGI6dSxnY2Q6ci5pdXNobG4oYyl9fSxvLnByb3RvdHlwZS5faW52bXA9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSksbighdC5pc1plcm8oKSk7dmFyIGU9dGhpcyxyPXQuY2xvbmUoKTtlPTAhPT1lLm5lZ2F0aXZlP2UudW1vZCh0KTplLmNsb25lKCk7Zm9yKHZhciBpLHM9bmV3IG8oMSksYT1uZXcgbygwKSx1PXIuY2xvbmUoKTtlLmNtcG4oMSk+MCYmci5jbXBuKDEpPjA7KXtmb3IodmFyIGM9MCxmPTE7MD09KGUud29yZHNbMF0mZikmJmM8MjY7KytjLGY8PD0xKTtpZihjPjApZm9yKGUuaXVzaHJuKGMpO2MtLSA+MDspcy5pc09kZCgpJiZzLmlhZGQodSkscy5pdXNocm4oMSk7Zm9yKHZhciBoPTAsbD0xOzA9PShyLndvcmRzWzBdJmwpJiZoPDI2OysraCxsPDw9MSk7aWYoaD4wKWZvcihyLml1c2hybihoKTtoLS0gPjA7KWEuaXNPZGQoKSYmYS5pYWRkKHUpLGEuaXVzaHJuKDEpO2UuY21wKHIpPj0wPyhlLmlzdWIocikscy5pc3ViKGEpKTooci5pc3ViKGUpLGEuaXN1YihzKSl9cmV0dXJuKGk9MD09PWUuY21wbigxKT9zOmEpLmNtcG4oMCk8MCYmaS5pYWRkKHQpLGl9LG8ucHJvdG90eXBlLmdjZD1mdW5jdGlvbih0KXtpZih0aGlzLmlzWmVybygpKXJldHVybiB0LmFicygpO2lmKHQuaXNaZXJvKCkpcmV0dXJuIHRoaXMuYWJzKCk7dmFyIGU9dGhpcy5jbG9uZSgpLHI9dC5jbG9uZSgpO2UubmVnYXRpdmU9MCxyLm5lZ2F0aXZlPTA7Zm9yKHZhciBuPTA7ZS5pc0V2ZW4oKSYmci5pc0V2ZW4oKTtuKyspZS5pdXNocm4oMSksci5pdXNocm4oMSk7Zm9yKDs7KXtmb3IoO2UuaXNFdmVuKCk7KWUuaXVzaHJuKDEpO2Zvcig7ci5pc0V2ZW4oKTspci5pdXNocm4oMSk7dmFyIGk9ZS5jbXAocik7aWYoaTwwKXt2YXIgbz1lO2U9cixyPW99ZWxzZSBpZigwPT09aXx8MD09PXIuY21wbigxKSlicmVhaztlLmlzdWIocil9cmV0dXJuIHIuaXVzaGxuKG4pfSxvLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmVnY2QodCkuYS51bW9kKHQpfSxvLnByb3RvdHlwZS5pc0V2ZW49ZnVuY3Rpb24oKXtyZXR1cm4gMD09KDEmdGhpcy53b3Jkc1swXSl9LG8ucHJvdG90eXBlLmlzT2RkPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PSgxJnRoaXMud29yZHNbMF0pfSxvLnByb3RvdHlwZS5hbmRsbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy53b3Jkc1swXSZ0fSxvLnByb3RvdHlwZS5iaW5jbj1mdW5jdGlvbih0KXtuKCJudW1iZXIiPT10eXBlb2YgdCk7dmFyIGU9dCUyNixyPSh0LWUpLzI2LGk9MTw8ZTtpZih0aGlzLmxlbmd0aDw9cilyZXR1cm4gdGhpcy5fZXhwYW5kKHIrMSksdGhpcy53b3Jkc1tyXXw9aSx0aGlzO2Zvcih2YXIgbz1pLHM9cjswIT09byYmczx0aGlzLmxlbmd0aDtzKyspe3ZhciBhPTB8dGhpcy53b3Jkc1tzXTtvPShhKz1vKT4+PjI2LGEmPTY3MTA4ODYzLHRoaXMud29yZHNbc109YX1yZXR1cm4gMCE9PW8mJih0aGlzLndvcmRzW3NdPW8sdGhpcy5sZW5ndGgrKyksdGhpc30sby5wcm90b3R5cGUuaXNaZXJvPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLmxlbmd0aCYmMD09PXRoaXMud29yZHNbMF19LG8ucHJvdG90eXBlLmNtcG49ZnVuY3Rpb24odCl7dmFyIGUscj10PDA7aWYoMCE9PXRoaXMubmVnYXRpdmUmJiFyKXJldHVybi0xO2lmKDA9PT10aGlzLm5lZ2F0aXZlJiZyKXJldHVybiAxO2lmKHRoaXMuc3RyaXAoKSx0aGlzLmxlbmd0aD4xKWU9MTtlbHNle3ImJih0PS10KSxuKHQ8PTY3MTA4ODYzLCJOdW1iZXIgaXMgdG9vIGJpZyIpO3ZhciBpPTB8dGhpcy53b3Jkc1swXTtlPWk9PT10PzA6aTx0Py0xOjF9cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlPzB8LWU6ZX0sby5wcm90b3R5cGUuY21wPWZ1bmN0aW9uKHQpe2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09dC5uZWdhdGl2ZSlyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmMCE9PXQubmVnYXRpdmUpcmV0dXJuIDE7dmFyIGU9dGhpcy51Y21wKHQpO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT8wfC1lOmV9LG8ucHJvdG90eXBlLnVjbXA9ZnVuY3Rpb24odCl7aWYodGhpcy5sZW5ndGg+dC5sZW5ndGgpcmV0dXJuIDE7aWYodGhpcy5sZW5ndGg8dC5sZW5ndGgpcmV0dXJuLTE7Zm9yKHZhciBlPTAscj10aGlzLmxlbmd0aC0xO3I+PTA7ci0tKXt2YXIgbj0wfHRoaXMud29yZHNbcl0saT0wfHQud29yZHNbcl07aWYobiE9PWkpe248aT9lPS0xOm4+aSYmKGU9MSk7YnJlYWt9fXJldHVybiBlfSxvLnByb3RvdHlwZS5ndG49ZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10aGlzLmNtcG4odCl9LG8ucHJvdG90eXBlLmd0PWZ1bmN0aW9uKHQpe3JldHVybiAxPT09dGhpcy5jbXAodCl9LG8ucHJvdG90eXBlLmd0ZW49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wbih0KT49MH0sby5wcm90b3R5cGUuZ3RlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcCh0KT49MH0sby5wcm90b3R5cGUubHRuPWZ1bmN0aW9uKHQpe3JldHVybi0xPT09dGhpcy5jbXBuKHQpfSxvLnByb3RvdHlwZS5sdD1mdW5jdGlvbih0KXtyZXR1cm4tMT09PXRoaXMuY21wKHQpfSxvLnByb3RvdHlwZS5sdGVuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcG4odCk8PTB9LG8ucHJvdG90eXBlLmx0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXAodCk8PTB9LG8ucHJvdG90eXBlLmVxbj1mdW5jdGlvbih0KXtyZXR1cm4gMD09PXRoaXMuY21wbih0KX0sby5wcm90b3R5cGUuZXE9ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10aGlzLmNtcCh0KX0sby5yZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBTKHQpfSxvLnByb3RvdHlwZS50b1JlZD1mdW5jdGlvbih0KXtyZXR1cm4gbighdGhpcy5yZWQsIkFscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSxuKDA9PT10aGlzLm5lZ2F0aXZlLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpLHQuY29udmVydFRvKHRoaXMpLl9mb3JjZVJlZCh0KX0sby5wcm90b3R5cGUuZnJvbVJlZD1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJmcm9tUmVkIHdvcmtzIG9ubHkgd2l0aCBudW1iZXJzIGluIHJlZHVjdGlvbiBjb250ZXh0IiksdGhpcy5yZWQuY29udmVydEZyb20odGhpcyl9LG8ucHJvdG90eXBlLl9mb3JjZVJlZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZWQ9dCx0aGlzfSxvLnByb3RvdHlwZS5mb3JjZVJlZD1mdW5jdGlvbih0KXtyZXR1cm4gbighdGhpcy5yZWQsIkFscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSx0aGlzLl9mb3JjZVJlZCh0KX0sby5wcm90b3R5cGUucmVkQWRkPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuYWRkKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZElBZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZElBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuaWFkZCh0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRTdWI9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZFN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5zdWIodGhpcyx0KX0sby5wcm90b3R5cGUucmVkSVN1Yj1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5pc3ViKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZFNobD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU2hsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLnNobCh0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRNdWw9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLHQpLHRoaXMucmVkLm11bCh0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRJTXVsPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTIodGhpcyx0KSx0aGlzLnJlZC5pbXVsKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZFNxcj1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuc3FyKHRoaXMpfSxvLnByb3RvdHlwZS5yZWRJU3FyPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuaXNxcih0aGlzKX0sby5wcm90b3R5cGUucmVkU3FydD1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWRTcXJ0IHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnNxcnQodGhpcyl9LG8ucHJvdG90eXBlLnJlZEludm09ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkSW52bSB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5pbnZtKHRoaXMpfSxvLnByb3RvdHlwZS5yZWROZWc9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkTmVnIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLm5lZyh0aGlzKX0sby5wcm90b3R5cGUucmVkUG93PWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkJiYhdC5yZWQsInJlZFBvdyhub3JtYWxOdW0pIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQucG93KHRoaXMsdCl9O3ZhciBiPXtrMjU2Om51bGwscDIyNDpudWxsLHAxOTI6bnVsbCxwMjU1MTk6bnVsbH07ZnVuY3Rpb24geSh0LGUpe3RoaXMubmFtZT10LHRoaXMucD1uZXcgbyhlLDE2KSx0aGlzLm49dGhpcy5wLmJpdExlbmd0aCgpLHRoaXMuaz1uZXcgbygxKS5pdXNobG4odGhpcy5uKS5pc3ViKHRoaXMucCksdGhpcy50bXA9dGhpcy5fdG1wKCl9ZnVuY3Rpb24gdigpe3kuY2FsbCh0aGlzLCJrMjU2IiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYiKX1mdW5jdGlvbiBfKCl7eS5jYWxsKHRoaXMsInAyMjQiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMSIpfWZ1bmN0aW9uIHcoKXt5LmNhbGwodGhpcywicDE5MiIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmIil9ZnVuY3Rpb24gTSgpe3kuY2FsbCh0aGlzLCIyNTUxOSIsIjdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQiKX1mdW5jdGlvbiBTKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIGU9by5fcHJpbWUodCk7dGhpcy5tPWUucCx0aGlzLnByaW1lPWV9ZWxzZSBuKHQuZ3RuKDEpLCJtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEiKSx0aGlzLm09dCx0aGlzLnByaW1lPW51bGx9ZnVuY3Rpb24gRSh0KXtTLmNhbGwodGhpcyx0KSx0aGlzLnNoaWZ0PXRoaXMubS5iaXRMZW5ndGgoKSx0aGlzLnNoaWZ0JTI2IT0wJiYodGhpcy5zaGlmdCs9MjYtdGhpcy5zaGlmdCUyNiksdGhpcy5yPW5ldyBvKDEpLml1c2hsbih0aGlzLnNoaWZ0KSx0aGlzLnIyPXRoaXMuaW1vZCh0aGlzLnIuc3FyKCkpLHRoaXMucmludj10aGlzLnIuX2ludm1wKHRoaXMubSksdGhpcy5taW52PXRoaXMucmludi5tdWwodGhpcy5yKS5pc3VibigxKS5kaXYodGhpcy5tKSx0aGlzLm1pbnY9dGhpcy5taW52LnVtb2QodGhpcy5yKSx0aGlzLm1pbnY9dGhpcy5yLnN1Yih0aGlzLm1pbnYpfXkucHJvdG90eXBlLl90bXA9ZnVuY3Rpb24oKXt2YXIgdD1uZXcgbyhudWxsKTtyZXR1cm4gdC53b3Jkcz1uZXcgQXJyYXkoTWF0aC5jZWlsKHRoaXMubi8xMykpLHR9LHkucHJvdG90eXBlLmlyZWR1Y2U9ZnVuY3Rpb24odCl7dmFyIGUscj10O2Rve3RoaXMuc3BsaXQocix0aGlzLnRtcCksZT0ocj0ocj10aGlzLmltdWxLKHIpKS5pYWRkKHRoaXMudG1wKSkuYml0TGVuZ3RoKCl9d2hpbGUoZT50aGlzLm4pO3ZhciBuPWU8dGhpcy5uPy0xOnIudWNtcCh0aGlzLnApO3JldHVybiAwPT09bj8oci53b3Jkc1swXT0wLHIubGVuZ3RoPTEpOm4+MD9yLmlzdWIodGhpcy5wKTp2b2lkIDAhPT1yLnN0cmlwP3Iuc3RyaXAoKTpyLl9zdHJpcCgpLHJ9LHkucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7dC5pdXNocm4odGhpcy5uLDAsZSl9LHkucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe3JldHVybiB0LmltdWwodGhpcy5rKX0saSh2LHkpLHYucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPU1hdGgubWluKHQubGVuZ3RoLDkpLG49MDtuPHI7bisrKWUud29yZHNbbl09dC53b3Jkc1tuXTtpZihlLmxlbmd0aD1yLHQubGVuZ3RoPD05KXJldHVybiB0LndvcmRzWzBdPTAsdm9pZCh0Lmxlbmd0aD0xKTt2YXIgaT10LndvcmRzWzldO2ZvcihlLndvcmRzW2UubGVuZ3RoKytdPTQxOTQzMDMmaSxuPTEwO248dC5sZW5ndGg7bisrKXt2YXIgbz0wfHQud29yZHNbbl07dC53b3Jkc1tuLTEwXT0oNDE5NDMwMyZvKTw8NHxpPj4+MjIsaT1vfWk+Pj49MjIsdC53b3Jkc1tuLTEwXT1pLDA9PT1pJiZ0Lmxlbmd0aD4xMD90Lmxlbmd0aC09MTA6dC5sZW5ndGgtPTl9LHYucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe3Qud29yZHNbdC5sZW5ndGhdPTAsdC53b3Jkc1t0Lmxlbmd0aCsxXT0wLHQubGVuZ3RoKz0yO2Zvcih2YXIgZT0wLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49MHx0LndvcmRzW3JdO2UrPTk3NypuLHQud29yZHNbcl09NjcxMDg4NjMmZSxlPTY0Km4rKGUvNjcxMDg4NjR8MCl9cmV0dXJuIDA9PT10LndvcmRzW3QubGVuZ3RoLTFdJiYodC5sZW5ndGgtLSwwPT09dC53b3Jkc1t0Lmxlbmd0aC0xXSYmdC5sZW5ndGgtLSksdH0saShfLHkpLGkodyx5KSxpKE0seSksTS5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj0xOSooMHx0LndvcmRzW3JdKStlLGk9NjcxMDg4NjMmbjtuPj4+PTI2LHQud29yZHNbcl09aSxlPW59cmV0dXJuIDAhPT1lJiYodC53b3Jkc1t0Lmxlbmd0aCsrXT1lKSx0fSxvLl9wcmltZT1mdW5jdGlvbih0KXtpZihiW3RdKXJldHVybiBiW3RdO3ZhciBlO2lmKCJrMjU2Ij09PXQpZT1uZXcgdjtlbHNlIGlmKCJwMjI0Ij09PXQpZT1uZXcgXztlbHNlIGlmKCJwMTkyIj09PXQpZT1uZXcgdztlbHNle2lmKCJwMjU1MTkiIT09dCl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcHJpbWUgIit0KTtlPW5ldyBNfXJldHVybiBiW3RdPWUsZX0sUy5wcm90b3R5cGUuX3ZlcmlmeTE9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxuKHQucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LFMucHJvdG90eXBlLl92ZXJpZnkyPWZ1bmN0aW9uKHQsZSl7bigwPT0odC5uZWdhdGl2ZXxlLm5lZ2F0aXZlKSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxuKHQucmVkJiZ0LnJlZD09PWUucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LFMucHJvdG90eXBlLmltb2Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucHJpbWU/dGhpcy5wcmltZS5pcmVkdWNlKHQpLl9mb3JjZVJlZCh0aGlzKTp0LnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcyl9LFMucHJvdG90eXBlLm5lZz1mdW5jdGlvbih0KXtyZXR1cm4gdC5pc1plcm8oKT90LmNsb25lKCk6dGhpcy5tLnN1Yih0KS5fZm9yY2VSZWQodGhpcyl9LFMucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmFkZChlKTtyZXR1cm4gci5jbXAodGhpcy5tKT49MCYmci5pc3ViKHRoaXMubSksci5fZm9yY2VSZWQodGhpcyl9LFMucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5pYWRkKGUpO3JldHVybiByLmNtcCh0aGlzLm0pPj0wJiZyLmlzdWIodGhpcy5tKSxyfSxTLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5zdWIoZSk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyLl9mb3JjZVJlZCh0aGlzKX0sUy5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmlzdWIoZSk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyfSxTLnByb3RvdHlwZS5zaGw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5MSh0KSx0aGlzLmltb2QodC51c2hsbihlKSl9LFMucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5Mih0LGUpLHRoaXMuaW1vZCh0LmltdWwoZSkpfSxTLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5Mih0LGUpLHRoaXMuaW1vZCh0Lm11bChlKSl9LFMucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW11bCh0LHQuY2xvbmUoKSl9LFMucHJvdG90eXBlLnNxcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5tdWwodCx0KX0sUy5wcm90b3R5cGUuc3FydD1mdW5jdGlvbih0KXtpZih0LmlzWmVybygpKXJldHVybiB0LmNsb25lKCk7dmFyIGU9dGhpcy5tLmFuZGxuKDMpO2lmKG4oZSUyPT0xKSwzPT09ZSl7dmFyIHI9dGhpcy5tLmFkZChuZXcgbygxKSkuaXVzaHJuKDIpO3JldHVybiB0aGlzLnBvdyh0LHIpfWZvcih2YXIgaT10aGlzLm0uc3VibigxKSxzPTA7IWkuaXNaZXJvKCkmJjA9PT1pLmFuZGxuKDEpOylzKyssaS5pdXNocm4oMSk7bighaS5pc1plcm8oKSk7dmFyIGE9bmV3IG8oMSkudG9SZWQodGhpcyksdT1hLnJlZE5lZygpLGM9dGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpLGY9dGhpcy5tLmJpdExlbmd0aCgpO2ZvcihmPW5ldyBvKDIqZipmKS50b1JlZCh0aGlzKTswIT09dGhpcy5wb3coZixjKS5jbXAodSk7KWYucmVkSUFkZCh1KTtmb3IodmFyIGg9dGhpcy5wb3coZixpKSxsPXRoaXMucG93KHQsaS5hZGRuKDEpLml1c2hybigxKSksZD10aGlzLnBvdyh0LGkpLHA9czswIT09ZC5jbXAoYSk7KXtmb3IodmFyIG09ZCxnPTA7MCE9PW0uY21wKGEpO2crKyltPW0ucmVkU3FyKCk7bihnPHApO3ZhciBiPXRoaXMucG93KGgsbmV3IG8oMSkuaXVzaGxuKHAtZy0xKSk7bD1sLnJlZE11bChiKSxoPWIucmVkU3FyKCksZD1kLnJlZE11bChoKSxwPWd9cmV0dXJuIGx9LFMucHJvdG90eXBlLmludm09ZnVuY3Rpb24odCl7dmFyIGU9dC5faW52bXAodGhpcy5tKTtyZXR1cm4gMCE9PWUubmVnYXRpdmU/KGUubmVnYXRpdmU9MCx0aGlzLmltb2QoZSkucmVkTmVnKCkpOnRoaXMuaW1vZChlKX0sUy5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHQsZSl7aWYoZS5pc1plcm8oKSlyZXR1cm4gbmV3IG8oMSkudG9SZWQodGhpcyk7aWYoMD09PWUuY21wbigxKSlyZXR1cm4gdC5jbG9uZSgpO3ZhciByPW5ldyBBcnJheSgxNik7clswXT1uZXcgbygxKS50b1JlZCh0aGlzKSxyWzFdPXQ7Zm9yKHZhciBuPTI7bjxyLmxlbmd0aDtuKyspcltuXT10aGlzLm11bChyW24tMV0sdCk7dmFyIGk9clswXSxzPTAsYT0wLHU9ZS5iaXRMZW5ndGgoKSUyNjtmb3IoMD09PXUmJih1PTI2KSxuPWUubGVuZ3RoLTE7bj49MDtuLS0pe2Zvcih2YXIgYz1lLndvcmRzW25dLGY9dS0xO2Y+PTA7Zi0tKXt2YXIgaD1jPj5mJjE7aSE9PXJbMF0mJihpPXRoaXMuc3FyKGkpKSwwIT09aHx8MCE9PXM/KHM8PD0xLHN8PWgsKDQ9PT0rK2F8fDA9PT1uJiYwPT09ZikmJihpPXRoaXMubXVsKGkscltzXSksYT0wLHM9MCkpOmE9MH11PTI2fXJldHVybiBpfSxTLnByb3RvdHlwZS5jb252ZXJ0VG89ZnVuY3Rpb24odCl7dmFyIGU9dC51bW9kKHRoaXMubSk7cmV0dXJuIGU9PT10P2UuY2xvbmUoKTplfSxTLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbih0KXt2YXIgZT10LmNsb25lKCk7cmV0dXJuIGUucmVkPW51bGwsZX0sby5tb250PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRSh0KX0saShFLFMpLEUucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbW9kKHQudXNobG4odGhpcy5zaGlmdCkpfSxFLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmltb2QodC5tdWwodGhpcy5yaW52KSk7cmV0dXJuIGUucmVkPW51bGwsZX0sRS5wcm90b3R5cGUuaW11bD1mdW5jdGlvbih0LGUpe2lmKHQuaXNaZXJvKCl8fGUuaXNaZXJvKCkpcmV0dXJuIHQud29yZHNbMF09MCx0Lmxlbmd0aD0xLHQ7dmFyIHI9dC5pbXVsKGUpLG49ci5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSksaT1yLmlzdWIobikuaXVzaHJuKHRoaXMuc2hpZnQpLG89aTtyZXR1cm4gaS5jbXAodGhpcy5tKT49MD9vPWkuaXN1Yih0aGlzLm0pOmkuY21wbigwKTwwJiYobz1pLmlhZGQodGhpcy5tKSksby5fZm9yY2VSZWQodGhpcyl9LEUucHJvdG90eXBlLm11bD1mdW5jdGlvbih0LGUpe2lmKHQuaXNaZXJvKCl8fGUuaXNaZXJvKCkpcmV0dXJuIG5ldyBvKDApLl9mb3JjZVJlZCh0aGlzKTt2YXIgcj10Lm11bChlKSxuPXIubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pLGk9ci5pc3ViKG4pLml1c2hybih0aGlzLnNoaWZ0KSxzPWk7cmV0dXJuIGkuY21wKHRoaXMubSk+PTA/cz1pLmlzdWIodGhpcy5tKTppLmNtcG4oMCk8MCYmKHM9aS5pYWRkKHRoaXMubSkpLHMuX2ZvcmNlUmVkKHRoaXMpfSxFLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltb2QodC5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpLl9mb3JjZVJlZCh0aGlzKX19KHQsdGhpcyl9KS5jYWxsKHRoaXMscigyNSkodCkpfSxmdW5jdGlvbih0LGUpe3ZhciByLG49WzAsMjYsNDQsNzAsMTAwLDEzNCwxNzIsMTk2LDI0MiwyOTIsMzQ2LDQwNCw0NjYsNTMyLDU4MSw2NTUsNzMzLDgxNSw5MDEsOTkxLDEwODUsMTE1NiwxMjU4LDEzNjQsMTQ3NCwxNTg4LDE3MDYsMTgyOCwxOTIxLDIwNTEsMjE4NSwyMzIzLDI0NjUsMjYxMSwyNzYxLDI4NzYsMzAzNCwzMTk2LDMzNjIsMzUzMiwzNzA2XTtlLmdldFN5bWJvbFNpemU9ZnVuY3Rpb24odCl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCcidmVyc2lvbiIgY2Fubm90IGJlIG51bGwgb3IgdW5kZWZpbmVkJyk7aWYodDwxfHx0PjQwKXRocm93IG5ldyBFcnJvcignInZlcnNpb24iIHNob3VsZCBiZSBpbiByYW5nZSBmcm9tIDEgdG8gNDAnKTtyZXR1cm4gNCp0KzE3fSxlLmdldFN5bWJvbFRvdGFsQ29kZXdvcmRzPWZ1bmN0aW9uKHQpe3JldHVybiBuW3RdfSxlLmdldEJDSERpZ2l0PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wOzAhPT10OyllKyssdD4+Pj0xO3JldHVybiBlfSxlLnNldFRvU0pJU0Z1bmN0aW9uPWZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcignInRvU0pJU0Z1bmMiIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uLicpO3I9dH0sZS5pc0thbmppTW9kZUVuYWJsZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09cn0sZS50b1NKSVM9ZnVuY3Rpb24odCl7cmV0dXJuIHIodCl9fSxmdW5jdGlvbih0LGUscil7dmFyIG49cig5OSksaT1yKDEwMCk7ZS5OVU1FUklDPXtpZDoiTnVtZXJpYyIsYml0OjEsY2NCaXRzOlsxMCwxMiwxNF19LGUuQUxQSEFOVU1FUklDPXtpZDoiQWxwaGFudW1lcmljIixiaXQ6MixjY0JpdHM6WzksMTEsMTNdfSxlLkJZVEU9e2lkOiJCeXRlIixiaXQ6NCxjY0JpdHM6WzgsMTYsMTZdfSxlLktBTkpJPXtpZDoiS2FuamkiLGJpdDo4LGNjQml0czpbOCwxMCwxMl19LGUuTUlYRUQ9e2JpdDotMX0sZS5nZXRDaGFyQ291bnRJbmRpY2F0b3I9ZnVuY3Rpb24odCxlKXtpZighdC5jY0JpdHMpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG1vZGU6ICIrdCk7aWYoIW4uaXNWYWxpZChlKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgdmVyc2lvbjogIitlKTtyZXR1cm4gZT49MSYmZTwxMD90LmNjQml0c1swXTplPDI3P3QuY2NCaXRzWzFdOnQuY2NCaXRzWzJdfSxlLmdldEJlc3RNb2RlRm9yRGF0YT1mdW5jdGlvbih0KXtyZXR1cm4gaS50ZXN0TnVtZXJpYyh0KT9lLk5VTUVSSUM6aS50ZXN0QWxwaGFudW1lcmljKHQpP2UuQUxQSEFOVU1FUklDOmkudGVzdEthbmppKHQpP2UuS0FOSkk6ZS5CWVRFfSxlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe2lmKHQmJnQuaWQpcmV0dXJuIHQuaWQ7dGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG1vZGUiKX0sZS5pc1ZhbGlkPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0LmJpdCYmdC5jY0JpdHN9LGUuZnJvbT1mdW5jdGlvbih0LHIpe2lmKGUuaXNWYWxpZCh0KSlyZXR1cm4gdDt0cnl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoIlBhcmFtIGlzIG5vdCBhIHN0cmluZyIpO3N3aXRjaCh0LnRvTG93ZXJDYXNlKCkpe2Nhc2UibnVtZXJpYyI6cmV0dXJuIGUuTlVNRVJJQztjYXNlImFscGhhbnVtZXJpYyI6cmV0dXJuIGUuQUxQSEFOVU1FUklDO2Nhc2Uia2FuamkiOnJldHVybiBlLktBTkpJO2Nhc2UiYnl0ZSI6cmV0dXJuIGUuQllURTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBtb2RlOiAiK3QpfX0odCl9Y2F0Y2godCl7cmV0dXJuIHJ9fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDQzKSxpPU9iamVjdC5rZXlzfHxmdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIHIgaW4gdCllLnB1c2gocik7cmV0dXJuIGV9O3QuZXhwb3J0cz1oO3ZhciBvPU9iamVjdC5jcmVhdGUocigzNSkpO28uaW5oZXJpdHM9cigzKTt2YXIgcz1yKDEwNSksYT1yKDUzKTtvLmluaGVyaXRzKGgscyk7Zm9yKHZhciB1PWkoYS5wcm90b3R5cGUpLGM9MDtjPHUubGVuZ3RoO2MrKyl7dmFyIGY9dVtjXTtoLnByb3RvdHlwZVtmXXx8KGgucHJvdG90eXBlW2ZdPWEucHJvdG90eXBlW2ZdKX1mdW5jdGlvbiBoKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGgpKXJldHVybiBuZXcgaCh0KTtzLmNhbGwodGhpcyx0KSxhLmNhbGwodGhpcyx0KSx0JiYhMT09PXQucmVhZGFibGUmJih0aGlzLnJlYWRhYmxlPSExKSx0JiYhMT09PXQud3JpdGFibGUmJih0aGlzLndyaXRhYmxlPSExKSx0aGlzLmFsbG93SGFsZk9wZW49ITAsdCYmITE9PT10LmFsbG93SGFsZk9wZW4mJih0aGlzLmFsbG93SGFsZk9wZW49ITEpLHRoaXMub25jZSgiZW5kIixsKX1mdW5jdGlvbiBsKCl7dGhpcy5hbGxvd0hhbGZPcGVufHx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkfHxuLm5leHRUaWNrKGQsdGhpcyl9ZnVuY3Rpb24gZCh0KXt0LmVuZCgpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShoLnByb3RvdHlwZSwid3JpdGFibGVIaWdoV2F0ZXJNYXJrIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShoLnByb3RvdHlwZSwiZGVzdHJveWVkIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnZvaWQgMCE9PXRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQpfSxzZXQ6ZnVuY3Rpb24odCl7dm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPXQsdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9dCl9fSksaC5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24odCxlKXt0aGlzLnB1c2gobnVsbCksdGhpcy5lbmQoKSxuLm5leHRUaWNrKGUsdCl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMjA5KS5CdWZmZXIsaT1uLmlzRW5jb2Rpbmd8fGZ1bmN0aW9uKHQpe3N3aXRjaCgodD0iIit0KSYmdC50b0xvd2VyQ2FzZSgpKXtjYXNlImhleCI6Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpjYXNlImFzY2lpIjpjYXNlImJpbmFyeSI6Y2FzZSJiYXNlNjQiOmNhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpjYXNlInJhdyI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19O2Z1bmN0aW9uIG8odCl7dmFyIGU7c3dpdGNoKHRoaXMuZW5jb2Rpbmc9ZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24odCl7aWYoIXQpcmV0dXJuInV0ZjgiO2Zvcih2YXIgZTs7KXN3aXRjaCh0KXtjYXNlInV0ZjgiOmNhc2UidXRmLTgiOnJldHVybiJ1dGY4IjtjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuInV0ZjE2bGUiO2Nhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuImxhdGluMSI7Y2FzZSJiYXNlNjQiOmNhc2UiYXNjaWkiOmNhc2UiaGV4IjpyZXR1cm4gdDtkZWZhdWx0OmlmKGUpcmV0dXJuO3Q9KCIiK3QpLnRvTG93ZXJDYXNlKCksZT0hMH19KHQpO2lmKCJzdHJpbmciIT10eXBlb2YgZSYmKG4uaXNFbmNvZGluZz09PWl8fCFpKHQpKSl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrdCk7cmV0dXJuIGV8fHR9KHQpLHRoaXMuZW5jb2Rpbmcpe2Nhc2UidXRmMTZsZSI6dGhpcy50ZXh0PXUsdGhpcy5lbmQ9YyxlPTQ7YnJlYWs7Y2FzZSJ1dGY4Ijp0aGlzLmZpbGxMYXN0PWEsZT00O2JyZWFrO2Nhc2UiYmFzZTY0Ijp0aGlzLnRleHQ9Zix0aGlzLmVuZD1oLGU9MzticmVhaztkZWZhdWx0OnJldHVybiB0aGlzLndyaXRlPWwsdm9pZCh0aGlzLmVuZD1kKX10aGlzLmxhc3ROZWVkPTAsdGhpcy5sYXN0VG90YWw9MCx0aGlzLmxhc3RDaGFyPW4uYWxsb2NVbnNhZmUoZSl9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gdDw9MTI3PzA6dD4+NT09Nj8yOnQ+PjQ9PTE0PzM6dD4+Mz09MzA/NDp0Pj42PT0yPy0xOi0yfWZ1bmN0aW9uIGEodCl7dmFyIGU9dGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCxyPWZ1bmN0aW9uKHQsZSxyKXtpZigxMjghPSgxOTImZVswXSkpcmV0dXJuIHQubGFzdE5lZWQ9MCwi77+9IjtpZih0Lmxhc3ROZWVkPjEmJmUubGVuZ3RoPjEpe2lmKDEyOCE9KDE5MiZlWzFdKSlyZXR1cm4gdC5sYXN0TmVlZD0xLCLvv70iO2lmKHQubGFzdE5lZWQ+MiYmZS5sZW5ndGg+MiYmMTI4IT0oMTkyJmVbMl0pKXJldHVybiB0Lmxhc3ROZWVkPTIsIu+/vSJ9fSh0aGlzLHQpO3JldHVybiB2b2lkIDAhPT1yP3I6dGhpcy5sYXN0TmVlZDw9dC5sZW5ndGg/KHQuY29weSh0aGlzLmxhc3RDaGFyLGUsMCx0aGlzLmxhc3ROZWVkKSx0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsMCx0aGlzLmxhc3RUb3RhbCkpOih0LmNvcHkodGhpcy5sYXN0Q2hhcixlLDAsdC5sZW5ndGgpLHZvaWQodGhpcy5sYXN0TmVlZC09dC5sZW5ndGgpKX1mdW5jdGlvbiB1KHQsZSl7aWYoKHQubGVuZ3RoLWUpJTI9PTApe3ZhciByPXQudG9TdHJpbmcoInV0ZjE2bGUiLGUpO2lmKHIpe3ZhciBuPXIuY2hhckNvZGVBdChyLmxlbmd0aC0xKTtpZihuPj01NTI5NiYmbjw9NTYzMTkpcmV0dXJuIHRoaXMubGFzdE5lZWQ9Mix0aGlzLmxhc3RUb3RhbD00LHRoaXMubGFzdENoYXJbMF09dFt0Lmxlbmd0aC0yXSx0aGlzLmxhc3RDaGFyWzFdPXRbdC5sZW5ndGgtMV0sci5zbGljZSgwLC0xKX1yZXR1cm4gcn1yZXR1cm4gdGhpcy5sYXN0TmVlZD0xLHRoaXMubGFzdFRvdGFsPTIsdGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTFdLHQudG9TdHJpbmcoInV0ZjE2bGUiLGUsdC5sZW5ndGgtMSl9ZnVuY3Rpb24gYyh0KXt2YXIgZT10JiZ0Lmxlbmd0aD90aGlzLndyaXRlKHQpOiIiO2lmKHRoaXMubGFzdE5lZWQpe3ZhciByPXRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQ7cmV0dXJuIGUrdGhpcy5sYXN0Q2hhci50b1N0cmluZygidXRmMTZsZSIsMCxyKX1yZXR1cm4gZX1mdW5jdGlvbiBmKHQsZSl7dmFyIHI9KHQubGVuZ3RoLWUpJTM7cmV0dXJuIDA9PT1yP3QudG9TdHJpbmcoImJhc2U2NCIsZSk6KHRoaXMubGFzdE5lZWQ9My1yLHRoaXMubGFzdFRvdGFsPTMsMT09PXI/dGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTFdOih0aGlzLmxhc3RDaGFyWzBdPXRbdC5sZW5ndGgtMl0sdGhpcy5sYXN0Q2hhclsxXT10W3QubGVuZ3RoLTFdKSx0LnRvU3RyaW5nKCJiYXNlNjQiLGUsdC5sZW5ndGgtcikpfWZ1bmN0aW9uIGgodCl7dmFyIGU9dCYmdC5sZW5ndGg/dGhpcy53cml0ZSh0KToiIjtyZXR1cm4gdGhpcy5sYXN0TmVlZD9lK3RoaXMubGFzdENoYXIudG9TdHJpbmcoImJhc2U2NCIsMCwzLXRoaXMubGFzdE5lZWQpOmV9ZnVuY3Rpb24gbCh0KXtyZXR1cm4gdC50b1N0cmluZyh0aGlzLmVuY29kaW5nKX1mdW5jdGlvbiBkKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD90aGlzLndyaXRlKHQpOiIifWUuU3RyaW5nRGVjb2Rlcj1vLG8ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm4iIjt2YXIgZSxyO2lmKHRoaXMubGFzdE5lZWQpe2lmKHZvaWQgMD09PShlPXRoaXMuZmlsbExhc3QodCkpKXJldHVybiIiO3I9dGhpcy5sYXN0TmVlZCx0aGlzLmxhc3ROZWVkPTB9ZWxzZSByPTA7cmV0dXJuIHI8dC5sZW5ndGg/ZT9lK3RoaXMudGV4dCh0LHIpOnRoaXMudGV4dCh0LHIpOmV8fCIifSxvLnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24odCl7dmFyIGU9dCYmdC5sZW5ndGg/dGhpcy53cml0ZSh0KToiIjtyZXR1cm4gdGhpcy5sYXN0TmVlZD9lKyLvv70iOmV9LG8ucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24odCxlKXt2YXIgcj1mdW5jdGlvbih0LGUscil7dmFyIG49ZS5sZW5ndGgtMTtpZihuPHIpcmV0dXJuIDA7dmFyIGk9cyhlW25dKTtpZihpPj0wKXJldHVybiBpPjAmJih0Lmxhc3ROZWVkPWktMSksaTtpZigtLW48cnx8LTI9PT1pKXJldHVybiAwO2lmKChpPXMoZVtuXSkpPj0wKXJldHVybiBpPjAmJih0Lmxhc3ROZWVkPWktMiksaTtpZigtLW48cnx8LTI9PT1pKXJldHVybiAwO2lmKChpPXMoZVtuXSkpPj0wKXJldHVybiBpPjAmJigyPT09aT9pPTA6dC5sYXN0TmVlZD1pLTMpLGk7cmV0dXJuIDB9KHRoaXMsdCxlKTtpZighdGhpcy5sYXN0TmVlZClyZXR1cm4gdC50b1N0cmluZygidXRmOCIsZSk7dGhpcy5sYXN0VG90YWw9cjt2YXIgbj10Lmxlbmd0aC0oci10aGlzLmxhc3ROZWVkKTtyZXR1cm4gdC5jb3B5KHRoaXMubGFzdENoYXIsMCxuKSx0LnRvU3RyaW5nKCJ1dGY4IixlLG4pfSxvLnByb3RvdHlwZS5maWxsTGFzdD1mdW5jdGlvbih0KXtpZih0aGlzLmxhc3ROZWVkPD10Lmxlbmd0aClyZXR1cm4gdC5jb3B5KHRoaXMubGFzdENoYXIsdGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCwwLHRoaXMubGFzdE5lZWQpLHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywwLHRoaXMubGFzdFRvdGFsKTt0LmNvcHkodGhpcy5sYXN0Q2hhcix0aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLDAsdC5sZW5ndGgpLHRoaXMubGFzdE5lZWQtPXQubGVuZ3RofX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yc3x8ZnVuY3Rpb24odCl7Zm9yKHZhciBlPU9iamVjdC5rZXlzKHQpLHI9e30sbj0wO248ZS5sZW5ndGg7bisrKXJbZVtuXV09T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGVbbl0pO3JldHVybiByfSxpPS8lW3NkaiVdL2c7ZS5mb3JtYXQ9ZnVuY3Rpb24odCl7aWYoIWIodCkpe2Zvcih2YXIgZT1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyllLnB1c2goYShhcmd1bWVudHNbcl0pKTtyZXR1cm4gZS5qb2luKCIgIil9cj0xO2Zvcih2YXIgbj1hcmd1bWVudHMsbz1uLmxlbmd0aCxzPVN0cmluZyh0KS5yZXBsYWNlKGksKGZ1bmN0aW9uKHQpe2lmKCIlJSI9PT10KXJldHVybiIlIjtpZihyPj1vKXJldHVybiB0O3N3aXRjaCh0KXtjYXNlIiVzIjpyZXR1cm4gU3RyaW5nKG5bcisrXSk7Y2FzZSIlZCI6cmV0dXJuIE51bWJlcihuW3IrK10pO2Nhc2UiJWoiOnRyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkobltyKytdKX1jYXRjaCh0KXtyZXR1cm4iW0NpcmN1bGFyXSJ9ZGVmYXVsdDpyZXR1cm4gdH19KSksdT1uW3JdO3I8bzt1PW5bKytyXSltKHUpfHwhXyh1KT9zKz0iICIrdTpzKz0iICIrYSh1KTtyZXR1cm4gc30sZS5kZXByZWNhdGU9ZnVuY3Rpb24ocixuKXtpZih2b2lkIDAhPT10JiYhMD09PXQubm9EZXByZWNhdGlvbilyZXR1cm4gcjtpZih2b2lkIDA9PT10KXJldHVybiBmdW5jdGlvbigpe3JldHVybiBlLmRlcHJlY2F0ZShyLG4pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07dmFyIGk9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIWkpe2lmKHQudGhyb3dEZXByZWNhdGlvbil0aHJvdyBuZXcgRXJyb3Iobik7dC50cmFjZURlcHJlY2F0aW9uP2NvbnNvbGUudHJhY2Uobik6Y29uc29sZS5lcnJvcihuKSxpPSEwfXJldHVybiByLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19O3ZhciBvLHM9e307ZnVuY3Rpb24gYSh0LHIpe3ZhciBuPXtzZWVuOltdLHN0eWxpemU6Y307cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+PTMmJihuLmRlcHRoPWFyZ3VtZW50c1syXSksYXJndW1lbnRzLmxlbmd0aD49NCYmKG4uY29sb3JzPWFyZ3VtZW50c1szXSkscChyKT9uLnNob3dIaWRkZW49cjpyJiZlLl9leHRlbmQobixyKSx5KG4uc2hvd0hpZGRlbikmJihuLnNob3dIaWRkZW49ITEpLHkobi5kZXB0aCkmJihuLmRlcHRoPTIpLHkobi5jb2xvcnMpJiYobi5jb2xvcnM9ITEpLHkobi5jdXN0b21JbnNwZWN0KSYmKG4uY3VzdG9tSW5zcGVjdD0hMCksbi5jb2xvcnMmJihuLnN0eWxpemU9dSksZihuLHQsbi5kZXB0aCl9ZnVuY3Rpb24gdSh0LGUpe3ZhciByPWEuc3R5bGVzW2VdO3JldHVybiByPyIbWyIrYS5jb2xvcnNbcl1bMF0rIm0iK3QrIhtbIithLmNvbG9yc1tyXVsxXSsibSI6dH1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIHR9ZnVuY3Rpb24gZih0LHIsbil7aWYodC5jdXN0b21JbnNwZWN0JiZyJiZTKHIuaW5zcGVjdCkmJnIuaW5zcGVjdCE9PWUuaW5zcGVjdCYmKCFyLmNvbnN0cnVjdG9yfHxyLmNvbnN0cnVjdG9yLnByb3RvdHlwZSE9PXIpKXt2YXIgaT1yLmluc3BlY3Qobix0KTtyZXR1cm4gYihpKXx8KGk9Zih0LGksbikpLGl9dmFyIG89ZnVuY3Rpb24odCxlKXtpZih5KGUpKXJldHVybiB0LnN0eWxpemUoInVuZGVmaW5lZCIsInVuZGVmaW5lZCIpO2lmKGIoZSkpe3ZhciByPSInIitKU09OLnN0cmluZ2lmeShlKS5yZXBsYWNlKC9eInwiJC9nLCIiKS5yZXBsYWNlKC8nL2csIlxcJyIpLnJlcGxhY2UoL1xcIi9nLCciJykrIiciO3JldHVybiB0LnN0eWxpemUociwic3RyaW5nIil9aWYoZyhlKSlyZXR1cm4gdC5zdHlsaXplKCIiK2UsIm51bWJlciIpO2lmKHAoZSkpcmV0dXJuIHQuc3R5bGl6ZSgiIitlLCJib29sZWFuIik7aWYobShlKSlyZXR1cm4gdC5zdHlsaXplKCJudWxsIiwibnVsbCIpfSh0LHIpO2lmKG8pcmV0dXJuIG87dmFyIHM9T2JqZWN0LmtleXMociksYT1mdW5jdGlvbih0KXt2YXIgZT17fTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0LHIpe2VbdF09ITB9KSksZX0ocyk7aWYodC5zaG93SGlkZGVuJiYocz1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhyKSksTShyKSYmKHMuaW5kZXhPZigibWVzc2FnZSIpPj0wfHxzLmluZGV4T2YoImRlc2NyaXB0aW9uIik+PTApKXJldHVybiBoKHIpO2lmKDA9PT1zLmxlbmd0aCl7aWYoUyhyKSl7dmFyIHU9ci5uYW1lPyI6ICIrci5uYW1lOiIiO3JldHVybiB0LnN0eWxpemUoIltGdW5jdGlvbiIrdSsiXSIsInNwZWNpYWwiKX1pZih2KHIpKXJldHVybiB0LnN0eWxpemUoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpLCJyZWdleHAiKTtpZih3KHIpKXJldHVybiB0LnN0eWxpemUoRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKSwiZGF0ZSIpO2lmKE0ocikpcmV0dXJuIGgocil9dmFyIGMsXz0iIixFPSExLHg9WyJ7IiwifSJdOyhkKHIpJiYoRT0hMCx4PVsiWyIsIl0iXSksUyhyKSkmJihfPSIgW0Z1bmN0aW9uIisoci5uYW1lPyI6ICIrci5uYW1lOiIiKSsiXSIpO3JldHVybiB2KHIpJiYoXz0iICIrUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpKSx3KHIpJiYoXz0iICIrRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcuY2FsbChyKSksTShyKSYmKF89IiAiK2gocikpLDAhPT1zLmxlbmd0aHx8RSYmMCE9ci5sZW5ndGg/bjwwP3Yocik/dC5zdHlsaXplKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKSwicmVnZXhwIik6dC5zdHlsaXplKCJbT2JqZWN0XSIsInNwZWNpYWwiKToodC5zZWVuLnB1c2gociksYz1FP2Z1bmN0aW9uKHQsZSxyLG4saSl7Zm9yKHZhciBvPVtdLHM9MCxhPWUubGVuZ3RoO3M8YTsrK3MpUihlLFN0cmluZyhzKSk/by5wdXNoKGwodCxlLHIsbixTdHJpbmcocyksITApKTpvLnB1c2goIiIpO3JldHVybiBpLmZvckVhY2goKGZ1bmN0aW9uKGkpe2kubWF0Y2goL15cZCskLyl8fG8ucHVzaChsKHQsZSxyLG4saSwhMCkpfSkpLG99KHQscixuLGEscyk6cy5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBsKHQscixuLGEsZSxFKX0pKSx0LnNlZW4ucG9wKCksZnVuY3Rpb24odCxlLHIpe2lmKHQucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiBlLmluZGV4T2YoIlxuIik+PTAmJjAsdCtlLnJlcGxhY2UoL1x1MDAxYlxbXGRcZD9tL2csIiIpLmxlbmd0aCsxfSksMCk+NjApcmV0dXJuIHJbMF0rKCIiPT09ZT8iIjplKyJcbiAiKSsiICIrdC5qb2luKCIsXG4gICIpKyIgIityWzFdO3JldHVybiByWzBdK2UrIiAiK3Quam9pbigiLCAiKSsiICIrclsxXX0oYyxfLHgpKTp4WzBdK18reFsxXX1mdW5jdGlvbiBoKHQpe3JldHVybiJbIitFcnJvci5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSsiXSJ9ZnVuY3Rpb24gbCh0LGUscixuLGksbyl7dmFyIHMsYSx1O2lmKCh1PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxpKXx8e3ZhbHVlOmVbaV19KS5nZXQ/YT11LnNldD90LnN0eWxpemUoIltHZXR0ZXIvU2V0dGVyXSIsInNwZWNpYWwiKTp0LnN0eWxpemUoIltHZXR0ZXJdIiwic3BlY2lhbCIpOnUuc2V0JiYoYT10LnN0eWxpemUoIltTZXR0ZXJdIiwic3BlY2lhbCIpKSxSKG4saSl8fChzPSJbIitpKyJdIiksYXx8KHQuc2Vlbi5pbmRleE9mKHUudmFsdWUpPDA/KGE9bShyKT9mKHQsdS52YWx1ZSxudWxsKTpmKHQsdS52YWx1ZSxyLTEpKS5pbmRleE9mKCJcbiIpPi0xJiYoYT1vP2Euc3BsaXQoIlxuIikubWFwKChmdW5jdGlvbih0KXtyZXR1cm4iICAiK3R9KSkuam9pbigiXG4iKS5zdWJzdHIoMik6IlxuIithLnNwbGl0KCJcbiIpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIiAgICIrdH0pKS5qb2luKCJcbiIpKTphPXQuc3R5bGl6ZSgiW0NpcmN1bGFyXSIsInNwZWNpYWwiKSkseShzKSl7aWYobyYmaS5tYXRjaCgvXlxkKyQvKSlyZXR1cm4gYTsocz1KU09OLnN0cmluZ2lmeSgiIitpKSkubWF0Y2goL14iKFthLXpBLVpfXVthLXpBLVpfMC05XSopIiQvKT8ocz1zLnN1YnN0cigxLHMubGVuZ3RoLTIpLHM9dC5zdHlsaXplKHMsIm5hbWUiKSk6KHM9cy5yZXBsYWNlKC8nL2csIlxcJyIpLnJlcGxhY2UoL1xcIi9nLCciJykucmVwbGFjZSgvKF4ifCIkKS9nLCInIikscz10LnN0eWxpemUocywic3RyaW5nIikpfXJldHVybiBzKyI6ICIrYX1mdW5jdGlvbiBkKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpfWZ1bmN0aW9uIHAodCl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgdH1mdW5jdGlvbiBtKHQpe3JldHVybiBudWxsPT09dH1mdW5jdGlvbiBnKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdH1mdW5jdGlvbiBiKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdH1mdW5jdGlvbiB5KHQpe3JldHVybiB2b2lkIDA9PT10fWZ1bmN0aW9uIHYodCl7cmV0dXJuIF8odCkmJiJbb2JqZWN0IFJlZ0V4cF0iPT09RSh0KX1mdW5jdGlvbiBfKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXR9ZnVuY3Rpb24gdyh0KXtyZXR1cm4gXyh0KSYmIltvYmplY3QgRGF0ZV0iPT09RSh0KX1mdW5jdGlvbiBNKHQpe3JldHVybiBfKHQpJiYoIltvYmplY3QgRXJyb3JdIj09PUUodCl8fHQgaW5zdGFuY2VvZiBFcnJvcil9ZnVuY3Rpb24gUyh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH1mdW5jdGlvbiBFKHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24geCh0KXtyZXR1cm4gdDwxMD8iMCIrdC50b1N0cmluZygxMCk6dC50b1N0cmluZygxMCl9ZS5kZWJ1Z2xvZz1mdW5jdGlvbihyKXtpZih5KG8pJiYobz10LmVudi5OT0RFX0RFQlVHfHwiIikscj1yLnRvVXBwZXJDYXNlKCksIXNbcl0paWYobmV3IFJlZ0V4cCgiXFxiIityKyJcXGIiLCJpIikudGVzdChvKSl7dmFyIG49dC5waWQ7c1tyXT1mdW5jdGlvbigpe3ZhciB0PWUuZm9ybWF0LmFwcGx5KGUsYXJndW1lbnRzKTtjb25zb2xlLmVycm9yKCIlcyAlZDogJXMiLHIsbix0KX19ZWxzZSBzW3JdPWZ1bmN0aW9uKCl7fTtyZXR1cm4gc1tyXX0sZS5pbnNwZWN0PWEsYS5jb2xvcnM9e2JvbGQ6WzEsMjJdLGl0YWxpYzpbMywyM10sdW5kZXJsaW5lOls0LDI0XSxpbnZlcnNlOls3LDI3XSx3aGl0ZTpbMzcsMzldLGdyZXk6WzkwLDM5XSxibGFjazpbMzAsMzldLGJsdWU6WzM0LDM5XSxjeWFuOlszNiwzOV0sZ3JlZW46WzMyLDM5XSxtYWdlbnRhOlszNSwzOV0scmVkOlszMSwzOV0seWVsbG93OlszMywzOV19LGEuc3R5bGVzPXtzcGVjaWFsOiJjeWFuIixudW1iZXI6InllbGxvdyIsYm9vbGVhbjoieWVsbG93Iix1bmRlZmluZWQ6ImdyZXkiLG51bGw6ImJvbGQiLHN0cmluZzoiZ3JlZW4iLGRhdGU6Im1hZ2VudGEiLHJlZ2V4cDoicmVkIn0sZS5pc0FycmF5PWQsZS5pc0Jvb2xlYW49cCxlLmlzTnVsbD1tLGUuaXNOdWxsT3JVbmRlZmluZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR9LGUuaXNOdW1iZXI9ZyxlLmlzU3RyaW5nPWIsZS5pc1N5bWJvbD1mdW5jdGlvbih0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR9LGUuaXNVbmRlZmluZWQ9eSxlLmlzUmVnRXhwPXYsZS5pc09iamVjdD1fLGUuaXNEYXRlPXcsZS5pc0Vycm9yPU0sZS5pc0Z1bmN0aW9uPVMsZS5pc1ByaW1pdGl2ZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09PXR8fCJib29sZWFuIj09dHlwZW9mIHR8fCJudW1iZXIiPT10eXBlb2YgdHx8InN0cmluZyI9PXR5cGVvZiB0fHwic3ltYm9sIj09dHlwZW9mIHR8fHZvaWQgMD09PXR9LGUuaXNCdWZmZXI9cigyMjUpO3ZhciBrPVsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl07ZnVuY3Rpb24gQSgpe3ZhciB0PW5ldyBEYXRlLGU9W3godC5nZXRIb3VycygpKSx4KHQuZ2V0TWludXRlcygpKSx4KHQuZ2V0U2Vjb25kcygpKV0uam9pbigiOiIpO3JldHVyblt0LmdldERhdGUoKSxrW3QuZ2V0TW9udGgoKV0sZV0uam9pbigiICIpfWZ1bmN0aW9uIFIodCxlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSl9ZS5sb2c9ZnVuY3Rpb24oKXtjb25zb2xlLmxvZygiJXMgLSAlcyIsQSgpLGUuZm9ybWF0LmFwcGx5KGUsYXJndW1lbnRzKSl9LGUuaW5oZXJpdHM9cigyMjYpLGUuX2V4dGVuZD1mdW5jdGlvbih0LGUpe2lmKCFlfHwhXyhlKSlyZXR1cm4gdDtmb3IodmFyIHI9T2JqZWN0LmtleXMoZSksbj1yLmxlbmd0aDtuLS07KXRbcltuXV09ZVtyW25dXTtyZXR1cm4gdH07dmFyIFQ9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2w/U3ltYm9sKCJ1dGlsLnByb21pc2lmeS5jdXN0b20iKTp2b2lkIDA7ZnVuY3Rpb24gTyh0LGUpe2lmKCF0KXt2YXIgcj1uZXcgRXJyb3IoIlByb21pc2Ugd2FzIHJlamVjdGVkIHdpdGggYSBmYWxzeSB2YWx1ZSIpO3IucmVhc29uPXQsdD1yfXJldHVybiBlKHQpfWUucHJvbWlzaWZ5PWZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAib3JpZ2luYWwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBGdW5jdGlvbicpO2lmKFQmJnRbVF0pe3ZhciBlO2lmKCJmdW5jdGlvbiIhPXR5cGVvZihlPXRbVF0pKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAidXRpbC5wcm9taXNpZnkuY3VzdG9tIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24nKTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsVCx7dmFsdWU6ZSxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGV9ZnVuY3Rpb24gZSgpe2Zvcih2YXIgZSxyLG49bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsbil7ZT10LHI9bn0pKSxpPVtdLG89MDtvPGFyZ3VtZW50cy5sZW5ndGg7bysrKWkucHVzaChhcmd1bWVudHNbb10pO2kucHVzaCgoZnVuY3Rpb24odCxuKXt0P3IodCk6ZShuKX0pKTt0cnl7dC5hcHBseSh0aGlzLGkpfWNhdGNoKHQpe3IodCl9cmV0dXJuIG59cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZihlLE9iamVjdC5nZXRQcm90b3R5cGVPZih0KSksVCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsVCx7dmFsdWU6ZSxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsbih0KSl9LGUucHJvbWlzaWZ5LmN1c3RvbT1ULGUuY2FsbGJhY2tpZnk9ZnVuY3Rpb24oZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJvcmlnaW5hbCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEZ1bmN0aW9uJyk7ZnVuY3Rpb24gcigpe2Zvcih2YXIgcj1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKylyLnB1c2goYXJndW1lbnRzW25dKTt2YXIgaT1yLnBvcCgpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBpKXRocm93IG5ldyBUeXBlRXJyb3IoIlRoZSBsYXN0IGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBGdW5jdGlvbiIpO3ZhciBvPXRoaXMscz1mdW5jdGlvbigpe3JldHVybiBpLmFwcGx5KG8sYXJndW1lbnRzKX07ZS5hcHBseSh0aGlzLHIpLnRoZW4oKGZ1bmN0aW9uKGUpe3QubmV4dFRpY2socyxudWxsLGUpfSksKGZ1bmN0aW9uKGUpe3QubmV4dFRpY2soTyxlLHMpfSkpfXJldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YocixPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHIsbihlKSkscn19KS5jYWxsKHRoaXMscig1KSl9LGZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gcih0LGUpe2lmKCF0KXRocm93IG5ldyBFcnJvcihlfHwiQXNzZXJ0aW9uIGZhaWxlZCIpfXQuZXhwb3J0cz1yLHIuZXF1YWw9ZnVuY3Rpb24odCxlLHIpe2lmKHQhPWUpdGhyb3cgbmV3IEVycm9yKHJ8fCJBc3NlcnRpb24gZmFpbGVkOiAiK3QrIiAhPSAiK2UpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5pc0FzeW5jPXZvaWQgMDt2YXIgbixpPXIoMzIyKSxvPShuPWkpJiZuLl9fZXNNb2R1bGU/bjp7ZGVmYXVsdDpufTt2YXIgcz0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sO2Z1bmN0aW9uIGEodCl7cmV0dXJuIHMmJiJBc3luY0Z1bmN0aW9uIj09PXRbU3ltYm9sLnRvU3RyaW5nVGFnXX1lLmRlZmF1bHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGEodCk/KDAsby5kZWZhdWx0KSh0KTp0fSxlLmlzQXN5bmM9YX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksci5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBvfSkpLHIuZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKTt2YXIgbj1yKDcpO2Z1bmN0aW9uIGkodCl7cmV0dXJuIG4uYy5pbmNsdWRlcyh0KX1mdW5jdGlvbiBvKHQpe3JldHVybiBPYmplY3Qua2V5cyhuLmYpLmluY2x1ZGVzKHQpP24uZlt0XTpuLmZbbi5hXX1mdW5jdGlvbiBzKHQpe2NvbnN0IGU9T2JqZWN0LnZhbHVlcyhuLmYpLmZpbmQoZT0+ZS5jb2RlPT09dCk7cmV0dXJuIGV8fG4uZltuLmFdfX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHQud2VicGFja1BvbHlmaWxsfHwodC5kZXByZWNhdGU9ZnVuY3Rpb24oKXt9LHQucGF0aHM9W10sdC5jaGlsZHJlbnx8KHQuY2hpbGRyZW49W10pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJsb2FkZWQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0Lmx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImlkIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5pfX0pLHQud2VicGFja1BvbHlmaWxsPTEpLHR9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoNTApO28uVFlQRURfQVJSQVlfU1VQUE9SVD1mdW5jdGlvbigpe3RyeXt2YXIgdD1uZXcgVWludDhBcnJheSgxKTtyZXR1cm4gdC5fX3Byb3RvX189e19fcHJvdG9fXzpVaW50OEFycmF5LnByb3RvdHlwZSxmb286ZnVuY3Rpb24oKXtyZXR1cm4gNDJ9fSw0Mj09PXQuZm9vKCl9Y2F0Y2godCl7cmV0dXJuITF9fSgpO3ZhciBpPW8uVFlQRURfQVJSQVlfU1VQUE9SVD8yMTQ3NDgzNjQ3OjEwNzM3NDE4MjM7ZnVuY3Rpb24gbyh0LGUscil7cmV0dXJuIG8uVFlQRURfQVJSQVlfU1VQUE9SVHx8dGhpcyBpbnN0YW5jZW9mIG8/Im51bWJlciI9PXR5cGVvZiB0P3UodGhpcyx0KTpmdW5jdGlvbih0LGUscixuKXtpZigibnVtYmVyIj09dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignInZhbHVlIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJmUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gZnVuY3Rpb24odCxlLHIsbil7aWYocjwwfHxlLmJ5dGVMZW5ndGg8cil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiJ29mZnNldCcgaXMgb3V0IG9mIGJvdW5kcyIpO2lmKGUuYnl0ZUxlbmd0aDxyKyhufHwwKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiJ2xlbmd0aCcgaXMgb3V0IG9mIGJvdW5kcyIpO3ZhciBpO2k9dm9pZCAwPT09ciYmdm9pZCAwPT09bj9uZXcgVWludDhBcnJheShlKTp2b2lkIDA9PT1uP25ldyBVaW50OEFycmF5KGUscik6bmV3IFVpbnQ4QXJyYXkoZSxyLG4pO28uVFlQRURfQVJSQVlfU1VQUE9SVD9pLl9fcHJvdG9fXz1vLnByb3RvdHlwZTppPWModCxpKTtyZXR1cm4gaX0odCxlLHIsbik7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBmdW5jdGlvbih0LGUpe3ZhciByPTB8aChlKSxuPWEodCxyKSxpPW4ud3JpdGUoZSk7aSE9PXImJihuPW4uc2xpY2UoMCxpKSk7cmV0dXJuIG59KHQsZSk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7aWYoby5pc0J1ZmZlcihlKSl7dmFyIHI9MHxzKGUubGVuZ3RoKSxuPWEodCxyKTtyZXR1cm4gMD09PW4ubGVuZ3RofHxlLmNvcHkobiwwLDAsciksbn1pZihlKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZlLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfHwibGVuZ3RoImluIGUpcmV0dXJuIm51bWJlciIhPXR5cGVvZiBlLmxlbmd0aHx8KGk9ZS5sZW5ndGgpIT1pP2EodCwwKTpjKHQsZSk7aWYoIkJ1ZmZlciI9PT1lLnR5cGUmJkFycmF5LmlzQXJyYXkoZS5kYXRhKSlyZXR1cm4gYyh0LGUuZGF0YSl9dmFyIGk7dGhyb3cgbmV3IFR5cGVFcnJvcigiRmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIGFycmF5LWxpa2Ugb2JqZWN0LiIpfSh0LGUpfSh0aGlzLHQsZSxyKTpuZXcgbyh0LGUscil9ZnVuY3Rpb24gcyh0KXtpZih0Pj1pKXRocm93IG5ldyBSYW5nZUVycm9yKCJBdHRlbXB0IHRvIGFsbG9jYXRlIEJ1ZmZlciBsYXJnZXIgdGhhbiBtYXhpbXVtIHNpemU6IDB4IitpLnRvU3RyaW5nKDE2KSsiIGJ5dGVzIik7cmV0dXJuIDB8dH1mdW5jdGlvbiBhKHQsZSl7dmFyIHI7cmV0dXJuIG8uVFlQRURfQVJSQVlfU1VQUE9SVD8ocj1uZXcgVWludDhBcnJheShlKSkuX19wcm90b19fPW8ucHJvdG90eXBlOihudWxsPT09KHI9dCkmJihyPW5ldyBvKGUpKSxyLmxlbmd0aD1lKSxyfWZ1bmN0aW9uIHUodCxlKXt2YXIgcj1hKHQsZTwwPzA6MHxzKGUpKTtpZighby5UWVBFRF9BUlJBWV9TVVBQT1JUKWZvcih2YXIgbj0wO248ZTsrK24pcltuXT0wO3JldHVybiByfWZ1bmN0aW9uIGModCxlKXtmb3IodmFyIHI9ZS5sZW5ndGg8MD8wOjB8cyhlLmxlbmd0aCksbj1hKHQsciksaT0wO2k8cjtpKz0xKW5baV09MjU1JmVbaV07cmV0dXJuIG59ZnVuY3Rpb24gZih0LGUpe3ZhciByO2U9ZXx8MS8wO2Zvcih2YXIgbj10Lmxlbmd0aCxpPW51bGwsbz1bXSxzPTA7czxuOysrcyl7aWYoKHI9dC5jaGFyQ29kZUF0KHMpKT41NTI5NSYmcjw1NzM0NCl7aWYoIWkpe2lmKHI+NTYzMTkpeyhlLT0zKT4tMSYmby5wdXNoKDIzOSwxOTEsMTg5KTtjb250aW51ZX1pZihzKzE9PT1uKXsoZS09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aT1yO2NvbnRpbnVlfWlmKHI8NTYzMjApeyhlLT0zKT4tMSYmby5wdXNoKDIzOSwxOTEsMTg5KSxpPXI7Y29udGludWV9cj02NTUzNisoaS01NTI5Njw8MTB8ci01NjMyMCl9ZWxzZSBpJiYoZS09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSk7aWYoaT1udWxsLHI8MTI4KXtpZigoZS09MSk8MClicmVhaztvLnB1c2gocil9ZWxzZSBpZihyPDIwNDgpe2lmKChlLT0yKTwwKWJyZWFrO28ucHVzaChyPj42fDE5Miw2MyZyfDEyOCl9ZWxzZSBpZihyPDY1NTM2KXtpZigoZS09Myk8MClicmVhaztvLnB1c2gocj4+MTJ8MjI0LHI+PjYmNjN8MTI4LDYzJnJ8MTI4KX1lbHNle2lmKCEocjwxMTE0MTEyKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgY29kZSBwb2ludCIpO2lmKChlLT00KTwwKWJyZWFrO28ucHVzaChyPj4xOHwyNDAscj4+MTImNjN8MTI4LHI+PjYmNjN8MTI4LDYzJnJ8MTI4KX19cmV0dXJuIG99ZnVuY3Rpb24gaCh0KXtyZXR1cm4gby5pc0J1ZmZlcih0KT90Lmxlbmd0aDoidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiYiZnVuY3Rpb24iPT10eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3JiYoQXJyYXlCdWZmZXIuaXNWaWV3KHQpfHx0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpP3QuYnl0ZUxlbmd0aDooInN0cmluZyIhPXR5cGVvZiB0JiYodD0iIit0KSwwPT09dC5sZW5ndGg/MDpmKHQpLmxlbmd0aCl9by5UWVBFRF9BUlJBWV9TVVBQT1JUJiYoby5wcm90b3R5cGUuX19wcm90b19fPVVpbnQ4QXJyYXkucHJvdG90eXBlLG8uX19wcm90b19fPVVpbnQ4QXJyYXksInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5zcGVjaWVzJiZvW1N5bWJvbC5zcGVjaWVzXT09PW8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLFN5bWJvbC5zcGVjaWVzLHt2YWx1ZTpudWxsLGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiExfSkpLG8ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQsZSxyKXt2b2lkIDA9PT1lfHx2b2lkIDA9PT1yJiYic3RyaW5nIj09dHlwZW9mIGU/KHI9dGhpcy5sZW5ndGgsZT0wKTppc0Zpbml0ZShlKSYmKGV8PTAsaXNGaW5pdGUocik/cnw9MDpyPXZvaWQgMCk7dmFyIG49dGhpcy5sZW5ndGgtZTtpZigodm9pZCAwPT09cnx8cj5uKSYmKHI9biksdC5sZW5ndGg+MCYmKHI8MHx8ZTwwKXx8ZT50aGlzLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQXR0ZW1wdCB0byB3cml0ZSBvdXRzaWRlIGJ1ZmZlciBib3VuZHMiKTtyZXR1cm4gZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIGZ1bmN0aW9uKHQsZSxyLG4pe2Zvcih2YXIgaT0wO2k8biYmIShpK3I+PWUubGVuZ3RofHxpPj10Lmxlbmd0aCk7KytpKWVbaStyXT10W2ldO3JldHVybiBpfShmKGUsdC5sZW5ndGgtciksdCxyLG4pfSh0aGlzLHQsZSxyKX0sby5wcm90b3R5cGUuc2xpY2U9ZnVuY3Rpb24odCxlKXt2YXIgcixuPXRoaXMubGVuZ3RoO2lmKCh0PX5+dCk8MD8odCs9bik8MCYmKHQ9MCk6dD5uJiYodD1uKSwoZT12b2lkIDA9PT1lP246fn5lKTwwPyhlKz1uKTwwJiYoZT0wKTplPm4mJihlPW4pLGU8dCYmKGU9dCksby5UWVBFRF9BUlJBWV9TVVBQT1JUKShyPXRoaXMuc3ViYXJyYXkodCxlKSkuX19wcm90b19fPW8ucHJvdG90eXBlO2Vsc2V7dmFyIGk9ZS10O3I9bmV3IG8oaSx2b2lkIDApO2Zvcih2YXIgcz0wO3M8aTsrK3MpcltzXT10aGlzW3MrdF19cmV0dXJuIHJ9LG8ucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24odCxlLHIsbil7aWYocnx8KHI9MCksbnx8MD09PW58fChuPXRoaXMubGVuZ3RoKSxlPj10Lmxlbmd0aCYmKGU9dC5sZW5ndGgpLGV8fChlPTApLG4+MCYmbjxyJiYobj1yKSxuPT09cilyZXR1cm4gMDtpZigwPT09dC5sZW5ndGh8fDA9PT10aGlzLmxlbmd0aClyZXR1cm4gMDtpZihlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoInRhcmdldFN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihyPDB8fHI+PXRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VTdGFydCBvdXQgb2YgYm91bmRzIik7aWYobjwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VFbmQgb3V0IG9mIGJvdW5kcyIpO24+dGhpcy5sZW5ndGgmJihuPXRoaXMubGVuZ3RoKSx0Lmxlbmd0aC1lPG4tciYmKG49dC5sZW5ndGgtZStyKTt2YXIgaSxzPW4tcjtpZih0aGlzPT09dCYmcjxlJiZlPG4pZm9yKGk9cy0xO2k+PTA7LS1pKXRbaStlXT10aGlzW2krcl07ZWxzZSBpZihzPDFlM3x8IW8uVFlQRURfQVJSQVlfU1VQUE9SVClmb3IoaT0wO2k8czsrK2kpdFtpK2VdPXRoaXNbaStyXTtlbHNlIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKHQsdGhpcy5zdWJhcnJheShyLHIrcyksZSk7cmV0dXJuIHN9LG8ucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24odCxlLHIpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7aWYoInN0cmluZyI9PXR5cGVvZiBlPyhlPTAscj10aGlzLmxlbmd0aCk6InN0cmluZyI9PXR5cGVvZiByJiYocj10aGlzLmxlbmd0aCksMT09PXQubGVuZ3RoKXt2YXIgbj10LmNoYXJDb2RlQXQoMCk7bjwyNTYmJih0PW4pfX1lbHNlIm51bWJlciI9PXR5cGVvZiB0JiYodCY9MjU1KTtpZihlPDB8fHRoaXMubGVuZ3RoPGV8fHRoaXMubGVuZ3RoPHIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk91dCBvZiByYW5nZSBpbmRleCIpO2lmKHI8PWUpcmV0dXJuIHRoaXM7dmFyIGk7aWYoZT4+Pj0wLHI9dm9pZCAwPT09cj90aGlzLmxlbmd0aDpyPj4+MCx0fHwodD0wKSwibnVtYmVyIj09dHlwZW9mIHQpZm9yKGk9ZTtpPHI7KytpKXRoaXNbaV09dDtlbHNle3ZhciBzPW8uaXNCdWZmZXIodCk/dDpuZXcgbyh0KSxhPXMubGVuZ3RoO2ZvcihpPTA7aTxyLWU7KytpKXRoaXNbaStlXT1zW2klYV19cmV0dXJuIHRoaXN9LG8uY29uY2F0PWZ1bmN0aW9uKHQsZSl7aWYoIW4odCkpdGhyb3cgbmV3IFR5cGVFcnJvcignImxpc3QiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gYShudWxsLDApO3ZhciByO2lmKHZvaWQgMD09PWUpZm9yKGU9MCxyPTA7cjx0Lmxlbmd0aDsrK3IpZSs9dFtyXS5sZW5ndGg7dmFyIGk9dShudWxsLGUpLHM9MDtmb3Iocj0wO3I8dC5sZW5ndGg7KytyKXt2YXIgYz10W3JdO2lmKCFvLmlzQnVmZmVyKGMpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJsaXN0IiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKTtjLmNvcHkoaSxzKSxzKz1jLmxlbmd0aH1yZXR1cm4gaX0sby5ieXRlTGVuZ3RoPWgsby5wcm90b3R5cGUuX2lzQnVmZmVyPSEwLG8uaXNCdWZmZXI9ZnVuY3Rpb24odCl7cmV0dXJuIShudWxsPT10fHwhdC5faXNCdWZmZXIpfSx0LmV4cG9ydHMuYWxsb2M9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IG8odCk7cmV0dXJuIGUuZmlsbCgwKSxlfSx0LmV4cG9ydHMuZnJvbT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IG8odCl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXt9O2Z1bmN0aW9uIGkodCxlLHIpe3J8fChyPUVycm9yKTt2YXIgaT1mdW5jdGlvbih0KXt2YXIgcixuO2Z1bmN0aW9uIGkocixuLGkpe3JldHVybiB0LmNhbGwodGhpcyxmdW5jdGlvbih0LHIsbil7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2U6ZSh0LHIsbil9KHIsbixpKSl8fHRoaXN9cmV0dXJuIG49dCwocj1pKS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShuLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLl9fcHJvdG9fXz1uLGl9KHIpO2kucHJvdG90eXBlLm5hbWU9ci5uYW1lLGkucHJvdG90eXBlLmNvZGU9dCxuW3RdPWl9ZnVuY3Rpb24gbyh0LGUpe2lmKEFycmF5LmlzQXJyYXkodCkpe3ZhciByPXQubGVuZ3RoO3JldHVybiB0PXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gU3RyaW5nKHQpfSkpLHI+Mj8ib25lIG9mICIuY29uY2F0KGUsIiAiKS5jb25jYXQodC5zbGljZSgwLHItMSkuam9pbigiLCAiKSwiLCBvciAiKSt0W3ItMV06Mj09PXI/Im9uZSBvZiAiLmNvbmNhdChlLCIgIikuY29uY2F0KHRbMF0sIiBvciAiKS5jb25jYXQodFsxXSk6Im9mICIuY29uY2F0KGUsIiAiKS5jb25jYXQodFswXSl9cmV0dXJuIm9mICIuY29uY2F0KGUsIiAiKS5jb25jYXQoU3RyaW5nKHQpKX1pKCJFUlJfSU5WQUxJRF9PUFRfVkFMVUUiLChmdW5jdGlvbih0LGUpe3JldHVybidUaGUgdmFsdWUgIicrZSsnIiBpcyBpbnZhbGlkIGZvciBvcHRpb24gIicrdCsnIid9KSxUeXBlRXJyb3IpLGkoIkVSUl9JTlZBTElEX0FSR19UWVBFIiwoZnVuY3Rpb24odCxlLHIpe3ZhciBuLGkscyxhO2lmKCJzdHJpbmciPT10eXBlb2YgZSYmKGk9Im5vdCAiLGUuc3Vic3RyKCFzfHxzPDA/MDorcyxpLmxlbmd0aCk9PT1pKT8obj0ibXVzdCBub3QgYmUiLGU9ZS5yZXBsYWNlKC9ebm90IC8sIiIpKTpuPSJtdXN0IGJlIixmdW5jdGlvbih0LGUscil7cmV0dXJuKHZvaWQgMD09PXJ8fHI+dC5sZW5ndGgpJiYocj10Lmxlbmd0aCksdC5zdWJzdHJpbmcoci1lLmxlbmd0aCxyKT09PWV9KHQsIiBhcmd1bWVudCIpKWE9IlRoZSAiLmNvbmNhdCh0LCIgIikuY29uY2F0KG4sIiAiKS5jb25jYXQobyhlLCJ0eXBlIikpO2Vsc2V7dmFyIHU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiJudW1iZXIiIT10eXBlb2YgciYmKHI9MCksIShyK2UubGVuZ3RoPnQubGVuZ3RoKSYmLTEhPT10LmluZGV4T2YoZSxyKX0odCwiLiIpPyJwcm9wZXJ0eSI6ImFyZ3VtZW50IjthPSdUaGUgIicuY29uY2F0KHQsJyIgJykuY29uY2F0KHUsIiAiKS5jb25jYXQobiwiICIpLmNvbmNhdChvKGUsInR5cGUiKSl9cmV0dXJuIGErPSIuIFJlY2VpdmVkIHR5cGUgIi5jb25jYXQodHlwZW9mIHIpfSksVHlwZUVycm9yKSxpKCJFUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GIiwic3RyZWFtLnB1c2goKSBhZnRlciBFT0YiKSxpKCJFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCIsKGZ1bmN0aW9uKHQpe3JldHVybiJUaGUgIit0KyIgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCJ9KSksaSgiRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UiLCJQcmVtYXR1cmUgY2xvc2UiKSxpKCJFUlJfU1RSRUFNX0RFU1RST1lFRCIsKGZ1bmN0aW9uKHQpe3JldHVybiJDYW5ub3QgY2FsbCAiK3QrIiBhZnRlciBhIHN0cmVhbSB3YXMgZGVzdHJveWVkIn0pKSxpKCJFUlJfTVVMVElQTEVfQ0FMTEJBQ0siLCJDYWxsYmFjayBjYWxsZWQgbXVsdGlwbGUgdGltZXMiKSxpKCJFUlJfU1RSRUFNX0NBTk5PVF9QSVBFIiwiQ2Fubm90IHBpcGUsIG5vdCByZWFkYWJsZSIpLGkoIkVSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5EIiwid3JpdGUgYWZ0ZXIgZW5kIiksaSgiRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUyIsIk1heSBub3Qgd3JpdGUgbnVsbCB2YWx1ZXMgdG8gc3RyZWFtIixUeXBlRXJyb3IpLGkoIkVSUl9VTktOT1dOX0VOQ09ESU5HIiwoZnVuY3Rpb24odCl7cmV0dXJuIlVua25vd24gZW5jb2Rpbmc6ICIrdH0pLFR5cGVFcnJvciksaSgiRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVCIsInN0cmVhbS51bnNoaWZ0KCkgYWZ0ZXIgZW5kIGV2ZW50IiksdC5leHBvcnRzLmNvZGVzPW59LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKGUpe3ZhciBuPU9iamVjdC5rZXlzfHxmdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIHIgaW4gdCllLnB1c2gocik7cmV0dXJuIGV9O3QuZXhwb3J0cz1jO3ZhciBpPXIoMTEyKSxvPXIoMTE2KTtyKDMpKGMsaSk7Zm9yKHZhciBzPW4oby5wcm90b3R5cGUpLGE9MDthPHMubGVuZ3RoO2ErKyl7dmFyIHU9c1thXTtjLnByb3RvdHlwZVt1XXx8KGMucHJvdG90eXBlW3VdPW8ucHJvdG90eXBlW3VdKX1mdW5jdGlvbiBjKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGMpKXJldHVybiBuZXcgYyh0KTtpLmNhbGwodGhpcyx0KSxvLmNhbGwodGhpcyx0KSx0aGlzLmFsbG93SGFsZk9wZW49ITAsdCYmKCExPT09dC5yZWFkYWJsZSYmKHRoaXMucmVhZGFibGU9ITEpLCExPT09dC53cml0YWJsZSYmKHRoaXMud3JpdGFibGU9ITEpLCExPT09dC5hbGxvd0hhbGZPcGVuJiYodGhpcy5hbGxvd0hhbGZPcGVuPSExLHRoaXMub25jZSgiZW5kIixmKSkpfWZ1bmN0aW9uIGYoKXt0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkfHxlLm5leHRUaWNrKGgsdGhpcyl9ZnVuY3Rpb24gaCh0KXt0LmVuZCgpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSwid3JpdGFibGVIaWdoV2F0ZXJNYXJrIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSwid3JpdGFibGVCdWZmZXIiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmdldEJ1ZmZlcigpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSwid3JpdGFibGVMZW5ndGgiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmxlbmd0aH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYy5wcm90b3R5cGUsImRlc3Ryb3llZCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnZvaWQgMCE9PXRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQpfSxzZXQ6ZnVuY3Rpb24odCl7dm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPXQsdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9dCl9fSl9KS5jYWxsKHRoaXMscig1KSl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49e307ZnVuY3Rpb24gaSh0LGUscil7cnx8KHI9RXJyb3IpO3ZhciBpPWZ1bmN0aW9uKHQpe3ZhciByLG47ZnVuY3Rpb24gaShyLG4saSl7cmV0dXJuIHQuY2FsbCh0aGlzLGZ1bmN0aW9uKHQscixuKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ZTplKHQscixuKX0ocixuLGkpKXx8dGhpc31yZXR1cm4gbj10LChyPWkpLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4ucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLHIuX19wcm90b19fPW4saX0ocik7aS5wcm90b3R5cGUubmFtZT1yLm5hbWUsaS5wcm90b3R5cGUuY29kZT10LG5bdF09aX1mdW5jdGlvbiBvKHQsZSl7aWYoQXJyYXkuaXNBcnJheSh0KSl7dmFyIHI9dC5sZW5ndGg7cmV0dXJuIHQ9dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBTdHJpbmcodCl9KSkscj4yPyJvbmUgb2YgIi5jb25jYXQoZSwiICIpLmNvbmNhdCh0LnNsaWNlKDAsci0xKS5qb2luKCIsICIpLCIsIG9yICIpK3Rbci0xXToyPT09cj8ib25lIG9mICIuY29uY2F0KGUsIiAiKS5jb25jYXQodFswXSwiIG9yICIpLmNvbmNhdCh0WzFdKToib2YgIi5jb25jYXQoZSwiICIpLmNvbmNhdCh0WzBdKX1yZXR1cm4ib2YgIi5jb25jYXQoZSwiICIpLmNvbmNhdChTdHJpbmcodCkpfWkoIkVSUl9JTlZBTElEX09QVF9WQUxVRSIsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuJ1RoZSB2YWx1ZSAiJytlKyciIGlzIGludmFsaWQgZm9yIG9wdGlvbiAiJyt0KyciJ30pLFR5cGVFcnJvciksaSgiRVJSX0lOVkFMSURfQVJHX1RZUEUiLChmdW5jdGlvbih0LGUscil7dmFyIG4saSxzLGE7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYoaT0ibm90ICIsZS5zdWJzdHIoIXN8fHM8MD8wOitzLGkubGVuZ3RoKT09PWkpPyhuPSJtdXN0IG5vdCBiZSIsZT1lLnJlcGxhY2UoL15ub3QgLywiIikpOm49Im11c3QgYmUiLGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4odm9pZCAwPT09cnx8cj50Lmxlbmd0aCkmJihyPXQubGVuZ3RoKSx0LnN1YnN0cmluZyhyLWUubGVuZ3RoLHIpPT09ZX0odCwiIGFyZ3VtZW50IikpYT0iVGhlICIuY29uY2F0KHQsIiAiKS5jb25jYXQobiwiICIpLmNvbmNhdChvKGUsInR5cGUiKSk7ZWxzZXt2YXIgdT1mdW5jdGlvbih0LGUscil7cmV0dXJuIm51bWJlciIhPXR5cGVvZiByJiYocj0wKSwhKHIrZS5sZW5ndGg+dC5sZW5ndGgpJiYtMSE9PXQuaW5kZXhPZihlLHIpfSh0LCIuIik/InByb3BlcnR5IjoiYXJndW1lbnQiO2E9J1RoZSAiJy5jb25jYXQodCwnIiAnKS5jb25jYXQodSwiICIpLmNvbmNhdChuLCIgIikuY29uY2F0KG8oZSwidHlwZSIpKX1yZXR1cm4gYSs9Ii4gUmVjZWl2ZWQgdHlwZSAiLmNvbmNhdCh0eXBlb2Ygcil9KSxUeXBlRXJyb3IpLGkoIkVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YiLCJzdHJlYW0ucHVzaCgpIGFmdGVyIEVPRiIpLGkoIkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEIiwoZnVuY3Rpb24odCl7cmV0dXJuIlRoZSAiK3QrIiBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkIn0pKSxpKCJFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRSIsIlByZW1hdHVyZSBjbG9zZSIpLGkoIkVSUl9TVFJFQU1fREVTVFJPWUVEIiwoZnVuY3Rpb24odCl7cmV0dXJuIkNhbm5vdCBjYWxsICIrdCsiIGFmdGVyIGEgc3RyZWFtIHdhcyBkZXN0cm95ZWQifSkpLGkoIkVSUl9NVUxUSVBMRV9DQUxMQkFDSyIsIkNhbGxiYWNrIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyIpLGkoIkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUiLCJDYW5ub3QgcGlwZSwgbm90IHJlYWRhYmxlIiksaSgiRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQiLCJ3cml0ZSBhZnRlciBlbmQiKSxpKCJFUlJfU1RSRUFNX05VTExfVkFMVUVTIiwiTWF5IG5vdCB3cml0ZSBudWxsIHZhbHVlcyB0byBzdHJlYW0iLFR5cGVFcnJvciksaSgiRVJSX1VOS05PV05fRU5DT0RJTkciLChmdW5jdGlvbih0KXtyZXR1cm4iVW5rbm93biBlbmNvZGluZzogIit0fSksVHlwZUVycm9yKSxpKCJFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UIiwic3RyZWFtLnVuc2hpZnQoKSBhZnRlciBlbmQgZXZlbnQiKSx0LmV4cG9ydHMuY29kZXM9bn0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSl7dmFyIG49T2JqZWN0LmtleXN8fGZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0KWUucHVzaChyKTtyZXR1cm4gZX07dC5leHBvcnRzPWM7dmFyIGk9cigxMjgpLG89cigxMzIpO3IoMykoYyxpKTtmb3IodmFyIHM9bihvLnByb3RvdHlwZSksYT0wO2E8cy5sZW5ndGg7YSsrKXt2YXIgdT1zW2FdO2MucHJvdG90eXBlW3VdfHwoYy5wcm90b3R5cGVbdV09by5wcm90b3R5cGVbdV0pfWZ1bmN0aW9uIGModCl7aWYoISh0aGlzIGluc3RhbmNlb2YgYykpcmV0dXJuIG5ldyBjKHQpO2kuY2FsbCh0aGlzLHQpLG8uY2FsbCh0aGlzLHQpLHRoaXMuYWxsb3dIYWxmT3Blbj0hMCx0JiYoITE9PT10LnJlYWRhYmxlJiYodGhpcy5yZWFkYWJsZT0hMSksITE9PT10LndyaXRhYmxlJiYodGhpcy53cml0YWJsZT0hMSksITE9PT10LmFsbG93SGFsZk9wZW4mJih0aGlzLmFsbG93SGFsZk9wZW49ITEsdGhpcy5vbmNlKCJlbmQiLGYpKSl9ZnVuY3Rpb24gZigpe3RoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWR8fGUubmV4dFRpY2soaCx0aGlzKX1mdW5jdGlvbiBoKHQpe3QuZW5kKCl9T2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLCJ3cml0YWJsZUhpZ2hXYXRlck1hcmsiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLCJ3cml0YWJsZUJ1ZmZlciIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLCJ3cml0YWJsZUxlbmd0aCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RofX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSwiZGVzdHJveWVkIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCl9LHNldDpmdW5jdGlvbih0KXt2b2lkIDAhPT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9dCx0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD10KX19KX0pLmNhbGwodGhpcyxyKDUpKX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTMpLkJ1ZmZlcjtmdW5jdGlvbiBpKHQsZSl7dGhpcy5fYmxvY2s9bi5hbGxvYyh0KSx0aGlzLl9maW5hbFNpemU9ZSx0aGlzLl9ibG9ja1NpemU9dCx0aGlzLl9sZW49MH1pLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlKXsic3RyaW5nIj09dHlwZW9mIHQmJihlPWV8fCJ1dGY4Iix0PW4uZnJvbSh0LGUpKTtmb3IodmFyIHI9dGhpcy5fYmxvY2ssaT10aGlzLl9ibG9ja1NpemUsbz10Lmxlbmd0aCxzPXRoaXMuX2xlbixhPTA7YTxvOyl7Zm9yKHZhciB1PXMlaSxjPU1hdGgubWluKG8tYSxpLXUpLGY9MDtmPGM7ZisrKXJbdStmXT10W2ErZl07YSs9Yywocys9YyklaT09MCYmdGhpcy5fdXBkYXRlKHIpfXJldHVybiB0aGlzLl9sZW4rPW8sdGhpc30saS5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2xlbiV0aGlzLl9ibG9ja1NpemU7dGhpcy5fYmxvY2tbZV09MTI4LHRoaXMuX2Jsb2NrLmZpbGwoMCxlKzEpLGU+PXRoaXMuX2ZpbmFsU2l6ZSYmKHRoaXMuX3VwZGF0ZSh0aGlzLl9ibG9jayksdGhpcy5fYmxvY2suZmlsbCgwKSk7dmFyIHI9OCp0aGlzLl9sZW47aWYocjw9NDI5NDk2NzI5NSl0aGlzLl9ibG9jay53cml0ZVVJbnQzMkJFKHIsdGhpcy5fYmxvY2tTaXplLTQpO2Vsc2V7dmFyIG49KDQyOTQ5NjcyOTUmcik+Pj4wLGk9KHItbikvNDI5NDk2NzI5Njt0aGlzLl9ibG9jay53cml0ZVVJbnQzMkJFKGksdGhpcy5fYmxvY2tTaXplLTgpLHRoaXMuX2Jsb2NrLndyaXRlVUludDMyQkUobix0aGlzLl9ibG9ja1NpemUtNCl9dGhpcy5fdXBkYXRlKHRoaXMuX2Jsb2NrKTt2YXIgbz10aGlzLl9oYXNoKCk7cmV0dXJuIHQ/by50b1N0cmluZyh0KTpvfSxpLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJfdXBkYXRlIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3MiKX0sdC5leHBvcnRzPWl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKGUpe3ZhciBuPXIoMTM2KSxpPXIoMjkzKTtmdW5jdGlvbiBvKHQpe3ZhciBlPXQ7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiW2V0aGpzLXV0aWxdIHdoaWxlIHBhZGRpbmcgdG8gZXZlbiwgdmFsdWUgbXVzdCBiZSBzdHJpbmcsIGlzIGN1cnJlbnRseSAiK3R5cGVvZiBlKyIsIHdoaWxlIHBhZFRvRXZlbi4iKTtyZXR1cm4gZS5sZW5ndGglMiYmKGU9IjAiK2UpLGV9ZnVuY3Rpb24gcyh0KXtyZXR1cm4iMHgiK3QudG9TdHJpbmcoMTYpfXQuZXhwb3J0cz17YXJyYXlDb250YWluc0FycmF5OmZ1bmN0aW9uKHQsZSxyKXtpZighMCE9PUFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IEVycm9yKCJbZXRoanMtdXRpbF0gbWV0aG9kIGFycmF5Q29udGFpbnNBcnJheSByZXF1aXJlcyBpbnB1dCAnc3VwZXJzZXQnIHRvIGJlIGFuIGFycmF5IGdvdCB0eXBlICciK3R5cGVvZiB0KyInIik7aWYoITAhPT1BcnJheS5pc0FycmF5KGUpKXRocm93IG5ldyBFcnJvcigiW2V0aGpzLXV0aWxdIG1ldGhvZCBhcnJheUNvbnRhaW5zQXJyYXkgcmVxdWlyZXMgaW5wdXQgJ3N1YnNldCcgdG8gYmUgYW4gYXJyYXkgZ290IHR5cGUgJyIrdHlwZW9mIGUrIiciKTtyZXR1cm4gZVtCb29sZWFuKHIpPyJzb21lIjoiZXZlcnkiXSgoZnVuY3Rpb24oZSl7cmV0dXJuIHQuaW5kZXhPZihlKT49MH0pKX0saW50VG9CdWZmZXI6ZnVuY3Rpb24odCl7dmFyIHI9cyh0KTtyZXR1cm4gbmV3IGUobyhyLnNsaWNlKDIpKSwiaGV4Iil9LGdldEJpbmFyeVNpemU6ZnVuY3Rpb24odCl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiW2V0aGpzLXV0aWxdIHdoaWxlIGdldHRpbmcgYmluYXJ5IHNpemUsIG1ldGhvZCBnZXRCaW5hcnlTaXplIHJlcXVpcmVzIGlucHV0ICdzdHInIHRvIGJlIHR5cGUgU3RyaW5nLCBnb3QgJyIrdHlwZW9mIHQrIicuIik7cmV0dXJuIGUuYnl0ZUxlbmd0aCh0LCJ1dGY4Iil9LGlzSGV4UHJlZml4ZWQ6bixzdHJpcEhleFByZWZpeDppLHBhZFRvRXZlbjpvLGludFRvSGV4OnMsZnJvbUFzY2lpOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0iIixyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBuPXQuY2hhckNvZGVBdChyKS50b1N0cmluZygxNik7ZSs9bi5sZW5ndGg8Mj8iMCIrbjpufXJldHVybiIweCIrZX0sZnJvbVV0Zjg6ZnVuY3Rpb24odCl7cmV0dXJuIjB4IitvKG5ldyBlKHQsInV0ZjgiKS50b1N0cmluZygiaGV4IikpLnJlcGxhY2UoL14wK3wwKyQvZywiIil9LHRvQXNjaWk6ZnVuY3Rpb24odCl7dmFyIGU9IiIscj0wLG49dC5sZW5ndGg7Zm9yKCIweCI9PT10LnN1YnN0cmluZygwLDIpJiYocj0yKTtyPG47cis9Mil7dmFyIGk9cGFyc2VJbnQodC5zdWJzdHIociwyKSwxNik7ZSs9U3RyaW5nLmZyb21DaGFyQ29kZShpKX1yZXR1cm4gZX0sdG9VdGY4OmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgZShvKGkodCkucmVwbGFjZSgvXjArfDArJC9nLCIiKSksImhleCIpLnRvU3RyaW5nKCJ1dGY4Iil9LGdldEtleXM6ZnVuY3Rpb24odCxlLHIpe2lmKCFBcnJheS5pc0FycmF5KHQpKXRocm93IG5ldyBFcnJvcigiW2V0aGpzLXV0aWxdIG1ldGhvZCBnZXRLZXlzIGV4cGVjdGluZyB0eXBlIEFycmF5IGFzICdwYXJhbXMnIGlucHV0LCBnb3QgJyIrdHlwZW9mIHQrIiciKTtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJbZXRoanMtdXRpbF0gbWV0aG9kIGdldEtleXMgZXhwZWN0aW5nIHR5cGUgU3RyaW5nIGZvciBpbnB1dCAna2V5JyBnb3QgJyIrdHlwZW9mIGUrIicuIik7Zm9yKHZhciBuPVtdLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG89dFtpXVtlXTtpZihyJiYhbylvPSIiO2Vsc2UgaWYoInN0cmluZyIhPXR5cGVvZiBvKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBhYmkiKTtuLnB1c2gobyl9cmV0dXJuIG59LGlzSGV4U3RyaW5nOmZ1bmN0aW9uKHQsZSl7cmV0dXJuISgic3RyaW5nIiE9dHlwZW9mIHR8fCF0Lm1hdGNoKC9eMHhbMC05QS1GYS1mXSokLykpJiYoIWV8fHQubGVuZ3RoPT09MisyKmUpfX19KS5jYWxsKHRoaXMscigyKS5CdWZmZXIpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoOTApO3IuZChlLCJyYW5kb21CeXRlcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uYX0pKTt2YXIgaT1yKDkxKTtyLmQoZSwiYWVzQ2JjRGVjcnlwdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGkuYX0pKSxyLmQoZSwiYWVzQ2JjRW5jcnlwdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGkuYn0pKTt2YXIgbz1yKDkyKTtyLmQoZSwiaG1hY1NoYTI1NlNpZ24iLChmdW5jdGlvbigpe3JldHVybiBvLmF9KSk7cig5Nykscig0Mikscig0KX0sZnVuY3Rpb24odCxlLHIpeyhlPXQuZXhwb3J0cz1yKDEwNSkpLlN0cmVhbT1lLGUuUmVhZGFibGU9ZSxlLldyaXRhYmxlPXIoNTMpLGUuRHVwbGV4PXIoMTkpLGUuVHJhbnNmb3JtPXIoMTA5KSxlLlBhc3NUaHJvdWdoPXIoMjEwKX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXtmdW5jdGlvbiByKHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ZS5pc0FycmF5PWZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5pc0FycmF5P0FycmF5LmlzQXJyYXkodCk6IltvYmplY3QgQXJyYXldIj09PXIodCl9LGUuaXNCb29sZWFuPWZ1bmN0aW9uKHQpe3JldHVybiJib29sZWFuIj09dHlwZW9mIHR9LGUuaXNOdWxsPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dH0sZS5pc051bGxPclVuZGVmaW5lZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dH0sZS5pc051bWJlcj1mdW5jdGlvbih0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHR9LGUuaXNTdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fSxlLmlzU3ltYm9sPWZ1bmN0aW9uKHQpe3JldHVybiJzeW1ib2wiPT10eXBlb2YgdH0sZS5pc1VuZGVmaW5lZD1mdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dH0sZS5pc1JlZ0V4cD1mdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBSZWdFeHBdIj09PXIodCl9LGUuaXNPYmplY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dH0sZS5pc0RhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgRGF0ZV0iPT09cih0KX0sZS5pc0Vycm9yPWZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IEVycm9yXSI9PT1yKHQpfHx0IGluc3RhbmNlb2YgRXJyb3J9LGUuaXNGdW5jdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH0sZS5pc1ByaW1pdGl2ZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09PXR8fCJib29sZWFuIj09dHlwZW9mIHR8fCJudW1iZXIiPT10eXBlb2YgdHx8InN0cmluZyI9PXR5cGVvZiB0fHwic3ltYm9sIj09dHlwZW9mIHR8fHZvaWQgMD09PXR9LGUuaXNCdWZmZXI9dC5pc0J1ZmZlcn0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24odCl7cmV0dXJuIHR5cGVvZiB0fTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmdC5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmdCE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIHR9LGk9cigxMTApLG89aS5rZWNjYWsyMjQscz1pLmtlY2NhazM4NCxhPWkua2VjY2FrMjU2LHU9aS5rZWNjYWs1MTIsYz1yKDI0MSksZj1yKDYxKSxoPXIoNDYpLGw9cig5KSxkPXIoMTI2KSxwPXIoMjkyKS5CdWZmZXI7T2JqZWN0LmFzc2lnbihlLHIoMzIpKSxlLk1BWF9JTlRFR0VSPW5ldyBsKCJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIiwxNiksZS5UV09fUE9XMjU2PW5ldyBsKCIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsMTYpLGUuS0VDQ0FLMjU2X05VTExfUz0iYzVkMjQ2MDE4NmY3MjMzYzkyN2U3ZGIyZGNjNzAzYzBlNTAwYjY1M2NhODIyNzNiN2JmYWQ4MDQ1ZDg1YTQ3MCIsZS5TSEEzX05VTExfUz1lLktFQ0NBSzI1Nl9OVUxMX1MsZS5LRUNDQUsyNTZfTlVMTD1wLmZyb20oZS5LRUNDQUsyNTZfTlVMTF9TLCJoZXgiKSxlLlNIQTNfTlVMTD1lLktFQ0NBSzI1Nl9OVUxMLGUuS0VDQ0FLMjU2X1JMUF9BUlJBWV9TPSIxZGNjNGRlOGRlYzc1ZDdhYWI4NWI1NjdiNmNjZDQxYWQzMTI0NTFiOTQ4YTc0MTNmMGExNDJmZDQwZDQ5MzQ3IixlLlNIQTNfUkxQX0FSUkFZX1M9ZS5LRUNDQUsyNTZfUkxQX0FSUkFZX1MsZS5LRUNDQUsyNTZfUkxQX0FSUkFZPXAuZnJvbShlLktFQ0NBSzI1Nl9STFBfQVJSQVlfUywiaGV4IiksZS5TSEEzX1JMUF9BUlJBWT1lLktFQ0NBSzI1Nl9STFBfQVJSQVksZS5LRUNDQUsyNTZfUkxQX1M9IjU2ZTgxZjE3MWJjYzU1YTZmZjgzNDVlNjkyYzBmODZlNWI0OGUwMWI5OTZjYWRjMDAxNjIyZmI1ZTM2M2I0MjEiLGUuU0hBM19STFBfUz1lLktFQ0NBSzI1Nl9STFBfUyxlLktFQ0NBSzI1Nl9STFA9cC5mcm9tKGUuS0VDQ0FLMjU2X1JMUF9TLCJoZXgiKSxlLlNIQTNfUkxQPWUuS0VDQ0FLMjU2X1JMUCxlLkJOPWwsZS5ybHA9aCxlLnNlY3AyNTZrMT1jLGUuemVyb3M9ZnVuY3Rpb24odCl7cmV0dXJuIHAuYWxsb2NVbnNhZmUodCkuZmlsbCgwKX0sZS56ZXJvQWRkcmVzcz1mdW5jdGlvbigpe3ZhciB0PWUuemVyb3MoMjApO3JldHVybiBlLmJ1ZmZlclRvSGV4KHQpfSxlLnNldExlbmd0aExlZnQ9ZS5zZXRMZW5ndGg9ZnVuY3Rpb24odCxyLG4pe3ZhciBpPWUuemVyb3Mocik7cmV0dXJuIHQ9ZS50b0J1ZmZlcih0KSxuP3QubGVuZ3RoPHI/KHQuY29weShpKSxpKTp0LnNsaWNlKDAscik6dC5sZW5ndGg8cj8odC5jb3B5KGksci10Lmxlbmd0aCksaSk6dC5zbGljZSgtcil9LGUuc2V0TGVuZ3RoUmlnaHQ9ZnVuY3Rpb24odCxyKXtyZXR1cm4gZS5zZXRMZW5ndGgodCxyLCEwKX0sZS51bnBhZD1lLnN0cmlwWmVyb3M9ZnVuY3Rpb24odCl7Zm9yKHZhciByPSh0PWUuc3RyaXBIZXhQcmVmaXgodCkpWzBdO3QubGVuZ3RoPjAmJiIwIj09PXIudG9TdHJpbmcoKTspcj0odD10LnNsaWNlKDEpKVswXTtyZXR1cm4gdH0sZS50b0J1ZmZlcj1mdW5jdGlvbih0KXtpZighcC5pc0J1ZmZlcih0KSlpZihBcnJheS5pc0FycmF5KHQpKXQ9cC5mcm9tKHQpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiB0KXQ9ZS5pc0hleFN0cmluZyh0KT9wLmZyb20oZS5wYWRUb0V2ZW4oZS5zdHJpcEhleFByZWZpeCh0KSksImhleCIpOnAuZnJvbSh0KTtlbHNlIGlmKCJudW1iZXIiPT10eXBlb2YgdCl0PWUuaW50VG9CdWZmZXIodCk7ZWxzZSBpZihudWxsPT10KXQ9cC5hbGxvY1Vuc2FmZSgwKTtlbHNlIGlmKGwuaXNCTih0KSl0PXQudG9BcnJheUxpa2UocCk7ZWxzZXtpZighdC50b0FycmF5KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCB0eXBlIik7dD1wLmZyb20odC50b0FycmF5KCkpfXJldHVybiB0fSxlLmJ1ZmZlclRvSW50PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChlLnRvQnVmZmVyKHQpKS50b051bWJlcigpfSxlLmJ1ZmZlclRvSGV4PWZ1bmN0aW9uKHQpe3JldHVybiIweCIrKHQ9ZS50b0J1ZmZlcih0KSkudG9TdHJpbmcoImhleCIpfSxlLmZyb21TaWduZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBsKHQpLmZyb21Ud29zKDI1Nil9LGUudG9VbnNpZ25lZD1mdW5jdGlvbih0KXtyZXR1cm4gcC5mcm9tKHQudG9Ud29zKDI1NikudG9BcnJheSgpKX0sZS5rZWNjYWs9ZnVuY3Rpb24odCxyKXtzd2l0Y2godD1lLnRvQnVmZmVyKHQpLHJ8fChyPTI1Nikscil7Y2FzZSAyMjQ6cmV0dXJuIG8odCk7Y2FzZSAyNTY6cmV0dXJuIGEodCk7Y2FzZSAzODQ6cmV0dXJuIHModCk7Y2FzZSA1MTI6cmV0dXJuIHUodCk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkludmFsZCBhbGdvcml0aG06IGtlY2NhayIrcil9fSxlLmtlY2NhazI1Nj1mdW5jdGlvbih0KXtyZXR1cm4gZS5rZWNjYWsodCl9LGUuc2hhMz1lLmtlY2NhayxlLnNoYTI1Nj1mdW5jdGlvbih0KXtyZXR1cm4gdD1lLnRvQnVmZmVyKHQpLGQoInNoYTI1NiIpLnVwZGF0ZSh0KS5kaWdlc3QoKX0sZS5yaXBlbWQxNjA9ZnVuY3Rpb24odCxyKXt0PWUudG9CdWZmZXIodCk7dmFyIG49ZCgicm1kMTYwIikudXBkYXRlKHQpLmRpZ2VzdCgpO3JldHVybiEwPT09cj9lLnNldExlbmd0aChuLDMyKTpufSxlLnJscGhhc2g9ZnVuY3Rpb24odCl7cmV0dXJuIGUua2VjY2FrKGguZW5jb2RlKHQpKX0sZS5pc1ZhbGlkUHJpdmF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYy5wcml2YXRlS2V5VmVyaWZ5KHQpfSxlLmlzVmFsaWRQdWJsaWM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gNjQ9PT10Lmxlbmd0aD9jLnB1YmxpY0tleVZlcmlmeShwLmNvbmNhdChbcC5mcm9tKFs0XSksdF0pKTohIWUmJmMucHVibGljS2V5VmVyaWZ5KHQpfSxlLnB1YlRvQWRkcmVzcz1lLnB1YmxpY1RvQWRkcmVzcz1mdW5jdGlvbih0LHIpe3JldHVybiB0PWUudG9CdWZmZXIodCksciYmNjQhPT10Lmxlbmd0aCYmKHQ9Yy5wdWJsaWNLZXlDb252ZXJ0KHQsITEpLnNsaWNlKDEpKSxmKDY0PT09dC5sZW5ndGgpLGUua2VjY2FrKHQpLnNsaWNlKC0yMCl9O3ZhciBtPWUucHJpdmF0ZVRvUHVibGljPWZ1bmN0aW9uKHQpe3JldHVybiB0PWUudG9CdWZmZXIodCksYy5wdWJsaWNLZXlDcmVhdGUodCwhMSkuc2xpY2UoMSl9O2UuaW1wb3J0UHVibGljPWZ1bmN0aW9uKHQpe3JldHVybiA2NCE9PSh0PWUudG9CdWZmZXIodCkpLmxlbmd0aCYmKHQ9Yy5wdWJsaWNLZXlDb252ZXJ0KHQsITEpLnNsaWNlKDEpKSx0fSxlLmVjc2lnbj1mdW5jdGlvbih0LGUpe3ZhciByPWMuc2lnbih0LGUpLG49e307cmV0dXJuIG4ucj1yLnNpZ25hdHVyZS5zbGljZSgwLDMyKSxuLnM9ci5zaWduYXR1cmUuc2xpY2UoMzIsNjQpLG4udj1yLnJlY292ZXJ5KzI3LG59LGUuaGFzaFBlcnNvbmFsTWVzc2FnZT1mdW5jdGlvbih0KXt2YXIgcj1lLnRvQnVmZmVyKCIZRXRoZXJldW0gU2lnbmVkIE1lc3NhZ2U6XG4iK3QubGVuZ3RoLnRvU3RyaW5nKCkpO3JldHVybiBlLmtlY2NhayhwLmNvbmNhdChbcix0XSkpfSxlLmVjcmVjb3Zlcj1mdW5jdGlvbih0LHIsbixpKXt2YXIgbz1wLmNvbmNhdChbZS5zZXRMZW5ndGgobiwzMiksZS5zZXRMZW5ndGgoaSwzMildLDY0KSxzPXItMjc7aWYoMCE9PXMmJjEhPT1zKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzaWduYXR1cmUgdiB2YWx1ZSIpO3ZhciBhPWMucmVjb3Zlcih0LG8scyk7cmV0dXJuIGMucHVibGljS2V5Q29udmVydChhLCExKS5zbGljZSgxKX0sZS50b1JwY1NpZz1mdW5jdGlvbih0LHIsbil7aWYoMjchPT10JiYyOCE9PXQpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHJlY292ZXJ5IGlkIik7cmV0dXJuIGUuYnVmZmVyVG9IZXgocC5jb25jYXQoW2Uuc2V0TGVuZ3RoTGVmdChyLDMyKSxlLnNldExlbmd0aExlZnQobiwzMiksZS50b0J1ZmZlcih0LTI3KV0pKX0sZS5mcm9tUnBjU2lnPWZ1bmN0aW9uKHQpe2lmKDY1IT09KHQ9ZS50b0J1ZmZlcih0KSkubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzaWduYXR1cmUgbGVuZ3RoIik7dmFyIHI9dFs2NF07cmV0dXJuIHI8MjcmJihyKz0yNykse3Y6cixyOnQuc2xpY2UoMCwzMiksczp0LnNsaWNlKDMyLDY0KX19LGUucHJpdmF0ZVRvQWRkcmVzcz1mdW5jdGlvbih0KXtyZXR1cm4gZS5wdWJsaWNUb0FkZHJlc3MobSh0KSl9LGUuaXNWYWxpZEFkZHJlc3M9ZnVuY3Rpb24odCl7cmV0dXJuL14weFswLTlhLWZBLUZdezQwfSQvLnRlc3QodCl9LGUuaXNaZXJvQWRkcmVzcz1mdW5jdGlvbih0KXtyZXR1cm4gZS56ZXJvQWRkcmVzcygpPT09ZS5hZGRIZXhQcmVmaXgodCl9LGUudG9DaGVja3N1bUFkZHJlc3M9ZnVuY3Rpb24odCl7dD1lLnN0cmlwSGV4UHJlZml4KHQpLnRvTG93ZXJDYXNlKCk7Zm9yKHZhciByPWUua2VjY2FrKHQpLnRvU3RyaW5nKCJoZXgiKSxuPSIweCIsaT0wO2k8dC5sZW5ndGg7aSsrKXBhcnNlSW50KHJbaV0sMTYpPj04P24rPXRbaV0udG9VcHBlckNhc2UoKTpuKz10W2ldO3JldHVybiBufSxlLmlzVmFsaWRDaGVja3N1bUFkZHJlc3M9ZnVuY3Rpb24odCl7cmV0dXJuIGUuaXNWYWxpZEFkZHJlc3ModCkmJmUudG9DaGVja3N1bUFkZHJlc3ModCk9PT10fSxlLmdlbmVyYXRlQWRkcmVzcz1mdW5jdGlvbih0LHIpe3JldHVybiB0PWUudG9CdWZmZXIodCkscj0ocj1uZXcgbChyKSkuaXNaZXJvKCk/bnVsbDpwLmZyb20oci50b0FycmF5KCkpLGUucmxwaGFzaChbdCxyXSkuc2xpY2UoLTIwKX0sZS5pc1ByZWNvbXBpbGVkPWZ1bmN0aW9uKHQpe3ZhciByPWUudW5wYWQodCk7cmV0dXJuIDE9PT1yLmxlbmd0aCYmclswXT49MSYmclswXTw9OH0sZS5hZGRIZXhQcmVmaXg9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiB0fHxlLmlzSGV4UHJlZml4ZWQodCk/dDoiMHgiK3R9LGUuaXNWYWxpZFNpZ25hdHVyZT1mdW5jdGlvbih0LGUscixuKXt2YXIgaT1uZXcgbCgiN2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1ZDU3NmU3MzU3YTQ1MDFkZGZlOTJmNDY2ODFiMjBhMCIsMTYpLG89bmV3IGwoImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYmFhZWRjZTZhZjQ4YTAzYmJmZDI1ZThjZDAzNjQxNDEiLDE2KTtyZXR1cm4gMzI9PT1lLmxlbmd0aCYmMzI9PT1yLmxlbmd0aCYmKCgyNz09PXR8fDI4PT09dCkmJihlPW5ldyBsKGUpLHI9bmV3IGwociksIShlLmlzWmVybygpfHxlLmd0KG8pfHxyLmlzWmVybygpfHxyLmd0KG8pKSYmKCExIT09bnx8MSE9PW5ldyBsKHIpLmNtcChpKSkpKX0sZS5iYVRvSlNPTj1mdW5jdGlvbih0KXtpZihwLmlzQnVmZmVyKHQpKXJldHVybiIweCIrdC50b1N0cmluZygiaGV4Iik7aWYodCBpbnN0YW5jZW9mIEFycmF5KXtmb3IodmFyIHI9W10sbj0wO248dC5sZW5ndGg7bisrKXIucHVzaChlLmJhVG9KU09OKHRbbl0pKTtyZXR1cm4gcn19LGUuZGVmaW5lUHJvcGVydGllcz1mdW5jdGlvbih0LHIsaSl7aWYodC5yYXc9W10sdC5fZmllbGRzPVtdLHQudG9KU09OPWZ1bmN0aW9uKHIpe2lmKHIpe3ZhciBuPXt9O3JldHVybiB0Ll9maWVsZHMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7bltlXT0iMHgiK3RbZV0udG9TdHJpbmcoImhleCIpfSkpLG59cmV0dXJuIGUuYmFUb0pTT04odGhpcy5yYXcpfSx0LnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiBoLmVuY29kZSh0LnJhdyl9LHIuZm9yRWFjaCgoZnVuY3Rpb24ocixuKXtmdW5jdGlvbiBpKCl7cmV0dXJuIHQucmF3W25dfWZ1bmN0aW9uIG8oaSl7IjAwIiE9PShpPWUudG9CdWZmZXIoaSkpLnRvU3RyaW5nKCJoZXgiKXx8ci5hbGxvd1plcm98fChpPXAuYWxsb2NVbnNhZmUoMCkpLHIuYWxsb3dMZXNzJiZyLmxlbmd0aD8oaT1lLnN0cmlwWmVyb3MoaSksZihyLmxlbmd0aD49aS5sZW5ndGgsIlRoZSBmaWVsZCAiK3IubmFtZSsiIG11c3Qgbm90IGhhdmUgbW9yZSAiK3IubGVuZ3RoKyIgYnl0ZXMiKSk6ci5hbGxvd1plcm8mJjA9PT1pLmxlbmd0aHx8IXIubGVuZ3RofHxmKHIubGVuZ3RoPT09aS5sZW5ndGgsIlRoZSBmaWVsZCAiK3IubmFtZSsiIG11c3QgaGF2ZSBieXRlIGxlbmd0aCBvZiAiK3IubGVuZ3RoKSx0LnJhd1tuXT1pfXQuX2ZpZWxkcy5wdXNoKHIubmFtZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5uYW1lLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6aSxzZXQ6b30pLHIuZGVmYXVsdCYmKHRbci5uYW1lXT1yLmRlZmF1bHQpLHIuYWxpYXMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHIuYWxpYXMse2VudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwLHNldDpvLGdldDppfSl9KSksaSlpZigic3RyaW5nIj09dHlwZW9mIGkmJihpPXAuZnJvbShlLnN0cmlwSGV4UHJlZml4KGkpLCJoZXgiKSkscC5pc0J1ZmZlcihpKSYmKGk9aC5kZWNvZGUoaSkpLEFycmF5LmlzQXJyYXkoaSkpe2lmKGkubGVuZ3RoPnQuX2ZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBudW1iZXIgb2YgZmllbGRzIGluIGRhdGEiKTtpLmZvckVhY2goKGZ1bmN0aW9uKHIsbil7dFt0Ll9maWVsZHNbbl1dPWUudG9CdWZmZXIocil9KSl9ZWxzZXtpZigib2JqZWN0IiE9PSh2b2lkIDA9PT1pPyJ1bmRlZmluZWQiOm4oaSkpKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBkYXRhIik7dmFyIG89T2JqZWN0LmtleXMoaSk7ci5mb3JFYWNoKChmdW5jdGlvbihlKXstMSE9PW8uaW5kZXhPZihlLm5hbWUpJiYodFtlLm5hbWVdPWlbZS5uYW1lXSksLTEhPT1vLmluZGV4T2YoZS5hbGlhcykmJih0W2UuYWxpYXNdPWlbZS5hbGlhc10pfSkpfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigxNSksaT1yKDIyKTtmdW5jdGlvbiBvKCl7dGhpcy5wZW5kaW5nPW51bGwsdGhpcy5wZW5kaW5nVG90YWw9MCx0aGlzLmJsb2NrU2l6ZT10aGlzLmNvbnN0cnVjdG9yLmJsb2NrU2l6ZSx0aGlzLm91dFNpemU9dGhpcy5jb25zdHJ1Y3Rvci5vdXRTaXplLHRoaXMuaG1hY1N0cmVuZ3RoPXRoaXMuY29uc3RydWN0b3IuaG1hY1N0cmVuZ3RoLHRoaXMucGFkTGVuZ3RoPXRoaXMuY29uc3RydWN0b3IucGFkTGVuZ3RoLzgsdGhpcy5lbmRpYW49ImJpZyIsdGhpcy5fZGVsdGE4PXRoaXMuYmxvY2tTaXplLzgsdGhpcy5fZGVsdGEzMj10aGlzLmJsb2NrU2l6ZS8zMn1lLkJsb2NrSGFzaD1vLG8ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUpe2lmKHQ9bi50b0FycmF5KHQsZSksdGhpcy5wZW5kaW5nP3RoaXMucGVuZGluZz10aGlzLnBlbmRpbmcuY29uY2F0KHQpOnRoaXMucGVuZGluZz10LHRoaXMucGVuZGluZ1RvdGFsKz10Lmxlbmd0aCx0aGlzLnBlbmRpbmcubGVuZ3RoPj10aGlzLl9kZWx0YTgpe3ZhciByPSh0PXRoaXMucGVuZGluZykubGVuZ3RoJXRoaXMuX2RlbHRhODt0aGlzLnBlbmRpbmc9dC5zbGljZSh0Lmxlbmd0aC1yLHQubGVuZ3RoKSwwPT09dGhpcy5wZW5kaW5nLmxlbmd0aCYmKHRoaXMucGVuZGluZz1udWxsKSx0PW4uam9pbjMyKHQsMCx0Lmxlbmd0aC1yLHRoaXMuZW5kaWFuKTtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krPXRoaXMuX2RlbHRhMzIpdGhpcy5fdXBkYXRlKHQsaSxpK3RoaXMuX2RlbHRhMzIpfXJldHVybiB0aGlzfSxvLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudXBkYXRlKHRoaXMuX3BhZCgpKSxpKG51bGw9PT10aGlzLnBlbmRpbmcpLHRoaXMuX2RpZ2VzdCh0KX0sby5wcm90b3R5cGUuX3BhZD1mdW5jdGlvbigpe3ZhciB0PXRoaXMucGVuZGluZ1RvdGFsLGU9dGhpcy5fZGVsdGE4LHI9ZS0odCt0aGlzLnBhZExlbmd0aCklZSxuPW5ldyBBcnJheShyK3RoaXMucGFkTGVuZ3RoKTtuWzBdPTEyODtmb3IodmFyIGk9MTtpPHI7aSsrKW5baV09MDtpZih0PDw9MywiYmlnIj09PXRoaXMuZW5kaWFuKXtmb3IodmFyIG89ODtvPHRoaXMucGFkTGVuZ3RoO28rKyluW2krK109MDtuW2krK109MCxuW2krK109MCxuW2krK109MCxuW2krK109MCxuW2krK109dD4+PjI0JjI1NSxuW2krK109dD4+PjE2JjI1NSxuW2krK109dD4+PjgmMjU1LG5baSsrXT0yNTUmdH1lbHNlIGZvcihuW2krK109MjU1JnQsbltpKytdPXQ+Pj44JjI1NSxuW2krK109dD4+PjE2JjI1NSxuW2krK109dD4+PjI0JjI1NSxuW2krK109MCxuW2krK109MCxuW2krK109MCxuW2krK109MCxvPTg7bzx0aGlzLnBhZExlbmd0aDtvKyspbltpKytdPTA7cmV0dXJuIG59fSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbigpe319LGZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5zb3J0KCh0LGUpPT4ibGF0ZXN0Ij09PXR8fCJlYXJsaWVzdCI9PT1lPzE6ImxhdGVzdCI9PT1lfHwiZWFybGllc3QiPT09dD8tMTpuKHQpLW4oZSkpfWZ1bmN0aW9uIG4odCl7cmV0dXJuIG51bGw9PXQ/dDpOdW1iZXIucGFyc2VJbnQodCwxNil9ZnVuY3Rpb24gaSh0KXtpZihudWxsPT10KXJldHVybiB0O2xldCBlPXQudG9TdHJpbmcoMTYpO3JldHVybiBlLmxlbmd0aCUyJiYoZT0iMCIrZSksIjB4IitlfWZ1bmN0aW9uIG8oKXtyZXR1cm4gTWF0aC5mbG9vcigxNipNYXRoLnJhbmRvbSgpKS50b1N0cmluZygxNil9dC5leHBvcnRzPXttaW5CbG9ja1JlZjpmdW5jdGlvbiguLi50KXtyZXR1cm4gcih0KVswXX0sbWF4QmxvY2tSZWY6ZnVuY3Rpb24oLi4udCl7Y29uc3QgZT1yKHQpO3JldHVybiBlW2UubGVuZ3RoLTFdfSxzb3J0QmxvY2tSZWZzOnIsYm5Ub0hleDpmdW5jdGlvbih0KXtyZXR1cm4iMHgiK3QudG9TdHJpbmcoMTYpfSxibG9ja1JlZklzTnVtYmVyOmZ1bmN0aW9uKHQpe3JldHVybiB0JiYhWyJlYXJsaWVzdCIsImxhdGVzdCIsInBlbmRpbmciXS5pbmNsdWRlcyh0KX0saGV4VG9JbnQ6bixpbmNyZW1lbnRIZXhJbnQ6ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdDtyZXR1cm4gaShuKHQpKzEpfSxpbnRUb0hleDppLHVuc2FmZVJhbmRvbUJ5dGVzOmZ1bmN0aW9uKHQpe2xldCBlPSIweCI7Zm9yKGxldCByPTA7cjx0O3IrKyllKz1vKCksZSs9bygpO3JldHVybiBlfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmJhVG9KU09OPWUuYWRkSGV4UHJlZml4PWUudG9VbnNpZ25lZD1lLmZyb21TaWduZWQ9ZS5idWZmZXJUb0hleD1lLmJ1ZmZlclRvSW50PWUudG9CdWZmZXI9ZS5zdHJpcFplcm9zPWUudW5wYWQ9ZS5zZXRMZW5ndGhSaWdodD1lLnNldExlbmd0aD1lLnNldExlbmd0aExlZnQ9ZS56ZXJvcz12b2lkIDA7dmFyIG49cigzMiksaT1yKDkpO2UuemVyb3M9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuYWxsb2NVbnNhZmUoZSkuZmlsbCgwKX0sZS5zZXRMZW5ndGhMZWZ0PWZ1bmN0aW9uKHQscixuKXt2b2lkIDA9PT1uJiYobj0hMSk7dmFyIGk9ZS56ZXJvcyhyKTtyZXR1cm4gdD1lLnRvQnVmZmVyKHQpLG4/dC5sZW5ndGg8cj8odC5jb3B5KGkpLGkpOnQuc2xpY2UoMCxyKTp0Lmxlbmd0aDxyPyh0LmNvcHkoaSxyLXQubGVuZ3RoKSxpKTp0LnNsaWNlKC1yKX0sZS5zZXRMZW5ndGg9ZS5zZXRMZW5ndGhMZWZ0LGUuc2V0TGVuZ3RoUmlnaHQ9ZnVuY3Rpb24odCxyKXtyZXR1cm4gZS5zZXRMZW5ndGgodCxyLCEwKX0sZS51bnBhZD1mdW5jdGlvbih0KXtmb3IodmFyIGU9KHQ9bi5zdHJpcEhleFByZWZpeCh0KSlbMF07dC5sZW5ndGg+MCYmIjAiPT09ZS50b1N0cmluZygpOyllPSh0PXQuc2xpY2UoMSkpWzBdO3JldHVybiB0fSxlLnN0cmlwWmVyb3M9ZS51bnBhZCxlLnRvQnVmZmVyPWZ1bmN0aW9uKGUpe2lmKCF0LmlzQnVmZmVyKGUpKWlmKEFycmF5LmlzQXJyYXkoZSkpZT10LmZyb20oZSk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIGUpe2lmKCFuLmlzSGV4U3RyaW5nKGUpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGNvbnZlcnQgc3RyaW5nIHRvIGJ1ZmZlci4gdG9CdWZmZXIgb25seSBzdXBwb3J0cyAweC1wcmVmaXhlZCBoZXggc3RyaW5ncyBhbmQgdGhpcyBzdHJpbmcgd2FzIGdpdmVuOiAiK2UpO2U9dC5mcm9tKG4ucGFkVG9FdmVuKG4uc3RyaXBIZXhQcmVmaXgoZSkpLCJoZXgiKX1lbHNlIGlmKCJudW1iZXIiPT10eXBlb2YgZSllPW4uaW50VG9CdWZmZXIoZSk7ZWxzZSBpZihudWxsPT1lKWU9dC5hbGxvY1Vuc2FmZSgwKTtlbHNlIGlmKGkuaXNCTihlKSllPWUudG9BcnJheUxpa2UodCk7ZWxzZXtpZighZS50b0FycmF5KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCB0eXBlIik7ZT10LmZyb20oZS50b0FycmF5KCkpfXJldHVybiBlfSxlLmJ1ZmZlclRvSW50PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgaShlLnRvQnVmZmVyKHQpKS50b051bWJlcigpfSxlLmJ1ZmZlclRvSGV4PWZ1bmN0aW9uKHQpe3JldHVybiIweCIrKHQ9ZS50b0J1ZmZlcih0KSkudG9TdHJpbmcoImhleCIpfSxlLmZyb21TaWduZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBpKHQpLmZyb21Ud29zKDI1Nil9LGUudG9VbnNpZ25lZD1mdW5jdGlvbihlKXtyZXR1cm4gdC5mcm9tKGUudG9Ud29zKDI1NikudG9BcnJheSgpKX0sZS5hZGRIZXhQcmVmaXg9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiB0fHxuLmlzSGV4UHJlZml4ZWQodCk/dDoiMHgiK3R9LGUuYmFUb0pTT049ZnVuY3Rpb24ocil7aWYodC5pc0J1ZmZlcihyKSlyZXR1cm4iMHgiK3IudG9TdHJpbmcoImhleCIpO2lmKHIgaW5zdGFuY2VvZiBBcnJheSl7Zm9yKHZhciBuPVtdLGk9MDtpPHIubGVuZ3RoO2krKyluLnB1c2goZS5iYVRvSlNPTihyW2ldKSk7cmV0dXJuIG59fX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBufSkpO2NsYXNzIG57fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDkzKTtyLm8obiwiaXNDb25zdGFudFRpbWUiKSYmci5kKGUsImlzQ29uc3RhbnRUaW1lIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5pc0NvbnN0YW50VGltZX0pKTtyKDk0KTt2YXIgaT1yKDk1KTtyLm8oaSwiaXNDb25zdGFudFRpbWUiKSYmci5kKGUsImlzQ29uc3RhbnRUaW1lIiwoZnVuY3Rpb24oKXtyZXR1cm4gaS5pc0NvbnN0YW50VGltZX0pKTt2YXIgbz1yKDk2KTtyLmQoZSwiaXNDb25zdGFudFRpbWUiLChmdW5jdGlvbigpe3JldHVybiBvLmF9KSl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKGUpe3ZvaWQgMD09PWV8fCFlLnZlcnNpb258fDA9PT1lLnZlcnNpb24uaW5kZXhPZigidjAuIil8fDA9PT1lLnZlcnNpb24uaW5kZXhPZigidjEuIikmJjAhPT1lLnZlcnNpb24uaW5kZXhPZigidjEuOC4iKT90LmV4cG9ydHM9e25leHRUaWNrOmZ1bmN0aW9uKHQscixuLGkpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoJyJjYWxsYmFjayIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7dmFyIG8scyxhPWFyZ3VtZW50cy5sZW5ndGg7c3dpdGNoKGEpe2Nhc2UgMDpjYXNlIDE6cmV0dXJuIGUubmV4dFRpY2sodCk7Y2FzZSAyOnJldHVybiBlLm5leHRUaWNrKChmdW5jdGlvbigpe3QuY2FsbChudWxsLHIpfSkpO2Nhc2UgMzpyZXR1cm4gZS5uZXh0VGljaygoZnVuY3Rpb24oKXt0LmNhbGwobnVsbCxyLG4pfSkpO2Nhc2UgNDpyZXR1cm4gZS5uZXh0VGljaygoZnVuY3Rpb24oKXt0LmNhbGwobnVsbCxyLG4saSl9KSk7ZGVmYXVsdDpmb3Iobz1uZXcgQXJyYXkoYS0xKSxzPTA7czxvLmxlbmd0aDspb1tzKytdPWFyZ3VtZW50c1tzXTtyZXR1cm4gZS5uZXh0VGljaygoZnVuY3Rpb24oKXt0LmFwcGx5KG51bGwsbyl9KSl9fX06dC5leHBvcnRzPWV9KS5jYWxsKHRoaXMscig1KSl9LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXt9LGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgbj1hcmd1bWVudHNbZV07Zm9yKHZhciBpIGluIG4pci5jYWxsKG4saSkmJih0W2ldPW5baV0pfXJldHVybiB0fTt2YXIgcj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTYpLGk9cigxMSksbz1pLmdldE5BRixzPWkuZ2V0SlNGLGE9aS5hc3NlcnQ7ZnVuY3Rpb24gdSh0LGUpe3RoaXMudHlwZT10LHRoaXMucD1uZXcgbihlLnAsMTYpLHRoaXMucmVkPWUucHJpbWU/bi5yZWQoZS5wcmltZSk6bi5tb250KHRoaXMucCksdGhpcy56ZXJvPW5ldyBuKDApLnRvUmVkKHRoaXMucmVkKSx0aGlzLm9uZT1uZXcgbigxKS50b1JlZCh0aGlzLnJlZCksdGhpcy50d289bmV3IG4oMikudG9SZWQodGhpcy5yZWQpLHRoaXMubj1lLm4mJm5ldyBuKGUubiwxNiksdGhpcy5nPWUuZyYmdGhpcy5wb2ludEZyb21KU09OKGUuZyxlLmdSZWQpLHRoaXMuX3duYWZUMT1uZXcgQXJyYXkoNCksdGhpcy5fd25hZlQyPW5ldyBBcnJheSg0KSx0aGlzLl93bmFmVDM9bmV3IEFycmF5KDQpLHRoaXMuX3duYWZUND1uZXcgQXJyYXkoNCksdGhpcy5fYml0TGVuZ3RoPXRoaXMubj90aGlzLm4uYml0TGVuZ3RoKCk6MDt2YXIgcj10aGlzLm4mJnRoaXMucC5kaXYodGhpcy5uKTshcnx8ci5jbXBuKDEwMCk+MD90aGlzLnJlZE49bnVsbDoodGhpcy5fbWF4d2VsbFRyaWNrPSEwLHRoaXMucmVkTj10aGlzLm4udG9SZWQodGhpcy5yZWQpKX1mdW5jdGlvbiBjKHQsZSl7dGhpcy5jdXJ2ZT10LHRoaXMudHlwZT1lLHRoaXMucHJlY29tcHV0ZWQ9bnVsbH10LmV4cG9ydHM9dSx1LnByb3RvdHlwZS5wb2ludD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9LHUucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX0sdS5wcm90b3R5cGUuX2ZpeGVkTmFmTXVsPWZ1bmN0aW9uKHQsZSl7YSh0LnByZWNvbXB1dGVkKTt2YXIgcj10Ll9nZXREb3VibGVzKCksbj1vKGUsMSx0aGlzLl9iaXRMZW5ndGgpLGk9KDE8PHIuc3RlcCsxKS0oci5zdGVwJTI9PTA/MjoxKTtpLz0zO3ZhciBzLHUsYz1bXTtmb3Iocz0wO3M8bi5sZW5ndGg7cys9ci5zdGVwKXt1PTA7Zm9yKHZhciBmPXMrci5zdGVwLTE7Zj49cztmLS0pdT0odTw8MSkrbltmXTtjLnB1c2godSl9Zm9yKHZhciBoPXRoaXMuanBvaW50KG51bGwsbnVsbCxudWxsKSxsPXRoaXMuanBvaW50KG51bGwsbnVsbCxudWxsKSxkPWk7ZD4wO2QtLSl7Zm9yKHM9MDtzPGMubGVuZ3RoO3MrKykodT1jW3NdKT09PWQ/bD1sLm1peGVkQWRkKHIucG9pbnRzW3NdKTp1PT09LWQmJihsPWwubWl4ZWRBZGQoci5wb2ludHNbc10ubmVnKCkpKTtoPWguYWRkKGwpfXJldHVybiBoLnRvUCgpfSx1LnByb3RvdHlwZS5fd25hZk11bD1mdW5jdGlvbih0LGUpe3ZhciByPTQsbj10Ll9nZXROQUZQb2ludHMocik7cj1uLnduZDtmb3IodmFyIGk9bi5wb2ludHMscz1vKGUscix0aGlzLl9iaXRMZW5ndGgpLHU9dGhpcy5qcG9pbnQobnVsbCxudWxsLG51bGwpLGM9cy5sZW5ndGgtMTtjPj0wO2MtLSl7Zm9yKHZhciBmPTA7Yz49MCYmMD09PXNbY107Yy0tKWYrKztpZihjPj0wJiZmKyssdT11LmRibHAoZiksYzwwKWJyZWFrO3ZhciBoPXNbY107YSgwIT09aCksdT0iYWZmaW5lIj09PXQudHlwZT9oPjA/dS5taXhlZEFkZChpW2gtMT4+MV0pOnUubWl4ZWRBZGQoaVstaC0xPj4xXS5uZWcoKSk6aD4wP3UuYWRkKGlbaC0xPj4xXSk6dS5hZGQoaVstaC0xPj4xXS5uZWcoKSl9cmV0dXJuImFmZmluZSI9PT10LnR5cGU/dS50b1AoKTp1fSx1LnByb3RvdHlwZS5fd25hZk11bEFkZD1mdW5jdGlvbih0LGUscixuLGkpe3ZhciBhLHUsYyxmPXRoaXMuX3duYWZUMSxoPXRoaXMuX3duYWZUMixsPXRoaXMuX3duYWZUMyxkPTA7Zm9yKGE9MDthPG47YSsrKXt2YXIgcD0oYz1lW2FdKS5fZ2V0TkFGUG9pbnRzKHQpO2ZbYV09cC53bmQsaFthXT1wLnBvaW50c31mb3IoYT1uLTE7YT49MTthLT0yKXt2YXIgbT1hLTEsZz1hO2lmKDE9PT1mW21dJiYxPT09ZltnXSl7dmFyIGI9W2VbbV0sbnVsbCxudWxsLGVbZ11dOzA9PT1lW21dLnkuY21wKGVbZ10ueSk/KGJbMV09ZVttXS5hZGQoZVtnXSksYlsyXT1lW21dLnRvSigpLm1peGVkQWRkKGVbZ10ubmVnKCkpKTowPT09ZVttXS55LmNtcChlW2ddLnkucmVkTmVnKCkpPyhiWzFdPWVbbV0udG9KKCkubWl4ZWRBZGQoZVtnXSksYlsyXT1lW21dLmFkZChlW2ddLm5lZygpKSk6KGJbMV09ZVttXS50b0ooKS5taXhlZEFkZChlW2ddKSxiWzJdPWVbbV0udG9KKCkubWl4ZWRBZGQoZVtnXS5uZWcoKSkpO3ZhciB5PVstMywtMSwtNSwtNywwLDcsNSwxLDNdLHY9cyhyW21dLHJbZ10pO2ZvcihkPU1hdGgubWF4KHZbMF0ubGVuZ3RoLGQpLGxbbV09bmV3IEFycmF5KGQpLGxbZ109bmV3IEFycmF5KGQpLHU9MDt1PGQ7dSsrKXt2YXIgXz0wfHZbMF1bdV0sdz0wfHZbMV1bdV07bFttXVt1XT15WzMqKF8rMSkrKHcrMSldLGxbZ11bdV09MCxoW21dPWJ9fWVsc2UgbFttXT1vKHJbbV0sZlttXSx0aGlzLl9iaXRMZW5ndGgpLGxbZ109byhyW2ddLGZbZ10sdGhpcy5fYml0TGVuZ3RoKSxkPU1hdGgubWF4KGxbbV0ubGVuZ3RoLGQpLGQ9TWF0aC5tYXgobFtnXS5sZW5ndGgsZCl9dmFyIE09dGhpcy5qcG9pbnQobnVsbCxudWxsLG51bGwpLFM9dGhpcy5fd25hZlQ0O2ZvcihhPWQ7YT49MDthLS0pe2Zvcih2YXIgRT0wO2E+PTA7KXt2YXIgeD0hMDtmb3IodT0wO3U8bjt1KyspU1t1XT0wfGxbdV1bYV0sMCE9PVNbdV0mJih4PSExKTtpZigheClicmVhaztFKyssYS0tfWlmKGE+PTAmJkUrKyxNPU0uZGJscChFKSxhPDApYnJlYWs7Zm9yKHU9MDt1PG47dSsrKXt2YXIgaz1TW3VdOzAhPT1rJiYoaz4wP2M9aFt1XVtrLTE+PjFdOms8MCYmKGM9aFt1XVstay0xPj4xXS5uZWcoKSksTT0iYWZmaW5lIj09PWMudHlwZT9NLm1peGVkQWRkKGMpOk0uYWRkKGMpKX19Zm9yKGE9MDthPG47YSsrKWhbYV09bnVsbDtyZXR1cm4gaT9NOk0udG9QKCl9LHUuQmFzZVBvaW50PWMsYy5wcm90b3R5cGUuZXE9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfSxjLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnZlLnZhbGlkYXRlKHRoaXMpfSx1LnByb3RvdHlwZS5kZWNvZGVQb2ludD1mdW5jdGlvbih0LGUpe3Q9aS50b0FycmF5KHQsZSk7dmFyIHI9dGhpcy5wLmJ5dGVMZW5ndGgoKTtpZigoND09PXRbMF18fDY9PT10WzBdfHw3PT09dFswXSkmJnQubGVuZ3RoLTE9PTIqcilyZXR1cm4gNj09PXRbMF0/YSh0W3QubGVuZ3RoLTFdJTI9PTApOjc9PT10WzBdJiZhKHRbdC5sZW5ndGgtMV0lMj09MSksdGhpcy5wb2ludCh0LnNsaWNlKDEsMStyKSx0LnNsaWNlKDErciwxKzIqcikpO2lmKCgyPT09dFswXXx8Mz09PXRbMF0pJiZ0Lmxlbmd0aC0xPT09cilyZXR1cm4gdGhpcy5wb2ludEZyb21YKHQuc2xpY2UoMSwxK3IpLDM9PT10WzBdKTt0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcG9pbnQgZm9ybWF0Iil9LGMucHJvdG90eXBlLmVuY29kZUNvbXByZXNzZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZW5jb2RlKHQsITApfSxjLnByb3RvdHlwZS5fZW5jb2RlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY3VydmUucC5ieXRlTGVuZ3RoKCkscj10aGlzLmdldFgoKS50b0FycmF5KCJiZSIsZSk7cmV0dXJuIHQ/W3RoaXMuZ2V0WSgpLmlzRXZlbigpPzI6M10uY29uY2F0KHIpOls0XS5jb25jYXQocix0aGlzLmdldFkoKS50b0FycmF5KCJiZSIsZSkpfSxjLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaS5lbmNvZGUodGhpcy5fZW5jb2RlKGUpLHQpfSxjLnByb3RvdHlwZS5wcmVjb21wdXRlPWZ1bmN0aW9uKHQpe2lmKHRoaXMucHJlY29tcHV0ZWQpcmV0dXJuIHRoaXM7dmFyIGU9e2RvdWJsZXM6bnVsbCxuYWY6bnVsbCxiZXRhOm51bGx9O3JldHVybiBlLm5hZj10aGlzLl9nZXROQUZQb2ludHMoOCksZS5kb3VibGVzPXRoaXMuX2dldERvdWJsZXMoNCx0KSxlLmJldGE9dGhpcy5fZ2V0QmV0YSgpLHRoaXMucHJlY29tcHV0ZWQ9ZSx0aGlzfSxjLnByb3RvdHlwZS5faGFzRG91Ymxlcz1mdW5jdGlvbih0KXtpZighdGhpcy5wcmVjb21wdXRlZClyZXR1cm4hMTt2YXIgZT10aGlzLnByZWNvbXB1dGVkLmRvdWJsZXM7cmV0dXJuISFlJiZlLnBvaW50cy5sZW5ndGg+PU1hdGguY2VpbCgodC5iaXRMZW5ndGgoKSsxKS9lLnN0ZXApfSxjLnByb3RvdHlwZS5fZ2V0RG91Ymxlcz1mdW5jdGlvbih0LGUpe2lmKHRoaXMucHJlY29tcHV0ZWQmJnRoaXMucHJlY29tcHV0ZWQuZG91YmxlcylyZXR1cm4gdGhpcy5wcmVjb21wdXRlZC5kb3VibGVzO2Zvcih2YXIgcj1bdGhpc10sbj10aGlzLGk9MDtpPGU7aSs9dCl7Zm9yKHZhciBvPTA7bzx0O28rKyluPW4uZGJsKCk7ci5wdXNoKG4pfXJldHVybntzdGVwOnQscG9pbnRzOnJ9fSxjLnByb3RvdHlwZS5fZ2V0TkFGUG9pbnRzPWZ1bmN0aW9uKHQpe2lmKHRoaXMucHJlY29tcHV0ZWQmJnRoaXMucHJlY29tcHV0ZWQubmFmKXJldHVybiB0aGlzLnByZWNvbXB1dGVkLm5hZjtmb3IodmFyIGU9W3RoaXNdLHI9KDE8PHQpLTEsbj0xPT09cj9udWxsOnRoaXMuZGJsKCksaT0xO2k8cjtpKyspZVtpXT1lW2ktMV0uYWRkKG4pO3JldHVybnt3bmQ6dCxwb2ludHM6ZX19LGMucHJvdG90eXBlLl9nZXRCZXRhPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGMucHJvdG90eXBlLmRibHA9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMscj0wO3I8dDtyKyspZT1lLmRibCgpO3JldHVybiBlfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7dmFyIG49dGhpcyYmdGhpcy5fX2ltcG9ydERlZmF1bHR8fGZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZ2V0TGVuZ3RoPWUuZGVjb2RlPWUuZW5jb2RlPXZvaWQgMDt2YXIgaT1uKHIoMjY5KSk7ZnVuY3Rpb24gbyh0LGUpe2lmKCIwIj09PXRbMF0mJiIwIj09PXRbMV0pdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIFJMUDogZXh0cmEgemVyb3MiKTtyZXR1cm4gcGFyc2VJbnQodCxlKX1mdW5jdGlvbiBzKGUscil7aWYoZTw1NilyZXR1cm4gdC5mcm9tKFtlK3JdKTt2YXIgbj11KGUpLGk9dShyKzU1K24ubGVuZ3RoLzIpO3JldHVybiB0LmZyb20oaStuLCJoZXgiKX1mdW5jdGlvbiBhKHQpe3JldHVybiIweCI9PT10LnNsaWNlKDAsMil9ZnVuY3Rpb24gdSh0KXtpZih0PDApdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGludGVnZXIgYXMgYXJndW1lbnQsIG11c3QgYmUgdW5zaWduZWQhIik7dmFyIGU9dC50b1N0cmluZygxNik7cmV0dXJuIGUubGVuZ3RoJTI/IjAiK2U6ZX1mdW5jdGlvbiBjKGUpe2lmKCF0LmlzQnVmZmVyKGUpKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGEoZSk/dC5mcm9tKChuPSJzdHJpbmciIT10eXBlb2Yobz1lKT9vOmEobyk/by5zbGljZSgyKTpvKS5sZW5ndGglMj8iMCIrbjpuLCJoZXgiKTp0LmZyb20oZSk7aWYoIm51bWJlciI9PXR5cGVvZiBlfHwiYmlnaW50Ij09dHlwZW9mIGUpcmV0dXJuIGU/KHI9dShlKSx0LmZyb20ociwiaGV4IikpOnQuZnJvbShbXSk7aWYobnVsbD09ZSlyZXR1cm4gdC5mcm9tKFtdKTtpZihlIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gdC5mcm9tKGUpO2lmKGkuZGVmYXVsdC5pc0JOKGUpKXJldHVybiB0LmZyb20oZS50b0FycmF5KCkpO3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCB0eXBlIil9dmFyIHIsbixvO3JldHVybiBlfWUuZW5jb2RlPWZ1bmN0aW9uIGUocil7aWYoQXJyYXkuaXNBcnJheShyKSl7Zm9yKHZhciBuPVtdLGk9MDtpPHIubGVuZ3RoO2krKyluLnB1c2goZShyW2ldKSk7dmFyIG89dC5jb25jYXQobik7cmV0dXJuIHQuY29uY2F0KFtzKG8ubGVuZ3RoLDE5Miksb10pfXZhciBhPWMocik7cmV0dXJuIDE9PT1hLmxlbmd0aCYmYVswXTwxMjg/YTp0LmNvbmNhdChbcyhhLmxlbmd0aCwxMjgpLGFdKX0sZS5kZWNvZGU9ZnVuY3Rpb24oZSxyKXtpZih2b2lkIDA9PT1yJiYocj0hMSksIWV8fDA9PT1lLmxlbmd0aClyZXR1cm4gdC5mcm9tKFtdKTt2YXIgbj1mdW5jdGlvbiBlKHIpe3ZhciBuLGkscyxhLHUsYz1bXSxmPXJbMF07aWYoZjw9MTI3KXJldHVybntkYXRhOnIuc2xpY2UoMCwxKSxyZW1haW5kZXI6ci5zbGljZSgxKX07aWYoZjw9MTgzKXtpZihuPWYtMTI3LHM9MTI4PT09Zj90LmZyb20oW10pOnIuc2xpY2UoMSxuKSwyPT09biYmc1swXTwxMjgpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHJscCBlbmNvZGluZzogYnl0ZSBtdXN0IGJlIGxlc3MgMHg4MCIpO3JldHVybntkYXRhOnMscmVtYWluZGVyOnIuc2xpY2Uobil9fWlmKGY8PTE5MSl7aWYoaT1mLTE4MixyLmxlbmd0aC0xPGkpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIFJMUDogbm90IGVub3VnaCBieXRlcyBmb3Igc3RyaW5nIGxlbmd0aCIpO2lmKChuPW8oci5zbGljZSgxLGkpLnRvU3RyaW5nKCJoZXgiKSwxNikpPD01NSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgUkxQOiBleHBlY3RlZCBzdHJpbmcgbGVuZ3RoIHRvIGJlIGdyZWF0ZXIgdGhhbiA1NSIpO2lmKChzPXIuc2xpY2UoaSxuK2kpKS5sZW5ndGg8bil0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgUkxQOiBub3QgZW5vdWdoIGJ5dGVzIGZvciBzdHJpbmciKTtyZXR1cm57ZGF0YTpzLHJlbWFpbmRlcjpyLnNsaWNlKG4raSl9fWlmKGY8PTI0Nyl7Zm9yKG49Zi0xOTEsYT1yLnNsaWNlKDEsbik7YS5sZW5ndGg7KXU9ZShhKSxjLnB1c2godS5kYXRhKSxhPXUucmVtYWluZGVyO3JldHVybntkYXRhOmMscmVtYWluZGVyOnIuc2xpY2Uobil9fWk9Zi0yNDYsbj1vKHIuc2xpY2UoMSxpKS50b1N0cmluZygiaGV4IiksMTYpO3ZhciBoPWkrbjtpZihoPnIubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBybHA6IHRvdGFsIGxlbmd0aCBpcyBsYXJnZXIgdGhhbiB0aGUgZGF0YSIpO2lmKDA9PT0oYT1yLnNsaWNlKGksaCkpLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcmxwLCBMaXN0IGhhcyBhIGludmFsaWQgbGVuZ3RoIik7Zm9yKDthLmxlbmd0aDspdT1lKGEpLGMucHVzaCh1LmRhdGEpLGE9dS5yZW1haW5kZXI7cmV0dXJue2RhdGE6YyxyZW1haW5kZXI6ci5zbGljZShoKX19KGMoZSkpO2lmKHIpcmV0dXJuIG47aWYoMCE9PW4ucmVtYWluZGVyLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcmVtYWluZGVyIik7cmV0dXJuIG4uZGF0YX0sZS5nZXRMZW5ndGg9ZnVuY3Rpb24oZSl7aWYoIWV8fDA9PT1lLmxlbmd0aClyZXR1cm4gdC5mcm9tKFtdKTt2YXIgcj1jKGUpLG49clswXTtpZihuPD0xMjcpcmV0dXJuIHIubGVuZ3RoO2lmKG48PTE4MylyZXR1cm4gbi0xMjc7aWYobjw9MTkxKXJldHVybiBuLTE4MjtpZihuPD0yNDcpcmV0dXJuIG4tMTkxO3ZhciBpPW4tMjQ2O3JldHVybiBpK28oci5zbGljZSgxLGkpLnRvU3RyaW5nKCJoZXgiKSwxNil9fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMzAwKSxpPXIoMTQ0KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJmkodC5sZW5ndGgpJiYhbih0KX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0LGUpe2V8PTA7Zm9yKHZhciByPU1hdGgubWF4KHQubGVuZ3RoLWUsMCksbj1BcnJheShyKSxpPTA7aTxyO2krKyluW2ldPXRbZStpXTtyZXR1cm4gbn0sdC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cig2Nyk7ZnVuY3Rpb24gaSgpe310LmV4cG9ydHM9aSxpLnByb3RvdHlwZS5zZXRFbmdpbmU9ZnVuY3Rpb24odCl7Y29uc3QgZT10aGlzO2UuZW5naW5lfHwoZS5lbmdpbmU9dCx0Lm9uKCJibG9jayIsKGZ1bmN0aW9uKHQpe2UuY3VycmVudEJsb2NrPXR9KSksdC5vbigic3RhcnQiLChmdW5jdGlvbigpe2Uuc3RhcnQoKX0pKSx0Lm9uKCJzdG9wIiwoZnVuY3Rpb24oKXtlLnN0b3AoKX0pKSl9LGkucHJvdG90eXBlLmhhbmRsZVJlcXVlc3Q9ZnVuY3Rpb24odCxlLHIpe3Rocm93IG5ldyBFcnJvcigiU3VicHJvdmlkZXJzIHNob3VsZCBvdmVycmlkZSBgaGFuZGxlUmVxdWVzdGAuIil9LGkucHJvdG90eXBlLmVtaXRQYXlsb2FkPWZ1bmN0aW9uKHQsZSl7dGhpcy5lbmdpbmUuc2VuZEFzeW5jKG4odCksZSl9LGkucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt9LGkucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKCl7fX0sZnVuY3Rpb24odCxlKXt2YXIgcj17fS50b1N0cmluZzt0LmV4cG9ydHM9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09ci5jYWxsKHQpfX0sZnVuY3Rpb24odCxlKXtlLkw9e2JpdDoxfSxlLk09e2JpdDowfSxlLlE9e2JpdDozfSxlLkg9e2JpdDoyfSxlLmlzVmFsaWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnZvaWQgMCE9PXQuYml0JiZ0LmJpdD49MCYmdC5iaXQ8NH0sZS5mcm9tPWZ1bmN0aW9uKHQscil7aWYoZS5pc1ZhbGlkKHQpKXJldHVybiB0O3RyeXtyZXR1cm4gZnVuY3Rpb24odCl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiUGFyYW0gaXMgbm90IGEgc3RyaW5nIik7c3dpdGNoKHQudG9Mb3dlckNhc2UoKSl7Y2FzZSJsIjpjYXNlImxvdyI6cmV0dXJuIGUuTDtjYXNlIm0iOmNhc2UibWVkaXVtIjpyZXR1cm4gZS5NO2Nhc2UicSI6Y2FzZSJxdWFydGlsZSI6cmV0dXJuIGUuUTtjYXNlImgiOmNhc2UiaGlnaCI6cmV0dXJuIGUuSDtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBFQyBMZXZlbDogIit0KX19KHQpfWNhdGNoKHQpe3JldHVybiByfX19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDIpLGk9bi5CdWZmZXI7ZnVuY3Rpb24gbyh0LGUpe2Zvcih2YXIgciBpbiB0KWVbcl09dFtyXX1mdW5jdGlvbiBzKHQsZSxyKXtyZXR1cm4gaSh0LGUscil9aS5mcm9tJiZpLmFsbG9jJiZpLmFsbG9jVW5zYWZlJiZpLmFsbG9jVW5zYWZlU2xvdz90LmV4cG9ydHM9bjoobyhuLGUpLGUuQnVmZmVyPXMpLG8oaSxzKSxzLmZyb209ZnVuY3Rpb24odCxlLHIpe2lmKCJudW1iZXIiPT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlciIpO3JldHVybiBpKHQsZSxyKX0scy5hbGxvYz1mdW5jdGlvbih0LGUscil7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTt2YXIgbj1pKHQpO3JldHVybiB2b2lkIDAhPT1lPyJzdHJpbmciPT10eXBlb2Ygcj9uLmZpbGwoZSxyKTpuLmZpbGwoZSk6bi5maWxsKDApLG59LHMuYWxsb2NVbnNhZmU9ZnVuY3Rpb24odCl7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTtyZXR1cm4gaSh0KX0scy5hbGxvY1Vuc2FmZVNsb3c9ZnVuY3Rpb24odCl7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTtyZXR1cm4gbi5TbG93QnVmZmVyKHQpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSxuLGkpe3ZhciBvPXIoNDMpO2Z1bmN0aW9uIHModCl7dmFyIGU9dGhpczt0aGlzLm5leHQ9bnVsbCx0aGlzLmVudHJ5PW51bGwsdGhpcy5maW5pc2g9ZnVuY3Rpb24oKXshZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuZW50cnk7dC5lbnRyeT1udWxsO2Zvcig7bjspe3ZhciBpPW4uY2FsbGJhY2s7ZS5wZW5kaW5nY2ItLSxpKHIpLG49bi5uZXh0fWUuY29ya2VkUmVxdWVzdHNGcmVlP2UuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQ9dDplLmNvcmtlZFJlcXVlc3RzRnJlZT10fShlLHQpfX10LmV4cG9ydHM9eTt2YXIgYSx1PSFlLmJyb3dzZXImJlsidjAuMTAiLCJ2MC45LiJdLmluZGV4T2YoZS52ZXJzaW9uLnNsaWNlKDAsNSkpPi0xP246by5uZXh0VGljazt5LldyaXRhYmxlU3RhdGU9Yjt2YXIgYz1PYmplY3QuY3JlYXRlKHIoMzUpKTtjLmluaGVyaXRzPXIoMyk7dmFyIGY9e2RlcHJlY2F0ZTpyKDU0KX0saD1yKDEwNiksbD1yKDUyKS5CdWZmZXIsZD1pLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fTt2YXIgcCxtPXIoMTA3KTtmdW5jdGlvbiBnKCl7fWZ1bmN0aW9uIGIodCxlKXthPWF8fHIoMTkpLHQ9dHx8e307dmFyIG49ZSBpbnN0YW5jZW9mIGE7dGhpcy5vYmplY3RNb2RlPSEhdC5vYmplY3RNb2RlLG4mJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIXQud3JpdGFibGVPYmplY3RNb2RlKTt2YXIgaT10LmhpZ2hXYXRlck1hcmssYz10LndyaXRhYmxlSGlnaFdhdGVyTWFyayxmPXRoaXMub2JqZWN0TW9kZT8xNjoxNjM4NDt0aGlzLmhpZ2hXYXRlck1hcms9aXx8MD09PWk/aTpuJiYoY3x8MD09PWMpP2M6Zix0aGlzLmhpZ2hXYXRlck1hcms9TWF0aC5mbG9vcih0aGlzLmhpZ2hXYXRlck1hcmspLHRoaXMuZmluYWxDYWxsZWQ9ITEsdGhpcy5uZWVkRHJhaW49ITEsdGhpcy5lbmRpbmc9ITEsdGhpcy5lbmRlZD0hMSx0aGlzLmZpbmlzaGVkPSExLHRoaXMuZGVzdHJveWVkPSExO3ZhciBoPSExPT09dC5kZWNvZGVTdHJpbmdzO3RoaXMuZGVjb2RlU3RyaW5ncz0haCx0aGlzLmRlZmF1bHRFbmNvZGluZz10LmRlZmF1bHRFbmNvZGluZ3x8InV0ZjgiLHRoaXMubGVuZ3RoPTAsdGhpcy53cml0aW5nPSExLHRoaXMuY29ya2VkPTAsdGhpcy5zeW5jPSEwLHRoaXMuYnVmZmVyUHJvY2Vzc2luZz0hMSx0aGlzLm9ud3JpdGU9ZnVuY3Rpb24odCl7IWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5fd3JpdGFibGVTdGF0ZSxuPXIuc3luYyxpPXIud3JpdGVjYjtpZihmdW5jdGlvbih0KXt0LndyaXRpbmc9ITEsdC53cml0ZWNiPW51bGwsdC5sZW5ndGgtPXQud3JpdGVsZW4sdC53cml0ZWxlbj0wfShyKSxlKSFmdW5jdGlvbih0LGUscixuLGkpey0tZS5wZW5kaW5nY2Iscj8oby5uZXh0VGljayhpLG4pLG8ubmV4dFRpY2soRSx0LGUpLHQuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLHQuZW1pdCgiZXJyb3IiLG4pKTooaShuKSx0Ll93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCx0LmVtaXQoImVycm9yIixuKSxFKHQsZSkpfSh0LHIsbixlLGkpO2Vsc2V7dmFyIHM9TShyKTtzfHxyLmNvcmtlZHx8ci5idWZmZXJQcm9jZXNzaW5nfHwhci5idWZmZXJlZFJlcXVlc3R8fHcodCxyKSxuP3UoXyx0LHIscyxpKTpfKHQscixzLGkpfX0oZSx0KX0sdGhpcy53cml0ZWNiPW51bGwsdGhpcy53cml0ZWxlbj0wLHRoaXMuYnVmZmVyZWRSZXF1ZXN0PW51bGwsdGhpcy5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwsdGhpcy5wZW5kaW5nY2I9MCx0aGlzLnByZWZpbmlzaGVkPSExLHRoaXMuZXJyb3JFbWl0dGVkPSExLHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MCx0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgcyh0aGlzKX1mdW5jdGlvbiB5KHQpe2lmKGE9YXx8cigxOSksIShwLmNhbGwoeSx0aGlzKXx8dGhpcyBpbnN0YW5jZW9mIGEpKXJldHVybiBuZXcgeSh0KTt0aGlzLl93cml0YWJsZVN0YXRlPW5ldyBiKHQsdGhpcyksdGhpcy53cml0YWJsZT0hMCx0JiYoImZ1bmN0aW9uIj09dHlwZW9mIHQud3JpdGUmJih0aGlzLl93cml0ZT10LndyaXRlKSwiZnVuY3Rpb24iPT10eXBlb2YgdC53cml0ZXYmJih0aGlzLl93cml0ZXY9dC53cml0ZXYpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PXQuZGVzdHJveSksImZ1bmN0aW9uIj09dHlwZW9mIHQuZmluYWwmJih0aGlzLl9maW5hbD10LmZpbmFsKSksaC5jYWxsKHRoaXMpfWZ1bmN0aW9uIHYodCxlLHIsbixpLG8scyl7ZS53cml0ZWxlbj1uLGUud3JpdGVjYj1zLGUud3JpdGluZz0hMCxlLnN5bmM9ITAscj90Ll93cml0ZXYoaSxlLm9ud3JpdGUpOnQuX3dyaXRlKGksbyxlLm9ud3JpdGUpLGUuc3luYz0hMX1mdW5jdGlvbiBfKHQsZSxyLG4pe3J8fGZ1bmN0aW9uKHQsZSl7MD09PWUubGVuZ3RoJiZlLm5lZWREcmFpbiYmKGUubmVlZERyYWluPSExLHQuZW1pdCgiZHJhaW4iKSl9KHQsZSksZS5wZW5kaW5nY2ItLSxuKCksRSh0LGUpfWZ1bmN0aW9uIHcodCxlKXtlLmJ1ZmZlclByb2Nlc3Npbmc9ITA7dmFyIHI9ZS5idWZmZXJlZFJlcXVlc3Q7aWYodC5fd3JpdGV2JiZyJiZyLm5leHQpe3ZhciBuPWUuYnVmZmVyZWRSZXF1ZXN0Q291bnQsaT1uZXcgQXJyYXkobiksbz1lLmNvcmtlZFJlcXVlc3RzRnJlZTtvLmVudHJ5PXI7Zm9yKHZhciBhPTAsdT0hMDtyOylpW2FdPXIsci5pc0J1Znx8KHU9ITEpLHI9ci5uZXh0LGErPTE7aS5hbGxCdWZmZXJzPXUsdih0LGUsITAsZS5sZW5ndGgsaSwiIixvLmZpbmlzaCksZS5wZW5kaW5nY2IrKyxlLmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCxvLm5leHQ/KGUuY29ya2VkUmVxdWVzdHNGcmVlPW8ubmV4dCxvLm5leHQ9bnVsbCk6ZS5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IHMoZSksZS5idWZmZXJlZFJlcXVlc3RDb3VudD0wfWVsc2V7Zm9yKDtyOyl7dmFyIGM9ci5jaHVuayxmPXIuZW5jb2RpbmcsaD1yLmNhbGxiYWNrO2lmKHYodCxlLCExLGUub2JqZWN0TW9kZT8xOmMubGVuZ3RoLGMsZixoKSxyPXIubmV4dCxlLmJ1ZmZlcmVkUmVxdWVzdENvdW50LS0sZS53cml0aW5nKWJyZWFrfW51bGw9PT1yJiYoZS5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwpfWUuYnVmZmVyZWRSZXF1ZXN0PXIsZS5idWZmZXJQcm9jZXNzaW5nPSExfWZ1bmN0aW9uIE0odCl7cmV0dXJuIHQuZW5kaW5nJiYwPT09dC5sZW5ndGgmJm51bGw9PT10LmJ1ZmZlcmVkUmVxdWVzdCYmIXQuZmluaXNoZWQmJiF0LndyaXRpbmd9ZnVuY3Rpb24gUyh0LGUpe3QuX2ZpbmFsKChmdW5jdGlvbihyKXtlLnBlbmRpbmdjYi0tLHImJnQuZW1pdCgiZXJyb3IiLHIpLGUucHJlZmluaXNoZWQ9ITAsdC5lbWl0KCJwcmVmaW5pc2giKSxFKHQsZSl9KSl9ZnVuY3Rpb24gRSh0LGUpe3ZhciByPU0oZSk7cmV0dXJuIHImJighZnVuY3Rpb24odCxlKXtlLnByZWZpbmlzaGVkfHxlLmZpbmFsQ2FsbGVkfHwoImZ1bmN0aW9uIj09dHlwZW9mIHQuX2ZpbmFsPyhlLnBlbmRpbmdjYisrLGUuZmluYWxDYWxsZWQ9ITAsby5uZXh0VGljayhTLHQsZSkpOihlLnByZWZpbmlzaGVkPSEwLHQuZW1pdCgicHJlZmluaXNoIikpKX0odCxlKSwwPT09ZS5wZW5kaW5nY2ImJihlLmZpbmlzaGVkPSEwLHQuZW1pdCgiZmluaXNoIikpKSxyfWMuaW5oZXJpdHMoeSxoKSxiLnByb3RvdHlwZS5nZXRCdWZmZXI9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5idWZmZXJlZFJlcXVlc3QsZT1bXTt0OyllLnB1c2godCksdD10Lm5leHQ7cmV0dXJuIGV9LGZ1bmN0aW9uKCl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eShiLnByb3RvdHlwZSwiYnVmZmVyIix7Z2V0OmYuZGVwcmVjYXRlKChmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEJ1ZmZlcigpfSksIl93cml0YWJsZVN0YXRlLmJ1ZmZlciBpcyBkZXByZWNhdGVkLiBVc2UgX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyIGluc3RlYWQuIiwiREVQMDAwMyIpfSl9Y2F0Y2godCl7fX0oKSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaGFzSW5zdGFuY2UmJiJmdW5jdGlvbiI9PXR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXT8ocD1GdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeSxTeW1ib2wuaGFzSW5zdGFuY2Use3ZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiEhcC5jYWxsKHRoaXMsdCl8fHRoaXM9PT15JiYodCYmdC5fd3JpdGFibGVTdGF0ZSBpbnN0YW5jZW9mIGIpfX0pKTpwPWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgdGhpc30seS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbigpe3RoaXMuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigiQ2Fubm90IHBpcGUsIG5vdCByZWFkYWJsZSIpKX0seS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGk9dGhpcy5fd3JpdGFibGVTdGF0ZSxzPSExLGE9IWkub2JqZWN0TW9kZSYmKG49dCxsLmlzQnVmZmVyKG4pfHxuIGluc3RhbmNlb2YgZCk7cmV0dXJuIGEmJiFsLmlzQnVmZmVyKHQpJiYodD1mdW5jdGlvbih0KXtyZXR1cm4gbC5mcm9tKHQpfSh0KSksImZ1bmN0aW9uIj09dHlwZW9mIGUmJihyPWUsZT1udWxsKSxhP2U9ImJ1ZmZlciI6ZXx8KGU9aS5kZWZhdWx0RW5jb2RpbmcpLCJmdW5jdGlvbiIhPXR5cGVvZiByJiYocj1nKSxpLmVuZGVkP2Z1bmN0aW9uKHQsZSl7dmFyIHI9bmV3IEVycm9yKCJ3cml0ZSBhZnRlciBlbmQiKTt0LmVtaXQoImVycm9yIixyKSxvLm5leHRUaWNrKGUscil9KHRoaXMscik6KGF8fGZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpPSEwLHM9ITE7cmV0dXJuIG51bGw9PT1yP3M9bmV3IFR5cGVFcnJvcigiTWF5IG5vdCB3cml0ZSBudWxsIHZhbHVlcyB0byBzdHJlYW0iKToic3RyaW5nIj09dHlwZW9mIHJ8fHZvaWQgMD09PXJ8fGUub2JqZWN0TW9kZXx8KHM9bmV3IFR5cGVFcnJvcigiSW52YWxpZCBub24tc3RyaW5nL2J1ZmZlciBjaHVuayIpKSxzJiYodC5lbWl0KCJlcnJvciIscyksby5uZXh0VGljayhuLHMpLGk9ITEpLGl9KHRoaXMsaSx0LHIpKSYmKGkucGVuZGluZ2NiKysscz1mdW5jdGlvbih0LGUscixuLGksbyl7aWYoIXIpe3ZhciBzPWZ1bmN0aW9uKHQsZSxyKXt0Lm9iamVjdE1vZGV8fCExPT09dC5kZWNvZGVTdHJpbmdzfHwic3RyaW5nIiE9dHlwZW9mIGV8fChlPWwuZnJvbShlLHIpKTtyZXR1cm4gZX0oZSxuLGkpO24hPT1zJiYocj0hMCxpPSJidWZmZXIiLG49cyl9dmFyIGE9ZS5vYmplY3RNb2RlPzE6bi5sZW5ndGg7ZS5sZW5ndGgrPWE7dmFyIHU9ZS5sZW5ndGg8ZS5oaWdoV2F0ZXJNYXJrO3V8fChlLm5lZWREcmFpbj0hMCk7aWYoZS53cml0aW5nfHxlLmNvcmtlZCl7dmFyIGM9ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0O2UubGFzdEJ1ZmZlcmVkUmVxdWVzdD17Y2h1bms6bixlbmNvZGluZzppLGlzQnVmOnIsY2FsbGJhY2s6byxuZXh0Om51bGx9LGM/Yy5uZXh0PWUubGFzdEJ1ZmZlcmVkUmVxdWVzdDplLmJ1ZmZlcmVkUmVxdWVzdD1lLmxhc3RCdWZmZXJlZFJlcXVlc3QsZS5idWZmZXJlZFJlcXVlc3RDb3VudCs9MX1lbHNlIHYodCxlLCExLGEsbixpLG8pO3JldHVybiB1fSh0aGlzLGksYSx0LGUscikpLHN9LHkucHJvdG90eXBlLmNvcms9ZnVuY3Rpb24oKXt0aGlzLl93cml0YWJsZVN0YXRlLmNvcmtlZCsrfSx5LnByb3RvdHlwZS51bmNvcms9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl93cml0YWJsZVN0YXRlO3QuY29ya2VkJiYodC5jb3JrZWQtLSx0LndyaXRpbmd8fHQuY29ya2VkfHx0LmZpbmlzaGVkfHx0LmJ1ZmZlclByb2Nlc3Npbmd8fCF0LmJ1ZmZlcmVkUmVxdWVzdHx8dyh0aGlzLHQpKX0seS5wcm90b3R5cGUuc2V0RGVmYXVsdEVuY29kaW5nPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9dC50b0xvd2VyQ2FzZSgpKSwhKFsiaGV4IiwidXRmOCIsInV0Zi04IiwiYXNjaWkiLCJiaW5hcnkiLCJiYXNlNjQiLCJ1Y3MyIiwidWNzLTIiLCJ1dGYxNmxlIiwidXRmLTE2bGUiLCJyYXciXS5pbmRleE9mKCh0KyIiKS50b0xvd2VyQ2FzZSgpKT4tMSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIit0KTtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZWZhdWx0RW5jb2Rpbmc9dCx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeS5wcm90b3R5cGUsIndyaXRhYmxlSGlnaFdhdGVyTWFyayIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSx5LnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24odCxlLHIpe3IobmV3IEVycm9yKCJfd3JpdGUoKSBpcyBub3QgaW1wbGVtZW50ZWQiKSl9LHkucHJvdG90eXBlLl93cml0ZXY9bnVsbCx5LnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMuX3dyaXRhYmxlU3RhdGU7ImZ1bmN0aW9uIj09dHlwZW9mIHQ/KHI9dCx0PW51bGwsZT1udWxsKToiZnVuY3Rpb24iPT10eXBlb2YgZSYmKHI9ZSxlPW51bGwpLG51bGwhPXQmJnRoaXMud3JpdGUodCxlKSxuLmNvcmtlZCYmKG4uY29ya2VkPTEsdGhpcy51bmNvcmsoKSksbi5lbmRpbmd8fG4uZmluaXNoZWR8fGZ1bmN0aW9uKHQsZSxyKXtlLmVuZGluZz0hMCxFKHQsZSksciYmKGUuZmluaXNoZWQ/by5uZXh0VGljayhyKTp0Lm9uY2UoImZpbmlzaCIscikpO2UuZW5kZWQ9ITAsdC53cml0YWJsZT0hMX0odGhpcyxuLHIpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeS5wcm90b3R5cGUsImRlc3Ryb3llZCIse2dldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD10KX19KSx5LnByb3RvdHlwZS5kZXN0cm95PW0uZGVzdHJveSx5LnByb3RvdHlwZS5fdW5kZXN0cm95PW0udW5kZXN0cm95LHkucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7dGhpcy5lbmQoKSxlKHQpfX0pLmNhbGwodGhpcyxyKDUpLHIoMTA4KS5zZXRJbW1lZGlhdGUscig2KSl9LGZ1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcih0KXt0cnl7aWYoIWUubG9jYWxTdG9yYWdlKXJldHVybiExfWNhdGNoKHQpe3JldHVybiExfXZhciByPWUubG9jYWxTdG9yYWdlW3RdO3JldHVybiBudWxsIT1yJiYidHJ1ZSI9PT1TdHJpbmcocikudG9Mb3dlckNhc2UoKX10LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZihyKCJub0RlcHJlY2F0aW9uIikpcmV0dXJuIHQ7dmFyIG49ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIW4pe2lmKHIoInRocm93RGVwcmVjYXRpb24iKSl0aHJvdyBuZXcgRXJyb3IoZSk7cigidHJhY2VEZXByZWNhdGlvbiIpP2NvbnNvbGUudHJhY2UoZSk6Y29uc29sZS53YXJuKGUpLG49ITB9cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19KS5jYWxsKHRoaXMscig2KSl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigyMTMpLGk9cigyMTQpO2Z1bmN0aW9uIG8oKXt0aGlzLnByb3RvY29sPW51bGwsdGhpcy5zbGFzaGVzPW51bGwsdGhpcy5hdXRoPW51bGwsdGhpcy5ob3N0PW51bGwsdGhpcy5wb3J0PW51bGwsdGhpcy5ob3N0bmFtZT1udWxsLHRoaXMuaGFzaD1udWxsLHRoaXMuc2VhcmNoPW51bGwsdGhpcy5xdWVyeT1udWxsLHRoaXMucGF0aG5hbWU9bnVsbCx0aGlzLnBhdGg9bnVsbCx0aGlzLmhyZWY9bnVsbH1lLnBhcnNlPXYsZS5yZXNvbHZlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHYodCwhMSwhMCkucmVzb2x2ZShlKX0sZS5yZXNvbHZlT2JqZWN0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ/dih0LCExLCEwKS5yZXNvbHZlT2JqZWN0KGUpOmV9LGUuZm9ybWF0PWZ1bmN0aW9uKHQpe2kuaXNTdHJpbmcodCkmJih0PXYodCkpO3JldHVybiB0IGluc3RhbmNlb2Ygbz90LmZvcm1hdCgpOm8ucHJvdG90eXBlLmZvcm1hdC5jYWxsKHQpfSxlLlVybD1vO3ZhciBzPS9eKFthLXowLTkuKy1dKzopL2ksYT0vOlswLTldKiQvLHU9L14oXC9cLz8oPyFcLylbXlw/XHNdKikoXD9bXlxzXSopPyQvLGM9WyJ7IiwifSIsInwiLCJcXCIsIl4iLCJgIl0uY29uY2F0KFsiPCIsIj4iLCciJywiYCIsIiAiLCJcciIsIlxuIiwiXHQiXSksZj1bIiciXS5jb25jYXQoYyksaD1bIiUiLCIvIiwiPyIsIjsiLCIjIl0uY29uY2F0KGYpLGw9WyIvIiwiPyIsIiMiXSxkPS9eWythLXowLTlBLVpfLV17MCw2M30kLyxwPS9eKFsrYS16MC05QS1aXy1dezAsNjN9KSguKikkLyxtPXtqYXZhc2NyaXB0OiEwLCJqYXZhc2NyaXB0OiI6ITB9LGc9e2phdmFzY3JpcHQ6ITAsImphdmFzY3JpcHQ6IjohMH0sYj17aHR0cDohMCxodHRwczohMCxmdHA6ITAsZ29waGVyOiEwLGZpbGU6ITAsImh0dHA6IjohMCwiaHR0cHM6IjohMCwiZnRwOiI6ITAsImdvcGhlcjoiOiEwLCJmaWxlOiI6ITB9LHk9cigyMTUpO2Z1bmN0aW9uIHYodCxlLHIpe2lmKHQmJmkuaXNPYmplY3QodCkmJnQgaW5zdGFuY2VvZiBvKXJldHVybiB0O3ZhciBuPW5ldyBvO3JldHVybiBuLnBhcnNlKHQsZSxyKSxufW8ucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKHQsZSxyKXtpZighaS5pc1N0cmluZyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJQYXJhbWV0ZXIgJ3VybCcgbXVzdCBiZSBhIHN0cmluZywgbm90ICIrdHlwZW9mIHQpO3ZhciBvPXQuaW5kZXhPZigiPyIpLGE9LTEhPT1vJiZvPHQuaW5kZXhPZigiIyIpPyI/IjoiIyIsYz10LnNwbGl0KGEpO2NbMF09Y1swXS5yZXBsYWNlKC9cXC9nLCIvIik7dmFyIHY9dD1jLmpvaW4oYSk7aWYodj12LnRyaW0oKSwhciYmMT09PXQuc3BsaXQoIiMiKS5sZW5ndGgpe3ZhciBfPXUuZXhlYyh2KTtpZihfKXJldHVybiB0aGlzLnBhdGg9dix0aGlzLmhyZWY9dix0aGlzLnBhdGhuYW1lPV9bMV0sX1syXT8odGhpcy5zZWFyY2g9X1syXSx0aGlzLnF1ZXJ5PWU/eS5wYXJzZSh0aGlzLnNlYXJjaC5zdWJzdHIoMSkpOnRoaXMuc2VhcmNoLnN1YnN0cigxKSk6ZSYmKHRoaXMuc2VhcmNoPSIiLHRoaXMucXVlcnk9e30pLHRoaXN9dmFyIHc9cy5leGVjKHYpO2lmKHcpe3ZhciBNPSh3PXdbMF0pLnRvTG93ZXJDYXNlKCk7dGhpcy5wcm90b2NvbD1NLHY9di5zdWJzdHIody5sZW5ndGgpfWlmKHJ8fHd8fHYubWF0Y2goL15cL1wvW15AXC9dK0BbXkBcL10rLykpe3ZhciBTPSIvLyI9PT12LnN1YnN0cigwLDIpOyFTfHx3JiZnW3ddfHwodj12LnN1YnN0cigyKSx0aGlzLnNsYXNoZXM9ITApfWlmKCFnW3ddJiYoU3x8dyYmIWJbd10pKXtmb3IodmFyIEUseCxrPS0xLEE9MDtBPGwubGVuZ3RoO0ErKyl7LTEhPT0oUj12LmluZGV4T2YobFtBXSkpJiYoLTE9PT1rfHxSPGspJiYoaz1SKX0tMSE9PSh4PS0xPT09az92Lmxhc3RJbmRleE9mKCJAIik6di5sYXN0SW5kZXhPZigiQCIsaykpJiYoRT12LnNsaWNlKDAseCksdj12LnNsaWNlKHgrMSksdGhpcy5hdXRoPWRlY29kZVVSSUNvbXBvbmVudChFKSksaz0tMTtmb3IoQT0wO0E8aC5sZW5ndGg7QSsrKXt2YXIgUjstMSE9PShSPXYuaW5kZXhPZihoW0FdKSkmJigtMT09PWt8fFI8aykmJihrPVIpfS0xPT09ayYmKGs9di5sZW5ndGgpLHRoaXMuaG9zdD12LnNsaWNlKDAsayksdj12LnNsaWNlKGspLHRoaXMucGFyc2VIb3N0KCksdGhpcy5ob3N0bmFtZT10aGlzLmhvc3RuYW1lfHwiIjt2YXIgVD0iWyI9PT10aGlzLmhvc3RuYW1lWzBdJiYiXSI9PT10aGlzLmhvc3RuYW1lW3RoaXMuaG9zdG5hbWUubGVuZ3RoLTFdO2lmKCFUKWZvcih2YXIgTz10aGlzLmhvc3RuYW1lLnNwbGl0KC9cLi8pLEM9KEE9MCxPLmxlbmd0aCk7QTxDO0ErKyl7dmFyIFA9T1tBXTtpZihQJiYhUC5tYXRjaChkKSl7Zm9yKHZhciBJPSIiLEI9MCxMPVAubGVuZ3RoO0I8TDtCKyspUC5jaGFyQ29kZUF0KEIpPjEyNz9JKz0ieCI6SSs9UFtCXTtpZighSS5tYXRjaChkKSl7dmFyIGo9Ty5zbGljZSgwLEEpLE49Ty5zbGljZShBKzEpLHE9UC5tYXRjaChwKTtxJiYoai5wdXNoKHFbMV0pLE4udW5zaGlmdChxWzJdKSksTi5sZW5ndGgmJih2PSIvIitOLmpvaW4oIi4iKSt2KSx0aGlzLmhvc3RuYW1lPWouam9pbigiLiIpO2JyZWFrfX19dGhpcy5ob3N0bmFtZS5sZW5ndGg+MjU1P3RoaXMuaG9zdG5hbWU9IiI6dGhpcy5ob3N0bmFtZT10aGlzLmhvc3RuYW1lLnRvTG93ZXJDYXNlKCksVHx8KHRoaXMuaG9zdG5hbWU9bi50b0FTQ0lJKHRoaXMuaG9zdG5hbWUpKTt2YXIgVT10aGlzLnBvcnQ/IjoiK3RoaXMucG9ydDoiIixEPXRoaXMuaG9zdG5hbWV8fCIiO3RoaXMuaG9zdD1EK1UsdGhpcy5ocmVmKz10aGlzLmhvc3QsVCYmKHRoaXMuaG9zdG5hbWU9dGhpcy5ob3N0bmFtZS5zdWJzdHIoMSx0aGlzLmhvc3RuYW1lLmxlbmd0aC0yKSwiLyIhPT12WzBdJiYodj0iLyIrdikpfWlmKCFtW01dKWZvcihBPTAsQz1mLmxlbmd0aDtBPEM7QSsrKXt2YXIgej1mW0FdO2lmKC0xIT09di5pbmRleE9mKHopKXt2YXIgSD1lbmNvZGVVUklDb21wb25lbnQoeik7SD09PXomJihIPWVzY2FwZSh6KSksdj12LnNwbGl0KHopLmpvaW4oSCl9fXZhciBGPXYuaW5kZXhPZigiIyIpOy0xIT09RiYmKHRoaXMuaGFzaD12LnN1YnN0cihGKSx2PXYuc2xpY2UoMCxGKSk7dmFyIFc9di5pbmRleE9mKCI/Iik7aWYoLTEhPT1XPyh0aGlzLnNlYXJjaD12LnN1YnN0cihXKSx0aGlzLnF1ZXJ5PXYuc3Vic3RyKFcrMSksZSYmKHRoaXMucXVlcnk9eS5wYXJzZSh0aGlzLnF1ZXJ5KSksdj12LnNsaWNlKDAsVykpOmUmJih0aGlzLnNlYXJjaD0iIix0aGlzLnF1ZXJ5PXt9KSx2JiYodGhpcy5wYXRobmFtZT12KSxiW01dJiZ0aGlzLmhvc3RuYW1lJiYhdGhpcy5wYXRobmFtZSYmKHRoaXMucGF0aG5hbWU9Ii8iKSx0aGlzLnBhdGhuYW1lfHx0aGlzLnNlYXJjaCl7VT10aGlzLnBhdGhuYW1lfHwiIjt2YXIgSz10aGlzLnNlYXJjaHx8IiI7dGhpcy5wYXRoPVUrS31yZXR1cm4gdGhpcy5ocmVmPXRoaXMuZm9ybWF0KCksdGhpc30sby5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5hdXRofHwiIjt0JiYodD0odD1lbmNvZGVVUklDb21wb25lbnQodCkpLnJlcGxhY2UoLyUzQS9pLCI6IiksdCs9IkAiKTt2YXIgZT10aGlzLnByb3RvY29sfHwiIixyPXRoaXMucGF0aG5hbWV8fCIiLG49dGhpcy5oYXNofHwiIixvPSExLHM9IiI7dGhpcy5ob3N0P289dCt0aGlzLmhvc3Q6dGhpcy5ob3N0bmFtZSYmKG89dCsoLTE9PT10aGlzLmhvc3RuYW1lLmluZGV4T2YoIjoiKT90aGlzLmhvc3RuYW1lOiJbIit0aGlzLmhvc3RuYW1lKyJdIiksdGhpcy5wb3J0JiYobys9IjoiK3RoaXMucG9ydCkpLHRoaXMucXVlcnkmJmkuaXNPYmplY3QodGhpcy5xdWVyeSkmJk9iamVjdC5rZXlzKHRoaXMucXVlcnkpLmxlbmd0aCYmKHM9eS5zdHJpbmdpZnkodGhpcy5xdWVyeSkpO3ZhciBhPXRoaXMuc2VhcmNofHxzJiYiPyIrc3x8IiI7cmV0dXJuIGUmJiI6IiE9PWUuc3Vic3RyKC0xKSYmKGUrPSI6IiksdGhpcy5zbGFzaGVzfHwoIWV8fGJbZV0pJiYhMSE9PW8/KG89Ii8vIisob3x8IiIpLHImJiIvIiE9PXIuY2hhckF0KDApJiYocj0iLyIrcikpOm98fChvPSIiKSxuJiYiIyIhPT1uLmNoYXJBdCgwKSYmKG49IiMiK24pLGEmJiI/IiE9PWEuY2hhckF0KDApJiYoYT0iPyIrYSksZStvKyhyPXIucmVwbGFjZSgvWz8jXS9nLChmdW5jdGlvbih0KXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHQpfSkpKSsoYT1hLnJlcGxhY2UoIiMiLCIlMjMiKSkrbn0sby5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZXNvbHZlT2JqZWN0KHYodCwhMSwhMCkpLmZvcm1hdCgpfSxvLnByb3RvdHlwZS5yZXNvbHZlT2JqZWN0PWZ1bmN0aW9uKHQpe2lmKGkuaXNTdHJpbmcodCkpe3ZhciBlPW5ldyBvO2UucGFyc2UodCwhMSwhMCksdD1lfWZvcih2YXIgcj1uZXcgbyxuPU9iamVjdC5rZXlzKHRoaXMpLHM9MDtzPG4ubGVuZ3RoO3MrKyl7dmFyIGE9bltzXTtyW2FdPXRoaXNbYV19aWYoci5oYXNoPXQuaGFzaCwiIj09PXQuaHJlZilyZXR1cm4gci5ocmVmPXIuZm9ybWF0KCkscjtpZih0LnNsYXNoZXMmJiF0LnByb3RvY29sKXtmb3IodmFyIHU9T2JqZWN0LmtleXModCksYz0wO2M8dS5sZW5ndGg7YysrKXt2YXIgZj11W2NdOyJwcm90b2NvbCIhPT1mJiYocltmXT10W2ZdKX1yZXR1cm4gYltyLnByb3RvY29sXSYmci5ob3N0bmFtZSYmIXIucGF0aG5hbWUmJihyLnBhdGg9ci5wYXRobmFtZT0iLyIpLHIuaHJlZj1yLmZvcm1hdCgpLHJ9aWYodC5wcm90b2NvbCYmdC5wcm90b2NvbCE9PXIucHJvdG9jb2wpe2lmKCFiW3QucHJvdG9jb2xdKXtmb3IodmFyIGg9T2JqZWN0LmtleXModCksbD0wO2w8aC5sZW5ndGg7bCsrKXt2YXIgZD1oW2xdO3JbZF09dFtkXX1yZXR1cm4gci5ocmVmPXIuZm9ybWF0KCkscn1pZihyLnByb3RvY29sPXQucHJvdG9jb2wsdC5ob3N0fHxnW3QucHJvdG9jb2xdKXIucGF0aG5hbWU9dC5wYXRobmFtZTtlbHNle2Zvcih2YXIgcD0odC5wYXRobmFtZXx8IiIpLnNwbGl0KCIvIik7cC5sZW5ndGgmJiEodC5ob3N0PXAuc2hpZnQoKSk7KTt0Lmhvc3R8fCh0Lmhvc3Q9IiIpLHQuaG9zdG5hbWV8fCh0Lmhvc3RuYW1lPSIiKSwiIiE9PXBbMF0mJnAudW5zaGlmdCgiIikscC5sZW5ndGg8MiYmcC51bnNoaWZ0KCIiKSxyLnBhdGhuYW1lPXAuam9pbigiLyIpfWlmKHIuc2VhcmNoPXQuc2VhcmNoLHIucXVlcnk9dC5xdWVyeSxyLmhvc3Q9dC5ob3N0fHwiIixyLmF1dGg9dC5hdXRoLHIuaG9zdG5hbWU9dC5ob3N0bmFtZXx8dC5ob3N0LHIucG9ydD10LnBvcnQsci5wYXRobmFtZXx8ci5zZWFyY2gpe3ZhciBtPXIucGF0aG5hbWV8fCIiLHk9ci5zZWFyY2h8fCIiO3IucGF0aD1tK3l9cmV0dXJuIHIuc2xhc2hlcz1yLnNsYXNoZXN8fHQuc2xhc2hlcyxyLmhyZWY9ci5mb3JtYXQoKSxyfXZhciB2PXIucGF0aG5hbWUmJiIvIj09PXIucGF0aG5hbWUuY2hhckF0KDApLF89dC5ob3N0fHx0LnBhdGhuYW1lJiYiLyI9PT10LnBhdGhuYW1lLmNoYXJBdCgwKSx3PV98fHZ8fHIuaG9zdCYmdC5wYXRobmFtZSxNPXcsUz1yLnBhdGhuYW1lJiZyLnBhdGhuYW1lLnNwbGl0KCIvIil8fFtdLEU9KHA9dC5wYXRobmFtZSYmdC5wYXRobmFtZS5zcGxpdCgiLyIpfHxbXSxyLnByb3RvY29sJiYhYltyLnByb3RvY29sXSk7aWYoRSYmKHIuaG9zdG5hbWU9IiIsci5wb3J0PW51bGwsci5ob3N0JiYoIiI9PT1TWzBdP1NbMF09ci5ob3N0OlMudW5zaGlmdChyLmhvc3QpKSxyLmhvc3Q9IiIsdC5wcm90b2NvbCYmKHQuaG9zdG5hbWU9bnVsbCx0LnBvcnQ9bnVsbCx0Lmhvc3QmJigiIj09PXBbMF0/cFswXT10Lmhvc3Q6cC51bnNoaWZ0KHQuaG9zdCkpLHQuaG9zdD1udWxsKSx3PXcmJigiIj09PXBbMF18fCIiPT09U1swXSkpLF8pci5ob3N0PXQuaG9zdHx8IiI9PT10Lmhvc3Q/dC5ob3N0OnIuaG9zdCxyLmhvc3RuYW1lPXQuaG9zdG5hbWV8fCIiPT09dC5ob3N0bmFtZT90Lmhvc3RuYW1lOnIuaG9zdG5hbWUsci5zZWFyY2g9dC5zZWFyY2gsci5xdWVyeT10LnF1ZXJ5LFM9cDtlbHNlIGlmKHAubGVuZ3RoKVN8fChTPVtdKSxTLnBvcCgpLFM9Uy5jb25jYXQocCksci5zZWFyY2g9dC5zZWFyY2gsci5xdWVyeT10LnF1ZXJ5O2Vsc2UgaWYoIWkuaXNOdWxsT3JVbmRlZmluZWQodC5zZWFyY2gpKXtpZihFKXIuaG9zdG5hbWU9ci5ob3N0PVMuc2hpZnQoKSwoVD0hIShyLmhvc3QmJnIuaG9zdC5pbmRleE9mKCJAIik+MCkmJnIuaG9zdC5zcGxpdCgiQCIpKSYmKHIuYXV0aD1ULnNoaWZ0KCksci5ob3N0PXIuaG9zdG5hbWU9VC5zaGlmdCgpKTtyZXR1cm4gci5zZWFyY2g9dC5zZWFyY2gsci5xdWVyeT10LnF1ZXJ5LGkuaXNOdWxsKHIucGF0aG5hbWUpJiZpLmlzTnVsbChyLnNlYXJjaCl8fChyLnBhdGg9KHIucGF0aG5hbWU/ci5wYXRobmFtZToiIikrKHIuc2VhcmNoP3Iuc2VhcmNoOiIiKSksci5ocmVmPXIuZm9ybWF0KCkscn1pZighUy5sZW5ndGgpcmV0dXJuIHIucGF0aG5hbWU9bnVsbCxyLnNlYXJjaD9yLnBhdGg9Ii8iK3Iuc2VhcmNoOnIucGF0aD1udWxsLHIuaHJlZj1yLmZvcm1hdCgpLHI7Zm9yKHZhciB4PVMuc2xpY2UoLTEpWzBdLGs9KHIuaG9zdHx8dC5ob3N0fHxTLmxlbmd0aD4xKSYmKCIuIj09PXh8fCIuLiI9PT14KXx8IiI9PT14LEE9MCxSPVMubGVuZ3RoO1I+PTA7Ui0tKSIuIj09PSh4PVNbUl0pP1Muc3BsaWNlKFIsMSk6Ii4uIj09PXg/KFMuc3BsaWNlKFIsMSksQSsrKTpBJiYoUy5zcGxpY2UoUiwxKSxBLS0pO2lmKCF3JiYhTSlmb3IoO0EtLTtBKVMudW5zaGlmdCgiLi4iKTshd3x8IiI9PT1TWzBdfHxTWzBdJiYiLyI9PT1TWzBdLmNoYXJBdCgwKXx8Uy51bnNoaWZ0KCIiKSxrJiYiLyIhPT1TLmpvaW4oIi8iKS5zdWJzdHIoLTEpJiZTLnB1c2goIiIpO3ZhciBULE89IiI9PT1TWzBdfHxTWzBdJiYiLyI9PT1TWzBdLmNoYXJBdCgwKTtFJiYoci5ob3N0bmFtZT1yLmhvc3Q9Tz8iIjpTLmxlbmd0aD9TLnNoaWZ0KCk6IiIsKFQ9ISEoci5ob3N0JiZyLmhvc3QuaW5kZXhPZigiQCIpPjApJiZyLmhvc3Quc3BsaXQoIkAiKSkmJihyLmF1dGg9VC5zaGlmdCgpLHIuaG9zdD1yLmhvc3RuYW1lPVQuc2hpZnQoKSkpO3JldHVybih3PXd8fHIuaG9zdCYmUy5sZW5ndGgpJiYhTyYmUy51bnNoaWZ0KCIiKSxTLmxlbmd0aD9yLnBhdGhuYW1lPVMuam9pbigiLyIpOihyLnBhdGhuYW1lPW51bGwsci5wYXRoPW51bGwpLGkuaXNOdWxsKHIucGF0aG5hbWUpJiZpLmlzTnVsbChyLnNlYXJjaCl8fChyLnBhdGg9KHIucGF0aG5hbWU/ci5wYXRobmFtZToiIikrKHIuc2VhcmNoP3Iuc2VhcmNoOiIiKSksci5hdXRoPXQuYXV0aHx8ci5hdXRoLHIuc2xhc2hlcz1yLnNsYXNoZXN8fHQuc2xhc2hlcyxyLmhyZWY9ci5mb3JtYXQoKSxyfSxvLnByb3RvdHlwZS5wYXJzZUhvc3Q9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmhvc3QsZT1hLmV4ZWModCk7ZSYmKCI6IiE9PShlPWVbMF0pJiYodGhpcy5wb3J0PWUuc3Vic3RyKDEpKSx0PXQuc3Vic3RyKDAsdC5sZW5ndGgtZS5sZW5ndGgpKSx0JiYodGhpcy5ob3N0bmFtZT10KX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3RoaXMubGlzdGVuZXJzPXt9fXJldHVybiB0LnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKHQsZSl7dD10LnRvTG93ZXJDYXNlKCksdGhpcy5saXN0ZW5lcnNbdF09dGhpcy5saXN0ZW5lcnNbdF18fFtdLHRoaXMubGlzdGVuZXJzW3RdLnB1c2goZS5oYW5kbGVFdmVudHx8ZSl9LHQucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCxlKXtpZih0PXQudG9Mb3dlckNhc2UoKSx0aGlzLmxpc3RlbmVyc1t0XSl7dmFyIHI9dGhpcy5saXN0ZW5lcnNbdF0uaW5kZXhPZihlLmhhbmRsZUV2ZW50fHxlKTtyPDB8fHRoaXMubGlzdGVuZXJzW3RdLnNwbGljZShyLDEpfX0sdC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbih0KXt2YXIgZT10LnR5cGUudG9Mb3dlckNhc2UoKTtpZih0LnRhcmdldD10aGlzLHRoaXMubGlzdGVuZXJzW2VdKWZvcih2YXIgcj0wLG49dGhpcy5saXN0ZW5lcnNbZV07cjxuLmxlbmd0aDtyKyspe25bcl0uY2FsbCh0aGlzLHQpfXZhciBpPXRoaXNbIm9uIitlXTtyZXR1cm4gaSYmaS5jYWxsKHRoaXMsdCksITB9LHR9KCk7ZS5YTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0PW59LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigyNykuY29kZXMuRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0U7ZnVuY3Rpb24gaSgpe310LmV4cG9ydHM9ZnVuY3Rpb24gdChlLHIsbyl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpcmV0dXJuIHQoZSxudWxsLHIpO3J8fChyPXt9KSxvPWZ1bmN0aW9uKHQpe3ZhciBlPSExO3JldHVybiBmdW5jdGlvbigpe2lmKCFlKXtlPSEwO2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHIpLGk9MDtpPHI7aSsrKW5baV09YXJndW1lbnRzW2ldO3QuYXBwbHkodGhpcyxuKX19fShvfHxpKTt2YXIgcz1yLnJlYWRhYmxlfHwhMSE9PXIucmVhZGFibGUmJmUucmVhZGFibGUsYT1yLndyaXRhYmxlfHwhMSE9PXIud3JpdGFibGUmJmUud3JpdGFibGUsdT1mdW5jdGlvbigpe2Uud3JpdGFibGV8fGYoKX0sYz1lLl93cml0YWJsZVN0YXRlJiZlLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkLGY9ZnVuY3Rpb24oKXthPSExLGM9ITAsc3x8by5jYWxsKGUpfSxoPWUuX3JlYWRhYmxlU3RhdGUmJmUuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCxsPWZ1bmN0aW9uKCl7cz0hMSxoPSEwLGF8fG8uY2FsbChlKX0sZD1mdW5jdGlvbih0KXtvLmNhbGwoZSx0KX0scD1mdW5jdGlvbigpe3ZhciB0O3JldHVybiBzJiYhaD8oZS5fcmVhZGFibGVTdGF0ZSYmZS5fcmVhZGFibGVTdGF0ZS5lbmRlZHx8KHQ9bmV3IG4pLG8uY2FsbChlLHQpKTphJiYhYz8oZS5fd3JpdGFibGVTdGF0ZSYmZS5fd3JpdGFibGVTdGF0ZS5lbmRlZHx8KHQ9bmV3IG4pLG8uY2FsbChlLHQpKTp2b2lkIDB9LG09ZnVuY3Rpb24oKXtlLnJlcS5vbigiZmluaXNoIixmKX07cmV0dXJuIWZ1bmN0aW9uKHQpe3JldHVybiB0LnNldEhlYWRlciYmImZ1bmN0aW9uIj09dHlwZW9mIHQuYWJvcnR9KGUpP2EmJiFlLl93cml0YWJsZVN0YXRlJiYoZS5vbigiZW5kIix1KSxlLm9uKCJjbG9zZSIsdSkpOihlLm9uKCJjb21wbGV0ZSIsZiksZS5vbigiYWJvcnQiLHApLGUucmVxP20oKTplLm9uKCJyZXF1ZXN0IixtKSksZS5vbigiZW5kIixsKSxlLm9uKCJmaW5pc2giLGYpLCExIT09ci5lcnJvciYmZS5vbigiZXJyb3IiLGQpLGUub24oImNsb3NlIixwKSxmdW5jdGlvbigpe2UucmVtb3ZlTGlzdGVuZXIoImNvbXBsZXRlIixmKSxlLnJlbW92ZUxpc3RlbmVyKCJhYm9ydCIscCksZS5yZW1vdmVMaXN0ZW5lcigicmVxdWVzdCIsbSksZS5yZXEmJmUucmVxLnJlbW92ZUxpc3RlbmVyKCJmaW5pc2giLGYpLGUucmVtb3ZlTGlzdGVuZXIoImVuZCIsdSksZS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLHUpLGUucmVtb3ZlTGlzdGVuZXIoImZpbmlzaCIsZiksZS5yZW1vdmVMaXN0ZW5lcigiZW5kIixsKSxlLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsZCksZS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLHApfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49ZTtuLnZlcnNpb249cigyNDQpLnZlcnNpb24sbi51dGlscz1yKDExKSxuLnJhbmQ9cigxMjEpLG4uY3VydmU9cigxMjIpLG4uY3VydmVzPXIoNTkpLG4uZWM9cigyNTcpLG4uZWRkc2E9cigyNjEpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuLGk9ZSxvPXIoNjApLHM9cigxMjIpLGE9cigxMSkuYXNzZXJ0O2Z1bmN0aW9uIHUodCl7InNob3J0Ij09PXQudHlwZT90aGlzLmN1cnZlPW5ldyBzLnNob3J0KHQpOiJlZHdhcmRzIj09PXQudHlwZT90aGlzLmN1cnZlPW5ldyBzLmVkd2FyZHModCk6dGhpcy5jdXJ2ZT1uZXcgcy5tb250KHQpLHRoaXMuZz10aGlzLmN1cnZlLmcsdGhpcy5uPXRoaXMuY3VydmUubix0aGlzLmhhc2g9dC5oYXNoLGEodGhpcy5nLnZhbGlkYXRlKCksIkludmFsaWQgY3VydmUiKSxhKHRoaXMuZy5tdWwodGhpcy5uKS5pc0luZmluaXR5KCksIkludmFsaWQgY3VydmUsIEcqTiAhPSBPIil9ZnVuY3Rpb24gYyh0LGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShpLHQse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3ZhciByPW5ldyB1KGUpO3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoaSx0LHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpyfSkscn19KX1pLlByZXNldEN1cnZlPXUsYygicDE5MiIse3R5cGU6InNob3J0IixwcmltZToicDE5MiIscDoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYiLGE6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZjIixiOiI2NDIxMDUxOSBlNTljODBlNyAwZmE3ZTlhYiA3MjI0MzA0OSBmZWI4ZGVlYyBjMTQ2YjliMSIsbjoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgOTlkZWY4MzYgMTQ2YmM5YjEgYjRkMjI4MzEiLGhhc2g6by5zaGEyNTYsZ1JlZDohMSxnOlsiMTg4ZGE4MGUgYjAzMDkwZjYgN2NiZjIwZWIgNDNhMTg4MDAgZjRmZjBhZmQgODJmZjEwMTIiLCIwNzE5MmI5NSBmZmM4ZGE3OCA2MzEwMTFlZCA2YjI0Y2RkNSA3M2Y5NzdhMSAxZTc5NDgxMSJdfSksYygicDIyNCIse3R5cGU6InNob3J0IixwcmltZToicDIyNCIscDoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEiLGE6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIixiOiJiNDA1MGE4NSAwYzA0YjNhYiBmNTQxMzI1NiA1MDQ0YjBiNyBkN2JmZDhiYSAyNzBiMzk0MyAyMzU1ZmZiNCIsbjoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZjE2YTIgZTBiOGYwM2UgMTNkZDI5NDUgNWM1YzJhM2QiLGhhc2g6by5zaGEyNTYsZ1JlZDohMSxnOlsiYjcwZTBjYmQgNmJiNGJmN2YgMzIxMzkwYjkgNGEwM2MxZDMgNTZjMjExMjIgMzQzMjgwZDYgMTE1YzFkMjEiLCJiZDM3NjM4OCBiNWY3MjNmYiA0YzIyZGZlNiBjZDQzNzVhMCA1YTA3NDc2NCA0NGQ1ODE5OSA4NTAwN2UzNCJdfSksYygicDI1NiIse3R5cGU6InNob3J0IixwcmltZTpudWxsLHA6ImZmZmZmZmZmIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIixhOiJmZmZmZmZmZiAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmYyIsYjoiNWFjNjM1ZDggYWEzYTkzZTcgYjNlYmJkNTUgNzY5ODg2YmMgNjUxZDA2YjAgY2M1M2IwZjYgM2JjZTNjM2UgMjdkMjYwNGIiLG46ImZmZmZmZmZmIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGJjZTZmYWFkIGE3MTc5ZTg0IGYzYjljYWMyIGZjNjMyNTUxIixoYXNoOm8uc2hhMjU2LGdSZWQ6ITEsZzpbIjZiMTdkMWYyIGUxMmM0MjQ3IGY4YmNlNmU1IDYzYTQ0MGYyIDc3MDM3ZDgxIDJkZWIzM2EwIGY0YTEzOTQ1IGQ4OThjMjk2IiwiNGZlMzQyZTIgZmUxYTdmOWIgOGVlN2ViNGEgN2MwZjllMTYgMmJjZTMzNTcgNmIzMTVlY2UgY2JiNjQwNjggMzdiZjUxZjUiXX0pLGMoInAzODQiLHt0eXBlOiJzaG9ydCIscHJpbWU6bnVsbCxwOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmZiIsYToiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmMiLGI6ImIzMzEyZmE3IGUyM2VlN2U0IDk4OGUwNTZiIGUzZjgyZDE5IDE4MWQ5YzZlIGZlODE0MTEyIDAzMTQwODhmIDUwMTM4NzVhIGM2NTYzOThkIDhhMmVkMTlkIDJhODVjOGVkIGQzZWMyYWVmIixuOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBjNzYzNGQ4MSBmNDM3MmRkZiA1ODFhMGRiMiA0OGIwYTc3YSBlY2VjMTk2YSBjY2M1Mjk3MyIsaGFzaDpvLnNoYTM4NCxnUmVkOiExLGc6WyJhYTg3Y2EyMiBiZThiMDUzNyA4ZWIxYzcxZSBmMzIwYWQ3NCA2ZTFkM2I2MiA4YmE3OWI5OCA1OWY3NDFlMCA4MjU0MmEzOCA1NTAyZjI1ZCBiZjU1Mjk2YyAzYTU0NWUzOCA3Mjc2MGFiNyIsIjM2MTdkZTRhIDk2MjYyYzZmIDVkOWU5OGJmIDkyOTJkYzI5IGY4ZjQxZGJkIDI4OWExNDdjIGU5ZGEzMTEzIGI1ZjBiOGMwIDBhNjBiMWNlIDFkN2U4MTlkIDdhNDMxZDdjIDkwZWEwZTVmIl19KSxjKCJwNTIxIix7dHlwZToic2hvcnQiLHByaW1lOm51bGwscDoiMDAwMDAxZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYiLGE6IjAwMDAwMWZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZjIixiOiIwMDAwMDA1MSA5NTNlYjk2MSA4ZTFjOWExZiA5MjlhMjFhMCBiNjg1NDBlZSBhMmRhNzI1YiA5OWIzMTVmMyBiOGI0ODk5MSA4ZWYxMDllMSA1NjE5Mzk1MSBlYzdlOTM3YiAxNjUyYzBiZCAzYmIxYmYwNyAzNTczZGY4OCAzZDJjMzRmMSBlZjQ1MWZkNCA2YjUwM2YwMCIsbjoiMDAwMDAxZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmEgNTE4Njg3ODMgYmYyZjk2NmIgN2ZjYzAxNDggZjcwOWE1ZDAgM2JiNWM5YjggODk5YzQ3YWUgYmI2ZmI3MWUgOTEzODY0MDkiLGhhc2g6by5zaGE1MTIsZ1JlZDohMSxnOlsiMDAwMDAwYzYgODU4ZTA2YjcgMDQwNGU5Y2QgOWUzZWNiNjYgMjM5NWI0NDIgOWM2NDgxMzkgMDUzZmI1MjEgZjgyOGFmNjAgNmI0ZDNkYmEgYTE0YjVlNzcgZWZlNzU5MjggZmUxZGMxMjcgYTJmZmE4ZGUgMzM0OGIzYzEgODU2YTQyOWIgZjk3ZTdlMzEgYzJlNWJkNjYiLCIwMDAwMDExOCAzOTI5NmE3OCA5YTNiYzAwNCA1YzhhNWZiNCAyYzdkMWJkOSA5OGY1NDQ0OSA1NzliNDQ2OCAxN2FmYmQxNyAyNzNlNjYyYyA5N2VlNzI5OSA1ZWY0MjY0MCBjNTUwYjkwMSAzZmFkMDc2MSAzNTNjNzA4NiBhMjcyYzI0MCA4OGJlOTQ3NiA5ZmQxNjY1MCJdfSksYygiY3VydmUyNTUxOSIse3R5cGU6Im1vbnQiLHByaW1lOiJwMjU1MTkiLHA6IjdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQiLGE6Ijc2ZDA2IixiOiIxIixuOiIxMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMTRkZWY5ZGVhMmY3OWNkNiA1ODEyNjMxYTVjZjVkM2VkIixoYXNoOm8uc2hhMjU2LGdSZWQ6ITEsZzpbIjkiXX0pLGMoImVkMjU1MTkiLHt0eXBlOiJlZHdhcmRzIixwcmltZToicDI1NTE5IixwOiI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkIixhOiItMSIsYzoiMSIsZDoiNTIwMzZjZWUyYjZmZmU3MyA4Y2M3NDA3OTc3NzllODk4IDAwNzAwYTRkNDE0MWQ4YWIgNzVlYjRkY2ExMzU5NzhhMyIsbjoiMTAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDE0ZGVmOWRlYTJmNzljZDYgNTgxMjYzMWE1Y2Y1ZDNlZCIsaGFzaDpvLnNoYTI1NixnUmVkOiExLGc6WyIyMTY5MzZkM2NkNmU1M2ZlYzBhNGUyMzFmZGQ2ZGM1YzY5MmNjNzYwOTUyNWE3YjJjOTU2MmQ2MDhmMjVkNTFhIiwiNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY1OCJdfSk7dHJ5e249cigyNTYpfWNhdGNoKHQpe249dm9pZCAwfWMoInNlY3AyNTZrMSIse3R5cGU6InNob3J0IixwcmltZToiazI1NiIscDoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYiLGE6IjAiLGI6IjciLG46ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGJhYWVkY2U2IGFmNDhhMDNiIGJmZDI1ZThjIGQwMzY0MTQxIixoOiIxIixoYXNoOm8uc2hhMjU2LGJldGE6IjdhZTk2YTJiNjU3YzA3MTA2ZTY0NDc5ZWFjMzQzNGU5OWNmMDQ5NzUxMmY1ODk5NWMxMzk2YzI4NzE5NTAxZWUiLGxhbWJkYToiNTM2M2FkNGNjMDVjMzBlMGE1MjYxYzAyODgxMjY0NWExMjJlMjJlYTIwODE2Njc4ZGYwMjk2N2MxYjIzYmQ3MiIsYmFzaXM6W3thOiIzMDg2ZDIyMWE3ZDQ2YmNkZTg2YzkwZTQ5Mjg0ZWIxNSIsYjoiLWU0NDM3ZWQ2MDEwZTg4Mjg2ZjU0N2ZhOTBhYmZlNGMzIn0se2E6IjExNGNhNTBmN2E4ZTJmM2Y2NTdjMTEwOGQ5ZDQ0Y2ZkOCIsYjoiMzA4NmQyMjFhN2Q0NmJjZGU4NmM5MGU0OTI4NGViMTUifV0sZ1JlZDohMSxnOlsiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsIjQ4M2FkYTc3MjZhM2M0NjU1ZGE0ZmJmYzBlMTEwOGE4ZmQxN2I0NDhhNjg1NTQxOTljNDdkMDhmZmIxMGQ0YjgiLG5dfSl9LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1lO24udXRpbHM9cigxNSksbi5jb21tb249cigzNyksbi5zaGE9cigyNTApLG4ucmlwZW1kPXIoMjU0KSxuLmhtYWM9cigyNTUpLG4uc2hhMT1uLnNoYS5zaGExLG4uc2hhMjU2PW4uc2hhLnNoYTI1NixuLnNoYTIyND1uLnNoYS5zaGEyMjQsbi5zaGEzODQ9bi5zaGEuc2hhMzg0LG4uc2hhNTEyPW4uc2hhLnNoYTUxMixuLnJpcGVtZDE2MD1uLnJpcGVtZC5yaXBlbWQxNjB9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKGUpe3ZhciBuPXIoMjY4KTsKLyohCiAqIFRoZSBidWZmZXIgbW9kdWxlIGZyb20gbm9kZS5qcywgZm9yIHRoZSBicm93c2VyLgogKgogKiBAYXV0aG9yICAgRmVyb3NzIEFib3VraGFkaWplaCA8ZmVyb3NzQGZlcm9zcy5vcmc+IDxodHRwOi8vZmVyb3NzLm9yZz4KICogQGxpY2Vuc2UgIE1JVAogKi9mdW5jdGlvbiBpKHQsZSl7aWYodD09PWUpcmV0dXJuIDA7Zm9yKHZhciByPXQubGVuZ3RoLG49ZS5sZW5ndGgsaT0wLG89TWF0aC5taW4ocixuKTtpPG87KytpKWlmKHRbaV0hPT1lW2ldKXtyPXRbaV0sbj1lW2ldO2JyZWFrfXJldHVybiByPG4/LTE6bjxyPzE6MH1mdW5jdGlvbiBvKHQpe3JldHVybiBlLkJ1ZmZlciYmImZ1bmN0aW9uIj09dHlwZW9mIGUuQnVmZmVyLmlzQnVmZmVyP2UuQnVmZmVyLmlzQnVmZmVyKHQpOiEobnVsbD09dHx8IXQuX2lzQnVmZmVyKX12YXIgcz1yKDIxKSxhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksdT1BcnJheS5wcm90b3R5cGUuc2xpY2UsYz0iZm9vIj09PWZ1bmN0aW9uKCl7fS5uYW1lO2Z1bmN0aW9uIGYodCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBoKHQpe3JldHVybiFvKHQpJiYoImZ1bmN0aW9uIj09dHlwZW9mIGUuQXJyYXlCdWZmZXImJigiZnVuY3Rpb24iPT10eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3P0FycmF5QnVmZmVyLmlzVmlldyh0KTohIXQmJih0IGluc3RhbmNlb2YgRGF0YVZpZXd8fCEhKHQuYnVmZmVyJiZ0LmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSkpKX12YXIgbD10LmV4cG9ydHM9eSxkPS9ccypmdW5jdGlvblxzKyhbXlwoXHNdKilccyovO2Z1bmN0aW9uIHAodCl7aWYocy5pc0Z1bmN0aW9uKHQpKXtpZihjKXJldHVybiB0Lm5hbWU7dmFyIGU9dC50b1N0cmluZygpLm1hdGNoKGQpO3JldHVybiBlJiZlWzFdfX1mdW5jdGlvbiBtKHQsZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3QubGVuZ3RoPGU/dDp0LnNsaWNlKDAsZSk6dH1mdW5jdGlvbiBnKHQpe2lmKGN8fCFzLmlzRnVuY3Rpb24odCkpcmV0dXJuIHMuaW5zcGVjdCh0KTt2YXIgZT1wKHQpO3JldHVybiJbRnVuY3Rpb24iKyhlPyI6ICIrZToiIikrIl0ifWZ1bmN0aW9uIGIodCxlLHIsbixpKXt0aHJvdyBuZXcgbC5Bc3NlcnRpb25FcnJvcih7bWVzc2FnZTpyLGFjdHVhbDp0LGV4cGVjdGVkOmUsb3BlcmF0b3I6bixzdGFja1N0YXJ0RnVuY3Rpb246aX0pfWZ1bmN0aW9uIHkodCxlKXt0fHxiKHQsITAsZSwiPT0iLGwub2spfWZ1bmN0aW9uIHYodCxlLHIsbil7aWYodD09PWUpcmV0dXJuITA7aWYobyh0KSYmbyhlKSlyZXR1cm4gMD09PWkodCxlKTtpZihzLmlzRGF0ZSh0KSYmcy5pc0RhdGUoZSkpcmV0dXJuIHQuZ2V0VGltZSgpPT09ZS5nZXRUaW1lKCk7aWYocy5pc1JlZ0V4cCh0KSYmcy5pc1JlZ0V4cChlKSlyZXR1cm4gdC5zb3VyY2U9PT1lLnNvdXJjZSYmdC5nbG9iYWw9PT1lLmdsb2JhbCYmdC5tdWx0aWxpbmU9PT1lLm11bHRpbGluZSYmdC5sYXN0SW5kZXg9PT1lLmxhc3RJbmRleCYmdC5pZ25vcmVDYXNlPT09ZS5pZ25vcmVDYXNlO2lmKG51bGwhPT10JiYib2JqZWN0Ij09dHlwZW9mIHR8fG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGUpe2lmKGgodCkmJmgoZSkmJmYodCk9PT1mKGUpJiYhKHQgaW5zdGFuY2VvZiBGbG9hdDMyQXJyYXl8fHQgaW5zdGFuY2VvZiBGbG9hdDY0QXJyYXkpKXJldHVybiAwPT09aShuZXcgVWludDhBcnJheSh0LmJ1ZmZlciksbmV3IFVpbnQ4QXJyYXkoZS5idWZmZXIpKTtpZihvKHQpIT09byhlKSlyZXR1cm4hMTt2YXIgYT0obj1ufHx7YWN0dWFsOltdLGV4cGVjdGVkOltdfSkuYWN0dWFsLmluZGV4T2YodCk7cmV0dXJuLTEhPT1hJiZhPT09bi5leHBlY3RlZC5pbmRleE9mKGUpfHwobi5hY3R1YWwucHVzaCh0KSxuLmV4cGVjdGVkLnB1c2goZSksZnVuY3Rpb24odCxlLHIsbil7aWYobnVsbD09dHx8bnVsbD09ZSlyZXR1cm4hMTtpZihzLmlzUHJpbWl0aXZlKHQpfHxzLmlzUHJpbWl0aXZlKGUpKXJldHVybiB0PT09ZTtpZihyJiZPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkhPT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSkpcmV0dXJuITE7dmFyIGk9Xyh0KSxvPV8oZSk7aWYoaSYmIW98fCFpJiZvKXJldHVybiExO2lmKGkpcmV0dXJuIHQ9dS5jYWxsKHQpLGU9dS5jYWxsKGUpLHYodCxlLHIpO3ZhciBhLGMsZj1TKHQpLGg9UyhlKTtpZihmLmxlbmd0aCE9PWgubGVuZ3RoKXJldHVybiExO2ZvcihmLnNvcnQoKSxoLnNvcnQoKSxjPWYubGVuZ3RoLTE7Yz49MDtjLS0paWYoZltjXSE9PWhbY10pcmV0dXJuITE7Zm9yKGM9Zi5sZW5ndGgtMTtjPj0wO2MtLSlpZihhPWZbY10sIXYodFthXSxlW2FdLHIsbikpcmV0dXJuITE7cmV0dXJuITB9KHQsZSxyLG4pKX1yZXR1cm4gcj90PT09ZTp0PT1lfWZ1bmN0aW9uIF8odCl7cmV0dXJuIltvYmplY3QgQXJndW1lbnRzXSI9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiB3KHQsZSl7aWYoIXR8fCFlKXJldHVybiExO2lmKCJbb2JqZWN0IFJlZ0V4cF0iPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpcmV0dXJuIGUudGVzdCh0KTt0cnl7aWYodCBpbnN0YW5jZW9mIGUpcmV0dXJuITB9Y2F0Y2godCl7fXJldHVybiFFcnJvci5pc1Byb3RvdHlwZU9mKGUpJiYhMD09PWUuY2FsbCh7fSx0KX1mdW5jdGlvbiBNKHQsZSxyLG4pe3ZhciBpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJyJibG9jayIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7InN0cmluZyI9PXR5cGVvZiByJiYobj1yLHI9bnVsbCksaT1mdW5jdGlvbih0KXt2YXIgZTt0cnl7dCgpfWNhdGNoKHQpe2U9dH1yZXR1cm4gZX0oZSksbj0ociYmci5uYW1lPyIgKCIrci5uYW1lKyIpLiI6Ii4iKSsobj8iICIrbjoiLiIpLHQmJiFpJiZiKGksciwiTWlzc2luZyBleHBlY3RlZCBleGNlcHRpb24iK24pO3ZhciBvPSJzdHJpbmciPT10eXBlb2YgbixhPSF0JiZpJiYhcjtpZigoIXQmJnMuaXNFcnJvcihpKSYmbyYmdyhpLHIpfHxhKSYmYihpLHIsIkdvdCB1bndhbnRlZCBleGNlcHRpb24iK24pLHQmJmkmJnImJiF3KGkscil8fCF0JiZpKXRocm93IGl9bC5Bc3NlcnRpb25FcnJvcj1mdW5jdGlvbih0KXt0aGlzLm5hbWU9IkFzc2VydGlvbkVycm9yIix0aGlzLmFjdHVhbD10LmFjdHVhbCx0aGlzLmV4cGVjdGVkPXQuZXhwZWN0ZWQsdGhpcy5vcGVyYXRvcj10Lm9wZXJhdG9yLHQubWVzc2FnZT8odGhpcy5tZXNzYWdlPXQubWVzc2FnZSx0aGlzLmdlbmVyYXRlZE1lc3NhZ2U9ITEpOih0aGlzLm1lc3NhZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIG0oZyh0LmFjdHVhbCksMTI4KSsiICIrdC5vcGVyYXRvcisiICIrbShnKHQuZXhwZWN0ZWQpLDEyOCl9KHRoaXMpLHRoaXMuZ2VuZXJhdGVkTWVzc2FnZT0hMCk7dmFyIGU9dC5zdGFja1N0YXJ0RnVuY3Rpb258fGI7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxlKTtlbHNle3ZhciByPW5ldyBFcnJvcjtpZihyLnN0YWNrKXt2YXIgbj1yLnN0YWNrLGk9cChlKSxvPW4uaW5kZXhPZigiXG4iK2kpO2lmKG8+PTApe3ZhciBzPW4uaW5kZXhPZigiXG4iLG8rMSk7bj1uLnN1YnN0cmluZyhzKzEpfXRoaXMuc3RhY2s9bn19fSxzLmluaGVyaXRzKGwuQXNzZXJ0aW9uRXJyb3IsRXJyb3IpLGwuZmFpbD1iLGwub2s9eSxsLmVxdWFsPWZ1bmN0aW9uKHQsZSxyKXt0IT1lJiZiKHQsZSxyLCI9PSIsbC5lcXVhbCl9LGwubm90RXF1YWw9ZnVuY3Rpb24odCxlLHIpe3Q9PWUmJmIodCxlLHIsIiE9IixsLm5vdEVxdWFsKX0sbC5kZWVwRXF1YWw9ZnVuY3Rpb24odCxlLHIpe3YodCxlLCExKXx8Yih0LGUsciwiZGVlcEVxdWFsIixsLmRlZXBFcXVhbCl9LGwuZGVlcFN0cmljdEVxdWFsPWZ1bmN0aW9uKHQsZSxyKXt2KHQsZSwhMCl8fGIodCxlLHIsImRlZXBTdHJpY3RFcXVhbCIsbC5kZWVwU3RyaWN0RXF1YWwpfSxsLm5vdERlZXBFcXVhbD1mdW5jdGlvbih0LGUscil7dih0LGUsITEpJiZiKHQsZSxyLCJub3REZWVwRXF1YWwiLGwubm90RGVlcEVxdWFsKX0sbC5ub3REZWVwU3RyaWN0RXF1YWw9ZnVuY3Rpb24gdChlLHIsbil7dihlLHIsITApJiZiKGUscixuLCJub3REZWVwU3RyaWN0RXF1YWwiLHQpfSxsLnN0cmljdEVxdWFsPWZ1bmN0aW9uKHQsZSxyKXt0IT09ZSYmYih0LGUsciwiPT09IixsLnN0cmljdEVxdWFsKX0sbC5ub3RTdHJpY3RFcXVhbD1mdW5jdGlvbih0LGUscil7dD09PWUmJmIodCxlLHIsIiE9PSIsbC5ub3RTdHJpY3RFcXVhbCl9LGwudGhyb3dzPWZ1bmN0aW9uKHQsZSxyKXtNKCEwLHQsZSxyKX0sbC5kb2VzTm90VGhyb3c9ZnVuY3Rpb24odCxlLHIpe00oITEsdCxlLHIpfSxsLmlmRXJyb3I9ZnVuY3Rpb24odCl7aWYodCl0aHJvdyB0fSxsLnN0cmljdD1uKChmdW5jdGlvbiB0KGUscil7ZXx8YihlLCEwLHIsIj09Iix0KX0pLGwse2VxdWFsOmwuc3RyaWN0RXF1YWwsZGVlcEVxdWFsOmwuZGVlcFN0cmljdEVxdWFsLG5vdEVxdWFsOmwubm90U3RyaWN0RXF1YWwsbm90RGVlcEVxdWFsOmwubm90RGVlcFN0cmljdEVxdWFsfSksbC5zdHJpY3Quc3RyaWN0PWwuc3RyaWN0O3ZhciBTPU9iamVjdC5rZXlzfHxmdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIHIgaW4gdClhLmNhbGwodCxyKSYmZS5wdXNoKHIpO3JldHVybiBlfX0pLmNhbGwodGhpcyxyKDYpKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDI5KS5jb2Rlcy5FUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRTtmdW5jdGlvbiBpKCl7fXQuZXhwb3J0cz1mdW5jdGlvbiB0KGUscixvKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgcilyZXR1cm4gdChlLG51bGwscik7cnx8KHI9e30pLG89ZnVuY3Rpb24odCl7dmFyIGU9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIWUpe2U9ITA7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGgsbj1uZXcgQXJyYXkociksaT0wO2k8cjtpKyspbltpXT1hcmd1bWVudHNbaV07dC5hcHBseSh0aGlzLG4pfX19KG98fGkpO3ZhciBzPXIucmVhZGFibGV8fCExIT09ci5yZWFkYWJsZSYmZS5yZWFkYWJsZSxhPXIud3JpdGFibGV8fCExIT09ci53cml0YWJsZSYmZS53cml0YWJsZSx1PWZ1bmN0aW9uKCl7ZS53cml0YWJsZXx8ZigpfSxjPWUuX3dyaXRhYmxlU3RhdGUmJmUuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQsZj1mdW5jdGlvbigpe2E9ITEsYz0hMCxzfHxvLmNhbGwoZSl9LGg9ZS5fcmVhZGFibGVTdGF0ZSYmZS5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkLGw9ZnVuY3Rpb24oKXtzPSExLGg9ITAsYXx8by5jYWxsKGUpfSxkPWZ1bmN0aW9uKHQpe28uY2FsbChlLHQpfSxwPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIHMmJiFoPyhlLl9yZWFkYWJsZVN0YXRlJiZlLl9yZWFkYWJsZVN0YXRlLmVuZGVkfHwodD1uZXcgbiksby5jYWxsKGUsdCkpOmEmJiFjPyhlLl93cml0YWJsZVN0YXRlJiZlLl93cml0YWJsZVN0YXRlLmVuZGVkfHwodD1uZXcgbiksby5jYWxsKGUsdCkpOnZvaWQgMH0sbT1mdW5jdGlvbigpe2UucmVxLm9uKCJmaW5pc2giLGYpfTtyZXR1cm4hZnVuY3Rpb24odCl7cmV0dXJuIHQuc2V0SGVhZGVyJiYiZnVuY3Rpb24iPT10eXBlb2YgdC5hYm9ydH0oZSk/YSYmIWUuX3dyaXRhYmxlU3RhdGUmJihlLm9uKCJlbmQiLHUpLGUub24oImNsb3NlIix1KSk6KGUub24oImNvbXBsZXRlIixmKSxlLm9uKCJhYm9ydCIscCksZS5yZXE/bSgpOmUub24oInJlcXVlc3QiLG0pKSxlLm9uKCJlbmQiLGwpLGUub24oImZpbmlzaCIsZiksITEhPT1yLmVycm9yJiZlLm9uKCJlcnJvciIsZCksZS5vbigiY2xvc2UiLHApLGZ1bmN0aW9uKCl7ZS5yZW1vdmVMaXN0ZW5lcigiY29tcGxldGUiLGYpLGUucmVtb3ZlTGlzdGVuZXIoImFib3J0IixwKSxlLnJlbW92ZUxpc3RlbmVyKCJyZXF1ZXN0IixtKSxlLnJlcSYmZS5yZXEucmVtb3ZlTGlzdGVuZXIoImZpbmlzaCIsZiksZS5yZW1vdmVMaXN0ZW5lcigiZW5kIix1KSxlLnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIsdSksZS5yZW1vdmVMaXN0ZW5lcigiZmluaXNoIixmKSxlLnJlbW92ZUxpc3RlbmVyKCJlbmQiLGwpLGUucmVtb3ZlTGlzdGVuZXIoImVycm9yIixkKSxlLnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIscCl9fX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTQwKSxpPXIoMzAxKSxvPXIoMzAyKSxzPW4/bi50b1N0cmluZ1RhZzp2b2lkIDA7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3ZvaWQgMD09PXQ/IltvYmplY3QgVW5kZWZpbmVkXSI6IltvYmplY3QgTnVsbF0iOnMmJnMgaW4gT2JqZWN0KHQpP2kodCk6byh0KX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtpZihudWxsIT09dCl7dmFyIGU9dDt0PW51bGwsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX0sdC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoIkNhbGxiYWNrIHdhcyBhbHJlYWR5IGNhbGxlZC4iKTt2YXIgZT10O3Q9bnVsbCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19LHQuZXhwb3J0cz1lLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoMzMzKSxpPXIoNDQpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gaSh7aWQ6bigpLGpzb25ycGM6IjIuMCIscGFyYW1zOltdfSx0KX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNDkpO3QuZXhwb3J0cz1jbGFzcyBleHRlbmRzIG57Y29uc3RydWN0b3IodCl7aWYoc3VwZXIoKSwhdCl0aHJvdyBuZXcgRXJyb3IoIkpzb25ScGNFbmdpbmVNaWRkbGV3YXJlU3VicHJvdmlkZXIgLSBubyBjb25zdHJ1Y3RvckZuIHNwZWNpZmllZCIpO3RoaXMuX2NvbnN0cnVjdG9yRm49dH1zZXRFbmdpbmUodCl7aWYodGhpcy5taWRkbGV3YXJlKXRocm93IG5ldyBFcnJvcigiSnNvblJwY0VuZ2luZU1pZGRsZXdhcmVTdWJwcm92aWRlciAtIHN1YnByb3ZpZGVyIGFkZGVkIHRvIGVuZ2luZSB0d2ljZSIpO2NvbnN0IGU9dC5fYmxvY2tUcmFja2VyLHI9dGhpcy5fY29uc3RydWN0b3JGbih7ZW5naW5lOnQscHJvdmlkZXI6dCxibG9ja1RyYWNrZXI6ZX0pO2lmKCFyKXRocm93IG5ldyBFcnJvcigiSnNvblJwY0VuZ2luZU1pZGRsZXdhcmVTdWJwcm92aWRlciAtIF9jb25zdHJ1Y3RvckZuIGRpZCBub3QgcmV0dXJuIG1pZGRsZXdhcmUiKTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil0aHJvdyBuZXcgRXJyb3IoIkpzb25ScGNFbmdpbmVNaWRkbGV3YXJlU3VicHJvdmlkZXIgLSBzcGVjaWZpZWQgbWlkZGxld2FyZSBpcyBub3QgYSBmdW5jdGlvbiIpO3RoaXMubWlkZGxld2FyZT1yfWhhbmRsZVJlcXVlc3QodCxlLHIpe2NvbnN0IG49e2lkOnQuaWR9O3RoaXMubWlkZGxld2FyZSh0LG4sKGZ1bmN0aW9uKHQpe2UoKGUscixpKT0+e2U/KGRlbGV0ZSBuLnJlc3VsdCxuLmVycm9yPXttZXNzYWdlOmUubWVzc2FnZXx8ZX0pOm4ucmVzdWx0PXIsdD90KGkpOmkoKX0pfSksKGZ1bmN0aW9uKHQpe2lmKHQpcmV0dXJuIHIodCk7cihudWxsLG4ucmVzdWx0KX0pKX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBuPXIoMTIpO2Z1bmN0aW9uIGkodCxlLHIpe3RyeXtSZWZsZWN0LmFwcGx5KHQsZSxyKX1jYXRjaCh0KXtzZXRUaW1lb3V0KCgpPT57dGhyb3cgdH0pfX1jbGFzcyBvIGV4dGVuZHMgbi5FdmVudEVtaXR0ZXJ7ZW1pdCh0LC4uLmUpe2xldCByPSJlcnJvciI9PT10O2NvbnN0IG49dGhpcy5fZXZlbnRzO2lmKHZvaWQgMCE9PW4pcj1yJiZ2b2lkIDA9PT1uLmVycm9yO2Vsc2UgaWYoIXIpcmV0dXJuITE7aWYocil7bGV0IHQ7aWYoZS5sZW5ndGg+MCYmKFt0XT1lKSx0IGluc3RhbmNlb2YgRXJyb3IpdGhyb3cgdDtjb25zdCByPW5ldyBFcnJvcigiVW5oYW5kbGVkIGVycm9yLiIrKHQ/YCAoJHt0Lm1lc3NhZ2V9KWA6IiIpKTt0aHJvdyByLmNvbnRleHQ9dCxyfWNvbnN0IG89blt0XTtpZih2b2lkIDA9PT1vKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBvKWkobyx0aGlzLGUpO2Vsc2V7Y29uc3QgdD1vLmxlbmd0aCxyPWZ1bmN0aW9uKHQpe2NvbnN0IGU9dC5sZW5ndGgscj1uZXcgQXJyYXkoZSk7Zm9yKGxldCBuPTA7bjxlO24rPTEpcltuXT10W25dO3JldHVybiByfShvKTtmb3IobGV0IG49MDtuPHQ7bis9MSlpKHJbbl0sdGhpcyxlKX1yZXR1cm4hMH19ZS5kZWZhdWx0PW99LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuRXRoZXJldW1Qcm92aWRlckVycm9yPWUuRXRoZXJldW1ScGNFcnJvcj12b2lkIDA7Y29uc3Qgbj1yKDM0NCk7Y2xhc3MgaSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQsZSxyKXtpZighTnVtYmVyLmlzSW50ZWdlcih0KSl0aHJvdyBuZXcgRXJyb3IoJyJjb2RlIiBtdXN0IGJlIGFuIGludGVnZXIuJyk7aWYoIWV8fCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoJyJtZXNzYWdlIiBtdXN0IGJlIGEgbm9uZW1wdHkgc3RyaW5nLicpO3N1cGVyKGUpLHRoaXMuY29kZT10LHZvaWQgMCE9PXImJih0aGlzLmRhdGE9cil9c2VyaWFsaXplKCl7Y29uc3QgdD17Y29kZTp0aGlzLmNvZGUsbWVzc2FnZTp0aGlzLm1lc3NhZ2V9O3JldHVybiB2b2lkIDAhPT10aGlzLmRhdGEmJih0LmRhdGE9dGhpcy5kYXRhKSx0aGlzLnN0YWNrJiYodC5zdGFjaz10aGlzLnN0YWNrKSx0fXRvU3RyaW5nKCl7cmV0dXJuIG4uZGVmYXVsdCh0aGlzLnNlcmlhbGl6ZSgpLG8sMil9fWUuRXRoZXJldW1ScGNFcnJvcj1pO2Z1bmN0aW9uIG8odCxlKXtpZigiW0NpcmN1bGFyXSIhPT1lKXJldHVybiBlfWUuRXRoZXJldW1Qcm92aWRlckVycm9yPWNsYXNzIGV4dGVuZHMgaXtjb25zdHJ1Y3Rvcih0LGUscil7aWYoIWZ1bmN0aW9uKHQpe3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKHQpJiZ0Pj0xZTMmJnQ8PTQ5OTl9KHQpKXRocm93IG5ldyBFcnJvcignImNvZGUiIG11c3QgYmUgYW4gaW50ZWdlciBzdWNoIHRoYXQ6IDEwMDAgPD0gY29kZSA8PSA0OTk5Jyk7c3VwZXIodCxlLHIpfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZXJyb3JWYWx1ZXM9ZS5lcnJvckNvZGVzPXZvaWQgMCxlLmVycm9yQ29kZXM9e3JwYzp7aW52YWxpZElucHV0Oi0zMmUzLHJlc291cmNlTm90Rm91bmQ6LTMyMDAxLHJlc291cmNlVW5hdmFpbGFibGU6LTMyMDAyLHRyYW5zYWN0aW9uUmVqZWN0ZWQ6LTMyMDAzLG1ldGhvZE5vdFN1cHBvcnRlZDotMzIwMDQsbGltaXRFeGNlZWRlZDotMzIwMDUscGFyc2U6LTMyNzAwLGludmFsaWRSZXF1ZXN0Oi0zMjYwMCxtZXRob2ROb3RGb3VuZDotMzI2MDEsaW52YWxpZFBhcmFtczotMzI2MDIsaW50ZXJuYWw6LTMyNjAzfSxwcm92aWRlcjp7dXNlclJlamVjdGVkUmVxdWVzdDo0MDAxLHVuYXV0aG9yaXplZDo0MTAwLHVuc3VwcG9ydGVkTWV0aG9kOjQyMDAsZGlzY29ubmVjdGVkOjQ5MDAsY2hhaW5EaXNjb25uZWN0ZWQ6NDkwMX19LGUuZXJyb3JWYWx1ZXM9eyItMzI3MDAiOntzdGFuZGFyZDoiSlNPTiBSUEMgMi4wIixtZXNzYWdlOiJJbnZhbGlkIEpTT04gd2FzIHJlY2VpdmVkIGJ5IHRoZSBzZXJ2ZXIuIEFuIGVycm9yIG9jY3VycmVkIG9uIHRoZSBzZXJ2ZXIgd2hpbGUgcGFyc2luZyB0aGUgSlNPTiB0ZXh0LiJ9LCItMzI2MDAiOntzdGFuZGFyZDoiSlNPTiBSUEMgMi4wIixtZXNzYWdlOiJUaGUgSlNPTiBzZW50IGlzIG5vdCBhIHZhbGlkIFJlcXVlc3Qgb2JqZWN0LiJ9LCItMzI2MDEiOntzdGFuZGFyZDoiSlNPTiBSUEMgMi4wIixtZXNzYWdlOiJUaGUgbWV0aG9kIGRvZXMgbm90IGV4aXN0IC8gaXMgbm90IGF2YWlsYWJsZS4ifSwiLTMyNjAyIjp7c3RhbmRhcmQ6IkpTT04gUlBDIDIuMCIsbWVzc2FnZToiSW52YWxpZCBtZXRob2QgcGFyYW1ldGVyKHMpLiJ9LCItMzI2MDMiOntzdGFuZGFyZDoiSlNPTiBSUEMgMi4wIixtZXNzYWdlOiJJbnRlcm5hbCBKU09OLVJQQyBlcnJvci4ifSwiLTMyMDAwIjp7c3RhbmRhcmQ6IkVJUC0xNDc0IixtZXNzYWdlOiJJbnZhbGlkIGlucHV0LiJ9LCItMzIwMDEiOntzdGFuZGFyZDoiRUlQLTE0NzQiLG1lc3NhZ2U6IlJlc291cmNlIG5vdCBmb3VuZC4ifSwiLTMyMDAyIjp7c3RhbmRhcmQ6IkVJUC0xNDc0IixtZXNzYWdlOiJSZXNvdXJjZSB1bmF2YWlsYWJsZS4ifSwiLTMyMDAzIjp7c3RhbmRhcmQ6IkVJUC0xNDc0IixtZXNzYWdlOiJUcmFuc2FjdGlvbiByZWplY3RlZC4ifSwiLTMyMDA0Ijp7c3RhbmRhcmQ6IkVJUC0xNDc0IixtZXNzYWdlOiJNZXRob2Qgbm90IHN1cHBvcnRlZC4ifSwiLTMyMDA1Ijp7c3RhbmRhcmQ6IkVJUC0xNDc0IixtZXNzYWdlOiJSZXF1ZXN0IGxpbWl0IGV4Y2VlZGVkLiJ9LDQwMDE6e3N0YW5kYXJkOiJFSVAtMTE5MyIsbWVzc2FnZToiVXNlciByZWplY3RlZCB0aGUgcmVxdWVzdC4ifSw0MTAwOntzdGFuZGFyZDoiRUlQLTExOTMiLG1lc3NhZ2U6IlRoZSByZXF1ZXN0ZWQgYWNjb3VudCBhbmQvb3IgbWV0aG9kIGhhcyBub3QgYmVlbiBhdXRob3JpemVkIGJ5IHRoZSB1c2VyLiJ9LDQyMDA6e3N0YW5kYXJkOiJFSVAtMTE5MyIsbWVzc2FnZToiVGhlIHJlcXVlc3RlZCBtZXRob2QgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIEV0aGVyZXVtIHByb3ZpZGVyLiJ9LDQ5MDA6e3N0YW5kYXJkOiJFSVAtMTE5MyIsbWVzc2FnZToiVGhlIHByb3ZpZGVyIGlzIGRpc2Nvbm5lY3RlZCBmcm9tIGFsbCBjaGFpbnMuIn0sNDkwMTp7c3RhbmRhcmQ6IkVJUC0xMTkzIixtZXNzYWdlOiJUaGUgcHJvdmlkZXIgaXMgZGlzY29ubmVjdGVkIGZyb20gdGhlIHNwZWNpZmllZCBjaGFpbi4ifX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNjkpLmRlZmF1bHQ7dC5leHBvcnRzPWNsYXNzIGV4dGVuZHMgbntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy51cGRhdGVzPVtdfWFzeW5jIGluaXRpYWxpemUoKXt9YXN5bmMgdXBkYXRlKCl7dGhyb3cgbmV3IEVycm9yKCJCYXNlRmlsdGVyIC0gbm8gdXBkYXRlIG1ldGhvZCBzcGVjaWZpZWQiKX1hZGRSZXN1bHRzKHQpe3RoaXMudXBkYXRlcz10aGlzLnVwZGF0ZXMuY29uY2F0KHQpLHQuZm9yRWFjaCh0PT50aGlzLmVtaXQoInVwZGF0ZSIsdCkpfWFkZEluaXRpYWxSZXN1bHRzKHQpe31nZXRDaGFuZ2VzQW5kQ2xlYXIoKXtjb25zdCB0PXRoaXMudXBkYXRlcztyZXR1cm4gdGhpcy51cGRhdGVzPVtdLHR9fX0sZnVuY3Rpb24odCxlKXtmdW5jdGlvbiByKHQpe3JldHVybiBudWxsPT10P3Q6TnVtYmVyLnBhcnNlSW50KHQsMTYpfWZ1bmN0aW9uIG4odCl7aWYobnVsbD09dClyZXR1cm4gdDtyZXR1cm4iMHgiK3QudG9TdHJpbmcoMTYpfXQuZXhwb3J0cz1hc3luYyBmdW5jdGlvbih7cHJvdmlkZXI6dCxmcm9tQmxvY2s6ZSx0b0Jsb2NrOml9KXtlfHwoZT1pKTtjb25zdCBvPXIoZSkscz1yKGkpLGE9QXJyYXkocy1vKzEpLmZpbGwoKS5tYXAoKHQsZSk9Pm8rZSkubWFwKG4pO3JldHVybiBhd2FpdCBQcm9taXNlLmFsbChhLm1hcChlPT5mdW5jdGlvbih0LGUscil7cmV0dXJuIG5ldyBQcm9taXNlKChuLGkpPT57dC5zZW5kQXN5bmMoe2lkOjEsanNvbnJwYzoiMi4wIixtZXRob2Q6ZSxwYXJhbXM6cn0sKHQsZSk9PntpZih0KXJldHVybiBpKHQpO24oZS5yZXN1bHQpfSl9KX0odCwiZXRoX2dldEJsb2NrQnlOdW1iZXIiLFtlLCExXSkpKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmVjZGhVbnNhZmU9ZS5lY2RoPWUucmVjb3Zlcj1lLnZlcmlmeT1lLnNpZ249ZS5zaWduYXR1cmVJbXBvcnRMYXg9ZS5zaWduYXR1cmVJbXBvcnQ9ZS5zaWduYXR1cmVFeHBvcnQ9ZS5zaWduYXR1cmVOb3JtYWxpemU9ZS5wdWJsaWNLZXlDb21iaW5lPWUucHVibGljS2V5VHdlYWtNdWw9ZS5wdWJsaWNLZXlUd2Vha0FkZD1lLnB1YmxpY0tleVZlcmlmeT1lLnB1YmxpY0tleUNvbnZlcnQ9ZS5wdWJsaWNLZXlDcmVhdGU9ZS5wcml2YXRlS2V5VHdlYWtNdWw9ZS5wcml2YXRlS2V5VHdlYWtBZGQ9ZS5wcml2YXRlS2V5TW9kSW52ZXJzZT1lLnByaXZhdGVLZXlOZWdhdGU9ZS5wcml2YXRlS2V5SW1wb3J0PWUucHJpdmF0ZUtleUV4cG9ydD1lLnByaXZhdGVLZXlWZXJpZnk9dm9pZCAwO3ZhciBuPXIoMTE4KSxpPXIoMzYxKSxvPXIoMzYyKTtlLnByaXZhdGVLZXlWZXJpZnk9ZnVuY3Rpb24odCl7cmV0dXJuIDMyPT09dC5sZW5ndGgmJm4ucHJpdmF0ZUtleVZlcmlmeShVaW50OEFycmF5LmZyb20odCkpfSxlLnByaXZhdGVLZXlFeHBvcnQ9ZnVuY3Rpb24odCxlKXtpZigzMiE9PXQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJwcml2YXRlIGtleSBsZW5ndGggaXMgaW52YWxpZCIpO3ZhciByPWkucHJpdmF0ZUtleUV4cG9ydCh0LGUpO3JldHVybiBvLnByaXZhdGVLZXlFeHBvcnQodCxyLGUpfSxlLnByaXZhdGVLZXlJbXBvcnQ9ZnVuY3Rpb24odCl7aWYobnVsbCE9PSh0PW8ucHJpdmF0ZUtleUltcG9ydCh0KSkmJjMyPT09dC5sZW5ndGgmJmUucHJpdmF0ZUtleVZlcmlmeSh0KSlyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoImNvdWxkbid0IGltcG9ydCBmcm9tIERFUiBmb3JtYXQiKX0sZS5wcml2YXRlS2V5TmVnYXRlPWZ1bmN0aW9uKGUpe3JldHVybiB0LmZyb20obi5wcml2YXRlS2V5TmVnYXRlKFVpbnQ4QXJyYXkuZnJvbShlKSkpfSxlLnByaXZhdGVLZXlNb2RJbnZlcnNlPWZ1bmN0aW9uKGUpe2lmKDMyIT09ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJwcml2YXRlIGtleSBsZW5ndGggaXMgaW52YWxpZCIpO3JldHVybiB0LmZyb20oaS5wcml2YXRlS2V5TW9kSW52ZXJzZShVaW50OEFycmF5LmZyb20oZSkpKX0sZS5wcml2YXRlS2V5VHdlYWtBZGQ9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5mcm9tKG4ucHJpdmF0ZUtleVR3ZWFrQWRkKFVpbnQ4QXJyYXkuZnJvbShlKSxyKSl9LGUucHJpdmF0ZUtleVR3ZWFrTXVsPWZ1bmN0aW9uKGUscil7cmV0dXJuIHQuZnJvbShuLnByaXZhdGVLZXlUd2Vha011bChVaW50OEFycmF5LmZyb20oZSksVWludDhBcnJheS5mcm9tKHIpKSl9LGUucHVibGljS2V5Q3JlYXRlPWZ1bmN0aW9uKGUscil7cmV0dXJuIHQuZnJvbShuLnB1YmxpY0tleUNyZWF0ZShVaW50OEFycmF5LmZyb20oZSkscikpfSxlLnB1YmxpY0tleUNvbnZlcnQ9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5mcm9tKG4ucHVibGljS2V5Q29udmVydChVaW50OEFycmF5LmZyb20oZSkscikpfSxlLnB1YmxpY0tleVZlcmlmeT1mdW5jdGlvbih0KXtyZXR1cm4oMzM9PT10Lmxlbmd0aHx8NjU9PT10Lmxlbmd0aCkmJm4ucHVibGljS2V5VmVyaWZ5KFVpbnQ4QXJyYXkuZnJvbSh0KSl9LGUucHVibGljS2V5VHdlYWtBZGQ9ZnVuY3Rpb24oZSxyLGkpe3JldHVybiB0LmZyb20obi5wdWJsaWNLZXlUd2Vha0FkZChVaW50OEFycmF5LmZyb20oZSksVWludDhBcnJheS5mcm9tKHIpLGkpKX0sZS5wdWJsaWNLZXlUd2Vha011bD1mdW5jdGlvbihlLHIsaSl7cmV0dXJuIHQuZnJvbShuLnB1YmxpY0tleVR3ZWFrTXVsKFVpbnQ4QXJyYXkuZnJvbShlKSxVaW50OEFycmF5LmZyb20ociksaSkpfSxlLnB1YmxpY0tleUNvbWJpbmU9ZnVuY3Rpb24oZSxyKXt2YXIgaT1bXTtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbih0KXtpLnB1c2goVWludDhBcnJheS5mcm9tKHQpKX0pKSx0LmZyb20obi5wdWJsaWNLZXlDb21iaW5lKGkscikpfSxlLnNpZ25hdHVyZU5vcm1hbGl6ZT1mdW5jdGlvbihlKXtyZXR1cm4gdC5mcm9tKG4uc2lnbmF0dXJlTm9ybWFsaXplKFVpbnQ4QXJyYXkuZnJvbShlKSkpfSxlLnNpZ25hdHVyZUV4cG9ydD1mdW5jdGlvbihlKXtyZXR1cm4gdC5mcm9tKG4uc2lnbmF0dXJlRXhwb3J0KFVpbnQ4QXJyYXkuZnJvbShlKSkpfSxlLnNpZ25hdHVyZUltcG9ydD1mdW5jdGlvbihlKXtyZXR1cm4gdC5mcm9tKG4uc2lnbmF0dXJlSW1wb3J0KFVpbnQ4QXJyYXkuZnJvbShlKSkpfSxlLnNpZ25hdHVyZUltcG9ydExheD1mdW5jdGlvbih0KXtpZigwPT09dC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInNpZ25hdHVyZSBsZW5ndGggaXMgaW52YWxpZCIpO3ZhciBlPW8uc2lnbmF0dXJlSW1wb3J0TGF4KHQpO2lmKG51bGw9PT1lKXRocm93IG5ldyBFcnJvcigiY291bGRuJ3QgcGFyc2UgREVSIHNpZ25hdHVyZSIpO3JldHVybiBpLnNpZ25hdHVyZUltcG9ydChlKX0sZS5zaWduPWZ1bmN0aW9uKGUscixpKXtpZihudWxsPT09aSl0aHJvdyBuZXcgVHlwZUVycm9yKCJvcHRpb25zIHNob3VsZCBiZSBhbiBPYmplY3QiKTt2YXIgbz12b2lkIDA7aWYoaSl7aWYobz17fSxudWxsPT09aS5kYXRhKXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMuZGF0YSBzaG91bGQgYmUgYSBCdWZmZXIiKTtpZihpLmRhdGEpe2lmKDMyIT1pLmRhdGEubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJvcHRpb25zLmRhdGEgbGVuZ3RoIGlzIGludmFsaWQiKTtvLmRhdGE9bmV3IFVpbnQ4QXJyYXkoaS5kYXRhKX1pZihudWxsPT09aS5ub25jZWZuKXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMubm9uY2VmbiBzaG91bGQgYmUgYSBGdW5jdGlvbiIpO2kubm9uY2VmbiYmKG8ubm9uY2Vmbj1mdW5jdGlvbihlLHIsbixvLHMpe3ZhciBhPW51bGwhPW4/dC5mcm9tKG4pOm51bGwsdT1udWxsIT1vP3QuZnJvbShvKTpudWxsLGM9dC5mcm9tKCIiKTtyZXR1cm4gaS5ub25jZWZuJiYoYz1pLm5vbmNlZm4odC5mcm9tKGUpLHQuZnJvbShyKSxhLHUscykpLG5ldyBVaW50OEFycmF5KGMpfSl9dmFyIHM9bi5lY2RzYVNpZ24oVWludDhBcnJheS5mcm9tKGUpLFVpbnQ4QXJyYXkuZnJvbShyKSxvKTtyZXR1cm57c2lnbmF0dXJlOnQuZnJvbShzLnNpZ25hdHVyZSkscmVjb3Zlcnk6cy5yZWNpZH19LGUudmVyaWZ5PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbi5lY2RzYVZlcmlmeShVaW50OEFycmF5LmZyb20oZSksVWludDhBcnJheS5mcm9tKHQpLHIpfSxlLnJlY292ZXI9ZnVuY3Rpb24oZSxyLGksbyl7cmV0dXJuIHQuZnJvbShuLmVjZHNhUmVjb3ZlcihVaW50OEFycmF5LmZyb20ociksaSxVaW50OEFycmF5LmZyb20oZSksbykpfSxlLmVjZGg9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5mcm9tKG4uZWNkaChVaW50OEFycmF5LmZyb20oZSksVWludDhBcnJheS5mcm9tKHIpLHt9KSl9LGUuZWNkaFVuc2FmZT1mdW5jdGlvbihlLHIsbil7aWYoMzMhPT1lLmxlbmd0aCYmNjUhPT1lLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigicHVibGljIGtleSBsZW5ndGggaXMgaW52YWxpZCIpO2lmKDMyIT09ci5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInByaXZhdGUga2V5IGxlbmd0aCBpcyBpbnZhbGlkIik7cmV0dXJuIHQuZnJvbShpLmVjZGhVbnNhZmUoVWludDhBcnJheS5mcm9tKGUpLFVpbnQ4QXJyYXkuZnJvbShyKSxuKSl9fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUucmxwaGFzaD1lLnJpcGVtZDE2MD1lLnNoYTI1Nj1lLmtlY2NhazI1Nj1lLmtlY2Nhaz12b2lkIDA7dmFyIG49cigxMTApLGk9bi5rZWNjYWsyMjQsbz1uLmtlY2NhazM4NCxzPW4ua2VjY2FrMjU2LGE9bi5rZWNjYWs1MTIsdT1yKDEyNiksYz1yKDMyKSxmPXIoNDYpLGg9cig0MCk7ZS5rZWNjYWs9ZnVuY3Rpb24oZSxyKXtzd2l0Y2godm9pZCAwPT09ciYmKHI9MjU2KSxlPSJzdHJpbmciIT10eXBlb2YgZXx8Yy5pc0hleFN0cmluZyhlKT9oLnRvQnVmZmVyKGUpOnQuZnJvbShlLCJ1dGY4Iikscnx8KHI9MjU2KSxyKXtjYXNlIDIyNDpyZXR1cm4gaShlKTtjYXNlIDI1NjpyZXR1cm4gcyhlKTtjYXNlIDM4NDpyZXR1cm4gbyhlKTtjYXNlIDUxMjpyZXR1cm4gYShlKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiSW52YWxkIGFsZ29yaXRobToga2VjY2FrIityKX19LGUua2VjY2FrMjU2PWZ1bmN0aW9uKHQpe3JldHVybiBlLmtlY2Nhayh0KX0sZS5zaGEyNTY9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9aC50b0J1ZmZlcih0KSx1KCJzaGEyNTYiKS51cGRhdGUodCkuZGlnZXN0KCl9LGUucmlwZW1kMTYwPWZ1bmN0aW9uKHQsZSl7dD1oLnRvQnVmZmVyKHQpO3ZhciByPXUoInJtZDE2MCIpLnVwZGF0ZSh0KS5kaWdlc3QoKTtyZXR1cm4hMD09PWU/aC5zZXRMZW5ndGgociwzMik6cn0sZS5ybHBoYXNoPWZ1bmN0aW9uKHQpe3JldHVybiBlLmtlY2NhayhmLmVuY29kZSh0KSl9fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLnIoZSk7dmFyIG49cigxNTcpLGk9cigxMCksbz1yKDE1OCk7ZnVuY3Rpb24gcyh0KXtyZXR1cm4gT2JqZWN0KG8uYSkodCl9ZnVuY3Rpb24gYSgpe2NvbnN0IHQ9cygpO3JldHVybiB0JiZ0Lm9zP3Qub3M6dm9pZCAwfWZ1bmN0aW9uIHUoKXtjb25zdCB0PWEoKTtyZXR1cm4hIXQmJnQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygiYW5kcm9pZCIpfWZ1bmN0aW9uIGMoKXtjb25zdCB0PWEoKTtyZXR1cm4hIXQmJih0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoImlvcyIpfHx0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoIm1hYyIpJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MSl9ZnVuY3Rpb24gZigpe3JldHVybiEhYSgpJiYodSgpfHxjKCkpfWZ1bmN0aW9uIGgoKXtjb25zdCB0PXMoKTtyZXR1cm4hKCF0fHwhdC5uYW1lKSYmIm5vZGUiPT09dC5uYW1lLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gbCgpe3JldHVybiFoKCkmJiEheSgpfWNvbnN0IGQ9aS5nZXRGcm9tV2luZG93LHA9aS5nZXRGcm9tV2luZG93T3JUaHJvdyxtPWkuZ2V0RG9jdW1lbnRPclRocm93LGc9aS5nZXREb2N1bWVudCxiPWkuZ2V0TmF2aWdhdG9yT3JUaHJvdyx5PWkuZ2V0TmF2aWdhdG9yLHY9aS5nZXRMb2NhdGlvbk9yVGhyb3csXz1pLmdldExvY2F0aW9uLHc9aS5nZXRDcnlwdG9PclRocm93LE09aS5nZXRDcnlwdG8sUz1pLmdldExvY2FsU3RvcmFnZU9yVGhyb3csRT1pLmdldExvY2FsU3RvcmFnZTtmdW5jdGlvbiB4KCl7cmV0dXJuIG4uZ2V0V2luZG93TWV0YWRhdGEoKX1jb25zdCBrPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzYWZlIGpzb24gcGFyc2UgdmFsdWUgb2YgdHlwZSAiK3R5cGVvZiB0KTt0cnl7cmV0dXJuIEpTT04ucGFyc2UodCl9Y2F0Y2goZSl7cmV0dXJuIHR9fSxBPWZ1bmN0aW9uKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD90OkpTT04uc3RyaW5naWZ5KHQpfTtmdW5jdGlvbiBSKHQsZSl7Y29uc3Qgcj1BKGUpLG49RSgpO24mJm4uc2V0SXRlbSh0LHIpfWZ1bmN0aW9uIFQodCl7bGV0IGU9bnVsbCxyPW51bGw7Y29uc3Qgbj1FKCk7cmV0dXJuIG4mJihyPW4uZ2V0SXRlbSh0KSksZT1yP2socik6cixlfWZ1bmN0aW9uIE8odCl7Y29uc3QgZT1FKCk7ZSYmZS5yZW1vdmVJdGVtKHQpfWZ1bmN0aW9uIEModCxlKXtjb25zdCByPWVuY29kZVVSSUNvbXBvbmVudCh0KTtyZXR1cm4gZS51bml2ZXJzYWxMaW5rP2Ake2UudW5pdmVyc2FsTGlua30vd2M/dXJpPSR7cn1gOmUuZGVlcExpbms/YCR7ZS5kZWVwTGlua30ke2UuZGVlcExpbmsuZW5kc1dpdGgoIjoiKT8iLy8iOiIvIn13Yz91cmk9JHtyfWA6IiJ9ZnVuY3Rpb24gUCh0KXtjb25zdCBlPXQuaHJlZi5zcGxpdCgiPyIpWzBdO1IoIldBTExFVENPTk5FQ1RfREVFUExJTktfQ0hPSUNFIixPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2hyZWY6ZX0pKX1mdW5jdGlvbiBJKHQsZSl7cmV0dXJuIHQuZmlsdGVyKHQ9PnQubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGUudG9Mb3dlckNhc2UoKSkpWzBdfWZ1bmN0aW9uIEIodCxlKXtsZXQgcj10O3JldHVybiBlJiYocj1lLm1hcChlPT5JKHQsZSkpLmZpbHRlcihCb29sZWFuKSkscn1jb25zdCBMPSJodHRwczovL3JlZ2lzdHJ5LndhbGxldGNvbm5lY3QuY29tIjtmdW5jdGlvbiBqKCl7cmV0dXJuIEwrIi9hcGkvdjIvd2FsbGV0cyJ9ZnVuY3Rpb24gTigpe3JldHVybiBMKyIvYXBpL3YyL2RhcHBzIn1mdW5jdGlvbiBxKHQsZT0ibW9iaWxlIil7dmFyIHI7cmV0dXJue25hbWU6dC5uYW1lfHwiIixzaG9ydE5hbWU6dC5tZXRhZGF0YS5zaG9ydE5hbWV8fCIiLGNvbG9yOnQubWV0YWRhdGEuY29sb3JzLnByaW1hcnl8fCIiLGxvZ286bnVsbCE9PShyPXQuaW1hZ2VfdXJsLnNtKSYmdm9pZCAwIT09cj9yOiIiLHVuaXZlcnNhbExpbms6dFtlXS51bml2ZXJzYWx8fCIiLGRlZXBMaW5rOnRbZV0ubmF0aXZlfHwiIn19ZnVuY3Rpb24gVSh0LGU9Im1vYmlsZSIpe3JldHVybiBPYmplY3QudmFsdWVzKHQpLmZpbHRlcih0PT4hIXRbZV0udW5pdmVyc2FsfHwhIXRbZV0ubmF0aXZlKS5tYXAodD0+cSh0LGUpKX1yLmQoZSwiZGV0ZWN0RW52IiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxyLmQoZSwiZGV0ZWN0T1MiLChmdW5jdGlvbigpe3JldHVybiBhfSkpLHIuZChlLCJpc0FuZHJvaWQiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLHIuZChlLCJpc0lPUyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSksci5kKGUsImlzTW9iaWxlIiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKSxyLmQoZSwiaXNOb2RlIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxyLmQoZSwiaXNCcm93c2VyIiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKSxyLmQoZSwiZ2V0RnJvbVdpbmRvdyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksci5kKGUsImdldEZyb21XaW5kb3dPclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gcH0pKSxyLmQoZSwiZ2V0RG9jdW1lbnRPclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gbX0pKSxyLmQoZSwiZ2V0RG9jdW1lbnQiLChmdW5jdGlvbigpe3JldHVybiBnfSkpLHIuZChlLCJnZXROYXZpZ2F0b3JPclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gYn0pKSxyLmQoZSwiZ2V0TmF2aWdhdG9yIiwoZnVuY3Rpb24oKXtyZXR1cm4geX0pKSxyLmQoZSwiZ2V0TG9jYXRpb25PclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gdn0pKSxyLmQoZSwiZ2V0TG9jYXRpb24iLChmdW5jdGlvbigpe3JldHVybiBffSkpLHIuZChlLCJnZXRDcnlwdG9PclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gd30pKSxyLmQoZSwiZ2V0Q3J5cHRvIiwoZnVuY3Rpb24oKXtyZXR1cm4gTX0pKSxyLmQoZSwiZ2V0TG9jYWxTdG9yYWdlT3JUaHJvdyIsKGZ1bmN0aW9uKCl7cmV0dXJuIFN9KSksci5kKGUsImdldExvY2FsU3RvcmFnZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIEV9KSksci5kKGUsImdldENsaWVudE1ldGEiLChmdW5jdGlvbigpe3JldHVybiB4fSkpLHIuZChlLCJzYWZlSnNvblBhcnNlIiwoZnVuY3Rpb24oKXtyZXR1cm4ga30pKSxyLmQoZSwic2FmZUpzb25TdHJpbmdpZnkiLChmdW5jdGlvbigpe3JldHVybiBBfSkpLHIuZChlLCJzZXRMb2NhbCIsKGZ1bmN0aW9uKCl7cmV0dXJuIFJ9KSksci5kKGUsImdldExvY2FsIiwoZnVuY3Rpb24oKXtyZXR1cm4gVH0pKSxyLmQoZSwicmVtb3ZlTG9jYWwiLChmdW5jdGlvbigpe3JldHVybiBPfSkpLHIuZChlLCJtb2JpbGVMaW5rQ2hvaWNlS2V5IiwoZnVuY3Rpb24oKXtyZXR1cm4iV0FMTEVUQ09OTkVDVF9ERUVQTElOS19DSE9JQ0UifSkpLHIuZChlLCJmb3JtYXRJT1NNb2JpbGUiLChmdW5jdGlvbigpe3JldHVybiBDfSkpLHIuZChlLCJzYXZlTW9iaWxlTGlua0luZm8iLChmdW5jdGlvbigpe3JldHVybiBQfSkpLHIuZChlLCJnZXRNb2JpbGVSZWdpc3RyeUVudHJ5IiwoZnVuY3Rpb24oKXtyZXR1cm4gSX0pKSxyLmQoZSwiZ2V0TW9iaWxlTGlua1JlZ2lzdHJ5IiwoZnVuY3Rpb24oKXtyZXR1cm4gQn0pKSxyLmQoZSwiZ2V0V2FsbGV0UmVnaXN0cnlVcmwiLChmdW5jdGlvbigpe3JldHVybiBqfSkpLHIuZChlLCJnZXREYXBwUmVnaXN0cnlVcmwiLChmdW5jdGlvbigpe3JldHVybiBOfSkpLHIuZChlLCJmb3JtYXRNb2JpbGVSZWdpc3RyeUVudHJ5IiwoZnVuY3Rpb24oKXtyZXR1cm4gcX0pKSxyLmQoZSwiZm9ybWF0TW9iaWxlUmVnaXN0cnkiLChmdW5jdGlvbigpe3JldHVybiBVfSkpfSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1pLGkuc3RyaWN0PW8saS5sb29zZT1zO3ZhciByPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsbj17IltvYmplY3QgSW50OEFycmF5XSI6ITAsIltvYmplY3QgSW50MTZBcnJheV0iOiEwLCJbb2JqZWN0IEludDMyQXJyYXldIjohMCwiW29iamVjdCBVaW50OEFycmF5XSI6ITAsIltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIjohMCwiW29iamVjdCBVaW50MTZBcnJheV0iOiEwLCJbb2JqZWN0IFVpbnQzMkFycmF5XSI6ITAsIltvYmplY3QgRmxvYXQzMkFycmF5XSI6ITAsIltvYmplY3QgRmxvYXQ2NEFycmF5XSI6ITB9O2Z1bmN0aW9uIGkodCl7cmV0dXJuIG8odCl8fHModCl9ZnVuY3Rpb24gbyh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIEludDhBcnJheXx8dCBpbnN0YW5jZW9mIEludDE2QXJyYXl8fHQgaW5zdGFuY2VvZiBJbnQzMkFycmF5fHx0IGluc3RhbmNlb2YgVWludDhBcnJheXx8dCBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5fHx0IGluc3RhbmNlb2YgVWludDE2QXJyYXl8fHQgaW5zdGFuY2VvZiBVaW50MzJBcnJheXx8dCBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheXx8dCBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheX1mdW5jdGlvbiBzKHQpe3JldHVybiBuW3IuY2FsbCh0KV19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2NvbnN0IG49cigxNzQpLGk9cigxNzUpLG89cigxNzYpO2Z1bmN0aW9uIHModCl7aWYoInN0cmluZyIhPXR5cGVvZiB0fHwxIT09dC5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiYXJyYXlGb3JtYXRTZXBhcmF0b3IgbXVzdCBiZSBzaW5nbGUgY2hhcmFjdGVyIHN0cmluZyIpfWZ1bmN0aW9uIGEodCxlKXtyZXR1cm4gZS5lbmNvZGU/ZS5zdHJpY3Q/bih0KTplbmNvZGVVUklDb21wb25lbnQodCk6dH1mdW5jdGlvbiB1KHQsZSl7cmV0dXJuIGUuZGVjb2RlP2kodCk6dH1mdW5jdGlvbiBjKHQpe2NvbnN0IGU9dC5pbmRleE9mKCIjIik7cmV0dXJuLTEhPT1lJiYodD10LnNsaWNlKDAsZSkpLHR9ZnVuY3Rpb24gZih0KXtjb25zdCBlPSh0PWModCkpLmluZGV4T2YoIj8iKTtyZXR1cm4tMT09PWU/IiI6dC5zbGljZShlKzEpfWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4gZS5wYXJzZU51bWJlcnMmJiFOdW1iZXIuaXNOYU4oTnVtYmVyKHQpKSYmInN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXQudHJpbSgpP3Q9TnVtYmVyKHQpOiFlLnBhcnNlQm9vbGVhbnN8fG51bGw9PT10fHwidHJ1ZSIhPT10LnRvTG93ZXJDYXNlKCkmJiJmYWxzZSIhPT10LnRvTG93ZXJDYXNlKCl8fCh0PSJ0cnVlIj09PXQudG9Mb3dlckNhc2UoKSksdH1mdW5jdGlvbiBsKHQsZSl7cygoZT1PYmplY3QuYXNzaWduKHtkZWNvZGU6ITAsc29ydDohMCxhcnJheUZvcm1hdDoibm9uZSIsYXJyYXlGb3JtYXRTZXBhcmF0b3I6IiwiLHBhcnNlTnVtYmVyczohMSxwYXJzZUJvb2xlYW5zOiExfSxlKSkuYXJyYXlGb3JtYXRTZXBhcmF0b3IpO2NvbnN0IHI9ZnVuY3Rpb24odCl7bGV0IGU7c3dpdGNoKHQuYXJyYXlGb3JtYXQpe2Nhc2UiaW5kZXgiOnJldHVybih0LHIsbik9PntlPS9cWyhcZCopXF0kLy5leGVjKHQpLHQ9dC5yZXBsYWNlKC9cW1xkKlxdJC8sIiIpLGU/KHZvaWQgMD09PW5bdF0mJihuW3RdPXt9KSxuW3RdW2VbMV1dPXIpOm5bdF09cn07Y2FzZSJicmFja2V0IjpyZXR1cm4odCxyLG4pPT57ZT0vKFxbXF0pJC8uZXhlYyh0KSx0PXQucmVwbGFjZSgvXFtcXSQvLCIiKSxlP3ZvaWQgMCE9PW5bdF0/blt0XT1bXS5jb25jYXQoblt0XSxyKTpuW3RdPVtyXTpuW3RdPXJ9O2Nhc2UiY29tbWEiOmNhc2Uic2VwYXJhdG9yIjpyZXR1cm4oZSxyLG4pPT57Y29uc3QgaT0ic3RyaW5nIj09dHlwZW9mIHImJnIuc3BsaXQoIiIpLmluZGV4T2YodC5hcnJheUZvcm1hdFNlcGFyYXRvcik+LTE/ci5zcGxpdCh0LmFycmF5Rm9ybWF0U2VwYXJhdG9yKS5tYXAoZT0+dShlLHQpKTpudWxsPT09cj9yOnUocix0KTtuW2VdPWl9O2RlZmF1bHQ6cmV0dXJuKHQsZSxyKT0+e3ZvaWQgMCE9PXJbdF0/clt0XT1bXS5jb25jYXQoclt0XSxlKTpyW3RdPWV9fX0oZSksbj1PYmplY3QuY3JlYXRlKG51bGwpO2lmKCJzdHJpbmciIT10eXBlb2YgdClyZXR1cm4gbjtpZighKHQ9dC50cmltKCkucmVwbGFjZSgvXls/IyZdLywiIikpKXJldHVybiBuO2Zvcihjb25zdCBpIG9mIHQuc3BsaXQoIiYiKSl7bGV0W3Qsc109byhlLmRlY29kZT9pLnJlcGxhY2UoL1wrL2csIiAiKTppLCI9Iik7cz12b2lkIDA9PT1zP251bGw6WyJjb21tYSIsInNlcGFyYXRvciJdLmluY2x1ZGVzKGUuYXJyYXlGb3JtYXQpP3M6dShzLGUpLHIodSh0LGUpLHMsbil9Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMobikpe2NvbnN0IHI9blt0XTtpZigib2JqZWN0Ij09dHlwZW9mIHImJm51bGwhPT1yKWZvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKHIpKXJbdF09aChyW3RdLGUpO2Vsc2Ugblt0XT1oKHIsZSl9cmV0dXJuITE9PT1lLnNvcnQ/bjooITA9PT1lLnNvcnQ/T2JqZWN0LmtleXMobikuc29ydCgpOk9iamVjdC5rZXlzKG4pLnNvcnQoZS5zb3J0KSkucmVkdWNlKCh0LGUpPT57Y29uc3Qgcj1uW2VdO3JldHVybiBCb29sZWFuKHIpJiYib2JqZWN0Ij09dHlwZW9mIHImJiFBcnJheS5pc0FycmF5KHIpP3RbZV09ZnVuY3Rpb24gdChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLnNvcnQoKToib2JqZWN0Ij09dHlwZW9mIGU/dChPYmplY3Qua2V5cyhlKSkuc29ydCgodCxlKT0+TnVtYmVyKHQpLU51bWJlcihlKSkubWFwKHQ9PmVbdF0pOmV9KHIpOnRbZV09cix0fSxPYmplY3QuY3JlYXRlKG51bGwpKX1lLmV4dHJhY3Q9ZixlLnBhcnNlPWwsZS5zdHJpbmdpZnk9KHQsZSk9PntpZighdClyZXR1cm4iIjtzKChlPU9iamVjdC5hc3NpZ24oe2VuY29kZTohMCxzdHJpY3Q6ITAsYXJyYXlGb3JtYXQ6Im5vbmUiLGFycmF5Rm9ybWF0U2VwYXJhdG9yOiIsIn0sZSkpLmFycmF5Rm9ybWF0U2VwYXJhdG9yKTtjb25zdCByPXI9PmUuc2tpcE51bGwmJm51bGw9PXRbcl18fGUuc2tpcEVtcHR5U3RyaW5nJiYiIj09PXRbcl0sbj1mdW5jdGlvbih0KXtzd2l0Y2godC5hcnJheUZvcm1hdCl7Y2FzZSJpbmRleCI6cmV0dXJuIGU9PihyLG4pPT57Y29uc3QgaT1yLmxlbmd0aDtyZXR1cm4gdm9pZCAwPT09bnx8dC5za2lwTnVsbCYmbnVsbD09PW58fHQuc2tpcEVtcHR5U3RyaW5nJiYiIj09PW4/cjpudWxsPT09bj9bLi4ucixbYShlLHQpLCJbIixpLCJdIl0uam9pbigiIildOlsuLi5yLFthKGUsdCksIlsiLGEoaSx0KSwiXT0iLGEobix0KV0uam9pbigiIildfTtjYXNlImJyYWNrZXQiOnJldHVybiBlPT4ocixuKT0+dm9pZCAwPT09bnx8dC5za2lwTnVsbCYmbnVsbD09PW58fHQuc2tpcEVtcHR5U3RyaW5nJiYiIj09PW4/cjpudWxsPT09bj9bLi4ucixbYShlLHQpLCJbXSJdLmpvaW4oIiIpXTpbLi4ucixbYShlLHQpLCJbXT0iLGEobix0KV0uam9pbigiIildO2Nhc2UiY29tbWEiOmNhc2Uic2VwYXJhdG9yIjpyZXR1cm4gZT0+KHIsbik9Pm51bGw9PW58fDA9PT1uLmxlbmd0aD9yOjA9PT1yLmxlbmd0aD9bW2EoZSx0KSwiPSIsYShuLHQpXS5qb2luKCIiKV06W1tyLGEobix0KV0uam9pbih0LmFycmF5Rm9ybWF0U2VwYXJhdG9yKV07ZGVmYXVsdDpyZXR1cm4gZT0+KHIsbik9PnZvaWQgMD09PW58fHQuc2tpcE51bGwmJm51bGw9PT1ufHx0LnNraXBFbXB0eVN0cmluZyYmIiI9PT1uP3I6bnVsbD09PW4/Wy4uLnIsYShlLHQpXTpbLi4ucixbYShlLHQpLCI9IixhKG4sdCldLmpvaW4oIiIpXX19KGUpLGk9e307Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXModCkpcihlKXx8KGlbZV09dFtlXSk7Y29uc3Qgbz1PYmplY3Qua2V5cyhpKTtyZXR1cm4hMSE9PWUuc29ydCYmby5zb3J0KGUuc29ydCksby5tYXAocj0+e2NvbnN0IGk9dFtyXTtyZXR1cm4gdm9pZCAwPT09aT8iIjpudWxsPT09aT9hKHIsZSk6QXJyYXkuaXNBcnJheShpKT9pLnJlZHVjZShuKHIpLFtdKS5qb2luKCImIik6YShyLGUpKyI9IithKGksZSl9KS5maWx0ZXIodD0+dC5sZW5ndGg+MCkuam9pbigiJiIpfSxlLnBhcnNlVXJsPSh0LGUpPT57ZT1PYmplY3QuYXNzaWduKHtkZWNvZGU6ITB9LGUpO2NvbnN0W3Isbl09byh0LCIjIik7cmV0dXJuIE9iamVjdC5hc3NpZ24oe3VybDpyLnNwbGl0KCI/IilbMF18fCIiLHF1ZXJ5OmwoZih0KSxlKX0sZSYmZS5wYXJzZUZyYWdtZW50SWRlbnRpZmllciYmbj97ZnJhZ21lbnRJZGVudGlmaWVyOnUobixlKX06e30pfSxlLnN0cmluZ2lmeVVybD0odCxyKT0+e3I9T2JqZWN0LmFzc2lnbih7ZW5jb2RlOiEwLHN0cmljdDohMH0scik7Y29uc3Qgbj1jKHQudXJsKS5zcGxpdCgiPyIpWzBdfHwiIixpPWUuZXh0cmFjdCh0LnVybCksbz1lLnBhcnNlKGkse3NvcnQ6ITF9KSxzPU9iamVjdC5hc3NpZ24obyx0LnF1ZXJ5KTtsZXQgdT1lLnN0cmluZ2lmeShzLHIpO3UmJih1PSI/Iit1KTtsZXQgZj1mdW5jdGlvbih0KXtsZXQgZT0iIjtjb25zdCByPXQuaW5kZXhPZigiIyIpO3JldHVybi0xIT09ciYmKGU9dC5zbGljZShyKSksZX0odC51cmwpO3JldHVybiB0LmZyYWdtZW50SWRlbnRpZmllciYmKGY9IiMiK2EodC5mcmFnbWVudElkZW50aWZpZXIscikpLGAke259JHt1fSR7Zn1gfX0sZnVuY3Rpb24odCxlKXt2YXIgcj17fS50b1N0cmluZzt0LmV4cG9ydHM9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09ci5jYWxsKHQpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDgpO3IubyhuLCJwYXlsb2FkSWQiKSYmci5kKGUsInBheWxvYWRJZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4ucGF5bG9hZElkfSkpO24uaXNOb2RlfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKTtyKDI0KSxyKDcpO2Z1bmN0aW9uIG4oKXtyZXR1cm4gRGF0ZS5ub3coKSpNYXRoLnBvdygxMCwzKStNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqTWF0aC5wb3coMTAsMykpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0In0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyKDg0KX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyKDg1KSxyKDQxKSxyKDg2KSxyKDg3KX0sZnVuY3Rpb24odCxlKXt9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cig0MSk7bi5hO24uYX0sZnVuY3Rpb24odCxlKXt9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCJ9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCJ9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBpfSkpO3ZhciBuPXIoOCk7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gbi5nZXRCcm93ZXJDcnlwdG8oKS5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkodCkpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksci5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBvfSkpO3ZhciBuPXIoMTQpO2Z1bmN0aW9uIGkodCxlLHIpe3JldHVybiBPYmplY3Qobi5iKSh0LGUscil9ZnVuY3Rpb24gbyh0LGUscil7cmV0dXJuIE9iamVjdChuLmEpKHQsZSxyKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBpfSkpO3ZhciBuPXIoMTQpO3IoNDIpO2FzeW5jIGZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gYXdhaXQgT2JqZWN0KG4uYykodCxlKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cig4KTtyLm8obiwiaXNDb25zdGFudFRpbWUiKSYmci5kKGUsImlzQ29uc3RhbnRUaW1lIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5pc0NvbnN0YW50VGltZX0pKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0In0sZnVuY3Rpb24odCxlKXt9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LGUpe2lmKHQubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7bGV0IHI9MDtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKylyfD10W25dXmVbbl07cmV0dXJuIDA9PT1yfXIuZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyKDE0KX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoNTEpLGk9WzEsMSwxLDEsMSwxLDEsMSwxLDEsMiwyLDEsMiwyLDQsMSwyLDQsNCwyLDQsNCw0LDIsNCw2LDUsMiw0LDYsNiwyLDUsOCw4LDQsNSw4LDgsNCw1LDgsMTEsNCw4LDEwLDExLDQsOSwxMiwxNiw0LDksMTYsMTYsNiwxMCwxMiwxOCw2LDEwLDE3LDE2LDYsMTEsMTYsMTksNiwxMywxOCwyMSw3LDE0LDIxLDI1LDgsMTYsMjAsMjUsOCwxNywyMywyNSw5LDE3LDIzLDM0LDksMTgsMjUsMzAsMTAsMjAsMjcsMzIsMTIsMjEsMjksMzUsMTIsMjMsMzQsMzcsMTIsMjUsMzQsNDAsMTMsMjYsMzUsNDIsMTQsMjgsMzgsNDUsMTUsMjksNDAsNDgsMTYsMzEsNDMsNTEsMTcsMzMsNDUsNTQsMTgsMzUsNDgsNTcsMTksMzcsNTEsNjAsMTksMzgsNTMsNjMsMjAsNDAsNTYsNjYsMjEsNDMsNTksNzAsMjIsNDUsNjIsNzQsMjQsNDcsNjUsNzcsMjUsNDksNjgsODFdLG89WzcsMTAsMTMsMTcsMTAsMTYsMjIsMjgsMTUsMjYsMzYsNDQsMjAsMzYsNTIsNjQsMjYsNDgsNzIsODgsMzYsNjQsOTYsMTEyLDQwLDcyLDEwOCwxMzAsNDgsODgsMTMyLDE1Niw2MCwxMTAsMTYwLDE5Miw3MiwxMzAsMTkyLDIyNCw4MCwxNTAsMjI0LDI2NCw5NiwxNzYsMjYwLDMwOCwxMDQsMTk4LDI4OCwzNTIsMTIwLDIxNiwzMjAsMzg0LDEzMiwyNDAsMzYwLDQzMiwxNDQsMjgwLDQwOCw0ODAsMTY4LDMwOCw0NDgsNTMyLDE4MCwzMzgsNTA0LDU4OCwxOTYsMzY0LDU0Niw2NTAsMjI0LDQxNiw2MDAsNzAwLDIyNCw0NDIsNjQ0LDc1MCwyNTIsNDc2LDY5MCw4MTYsMjcwLDUwNCw3NTAsOTAwLDMwMCw1NjAsODEwLDk2MCwzMTIsNTg4LDg3MCwxMDUwLDMzNiw2NDQsOTUyLDExMTAsMzYwLDcwMCwxMDIwLDEyMDAsMzkwLDcyOCwxMDUwLDEyNjAsNDIwLDc4NCwxMTQwLDEzNTAsNDUwLDgxMiwxMjAwLDE0NDAsNDgwLDg2OCwxMjkwLDE1MzAsNTEwLDkyNCwxMzUwLDE2MjAsNTQwLDk4MCwxNDQwLDE3MTAsNTcwLDEwMzYsMTUzMCwxODAwLDU3MCwxMDY0LDE1OTAsMTg5MCw2MDAsMTEyMCwxNjgwLDE5ODAsNjMwLDEyMDQsMTc3MCwyMTAwLDY2MCwxMjYwLDE4NjAsMjIyMCw3MjAsMTMxNiwxOTUwLDIzMTAsNzUwLDEzNzIsMjA0MCwyNDMwXTtlLmdldEJsb2Nrc0NvdW50PWZ1bmN0aW9uKHQsZSl7c3dpdGNoKGUpe2Nhc2Ugbi5MOnJldHVybiBpWzQqKHQtMSkrMF07Y2FzZSBuLk06cmV0dXJuIGlbNCoodC0xKSsxXTtjYXNlIG4uUTpyZXR1cm4gaVs0Kih0LTEpKzJdO2Nhc2Ugbi5IOnJldHVybiBpWzQqKHQtMSkrM107ZGVmYXVsdDpyZXR1cm59fSxlLmdldFRvdGFsQ29kZXdvcmRzQ291bnQ9ZnVuY3Rpb24odCxlKXtzd2l0Y2goZSl7Y2FzZSBuLkw6cmV0dXJuIG9bNCoodC0xKSswXTtjYXNlIG4uTTpyZXR1cm4gb1s0Kih0LTEpKzFdO2Nhc2Ugbi5ROnJldHVybiBvWzQqKHQtMSkrMl07Y2FzZSBuLkg6cmV0dXJuIG9bNCoodC0xKSszXTtkZWZhdWx0OnJldHVybn19fSxmdW5jdGlvbih0LGUpe2UuaXNWYWxpZD1mdW5jdGlvbih0KXtyZXR1cm4haXNOYU4odCkmJnQ+PTEmJnQ8PTQwfX0sZnVuY3Rpb24odCxlKXt2YXIgcj0iKD86W3UzMDAwLXUzMDNGXXxbdTMwNDAtdTMwOUZdfFt1MzBBMC11MzBGRl18W3VGRjAwLXVGRkVGXXxbdTRFMDAtdTlGQUZdfFt1MjYwNS11MjYwNl18W3UyMTkwLXUyMTk1XXx1MjAzQnxbdTIwMTB1MjAxNXUyMDE4dTIwMTl1MjAyNXUyMDI2dTIwMUN1MjAxRHUyMjI1dTIyNjBdfFt1MDM5MS11MDQ1MV18W3UwMEE3dTAwQTh1MDBCMXUwMEI0dTAwRDd1MDBGN10pKyIsbj0iKD86KD8hW0EtWjAtOSAkJSorXFwtLi86XXwiKyhyPXIucmVwbGFjZSgvdS9nLCJcXHUiKSkrIikoPzoufFtcclxuXSkpKyI7ZS5LQU5KST1uZXcgUmVnRXhwKHIsImciKSxlLkJZVEVfS0FOSkk9bmV3IFJlZ0V4cCgiW15BLVowLTkgJCUqK1xcLS4vOl0rIiwiZyIpLGUuQllURT1uZXcgUmVnRXhwKG4sImciKSxlLk5VTUVSSUM9bmV3IFJlZ0V4cCgiWzAtOV0rIiwiZyIpLGUuQUxQSEFOVU1FUklDPW5ldyBSZWdFeHAoIltBLVogJCUqK1xcLS4vOl0rIiwiZyIpO3ZhciBpPW5ldyBSZWdFeHAoIl4iK3IrIiQiKSxvPW5ldyBSZWdFeHAoIl5bMC05XSskIikscz1uZXcgUmVnRXhwKCJeW0EtWjAtOSAkJSorXFwtLi86XSskIik7ZS50ZXN0S2Fuamk9ZnVuY3Rpb24odCl7cmV0dXJuIGkudGVzdCh0KX0sZS50ZXN0TnVtZXJpYz1mdW5jdGlvbih0KXtyZXR1cm4gby50ZXN0KHQpfSxlLnRlc3RBbHBoYW51bWVyaWM9ZnVuY3Rpb24odCl7cmV0dXJuIHMudGVzdCh0KX19LGZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gcih0KXtpZigibnVtYmVyIj09dHlwZW9mIHQmJih0PXQudG9TdHJpbmcoKSksInN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiQ29sb3Igc2hvdWxkIGJlIGRlZmluZWQgYXMgaGV4IHN0cmluZyIpO3ZhciBlPXQuc2xpY2UoKS5yZXBsYWNlKCIjIiwiIikuc3BsaXQoIiIpO2lmKGUubGVuZ3RoPDN8fDU9PT1lLmxlbmd0aHx8ZS5sZW5ndGg+OCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgaGV4IGNvbG9yOiAiK3QpOzMhPT1lLmxlbmd0aCYmNCE9PWUubGVuZ3RofHwoZT1BcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLGUubWFwKChmdW5jdGlvbih0KXtyZXR1cm5bdCx0XX0pKSkpLDY9PT1lLmxlbmd0aCYmZS5wdXNoKCJGIiwiRiIpO3ZhciByPXBhcnNlSW50KGUuam9pbigiIiksMTYpO3JldHVybntyOnI+PjI0JjI1NSxnOnI+PjE2JjI1NSxiOnI+PjgmMjU1LGE6MjU1JnIsaGV4OiIjIitlLnNsaWNlKDAsNikuam9pbigiIil9fWUuZ2V0T3B0aW9ucz1mdW5jdGlvbih0KXt0fHwodD17fSksdC5jb2xvcnx8KHQuY29sb3I9e30pO3ZhciBlPXZvaWQgMD09PXQubWFyZ2lufHxudWxsPT09dC5tYXJnaW58fHQubWFyZ2luPDA/NDp0Lm1hcmdpbixuPXQud2lkdGgmJnQud2lkdGg+PTIxP3Qud2lkdGg6dm9pZCAwLGk9dC5zY2FsZXx8NDtyZXR1cm57d2lkdGg6bixzY2FsZTpuPzQ6aSxtYXJnaW46ZSxjb2xvcjp7ZGFyazpyKHQuY29sb3IuZGFya3x8IiMwMDAwMDBmZiIpLGxpZ2h0OnIodC5jb2xvci5saWdodHx8IiNmZmZmZmZmZiIpfSx0eXBlOnQudHlwZSxyZW5kZXJlck9wdHM6dC5yZW5kZXJlck9wdHN8fHt9fX0sZS5nZXRTY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiBlLndpZHRoJiZlLndpZHRoPj10KzIqZS5tYXJnaW4/ZS53aWR0aC8odCsyKmUubWFyZ2luKTplLnNjYWxlfSxlLmdldEltYWdlV2lkdGg9ZnVuY3Rpb24odCxyKXt2YXIgbj1lLmdldFNjYWxlKHQscik7cmV0dXJuIE1hdGguZmxvb3IoKHQrMipyLm1hcmdpbikqbil9LGUucXJUb0ltYWdlRGF0YT1mdW5jdGlvbih0LHIsbil7Zm9yKHZhciBpPXIubW9kdWxlcy5zaXplLG89ci5tb2R1bGVzLmRhdGEscz1lLmdldFNjYWxlKGksbiksYT1NYXRoLmZsb29yKChpKzIqbi5tYXJnaW4pKnMpLHU9bi5tYXJnaW4qcyxjPVtuLmNvbG9yLmxpZ2h0LG4uY29sb3IuZGFya10sZj0wO2Y8YTtmKyspZm9yKHZhciBoPTA7aDxhO2grKyl7dmFyIGw9NCooZiphK2gpLGQ9bi5jb2xvci5saWdodDtpZihmPj11JiZoPj11JiZmPGEtdSYmaDxhLXUpZD1jW29bTWF0aC5mbG9vcigoZi11KS9zKSppK01hdGguZmxvb3IoKGgtdSkvcyldPzE6MF07dFtsKytdPWQucix0W2wrK109ZC5nLHRbbCsrXT1kLmIsdFtsXT1kLmF9fX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXt2YXIgbj1yKDIwNCksaT1yKDEwNCksbz1yKDQ0KSxzPXIoMjEyKSxhPXIoNTUpLHU9ZTt1LnJlcXVlc3Q9ZnVuY3Rpb24oZSxyKXtlPSJzdHJpbmciPT10eXBlb2YgZT9hLnBhcnNlKGUpOm8oZSk7dmFyIGk9LTE9PT10LmxvY2F0aW9uLnByb3RvY29sLnNlYXJjaCgvXmh0dHBzPzokLyk/Imh0dHA6IjoiIixzPWUucHJvdG9jb2x8fGksdT1lLmhvc3RuYW1lfHxlLmhvc3QsYz1lLnBvcnQsZj1lLnBhdGh8fCIvIjt1JiYtMSE9PXUuaW5kZXhPZigiOiIpJiYodT0iWyIrdSsiXSIpLGUudXJsPSh1P3MrIi8vIit1OiIiKSsoYz8iOiIrYzoiIikrZixlLm1ldGhvZD0oZS5tZXRob2R8fCJHRVQiKS50b1VwcGVyQ2FzZSgpLGUuaGVhZGVycz1lLmhlYWRlcnN8fHt9O3ZhciBoPW5ldyBuKGUpO3JldHVybiByJiZoLm9uKCJyZXNwb25zZSIsciksaH0sdS5nZXQ9ZnVuY3Rpb24odCxlKXt2YXIgcj11LnJlcXVlc3QodCxlKTtyZXR1cm4gci5lbmQoKSxyfSx1LkNsaWVudFJlcXVlc3Q9bix1LkluY29taW5nTWVzc2FnZT1pLkluY29taW5nTWVzc2FnZSx1LkFnZW50PWZ1bmN0aW9uKCl7fSx1LkFnZW50LmRlZmF1bHRNYXhTb2NrZXRzPTQsdS5nbG9iYWxBZ2VudD1uZXcgdS5BZ2VudCx1LlNUQVRVU19DT0RFUz1zLHUuTUVUSE9EUz1bIkNIRUNLT1VUIiwiQ09OTkVDVCIsIkNPUFkiLCJERUxFVEUiLCJHRVQiLCJIRUFEIiwiTE9DSyIsIk0tU0VBUkNIIiwiTUVSR0UiLCJNS0FDVElWSVRZIiwiTUtDT0wiLCJNT1ZFIiwiTk9USUZZIiwiT1BUSU9OUyIsIlBBVENIIiwiUE9TVCIsIlBST1BGSU5EIiwiUFJPUFBBVENIIiwiUFVSR0UiLCJQVVQiLCJSRVBPUlQiLCJTRUFSQ0giLCJTVUJTQ1JJQkUiLCJUUkFDRSIsIlVOTE9DSyIsIlVOU1VCU0NSSUJFIl19KS5jYWxsKHRoaXMscig2KSl9LGZ1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24odCl7ZS5mZXRjaD1hKHQuZmV0Y2gpJiZhKHQuUmVhZGFibGVTdHJlYW0pLGUud3JpdGFibGVTdHJlYW09YSh0LldyaXRhYmxlU3RyZWFtKSxlLmFib3J0Q29udHJvbGxlcj1hKHQuQWJvcnRDb250cm9sbGVyKSxlLmJsb2JDb25zdHJ1Y3Rvcj0hMTt0cnl7bmV3IEJsb2IoW25ldyBBcnJheUJ1ZmZlcigxKV0pLGUuYmxvYkNvbnN0cnVjdG9yPSEwfWNhdGNoKHQpe312YXIgcjtmdW5jdGlvbiBuKCl7aWYodm9pZCAwIT09cilyZXR1cm4gcjtpZih0LlhNTEh0dHBSZXF1ZXN0KXtyPW5ldyB0LlhNTEh0dHBSZXF1ZXN0O3RyeXtyLm9wZW4oIkdFVCIsdC5YRG9tYWluUmVxdWVzdD8iLyI6Imh0dHBzOi8vZXhhbXBsZS5jb20iKX1jYXRjaCh0KXtyPW51bGx9fWVsc2Ugcj1udWxsO3JldHVybiByfWZ1bmN0aW9uIGkodCl7dmFyIGU9bigpO2lmKCFlKXJldHVybiExO3RyeXtyZXR1cm4gZS5yZXNwb25zZVR5cGU9dCxlLnJlc3BvbnNlVHlwZT09PXR9Y2F0Y2godCl7fXJldHVybiExfXZhciBvPXZvaWQgMCE9PXQuQXJyYXlCdWZmZXIscz1vJiZhKHQuQXJyYXlCdWZmZXIucHJvdG90eXBlLnNsaWNlKTtmdW5jdGlvbiBhKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0fWUuYXJyYXlidWZmZXI9ZS5mZXRjaHx8byYmaSgiYXJyYXlidWZmZXIiKSxlLm1zc3RyZWFtPSFlLmZldGNoJiZzJiZpKCJtcy1zdHJlYW0iKSxlLm1vemNodW5rZWRhcnJheWJ1ZmZlcj0hZS5mZXRjaCYmbyYmaSgibW96LWNodW5rZWQtYXJyYXlidWZmZXIiKSxlLm92ZXJyaWRlTWltZVR5cGU9ZS5mZXRjaHx8ISFuKCkmJmEobigpLm92ZXJyaWRlTWltZVR5cGUpLGUudmJBcnJheT1hKHQuVkJBcnJheSkscj1udWxsfSkuY2FsbCh0aGlzLHIoNikpfSxmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHQsbixpKXt2YXIgbz1yKDEwMykscz1yKDMpLGE9cigzNCksdT1lLnJlYWR5U3RhdGVzPXtVTlNFTlQ6MCxPUEVORUQ6MSxIRUFERVJTX1JFQ0VJVkVEOjIsTE9BRElORzozLERPTkU6NH0sYz1lLkluY29taW5nTWVzc2FnZT1mdW5jdGlvbihlLHIscyx1KXt2YXIgYz10aGlzO2lmKGEuUmVhZGFibGUuY2FsbChjKSxjLl9tb2RlPXMsYy5oZWFkZXJzPXt9LGMucmF3SGVhZGVycz1bXSxjLnRyYWlsZXJzPXt9LGMucmF3VHJhaWxlcnM9W10sYy5vbigiZW5kIiwoZnVuY3Rpb24oKXt0Lm5leHRUaWNrKChmdW5jdGlvbigpe2MuZW1pdCgiY2xvc2UiKX0pKX0pKSwiZmV0Y2giPT09cyl7aWYoYy5fZmV0Y2hSZXNwb25zZT1yLGMudXJsPXIudXJsLGMuc3RhdHVzQ29kZT1yLnN0YXR1cyxjLnN0YXR1c01lc3NhZ2U9ci5zdGF0dXNUZXh0LHIuaGVhZGVycy5mb3JFYWNoKChmdW5jdGlvbih0LGUpe2MuaGVhZGVyc1tlLnRvTG93ZXJDYXNlKCldPXQsYy5yYXdIZWFkZXJzLnB1c2goZSx0KX0pKSxvLndyaXRhYmxlU3RyZWFtKXt2YXIgZj1uZXcgV3JpdGFibGVTdHJlYW0oe3dyaXRlOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxyKXtjLl9kZXN0cm95ZWQ/cigpOmMucHVzaChuZXcgbih0KSk/ZSgpOmMuX3Jlc3VtZUZldGNoPWV9KSl9LGNsb3NlOmZ1bmN0aW9uKCl7aS5jbGVhclRpbWVvdXQodSksYy5fZGVzdHJveWVkfHxjLnB1c2gobnVsbCl9LGFib3J0OmZ1bmN0aW9uKHQpe2MuX2Rlc3Ryb3llZHx8Yy5lbWl0KCJlcnJvciIsdCl9fSk7dHJ5e3JldHVybiB2b2lkIHIuYm9keS5waXBlVG8oZikuY2F0Y2goKGZ1bmN0aW9uKHQpe2kuY2xlYXJUaW1lb3V0KHUpLGMuX2Rlc3Ryb3llZHx8Yy5lbWl0KCJlcnJvciIsdCl9KSl9Y2F0Y2godCl7fX12YXIgaD1yLmJvZHkuZ2V0UmVhZGVyKCk7IWZ1bmN0aW9uIHQoKXtoLnJlYWQoKS50aGVuKChmdW5jdGlvbihlKXtpZighYy5fZGVzdHJveWVkKXtpZihlLmRvbmUpcmV0dXJuIGkuY2xlYXJUaW1lb3V0KHUpLHZvaWQgYy5wdXNoKG51bGwpO2MucHVzaChuZXcgbihlLnZhbHVlKSksdCgpfX0pKS5jYXRjaCgoZnVuY3Rpb24odCl7aS5jbGVhclRpbWVvdXQodSksYy5fZGVzdHJveWVkfHxjLmVtaXQoImVycm9yIix0KX0pKX0oKX1lbHNle2lmKGMuX3hocj1lLGMuX3Bvcz0wLGMudXJsPWUucmVzcG9uc2VVUkwsYy5zdGF0dXNDb2RlPWUuc3RhdHVzLGMuc3RhdHVzTWVzc2FnZT1lLnN0YXR1c1RleHQsZS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKS5zcGxpdCgvXHI/XG4vKS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT10Lm1hdGNoKC9eKFteOl0rKTpccyooLiopLyk7aWYoZSl7dmFyIHI9ZVsxXS50b0xvd2VyQ2FzZSgpOyJzZXQtY29va2llIj09PXI/KHZvaWQgMD09PWMuaGVhZGVyc1tyXSYmKGMuaGVhZGVyc1tyXT1bXSksYy5oZWFkZXJzW3JdLnB1c2goZVsyXSkpOnZvaWQgMCE9PWMuaGVhZGVyc1tyXT9jLmhlYWRlcnNbcl0rPSIsICIrZVsyXTpjLmhlYWRlcnNbcl09ZVsyXSxjLnJhd0hlYWRlcnMucHVzaChlWzFdLGVbMl0pfX0pKSxjLl9jaGFyc2V0PSJ4LXVzZXItZGVmaW5lZCIsIW8ub3ZlcnJpZGVNaW1lVHlwZSl7dmFyIGw9Yy5yYXdIZWFkZXJzWyJtaW1lLXR5cGUiXTtpZihsKXt2YXIgZD1sLm1hdGNoKC87XHMqY2hhcnNldD0oW147XSkoO3wkKS8pO2QmJihjLl9jaGFyc2V0PWRbMV0udG9Mb3dlckNhc2UoKSl9Yy5fY2hhcnNldHx8KGMuX2NoYXJzZXQ9InV0Zi04Iil9fX07cyhjLGEuUmVhZGFibGUpLGMucHJvdG90eXBlLl9yZWFkPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcmVzdW1lRmV0Y2g7dCYmKHRoaXMuX3Jlc3VtZUZldGNoPW51bGwsdCgpKX0sYy5wcm90b3R5cGUuX29uWEhSUHJvZ3Jlc3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5feGhyLHI9bnVsbDtzd2l0Y2godC5fbW9kZSl7Y2FzZSJ0ZXh0OnZiYXJyYXkiOmlmKGUucmVhZHlTdGF0ZSE9PXUuRE9ORSlicmVhazt0cnl7cj1uZXcgaS5WQkFycmF5KGUucmVzcG9uc2VCb2R5KS50b0FycmF5KCl9Y2F0Y2godCl7fWlmKG51bGwhPT1yKXt0LnB1c2gobmV3IG4ocikpO2JyZWFrfWNhc2UidGV4dCI6dHJ5e3I9ZS5yZXNwb25zZVRleHR9Y2F0Y2goZSl7dC5fbW9kZT0idGV4dDp2YmFycmF5IjticmVha31pZihyLmxlbmd0aD50Ll9wb3Mpe3ZhciBvPXIuc3Vic3RyKHQuX3Bvcyk7aWYoIngtdXNlci1kZWZpbmVkIj09PXQuX2NoYXJzZXQpe2Zvcih2YXIgcz1uZXcgbihvLmxlbmd0aCksYT0wO2E8by5sZW5ndGg7YSsrKXNbYV09MjU1Jm8uY2hhckNvZGVBdChhKTt0LnB1c2gocyl9ZWxzZSB0LnB1c2gobyx0Ll9jaGFyc2V0KTt0Ll9wb3M9ci5sZW5ndGh9YnJlYWs7Y2FzZSJhcnJheWJ1ZmZlciI6aWYoZS5yZWFkeVN0YXRlIT09dS5ET05FfHwhZS5yZXNwb25zZSlicmVhaztyPWUucmVzcG9uc2UsdC5wdXNoKG5ldyBuKG5ldyBVaW50OEFycmF5KHIpKSk7YnJlYWs7Y2FzZSJtb3otY2h1bmtlZC1hcnJheWJ1ZmZlciI6aWYocj1lLnJlc3BvbnNlLGUucmVhZHlTdGF0ZSE9PXUuTE9BRElOR3x8IXIpYnJlYWs7dC5wdXNoKG5ldyBuKG5ldyBVaW50OEFycmF5KHIpKSk7YnJlYWs7Y2FzZSJtcy1zdHJlYW0iOmlmKHI9ZS5yZXNwb25zZSxlLnJlYWR5U3RhdGUhPT11LkxPQURJTkcpYnJlYWs7dmFyIGM9bmV3IGkuTVNTdHJlYW1SZWFkZXI7Yy5vbnByb2dyZXNzPWZ1bmN0aW9uKCl7Yy5yZXN1bHQuYnl0ZUxlbmd0aD50Ll9wb3MmJih0LnB1c2gobmV3IG4obmV3IFVpbnQ4QXJyYXkoYy5yZXN1bHQuc2xpY2UodC5fcG9zKSkpKSx0Ll9wb3M9Yy5yZXN1bHQuYnl0ZUxlbmd0aCl9LGMub25sb2FkPWZ1bmN0aW9uKCl7dC5wdXNoKG51bGwpfSxjLnJlYWRBc0FycmF5QnVmZmVyKHIpfXQuX3hoci5yZWFkeVN0YXRlPT09dS5ET05FJiYibXMtc3RyZWFtIiE9PXQuX21vZGUmJnQucHVzaChudWxsKX19KS5jYWxsKHRoaXMscig1KSxyKDIpLkJ1ZmZlcixyKDYpKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSxuKXt2YXIgaT1yKDQzKTt0LmV4cG9ydHM9djt2YXIgbyxzPXIoNzkpO3YuUmVhZGFibGVTdGF0ZT15O3IoMTIpLkV2ZW50RW1pdHRlcjt2YXIgYT1mdW5jdGlvbih0LGUpe3JldHVybiB0Lmxpc3RlbmVycyhlKS5sZW5ndGh9LHU9cigxMDYpLGM9cig1MikuQnVmZmVyLGY9ZS5VaW50OEFycmF5fHxmdW5jdGlvbigpe307dmFyIGg9T2JqZWN0LmNyZWF0ZShyKDM1KSk7aC5pbmhlcml0cz1yKDMpO3ZhciBsPXIoMjA1KSxkPXZvaWQgMDtkPWwmJmwuZGVidWdsb2c/bC5kZWJ1Z2xvZygic3RyZWFtIik6ZnVuY3Rpb24oKXt9O3ZhciBwLG09cigyMDYpLGc9cigxMDcpO2guaW5oZXJpdHModix1KTt2YXIgYj1bImVycm9yIiwiY2xvc2UiLCJkZXN0cm95IiwicGF1c2UiLCJyZXN1bWUiXTtmdW5jdGlvbiB5KHQsZSl7dD10fHx7fTt2YXIgbj1lIGluc3RhbmNlb2Yobz1vfHxyKDE5KSk7dGhpcy5vYmplY3RNb2RlPSEhdC5vYmplY3RNb2RlLG4mJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIXQucmVhZGFibGVPYmplY3RNb2RlKTt2YXIgaT10LmhpZ2hXYXRlck1hcmsscz10LnJlYWRhYmxlSGlnaFdhdGVyTWFyayxhPXRoaXMub2JqZWN0TW9kZT8xNjoxNjM4NDt0aGlzLmhpZ2hXYXRlck1hcms9aXx8MD09PWk/aTpuJiYoc3x8MD09PXMpP3M6YSx0aGlzLmhpZ2hXYXRlck1hcms9TWF0aC5mbG9vcih0aGlzLmhpZ2hXYXRlck1hcmspLHRoaXMuYnVmZmVyPW5ldyBtLHRoaXMubGVuZ3RoPTAsdGhpcy5waXBlcz1udWxsLHRoaXMucGlwZXNDb3VudD0wLHRoaXMuZmxvd2luZz1udWxsLHRoaXMuZW5kZWQ9ITEsdGhpcy5lbmRFbWl0dGVkPSExLHRoaXMucmVhZGluZz0hMSx0aGlzLnN5bmM9ITAsdGhpcy5uZWVkUmVhZGFibGU9ITEsdGhpcy5lbWl0dGVkUmVhZGFibGU9ITEsdGhpcy5yZWFkYWJsZUxpc3RlbmluZz0hMSx0aGlzLnJlc3VtZVNjaGVkdWxlZD0hMSx0aGlzLmRlc3Ryb3llZD0hMSx0aGlzLmRlZmF1bHRFbmNvZGluZz10LmRlZmF1bHRFbmNvZGluZ3x8InV0ZjgiLHRoaXMuYXdhaXREcmFpbj0wLHRoaXMucmVhZGluZ01vcmU9ITEsdGhpcy5kZWNvZGVyPW51bGwsdGhpcy5lbmNvZGluZz1udWxsLHQuZW5jb2RpbmcmJihwfHwocD1yKDIwKS5TdHJpbmdEZWNvZGVyKSx0aGlzLmRlY29kZXI9bmV3IHAodC5lbmNvZGluZyksdGhpcy5lbmNvZGluZz10LmVuY29kaW5nKX1mdW5jdGlvbiB2KHQpe2lmKG89b3x8cigxOSksISh0aGlzIGluc3RhbmNlb2YgdikpcmV0dXJuIG5ldyB2KHQpO3RoaXMuX3JlYWRhYmxlU3RhdGU9bmV3IHkodCx0aGlzKSx0aGlzLnJlYWRhYmxlPSEwLHQmJigiZnVuY3Rpb24iPT10eXBlb2YgdC5yZWFkJiYodGhpcy5fcmVhZD10LnJlYWQpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PXQuZGVzdHJveSkpLHUuY2FsbCh0aGlzKX1mdW5jdGlvbiBfKHQsZSxyLG4saSl7dmFyIG8scz10Ll9yZWFkYWJsZVN0YXRlO251bGw9PT1lPyhzLnJlYWRpbmc9ITEsZnVuY3Rpb24odCxlKXtpZihlLmVuZGVkKXJldHVybjtpZihlLmRlY29kZXIpe3ZhciByPWUuZGVjb2Rlci5lbmQoKTtyJiZyLmxlbmd0aCYmKGUuYnVmZmVyLnB1c2gociksZS5sZW5ndGgrPWUub2JqZWN0TW9kZT8xOnIubGVuZ3RoKX1lLmVuZGVkPSEwLFModCl9KHQscykpOihpfHwobz1mdW5jdGlvbih0LGUpe3ZhciByO249ZSxjLmlzQnVmZmVyKG4pfHxuIGluc3RhbmNlb2YgZnx8InN0cmluZyI9PXR5cGVvZiBlfHx2b2lkIDA9PT1lfHx0Lm9iamVjdE1vZGV8fChyPW5ldyBUeXBlRXJyb3IoIkludmFsaWQgbm9uLXN0cmluZy9idWZmZXIgY2h1bmsiKSk7dmFyIG47cmV0dXJuIHJ9KHMsZSkpLG8/dC5lbWl0KCJlcnJvciIsbyk6cy5vYmplY3RNb2RlfHxlJiZlLmxlbmd0aD4wPygic3RyaW5nIj09dHlwZW9mIGV8fHMub2JqZWN0TW9kZXx8T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpPT09Yy5wcm90b3R5cGV8fChlPWZ1bmN0aW9uKHQpe3JldHVybiBjLmZyb20odCl9KGUpKSxuP3MuZW5kRW1pdHRlZD90LmVtaXQoImVycm9yIixuZXcgRXJyb3IoInN0cmVhbS51bnNoaWZ0KCkgYWZ0ZXIgZW5kIGV2ZW50IikpOncodCxzLGUsITApOnMuZW5kZWQ/dC5lbWl0KCJlcnJvciIsbmV3IEVycm9yKCJzdHJlYW0ucHVzaCgpIGFmdGVyIEVPRiIpKToocy5yZWFkaW5nPSExLHMuZGVjb2RlciYmIXI/KGU9cy5kZWNvZGVyLndyaXRlKGUpLHMub2JqZWN0TW9kZXx8MCE9PWUubGVuZ3RoP3codCxzLGUsITEpOngodCxzKSk6dyh0LHMsZSwhMSkpKTpufHwocy5yZWFkaW5nPSExKSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiF0LmVuZGVkJiYodC5uZWVkUmVhZGFibGV8fHQubGVuZ3RoPHQuaGlnaFdhdGVyTWFya3x8MD09PXQubGVuZ3RoKX0ocyl9ZnVuY3Rpb24gdyh0LGUscixuKXtlLmZsb3dpbmcmJjA9PT1lLmxlbmd0aCYmIWUuc3luYz8odC5lbWl0KCJkYXRhIixyKSx0LnJlYWQoMCkpOihlLmxlbmd0aCs9ZS5vYmplY3RNb2RlPzE6ci5sZW5ndGgsbj9lLmJ1ZmZlci51bnNoaWZ0KHIpOmUuYnVmZmVyLnB1c2gociksZS5uZWVkUmVhZGFibGUmJlModCkpLHgodCxlKX1PYmplY3QuZGVmaW5lUHJvcGVydHkodi5wcm90b3R5cGUsImRlc3Ryb3llZCIse2dldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD10KX19KSx2LnByb3RvdHlwZS5kZXN0cm95PWcuZGVzdHJveSx2LnByb3RvdHlwZS5fdW5kZXN0cm95PWcudW5kZXN0cm95LHYucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7dGhpcy5wdXNoKG51bGwpLGUodCl9LHYucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24odCxlKXt2YXIgcixuPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuIG4ub2JqZWN0TW9kZT9yPSEwOiJzdHJpbmciPT10eXBlb2YgdCYmKChlPWV8fG4uZGVmYXVsdEVuY29kaW5nKSE9PW4uZW5jb2RpbmcmJih0PWMuZnJvbSh0LGUpLGU9IiIpLHI9ITApLF8odGhpcyx0LGUsITEscil9LHYucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24odCl7cmV0dXJuIF8odGhpcyx0LG51bGwsITAsITEpfSx2LnByb3RvdHlwZS5pc1BhdXNlZD1mdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSx2LnByb3RvdHlwZS5zZXRFbmNvZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gcHx8KHA9cigyMCkuU3RyaW5nRGVjb2RlciksdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyPW5ldyBwKHQpLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2Rpbmc9dCx0aGlzfTtmdW5jdGlvbiBNKHQsZSl7cmV0dXJuIHQ8PTB8fDA9PT1lLmxlbmd0aCYmZS5lbmRlZD8wOmUub2JqZWN0TW9kZT8xOnQhPXQ/ZS5mbG93aW5nJiZlLmxlbmd0aD9lLmJ1ZmZlci5oZWFkLmRhdGEubGVuZ3RoOmUubGVuZ3RoOih0PmUuaGlnaFdhdGVyTWFyayYmKGUuaGlnaFdhdGVyTWFyaz1mdW5jdGlvbih0KXtyZXR1cm4gdD49ODM4ODYwOD90PTgzODg2MDg6KHQtLSx0fD10Pj4+MSx0fD10Pj4+Mix0fD10Pj4+NCx0fD10Pj4+OCx0fD10Pj4+MTYsdCsrKSx0fSh0KSksdDw9ZS5sZW5ndGg/dDplLmVuZGVkP2UubGVuZ3RoOihlLm5lZWRSZWFkYWJsZT0hMCwwKSl9ZnVuY3Rpb24gUyh0KXt2YXIgZT10Ll9yZWFkYWJsZVN0YXRlO2UubmVlZFJlYWRhYmxlPSExLGUuZW1pdHRlZFJlYWRhYmxlfHwoZCgiZW1pdFJlYWRhYmxlIixlLmZsb3dpbmcpLGUuZW1pdHRlZFJlYWRhYmxlPSEwLGUuc3luYz9pLm5leHRUaWNrKEUsdCk6RSh0KSl9ZnVuY3Rpb24gRSh0KXtkKCJlbWl0IHJlYWRhYmxlIiksdC5lbWl0KCJyZWFkYWJsZSIpLFQodCl9ZnVuY3Rpb24geCh0LGUpe2UucmVhZGluZ01vcmV8fChlLnJlYWRpbmdNb3JlPSEwLGkubmV4dFRpY2soayx0LGUpKX1mdW5jdGlvbiBrKHQsZSl7Zm9yKHZhciByPWUubGVuZ3RoOyFlLnJlYWRpbmcmJiFlLmZsb3dpbmcmJiFlLmVuZGVkJiZlLmxlbmd0aDxlLmhpZ2hXYXRlck1hcmsmJihkKCJtYXliZVJlYWRNb3JlIHJlYWQgMCIpLHQucmVhZCgwKSxyIT09ZS5sZW5ndGgpOylyPWUubGVuZ3RoO2UucmVhZGluZ01vcmU9ITF9ZnVuY3Rpb24gQSh0KXtkKCJyZWFkYWJsZSBuZXh0dGljayByZWFkIDAiKSx0LnJlYWQoMCl9ZnVuY3Rpb24gUih0LGUpe2UucmVhZGluZ3x8KGQoInJlc3VtZSByZWFkIDAiKSx0LnJlYWQoMCkpLGUucmVzdW1lU2NoZWR1bGVkPSExLGUuYXdhaXREcmFpbj0wLHQuZW1pdCgicmVzdW1lIiksVCh0KSxlLmZsb3dpbmcmJiFlLnJlYWRpbmcmJnQucmVhZCgwKX1mdW5jdGlvbiBUKHQpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7Zm9yKGQoImZsb3ciLGUuZmxvd2luZyk7ZS5mbG93aW5nJiZudWxsIT09dC5yZWFkKCk7KTt9ZnVuY3Rpb24gTyh0LGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDooZS5vYmplY3RNb2RlP3I9ZS5idWZmZXIuc2hpZnQoKTohdHx8dD49ZS5sZW5ndGg/KHI9ZS5kZWNvZGVyP2UuYnVmZmVyLmpvaW4oIiIpOjE9PT1lLmJ1ZmZlci5sZW5ndGg/ZS5idWZmZXIuaGVhZC5kYXRhOmUuYnVmZmVyLmNvbmNhdChlLmxlbmd0aCksZS5idWZmZXIuY2xlYXIoKSk6cj1mdW5jdGlvbih0LGUscil7dmFyIG47dDxlLmhlYWQuZGF0YS5sZW5ndGg/KG49ZS5oZWFkLmRhdGEuc2xpY2UoMCx0KSxlLmhlYWQuZGF0YT1lLmhlYWQuZGF0YS5zbGljZSh0KSk6bj10PT09ZS5oZWFkLmRhdGEubGVuZ3RoP2Uuc2hpZnQoKTpyP2Z1bmN0aW9uKHQsZSl7dmFyIHI9ZS5oZWFkLG49MSxpPXIuZGF0YTt0LT1pLmxlbmd0aDtmb3IoO3I9ci5uZXh0Oyl7dmFyIG89ci5kYXRhLHM9dD5vLmxlbmd0aD9vLmxlbmd0aDp0O2lmKHM9PT1vLmxlbmd0aD9pKz1vOmkrPW8uc2xpY2UoMCx0KSwwPT09KHQtPXMpKXtzPT09by5sZW5ndGg/KCsrbixyLm5leHQ/ZS5oZWFkPXIubmV4dDplLmhlYWQ9ZS50YWlsPW51bGwpOihlLmhlYWQ9cixyLmRhdGE9by5zbGljZShzKSk7YnJlYWt9KytufXJldHVybiBlLmxlbmd0aC09bixpfSh0LGUpOmZ1bmN0aW9uKHQsZSl7dmFyIHI9Yy5hbGxvY1Vuc2FmZSh0KSxuPWUuaGVhZCxpPTE7bi5kYXRhLmNvcHkociksdC09bi5kYXRhLmxlbmd0aDtmb3IoO249bi5uZXh0Oyl7dmFyIG89bi5kYXRhLHM9dD5vLmxlbmd0aD9vLmxlbmd0aDp0O2lmKG8uY29weShyLHIubGVuZ3RoLXQsMCxzKSwwPT09KHQtPXMpKXtzPT09by5sZW5ndGg/KCsraSxuLm5leHQ/ZS5oZWFkPW4ubmV4dDplLmhlYWQ9ZS50YWlsPW51bGwpOihlLmhlYWQ9bixuLmRhdGE9by5zbGljZShzKSk7YnJlYWt9KytpfXJldHVybiBlLmxlbmd0aC09aSxyfSh0LGUpO3JldHVybiBufSh0LGUuYnVmZmVyLGUuZGVjb2Rlcikscik7dmFyIHJ9ZnVuY3Rpb24gQyh0KXt2YXIgZT10Ll9yZWFkYWJsZVN0YXRlO2lmKGUubGVuZ3RoPjApdGhyb3cgbmV3IEVycm9yKCciZW5kUmVhZGFibGUoKSIgY2FsbGVkIG9uIG5vbi1lbXB0eSBzdHJlYW0nKTtlLmVuZEVtaXR0ZWR8fChlLmVuZGVkPSEwLGkubmV4dFRpY2soUCxlLHQpKX1mdW5jdGlvbiBQKHQsZSl7dC5lbmRFbWl0dGVkfHwwIT09dC5sZW5ndGh8fCh0LmVuZEVtaXR0ZWQ9ITAsZS5yZWFkYWJsZT0hMSxlLmVtaXQoImVuZCIpKX1mdW5jdGlvbiBJKHQsZSl7Zm9yKHZhciByPTAsbj10Lmxlbmd0aDtyPG47cisrKWlmKHRbcl09PT1lKXJldHVybiByO3JldHVybi0xfXYucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24odCl7ZCgicmVhZCIsdCksdD1wYXJzZUludCh0LDEwKTt2YXIgZT10aGlzLl9yZWFkYWJsZVN0YXRlLHI9dDtpZigwIT09dCYmKGUuZW1pdHRlZFJlYWRhYmxlPSExKSwwPT09dCYmZS5uZWVkUmVhZGFibGUmJihlLmxlbmd0aD49ZS5oaWdoV2F0ZXJNYXJrfHxlLmVuZGVkKSlyZXR1cm4gZCgicmVhZDogZW1pdFJlYWRhYmxlIixlLmxlbmd0aCxlLmVuZGVkKSwwPT09ZS5sZW5ndGgmJmUuZW5kZWQ/Qyh0aGlzKTpTKHRoaXMpLG51bGw7aWYoMD09PSh0PU0odCxlKSkmJmUuZW5kZWQpcmV0dXJuIDA9PT1lLmxlbmd0aCYmQyh0aGlzKSxudWxsO3ZhciBuLGk9ZS5uZWVkUmVhZGFibGU7cmV0dXJuIGQoIm5lZWQgcmVhZGFibGUiLGkpLCgwPT09ZS5sZW5ndGh8fGUubGVuZ3RoLXQ8ZS5oaWdoV2F0ZXJNYXJrKSYmZCgibGVuZ3RoIGxlc3MgdGhhbiB3YXRlcm1hcmsiLGk9ITApLGUuZW5kZWR8fGUucmVhZGluZz9kKCJyZWFkaW5nIG9yIGVuZGVkIixpPSExKTppJiYoZCgiZG8gcmVhZCIpLGUucmVhZGluZz0hMCxlLnN5bmM9ITAsMD09PWUubGVuZ3RoJiYoZS5uZWVkUmVhZGFibGU9ITApLHRoaXMuX3JlYWQoZS5oaWdoV2F0ZXJNYXJrKSxlLnN5bmM9ITEsZS5yZWFkaW5nfHwodD1NKHIsZSkpKSxudWxsPT09KG49dD4wP08odCxlKTpudWxsKT8oZS5uZWVkUmVhZGFibGU9ITAsdD0wKTplLmxlbmd0aC09dCwwPT09ZS5sZW5ndGgmJihlLmVuZGVkfHwoZS5uZWVkUmVhZGFibGU9ITApLHIhPT10JiZlLmVuZGVkJiZDKHRoaXMpKSxudWxsIT09biYmdGhpcy5lbWl0KCJkYXRhIixuKSxufSx2LnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbih0KXt0aGlzLmVtaXQoImVycm9yIixuZXcgRXJyb3IoIl9yZWFkKCkgaXMgbm90IGltcGxlbWVudGVkIikpfSx2LnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcyxvPXRoaXMuX3JlYWRhYmxlU3RhdGU7c3dpdGNoKG8ucGlwZXNDb3VudCl7Y2FzZSAwOm8ucGlwZXM9dDticmVhaztjYXNlIDE6by5waXBlcz1bby5waXBlcyx0XTticmVhaztkZWZhdWx0Om8ucGlwZXMucHVzaCh0KX1vLnBpcGVzQ291bnQrPTEsZCgicGlwZSBjb3VudD0lZCBvcHRzPSVqIixvLnBpcGVzQ291bnQsZSk7dmFyIHU9KCFlfHwhMSE9PWUuZW5kKSYmdCE9PW4uc3Rkb3V0JiZ0IT09bi5zdGRlcnI/Zjp2O2Z1bmN0aW9uIGMoZSxuKXtkKCJvbnVucGlwZSIpLGU9PT1yJiZuJiYhMT09PW4uaGFzVW5waXBlZCYmKG4uaGFzVW5waXBlZD0hMCxkKCJjbGVhbnVwIiksdC5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLGIpLHQucmVtb3ZlTGlzdGVuZXIoImZpbmlzaCIseSksdC5yZW1vdmVMaXN0ZW5lcigiZHJhaW4iLGgpLHQucmVtb3ZlTGlzdGVuZXIoImVycm9yIixnKSx0LnJlbW92ZUxpc3RlbmVyKCJ1bnBpcGUiLGMpLHIucmVtb3ZlTGlzdGVuZXIoImVuZCIsZiksci5yZW1vdmVMaXN0ZW5lcigiZW5kIix2KSxyLnJlbW92ZUxpc3RlbmVyKCJkYXRhIixtKSxsPSEwLCFvLmF3YWl0RHJhaW58fHQuX3dyaXRhYmxlU3RhdGUmJiF0Ll93cml0YWJsZVN0YXRlLm5lZWREcmFpbnx8aCgpKX1mdW5jdGlvbiBmKCl7ZCgib25lbmQiKSx0LmVuZCgpfW8uZW5kRW1pdHRlZD9pLm5leHRUaWNrKHUpOnIub25jZSgiZW5kIix1KSx0Lm9uKCJ1bnBpcGUiLGMpO3ZhciBoPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7ZCgicGlwZU9uRHJhaW4iLGUuYXdhaXREcmFpbiksZS5hd2FpdERyYWluJiZlLmF3YWl0RHJhaW4tLSwwPT09ZS5hd2FpdERyYWluJiZhKHQsImRhdGEiKSYmKGUuZmxvd2luZz0hMCxUKHQpKX19KHIpO3Qub24oImRyYWluIixoKTt2YXIgbD0hMTt2YXIgcD0hMTtmdW5jdGlvbiBtKGUpe2QoIm9uZGF0YSIpLHA9ITEsITEhPT10LndyaXRlKGUpfHxwfHwoKDE9PT1vLnBpcGVzQ291bnQmJm8ucGlwZXM9PT10fHxvLnBpcGVzQ291bnQ+MSYmLTEhPT1JKG8ucGlwZXMsdCkpJiYhbCYmKGQoImZhbHNlIHdyaXRlIHJlc3BvbnNlLCBwYXVzZSIsci5fcmVhZGFibGVTdGF0ZS5hd2FpdERyYWluKSxyLl9yZWFkYWJsZVN0YXRlLmF3YWl0RHJhaW4rKyxwPSEwKSxyLnBhdXNlKCkpfWZ1bmN0aW9uIGcoZSl7ZCgib25lcnJvciIsZSksdigpLHQucmVtb3ZlTGlzdGVuZXIoImVycm9yIixnKSwwPT09YSh0LCJlcnJvciIpJiZ0LmVtaXQoImVycm9yIixlKX1mdW5jdGlvbiBiKCl7dC5yZW1vdmVMaXN0ZW5lcigiZmluaXNoIix5KSx2KCl9ZnVuY3Rpb24geSgpe2QoIm9uZmluaXNoIiksdC5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLGIpLHYoKX1mdW5jdGlvbiB2KCl7ZCgidW5waXBlIiksci51bnBpcGUodCl9cmV0dXJuIHIub24oImRhdGEiLG0pLGZ1bmN0aW9uKHQsZSxyKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdC5wcmVwZW5kTGlzdGVuZXIpcmV0dXJuIHQucHJlcGVuZExpc3RlbmVyKGUscik7dC5fZXZlbnRzJiZ0Ll9ldmVudHNbZV0/cyh0Ll9ldmVudHNbZV0pP3QuX2V2ZW50c1tlXS51bnNoaWZ0KHIpOnQuX2V2ZW50c1tlXT1bcix0Ll9ldmVudHNbZV1dOnQub24oZSxyKX0odCwiZXJyb3IiLGcpLHQub25jZSgiY2xvc2UiLGIpLHQub25jZSgiZmluaXNoIix5KSx0LmVtaXQoInBpcGUiLHIpLG8uZmxvd2luZ3x8KGQoInBpcGUgcmVzdW1lIiksci5yZXN1bWUoKSksdH0sdi5wcm90b3R5cGUudW5waXBlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3JlYWRhYmxlU3RhdGUscj17aGFzVW5waXBlZDohMX07aWYoMD09PWUucGlwZXNDb3VudClyZXR1cm4gdGhpcztpZigxPT09ZS5waXBlc0NvdW50KXJldHVybiB0JiZ0IT09ZS5waXBlc3x8KHR8fCh0PWUucGlwZXMpLGUucGlwZXM9bnVsbCxlLnBpcGVzQ291bnQ9MCxlLmZsb3dpbmc9ITEsdCYmdC5lbWl0KCJ1bnBpcGUiLHRoaXMscikpLHRoaXM7aWYoIXQpe3ZhciBuPWUucGlwZXMsaT1lLnBpcGVzQ291bnQ7ZS5waXBlcz1udWxsLGUucGlwZXNDb3VudD0wLGUuZmxvd2luZz0hMTtmb3IodmFyIG89MDtvPGk7bysrKW5bb10uZW1pdCgidW5waXBlIix0aGlzLHIpO3JldHVybiB0aGlzfXZhciBzPUkoZS5waXBlcyx0KTtyZXR1cm4tMT09PXN8fChlLnBpcGVzLnNwbGljZShzLDEpLGUucGlwZXNDb3VudC09MSwxPT09ZS5waXBlc0NvdW50JiYoZS5waXBlcz1lLnBpcGVzWzBdKSx0LmVtaXQoInVucGlwZSIsdGhpcyxyKSksdGhpc30sdi5wcm90b3R5cGUub249ZnVuY3Rpb24odCxlKXt2YXIgcj11LnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsdCxlKTtpZigiZGF0YSI9PT10KSExIT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nJiZ0aGlzLnJlc3VtZSgpO2Vsc2UgaWYoInJlYWRhYmxlIj09PXQpe3ZhciBuPXRoaXMuX3JlYWRhYmxlU3RhdGU7bi5lbmRFbWl0dGVkfHxuLnJlYWRhYmxlTGlzdGVuaW5nfHwobi5yZWFkYWJsZUxpc3RlbmluZz1uLm5lZWRSZWFkYWJsZT0hMCxuLmVtaXR0ZWRSZWFkYWJsZT0hMSxuLnJlYWRpbmc/bi5sZW5ndGgmJlModGhpcyk6aS5uZXh0VGljayhBLHRoaXMpKX1yZXR1cm4gcn0sdi5wcm90b3R5cGUuYWRkTGlzdGVuZXI9di5wcm90b3R5cGUub24sdi5wcm90b3R5cGUucmVzdW1lPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4gdC5mbG93aW5nfHwoZCgicmVzdW1lIiksdC5mbG93aW5nPSEwLGZ1bmN0aW9uKHQsZSl7ZS5yZXN1bWVTY2hlZHVsZWR8fChlLnJlc3VtZVNjaGVkdWxlZD0hMCxpLm5leHRUaWNrKFIsdCxlKSl9KHRoaXMsdCkpLHRoaXN9LHYucHJvdG90eXBlLnBhdXNlPWZ1bmN0aW9uKCl7cmV0dXJuIGQoImNhbGwgcGF1c2UgZmxvd2luZz0laiIsdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKSwhMSE9PXRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyYmKGQoInBhdXNlIiksdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPSExLHRoaXMuZW1pdCgicGF1c2UiKSksdGhpc30sdi5wcm90b3R5cGUud3JhcD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLHI9dGhpcy5fcmVhZGFibGVTdGF0ZSxuPSExO2Zvcih2YXIgaSBpbiB0Lm9uKCJlbmQiLChmdW5jdGlvbigpe2lmKGQoIndyYXBwZWQgZW5kIiksci5kZWNvZGVyJiYhci5lbmRlZCl7dmFyIHQ9ci5kZWNvZGVyLmVuZCgpO3QmJnQubGVuZ3RoJiZlLnB1c2godCl9ZS5wdXNoKG51bGwpfSkpLHQub24oImRhdGEiLChmdW5jdGlvbihpKXsoZCgid3JhcHBlZCBkYXRhIiksci5kZWNvZGVyJiYoaT1yLmRlY29kZXIud3JpdGUoaSkpLHIub2JqZWN0TW9kZSYmbnVsbD09aSl8fChyLm9iamVjdE1vZGV8fGkmJmkubGVuZ3RoKSYmKGUucHVzaChpKXx8KG49ITAsdC5wYXVzZSgpKSl9KSksdCl2b2lkIDA9PT10aGlzW2ldJiYiZnVuY3Rpb24iPT10eXBlb2YgdFtpXSYmKHRoaXNbaV09ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRbZV0uYXBwbHkodCxhcmd1bWVudHMpfX0oaSkpO2Zvcih2YXIgbz0wO288Yi5sZW5ndGg7bysrKXQub24oYltvXSx0aGlzLmVtaXQuYmluZCh0aGlzLGJbb10pKTtyZXR1cm4gdGhpcy5fcmVhZD1mdW5jdGlvbihlKXtkKCJ3cmFwcGVkIF9yZWFkIixlKSxuJiYobj0hMSx0LnJlc3VtZSgpKX0sdGhpc30sT2JqZWN0LmRlZmluZVByb3BlcnR5KHYucHJvdG90eXBlLCJyZWFkYWJsZUhpZ2hXYXRlck1hcmsiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSksdi5fZnJvbUxpc3Q9T30pLmNhbGwodGhpcyxyKDYpLHIoNSkpfSxmdW5jdGlvbih0LGUscil7dC5leHBvcnRzPXIoMTIpLkV2ZW50RW1pdHRlcn0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDQzKTtmdW5jdGlvbiBpKHQsZSl7dC5lbWl0KCJlcnJvciIsZSl9dC5leHBvcnRzPXtkZXN0cm95OmZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcyxvPXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkLHM9dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7cmV0dXJuIG98fHM/KGU/ZSh0KTohdHx8dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWR8fG4ubmV4dFRpY2soaSx0aGlzLHQpLHRoaXMpOih0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fZGVzdHJveSh0fHxudWxsLChmdW5jdGlvbih0KXshZSYmdD8obi5uZXh0VGljayhpLHIsdCksci5fd3JpdGFibGVTdGF0ZSYmKHIuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwKSk6ZSYmZSh0KX0pKSx0aGlzKX0sdW5kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPSExLHRoaXMuX3JlYWRhYmxlU3RhdGUucmVhZGluZz0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZD0hMSksdGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRpbmc9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMSl9fX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXt2YXIgbj12b2lkIDAhPT10JiZ0fHwidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJnNlbGZ8fHdpbmRvdyxpPUZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseTtmdW5jdGlvbiBvKHQsZSl7dGhpcy5faWQ9dCx0aGlzLl9jbGVhckZuPWV9ZS5zZXRUaW1lb3V0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBvKGkuY2FsbChzZXRUaW1lb3V0LG4sYXJndW1lbnRzKSxjbGVhclRpbWVvdXQpfSxlLnNldEludGVydmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBvKGkuY2FsbChzZXRJbnRlcnZhbCxuLGFyZ3VtZW50cyksY2xlYXJJbnRlcnZhbCl9LGUuY2xlYXJUaW1lb3V0PWUuY2xlYXJJbnRlcnZhbD1mdW5jdGlvbih0KXt0JiZ0LmNsb3NlKCl9LG8ucHJvdG90eXBlLnVucmVmPW8ucHJvdG90eXBlLnJlZj1mdW5jdGlvbigpe30sby5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXt0aGlzLl9jbGVhckZuLmNhbGwobix0aGlzLl9pZCl9LGUuZW5yb2xsPWZ1bmN0aW9uKHQsZSl7Y2xlYXJUaW1lb3V0KHQuX2lkbGVUaW1lb3V0SWQpLHQuX2lkbGVUaW1lb3V0PWV9LGUudW5lbnJvbGw9ZnVuY3Rpb24odCl7Y2xlYXJUaW1lb3V0KHQuX2lkbGVUaW1lb3V0SWQpLHQuX2lkbGVUaW1lb3V0PS0xfSxlLl91bnJlZkFjdGl2ZT1lLmFjdGl2ZT1mdW5jdGlvbih0KXtjbGVhclRpbWVvdXQodC5faWRsZVRpbWVvdXRJZCk7dmFyIGU9dC5faWRsZVRpbWVvdXQ7ZT49MCYmKHQuX2lkbGVUaW1lb3V0SWQ9c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0Ll9vblRpbWVvdXQmJnQuX29uVGltZW91dCgpfSksZSkpfSxyKDIwOCksZS5zZXRJbW1lZGlhdGU9InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiZzZWxmLnNldEltbWVkaWF0ZXx8dm9pZCAwIT09dCYmdC5zZXRJbW1lZGlhdGV8fHRoaXMmJnRoaXMuc2V0SW1tZWRpYXRlLGUuY2xlYXJJbW1lZGlhdGU9InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiZzZWxmLmNsZWFySW1tZWRpYXRlfHx2b2lkIDAhPT10JiZ0LmNsZWFySW1tZWRpYXRlfHx0aGlzJiZ0aGlzLmNsZWFySW1tZWRpYXRlfSkuY2FsbCh0aGlzLHIoNikpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1zO3ZhciBuPXIoMTkpLGk9T2JqZWN0LmNyZWF0ZShyKDM1KSk7ZnVuY3Rpb24gbyh0LGUpe3ZhciByPXRoaXMuX3RyYW5zZm9ybVN0YXRlO3IudHJhbnNmb3JtaW5nPSExO3ZhciBuPXIud3JpdGVjYjtpZighbilyZXR1cm4gdGhpcy5lbWl0KCJlcnJvciIsbmV3IEVycm9yKCJ3cml0ZSBjYWxsYmFjayBjYWxsZWQgbXVsdGlwbGUgdGltZXMiKSk7ci53cml0ZWNodW5rPW51bGwsci53cml0ZWNiPW51bGwsbnVsbCE9ZSYmdGhpcy5wdXNoKGUpLG4odCk7dmFyIGk9dGhpcy5fcmVhZGFibGVTdGF0ZTtpLnJlYWRpbmc9ITEsKGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9ZnVuY3Rpb24gcyh0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBzKSlyZXR1cm4gbmV3IHModCk7bi5jYWxsKHRoaXMsdCksdGhpcy5fdHJhbnNmb3JtU3RhdGU9e2FmdGVyVHJhbnNmb3JtOm8uYmluZCh0aGlzKSxuZWVkVHJhbnNmb3JtOiExLHRyYW5zZm9ybWluZzohMSx3cml0ZWNiOm51bGwsd3JpdGVjaHVuazpudWxsLHdyaXRlZW5jb2Rpbmc6bnVsbH0sdGhpcy5fcmVhZGFibGVTdGF0ZS5uZWVkUmVhZGFibGU9ITAsdGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jPSExLHQmJigiZnVuY3Rpb24iPT10eXBlb2YgdC50cmFuc2Zvcm0mJih0aGlzLl90cmFuc2Zvcm09dC50cmFuc2Zvcm0pLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmZsdXNoJiYodGhpcy5fZmx1c2g9dC5mbHVzaCkpLHRoaXMub24oInByZWZpbmlzaCIsYSl9ZnVuY3Rpb24gYSgpe3ZhciB0PXRoaXM7ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX2ZsdXNoP3RoaXMuX2ZsdXNoKChmdW5jdGlvbihlLHIpe3UodCxlLHIpfSkpOnUodGhpcyxudWxsLG51bGwpfWZ1bmN0aW9uIHUodCxlLHIpe2lmKGUpcmV0dXJuIHQuZW1pdCgiZXJyb3IiLGUpO2lmKG51bGwhPXImJnQucHVzaChyKSx0Ll93cml0YWJsZVN0YXRlLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkNhbGxpbmcgdHJhbnNmb3JtIGRvbmUgd2hlbiB3cy5sZW5ndGggIT0gMCIpO2lmKHQuX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZyl0aHJvdyBuZXcgRXJyb3IoIkNhbGxpbmcgdHJhbnNmb3JtIGRvbmUgd2hlbiBzdGlsbCB0cmFuc2Zvcm1pbmciKTtyZXR1cm4gdC5wdXNoKG51bGwpfWkuaW5oZXJpdHM9cigzKSxpLmluaGVyaXRzKHMsbikscy5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl90cmFuc2Zvcm1TdGF0ZS5uZWVkVHJhbnNmb3JtPSExLG4ucHJvdG90eXBlLnB1c2guY2FsbCh0aGlzLHQsZSl9LHMucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIpe3Rocm93IG5ldyBFcnJvcigiX3RyYW5zZm9ybSgpIGlzIG5vdCBpbXBsZW1lbnRlZCIpfSxzLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMuX3RyYW5zZm9ybVN0YXRlO2lmKG4ud3JpdGVjYj1yLG4ud3JpdGVjaHVuaz10LG4ud3JpdGVlbmNvZGluZz1lLCFuLnRyYW5zZm9ybWluZyl7dmFyIGk9dGhpcy5fcmVhZGFibGVTdGF0ZTsobi5uZWVkVHJhbnNmb3JtfHxpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfX0scy5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdHJhbnNmb3JtU3RhdGU7bnVsbCE9PWUud3JpdGVjaHVuayYmZS53cml0ZWNiJiYhZS50cmFuc2Zvcm1pbmc/KGUudHJhbnNmb3JtaW5nPSEwLHRoaXMuX3RyYW5zZm9ybShlLndyaXRlY2h1bmssZS53cml0ZWVuY29kaW5nLGUuYWZ0ZXJUcmFuc2Zvcm0pKTplLm5lZWRUcmFuc2Zvcm09ITB9LHMucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcztuLnByb3RvdHlwZS5fZGVzdHJveS5jYWxsKHRoaXMsdCwoZnVuY3Rpb24odCl7ZSh0KSxyLmVtaXQoImNsb3NlIil9KSl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1yKDIyNyksaT1yKDIyOCk7ZS5rZWNjYWsyMjQ9bi5jcmVhdGVIYXNoRnVuY3Rpb24oKGZ1bmN0aW9uKCl7cmV0dXJuIGkoImtlY2NhazIyNCIpfSkpLGUua2VjY2FrMjU2PW4uY3JlYXRlSGFzaEZ1bmN0aW9uKChmdW5jdGlvbigpe3JldHVybiBpKCJrZWNjYWsyNTYiKX0pKSxlLmtlY2NhazM4ND1uLmNyZWF0ZUhhc2hGdW5jdGlvbigoZnVuY3Rpb24oKXtyZXR1cm4gaSgia2VjY2FrMzg0Iil9KSksZS5rZWNjYWs1MTI9bi5jcmVhdGVIYXNoRnVuY3Rpb24oKGZ1bmN0aW9uKCl7cmV0dXJuIGkoImtlY2NhazUxMiIpfSkpfSxmdW5jdGlvbih0LGUscil7KGU9dC5leHBvcnRzPXIoMTEyKSkuU3RyZWFtPWUsZS5SZWFkYWJsZT1lLGUuV3JpdGFibGU9cigxMTYpLGUuRHVwbGV4PXIoMjgpLGUuVHJhbnNmb3JtPXIoMTE3KSxlLlBhc3NUaHJvdWdoPXIoMjM2KSxlLmZpbmlzaGVkPXIoNTcpLGUucGlwZWxpbmU9cigyMzcpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlLG4pe3ZhciBpO3QuZXhwb3J0cz14LHguUmVhZGFibGVTdGF0ZT1FO3IoMTIpLkV2ZW50RW1pdHRlcjt2YXIgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0Lmxpc3RlbmVycyhlKS5sZW5ndGh9LHM9cigxMTMpLGE9cigyKS5CdWZmZXIsdT1lLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fTt2YXIgYyxmPXIoMjMxKTtjPWYmJmYuZGVidWdsb2c/Zi5kZWJ1Z2xvZygic3RyZWFtIik6ZnVuY3Rpb24oKXt9O3ZhciBoLGwsZCxwPXIoMjMyKSxtPXIoMTE0KSxnPXIoMTE1KS5nZXRIaWdoV2F0ZXJNYXJrLGI9cigyNykuY29kZXMseT1iLkVSUl9JTlZBTElEX0FSR19UWVBFLHY9Yi5FUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GLF89Yi5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCx3PWIuRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVDtyKDMpKHgscyk7dmFyIE09bS5lcnJvck9yRGVzdHJveSxTPVsiZXJyb3IiLCJjbG9zZSIsImRlc3Ryb3kiLCJwYXVzZSIsInJlc3VtZSJdO2Z1bmN0aW9uIEUodCxlLG4pe2k9aXx8cigyOCksdD10fHx7fSwiYm9vbGVhbiIhPXR5cGVvZiBuJiYobj1lIGluc3RhbmNlb2YgaSksdGhpcy5vYmplY3RNb2RlPSEhdC5vYmplY3RNb2RlLG4mJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIXQucmVhZGFibGVPYmplY3RNb2RlKSx0aGlzLmhpZ2hXYXRlck1hcms9Zyh0aGlzLHQsInJlYWRhYmxlSGlnaFdhdGVyTWFyayIsbiksdGhpcy5idWZmZXI9bmV3IHAsdGhpcy5sZW5ndGg9MCx0aGlzLnBpcGVzPW51bGwsdGhpcy5waXBlc0NvdW50PTAsdGhpcy5mbG93aW5nPW51bGwsdGhpcy5lbmRlZD0hMSx0aGlzLmVuZEVtaXR0ZWQ9ITEsdGhpcy5yZWFkaW5nPSExLHRoaXMuc3luYz0hMCx0aGlzLm5lZWRSZWFkYWJsZT0hMSx0aGlzLmVtaXR0ZWRSZWFkYWJsZT0hMSx0aGlzLnJlYWRhYmxlTGlzdGVuaW5nPSExLHRoaXMucmVzdW1lU2NoZWR1bGVkPSExLHRoaXMucGF1c2VkPSEwLHRoaXMuZW1pdENsb3NlPSExIT09dC5lbWl0Q2xvc2UsdGhpcy5hdXRvRGVzdHJveT0hIXQuYXV0b0Rlc3Ryb3ksdGhpcy5kZXN0cm95ZWQ9ITEsdGhpcy5kZWZhdWx0RW5jb2Rpbmc9dC5kZWZhdWx0RW5jb2Rpbmd8fCJ1dGY4Iix0aGlzLmF3YWl0RHJhaW49MCx0aGlzLnJlYWRpbmdNb3JlPSExLHRoaXMuZGVjb2Rlcj1udWxsLHRoaXMuZW5jb2Rpbmc9bnVsbCx0LmVuY29kaW5nJiYoaHx8KGg9cigyMCkuU3RyaW5nRGVjb2RlciksdGhpcy5kZWNvZGVyPW5ldyBoKHQuZW5jb2RpbmcpLHRoaXMuZW5jb2Rpbmc9dC5lbmNvZGluZyl9ZnVuY3Rpb24geCh0KXtpZihpPWl8fHIoMjgpLCEodGhpcyBpbnN0YW5jZW9mIHgpKXJldHVybiBuZXcgeCh0KTt2YXIgZT10aGlzIGluc3RhbmNlb2YgaTt0aGlzLl9yZWFkYWJsZVN0YXRlPW5ldyBFKHQsdGhpcyxlKSx0aGlzLnJlYWRhYmxlPSEwLHQmJigiZnVuY3Rpb24iPT10eXBlb2YgdC5yZWFkJiYodGhpcy5fcmVhZD10LnJlYWQpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PXQuZGVzdHJveSkpLHMuY2FsbCh0aGlzKX1mdW5jdGlvbiBrKHQsZSxyLG4saSl7YygicmVhZGFibGVBZGRDaHVuayIsZSk7dmFyIG8scz10Ll9yZWFkYWJsZVN0YXRlO2lmKG51bGw9PT1lKXMucmVhZGluZz0hMSxmdW5jdGlvbih0LGUpe2lmKGMoIm9uRW9mQ2h1bmsiKSxlLmVuZGVkKXJldHVybjtpZihlLmRlY29kZXIpe3ZhciByPWUuZGVjb2Rlci5lbmQoKTtyJiZyLmxlbmd0aCYmKGUuYnVmZmVyLnB1c2gociksZS5sZW5ndGgrPWUub2JqZWN0TW9kZT8xOnIubGVuZ3RoKX1lLmVuZGVkPSEwLGUuc3luYz9UKHQpOihlLm5lZWRSZWFkYWJsZT0hMSxlLmVtaXR0ZWRSZWFkYWJsZXx8KGUuZW1pdHRlZFJlYWRhYmxlPSEwLE8odCkpKX0odCxzKTtlbHNlIGlmKGl8fChvPWZ1bmN0aW9uKHQsZSl7dmFyIHI7bj1lLGEuaXNCdWZmZXIobil8fG4gaW5zdGFuY2VvZiB1fHwic3RyaW5nIj09dHlwZW9mIGV8fHZvaWQgMD09PWV8fHQub2JqZWN0TW9kZXx8KHI9bmV3IHkoImNodW5rIixbInN0cmluZyIsIkJ1ZmZlciIsIlVpbnQ4QXJyYXkiXSxlKSk7dmFyIG47cmV0dXJuIHJ9KHMsZSkpLG8pTSh0LG8pO2Vsc2UgaWYocy5vYmplY3RNb2RlfHxlJiZlLmxlbmd0aD4wKWlmKCJzdHJpbmciPT10eXBlb2YgZXx8cy5vYmplY3RNb2RlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk9PT1hLnByb3RvdHlwZXx8KGU9ZnVuY3Rpb24odCl7cmV0dXJuIGEuZnJvbSh0KX0oZSkpLG4pcy5lbmRFbWl0dGVkP00odCxuZXcgdyk6QSh0LHMsZSwhMCk7ZWxzZSBpZihzLmVuZGVkKU0odCxuZXcgdik7ZWxzZXtpZihzLmRlc3Ryb3llZClyZXR1cm4hMTtzLnJlYWRpbmc9ITEscy5kZWNvZGVyJiYhcj8oZT1zLmRlY29kZXIud3JpdGUoZSkscy5vYmplY3RNb2RlfHwwIT09ZS5sZW5ndGg/QSh0LHMsZSwhMSk6Qyh0LHMpKTpBKHQscyxlLCExKX1lbHNlIG58fChzLnJlYWRpbmc9ITEsQyh0LHMpKTtyZXR1cm4hcy5lbmRlZCYmKHMubGVuZ3RoPHMuaGlnaFdhdGVyTWFya3x8MD09PXMubGVuZ3RoKX1mdW5jdGlvbiBBKHQsZSxyLG4pe2UuZmxvd2luZyYmMD09PWUubGVuZ3RoJiYhZS5zeW5jPyhlLmF3YWl0RHJhaW49MCx0LmVtaXQoImRhdGEiLHIpKTooZS5sZW5ndGgrPWUub2JqZWN0TW9kZT8xOnIubGVuZ3RoLG4/ZS5idWZmZXIudW5zaGlmdChyKTplLmJ1ZmZlci5wdXNoKHIpLGUubmVlZFJlYWRhYmxlJiZUKHQpKSxDKHQsZSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHgucHJvdG90eXBlLCJkZXN0cm95ZWQiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD10KX19KSx4LnByb3RvdHlwZS5kZXN0cm95PW0uZGVzdHJveSx4LnByb3RvdHlwZS5fdW5kZXN0cm95PW0udW5kZXN0cm95LHgucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7ZSh0KX0seC5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0LGUpe3ZhciByLG49dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4gbi5vYmplY3RNb2RlP3I9ITA6InN0cmluZyI9PXR5cGVvZiB0JiYoKGU9ZXx8bi5kZWZhdWx0RW5jb2RpbmcpIT09bi5lbmNvZGluZyYmKHQ9YS5mcm9tKHQsZSksZT0iIikscj0hMCksayh0aGlzLHQsZSwhMSxyKX0seC5wcm90b3R5cGUudW5zaGlmdD1mdW5jdGlvbih0KXtyZXR1cm4gayh0aGlzLHQsbnVsbCwhMCwhMSl9LHgucHJvdG90eXBlLmlzUGF1c2VkPWZ1bmN0aW9uKCl7cmV0dXJuITE9PT10aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmd9LHgucHJvdG90eXBlLnNldEVuY29kaW5nPWZ1bmN0aW9uKHQpe2h8fChoPXIoMjApLlN0cmluZ0RlY29kZXIpO3ZhciBlPW5ldyBoKHQpO3RoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlcj1lLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2Rpbmc9dGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyLmVuY29kaW5nO2Zvcih2YXIgbj10aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5oZWFkLGk9IiI7bnVsbCE9PW47KWkrPWUud3JpdGUobi5kYXRhKSxuPW4ubmV4dDtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuY2xlYXIoKSwiIiE9PWkmJnRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLnB1c2goaSksdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGg9aS5sZW5ndGgsdGhpc307ZnVuY3Rpb24gUih0LGUpe3JldHVybiB0PD0wfHwwPT09ZS5sZW5ndGgmJmUuZW5kZWQ/MDplLm9iamVjdE1vZGU/MTp0IT10P2UuZmxvd2luZyYmZS5sZW5ndGg/ZS5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aDplLmxlbmd0aDoodD5lLmhpZ2hXYXRlck1hcmsmJihlLmhpZ2hXYXRlck1hcms9ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTEwNzM3NDE4MjQ/dD0xMDczNzQxODI0Oih0LS0sdHw9dD4+PjEsdHw9dD4+PjIsdHw9dD4+PjQsdHw9dD4+PjgsdHw9dD4+PjE2LHQrKyksdH0odCkpLHQ8PWUubGVuZ3RoP3Q6ZS5lbmRlZD9lLmxlbmd0aDooZS5uZWVkUmVhZGFibGU9ITAsMCkpfWZ1bmN0aW9uIFQodCl7dmFyIGU9dC5fcmVhZGFibGVTdGF0ZTtjKCJlbWl0UmVhZGFibGUiLGUubmVlZFJlYWRhYmxlLGUuZW1pdHRlZFJlYWRhYmxlKSxlLm5lZWRSZWFkYWJsZT0hMSxlLmVtaXR0ZWRSZWFkYWJsZXx8KGMoImVtaXRSZWFkYWJsZSIsZS5mbG93aW5nKSxlLmVtaXR0ZWRSZWFkYWJsZT0hMCxuLm5leHRUaWNrKE8sdCkpfWZ1bmN0aW9uIE8odCl7dmFyIGU9dC5fcmVhZGFibGVTdGF0ZTtjKCJlbWl0UmVhZGFibGVfIixlLmRlc3Ryb3llZCxlLmxlbmd0aCxlLmVuZGVkKSxlLmRlc3Ryb3llZHx8IWUubGVuZ3RoJiYhZS5lbmRlZHx8KHQuZW1pdCgicmVhZGFibGUiKSxlLmVtaXR0ZWRSZWFkYWJsZT0hMSksZS5uZWVkUmVhZGFibGU9IWUuZmxvd2luZyYmIWUuZW5kZWQmJmUubGVuZ3RoPD1lLmhpZ2hXYXRlck1hcmssaih0KX1mdW5jdGlvbiBDKHQsZSl7ZS5yZWFkaW5nTW9yZXx8KGUucmVhZGluZ01vcmU9ITAsbi5uZXh0VGljayhQLHQsZSkpfWZ1bmN0aW9uIFAodCxlKXtmb3IoOyFlLnJlYWRpbmcmJiFlLmVuZGVkJiYoZS5sZW5ndGg8ZS5oaWdoV2F0ZXJNYXJrfHxlLmZsb3dpbmcmJjA9PT1lLmxlbmd0aCk7KXt2YXIgcj1lLmxlbmd0aDtpZihjKCJtYXliZVJlYWRNb3JlIHJlYWQgMCIpLHQucmVhZCgwKSxyPT09ZS5sZW5ndGgpYnJlYWt9ZS5yZWFkaW5nTW9yZT0hMX1mdW5jdGlvbiBJKHQpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7ZS5yZWFkYWJsZUxpc3RlbmluZz10Lmxpc3RlbmVyQ291bnQoInJlYWRhYmxlIik+MCxlLnJlc3VtZVNjaGVkdWxlZCYmIWUucGF1c2VkP2UuZmxvd2luZz0hMDp0Lmxpc3RlbmVyQ291bnQoImRhdGEiKT4wJiZ0LnJlc3VtZSgpfWZ1bmN0aW9uIEIodCl7YygicmVhZGFibGUgbmV4dHRpY2sgcmVhZCAwIiksdC5yZWFkKDApfWZ1bmN0aW9uIEwodCxlKXtjKCJyZXN1bWUiLGUucmVhZGluZyksZS5yZWFkaW5nfHx0LnJlYWQoMCksZS5yZXN1bWVTY2hlZHVsZWQ9ITEsdC5lbWl0KCJyZXN1bWUiKSxqKHQpLGUuZmxvd2luZyYmIWUucmVhZGluZyYmdC5yZWFkKDApfWZ1bmN0aW9uIGoodCl7dmFyIGU9dC5fcmVhZGFibGVTdGF0ZTtmb3IoYygiZmxvdyIsZS5mbG93aW5nKTtlLmZsb3dpbmcmJm51bGwhPT10LnJlYWQoKTspO31mdW5jdGlvbiBOKHQsZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD9udWxsOihlLm9iamVjdE1vZGU/cj1lLmJ1ZmZlci5zaGlmdCgpOiF0fHx0Pj1lLmxlbmd0aD8ocj1lLmRlY29kZXI/ZS5idWZmZXIuam9pbigiIik6MT09PWUuYnVmZmVyLmxlbmd0aD9lLmJ1ZmZlci5maXJzdCgpOmUuYnVmZmVyLmNvbmNhdChlLmxlbmd0aCksZS5idWZmZXIuY2xlYXIoKSk6cj1lLmJ1ZmZlci5jb25zdW1lKHQsZS5kZWNvZGVyKSxyKTt2YXIgcn1mdW5jdGlvbiBxKHQpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7YygiZW5kUmVhZGFibGUiLGUuZW5kRW1pdHRlZCksZS5lbmRFbWl0dGVkfHwoZS5lbmRlZD0hMCxuLm5leHRUaWNrKFUsZSx0KSl9ZnVuY3Rpb24gVSh0LGUpe2lmKGMoImVuZFJlYWRhYmxlTlQiLHQuZW5kRW1pdHRlZCx0Lmxlbmd0aCksIXQuZW5kRW1pdHRlZCYmMD09PXQubGVuZ3RoJiYodC5lbmRFbWl0dGVkPSEwLGUucmVhZGFibGU9ITEsZS5lbWl0KCJlbmQiKSx0LmF1dG9EZXN0cm95KSl7dmFyIHI9ZS5fd3JpdGFibGVTdGF0ZTsoIXJ8fHIuYXV0b0Rlc3Ryb3kmJnIuZmluaXNoZWQpJiZlLmRlc3Ryb3koKX19ZnVuY3Rpb24gRCh0LGUpe2Zvcih2YXIgcj0wLG49dC5sZW5ndGg7cjxuO3IrKylpZih0W3JdPT09ZSlyZXR1cm4gcjtyZXR1cm4tMX14LnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKHQpe2MoInJlYWQiLHQpLHQ9cGFyc2VJbnQodCwxMCk7dmFyIGU9dGhpcy5fcmVhZGFibGVTdGF0ZSxyPXQ7aWYoMCE9PXQmJihlLmVtaXR0ZWRSZWFkYWJsZT0hMSksMD09PXQmJmUubmVlZFJlYWRhYmxlJiYoKDAhPT1lLmhpZ2hXYXRlck1hcms/ZS5sZW5ndGg+PWUuaGlnaFdhdGVyTWFyazplLmxlbmd0aD4wKXx8ZS5lbmRlZCkpcmV0dXJuIGMoInJlYWQ6IGVtaXRSZWFkYWJsZSIsZS5sZW5ndGgsZS5lbmRlZCksMD09PWUubGVuZ3RoJiZlLmVuZGVkP3EodGhpcyk6VCh0aGlzKSxudWxsO2lmKDA9PT0odD1SKHQsZSkpJiZlLmVuZGVkKXJldHVybiAwPT09ZS5sZW5ndGgmJnEodGhpcyksbnVsbDt2YXIgbixpPWUubmVlZFJlYWRhYmxlO3JldHVybiBjKCJuZWVkIHJlYWRhYmxlIixpKSwoMD09PWUubGVuZ3RofHxlLmxlbmd0aC10PGUuaGlnaFdhdGVyTWFyaykmJmMoImxlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrIixpPSEwKSxlLmVuZGVkfHxlLnJlYWRpbmc/YygicmVhZGluZyBvciBlbmRlZCIsaT0hMSk6aSYmKGMoImRvIHJlYWQiKSxlLnJlYWRpbmc9ITAsZS5zeW5jPSEwLDA9PT1lLmxlbmd0aCYmKGUubmVlZFJlYWRhYmxlPSEwKSx0aGlzLl9yZWFkKGUuaGlnaFdhdGVyTWFyayksZS5zeW5jPSExLGUucmVhZGluZ3x8KHQ9UihyLGUpKSksbnVsbD09PShuPXQ+MD9OKHQsZSk6bnVsbCk/KGUubmVlZFJlYWRhYmxlPWUubGVuZ3RoPD1lLmhpZ2hXYXRlck1hcmssdD0wKTooZS5sZW5ndGgtPXQsZS5hd2FpdERyYWluPTApLDA9PT1lLmxlbmd0aCYmKGUuZW5kZWR8fChlLm5lZWRSZWFkYWJsZT0hMCksciE9PXQmJmUuZW5kZWQmJnEodGhpcykpLG51bGwhPT1uJiZ0aGlzLmVtaXQoImRhdGEiLG4pLG59LHgucHJvdG90eXBlLl9yZWFkPWZ1bmN0aW9uKHQpe00odGhpcyxuZXcgXygiX3JlYWQoKSIpKX0seC5wcm90b3R5cGUucGlwZT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMsaT10aGlzLl9yZWFkYWJsZVN0YXRlO3N3aXRjaChpLnBpcGVzQ291bnQpe2Nhc2UgMDppLnBpcGVzPXQ7YnJlYWs7Y2FzZSAxOmkucGlwZXM9W2kucGlwZXMsdF07YnJlYWs7ZGVmYXVsdDppLnBpcGVzLnB1c2godCl9aS5waXBlc0NvdW50Kz0xLGMoInBpcGUgY291bnQ9JWQgb3B0cz0laiIsaS5waXBlc0NvdW50LGUpO3ZhciBzPSghZXx8ITEhPT1lLmVuZCkmJnQhPT1uLnN0ZG91dCYmdCE9PW4uc3RkZXJyP3U6ZztmdW5jdGlvbiBhKGUsbil7Yygib251bnBpcGUiKSxlPT09ciYmbiYmITE9PT1uLmhhc1VucGlwZWQmJihuLmhhc1VucGlwZWQ9ITAsYygiY2xlYW51cCIpLHQucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixwKSx0LnJlbW92ZUxpc3RlbmVyKCJmaW5pc2giLG0pLHQucmVtb3ZlTGlzdGVuZXIoImRyYWluIixmKSx0LnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsZCksdC5yZW1vdmVMaXN0ZW5lcigidW5waXBlIixhKSxyLnJlbW92ZUxpc3RlbmVyKCJlbmQiLHUpLHIucmVtb3ZlTGlzdGVuZXIoImVuZCIsZyksci5yZW1vdmVMaXN0ZW5lcigiZGF0YSIsbCksaD0hMCwhaS5hd2FpdERyYWlufHx0Ll93cml0YWJsZVN0YXRlJiYhdC5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW58fGYoKSl9ZnVuY3Rpb24gdSgpe2MoIm9uZW5kIiksdC5lbmQoKX1pLmVuZEVtaXR0ZWQ/bi5uZXh0VGljayhzKTpyLm9uY2UoImVuZCIscyksdC5vbigidW5waXBlIixhKTt2YXIgZj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10Ll9yZWFkYWJsZVN0YXRlO2MoInBpcGVPbkRyYWluIixlLmF3YWl0RHJhaW4pLGUuYXdhaXREcmFpbiYmZS5hd2FpdERyYWluLS0sMD09PWUuYXdhaXREcmFpbiYmbyh0LCJkYXRhIikmJihlLmZsb3dpbmc9ITAsaih0KSl9fShyKTt0Lm9uKCJkcmFpbiIsZik7dmFyIGg9ITE7ZnVuY3Rpb24gbChlKXtjKCJvbmRhdGEiKTt2YXIgbj10LndyaXRlKGUpO2MoImRlc3Qud3JpdGUiLG4pLCExPT09biYmKCgxPT09aS5waXBlc0NvdW50JiZpLnBpcGVzPT09dHx8aS5waXBlc0NvdW50PjEmJi0xIT09RChpLnBpcGVzLHQpKSYmIWgmJihjKCJmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2UiLGkuYXdhaXREcmFpbiksaS5hd2FpdERyYWluKyspLHIucGF1c2UoKSl9ZnVuY3Rpb24gZChlKXtjKCJvbmVycm9yIixlKSxnKCksdC5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGQpLDA9PT1vKHQsImVycm9yIikmJk0odCxlKX1mdW5jdGlvbiBwKCl7dC5yZW1vdmVMaXN0ZW5lcigiZmluaXNoIixtKSxnKCl9ZnVuY3Rpb24gbSgpe2MoIm9uZmluaXNoIiksdC5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLHApLGcoKX1mdW5jdGlvbiBnKCl7YygidW5waXBlIiksci51bnBpcGUodCl9cmV0dXJuIHIub24oImRhdGEiLGwpLGZ1bmN0aW9uKHQsZSxyKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdC5wcmVwZW5kTGlzdGVuZXIpcmV0dXJuIHQucHJlcGVuZExpc3RlbmVyKGUscik7dC5fZXZlbnRzJiZ0Ll9ldmVudHNbZV0/QXJyYXkuaXNBcnJheSh0Ll9ldmVudHNbZV0pP3QuX2V2ZW50c1tlXS51bnNoaWZ0KHIpOnQuX2V2ZW50c1tlXT1bcix0Ll9ldmVudHNbZV1dOnQub24oZSxyKX0odCwiZXJyb3IiLGQpLHQub25jZSgiY2xvc2UiLHApLHQub25jZSgiZmluaXNoIixtKSx0LmVtaXQoInBpcGUiLHIpLGkuZmxvd2luZ3x8KGMoInBpcGUgcmVzdW1lIiksci5yZXN1bWUoKSksdH0seC5wcm90b3R5cGUudW5waXBlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3JlYWRhYmxlU3RhdGUscj17aGFzVW5waXBlZDohMX07aWYoMD09PWUucGlwZXNDb3VudClyZXR1cm4gdGhpcztpZigxPT09ZS5waXBlc0NvdW50KXJldHVybiB0JiZ0IT09ZS5waXBlc3x8KHR8fCh0PWUucGlwZXMpLGUucGlwZXM9bnVsbCxlLnBpcGVzQ291bnQ9MCxlLmZsb3dpbmc9ITEsdCYmdC5lbWl0KCJ1bnBpcGUiLHRoaXMscikpLHRoaXM7aWYoIXQpe3ZhciBuPWUucGlwZXMsaT1lLnBpcGVzQ291bnQ7ZS5waXBlcz1udWxsLGUucGlwZXNDb3VudD0wLGUuZmxvd2luZz0hMTtmb3IodmFyIG89MDtvPGk7bysrKW5bb10uZW1pdCgidW5waXBlIix0aGlzLHtoYXNVbnBpcGVkOiExfSk7cmV0dXJuIHRoaXN9dmFyIHM9RChlLnBpcGVzLHQpO3JldHVybi0xPT09c3x8KGUucGlwZXMuc3BsaWNlKHMsMSksZS5waXBlc0NvdW50LT0xLDE9PT1lLnBpcGVzQ291bnQmJihlLnBpcGVzPWUucGlwZXNbMF0pLHQuZW1pdCgidW5waXBlIix0aGlzLHIpKSx0aGlzfSx4LnByb3RvdHlwZS5vbj1mdW5jdGlvbih0LGUpe3ZhciByPXMucHJvdG90eXBlLm9uLmNhbGwodGhpcyx0LGUpLGk9dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4iZGF0YSI9PT10PyhpLnJlYWRhYmxlTGlzdGVuaW5nPXRoaXMubGlzdGVuZXJDb3VudCgicmVhZGFibGUiKT4wLCExIT09aS5mbG93aW5nJiZ0aGlzLnJlc3VtZSgpKToicmVhZGFibGUiPT09dCYmKGkuZW5kRW1pdHRlZHx8aS5yZWFkYWJsZUxpc3RlbmluZ3x8KGkucmVhZGFibGVMaXN0ZW5pbmc9aS5uZWVkUmVhZGFibGU9ITAsaS5mbG93aW5nPSExLGkuZW1pdHRlZFJlYWRhYmxlPSExLGMoIm9uIHJlYWRhYmxlIixpLmxlbmd0aCxpLnJlYWRpbmcpLGkubGVuZ3RoP1QodGhpcyk6aS5yZWFkaW5nfHxuLm5leHRUaWNrKEIsdGhpcykpKSxyfSx4LnByb3RvdHlwZS5hZGRMaXN0ZW5lcj14LnByb3RvdHlwZS5vbix4LnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbih0LGUpe3ZhciByPXMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLmNhbGwodGhpcyx0LGUpO3JldHVybiJyZWFkYWJsZSI9PT10JiZuLm5leHRUaWNrKEksdGhpcykscn0seC5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3ZhciBlPXMucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuInJlYWRhYmxlIiE9PXQmJnZvaWQgMCE9PXR8fG4ubmV4dFRpY2soSSx0aGlzKSxlfSx4LnByb3RvdHlwZS5yZXN1bWU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9yZWFkYWJsZVN0YXRlO3JldHVybiB0LmZsb3dpbmd8fChjKCJyZXN1bWUiKSx0LmZsb3dpbmc9IXQucmVhZGFibGVMaXN0ZW5pbmcsZnVuY3Rpb24odCxlKXtlLnJlc3VtZVNjaGVkdWxlZHx8KGUucmVzdW1lU2NoZWR1bGVkPSEwLG4ubmV4dFRpY2soTCx0LGUpKX0odGhpcyx0KSksdC5wYXVzZWQ9ITEsdGhpc30seC5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oKXtyZXR1cm4gYygiY2FsbCBwYXVzZSBmbG93aW5nPSVqIix0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcpLCExIT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nJiYoYygicGF1c2UiKSx0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc9ITEsdGhpcy5lbWl0KCJwYXVzZSIpKSx0aGlzLl9yZWFkYWJsZVN0YXRlLnBhdXNlZD0hMCx0aGlzfSx4LnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMscj10aGlzLl9yZWFkYWJsZVN0YXRlLG49ITE7Zm9yKHZhciBpIGluIHQub24oImVuZCIsKGZ1bmN0aW9uKCl7aWYoYygid3JhcHBlZCBlbmQiKSxyLmRlY29kZXImJiFyLmVuZGVkKXt2YXIgdD1yLmRlY29kZXIuZW5kKCk7dCYmdC5sZW5ndGgmJmUucHVzaCh0KX1lLnB1c2gobnVsbCl9KSksdC5vbigiZGF0YSIsKGZ1bmN0aW9uKGkpeyhjKCJ3cmFwcGVkIGRhdGEiKSxyLmRlY29kZXImJihpPXIuZGVjb2Rlci53cml0ZShpKSksci5vYmplY3RNb2RlJiZudWxsPT1pKXx8KHIub2JqZWN0TW9kZXx8aSYmaS5sZW5ndGgpJiYoZS5wdXNoKGkpfHwobj0hMCx0LnBhdXNlKCkpKX0pKSx0KXZvaWQgMD09PXRoaXNbaV0mJiJmdW5jdGlvbiI9PXR5cGVvZiB0W2ldJiYodGhpc1tpXT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdFtlXS5hcHBseSh0LGFyZ3VtZW50cyl9fShpKSk7Zm9yKHZhciBvPTA7bzxTLmxlbmd0aDtvKyspdC5vbihTW29dLHRoaXMuZW1pdC5iaW5kKHRoaXMsU1tvXSkpO3JldHVybiB0aGlzLl9yZWFkPWZ1bmN0aW9uKGUpe2MoIndyYXBwZWQgX3JlYWQiLGUpLG4mJihuPSExLHQucmVzdW1lKCkpfSx0aGlzfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoeC5wcm90b3R5cGVbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PWwmJihsPXIoMjM0KSksbCh0aGlzKX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwicmVhZGFibGVIaWdoV2F0ZXJNYXJrIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwicmVhZGFibGVCdWZmZXIiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlcn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsInJlYWRhYmxlRmxvd2luZyIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZ30sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc9dCl9fSkseC5fZnJvbUxpc3Q9TixPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsInJlYWRhYmxlTGVuZ3RoIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGh9fSksImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKHguZnJvbT1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT1kJiYoZD1yKDIzNSkpLGQoeCx0LGUpfSl9KS5jYWxsKHRoaXMscig2KSxyKDUpKX0sZnVuY3Rpb24odCxlLHIpe3QuZXhwb3J0cz1yKDEyKS5FdmVudEVtaXR0ZXJ9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHIodCxlKXtpKHQsZSksbih0KX1mdW5jdGlvbiBuKHQpe3QuX3dyaXRhYmxlU3RhdGUmJiF0Ll93cml0YWJsZVN0YXRlLmVtaXRDbG9zZXx8dC5fcmVhZGFibGVTdGF0ZSYmIXQuX3JlYWRhYmxlU3RhdGUuZW1pdENsb3NlfHx0LmVtaXQoImNsb3NlIil9ZnVuY3Rpb24gaSh0LGUpe3QuZW1pdCgiZXJyb3IiLGUpfXQuZXhwb3J0cz17ZGVzdHJveTpmdW5jdGlvbih0LG8pe3ZhciBzPXRoaXMsYT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCx1PXRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkO3JldHVybiBhfHx1PyhvP28odCk6dCYmKHRoaXMuX3dyaXRhYmxlU3RhdGU/dGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWR8fCh0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxlLm5leHRUaWNrKGksdGhpcyx0KSk6ZS5uZXh0VGljayhpLHRoaXMsdCkpLHRoaXMpOih0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fZGVzdHJveSh0fHxudWxsLChmdW5jdGlvbih0KXshbyYmdD9zLl93cml0YWJsZVN0YXRlP3MuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkP2UubmV4dFRpY2sobixzKToocy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAsZS5uZXh0VGljayhyLHMsdCkpOmUubmV4dFRpY2socixzLHQpOm8/KGUubmV4dFRpY2sobixzKSxvKHQpKTplLm5leHRUaWNrKG4scyl9KSksdGhpcyl9LHVuZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLnJlYWRpbmc9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ9ITEpLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kaW5nPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluYWxDYWxsZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5wcmVmaW5pc2hlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSExKX0sZXJyb3JPckRlc3Ryb3k6ZnVuY3Rpb24odCxlKXt2YXIgcj10Ll9yZWFkYWJsZVN0YXRlLG49dC5fd3JpdGFibGVTdGF0ZTtyJiZyLmF1dG9EZXN0cm95fHxuJiZuLmF1dG9EZXN0cm95P3QuZGVzdHJveShlKTp0LmVtaXQoImVycm9yIixlKX19fSkuY2FsbCh0aGlzLHIoNSkpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMjcpLmNvZGVzLkVSUl9JTlZBTElEX09QVF9WQUxVRTt0LmV4cG9ydHM9e2dldEhpZ2hXYXRlck1hcms6ZnVuY3Rpb24odCxlLHIsaSl7dmFyIG89ZnVuY3Rpb24odCxlLHIpe3JldHVybiBudWxsIT10LmhpZ2hXYXRlck1hcms/dC5oaWdoV2F0ZXJNYXJrOmU/dFtyXTpudWxsfShlLGkscik7aWYobnVsbCE9byl7aWYoIWlzRmluaXRlKG8pfHxNYXRoLmZsb29yKG8pIT09b3x8bzwwKXRocm93IG5ldyBuKGk/cjoiaGlnaFdhdGVyTWFyayIsbyk7cmV0dXJuIE1hdGguZmxvb3Iobyl9cmV0dXJuIHQub2JqZWN0TW9kZT8xNjoxNjM4NH19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlLG4pe2Z1bmN0aW9uIGkodCl7dmFyIGU9dGhpczt0aGlzLm5leHQ9bnVsbCx0aGlzLmVudHJ5PW51bGwsdGhpcy5maW5pc2g9ZnVuY3Rpb24oKXshZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuZW50cnk7dC5lbnRyeT1udWxsO2Zvcig7bjspe3ZhciBpPW4uY2FsbGJhY2s7ZS5wZW5kaW5nY2ItLSxpKHIpLG49bi5uZXh0fWUuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQ9dH0oZSx0KX19dmFyIG87dC5leHBvcnRzPXgseC5Xcml0YWJsZVN0YXRlPUU7dmFyIHM9e2RlcHJlY2F0ZTpyKDU0KX0sYT1yKDExMyksdT1yKDIpLkJ1ZmZlcixjPWUuVWludDhBcnJheXx8ZnVuY3Rpb24oKXt9O3ZhciBmLGg9cigxMTQpLGw9cigxMTUpLmdldEhpZ2hXYXRlck1hcmssZD1yKDI3KS5jb2RlcyxwPWQuRVJSX0lOVkFMSURfQVJHX1RZUEUsbT1kLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELGc9ZC5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssYj1kLkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUseT1kLkVSUl9TVFJFQU1fREVTVFJPWUVELHY9ZC5FUlJfU1RSRUFNX05VTExfVkFMVUVTLF89ZC5FUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCx3PWQuRVJSX1VOS05PV05fRU5DT0RJTkcsTT1oLmVycm9yT3JEZXN0cm95O2Z1bmN0aW9uIFMoKXt9ZnVuY3Rpb24gRSh0LGUscyl7bz1vfHxyKDI4KSx0PXR8fHt9LCJib29sZWFuIiE9dHlwZW9mIHMmJihzPWUgaW5zdGFuY2VvZiBvKSx0aGlzLm9iamVjdE1vZGU9ISF0Lm9iamVjdE1vZGUscyYmKHRoaXMub2JqZWN0TW9kZT10aGlzLm9iamVjdE1vZGV8fCEhdC53cml0YWJsZU9iamVjdE1vZGUpLHRoaXMuaGlnaFdhdGVyTWFyaz1sKHRoaXMsdCwid3JpdGFibGVIaWdoV2F0ZXJNYXJrIixzKSx0aGlzLmZpbmFsQ2FsbGVkPSExLHRoaXMubmVlZERyYWluPSExLHRoaXMuZW5kaW5nPSExLHRoaXMuZW5kZWQ9ITEsdGhpcy5maW5pc2hlZD0hMSx0aGlzLmRlc3Ryb3llZD0hMTt2YXIgYT0hMT09PXQuZGVjb2RlU3RyaW5nczt0aGlzLmRlY29kZVN0cmluZ3M9IWEsdGhpcy5kZWZhdWx0RW5jb2Rpbmc9dC5kZWZhdWx0RW5jb2Rpbmd8fCJ1dGY4Iix0aGlzLmxlbmd0aD0wLHRoaXMud3JpdGluZz0hMSx0aGlzLmNvcmtlZD0wLHRoaXMuc3luYz0hMCx0aGlzLmJ1ZmZlclByb2Nlc3Npbmc9ITEsdGhpcy5vbndyaXRlPWZ1bmN0aW9uKHQpeyFmdW5jdGlvbih0LGUpe3ZhciByPXQuX3dyaXRhYmxlU3RhdGUsaT1yLnN5bmMsbz1yLndyaXRlY2I7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG8pdGhyb3cgbmV3IGc7aWYoZnVuY3Rpb24odCl7dC53cml0aW5nPSExLHQud3JpdGVjYj1udWxsLHQubGVuZ3RoLT10LndyaXRlbGVuLHQud3JpdGVsZW49MH0ociksZSkhZnVuY3Rpb24odCxlLHIsaSxvKXstLWUucGVuZGluZ2NiLHI/KG4ubmV4dFRpY2sobyxpKSxuLm5leHRUaWNrKEMsdCxlKSx0Ll93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxNKHQsaSkpOihvKGkpLHQuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLE0odCxpKSxDKHQsZSkpfSh0LHIsaSxlLG8pO2Vsc2V7dmFyIHM9VChyKXx8dC5kZXN0cm95ZWQ7c3x8ci5jb3JrZWR8fHIuYnVmZmVyUHJvY2Vzc2luZ3x8IXIuYnVmZmVyZWRSZXF1ZXN0fHxSKHQsciksaT9uLm5leHRUaWNrKEEsdCxyLHMsbyk6QSh0LHIscyxvKX19KGUsdCl9LHRoaXMud3JpdGVjYj1udWxsLHRoaXMud3JpdGVsZW49MCx0aGlzLmJ1ZmZlcmVkUmVxdWVzdD1udWxsLHRoaXMubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsLHRoaXMucGVuZGluZ2NiPTAsdGhpcy5wcmVmaW5pc2hlZD0hMSx0aGlzLmVycm9yRW1pdHRlZD0hMSx0aGlzLmVtaXRDbG9zZT0hMSE9PXQuZW1pdENsb3NlLHRoaXMuYXV0b0Rlc3Ryb3k9ISF0LmF1dG9EZXN0cm95LHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MCx0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgaSh0aGlzKX1mdW5jdGlvbiB4KHQpe3ZhciBlPXRoaXMgaW5zdGFuY2VvZihvPW98fHIoMjgpKTtpZighZSYmIWYuY2FsbCh4LHRoaXMpKXJldHVybiBuZXcgeCh0KTt0aGlzLl93cml0YWJsZVN0YXRlPW5ldyBFKHQsdGhpcyxlKSx0aGlzLndyaXRhYmxlPSEwLHQmJigiZnVuY3Rpb24iPT10eXBlb2YgdC53cml0ZSYmKHRoaXMuX3dyaXRlPXQud3JpdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LndyaXRldiYmKHRoaXMuX3dyaXRldj10LndyaXRldiksImZ1bmN0aW9uIj09dHlwZW9mIHQuZGVzdHJveSYmKHRoaXMuX2Rlc3Ryb3k9dC5kZXN0cm95KSwiZnVuY3Rpb24iPT10eXBlb2YgdC5maW5hbCYmKHRoaXMuX2ZpbmFsPXQuZmluYWwpKSxhLmNhbGwodGhpcyl9ZnVuY3Rpb24gayh0LGUscixuLGksbyxzKXtlLndyaXRlbGVuPW4sZS53cml0ZWNiPXMsZS53cml0aW5nPSEwLGUuc3luYz0hMCxlLmRlc3Ryb3llZD9lLm9ud3JpdGUobmV3IHkoIndyaXRlIikpOnI/dC5fd3JpdGV2KGksZS5vbndyaXRlKTp0Ll93cml0ZShpLG8sZS5vbndyaXRlKSxlLnN5bmM9ITF9ZnVuY3Rpb24gQSh0LGUscixuKXtyfHxmdW5jdGlvbih0LGUpezA9PT1lLmxlbmd0aCYmZS5uZWVkRHJhaW4mJihlLm5lZWREcmFpbj0hMSx0LmVtaXQoImRyYWluIikpfSh0LGUpLGUucGVuZGluZ2NiLS0sbigpLEModCxlKX1mdW5jdGlvbiBSKHQsZSl7ZS5idWZmZXJQcm9jZXNzaW5nPSEwO3ZhciByPWUuYnVmZmVyZWRSZXF1ZXN0O2lmKHQuX3dyaXRldiYmciYmci5uZXh0KXt2YXIgbj1lLmJ1ZmZlcmVkUmVxdWVzdENvdW50LG89bmV3IEFycmF5KG4pLHM9ZS5jb3JrZWRSZXF1ZXN0c0ZyZWU7cy5lbnRyeT1yO2Zvcih2YXIgYT0wLHU9ITA7cjspb1thXT1yLHIuaXNCdWZ8fCh1PSExKSxyPXIubmV4dCxhKz0xO28uYWxsQnVmZmVycz11LGsodCxlLCEwLGUubGVuZ3RoLG8sIiIscy5maW5pc2gpLGUucGVuZGluZ2NiKyssZS5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwscy5uZXh0PyhlLmNvcmtlZFJlcXVlc3RzRnJlZT1zLm5leHQscy5uZXh0PW51bGwpOmUuY29ya2VkUmVxdWVzdHNGcmVlPW5ldyBpKGUpLGUuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MH1lbHNle2Zvcig7cjspe3ZhciBjPXIuY2h1bmssZj1yLmVuY29kaW5nLGg9ci5jYWxsYmFjaztpZihrKHQsZSwhMSxlLm9iamVjdE1vZGU/MTpjLmxlbmd0aCxjLGYsaCkscj1yLm5leHQsZS5idWZmZXJlZFJlcXVlc3RDb3VudC0tLGUud3JpdGluZylicmVha31udWxsPT09ciYmKGUubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsKX1lLmJ1ZmZlcmVkUmVxdWVzdD1yLGUuYnVmZmVyUHJvY2Vzc2luZz0hMX1mdW5jdGlvbiBUKHQpe3JldHVybiB0LmVuZGluZyYmMD09PXQubGVuZ3RoJiZudWxsPT09dC5idWZmZXJlZFJlcXVlc3QmJiF0LmZpbmlzaGVkJiYhdC53cml0aW5nfWZ1bmN0aW9uIE8odCxlKXt0Ll9maW5hbCgoZnVuY3Rpb24ocil7ZS5wZW5kaW5nY2ItLSxyJiZNKHQsciksZS5wcmVmaW5pc2hlZD0hMCx0LmVtaXQoInByZWZpbmlzaCIpLEModCxlKX0pKX1mdW5jdGlvbiBDKHQsZSl7dmFyIHI9VChlKTtpZihyJiYoZnVuY3Rpb24odCxlKXtlLnByZWZpbmlzaGVkfHxlLmZpbmFsQ2FsbGVkfHwoImZ1bmN0aW9uIiE9dHlwZW9mIHQuX2ZpbmFsfHxlLmRlc3Ryb3llZD8oZS5wcmVmaW5pc2hlZD0hMCx0LmVtaXQoInByZWZpbmlzaCIpKTooZS5wZW5kaW5nY2IrKyxlLmZpbmFsQ2FsbGVkPSEwLG4ubmV4dFRpY2soTyx0LGUpKSl9KHQsZSksMD09PWUucGVuZGluZ2NiJiYoZS5maW5pc2hlZD0hMCx0LmVtaXQoImZpbmlzaCIpLGUuYXV0b0Rlc3Ryb3kpKSl7dmFyIGk9dC5fcmVhZGFibGVTdGF0ZTsoIWl8fGkuYXV0b0Rlc3Ryb3kmJmkuZW5kRW1pdHRlZCkmJnQuZGVzdHJveSgpfXJldHVybiByfXIoMykoeCxhKSxFLnByb3RvdHlwZS5nZXRCdWZmZXI9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5idWZmZXJlZFJlcXVlc3QsZT1bXTt0OyllLnB1c2godCksdD10Lm5leHQ7cmV0dXJuIGV9LGZ1bmN0aW9uKCl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eShFLnByb3RvdHlwZSwiYnVmZmVyIix7Z2V0OnMuZGVwcmVjYXRlKChmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEJ1ZmZlcigpfSksIl93cml0YWJsZVN0YXRlLmJ1ZmZlciBpcyBkZXByZWNhdGVkLiBVc2UgX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyIGluc3RlYWQuIiwiREVQMDAwMyIpfSl9Y2F0Y2godCl7fX0oKSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaGFzSW5zdGFuY2UmJiJmdW5jdGlvbiI9PXR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXT8oZj1GdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeCxTeW1ib2wuaGFzSW5zdGFuY2Use3ZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiEhZi5jYWxsKHRoaXMsdCl8fHRoaXM9PT14JiYodCYmdC5fd3JpdGFibGVTdGF0ZSBpbnN0YW5jZW9mIEUpfX0pKTpmPWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgdGhpc30seC5wcm90b3R5cGUucGlwZT1mdW5jdGlvbigpe00odGhpcyxuZXcgYil9LHgucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaSxvPXRoaXMuX3dyaXRhYmxlU3RhdGUscz0hMSxhPSFvLm9iamVjdE1vZGUmJihpPXQsdS5pc0J1ZmZlcihpKXx8aSBpbnN0YW5jZW9mIGMpO3JldHVybiBhJiYhdS5pc0J1ZmZlcih0KSYmKHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHUuZnJvbSh0KX0odCkpLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiYocj1lLGU9bnVsbCksYT9lPSJidWZmZXIiOmV8fChlPW8uZGVmYXVsdEVuY29kaW5nKSwiZnVuY3Rpb24iIT10eXBlb2YgciYmKHI9Uyksby5lbmRpbmc/ZnVuY3Rpb24odCxlKXt2YXIgcj1uZXcgXztNKHQsciksbi5uZXh0VGljayhlLHIpfSh0aGlzLHIpOihhfHxmdW5jdGlvbih0LGUscixpKXt2YXIgbztyZXR1cm4gbnVsbD09PXI/bz1uZXcgdjoic3RyaW5nIj09dHlwZW9mIHJ8fGUub2JqZWN0TW9kZXx8KG89bmV3IHAoImNodW5rIixbInN0cmluZyIsIkJ1ZmZlciJdLHIpKSwhb3x8KE0odCxvKSxuLm5leHRUaWNrKGksbyksITEpfSh0aGlzLG8sdCxyKSkmJihvLnBlbmRpbmdjYisrLHM9ZnVuY3Rpb24odCxlLHIsbixpLG8pe2lmKCFyKXt2YXIgcz1mdW5jdGlvbih0LGUscil7dC5vYmplY3RNb2RlfHwhMT09PXQuZGVjb2RlU3RyaW5nc3x8InN0cmluZyIhPXR5cGVvZiBlfHwoZT11LmZyb20oZSxyKSk7cmV0dXJuIGV9KGUsbixpKTtuIT09cyYmKHI9ITAsaT0iYnVmZmVyIixuPXMpfXZhciBhPWUub2JqZWN0TW9kZT8xOm4ubGVuZ3RoO2UubGVuZ3RoKz1hO3ZhciBjPWUubGVuZ3RoPGUuaGlnaFdhdGVyTWFyaztjfHwoZS5uZWVkRHJhaW49ITApO2lmKGUud3JpdGluZ3x8ZS5jb3JrZWQpe3ZhciBmPWUubGFzdEJ1ZmZlcmVkUmVxdWVzdDtlLmxhc3RCdWZmZXJlZFJlcXVlc3Q9e2NodW5rOm4sZW5jb2Rpbmc6aSxpc0J1ZjpyLGNhbGxiYWNrOm8sbmV4dDpudWxsfSxmP2YubmV4dD1lLmxhc3RCdWZmZXJlZFJlcXVlc3Q6ZS5idWZmZXJlZFJlcXVlc3Q9ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0LGUuYnVmZmVyZWRSZXF1ZXN0Q291bnQrPTF9ZWxzZSBrKHQsZSwhMSxhLG4saSxvKTtyZXR1cm4gY30odGhpcyxvLGEsdCxlLHIpKSxzfSx4LnByb3RvdHlwZS5jb3JrPWZ1bmN0aW9uKCl7dGhpcy5fd3JpdGFibGVTdGF0ZS5jb3JrZWQrK30seC5wcm90b3R5cGUudW5jb3JrPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fd3JpdGFibGVTdGF0ZTt0LmNvcmtlZCYmKHQuY29ya2VkLS0sdC53cml0aW5nfHx0LmNvcmtlZHx8dC5idWZmZXJQcm9jZXNzaW5nfHwhdC5idWZmZXJlZFJlcXVlc3R8fFIodGhpcyx0KSl9LHgucHJvdG90eXBlLnNldERlZmF1bHRFbmNvZGluZz1mdW5jdGlvbih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQmJih0PXQudG9Mb3dlckNhc2UoKSksIShbImhleCIsInV0ZjgiLCJ1dGYtOCIsImFzY2lpIiwiYmluYXJ5IiwiYmFzZTY0IiwidWNzMiIsInVjcy0yIiwidXRmMTZsZSIsInV0Zi0xNmxlIiwicmF3Il0uaW5kZXhPZigodCsiIikudG9Mb3dlckNhc2UoKSk+LTEpKXRocm93IG5ldyB3KHQpO3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmRlZmF1bHRFbmNvZGluZz10LHRoaXN9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwid3JpdGFibGVCdWZmZXIiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmdldEJ1ZmZlcigpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwid3JpdGFibGVIaWdoV2F0ZXJNYXJrIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLHgucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbih0LGUscil7cihuZXcgbSgiX3dyaXRlKCkiKSl9LHgucHJvdG90eXBlLl93cml0ZXY9bnVsbCx4LnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBpPXRoaXMuX3dyaXRhYmxlU3RhdGU7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQ/KHI9dCx0PW51bGwsZT1udWxsKToiZnVuY3Rpb24iPT10eXBlb2YgZSYmKHI9ZSxlPW51bGwpLG51bGwhPXQmJnRoaXMud3JpdGUodCxlKSxpLmNvcmtlZCYmKGkuY29ya2VkPTEsdGhpcy51bmNvcmsoKSksaS5lbmRpbmd8fGZ1bmN0aW9uKHQsZSxyKXtlLmVuZGluZz0hMCxDKHQsZSksciYmKGUuZmluaXNoZWQ/bi5uZXh0VGljayhyKTp0Lm9uY2UoImZpbmlzaCIscikpO2UuZW5kZWQ9ITAsdC53cml0YWJsZT0hMX0odGhpcyxpLHIpLHRoaXN9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwid3JpdGFibGVMZW5ndGgiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmxlbmd0aH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsImRlc3Ryb3llZCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPXQpfX0pLHgucHJvdG90eXBlLmRlc3Ryb3k9aC5kZXN0cm95LHgucHJvdG90eXBlLl91bmRlc3Ryb3k9aC51bmRlc3Ryb3kseC5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24odCxlKXtlKHQpfX0pLmNhbGwodGhpcyxyKDYpLHIoNSkpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1mO3ZhciBuPXIoMjcpLmNvZGVzLGk9bi5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxvPW4uRVJSX01VTFRJUExFX0NBTExCQUNLLHM9bi5FUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HLGE9bi5FUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzAsdT1yKDI4KTtmdW5jdGlvbiBjKHQsZSl7dmFyIHI9dGhpcy5fdHJhbnNmb3JtU3RhdGU7ci50cmFuc2Zvcm1pbmc9ITE7dmFyIG49ci53cml0ZWNiO2lmKG51bGw9PT1uKXJldHVybiB0aGlzLmVtaXQoImVycm9yIixuZXcgbyk7ci53cml0ZWNodW5rPW51bGwsci53cml0ZWNiPW51bGwsbnVsbCE9ZSYmdGhpcy5wdXNoKGUpLG4odCk7dmFyIGk9dGhpcy5fcmVhZGFibGVTdGF0ZTtpLnJlYWRpbmc9ITEsKGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9ZnVuY3Rpb24gZih0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBmKSlyZXR1cm4gbmV3IGYodCk7dS5jYWxsKHRoaXMsdCksdGhpcy5fdHJhbnNmb3JtU3RhdGU9e2FmdGVyVHJhbnNmb3JtOmMuYmluZCh0aGlzKSxuZWVkVHJhbnNmb3JtOiExLHRyYW5zZm9ybWluZzohMSx3cml0ZWNiOm51bGwsd3JpdGVjaHVuazpudWxsLHdyaXRlZW5jb2Rpbmc6bnVsbH0sdGhpcy5fcmVhZGFibGVTdGF0ZS5uZWVkUmVhZGFibGU9ITAsdGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jPSExLHQmJigiZnVuY3Rpb24iPT10eXBlb2YgdC50cmFuc2Zvcm0mJih0aGlzLl90cmFuc2Zvcm09dC50cmFuc2Zvcm0pLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmZsdXNoJiYodGhpcy5fZmx1c2g9dC5mbHVzaCkpLHRoaXMub24oInByZWZpbmlzaCIsaCl9ZnVuY3Rpb24gaCgpe3ZhciB0PXRoaXM7ImZ1bmN0aW9uIiE9dHlwZW9mIHRoaXMuX2ZsdXNofHx0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD9sKHRoaXMsbnVsbCxudWxsKTp0aGlzLl9mbHVzaCgoZnVuY3Rpb24oZSxyKXtsKHQsZSxyKX0pKX1mdW5jdGlvbiBsKHQsZSxyKXtpZihlKXJldHVybiB0LmVtaXQoImVycm9yIixlKTtpZihudWxsIT1yJiZ0LnB1c2gociksdC5fd3JpdGFibGVTdGF0ZS5sZW5ndGgpdGhyb3cgbmV3IGE7aWYodC5fdHJhbnNmb3JtU3RhdGUudHJhbnNmb3JtaW5nKXRocm93IG5ldyBzO3JldHVybiB0LnB1c2gobnVsbCl9cigzKShmLHUpLGYucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdHJhbnNmb3JtU3RhdGUubmVlZFRyYW5zZm9ybT0hMSx1LnByb3RvdHlwZS5wdXNoLmNhbGwodGhpcyx0LGUpfSxmLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxyKXtyKG5ldyBpKCJfdHJhbnNmb3JtKCkiKSl9LGYucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5fdHJhbnNmb3JtU3RhdGU7aWYobi53cml0ZWNiPXIsbi53cml0ZWNodW5rPXQsbi53cml0ZWVuY29kaW5nPWUsIW4udHJhbnNmb3JtaW5nKXt2YXIgaT10aGlzLl9yZWFkYWJsZVN0YXRlOyhuLm5lZWRUcmFuc2Zvcm18fGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9fSxmLnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl90cmFuc2Zvcm1TdGF0ZTtudWxsPT09ZS53cml0ZWNodW5rfHxlLnRyYW5zZm9ybWluZz9lLm5lZWRUcmFuc2Zvcm09ITA6KGUudHJhbnNmb3JtaW5nPSEwLHRoaXMuX3RyYW5zZm9ybShlLndyaXRlY2h1bmssZS53cml0ZWVuY29kaW5nLGUuYWZ0ZXJUcmFuc2Zvcm0pKX0sZi5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24odCxlKXt1LnByb3RvdHlwZS5fZGVzdHJveS5jYWxsKHRoaXMsdCwoZnVuY3Rpb24odCl7ZSh0KX0pKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiBuZXcocnx8KHI9UHJvbWlzZSkpKChmdW5jdGlvbihpLG8pe2Z1bmN0aW9uIHModCl7dHJ5e3Uobi5uZXh0KHQpKX1jYXRjaCh0KXtvKHQpfX1mdW5jdGlvbiBhKHQpe3RyeXt1KG4udGhyb3codCkpfWNhdGNoKHQpe28odCl9fWZ1bmN0aW9uIHUodCl7dmFyIGU7dC5kb25lP2kodC52YWx1ZSk6KGU9dC52YWx1ZSxlIGluc3RhbmNlb2Ygcj9lOm5ldyByKChmdW5jdGlvbih0KXt0KGUpfSkpKS50aGVuKHMsYSl9dSgobj1uLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSkpfSxpPXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKHQsZSl7dmFyIHIsbixpLG8scz17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZpWzBdKXRocm93IGlbMV07cmV0dXJuIGlbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gbz17bmV4dDphKDApLHRocm93OmEoMSkscmV0dXJuOmEoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihvW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLG87ZnVuY3Rpb24gYShvKXtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKG8pe2lmKHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7czspdHJ5e2lmKHI9MSxuJiYoaT0yJm9bMF0/bi5yZXR1cm46b1swXT9uLnRocm93fHwoKGk9bi5yZXR1cm4pJiZpLmNhbGwobiksMCk6bi5uZXh0KSYmIShpPWkuY2FsbChuLG9bMV0pKS5kb25lKXJldHVybiBpO3N3aXRjaChuPTAsaSYmKG89WzImb1swXSxpLnZhbHVlXSksb1swXSl7Y2FzZSAwOmNhc2UgMTppPW87YnJlYWs7Y2FzZSA0OnJldHVybiBzLmxhYmVsKysse3ZhbHVlOm9bMV0sZG9uZTohMX07Y2FzZSA1OnMubGFiZWwrKyxuPW9bMV0sbz1bMF07Y29udGludWU7Y2FzZSA3Om89cy5vcHMucG9wKCkscy50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShpPXMudHJ5cywoaT1pLmxlbmd0aD4wJiZpW2kubGVuZ3RoLTFdKXx8NiE9PW9bMF0mJjIhPT1vWzBdKSl7cz0wO2NvbnRpbnVlfWlmKDM9PT1vWzBdJiYoIWl8fG9bMV0+aVswXSYmb1sxXTxpWzNdKSl7cy5sYWJlbD1vWzFdO2JyZWFrfWlmKDY9PT1vWzBdJiZzLmxhYmVsPGlbMV0pe3MubGFiZWw9aVsxXSxpPW87YnJlYWt9aWYoaSYmcy5sYWJlbDxpWzJdKXtzLmxhYmVsPWlbMl0scy5vcHMucHVzaChvKTticmVha31pWzJdJiZzLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWV9bz1lLmNhbGwodCxzKX1jYXRjaCh0KXtvPVs2LHRdLG49MH1maW5hbGx5e3I9aT0wfWlmKDUmb1swXSl0aHJvdyBvWzFdO3JldHVybnt2YWx1ZTpvWzBdP29bMV06dm9pZCAwLGRvbmU6ITB9fShbbyxhXSl9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBvPXIoMTE5KSxzPXIoMjY0KTtlLmNyZWF0ZVByaXZhdGVLZXk9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIGkodGhpcywoZnVuY3Rpb24oZSl7c3dpdGNoKGUubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCxzLmdldFJhbmRvbUJ5dGVzKDMyKV07Y2FzZSAxOnJldHVybiB0PWUuc2VudCgpLG8ucHJpdmF0ZUtleVZlcmlmeSh0KT9bMix0XTpbMywwXTtjYXNlIDI6cmV0dXJuWzJdfX0pKX0pKX0sZS5jcmVhdGVQcml2YXRlS2V5U3luYz1mdW5jdGlvbigpe2Zvcig7Oyl7dmFyIHQ9cy5nZXRSYW5kb21CeXRlc1N5bmMoMzIpO2lmKG8ucHJpdmF0ZUtleVZlcmlmeSh0KSlyZXR1cm4gdH19LGZ1bmN0aW9uKHQpe2Zvcih2YXIgciBpbiB0KWUuaGFzT3duUHJvcGVydHkocil8fChlW3JdPXRbcl0pfShyKDExOSkpfSxmdW5jdGlvbih0LGUscil7dC5leHBvcnRzPXIoMjQyKShyKDI0MykpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPWU7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gMT09PXQubGVuZ3RoPyIwIit0OnR9ZnVuY3Rpb24gbyh0KXtmb3IodmFyIGU9IiIscj0wO3I8dC5sZW5ndGg7cisrKWUrPWkodFtyXS50b1N0cmluZygxNikpO3JldHVybiBlfW4udG9BcnJheT1mdW5jdGlvbih0LGUpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIHQuc2xpY2UoKTtpZighdClyZXR1cm5bXTt2YXIgcj1bXTtpZigic3RyaW5nIiE9dHlwZW9mIHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXJbbl09MHx0W25dO3JldHVybiByfWlmKCJoZXgiPT09ZSl7KHQ9dC5yZXBsYWNlKC9bXmEtejAtOV0rL2dpLCIiKSkubGVuZ3RoJTIhPTAmJih0PSIwIit0KTtmb3Iobj0wO248dC5sZW5ndGg7bis9MilyLnB1c2gocGFyc2VJbnQodFtuXSt0W24rMV0sMTYpKX1lbHNlIGZvcihuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBpPXQuY2hhckNvZGVBdChuKSxvPWk+Pjgscz0yNTUmaTtvP3IucHVzaChvLHMpOnIucHVzaChzKX1yZXR1cm4gcn0sbi56ZXJvMj1pLG4udG9IZXg9byxuLmVuY29kZT1mdW5jdGlvbih0LGUpe3JldHVybiJoZXgiPT09ZT9vKHQpOnR9fSxmdW5jdGlvbih0LGUscil7dmFyIG47ZnVuY3Rpb24gaSh0KXt0aGlzLnJhbmQ9dH1pZih0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG58fChuPW5ldyBpKG51bGwpKSxuLmdlbmVyYXRlKHQpfSx0LmV4cG9ydHMuUmFuZD1pLGkucHJvdG90eXBlLmdlbmVyYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yYW5kKHQpfSxpLnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbih0KXtpZih0aGlzLnJhbmQuZ2V0Qnl0ZXMpcmV0dXJuIHRoaXMucmFuZC5nZXRCeXRlcyh0KTtmb3IodmFyIGU9bmV3IFVpbnQ4QXJyYXkodCkscj0wO3I8ZS5sZW5ndGg7cisrKWVbcl09dGhpcy5yYW5kLmdldEJ5dGUoKTtyZXR1cm4gZX0sIm9iamVjdCI9PXR5cGVvZiBzZWxmKXNlbGYuY3J5cHRvJiZzZWxmLmNyeXB0by5nZXRSYW5kb21WYWx1ZXM/aS5wcm90b3R5cGUuX3JhbmQ9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IFVpbnQ4QXJyYXkodCk7cmV0dXJuIHNlbGYuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhlKSxlfTpzZWxmLm1zQ3J5cHRvJiZzZWxmLm1zQ3J5cHRvLmdldFJhbmRvbVZhbHVlcz9pLnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbih0KXt2YXIgZT1uZXcgVWludDhBcnJheSh0KTtyZXR1cm4gc2VsZi5tc0NyeXB0by5nZXRSYW5kb21WYWx1ZXMoZSksZX06Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJihpLnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIHlldCIpfSk7ZWxzZSB0cnl7dmFyIG89cigyNDYpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBvLnJhbmRvbUJ5dGVzKXRocm93IG5ldyBFcnJvcigiTm90IHN1cHBvcnRlZCIpO2kucHJvdG90eXBlLl9yYW5kPWZ1bmN0aW9uKHQpe3JldHVybiBvLnJhbmRvbUJ5dGVzKHQpfX1jYXRjaCh0KXt9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPWU7bi5iYXNlPXIoNDUpLG4uc2hvcnQ9cigyNDcpLG4ubW9udD1yKDI0OCksbi5lZHdhcmRzPXIoMjQ5KX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE1KS5yb3RyMzI7ZnVuY3Rpb24gaSh0LGUscil7cmV0dXJuIHQmZV5+dCZyfWZ1bmN0aW9uIG8odCxlLHIpe3JldHVybiB0JmVedCZyXmUmcn1mdW5jdGlvbiBzKHQsZSxyKXtyZXR1cm4gdF5lXnJ9ZS5mdF8xPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiAwPT09dD9pKGUscixuKToxPT09dHx8Mz09PXQ/cyhlLHIsbik6Mj09PXQ/byhlLHIsbik6dm9pZCAwfSxlLmNoMzI9aSxlLm1hajMyPW8sZS5wMzI9cyxlLnMwXzI1Nj1mdW5jdGlvbih0KXtyZXR1cm4gbih0LDIpXm4odCwxMylebih0LDIyKX0sZS5zMV8yNTY9ZnVuY3Rpb24odCl7cmV0dXJuIG4odCw2KV5uKHQsMTEpXm4odCwyNSl9LGUuZzBfMjU2PWZ1bmN0aW9uKHQpe3JldHVybiBuKHQsNylebih0LDE4KV50Pj4+M30sZS5nMV8yNTY9ZnVuY3Rpb24odCl7cmV0dXJuIG4odCwxNylebih0LDE5KV50Pj4+MTB9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTUpLGk9cigzNyksbz1yKDEyMykscz1yKDIyKSxhPW4uc3VtMzIsdT1uLnN1bTMyXzQsYz1uLnN1bTMyXzUsZj1vLmNoMzIsaD1vLm1hajMyLGw9by5zMF8yNTYsZD1vLnMxXzI1NixwPW8uZzBfMjU2LG09by5nMV8yNTYsZz1pLkJsb2NrSGFzaCxiPVsxMTE2MzUyNDA4LDE4OTk0NDc0NDEsMzA0OTMyMzQ3MSwzOTIxMDA5NTczLDk2MTk4NzE2MywxNTA4OTcwOTkzLDI0NTM2MzU3NDgsMjg3MDc2MzIyMSwzNjI0MzgxMDgwLDMxMDU5ODQwMSw2MDcyMjUyNzgsMTQyNjg4MTk4NywxOTI1MDc4Mzg4LDIxNjIwNzgyMDYsMjYxNDg4ODEwMywzMjQ4MjIyNTgwLDM4MzUzOTA0MDEsNDAyMjIyNDc3NCwyNjQzNDcwNzgsNjA0ODA3NjI4LDc3MDI1NTk4MywxMjQ5MTUwMTIyLDE1NTUwODE2OTIsMTk5NjA2NDk4NiwyNTU0MjIwODgyLDI4MjE4MzQzNDksMjk1Mjk5NjgwOCwzMjEwMzEzNjcxLDMzMzY1NzE4OTEsMzU4NDUyODcxMSwxMTM5MjY5OTMsMzM4MjQxODk1LDY2NjMwNzIwNSw3NzM1Mjk5MTIsMTI5NDc1NzM3MiwxMzk2MTgyMjkxLDE2OTUxODM3MDAsMTk4NjY2MTA1MSwyMTc3MDI2MzUwLDI0NTY5NTYwMzcsMjczMDQ4NTkyMSwyODIwMzAyNDExLDMyNTk3MzA4MDAsMzM0NTc2NDc3MSwzNTE2MDY1ODE3LDM2MDAzNTI4MDQsNDA5NDU3MTkwOSwyNzU0MjMzNDQsNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdO2Z1bmN0aW9uIHkoKXtpZighKHRoaXMgaW5zdGFuY2VvZiB5KSlyZXR1cm4gbmV3IHk7Zy5jYWxsKHRoaXMpLHRoaXMuaD1bMTc3OTAzMzcwMywzMTQ0MTM0Mjc3LDEwMTM5MDQyNDIsMjc3MzQ4MDc2MiwxMzU5ODkzMTE5LDI2MDA4MjI5MjQsNTI4NzM0NjM1LDE1NDE0NTkyMjVdLHRoaXMuaz1iLHRoaXMuVz1uZXcgQXJyYXkoNjQpfW4uaW5oZXJpdHMoeSxnKSx0LmV4cG9ydHM9eSx5LmJsb2NrU2l6ZT01MTIseS5vdXRTaXplPTI1Nix5LmhtYWNTdHJlbmd0aD0xOTIseS5wYWRMZW5ndGg9NjQseS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10aGlzLlcsbj0wO248MTY7bisrKXJbbl09dFtlK25dO2Zvcig7bjxyLmxlbmd0aDtuKyspcltuXT11KG0ocltuLTJdKSxyW24tN10scChyW24tMTVdKSxyW24tMTZdKTt2YXIgaT10aGlzLmhbMF0sbz10aGlzLmhbMV0sZz10aGlzLmhbMl0sYj10aGlzLmhbM10seT10aGlzLmhbNF0sdj10aGlzLmhbNV0sXz10aGlzLmhbNl0sdz10aGlzLmhbN107Zm9yKHModGhpcy5rLmxlbmd0aD09PXIubGVuZ3RoKSxuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciBNPWModyxkKHkpLGYoeSx2LF8pLHRoaXMua1tuXSxyW25dKSxTPWEobChpKSxoKGksbyxnKSk7dz1fLF89dix2PXkseT1hKGIsTSksYj1nLGc9byxvPWksaT1hKE0sUyl9dGhpcy5oWzBdPWEodGhpcy5oWzBdLGkpLHRoaXMuaFsxXT1hKHRoaXMuaFsxXSxvKSx0aGlzLmhbMl09YSh0aGlzLmhbMl0sZyksdGhpcy5oWzNdPWEodGhpcy5oWzNdLGIpLHRoaXMuaFs0XT1hKHRoaXMuaFs0XSx5KSx0aGlzLmhbNV09YSh0aGlzLmhbNV0sdiksdGhpcy5oWzZdPWEodGhpcy5oWzZdLF8pLHRoaXMuaFs3XT1hKHRoaXMuaFs3XSx3KX0seS5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbih0KXtyZXR1cm4iaGV4Ij09PXQ/bi50b0hleDMyKHRoaXMuaCwiYmlnIik6bi5zcGxpdDMyKHRoaXMuaCwiYmlnIil9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTUpLGk9cigzNyksbz1yKDIyKSxzPW4ucm90cjY0X2hpLGE9bi5yb3RyNjRfbG8sdT1uLnNocjY0X2hpLGM9bi5zaHI2NF9sbyxmPW4uc3VtNjQsaD1uLnN1bTY0X2hpLGw9bi5zdW02NF9sbyxkPW4uc3VtNjRfNF9oaSxwPW4uc3VtNjRfNF9sbyxtPW4uc3VtNjRfNV9oaSxnPW4uc3VtNjRfNV9sbyxiPWkuQmxvY2tIYXNoLHk9WzExMTYzNTI0MDgsMzYwOTc2NzQ1OCwxODk5NDQ3NDQxLDYwMjg5MTcyNSwzMDQ5MzIzNDcxLDM5NjQ0ODQzOTksMzkyMTAwOTU3MywyMTczMjk1NTQ4LDk2MTk4NzE2Myw0MDgxNjI4NDcyLDE1MDg5NzA5OTMsMzA1MzgzNDI2NSwyNDUzNjM1NzQ4LDI5Mzc2NzE1NzksMjg3MDc2MzIyMSwzNjY0NjA5NTYwLDM2MjQzODEwODAsMjczNDg4MzM5NCwzMTA1OTg0MDEsMTE2NDk5NjU0Miw2MDcyMjUyNzgsMTMyMzYxMDc2NCwxNDI2ODgxOTg3LDM1OTAzMDQ5OTQsMTkyNTA3ODM4OCw0MDY4MTgyMzgzLDIxNjIwNzgyMDYsOTkxMzM2MTEzLDI2MTQ4ODgxMDMsNjMzODAzMzE3LDMyNDgyMjI1ODAsMzQ3OTc3NDg2OCwzODM1MzkwNDAxLDI2NjY2MTM0NTgsNDAyMjIyNDc3NCw5NDQ3MTExMzksMjY0MzQ3MDc4LDIzNDEyNjI3NzMsNjA0ODA3NjI4LDIwMDc4MDA5MzMsNzcwMjU1OTgzLDE0OTU5OTA5MDEsMTI0OTE1MDEyMiwxODU2NDMxMjM1LDE1NTUwODE2OTIsMzE3NTIxODEzMiwxOTk2MDY0OTg2LDIxOTg5NTA4MzcsMjU1NDIyMDg4MiwzOTk5NzE5MzM5LDI4MjE4MzQzNDksNzY2Nzg0MDE2LDI5NTI5OTY4MDgsMjU2NjU5NDg3OSwzMjEwMzEzNjcxLDMyMDMzMzc5NTYsMzMzNjU3MTg5MSwxMDM0NDU3MDI2LDM1ODQ1Mjg3MTEsMjQ2Njk0ODkwMSwxMTM5MjY5OTMsMzc1ODMyNjM4MywzMzgyNDE4OTUsMTY4NzE3OTM2LDY2NjMwNzIwNSwxMTg4MTc5OTY0LDc3MzUyOTkxMiwxNTQ2MDQ1NzM0LDEyOTQ3NTczNzIsMTUyMjgwNTQ4NSwxMzk2MTgyMjkxLDI2NDM4MzM4MjMsMTY5NTE4MzcwMCwyMzQzNTI3MzkwLDE5ODY2NjEwNTEsMTAxNDQ3NzQ4MCwyMTc3MDI2MzUwLDEyMDY3NTkxNDIsMjQ1Njk1NjAzNywzNDQwNzc2MjcsMjczMDQ4NTkyMSwxMjkwODYzNDYwLDI4MjAzMDI0MTEsMzE1ODQ1NDI3MywzMjU5NzMwODAwLDM1MDU5NTI2NTcsMzM0NTc2NDc3MSwxMDYyMTcwMDgsMzUxNjA2NTgxNywzNjA2MDA4MzQ0LDM2MDAzNTI4MDQsMTQzMjcyNTc3Niw0MDk0NTcxOTA5LDE0NjcwMzE1OTQsMjc1NDIzMzQ0LDg1MTE2OTcyMCw0MzAyMjc3MzQsMzEwMDgyMzc1Miw1MDY5NDg2MTYsMTM2MzI1ODE5NSw2NTkwNjA1NTYsMzc1MDY4NTU5Myw4ODM5OTc4NzcsMzc4NTA1MDI4MCw5NTgxMzk1NzEsMzMxODMwNzQyNywxMzIyODIyMjE4LDM4MTI3MjM0MDMsMTUzNzAwMjA2MywyMDAzMDM0OTk1LDE3NDc4NzM3NzksMzYwMjAzNjg5OSwxOTU1NTYyMjIyLDE1NzU5OTAwMTIsMjAyNDEwNDgxNSwxMTI1NTkyOTI4LDIyMjc3MzA0NTIsMjcxNjkwNDMwNiwyMzYxODUyNDI0LDQ0Mjc3NjA0NCwyNDI4NDM2NDc0LDU5MzY5ODM0NCwyNzU2NzM0MTg3LDM3MzMxMTAyNDksMzIwNDAzMTQ3OSwyOTk5MzUxNTczLDMzMjkzMjUyOTgsMzgxNTkyMDQyNywzMzkxNTY5NjE0LDM5MjgzODM5MDAsMzUxNTI2NzI3MSw1NjYyODA3MTEsMzk0MDE4NzYwNiwzNDU0MDY5NTM0LDQxMTg2MzAyNzEsNDAwMDIzOTk5MiwxMTY0MTg0NzQsMTkxNDEzODU1NCwxNzQyOTI0MjEsMjczMTA1NTI3MCwyODkzODAzNTYsMzIwMzk5MzAwNiw0NjAzOTMyNjksMzIwNjIwMzE1LDY4NTQ3MTczMyw1ODc0OTY4MzYsODUyMTQyOTcxLDEwODY3OTI4NTEsMTAxNzAzNjI5OCwzNjU1NDMxMDAsMTEyNjAwMDU4MCwyNjE4Mjk3Njc2LDEyODgwMzM0NzAsMzQwOTg1NTE1OCwxNTAxNTA1OTQ4LDQyMzQ1MDk4NjYsMTYwNzE2NzkxNSw5ODcxNjc0NjgsMTgxNjQwMjMxNiwxMjQ2MTg5NTkxXTtmdW5jdGlvbiB2KCl7aWYoISh0aGlzIGluc3RhbmNlb2YgdikpcmV0dXJuIG5ldyB2O2IuY2FsbCh0aGlzKSx0aGlzLmg9WzE3NzkwMzM3MDMsNDA4OTIzNTcyMCwzMTQ0MTM0Mjc3LDIyMjc4NzM1OTUsMTAxMzkwNDI0Miw0MjcxMTc1NzIzLDI3NzM0ODA3NjIsMTU5NTc1MDEyOSwxMzU5ODkzMTE5LDI5MTc1NjUxMzcsMjYwMDgyMjkyNCw3MjU1MTExOTksNTI4NzM0NjM1LDQyMTUzODk1NDcsMTU0MTQ1OTIyNSwzMjcwMzMyMDldLHRoaXMuaz15LHRoaXMuVz1uZXcgQXJyYXkoMTYwKX1mdW5jdGlvbiBfKHQsZSxyLG4saSl7dmFyIG89dCZyXn50Jmk7cmV0dXJuIG88MCYmKG8rPTQyOTQ5NjcyOTYpLG99ZnVuY3Rpb24gdyh0LGUscixuLGksbyl7dmFyIHM9ZSZuXn5lJm87cmV0dXJuIHM8MCYmKHMrPTQyOTQ5NjcyOTYpLHN9ZnVuY3Rpb24gTSh0LGUscixuLGkpe3ZhciBvPXQmcl50JmleciZpO3JldHVybiBvPDAmJihvKz00Mjk0OTY3Mjk2KSxvfWZ1bmN0aW9uIFModCxlLHIsbixpLG8pe3ZhciBzPWUmbl5lJm9ebiZvO3JldHVybiBzPDAmJihzKz00Mjk0OTY3Mjk2KSxzfWZ1bmN0aW9uIEUodCxlKXt2YXIgcj1zKHQsZSwyOClecyhlLHQsMilecyhlLHQsNyk7cmV0dXJuIHI8MCYmKHIrPTQyOTQ5NjcyOTYpLHJ9ZnVuY3Rpb24geCh0LGUpe3ZhciByPWEodCxlLDI4KV5hKGUsdCwyKV5hKGUsdCw3KTtyZXR1cm4gcjwwJiYocis9NDI5NDk2NzI5Nikscn1mdW5jdGlvbiBrKHQsZSl7dmFyIHI9cyh0LGUsMTQpXnModCxlLDE4KV5zKGUsdCw5KTtyZXR1cm4gcjwwJiYocis9NDI5NDk2NzI5Nikscn1mdW5jdGlvbiBBKHQsZSl7dmFyIHI9YSh0LGUsMTQpXmEodCxlLDE4KV5hKGUsdCw5KTtyZXR1cm4gcjwwJiYocis9NDI5NDk2NzI5Nikscn1mdW5jdGlvbiBSKHQsZSl7dmFyIHI9cyh0LGUsMSlecyh0LGUsOCledSh0LGUsNyk7cmV0dXJuIHI8MCYmKHIrPTQyOTQ5NjcyOTYpLHJ9ZnVuY3Rpb24gVCh0LGUpe3ZhciByPWEodCxlLDEpXmEodCxlLDgpXmModCxlLDcpO3JldHVybiByPDAmJihyKz00Mjk0OTY3Mjk2KSxyfWZ1bmN0aW9uIE8odCxlKXt2YXIgcj1zKHQsZSwxOSlecyhlLHQsMjkpXnUodCxlLDYpO3JldHVybiByPDAmJihyKz00Mjk0OTY3Mjk2KSxyfWZ1bmN0aW9uIEModCxlKXt2YXIgcj1hKHQsZSwxOSleYShlLHQsMjkpXmModCxlLDYpO3JldHVybiByPDAmJihyKz00Mjk0OTY3Mjk2KSxyfW4uaW5oZXJpdHModixiKSx0LmV4cG9ydHM9dix2LmJsb2NrU2l6ZT0xMDI0LHYub3V0U2l6ZT01MTIsdi5obWFjU3RyZW5ndGg9MTkyLHYucGFkTGVuZ3RoPTEyOCx2LnByb3RvdHlwZS5fcHJlcGFyZUJsb2NrPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXRoaXMuVyxuPTA7bjwzMjtuKyspcltuXT10W2Urbl07Zm9yKDtuPHIubGVuZ3RoO24rPTIpe3ZhciBpPU8ocltuLTRdLHJbbi0zXSksbz1DKHJbbi00XSxyW24tM10pLHM9cltuLTE0XSxhPXJbbi0xM10sdT1SKHJbbi0zMF0scltuLTI5XSksYz1UKHJbbi0zMF0scltuLTI5XSksZj1yW24tMzJdLGg9cltuLTMxXTtyW25dPWQoaSxvLHMsYSx1LGMsZixoKSxyW24rMV09cChpLG8scyxhLHUsYyxmLGgpfX0sdi5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbih0LGUpe3RoaXMuX3ByZXBhcmVCbG9jayh0LGUpO3ZhciByPXRoaXMuVyxuPXRoaXMuaFswXSxpPXRoaXMuaFsxXSxzPXRoaXMuaFsyXSxhPXRoaXMuaFszXSx1PXRoaXMuaFs0XSxjPXRoaXMuaFs1XSxkPXRoaXMuaFs2XSxwPXRoaXMuaFs3XSxiPXRoaXMuaFs4XSx5PXRoaXMuaFs5XSx2PXRoaXMuaFsxMF0sUj10aGlzLmhbMTFdLFQ9dGhpcy5oWzEyXSxPPXRoaXMuaFsxM10sQz10aGlzLmhbMTRdLFA9dGhpcy5oWzE1XTtvKHRoaXMuay5sZW5ndGg9PT1yLmxlbmd0aCk7Zm9yKHZhciBJPTA7STxyLmxlbmd0aDtJKz0yKXt2YXIgQj1DLEw9UCxqPWsoYix5KSxOPUEoYix5KSxxPV8oYix5LHYsUixUKSxVPXcoYix5LHYsUixULE8pLEQ9dGhpcy5rW0ldLHo9dGhpcy5rW0krMV0sSD1yW0ldLEY9cltJKzFdLFc9bShCLEwsaixOLHEsVSxELHosSCxGKSxLPWcoQixMLGosTixxLFUsRCx6LEgsRik7Qj1FKG4saSksTD14KG4saSksaj1NKG4saSxzLGEsdSksTj1TKG4saSxzLGEsdSxjKTt2YXIgVj1oKEIsTCxqLE4pLEo9bChCLEwsaixOKTtDPVQsUD1PLFQ9dixPPVIsdj1iLFI9eSxiPWgoZCxwLFcsSykseT1sKHAscCxXLEspLGQ9dSxwPWMsdT1zLGM9YSxzPW4sYT1pLG49aChXLEssVixKKSxpPWwoVyxLLFYsSil9Zih0aGlzLmgsMCxuLGkpLGYodGhpcy5oLDIscyxhKSxmKHRoaXMuaCw0LHUsYyksZih0aGlzLmgsNixkLHApLGYodGhpcy5oLDgsYix5KSxmKHRoaXMuaCwxMCx2LFIpLGYodGhpcy5oLDEyLFQsTyksZih0aGlzLmgsMTQsQyxQKX0sdi5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbih0KXtyZXR1cm4iaGV4Ij09PXQ/bi50b0hleDMyKHRoaXMuaCwiYmlnIik6bi5zcGxpdDMyKHRoaXMuaCwiYmlnIil9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMyksaT1yKDI3MSksbz1yKDI4MCkscz1yKDI4MSksYT1yKDI4Nik7ZnVuY3Rpb24gdSh0KXthLmNhbGwodGhpcywiZGlnZXN0IiksdGhpcy5faGFzaD10fW4odSxhKSx1LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe3RoaXMuX2hhc2gudXBkYXRlKHQpfSx1LnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faGFzaC5kaWdlc3QoKX0sdC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJtZDUiPT09KHQ9dC50b0xvd2VyQ2FzZSgpKT9uZXcgaToicm1kMTYwIj09PXR8fCJyaXBlbWQxNjAiPT09dD9uZXcgbzpuZXcgdShzKHQpKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigxMykuQnVmZmVyLGk9cigyNzIpLlRyYW5zZm9ybTtmdW5jdGlvbiBvKHQpe2kuY2FsbCh0aGlzKSx0aGlzLl9ibG9jaz1uLmFsbG9jVW5zYWZlKHQpLHRoaXMuX2Jsb2NrU2l6ZT10LHRoaXMuX2Jsb2NrT2Zmc2V0PTAsdGhpcy5fbGVuZ3RoPVswLDAsMCwwXSx0aGlzLl9maW5hbGl6ZWQ9ITF9cigzKShvLGkpLG8ucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIpe3ZhciBuPW51bGw7dHJ5e3RoaXMudXBkYXRlKHQsZSl9Y2F0Y2godCl7bj10fXIobil9LG8ucHJvdG90eXBlLl9mbHVzaD1mdW5jdGlvbih0KXt2YXIgZT1udWxsO3RyeXt0aGlzLnB1c2godGhpcy5kaWdlc3QoKSl9Y2F0Y2godCl7ZT10fXQoZSl9LG8ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUpe2lmKGZ1bmN0aW9uKHQsZSl7aWYoIW4uaXNCdWZmZXIodCkmJiJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKGUrIiBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgYnVmZmVyIil9KHQsIkRhdGEiKSx0aGlzLl9maW5hbGl6ZWQpdGhyb3cgbmV3IEVycm9yKCJEaWdlc3QgYWxyZWFkeSBjYWxsZWQiKTtuLmlzQnVmZmVyKHQpfHwodD1uLmZyb20odCxlKSk7Zm9yKHZhciByPXRoaXMuX2Jsb2NrLGk9MDt0aGlzLl9ibG9ja09mZnNldCt0Lmxlbmd0aC1pPj10aGlzLl9ibG9ja1NpemU7KXtmb3IodmFyIG89dGhpcy5fYmxvY2tPZmZzZXQ7bzx0aGlzLl9ibG9ja1NpemU7KXJbbysrXT10W2krK107dGhpcy5fdXBkYXRlKCksdGhpcy5fYmxvY2tPZmZzZXQ9MH1mb3IoO2k8dC5sZW5ndGg7KXJbdGhpcy5fYmxvY2tPZmZzZXQrK109dFtpKytdO2Zvcih2YXIgcz0wLGE9OCp0Lmxlbmd0aDthPjA7KytzKXRoaXMuX2xlbmd0aFtzXSs9YSwoYT10aGlzLl9sZW5ndGhbc10vNDI5NDk2NzI5NnwwKT4wJiYodGhpcy5fbGVuZ3RoW3NdLT00Mjk0OTY3Mjk2KmEpO3JldHVybiB0aGlzfSxvLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJfdXBkYXRlIGlzIG5vdCBpbXBsZW1lbnRlZCIpfSxvLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24odCl7aWYodGhpcy5fZmluYWxpemVkKXRocm93IG5ldyBFcnJvcigiRGlnZXN0IGFscmVhZHkgY2FsbGVkIik7dGhpcy5fZmluYWxpemVkPSEwO3ZhciBlPXRoaXMuX2RpZ2VzdCgpO3ZvaWQgMCE9PXQmJihlPWUudG9TdHJpbmcodCkpLHRoaXMuX2Jsb2NrLmZpbGwoMCksdGhpcy5fYmxvY2tPZmZzZXQ9MDtmb3IodmFyIHI9MDtyPDQ7KytyKXRoaXMuX2xlbmd0aFtyXT0wO3JldHVybiBlfSxvLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJfZGlnZXN0IGlzIG5vdCBpbXBsZW1lbnRlZCIpfSx0LmV4cG9ydHM9b30sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSxuKXt2YXIgaTt0LmV4cG9ydHM9eCx4LlJlYWRhYmxlU3RhdGU9RTtyKDEyKS5FdmVudEVtaXR0ZXI7dmFyIG89ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5saXN0ZW5lcnMoZSkubGVuZ3RofSxzPXIoMTI5KSxhPXIoMikuQnVmZmVyLHU9ZS5VaW50OEFycmF5fHxmdW5jdGlvbigpe307dmFyIGMsZj1yKDI3Myk7Yz1mJiZmLmRlYnVnbG9nP2YuZGVidWdsb2coInN0cmVhbSIpOmZ1bmN0aW9uKCl7fTt2YXIgaCxsLGQscD1yKDI3NCksbT1yKDEzMCksZz1yKDEzMSkuZ2V0SGlnaFdhdGVyTWFyayxiPXIoMjkpLmNvZGVzLHk9Yi5FUlJfSU5WQUxJRF9BUkdfVFlQRSx2PWIuRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRixfPWIuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsdz1iLkVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQ7cigzKSh4LHMpO3ZhciBNPW0uZXJyb3JPckRlc3Ryb3ksUz1bImVycm9yIiwiY2xvc2UiLCJkZXN0cm95IiwicGF1c2UiLCJyZXN1bWUiXTtmdW5jdGlvbiBFKHQsZSxuKXtpPWl8fHIoMzApLHQ9dHx8e30sImJvb2xlYW4iIT10eXBlb2YgbiYmKG49ZSBpbnN0YW5jZW9mIGkpLHRoaXMub2JqZWN0TW9kZT0hIXQub2JqZWN0TW9kZSxuJiYodGhpcy5vYmplY3RNb2RlPXRoaXMub2JqZWN0TW9kZXx8ISF0LnJlYWRhYmxlT2JqZWN0TW9kZSksdGhpcy5oaWdoV2F0ZXJNYXJrPWcodGhpcyx0LCJyZWFkYWJsZUhpZ2hXYXRlck1hcmsiLG4pLHRoaXMuYnVmZmVyPW5ldyBwLHRoaXMubGVuZ3RoPTAsdGhpcy5waXBlcz1udWxsLHRoaXMucGlwZXNDb3VudD0wLHRoaXMuZmxvd2luZz1udWxsLHRoaXMuZW5kZWQ9ITEsdGhpcy5lbmRFbWl0dGVkPSExLHRoaXMucmVhZGluZz0hMSx0aGlzLnN5bmM9ITAsdGhpcy5uZWVkUmVhZGFibGU9ITEsdGhpcy5lbWl0dGVkUmVhZGFibGU9ITEsdGhpcy5yZWFkYWJsZUxpc3RlbmluZz0hMSx0aGlzLnJlc3VtZVNjaGVkdWxlZD0hMSx0aGlzLnBhdXNlZD0hMCx0aGlzLmVtaXRDbG9zZT0hMSE9PXQuZW1pdENsb3NlLHRoaXMuYXV0b0Rlc3Ryb3k9ISF0LmF1dG9EZXN0cm95LHRoaXMuZGVzdHJveWVkPSExLHRoaXMuZGVmYXVsdEVuY29kaW5nPXQuZGVmYXVsdEVuY29kaW5nfHwidXRmOCIsdGhpcy5hd2FpdERyYWluPTAsdGhpcy5yZWFkaW5nTW9yZT0hMSx0aGlzLmRlY29kZXI9bnVsbCx0aGlzLmVuY29kaW5nPW51bGwsdC5lbmNvZGluZyYmKGh8fChoPXIoMjApLlN0cmluZ0RlY29kZXIpLHRoaXMuZGVjb2Rlcj1uZXcgaCh0LmVuY29kaW5nKSx0aGlzLmVuY29kaW5nPXQuZW5jb2RpbmcpfWZ1bmN0aW9uIHgodCl7aWYoaT1pfHxyKDMwKSwhKHRoaXMgaW5zdGFuY2VvZiB4KSlyZXR1cm4gbmV3IHgodCk7dmFyIGU9dGhpcyBpbnN0YW5jZW9mIGk7dGhpcy5fcmVhZGFibGVTdGF0ZT1uZXcgRSh0LHRoaXMsZSksdGhpcy5yZWFkYWJsZT0hMCx0JiYoImZ1bmN0aW9uIj09dHlwZW9mIHQucmVhZCYmKHRoaXMuX3JlYWQ9dC5yZWFkKSwiZnVuY3Rpb24iPT10eXBlb2YgdC5kZXN0cm95JiYodGhpcy5fZGVzdHJveT10LmRlc3Ryb3kpKSxzLmNhbGwodGhpcyl9ZnVuY3Rpb24gayh0LGUscixuLGkpe2MoInJlYWRhYmxlQWRkQ2h1bmsiLGUpO3ZhciBvLHM9dC5fcmVhZGFibGVTdGF0ZTtpZihudWxsPT09ZSlzLnJlYWRpbmc9ITEsZnVuY3Rpb24odCxlKXtpZihjKCJvbkVvZkNodW5rIiksZS5lbmRlZClyZXR1cm47aWYoZS5kZWNvZGVyKXt2YXIgcj1lLmRlY29kZXIuZW5kKCk7ciYmci5sZW5ndGgmJihlLmJ1ZmZlci5wdXNoKHIpLGUubGVuZ3RoKz1lLm9iamVjdE1vZGU/MTpyLmxlbmd0aCl9ZS5lbmRlZD0hMCxlLnN5bmM/VCh0KTooZS5uZWVkUmVhZGFibGU9ITEsZS5lbWl0dGVkUmVhZGFibGV8fChlLmVtaXR0ZWRSZWFkYWJsZT0hMCxPKHQpKSl9KHQscyk7ZWxzZSBpZihpfHwobz1mdW5jdGlvbih0LGUpe3ZhciByO249ZSxhLmlzQnVmZmVyKG4pfHxuIGluc3RhbmNlb2YgdXx8InN0cmluZyI9PXR5cGVvZiBlfHx2b2lkIDA9PT1lfHx0Lm9iamVjdE1vZGV8fChyPW5ldyB5KCJjaHVuayIsWyJzdHJpbmciLCJCdWZmZXIiLCJVaW50OEFycmF5Il0sZSkpO3ZhciBuO3JldHVybiByfShzLGUpKSxvKU0odCxvKTtlbHNlIGlmKHMub2JqZWN0TW9kZXx8ZSYmZS5sZW5ndGg+MClpZigic3RyaW5nIj09dHlwZW9mIGV8fHMub2JqZWN0TW9kZXx8T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpPT09YS5wcm90b3R5cGV8fChlPWZ1bmN0aW9uKHQpe3JldHVybiBhLmZyb20odCl9KGUpKSxuKXMuZW5kRW1pdHRlZD9NKHQsbmV3IHcpOkEodCxzLGUsITApO2Vsc2UgaWYocy5lbmRlZClNKHQsbmV3IHYpO2Vsc2V7aWYocy5kZXN0cm95ZWQpcmV0dXJuITE7cy5yZWFkaW5nPSExLHMuZGVjb2RlciYmIXI/KGU9cy5kZWNvZGVyLndyaXRlKGUpLHMub2JqZWN0TW9kZXx8MCE9PWUubGVuZ3RoP0EodCxzLGUsITEpOkModCxzKSk6QSh0LHMsZSwhMSl9ZWxzZSBufHwocy5yZWFkaW5nPSExLEModCxzKSk7cmV0dXJuIXMuZW5kZWQmJihzLmxlbmd0aDxzLmhpZ2hXYXRlck1hcmt8fDA9PT1zLmxlbmd0aCl9ZnVuY3Rpb24gQSh0LGUscixuKXtlLmZsb3dpbmcmJjA9PT1lLmxlbmd0aCYmIWUuc3luYz8oZS5hd2FpdERyYWluPTAsdC5lbWl0KCJkYXRhIixyKSk6KGUubGVuZ3RoKz1lLm9iamVjdE1vZGU/MTpyLmxlbmd0aCxuP2UuYnVmZmVyLnVuc2hpZnQocik6ZS5idWZmZXIucHVzaChyKSxlLm5lZWRSZWFkYWJsZSYmVCh0KSksQyh0LGUpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwiZGVzdHJveWVkIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWR9LHNldDpmdW5jdGlvbih0KXt0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9dCl9fSkseC5wcm90b3R5cGUuZGVzdHJveT1tLmRlc3Ryb3kseC5wcm90b3R5cGUuX3VuZGVzdHJveT1tLnVuZGVzdHJveSx4LnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbih0LGUpe2UodCl9LHgucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24odCxlKXt2YXIgcixuPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuIG4ub2JqZWN0TW9kZT9yPSEwOiJzdHJpbmciPT10eXBlb2YgdCYmKChlPWV8fG4uZGVmYXVsdEVuY29kaW5nKSE9PW4uZW5jb2RpbmcmJih0PWEuZnJvbSh0LGUpLGU9IiIpLHI9ITApLGsodGhpcyx0LGUsITEscil9LHgucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGsodGhpcyx0LG51bGwsITAsITEpfSx4LnByb3RvdHlwZS5pc1BhdXNlZD1mdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSx4LnByb3RvdHlwZS5zZXRFbmNvZGluZz1mdW5jdGlvbih0KXtofHwoaD1yKDIwKS5TdHJpbmdEZWNvZGVyKTt2YXIgZT1uZXcgaCh0KTt0aGlzLl9yZWFkYWJsZVN0YXRlLmRlY29kZXI9ZSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nPXRoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlci5lbmNvZGluZztmb3IodmFyIG49dGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuaGVhZCxpPSIiO251bGwhPT1uOylpKz1lLndyaXRlKG4uZGF0YSksbj1uLm5leHQ7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmNsZWFyKCksIiIhPT1pJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5wdXNoKGkpLHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RoPWkubGVuZ3RoLHRoaXN9O2Z1bmN0aW9uIFIodCxlKXtyZXR1cm4gdDw9MHx8MD09PWUubGVuZ3RoJiZlLmVuZGVkPzA6ZS5vYmplY3RNb2RlPzE6dCE9dD9lLmZsb3dpbmcmJmUubGVuZ3RoP2UuYnVmZmVyLmhlYWQuZGF0YS5sZW5ndGg6ZS5sZW5ndGg6KHQ+ZS5oaWdoV2F0ZXJNYXJrJiYoZS5oaWdoV2F0ZXJNYXJrPWZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xMDczNzQxODI0P3Q9MTA3Mzc0MTgyNDoodC0tLHR8PXQ+Pj4xLHR8PXQ+Pj4yLHR8PXQ+Pj40LHR8PXQ+Pj44LHR8PXQ+Pj4xNix0KyspLHR9KHQpKSx0PD1lLmxlbmd0aD90OmUuZW5kZWQ/ZS5sZW5ndGg6KGUubmVlZFJlYWRhYmxlPSEwLDApKX1mdW5jdGlvbiBUKHQpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7YygiZW1pdFJlYWRhYmxlIixlLm5lZWRSZWFkYWJsZSxlLmVtaXR0ZWRSZWFkYWJsZSksZS5uZWVkUmVhZGFibGU9ITEsZS5lbWl0dGVkUmVhZGFibGV8fChjKCJlbWl0UmVhZGFibGUiLGUuZmxvd2luZyksZS5lbWl0dGVkUmVhZGFibGU9ITAsbi5uZXh0VGljayhPLHQpKX1mdW5jdGlvbiBPKHQpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7YygiZW1pdFJlYWRhYmxlXyIsZS5kZXN0cm95ZWQsZS5sZW5ndGgsZS5lbmRlZCksZS5kZXN0cm95ZWR8fCFlLmxlbmd0aCYmIWUuZW5kZWR8fCh0LmVtaXQoInJlYWRhYmxlIiksZS5lbWl0dGVkUmVhZGFibGU9ITEpLGUubmVlZFJlYWRhYmxlPSFlLmZsb3dpbmcmJiFlLmVuZGVkJiZlLmxlbmd0aDw9ZS5oaWdoV2F0ZXJNYXJrLGoodCl9ZnVuY3Rpb24gQyh0LGUpe2UucmVhZGluZ01vcmV8fChlLnJlYWRpbmdNb3JlPSEwLG4ubmV4dFRpY2soUCx0LGUpKX1mdW5jdGlvbiBQKHQsZSl7Zm9yKDshZS5yZWFkaW5nJiYhZS5lbmRlZCYmKGUubGVuZ3RoPGUuaGlnaFdhdGVyTWFya3x8ZS5mbG93aW5nJiYwPT09ZS5sZW5ndGgpOyl7dmFyIHI9ZS5sZW5ndGg7aWYoYygibWF5YmVSZWFkTW9yZSByZWFkIDAiKSx0LnJlYWQoMCkscj09PWUubGVuZ3RoKWJyZWFrfWUucmVhZGluZ01vcmU9ITF9ZnVuY3Rpb24gSSh0KXt2YXIgZT10Ll9yZWFkYWJsZVN0YXRlO2UucmVhZGFibGVMaXN0ZW5pbmc9dC5saXN0ZW5lckNvdW50KCJyZWFkYWJsZSIpPjAsZS5yZXN1bWVTY2hlZHVsZWQmJiFlLnBhdXNlZD9lLmZsb3dpbmc9ITA6dC5saXN0ZW5lckNvdW50KCJkYXRhIik+MCYmdC5yZXN1bWUoKX1mdW5jdGlvbiBCKHQpe2MoInJlYWRhYmxlIG5leHR0aWNrIHJlYWQgMCIpLHQucmVhZCgwKX1mdW5jdGlvbiBMKHQsZSl7YygicmVzdW1lIixlLnJlYWRpbmcpLGUucmVhZGluZ3x8dC5yZWFkKDApLGUucmVzdW1lU2NoZWR1bGVkPSExLHQuZW1pdCgicmVzdW1lIiksaih0KSxlLmZsb3dpbmcmJiFlLnJlYWRpbmcmJnQucmVhZCgwKX1mdW5jdGlvbiBqKHQpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7Zm9yKGMoImZsb3ciLGUuZmxvd2luZyk7ZS5mbG93aW5nJiZudWxsIT09dC5yZWFkKCk7KTt9ZnVuY3Rpb24gTih0LGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDooZS5vYmplY3RNb2RlP3I9ZS5idWZmZXIuc2hpZnQoKTohdHx8dD49ZS5sZW5ndGg/KHI9ZS5kZWNvZGVyP2UuYnVmZmVyLmpvaW4oIiIpOjE9PT1lLmJ1ZmZlci5sZW5ndGg/ZS5idWZmZXIuZmlyc3QoKTplLmJ1ZmZlci5jb25jYXQoZS5sZW5ndGgpLGUuYnVmZmVyLmNsZWFyKCkpOnI9ZS5idWZmZXIuY29uc3VtZSh0LGUuZGVjb2Rlcikscik7dmFyIHJ9ZnVuY3Rpb24gcSh0KXt2YXIgZT10Ll9yZWFkYWJsZVN0YXRlO2MoImVuZFJlYWRhYmxlIixlLmVuZEVtaXR0ZWQpLGUuZW5kRW1pdHRlZHx8KGUuZW5kZWQ9ITAsbi5uZXh0VGljayhVLGUsdCkpfWZ1bmN0aW9uIFUodCxlKXtpZihjKCJlbmRSZWFkYWJsZU5UIix0LmVuZEVtaXR0ZWQsdC5sZW5ndGgpLCF0LmVuZEVtaXR0ZWQmJjA9PT10Lmxlbmd0aCYmKHQuZW5kRW1pdHRlZD0hMCxlLnJlYWRhYmxlPSExLGUuZW1pdCgiZW5kIiksdC5hdXRvRGVzdHJveSkpe3ZhciByPWUuX3dyaXRhYmxlU3RhdGU7KCFyfHxyLmF1dG9EZXN0cm95JiZyLmZpbmlzaGVkKSYmZS5kZXN0cm95KCl9fWZ1bmN0aW9uIEQodCxlKXtmb3IodmFyIHI9MCxuPXQubGVuZ3RoO3I8bjtyKyspaWYodFtyXT09PWUpcmV0dXJuIHI7cmV0dXJuLTF9eC5wcm90b3R5cGUucmVhZD1mdW5jdGlvbih0KXtjKCJyZWFkIix0KSx0PXBhcnNlSW50KHQsMTApO3ZhciBlPXRoaXMuX3JlYWRhYmxlU3RhdGUscj10O2lmKDAhPT10JiYoZS5lbWl0dGVkUmVhZGFibGU9ITEpLDA9PT10JiZlLm5lZWRSZWFkYWJsZSYmKCgwIT09ZS5oaWdoV2F0ZXJNYXJrP2UubGVuZ3RoPj1lLmhpZ2hXYXRlck1hcms6ZS5sZW5ndGg+MCl8fGUuZW5kZWQpKXJldHVybiBjKCJyZWFkOiBlbWl0UmVhZGFibGUiLGUubGVuZ3RoLGUuZW5kZWQpLDA9PT1lLmxlbmd0aCYmZS5lbmRlZD9xKHRoaXMpOlQodGhpcyksbnVsbDtpZigwPT09KHQ9Uih0LGUpKSYmZS5lbmRlZClyZXR1cm4gMD09PWUubGVuZ3RoJiZxKHRoaXMpLG51bGw7dmFyIG4saT1lLm5lZWRSZWFkYWJsZTtyZXR1cm4gYygibmVlZCByZWFkYWJsZSIsaSksKDA9PT1lLmxlbmd0aHx8ZS5sZW5ndGgtdDxlLmhpZ2hXYXRlck1hcmspJiZjKCJsZW5ndGggbGVzcyB0aGFuIHdhdGVybWFyayIsaT0hMCksZS5lbmRlZHx8ZS5yZWFkaW5nP2MoInJlYWRpbmcgb3IgZW5kZWQiLGk9ITEpOmkmJihjKCJkbyByZWFkIiksZS5yZWFkaW5nPSEwLGUuc3luYz0hMCwwPT09ZS5sZW5ndGgmJihlLm5lZWRSZWFkYWJsZT0hMCksdGhpcy5fcmVhZChlLmhpZ2hXYXRlck1hcmspLGUuc3luYz0hMSxlLnJlYWRpbmd8fCh0PVIocixlKSkpLG51bGw9PT0obj10PjA/Tih0LGUpOm51bGwpPyhlLm5lZWRSZWFkYWJsZT1lLmxlbmd0aDw9ZS5oaWdoV2F0ZXJNYXJrLHQ9MCk6KGUubGVuZ3RoLT10LGUuYXdhaXREcmFpbj0wKSwwPT09ZS5sZW5ndGgmJihlLmVuZGVkfHwoZS5uZWVkUmVhZGFibGU9ITApLHIhPT10JiZlLmVuZGVkJiZxKHRoaXMpKSxudWxsIT09biYmdGhpcy5lbWl0KCJkYXRhIixuKSxufSx4LnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbih0KXtNKHRoaXMsbmV3IF8oIl9yZWFkKCkiKSl9LHgucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLGk9dGhpcy5fcmVhZGFibGVTdGF0ZTtzd2l0Y2goaS5waXBlc0NvdW50KXtjYXNlIDA6aS5waXBlcz10O2JyZWFrO2Nhc2UgMTppLnBpcGVzPVtpLnBpcGVzLHRdO2JyZWFrO2RlZmF1bHQ6aS5waXBlcy5wdXNoKHQpfWkucGlwZXNDb3VudCs9MSxjKCJwaXBlIGNvdW50PSVkIG9wdHM9JWoiLGkucGlwZXNDb3VudCxlKTt2YXIgcz0oIWV8fCExIT09ZS5lbmQpJiZ0IT09bi5zdGRvdXQmJnQhPT1uLnN0ZGVycj91Omc7ZnVuY3Rpb24gYShlLG4pe2MoIm9udW5waXBlIiksZT09PXImJm4mJiExPT09bi5oYXNVbnBpcGVkJiYobi5oYXNVbnBpcGVkPSEwLGMoImNsZWFudXAiKSx0LnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIscCksdC5yZW1vdmVMaXN0ZW5lcigiZmluaXNoIixtKSx0LnJlbW92ZUxpc3RlbmVyKCJkcmFpbiIsZiksdC5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGQpLHQucmVtb3ZlTGlzdGVuZXIoInVucGlwZSIsYSksci5yZW1vdmVMaXN0ZW5lcigiZW5kIix1KSxyLnJlbW92ZUxpc3RlbmVyKCJlbmQiLGcpLHIucmVtb3ZlTGlzdGVuZXIoImRhdGEiLGwpLGg9ITAsIWkuYXdhaXREcmFpbnx8dC5fd3JpdGFibGVTdGF0ZSYmIXQuX3dyaXRhYmxlU3RhdGUubmVlZERyYWlufHxmKCkpfWZ1bmN0aW9uIHUoKXtjKCJvbmVuZCIpLHQuZW5kKCl9aS5lbmRFbWl0dGVkP24ubmV4dFRpY2socyk6ci5vbmNlKCJlbmQiLHMpLHQub24oInVucGlwZSIsYSk7dmFyIGY9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dC5fcmVhZGFibGVTdGF0ZTtjKCJwaXBlT25EcmFpbiIsZS5hd2FpdERyYWluKSxlLmF3YWl0RHJhaW4mJmUuYXdhaXREcmFpbi0tLDA9PT1lLmF3YWl0RHJhaW4mJm8odCwiZGF0YSIpJiYoZS5mbG93aW5nPSEwLGoodCkpfX0ocik7dC5vbigiZHJhaW4iLGYpO3ZhciBoPSExO2Z1bmN0aW9uIGwoZSl7Yygib25kYXRhIik7dmFyIG49dC53cml0ZShlKTtjKCJkZXN0LndyaXRlIixuKSwhMT09PW4mJigoMT09PWkucGlwZXNDb3VudCYmaS5waXBlcz09PXR8fGkucGlwZXNDb3VudD4xJiYtMSE9PUQoaS5waXBlcyx0KSkmJiFoJiYoYygiZmFsc2Ugd3JpdGUgcmVzcG9uc2UsIHBhdXNlIixpLmF3YWl0RHJhaW4pLGkuYXdhaXREcmFpbisrKSxyLnBhdXNlKCkpfWZ1bmN0aW9uIGQoZSl7Yygib25lcnJvciIsZSksZygpLHQucmVtb3ZlTGlzdGVuZXIoImVycm9yIixkKSwwPT09byh0LCJlcnJvciIpJiZNKHQsZSl9ZnVuY3Rpb24gcCgpe3QucmVtb3ZlTGlzdGVuZXIoImZpbmlzaCIsbSksZygpfWZ1bmN0aW9uIG0oKXtjKCJvbmZpbmlzaCIpLHQucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixwKSxnKCl9ZnVuY3Rpb24gZygpe2MoInVucGlwZSIpLHIudW5waXBlKHQpfXJldHVybiByLm9uKCJkYXRhIixsKSxmdW5jdGlvbih0LGUscil7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQucHJlcGVuZExpc3RlbmVyKXJldHVybiB0LnByZXBlbmRMaXN0ZW5lcihlLHIpO3QuX2V2ZW50cyYmdC5fZXZlbnRzW2VdP0FycmF5LmlzQXJyYXkodC5fZXZlbnRzW2VdKT90Ll9ldmVudHNbZV0udW5zaGlmdChyKTp0Ll9ldmVudHNbZV09W3IsdC5fZXZlbnRzW2VdXTp0Lm9uKGUscil9KHQsImVycm9yIixkKSx0Lm9uY2UoImNsb3NlIixwKSx0Lm9uY2UoImZpbmlzaCIsbSksdC5lbWl0KCJwaXBlIixyKSxpLmZsb3dpbmd8fChjKCJwaXBlIHJlc3VtZSIpLHIucmVzdW1lKCkpLHR9LHgucHJvdG90eXBlLnVucGlwZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9yZWFkYWJsZVN0YXRlLHI9e2hhc1VucGlwZWQ6ITF9O2lmKDA9PT1lLnBpcGVzQ291bnQpcmV0dXJuIHRoaXM7aWYoMT09PWUucGlwZXNDb3VudClyZXR1cm4gdCYmdCE9PWUucGlwZXN8fCh0fHwodD1lLnBpcGVzKSxlLnBpcGVzPW51bGwsZS5waXBlc0NvdW50PTAsZS5mbG93aW5nPSExLHQmJnQuZW1pdCgidW5waXBlIix0aGlzLHIpKSx0aGlzO2lmKCF0KXt2YXIgbj1lLnBpcGVzLGk9ZS5waXBlc0NvdW50O2UucGlwZXM9bnVsbCxlLnBpcGVzQ291bnQ9MCxlLmZsb3dpbmc9ITE7Zm9yKHZhciBvPTA7bzxpO28rKyluW29dLmVtaXQoInVucGlwZSIsdGhpcyx7aGFzVW5waXBlZDohMX0pO3JldHVybiB0aGlzfXZhciBzPUQoZS5waXBlcyx0KTtyZXR1cm4tMT09PXN8fChlLnBpcGVzLnNwbGljZShzLDEpLGUucGlwZXNDb3VudC09MSwxPT09ZS5waXBlc0NvdW50JiYoZS5waXBlcz1lLnBpcGVzWzBdKSx0LmVtaXQoInVucGlwZSIsdGhpcyxyKSksdGhpc30seC5wcm90b3R5cGUub249ZnVuY3Rpb24odCxlKXt2YXIgcj1zLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsdCxlKSxpPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuImRhdGEiPT09dD8oaS5yZWFkYWJsZUxpc3RlbmluZz10aGlzLmxpc3RlbmVyQ291bnQoInJlYWRhYmxlIik+MCwhMSE9PWkuZmxvd2luZyYmdGhpcy5yZXN1bWUoKSk6InJlYWRhYmxlIj09PXQmJihpLmVuZEVtaXR0ZWR8fGkucmVhZGFibGVMaXN0ZW5pbmd8fChpLnJlYWRhYmxlTGlzdGVuaW5nPWkubmVlZFJlYWRhYmxlPSEwLGkuZmxvd2luZz0hMSxpLmVtaXR0ZWRSZWFkYWJsZT0hMSxjKCJvbiByZWFkYWJsZSIsaS5sZW5ndGgsaS5yZWFkaW5nKSxpLmxlbmd0aD9UKHRoaXMpOmkucmVhZGluZ3x8bi5uZXh0VGljayhCLHRoaXMpKSkscn0seC5wcm90b3R5cGUuYWRkTGlzdGVuZXI9eC5wcm90b3R5cGUub24seC5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24odCxlKXt2YXIgcj1zLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lci5jYWxsKHRoaXMsdCxlKTtyZXR1cm4icmVhZGFibGUiPT09dCYmbi5uZXh0VGljayhJLHRoaXMpLHJ9LHgucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbih0KXt2YXIgZT1zLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiJyZWFkYWJsZSIhPT10JiZ2b2lkIDAhPT10fHxuLm5leHRUaWNrKEksdGhpcyksZX0seC5wcm90b3R5cGUucmVzdW1lPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4gdC5mbG93aW5nfHwoYygicmVzdW1lIiksdC5mbG93aW5nPSF0LnJlYWRhYmxlTGlzdGVuaW5nLGZ1bmN0aW9uKHQsZSl7ZS5yZXN1bWVTY2hlZHVsZWR8fChlLnJlc3VtZVNjaGVkdWxlZD0hMCxuLm5leHRUaWNrKEwsdCxlKSl9KHRoaXMsdCkpLHQucGF1c2VkPSExLHRoaXN9LHgucHJvdG90eXBlLnBhdXNlPWZ1bmN0aW9uKCl7cmV0dXJuIGMoImNhbGwgcGF1c2UgZmxvd2luZz0laiIsdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKSwhMSE9PXRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyYmKGMoInBhdXNlIiksdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPSExLHRoaXMuZW1pdCgicGF1c2UiKSksdGhpcy5fcmVhZGFibGVTdGF0ZS5wYXVzZWQ9ITAsdGhpc30seC5wcm90b3R5cGUud3JhcD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLHI9dGhpcy5fcmVhZGFibGVTdGF0ZSxuPSExO2Zvcih2YXIgaSBpbiB0Lm9uKCJlbmQiLChmdW5jdGlvbigpe2lmKGMoIndyYXBwZWQgZW5kIiksci5kZWNvZGVyJiYhci5lbmRlZCl7dmFyIHQ9ci5kZWNvZGVyLmVuZCgpO3QmJnQubGVuZ3RoJiZlLnB1c2godCl9ZS5wdXNoKG51bGwpfSkpLHQub24oImRhdGEiLChmdW5jdGlvbihpKXsoYygid3JhcHBlZCBkYXRhIiksci5kZWNvZGVyJiYoaT1yLmRlY29kZXIud3JpdGUoaSkpLHIub2JqZWN0TW9kZSYmbnVsbD09aSl8fChyLm9iamVjdE1vZGV8fGkmJmkubGVuZ3RoKSYmKGUucHVzaChpKXx8KG49ITAsdC5wYXVzZSgpKSl9KSksdCl2b2lkIDA9PT10aGlzW2ldJiYiZnVuY3Rpb24iPT10eXBlb2YgdFtpXSYmKHRoaXNbaV09ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRbZV0uYXBwbHkodCxhcmd1bWVudHMpfX0oaSkpO2Zvcih2YXIgbz0wO288Uy5sZW5ndGg7bysrKXQub24oU1tvXSx0aGlzLmVtaXQuYmluZCh0aGlzLFNbb10pKTtyZXR1cm4gdGhpcy5fcmVhZD1mdW5jdGlvbihlKXtjKCJ3cmFwcGVkIF9yZWFkIixlKSxuJiYobj0hMSx0LnJlc3VtZSgpKX0sdGhpc30sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKHgucHJvdG90eXBlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1sJiYobD1yKDI3NikpLGwodGhpcyl9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsInJlYWRhYmxlSGlnaFdhdGVyTWFyayIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsInJlYWRhYmxlQnVmZmVyIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHgucHJvdG90eXBlLCJyZWFkYWJsZUZsb3dpbmciLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmd9LHNldDpmdW5jdGlvbih0KXt0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPXQpfX0pLHguX2Zyb21MaXN0PU4sT2JqZWN0LmRlZmluZVByb3BlcnR5KHgucHJvdG90eXBlLCJyZWFkYWJsZUxlbmd0aCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RofX0pLCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJih4LmZyb209ZnVuY3Rpb24odCxlKXtyZXR1cm4gdm9pZCAwPT09ZCYmKGQ9cigyNzcpKSxkKHgsdCxlKX0pfSkuY2FsbCh0aGlzLHIoNikscig1KSl9LGZ1bmN0aW9uKHQsZSxyKXt0LmV4cG9ydHM9cigxMikuRXZlbnRFbWl0dGVyfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlKXtmdW5jdGlvbiByKHQsZSl7aSh0LGUpLG4odCl9ZnVuY3Rpb24gbih0KXt0Ll93cml0YWJsZVN0YXRlJiYhdC5fd3JpdGFibGVTdGF0ZS5lbWl0Q2xvc2V8fHQuX3JlYWRhYmxlU3RhdGUmJiF0Ll9yZWFkYWJsZVN0YXRlLmVtaXRDbG9zZXx8dC5lbWl0KCJjbG9zZSIpfWZ1bmN0aW9uIGkodCxlKXt0LmVtaXQoImVycm9yIixlKX10LmV4cG9ydHM9e2Rlc3Ryb3k6ZnVuY3Rpb24odCxvKXt2YXIgcz10aGlzLGE9dGhpcy5fcmVhZGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQsdT10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtyZXR1cm4gYXx8dT8obz9vKHQpOnQmJih0aGlzLl93cml0YWJsZVN0YXRlP3RoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkfHwodGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAsZS5uZXh0VGljayhpLHRoaXMsdCkpOmUubmV4dFRpY2soaSx0aGlzLHQpKSx0aGlzKToodGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPSEwKSx0aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX2Rlc3Ryb3kodHx8bnVsbCwoZnVuY3Rpb24odCl7IW8mJnQ/cy5fd3JpdGFibGVTdGF0ZT9zLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD9lLm5leHRUaWNrKG4scyk6KHMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLGUubmV4dFRpY2socixzLHQpKTplLm5leHRUaWNrKHIscyx0KTpvPyhlLm5leHRUaWNrKG4scyksbyh0KSk6ZS5uZXh0VGljayhuLHMpfSkpLHRoaXMpfSx1bmRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5yZWFkaW5nPSExLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kZWQ9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkPSExKSx0aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGluZz0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmZpbmFsQ2FsbGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUucHJlZmluaXNoZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMSl9LGVycm9yT3JEZXN0cm95OmZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5fcmVhZGFibGVTdGF0ZSxuPXQuX3dyaXRhYmxlU3RhdGU7ciYmci5hdXRvRGVzdHJveXx8biYmbi5hdXRvRGVzdHJveT90LmRlc3Ryb3koZSk6dC5lbWl0KCJlcnJvciIsZSl9fX0pLmNhbGwodGhpcyxyKDUpKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDI5KS5jb2Rlcy5FUlJfSU5WQUxJRF9PUFRfVkFMVUU7dC5leHBvcnRzPXtnZXRIaWdoV2F0ZXJNYXJrOmZ1bmN0aW9uKHQsZSxyLGkpe3ZhciBvPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbnVsbCE9dC5oaWdoV2F0ZXJNYXJrP3QuaGlnaFdhdGVyTWFyazplP3Rbcl06bnVsbH0oZSxpLHIpO2lmKG51bGwhPW8pe2lmKCFpc0Zpbml0ZShvKXx8TWF0aC5mbG9vcihvKSE9PW98fG88MCl0aHJvdyBuZXcgbihpP3I6ImhpZ2hXYXRlck1hcmsiLG8pO3JldHVybiBNYXRoLmZsb29yKG8pfXJldHVybiB0Lm9iamVjdE1vZGU/MTY6MTYzODR9fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSxuKXtmdW5jdGlvbiBpKHQpe3ZhciBlPXRoaXM7dGhpcy5uZXh0PW51bGwsdGhpcy5lbnRyeT1udWxsLHRoaXMuZmluaXNoPWZ1bmN0aW9uKCl7IWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmVudHJ5O3QuZW50cnk9bnVsbDtmb3IoO247KXt2YXIgaT1uLmNhbGxiYWNrO2UucGVuZGluZ2NiLS0saShyKSxuPW4ubmV4dH1lLmNvcmtlZFJlcXVlc3RzRnJlZS5uZXh0PXR9KGUsdCl9fXZhciBvO3QuZXhwb3J0cz14LHguV3JpdGFibGVTdGF0ZT1FO3ZhciBzPXtkZXByZWNhdGU6cig1NCl9LGE9cigxMjkpLHU9cigyKS5CdWZmZXIsYz1lLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fTt2YXIgZixoPXIoMTMwKSxsPXIoMTMxKS5nZXRIaWdoV2F0ZXJNYXJrLGQ9cigyOSkuY29kZXMscD1kLkVSUl9JTlZBTElEX0FSR19UWVBFLG09ZC5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxnPWQuRVJSX01VTFRJUExFX0NBTExCQUNLLGI9ZC5FUlJfU1RSRUFNX0NBTk5PVF9QSVBFLHk9ZC5FUlJfU1RSRUFNX0RFU1RST1lFRCx2PWQuRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUyxfPWQuRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQsdz1kLkVSUl9VTktOT1dOX0VOQ09ESU5HLE09aC5lcnJvck9yRGVzdHJveTtmdW5jdGlvbiBTKCl7fWZ1bmN0aW9uIEUodCxlLHMpe289b3x8cigzMCksdD10fHx7fSwiYm9vbGVhbiIhPXR5cGVvZiBzJiYocz1lIGluc3RhbmNlb2YgbyksdGhpcy5vYmplY3RNb2RlPSEhdC5vYmplY3RNb2RlLHMmJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIXQud3JpdGFibGVPYmplY3RNb2RlKSx0aGlzLmhpZ2hXYXRlck1hcms9bCh0aGlzLHQsIndyaXRhYmxlSGlnaFdhdGVyTWFyayIscyksdGhpcy5maW5hbENhbGxlZD0hMSx0aGlzLm5lZWREcmFpbj0hMSx0aGlzLmVuZGluZz0hMSx0aGlzLmVuZGVkPSExLHRoaXMuZmluaXNoZWQ9ITEsdGhpcy5kZXN0cm95ZWQ9ITE7dmFyIGE9ITE9PT10LmRlY29kZVN0cmluZ3M7dGhpcy5kZWNvZGVTdHJpbmdzPSFhLHRoaXMuZGVmYXVsdEVuY29kaW5nPXQuZGVmYXVsdEVuY29kaW5nfHwidXRmOCIsdGhpcy5sZW5ndGg9MCx0aGlzLndyaXRpbmc9ITEsdGhpcy5jb3JrZWQ9MCx0aGlzLnN5bmM9ITAsdGhpcy5idWZmZXJQcm9jZXNzaW5nPSExLHRoaXMub253cml0ZT1mdW5jdGlvbih0KXshZnVuY3Rpb24odCxlKXt2YXIgcj10Ll93cml0YWJsZVN0YXRlLGk9ci5zeW5jLG89ci53cml0ZWNiO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBvKXRocm93IG5ldyBnO2lmKGZ1bmN0aW9uKHQpe3Qud3JpdGluZz0hMSx0LndyaXRlY2I9bnVsbCx0Lmxlbmd0aC09dC53cml0ZWxlbix0LndyaXRlbGVuPTB9KHIpLGUpIWZ1bmN0aW9uKHQsZSxyLGksbyl7LS1lLnBlbmRpbmdjYixyPyhuLm5leHRUaWNrKG8saSksbi5uZXh0VGljayhDLHQsZSksdC5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAsTSh0LGkpKToobyhpKSx0Ll93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxNKHQsaSksQyh0LGUpKX0odCxyLGksZSxvKTtlbHNle3ZhciBzPVQocil8fHQuZGVzdHJveWVkO3N8fHIuY29ya2VkfHxyLmJ1ZmZlclByb2Nlc3Npbmd8fCFyLmJ1ZmZlcmVkUmVxdWVzdHx8Uih0LHIpLGk/bi5uZXh0VGljayhBLHQscixzLG8pOkEodCxyLHMsbyl9fShlLHQpfSx0aGlzLndyaXRlY2I9bnVsbCx0aGlzLndyaXRlbGVuPTAsdGhpcy5idWZmZXJlZFJlcXVlc3Q9bnVsbCx0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCx0aGlzLnBlbmRpbmdjYj0wLHRoaXMucHJlZmluaXNoZWQ9ITEsdGhpcy5lcnJvckVtaXR0ZWQ9ITEsdGhpcy5lbWl0Q2xvc2U9ITEhPT10LmVtaXRDbG9zZSx0aGlzLmF1dG9EZXN0cm95PSEhdC5hdXRvRGVzdHJveSx0aGlzLmJ1ZmZlcmVkUmVxdWVzdENvdW50PTAsdGhpcy5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IGkodGhpcyl9ZnVuY3Rpb24geCh0KXt2YXIgZT10aGlzIGluc3RhbmNlb2Yobz1vfHxyKDMwKSk7aWYoIWUmJiFmLmNhbGwoeCx0aGlzKSlyZXR1cm4gbmV3IHgodCk7dGhpcy5fd3JpdGFibGVTdGF0ZT1uZXcgRSh0LHRoaXMsZSksdGhpcy53cml0YWJsZT0hMCx0JiYoImZ1bmN0aW9uIj09dHlwZW9mIHQud3JpdGUmJih0aGlzLl93cml0ZT10LndyaXRlKSwiZnVuY3Rpb24iPT10eXBlb2YgdC53cml0ZXYmJih0aGlzLl93cml0ZXY9dC53cml0ZXYpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PXQuZGVzdHJveSksImZ1bmN0aW9uIj09dHlwZW9mIHQuZmluYWwmJih0aGlzLl9maW5hbD10LmZpbmFsKSksYS5jYWxsKHRoaXMpfWZ1bmN0aW9uIGsodCxlLHIsbixpLG8scyl7ZS53cml0ZWxlbj1uLGUud3JpdGVjYj1zLGUud3JpdGluZz0hMCxlLnN5bmM9ITAsZS5kZXN0cm95ZWQ/ZS5vbndyaXRlKG5ldyB5KCJ3cml0ZSIpKTpyP3QuX3dyaXRldihpLGUub253cml0ZSk6dC5fd3JpdGUoaSxvLGUub253cml0ZSksZS5zeW5jPSExfWZ1bmN0aW9uIEEodCxlLHIsbil7cnx8ZnVuY3Rpb24odCxlKXswPT09ZS5sZW5ndGgmJmUubmVlZERyYWluJiYoZS5uZWVkRHJhaW49ITEsdC5lbWl0KCJkcmFpbiIpKX0odCxlKSxlLnBlbmRpbmdjYi0tLG4oKSxDKHQsZSl9ZnVuY3Rpb24gUih0LGUpe2UuYnVmZmVyUHJvY2Vzc2luZz0hMDt2YXIgcj1lLmJ1ZmZlcmVkUmVxdWVzdDtpZih0Ll93cml0ZXYmJnImJnIubmV4dCl7dmFyIG49ZS5idWZmZXJlZFJlcXVlc3RDb3VudCxvPW5ldyBBcnJheShuKSxzPWUuY29ya2VkUmVxdWVzdHNGcmVlO3MuZW50cnk9cjtmb3IodmFyIGE9MCx1PSEwO3I7KW9bYV09cixyLmlzQnVmfHwodT0hMSkscj1yLm5leHQsYSs9MTtvLmFsbEJ1ZmZlcnM9dSxrKHQsZSwhMCxlLmxlbmd0aCxvLCIiLHMuZmluaXNoKSxlLnBlbmRpbmdjYisrLGUubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsLHMubmV4dD8oZS5jb3JrZWRSZXF1ZXN0c0ZyZWU9cy5uZXh0LHMubmV4dD1udWxsKTplLmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgaShlKSxlLmJ1ZmZlcmVkUmVxdWVzdENvdW50PTB9ZWxzZXtmb3IoO3I7KXt2YXIgYz1yLmNodW5rLGY9ci5lbmNvZGluZyxoPXIuY2FsbGJhY2s7aWYoayh0LGUsITEsZS5vYmplY3RNb2RlPzE6Yy5sZW5ndGgsYyxmLGgpLHI9ci5uZXh0LGUuYnVmZmVyZWRSZXF1ZXN0Q291bnQtLSxlLndyaXRpbmcpYnJlYWt9bnVsbD09PXImJihlLmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCl9ZS5idWZmZXJlZFJlcXVlc3Q9cixlLmJ1ZmZlclByb2Nlc3Npbmc9ITF9ZnVuY3Rpb24gVCh0KXtyZXR1cm4gdC5lbmRpbmcmJjA9PT10Lmxlbmd0aCYmbnVsbD09PXQuYnVmZmVyZWRSZXF1ZXN0JiYhdC5maW5pc2hlZCYmIXQud3JpdGluZ31mdW5jdGlvbiBPKHQsZSl7dC5fZmluYWwoKGZ1bmN0aW9uKHIpe2UucGVuZGluZ2NiLS0sciYmTSh0LHIpLGUucHJlZmluaXNoZWQ9ITAsdC5lbWl0KCJwcmVmaW5pc2giKSxDKHQsZSl9KSl9ZnVuY3Rpb24gQyh0LGUpe3ZhciByPVQoZSk7aWYociYmKGZ1bmN0aW9uKHQsZSl7ZS5wcmVmaW5pc2hlZHx8ZS5maW5hbENhbGxlZHx8KCJmdW5jdGlvbiIhPXR5cGVvZiB0Ll9maW5hbHx8ZS5kZXN0cm95ZWQ/KGUucHJlZmluaXNoZWQ9ITAsdC5lbWl0KCJwcmVmaW5pc2giKSk6KGUucGVuZGluZ2NiKyssZS5maW5hbENhbGxlZD0hMCxuLm5leHRUaWNrKE8sdCxlKSkpfSh0LGUpLDA9PT1lLnBlbmRpbmdjYiYmKGUuZmluaXNoZWQ9ITAsdC5lbWl0KCJmaW5pc2giKSxlLmF1dG9EZXN0cm95KSkpe3ZhciBpPXQuX3JlYWRhYmxlU3RhdGU7KCFpfHxpLmF1dG9EZXN0cm95JiZpLmVuZEVtaXR0ZWQpJiZ0LmRlc3Ryb3koKX1yZXR1cm4gcn1yKDMpKHgsYSksRS5wcm90b3R5cGUuZ2V0QnVmZmVyPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuYnVmZmVyZWRSZXF1ZXN0LGU9W107dDspZS5wdXNoKHQpLHQ9dC5uZXh0O3JldHVybiBlfSxmdW5jdGlvbigpe3RyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkoRS5wcm90b3R5cGUsImJ1ZmZlciIse2dldDpzLmRlcHJlY2F0ZSgoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRCdWZmZXIoKX0pLCJfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciBpbnN0ZWFkLiIsIkRFUDAwMDMiKX0pfWNhdGNoKHQpe319KCksImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLmhhc0luc3RhbmNlJiYiZnVuY3Rpb24iPT10eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0/KGY9RnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0sT2JqZWN0LmRlZmluZVByb3BlcnR5KHgsU3ltYm9sLmhhc0luc3RhbmNlLHt2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4hIWYuY2FsbCh0aGlzLHQpfHx0aGlzPT09eCYmKHQmJnQuX3dyaXRhYmxlU3RhdGUgaW5zdGFuY2VvZiBFKX19KSk6Zj1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIHRoaXN9LHgucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oKXtNKHRoaXMsbmV3IGIpfSx4LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0LGUscil7dmFyIGksbz10aGlzLl93cml0YWJsZVN0YXRlLHM9ITEsYT0hby5vYmplY3RNb2RlJiYoaT10LHUuaXNCdWZmZXIoaSl8fGkgaW5zdGFuY2VvZiBjKTtyZXR1cm4gYSYmIXUuaXNCdWZmZXIodCkmJih0PWZ1bmN0aW9uKHQpe3JldHVybiB1LmZyb20odCl9KHQpKSwiZnVuY3Rpb24iPT10eXBlb2YgZSYmKHI9ZSxlPW51bGwpLGE/ZT0iYnVmZmVyIjplfHwoZT1vLmRlZmF1bHRFbmNvZGluZyksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihyPVMpLG8uZW5kaW5nP2Z1bmN0aW9uKHQsZSl7dmFyIHI9bmV3IF87TSh0LHIpLG4ubmV4dFRpY2soZSxyKX0odGhpcyxyKTooYXx8ZnVuY3Rpb24odCxlLHIsaSl7dmFyIG87cmV0dXJuIG51bGw9PT1yP289bmV3IHY6InN0cmluZyI9PXR5cGVvZiByfHxlLm9iamVjdE1vZGV8fChvPW5ldyBwKCJjaHVuayIsWyJzdHJpbmciLCJCdWZmZXIiXSxyKSksIW98fChNKHQsbyksbi5uZXh0VGljayhpLG8pLCExKX0odGhpcyxvLHQscikpJiYoby5wZW5kaW5nY2IrKyxzPWZ1bmN0aW9uKHQsZSxyLG4saSxvKXtpZighcil7dmFyIHM9ZnVuY3Rpb24odCxlLHIpe3Qub2JqZWN0TW9kZXx8ITE9PT10LmRlY29kZVN0cmluZ3N8fCJzdHJpbmciIT10eXBlb2YgZXx8KGU9dS5mcm9tKGUscikpO3JldHVybiBlfShlLG4saSk7biE9PXMmJihyPSEwLGk9ImJ1ZmZlciIsbj1zKX12YXIgYT1lLm9iamVjdE1vZGU/MTpuLmxlbmd0aDtlLmxlbmd0aCs9YTt2YXIgYz1lLmxlbmd0aDxlLmhpZ2hXYXRlck1hcms7Y3x8KGUubmVlZERyYWluPSEwKTtpZihlLndyaXRpbmd8fGUuY29ya2VkKXt2YXIgZj1lLmxhc3RCdWZmZXJlZFJlcXVlc3Q7ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0PXtjaHVuazpuLGVuY29kaW5nOmksaXNCdWY6cixjYWxsYmFjazpvLG5leHQ6bnVsbH0sZj9mLm5leHQ9ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0OmUuYnVmZmVyZWRSZXF1ZXN0PWUubGFzdEJ1ZmZlcmVkUmVxdWVzdCxlLmJ1ZmZlcmVkUmVxdWVzdENvdW50Kz0xfWVsc2Ugayh0LGUsITEsYSxuLGksbyk7cmV0dXJuIGN9KHRoaXMsbyxhLHQsZSxyKSksc30seC5wcm90b3R5cGUuY29yaz1mdW5jdGlvbigpe3RoaXMuX3dyaXRhYmxlU3RhdGUuY29ya2VkKyt9LHgucHJvdG90eXBlLnVuY29yaz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3dyaXRhYmxlU3RhdGU7dC5jb3JrZWQmJih0LmNvcmtlZC0tLHQud3JpdGluZ3x8dC5jb3JrZWR8fHQuYnVmZmVyUHJvY2Vzc2luZ3x8IXQuYnVmZmVyZWRSZXF1ZXN0fHxSKHRoaXMsdCkpfSx4LnByb3RvdHlwZS5zZXREZWZhdWx0RW5jb2Rpbmc9ZnVuY3Rpb24odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYodD10LnRvTG93ZXJDYXNlKCkpLCEoWyJoZXgiLCJ1dGY4IiwidXRmLTgiLCJhc2NpaSIsImJpbmFyeSIsImJhc2U2NCIsInVjczIiLCJ1Y3MtMiIsInV0ZjE2bGUiLCJ1dGYtMTZsZSIsInJhdyJdLmluZGV4T2YoKHQrIiIpLnRvTG93ZXJDYXNlKCkpPi0xKSl0aHJvdyBuZXcgdyh0KTtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZWZhdWx0RW5jb2Rpbmc9dCx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsIndyaXRhYmxlQnVmZmVyIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsIndyaXRhYmxlSGlnaFdhdGVyTWFyayIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSx4LnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24odCxlLHIpe3IobmV3IG0oIl93cml0ZSgpIikpfSx4LnByb3RvdHlwZS5fd3JpdGV2PW51bGwseC5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaT10aGlzLl93cml0YWJsZVN0YXRlO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0PyhyPXQsdD1udWxsLGU9bnVsbCk6ImZ1bmN0aW9uIj09dHlwZW9mIGUmJihyPWUsZT1udWxsKSxudWxsIT10JiZ0aGlzLndyaXRlKHQsZSksaS5jb3JrZWQmJihpLmNvcmtlZD0xLHRoaXMudW5jb3JrKCkpLGkuZW5kaW5nfHxmdW5jdGlvbih0LGUscil7ZS5lbmRpbmc9ITAsQyh0LGUpLHImJihlLmZpbmlzaGVkP24ubmV4dFRpY2socik6dC5vbmNlKCJmaW5pc2giLHIpKTtlLmVuZGVkPSEwLHQud3JpdGFibGU9ITF9KHRoaXMsaSxyKSx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsIndyaXRhYmxlTGVuZ3RoIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5sZW5ndGh9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHgucHJvdG90eXBlLCJkZXN0cm95ZWQiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD10KX19KSx4LnByb3RvdHlwZS5kZXN0cm95PWguZGVzdHJveSx4LnByb3RvdHlwZS5fdW5kZXN0cm95PWgudW5kZXN0cm95LHgucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7ZSh0KX19KS5jYWxsKHRoaXMscig2KSxyKDUpKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9Zjt2YXIgbj1yKDI5KS5jb2RlcyxpPW4uRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsbz1uLkVSUl9NVUxUSVBMRV9DQUxMQkFDSyxzPW4uRVJSX1RSQU5TRk9STV9BTFJFQURZX1RSQU5TRk9STUlORyxhPW4uRVJSX1RSQU5TRk9STV9XSVRIX0xFTkdUSF8wLHU9cigzMCk7ZnVuY3Rpb24gYyh0LGUpe3ZhciByPXRoaXMuX3RyYW5zZm9ybVN0YXRlO3IudHJhbnNmb3JtaW5nPSExO3ZhciBuPXIud3JpdGVjYjtpZihudWxsPT09bilyZXR1cm4gdGhpcy5lbWl0KCJlcnJvciIsbmV3IG8pO3Iud3JpdGVjaHVuaz1udWxsLHIud3JpdGVjYj1udWxsLG51bGwhPWUmJnRoaXMucHVzaChlKSxuKHQpO3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7aS5yZWFkaW5nPSExLChpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfWZ1bmN0aW9uIGYodCl7aWYoISh0aGlzIGluc3RhbmNlb2YgZikpcmV0dXJuIG5ldyBmKHQpO3UuY2FsbCh0aGlzLHQpLHRoaXMuX3RyYW5zZm9ybVN0YXRlPXthZnRlclRyYW5zZm9ybTpjLmJpbmQodGhpcyksbmVlZFRyYW5zZm9ybTohMSx0cmFuc2Zvcm1pbmc6ITEsd3JpdGVjYjpudWxsLHdyaXRlY2h1bms6bnVsbCx3cml0ZWVuY29kaW5nOm51bGx9LHRoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlPSEwLHRoaXMuX3JlYWRhYmxlU3RhdGUuc3luYz0hMSx0JiYoImZ1bmN0aW9uIj09dHlwZW9mIHQudHJhbnNmb3JtJiYodGhpcy5fdHJhbnNmb3JtPXQudHJhbnNmb3JtKSwiZnVuY3Rpb24iPT10eXBlb2YgdC5mbHVzaCYmKHRoaXMuX2ZsdXNoPXQuZmx1c2gpKSx0aGlzLm9uKCJwcmVmaW5pc2giLGgpfWZ1bmN0aW9uIGgoKXt2YXIgdD10aGlzOyJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzLl9mbHVzaHx8dGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ/bCh0aGlzLG51bGwsbnVsbCk6dGhpcy5fZmx1c2goKGZ1bmN0aW9uKGUscil7bCh0LGUscil9KSl9ZnVuY3Rpb24gbCh0LGUscil7aWYoZSlyZXR1cm4gdC5lbWl0KCJlcnJvciIsZSk7aWYobnVsbCE9ciYmdC5wdXNoKHIpLHQuX3dyaXRhYmxlU3RhdGUubGVuZ3RoKXRocm93IG5ldyBhO2lmKHQuX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZyl0aHJvdyBuZXcgcztyZXR1cm4gdC5wdXNoKG51bGwpfXIoMykoZix1KSxmLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX3RyYW5zZm9ybVN0YXRlLm5lZWRUcmFuc2Zvcm09ITEsdS5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsdCxlKX0sZi5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbih0LGUscil7cihuZXcgaSgiX3RyYW5zZm9ybSgpIikpfSxmLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMuX3RyYW5zZm9ybVN0YXRlO2lmKG4ud3JpdGVjYj1yLG4ud3JpdGVjaHVuaz10LG4ud3JpdGVlbmNvZGluZz1lLCFuLnRyYW5zZm9ybWluZyl7dmFyIGk9dGhpcy5fcmVhZGFibGVTdGF0ZTsobi5uZWVkVHJhbnNmb3JtfHxpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfX0sZi5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdHJhbnNmb3JtU3RhdGU7bnVsbD09PWUud3JpdGVjaHVua3x8ZS50cmFuc2Zvcm1pbmc/ZS5uZWVkVHJhbnNmb3JtPSEwOihlLnRyYW5zZm9ybWluZz0hMCx0aGlzLl90cmFuc2Zvcm0oZS53cml0ZWNodW5rLGUud3JpdGVlbmNvZGluZyxlLmFmdGVyVHJhbnNmb3JtKSl9LGYucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7dS5wcm90b3R5cGUuX2Rlc3Ryb3kuY2FsbCh0aGlzLHQsKGZ1bmN0aW9uKHQpe2UodCl9KSl9fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigzKSxpPXIoMzEpLG89cigxMykuQnVmZmVyLHM9WzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF0sYT1uZXcgQXJyYXkoNjQpO2Z1bmN0aW9uIHUoKXt0aGlzLmluaXQoKSx0aGlzLl93PWEsaS5jYWxsKHRoaXMsNjQsNTYpfWZ1bmN0aW9uIGModCxlLHIpe3JldHVybiByXnQmKGVecil9ZnVuY3Rpb24gZih0LGUscil7cmV0dXJuIHQmZXxyJih0fGUpfWZ1bmN0aW9uIGgodCl7cmV0dXJuKHQ+Pj4yfHQ8PDMwKV4odD4+PjEzfHQ8PDE5KV4odD4+PjIyfHQ8PDEwKX1mdW5jdGlvbiBsKHQpe3JldHVybih0Pj4+Nnx0PDwyNileKHQ+Pj4xMXx0PDwyMSleKHQ+Pj4yNXx0PDw3KX1mdW5jdGlvbiBkKHQpe3JldHVybih0Pj4+N3x0PDwyNSleKHQ+Pj4xOHx0PDwxNCledD4+PjN9bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0xNzc5MDMzNzAzLHRoaXMuX2I9MzE0NDEzNDI3Nyx0aGlzLl9jPTEwMTM5MDQyNDIsdGhpcy5fZD0yNzczNDgwNzYyLHRoaXMuX2U9MTM1OTg5MzExOSx0aGlzLl9mPTI2MDA4MjI5MjQsdGhpcy5fZz01Mjg3MzQ2MzUsdGhpcy5faD0xNTQxNDU5MjI1LHRoaXN9LHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9dGhpcy5fdyxuPTB8dGhpcy5fYSxpPTB8dGhpcy5fYixvPTB8dGhpcy5fYyxhPTB8dGhpcy5fZCx1PTB8dGhpcy5fZSxwPTB8dGhpcy5fZixtPTB8dGhpcy5fZyxnPTB8dGhpcy5faCxiPTA7YjwxNjsrK2IpcltiXT10LnJlYWRJbnQzMkJFKDQqYik7Zm9yKDtiPDY0OysrYilyW2JdPTB8KCgoZT1yW2ItMl0pPj4+MTd8ZTw8MTUpXihlPj4+MTl8ZTw8MTMpXmU+Pj4xMCkrcltiLTddK2QocltiLTE1XSkrcltiLTE2XTtmb3IodmFyIHk9MDt5PDY0OysreSl7dmFyIHY9ZytsKHUpK2ModSxwLG0pK3NbeV0rclt5XXwwLF89aChuKStmKG4saSxvKXwwO2c9bSxtPXAscD11LHU9YSt2fDAsYT1vLG89aSxpPW4sbj12K198MH10aGlzLl9hPW4rdGhpcy5fYXwwLHRoaXMuX2I9aSt0aGlzLl9ifDAsdGhpcy5fYz1vK3RoaXMuX2N8MCx0aGlzLl9kPWErdGhpcy5fZHwwLHRoaXMuX2U9dSt0aGlzLl9lfDAsdGhpcy5fZj1wK3RoaXMuX2Z8MCx0aGlzLl9nPW0rdGhpcy5fZ3wwLHRoaXMuX2g9Zyt0aGlzLl9ofDB9LHUucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIHQ9by5hbGxvY1Vuc2FmZSgzMik7cmV0dXJuIHQud3JpdGVJbnQzMkJFKHRoaXMuX2EsMCksdC53cml0ZUludDMyQkUodGhpcy5fYiw0KSx0LndyaXRlSW50MzJCRSh0aGlzLl9jLDgpLHQud3JpdGVJbnQzMkJFKHRoaXMuX2QsMTIpLHQud3JpdGVJbnQzMkJFKHRoaXMuX2UsMTYpLHQud3JpdGVJbnQzMkJFKHRoaXMuX2YsMjApLHQud3JpdGVJbnQzMkJFKHRoaXMuX2csMjQpLHQud3JpdGVJbnQzMkJFKHRoaXMuX2gsMjgpLHR9LHQuZXhwb3J0cz11fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigzKSxpPXIoMzEpLG89cigxMykuQnVmZmVyLHM9WzExMTYzNTI0MDgsMzYwOTc2NzQ1OCwxODk5NDQ3NDQxLDYwMjg5MTcyNSwzMDQ5MzIzNDcxLDM5NjQ0ODQzOTksMzkyMTAwOTU3MywyMTczMjk1NTQ4LDk2MTk4NzE2Myw0MDgxNjI4NDcyLDE1MDg5NzA5OTMsMzA1MzgzNDI2NSwyNDUzNjM1NzQ4LDI5Mzc2NzE1NzksMjg3MDc2MzIyMSwzNjY0NjA5NTYwLDM2MjQzODEwODAsMjczNDg4MzM5NCwzMTA1OTg0MDEsMTE2NDk5NjU0Miw2MDcyMjUyNzgsMTMyMzYxMDc2NCwxNDI2ODgxOTg3LDM1OTAzMDQ5OTQsMTkyNTA3ODM4OCw0MDY4MTgyMzgzLDIxNjIwNzgyMDYsOTkxMzM2MTEzLDI2MTQ4ODgxMDMsNjMzODAzMzE3LDMyNDgyMjI1ODAsMzQ3OTc3NDg2OCwzODM1MzkwNDAxLDI2NjY2MTM0NTgsNDAyMjIyNDc3NCw5NDQ3MTExMzksMjY0MzQ3MDc4LDIzNDEyNjI3NzMsNjA0ODA3NjI4LDIwMDc4MDA5MzMsNzcwMjU1OTgzLDE0OTU5OTA5MDEsMTI0OTE1MDEyMiwxODU2NDMxMjM1LDE1NTUwODE2OTIsMzE3NTIxODEzMiwxOTk2MDY0OTg2LDIxOTg5NTA4MzcsMjU1NDIyMDg4MiwzOTk5NzE5MzM5LDI4MjE4MzQzNDksNzY2Nzg0MDE2LDI5NTI5OTY4MDgsMjU2NjU5NDg3OSwzMjEwMzEzNjcxLDMyMDMzMzc5NTYsMzMzNjU3MTg5MSwxMDM0NDU3MDI2LDM1ODQ1Mjg3MTEsMjQ2Njk0ODkwMSwxMTM5MjY5OTMsMzc1ODMyNjM4MywzMzgyNDE4OTUsMTY4NzE3OTM2LDY2NjMwNzIwNSwxMTg4MTc5OTY0LDc3MzUyOTkxMiwxNTQ2MDQ1NzM0LDEyOTQ3NTczNzIsMTUyMjgwNTQ4NSwxMzk2MTgyMjkxLDI2NDM4MzM4MjMsMTY5NTE4MzcwMCwyMzQzNTI3MzkwLDE5ODY2NjEwNTEsMTAxNDQ3NzQ4MCwyMTc3MDI2MzUwLDEyMDY3NTkxNDIsMjQ1Njk1NjAzNywzNDQwNzc2MjcsMjczMDQ4NTkyMSwxMjkwODYzNDYwLDI4MjAzMDI0MTEsMzE1ODQ1NDI3MywzMjU5NzMwODAwLDM1MDU5NTI2NTcsMzM0NTc2NDc3MSwxMDYyMTcwMDgsMzUxNjA2NTgxNywzNjA2MDA4MzQ0LDM2MDAzNTI4MDQsMTQzMjcyNTc3Niw0MDk0NTcxOTA5LDE0NjcwMzE1OTQsMjc1NDIzMzQ0LDg1MTE2OTcyMCw0MzAyMjc3MzQsMzEwMDgyMzc1Miw1MDY5NDg2MTYsMTM2MzI1ODE5NSw2NTkwNjA1NTYsMzc1MDY4NTU5Myw4ODM5OTc4NzcsMzc4NTA1MDI4MCw5NTgxMzk1NzEsMzMxODMwNzQyNywxMzIyODIyMjE4LDM4MTI3MjM0MDMsMTUzNzAwMjA2MywyMDAzMDM0OTk1LDE3NDc4NzM3NzksMzYwMjAzNjg5OSwxOTU1NTYyMjIyLDE1NzU5OTAwMTIsMjAyNDEwNDgxNSwxMTI1NTkyOTI4LDIyMjc3MzA0NTIsMjcxNjkwNDMwNiwyMzYxODUyNDI0LDQ0Mjc3NjA0NCwyNDI4NDM2NDc0LDU5MzY5ODM0NCwyNzU2NzM0MTg3LDM3MzMxMTAyNDksMzIwNDAzMTQ3OSwyOTk5MzUxNTczLDMzMjkzMjUyOTgsMzgxNTkyMDQyNywzMzkxNTY5NjE0LDM5MjgzODM5MDAsMzUxNTI2NzI3MSw1NjYyODA3MTEsMzk0MDE4NzYwNiwzNDU0MDY5NTM0LDQxMTg2MzAyNzEsNDAwMDIzOTk5MiwxMTY0MTg0NzQsMTkxNDEzODU1NCwxNzQyOTI0MjEsMjczMTA1NTI3MCwyODkzODAzNTYsMzIwMzk5MzAwNiw0NjAzOTMyNjksMzIwNjIwMzE1LDY4NTQ3MTczMyw1ODc0OTY4MzYsODUyMTQyOTcxLDEwODY3OTI4NTEsMTAxNzAzNjI5OCwzNjU1NDMxMDAsMTEyNjAwMDU4MCwyNjE4Mjk3Njc2LDEyODgwMzM0NzAsMzQwOTg1NTE1OCwxNTAxNTA1OTQ4LDQyMzQ1MDk4NjYsMTYwNzE2NzkxNSw5ODcxNjc0NjgsMTgxNjQwMjMxNiwxMjQ2MTg5NTkxXSxhPW5ldyBBcnJheSgxNjApO2Z1bmN0aW9uIHUoKXt0aGlzLmluaXQoKSx0aGlzLl93PWEsaS5jYWxsKHRoaXMsMTI4LDExMil9ZnVuY3Rpb24gYyh0LGUscil7cmV0dXJuIHJedCYoZV5yKX1mdW5jdGlvbiBmKHQsZSxyKXtyZXR1cm4gdCZlfHImKHR8ZSl9ZnVuY3Rpb24gaCh0LGUpe3JldHVybih0Pj4+Mjh8ZTw8NCleKGU+Pj4yfHQ8PDMwKV4oZT4+Pjd8dDw8MjUpfWZ1bmN0aW9uIGwodCxlKXtyZXR1cm4odD4+PjE0fGU8PDE4KV4odD4+PjE4fGU8PDE0KV4oZT4+Pjl8dDw8MjMpfWZ1bmN0aW9uIGQodCxlKXtyZXR1cm4odD4+PjF8ZTw8MzEpXih0Pj4+OHxlPDwyNCledD4+Pjd9ZnVuY3Rpb24gcCh0LGUpe3JldHVybih0Pj4+MXxlPDwzMSleKHQ+Pj44fGU8PDI0KV4odD4+Pjd8ZTw8MjUpfWZ1bmN0aW9uIG0odCxlKXtyZXR1cm4odD4+PjE5fGU8PDEzKV4oZT4+PjI5fHQ8PDMpXnQ+Pj42fWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4odD4+PjE5fGU8PDEzKV4oZT4+PjI5fHQ8PDMpXih0Pj4+NnxlPDwyNil9ZnVuY3Rpb24gYih0LGUpe3JldHVybiB0Pj4+MDxlPj4+MD8xOjB9bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYWg9MTc3OTAzMzcwMyx0aGlzLl9iaD0zMTQ0MTM0Mjc3LHRoaXMuX2NoPTEwMTM5MDQyNDIsdGhpcy5fZGg9Mjc3MzQ4MDc2Mix0aGlzLl9laD0xMzU5ODkzMTE5LHRoaXMuX2ZoPTI2MDA4MjI5MjQsdGhpcy5fZ2g9NTI4NzM0NjM1LHRoaXMuX2hoPTE1NDE0NTkyMjUsdGhpcy5fYWw9NDA4OTIzNTcyMCx0aGlzLl9ibD0yMjI3ODczNTk1LHRoaXMuX2NsPTQyNzExNzU3MjMsdGhpcy5fZGw9MTU5NTc1MDEyOSx0aGlzLl9lbD0yOTE3NTY1MTM3LHRoaXMuX2ZsPTcyNTUxMTE5OSx0aGlzLl9nbD00MjE1Mzg5NTQ3LHRoaXMuX2hsPTMyNzAzMzIwOSx0aGlzfSx1LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLl93LHI9MHx0aGlzLl9haCxuPTB8dGhpcy5fYmgsaT0wfHRoaXMuX2NoLG89MHx0aGlzLl9kaCxhPTB8dGhpcy5fZWgsdT0wfHRoaXMuX2ZoLHk9MHx0aGlzLl9naCx2PTB8dGhpcy5faGgsXz0wfHRoaXMuX2FsLHc9MHx0aGlzLl9ibCxNPTB8dGhpcy5fY2wsUz0wfHRoaXMuX2RsLEU9MHx0aGlzLl9lbCx4PTB8dGhpcy5fZmwsaz0wfHRoaXMuX2dsLEE9MHx0aGlzLl9obCxSPTA7UjwzMjtSKz0yKWVbUl09dC5yZWFkSW50MzJCRSg0KlIpLGVbUisxXT10LnJlYWRJbnQzMkJFKDQqUis0KTtmb3IoO1I8MTYwO1IrPTIpe3ZhciBUPWVbUi0zMF0sTz1lW1ItMzArMV0sQz1kKFQsTyksUD1wKE8sVCksST1tKFQ9ZVtSLTRdLE89ZVtSLTQrMV0pLEI9ZyhPLFQpLEw9ZVtSLTE0XSxqPWVbUi0xNCsxXSxOPWVbUi0zMl0scT1lW1ItMzIrMV0sVT1QK2p8MCxEPUMrTCtiKFUsUCl8MDtEPShEPUQrSStiKFU9VStCfDAsQil8MCkrTitiKFU9VStxfDAscSl8MCxlW1JdPUQsZVtSKzFdPVV9Zm9yKHZhciB6PTA7ejwxNjA7eis9Mil7RD1lW3pdLFU9ZVt6KzFdO3ZhciBIPWYocixuLGkpLEY9ZihfLHcsTSksVz1oKHIsXyksSz1oKF8sciksVj1sKGEsRSksSj1sKEUsYSksWT1zW3pdLEc9c1t6KzFdLFo9YyhhLHUseSksJD1jKEUseCxrKSxYPUErSnwwLFE9ditWK2IoWCxBKXwwO1E9KFE9KFE9UStaK2IoWD1YKyR8MCwkKXwwKStZK2IoWD1YK0d8MCxHKXwwKStEK2IoWD1YK1V8MCxVKXwwO3ZhciB0dD1LK0Z8MCxldD1XK0grYih0dCxLKXwwO3Y9eSxBPWsseT11LGs9eCx1PWEseD1FLGE9bytRK2IoRT1TK1h8MCxTKXwwLG89aSxTPU0saT1uLE09dyxuPXIsdz1fLHI9UStldCtiKF89WCt0dHwwLFgpfDB9dGhpcy5fYWw9dGhpcy5fYWwrX3wwLHRoaXMuX2JsPXRoaXMuX2JsK3d8MCx0aGlzLl9jbD10aGlzLl9jbCtNfDAsdGhpcy5fZGw9dGhpcy5fZGwrU3wwLHRoaXMuX2VsPXRoaXMuX2VsK0V8MCx0aGlzLl9mbD10aGlzLl9mbCt4fDAsdGhpcy5fZ2w9dGhpcy5fZ2wra3wwLHRoaXMuX2hsPXRoaXMuX2hsK0F8MCx0aGlzLl9haD10aGlzLl9haCtyK2IodGhpcy5fYWwsXyl8MCx0aGlzLl9iaD10aGlzLl9iaCtuK2IodGhpcy5fYmwsdyl8MCx0aGlzLl9jaD10aGlzLl9jaCtpK2IodGhpcy5fY2wsTSl8MCx0aGlzLl9kaD10aGlzLl9kaCtvK2IodGhpcy5fZGwsUyl8MCx0aGlzLl9laD10aGlzLl9laCthK2IodGhpcy5fZWwsRSl8MCx0aGlzLl9maD10aGlzLl9maCt1K2IodGhpcy5fZmwseCl8MCx0aGlzLl9naD10aGlzLl9naCt5K2IodGhpcy5fZ2wsayl8MCx0aGlzLl9oaD10aGlzLl9oaCt2K2IodGhpcy5faGwsQSl8MH0sdS5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgdD1vLmFsbG9jVW5zYWZlKDY0KTtmdW5jdGlvbiBlKGUscixuKXt0LndyaXRlSW50MzJCRShlLG4pLHQud3JpdGVJbnQzMkJFKHIsbis0KX1yZXR1cm4gZSh0aGlzLl9haCx0aGlzLl9hbCwwKSxlKHRoaXMuX2JoLHRoaXMuX2JsLDgpLGUodGhpcy5fY2gsdGhpcy5fY2wsMTYpLGUodGhpcy5fZGgsdGhpcy5fZGwsMjQpLGUodGhpcy5fZWgsdGhpcy5fZWwsMzIpLGUodGhpcy5fZmgsdGhpcy5fZmwsNDApLGUodGhpcy5fZ2gsdGhpcy5fZ2wsNDgpLGUodGhpcy5faGgsdGhpcy5faGwsNTYpLHR9LHQuZXhwb3J0cz11fSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJbaXMtaGV4LXByZWZpeGVkXSB2YWx1ZSBtdXN0IGJlIHR5cGUgJ3N0cmluZycsIGlzIGN1cnJlbnRseSB0eXBlICIrdHlwZW9mIHQrIiwgd2hpbGUgY2hlY2tpbmcgaXNIZXhQcmVmaXhlZC4iKTtyZXR1cm4iMHgiPT09dC5zbGljZSgwLDIpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijtjb25zdCBuPSh0LGUpPT5mdW5jdGlvbigpe2NvbnN0IHI9ZS5wcm9taXNlTW9kdWxlLG49bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpO2ZvcihsZXQgdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspblt0XT1hcmd1bWVudHNbdF07cmV0dXJuIG5ldyByKChyLGkpPT57ZS5lcnJvckZpcnN0P24ucHVzaCgoZnVuY3Rpb24odCxuKXtpZihlLm11bHRpQXJncyl7Y29uc3QgZT1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTtmb3IobGV0IHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdC0xXT1hcmd1bWVudHNbdF07dD8oZS51bnNoaWZ0KHQpLGkoZSkpOnIoZSl9ZWxzZSB0P2kodCk6cihuKX0pKTpuLnB1c2goKGZ1bmN0aW9uKHQpe2lmKGUubXVsdGlBcmdzKXtjb25zdCB0PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpO2ZvcihsZXQgZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cih0KX1lbHNlIHIodCl9KSksdC5hcHBseSh0aGlzLG4pfSl9O3QuZXhwb3J0cz0odCxlKT0+e2U9T2JqZWN0LmFzc2lnbih7ZXhjbHVkZTpbLy4rKFN5bmN8U3RyZWFtKSQvXSxlcnJvckZpcnN0OiEwLHByb21pc2VNb2R1bGU6UHJvbWlzZX0sZSk7Y29uc3Qgcj10PT57Y29uc3Qgcj1lPT4ic3RyaW5nIj09dHlwZW9mIGU/dD09PWU6ZS50ZXN0KHQpO3JldHVybiBlLmluY2x1ZGU/ZS5pbmNsdWRlLnNvbWUocik6IWUuZXhjbHVkZS5zb21lKHIpfTtsZXQgaTtpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uKCl7cmV0dXJuIGUuZXhjbHVkZU1haW4/dC5hcHBseSh0aGlzLGFyZ3VtZW50cyk6bih0LGUpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX06T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCBvIGluIHQpe2NvbnN0IHM9dFtvXTtpW29dPSJmdW5jdGlvbiI9PXR5cGVvZiBzJiZyKG8pP24ocyxlKTpzfXJldHVybiBpfX0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cig0NCksaT1yKDI5NikoKTtmdW5jdGlvbiBvKHQpe3RoaXMuY3VycmVudFByb3ZpZGVyPXR9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtjb25zdCBlPXRoaXM7dmFyIHI9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpLG49ci5wb3AoKTtlLnNlbmRBc3luYyh7bWV0aG9kOnQscGFyYW1zOnJ9LG4pfX1mdW5jdGlvbiBhKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3Qgcj10aGlzO3ZhciBuPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSxpPW4ucG9wKCk7bi5sZW5ndGg8dCYmbi5wdXNoKCJsYXRlc3QiKSxyLnNlbmRBc3luYyh7bWV0aG9kOmUscGFyYW1zOm59LGkpfX10LmV4cG9ydHM9byxvLnByb3RvdHlwZS5nZXRCYWxhbmNlPWEoMiwiZXRoX2dldEJhbGFuY2UiKSxvLnByb3RvdHlwZS5nZXRDb2RlPWEoMiwiZXRoX2dldENvZGUiKSxvLnByb3RvdHlwZS5nZXRUcmFuc2FjdGlvbkNvdW50PWEoMiwiZXRoX2dldFRyYW5zYWN0aW9uQ291bnQiKSxvLnByb3RvdHlwZS5nZXRTdG9yYWdlQXQ9YSgzLCJldGhfZ2V0U3RvcmFnZUF0Iiksby5wcm90b3R5cGUuY2FsbD1hKDIsImV0aF9jYWxsIiksby5wcm90b3R5cGUucHJvdG9jb2xWZXJzaW9uPXMoImV0aF9wcm90b2NvbFZlcnNpb24iKSxvLnByb3RvdHlwZS5zeW5jaW5nPXMoImV0aF9zeW5jaW5nIiksby5wcm90b3R5cGUuY29pbmJhc2U9cygiZXRoX2NvaW5iYXNlIiksby5wcm90b3R5cGUubWluaW5nPXMoImV0aF9taW5pbmciKSxvLnByb3RvdHlwZS5oYXNocmF0ZT1zKCJldGhfaGFzaHJhdGUiKSxvLnByb3RvdHlwZS5nYXNQcmljZT1zKCJldGhfZ2FzUHJpY2UiKSxvLnByb3RvdHlwZS5hY2NvdW50cz1zKCJldGhfYWNjb3VudHMiKSxvLnByb3RvdHlwZS5ibG9ja051bWJlcj1zKCJldGhfYmxvY2tOdW1iZXIiKSxvLnByb3RvdHlwZS5nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnRCeUhhc2g9cygiZXRoX2dldEJsb2NrVHJhbnNhY3Rpb25Db3VudEJ5SGFzaCIpLG8ucHJvdG90eXBlLmdldEJsb2NrVHJhbnNhY3Rpb25Db3VudEJ5TnVtYmVyPXMoImV0aF9nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnRCeU51bWJlciIpLG8ucHJvdG90eXBlLmdldFVuY2xlQ291bnRCeUJsb2NrSGFzaD1zKCJldGhfZ2V0VW5jbGVDb3VudEJ5QmxvY2tIYXNoIiksby5wcm90b3R5cGUuZ2V0VW5jbGVDb3VudEJ5QmxvY2tOdW1iZXI9cygiZXRoX2dldFVuY2xlQ291bnRCeUJsb2NrTnVtYmVyIiksby5wcm90b3R5cGUuc2lnbj1zKCJldGhfc2lnbiIpLG8ucHJvdG90eXBlLnNlbmRUcmFuc2FjdGlvbj1zKCJldGhfc2VuZFRyYW5zYWN0aW9uIiksby5wcm90b3R5cGUuc2VuZFJhd1RyYW5zYWN0aW9uPXMoImV0aF9zZW5kUmF3VHJhbnNhY3Rpb24iKSxvLnByb3RvdHlwZS5lc3RpbWF0ZUdhcz1zKCJldGhfZXN0aW1hdGVHYXMiKSxvLnByb3RvdHlwZS5nZXRCbG9ja0J5SGFzaD1zKCJldGhfZ2V0QmxvY2tCeUhhc2giKSxvLnByb3RvdHlwZS5nZXRCbG9ja0J5TnVtYmVyPXMoImV0aF9nZXRCbG9ja0J5TnVtYmVyIiksby5wcm90b3R5cGUuZ2V0VHJhbnNhY3Rpb25CeUhhc2g9cygiZXRoX2dldFRyYW5zYWN0aW9uQnlIYXNoIiksby5wcm90b3R5cGUuZ2V0VHJhbnNhY3Rpb25CeUJsb2NrSGFzaEFuZEluZGV4PXMoImV0aF9nZXRUcmFuc2FjdGlvbkJ5QmxvY2tIYXNoQW5kSW5kZXgiKSxvLnByb3RvdHlwZS5nZXRUcmFuc2FjdGlvbkJ5QmxvY2tOdW1iZXJBbmRJbmRleD1zKCJldGhfZ2V0VHJhbnNhY3Rpb25CeUJsb2NrTnVtYmVyQW5kSW5kZXgiKSxvLnByb3RvdHlwZS5nZXRUcmFuc2FjdGlvblJlY2VpcHQ9cygiZXRoX2dldFRyYW5zYWN0aW9uUmVjZWlwdCIpLG8ucHJvdG90eXBlLmdldFVuY2xlQnlCbG9ja0hhc2hBbmRJbmRleD1zKCJldGhfZ2V0VW5jbGVCeUJsb2NrSGFzaEFuZEluZGV4Iiksby5wcm90b3R5cGUuZ2V0VW5jbGVCeUJsb2NrTnVtYmVyQW5kSW5kZXg9cygiZXRoX2dldFVuY2xlQnlCbG9ja051bWJlckFuZEluZGV4Iiksby5wcm90b3R5cGUuZ2V0Q29tcGlsZXJzPXMoImV0aF9nZXRDb21waWxlcnMiKSxvLnByb3RvdHlwZS5jb21waWxlTExMPXMoImV0aF9jb21waWxlTExMIiksby5wcm90b3R5cGUuY29tcGlsZVNvbGlkaXR5PXMoImV0aF9jb21waWxlU29saWRpdHkiKSxvLnByb3RvdHlwZS5jb21waWxlU2VycGVudD1zKCJldGhfY29tcGlsZVNlcnBlbnQiKSxvLnByb3RvdHlwZS5uZXdGaWx0ZXI9cygiZXRoX25ld0ZpbHRlciIpLG8ucHJvdG90eXBlLm5ld0Jsb2NrRmlsdGVyPXMoImV0aF9uZXdCbG9ja0ZpbHRlciIpLG8ucHJvdG90eXBlLm5ld1BlbmRpbmdUcmFuc2FjdGlvbkZpbHRlcj1zKCJldGhfbmV3UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyIiksby5wcm90b3R5cGUudW5pbnN0YWxsRmlsdGVyPXMoImV0aF91bmluc3RhbGxGaWx0ZXIiKSxvLnByb3RvdHlwZS5nZXRGaWx0ZXJDaGFuZ2VzPXMoImV0aF9nZXRGaWx0ZXJDaGFuZ2VzIiksby5wcm90b3R5cGUuZ2V0RmlsdGVyTG9ncz1zKCJldGhfZ2V0RmlsdGVyTG9ncyIpLG8ucHJvdG90eXBlLmdldExvZ3M9cygiZXRoX2dldExvZ3MiKSxvLnByb3RvdHlwZS5nZXRXb3JrPXMoImV0aF9nZXRXb3JrIiksby5wcm90b3R5cGUuc3VibWl0V29yaz1zKCJldGhfc3VibWl0V29yayIpLG8ucHJvdG90eXBlLnN1Ym1pdEhhc2hyYXRlPXMoImV0aF9zdWJtaXRIYXNocmF0ZSIpLG8ucHJvdG90eXBlLnNlbmRBc3luYz1mdW5jdGlvbih0LGUpe3ZhciByO3RoaXMuY3VycmVudFByb3ZpZGVyLnNlbmRBc3luYygocj10LG4oe2lkOmkoKSxqc29ucnBjOiIyLjAiLHBhcmFtczpbXX0scikpLChmdW5jdGlvbih0LHIpe2lmKCF0JiZyLmVycm9yJiYodD1uZXcgRXJyb3IoIkV0aFF1ZXJ5IC0gUlBDIEVycm9yIC0gIityLmVycm9yLm1lc3NhZ2UpKSx0KXJldHVybiBlKHQpO2UobnVsbCxyLnJlc3VsdCl9KSl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmRlZmF1bHQ9ZnVuY3Rpb24odCxlLHIpeygoMCxuLmRlZmF1bHQpKHQpP2w6ZCkodCwoMCxmLmRlZmF1bHQpKGUpLHIpfTt2YXIgbj1oKHIoNDcpKSxpPWgocigxNDUpKSxvPWgocigzMDMpKSxzPWgocigxNDgpKSxhPWgocigzOCkpLHU9aChyKDY0KSksYz1oKHIoNjYpKSxmPWgocigyMykpO2Z1bmN0aW9uIGgodCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIGwodCxlLHIpe3I9KDAsdS5kZWZhdWx0KShyfHxhLmRlZmF1bHQpO3ZhciBuPTAsbz0wLHM9dC5sZW5ndGg7ZnVuY3Rpb24gZih0LGUpe3Q/cih0KTorK28hPT1zJiZlIT09aS5kZWZhdWx0fHxyKG51bGwpfWZvcigwPT09cyYmcihudWxsKTtuPHM7bisrKWUodFtuXSxuLCgwLGMuZGVmYXVsdCkoZikpfXZhciBkPSgwLHMuZGVmYXVsdCkoby5kZWZhdWx0LDEvMCk7dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTQxKS5TeW1ib2w7dC5leHBvcnRzPW59LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDE0MiksaT0ib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLG89bnx8aXx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKTt0LmV4cG9ydHM9b30sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihlKXt2YXIgcj0ib2JqZWN0Ij09dHlwZW9mIGUmJmUmJmUuT2JqZWN0PT09T2JqZWN0JiZlO3QuZXhwb3J0cz1yfSkuY2FsbCh0aGlzLHIoNikpfSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4gbnVsbCE9dCYmKCJvYmplY3QiPT1lfHwiZnVuY3Rpb24iPT1lKX19LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdCYmdD4tMSYmdCUxPT0wJiZ0PD05MDA3MTk5MjU0NzQwOTkxfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PXt9LHQuZXhwb3J0cz1lLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyLHUpe2lmKHU9KDAsaS5kZWZhdWx0KSh1fHxuLmRlZmF1bHQpLHQ8PTB8fCFlKXJldHVybiB1KG51bGwpO3ZhciBjPSgwLG8uZGVmYXVsdCkoZSksZj0hMSxoPTAsbD0hMTtmdW5jdGlvbiBkKHQsZSl7aWYoaC09MSx0KWY9ITAsdSh0KTtlbHNle2lmKGU9PT1hLmRlZmF1bHR8fGYmJmg8PTApcmV0dXJuIGY9ITAsdShudWxsKTtsfHxwKCl9fWZ1bmN0aW9uIHAoKXtmb3IobD0hMDtoPHQmJiFmOyl7dmFyIGU9YygpO2lmKG51bGw9PT1lKXJldHVybiBmPSEwLHZvaWQoaDw9MCYmdShudWxsKSk7aCs9MSxyKGUudmFsdWUsZS5rZXksKDAscy5kZWZhdWx0KShkKSl9bD0hMX1wKCl9fTt2YXIgbj11KHIoMzgpKSxpPXUocig2NCkpLG89dShyKDMwNCkpLHM9dShyKDY2KSksYT11KHIoMTQ1KSk7ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlKXt2YXIgcj1BcnJheS5pc0FycmF5O3QuZXhwb3J0cz1yfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmRlZmF1bHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocixuLGkpe3JldHVybiB0KHIsZSxuLGkpfX0sdC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cigxNTApO2Z1bmN0aW9uIGkodCl7cmV0dXJuIm5ldmVyIiE9PWEodCl9ZnVuY3Rpb24gbyh0KXt2YXIgZT1zKHQpO3JldHVybiBlPj10LnBhcmFtcy5sZW5ndGg/dC5wYXJhbXM6ImV0aF9nZXRCbG9ja0J5TnVtYmVyIj09PXQubWV0aG9kP3QucGFyYW1zLnNsaWNlKDEpOnQucGFyYW1zLnNsaWNlKDAsZSl9ZnVuY3Rpb24gcyh0KXtzd2l0Y2godC5tZXRob2Qpe2Nhc2UiZXRoX2dldFN0b3JhZ2VBdCI6cmV0dXJuIDI7Y2FzZSJldGhfZ2V0QmFsYW5jZSI6Y2FzZSJldGhfZ2V0Q29kZSI6Y2FzZSJldGhfZ2V0VHJhbnNhY3Rpb25Db3VudCI6Y2FzZSJldGhfY2FsbCI6Y2FzZSJldGhfZXN0aW1hdGVHYXMiOnJldHVybiAxO2Nhc2UiZXRoX2dldEJsb2NrQnlOdW1iZXIiOnJldHVybiAwO2RlZmF1bHQ6cmV0dXJufX1mdW5jdGlvbiBhKHQpe3N3aXRjaCh0Lm1ldGhvZCl7Y2FzZSJ3ZWIzX2NsaWVudFZlcnNpb24iOmNhc2Uid2ViM19zaGEzIjpjYXNlImV0aF9wcm90b2NvbFZlcnNpb24iOmNhc2UiZXRoX2dldEJsb2NrVHJhbnNhY3Rpb25Db3VudEJ5SGFzaCI6Y2FzZSJldGhfZ2V0VW5jbGVDb3VudEJ5QmxvY2tIYXNoIjpjYXNlImV0aF9nZXRDb2RlIjpjYXNlImV0aF9nZXRCbG9ja0J5SGFzaCI6Y2FzZSJldGhfZ2V0VHJhbnNhY3Rpb25CeUhhc2giOmNhc2UiZXRoX2dldFRyYW5zYWN0aW9uQnlCbG9ja0hhc2hBbmRJbmRleCI6Y2FzZSJldGhfZ2V0VHJhbnNhY3Rpb25SZWNlaXB0IjpjYXNlImV0aF9nZXRVbmNsZUJ5QmxvY2tIYXNoQW5kSW5kZXgiOmNhc2UiZXRoX2dldENvbXBpbGVycyI6Y2FzZSJldGhfY29tcGlsZUxMTCI6Y2FzZSJldGhfY29tcGlsZVNvbGlkaXR5IjpjYXNlImV0aF9jb21waWxlU2VycGVudCI6Y2FzZSJzaGhfdmVyc2lvbiI6cmV0dXJuInBlcm1hIjtjYXNlImV0aF9nZXRCbG9ja0J5TnVtYmVyIjpjYXNlImV0aF9nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnRCeU51bWJlciI6Y2FzZSJldGhfZ2V0VW5jbGVDb3VudEJ5QmxvY2tOdW1iZXIiOmNhc2UiZXRoX2dldFRyYW5zYWN0aW9uQnlCbG9ja051bWJlckFuZEluZGV4IjpjYXNlImV0aF9nZXRVbmNsZUJ5QmxvY2tOdW1iZXJBbmRJbmRleCI6cmV0dXJuImZvcmsiO2Nhc2UiZXRoX2dhc1ByaWNlIjpjYXNlImV0aF9nZXRCYWxhbmNlIjpjYXNlImV0aF9nZXRTdG9yYWdlQXQiOmNhc2UiZXRoX2dldFRyYW5zYWN0aW9uQ291bnQiOmNhc2UiZXRoX2NhbGwiOmNhc2UiZXRoX2VzdGltYXRlR2FzIjpjYXNlImV0aF9nZXRGaWx0ZXJMb2dzIjpjYXNlImV0aF9nZXRMb2dzIjpjYXNlImV0aF9ibG9ja051bWJlciI6cmV0dXJuImJsb2NrIjtjYXNlIm5ldF92ZXJzaW9uIjpjYXNlIm5ldF9wZWVyQ291bnQiOmNhc2UibmV0X2xpc3RlbmluZyI6Y2FzZSJldGhfc3luY2luZyI6Y2FzZSJldGhfc2lnbiI6Y2FzZSJldGhfY29pbmJhc2UiOmNhc2UiZXRoX21pbmluZyI6Y2FzZSJldGhfaGFzaHJhdGUiOmNhc2UiZXRoX2FjY291bnRzIjpjYXNlImV0aF9zZW5kVHJhbnNhY3Rpb24iOmNhc2UiZXRoX3NlbmRSYXdUcmFuc2FjdGlvbiI6Y2FzZSJldGhfbmV3RmlsdGVyIjpjYXNlImV0aF9uZXdCbG9ja0ZpbHRlciI6Y2FzZSJldGhfbmV3UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyIjpjYXNlImV0aF91bmluc3RhbGxGaWx0ZXIiOmNhc2UiZXRoX2dldEZpbHRlckNoYW5nZXMiOmNhc2UiZXRoX2dldFdvcmsiOmNhc2UiZXRoX3N1Ym1pdFdvcmsiOmNhc2UiZXRoX3N1Ym1pdEhhc2hyYXRlIjpjYXNlImRiX3B1dFN0cmluZyI6Y2FzZSJkYl9nZXRTdHJpbmciOmNhc2UiZGJfcHV0SGV4IjpjYXNlImRiX2dldEhleCI6Y2FzZSJzaGhfcG9zdCI6Y2FzZSJzaGhfbmV3SWRlbnRpdHkiOmNhc2Uic2hoX2hhc0lkZW50aXR5IjpjYXNlInNoaF9uZXdHcm91cCI6Y2FzZSJzaGhfYWRkVG9Hcm91cCI6Y2FzZSJzaGhfbmV3RmlsdGVyIjpjYXNlInNoaF91bmluc3RhbGxGaWx0ZXIiOmNhc2Uic2hoX2dldEZpbHRlckNoYW5nZXMiOmNhc2Uic2hoX2dldE1lc3NhZ2VzIjpyZXR1cm4ibmV2ZXIifX10LmV4cG9ydHM9e2NhY2hlSWRlbnRpZmllckZvclBheWxvYWQ6ZnVuY3Rpb24odCxlPXt9KXtpZighaSh0KSlyZXR1cm4gbnVsbDtjb25zdHtpbmNsdWRlQmxvY2tSZWY6cn09ZSxzPXI/dC5wYXJhbXM6byh0KTtyZXR1cm4gdC5tZXRob2QrIjoiK24ocyl9LGNhbkNhY2hlOmksYmxvY2tUYWdGb3JQYXlsb2FkOmZ1bmN0aW9uKHQpe3ZhciBlPXModCk7aWYoZT49dC5wYXJhbXMubGVuZ3RoKXJldHVybiBudWxsO3JldHVybiB0LnBhcmFtc1tlXX0scGFyYW1zV2l0aG91dEJsb2NrVGFnOm8sYmxvY2tUYWdQYXJhbUluZGV4OnMsY2FjaGVUeXBlRm9yUGF5bG9hZDphfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgSlNPTj9KU09OOnIoMzMwKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtlfHwoZT17fSksImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPXtjbXA6ZX0pO3ZhciByPWUuc3BhY2V8fCIiOyJudW1iZXIiPT10eXBlb2YgciYmKHI9QXJyYXkocisxKS5qb2luKCIgIikpO3ZhciBzLGE9ImJvb2xlYW4iPT10eXBlb2YgZS5jeWNsZXMmJmUuY3ljbGVzLHU9ZS5yZXBsYWNlcnx8ZnVuY3Rpb24odCxlKXtyZXR1cm4gZX0sYz1lLmNtcCYmKHM9ZS5jbXAsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUscil7dmFyIG49e2tleTplLHZhbHVlOnRbZV19LGk9e2tleTpyLHZhbHVlOnRbcl19O3JldHVybiBzKG4saSl9fSksZj1bXTtyZXR1cm4gZnVuY3Rpb24gdChlLHMsaCxsKXt2YXIgZD1yPyJcbiIrbmV3IEFycmF5KGwrMSkuam9pbihyKToiIixwPXI/IjogIjoiOiI7aWYoaCYmaC50b0pTT04mJiJmdW5jdGlvbiI9PXR5cGVvZiBoLnRvSlNPTiYmKGg9aC50b0pTT04oKSksdm9pZCAwIT09KGg9dS5jYWxsKGUscyxoKSkpe2lmKCJvYmplY3QiIT10eXBlb2YgaHx8bnVsbD09PWgpcmV0dXJuIG4uc3RyaW5naWZ5KGgpO2lmKGkoaCkpe2Zvcih2YXIgbT1bXSxnPTA7ZzxoLmxlbmd0aDtnKyspe3ZhciBiPXQoaCxnLGhbZ10sbCsxKXx8bi5zdHJpbmdpZnkobnVsbCk7bS5wdXNoKGQrcitiKX1yZXR1cm4iWyIrbS5qb2luKCIsIikrZCsiXSJ9aWYoLTEhPT1mLmluZGV4T2YoaCkpe2lmKGEpcmV0dXJuIG4uc3RyaW5naWZ5KCJfX2N5Y2xlX18iKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OIil9Zi5wdXNoKGgpO3ZhciB5PW8oaCkuc29ydChjJiZjKGgpKTtmb3IobT1bXSxnPTA7Zzx5Lmxlbmd0aDtnKyspe3ZhciB2PXQoaCxzPXlbZ10saFtzXSxsKzEpO2lmKHYpe3ZhciBfPW4uc3RyaW5naWZ5KHMpK3ArdjttLnB1c2goZCtyK18pfX1yZXR1cm4gZi5zcGxpY2UoZi5pbmRleE9mKGgpLDEpLCJ7IittLmpvaW4oIiwiKStkKyJ9In19KHsiIjp0fSwiIix0LDApfTt2YXIgaT1BcnJheS5pc0FycmF5fHxmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09e30udG9TdHJpbmcuY2FsbCh0KX0sbz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24odCl7dmFyIGU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eXx8ZnVuY3Rpb24oKXtyZXR1cm4hMH0scj1bXTtmb3IodmFyIG4gaW4gdCllLmNhbGwodCxuKSYmci5wdXNoKG4pO3JldHVybiByfX0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cigzNzUpLk11dGV4LHtjcmVhdGVBc3luY01pZGRsZXdhcmU6aX09cigxNTIpLG89cigxNTYpLHM9cigzNDgpLGE9cigzNTEpLHU9cigzNTIpLHtpbnRUb0hleDpjLGhleFRvSW50OmZ9PXIoMzkpO2Z1bmN0aW9uIGgodCl7cmV0dXJuIGwoYXN5bmMoLi4uZSk9Pntjb25zdCByPWF3YWl0IHQoLi4uZSk7cmV0dXJuIGMoci5pZCl9KX1mdW5jdGlvbiBsKHQpe3JldHVybiBpKGFzeW5jKGUscik9Pntjb25zdCBuPWF3YWl0IHQuYXBwbHkobnVsbCxlLnBhcmFtcyk7ci5yZXN1bHQ9bn0pfWZ1bmN0aW9uIGQodCxlKXtjb25zdCByPVtdO2ZvcihsZXQgZSBpbiB0KXIucHVzaCh0W2VdKTtyZXR1cm4gcn10LmV4cG9ydHM9ZnVuY3Rpb24oe2Jsb2NrVHJhY2tlcjp0LHByb3ZpZGVyOmV9KXtsZXQgcj0wLGk9e307Y29uc3QgcD1uZXcgbixtPWZ1bmN0aW9uKHttdXRleDp0fSl7cmV0dXJuIGU9PmFzeW5jKHIsbixpLG8pPT57KGF3YWl0IHQuYWNxdWlyZSgpKSgpLGUocixuLGksbyl9fSh7bXV0ZXg6cH0pLGc9byh7ZXRoX25ld0ZpbHRlcjptKGgoeSkpLGV0aF9uZXdCbG9ja0ZpbHRlcjptKGgodikpLGV0aF9uZXdQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXI6bShoKF8pKSxldGhfdW5pbnN0YWxsRmlsdGVyOm0obChTKSksZXRoX2dldEZpbHRlckNoYW5nZXM6bShsKHcpKSxldGhfZ2V0RmlsdGVyTG9nczptKGwoTSkpfSksYj1hc3luYyh7b2xkQmxvY2s6dCxuZXdCbG9jazplfSk9PntpZigwPT09aS5sZW5ndGgpcmV0dXJuO2NvbnN0IHI9YXdhaXQgcC5hY3F1aXJlKCk7dHJ5e2F3YWl0IFByb21pc2UuYWxsKGQoaSkubWFwKGFzeW5jIHI9Pnt0cnl7YXdhaXQgci51cGRhdGUoe29sZEJsb2NrOnQsbmV3QmxvY2s6ZX0pfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IodCl9fSkpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IodCl9cigpfTtyZXR1cm4gZy5uZXdMb2dGaWx0ZXI9eSxnLm5ld0Jsb2NrRmlsdGVyPXYsZy5uZXdQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXI9XyxnLnVuaW5zdGFsbEZpbHRlcj1TLGcuZ2V0RmlsdGVyQ2hhbmdlcz13LGcuZ2V0RmlsdGVyTG9ncz1NLGcuZGVzdHJveT0oKT0+eyFhc3luYyBmdW5jdGlvbigpe2NvbnN0IHQ9ZChpKS5sZW5ndGg7aT17fSx4KHtwcmV2RmlsdGVyQ291bnQ6dCxuZXdGaWx0ZXJDb3VudDowfSl9KCl9LGc7YXN5bmMgZnVuY3Rpb24geSh0KXtjb25zdCByPW5ldyBzKHtwcm92aWRlcjplLHBhcmFtczp0fSk7YXdhaXQgRShyKTtyZXR1cm4gcn1hc3luYyBmdW5jdGlvbiB2KCl7Y29uc3QgdD1uZXcgYSh7cHJvdmlkZXI6ZX0pO2F3YWl0IEUodCk7cmV0dXJuIHR9YXN5bmMgZnVuY3Rpb24gXygpe2NvbnN0IHQ9bmV3IHUoe3Byb3ZpZGVyOmV9KTthd2FpdCBFKHQpO3JldHVybiB0fWFzeW5jIGZ1bmN0aW9uIHcodCl7Y29uc3QgZT1mKHQpLHI9aVtlXTtpZighcil0aHJvdyBuZXcgRXJyb3IoYE5vIGZpbHRlciBmb3IgaW5kZXggIiR7ZX0iYCk7cmV0dXJuIHIuZ2V0Q2hhbmdlc0FuZENsZWFyKCl9YXN5bmMgZnVuY3Rpb24gTSh0KXtjb25zdCBlPWYodCkscj1pW2VdO2lmKCFyKXRocm93IG5ldyBFcnJvcihgTm8gZmlsdGVyIGZvciBpbmRleCAiJHtlfSJgKTtyZXR1cm4ibG9nIj09PXIudHlwZT9yZXN1bHRzPXIuZ2V0QWxsUmVzdWx0cygpOnJlc3VsdHM9W10scmVzdWx0c31hc3luYyBmdW5jdGlvbiBTKHQpe2NvbnN0IGU9Zih0KSxyPWlbZV0sbj1Cb29sZWFuKHIpO3JldHVybiBuJiZhd2FpdCBhc3luYyBmdW5jdGlvbih0KXtjb25zdCBlPWQoaSkubGVuZ3RoO2RlbGV0ZSBpW3RdO2NvbnN0IHI9ZChpKS5sZW5ndGg7eCh7cHJldkZpbHRlckNvdW50OmUsbmV3RmlsdGVyQ291bnQ6cn0pfShlKSxufWFzeW5jIGZ1bmN0aW9uIEUoZSl7Y29uc3Qgbj1kKGkpLmxlbmd0aCxvPWF3YWl0IHQuZ2V0TGF0ZXN0QmxvY2soKTthd2FpdCBlLmluaXRpYWxpemUoe2N1cnJlbnRCbG9jazpvfSkscisrLGlbcl09ZSxlLmlkPXIsZS5pZEhleD1jKHIpO3JldHVybiB4KHtwcmV2RmlsdGVyQ291bnQ6bixuZXdGaWx0ZXJDb3VudDpkKGkpLmxlbmd0aH0pLHJ9ZnVuY3Rpb24geCh7cHJldkZpbHRlckNvdW50OmUsbmV3RmlsdGVyQ291bnQ6cn0pezA9PT1lJiZyPjA/dC5vbigic3luYyIsYik6ZT4wJiYwPT09ciYmdC5yZW1vdmVMaXN0ZW5lcigic3luYyIsYil9fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10aGlzJiZ0aGlzLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24odCxlLHIsbil7dm9pZCAwPT09biYmKG49ciksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsbix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZVtyXX19KX06ZnVuY3Rpb24odCxlLHIsbil7dm9pZCAwPT09biYmKG49ciksdFtuXT1lW3JdfSksaT10aGlzJiZ0aGlzLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gdCkiZGVmYXVsdCI9PT1yfHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKXx8bihlLHQscil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxpKHIoMzQwKSxlKSxpKHIoMzQxKSxlKSxpKHIoMzQyKSxlKSxpKHIoMTUzKSxlKSxpKHIoMTU0KSxlKSxpKHIoMzQ2KSxlKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5nZXRVbmlxdWVJZD12b2lkIDA7bGV0IG49TWF0aC5mbG9vcig0Mjk0OTY3Mjk1Kk1hdGgucmFuZG9tKCkpO2UuZ2V0VW5pcXVlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbj0obisxKSU0Mjk0OTY3Mjk1LG59fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXRoaXMmJnRoaXMuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbih0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLkpzb25ScGNFbmdpbmU9dm9pZCAwO2NvbnN0IGk9bihyKDY5KSksbz1yKDM0Myk7Y2xhc3MgcyBleHRlbmRzIGkuZGVmYXVsdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5fbWlkZGxld2FyZT1bXX1wdXNoKHQpe3RoaXMuX21pZGRsZXdhcmUucHVzaCh0KX1oYW5kbGUodCxlKXtpZihlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoJyJjYWxsYmFjayIgbXVzdCBiZSBhIGZ1bmN0aW9uIGlmIHByb3ZpZGVkLicpO3JldHVybiBBcnJheS5pc0FycmF5KHQpP2U/dGhpcy5faGFuZGxlQmF0Y2godCxlKTp0aGlzLl9oYW5kbGVCYXRjaCh0KTplP3RoaXMuX2hhbmRsZSh0LGUpOnRoaXMuX3Byb21pc2VIYW5kbGUodCl9YXNNaWRkbGV3YXJlKCl7cmV0dXJuIGFzeW5jKHQsZSxyLG4pPT57dHJ5e2NvbnN0W2ksbyxhXT1hd2FpdCBzLl9ydW5BbGxNaWRkbGV3YXJlKHQsZSx0aGlzLl9taWRkbGV3YXJlKTtyZXR1cm4gbz8oYXdhaXQgcy5fcnVuUmV0dXJuSGFuZGxlcnMoYSksbihpKSk6cihhc3luYyB0PT57dHJ5e2F3YWl0IHMuX3J1blJldHVybkhhbmRsZXJzKGEpfWNhdGNoKGUpe3JldHVybiB0KGUpfXJldHVybiB0KCl9KX1jYXRjaCh0KXtyZXR1cm4gbih0KX19fWFzeW5jIF9oYW5kbGVCYXRjaCh0LGUpe3RyeXtjb25zdCByPWF3YWl0IFByb21pc2UuYWxsKHQubWFwKHRoaXMuX3Byb21pc2VIYW5kbGUuYmluZCh0aGlzKSkpO3JldHVybiBlP2UobnVsbCxyKTpyfWNhdGNoKHQpe2lmKGUpcmV0dXJuIGUodCk7dGhyb3cgdH19X3Byb21pc2VIYW5kbGUodCl7cmV0dXJuIG5ldyBQcm9taXNlKGU9Pnt0aGlzLl9oYW5kbGUodCwodCxyKT0+e2Uocil9KX0pfWFzeW5jIF9oYW5kbGUodCxlKXtpZighdHx8QXJyYXkuaXNBcnJheSh0KXx8Im9iamVjdCIhPXR5cGVvZiB0KXtjb25zdCByPW5ldyBvLkV0aGVyZXVtUnBjRXJyb3Ioby5lcnJvckNvZGVzLnJwYy5pbnZhbGlkUmVxdWVzdCwiUmVxdWVzdHMgbXVzdCBiZSBwbGFpbiBvYmplY3RzLiBSZWNlaXZlZDogIit0eXBlb2YgdCx7cmVxdWVzdDp0fSk7cmV0dXJuIGUocix7aWQ6dm9pZCAwLGpzb25ycGM6IjIuMCIsZXJyb3I6cn0pfWlmKCJzdHJpbmciIT10eXBlb2YgdC5tZXRob2Qpe2NvbnN0IHI9bmV3IG8uRXRoZXJldW1ScGNFcnJvcihvLmVycm9yQ29kZXMucnBjLmludmFsaWRSZXF1ZXN0LCJNdXN0IHNwZWNpZnkgYSBzdHJpbmcgbWV0aG9kLiBSZWNlaXZlZDogIit0eXBlb2YgdC5tZXRob2Qse3JlcXVlc3Q6dH0pO3JldHVybiBlKHIse2lkOnQuaWQsanNvbnJwYzoiMi4wIixlcnJvcjpyfSl9Y29uc3Qgcj1PYmplY3QuYXNzaWduKHt9LHQpLG49e2lkOnIuaWQsanNvbnJwYzpyLmpzb25ycGN9O2xldCBpPW51bGw7dHJ5e2F3YWl0IHRoaXMuX3Byb2Nlc3NSZXF1ZXN0KHIsbil9Y2F0Y2godCl7aT10fXJldHVybiBpJiYoZGVsZXRlIG4ucmVzdWx0LG4uZXJyb3J8fChuLmVycm9yPW8uc2VyaWFsaXplRXJyb3IoaSkpKSxlKGksbil9YXN5bmMgX3Byb2Nlc3NSZXF1ZXN0KHQsZSl7Y29uc3RbcixuLGldPWF3YWl0IHMuX3J1bkFsbE1pZGRsZXdhcmUodCxlLHRoaXMuX21pZGRsZXdhcmUpO2lmKHMuX2NoZWNrRm9yQ29tcGxldGlvbih0LGUsbiksYXdhaXQgcy5fcnVuUmV0dXJuSGFuZGxlcnMoaSkscil0aHJvdyByfXN0YXRpYyBhc3luYyBfcnVuQWxsTWlkZGxld2FyZSh0LGUscil7Y29uc3Qgbj1bXTtsZXQgaT1udWxsLG89ITE7Zm9yKGNvbnN0IGEgb2YgcilpZihbaSxvXT1hd2FpdCBzLl9ydW5NaWRkbGV3YXJlKHQsZSxhLG4pLG8pYnJlYWs7cmV0dXJuW2ksbyxuLnJldmVyc2UoKV19c3RhdGljIF9ydW5NaWRkbGV3YXJlKHQsZSxyLG4pe3JldHVybiBuZXcgUHJvbWlzZShpPT57Y29uc3Qgcz10PT57Y29uc3Qgcj10fHxlLmVycm9yO3ImJihlLmVycm9yPW8uc2VyaWFsaXplRXJyb3IocikpLGkoW3IsITBdKX0sdT1yPT57ZS5lcnJvcj9zKGUuZXJyb3IpOihyJiYoImZ1bmN0aW9uIiE9dHlwZW9mIHImJnMobmV3IG8uRXRoZXJldW1ScGNFcnJvcihvLmVycm9yQ29kZXMucnBjLmludGVybmFsLGBKc29uUnBjRW5naW5lOiAibmV4dCIgcmV0dXJuIGhhbmRsZXJzIG11c3QgYmUgZnVuY3Rpb25zLiBSZWNlaXZlZCAiJHt0eXBlb2Ygcn0iIGZvciByZXF1ZXN0OlxuJHthKHQpfWAse3JlcXVlc3Q6dH0pKSxuLnB1c2gocikpLGkoW251bGwsITFdKSl9O3RyeXtyKHQsZSx1LHMpfWNhdGNoKHQpe3ModCl9fSl9c3RhdGljIGFzeW5jIF9ydW5SZXR1cm5IYW5kbGVycyh0KXtmb3IoY29uc3QgZSBvZiB0KWF3YWl0IG5ldyBQcm9taXNlKCh0LHIpPT57ZShlPT5lP3IoZSk6dCgpKX0pfXN0YXRpYyBfY2hlY2tGb3JDb21wbGV0aW9uKHQsZSxyKXtpZighKCJyZXN1bHQiaW4gZSkmJiEoImVycm9yImluIGUpKXRocm93IG5ldyBvLkV0aGVyZXVtUnBjRXJyb3Ioby5lcnJvckNvZGVzLnJwYy5pbnRlcm5hbCwiSnNvblJwY0VuZ2luZTogUmVzcG9uc2UgaGFzIG5vIGVycm9yIG9yIHJlc3VsdCBmb3IgcmVxdWVzdDpcbiIrYSh0KSx7cmVxdWVzdDp0fSk7aWYoIXIpdGhyb3cgbmV3IG8uRXRoZXJldW1ScGNFcnJvcihvLmVycm9yQ29kZXMucnBjLmludGVybmFsLCJKc29uUnBjRW5naW5lOiBOb3RoaW5nIGVuZGVkIHJlcXVlc3Q6XG4iK2EodCkse3JlcXVlc3Q6dH0pfX1mdW5jdGlvbiBhKHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0LG51bGwsMil9ZS5Kc29uUnBjRW5naW5lPXN9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuc2VyaWFsaXplRXJyb3I9ZS5pc1ZhbGlkQ29kZT1lLmdldE1lc3NhZ2VGcm9tQ29kZT1lLkpTT05fUlBDX1NFUlZFUl9FUlJPUl9NRVNTQUdFPXZvaWQgMDtjb25zdCBuPXIoNzEpLGk9cig3MCksbz1uLmVycm9yQ29kZXMucnBjLmludGVybmFsLHM9e2NvZGU6byxtZXNzYWdlOmEobyl9O2Z1bmN0aW9uIGEodCxyPSJVbnNwZWNpZmllZCBlcnJvciBtZXNzYWdlLiBUaGlzIGlzIGEgYnVnLCBwbGVhc2UgcmVwb3J0IGl0LiIpe2lmKE51bWJlci5pc0ludGVnZXIodCkpe2NvbnN0IHI9dC50b1N0cmluZygpO2lmKGgobi5lcnJvclZhbHVlcyxyKSlyZXR1cm4gbi5lcnJvclZhbHVlc1tyXS5tZXNzYWdlO2lmKGModCkpcmV0dXJuIGUuSlNPTl9SUENfU0VSVkVSX0VSUk9SX01FU1NBR0V9cmV0dXJuIHJ9ZnVuY3Rpb24gdSh0KXtpZighTnVtYmVyLmlzSW50ZWdlcih0KSlyZXR1cm4hMTtjb25zdCBlPXQudG9TdHJpbmcoKTtyZXR1cm4hIW4uZXJyb3JWYWx1ZXNbZV18fCEhYyh0KX1mdW5jdGlvbiBjKHQpe3JldHVybiB0Pj0tMzIwOTkmJnQ8PS0zMmUzfWZ1bmN0aW9uIGYodCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmIUFycmF5LmlzQXJyYXkodCk/T2JqZWN0LmFzc2lnbih7fSx0KTp0fWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSl9ZS5KU09OX1JQQ19TRVJWRVJfRVJST1JfTUVTU0FHRT0iVW5zcGVjaWZpZWQgc2VydmVyIGVycm9yLiIsZS5nZXRNZXNzYWdlRnJvbUNvZGU9YSxlLmlzVmFsaWRDb2RlPXUsZS5zZXJpYWxpemVFcnJvcj1mdW5jdGlvbih0LHtmYWxsYmFja0Vycm9yOmU9cyxzaG91bGRJbmNsdWRlU3RhY2s6cj0hMX09e30pe3ZhciBuLG87aWYoIWV8fCFOdW1iZXIuaXNJbnRlZ2VyKGUuY29kZSl8fCJzdHJpbmciIT10eXBlb2YgZS5tZXNzYWdlKXRocm93IG5ldyBFcnJvcigiTXVzdCBwcm92aWRlIGZhbGxiYWNrIGVycm9yIHdpdGggaW50ZWdlciBudW1iZXIgY29kZSBhbmQgc3RyaW5nIG1lc3NhZ2UuIik7aWYodCBpbnN0YW5jZW9mIGkuRXRoZXJldW1ScGNFcnJvcilyZXR1cm4gdC5zZXJpYWxpemUoKTtjb25zdCBjPXt9O2lmKHQmJiJvYmplY3QiPT10eXBlb2YgdCYmIUFycmF5LmlzQXJyYXkodCkmJmgodCwiY29kZSIpJiZ1KHQuY29kZSkpe2NvbnN0IGU9dDtjLmNvZGU9ZS5jb2RlLGUubWVzc2FnZSYmInN0cmluZyI9PXR5cGVvZiBlLm1lc3NhZ2U/KGMubWVzc2FnZT1lLm1lc3NhZ2UsaChlLCJkYXRhIikmJihjLmRhdGE9ZS5kYXRhKSk6KGMubWVzc2FnZT1hKGMuY29kZSksYy5kYXRhPXtvcmlnaW5hbEVycm9yOmYodCl9KX1lbHNle2MuY29kZT1lLmNvZGU7Y29uc3Qgcj1udWxsPT09KG49dCl8fHZvaWQgMD09PW4/dm9pZCAwOm4ubWVzc2FnZTtjLm1lc3NhZ2U9ciYmInN0cmluZyI9PXR5cGVvZiByP3I6ZS5tZXNzYWdlLGMuZGF0YT17b3JpZ2luYWxFcnJvcjpmKHQpfX1jb25zdCBsPW51bGw9PT0obz10KXx8dm9pZCAwPT09bz92b2lkIDA6by5zdGFjaztyZXR1cm4gciYmdCYmbCYmInN0cmluZyI9PXR5cGVvZiBsJiYoYy5zdGFjaz1sKSxjfX0sZnVuY3Rpb24odCxlLHIpe3QuZXhwb3J0cz1yKDM0Nyl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZ2V0V2luZG93TWV0YWRhdGE9dm9pZCAwO2NvbnN0IG49cigxMCk7ZS5nZXRXaW5kb3dNZXRhZGF0YT1mdW5jdGlvbigpe2xldCB0LGU7dHJ5e3Q9bi5nZXREb2N1bWVudE9yVGhyb3coKSxlPW4uZ2V0TG9jYXRpb25PclRocm93KCl9Y2F0Y2godCl7cmV0dXJuIG51bGx9ZnVuY3Rpb24gciguLi5lKXtjb25zdCByPXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm1ldGEiKTtmb3IobGV0IHQ9MDt0PHIubGVuZ3RoO3QrKyl7Y29uc3Qgbj1yW3RdLGk9WyJpdGVtcHJvcCIsInByb3BlcnR5IiwibmFtZSJdLm1hcCh0PT5uLmdldEF0dHJpYnV0ZSh0KSkuZmlsdGVyKHQ9PiEhdCYmZS5pbmNsdWRlcyh0KSk7aWYoaS5sZW5ndGgmJmkpe2NvbnN0IHQ9bi5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKTtpZih0KXJldHVybiB0fX1yZXR1cm4iIn1jb25zdCBpPWZ1bmN0aW9uKCl7bGV0IGU9cigibmFtZSIsIm9nOnNpdGVfbmFtZSIsIm9nOnRpdGxlIiwidHdpdHRlcjp0aXRsZSIpO3JldHVybiBlfHwoZT10LnRpdGxlKSxlfSgpO3JldHVybntkZXNjcmlwdGlvbjpyKCJkZXNjcmlwdGlvbiIsIm9nOmRlc2NyaXB0aW9uIiwidHdpdHRlcjpkZXNjcmlwdGlvbiIsImtleXdvcmRzIiksdXJsOmUub3JpZ2luLGljb25zOmZ1bmN0aW9uKCl7Y29uc3Qgcj10LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksbj1bXTtmb3IobGV0IHQ9MDt0PHIubGVuZ3RoO3QrKyl7Y29uc3QgaT1yW3RdLG89aS5nZXRBdHRyaWJ1dGUoInJlbCIpO2lmKG8mJm8udG9Mb3dlckNhc2UoKS5pbmRleE9mKCJpY29uIik+LTEpe2NvbnN0IHQ9aS5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZih0KWlmKC0xPT09dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImh0dHBzOiIpJiYtMT09PXQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJodHRwOiIpJiYwIT09dC5pbmRleE9mKCIvLyIpKXtsZXQgcj1lLnByb3RvY29sKyIvLyIrZS5ob3N0O2lmKDA9PT10LmluZGV4T2YoIi8iKSlyKz10O2Vsc2V7Y29uc3Qgbj1lLnBhdGhuYW1lLnNwbGl0KCIvIik7bi5wb3AoKTtyKz1uLmpvaW4oIi8iKSsiLyIrdH1uLnB1c2gocil9ZWxzZSBpZigwPT09dC5pbmRleE9mKCIvLyIpKXtjb25zdCByPWUucHJvdG9jb2wrdDtuLnB1c2gocil9ZWxzZSBuLnB1c2godCl9fXJldHVybiBufSgpLG5hbWU6aX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXtyLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGx9KSk7dmFyIG49ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MCxlPTAscj1hcmd1bWVudHMubGVuZ3RoO2U8cjtlKyspdCs9YXJndW1lbnRzW2VdLmxlbmd0aDt2YXIgbj1BcnJheSh0KSxpPTA7Zm9yKGU9MDtlPHI7ZSsrKWZvcih2YXIgbz1hcmd1bWVudHNbZV0scz0wLGE9by5sZW5ndGg7czxhO3MrKyxpKyspbltpXT1vW3NdO3JldHVybiBufSxpPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLm5hbWU9dCx0aGlzLnZlcnNpb249ZSx0aGlzLm9zPXIsdGhpcy50eXBlPSJicm93c2VyIn0sbz1mdW5jdGlvbihlKXt0aGlzLnZlcnNpb249ZSx0aGlzLnR5cGU9Im5vZGUiLHRoaXMubmFtZT0ibm9kZSIsdGhpcy5vcz10LnBsYXRmb3JtfSxzPWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMubmFtZT10LHRoaXMudmVyc2lvbj1lLHRoaXMub3M9cix0aGlzLmJvdD1uLHRoaXMudHlwZT0iYm90LWRldmljZSJ9LGE9ZnVuY3Rpb24oKXt0aGlzLnR5cGU9ImJvdCIsdGhpcy5ib3Q9ITAsdGhpcy5uYW1lPSJib3QiLHRoaXMudmVyc2lvbj1udWxsLHRoaXMub3M9bnVsbH0sdT1mdW5jdGlvbigpe3RoaXMudHlwZT0icmVhY3QtbmF0aXZlIix0aGlzLm5hbWU9InJlYWN0LW5hdGl2ZSIsdGhpcy52ZXJzaW9uPW51bGwsdGhpcy5vcz1udWxsfSxjPS8obnVoa3xHb29nbGVib3R8WWFtbXlib3R8T3BlbmJvdHxTbHVycHxNU05Cb3R8QXNrXCBKZWV2ZXNcL1Rlb21hfGlhX2FyY2hpdmVyKS8sZj1bWyJhb2wiLC9BT0xTaGllbGRcLyhbMC05XC5fXSspL10sWyJlZGdlIiwvRWRnZVwvKFswLTlcLl9dKykvXSxbImVkZ2UtaW9zIiwvRWRnaU9TXC8oWzAtOVwuX10rKS9dLFsieWFuZGV4YnJvd3NlciIsL1lhQnJvd3NlclwvKFswLTlcLl9dKykvXSxbImtha2FvdGFsayIsL0tBS0FPVEFMS1xzKFswLTlcLl0rKS9dLFsic2Ftc3VuZyIsL1NhbXN1bmdCcm93c2VyXC8oWzAtOVwuXSspL10sWyJzaWxrIiwvXGJTaWxrXC8oWzAtOS5fLV0rKVxiL10sWyJtaXVpIiwvTWl1aUJyb3dzZXJcLyhbMC05XC5dKykkL10sWyJiZWFrZXIiLC9CZWFrZXJCcm93c2VyXC8oWzAtOVwuXSspL10sWyJlZGdlLWNocm9taXVtIiwvRWRnQT9cLyhbMC05XC5dKykvXSxbImNocm9taXVtLXdlYnZpZXciLC8oPyFDaHJvbS4qT1BSKXd2XCkuKkNocm9tKD86ZXxpdW0pXC8oWzAtOVwuXSspKDo/XHN8JCkvXSxbImNocm9tZSIsLyg/IUNocm9tLipPUFIpQ2hyb20oPzplfGl1bSlcLyhbMC05XC5dKykoOj9cc3wkKS9dLFsicGhhbnRvbWpzIiwvUGhhbnRvbUpTXC8oWzAtOVwuXSspKDo/XHN8JCkvXSxbImNyaW9zIiwvQ3JpT1NcLyhbMC05XC5dKykoOj9cc3wkKS9dLFsiZmlyZWZveCIsL0ZpcmVmb3hcLyhbMC05XC5dKykoPzpcc3wkKS9dLFsiZnhpb3MiLC9GeGlPU1wvKFswLTlcLl0rKS9dLFsib3BlcmEtbWluaSIsL09wZXJhIE1pbmkuKlZlcnNpb25cLyhbMC05XC5dKykvXSxbIm9wZXJhIiwvT3BlcmFcLyhbMC05XC5dKykoPzpcc3wkKS9dLFsib3BlcmEiLC9PUFJcLyhbMC05XC5dKykoOj9cc3wkKS9dLFsiaWUiLC9UcmlkZW50XC83XC4wLipydlw6KFswLTlcLl0rKS4qXCkuKkdlY2tvJC9dLFsiaWUiLC9NU0lFXHMoWzAtOVwuXSspOy4qVHJpZGVudFwvWzQtN10uMC9dLFsiaWUiLC9NU0lFXHMoN1wuMCkvXSxbImJiMTAiLC9CQjEwO1xzVG91Y2guKlZlcnNpb25cLyhbMC05XC5dKykvXSxbImFuZHJvaWQiLC9BbmRyb2lkXHMoWzAtOVwuXSspL10sWyJpb3MiLC9WZXJzaW9uXC8oWzAtOVwuX10rKS4qTW9iaWxlLipTYWZhcmkuKi9dLFsic2FmYXJpIiwvVmVyc2lvblwvKFswLTlcLl9dKykuKlNhZmFyaS9dLFsiZmFjZWJvb2siLC9GQkFWXC8oWzAtOVwuXSspL10sWyJpbnN0YWdyYW0iLC9JbnN0YWdyYW1ccyhbMC05XC5dKykvXSxbImlvcy13ZWJ2aWV3IiwvQXBwbGVXZWJLaXRcLyhbMC05XC5dKykuKk1vYmlsZS9dLFsiaW9zLXdlYnZpZXciLC9BcHBsZVdlYktpdFwvKFswLTlcLl0rKS4qR2Vja29cKSQvXSxbInNlYXJjaGJvdCIsL2FsZXhhfGJvdHxjcmF3bChlcnxpbmcpfGZhY2Vib29rZXh0ZXJuYWxoaXR8ZmVlZGJ1cm5lcnxnb29nbGUgd2ViIHByZXZpZXd8bmFnaW9zfHBvc3RyYW5rfHBpbmdkb218c2x1cnB8c3BpZGVyfHlhaG9vIXx5YW5kZXgvXV0saD1bWyJpT1MiLC9pUChob25lfG9kfGFkKS9dLFsiQW5kcm9pZCBPUyIsL0FuZHJvaWQvXSxbIkJsYWNrQmVycnkgT1MiLC9CbGFja0JlcnJ5fEJCMTAvXSxbIldpbmRvd3MgTW9iaWxlIiwvSUVNb2JpbGUvXSxbIkFtYXpvbiBPUyIsL0tpbmRsZS9dLFsiV2luZG93cyAzLjExIiwvV2luMTYvXSxbIldpbmRvd3MgOTUiLC8oV2luZG93cyA5NSl8KFdpbjk1KXwoV2luZG93c185NSkvXSxbIldpbmRvd3MgOTgiLC8oV2luZG93cyA5OCl8KFdpbjk4KS9dLFsiV2luZG93cyAyMDAwIiwvKFdpbmRvd3MgTlQgNS4wKXwoV2luZG93cyAyMDAwKS9dLFsiV2luZG93cyBYUCIsLyhXaW5kb3dzIE5UIDUuMSl8KFdpbmRvd3MgWFApL10sWyJXaW5kb3dzIFNlcnZlciAyMDAzIiwvKFdpbmRvd3MgTlQgNS4yKS9dLFsiV2luZG93cyBWaXN0YSIsLyhXaW5kb3dzIE5UIDYuMCkvXSxbIldpbmRvd3MgNyIsLyhXaW5kb3dzIE5UIDYuMSkvXSxbIldpbmRvd3MgOCIsLyhXaW5kb3dzIE5UIDYuMikvXSxbIldpbmRvd3MgOC4xIiwvKFdpbmRvd3MgTlQgNi4zKS9dLFsiV2luZG93cyAxMCIsLyhXaW5kb3dzIE5UIDEwLjApL10sWyJXaW5kb3dzIE1FIiwvV2luZG93cyBNRS9dLFsiT3BlbiBCU0QiLC9PcGVuQlNEL10sWyJTdW4gT1MiLC9TdW5PUy9dLFsiQ2hyb21lIE9TIiwvQ3JPUy9dLFsiTGludXgiLC8oTGludXgpfChYMTEpL10sWyJNYWMgT1MiLC8oTWFjX1Bvd2VyUEMpfChNYWNpbnRvc2gpL10sWyJRTlgiLC9RTlgvXSxbIkJlT1MiLC9CZU9TL10sWyJPUy8yIiwvT1NcLzIvXV07ZnVuY3Rpb24gbChlKXtyZXR1cm4gZT9wKGUpOiJ1bmRlZmluZWQiPT10eXBlb2YgZG9jdW1lbnQmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiYiUmVhY3ROYXRpdmUiPT09bmF2aWdhdG9yLnByb2R1Y3Q/bmV3IHU6InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3I/cChuYXZpZ2F0b3IudXNlckFnZW50KTp2b2lkIDAhPT10JiZ0LnZlcnNpb24/bmV3IG8odC52ZXJzaW9uLnNsaWNlKDEpKTpudWxsfWZ1bmN0aW9uIGQodCl7cmV0dXJuIiIhPT10JiZmLnJlZHVjZSgoZnVuY3Rpb24oZSxyKXt2YXIgbj1yWzBdLGk9clsxXTtpZihlKXJldHVybiBlO3ZhciBvPWkuZXhlYyh0KTtyZXR1cm4hIW8mJltuLG9dfSksITEpfWZ1bmN0aW9uIHAodCl7dmFyIGU9ZCh0KTtpZighZSlyZXR1cm4gbnVsbDt2YXIgcj1lWzBdLG89ZVsxXTtpZigic2VhcmNoYm90Ij09PXIpcmV0dXJuIG5ldyBhO3ZhciB1PW9bMV0mJm9bMV0uc3BsaXQoL1suX10vKS5zbGljZSgwLDMpO3U/dS5sZW5ndGg8MyYmKHU9bih1LGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPTA7cjx0O3IrKyllLnB1c2goIjAiKTtyZXR1cm4gZX0oMy11Lmxlbmd0aCkpKTp1PVtdO3ZhciBmPXUuam9pbigiLiIpLGw9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj1oLmxlbmd0aDtlPHI7ZSsrKXt2YXIgbj1oW2VdLGk9blswXTtpZihuWzFdLmV4ZWModCkpcmV0dXJuIGl9cmV0dXJuIG51bGx9KHQpLHA9Yy5leGVjKHQpO3JldHVybiBwJiZwWzFdP25ldyBzKHIsZixsLHBbMV0pOm5ldyBpKHIsZixsKX19KS5jYWxsKHRoaXMscig1KSl9LGZ1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24oZSl7dmFyIG49cig3Nykuc3RyaWN0O3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZihuKHQpKXt2YXIgcj1lLmZyb20odC5idWZmZXIpO3JldHVybiB0LmJ5dGVMZW5ndGghPT10LmJ1ZmZlci5ieXRlTGVuZ3RoJiYocj1yLnNsaWNlKHQuYnl0ZU9mZnNldCx0LmJ5dGVPZmZzZXQrdC5ieXRlTGVuZ3RoKSkscn1yZXR1cm4gZS5mcm9tKHQpfX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24obixpKXt2YXIgbzsKLyoqCiAqIFtqcy1zaGEzXXtAbGluayBodHRwczovL2dpdGh1Yi5jb20vZW1uMTc4L2pzLXNoYTN9CiAqCiAqIEB2ZXJzaW9uIDAuOC4wCiAqIEBhdXRob3IgQ2hlbiwgWWktQ3l1YW4gW2VtbjE3OEBnbWFpbC5jb21dCiAqIEBjb3B5cmlnaHQgQ2hlbiwgWWktQ3l1YW4gMjAxNS0yMDE4CiAqIEBsaWNlbnNlIE1JVAogKi8hZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIHM9ImlucHV0IGlzIGludmFsaWQgdHlwZSIsYT0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyx1PWE/d2luZG93Ont9O3UuSlNfU0hBM19OT19XSU5ET1cmJihhPSExKTt2YXIgYz0hYSYmIm9iamVjdCI9PXR5cGVvZiBzZWxmOyF1LkpTX1NIQTNfTk9fTk9ERV9KUyYmIm9iamVjdCI9PXR5cGVvZiBuJiZuLnZlcnNpb25zJiZuLnZlcnNpb25zLm5vZGU/dT1pOmMmJih1PXNlbGYpO3ZhciBmPSF1LkpTX1NIQTNfTk9fQ09NTU9OX0pTJiYib2JqZWN0Ij09dHlwZW9mIHQmJnQuZXhwb3J0cyxoPXIoMTcxKSxsPSF1LkpTX1NIQTNfTk9fQVJSQVlfQlVGRkVSJiYidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyLGQ9IjAxMjM0NTY3ODlhYmNkZWYiLnNwbGl0KCIiKSxwPVs0LDEwMjQsMjYyMTQ0LDY3MTA4ODY0XSxtPVswLDgsMTYsMjRdLGc9WzEsMCwzMjg5OCwwLDMyOTA2LDIxNDc0ODM2NDgsMjE0NzUxNjQxNiwyMTQ3NDgzNjQ4LDMyOTA3LDAsMjE0NzQ4MzY0OSwwLDIxNDc1MTY1NDUsMjE0NzQ4MzY0OCwzMjc3NywyMTQ3NDgzNjQ4LDEzOCwwLDEzNiwwLDIxNDc1MTY0MjUsMCwyMTQ3NDgzNjU4LDAsMjE0NzUxNjU1NSwwLDEzOSwyMTQ3NDgzNjQ4LDMyOTA1LDIxNDc0ODM2NDgsMzI3NzEsMjE0NzQ4MzY0OCwzMjc3MCwyMTQ3NDgzNjQ4LDEyOCwyMTQ3NDgzNjQ4LDMyNzc4LDAsMjE0NzQ4MzY1OCwyMTQ3NDgzNjQ4LDIxNDc1MTY1NDUsMjE0NzQ4MzY0OCwzMjg5NiwyMTQ3NDgzNjQ4LDIxNDc0ODM2NDksMCwyMTQ3NTE2NDI0LDIxNDc0ODM2NDhdLGI9WzIyNCwyNTYsMzg0LDUxMl0seT1bMTI4LDI1Nl0sdj1bImhleCIsImJ1ZmZlciIsImFycmF5QnVmZmVyIiwiYXJyYXkiLCJkaWdlc3QiXSxfPXsxMjg6MTY4LDI1NjoxMzZ9OyF1LkpTX1NIQTNfTk9fTk9ERV9KUyYmQXJyYXkuaXNBcnJheXx8KEFycmF5LmlzQXJyYXk9ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0pLCFsfHwhdS5KU19TSEEzX05PX0FSUkFZX0JVRkZFUl9JU19WSUVXJiZBcnJheUJ1ZmZlci5pc1ZpZXd8fChBcnJheUJ1ZmZlci5pc1ZpZXc9ZnVuY3Rpb24odCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0JiZ0LmJ1ZmZlciYmdC5idWZmZXIuY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcn0pO2Zvcih2YXIgdz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBuZXcgaih0LGUsdCkudXBkYXRlKG4pW3JdKCl9fSxNPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZnVuY3Rpb24obixpKXtyZXR1cm4gbmV3IGoodCxlLGkpLnVwZGF0ZShuKVtyXSgpfX0sUz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGZ1bmN0aW9uKGUsbixpLG8pe3JldHVybiBSWyJjc2hha2UiK3RdLnVwZGF0ZShlLG4saSxvKVtyXSgpfX0sRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIGZ1bmN0aW9uKGUsbixpLG8pe3JldHVybiBSWyJrbWFjIit0XS51cGRhdGUoZSxuLGksbylbcl0oKX19LHg9ZnVuY3Rpb24odCxlLHIsbil7Zm9yKHZhciBpPTA7aTx2Lmxlbmd0aDsrK2kpe3ZhciBvPXZbaV07dFtvXT1lKHIsbixvKX1yZXR1cm4gdH0saz1mdW5jdGlvbih0LGUpe3ZhciByPXcodCxlLCJoZXgiKTtyZXR1cm4gci5jcmVhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGoodCxlLHQpfSxyLnVwZGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gci5jcmVhdGUoKS51cGRhdGUodCl9LHgocix3LHQsZSl9LEE9W3tuYW1lOiJrZWNjYWsiLHBhZGRpbmc6WzEsMjU2LDY1NTM2LDE2Nzc3MjE2XSxiaXRzOmIsY3JlYXRlTWV0aG9kOmt9LHtuYW1lOiJzaGEzIixwYWRkaW5nOls2LDE1MzYsMzkzMjE2LDEwMDY2MzI5Nl0sYml0czpiLGNyZWF0ZU1ldGhvZDprfSx7bmFtZToic2hha2UiLHBhZGRpbmc6WzMxLDc5MzYsMjAzMTYxNiw1MjAwOTM2OTZdLGJpdHM6eSxjcmVhdGVNZXRob2Q6ZnVuY3Rpb24odCxlKXt2YXIgcj1NKHQsZSwiaGV4Iik7cmV0dXJuIHIuY3JlYXRlPWZ1bmN0aW9uKHIpe3JldHVybiBuZXcgaih0LGUscil9LHIudXBkYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIuY3JlYXRlKGUpLnVwZGF0ZSh0KX0seChyLE0sdCxlKX19LHtuYW1lOiJjc2hha2UiLHBhZGRpbmc6cCxiaXRzOnksY3JlYXRlTWV0aG9kOmZ1bmN0aW9uKHQsZSl7dmFyIHI9X1t0XSxuPVModCwwLCJoZXgiKTtyZXR1cm4gbi5jcmVhdGU9ZnVuY3Rpb24obixpLG8pe3JldHVybiBpfHxvP25ldyBqKHQsZSxuKS5ieXRlcGFkKFtpLG9dLHIpOlJbInNoYWtlIit0XS5jcmVhdGUobil9LG4udXBkYXRlPWZ1bmN0aW9uKHQsZSxyLGkpe3JldHVybiBuLmNyZWF0ZShlLHIsaSkudXBkYXRlKHQpfSx4KG4sUyx0LGUpfX0se25hbWU6ImttYWMiLHBhZGRpbmc6cCxiaXRzOnksY3JlYXRlTWV0aG9kOmZ1bmN0aW9uKHQsZSl7dmFyIHI9X1t0XSxuPUUodCwwLCJoZXgiKTtyZXR1cm4gbi5jcmVhdGU9ZnVuY3Rpb24obixpLG8pe3JldHVybiBuZXcgTih0LGUsaSkuYnl0ZXBhZChbIktNQUMiLG9dLHIpLmJ5dGVwYWQoW25dLHIpfSxuLnVwZGF0ZT1mdW5jdGlvbih0LGUscixpKXtyZXR1cm4gbi5jcmVhdGUodCxyLGkpLnVwZGF0ZShlKX0seChuLEUsdCxlKX19XSxSPXt9LFQ9W10sTz0wO088QS5sZW5ndGg7KytPKWZvcih2YXIgQz1BW09dLFA9Qy5iaXRzLEk9MDtJPFAubGVuZ3RoOysrSSl7dmFyIEI9Qy5uYW1lKyJfIitQW0ldO2lmKFQucHVzaChCKSxSW0JdPUMuY3JlYXRlTWV0aG9kKFBbSV0sQy5wYWRkaW5nKSwic2hhMyIhPT1DLm5hbWUpe3ZhciBMPUMubmFtZStQW0ldO1QucHVzaChMKSxSW0xdPVJbQl19fWZ1bmN0aW9uIGoodCxlLHIpe3RoaXMuYmxvY2tzPVtdLHRoaXMucz1bXSx0aGlzLnBhZGRpbmc9ZSx0aGlzLm91dHB1dEJpdHM9cix0aGlzLnJlc2V0PSEwLHRoaXMuZmluYWxpemVkPSExLHRoaXMuYmxvY2s9MCx0aGlzLnN0YXJ0PTAsdGhpcy5ibG9ja0NvdW50PTE2MDAtKHQ8PDEpPj41LHRoaXMuYnl0ZUNvdW50PXRoaXMuYmxvY2tDb3VudDw8Mix0aGlzLm91dHB1dEJsb2Nrcz1yPj41LHRoaXMuZXh0cmFCeXRlcz0oMzEmcik+PjM7Zm9yKHZhciBuPTA7bjw1MDsrK24pdGhpcy5zW25dPTB9ZnVuY3Rpb24gTih0LGUscil7ai5jYWxsKHRoaXMsdCxlLHIpfWoucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0KXtpZih0aGlzLmZpbmFsaXplZCl0aHJvdyBuZXcgRXJyb3IoImZpbmFsaXplIGFscmVhZHkgY2FsbGVkIik7dmFyIGUscj10eXBlb2YgdDtpZigic3RyaW5nIiE9PXIpe2lmKCJvYmplY3QiIT09cil0aHJvdyBuZXcgRXJyb3Iocyk7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKHMpO2lmKGwmJnQuY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcil0PW5ldyBVaW50OEFycmF5KHQpO2Vsc2UgaWYoIShBcnJheS5pc0FycmF5KHQpfHxsJiZBcnJheUJ1ZmZlci5pc1ZpZXcodCkpKXRocm93IG5ldyBFcnJvcihzKTtlPSEwfWZvcih2YXIgbixpLG89dGhpcy5ibG9ja3MsYT10aGlzLmJ5dGVDb3VudCx1PXQubGVuZ3RoLGM9dGhpcy5ibG9ja0NvdW50LGY9MCxoPXRoaXMucztmPHU7KXtpZih0aGlzLnJlc2V0KWZvcih0aGlzLnJlc2V0PSExLG9bMF09dGhpcy5ibG9jayxuPTE7bjxjKzE7KytuKW9bbl09MDtpZihlKWZvcihuPXRoaXMuc3RhcnQ7Zjx1JiZuPGE7KytmKW9bbj4+Ml18PXRbZl08PG1bMyZuKytdO2Vsc2UgZm9yKG49dGhpcy5zdGFydDtmPHUmJm48YTsrK2YpKGk9dC5jaGFyQ29kZUF0KGYpKTwxMjg/b1tuPj4yXXw9aTw8bVszJm4rK106aTwyMDQ4PyhvW24+PjJdfD0oMTkyfGk+PjYpPDxtWzMmbisrXSxvW24+PjJdfD0oMTI4fDYzJmkpPDxtWzMmbisrXSk6aTw1NTI5Nnx8aT49NTczNDQ/KG9bbj4+Ml18PSgyMjR8aT4+MTIpPDxtWzMmbisrXSxvW24+PjJdfD0oMTI4fGk+PjYmNjMpPDxtWzMmbisrXSxvW24+PjJdfD0oMTI4fDYzJmkpPDxtWzMmbisrXSk6KGk9NjU1MzYrKCgxMDIzJmkpPDwxMHwxMDIzJnQuY2hhckNvZGVBdCgrK2YpKSxvW24+PjJdfD0oMjQwfGk+PjE4KTw8bVszJm4rK10sb1tuPj4yXXw9KDEyOHxpPj4xMiY2Myk8PG1bMyZuKytdLG9bbj4+Ml18PSgxMjh8aT4+NiY2Myk8PG1bMyZuKytdLG9bbj4+Ml18PSgxMjh8NjMmaSk8PG1bMyZuKytdKTtpZih0aGlzLmxhc3RCeXRlSW5kZXg9bixuPj1hKXtmb3IodGhpcy5zdGFydD1uLWEsdGhpcy5ibG9jaz1vW2NdLG49MDtuPGM7KytuKWhbbl1ePW9bbl07cShoKSx0aGlzLnJlc2V0PSEwfWVsc2UgdGhpcy5zdGFydD1ufXJldHVybiB0aGlzfSxqLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24odCxlKXt2YXIgcj0yNTUmdCxuPTEsaT1bcl07Zm9yKHI9MjU1Jih0Pj49OCk7cj4wOylpLnVuc2hpZnQocikscj0yNTUmKHQ+Pj04KSwrK247cmV0dXJuIGU/aS5wdXNoKG4pOmkudW5zaGlmdChuKSx0aGlzLnVwZGF0ZShpKSxpLmxlbmd0aH0sai5wcm90b3R5cGUuZW5jb2RlU3RyaW5nPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dHlwZW9mIHQ7aWYoInN0cmluZyIhPT1yKXtpZigib2JqZWN0IiE9PXIpdGhyb3cgbmV3IEVycm9yKHMpO2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcihzKTtpZihsJiZ0LmNvbnN0cnVjdG9yPT09QXJyYXlCdWZmZXIpdD1uZXcgVWludDhBcnJheSh0KTtlbHNlIGlmKCEoQXJyYXkuaXNBcnJheSh0KXx8bCYmQXJyYXlCdWZmZXIuaXNWaWV3KHQpKSl0aHJvdyBuZXcgRXJyb3Iocyk7ZT0hMH12YXIgbj0wLGk9dC5sZW5ndGg7aWYoZSluPWk7ZWxzZSBmb3IodmFyIG89MDtvPHQubGVuZ3RoOysrbyl7dmFyIGE9dC5jaGFyQ29kZUF0KG8pO2E8MTI4P24rPTE6YTwyMDQ4P24rPTI6YTw1NTI5Nnx8YT49NTczNDQ/bis9MzooYT02NTUzNisoKDEwMjMmYSk8PDEwfDEwMjMmdC5jaGFyQ29kZUF0KCsrbykpLG4rPTQpfXJldHVybiBuKz10aGlzLmVuY29kZSg4Km4pLHRoaXMudXBkYXRlKHQpLG59LGoucHJvdG90eXBlLmJ5dGVwYWQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dGhpcy5lbmNvZGUoZSksbj0wO248dC5sZW5ndGg7KytuKXIrPXRoaXMuZW5jb2RlU3RyaW5nKHRbbl0pO3ZhciBpPWUtciVlLG89W107cmV0dXJuIG8ubGVuZ3RoPWksdGhpcy51cGRhdGUobyksdGhpc30sai5wcm90b3R5cGUuZmluYWxpemU9ZnVuY3Rpb24oKXtpZighdGhpcy5maW5hbGl6ZWQpe3RoaXMuZmluYWxpemVkPSEwO3ZhciB0PXRoaXMuYmxvY2tzLGU9dGhpcy5sYXN0Qnl0ZUluZGV4LHI9dGhpcy5ibG9ja0NvdW50LG49dGhpcy5zO2lmKHRbZT4+Ml18PXRoaXMucGFkZGluZ1szJmVdLHRoaXMubGFzdEJ5dGVJbmRleD09PXRoaXMuYnl0ZUNvdW50KWZvcih0WzBdPXRbcl0sZT0xO2U8cisxOysrZSl0W2VdPTA7Zm9yKHRbci0xXXw9MjE0NzQ4MzY0OCxlPTA7ZTxyOysrZSluW2VdXj10W2VdO3Eobil9fSxqLnByb3RvdHlwZS50b1N0cmluZz1qLnByb3RvdHlwZS5oZXg9ZnVuY3Rpb24oKXt0aGlzLmZpbmFsaXplKCk7Zm9yKHZhciB0LGU9dGhpcy5ibG9ja0NvdW50LHI9dGhpcy5zLG49dGhpcy5vdXRwdXRCbG9ja3MsaT10aGlzLmV4dHJhQnl0ZXMsbz0wLHM9MCxhPSIiO3M8bjspe2ZvcihvPTA7bzxlJiZzPG47KytvLCsrcyl0PXJbb10sYSs9ZFt0Pj40JjE1XStkWzE1JnRdK2RbdD4+MTImMTVdK2RbdD4+OCYxNV0rZFt0Pj4yMCYxNV0rZFt0Pj4xNiYxNV0rZFt0Pj4yOCYxNV0rZFt0Pj4yNCYxNV07cyVlPT0wJiYocShyKSxvPTApfXJldHVybiBpJiYodD1yW29dLGErPWRbdD4+NCYxNV0rZFsxNSZ0XSxpPjEmJihhKz1kW3Q+PjEyJjE1XStkW3Q+PjgmMTVdKSxpPjImJihhKz1kW3Q+PjIwJjE1XStkW3Q+PjE2JjE1XSkpLGF9LGoucHJvdG90eXBlLmFycmF5QnVmZmVyPWZ1bmN0aW9uKCl7dGhpcy5maW5hbGl6ZSgpO3ZhciB0LGU9dGhpcy5ibG9ja0NvdW50LHI9dGhpcy5zLG49dGhpcy5vdXRwdXRCbG9ja3MsaT10aGlzLmV4dHJhQnl0ZXMsbz0wLHM9MCxhPXRoaXMub3V0cHV0Qml0cz4+Mzt0PWk/bmV3IEFycmF5QnVmZmVyKG4rMTw8Mik6bmV3IEFycmF5QnVmZmVyKGEpO2Zvcih2YXIgdT1uZXcgVWludDMyQXJyYXkodCk7czxuOyl7Zm9yKG89MDtvPGUmJnM8bjsrK28sKytzKXVbc109cltvXTtzJWU9PTAmJnEocil9cmV0dXJuIGkmJih1W29dPXJbb10sdD10LnNsaWNlKDAsYSkpLHR9LGoucHJvdG90eXBlLmJ1ZmZlcj1qLnByb3RvdHlwZS5hcnJheUJ1ZmZlcixqLnByb3RvdHlwZS5kaWdlc3Q9ai5wcm90b3R5cGUuYXJyYXk9ZnVuY3Rpb24oKXt0aGlzLmZpbmFsaXplKCk7Zm9yKHZhciB0LGUscj10aGlzLmJsb2NrQ291bnQsbj10aGlzLnMsaT10aGlzLm91dHB1dEJsb2NrcyxvPXRoaXMuZXh0cmFCeXRlcyxzPTAsYT0wLHU9W107YTxpOyl7Zm9yKHM9MDtzPHImJmE8aTsrK3MsKythKXQ9YTw8MixlPW5bc10sdVt0XT0yNTUmZSx1W3QrMV09ZT4+OCYyNTUsdVt0KzJdPWU+PjE2JjI1NSx1W3QrM109ZT4+MjQmMjU1O2Elcj09MCYmcShuKX1yZXR1cm4gbyYmKHQ9YTw8MixlPW5bc10sdVt0XT0yNTUmZSxvPjEmJih1W3QrMV09ZT4+OCYyNTUpLG8+MiYmKHVbdCsyXT1lPj4xNiYyNTUpKSx1fSxOLnByb3RvdHlwZT1uZXcgaixOLnByb3RvdHlwZS5maW5hbGl6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVuY29kZSh0aGlzLm91dHB1dEJpdHMsITApLGoucHJvdG90eXBlLmZpbmFsaXplLmNhbGwodGhpcyl9O3ZhciBxPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbixpLG8scyxhLHUsYyxmLGgsbCxkLHAsbSxiLHksdixfLHcsTSxTLEUseCxrLEEsUixULE8sQyxQLEksQixMLGosTixxLFUsRCx6LEgsRixXLEssVixKLFksRyxaLCQsWCxRLHR0LGV0LHJ0LG50LGl0LG90LHN0LGF0LHV0LGN0LGZ0O2ZvcihuPTA7bjw0ODtuKz0yKWk9dFswXV50WzEwXV50WzIwXV50WzMwXV50WzQwXSxvPXRbMV1edFsxMV1edFsyMV1edFszMV1edFs0MV0scz10WzJdXnRbMTJdXnRbMjJdXnRbMzJdXnRbNDJdLGE9dFszXV50WzEzXV50WzIzXV50WzMzXV50WzQzXSx1PXRbNF1edFsxNF1edFsyNF1edFszNF1edFs0NF0sYz10WzVdXnRbMTVdXnRbMjVdXnRbMzVdXnRbNDVdLGY9dFs2XV50WzE2XV50WzI2XV50WzM2XV50WzQ2XSxoPXRbN11edFsxN11edFsyN11edFszN11edFs0N10sZT0obD10WzhdXnRbMThdXnRbMjhdXnRbMzhdXnRbNDhdKV4oczw8MXxhPj4+MzEpLHI9KGQ9dFs5XV50WzE5XV50WzI5XV50WzM5XV50WzQ5XSleKGE8PDF8cz4+PjMxKSx0WzBdXj1lLHRbMV1ePXIsdFsxMF1ePWUsdFsxMV1ePXIsdFsyMF1ePWUsdFsyMV1ePXIsdFszMF1ePWUsdFszMV1ePXIsdFs0MF1ePWUsdFs0MV1ePXIsZT1pXih1PDwxfGM+Pj4zMSkscj1vXihjPDwxfHU+Pj4zMSksdFsyXV49ZSx0WzNdXj1yLHRbMTJdXj1lLHRbMTNdXj1yLHRbMjJdXj1lLHRbMjNdXj1yLHRbMzJdXj1lLHRbMzNdXj1yLHRbNDJdXj1lLHRbNDNdXj1yLGU9c14oZjw8MXxoPj4+MzEpLHI9YV4oaDw8MXxmPj4+MzEpLHRbNF1ePWUsdFs1XV49cix0WzE0XV49ZSx0WzE1XV49cix0WzI0XV49ZSx0WzI1XV49cix0WzM0XV49ZSx0WzM1XV49cix0WzQ0XV49ZSx0WzQ1XV49cixlPXVeKGw8PDF8ZD4+PjMxKSxyPWNeKGQ8PDF8bD4+PjMxKSx0WzZdXj1lLHRbN11ePXIsdFsxNl1ePWUsdFsxN11ePXIsdFsyNl1ePWUsdFsyN11ePXIsdFszNl1ePWUsdFszN11ePXIsdFs0Nl1ePWUsdFs0N11ePXIsZT1mXihpPDwxfG8+Pj4zMSkscj1oXihvPDwxfGk+Pj4zMSksdFs4XV49ZSx0WzldXj1yLHRbMThdXj1lLHRbMTldXj1yLHRbMjhdXj1lLHRbMjldXj1yLHRbMzhdXj1lLHRbMzldXj1yLHRbNDhdXj1lLHRbNDldXj1yLHA9dFswXSxtPXRbMV0sSj10WzExXTw8NHx0WzEwXT4+PjI4LFk9dFsxMF08PDR8dFsxMV0+Pj4yOCxUPXRbMjBdPDwzfHRbMjFdPj4+MjksTz10WzIxXTw8M3x0WzIwXT4+PjI5LGF0PXRbMzFdPDw5fHRbMzBdPj4+MjMsdXQ9dFszMF08PDl8dFszMV0+Pj4yMyxGPXRbNDBdPDwxOHx0WzQxXT4+PjE0LFc9dFs0MV08PDE4fHRbNDBdPj4+MTQsTD10WzJdPDwxfHRbM10+Pj4zMSxqPXRbM108PDF8dFsyXT4+PjMxLGI9dFsxM108PDEyfHRbMTJdPj4+MjAseT10WzEyXTw8MTJ8dFsxM10+Pj4yMCxHPXRbMjJdPDwxMHx0WzIzXT4+PjIyLFo9dFsyM108PDEwfHRbMjJdPj4+MjIsQz10WzMzXTw8MTN8dFszMl0+Pj4xOSxQPXRbMzJdPDwxM3x0WzMzXT4+PjE5LGN0PXRbNDJdPDwyfHRbNDNdPj4+MzAsZnQ9dFs0M108PDJ8dFs0Ml0+Pj4zMCxldD10WzVdPDwzMHx0WzRdPj4+MixydD10WzRdPDwzMHx0WzVdPj4+MixOPXRbMTRdPDw2fHRbMTVdPj4+MjYscT10WzE1XTw8Nnx0WzE0XT4+PjI2LHY9dFsyNV08PDExfHRbMjRdPj4+MjEsXz10WzI0XTw8MTF8dFsyNV0+Pj4yMSwkPXRbMzRdPDwxNXx0WzM1XT4+PjE3LFg9dFszNV08PDE1fHRbMzRdPj4+MTcsST10WzQ1XTw8Mjl8dFs0NF0+Pj4zLEI9dFs0NF08PDI5fHRbNDVdPj4+Myx4PXRbNl08PDI4fHRbN10+Pj40LGs9dFs3XTw8Mjh8dFs2XT4+PjQsbnQ9dFsxN108PDIzfHRbMTZdPj4+OSxpdD10WzE2XTw8MjN8dFsxN10+Pj45LFU9dFsyNl08PDI1fHRbMjddPj4+NyxEPXRbMjddPDwyNXx0WzI2XT4+Pjcsdz10WzM2XTw8MjF8dFszN10+Pj4xMSxNPXRbMzddPDwyMXx0WzM2XT4+PjExLFE9dFs0N108PDI0fHRbNDZdPj4+OCx0dD10WzQ2XTw8MjR8dFs0N10+Pj44LEs9dFs4XTw8Mjd8dFs5XT4+PjUsVj10WzldPDwyN3x0WzhdPj4+NSxBPXRbMThdPDwyMHx0WzE5XT4+PjEyLFI9dFsxOV08PDIwfHRbMThdPj4+MTIsb3Q9dFsyOV08PDd8dFsyOF0+Pj4yNSxzdD10WzI4XTw8N3x0WzI5XT4+PjI1LHo9dFszOF08PDh8dFszOV0+Pj4yNCxIPXRbMzldPDw4fHRbMzhdPj4+MjQsUz10WzQ4XTw8MTR8dFs0OV0+Pj4xOCxFPXRbNDldPDwxNHx0WzQ4XT4+PjE4LHRbMF09cF5+YiZ2LHRbMV09bV5+eSZfLHRbMTBdPXhefkEmVCx0WzExXT1rXn5SJk8sdFsyMF09TF5+TiZVLHRbMjFdPWpefnEmRCx0WzMwXT1LXn5KJkcsdFszMV09Vl5+WSZaLHRbNDBdPWV0Xn5udCZvdCx0WzQxXT1ydF5+aXQmc3QsdFsyXT1iXn52JncsdFszXT15Xn5fJk0sdFsxMl09QV5+VCZDLHRbMTNdPVJefk8mUCx0WzIyXT1OXn5VJnosdFsyM109cV5+RCZILHRbMzJdPUpefkcmJCx0WzMzXT1ZXn5aJlgsdFs0Ml09bnRefm90JmF0LHRbNDNdPWl0Xn5zdCZ1dCx0WzRdPXZefncmUyx0WzVdPV9efk0mRSx0WzE0XT1UXn5DJkksdFsxNV09T15+UCZCLHRbMjRdPVVefnomRix0WzI1XT1EXn5IJlcsdFszNF09R15+JCZRLHRbMzVdPVpeflgmdHQsdFs0NF09b3RefmF0JmN0LHRbNDVdPXN0Xn51dCZmdCx0WzZdPXdeflMmcCx0WzddPU1efkUmbSx0WzE2XT1DXn5JJngsdFsxN109UF5+QiZrLHRbMjZdPXpefkYmTCx0WzI3XT1IXn5XJmosdFszNl09JF5+USZLLHRbMzddPVhefnR0JlYsdFs0Nl09YXRefmN0JmV0LHRbNDddPXV0Xn5mdCZydCx0WzhdPVNefnAmYix0WzldPUVefm0meSx0WzE4XT1JXn54JkEsdFsxOV09Ql5+ayZSLHRbMjhdPUZefkwmTix0WzI5XT1XXn5qJnEsdFszOF09UV5+SyZKLHRbMzldPXR0Xn5WJlksdFs0OF09Y3RefmV0Jm50LHRbNDldPWZ0Xn5ydCZpdCx0WzBdXj1nW25dLHRbMV1ePWdbbisxXX07aWYoZil0LmV4cG9ydHM9UjtlbHNle2ZvcihPPTA7TzxULmxlbmd0aDsrK08pdVtUW09dXT1SW1RbT11dO2gmJih2b2lkIDA9PT0obz1mdW5jdGlvbigpe3JldHVybiBSfS5jYWxsKGUscixlLHQpKXx8KHQuZXhwb3J0cz1vKSl9fSgpfSkuY2FsbCh0aGlzLHIoNSkscig2KSl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7cig3KSxyKDI0KTt2YXIgbj1yKDgwKTtyLm8obiwicGF5bG9hZElkIikmJnIuZChlLCJwYXlsb2FkSWQiLChmdW5jdGlvbigpe3JldHVybiBuLnBheWxvYWRJZH0pKTt2YXIgaT1yKDgxKTtyLmQoZSwicGF5bG9hZElkIiwoZnVuY3Rpb24oKXtyZXR1cm4gaS5hfSkpO3IoODIpLHIoODMpLHIoODgpLHIoODkpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXt2YXIgbj1yKDEpLGk9cigxNjMpO2NvbnN0IG89dm9pZCAwIT09dC5XZWJTb2NrZXQ/dC5XZWJTb2NrZXQ6cigxNzcpO2UuYT1jbGFzc3tjb25zdHJ1Y3Rvcih0KXtpZih0aGlzLm9wdHM9dCx0aGlzLl9xdWV1ZT1bXSx0aGlzLl9ldmVudHM9W10sdGhpcy5fc3Vic2NyaXB0aW9ucz1bXSx0aGlzLl9wcm90b2NvbD10LnByb3RvY29sLHRoaXMuX3ZlcnNpb249dC52ZXJzaW9uLHRoaXMuX3VybD0iIix0aGlzLl9uZXRNb25pdG9yPW51bGwsdGhpcy5fc29ja2V0PW51bGwsdGhpcy5fbmV4dFNvY2tldD1udWxsLHRoaXMuX3N1YnNjcmlwdGlvbnM9dC5zdWJzY3JpcHRpb25zfHxbXSx0aGlzLl9uZXRNb25pdG9yPXQubmV0TW9uaXRvcnx8bmV3IGkuYSwhdC51cmx8fCJzdHJpbmciIT10eXBlb2YgdC51cmwpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9yIGludmFsaWQgV2ViU29ja2V0IHVybCIpO3RoaXMuX3VybD10LnVybCx0aGlzLl9uZXRNb25pdG9yLm9uKCJvbmxpbmUiLCgpPT50aGlzLl9zb2NrZXRDcmVhdGUoKSl9c2V0IHJlYWR5U3RhdGUodCl7fWdldCByZWFkeVN0YXRlKCl7cmV0dXJuIHRoaXMuX3NvY2tldD90aGlzLl9zb2NrZXQucmVhZHlTdGF0ZTotMX1zZXQgY29ubmVjdGluZyh0KXt9Z2V0IGNvbm5lY3RpbmcoKXtyZXR1cm4gMD09PXRoaXMucmVhZHlTdGF0ZX1zZXQgY29ubmVjdGVkKHQpe31nZXQgY29ubmVjdGVkKCl7cmV0dXJuIDE9PT10aGlzLnJlYWR5U3RhdGV9c2V0IGNsb3NpbmcodCl7fWdldCBjbG9zaW5nKCl7cmV0dXJuIDI9PT10aGlzLnJlYWR5U3RhdGV9c2V0IGNsb3NlZCh0KXt9Z2V0IGNsb3NlZCgpe3JldHVybiAzPT09dGhpcy5yZWFkeVN0YXRlfW9wZW4oKXt0aGlzLl9zb2NrZXRDcmVhdGUoKX1jbG9zZSgpe3RoaXMuX3NvY2tldENsb3NlKCl9c2VuZCh0LGUscil7aWYoIWV8fCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIk1pc3Npbmcgb3IgaW52YWxpZCB0b3BpYyBmaWVsZCIpO3RoaXMuX3NvY2tldFNlbmQoe3RvcGljOmUsdHlwZToicHViIixwYXlsb2FkOnQsc2lsZW50OiEhcn0pfXN1YnNjcmliZSh0KXt0aGlzLl9zb2NrZXRTZW5kKHt0b3BpYzp0LHR5cGU6InN1YiIscGF5bG9hZDoiIixzaWxlbnQ6ITB9KX1vbih0LGUpe3RoaXMuX2V2ZW50cy5wdXNoKHtldmVudDp0LGNhbGxiYWNrOmV9KX1fc29ja2V0Q3JlYXRlKCl7aWYodGhpcy5fbmV4dFNvY2tldClyZXR1cm47Y29uc3QgdD1mdW5jdGlvbih0LGUscil7dmFyIGksbztjb25zdCBzPSh0LnN0YXJ0c1dpdGgoImh0dHBzIik/dC5yZXBsYWNlKCJodHRwcyIsIndzcyIpOnQuc3RhcnRzV2l0aCgiaHR0cCIpP3QucmVwbGFjZSgiaHR0cCIsIndzIik6dCkuc3BsaXQoIj8iKSxhPU9iamVjdChuLmlzQnJvd3NlcikoKT97cHJvdG9jb2w6ZSx2ZXJzaW9uOnIsZW52OiJicm93c2VyIixob3N0OihudWxsPT09KGk9T2JqZWN0KG4uZ2V0TG9jYXRpb24pKCkpfHx2b2lkIDA9PT1pP3ZvaWQgMDppLmhvc3QpfHwiIn06e3Byb3RvY29sOmUsdmVyc2lvbjpyLGVudjoobnVsbD09PShvPU9iamVjdChuLmRldGVjdEVudikoKSl8fHZvaWQgMD09PW8/dm9pZCAwOm8ubmFtZSl8fCIifSx1PU9iamVjdChuLmFwcGVuZFRvUXVlcnlTdHJpbmcpKE9iamVjdChuLmdldFF1ZXJ5U3RyaW5nKShzWzFdfHwiIiksYSk7cmV0dXJuIHNbMF0rIj8iK3V9KHRoaXMuX3VybCx0aGlzLl9wcm90b2NvbCx0aGlzLl92ZXJzaW9uKTtpZih0aGlzLl9uZXh0U29ja2V0PW5ldyBvKHQpLCF0aGlzLl9uZXh0U29ja2V0KXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBzb2NrZXQiKTt0aGlzLl9uZXh0U29ja2V0Lm9ubWVzc2FnZT10PT50aGlzLl9zb2NrZXRSZWNlaXZlKHQpLHRoaXMuX25leHRTb2NrZXQub25vcGVuPSgpPT50aGlzLl9zb2NrZXRPcGVuKCksdGhpcy5fbmV4dFNvY2tldC5vbmVycm9yPXQ9PnRoaXMuX3NvY2tldEVycm9yKHQpLHRoaXMuX25leHRTb2NrZXQub25jbG9zZT0oKT0+e3NldFRpbWVvdXQoKCk9Pnt0aGlzLl9uZXh0U29ja2V0PW51bGwsdGhpcy5fc29ja2V0Q3JlYXRlKCl9LDFlMyl9fV9zb2NrZXRPcGVuKCl7dGhpcy5fc29ja2V0Q2xvc2UoKSx0aGlzLl9zb2NrZXQ9dGhpcy5fbmV4dFNvY2tldCx0aGlzLl9uZXh0U29ja2V0PW51bGwsdGhpcy5fcXVldWVTdWJzY3JpcHRpb25zKCksdGhpcy5fcHVzaFF1ZXVlKCl9X3NvY2tldENsb3NlKCl7dGhpcy5fc29ja2V0JiYodGhpcy5fc29ja2V0Lm9uY2xvc2U9KCk9Pnt9LHRoaXMuX3NvY2tldC5jbG9zZSgpKX1fc29ja2V0U2VuZCh0KXtjb25zdCBlPUpTT04uc3RyaW5naWZ5KHQpO3RoaXMuX3NvY2tldCYmMT09PXRoaXMuX3NvY2tldC5yZWFkeVN0YXRlP3RoaXMuX3NvY2tldC5zZW5kKGUpOih0aGlzLl9zZXRUb1F1ZXVlKHQpLHRoaXMuX3NvY2tldENyZWF0ZSgpKX1hc3luYyBfc29ja2V0UmVjZWl2ZSh0KXtsZXQgZTt0cnl7ZT1KU09OLnBhcnNlKHQuZGF0YSl9Y2F0Y2godCl7cmV0dXJufWlmKHRoaXMuX3NvY2tldFNlbmQoe3RvcGljOmUudG9waWMsdHlwZToiYWNrIixwYXlsb2FkOiIiLHNpbGVudDohMH0pLHRoaXMuX3NvY2tldCYmMT09PXRoaXMuX3NvY2tldC5yZWFkeVN0YXRlKXtjb25zdCB0PXRoaXMuX2V2ZW50cy5maWx0ZXIodD0+Im1lc3NhZ2UiPT09dC5ldmVudCk7dCYmdC5sZW5ndGgmJnQuZm9yRWFjaCh0PT50LmNhbGxiYWNrKGUpKX19X3NvY2tldEVycm9yKHQpe2NvbnN0IGU9dGhpcy5fZXZlbnRzLmZpbHRlcih0PT4iZXJyb3IiPT09dC5ldmVudCk7ZSYmZS5sZW5ndGgmJmUuZm9yRWFjaChlPT5lLmNhbGxiYWNrKHQpKX1fcXVldWVTdWJzY3JpcHRpb25zKCl7dGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHQ9PnRoaXMuX3F1ZXVlLnB1c2goe3RvcGljOnQsdHlwZToic3ViIixwYXlsb2FkOiIiLHNpbGVudDohMH0pKSx0aGlzLl9zdWJzY3JpcHRpb25zPXRoaXMub3B0cy5zdWJzY3JpcHRpb25zfHxbXX1fc2V0VG9RdWV1ZSh0KXt0aGlzLl9xdWV1ZS5wdXNoKHQpfV9wdXNoUXVldWUoKXt0aGlzLl9xdWV1ZS5mb3JFYWNoKHQ9PnRoaXMuX3NvY2tldFNlbmQodCkpLHRoaXMuX3F1ZXVlPVtdfX19KS5jYWxsKHRoaXMscig2KSl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5hPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fZXZlbnRFbWl0dGVycz1bXSwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LmFkZEV2ZW50TGlzdGVuZXImJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIiwoKT0+dGhpcy50cmlnZ2VyKCJvbmxpbmUiKSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLCgpPT50aGlzLnRyaWdnZXIoIm9mZmxpbmUiKSkpfW9uKHQsZSl7dGhpcy5fZXZlbnRFbWl0dGVycy5wdXNoKHtldmVudDp0LGNhbGxiYWNrOmV9KX10cmlnZ2VyKHQpe2xldCBlPVtdO3QmJihlPXRoaXMuX2V2ZW50RW1pdHRlcnMuZmlsdGVyKGU9PmUuZXZlbnQ9PT10KSksZS5mb3JFYWNoKHQ9Pnt0LmNhbGxiYWNrKCl9KX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksaT0ifiI7ZnVuY3Rpb24gbygpe31mdW5jdGlvbiBzKHQsZSxyKXt0aGlzLmZuPXQsdGhpcy5jb250ZXh0PWUsdGhpcy5vbmNlPXJ8fCExfWZ1bmN0aW9uIGEodCxlLHIsbixvKXtpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGUgbGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIik7dmFyIGE9bmV3IHMocixufHx0LG8pLHU9aT9pK2U6ZTtyZXR1cm4gdC5fZXZlbnRzW3VdP3QuX2V2ZW50c1t1XS5mbj90Ll9ldmVudHNbdV09W3QuX2V2ZW50c1t1XSxhXTp0Ll9ldmVudHNbdV0ucHVzaChhKToodC5fZXZlbnRzW3VdPWEsdC5fZXZlbnRzQ291bnQrKyksdH1mdW5jdGlvbiB1KHQsZSl7MD09LS10Ll9ldmVudHNDb3VudD90Ll9ldmVudHM9bmV3IG86ZGVsZXRlIHQuX2V2ZW50c1tlXX1mdW5jdGlvbiBjKCl7dGhpcy5fZXZlbnRzPW5ldyBvLHRoaXMuX2V2ZW50c0NvdW50PTB9T2JqZWN0LmNyZWF0ZSYmKG8ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCksKG5ldyBvKS5fX3Byb3RvX198fChpPSExKSksYy5wcm90b3R5cGUuZXZlbnROYW1lcz1mdW5jdGlvbigpe3ZhciB0LGUscj1bXTtpZigwPT09dGhpcy5fZXZlbnRzQ291bnQpcmV0dXJuIHI7Zm9yKGUgaW4gdD10aGlzLl9ldmVudHMpbi5jYWxsKHQsZSkmJnIucHVzaChpP2Uuc2xpY2UoMSk6ZSk7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ci5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KSk6cn0sYy5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3ZhciBlPWk/aSt0OnQscj10aGlzLl9ldmVudHNbZV07aWYoIXIpcmV0dXJuW107aWYoci5mbilyZXR1cm5bci5mbl07Zm9yKHZhciBuPTAsbz1yLmxlbmd0aCxzPW5ldyBBcnJheShvKTtuPG87bisrKXNbbl09cltuXS5mbjtyZXR1cm4gc30sYy5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1mdW5jdGlvbih0KXt2YXIgZT1pP2krdDp0LHI9dGhpcy5fZXZlbnRzW2VdO3JldHVybiByP3IuZm4/MTpyLmxlbmd0aDowfSxjLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKHQsZSxyLG4sbyxzKXt2YXIgYT1pP2krdDp0O2lmKCF0aGlzLl9ldmVudHNbYV0pcmV0dXJuITE7dmFyIHUsYyxmPXRoaXMuX2V2ZW50c1thXSxoPWFyZ3VtZW50cy5sZW5ndGg7aWYoZi5mbil7c3dpdGNoKGYub25jZSYmdGhpcy5yZW1vdmVMaXN0ZW5lcih0LGYuZm4sdm9pZCAwLCEwKSxoKXtjYXNlIDE6cmV0dXJuIGYuZm4uY2FsbChmLmNvbnRleHQpLCEwO2Nhc2UgMjpyZXR1cm4gZi5mbi5jYWxsKGYuY29udGV4dCxlKSwhMDtjYXNlIDM6cmV0dXJuIGYuZm4uY2FsbChmLmNvbnRleHQsZSxyKSwhMDtjYXNlIDQ6cmV0dXJuIGYuZm4uY2FsbChmLmNvbnRleHQsZSxyLG4pLCEwO2Nhc2UgNTpyZXR1cm4gZi5mbi5jYWxsKGYuY29udGV4dCxlLHIsbixvKSwhMDtjYXNlIDY6cmV0dXJuIGYuZm4uY2FsbChmLmNvbnRleHQsZSxyLG4sbyxzKSwhMH1mb3IoYz0xLHU9bmV3IEFycmF5KGgtMSk7YzxoO2MrKyl1W2MtMV09YXJndW1lbnRzW2NdO2YuZm4uYXBwbHkoZi5jb250ZXh0LHUpfWVsc2V7dmFyIGwsZD1mLmxlbmd0aDtmb3IoYz0wO2M8ZDtjKyspc3dpdGNoKGZbY10ub25jZSYmdGhpcy5yZW1vdmVMaXN0ZW5lcih0LGZbY10uZm4sdm9pZCAwLCEwKSxoKXtjYXNlIDE6ZltjXS5mbi5jYWxsKGZbY10uY29udGV4dCk7YnJlYWs7Y2FzZSAyOmZbY10uZm4uY2FsbChmW2NdLmNvbnRleHQsZSk7YnJlYWs7Y2FzZSAzOmZbY10uZm4uY2FsbChmW2NdLmNvbnRleHQsZSxyKTticmVhaztjYXNlIDQ6ZltjXS5mbi5jYWxsKGZbY10uY29udGV4dCxlLHIsbik7YnJlYWs7ZGVmYXVsdDppZighdSlmb3IobD0xLHU9bmV3IEFycmF5KGgtMSk7bDxoO2wrKyl1W2wtMV09YXJndW1lbnRzW2xdO2ZbY10uZm4uYXBwbHkoZltjXS5jb250ZXh0LHUpfX1yZXR1cm4hMH0sYy5wcm90b3R5cGUub249ZnVuY3Rpb24odCxlLHIpe3JldHVybiBhKHRoaXMsdCxlLHIsITEpfSxjLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gYSh0aGlzLHQsZSxyLCEwKX0sYy5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24odCxlLHIsbil7dmFyIG89aT9pK3Q6dDtpZighdGhpcy5fZXZlbnRzW29dKXJldHVybiB0aGlzO2lmKCFlKXJldHVybiB1KHRoaXMsbyksdGhpczt2YXIgcz10aGlzLl9ldmVudHNbb107aWYocy5mbilzLmZuIT09ZXx8biYmIXMub25jZXx8ciYmcy5jb250ZXh0IT09cnx8dSh0aGlzLG8pO2Vsc2V7Zm9yKHZhciBhPTAsYz1bXSxmPXMubGVuZ3RoO2E8ZjthKyspKHNbYV0uZm4hPT1lfHxuJiYhc1thXS5vbmNlfHxyJiZzW2FdLmNvbnRleHQhPT1yKSYmYy5wdXNoKHNbYV0pO2MubGVuZ3RoP3RoaXMuX2V2ZW50c1tvXT0xPT09Yy5sZW5ndGg/Y1swXTpjOnUodGhpcyxvKX1yZXR1cm4gdGhpc30sYy5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0PyhlPWk/aSt0OnQsdGhpcy5fZXZlbnRzW2VdJiZ1KHRoaXMsZSkpOih0aGlzLl9ldmVudHM9bmV3IG8sdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpc30sYy5wcm90b3R5cGUub2ZmPWMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLGMucHJvdG90eXBlLmFkZExpc3RlbmVyPWMucHJvdG90eXBlLm9uLGMucHJlZml4ZWQ9aSxjLkV2ZW50RW1pdHRlcj1jLHQuZXhwb3J0cz1jfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxmdW5jdGlvbih0KXtmb3IodmFyIHIgaW4gdCllLmhhc093blByb3BlcnR5KHIpfHwoZVtyXT10W3JdKX0ocigyMDMpKTt2YXIgbj1yKDU2KTtlLlhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQ9bi5YTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBuPXIoMTY3KSxpPW4uX19pbXBvcnREZWZhdWx0KHIoMzc0KSksbz1uLl9faW1wb3J0RGVmYXVsdChyKDE3OCkpLHM9bi5fX2ltcG9ydERlZmF1bHQocigyMDIpKSxhPXIoMSksdT1yKDIyNCksYz1yKDMzNCksZj1yKDMzOCksaD1yKDMzOSksbD1yKDM1MyksZD1yKDM2OSkscD1yKDM3Mik7ZS5kZWZhdWx0PWNsYXNzIGV4dGVuZHMgdXtjb25zdHJ1Y3Rvcih0KXtpZihzdXBlcih7cG9sbGluZ0ludGVydmFsOnQucG9sbGluZ0ludGVydmFsfHw4ZTN9KSx0aGlzLmJyaWRnZT0iaHR0cHM6Ly9icmlkZ2Uud2FsbGV0Y29ubmVjdC5vcmciLHRoaXMucXJjb2RlPSEwLHRoaXMucXJjb2RlTW9kYWw9by5kZWZhdWx0LHRoaXMucXJjb2RlTW9kYWxPcHRpb25zPXZvaWQgMCx0aGlzLnJwYz1udWxsLHRoaXMuaW5mdXJhSWQ9IiIsdGhpcy5odHRwPW51bGwsdGhpcy5pc0Nvbm5lY3Rpbmc9ITEsdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5jb25uZWN0Q2FsbGJhY2tzPVtdLHRoaXMuYWNjb3VudHM9W10sdGhpcy5jaGFpbklkPTEsdGhpcy5ycGNVcmw9IiIsdGhpcy5lbmFibGU9KCk9Pm4uX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7Y29uc3QgdD15aWVsZCB0aGlzLmdldFdhbGxldENvbm5lY3RvcigpO2lmKHQpcmV0dXJuIHRoaXMuc3RhcnQoKSx0aGlzLnN1YnNjcmliZVdhbGxldENvbm5lY3RvcigpLHQuYWNjb3VudHM7dGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gY29ubmVjdCB0byBXYWxsZUNvbm5lY3QiKX0pKSx0aGlzLnJlcXVlc3Q9dD0+bi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXtyZXR1cm4gdGhpcy5zZW5kKHQpfSkpLHRoaXMuc2VuZD0odCxlKT0+bi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt2YXIgcjtpZigic3RyaW5nIj09dHlwZW9mIHQpe2NvbnN0IHI9dDtsZXQgbj1lO3JldHVybiJwZXJzb25hbF9zaWduIj09PXImJihuPSgwLGEucGFyc2VQZXJzb25hbFNpZ24pKG4pKSx0aGlzLnNlbmRBc3luY1Byb21pc2UocixuKX1pZigicGVyc29uYWxfc2lnbiI9PT0odD1PYmplY3QuYXNzaWduKHtpZDooMCxhLnBheWxvYWRJZCkoKSxqc29ucnBjOiIyLjAifSx0KSkubWV0aG9kJiYodC5wYXJhbXM9KDAsYS5wYXJzZVBlcnNvbmFsU2lnbikodC5wYXJhbXMpKSwhZSl7aWYoImV0aF9zaWduVHlwZWREYXRhX3Y0Ij09PXQubWV0aG9kJiYiTWV0YU1hc2siPT09KG51bGw9PT0ocj10aGlzLndhbGxldE1ldGEpfHx2b2lkIDA9PT1yP3ZvaWQgMDpyLm5hbWUpKXtjb25zdHtyZXN1bHQ6ZX09eWllbGQgdGhpcy5oYW5kbGVPdGhlclJlcXVlc3RzKHQpO3JldHVybiBlfXJldHVybiB0aGlzLnNlbmRBc3luY1Byb21pc2UodC5tZXRob2QsdC5wYXJhbXMpfXRoaXMuc2VuZEFzeW5jKHQsZSl9KSksdGhpcy5vbkNvbm5lY3Q9dD0+e3RoaXMuY29ubmVjdENhbGxiYWNrcy5wdXNoKHQpfSx0aGlzLnRyaWdnZXJDb25uZWN0PXQ9Pnt0aGlzLmNvbm5lY3RDYWxsYmFja3MmJnRoaXMuY29ubmVjdENhbGxiYWNrcy5sZW5ndGgmJnRoaXMuY29ubmVjdENhbGxiYWNrcy5mb3JFYWNoKGU9PmUodCkpfSx0aGlzLmJyaWRnZT10LmNvbm5lY3Rvcj90LmNvbm5lY3Rvci5icmlkZ2U6dC5icmlkZ2V8fCJodHRwczovL2JyaWRnZS53YWxsZXRjb25uZWN0Lm9yZyIsdGhpcy5xcmNvZGU9dm9pZCAwPT09dC5xcmNvZGV8fCExIT09dC5xcmNvZGUsdGhpcy5xcmNvZGVNb2RhbD10LnFyY29kZU1vZGFsfHx0aGlzLnFyY29kZU1vZGFsLHRoaXMucXJjb2RlTW9kYWxPcHRpb25zPXQucXJjb2RlTW9kYWxPcHRpb25zLHRoaXMud2M9dC5jb25uZWN0b3J8fG5ldyBpLmRlZmF1bHQoe2JyaWRnZTp0aGlzLmJyaWRnZSxxcmNvZGVNb2RhbDp0aGlzLnFyY29kZT90aGlzLnFyY29kZU1vZGFsOnZvaWQgMCxxcmNvZGVNb2RhbE9wdGlvbnM6dGhpcy5xcmNvZGVNb2RhbE9wdGlvbnMsc3RvcmFnZUlkOm51bGw9PXQ/dm9pZCAwOnQuc3RvcmFnZUlkLHNpZ25pbmdNZXRob2RzOm51bGw9PXQ/dm9pZCAwOnQuc2lnbmluZ01ldGhvZHMsY2xpZW50TWV0YTpudWxsPT10P3ZvaWQgMDp0LmNsaWVudE1ldGF9KSx0aGlzLnJwYz10LnJwY3x8bnVsbCwhKHRoaXMucnBjfHx0LmluZnVyYUlkJiYic3RyaW5nIj09dHlwZW9mIHQuaW5mdXJhSWQmJnQuaW5mdXJhSWQudHJpbSgpKSl0aHJvdyBuZXcgRXJyb3IoIk1pc3Npbmcgb25lIG9mIHRoZSByZXF1aXJlZCBwYXJhbWV0ZXJzOiBycGMgb3IgaW5mdXJhSWQiKTt0aGlzLmluZnVyYUlkPXQuaW5mdXJhSWR8fCIiLHRoaXMuY2hhaW5JZD0obnVsbD09dD92b2lkIDA6dC5jaGFpbklkKXx8dGhpcy5jaGFpbklkLHRoaXMuaW5pdGlhbGl6ZSgpfWdldCBpc1dhbGxldENvbm5lY3QoKXtyZXR1cm4hMH1nZXQgY29ubmVjdG9yKCl7cmV0dXJuIHRoaXMud2N9Z2V0IHdhbGxldE1ldGEoKXtyZXR1cm4gdGhpcy53Yy5wZWVyTWV0YX1kaXNjb25uZWN0KCl7cmV0dXJuIG4uX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dGhpcy5jbG9zZSgpfSkpfWNsb3NlKCl7cmV0dXJuIG4uX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7Y29uc3QgdD15aWVsZCB0aGlzLmdldFdhbGxldENvbm5lY3Rvcih7ZGlzYWJsZVNlc3Npb25DcmVhdGlvbjohMH0pO3lpZWxkIHQua2lsbFNlc3Npb24oKSx5aWVsZCB0aGlzLm9uRGlzY29ubmVjdCgpfSkpfWhhbmRsZVJlcXVlc3QodCl7cmV0dXJuIG4uX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2xldCBlLHI9bnVsbDtjb25zdCBuPXlpZWxkIHRoaXMuZ2V0V2FsbGV0Q29ubmVjdG9yKCk7c3dpdGNoKHQubWV0aG9kKXtjYXNlIndjX2tpbGxTZXNzaW9uIjp5aWVsZCB0aGlzLmNsb3NlKCkscj1udWxsO2JyZWFrO2Nhc2UiZXRoX2FjY291bnRzIjpyPW4uYWNjb3VudHM7YnJlYWs7Y2FzZSJldGhfY29pbmJhc2UiOnI9bi5hY2NvdW50c1swXTticmVhaztjYXNlImV0aF9jaGFpbklkIjpjYXNlIm5ldF92ZXJzaW9uIjpyPW4uY2hhaW5JZDticmVhaztjYXNlImV0aF91bmluc3RhbGxGaWx0ZXIiOnRoaXMuc2VuZEFzeW5jKHQsdD0+dCkscj0hMDticmVhaztkZWZhdWx0OmU9eWllbGQgdGhpcy5oYW5kbGVPdGhlclJlcXVlc3RzKHQpfXJldHVybiBlfHx0aGlzLmZvcm1hdFJlc3BvbnNlKHQscil9Y2F0Y2godCl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsdCksdH19KSl9aGFuZGxlT3RoZXJSZXF1ZXN0cyh0KXtyZXR1cm4gbi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXtpZighYS5zaWduaW5nTWV0aG9kcy5pbmNsdWRlcyh0Lm1ldGhvZCkmJnQubWV0aG9kLnN0YXJ0c1dpdGgoImV0aF8iKSlyZXR1cm4gdGhpcy5oYW5kbGVSZWFkUmVxdWVzdHModCk7Y29uc3QgZT15aWVsZCB0aGlzLmdldFdhbGxldENvbm5lY3RvcigpLHI9eWllbGQgZS5zZW5kQ3VzdG9tUmVxdWVzdCh0KTtyZXR1cm4gdGhpcy5mb3JtYXRSZXNwb25zZSh0LHIpfSkpfWhhbmRsZVJlYWRSZXF1ZXN0cyh0KXtyZXR1cm4gbi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXtpZighdGhpcy5odHRwKXtjb25zdCB0PW5ldyBFcnJvcigiSFRUUCBDb25uZWN0aW9uIG5vdCBhdmFpbGFibGUiKTt0aHJvdyB0aGlzLmVtaXQoImVycm9yIix0KSx0fXJldHVybiB0aGlzLmh0dHAuc2VuZCh0KX0pKX1mb3JtYXRSZXNwb25zZSh0LGUpe3JldHVybntpZDp0LmlkLGpzb25ycGM6dC5qc29ucnBjLHJlc3VsdDplfX1nZXRXYWxsZXRDb25uZWN0b3IodD17fSl7Y29uc3R7ZGlzYWJsZVNlc3Npb25DcmVhdGlvbjplPSExfT10O3JldHVybiBuZXcgUHJvbWlzZSgodCxyKT0+e2NvbnN0IG49dGhpcy53Yzt0aGlzLmlzQ29ubmVjdGluZz90aGlzLm9uQ29ubmVjdChlPT50KGUpKTpuLmNvbm5lY3RlZHx8ZT8odGhpcy5jb25uZWN0ZWR8fCh0aGlzLmNvbm5lY3RlZD0hMCx0aGlzLnVwZGF0ZVN0YXRlKG4uc2Vzc2lvbikpLHQobikpOih0aGlzLmlzQ29ubmVjdGluZz0hMCxuLm9uKCJtb2RhbF9jbG9zZWQiLCgpPT57cihuZXcgRXJyb3IoIlVzZXIgY2xvc2VkIG1vZGFsIikpfSksbi5jcmVhdGVTZXNzaW9uKHtjaGFpbklkOnRoaXMuY2hhaW5JZH0pLnRoZW4oKCk9PntuLm9uKCJjb25uZWN0IiwoZSxpKT0+e2lmKGUpcmV0dXJuIHRoaXMuaXNDb25uZWN0aW5nPSExLHIoZSk7dGhpcy5pc0Nvbm5lY3Rpbmc9ITEsdGhpcy5jb25uZWN0ZWQ9ITAsaSYmdGhpcy51cGRhdGVTdGF0ZShpLnBhcmFtc1swXSksdGhpcy5lbWl0KCJjb25uZWN0IiksdGhpcy50cmlnZ2VyQ29ubmVjdChuKSx0KG4pfSl9KS5jYXRjaCh0PT57dGhpcy5pc0Nvbm5lY3Rpbmc9ITEscih0KX0pKX0pfXN1YnNjcmliZVdhbGxldENvbm5lY3Rvcigpe3JldHVybiBuLl9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2NvbnN0IHQ9eWllbGQgdGhpcy5nZXRXYWxsZXRDb25uZWN0b3IoKTt0Lm9uKCJkaXNjb25uZWN0Iix0PT57dD90aGlzLmVtaXQoImVycm9yIix0KTp0aGlzLm9uRGlzY29ubmVjdCgpfSksdC5vbigic2Vzc2lvbl91cGRhdGUiLCh0LGUpPT57dD90aGlzLmVtaXQoImVycm9yIix0KTp0aGlzLnVwZGF0ZVN0YXRlKGUucGFyYW1zWzBdKX0pfSkpfW9uRGlzY29ubmVjdCgpe3JldHVybiBuLl9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3lpZWxkIHRoaXMuc3RvcCgpLHRoaXMuZW1pdCgiY2xvc2UiLDFlMywiQ29ubmVjdGlvbiBjbG9zZWQiKSx0aGlzLmVtaXQoImRpc2Nvbm5lY3QiLDFlMywiQ29ubmVjdGlvbiBkaXNjb25uZWN0ZWQiKSx0aGlzLmNvbm5lY3RlZD0hMX0pKX11cGRhdGVTdGF0ZSh0KXtyZXR1cm4gbi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXtjb25zdHthY2NvdW50czplLGNoYWluSWQ6cixuZXR3b3JrSWQ6bixycGNVcmw6aX09dDsoIXRoaXMuYWNjb3VudHN8fGUmJnRoaXMuYWNjb3VudHMhPT1lKSYmKHRoaXMuYWNjb3VudHM9ZSx0aGlzLmVtaXQoImFjY291bnRzQ2hhbmdlZCIsZSkpLCghdGhpcy5jaGFpbklkfHxyJiZ0aGlzLmNoYWluSWQhPT1yKSYmKHRoaXMuY2hhaW5JZD1yLHRoaXMuZW1pdCgiY2hhaW5DaGFuZ2VkIixyKSksKCF0aGlzLm5ldHdvcmtJZHx8biYmdGhpcy5uZXR3b3JrSWQhPT1uKSYmKHRoaXMubmV0d29ya0lkPW4sdGhpcy5lbWl0KCJuZXR3b3JrQ2hhbmdlZCIsbikpLHRoaXMudXBkYXRlUnBjVXJsKHRoaXMuY2hhaW5JZCxpfHwiIil9KSl9dXBkYXRlUnBjVXJsKHQsZT0iIil7Y29uc3Qgcj17aW5mdXJhSWQ6dGhpcy5pbmZ1cmFJZCxjdXN0b206dGhpcy5ycGN8fHZvaWQgMH07KGU9ZXx8KDAsYS5nZXRScGNVcmwpKHQscikpPyh0aGlzLnJwY1VybD1lLHRoaXMudXBkYXRlSHR0cENvbm5lY3Rpb24oKSk6dGhpcy5lbWl0KCJlcnJvciIsbmV3IEVycm9yKCJObyBSUEMgVXJsIGF2YWlsYWJsZSBmb3IgY2hhaW5JZDogIit0KSl9dXBkYXRlSHR0cENvbm5lY3Rpb24oKXt0aGlzLnJwY1VybCYmKHRoaXMuaHR0cD1uZXcgcy5kZWZhdWx0KHRoaXMucnBjVXJsKSx0aGlzLmh0dHAub24oInBheWxvYWQiLHQ9PnRoaXMuZW1pdCgicGF5bG9hZCIsdCkpLHRoaXMuaHR0cC5vbigiZXJyb3IiLHQ9PnRoaXMuZW1pdCgiZXJyb3IiLHQpKSl9c2VuZEFzeW5jUHJvbWlzZSh0LGUpe3JldHVybiBuZXcgUHJvbWlzZSgocixuKT0+e3RoaXMuc2VuZEFzeW5jKHtpZDooMCxhLnBheWxvYWRJZCkoKSxqc29ucnBjOiIyLjAiLG1ldGhvZDp0LHBhcmFtczplfHxbXX0sKHQsZSk9Pnt0P24odCk6cihlLnJlc3VsdCl9KX0pfWluaXRpYWxpemUoKXt0aGlzLnVwZGF0ZVJwY1VybCh0aGlzLmNoYWluSWQpLHRoaXMuYWRkUHJvdmlkZXIobmV3IGYoe2V0aF9oYXNocmF0ZToiMHgwMCIsZXRoX21pbmluZzohMSxldGhfc3luY2luZzohMCxuZXRfbGlzdGVuaW5nOiEwLHdlYjNfY2xpZW50VmVyc2lvbjoiV2FsbGV0Q29ubmVjdC92MS54LngvamF2YXNjcmlwdCJ9KSksdGhpcy5hZGRQcm92aWRlcihuZXcgYyksdGhpcy5hZGRQcm92aWRlcihuZXcgcCksdGhpcy5hZGRQcm92aWRlcihuZXcgaCksdGhpcy5hZGRQcm92aWRlcihuZXcgZCksdGhpcy5hZGRQcm92aWRlcihuZXcgbCh0aGlzLmNvbmZpZ1dhbGxldCgpKSksdGhpcy5hZGRQcm92aWRlcih7aGFuZGxlUmVxdWVzdDoodCxlLHIpPT5uLl9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtjb25zdHtlcnJvcjplLHJlc3VsdDpufT15aWVsZCB0aGlzLmhhbmRsZVJlcXVlc3QodCk7cihlLG4pfWNhdGNoKHQpe3IodCl9fSkpLHNldEVuZ2luZTp0PT50fSl9Y29uZmlnV2FsbGV0KCl7cmV0dXJue2dldEFjY291bnRzOnQ9Pm4uX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2NvbnN0IGU9KHlpZWxkIHRoaXMuZ2V0V2FsbGV0Q29ubmVjdG9yKCkpLmFjY291bnRzO2UmJmUubGVuZ3RoP3QobnVsbCxlKTp0KG5ldyBFcnJvcigiRmFpbGVkIHRvIGdldCBhY2NvdW50cyIpKX1jYXRjaChlKXt0KGUpfX0pKSxwcm9jZXNzTWVzc2FnZToodCxlKT0+bi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7Y29uc3Qgcj15aWVsZCB0aGlzLmdldFdhbGxldENvbm5lY3RvcigpLG49eWllbGQgci5zaWduTWVzc2FnZShbdC5mcm9tLHQuZGF0YV0pO2UobnVsbCxuKX1jYXRjaCh0KXtlKHQpfX0pKSxwcm9jZXNzUGVyc29uYWxNZXNzYWdlOih0LGUpPT5uLl9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtjb25zdCByPXlpZWxkIHRoaXMuZ2V0V2FsbGV0Q29ubmVjdG9yKCksbj15aWVsZCByLnNpZ25QZXJzb25hbE1lc3NhZ2UoW3QuZGF0YSx0LmZyb21dKTtlKG51bGwsbil9Y2F0Y2godCl7ZSh0KX19KSkscHJvY2Vzc1NpZ25UcmFuc2FjdGlvbjoodCxlKT0+bi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7Y29uc3Qgcj15aWVsZCB0aGlzLmdldFdhbGxldENvbm5lY3RvcigpLG49eWllbGQgci5zaWduVHJhbnNhY3Rpb24odCk7ZShudWxsLG4pfWNhdGNoKHQpe2UodCl9fSkpLHByb2Nlc3NUcmFuc2FjdGlvbjoodCxlKT0+bi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7Y29uc3Qgcj15aWVsZCB0aGlzLmdldFdhbGxldENvbm5lY3RvcigpLG49eWllbGQgci5zZW5kVHJhbnNhY3Rpb24odCk7ZShudWxsLG4pfWNhdGNoKHQpe2UodCl9fSkpLHByb2Nlc3NUeXBlZE1lc3NhZ2U6KHQsZSk9Pm4uX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2NvbnN0IHI9eWllbGQgdGhpcy5nZXRXYWxsZXRDb25uZWN0b3IoKSxuPXlpZWxkIHIuc2lnblR5cGVkRGF0YShbdC5mcm9tLHQuZGF0YV0pO2UobnVsbCxuKX1jYXRjaCh0KXtlKHQpfX0pKX19fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLnIoZSksci5kKGUsIl9fZXh0ZW5kcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksci5kKGUsIl9fYXNzaWduIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxyLmQoZSwiX19yZXN0IiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxyLmQoZSwiX19kZWNvcmF0ZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksci5kKGUsIl9fcGFyYW0iLChmdW5jdGlvbigpe3JldHVybiB1fSkpLHIuZChlLCJfX21ldGFkYXRhIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxyLmQoZSwiX19hd2FpdGVyIiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKSxyLmQoZSwiX19nZW5lcmF0b3IiLChmdW5jdGlvbigpe3JldHVybiBofSkpLHIuZChlLCJfX2V4cG9ydFN0YXIiLChmdW5jdGlvbigpe3JldHVybiBsfSkpLHIuZChlLCJfX3ZhbHVlcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksci5kKGUsIl9fcmVhZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSksci5kKGUsIl9fc3ByZWFkIiwoZnVuY3Rpb24oKXtyZXR1cm4gbX0pKSxyLmQoZSwiX19hd2FpdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGd9KSksci5kKGUsIl9fYXN5bmNHZW5lcmF0b3IiLChmdW5jdGlvbigpe3JldHVybiBifSkpLHIuZChlLCJfX2FzeW5jRGVsZWdhdG9yIiwoZnVuY3Rpb24oKXtyZXR1cm4geX0pKSxyLmQoZSwiX19hc3luY1ZhbHVlcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHZ9KSksci5kKGUsIl9fbWFrZVRlbXBsYXRlT2JqZWN0IiwoZnVuY3Rpb24oKXtyZXR1cm4gX30pKSxyLmQoZSwiX19pbXBvcnRTdGFyIiwoZnVuY3Rpb24oKXtyZXR1cm4gd30pKSxyLmQoZSwiX19pbXBvcnREZWZhdWx0IiwoZnVuY3Rpb24oKXtyZXR1cm4gTX0pKTsKLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlCnRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlCkxpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgpUSElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZCktJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZIElNUExJRUQKV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwKTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC4KClNlZSB0aGUgQXBhY2hlIFZlcnNpb24gMi4wIExpY2Vuc2UgZm9yIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucwphbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCnZhciBuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuKG49T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQsZSl7dC5fX3Byb3RvX189ZX18fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShyKSYmKHRbcl09ZVtyXSl9KSh0LGUpfTtmdW5jdGlvbiBpKHQsZSl7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH1uKHQsZSksdC5wcm90b3R5cGU9bnVsbD09PWU/T2JqZWN0LmNyZWF0ZShlKTooci5wcm90b3R5cGU9ZS5wcm90b3R5cGUsbmV3IHIpfXZhciBvPWZ1bmN0aW9uKCl7cmV0dXJuKG89T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9MSxuPWFyZ3VtZW50cy5sZW5ndGg7cjxuO3IrKylmb3IodmFyIGkgaW4gZT1hcmd1bWVudHNbcl0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkmJih0W2ldPWVbaV0pO3JldHVybiB0fSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtmdW5jdGlvbiBzKHQsZSl7dmFyIHI9e307Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJmUuaW5kZXhPZihuKTwwJiYocltuXT10W25dKTtpZihudWxsIT10JiYiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9MDtmb3Iobj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2k8bi5sZW5ndGg7aSsrKWUuaW5kZXhPZihuW2ldKTwwJiYocltuW2ldXT10W25baV1dKX1yZXR1cm4gcn1mdW5jdGlvbiBhKHQsZSxyLG4pe3ZhciBpLG89YXJndW1lbnRzLmxlbmd0aCxzPW88Mz9lOm51bGw9PT1uP249T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHIpOm47aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlzPVJlZmxlY3QuZGVjb3JhdGUodCxlLHIsbik7ZWxzZSBmb3IodmFyIGE9dC5sZW5ndGgtMTthPj0wO2EtLSkoaT10W2FdKSYmKHM9KG88Mz9pKHMpOm8+Mz9pKGUscixzKTppKGUscikpfHxzKTtyZXR1cm4gbz4zJiZzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHMpLHN9ZnVuY3Rpb24gdSh0LGUpe3JldHVybiBmdW5jdGlvbihyLG4pe2UocixuLHQpfX1mdW5jdGlvbiBjKHQsZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSlyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YSh0LGUpfWZ1bmN0aW9uIGYodCxlLHIsbil7cmV0dXJuIG5ldyhyfHwocj1Qcm9taXNlKSkoKGZ1bmN0aW9uKGksbyl7ZnVuY3Rpb24gcyh0KXt0cnl7dShuLm5leHQodCkpfWNhdGNoKHQpe28odCl9fWZ1bmN0aW9uIGEodCl7dHJ5e3Uobi50aHJvdyh0KSl9Y2F0Y2godCl7byh0KX19ZnVuY3Rpb24gdSh0KXt0LmRvbmU/aSh0LnZhbHVlKTpuZXcgcigoZnVuY3Rpb24oZSl7ZSh0LnZhbHVlKX0pKS50aGVuKHMsYSl9dSgobj1uLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSkpfWZ1bmN0aW9uIGgodCxlKXt2YXIgcixuLGksbyxzPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJmlbMF0pdGhyb3cgaVsxXTtyZXR1cm4gaVsxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBvPXtuZXh0OmEoMCksdGhyb3c6YSgxKSxyZXR1cm46YSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKG9bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbztmdW5jdGlvbiBhKG8pe3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24obyl7aWYocil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtzOyl0cnl7aWYocj0xLG4mJihpPTImb1swXT9uLnJldHVybjpvWzBdP24udGhyb3d8fCgoaT1uLnJldHVybikmJmkuY2FsbChuKSwwKTpuLm5leHQpJiYhKGk9aS5jYWxsKG4sb1sxXSkpLmRvbmUpcmV0dXJuIGk7c3dpdGNoKG49MCxpJiYobz1bMiZvWzBdLGkudmFsdWVdKSxvWzBdKXtjYXNlIDA6Y2FzZSAxOmk9bzticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6b1sxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLG49b1sxXSxvPVswXTtjb250aW51ZTtjYXNlIDc6bz1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKGk9cy50cnlzLChpPWkubGVuZ3RoPjAmJmlbaS5sZW5ndGgtMV0pfHw2IT09b1swXSYmMiE9PW9bMF0pKXtzPTA7Y29udGludWV9aWYoMz09PW9bMF0mJighaXx8b1sxXT5pWzBdJiZvWzFdPGlbM10pKXtzLmxhYmVsPW9bMV07YnJlYWt9aWYoNj09PW9bMF0mJnMubGFiZWw8aVsxXSl7cy5sYWJlbD1pWzFdLGk9bzticmVha31pZihpJiZzLmxhYmVsPGlbMl0pe3MubGFiZWw9aVsyXSxzLm9wcy5wdXNoKG8pO2JyZWFrfWlbMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1vPWUuY2FsbCh0LHMpfWNhdGNoKHQpe289WzYsdF0sbj0wfWZpbmFsbHl7cj1pPTB9aWYoNSZvWzBdKXRocm93IG9bMV07cmV0dXJue3ZhbHVlOm9bMF0/b1sxXTp2b2lkIDAsZG9uZTohMH19KFtvLGFdKX19fWZ1bmN0aW9uIGwodCxlKXtmb3IodmFyIHIgaW4gdCllLmhhc093blByb3BlcnR5KHIpfHwoZVtyXT10W3JdKX1mdW5jdGlvbiBkKHQpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnRbU3ltYm9sLml0ZXJhdG9yXSxyPTA7cmV0dXJuIGU/ZS5jYWxsKHQpOntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHQmJnI+PXQubGVuZ3RoJiYodD12b2lkIDApLHt2YWx1ZTp0JiZ0W3IrK10sZG9uZTohdH19fX1mdW5jdGlvbiBwKHQsZSl7dmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmdFtTeW1ib2wuaXRlcmF0b3JdO2lmKCFyKXJldHVybiB0O3ZhciBuLGksbz1yLmNhbGwodCkscz1bXTt0cnl7Zm9yKDsodm9pZCAwPT09ZXx8ZS0tID4wKSYmIShuPW8ubmV4dCgpKS5kb25lOylzLnB1c2gobi52YWx1ZSl9Y2F0Y2godCl7aT17ZXJyb3I6dH19ZmluYWxseXt0cnl7biYmIW4uZG9uZSYmKHI9by5yZXR1cm4pJiZyLmNhbGwobyl9ZmluYWxseXtpZihpKXRocm93IGkuZXJyb3J9fXJldHVybiBzfWZ1bmN0aW9uIG0oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdD10LmNvbmNhdChwKGFyZ3VtZW50c1tlXSkpO3JldHVybiB0fWZ1bmN0aW9uIGcodCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBnPyh0aGlzLnY9dCx0aGlzKTpuZXcgZyh0KX1mdW5jdGlvbiBiKHQsZSxyKXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIG4saT1yLmFwcGx5KHQsZXx8W10pLG89W107cmV0dXJuIG49e30scygibmV4dCIpLHMoInRocm93IikscygicmV0dXJuIiksbltTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sbjtmdW5jdGlvbiBzKHQpe2lbdF0mJihuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24ocixuKXtvLnB1c2goW3QsZSxyLG5dKT4xfHxhKHQsZSl9KSl9KX1mdW5jdGlvbiBhKHQsZSl7dHJ5eyhyPWlbdF0oZSkpLnZhbHVlIGluc3RhbmNlb2YgZz9Qcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKHUsYyk6ZihvWzBdWzJdLHIpfWNhdGNoKHQpe2Yob1swXVszXSx0KX12YXIgcn1mdW5jdGlvbiB1KHQpe2EoIm5leHQiLHQpfWZ1bmN0aW9uIGModCl7YSgidGhyb3ciLHQpfWZ1bmN0aW9uIGYodCxlKXt0KGUpLG8uc2hpZnQoKSxvLmxlbmd0aCYmYShvWzBdWzBdLG9bMF1bMV0pfX1mdW5jdGlvbiB5KHQpe3ZhciBlLHI7cmV0dXJuIGU9e30sbigibmV4dCIpLG4oInRocm93IiwoZnVuY3Rpb24odCl7dGhyb3cgdH0pKSxuKCJyZXR1cm4iKSxlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sZTtmdW5jdGlvbiBuKG4saSl7ZVtuXT10W25dP2Z1bmN0aW9uKGUpe3JldHVybihyPSFyKT97dmFsdWU6Zyh0W25dKGUpKSxkb25lOiJyZXR1cm4iPT09bn06aT9pKGUpOmV9Oml9fWZ1bmN0aW9uIHYodCl7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciBlLHI9dFtTeW1ib2wuYXN5bmNJdGVyYXRvcl07cmV0dXJuIHI/ci5jYWxsKHQpOih0PWQodCksZT17fSxuKCJuZXh0IiksbigidGhyb3ciKSxuKCJyZXR1cm4iKSxlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlKTtmdW5jdGlvbiBuKHIpe2Vbcl09dFtyXSYmZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihuLGkpeyhmdW5jdGlvbih0LGUscixuKXtQcm9taXNlLnJlc29sdmUobikudGhlbigoZnVuY3Rpb24oZSl7dCh7dmFsdWU6ZSxkb25lOnJ9KX0pLGUpfSkobixpLChlPXRbcl0oZSkpLmRvbmUsZS52YWx1ZSl9KSl9fX1mdW5jdGlvbiBfKHQsZSl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eT9PYmplY3QuZGVmaW5lUHJvcGVydHkodCwicmF3Iix7dmFsdWU6ZX0pOnQucmF3PWUsdH1mdW5jdGlvbiB3KHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgZT17fTtpZihudWxsIT10KWZvcih2YXIgciBpbiB0KU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihlW3JdPXRbcl0pO3JldHVybiBlLmRlZmF1bHQ9dCxlfWZ1bmN0aW9uIE0odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fX0sZnVuY3Rpb24odCxlKXt9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5ieXRlTGVuZ3RoPWZ1bmN0aW9uKHQpe3ZhciBlPWModCkscj1lWzBdLG49ZVsxXTtyZXR1cm4gMyoocituKS80LW59LGUudG9CeXRlQXJyYXk9ZnVuY3Rpb24odCl7dmFyIGUscixuPWModCkscz1uWzBdLGE9blsxXSx1PW5ldyBvKGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gMyooZStyKS80LXJ9KDAscyxhKSksZj0wLGg9YT4wP3MtNDpzO2ZvcihyPTA7cjxoO3IrPTQpZT1pW3QuY2hhckNvZGVBdChyKV08PDE4fGlbdC5jaGFyQ29kZUF0KHIrMSldPDwxMnxpW3QuY2hhckNvZGVBdChyKzIpXTw8NnxpW3QuY2hhckNvZGVBdChyKzMpXSx1W2YrK109ZT4+MTYmMjU1LHVbZisrXT1lPj44JjI1NSx1W2YrK109MjU1JmU7Mj09PWEmJihlPWlbdC5jaGFyQ29kZUF0KHIpXTw8MnxpW3QuY2hhckNvZGVBdChyKzEpXT4+NCx1W2YrK109MjU1JmUpOzE9PT1hJiYoZT1pW3QuY2hhckNvZGVBdChyKV08PDEwfGlbdC5jaGFyQ29kZUF0KHIrMSldPDw0fGlbdC5jaGFyQ29kZUF0KHIrMildPj4yLHVbZisrXT1lPj44JjI1NSx1W2YrK109MjU1JmUpO3JldHVybiB1fSxlLmZyb21CeXRlQXJyYXk9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9dC5sZW5ndGgsaT1yJTMsbz1bXSxzPTAsYT1yLWk7czxhO3MrPTE2MzgzKW8ucHVzaChmKHQscyxzKzE2MzgzPmE/YTpzKzE2MzgzKSk7MT09PWk/KGU9dFtyLTFdLG8ucHVzaChuW2U+PjJdK25bZTw8NCY2M10rIj09IikpOjI9PT1pJiYoZT0odFtyLTJdPDw4KSt0W3ItMV0sby5wdXNoKG5bZT4+MTBdK25bZT4+NCY2M10rbltlPDwyJjYzXSsiPSIpKTtyZXR1cm4gby5qb2luKCIiKX07Zm9yKHZhciBuPVtdLGk9W10sbz0idW5kZWZpbmVkIiE9dHlwZW9mIFVpbnQ4QXJyYXk/VWludDhBcnJheTpBcnJheSxzPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIixhPTAsdT1zLmxlbmd0aDthPHU7KythKW5bYV09c1thXSxpW3MuY2hhckNvZGVBdChhKV09YTtmdW5jdGlvbiBjKHQpe3ZhciBlPXQubGVuZ3RoO2lmKGUlND4wKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNCIpO3ZhciByPXQuaW5kZXhPZigiPSIpO3JldHVybi0xPT09ciYmKHI9ZSksW3Iscj09PWU/MDo0LXIlNF19ZnVuY3Rpb24gZih0LGUscil7Zm9yKHZhciBpLG8scz1bXSxhPWU7YTxyO2ErPTMpaT0odFthXTw8MTYmMTY3MTE2ODApKyh0W2ErMV08PDgmNjUyODApKygyNTUmdFthKzJdKSxzLnB1c2goblsobz1pKT4+MTgmNjNdK25bbz4+MTImNjNdK25bbz4+NiY2M10rbls2MyZvXSk7cmV0dXJuIHMuam9pbigiIil9aVsiLSIuY2hhckNvZGVBdCgwKV09NjIsaVsiXyIuY2hhckNvZGVBdCgwKV09NjN9LGZ1bmN0aW9uKHQsZSl7Ci8qISBpZWVlNzU0LiBCU0QtMy1DbGF1c2UgTGljZW5zZS4gRmVyb3NzIEFib3VraGFkaWplaCA8aHR0cHM6Ly9mZXJvc3Mub3JnL29wZW5zb3VyY2U+ICovCmUucmVhZD1mdW5jdGlvbih0LGUscixuLGkpe3ZhciBvLHMsYT04Kmktbi0xLHU9KDE8PGEpLTEsYz11Pj4xLGY9LTcsaD1yP2ktMTowLGw9cj8tMToxLGQ9dFtlK2hdO2ZvcihoKz1sLG89ZCYoMTw8LWYpLTEsZD4+PS1mLGYrPWE7Zj4wO289MjU2Km8rdFtlK2hdLGgrPWwsZi09OCk7Zm9yKHM9byYoMTw8LWYpLTEsbz4+PS1mLGYrPW47Zj4wO3M9MjU2KnMrdFtlK2hdLGgrPWwsZi09OCk7aWYoMD09PW8pbz0xLWM7ZWxzZXtpZihvPT09dSlyZXR1cm4gcz9OYU46MS8wKihkPy0xOjEpO3MrPU1hdGgucG93KDIsbiksby09Y31yZXR1cm4oZD8tMToxKSpzKk1hdGgucG93KDIsby1uKX0sZS53cml0ZT1mdW5jdGlvbih0LGUscixuLGksbyl7dmFyIHMsYSx1LGM9OCpvLWktMSxmPSgxPDxjKS0xLGg9Zj4+MSxsPTIzPT09aT9NYXRoLnBvdygyLC0yNCktTWF0aC5wb3coMiwtNzcpOjAsZD1uPzA6by0xLHA9bj8xOi0xLG09ZTwwfHwwPT09ZSYmMS9lPDA/MTowO2ZvcihlPU1hdGguYWJzKGUpLGlzTmFOKGUpfHxlPT09MS8wPyhhPWlzTmFOKGUpPzE6MCxzPWYpOihzPU1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5MTjIpLGUqKHU9TWF0aC5wb3coMiwtcykpPDEmJihzLS0sdSo9MiksKGUrPXMraD49MT9sL3U6bCpNYXRoLnBvdygyLDEtaCkpKnU+PTImJihzKyssdS89MikscytoPj1mPyhhPTAscz1mKTpzK2g+PTE/KGE9KGUqdS0xKSpNYXRoLnBvdygyLGkpLHMrPWgpOihhPWUqTWF0aC5wb3coMixoLTEpKk1hdGgucG93KDIsaSkscz0wKSk7aT49ODt0W3IrZF09MjU1JmEsZCs9cCxhLz0yNTYsaS09OCk7Zm9yKHM9czw8aXxhLGMrPWk7Yz4wO3RbcitkXT0yNTUmcyxkKz1wLHMvPTI1NixjLT04KTt0W3IrZC1wXXw9MTI4Km19fSxmdW5jdGlvbih0LGUpeyhmdW5jdGlvbihlKXt0LmV4cG9ydHM9ZX0pLmNhbGwodGhpcyx7fSl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoKXtyZXR1cm4obnVsbD09dD92b2lkIDA6dC5jcnlwdG8pfHwobnVsbD09dD92b2lkIDA6dC5tc0NyeXB0byl8fHt9fWZ1bmN0aW9uIG4oKXtjb25zdCB0PXIoKTtyZXR1cm4gdC5zdWJ0bGV8fHQud2Via2l0U3VidGxlfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmlzQnJvd3NlckNyeXB0b0F2YWlsYWJsZT1lLmdldFN1YnRsZUNyeXB0bz1lLmdldEJyb3dlckNyeXB0bz12b2lkIDAsZS5nZXRCcm93ZXJDcnlwdG89cixlLmdldFN1YnRsZUNyeXB0bz1uLGUuaXNCcm93c2VyQ3J5cHRvQXZhaWxhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuISFyKCkmJiEhbigpfX0pLmNhbGwodGhpcyxyKDYpKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7ZnVuY3Rpb24gcigpe3JldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgZG9jdW1lbnQmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiYiUmVhY3ROYXRpdmUiPT09bmF2aWdhdG9yLnByb2R1Y3R9ZnVuY3Rpb24gbigpe3JldHVybiB2b2lkIDAhPT10JiZ2b2lkIDAhPT10LnZlcnNpb25zJiZ2b2lkIDAhPT10LnZlcnNpb25zLm5vZGV9T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuaXNCcm93c2VyPWUuaXNOb2RlPWUuaXNSZWFjdE5hdGl2ZT12b2lkIDAsZS5pc1JlYWN0TmF0aXZlPXIsZS5pc05vZGU9bixlLmlzQnJvd3Nlcj1mdW5jdGlvbigpe3JldHVybiFyKCkmJiFuKCl9fSkuY2FsbCh0aGlzLHIoNSkpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz10PT5lbmNvZGVVUklDb21wb25lbnQodCkucmVwbGFjZSgvWyEnKCkqXS9nLHQ9PiIlIit0LmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPW5ldyBSZWdFeHAoIiVbYS1mMC05XXsyfSIsImdpIiksaT1uZXcgUmVnRXhwKCIoJVthLWYwLTldezJ9KSsiLCJnaSIpO2Z1bmN0aW9uIG8odCxlKXt0cnl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh0LmpvaW4oIiIpKX1jYXRjaCh0KXt9aWYoMT09PXQubGVuZ3RoKXJldHVybiB0O2U9ZXx8MTt2YXIgcj10LnNsaWNlKDAsZSksbj10LnNsaWNlKGUpO3JldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmNhbGwoW10sbyhyKSxvKG4pKX1mdW5jdGlvbiBzKHQpe3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHQpfWNhdGNoKGkpe2Zvcih2YXIgZT10Lm1hdGNoKG4pLHI9MTtyPGUubGVuZ3RoO3IrKyllPSh0PW8oZSxyKS5qb2luKCIiKSkubWF0Y2gobik7cmV0dXJuIHR9fXQuZXhwb3J0cz1mdW5jdGlvbih0KXtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYGVuY29kZWRVUklgIHRvIGJlIG9mIHR5cGUgYHN0cmluZ2AsIGdvdCBgIit0eXBlb2YgdCsiYCIpO3RyeXtyZXR1cm4gdD10LnJlcGxhY2UoL1wrL2csIiAiKSxkZWNvZGVVUklDb21wb25lbnQodCl9Y2F0Y2goZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT17IiVGRSVGRiI6Iu+/ve+/vSIsIiVGRiVGRSI6Iu+/ve+/vSJ9LHI9aS5leGVjKHQpO3I7KXt0cnl7ZVtyWzBdXT1kZWNvZGVVUklDb21wb25lbnQoclswXSl9Y2F0Y2godCl7dmFyIG49cyhyWzBdKTtuIT09clswXSYmKGVbclswXV09bil9cj1pLmV4ZWModCl9ZVsiJUMyIl09Iu+/vSI7Zm9yKHZhciBvPU9iamVjdC5rZXlzKGUpLGE9MDthPG8ubGVuZ3RoO2ErKyl7dmFyIHU9b1thXTt0PXQucmVwbGFjZShuZXcgUmVnRXhwKHUsImciKSxlW3VdKX1yZXR1cm4gdH0odCl9fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9KHQsZSk9PntpZigic3RyaW5nIiE9dHlwZW9mIHR8fCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCB0aGUgYXJndW1lbnRzIHRvIGJlIG9mIHR5cGUgYHN0cmluZ2AiKTtpZigiIj09PWUpcmV0dXJuW3RdO2NvbnN0IHI9dC5pbmRleE9mKGUpO3JldHVybi0xPT09cj9bdF06W3Quc2xpY2UoMCxyKSx0LnNsaWNlKHIrZS5sZW5ndGgpXX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJ3cyBkb2VzIG5vdCB3b3JrIGluIHRoZSBicm93c2VyLiBCcm93c2VyIGNsaWVudHMgbXVzdCB1c2UgdGhlIG5hdGl2ZSBXZWJTb2NrZXQgb2JqZWN0Iil9fSxmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmImRlZmF1bHQiaW4gdD90LmRlZmF1bHQ6dH12YXIgaT1yKDc2KSxvPW4ocigxNzkpKSxzPW4ocigyMDApKSxhPXIoMzc2KTsidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmKFN5bWJvbC5pdGVyYXRvcnx8KFN5bWJvbC5pdGVyYXRvcj1TeW1ib2woIlN5bWJvbC5pdGVyYXRvciIpKSksInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJihTeW1ib2wuYXN5bmNJdGVyYXRvcnx8KFN5bWJvbC5hc3luY0l0ZXJhdG9yPVN5bWJvbCgiU3ltYm9sLmFzeW5jSXRlcmF0b3IiKSkpO2Z1bmN0aW9uIHUodCl7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LW1vZGFsX19oZWFkZXIifSxhLmNyZWF0ZUVsZW1lbnQoImltZyIse3NyYzoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBoZWlnaHQ9JzE4NScgdmlld0JveD0nMCAwIDMwMCAxODUnIHdpZHRoPSczMDAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J202MS40Mzg1NDI5IDM2LjI1NjI2MTJjNDguOTExMjI0MS00Ny44ODgxNjYzIDEyOC4yMTE5ODcxLTQ3Ljg4ODE2NjMgMTc3LjEyMzIwOTEgMGw1Ljg4NjU0NSA1Ljc2MzQxNzRjMi40NDU1NjEgMi4zOTQ0MDgxIDIuNDQ1NTYxIDYuMjc2NTExMiAwIDguNjcwOTIwNGwtMjAuMTM2Njk1IDE5LjcxNTUwM2MtMS4yMjI3ODEgMS4xOTcyMDUxLTMuMjA1MyAxLjE5NzIwNTEtNC40MjgwODEgMGwtOC4xMDA1ODQtNy45MzExNDc5Yy0zNC4xMjE2OTItMzMuNDA3OTgxNy04OS40NDM4ODYtMzMuNDA3OTgxNy0xMjMuNTY1NTc4OCAwbC04LjY3NTA1NjIgOC40OTM2MDUxYy0xLjIyMjc4MTYgMS4xOTcyMDQxLTMuMjA1MzAxIDEuMTk3MjA0MS00LjQyODA4MDYgMGwtMjAuMTM2Njk0OS0xOS43MTU1MDMxYy0yLjQ0NTU2MTItMi4zOTQ0MDkyLTIuNDQ1NTYxMi02LjI3NjUxMjIgMC04LjY3MDkyMDR6bTIxOC43Njc3OTYxIDQwLjc3Mzc0NDkgMTcuOTIxNjk3IDE3LjU0Njg5N2MyLjQ0NTU0OSAyLjM5NDM5NjkgMi40NDU1NjMgNi4yNzY0NzY5LjAwMDAzMSA4LjY3MDg4OTlsLTgwLjgxMDE3MSA3OS4xMjExMzRjLTIuNDQ1NTQ0IDIuMzk0NDI2LTYuNDEwNTgyIDIuMzk0NDUzLTguODU2MTYuMDAwMDYyLS4wMDAwMS0uMDAwMDEtLjAwMDAyMi0uMDAwMDIyLS4wMDAwMzItLjAwMDAzMmwtNTcuMzU0MTQzLTU2LjE1NDU3MmMtLjYxMTM5LS41OTg2MDItMS42MDI2NS0uNTk4NjAyLTIuMjE0MDQgMC0uMDAwMDA0LjAwMDAwNC0uMDAwMDA3LjAwMDAwOC0uMDAwMDExLjAwMDAxMWwtNTcuMzUyOTIxMiA1Ni4xNTQ1MzFjLTIuNDQ1NTM2OCAyLjM5NDQzMi02LjQxMDU3NTUgMi4zOTQ0NzItOC44NTYxNjEyLjAwMDA4Ny0uMDAwMDE0My0uMDAwMDE0LS4wMDAwMjk2LS4wMDAwMjgtLjAwMDA0NDktLjAwMDA0NGwtODAuODEyNDE5NDMtNzkuMTIyMTg1Yy0yLjQ0NTU2MDIxLTIuMzk0NDA4LTIuNDQ1NTYwMjEtNi4yNzY1MTE1IDAtOC42NzA5MTk3bDE3LjkyMTcyOTYzLTE3LjU0Njg2NzNjMi40NDU1NjAyLTIuMzk0NDA4MiA2LjQxMDU5ODktMi4zOTQ0MDgyIDguODU2MTYwMiAwbDU3LjM1NDk3NzUgNTYuMTU1MzU3Yy42MTEzOTA4LjU5ODYwMiAxLjYwMjY0OS41OTg2MDIgMi4yMTQwMzk4IDAgLjAwMDAwOTItLjAwMDAwOS4wMDAwMTc0LS4wMDAwMTcuMDAwMDI2NS0uMDAwMDI0bDU3LjM1MjEwMzEtNTYuMTU1MzMzYzIuNDQ1NTA1LTIuMzk0NDYzMyA2LjQxMDU0NC0yLjM5NDU1MzEgOC44NTYxNjEtLjAwMDIuMDAwMDM0LjAwMDAzMzYuMDAwMDY4LjAwMDA2NzMuMDAwMTAxLjAwMDEwMWw1Ny4zNTQ5MDIgNTYuMTU1NDMyYy42MTEzOS41OTg2MDEgMS42MDI2NS41OTg2MDEgMi4yMTQwNCAwbDU3LjM1Mzk3NS01Ni4xNTQzMjQ5YzIuNDQ1NTYxLTIuMzk0NDA5MiA2LjQxMDU5OS0yLjM5NDQwOTIgOC44NTYxNiAweicgZmlsbD0nJTIzM2I5OWZjJy8lM0UlM0Mvc3ZnJTNFIixjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtbW9kYWxfX2hlYWRlckxvZ28ifSksYS5jcmVhdGVFbGVtZW50KCJwIixudWxsLCJXYWxsZXRDb25uZWN0IiksYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtbW9kYWxfX2Nsb3NlX193cmFwcGVyIixvbkNsaWNrOnQub25DbG9zZX0sYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtpZDoid2FsbGV0Y29ubmVjdC1xcmNvZGUtY2xvc2UiLGNsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1tb2RhbF9fY2xvc2VfX2ljb24ifSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1tb2RhbF9fY2xvc2VfX2xpbmUxIn0pLGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LW1vZGFsX19jbG9zZV9fbGluZTIifSkpKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJhIix7Y2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbiIsaHJlZjp0LmhyZWYsaWQ6IndhbGxldGNvbm5lY3QtY29ubmVjdC1idXR0b24tIit0Lm5hbWUsb25DbGljazp0Lm9uQ2xpY2sscmVsOiJub29wZW5lciBub3JlZmVycmVyIixzdHlsZTp7YmFja2dyb3VuZENvbG9yOnQuY29sb3J9LHRhcmdldDoiX2JsYW5rIn0sdC5uYW1lKX1mdW5jdGlvbiBmKHQpe3ZhciBlPXQuY29sb3Iscj10LmhyZWYsbj10Lm5hbWUsaT10LmxvZ28sbz10Lm9uQ2xpY2s7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiYSIse2NsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZV9fcm93IixocmVmOnIsb25DbGljazpvLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsdGFyZ2V0OiJfYmxhbmsifSxhLmNyZWF0ZUVsZW1lbnQoImgzIix7Y2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3dfX2gzIn0sbiksYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VfX3Jvd19fcmlnaHQifSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZV9fcm93X19yaWdodF9fYXBwLWljb24iLHN0eWxlOntiYWNrZ3JvdW5kOiJ1cmwoJyIraSsiJykgIitlLGJhY2tncm91bmRTaXplOiIxMDAlIn19KSxhLmNyZWF0ZUVsZW1lbnQoImltZyIse3NyYzoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBmaWxsPSdub25lJyBoZWlnaHQ9JzE4JyB2aWV3Qm94PScwIDAgOCAxOCcgd2lkdGg9JzgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nbS41ODYzMDEuMjEzODk4Yy0uNDM1OTQ3LjMzOTA3LS41MTQ0ODEzLjk2NzM0Mi0uMTc1NDExIDEuNDAzMjkybDQuODc4MzEgNi4yNzIxMmMuMjgwODcuMzYxMTEuMjgwODcuODY2NzcgMCAxLjIyNzg4bC00Ljg3ODMxMSA2LjI3MjExYy0uMzM5MDcuNDM2LS4yNjA1MzYgMS4wNjQyLjE3NTQxMiAxLjQwMzMuNDM1OTQ5LjMzOTEgMS4wNjQyMTkuMjYwNSAxLjQwMzI4OS0uMTc1NGw0Ljg3ODMyLTYuMjcyMWMuODQyNTktMS4wODMzNi44NDI1OS0yLjYwMDM0IDAtMy42ODM2N2wtNC44NzgzMi02LjI3MjEyYy0uMzM5MDctLjQzNTk0NzQtLjk2NzM0LS41MTQ0ODItMS40MDMyODktLjE3NTQxMnonIGZpbGw9JyUyMzNjNDI1MicgZmlsbC1ydWxlPSdldmVub2RkJy8lM0UlM0Mvc3ZnJTNFIixjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VfX3Jvd19fcmlnaHRfX2NhcmV0In0pKSl9ZnVuY3Rpb24gaCh0KXt2YXIgZT10LmNvbG9yLHI9dC5ocmVmLG49dC5uYW1lLGk9dC5sb2dvLG89dC5vbkNsaWNrLHM9d2luZG93LmlubmVyV2lkdGg8NzY4PyhuLmxlbmd0aD44PzIuNToyLjcpKyJ2dyI6ImluaGVyaXQiO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImEiLHtjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtY29ubmVjdF9fYnV0dG9uX19pY29uX2FuY2hvciIsaHJlZjpyLG9uQ2xpY2s6byxyZWw6Im5vb3BlbmVyIG5vcmVmZXJyZXIiLHRhcmdldDoiX2JsYW5rIn0sYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtY29ubmVjdF9fYnV0dG9uX19pY29uIixzdHlsZTp7YmFja2dyb3VuZDoidXJsKCciK2krIicpICIrZSxiYWNrZ3JvdW5kU2l6ZToiMTAwJSJ9fSksYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6c30sY2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbl9fdGV4dCJ9LG4pKX1mdW5jdGlvbiBsKHQpe3ZhciBlPWkuaXNBbmRyb2lkKCkscj1hLnVzZVN0YXRlKCIiKSxuPXJbMF0sbz1yWzFdLHM9YS51c2VTdGF0ZSgiIiksdT1zWzBdLGw9c1sxXSxkPWEudXNlU3RhdGUoMSkscD1kWzBdLG09ZFsxXSxnPXU/dC5saW5rcy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh1LnRvTG93ZXJDYXNlKCkpfSkpOnQubGlua3MsYj10LmVycm9yTWVzc2FnZSx5PXV8fGcubGVuZ3RoPjUsdj1NYXRoLmNlaWwoZy5sZW5ndGgvMTIpLF89WzEyKihwLTEpKzEsMTIqcF0sdz1nLmxlbmd0aD9nLmZpbHRlcigoZnVuY3Rpb24odCxlKXtyZXR1cm4gZSsxPj1fWzBdJiZlKzE8PV9bMV19KSk6W10sTT0hKGV8fCEodj4xKSksUz12b2lkIDA7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLGEuY3JlYXRlRWxlbWVudCgicCIse2lkOiJ3YWxsZXRjb25uZWN0LXFyY29kZS10ZXh0IixjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtcXJjb2RlX190ZXh0In0sZT90LnRleHQuY29ubmVjdF9tb2JpbGVfd2FsbGV0OnQudGV4dC5jaG9vc2VfcHJlZmVycmVkX3dhbGxldCksIWUmJmEuY3JlYXRlRWxlbWVudCgiaW5wdXQiLHtjbGFzc05hbWU6IndhbGxldGNvbm5lY3Qtc2VhcmNoX19pbnB1dCIscGxhY2Vob2xkZXI6IlNlYXJjaCIsdmFsdWU6bixvbkNoYW5nZTpmdW5jdGlvbih0KXtvKHQudGFyZ2V0LnZhbHVlKSxjbGVhclRpbWVvdXQoUyksdC50YXJnZXQudmFsdWU/Uz1zZXRUaW1lb3V0KChmdW5jdGlvbigpe2wodC50YXJnZXQudmFsdWUpLG0oMSl9KSwxZTMpOihvKCIiKSxsKCIiKSxtKDEpKX19KSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1jb25uZWN0X19idXR0b25zX193cmFwcGVyIisoZT8iX19hbmRyb2lkIjp5JiZnLmxlbmd0aD8iX193cmFwIjoiIil9LGU/YS5jcmVhdGVFbGVtZW50KGMse25hbWU6dC50ZXh0LmNvbm5lY3QsY29sb3I6InJnYig2NCwgMTUzLCAyNTUpIixocmVmOnQudXJpLG9uQ2xpY2s6YS51c2VDYWxsYmFjaygoZnVuY3Rpb24oKXtpLnNhdmVNb2JpbGVMaW5rSW5mbyh7bmFtZToiVW5rbm93biIsaHJlZjp0LnVyaX0pfSksW10pfSk6dy5sZW5ndGg/dy5tYXAoKGZ1bmN0aW9uKGUpe3ZhciByPWUuY29sb3Isbj1lLm5hbWUsbz1lLnNob3J0TmFtZSxzPWUubG9nbyx1PWkuZm9ybWF0SU9TTW9iaWxlKHQudXJpLGUpLGM9YS51c2VDYWxsYmFjaygoZnVuY3Rpb24oKXtpLnNhdmVNb2JpbGVMaW5rSW5mbyh7bmFtZTpuLGhyZWY6dX0pfSksW3ddKTtyZXR1cm4geT9hLmNyZWF0ZUVsZW1lbnQoaCx7Y29sb3I6cixocmVmOnUsbmFtZTpvfHxuLGxvZ286cyxvbkNsaWNrOmN9KTphLmNyZWF0ZUVsZW1lbnQoZix7Y29sb3I6cixocmVmOnUsbmFtZTpuLGxvZ286cyxvbkNsaWNrOmN9KX0pKTphLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLGEuY3JlYXRlRWxlbWVudCgicCIsbnVsbCxiLmxlbmd0aD90LmVycm9yTWVzc2FnZTp0LmxpbmtzLmxlbmd0aCYmIWcubGVuZ3RoP3QudGV4dC5ub193YWxsZXRzX2ZvdW5kOnQudGV4dC5sb2FkaW5nKSkpLE0mJmEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LW1vZGFsX19mb290ZXIifSxBcnJheSh2KS5maWxsKDApLm1hcCgoZnVuY3Rpb24odCxlKXt2YXIgcj1lKzEsbj1wPT09cjtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJhIix7c3R5bGU6e21hcmdpbjoiYXV0byAxMHB4Iixmb250V2VpZ2h0Om4/ImJvbGQiOiJub3JtYWwifSxvbkNsaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIG0ocil9fSxyKX0pKSkpfWZ1bmN0aW9uIGQodCl7dmFyIGU9ISF0Lm1lc3NhZ2UudHJpbSgpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1xcmNvZGVfX25vdGlmaWNhdGlvbiIrKGU/IiBub3RpZmljYXRpb25fX3Nob3ciOiIiKX0sdC5tZXNzYWdlKX1mdW5jdGlvbiBwKHQpe3ZhciBlPWEudXNlU3RhdGUoIiIpLHI9ZVswXSxuPWVbMV0saT1hLnVzZVN0YXRlKCIiKSx1PWlbMF0sYz1pWzFdO2EudXNlRWZmZWN0KChmdW5jdGlvbigpe3RyeXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZ1bmN0aW9uKHQpe3RyeXt2YXIgZT0iIjtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG8udG9TdHJpbmcodCx7bWFyZ2luOjAsdHlwZToic3ZnIn0pKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJihlPXQucmVwbGFjZSgiPHN2ZyIsJzxzdmcgY2xhc3M9IndhbGxldGNvbm5lY3QtcXJjb2RlX19pbWFnZSInKSksZX0pKX1jYXRjaCh0KXtyZXR1cm4gUHJvbWlzZS5yZWplY3QodCl9fSh0LnVyaSkpLnRoZW4oKGZ1bmN0aW9uKHQpe2ModCl9KSl9Y2F0Y2godCl7UHJvbWlzZS5yZWplY3QodCl9fSksW10pO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoInAiLHtpZDoid2FsbGV0Y29ubmVjdC1xcmNvZGUtdGV4dCIsY2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LXFyY29kZV9fdGV4dCJ9LHQudGV4dC5zY2FuX3FyY29kZV93aXRoX3dhbGxldCksYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnV9fSksYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtbW9kYWxfX2Zvb3RlciJ9LGEuY3JlYXRlRWxlbWVudCgiYSIse29uQ2xpY2s6ZnVuY3Rpb24oKXtzKHQudXJpKT8obih0LnRleHQuY29waWVkX3RvX2NsaXBib2FyZCksc2V0SW50ZXJ2YWwoKGZ1bmN0aW9uKCl7cmV0dXJuIG4oIiIpfSksMTIwMCkpOihuKCJFcnJvciIpLHNldEludGVydmFsKChmdW5jdGlvbigpe3JldHVybiBuKCIiKX0pLDEyMDApKX19LHQudGV4dC5jb3B5X3RvX2NsaXBib2FyZCkpLGEuY3JlYXRlRWxlbWVudChkLHttZXNzYWdlOnJ9KSl9ZnVuY3Rpb24gbSh0KXt2YXIgZT1pLmlzQW5kcm9pZCgpLHI9aS5pc01vYmlsZSgpLG49cj90LnFyY29kZU1vZGFsT3B0aW9ucyYmdC5xcmNvZGVNb2RhbE9wdGlvbnMubW9iaWxlTGlua3M/dC5xcmNvZGVNb2RhbE9wdGlvbnMubW9iaWxlTGlua3M6dm9pZCAwOnQucXJjb2RlTW9kYWxPcHRpb25zJiZ0LnFyY29kZU1vZGFsT3B0aW9ucy5kZXNrdG9wTGlua3M/dC5xcmNvZGVNb2RhbE9wdGlvbnMuZGVza3RvcExpbmtzOnZvaWQgMCxvPWEudXNlU3RhdGUoITEpLHM9b1swXSxjPW9bMV0sZj1hLnVzZVN0YXRlKCExKSxoPWZbMF0sZD1mWzFdLG09YS51c2VTdGF0ZSghciksZz1tWzBdLGI9bVsxXSx5PXttb2JpbGU6cix0ZXh0OnQudGV4dCx1cmk6dC51cmkscXJjb2RlTW9kYWxPcHRpb25zOnQucXJjb2RlTW9kYWxPcHRpb25zfSx2PWEudXNlU3RhdGUoIiIpLF89dlswXSx3PXZbMV0sTT1hLnVzZVN0YXRlKCExKSxTPU1bMF0sRT1NWzFdLHg9YS51c2VTdGF0ZShbXSksaz14WzBdLEE9eFsxXSxSPWEudXNlU3RhdGUoIiIpLFQ9UlswXSxPPVJbMV0sQz1mdW5jdGlvbigpe2h8fHN8fG4mJiFuLmxlbmd0aHx8ay5sZW5ndGg+MHx8YS51c2VFZmZlY3QoKGZ1bmN0aW9uKCl7IWZ1bmN0aW9uKCl7dHJ5e2lmKGUpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2MoITApO3ZhciBvPWZ1bmN0aW9uKHQsZSl7dHJ5e3ZhciByPXQoKX1jYXRjaCh0KXtyZXR1cm4gZSh0KX1yZXR1cm4gciYmci50aGVuP3IudGhlbih2b2lkIDAsZSk6cn0oKGZ1bmN0aW9uKCl7dmFyIGU9dC5xcmNvZGVNb2RhbE9wdGlvbnMmJnQucXJjb2RlTW9kYWxPcHRpb25zLnJlZ2lzdHJ5VXJsP3QucXJjb2RlTW9kYWxPcHRpb25zLnJlZ2lzdHJ5VXJsOmkuZ2V0V2FsbGV0UmVnaXN0cnlVcmwoKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZldGNoKGUpKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGUuanNvbigpKS50aGVuKChmdW5jdGlvbihlKXt2YXIgbz1lLmxpc3RpbmdzLHM9cj8ibW9iaWxlIjoiZGVza3RvcCIsYT1pLmdldE1vYmlsZUxpbmtSZWdpc3RyeShpLmZvcm1hdE1vYmlsZVJlZ2lzdHJ5KG8scyksbik7YyghMSksZCghMCksTyhhLmxlbmd0aD8iIjp0LnRleHQubm9fc3VwcG9ydGVkX3dhbGxldHMpLEEoYSk7dmFyIHU9MT09PWEubGVuZ3RoO3UmJih3KGkuZm9ybWF0SU9TTW9iaWxlKHQudXJpLGFbMF0pKSxiKCEwKSksRSh1KX0pKX0pKX0pLChmdW5jdGlvbihlKXtjKCExKSxkKCEwKSxPKHQudGV4dC5zb21ldGhpbmdfd2VudF93cm9uZyksY29uc29sZS5lcnJvcihlKX0pKTtQcm9taXNlLnJlc29sdmUobyYmby50aGVuP28udGhlbigoZnVuY3Rpb24oKXt9KSk6dm9pZCAwKX1jYXRjaCh0KXtyZXR1cm4gUHJvbWlzZS5yZWplY3QodCl9fSgpfSkpfTtDKCk7dmFyIFA9cj9nOiFnO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2lkOiJ3YWxsZXRjb25uZWN0LXFyY29kZS1tb2RhbCIsY2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LXFyY29kZV9fYmFzZSBhbmltYXRlZCBmYWRlSW4ifSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSJ9LGEuY3JlYXRlRWxlbWVudCh1LHtvbkNsb3NlOnQub25DbG9zZX0pLFMmJmc/YS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtbW9kYWxfX3NpbmdsZV93YWxsZXQifSxhLmNyZWF0ZUVsZW1lbnQoImEiLHtvbkNsaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGkuc2F2ZU1vYmlsZUxpbmtJbmZvKHtuYW1lOmtbMF0ubmFtZSxocmVmOl99KX0saHJlZjpfLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsdGFyZ2V0OiJfYmxhbmsifSx0LnRleHQuY29ubmVjdF93aXRoKyIgIisoUz9rWzBdLm5hbWU6IiIpKyIg4oC6IikpOmV8fHN8fCFzJiZrLmxlbmd0aD9hLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1tb2RhbF9fbW9iaWxlX190b2dnbGUiKyhQPyIgcmlnaHRfX3NlbGVjdGVkIjoiIil9LGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LW1vZGFsX19tb2JpbGVfX3RvZ2dsZV9zZWxlY3RvciJ9KSxyP2EuY3JlYXRlRWxlbWVudChhLkZyYWdtZW50LG51bGwsYS5jcmVhdGVFbGVtZW50KCJhIix7b25DbGljazpmdW5jdGlvbigpe3JldHVybiBiKCExKSxDKCl9fSx0LnRleHQubW9iaWxlKSxhLmNyZWF0ZUVsZW1lbnQoImEiLHtvbkNsaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGIoITApfX0sdC50ZXh0LnFyY29kZSkpOmEuY3JlYXRlRWxlbWVudChhLkZyYWdtZW50LG51bGwsYS5jcmVhdGVFbGVtZW50KCJhIix7b25DbGljazpmdW5jdGlvbigpe3JldHVybiBiKCEwKX19LHQudGV4dC5xcmNvZGUpLGEuY3JlYXRlRWxlbWVudCgiYSIse29uQ2xpY2s6ZnVuY3Rpb24oKXtyZXR1cm4gYighMSksQygpfX0sdC50ZXh0LmRlc2t0b3ApKSk6bnVsbCxhLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxnfHwhZSYmIXMmJiFrLmxlbmd0aD9hLmNyZWF0ZUVsZW1lbnQocCxPYmplY3QuYXNzaWduKHt9LHkpKTphLmNyZWF0ZUVsZW1lbnQobCxPYmplY3QuYXNzaWduKHt9LHkse2xpbmtzOmssZXJyb3JNZXNzYWdlOlR9KSkpKSl9dmFyIGc9e2RlOntjaG9vc2VfcHJlZmVycmVkX3dhbGxldDoiV8OkaGxlIGJldm9yenVndGUgV2FsbGV0Iixjb25uZWN0X21vYmlsZV93YWxsZXQ6IlZlcmJpbmRlIG1pdCBNb2JpbGUgV2FsbGV0IixzY2FuX3FyY29kZV93aXRoX3dhbGxldDoiU2Nhbm5lIGRlbiBRUi1jb2RlIG1pdCBlaW5lciBXYWxsZXRDb25uZWN0IGtvbXBhdGlibGVuIFdhbGxldCIsY29ubmVjdDoiVmVyYmluZGVuIixxcmNvZGU6IlFSLUNvZGUiLG1vYmlsZToiTW9iaWxlIixkZXNrdG9wOiJEZXNrdG9wIixjb3B5X3RvX2NsaXBib2FyZDoiSW4gZGllIFp3aXNjaGVuYWJsYWdlIGtvcGllcmVuIixjb3BpZWRfdG9fY2xpcGJvYXJkOiJJbiBkaWUgWndpc2NoZW5hYmxhZ2Uga29waWVydCEiLGNvbm5lY3Rfd2l0aDoiVmVyYmluZGVuIG1pdCBIaWxmZSB2b24iLGxvYWRpbmc6IkxhZGVuLi4uIixzb21ldGhpbmdfd2VudF93cm9uZzoiRXR3YXMgaXN0IHNjaGllZiBnZWxhdWZlbiIsbm9fc3VwcG9ydGVkX3dhbGxldHM6IkVzIGdpYnQgbm9jaCBrZWluZSB1bnRlcnN0w7x0enRlbiBXYWxsZXQiLG5vX3dhbGxldHNfZm91bmQ6ImtlaW5lIFdhbGxldCBnZWZ1bmRlbiJ9LGVuOntjaG9vc2VfcHJlZmVycmVkX3dhbGxldDoiQ2hvb3NlIHlvdXIgcHJlZmVycmVkIHdhbGxldCIsY29ubmVjdF9tb2JpbGVfd2FsbGV0OiJDb25uZWN0IHRvIE1vYmlsZSBXYWxsZXQiLHNjYW5fcXJjb2RlX3dpdGhfd2FsbGV0OiJTY2FuIFFSIGNvZGUgd2l0aCBhIFdhbGxldENvbm5lY3QtY29tcGF0aWJsZSB3YWxsZXQiLGNvbm5lY3Q6IkNvbm5lY3QiLHFyY29kZToiUVIgQ29kZSIsbW9iaWxlOiJNb2JpbGUiLGRlc2t0b3A6IkRlc2t0b3AiLGNvcHlfdG9fY2xpcGJvYXJkOiJDb3B5IHRvIGNsaXBib2FyZCIsY29waWVkX3RvX2NsaXBib2FyZDoiQ29waWVkIHRvIGNsaXBib2FyZCEiLGNvbm5lY3Rfd2l0aDoiQ29ubmVjdCB3aXRoIixsb2FkaW5nOiJMb2FkaW5nLi4uIixzb21ldGhpbmdfd2VudF93cm9uZzoiU29tZXRoaW5nIHdlbnQgd3JvbmciLG5vX3N1cHBvcnRlZF93YWxsZXRzOiJUaGVyZSBhcmUgbm8gc3VwcG9ydGVkIHdhbGxldHMgeWV0Iixub193YWxsZXRzX2ZvdW5kOiJObyB3YWxsZXRzIGZvdW5kIn0sZXM6e2Nob29zZV9wcmVmZXJyZWRfd2FsbGV0OiJFbGlnZSB0dSBiaWxsZXRlcmEgcHJlZmVyaWRhIixjb25uZWN0X21vYmlsZV93YWxsZXQ6IkNvbmVjdGFyIGEgYmlsbGV0ZXJhIG3Ds3ZpbCIsc2Nhbl9xcmNvZGVfd2l0aF93YWxsZXQ6IkVzY2FuZWEgZWwgY8OzZGlnbyBRUiBjb24gdW5hIGJpbGxldGVyYSBjb21wYXRpYmxlIGNvbiBXYWxsZXRDb25uZWN0Iixjb25uZWN0OiJDb25lY3RhciIscXJjb2RlOiJDw7NkaWdvIFFSIixtb2JpbGU6Ik3Ds3ZpbCIsZGVza3RvcDoiRGVza3RvcCIsY29weV90b19jbGlwYm9hcmQ6IkNvcGlhciIsY29waWVkX3RvX2NsaXBib2FyZDoiQ29waWFkbyEiLGNvbm5lY3Rfd2l0aDoiQ29uZWN0YXIgbWVkaWFudGUiLGxvYWRpbmc6IkNhcmdhbmRvLi4uIixzb21ldGhpbmdfd2VudF93cm9uZzoiQWxnbyBzYWxpw7MgbWFsIixub19zdXBwb3J0ZWRfd2FsbGV0czoiVG9kYXbDrWEgbm8gaGF5IGJpbGxldGVyYXMgY29tcGF0aWJsZXMiLG5vX3dhbGxldHNfZm91bmQ6Ik5vIHNlIGVuY29udHJhcm9uIGJpbGxldGVyYXMifSxmcjp7Y2hvb3NlX3ByZWZlcnJlZF93YWxsZXQ6IkNob2lzaXNzZXogdm90cmUgcG9ydGVmZXVpbGxlIHByw6lmw6lyw6kiLGNvbm5lY3RfbW9iaWxlX3dhbGxldDoiU2UgY29ubmVjdGVyIGF1IHBvcnRlZmV1aWxsZSBtb2JpbGUiLHNjYW5fcXJjb2RlX3dpdGhfd2FsbGV0OiJTY2FubmV6IGxlIFFSIGNvZGUgYXZlYyB1biBwb3J0ZWZldWlsbGUgY29tcGF0aWJsZSBXYWxsZXRDb25uZWN0Iixjb25uZWN0OiJTZSBjb25uZWN0ZXIiLHFyY29kZToiUVIgQ29kZSIsbW9iaWxlOiJNb2JpbGUiLGRlc2t0b3A6IkRlc2t0b3AiLGNvcHlfdG9fY2xpcGJvYXJkOiJDb3BpZXIiLGNvcGllZF90b19jbGlwYm9hcmQ6IkNvcGnDqSEiLGNvbm5lY3Rfd2l0aDoiQ29ubmVjdGV6LXZvdXMgw6AgbCdhaWRlIGRlIixsb2FkaW5nOiJDaGFyZ2VtZW50Li4uIixzb21ldGhpbmdfd2VudF93cm9uZzoiUXVlbHF1ZSBjaG9zZSBhIG1hbCB0b3VybsOpIixub19zdXBwb3J0ZWRfd2FsbGV0czoiSWwgbid5IGEgcGFzIGVuY29yZSBkZSBwb3J0ZWZldWlsbGVzIHByaXMgZW4gY2hhcmdlIixub193YWxsZXRzX2ZvdW5kOiJBdWN1biBwb3J0ZWZldWlsbGUgdHJvdXbDqSJ9LGtvOntjaG9vc2VfcHJlZmVycmVkX3dhbGxldDoi7JuQ7ZWY64qUIOyngOqwkeydhCDshKDtg53tlZjshLjsmpQiLGNvbm5lY3RfbW9iaWxlX3dhbGxldDoi66qo67CU7J28IOyngOqwkeqzvCDsl7DqsrAiLHNjYW5fcXJjb2RlX3dpdGhfd2FsbGV0OiJXYWxsZXRDb25uZWN0IOyngOybkCDsp4DqsJHsl5DshJwgUVLsvZTrk5zrpbwg7Iqk7LqU7ZWY7IS47JqUIixjb25uZWN0OiLsl7DqsrAiLHFyY29kZToiUVIg7L2U65OcIixtb2JpbGU6IuuqqOuwlOydvCIsZGVza3RvcDoi642w7Iqk7YGs7YORIixjb3B5X3RvX2NsaXBib2FyZDoi7YG066a967O065Oc7JeQIOuzteyCrCIsY29waWVkX3RvX2NsaXBib2FyZDoi7YG066a967O065Oc7JeQIOuzteyCrOuQmOyXiOyKteuLiOuLpCEiLGNvbm5lY3Rfd2l0aDoi7JmAIOyXsOqysO2VmOuLpCIsbG9hZGluZzoi66Gc65OcIOykkS4uLiIsc29tZXRoaW5nX3dlbnRfd3Jvbmc6IuusuOygnOqwgCDrsJzsg53tlojsirXri4jri6QuIixub19zdXBwb3J0ZWRfd2FsbGV0czoi7JWE7KeBIOyngOybkOuQmOuKlCDsp4DqsJHsnbQg7JeG7Iq164uI64ukIixub193YWxsZXRzX2ZvdW5kOiLsp4DqsJHsnYQg7LC+7J2EIOyImCDsl4bsirXri4jri6QifSxwdDp7Y2hvb3NlX3ByZWZlcnJlZF93YWxsZXQ6IkVzY29saGEgc3VhIGNhcnRlaXJhIHByZWZlcmlkYSIsY29ubmVjdF9tb2JpbGVfd2FsbGV0OiJDb25lY3Rhci1zZSDDoCBjYXJ0ZWlyYSBtw7N2ZWwiLHNjYW5fcXJjb2RlX3dpdGhfd2FsbGV0OiJMZXIgbyBjw7NkaWdvIFFSIGNvbSB1bWEgY2FydGVpcmEgY29tcGF0w612ZWwgY29tIFdhbGxldENvbm5lY3QiLGNvbm5lY3Q6IkNvbmVjdGFyIixxcmNvZGU6IkPDs2RpZ28gUVIiLG1vYmlsZToiTcOzdmVsIixkZXNrdG9wOiJEZXNrdG9wIixjb3B5X3RvX2NsaXBib2FyZDoiQ29waWFyIixjb3BpZWRfdG9fY2xpcGJvYXJkOiJDb3BpYWRvISIsY29ubmVjdF93aXRoOiJMaWdhciBwb3IgbWVpbyBkZSIsbG9hZGluZzoiQ2FycmVnYW1lbnRvLi4uIixzb21ldGhpbmdfd2VudF93cm9uZzoiQWxnbyBjb3JyZXUgbWFsIixub19zdXBwb3J0ZWRfd2FsbGV0czoiQWluZGEgbsOjbyBow6EgY2FydGVpcmFzIHN1cG9ydGFkYXMiLG5vX3dhbGxldHNfZm91bmQ6Ik5lbmh1bWEgY2FydGVpcmEgZW5jb250cmFkYSJ9LHpoOntjaG9vc2VfcHJlZmVycmVkX3dhbGxldDoi6YCJ5oup5L2g55qE6ZKx5YyFIixjb25uZWN0X21vYmlsZV93YWxsZXQ6Iui/nuaOpeiHs+enu+WKqOerr+mSseWMhSIsc2Nhbl9xcmNvZGVfd2l0aF93YWxsZXQ6IuS9v+eUqOWFvOWuuSBXYWxsZXRDb25uZWN0IOeahOmSseWMheaJq+aPj+S6jOe7tOeggSIsY29ubmVjdDoi6L+e5o6lIixxcmNvZGU6IuS6jOe7tOeggSIsbW9iaWxlOiLnp7vliqgiLGRlc2t0b3A6IuahjOmdoiIsY29weV90b19jbGlwYm9hcmQ6IuWkjeWItuWIsOWJqui0tOadvyIsY29waWVkX3RvX2NsaXBib2FyZDoi5aSN5Yi25Yiw5Ymq6LS05p2/5oiQ5Yqf77yBIixjb25uZWN0X3dpdGg6IumAmui/h+S7peS4i+aWueW8j+i/nuaOpSIsbG9hZGluZzoi5q2j5Zyo5Yqg6L29Li4uIixzb21ldGhpbmdfd2VudF93cm9uZzoi5Ye65LqG6Zeu6aKYIixub19zdXBwb3J0ZWRfd2FsbGV0czoi55uu5YmN6L+Y5rKh5pyJ5pSv5oyB55qE6ZKx5YyFIixub193YWxsZXRzX2ZvdW5kOiLmsqHmnInmib7liLDpkrHljIUifSxmYTp7Y2hvb3NlX3ByZWZlcnJlZF93YWxsZXQ6Itqp24zZgSDZvtmI2YQg2YXZiNix2K8g2YbYuNixINiu2YjYryDYsdinINin2YbYqtiu2KfYqCDaqdmG24zYryIsY29ubmVjdF9tb2JpbGVfd2FsbGV0OiLYqNmHINqp24zZgSDZvtmI2YQg2YXZiNio2KfbjNmEINmI2LXZhCDYtNmI24zYryIsc2Nhbl9xcmNvZGVfd2l0aF93YWxsZXQ6Itqp2K8gUVIg2LHYpyDYqNinINuM2qkg2qnbjNmBINm+2YjZhCDYs9in2LLar9in2LEg2KjYpyBXYWxsZXRDb25uZWN0INin2LPaqdmGINqp2YbbjNivIixjb25uZWN0OiLYp9iq2LXYp9mEIixxcmNvZGU6Itqp2K8gUVIiLG1vYmlsZToi2LPbjNin2LEiLGRlc2t0b3A6Itiv2LPaqdiq2KfZviIsY29weV90b19jbGlwYm9hcmQ6Itqp2b7bjCDYqNmHINqp2YTbjNm+INio2YjYsdivIixjb3BpZWRfdG9fY2xpcGJvYXJkOiLYr9ixINqp2YTbjNm+INio2YjYsdivINqp2b7bjCDYtNivISIsY29ubmVjdF93aXRoOiLYp9ix2KrYqNin2Lcg2KjYpyIsbG9hZGluZzoiLi4u2KjYp9ix2q/YsNin2LHbjCIsc29tZXRoaW5nX3dlbnRfd3Jvbmc6ItmF2LTaqdmE24wg2b7bjNi0INii2YXYryIsbm9fc3VwcG9ydGVkX3dhbGxldHM6ItmH2YbZiNiyINmH24zahiDaqduM2YEg2b7ZiNmEINm+2LTYqtuM2KjYp9mG24wg2LTYr9mHINin24wg2YjYrNmI2K8g2YbYr9in2LHYryIsbm9fd2FsbGV0c19mb3VuZDoi2YfbjNqGINqp24zZgSDZvtmI2YTbjCDZvtuM2K/YpyDZhti02K8ifX07ZnVuY3Rpb24gYigpe3ZhciB0PWkuZ2V0RG9jdW1lbnRPclRocm93KCksZT10LmdldEVsZW1lbnRCeUlkKCJ3YWxsZXRjb25uZWN0LXFyY29kZS1tb2RhbCIpO2UmJihlLmNsYXNzTmFtZT1lLmNsYXNzTmFtZS5yZXBsYWNlKCJmYWRlSW4iLCJmYWRlT3V0Iiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXt2YXIgZT10LmdldEVsZW1lbnRCeUlkKCJ3YWxsZXRjb25uZWN0LXdyYXBwZXIiKTtlJiZ0LmJvZHkucmVtb3ZlQ2hpbGQoZSl9KSwzMDApKX1mdW5jdGlvbiB5KHQpe3JldHVybiBmdW5jdGlvbigpe2IoKSx0JiZ0KCl9fWZ1bmN0aW9uIHYodCxlLHIpeyFmdW5jdGlvbigpe3ZhciB0PWkuZ2V0RG9jdW1lbnRPclRocm93KCksZT10LmdldEVsZW1lbnRCeUlkKCJ3YWxsZXRjb25uZWN0LXN0eWxlLXNoZWV0Iik7ZSYmdC5oZWFkLnJlbW92ZUNoaWxkKGUpO3ZhciByPXQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtyLnNldEF0dHJpYnV0ZSgiaWQiLCJ3YWxsZXRjb25uZWN0LXN0eWxlLXNoZWV0Iiksci5pbm5lclRleHQ9Jzpyb290IHtcbiAgLS1hbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uYW5pbWF0ZWQge1xuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5mYWRlSW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG4uZmFkZU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG4jd2FsbGV0Y29ubmVjdC13cmFwcGVyIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGVmdDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk5OTk5O1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9faGVhZGVyTG9nbyB7XG4gIGhlaWdodDogMjFweDtcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2hlYWRlciBwIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Nsb3NlX193cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgei1pbmRleDogMTAwMDA7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAyNnB4O1xuICBwYWRkaW5nOiA2cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Nsb3NlX19pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDdweDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19jbG9zZV9fbGluZTEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IoNDgsIDUyLCA1OSk7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19jbG9zZV9fbGluZTIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IoNDgsIDUyLCA1OSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLndhbGxldGNvbm5lY3QtcXJjb2RlX19iYXNlIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM3LCA0MSwgNDYsIDAuOTUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gIHdpZHRoOiAxMDAlO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgcGFkZGluZzogNDBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLndhbGxldGNvbm5lY3QtcXJjb2RlX190ZXh0IHtcbiAgY29sb3I6IHJnYmEoNjAsIDY2LCA4MiwgMC42KTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTg3NWVtO1xuICBtYXJnaW46IDEwcHggMCAyMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLndhbGxldGNvbm5lY3QtcXJjb2RlX190ZXh0IHtcbiAgICBmb250LXNpemU6IDR2dztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gIC53YWxsZXRjb25uZWN0LXFyY29kZV9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5cbi53YWxsZXRjb25uZWN0LXFyY29kZV9faW1hZ2Uge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogbm9uZTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi53YWxsZXRjb25uZWN0LXFyY29kZV9fbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGNvbG9yOiBibGFjaztcbiAgbWFyZ2luLWJvdHRvbTogLTYwcHg7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi53YWxsZXRjb25uZWN0LXFyY29kZV9fbm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbl9fc2hvdyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLndhbGxldGNvbm5lY3QtbW9kYWxfX2hlYWRlciB7XG4gICAgaGVpZ2h0OiAxMzBweDtcbiAgfVxuICAud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogNDE1cHgpIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA3NjhweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzc1cHgpIGFuZCAobWF4LXdpZHRoOiA0MTVweCkge1xuICAjY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0MTRweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiAzNzVweCkge1xuICAjY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAzNzVweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgI2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBib3gtc2hhZG93OiAwIDEwcHggNTBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBmb250LWZhbWlseTogdWktcm91bmRlZCwgIlNGIFBybyBSb3VuZGVkIiwgIlNGIFBybyBUZXh0IiwgbWVkaXVtLWNvbnRlbnQtc2Fucy1zZXJpZi1mb250LFxuICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgdWktc2Fucy1zZXJpZiwgIlNlZ29lIFVJIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLFxuICAgICJPcGVuIFNhbnMiLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW4tdG9wOiA0MXB4O1xuICBwYWRkaW5nOiAyNHB4IDI0cHggMjJweDtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdG9wOiA1MCU7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSB7XG4gICAgcGFkZGluZzogMjRweCAxMnB4O1xuICB9XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlIC5oaWRkZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwJSk7XG4gIHRyYW5zaXRpb246IDAuMTI1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKTtcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2hlYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMjZweDtcbiAgbGVmdDogMDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTQycHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSAud2MtbG9nbyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMjZweDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSAud2MtbG9nbyBkaXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM5OWZmO1xuICBoZWlnaHQ6IDIxcHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBtYXNrLWltYWdlOiB1cmwoImltYWdlcy93Yy1sb2dvLnN2ZyIpIGNlbnRlciBuby1yZXBlYXQ7XG4gIHdpZHRoOiAzMnB4O1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSAud2MtbG9nbyBwIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSBoMiB7XG4gIGNvbG9yOiByZ2JhKDYwLCA2NiwgODIsIDAuNik7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE4NzVlbTtcbiAgbWFyZ2luOiAwIDAgMTlweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZV9fcm93IHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogNTZweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwcHggMHB4IDhweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdHJhbnNpdGlvbjogMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3c6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDYwLCA2NiwgODIsIDAuMDYpO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZV9fcm93OmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjAsIDY2LCA4MiwgMC4wNik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NzUpO1xuICB0cmFuc2l0aW9uOiAwLjFzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VfX3Jvd19faDMge1xuICBjb2xvcjogIzI1MjkyZTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctYm90dG9tOiAzcHg7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3dfX3JpZ2h0IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3dfX3JpZ2h0X19hcHAtaWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBtYXJnaW46IDAgMTFweCAycHggMDtcbiAgd2lkdGg6IDM0cHg7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYm94LXNoYWRvdzogMCA0cHggMTJweCAwIHJnYmEoMzcsIDQxLCA0NiwgMC4yNSk7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3dfX3JpZ2h0X19jYXJldCB7XG4gIGhlaWdodDogMThweDtcbiAgb3BhY2l0eTogMC4zO1xuICB0cmFuc2l0aW9uOiAwLjFzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgd2lkdGg6IDhweDtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3c6aG92ZXIgLmNhcmV0LFxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VfX3JvdzphY3RpdmUgLmNhcmV0IHtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fbW9iaWxlX190b2dnbGUge1xuICB3aWR0aDogODAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gIGJhY2tncm91bmQ6ICNkNGQ1ZDk7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19zaW5nbGVfd2FsbGV0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDdweDtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX3NpbmdsZV93YWxsZXQgYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHJnYig2NCwgMTUzLCAyNTUpO1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX21vYmlsZV9fdG9nZ2xlX3NlbGVjdG9yIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gOHB4KTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDhweCk7XG4gIHRvcDogNHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0cHgsIDAsIDApO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fbW9iaWxlX190b2dnbGUucmlnaHRfX3NlbGVjdGVkIC53YWxsZXRjb25uZWN0LW1vZGFsX19tb2JpbGVfX3RvZ2dsZV9zZWxlY3RvciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoY2FsYygxMDAlICsgMTJweCksIDAsIDApO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fbW9iaWxlX190b2dnbGUgYSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgd2lkdGg6IDUwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA4cHg7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgei1pbmRleDogMTtcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Zvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC53YWxsZXRjb25uZWN0LW1vZGFsX19mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDV2dztcbiAgfVxufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fZm9vdGVyIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjODk4ZDk3O1xuICBmb250LXNpemU6IDE1cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gIC53YWxsZXRjb25uZWN0LW1vZGFsX19mb290ZXIgYSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5cbi53YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbnNfX3dyYXBwZXIge1xuICBtYXgtaGVpZ2h0OiA0NHZoO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1jb25uZWN0X19idXR0b25zX193cmFwcGVyX19hbmRyb2lkIHtcbiAgbWFyZ2luOiA1MCUgMDtcbn1cblxuLndhbGxldGNvbm5lY3QtY29ubmVjdF9fYnV0dG9uc19fd3JhcHBlcl9fd3JhcCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC53YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbnNfX3dyYXBwZXJfX3dyYXAge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn1cblxuLndhbGxldGNvbm5lY3QtY29ubmVjdF9fYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDY0LCAxNTMsIDI1NSk7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1jb25uZWN0X19idXR0b25fX2ljb25fYW5jaG9yIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogOHB4O1xuICB3aWR0aDogNDJweDtcbiAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gIC53YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbl9faWNvbl9hbmNob3Ige1xuICAgIG1hcmdpbjogNHB4O1xuICB9XG59XG5cbi53YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbl9faWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGhlaWdodDogNDJweDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogNDJweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IDAgcmdiYSgzNywgNDEsIDQ2LCAwLjI1KTtcbn1cblxuLndhbGxldGNvbm5lY3QtY29ubmVjdF9fYnV0dG9uX190ZXh0IHtcbiAgY29sb3I6ICM0MjQ5NTI7XG4gIGZvbnQtc2l6ZTogMi43dnc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tdG9wOiAxLjh2dztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAud2FsbGV0Y29ubmVjdC1jb25uZWN0X19idXR0b25fX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICB9XG59XG5cbi53YWxsZXRjb25uZWN0LXNlYXJjaF9faW5wdXQge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNkNGQ1ZDk7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuJyx0LmhlYWQuYXBwZW5kQ2hpbGQocil9KCk7dmFyIG4sbz1mdW5jdGlvbigpe3ZhciB0PWkuZ2V0RG9jdW1lbnRPclRocm93KCksZT10LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBlLnNldEF0dHJpYnV0ZSgiaWQiLCJ3YWxsZXRjb25uZWN0LXdyYXBwZXIiKSx0LmJvZHkuYXBwZW5kQ2hpbGQoZSksZX0oKTthLnJlbmRlcihhLmNyZWF0ZUVsZW1lbnQobSx7dGV4dDoobj1pLmdldE5hdmlnYXRvck9yVGhyb3coKS5sYW5ndWFnZS5zcGxpdCgiLSIpWzBdfHwiZW4iLGdbbl18fGcuZW4pLHVyaTp0LG9uQ2xvc2U6eShlKSxxcmNvZGVNb2RhbE9wdGlvbnM6cn0pLG8pfXZhciBfPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PWUmJnZvaWQgMCE9PWUudmVyc2lvbnMmJnZvaWQgMCE9PWUudmVyc2lvbnMubm9kZX07dmFyIHc9e29wZW46ZnVuY3Rpb24odCxlLHIpe2NvbnNvbGUubG9nKHQpLF8oKT9mdW5jdGlvbih0KXtvLnRvU3RyaW5nKHQse3R5cGU6InRlcm1pbmFsIn0pLnRoZW4oY29uc29sZS5sb2cpfSh0KTp2KHQsZSxyKX0sY2xvc2U6ZnVuY3Rpb24oKXtfKCl8fGIoKX19O3QuZXhwb3J0cz13fSkuY2FsbCh0aGlzLHIoNSkpfSxmdW5jdGlvbih0LGUscil7dmFyIG49cigxODApLGk9cigxODEpLG89cigxOTgpLHM9cigxOTkpO2Z1bmN0aW9uIGEodCxlLHIsbyxzKXt2YXIgYT1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSx1PWEubGVuZ3RoLGM9ImZ1bmN0aW9uIj09dHlwZW9mIGFbdS0xXTtpZighYyYmIW4oKSl0aHJvdyBuZXcgRXJyb3IoIkNhbGxiYWNrIHJlcXVpcmVkIGFzIGxhc3QgYXJndW1lbnQiKTtpZighYyl7aWYodTwxKXRocm93IG5ldyBFcnJvcigiVG9vIGZldyBhcmd1bWVudHMgcHJvdmlkZWQiKTtyZXR1cm4gMT09PXU/KHI9ZSxlPW89dm9pZCAwKToyIT09dXx8ZS5nZXRDb250ZXh0fHwobz1yLHI9ZSxlPXZvaWQgMCksbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4scyl7dHJ5e3ZhciBhPWkuY3JlYXRlKHIsbyk7bih0KGEsZSxvKSl9Y2F0Y2godCl7cyh0KX19KSl9aWYodTwyKXRocm93IG5ldyBFcnJvcigiVG9vIGZldyBhcmd1bWVudHMgcHJvdmlkZWQiKTsyPT09dT8ocz1yLHI9ZSxlPW89dm9pZCAwKTozPT09dSYmKGUuZ2V0Q29udGV4dCYmdm9pZCAwPT09cz8ocz1vLG89dm9pZCAwKToocz1vLG89cixyPWUsZT12b2lkIDApKTt0cnl7dmFyIGY9aS5jcmVhdGUocixvKTtzKG51bGwsdChmLGUsbykpfWNhdGNoKHQpe3ModCl9fWUuY3JlYXRlPWkuY3JlYXRlLGUudG9DYW52YXM9YS5iaW5kKG51bGwsby5yZW5kZXIpLGUudG9EYXRhVVJMPWEuYmluZChudWxsLG8ucmVuZGVyVG9EYXRhVVJMKSxlLnRvU3RyaW5nPWEuYmluZChudWxsLChmdW5jdGlvbih0LGUscil7cmV0dXJuIHMucmVuZGVyKHQscil9KSl9LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2UmJlByb21pc2UucHJvdG90eXBlJiZQcm9taXNlLnByb3RvdHlwZS50aGVufX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMjYpLGk9cigxNyksbz1yKDUxKSxzPXIoMTgyKSxhPXIoMTgzKSx1PXIoMTg0KSxjPXIoMTg1KSxmPXIoMTg2KSxoPXIoOTgpLGw9cigxODcpLGQ9cigxOTApLHA9cigxOTEpLG09cigxOCksZz1yKDE5MiksYj1yKDUwKTtmdW5jdGlvbiB5KHQsZSxyKXt2YXIgbixpLG89dC5zaXplLHM9cC5nZXRFbmNvZGVkQml0cyhlLHIpO2ZvcihuPTA7bjwxNTtuKyspaT0xPT0ocz4+biYxKSxuPDY/dC5zZXQobiw4LGksITApOm48OD90LnNldChuKzEsOCxpLCEwKTp0LnNldChvLTE1K24sOCxpLCEwKSxuPDg/dC5zZXQoOCxvLW4tMSxpLCEwKTpuPDk/dC5zZXQoOCwxNS1uLTErMSxpLCEwKTp0LnNldCg4LDE1LW4tMSxpLCEwKTt0LnNldChvLTgsOCwxLCEwKX1mdW5jdGlvbiB2KHQsZSxyKXt2YXIgbz1uZXcgcztyLmZvckVhY2goKGZ1bmN0aW9uKGUpe28ucHV0KGUubW9kZS5iaXQsNCksby5wdXQoZS5nZXRMZW5ndGgoKSxtLmdldENoYXJDb3VudEluZGljYXRvcihlLm1vZGUsdCkpLGUud3JpdGUobyl9KSk7dmFyIGE9OCooaS5nZXRTeW1ib2xUb3RhbENvZGV3b3Jkcyh0KS1oLmdldFRvdGFsQ29kZXdvcmRzQ291bnQodCxlKSk7Zm9yKG8uZ2V0TGVuZ3RoSW5CaXRzKCkrNDw9YSYmby5wdXQoMCw0KTtvLmdldExlbmd0aEluQml0cygpJTghPTA7KW8ucHV0Qml0KDApO2Zvcih2YXIgdT0oYS1vLmdldExlbmd0aEluQml0cygpKS84LGM9MDtjPHU7YysrKW8ucHV0KGMlMj8xNzoyMzYsOCk7cmV0dXJuIGZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG89aS5nZXRTeW1ib2xUb3RhbENvZGV3b3JkcyhlKSxzPWguZ2V0VG90YWxDb2Rld29yZHNDb3VudChlLHIpLGE9by1zLHU9aC5nZXRCbG9ja3NDb3VudChlLHIpLGM9dS1vJXUsZj1NYXRoLmZsb29yKG8vdSksZD1NYXRoLmZsb29yKGEvdSkscD1kKzEsbT1mLWQsZz1uZXcgbChtKSxiPTAseT1uZXcgQXJyYXkodSksdj1uZXcgQXJyYXkodSksXz0wLHc9bi5mcm9tKHQuYnVmZmVyKSxNPTA7TTx1O00rKyl7dmFyIFM9TTxjP2Q6cDt5W01dPXcuc2xpY2UoYixiK1MpLHZbTV09Zy5lbmNvZGUoeVtNXSksYis9UyxfPU1hdGgubWF4KF8sUyl9dmFyIEUseCxrPW4uYWxsb2MobyksQT0wO2ZvcihFPTA7RTxfO0UrKylmb3IoeD0wO3g8dTt4KyspRTx5W3hdLmxlbmd0aCYmKGtbQSsrXT15W3hdW0VdKTtmb3IoRT0wO0U8bTtFKyspZm9yKHg9MDt4PHU7eCsrKWtbQSsrXT12W3hdW0VdO3JldHVybiBrfShvLHQsZSl9ZnVuY3Rpb24gXyh0LGUscixuKXt2YXIgbztpZihiKHQpKW89Zy5mcm9tQXJyYXkodCk7ZWxzZXtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGRhdGEiKTt2YXIgcz1lO2lmKCFzKXt2YXIgaD1nLnJhd1NwbGl0KHQpO3M9ZC5nZXRCZXN0VmVyc2lvbkZvckRhdGEoaCxyKX1vPWcuZnJvbVN0cmluZyh0LHN8fDQwKX12YXIgbD1kLmdldEJlc3RWZXJzaW9uRm9yRGF0YShvLHIpO2lmKCFsKXRocm93IG5ldyBFcnJvcigiVGhlIGFtb3VudCBvZiBkYXRhIGlzIHRvbyBiaWcgdG8gYmUgc3RvcmVkIGluIGEgUVIgQ29kZSIpO2lmKGUpe2lmKGU8bCl0aHJvdyBuZXcgRXJyb3IoIlxuVGhlIGNob3NlbiBRUiBDb2RlIHZlcnNpb24gY2Fubm90IGNvbnRhaW4gdGhpcyBhbW91bnQgb2YgZGF0YS5cbk1pbmltdW0gdmVyc2lvbiByZXF1aXJlZCB0byBzdG9yZSBjdXJyZW50IGRhdGEgaXM6ICIrbCsiLlxuIil9ZWxzZSBlPWw7dmFyIHA9dihlLHIsbyksbT1pLmdldFN5bWJvbFNpemUoZSksXz1uZXcgYShtKTtyZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5zaXplLG49Yy5nZXRQb3NpdGlvbnMoZSksaT0wO2k8bi5sZW5ndGg7aSsrKWZvcih2YXIgbz1uW2ldWzBdLHM9bltpXVsxXSxhPS0xO2E8PTc7YSsrKWlmKCEobythPD0tMXx8cjw9bythKSlmb3IodmFyIHU9LTE7dTw9Nzt1Kyspcyt1PD0tMXx8cjw9cyt1fHwoYT49MCYmYTw9NiYmKDA9PT11fHw2PT09dSl8fHU+PTAmJnU8PTYmJigwPT09YXx8Nj09PWEpfHxhPj0yJiZhPD00JiZ1Pj0yJiZ1PD00P3Quc2V0KG8rYSxzK3UsITAsITApOnQuc2V0KG8rYSxzK3UsITEsITApKX0oXyxlKSxmdW5jdGlvbih0KXtmb3IodmFyIGU9dC5zaXplLHI9ODtyPGUtODtyKyspe3ZhciBuPXIlMj09MDt0LnNldChyLDYsbiwhMCksdC5zZXQoNixyLG4sITApfX0oXyksZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dS5nZXRQb3NpdGlvbnMoZSksbj0wO248ci5sZW5ndGg7bisrKWZvcih2YXIgaT1yW25dWzBdLG89cltuXVsxXSxzPS0yO3M8PTI7cysrKWZvcih2YXIgYT0tMjthPD0yO2ErKyktMj09PXN8fDI9PT1zfHwtMj09PWF8fDI9PT1hfHwwPT09cyYmMD09PWE/dC5zZXQoaStzLG8rYSwhMCwhMCk6dC5zZXQoaStzLG8rYSwhMSwhMCl9KF8sZSkseShfLHIsMCksZT49NyYmZnVuY3Rpb24odCxlKXtmb3IodmFyIHIsbixpLG89dC5zaXplLHM9ZC5nZXRFbmNvZGVkQml0cyhlKSxhPTA7YTwxODthKyspcj1NYXRoLmZsb29yKGEvMyksbj1hJTMrby04LTMsaT0xPT0ocz4+YSYxKSx0LnNldChyLG4saSwhMCksdC5zZXQobixyLGksITApfShfLGUpLGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuc2l6ZSxuPS0xLGk9ci0xLG89NyxzPTAsYT1yLTE7YT4wO2EtPTIpZm9yKDY9PT1hJiZhLS07Oyl7Zm9yKHZhciB1PTA7dTwyO3UrKylpZighdC5pc1Jlc2VydmVkKGksYS11KSl7dmFyIGM9ITE7czxlLmxlbmd0aCYmKGM9MT09KGVbc10+Pj5vJjEpKSx0LnNldChpLGEtdSxjKSwtMT09PS0tbyYmKHMrKyxvPTcpfWlmKChpKz1uKTwwfHxyPD1pKXtpLT1uLG49LW47YnJlYWt9fX0oXyxwKSxpc05hTihuKSYmKG49Zi5nZXRCZXN0TWFzayhfLHkuYmluZChudWxsLF8scikpKSxmLmFwcGx5TWFzayhuLF8pLHkoXyxyLG4pLHttb2R1bGVzOl8sdmVyc2lvbjplLGVycm9yQ29ycmVjdGlvbkxldmVsOnIsbWFza1BhdHRlcm46bixzZWdtZW50czpvfX1lLmNyZWF0ZT1mdW5jdGlvbih0LGUpe2lmKHZvaWQgMD09PXR8fCIiPT09dCl0aHJvdyBuZXcgRXJyb3IoIk5vIGlucHV0IHRleHQiKTt2YXIgcixuLHM9by5NO3JldHVybiB2b2lkIDAhPT1lJiYocz1vLmZyb20oZS5lcnJvckNvcnJlY3Rpb25MZXZlbCxvLk0pLHI9ZC5mcm9tKGUudmVyc2lvbiksbj1mLmZyb20oZS5tYXNrUGF0dGVybiksZS50b1NKSVNGdW5jJiZpLnNldFRvU0pJU0Z1bmN0aW9uKGUudG9TSklTRnVuYykpLF8odCxyLHMsbil9fSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIHIoKXt0aGlzLmJ1ZmZlcj1bXSx0aGlzLmxlbmd0aD0wfXIucHJvdG90eXBlPXtnZXQ6ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5mbG9vcih0LzgpO3JldHVybiAxPT0odGhpcy5idWZmZXJbZV0+Pj43LXQlOCYxKX0scHV0OmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTA7cjxlO3IrKyl0aGlzLnB1dEJpdCgxPT0odD4+PmUtci0xJjEpKX0sZ2V0TGVuZ3RoSW5CaXRzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RofSxwdXRCaXQ6ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5mbG9vcih0aGlzLmxlbmd0aC84KTt0aGlzLmJ1ZmZlci5sZW5ndGg8PWUmJnRoaXMuYnVmZmVyLnB1c2goMCksdCYmKHRoaXMuYnVmZmVyW2VdfD0xMjg+Pj50aGlzLmxlbmd0aCU4KSx0aGlzLmxlbmd0aCsrfX0sdC5leHBvcnRzPXJ9LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDI2KTtmdW5jdGlvbiBpKHQpe2lmKCF0fHx0PDEpdGhyb3cgbmV3IEVycm9yKCJCaXRNYXRyaXggc2l6ZSBtdXN0IGJlIGRlZmluZWQgYW5kIGdyZWF0ZXIgdGhhbiAwIik7dGhpcy5zaXplPXQsdGhpcy5kYXRhPW4uYWxsb2ModCp0KSx0aGlzLnJlc2VydmVkQml0PW4uYWxsb2ModCp0KX1pLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGk9dCp0aGlzLnNpemUrZTt0aGlzLmRhdGFbaV09cixuJiYodGhpcy5yZXNlcnZlZEJpdFtpXT0hMCl9LGkucHJvdG90eXBlLmdldD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmRhdGFbdCp0aGlzLnNpemUrZV19LGkucHJvdG90eXBlLnhvcj1mdW5jdGlvbih0LGUscil7dGhpcy5kYXRhW3QqdGhpcy5zaXplK2VdXj1yfSxpLnByb3RvdHlwZS5pc1Jlc2VydmVkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMucmVzZXJ2ZWRCaXRbdCp0aGlzLnNpemUrZV19LHQuZXhwb3J0cz1pfSxmdW5jdGlvbih0LGUscil7dmFyIG49cigxNykuZ2V0U3ltYm9sU2l6ZTtlLmdldFJvd0NvbENvb3Jkcz1mdW5jdGlvbih0KXtpZigxPT09dClyZXR1cm5bXTtmb3IodmFyIGU9TWF0aC5mbG9vcih0LzcpKzIscj1uKHQpLGk9MTQ1PT09cj8yNjoyKk1hdGguY2VpbCgoci0xMykvKDIqZS0yKSksbz1bci03XSxzPTE7czxlLTE7cysrKW9bc109b1tzLTFdLWk7cmV0dXJuIG8ucHVzaCg2KSxvLnJldmVyc2UoKX0sZS5nZXRQb3NpdGlvbnM9ZnVuY3Rpb24odCl7Zm9yKHZhciByPVtdLG49ZS5nZXRSb3dDb2xDb29yZHModCksaT1uLmxlbmd0aCxvPTA7bzxpO28rKylmb3IodmFyIHM9MDtzPGk7cysrKTA9PT1vJiYwPT09c3x8MD09PW8mJnM9PT1pLTF8fG89PT1pLTEmJjA9PT1zfHxyLnB1c2goW25bb10sbltzXV0pO3JldHVybiByfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTcpLmdldFN5bWJvbFNpemU7ZS5nZXRQb3NpdGlvbnM9ZnVuY3Rpb24odCl7dmFyIGU9bih0KTtyZXR1cm5bWzAsMF0sW2UtNywwXSxbMCxlLTddXX19LGZ1bmN0aW9uKHQsZSl7ZS5QYXR0ZXJucz17UEFUVEVSTjAwMDowLFBBVFRFUk4wMDE6MSxQQVRURVJOMDEwOjIsUEFUVEVSTjAxMTozLFBBVFRFUk4xMDA6NCxQQVRURVJOMTAxOjUsUEFUVEVSTjExMDo2LFBBVFRFUk4xMTE6N307dmFyIHI9MyxuPTMsaT00MCxvPTEwO2Z1bmN0aW9uIHModCxyLG4pe3N3aXRjaCh0KXtjYXNlIGUuUGF0dGVybnMuUEFUVEVSTjAwMDpyZXR1cm4ocituKSUyPT0wO2Nhc2UgZS5QYXR0ZXJucy5QQVRURVJOMDAxOnJldHVybiByJTI9PTA7Y2FzZSBlLlBhdHRlcm5zLlBBVFRFUk4wMTA6cmV0dXJuIG4lMz09MDtjYXNlIGUuUGF0dGVybnMuUEFUVEVSTjAxMTpyZXR1cm4ocituKSUzPT0wO2Nhc2UgZS5QYXR0ZXJucy5QQVRURVJOMTAwOnJldHVybihNYXRoLmZsb29yKHIvMikrTWF0aC5mbG9vcihuLzMpKSUyPT0wO2Nhc2UgZS5QYXR0ZXJucy5QQVRURVJOMTAxOnJldHVybiByKm4lMityKm4lMz09MDtjYXNlIGUuUGF0dGVybnMuUEFUVEVSTjExMDpyZXR1cm4ocipuJTIrcipuJTMpJTI9PTA7Y2FzZSBlLlBhdHRlcm5zLlBBVFRFUk4xMTE6cmV0dXJuKHIqbiUzKyhyK24pJTIpJTI9PTA7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImJhZCBtYXNrUGF0dGVybjoiK3QpfX1lLmlzVmFsaWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJiIiIT09dCYmIWlzTmFOKHQpJiZ0Pj0wJiZ0PD03fSxlLmZyb209ZnVuY3Rpb24odCl7cmV0dXJuIGUuaXNWYWxpZCh0KT9wYXJzZUludCh0LDEwKTp2b2lkIDB9LGUuZ2V0UGVuYWx0eU4xPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LnNpemUsbj0wLGk9MCxvPTAscz1udWxsLGE9bnVsbCx1PTA7dTxlO3UrKyl7aT1vPTAscz1hPW51bGw7Zm9yKHZhciBjPTA7YzxlO2MrKyl7dmFyIGY9dC5nZXQodSxjKTtmPT09cz9pKys6KGk+PTUmJihuKz1yKyhpLTUpKSxzPWYsaT0xKSwoZj10LmdldChjLHUpKT09PWE/bysrOihvPj01JiYobis9cisoby01KSksYT1mLG89MSl9aT49NSYmKG4rPXIrKGktNSkpLG8+PTUmJihuKz1yKyhvLTUpKX1yZXR1cm4gbn0sZS5nZXRQZW5hbHR5TjI9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQuc2l6ZSxyPTAsaT0wO2k8ZS0xO2krKylmb3IodmFyIG89MDtvPGUtMTtvKyspe3ZhciBzPXQuZ2V0KGksbykrdC5nZXQoaSxvKzEpK3QuZ2V0KGkrMSxvKSt0LmdldChpKzEsbysxKTs0IT09cyYmMCE9PXN8fHIrK31yZXR1cm4gcipufSxlLmdldFBlbmFsdHlOMz1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5zaXplLHI9MCxuPTAsbz0wLHM9MDtzPGU7cysrKXtuPW89MDtmb3IodmFyIGE9MDthPGU7YSsrKW49bjw8MSYyMDQ3fHQuZ2V0KHMsYSksYT49MTAmJigxNDg4PT09bnx8OTM9PT1uKSYmcisrLG89bzw8MSYyMDQ3fHQuZ2V0KGEscyksYT49MTAmJigxNDg4PT09b3x8OTM9PT1vKSYmcisrfXJldHVybiByKml9LGUuZ2V0UGVuYWx0eU40PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHI9dC5kYXRhLmxlbmd0aCxuPTA7bjxyO24rKyllKz10LmRhdGFbbl07cmV0dXJuIE1hdGguYWJzKE1hdGguY2VpbCgxMDAqZS9yLzUpLTEwKSpvfSxlLmFwcGx5TWFzaz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1lLnNpemUsbj0wO248cjtuKyspZm9yKHZhciBpPTA7aTxyO2krKyllLmlzUmVzZXJ2ZWQoaSxuKXx8ZS54b3IoaSxuLHModCxpLG4pKX0sZS5nZXRCZXN0TWFzaz1mdW5jdGlvbih0LHIpe2Zvcih2YXIgbj1PYmplY3Qua2V5cyhlLlBhdHRlcm5zKS5sZW5ndGgsaT0wLG89MS8wLHM9MDtzPG47cysrKXtyKHMpLGUuYXBwbHlNYXNrKHMsdCk7dmFyIGE9ZS5nZXRQZW5hbHR5TjEodCkrZS5nZXRQZW5hbHR5TjIodCkrZS5nZXRQZW5hbHR5TjModCkrZS5nZXRQZW5hbHR5TjQodCk7ZS5hcHBseU1hc2socyx0KSxhPG8mJihvPWEsaT1zKX1yZXR1cm4gaX19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDI2KSxpPXIoMTg4KSxvPXIoMikuQnVmZmVyO2Z1bmN0aW9uIHModCl7dGhpcy5nZW5Qb2x5PXZvaWQgMCx0aGlzLmRlZ3JlZT10LHRoaXMuZGVncmVlJiZ0aGlzLmluaXRpYWxpemUodGhpcy5kZWdyZWUpfXMucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7dGhpcy5kZWdyZWU9dCx0aGlzLmdlblBvbHk9aS5nZW5lcmF0ZUVDUG9seW5vbWlhbCh0aGlzLmRlZ3JlZSl9LHMucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbih0KXtpZighdGhpcy5nZW5Qb2x5KXRocm93IG5ldyBFcnJvcigiRW5jb2RlciBub3QgaW5pdGlhbGl6ZWQiKTt2YXIgZT1uLmFsbG9jKHRoaXMuZGVncmVlKSxyPW8uY29uY2F0KFt0LGVdLHQubGVuZ3RoK3RoaXMuZGVncmVlKSxzPWkubW9kKHIsdGhpcy5nZW5Qb2x5KSxhPXRoaXMuZGVncmVlLXMubGVuZ3RoO2lmKGE+MCl7dmFyIHU9bi5hbGxvYyh0aGlzLmRlZ3JlZSk7cmV0dXJuIHMuY29weSh1LGEpLHV9cmV0dXJuIHN9LHQuZXhwb3J0cz1zfSxmdW5jdGlvbih0LGUscil7dmFyIG49cigyNiksaT1yKDE4OSk7ZS5tdWw9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bi5hbGxvYyh0Lmxlbmd0aCtlLmxlbmd0aC0xKSxvPTA7bzx0Lmxlbmd0aDtvKyspZm9yKHZhciBzPTA7czxlLmxlbmd0aDtzKyspcltvK3NdXj1pLm11bCh0W29dLGVbc10pO3JldHVybiByfSxlLm1vZD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1uLmZyb20odCk7ci5sZW5ndGgtZS5sZW5ndGg+PTA7KXtmb3IodmFyIG89clswXSxzPTA7czxlLmxlbmd0aDtzKyspcltzXV49aS5tdWwoZVtzXSxvKTtmb3IodmFyIGE9MDthPHIubGVuZ3RoJiYwPT09clthXTspYSsrO3I9ci5zbGljZShhKX1yZXR1cm4gcn0sZS5nZW5lcmF0ZUVDUG9seW5vbWlhbD1mdW5jdGlvbih0KXtmb3IodmFyIHI9bi5mcm9tKFsxXSksbz0wO288dDtvKyspcj1lLm11bChyLFsxLGkuZXhwKG8pXSk7cmV0dXJuIHJ9fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigyNiksaT1uLmFsbG9jKDUxMiksbz1uLmFsbG9jKDI1Nik7IWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTEsZT0wO2U8MjU1O2UrKylpW2VdPXQsb1t0XT1lLDI1NiYodDw8PTEpJiYodF49Mjg1KTtmb3IoZT0yNTU7ZTw1MTI7ZSsrKWlbZV09aVtlLTI1NV19KCksZS5sb2c9ZnVuY3Rpb24odCl7aWYodDwxKXRocm93IG5ldyBFcnJvcigibG9nKCIrdCsiKSIpO3JldHVybiBvW3RdfSxlLmV4cD1mdW5jdGlvbih0KXtyZXR1cm4gaVt0XX0sZS5tdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gMD09PXR8fDA9PT1lPzA6aVtvW3RdK29bZV1dfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTcpLGk9cig5OCksbz1yKDUxKSxzPXIoMTgpLGE9cig5OSksdT1yKDUwKSxjPW4uZ2V0QkNIRGlnaXQoNzk3Myk7ZnVuY3Rpb24gZih0LGUpe3JldHVybiBzLmdldENoYXJDb3VudEluZGljYXRvcih0LGUpKzR9ZnVuY3Rpb24gaCh0LGUpe3ZhciByPTA7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIG49Zih0Lm1vZGUsZSk7cis9bit0LmdldEJpdHNMZW5ndGgoKX0pKSxyfWUuZnJvbT1mdW5jdGlvbih0LGUpe3JldHVybiBhLmlzVmFsaWQodCk/cGFyc2VJbnQodCwxMCk6ZX0sZS5nZXRDYXBhY2l0eT1mdW5jdGlvbih0LGUscil7aWYoIWEuaXNWYWxpZCh0KSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgUVIgQ29kZSB2ZXJzaW9uIik7dm9pZCAwPT09ciYmKHI9cy5CWVRFKTt2YXIgbz04KihuLmdldFN5bWJvbFRvdGFsQ29kZXdvcmRzKHQpLWkuZ2V0VG90YWxDb2Rld29yZHNDb3VudCh0LGUpKTtpZihyPT09cy5NSVhFRClyZXR1cm4gbzt2YXIgdT1vLWYocix0KTtzd2l0Y2gocil7Y2FzZSBzLk5VTUVSSUM6cmV0dXJuIE1hdGguZmxvb3IodS8xMCozKTtjYXNlIHMuQUxQSEFOVU1FUklDOnJldHVybiBNYXRoLmZsb29yKHUvMTEqMik7Y2FzZSBzLktBTkpJOnJldHVybiBNYXRoLmZsb29yKHUvMTMpO2Nhc2Ugcy5CWVRFOmRlZmF1bHQ6cmV0dXJuIE1hdGguZmxvb3IodS84KX19LGUuZ2V0QmVzdFZlcnNpb25Gb3JEYXRhPWZ1bmN0aW9uKHQscil7dmFyIG4saT1vLmZyb20ocixvLk0pO2lmKHUodCkpe2lmKHQubGVuZ3RoPjEpcmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBuPTE7bjw9NDA7bisrKXtpZihoKHQsbik8PWUuZ2V0Q2FwYWNpdHkobixyLHMuTUlYRUQpKXJldHVybiBufX0odCxpKTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIDE7bj10WzBdfWVsc2Ugbj10O3JldHVybiBmdW5jdGlvbih0LHIsbil7Zm9yKHZhciBpPTE7aTw9NDA7aSsrKWlmKHI8PWUuZ2V0Q2FwYWNpdHkoaSxuLHQpKXJldHVybiBpfShuLm1vZGUsbi5nZXRMZW5ndGgoKSxpKX0sZS5nZXRFbmNvZGVkQml0cz1mdW5jdGlvbih0KXtpZighYS5pc1ZhbGlkKHQpfHx0PDcpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIFFSIENvZGUgdmVyc2lvbiIpO2Zvcih2YXIgZT10PDwxMjtuLmdldEJDSERpZ2l0KGUpLWM+PTA7KWVePTc5NzM8PG4uZ2V0QkNIRGlnaXQoZSktYztyZXR1cm4gdDw8MTJ8ZX19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDE3KSxpPW4uZ2V0QkNIRGlnaXQoMTMzNSk7ZS5nZXRFbmNvZGVkQml0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10LmJpdDw8M3xlLG89cjw8MTA7bi5nZXRCQ0hEaWdpdChvKS1pPj0wOylvXj0xMzM1PDxuLmdldEJDSERpZ2l0KG8pLWk7cmV0dXJuIDIxNTIyXihyPDwxMHxvKX19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDE4KSxpPXIoMTkzKSxvPXIoMTk0KSxzPXIoMTk1KSxhPXIoMTk2KSx1PXIoMTAwKSxjPXIoMTcpLGY9cigxOTcpO2Z1bmN0aW9uIGgodCl7cmV0dXJuIHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudCh0KSkubGVuZ3RofWZ1bmN0aW9uIGwodCxlLHIpe2Zvcih2YXIgbixpPVtdO251bGwhPT0obj10LmV4ZWMocikpOylpLnB1c2goe2RhdGE6blswXSxpbmRleDpuLmluZGV4LG1vZGU6ZSxsZW5ndGg6blswXS5sZW5ndGh9KTtyZXR1cm4gaX1mdW5jdGlvbiBkKHQpe3ZhciBlLHIsaT1sKHUuTlVNRVJJQyxuLk5VTUVSSUMsdCksbz1sKHUuQUxQSEFOVU1FUklDLG4uQUxQSEFOVU1FUklDLHQpO3JldHVybiBjLmlzS2FuamlNb2RlRW5hYmxlZCgpPyhlPWwodS5CWVRFLG4uQllURSx0KSxyPWwodS5LQU5KSSxuLktBTkpJLHQpKTooZT1sKHUuQllURV9LQU5KSSxuLkJZVEUsdCkscj1bXSksaS5jb25jYXQobyxlLHIpLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuaW5kZXgtZS5pbmRleH0pKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybntkYXRhOnQuZGF0YSxtb2RlOnQubW9kZSxsZW5ndGg6dC5sZW5ndGh9fSkpfWZ1bmN0aW9uIHAodCxlKXtzd2l0Y2goZSl7Y2FzZSBuLk5VTUVSSUM6cmV0dXJuIGkuZ2V0Qml0c0xlbmd0aCh0KTtjYXNlIG4uQUxQSEFOVU1FUklDOnJldHVybiBvLmdldEJpdHNMZW5ndGgodCk7Y2FzZSBuLktBTkpJOnJldHVybiBhLmdldEJpdHNMZW5ndGgodCk7Y2FzZSBuLkJZVEU6cmV0dXJuIHMuZ2V0Qml0c0xlbmd0aCh0KX19ZnVuY3Rpb24gbSh0LGUpe3ZhciByLHU9bi5nZXRCZXN0TW9kZUZvckRhdGEodCk7aWYoKHI9bi5mcm9tKGUsdSkpIT09bi5CWVRFJiZyLmJpdDx1LmJpdCl0aHJvdyBuZXcgRXJyb3IoJyInK3QrJyIgY2Fubm90IGJlIGVuY29kZWQgd2l0aCBtb2RlICcrbi50b1N0cmluZyhyKSsiLlxuIFN1Z2dlc3RlZCBtb2RlIGlzOiAiK24udG9TdHJpbmcodSkpO3N3aXRjaChyIT09bi5LQU5KSXx8Yy5pc0thbmppTW9kZUVuYWJsZWQoKXx8KHI9bi5CWVRFKSxyKXtjYXNlIG4uTlVNRVJJQzpyZXR1cm4gbmV3IGkodCk7Y2FzZSBuLkFMUEhBTlVNRVJJQzpyZXR1cm4gbmV3IG8odCk7Y2FzZSBuLktBTkpJOnJldHVybiBuZXcgYSh0KTtjYXNlIG4uQllURTpyZXR1cm4gbmV3IHModCl9fWUuZnJvbUFycmF5PWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/dC5wdXNoKG0oZSxudWxsKSk6ZS5kYXRhJiZ0LnB1c2gobShlLmRhdGEsZS5tb2RlKSksdH0pLFtdKX0sZS5mcm9tU3RyaW5nPWZ1bmN0aW9uKHQscil7Zm9yKHZhciBpPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXt9LGk9e3N0YXJ0Ont9fSxvPVsic3RhcnQiXSxzPTA7czx0Lmxlbmd0aDtzKyspe2Zvcih2YXIgYT10W3NdLHU9W10sYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZj1hW2NdLGg9IiIrcytjO3UucHVzaChoKSxyW2hdPXtub2RlOmYsbGFzdENvdW50OjB9LGlbaF09e307Zm9yKHZhciBsPTA7bDxvLmxlbmd0aDtsKyspe3ZhciBkPW9bbF07cltkXSYmcltkXS5ub2RlLm1vZGU9PT1mLm1vZGU/KGlbZF1baF09cChyW2RdLmxhc3RDb3VudCtmLmxlbmd0aCxmLm1vZGUpLXAocltkXS5sYXN0Q291bnQsZi5tb2RlKSxyW2RdLmxhc3RDb3VudCs9Zi5sZW5ndGgpOihyW2RdJiYocltkXS5sYXN0Q291bnQ9Zi5sZW5ndGgpLGlbZF1baF09cChmLmxlbmd0aCxmLm1vZGUpKzQrbi5nZXRDaGFyQ291bnRJbmRpY2F0b3IoZi5tb2RlLGUpKX19bz11fWZvcihsPTA7bDxvLmxlbmd0aDtsKyspaVtvW2xdXS5lbmQ9MDtyZXR1cm57bWFwOmksdGFibGU6cn19KGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBpPXRbcl07c3dpdGNoKGkubW9kZSl7Y2FzZSBuLk5VTUVSSUM6ZS5wdXNoKFtpLHtkYXRhOmkuZGF0YSxtb2RlOm4uQUxQSEFOVU1FUklDLGxlbmd0aDppLmxlbmd0aH0se2RhdGE6aS5kYXRhLG1vZGU6bi5CWVRFLGxlbmd0aDppLmxlbmd0aH1dKTticmVhaztjYXNlIG4uQUxQSEFOVU1FUklDOmUucHVzaChbaSx7ZGF0YTppLmRhdGEsbW9kZTpuLkJZVEUsbGVuZ3RoOmkubGVuZ3RofV0pO2JyZWFrO2Nhc2Ugbi5LQU5KSTplLnB1c2goW2kse2RhdGE6aS5kYXRhLG1vZGU6bi5CWVRFLGxlbmd0aDpoKGkuZGF0YSl9XSk7YnJlYWs7Y2FzZSBuLkJZVEU6ZS5wdXNoKFt7ZGF0YTppLmRhdGEsbW9kZTpuLkJZVEUsbGVuZ3RoOmgoaS5kYXRhKX1dKX19cmV0dXJuIGV9KGQodCxjLmlzS2FuamlNb2RlRW5hYmxlZCgpKSksciksbz1mLmZpbmRfcGF0aChpLm1hcCwic3RhcnQiLCJlbmQiKSxzPVtdLGE9MTthPG8ubGVuZ3RoLTE7YSsrKXMucHVzaChpLnRhYmxlW29bYV1dLm5vZGUpO3JldHVybiBlLmZyb21BcnJheShmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5sZW5ndGgtMT49MD90W3QubGVuZ3RoLTFdOm51bGw7cmV0dXJuIHImJnIubW9kZT09PWUubW9kZT8odFt0Lmxlbmd0aC0xXS5kYXRhKz1lLmRhdGEsdCk6KHQucHVzaChlKSx0KX0pLFtdKX0ocykpfSxlLnJhd1NwbGl0PWZ1bmN0aW9uKHQpe3JldHVybiBlLmZyb21BcnJheShkKHQsYy5pc0thbmppTW9kZUVuYWJsZWQoKSkpfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTgpO2Z1bmN0aW9uIGkodCl7dGhpcy5tb2RlPW4uTlVNRVJJQyx0aGlzLmRhdGE9dC50b1N0cmluZygpfWkuZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gMTAqTWF0aC5mbG9vcih0LzMpKyh0JTM/dCUzKjMrMTowKX0saS5wcm90b3R5cGUuZ2V0TGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YS5sZW5ndGh9LGkucHJvdG90eXBlLmdldEJpdHNMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gaS5nZXRCaXRzTGVuZ3RoKHRoaXMuZGF0YS5sZW5ndGgpfSxpLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXt2YXIgZSxyLG47Zm9yKGU9MDtlKzM8PXRoaXMuZGF0YS5sZW5ndGg7ZSs9MylyPXRoaXMuZGF0YS5zdWJzdHIoZSwzKSxuPXBhcnNlSW50KHIsMTApLHQucHV0KG4sMTApO3ZhciBpPXRoaXMuZGF0YS5sZW5ndGgtZTtpPjAmJihyPXRoaXMuZGF0YS5zdWJzdHIoZSksbj1wYXJzZUludChyLDEwKSx0LnB1dChuLDMqaSsxKSl9LHQuZXhwb3J0cz1pfSxmdW5jdGlvbih0LGUscil7dmFyIG49cigxOCksaT1bIjAiLCIxIiwiMiIsIjMiLCI0IiwiNSIsIjYiLCI3IiwiOCIsIjkiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsIiAiLCIkIiwiJSIsIioiLCIrIiwiLSIsIi4iLCIvIiwiOiJdO2Z1bmN0aW9uIG8odCl7dGhpcy5tb2RlPW4uQUxQSEFOVU1FUklDLHRoaXMuZGF0YT10fW8uZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gMTEqTWF0aC5mbG9vcih0LzIpK3QlMio2fSxvLnByb3RvdHlwZS5nZXRMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aH0sby5wcm90b3R5cGUuZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbigpe3JldHVybiBvLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aCl9LG8ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3ZhciBlO2ZvcihlPTA7ZSsyPD10aGlzLmRhdGEubGVuZ3RoO2UrPTIpe3ZhciByPTQ1KmkuaW5kZXhPZih0aGlzLmRhdGFbZV0pO3IrPWkuaW5kZXhPZih0aGlzLmRhdGFbZSsxXSksdC5wdXQociwxMSl9dGhpcy5kYXRhLmxlbmd0aCUyJiZ0LnB1dChpLmluZGV4T2YodGhpcy5kYXRhW2VdKSw2KX0sdC5leHBvcnRzPW99LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDI2KSxpPXIoMTgpO2Z1bmN0aW9uIG8odCl7dGhpcy5tb2RlPWkuQllURSx0aGlzLmRhdGE9bi5mcm9tKHQpfW8uZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gOCp0fSxvLnByb3RvdHlwZS5nZXRMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aH0sby5wcm90b3R5cGUuZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbigpe3JldHVybiBvLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aCl9LG8ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHI9dGhpcy5kYXRhLmxlbmd0aDtlPHI7ZSsrKXQucHV0KHRoaXMuZGF0YVtlXSw4KX0sdC5leHBvcnRzPW99LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDE4KSxpPXIoMTcpO2Z1bmN0aW9uIG8odCl7dGhpcy5tb2RlPW4uS0FOSkksdGhpcy5kYXRhPXR9by5nZXRCaXRzTGVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiAxMyp0fSxvLnByb3RvdHlwZS5nZXRMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aH0sby5wcm90b3R5cGUuZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbigpe3JldHVybiBvLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aCl9LG8ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3ZhciBlO2ZvcihlPTA7ZTx0aGlzLmRhdGEubGVuZ3RoO2UrKyl7dmFyIHI9aS50b1NKSVModGhpcy5kYXRhW2VdKTtpZihyPj0zMzA4OCYmcjw9NDA5NTYpci09MzMwODg7ZWxzZXtpZighKHI+PTU3NDA4JiZyPD02MDM1MSkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIFNKSVMgY2hhcmFjdGVyOiAiK3RoaXMuZGF0YVtlXSsiXG5NYWtlIHN1cmUgeW91ciBjaGFyc2V0IGlzIFVURi04Iik7ci09NDk0NzJ9cj0xOTIqKHI+Pj44JjI1NSkrKDI1NSZyKSx0LnB1dChyLDEzKX19LHQuZXhwb3J0cz1vfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXtzaW5nbGVfc291cmNlX3Nob3J0ZXN0X3BhdGhzOmZ1bmN0aW9uKHQsZSxyKXt2YXIgaT17fSxvPXt9O29bZV09MDt2YXIgcyxhLHUsYyxmLGgsbCxkPW4uUHJpb3JpdHlRdWV1ZS5tYWtlKCk7Zm9yKGQucHVzaChlLDApOyFkLmVtcHR5KCk7KWZvcih1IGluIGE9KHM9ZC5wb3AoKSkudmFsdWUsYz1zLmNvc3QsZj10W2FdfHx7fSlmLmhhc093blByb3BlcnR5KHUpJiYoaD1jK2ZbdV0sbD1vW3VdLCh2b2lkIDA9PT1vW3VdfHxsPmgpJiYob1t1XT1oLGQucHVzaCh1LGgpLGlbdV09YSkpO2lmKHZvaWQgMCE9PXImJnZvaWQgMD09PW9bcl0pe3ZhciBwPVsiQ291bGQgbm90IGZpbmQgYSBwYXRoIGZyb20gIixlLCIgdG8gIixyLCIuIl0uam9pbigiIik7dGhyb3cgbmV3IEVycm9yKHApfXJldHVybiBpfSxleHRyYWN0X3Nob3J0ZXN0X3BhdGhfZnJvbV9wcmVkZWNlc3Nvcl9saXN0OmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPVtdLG49ZTtuOylyLnB1c2gobiksdFtuXSxuPXRbbl07cmV0dXJuIHIucmV2ZXJzZSgpLHJ9LGZpbmRfcGF0aDpmdW5jdGlvbih0LGUscil7dmFyIGk9bi5zaW5nbGVfc291cmNlX3Nob3J0ZXN0X3BhdGhzKHQsZSxyKTtyZXR1cm4gbi5leHRyYWN0X3Nob3J0ZXN0X3BhdGhfZnJvbV9wcmVkZWNlc3Nvcl9saXN0KGkscil9LFByaW9yaXR5UXVldWU6e21ha2U6ZnVuY3Rpb24odCl7dmFyIGUscj1uLlByaW9yaXR5UXVldWUsaT17fTtmb3IoZSBpbiB0PXR8fHt9LHIpci5oYXNPd25Qcm9wZXJ0eShlKSYmKGlbZV09cltlXSk7cmV0dXJuIGkucXVldWU9W10saS5zb3J0ZXI9dC5zb3J0ZXJ8fHIuZGVmYXVsdF9zb3J0ZXIsaX0sZGVmYXVsdF9zb3J0ZXI6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5jb3N0LWUuY29zdH0scHVzaDpmdW5jdGlvbih0LGUpe3ZhciByPXt2YWx1ZTp0LGNvc3Q6ZX07dGhpcy5xdWV1ZS5wdXNoKHIpLHRoaXMucXVldWUuc29ydCh0aGlzLnNvcnRlcil9LHBvcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnF1ZXVlLnNoaWZ0KCl9LGVtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLnF1ZXVlLmxlbmd0aH19fTt0LmV4cG9ydHM9bn0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTAxKTtlLnJlbmRlcj1mdW5jdGlvbih0LGUscil7dmFyIGk9cixvPWU7dm9pZCAwIT09aXx8ZSYmZS5nZXRDb250ZXh0fHwoaT1lLGU9dm9pZCAwKSxlfHwobz1mdW5jdGlvbigpe3RyeXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIil9Y2F0Y2godCl7dGhyb3cgbmV3IEVycm9yKCJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgY2FudmFzIGVsZW1lbnQiKX19KCkpLGk9bi5nZXRPcHRpb25zKGkpO3ZhciBzPW4uZ2V0SW1hZ2VXaWR0aCh0Lm1vZHVsZXMuc2l6ZSxpKSxhPW8uZ2V0Q29udGV4dCgiMmQiKSx1PWEuY3JlYXRlSW1hZ2VEYXRhKHMscyk7cmV0dXJuIG4ucXJUb0ltYWdlRGF0YSh1LmRhdGEsdCxpKSxmdW5jdGlvbih0LGUscil7dC5jbGVhclJlY3QoMCwwLGUud2lkdGgsZS5oZWlnaHQpLGUuc3R5bGV8fChlLnN0eWxlPXt9KSxlLmhlaWdodD1yLGUud2lkdGg9cixlLnN0eWxlLmhlaWdodD1yKyJweCIsZS5zdHlsZS53aWR0aD1yKyJweCJ9KGEsbyxzKSxhLnB1dEltYWdlRGF0YSh1LDAsMCksb30sZS5yZW5kZXJUb0RhdGFVUkw9ZnVuY3Rpb24odCxyLG4pe3ZhciBpPW47dm9pZCAwIT09aXx8ciYmci5nZXRDb250ZXh0fHwoaT1yLHI9dm9pZCAwKSxpfHwoaT17fSk7dmFyIG89ZS5yZW5kZXIodCxyLGkpLHM9aS50eXBlfHwiaW1hZ2UvcG5nIixhPWkucmVuZGVyZXJPcHRzfHx7fTtyZXR1cm4gby50b0RhdGFVUkwocyxhLnF1YWxpdHkpfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTAxKTtmdW5jdGlvbiBpKHQsZSl7dmFyIHI9dC5hLzI1NSxuPWUrJz0iJyt0LmhleCsnIic7cmV0dXJuIHI8MT9uKyIgIitlKyctb3BhY2l0eT0iJytyLnRvRml4ZWQoMikuc2xpY2UoMSkrJyInOm59ZnVuY3Rpb24gbyh0LGUscil7dmFyIG49dCtlO3JldHVybiB2b2lkIDAhPT1yJiYobis9IiAiK3IpLG59ZS5yZW5kZXI9ZnVuY3Rpb24odCxlLHIpe3ZhciBzPW4uZ2V0T3B0aW9ucyhlKSxhPXQubW9kdWxlcy5zaXplLHU9dC5tb2R1bGVzLmRhdGEsYz1hKzIqcy5tYXJnaW4sZj1zLmNvbG9yLmxpZ2h0LmE/IjxwYXRoICIraShzLmNvbG9yLmxpZ2h0LCJmaWxsIikrJyBkPSJNMCAwaCcrYysidiIrYysnSDB6Ii8+JzoiIixoPSI8cGF0aCAiK2kocy5jb2xvci5kYXJrLCJzdHJva2UiKSsnIGQ9IicrZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj0iIixpPTAscz0hMSxhPTAsdT0wO3U8dC5sZW5ndGg7dSsrKXt2YXIgYz1NYXRoLmZsb29yKHUlZSksZj1NYXRoLmZsb29yKHUvZSk7Y3x8c3x8KHM9ITApLHRbdV0/KGErKyx1PjAmJmM+MCYmdFt1LTFdfHwobis9cz9vKCJNIixjK3IsLjUrZityKTpvKCJtIixpLDApLGk9MCxzPSExKSxjKzE8ZSYmdFt1KzFdfHwobis9bygiaCIsYSksYT0wKSk6aSsrfXJldHVybiBufSh1LGEscy5tYXJnaW4pKyciLz4nLGw9J3ZpZXdCb3g9IjAgMCAnK2MrIiAiK2MrJyInLGQ9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAnKyhzLndpZHRoPyd3aWR0aD0iJytzLndpZHRoKyciIGhlaWdodD0iJytzLndpZHRoKyciICc6IiIpK2wrJyBzaGFwZS1yZW5kZXJpbmc9ImNyaXNwRWRnZXMiPicrZitoKyI8L3N2Zz5cbiI7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHImJnIobnVsbCxkKSxkfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDIwMSksaT17InRleHQvcGxhaW4iOiJUZXh0IiwidGV4dC9odG1sIjoiVXJsIixkZWZhdWx0OiJUZXh0In07dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbyxzLGEsdSxjLGY9ITE7ZXx8KGU9e30pLHI9ZS5kZWJ1Z3x8ITE7dHJ5e2lmKHM9bigpLGE9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSx1PWRvY3VtZW50LmdldFNlbGVjdGlvbigpLChjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSkudGV4dENvbnRlbnQ9dCxjLnN0eWxlLmFsbD0idW5zZXQiLGMuc3R5bGUucG9zaXRpb249ImZpeGVkIixjLnN0eWxlLnRvcD0wLGMuc3R5bGUuY2xpcD0icmVjdCgwLCAwLCAwLCAwKSIsYy5zdHlsZS53aGl0ZVNwYWNlPSJwcmUiLGMuc3R5bGUud2Via2l0VXNlclNlbGVjdD0idGV4dCIsYy5zdHlsZS5Nb3pVc2VyU2VsZWN0PSJ0ZXh0IixjLnN0eWxlLm1zVXNlclNlbGVjdD0idGV4dCIsYy5zdHlsZS51c2VyU2VsZWN0PSJ0ZXh0IixjLmFkZEV2ZW50TGlzdGVuZXIoImNvcHkiLChmdW5jdGlvbihuKXtpZihuLnN0b3BQcm9wYWdhdGlvbigpLGUuZm9ybWF0KWlmKG4ucHJldmVudERlZmF1bHQoKSx2b2lkIDA9PT1uLmNsaXBib2FyZERhdGEpe3ImJmNvbnNvbGUud2FybigidW5hYmxlIHRvIHVzZSBlLmNsaXBib2FyZERhdGEiKSxyJiZjb25zb2xlLndhcm4oInRyeWluZyBJRSBzcGVjaWZpYyBzdHVmZiIpLHdpbmRvdy5jbGlwYm9hcmREYXRhLmNsZWFyRGF0YSgpO3ZhciBvPWlbZS5mb3JtYXRdfHxpLmRlZmF1bHQ7d2luZG93LmNsaXBib2FyZERhdGEuc2V0RGF0YShvLHQpfWVsc2Ugbi5jbGlwYm9hcmREYXRhLmNsZWFyRGF0YSgpLG4uY2xpcGJvYXJkRGF0YS5zZXREYXRhKGUuZm9ybWF0LHQpO2Uub25Db3B5JiYobi5wcmV2ZW50RGVmYXVsdCgpLGUub25Db3B5KG4uY2xpcGJvYXJkRGF0YSkpfSkpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYyksYS5zZWxlY3ROb2RlQ29udGVudHMoYyksdS5hZGRSYW5nZShhKSwhZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKSl0aHJvdyBuZXcgRXJyb3IoImNvcHkgY29tbWFuZCB3YXMgdW5zdWNjZXNzZnVsIik7Zj0hMH1jYXRjaChuKXtyJiZjb25zb2xlLmVycm9yKCJ1bmFibGUgdG8gY29weSB1c2luZyBleGVjQ29tbWFuZDogIixuKSxyJiZjb25zb2xlLndhcm4oInRyeWluZyBJRSBzcGVjaWZpYyBzdHVmZiIpO3RyeXt3aW5kb3cuY2xpcGJvYXJkRGF0YS5zZXREYXRhKGUuZm9ybWF0fHwidGV4dCIsdCksZS5vbkNvcHkmJmUub25Db3B5KHdpbmRvdy5jbGlwYm9hcmREYXRhKSxmPSEwfWNhdGNoKG4pe3ImJmNvbnNvbGUuZXJyb3IoInVuYWJsZSB0byBjb3B5IHVzaW5nIGNsaXBib2FyZERhdGE6ICIsbiksciYmY29uc29sZS5lcnJvcigiZmFsbGluZyBiYWNrIHRvIHByb21wdCIpLG89ZnVuY3Rpb24odCl7dmFyIGU9KC9tYWMgb3MgeC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk/IuKMmCI6IkN0cmwiKSsiK0MiO3JldHVybiB0LnJlcGxhY2UoLyN7XHMqa2V5XHMqfS9nLGUpfSgibWVzc2FnZSJpbiBlP2UubWVzc2FnZToiQ29weSB0byBjbGlwYm9hcmQ6ICN7a2V5fSwgRW50ZXIiKSx3aW5kb3cucHJvbXB0KG8sdCl9fWZpbmFsbHl7dSYmKCJmdW5jdGlvbiI9PXR5cGVvZiB1LnJlbW92ZVJhbmdlP3UucmVtb3ZlUmFuZ2UoYSk6dS5yZW1vdmVBbGxSYW5nZXMoKSksYyYmZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChjKSxzKCl9cmV0dXJuIGZ9fSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldFNlbGVjdGlvbigpO2lmKCF0LnJhbmdlQ291bnQpcmV0dXJuIGZ1bmN0aW9uKCl7fTtmb3IodmFyIGU9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxyPVtdLG49MDtuPHQucmFuZ2VDb3VudDtuKyspci5wdXNoKHQuZ2V0UmFuZ2VBdChuKSk7c3dpdGNoKGUudGFnTmFtZS50b1VwcGVyQ2FzZSgpKXtjYXNlIklOUFVUIjpjYXNlIlRFWFRBUkVBIjplLmJsdXIoKTticmVhaztkZWZhdWx0OmU9bnVsbH1yZXR1cm4gdC5yZW1vdmVBbGxSYW5nZXMoKSxmdW5jdGlvbigpeyJDYXJldCI9PT10LnR5cGUmJnQucmVtb3ZlQWxsUmFuZ2VzKCksdC5yYW5nZUNvdW50fHxyLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuYWRkUmFuZ2UoZSl9KSksZSYmZS5mb2N1cygpfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5yKGUpO3ZhciBuPXIoMTY0KSxpPXIubihuKSxvPXIoMTY1KSxzPXIoMSk7Y29uc3QgYT1PYmplY3Qocy5nZXRGcm9tV2luZG93KSgiWE1MSHR0cFJlcXVlc3QiKXx8by5YTUxIdHRwUmVxdWVzdDtjbGFzcyB1IGV4dGVuZHMgaS5he2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy51cmw9dH1mb3JtYXRFcnJvcih0LGUscj0tMSl7cmV0dXJue2Vycm9yOnttZXNzYWdlOmUsY29kZTpyfSxpZDp0LmlkLGpzb25ycGM6dC5qc29ucnBjfX1zZW5kKHQsZSl7cmV0dXJuIG5ldyBQcm9taXNlKHI9PntpZigiZXRoX3N1YnNjcmliZSI9PT10Lm1ldGhvZCl7Y29uc3QgZT10aGlzLmZvcm1hdEVycm9yKHQsIlN1YnNjcmlwdGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBIVFRQIGVuZHBvaW50Iik7cmV0dXJuIHRoaXMuZW1pdCgiZXJyb3IiLGUpLHIoZSl9Y29uc3Qgbj1uZXcgYTtsZXQgaT0hMTtjb25zdCBvPShvLHMpPT57aWYoIWkpaWYobi5hYm9ydCgpLGk9ITAsZSllKG8scyk7ZWxzZXtjb25zdHtpZDplLGpzb25ycGM6bn09dCxpPW8/e2lkOmUsanNvbnJwYzpuLGVycm9yOnttZXNzYWdlOm8ubWVzc2FnZSxjb2RlOm8uY29kZX19OntpZDplLGpzb25ycGM6bixyZXN1bHQ6c307dGhpcy5lbWl0KCJwYXlsb2FkIixpKSxyKGkpfX07bi5vcGVuKCJQT1NUIix0aGlzLnVybCwhMCksbi5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi9qc29uIiksbi50aW1lb3V0PTZlNCxuLm9uZXJyb3I9byxuLm9udGltZW91dD1vLG4ub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57aWYoND09PW4ucmVhZHlTdGF0ZSl0cnl7Y29uc3QgdD1KU09OLnBhcnNlKG4ucmVzcG9uc2VUZXh0KTtvKHQuZXJyb3IsdC5yZXN1bHQpfWNhdGNoKHQpe28odCl9fSxuLnNlbmQoSlNPTi5zdHJpbmdpZnkodCkpfSl9fWUuZGVmYXVsdD11fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0LG4pe3ZhciBpLG89dGhpcyYmdGhpcy5fX2V4dGVuZHN8fChpPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKWUuaGFzT3duUHJvcGVydHkocikmJih0W3JdPWVbcl0pfSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9aSh0LGUpLHQucHJvdG90eXBlPW51bGw9PT1lP09iamVjdC5jcmVhdGUoZSk6KHIucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyByKX0pLHM9dGhpcyYmdGhpcy5fX2Fzc2lnbnx8T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9MSxuPWFyZ3VtZW50cy5sZW5ndGg7cjxuO3IrKylmb3IodmFyIGkgaW4gZT1hcmd1bWVudHNbcl0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkmJih0W2ldPWVbaV0pO3JldHVybiB0fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGE9cigxMDIpLHU9cigyMTgpLGM9cigyMTkpLGY9cig1NSksaD1yKDIyMCksbD1yKDIyMSksZD1yKDU2KSxwPXIoMjIyKSxtPXIoMjIzKSxnPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHIobil7dm9pZCAwPT09biYmKG49e30pO3ZhciBpPWUuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gaS5VTlNFTlQ9ci5VTlNFTlQsaS5PUEVORUQ9ci5PUEVORUQsaS5IRUFERVJTX1JFQ0VJVkVEPXIuSEVBREVSU19SRUNFSVZFRCxpLkxPQURJTkc9ci5MT0FESU5HLGkuRE9ORT1yLkRPTkUsaS5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxpLnJlYWR5U3RhdGU9ci5VTlNFTlQsaS5yZXNwb25zZT1udWxsLGkucmVzcG9uc2VUZXh0PSIiLGkucmVzcG9uc2VUeXBlPSIiLGkuc3RhdHVzPTAsaS5zdGF0dXNUZXh0PSIiLGkudGltZW91dD0wLGkudXBsb2FkPW5ldyBwLlhNTEh0dHBSZXF1ZXN0VXBsb2FkLGkucmVzcG9uc2VVcmw9IiIsaS53aXRoQ3JlZGVudGlhbHM9ITEsaS5fbWV0aG9kPW51bGwsaS5fdXJsPW51bGwsaS5fc3luYz0hMSxpLl9oZWFkZXJzPXt9LGkuX2xvd2VyZWRIZWFkZXJzPXt9LGkuX21pbWVPdmVycmlkZT1udWxsLGkuX3JlcXVlc3Q9bnVsbCxpLl9yZXNwb25zZT1udWxsLGkuX3Jlc3BvbnNlUGFydHM9bnVsbCxpLl9yZXNwb25zZUhlYWRlcnM9bnVsbCxpLl9hYm9ydGluZz1udWxsLGkuX2Vycm9yPW51bGwsaS5fbG9hZGVkQnl0ZXM9MCxpLl90b3RhbEJ5dGVzPTAsaS5fbGVuZ3RoQ29tcHV0YWJsZT0hMSxpLl9yZXN0cmljdGVkTWV0aG9kcz17Q09OTkVDVDohMCxUUkFDRTohMCxUUkFDSzohMH0saS5fcmVzdHJpY3RlZEhlYWRlcnM9eyJhY2NlcHQtY2hhcnNldCI6ITAsImFjY2VwdC1lbmNvZGluZyI6ITAsImFjY2Vzcy1jb250cm9sLXJlcXVlc3QtaGVhZGVycyI6ITAsImFjY2Vzcy1jb250cm9sLXJlcXVlc3QtbWV0aG9kIjohMCxjb25uZWN0aW9uOiEwLCJjb250ZW50LWxlbmd0aCI6ITAsY29va2llOiEwLGNvb2tpZTI6ITAsZGF0ZTohMCxkbnQ6ITAsZXhwZWN0OiEwLGhvc3Q6ITAsImtlZXAtYWxpdmUiOiEwLG9yaWdpbjohMCxyZWZlcmVyOiEwLHRlOiEwLHRyYWlsZXI6ITAsInRyYW5zZmVyLWVuY29kaW5nIjohMCx1cGdyYWRlOiEwLCJ1c2VyLWFnZW50IjohMCx2aWE6ITB9LGkuX3ByaXZhdGVIZWFkZXJzPXsic2V0LWNvb2tpZSI6ITAsInNldC1jb29raWUyIjohMH0saS5fdXNlckFnZW50PSJNb3ppbGxhLzUuMCAoIitjLnR5cGUoKSsiICIrYy5hcmNoKCkrIikgbm9kZS5qcy8iK3QudmVyc2lvbnMubm9kZSsiIHY4LyIrdC52ZXJzaW9ucy52OCxpLl9hbm9ueW1vdXM9bi5hbm9ufHwhMSxpfXJldHVybiBvKHIsZSksci5wcm90b3R5cGUub3Blbj1mdW5jdGlvbih0LGUsbixpLG8pe2lmKHZvaWQgMD09PW4mJihuPSEwKSx0PXQudG9VcHBlckNhc2UoKSx0aGlzLl9yZXN0cmljdGVkTWV0aG9kc1t0XSl0aHJvdyBuZXcgci5TZWN1cml0eUVycm9yKCJIVFRQIG1ldGhvZCAiK3QrIiBpcyBub3QgYWxsb3dlZCBpbiBYSFIiKTt2YXIgcz10aGlzLl9wYXJzZVVybChlLGksbyk7dGhpcy5yZWFkeVN0YXRlPT09ci5IRUFERVJTX1JFQ0VJVkVEfHwodGhpcy5yZWFkeVN0YXRlLHIuTE9BRElORyksdGhpcy5fbWV0aG9kPXQsdGhpcy5fdXJsPXMsdGhpcy5fc3luYz0hbix0aGlzLl9oZWFkZXJzPXt9LHRoaXMuX2xvd2VyZWRIZWFkZXJzPXt9LHRoaXMuX21pbWVPdmVycmlkZT1udWxsLHRoaXMuX3NldFJlYWR5U3RhdGUoci5PUEVORUQpLHRoaXMuX3JlcXVlc3Q9bnVsbCx0aGlzLl9yZXNwb25zZT1udWxsLHRoaXMuc3RhdHVzPTAsdGhpcy5zdGF0dXNUZXh0PSIiLHRoaXMuX3Jlc3BvbnNlUGFydHM9W10sdGhpcy5fcmVzcG9uc2VIZWFkZXJzPW51bGwsdGhpcy5fbG9hZGVkQnl0ZXM9MCx0aGlzLl90b3RhbEJ5dGVzPTAsdGhpcy5fbGVuZ3RoQ29tcHV0YWJsZT0hMX0sci5wcm90b3R5cGUuc2V0UmVxdWVzdEhlYWRlcj1mdW5jdGlvbih0LGUpe2lmKHRoaXMucmVhZHlTdGF0ZSE9PXIuT1BFTkVEKXRocm93IG5ldyByLkludmFsaWRTdGF0ZUVycm9yKCJYSFIgcmVhZHlTdGF0ZSBtdXN0IGJlIE9QRU5FRCIpO3ZhciBuPXQudG9Mb3dlckNhc2UoKTt0aGlzLl9yZXN0cmljdGVkSGVhZGVyc1tuXXx8L15zZWMtLy50ZXN0KG4pfHwvXnByb3h5LS8udGVzdChuKT9jb25zb2xlLndhcm4oJ1JlZnVzZWQgdG8gc2V0IHVuc2FmZSBoZWFkZXIgIicrdCsnIicpOihlPWUudG9TdHJpbmcoKSxudWxsIT10aGlzLl9sb3dlcmVkSGVhZGVyc1tuXT8odD10aGlzLl9sb3dlcmVkSGVhZGVyc1tuXSx0aGlzLl9oZWFkZXJzW3RdPXRoaXMuX2hlYWRlcnNbdF0rIiwgIitlKToodGhpcy5fbG93ZXJlZEhlYWRlcnNbbl09dCx0aGlzLl9oZWFkZXJzW3RdPWUpKX0sci5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbih0KXtpZih0aGlzLnJlYWR5U3RhdGUhPT1yLk9QRU5FRCl0aHJvdyBuZXcgci5JbnZhbGlkU3RhdGVFcnJvcigiWEhSIHJlYWR5U3RhdGUgbXVzdCBiZSBPUEVORUQiKTtpZih0aGlzLl9yZXF1ZXN0KXRocm93IG5ldyByLkludmFsaWRTdGF0ZUVycm9yKCJzZW5kKCkgYWxyZWFkeSBjYWxsZWQiKTtzd2l0Y2godGhpcy5fdXJsLnByb3RvY29sKXtjYXNlImZpbGU6IjpyZXR1cm4gdGhpcy5fc2VuZEZpbGUodCk7Y2FzZSJodHRwOiI6Y2FzZSJodHRwczoiOnJldHVybiB0aGlzLl9zZW5kSHR0cCh0KTtkZWZhdWx0OnRocm93IG5ldyByLk5ldHdvcmtFcnJvcigiVW5zdXBwb3J0ZWQgcHJvdG9jb2wgIit0aGlzLl91cmwucHJvdG9jb2wpfX0sci5wcm90b3R5cGUuYWJvcnQ9ZnVuY3Rpb24oKXtudWxsIT10aGlzLl9yZXF1ZXN0JiYodGhpcy5fcmVxdWVzdC5hYm9ydCgpLHRoaXMuX3NldEVycm9yKCksdGhpcy5fZGlzcGF0Y2hQcm9ncmVzcygiYWJvcnQiKSx0aGlzLl9kaXNwYXRjaFByb2dyZXNzKCJsb2FkZW5kIikpfSxyLnByb3RvdHlwZS5nZXRSZXNwb25zZUhlYWRlcj1mdW5jdGlvbih0KXtpZihudWxsPT10aGlzLl9yZXNwb25zZUhlYWRlcnN8fG51bGw9PXQpcmV0dXJuIG51bGw7dmFyIGU9dC50b0xvd2VyQ2FzZSgpO3JldHVybiB0aGlzLl9yZXNwb25zZUhlYWRlcnMuaGFzT3duUHJvcGVydHkoZSk/dGhpcy5fcmVzcG9uc2VIZWFkZXJzW3QudG9Mb3dlckNhc2UoKV06bnVsbH0sci5wcm90b3R5cGUuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gbnVsbD09dGhpcy5fcmVzcG9uc2VIZWFkZXJzPyIiOk9iamVjdC5rZXlzKHRoaXMuX3Jlc3BvbnNlSGVhZGVycykubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZSsiOiAiK3QuX3Jlc3BvbnNlSGVhZGVyc1tlXX0pKS5qb2luKCJcclxuIil9LHIucHJvdG90eXBlLm92ZXJyaWRlTWltZVR5cGU9ZnVuY3Rpb24odCl7aWYodGhpcy5yZWFkeVN0YXRlPT09ci5MT0FESU5HfHx0aGlzLnJlYWR5U3RhdGU9PT1yLkRPTkUpdGhyb3cgbmV3IHIuSW52YWxpZFN0YXRlRXJyb3IoIm92ZXJyaWRlTWltZVR5cGUoKSBub3QgYWxsb3dlZCBpbiBMT0FESU5HIG9yIERPTkUiKTt0aGlzLl9taW1lT3ZlcnJpZGU9dC50b0xvd2VyQ2FzZSgpfSxyLnByb3RvdHlwZS5ub2RlanNTZXQ9ZnVuY3Rpb24odCl7aWYodGhpcy5ub2RlanNIdHRwQWdlbnQ9dC5odHRwQWdlbnR8fHRoaXMubm9kZWpzSHR0cEFnZW50LHRoaXMubm9kZWpzSHR0cHNBZ2VudD10Lmh0dHBzQWdlbnR8fHRoaXMubm9kZWpzSHR0cHNBZ2VudCx0Lmhhc093blByb3BlcnR5KCJiYXNlVXJsIikpe2lmKG51bGwhPXQuYmFzZVVybClpZighZi5wYXJzZSh0LmJhc2VVcmwsITEsITApLnByb3RvY29sKXRocm93IG5ldyByLlN5bnRheEVycm9yKCJiYXNlVXJsIG11c3QgYmUgYW4gYWJzb2x1dGUgVVJMIik7dGhpcy5ub2RlanNCYXNlVXJsPXQuYmFzZVVybH19LHIubm9kZWpzU2V0PWZ1bmN0aW9uKHQpe3IucHJvdG90eXBlLm5vZGVqc1NldCh0KX0sci5wcm90b3R5cGUuX3NldFJlYWR5U3RhdGU9ZnVuY3Rpb24odCl7dGhpcy5yZWFkeVN0YXRlPXQsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBoLlByb2dyZXNzRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSl9LHIucHJvdG90eXBlLl9zZW5kRmlsZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoIlByb3RvY29sIGZpbGU6IG5vdCBpbXBsZW1lbnRlZCIpfSxyLnByb3RvdHlwZS5fc2VuZEh0dHA9ZnVuY3Rpb24odCl7aWYodGhpcy5fc3luYyl0aHJvdyBuZXcgRXJyb3IoIlN5bmNocm9ub3VzIFhIUiBwcm9jZXNzaW5nIG5vdCBpbXBsZW1lbnRlZCIpOyF0fHwiR0VUIiE9PXRoaXMuX21ldGhvZCYmIkhFQUQiIT09dGhpcy5fbWV0aG9kP3Q9dHx8IiI6KGNvbnNvbGUud2FybigiRGlzY2FyZGluZyBlbnRpdHkgYm9keSBmb3IgIit0aGlzLl9tZXRob2QrIiByZXF1ZXN0cyIpLHQ9bnVsbCksdGhpcy51cGxvYWQuX3NldERhdGEodCksdGhpcy5fZmluYWxpemVIZWFkZXJzKCksdGhpcy5fc2VuZEh4eHBSZXF1ZXN0KCl9LHIucHJvdG90eXBlLl9zZW5kSHh4cFJlcXVlc3Q9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKHRoaXMud2l0aENyZWRlbnRpYWxzKXt2YXIgZT1yLmNvb2tpZUphci5nZXRDb29raWVzKG0uQ29va2llQWNjZXNzSW5mbyh0aGlzLl91cmwuaG9zdG5hbWUsdGhpcy5fdXJsLnBhdGhuYW1lLCJodHRwczoiPT09dGhpcy5fdXJsLnByb3RvY29sKSkudG9WYWx1ZVN0cmluZygpO3RoaXMuX2hlYWRlcnMuY29va2llPXRoaXMuX2hlYWRlcnMuY29va2llMj1lfXZhciBuPSJodHRwOiI9PT10aGlzLl91cmwucHJvdG9jb2w/W2EsdGhpcy5ub2RlanNIdHRwQWdlbnRdOlt1LHRoaXMubm9kZWpzSHR0cHNBZ2VudF0saT1uWzBdLG89blsxXSxzPWkucmVxdWVzdC5iaW5kKGkpKHtob3N0bmFtZTp0aGlzLl91cmwuaG9zdG5hbWUscG9ydDordGhpcy5fdXJsLnBvcnQscGF0aDp0aGlzLl91cmwucGF0aCxhdXRoOnRoaXMuX3VybC5hdXRoLG1ldGhvZDp0aGlzLl9tZXRob2QsaGVhZGVyczp0aGlzLl9oZWFkZXJzLGFnZW50Om99KTt0aGlzLl9yZXF1ZXN0PXMsdGhpcy50aW1lb3V0JiZzLnNldFRpbWVvdXQodGhpcy50aW1lb3V0LChmdW5jdGlvbigpe3JldHVybiB0Ll9vbkh0dHBUaW1lb3V0KHMpfSkpLHMub24oInJlc3BvbnNlIiwoZnVuY3Rpb24oZSl7cmV0dXJuIHQuX29uSHR0cFJlc3BvbnNlKHMsZSl9KSkscy5vbigiZXJyb3IiLChmdW5jdGlvbihlKXtyZXR1cm4gdC5fb25IdHRwUmVxdWVzdEVycm9yKHMsZSl9KSksdGhpcy51cGxvYWQuX3N0YXJ0VXBsb2FkKHMpLHRoaXMuX3JlcXVlc3Q9PT1zJiZ0aGlzLl9kaXNwYXRjaFByb2dyZXNzKCJsb2Fkc3RhcnQiKX0sci5wcm90b3R5cGUuX2ZpbmFsaXplSGVhZGVycz1mdW5jdGlvbigpe3RoaXMuX2hlYWRlcnM9cyh7fSx0aGlzLl9oZWFkZXJzLHtDb25uZWN0aW9uOiJrZWVwLWFsaXZlIixIb3N0OnRoaXMuX3VybC5ob3N0LCJVc2VyLUFnZW50Ijp0aGlzLl91c2VyQWdlbnR9LHRoaXMuX2Fub255bW91cz97UmVmZXJlcjoiYWJvdXQ6YmxhbmsifTp7fSksdGhpcy51cGxvYWQuX2ZpbmFsaXplSGVhZGVycyh0aGlzLl9oZWFkZXJzLHRoaXMuX2xvd2VyZWRIZWFkZXJzKX0sci5wcm90b3R5cGUuX29uSHR0cFJlc3BvbnNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZih0aGlzLl9yZXF1ZXN0PT09dCl7aWYodGhpcy53aXRoQ3JlZGVudGlhbHMmJihlLmhlYWRlcnNbInNldC1jb29raWUiXXx8ZS5oZWFkZXJzWyJzZXQtY29va2llMiJdKSYmci5jb29raWVKYXIuc2V0Q29va2llcyhlLmhlYWRlcnNbInNldC1jb29raWUiXXx8ZS5oZWFkZXJzWyJzZXQtY29va2llMiJdKSxbMzAxLDMwMiwzMDMsMzA3LDMwOF0uaW5kZXhPZihlLnN0YXR1c0NvZGUpPj0wKXJldHVybiB0aGlzLl91cmw9dGhpcy5fcGFyc2VVcmwoZS5oZWFkZXJzLmxvY2F0aW9uKSx0aGlzLl9tZXRob2Q9IkdFVCIsdGhpcy5fbG93ZXJlZEhlYWRlcnNbImNvbnRlbnQtdHlwZSJdJiYoZGVsZXRlIHRoaXMuX2hlYWRlcnNbdGhpcy5fbG93ZXJlZEhlYWRlcnNbImNvbnRlbnQtdHlwZSJdXSxkZWxldGUgdGhpcy5fbG93ZXJlZEhlYWRlcnNbImNvbnRlbnQtdHlwZSJdKSxudWxsIT10aGlzLl9oZWFkZXJzWyJDb250ZW50LVR5cGUiXSYmZGVsZXRlIHRoaXMuX2hlYWRlcnNbIkNvbnRlbnQtVHlwZSJdLGRlbGV0ZSB0aGlzLl9oZWFkZXJzWyJDb250ZW50LUxlbmd0aCJdLHRoaXMudXBsb2FkLl9yZXNldCgpLHRoaXMuX2ZpbmFsaXplSGVhZGVycygpLHZvaWQgdGhpcy5fc2VuZEh4eHBSZXF1ZXN0KCk7dGhpcy5fcmVzcG9uc2U9ZSx0aGlzLl9yZXNwb25zZS5vbigiZGF0YSIsKGZ1bmN0aW9uKHQpe3JldHVybiBuLl9vbkh0dHBSZXNwb25zZURhdGEoZSx0KX0pKSx0aGlzLl9yZXNwb25zZS5vbigiZW5kIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5fb25IdHRwUmVzcG9uc2VFbmQoZSl9KSksdGhpcy5fcmVzcG9uc2Uub24oImNsb3NlIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5fb25IdHRwUmVzcG9uc2VDbG9zZShlKX0pKSx0aGlzLnJlc3BvbnNlVXJsPXRoaXMuX3VybC5ocmVmLnNwbGl0KCIjIilbMF0sdGhpcy5zdGF0dXM9ZS5zdGF0dXNDb2RlLHRoaXMuc3RhdHVzVGV4dD1hLlNUQVRVU19DT0RFU1t0aGlzLnN0YXR1c10sdGhpcy5fcGFyc2VSZXNwb25zZUhlYWRlcnMoZSk7dmFyIGk9dGhpcy5fcmVzcG9uc2VIZWFkZXJzWyJjb250ZW50LWxlbmd0aCJdfHwiIjt0aGlzLl90b3RhbEJ5dGVzPStpLHRoaXMuX2xlbmd0aENvbXB1dGFibGU9ISFpLHRoaXMuX3NldFJlYWR5U3RhdGUoci5IRUFERVJTX1JFQ0VJVkVEKX19LHIucHJvdG90eXBlLl9vbkh0dHBSZXNwb25zZURhdGE9ZnVuY3Rpb24odCxlKXt0aGlzLl9yZXNwb25zZT09PXQmJih0aGlzLl9yZXNwb25zZVBhcnRzLnB1c2gobmV3IG4oZSkpLHRoaXMuX2xvYWRlZEJ5dGVzKz1lLmxlbmd0aCx0aGlzLnJlYWR5U3RhdGUhPT1yLkxPQURJTkcmJnRoaXMuX3NldFJlYWR5U3RhdGUoci5MT0FESU5HKSx0aGlzLl9kaXNwYXRjaFByb2dyZXNzKCJwcm9ncmVzcyIpKX0sci5wcm90b3R5cGUuX29uSHR0cFJlc3BvbnNlRW5kPWZ1bmN0aW9uKHQpe3RoaXMuX3Jlc3BvbnNlPT09dCYmKHRoaXMuX3BhcnNlUmVzcG9uc2UoKSx0aGlzLl9yZXF1ZXN0PW51bGwsdGhpcy5fcmVzcG9uc2U9bnVsbCx0aGlzLl9zZXRSZWFkeVN0YXRlKHIuRE9ORSksdGhpcy5fZGlzcGF0Y2hQcm9ncmVzcygibG9hZCIpLHRoaXMuX2Rpc3BhdGNoUHJvZ3Jlc3MoImxvYWRlbmQiKSl9LHIucHJvdG90eXBlLl9vbkh0dHBSZXNwb25zZUNsb3NlPWZ1bmN0aW9uKHQpe2lmKHRoaXMuX3Jlc3BvbnNlPT09dCl7dmFyIGU9dGhpcy5fcmVxdWVzdDt0aGlzLl9zZXRFcnJvcigpLGUuYWJvcnQoKSx0aGlzLl9zZXRSZWFkeVN0YXRlKHIuRE9ORSksdGhpcy5fZGlzcGF0Y2hQcm9ncmVzcygiZXJyb3IiKSx0aGlzLl9kaXNwYXRjaFByb2dyZXNzKCJsb2FkZW5kIil9fSxyLnByb3RvdHlwZS5fb25IdHRwVGltZW91dD1mdW5jdGlvbih0KXt0aGlzLl9yZXF1ZXN0PT09dCYmKHRoaXMuX3NldEVycm9yKCksdC5hYm9ydCgpLHRoaXMuX3NldFJlYWR5U3RhdGUoci5ET05FKSx0aGlzLl9kaXNwYXRjaFByb2dyZXNzKCJ0aW1lb3V0IiksdGhpcy5fZGlzcGF0Y2hQcm9ncmVzcygibG9hZGVuZCIpKX0sci5wcm90b3R5cGUuX29uSHR0cFJlcXVlc3RFcnJvcj1mdW5jdGlvbih0LGUpe3RoaXMuX3JlcXVlc3Q9PT10JiYodGhpcy5fc2V0RXJyb3IoKSx0LmFib3J0KCksdGhpcy5fc2V0UmVhZHlTdGF0ZShyLkRPTkUpLHRoaXMuX2Rpc3BhdGNoUHJvZ3Jlc3MoImVycm9yIiksdGhpcy5fZGlzcGF0Y2hQcm9ncmVzcygibG9hZGVuZCIpKX0sci5wcm90b3R5cGUuX2Rpc3BhdGNoUHJvZ3Jlc3M9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHIuUHJvZ3Jlc3NFdmVudCh0KTtlLmxlbmd0aENvbXB1dGFibGU9dGhpcy5fbGVuZ3RoQ29tcHV0YWJsZSxlLmxvYWRlZD10aGlzLl9sb2FkZWRCeXRlcyxlLnRvdGFsPXRoaXMuX3RvdGFsQnl0ZXMsdGhpcy5kaXNwYXRjaEV2ZW50KGUpfSxyLnByb3RvdHlwZS5fc2V0RXJyb3I9ZnVuY3Rpb24oKXt0aGlzLl9yZXF1ZXN0PW51bGwsdGhpcy5fcmVzcG9uc2U9bnVsbCx0aGlzLl9yZXNwb25zZUhlYWRlcnM9bnVsbCx0aGlzLl9yZXNwb25zZVBhcnRzPW51bGx9LHIucHJvdG90eXBlLl9wYXJzZVVybD1mdW5jdGlvbih0LGUscil7dmFyIG49bnVsbD09dGhpcy5ub2RlanNCYXNlVXJsP3Q6Zi5yZXNvbHZlKHRoaXMubm9kZWpzQmFzZVVybCx0KSxpPWYucGFyc2UobiwhMSwhMCk7aS5oYXNoPW51bGw7dmFyIG89KGkuYXV0aHx8IiIpLnNwbGl0KCI6Iikscz1vWzBdLGE9b1sxXTtyZXR1cm4oc3x8YXx8ZXx8cikmJihpLmF1dGg9KGV8fHN8fCIiKSsiOiIrKHJ8fGF8fCIiKSksaX0sci5wcm90b3R5cGUuX3BhcnNlUmVzcG9uc2VIZWFkZXJzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0aGlzLl9yZXNwb25zZUhlYWRlcnM9e30sdC5oZWFkZXJzKXt2YXIgcj1lLnRvTG93ZXJDYXNlKCk7dGhpcy5fcHJpdmF0ZUhlYWRlcnNbcl18fCh0aGlzLl9yZXNwb25zZUhlYWRlcnNbcl09dC5oZWFkZXJzW2VdKX1udWxsIT10aGlzLl9taW1lT3ZlcnJpZGUmJih0aGlzLl9yZXNwb25zZUhlYWRlcnNbImNvbnRlbnQtdHlwZSJdPXRoaXMuX21pbWVPdmVycmlkZSl9LHIucHJvdG90eXBlLl9wYXJzZVJlc3BvbnNlPWZ1bmN0aW9uKCl7dmFyIHQ9bi5jb25jYXQodGhpcy5fcmVzcG9uc2VQYXJ0cyk7c3dpdGNoKHRoaXMuX3Jlc3BvbnNlUGFydHM9bnVsbCx0aGlzLnJlc3BvbnNlVHlwZSl7Y2FzZSJqc29uIjp0aGlzLnJlc3BvbnNlVGV4dD1udWxsO3RyeXt0aGlzLnJlc3BvbnNlPUpTT04ucGFyc2UodC50b1N0cmluZygidXRmLTgiKSl9Y2F0Y2godCl7dGhpcy5yZXNwb25zZT1udWxsfXJldHVybjtjYXNlImJ1ZmZlciI6cmV0dXJuIHRoaXMucmVzcG9uc2VUZXh0PW51bGwsdm9pZCh0aGlzLnJlc3BvbnNlPXQpO2Nhc2UiYXJyYXlidWZmZXIiOnRoaXMucmVzcG9uc2VUZXh0PW51bGw7Zm9yKHZhciBlPW5ldyBBcnJheUJ1ZmZlcih0Lmxlbmd0aCkscj1uZXcgVWludDhBcnJheShlKSxpPTA7aTx0Lmxlbmd0aDtpKyspcltpXT10W2ldO3JldHVybiB2b2lkKHRoaXMucmVzcG9uc2U9ZSk7Y2FzZSJ0ZXh0IjpkZWZhdWx0OnRyeXt0aGlzLnJlc3BvbnNlVGV4dD10LnRvU3RyaW5nKHRoaXMuX3BhcnNlUmVzcG9uc2VFbmNvZGluZygpKX1jYXRjaChlKXt0aGlzLnJlc3BvbnNlVGV4dD10LnRvU3RyaW5nKCJiaW5hcnkiKX10aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0fX0sci5wcm90b3R5cGUuX3BhcnNlUmVzcG9uc2VFbmNvZGluZz1mdW5jdGlvbigpe3JldHVybi87XHMqY2hhcnNldD0oLiopJC8uZXhlYyh0aGlzLl9yZXNwb25zZUhlYWRlcnNbImNvbnRlbnQtdHlwZSJdfHwiIilbMV18fCJ1dGYtOCJ9LHIuUHJvZ3Jlc3NFdmVudD1oLlByb2dyZXNzRXZlbnQsci5JbnZhbGlkU3RhdGVFcnJvcj1sLkludmFsaWRTdGF0ZUVycm9yLHIuTmV0d29ya0Vycm9yPWwuTmV0d29ya0Vycm9yLHIuU2VjdXJpdHlFcnJvcj1sLlNlY3VyaXR5RXJyb3Isci5TeW50YXhFcnJvcj1sLlN5bnRheEVycm9yLHIuWE1MSHR0cFJlcXVlc3RVcGxvYWQ9cC5YTUxIdHRwUmVxdWVzdFVwbG9hZCxyLlVOU0VOVD0wLHIuT1BFTkVEPTEsci5IRUFERVJTX1JFQ0VJVkVEPTIsci5MT0FESU5HPTMsci5ET05FPTQsci5jb29raWVKYXI9bS5Db29raWVKYXIoKSxyfShkLlhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQpO2UuWE1MSHR0cFJlcXVlc3Q9ZyxnLnByb3RvdHlwZS5ub2RlanNIdHRwQWdlbnQ9YS5nbG9iYWxBZ2VudCxnLnByb3RvdHlwZS5ub2RlanNIdHRwc0FnZW50PXUuZ2xvYmFsQWdlbnQsZy5wcm90b3R5cGUubm9kZWpzQmFzZVVybD1udWxsfSkuY2FsbCh0aGlzLHIoNSkscigyKS5CdWZmZXIpfSxmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKGUsbixpKXt2YXIgbz1yKDEwMykscz1yKDMpLGE9cigxMDQpLHU9cigzNCksYz1yKDIxMSksZj1hLkluY29taW5nTWVzc2FnZSxoPWEucmVhZHlTdGF0ZXM7dmFyIGw9dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciByLG49dGhpczt1LldyaXRhYmxlLmNhbGwobiksbi5fb3B0cz10LG4uX2JvZHk9W10sbi5faGVhZGVycz17fSx0LmF1dGgmJm4uc2V0SGVhZGVyKCJBdXRob3JpemF0aW9uIiwiQmFzaWMgIituZXcgZSh0LmF1dGgpLnRvU3RyaW5nKCJiYXNlNjQiKSksT2JqZWN0LmtleXModC5oZWFkZXJzKS5mb3JFYWNoKChmdW5jdGlvbihlKXtuLnNldEhlYWRlcihlLHQuaGVhZGVyc1tlXSl9KSk7dmFyIGk9ITA7aWYoImRpc2FibGUtZmV0Y2giPT09dC5tb2RlfHwicmVxdWVzdFRpbWVvdXQiaW4gdCYmIW8uYWJvcnRDb250cm9sbGVyKWk9ITEscj0hMDtlbHNlIGlmKCJwcmVmZXItc3RyZWFtaW5nIj09PXQubW9kZSlyPSExO2Vsc2UgaWYoImFsbG93LXdyb25nLWNvbnRlbnQtdHlwZSI9PT10Lm1vZGUpcj0hby5vdmVycmlkZU1pbWVUeXBlO2Vsc2V7aWYodC5tb2RlJiYiZGVmYXVsdCIhPT10Lm1vZGUmJiJwcmVmZXItZmFzdCIhPT10Lm1vZGUpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHZhbHVlIGZvciBvcHRzLm1vZGUiKTtyPSEwfW4uX21vZGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gby5mZXRjaCYmZT8iZmV0Y2giOm8ubW96Y2h1bmtlZGFycmF5YnVmZmVyPyJtb3otY2h1bmtlZC1hcnJheWJ1ZmZlciI6by5tc3N0cmVhbT8ibXMtc3RyZWFtIjpvLmFycmF5YnVmZmVyJiZ0PyJhcnJheWJ1ZmZlciI6by52YkFycmF5JiZ0PyJ0ZXh0OnZiYXJyYXkiOiJ0ZXh0In0ocixpKSxuLl9mZXRjaFRpbWVyPW51bGwsbi5vbigiZmluaXNoIiwoZnVuY3Rpb24oKXtuLl9vbkZpbmlzaCgpfSkpfTtzKGwsdS5Xcml0YWJsZSksbC5wcm90b3R5cGUuc2V0SGVhZGVyPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC50b0xvd2VyQ2FzZSgpOy0xPT09ZC5pbmRleE9mKHIpJiYodGhpcy5faGVhZGVyc1tyXT17bmFtZTp0LHZhbHVlOmV9KX0sbC5wcm90b3R5cGUuZ2V0SGVhZGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2hlYWRlcnNbdC50b0xvd2VyQ2FzZSgpXTtyZXR1cm4gZT9lLnZhbHVlOm51bGx9LGwucHJvdG90eXBlLnJlbW92ZUhlYWRlcj1mdW5jdGlvbih0KXtkZWxldGUgdGhpcy5faGVhZGVyc1t0LnRvTG93ZXJDYXNlKCldfSxsLnByb3RvdHlwZS5fb25GaW5pc2g9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKCF0Ll9kZXN0cm95ZWQpe3ZhciByPXQuX29wdHMscz10Ll9oZWFkZXJzLGE9bnVsbDsiR0VUIiE9PXIubWV0aG9kJiYiSEVBRCIhPT1yLm1ldGhvZCYmKGE9by5hcnJheWJ1ZmZlcj9jKGUuY29uY2F0KHQuX2JvZHkpKTpvLmJsb2JDb25zdHJ1Y3Rvcj9uZXcgbi5CbG9iKHQuX2JvZHkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gYyh0KX0pKSx7dHlwZTooc1siY29udGVudC10eXBlIl18fHt9KS52YWx1ZXx8IiJ9KTplLmNvbmNhdCh0Ll9ib2R5KS50b1N0cmluZygpKTt2YXIgdT1bXTtpZihPYmplY3Qua2V5cyhzKS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT1zW3RdLm5hbWUscj1zW3RdLnZhbHVlO0FycmF5LmlzQXJyYXkocik/ci5mb3JFYWNoKChmdW5jdGlvbih0KXt1LnB1c2goW2UsdF0pfSkpOnUucHVzaChbZSxyXSl9KSksImZldGNoIj09PXQuX21vZGUpe3ZhciBmPW51bGw7aWYoby5hYm9ydENvbnRyb2xsZXIpe3ZhciBsPW5ldyBBYm9ydENvbnRyb2xsZXI7Zj1sLnNpZ25hbCx0Ll9mZXRjaEFib3J0Q29udHJvbGxlcj1sLCJyZXF1ZXN0VGltZW91dCJpbiByJiYwIT09ci5yZXF1ZXN0VGltZW91dCYmKHQuX2ZldGNoVGltZXI9bi5zZXRUaW1lb3V0KChmdW5jdGlvbigpe3QuZW1pdCgicmVxdWVzdFRpbWVvdXQiKSx0Ll9mZXRjaEFib3J0Q29udHJvbGxlciYmdC5fZmV0Y2hBYm9ydENvbnRyb2xsZXIuYWJvcnQoKX0pLHIucmVxdWVzdFRpbWVvdXQpKX1uLmZldGNoKHQuX29wdHMudXJsLHttZXRob2Q6dC5fb3B0cy5tZXRob2QsaGVhZGVyczp1LGJvZHk6YXx8dm9pZCAwLG1vZGU6ImNvcnMiLGNyZWRlbnRpYWxzOnIud2l0aENyZWRlbnRpYWxzPyJpbmNsdWRlIjoic2FtZS1vcmlnaW4iLHNpZ25hbDpmfSkudGhlbigoZnVuY3Rpb24oZSl7dC5fZmV0Y2hSZXNwb25zZT1lLHQuX2Nvbm5lY3QoKX0pLChmdW5jdGlvbihlKXtuLmNsZWFyVGltZW91dCh0Ll9mZXRjaFRpbWVyKSx0Ll9kZXN0cm95ZWR8fHQuZW1pdCgiZXJyb3IiLGUpfSkpfWVsc2V7dmFyIGQ9dC5feGhyPW5ldyBuLlhNTEh0dHBSZXF1ZXN0O3RyeXtkLm9wZW4odC5fb3B0cy5tZXRob2QsdC5fb3B0cy51cmwsITApfWNhdGNoKGUpe3JldHVybiB2b2lkIGkubmV4dFRpY2soKGZ1bmN0aW9uKCl7dC5lbWl0KCJlcnJvciIsZSl9KSl9InJlc3BvbnNlVHlwZSJpbiBkJiYoZC5yZXNwb25zZVR5cGU9dC5fbW9kZS5zcGxpdCgiOiIpWzBdKSwid2l0aENyZWRlbnRpYWxzImluIGQmJihkLndpdGhDcmVkZW50aWFscz0hIXIud2l0aENyZWRlbnRpYWxzKSwidGV4dCI9PT10Ll9tb2RlJiYib3ZlcnJpZGVNaW1lVHlwZSJpbiBkJiZkLm92ZXJyaWRlTWltZVR5cGUoInRleHQvcGxhaW47IGNoYXJzZXQ9eC11c2VyLWRlZmluZWQiKSwicmVxdWVzdFRpbWVvdXQiaW4gciYmKGQudGltZW91dD1yLnJlcXVlc3RUaW1lb3V0LGQub250aW1lb3V0PWZ1bmN0aW9uKCl7dC5lbWl0KCJyZXF1ZXN0VGltZW91dCIpfSksdS5mb3JFYWNoKChmdW5jdGlvbih0KXtkLnNldFJlcXVlc3RIZWFkZXIodFswXSx0WzFdKX0pKSx0Ll9yZXNwb25zZT1udWxsLGQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7c3dpdGNoKGQucmVhZHlTdGF0ZSl7Y2FzZSBoLkxPQURJTkc6Y2FzZSBoLkRPTkU6dC5fb25YSFJQcm9ncmVzcygpfX0sIm1vei1jaHVua2VkLWFycmF5YnVmZmVyIj09PXQuX21vZGUmJihkLm9ucHJvZ3Jlc3M9ZnVuY3Rpb24oKXt0Ll9vblhIUlByb2dyZXNzKCl9KSxkLm9uZXJyb3I9ZnVuY3Rpb24oKXt0Ll9kZXN0cm95ZWR8fHQuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigiWEhSIGVycm9yIikpfTt0cnl7ZC5zZW5kKGEpfWNhdGNoKGUpe3JldHVybiB2b2lkIGkubmV4dFRpY2soKGZ1bmN0aW9uKCl7dC5lbWl0KCJlcnJvciIsZSl9KSl9fX19LGwucHJvdG90eXBlLl9vblhIUlByb2dyZXNzPWZ1bmN0aW9uKCl7KGZ1bmN0aW9uKHQpe3RyeXt2YXIgZT10LnN0YXR1cztyZXR1cm4gbnVsbCE9PWUmJjAhPT1lfWNhdGNoKHQpe3JldHVybiExfX0pKHRoaXMuX3hocikmJiF0aGlzLl9kZXN0cm95ZWQmJih0aGlzLl9yZXNwb25zZXx8dGhpcy5fY29ubmVjdCgpLHRoaXMuX3Jlc3BvbnNlLl9vblhIUlByb2dyZXNzKCkpfSxsLnByb3RvdHlwZS5fY29ubmVjdD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dC5fZGVzdHJveWVkfHwodC5fcmVzcG9uc2U9bmV3IGYodC5feGhyLHQuX2ZldGNoUmVzcG9uc2UsdC5fbW9kZSx0Ll9mZXRjaFRpbWVyKSx0Ll9yZXNwb25zZS5vbigiZXJyb3IiLChmdW5jdGlvbihlKXt0LmVtaXQoImVycm9yIixlKX0pKSx0LmVtaXQoInJlc3BvbnNlIix0Ll9yZXNwb25zZSkpfSxsLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24odCxlLHIpe3RoaXMuX2JvZHkucHVzaCh0KSxyKCl9LGwucHJvdG90eXBlLmFib3J0PWwucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLl9kZXN0cm95ZWQ9ITAsbi5jbGVhclRpbWVvdXQodGhpcy5fZmV0Y2hUaW1lciksdGhpcy5fcmVzcG9uc2UmJih0aGlzLl9yZXNwb25zZS5fZGVzdHJveWVkPSEwKSx0aGlzLl94aHI/dGhpcy5feGhyLmFib3J0KCk6dGhpcy5fZmV0Y2hBYm9ydENvbnRyb2xsZXImJnRoaXMuX2ZldGNoQWJvcnRDb250cm9sbGVyLmFib3J0KCl9LGwucHJvdG90eXBlLmVuZD1mdW5jdGlvbih0LGUscil7ImZ1bmN0aW9uIj09dHlwZW9mIHQmJihyPXQsdD12b2lkIDApLHUuV3JpdGFibGUucHJvdG90eXBlLmVuZC5jYWxsKHRoaXMsdCxlLHIpfSxsLnByb3RvdHlwZS5mbHVzaEhlYWRlcnM9ZnVuY3Rpb24oKXt9LGwucHJvdG90eXBlLnNldFRpbWVvdXQ9ZnVuY3Rpb24oKXt9LGwucHJvdG90eXBlLnNldE5vRGVsYXk9ZnVuY3Rpb24oKXt9LGwucHJvdG90eXBlLnNldFNvY2tldEtlZXBBbGl2ZT1mdW5jdGlvbigpe307dmFyIGQ9WyJhY2NlcHQtY2hhcnNldCIsImFjY2VwdC1lbmNvZGluZyIsImFjY2Vzcy1jb250cm9sLXJlcXVlc3QtaGVhZGVycyIsImFjY2Vzcy1jb250cm9sLXJlcXVlc3QtbWV0aG9kIiwiY29ubmVjdGlvbiIsImNvbnRlbnQtbGVuZ3RoIiwiY29va2llIiwiY29va2llMiIsImRhdGUiLCJkbnQiLCJleHBlY3QiLCJob3N0Iiwia2VlcC1hbGl2ZSIsIm9yaWdpbiIsInJlZmVyZXIiLCJ0ZSIsInRyYWlsZXIiLCJ0cmFuc2Zlci1lbmNvZGluZyIsInVwZ3JhZGUiLCJ2aWEiXX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcixyKDYpLHIoNSkpfSxmdW5jdGlvbih0LGUpe30sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDUyKS5CdWZmZXIsaT1yKDIwNyk7dC5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpeyFmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLHQpLHRoaXMuaGVhZD1udWxsLHRoaXMudGFpbD1udWxsLHRoaXMubGVuZ3RoPTB9cmV0dXJuIHQucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24odCl7dmFyIGU9e2RhdGE6dCxuZXh0Om51bGx9O3RoaXMubGVuZ3RoPjA/dGhpcy50YWlsLm5leHQ9ZTp0aGlzLmhlYWQ9ZSx0aGlzLnRhaWw9ZSwrK3RoaXMubGVuZ3RofSx0LnByb3RvdHlwZS51bnNoaWZ0PWZ1bmN0aW9uKHQpe3ZhciBlPXtkYXRhOnQsbmV4dDp0aGlzLmhlYWR9OzA9PT10aGlzLmxlbmd0aCYmKHRoaXMudGFpbD1lKSx0aGlzLmhlYWQ9ZSwrK3RoaXMubGVuZ3RofSx0LnByb3RvdHlwZS5zaGlmdD1mdW5jdGlvbigpe2lmKDAhPT10aGlzLmxlbmd0aCl7dmFyIHQ9dGhpcy5oZWFkLmRhdGE7cmV0dXJuIDE9PT10aGlzLmxlbmd0aD90aGlzLmhlYWQ9dGhpcy50YWlsPW51bGw6dGhpcy5oZWFkPXRoaXMuaGVhZC5uZXh0LC0tdGhpcy5sZW5ndGgsdH19LHQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsLHRoaXMubGVuZ3RoPTB9LHQucHJvdG90eXBlLmpvaW49ZnVuY3Rpb24odCl7aWYoMD09PXRoaXMubGVuZ3RoKXJldHVybiIiO2Zvcih2YXIgZT10aGlzLmhlYWQscj0iIitlLmRhdGE7ZT1lLm5leHQ7KXIrPXQrZS5kYXRhO3JldHVybiByfSx0LnByb3RvdHlwZS5jb25jYXQ9ZnVuY3Rpb24odCl7aWYoMD09PXRoaXMubGVuZ3RoKXJldHVybiBuLmFsbG9jKDApO2lmKDE9PT10aGlzLmxlbmd0aClyZXR1cm4gdGhpcy5oZWFkLmRhdGE7Zm9yKHZhciBlLHIsaSxvPW4uYWxsb2NVbnNhZmUodD4+PjApLHM9dGhpcy5oZWFkLGE9MDtzOyllPXMuZGF0YSxyPW8saT1hLGUuY29weShyLGkpLGErPXMuZGF0YS5sZW5ndGgscz1zLm5leHQ7cmV0dXJuIG99LHR9KCksaSYmaS5pbnNwZWN0JiZpLmluc3BlY3QuY3VzdG9tJiYodC5leHBvcnRzLnByb3RvdHlwZVtpLmluc3BlY3QuY3VzdG9tXT1mdW5jdGlvbigpe3ZhciB0PWkuaW5zcGVjdCh7bGVuZ3RoOnRoaXMubGVuZ3RofSk7cmV0dXJuIHRoaXMuY29uc3RydWN0b3IubmFtZSsiICIrdH0pfSxmdW5jdGlvbih0LGUpe30sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0LGUpeyFmdW5jdGlvbih0LHIpeyJ1c2Ugc3RyaWN0IjtpZighdC5zZXRJbW1lZGlhdGUpe3ZhciBuLGksbyxzLGEsdT0xLGM9e30sZj0hMSxoPXQuZG9jdW1lbnQsbD1PYmplY3QuZ2V0UHJvdG90eXBlT2YmJk9iamVjdC5nZXRQcm90b3R5cGVPZih0KTtsPWwmJmwuc2V0VGltZW91dD9sOnQsIltvYmplY3QgcHJvY2Vzc10iPT09e30udG9TdHJpbmcuY2FsbCh0LnByb2Nlc3MpP249ZnVuY3Rpb24odCl7ZS5uZXh0VGljaygoZnVuY3Rpb24oKXtwKHQpfSkpfTohZnVuY3Rpb24oKXtpZih0LnBvc3RNZXNzYWdlJiYhdC5pbXBvcnRTY3JpcHRzKXt2YXIgZT0hMCxyPXQub25tZXNzYWdlO3JldHVybiB0Lm9ubWVzc2FnZT1mdW5jdGlvbigpe2U9ITF9LHQucG9zdE1lc3NhZ2UoIiIsIioiKSx0Lm9ubWVzc2FnZT1yLGV9fSgpP3QuTWVzc2FnZUNoYW5uZWw/KChvPW5ldyBNZXNzYWdlQ2hhbm5lbCkucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKHQpe3AodC5kYXRhKX0sbj1mdW5jdGlvbih0KXtvLnBvcnQyLnBvc3RNZXNzYWdlKHQpfSk6aCYmIm9ucmVhZHlzdGF0ZWNoYW5nZSJpbiBoLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpPyhpPWguZG9jdW1lbnRFbGVtZW50LG49ZnVuY3Rpb24odCl7dmFyIGU9aC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtlLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe3AodCksZS5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxpLnJlbW92ZUNoaWxkKGUpLGU9bnVsbH0saS5hcHBlbmRDaGlsZChlKX0pOm49ZnVuY3Rpb24odCl7c2V0VGltZW91dChwLDAsdCl9OihzPSJzZXRJbW1lZGlhdGUkIitNYXRoLnJhbmRvbSgpKyIkIixhPWZ1bmN0aW9uKGUpe2Uuc291cmNlPT09dCYmInN0cmluZyI9PXR5cGVvZiBlLmRhdGEmJjA9PT1lLmRhdGEuaW5kZXhPZihzKSYmcCgrZS5kYXRhLnNsaWNlKHMubGVuZ3RoKSl9LHQuYWRkRXZlbnRMaXN0ZW5lcj90LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGEsITEpOnQuYXR0YWNoRXZlbnQoIm9ubWVzc2FnZSIsYSksbj1mdW5jdGlvbihlKXt0LnBvc3RNZXNzYWdlKHMrZSwiKiIpfSksbC5zZXRJbW1lZGlhdGU9ZnVuY3Rpb24odCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PW5ldyBGdW5jdGlvbigiIit0KSk7Zm9yKHZhciBlPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpLHI9MDtyPGUubGVuZ3RoO3IrKyllW3JdPWFyZ3VtZW50c1tyKzFdO3ZhciBpPXtjYWxsYmFjazp0LGFyZ3M6ZX07cmV0dXJuIGNbdV09aSxuKHUpLHUrK30sbC5jbGVhckltbWVkaWF0ZT1kfWZ1bmN0aW9uIGQodCl7ZGVsZXRlIGNbdF19ZnVuY3Rpb24gcCh0KXtpZihmKXNldFRpbWVvdXQocCwwLHQpO2Vsc2V7dmFyIGU9Y1t0XTtpZihlKXtmPSEwO3RyeXshZnVuY3Rpb24odCl7dmFyIGU9dC5jYWxsYmFjayxyPXQuYXJncztzd2l0Y2goci5sZW5ndGgpe2Nhc2UgMDplKCk7YnJlYWs7Y2FzZSAxOmUoclswXSk7YnJlYWs7Y2FzZSAyOmUoclswXSxyWzFdKTticmVhaztjYXNlIDM6ZShyWzBdLHJbMV0sclsyXSk7YnJlYWs7ZGVmYXVsdDplLmFwcGx5KHZvaWQgMCxyKX19KGUpfWZpbmFsbHl7ZCh0KSxmPSExfX19fX0oInVuZGVmaW5lZCI9PXR5cGVvZiBzZWxmP3ZvaWQgMD09PXQ/dGhpczp0OnNlbGYpfSkuY2FsbCh0aGlzLHIoNikscig1KSl9LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDIpLGk9bi5CdWZmZXI7ZnVuY3Rpb24gbyh0LGUpe2Zvcih2YXIgciBpbiB0KWVbcl09dFtyXX1mdW5jdGlvbiBzKHQsZSxyKXtyZXR1cm4gaSh0LGUscil9aS5mcm9tJiZpLmFsbG9jJiZpLmFsbG9jVW5zYWZlJiZpLmFsbG9jVW5zYWZlU2xvdz90LmV4cG9ydHM9bjoobyhuLGUpLGUuQnVmZmVyPXMpLG8oaSxzKSxzLmZyb209ZnVuY3Rpb24odCxlLHIpe2lmKCJudW1iZXIiPT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlciIpO3JldHVybiBpKHQsZSxyKX0scy5hbGxvYz1mdW5jdGlvbih0LGUscil7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTt2YXIgbj1pKHQpO3JldHVybiB2b2lkIDAhPT1lPyJzdHJpbmciPT10eXBlb2Ygcj9uLmZpbGwoZSxyKTpuLmZpbGwoZSk6bi5maWxsKDApLG59LHMuYWxsb2NVbnNhZmU9ZnVuY3Rpb24odCl7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTtyZXR1cm4gaSh0KX0scy5hbGxvY1Vuc2FmZVNsb3c9ZnVuY3Rpb24odCl7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTtyZXR1cm4gbi5TbG93QnVmZmVyKHQpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9bzt2YXIgbj1yKDEwOSksaT1PYmplY3QuY3JlYXRlKHIoMzUpKTtmdW5jdGlvbiBvKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG8pKXJldHVybiBuZXcgbyh0KTtuLmNhbGwodGhpcyx0KX1pLmluaGVyaXRzPXIoMyksaS5pbmhlcml0cyhvLG4pLG8ucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIpe3IobnVsbCx0KX19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDIpLkJ1ZmZlcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpe2lmKDA9PT10LmJ5dGVPZmZzZXQmJnQuYnl0ZUxlbmd0aD09PXQuYnVmZmVyLmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnVmZmVyO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmJ1ZmZlci5zbGljZSlyZXR1cm4gdC5idWZmZXIuc2xpY2UodC5ieXRlT2Zmc2V0LHQuYnl0ZU9mZnNldCt0LmJ5dGVMZW5ndGgpfWlmKG4uaXNCdWZmZXIodCkpe2Zvcih2YXIgZT1uZXcgVWludDhBcnJheSh0Lmxlbmd0aCkscj10Lmxlbmd0aCxpPTA7aTxyO2krKyllW2ldPXRbaV07cmV0dXJuIGUuYnVmZmVyfXRocm93IG5ldyBFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciIpfX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ezEwMDoiQ29udGludWUiLDEwMToiU3dpdGNoaW5nIFByb3RvY29scyIsMTAyOiJQcm9jZXNzaW5nIiwyMDA6Ik9LIiwyMDE6IkNyZWF0ZWQiLDIwMjoiQWNjZXB0ZWQiLDIwMzoiTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb24iLDIwNDoiTm8gQ29udGVudCIsMjA1OiJSZXNldCBDb250ZW50IiwyMDY6IlBhcnRpYWwgQ29udGVudCIsMjA3OiJNdWx0aS1TdGF0dXMiLDIwODoiQWxyZWFkeSBSZXBvcnRlZCIsMjI2OiJJTSBVc2VkIiwzMDA6Ik11bHRpcGxlIENob2ljZXMiLDMwMToiTW92ZWQgUGVybWFuZW50bHkiLDMwMjoiRm91bmQiLDMwMzoiU2VlIE90aGVyIiwzMDQ6Ik5vdCBNb2RpZmllZCIsMzA1OiJVc2UgUHJveHkiLDMwNzoiVGVtcG9yYXJ5IFJlZGlyZWN0IiwzMDg6IlBlcm1hbmVudCBSZWRpcmVjdCIsNDAwOiJCYWQgUmVxdWVzdCIsNDAxOiJVbmF1dGhvcml6ZWQiLDQwMjoiUGF5bWVudCBSZXF1aXJlZCIsNDAzOiJGb3JiaWRkZW4iLDQwNDoiTm90IEZvdW5kIiw0MDU6Ik1ldGhvZCBOb3QgQWxsb3dlZCIsNDA2OiJOb3QgQWNjZXB0YWJsZSIsNDA3OiJQcm94eSBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZCIsNDA4OiJSZXF1ZXN0IFRpbWVvdXQiLDQwOToiQ29uZmxpY3QiLDQxMDoiR29uZSIsNDExOiJMZW5ndGggUmVxdWlyZWQiLDQxMjoiUHJlY29uZGl0aW9uIEZhaWxlZCIsNDEzOiJQYXlsb2FkIFRvbyBMYXJnZSIsNDE0OiJVUkkgVG9vIExvbmciLDQxNToiVW5zdXBwb3J0ZWQgTWVkaWEgVHlwZSIsNDE2OiJSYW5nZSBOb3QgU2F0aXNmaWFibGUiLDQxNzoiRXhwZWN0YXRpb24gRmFpbGVkIiw0MTg6IkknbSBhIHRlYXBvdCIsNDIxOiJNaXNkaXJlY3RlZCBSZXF1ZXN0Iiw0MjI6IlVucHJvY2Vzc2FibGUgRW50aXR5Iiw0MjM6IkxvY2tlZCIsNDI0OiJGYWlsZWQgRGVwZW5kZW5jeSIsNDI1OiJVbm9yZGVyZWQgQ29sbGVjdGlvbiIsNDI2OiJVcGdyYWRlIFJlcXVpcmVkIiw0Mjg6IlByZWNvbmRpdGlvbiBSZXF1aXJlZCIsNDI5OiJUb28gTWFueSBSZXF1ZXN0cyIsNDMxOiJSZXF1ZXN0IEhlYWRlciBGaWVsZHMgVG9vIExhcmdlIiw0NTE6IlVuYXZhaWxhYmxlIEZvciBMZWdhbCBSZWFzb25zIiw1MDA6IkludGVybmFsIFNlcnZlciBFcnJvciIsNTAxOiJOb3QgSW1wbGVtZW50ZWQiLDUwMjoiQmFkIEdhdGV3YXkiLDUwMzoiU2VydmljZSBVbmF2YWlsYWJsZSIsNTA0OiJHYXRld2F5IFRpbWVvdXQiLDUwNToiSFRUUCBWZXJzaW9uIE5vdCBTdXBwb3J0ZWQiLDUwNjoiVmFyaWFudCBBbHNvIE5lZ290aWF0ZXMiLDUwNzoiSW5zdWZmaWNpZW50IFN0b3JhZ2UiLDUwODoiTG9vcCBEZXRlY3RlZCIsNTA5OiJCYW5kd2lkdGggTGltaXQgRXhjZWVkZWQiLDUxMDoiTm90IEV4dGVuZGVkIiw1MTE6Ik5ldHdvcmsgQXV0aGVudGljYXRpb24gUmVxdWlyZWQifX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0LG4pe3ZhciBpOy8qISBodHRwczovL210aHMuYmUvcHVueWNvZGUgdjEuNC4xIGJ5IEBtYXRoaWFzICovIWZ1bmN0aW9uKG8pe2UmJmUubm9kZVR5cGUsdCYmdC5ub2RlVHlwZTt2YXIgcz0ib2JqZWN0Ij09dHlwZW9mIG4mJm47cy5nbG9iYWwhPT1zJiZzLndpbmRvdyE9PXMmJnMuc2VsZjt2YXIgYSx1PTIxNDc0ODM2NDcsYz0vXnhuLS0vLGY9L1teXHgyMC1ceDdFXS8saD0vW1x4MkVcdTMwMDJcdUZGMEVcdUZGNjFdL2csbD17b3ZlcmZsb3c6Ik92ZXJmbG93OiBpbnB1dCBuZWVkcyB3aWRlciBpbnRlZ2VycyB0byBwcm9jZXNzIiwibm90LWJhc2ljIjoiSWxsZWdhbCBpbnB1dCA+PSAweDgwIChub3QgYSBiYXNpYyBjb2RlIHBvaW50KSIsImludmFsaWQtaW5wdXQiOiJJbnZhbGlkIGlucHV0In0sZD1NYXRoLmZsb29yLHA9U3RyaW5nLmZyb21DaGFyQ29kZTtmdW5jdGlvbiBtKHQpe3Rocm93IG5ldyBSYW5nZUVycm9yKGxbdF0pfWZ1bmN0aW9uIGcodCxlKXtmb3IodmFyIHI9dC5sZW5ndGgsbj1bXTtyLS07KW5bcl09ZSh0W3JdKTtyZXR1cm4gbn1mdW5jdGlvbiBiKHQsZSl7dmFyIHI9dC5zcGxpdCgiQCIpLG49IiI7cmV0dXJuIHIubGVuZ3RoPjEmJihuPXJbMF0rIkAiLHQ9clsxXSksbitnKCh0PXQucmVwbGFjZShoLCIuIikpLnNwbGl0KCIuIiksZSkuam9pbigiLiIpfWZ1bmN0aW9uIHkodCl7Zm9yKHZhciBlLHIsbj1bXSxpPTAsbz10Lmxlbmd0aDtpPG87KShlPXQuY2hhckNvZGVBdChpKyspKT49NTUyOTYmJmU8PTU2MzE5JiZpPG8/NTYzMjA9PSg2NDUxMiYocj10LmNoYXJDb2RlQXQoaSsrKSkpP24ucHVzaCgoKDEwMjMmZSk8PDEwKSsoMTAyMyZyKSs2NTUzNik6KG4ucHVzaChlKSxpLS0pOm4ucHVzaChlKTtyZXR1cm4gbn1mdW5jdGlvbiB2KHQpe3JldHVybiBnKHQsKGZ1bmN0aW9uKHQpe3ZhciBlPSIiO3JldHVybiB0PjY1NTM1JiYoZSs9cCgodC09NjU1MzYpPj4+MTAmMTAyM3w1NTI5NiksdD01NjMyMHwxMDIzJnQpLGUrPXAodCl9KSkuam9pbigiIil9ZnVuY3Rpb24gXyh0LGUpe3JldHVybiB0KzIyKzc1Kih0PDI2KS0oKDAhPWUpPDw1KX1mdW5jdGlvbiB3KHQsZSxyKXt2YXIgbj0wO2Zvcih0PXI/ZCh0LzcwMCk6dD4+MSx0Kz1kKHQvZSk7dD40NTU7bis9MzYpdD1kKHQvMzUpO3JldHVybiBkKG4rMzYqdC8odCszOCkpfWZ1bmN0aW9uIE0odCl7dmFyIGUscixuLGksbyxzLGEsYyxmLGgsbCxwPVtdLGc9dC5sZW5ndGgsYj0wLHk9MTI4LF89NzI7Zm9yKChyPXQubGFzdEluZGV4T2YoIi0iKSk8MCYmKHI9MCksbj0wO248cjsrK24pdC5jaGFyQ29kZUF0KG4pPj0xMjgmJm0oIm5vdC1iYXNpYyIpLHAucHVzaCh0LmNoYXJDb2RlQXQobikpO2ZvcihpPXI+MD9yKzE6MDtpPGc7KXtmb3Iobz1iLHM9MSxhPTM2O2k+PWcmJm0oImludmFsaWQtaW5wdXQiKSwoKGM9KGw9dC5jaGFyQ29kZUF0KGkrKykpLTQ4PDEwP2wtMjI6bC02NTwyNj9sLTY1OmwtOTc8MjY/bC05NzozNik+PTM2fHxjPmQoKHUtYikvcykpJiZtKCJvdmVyZmxvdyIpLGIrPWMqcywhKGM8KGY9YTw9Xz8xOmE+PV8rMjY/MjY6YS1fKSk7YSs9MzYpcz5kKHUvKGg9MzYtZikpJiZtKCJvdmVyZmxvdyIpLHMqPWg7Xz13KGItbyxlPXAubGVuZ3RoKzEsMD09byksZChiL2UpPnUteSYmbSgib3ZlcmZsb3ciKSx5Kz1kKGIvZSksYiU9ZSxwLnNwbGljZShiKyssMCx5KX1yZXR1cm4gdihwKX1mdW5jdGlvbiBTKHQpe3ZhciBlLHIsbixpLG8scyxhLGMsZixoLGwsZyxiLHYsTSxTPVtdO2ZvcihnPSh0PXkodCkpLmxlbmd0aCxlPTEyOCxyPTAsbz03MixzPTA7czxnOysrcykobD10W3NdKTwxMjgmJlMucHVzaChwKGwpKTtmb3Iobj1pPVMubGVuZ3RoLGkmJlMucHVzaCgiLSIpO248Zzspe2ZvcihhPXUscz0wO3M8ZzsrK3MpKGw9dFtzXSk+PWUmJmw8YSYmKGE9bCk7Zm9yKGEtZT5kKCh1LXIpLyhiPW4rMSkpJiZtKCJvdmVyZmxvdyIpLHIrPShhLWUpKmIsZT1hLHM9MDtzPGc7KytzKWlmKChsPXRbc10pPGUmJisrcj51JiZtKCJvdmVyZmxvdyIpLGw9PWUpe2ZvcihjPXIsZj0zNjshKGM8KGg9Zjw9bz8xOmY+PW8rMjY/MjY6Zi1vKSk7Zis9MzYpTT1jLWgsdj0zNi1oLFMucHVzaChwKF8oaCtNJXYsMCkpKSxjPWQoTS92KTtTLnB1c2gocChfKGMsMCkpKSxvPXcocixiLG49PWkpLHI9MCwrK259KytyLCsrZX1yZXR1cm4gUy5qb2luKCIiKX1hPXt2ZXJzaW9uOiIxLjQuMSIsdWNzMjp7ZGVjb2RlOnksZW5jb2RlOnZ9LGRlY29kZTpNLGVuY29kZTpTLHRvQVNDSUk6ZnVuY3Rpb24odCl7cmV0dXJuIGIodCwoZnVuY3Rpb24odCl7cmV0dXJuIGYudGVzdCh0KT8ieG4tLSIrUyh0KTp0fSkpfSx0b1VuaWNvZGU6ZnVuY3Rpb24odCl7cmV0dXJuIGIodCwoZnVuY3Rpb24odCl7cmV0dXJuIGMudGVzdCh0KT9NKHQuc2xpY2UoNCkudG9Mb3dlckNhc2UoKSk6dH0pKX19LHZvaWQgMD09PShpPWZ1bmN0aW9uKCl7cmV0dXJuIGF9LmNhbGwoZSxyLGUsdCkpfHwodC5leHBvcnRzPWkpfSgpfSkuY2FsbCh0aGlzLHIoMjUpKHQpLHIoNikpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz17aXNTdHJpbmc6ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fSxpc09iamVjdDpmdW5jdGlvbih0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10fSxpc051bGw6ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PT10fSxpc051bGxPclVuZGVmaW5lZDpmdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dH19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZGVjb2RlPWUucGFyc2U9cigyMTYpLGUuZW5jb2RlPWUuc3RyaW5naWZ5PXIoMjE3KX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfXQuZXhwb3J0cz1mdW5jdGlvbih0LGUscixvKXtlPWV8fCImIixyPXJ8fCI9Ijt2YXIgcz17fTtpZigic3RyaW5nIiE9dHlwZW9mIHR8fDA9PT10Lmxlbmd0aClyZXR1cm4gczt2YXIgYT0vXCsvZzt0PXQuc3BsaXQoZSk7dmFyIHU9MWUzO28mJiJudW1iZXIiPT10eXBlb2Ygby5tYXhLZXlzJiYodT1vLm1heEtleXMpO3ZhciBjPXQubGVuZ3RoO3U+MCYmYz51JiYoYz11KTtmb3IodmFyIGY9MDtmPGM7KytmKXt2YXIgaCxsLGQscCxtPXRbZl0ucmVwbGFjZShhLCIlMjAiKSxnPW0uaW5kZXhPZihyKTtnPj0wPyhoPW0uc3Vic3RyKDAsZyksbD1tLnN1YnN0cihnKzEpKTooaD1tLGw9IiIpLGQ9ZGVjb2RlVVJJQ29tcG9uZW50KGgpLHA9ZGVjb2RlVVJJQ29tcG9uZW50KGwpLG4ocyxkKT9pKHNbZF0pP3NbZF0ucHVzaChwKTpzW2RdPVtzW2RdLHBdOnNbZF09cH1yZXR1cm4gc307dmFyIGk9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49ZnVuY3Rpb24odCl7c3dpdGNoKHR5cGVvZiB0KXtjYXNlInN0cmluZyI6cmV0dXJuIHQ7Y2FzZSJib29sZWFuIjpyZXR1cm4gdD8idHJ1ZSI6ImZhbHNlIjtjYXNlIm51bWJlciI6cmV0dXJuIGlzRmluaXRlKHQpP3Q6IiI7ZGVmYXVsdDpyZXR1cm4iIn19O3QuZXhwb3J0cz1mdW5jdGlvbih0LGUscixhKXtyZXR1cm4gZT1lfHwiJiIscj1yfHwiPSIsbnVsbD09PXQmJih0PXZvaWQgMCksIm9iamVjdCI9PXR5cGVvZiB0P28ocyh0KSwoZnVuY3Rpb24ocyl7dmFyIGE9ZW5jb2RlVVJJQ29tcG9uZW50KG4ocykpK3I7cmV0dXJuIGkodFtzXSk/byh0W3NdLChmdW5jdGlvbih0KXtyZXR1cm4gYStlbmNvZGVVUklDb21wb25lbnQobih0KSl9KSkuam9pbihlKTphK2VuY29kZVVSSUNvbXBvbmVudChuKHRbc10pKX0pKS5qb2luKGUpOmE/ZW5jb2RlVVJJQ29tcG9uZW50KG4oYSkpK3IrZW5jb2RlVVJJQ29tcG9uZW50KG4odCkpOiIifTt2YXIgaT1BcnJheS5pc0FycmF5fHxmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfTtmdW5jdGlvbiBvKHQsZSl7aWYodC5tYXApcmV0dXJuIHQubWFwKGUpO2Zvcih2YXIgcj1bXSxuPTA7bjx0Lmxlbmd0aDtuKyspci5wdXNoKGUodFtuXSxuKSk7cmV0dXJuIHJ9dmFyIHM9T2JqZWN0LmtleXN8fGZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpJiZlLnB1c2gocik7cmV0dXJuIGV9fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigxMDIpLGk9cig1NSksbz10LmV4cG9ydHM7Zm9yKHZhciBzIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShzKSYmKG9bc109bltzXSk7ZnVuY3Rpb24gYSh0KXtpZigic3RyaW5nIj09dHlwZW9mIHQmJih0PWkucGFyc2UodCkpLHQucHJvdG9jb2x8fCh0LnByb3RvY29sPSJodHRwczoiKSwiaHR0cHM6IiE9PXQucHJvdG9jb2wpdGhyb3cgbmV3IEVycm9yKCdQcm90b2NvbCAiJyt0LnByb3RvY29sKyciIG5vdCBzdXBwb3J0ZWQuIEV4cGVjdGVkICJodHRwczoiJyk7cmV0dXJuIHR9by5yZXF1ZXN0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9YSh0KSxuLnJlcXVlc3QuY2FsbCh0aGlzLHQsZSl9LG8uZ2V0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9YSh0KSxuLmdldC5jYWxsKHRoaXMsdCxlKX19LGZ1bmN0aW9uKHQsZSl7ZS5lbmRpYW5uZXNzPWZ1bmN0aW9uKCl7cmV0dXJuIkxFIn0sZS5ob3N0bmFtZT1mdW5jdGlvbigpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgbG9jYXRpb24/bG9jYXRpb24uaG9zdG5hbWU6IiJ9LGUubG9hZGF2Zz1mdW5jdGlvbigpe3JldHVybltdfSxlLnVwdGltZT1mdW5jdGlvbigpe3JldHVybiAwfSxlLmZyZWVtZW09ZnVuY3Rpb24oKXtyZXR1cm4gTnVtYmVyLk1BWF9WQUxVRX0sZS50b3RhbG1lbT1mdW5jdGlvbigpe3JldHVybiBOdW1iZXIuTUFYX1ZBTFVFfSxlLmNwdXM9ZnVuY3Rpb24oKXtyZXR1cm5bXX0sZS50eXBlPWZ1bmN0aW9uKCl7cmV0dXJuIkJyb3dzZXIifSxlLnJlbGVhc2U9ZnVuY3Rpb24oKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcj9uYXZpZ2F0b3IuYXBwVmVyc2lvbjoiIn0sZS5uZXR3b3JrSW50ZXJmYWNlcz1lLmdldE5ldHdvcmtJbnRlcmZhY2VzPWZ1bmN0aW9uKCl7cmV0dXJue319LGUuYXJjaD1mdW5jdGlvbigpe3JldHVybiJqYXZhc2NyaXB0In0sZS5wbGF0Zm9ybT1mdW5jdGlvbigpe3JldHVybiJicm93c2VyIn0sZS50bXBkaXI9ZS50bXBEaXI9ZnVuY3Rpb24oKXtyZXR1cm4iL3RtcCJ9LGUuRU9MPSJcbiIsZS5ob21lZGlyPWZ1bmN0aW9uKCl7cmV0dXJuIi8ifX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49ZnVuY3Rpb24odCl7dGhpcy50eXBlPXQsdGhpcy5idWJibGVzPSExLHRoaXMuY2FuY2VsYWJsZT0hMSx0aGlzLmxvYWRlZD0wLHRoaXMubGVuZ3RoQ29tcHV0YWJsZT0hMSx0aGlzLnRvdGFsPTB9O2UuUHJvZ3Jlc3NFdmVudD1ufSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuLGk9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fChuPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKWUuaGFzT3duUHJvcGVydHkocikmJih0W3JdPWVbcl0pfSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9bih0LGUpLHQucHJvdG90eXBlPW51bGw9PT1lP09iamVjdC5jcmVhdGUoZSk6KHIucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyByKX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gaShlLHQpLGV9KEVycm9yKTtlLlNlY3VyaXR5RXJyb3I9bzt2YXIgcz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gaShlLHQpLGV9KEVycm9yKTtlLkludmFsaWRTdGF0ZUVycm9yPXM7dmFyIGE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3JldHVybiBudWxsIT09dCYmdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIGkoZSx0KSxlfShFcnJvcik7ZS5OZXR3b3JrRXJyb3I9YTt2YXIgdT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gaShlLHQpLGV9KEVycm9yKTtlLlN5bnRheEVycm9yPXV9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe3ZhciBuLGk9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fChuPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKWUuaGFzT3duUHJvcGVydHkocikmJih0W3JdPWVbcl0pfSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9bih0LGUpLHQucHJvdG90eXBlPW51bGw9PT1lP09iamVjdC5jcmVhdGUoZSk6KHIucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyByKX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbz1mdW5jdGlvbihlKXtmdW5jdGlvbiByKCl7dmFyIHQ9ZS5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiB0Ll9jb250ZW50VHlwZT1udWxsLHQuX2JvZHk9bnVsbCx0Ll9yZXNldCgpLHR9cmV0dXJuIGkocixlKSxyLnByb3RvdHlwZS5fcmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLl9jb250ZW50VHlwZT1udWxsLHRoaXMuX2JvZHk9bnVsbH0sci5wcm90b3R5cGUuX3NldERhdGE9ZnVuY3Rpb24oZSl7aWYobnVsbCE9ZSlpZigic3RyaW5nIj09dHlwZW9mIGUpMCE9PWUubGVuZ3RoJiYodGhpcy5fY29udGVudFR5cGU9InRleHQvcGxhaW47Y2hhcnNldD1VVEYtOCIpLHRoaXMuX2JvZHk9bmV3IHQoZSwidXRmLTgiKTtlbHNlIGlmKHQuaXNCdWZmZXIoZSkpdGhpcy5fYm9keT1lO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKXtmb3IodmFyIHI9bmV3IHQoZS5ieXRlTGVuZ3RoKSxuPW5ldyBVaW50OEFycmF5KGUpLGk9MDtpPGUuYnl0ZUxlbmd0aDtpKyspcltpXT1uW2ldO3RoaXMuX2JvZHk9cn1lbHNle2lmKCEoZS5idWZmZXImJmUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgc2VuZCgpIGRhdGEgIitlKTtyPW5ldyB0KGUuYnl0ZUxlbmd0aCk7dmFyIG89ZS5ieXRlT2Zmc2V0O2ZvcihuPW5ldyBVaW50OEFycmF5KGUuYnVmZmVyKSxpPTA7aTxlLmJ5dGVMZW5ndGg7aSsrKXJbaV09bltpK29dO3RoaXMuX2JvZHk9cn19LHIucHJvdG90eXBlLl9maW5hbGl6ZUhlYWRlcnM9ZnVuY3Rpb24odCxlKXt0aGlzLl9jb250ZW50VHlwZSYmIWVbImNvbnRlbnQtdHlwZSJdJiYodFsiQ29udGVudC1UeXBlIl09dGhpcy5fY29udGVudFR5cGUpLHRoaXMuX2JvZHkmJih0WyJDb250ZW50LUxlbmd0aCJdPXRoaXMuX2JvZHkubGVuZ3RoLnRvU3RyaW5nKCkpfSxyLnByb3RvdHlwZS5fc3RhcnRVcGxvYWQ9ZnVuY3Rpb24odCl7dGhpcy5fYm9keSYmdC53cml0ZSh0aGlzLl9ib2R5KSx0LmVuZCgpfSxyfShyKDU2KS5YTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0KTtlLlhNTEh0dHBSZXF1ZXN0VXBsb2FkPW99KS5jYWxsKHRoaXMscigyKS5CdWZmZXIpfSxmdW5jdGlvbih0LGUpeyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KGUscixuLGkpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgdD8odGhpcy5kb21haW49ZXx8dm9pZCAwLHRoaXMucGF0aD1yfHwiLyIsdGhpcy5zZWN1cmU9ISFuLHRoaXMuc2NyaXB0PSEhaSx0aGlzKTpuZXcgdChlLHIsbixpKX1mdW5jdGlvbiByKHQsZSxuKXtyZXR1cm4gdCBpbnN0YW5jZW9mIHI/dDp0aGlzIGluc3RhbmNlb2Ygcj8odGhpcy5uYW1lPW51bGwsdGhpcy52YWx1ZT1udWxsLHRoaXMuZXhwaXJhdGlvbl9kYXRlPTEvMCx0aGlzLnBhdGg9U3RyaW5nKG58fCIvIiksdGhpcy5leHBsaWNpdF9wYXRoPSExLHRoaXMuZG9tYWluPWV8fG51bGwsdGhpcy5leHBsaWNpdF9kb21haW49ITEsdGhpcy5zZWN1cmU9ITEsdGhpcy5ub3NjcmlwdD0hMSx0JiZ0aGlzLnBhcnNlKHQsZSxuKSx0aGlzKTpuZXcgcih0LGUsbil9dC5BbGw9T2JqZWN0LmZyZWV6ZShPYmplY3QuY3JlYXRlKG51bGwpKSxlLkNvb2tpZUFjY2Vzc0luZm89dCxlLkNvb2tpZT1yLHIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHQ9W3RoaXMubmFtZSsiPSIrdGhpcy52YWx1ZV07cmV0dXJuIHRoaXMuZXhwaXJhdGlvbl9kYXRlIT09MS8wJiZ0LnB1c2goImV4cGlyZXM9IituZXcgRGF0ZSh0aGlzLmV4cGlyYXRpb25fZGF0ZSkudG9HTVRTdHJpbmcoKSksdGhpcy5kb21haW4mJnQucHVzaCgiZG9tYWluPSIrdGhpcy5kb21haW4pLHRoaXMucGF0aCYmdC5wdXNoKCJwYXRoPSIrdGhpcy5wYXRoKSx0aGlzLnNlY3VyZSYmdC5wdXNoKCJzZWN1cmUiKSx0aGlzLm5vc2NyaXB0JiZ0LnB1c2goImh0dHBvbmx5IiksdC5qb2luKCI7ICIpfSxyLnByb3RvdHlwZS50b1ZhbHVlU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZSsiPSIrdGhpcy52YWx1ZX07dmFyIG49L1s6XSg/PVxzKlthLXpBLVowLTlfXC1dK1xzKls9XSkvZztmdW5jdGlvbiBpKCl7dmFyIHQsZTtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/KHQ9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLnNldENvb2tpZT1mdW5jdGlvbihuLGksbyl7dmFyIHMsYTtpZihzPShuPW5ldyByKG4saSxvKSkuZXhwaXJhdGlvbl9kYXRlPD1EYXRlLm5vdygpLHZvaWQgMCE9PXRbbi5uYW1lXSl7Zm9yKGU9dFtuLm5hbWVdLGE9MDthPGUubGVuZ3RoO2ErPTEpaWYoZVthXS5jb2xsaWRlc1dpdGgobikpcmV0dXJuIHM/KGUuc3BsaWNlKGEsMSksMD09PWUubGVuZ3RoJiZkZWxldGUgdFtuLm5hbWVdLCExKTooZVthXT1uLG4pO3JldHVybiFzJiYoZS5wdXNoKG4pLG4pfXJldHVybiFzJiYodFtuLm5hbWVdPVtuXSx0W24ubmFtZV0pfSx0aGlzLmdldENvb2tpZT1mdW5jdGlvbihyLG4pe3ZhciBpLG87aWYoZT10W3JdKWZvcihvPTA7bzxlLmxlbmd0aDtvKz0xKWlmKChpPWVbb10pLmV4cGlyYXRpb25fZGF0ZTw9RGF0ZS5ub3coKSkwPT09ZS5sZW5ndGgmJmRlbGV0ZSB0W2kubmFtZV07ZWxzZSBpZihpLm1hdGNoZXMobikpcmV0dXJuIGl9LHRoaXMuZ2V0Q29va2llcz1mdW5jdGlvbihlKXt2YXIgcixuLGk9W107Zm9yKHIgaW4gdCkobj10aGlzLmdldENvb2tpZShyLGUpKSYmaS5wdXNoKG4pO3JldHVybiBpLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIGkuam9pbigiOiIpfSxpLnRvVmFsdWVTdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gaS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRvVmFsdWVTdHJpbmcoKX0pKS5qb2luKCI7ICIpfSxpfSx0aGlzKTpuZXcgaX1yLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbih0LGUsbil7aWYodGhpcyBpbnN0YW5jZW9mIHIpe3ZhciBpLG89dC5zcGxpdCgiOyIpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuISF0fSkpLHM9b1swXS5tYXRjaCgvKFtePV0rKT0oW1xzXFNdKikvKTtpZighcylyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oIkludmFsaWQgY29va2llIGhlYWRlciBlbmNvdW50ZXJlZC4gSGVhZGVyOiAnIit0KyInIik7dmFyIGE9c1sxXSx1PXNbMl07aWYoInN0cmluZyIhPXR5cGVvZiBhfHwwPT09YS5sZW5ndGh8fCJzdHJpbmciIT10eXBlb2YgdSlyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oIlVuYWJsZSB0byBleHRyYWN0IHZhbHVlcyBmcm9tIGNvb2tpZSBoZWFkZXIuIENvb2tpZTogJyIrdCsiJyIpO2Zvcih0aGlzLm5hbWU9YSx0aGlzLnZhbHVlPXUsaT0xO2k8by5sZW5ndGg7aSs9MSlzd2l0Y2goYT0ocz1vW2ldLm1hdGNoKC8oW149XSspKD86PShbXHNcU10qKSk/LykpWzFdLnRyaW0oKS50b0xvd2VyQ2FzZSgpLHU9c1syXSxhKXtjYXNlImh0dHBvbmx5Ijp0aGlzLm5vc2NyaXB0PSEwO2JyZWFrO2Nhc2UiZXhwaXJlcyI6dGhpcy5leHBpcmF0aW9uX2RhdGU9dT9OdW1iZXIoRGF0ZS5wYXJzZSh1KSk6MS8wO2JyZWFrO2Nhc2UicGF0aCI6dGhpcy5wYXRoPXU/dS50cmltKCk6IiIsdGhpcy5leHBsaWNpdF9wYXRoPSEwO2JyZWFrO2Nhc2UiZG9tYWluIjp0aGlzLmRvbWFpbj11P3UudHJpbSgpOiIiLHRoaXMuZXhwbGljaXRfZG9tYWluPSEhdGhpcy5kb21haW47YnJlYWs7Y2FzZSJzZWN1cmUiOnRoaXMuc2VjdXJlPSEwfXJldHVybiB0aGlzLmV4cGxpY2l0X3BhdGh8fCh0aGlzLnBhdGg9bnx8Ii8iKSx0aGlzLmV4cGxpY2l0X2RvbWFpbnx8KHRoaXMuZG9tYWluPWUpLHRoaXN9cmV0dXJuKG5ldyByKS5wYXJzZSh0LGUsbil9LHIucHJvdG90eXBlLm1hdGNoZXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10LkFsbHx8ISh0aGlzLm5vc2NyaXB0JiZlLnNjcmlwdHx8dGhpcy5zZWN1cmUmJiFlLnNlY3VyZXx8IXRoaXMuY29sbGlkZXNXaXRoKGUpKX0sci5wcm90b3R5cGUuY29sbGlkZXNXaXRoPWZ1bmN0aW9uKHQpe2lmKHRoaXMucGF0aCYmIXQucGF0aHx8dGhpcy5kb21haW4mJiF0LmRvbWFpbilyZXR1cm4hMTtpZih0aGlzLnBhdGgmJjAhPT10LnBhdGguaW5kZXhPZih0aGlzLnBhdGgpKXJldHVybiExO2lmKHRoaXMuZXhwbGljaXRfcGF0aCYmMCE9PXQucGF0aC5pbmRleE9mKHRoaXMucGF0aCkpcmV0dXJuITE7dmFyIGU9dC5kb21haW4mJnQuZG9tYWluLnJlcGxhY2UoL15bXC5dLywiIikscj10aGlzLmRvbWFpbiYmdGhpcy5kb21haW4ucmVwbGFjZSgvXltcLl0vLCIiKTtpZihyPT09ZSlyZXR1cm4hMDtpZihyKXtpZighdGhpcy5leHBsaWNpdF9kb21haW4pcmV0dXJuITE7dmFyIG49ZS5pbmRleE9mKHIpO3JldHVybi0xIT09biYmbj09PWUubGVuZ3RoLXIubGVuZ3RofXJldHVybiEwfSxlLkNvb2tpZUphcj1pLGkucHJvdG90eXBlLnNldENvb2tpZXM9ZnVuY3Rpb24odCxlLGkpe3ZhciBvLHMsYT1bXTtmb3IodD0odD1BcnJheS5pc0FycmF5KHQpP3Q6dC5zcGxpdChuKSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gbmV3IHIodCxlLGkpfSkpLG89MDtvPHQubGVuZ3RoO28rPTEpcz10W29dLHRoaXMuc2V0Q29va2llKHMsZSxpKSYmYS5wdXNoKHMpO3JldHVybiBhfX0oKX0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cigxMikuRXZlbnRFbWl0dGVyLGk9cigyMSkuaW5oZXJpdHMsbz1yKDM2KSxzPXIoMjk0KSxhPXIoMjk4KSx1PXIoMzI2KSxjPXIoMzI5KSxmPShyKDE0OSkscig2NykpLGg9ZnVuY3Rpb24oKXt9O2Z1bmN0aW9uIGwodCl7bi5jYWxsKHRoaXMpLHRoaXMuc2V0TWF4TGlzdGVuZXJzKDMwKSx0PXR8fHt9O2NvbnN0IGU9e3NlbmRBc3luYzp0aGlzLl9oYW5kbGVBc3luYy5iaW5kKHRoaXMpfSxyPXQuYmxvY2tUcmFja2VyUHJvdmlkZXJ8fGU7dGhpcy5fYmxvY2tUcmFja2VyPXQuYmxvY2tUcmFja2VyfHxuZXcgcyh7cHJvdmlkZXI6cixwb2xsaW5nSW50ZXJ2YWw6dC5wb2xsaW5nSW50ZXJ2YWx8fDRlMyxzZXRTa2lwQ2FjaGVGbGFnOiEwfSksdGhpcy5fcmVhZHk9bmV3IGMsdGhpcy5jdXJyZW50QmxvY2s9bnVsbCx0aGlzLl9wcm92aWRlcnM9W119dC5leHBvcnRzPWwsaShsLG4pLGwucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKHQ9aCl7Y29uc3QgZT10aGlzO2UuX3JlYWR5LmdvKCksZS5fYmxvY2tUcmFja2VyLm9uKCJsYXRlc3QiLHQ9PntlLl9nZXRCbG9ja0J5TnVtYmVyV2l0aFJldHJ5KHQsKHQscik9PntpZih0KXJldHVybiB2b2lkIHRoaXMuZW1pdCgiZXJyb3IiLHQpO2lmKCFyKXJldHVybiBjb25zb2xlLmxvZyhyKSx2b2lkIHRoaXMuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigiQ291bGQgbm90IGZpbmQgYmxvY2siKSk7Y29uc3Qgbj0oaT1yLHtudW1iZXI6by50b0J1ZmZlcihpLm51bWJlciksaGFzaDpvLnRvQnVmZmVyKGkuaGFzaCkscGFyZW50SGFzaDpvLnRvQnVmZmVyKGkucGFyZW50SGFzaCksbm9uY2U6by50b0J1ZmZlcihpLm5vbmNlKSxtaXhIYXNoOm8udG9CdWZmZXIoaS5taXhIYXNoKSxzaGEzVW5jbGVzOm8udG9CdWZmZXIoaS5zaGEzVW5jbGVzKSxsb2dzQmxvb206by50b0J1ZmZlcihpLmxvZ3NCbG9vbSksdHJhbnNhY3Rpb25zUm9vdDpvLnRvQnVmZmVyKGkudHJhbnNhY3Rpb25zUm9vdCksc3RhdGVSb290Om8udG9CdWZmZXIoaS5zdGF0ZVJvb3QpLHJlY2VpcHRzUm9vdDpvLnRvQnVmZmVyKGkucmVjZWlwdFJvb3R8fGkucmVjZWlwdHNSb290KSxtaW5lcjpvLnRvQnVmZmVyKGkubWluZXIpLGRpZmZpY3VsdHk6by50b0J1ZmZlcihpLmRpZmZpY3VsdHkpLHRvdGFsRGlmZmljdWx0eTpvLnRvQnVmZmVyKGkudG90YWxEaWZmaWN1bHR5KSxzaXplOm8udG9CdWZmZXIoaS5zaXplKSxleHRyYURhdGE6by50b0J1ZmZlcihpLmV4dHJhRGF0YSksZ2FzTGltaXQ6by50b0J1ZmZlcihpLmdhc0xpbWl0KSxnYXNVc2VkOm8udG9CdWZmZXIoaS5nYXNVc2VkKSx0aW1lc3RhbXA6by50b0J1ZmZlcihpLnRpbWVzdGFtcCksdHJhbnNhY3Rpb25zOmkudHJhbnNhY3Rpb25zfSk7dmFyIGk7ZS5fc2V0Q3VycmVudEJsb2NrKG4pLGUuZW1pdCgicmF3QmxvY2siLHIpLGUuZW1pdCgibGF0ZXN0IixyKX0pfSksZS5fYmxvY2tUcmFja2VyLm9uKCJzeW5jIixlLmVtaXQuYmluZChlLCJzeW5jIikpLGUuX2Jsb2NrVHJhY2tlci5vbigiZXJyb3IiLGUuZW1pdC5iaW5kKGUsImVycm9yIikpLGUuX3J1bm5pbmc9ITAsZS5lbWl0KCJzdGFydCIpfSxsLnByb3RvdHlwZS5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5fYmxvY2tUcmFja2VyLnJlbW92ZUFsbExpc3RlbmVycygpLHRoaXMuX3J1bm5pbmc9ITEsdGhpcy5lbWl0KCJzdG9wIil9LGwucHJvdG90eXBlLmlzUnVubmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9ydW5uaW5nfSxsLnByb3RvdHlwZS5hZGRQcm92aWRlcj1mdW5jdGlvbih0LGUpe2NvbnN0IHI9dGhpczsibnVtYmVyIj09dHlwZW9mIGU/ci5fcHJvdmlkZXJzLnNwbGljZShlLDAsdCk6ci5fcHJvdmlkZXJzLnB1c2godCksdC5zZXRFbmdpbmUodGhpcyl9LGwucHJvdG90eXBlLnJlbW92ZVByb3ZpZGVyPWZ1bmN0aW9uKHQpe2NvbnN0IGU9dGhpcy5fcHJvdmlkZXJzLmluZGV4T2YodCk7aWYoZTwwKXRocm93IG5ldyBFcnJvcigiUHJvdmlkZXIgbm90IGZvdW5kLiIpO3RoaXMuX3Byb3ZpZGVycy5zcGxpY2UoZSwxKX0sbC5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoIldlYjNQcm92aWRlckVuZ2luZSBkb2VzIG5vdCBzdXBwb3J0IHN5bmNocm9ub3VzIHJlcXVlc3RzLiIpfSxsLnByb3RvdHlwZS5zZW5kQXN5bmM9ZnVuY3Rpb24odCxlKXtjb25zdCByPXRoaXM7ci5fcmVhZHkuYXdhaXQoKGZ1bmN0aW9uKCl7QXJyYXkuaXNBcnJheSh0KT9hKHQsci5faGFuZGxlQXN5bmMuYmluZChyKSxlKTpyLl9oYW5kbGVBc3luYyh0LGUpfSkpfSxsLnByb3RvdHlwZS5fZ2V0QmxvY2tCeU51bWJlcldpdGhSZXRyeT1mdW5jdGlvbih0LGUpe2NvbnN0IHI9dGhpcztsZXQgbj01O3JldHVybiB2b2lkIGkoKTtmdW5jdGlvbiBpKCl7ci5fZ2V0QmxvY2tCeU51bWJlcih0LG8pfWZ1bmN0aW9uIG8odCxyKXtyZXR1cm4gdD9lKHQpOnI/dm9pZCBlKG51bGwscik6bj4wPyhuLS0sdm9pZCBzZXRUaW1lb3V0KChmdW5jdGlvbigpe2koKX0pLDFlMykpOnZvaWQgZShudWxsLG51bGwpfX0sbC5wcm90b3R5cGUuX2dldEJsb2NrQnlOdW1iZXI9ZnVuY3Rpb24odCxlKXtjb25zdCByPWYoe21ldGhvZDoiZXRoX2dldEJsb2NrQnlOdW1iZXIiLHBhcmFtczpbdCwhMV0sc2tpcENhY2hlOiEwfSk7dGhpcy5faGFuZGxlQXN5bmMociwodCxyKT0+dD9lKHQpOmUobnVsbCxyLnJlc3VsdCkpfSxsLnByb3RvdHlwZS5faGFuZGxlQXN5bmM9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLG49LTEsaT1udWxsLG89bnVsbCxzPVtdO2Z1bmN0aW9uIGEocixuKXtvPXIsaT1uLHUocywoZnVuY3Rpb24odCxlKXt0P3QobyxpLGUpOmUoKX0pLChmdW5jdGlvbigpe3ZhciByPXtpZDp0LmlkLGpzb25ycGM6dC5qc29ucnBjLHJlc3VsdDppfTtudWxsIT1vPyhyLmVycm9yPXttZXNzYWdlOm8uc3RhY2t8fG8ubWVzc2FnZXx8byxjb2RlOi0zMmUzfSxlKG8scikpOmUobnVsbCxyKX0pKX0hZnVuY3Rpb24gZShpKXtpZihuKz0xLHMudW5zaGlmdChpKSxuPj1yLl9wcm92aWRlcnMubGVuZ3RoKWEobmV3IEVycm9yKCdSZXF1ZXN0IGZvciBtZXRob2QgIicrdC5tZXRob2QrJyIgbm90IGhhbmRsZWQgYnkgYW55IHN1YnByb3ZpZGVyLiBQbGVhc2UgY2hlY2sgeW91ciBzdWJwcm92aWRlciBjb25maWd1cmF0aW9uIHRvIGVuc3VyZSB0aGlzIG1ldGhvZCBpcyBoYW5kbGVkLicpKTtlbHNlIHRyeXtyLl9wcm92aWRlcnNbbl0uaGFuZGxlUmVxdWVzdCh0LGUsYSl9Y2F0Y2godCl7YSh0KX19KCl9LGwucHJvdG90eXBlLl9zZXRDdXJyZW50QmxvY2s9ZnVuY3Rpb24odCl7dGhpcy5jdXJyZW50QmxvY2s9dCx0aGlzLmVtaXQoImJsb2NrIix0KX19LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0JiYib2JqZWN0Ij09dHlwZW9mIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmNvcHkmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmZpbGwmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnJlYWRVSW50OH19LGZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5jcmVhdGU/dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dC5zdXBlcl89ZSx0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KX06dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dC5zdXBlcl89ZTt2YXIgcj1mdW5jdGlvbigpe307ci5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IHIsdC5wcm90b3R5cGUuY29uc3RydWN0b3I9dH19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmNyZWF0ZUhhc2hGdW5jdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24ocil7dmFyIG49ZSgpO3JldHVybiBuLnVwZGF0ZShyKSx0LmZyb20obi5kaWdlc3QoKSl9fX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXt0LmV4cG9ydHM9cigyMjkpKHIoMjM5KSl9LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoMjMwKSxpPXIoMjM4KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7Y29uc3QgZT1uKHQpLHI9aSh0KTtyZXR1cm4gZnVuY3Rpb24odCxuKXtzd2l0Y2goInN0cmluZyI9PXR5cGVvZiB0P3QudG9Mb3dlckNhc2UoKTp0KXtjYXNlImtlY2NhazIyNCI6cmV0dXJuIG5ldyBlKDExNTIsNDQ4LG51bGwsMjI0LG4pO2Nhc2Uia2VjY2FrMjU2IjpyZXR1cm4gbmV3IGUoMTA4OCw1MTIsbnVsbCwyNTYsbik7Y2FzZSJrZWNjYWszODQiOnJldHVybiBuZXcgZSg4MzIsNzY4LG51bGwsMzg0LG4pO2Nhc2Uia2VjY2FrNTEyIjpyZXR1cm4gbmV3IGUoNTc2LDEwMjQsbnVsbCw1MTIsbik7Y2FzZSJzaGEzLTIyNCI6cmV0dXJuIG5ldyBlKDExNTIsNDQ4LDYsMjI0LG4pO2Nhc2Uic2hhMy0yNTYiOnJldHVybiBuZXcgZSgxMDg4LDUxMiw2LDI1NixuKTtjYXNlInNoYTMtMzg0IjpyZXR1cm4gbmV3IGUoODMyLDc2OCw2LDM4NCxuKTtjYXNlInNoYTMtNTEyIjpyZXR1cm4gbmV3IGUoNTc2LDEwMjQsNiw1MTIsbik7Y2FzZSJzaGFrZTEyOCI6cmV0dXJuIG5ldyByKDEzNDQsMjU2LDMxLG4pO2Nhc2Uic2hha2UyNTYiOnJldHVybiBuZXcgcigxMDg4LDUxMiwzMSxuKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiSW52YWxkIGFsZ29yaXRobTogIit0KX19fX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihlKXtjb25zdHtUcmFuc2Zvcm06bn09cigxMTEpO3QuZXhwb3J0cz10PT5jbGFzcyByIGV4dGVuZHMgbntjb25zdHJ1Y3RvcihlLHIsbixpLG8pe3N1cGVyKG8pLHRoaXMuX3JhdGU9ZSx0aGlzLl9jYXBhY2l0eT1yLHRoaXMuX2RlbGltaXRlZFN1ZmZpeD1uLHRoaXMuX2hhc2hCaXRMZW5ndGg9aSx0aGlzLl9vcHRpb25zPW8sdGhpcy5fc3RhdGU9bmV3IHQsdGhpcy5fc3RhdGUuaW5pdGlhbGl6ZShlLHIpLHRoaXMuX2ZpbmFsaXplZD0hMX1fdHJhbnNmb3JtKHQsZSxyKXtsZXQgbj1udWxsO3RyeXt0aGlzLnVwZGF0ZSh0LGUpfWNhdGNoKHQpe249dH1yKG4pfV9mbHVzaCh0KXtsZXQgZT1udWxsO3RyeXt0aGlzLnB1c2godGhpcy5kaWdlc3QoKSl9Y2F0Y2godCl7ZT10fXQoZSl9dXBkYXRlKHQscil7aWYoIWUuaXNCdWZmZXIodCkmJiJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJEYXRhIG11c3QgYmUgYSBzdHJpbmcgb3IgYSBidWZmZXIiKTtpZih0aGlzLl9maW5hbGl6ZWQpdGhyb3cgbmV3IEVycm9yKCJEaWdlc3QgYWxyZWFkeSBjYWxsZWQiKTtyZXR1cm4gZS5pc0J1ZmZlcih0KXx8KHQ9ZS5mcm9tKHQscikpLHRoaXMuX3N0YXRlLmFic29yYih0KSx0aGlzfWRpZ2VzdCh0KXtpZih0aGlzLl9maW5hbGl6ZWQpdGhyb3cgbmV3IEVycm9yKCJEaWdlc3QgYWxyZWFkeSBjYWxsZWQiKTt0aGlzLl9maW5hbGl6ZWQ9ITAsdGhpcy5fZGVsaW1pdGVkU3VmZml4JiZ0aGlzLl9zdGF0ZS5hYnNvcmJMYXN0RmV3Qml0cyh0aGlzLl9kZWxpbWl0ZWRTdWZmaXgpO2xldCBlPXRoaXMuX3N0YXRlLnNxdWVlemUodGhpcy5faGFzaEJpdExlbmd0aC84KTtyZXR1cm4gdm9pZCAwIT09dCYmKGU9ZS50b1N0cmluZyh0KSksdGhpcy5fcmVzZXRTdGF0ZSgpLGV9X3Jlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fc3RhdGUuaW5pdGlhbGl6ZSh0aGlzLl9yYXRlLHRoaXMuX2NhcGFjaXR5KSx0aGlzfV9jbG9uZSgpe2NvbnN0IHQ9bmV3IHIodGhpcy5fcmF0ZSx0aGlzLl9jYXBhY2l0eSx0aGlzLl9kZWxpbWl0ZWRTdWZmaXgsdGhpcy5faGFzaEJpdExlbmd0aCx0aGlzLl9vcHRpb25zKTtyZXR1cm4gdGhpcy5fc3RhdGUuY29weSh0Ll9zdGF0ZSksdC5fZmluYWxpemVkPXRoaXMuX2ZpbmFsaXplZCx0fX19KS5jYWxsKHRoaXMscigyKS5CdWZmZXIpfSxmdW5jdGlvbih0LGUpe30sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSl7dmFyIHI9T2JqZWN0LmtleXModCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KTtlJiYobj1uLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxlKS5lbnVtZXJhYmxlfSkpKSxyLnB1c2guYXBwbHkocixuKX1yZXR1cm4gcn1mdW5jdGlvbiBpKHQsZSxyKXtyZXR1cm4gZSBpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOnIsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPXIsdH1mdW5jdGlvbiBvKHQsZSl7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBuPWVbcl07bi5lbnVtZXJhYmxlPW4uZW51bWVyYWJsZXx8ITEsbi5jb25maWd1cmFibGU9ITAsInZhbHVlImluIG4mJihuLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxuLmtleSxuKX19dmFyIHM9cigyKS5CdWZmZXIsYT1yKDIzMykuaW5zcGVjdCx1PWEmJmEuY3VzdG9tfHwiaW5zcGVjdCI7dC5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpeyFmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLHQpLHRoaXMuaGVhZD1udWxsLHRoaXMudGFpbD1udWxsLHRoaXMubGVuZ3RoPTB9dmFyIGUscixjO3JldHVybiBlPXQsKHI9W3trZXk6InB1c2giLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXtkYXRhOnQsbmV4dDpudWxsfTt0aGlzLmxlbmd0aD4wP3RoaXMudGFpbC5uZXh0PWU6dGhpcy5oZWFkPWUsdGhpcy50YWlsPWUsKyt0aGlzLmxlbmd0aH19LHtrZXk6InVuc2hpZnQiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXtkYXRhOnQsbmV4dDp0aGlzLmhlYWR9OzA9PT10aGlzLmxlbmd0aCYmKHRoaXMudGFpbD1lKSx0aGlzLmhlYWQ9ZSwrK3RoaXMubGVuZ3RofX0se2tleToic2hpZnQiLHZhbHVlOmZ1bmN0aW9uKCl7aWYoMCE9PXRoaXMubGVuZ3RoKXt2YXIgdD10aGlzLmhlYWQuZGF0YTtyZXR1cm4gMT09PXRoaXMubGVuZ3RoP3RoaXMuaGVhZD10aGlzLnRhaWw9bnVsbDp0aGlzLmhlYWQ9dGhpcy5oZWFkLm5leHQsLS10aGlzLmxlbmd0aCx0fX19LHtrZXk6ImNsZWFyIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuaGVhZD10aGlzLnRhaWw9bnVsbCx0aGlzLmxlbmd0aD0wfX0se2tleToiam9pbiIsdmFsdWU6ZnVuY3Rpb24odCl7aWYoMD09PXRoaXMubGVuZ3RoKXJldHVybiIiO2Zvcih2YXIgZT10aGlzLmhlYWQscj0iIitlLmRhdGE7ZT1lLm5leHQ7KXIrPXQrZS5kYXRhO3JldHVybiByfX0se2tleToiY29uY2F0Iix2YWx1ZTpmdW5jdGlvbih0KXtpZigwPT09dGhpcy5sZW5ndGgpcmV0dXJuIHMuYWxsb2MoMCk7Zm9yKHZhciBlLHIsbixpPXMuYWxsb2NVbnNhZmUodD4+PjApLG89dGhpcy5oZWFkLGE9MDtvOyllPW8uZGF0YSxyPWksbj1hLHMucHJvdG90eXBlLmNvcHkuY2FsbChlLHIsbiksYSs9by5kYXRhLmxlbmd0aCxvPW8ubmV4dDtyZXR1cm4gaX19LHtrZXk6ImNvbnN1bWUiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIHQ8dGhpcy5oZWFkLmRhdGEubGVuZ3RoPyhyPXRoaXMuaGVhZC5kYXRhLnNsaWNlKDAsdCksdGhpcy5oZWFkLmRhdGE9dGhpcy5oZWFkLmRhdGEuc2xpY2UodCkpOnI9dD09PXRoaXMuaGVhZC5kYXRhLmxlbmd0aD90aGlzLnNoaWZ0KCk6ZT90aGlzLl9nZXRTdHJpbmcodCk6dGhpcy5fZ2V0QnVmZmVyKHQpLHJ9fSx7a2V5OiJmaXJzdCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oZWFkLmRhdGF9fSx7a2V5OiJfZ2V0U3RyaW5nIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLmhlYWQscj0xLG49ZS5kYXRhO2Zvcih0LT1uLmxlbmd0aDtlPWUubmV4dDspe3ZhciBpPWUuZGF0YSxvPXQ+aS5sZW5ndGg/aS5sZW5ndGg6dDtpZihvPT09aS5sZW5ndGg/bis9aTpuKz1pLnNsaWNlKDAsdCksMD09KHQtPW8pKXtvPT09aS5sZW5ndGg/KCsrcixlLm5leHQ/dGhpcy5oZWFkPWUubmV4dDp0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwpOih0aGlzLmhlYWQ9ZSxlLmRhdGE9aS5zbGljZShvKSk7YnJlYWt9KytyfXJldHVybiB0aGlzLmxlbmd0aC09cixufX0se2tleToiX2dldEJ1ZmZlciIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9cy5hbGxvY1Vuc2FmZSh0KSxyPXRoaXMuaGVhZCxuPTE7Zm9yKHIuZGF0YS5jb3B5KGUpLHQtPXIuZGF0YS5sZW5ndGg7cj1yLm5leHQ7KXt2YXIgaT1yLmRhdGEsbz10PmkubGVuZ3RoP2kubGVuZ3RoOnQ7aWYoaS5jb3B5KGUsZS5sZW5ndGgtdCwwLG8pLDA9PSh0LT1vKSl7bz09PWkubGVuZ3RoPygrK24sci5uZXh0P3RoaXMuaGVhZD1yLm5leHQ6dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsKToodGhpcy5oZWFkPXIsci5kYXRhPWkuc2xpY2UobykpO2JyZWFrfSsrbn1yZXR1cm4gdGhpcy5sZW5ndGgtPW4sZX19LHtrZXk6dSx2YWx1ZTpmdW5jdGlvbih0LGUpe3JldHVybiBhKHRoaXMsZnVuY3Rpb24odCl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIHI9bnVsbCE9YXJndW1lbnRzW2VdP2FyZ3VtZW50c1tlXTp7fTtlJTI/bihPYmplY3QociksITApLmZvckVhY2goKGZ1bmN0aW9uKGUpe2kodCxlLHJbZV0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMocikpOm4oT2JqZWN0KHIpKS5mb3JFYWNoKChmdW5jdGlvbihlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocixlKSl9KSl9cmV0dXJuIHR9KHt9LGUse2RlcHRoOjAsY3VzdG9tSW5zcGVjdDohMX0pKX19XSkmJm8oZS5wcm90b3R5cGUsciksYyYmbyhlLGMpLHR9KCl9LGZ1bmN0aW9uKHQsZSl7fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlKXt2YXIgbjtmdW5jdGlvbiBpKHQsZSxyKXtyZXR1cm4gZSBpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOnIsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPXIsdH12YXIgbz1yKDU3KSxzPVN5bWJvbCgibGFzdFJlc29sdmUiKSxhPVN5bWJvbCgibGFzdFJlamVjdCIpLHU9U3ltYm9sKCJlcnJvciIpLGM9U3ltYm9sKCJlbmRlZCIpLGY9U3ltYm9sKCJsYXN0UHJvbWlzZSIpLGg9U3ltYm9sKCJoYW5kbGVQcm9taXNlIiksbD1TeW1ib2woInN0cmVhbSIpO2Z1bmN0aW9uIGQodCxlKXtyZXR1cm57dmFsdWU6dCxkb25lOmV9fWZ1bmN0aW9uIHAodCl7dmFyIGU9dFtzXTtpZihudWxsIT09ZSl7dmFyIHI9dFtsXS5yZWFkKCk7bnVsbCE9PXImJih0W2ZdPW51bGwsdFtzXT1udWxsLHRbYV09bnVsbCxlKGQociwhMSkpKX19ZnVuY3Rpb24gbSh0KXtlLm5leHRUaWNrKHAsdCl9dmFyIGc9T2JqZWN0LmdldFByb3RvdHlwZU9mKChmdW5jdGlvbigpe30pKSxiPU9iamVjdC5zZXRQcm90b3R5cGVPZigoaShuPXtnZXQgc3RyZWFtKCl7cmV0dXJuIHRoaXNbbF19LG5leHQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9dGhpc1t1XTtpZihudWxsIT09cilyZXR1cm4gUHJvbWlzZS5yZWplY3Qocik7aWYodGhpc1tjXSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGQodm9pZCAwLCEwKSk7aWYodGhpc1tsXS5kZXN0cm95ZWQpcmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihyLG4pe2UubmV4dFRpY2soKGZ1bmN0aW9uKCl7dFt1XT9uKHRbdV0pOnIoZCh2b2lkIDAsITApKX0pKX0pKTt2YXIgbixpPXRoaXNbZl07aWYoaSluPW5ldyBQcm9taXNlKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHIsbil7dC50aGVuKChmdW5jdGlvbigpe2VbY10/cihkKHZvaWQgMCwhMCkpOmVbaF0ocixuKX0pLG4pfX0oaSx0aGlzKSk7ZWxzZXt2YXIgbz10aGlzW2xdLnJlYWQoKTtpZihudWxsIT09bylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGQobywhMSkpO249bmV3IFByb21pc2UodGhpc1toXSl9cmV0dXJuIHRoaXNbZl09bixufX0sU3ltYm9sLmFzeW5jSXRlcmF0b3IsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksaShuLCJyZXR1cm4iLChmdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihlLHIpe3RbbF0uZGVzdHJveShudWxsLChmdW5jdGlvbih0KXt0P3IodCk6ZShkKHZvaWQgMCwhMCkpfSkpfSkpfSkpLG4pLGcpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZSxyPU9iamVjdC5jcmVhdGUoYiwoaShlPXt9LGwse3ZhbHVlOnQsd3JpdGFibGU6ITB9KSxpKGUscyx7dmFsdWU6bnVsbCx3cml0YWJsZTohMH0pLGkoZSxhLHt2YWx1ZTpudWxsLHdyaXRhYmxlOiEwfSksaShlLHUse3ZhbHVlOm51bGwsd3JpdGFibGU6ITB9KSxpKGUsYyx7dmFsdWU6dC5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkLHdyaXRhYmxlOiEwfSksaShlLGgse3ZhbHVlOmZ1bmN0aW9uKHQsZSl7dmFyIG49cltsXS5yZWFkKCk7bj8ocltmXT1udWxsLHJbc109bnVsbCxyW2FdPW51bGwsdChkKG4sITEpKSk6KHJbc109dCxyW2FdPWUpfSx3cml0YWJsZTohMH0pLGUpKTtyZXR1cm4gcltmXT1udWxsLG8odCwoZnVuY3Rpb24odCl7aWYodCYmIkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFIiE9PXQuY29kZSl7dmFyIGU9clthXTtyZXR1cm4gbnVsbCE9PWUmJihyW2ZdPW51bGwscltzXT1udWxsLHJbYV09bnVsbCxlKHQpKSx2b2lkKHJbdV09dCl9dmFyIG49cltzXTtudWxsIT09biYmKHJbZl09bnVsbCxyW3NdPW51bGwsclthXT1udWxsLG4oZCh2b2lkIDAsITApKSkscltjXT0hMH0pKSx0Lm9uKCJyZWFkYWJsZSIsbS5iaW5kKG51bGwscikpLHJ9fSkuY2FsbCh0aGlzLHIoNSkpfSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiUmVhZGFibGUuZnJvbSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBicm93c2VyIil9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1pO3ZhciBuPXIoMTE3KTtmdW5jdGlvbiBpKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGkpKXJldHVybiBuZXcgaSh0KTtuLmNhbGwodGhpcyx0KX1yKDMpKGksbiksaS5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbih0LGUscil7cihudWxsLHQpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbjt2YXIgaT1yKDI3KS5jb2RlcyxvPWkuRVJSX01JU1NJTkdfQVJHUyxzPWkuRVJSX1NUUkVBTV9ERVNUUk9ZRUQ7ZnVuY3Rpb24gYSh0KXtpZih0KXRocm93IHR9ZnVuY3Rpb24gdSh0LGUsaSxvKXtvPWZ1bmN0aW9uKHQpe3ZhciBlPSExO3JldHVybiBmdW5jdGlvbigpe2V8fChlPSEwLHQuYXBwbHkodm9pZCAwLGFyZ3VtZW50cykpfX0obyk7dmFyIGE9ITE7dC5vbigiY2xvc2UiLChmdW5jdGlvbigpe2E9ITB9KSksdm9pZCAwPT09biYmKG49cig1NykpLG4odCx7cmVhZGFibGU6ZSx3cml0YWJsZTppfSwoZnVuY3Rpb24odCl7aWYodClyZXR1cm4gbyh0KTthPSEwLG8oKX0pKTt2YXIgdT0hMTtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoIWEmJiF1KXJldHVybiB1PSEwLGZ1bmN0aW9uKHQpe3JldHVybiB0LnNldEhlYWRlciYmImZ1bmN0aW9uIj09dHlwZW9mIHQuYWJvcnR9KHQpP3QuYWJvcnQoKToiZnVuY3Rpb24iPT10eXBlb2YgdC5kZXN0cm95P3QuZGVzdHJveSgpOnZvaWQgbyhlfHxuZXcgcygicGlwZSIpKX19ZnVuY3Rpb24gYyh0KXt0KCl9ZnVuY3Rpb24gZih0LGUpe3JldHVybiB0LnBpcGUoZSl9ZnVuY3Rpb24gaCh0KXtyZXR1cm4gdC5sZW5ndGg/ImZ1bmN0aW9uIiE9dHlwZW9mIHRbdC5sZW5ndGgtMV0/YTp0LnBvcCgpOmF9dC5leHBvcnRzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1hcmd1bWVudHNbcl07dmFyIG4saT1oKGUpO2lmKEFycmF5LmlzQXJyYXkoZVswXSkmJihlPWVbMF0pLGUubGVuZ3RoPDIpdGhyb3cgbmV3IG8oInN0cmVhbXMiKTt2YXIgcz1lLm1hcCgoZnVuY3Rpb24odCxyKXt2YXIgbz1yPGUubGVuZ3RoLTE7cmV0dXJuIHUodCxvLHI+MCwoZnVuY3Rpb24odCl7bnx8KG49dCksdCYmcy5mb3JFYWNoKGMpLG98fChzLmZvckVhY2goYyksaShuKSl9KSl9KSk7cmV0dXJuIGUucmVkdWNlKGYpfX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihlKXtjb25zdHtUcmFuc2Zvcm06bn09cigxMTEpO3QuZXhwb3J0cz10PT5jbGFzcyByIGV4dGVuZHMgbntjb25zdHJ1Y3RvcihlLHIsbixpKXtzdXBlcihpKSx0aGlzLl9yYXRlPWUsdGhpcy5fY2FwYWNpdHk9cix0aGlzLl9kZWxpbWl0ZWRTdWZmaXg9bix0aGlzLl9vcHRpb25zPWksdGhpcy5fc3RhdGU9bmV3IHQsdGhpcy5fc3RhdGUuaW5pdGlhbGl6ZShlLHIpLHRoaXMuX2ZpbmFsaXplZD0hMX1fdHJhbnNmb3JtKHQsZSxyKXtsZXQgbj1udWxsO3RyeXt0aGlzLnVwZGF0ZSh0LGUpfWNhdGNoKHQpe249dH1yKG4pfV9mbHVzaCgpe31fcmVhZCh0KXt0aGlzLnB1c2godGhpcy5zcXVlZXplKHQpKX11cGRhdGUodCxyKXtpZighZS5pc0J1ZmZlcih0KSYmInN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkRhdGEgbXVzdCBiZSBhIHN0cmluZyBvciBhIGJ1ZmZlciIpO2lmKHRoaXMuX2ZpbmFsaXplZCl0aHJvdyBuZXcgRXJyb3IoIlNxdWVlemUgYWxyZWFkeSBjYWxsZWQiKTtyZXR1cm4gZS5pc0J1ZmZlcih0KXx8KHQ9ZS5mcm9tKHQscikpLHRoaXMuX3N0YXRlLmFic29yYih0KSx0aGlzfXNxdWVlemUodCxlKXt0aGlzLl9maW5hbGl6ZWR8fCh0aGlzLl9maW5hbGl6ZWQ9ITAsdGhpcy5fc3RhdGUuYWJzb3JiTGFzdEZld0JpdHModGhpcy5fZGVsaW1pdGVkU3VmZml4KSk7bGV0IHI9dGhpcy5fc3RhdGUuc3F1ZWV6ZSh0KTtyZXR1cm4gdm9pZCAwIT09ZSYmKHI9ci50b1N0cmluZyhlKSkscn1fcmVzZXRTdGF0ZSgpe3JldHVybiB0aGlzLl9zdGF0ZS5pbml0aWFsaXplKHRoaXMuX3JhdGUsdGhpcy5fY2FwYWNpdHkpLHRoaXN9X2Nsb25lKCl7Y29uc3QgdD1uZXcgcih0aGlzLl9yYXRlLHRoaXMuX2NhcGFjaXR5LHRoaXMuX2RlbGltaXRlZFN1ZmZpeCx0aGlzLl9vcHRpb25zKTtyZXR1cm4gdGhpcy5fc3RhdGUuY29weSh0Ll9zdGF0ZSksdC5fZmluYWxpemVkPXRoaXMuX2ZpbmFsaXplZCx0fX19KS5jYWxsKHRoaXMscigyKS5CdWZmZXIpfSxmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKGUpe2NvbnN0IG49cigyNDApO2Z1bmN0aW9uIGkoKXt0aGlzLnN0YXRlPVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSx0aGlzLmJsb2NrU2l6ZT1udWxsLHRoaXMuY291bnQ9MCx0aGlzLnNxdWVlemluZz0hMX1pLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKHQsZSl7Zm9yKGxldCB0PTA7dDw1MDsrK3QpdGhpcy5zdGF0ZVt0XT0wO3RoaXMuYmxvY2tTaXplPXQvOCx0aGlzLmNvdW50PTAsdGhpcy5zcXVlZXppbmc9ITF9LGkucHJvdG90eXBlLmFic29yYj1mdW5jdGlvbih0KXtmb3IobGV0IGU9MDtlPHQubGVuZ3RoOysrZSl0aGlzLnN0YXRlW35+KHRoaXMuY291bnQvNCldXj10W2VdPDx0aGlzLmNvdW50JTQqOCx0aGlzLmNvdW50Kz0xLHRoaXMuY291bnQ9PT10aGlzLmJsb2NrU2l6ZSYmKG4ucDE2MDAodGhpcy5zdGF0ZSksdGhpcy5jb3VudD0wKX0saS5wcm90b3R5cGUuYWJzb3JiTGFzdEZld0JpdHM9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZVt+fih0aGlzLmNvdW50LzQpXV49dDw8dGhpcy5jb3VudCU0KjgsMCE9KDEyOCZ0KSYmdGhpcy5jb3VudD09PXRoaXMuYmxvY2tTaXplLTEmJm4ucDE2MDAodGhpcy5zdGF0ZSksdGhpcy5zdGF0ZVt+figodGhpcy5ibG9ja1NpemUtMSkvNCldXj0xMjg8PCh0aGlzLmJsb2NrU2l6ZS0xKSU0Kjgsbi5wMTYwMCh0aGlzLnN0YXRlKSx0aGlzLmNvdW50PTAsdGhpcy5zcXVlZXppbmc9ITB9LGkucHJvdG90eXBlLnNxdWVlemU9ZnVuY3Rpb24odCl7dGhpcy5zcXVlZXppbmd8fHRoaXMuYWJzb3JiTGFzdEZld0JpdHMoMSk7Y29uc3Qgcj1lLmFsbG9jKHQpO2ZvcihsZXQgZT0wO2U8dDsrK2UpcltlXT10aGlzLnN0YXRlW35+KHRoaXMuY291bnQvNCldPj4+dGhpcy5jb3VudCU0KjgmMjU1LHRoaXMuY291bnQrPTEsdGhpcy5jb3VudD09PXRoaXMuYmxvY2tTaXplJiYobi5wMTYwMCh0aGlzLnN0YXRlKSx0aGlzLmNvdW50PTApO3JldHVybiByfSxpLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKHQpe2ZvcihsZXQgZT0wO2U8NTA7KytlKXQuc3RhdGVbZV09dGhpcy5zdGF0ZVtlXTt0LmJsb2NrU2l6ZT10aGlzLmJsb2NrU2l6ZSx0LmNvdW50PXRoaXMuY291bnQsdC5zcXVlZXppbmc9dGhpcy5zcXVlZXppbmd9LHQuZXhwb3J0cz1pfSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlKXtjb25zdCByPVsxLDAsMzI4OTgsMCwzMjkwNiwyMTQ3NDgzNjQ4LDIxNDc1MTY0MTYsMjE0NzQ4MzY0OCwzMjkwNywwLDIxNDc0ODM2NDksMCwyMTQ3NTE2NTQ1LDIxNDc0ODM2NDgsMzI3NzcsMjE0NzQ4MzY0OCwxMzgsMCwxMzYsMCwyMTQ3NTE2NDI1LDAsMjE0NzQ4MzY1OCwwLDIxNDc1MTY1NTUsMCwxMzksMjE0NzQ4MzY0OCwzMjkwNSwyMTQ3NDgzNjQ4LDMyNzcxLDIxNDc0ODM2NDgsMzI3NzAsMjE0NzQ4MzY0OCwxMjgsMjE0NzQ4MzY0OCwzMjc3OCwwLDIxNDc0ODM2NTgsMjE0NzQ4MzY0OCwyMTQ3NTE2NTQ1LDIxNDc0ODM2NDgsMzI4OTYsMjE0NzQ4MzY0OCwyMTQ3NDgzNjQ5LDAsMjE0NzUxNjQyNCwyMTQ3NDgzNjQ4XTtlLnAxNjAwPWZ1bmN0aW9uKHQpe2ZvcihsZXQgZT0wO2U8MjQ7KytlKXtjb25zdCBuPXRbMF1edFsxMF1edFsyMF1edFszMF1edFs0MF0saT10WzFdXnRbMTFdXnRbMjFdXnRbMzFdXnRbNDFdLG89dFsyXV50WzEyXV50WzIyXV50WzMyXV50WzQyXSxzPXRbM11edFsxM11edFsyM11edFszM11edFs0M10sYT10WzRdXnRbMTRdXnRbMjRdXnRbMzRdXnRbNDRdLHU9dFs1XV50WzE1XV50WzI1XV50WzM1XV50WzQ1XSxjPXRbNl1edFsxNl1edFsyNl1edFszNl1edFs0Nl0sZj10WzddXnRbMTddXnRbMjddXnRbMzddXnRbNDddLGg9dFs4XV50WzE4XV50WzI4XV50WzM4XV50WzQ4XSxsPXRbOV1edFsxOV1edFsyOV1edFszOV1edFs0OV07bGV0IGQ9aF4obzw8MXxzPj4+MzEpLHA9bF4oczw8MXxvPj4+MzEpO2NvbnN0IG09dFswXV5kLGc9dFsxXV5wLGI9dFsxMF1eZCx5PXRbMTFdXnAsdj10WzIwXV5kLF89dFsyMV1ecCx3PXRbMzBdXmQsTT10WzMxXV5wLFM9dFs0MF1eZCxFPXRbNDFdXnA7ZD1uXihhPDwxfHU+Pj4zMSkscD1pXih1PDwxfGE+Pj4zMSk7Y29uc3QgeD10WzJdXmQsaz10WzNdXnAsQT10WzEyXV5kLFI9dFsxM11ecCxUPXRbMjJdXmQsTz10WzIzXV5wLEM9dFszMl1eZCxQPXRbMzNdXnAsST10WzQyXV5kLEI9dFs0M11ecDtkPW9eKGM8PDF8Zj4+PjMxKSxwPXNeKGY8PDF8Yz4+PjMxKTtjb25zdCBMPXRbNF1eZCxqPXRbNV1ecCxOPXRbMTRdXmQscT10WzE1XV5wLFU9dFsyNF1eZCxEPXRbMjVdXnAsej10WzM0XV5kLEg9dFszNV1ecCxGPXRbNDRdXmQsVz10WzQ1XV5wO2Q9YV4oaDw8MXxsPj4+MzEpLHA9dV4obDw8MXxoPj4+MzEpO2NvbnN0IEs9dFs2XV5kLFY9dFs3XV5wLEo9dFsxNl1eZCxZPXRbMTddXnAsRz10WzI2XV5kLFo9dFsyN11ecCwkPXRbMzZdXmQsWD10WzM3XV5wLFE9dFs0Nl1eZCx0dD10WzQ3XV5wO2Q9Y14objw8MXxpPj4+MzEpLHA9Zl4oaTw8MXxuPj4+MzEpO2NvbnN0IGV0PXRbOF1eZCxydD10WzldXnAsbnQ9dFsxOF1eZCxpdD10WzE5XV5wLG90PXRbMjhdXmQsc3Q9dFsyOV1ecCxhdD10WzM4XV5kLHV0PXRbMzldXnAsY3Q9dFs0OF1eZCxmdD10WzQ5XV5wLGh0PW0sbHQ9ZyxkdD15PDw0fGI+Pj4yOCxwdD1iPDw0fHk+Pj4yOCxtdD12PDwzfF8+Pj4yOSxndD1fPDwzfHY+Pj4yOSxidD1NPDw5fHc+Pj4yMyx5dD13PDw5fE0+Pj4yMyx2dD1TPDwxOHxFPj4+MTQsX3Q9RTw8MTh8Uz4+PjE0LHd0PXg8PDF8az4+PjMxLE10PWs8PDF8eD4+PjMxLFN0PVI8PDEyfEE+Pj4yMCxFdD1BPDwxMnxSPj4+MjAseHQ9VDw8MTB8Tz4+PjIyLGt0PU88PDEwfFQ+Pj4yMixBdD1QPDwxM3xDPj4+MTksUnQ9Qzw8MTN8UD4+PjE5LFR0PUk8PDJ8Qj4+PjMwLE90PUI8PDJ8ST4+PjMwLEN0PWo8PDMwfEw+Pj4yLFB0PUw8PDMwfGo+Pj4yLEl0PU48PDZ8cT4+PjI2LEJ0PXE8PDZ8Tj4+PjI2LEx0PUQ8PDExfFU+Pj4yMSxqdD1VPDwxMXxEPj4+MjEsTnQ9ejw8MTV8SD4+PjE3LHF0PUg8PDE1fHo+Pj4xNyxVdD1XPDwyOXxGPj4+MyxEdD1GPDwyOXxXPj4+Myx6dD1LPDwyOHxWPj4+NCxIdD1WPDwyOHxLPj4+NCxGdD1ZPDwyM3xKPj4+OSxXdD1KPDwyM3xZPj4+OSxLdD1HPDwyNXxaPj4+NyxWdD1aPDwyNXxHPj4+NyxKdD0kPDwyMXxYPj4+MTEsWXQ9WDw8MjF8JD4+PjExLEd0PXR0PDwyNHxRPj4+OCxadD1RPDwyNHx0dD4+PjgsJHQ9ZXQ8PDI3fHJ0Pj4+NSxYdD1ydDw8Mjd8ZXQ+Pj41LFF0PW50PDwyMHxpdD4+PjEyLHRlPWl0PDwyMHxudD4+PjEyLGVlPXN0PDw3fG90Pj4+MjUscmU9b3Q8PDd8c3Q+Pj4yNSxuZT1hdDw8OHx1dD4+PjI0LGllPXV0PDw4fGF0Pj4+MjQsb2U9Y3Q8PDE0fGZ0Pj4+MTgsc2U9ZnQ8PDE0fGN0Pj4+MTg7dFswXT1odF5+U3QmTHQsdFsxXT1sdF5+RXQmanQsdFsxMF09enReflF0Jm10LHRbMTFdPUh0Xn50ZSZndCx0WzIwXT13dF5+SXQmS3QsdFsyMV09TXRefkJ0JlZ0LHRbMzBdPSR0Xn5kdCZ4dCx0WzMxXT1YdF5+cHQma3QsdFs0MF09Q3RefkZ0JmVlLHRbNDFdPVB0Xn5XdCZyZSx0WzJdPVN0Xn5MdCZKdCx0WzNdPUV0Xn5qdCZZdCx0WzEyXT1RdF5+bXQmQXQsdFsxM109dGVefmd0JlJ0LHRbMjJdPUl0Xn5LdCZuZSx0WzIzXT1CdF5+VnQmaWUsdFszMl09ZHRefnh0Jk50LHRbMzNdPXB0Xn5rdCZxdCx0WzQyXT1GdF5+ZWUmYnQsdFs0M109V3RefnJlJnl0LHRbNF09THRefkp0Jm9lLHRbNV09anRefll0JnNlLHRbMTRdPW10Xn5BdCZVdCx0WzE1XT1ndF5+UnQmRHQsdFsyNF09S3Refm5lJnZ0LHRbMjVdPVZ0Xn5pZSZfdCx0WzM0XT14dF5+TnQmR3QsdFszNV09a3RefnF0Jlp0LHRbNDRdPWVlXn5idCZUdCx0WzQ1XT1yZV5+eXQmT3QsdFs2XT1KdF5+b2UmaHQsdFs3XT1ZdF5+c2UmbHQsdFsxNl09QXReflV0Jnp0LHRbMTddPVJ0Xn5EdCZIdCx0WzI2XT1uZV5+dnQmd3QsdFsyN109aWVefl90Jk10LHRbMzZdPU50Xn5HdCYkdCx0WzM3XT1xdF5+WnQmWHQsdFs0Nl09YnReflR0JkN0LHRbNDddPXl0Xn5PdCZQdCx0WzhdPW9lXn5odCZTdCx0WzldPXNlXn5sdCZFdCx0WzE4XT1VdF5+enQmUXQsdFsxOV09RHRefkh0JnRlLHRbMjhdPXZ0Xn53dCZJdCx0WzI5XT1fdF5+TXQmQnQsdFszOF09R3RefiR0JmR0LHRbMzldPVp0Xn5YdCZwdCx0WzQ4XT1UdF5+Q3QmRnQsdFs0OV09T3ReflB0Jld0LHRbMF1ePXJbMiplXSx0WzFdXj1yWzIqZSsxXX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlKXt2YXIgbj1yKDExOCksaT1yKDI2Niksbz1yKDI2Nykscz1mdW5jdGlvbih0KXtyZXR1cm4gMzI9PT10Lmxlbmd0aCYmbi5wcml2YXRlS2V5VmVyaWZ5KFVpbnQ4QXJyYXkuZnJvbSh0KSl9O3QuZXhwb3J0cz17cHJpdmF0ZUtleVZlcmlmeTpzLHByaXZhdGVLZXlFeHBvcnQ6ZnVuY3Rpb24odCxlKXtpZigzMiE9PXQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJwcml2YXRlIGtleSBsZW5ndGggaXMgaW52YWxpZCIpO3ZhciByPWkucHJpdmF0ZUtleUV4cG9ydCh0LGUpO3JldHVybiBvLnByaXZhdGVLZXlFeHBvcnQodCxyLGUpfSxwcml2YXRlS2V5SW1wb3J0OmZ1bmN0aW9uKHQpe2lmKG51bGwhPT0odD1vLnByaXZhdGVLZXlJbXBvcnQodCkpJiYzMj09PXQubGVuZ3RoJiZzKHQpKXJldHVybiB0O3Rocm93IG5ldyBFcnJvcigiY291bGRuJ3QgaW1wb3J0IGZyb20gREVSIGZvcm1hdCIpfSxwcml2YXRlS2V5TmVnYXRlOmZ1bmN0aW9uKHQpe3JldHVybiBlLmZyb20obi5wcml2YXRlS2V5TmVnYXRlKFVpbnQ4QXJyYXkuZnJvbSh0KSkpfSxwcml2YXRlS2V5TW9kSW52ZXJzZTpmdW5jdGlvbih0KXtpZigzMiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigicHJpdmF0ZSBrZXkgbGVuZ3RoIGlzIGludmFsaWQiKTtyZXR1cm4gZS5mcm9tKGkucHJpdmF0ZUtleU1vZEludmVyc2UoVWludDhBcnJheS5mcm9tKHQpKSl9LHByaXZhdGVLZXlUd2Vha0FkZDpmdW5jdGlvbih0LHIpe3JldHVybiBlLmZyb20obi5wcml2YXRlS2V5VHdlYWtBZGQoVWludDhBcnJheS5mcm9tKHQpLHIpKX0scHJpdmF0ZUtleVR3ZWFrTXVsOmZ1bmN0aW9uKHQscil7cmV0dXJuIGUuZnJvbShuLnByaXZhdGVLZXlUd2Vha011bChVaW50OEFycmF5LmZyb20odCksVWludDhBcnJheS5mcm9tKHIpKSl9LHB1YmxpY0tleUNyZWF0ZTpmdW5jdGlvbih0LHIpe3JldHVybiBlLmZyb20obi5wdWJsaWNLZXlDcmVhdGUoVWludDhBcnJheS5mcm9tKHQpLHIpKX0scHVibGljS2V5Q29udmVydDpmdW5jdGlvbih0LHIpe3JldHVybiBlLmZyb20obi5wdWJsaWNLZXlDb252ZXJ0KFVpbnQ4QXJyYXkuZnJvbSh0KSxyKSl9LHB1YmxpY0tleVZlcmlmeTpmdW5jdGlvbih0KXtyZXR1cm4oMzM9PT10Lmxlbmd0aHx8NjU9PT10Lmxlbmd0aCkmJm4ucHVibGljS2V5VmVyaWZ5KFVpbnQ4QXJyYXkuZnJvbSh0KSl9LHB1YmxpY0tleVR3ZWFrQWRkOmZ1bmN0aW9uKHQscixpKXtyZXR1cm4gZS5mcm9tKG4ucHVibGljS2V5VHdlYWtBZGQoVWludDhBcnJheS5mcm9tKHQpLFVpbnQ4QXJyYXkuZnJvbShyKSxpKSl9LHB1YmxpY0tleVR3ZWFrTXVsOmZ1bmN0aW9uKHQscixpKXtyZXR1cm4gZS5mcm9tKG4ucHVibGljS2V5VHdlYWtNdWwoVWludDhBcnJheS5mcm9tKHQpLFVpbnQ4QXJyYXkuZnJvbShyKSxpKSl9LHB1YmxpY0tleUNvbWJpbmU6ZnVuY3Rpb24odCxyKXt2YXIgaT1bXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtpLnB1c2goVWludDhBcnJheS5mcm9tKHQpKX0pKSxlLmZyb20obi5wdWJsaWNLZXlDb21iaW5lKGkscikpfSxzaWduYXR1cmVOb3JtYWxpemU6ZnVuY3Rpb24odCl7cmV0dXJuIGUuZnJvbShuLnNpZ25hdHVyZU5vcm1hbGl6ZShVaW50OEFycmF5LmZyb20odCkpKX0sc2lnbmF0dXJlRXhwb3J0OmZ1bmN0aW9uKHQpe3JldHVybiBlLmZyb20obi5zaWduYXR1cmVFeHBvcnQoVWludDhBcnJheS5mcm9tKHQpKSl9LHNpZ25hdHVyZUltcG9ydDpmdW5jdGlvbih0KXtyZXR1cm4gZS5mcm9tKG4uc2lnbmF0dXJlSW1wb3J0KFVpbnQ4QXJyYXkuZnJvbSh0KSkpfSxzaWduYXR1cmVJbXBvcnRMYXg6ZnVuY3Rpb24odCl7aWYoMD09PXQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJzaWduYXR1cmUgbGVuZ3RoIGlzIGludmFsaWQiKTt2YXIgZT1vLnNpZ25hdHVyZUltcG9ydExheCh0KTtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoImNvdWxkbid0IHBhcnNlIERFUiBzaWduYXR1cmUiKTtyZXR1cm4gaS5zaWduYXR1cmVJbXBvcnQoZSl9LHNpZ246ZnVuY3Rpb24odCxyLGkpe2lmKG51bGw9PT1pKXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMgc2hvdWxkIGJlIGFuIE9iamVjdCIpO3ZhciBvPXZvaWQgMDtpZihpKXtpZihvPXt9LG51bGw9PT1pLmRhdGEpdGhyb3cgbmV3IFR5cGVFcnJvcigib3B0aW9ucy5kYXRhIHNob3VsZCBiZSBhIEJ1ZmZlciIpO2lmKGkuZGF0YSl7aWYoMzIhPT1pLmRhdGEubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJvcHRpb25zLmRhdGEgbGVuZ3RoIGlzIGludmFsaWQiKTtvLmRhdGE9bmV3IFVpbnQ4QXJyYXkoaS5kYXRhKX1pZihudWxsPT09aS5ub25jZWZuKXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMubm9uY2VmbiBzaG91bGQgYmUgYSBGdW5jdGlvbiIpO2kubm9uY2VmbiYmKG8ubm9uY2Vmbj1mdW5jdGlvbih0LHIsbixvLHMpe3ZhciBhPW51bGwhPW4/ZS5mcm9tKG4pOm51bGwsdT1udWxsIT1vP2UuZnJvbShvKTpudWxsLGM9ZS5mcm9tKCIiKTtyZXR1cm4gaS5ub25jZWZuJiYoYz1pLm5vbmNlZm4oZS5mcm9tKHQpLGUuZnJvbShyKSxhLHUscykpLFVpbnQ4QXJyYXkuZnJvbShjKX0pfXZhciBzPW4uZWNkc2FTaWduKFVpbnQ4QXJyYXkuZnJvbSh0KSxVaW50OEFycmF5LmZyb20ociksbyk7cmV0dXJue3NpZ25hdHVyZTplLmZyb20ocy5zaWduYXR1cmUpLHJlY292ZXJ5OnMucmVjaWR9fSx2ZXJpZnk6ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuLmVjZHNhVmVyaWZ5KFVpbnQ4QXJyYXkuZnJvbShlKSxVaW50OEFycmF5LmZyb20odCkscil9LHJlY292ZXI6ZnVuY3Rpb24odCxyLGksbyl7cmV0dXJuIGUuZnJvbShuLmVjZHNhUmVjb3ZlcihVaW50OEFycmF5LmZyb20ociksaSxVaW50OEFycmF5LmZyb20odCksbykpfSxlY2RoOmZ1bmN0aW9uKHQscil7cmV0dXJuIGUuZnJvbShuLmVjZGgoVWludDhBcnJheS5mcm9tKHQpLFVpbnQ4QXJyYXkuZnJvbShyKSx7fSkpfSxlY2RoVW5zYWZlOmZ1bmN0aW9uKHQscixuKXtpZigzMyE9PXQubGVuZ3RoJiY2NSE9PXQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJwdWJsaWMga2V5IGxlbmd0aCBpcyBpbnZhbGlkIik7aWYoMzIhPT1yLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigicHJpdmF0ZSBrZXkgbGVuZ3RoIGlzIGludmFsaWQiKTtyZXR1cm4gZS5mcm9tKGkuZWNkaFVuc2FmZShVaW50OEFycmF5LmZyb20odCksVWludDhBcnJheS5mcm9tKHIpLG4pKX19fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlKXtjb25zdCByPSJJbXBvc3NpYmxlIGNhc2UuIFBsZWFzZSBjcmVhdGUgaXNzdWUuIixuPSJUaGUgdHdlYWsgd2FzIG91dCBvZiByYW5nZSBvciB0aGUgcmVzdWx0ZWQgcHJpdmF0ZSBrZXkgaXMgaW52YWxpZCIsaT0iVGhlIHR3ZWFrIHdhcyBvdXQgb2YgcmFuZ2Ugb3IgZXF1YWwgdG8gemVybyIsbz0iVW5rbm93IGVycm9yIG9uIGNvbnRleHQgcmFuZG9taXphdGlvbiIscz0iUHJpdmF0ZSBLZXkgaXMgaW52YWxpZCIsYT0iUHVibGljIEtleSBjb3VsZCBub3QgYmUgcGFyc2VkIix1PSJQdWJsaWMgS2V5IHNlcmlhbGl6YXRpb24gZXJyb3IiLGM9IlRoZSBzdW0gb2YgdGhlIHB1YmxpYyBrZXlzIGlzIG5vdCB2YWxpZCIsZj0iU2lnbmF0dXJlIGNvdWxkIG5vdCBiZSBwYXJzZWQiLGg9IlRoZSBub25jZSBnZW5lcmF0aW9uIGZ1bmN0aW9uIGZhaWxlZCwgb3IgdGhlIHByaXZhdGUga2V5IHdhcyBpbnZhbGlkIixsPSJQdWJsaWMga2V5IGNvdWxkIG5vdCBiZSByZWNvdmVyIixkPSJTY2FsYXIgd2FzIGludmFsaWQgKHplcm8gb3Igb3ZlcmZsb3cpIjtmdW5jdGlvbiBwKHQsZSl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKGUpfWZ1bmN0aW9uIG0odCxlLHIpe2lmKHAoZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXksYEV4cGVjdGVkICR7dH0gdG8gYmUgYW4gVWludDhBcnJheWApLHZvaWQgMCE9PXIpaWYoQXJyYXkuaXNBcnJheShyKSl7Y29uc3Qgbj1gRXhwZWN0ZWQgJHt0fSB0byBiZSBhbiBVaW50OEFycmF5IHdpdGggbGVuZ3RoIFske3Iuam9pbigiLCAiKX1dYDtwKHIuaW5jbHVkZXMoZS5sZW5ndGgpLG4pfWVsc2V7Y29uc3Qgbj1gRXhwZWN0ZWQgJHt0fSB0byBiZSBhbiBVaW50OEFycmF5IHdpdGggbGVuZ3RoICR7cn1gO3AoZS5sZW5ndGg9PT1yLG4pfX1mdW5jdGlvbiBnKHQpe3AoIkJvb2xlYW4iPT09eSh0KSwiRXhwZWN0ZWQgY29tcHJlc3NlZCB0byBiZSBhIEJvb2xlYW4iKX1mdW5jdGlvbiBiKHQ9KHQ9Pm5ldyBVaW50OEFycmF5KHQpKSxlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdCYmKHQ9dChlKSksbSgib3V0cHV0Iix0LGUpLHR9ZnVuY3Rpb24geSh0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpfXQuZXhwb3J0cz10PT4oe2NvbnRleHRSYW5kb21pemUoZSl7c3dpdGNoKHAobnVsbD09PWV8fGUgaW5zdGFuY2VvZiBVaW50OEFycmF5LCJFeHBlY3RlZCBzZWVkIHRvIGJlIGFuIFVpbnQ4QXJyYXkgb3IgbnVsbCIpLG51bGwhPT1lJiZtKCJzZWVkIixlLDMyKSx0LmNvbnRleHRSYW5kb21pemUoZSkpe2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3Iobyl9fSxwcml2YXRlS2V5VmVyaWZ5OmU9PihtKCJwcml2YXRlIGtleSIsZSwzMiksMD09PXQucHJpdmF0ZUtleVZlcmlmeShlKSkscHJpdmF0ZUtleU5lZ2F0ZShlKXtzd2l0Y2gobSgicHJpdmF0ZSBrZXkiLGUsMzIpLHQucHJpdmF0ZUtleU5lZ2F0ZShlKSl7Y2FzZSAwOnJldHVybiBlO2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3Iocil9fSxwcml2YXRlS2V5VHdlYWtBZGQoZSxyKXtzd2l0Y2gobSgicHJpdmF0ZSBrZXkiLGUsMzIpLG0oInR3ZWFrIixyLDMyKSx0LnByaXZhdGVLZXlUd2Vha0FkZChlLHIpKXtjYXNlIDA6cmV0dXJuIGU7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihuKX19LHByaXZhdGVLZXlUd2Vha011bChlLHIpe3N3aXRjaChtKCJwcml2YXRlIGtleSIsZSwzMiksbSgidHdlYWsiLHIsMzIpLHQucHJpdmF0ZUtleVR3ZWFrTXVsKGUscikpe2Nhc2UgMDpyZXR1cm4gZTtjYXNlIDE6dGhyb3cgbmV3IEVycm9yKGkpfX0scHVibGljS2V5VmVyaWZ5OmU9PihtKCJwdWJsaWMga2V5IixlLFszMyw2NV0pLDA9PT10LnB1YmxpY0tleVZlcmlmeShlKSkscHVibGljS2V5Q3JlYXRlKGUscj0hMCxuKXtzd2l0Y2gobSgicHJpdmF0ZSBrZXkiLGUsMzIpLGcociksbj1iKG4scj8zMzo2NSksdC5wdWJsaWNLZXlDcmVhdGUobixlKSl7Y2FzZSAwOnJldHVybiBuO2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3Iocyk7Y2FzZSAyOnRocm93IG5ldyBFcnJvcih1KX19LHB1YmxpY0tleUNvbnZlcnQoZSxyPSEwLG4pe3N3aXRjaChtKCJwdWJsaWMga2V5IixlLFszMyw2NV0pLGcociksbj1iKG4scj8zMzo2NSksdC5wdWJsaWNLZXlDb252ZXJ0KG4sZSkpe2Nhc2UgMDpyZXR1cm4gbjtjYXNlIDE6dGhyb3cgbmV3IEVycm9yKGEpO2Nhc2UgMjp0aHJvdyBuZXcgRXJyb3IodSl9fSxwdWJsaWNLZXlOZWdhdGUoZSxuPSEwLGkpe3N3aXRjaChtKCJwdWJsaWMga2V5IixlLFszMyw2NV0pLGcobiksaT1iKGksbj8zMzo2NSksdC5wdWJsaWNLZXlOZWdhdGUoaSxlKSl7Y2FzZSAwOnJldHVybiBpO2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3IoYSk7Y2FzZSAyOnRocm93IG5ldyBFcnJvcihyKTtjYXNlIDM6dGhyb3cgbmV3IEVycm9yKHUpfX0scHVibGljS2V5Q29tYmluZShlLHI9ITAsbil7cChBcnJheS5pc0FycmF5KGUpLCJFeHBlY3RlZCBwdWJsaWMga2V5cyB0byBiZSBhbiBBcnJheSIpLHAoZS5sZW5ndGg+MCwiRXhwZWN0ZWQgcHVibGljIGtleXMgYXJyYXkgd2lsbCBoYXZlIG1vcmUgdGhhbiB6ZXJvIGl0ZW1zIik7Zm9yKGNvbnN0IHQgb2YgZSltKCJwdWJsaWMga2V5Iix0LFszMyw2NV0pO3N3aXRjaChnKHIpLG49YihuLHI/MzM6NjUpLHQucHVibGljS2V5Q29tYmluZShuLGUpKXtjYXNlIDA6cmV0dXJuIG47Y2FzZSAxOnRocm93IG5ldyBFcnJvcihhKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKGMpO2Nhc2UgMzp0aHJvdyBuZXcgRXJyb3IodSl9fSxwdWJsaWNLZXlUd2Vha0FkZChlLHIsaT0hMCxvKXtzd2l0Y2gobSgicHVibGljIGtleSIsZSxbMzMsNjVdKSxtKCJ0d2VhayIsciwzMiksZyhpKSxvPWIobyxpPzMzOjY1KSx0LnB1YmxpY0tleVR3ZWFrQWRkKG8sZSxyKSl7Y2FzZSAwOnJldHVybiBvO2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3IoYSk7Y2FzZSAyOnRocm93IG5ldyBFcnJvcihuKX19LHB1YmxpY0tleVR3ZWFrTXVsKGUscixuPSEwLG8pe3N3aXRjaChtKCJwdWJsaWMga2V5IixlLFszMyw2NV0pLG0oInR3ZWFrIixyLDMyKSxnKG4pLG89YihvLG4/MzM6NjUpLHQucHVibGljS2V5VHdlYWtNdWwobyxlLHIpKXtjYXNlIDA6cmV0dXJuIG87Y2FzZSAxOnRocm93IG5ldyBFcnJvcihhKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKGkpfX0sc2lnbmF0dXJlTm9ybWFsaXplKGUpe3N3aXRjaChtKCJzaWduYXR1cmUiLGUsNjQpLHQuc2lnbmF0dXJlTm9ybWFsaXplKGUpKXtjYXNlIDA6cmV0dXJuIGU7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihmKX19LHNpZ25hdHVyZUV4cG9ydChlLG4pe20oInNpZ25hdHVyZSIsZSw2NCk7Y29uc3QgaT17b3V0cHV0Om49YihuLDcyKSxvdXRwdXRsZW46NzJ9O3N3aXRjaCh0LnNpZ25hdHVyZUV4cG9ydChpLGUpKXtjYXNlIDA6cmV0dXJuIG4uc2xpY2UoMCxpLm91dHB1dGxlbik7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihmKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKHIpfX0sc2lnbmF0dXJlSW1wb3J0KGUsbil7c3dpdGNoKG0oInNpZ25hdHVyZSIsZSksbj1iKG4sNjQpLHQuc2lnbmF0dXJlSW1wb3J0KG4sZSkpe2Nhc2UgMDpyZXR1cm4gbjtjYXNlIDE6dGhyb3cgbmV3IEVycm9yKGYpO2Nhc2UgMjp0aHJvdyBuZXcgRXJyb3Iocil9fSxlY2RzYVNpZ24oZSxuLGk9e30sbyl7bSgibWVzc2FnZSIsZSwzMiksbSgicHJpdmF0ZSBrZXkiLG4sMzIpLHAoIk9iamVjdCI9PT15KGkpLCJFeHBlY3RlZCBvcHRpb25zIHRvIGJlIGFuIE9iamVjdCIpLHZvaWQgMCE9PWkuZGF0YSYmbSgib3B0aW9ucy5kYXRhIixpLmRhdGEpLHZvaWQgMCE9PWkubm9uY2VmbiYmcCgiRnVuY3Rpb24iPT09eShpLm5vbmNlZm4pLCJFeHBlY3RlZCBvcHRpb25zLm5vbmNlZm4gdG8gYmUgYSBGdW5jdGlvbiIpO2NvbnN0IHM9e3NpZ25hdHVyZTpvPWIobyw2NCkscmVjaWQ6bnVsbH07c3dpdGNoKHQuZWNkc2FTaWduKHMsZSxuLGkuZGF0YSxpLm5vbmNlZm4pKXtjYXNlIDA6cmV0dXJuIHM7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihoKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKHIpfX0sZWNkc2FWZXJpZnkoZSxyLG4pe3N3aXRjaChtKCJzaWduYXR1cmUiLGUsNjQpLG0oIm1lc3NhZ2UiLHIsMzIpLG0oInB1YmxpYyBrZXkiLG4sWzMzLDY1XSksdC5lY2RzYVZlcmlmeShlLHIsbikpe2Nhc2UgMDpyZXR1cm4hMDtjYXNlIDM6cmV0dXJuITE7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihmKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKGEpfX0sZWNkc2FSZWNvdmVyKGUsbixpLG89ITAscyl7c3dpdGNoKG0oInNpZ25hdHVyZSIsZSw2NCkscCgiTnVtYmVyIj09PXkobikmJm4+PTAmJm48PTMsIkV4cGVjdGVkIHJlY292ZXJ5IGlkIHRvIGJlIGEgTnVtYmVyIHdpdGhpbiBpbnRlcnZhbCBbMCwgM10iKSxtKCJtZXNzYWdlIixpLDMyKSxnKG8pLHM9YihzLG8/MzM6NjUpLHQuZWNkc2FSZWNvdmVyKHMsZSxuLGkpKXtjYXNlIDA6cmV0dXJuIHM7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihmKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKGwpO2Nhc2UgMzp0aHJvdyBuZXcgRXJyb3Iocil9fSxlY2RoKGUscixuPXt9LGkpe3N3aXRjaChtKCJwdWJsaWMga2V5IixlLFszMyw2NV0pLG0oInByaXZhdGUga2V5IixyLDMyKSxwKCJPYmplY3QiPT09eShuKSwiRXhwZWN0ZWQgb3B0aW9ucyB0byBiZSBhbiBPYmplY3QiKSx2b2lkIDAhPT1uLmRhdGEmJm0oIm9wdGlvbnMuZGF0YSIsbi5kYXRhKSx2b2lkIDAhPT1uLmhhc2hmbj8ocCgiRnVuY3Rpb24iPT09eShuLmhhc2hmbiksIkV4cGVjdGVkIG9wdGlvbnMuaGFzaGZuIHRvIGJlIGEgRnVuY3Rpb24iKSx2b2lkIDAhPT1uLnhidWYmJm0oIm9wdGlvbnMueGJ1ZiIsbi54YnVmLDMyKSx2b2lkIDAhPT1uLnlidWYmJm0oIm9wdGlvbnMueWJ1ZiIsbi55YnVmLDMyKSxtKCJvdXRwdXQiLGkpKTppPWIoaSwzMiksdC5lY2RoKGksZSxyLG4uZGF0YSxuLmhhc2hmbixuLnhidWYsbi55YnVmKSl7Y2FzZSAwOnJldHVybiBpO2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3IoYSk7Y2FzZSAyOnRocm93IG5ldyBFcnJvcihkKX19fSl9LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPW5ldygwLHIoNTgpLmVjKSgic2VjcDI1NmsxIiksaT1uLmN1cnZlLG89aS5uLmNvbnN0cnVjdG9yO2Z1bmN0aW9uIHModCl7Y29uc3QgZT10WzBdO3N3aXRjaChlKXtjYXNlIDI6Y2FzZSAzOnJldHVybiAzMyE9PXQubGVuZ3RoP251bGw6ZnVuY3Rpb24odCxlKXtsZXQgcj1uZXcgbyhlKTtpZihyLmNtcChpLnApPj0wKXJldHVybiBudWxsO3I9ci50b1JlZChpLnJlZCk7bGV0IHM9ci5yZWRTcXIoKS5yZWRJTXVsKHIpLnJlZElBZGQoaS5iKS5yZWRTcXJ0KCk7cmV0dXJuIDM9PT10IT09cy5pc09kZCgpJiYocz1zLnJlZE5lZygpKSxuLmtleVBhaXIoe3B1Yjp7eDpyLHk6c319KX0oZSx0LnN1YmFycmF5KDEsMzMpKTtjYXNlIDQ6Y2FzZSA2OmNhc2UgNzpyZXR1cm4gNjUhPT10Lmxlbmd0aD9udWxsOmZ1bmN0aW9uKHQsZSxyKXtsZXQgcz1uZXcgbyhlKSxhPW5ldyBvKHIpO2lmKHMuY21wKGkucCk+PTB8fGEuY21wKGkucCk+PTApcmV0dXJuIG51bGw7aWYocz1zLnRvUmVkKGkucmVkKSxhPWEudG9SZWQoaS5yZWQpLCg2PT09dHx8Nz09PXQpJiZhLmlzT2RkKCkhPT0oNz09PXQpKXJldHVybiBudWxsO2NvbnN0IHU9cy5yZWRTcXIoKS5yZWRJTXVsKHMpO3JldHVybiBhLnJlZFNxcigpLnJlZElTdWIodS5yZWRJQWRkKGkuYikpLmlzWmVybygpP24ua2V5UGFpcih7cHViOnt4OnMseTphfX0pOm51bGx9KGUsdC5zdWJhcnJheSgxLDMzKSx0LnN1YmFycmF5KDMzLDY1KSk7ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gYSh0LGUpe2NvbnN0IHI9ZS5lbmNvZGUobnVsbCwzMz09PXQubGVuZ3RoKTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoOysrZSl0W2VdPXJbZV19dC5leHBvcnRzPXtjb250ZXh0UmFuZG9taXplOigpPT4wLHByaXZhdGVLZXlWZXJpZnkodCl7Y29uc3QgZT1uZXcgbyh0KTtyZXR1cm4gZS5jbXAoaS5uKTwwJiYhZS5pc1plcm8oKT8wOjF9LHByaXZhdGVLZXlOZWdhdGUodCl7Y29uc3QgZT1uZXcgbyh0KSxyPWkubi5zdWIoZSkudW1vZChpLm4pLnRvQXJyYXlMaWtlKFVpbnQ4QXJyYXksImJlIiwzMik7cmV0dXJuIHQuc2V0KHIpLDB9LHByaXZhdGVLZXlUd2Vha0FkZCh0LGUpe2NvbnN0IHI9bmV3IG8oZSk7aWYoci5jbXAoaS5uKT49MClyZXR1cm4gMTtpZihyLmlhZGQobmV3IG8odCkpLHIuY21wKGkubik+PTAmJnIuaXN1YihpLm4pLHIuaXNaZXJvKCkpcmV0dXJuIDE7Y29uc3Qgbj1yLnRvQXJyYXlMaWtlKFVpbnQ4QXJyYXksImJlIiwzMik7cmV0dXJuIHQuc2V0KG4pLDB9LHByaXZhdGVLZXlUd2Vha011bCh0LGUpe2xldCByPW5ldyBvKGUpO2lmKHIuY21wKGkubik+PTB8fHIuaXNaZXJvKCkpcmV0dXJuIDE7ci5pbXVsKG5ldyBvKHQpKSxyLmNtcChpLm4pPj0wJiYocj1yLnVtb2QoaS5uKSk7Y29uc3Qgbj1yLnRvQXJyYXlMaWtlKFVpbnQ4QXJyYXksImJlIiwzMik7cmV0dXJuIHQuc2V0KG4pLDB9LHB1YmxpY0tleVZlcmlmeTp0PT5udWxsPT09cyh0KT8xOjAscHVibGljS2V5Q3JlYXRlKHQsZSl7Y29uc3Qgcj1uZXcgbyhlKTtpZihyLmNtcChpLm4pPj0wfHxyLmlzWmVybygpKXJldHVybiAxO3JldHVybiBhKHQsbi5rZXlGcm9tUHJpdmF0ZShlKS5nZXRQdWJsaWMoKSksMH0scHVibGljS2V5Q29udmVydCh0LGUpe2NvbnN0IHI9cyhlKTtpZihudWxsPT09cilyZXR1cm4gMTtyZXR1cm4gYSh0LHIuZ2V0UHVibGljKCkpLDB9LHB1YmxpY0tleU5lZ2F0ZSh0LGUpe2NvbnN0IHI9cyhlKTtpZihudWxsPT09cilyZXR1cm4gMTtjb25zdCBuPXIuZ2V0UHVibGljKCk7cmV0dXJuIG4ueT1uLnkucmVkTmVnKCksYSh0LG4pLDB9LHB1YmxpY0tleUNvbWJpbmUodCxlKXtjb25zdCByPW5ldyBBcnJheShlLmxlbmd0aCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3QpaWYoclt0XT1zKGVbdF0pLG51bGw9PT1yW3RdKXJldHVybiAxO2xldCBuPXJbMF0uZ2V0UHVibGljKCk7Zm9yKGxldCB0PTE7dDxyLmxlbmd0aDsrK3Qpbj1uLmFkZChyW3RdLnB1Yik7cmV0dXJuIG4uaXNJbmZpbml0eSgpPzI6KGEodCxuKSwwKX0scHVibGljS2V5VHdlYWtBZGQodCxlLHIpe2NvbnN0IG49cyhlKTtpZihudWxsPT09bilyZXR1cm4gMTtpZigocj1uZXcgbyhyKSkuY21wKGkubik+PTApcmV0dXJuIDI7Y29uc3QgdT1uLmdldFB1YmxpYygpLmFkZChpLmcubXVsKHIpKTtyZXR1cm4gdS5pc0luZmluaXR5KCk/MjooYSh0LHUpLDApfSxwdWJsaWNLZXlUd2Vha011bCh0LGUscil7Y29uc3Qgbj1zKGUpO2lmKG51bGw9PT1uKXJldHVybiAxO2lmKChyPW5ldyBvKHIpKS5jbXAoaS5uKT49MHx8ci5pc1plcm8oKSlyZXR1cm4gMjtyZXR1cm4gYSh0LG4uZ2V0UHVibGljKCkubXVsKHIpKSwwfSxzaWduYXR1cmVOb3JtYWxpemUodCl7Y29uc3QgZT1uZXcgbyh0LnN1YmFycmF5KDAsMzIpKSxyPW5ldyBvKHQuc3ViYXJyYXkoMzIsNjQpKTtyZXR1cm4gZS5jbXAoaS5uKT49MHx8ci5jbXAoaS5uKT49MD8xOigxPT09ci5jbXAobi5uaCkmJnQuc2V0KGkubi5zdWIocikudG9BcnJheUxpa2UoVWludDhBcnJheSwiYmUiLDMyKSwzMiksMCl9LHNpZ25hdHVyZUV4cG9ydCh0LGUpe2NvbnN0IHI9ZS5zdWJhcnJheSgwLDMyKSxuPWUuc3ViYXJyYXkoMzIsNjQpO2lmKG5ldyBvKHIpLmNtcChpLm4pPj0wKXJldHVybiAxO2lmKG5ldyBvKG4pLmNtcChpLm4pPj0wKXJldHVybiAxO2NvbnN0e291dHB1dDpzfT10O2xldCBhPXMuc3ViYXJyYXkoNCwzNyk7YVswXT0wLGEuc2V0KHIsMSk7bGV0IHU9MzMsYz0wO2Zvcig7dT4xJiYwPT09YVtjXSYmISgxMjgmYVtjKzFdKTstLXUsKytjKTtpZihhPWEuc3ViYXJyYXkoYyksMTI4JmFbMF0pcmV0dXJuIDE7aWYodT4xJiYwPT09YVswXSYmISgxMjgmYVsxXSkpcmV0dXJuIDE7bGV0IGY9cy5zdWJhcnJheSgzOSw3Mik7ZlswXT0wLGYuc2V0KG4sMSk7bGV0IGg9MzMsbD0wO2Zvcig7aD4xJiYwPT09ZltsXSYmISgxMjgmZltsKzFdKTstLWgsKytsKTtyZXR1cm4gZj1mLnN1YmFycmF5KGwpLDEyOCZmWzBdfHxoPjEmJjA9PT1mWzBdJiYhKDEyOCZmWzFdKT8xOih0Lm91dHB1dGxlbj02K3UraCxzWzBdPTQ4LHNbMV09dC5vdXRwdXRsZW4tMixzWzJdPTIsc1szXT1hLmxlbmd0aCxzLnNldChhLDQpLHNbNCt1XT0yLHNbNSt1XT1mLmxlbmd0aCxzLnNldChmLDYrdSksMCl9LHNpZ25hdHVyZUltcG9ydCh0LGUpe2lmKGUubGVuZ3RoPDgpcmV0dXJuIDE7aWYoZS5sZW5ndGg+NzIpcmV0dXJuIDE7aWYoNDghPT1lWzBdKXJldHVybiAxO2lmKGVbMV0hPT1lLmxlbmd0aC0yKXJldHVybiAxO2lmKDIhPT1lWzJdKXJldHVybiAxO2NvbnN0IHI9ZVszXTtpZigwPT09cilyZXR1cm4gMTtpZig1K3I+PWUubGVuZ3RoKXJldHVybiAxO2lmKDIhPT1lWzQrcl0pcmV0dXJuIDE7Y29uc3Qgbj1lWzUrcl07aWYoMD09PW4pcmV0dXJuIDE7aWYoNityK24hPT1lLmxlbmd0aClyZXR1cm4gMTtpZigxMjgmZVs0XSlyZXR1cm4gMTtpZihyPjEmJjA9PT1lWzRdJiYhKDEyOCZlWzVdKSlyZXR1cm4gMTtpZigxMjgmZVtyKzZdKXJldHVybiAxO2lmKG4+MSYmMD09PWVbcis2XSYmISgxMjgmZVtyKzddKSlyZXR1cm4gMTtsZXQgcz1lLnN1YmFycmF5KDQsNCtyKTtpZigzMz09PXMubGVuZ3RoJiYwPT09c1swXSYmKHM9cy5zdWJhcnJheSgxKSkscy5sZW5ndGg+MzIpcmV0dXJuIDE7bGV0IGE9ZS5zdWJhcnJheSg2K3IpO2lmKDMzPT09YS5sZW5ndGgmJjA9PT1hWzBdJiYoYT1hLnNsaWNlKDEpKSxhLmxlbmd0aD4zMil0aHJvdyBuZXcgRXJyb3IoIlMgbGVuZ3RoIGlzIHRvbyBsb25nIik7bGV0IHU9bmV3IG8ocyk7dS5jbXAoaS5uKT49MCYmKHU9bmV3IG8oMCkpO2xldCBjPW5ldyBvKGUuc3ViYXJyYXkoNityKSk7cmV0dXJuIGMuY21wKGkubik+PTAmJihjPW5ldyBvKDApKSx0LnNldCh1LnRvQXJyYXlMaWtlKFVpbnQ4QXJyYXksImJlIiwzMiksMCksdC5zZXQoYy50b0FycmF5TGlrZShVaW50OEFycmF5LCJiZSIsMzIpLDMyKSwwfSxlY2RzYVNpZ24odCxlLHIscyxhKXtpZihhKXtjb25zdCB0PWE7YT1uPT57Y29uc3QgaT10KGUscixudWxsLHMsbik7aWYoIShpIGluc3RhbmNlb2YgVWludDhBcnJheSYmMzI9PT1pLmxlbmd0aCkpdGhyb3cgbmV3IEVycm9yKCJUaGlzIGlzIHRoZSB3YXkiKTtyZXR1cm4gbmV3IG8oaSl9fWNvbnN0IHU9bmV3IG8ocik7aWYodS5jbXAoaS5uKT49MHx8dS5pc1plcm8oKSlyZXR1cm4gMTtsZXQgYzt0cnl7Yz1uLnNpZ24oZSxyLHtjYW5vbmljYWw6ITAsazphLHBlcnM6c30pfWNhdGNoKHQpe3JldHVybiAxfXJldHVybiB0LnNpZ25hdHVyZS5zZXQoYy5yLnRvQXJyYXlMaWtlKFVpbnQ4QXJyYXksImJlIiwzMiksMCksdC5zaWduYXR1cmUuc2V0KGMucy50b0FycmF5TGlrZShVaW50OEFycmF5LCJiZSIsMzIpLDMyKSx0LnJlY2lkPWMucmVjb3ZlcnlQYXJhbSwwfSxlY2RzYVZlcmlmeSh0LGUscil7Y29uc3QgYT17cjp0LnN1YmFycmF5KDAsMzIpLHM6dC5zdWJhcnJheSgzMiw2NCl9LHU9bmV3IG8oYS5yKSxjPW5ldyBvKGEucyk7aWYodS5jbXAoaS5uKT49MHx8Yy5jbXAoaS5uKT49MClyZXR1cm4gMTtpZigxPT09Yy5jbXAobi5uaCl8fHUuaXNaZXJvKCl8fGMuaXNaZXJvKCkpcmV0dXJuIDM7Y29uc3QgZj1zKHIpO2lmKG51bGw9PT1mKXJldHVybiAyO2NvbnN0IGg9Zi5nZXRQdWJsaWMoKTtyZXR1cm4gbi52ZXJpZnkoZSxhLGgpPzA6M30sZWNkc2FSZWNvdmVyKHQsZSxyLHMpe2NvbnN0IHU9e3I6ZS5zbGljZSgwLDMyKSxzOmUuc2xpY2UoMzIsNjQpfSxjPW5ldyBvKHUuciksZj1uZXcgbyh1LnMpO2lmKGMuY21wKGkubik+PTB8fGYuY21wKGkubik+PTApcmV0dXJuIDE7aWYoYy5pc1plcm8oKXx8Zi5pc1plcm8oKSlyZXR1cm4gMjtsZXQgaDt0cnl7aD1uLnJlY292ZXJQdWJLZXkocyx1LHIpfWNhdGNoKHQpe3JldHVybiAyfXJldHVybiBhKHQsaCksMH0sZWNkaCh0LGUscixhLHUsYyxmKXtjb25zdCBoPXMoZSk7aWYobnVsbD09PWgpcmV0dXJuIDE7Y29uc3QgbD1uZXcgbyhyKTtpZihsLmNtcChpLm4pPj0wfHxsLmlzWmVybygpKXJldHVybiAyO2NvbnN0IGQ9aC5nZXRQdWJsaWMoKS5tdWwobCk7aWYodm9pZCAwPT09dSl7Y29uc3QgZT1kLmVuY29kZShudWxsLCEwKSxyPW4uaGFzaCgpLnVwZGF0ZShlKS5kaWdlc3QoKTtmb3IobGV0IGU9MDtlPDMyOysrZSl0W2VdPXJbZV19ZWxzZXtjfHwoYz1uZXcgVWludDhBcnJheSgzMikpO2NvbnN0IGU9ZC5nZXRYKCkudG9BcnJheSgiYmUiLDMyKTtmb3IobGV0IHQ9MDt0PDMyOysrdCljW3RdPWVbdF07Znx8KGY9bmV3IFVpbnQ4QXJyYXkoMzIpKTtjb25zdCByPWQuZ2V0WSgpLnRvQXJyYXkoImJlIiwzMik7Zm9yKGxldCB0PTA7dDwzMjsrK3QpZlt0XT1yW3RdO2NvbnN0IG49dShjLGYsYSk7aWYoIShuIGluc3RhbmNlb2YgVWludDhBcnJheSYmbi5sZW5ndGg9PT10Lmxlbmd0aCkpcmV0dXJuIDI7dC5zZXQobil9cmV0dXJuIDB9fX0sZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3sibmFtZSI6ImVsbGlwdGljIiwidmVyc2lvbiI6IjYuNS40IiwiZGVzY3JpcHRpb24iOiJFQyBjcnlwdG9ncmFwaHkiLCJtYWluIjoibGliL2VsbGlwdGljLmpzIiwiZmlsZXMiOlsibGliIl0sInNjcmlwdHMiOnsibGludCI6ImVzbGludCBsaWIgdGVzdCIsImxpbnQ6Zml4IjoibnBtIHJ1biBsaW50IC0tIC0tZml4IiwidW5pdCI6ImlzdGFuYnVsIHRlc3QgX21vY2hhIC0tcmVwb3J0ZXI9c3BlYyB0ZXN0L2luZGV4LmpzIiwidGVzdCI6Im5wbSBydW4gbGludCAmJiBucG0gcnVuIHVuaXQiLCJ2ZXJzaW9uIjoiZ3J1bnQgZGlzdCAmJiBnaXQgYWRkIGRpc3QvIn0sInJlcG9zaXRvcnkiOnsidHlwZSI6ImdpdCIsInVybCI6ImdpdEBnaXRodWIuY29tOmluZHV0bnkvZWxsaXB0aWMifSwia2V5d29yZHMiOlsiRUMiLCJFbGxpcHRpYyIsImN1cnZlIiwiQ3J5cHRvZ3JhcGh5Il0sImF1dGhvciI6IkZlZG9yIEluZHV0bnkgPGZlZG9yQGluZHV0bnkuY29tPiIsImxpY2Vuc2UiOiJNSVQiLCJidWdzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L2VsbGlwdGljL2lzc3VlcyJ9LCJob21lcGFnZSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L2VsbGlwdGljIiwiZGV2RGVwZW5kZW5jaWVzIjp7ImJyZnMiOiJeMi4wLjIiLCJjb3ZlcmFsbHMiOiJeMy4xLjAiLCJlc2xpbnQiOiJeNy42LjAiLCJncnVudCI6Il4xLjIuMSIsImdydW50LWJyb3dzZXJpZnkiOiJeNS4zLjAiLCJncnVudC1jbGkiOiJeMS4zLjIiLCJncnVudC1jb250cmliLWNvbm5lY3QiOiJeMy4wLjAiLCJncnVudC1jb250cmliLWNvcHkiOiJeMS4wLjAiLCJncnVudC1jb250cmliLXVnbGlmeSI6Il41LjAuMCIsImdydW50LW1vY2hhLWlzdGFuYnVsIjoiXjUuMC4yIiwiZ3J1bnQtc2F1Y2VsYWJzIjoiXjkuMC4xIiwiaXN0YW5idWwiOiJeMC40LjUiLCJtb2NoYSI6Il44LjAuMSJ9LCJkZXBlbmRlbmNpZXMiOnsiYm4uanMiOiJeNC4xMS45IiwiYnJvcmFuZCI6Il4xLjEuMCIsImhhc2guanMiOiJeMS4wLjAiLCJobWFjLWRyYmciOiJeMS4wLjEiLCJpbmhlcml0cyI6Il4yLjAuNCIsIm1pbmltYWxpc3RpYy1hc3NlcnQiOiJeMS4wLjEiLCJtaW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzIjoiXjEuMC4xIn19Jyl9LGZ1bmN0aW9uKHQsZSl7fSxmdW5jdGlvbih0LGUpe30sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDExKSxpPXIoMTYpLG89cigzKSxzPXIoNDUpLGE9bi5hc3NlcnQ7ZnVuY3Rpb24gdSh0KXtzLmNhbGwodGhpcywic2hvcnQiLHQpLHRoaXMuYT1uZXcgaSh0LmEsMTYpLnRvUmVkKHRoaXMucmVkKSx0aGlzLmI9bmV3IGkodC5iLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy50aW52PXRoaXMudHdvLnJlZEludm0oKSx0aGlzLnplcm9BPTA9PT10aGlzLmEuZnJvbVJlZCgpLmNtcG4oMCksdGhpcy50aHJlZUE9MD09PXRoaXMuYS5mcm9tUmVkKCkuc3ViKHRoaXMucCkuY21wbigtMyksdGhpcy5lbmRvPXRoaXMuX2dldEVuZG9tb3JwaGlzbSh0KSx0aGlzLl9lbmRvV25hZlQxPW5ldyBBcnJheSg0KSx0aGlzLl9lbmRvV25hZlQyPW5ldyBBcnJheSg0KX1mdW5jdGlvbiBjKHQsZSxyLG4pe3MuQmFzZVBvaW50LmNhbGwodGhpcyx0LCJhZmZpbmUiKSxudWxsPT09ZSYmbnVsbD09PXI/KHRoaXMueD1udWxsLHRoaXMueT1udWxsLHRoaXMuaW5mPSEwKToodGhpcy54PW5ldyBpKGUsMTYpLHRoaXMueT1uZXcgaShyLDE2KSxuJiYodGhpcy54LmZvcmNlUmVkKHRoaXMuY3VydmUucmVkKSx0aGlzLnkuZm9yY2VSZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLngucmVkfHwodGhpcy54PXRoaXMueC50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMueS5yZWR8fCh0aGlzLnk9dGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy5pbmY9ITEpfWZ1bmN0aW9uIGYodCxlLHIsbil7cy5CYXNlUG9pbnQuY2FsbCh0aGlzLHQsImphY29iaWFuIiksbnVsbD09PWUmJm51bGw9PT1yJiZudWxsPT09bj8odGhpcy54PXRoaXMuY3VydmUub25lLHRoaXMueT10aGlzLmN1cnZlLm9uZSx0aGlzLno9bmV3IGkoMCkpOih0aGlzLng9bmV3IGkoZSwxNiksdGhpcy55PW5ldyBpKHIsMTYpLHRoaXMuej1uZXcgaShuLDE2KSksdGhpcy54LnJlZHx8KHRoaXMueD10aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnkucmVkfHwodGhpcy55PXRoaXMueS50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuei5yZWR8fCh0aGlzLno9dGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy56T25lPXRoaXMuej09PXRoaXMuY3VydmUub25lfW8odSxzKSx0LmV4cG9ydHM9dSx1LnByb3RvdHlwZS5fZ2V0RW5kb21vcnBoaXNtPWZ1bmN0aW9uKHQpe2lmKHRoaXMuemVyb0EmJnRoaXMuZyYmdGhpcy5uJiYxPT09dGhpcy5wLm1vZG4oMykpe3ZhciBlLHI7aWYodC5iZXRhKWU9bmV3IGkodC5iZXRhLDE2KS50b1JlZCh0aGlzLnJlZCk7ZWxzZXt2YXIgbj10aGlzLl9nZXRFbmRvUm9vdHModGhpcy5wKTtlPShlPW5bMF0uY21wKG5bMV0pPDA/blswXTpuWzFdKS50b1JlZCh0aGlzLnJlZCl9aWYodC5sYW1iZGEpcj1uZXcgaSh0LmxhbWJkYSwxNik7ZWxzZXt2YXIgbz10aGlzLl9nZXRFbmRvUm9vdHModGhpcy5uKTswPT09dGhpcy5nLm11bChvWzBdKS54LmNtcCh0aGlzLmcueC5yZWRNdWwoZSkpP3I9b1swXToocj1vWzFdLGEoMD09PXRoaXMuZy5tdWwocikueC5jbXAodGhpcy5nLngucmVkTXVsKGUpKSkpfXJldHVybntiZXRhOmUsbGFtYmRhOnIsYmFzaXM6dC5iYXNpcz90LmJhc2lzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJue2E6bmV3IGkodC5hLDE2KSxiOm5ldyBpKHQuYiwxNil9fSkpOnRoaXMuX2dldEVuZG9CYXNpcyhyKX19fSx1LnByb3RvdHlwZS5fZ2V0RW5kb1Jvb3RzPWZ1bmN0aW9uKHQpe3ZhciBlPXQ9PT10aGlzLnA/dGhpcy5yZWQ6aS5tb250KHQpLHI9bmV3IGkoMikudG9SZWQoZSkucmVkSW52bSgpLG49ci5yZWROZWcoKSxvPW5ldyBpKDMpLnRvUmVkKGUpLnJlZE5lZygpLnJlZFNxcnQoKS5yZWRNdWwocik7cmV0dXJuW24ucmVkQWRkKG8pLmZyb21SZWQoKSxuLnJlZFN1YihvKS5mcm9tUmVkKCldfSx1LnByb3RvdHlwZS5fZ2V0RW5kb0Jhc2lzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxyLG4sbyxzLGEsdSxjLGYsaD10aGlzLm4udXNocm4oTWF0aC5mbG9vcih0aGlzLm4uYml0TGVuZ3RoKCkvMikpLGw9dCxkPXRoaXMubi5jbG9uZSgpLHA9bmV3IGkoMSksbT1uZXcgaSgwKSxnPW5ldyBpKDApLGI9bmV3IGkoMSkseT0wOzAhPT1sLmNtcG4oMCk7KXt2YXIgdj1kLmRpdihsKTtjPWQuc3ViKHYubXVsKGwpKSxmPWcuc3ViKHYubXVsKHApKTt2YXIgXz1iLnN1Yih2Lm11bChtKSk7aWYoIW4mJmMuY21wKGgpPDApZT11Lm5lZygpLHI9cCxuPWMubmVnKCksbz1mO2Vsc2UgaWYobiYmMj09Kyt5KWJyZWFrO3U9YyxkPWwsbD1jLGc9cCxwPWYsYj1tLG09X31zPWMubmVnKCksYT1mO3ZhciB3PW4uc3FyKCkuYWRkKG8uc3FyKCkpO3JldHVybiBzLnNxcigpLmFkZChhLnNxcigpKS5jbXAodyk+PTAmJihzPWUsYT1yKSxuLm5lZ2F0aXZlJiYobj1uLm5lZygpLG89by5uZWcoKSkscy5uZWdhdGl2ZSYmKHM9cy5uZWcoKSxhPWEubmVnKCkpLFt7YTpuLGI6b30se2E6cyxiOmF9XX0sdS5wcm90b3R5cGUuX2VuZG9TcGxpdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmVuZG8uYmFzaXMscj1lWzBdLG49ZVsxXSxpPW4uYi5tdWwodCkuZGl2Um91bmQodGhpcy5uKSxvPXIuYi5uZWcoKS5tdWwodCkuZGl2Um91bmQodGhpcy5uKSxzPWkubXVsKHIuYSksYT1vLm11bChuLmEpLHU9aS5tdWwoci5iKSxjPW8ubXVsKG4uYik7cmV0dXJue2sxOnQuc3ViKHMpLnN1YihhKSxrMjp1LmFkZChjKS5uZWcoKX19LHUucHJvdG90eXBlLnBvaW50RnJvbVg9ZnVuY3Rpb24odCxlKXsodD1uZXcgaSh0LDE2KSkucmVkfHwodD10LnRvUmVkKHRoaXMucmVkKSk7dmFyIHI9dC5yZWRTcXIoKS5yZWRNdWwodCkucmVkSUFkZCh0LnJlZE11bCh0aGlzLmEpKS5yZWRJQWRkKHRoaXMuYiksbj1yLnJlZFNxcnQoKTtpZigwIT09bi5yZWRTcXIoKS5yZWRTdWIocikuY21wKHRoaXMuemVybykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBvaW50Iik7dmFyIG89bi5mcm9tUmVkKCkuaXNPZGQoKTtyZXR1cm4oZSYmIW98fCFlJiZvKSYmKG49bi5yZWROZWcoKSksdGhpcy5wb2ludCh0LG4pfSx1LnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbih0KXtpZih0LmluZilyZXR1cm4hMDt2YXIgZT10Lngscj10Lnksbj10aGlzLmEucmVkTXVsKGUpLGk9ZS5yZWRTcXIoKS5yZWRNdWwoZSkucmVkSUFkZChuKS5yZWRJQWRkKHRoaXMuYik7cmV0dXJuIDA9PT1yLnJlZFNxcigpLnJlZElTdWIoaSkuY21wbigwKX0sdS5wcm90b3R5cGUuX2VuZG9XbmFmTXVsQWRkPWZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG49dGhpcy5fZW5kb1duYWZUMSxpPXRoaXMuX2VuZG9XbmFmVDIsbz0wO288dC5sZW5ndGg7bysrKXt2YXIgcz10aGlzLl9lbmRvU3BsaXQoZVtvXSksYT10W29dLHU9YS5fZ2V0QmV0YSgpO3MuazEubmVnYXRpdmUmJihzLmsxLmluZWcoKSxhPWEubmVnKCEwKSkscy5rMi5uZWdhdGl2ZSYmKHMuazIuaW5lZygpLHU9dS5uZWcoITApKSxuWzIqb109YSxuWzIqbysxXT11LGlbMipvXT1zLmsxLGlbMipvKzFdPXMuazJ9Zm9yKHZhciBjPXRoaXMuX3duYWZNdWxBZGQoMSxuLGksMipvLHIpLGY9MDtmPDIqbztmKyspbltmXT1udWxsLGlbZl09bnVsbDtyZXR1cm4gY30sbyhjLHMuQmFzZVBvaW50KSx1LnByb3RvdHlwZS5wb2ludD1mdW5jdGlvbih0LGUscil7cmV0dXJuIG5ldyBjKHRoaXMsdCxlLHIpfSx1LnByb3RvdHlwZS5wb2ludEZyb21KU09OPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGMuZnJvbUpTT04odGhpcyx0LGUpfSxjLnByb3RvdHlwZS5fZ2V0QmV0YT1mdW5jdGlvbigpe2lmKHRoaXMuY3VydmUuZW5kbyl7dmFyIHQ9dGhpcy5wcmVjb21wdXRlZDtpZih0JiZ0LmJldGEpcmV0dXJuIHQuYmV0YTt2YXIgZT10aGlzLmN1cnZlLnBvaW50KHRoaXMueC5yZWRNdWwodGhpcy5jdXJ2ZS5lbmRvLmJldGEpLHRoaXMueSk7aWYodCl7dmFyIHI9dGhpcy5jdXJ2ZSxuPWZ1bmN0aW9uKHQpe3JldHVybiByLnBvaW50KHQueC5yZWRNdWwoci5lbmRvLmJldGEpLHQueSl9O3QuYmV0YT1lLGUucHJlY29tcHV0ZWQ9e2JldGE6bnVsbCxuYWY6dC5uYWYmJnt3bmQ6dC5uYWYud25kLHBvaW50czp0Lm5hZi5wb2ludHMubWFwKG4pfSxkb3VibGVzOnQuZG91YmxlcyYme3N0ZXA6dC5kb3VibGVzLnN0ZXAscG9pbnRzOnQuZG91Ymxlcy5wb2ludHMubWFwKG4pfX19cmV0dXJuIGV9fSxjLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmVjb21wdXRlZD9bdGhpcy54LHRoaXMueSx0aGlzLnByZWNvbXB1dGVkJiZ7ZG91Ymxlczp0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMmJntzdGVwOnRoaXMucHJlY29tcHV0ZWQuZG91Ymxlcy5zdGVwLHBvaW50czp0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMucG9pbnRzLnNsaWNlKDEpfSxuYWY6dGhpcy5wcmVjb21wdXRlZC5uYWYmJnt3bmQ6dGhpcy5wcmVjb21wdXRlZC5uYWYud25kLHBvaW50czp0aGlzLnByZWNvbXB1dGVkLm5hZi5wb2ludHMuc2xpY2UoMSl9fV06W3RoaXMueCx0aGlzLnldfSxjLmZyb21KU09OPWZ1bmN0aW9uKHQsZSxyKXsic3RyaW5nIj09dHlwZW9mIGUmJihlPUpTT04ucGFyc2UoZSkpO3ZhciBuPXQucG9pbnQoZVswXSxlWzFdLHIpO2lmKCFlWzJdKXJldHVybiBuO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHQucG9pbnQoZVswXSxlWzFdLHIpfXZhciBvPWVbMl07cmV0dXJuIG4ucHJlY29tcHV0ZWQ9e2JldGE6bnVsbCxkb3VibGVzOm8uZG91YmxlcyYme3N0ZXA6by5kb3VibGVzLnN0ZXAscG9pbnRzOltuXS5jb25jYXQoby5kb3VibGVzLnBvaW50cy5tYXAoaSkpfSxuYWY6by5uYWYmJnt3bmQ6by5uYWYud25kLHBvaW50czpbbl0uY29uY2F0KG8ubmFmLnBvaW50cy5tYXAoaSkpfX0sbn0sYy5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT8iPEVDIFBvaW50IEluZmluaXR5PiI6IjxFQyBQb2ludCB4OiAiK3RoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIiB5OiAiK3RoaXMueS5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIj4ifSxjLnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5mfSxjLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7aWYodGhpcy5pbmYpcmV0dXJuIHQ7aWYodC5pbmYpcmV0dXJuIHRoaXM7aWYodGhpcy5lcSh0KSlyZXR1cm4gdGhpcy5kYmwoKTtpZih0aGlzLm5lZygpLmVxKHQpKXJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCk7aWYoMD09PXRoaXMueC5jbXAodC54KSlyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpO3ZhciBlPXRoaXMueS5yZWRTdWIodC55KTswIT09ZS5jbXBuKDApJiYoZT1lLnJlZE11bCh0aGlzLngucmVkU3ViKHQueCkucmVkSW52bSgpKSk7dmFyIHI9ZS5yZWRTcXIoKS5yZWRJU3ViKHRoaXMueCkucmVkSVN1Yih0LngpLG49ZS5yZWRNdWwodGhpcy54LnJlZFN1YihyKSkucmVkSVN1Yih0aGlzLnkpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KHIsbil9LGMucHJvdG90eXBlLmRibD1mdW5jdGlvbigpe2lmKHRoaXMuaW5mKXJldHVybiB0aGlzO3ZhciB0PXRoaXMueS5yZWRBZGQodGhpcy55KTtpZigwPT09dC5jbXBuKDApKXJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCk7dmFyIGU9dGhpcy5jdXJ2ZS5hLHI9dGhpcy54LnJlZFNxcigpLG49dC5yZWRJbnZtKCksaT1yLnJlZEFkZChyKS5yZWRJQWRkKHIpLnJlZElBZGQoZSkucmVkTXVsKG4pLG89aS5yZWRTcXIoKS5yZWRJU3ViKHRoaXMueC5yZWRBZGQodGhpcy54KSkscz1pLnJlZE11bCh0aGlzLngucmVkU3ViKG8pKS5yZWRJU3ViKHRoaXMueSk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQobyxzKX0sYy5wcm90b3R5cGUuZ2V0WD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnguZnJvbVJlZCgpfSxjLnByb3RvdHlwZS5nZXRZPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueS5mcm9tUmVkKCl9LGMucHJvdG90eXBlLm11bD1mdW5jdGlvbih0KXtyZXR1cm4gdD1uZXcgaSh0LDE2KSx0aGlzLmlzSW5maW5pdHkoKT90aGlzOnRoaXMuX2hhc0RvdWJsZXModCk/dGhpcy5jdXJ2ZS5fZml4ZWROYWZNdWwodGhpcyx0KTp0aGlzLmN1cnZlLmVuZG8/dGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQoW3RoaXNdLFt0XSk6dGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLHQpfSxjLnByb3RvdHlwZS5tdWxBZGQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPVt0aGlzLGVdLGk9W3Qscl07cmV0dXJuIHRoaXMuY3VydmUuZW5kbz90aGlzLmN1cnZlLl9lbmRvV25hZk11bEFkZChuLGkpOnRoaXMuY3VydmUuX3duYWZNdWxBZGQoMSxuLGksMil9LGMucHJvdG90eXBlLmptdWxBZGQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPVt0aGlzLGVdLGk9W3Qscl07cmV0dXJuIHRoaXMuY3VydmUuZW5kbz90aGlzLmN1cnZlLl9lbmRvV25hZk11bEFkZChuLGksITApOnRoaXMuY3VydmUuX3duYWZNdWxBZGQoMSxuLGksMiwhMCl9LGMucHJvdG90eXBlLmVxPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzPT09dHx8dGhpcy5pbmY9PT10LmluZiYmKHRoaXMuaW5mfHwwPT09dGhpcy54LmNtcCh0LngpJiYwPT09dGhpcy55LmNtcCh0LnkpKX0sYy5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKHQpe2lmKHRoaXMuaW5mKXJldHVybiB0aGlzO3ZhciBlPXRoaXMuY3VydmUucG9pbnQodGhpcy54LHRoaXMueS5yZWROZWcoKSk7aWYodCYmdGhpcy5wcmVjb21wdXRlZCl7dmFyIHI9dGhpcy5wcmVjb21wdXRlZCxuPWZ1bmN0aW9uKHQpe3JldHVybiB0Lm5lZygpfTtlLnByZWNvbXB1dGVkPXtuYWY6ci5uYWYmJnt3bmQ6ci5uYWYud25kLHBvaW50czpyLm5hZi5wb2ludHMubWFwKG4pfSxkb3VibGVzOnIuZG91YmxlcyYme3N0ZXA6ci5kb3VibGVzLnN0ZXAscG9pbnRzOnIuZG91Ymxlcy5wb2ludHMubWFwKG4pfX19cmV0dXJuIGV9LGMucHJvdG90eXBlLnRvSj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmluZj90aGlzLmN1cnZlLmpwb2ludChudWxsLG51bGwsbnVsbCk6dGhpcy5jdXJ2ZS5qcG9pbnQodGhpcy54LHRoaXMueSx0aGlzLmN1cnZlLm9uZSl9LG8oZixzLkJhc2VQb2ludCksdS5wcm90b3R5cGUuanBvaW50PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbmV3IGYodGhpcyx0LGUscil9LGYucHJvdG90eXBlLnRvUD1mdW5jdGlvbigpe2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCk7dmFyIHQ9dGhpcy56LnJlZEludm0oKSxlPXQucmVkU3FyKCkscj10aGlzLngucmVkTXVsKGUpLG49dGhpcy55LnJlZE11bChlKS5yZWRNdWwodCk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQocixuKX0sZi5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KHRoaXMueCx0aGlzLnkucmVkTmVnKCksdGhpcy56KX0sZi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiB0O2lmKHQuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzO3ZhciBlPXQuei5yZWRTcXIoKSxyPXRoaXMuei5yZWRTcXIoKSxuPXRoaXMueC5yZWRNdWwoZSksaT10LngucmVkTXVsKHIpLG89dGhpcy55LnJlZE11bChlLnJlZE11bCh0LnopKSxzPXQueS5yZWRNdWwoci5yZWRNdWwodGhpcy56KSksYT1uLnJlZFN1YihpKSx1PW8ucmVkU3ViKHMpO2lmKDA9PT1hLmNtcG4oMCkpcmV0dXJuIDAhPT11LmNtcG4oMCk/dGhpcy5jdXJ2ZS5qcG9pbnQobnVsbCxudWxsLG51bGwpOnRoaXMuZGJsKCk7dmFyIGM9YS5yZWRTcXIoKSxmPWMucmVkTXVsKGEpLGg9bi5yZWRNdWwoYyksbD11LnJlZFNxcigpLnJlZElBZGQoZikucmVkSVN1YihoKS5yZWRJU3ViKGgpLGQ9dS5yZWRNdWwoaC5yZWRJU3ViKGwpKS5yZWRJU3ViKG8ucmVkTXVsKGYpKSxwPXRoaXMuei5yZWRNdWwodC56KS5yZWRNdWwoYSk7cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KGwsZCxwKX0sZi5wcm90b3R5cGUubWl4ZWRBZGQ9ZnVuY3Rpb24odCl7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIHQudG9KKCk7aWYodC5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcy56LnJlZFNxcigpLHI9dGhpcy54LG49dC54LnJlZE11bChlKSxpPXRoaXMueSxvPXQueS5yZWRNdWwoZSkucmVkTXVsKHRoaXMueikscz1yLnJlZFN1YihuKSxhPWkucmVkU3ViKG8pO2lmKDA9PT1zLmNtcG4oMCkpcmV0dXJuIDAhPT1hLmNtcG4oMCk/dGhpcy5jdXJ2ZS5qcG9pbnQobnVsbCxudWxsLG51bGwpOnRoaXMuZGJsKCk7dmFyIHU9cy5yZWRTcXIoKSxjPXUucmVkTXVsKHMpLGY9ci5yZWRNdWwodSksaD1hLnJlZFNxcigpLnJlZElBZGQoYykucmVkSVN1YihmKS5yZWRJU3ViKGYpLGw9YS5yZWRNdWwoZi5yZWRJU3ViKGgpKS5yZWRJU3ViKGkucmVkTXVsKGMpKSxkPXRoaXMuei5yZWRNdWwocyk7cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KGgsbCxkKX0sZi5wcm90b3R5cGUuZGJscD1mdW5jdGlvbih0KXtpZigwPT09dClyZXR1cm4gdGhpcztpZih0aGlzLmlzSW5maW5pdHkoKSlyZXR1cm4gdGhpcztpZighdClyZXR1cm4gdGhpcy5kYmwoKTt2YXIgZTtpZih0aGlzLmN1cnZlLnplcm9BfHx0aGlzLmN1cnZlLnRocmVlQSl7dmFyIHI9dGhpcztmb3IoZT0wO2U8dDtlKyspcj1yLmRibCgpO3JldHVybiByfXZhciBuPXRoaXMuY3VydmUuYSxpPXRoaXMuY3VydmUudGludixvPXRoaXMueCxzPXRoaXMueSxhPXRoaXMueix1PWEucmVkU3FyKCkucmVkU3FyKCksYz1zLnJlZEFkZChzKTtmb3IoZT0wO2U8dDtlKyspe3ZhciBmPW8ucmVkU3FyKCksaD1jLnJlZFNxcigpLGw9aC5yZWRTcXIoKSxkPWYucmVkQWRkKGYpLnJlZElBZGQoZikucmVkSUFkZChuLnJlZE11bCh1KSkscD1vLnJlZE11bChoKSxtPWQucmVkU3FyKCkucmVkSVN1YihwLnJlZEFkZChwKSksZz1wLnJlZElTdWIobSksYj1kLnJlZE11bChnKTtiPWIucmVkSUFkZChiKS5yZWRJU3ViKGwpO3ZhciB5PWMucmVkTXVsKGEpO2UrMTx0JiYodT11LnJlZE11bChsKSksbz1tLGE9eSxjPWJ9cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG8sYy5yZWRNdWwoaSksYSl9LGYucHJvdG90eXBlLmRibD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT90aGlzOnRoaXMuY3VydmUuemVyb0E/dGhpcy5femVyb0RibCgpOnRoaXMuY3VydmUudGhyZWVBP3RoaXMuX3RocmVlRGJsKCk6dGhpcy5fZGJsKCl9LGYucHJvdG90eXBlLl96ZXJvRGJsPWZ1bmN0aW9uKCl7dmFyIHQsZSxyO2lmKHRoaXMuek9uZSl7dmFyIG49dGhpcy54LnJlZFNxcigpLGk9dGhpcy55LnJlZFNxcigpLG89aS5yZWRTcXIoKSxzPXRoaXMueC5yZWRBZGQoaSkucmVkU3FyKCkucmVkSVN1YihuKS5yZWRJU3ViKG8pO3M9cy5yZWRJQWRkKHMpO3ZhciBhPW4ucmVkQWRkKG4pLnJlZElBZGQobiksdT1hLnJlZFNxcigpLnJlZElTdWIocykucmVkSVN1YihzKSxjPW8ucmVkSUFkZChvKTtjPShjPWMucmVkSUFkZChjKSkucmVkSUFkZChjKSx0PXUsZT1hLnJlZE11bChzLnJlZElTdWIodSkpLnJlZElTdWIoYykscj10aGlzLnkucmVkQWRkKHRoaXMueSl9ZWxzZXt2YXIgZj10aGlzLngucmVkU3FyKCksaD10aGlzLnkucmVkU3FyKCksbD1oLnJlZFNxcigpLGQ9dGhpcy54LnJlZEFkZChoKS5yZWRTcXIoKS5yZWRJU3ViKGYpLnJlZElTdWIobCk7ZD1kLnJlZElBZGQoZCk7dmFyIHA9Zi5yZWRBZGQoZikucmVkSUFkZChmKSxtPXAucmVkU3FyKCksZz1sLnJlZElBZGQobCk7Zz0oZz1nLnJlZElBZGQoZykpLnJlZElBZGQoZyksdD1tLnJlZElTdWIoZCkucmVkSVN1YihkKSxlPXAucmVkTXVsKGQucmVkSVN1Yih0KSkucmVkSVN1YihnKSxyPShyPXRoaXMueS5yZWRNdWwodGhpcy56KSkucmVkSUFkZChyKX1yZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQodCxlLHIpfSxmLnByb3RvdHlwZS5fdGhyZWVEYmw9ZnVuY3Rpb24oKXt2YXIgdCxlLHI7aWYodGhpcy56T25lKXt2YXIgbj10aGlzLngucmVkU3FyKCksaT10aGlzLnkucmVkU3FyKCksbz1pLnJlZFNxcigpLHM9dGhpcy54LnJlZEFkZChpKS5yZWRTcXIoKS5yZWRJU3ViKG4pLnJlZElTdWIobyk7cz1zLnJlZElBZGQocyk7dmFyIGE9bi5yZWRBZGQobikucmVkSUFkZChuKS5yZWRJQWRkKHRoaXMuY3VydmUuYSksdT1hLnJlZFNxcigpLnJlZElTdWIocykucmVkSVN1YihzKTt0PXU7dmFyIGM9by5yZWRJQWRkKG8pO2M9KGM9Yy5yZWRJQWRkKGMpKS5yZWRJQWRkKGMpLGU9YS5yZWRNdWwocy5yZWRJU3ViKHUpKS5yZWRJU3ViKGMpLHI9dGhpcy55LnJlZEFkZCh0aGlzLnkpfWVsc2V7dmFyIGY9dGhpcy56LnJlZFNxcigpLGg9dGhpcy55LnJlZFNxcigpLGw9dGhpcy54LnJlZE11bChoKSxkPXRoaXMueC5yZWRTdWIoZikucmVkTXVsKHRoaXMueC5yZWRBZGQoZikpO2Q9ZC5yZWRBZGQoZCkucmVkSUFkZChkKTt2YXIgcD1sLnJlZElBZGQobCksbT0ocD1wLnJlZElBZGQocCkpLnJlZEFkZChwKTt0PWQucmVkU3FyKCkucmVkSVN1YihtKSxyPXRoaXMueS5yZWRBZGQodGhpcy56KS5yZWRTcXIoKS5yZWRJU3ViKGgpLnJlZElTdWIoZik7dmFyIGc9aC5yZWRTcXIoKTtnPShnPShnPWcucmVkSUFkZChnKSkucmVkSUFkZChnKSkucmVkSUFkZChnKSxlPWQucmVkTXVsKHAucmVkSVN1Yih0KSkucmVkSVN1YihnKX1yZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQodCxlLHIpfSxmLnByb3RvdHlwZS5fZGJsPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jdXJ2ZS5hLGU9dGhpcy54LHI9dGhpcy55LG49dGhpcy56LGk9bi5yZWRTcXIoKS5yZWRTcXIoKSxvPWUucmVkU3FyKCkscz1yLnJlZFNxcigpLGE9by5yZWRBZGQobykucmVkSUFkZChvKS5yZWRJQWRkKHQucmVkTXVsKGkpKSx1PWUucmVkQWRkKGUpLGM9KHU9dS5yZWRJQWRkKHUpKS5yZWRNdWwocyksZj1hLnJlZFNxcigpLnJlZElTdWIoYy5yZWRBZGQoYykpLGg9Yy5yZWRJU3ViKGYpLGw9cy5yZWRTcXIoKTtsPShsPShsPWwucmVkSUFkZChsKSkucmVkSUFkZChsKSkucmVkSUFkZChsKTt2YXIgZD1hLnJlZE11bChoKS5yZWRJU3ViKGwpLHA9ci5yZWRBZGQocikucmVkTXVsKG4pO3JldHVybiB0aGlzLmN1cnZlLmpwb2ludChmLGQscCl9LGYucHJvdG90eXBlLnRycGw9ZnVuY3Rpb24oKXtpZighdGhpcy5jdXJ2ZS56ZXJvQSlyZXR1cm4gdGhpcy5kYmwoKS5hZGQodGhpcyk7dmFyIHQ9dGhpcy54LnJlZFNxcigpLGU9dGhpcy55LnJlZFNxcigpLHI9dGhpcy56LnJlZFNxcigpLG49ZS5yZWRTcXIoKSxpPXQucmVkQWRkKHQpLnJlZElBZGQodCksbz1pLnJlZFNxcigpLHM9dGhpcy54LnJlZEFkZChlKS5yZWRTcXIoKS5yZWRJU3ViKHQpLnJlZElTdWIobiksYT0ocz0ocz0ocz1zLnJlZElBZGQocykpLnJlZEFkZChzKS5yZWRJQWRkKHMpKS5yZWRJU3ViKG8pKS5yZWRTcXIoKSx1PW4ucmVkSUFkZChuKTt1PSh1PSh1PXUucmVkSUFkZCh1KSkucmVkSUFkZCh1KSkucmVkSUFkZCh1KTt2YXIgYz1pLnJlZElBZGQocykucmVkU3FyKCkucmVkSVN1YihvKS5yZWRJU3ViKGEpLnJlZElTdWIodSksZj1lLnJlZE11bChjKTtmPShmPWYucmVkSUFkZChmKSkucmVkSUFkZChmKTt2YXIgaD10aGlzLngucmVkTXVsKGEpLnJlZElTdWIoZik7aD0oaD1oLnJlZElBZGQoaCkpLnJlZElBZGQoaCk7dmFyIGw9dGhpcy55LnJlZE11bChjLnJlZE11bCh1LnJlZElTdWIoYykpLnJlZElTdWIocy5yZWRNdWwoYSkpKTtsPShsPShsPWwucmVkSUFkZChsKSkucmVkSUFkZChsKSkucmVkSUFkZChsKTt2YXIgZD10aGlzLnoucmVkQWRkKHMpLnJlZFNxcigpLnJlZElTdWIocikucmVkSVN1YihhKTtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQoaCxsLGQpfSxmLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD1uZXcgaSh0LGUpLHRoaXMuY3VydmUuX3duYWZNdWwodGhpcyx0KX0sZi5wcm90b3R5cGUuZXE9ZnVuY3Rpb24odCl7aWYoImFmZmluZSI9PT10LnR5cGUpcmV0dXJuIHRoaXMuZXEodC50b0ooKSk7aWYodGhpcz09PXQpcmV0dXJuITA7dmFyIGU9dGhpcy56LnJlZFNxcigpLHI9dC56LnJlZFNxcigpO2lmKDAhPT10aGlzLngucmVkTXVsKHIpLnJlZElTdWIodC54LnJlZE11bChlKSkuY21wbigwKSlyZXR1cm4hMTt2YXIgbj1lLnJlZE11bCh0aGlzLnopLGk9ci5yZWRNdWwodC56KTtyZXR1cm4gMD09PXRoaXMueS5yZWRNdWwoaSkucmVkSVN1Yih0LnkucmVkTXVsKG4pKS5jbXBuKDApfSxmLnByb3RvdHlwZS5lcVhUb1A9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy56LnJlZFNxcigpLHI9dC50b1JlZCh0aGlzLmN1cnZlLnJlZCkucmVkTXVsKGUpO2lmKDA9PT10aGlzLnguY21wKHIpKXJldHVybiEwO2Zvcih2YXIgbj10LmNsb25lKCksaT10aGlzLmN1cnZlLnJlZE4ucmVkTXVsKGUpOzspe2lmKG4uaWFkZCh0aGlzLmN1cnZlLm4pLG4uY21wKHRoaXMuY3VydmUucCk+PTApcmV0dXJuITE7aWYoci5yZWRJQWRkKGkpLDA9PT10aGlzLnguY21wKHIpKXJldHVybiEwfX0sZi5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT8iPEVDIEpQb2ludCBJbmZpbml0eT4iOiI8RUMgSlBvaW50IHg6ICIrdGhpcy54LnRvU3RyaW5nKDE2LDIpKyIgeTogIit0aGlzLnkudG9TdHJpbmcoMTYsMikrIiB6OiAiK3RoaXMuei50b1N0cmluZygxNiwyKSsiPiJ9LGYucHJvdG90eXBlLmlzSW5maW5pdHk9ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMuei5jbXBuKDApfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE2KSxpPXIoMyksbz1yKDQ1KSxzPXIoMTEpO2Z1bmN0aW9uIGEodCl7by5jYWxsKHRoaXMsIm1vbnQiLHQpLHRoaXMuYT1uZXcgbih0LmEsMTYpLnRvUmVkKHRoaXMucmVkKSx0aGlzLmI9bmV3IG4odC5iLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy5pND1uZXcgbig0KS50b1JlZCh0aGlzLnJlZCkucmVkSW52bSgpLHRoaXMudHdvPW5ldyBuKDIpLnRvUmVkKHRoaXMucmVkKSx0aGlzLmEyND10aGlzLmk0LnJlZE11bCh0aGlzLmEucmVkQWRkKHRoaXMudHdvKSl9ZnVuY3Rpb24gdSh0LGUscil7by5CYXNlUG9pbnQuY2FsbCh0aGlzLHQsInByb2plY3RpdmUiKSxudWxsPT09ZSYmbnVsbD09PXI/KHRoaXMueD10aGlzLmN1cnZlLm9uZSx0aGlzLno9dGhpcy5jdXJ2ZS56ZXJvKToodGhpcy54PW5ldyBuKGUsMTYpLHRoaXMuej1uZXcgbihyLDE2KSx0aGlzLngucmVkfHwodGhpcy54PXRoaXMueC50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuei5yZWR8fCh0aGlzLno9dGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKSkpfWkoYSxvKSx0LmV4cG9ydHM9YSxhLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbih0KXt2YXIgZT10Lm5vcm1hbGl6ZSgpLngscj1lLnJlZFNxcigpLG49ci5yZWRNdWwoZSkucmVkQWRkKHIucmVkTXVsKHRoaXMuYSkpLnJlZEFkZChlKTtyZXR1cm4gMD09PW4ucmVkU3FydCgpLnJlZFNxcigpLmNtcChuKX0saSh1LG8uQmFzZVBvaW50KSxhLnByb3RvdHlwZS5kZWNvZGVQb2ludD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnBvaW50KHMudG9BcnJheSh0LGUpLDEpfSxhLnByb3RvdHlwZS5wb2ludD1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgdSh0aGlzLHQsZSl9LGEucHJvdG90eXBlLnBvaW50RnJvbUpTT049ZnVuY3Rpb24odCl7cmV0dXJuIHUuZnJvbUpTT04odGhpcyx0KX0sdS5wcm90b3R5cGUucHJlY29tcHV0ZT1mdW5jdGlvbigpe30sdS5wcm90b3R5cGUuX2VuY29kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFgoKS50b0FycmF5KCJiZSIsdGhpcy5jdXJ2ZS5wLmJ5dGVMZW5ndGgoKSl9LHUuZnJvbUpTT049ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IHUodCxlWzBdLGVbMV18fHQub25lKX0sdS5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT8iPEVDIFBvaW50IEluZmluaXR5PiI6IjxFQyBQb2ludCB4OiAiK3RoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIiB6OiAiK3RoaXMuei5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIj4ifSx1LnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLnouY21wbigwKX0sdS5wcm90b3R5cGUuZGJsPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LnJlZEFkZCh0aGlzLnopLnJlZFNxcigpLGU9dGhpcy54LnJlZFN1Yih0aGlzLnopLnJlZFNxcigpLHI9dC5yZWRTdWIoZSksbj10LnJlZE11bChlKSxpPXIucmVkTXVsKGUucmVkQWRkKHRoaXMuY3VydmUuYTI0LnJlZE11bChyKSkpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KG4saSl9LHUucHJvdG90eXBlLmFkZD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IHN1cHBvcnRlZCBvbiBNb250Z29tZXJ5IGN1cnZlIil9LHUucHJvdG90eXBlLmRpZmZBZGQ9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLngucmVkQWRkKHRoaXMueiksbj10aGlzLngucmVkU3ViKHRoaXMueiksaT10LngucmVkQWRkKHQueiksbz10LngucmVkU3ViKHQueikucmVkTXVsKHIpLHM9aS5yZWRNdWwobiksYT1lLnoucmVkTXVsKG8ucmVkQWRkKHMpLnJlZFNxcigpKSx1PWUueC5yZWRNdWwoby5yZWRJU3ViKHMpLnJlZFNxcigpKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChhLHUpfSx1LnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQuY2xvbmUoKSxyPXRoaXMsbj10aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCksaT1bXTswIT09ZS5jbXBuKDApO2UuaXVzaHJuKDEpKWkucHVzaChlLmFuZGxuKDEpKTtmb3IodmFyIG89aS5sZW5ndGgtMTtvPj0wO28tLSkwPT09aVtvXT8ocj1yLmRpZmZBZGQobix0aGlzKSxuPW4uZGJsKCkpOihuPXIuZGlmZkFkZChuLHRoaXMpLHI9ci5kYmwoKSk7cmV0dXJuIG59LHUucHJvdG90eXBlLm11bEFkZD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IHN1cHBvcnRlZCBvbiBNb250Z29tZXJ5IGN1cnZlIil9LHUucHJvdG90eXBlLmp1bWxBZGQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQgb24gTW9udGdvbWVyeSBjdXJ2ZSIpfSx1LnByb3RvdHlwZS5lcT1mdW5jdGlvbih0KXtyZXR1cm4gMD09PXRoaXMuZ2V0WCgpLmNtcCh0LmdldFgoKSl9LHUucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLng9dGhpcy54LnJlZE11bCh0aGlzLnoucmVkSW52bSgpKSx0aGlzLno9dGhpcy5jdXJ2ZS5vbmUsdGhpc30sdS5wcm90b3R5cGUuZ2V0WD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5vcm1hbGl6ZSgpLHRoaXMueC5mcm9tUmVkKCl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTEpLGk9cigxNiksbz1yKDMpLHM9cig0NSksYT1uLmFzc2VydDtmdW5jdGlvbiB1KHQpe3RoaXMudHdpc3RlZD0xIT0oMHx0LmEpLHRoaXMubU9uZUE9dGhpcy50d2lzdGVkJiYtMT09KDB8dC5hKSx0aGlzLmV4dGVuZGVkPXRoaXMubU9uZUEscy5jYWxsKHRoaXMsImVkd2FyZHMiLHQpLHRoaXMuYT1uZXcgaSh0LmEsMTYpLnVtb2QodGhpcy5yZWQubSksdGhpcy5hPXRoaXMuYS50b1JlZCh0aGlzLnJlZCksdGhpcy5jPW5ldyBpKHQuYywxNikudG9SZWQodGhpcy5yZWQpLHRoaXMuYzI9dGhpcy5jLnJlZFNxcigpLHRoaXMuZD1uZXcgaSh0LmQsMTYpLnRvUmVkKHRoaXMucmVkKSx0aGlzLmRkPXRoaXMuZC5yZWRBZGQodGhpcy5kKSxhKCF0aGlzLnR3aXN0ZWR8fDA9PT10aGlzLmMuZnJvbVJlZCgpLmNtcG4oMSkpLHRoaXMub25lQz0xPT0oMHx0LmMpfWZ1bmN0aW9uIGModCxlLHIsbixvKXtzLkJhc2VQb2ludC5jYWxsKHRoaXMsdCwicHJvamVjdGl2ZSIpLG51bGw9PT1lJiZudWxsPT09ciYmbnVsbD09PW4/KHRoaXMueD10aGlzLmN1cnZlLnplcm8sdGhpcy55PXRoaXMuY3VydmUub25lLHRoaXMuej10aGlzLmN1cnZlLm9uZSx0aGlzLnQ9dGhpcy5jdXJ2ZS56ZXJvLHRoaXMuek9uZT0hMCk6KHRoaXMueD1uZXcgaShlLDE2KSx0aGlzLnk9bmV3IGkociwxNiksdGhpcy56PW4/bmV3IGkobiwxNik6dGhpcy5jdXJ2ZS5vbmUsdGhpcy50PW8mJm5ldyBpKG8sMTYpLHRoaXMueC5yZWR8fCh0aGlzLng9dGhpcy54LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy55LnJlZHx8KHRoaXMueT10aGlzLnkudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnoucmVkfHwodGhpcy56PXRoaXMuei50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMudCYmIXRoaXMudC5yZWQmJih0aGlzLnQ9dGhpcy50LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy56T25lPXRoaXMuej09PXRoaXMuY3VydmUub25lLHRoaXMuY3VydmUuZXh0ZW5kZWQmJiF0aGlzLnQmJih0aGlzLnQ9dGhpcy54LnJlZE11bCh0aGlzLnkpLHRoaXMuek9uZXx8KHRoaXMudD10aGlzLnQucmVkTXVsKHRoaXMuei5yZWRJbnZtKCkpKSkpfW8odSxzKSx0LmV4cG9ydHM9dSx1LnByb3RvdHlwZS5fbXVsQT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5tT25lQT90LnJlZE5lZygpOnRoaXMuYS5yZWRNdWwodCl9LHUucHJvdG90eXBlLl9tdWxDPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9uZUM/dDp0aGlzLmMucmVkTXVsKHQpfSx1LnByb3RvdHlwZS5qcG9pbnQ9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHRoaXMucG9pbnQodCxlLHIsbil9LHUucHJvdG90eXBlLnBvaW50RnJvbVg9ZnVuY3Rpb24odCxlKXsodD1uZXcgaSh0LDE2KSkucmVkfHwodD10LnRvUmVkKHRoaXMucmVkKSk7dmFyIHI9dC5yZWRTcXIoKSxuPXRoaXMuYzIucmVkU3ViKHRoaXMuYS5yZWRNdWwocikpLG89dGhpcy5vbmUucmVkU3ViKHRoaXMuYzIucmVkTXVsKHRoaXMuZCkucmVkTXVsKHIpKSxzPW4ucmVkTXVsKG8ucmVkSW52bSgpKSxhPXMucmVkU3FydCgpO2lmKDAhPT1hLnJlZFNxcigpLnJlZFN1YihzKS5jbXAodGhpcy56ZXJvKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcG9pbnQiKTt2YXIgdT1hLmZyb21SZWQoKS5pc09kZCgpO3JldHVybihlJiYhdXx8IWUmJnUpJiYoYT1hLnJlZE5lZygpKSx0aGlzLnBvaW50KHQsYSl9LHUucHJvdG90eXBlLnBvaW50RnJvbVk9ZnVuY3Rpb24odCxlKXsodD1uZXcgaSh0LDE2KSkucmVkfHwodD10LnRvUmVkKHRoaXMucmVkKSk7dmFyIHI9dC5yZWRTcXIoKSxuPXIucmVkU3ViKHRoaXMuYzIpLG89ci5yZWRNdWwodGhpcy5kKS5yZWRNdWwodGhpcy5jMikucmVkU3ViKHRoaXMuYSkscz1uLnJlZE11bChvLnJlZEludm0oKSk7aWYoMD09PXMuY21wKHRoaXMuemVybykpe2lmKGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBvaW50Iik7cmV0dXJuIHRoaXMucG9pbnQodGhpcy56ZXJvLHQpfXZhciBhPXMucmVkU3FydCgpO2lmKDAhPT1hLnJlZFNxcigpLnJlZFN1YihzKS5jbXAodGhpcy56ZXJvKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcG9pbnQiKTtyZXR1cm4gYS5mcm9tUmVkKCkuaXNPZGQoKSE9PWUmJihhPWEucmVkTmVnKCkpLHRoaXMucG9pbnQoYSx0KX0sdS5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24odCl7aWYodC5pc0luZmluaXR5KCkpcmV0dXJuITA7dC5ub3JtYWxpemUoKTt2YXIgZT10LngucmVkU3FyKCkscj10LnkucmVkU3FyKCksbj1lLnJlZE11bCh0aGlzLmEpLnJlZEFkZChyKSxpPXRoaXMuYzIucmVkTXVsKHRoaXMub25lLnJlZEFkZCh0aGlzLmQucmVkTXVsKGUpLnJlZE11bChyKSkpO3JldHVybiAwPT09bi5jbXAoaSl9LG8oYyxzLkJhc2VQb2ludCksdS5wcm90b3R5cGUucG9pbnRGcm9tSlNPTj1mdW5jdGlvbih0KXtyZXR1cm4gYy5mcm9tSlNPTih0aGlzLHQpfSx1LnByb3RvdHlwZS5wb2ludD1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gbmV3IGModGhpcyx0LGUscixuKX0sYy5mcm9tSlNPTj1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgYyh0LGVbMF0sZVsxXSxlWzJdKX0sYy5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT8iPEVDIFBvaW50IEluZmluaXR5PiI6IjxFQyBQb2ludCB4OiAiK3RoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIiB5OiAiK3RoaXMueS5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIiB6OiAiK3RoaXMuei5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIj4ifSxjLnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLnguY21wbigwKSYmKDA9PT10aGlzLnkuY21wKHRoaXMueil8fHRoaXMuek9uZSYmMD09PXRoaXMueS5jbXAodGhpcy5jdXJ2ZS5jKSl9LGMucHJvdG90eXBlLl9leHREYmw9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLngucmVkU3FyKCksZT10aGlzLnkucmVkU3FyKCkscj10aGlzLnoucmVkU3FyKCk7cj1yLnJlZElBZGQocik7dmFyIG49dGhpcy5jdXJ2ZS5fbXVsQSh0KSxpPXRoaXMueC5yZWRBZGQodGhpcy55KS5yZWRTcXIoKS5yZWRJU3ViKHQpLnJlZElTdWIoZSksbz1uLnJlZEFkZChlKSxzPW8ucmVkU3ViKHIpLGE9bi5yZWRTdWIoZSksdT1pLnJlZE11bChzKSxjPW8ucmVkTXVsKGEpLGY9aS5yZWRNdWwoYSksaD1zLnJlZE11bChvKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludCh1LGMsaCxmKX0sYy5wcm90b3R5cGUuX3Byb2pEYmw9ZnVuY3Rpb24oKXt2YXIgdCxlLHIsbixpLG8scz10aGlzLngucmVkQWRkKHRoaXMueSkucmVkU3FyKCksYT10aGlzLngucmVkU3FyKCksdT10aGlzLnkucmVkU3FyKCk7aWYodGhpcy5jdXJ2ZS50d2lzdGVkKXt2YXIgYz0obj10aGlzLmN1cnZlLl9tdWxBKGEpKS5yZWRBZGQodSk7dGhpcy56T25lPyh0PXMucmVkU3ViKGEpLnJlZFN1Yih1KS5yZWRNdWwoYy5yZWRTdWIodGhpcy5jdXJ2ZS50d28pKSxlPWMucmVkTXVsKG4ucmVkU3ViKHUpKSxyPWMucmVkU3FyKCkucmVkU3ViKGMpLnJlZFN1YihjKSk6KGk9dGhpcy56LnJlZFNxcigpLG89Yy5yZWRTdWIoaSkucmVkSVN1YihpKSx0PXMucmVkU3ViKGEpLnJlZElTdWIodSkucmVkTXVsKG8pLGU9Yy5yZWRNdWwobi5yZWRTdWIodSkpLHI9Yy5yZWRNdWwobykpfWVsc2Ugbj1hLnJlZEFkZCh1KSxpPXRoaXMuY3VydmUuX211bEModGhpcy56KS5yZWRTcXIoKSxvPW4ucmVkU3ViKGkpLnJlZFN1YihpKSx0PXRoaXMuY3VydmUuX211bEMocy5yZWRJU3ViKG4pKS5yZWRNdWwobyksZT10aGlzLmN1cnZlLl9tdWxDKG4pLnJlZE11bChhLnJlZElTdWIodSkpLHI9bi5yZWRNdWwobyk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQodCxlLHIpfSxjLnByb3RvdHlwZS5kYmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/dGhpczp0aGlzLmN1cnZlLmV4dGVuZGVkP3RoaXMuX2V4dERibCgpOnRoaXMuX3Byb2pEYmwoKX0sYy5wcm90b3R5cGUuX2V4dEFkZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnkucmVkU3ViKHRoaXMueCkucmVkTXVsKHQueS5yZWRTdWIodC54KSkscj10aGlzLnkucmVkQWRkKHRoaXMueCkucmVkTXVsKHQueS5yZWRBZGQodC54KSksbj10aGlzLnQucmVkTXVsKHRoaXMuY3VydmUuZGQpLnJlZE11bCh0LnQpLGk9dGhpcy56LnJlZE11bCh0LnoucmVkQWRkKHQueikpLG89ci5yZWRTdWIoZSkscz1pLnJlZFN1YihuKSxhPWkucmVkQWRkKG4pLHU9ci5yZWRBZGQoZSksYz1vLnJlZE11bChzKSxmPWEucmVkTXVsKHUpLGg9by5yZWRNdWwodSksbD1zLnJlZE11bChhKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChjLGYsbCxoKX0sYy5wcm90b3R5cGUuX3Byb2pBZGQ9ZnVuY3Rpb24odCl7dmFyIGUscixuPXRoaXMuei5yZWRNdWwodC56KSxpPW4ucmVkU3FyKCksbz10aGlzLngucmVkTXVsKHQueCkscz10aGlzLnkucmVkTXVsKHQueSksYT10aGlzLmN1cnZlLmQucmVkTXVsKG8pLnJlZE11bChzKSx1PWkucmVkU3ViKGEpLGM9aS5yZWRBZGQoYSksZj10aGlzLngucmVkQWRkKHRoaXMueSkucmVkTXVsKHQueC5yZWRBZGQodC55KSkucmVkSVN1YihvKS5yZWRJU3ViKHMpLGg9bi5yZWRNdWwodSkucmVkTXVsKGYpO3JldHVybiB0aGlzLmN1cnZlLnR3aXN0ZWQ/KGU9bi5yZWRNdWwoYykucmVkTXVsKHMucmVkU3ViKHRoaXMuY3VydmUuX211bEEobykpKSxyPXUucmVkTXVsKGMpKTooZT1uLnJlZE11bChjKS5yZWRNdWwocy5yZWRTdWIobykpLHI9dGhpcy5jdXJ2ZS5fbXVsQyh1KS5yZWRNdWwoYykpLHRoaXMuY3VydmUucG9pbnQoaCxlLHIpfSxjLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaXNJbmZpbml0eSgpP3Q6dC5pc0luZmluaXR5KCk/dGhpczp0aGlzLmN1cnZlLmV4dGVuZGVkP3RoaXMuX2V4dEFkZCh0KTp0aGlzLl9wcm9qQWRkKHQpfSxjLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2hhc0RvdWJsZXModCk/dGhpcy5jdXJ2ZS5fZml4ZWROYWZNdWwodGhpcyx0KTp0aGlzLmN1cnZlLl93bmFmTXVsKHRoaXMsdCl9LGMucHJvdG90eXBlLm11bEFkZD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuY3VydmUuX3duYWZNdWxBZGQoMSxbdGhpcyxlXSxbdCxyXSwyLCExKX0sYy5wcm90b3R5cGUuam11bEFkZD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuY3VydmUuX3duYWZNdWxBZGQoMSxbdGhpcyxlXSxbdCxyXSwyLCEwKX0sYy5wcm90b3R5cGUubm9ybWFsaXplPWZ1bmN0aW9uKCl7aWYodGhpcy56T25lKXJldHVybiB0aGlzO3ZhciB0PXRoaXMuei5yZWRJbnZtKCk7cmV0dXJuIHRoaXMueD10aGlzLngucmVkTXVsKHQpLHRoaXMueT10aGlzLnkucmVkTXVsKHQpLHRoaXMudCYmKHRoaXMudD10aGlzLnQucmVkTXVsKHQpKSx0aGlzLno9dGhpcy5jdXJ2ZS5vbmUsdGhpcy56T25lPSEwLHRoaXN9LGMucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnZlLnBvaW50KHRoaXMueC5yZWROZWcoKSx0aGlzLnksdGhpcy56LHRoaXMudCYmdGhpcy50LnJlZE5lZygpKX0sYy5wcm90b3R5cGUuZ2V0WD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5vcm1hbGl6ZSgpLHRoaXMueC5mcm9tUmVkKCl9LGMucHJvdG90eXBlLmdldFk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub3JtYWxpemUoKSx0aGlzLnkuZnJvbVJlZCgpfSxjLnByb3RvdHlwZS5lcT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcz09PXR8fDA9PT10aGlzLmdldFgoKS5jbXAodC5nZXRYKCkpJiYwPT09dGhpcy5nZXRZKCkuY21wKHQuZ2V0WSgpKX0sYy5wcm90b3R5cGUuZXFYVG9QPWZ1bmN0aW9uKHQpe3ZhciBlPXQudG9SZWQodGhpcy5jdXJ2ZS5yZWQpLnJlZE11bCh0aGlzLnopO2lmKDA9PT10aGlzLnguY21wKGUpKXJldHVybiEwO2Zvcih2YXIgcj10LmNsb25lKCksbj10aGlzLmN1cnZlLnJlZE4ucmVkTXVsKHRoaXMueik7Oyl7aWYoci5pYWRkKHRoaXMuY3VydmUubiksci5jbXAodGhpcy5jdXJ2ZS5wKT49MClyZXR1cm4hMTtpZihlLnJlZElBZGQobiksMD09PXRoaXMueC5jbXAoZSkpcmV0dXJuITB9fSxjLnByb3RvdHlwZS50b1A9Yy5wcm90b3R5cGUubm9ybWFsaXplLGMucHJvdG90eXBlLm1peGVkQWRkPWMucHJvdG90eXBlLmFkZH0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLnNoYTE9cigyNTEpLGUuc2hhMjI0PXIoMjUyKSxlLnNoYTI1Nj1yKDEyNCksZS5zaGEzODQ9cigyNTMpLGUuc2hhNTEyPXIoMTI1KX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE1KSxpPXIoMzcpLG89cigxMjMpLHM9bi5yb3RsMzIsYT1uLnN1bTMyLHU9bi5zdW0zMl81LGM9by5mdF8xLGY9aS5CbG9ja0hhc2gsaD1bMTUxODUwMDI0OSwxODU5Nzc1MzkzLDI0MDA5NTk3MDgsMzM5NTQ2OTc4Ml07ZnVuY3Rpb24gbCgpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXJldHVybiBuZXcgbDtmLmNhbGwodGhpcyksdGhpcy5oPVsxNzMyNTg0MTkzLDQwMjMyMzM0MTcsMjU2MjM4MzEwMiwyNzE3MzM4NzgsMzI4NTM3NzUyMF0sdGhpcy5XPW5ldyBBcnJheSg4MCl9bi5pbmhlcml0cyhsLGYpLHQuZXhwb3J0cz1sLGwuYmxvY2tTaXplPTUxMixsLm91dFNpemU9MTYwLGwuaG1hY1N0cmVuZ3RoPTgwLGwucGFkTGVuZ3RoPTY0LGwucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dGhpcy5XLG49MDtuPDE2O24rKylyW25dPXRbZStuXTtmb3IoO248ci5sZW5ndGg7bisrKXJbbl09cyhyW24tM11ecltuLThdXnJbbi0xNF1ecltuLTE2XSwxKTt2YXIgaT10aGlzLmhbMF0sbz10aGlzLmhbMV0sZj10aGlzLmhbMl0sbD10aGlzLmhbM10sZD10aGlzLmhbNF07Zm9yKG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIHA9fn4obi8yMCksbT11KHMoaSw1KSxjKHAsbyxmLGwpLGQscltuXSxoW3BdKTtkPWwsbD1mLGY9cyhvLDMwKSxvPWksaT1tfXRoaXMuaFswXT1hKHRoaXMuaFswXSxpKSx0aGlzLmhbMV09YSh0aGlzLmhbMV0sbyksdGhpcy5oWzJdPWEodGhpcy5oWzJdLGYpLHRoaXMuaFszXT1hKHRoaXMuaFszXSxsKSx0aGlzLmhbNF09YSh0aGlzLmhbNF0sZCl9LGwucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24odCl7cmV0dXJuImhleCI9PT10P24udG9IZXgzMih0aGlzLmgsImJpZyIpOm4uc3BsaXQzMih0aGlzLmgsImJpZyIpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE1KSxpPXIoMTI0KTtmdW5jdGlvbiBvKCl7aWYoISh0aGlzIGluc3RhbmNlb2YgbykpcmV0dXJuIG5ldyBvO2kuY2FsbCh0aGlzKSx0aGlzLmg9WzMyMzgzNzEwMzIsOTE0MTUwNjYzLDgxMjcwMjk5OSw0MTQ0OTEyNjk3LDQyOTA3NzU4NTcsMTc1MDYwMzAyNSwxNjk0MDc2ODM5LDMyMDQwNzU0MjhdfW4uaW5oZXJpdHMobyxpKSx0LmV4cG9ydHM9byxvLmJsb2NrU2l6ZT01MTIsby5vdXRTaXplPTIyNCxvLmhtYWNTdHJlbmd0aD0xOTIsby5wYWRMZW5ndGg9NjQsby5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbih0KXtyZXR1cm4iaGV4Ij09PXQ/bi50b0hleDMyKHRoaXMuaC5zbGljZSgwLDcpLCJiaWciKTpuLnNwbGl0MzIodGhpcy5oLnNsaWNlKDAsNyksImJpZyIpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE1KSxpPXIoMTI1KTtmdW5jdGlvbiBvKCl7aWYoISh0aGlzIGluc3RhbmNlb2YgbykpcmV0dXJuIG5ldyBvO2kuY2FsbCh0aGlzKSx0aGlzLmg9WzM0MTgwNzAzNjUsMzIzODM3MTAzMiwxNjU0MjcwMjUwLDkxNDE1MDY2MywyNDM4NTI5MzcwLDgxMjcwMjk5OSwzNTU0NjIzNjAsNDE0NDkxMjY5NywxNzMxNDA1NDE1LDQyOTA3NzU4NTcsMjM5NDE4MDIzMSwxNzUwNjAzMDI1LDM2NzUwMDg1MjUsMTY5NDA3NjgzOSwxMjAzMDYyODEzLDMyMDQwNzU0MjhdfW4uaW5oZXJpdHMobyxpKSx0LmV4cG9ydHM9byxvLmJsb2NrU2l6ZT0xMDI0LG8ub3V0U2l6ZT0zODQsby5obWFjU3RyZW5ndGg9MTkyLG8ucGFkTGVuZ3RoPTEyOCxvLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKHQpe3JldHVybiJoZXgiPT09dD9uLnRvSGV4MzIodGhpcy5oLnNsaWNlKDAsMTIpLCJiaWciKTpuLnNwbGl0MzIodGhpcy5oLnNsaWNlKDAsMTIpLCJiaWciKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigxNSksaT1yKDM3KSxvPW4ucm90bDMyLHM9bi5zdW0zMixhPW4uc3VtMzJfMyx1PW4uc3VtMzJfNCxjPWkuQmxvY2tIYXNoO2Z1bmN0aW9uIGYoKXtpZighKHRoaXMgaW5zdGFuY2VvZiBmKSlyZXR1cm4gbmV3IGY7Yy5jYWxsKHRoaXMpLHRoaXMuaD1bMTczMjU4NDE5Myw0MDIzMjMzNDE3LDI1NjIzODMxMDIsMjcxNzMzODc4LDMyODUzNzc1MjBdLHRoaXMuZW5kaWFuPSJsaXR0bGUifWZ1bmN0aW9uIGgodCxlLHIsbil7cmV0dXJuIHQ8PTE1P2Vecl5uOnQ8PTMxP2Umcnx+ZSZuOnQ8PTQ3PyhlfH5yKV5uOnQ8PTYzP2UmbnxyJn5uOmVeKHJ8fm4pfWZ1bmN0aW9uIGwodCl7cmV0dXJuIHQ8PTE1PzA6dDw9MzE/MTUxODUwMDI0OTp0PD00Nz8xODU5Nzc1MzkzOnQ8PTYzPzI0MDA5NTk3MDg6Mjg0MDg1MzgzOH1mdW5jdGlvbiBkKHQpe3JldHVybiB0PD0xNT8xMzUyODI5OTI2OnQ8PTMxPzE1NDg2MDM2ODQ6dDw9NDc/MTgzNjA3MjY5MTp0PD02Mz8yMDUzOTk0MjE3OjB9bi5pbmhlcml0cyhmLGMpLGUucmlwZW1kMTYwPWYsZi5ibG9ja1NpemU9NTEyLGYub3V0U2l6ZT0xNjAsZi5obWFjU3RyZW5ndGg9MTkyLGYucGFkTGVuZ3RoPTY0LGYucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dGhpcy5oWzBdLG49dGhpcy5oWzFdLGk9dGhpcy5oWzJdLGM9dGhpcy5oWzNdLGY9dGhpcy5oWzRdLHk9cix2PW4sXz1pLHc9YyxNPWYsUz0wO1M8ODA7UysrKXt2YXIgRT1zKG8odShyLGgoUyxuLGksYyksdFtwW1NdK2VdLGwoUykpLGdbU10pLGYpO3I9ZixmPWMsYz1vKGksMTApLGk9bixuPUUsRT1zKG8odSh5LGgoNzktUyx2LF8sdyksdFttW1NdK2VdLGQoUykpLGJbU10pLE0pLHk9TSxNPXcsdz1vKF8sMTApLF89dix2PUV9RT1hKHRoaXMuaFsxXSxpLHcpLHRoaXMuaFsxXT1hKHRoaXMuaFsyXSxjLE0pLHRoaXMuaFsyXT1hKHRoaXMuaFszXSxmLHkpLHRoaXMuaFszXT1hKHRoaXMuaFs0XSxyLHYpLHRoaXMuaFs0XT1hKHRoaXMuaFswXSxuLF8pLHRoaXMuaFswXT1FfSxmLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKHQpe3JldHVybiJoZXgiPT09dD9uLnRvSGV4MzIodGhpcy5oLCJsaXR0bGUiKTpuLnNwbGl0MzIodGhpcy5oLCJsaXR0bGUiKX07dmFyIHA9WzAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsNyw0LDEzLDEsMTAsNiwxNSwzLDEyLDAsOSw1LDIsMTQsMTEsOCwzLDEwLDE0LDQsOSwxNSw4LDEsMiw3LDAsNiwxMywxMSw1LDEyLDEsOSwxMSwxMCwwLDgsMTIsNCwxMywzLDcsMTUsMTQsNSw2LDIsNCwwLDUsOSw3LDEyLDIsMTAsMTQsMSwzLDgsMTEsNiwxNSwxM10sbT1bNSwxNCw3LDAsOSwyLDExLDQsMTMsNiwxNSw4LDEsMTAsMywxMiw2LDExLDMsNywwLDEzLDUsMTAsMTQsMTUsOCwxMiw0LDksMSwyLDE1LDUsMSwzLDcsMTQsNiw5LDExLDgsMTIsMiwxMCwwLDQsMTMsOCw2LDQsMSwzLDExLDE1LDAsNSwxMiwyLDEzLDksNywxMCwxNCwxMiwxNSwxMCw0LDEsNSw4LDcsNiwyLDEzLDE0LDAsMyw5LDExXSxnPVsxMSwxNCwxNSwxMiw1LDgsNyw5LDExLDEzLDE0LDE1LDYsNyw5LDgsNyw2LDgsMTMsMTEsOSw3LDE1LDcsMTIsMTUsOSwxMSw3LDEzLDEyLDExLDEzLDYsNywxNCw5LDEzLDE1LDE0LDgsMTMsNiw1LDEyLDcsNSwxMSwxMiwxNCwxNSwxNCwxNSw5LDgsOSwxNCw1LDYsOCw2LDUsMTIsOSwxNSw1LDExLDYsOCwxMywxMiw1LDEyLDEzLDE0LDExLDgsNSw2XSxiPVs4LDksOSwxMSwxMywxNSwxNSw1LDcsNyw4LDExLDE0LDE0LDEyLDYsOSwxMywxNSw3LDEyLDgsOSwxMSw3LDcsMTIsNyw2LDE1LDEzLDExLDksNywxNSwxMSw4LDYsNiwxNCwxMiwxMyw1LDE0LDEzLDEzLDcsNSwxNSw1LDgsMTEsMTQsMTQsNiwxNCw2LDksMTIsOSwxMiw1LDE1LDgsOCw1LDEyLDksMTIsNSwxNCw2LDgsMTMsNiw1LDE1LDEzLDExLDExXX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE1KSxpPXIoMjIpO2Z1bmN0aW9uIG8odCxlLHIpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG8pKXJldHVybiBuZXcgbyh0LGUscik7dGhpcy5IYXNoPXQsdGhpcy5ibG9ja1NpemU9dC5ibG9ja1NpemUvOCx0aGlzLm91dFNpemU9dC5vdXRTaXplLzgsdGhpcy5pbm5lcj1udWxsLHRoaXMub3V0ZXI9bnVsbCx0aGlzLl9pbml0KG4udG9BcnJheShlLHIpKX10LmV4cG9ydHM9byxvLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbih0KXt0Lmxlbmd0aD50aGlzLmJsb2NrU2l6ZSYmKHQ9KG5ldyB0aGlzLkhhc2gpLnVwZGF0ZSh0KS5kaWdlc3QoKSksaSh0Lmxlbmd0aDw9dGhpcy5ibG9ja1NpemUpO2Zvcih2YXIgZT10Lmxlbmd0aDtlPHRoaXMuYmxvY2tTaXplO2UrKyl0LnB1c2goMCk7Zm9yKGU9MDtlPHQubGVuZ3RoO2UrKyl0W2VdXj01NDtmb3IodGhpcy5pbm5lcj0obmV3IHRoaXMuSGFzaCkudXBkYXRlKHQpLGU9MDtlPHQubGVuZ3RoO2UrKyl0W2VdXj0xMDY7dGhpcy5vdXRlcj0obmV3IHRoaXMuSGFzaCkudXBkYXRlKHQpfSxvLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5pbm5lci51cGRhdGUodCxlKSx0aGlzfSxvLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3V0ZXIudXBkYXRlKHRoaXMuaW5uZXIuZGlnZXN0KCkpLHRoaXMub3V0ZXIuZGlnZXN0KHQpfX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9e2RvdWJsZXM6e3N0ZXA6NCxwb2ludHM6W1siZTYwZmNlOTNiNTllOWVjNTMwMTFhYWJjMjFjMjNlOTdiMmEzMTM2OWI4N2E1YWU5YzQ0ZWU4OWUyYTZkZWMwYSIsImY3ZTM1MDczOTllNTk1OTI5ZGI5OWYzNGY1NzkzNzEwMTI5Njg5MWU0NGQyM2YwYmUxZjMyY2NlNjk2MTY4MjEiXSxbIjgyODIyNjMyMTJjNjA5ZDllYTJhNmUzZTE3MmRlMjM4ZDhjMzljYWJkNWFjMWNhMTA2NDZlMjNmZDVmNTE1MDgiLCIxMWY4YTgwOTg1NTdkZmU0NWU4MjU2ZTgzMGI2MGFjZTYyZDYxM2FjMmY3YjE3YmVkMzFiNmVhZmY2ZTI2Y2FmIl0sWyIxNzVlMTU5ZjcyOGI4NjVhNzJmOTljYzZjNmZjODQ2ZGUwYjkzODMzZmQyMjIyZWQ3M2ZjZTViNTUxZTViNzM5IiwiZDM1MDZlMGQ5ZTNjNzllYmE0ZWY5N2E1MWZmNzFmNWVhY2I1OTU1YWRkMjQzNDVjNmVmYTZmZmVlOWZlZDY5NSJdLFsiMzYzZDkwZDQ0N2IwMGM5Yzk5Y2VhYzA1YjYyNjJlZTA1MzQ0MWM3ZTU1NTUyZmZlNTI2YmFkOGY4M2ZmNDY0MCIsIjRlMjczYWRmYzczMjIyMTk1M2I0NDUzOTdmMzM2MzE0NWI5YTg5MDA4MTk5ZWNiNjIwMDNjN2YzYmVlOWRlOSJdLFsiOGI0YjVmMTY1ZGYzYzJiZThjNjI0NGI1Yjc0NTYzODg0M2U0YTc4MWExNWJjZDFiNjlmNzlhNTVkZmZkZjgwYyIsIjRhYWQwYTZmNjhkMzA4YjRiM2ZiZDc4MTNhYjBkYTA0ZjllMzM2NTQ2MTYyZWU1NmIzZWZmMGM2NWZkNGZkMzYiXSxbIjcyM2NiYWE2ZTVkYjk5NmQ2YmY3NzFjMDBiZDU0OGM3YjcwMGRiZmZhNmMwZTc3YmNiNjExNTkyNTIzMmZjZGEiLCI5NmU4NjdiNTU5NWNjNDk4YTkyMTEzNzQ4ODgyNGQ2ZTI2NjBhMDY1Mzc3OTQ5NDgwMWRjMDY5ZDllYjM5ZjVmIl0sWyJlZWJmYTRkNDkzYmViZjk4YmE1ZmVlYzgxMmMyZDNiNTA5NDc5NjEyMzdhOTE5ODM5YTUzM2VjYTBlN2RkN2ZhIiwiNWQ5YThjYTM5NzBlZjBmMjY5ZWU3ZWRhZjE3ODA4OWQ5YWU0Y2RjM2E3MTFmNzEyZGRmZDRmZGFlMWRlODk5OSJdLFsiMTAwZjQ0ZGE2OTZlNzE2NzI3OTFkMGEwOWI3YmRlNDU5ZjEyMTVhMjliM2MwM2JmZWZkNzgzNWIzOWE0OGRiMCIsImNkZDllMTMxOTJhMDBiNzcyZWM4ZjMzMDBjMDkwNjY2YjdmZjRhMThmZjUxOTVhYzBmYmQ1Y2Q2MmJjNjVhMDkiXSxbImUxMDMxYmUyNjJjN2VkMWIxZGM5MjI3YTRhMDRjMDE3YTc3ZjhkNDQ2NGYzYjM4NTJjOGFjZGU2ZTUzNGZkMmQiLCI5ZDcwNjE5Mjg5NDA0MDVlNmJiNmE0MTc2NTk3NTM1YWYyOTJkZDQxOWUxY2VkNzlhNDRmMThmMjk0NTZhMDBkIl0sWyJmZWVhNmNhZTQ2ZDU1YjUzMGFjMjgzOWYxNDNiZDdlYzVjZjhiMjY2YTQxZDZhZjUyZDVlNjg4ZDkwOTQ2OTZkIiwiZTU3YzZiNmM5N2RjZTFiYWIwNmU0ZTEyYmYzZWNkNWM5ODFjODk1N2NjNDE0NDJkMzE1NWRlYmYxODA5MDA4OCJdLFsiZGE2N2E5MWQ5MTA0OWNkY2IzNjdiZTRiZTZmZmNhM2NmZWVkNjU3ZDgwODU4M2RlMzNmYTk3OGJjMWVjNmNiMSIsIjliYWNhYTM1NDgxNjQyYmM0MWY0NjNmN2VjOTc4MGU1ZGVjN2FkYzUwOGY3NDBhMTdlOWVhOGUyN2E2OGJlMWQiXSxbIjUzOTA0ZmFhMGIzMzRjZGRhNmUwMDA5MzVlZjIyMTUxZWMwOGQwZjdiYjExMDY5ZjU3NTQ1Y2NjMWEzN2I3YzAiLCI1YmMwODdkMGJjODAxMDZkODhjOWVjY2FjMjBkM2MxYzEzOTk5OTgxZTE0NDM0Njk5ZGNiMDk2YjAyMjc3MWM4Il0sWyI4ZTdiY2QwYmQzNTk4M2E3NzE5Y2NhNzc2NGNhOTA2Nzc5YjUzYTA0M2E5YjhiY2FlZmY5NTlmNDNhZDg2MDQ3IiwiMTBiNzc3MGIyYTNkYTRiMzk0MDMxMDQyMGNhOTUxNDU3OWU4OGUyZTQ3ZmQ2OGIzZWExMDA0N2U4NDYwMzcyYSJdLFsiMzg1ZWVkMzRjMWNkZmYyMWU2ZDA4MTg2ODliODFiZGU3MWE3ZjRmMTgzOTdlNjY5MGE4NDFlMTU5OWM0Mzg2MiIsIjI4M2JlYmMzZThlYTIzZjU2NzAxZGUxOWU5ZWJmNDU3NmIzMDRlZWMyMDg2ZGM4Y2MwNDU4ZmU1NTQyZTU0NTMiXSxbIjZmOWQ5YjgwM2VjZjE5MTYzN2M3M2E0NDEzZGZhMTgwZmRkZjg0YTU5NDdmYmM5YzYwNmVkODZjM2ZhYzNhNyIsIjdjODBjNjhlNjAzMDU5YmE2OWI4ZTJhMzBlNDVjNGQ0N2VhNGRkMmY1YzI4MTAwMmQ4Njg5MDYwM2E4NDIxNjAiXSxbIjMzMjJkNDAxMjQzYzRlMjU4MmEyMTQ3YzEwNGQ2ZWNiZjc3NGQxNjNkYjBmNWU1MzEzYjdlMGU3NDJkMGU2YmQiLCI1NmU3MDc5N2U5NjY0ZWY1YmZiMDE5YmM0ZGRhZjliNzI4MDVmNjNlYTI4NzNhZjYyNGYzYTJlOTZjMjhiMmEwIl0sWyI4NTY3MmM3ZDJkZTBiN2RhMmJkMTc3MGQ4OTY2NTg2ODc0MWIzZjlhZjc2NDMzOTc3MjFkNzRkMjgxMzRhYjgzIiwiN2M0ODFiOWI1YjQzYjJlYjYzNzQwNDliZmE2MmMyZTVlNzdmMTdmY2M1Mjk4ZjQ0YzhlMzA5NGY3OTAzMTNhNiJdLFsiOTQ4YmY4MDliMTk4OGE0NmIwNmM5ZjE5MTk0MTNiMTBmOTIyNmM2MGY2Njg4MzJmZmQ5NTlhZjYwYzgyYTBhIiwiNTNhNTYyODU2ZGNiNjY0NmRjNmI3NGM1ZDFjMzQxOGM2ZDRkZmYwOGM5N2NkMmJlZDRjYjdmODhkOGM4ZTU4OSJdLFsiNjI2MGNlN2Y0NjE4MDFjMzRmMDY3Y2UwZjAyODczYThmMWIwZTQ0ZGZjNjk3NTJhY2NlY2Q4MTlmMzhmZDhlOCIsImJjMmRhODJiNmZhNWI1NzFhN2YwOTA0OTc3NmExZWY3ZWNkMjkyMjM4MDUxYzE5OGMxYTg0ZTk1YjJiNGFlMTciXSxbImU1MDM3ZGUwYWZjMWQ4ZDQzZDgzNDg0MTRiYmY0MTAzMDQzZWM4ZjU3NWJmZGM0MzI5NTNjYzhkMjAzN2ZhMmQiLCI0NTcxNTM0YmFhOTRkM2I1ZjlmOThkMDlmYjk5MGJkZGJkNWY1YjAzZWM0ODFmMTBlMGU1ZGM4NDFkNzU1YmRhIl0sWyJlMDYzNzJiMGY0YTIwN2FkZjVlYTkwNWU4ZjE3NzFiNGU3ZThkYmQxYzZhNmM1YjcyNTg2NmEwYWU0ZmNlNzI1IiwiN2E5MDg5NzRiY2UxOGNmZTEyYTI3YmIyYWQ1YTQ4OGNkNzQ4NGE3Nzg3MTA0ODcwYjI3MDM0Zjk0ZWVlMzFkZCJdLFsiMjEzYzdhNzE1Y2Q1ZDQ1MzU4ZDBiYmY5ZGMwY2UwMjIwNGIxMGJkZGUyYTNmNTg1NDBhZDY5MDhkMDU1OTc1NCIsIjRiNmRhZDBiNWFlNDYyNTA3MDEzYWQwNjI0NWJhMTkwYmI0ODUwZjVmMzZhN2VlZGRmZjJjMjc1MzRiNDU4ZjIiXSxbIjRlN2MyNzJhN2FmNGIzNGU4ZGJiOTM1MmE1NDE5YTg3ZTI4MzhjNzBhZGM2MmNkZGYwY2MzYTNiMDhmYmQ1M2MiLCIxNzc0OWM3NjZjOWQwYjE4ZTE2ZmQwOWY2ZGVmNjgxYjUzMGI5NjE0YmZmN2RkMzNlMGIzOTQxODE3ZGNhYWU2Il0sWyJmZWE3NGUzZGJlNzc4YjFiMTBmMjM4YWQ2MTY4NmFhNWM3NmUzZGIyYmU0MzA1NzYzMjQyN2UyODQwZmIyN2I2IiwiNmUwNTY4ZGI5YjBiMTMyOTdjZjY3NGRlY2NiNmFmOTMxMjZiNTk2Yjk3M2Y3Yjc3NzAxZDNkYjdmMjNjYjk2ZiJdLFsiNzZlNjQxMTNmNjc3Y2YwZTEwYTI1NzBkNTk5OTY4ZDMxNTQ0ZTE3OWI3NjA0MzI5NTJjMDJhNDQxN2JkZGUzOSIsImM5MGRkZjhkZWU0ZTk1Y2Y1NzcwNjZkNzA2ODFmMGQzNWUyYTMzZDJiNTZkMjAzMmI0YjE3NTJkMTkwMWFjMDEiXSxbImM3MzhjNTZiMDNiMmFiZTFlODI4MWJhYTc0M2Y4ZjlhOGY3Y2M2NDNkZjI2Y2JlZTNhYjE1MDI0MmJjYmI4OTEiLCI4OTNmYjU3ODk1MWFkMjUzN2Y3MThmMmVhY2JmYmJiYjgyMzE0ZWVmNzg4MGNmZTkxN2U3MzVkOTY5OWE4NGMzIl0sWyJkODk1NjI2NTQ4YjY1YjgxZTI2NGM3NjM3Yzk3Mjg3N2QxZDcyZTVmM2E5MjUwMTQzNzJlOWY2NTg4ZjZjMTRiIiwiZmViZmFhMzhmMmJjN2VhZTcyOGVjNjA4MThjMzQwZWIwMzQyOGQ2MzJiYjA2N2UxNzkzNjNlZDc1ZDdkOTkxZiJdLFsiYjhkYTk0MDMyYTk1NzUxOGViMGY2NDMzNTcxZTg3NjFjZWZmYzczNjkzZTg0ZWRkNDkxNTBhNTY0ZjY3NmUwMyIsIjI4MDRkZmE0NDgwNWExZTRkN2M5OWNjOTc2MjgwOGIwOTJjYzU4NGQ5NWZmM2I1MTE0ODhlNGU3NGVmZGY2ZTciXSxbImU4MGZlYTE0NDQxZmIzM2E3ZDhhZGFiOTQ3NWQ3ZmFiMjAxOWVmZmI1MTU2YTc5MmYxYTExNzc4ZTNjMGRmNWQiLCJlZWQxZGU3ZjYzOGUwMDc3MWU4OTc2OGNhM2NhOTQ0NzJkMTU1ZTgwYWYzMjJlYTlmY2I0MjkxYjZhYzllYzc4Il0sWyJhMzAxNjk3YmRmY2Q3MDQzMTNiYTQ4ZTUxZDU2NzU0M2YyYTE4MjAzMWVmZDY5MTVkZGMwN2JiY2M0ZTE2MDcwIiwiNzM3MGY5MWNmYjY3ZTRmNTA4MTgwOWZhMjVkNDBmOWIxNzM1ZGJmN2MwYTExYTEzMGMwZDFhMDQxZTE3N2VhMSJdLFsiOTBhZDg1YjM4OWQ2YjkzNjQ2M2Y5ZDA1MTI2NzhkZTIwOGNjMzMwYjExMzA3ZmZmYWI3YWM2M2UzZmIwNGVkNCIsImU1MDdhMzYyMGEzODI2MWFmZmRjYmQ5NDI3MjIyYjgzOWFlZmFiZTE1ODI4OTRkOTkxZDRkNDhjYjZlZjE1MCJdLFsiOGY2OGI5ZDJmNjNiNWYzMzkyMzljMWFkOTgxZjE2MmVlODhjNTY3ODcyM2VhMzM1MWI3YjQ0NGM5ZWM0YzBkYSIsIjY2MmE5ZjJkYmEwNjM5ODZkZTFkOTBjMmI2YmUyMTVkYmJlYTJjZmU5NTUxMGJmZGYyM2NiZjc5NTAxZmZmODIiXSxbImU0ZjNmYjAxNzZhZjg1ZDY1ZmY5OWZmOTE5OGMzNjA5MWY0OGU4NjUwMzY4MWUzZTY2ODZmZDUwNTMyMzFlMTEiLCIxZTYzNjMzYWQwZWY0ZjFjMTY2MWE2ZDBlYTAyYjcyODZjYzdlNzRlYzk1MWQxYzk4MjJjMzg1NzZmZWI3M2JjIl0sWyI4YzAwZmE5YjE4ZWJmMzMxZWI5NjE1MzdhNDVhNDI2NmM3MDM0ZjJmMGQ0ZTFkMDcxNmZiNmVhZTIwZWFlMjllIiwiZWZhNDcyNjdmZWE1MjFhMWE5ZGMzNDNhMzczNmM5NzRjMmZhZGFmYTgxZTM2YzU0ZTdkMmE0YzY2NzAyNDE0YiJdLFsiZTdhMjZjZTY5ZGQ0ODI5ZjNlMTBjZWMwYTllOThlZDMxNDNkMDg0ZjMwOGI5MmMwOTk3ZmRkZmM2MGNiM2U0MSIsIjJhNzU4ZTMwMGZhNzk4NGI0NzFiMDA2YTFhYWZiYjE4ZDBhNmIyYzA0MjBlODNlMjBlOGE5NDIxY2YyY2ZkNTEiXSxbImI2NDU5ZTBlZTM2NjJlYzhkMjM1NDBjMjIzYmNiZGM1NzFjYmNiOTY3ZDc5NDI0ZjNjZjI5ZWIzZGU2YjgwZWYiLCI2N2M4NzZkMDZmM2UwNmRlMWRhZGYxNmU1NjYxZGIzYzRiM2FlNmQ0OGUzNWIyZmYzMGJmMGI2MWE3MWJhNDUiXSxbImQ2OGE4MGM4MjgwYmI4NDA3OTMyMzRhYTExOGYwNjIzMWQ2ZjFmYzY3ZTczYzVhNWRlZGEwZjViNDk2OTQzZTgiLCJkYjhiYTlmZmY0YjU4NmQwMGM0YjFmOTE3N2IwZTI4YjViMGU3YjhmNzg0NTI5NWEyOTRjODQyNjZiMTMzMTIwIl0sWyIzMjRhZWQ3ZGY2NWM4MDQyNTJkYzAyNzA5MDdhMzBiMDk2MTJhZWI5NzM0NDljZWE0MDk1OTgwZmMyOGQzZDVkIiwiNjQ4YTM2NTc3NGI2MWYyZmYxMzBjMGMzNWFlYzFmNGYxOTIxM2IwYzdlMzMyODQzOTY3MjI0YWY5NmFiN2M4NCJdLFsiNGRmOWMxNDkxOWNkZTYxZjZkNTFkZmRiZTVmZWU1ZGNlZWM0MTQzYmE4ZDFjYTg4OGU4YmQzNzNmZDA1NGM5NiIsIjM1ZWM1MTA5MmQ4NzI4MDUwOTc0YzIzYTFkODVkNGI1ZDUwNmNkYzI4ODQ5MDE5MmViYWMwNmNhZDEwZDVkIl0sWyI5YzM5MTlhODRhNDc0ODcwZmFlZDhhOWMxY2M2NjAyMTUyMzQ4OTA1NGQ3ZjAzMDhjYmZjOTljOGFjMWY5OGNkIiwiZGRiODRmMGY0YTRkZGQ1NzU4NGYwNDRiZjI2MGU2NDE5MDUzMjZmNzZjNjRjOGU2YmU3ZTVlMDNkNGZjNTk5ZCJdLFsiNjA1NzE3MGIxZGQxMmZkZjhkZTA1ZjI4MWQ4ZTA2YmI5MWUxNDkzYThiOTFkNGNjNWEyMTM4MjEyMGE5NTllNSIsIjlhMWFmMGIyNmE2YTQ4MDdhZGQ5YTJkYWY3MWRmMjYyNDY1MTUyYmMzZWUyNGM2NWU4OTliZTkzMjM4NWEyYTgiXSxbImE1NzZkZjhlMjNhMDg0MTE0MjE0MzlhNDUxOGRhMzE4ODBjZWYwZmJhN2Q0ZGYxMmIxYTY5NzNlZWNiOTQyNjYiLCI0MGE2YmYyMGU3NjY0MGIyYzkyYjk3YWZlNThjZDgyYzQzMmUxMGE3ZjUxNGQ5ZjNlZThiZTExYWUxYjI4ZWM4Il0sWyI3Nzc4YTc4YzI4ZGVjM2UzMGEwNWZlOTYyOWRlOGMzOGJiMzBkMWY1Y2Y5YTNhMjA4Zjc2Mzg4OWJlNThhZDcxIiwiMzQ2MjZkOWFiNWE1YjIyZmY3MDk4ZTEyZjJmZjU4MDA4N2IzODQxMWZmMjRhYzU2M2I1MTNmYzFmZDlmNDNhYyJdLFsiOTI4OTU1ZWU2MzdhODQ0NjM3MjlmZDMwZTdhZmQyZWQ1Zjk2Mjc0ZTVhZDdlNWNiMDllZGE5YzA2ZDkwM2FjIiwiYzI1NjIxMDAzZDNmNDJhODI3Yjc4YTEzMDkzYTk1ZWVhYzNkMjZlZmE4YThkODNmYzUxODBlOTM1YmNkMDkxZiJdLFsiODVkMGZlZjNlYzZkYjEwOTM5OTA2NGYzYTBlM2IyODU1NjQ1YjRhOTA3YWQzNTQ1MjdhYWU3NTE2M2Q4Mjc1MSIsIjFmMDM2NDg0MTNhMzhjMGJlMjlkNDk2ZTU4MmNmNTY2M2U4NzUxZTk2ODc3MzMxNTgyYzIzN2EyNGViMWY5NjIiXSxbImZmMmIwZGNlOTdlZWNlOTdjMWM5YjYwNDE3OThiODVkZmRmYjZkODg4MmRhMjAzMDhmNTQwNDgyNDUyNjA4N2UiLCI0OTNkMTNmZWY1MjRiYTE4OGFmNGM0ZGM1NGQwNzkzNmM3YjdlZDZmYjkwZTJjZWIyYzk1MWUwMWYwYzI5OTA3Il0sWyI4MjdmYmJlNGIxZTg4MGVhOWVkMmIyZTYzMDFiMjEyYjU3ZjFlZTE0OGNkNmRkMjg3ODBlNWUyY2Y4NTZlMjQxIiwiYzYwZjljOTIzYzcyN2IwYjcxYmVmMmM2N2QxZDEyNjg3ZmY3YTYzMTg2OTAzMTY2ZDYwNWI2OGJhZWMyOTNlYyJdLFsiZWFhNjQ5ZjIxZjUxYmRiYWU3YmU0YWUzNGNlNmU1MjE3YTU4ZmRjZTdmNDdmOWFhN2YzYjU4ZmEyMTIwZTJiMyIsImJlMzI3OWVkNWJiYmIwM2FjNjlhODBmODk4NzlhYTVhMDFhNmI5NjVmMTNmN2U1OWQ0N2E1MzA1YmE1YWQ5M2QiXSxbImU0YTQyZDQzYzVjZjE2OWQ5MzkxZGY2ZGVjZjQyZWU1NDFiNmQ4ZjBjOWExMzc0MDFlMjM2MzJkZGEzNGQyNGYiLCI0ZDlmOTJlNzE2ZDFjNzM1MjZmYzk5Y2NmYjhhZDM0Y2U4ODZlZWRmYThkOGU0ZjEzYTdmNzEzMWRlYmE5NDE0Il0sWyIxZWM4MGZlZjM2MGNiZGQ5NTQxNjBmYWRhYjM1MmI2YjkyYjUzNTc2YTg4ZmVhNDk0NzE3M2I5ZDQzMDBiZjE5IiwiYWVlZmU5Mzc1NmI1MzQwZDJmM2E0OTU4YTdhYmJmNWUwMTQ2ZTc3ZjYyOTVhMDdiNjcxY2RjMWNjMTA3Y2VmZCJdLFsiMTQ2YTc3OGMwNDY3MGMyZjkxYjAwYWY0NjgwZGZhOGJjZTM0OTA3MTdkNThiYTg4OWRkYjU5MjgzNjY2NDJiZSIsImIzMThlMGVjMzM1NDAyOGFkZDY2OTgyN2Y5ZDRiMjg3MGFhYTk3MWQyZjdlNWVkMWQwYjI5NzQ4M2Q4M2VmZDAiXSxbImZhNTBjMGY2MWQyMmU1ZjA3ZTNhY2ViYjFhYTA3YjEyOGQwMDEyMjA5YTI4Yjk3NzZkNzZhODc5MzE4MGVlZjkiLCI2Yjg0YzY5MjIzOTdlYmE5YjcyY2QyODcyMjgxYTY4YTVlNjgzMjkzYTU3YTIxM2IzOGNkOGQ3ZDNmNGYyODExIl0sWyJkYTFkNjFkMGNhNzIxYTExYjFhNWJmNmI3ZDg4ZTg0MjFhMjg4YWI1ZDViYmE1MjIwZTUzZDMyYjVmMDY3ZWMyIiwiODE1N2Y1NWE3Yzk5MzA2Yzc5YzA3NjYxNjFjOTFlMjk2NmE3Mzg5OWQyNzliNDhhNjU1ZmJhMGYxYWQ4MzZmMSJdLFsiYThlMjgyZmYwYzk3MDY5MDcyMTVmZjk4ZThmZDQxNjYxNTMxMWRlMDQ0NmYxZTA2MmE3M2IwNjEwZDA2NGUxMyIsIjdmOTczNTViOGRiODFjMDlhYmZiN2YzYzViMjUxNTg4OGI2NzlhM2U1MGRkNmJkNmNlZjdjNzMxMTFmNGNjMGMiXSxbIjE3NGE1M2I5YzlhMjg1ODcyZDM5ZTU2ZTY5MTNjYWIxNWQ1OWIxZmE1MTI1MDhjMDIyZjM4MmRlODMxOTQ5N2MiLCJjY2M5ZGMzN2FiZmM5YzE2NTdiNDE1NWYyYzQ3ZjllNjY0NmIzYTFkOGNiOTg1NDM4M2RhMTNhYzA3OWFmYTczIl0sWyI5NTkzOTY5ODE5NDM3ODVjM2QzZTU3ZWRmNTAxOGNkYmUwMzllNzMwZTQ5MThiM2Q4ODRmZGZmMDk0NzViN2JhIiwiMmU3ZTU1Mjg4OGMzMzFkZDhiYTAzODZhNGI5Y2Q2ODQ5YzY1M2Y2NGM4NzA5Mzg1ZTliOGFiZjg3NTI0ZjJmZCJdLFsiZDJhNjNhNTBhZTQwMWU1NmQ2NDVhMTE1M2IxMDlhOGZjY2EwYTQzZDU2MWZiYTJkYmI1MTM0MGM5ZDgyYjE1MSIsImU4MmQ4NmZiNjQ0M2ZjYjc1NjVhZWU1OGIyOTQ4MjIwYTcwZjc1MGFmNDg0Y2E1MmQ0MTQyMTc0ZGNmODk0MDUiXSxbIjY0NTg3ZTIzMzU0NzFlYjg5MGVlNzg5NmQ3Y2ZkYzg2NmJhY2JkYmQzODM5MzE3YjM0MzZmOWI0NTYxN2UwNzMiLCJkOTlmY2RkNWJmNjkwMmUyYWU5NmRkNjQ0N2MyOTlhMTg1YjkwYTM5MTMzYWVhYjM1ODI5OWU1ZTlmYWY2NTg5Il0sWyI4NDgxYmRlMGU0ZTRkODg1YjNhNTQ2ZDNlNTQ5ZGUwNDJmMGFhNmNlYTI1MGU3ZmQzNThkNmM4NmRkNDVlNDU4IiwiMzhlZTdiOGNiYTU0MDRkZDg0YTI1YmYzOWNlY2IyY2E5MDBhNzljNDJiMjYyZTU1NmQ2NGIxYjU5Nzc5MDU3ZSJdLFsiMTM0NjRhNTdhNzgxMDJhYTYyYjY5NzlhZTgxN2Y0NjM3ZmZjZmVkM2M0YjFjZTMwYmNkNjMwM2Y2Y2FmNjY2YiIsIjY5YmUxNTkwMDQ2MTQ1ODBlZjdlNDMzNDUzY2NiMGNhNDhmMzAwYTgxZDA5NDJlMTNmNDk1YTkwN2Y2ZWNjMjciXSxbImJjNGE5ZGY1YjcxM2ZlMmU5YWVmNDMwYmNjMWRjOTdhMGNkOWNjZWRlMmYyODU4OGNhZGEzYTBkMmQ4M2YzNjYiLCJkM2E4MWNhNmU3ODVjMDYzODM5MzdhZGY0Yjc5OGNhYTZlOGE5ZmJmYTU0N2IxNmQ3NThkNjY2NTgxZjMzYzEiXSxbIjhjMjhhOTdiZjgyOThiYzBkMjNkOGM3NDk0NTJhMzJlNjk0YjY1ZTMwYTk0NzJhMzk1NGFiMzBmZTUzMjRjYWEiLCI0MGEzMDQ2M2EzMzA1MTkzMzc4ZmVkZjMxZjdjYzBlYjdhZTc4NGYwNDUxY2I5NDU5ZTcxZGM3M2NiZWY5NDgyIl0sWyI4ZWE5NjY2MTM5NTI3YThjMWRkOTRjZTRmMDcxZmQyM2M4YjM1MGM1YTRiYjMzNzQ4YzRiYTExMWZhY2NhZTAiLCI2MjBlZmFiYmM4ZWUyNzgyZTI0ZTdjMGNmYjk1YzVkNzM1Yjc4M2JlOWNmMGY4ZTk1NWFmMzRhMzBlNjJiOTQ1Il0sWyJkZDM2MjVmYWVmNWJhMDYwNzQ2Njk3MTZiYmQzNzg4ZDg5YmRkZTgxNTk1OTk2ODA5MmY3NmNjNGViOWE5Nzg3IiwiN2ExODhmYTM1MjBlMzBkNDYxZGEyNTAxMDQ1NzMxY2E5NDE0NjE5ODI4ODMzOTU5MzdmNjhkMDBjNjQ0YTU3MyJdLFsiZjcxMGQ3OWQ5ZWI5NjIyOTdlNGY2MjMyYjQwZThmN2ZlYjJiYzYzODE0NjE0ZDY5MmMxMmRlNzUyNDA4MjIxZSIsImVhOThlNjcyMzJkM2IzMjk1ZDNiNTM1NTMyMTE1Y2NhYzg2MTJjNzIxODUxNjE3NTI2YWU0N2E5Yzc3YmZjODIiXV19LG5hZjp7d25kOjcscG9pbnRzOltbImY5MzA4YTAxOTI1OGMzMTA0OTM0NGY4NWY4OWQ1MjI5YjUzMWM4NDU4MzZmOTliMDg2MDFmMTEzYmNlMDM2ZjkiLCIzODhmN2IwZjYzMmRlODE0MGZlMzM3ZTYyYTM3ZjM1NjY1MDBhOTk5MzRjMjIzMWI2Y2I5ZmQ3NTg0YjhlNjcyIl0sWyIyZjhiZGU0ZDFhMDcyMDkzNTViNGE3MjUwYTVjNTEyOGU4OGI4NGJkZGM2MTlhYjdjYmE4ZDU2OWIyNDBlZmU0IiwiZDhhYzIyMjYzNmU1ZTNkNmQ0ZGJhOWRkYTZjOWM0MjZmNzg4MjcxYmFiMGQ2ODQwZGNhODdkM2FhNmFjNjJkNiJdLFsiNWNiZGYwNjQ2ZTVkYjRlYWEzOThmMzY1ZjJlYTdhMGUzZDQxOWI3ZTAzMzBlMzljZTkyYmRkZWRjYWM0ZjliYyIsIjZhZWJjYTQwYmEyNTU5NjBhMzE3OGQ2ZDg2MWE1NGRiYTgxM2QwYjgxM2ZkZTdiNWE1MDgyNjI4MDg3MjY0ZGEiXSxbImFjZDQ4NGUyZjBjN2Y2NTMwOWFkMTc4YTlmNTU5YWJkZTA5Nzk2OTc0YzU3ZTcxNGMzNWYxMTBkZmMyN2NjYmUiLCJjYzMzODkyMWIwYTdkOWZkNjQzODA5NzE3NjNiNjFlOWFkZDg4OGE0Mzc1ZjhlMGYwNWNjMjYyYWM2NGY5YzM3Il0sWyI3NzRhZTdmODU4YTk0MTFlNWVmNDI0NmI3MGM2NWFhYzU2NDk5ODBiZTVjMTc4OTFiYmVjMTc4OTVkYTAwOGNiIiwiZDk4NGEwMzJlYjZiNWUxOTAyNDNkZDU2ZDdiN2IzNjUzNzJkYjFlMmRmZjlkNmE4MzAxZDc0YzljOTUzYzYxYiJdLFsiZjI4NzczYzJkOTc1Mjg4YmM3ZDFkMjA1YzM3NDg2NTFiMDc1ZmJjNjYxMGU1OGNkZGVlZGRmOGYxOTQwNWFhOCIsImFiMDkwMmU4ZDg4MGE4OTc1ODIxMmViNjVjZGFmNDczYTFhMDZkYTUyMWZhOTFmMjliNWNiNTJkYjAzZWQ4MSJdLFsiZDc5MjRkNGY3ZDQzZWE5NjVhNDY1YWUzMDk1ZmY0MTEzMWU1OTQ2ZjNjODVmNzllNDRhZGJjZjhlMjdlMDgwZSIsIjU4MWUyODcyYTg2YzcyYTY4Mzg0MmVjMjI4Y2M2ZGVmZWE0MGFmMmJkODk2ZDNhNWM1MDRkYzlmZjZhMjZiNTgiXSxbImRlZmRlYTRjZGI2Nzc3NTBhNDIwZmVlODA3ZWFjZjIxZWI5ODk4YWU3OWI5NzY4NzY2ZTRmYWEwNGEyZDRhMzQiLCI0MjExYWIwNjk0NjM1MTY4ZTk5N2IwZWFkMmE5M2RhZWNlZDFmNGEwNGE5NWMwZjZjZmIxOTlmNjllNTZlYjc3Il0sWyIyYjRlYTBhNzk3YTQ0M2QyOTNlZjVjZmY0NDRmNDk3OWYwNmFjZmViZDdlODZkMjc3NDc1NjU2MTM4Mzg1YjZjIiwiODVlODliYzAzNzk0NWQ5M2IzNDMwODNiNWExYzg2MTMxYTAxZjYwYzUwMjY5NzYzYjU3MGM4NTRlNWMwOWI3YSJdLFsiMzUyYmJmNGE0Y2RkMTI1NjRmOTNmYTMzMmNlMzMzMzAxZDlhZDQwMjcxZjgxMDcxODEzNDBhZWYyNWJlNTlkNSIsIjMyMWViNDA3NTM0OGY1MzRkNTljMTgyNTlkZGEzZTFmNGExYjNiMmU3MWIxMDM5YzY3YmQzZDhiY2Y4MTk5OGMiXSxbIjJmYTIxMDRkNmIzOGQxMWIwMjMwMDEwNTU5ODc5MTI0ZTQyYWI4ZGZlZmY1ZmYyOWRjOWNkYWRkNGVjYWNjM2YiLCIyZGUxMDY4Mjk1ZGQ4NjViNjQ1NjkzMzViZDVkZDgwMTgxZDcwZWNmYzg4MjY0ODQyM2JhNzZiNTMyYjdkNjciXSxbIjkyNDgyNzliMDliNGQ2OGRhYjIxYTliMDY2ZWRkYTgzMjYzYzNkODRlMDk1NzJlMjY5Y2EwY2Q3ZjU0NTM3MTQiLCI3MzAxNmY3YmYyMzRhYWRlNWQxYWE3MWJkZWEyYjFmZjNmYzBkZTJhODg3OTEyZmZlNTRhMzJjZTk3Y2IzNDAyIl0sWyJkYWVkNGYyYmUzYThiZjI3OGU3MDEzMmZiMGJlYjc1MjJmNTcwZTE0NGJmNjE1YzA3ZTk5NmQ0NDNkZWU4NzI5IiwiYTY5ZGNlNGE3ZDZjOThlOGQ0YTFhY2E4N2VmOGQ3MDAzZjgzYzIzMGYzYWZhNzI2YWI0MGU1MjI5MGJlMWM1NSJdLFsiYzQ0ZDEyYzcwNjVkODEyZThhY2YyOGQ3Y2JiMTlmOTAxMWVjZDllOWZkZjI4MWIwZTZhM2I1ZTg3ZDIyZTdkYiIsIjIxMTlhNDYwY2UzMjZjZGM3NmM0NTkyNmM5ODJmZGFjMGUxMDZlODYxZWRmNjFjNWEwMzkwNjNmMGUwZTY0ODIiXSxbIjZhMjQ1YmY2ZGM2OTg1MDRjODlhMjBjZmRlZDYwODUzMTUyYjY5NTMzNmMyODA2M2I2MWM2NWNiZDI2OWU2YjQiLCJlMDIyY2Y0MmMyYmQ0YTcwOGIzZjUxMjZmMTZhMjRhZDhiMzNiYTQ4ZDA0MjNiNmVmZDVlNjM0ODEwMGQ4YTgyIl0sWyIxNjk3ZmZhNmZkOWRlNjI3YzA3N2UzZDJmZTU0MTA4NGNlMTMzMDBiMGJlYzExNDZmOTVhZTU3ZjBkMGJkNmE1IiwiYjljMzk4ZjE4NjgwNmY1ZDI3NTYxNTA2ZTQ1NTc0MzNhMmNmMTUwMDllNDk4YWU3YWRlZTlkNjNkMDFiMjM5NiJdLFsiNjA1YmRiMDE5OTgxNzE4Yjk4NmQwZjA3ZTgzNGNiMGQ5ZGViODM2MGZmYjdmNjFkZjk4MjM0NWVmMjdhNzQ3OSIsIjI5NzJkMmRlNGY4ZDIwNjgxYTc4ZDkzZWM5NmZlMjNjMjZiZmFlODRmYjE0ZGI0M2IwMWUxZTkwNTZiOGM0OSJdLFsiNjJkMTRkYWI0MTUwYmY0OTc0MDJmZGM0NWEyMTVlMTBkY2IwMWMzNTQ5NTliMTBjZmUzMWM3ZTlkODdmZjMzZCIsIjgwZmMwNmJkOGNjNWIwMTA5ODA4OGExOTUwZWVkMGRiMDFhYTEzMjk2N2FiNDcyMjM1ZjU2NDI0ODNiMjVlYWYiXSxbIjgwYzYwYWQwMDQwZjI3ZGFkZTViNGIwNmM0MDhlNTZiMmM1MGU5ZjU2YjliOGI0MjVlNTU1YzJmODYzMDhiNmYiLCIxYzM4MzAzZjFjYzVjMzBmMjZlNjZiYWQ3ZmU3MmY3MGE2NWVlZDRjYmU3MDI0ZWIxYWEwMWY1NjQzMGJkNTdhIl0sWyI3YTkzNzVhZDYxNjdhZDU0YWE3NGM2MzQ4Y2M1NGQzNDRjYzVkYzk0ODdkODQ3MDQ5ZDVlYWJiMGZhMDNjOGZiIiwiZDBlM2ZhOWVjYTg3MjY5MDk1NTllMGQ3OTI2OTA0NmJkYzU5ZWExMGM3MGNlMmIwMmQ0OTllYzIyNGRjN2Y3Il0sWyJkNTI4ZWNkOWI2OTZiNTRjOTA3YTllZDA0NTQ0N2E3OWJiNDA4ZWMzOWI2OGRmNTA0YmI1MWY0NTliYzNmZmM5IiwiZWVjZjQxMjUzMTM2ZTVmOTk5NjZmMjE4ODFmZDY1NmViYzQzNDU0MDVjNTIwZGJjMDYzNDY1YjUyMTQwOTkzMyJdLFsiNDkzNzBhNGI1ZjQzNDEyZWEyNWY1MTRlOGVjZGFkMDUyNjYxMTVlNGE3ZWNiMTM4NzIzMTgwOGY4YjQ1OTYzIiwiNzU4ZjNmNDFhZmQ2ZWQ0MjhiMzA4MWIwNTEyZmQ2MmE1NGMzZjNhZmJiNWI2NzY0YjY1MzA1MmExMjk0OWM5YSJdLFsiNzdmMjMwOTM2ZWU4OGNiYmQ3M2RmOTMwZDY0NzAyZWY4ODFkODExZTBlMTQ5OGUyZjFjMTNlYjFmYzM0NWQ3NCIsIjk1OGVmNDJhNzg4NmI2NDAwYTA4MjY2ZTliYTFiMzc4OTZjOTUzMzBkOTcwNzdjYmJlOGViM2M3NjcxYzYwZDYiXSxbImYyZGFjOTkxY2M0Y2U0YjllYTQ0ODg3ZTVjN2MwYmNlNThjODAwNzRhYjlkNGRiYWViMjg1MzFiNzczOWY1MzAiLCJlMGRlZGM5YjNiMmY4ZGFkNGRhMWYzMmRlYzI1MzFkZjllYjVmYmViMDU5OGU0ZmQxYTExN2RiYTcwM2EzYzM3Il0sWyI0NjNiM2Q5ZjY2MjYyMWZiMWI0YmU4ZmJiZTI1MjAxMjVhMjE2Y2RmYzlkYWUzZGViY2JhNDg1MGM2OTBkNDViIiwiNWVkNDMwZDc4YzI5NmMzNTQzMTE0MzA2ZGQ4NjIyZDdjNjIyZTI3Yzk3MGExZGUzMWNiMzc3YjAxYWY3MzA3ZSJdLFsiZjE2ZjgwNDI0NGU0NmUyYTA5MjMyZDRhZmYzYjU5OTc2Yjk4ZmFjMTQzMjhhMmQxYTMyNDk2YjQ5OTk4ZjI0NyIsImNlZGFiZDliODIyMDNmN2UxM2QyMDZmY2RmNGUzM2Q5MmE2YzUzYzI2ZTVjY2UyNmQ2NTc5OTYyYzRlMzFkZjYiXSxbImNhZjc1NDI3MmRjODQ1NjNiMDM1MmI3YTE0MzExYWY1NWQyNDUzMTVhY2UyN2M2NTM2OWUxNWY3MTUxZDQxZDEiLCJjYjQ3NDY2MGVmMzVmNWYyYTQxYjY0M2ZhNWU0NjA1NzVmNGZhOWI3OTYyMjMyYTVjMzJmOTA4MzE4YTA0NDc2Il0sWyIyNjAwY2E0YjI4MmNiOTg2Zjg1ZDBmMTcwOTk3OWQ4YjQ0YTA5YzA3Y2I4NmQ3YzEyNDQ5N2JjODZmMDgyMTIwIiwiNDExOWI4ODc1M2MxNWJkNmE2OTNiMDNmY2RkYmI0NWQ1YWM2YmU3NGFiNWYwZWY0NGIwYmU5NDc1YTdlNGI0MCJdLFsiNzYzNWNhNzJkN2U4NDMyYzMzOGVjNTNjZDEyMjIwYmMwMWM0ODY4NWUyNGY3ZGM4YzYwMmE3NzQ2OTk4ZTQzNSIsIjkxYjY0OTYwOTQ4OWQ2MTNkMWQ1ZTU5MGY3OGU2ZDc0ZWNmYzA2MWQ1NzA0OGJhZDllNzZmMzAyYzViOWM2MSJdLFsiNzU0ZTMyMzlmMzI1NTcwY2RiYmY0YTg3ZGVlZThhNjZiN2YyYjMzNDc5ZDQ2OGZiYzFhNTA3NDNiZjU2Y2MxOCIsIjY3M2ZiODZlNWJkYTMwZmIzY2QwZWQzMDRlYTQ5YTAyM2VlMzNkMDE5N2E2OTVkMGM1ZDk4MDkzYzUzNjY4MyJdLFsiZTNlNmJkMTA3MWExZTk2YWZmNTc4NTljODJkNTcwZjAzMzA4MDA2NjFkMWM5NTJmOWZlMjY5NDY5MWQ5YjllOCIsIjU5YzllMGJiYTM5NGU3NmY0MGMwYWE1ODM3OWEzY2I2YTVhMjI4Mzk5M2U5MGM0MTY3MDAyYWY0OTIwZTM3ZjUiXSxbIjE4NmI0ODNkMDU2YTAzMzgyNmFlNzNkODhmNzMyOTg1YzRjY2IxZjMyYmEzNWY0YjRjYzQ3ZmRjZjA0YWE2ZWIiLCIzYjk1MmQzMmM2N2NmNzdlMmUxNzQ0NmUyMDQxODBhYjIxZmI4MDkwODk1MTM4YjRhNGE3OTdmODZlODA4ODhiIl0sWyJkZjlkNzBhNmI5ODc2Y2U1NDRjOTg1NjFmNGJlNGY3MjU0NDJlNmQyYjczN2Q5YzkxYTgzMjE3MjRjZTA5NjNmIiwiNTVlYjJkYWZkODRkNmNjZDVmODYyYjc4NWRjMzlkNGFiMTU3MjIyNzIwZWY5ZGEyMTdiOGM0NWNmMmJhMjQxNyJdLFsiNWVkZDVjYzIzYzUxZTg3YTQ5N2NhODE1ZDVkY2UwZjhhYjUyNTU0Zjg0OWVkODk5NWRlNjRjNWYzNGNlNzE0MyIsImVmYWU5YzhkYmMxNDEzMDY2MWU4Y2VjMDMwYzg5YWQwYzEzYzY2YzBkMTdhMjkwNWNkYzcwNmFiNzM5OWE4NjgiXSxbIjI5MDc5OGMyYjY0NzY4MzBkYTEyZmUwMjI4N2U5ZTc3N2FhM2ZiYTFjMzU1YjE3YTcyMmQzNjJmODQ2MTRmYmEiLCJlMzhkYTc2ZGNkNDQwNjIxOTg4ZDAwYmNmNzlhZjI1ZDViMjljMDk0ZGIyYTIzMTQ2ZDAwM2FmZDQxOTQzZTdhIl0sWyJhZjNjNDIzYTk1ZDlmNWIzMDU0NzU0ZWZhMTUwYWMzOWNkMjk1NTJmZTM2MDI1NzM2MmRmZGVjZWY0MDUzYjQ1IiwiZjk4YTNmZDgzMWViMmI3NDlhOTNiMGU2ZjM1Y2ZiNDBjOGNkNWFhNjY3YTE1NTgxYmMyZmVkZWQ0OThmZDljNiJdLFsiNzY2ZGJiMjRkMTM0ZTc0NWNjY2FhMjhjOTliZjI3NDkwNmJiNjZiMjZkY2Y5OGRmOGQyZmVkNTBkODg0MjQ5YSIsIjc0NGIxMTUyZWFjYmU1ZTM4ZGNjODg3OTgwZGEzOGI4OTc1ODRhNjVmYTA2Y2VkZDJjOTI0Zjk3Y2JhYzU5OTYiXSxbIjU5ZGJmNDZmOGM5NDc1OWJhMjEyNzdjMzM3ODRmNDE2NDVmN2I0NGY2YzU5NmE1OGNlOTJlNjY2MTkxYWJlM2UiLCJjNTM0YWQ0NDE3NWZiYzMwMGY0ZWE2Y2U2NDgzMDlhMDQyY2U3MzlhNzkxOTc5OGNkODVlMjE2YzRhMzA3ZjZlIl0sWyJmMTNhZGE5NTEwM2M0NTM3MzA1ZTY5MWU3NGU5YTRhOGRkNjQ3ZTcxMWE5NWU3M2NiNjJkYzYwMThjZmQ4N2I4IiwiZTEzODE3YjQ0ZWUxNGRlNjYzYmY0YmM4MDgzNDFmMzI2OTQ5ZTIxYTZhNzVjMjU3MDc3ODQxOWJkYWY1NzMzZCJdLFsiNzc1NGI0ZmEwZThhY2VkMDZkNDE2N2EyYzU5Y2NhNGNkYTE4NjljMDZlYmFkZmI2NDg4NTUwMDE1YTg4NTIyYyIsIjMwZTkzZTg2NGU2NjlkODIyMjRiOTY3YzMwMjBiOGZhOGQxZTRlMzUwYjZjYmNjNTM3YTQ4YjU3ODQxMTYzYTIiXSxbIjk0OGRjYWRmNTk5MGUwNDhhYTM4NzRkNDZhYmVmOWQ3MDE4NThmOTVkZTgwNDFkMmE2ODI4Yzk5ZTIyNjI1MTkiLCJlNDkxYTQyNTM3ZjZlNTk3ZDVkMjhhMzIyNGIxYmMyNWRmOTE1NGVmYmQyZWYxZDJjYmJhMmNhZTUzNDdkNTdlIl0sWyI3OTYyNDE0NDUwYzc2YzE2ODljN2I0OGY4MjAyZWMzN2ZiMjI0Y2Y1YWMwYmZhMTU3MDMyOGE4YTNkN2M3N2FiIiwiMTAwYjYxMGVjNGZmYjQ3NjBkNWMxZmMxMzNlZjZmNmIxMjUwN2EwNTFmMDRhYzU3NjBhZmE1YjI5ZGI4MzQzNyJdLFsiMzUxNDA4NzgzNDk2NGI1NGIxNWIxNjA2NDRkOTE1NDg1YTE2OTc3MjI1Yjg4NDdiYjBkZDA4NTEzN2VjNDdjYSIsImVmMGFmYmIyMDU2MjA1NDQ4ZTE2NTJjNDhlODEyN2ZjNjAzOWU3N2MxNWMyMzc4YjdlN2QxNWEwZGUyOTMzMTEiXSxbImQzY2MzMGFkNmI0ODNlNGJjNzljZTJjOWRkOGJjNTQ5OTNlOTQ3ZWI4ZGY3ODdiNDQyOTQzZDNmN2I1MjdlYWYiLCI4YjM3OGEyMmQ4MjcyNzhkODljNWU5YmU4Zjk1MDhhZTNjMmFkNDYyOTAzNTg2MzBhZmIzNGRiMDRlZWRlMGE0Il0sWyIxNjI0ZDg0NzgwNzMyODYwY2UxYzc4ZmNiZmVmZTA4YjJiMjk4MjNkYjkxM2Y2NDkzOTc1YmEwZmY0ODQ3NjEwIiwiNjg2NTFjZjliNmRhOTAzZTA5MTQ0NDhjNmNkOWQ0Y2E4OTY4NzhmNTI4MmJlNGM4Y2MwNmUyYTQwNDA3ODU3NSJdLFsiNzMzY2U4MGRhOTU1YThhMjY5MDJjOTU2MzNlNjJhOTg1MTkyNDc0YjVhZjIwN2RhNmRmN2I0ZmQ1ZmM2MWNkNCIsImY1NDM1YTJiZDJiYWRmN2Q0ODVhNGQ4YjhkYjlmY2NlM2UxZWY4ZTAyMDFlNDU3OGM1NDY3M2JjMWRjNWVhMWQiXSxbIjE1ZDk0NDEyNTQ5NDUwNjRjZjFhMWMzM2JiZDNiNDlmODk2NmM1MDkyMTcxZTY5OWVmMjU4ZGZhYjgxYzA0NWMiLCJkNTZlYjMwYjY5NDYzZTcyMzRmNTEzN2I3M2I4NDE3NzQzNDgwMGJhY2ViZmM2ODVmYzM3YmJlOWVmZTQwNzBkIl0sWyJhMWQwZmNmMmVjOWRlNjc1YjYxMjEzNmU1Y2U3MGQyNzFjMjE0MTdjOWQyYjhhYWFhYzEzODU5OWQwNzE3OTQwIiwiZWRkNzdmNTBiY2I1YTNjYWIyZTkwNzM3MzA5NjY3ZjI2NDE0NjJhNTQwNzBmM2Q1MTkyMTJkMzljMTk3YTYyOSJdLFsiZTIyZmJlMTVjMGFmOGNjYzU3ODBjMDczNWY4NGRiZTlhNzkwYmFkZWU4MjQ1YzA2YzdjYTM3MzMxY2IzNjk4MCIsImE4NTViYWJhZDVjZDYwYzg4YjQzMGE2OWY1M2ExYTdhMzgyODkxNTQ5NjQ3OTliZTQzZDA2ZDc3ZDMxZGEwNiJdLFsiMzExMDkxZGQ5ODYwZThlMjBlZTEzNDczYzExNTVmNWY2OTYzNWUzOTQ3MDRlYWE3NDAwOTQ1MjI0NmNmYTliMyIsIjY2ZGI2NTZmODdkMWYwNGZmZmQxZjA0Nzg4YzA2ODMwODcxZWM1YTY0ZmVlZTY4NWJkODBmMGIxMjg2ZDgzNzQiXSxbIjM0YzFmZDA0ZDMwMWJlODliMzFjMDQ0MmQzZTZhYzI0ODgzOTI4YjQ1YTkzNDA3ODE4NjdkNDIzMmVjMmRiZGYiLCI5NDE0Njg1ZTk3YjFiNTk1NGJkNDZmNzMwMTc0MTM2ZDU3ZjFjZWViNDg3NDQzZGM1MzIxODU3YmE3M2FiZWUiXSxbImYyMTllYTVkNmI1NDcwMWMxYzE0ZGU1YjU1N2ViNDJhOGQxM2YzYWJiY2QwOGFmZmNjMmE1ZTZiMDQ5YjhkNjMiLCI0Y2I5NTk1N2U4M2Q0MGIwZjczYWY0NTQ0Y2NjZjZiMWY0YjA4ZDNjMDdiMjdmYjhkOGMyOTYyYTQwMDc2NmQxIl0sWyJkN2I4NzQwZjc0YThmYmFhYjFmNjgzZGI4ZjQ1ZGUyNjU0M2E1NDkwYmNhNjI3MDg3MjM2OTEyNDY5YTBiNDQ4IiwiZmE3Nzk2ODEyOGQ5YzkyZWUxMDEwZjMzN2FkNDcxN2VmZjE1ZGI1ZWQzYzA0OWIzNDExZTAzMTVlYWE0NTkzYiJdLFsiMzJkMzFjMjIyZjhmNmYwZWY4NmY3Yzk4ZDNhMzMzNWVhZDViY2QzMmFiZGQ5NDI4OWZlNGQzMDkxYWE4MjRiZiIsIjVmMzAzMmY1ODkyMTU2ZTM5Y2NkM2Q3OTE1YjllMWRhMmU2ZGFjOWU2ZjI2ZTk2MTExOGQxNGI4NDYyZTE2NjEiXSxbIjc0NjFmMzcxOTE0YWIzMjY3MTA0NWExNTVkOTgzMWVhODc5M2Q3N2NkNTk1OTJjNDM0MGY4NmNiYzE4MzQ3YjUiLCI4ZWMwYmEyMzhiOTZiZWMwY2JkZGRjYWUwYWE0NDI1NDJlZWUxZmY1MGM5ODZlYTZiMzk4NDdiM2NjMDkyZmY2Il0sWyJlZTA3OWFkYjFkZjE4NjAwNzQzNTZhMjVhYTM4MjA2YTZkNzE2YjJjM2U2NzQ1M2QyODc2OThiYWQ3YjJiMmQ2IiwiOGRjMjQxMmFhZmUzYmU1YzRjNWYzN2UwZWNjNWY5ZjZhNDQ2OTg5YWYwNGM0ZTI1ZWJhYWM0NzllYzFjOGMxZSJdLFsiMTZlYzkzZTQ0N2VjODNmMDQ2N2IxODMwMmVlNjIwZjdlNjVkZTMzMTg3NGM5ZGM3MmJmZDg2MTZiYTlkYTZiNSIsIjVlNDYzMTE1MGU2MmZiNDBkMGU4YzJhN2NhNTgwNGEzOWQ1ODE4NmE1MGU0OTcxMzk2MjY3NzhlMjViMDY3NGQiXSxbImVhYTVmOTgwYzI0NWY2ZjAzODk3ODI5MGFmYTcwYjZiZDg4NTU4OTdmOThiNmFhNDg1Yjk2MDY1ZDUzN2JkOTkiLCJmNjVmNWQzZTI5MmMyZTA4MTlhNTI4MzkxYzk5NDYyNGQ3ODQ4NjlkN2U2ZWE2N2ZiMTgwNDEwMjRlZGMwN2RjIl0sWyI3OGM5NDA3NTQ0YWMxMzI2OTJlZTE5MTBhMDI0Mzk5NThhZTA0ODc3MTUxMzQyZWE5NmM0YjZiMzVhNDlmNTEiLCJmM2UwMzE5MTY5ZWI5Yjg1ZDU0MDQ3OTU1MzlhNWU2OGZhMWZiZDU4M2MwNjRkMjQ2MmI2NzVmMTk0YTNkZGI0Il0sWyI0OTRmNGJlMjE5YTFhNzcwMTZkY2Q4Mzg0MzFhZWEwMDAxY2RjOGFlN2E2ZmM2ODg3MjY1NzhkOTcwMjg1N2E1IiwiNDIyNDJhOTY5MjgzYTVmMzM5YmE3ZjA3NWUzNmJhMmFmOTI1Y2UzMGQ3NjdlZDZlNTVmNGIwMzE4ODBkNTYyYyJdLFsiYTU5OGE4MDMwZGE2ZDg2YzZiYzdmMmY1MTQ0ZWE1NDlkMjgyMTFlYTU4ZmFhNzBlYmY0YzFlNjY1YzFmZTliNSIsIjIwNGI1ZDZmODQ4MjJjMzA3ZTRiNGE3MTQwNzM3YWVjMjNmYzYzYjY1YjM1Zjg2YTEwMDI2ZGJkMmQ4NjRlNmIiXSxbImM0MTkxNjM2NWFiYjJiNWQwOTE5MmY1ZjJkYmVhZmVjMjA4ZjAyMGYxMjU3MGExODRkYmFkYzNlNTg1OTU5OTciLCI0ZjE0MzUxZDAwODdlZmE0OWQyNDViMzI4OTg0OTg5ZDVjYWY5NDUwZjM0YmZjMGVkMTZlOTZiNThmYTk5MTMiXSxbIjg0MWQ2MDYzYTU4NmZhNDc1YTcyNDYwNGRhMDNiYzViOTJhMmUwZDJlMGEzNmFjZmU0YzczYTU1MTQ3NDI4ODEiLCI3Mzg2N2Y1OWMwNjU5ZTgxOTA0ZjlhMWM3NTQzNjk4ZTYyNTYyZDY3NDRjMTY5Y2U3YTM2ZGUwMWE4ZDYxNTQiXSxbIjVlOTViYjM5OWE2OTcxZDM3NjAyNjk0N2Y4OWJkZTJmMjgyYjMzODEwOTI4YmU0ZGVkMTEyYWM0ZDcwZTIwZDUiLCIzOWYyM2YzNjY4MDkwODViZWViZmM3MTE4MTMxMzc3NWE5OWM5YWVkN2Q4YmEzOGIxNjEzODRjNzQ2MDEyODY1Il0sWyIzNmU0NjQxYTUzOTQ4ZmQ0NzZjMzlmOGE5OWZkOTc0ZTVlYzA3NTY0YjUzMTVkOGJmOTk0NzFiY2EwZWYyZjY2IiwiZDI0MjRiMWIxYWJlNGViODE2NDIyN2IwODVjOWFhOTQ1NmVhMTM0OTNmZDU2M2UwNmZkNTFjZjU2OTRjNzhmYyJdLFsiMzM2NTgxZWE3YmZiYmIyOTBjMTkxYTJmNTA3YTQxY2Y1NjQzODQyMTcwZTkxNGZhZWFiMjdjMmM1NzlmNzI2IiwiZWFkMTIxNjg1OTVmZTFiZTk5MjUyMTI5YjZlNTZiMzM5MWY3YWIxNDEwY2QxZTBlZjNkY2RjYWJkMmZkYTIyNCJdLFsiOGFiODk4MTZkYWRmZDZiNmExZjI2MzRmY2YwMGVjODQwMzc4MTAyNWVkNjg5MGM0ODQ5NzQyNzA2YmQ0M2VkZSIsIjZmZGNlZjA5ZjJmNmQwYTA0NGU2NTRhZWY2MjQxMzZmNTAzZDQ1OWMzZTg5ODQ1ODU4YTQ3YTkxMjljZGQyNGUiXSxbIjFlMzNmMWE3NDZjOWM1Nzc4MTMzMzQ0ZDkyOTlmY2FhMjBiMDkzOGU4YWNmZjI1NDRiYjQwMjg0YjhjNWZiOTQiLCI2MDY2MDI1N2RkMTFiM2FhOWM4ZWQ2MThkMjRlZGZmMjMwNmQzMjBmMWQwMzAxMGUzM2E3ZDIwNTdmM2IzYjYiXSxbIjg1YjdjMWRjYjNjZWMxYjdlZTdmMzBkZWQ3OWRkMjBhMGVkMWY0Y2MxOGNiY2ZjZmE0MTAzNjFmZDhmMDhmMzEiLCIzZDk4YTljZGQwMjZkZDQzZjM5MDQ4ZjI1YTg4NDdmNGZjYWZhZDE4OTVkN2E2MzNjNmZlZDNjMzVlOTk5NTExIl0sWyIyOWRmOWZiZDhkOWU0NjUwOTI3NWY0YjEyNWQ2ZDQ1ZDdmYmU5YTNiODc4YTdhZjg3MmEyODAwNjYxYWM1ZjUxIiwiYjRjNGZlOTljNzc1YTYwNmUyZDg4NjIxNzkxMzlmZmRhNjFkYzg2MWMwMTllNTVjZDI4NzZlYjJhMjdkODRiIl0sWyJhMGIxY2FlMDZiMGE4NDdhM2ZlYTZlNjcxYWFmOGFkZmRmZTU4Y2EyZjc2ODEwNWM4MDgyYjJlNDQ5ZmNlMjUyIiwiYWU0MzQxMDJlZGRlMDk1OGVjNGIxOWQ5MTdhNmEyOGU2YjcyZGExODM0YWZmMGU2NTBmMDQ5NTAzYTI5NmNmMiJdLFsiNGU4Y2VhZmI5YjNlOWExMzZkYzdmZjY3ZTg0MDI5NWI0OTlkZmIzYjIxMzNlNGJhMTEzZjJlNGMwZTEyMWU1IiwiY2YyMTc0MTE4YzhiNmQ3YTRiNDhmNmQ1MzRjZTVjNzk0MjJjMDg2YTYzNDYwNTAyYjgyN2NlNjJhMzI2NjgzYyJdLFsiZDI0YTQ0ZTA0N2UxOWI2ZjVhZmI4MWM3Y2EyZjY5MDgwYTUwNzY2ODlhMDEwOTE5ZjQyNzI1YzJiNzg5YTMzYiIsIjZmYjhkNTU5MWI0NjZmOGZjNjNkYjUwZjFjMGYxYzY5MDEzZjk5Njg4N2I4MjQ0ZDJjZGVjNDE3YWZlYThmYTMiXSxbImVhMDE2MDZhN2E2YzljZGQyNDlmZGZjZmFjYjk5NTg0MDAxZWRkMjhhYmJhYjc3YjUxMDRlOThlOGUzYjM1ZDQiLCIzMjJhZjQ5MDhjNzMxMmIwY2ZiZmUzNjlmN2E3YjNjZGI3ZDQ0OTRiYzI4MjM3MDBjZmQ2NTIxODhhM2VhOThkIl0sWyJhZjhhZGRiZjJiNjYxYzhhNmM2MzI4NjU1ZWI5NjY1MTI1MjAwN2Q4YzVlYTMxYmU0YWQxOTZkZThjZTIxMzFmIiwiNjc0OWU2N2MwMjliODVmNTJhMDM0ZWFmZDA5NjgzNmIyNTIwODE4NjgwZTI2YWM4ZjNkZmJjZGI3MTc0OTcwMCJdLFsiZTNhZTE5NzQ1NjZjYTA2Y2M1MTZkNDdlMGZiMTY1YTY3NGEzZGFiY2ZjYTE1ZTcyMmYwZTM0NTBmNDU4ODkiLCIyYWVhYmU3ZTQ1MzE1MTAxMTYyMTdmMDdiZjRkMDczMDBkZTk3ZTQ4NzRmODFmNTMzNDIwYTcyZWViMGJkNmE0Il0sWyI1OTFlZTM1NTMxM2Q5OTcyMWNmNjk5M2ZmZWQxZTNlMzAxOTkzZmYzZWQyNTg4MDIwNzVlYThjZWQzOTdlMjQ2IiwiYjBlYTU1OGExMTNjMzBiZWE2MGZjNDc3NTQ2MGM3OTAxZmYwYjA1M2QyNWNhMmJkZWVlOThmMWE0YmU1ZDE5NiJdLFsiMTEzOTZkNTVmZGE1NGM0OWYxOWFhOTczMThkOGRhNjFmYTg1ODRlNDdiMDg0OTQ1MDc3Y2YwMzI1NWI1Mjk4NCIsIjk5OGM3NGE4Y2Q0NWFjMDEyODlkNTgzM2E3YmViNDc0NGZmNTM2YjAxYjI1N2JlNGM1NzY3YmVhOTNlYTU3YTQiXSxbIjNjNWQyYTFiYTM5YzVhMTc5MDAwMDczOGM5ZTBjNDBiOGRjZGZkNTQ2ODc1NGI2NDA1NTQwMTU3ZTAxN2FhN2EiLCJiMjI4NDI3OTk5NWEzNGUyZjlkNGRlNzM5NmZjMThiODBmOWI4YjlmZGQyNzBmNjY2MWY3OWNhNGM4MWJkMjU3Il0sWyJjYzg3MDRiOGE2MGEwZGVmYTNhOTlhNzI5OWYyZTljM2ZiYzM5NWFmYjA0YWMwNzg0MjVlZjhhMTc5M2NjMDMwIiwiYmRkNDYwMzlmZWVkMTc4ODFkMWUwODYyZGIzNDdmOGNmMzk1Yjc0ZmM0YmNkYzRlOTQwYjc0ZTNhYzFmMWIxMyJdLFsiYzUzM2U0ZjdlYTg1NTVhYWNkOTc3N2FjNWNhZDI5Yjk3ZGQ0ZGVmY2NjNTNlZTdlYTIwNDExOWIyODg5YjE5NyIsIjZmMGEyNTZiYzVlZmRmNDI5YTJmYjYyNDJmMWE0M2EyZDliOTI1YmI0YTRiM2EyNmJiOGUwZjQ1ZWI1OTYwOTYiXSxbImMxNGY4ZjJjY2IyN2Q2ZjEwOWY2ZDA4ZDAzY2M5NmE2OWJhOGMzNGVlYzA3YmJjZjU2NmQ0OGUzM2RhNjU5MyIsImMzNTlkNjkyM2JiMzk4ZjdmZDQ0NzNlMTZmZTFjMjg0NzViNzQwZGQwOTgwNzVlNmMwZTg2NDkxMTNkYzNhMzgiXSxbImE2Y2JjMzA0NmJjNmE0NTBiYWMyNDc4OWZhMTcxMTVhNGM5NzM5ZWQ3NWY4ZjIxY2U0NDFmNzJlMGI5MGU2ZWYiLCIyMWFlN2Y0NjgwZTg4OWJiMTMwNjE5ZTJjMGY5NWEzNjBjZWI1NzNjNzA2MDMxMzk4NjJhZmQ2MTdmYTliOWYiXSxbIjM0N2Q2ZDlhMDJjNDg5MjdlYmZiODZjMTM1OWIxY2FmMTMwYTNjMDI2N2QxMWNlNjM0NGIzOWY5OWQ0M2NjMzgiLCI2MGVhN2Y2MWEzNTM1MjRkMWM5ODdmNmVjZWM5MmYwODZkNTY1YWI2ODc4NzBjYjEyNjg5ZmYxZTMxYzc0NDQ4Il0sWyJkYTY1NDVkMjE4MWRiOGQ5ODNmN2RjYjM3NWVmNTg2NmQ0N2M2N2IxYmYzMWM4Y2Y4NTVlZjc0MzdiNzI2NTZhIiwiNDliOTY3MTVhYjY4NzhhNzllNzhmMDdjZTU2ODBjNWQ2NjczMDUxYjQ5MzViZDg5N2ZlYTgyNGI3N2RjMjA4YSJdLFsiYzQwNzQ3Y2M5ZDAxMmNiMWExM2I4MTQ4MzA5YzZkZTdlYzI1ZDY5NDVkNjU3MTQ2YjlkNTk5NGI4ZmViMTExMSIsIjVjYTU2MDc1M2JlMmExMmZjNmRlNmNhZjJjYjQ4OTU2NWRiOTM2MTU2Yjk1MTRlMWJiNWU4MzAzN2UwZmEyZDQiXSxbIjRlNDJjOGVjODJjOTk3OThjY2YzYTYxMGJlODcwZTc4MzM4YzdmNzEzMzQ4YmQzNGM4MjAzZWY0MDM3ZjM1MDIiLCI3NTcxZDc0ZWU1ZTBmYjkyYTdhOGIzM2EwNzc4MzM0MWE1NDkyMTQ0Y2M1NGJjYzQwYTk0NDczNjkzNjA2NDM3Il0sWyIzNzc1YWI3MDg5YmM2YWY4MjNhYmEyZTFhZjcwYjIzNmQyNTFjYWRiMGM4Njc0MzI4NzUyMmExYjNiMGRlZGVhIiwiYmU1MmQxMDdiY2ZhMDlkOGJjYjk3MzZhODI4Y2ZhN2ZhYzhkYjE3YmY3YTc2YTJjNDJhZDk2MTQwOTAxOGNmNyJdLFsiY2VlMzFjYmY3ZTM0ZWMzNzlkOTRmYjgxNGQzZDc3NWFkOTU0NTk1ZDEzMTRiYTg4NDY5NTllM2U4MmY3NGUyNiIsIjhmZDY0YTE0YzA2YjU4OWMyNmI5NDdhZTJiY2Y2YmZhMDE0OWVmMGJlMTRlZDRkODBmNDQ4YTAxYzQzYjFjNmQiXSxbImI0ZjllYWVhMDliNjkxNzYxOWY2ZWE2YTRlYjU0NjRlZmRkYjU4ZmQ0NWIxZWJlZmNkYzFhMDFkMDhiNDc5ODYiLCIzOWU1Yzk5MjViNWE1NGIwNzQzM2E0ZjE4YzYxNzI2ZjhiYjEzMWMwMTJjYTU0MmViMjRhOGFjMDcyMDA2ODJhIl0sWyJkNDI2M2RmYzNkMmRmOTIzYTAxNzlhNDg5NjZkMzBjZTg0ZTI1MTVhZmMzZGNjYzFiNzc5MDc3OTJlYmNjNjBlIiwiNjJkZmFmMDdhMGY3OGZlYjMwZTMwZDYyOTU4NTNjZTE4OWUxMjc3NjBhZDZjZjdmYWUxNjRlMTIyYTIwOGQ1NCJdLFsiNDg0NTc1MjQ4MjBmYTY1YTRmOGQzNWViNjkzMDg1N2MwMDMyYWNjMGE0YTJkZTQyMjIzM2VlZGE4OTc2MTJjNCIsIjI1YTc0OGFiMzY3OTc5ZDk4NzMzYzM4YTFmYTFjMmU3ZGM2Y2MwN2RiMmQ2MGE5YWU3YTc2YWFhNDliZDBmNzciXSxbImRmZWVlZjE4ODExMDFmMmNiMTE2NDRmM2EyYWZkZmMyMDQ1ZTE5OTE5MTUyOTIzZjM2N2ExNzY3YzExY2NlZGEiLCJlY2ZiNzA1NmNmMWRlMDQyZjk0MjBiYWIzOTY3OTNjMGMzOTBiZGU3NGI0YmJkZmYxNmE4M2FlMDlhOWE3NTE3Il0sWyI2ZDdlZjZiMTc1NDNmODM3M2M1NzNmNDRlMWYzODk4MzVkODliY2JjNjA2MmNlZDM2YzgyZGY4M2I4ZmFlODU5IiwiY2Q0NTBlYzMzNTQzODk4NmRmZWZhMTBjNTdmZWE5YmNjNTIxYTA5NTliMmQ4MGJiZjc0YjE5MGRjYTcxMmQxMCJdLFsiZTc1NjA1ZDU5MTAyYTVhMjY4NDUwMGQzYjk5MWYyZTNmM2M4OGI5MzIyNTU0NzAzNWFmMjVhZjY2ZTA0NTQxZiIsImY1YzU0NzU0YThmNzFlZTU0MGI5YjQ4NzI4NDczZTMxNGY3MjlhYzUzMDhiMDY5MzgzNjA5OTBlMmJmYWQxMjUiXSxbImViOTg2NjBmNGM0ZGZhYTA2YTJiZTQ1M2Q1MDIwYmM5OWEwYzJlNjBhYmUzODg0NTdkZDQzZmVmYjFlZDYyMGMiLCI2Y2I5YTg4NzZkOWNiODUyMDYwOWFmM2FkZDI2Y2QyMGEwYTdjZDhhOTQxMTEzMWNlODVmNDQxMDAwOTkyMjNlIl0sWyIxM2U4N2IwMjdkODUxNGQzNTkzOWYyZTY4OTJiMTk5MjIxNTQ1OTY5NDE4ODgzMzZkYzM1NjNlM2I4ZGJhOTQyIiwiZmVmNWEzYzY4MDU5YTZkZWM1ZDYyNDExNGJmMWU5MWFhYzJiOWRhNTY4ZDZhYmViMjU3MGQ1NTY0NmI4YWRmMSJdLFsiZWUxNjMwMjZlOWZkNmZlMDE3YzM4ZjA2YTViZTZmYzEyNTQyNGIzNzFjZTI3MDhlN2JmNDQ5MTY5MWU1NzY0YSIsIjFhY2IyNTBmMjU1ZGQ2MWM0M2Q5NGNjYzY3MGQwZjU4ZjQ5YWUzZmExNWI5NjYyM2U1NDMwZGEwYWQ2YzYyYjIiXSxbImIyNjhmNWVmOWFkNTFlNGQ3OGRlM2E3NTBjMmRjODliMWU2MjZkNDM1MDU4Njc5OTk5MzJlNWRiMzNhZjNkODAiLCI1ZjMxMGQ0YjNjOTliOWViYjE5Zjc3ZDQxYzFkZWUwMThjZjBkMzRmZDQxOTE2MTQwMDNlOTQ1YTEyMTZlNDIzIl0sWyJmZjA3ZjMxMThhOWRmMDM1ZTlmYWQ4NWViNmM3YmZlNDJiMDJmMDFjYTk5Y2VlYTNiZjdmZmRiYTkzYzQ3NTBkIiwiNDM4MTM2ZDYwM2U4NThhM2E1YzQ0MGMzOGVjY2JhZGRjMWQyOTQyMTE0ZTJlZGRkNDc0MGQwOThjZWQxZjBkOCJdLFsiOGQ4Yjk4NTVjN2MwNTJhMzQxNDZmZDIwZmZiNjU4YmVhNGI5ZjY5ZTBkODI1ZWJlYzE2ZThjM2NlMmI1MjZhMSIsImNkYjU1OWVlZGMyZDc5ZjkyNmJhZjQ0ZmI4NGVhNGQ0NGJjZjUwZmVlNTFkN2NlYjMwZTJlN2Y0NjMwMzY3NTgiXSxbIjUyZGIwYjUzODRkZmJmMDViZmE5ZDQ3MmQ3YWUyNmRmZTRiODUxY2VjYTkxYjFlYmE1NDI2MzE4MGRhMzJiNjMiLCJjM2I5OTdkMDUwZWU1ZDQyM2ViYWY2NmE2ZGI5ZjU3YjMxODBjOTAyODc1Njc5ZGU5MjRiNjlkODRhN2IzNzUiXSxbImU2MmY5NDkwZDNkNTFkYTYzOTVlZmQyNGU4MDkxOWNjN2QwZjI5YzNmM2ZhNDhjNmZmZjU0M2JlY2JkNDMzNTIiLCI2ZDg5YWQ3YmE0ODc2YjBiMjJjMmNhMjgwYzY4Mjg2MmYzNDJjODU5MWYxZGFmNTE3MGUwN2JmZDljY2FmYTdkIl0sWyI3ZjMwZWEyNDc2YjM5OWI0OTU3NTA5Yzg4Zjc3ZDAxOTFhZmEyZmY1Y2I3YjE0ZmQ2ZDhlN2Q2NWFhYWIxMTkzIiwiY2E1ZWY3ZDRiMjMxYzk0YzNiMTUzODlhNWY2MzExZTlkYWZmN2JiNjdiMTAzZTk4ODBlZjRiZmY2MzdhY2FlYyJdLFsiNTA5OGZmMWUxZDlmMTRmYjQ2YTIxMGZhZGE2YzkwM2ZlZjBmYjdiNGExZGQxZDlhYzYwYTAzNjE4MDBiN2EwMCIsIjk3MzExNDFkODFmYzhmODA4NGQzN2M2ZTc1NDIwMDZiM2VlMWI0MGQ2MGRmZTUzNjJhNWIxMzJmZDE3ZGRjMCJdLFsiMzJiNzhjN2RlOWVlNTEyYTcyODk1YmU2YjljYmVmYTZlMmYzYzRjY2NlNDQ1Yzk2YjlmMmM4MWUyNzc4YWQ1OCIsImVlMTg0OWY1MTNkZjcxZTMyZWZjMzg5NmVlMjgyNjBjNzNiYjgwNTQ3YWUyMjc1YmE0OTcyMzc3OTRjODc1M2MiXSxbImUyY2I3NGZkZGM4ZTlmYmNkMDc2ZWVmMmE3YzcyYjBjZTM3ZDUwZjA4MjY5ZGZjMDc0YjU4MTU1MDU0N2E0ZjciLCJkM2FhMmVkNzFjOWRkMjI0N2E2MmRmMDYyNzM2ZWIwYmFkZGVhOWUzNjEyMmQyYmU4NjQxYWJjYjAwNWNjNGE0Il0sWyI4NDM4NDQ3NTY2ZDRkN2JlZGFkYzI5OTQ5NmFiMzU3NDI2MDA5YTM1ZjIzNWNiMTQxYmUwZDk5Y2QxMGFlM2E4IiwiYzRlMTAyMDkxNjk4MGE0ZGE1ZDAxYWM1ZTZhZDMzMDczNGVmMGQ3OTA2NjMxYzRmMjM5MDQyNmIyZWRkNzkxZiJdLFsiNDE2MmQ0ODhiODk0MDIwMzliNTg0YzZmYzZjMzA4ODcwNTg3ZDljNDZmNjYwYjg3OGFiNjVjODJjNzExZDY3ZSIsIjY3MTYzZTkwMzIzNjI4OWY3NzZmMjJjMjVmYjhhM2FmYzE3MzJmMmI4NGI0ZTk1ZGJkYTQ3YWU1YTA4NTI2NDkiXSxbIjNmYWQzZmE4NGNhZjBmMzRmMGY4OWJmZDJkY2Y1NGZjMTc1ZDc2N2FlYzNlNTA2ODRmM2JhNGE0YmY1ZjY4M2QiLCJjZDFiYzdjYjZjYzQwN2JiMmYwY2E2NDdjNzE4YTczMGNmNzE4NzJlN2QwZDJhNTNmYTIwZWZjZGZlNjE4MjYiXSxbIjY3NGYyNjAwYTMwMDdhMDA1NjhjMWE3Y2UwNWQwODE2YzFmYjg0YmYxMzcwNzk4ZjFjNjk1MzJmYWViMWE4NmIiLCIyOTlkMjFmOTQxM2YzM2IzZWRmNDNiMjU3MDA0NTgwYjcwZGI1N2RhMGIxODIyNTllMDllZWNjNjllMGQzOGE1Il0sWyJkMzJmNGRhNTRhZGU3NGFiYjgxYjgxNWFkMWZiM2IyNjNkODJkNmM2OTI3MTRiY2ZmODdkMjliZDVlZTlmMDhmIiwiZjk0MjllNzM4YjhlNTNiOTY4ZTk5MDE2YzA1OTcwNzc4MmUxNGY0NTM1MzU5ZDU4MmZjNDE2OTEwYjNlZWE4NyJdLFsiMzBlNGU2NzA0MzUzODU1NTZlNTkzNjU3MTM1ODQ1ZDM2ZmJiNjkzMWY3MmIwOGNiMWVkOTU0ZjFlM2NlM2ZmNiIsIjQ2MmY5YmNlNjE5ODk4NjM4NDk5MzUwMTEzYmJjOWIxMGE4NzhkMzVkYTcwNzQwZGM2OTVhNTU5ZWI4OGRiN2IiXSxbImJlMjA2MjAwM2M1MWNjMzAwNDY4MjkwNDMzMGU0ZGVlN2YzZGNkMTBiMDFlNTgwYmYxOTcxYjA0ZDRjYWQyOTciLCI2MjE4OGJjNDlkNjFlNTQyODU3M2Q0OGE3NGUxYzY1NWIxYzYxMDkwOTA1NjgyYTBkNTU1OGVkNzJkY2NiOWJjIl0sWyI5MzE0NDQyM2FjZTM0NTFlZDI5ZTBmYjlhYzJhZjIxMWNiNmU4NGE2MDFkZjU5OTNjNDE5ODU5ZmZmNWRmMDRhIiwiN2MxMGRmYjE2NGMzNDI1ZjVjNzFhM2Y5ZDc5OTIwMzhmMTA2NTIyNGY3MmJiOWQxZDkwMmE2ZDEzMDM3YjQ3YyJdLFsiYjAxNWY4MDQ0ZjVmY2JkY2YyMWNhMjZkNmMzNGZiODE5NzgyOTIwNWM3YjdkMmE3Y2I2NjQxOGMxNTdiMTEyYyIsImFiOGMxZTA4NmQwNGU4MTM3NDRhNjU1YjJkZjhkNWY4M2IzY2RjNmZhYTMwODhjMWQzYWVhMTQ1NGUzYTFkNWYiXSxbImQ1ZTllMWRhNjQ5ZDk3ZDg5ZTQ4NjgxMTdhNDY1YTNhNGY4YTE4ZGU1N2ExNDBkMzZiM2YyYWYzNDFhMjFiNTIiLCI0Y2IwNDQzN2YzOTFlZDczMTExYTEzY2MxZDRkZDBkYjE2OTM0NjVjMjI0MDQ4MGQ4OTU1ZTg1OTJmMjc0NDdhIl0sWyJkM2FlNDEwNDdkZDdjYTA2NWRiZjhlZDc3Yjk5MjQzOTk4MzAwNWNkNzJlMTZkNmY5OTZhNTMxNmQzNjk2NmJiIiwiYmQxYWViMjFhZDIyZWJiMjJhMTBmMDMwMzQxN2M2ZDk2NGY4Y2RkN2RmMGFjYTYxNGIxMGRjMTRkMTI1YWM0NiJdLFsiNDYzZTI3NjNkODg1Zjk1OGZjNjZjZGQyMjgwMGYwYTQ4NzE5N2QwYTgyZTM3N2I0OWY4MGFmODdjODk3YjA2NSIsImJmZWZhY2RiMGU1ZDBmZDdkZjNhMzExYTk0ZGUwNjJiMjZiODBjNjFmYmM5NzUwOGI3OTk5MjY3MWVmN2NhN2YiXSxbIjc5ODVmZGZkMTI3YzA1NjdjNmY1M2VjMWJiNjNlYzMxNThlNTk3YzQwYmZlNzQ3YzgzY2RkZmM5MTA2NDE5MTciLCI2MDNjMTJkYWYzZDk4NjJlZjJiMjVmZTFkZTI4OWFlZDI0ZWQyOTFlMGVjNjcwODcwM2E1YmQ1NjdmMzJlZDAzIl0sWyI3NGExYWQ2YjVmNzZlMzlkYjJkZDI0OTQxMGVhYzdmOTllNzRjNTljYjgzZDJkMGVkNWZmMTU0M2RhNzcwM2U5IiwiY2M2MTU3ZWYxOGM5YzYzY2Q2MTkzZDgzNjMxYmJlYTAwOTNlMDk2ODk0MmU4YzMzZDU3MzdmZDc5MGUwZGIwOCJdLFsiMzA2ODJhNTA3MDMzNzVmNjAyZDQxNjY2NGJhMTliN2ZjOWJhYjQyYzcyNzQ3NDYzYTcxZDA4OTZiMjJmNmRhMyIsIjU1M2UwNGY2YjAxOGI0ZmE2YzhmMzllN2YzMTFkMzE3NjI5MGQwZTBmMTljYTczZjE3NzE0ZDk5NzdhMjJmZjgiXSxbIjllMjE1OGYwZDdjMGQ1ZjI2YzM3OTFlZmVmYTc5NTk3NjU0ZTdhMmIyNDY0ZjUyYjFlZTZjMTM0Nzc2OWVmNTciLCI3MTJmY2RkMWI5MDUzZjA5MDAzYTM0ODFmYTc3NjJlOWZmZDdjOGVmMzVhMzg1MDllMmZiZjI2MjkwMDgzNzMiXSxbIjE3NmUyNjk4OWE0M2M5Y2ZlYmE0MDI5YzIwMjUzOGMyODE3MmU1NjZlM2M0ZmNlNzMyMjg1N2YzYmUzMjdkNjYiLCJlZDhjYzlkMDRiMjllYjg3N2QyNzBiNDg3OGRjNDNjMTlhZWZkMzFmNGVlZTA5ZWU3YjQ3ODM0YzFmYTRiMWMzIl0sWyI3NWQ0NmVmZWEzNzcxZTZlNjhhYmI4OWExM2FkNzQ3ZWNmMTg5MjM5M2RmYzRmMWI3MDA0Nzg4YzUwMzc0ZGE4IiwiOTg1MjM5MGE5OTUwNzY3OWZkMGI4NmZkMmIzOWE4NjhkN2VmYzIyMTUxMzQ2ZTFhM2NhNDcyNjU4NmE2YmVkOCJdLFsiODA5YTIwYzY3ZDY0OTAwZmZiNjk4YzRjODI1ZjZkNWYyMzEwZmIwNDUxYzg2OTM0NWI3MzE5ZjY0NTYwNTcyMSIsIjllOTk0OTgwZDk5MTdlMjJiNzZiMDYxOTI3ZmEwNDE0M2QwOTZjY2M1NDk2M2U2YTVlYmZhNWYzZjhlMjg2YzEiXSxbIjFiMzg5MDNhNDNmN2YxMTRlZDQ1MDBiNGVhYzcwODNmZGVmZWNlMWNmMjljNjM1MjhkNTYzNDQ2Zjk3MmMxODAiLCI0MDM2ZWRjOTMxYTYwYWU4ODkzNTNmNzdmZDUzZGU0YTI3MDhiMjZiNmY1ZGE3MmFkMzM5NDExOWRhZjQwOGY5Il1dfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigxNiksaT1yKDI1OCksbz1yKDExKSxzPXIoNTkpLGE9cigxMjEpLHU9by5hc3NlcnQsYz1yKDI1OSksZj1yKDI2MCk7ZnVuY3Rpb24gaCh0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBoKSlyZXR1cm4gbmV3IGgodCk7InN0cmluZyI9PXR5cGVvZiB0JiYodShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocyx0KSwiVW5rbm93biBjdXJ2ZSAiK3QpLHQ9c1t0XSksdCBpbnN0YW5jZW9mIHMuUHJlc2V0Q3VydmUmJih0PXtjdXJ2ZTp0fSksdGhpcy5jdXJ2ZT10LmN1cnZlLmN1cnZlLHRoaXMubj10aGlzLmN1cnZlLm4sdGhpcy5uaD10aGlzLm4udXNocm4oMSksdGhpcy5nPXRoaXMuY3VydmUuZyx0aGlzLmc9dC5jdXJ2ZS5nLHRoaXMuZy5wcmVjb21wdXRlKHQuY3VydmUubi5iaXRMZW5ndGgoKSsxKSx0aGlzLmhhc2g9dC5oYXNofHx0LmN1cnZlLmhhc2h9dC5leHBvcnRzPWgsaC5wcm90b3R5cGUua2V5UGFpcj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGModGhpcyx0KX0saC5wcm90b3R5cGUua2V5RnJvbVByaXZhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYy5mcm9tUHJpdmF0ZSh0aGlzLHQsZSl9LGgucHJvdG90eXBlLmtleUZyb21QdWJsaWM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYy5mcm9tUHVibGljKHRoaXMsdCxlKX0saC5wcm90b3R5cGUuZ2VuS2V5UGFpcj1mdW5jdGlvbih0KXt0fHwodD17fSk7Zm9yKHZhciBlPW5ldyBpKHtoYXNoOnRoaXMuaGFzaCxwZXJzOnQucGVycyxwZXJzRW5jOnQucGVyc0VuY3x8InV0ZjgiLGVudHJvcHk6dC5lbnRyb3B5fHxhKHRoaXMuaGFzaC5obWFjU3RyZW5ndGgpLGVudHJvcHlFbmM6dC5lbnRyb3B5JiZ0LmVudHJvcHlFbmN8fCJ1dGY4Iixub25jZTp0aGlzLm4udG9BcnJheSgpfSkscj10aGlzLm4uYnl0ZUxlbmd0aCgpLG89dGhpcy5uLnN1YihuZXcgbigyKSk7Oyl7dmFyIHM9bmV3IG4oZS5nZW5lcmF0ZShyKSk7aWYoIShzLmNtcChvKT4wKSlyZXR1cm4gcy5pYWRkbigxKSx0aGlzLmtleUZyb21Qcml2YXRlKHMpfX0saC5wcm90b3R5cGUuX3RydW5jYXRlVG9OPWZ1bmN0aW9uKHQsZSl7dmFyIHI9OCp0LmJ5dGVMZW5ndGgoKS10aGlzLm4uYml0TGVuZ3RoKCk7cmV0dXJuIHI+MCYmKHQ9dC51c2hybihyKSksIWUmJnQuY21wKHRoaXMubik+PTA/dC5zdWIodGhpcy5uKTp0fSxoLnByb3RvdHlwZS5zaWduPWZ1bmN0aW9uKHQsZSxyLG8peyJvYmplY3QiPT10eXBlb2YgciYmKG89cixyPW51bGwpLG98fChvPXt9KSxlPXRoaXMua2V5RnJvbVByaXZhdGUoZSxyKSx0PXRoaXMuX3RydW5jYXRlVG9OKG5ldyBuKHQsMTYpKTtmb3IodmFyIHM9dGhpcy5uLmJ5dGVMZW5ndGgoKSxhPWUuZ2V0UHJpdmF0ZSgpLnRvQXJyYXkoImJlIixzKSx1PXQudG9BcnJheSgiYmUiLHMpLGM9bmV3IGkoe2hhc2g6dGhpcy5oYXNoLGVudHJvcHk6YSxub25jZTp1LHBlcnM6by5wZXJzLHBlcnNFbmM6by5wZXJzRW5jfHwidXRmOCJ9KSxoPXRoaXMubi5zdWIobmV3IG4oMSkpLGw9MDs7bCsrKXt2YXIgZD1vLms/by5rKGwpOm5ldyBuKGMuZ2VuZXJhdGUodGhpcy5uLmJ5dGVMZW5ndGgoKSkpO2lmKCEoKGQ9dGhpcy5fdHJ1bmNhdGVUb04oZCwhMCkpLmNtcG4oMSk8PTB8fGQuY21wKGgpPj0wKSl7dmFyIHA9dGhpcy5nLm11bChkKTtpZighcC5pc0luZmluaXR5KCkpe3ZhciBtPXAuZ2V0WCgpLGc9bS51bW9kKHRoaXMubik7aWYoMCE9PWcuY21wbigwKSl7dmFyIGI9ZC5pbnZtKHRoaXMubikubXVsKGcubXVsKGUuZ2V0UHJpdmF0ZSgpKS5pYWRkKHQpKTtpZigwIT09KGI9Yi51bW9kKHRoaXMubikpLmNtcG4oMCkpe3ZhciB5PShwLmdldFkoKS5pc09kZCgpPzE6MCl8KDAhPT1tLmNtcChnKT8yOjApO3JldHVybiBvLmNhbm9uaWNhbCYmYi5jbXAodGhpcy5uaCk+MCYmKGI9dGhpcy5uLnN1YihiKSx5Xj0xKSxuZXcgZih7cjpnLHM6YixyZWNvdmVyeVBhcmFtOnl9KX19fX19fSxoLnByb3RvdHlwZS52ZXJpZnk9ZnVuY3Rpb24odCxlLHIsaSl7dD10aGlzLl90cnVuY2F0ZVRvTihuZXcgbih0LDE2KSkscj10aGlzLmtleUZyb21QdWJsaWMocixpKTt2YXIgbz0oZT1uZXcgZihlLCJoZXgiKSkucixzPWUucztpZihvLmNtcG4oMSk8MHx8by5jbXAodGhpcy5uKT49MClyZXR1cm4hMTtpZihzLmNtcG4oMSk8MHx8cy5jbXAodGhpcy5uKT49MClyZXR1cm4hMTt2YXIgYSx1PXMuaW52bSh0aGlzLm4pLGM9dS5tdWwodCkudW1vZCh0aGlzLm4pLGg9dS5tdWwobykudW1vZCh0aGlzLm4pO3JldHVybiB0aGlzLmN1cnZlLl9tYXh3ZWxsVHJpY2s/IShhPXRoaXMuZy5qbXVsQWRkKGMsci5nZXRQdWJsaWMoKSxoKSkuaXNJbmZpbml0eSgpJiZhLmVxWFRvUChvKTohKGE9dGhpcy5nLm11bEFkZChjLHIuZ2V0UHVibGljKCksaCkpLmlzSW5maW5pdHkoKSYmMD09PWEuZ2V0WCgpLnVtb2QodGhpcy5uKS5jbXAobyl9LGgucHJvdG90eXBlLnJlY292ZXJQdWJLZXk9ZnVuY3Rpb24odCxlLHIsaSl7dSgoMyZyKT09PXIsIlRoZSByZWNvdmVyeSBwYXJhbSBpcyBtb3JlIHRoYW4gdHdvIGJpdHMiKSxlPW5ldyBmKGUsaSk7dmFyIG89dGhpcy5uLHM9bmV3IG4odCksYT1lLnIsYz1lLnMsaD0xJnIsbD1yPj4xO2lmKGEuY21wKHRoaXMuY3VydmUucC51bW9kKHRoaXMuY3VydmUubikpPj0wJiZsKXRocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIGZpbmQgc2VuY29uZCBrZXkgY2FuZGluYXRlIik7YT1sP3RoaXMuY3VydmUucG9pbnRGcm9tWChhLmFkZCh0aGlzLmN1cnZlLm4pLGgpOnRoaXMuY3VydmUucG9pbnRGcm9tWChhLGgpO3ZhciBkPWUuci5pbnZtKG8pLHA9by5zdWIocykubXVsKGQpLnVtb2QobyksbT1jLm11bChkKS51bW9kKG8pO3JldHVybiB0aGlzLmcubXVsQWRkKHAsYSxtKX0saC5wcm90b3R5cGUuZ2V0S2V5UmVjb3ZlcnlQYXJhbT1mdW5jdGlvbih0LGUscixuKXtpZihudWxsIT09KGU9bmV3IGYoZSxuKSkucmVjb3ZlcnlQYXJhbSlyZXR1cm4gZS5yZWNvdmVyeVBhcmFtO2Zvcih2YXIgaT0wO2k8NDtpKyspe3ZhciBvO3RyeXtvPXRoaXMucmVjb3ZlclB1YktleSh0LGUsaSl9Y2F0Y2godCl7Y29udGludWV9aWYoby5lcShyKSlyZXR1cm4gaX10aHJvdyBuZXcgRXJyb3IoIlVuYWJsZSB0byBmaW5kIHZhbGlkIHJlY292ZXJ5IGZhY3RvciIpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDYwKSxpPXIoMTIwKSxvPXIoMjIpO2Z1bmN0aW9uIHModCl7aWYoISh0aGlzIGluc3RhbmNlb2YgcykpcmV0dXJuIG5ldyBzKHQpO3RoaXMuaGFzaD10Lmhhc2gsdGhpcy5wcmVkUmVzaXN0PSEhdC5wcmVkUmVzaXN0LHRoaXMub3V0TGVuPXRoaXMuaGFzaC5vdXRTaXplLHRoaXMubWluRW50cm9weT10Lm1pbkVudHJvcHl8fHRoaXMuaGFzaC5obWFjU3RyZW5ndGgsdGhpcy5fcmVzZWVkPW51bGwsdGhpcy5yZXNlZWRJbnRlcnZhbD1udWxsLHRoaXMuSz1udWxsLHRoaXMuVj1udWxsO3ZhciBlPWkudG9BcnJheSh0LmVudHJvcHksdC5lbnRyb3B5RW5jfHwiaGV4Iikscj1pLnRvQXJyYXkodC5ub25jZSx0Lm5vbmNlRW5jfHwiaGV4Iiksbj1pLnRvQXJyYXkodC5wZXJzLHQucGVyc0VuY3x8ImhleCIpO28oZS5sZW5ndGg+PXRoaXMubWluRW50cm9weS84LCJOb3QgZW5vdWdoIGVudHJvcHkuIE1pbmltdW0gaXM6ICIrdGhpcy5taW5FbnRyb3B5KyIgYml0cyIpLHRoaXMuX2luaXQoZSxyLG4pfXQuZXhwb3J0cz1zLHMucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmNvbmNhdChlKS5jb25jYXQocik7dGhpcy5LPW5ldyBBcnJheSh0aGlzLm91dExlbi84KSx0aGlzLlY9bmV3IEFycmF5KHRoaXMub3V0TGVuLzgpO2Zvcih2YXIgaT0wO2k8dGhpcy5WLmxlbmd0aDtpKyspdGhpcy5LW2ldPTAsdGhpcy5WW2ldPTE7dGhpcy5fdXBkYXRlKG4pLHRoaXMuX3Jlc2VlZD0xLHRoaXMucmVzZWVkSW50ZXJ2YWw9MjgxNDc0OTc2NzEwNjU2fSxzLnByb3RvdHlwZS5faG1hYz1mdW5jdGlvbigpe3JldHVybiBuZXcgbi5obWFjKHRoaXMuaGFzaCx0aGlzLkspfSxzLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS51cGRhdGUoWzBdKTt0JiYoZT1lLnVwZGF0ZSh0KSksdGhpcy5LPWUuZGlnZXN0KCksdGhpcy5WPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKSx0JiYodGhpcy5LPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS51cGRhdGUoWzFdKS51cGRhdGUodCkuZGlnZXN0KCksdGhpcy5WPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKSl9LHMucHJvdG90eXBlLnJlc2VlZD1mdW5jdGlvbih0LGUscixuKXsic3RyaW5nIiE9dHlwZW9mIGUmJihuPXIscj1lLGU9bnVsbCksdD1pLnRvQXJyYXkodCxlKSxyPWkudG9BcnJheShyLG4pLG8odC5sZW5ndGg+PXRoaXMubWluRW50cm9weS84LCJOb3QgZW5vdWdoIGVudHJvcHkuIE1pbmltdW0gaXM6ICIrdGhpcy5taW5FbnRyb3B5KyIgYml0cyIpLHRoaXMuX3VwZGF0ZSh0LmNvbmNhdChyfHxbXSkpLHRoaXMuX3Jlc2VlZD0xfSxzLnByb3RvdHlwZS5nZW5lcmF0ZT1mdW5jdGlvbih0LGUscixuKXtpZih0aGlzLl9yZXNlZWQ+dGhpcy5yZXNlZWRJbnRlcnZhbCl0aHJvdyBuZXcgRXJyb3IoIlJlc2VlZCBpcyByZXF1aXJlZCIpOyJzdHJpbmciIT10eXBlb2YgZSYmKG49cixyPWUsZT1udWxsKSxyJiYocj1pLnRvQXJyYXkocixufHwiaGV4IiksdGhpcy5fdXBkYXRlKHIpKTtmb3IodmFyIG89W107by5sZW5ndGg8dDspdGhpcy5WPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKSxvPW8uY29uY2F0KHRoaXMuVik7dmFyIHM9by5zbGljZSgwLHQpO3JldHVybiB0aGlzLl91cGRhdGUociksdGhpcy5fcmVzZWVkKyssaS5lbmNvZGUocyxlKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigxNiksaT1yKDExKS5hc3NlcnQ7ZnVuY3Rpb24gbyh0LGUpe3RoaXMuZWM9dCx0aGlzLnByaXY9bnVsbCx0aGlzLnB1Yj1udWxsLGUucHJpdiYmdGhpcy5faW1wb3J0UHJpdmF0ZShlLnByaXYsZS5wcml2RW5jKSxlLnB1YiYmdGhpcy5faW1wb3J0UHVibGljKGUucHViLGUucHViRW5jKX10LmV4cG9ydHM9byxvLmZyb21QdWJsaWM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBlIGluc3RhbmNlb2Ygbz9lOm5ldyBvKHQse3B1YjplLHB1YkVuYzpyfSl9LG8uZnJvbVByaXZhdGU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBlIGluc3RhbmNlb2Ygbz9lOm5ldyBvKHQse3ByaXY6ZSxwcml2RW5jOnJ9KX0sby5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldFB1YmxpYygpO3JldHVybiB0LmlzSW5maW5pdHkoKT97cmVzdWx0OiExLHJlYXNvbjoiSW52YWxpZCBwdWJsaWMga2V5In06dC52YWxpZGF0ZSgpP3QubXVsKHRoaXMuZWMuY3VydmUubikuaXNJbmZpbml0eSgpP3tyZXN1bHQ6ITAscmVhc29uOm51bGx9OntyZXN1bHQ6ITEscmVhc29uOiJQdWJsaWMga2V5ICogTiAhPSBPIn06e3Jlc3VsdDohMSxyZWFzb246IlB1YmxpYyBrZXkgaXMgbm90IGEgcG9pbnQifX0sby5wcm90b3R5cGUuZ2V0UHVibGljPWZ1bmN0aW9uKHQsZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYoZT10LHQ9bnVsbCksdGhpcy5wdWJ8fCh0aGlzLnB1Yj10aGlzLmVjLmcubXVsKHRoaXMucHJpdikpLGU/dGhpcy5wdWIuZW5jb2RlKGUsdCk6dGhpcy5wdWJ9LG8ucHJvdG90eXBlLmdldFByaXZhdGU9ZnVuY3Rpb24odCl7cmV0dXJuImhleCI9PT10P3RoaXMucHJpdi50b1N0cmluZygxNiwyKTp0aGlzLnByaXZ9LG8ucHJvdG90eXBlLl9pbXBvcnRQcml2YXRlPWZ1bmN0aW9uKHQsZSl7dGhpcy5wcml2PW5ldyBuKHQsZXx8MTYpLHRoaXMucHJpdj10aGlzLnByaXYudW1vZCh0aGlzLmVjLmN1cnZlLm4pfSxvLnByb3RvdHlwZS5faW1wb3J0UHVibGljPWZ1bmN0aW9uKHQsZSl7aWYodC54fHx0LnkpcmV0dXJuIm1vbnQiPT09dGhpcy5lYy5jdXJ2ZS50eXBlP2kodC54LCJOZWVkIHggY29vcmRpbmF0ZSIpOiJzaG9ydCIhPT10aGlzLmVjLmN1cnZlLnR5cGUmJiJlZHdhcmRzIiE9PXRoaXMuZWMuY3VydmUudHlwZXx8aSh0LngmJnQueSwiTmVlZCBib3RoIHggYW5kIHkgY29vcmRpbmF0ZSIpLHZvaWQodGhpcy5wdWI9dGhpcy5lYy5jdXJ2ZS5wb2ludCh0LngsdC55KSk7dGhpcy5wdWI9dGhpcy5lYy5jdXJ2ZS5kZWNvZGVQb2ludCh0LGUpfSxvLnByb3RvdHlwZS5kZXJpdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQudmFsaWRhdGUoKXx8aSh0LnZhbGlkYXRlKCksInB1YmxpYyBwb2ludCBub3QgdmFsaWRhdGVkIiksdC5tdWwodGhpcy5wcml2KS5nZXRYKCl9LG8ucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLmVjLnNpZ24odCx0aGlzLGUscil9LG8ucHJvdG90eXBlLnZlcmlmeT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmVjLnZlcmlmeSh0LGUsdGhpcyl9LG8ucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4iPEtleSBwcml2OiAiKyh0aGlzLnByaXYmJnRoaXMucHJpdi50b1N0cmluZygxNiwyKSkrIiBwdWI6ICIrKHRoaXMucHViJiZ0aGlzLnB1Yi5pbnNwZWN0KCkpKyIgPiJ9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTYpLGk9cigxMSksbz1pLmFzc2VydDtmdW5jdGlvbiBzKHQsZSl7aWYodCBpbnN0YW5jZW9mIHMpcmV0dXJuIHQ7dGhpcy5faW1wb3J0REVSKHQsZSl8fChvKHQuciYmdC5zLCJTaWduYXR1cmUgd2l0aG91dCByIG9yIHMiKSx0aGlzLnI9bmV3IG4odC5yLDE2KSx0aGlzLnM9bmV3IG4odC5zLDE2KSx2b2lkIDA9PT10LnJlY292ZXJ5UGFyYW0/dGhpcy5yZWNvdmVyeVBhcmFtPW51bGw6dGhpcy5yZWNvdmVyeVBhcmFtPXQucmVjb3ZlcnlQYXJhbSl9ZnVuY3Rpb24gYSgpe3RoaXMucGxhY2U9MH1mdW5jdGlvbiB1KHQsZSl7dmFyIHI9dFtlLnBsYWNlKytdO2lmKCEoMTI4JnIpKXJldHVybiByO3ZhciBuPTE1JnI7aWYoMD09PW58fG4+NClyZXR1cm4hMTtmb3IodmFyIGk9MCxvPTAscz1lLnBsYWNlO288bjtvKysscysrKWk8PD04LGl8PXRbc10saT4+Pj0wO3JldHVybiEoaTw9MTI3KSYmKGUucGxhY2U9cyxpKX1mdW5jdGlvbiBjKHQpe2Zvcih2YXIgZT0wLHI9dC5sZW5ndGgtMTshdFtlXSYmISgxMjgmdFtlKzFdKSYmZTxyOyllKys7cmV0dXJuIDA9PT1lP3Q6dC5zbGljZShlKX1mdW5jdGlvbiBmKHQsZSl7aWYoZTwxMjgpdC5wdXNoKGUpO2Vsc2V7dmFyIHI9MSsoTWF0aC5sb2coZSkvTWF0aC5MTjI+Pj4zKTtmb3IodC5wdXNoKDEyOHxyKTstLXI7KXQucHVzaChlPj4+KHI8PDMpJjI1NSk7dC5wdXNoKGUpfX10LmV4cG9ydHM9cyxzLnByb3RvdHlwZS5faW1wb3J0REVSPWZ1bmN0aW9uKHQsZSl7dD1pLnRvQXJyYXkodCxlKTt2YXIgcj1uZXcgYTtpZig0OCE9PXRbci5wbGFjZSsrXSlyZXR1cm4hMTt2YXIgbz11KHQscik7aWYoITE9PT1vKXJldHVybiExO2lmKG8rci5wbGFjZSE9PXQubGVuZ3RoKXJldHVybiExO2lmKDIhPT10W3IucGxhY2UrK10pcmV0dXJuITE7dmFyIHM9dSh0LHIpO2lmKCExPT09cylyZXR1cm4hMTt2YXIgYz10LnNsaWNlKHIucGxhY2UscytyLnBsYWNlKTtpZihyLnBsYWNlKz1zLDIhPT10W3IucGxhY2UrK10pcmV0dXJuITE7dmFyIGY9dSh0LHIpO2lmKCExPT09ZilyZXR1cm4hMTtpZih0Lmxlbmd0aCE9PWYrci5wbGFjZSlyZXR1cm4hMTt2YXIgaD10LnNsaWNlKHIucGxhY2UsZityLnBsYWNlKTtpZigwPT09Y1swXSl7aWYoISgxMjgmY1sxXSkpcmV0dXJuITE7Yz1jLnNsaWNlKDEpfWlmKDA9PT1oWzBdKXtpZighKDEyOCZoWzFdKSlyZXR1cm4hMTtoPWguc2xpY2UoMSl9cmV0dXJuIHRoaXMucj1uZXcgbihjKSx0aGlzLnM9bmV3IG4oaCksdGhpcy5yZWNvdmVyeVBhcmFtPW51bGwsITB9LHMucHJvdG90eXBlLnRvREVSPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuci50b0FycmF5KCkscj10aGlzLnMudG9BcnJheSgpO2ZvcigxMjgmZVswXSYmKGU9WzBdLmNvbmNhdChlKSksMTI4JnJbMF0mJihyPVswXS5jb25jYXQocikpLGU9YyhlKSxyPWMocik7IShyWzBdfHwxMjgmclsxXSk7KXI9ci5zbGljZSgxKTt2YXIgbj1bMl07ZihuLGUubGVuZ3RoKSwobj1uLmNvbmNhdChlKSkucHVzaCgyKSxmKG4sci5sZW5ndGgpO3ZhciBvPW4uY29uY2F0KHIpLHM9WzQ4XTtyZXR1cm4gZihzLG8ubGVuZ3RoKSxzPXMuY29uY2F0KG8pLGkuZW5jb2RlKHMsdCl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoNjApLGk9cig1OSksbz1yKDExKSxzPW8uYXNzZXJ0LGE9by5wYXJzZUJ5dGVzLHU9cigyNjIpLGM9cigyNjMpO2Z1bmN0aW9uIGYodCl7aWYocygiZWQyNTUxOSI9PT10LCJvbmx5IHRlc3RlZCB3aXRoIGVkMjU1MTkgc28gZmFyIiksISh0aGlzIGluc3RhbmNlb2YgZikpcmV0dXJuIG5ldyBmKHQpO3Q9aVt0XS5jdXJ2ZSx0aGlzLmN1cnZlPXQsdGhpcy5nPXQuZyx0aGlzLmcucHJlY29tcHV0ZSh0Lm4uYml0TGVuZ3RoKCkrMSksdGhpcy5wb2ludENsYXNzPXQucG9pbnQoKS5jb25zdHJ1Y3Rvcix0aGlzLmVuY29kaW5nTGVuZ3RoPU1hdGguY2VpbCh0Lm4uYml0TGVuZ3RoKCkvOCksdGhpcy5oYXNoPW4uc2hhNTEyfXQuZXhwb3J0cz1mLGYucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24odCxlKXt0PWEodCk7dmFyIHI9dGhpcy5rZXlGcm9tU2VjcmV0KGUpLG49dGhpcy5oYXNoSW50KHIubWVzc2FnZVByZWZpeCgpLHQpLGk9dGhpcy5nLm11bChuKSxvPXRoaXMuZW5jb2RlUG9pbnQoaSkscz10aGlzLmhhc2hJbnQobyxyLnB1YkJ5dGVzKCksdCkubXVsKHIucHJpdigpKSx1PW4uYWRkKHMpLnVtb2QodGhpcy5jdXJ2ZS5uKTtyZXR1cm4gdGhpcy5tYWtlU2lnbmF0dXJlKHtSOmksUzp1LFJlbmNvZGVkOm99KX0sZi5wcm90b3R5cGUudmVyaWZ5PWZ1bmN0aW9uKHQsZSxyKXt0PWEodCksZT10aGlzLm1ha2VTaWduYXR1cmUoZSk7dmFyIG49dGhpcy5rZXlGcm9tUHVibGljKHIpLGk9dGhpcy5oYXNoSW50KGUuUmVuY29kZWQoKSxuLnB1YkJ5dGVzKCksdCksbz10aGlzLmcubXVsKGUuUygpKTtyZXR1cm4gZS5SKCkuYWRkKG4ucHViKCkubXVsKGkpKS5lcShvKX0sZi5wcm90b3R5cGUuaGFzaEludD1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLmhhc2goKSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0LnVwZGF0ZShhcmd1bWVudHNbZV0pO3JldHVybiBvLmludEZyb21MRSh0LmRpZ2VzdCgpKS51bW9kKHRoaXMuY3VydmUubil9LGYucHJvdG90eXBlLmtleUZyb21QdWJsaWM9ZnVuY3Rpb24odCl7cmV0dXJuIHUuZnJvbVB1YmxpYyh0aGlzLHQpfSxmLnByb3RvdHlwZS5rZXlGcm9tU2VjcmV0PWZ1bmN0aW9uKHQpe3JldHVybiB1LmZyb21TZWNyZXQodGhpcyx0KX0sZi5wcm90b3R5cGUubWFrZVNpZ25hdHVyZT1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGM/dDpuZXcgYyh0aGlzLHQpfSxmLnByb3RvdHlwZS5lbmNvZGVQb2ludD1mdW5jdGlvbih0KXt2YXIgZT10LmdldFkoKS50b0FycmF5KCJsZSIsdGhpcy5lbmNvZGluZ0xlbmd0aCk7cmV0dXJuIGVbdGhpcy5lbmNvZGluZ0xlbmd0aC0xXXw9dC5nZXRYKCkuaXNPZGQoKT8xMjg6MCxlfSxmLnByb3RvdHlwZS5kZWNvZGVQb2ludD1mdW5jdGlvbih0KXt2YXIgZT0odD1vLnBhcnNlQnl0ZXModCkpLmxlbmd0aC0xLHI9dC5zbGljZSgwLGUpLmNvbmNhdCgtMTI5JnRbZV0pLG49MCE9KDEyOCZ0W2VdKSxpPW8uaW50RnJvbUxFKHIpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50RnJvbVkoaSxuKX0sZi5wcm90b3R5cGUuZW5jb2RlSW50PWZ1bmN0aW9uKHQpe3JldHVybiB0LnRvQXJyYXkoImxlIix0aGlzLmVuY29kaW5nTGVuZ3RoKX0sZi5wcm90b3R5cGUuZGVjb2RlSW50PWZ1bmN0aW9uKHQpe3JldHVybiBvLmludEZyb21MRSh0KX0sZi5wcm90b3R5cGUuaXNQb2ludD1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIHRoaXMucG9pbnRDbGFzc319LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigxMSksaT1uLmFzc2VydCxvPW4ucGFyc2VCeXRlcyxzPW4uY2FjaGVkUHJvcGVydHk7ZnVuY3Rpb24gYSh0LGUpe3RoaXMuZWRkc2E9dCx0aGlzLl9zZWNyZXQ9byhlLnNlY3JldCksdC5pc1BvaW50KGUucHViKT90aGlzLl9wdWI9ZS5wdWI6dGhpcy5fcHViQnl0ZXM9byhlLnB1Yil9YS5mcm9tUHVibGljPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBhP2U6bmV3IGEodCx7cHViOmV9KX0sYS5mcm9tU2VjcmV0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBhP2U6bmV3IGEodCx7c2VjcmV0OmV9KX0sYS5wcm90b3R5cGUuc2VjcmV0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NlY3JldH0scyhhLCJwdWJCeXRlcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlUG9pbnQodGhpcy5wdWIoKSl9KSkscyhhLCJwdWIiLChmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wdWJCeXRlcz90aGlzLmVkZHNhLmRlY29kZVBvaW50KHRoaXMuX3B1YkJ5dGVzKTp0aGlzLmVkZHNhLmcubXVsKHRoaXMucHJpdigpKX0pKSxzKGEsInByaXZCeXRlcyIsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lZGRzYSxlPXRoaXMuaGFzaCgpLHI9dC5lbmNvZGluZ0xlbmd0aC0xLG49ZS5zbGljZSgwLHQuZW5jb2RpbmdMZW5ndGgpO3JldHVybiBuWzBdJj0yNDgsbltyXSY9MTI3LG5bcl18PTY0LG59KSkscyhhLCJwcml2IiwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5kZWNvZGVJbnQodGhpcy5wcml2Qnl0ZXMoKSl9KSkscyhhLCJoYXNoIiwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5oYXNoKCkudXBkYXRlKHRoaXMuc2VjcmV0KCkpLmRpZ2VzdCgpfSkpLHMoYSwibWVzc2FnZVByZWZpeCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzaCgpLnNsaWNlKHRoaXMuZWRkc2EuZW5jb2RpbmdMZW5ndGgpfSkpLGEucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24odCl7cmV0dXJuIGkodGhpcy5fc2VjcmV0LCJLZXlQYWlyIGNhbiBvbmx5IHZlcmlmeSIpLHRoaXMuZWRkc2Euc2lnbih0LHRoaXMpfSxhLnByb3RvdHlwZS52ZXJpZnk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5lZGRzYS52ZXJpZnkodCxlLHRoaXMpfSxhLnByb3RvdHlwZS5nZXRTZWNyZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGkodGhpcy5fc2VjcmV0LCJLZXlQYWlyIGlzIHB1YmxpYyBvbmx5Iiksbi5lbmNvZGUodGhpcy5zZWNyZXQoKSx0KX0sYS5wcm90b3R5cGUuZ2V0UHVibGljPWZ1bmN0aW9uKHQpe3JldHVybiBuLmVuY29kZSh0aGlzLnB1YkJ5dGVzKCksdCl9LHQuZXhwb3J0cz1hfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTYpLGk9cigxMSksbz1pLmFzc2VydCxzPWkuY2FjaGVkUHJvcGVydHksYT1pLnBhcnNlQnl0ZXM7ZnVuY3Rpb24gdSh0LGUpe3RoaXMuZWRkc2E9dCwib2JqZWN0IiE9dHlwZW9mIGUmJihlPWEoZSkpLEFycmF5LmlzQXJyYXkoZSkmJihlPXtSOmUuc2xpY2UoMCx0LmVuY29kaW5nTGVuZ3RoKSxTOmUuc2xpY2UodC5lbmNvZGluZ0xlbmd0aCl9KSxvKGUuUiYmZS5TLCJTaWduYXR1cmUgd2l0aG91dCBSIG9yIFMiKSx0LmlzUG9pbnQoZS5SKSYmKHRoaXMuX1I9ZS5SKSxlLlMgaW5zdGFuY2VvZiBuJiYodGhpcy5fUz1lLlMpLHRoaXMuX1JlbmNvZGVkPUFycmF5LmlzQXJyYXkoZS5SKT9lLlI6ZS5SZW5jb2RlZCx0aGlzLl9TZW5jb2RlZD1BcnJheS5pc0FycmF5KGUuUyk/ZS5TOmUuU2VuY29kZWR9cyh1LCJTIiwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5kZWNvZGVJbnQodGhpcy5TZW5jb2RlZCgpKX0pKSxzKHUsIlIiLChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmRlY29kZVBvaW50KHRoaXMuUmVuY29kZWQoKSl9KSkscyh1LCJSZW5jb2RlZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlUG9pbnQodGhpcy5SKCkpfSkpLHModSwiU2VuY29kZWQiLChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmVuY29kZUludCh0aGlzLlMoKSl9KSksdS5wcm90b3R5cGUudG9CeXRlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJlbmNvZGVkKCkuY29uY2F0KHRoaXMuU2VuY29kZWQoKSl9LHUucHJvdG90eXBlLnRvSGV4PWZ1bmN0aW9uKCl7cmV0dXJuIGkuZW5jb2RlKHRoaXMudG9CeXRlcygpLCJoZXgiKS50b1VwcGVyQ2FzZSgpfSx0LmV4cG9ydHM9dX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49cigyNjUpO2UuZ2V0UmFuZG9tQnl0ZXM9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihlLHIpe24odCwoZnVuY3Rpb24odCxuKXt0P3IodCk6ZShuKX0pKX0pKX0sZS5nZXRSYW5kb21CeXRlc1N5bmM9ZnVuY3Rpb24odCl7cmV0dXJuIG4odCl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlLG4pe3ZhciBpPXIoMTMpLkJ1ZmZlcixvPWUuY3J5cHRvfHxlLm1zQ3J5cHRvO28mJm8uZ2V0UmFuZG9tVmFsdWVzP3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKHQ+NDI5NDk2NzI5NSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigicmVxdWVzdGVkIHRvbyBtYW55IHJhbmRvbSBieXRlcyIpO3ZhciByPWkuYWxsb2NVbnNhZmUodCk7aWYodD4wKWlmKHQ+NjU1MzYpZm9yKHZhciBzPTA7czx0O3MrPTY1NTM2KW8uZ2V0UmFuZG9tVmFsdWVzKHIuc2xpY2UocyxzKzY1NTM2KSk7ZWxzZSBvLmdldFJhbmRvbVZhbHVlcyhyKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gbi5uZXh0VGljaygoZnVuY3Rpb24oKXtlKG51bGwscil9KSk7cmV0dXJuIHJ9OnQuZXhwb3J0cz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiU2VjdXJlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgYnJvd3Nlci5cblVzZSBDaHJvbWUsIEZpcmVmb3ggb3IgSW50ZXJuZXQgRXhwbG9yZXIgMTEiKX19KS5jYWxsKHRoaXMscig2KSxyKDUpKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7dmFyIG49cig5KSxpPW5ldygwLHIoNTgpLmVjKSgic2VjcDI1NmsxIiksbz1pLmN1cnZlO2UucHJpdmF0ZUtleUV4cG9ydD1mdW5jdGlvbih0LGUpe3ZhciByPW5ldyBuKHQpO2lmKHIudWNtcChvLm4pPj0wKXRocm93IG5ldyBFcnJvcigiY291bGRuJ3QgZXhwb3J0IHRvIERFUiBmb3JtYXQiKTt2YXIgYT1pLmcubXVsKHIpO3JldHVybiBzKGEuZ2V0WCgpLGEuZ2V0WSgpLGUpfSxlLnByaXZhdGVLZXlNb2RJbnZlcnNlPWZ1bmN0aW9uKGUpe3ZhciByPW5ldyBuKGUpO2lmKHIudWNtcChvLm4pPj0wfHxyLmlzWmVybygpKXRocm93IG5ldyBFcnJvcigicHJpdmF0ZSBrZXkgcmFuZ2UgaXMgaW52YWxpZCIpO3JldHVybiByLmludm0oby5uKS50b0FycmF5TGlrZSh0LCJiZSIsMzIpfSxlLnNpZ25hdHVyZUltcG9ydD1mdW5jdGlvbihlKXt2YXIgcj1uZXcgbihlLnIpO3IudWNtcChvLm4pPj0wJiYocj1uZXcgbigwKSk7dmFyIGk9bmV3IG4oZS5zKTtyZXR1cm4gaS51Y21wKG8ubik+PTAmJihpPW5ldyBuKDApKSx0LmNvbmNhdChbci50b0FycmF5TGlrZSh0LCJiZSIsMzIpLGkudG9BcnJheUxpa2UodCwiYmUiLDMyKV0pfSxlLmVjZGhVbnNhZmU9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPWkua2V5RnJvbVB1YmxpYyh0KSx1PW5ldyBuKGUpO2lmKHUudWNtcChvLm4pPj0wfHx1LmlzWmVybygpKXRocm93IG5ldyBFcnJvcigic2NhbGFyIHdhcyBpbnZhbGlkICh6ZXJvIG9yIG92ZXJmbG93KSIpO3ZhciBjPWEucHViLm11bCh1KTtyZXR1cm4gcyhjLmdldFgoKSxjLmdldFkoKSxyKX07dmFyIHM9ZnVuY3Rpb24oZSxyLG4pe3ZhciBpPXZvaWQgMDtyZXR1cm4gbj8oKGk9dC5hbGxvYygzMykpWzBdPXIuaXNPZGQoKT8zOjIsZS50b0FycmF5TGlrZSh0LCJiZSIsMzIpLmNvcHkoaSwxKSk6KChpPXQuYWxsb2MoNjUpKVswXT00LGUudG9BcnJheUxpa2UodCwiYmUiLDMyKS5jb3B5KGksMSksci50b0FycmF5TGlrZSh0LCJiZSIsMzIpLmNvcHkoaSwzMykpLGl9fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7dmFyIHI9dC5mcm9tKFs0OCwxMjksMjExLDIsMSwxLDQsMzIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDE2MCwxMjksMTMzLDQ4LDEyOSwxMzAsMiwxLDEsNDgsNDQsNiw3LDQyLDEzNCw3MiwyMDYsNjEsMSwxLDIsMzMsMCwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTQsMjU1LDI1NSwyNTIsNDcsNDgsNiw0LDEsMCw0LDEsNyw0LDMzLDIsMTIxLDE5MCwxMDIsMTI2LDI0OSwyMjAsMTg3LDE3Miw4NSwxNjAsOTgsMTQ5LDIwNiwxMzUsMTEsNywyLDE1NSwyNTIsMjE5LDQ1LDIwNiw0MCwyMTcsODksMjQyLDEyOSw5MSwyMiwyNDgsMjMsMTUyLDIsMzMsMCwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTQsMTg2LDE3NCwyMjAsMjMwLDE3NSw3MiwxNjAsNTksMTkxLDIxMCw5NCwxNDAsMjA4LDU0LDY1LDY1LDIsMSwxLDE2MSwzNiwzLDM0LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKSxuPXQuZnJvbShbNDgsMTMwLDEsMTksMiwxLDEsNCwzMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTYwLDEyOSwxNjUsNDgsMTI5LDE2MiwyLDEsMSw0OCw0NCw2LDcsNDIsMTM0LDcyLDIwNiw2MSwxLDEsMiwzMywwLDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NCwyNTUsMjU1LDI1Miw0Nyw0OCw2LDQsMSwwLDQsMSw3LDQsNjUsNCwxMjEsMTkwLDEwMiwxMjYsMjQ5LDIyMCwxODcsMTcyLDg1LDE2MCw5OCwxNDksMjA2LDEzNSwxMSw3LDIsMTU1LDI1MiwyMTksNDUsMjA2LDQwLDIxNyw4OSwyNDIsMTI5LDkxLDIyLDI0OCwyMywxNTIsNzIsNTgsMjE4LDExOSwzOCwxNjMsMTk2LDEwMSw5MywxNjQsMjUxLDI1MiwxNCwxNyw4LDE2OCwyNTMsMjMsMTgwLDcyLDE2NiwxMzMsODQsMjUsMTU2LDcxLDIwOCwxNDMsMjUxLDE2LDIxMiwxODQsMiwzMywwLDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NCwxODYsMTc0LDIyMCwyMzAsMTc1LDcyLDE2MCw1OSwxOTEsMjEwLDk0LDE0MCwyMDgsNTQsNjUsNjUsMiwxLDEsMTYxLDY4LDMsNjYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKTtlLnByaXZhdGVLZXlFeHBvcnQ9ZnVuY3Rpb24oZSxpLG8pe3ZhciBzPXQuZnJvbShvP3I6bik7cmV0dXJuIGUuY29weShzLG8/ODo5KSxpLmNvcHkocyxvPzE4MToyMTQpLHN9LGUucHJpdmF0ZUtleUltcG9ydD1mdW5jdGlvbih0KXt2YXIgZT10Lmxlbmd0aCxyPTA7aWYoZTxyKzF8fDQ4IT09dFtyXSlyZXR1cm4gbnVsbDtpZihlPChyKz0xKSsxfHwhKDEyOCZ0W3JdKSlyZXR1cm4gbnVsbDt2YXIgbj0xMjcmdFtyXTtpZihuPDF8fG4+MilyZXR1cm4gbnVsbDtpZihlPChyKz0xKStuKXJldHVybiBudWxsO3ZhciBpPXRbcituLTFdfChuPjE/dFtyK24tMl08PDg6MCk7cmV0dXJuIGU8KHIrPW4pK2l8fGU8ciszfHwyIT09dFtyXXx8MSE9PXRbcisxXXx8MSE9PXRbcisyXXx8ZTwocis9MykrMnx8NCE9PXRbcl18fHRbcisxXT4zMnx8ZTxyKzIrdFtyKzFdP251bGw6dC5zbGljZShyKzIscisyK3RbcisxXSl9LGUuc2lnbmF0dXJlSW1wb3J0TGF4PWZ1bmN0aW9uKGUpe3ZhciByPXQuYWxsb2MoMzIsMCksbj10LmFsbG9jKDMyLDApLGk9ZS5sZW5ndGgsbz0wO2lmKDQ4IT09ZVtvKytdKXJldHVybiBudWxsO3ZhciBzPWVbbysrXTtpZigxMjgmcyYmKG8rPXMtMTI4KT5pKXJldHVybiBudWxsO2lmKDIhPT1lW28rK10pcmV0dXJuIG51bGw7dmFyIGE9ZVtvKytdO2lmKDEyOCZhKXtpZihvKyhzPWEtMTI4KT5pKXJldHVybiBudWxsO2Zvcig7cz4wJiYwPT09ZVtvXTtvKz0xLHMtPTEpO2ZvcihhPTA7cz4wO28rPTEscy09MSlhPShhPDw4KStlW29dfWlmKGE+aS1vKXJldHVybiBudWxsO3ZhciB1PW87aWYobys9YSwyIT09ZVtvKytdKXJldHVybiBudWxsO3ZhciBjPWVbbysrXTtpZigxMjgmYyl7aWYobysocz1jLTEyOCk+aSlyZXR1cm4gbnVsbDtmb3IoO3M+MCYmMD09PWVbb107bys9MSxzLT0xKTtmb3IoYz0wO3M+MDtvKz0xLHMtPTEpYz0oYzw8OCkrZVtvXX1pZihjPmktbylyZXR1cm4gbnVsbDt2YXIgZj1vO2ZvcihvKz1jO2E+MCYmMD09PWVbdV07YS09MSx1Kz0xKTtpZihhPjMyKXJldHVybiBudWxsO3ZhciBoPWUuc2xpY2UodSx1K2EpO2ZvcihoLmNvcHkociwzMi1oLmxlbmd0aCk7Yz4wJiYwPT09ZVtmXTtjLT0xLGYrPTEpO2lmKGM+MzIpcmV0dXJuIG51bGw7dmFyIGw9ZS5zbGljZShmLGYrYyk7cmV0dXJuIGwuY29weShuLDMyLWwubGVuZ3RoKSx7cjpyLHM6bn19fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsKLyoKb2JqZWN0LWFzc2lnbgooYykgU2luZHJlIFNvcmh1cwpAbGljZW5zZSBNSVQKKi92YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxvPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7ZnVuY3Rpb24gcyh0KXtpZihudWxsPT10KXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdC5hc3NpZ24gY2Fubm90IGJlIGNhbGxlZCB3aXRoIG51bGwgb3IgdW5kZWZpbmVkIik7cmV0dXJuIE9iamVjdCh0KX10LmV4cG9ydHM9ZnVuY3Rpb24oKXt0cnl7aWYoIU9iamVjdC5hc3NpZ24pcmV0dXJuITE7dmFyIHQ9bmV3IFN0cmluZygiYWJjIik7aWYodFs1XT0iZGUiLCI1Ij09PU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpWzBdKXJldHVybiExO2Zvcih2YXIgZT17fSxyPTA7cjwxMDtyKyspZVsiXyIrU3RyaW5nLmZyb21DaGFyQ29kZShyKV09cjtpZigiMDEyMzQ1Njc4OSIhPT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdfSkpLmpvaW4oIiIpKXJldHVybiExO3ZhciBuPXt9O3JldHVybiJhYmNkZWZnaGlqa2xtbm9wcXJzdCIuc3BsaXQoIiIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe25bdF09dH0pKSwiYWJjZGVmZ2hpamtsbW5vcHFyc3QiPT09T2JqZWN0LmtleXMoT2JqZWN0LmFzc2lnbih7fSxuKSkuam9pbigiIil9Y2F0Y2godCl7cmV0dXJuITF9fSgpP09iamVjdC5hc3NpZ246ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIsYSx1PXModCksYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe2Zvcih2YXIgZiBpbiByPU9iamVjdChhcmd1bWVudHNbY10pKWkuY2FsbChyLGYpJiYodVtmXT1yW2ZdKTtpZihuKXthPW4ocik7Zm9yKHZhciBoPTA7aDxhLmxlbmd0aDtoKyspby5jYWxsKHIsYVtoXSkmJih1W2FbaF1dPXJbYVtoXV0pfX1yZXR1cm4gdX19LGZ1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24odCl7IWZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCxlKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoZXx8IkFzc2VydGlvbiBmYWlsZWQiKX1mdW5jdGlvbiBpKHQsZSl7dC5zdXBlcl89ZTt2YXIgcj1mdW5jdGlvbigpe307ci5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IHIsdC5wcm90b3R5cGUuY29uc3RydWN0b3I9dH1mdW5jdGlvbiBvKHQsZSxyKXtpZihvLmlzQk4odCkpcmV0dXJuIHQ7dGhpcy5uZWdhdGl2ZT0wLHRoaXMud29yZHM9bnVsbCx0aGlzLmxlbmd0aD0wLHRoaXMucmVkPW51bGwsbnVsbCE9PXQmJigibGUiIT09ZSYmImJlIiE9PWV8fChyPWUsZT0xMCksdGhpcy5faW5pdCh0fHwwLGV8fDEwLHJ8fCJiZSIpKX12YXIgczsib2JqZWN0Ij09dHlwZW9mIHQ/dC5leHBvcnRzPW86ZS5CTj1vLG8uQk49byxvLndvcmRTaXplPTI2O3RyeXtzPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ2b2lkIDAhPT13aW5kb3cuQnVmZmVyP3dpbmRvdy5CdWZmZXI6cigyNzApLkJ1ZmZlcn1jYXRjaCh0KXt9ZnVuY3Rpb24gYSh0LGUpe3ZhciByPXQuY2hhckNvZGVBdChlKTtyZXR1cm4gcj49NDgmJnI8PTU3P3ItNDg6cj49NjUmJnI8PTcwP3ItNTU6cj49OTcmJnI8PTEwMj9yLTg3OnZvaWQgbighMSwiSW52YWxpZCBjaGFyYWN0ZXIgaW4gIit0KX1mdW5jdGlvbiB1KHQsZSxyKXt2YXIgbj1hKHQscik7cmV0dXJuIHItMT49ZSYmKG58PWEodCxyLTEpPDw0KSxufWZ1bmN0aW9uIGModCxlLHIsaSl7Zm9yKHZhciBvPTAscz0wLGE9TWF0aC5taW4odC5sZW5ndGgsciksdT1lO3U8YTt1Kyspe3ZhciBjPXQuY2hhckNvZGVBdCh1KS00ODtvKj1pLHM9Yz49NDk/Yy00OSsxMDpjPj0xNz9jLTE3KzEwOmMsbihjPj0wJiZzPGksIkludmFsaWQgY2hhcmFjdGVyIiksbys9c31yZXR1cm4gb31mdW5jdGlvbiBmKHQsZSl7dC53b3Jkcz1lLndvcmRzLHQubGVuZ3RoPWUubGVuZ3RoLHQubmVnYXRpdmU9ZS5uZWdhdGl2ZSx0LnJlZD1lLnJlZH1pZihvLmlzQk49ZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBvfHxudWxsIT09dCYmIm9iamVjdCI9PXR5cGVvZiB0JiZ0LmNvbnN0cnVjdG9yLndvcmRTaXplPT09by53b3JkU2l6ZSYmQXJyYXkuaXNBcnJheSh0LndvcmRzKX0sby5tYXg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5jbXAoZSk+MD90OmV9LG8ubWluPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuY21wKGUpPDA/dDplfSxvLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbih0LGUscil7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiB0aGlzLl9pbml0TnVtYmVyKHQsZSxyKTtpZigib2JqZWN0Ij09dHlwZW9mIHQpcmV0dXJuIHRoaXMuX2luaXRBcnJheSh0LGUscik7ImhleCI9PT1lJiYoZT0xNiksbihlPT09KDB8ZSkmJmU+PTImJmU8PTM2KTt2YXIgaT0wOyItIj09PSh0PXQudG9TdHJpbmcoKS5yZXBsYWNlKC9ccysvZywiIikpWzBdJiYoaSsrLHRoaXMubmVnYXRpdmU9MSksaTx0Lmxlbmd0aCYmKDE2PT09ZT90aGlzLl9wYXJzZUhleCh0LGkscik6KHRoaXMuX3BhcnNlQmFzZSh0LGUsaSksImxlIj09PXImJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSxlLHIpKSl9LG8ucHJvdG90eXBlLl9pbml0TnVtYmVyPWZ1bmN0aW9uKHQsZSxyKXt0PDAmJih0aGlzLm5lZ2F0aXZlPTEsdD0tdCksdDw2NzEwODg2ND8odGhpcy53b3Jkcz1bNjcxMDg4NjMmdF0sdGhpcy5sZW5ndGg9MSk6dDw0NTAzNTk5NjI3MzcwNDk2Pyh0aGlzLndvcmRzPVs2NzEwODg2MyZ0LHQvNjcxMDg4NjQmNjcxMDg4NjNdLHRoaXMubGVuZ3RoPTIpOihuKHQ8OTAwNzE5OTI1NDc0MDk5MiksdGhpcy53b3Jkcz1bNjcxMDg4NjMmdCx0LzY3MTA4ODY0JjY3MTA4ODYzLDFdLHRoaXMubGVuZ3RoPTMpLCJsZSI9PT1yJiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksZSxyKX0sby5wcm90b3R5cGUuX2luaXRBcnJheT1mdW5jdGlvbih0LGUscil7aWYobigibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKSx0Lmxlbmd0aDw9MClyZXR1cm4gdGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MSx0aGlzO3RoaXMubGVuZ3RoPU1hdGguY2VpbCh0Lmxlbmd0aC8zKSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBpPTA7aTx0aGlzLmxlbmd0aDtpKyspdGhpcy53b3Jkc1tpXT0wO3ZhciBvLHMsYT0wO2lmKCJiZSI9PT1yKWZvcihpPXQubGVuZ3RoLTEsbz0wO2k+PTA7aS09MylzPXRbaV18dFtpLTFdPDw4fHRbaS0yXTw8MTYsdGhpcy53b3Jkc1tvXXw9czw8YSY2NzEwODg2Myx0aGlzLndvcmRzW28rMV09cz4+PjI2LWEmNjcxMDg4NjMsKGErPTI0KT49MjYmJihhLT0yNixvKyspO2Vsc2UgaWYoImxlIj09PXIpZm9yKGk9MCxvPTA7aTx0Lmxlbmd0aDtpKz0zKXM9dFtpXXx0W2krMV08PDh8dFtpKzJdPDwxNix0aGlzLndvcmRzW29dfD1zPDxhJjY3MTA4ODYzLHRoaXMud29yZHNbbysxXT1zPj4+MjYtYSY2NzEwODg2MywoYSs9MjQpPj0yNiYmKGEtPTI2LG8rKyk7cmV0dXJuIHRoaXMuX3N0cmlwKCl9LG8ucHJvdG90eXBlLl9wYXJzZUhleD1mdW5jdGlvbih0LGUscil7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKCh0Lmxlbmd0aC1lKS82KSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPTA7bjx0aGlzLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT0wO3ZhciBpLG89MCxzPTA7aWYoImJlIj09PXIpZm9yKG49dC5sZW5ndGgtMTtuPj1lO24tPTIpaT11KHQsZSxuKTw8byx0aGlzLndvcmRzW3NdfD02NzEwODg2MyZpLG8+PTE4PyhvLT0xOCxzKz0xLHRoaXMud29yZHNbc118PWk+Pj4yNik6bys9ODtlbHNlIGZvcihuPSh0Lmxlbmd0aC1lKSUyPT0wP2UrMTplO248dC5sZW5ndGg7bis9MilpPXUodCxlLG4pPDxvLHRoaXMud29yZHNbc118PTY3MTA4ODYzJmksbz49MTg/KG8tPTE4LHMrPTEsdGhpcy53b3Jkc1tzXXw9aT4+PjI2KTpvKz04O3RoaXMuX3N0cmlwKCl9LG8ucHJvdG90eXBlLl9wYXJzZUJhc2U9ZnVuY3Rpb24odCxlLHIpe3RoaXMud29yZHM9WzBdLHRoaXMubGVuZ3RoPTE7Zm9yKHZhciBuPTAsaT0xO2k8PTY3MTA4ODYzO2kqPWUpbisrO24tLSxpPWkvZXwwO2Zvcih2YXIgbz10Lmxlbmd0aC1yLHM9byVuLGE9TWF0aC5taW4obyxvLXMpK3IsdT0wLGY9cjtmPGE7Zis9bil1PWModCxmLGYrbixlKSx0aGlzLmltdWxuKGkpLHRoaXMud29yZHNbMF0rdTw2NzEwODg2ND90aGlzLndvcmRzWzBdKz11OnRoaXMuX2lhZGRuKHUpO2lmKDAhPT1zKXt2YXIgaD0xO2Zvcih1PWModCxmLHQubGVuZ3RoLGUpLGY9MDtmPHM7ZisrKWgqPWU7dGhpcy5pbXVsbihoKSx0aGlzLndvcmRzWzBdK3U8NjcxMDg4NjQ/dGhpcy53b3Jkc1swXSs9dTp0aGlzLl9pYWRkbih1KX10aGlzLl9zdHJpcCgpfSxvLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKHQpe3Qud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoO2UrKyl0LndvcmRzW2VdPXRoaXMud29yZHNbZV07dC5sZW5ndGg9dGhpcy5sZW5ndGgsdC5uZWdhdGl2ZT10aGlzLm5lZ2F0aXZlLHQucmVkPXRoaXMucmVkfSxvLnByb3RvdHlwZS5fbW92ZT1mdW5jdGlvbih0KXtmKHQsdGhpcyl9LG8ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IG8obnVsbCk7cmV0dXJuIHRoaXMuY29weSh0KSx0fSxvLnByb3RvdHlwZS5fZXhwYW5kPWZ1bmN0aW9uKHQpe2Zvcig7dGhpcy5sZW5ndGg8dDspdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wO3JldHVybiB0aGlzfSxvLnByb3RvdHlwZS5fc3RyaXA9ZnVuY3Rpb24oKXtmb3IoO3RoaXMubGVuZ3RoPjEmJjA9PT10aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdOyl0aGlzLmxlbmd0aC0tO3JldHVybiB0aGlzLl9ub3JtU2lnbigpfSxvLnByb3RvdHlwZS5fbm9ybVNpZ249ZnVuY3Rpb24oKXtyZXR1cm4gMT09PXRoaXMubGVuZ3RoJiYwPT09dGhpcy53b3Jkc1swXSYmKHRoaXMubmVnYXRpdmU9MCksdGhpc30sInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wuZm9yKXRyeXtvLnByb3RvdHlwZVtTeW1ib2wuZm9yKCJub2RlanMudXRpbC5pbnNwZWN0LmN1c3RvbSIpXT1ofWNhdGNoKHQpe28ucHJvdG90eXBlLmluc3BlY3Q9aH1lbHNlIG8ucHJvdG90eXBlLmluc3BlY3Q9aDtmdW5jdGlvbiBoKCl7cmV0dXJuKHRoaXMucmVkPyI8Qk4tUjogIjoiPEJOOiAiKSt0aGlzLnRvU3RyaW5nKDE2KSsiPiJ9dmFyIGw9WyIiLCIwIiwiMDAiLCIwMDAiLCIwMDAwIiwiMDAwMDAiLCIwMDAwMDAiLCIwMDAwMDAwIiwiMDAwMDAwMDAiLCIwMDAwMDAwMDAiLCIwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIl0sZD1bMCwwLDI1LDE2LDEyLDExLDEwLDksOCw4LDcsNyw3LDcsNiw2LDYsNiw2LDYsNiw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1XSxwPVswLDAsMzM1NTQ0MzIsNDMwNDY3MjEsMTY3NzcyMTYsNDg4MjgxMjUsNjA0NjYxNzYsNDAzNTM2MDcsMTY3NzcyMTYsNDMwNDY3MjEsMWU3LDE5NDg3MTcxLDM1ODMxODA4LDYyNzQ4NTE3LDc1Mjk1MzYsMTEzOTA2MjUsMTY3NzcyMTYsMjQxMzc1NjksMzQwMTIyMjQsNDcwNDU4ODEsNjRlNiw0MDg0MTAxLDUxNTM2MzIsNjQzNjM0Myw3OTYyNjI0LDk3NjU2MjUsMTE4ODEzNzYsMTQzNDg5MDcsMTcyMTAzNjgsMjA1MTExNDksMjQzZTUsMjg2MjkxNTEsMzM1NTQ0MzIsMzkxMzUzOTMsNDU0MzU0MjQsNTI1MjE4NzUsNjA0NjYxNzZdO28ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQsZSl7dmFyIHI7aWYoZT0wfGV8fDEsMTY9PT0odD10fHwxMCl8fCJoZXgiPT09dCl7cj0iIjtmb3IodmFyIGk9MCxvPTAscz0wO3M8dGhpcy5sZW5ndGg7cysrKXt2YXIgYT10aGlzLndvcmRzW3NdLHU9KDE2Nzc3MjE1JihhPDxpfG8pKS50b1N0cmluZygxNik7bz1hPj4+MjQtaSYxNjc3NzIxNSwoaSs9Mik+PTI2JiYoaS09MjYscy0tKSxyPTAhPT1vfHxzIT09dGhpcy5sZW5ndGgtMT9sWzYtdS5sZW5ndGhdK3Urcjp1K3J9Zm9yKDAhPT1vJiYocj1vLnRvU3RyaW5nKDE2KStyKTtyLmxlbmd0aCVlIT0wOylyPSIwIityO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZSYmKHI9Ii0iK3IpLHJ9aWYodD09PSgwfHQpJiZ0Pj0yJiZ0PD0zNil7dmFyIGM9ZFt0XSxmPXBbdF07cj0iIjt2YXIgaD10aGlzLmNsb25lKCk7Zm9yKGgubmVnYXRpdmU9MDshaC5pc1plcm8oKTspe3ZhciBtPWgubW9kcm4oZikudG9TdHJpbmcodCk7cj0oaD1oLmlkaXZuKGYpKS5pc1plcm8oKT9tK3I6bFtjLW0ubGVuZ3RoXSttK3J9Zm9yKHRoaXMuaXNaZXJvKCkmJihyPSIwIityKTtyLmxlbmd0aCVlIT0wOylyPSIwIityO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZSYmKHI9Ii0iK3IpLHJ9bighMSwiQmFzZSBzaG91bGQgYmUgYmV0d2VlbiAyIGFuZCAzNiIpfSxvLnByb3RvdHlwZS50b051bWJlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMud29yZHNbMF07cmV0dXJuIDI9PT10aGlzLmxlbmd0aD90Kz02NzEwODg2NCp0aGlzLndvcmRzWzFdOjM9PT10aGlzLmxlbmd0aCYmMT09PXRoaXMud29yZHNbMl0/dCs9NDUwMzU5OTYyNzM3MDQ5Nis2NzEwODg2NCp0aGlzLndvcmRzWzFdOnRoaXMubGVuZ3RoPjImJm4oITEsIk51bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cyIpLDAhPT10aGlzLm5lZ2F0aXZlPy10OnR9LG8ucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvU3RyaW5nKDE2LDIpfSxzJiYoby5wcm90b3R5cGUudG9CdWZmZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy50b0FycmF5TGlrZShzLHQsZSl9KSxvLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksdCxlKX07ZnVuY3Rpb24gbSh0LGUscil7ci5uZWdhdGl2ZT1lLm5lZ2F0aXZlXnQubmVnYXRpdmU7dmFyIG49dC5sZW5ndGgrZS5sZW5ndGh8MDtyLmxlbmd0aD1uLG49bi0xfDA7dmFyIGk9MHx0LndvcmRzWzBdLG89MHxlLndvcmRzWzBdLHM9aSpvLGE9NjcxMDg4NjMmcyx1PXMvNjcxMDg4NjR8MDtyLndvcmRzWzBdPWE7Zm9yKHZhciBjPTE7YzxuO2MrKyl7Zm9yKHZhciBmPXU+Pj4yNixoPTY3MTA4ODYzJnUsbD1NYXRoLm1pbihjLGUubGVuZ3RoLTEpLGQ9TWF0aC5tYXgoMCxjLXQubGVuZ3RoKzEpO2Q8PWw7ZCsrKXt2YXIgcD1jLWR8MDtmKz0ocz0oaT0wfHQud29yZHNbcF0pKihvPTB8ZS53b3Jkc1tkXSkraCkvNjcxMDg4NjR8MCxoPTY3MTA4ODYzJnN9ci53b3Jkc1tjXT0wfGgsdT0wfGZ9cmV0dXJuIDAhPT11P3Iud29yZHNbY109MHx1OnIubGVuZ3RoLS0sci5fc3RyaXAoKX1vLnByb3RvdHlwZS50b0FycmF5TGlrZT1mdW5jdGlvbih0LGUscil7dGhpcy5fc3RyaXAoKTt2YXIgaT10aGlzLmJ5dGVMZW5ndGgoKSxvPXJ8fE1hdGgubWF4KDEsaSk7bihpPD1vLCJieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoIiksbihvPjAsIlJlcXVlc3RlZCBhcnJheSBsZW5ndGggPD0gMCIpO3ZhciBzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuYWxsb2NVbnNhZmU/dC5hbGxvY1Vuc2FmZShlKTpuZXcgdChlKX0odCxvKTtyZXR1cm4gdGhpc1siX3RvQXJyYXlMaWtlIisoImxlIj09PWU/IkxFIjoiQkUiKV0ocyxpKSxzfSxvLnByb3RvdHlwZS5fdG9BcnJheUxpa2VMRT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49MCxpPTAsbz0wO2k8dGhpcy5sZW5ndGg7aSsrKXt2YXIgcz10aGlzLndvcmRzW2ldPDxvfG47dFtyKytdPTI1NSZzLHI8dC5sZW5ndGgmJih0W3IrK109cz4+OCYyNTUpLHI8dC5sZW5ndGgmJih0W3IrK109cz4+MTYmMjU1KSw2PT09bz8ocjx0Lmxlbmd0aCYmKHRbcisrXT1zPj4yNCYyNTUpLG49MCxvPTApOihuPXM+Pj4yNCxvKz0yKX1pZihyPHQubGVuZ3RoKWZvcih0W3IrK109bjtyPHQubGVuZ3RoOyl0W3IrK109MH0sby5wcm90b3R5cGUuX3RvQXJyYXlMaWtlQkU9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5sZW5ndGgtMSxuPTAsaT0wLG89MDtpPHRoaXMubGVuZ3RoO2krKyl7dmFyIHM9dGhpcy53b3Jkc1tpXTw8b3xuO3Rbci0tXT0yNTUmcyxyPj0wJiYodFtyLS1dPXM+PjgmMjU1KSxyPj0wJiYodFtyLS1dPXM+PjE2JjI1NSksNj09PW8/KHI+PTAmJih0W3ItLV09cz4+MjQmMjU1KSxuPTAsbz0wKToobj1zPj4+MjQsbys9Mil9aWYocj49MClmb3IodFtyLS1dPW47cj49MDspdFtyLS1dPTB9LE1hdGguY2x6MzI/by5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbih0KXtyZXR1cm4gMzItTWF0aC5jbHozMih0KX06by5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbih0KXt2YXIgZT10LHI9MDtyZXR1cm4gZT49NDA5NiYmKHIrPTEzLGU+Pj49MTMpLGU+PTY0JiYocis9NyxlPj4+PTcpLGU+PTgmJihyKz00LGU+Pj49NCksZT49MiYmKHIrPTIsZT4+Pj0yKSxyK2V9LG8ucHJvdG90eXBlLl96ZXJvQml0cz1mdW5jdGlvbih0KXtpZigwPT09dClyZXR1cm4gMjY7dmFyIGU9dCxyPTA7cmV0dXJuIDA9PSg4MTkxJmUpJiYocis9MTMsZT4+Pj0xMyksMD09KDEyNyZlKSYmKHIrPTcsZT4+Pj03KSwwPT0oMTUmZSkmJihyKz00LGU+Pj49NCksMD09KDMmZSkmJihyKz0yLGU+Pj49MiksMD09KDEmZSkmJnIrKyxyfSxvLnByb3RvdHlwZS5iaXRMZW5ndGg9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdLGU9dGhpcy5fY291bnRCaXRzKHQpO3JldHVybiAyNioodGhpcy5sZW5ndGgtMSkrZX0sby5wcm90b3R5cGUuemVyb0JpdHM9ZnVuY3Rpb24oKXtpZih0aGlzLmlzWmVybygpKXJldHVybiAwO2Zvcih2YXIgdD0wLGU9MDtlPHRoaXMubGVuZ3RoO2UrKyl7dmFyIHI9dGhpcy5femVyb0JpdHModGhpcy53b3Jkc1tlXSk7aWYodCs9ciwyNiE9PXIpYnJlYWt9cmV0dXJuIHR9LG8ucHJvdG90eXBlLmJ5dGVMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkvOCl9LG8ucHJvdG90eXBlLnRvVHdvcz1mdW5jdGlvbih0KXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/dGhpcy5hYnMoKS5pbm90bih0KS5pYWRkbigxKTp0aGlzLmNsb25lKCl9LG8ucHJvdG90eXBlLmZyb21Ud29zPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRlc3RuKHQtMSk/dGhpcy5ub3RuKHQpLmlhZGRuKDEpLmluZWcoKTp0aGlzLmNsb25lKCl9LG8ucHJvdG90eXBlLmlzTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlfSxvLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmluZWcoKX0sby5wcm90b3R5cGUuaW5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzWmVybygpfHwodGhpcy5uZWdhdGl2ZV49MSksdGhpc30sby5wcm90b3R5cGUuaXVvcj1mdW5jdGlvbih0KXtmb3IoO3RoaXMubGVuZ3RoPHQubGVuZ3RoOyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspdGhpcy53b3Jkc1tlXT10aGlzLndvcmRzW2VdfHQud29yZHNbZV07cmV0dXJuIHRoaXMuX3N0cmlwKCl9LG8ucHJvdG90eXBlLmlvcj1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT0odGhpcy5uZWdhdGl2ZXx0Lm5lZ2F0aXZlKSksdGhpcy5pdW9yKHQpfSxvLnByb3RvdHlwZS5vcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLmlvcih0KTp0LmNsb25lKCkuaW9yKHRoaXMpfSxvLnByb3RvdHlwZS51b3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdW9yKHQpOnQuY2xvbmUoKS5pdW9yKHRoaXMpfSxvLnByb3RvdHlwZS5pdWFuZD1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXMubGVuZ3RoPnQubGVuZ3RoP3Q6dGhpcztmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl0aGlzLndvcmRzW3JdPXRoaXMud29yZHNbcl0mdC53b3Jkc1tyXTtyZXR1cm4gdGhpcy5sZW5ndGg9ZS5sZW5ndGgsdGhpcy5fc3RyaXAoKX0sby5wcm90b3R5cGUuaWFuZD1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT0odGhpcy5uZWdhdGl2ZXx0Lm5lZ2F0aXZlKSksdGhpcy5pdWFuZCh0KX0sby5wcm90b3R5cGUuYW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaWFuZCh0KTp0LmNsb25lKCkuaWFuZCh0aGlzKX0sby5wcm90b3R5cGUudWFuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1YW5kKHQpOnQuY2xvbmUoKS5pdWFuZCh0aGlzKX0sby5wcm90b3R5cGUuaXV4b3I9ZnVuY3Rpb24odCl7dmFyIGUscjt0aGlzLmxlbmd0aD50Lmxlbmd0aD8oZT10aGlzLHI9dCk6KGU9dCxyPXRoaXMpO2Zvcih2YXIgbj0wO248ci5sZW5ndGg7bisrKXRoaXMud29yZHNbbl09ZS53b3Jkc1tuXV5yLndvcmRzW25dO2lmKHRoaXMhPT1lKWZvcig7bjxlLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT1lLndvcmRzW25dO3JldHVybiB0aGlzLmxlbmd0aD1lLmxlbmd0aCx0aGlzLl9zdHJpcCgpfSxvLnByb3RvdHlwZS5peG9yPWZ1bmN0aW9uKHQpe3JldHVybiBuKDA9PSh0aGlzLm5lZ2F0aXZlfHQubmVnYXRpdmUpKSx0aGlzLml1eG9yKHQpfSxvLnByb3RvdHlwZS54b3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5peG9yKHQpOnQuY2xvbmUoKS5peG9yKHRoaXMpfSxvLnByb3RvdHlwZS51eG9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaXV4b3IodCk6dC5jbG9uZSgpLml1eG9yKHRoaXMpfSxvLnByb3RvdHlwZS5pbm90bj1mdW5jdGlvbih0KXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIGU9MHxNYXRoLmNlaWwodC8yNikscj10JTI2O3RoaXMuX2V4cGFuZChlKSxyPjAmJmUtLTtmb3IodmFyIGk9MDtpPGU7aSsrKXRoaXMud29yZHNbaV09NjcxMDg4NjMmfnRoaXMud29yZHNbaV07cmV0dXJuIHI+MCYmKHRoaXMud29yZHNbaV09fnRoaXMud29yZHNbaV0mNjcxMDg4NjM+PjI2LXIpLHRoaXMuX3N0cmlwKCl9LG8ucHJvdG90eXBlLm5vdG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih0KX0sby5wcm90b3R5cGUuc2V0bj1mdW5jdGlvbih0LGUpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgcj10LzI2fDAsaT10JTI2O3JldHVybiB0aGlzLl9leHBhbmQocisxKSx0aGlzLndvcmRzW3JdPWU/dGhpcy53b3Jkc1tyXXwxPDxpOnRoaXMud29yZHNbcl0mfigxPDxpKSx0aGlzLl9zdHJpcCgpfSxvLnByb3RvdHlwZS5pYWRkPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbjtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCxlPXRoaXMuaXN1Yih0KSx0aGlzLm5lZ2F0aXZlXj0xLHRoaXMuX25vcm1TaWduKCk7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlKXJldHVybiB0Lm5lZ2F0aXZlPTAsZT10aGlzLmlzdWIodCksdC5uZWdhdGl2ZT0xLGUuX25vcm1TaWduKCk7dGhpcy5sZW5ndGg+dC5sZW5ndGg/KHI9dGhpcyxuPXQpOihyPXQsbj10aGlzKTtmb3IodmFyIGk9MCxvPTA7bzxuLmxlbmd0aDtvKyspZT0oMHxyLndvcmRzW29dKSsoMHxuLndvcmRzW29dKStpLHRoaXMud29yZHNbb109NjcxMDg4NjMmZSxpPWU+Pj4yNjtmb3IoOzAhPT1pJiZvPHIubGVuZ3RoO28rKyllPSgwfHIud29yZHNbb10pK2ksdGhpcy53b3Jkc1tvXT02NzEwODg2MyZlLGk9ZT4+PjI2O2lmKHRoaXMubGVuZ3RoPXIubGVuZ3RoLDAhPT1pKXRoaXMud29yZHNbdGhpcy5sZW5ndGhdPWksdGhpcy5sZW5ndGgrKztlbHNlIGlmKHIhPT10aGlzKWZvcig7bzxyLmxlbmd0aDtvKyspdGhpcy53b3Jkc1tvXT1yLndvcmRzW29dO3JldHVybiB0aGlzfSxvLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIDAhPT10Lm5lZ2F0aXZlJiYwPT09dGhpcy5uZWdhdGl2ZT8odC5uZWdhdGl2ZT0wLGU9dGhpcy5zdWIodCksdC5uZWdhdGl2ZV49MSxlKTowPT09dC5uZWdhdGl2ZSYmMCE9PXRoaXMubmVnYXRpdmU/KHRoaXMubmVnYXRpdmU9MCxlPXQuc3ViKHRoaXMpLHRoaXMubmVnYXRpdmU9MSxlKTp0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaWFkZCh0KTp0LmNsb25lKCkuaWFkZCh0aGlzKX0sby5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbih0KXtpZigwIT09dC5uZWdhdGl2ZSl7dC5uZWdhdGl2ZT0wO3ZhciBlPXRoaXMuaWFkZCh0KTtyZXR1cm4gdC5uZWdhdGl2ZT0xLGUuX25vcm1TaWduKCl9aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGQodCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMuX25vcm1TaWduKCk7dmFyIHIsbixpPXRoaXMuY21wKHQpO2lmKDA9PT1pKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5sZW5ndGg9MSx0aGlzLndvcmRzWzBdPTAsdGhpcztpPjA/KHI9dGhpcyxuPXQpOihyPXQsbj10aGlzKTtmb3IodmFyIG89MCxzPTA7czxuLmxlbmd0aDtzKyspbz0oZT0oMHxyLndvcmRzW3NdKS0oMHxuLndvcmRzW3NdKStvKT4+MjYsdGhpcy53b3Jkc1tzXT02NzEwODg2MyZlO2Zvcig7MCE9PW8mJnM8ci5sZW5ndGg7cysrKW89KGU9KDB8ci53b3Jkc1tzXSkrbyk+PjI2LHRoaXMud29yZHNbc109NjcxMDg4NjMmZTtpZigwPT09byYmczxyLmxlbmd0aCYmciE9PXRoaXMpZm9yKDtzPHIubGVuZ3RoO3MrKyl0aGlzLndvcmRzW3NdPXIud29yZHNbc107cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLHMpLHIhPT10aGlzJiYodGhpcy5uZWdhdGl2ZT0xKSx0aGlzLl9zdHJpcCgpfSxvLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3ViKHQpfTt2YXIgZz1mdW5jdGlvbih0LGUscil7dmFyIG4saSxvLHM9dC53b3JkcyxhPWUud29yZHMsdT1yLndvcmRzLGM9MCxmPTB8c1swXSxoPTgxOTEmZixsPWY+Pj4xMyxkPTB8c1sxXSxwPTgxOTEmZCxtPWQ+Pj4xMyxnPTB8c1syXSxiPTgxOTEmZyx5PWc+Pj4xMyx2PTB8c1szXSxfPTgxOTEmdix3PXY+Pj4xMyxNPTB8c1s0XSxTPTgxOTEmTSxFPU0+Pj4xMyx4PTB8c1s1XSxrPTgxOTEmeCxBPXg+Pj4xMyxSPTB8c1s2XSxUPTgxOTEmUixPPVI+Pj4xMyxDPTB8c1s3XSxQPTgxOTEmQyxJPUM+Pj4xMyxCPTB8c1s4XSxMPTgxOTEmQixqPUI+Pj4xMyxOPTB8c1s5XSxxPTgxOTEmTixVPU4+Pj4xMyxEPTB8YVswXSx6PTgxOTEmRCxIPUQ+Pj4xMyxGPTB8YVsxXSxXPTgxOTEmRixLPUY+Pj4xMyxWPTB8YVsyXSxKPTgxOTEmVixZPVY+Pj4xMyxHPTB8YVszXSxaPTgxOTEmRywkPUc+Pj4xMyxYPTB8YVs0XSxRPTgxOTEmWCx0dD1YPj4+MTMsZXQ9MHxhWzVdLHJ0PTgxOTEmZXQsbnQ9ZXQ+Pj4xMyxpdD0wfGFbNl0sb3Q9ODE5MSZpdCxzdD1pdD4+PjEzLGF0PTB8YVs3XSx1dD04MTkxJmF0LGN0PWF0Pj4+MTMsZnQ9MHxhWzhdLGh0PTgxOTEmZnQsbHQ9ZnQ+Pj4xMyxkdD0wfGFbOV0scHQ9ODE5MSZkdCxtdD1kdD4+PjEzO3IubmVnYXRpdmU9dC5uZWdhdGl2ZV5lLm5lZ2F0aXZlLHIubGVuZ3RoPTE5O3ZhciBndD0oYysobj1NYXRoLmltdWwoaCx6KSl8MCkrKCg4MTkxJihpPShpPU1hdGguaW11bChoLEgpKStNYXRoLmltdWwobCx6KXwwKSk8PDEzKXwwO2M9KChvPU1hdGguaW11bChsLEgpKSsoaT4+PjEzKXwwKSsoZ3Q+Pj4yNil8MCxndCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocCx6KSxpPShpPU1hdGguaW11bChwLEgpKStNYXRoLmltdWwobSx6KXwwLG89TWF0aC5pbXVsKG0sSCk7dmFyIGJ0PShjKyhuPW4rTWF0aC5pbXVsKGgsVyl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsSyl8MCkrTWF0aC5pbXVsKGwsVyl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLEspfDApKyhpPj4+MTMpfDApKyhidD4+PjI2KXwwLGJ0Jj02NzEwODg2MyxuPU1hdGguaW11bChiLHopLGk9KGk9TWF0aC5pbXVsKGIsSCkpK01hdGguaW11bCh5LHopfDAsbz1NYXRoLmltdWwoeSxIKSxuPW4rTWF0aC5pbXVsKHAsVyl8MCxpPShpPWkrTWF0aC5pbXVsKHAsSyl8MCkrTWF0aC5pbXVsKG0sVyl8MCxvPW8rTWF0aC5pbXVsKG0sSyl8MDt2YXIgeXQ9KGMrKG49bitNYXRoLmltdWwoaCxKKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxZKXwwKStNYXRoLmltdWwobCxKKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsWSl8MCkrKGk+Pj4xMyl8MCkrKHl0Pj4+MjYpfDAseXQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKF8seiksaT0oaT1NYXRoLmltdWwoXyxIKSkrTWF0aC5pbXVsKHcseil8MCxvPU1hdGguaW11bCh3LEgpLG49bitNYXRoLmltdWwoYixXKXwwLGk9KGk9aStNYXRoLmltdWwoYixLKXwwKStNYXRoLmltdWwoeSxXKXwwLG89bytNYXRoLmltdWwoeSxLKXwwLG49bitNYXRoLmltdWwocCxKKXwwLGk9KGk9aStNYXRoLmltdWwocCxZKXwwKStNYXRoLmltdWwobSxKKXwwLG89bytNYXRoLmltdWwobSxZKXwwO3ZhciB2dD0oYysobj1uK01hdGguaW11bChoLFopfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLCQpfDApK01hdGguaW11bChsLFopfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCwkKXwwKSsoaT4+PjEzKXwwKSsodnQ+Pj4yNil8MCx2dCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoUyx6KSxpPShpPU1hdGguaW11bChTLEgpKStNYXRoLmltdWwoRSx6KXwwLG89TWF0aC5pbXVsKEUsSCksbj1uK01hdGguaW11bChfLFcpfDAsaT0oaT1pK01hdGguaW11bChfLEspfDApK01hdGguaW11bCh3LFcpfDAsbz1vK01hdGguaW11bCh3LEspfDAsbj1uK01hdGguaW11bChiLEopfDAsaT0oaT1pK01hdGguaW11bChiLFkpfDApK01hdGguaW11bCh5LEopfDAsbz1vK01hdGguaW11bCh5LFkpfDAsbj1uK01hdGguaW11bChwLFopfDAsaT0oaT1pK01hdGguaW11bChwLCQpfDApK01hdGguaW11bChtLFopfDAsbz1vK01hdGguaW11bChtLCQpfDA7dmFyIF90PShjKyhuPW4rTWF0aC5pbXVsKGgsUSl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsdHQpfDApK01hdGguaW11bChsLFEpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCx0dCl8MCkrKGk+Pj4xMyl8MCkrKF90Pj4+MjYpfDAsX3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKGsseiksaT0oaT1NYXRoLmltdWwoayxIKSkrTWF0aC5pbXVsKEEseil8MCxvPU1hdGguaW11bChBLEgpLG49bitNYXRoLmltdWwoUyxXKXwwLGk9KGk9aStNYXRoLmltdWwoUyxLKXwwKStNYXRoLmltdWwoRSxXKXwwLG89bytNYXRoLmltdWwoRSxLKXwwLG49bitNYXRoLmltdWwoXyxKKXwwLGk9KGk9aStNYXRoLmltdWwoXyxZKXwwKStNYXRoLmltdWwodyxKKXwwLG89bytNYXRoLmltdWwodyxZKXwwLG49bitNYXRoLmltdWwoYixaKXwwLGk9KGk9aStNYXRoLmltdWwoYiwkKXwwKStNYXRoLmltdWwoeSxaKXwwLG89bytNYXRoLmltdWwoeSwkKXwwLG49bitNYXRoLmltdWwocCxRKXwwLGk9KGk9aStNYXRoLmltdWwocCx0dCl8MCkrTWF0aC5pbXVsKG0sUSl8MCxvPW8rTWF0aC5pbXVsKG0sdHQpfDA7dmFyIHd0PShjKyhuPW4rTWF0aC5pbXVsKGgscnQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLG50KXwwKStNYXRoLmltdWwobCxydCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLG50KXwwKSsoaT4+PjEzKXwwKSsod3Q+Pj4yNil8MCx3dCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoVCx6KSxpPShpPU1hdGguaW11bChULEgpKStNYXRoLmltdWwoTyx6KXwwLG89TWF0aC5pbXVsKE8sSCksbj1uK01hdGguaW11bChrLFcpfDAsaT0oaT1pK01hdGguaW11bChrLEspfDApK01hdGguaW11bChBLFcpfDAsbz1vK01hdGguaW11bChBLEspfDAsbj1uK01hdGguaW11bChTLEopfDAsaT0oaT1pK01hdGguaW11bChTLFkpfDApK01hdGguaW11bChFLEopfDAsbz1vK01hdGguaW11bChFLFkpfDAsbj1uK01hdGguaW11bChfLFopfDAsaT0oaT1pK01hdGguaW11bChfLCQpfDApK01hdGguaW11bCh3LFopfDAsbz1vK01hdGguaW11bCh3LCQpfDAsbj1uK01hdGguaW11bChiLFEpfDAsaT0oaT1pK01hdGguaW11bChiLHR0KXwwKStNYXRoLmltdWwoeSxRKXwwLG89bytNYXRoLmltdWwoeSx0dCl8MCxuPW4rTWF0aC5pbXVsKHAscnQpfDAsaT0oaT1pK01hdGguaW11bChwLG50KXwwKStNYXRoLmltdWwobSxydCl8MCxvPW8rTWF0aC5pbXVsKG0sbnQpfDA7dmFyIE10PShjKyhuPW4rTWF0aC5pbXVsKGgsb3QpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLHN0KXwwKStNYXRoLmltdWwobCxvdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLHN0KXwwKSsoaT4+PjEzKXwwKSsoTXQ+Pj4yNil8MCxNdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoUCx6KSxpPShpPU1hdGguaW11bChQLEgpKStNYXRoLmltdWwoSSx6KXwwLG89TWF0aC5pbXVsKEksSCksbj1uK01hdGguaW11bChULFcpfDAsaT0oaT1pK01hdGguaW11bChULEspfDApK01hdGguaW11bChPLFcpfDAsbz1vK01hdGguaW11bChPLEspfDAsbj1uK01hdGguaW11bChrLEopfDAsaT0oaT1pK01hdGguaW11bChrLFkpfDApK01hdGguaW11bChBLEopfDAsbz1vK01hdGguaW11bChBLFkpfDAsbj1uK01hdGguaW11bChTLFopfDAsaT0oaT1pK01hdGguaW11bChTLCQpfDApK01hdGguaW11bChFLFopfDAsbz1vK01hdGguaW11bChFLCQpfDAsbj1uK01hdGguaW11bChfLFEpfDAsaT0oaT1pK01hdGguaW11bChfLHR0KXwwKStNYXRoLmltdWwodyxRKXwwLG89bytNYXRoLmltdWwodyx0dCl8MCxuPW4rTWF0aC5pbXVsKGIscnQpfDAsaT0oaT1pK01hdGguaW11bChiLG50KXwwKStNYXRoLmltdWwoeSxydCl8MCxvPW8rTWF0aC5pbXVsKHksbnQpfDAsbj1uK01hdGguaW11bChwLG90KXwwLGk9KGk9aStNYXRoLmltdWwocCxzdCl8MCkrTWF0aC5pbXVsKG0sb3QpfDAsbz1vK01hdGguaW11bChtLHN0KXwwO3ZhciBTdD0oYysobj1uK01hdGguaW11bChoLHV0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxjdCl8MCkrTWF0aC5pbXVsKGwsdXQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxjdCl8MCkrKGk+Pj4xMyl8MCkrKFN0Pj4+MjYpfDAsU3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKEwseiksaT0oaT1NYXRoLmltdWwoTCxIKSkrTWF0aC5pbXVsKGoseil8MCxvPU1hdGguaW11bChqLEgpLG49bitNYXRoLmltdWwoUCxXKXwwLGk9KGk9aStNYXRoLmltdWwoUCxLKXwwKStNYXRoLmltdWwoSSxXKXwwLG89bytNYXRoLmltdWwoSSxLKXwwLG49bitNYXRoLmltdWwoVCxKKXwwLGk9KGk9aStNYXRoLmltdWwoVCxZKXwwKStNYXRoLmltdWwoTyxKKXwwLG89bytNYXRoLmltdWwoTyxZKXwwLG49bitNYXRoLmltdWwoayxaKXwwLGk9KGk9aStNYXRoLmltdWwoaywkKXwwKStNYXRoLmltdWwoQSxaKXwwLG89bytNYXRoLmltdWwoQSwkKXwwLG49bitNYXRoLmltdWwoUyxRKXwwLGk9KGk9aStNYXRoLmltdWwoUyx0dCl8MCkrTWF0aC5pbXVsKEUsUSl8MCxvPW8rTWF0aC5pbXVsKEUsdHQpfDAsbj1uK01hdGguaW11bChfLHJ0KXwwLGk9KGk9aStNYXRoLmltdWwoXyxudCl8MCkrTWF0aC5pbXVsKHcscnQpfDAsbz1vK01hdGguaW11bCh3LG50KXwwLG49bitNYXRoLmltdWwoYixvdCl8MCxpPShpPWkrTWF0aC5pbXVsKGIsc3QpfDApK01hdGguaW11bCh5LG90KXwwLG89bytNYXRoLmltdWwoeSxzdCl8MCxuPW4rTWF0aC5pbXVsKHAsdXQpfDAsaT0oaT1pK01hdGguaW11bChwLGN0KXwwKStNYXRoLmltdWwobSx1dCl8MCxvPW8rTWF0aC5pbXVsKG0sY3QpfDA7dmFyIEV0PShjKyhuPW4rTWF0aC5pbXVsKGgsaHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLGx0KXwwKStNYXRoLmltdWwobCxodCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLGx0KXwwKSsoaT4+PjEzKXwwKSsoRXQ+Pj4yNil8MCxFdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSx6KSxpPShpPU1hdGguaW11bChxLEgpKStNYXRoLmltdWwoVSx6KXwwLG89TWF0aC5pbXVsKFUsSCksbj1uK01hdGguaW11bChMLFcpfDAsaT0oaT1pK01hdGguaW11bChMLEspfDApK01hdGguaW11bChqLFcpfDAsbz1vK01hdGguaW11bChqLEspfDAsbj1uK01hdGguaW11bChQLEopfDAsaT0oaT1pK01hdGguaW11bChQLFkpfDApK01hdGguaW11bChJLEopfDAsbz1vK01hdGguaW11bChJLFkpfDAsbj1uK01hdGguaW11bChULFopfDAsaT0oaT1pK01hdGguaW11bChULCQpfDApK01hdGguaW11bChPLFopfDAsbz1vK01hdGguaW11bChPLCQpfDAsbj1uK01hdGguaW11bChrLFEpfDAsaT0oaT1pK01hdGguaW11bChrLHR0KXwwKStNYXRoLmltdWwoQSxRKXwwLG89bytNYXRoLmltdWwoQSx0dCl8MCxuPW4rTWF0aC5pbXVsKFMscnQpfDAsaT0oaT1pK01hdGguaW11bChTLG50KXwwKStNYXRoLmltdWwoRSxydCl8MCxvPW8rTWF0aC5pbXVsKEUsbnQpfDAsbj1uK01hdGguaW11bChfLG90KXwwLGk9KGk9aStNYXRoLmltdWwoXyxzdCl8MCkrTWF0aC5pbXVsKHcsb3QpfDAsbz1vK01hdGguaW11bCh3LHN0KXwwLG49bitNYXRoLmltdWwoYix1dCl8MCxpPShpPWkrTWF0aC5pbXVsKGIsY3QpfDApK01hdGguaW11bCh5LHV0KXwwLG89bytNYXRoLmltdWwoeSxjdCl8MCxuPW4rTWF0aC5pbXVsKHAsaHQpfDAsaT0oaT1pK01hdGguaW11bChwLGx0KXwwKStNYXRoLmltdWwobSxodCl8MCxvPW8rTWF0aC5pbXVsKG0sbHQpfDA7dmFyIHh0PShjKyhuPW4rTWF0aC5pbXVsKGgscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLG10KXwwKStNYXRoLmltdWwobCxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLG10KXwwKSsoaT4+PjEzKXwwKSsoeHQ+Pj4yNil8MCx4dCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSxXKSxpPShpPU1hdGguaW11bChxLEspKStNYXRoLmltdWwoVSxXKXwwLG89TWF0aC5pbXVsKFUsSyksbj1uK01hdGguaW11bChMLEopfDAsaT0oaT1pK01hdGguaW11bChMLFkpfDApK01hdGguaW11bChqLEopfDAsbz1vK01hdGguaW11bChqLFkpfDAsbj1uK01hdGguaW11bChQLFopfDAsaT0oaT1pK01hdGguaW11bChQLCQpfDApK01hdGguaW11bChJLFopfDAsbz1vK01hdGguaW11bChJLCQpfDAsbj1uK01hdGguaW11bChULFEpfDAsaT0oaT1pK01hdGguaW11bChULHR0KXwwKStNYXRoLmltdWwoTyxRKXwwLG89bytNYXRoLmltdWwoTyx0dCl8MCxuPW4rTWF0aC5pbXVsKGsscnQpfDAsaT0oaT1pK01hdGguaW11bChrLG50KXwwKStNYXRoLmltdWwoQSxydCl8MCxvPW8rTWF0aC5pbXVsKEEsbnQpfDAsbj1uK01hdGguaW11bChTLG90KXwwLGk9KGk9aStNYXRoLmltdWwoUyxzdCl8MCkrTWF0aC5pbXVsKEUsb3QpfDAsbz1vK01hdGguaW11bChFLHN0KXwwLG49bitNYXRoLmltdWwoXyx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKF8sY3QpfDApK01hdGguaW11bCh3LHV0KXwwLG89bytNYXRoLmltdWwodyxjdCl8MCxuPW4rTWF0aC5pbXVsKGIsaHQpfDAsaT0oaT1pK01hdGguaW11bChiLGx0KXwwKStNYXRoLmltdWwoeSxodCl8MCxvPW8rTWF0aC5pbXVsKHksbHQpfDA7dmFyIGt0PShjKyhuPW4rTWF0aC5pbXVsKHAscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChwLG10KXwwKStNYXRoLmltdWwobSxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChtLG10KXwwKSsoaT4+PjEzKXwwKSsoa3Q+Pj4yNil8MCxrdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSxKKSxpPShpPU1hdGguaW11bChxLFkpKStNYXRoLmltdWwoVSxKKXwwLG89TWF0aC5pbXVsKFUsWSksbj1uK01hdGguaW11bChMLFopfDAsaT0oaT1pK01hdGguaW11bChMLCQpfDApK01hdGguaW11bChqLFopfDAsbz1vK01hdGguaW11bChqLCQpfDAsbj1uK01hdGguaW11bChQLFEpfDAsaT0oaT1pK01hdGguaW11bChQLHR0KXwwKStNYXRoLmltdWwoSSxRKXwwLG89bytNYXRoLmltdWwoSSx0dCl8MCxuPW4rTWF0aC5pbXVsKFQscnQpfDAsaT0oaT1pK01hdGguaW11bChULG50KXwwKStNYXRoLmltdWwoTyxydCl8MCxvPW8rTWF0aC5pbXVsKE8sbnQpfDAsbj1uK01hdGguaW11bChrLG90KXwwLGk9KGk9aStNYXRoLmltdWwoayxzdCl8MCkrTWF0aC5pbXVsKEEsb3QpfDAsbz1vK01hdGguaW11bChBLHN0KXwwLG49bitNYXRoLmltdWwoUyx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKFMsY3QpfDApK01hdGguaW11bChFLHV0KXwwLG89bytNYXRoLmltdWwoRSxjdCl8MCxuPW4rTWF0aC5pbXVsKF8saHQpfDAsaT0oaT1pK01hdGguaW11bChfLGx0KXwwKStNYXRoLmltdWwodyxodCl8MCxvPW8rTWF0aC5pbXVsKHcsbHQpfDA7dmFyIEF0PShjKyhuPW4rTWF0aC5pbXVsKGIscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChiLG10KXwwKStNYXRoLmltdWwoeSxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bCh5LG10KXwwKSsoaT4+PjEzKXwwKSsoQXQ+Pj4yNil8MCxBdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSxaKSxpPShpPU1hdGguaW11bChxLCQpKStNYXRoLmltdWwoVSxaKXwwLG89TWF0aC5pbXVsKFUsJCksbj1uK01hdGguaW11bChMLFEpfDAsaT0oaT1pK01hdGguaW11bChMLHR0KXwwKStNYXRoLmltdWwoaixRKXwwLG89bytNYXRoLmltdWwoaix0dCl8MCxuPW4rTWF0aC5pbXVsKFAscnQpfDAsaT0oaT1pK01hdGguaW11bChQLG50KXwwKStNYXRoLmltdWwoSSxydCl8MCxvPW8rTWF0aC5pbXVsKEksbnQpfDAsbj1uK01hdGguaW11bChULG90KXwwLGk9KGk9aStNYXRoLmltdWwoVCxzdCl8MCkrTWF0aC5pbXVsKE8sb3QpfDAsbz1vK01hdGguaW11bChPLHN0KXwwLG49bitNYXRoLmltdWwoayx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKGssY3QpfDApK01hdGguaW11bChBLHV0KXwwLG89bytNYXRoLmltdWwoQSxjdCl8MCxuPW4rTWF0aC5pbXVsKFMsaHQpfDAsaT0oaT1pK01hdGguaW11bChTLGx0KXwwKStNYXRoLmltdWwoRSxodCl8MCxvPW8rTWF0aC5pbXVsKEUsbHQpfDA7dmFyIFJ0PShjKyhuPW4rTWF0aC5pbXVsKF8scHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChfLG10KXwwKStNYXRoLmltdWwodyxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bCh3LG10KXwwKSsoaT4+PjEzKXwwKSsoUnQ+Pj4yNil8MCxSdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSxRKSxpPShpPU1hdGguaW11bChxLHR0KSkrTWF0aC5pbXVsKFUsUSl8MCxvPU1hdGguaW11bChVLHR0KSxuPW4rTWF0aC5pbXVsKEwscnQpfDAsaT0oaT1pK01hdGguaW11bChMLG50KXwwKStNYXRoLmltdWwoaixydCl8MCxvPW8rTWF0aC5pbXVsKGosbnQpfDAsbj1uK01hdGguaW11bChQLG90KXwwLGk9KGk9aStNYXRoLmltdWwoUCxzdCl8MCkrTWF0aC5pbXVsKEksb3QpfDAsbz1vK01hdGguaW11bChJLHN0KXwwLG49bitNYXRoLmltdWwoVCx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKFQsY3QpfDApK01hdGguaW11bChPLHV0KXwwLG89bytNYXRoLmltdWwoTyxjdCl8MCxuPW4rTWF0aC5pbXVsKGssaHQpfDAsaT0oaT1pK01hdGguaW11bChrLGx0KXwwKStNYXRoLmltdWwoQSxodCl8MCxvPW8rTWF0aC5pbXVsKEEsbHQpfDA7dmFyIFR0PShjKyhuPW4rTWF0aC5pbXVsKFMscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChTLG10KXwwKStNYXRoLmltdWwoRSxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChFLG10KXwwKSsoaT4+PjEzKXwwKSsoVHQ+Pj4yNil8MCxUdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSxydCksaT0oaT1NYXRoLmltdWwocSxudCkpK01hdGguaW11bChVLHJ0KXwwLG89TWF0aC5pbXVsKFUsbnQpLG49bitNYXRoLmltdWwoTCxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKEwsc3QpfDApK01hdGguaW11bChqLG90KXwwLG89bytNYXRoLmltdWwoaixzdCl8MCxuPW4rTWF0aC5pbXVsKFAsdXQpfDAsaT0oaT1pK01hdGguaW11bChQLGN0KXwwKStNYXRoLmltdWwoSSx1dCl8MCxvPW8rTWF0aC5pbXVsKEksY3QpfDAsbj1uK01hdGguaW11bChULGh0KXwwLGk9KGk9aStNYXRoLmltdWwoVCxsdCl8MCkrTWF0aC5pbXVsKE8saHQpfDAsbz1vK01hdGguaW11bChPLGx0KXwwO3ZhciBPdD0oYysobj1uK01hdGguaW11bChrLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoayxtdCl8MCkrTWF0aC5pbXVsKEEscHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoQSxtdCl8MCkrKGk+Pj4xMyl8MCkrKE90Pj4+MjYpfDAsT3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEsb3QpLGk9KGk9TWF0aC5pbXVsKHEsc3QpKStNYXRoLmltdWwoVSxvdCl8MCxvPU1hdGguaW11bChVLHN0KSxuPW4rTWF0aC5pbXVsKEwsdXQpfDAsaT0oaT1pK01hdGguaW11bChMLGN0KXwwKStNYXRoLmltdWwoaix1dCl8MCxvPW8rTWF0aC5pbXVsKGosY3QpfDAsbj1uK01hdGguaW11bChQLGh0KXwwLGk9KGk9aStNYXRoLmltdWwoUCxsdCl8MCkrTWF0aC5pbXVsKEksaHQpfDAsbz1vK01hdGguaW11bChJLGx0KXwwO3ZhciBDdD0oYysobj1uK01hdGguaW11bChULHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoVCxtdCl8MCkrTWF0aC5pbXVsKE8scHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoTyxtdCl8MCkrKGk+Pj4xMyl8MCkrKEN0Pj4+MjYpfDAsQ3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEsdXQpLGk9KGk9TWF0aC5pbXVsKHEsY3QpKStNYXRoLmltdWwoVSx1dCl8MCxvPU1hdGguaW11bChVLGN0KSxuPW4rTWF0aC5pbXVsKEwsaHQpfDAsaT0oaT1pK01hdGguaW11bChMLGx0KXwwKStNYXRoLmltdWwoaixodCl8MCxvPW8rTWF0aC5pbXVsKGosbHQpfDA7dmFyIFB0PShjKyhuPW4rTWF0aC5pbXVsKFAscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChQLG10KXwwKStNYXRoLmltdWwoSSxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChJLG10KXwwKSsoaT4+PjEzKXwwKSsoUHQ+Pj4yNil8MCxQdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSxodCksaT0oaT1NYXRoLmltdWwocSxsdCkpK01hdGguaW11bChVLGh0KXwwLG89TWF0aC5pbXVsKFUsbHQpO3ZhciBJdD0oYysobj1uK01hdGguaW11bChMLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoTCxtdCl8MCkrTWF0aC5pbXVsKGoscHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoaixtdCl8MCkrKGk+Pj4xMyl8MCkrKEl0Pj4+MjYpfDAsSXQmPTY3MTA4ODYzO3ZhciBCdD0oYysobj1NYXRoLmltdWwocSxwdCkpfDApKygoODE5MSYoaT0oaT1NYXRoLmltdWwocSxtdCkpK01hdGguaW11bChVLHB0KXwwKSk8PDEzKXwwO3JldHVybiBjPSgobz1NYXRoLmltdWwoVSxtdCkpKyhpPj4+MTMpfDApKyhCdD4+PjI2KXwwLEJ0Jj02NzEwODg2Myx1WzBdPWd0LHVbMV09YnQsdVsyXT15dCx1WzNdPXZ0LHVbNF09X3QsdVs1XT13dCx1WzZdPU10LHVbN109U3QsdVs4XT1FdCx1WzldPXh0LHVbMTBdPWt0LHVbMTFdPUF0LHVbMTJdPVJ0LHVbMTNdPVR0LHVbMTRdPU90LHVbMTVdPUN0LHVbMTZdPVB0LHVbMTddPUl0LHVbMThdPUJ0LDAhPT1jJiYodVsxOV09YyxyLmxlbmd0aCsrKSxyfTtmdW5jdGlvbiBiKHQsZSxyKXtyLm5lZ2F0aXZlPWUubmVnYXRpdmVedC5uZWdhdGl2ZSxyLmxlbmd0aD10Lmxlbmd0aCtlLmxlbmd0aDtmb3IodmFyIG49MCxpPTAsbz0wO288ci5sZW5ndGgtMTtvKyspe3ZhciBzPWk7aT0wO2Zvcih2YXIgYT02NzEwODg2MyZuLHU9TWF0aC5taW4obyxlLmxlbmd0aC0xKSxjPU1hdGgubWF4KDAsby10Lmxlbmd0aCsxKTtjPD11O2MrKyl7dmFyIGY9by1jLGg9KDB8dC53b3Jkc1tmXSkqKDB8ZS53b3Jkc1tjXSksbD02NzEwODg2MyZoO2E9NjcxMDg4NjMmKGw9bCthfDApLGkrPShzPShzPXMrKGgvNjcxMDg4NjR8MCl8MCkrKGw+Pj4yNil8MCk+Pj4yNixzJj02NzEwODg2M31yLndvcmRzW29dPWEsbj1zLHM9aX1yZXR1cm4gMCE9PW4/ci53b3Jkc1tvXT1uOnIubGVuZ3RoLS0sci5fc3RyaXAoKX1mdW5jdGlvbiB5KHQsZSxyKXtyZXR1cm4gYih0LGUscil9ZnVuY3Rpb24gdih0LGUpe3RoaXMueD10LHRoaXMueT1lfU1hdGguaW11bHx8KGc9bSksby5wcm90b3R5cGUubXVsVG89ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmxlbmd0aCt0Lmxlbmd0aDtyZXR1cm4gMTA9PT10aGlzLmxlbmd0aCYmMTA9PT10Lmxlbmd0aD9nKHRoaXMsdCxlKTpyPDYzP20odGhpcyx0LGUpOnI8MTAyND9iKHRoaXMsdCxlKTp5KHRoaXMsdCxlKX0sdi5wcm90b3R5cGUubWFrZVJCVD1mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQpLHI9by5wcm90b3R5cGUuX2NvdW50Qml0cyh0KS0xLG49MDtuPHQ7bisrKWVbbl09dGhpcy5yZXZCaW4obixyLHQpO3JldHVybiBlfSx2LnByb3RvdHlwZS5yZXZCaW49ZnVuY3Rpb24odCxlLHIpe2lmKDA9PT10fHx0PT09ci0xKXJldHVybiB0O2Zvcih2YXIgbj0wLGk9MDtpPGU7aSsrKW58PSgxJnQpPDxlLWktMSx0Pj49MTtyZXR1cm4gbn0sdi5wcm90b3R5cGUucGVybXV0ZT1mdW5jdGlvbih0LGUscixuLGksbyl7Zm9yKHZhciBzPTA7czxvO3MrKyluW3NdPWVbdFtzXV0saVtzXT1yW3Rbc11dfSx2LnByb3RvdHlwZS50cmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIsbixpLG8pe3RoaXMucGVybXV0ZShvLHQsZSxyLG4saSk7Zm9yKHZhciBzPTE7czxpO3M8PD0xKWZvcih2YXIgYT1zPDwxLHU9TWF0aC5jb3MoMipNYXRoLlBJL2EpLGM9TWF0aC5zaW4oMipNYXRoLlBJL2EpLGY9MDtmPGk7Zis9YSlmb3IodmFyIGg9dSxsPWMsZD0wO2Q8cztkKyspe3ZhciBwPXJbZitkXSxtPW5bZitkXSxnPXJbZitkK3NdLGI9bltmK2Qrc10seT1oKmctbCpiO2I9aCpiK2wqZyxnPXkscltmK2RdPXArZyxuW2YrZF09bStiLHJbZitkK3NdPXAtZyxuW2YrZCtzXT1tLWIsZCE9PWEmJih5PXUqaC1jKmwsbD11KmwrYypoLGg9eSl9fSx2LnByb3RvdHlwZS5ndWVzc0xlbjEzYj1mdW5jdGlvbih0LGUpe3ZhciByPTF8TWF0aC5tYXgoZSx0KSxuPTEmcixpPTA7Zm9yKHI9ci8yfDA7cjtyPj4+PTEpaSsrO3JldHVybiAxPDxpKzErbn0sdi5wcm90b3R5cGUuY29uanVnYXRlPWZ1bmN0aW9uKHQsZSxyKXtpZighKHI8PTEpKWZvcih2YXIgbj0wO248ci8yO24rKyl7dmFyIGk9dFtuXTt0W25dPXRbci1uLTFdLHRbci1uLTFdPWksaT1lW25dLGVbbl09LWVbci1uLTFdLGVbci1uLTFdPS1pfX0sdi5wcm90b3R5cGUubm9ybWFsaXplMTNiPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTAsbj0wO248ZS8yO24rKyl7dmFyIGk9ODE5MipNYXRoLnJvdW5kKHRbMipuKzFdL2UpK01hdGgucm91bmQodFsyKm5dL2UpK3I7dFtuXT02NzEwODg2MyZpLHI9aTw2NzEwODg2ND8wOmkvNjcxMDg4NjR8MH1yZXR1cm4gdH0sdi5wcm90b3R5cGUuY29udmVydDEzYj1mdW5jdGlvbih0LGUscixpKXtmb3IodmFyIG89MCxzPTA7czxlO3MrKylvKz0wfHRbc10sclsyKnNdPTgxOTEmbyxvPj4+PTEzLHJbMipzKzFdPTgxOTEmbyxvPj4+PTEzO2ZvcihzPTIqZTtzPGk7KytzKXJbc109MDtuKDA9PT1vKSxuKDA9PSgtODE5MiZvKSl9LHYucHJvdG90eXBlLnN0dWI9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0KSxyPTA7cjx0O3IrKyllW3JdPTA7cmV0dXJuIGV9LHYucHJvdG90eXBlLm11bHA9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPTIqdGhpcy5ndWVzc0xlbjEzYih0Lmxlbmd0aCxlLmxlbmd0aCksaT10aGlzLm1ha2VSQlQobiksbz10aGlzLnN0dWIobikscz1uZXcgQXJyYXkobiksYT1uZXcgQXJyYXkobiksdT1uZXcgQXJyYXkobiksYz1uZXcgQXJyYXkobiksZj1uZXcgQXJyYXkobiksaD1uZXcgQXJyYXkobiksbD1yLndvcmRzO2wubGVuZ3RoPW4sdGhpcy5jb252ZXJ0MTNiKHQud29yZHMsdC5sZW5ndGgscyxuKSx0aGlzLmNvbnZlcnQxM2IoZS53b3JkcyxlLmxlbmd0aCxjLG4pLHRoaXMudHJhbnNmb3JtKHMsbyxhLHUsbixpKSx0aGlzLnRyYW5zZm9ybShjLG8sZixoLG4saSk7Zm9yKHZhciBkPTA7ZDxuO2QrKyl7dmFyIHA9YVtkXSpmW2RdLXVbZF0qaFtkXTt1W2RdPWFbZF0qaFtkXSt1W2RdKmZbZF0sYVtkXT1wfXJldHVybiB0aGlzLmNvbmp1Z2F0ZShhLHUsbiksdGhpcy50cmFuc2Zvcm0oYSx1LGwsbyxuLGkpLHRoaXMuY29uanVnYXRlKGwsbyxuKSx0aGlzLm5vcm1hbGl6ZTEzYihsLG4pLHIubmVnYXRpdmU9dC5uZWdhdGl2ZV5lLm5lZ2F0aXZlLHIubGVuZ3RoPXQubGVuZ3RoK2UubGVuZ3RoLHIuX3N0cmlwKCl9LG8ucHJvdG90eXBlLm11bD1mdW5jdGlvbih0KXt2YXIgZT1uZXcgbyhudWxsKTtyZXR1cm4gZS53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgrdC5sZW5ndGgpLHRoaXMubXVsVG8odCxlKX0sby5wcm90b3R5cGUubXVsZj1mdW5jdGlvbih0KXt2YXIgZT1uZXcgbyhudWxsKTtyZXR1cm4gZS53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgrdC5sZW5ndGgpLHkodGhpcyx0LGUpfSxvLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkubXVsVG8odCx0aGlzKX0sby5wcm90b3R5cGUuaW11bG49ZnVuY3Rpb24odCl7dmFyIGU9dDwwO2UmJih0PS10KSxuKCJudW1iZXIiPT10eXBlb2YgdCksbih0PDY3MTA4ODY0KTtmb3IodmFyIHI9MCxpPTA7aTx0aGlzLmxlbmd0aDtpKyspe3ZhciBvPSgwfHRoaXMud29yZHNbaV0pKnQscz0oNjcxMDg4NjMmbykrKDY3MTA4ODYzJnIpO3I+Pj0yNixyKz1vLzY3MTA4ODY0fDAscis9cz4+PjI2LHRoaXMud29yZHNbaV09NjcxMDg4NjMmc31yZXR1cm4gMCE9PXImJih0aGlzLndvcmRzW2ldPXIsdGhpcy5sZW5ndGgrKyksZT90aGlzLmluZWcoKTp0aGlzfSxvLnByb3RvdHlwZS5tdWxuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW11bG4odCl9LG8ucHJvdG90eXBlLnNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm11bCh0aGlzKX0sby5wcm90b3R5cGUuaXNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmltdWwodGhpcy5jbG9uZSgpKX0sby5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHQpe3ZhciBlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodC5iaXRMZW5ndGgoKSkscj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1yLzI2fDAsaT1yJTI2O2Vbcl09dC53b3Jkc1tuXT4+PmkmMX1yZXR1cm4gZX0odCk7aWYoMD09PWUubGVuZ3RoKXJldHVybiBuZXcgbygxKTtmb3IodmFyIHI9dGhpcyxuPTA7bjxlLmxlbmd0aCYmMD09PWVbbl07bisrLHI9ci5zcXIoKSk7aWYoKytuPGUubGVuZ3RoKWZvcih2YXIgaT1yLnNxcigpO248ZS5sZW5ndGg7bisrLGk9aS5zcXIoKSkwIT09ZVtuXSYmKHI9ci5tdWwoaSkpO3JldHVybiByfSxvLnByb3RvdHlwZS5pdXNobG49ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBlLHI9dCUyNixpPSh0LXIpLzI2LG89NjcxMDg4NjM+Pj4yNi1yPDwyNi1yO2lmKDAhPT1yKXt2YXIgcz0wO2ZvcihlPTA7ZTx0aGlzLmxlbmd0aDtlKyspe3ZhciBhPXRoaXMud29yZHNbZV0mbyx1PSgwfHRoaXMud29yZHNbZV0pLWE8PHI7dGhpcy53b3Jkc1tlXT11fHMscz1hPj4+MjYtcn1zJiYodGhpcy53b3Jkc1tlXT1zLHRoaXMubGVuZ3RoKyspfWlmKDAhPT1pKXtmb3IoZT10aGlzLmxlbmd0aC0xO2U+PTA7ZS0tKXRoaXMud29yZHNbZStpXT10aGlzLndvcmRzW2VdO2ZvcihlPTA7ZTxpO2UrKyl0aGlzLndvcmRzW2VdPTA7dGhpcy5sZW5ndGgrPWl9cmV0dXJuIHRoaXMuX3N0cmlwKCl9LG8ucHJvdG90eXBlLmlzaGxuPWZ1bmN0aW9uKHQpe3JldHVybiBuKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hsbih0KX0sby5wcm90b3R5cGUuaXVzaHJuPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaTtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCksaT1lPyhlLWUlMjYpLzI2OjA7dmFyIG89dCUyNixzPU1hdGgubWluKCh0LW8pLzI2LHRoaXMubGVuZ3RoKSxhPTY3MTA4ODYzXjY3MTA4ODYzPj4+bzw8byx1PXI7aWYoaS09cyxpPU1hdGgubWF4KDAsaSksdSl7Zm9yKHZhciBjPTA7YzxzO2MrKyl1LndvcmRzW2NdPXRoaXMud29yZHNbY107dS5sZW5ndGg9c31pZigwPT09cyk7ZWxzZSBpZih0aGlzLmxlbmd0aD5zKWZvcih0aGlzLmxlbmd0aC09cyxjPTA7Yzx0aGlzLmxlbmd0aDtjKyspdGhpcy53b3Jkc1tjXT10aGlzLndvcmRzW2Mrc107ZWxzZSB0aGlzLndvcmRzWzBdPTAsdGhpcy5sZW5ndGg9MTt2YXIgZj0wO2ZvcihjPXRoaXMubGVuZ3RoLTE7Yz49MCYmKDAhPT1mfHxjPj1pKTtjLS0pe3ZhciBoPTB8dGhpcy53b3Jkc1tjXTt0aGlzLndvcmRzW2NdPWY8PDI2LW98aD4+Pm8sZj1oJmF9cmV0dXJuIHUmJjAhPT1mJiYodS53b3Jkc1t1Lmxlbmd0aCsrXT1mKSwwPT09dGhpcy5sZW5ndGgmJih0aGlzLndvcmRzWzBdPTAsdGhpcy5sZW5ndGg9MSksdGhpcy5fc3RyaXAoKX0sby5wcm90b3R5cGUuaXNocm49ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hybih0LGUscil9LG8ucHJvdG90eXBlLnNobG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbih0KX0sby5wcm90b3R5cGUudXNobG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNobG4odCl9LG8ucHJvdG90eXBlLnNocm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hybih0KX0sby5wcm90b3R5cGUudXNocm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4odCl9LG8ucHJvdG90eXBlLnRlc3RuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZT10JTI2LHI9KHQtZSkvMjYsaT0xPDxlO3JldHVybiEodGhpcy5sZW5ndGg8PXIpJiYhISh0aGlzLndvcmRzW3JdJmkpfSxvLnByb3RvdHlwZS5pbWFza249ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBlPXQlMjYscj0odC1lKS8yNjtpZihuKDA9PT10aGlzLm5lZ2F0aXZlLCJpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMiKSx0aGlzLmxlbmd0aDw9cilyZXR1cm4gdGhpcztpZigwIT09ZSYmcisrLHRoaXMubGVuZ3RoPU1hdGgubWluKHIsdGhpcy5sZW5ndGgpLDAhPT1lKXt2YXIgaT02NzEwODg2M142NzEwODg2Mz4+PmU8PGU7dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSY9aX1yZXR1cm4gdGhpcy5fc3RyaXAoKX0sby5wcm90b3R5cGUubWFza249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24odCl9LG8ucHJvdG90eXBlLmlhZGRuPWZ1bmN0aW9uKHQpe3JldHVybiBuKCJudW1iZXIiPT10eXBlb2YgdCksbih0PDY3MTA4ODY0KSx0PDA/dGhpcy5pc3VibigtdCk6MCE9PXRoaXMubmVnYXRpdmU/MT09PXRoaXMubGVuZ3RoJiYoMHx0aGlzLndvcmRzWzBdKTw9dD8odGhpcy53b3Jkc1swXT10LSgwfHRoaXMud29yZHNbMF0pLHRoaXMubmVnYXRpdmU9MCx0aGlzKToodGhpcy5uZWdhdGl2ZT0wLHRoaXMuaXN1Ym4odCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMpOnRoaXMuX2lhZGRuKHQpfSxvLnByb3RvdHlwZS5faWFkZG49ZnVuY3Rpb24odCl7dGhpcy53b3Jkc1swXSs9dDtmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2VdPj02NzEwODg2NDtlKyspdGhpcy53b3Jkc1tlXS09NjcxMDg4NjQsZT09PXRoaXMubGVuZ3RoLTE/dGhpcy53b3Jkc1tlKzFdPTE6dGhpcy53b3Jkc1tlKzFdKys7cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLGUrMSksdGhpc30sby5wcm90b3R5cGUuaXN1Ym49ZnVuY3Rpb24odCl7aWYobigibnVtYmVyIj09dHlwZW9mIHQpLG4odDw2NzEwODg2NCksdDwwKXJldHVybiB0aGlzLmlhZGRuKC10KTtpZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZG4odCksdGhpcy5uZWdhdGl2ZT0xLHRoaXM7aWYodGhpcy53b3Jkc1swXS09dCwxPT09dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbMF08MCl0aGlzLndvcmRzWzBdPS10aGlzLndvcmRzWzBdLHRoaXMubmVnYXRpdmU9MTtlbHNlIGZvcih2YXIgZT0wO2U8dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbZV08MDtlKyspdGhpcy53b3Jkc1tlXSs9NjcxMDg4NjQsdGhpcy53b3Jkc1tlKzFdLT0xO3JldHVybiB0aGlzLl9zdHJpcCgpfSxvLnByb3RvdHlwZS5hZGRuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWFkZG4odCl9LG8ucHJvdG90eXBlLnN1Ym49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3Vibih0KX0sby5wcm90b3R5cGUuaWFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpc30sby5wcm90b3R5cGUuYWJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWJzKCl9LG8ucHJvdG90eXBlLl9pc2hsbnN1Ym11bD1mdW5jdGlvbih0LGUscil7dmFyIGksbyxzPXQubGVuZ3RoK3I7dGhpcy5fZXhwYW5kKHMpO3ZhciBhPTA7Zm9yKGk9MDtpPHQubGVuZ3RoO2krKyl7bz0oMHx0aGlzLndvcmRzW2krcl0pK2E7dmFyIHU9KDB8dC53b3Jkc1tpXSkqZTthPSgoby09NjcxMDg4NjMmdSk+PjI2KS0odS82NzEwODg2NHwwKSx0aGlzLndvcmRzW2krcl09NjcxMDg4NjMmb31mb3IoO2k8dGhpcy5sZW5ndGgtcjtpKyspYT0obz0oMHx0aGlzLndvcmRzW2krcl0pK2EpPj4yNix0aGlzLndvcmRzW2krcl09NjcxMDg4NjMmbztpZigwPT09YSlyZXR1cm4gdGhpcy5fc3RyaXAoKTtmb3IobigtMT09PWEpLGE9MCxpPTA7aTx0aGlzLmxlbmd0aDtpKyspYT0obz0tKDB8dGhpcy53b3Jkc1tpXSkrYSk+PjI2LHRoaXMud29yZHNbaV09NjcxMDg4NjMmbztyZXR1cm4gdGhpcy5uZWdhdGl2ZT0xLHRoaXMuX3N0cmlwKCl9LG8ucHJvdG90eXBlLl93b3JkRGl2PWZ1bmN0aW9uKHQsZSl7dmFyIHI9KHRoaXMubGVuZ3RoLHQubGVuZ3RoKSxuPXRoaXMuY2xvbmUoKSxpPXQscz0wfGkud29yZHNbaS5sZW5ndGgtMV07MCE9PShyPTI2LXRoaXMuX2NvdW50Qml0cyhzKSkmJihpPWkudXNobG4ociksbi5pdXNobG4ocikscz0wfGkud29yZHNbaS5sZW5ndGgtMV0pO3ZhciBhLHU9bi5sZW5ndGgtaS5sZW5ndGg7aWYoIm1vZCIhPT1lKXsoYT1uZXcgbyhudWxsKSkubGVuZ3RoPXUrMSxhLndvcmRzPW5ldyBBcnJheShhLmxlbmd0aCk7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYS53b3Jkc1tjXT0wfXZhciBmPW4uY2xvbmUoKS5faXNobG5zdWJtdWwoaSwxLHUpOzA9PT1mLm5lZ2F0aXZlJiYobj1mLGEmJihhLndvcmRzW3VdPTEpKTtmb3IodmFyIGg9dS0xO2g+PTA7aC0tKXt2YXIgbD02NzEwODg2NCooMHxuLndvcmRzW2kubGVuZ3RoK2hdKSsoMHxuLndvcmRzW2kubGVuZ3RoK2gtMV0pO2ZvcihsPU1hdGgubWluKGwvc3wwLDY3MTA4ODYzKSxuLl9pc2hsbnN1Ym11bChpLGwsaCk7MCE9PW4ubmVnYXRpdmU7KWwtLSxuLm5lZ2F0aXZlPTAsbi5faXNobG5zdWJtdWwoaSwxLGgpLG4uaXNaZXJvKCl8fChuLm5lZ2F0aXZlXj0xKTthJiYoYS53b3Jkc1toXT1sKX1yZXR1cm4gYSYmYS5fc3RyaXAoKSxuLl9zdHJpcCgpLCJkaXYiIT09ZSYmMCE9PXImJm4uaXVzaHJuKHIpLHtkaXY6YXx8bnVsbCxtb2Q6bn19LG8ucHJvdG90eXBlLmRpdm1vZD1mdW5jdGlvbih0LGUscil7cmV0dXJuIG4oIXQuaXNaZXJvKCkpLHRoaXMuaXNaZXJvKCk/e2RpdjpuZXcgbygwKSxtb2Q6bmV3IG8oMCl9OjAhPT10aGlzLm5lZ2F0aXZlJiYwPT09dC5uZWdhdGl2ZT8oYT10aGlzLm5lZygpLmRpdm1vZCh0LGUpLCJtb2QiIT09ZSYmKGk9YS5kaXYubmVnKCkpLCJkaXYiIT09ZSYmKHM9YS5tb2QubmVnKCksciYmMCE9PXMubmVnYXRpdmUmJnMuaWFkZCh0KSkse2RpdjppLG1vZDpzfSk6MD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlPyhhPXRoaXMuZGl2bW9kKHQubmVnKCksZSksIm1vZCIhPT1lJiYoaT1hLmRpdi5uZWcoKSkse2RpdjppLG1vZDphLm1vZH0pOjAhPSh0aGlzLm5lZ2F0aXZlJnQubmVnYXRpdmUpPyhhPXRoaXMubmVnKCkuZGl2bW9kKHQubmVnKCksZSksImRpdiIhPT1lJiYocz1hLm1vZC5uZWcoKSxyJiYwIT09cy5uZWdhdGl2ZSYmcy5pc3ViKHQpKSx7ZGl2OmEuZGl2LG1vZDpzfSk6dC5sZW5ndGg+dGhpcy5sZW5ndGh8fHRoaXMuY21wKHQpPDA/e2RpdjpuZXcgbygwKSxtb2Q6dGhpc306MT09PXQubGVuZ3RoPyJkaXYiPT09ZT97ZGl2OnRoaXMuZGl2bih0LndvcmRzWzBdKSxtb2Q6bnVsbH06Im1vZCI9PT1lP3tkaXY6bnVsbCxtb2Q6bmV3IG8odGhpcy5tb2Rybih0LndvcmRzWzBdKSl9OntkaXY6dGhpcy5kaXZuKHQud29yZHNbMF0pLG1vZDpuZXcgbyh0aGlzLm1vZHJuKHQud29yZHNbMF0pKX06dGhpcy5fd29yZERpdih0LGUpO3ZhciBpLHMsYX0sby5wcm90b3R5cGUuZGl2PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJkaXYiLCExKS5kaXZ9LG8ucHJvdG90eXBlLm1vZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kaXZtb2QodCwibW9kIiwhMSkubW9kfSxvLnByb3RvdHlwZS51bW9kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJtb2QiLCEwKS5tb2R9LG8ucHJvdG90eXBlLmRpdlJvdW5kPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZGl2bW9kKHQpO2lmKGUubW9kLmlzWmVybygpKXJldHVybiBlLmRpdjt2YXIgcj0wIT09ZS5kaXYubmVnYXRpdmU/ZS5tb2QuaXN1Yih0KTplLm1vZCxuPXQudXNocm4oMSksaT10LmFuZGxuKDEpLG89ci5jbXAobik7cmV0dXJuIG88MHx8MT09PWkmJjA9PT1vP2UuZGl2OjAhPT1lLmRpdi5uZWdhdGl2ZT9lLmRpdi5pc3VibigxKTplLmRpdi5pYWRkbigxKX0sby5wcm90b3R5cGUubW9kcm49ZnVuY3Rpb24odCl7dmFyIGU9dDwwO2UmJih0PS10KSxuKHQ8PTY3MTA4ODYzKTtmb3IodmFyIHI9KDE8PDI2KSV0LGk9MCxvPXRoaXMubGVuZ3RoLTE7bz49MDtvLS0paT0ocippKygwfHRoaXMud29yZHNbb10pKSV0O3JldHVybiBlPy1pOml9LG8ucHJvdG90eXBlLm1vZG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubW9kcm4odCl9LG8ucHJvdG90eXBlLmlkaXZuPWZ1bmN0aW9uKHQpe3ZhciBlPXQ8MDtlJiYodD0tdCksbih0PD02NzEwODg2Myk7Zm9yKHZhciByPTAsaT10aGlzLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIgbz0oMHx0aGlzLndvcmRzW2ldKSs2NzEwODg2NCpyO3RoaXMud29yZHNbaV09by90fDAscj1vJXR9cmV0dXJuIHRoaXMuX3N0cmlwKCksZT90aGlzLmluZWcoKTp0aGlzfSxvLnByb3RvdHlwZS5kaXZuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWRpdm4odCl9LG8ucHJvdG90eXBlLmVnY2Q9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSksbighdC5pc1plcm8oKSk7dmFyIGU9dGhpcyxyPXQuY2xvbmUoKTtlPTAhPT1lLm5lZ2F0aXZlP2UudW1vZCh0KTplLmNsb25lKCk7Zm9yKHZhciBpPW5ldyBvKDEpLHM9bmV3IG8oMCksYT1uZXcgbygwKSx1PW5ldyBvKDEpLGM9MDtlLmlzRXZlbigpJiZyLmlzRXZlbigpOyllLml1c2hybigxKSxyLml1c2hybigxKSwrK2M7Zm9yKHZhciBmPXIuY2xvbmUoKSxoPWUuY2xvbmUoKTshZS5pc1plcm8oKTspe2Zvcih2YXIgbD0wLGQ9MTswPT0oZS53b3Jkc1swXSZkKSYmbDwyNjsrK2wsZDw8PTEpO2lmKGw+MClmb3IoZS5pdXNocm4obCk7bC0tID4wOykoaS5pc09kZCgpfHxzLmlzT2RkKCkpJiYoaS5pYWRkKGYpLHMuaXN1YihoKSksaS5pdXNocm4oMSkscy5pdXNocm4oMSk7Zm9yKHZhciBwPTAsbT0xOzA9PShyLndvcmRzWzBdJm0pJiZwPDI2OysrcCxtPDw9MSk7aWYocD4wKWZvcihyLml1c2hybihwKTtwLS0gPjA7KShhLmlzT2RkKCl8fHUuaXNPZGQoKSkmJihhLmlhZGQoZiksdS5pc3ViKGgpKSxhLml1c2hybigxKSx1Lml1c2hybigxKTtlLmNtcChyKT49MD8oZS5pc3ViKHIpLGkuaXN1YihhKSxzLmlzdWIodSkpOihyLmlzdWIoZSksYS5pc3ViKGkpLHUuaXN1YihzKSl9cmV0dXJue2E6YSxiOnUsZ2NkOnIuaXVzaGxuKGMpfX0sby5wcm90b3R5cGUuX2ludm1wPWZ1bmN0aW9uKHQpe24oMD09PXQubmVnYXRpdmUpLG4oIXQuaXNaZXJvKCkpO3ZhciBlPXRoaXMscj10LmNsb25lKCk7ZT0wIT09ZS5uZWdhdGl2ZT9lLnVtb2QodCk6ZS5jbG9uZSgpO2Zvcih2YXIgaSxzPW5ldyBvKDEpLGE9bmV3IG8oMCksdT1yLmNsb25lKCk7ZS5jbXBuKDEpPjAmJnIuY21wbigxKT4wOyl7Zm9yKHZhciBjPTAsZj0xOzA9PShlLndvcmRzWzBdJmYpJiZjPDI2OysrYyxmPDw9MSk7aWYoYz4wKWZvcihlLml1c2hybihjKTtjLS0gPjA7KXMuaXNPZGQoKSYmcy5pYWRkKHUpLHMuaXVzaHJuKDEpO2Zvcih2YXIgaD0wLGw9MTswPT0oci53b3Jkc1swXSZsKSYmaDwyNjsrK2gsbDw8PTEpO2lmKGg+MClmb3Ioci5pdXNocm4oaCk7aC0tID4wOylhLmlzT2RkKCkmJmEuaWFkZCh1KSxhLml1c2hybigxKTtlLmNtcChyKT49MD8oZS5pc3ViKHIpLHMuaXN1YihhKSk6KHIuaXN1YihlKSxhLmlzdWIocykpfXJldHVybihpPTA9PT1lLmNtcG4oMSk/czphKS5jbXBuKDApPDAmJmkuaWFkZCh0KSxpfSxvLnByb3RvdHlwZS5nY2Q9ZnVuY3Rpb24odCl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gdC5hYnMoKTtpZih0LmlzWmVybygpKXJldHVybiB0aGlzLmFicygpO3ZhciBlPXRoaXMuY2xvbmUoKSxyPXQuY2xvbmUoKTtlLm5lZ2F0aXZlPTAsci5uZWdhdGl2ZT0wO2Zvcih2YXIgbj0wO2UuaXNFdmVuKCkmJnIuaXNFdmVuKCk7bisrKWUuaXVzaHJuKDEpLHIuaXVzaHJuKDEpO2Zvcig7Oyl7Zm9yKDtlLmlzRXZlbigpOyllLml1c2hybigxKTtmb3IoO3IuaXNFdmVuKCk7KXIuaXVzaHJuKDEpO3ZhciBpPWUuY21wKHIpO2lmKGk8MCl7dmFyIG89ZTtlPXIscj1vfWVsc2UgaWYoMD09PWl8fDA9PT1yLmNtcG4oMSkpYnJlYWs7ZS5pc3ViKHIpfXJldHVybiByLml1c2hsbihuKX0sby5wcm90b3R5cGUuaW52bT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lZ2NkKHQpLmEudW1vZCh0KX0sby5wcm90b3R5cGUuaXNFdmVuPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PSgxJnRoaXMud29yZHNbMF0pfSxvLnByb3RvdHlwZS5pc09kZD1mdW5jdGlvbigpe3JldHVybiAxPT0oMSZ0aGlzLndvcmRzWzBdKX0sby5wcm90b3R5cGUuYW5kbG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud29yZHNbMF0mdH0sby5wcm90b3R5cGUuYmluY249ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQpO3ZhciBlPXQlMjYscj0odC1lKS8yNixpPTE8PGU7aWYodGhpcy5sZW5ndGg8PXIpcmV0dXJuIHRoaXMuX2V4cGFuZChyKzEpLHRoaXMud29yZHNbcl18PWksdGhpcztmb3IodmFyIG89aSxzPXI7MCE9PW8mJnM8dGhpcy5sZW5ndGg7cysrKXt2YXIgYT0wfHRoaXMud29yZHNbc107bz0oYSs9byk+Pj4yNixhJj02NzEwODg2Myx0aGlzLndvcmRzW3NdPWF9cmV0dXJuIDAhPT1vJiYodGhpcy53b3Jkc1tzXT1vLHRoaXMubGVuZ3RoKyspLHRoaXN9LG8ucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdfSxvLnByb3RvdHlwZS5jbXBuPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dDwwO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYhcilyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmcilyZXR1cm4gMTtpZih0aGlzLl9zdHJpcCgpLHRoaXMubGVuZ3RoPjEpZT0xO2Vsc2V7ciYmKHQ9LXQpLG4odDw9NjcxMDg4NjMsIk51bWJlciBpcyB0b28gYmlnIik7dmFyIGk9MHx0aGlzLndvcmRzWzBdO2U9aT09PXQ/MDppPHQ/LTE6MX1yZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/MHwtZTplfSxvLnByb3RvdHlwZS5jbXA9ZnVuY3Rpb24odCl7aWYoMCE9PXRoaXMubmVnYXRpdmUmJjA9PT10Lm5lZ2F0aXZlKXJldHVybi0xO2lmKDA9PT10aGlzLm5lZ2F0aXZlJiYwIT09dC5uZWdhdGl2ZSlyZXR1cm4gMTt2YXIgZT10aGlzLnVjbXAodCk7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlPzB8LWU6ZX0sby5wcm90b3R5cGUudWNtcD1mdW5jdGlvbih0KXtpZih0aGlzLmxlbmd0aD50Lmxlbmd0aClyZXR1cm4gMTtpZih0aGlzLmxlbmd0aDx0Lmxlbmd0aClyZXR1cm4tMTtmb3IodmFyIGU9MCxyPXRoaXMubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBuPTB8dGhpcy53b3Jkc1tyXSxpPTB8dC53b3Jkc1tyXTtpZihuIT09aSl7bjxpP2U9LTE6bj5pJiYoZT0xKTticmVha319cmV0dXJuIGV9LG8ucHJvdG90eXBlLmd0bj1mdW5jdGlvbih0KXtyZXR1cm4gMT09PXRoaXMuY21wbih0KX0sby5wcm90b3R5cGUuZ3Q9ZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10aGlzLmNtcCh0KX0sby5wcm90b3R5cGUuZ3Rlbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXBuKHQpPj0wfSxvLnByb3RvdHlwZS5ndGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wKHQpPj0wfSxvLnByb3RvdHlwZS5sdG49ZnVuY3Rpb24odCl7cmV0dXJuLTE9PT10aGlzLmNtcG4odCl9LG8ucHJvdG90eXBlLmx0PWZ1bmN0aW9uKHQpe3JldHVybi0xPT09dGhpcy5jbXAodCl9LG8ucHJvdG90eXBlLmx0ZW49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wbih0KTw9MH0sby5wcm90b3R5cGUubHRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcCh0KTw9MH0sby5wcm90b3R5cGUuZXFuPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09dGhpcy5jbXBuKHQpfSxvLnByb3RvdHlwZS5lcT1mdW5jdGlvbih0KXtyZXR1cm4gMD09PXRoaXMuY21wKHQpfSxvLnJlZD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGsodCl9LG8ucHJvdG90eXBlLnRvUmVkPWZ1bmN0aW9uKHQpe3JldHVybiBuKCF0aGlzLnJlZCwiQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCIpLG4oMD09PXRoaXMubmVnYXRpdmUsInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIiksdC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKHQpfSxvLnByb3RvdHlwZS5mcm9tUmVkPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsImZyb21SZWQgd29ya3Mgb25seSB3aXRoIG51bWJlcnMgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSx0aGlzLnJlZC5jb252ZXJ0RnJvbSh0aGlzKX0sby5wcm90b3R5cGUuX2ZvcmNlUmVkPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJlZD10LHRoaXN9LG8ucHJvdG90eXBlLmZvcmNlUmVkPWZ1bmN0aW9uKHQpe3JldHVybiBuKCF0aGlzLnJlZCwiQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCIpLHRoaXMuX2ZvcmNlUmVkKHQpfSxvLnByb3RvdHlwZS5yZWRBZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZEFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5hZGQodGhpcyx0KX0sby5wcm90b3R5cGUucmVkSUFkZD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkSUFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5pYWRkKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZFN1Yj1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLnN1Yih0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRJU3ViPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmlzdWIodGhpcyx0KX0sby5wcm90b3R5cGUucmVkU2hsPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuc2hsKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZE11bD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsdCksdGhpcy5yZWQubXVsKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZElNdWw9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLHQpLHRoaXMucmVkLmltdWwodGhpcyx0KX0sby5wcm90b3R5cGUucmVkU3FyPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZFNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5zcXIodGhpcyl9LG8ucHJvdG90eXBlLnJlZElTcXI9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkSVNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5pc3FyKHRoaXMpfSxvLnByb3RvdHlwZS5yZWRTcXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuc3FydCh0aGlzKX0sby5wcm90b3R5cGUucmVkSW52bT1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLmludm0odGhpcyl9LG8ucHJvdG90eXBlLnJlZE5lZz1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWROZWcgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQubmVnKHRoaXMpfSxvLnByb3RvdHlwZS5yZWRQb3c9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQmJiF0LnJlZCwicmVkUG93KG5vcm1hbE51bSkiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5wb3codGhpcyx0KX07dmFyIF89e2syNTY6bnVsbCxwMjI0Om51bGwscDE5MjpudWxsLHAyNTUxOTpudWxsfTtmdW5jdGlvbiB3KHQsZSl7dGhpcy5uYW1lPXQsdGhpcy5wPW5ldyBvKGUsMTYpLHRoaXMubj10aGlzLnAuYml0TGVuZ3RoKCksdGhpcy5rPW5ldyBvKDEpLml1c2hsbih0aGlzLm4pLmlzdWIodGhpcy5wKSx0aGlzLnRtcD10aGlzLl90bXAoKX1mdW5jdGlvbiBNKCl7dy5jYWxsKHRoaXMsImsyNTYiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZiIpfWZ1bmN0aW9uIFMoKXt3LmNhbGwodGhpcywicDIyNCIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxIil9ZnVuY3Rpb24gRSgpe3cuY2FsbCh0aGlzLCJwMTkyIiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYiKX1mdW5jdGlvbiB4KCl7dy5jYWxsKHRoaXMsIjI1NTE5IiwiN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCIpfWZ1bmN0aW9uIGsodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXt2YXIgZT1vLl9wcmltZSh0KTt0aGlzLm09ZS5wLHRoaXMucHJpbWU9ZX1lbHNlIG4odC5ndG4oMSksIm1vZHVsdXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMSIpLHRoaXMubT10LHRoaXMucHJpbWU9bnVsbH1mdW5jdGlvbiBBKHQpe2suY2FsbCh0aGlzLHQpLHRoaXMuc2hpZnQ9dGhpcy5tLmJpdExlbmd0aCgpLHRoaXMuc2hpZnQlMjYhPTAmJih0aGlzLnNoaWZ0Kz0yNi10aGlzLnNoaWZ0JTI2KSx0aGlzLnI9bmV3IG8oMSkuaXVzaGxuKHRoaXMuc2hpZnQpLHRoaXMucjI9dGhpcy5pbW9kKHRoaXMuci5zcXIoKSksdGhpcy5yaW52PXRoaXMuci5faW52bXAodGhpcy5tKSx0aGlzLm1pbnY9dGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pLHRoaXMubWludj10aGlzLm1pbnYudW1vZCh0aGlzLnIpLHRoaXMubWludj10aGlzLnIuc3ViKHRoaXMubWludil9dy5wcm90b3R5cGUuX3RtcD1mdW5jdGlvbigpe3ZhciB0PW5ldyBvKG51bGwpO3JldHVybiB0LndvcmRzPW5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uLzEzKSksdH0sdy5wcm90b3R5cGUuaXJlZHVjZT1mdW5jdGlvbih0KXt2YXIgZSxyPXQ7ZG97dGhpcy5zcGxpdChyLHRoaXMudG1wKSxlPShyPShyPXRoaXMuaW11bEsocikpLmlhZGQodGhpcy50bXApKS5iaXRMZW5ndGgoKX13aGlsZShlPnRoaXMubik7dmFyIG49ZTx0aGlzLm4/LTE6ci51Y21wKHRoaXMucCk7cmV0dXJuIDA9PT1uPyhyLndvcmRzWzBdPTAsci5sZW5ndGg9MSk6bj4wP3IuaXN1Yih0aGlzLnApOnZvaWQgMCE9PXIuc3RyaXA/ci5zdHJpcCgpOnIuX3N0cmlwKCkscn0sdy5wcm90b3R5cGUuc3BsaXQ9ZnVuY3Rpb24odCxlKXt0Lml1c2hybih0aGlzLm4sMCxlKX0sdy5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24odCl7cmV0dXJuIHQuaW11bCh0aGlzLmspfSxpKE0sdyksTS5wcm90b3R5cGUuc3BsaXQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9TWF0aC5taW4odC5sZW5ndGgsOSksbj0wO248cjtuKyspZS53b3Jkc1tuXT10LndvcmRzW25dO2lmKGUubGVuZ3RoPXIsdC5sZW5ndGg8PTkpcmV0dXJuIHQud29yZHNbMF09MCx2b2lkKHQubGVuZ3RoPTEpO3ZhciBpPXQud29yZHNbOV07Zm9yKGUud29yZHNbZS5sZW5ndGgrK109NDE5NDMwMyZpLG49MTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBvPTB8dC53b3Jkc1tuXTt0LndvcmRzW24tMTBdPSg0MTk0MzAzJm8pPDw0fGk+Pj4yMixpPW99aT4+Pj0yMix0LndvcmRzW24tMTBdPWksMD09PWkmJnQubGVuZ3RoPjEwP3QubGVuZ3RoLT0xMDp0Lmxlbmd0aC09OX0sTS5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24odCl7dC53b3Jkc1t0Lmxlbmd0aF09MCx0LndvcmRzW3QubGVuZ3RoKzFdPTAsdC5sZW5ndGgrPTI7Zm9yKHZhciBlPTAscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj0wfHQud29yZHNbcl07ZSs9OTc3Km4sdC53b3Jkc1tyXT02NzEwODg2MyZlLGU9NjQqbisoZS82NzEwODg2NHwwKX1yZXR1cm4gMD09PXQud29yZHNbdC5sZW5ndGgtMV0mJih0Lmxlbmd0aC0tLDA9PT10LndvcmRzW3QubGVuZ3RoLTFdJiZ0Lmxlbmd0aC0tKSx0fSxpKFMsdyksaShFLHcpLGkoeCx3KSx4LnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBuPTE5KigwfHQud29yZHNbcl0pK2UsaT02NzEwODg2MyZuO24+Pj49MjYsdC53b3Jkc1tyXT1pLGU9bn1yZXR1cm4gMCE9PWUmJih0LndvcmRzW3QubGVuZ3RoKytdPWUpLHR9LG8uX3ByaW1lPWZ1bmN0aW9uKHQpe2lmKF9bdF0pcmV0dXJuIF9bdF07dmFyIGU7aWYoImsyNTYiPT09dCllPW5ldyBNO2Vsc2UgaWYoInAyMjQiPT09dCllPW5ldyBTO2Vsc2UgaWYoInAxOTIiPT09dCllPW5ldyBFO2Vsc2V7aWYoInAyNTUxOSIhPT10KXRocm93IG5ldyBFcnJvcigiVW5rbm93biBwcmltZSAiK3QpO2U9bmV3IHh9cmV0dXJuIF9bdF09ZSxlfSxrLnByb3RvdHlwZS5fdmVyaWZ5MT1mdW5jdGlvbih0KXtuKDA9PT10Lm5lZ2F0aXZlLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpLG4odC5yZWQsInJlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKX0say5wcm90b3R5cGUuX3ZlcmlmeTI9ZnVuY3Rpb24odCxlKXtuKDA9PSh0Lm5lZ2F0aXZlfGUubmVnYXRpdmUpLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpLG4odC5yZWQmJnQucmVkPT09ZS5yZWQsInJlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKX0say5wcm90b3R5cGUuaW1vZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5wcmltZT90aGlzLnByaW1lLmlyZWR1Y2UodCkuX2ZvcmNlUmVkKHRoaXMpOihmKHQsdC51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpKSx0KX0say5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKHQpe3JldHVybiB0LmlzWmVybygpP3QuY2xvbmUoKTp0aGlzLm0uc3ViKHQpLl9mb3JjZVJlZCh0aGlzKX0say5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQsZSl7dGhpcy5fdmVyaWZ5Mih0LGUpO3ZhciByPXQuYWRkKGUpO3JldHVybiByLmNtcCh0aGlzLm0pPj0wJiZyLmlzdWIodGhpcy5tKSxyLl9mb3JjZVJlZCh0aGlzKX0say5wcm90b3R5cGUuaWFkZD1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmlhZGQoZSk7cmV0dXJuIHIuY21wKHRoaXMubSk+PTAmJnIuaXN1Yih0aGlzLm0pLHJ9LGsucHJvdG90eXBlLnN1Yj1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LnN1YihlKTtyZXR1cm4gci5jbXBuKDApPDAmJnIuaWFkZCh0aGlzLm0pLHIuX2ZvcmNlUmVkKHRoaXMpfSxrLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uKHQsZSl7dGhpcy5fdmVyaWZ5Mih0LGUpO3ZhciByPXQuaXN1YihlKTtyZXR1cm4gci5jbXBuKDApPDAmJnIuaWFkZCh0aGlzLm0pLHJ9LGsucHJvdG90eXBlLnNobD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl92ZXJpZnkxKHQpLHRoaXMuaW1vZCh0LnVzaGxuKGUpKX0say5wcm90b3R5cGUuaW11bD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl92ZXJpZnkyKHQsZSksdGhpcy5pbW9kKHQuaW11bChlKSl9LGsucHJvdG90eXBlLm11bD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl92ZXJpZnkyKHQsZSksdGhpcy5pbW9kKHQubXVsKGUpKX0say5wcm90b3R5cGUuaXNxcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbXVsKHQsdC5jbG9uZSgpKX0say5wcm90b3R5cGUuc3FyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm11bCh0LHQpfSxrLnByb3RvdHlwZS5zcXJ0PWZ1bmN0aW9uKHQpe2lmKHQuaXNaZXJvKCkpcmV0dXJuIHQuY2xvbmUoKTt2YXIgZT10aGlzLm0uYW5kbG4oMyk7aWYobihlJTI9PTEpLDM9PT1lKXt2YXIgcj10aGlzLm0uYWRkKG5ldyBvKDEpKS5pdXNocm4oMik7cmV0dXJuIHRoaXMucG93KHQscil9Zm9yKHZhciBpPXRoaXMubS5zdWJuKDEpLHM9MDshaS5pc1plcm8oKSYmMD09PWkuYW5kbG4oMSk7KXMrKyxpLml1c2hybigxKTtuKCFpLmlzWmVybygpKTt2YXIgYT1uZXcgbygxKS50b1JlZCh0aGlzKSx1PWEucmVkTmVnKCksYz10aGlzLm0uc3VibigxKS5pdXNocm4oMSksZj10aGlzLm0uYml0TGVuZ3RoKCk7Zm9yKGY9bmV3IG8oMipmKmYpLnRvUmVkKHRoaXMpOzAhPT10aGlzLnBvdyhmLGMpLmNtcCh1KTspZi5yZWRJQWRkKHUpO2Zvcih2YXIgaD10aGlzLnBvdyhmLGkpLGw9dGhpcy5wb3codCxpLmFkZG4oMSkuaXVzaHJuKDEpKSxkPXRoaXMucG93KHQsaSkscD1zOzAhPT1kLmNtcChhKTspe2Zvcih2YXIgbT1kLGc9MDswIT09bS5jbXAoYSk7ZysrKW09bS5yZWRTcXIoKTtuKGc8cCk7dmFyIGI9dGhpcy5wb3coaCxuZXcgbygxKS5pdXNobG4ocC1nLTEpKTtsPWwucmVkTXVsKGIpLGg9Yi5yZWRTcXIoKSxkPWQucmVkTXVsKGgpLHA9Z31yZXR1cm4gbH0say5wcm90b3R5cGUuaW52bT1mdW5jdGlvbih0KXt2YXIgZT10Ll9pbnZtcCh0aGlzLm0pO3JldHVybiAwIT09ZS5uZWdhdGl2ZT8oZS5uZWdhdGl2ZT0wLHRoaXMuaW1vZChlKS5yZWROZWcoKSk6dGhpcy5pbW9kKGUpfSxrLnByb3RvdHlwZS5wb3c9ZnVuY3Rpb24odCxlKXtpZihlLmlzWmVybygpKXJldHVybiBuZXcgbygxKS50b1JlZCh0aGlzKTtpZigwPT09ZS5jbXBuKDEpKXJldHVybiB0LmNsb25lKCk7dmFyIHI9bmV3IEFycmF5KDE2KTtyWzBdPW5ldyBvKDEpLnRvUmVkKHRoaXMpLHJbMV09dDtmb3IodmFyIG49MjtuPHIubGVuZ3RoO24rKylyW25dPXRoaXMubXVsKHJbbi0xXSx0KTt2YXIgaT1yWzBdLHM9MCxhPTAsdT1lLmJpdExlbmd0aCgpJTI2O2ZvcigwPT09dSYmKHU9MjYpLG49ZS5sZW5ndGgtMTtuPj0wO24tLSl7Zm9yKHZhciBjPWUud29yZHNbbl0sZj11LTE7Zj49MDtmLS0pe3ZhciBoPWM+PmYmMTtpIT09clswXSYmKGk9dGhpcy5zcXIoaSkpLDAhPT1ofHwwIT09cz8oczw8PTEsc3w9aCwoND09PSsrYXx8MD09PW4mJjA9PT1mKSYmKGk9dGhpcy5tdWwoaSxyW3NdKSxhPTAscz0wKSk6YT0wfXU9MjZ9cmV0dXJuIGl9LGsucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbih0KXt2YXIgZT10LnVtb2QodGhpcy5tKTtyZXR1cm4gZT09PXQ/ZS5jbG9uZSgpOmV9LGsucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uKHQpe3ZhciBlPXQuY2xvbmUoKTtyZXR1cm4gZS5yZWQ9bnVsbCxlfSxvLm1vbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBBKHQpfSxpKEEsayksQS5wcm90b3R5cGUuY29udmVydFRvPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltb2QodC51c2hsbih0aGlzLnNoaWZ0KSl9LEEucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuaW1vZCh0Lm11bCh0aGlzLnJpbnYpKTtyZXR1cm4gZS5yZWQ9bnVsbCxlfSxBLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKHQsZSl7aWYodC5pc1plcm8oKXx8ZS5pc1plcm8oKSlyZXR1cm4gdC53b3Jkc1swXT0wLHQubGVuZ3RoPTEsdDt2YXIgcj10LmltdWwoZSksbj1yLm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKSxpPXIuaXN1YihuKS5pdXNocm4odGhpcy5zaGlmdCksbz1pO3JldHVybiBpLmNtcCh0aGlzLm0pPj0wP289aS5pc3ViKHRoaXMubSk6aS5jbXBuKDApPDAmJihvPWkuaWFkZCh0aGlzLm0pKSxvLl9mb3JjZVJlZCh0aGlzKX0sQS5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKHQsZSl7aWYodC5pc1plcm8oKXx8ZS5pc1plcm8oKSlyZXR1cm4gbmV3IG8oMCkuX2ZvcmNlUmVkKHRoaXMpO3ZhciByPXQubXVsKGUpLG49ci5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSksaT1yLmlzdWIobikuaXVzaHJuKHRoaXMuc2hpZnQpLHM9aTtyZXR1cm4gaS5jbXAodGhpcy5tKT49MD9zPWkuaXN1Yih0aGlzLm0pOmkuY21wbigwKTwwJiYocz1pLmlhZGQodGhpcy5tKSkscy5fZm9yY2VSZWQodGhpcyl9LEEucHJvdG90eXBlLmludm09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW1vZCh0Ll9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSkuX2ZvcmNlUmVkKHRoaXMpfX0odCx0aGlzKX0pLmNhbGwodGhpcyxyKDI1KSh0KSl9LGZ1bmN0aW9uKHQsZSl7fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMyksaT1yKDEyNyksbz1yKDEzKS5CdWZmZXIscz1uZXcgQXJyYXkoMTYpO2Z1bmN0aW9uIGEoKXtpLmNhbGwodGhpcyw2NCksdGhpcy5fYT0xNzMyNTg0MTkzLHRoaXMuX2I9NDAyMzIzMzQxNyx0aGlzLl9jPTI1NjIzODMxMDIsdGhpcy5fZD0yNzE3MzM4Nzh9ZnVuY3Rpb24gdSh0LGUpe3JldHVybiB0PDxlfHQ+Pj4zMi1lfWZ1bmN0aW9uIGModCxlLHIsbixpLG8scyl7cmV0dXJuIHUodCsoZSZyfH5lJm4pK2krb3wwLHMpK2V8MH1mdW5jdGlvbiBmKHQsZSxyLG4saSxvLHMpe3JldHVybiB1KHQrKGUmbnxyJn5uKStpK298MCxzKStlfDB9ZnVuY3Rpb24gaCh0LGUscixuLGksbyxzKXtyZXR1cm4gdSh0KyhlXnJebikraStvfDAscykrZXwwfWZ1bmN0aW9uIGwodCxlLHIsbixpLG8scyl7cmV0dXJuIHUodCsocl4oZXx+bikpK2krb3wwLHMpK2V8MH1uKGEsaSksYS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbigpe2Zvcih2YXIgdD1zLGU9MDtlPDE2OysrZSl0W2VdPXRoaXMuX2Jsb2NrLnJlYWRJbnQzMkxFKDQqZSk7dmFyIHI9dGhpcy5fYSxuPXRoaXMuX2IsaT10aGlzLl9jLG89dGhpcy5fZDtyPWMocixuLGksbyx0WzBdLDM2MTQwOTAzNjAsNyksbz1jKG8scixuLGksdFsxXSwzOTA1NDAyNzEwLDEyKSxpPWMoaSxvLHIsbix0WzJdLDYwNjEwNTgxOSwxNyksbj1jKG4saSxvLHIsdFszXSwzMjUwNDQxOTY2LDIyKSxyPWMocixuLGksbyx0WzRdLDQxMTg1NDgzOTksNyksbz1jKG8scixuLGksdFs1XSwxMjAwMDgwNDI2LDEyKSxpPWMoaSxvLHIsbix0WzZdLDI4MjE3MzU5NTUsMTcpLG49YyhuLGksbyxyLHRbN10sNDI0OTI2MTMxMywyMikscj1jKHIsbixpLG8sdFs4XSwxNzcwMDM1NDE2LDcpLG89YyhvLHIsbixpLHRbOV0sMjMzNjU1Mjg3OSwxMiksaT1jKGksbyxyLG4sdFsxMF0sNDI5NDkyNTIzMywxNyksbj1jKG4saSxvLHIsdFsxMV0sMjMwNDU2MzEzNCwyMikscj1jKHIsbixpLG8sdFsxMl0sMTgwNDYwMzY4Miw3KSxvPWMobyxyLG4saSx0WzEzXSw0MjU0NjI2MTk1LDEyKSxpPWMoaSxvLHIsbix0WzE0XSwyNzkyOTY1MDA2LDE3KSxyPWYocixuPWMobixpLG8scix0WzE1XSwxMjM2NTM1MzI5LDIyKSxpLG8sdFsxXSw0MTI5MTcwNzg2LDUpLG89ZihvLHIsbixpLHRbNl0sMzIyNTQ2NTY2NCw5KSxpPWYoaSxvLHIsbix0WzExXSw2NDM3MTc3MTMsMTQpLG49ZihuLGksbyxyLHRbMF0sMzkyMTA2OTk5NCwyMCkscj1mKHIsbixpLG8sdFs1XSwzNTkzNDA4NjA1LDUpLG89ZihvLHIsbixpLHRbMTBdLDM4MDE2MDgzLDkpLGk9ZihpLG8scixuLHRbMTVdLDM2MzQ0ODg5NjEsMTQpLG49ZihuLGksbyxyLHRbNF0sMzg4OTQyOTQ0OCwyMCkscj1mKHIsbixpLG8sdFs5XSw1Njg0NDY0MzgsNSksbz1mKG8scixuLGksdFsxNF0sMzI3NTE2MzYwNiw5KSxpPWYoaSxvLHIsbix0WzNdLDQxMDc2MDMzMzUsMTQpLG49ZihuLGksbyxyLHRbOF0sMTE2MzUzMTUwMSwyMCkscj1mKHIsbixpLG8sdFsxM10sMjg1MDI4NTgyOSw1KSxvPWYobyxyLG4saSx0WzJdLDQyNDM1NjM1MTIsOSksaT1mKGksbyxyLG4sdFs3XSwxNzM1MzI4NDczLDE0KSxyPWgocixuPWYobixpLG8scix0WzEyXSwyMzY4MzU5NTYyLDIwKSxpLG8sdFs1XSw0Mjk0NTg4NzM4LDQpLG89aChvLHIsbixpLHRbOF0sMjI3MjM5MjgzMywxMSksaT1oKGksbyxyLG4sdFsxMV0sMTgzOTAzMDU2MiwxNiksbj1oKG4saSxvLHIsdFsxNF0sNDI1OTY1Nzc0MCwyMykscj1oKHIsbixpLG8sdFsxXSwyNzYzOTc1MjM2LDQpLG89aChvLHIsbixpLHRbNF0sMTI3Mjg5MzM1MywxMSksaT1oKGksbyxyLG4sdFs3XSw0MTM5NDY5NjY0LDE2KSxuPWgobixpLG8scix0WzEwXSwzMjAwMjM2NjU2LDIzKSxyPWgocixuLGksbyx0WzEzXSw2ODEyNzkxNzQsNCksbz1oKG8scixuLGksdFswXSwzOTM2NDMwMDc0LDExKSxpPWgoaSxvLHIsbix0WzNdLDM1NzI0NDUzMTcsMTYpLG49aChuLGksbyxyLHRbNl0sNzYwMjkxODksMjMpLHI9aChyLG4saSxvLHRbOV0sMzY1NDYwMjgwOSw0KSxvPWgobyxyLG4saSx0WzEyXSwzODczMTUxNDYxLDExKSxpPWgoaSxvLHIsbix0WzE1XSw1MzA3NDI1MjAsMTYpLHI9bChyLG49aChuLGksbyxyLHRbMl0sMzI5OTYyODY0NSwyMyksaSxvLHRbMF0sNDA5NjMzNjQ1Miw2KSxvPWwobyxyLG4saSx0WzddLDExMjY4OTE0MTUsMTApLGk9bChpLG8scixuLHRbMTRdLDI4Nzg2MTIzOTEsMTUpLG49bChuLGksbyxyLHRbNV0sNDIzNzUzMzI0MSwyMSkscj1sKHIsbixpLG8sdFsxMl0sMTcwMDQ4NTU3MSw2KSxvPWwobyxyLG4saSx0WzNdLDIzOTk5ODA2OTAsMTApLGk9bChpLG8scixuLHRbMTBdLDQyOTM5MTU3NzMsMTUpLG49bChuLGksbyxyLHRbMV0sMjI0MDA0NDQ5NywyMSkscj1sKHIsbixpLG8sdFs4XSwxODczMzEzMzU5LDYpLG89bChvLHIsbixpLHRbMTVdLDQyNjQzNTU1NTIsMTApLGk9bChpLG8scixuLHRbNl0sMjczNDc2ODkxNiwxNSksbj1sKG4saSxvLHIsdFsxM10sMTMwOTE1MTY0OSwyMSkscj1sKHIsbixpLG8sdFs0XSw0MTQ5NDQ0MjI2LDYpLG89bChvLHIsbixpLHRbMTFdLDMxNzQ3NTY5MTcsMTApLGk9bChpLG8scixuLHRbMl0sNzE4Nzg3MjU5LDE1KSxuPWwobixpLG8scix0WzldLDM5NTE0ODE3NDUsMjEpLHRoaXMuX2E9dGhpcy5fYStyfDAsdGhpcy5fYj10aGlzLl9iK258MCx0aGlzLl9jPXRoaXMuX2MraXwwLHRoaXMuX2Q9dGhpcy5fZCtvfDB9LGEucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24oKXt0aGlzLl9ibG9ja1t0aGlzLl9ibG9ja09mZnNldCsrXT0xMjgsdGhpcy5fYmxvY2tPZmZzZXQ+NTYmJih0aGlzLl9ibG9jay5maWxsKDAsdGhpcy5fYmxvY2tPZmZzZXQsNjQpLHRoaXMuX3VwZGF0ZSgpLHRoaXMuX2Jsb2NrT2Zmc2V0PTApLHRoaXMuX2Jsb2NrLmZpbGwoMCx0aGlzLl9ibG9ja09mZnNldCw1NiksdGhpcy5fYmxvY2sud3JpdGVVSW50MzJMRSh0aGlzLl9sZW5ndGhbMF0sNTYpLHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzFdLDYwKSx0aGlzLl91cGRhdGUoKTt2YXIgdD1vLmFsbG9jVW5zYWZlKDE2KTtyZXR1cm4gdC53cml0ZUludDMyTEUodGhpcy5fYSwwKSx0LndyaXRlSW50MzJMRSh0aGlzLl9iLDQpLHQud3JpdGVJbnQzMkxFKHRoaXMuX2MsOCksdC53cml0ZUludDMyTEUodGhpcy5fZCwxMiksdH0sdC5leHBvcnRzPWF9LGZ1bmN0aW9uKHQsZSxyKXsoZT10LmV4cG9ydHM9cigxMjgpKS5TdHJlYW09ZSxlLlJlYWRhYmxlPWUsZS5Xcml0YWJsZT1yKDEzMiksZS5EdXBsZXg9cigzMCksZS5UcmFuc2Zvcm09cigxMzMpLGUuUGFzc1Rocm91Z2g9cigyNzgpLGUuZmluaXNoZWQ9cig2MiksZS5waXBlbGluZT1yKDI3OSl9LGZ1bmN0aW9uKHQsZSl7fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCxlKXt2YXIgcj1PYmplY3Qua2V5cyh0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2UmJihuPW4uZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGUpLmVudW1lcmFibGV9KSkpLHIucHVzaC5hcHBseShyLG4pfXJldHVybiByfWZ1bmN0aW9uIGkodCxlLHIpe3JldHVybiBlIGluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09cix0fWZ1bmN0aW9uIG8odCxlKXtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIG49ZVtyXTtuLmVudW1lcmFibGU9bi5lbnVtZXJhYmxlfHwhMSxuLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gbiYmKG4ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LG4ua2V5LG4pfX12YXIgcz1yKDIpLkJ1ZmZlcixhPXIoMjc1KS5pbnNwZWN0LHU9YSYmYS5jdXN0b218fCJpbnNwZWN0Ijt0LmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7IWZ1bmN0aW9uKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsdCksdGhpcy5oZWFkPW51bGwsdGhpcy50YWlsPW51bGwsdGhpcy5sZW5ndGg9MH12YXIgZSxyLGM7cmV0dXJuIGU9dCwocj1be2tleToicHVzaCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9e2RhdGE6dCxuZXh0Om51bGx9O3RoaXMubGVuZ3RoPjA/dGhpcy50YWlsLm5leHQ9ZTp0aGlzLmhlYWQ9ZSx0aGlzLnRhaWw9ZSwrK3RoaXMubGVuZ3RofX0se2tleToidW5zaGlmdCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9e2RhdGE6dCxuZXh0OnRoaXMuaGVhZH07MD09PXRoaXMubGVuZ3RoJiYodGhpcy50YWlsPWUpLHRoaXMuaGVhZD1lLCsrdGhpcy5sZW5ndGh9fSx7a2V5OiJzaGlmdCIsdmFsdWU6ZnVuY3Rpb24oKXtpZigwIT09dGhpcy5sZW5ndGgpe3ZhciB0PXRoaXMuaGVhZC5kYXRhO3JldHVybiAxPT09dGhpcy5sZW5ndGg/dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsOnRoaXMuaGVhZD10aGlzLmhlYWQubmV4dCwtLXRoaXMubGVuZ3RoLHR9fX0se2tleToiY2xlYXIiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsLHRoaXMubGVuZ3RoPTB9fSx7a2V5OiJqb2luIix2YWx1ZTpmdW5jdGlvbih0KXtpZigwPT09dGhpcy5sZW5ndGgpcmV0dXJuIiI7Zm9yKHZhciBlPXRoaXMuaGVhZCxyPSIiK2UuZGF0YTtlPWUubmV4dDspcis9dCtlLmRhdGE7cmV0dXJuIHJ9fSx7a2V5OiJjb25jYXQiLHZhbHVlOmZ1bmN0aW9uKHQpe2lmKDA9PT10aGlzLmxlbmd0aClyZXR1cm4gcy5hbGxvYygwKTtmb3IodmFyIGUscixuLGk9cy5hbGxvY1Vuc2FmZSh0Pj4+MCksbz10aGlzLmhlYWQsYT0wO287KWU9by5kYXRhLHI9aSxuPWEscy5wcm90b3R5cGUuY29weS5jYWxsKGUscixuKSxhKz1vLmRhdGEubGVuZ3RoLG89by5uZXh0O3JldHVybiBpfX0se2tleToiY29uc3VtZSIsdmFsdWU6ZnVuY3Rpb24odCxlKXt2YXIgcjtyZXR1cm4gdDx0aGlzLmhlYWQuZGF0YS5sZW5ndGg/KHI9dGhpcy5oZWFkLmRhdGEuc2xpY2UoMCx0KSx0aGlzLmhlYWQuZGF0YT10aGlzLmhlYWQuZGF0YS5zbGljZSh0KSk6cj10PT09dGhpcy5oZWFkLmRhdGEubGVuZ3RoP3RoaXMuc2hpZnQoKTplP3RoaXMuX2dldFN0cmluZyh0KTp0aGlzLl9nZXRCdWZmZXIodCkscn19LHtrZXk6ImZpcnN0Iix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhlYWQuZGF0YX19LHtrZXk6Il9nZXRTdHJpbmciLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuaGVhZCxyPTEsbj1lLmRhdGE7Zm9yKHQtPW4ubGVuZ3RoO2U9ZS5uZXh0Oyl7dmFyIGk9ZS5kYXRhLG89dD5pLmxlbmd0aD9pLmxlbmd0aDp0O2lmKG89PT1pLmxlbmd0aD9uKz1pOm4rPWkuc2xpY2UoMCx0KSwwPT0odC09bykpe289PT1pLmxlbmd0aD8oKytyLGUubmV4dD90aGlzLmhlYWQ9ZS5uZXh0OnRoaXMuaGVhZD10aGlzLnRhaWw9bnVsbCk6KHRoaXMuaGVhZD1lLGUuZGF0YT1pLnNsaWNlKG8pKTticmVha30rK3J9cmV0dXJuIHRoaXMubGVuZ3RoLT1yLG59fSx7a2V5OiJfZ2V0QnVmZmVyIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT1zLmFsbG9jVW5zYWZlKHQpLHI9dGhpcy5oZWFkLG49MTtmb3Ioci5kYXRhLmNvcHkoZSksdC09ci5kYXRhLmxlbmd0aDtyPXIubmV4dDspe3ZhciBpPXIuZGF0YSxvPXQ+aS5sZW5ndGg/aS5sZW5ndGg6dDtpZihpLmNvcHkoZSxlLmxlbmd0aC10LDAsbyksMD09KHQtPW8pKXtvPT09aS5sZW5ndGg/KCsrbixyLm5leHQ/dGhpcy5oZWFkPXIubmV4dDp0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwpOih0aGlzLmhlYWQ9cixyLmRhdGE9aS5zbGljZShvKSk7YnJlYWt9KytufXJldHVybiB0aGlzLmxlbmd0aC09bixlfX0se2tleTp1LHZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGEodGhpcyxmdW5jdGlvbih0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgcj1udWxsIT1hcmd1bWVudHNbZV0/YXJndW1lbnRzW2VdOnt9O2UlMj9uKE9iamVjdChyKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7aSh0LGUscltlXSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXModCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhyKSk6bihPYmplY3QocikpLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpKX0pKX1yZXR1cm4gdH0oe30sZSx7ZGVwdGg6MCxjdXN0b21JbnNwZWN0OiExfSkpfX1dKSYmbyhlLnByb3RvdHlwZSxyKSxjJiZvKGUsYyksdH0oKX0sZnVuY3Rpb24odCxlKXt9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKGUpe3ZhciBuO2Z1bmN0aW9uIGkodCxlLHIpe3JldHVybiBlIGluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09cix0fXZhciBvPXIoNjIpLHM9U3ltYm9sKCJsYXN0UmVzb2x2ZSIpLGE9U3ltYm9sKCJsYXN0UmVqZWN0IiksdT1TeW1ib2woImVycm9yIiksYz1TeW1ib2woImVuZGVkIiksZj1TeW1ib2woImxhc3RQcm9taXNlIiksaD1TeW1ib2woImhhbmRsZVByb21pc2UiKSxsPVN5bWJvbCgic3RyZWFtIik7ZnVuY3Rpb24gZCh0LGUpe3JldHVybnt2YWx1ZTp0LGRvbmU6ZX19ZnVuY3Rpb24gcCh0KXt2YXIgZT10W3NdO2lmKG51bGwhPT1lKXt2YXIgcj10W2xdLnJlYWQoKTtudWxsIT09ciYmKHRbZl09bnVsbCx0W3NdPW51bGwsdFthXT1udWxsLGUoZChyLCExKSkpfX1mdW5jdGlvbiBtKHQpe2UubmV4dFRpY2socCx0KX12YXIgZz1PYmplY3QuZ2V0UHJvdG90eXBlT2YoKGZ1bmN0aW9uKCl7fSkpLGI9T2JqZWN0LnNldFByb3RvdHlwZU9mKChpKG49e2dldCBzdHJlYW0oKXtyZXR1cm4gdGhpc1tsXX0sbmV4dDpmdW5jdGlvbigpe3ZhciB0PXRoaXMscj10aGlzW3VdO2lmKG51bGwhPT1yKXJldHVybiBQcm9taXNlLnJlamVjdChyKTtpZih0aGlzW2NdKXJldHVybiBQcm9taXNlLnJlc29sdmUoZCh2b2lkIDAsITApKTtpZih0aGlzW2xdLmRlc3Ryb3llZClyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHIsbil7ZS5uZXh0VGljaygoZnVuY3Rpb24oKXt0W3VdP24odFt1XSk6cihkKHZvaWQgMCwhMCkpfSkpfSkpO3ZhciBuLGk9dGhpc1tmXTtpZihpKW49bmV3IFByb21pc2UoZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocixuKXt0LnRoZW4oKGZ1bmN0aW9uKCl7ZVtjXT9yKGQodm9pZCAwLCEwKSk6ZVtoXShyLG4pfSksbil9fShpLHRoaXMpKTtlbHNle3ZhciBvPXRoaXNbbF0ucmVhZCgpO2lmKG51bGwhPT1vKXJldHVybiBQcm9taXNlLnJlc29sdmUoZChvLCExKSk7bj1uZXcgUHJvbWlzZSh0aGlzW2hdKX1yZXR1cm4gdGhpc1tmXT1uLG59fSxTeW1ib2wuYXN5bmNJdGVyYXRvciwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKSxpKG4sInJldHVybiIsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKGUscil7dFtsXS5kZXN0cm95KG51bGwsKGZ1bmN0aW9uKHQpe3Q/cih0KTplKGQodm9pZCAwLCEwKSl9KSl9KSl9KSksbiksZyk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLHI9T2JqZWN0LmNyZWF0ZShiLChpKGU9e30sbCx7dmFsdWU6dCx3cml0YWJsZTohMH0pLGkoZSxzLHt2YWx1ZTpudWxsLHdyaXRhYmxlOiEwfSksaShlLGEse3ZhbHVlOm51bGwsd3JpdGFibGU6ITB9KSxpKGUsdSx7dmFsdWU6bnVsbCx3cml0YWJsZTohMH0pLGkoZSxjLHt2YWx1ZTp0Ll9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQsd3JpdGFibGU6ITB9KSxpKGUsaCx7dmFsdWU6ZnVuY3Rpb24odCxlKXt2YXIgbj1yW2xdLnJlYWQoKTtuPyhyW2ZdPW51bGwscltzXT1udWxsLHJbYV09bnVsbCx0KGQobiwhMSkpKToocltzXT10LHJbYV09ZSl9LHdyaXRhYmxlOiEwfSksZSkpO3JldHVybiByW2ZdPW51bGwsbyh0LChmdW5jdGlvbih0KXtpZih0JiYiRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UiIT09dC5jb2RlKXt2YXIgZT1yW2FdO3JldHVybiBudWxsIT09ZSYmKHJbZl09bnVsbCxyW3NdPW51bGwsclthXT1udWxsLGUodCkpLHZvaWQoclt1XT10KX12YXIgbj1yW3NdO251bGwhPT1uJiYocltmXT1udWxsLHJbc109bnVsbCxyW2FdPW51bGwsbihkKHZvaWQgMCwhMCkpKSxyW2NdPSEwfSkpLHQub24oInJlYWRhYmxlIixtLmJpbmQobnVsbCxyKSkscn19KS5jYWxsKHRoaXMscig1KSl9LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJSZWFkYWJsZS5mcm9tIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIGJyb3dzZXIiKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWk7dmFyIG49cigxMzMpO2Z1bmN0aW9uIGkodCl7aWYoISh0aGlzIGluc3RhbmNlb2YgaSkpcmV0dXJuIG5ldyBpKHQpO24uY2FsbCh0aGlzLHQpfXIoMykoaSxuKSxpLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxyKXtyKG51bGwsdCl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuO3ZhciBpPXIoMjkpLmNvZGVzLG89aS5FUlJfTUlTU0lOR19BUkdTLHM9aS5FUlJfU1RSRUFNX0RFU1RST1lFRDtmdW5jdGlvbiBhKHQpe2lmKHQpdGhyb3cgdH1mdW5jdGlvbiB1KHQsZSxpLG8pe289ZnVuY3Rpb24odCl7dmFyIGU9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7ZXx8KGU9ITAsdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKSl9fShvKTt2YXIgYT0hMTt0Lm9uKCJjbG9zZSIsKGZ1bmN0aW9uKCl7YT0hMH0pKSx2b2lkIDA9PT1uJiYobj1yKDYyKSksbih0LHtyZWFkYWJsZTplLHdyaXRhYmxlOml9LChmdW5jdGlvbih0KXtpZih0KXJldHVybiBvKHQpO2E9ITAsbygpfSkpO3ZhciB1PSExO3JldHVybiBmdW5jdGlvbihlKXtpZighYSYmIXUpcmV0dXJuIHU9ITAsZnVuY3Rpb24odCl7cmV0dXJuIHQuc2V0SGVhZGVyJiYiZnVuY3Rpb24iPT10eXBlb2YgdC5hYm9ydH0odCk/dC5hYm9ydCgpOiJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlc3Ryb3k/dC5kZXN0cm95KCk6dm9pZCBvKGV8fG5ldyBzKCJwaXBlIikpfX1mdW5jdGlvbiBjKHQpe3QoKX1mdW5jdGlvbiBmKHQsZSl7cmV0dXJuIHQucGlwZShlKX1mdW5jdGlvbiBoKHQpe3JldHVybiB0Lmxlbmd0aD8iZnVuY3Rpb24iIT10eXBlb2YgdFt0Lmxlbmd0aC0xXT9hOnQucG9wKCk6YX10LmV4cG9ydHM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxyPTA7cjx0O3IrKyllW3JdPWFyZ3VtZW50c1tyXTt2YXIgbixpPWgoZSk7aWYoQXJyYXkuaXNBcnJheShlWzBdKSYmKGU9ZVswXSksZS5sZW5ndGg8Mil0aHJvdyBuZXcgbygic3RyZWFtcyIpO3ZhciBzPWUubWFwKChmdW5jdGlvbih0LHIpe3ZhciBvPXI8ZS5sZW5ndGgtMTtyZXR1cm4gdSh0LG8scj4wLChmdW5jdGlvbih0KXtufHwobj10KSx0JiZzLmZvckVhY2goYyksb3x8KHMuZm9yRWFjaChjKSxpKG4pKX0pKX0pKTtyZXR1cm4gZS5yZWR1Y2UoZil9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMikuQnVmZmVyLGk9cigzKSxvPXIoMTI3KSxzPW5ldyBBcnJheSgxNiksYT1bMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSw3LDQsMTMsMSwxMCw2LDE1LDMsMTIsMCw5LDUsMiwxNCwxMSw4LDMsMTAsMTQsNCw5LDE1LDgsMSwyLDcsMCw2LDEzLDExLDUsMTIsMSw5LDExLDEwLDAsOCwxMiw0LDEzLDMsNywxNSwxNCw1LDYsMiw0LDAsNSw5LDcsMTIsMiwxMCwxNCwxLDMsOCwxMSw2LDE1LDEzXSx1PVs1LDE0LDcsMCw5LDIsMTEsNCwxMyw2LDE1LDgsMSwxMCwzLDEyLDYsMTEsMyw3LDAsMTMsNSwxMCwxNCwxNSw4LDEyLDQsOSwxLDIsMTUsNSwxLDMsNywxNCw2LDksMTEsOCwxMiwyLDEwLDAsNCwxMyw4LDYsNCwxLDMsMTEsMTUsMCw1LDEyLDIsMTMsOSw3LDEwLDE0LDEyLDE1LDEwLDQsMSw1LDgsNyw2LDIsMTMsMTQsMCwzLDksMTFdLGM9WzExLDE0LDE1LDEyLDUsOCw3LDksMTEsMTMsMTQsMTUsNiw3LDksOCw3LDYsOCwxMywxMSw5LDcsMTUsNywxMiwxNSw5LDExLDcsMTMsMTIsMTEsMTMsNiw3LDE0LDksMTMsMTUsMTQsOCwxMyw2LDUsMTIsNyw1LDExLDEyLDE0LDE1LDE0LDE1LDksOCw5LDE0LDUsNiw4LDYsNSwxMiw5LDE1LDUsMTEsNiw4LDEzLDEyLDUsMTIsMTMsMTQsMTEsOCw1LDZdLGY9WzgsOSw5LDExLDEzLDE1LDE1LDUsNyw3LDgsMTEsMTQsMTQsMTIsNiw5LDEzLDE1LDcsMTIsOCw5LDExLDcsNywxMiw3LDYsMTUsMTMsMTEsOSw3LDE1LDExLDgsNiw2LDE0LDEyLDEzLDUsMTQsMTMsMTMsNyw1LDE1LDUsOCwxMSwxNCwxNCw2LDE0LDYsOSwxMiw5LDEyLDUsMTUsOCw4LDUsMTIsOSwxMiw1LDE0LDYsOCwxMyw2LDUsMTUsMTMsMTEsMTFdLGg9WzAsMTUxODUwMDI0OSwxODU5Nzc1MzkzLDI0MDA5NTk3MDgsMjg0MDg1MzgzOF0sbD1bMTM1MjgyOTkyNiwxNTQ4NjAzNjg0LDE4MzYwNzI2OTEsMjA1Mzk5NDIxNywwXTtmdW5jdGlvbiBkKCl7by5jYWxsKHRoaXMsNjQpLHRoaXMuX2E9MTczMjU4NDE5Myx0aGlzLl9iPTQwMjMyMzM0MTcsdGhpcy5fYz0yNTYyMzgzMTAyLHRoaXMuX2Q9MjcxNzMzODc4LHRoaXMuX2U9MzI4NTM3NzUyMH1mdW5jdGlvbiBwKHQsZSl7cmV0dXJuIHQ8PGV8dD4+PjMyLWV9ZnVuY3Rpb24gbSh0LGUscixuLGksbyxzLGEpe3JldHVybiBwKHQrKGVecl5uKStvK3N8MCxhKStpfDB9ZnVuY3Rpb24gZyh0LGUscixuLGksbyxzLGEpe3JldHVybiBwKHQrKGUmcnx+ZSZuKStvK3N8MCxhKStpfDB9ZnVuY3Rpb24gYih0LGUscixuLGksbyxzLGEpe3JldHVybiBwKHQrKChlfH5yKV5uKStvK3N8MCxhKStpfDB9ZnVuY3Rpb24geSh0LGUscixuLGksbyxzLGEpe3JldHVybiBwKHQrKGUmbnxyJn5uKStvK3N8MCxhKStpfDB9ZnVuY3Rpb24gdih0LGUscixuLGksbyxzLGEpe3JldHVybiBwKHQrKGVeKHJ8fm4pKStvK3N8MCxhKStpfDB9aShkLG8pLGQucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9cyxlPTA7ZTwxNjsrK2UpdFtlXT10aGlzLl9ibG9jay5yZWFkSW50MzJMRSg0KmUpO2Zvcih2YXIgcj0wfHRoaXMuX2Esbj0wfHRoaXMuX2IsaT0wfHRoaXMuX2Msbz0wfHRoaXMuX2QsZD0wfHRoaXMuX2UsXz0wfHRoaXMuX2Esdz0wfHRoaXMuX2IsTT0wfHRoaXMuX2MsUz0wfHRoaXMuX2QsRT0wfHRoaXMuX2UseD0wO3g8ODA7eCs9MSl7dmFyIGssQTt4PDE2PyhrPW0ocixuLGksbyxkLHRbYVt4XV0saFswXSxjW3hdKSxBPXYoXyx3LE0sUyxFLHRbdVt4XV0sbFswXSxmW3hdKSk6eDwzMj8oaz1nKHIsbixpLG8sZCx0W2FbeF1dLGhbMV0sY1t4XSksQT15KF8sdyxNLFMsRSx0W3VbeF1dLGxbMV0sZlt4XSkpOng8NDg/KGs9YihyLG4saSxvLGQsdFthW3hdXSxoWzJdLGNbeF0pLEE9YihfLHcsTSxTLEUsdFt1W3hdXSxsWzJdLGZbeF0pKTp4PDY0PyhrPXkocixuLGksbyxkLHRbYVt4XV0saFszXSxjW3hdKSxBPWcoXyx3LE0sUyxFLHRbdVt4XV0sbFszXSxmW3hdKSk6KGs9dihyLG4saSxvLGQsdFthW3hdXSxoWzRdLGNbeF0pLEE9bShfLHcsTSxTLEUsdFt1W3hdXSxsWzRdLGZbeF0pKSxyPWQsZD1vLG89cChpLDEwKSxpPW4sbj1rLF89RSxFPVMsUz1wKE0sMTApLE09dyx3PUF9dmFyIFI9dGhpcy5fYitpK1N8MDt0aGlzLl9iPXRoaXMuX2MrbytFfDAsdGhpcy5fYz10aGlzLl9kK2QrX3wwLHRoaXMuX2Q9dGhpcy5fZStyK3d8MCx0aGlzLl9lPXRoaXMuX2ErbitNfDAsdGhpcy5fYT1SfSxkLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKCl7dGhpcy5fYmxvY2tbdGhpcy5fYmxvY2tPZmZzZXQrK109MTI4LHRoaXMuX2Jsb2NrT2Zmc2V0PjU2JiYodGhpcy5fYmxvY2suZmlsbCgwLHRoaXMuX2Jsb2NrT2Zmc2V0LDY0KSx0aGlzLl91cGRhdGUoKSx0aGlzLl9ibG9ja09mZnNldD0wKSx0aGlzLl9ibG9jay5maWxsKDAsdGhpcy5fYmxvY2tPZmZzZXQsNTYpLHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzBdLDU2KSx0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxFKHRoaXMuX2xlbmd0aFsxXSw2MCksdGhpcy5fdXBkYXRlKCk7dmFyIHQ9bi5hbGxvYz9uLmFsbG9jKDIwKTpuZXcgbigyMCk7cmV0dXJuIHQud3JpdGVJbnQzMkxFKHRoaXMuX2EsMCksdC53cml0ZUludDMyTEUodGhpcy5fYiw0KSx0LndyaXRlSW50MzJMRSh0aGlzLl9jLDgpLHQud3JpdGVJbnQzMkxFKHRoaXMuX2QsMTIpLHQud3JpdGVJbnQzMkxFKHRoaXMuX2UsMTYpLHR9LHQuZXhwb3J0cz1kfSxmdW5jdGlvbih0LGUscil7KGU9dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3Q9dC50b0xvd2VyQ2FzZSgpO3ZhciByPWVbdF07aWYoIXIpdGhyb3cgbmV3IEVycm9yKHQrIiBpcyBub3Qgc3VwcG9ydGVkICh3ZSBhY2NlcHQgcHVsbCByZXF1ZXN0cykiKTtyZXR1cm4gbmV3IHJ9KS5zaGE9cigyODIpLGUuc2hhMT1yKDI4MyksZS5zaGEyMjQ9cigyODQpLGUuc2hhMjU2PXIoMTM0KSxlLnNoYTM4ND1yKDI4NSksZS5zaGE1MTI9cigxMzUpfSxmdW5jdGlvbih0LGUscil7dmFyIG49cigzKSxpPXIoMzEpLG89cigxMykuQnVmZmVyLHM9WzE1MTg1MDAyNDksMTg1OTc3NTM5MywtMTg5NDAwNzU4OCwtODk5NDk3NTE0XSxhPW5ldyBBcnJheSg4MCk7ZnVuY3Rpb24gdSgpe3RoaXMuaW5pdCgpLHRoaXMuX3c9YSxpLmNhbGwodGhpcyw2NCw1Nil9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdDw8MzB8dD4+PjJ9ZnVuY3Rpb24gZih0LGUscixuKXtyZXR1cm4gMD09PXQ/ZSZyfH5lJm46Mj09PXQ/ZSZyfGUmbnxyJm46ZV5yXm59bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0xNzMyNTg0MTkzLHRoaXMuX2I9NDAyMzIzMzQxNyx0aGlzLl9jPTI1NjIzODMxMDIsdGhpcy5fZD0yNzE3MzM4NzgsdGhpcy5fZT0zMjg1Mzc3NTIwLHRoaXN9LHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9dGhpcy5fdyxuPTB8dGhpcy5fYSxpPTB8dGhpcy5fYixvPTB8dGhpcy5fYyxhPTB8dGhpcy5fZCx1PTB8dGhpcy5fZSxoPTA7aDwxNjsrK2gpcltoXT10LnJlYWRJbnQzMkJFKDQqaCk7Zm9yKDtoPDgwOysraClyW2hdPXJbaC0zXV5yW2gtOF1ecltoLTE0XV5yW2gtMTZdO2Zvcih2YXIgbD0wO2w8ODA7KytsKXt2YXIgZD1+fihsLzIwKSxwPTB8KChlPW4pPDw1fGU+Pj4yNykrZihkLGksbyxhKSt1K3JbbF0rc1tkXTt1PWEsYT1vLG89YyhpKSxpPW4sbj1wfXRoaXMuX2E9bit0aGlzLl9hfDAsdGhpcy5fYj1pK3RoaXMuX2J8MCx0aGlzLl9jPW8rdGhpcy5fY3wwLHRoaXMuX2Q9YSt0aGlzLl9kfDAsdGhpcy5fZT11K3RoaXMuX2V8MH0sdS5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgdD1vLmFsbG9jVW5zYWZlKDIwKTtyZXR1cm4gdC53cml0ZUludDMyQkUoMHx0aGlzLl9hLDApLHQud3JpdGVJbnQzMkJFKDB8dGhpcy5fYiw0KSx0LndyaXRlSW50MzJCRSgwfHRoaXMuX2MsOCksdC53cml0ZUludDMyQkUoMHx0aGlzLl9kLDEyKSx0LndyaXRlSW50MzJCRSgwfHRoaXMuX2UsMTYpLHR9LHQuZXhwb3J0cz11fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigzKSxpPXIoMzEpLG89cigxMykuQnVmZmVyLHM9WzE1MTg1MDAyNDksMTg1OTc3NTM5MywtMTg5NDAwNzU4OCwtODk5NDk3NTE0XSxhPW5ldyBBcnJheSg4MCk7ZnVuY3Rpb24gdSgpe3RoaXMuaW5pdCgpLHRoaXMuX3c9YSxpLmNhbGwodGhpcyw2NCw1Nil9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdDw8NXx0Pj4+Mjd9ZnVuY3Rpb24gZih0KXtyZXR1cm4gdDw8MzB8dD4+PjJ9ZnVuY3Rpb24gaCh0LGUscixuKXtyZXR1cm4gMD09PXQ/ZSZyfH5lJm46Mj09PXQ/ZSZyfGUmbnxyJm46ZV5yXm59bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0xNzMyNTg0MTkzLHRoaXMuX2I9NDAyMzIzMzQxNyx0aGlzLl9jPTI1NjIzODMxMDIsdGhpcy5fZD0yNzE3MzM4NzgsdGhpcy5fZT0zMjg1Mzc3NTIwLHRoaXN9LHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9dGhpcy5fdyxuPTB8dGhpcy5fYSxpPTB8dGhpcy5fYixvPTB8dGhpcy5fYyxhPTB8dGhpcy5fZCx1PTB8dGhpcy5fZSxsPTA7bDwxNjsrK2wpcltsXT10LnJlYWRJbnQzMkJFKDQqbCk7Zm9yKDtsPDgwOysrbClyW2xdPShlPXJbbC0zXV5yW2wtOF1ecltsLTE0XV5yW2wtMTZdKTw8MXxlPj4+MzE7Zm9yKHZhciBkPTA7ZDw4MDsrK2Qpe3ZhciBwPX5+KGQvMjApLG09YyhuKStoKHAsaSxvLGEpK3UrcltkXStzW3BdfDA7dT1hLGE9byxvPWYoaSksaT1uLG49bX10aGlzLl9hPW4rdGhpcy5fYXwwLHRoaXMuX2I9aSt0aGlzLl9ifDAsdGhpcy5fYz1vK3RoaXMuX2N8MCx0aGlzLl9kPWErdGhpcy5fZHwwLHRoaXMuX2U9dSt0aGlzLl9lfDB9LHUucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIHQ9by5hbGxvY1Vuc2FmZSgyMCk7cmV0dXJuIHQud3JpdGVJbnQzMkJFKDB8dGhpcy5fYSwwKSx0LndyaXRlSW50MzJCRSgwfHRoaXMuX2IsNCksdC53cml0ZUludDMyQkUoMHx0aGlzLl9jLDgpLHQud3JpdGVJbnQzMkJFKDB8dGhpcy5fZCwxMiksdC53cml0ZUludDMyQkUoMHx0aGlzLl9lLDE2KSx0fSx0LmV4cG9ydHM9dX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMyksaT1yKDEzNCksbz1yKDMxKSxzPXIoMTMpLkJ1ZmZlcixhPW5ldyBBcnJheSg2NCk7ZnVuY3Rpb24gdSgpe3RoaXMuaW5pdCgpLHRoaXMuX3c9YSxvLmNhbGwodGhpcyw2NCw1Nil9bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0zMjM4MzcxMDMyLHRoaXMuX2I9OTE0MTUwNjYzLHRoaXMuX2M9ODEyNzAyOTk5LHRoaXMuX2Q9NDE0NDkxMjY5Nyx0aGlzLl9lPTQyOTA3NzU4NTcsdGhpcy5fZj0xNzUwNjAzMDI1LHRoaXMuX2c9MTY5NDA3NjgzOSx0aGlzLl9oPTMyMDQwNzU0MjgsdGhpc30sdS5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgdD1zLmFsbG9jVW5zYWZlKDI4KTtyZXR1cm4gdC53cml0ZUludDMyQkUodGhpcy5fYSwwKSx0LndyaXRlSW50MzJCRSh0aGlzLl9iLDQpLHQud3JpdGVJbnQzMkJFKHRoaXMuX2MsOCksdC53cml0ZUludDMyQkUodGhpcy5fZCwxMiksdC53cml0ZUludDMyQkUodGhpcy5fZSwxNiksdC53cml0ZUludDMyQkUodGhpcy5fZiwyMCksdC53cml0ZUludDMyQkUodGhpcy5fZywyNCksdH0sdC5leHBvcnRzPXV9LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDMpLGk9cigxMzUpLG89cigzMSkscz1yKDEzKS5CdWZmZXIsYT1uZXcgQXJyYXkoMTYwKTtmdW5jdGlvbiB1KCl7dGhpcy5pbml0KCksdGhpcy5fdz1hLG8uY2FsbCh0aGlzLDEyOCwxMTIpfW4odSxpKSx1LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FoPTM0MTgwNzAzNjUsdGhpcy5fYmg9MTY1NDI3MDI1MCx0aGlzLl9jaD0yNDM4NTI5MzcwLHRoaXMuX2RoPTM1NTQ2MjM2MCx0aGlzLl9laD0xNzMxNDA1NDE1LHRoaXMuX2ZoPTIzOTQxODAyMzEsdGhpcy5fZ2g9MzY3NTAwODUyNSx0aGlzLl9oaD0xMjAzMDYyODEzLHRoaXMuX2FsPTMyMzgzNzEwMzIsdGhpcy5fYmw9OTE0MTUwNjYzLHRoaXMuX2NsPTgxMjcwMjk5OSx0aGlzLl9kbD00MTQ0OTEyNjk3LHRoaXMuX2VsPTQyOTA3NzU4NTcsdGhpcy5fZmw9MTc1MDYwMzAyNSx0aGlzLl9nbD0xNjk0MDc2ODM5LHRoaXMuX2hsPTMyMDQwNzU0MjgsdGhpc30sdS5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgdD1zLmFsbG9jVW5zYWZlKDQ4KTtmdW5jdGlvbiBlKGUscixuKXt0LndyaXRlSW50MzJCRShlLG4pLHQud3JpdGVJbnQzMkJFKHIsbis0KX1yZXR1cm4gZSh0aGlzLl9haCx0aGlzLl9hbCwwKSxlKHRoaXMuX2JoLHRoaXMuX2JsLDgpLGUodGhpcy5fY2gsdGhpcy5fY2wsMTYpLGUodGhpcy5fZGgsdGhpcy5fZGwsMjQpLGUodGhpcy5fZWgsdGhpcy5fZWwsMzIpLGUodGhpcy5fZmgsdGhpcy5fZmwsNDApLHR9LHQuZXhwb3J0cz11fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigxMykuQnVmZmVyLGk9cigyODcpLlRyYW5zZm9ybSxvPXIoMjApLlN0cmluZ0RlY29kZXI7ZnVuY3Rpb24gcyh0KXtpLmNhbGwodGhpcyksdGhpcy5oYXNoTW9kZT0ic3RyaW5nIj09dHlwZW9mIHQsdGhpcy5oYXNoTW9kZT90aGlzW3RdPXRoaXMuX2ZpbmFsT3JEaWdlc3Q6dGhpcy5maW5hbD10aGlzLl9maW5hbE9yRGlnZXN0LHRoaXMuX2ZpbmFsJiYodGhpcy5fX2ZpbmFsPXRoaXMuX2ZpbmFsLHRoaXMuX2ZpbmFsPW51bGwpLHRoaXMuX2RlY29kZXI9bnVsbCx0aGlzLl9lbmNvZGluZz1udWxsfXIoMykocyxpKSxzLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlLHIpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bi5mcm9tKHQsZSkpO3ZhciBpPXRoaXMuX3VwZGF0ZSh0KTtyZXR1cm4gdGhpcy5oYXNoTW9kZT90aGlzOihyJiYoaT10aGlzLl90b1N0cmluZyhpLHIpKSxpKX0scy5wcm90b3R5cGUuc2V0QXV0b1BhZGRpbmc9ZnVuY3Rpb24oKXt9LHMucHJvdG90eXBlLmdldEF1dGhUYWc9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoInRyeWluZyB0byBnZXQgYXV0aCB0YWcgaW4gdW5zdXBwb3J0ZWQgc3RhdGUiKX0scy5wcm90b3R5cGUuc2V0QXV0aFRhZz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigidHJ5aW5nIHRvIHNldCBhdXRoIHRhZyBpbiB1bnN1cHBvcnRlZCBzdGF0ZSIpfSxzLnByb3RvdHlwZS5zZXRBQUQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoInRyeWluZyB0byBzZXQgYWFkIGluIHVuc3VwcG9ydGVkIHN0YXRlIil9LHMucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIpe3ZhciBuO3RyeXt0aGlzLmhhc2hNb2RlP3RoaXMuX3VwZGF0ZSh0KTp0aGlzLnB1c2godGhpcy5fdXBkYXRlKHQpKX1jYXRjaCh0KXtuPXR9ZmluYWxseXtyKG4pfX0scy5wcm90b3R5cGUuX2ZsdXNoPWZ1bmN0aW9uKHQpe3ZhciBlO3RyeXt0aGlzLnB1c2godGhpcy5fX2ZpbmFsKCkpfWNhdGNoKHQpe2U9dH10KGUpfSxzLnByb3RvdHlwZS5fZmluYWxPckRpZ2VzdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9fZmluYWwoKXx8bi5hbGxvYygwKTtyZXR1cm4gdCYmKGU9dGhpcy5fdG9TdHJpbmcoZSx0LCEwKSksZX0scy5wcm90b3R5cGUuX3RvU3RyaW5nPWZ1bmN0aW9uKHQsZSxyKXtpZih0aGlzLl9kZWNvZGVyfHwodGhpcy5fZGVjb2Rlcj1uZXcgbyhlKSx0aGlzLl9lbmNvZGluZz1lKSx0aGlzLl9lbmNvZGluZyE9PWUpdGhyb3cgbmV3IEVycm9yKCJjYW4ndCBzd2l0Y2ggZW5jb2RpbmdzIik7dmFyIG49dGhpcy5fZGVjb2Rlci53cml0ZSh0KTtyZXR1cm4gciYmKG4rPXRoaXMuX2RlY29kZXIuZW5kKCkpLG59LHQuZXhwb3J0cz1zfSxmdW5jdGlvbih0LGUscil7dC5leHBvcnRzPWk7dmFyIG49cigxMikuRXZlbnRFbWl0dGVyO2Z1bmN0aW9uIGkoKXtuLmNhbGwodGhpcyl9cigzKShpLG4pLGkuUmVhZGFibGU9cigzNCksaS5Xcml0YWJsZT1yKDI4OCksaS5EdXBsZXg9cigyODkpLGkuVHJhbnNmb3JtPXIoMjkwKSxpLlBhc3NUaHJvdWdoPXIoMjkxKSxpLlN0cmVhbT1pLGkucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzO2Z1bmN0aW9uIGkoZSl7dC53cml0YWJsZSYmITE9PT10LndyaXRlKGUpJiZyLnBhdXNlJiZyLnBhdXNlKCl9ZnVuY3Rpb24gbygpe3IucmVhZGFibGUmJnIucmVzdW1lJiZyLnJlc3VtZSgpfXIub24oImRhdGEiLGkpLHQub24oImRyYWluIixvKSx0Ll9pc1N0ZGlvfHxlJiYhMT09PWUuZW5kfHwoci5vbigiZW5kIixhKSxyLm9uKCJjbG9zZSIsdSkpO3ZhciBzPSExO2Z1bmN0aW9uIGEoKXtzfHwocz0hMCx0LmVuZCgpKX1mdW5jdGlvbiB1KCl7c3x8KHM9ITAsImZ1bmN0aW9uIj09dHlwZW9mIHQuZGVzdHJveSYmdC5kZXN0cm95KCkpfWZ1bmN0aW9uIGModCl7aWYoZigpLDA9PT1uLmxpc3RlbmVyQ291bnQodGhpcywiZXJyb3IiKSl0aHJvdyB0fWZ1bmN0aW9uIGYoKXtyLnJlbW92ZUxpc3RlbmVyKCJkYXRhIixpKSx0LnJlbW92ZUxpc3RlbmVyKCJkcmFpbiIsbyksci5yZW1vdmVMaXN0ZW5lcigiZW5kIixhKSxyLnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIsdSksci5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGMpLHQucmVtb3ZlTGlzdGVuZXIoImVycm9yIixjKSxyLnJlbW92ZUxpc3RlbmVyKCJlbmQiLGYpLHIucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixmKSx0LnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIsZil9cmV0dXJuIHIub24oImVycm9yIixjKSx0Lm9uKCJlcnJvciIsYyksci5vbigiZW5kIixmKSxyLm9uKCJjbG9zZSIsZiksdC5vbigiY2xvc2UiLGYpLHQuZW1pdCgicGlwZSIsciksdH19LGZ1bmN0aW9uKHQsZSxyKXt0LmV4cG9ydHM9cig1Myl9LGZ1bmN0aW9uKHQsZSxyKXt0LmV4cG9ydHM9cigxOSl9LGZ1bmN0aW9uKHQsZSxyKXt0LmV4cG9ydHM9cigzNCkuVHJhbnNmb3JtfSxmdW5jdGlvbih0LGUscil7dC5leHBvcnRzPXIoMzQpLlBhc3NUaHJvdWdofSxmdW5jdGlvbih0LGUscil7dmFyIG49cigyKSxpPW4uQnVmZmVyO2Z1bmN0aW9uIG8odCxlKXtmb3IodmFyIHIgaW4gdCllW3JdPXRbcl19ZnVuY3Rpb24gcyh0LGUscil7cmV0dXJuIGkodCxlLHIpfWkuZnJvbSYmaS5hbGxvYyYmaS5hbGxvY1Vuc2FmZSYmaS5hbGxvY1Vuc2FmZVNsb3c/dC5leHBvcnRzPW46KG8obixlKSxlLkJ1ZmZlcj1zKSxvKGkscykscy5mcm9tPWZ1bmN0aW9uKHQsZSxyKXtpZigibnVtYmVyIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBub3QgYmUgYSBudW1iZXIiKTtyZXR1cm4gaSh0LGUscil9LHMuYWxsb2M9ZnVuY3Rpb24odCxlLHIpe2lmKCJudW1iZXIiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7dmFyIG49aSh0KTtyZXR1cm4gdm9pZCAwIT09ZT8ic3RyaW5nIj09dHlwZW9mIHI/bi5maWxsKGUscik6bi5maWxsKGUpOm4uZmlsbCgwKSxufSxzLmFsbG9jVW5zYWZlPWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7cmV0dXJuIGkodCl9LHMuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7cmV0dXJuIG4uU2xvd0J1ZmZlcih0KX19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDEzNik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJzdHJpbmciIT10eXBlb2YgdD90Om4odCk/dC5zbGljZSgyKTp0fX0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cigxMzcpLGk9cigyOTUpO2Z1bmN0aW9uIG8odCxlKXtyZXR1cm4gbmV3IFByb21pc2Uocj0+e2NvbnN0IG49c2V0VGltZW91dChyLHQpO24udW5yZWYmJmUmJm4udW5yZWYoKX0pfXQuZXhwb3J0cz1jbGFzcyBleHRlbmRzIGl7Y29uc3RydWN0b3IodD17fSl7aWYoIXQucHJvdmlkZXIpdGhyb3cgbmV3IEVycm9yKCJQb2xsaW5nQmxvY2tUcmFja2VyIC0gbm8gcHJvdmlkZXIgc3BlY2lmaWVkLiIpO2NvbnN0IGU9dC5wb2xsaW5nSW50ZXJ2YWx8fDJlNCxyPXQucmV0cnlUaW1lb3V0fHxlLzEwLG49dm9pZCAwPT09dC5rZWVwRXZlbnRMb29wQWN0aXZlfHx0LmtlZXBFdmVudExvb3BBY3RpdmUsaT10LnNldFNraXBDYWNoZUZsYWd8fCExO3N1cGVyKE9iamVjdC5hc3NpZ24oe2Jsb2NrUmVzZXREdXJhdGlvbjplfSx0KSksdGhpcy5fcHJvdmlkZXI9dC5wcm92aWRlcix0aGlzLl9wb2xsaW5nSW50ZXJ2YWw9ZSx0aGlzLl9yZXRyeVRpbWVvdXQ9cix0aGlzLl9rZWVwRXZlbnRMb29wQWN0aXZlPW4sdGhpcy5fc2V0U2tpcENhY2hlRmxhZz1pfWFzeW5jIGNoZWNrRm9yTGF0ZXN0QmxvY2soKXtyZXR1cm4gYXdhaXQgdGhpcy5fdXBkYXRlTGF0ZXN0QmxvY2soKSxhd2FpdCB0aGlzLmdldExhdGVzdEJsb2NrKCl9X3N0YXJ0KCl7dGhpcy5fcGVyZm9ybVN5bmMoKS5jYXRjaCh0PT50aGlzLmVtaXQoImVycm9yIix0KSl9YXN5bmMgX3BlcmZvcm1TeW5jKCl7Zm9yKDt0aGlzLl9pc1J1bm5pbmc7KXRyeXthd2FpdCB0aGlzLl91cGRhdGVMYXRlc3RCbG9jaygpLGF3YWl0IG8odGhpcy5fcG9sbGluZ0ludGVydmFsLCF0aGlzLl9rZWVwRXZlbnRMb29wQWN0aXZlKX1jYXRjaCh0KXtjb25zdCBlPW5ldyBFcnJvcigiUG9sbGluZ0Jsb2NrVHJhY2tlciAtIGVuY291bnRlcmVkIGFuIGVycm9yIHdoaWxlIGF0dGVtcHRpbmcgdG8gdXBkYXRlIGxhdGVzdCBibG9jazpcbiIrdC5zdGFjayk7dHJ5e3RoaXMuZW1pdCgiZXJyb3IiLGUpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoZSl9YXdhaXQgbyh0aGlzLl9yZXRyeVRpbWVvdXQsIXRoaXMuX2tlZXBFdmVudExvb3BBY3RpdmUpfX1hc3luYyBfdXBkYXRlTGF0ZXN0QmxvY2soKXtjb25zdCB0PWF3YWl0IHRoaXMuX2ZldGNoTGF0ZXN0QmxvY2soKTt0aGlzLl9uZXdQb3RlbnRpYWxMYXRlc3QodCl9YXN5bmMgX2ZldGNoTGF0ZXN0QmxvY2soKXtjb25zdCB0PXtqc29ucnBjOiIyLjAiLGlkOjEsbWV0aG9kOiJldGhfYmxvY2tOdW1iZXIiLHBhcmFtczpbXX07dGhpcy5fc2V0U2tpcENhY2hlRmxhZyYmKHQuc2tpcENhY2hlPSEwKTtjb25zdCBlPWF3YWl0IG4oZT0+dGhpcy5fcHJvdmlkZXIuc2VuZEFzeW5jKHQsZSkpKCk7aWYoZS5lcnJvcil0aHJvdyBuZXcgRXJyb3IoIlBvbGxpbmdCbG9ja1RyYWNrZXIgLSBlbmNvdW50ZXJlZCBlcnJvciBmZXRjaGluZyBibG9jazpcbiIrZS5lcnJvcik7cmV0dXJuIGUucmVzdWx0fX19LGZ1bmN0aW9uKHQsZSxyKXtyKDEzOCkscigxMzcpO2NvbnN0IG49cigyOTcpLGk9KHQsZSk9PnQrZSxvPVsic3luYyIsImxhdGVzdCJdO2Z1bmN0aW9uIHModCl7cmV0dXJuIE51bWJlci5wYXJzZUludCh0LDE2KX10LmV4cG9ydHM9Y2xhc3MgZXh0ZW5kcyBue2NvbnN0cnVjdG9yKHQ9e30pe3N1cGVyKCksdGhpcy5fYmxvY2tSZXNldER1cmF0aW9uPXQuYmxvY2tSZXNldER1cmF0aW9ufHwyZTQsdGhpcy5fYmxvY2tSZXNldFRpbWVvdXQsdGhpcy5fY3VycmVudEJsb2NrPW51bGwsdGhpcy5faXNSdW5uaW5nPSExLHRoaXMuX29uTmV3TGlzdGVuZXI9dGhpcy5fb25OZXdMaXN0ZW5lci5iaW5kKHRoaXMpLHRoaXMuX29uUmVtb3ZlTGlzdGVuZXI9dGhpcy5fb25SZW1vdmVMaXN0ZW5lci5iaW5kKHRoaXMpLHRoaXMuX3Jlc2V0Q3VycmVudEJsb2NrPXRoaXMuX3Jlc2V0Q3VycmVudEJsb2NrLmJpbmQodGhpcyksdGhpcy5fc2V0dXBJbnRlcm5hbEV2ZW50cygpfWlzUnVubmluZygpe3JldHVybiB0aGlzLl9pc1J1bm5pbmd9Z2V0Q3VycmVudEJsb2NrKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRCbG9ja31hc3luYyBnZXRMYXRlc3RCbG9jaygpe2lmKHRoaXMuX2N1cnJlbnRCbG9jaylyZXR1cm4gdGhpcy5fY3VycmVudEJsb2NrO3JldHVybiBhd2FpdCBuZXcgUHJvbWlzZSh0PT50aGlzLm9uY2UoImxhdGVzdCIsdCkpfXJlbW92ZUFsbExpc3RlbmVycyh0KXt0P3N1cGVyLnJlbW92ZUFsbExpc3RlbmVycyh0KTpzdXBlci5yZW1vdmVBbGxMaXN0ZW5lcnMoKSx0aGlzLl9zZXR1cEludGVybmFsRXZlbnRzKCksdGhpcy5fb25SZW1vdmVMaXN0ZW5lcigpfV9zdGFydCgpe31fZW5kKCl7fV9zZXR1cEludGVybmFsRXZlbnRzKCl7dGhpcy5yZW1vdmVMaXN0ZW5lcigibmV3TGlzdGVuZXIiLHRoaXMuX29uTmV3TGlzdGVuZXIpLHRoaXMucmVtb3ZlTGlzdGVuZXIoInJlbW92ZUxpc3RlbmVyIix0aGlzLl9vblJlbW92ZUxpc3RlbmVyKSx0aGlzLm9uKCJuZXdMaXN0ZW5lciIsdGhpcy5fb25OZXdMaXN0ZW5lciksdGhpcy5vbigicmVtb3ZlTGlzdGVuZXIiLHRoaXMuX29uUmVtb3ZlTGlzdGVuZXIpfV9vbk5ld0xpc3RlbmVyKHQsZSl7by5pbmNsdWRlcyh0KSYmdGhpcy5fbWF5YmVTdGFydCgpfV9vblJlbW92ZUxpc3RlbmVyKHQsZSl7dGhpcy5fZ2V0QmxvY2tUcmFja2VyRXZlbnRDb3VudCgpPjB8fHRoaXMuX21heWJlRW5kKCl9X21heWJlU3RhcnQoKXt0aGlzLl9pc1J1bm5pbmd8fCh0aGlzLl9pc1J1bm5pbmc9ITAsdGhpcy5fY2FuY2VsQmxvY2tSZXNldFRpbWVvdXQoKSx0aGlzLl9zdGFydCgpKX1fbWF5YmVFbmQoKXt0aGlzLl9pc1J1bm5pbmcmJih0aGlzLl9pc1J1bm5pbmc9ITEsdGhpcy5fc2V0dXBCbG9ja1Jlc2V0VGltZW91dCgpLHRoaXMuX2VuZCgpKX1fZ2V0QmxvY2tUcmFja2VyRXZlbnRDb3VudCgpe3JldHVybiBvLm1hcCh0PT50aGlzLmxpc3RlbmVyQ291bnQodCkpLnJlZHVjZShpKX1fbmV3UG90ZW50aWFsTGF0ZXN0KHQpe2NvbnN0IGU9dGhpcy5fY3VycmVudEJsb2NrO2UmJnModCk8PXMoZSl8fHRoaXMuX3NldEN1cnJlbnRCbG9jayh0KX1fc2V0Q3VycmVudEJsb2NrKHQpe2NvbnN0IGU9dGhpcy5fY3VycmVudEJsb2NrO3RoaXMuX2N1cnJlbnRCbG9jaz10LHRoaXMuZW1pdCgibGF0ZXN0Iix0KSx0aGlzLmVtaXQoInN5bmMiLHtvbGRCbG9jazplLG5ld0Jsb2NrOnR9KX1fc2V0dXBCbG9ja1Jlc2V0VGltZW91dCgpe3RoaXMuX2NhbmNlbEJsb2NrUmVzZXRUaW1lb3V0KCksdGhpcy5fYmxvY2tSZXNldFRpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl9yZXNldEN1cnJlbnRCbG9jayx0aGlzLl9ibG9ja1Jlc2V0RHVyYXRpb24pLHRoaXMuX2Jsb2NrUmVzZXRUaW1lb3V0LnVucmVmJiZ0aGlzLl9ibG9ja1Jlc2V0VGltZW91dC51bnJlZigpfV9jYW5jZWxCbG9ja1Jlc2V0VGltZW91dCgpe2NsZWFyVGltZW91dCh0aGlzLl9ibG9ja1Jlc2V0VGltZW91dCl9X3Jlc2V0Q3VycmVudEJsb2NrKCl7dGhpcy5fY3VycmVudEJsb2NrPW51bGx9fX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9KHQ9dHx8e30pLm1heHx8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIscj12b2lkIDAhPT10LnN0YXJ0P3Quc3RhcnQ6TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmUpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiByJT1lLHIrK319fSxmdW5jdGlvbih0LGUscil7Y29uc3Qgbj1yKDIxKSxpPXIoMTIpO3ZhciBvPSJvYmplY3QiPT10eXBlb2YgUmVmbGVjdD9SZWZsZWN0Om51bGwscz1vJiYiZnVuY3Rpb24iPT10eXBlb2Ygby5hcHBseT9vLmFwcGx5OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwodCxlLHIpfTtmdW5jdGlvbiBhKCl7aS5jYWxsKHRoaXMpfWZ1bmN0aW9uIHUodCxlLHIpe3RyeXtzKHQsZSxyKX1jYXRjaCh0KXtzZXRUaW1lb3V0KCgpPT57dGhyb3cgdH0pfX1mdW5jdGlvbiBjKHQsZSl7Zm9yKHZhciByPW5ldyBBcnJheShlKSxuPTA7bjxlOysrbilyW25dPXRbbl07cmV0dXJuIHJ9dC5leHBvcnRzPWEsbi5pbmhlcml0cyhhLGkpLGEucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLHI9MTtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKWUucHVzaChhcmd1bWVudHNbcl0pO3ZhciBuPSJlcnJvciI9PT10LGk9dGhpcy5fZXZlbnRzO2lmKHZvaWQgMCE9PWkpbj1uJiZ2b2lkIDA9PT1pLmVycm9yO2Vsc2UgaWYoIW4pcmV0dXJuITE7aWYobil7dmFyIG87aWYoZS5sZW5ndGg+MCYmKG89ZVswXSksbyBpbnN0YW5jZW9mIEVycm9yKXRocm93IG87dmFyIHM9bmV3IEVycm9yKCJVbmhhbmRsZWQgZXJyb3IuIisobz8iICgiK28ubWVzc2FnZSsiKSI6IiIpKTt0aHJvdyBzLmNvbnRleHQ9byxzfXZhciBhPWlbdF07aWYodm9pZCAwPT09YSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgYSl1KGEsdGhpcyxlKTtlbHNle3ZhciBmPWEubGVuZ3RoLGg9YyhhLGYpO2ZvcihyPTA7cjxmOysrcil1KGhbcl0sdGhpcyxlKX1yZXR1cm4hMH19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPW8ocigyOTkpKSxpPW8ocigzMjUpKTtmdW5jdGlvbiBvKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX1lLmRlZmF1bHQ9KDAsbi5kZWZhdWx0KShpLmRlZmF1bHQpLHQuZXhwb3J0cz1lLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyLG8pe3JldHVybiB0KG4uZGVmYXVsdCxlLCgwLGkuZGVmYXVsdCkociksbyl9fTt2YXIgbj1vKHIoMTM5KSksaT1vKHIoMjMpKTtmdW5jdGlvbiBvKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX10LmV4cG9ydHM9ZS5kZWZhdWx0fSxmdW5jdGlvbih0LGUscil7dmFyIG49cig2MyksaT1yKDE0Myk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCFpKHQpKXJldHVybiExO3ZhciBlPW4odCk7cmV0dXJuIltvYmplY3QgRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgQXN5bmNGdW5jdGlvbl0iPT1lfHwiW29iamVjdCBQcm94eV0iPT1lfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTQwKSxpPU9iamVjdC5wcm90b3R5cGUsbz1pLmhhc093blByb3BlcnR5LHM9aS50b1N0cmluZyxhPW4/bi50b1N0cmluZ1RhZzp2b2lkIDA7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPW8uY2FsbCh0LGEpLHI9dFthXTt0cnl7dFthXT12b2lkIDA7dmFyIG49ITB9Y2F0Y2godCl7fXZhciBpPXMuY2FsbCh0KTtyZXR1cm4gbiYmKGU/dFthXT1yOmRlbGV0ZSB0W2FdKSxpfX0sZnVuY3Rpb24odCxlKXt2YXIgcj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gci5jYWxsKHQpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PWZ1bmN0aW9uKHQsZSxyLG8peygwLG4uZGVmYXVsdCkoZSkodCwoMCxpLmRlZmF1bHQpKHIpLG8pfTt2YXIgbj1vKHIoMTQ2KSksaT1vKHIoMjMpKTtmdW5jdGlvbiBvKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX10LmV4cG9ydHM9ZS5kZWZhdWx0fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmRlZmF1bHQ9ZnVuY3Rpb24odCl7aWYoKDAsbi5kZWZhdWx0KSh0KSlyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9LTEscj10Lmxlbmd0aDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4rK2U8cj97dmFsdWU6dFtlXSxrZXk6ZX06bnVsbH19KHQpO3ZhciBlPSgwLGkuZGVmYXVsdCkodCk7cmV0dXJuIGU/ZnVuY3Rpb24odCl7dmFyIGU9LTE7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9dC5uZXh0KCk7cmV0dXJuIHIuZG9uZT9udWxsOihlKysse3ZhbHVlOnIudmFsdWUsa2V5OmV9KX19KGUpOihyPXQscz0oMCxvLmRlZmF1bHQpKHIpLGE9LTEsdT1zLmxlbmd0aCxmdW5jdGlvbiB0KCl7dmFyIGU9c1srK2FdO3JldHVybiJfX3Byb3RvX18iPT09ZT90KCk6YTx1P3t2YWx1ZTpyW2VdLGtleTplfTpudWxsfSk7dmFyIHIscyxhLHV9O3ZhciBuPXMocig0NykpLGk9cyhyKDMwNSkpLG89cyhyKDMwNikpO2Z1bmN0aW9uIHModCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fXQuZXhwb3J0cz1lLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0KXtyZXR1cm4gbiYmdFtuXSYmdFtuXSgpfTt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3I7dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMzA3KSxpPXIoMzE4KSxvPXIoNDcpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbyh0KT9uKHQpOmkodCl9fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigzMDgpLGk9cigzMDkpLG89cigxNDcpLHM9cigzMTEpLGE9cigzMTMpLHU9cigzMTQpLGM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1vKHQpLGY9IXImJmkodCksaD0hciYmIWYmJnModCksbD0hciYmIWYmJiFoJiZ1KHQpLGQ9cnx8Znx8aHx8bCxwPWQ/bih0Lmxlbmd0aCxTdHJpbmcpOltdLG09cC5sZW5ndGg7Zm9yKHZhciBnIGluIHQpIWUmJiFjLmNhbGwodCxnKXx8ZCYmKCJsZW5ndGgiPT1nfHxoJiYoIm9mZnNldCI9PWd8fCJwYXJlbnQiPT1nKXx8bCYmKCJidWZmZXIiPT1nfHwiYnl0ZUxlbmd0aCI9PWd8fCJieXRlT2Zmc2V0Ij09Zyl8fGEoZyxtKSl8fHAucHVzaChnKTtyZXR1cm4gcH19LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPS0xLG49QXJyYXkodCk7KytyPHQ7KW5bcl09ZShyKTtyZXR1cm4gbn19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDMxMCksaT1yKDY1KSxvPU9iamVjdC5wcm90b3R5cGUscz1vLmhhc093blByb3BlcnR5LGE9by5wcm9wZXJ0eUlzRW51bWVyYWJsZSx1PW4oZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzfSgpKT9uOmZ1bmN0aW9uKHQpe3JldHVybiBpKHQpJiZzLmNhbGwodCwiY2FsbGVlIikmJiFhLmNhbGwodCwiY2FsbGVlIil9O3QuZXhwb3J0cz11fSxmdW5jdGlvbih0LGUscil7dmFyIG49cig2MyksaT1yKDY1KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGkodCkmJiJbb2JqZWN0IEFyZ3VtZW50c10iPT1uKHQpfX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXt2YXIgbj1yKDE0MSksaT1yKDMxMiksbz1lJiYhZS5ub2RlVHlwZSYmZSxzPW8mJiJvYmplY3QiPT10eXBlb2YgdCYmdCYmIXQubm9kZVR5cGUmJnQsYT1zJiZzLmV4cG9ydHM9PT1vP24uQnVmZmVyOnZvaWQgMCx1PShhP2EuaXNCdWZmZXI6dm9pZCAwKXx8aTt0LmV4cG9ydHM9dX0pLmNhbGwodGhpcyxyKDI1KSh0KSl9LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuITF9fSxmdW5jdGlvbih0LGUpe3ZhciByPS9eKD86MHxbMS05XVxkKikkLzt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgbj10eXBlb2YgdDtyZXR1cm4hIShlPW51bGw9PWU/OTAwNzE5OTI1NDc0MDk5MTplKSYmKCJudW1iZXIiPT1ufHwic3ltYm9sIiE9biYmci50ZXN0KHQpKSYmdD4tMSYmdCUxPT0wJiZ0PGV9fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigzMTUpLGk9cigzMTYpLG89cigzMTcpLHM9byYmby5pc1R5cGVkQXJyYXksYT1zP2kocyk6bjt0LmV4cG9ydHM9YX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoNjMpLGk9cigxNDQpLG89cig2NSkscz17fTtzWyJbb2JqZWN0IEZsb2F0MzJBcnJheV0iXT1zWyJbb2JqZWN0IEZsb2F0NjRBcnJheV0iXT1zWyJbb2JqZWN0IEludDhBcnJheV0iXT1zWyJbb2JqZWN0IEludDE2QXJyYXldIl09c1siW29iamVjdCBJbnQzMkFycmF5XSJdPXNbIltvYmplY3QgVWludDhBcnJheV0iXT1zWyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPXNbIltvYmplY3QgVWludDE2QXJyYXldIl09c1siW29iamVjdCBVaW50MzJBcnJheV0iXT0hMCxzWyJbb2JqZWN0IEFyZ3VtZW50c10iXT1zWyJbb2JqZWN0IEFycmF5XSJdPXNbIltvYmplY3QgQXJyYXlCdWZmZXJdIl09c1siW29iamVjdCBCb29sZWFuXSJdPXNbIltvYmplY3QgRGF0YVZpZXddIl09c1siW29iamVjdCBEYXRlXSJdPXNbIltvYmplY3QgRXJyb3JdIl09c1siW29iamVjdCBGdW5jdGlvbl0iXT1zWyJbb2JqZWN0IE1hcF0iXT1zWyJbb2JqZWN0IE51bWJlcl0iXT1zWyJbb2JqZWN0IE9iamVjdF0iXT1zWyJbb2JqZWN0IFJlZ0V4cF0iXT1zWyJbb2JqZWN0IFNldF0iXT1zWyJbb2JqZWN0IFN0cmluZ10iXT1zWyJbb2JqZWN0IFdlYWtNYXBdIl09ITEsdC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBvKHQpJiZpKHQubGVuZ3RoKSYmISFzW24odCldfX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpfX19LGZ1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24odCl7dmFyIG49cigxNDIpLGk9ZSYmIWUubm9kZVR5cGUmJmUsbz1pJiYib2JqZWN0Ij09dHlwZW9mIHQmJnQmJiF0Lm5vZGVUeXBlJiZ0LHM9byYmby5leHBvcnRzPT09aSYmbi5wcm9jZXNzLGE9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9byYmby5yZXF1aXJlJiZvLnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gdHx8cyYmcy5iaW5kaW5nJiZzLmJpbmRpbmcoInV0aWwiKX1jYXRjaCh0KXt9fSgpO3QuZXhwb3J0cz1hfSkuY2FsbCh0aGlzLHIoMjUpKHQpKX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMzE5KSxpPXIoMzIwKSxvPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCFuKHQpKXJldHVybiBpKHQpO3ZhciBlPVtdO2Zvcih2YXIgciBpbiBPYmplY3QodCkpby5jYWxsKHQscikmJiJjb25zdHJ1Y3RvciIhPXImJmUucHVzaChyKTtyZXR1cm4gZX19LGZ1bmN0aW9uKHQsZSl7dmFyIHI9T2JqZWN0LnByb3RvdHlwZTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dCYmdC5jb25zdHJ1Y3RvcjtyZXR1cm4gdD09PSgiZnVuY3Rpb24iPT10eXBlb2YgZSYmZS5wcm90b3R5cGV8fHIpfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMzIxKShPYmplY3Qua2V5cyxPYmplY3QpO3QuZXhwb3J0cz1ufSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gdChlKHIpKX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmRlZmF1bHQ9ZnVuY3Rpb24odCl7cmV0dXJuKDAsaS5kZWZhdWx0KSgoZnVuY3Rpb24oZSxyKXt2YXIgaTt0cnl7aT10LmFwcGx5KHRoaXMsZSl9Y2F0Y2godCl7cmV0dXJuIHIodCl9KDAsbi5kZWZhdWx0KShpKSYmImZ1bmN0aW9uIj09dHlwZW9mIGkudGhlbj9pLnRoZW4oKGZ1bmN0aW9uKHQpe2EocixudWxsLHQpfSksKGZ1bmN0aW9uKHQpe2Eocix0Lm1lc3NhZ2U/dDpuZXcgRXJyb3IodCkpfSkpOnIobnVsbCxpKX0pKX07dmFyIG49cyhyKDE0MykpLGk9cyhyKDMyMykpLG89cyhyKDMyNCkpO2Z1bmN0aW9uIHModCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIGEodCxlLHIpe3RyeXt0KGUscil9Y2F0Y2godCl7KDAsby5kZWZhdWx0KSh1LHQpfX1mdW5jdGlvbiB1KHQpe3Rocm93IHR9dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPSgwLG8uZGVmYXVsdCkoYXJndW1lbnRzKSxyPWUucG9wKCk7dC5jYWxsKHRoaXMsZSxyKX19O3ZhciBuLGk9cig0OCksbz0obj1pKSYmbi5fX2VzTW9kdWxlP246e2RlZmF1bHQ6bn07dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCxuKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5oYXNOZXh0VGljaz1lLmhhc1NldEltbWVkaWF0ZT12b2lkIDAsZS5mYWxsYmFjaz1mLGUud3JhcD1oO3ZhciBpLG89cig0OCkscz0oaT1vKSYmaS5fX2VzTW9kdWxlP2k6e2RlZmF1bHQ6aX07dmFyIGEsdT1lLmhhc1NldEltbWVkaWF0ZT0iZnVuY3Rpb24iPT10eXBlb2YgdCYmdCxjPWUuaGFzTmV4dFRpY2s9Im9iamVjdCI9PXR5cGVvZiBuJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5uZXh0VGljaztmdW5jdGlvbiBmKHQpe3NldFRpbWVvdXQodCwwKX1mdW5jdGlvbiBoKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgcj0oMCxzLmRlZmF1bHQpKGFyZ3VtZW50cywxKTt0KChmdW5jdGlvbigpe2UuYXBwbHkobnVsbCxyKX0pKX19YT11P3Q6Yz9uLm5leHRUaWNrOmYsZS5kZWZhdWx0PWgoYSl9KS5jYWxsKHRoaXMscigxMDgpLnNldEltbWVkaWF0ZSxyKDUpKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PWZ1bmN0aW9uKHQsZSxyLG8pe289b3x8bi5kZWZhdWx0LGU9ZXx8W107dmFyIHM9W10sYT0wLHU9KDAsaS5kZWZhdWx0KShyKTt0KGUsKGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1hKys7dSh0LChmdW5jdGlvbih0LGUpe3Nbbl09ZSxyKHQpfSkpfSksKGZ1bmN0aW9uKHQpe28odCxzKX0pKX07dmFyIG49byhyKDM4KSksaT1vKHIoMjMpKTtmdW5jdGlvbiBvKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX10LmV4cG9ydHM9ZS5kZWZhdWx0fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1vKHIoMzI3KSksaT1vKHIoMTQ4KSk7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19ZS5kZWZhdWx0PSgwLGkuZGVmYXVsdCkobi5kZWZhdWx0LDEpLHQuZXhwb3J0cz1lLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0LGUscixzKXsoMCxuLmRlZmF1bHQpKGUpKHQsKDAsaS5kZWZhdWx0KSgoMCxvLmRlZmF1bHQpKHIpKSxzKX07dmFyIG49cyhyKDE0NikpLGk9cyhyKDMyOCkpLG89cyhyKDIzKSk7ZnVuY3Rpb24gcyh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLHIsbil7cmV0dXJuIHQoZSxuKX19LHQuZXhwb3J0cz1lLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoMTIpLkV2ZW50RW1pdHRlcixpPXIoMjEpLmluaGVyaXRzO2Z1bmN0aW9uIG8oKXtuLmNhbGwodGhpcyksdGhpcy5pc0xvY2tlZD0hMH10LmV4cG9ydHM9byxpKG8sbiksby5wcm90b3R5cGUuZ289ZnVuY3Rpb24oKXt0aGlzLmlzTG9ja2VkPSExLHRoaXMuZW1pdCgidW5sb2NrIil9LG8ucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmlzTG9ja2VkPSEwLHRoaXMuZW1pdCgibG9jayIpfSxvLnByb3RvdHlwZS5hd2FpdD1mdW5jdGlvbih0KXtjb25zdCBlPXRoaXM7ZS5pc0xvY2tlZD9lLm9uY2UoInVubG9jayIsdCk6c2V0VGltZW91dCh0KX19LGZ1bmN0aW9uKHQsZSxyKXtlLnBhcnNlPXIoMzMxKSxlLnN0cmluZ2lmeT1yKDMzMil9LGZ1bmN0aW9uKHQsZSl7dmFyIHIsbixpLG8scz17JyInOiciJywiXFwiOiJcXCIsIi8iOiIvIixiOiJcYiIsZjoiXGYiLG46IlxuIixyOiJcciIsdDoiXHQifSxhPWZ1bmN0aW9uKHQpe3Rocm93e25hbWU6IlN5bnRheEVycm9yIixtZXNzYWdlOnQsYXQ6cix0ZXh0Oml9fSx1PWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0IT09biYmYSgiRXhwZWN0ZWQgJyIrdCsiJyBpbnN0ZWFkIG9mICciK24rIiciKSxuPWkuY2hhckF0KHIpLHIrPTEsbn0sYz1mdW5jdGlvbigpe3ZhciB0LGU9IiI7Zm9yKCItIj09PW4mJihlPSItIix1KCItIikpO24+PSIwIiYmbjw9IjkiOyllKz1uLHUoKTtpZigiLiI9PT1uKWZvcihlKz0iLiI7dSgpJiZuPj0iMCImJm48PSI5IjspZSs9bjtpZigiZSI9PT1ufHwiRSI9PT1uKWZvcihlKz1uLHUoKSwiLSIhPT1uJiYiKyIhPT1ufHwoZSs9bix1KCkpO24+PSIwIiYmbjw9IjkiOyllKz1uLHUoKTtpZih0PStlLGlzRmluaXRlKHQpKXJldHVybiB0O2EoIkJhZCBudW1iZXIiKX0sZj1mdW5jdGlvbigpe3ZhciB0LGUscixpPSIiO2lmKCciJz09PW4pZm9yKDt1KCk7KXtpZignIic9PT1uKXJldHVybiB1KCksaTtpZigiXFwiPT09bilpZih1KCksInUiPT09bil7Zm9yKHI9MCxlPTA7ZTw0JiYodD1wYXJzZUludCh1KCksMTYpLGlzRmluaXRlKHQpKTtlKz0xKXI9MTYqcit0O2krPVN0cmluZy5mcm9tQ2hhckNvZGUocil9ZWxzZXtpZigic3RyaW5nIiE9dHlwZW9mIHNbbl0pYnJlYWs7aSs9c1tuXX1lbHNlIGkrPW59YSgiQmFkIHN0cmluZyIpfSxoPWZ1bmN0aW9uKCl7Zm9yKDtuJiZuPD0iICI7KXUoKX07bz1mdW5jdGlvbigpe3N3aXRjaChoKCksbil7Y2FzZSJ7IjpyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdCxlPXt9O2lmKCJ7Ij09PW4pe2lmKHUoInsiKSxoKCksIn0iPT09bilyZXR1cm4gdSgifSIpLGU7Zm9yKDtuOyl7aWYodD1mKCksaCgpLHUoIjoiKSxPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChlLHQpJiZhKCdEdXBsaWNhdGUga2V5ICInK3QrJyInKSxlW3RdPW8oKSxoKCksIn0iPT09bilyZXR1cm4gdSgifSIpLGU7dSgiLCIpLGgoKX19YSgiQmFkIG9iamVjdCIpfSgpO2Nhc2UiWyI6cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHQ9W107aWYoIlsiPT09bil7aWYodSgiWyIpLGgoKSwiXSI9PT1uKXJldHVybiB1KCJdIiksdDtmb3IoO247KXtpZih0LnB1c2gobygpKSxoKCksIl0iPT09bilyZXR1cm4gdSgiXSIpLHQ7dSgiLCIpLGgoKX19YSgiQmFkIGFycmF5Iil9KCk7Y2FzZSciJzpyZXR1cm4gZigpO2Nhc2UiLSI6cmV0dXJuIGMoKTtkZWZhdWx0OnJldHVybiBuPj0iMCImJm48PSI5Ij9jKCk6ZnVuY3Rpb24oKXtzd2l0Y2gobil7Y2FzZSJ0IjpyZXR1cm4gdSgidCIpLHUoInIiKSx1KCJ1IiksdSgiZSIpLCEwO2Nhc2UiZiI6cmV0dXJuIHUoImYiKSx1KCJhIiksdSgibCIpLHUoInMiKSx1KCJlIiksITE7Y2FzZSJuIjpyZXR1cm4gdSgibiIpLHUoInUiKSx1KCJsIiksdSgibCIpLG51bGx9YSgiVW5leHBlY3RlZCAnIituKyInIil9KCl9fSx0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcztyZXR1cm4gaT10LHI9MCxuPSIgIixzPW8oKSxoKCksbiYmYSgiU3ludGF4IGVycm9yIiksImZ1bmN0aW9uIj09dHlwZW9mIGU/ZnVuY3Rpb24gdChyLG4pe3ZhciBpLG8scz1yW25dO2lmKHMmJiJvYmplY3QiPT10eXBlb2Ygcylmb3IoaSBpbiBzKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLGkpJiYodm9pZCAwIT09KG89dChzLGkpKT9zW2ldPW86ZGVsZXRlIHNbaV0pO3JldHVybiBlLmNhbGwocixuLHMpfSh7IiI6c30sIiIpOnN9fSxmdW5jdGlvbih0LGUpe3ZhciByLG4saSxvPS9bXFxcIlx4MDAtXHgxZlx4N2YtXHg5Zlx1MDBhZFx1MDYwMC1cdTA2MDRcdTA3MGZcdTE3YjRcdTE3YjVcdTIwMGMtXHUyMDBmXHUyMDI4LVx1MjAyZlx1MjA2MC1cdTIwNmZcdWZlZmZcdWZmZjAtXHVmZmZmXS9nLHM9eyJcYiI6IlxcYiIsIlx0IjoiXFx0IiwiXG4iOiJcXG4iLCJcZiI6IlxcZiIsIlxyIjoiXFxyIiwnIic6J1xcIicsIlxcIjoiXFxcXCJ9O2Z1bmN0aW9uIGEodCl7cmV0dXJuIG8ubGFzdEluZGV4PTAsby50ZXN0KHQpPyciJyt0LnJlcGxhY2UobywoZnVuY3Rpb24odCl7dmFyIGU9c1t0XTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ZToiXFx1IisoIjAwMDAiK3QuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikpLnNsaWNlKC00KX0pKSsnIic6JyInK3QrJyInfXQuZXhwb3J0cz1mdW5jdGlvbih0LGUsbyl7dmFyIHM7aWYocj0iIixuPSIiLCJudW1iZXIiPT10eXBlb2Ygbylmb3Iocz0wO3M8bztzKz0xKW4rPSIgIjtlbHNlInN0cmluZyI9PXR5cGVvZiBvJiYobj1vKTtpZihpPWUsZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUmJigib2JqZWN0IiE9dHlwZW9mIGV8fCJudW1iZXIiIT10eXBlb2YgZS5sZW5ndGgpKXRocm93IG5ldyBFcnJvcigiSlNPTi5zdHJpbmdpZnkiKTtyZXR1cm4gZnVuY3Rpb24gdChlLG8pe3ZhciBzLHUsYyxmLGgsbD1yLGQ9b1tlXTtzd2l0Y2goZCYmIm9iamVjdCI9PXR5cGVvZiBkJiYiZnVuY3Rpb24iPT10eXBlb2YgZC50b0pTT04mJihkPWQudG9KU09OKGUpKSwiZnVuY3Rpb24iPT10eXBlb2YgaSYmKGQ9aS5jYWxsKG8sZSxkKSksdHlwZW9mIGQpe2Nhc2Uic3RyaW5nIjpyZXR1cm4gYShkKTtjYXNlIm51bWJlciI6cmV0dXJuIGlzRmluaXRlKGQpP1N0cmluZyhkKToibnVsbCI7Y2FzZSJib29sZWFuIjpjYXNlIm51bGwiOnJldHVybiBTdHJpbmcoZCk7Y2FzZSJvYmplY3QiOmlmKCFkKXJldHVybiJudWxsIjtpZihyKz1uLGg9W10sIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuYXBwbHkoZCkpe2ZvcihmPWQubGVuZ3RoLHM9MDtzPGY7cys9MSloW3NdPXQocyxkKXx8Im51bGwiO3JldHVybiBjPTA9PT1oLmxlbmd0aD8iW10iOnI/IltcbiIrcitoLmpvaW4oIixcbiIrcikrIlxuIitsKyJdIjoiWyIraC5qb2luKCIsIikrIl0iLHI9bCxjfWlmKGkmJiJvYmplY3QiPT10eXBlb2YgaSlmb3IoZj1pLmxlbmd0aCxzPTA7czxmO3MrPTEpInN0cmluZyI9PXR5cGVvZih1PWlbc10pJiYoYz10KHUsZCkpJiZoLnB1c2goYSh1KSsocj8iOiAiOiI6IikrYyk7ZWxzZSBmb3IodSBpbiBkKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLHUpJiYoYz10KHUsZCkpJiZoLnB1c2goYSh1KSsocj8iOiAiOiI6IikrYyk7cmV0dXJuIGM9MD09PWgubGVuZ3RoPyJ7fSI6cj8ie1xuIityK2guam9pbigiLFxuIityKSsiXG4iK2wrIn0iOiJ7IitoLmpvaW4oIiwiKSsifSIscj1sLGN9fSgiIix7IiI6dH0pfX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5mbG9vcihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUipNYXRoLnJhbmRvbSgpKX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNjgpLGk9cigzMzUpO3QuZXhwb3J0cz1jbGFzcyBleHRlbmRzIG57Y29uc3RydWN0b3IodCl7c3VwZXIoKHtibG9ja1RyYWNrZXI6ZX0pPT5pKE9iamVjdC5hc3NpZ24oe2Jsb2NrVHJhY2tlcjplfSx0KSkpfX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoMzM2KSxpPXIoMzM3KSxvPVt2b2lkIDAsbnVsbCwiPG5pbD4iXTt0LmV4cG9ydHM9ZnVuY3Rpb24odD17fSl7Y29uc3R7YmxvY2tUcmFja2VyOmV9PXQ7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJjcmVhdGVCbG9ja0NhY2hlTWlkZGxld2FyZSAtIE5vIEJsb2NrVHJhY2tlciBzcGVjaWZpZWQiKTtjb25zdCByPW5ldyBzLG89e3Blcm1hOnIsYmxvY2s6cixmb3JrOnJ9O3JldHVybiBpKGFzeW5jKHQsaSxzKT0+e2lmKHQuc2tpcENhY2hlKXJldHVybiBzKCk7Y29uc3QgYT1uLmNhY2hlVHlwZUZvclBheWxvYWQodCksdT1vW2FdO2lmKCF1KXJldHVybiBzKCk7aWYoIXUuY2FuQ2FjaGVSZXF1ZXN0KHQpKXJldHVybiBzKCk7bGV0IGMsZj1uLmJsb2NrVGFnRm9yUGF5bG9hZCh0KTtpZihmfHwoZj0ibGF0ZXN0IiksImVhcmxpZXN0Ij09PWYpYz0iMHgwMCI7ZWxzZSBpZigibGF0ZXN0Ij09PWYpe2NvbnN0IHQ9YXdhaXQgZS5nZXRMYXRlc3RCbG9jaygpO3IuY2xlYXJCZWZvcmUodCksYz10fWVsc2UgYz1mO2NvbnN0IGg9YXdhaXQgdS5nZXQodCxjKTt2b2lkIDA9PT1oPyhhd2FpdCBzKCksYXdhaXQgdS5zZXQodCxjLGkucmVzdWx0KSk6aS5yZXN1bHQ9aH0pfTtjbGFzcyBze2NvbnN0cnVjdG9yKCl7dGhpcy5jYWNoZT17fX1nZXRCbG9ja0NhY2hlRm9yUGF5bG9hZCh0LGUpe2NvbnN0IHI9TnVtYmVyLnBhcnNlSW50KGUsMTYpO2xldCBuPXRoaXMuY2FjaGVbcl07aWYoIW4pe2NvbnN0IHQ9e307dGhpcy5jYWNoZVtyXT10LG49dH1yZXR1cm4gbn1hc3luYyBnZXQodCxlKXtjb25zdCByPXRoaXMuZ2V0QmxvY2tDYWNoZUZvclBheWxvYWQodCxlKTtpZighcilyZXR1cm47cmV0dXJuIHJbbi5jYWNoZUlkZW50aWZpZXJGb3JQYXlsb2FkKHQsITApXX1hc3luYyBzZXQodCxlLHIpe2lmKCF0aGlzLmNhbkNhY2hlUmVzdWx0KHQscikpcmV0dXJuO3RoaXMuZ2V0QmxvY2tDYWNoZUZvclBheWxvYWQodCxlKVtuLmNhY2hlSWRlbnRpZmllckZvclBheWxvYWQodCwhMCldPXJ9Y2FuQ2FjaGVSZXF1ZXN0KHQpe2lmKCFuLmNhbkNhY2hlKHQpKXJldHVybiExO3JldHVybiJwZW5kaW5nIiE9PW4uYmxvY2tUYWdGb3JQYXlsb2FkKHQpfWNhbkNhY2hlUmVzdWx0KHQsZSl7aWYoIW8uaW5jbHVkZXMoZSkpcmV0dXJuISEoIVsiZXRoX2dldFRyYW5zYWN0aW9uQnlIYXNoIiwiZXRoX2dldFRyYW5zYWN0aW9uUmVjZWlwdCJdLmluY2x1ZGVzKHQubWV0aG9kKXx8ZSYmZS5ibG9ja0hhc2gmJiIweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiIT09ZS5ibG9ja0hhc2gpfWNsZWFyQmVmb3JlKHQpe2NvbnN0IGU9dGhpcyxyPU51bWJlci5wYXJzZUludCh0LDE2KTtPYmplY3Qua2V5cyhlLmNhY2hlKS5tYXAoTnVtYmVyKS5maWx0ZXIodD0+dDxyKS5mb3JFYWNoKHQ9PmRlbGV0ZSBlLmNhY2hlW3RdKX19fSxmdW5jdGlvbih0LGUscil7Y29uc3Qgbj1yKDE1MCk7ZnVuY3Rpb24gaSh0KXtyZXR1cm4ibmV2ZXIiIT09YSh0KX1mdW5jdGlvbiBvKHQpe2NvbnN0IGU9cyh0KTtyZXR1cm4gZT49dC5wYXJhbXMubGVuZ3RoP3QucGFyYW1zOiJldGhfZ2V0QmxvY2tCeU51bWJlciI9PT10Lm1ldGhvZD90LnBhcmFtcy5zbGljZSgxKTp0LnBhcmFtcy5zbGljZSgwLGUpfWZ1bmN0aW9uIHModCl7c3dpdGNoKHQubWV0aG9kKXtjYXNlImV0aF9nZXRTdG9yYWdlQXQiOnJldHVybiAyO2Nhc2UiZXRoX2dldEJhbGFuY2UiOmNhc2UiZXRoX2dldENvZGUiOmNhc2UiZXRoX2dldFRyYW5zYWN0aW9uQ291bnQiOmNhc2UiZXRoX2NhbGwiOnJldHVybiAxO2Nhc2UiZXRoX2dldEJsb2NrQnlOdW1iZXIiOnJldHVybiAwO2RlZmF1bHQ6cmV0dXJufX1mdW5jdGlvbiBhKHQpe3N3aXRjaCh0Lm1ldGhvZCl7Y2FzZSJ3ZWIzX2NsaWVudFZlcnNpb24iOmNhc2Uid2ViM19zaGEzIjpjYXNlImV0aF9wcm90b2NvbFZlcnNpb24iOmNhc2UiZXRoX2dldEJsb2NrVHJhbnNhY3Rpb25Db3VudEJ5SGFzaCI6Y2FzZSJldGhfZ2V0VW5jbGVDb3VudEJ5QmxvY2tIYXNoIjpjYXNlImV0aF9nZXRDb2RlIjpjYXNlImV0aF9nZXRCbG9ja0J5SGFzaCI6Y2FzZSJldGhfZ2V0VHJhbnNhY3Rpb25CeUhhc2giOmNhc2UiZXRoX2dldFRyYW5zYWN0aW9uQnlCbG9ja0hhc2hBbmRJbmRleCI6Y2FzZSJldGhfZ2V0VHJhbnNhY3Rpb25SZWNlaXB0IjpjYXNlImV0aF9nZXRVbmNsZUJ5QmxvY2tIYXNoQW5kSW5kZXgiOmNhc2UiZXRoX2dldENvbXBpbGVycyI6Y2FzZSJldGhfY29tcGlsZUxMTCI6Y2FzZSJldGhfY29tcGlsZVNvbGlkaXR5IjpjYXNlImV0aF9jb21waWxlU2VycGVudCI6Y2FzZSJzaGhfdmVyc2lvbiI6Y2FzZSJ0ZXN0X3Blcm1hQ2FjaGUiOnJldHVybiJwZXJtYSI7Y2FzZSJldGhfZ2V0QmxvY2tCeU51bWJlciI6Y2FzZSJldGhfZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50QnlOdW1iZXIiOmNhc2UiZXRoX2dldFVuY2xlQ291bnRCeUJsb2NrTnVtYmVyIjpjYXNlImV0aF9nZXRUcmFuc2FjdGlvbkJ5QmxvY2tOdW1iZXJBbmRJbmRleCI6Y2FzZSJldGhfZ2V0VW5jbGVCeUJsb2NrTnVtYmVyQW5kSW5kZXgiOmNhc2UidGVzdF9mb3JrQ2FjaGUiOnJldHVybiJmb3JrIjtjYXNlImV0aF9nYXNQcmljZSI6Y2FzZSJldGhfYmxvY2tOdW1iZXIiOmNhc2UiZXRoX2dldEJhbGFuY2UiOmNhc2UiZXRoX2dldFN0b3JhZ2VBdCI6Y2FzZSJldGhfZ2V0VHJhbnNhY3Rpb25Db3VudCI6Y2FzZSJldGhfY2FsbCI6Y2FzZSJldGhfZXN0aW1hdGVHYXMiOmNhc2UiZXRoX2dldEZpbHRlckxvZ3MiOmNhc2UiZXRoX2dldExvZ3MiOmNhc2UidGVzdF9ibG9ja0NhY2hlIjpyZXR1cm4iYmxvY2siO2Nhc2UibmV0X3ZlcnNpb24iOmNhc2UibmV0X3BlZXJDb3VudCI6Y2FzZSJuZXRfbGlzdGVuaW5nIjpjYXNlImV0aF9zeW5jaW5nIjpjYXNlImV0aF9zaWduIjpjYXNlImV0aF9jb2luYmFzZSI6Y2FzZSJldGhfbWluaW5nIjpjYXNlImV0aF9oYXNocmF0ZSI6Y2FzZSJldGhfYWNjb3VudHMiOmNhc2UiZXRoX3NlbmRUcmFuc2FjdGlvbiI6Y2FzZSJldGhfc2VuZFJhd1RyYW5zYWN0aW9uIjpjYXNlImV0aF9uZXdGaWx0ZXIiOmNhc2UiZXRoX25ld0Jsb2NrRmlsdGVyIjpjYXNlImV0aF9uZXdQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIiOmNhc2UiZXRoX3VuaW5zdGFsbEZpbHRlciI6Y2FzZSJldGhfZ2V0RmlsdGVyQ2hhbmdlcyI6Y2FzZSJldGhfZ2V0V29yayI6Y2FzZSJldGhfc3VibWl0V29yayI6Y2FzZSJldGhfc3VibWl0SGFzaHJhdGUiOmNhc2UiZGJfcHV0U3RyaW5nIjpjYXNlImRiX2dldFN0cmluZyI6Y2FzZSJkYl9wdXRIZXgiOmNhc2UiZGJfZ2V0SGV4IjpjYXNlInNoaF9wb3N0IjpjYXNlInNoaF9uZXdJZGVudGl0eSI6Y2FzZSJzaGhfaGFzSWRlbnRpdHkiOmNhc2Uic2hoX25ld0dyb3VwIjpjYXNlInNoaF9hZGRUb0dyb3VwIjpjYXNlInNoaF9uZXdGaWx0ZXIiOmNhc2Uic2hoX3VuaW5zdGFsbEZpbHRlciI6Y2FzZSJzaGhfZ2V0RmlsdGVyQ2hhbmdlcyI6Y2FzZSJzaGhfZ2V0TWVzc2FnZXMiOmNhc2UidGVzdF9uZXZlckNhY2hlIjpyZXR1cm4ibmV2ZXIifX10LmV4cG9ydHM9e2NhY2hlSWRlbnRpZmllckZvclBheWxvYWQ6ZnVuY3Rpb24odCxlKXtjb25zdCByPWU/byh0KTp0LnBhcmFtcztyZXR1cm4gaSh0KT90Lm1ldGhvZCsiOiIrbihyKTpudWxsfSxjYW5DYWNoZTppLGJsb2NrVGFnRm9yUGF5bG9hZDpmdW5jdGlvbih0KXtsZXQgZT1zKHQpO2lmKGU+PXQucGFyYW1zLmxlbmd0aClyZXR1cm4gbnVsbDtyZXR1cm4gdC5wYXJhbXNbZV19LHBhcmFtc1dpdGhvdXRCbG9ja1RhZzpvLGJsb2NrVGFnUGFyYW1JbmRleDpzLGNhY2hlVHlwZUZvclBheWxvYWQ6YX19LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybihlLHIsbixpKT0+e2xldCBvO2NvbnN0IHM9bmV3IFByb21pc2UodD0+e289dH0pO2xldCBhLHU7dChlLHIsYXN5bmMoKT0+e3U9ITAsbih0PT57YT10LG8oKX0pLGF3YWl0IHN9KS50aGVuKGFzeW5jKCk9Pnt1Pyhhd2FpdCBzLGEobnVsbCkpOmkobnVsbCl9KS5jYXRjaCh0PT57YT9hKHQpOmkodCl9KX19fSxmdW5jdGlvbih0LGUscil7Y29uc3Qgbj1yKDIxKS5pbmhlcml0cyxpPXIoNDkpO2Z1bmN0aW9uIG8odCl7dD10fHx7fSx0aGlzLnN0YXRpY1Jlc3BvbnNlcz10fXQuZXhwb3J0cz1vLG4obyxpKSxvLnByb3RvdHlwZS5oYW5kbGVSZXF1ZXN0PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLnN0YXRpY1Jlc3BvbnNlc1t0Lm1ldGhvZF07ImZ1bmN0aW9uIj09dHlwZW9mIG4/bih0LGUscik6dm9pZCAwIT09bj9zZXRUaW1lb3V0KCgpPT5yKG51bGwsbikpOmUoKX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNjgpLGk9cigxNTEpO3QuZXhwb3J0cz1jbGFzcyBleHRlbmRzIG57Y29uc3RydWN0b3IoKXtzdXBlcigoe2Jsb2NrVHJhY2tlcjp0LHByb3ZpZGVyOmUsZW5naW5lOnJ9KT0+aSh7YmxvY2tUcmFja2VyOnQscHJvdmlkZXI6ZX0pKX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmNyZWF0ZUlkUmVtYXBNaWRkbGV3YXJlPXZvaWQgMDtjb25zdCBuPXIoMTUzKTtlLmNyZWF0ZUlkUmVtYXBNaWRkbGV3YXJlPWZ1bmN0aW9uKCl7cmV0dXJuKHQsZSxyLGkpPT57Y29uc3Qgbz10LmlkLHM9bi5nZXRVbmlxdWVJZCgpO3QuaWQ9cyxlLmlkPXMscihyPT57dC5pZD1vLGUuaWQ9byxyKCl9KX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmNyZWF0ZUFzeW5jTWlkZGxld2FyZT12b2lkIDAsZS5jcmVhdGVBc3luY01pZGRsZXdhcmU9ZnVuY3Rpb24odCl7cmV0dXJuIGFzeW5jKGUscixuLGkpPT57bGV0IG87Y29uc3Qgcz1uZXcgUHJvbWlzZSh0PT57bz10fSk7bGV0IGE9bnVsbCx1PSExO2NvbnN0IGM9YXN5bmMoKT0+e3U9ITAsbih0PT57YT10LG8oKX0pLGF3YWl0IHN9O3RyeXthd2FpdCB0KGUscixjKSx1Pyhhd2FpdCBzLGEobnVsbCkpOmkobnVsbCl9Y2F0Y2godCl7YT9hKHQpOmkodCl9fX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuY3JlYXRlU2NhZmZvbGRNaWRkbGV3YXJlPXZvaWQgMCxlLmNyZWF0ZVNjYWZmb2xkTWlkZGxld2FyZT1mdW5jdGlvbih0KXtyZXR1cm4oZSxyLG4saSk9Pntjb25zdCBvPXRbZS5tZXRob2RdO3JldHVybiB2b2lkIDA9PT1vP24oKToiZnVuY3Rpb24iPT10eXBlb2Ygbz9vKGUscixuLGkpOihyLnJlc3VsdD1vLGkoKSl9fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5nZXRNZXNzYWdlRnJvbUNvZGU9ZS5zZXJpYWxpemVFcnJvcj1lLkV0aGVyZXVtUHJvdmlkZXJFcnJvcj1lLkV0aGVyZXVtUnBjRXJyb3I9ZS5ldGhFcnJvcnM9ZS5lcnJvckNvZGVzPXZvaWQgMDtjb25zdCBuPXIoNzApO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJFdGhlcmV1bVJwY0Vycm9yIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5FdGhlcmV1bVJwY0Vycm9yfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJFdGhlcmV1bVByb3ZpZGVyRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLkV0aGVyZXVtUHJvdmlkZXJFcnJvcn19KTtjb25zdCBpPXIoMTU1KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwic2VyaWFsaXplRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLnNlcmlhbGl6ZUVycm9yfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJnZXRNZXNzYWdlRnJvbUNvZGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLmdldE1lc3NhZ2VGcm9tQ29kZX19KTtjb25zdCBvPXIoMzQ1KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiZXRoRXJyb3JzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gby5ldGhFcnJvcnN9fSk7Y29uc3Qgcz1yKDcxKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiZXJyb3JDb2RlcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHMuZXJyb3JDb2Rlc319KX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9byxvLmRlZmF1bHQ9byxvLnN0YWJsZT11LG8uc3RhYmxlU3RyaW5naWZ5PXU7dmFyIHI9W10sbj1bXTtmdW5jdGlvbiBpKCl7cmV0dXJue2RlcHRoTGltaXQ6TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsZWRnZXNMaW1pdDpOdW1iZXIuTUFYX1NBRkVfSU5URUdFUn19ZnVuY3Rpb24gbyh0LGUsbyxhKXt2YXIgdTt2b2lkIDA9PT1hJiYoYT1pKCkpLGZ1bmN0aW9uIHQoZSxyLG4saSxvLGEsdSl7dmFyIGM7aWYoYSs9MSwib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXtmb3IoYz0wO2M8aS5sZW5ndGg7YysrKWlmKGlbY109PT1lKXJldHVybiB2b2lkIHMoIltDaXJjdWxhcl0iLGUscixvKTtpZih2b2lkIDAhPT11LmRlcHRoTGltaXQmJmE+dS5kZXB0aExpbWl0KXJldHVybiB2b2lkIHMoIlsuLi5dIixlLHIsbyk7aWYodm9pZCAwIT09dS5lZGdlc0xpbWl0JiZuKzE+dS5lZGdlc0xpbWl0KXJldHVybiB2b2lkIHMoIlsuLi5dIixlLHIsbyk7aWYoaS5wdXNoKGUpLEFycmF5LmlzQXJyYXkoZSkpZm9yKGM9MDtjPGUubGVuZ3RoO2MrKyl0KGVbY10sYyxjLGksZSxhLHUpO2Vsc2V7dmFyIGY9T2JqZWN0LmtleXMoZSk7Zm9yKGM9MDtjPGYubGVuZ3RoO2MrKyl7dmFyIGg9ZltjXTt0KGVbaF0saCxjLGksZSxhLHUpfX1pLnBvcCgpfX0odCwiIiwwLFtdLHZvaWQgMCwwLGEpO3RyeXt1PTA9PT1uLmxlbmd0aD9KU09OLnN0cmluZ2lmeSh0LGUsbyk6SlNPTi5zdHJpbmdpZnkodCxjKGUpLG8pfWNhdGNoKHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSgiW3VuYWJsZSB0byBzZXJpYWxpemUsIGNpcmN1bGFyIHJlZmVyZW5jZSBpcyB0b28gY29tcGxleCB0byBhbmFseXplXSIpfWZpbmFsbHl7Zm9yKDswIT09ci5sZW5ndGg7KXt2YXIgZj1yLnBvcCgpOzQ9PT1mLmxlbmd0aD9PYmplY3QuZGVmaW5lUHJvcGVydHkoZlswXSxmWzFdLGZbM10pOmZbMF1bZlsxXV09ZlsyXX19cmV0dXJuIHV9ZnVuY3Rpb24gcyh0LGUsaSxvKXt2YXIgcz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8saSk7dm9pZCAwIT09cy5nZXQ/cy5jb25maWd1cmFibGU/KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLGkse3ZhbHVlOnR9KSxyLnB1c2goW28saSxlLHNdKSk6bi5wdXNoKFtlLGksdF0pOihvW2ldPXQsci5wdXNoKFtvLGksZV0pKX1mdW5jdGlvbiBhKHQsZSl7cmV0dXJuIHQ8ZT8tMTp0PmU/MTowfWZ1bmN0aW9uIHUodCxlLG8sdSl7dm9pZCAwPT09dSYmKHU9aSgpKTt2YXIgZixoPWZ1bmN0aW9uIHQoZSxuLGksbyx1LGMsZil7dmFyIGg7aWYoYys9MSwib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXtmb3IoaD0wO2g8by5sZW5ndGg7aCsrKWlmKG9baF09PT1lKXJldHVybiB2b2lkIHMoIltDaXJjdWxhcl0iLGUsbix1KTt0cnl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUudG9KU09OKXJldHVybn1jYXRjaCh0KXtyZXR1cm59aWYodm9pZCAwIT09Zi5kZXB0aExpbWl0JiZjPmYuZGVwdGhMaW1pdClyZXR1cm4gdm9pZCBzKCJbLi4uXSIsZSxuLHUpO2lmKHZvaWQgMCE9PWYuZWRnZXNMaW1pdCYmaSsxPmYuZWRnZXNMaW1pdClyZXR1cm4gdm9pZCBzKCJbLi4uXSIsZSxuLHUpO2lmKG8ucHVzaChlKSxBcnJheS5pc0FycmF5KGUpKWZvcihoPTA7aDxlLmxlbmd0aDtoKyspdChlW2hdLGgsaCxvLGUsYyxmKTtlbHNle3ZhciBsPXt9LGQ9T2JqZWN0LmtleXMoZSkuc29ydChhKTtmb3IoaD0wO2g8ZC5sZW5ndGg7aCsrKXt2YXIgcD1kW2hdO3QoZVtwXSxwLGgsbyxlLGMsZiksbFtwXT1lW3BdfWlmKHZvaWQgMD09PXUpcmV0dXJuIGw7ci5wdXNoKFt1LG4sZV0pLHVbbl09bH1vLnBvcCgpfX0odCwiIiwwLFtdLHZvaWQgMCwwLHUpfHx0O3RyeXtmPTA9PT1uLmxlbmd0aD9KU09OLnN0cmluZ2lmeShoLGUsbyk6SlNPTi5zdHJpbmdpZnkoaCxjKGUpLG8pfWNhdGNoKHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSgiW3VuYWJsZSB0byBzZXJpYWxpemUsIGNpcmN1bGFyIHJlZmVyZW5jZSBpcyB0b28gY29tcGxleCB0byBhbmFseXplXSIpfWZpbmFsbHl7Zm9yKDswIT09ci5sZW5ndGg7KXt2YXIgbD1yLnBvcCgpOzQ9PT1sLmxlbmd0aD9PYmplY3QuZGVmaW5lUHJvcGVydHkobFswXSxsWzFdLGxbM10pOmxbMF1bbFsxXV09bFsyXX19cmV0dXJuIGZ9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdD12b2lkIDAhPT10P3Q6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZX0sZnVuY3Rpb24oZSxyKXtpZihuLmxlbmd0aD4wKWZvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgbz1uW2ldO2lmKG9bMV09PT1lJiZvWzBdPT09cil7cj1vWzJdLG4uc3BsaWNlKGksMSk7YnJlYWt9fXJldHVybiB0LmNhbGwodGhpcyxlLHIpfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZXRoRXJyb3JzPXZvaWQgMDtjb25zdCBuPXIoNzApLGk9cigxNTUpLG89cig3MSk7ZnVuY3Rpb24gcyh0LGUpe2NvbnN0W3Isb109dShlKTtyZXR1cm4gbmV3IG4uRXRoZXJldW1ScGNFcnJvcih0LHJ8fGkuZ2V0TWVzc2FnZUZyb21Db2RlKHQpLG8pfWZ1bmN0aW9uIGEodCxlKXtjb25zdFtyLG9dPXUoZSk7cmV0dXJuIG5ldyBuLkV0aGVyZXVtUHJvdmlkZXJFcnJvcih0LHJ8fGkuZ2V0TWVzc2FnZUZyb21Db2RlKHQpLG8pfWZ1bmN0aW9uIHUodCl7aWYodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVyblt0XTtpZigib2JqZWN0Ij09dHlwZW9mIHQmJiFBcnJheS5pc0FycmF5KHQpKXtjb25zdHttZXNzYWdlOmUsZGF0YTpyfT10O2lmKGUmJiJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIk11c3Qgc3BlY2lmeSBzdHJpbmcgbWVzc2FnZS4iKTtyZXR1cm5bZXx8dm9pZCAwLHJdfX1yZXR1cm5bXX1lLmV0aEVycm9ycz17cnBjOntwYXJzZTp0PT5zKG8uZXJyb3JDb2Rlcy5ycGMucGFyc2UsdCksaW52YWxpZFJlcXVlc3Q6dD0+cyhvLmVycm9yQ29kZXMucnBjLmludmFsaWRSZXF1ZXN0LHQpLGludmFsaWRQYXJhbXM6dD0+cyhvLmVycm9yQ29kZXMucnBjLmludmFsaWRQYXJhbXMsdCksbWV0aG9kTm90Rm91bmQ6dD0+cyhvLmVycm9yQ29kZXMucnBjLm1ldGhvZE5vdEZvdW5kLHQpLGludGVybmFsOnQ9PnMoby5lcnJvckNvZGVzLnJwYy5pbnRlcm5hbCx0KSxzZXJ2ZXI6dD0+e2lmKCF0fHwib2JqZWN0IiE9dHlwZW9mIHR8fEFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IEVycm9yKCJFdGhlcmV1bSBSUEMgU2VydmVyIGVycm9ycyBtdXN0IHByb3ZpZGUgc2luZ2xlIG9iamVjdCBhcmd1bWVudC4iKTtjb25zdHtjb2RlOmV9PXQ7aWYoIU51bWJlci5pc0ludGVnZXIoZSl8fGU+LTMyMDA1fHxlPC0zMjA5OSl0aHJvdyBuZXcgRXJyb3IoJyJjb2RlIiBtdXN0IGJlIGFuIGludGVnZXIgc3VjaCB0aGF0OiAtMzIwOTkgPD0gY29kZSA8PSAtMzIwMDUnKTtyZXR1cm4gcyhlLHQpfSxpbnZhbGlkSW5wdXQ6dD0+cyhvLmVycm9yQ29kZXMucnBjLmludmFsaWRJbnB1dCx0KSxyZXNvdXJjZU5vdEZvdW5kOnQ9PnMoby5lcnJvckNvZGVzLnJwYy5yZXNvdXJjZU5vdEZvdW5kLHQpLHJlc291cmNlVW5hdmFpbGFibGU6dD0+cyhvLmVycm9yQ29kZXMucnBjLnJlc291cmNlVW5hdmFpbGFibGUsdCksdHJhbnNhY3Rpb25SZWplY3RlZDp0PT5zKG8uZXJyb3JDb2Rlcy5ycGMudHJhbnNhY3Rpb25SZWplY3RlZCx0KSxtZXRob2ROb3RTdXBwb3J0ZWQ6dD0+cyhvLmVycm9yQ29kZXMucnBjLm1ldGhvZE5vdFN1cHBvcnRlZCx0KSxsaW1pdEV4Y2VlZGVkOnQ9PnMoby5lcnJvckNvZGVzLnJwYy5saW1pdEV4Y2VlZGVkLHQpfSxwcm92aWRlcjp7dXNlclJlamVjdGVkUmVxdWVzdDp0PT5hKG8uZXJyb3JDb2Rlcy5wcm92aWRlci51c2VyUmVqZWN0ZWRSZXF1ZXN0LHQpLHVuYXV0aG9yaXplZDp0PT5hKG8uZXJyb3JDb2Rlcy5wcm92aWRlci51bmF1dGhvcml6ZWQsdCksdW5zdXBwb3J0ZWRNZXRob2Q6dD0+YShvLmVycm9yQ29kZXMucHJvdmlkZXIudW5zdXBwb3J0ZWRNZXRob2QsdCksZGlzY29ubmVjdGVkOnQ9PmEoby5lcnJvckNvZGVzLnByb3ZpZGVyLmRpc2Nvbm5lY3RlZCx0KSxjaGFpbkRpc2Nvbm5lY3RlZDp0PT5hKG8uZXJyb3JDb2Rlcy5wcm92aWRlci5jaGFpbkRpc2Nvbm5lY3RlZCx0KSxjdXN0b206dD0+e2lmKCF0fHwib2JqZWN0IiE9dHlwZW9mIHR8fEFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IEVycm9yKCJFdGhlcmV1bSBQcm92aWRlciBjdXN0b20gZXJyb3JzIG11c3QgcHJvdmlkZSBzaW5nbGUgb2JqZWN0IGFyZ3VtZW50LiIpO2NvbnN0e2NvZGU6ZSxtZXNzYWdlOnIsZGF0YTppfT10O2lmKCFyfHwic3RyaW5nIiE9dHlwZW9mIHIpdGhyb3cgbmV3IEVycm9yKCcibWVzc2FnZSIgbXVzdCBiZSBhIG5vbmVtcHR5IHN0cmluZycpO3JldHVybiBuZXcgbi5FdGhlcmV1bVByb3ZpZGVyRXJyb3IoZSxyLGkpfX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLm1lcmdlTWlkZGxld2FyZT12b2lkIDA7Y29uc3Qgbj1yKDE1NCk7ZS5tZXJnZU1pZGRsZXdhcmU9ZnVuY3Rpb24odCl7Y29uc3QgZT1uZXcgbi5Kc29uUnBjRW5naW5lO3JldHVybiB0LmZvckVhY2godD0+ZS5wdXNoKHQpKSxlLmFzTWlkZGxld2FyZSgpfX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuKGUscixuLGkpPT57Y29uc3Qgbz10W2UubWV0aG9kXTtyZXR1cm4gdm9pZCAwPT09bz9uKCk6ImZ1bmN0aW9uIj09dHlwZW9mIG8/byhlLHIsbixpKTooci5yZXN1bHQ9byxpKCkpfX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoMTM4KSxpPXIoMzQ5KSxvPXIoMzUwKSx7Ym5Ub0hleDpzLGhleFRvSW50OmEsaW5jcmVtZW50SGV4SW50OnUsbWluQmxvY2tSZWY6YyxibG9ja1JlZklzTnVtYmVyOmZ9PXIoMzkpO3QuZXhwb3J0cz1jbGFzcyBleHRlbmRzIG97Y29uc3RydWN0b3Ioe3Byb3ZpZGVyOnQscGFyYW1zOmV9KXtzdXBlcigpLHRoaXMudHlwZT0ibG9nIix0aGlzLmV0aFF1ZXJ5PW5ldyBuKHQpLHRoaXMucGFyYW1zPU9iamVjdC5hc3NpZ24oe2Zyb21CbG9jazoibGF0ZXN0Iix0b0Jsb2NrOiJsYXRlc3QiLGFkZHJlc3M6dm9pZCAwLHRvcGljczpbXX0sZSksdGhpcy5wYXJhbXMuYWRkcmVzcyYmKEFycmF5LmlzQXJyYXkodGhpcy5wYXJhbXMuYWRkcmVzcyl8fCh0aGlzLnBhcmFtcy5hZGRyZXNzPVt0aGlzLnBhcmFtcy5hZGRyZXNzXSksdGhpcy5wYXJhbXMuYWRkcmVzcz10aGlzLnBhcmFtcy5hZGRyZXNzLm1hcCh0PT50LnRvTG93ZXJDYXNlKCkpKX1hc3luYyBpbml0aWFsaXplKHtjdXJyZW50QmxvY2s6dH0pe2xldCBlPXRoaXMucGFyYW1zLmZyb21CbG9jaztbImxhdGVzdCIsInBlbmRpbmciXS5pbmNsdWRlcyhlKSYmKGU9dCksImVhcmxpZXN0Ij09PWUmJihlPSIweDAiKSx0aGlzLnBhcmFtcy5mcm9tQmxvY2s9ZTtjb25zdCByPWModGhpcy5wYXJhbXMudG9CbG9jayx0KSxuPU9iamVjdC5hc3NpZ24oe30sdGhpcy5wYXJhbXMse3RvQmxvY2s6cn0pLGk9YXdhaXQgdGhpcy5fZmV0Y2hMb2dzKG4pO3RoaXMuYWRkSW5pdGlhbFJlc3VsdHMoaSl9YXN5bmMgdXBkYXRlKHtvbGRCbG9jazp0LG5ld0Jsb2NrOmV9KXtjb25zdCByPWU7bGV0IG47bj10P3UodCk6ZTtjb25zdCBpPU9iamVjdC5hc3NpZ24oe30sdGhpcy5wYXJhbXMse2Zyb21CbG9jazpuLHRvQmxvY2s6cn0pLG89KGF3YWl0IHRoaXMuX2ZldGNoTG9ncyhpKSkuZmlsdGVyKHQ9PnRoaXMubWF0Y2hMb2codCkpO3RoaXMuYWRkUmVzdWx0cyhvKX1hc3luYyBfZmV0Y2hMb2dzKHQpe3JldHVybiBhd2FpdCBpKGU9PnRoaXMuZXRoUXVlcnkuZ2V0TG9ncyh0LGUpKSgpfW1hdGNoTG9nKHQpe2lmKGEodGhpcy5wYXJhbXMuZnJvbUJsb2NrKT49YSh0LmJsb2NrTnVtYmVyKSlyZXR1cm4hMTtpZihmKHRoaXMucGFyYW1zLnRvQmxvY2spJiZhKHRoaXMucGFyYW1zLnRvQmxvY2spPD1hKHQuYmxvY2tOdW1iZXIpKXJldHVybiExO2NvbnN0IGU9dC5hZGRyZXNzJiZ0LmFkZHJlc3MudG9Mb3dlckNhc2UoKTtpZih0aGlzLnBhcmFtcy5hZGRyZXNzJiZlJiYhdGhpcy5wYXJhbXMuYWRkcmVzcy5pbmNsdWRlcyhlKSlyZXR1cm4hMTtyZXR1cm4gdGhpcy5wYXJhbXMudG9waWNzLmV2ZXJ5KChlLHIpPT57bGV0IG49dC50b3BpY3Nbcl07aWYoIW4pcmV0dXJuITE7bj1uLnRvTG93ZXJDYXNlKCk7bGV0IGk9QXJyYXkuaXNBcnJheShlKT9lOltlXTtpZihpLmluY2x1ZGVzKG51bGwpKXJldHVybiEwO2k9aS5tYXAodD0+dC50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gaS5pbmNsdWRlcyhuKX0pfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7Y29uc3Qgbj0odCxlLHIsbik9PmZ1bmN0aW9uKC4uLmkpe3JldHVybiBuZXcoMCxlLnByb21pc2VNb2R1bGUpKChvLHMpPT57ZS5tdWx0aUFyZ3M/aS5wdXNoKCguLi50KT0+e2UuZXJyb3JGaXJzdD90WzBdP3ModCk6KHQuc2hpZnQoKSxvKHQpKTpvKHQpfSk6ZS5lcnJvckZpcnN0P2kucHVzaCgodCxlKT0+e3Q/cyh0KTpvKGUpfSk6aS5wdXNoKG8pO2NvbnN0IGE9dGhpcz09PXI/bjp0aGlzO1JlZmxlY3QuYXBwbHkodCxhLGkpfSl9LGk9bmV3IFdlYWtNYXA7dC5leHBvcnRzPSh0LGUpPT57ZT17ZXhjbHVkZTpbLy4rKD86U3luY3xTdHJlYW0pJC9dLGVycm9yRmlyc3Q6ITAscHJvbWlzZU1vZHVsZTpQcm9taXNlLC4uLmV9O2NvbnN0IHI9dHlwZW9mIHQ7aWYobnVsbD09PXR8fCJvYmplY3QiIT09ciYmImZ1bmN0aW9uIiE9PXIpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgXGBpbnB1dFxgIHRvIGJlIGEgXGBGdW5jdGlvblxgIG9yIFxgT2JqZWN0XGAsIGdvdCBcYCR7bnVsbD09PXQ/Im51bGwiOnJ9XGBgKTtjb25zdCBvPW5ldyBXZWFrTWFwLHM9bmV3IFByb3h5KHQse2FwcGx5KHQscixpKXtjb25zdCBhPW8uZ2V0KHQpO2lmKGEpcmV0dXJuIFJlZmxlY3QuYXBwbHkoYSxyLGkpO2NvbnN0IHU9ZS5leGNsdWRlTWFpbj90Om4odCxlLHMsdCk7cmV0dXJuIG8uc2V0KHQsdSksUmVmbGVjdC5hcHBseSh1LHIsaSl9LGdldCh0LHIpe2NvbnN0IGE9dFtyXTtpZighKCh0LHIpPT57bGV0IG49aS5nZXQodCk7aWYobnx8KG49e30saS5zZXQodCxuKSksciBpbiBuKXJldHVybiBuW3JdO2NvbnN0IG89dD0+InN0cmluZyI9PXR5cGVvZiB0fHwic3ltYm9sIj09dHlwZW9mIHI/cj09PXQ6dC50ZXN0KHIpLHM9UmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxyKSxhPXZvaWQgMD09PXN8fHMud3JpdGFibGV8fHMuY29uZmlndXJhYmxlLHU9KGUuaW5jbHVkZT9lLmluY2x1ZGUuc29tZShvKTohZS5leGNsdWRlLnNvbWUobykpJiZhO3JldHVybiBuW3JdPXUsdX0pKHQscil8fGE9PT1GdW5jdGlvbi5wcm90b3R5cGVbcl0pcmV0dXJuIGE7Y29uc3QgdT1vLmdldChhKTtpZih1KXJldHVybiB1O2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBhKXtjb25zdCByPW4oYSxlLHMsdCk7cmV0dXJuIG8uc2V0KGEscikscn1yZXR1cm4gYX19KTtyZXR1cm4gc319LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNzIpO3QuZXhwb3J0cz1jbGFzcyBleHRlbmRzIG57Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuYWxsUmVzdWx0cz1bXX1hc3luYyB1cGRhdGUoKXt0aHJvdyBuZXcgRXJyb3IoIkJhc2VGaWx0ZXJXaXRoSGlzdG9yeSAtIG5vIHVwZGF0ZSBtZXRob2Qgc3BlY2lmaWVkIil9YWRkUmVzdWx0cyh0KXt0aGlzLmFsbFJlc3VsdHM9dGhpcy5hbGxSZXN1bHRzLmNvbmNhdCh0KSxzdXBlci5hZGRSZXN1bHRzKHQpfWFkZEluaXRpYWxSZXN1bHRzKHQpe3RoaXMuYWxsUmVzdWx0cz10aGlzLmFsbFJlc3VsdHMuY29uY2F0KHQpLHN1cGVyLmFkZEluaXRpYWxSZXN1bHRzKHQpfWdldEFsbFJlc3VsdHMoKXtyZXR1cm4gdGhpcy5hbGxSZXN1bHRzfX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNzIpLGk9cig3Mykse2luY3JlbWVudEhleEludDpvfT1yKDM5KTt0LmV4cG9ydHM9Y2xhc3MgZXh0ZW5kcyBue2NvbnN0cnVjdG9yKHtwcm92aWRlcjp0LHBhcmFtczplfSl7c3VwZXIoKSx0aGlzLnR5cGU9ImJsb2NrIix0aGlzLnByb3ZpZGVyPXR9YXN5bmMgdXBkYXRlKHtvbGRCbG9jazp0LG5ld0Jsb2NrOmV9KXtjb25zdCByPWUsbj1vKHQpLHM9KGF3YWl0IGkoe3Byb3ZpZGVyOnRoaXMucHJvdmlkZXIsZnJvbUJsb2NrOm4sdG9CbG9jazpyfSkpLm1hcCh0PT50Lmhhc2gpO3RoaXMuYWRkUmVzdWx0cyhzKX19fSxmdW5jdGlvbih0LGUscil7Y29uc3Qgbj1yKDcyKSxpPXIoNzMpLHtpbmNyZW1lbnRIZXhJbnQ6b309cigzOSk7dC5leHBvcnRzPWNsYXNzIGV4dGVuZHMgbntjb25zdHJ1Y3Rvcih7cHJvdmlkZXI6dH0pe3N1cGVyKCksdGhpcy50eXBlPSJ0eCIsdGhpcy5wcm92aWRlcj10fWFzeW5jIHVwZGF0ZSh7b2xkQmxvY2s6dH0pe2NvbnN0IGU9dCxyPW8odCksbj1hd2FpdCBpKHtwcm92aWRlcjp0aGlzLnByb3ZpZGVyLGZyb21CbG9jazpyLHRvQmxvY2s6ZX0pLHM9W107Zm9yKGNvbnN0IHQgb2YgbilzLnB1c2goLi4udC50cmFuc2FjdGlvbnMpO3RoaXMuYWRkUmVzdWx0cyhzKX19fSxmdW5jdGlvbih0LGUscil7Y29uc3Qgbj1yKDM1NCksaT1yKDM1NSksbz1yKDIxKS5pbmhlcml0cyxzPXIoMzYpLGE9cigzNTcpLHU9cig0NCksYz1yKDM2NyksZj1yKDQ5KSxoPXIoMzY4KSxsPS9eWzAtOUEtRmEtZl0rJC9nO2Z1bmN0aW9uIGQodCl7dGhpcy5ub25jZUxvY2s9YygxKSx0LmdldEFjY291bnRzJiYodGhpcy5nZXRBY2NvdW50cz10LmdldEFjY291bnRzKSx0LnByb2Nlc3NUcmFuc2FjdGlvbiYmKHRoaXMucHJvY2Vzc1RyYW5zYWN0aW9uPXQucHJvY2Vzc1RyYW5zYWN0aW9uKSx0LnByb2Nlc3NNZXNzYWdlJiYodGhpcy5wcm9jZXNzTWVzc2FnZT10LnByb2Nlc3NNZXNzYWdlKSx0LnByb2Nlc3NQZXJzb25hbE1lc3NhZ2UmJih0aGlzLnByb2Nlc3NQZXJzb25hbE1lc3NhZ2U9dC5wcm9jZXNzUGVyc29uYWxNZXNzYWdlKSx0LnByb2Nlc3NUeXBlZE1lc3NhZ2UmJih0aGlzLnByb2Nlc3NUeXBlZE1lc3NhZ2U9dC5wcm9jZXNzVHlwZWRNZXNzYWdlKSx0aGlzLmFwcHJvdmVUcmFuc2FjdGlvbj10LmFwcHJvdmVUcmFuc2FjdGlvbnx8dGhpcy5hdXRvQXBwcm92ZSx0aGlzLmFwcHJvdmVNZXNzYWdlPXQuYXBwcm92ZU1lc3NhZ2V8fHRoaXMuYXV0b0FwcHJvdmUsdGhpcy5hcHByb3ZlUGVyc29uYWxNZXNzYWdlPXQuYXBwcm92ZVBlcnNvbmFsTWVzc2FnZXx8dGhpcy5hdXRvQXBwcm92ZSx0aGlzLmFwcHJvdmVEZWNyeXB0TWVzc2FnZT10LmFwcHJvdmVEZWNyeXB0TWVzc2FnZXx8dGhpcy5hdXRvQXBwcm92ZSx0aGlzLmFwcHJvdmVFbmNyeXB0aW9uUHVibGljS2V5PXQuYXBwcm92ZUVuY3J5cHRpb25QdWJsaWNLZXl8fHRoaXMuYXV0b0FwcHJvdmUsdGhpcy5hcHByb3ZlVHlwZWRNZXNzYWdlPXQuYXBwcm92ZVR5cGVkTWVzc2FnZXx8dGhpcy5hdXRvQXBwcm92ZSx0LnNpZ25UcmFuc2FjdGlvbiYmKHRoaXMuc2lnblRyYW5zYWN0aW9uPXQuc2lnblRyYW5zYWN0aW9ufHx5KCJzaWduVHJhbnNhY3Rpb24iKSksdC5zaWduTWVzc2FnZSYmKHRoaXMuc2lnbk1lc3NhZ2U9dC5zaWduTWVzc2FnZXx8eSgic2lnbk1lc3NhZ2UiKSksdC5zaWduUGVyc29uYWxNZXNzYWdlJiYodGhpcy5zaWduUGVyc29uYWxNZXNzYWdlPXQuc2lnblBlcnNvbmFsTWVzc2FnZXx8eSgic2lnblBlcnNvbmFsTWVzc2FnZSIpKSx0LmRlY3J5cHRNZXNzYWdlJiYodGhpcy5kZWNyeXB0TWVzc2FnZT10LmRlY3J5cHRNZXNzYWdlfHx5KCJkZWNyeXB0TWVzc2FnZSIpKSx0LmVuY3J5cHRpb25QdWJsaWNLZXkmJih0aGlzLmVuY3J5cHRpb25QdWJsaWNLZXk9dC5lbmNyeXB0aW9uUHVibGljS2V5fHx5KCJlbmNyeXB0aW9uUHVibGljS2V5IikpLHQuc2lnblR5cGVkTWVzc2FnZSYmKHRoaXMuc2lnblR5cGVkTWVzc2FnZT10LnNpZ25UeXBlZE1lc3NhZ2V8fHkoInNpZ25UeXBlZE1lc3NhZ2UiKSksdC5yZWNvdmVyUGVyc29uYWxTaWduYXR1cmUmJih0aGlzLnJlY292ZXJQZXJzb25hbFNpZ25hdHVyZT10LnJlY292ZXJQZXJzb25hbFNpZ25hdHVyZSksdC5wdWJsaXNoVHJhbnNhY3Rpb24mJih0aGlzLnB1Ymxpc2hUcmFuc2FjdGlvbj10LnB1Ymxpc2hUcmFuc2FjdGlvbiksdGhpcy5lc3RpbWF0ZUdhcz10LmVzdGltYXRlR2FzfHx0aGlzLmVzdGltYXRlR2FzLHRoaXMuZ2V0R2FzUHJpY2U9dC5nZXRHYXNQcmljZXx8dGhpcy5nZXRHYXNQcmljZX1mdW5jdGlvbiBwKHQpe3JldHVybiB0LnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gbSh0KXtjb25zdCBlPXMuYWRkSGV4UHJlZml4KHQpO3JldHVybiBzLmlzVmFsaWRBZGRyZXNzKGUpfWZ1bmN0aW9uIGcodCl7Y29uc3QgZT1zLmFkZEhleFByZWZpeCh0KTtyZXR1cm4hcy5pc1ZhbGlkQWRkcmVzcyhlKSYmYih0KX1mdW5jdGlvbiBiKHQpe2lmKCEoInN0cmluZyI9PXR5cGVvZiB0KSlyZXR1cm4hMTtpZighKCIweCI9PT10LnNsaWNlKDAsMikpKXJldHVybiExO3JldHVybiB0LnNsaWNlKDIpLm1hdGNoKGwpfWZ1bmN0aW9uIHkodCl7cmV0dXJuIGZ1bmN0aW9uKGUscil7cihuZXcgRXJyb3IoJ1Byb3ZpZGVyRW5naW5lIC0gSG9va2VkV2FsbGV0U3VicHJvdmlkZXIgLSBNdXN0IHByb3ZpZGUgIicrdCsnIiBmbiBpbiBjb25zdHJ1Y3RvciBvcHRpb25zJykpfX10LmV4cG9ydHM9ZCxvKGQsZiksZC5wcm90b3R5cGUuaGFuZGxlUmVxdWVzdD1mdW5jdGlvbih0LGUscil7Y29uc3QgaT10aGlzO2xldCBvLHMsYSxjLGY7c3dpdGNoKGkuX3Bhcml0eVJlcXVlc3RzPXt9LGkuX3Bhcml0eVJlcXVlc3RDb3VudD0wLHQubWV0aG9kKXtjYXNlImV0aF9jb2luYmFzZSI6cmV0dXJuIHZvaWQgaS5nZXRBY2NvdW50cygoZnVuY3Rpb24odCxlKXtpZih0KXJldHVybiByKHQpO2xldCBuPWVbMF18fG51bGw7cihudWxsLG4pfSkpO2Nhc2UiZXRoX2FjY291bnRzIjpyZXR1cm4gdm9pZCBpLmdldEFjY291bnRzKChmdW5jdGlvbih0LGUpe2lmKHQpcmV0dXJuIHIodCk7cihudWxsLGUpfSkpO2Nhc2UiZXRoX3NlbmRUcmFuc2FjdGlvbiI6cmV0dXJuIG89dC5wYXJhbXNbMF0sdm9pZCBuKFt0PT5pLnZhbGlkYXRlVHJhbnNhY3Rpb24obyx0KSx0PT5pLnByb2Nlc3NUcmFuc2FjdGlvbihvLHQpXSxyKTtjYXNlImV0aF9zaWduVHJhbnNhY3Rpb24iOnJldHVybiBvPXQucGFyYW1zWzBdLHZvaWQgbihbdD0+aS52YWxpZGF0ZVRyYW5zYWN0aW9uKG8sdCksdD0+aS5wcm9jZXNzU2lnblRyYW5zYWN0aW9uKG8sdCldLHIpO2Nhc2UiZXRoX3NpZ24iOnJldHVybiBmPXQucGFyYW1zWzBdLGM9dC5wYXJhbXNbMV0sYT10LnBhcmFtc1syXXx8e30scz11KGEse2Zyb206ZixkYXRhOmN9KSx2b2lkIG4oW3Q9PmkudmFsaWRhdGVNZXNzYWdlKHMsdCksdD0+aS5wcm9jZXNzTWVzc2FnZShzLHQpXSxyKTtjYXNlInBlcnNvbmFsX3NpZ24iOnJldHVybiBmdW5jdGlvbigpe2NvbnN0IGU9dC5wYXJhbXNbMF07aWYoZyh0LnBhcmFtc1sxXSkmJm0oZSkpe2xldCBlPSJUaGUgZXRoX3BlcnNvbmFsU2lnbiBtZXRob2QgcmVxdWlyZXMgcGFyYW1zIG9yZGVyZWQgIjtlKz0iW21lc3NhZ2UsIGFkZHJlc3NdLiBUaGlzIHdhcyBwcmV2aW91c2x5IGhhbmRsZWQgaW5jb3JyZWN0bHksICIsZSs9ImFuZCBoYXMgYmVlbiBjb3JyZWN0ZWQgYXV0b21hdGljYWxseS4gIixlKz0iUGxlYXNlIHN3aXRjaCB0aGlzIHBhcmFtIG9yZGVyIGZvciBzbW9vdGggYmVoYXZpb3IgaW4gdGhlIGZ1dHVyZS4iLGNvbnNvbGUud2FybihlKSxmPXQucGFyYW1zWzBdLGM9dC5wYXJhbXNbMV19ZWxzZSBjPXQucGFyYW1zWzBdLGY9dC5wYXJhbXNbMV07YT10LnBhcmFtc1syXXx8e30scz11KGEse2Zyb206ZixkYXRhOmN9KSxuKFt0PT5pLnZhbGlkYXRlUGVyc29uYWxNZXNzYWdlKHMsdCksdD0+aS5wcm9jZXNzUGVyc29uYWxNZXNzYWdlKHMsdCldLHIpfSgpO2Nhc2UiZXRoX2RlY3J5cHRNZXNzYWdlIjpyZXR1cm4gZnVuY3Rpb24oKXtjb25zdCBlPXQucGFyYW1zWzBdO2lmKGcodC5wYXJhbXNbMV0pJiZtKGUpKXtsZXQgZT0iVGhlIGV0aF9kZWNyeXB0TWVzc2FnZSBtZXRob2QgcmVxdWlyZXMgcGFyYW1zIG9yZGVyZWQgIjtlKz0iW21lc3NhZ2UsIGFkZHJlc3NdLiBUaGlzIHdhcyBwcmV2aW91c2x5IGhhbmRsZWQgaW5jb3JyZWN0bHksICIsZSs9ImFuZCBoYXMgYmVlbiBjb3JyZWN0ZWQgYXV0b21hdGljYWxseS4gIixlKz0iUGxlYXNlIHN3aXRjaCB0aGlzIHBhcmFtIG9yZGVyIGZvciBzbW9vdGggYmVoYXZpb3IgaW4gdGhlIGZ1dHVyZS4iLGNvbnNvbGUud2FybihlKSxmPXQucGFyYW1zWzBdLGM9dC5wYXJhbXNbMV19ZWxzZSBjPXQucGFyYW1zWzBdLGY9dC5wYXJhbXNbMV07YT10LnBhcmFtc1syXXx8e30scz11KGEse2Zyb206ZixkYXRhOmN9KSxuKFt0PT5pLnZhbGlkYXRlRGVjcnlwdE1lc3NhZ2Uocyx0KSx0PT5pLnByb2Nlc3NEZWNyeXB0TWVzc2FnZShzLHQpXSxyKX0oKTtjYXNlImVuY3J5cHRpb25fcHVibGljX2tleSI6cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgZT10LnBhcmFtc1swXTtuKFt0PT5pLnZhbGlkYXRlRW5jcnlwdGlvblB1YmxpY0tleShlLHQpLHQ9PmkucHJvY2Vzc0VuY3J5cHRpb25QdWJsaWNLZXkoZSx0KV0scil9KCk7Y2FzZSJwZXJzb25hbF9lY1JlY292ZXIiOnJldHVybiBmdW5jdGlvbigpe2M9dC5wYXJhbXNbMF07bGV0IGU9dC5wYXJhbXNbMV07YT10LnBhcmFtc1syXXx8e30scz11KGEse3NpZzplLGRhdGE6Y30pLGkucmVjb3ZlclBlcnNvbmFsU2lnbmF0dXJlKHMscil9KCk7Y2FzZSJldGhfc2lnblR5cGVkRGF0YSI6Y2FzZSJldGhfc2lnblR5cGVkRGF0YV92MyI6Y2FzZSJldGhfc2lnblR5cGVkRGF0YV92NCI6cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgZT10LnBhcmFtc1swXSxvPXQucGFyYW1zWzFdO20oZSk/KGY9ZSxjPW8pOihjPWUsZj1vKSxhPXQucGFyYW1zWzJdfHx7fSxzPXUoYSx7ZnJvbTpmLGRhdGE6Y30pLG4oW3Q9PmkudmFsaWRhdGVUeXBlZE1lc3NhZ2Uocyx0KSx0PT5pLnByb2Nlc3NUeXBlZE1lc3NhZ2Uocyx0KV0scil9KCk7Y2FzZSJwYXJpdHlfcG9zdFRyYW5zYWN0aW9uIjpyZXR1cm4gbz10LnBhcmFtc1swXSx2b2lkIGkucGFyaXR5UG9zdFRyYW5zYWN0aW9uKG8scik7Y2FzZSJwYXJpdHlfcG9zdFNpZ24iOnJldHVybiBmPXQucGFyYW1zWzBdLGM9dC5wYXJhbXNbMV0sdm9pZCBpLnBhcml0eVBvc3RTaWduKGYsYyxyKTtjYXNlInBhcml0eV9jaGVja1JlcXVlc3QiOnJldHVybiBmdW5jdGlvbigpe2NvbnN0IGU9dC5wYXJhbXNbMF07aS5wYXJpdHlDaGVja1JlcXVlc3QoZSxyKX0oKTtjYXNlInBhcml0eV9kZWZhdWx0QWNjb3VudCI6cmV0dXJuIHZvaWQgaS5nZXRBY2NvdW50cygoZnVuY3Rpb24odCxlKXtpZih0KXJldHVybiByKHQpO2NvbnN0IG49ZVswXXx8bnVsbDtyKG51bGwsbil9KSk7ZGVmYXVsdDpyZXR1cm4gdm9pZCBlKCl9fSxkLnByb3RvdHlwZS5nZXRBY2NvdW50cz1mdW5jdGlvbih0KXt0KG51bGwsW10pfSxkLnByb3RvdHlwZS5wcm9jZXNzVHJhbnNhY3Rpb249ZnVuY3Rpb24odCxlKXtjb25zdCByPXRoaXM7bihbZT0+ci5hcHByb3ZlVHJhbnNhY3Rpb24odCxlKSwodCxlKT0+ci5jaGVja0FwcHJvdmFsKCJ0cmFuc2FjdGlvbiIsdCxlKSxlPT5yLmZpbmFsaXplQW5kU3VibWl0VHgodCxlKV0sZSl9LGQucHJvdG90eXBlLnByb2Nlc3NTaWduVHJhbnNhY3Rpb249ZnVuY3Rpb24odCxlKXtjb25zdCByPXRoaXM7bihbZT0+ci5hcHByb3ZlVHJhbnNhY3Rpb24odCxlKSwodCxlKT0+ci5jaGVja0FwcHJvdmFsKCJ0cmFuc2FjdGlvbiIsdCxlKSxlPT5yLmZpbmFsaXplVHgodCxlKV0sZSl9LGQucHJvdG90eXBlLnByb2Nlc3NNZXNzYWdlPWZ1bmN0aW9uKHQsZSl7Y29uc3Qgcj10aGlzO24oW2U9PnIuYXBwcm92ZU1lc3NhZ2UodCxlKSwodCxlKT0+ci5jaGVja0FwcHJvdmFsKCJtZXNzYWdlIix0LGUpLGU9PnIuc2lnbk1lc3NhZ2UodCxlKV0sZSl9LGQucHJvdG90eXBlLnByb2Nlc3NQZXJzb25hbE1lc3NhZ2U9ZnVuY3Rpb24odCxlKXtjb25zdCByPXRoaXM7bihbZT0+ci5hcHByb3ZlUGVyc29uYWxNZXNzYWdlKHQsZSksKHQsZSk9PnIuY2hlY2tBcHByb3ZhbCgibWVzc2FnZSIsdCxlKSxlPT5yLnNpZ25QZXJzb25hbE1lc3NhZ2UodCxlKV0sZSl9LGQucHJvdG90eXBlLnByb2Nlc3NEZWNyeXB0TWVzc2FnZT1mdW5jdGlvbih0LGUpe2NvbnN0IHI9dGhpcztuKFtlPT5yLmFwcHJvdmVEZWNyeXB0TWVzc2FnZSh0LGUpLCh0LGUpPT5yLmNoZWNrQXBwcm92YWwoImRlY3J5cHRNZXNzYWdlIix0LGUpLGU9PnIuZGVjcnlwdE1lc3NhZ2UodCxlKV0sZSl9LGQucHJvdG90eXBlLnByb2Nlc3NFbmNyeXB0aW9uUHVibGljS2V5PWZ1bmN0aW9uKHQsZSl7Y29uc3Qgcj10aGlzO24oW2U9PnIuYXBwcm92ZUVuY3J5cHRpb25QdWJsaWNLZXkodCxlKSwodCxlKT0+ci5jaGVja0FwcHJvdmFsKCJlbmNyeXB0aW9uUHVibGljS2V5Iix0LGUpLGU9PnIuZW5jcnlwdGlvblB1YmxpY0tleSh0LGUpXSxlKX0sZC5wcm90b3R5cGUucHJvY2Vzc1R5cGVkTWVzc2FnZT1mdW5jdGlvbih0LGUpe2NvbnN0IHI9dGhpcztuKFtlPT5yLmFwcHJvdmVUeXBlZE1lc3NhZ2UodCxlKSwodCxlKT0+ci5jaGVja0FwcHJvdmFsKCJtZXNzYWdlIix0LGUpLGU9PnIuc2lnblR5cGVkTWVzc2FnZSh0LGUpXSxlKX0sZC5wcm90b3R5cGUuYXV0b0FwcHJvdmU9ZnVuY3Rpb24odCxlKXtlKG51bGwsITApfSxkLnByb3RvdHlwZS5jaGVja0FwcHJvdmFsPWZ1bmN0aW9uKHQsZSxyKXtyKGU/bnVsbDpuZXcgRXJyb3IoIlVzZXIgZGVuaWVkICIrdCsiIHNpZ25hdHVyZS4iKSl9LGQucHJvdG90eXBlLnBhcml0eVBvc3RUcmFuc2FjdGlvbj1mdW5jdGlvbih0LGUpe2NvbnN0IHI9dGhpcyxuPSIweCIrci5fcGFyaXR5UmVxdWVzdENvdW50LnRvU3RyaW5nKDE2KTtyLl9wYXJpdHlSZXF1ZXN0Q291bnQrKyxyLmVtaXRQYXlsb2FkKHttZXRob2Q6ImV0aF9zZW5kVHJhbnNhY3Rpb24iLHBhcmFtczpbdF19LChmdW5jdGlvbih0LGUpe2lmKHQpcmV0dXJuIHZvaWQoci5fcGFyaXR5UmVxdWVzdHNbbl09e2Vycm9yOnR9KTtjb25zdCBpPWUucmVzdWx0O3IuX3Bhcml0eVJlcXVlc3RzW25dPWl9KSksZShudWxsLG4pfSxkLnByb3RvdHlwZS5wYXJpdHlQb3N0U2lnbj1mdW5jdGlvbih0LGUscil7Y29uc3Qgbj10aGlzLGk9IjB4IituLl9wYXJpdHlSZXF1ZXN0Q291bnQudG9TdHJpbmcoMTYpO24uX3Bhcml0eVJlcXVlc3RDb3VudCsrLG4uZW1pdFBheWxvYWQoe21ldGhvZDoiZXRoX3NpZ24iLHBhcmFtczpbdCxlXX0sKGZ1bmN0aW9uKHQsZSl7aWYodClyZXR1cm4gdm9pZChuLl9wYXJpdHlSZXF1ZXN0c1tpXT17ZXJyb3I6dH0pO2NvbnN0IHI9ZS5yZXN1bHQ7bi5fcGFyaXR5UmVxdWVzdHNbaV09cn0pKSxyKG51bGwsaSl9LGQucHJvdG90eXBlLnBhcml0eUNoZWNrUmVxdWVzdD1mdW5jdGlvbih0LGUpe2NvbnN0IHI9dGhpcy5fcGFyaXR5UmVxdWVzdHNbdF18fG51bGw7cmV0dXJuIHI/ci5lcnJvcj9lKHIuZXJyb3IpOnZvaWQgZShudWxsLHIpOmUobnVsbCxudWxsKX0sZC5wcm90b3R5cGUucmVjb3ZlclBlcnNvbmFsU2lnbmF0dXJlPWZ1bmN0aW9uKHQsZSl7bGV0IHI7dHJ5e3I9YS5yZWNvdmVyUGVyc29uYWxTaWduYXR1cmUodCl9Y2F0Y2godCl7cmV0dXJuIGUodCl9ZShudWxsLHIpfSxkLnByb3RvdHlwZS52YWxpZGF0ZVRyYW5zYWN0aW9uPWZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwPT09dC5mcm9tKXJldHVybiBlKG5ldyBFcnJvcigiVW5kZWZpbmVkIGFkZHJlc3MgLSBmcm9tIGFkZHJlc3MgcmVxdWlyZWQgdG8gc2lnbiB0cmFuc2FjdGlvbi4iKSk7dGhpcy52YWxpZGF0ZVNlbmRlcih0LmZyb20sKGZ1bmN0aW9uKHIsbil7cmV0dXJuIHI/ZShyKTpuP3ZvaWQgZSgpOmUobmV3IEVycm9yKGBVbmtub3duIGFkZHJlc3MgLSB1bmFibGUgdG8gc2lnbiB0cmFuc2FjdGlvbiBmb3IgdGhpcyBhZGRyZXNzOiAiJHt0LmZyb219ImApKX0pKX0sZC5wcm90b3R5cGUudmFsaWRhdGVNZXNzYWdlPWZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwPT09dC5mcm9tKXJldHVybiBlKG5ldyBFcnJvcigiVW5kZWZpbmVkIGFkZHJlc3MgLSBmcm9tIGFkZHJlc3MgcmVxdWlyZWQgdG8gc2lnbiBtZXNzYWdlLiIpKTt0aGlzLnZhbGlkYXRlU2VuZGVyKHQuZnJvbSwoZnVuY3Rpb24ocixuKXtyZXR1cm4gcj9lKHIpOm4/dm9pZCBlKCk6ZShuZXcgRXJyb3IoYFVua25vd24gYWRkcmVzcyAtIHVuYWJsZSB0byBzaWduIG1lc3NhZ2UgZm9yIHRoaXMgYWRkcmVzczogIiR7dC5mcm9tfSJgKSl9KSl9LGQucHJvdG90eXBlLnZhbGlkYXRlUGVyc29uYWxNZXNzYWdlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PXQuZnJvbT9lKG5ldyBFcnJvcigiVW5kZWZpbmVkIGFkZHJlc3MgLSBmcm9tIGFkZHJlc3MgcmVxdWlyZWQgdG8gc2lnbiBwZXJzb25hbCBtZXNzYWdlLiIpKTp2b2lkIDA9PT10LmRhdGE/ZShuZXcgRXJyb3IoIlVuZGVmaW5lZCBtZXNzYWdlIC0gbWVzc2FnZSByZXF1aXJlZCB0byBzaWduIHBlcnNvbmFsIG1lc3NhZ2UuIikpOmIodC5kYXRhKT92b2lkIHRoaXMudmFsaWRhdGVTZW5kZXIodC5mcm9tLChmdW5jdGlvbihyLG4pe3JldHVybiByP2Uocik6bj92b2lkIGUoKTplKG5ldyBFcnJvcihgVW5rbm93biBhZGRyZXNzIC0gdW5hYmxlIHRvIHNpZ24gbWVzc2FnZSBmb3IgdGhpcyBhZGRyZXNzOiAiJHt0LmZyb219ImApKX0pKTplKG5ldyBFcnJvcigiSG9va2VkV2FsbGV0U3VicHJvdmlkZXIgLSB2YWxpZGF0ZU1lc3NhZ2UgLSBtZXNzYWdlIHdhcyBub3QgZW5jb2RlZCBhcyBoZXguIikpfSxkLnByb3RvdHlwZS52YWxpZGF0ZURlY3J5cHRNZXNzYWdlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PXQuZnJvbT9lKG5ldyBFcnJvcigiVW5kZWZpbmVkIGFkZHJlc3MgLSBmcm9tIGFkZHJlc3MgcmVxdWlyZWQgdG8gZGVjcnlwdCBtZXNzYWdlLiIpKTp2b2lkIDA9PT10LmRhdGE/ZShuZXcgRXJyb3IoIlVuZGVmaW5lZCBtZXNzYWdlIC0gbWVzc2FnZSByZXF1aXJlZCB0byBkZWNyeXB0IG1lc3NhZ2UuIikpOmIodC5kYXRhKT92b2lkIHRoaXMudmFsaWRhdGVTZW5kZXIodC5mcm9tLChmdW5jdGlvbihyLG4pe3JldHVybiByP2Uocik6bj92b2lkIGUoKTplKG5ldyBFcnJvcihgVW5rbm93biBhZGRyZXNzIC0gdW5hYmxlIHRvIGRlY3J5cHQgbWVzc2FnZSBmb3IgdGhpcyBhZGRyZXNzOiAiJHt0LmZyb219ImApKX0pKTplKG5ldyBFcnJvcigiSG9va2VkV2FsbGV0U3VicHJvdmlkZXIgLSB2YWxpZGF0ZURlY3J5cHRNZXNzYWdlIC0gbWVzc2FnZSB3YXMgbm90IGVuY29kZWQgYXMgaGV4LiIpKX0sZC5wcm90b3R5cGUudmFsaWRhdGVFbmNyeXB0aW9uUHVibGljS2V5PWZ1bmN0aW9uKHQsZSl7dGhpcy52YWxpZGF0ZVNlbmRlcih0LChmdW5jdGlvbihyLG4pe3JldHVybiByP2Uocik6bj92b2lkIGUoKTplKG5ldyBFcnJvcihgVW5rbm93biBhZGRyZXNzIC0gdW5hYmxlIHRvIG9idGFpbiBlbmNyeXB0aW9uIHB1YmxpYyBrZXkgZm9yIHRoaXMgYWRkcmVzczogIiR7dH0iYCkpfSkpfSxkLnByb3RvdHlwZS52YWxpZGF0ZVR5cGVkTWVzc2FnZT1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT10LmZyb20/ZShuZXcgRXJyb3IoIlVuZGVmaW5lZCBhZGRyZXNzIC0gZnJvbSBhZGRyZXNzIHJlcXVpcmVkIHRvIHNpZ24gdHlwZWQgZGF0YS4iKSk6dm9pZCAwPT09dC5kYXRhP2UobmV3IEVycm9yKCJVbmRlZmluZWQgZGF0YSAtIG1lc3NhZ2UgcmVxdWlyZWQgdG8gc2lnbiB0eXBlZCBkYXRhLiIpKTp2b2lkIHRoaXMudmFsaWRhdGVTZW5kZXIodC5mcm9tLChmdW5jdGlvbihyLG4pe3JldHVybiByP2Uocik6bj92b2lkIGUoKTplKG5ldyBFcnJvcihgVW5rbm93biBhZGRyZXNzIC0gdW5hYmxlIHRvIHNpZ24gbWVzc2FnZSBmb3IgdGhpcyBhZGRyZXNzOiAiJHt0LmZyb219ImApKX0pKX0sZC5wcm90b3R5cGUudmFsaWRhdGVTZW5kZXI9ZnVuY3Rpb24odCxlKXtpZighdClyZXR1cm4gZShudWxsLCExKTt0aGlzLmdldEFjY291bnRzKChmdW5jdGlvbihyLG4pe2lmKHIpcmV0dXJuIGUocik7Y29uc3QgaT0tMSE9PW4ubWFwKHApLmluZGV4T2YodC50b0xvd2VyQ2FzZSgpKTtlKG51bGwsaSl9KSl9LGQucHJvdG90eXBlLmZpbmFsaXplQW5kU3VibWl0VHg9ZnVuY3Rpb24odCxlKXtjb25zdCByPXRoaXM7ci5ub25jZUxvY2sudGFrZSgoZnVuY3Rpb24oKXtuKFtyLmZpbGxJblR4RXh0cmFzLmJpbmQocix0KSxyLnNpZ25UcmFuc2FjdGlvbi5iaW5kKHIpLHIucHVibGlzaFRyYW5zYWN0aW9uLmJpbmQocildLChmdW5jdGlvbih0LG4pe2lmKHIubm9uY2VMb2NrLmxlYXZlKCksdClyZXR1cm4gZSh0KTtlKG51bGwsbil9KSl9KSl9LGQucHJvdG90eXBlLmZpbmFsaXplVHg9ZnVuY3Rpb24odCxlKXtjb25zdCByPXRoaXM7ci5ub25jZUxvY2sudGFrZSgoZnVuY3Rpb24oKXtuKFtyLmZpbGxJblR4RXh0cmFzLmJpbmQocix0KSxyLnNpZ25UcmFuc2FjdGlvbi5iaW5kKHIpXSwoZnVuY3Rpb24obixpKXtpZihyLm5vbmNlTG9jay5sZWF2ZSgpLG4pcmV0dXJuIGUobik7ZShudWxsLHtyYXc6aSx0eDp0fSl9KSl9KSl9LGQucHJvdG90eXBlLnB1Ymxpc2hUcmFuc2FjdGlvbj1mdW5jdGlvbih0LGUpe3RoaXMuZW1pdFBheWxvYWQoe21ldGhvZDoiZXRoX3NlbmRSYXdUcmFuc2FjdGlvbiIscGFyYW1zOlt0XX0sKGZ1bmN0aW9uKHQscil7aWYodClyZXR1cm4gZSh0KTtlKG51bGwsci5yZXN1bHQpfSkpfSxkLnByb3RvdHlwZS5lc3RpbWF0ZUdhcz1mdW5jdGlvbih0LGUpe2godGhpcy5lbmdpbmUsdCxlKX0sZC5wcm90b3R5cGUuZ2V0R2FzUHJpY2U9ZnVuY3Rpb24odCl7dGhpcy5lbWl0UGF5bG9hZCh7bWV0aG9kOiJldGhfZ2FzUHJpY2UiLHBhcmFtczpbXX0sKGZ1bmN0aW9uKGUscil7aWYoZSlyZXR1cm4gdChlKTt0KG51bGwsci5yZXN1bHQpfSkpfSxkLnByb3RvdHlwZS5maWxsSW5UeEV4dHJhcz1mdW5jdGlvbih0LGUpe2NvbnN0IHI9dGhpcyxuPXQuZnJvbSxvPXt9O3ZvaWQgMD09PXQuZ2FzUHJpY2UmJihvLmdhc1ByaWNlPXIuZ2V0R2FzUHJpY2UuYmluZChyKSksdm9pZCAwPT09dC5ub25jZSYmKG8ubm9uY2U9ci5lbWl0UGF5bG9hZC5iaW5kKHIse21ldGhvZDoiZXRoX2dldFRyYW5zYWN0aW9uQ291bnQiLHBhcmFtczpbbiwicGVuZGluZyJdfSkpLHZvaWQgMD09PXQuZ2FzJiYoby5nYXM9ci5lc3RpbWF0ZUdhcy5iaW5kKHIsZnVuY3Rpb24odCl7cmV0dXJue2Zyb206dC5mcm9tLHRvOnQudG8sdmFsdWU6dC52YWx1ZSxkYXRhOnQuZGF0YSxnYXM6dC5nYXMsZ2FzUHJpY2U6dC5nYXNQcmljZSxub25jZTp0Lm5vbmNlfX0odCkpKSxpKG8sKGZ1bmN0aW9uKHIsbil7aWYocilyZXR1cm4gZShyKTtjb25zdCBpPXt9O24uZ2FzUHJpY2UmJihpLmdhc1ByaWNlPW4uZ2FzUHJpY2UpLG4ubm9uY2UmJihpLm5vbmNlPW4ubm9uY2UucmVzdWx0KSxuLmdhcyYmKGkuZ2FzPW4uZ2FzKSxlKG51bGwsdSh0LGkpKX0pKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0LGUpe2lmKGU9KDAsby5kZWZhdWx0KShlfHxpLmRlZmF1bHQpLCEoMCxuLmRlZmF1bHQpKHQpKXJldHVybiBlKG5ldyBFcnJvcigiRmlyc3QgYXJndW1lbnQgdG8gd2F0ZXJmYWxsIG11c3QgYmUgYW4gYXJyYXkgb2YgZnVuY3Rpb25zIikpO2lmKCF0Lmxlbmd0aClyZXR1cm4gZSgpO3ZhciByPTA7ZnVuY3Rpb24gYyhlKXt2YXIgbj0oMCx1LmRlZmF1bHQpKHRbcisrXSk7ZS5wdXNoKCgwLGEuZGVmYXVsdCkoZikpLG4uYXBwbHkobnVsbCxlKX1mdW5jdGlvbiBmKG4pe2lmKG58fHI9PT10Lmxlbmd0aClyZXR1cm4gZS5hcHBseShudWxsLGFyZ3VtZW50cyk7YygoMCxzLmRlZmF1bHQpKGFyZ3VtZW50cywxKSl9YyhbXSl9O3ZhciBuPWMocigxNDcpKSxpPWMocigzOCkpLG89YyhyKDY0KSkscz1jKHIoNDgpKSxhPWMocig2NikpLHU9YyhyKDIzKSk7ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PWZ1bmN0aW9uKHQsZSl7KDAsaS5kZWZhdWx0KShuLmRlZmF1bHQsdCxlKX07dmFyIG49byhyKDEzOSkpLGk9byhyKDM1NikpO2Z1bmN0aW9uIG8odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fXQuZXhwb3J0cz1lLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0LGUscil7cj1yfHxuLmRlZmF1bHQ7dmFyIGE9KDAsaS5kZWZhdWx0KShlKT9bXTp7fTt0KGUsKGZ1bmN0aW9uKHQsZSxyKXsoMCxzLmRlZmF1bHQpKHQpKChmdW5jdGlvbih0LG4pe2FyZ3VtZW50cy5sZW5ndGg+MiYmKG49KDAsby5kZWZhdWx0KShhcmd1bWVudHMsMSkpLGFbZV09bixyKHQpfSkpfSksKGZ1bmN0aW9uKHQpe3IodCxhKX0pKX07dmFyIG49YShyKDM4KSksaT1hKHIoNDcpKSxvPWEocig0OCkpLHM9YShyKDIzKSk7ZnVuY3Rpb24gYSh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cigzNiksaT1yKDM1OCk7ZnVuY3Rpb24gbyh0KXtjb25zdCBlPW5ldyBFcnJvcigiRXhwZWN0IGFyZ3VtZW50IHRvIGJlIG5vbi1lbXB0eSBhcnJheSIpO2lmKCJvYmplY3QiIT10eXBlb2YgdHx8IXQubGVuZ3RoKXRocm93IGU7Y29uc3Qgcj10Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuImJ5dGVzIj09PXQudHlwZT9uLnRvQnVmZmVyKHQudmFsdWUpOnQudmFsdWV9KSksbz10Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudHlwZX0pKSxzPXQubWFwKChmdW5jdGlvbih0KXtpZighdC5uYW1lKXRocm93IGU7cmV0dXJuIHQudHlwZSsiICIrdC5uYW1lfSkpO3JldHVybiBpLnNvbGlkaXR5U0hBMyhbImJ5dGVzMzIiLCJieXRlczMyIl0sW2kuc29saWRpdHlTSEEzKG5ldyBBcnJheSh0Lmxlbmd0aCkuZmlsbCgic3RyaW5nIikscyksaS5zb2xpZGl0eVNIQTMobyxyKV0pfWZ1bmN0aW9uIHModCxlKXtjb25zdCByPW4udG9CdWZmZXIoZSksaT1uLmZyb21ScGNTaWcocik7cmV0dXJuIG4uZWNyZWNvdmVyKHQsaS52LGkucixpLnMpfWZ1bmN0aW9uIGEodCl7Y29uc3QgZT1uLnRvQnVmZmVyKHQuZGF0YSk7cmV0dXJuIHMobi5oYXNoUGVyc29uYWxNZXNzYWdlKGUpLHQuc2lnKX1mdW5jdGlvbiB1KHQsZSl7Zm9yKHZhciByPSIiK3Q7ci5sZW5ndGg8ZTspcj0iMCIrcjtyZXR1cm4gcn10LmV4cG9ydHM9e2NvbmNhdFNpZzpmdW5jdGlvbih0LGUscil7Y29uc3QgaT1uLmZyb21TaWduZWQoZSksbz1uLmZyb21TaWduZWQocikscz1uLmJ1ZmZlclRvSW50KHQpLGE9dShuLnRvVW5zaWduZWQoaSkudG9TdHJpbmcoImhleCIpLDY0KSxjPXUobi50b1Vuc2lnbmVkKG8pLnRvU3RyaW5nKCJoZXgiKSw2NCksZj1uLnN0cmlwSGV4UHJlZml4KG4uaW50VG9IZXgocykpO3JldHVybiBuLmFkZEhleFByZWZpeChhLmNvbmNhdChjLGYpKS50b1N0cmluZygiaGV4Iil9LG5vcm1hbGl6ZTpmdW5jdGlvbih0KXtpZih0KXtpZigibnVtYmVyIj09dHlwZW9mIHQpe2NvbnN0IGU9bi50b0J1ZmZlcih0KTt0PW4uYnVmZmVyVG9IZXgoZSl9aWYoInN0cmluZyIhPXR5cGVvZiB0KXt2YXIgZT0iZXRoLXNpZy11dGlsLm5vcm1hbGl6ZSgpIHJlcXVpcmVzIGhleCBzdHJpbmcgb3IgaW50ZWdlciBpbnB1dC4iO3Rocm93IG5ldyBFcnJvcihlKz0iIHJlY2VpdmVkICIrdHlwZW9mIHQrIjogIit0KX1yZXR1cm4gbi5hZGRIZXhQcmVmaXgodC50b0xvd2VyQ2FzZSgpKX19LHBlcnNvbmFsU2lnbjpmdW5jdGlvbih0LGUpe3ZhciByPW4udG9CdWZmZXIoZS5kYXRhKSxpPW4uaGFzaFBlcnNvbmFsTWVzc2FnZShyKSxvPW4uZWNzaWduKGksdCk7cmV0dXJuIG4uYnVmZmVyVG9IZXgodGhpcy5jb25jYXRTaWcoby52LG8ucixvLnMpKX0scmVjb3ZlclBlcnNvbmFsU2lnbmF0dXJlOmZ1bmN0aW9uKHQpe2NvbnN0IGU9YSh0KSxyPW4ucHVibGljVG9BZGRyZXNzKGUpO3JldHVybiBuLmJ1ZmZlclRvSGV4KHIpfSxleHRyYWN0UHVibGljS2V5OmZ1bmN0aW9uKHQpe3JldHVybiIweCIrYSh0KS50b1N0cmluZygiaGV4Iil9LHR5cGVkU2lnbmF0dXJlSGFzaDpmdW5jdGlvbih0KXtjb25zdCBlPW8odCk7cmV0dXJuIG4uYnVmZmVyVG9IZXgoZSl9LHNpZ25UeXBlZERhdGE6ZnVuY3Rpb24odCxlKXtjb25zdCByPW8oZS5kYXRhKSxpPW4uZWNzaWduKHIsdCk7cmV0dXJuIG4uYnVmZmVyVG9IZXgodGhpcy5jb25jYXRTaWcoaS52LGkucixpLnMpKX0scmVjb3ZlclR5cGVkU2lnbmF0dXJlOmZ1bmN0aW9uKHQpe2NvbnN0IGU9cyhvKHQuZGF0YSksdC5zaWcpLHI9bi5wdWJsaWNUb0FkZHJlc3MoZSk7cmV0dXJuIG4uYnVmZmVyVG9IZXgocil9fX0sZnVuY3Rpb24odCxlLHIpe3QuZXhwb3J0cz1yKDM1OSl9LGZ1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24oZSl7Y29uc3Qgbj1yKDM2MCksaT1yKDkpO3ZhciBvPWZ1bmN0aW9uKCl7fTtmdW5jdGlvbiBzKHQpe3JldHVybiB0LnN0YXJ0c1dpdGgoImludFsiKT8iaW50MjU2Iit0LnNsaWNlKDMpOiJpbnQiPT09dD8iaW50MjU2Ijp0LnN0YXJ0c1dpdGgoInVpbnRbIik/InVpbnQyNTYiK3Quc2xpY2UoNCk6InVpbnQiPT09dD8idWludDI1NiI6dC5zdGFydHNXaXRoKCJmaXhlZFsiKT8iZml4ZWQxMjh4MTI4Iit0LnNsaWNlKDUpOiJmaXhlZCI9PT10PyJmaXhlZDEyOHgxMjgiOnQuc3RhcnRzV2l0aCgidWZpeGVkWyIpPyJ1Zml4ZWQxMjh4MTI4Iit0LnNsaWNlKDYpOiJ1Zml4ZWQiPT09dD8idWZpeGVkMTI4eDEyOCI6dH1mdW5jdGlvbiBhKHQpe3JldHVybiBwYXJzZUludCgvXlxEKyhcZCspJC8uZXhlYyh0KVsxXSwxMCl9ZnVuY3Rpb24gdSh0KXt2YXIgZT0vXlxEKyhcZCspeChcZCspJC8uZXhlYyh0KTtyZXR1cm5bcGFyc2VJbnQoZVsxXSwxMCkscGFyc2VJbnQoZVsyXSwxMCldfWZ1bmN0aW9uIGModCl7dmFyIGU9dC5tYXRjaCgvKC4qKVxbKC4qPylcXSQvKTtyZXR1cm4gZT8iIj09PWVbMl0/ImR5bmFtaWMiOnBhcnNlSW50KGVbMl0sMTApOm51bGx9ZnVuY3Rpb24gZih0KXt2YXIgZT10eXBlb2YgdDtpZigic3RyaW5nIj09PWUpcmV0dXJuIG4uaXNIZXhQcmVmaXhlZCh0KT9uZXcgaShuLnN0cmlwSGV4UHJlZml4KHQpLDE2KTpuZXcgaSh0LDEwKTtpZigibnVtYmVyIj09PWUpcmV0dXJuIG5ldyBpKHQpO2lmKHQudG9BcnJheSlyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoIkFyZ3VtZW50IGlzIG5vdCBhIG51bWJlciIpfWZ1bmN0aW9uIGgodCl7dmFyIGU9L14oXHcrKVwoKC4qKVwpJC8uZXhlYyh0KTtpZigzIT09ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG1ldGhvZCBzaWduYXR1cmUiKTt2YXIgcj0vXiguKylcKTpcKCguKykkLy5leGVjKGVbMl0pO2lmKG51bGwhPT1yJiYzPT09ci5sZW5ndGgpcmV0dXJue21ldGhvZDplWzFdLGFyZ3M6clsxXS5zcGxpdCgiLCIpLHJldGFyZ3M6clsyXS5zcGxpdCgiLCIpfTt2YXIgbj1lWzJdLnNwbGl0KCIsIik7cmV0dXJuIDE9PT1uLmxlbmd0aCYmIiI9PT1uWzBdJiYobj1bXSkse21ldGhvZDplWzFdLGFyZ3M6bn19ZnVuY3Rpb24gbCh0LHIpe3ZhciBvLHMsaCxkO2lmKCJhZGRyZXNzIj09PXQpcmV0dXJuIGwoInVpbnQxNjAiLGYocikpO2lmKCJib29sIj09PXQpcmV0dXJuIGwoInVpbnQ4IixyPzE6MCk7aWYoInN0cmluZyI9PT10KXJldHVybiBsKCJieXRlcyIsZS5mcm9tKHIsInV0ZjgiKSk7aWYoZyh0KSl7aWYodm9pZCAwPT09ci5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJOb3QgYW4gYXJyYXk/Iik7aWYoImR5bmFtaWMiIT09KG89Yyh0KSkmJjAhPT1vJiZyLmxlbmd0aD5vKXRocm93IG5ldyBFcnJvcigiRWxlbWVudHMgZXhjZWVkIGFycmF5IHNpemU6ICIrbyk7Zm9yKGQgaW4gaD1bXSx0PXQuc2xpY2UoMCx0Lmxhc3RJbmRleE9mKCJbIikpLCJzdHJpbmciPT10eXBlb2YgciYmKHI9SlNPTi5wYXJzZShyKSksciloLnB1c2gobCh0LHJbZF0pKTtpZigiZHluYW1pYyI9PT1vKXt2YXIgcD1sKCJ1aW50MjU2IixyLmxlbmd0aCk7aC51bnNoaWZ0KHApfXJldHVybiBlLmNvbmNhdChoKX1pZigiYnl0ZXMiPT09dClyZXR1cm4gcj1lLmZyb20ociksaD1lLmNvbmNhdChbbCgidWludDI1NiIsci5sZW5ndGgpLHJdKSxyLmxlbmd0aCUzMiE9MCYmKGg9ZS5jb25jYXQoW2gsbi56ZXJvcygzMi1yLmxlbmd0aCUzMildKSksaDtpZih0LnN0YXJ0c1dpdGgoImJ5dGVzIikpe2lmKChvPWEodCkpPDF8fG8+MzIpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGJ5dGVzPE4+IHdpZHRoOiAiK28pO3JldHVybiBuLnNldExlbmd0aFJpZ2h0KHIsMzIpfWlmKHQuc3RhcnRzV2l0aCgidWludCIpKXtpZigobz1hKHQpKSU4fHxvPDh8fG8+MjU2KXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB1aW50PE4+IHdpZHRoOiAiK28pO2lmKChzPWYocikpLmJpdExlbmd0aCgpPm8pdGhyb3cgbmV3IEVycm9yKCJTdXBwbGllZCB1aW50IGV4Y2VlZHMgd2lkdGg6ICIrbysiIHZzICIrcy5iaXRMZW5ndGgoKSk7aWYoczwwKXRocm93IG5ldyBFcnJvcigiU3VwcGxpZWQgdWludCBpcyBuZWdhdGl2ZSIpO3JldHVybiBzLnRvQXJyYXlMaWtlKGUsImJlIiwzMil9aWYodC5zdGFydHNXaXRoKCJpbnQiKSl7aWYoKG89YSh0KSklOHx8bzw4fHxvPjI1Nil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgaW50PE4+IHdpZHRoOiAiK28pO2lmKChzPWYocikpLmJpdExlbmd0aCgpPm8pdGhyb3cgbmV3IEVycm9yKCJTdXBwbGllZCBpbnQgZXhjZWVkcyB3aWR0aDogIitvKyIgdnMgIitzLmJpdExlbmd0aCgpKTtyZXR1cm4gcy50b1R3b3MoMjU2KS50b0FycmF5TGlrZShlLCJiZSIsMzIpfWlmKHQuc3RhcnRzV2l0aCgidWZpeGVkIikpe2lmKG89dSh0KSwocz1mKHIpKTwwKXRocm93IG5ldyBFcnJvcigiU3VwcGxpZWQgdWZpeGVkIGlzIG5lZ2F0aXZlIik7cmV0dXJuIGwoInVpbnQyNTYiLHMubXVsKG5ldyBpKDIpLnBvdyhuZXcgaShvWzFdKSkpKX1pZih0LnN0YXJ0c1dpdGgoImZpeGVkIikpcmV0dXJuIG89dSh0KSxsKCJpbnQyNTYiLGYocikubXVsKG5ldyBpKDIpLnBvdyhuZXcgaShvWzFdKSkpKTt0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIG9yIGludmFsaWQgdHlwZTogIit0KX1mdW5jdGlvbiBkKHQscixuKXt2YXIgbyxzLGEsdTtpZigic3RyaW5nIj09dHlwZW9mIHQmJih0PXAodCkpLCJhZGRyZXNzIj09PXQubmFtZSlyZXR1cm4gZCh0LnJhd1R5cGUscixuKS50b0FycmF5TGlrZShlLCJiZSIsMjApLnRvU3RyaW5nKCJoZXgiKTtpZigiYm9vbCI9PT10Lm5hbWUpcmV0dXJuIGQodC5yYXdUeXBlLHIsbikudG9TdHJpbmcoKT09PW5ldyBpKDEpLnRvU3RyaW5nKCk7aWYoInN0cmluZyI9PT10Lm5hbWUpe3ZhciBjPWQodC5yYXdUeXBlLHIsbik7cmV0dXJuIGUuZnJvbShjLCJ1dGY4IikudG9TdHJpbmcoKX1pZih0LmlzQXJyYXkpe2ZvcihhPVtdLG89dC5zaXplLCJkeW5hbWljIj09PXQuc2l6ZSYmKG49ZCgidWludDI1NiIscixuKS50b051bWJlcigpLG89ZCgidWludDI1NiIscixuKS50b051bWJlcigpLG4rPTMyKSx1PTA7dTxvO3UrKyl7dmFyIGY9ZCh0LnN1YkFycmF5LHIsbik7YS5wdXNoKGYpLG4rPXQuc3ViQXJyYXkubWVtb3J5VXNhZ2V9cmV0dXJuIGF9aWYoImJ5dGVzIj09PXQubmFtZSlyZXR1cm4gbj1kKCJ1aW50MjU2IixyLG4pLnRvTnVtYmVyKCksbz1kKCJ1aW50MjU2IixyLG4pLnRvTnVtYmVyKCksci5zbGljZShuKzMyLG4rMzIrbyk7aWYodC5uYW1lLnN0YXJ0c1dpdGgoImJ5dGVzIikpcmV0dXJuIHIuc2xpY2UobixuK3Quc2l6ZSk7aWYodC5uYW1lLnN0YXJ0c1dpdGgoInVpbnQiKSl7aWYoKHM9bmV3IGkoci5zbGljZShuLG4rMzIpLDE2LCJiZSIpKS5iaXRMZW5ndGgoKT50LnNpemUpdGhyb3cgbmV3IEVycm9yKCJEZWNvZGVkIGludCBleGNlZWRzIHdpZHRoOiAiK3Quc2l6ZSsiIHZzICIrcy5iaXRMZW5ndGgoKSk7cmV0dXJuIHN9aWYodC5uYW1lLnN0YXJ0c1dpdGgoImludCIpKXtpZigocz1uZXcgaShyLnNsaWNlKG4sbiszMiksMTYsImJlIikuZnJvbVR3b3MoMjU2KSkuYml0TGVuZ3RoKCk+dC5zaXplKXRocm93IG5ldyBFcnJvcigiRGVjb2RlZCB1aW50IGV4Y2VlZHMgd2lkdGg6ICIrdC5zaXplKyIgdnMgIitzLmJpdExlbmd0aCgpKTtyZXR1cm4gc31pZih0Lm5hbWUuc3RhcnRzV2l0aCgidWZpeGVkIikpe2lmKG89bmV3IGkoMikucG93KG5ldyBpKHQuc2l6ZVsxXSkpLCEocz1kKCJ1aW50MjU2IixyLG4pKS5tb2QobykuaXNaZXJvKCkpdGhyb3cgbmV3IEVycm9yKCJEZWNpbWFscyBub3Qgc3VwcG9ydGVkIHlldCIpO3JldHVybiBzLmRpdihvKX1pZih0Lm5hbWUuc3RhcnRzV2l0aCgiZml4ZWQiKSl7aWYobz1uZXcgaSgyKS5wb3cobmV3IGkodC5zaXplWzFdKSksIShzPWQoImludDI1NiIscixuKSkubW9kKG8pLmlzWmVybygpKXRocm93IG5ldyBFcnJvcigiRGVjaW1hbHMgbm90IHN1cHBvcnRlZCB5ZXQiKTtyZXR1cm4gcy5kaXYobyl9dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBvciBpbnZhbGlkIHR5cGU6ICIrdC5uYW1lKX1mdW5jdGlvbiBwKHQpe3ZhciBlLHIsbjtpZihnKHQpKXtlPWModCk7dmFyIGk9dC5zbGljZSgwLHQubGFzdEluZGV4T2YoIlsiKSk7cmV0dXJuIGk9cChpKSxyPXtpc0FycmF5OiEwLG5hbWU6dCxzaXplOmUsbWVtb3J5VXNhZ2U6ImR5bmFtaWMiPT09ZT8zMjppLm1lbW9yeVVzYWdlKmUsc3ViQXJyYXk6aX19c3dpdGNoKHQpe2Nhc2UiYWRkcmVzcyI6bj0idWludDE2MCI7YnJlYWs7Y2FzZSJib29sIjpuPSJ1aW50OCI7YnJlYWs7Y2FzZSJzdHJpbmciOm49ImJ5dGVzIn1pZihyPXtyYXdUeXBlOm4sbmFtZTp0LG1lbW9yeVVzYWdlOjMyfSx0LnN0YXJ0c1dpdGgoImJ5dGVzIikmJiJieXRlcyIhPT10fHx0LnN0YXJ0c1dpdGgoInVpbnQiKXx8dC5zdGFydHNXaXRoKCJpbnQiKT9yLnNpemU9YSh0KToodC5zdGFydHNXaXRoKCJ1Zml4ZWQiKXx8dC5zdGFydHNXaXRoKCJmaXhlZCIpKSYmKHIuc2l6ZT11KHQpKSx0LnN0YXJ0c1dpdGgoImJ5dGVzIikmJiJieXRlcyIhPT10JiYoci5zaXplPDF8fHIuc2l6ZT4zMikpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGJ5dGVzPE4+IHdpZHRoOiAiK3Iuc2l6ZSk7aWYoKHQuc3RhcnRzV2l0aCgidWludCIpfHx0LnN0YXJ0c1dpdGgoImludCIpKSYmKHIuc2l6ZSU4fHxyLnNpemU8OHx8ci5zaXplPjI1NikpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGludC91aW50PE4+IHdpZHRoOiAiK3Iuc2l6ZSk7cmV0dXJuIHJ9ZnVuY3Rpb24gbSh0KXtyZXR1cm4ic3RyaW5nIj09PXR8fCJieXRlcyI9PT10fHwiZHluYW1pYyI9PT1jKHQpfWZ1bmN0aW9uIGcodCl7cmV0dXJuIHQubGFzdEluZGV4T2YoIl0iKT09PXQubGVuZ3RoLTF9ZnVuY3Rpb24gYih0LGUpe3JldHVybiB0LnN0YXJ0c1dpdGgoImFkZHJlc3MiKXx8dC5zdGFydHNXaXRoKCJieXRlcyIpPyIweCIrZS50b1N0cmluZygiaGV4Iik6ZS50b1N0cmluZygpfW8uZXZlbnRJRD1mdW5jdGlvbih0LHIpe3ZhciBpPXQrIigiK3IubWFwKHMpLmpvaW4oIiwiKSsiKSI7cmV0dXJuIG4ua2VjY2FrMjU2KGUuZnJvbShpKSl9LG8ubWV0aG9kSUQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gby5ldmVudElEKHQsZSkuc2xpY2UoMCw0KX0sby5yYXdFbmNvZGU9ZnVuY3Rpb24odCxyKXt2YXIgbj1bXSxpPVtdLG89MDt0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKGcodCkpe3ZhciBlPWModCk7bys9ImR5bmFtaWMiIT09ZT8zMiplOjMyfWVsc2Ugbys9MzJ9KSk7Zm9yKHZhciBhPTA7YTx0Lmxlbmd0aDthKyspe3ZhciB1PXModFthXSksZj1sKHUsclthXSk7bSh1KT8obi5wdXNoKGwoInVpbnQyNTYiLG8pKSxpLnB1c2goZiksbys9Zi5sZW5ndGgpOm4ucHVzaChmKX1yZXR1cm4gZS5jb25jYXQobi5jb25jYXQoaSkpfSxvLnJhd0RlY29kZT1mdW5jdGlvbih0LHIpe3ZhciBuPVtdO3I9ZS5mcm9tKHIpO2Zvcih2YXIgaT0wLG89MDtvPHQubGVuZ3RoO28rKyl7dmFyIGE9cChzKHRbb10pKSx1PWQoYSxyLGkpO2krPWEubWVtb3J5VXNhZ2Usbi5wdXNoKHUpfXJldHVybiBufSxvLnNpbXBsZUVuY29kZT1mdW5jdGlvbih0KXt2YXIgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLnNsaWNlKDEpLG49aCh0KTtpZihyLmxlbmd0aCE9PW4uYXJncy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJBcmd1bWVudCBjb3VudCBtaXNtYXRjaCIpO3JldHVybiBlLmNvbmNhdChbby5tZXRob2RJRChuLm1ldGhvZCxuLmFyZ3MpLG8ucmF3RW5jb2RlKG4uYXJncyxyKV0pfSxvLnNpbXBsZURlY29kZT1mdW5jdGlvbih0LGUpe3ZhciByPWgodCk7aWYoIXIucmV0YXJncyl0aHJvdyBuZXcgRXJyb3IoIk5vIHJldHVybiB2YWx1ZXMgaW4gbWV0aG9kIik7cmV0dXJuIG8ucmF3RGVjb2RlKHIucmV0YXJncyxlKX0sby5zdHJpbmdpZnk9ZnVuY3Rpb24odCxlKXt2YXIgcj1bXTtmb3IodmFyIG4gaW4gdCl7dmFyIGk9dFtuXSxvPWVbbl07bz0vXlteXFtdK1xbLipcXSQvLnRlc3QoaSk/by5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBiKGksdCl9KSkuam9pbigiLCAiKTpiKGksbyksci5wdXNoKG8pfXJldHVybiByfSxvLnNvbGlkaXR5SGV4VmFsdWU9ZnVuY3Rpb24odCxyLGkpe3ZhciBzLHU7aWYoZyh0KSl7dmFyIGg9dC5yZXBsYWNlKC9cWy4qP1xdLywiIik7aWYoIWcoaCkpe3ZhciBsPWModCk7aWYoImR5bmFtaWMiIT09bCYmMCE9PWwmJnIubGVuZ3RoPmwpdGhyb3cgbmV3IEVycm9yKCJFbGVtZW50cyBleGNlZWQgYXJyYXkgc2l6ZTogIitsKX12YXIgZD1yLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG8uc29saWRpdHlIZXhWYWx1ZShoLHQsMjU2KX0pKTtyZXR1cm4gZS5jb25jYXQoZCl9aWYoImJ5dGVzIj09PXQpcmV0dXJuIHI7aWYoInN0cmluZyI9PT10KXJldHVybiBlLmZyb20ociwidXRmOCIpO2lmKCJib29sIj09PXQpe2k9aXx8ODt2YXIgcD1BcnJheShpLzQpLmpvaW4oIjAiKTtyZXR1cm4gZS5mcm9tKHI/cCsiMSI6cCsiMCIsImhleCIpfWlmKCJhZGRyZXNzIj09PXQpe3ZhciBtPTIwO3JldHVybiBpJiYobT1pLzgpLG4uc2V0TGVuZ3RoTGVmdChyLG0pfWlmKHQuc3RhcnRzV2l0aCgiYnl0ZXMiKSl7aWYoKHM9YSh0KSk8MXx8cz4zMil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgYnl0ZXM8Tj4gd2lkdGg6ICIrcyk7cmV0dXJuIG4uc2V0TGVuZ3RoUmlnaHQocixzKX1pZih0LnN0YXJ0c1dpdGgoInVpbnQiKSl7aWYoKHM9YSh0KSklOHx8czw4fHxzPjI1Nil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgdWludDxOPiB3aWR0aDogIitzKTtpZigodT1mKHIpKS5iaXRMZW5ndGgoKT5zKXRocm93IG5ldyBFcnJvcigiU3VwcGxpZWQgdWludCBleGNlZWRzIHdpZHRoOiAiK3MrIiB2cyAiK3UuYml0TGVuZ3RoKCkpO3JldHVybiBpPWl8fHMsdS50b0FycmF5TGlrZShlLCJiZSIsaS84KX1pZih0LnN0YXJ0c1dpdGgoImludCIpKXtpZigocz1hKHQpKSU4fHxzPDh8fHM+MjU2KXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBpbnQ8Tj4gd2lkdGg6ICIrcyk7aWYoKHU9ZihyKSkuYml0TGVuZ3RoKCk+cyl0aHJvdyBuZXcgRXJyb3IoIlN1cHBsaWVkIGludCBleGNlZWRzIHdpZHRoOiAiK3MrIiB2cyAiK3UuYml0TGVuZ3RoKCkpO3JldHVybiBpPWl8fHMsdS50b1R3b3MocykudG9BcnJheUxpa2UoZSwiYmUiLGkvOCl9dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBvciBpbnZhbGlkIHR5cGU6ICIrdCl9LG8uc29saWRpdHlQYWNrPWZ1bmN0aW9uKHQscil7aWYodC5sZW5ndGghPT1yLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIk51bWJlciBvZiB0eXBlcyBhcmUgbm90IG1hdGNoaW5nIHRoZSB2YWx1ZXMiKTtmb3IodmFyIG49W10saT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgYT1zKHRbaV0pLHU9cltpXTtuLnB1c2goby5zb2xpZGl0eUhleFZhbHVlKGEsdSxudWxsKSl9cmV0dXJuIGUuY29uY2F0KG4pfSxvLnNvbGlkaXR5U0hBMz1mdW5jdGlvbih0LGUpe3JldHVybiBuLmtlY2NhazI1NihvLnNvbGlkaXR5UGFjayh0LGUpKX0sby5zb2xpZGl0eVNIQTI1Nj1mdW5jdGlvbih0LGUpe3JldHVybiBuLnNoYTI1NihvLnNvbGlkaXR5UGFjayh0LGUpKX0sby5zb2xpZGl0eVJJUEVNRDE2MD1mdW5jdGlvbih0LGUpe3JldHVybiBuLnJpcGVtZDE2MChvLnNvbGlkaXR5UGFjayh0LGUpLCEwKX0sby5mcm9tU2VycGVudD1mdW5jdGlvbih0KXtmb3IodmFyIGUscj1bXSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBpPXRbbl07aWYoInMiPT09aSlyLnB1c2goImJ5dGVzIik7ZWxzZSBpZigiYiI9PT1pKXtmb3IodmFyIG89ImJ5dGVzIixzPW4rMTtzPHQubGVuZ3RoJiYoKGU9dFtzXSk+PSIwIiYmZTw9IjkiKTspbys9dFtzXS0iMCIscysrO249cy0xLHIucHVzaChvKX1lbHNlIGlmKCJpIj09PWkpci5wdXNoKCJpbnQyNTYiKTtlbHNle2lmKCJhIiE9PWkpdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBvciBpbnZhbGlkIHR5cGU6ICIraSk7ci5wdXNoKCJpbnQyNTZbXSIpfX1yZXR1cm4gcn0sby50b1NlcnBlbnQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49dFtyXTtpZigiYnl0ZXMiPT09billLnB1c2goInMiKTtlbHNlIGlmKG4uc3RhcnRzV2l0aCgiYnl0ZXMiKSllLnB1c2goImIiK2EobikpO2Vsc2UgaWYoImludDI1NiI9PT1uKWUucHVzaCgiaSIpO2Vsc2V7aWYoImludDI1NltdIiE9PW4pdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBvciBpbnZhbGlkIHR5cGU6ICIrbik7ZS5wdXNoKCJhIil9fXJldHVybiBlLmpvaW4oIiIpfSx0LmV4cG9ydHM9b30pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dGhpcyYmdGhpcy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKHQsZSxyLG4pe3ZvaWQgMD09PW4mJihuPXIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LG4se2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGVbcl19fSl9OmZ1bmN0aW9uKHQsZSxyLG4pe3ZvaWQgMD09PW4mJihuPXIpLHRbbl09ZVtyXX0pLGk9dGhpcyYmdGhpcy5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIHQpImRlZmF1bHQiPT09cnx8ZS5oYXNPd25Qcm9wZXJ0eShyKXx8bihlLHQscil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLnNlY3AyNTZrMT1lLnJscD1lLkJOPXZvaWQgMDt2YXIgbz1yKDc0KTtlLnNlY3AyNTZrMT1vO3ZhciBzPXIoMzIpLGE9cig5KTtlLkJOPWE7dmFyIHU9cig0Nik7ZS5ybHA9dSxPYmplY3QuYXNzaWduKGUscyksaShyKDM2MyksZSksaShyKDM2NCksZSksaShyKDc1KSxlKSxpKHIoMzY1KSxlKSxpKHIoNDApLGUpLGkocigzNjYpLGUpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49cig5KSxpPW5ldygwLHIoNTgpLmVjKSgic2VjcDI1NmsxIiksbz1pLmN1cnZlO2UucHJpdmF0ZUtleUV4cG9ydD1mdW5jdGlvbih0LGUpe3ZvaWQgMD09PWUmJihlPSEwKTt2YXIgcj1uZXcgbih0KTtpZihyLnVjbXAoby5uKT49MCl0aHJvdyBuZXcgRXJyb3IoImNvdWxkbid0IGV4cG9ydCB0byBERVIgZm9ybWF0Iik7dmFyIGE9aS5nLm11bChyKTtyZXR1cm4gcyhhLmdldFgoKSxhLmdldFkoKSxlKX0sZS5wcml2YXRlS2V5TW9kSW52ZXJzZT1mdW5jdGlvbihlKXt2YXIgcj1uZXcgbihlKTtpZihyLnVjbXAoby5uKT49MHx8ci5pc1plcm8oKSl0aHJvdyBuZXcgRXJyb3IoInByaXZhdGUga2V5IHJhbmdlIGlzIGludmFsaWQiKTtyZXR1cm4gci5pbnZtKG8ubikudG9BcnJheUxpa2UodCwiYmUiLDMyKX0sZS5zaWduYXR1cmVJbXBvcnQ9ZnVuY3Rpb24oZSl7dmFyIHI9bmV3IG4oZS5yKTtyLnVjbXAoby5uKT49MCYmKHI9bmV3IG4oMCkpO3ZhciBpPW5ldyBuKGUucyk7cmV0dXJuIGkudWNtcChvLm4pPj0wJiYoaT1uZXcgbigwKSksdC5jb25jYXQoW3IudG9BcnJheUxpa2UodCwiYmUiLDMyKSxpLnRvQXJyYXlMaWtlKHQsImJlIiwzMildKX0sZS5lY2RoVW5zYWZlPWZ1bmN0aW9uKHQsZSxyKXt2b2lkIDA9PT1yJiYocj0hMCk7dmFyIGE9aS5rZXlGcm9tUHVibGljKHQpLHU9bmV3IG4oZSk7aWYodS51Y21wKG8ubik+PTB8fHUuaXNaZXJvKCkpdGhyb3cgbmV3IEVycm9yKCJzY2FsYXIgd2FzIGludmFsaWQgKHplcm8gb3Igb3ZlcmZsb3cpIik7dmFyIGM9YS5wdWIubXVsKHUpO3JldHVybiBzKGMuZ2V0WCgpLGMuZ2V0WSgpLHIpfTt2YXIgcz1mdW5jdGlvbihlLHIsbil7dmFyIGk7cmV0dXJuIG4/KChpPXQuYWxsb2MoMzMpKVswXT1yLmlzT2RkKCk/MzoyLGUudG9BcnJheUxpa2UodCwiYmUiLDMyKS5jb3B5KGksMSkpOigoaT10LmFsbG9jKDY1KSlbMF09NCxlLnRvQXJyYXlMaWtlKHQsImJlIiwzMikuY29weShpLDEpLHIudG9BcnJheUxpa2UodCwiYmUiLDMyKS5jb3B5KGksMzMpKSxpfX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj10LmZyb20oWzQ4LDEyOSwyMTEsMiwxLDEsNCwzMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTYwLDEyOSwxMzMsNDgsMTI5LDEzMCwyLDEsMSw0OCw0NCw2LDcsNDIsMTM0LDcyLDIwNiw2MSwxLDEsMiwzMywwLDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NCwyNTUsMjU1LDI1Miw0Nyw0OCw2LDQsMSwwLDQsMSw3LDQsMzMsMiwxMjEsMTkwLDEwMiwxMjYsMjQ5LDIyMCwxODcsMTcyLDg1LDE2MCw5OCwxNDksMjA2LDEzNSwxMSw3LDIsMTU1LDI1MiwyMTksNDUsMjA2LDQwLDIxNyw4OSwyNDIsMTI5LDkxLDIyLDI0OCwyMywxNTIsMiwzMywwLDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NCwxODYsMTc0LDIyMCwyMzAsMTc1LDcyLDE2MCw1OSwxOTEsMjEwLDk0LDE0MCwyMDgsNTQsNjUsNjUsMiwxLDEsMTYxLDM2LDMsMzQsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pLG49dC5mcm9tKFs0OCwxMzAsMSwxOSwyLDEsMSw0LDMyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNjAsMTI5LDE2NSw0OCwxMjksMTYyLDIsMSwxLDQ4LDQ0LDYsNyw0MiwxMzQsNzIsMjA2LDYxLDEsMSwyLDMzLDAsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU0LDI1NSwyNTUsMjUyLDQ3LDQ4LDYsNCwxLDAsNCwxLDcsNCw2NSw0LDEyMSwxOTAsMTAyLDEyNiwyNDksMjIwLDE4NywxNzIsODUsMTYwLDk4LDE0OSwyMDYsMTM1LDExLDcsMiwxNTUsMjUyLDIxOSw0NSwyMDYsNDAsMjE3LDg5LDI0MiwxMjksOTEsMjIsMjQ4LDIzLDE1Miw3Miw1OCwyMTgsMTE5LDM4LDE2MywxOTYsMTAxLDkzLDE2NCwyNTEsMjUyLDE0LDE3LDgsMTY4LDI1MywyMywxODAsNzIsMTY2LDEzMyw4NCwyNSwxNTYsNzEsMjA4LDE0MywyNTEsMTYsMjEyLDE4NCwyLDMzLDAsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU0LDE4NiwxNzQsMjIwLDIzMCwxNzUsNzIsMTYwLDU5LDE5MSwyMTAsOTQsMTQwLDIwOCw1NCw2NSw2NSwyLDEsMSwxNjEsNjgsMyw2NiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pO2UucHJpdmF0ZUtleUV4cG9ydD1mdW5jdGlvbihlLGksbyl7dm9pZCAwPT09byYmKG89ITApO3ZhciBzPXQuZnJvbShvP3I6bik7cmV0dXJuIGUuY29weShzLG8/ODo5KSxpLmNvcHkocyxvPzE4MToyMTQpLHN9LGUucHJpdmF0ZUtleUltcG9ydD1mdW5jdGlvbih0KXt2YXIgZT10Lmxlbmd0aCxyPTA7aWYoZTxyKzF8fDQ4IT09dFtyXSlyZXR1cm4gbnVsbDtpZihlPChyKz0xKSsxfHwhKDEyOCZ0W3JdKSlyZXR1cm4gbnVsbDt2YXIgbj0xMjcmdFtyXTtpZihuPDF8fG4+MilyZXR1cm4gbnVsbDtpZihlPChyKz0xKStuKXJldHVybiBudWxsO3ZhciBpPXRbcituLTFdfChuPjE/dFtyK24tMl08PDg6MCk7cmV0dXJuIGU8KHIrPW4pK2l8fGU8ciszfHwyIT09dFtyXXx8MSE9PXRbcisxXXx8MSE9PXRbcisyXXx8ZTwocis9MykrMnx8NCE9PXRbcl18fHRbcisxXT4zMnx8ZTxyKzIrdFtyKzFdP251bGw6dC5zbGljZShyKzIscisyK3RbcisxXSl9LGUuc2lnbmF0dXJlSW1wb3J0TGF4PWZ1bmN0aW9uKGUpe3ZhciByPXQuYWxsb2MoMzIsMCksbj10LmFsbG9jKDMyLDApLGk9ZS5sZW5ndGgsbz0wO2lmKDQ4IT09ZVtvKytdKXJldHVybiBudWxsO3ZhciBzPWVbbysrXTtpZigxMjgmcyYmKG8rPXMtMTI4KT5pKXJldHVybiBudWxsO2lmKDIhPT1lW28rK10pcmV0dXJuIG51bGw7dmFyIGE9ZVtvKytdO2lmKDEyOCZhKXtpZihvKyhzPWEtMTI4KT5pKXJldHVybiBudWxsO2Zvcig7cz4wJiYwPT09ZVtvXTtvKz0xLHMtPTEpO2ZvcihhPTA7cz4wO28rPTEscy09MSlhPShhPDw4KStlW29dfWlmKGE+aS1vKXJldHVybiBudWxsO3ZhciB1PW87aWYobys9YSwyIT09ZVtvKytdKXJldHVybiBudWxsO3ZhciBjPWVbbysrXTtpZigxMjgmYyl7aWYobysocz1jLTEyOCk+aSlyZXR1cm4gbnVsbDtmb3IoO3M+MCYmMD09PWVbb107bys9MSxzLT0xKTtmb3IoYz0wO3M+MDtvKz0xLHMtPTEpYz0oYzw8OCkrZVtvXX1pZihjPmktbylyZXR1cm4gbnVsbDt2YXIgZj1vO2ZvcihvKz1jO2E+MCYmMD09PWVbdV07YS09MSx1Kz0xKTtpZihhPjMyKXJldHVybiBudWxsO3ZhciBoPWUuc2xpY2UodSx1K2EpO2ZvcihoLmNvcHkociwzMi1oLmxlbmd0aCk7Yz4wJiYwPT09ZVtmXTtjLT0xLGYrPTEpO2lmKGM+MzIpcmV0dXJuIG51bGw7dmFyIGw9ZS5zbGljZShmLGYrYyk7cmV0dXJuIGwuY29weShuLDMyLWwubGVuZ3RoKSx7cjpyLHM6bn19fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuS0VDQ0FLMjU2X1JMUD1lLktFQ0NBSzI1Nl9STFBfUz1lLktFQ0NBSzI1Nl9STFBfQVJSQVk9ZS5LRUNDQUsyNTZfUkxQX0FSUkFZX1M9ZS5LRUNDQUsyNTZfTlVMTD1lLktFQ0NBSzI1Nl9OVUxMX1M9ZS5UV09fUE9XMjU2PWUuTUFYX0lOVEVHRVI9dm9pZCAwO3ZhciBuPXIoOSk7ZS5NQVhfSU5URUdFUj1uZXcgbigiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiIsMTYpLGUuVFdPX1BPVzI1Nj1uZXcgbigiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLDE2KSxlLktFQ0NBSzI1Nl9OVUxMX1M9ImM1ZDI0NjAxODZmNzIzM2M5MjdlN2RiMmRjYzcwM2MwZTUwMGI2NTNjYTgyMjczYjdiZmFkODA0NWQ4NWE0NzAiLGUuS0VDQ0FLMjU2X05VTEw9dC5mcm9tKGUuS0VDQ0FLMjU2X05VTExfUywiaGV4IiksZS5LRUNDQUsyNTZfUkxQX0FSUkFZX1M9IjFkY2M0ZGU4ZGVjNzVkN2FhYjg1YjU2N2I2Y2NkNDFhZDMxMjQ1MWI5NDhhNzQxM2YwYTE0MmZkNDBkNDkzNDciLGUuS0VDQ0FLMjU2X1JMUF9BUlJBWT10LmZyb20oZS5LRUNDQUsyNTZfUkxQX0FSUkFZX1MsImhleCIpLGUuS0VDQ0FLMjU2X1JMUF9TPSI1NmU4MWYxNzFiY2M1NWE2ZmY4MzQ1ZTY5MmMwZjg2ZTViNDhlMDFiOTk2Y2FkYzAwMTYyMmZiNWUzNjNiNDIxIixlLktFQ0NBSzI1Nl9STFA9dC5mcm9tKGUuS0VDQ0FLMjU2X1JMUF9TLCJoZXgiKX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmltcG9ydFB1YmxpYz1lLnByaXZhdGVUb1B1YmxpYz1lLnByaXZhdGVUb0FkZHJlc3M9ZS5wdWJsaWNUb0FkZHJlc3M9ZS5wdWJUb0FkZHJlc3M9ZS5pc1ZhbGlkUHVibGljPWUuaXNWYWxpZFByaXZhdGU9ZS5pc1ByZWNvbXBpbGVkPWUuZ2VuZXJhdGVBZGRyZXNzMj1lLmdlbmVyYXRlQWRkcmVzcz1lLmlzVmFsaWRDaGVja3N1bUFkZHJlc3M9ZS50b0NoZWNrc3VtQWRkcmVzcz1lLmlzWmVyb0FkZHJlc3M9ZS5pc1ZhbGlkQWRkcmVzcz1lLnplcm9BZGRyZXNzPXZvaWQgMDt2YXIgbj1yKDYxKSxpPXIoMzIpLG89cig3NCkscz1yKDkpLGE9cig0MCksdT1yKDc1KTtlLnplcm9BZGRyZXNzPWZ1bmN0aW9uKCl7dmFyIHQ9YS56ZXJvcygyMCk7cmV0dXJuIGEuYnVmZmVyVG9IZXgodCl9LGUuaXNWYWxpZEFkZHJlc3M9ZnVuY3Rpb24odCl7cmV0dXJuL14weFswLTlhLWZBLUZdezQwfSQvLnRlc3QodCl9LGUuaXNaZXJvQWRkcmVzcz1mdW5jdGlvbih0KXtyZXR1cm4gZS56ZXJvQWRkcmVzcygpPT09YS5hZGRIZXhQcmVmaXgodCl9LGUudG9DaGVja3N1bUFkZHJlc3M9ZnVuY3Rpb24odCxlKXt0PWkuc3RyaXBIZXhQcmVmaXgodCkudG9Mb3dlckNhc2UoKTtmb3IodmFyIHI9dm9pZCAwIT09ZT9lLnRvU3RyaW5nKCkrIjB4IjoiIixuPXUua2VjY2FrKHIrdCkudG9TdHJpbmcoImhleCIpLG89IjB4IixzPTA7czx0Lmxlbmd0aDtzKyspcGFyc2VJbnQobltzXSwxNik+PTg/bys9dFtzXS50b1VwcGVyQ2FzZSgpOm8rPXRbc107cmV0dXJuIG99LGUuaXNWYWxpZENoZWNrc3VtQWRkcmVzcz1mdW5jdGlvbih0LHIpe3JldHVybiBlLmlzVmFsaWRBZGRyZXNzKHQpJiZlLnRvQ2hlY2tzdW1BZGRyZXNzKHQscik9PT10fSxlLmdlbmVyYXRlQWRkcmVzcz1mdW5jdGlvbihlLHIpe2U9YS50b0J1ZmZlcihlKTt2YXIgbj1uZXcgcyhyKTtyZXR1cm4gbi5pc1plcm8oKT91LnJscGhhc2goW2UsbnVsbF0pLnNsaWNlKC0yMCk6dS5ybHBoYXNoKFtlLHQuZnJvbShuLnRvQXJyYXkoKSldKS5zbGljZSgtMjApfSxlLmdlbmVyYXRlQWRkcmVzczI9ZnVuY3Rpb24oZSxyLGkpe3ZhciBvPWEudG9CdWZmZXIoZSkscz1hLnRvQnVmZmVyKHIpLGM9YS50b0J1ZmZlcihpKTtyZXR1cm4gbigyMD09PW8ubGVuZ3RoKSxuKDMyPT09cy5sZW5ndGgpLHUua2VjY2FrMjU2KHQuY29uY2F0KFt0LmZyb20oImZmIiwiaGV4IiksbyxzLHUua2VjY2FrMjU2KGMpXSkpLnNsaWNlKC0yMCl9LGUuaXNQcmVjb21waWxlZD1mdW5jdGlvbih0KXt2YXIgZT1hLnVucGFkKHQpO3JldHVybiAxPT09ZS5sZW5ndGgmJmVbMF0+PTEmJmVbMF08PTh9LGUuaXNWYWxpZFByaXZhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIG8ucHJpdmF0ZUtleVZlcmlmeSh0KX0sZS5pc1ZhbGlkUHVibGljPWZ1bmN0aW9uKGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPSExKSw2ND09PWUubGVuZ3RoP28ucHVibGljS2V5VmVyaWZ5KHQuY29uY2F0KFt0LmZyb20oWzRdKSxlXSkpOiEhciYmby5wdWJsaWNLZXlWZXJpZnkoZSl9LGUucHViVG9BZGRyZXNzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPSExKSx0PWEudG9CdWZmZXIodCksZSYmNjQhPT10Lmxlbmd0aCYmKHQ9by5wdWJsaWNLZXlDb252ZXJ0KHQsITEpLnNsaWNlKDEpKSxuKDY0PT09dC5sZW5ndGgpLHUua2VjY2FrKHQpLnNsaWNlKC0yMCl9LGUucHVibGljVG9BZGRyZXNzPWUucHViVG9BZGRyZXNzLGUucHJpdmF0ZVRvQWRkcmVzcz1mdW5jdGlvbih0KXtyZXR1cm4gZS5wdWJsaWNUb0FkZHJlc3MoZS5wcml2YXRlVG9QdWJsaWModCkpfSxlLnByaXZhdGVUb1B1YmxpYz1mdW5jdGlvbih0KXtyZXR1cm4gdD1hLnRvQnVmZmVyKHQpLG8ucHVibGljS2V5Q3JlYXRlKHQsITEpLnNsaWNlKDEpfSxlLmltcG9ydFB1YmxpYz1mdW5jdGlvbih0KXtyZXR1cm4gNjQhPT0odD1hLnRvQnVmZmVyKHQpKS5sZW5ndGgmJih0PW8ucHVibGljS2V5Q29udmVydCh0LCExKS5zbGljZSgxKSksdH19KS5jYWxsKHRoaXMscigyKS5CdWZmZXIpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5oYXNoUGVyc29uYWxNZXNzYWdlPWUuaXNWYWxpZFNpZ25hdHVyZT1lLmZyb21ScGNTaWc9ZS50b1JwY1NpZz1lLmVjcmVjb3Zlcj1lLmVjc2lnbj12b2lkIDA7dmFyIG49cig3NCksaT1yKDkpLG89cig0MCkscz1yKDc1KTtmdW5jdGlvbiBhKHQsZSl7cmV0dXJuIGU/dC0oMiplKzM1KTp0LTI3fWZ1bmN0aW9uIHUodCl7cmV0dXJuIDA9PT10fHwxPT09dH1lLmVjc2lnbj1mdW5jdGlvbih0LGUscil7dmFyIGk9bi5zaWduKHQsZSksbz1pLnJlY292ZXJ5O3JldHVybntyOmkuc2lnbmF0dXJlLnNsaWNlKDAsMzIpLHM6aS5zaWduYXR1cmUuc2xpY2UoMzIsNjQpLHY6cj9vKygyKnIrMzUpOm8rMjd9fSxlLmVjcmVjb3Zlcj1mdW5jdGlvbihlLHIsaSxzLGMpe3ZhciBmPXQuY29uY2F0KFtvLnNldExlbmd0aChpLDMyKSxvLnNldExlbmd0aChzLDMyKV0sNjQpLGg9YShyLGMpO2lmKCF1KGgpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzaWduYXR1cmUgdiB2YWx1ZSIpO3ZhciBsPW4ucmVjb3ZlcihlLGYsaCk7cmV0dXJuIG4ucHVibGljS2V5Q29udmVydChsLCExKS5zbGljZSgxKX0sZS50b1JwY1NpZz1mdW5jdGlvbihlLHIsbixpKXtpZighdShhKGUsaSkpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzaWduYXR1cmUgdiB2YWx1ZSIpO3JldHVybiBvLmJ1ZmZlclRvSGV4KHQuY29uY2F0KFtvLnNldExlbmd0aExlZnQociwzMiksby5zZXRMZW5ndGhMZWZ0KG4sMzIpLG8udG9CdWZmZXIoZSldKSl9LGUuZnJvbVJwY1NpZz1mdW5jdGlvbih0KXt2YXIgZT1vLnRvQnVmZmVyKHQpO2lmKDY1IT09ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHNpZ25hdHVyZSBsZW5ndGgiKTt2YXIgcj1lWzY0XTtyZXR1cm4gcjwyNyYmKHIrPTI3KSx7djpyLHI6ZS5zbGljZSgwLDMyKSxzOmUuc2xpY2UoMzIsNjQpfX0sZS5pc1ZhbGlkU2lnbmF0dXJlPWZ1bmN0aW9uKHQsZSxyLG4sbyl7dm9pZCAwPT09biYmKG49ITApO3ZhciBzPW5ldyBpKCI3ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjVkNTc2ZTczNTdhNDUwMWRkZmU5MmY0NjY4MWIyMGEwIiwxNiksYz1uZXcgaSgiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmViYWFlZGNlNmFmNDhhMDNiYmZkMjVlOGNkMDM2NDE0MSIsMTYpO2lmKDMyIT09ZS5sZW5ndGh8fDMyIT09ci5sZW5ndGgpcmV0dXJuITE7aWYoIXUoYSh0LG8pKSlyZXR1cm4hMTt2YXIgZj1uZXcgaShlKSxoPW5ldyBpKHIpO3JldHVybiEoZi5pc1plcm8oKXx8Zi5ndChjKXx8aC5pc1plcm8oKXx8aC5ndChjKSkmJighbnx8MSE9PWguY21wKHMpKX0sZS5oYXNoUGVyc29uYWxNZXNzYWdlPWZ1bmN0aW9uKGUpe3ZhciByPXQuZnJvbSgiGUV0aGVyZXVtIFNpZ25lZCBNZXNzYWdlOlxuIitlLmxlbmd0aC50b1N0cmluZygpLCJ1dGYtOCIpO3JldHVybiBzLmtlY2Nhayh0LmNvbmNhdChbcixlXSkpfX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmRlZmluZVByb3BlcnRpZXM9dm9pZCAwO3ZhciBuPXIoNjEpLGk9cigzMiksbz1yKDQ2KSxzPXIoNDApO2UuZGVmaW5lUHJvcGVydGllcz1mdW5jdGlvbihlLHIsYSl7aWYoZS5yYXc9W10sZS5fZmllbGRzPVtdLGUudG9KU09OPWZ1bmN0aW9uKHQpe2lmKHZvaWQgMD09PXQmJih0PSExKSx0KXt2YXIgcj17fTtyZXR1cm4gZS5fZmllbGRzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JbdF09IjB4IitlW3RdLnRvU3RyaW5nKCJoZXgiKX0pKSxyfXJldHVybiBzLmJhVG9KU09OKGUucmF3KX0sZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm4gby5lbmNvZGUoZS5yYXcpfSxyLmZvckVhY2goKGZ1bmN0aW9uKHIsaSl7ZnVuY3Rpb24gbygpe3JldHVybiBlLnJhd1tpXX1mdW5jdGlvbiBhKG8peyIwMCIhPT0obz1zLnRvQnVmZmVyKG8pKS50b1N0cmluZygiaGV4Iil8fHIuYWxsb3daZXJvfHwobz10LmFsbG9jVW5zYWZlKDApKSxyLmFsbG93TGVzcyYmci5sZW5ndGg/KG89cy5zdHJpcFplcm9zKG8pLG4oci5sZW5ndGg+PW8ubGVuZ3RoLCJUaGUgZmllbGQgIityLm5hbWUrIiBtdXN0IG5vdCBoYXZlIG1vcmUgIityLmxlbmd0aCsiIGJ5dGVzIikpOnIuYWxsb3daZXJvJiYwPT09by5sZW5ndGh8fCFyLmxlbmd0aHx8bihyLmxlbmd0aD09PW8ubGVuZ3RoLCJUaGUgZmllbGQgIityLm5hbWUrIiBtdXN0IGhhdmUgYnl0ZSBsZW5ndGggb2YgIityLmxlbmd0aCksZS5yYXdbaV09b31lLl9maWVsZHMucHVzaChyLm5hbWUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIubmFtZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0Om8sc2V0OmF9KSxyLmRlZmF1bHQmJihlW3IubmFtZV09ci5kZWZhdWx0KSxyLmFsaWFzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmFsaWFzLHtlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMCxzZXQ6YSxnZXQ6b30pfSkpLGEpaWYoInN0cmluZyI9PXR5cGVvZiBhJiYoYT10LmZyb20oaS5zdHJpcEhleFByZWZpeChhKSwiaGV4IikpLHQuaXNCdWZmZXIoYSkmJihhPW8uZGVjb2RlKGEpKSxBcnJheS5pc0FycmF5KGEpKXtpZihhLmxlbmd0aD5lLl9maWVsZHMubGVuZ3RoKXRocm93IG5ldyBFcnJvcigid3JvbmcgbnVtYmVyIG9mIGZpZWxkcyBpbiBkYXRhIik7YS5mb3JFYWNoKChmdW5jdGlvbih0LHIpe2VbZS5fZmllbGRzW3JdXT1zLnRvQnVmZmVyKHQpfSkpfWVsc2V7aWYoIm9iamVjdCIhPXR5cGVvZiBhKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBkYXRhIik7dmFyIHU9T2JqZWN0LmtleXMoYSk7ci5mb3JFYWNoKChmdW5jdGlvbih0KXstMSE9PXUuaW5kZXhPZih0Lm5hbWUpJiYoZVt0Lm5hbWVdPWFbdC5uYW1lXSksLTEhPT11LmluZGV4T2YodC5hbGlhcykmJihlW3QuYWxpYXNdPWFbdC5hbGlhc10pfSkpfX19KS5jYWxsKHRoaXMscigyKS5CdWZmZXIpfSxmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKGUpeyFmdW5jdGlvbihyKXsidXNlIHN0cmljdCI7dmFyIG49ZnVuY3Rpb24odCl7c2V0VGltZW91dCh0LDApfTt2b2lkIDAhPT1lJiZlJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5uZXh0VGljayYmKG49ZS5uZXh0VGljayksdC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXtjYXBhY2l0eTp0fHwxLGN1cnJlbnQ6MCxxdWV1ZTpbXSxmaXJzdEhlcmU6ITEsdGFrZTpmdW5jdGlvbigpe2lmKCExPT09ZS5maXJzdEhlcmUpe2UuY3VycmVudCsrLGUuZmlyc3RIZXJlPSEwO3ZhciB0PTF9ZWxzZSB0PTA7dmFyIHI9e246MX07ImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1swXT9yLnRhc2s9YXJndW1lbnRzWzBdOnIubj1hcmd1bWVudHNbMF0sYXJndW1lbnRzLmxlbmd0aD49MiYmKCJmdW5jdGlvbiI9PXR5cGVvZiBhcmd1bWVudHNbMV0/ci50YXNrPWFyZ3VtZW50c1sxXTpyLm49YXJndW1lbnRzWzFdKTt2YXIgbj1yLnRhc2s7aWYoci50YXNrPWZ1bmN0aW9uKCl7bihlLmxlYXZlKX0sZS5jdXJyZW50K3Iubi10PmUuY2FwYWNpdHkpcmV0dXJuIDE9PT10JiYoZS5jdXJyZW50LS0sZS5maXJzdEhlcmU9ITEpLGUucXVldWUucHVzaChyKTtlLmN1cnJlbnQrPXIubi10LHIudGFzayhlLmxlYXZlKSwxPT09dCYmKGUuZmlyc3RIZXJlPSExKX0sbGVhdmU6ZnVuY3Rpb24odCl7aWYodD10fHwxLGUuY3VycmVudC09dCxlLnF1ZXVlLmxlbmd0aCl7dmFyIHI9ZS5xdWV1ZVswXTtyLm4rZS5jdXJyZW50PmUuY2FwYWNpdHl8fChlLnF1ZXVlLnNoaWZ0KCksZS5jdXJyZW50Kz1yLm4sbihyLnRhc2spKX1lbHNlIGlmKGUuY3VycmVudDwwKXRocm93IG5ldyBFcnJvcigibGVhdmUgY2FsbGVkIHRvbyBtYW55IHRpbWVzLiIpfSxhdmFpbGFibGU6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9dHx8MSxlLmN1cnJlbnQrdDw9ZS5jYXBhY2l0eX19O3JldHVybiBlfX0oKX0pLmNhbGwodGhpcyxyKDUpKX0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cig2Nyk7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt0LnNlbmRBc3luYyhuKHttZXRob2Q6ImV0aF9lc3RpbWF0ZUdhcyIscGFyYW1zOltlXX0pLChmdW5jdGlvbih0LGUpe2lmKHQpcmV0dXJuIm5vIGNvbnRyYWN0IGNvZGUgYXQgZ2l2ZW4gYWRkcmVzcyI9PT10Lm1lc3NhZ2U/cihudWxsLCIweGNmMDgiKTpyKHQpO3IobnVsbCxlLnJlc3VsdCl9KSl9fSxmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKGUpe2NvbnN0IG49cigyMSkuaW5oZXJpdHMsaT1yKDM3MCksbz1yKDM2KSxzPXIoNDkpLGE9cigxNDkpLmJsb2NrVGFnRm9yUGF5bG9hZDtmdW5jdGlvbiB1KHQpe3RoaXMubm9uY2VDYWNoZT17fX10LmV4cG9ydHM9dSxuKHUscyksdS5wcm90b3R5cGUuaGFuZGxlUmVxdWVzdD1mdW5jdGlvbih0LHIsbil7Y29uc3Qgcz10aGlzO3N3aXRjaCh0Lm1ldGhvZCl7Y2FzZSJldGhfZ2V0VHJhbnNhY3Rpb25Db3VudCI6dmFyIHU9YSh0KSxjPXQucGFyYW1zWzBdLnRvTG93ZXJDYXNlKCksZj1zLm5vbmNlQ2FjaGVbY107cmV0dXJuIHZvaWQoInBlbmRpbmciPT09dT9mP24obnVsbCxmKTpyKChmdW5jdGlvbih0LGUscil7aWYodClyZXR1cm4gcigpO3ZvaWQgMD09PXMubm9uY2VDYWNoZVtjXSYmKHMubm9uY2VDYWNoZVtjXT1lKSxyKCl9KSk6cigpKTtjYXNlImV0aF9zZW5kUmF3VHJhbnNhY3Rpb24iOnJldHVybiB2b2lkIHIoKGZ1bmN0aW9uKHIsbixhKXtpZihyKXJldHVybiBhKCk7dmFyIHU9dC5wYXJhbXNbMF0sYz0oby5zdHJpcEhleFByZWZpeCh1KSxlLmZyb20oby5zdHJpcEhleFByZWZpeCh1KSwiaGV4IiksbmV3IGkoZS5mcm9tKG8uc3RyaXBIZXhQcmVmaXgodSksImhleCIpKSksZj0iMHgiK2MuZ2V0U2VuZGVyQWRkcmVzcygpLnRvU3RyaW5nKCJoZXgiKS50b0xvd2VyQ2FzZSgpLGg9by5idWZmZXJUb0ludChjLm5vbmNlKSxsPSgrK2gpLnRvU3RyaW5nKDE2KTtsLmxlbmd0aCUyJiYobD0iMCIrbCksbD0iMHgiK2wscy5ub25jZUNhY2hlW2ZdPWwsYSgpfSkpO2Nhc2UiZXZtX3JldmVydCI6cmV0dXJuIHMubm9uY2VDYWNoZT17fSx2b2lkIHIoKTtkZWZhdWx0OnJldHVybiB2b2lkIHIoKX19fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSl7dmFyIG49cigzNiksaT1yKDM3MSksbz1uLkJOLHM9bmV3IG8oIjdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNWQ1NzZlNzM1N2E0NTAxZGRmZTkyZjQ2NjgxYjIwYTAiLDE2KSxhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChyKXshZnVuY3Rpb24odCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX0odGhpcyx0KSxyPXJ8fHt9O3ZhciBpPVt7bmFtZToibm9uY2UiLGxlbmd0aDozMixhbGxvd0xlc3M6ITAsZGVmYXVsdDpuZXcgZShbXSl9LHtuYW1lOiJnYXNQcmljZSIsbGVuZ3RoOjMyLGFsbG93TGVzczohMCxkZWZhdWx0Om5ldyBlKFtdKX0se25hbWU6Imdhc0xpbWl0IixhbGlhczoiZ2FzIixsZW5ndGg6MzIsYWxsb3dMZXNzOiEwLGRlZmF1bHQ6bmV3IGUoW10pfSx7bmFtZToidG8iLGFsbG93WmVybzohMCxsZW5ndGg6MjAsZGVmYXVsdDpuZXcgZShbXSl9LHtuYW1lOiJ2YWx1ZSIsbGVuZ3RoOjMyLGFsbG93TGVzczohMCxkZWZhdWx0Om5ldyBlKFtdKX0se25hbWU6ImRhdGEiLGFsaWFzOiJpbnB1dCIsYWxsb3daZXJvOiEwLGRlZmF1bHQ6bmV3IGUoW10pfSx7bmFtZToidiIsYWxsb3daZXJvOiEwLGRlZmF1bHQ6bmV3IGUoWzI4XSl9LHtuYW1lOiJyIixsZW5ndGg6MzIsYWxsb3daZXJvOiEwLGFsbG93TGVzczohMCxkZWZhdWx0Om5ldyBlKFtdKX0se25hbWU6InMiLGxlbmd0aDozMixhbGxvd1plcm86ITAsYWxsb3dMZXNzOiEwLGRlZmF1bHQ6bmV3IGUoW10pfV07bi5kZWZpbmVQcm9wZXJ0aWVzKHRoaXMsaSxyKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiZnJvbSIse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDp0aGlzLmdldFNlbmRlckFkZHJlc3MuYmluZCh0aGlzKX0pO3ZhciBvPW4uYnVmZmVyVG9JbnQodGhpcy52KSxzPU1hdGguZmxvb3IoKG8tMzUpLzIpO3M8MCYmKHM9MCksdGhpcy5fY2hhaW5JZD1zfHxyLmNoYWluSWR8fDAsdGhpcy5faG9tZXN0ZWFkPSEwfXJldHVybiB0LnByb3RvdHlwZS50b0NyZWF0aW9uQWRkcmVzcz1mdW5jdGlvbigpe3JldHVybiIiPT09dGhpcy50by50b1N0cmluZygiaGV4Iil9LHQucHJvdG90eXBlLmhhc2g9ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9ITApO3ZhciBlPXZvaWQgMDtpZih0KWU9dGhpcy5yYXc7ZWxzZSBpZih0aGlzLl9jaGFpbklkPjApe3ZhciByPXRoaXMucmF3LnNsaWNlKCk7dGhpcy52PXRoaXMuX2NoYWluSWQsdGhpcy5yPTAsdGhpcy5zPTAsZT10aGlzLnJhdyx0aGlzLnJhdz1yfWVsc2UgZT10aGlzLnJhdy5zbGljZSgwLDYpO3JldHVybiBuLnJscGhhc2goZSl9LHQucHJvdG90eXBlLmdldENoYWluSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2hhaW5JZH0sdC5wcm90b3R5cGUuZ2V0U2VuZGVyQWRkcmVzcz1mdW5jdGlvbigpe2lmKHRoaXMuX2Zyb20pcmV0dXJuIHRoaXMuX2Zyb207dmFyIHQ9dGhpcy5nZXRTZW5kZXJQdWJsaWNLZXkoKTtyZXR1cm4gdGhpcy5fZnJvbT1uLnB1YmxpY1RvQWRkcmVzcyh0KSx0aGlzLl9mcm9tfSx0LnByb3RvdHlwZS5nZXRTZW5kZXJQdWJsaWNLZXk9ZnVuY3Rpb24oKXtpZighKHRoaXMuX3NlbmRlclB1YktleSYmdGhpcy5fc2VuZGVyUHViS2V5Lmxlbmd0aHx8dGhpcy52ZXJpZnlTaWduYXR1cmUoKSkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIFNpZ25hdHVyZSIpO3JldHVybiB0aGlzLl9zZW5kZXJQdWJLZXl9LHQucHJvdG90eXBlLnZlcmlmeVNpZ25hdHVyZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuaGFzaCghMSk7aWYodGhpcy5faG9tZXN0ZWFkJiYxPT09bmV3IG8odGhpcy5zKS5jbXAocykpcmV0dXJuITE7dHJ5e3ZhciBlPW4uYnVmZmVyVG9JbnQodGhpcy52KTt0aGlzLl9jaGFpbklkPjAmJihlLT0yKnRoaXMuX2NoYWluSWQrOCksdGhpcy5fc2VuZGVyUHViS2V5PW4uZWNyZWNvdmVyKHQsZSx0aGlzLnIsdGhpcy5zKX1jYXRjaCh0KXtyZXR1cm4hMX1yZXR1cm4hIXRoaXMuX3NlbmRlclB1YktleX0sdC5wcm90b3R5cGUuc2lnbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhc2goITEpLHI9bi5lY3NpZ24oZSx0KTt0aGlzLl9jaGFpbklkPjAmJihyLnYrPTIqdGhpcy5fY2hhaW5JZCs4KSxPYmplY3QuYXNzaWduKHRoaXMscil9LHQucHJvdG90eXBlLmdldERhdGFGZWU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5yYXdbNV0sZT1uZXcgbygwKSxyPTA7cjx0Lmxlbmd0aDtyKyspMD09PXRbcl0/ZS5pYWRkbihpLnR4RGF0YVplcm9HYXMudik6ZS5pYWRkbihpLnR4RGF0YU5vblplcm9HYXMudik7cmV0dXJuIGV9LHQucHJvdG90eXBlLmdldEJhc2VGZWU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldERhdGFGZWUoKS5pYWRkbihpLnR4R2FzLnYpO3JldHVybiB0aGlzLl9ob21lc3RlYWQmJnRoaXMudG9DcmVhdGlvbkFkZHJlc3MoKSYmdC5pYWRkbihpLnR4Q3JlYXRpb24udiksdH0sdC5wcm90b3R5cGUuZ2V0VXBmcm9udENvc3Q9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG8odGhpcy5nYXNMaW1pdCkuaW11bChuZXcgbyh0aGlzLmdhc1ByaWNlKSkuaWFkZChuZXcgbyh0aGlzLnZhbHVlKSl9LHQucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO3JldHVybiB0aGlzLnZlcmlmeVNpZ25hdHVyZSgpfHxlLnB1c2goIkludmFsaWQgU2lnbmF0dXJlIiksdGhpcy5nZXRCYXNlRmVlKCkuY21wKG5ldyBvKHRoaXMuZ2FzTGltaXQpKT4wJiZlLnB1c2goWyJnYXMgbGltaXQgaXMgdG9vIGxvdy4gTmVlZCBhdCBsZWFzdCAiK3RoaXMuZ2V0QmFzZUZlZSgpXSksdm9pZCAwPT09dHx8ITE9PT10PzA9PT1lLmxlbmd0aDplLmpvaW4oIiAiKX0sdH0oKTt0LmV4cG9ydHM9YX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImdlbmVzaXNHYXNMaW1pdCI6eyJ2Ijo1MDAwLCJkIjoiR2FzIGxpbWl0IG9mIHRoZSBHZW5lc2lzIGJsb2NrLiJ9LCJnZW5lc2lzRGlmZmljdWx0eSI6eyJ2IjoxNzE3OTg2OTE4NCwiZCI6IkRpZmZpY3VsdHkgb2YgdGhlIEdlbmVzaXMgYmxvY2suIn0sImdlbmVzaXNOb25jZSI6eyJ2IjoiMHgwMDAwMDAwMDAwMDAwMDQyIiwiZCI6InRoZSBnZW5laXMgbm9uY2UifSwiZ2VuZXNpc0V4dHJhRGF0YSI6eyJ2IjoiMHgxMWJiZThkYjRlMzQ3YjRlOGM5MzdjMWM4MzcwZTRiNWVkMzNhZGIzZGI2OWNiZGI3YTM4ZTFlNTBiMWI4MmZhIiwiZCI6ImV4dHJhIGRhdGEgIn0sImdlbmVzaXNIYXNoIjp7InYiOiIweGQ0ZTU2NzQwZjg3NmFlZjhjMDEwYjg2YTQwZDVmNTY3NDVhMTE4ZDA5MDZhMzRlNjlhZWM4YzBkYjFjYjhmYTMiLCJkIjoiZ2VuZXNpcyBoYXNoIn0sImdlbmVzaXNTdGF0ZVJvb3QiOnsidiI6IjB4ZDdmODk3NGZiNWFjNzhkOWFjMDk5YjlhZDUwMThiZWRjMmNlMGE3MmRhZDE4MjdhMTcwOWRhMzA1ODBmMDU0NCIsImQiOiJ0aGUgZ2VuZXNpcyBzdGF0ZSByb290In0sIm1pbkdhc0xpbWl0Ijp7InYiOjUwMDAsImQiOiJNaW5pbXVtIHRoZSBnYXMgbGltaXQgbWF5IGV2ZXIgYmUuIn0sImdhc0xpbWl0Qm91bmREaXZpc29yIjp7InYiOjEwMjQsImQiOiJUaGUgYm91bmQgZGl2aXNvciBvZiB0aGUgZ2FzIGxpbWl0LCB1c2VkIGluIHVwZGF0ZSBjYWxjdWxhdGlvbnMuIn0sIm1pbmltdW1EaWZmaWN1bHR5Ijp7InYiOjEzMTA3MiwiZCI6IlRoZSBtaW5pbXVtIHRoYXQgdGhlIGRpZmZpY3VsdHkgbWF5IGV2ZXIgYmUuIn0sImRpZmZpY3VsdHlCb3VuZERpdmlzb3IiOnsidiI6MjA0OCwiZCI6IlRoZSBib3VuZCBkaXZpc29yIG9mIHRoZSBkaWZmaWN1bHR5LCB1c2VkIGluIHRoZSB1cGRhdGUgY2FsY3VsYXRpb25zLiJ9LCJkdXJhdGlvbkxpbWl0Ijp7InYiOjEzLCJkIjoiVGhlIGRlY2lzaW9uIGJvdW5kYXJ5IG9uIHRoZSBibG9ja3RpbWUgZHVyYXRpb24gdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBkaWZmaWN1bHR5IHNob3VsZCBnbyB1cCBvciBub3QuIn0sIm1heGltdW1FeHRyYURhdGFTaXplIjp7InYiOjMyLCJkIjoiTWF4aW11bSBzaXplIGV4dHJhIGRhdGEgbWF5IGJlIGFmdGVyIEdlbmVzaXMuIn0sImVwb2NoRHVyYXRpb24iOnsidiI6MzAwMDAsImQiOiJEdXJhdGlvbiBiZXR3ZWVuIHByb29mLW9mLXdvcmsgZXBvY2hzLiJ9LCJzdGFja0xpbWl0Ijp7InYiOjEwMjQsImQiOiJNYXhpbXVtIHNpemUgb2YgVk0gc3RhY2sgYWxsb3dlZC4ifSwiY2FsbENyZWF0ZURlcHRoIjp7InYiOjEwMjQsImQiOiJNYXhpbXVtIGRlcHRoIG9mIGNhbGwvY3JlYXRlIHN0YWNrLiJ9LCJ0aWVyU3RlcEdhcyI6eyJ2IjpbMCwyLDMsNSw4LDEwLDIwXSwiZCI6Ik9uY2UgcGVyIG9wZXJhdGlvbiwgZm9yIGEgc2VsZWN0aW9uIG9mIHRoZW0uIn0sImV4cEdhcyI6eyJ2IjoxMCwiZCI6Ik9uY2UgcGVyIEVYUCBpbnN0dWN0aW9uLiJ9LCJleHBCeXRlR2FzIjp7InYiOjEwLCJkIjoiVGltZXMgY2VpbChsb2cyNTYoZXhwb25lbnQpKSBmb3IgdGhlIEVYUCBpbnN0cnVjdGlvbi4ifSwic2hhM0dhcyI6eyJ2IjozMCwiZCI6Ik9uY2UgcGVyIFNIQTMgb3BlcmF0aW9uLiJ9LCJzaGEzV29yZEdhcyI6eyJ2Ijo2LCJkIjoiT25jZSBwZXIgd29yZCBvZiB0aGUgU0hBMyBvcGVyYXRpb25cJ3MgZGF0YS4ifSwic2xvYWRHYXMiOnsidiI6NTAsImQiOiJPbmNlIHBlciBTTE9BRCBvcGVyYXRpb24uIn0sInNzdG9yZVNldEdhcyI6eyJ2IjoyMDAwMCwiZCI6Ik9uY2UgcGVyIFNTVE9SRSBvcGVyYXRpb24gaWYgdGhlIHplcm9uZXNzIGNoYW5nZXMgZnJvbSB6ZXJvLiJ9LCJzc3RvcmVSZXNldEdhcyI6eyJ2Ijo1MDAwLCJkIjoiT25jZSBwZXIgU1NUT1JFIG9wZXJhdGlvbiBpZiB0aGUgemVyb25lc3MgZG9lcyBub3QgY2hhbmdlIGZyb20gemVyby4ifSwic3N0b3JlUmVmdW5kR2FzIjp7InYiOjE1MDAwLCJkIjoiT25jZSBwZXIgU1NUT1JFIG9wZXJhdGlvbiBpZiB0aGUgemVyb25lc3MgY2hhbmdlcyB0byB6ZXJvLiJ9LCJqdW1wZGVzdEdhcyI6eyJ2IjoxLCJkIjoiUmVmdW5kZWQgZ2FzLCBvbmNlIHBlciBTU1RPUkUgb3BlcmF0aW9uIGlmIHRoZSB6ZXJvbmVzcyBjaGFuZ2VzIHRvIHplcm8uIn0sImxvZ0dhcyI6eyJ2IjozNzUsImQiOiJQZXIgTE9HKiBvcGVyYXRpb24uIn0sImxvZ0RhdGFHYXMiOnsidiI6OCwiZCI6IlBlciBieXRlIGluIGEgTE9HKiBvcGVyYXRpb25cJ3MgZGF0YS4ifSwibG9nVG9waWNHYXMiOnsidiI6Mzc1LCJkIjoiTXVsdGlwbGllZCBieSB0aGUgKiBvZiB0aGUgTE9HKiwgcGVyIExPRyB0cmFuc2FjdGlvbi4gZS5nLiBMT0cwIGluY3VycyAwICogY190eExvZ1RvcGljR2FzLCBMT0c0IGluY3VycyA0ICogY190eExvZ1RvcGljR2FzLiJ9LCJjcmVhdGVHYXMiOnsidiI6MzIwMDAsImQiOiJPbmNlIHBlciBDUkVBVEUgb3BlcmF0aW9uICYgY29udHJhY3QtY3JlYXRpb24gdHJhbnNhY3Rpb24uIn0sImNhbGxHYXMiOnsidiI6NDAsImQiOiJPbmNlIHBlciBDQUxMIG9wZXJhdGlvbiAmIG1lc3NhZ2UgY2FsbCB0cmFuc2FjdGlvbi4ifSwiY2FsbFN0aXBlbmQiOnsidiI6MjMwMCwiZCI6IkZyZWUgZ2FzIGdpdmVuIGF0IGJlZ2lubmluZyBvZiBjYWxsLiJ9LCJjYWxsVmFsdWVUcmFuc2ZlckdhcyI6eyJ2Ijo5MDAwLCJkIjoiUGFpZCBmb3IgQ0FMTCB3aGVuIHRoZSB2YWx1ZSB0cmFuc2ZvciBpcyBub24temVyby4ifSwiY2FsbE5ld0FjY291bnRHYXMiOnsidiI6MjUwMDAsImQiOiJQYWlkIGZvciBDQUxMIHdoZW4gdGhlIGRlc3RpbmF0aW9uIGFkZHJlc3MgZGlkblwndCBleGlzdCBwcmlvci4ifSwic3VpY2lkZVJlZnVuZEdhcyI6eyJ2IjoyNDAwMCwiZCI6IlJlZnVuZGVkIGZvbGxvd2luZyBhIHN1aWNpZGUgb3BlcmF0aW9uLiJ9LCJtZW1vcnlHYXMiOnsidiI6MywiZCI6IlRpbWVzIHRoZSBhZGRyZXNzIG9mIHRoZSAoaGlnaGVzdCByZWZlcmVuY2VkIGJ5dGUgaW4gbWVtb3J5ICsgMSkuIE5PVEU6IHJlZmVyZW5jaW5nIGhhcHBlbnMgb24gcmVhZCwgd3JpdGUgYW5kIGluIGluc3RydWN0aW9ucyBzdWNoIGFzIFJFVFVSTiBhbmQgQ0FMTC4ifSwicXVhZENvZWZmRGl2Ijp7InYiOjUxMiwiZCI6IkRpdmlzb3IgZm9yIHRoZSBxdWFkcmF0aWMgcGFydGljbGUgb2YgdGhlIG1lbW9yeSBjb3N0IGVxdWF0aW9uLiJ9LCJjcmVhdGVEYXRhR2FzIjp7InYiOjIwMCwiZCI6IiJ9LCJ0eEdhcyI6eyJ2IjoyMTAwMCwiZCI6IlBlciB0cmFuc2FjdGlvbi4gTk9URTogTm90IHBheWFibGUgb24gZGF0YSBvZiBjYWxscyBiZXR3ZWVuIHRyYW5zYWN0aW9ucy4ifSwidHhDcmVhdGlvbiI6eyJ2IjozMjAwMCwiZCI6InRoZSBjb3N0IG9mIGNyZWF0aW5nIGEgY29udHJhY3QgdmlhIHR4In0sInR4RGF0YVplcm9HYXMiOnsidiI6NCwiZCI6IlBlciBieXRlIG9mIGRhdGEgYXR0YWNoZWQgdG8gYSB0cmFuc2FjdGlvbiB0aGF0IGVxdWFscyB6ZXJvLiBOT1RFOiBOb3QgcGF5YWJsZSBvbiBkYXRhIG9mIGNhbGxzIGJldHdlZW4gdHJhbnNhY3Rpb25zLiJ9LCJ0eERhdGFOb25aZXJvR2FzIjp7InYiOjY4LCJkIjoiUGVyIGJ5dGUgb2YgZGF0YSBhdHRhY2hlZCB0byBhIHRyYW5zYWN0aW9uIHRoYXQgaXMgbm90IGVxdWFsIHRvIHplcm8uIE5PVEU6IE5vdCBwYXlhYmxlIG9uIGRhdGEgb2YgY2FsbHMgYmV0d2VlbiB0cmFuc2FjdGlvbnMuIn0sImNvcHlHYXMiOnsidiI6MywiZCI6Ik11bHRpcGxpZWQgYnkgdGhlIG51bWJlciBvZiAzMi1ieXRlIHdvcmRzIHRoYXQgYXJlIGNvcGllZCAocm91bmQgdXApIGZvciBhbnkgKkNPUFkgb3BlcmF0aW9uIGFuZCBhZGRlZC4ifSwiZWNyZWNvdmVyR2FzIjp7InYiOjMwMDAsImQiOiIifSwic2hhMjU2R2FzIjp7InYiOjYwLCJkIjoiIn0sInNoYTI1NldvcmRHYXMiOnsidiI6MTIsImQiOiIifSwicmlwZW1kMTYwR2FzIjp7InYiOjYwMCwiZCI6IiJ9LCJyaXBlbWQxNjBXb3JkR2FzIjp7InYiOjEyMCwiZCI6IiJ9LCJpZGVudGl0eUdhcyI6eyJ2IjoxNSwiZCI6IiJ9LCJpZGVudGl0eVdvcmRHYXMiOnsidiI6MywiZCI6IiJ9LCJtaW5lclJld2FyZCI6eyJ2IjoiNTAwMDAwMDAwMDAwMDAwMDAwMCIsImQiOiJ0aGUgYW1vdW50IGEgbWluZXIgZ2V0IHJld2FyZGVkIGZvciBtaW5pbmcgYSBibG9jayJ9LCJvbW1lclJld2FyZCI6eyJ2IjoiNjI1MDAwMDAwMDAwMDAwMDAwIiwiZCI6IlRoZSBhbW91bnQgb2Ygd2VpIGEgbWluZXIgb2YgYW4gdW5jbGUgYmxvY2sgZ2V0cyBmb3IgYmVpbmcgaW5jdWxkZWQgaW4gdGhlIGJsb2NrY2hhaW4ifSwibmlibGluZ1Jld2FyZCI6eyJ2IjoiMTU2MjUwMDAwMDAwMDAwMDAwIiwiZCI6InRoZSBhbW91bnQgYSBtaW5lciBnZXRzIGZvciBpbmN1bGRpbmcgYSB1bmNsZSJ9LCJob21lU3RlYWRGb3JrTnVtYmVyIjp7InYiOjExNTAwMDAsImQiOiJ0aGUgYmxvY2sgdGhhdCB0aGUgSG9tZXN0ZWFkIGZvcmsgc3RhcnRlZCBhdCJ9LCJob21lc3RlYWRSZXByaWNlRm9ya051bWJlciI6eyJ2IjoyNDYzMDAwLCJkIjoidGhlIGJsb2NrIHRoYXQgdGhlIEhvbWVzdGVhZCBSZXByaWNlIChFSVAxNTApIGZvcmsgc3RhcnRlZCBhdCJ9LCJ0aW1lYm9tYlBlcmlvZCI6eyJ2IjoxMDAwMDAsImQiOiJFeHBvbmVudGlhbCBkaWZmaWN1bHR5IHRpbWVib21iIHBlcmlvZCJ9LCJmcmVlQmxvY2tQZXJpb2QiOnsidiI6Mn19Jyl9LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNjgpLGk9cigzNzMpO3QuZXhwb3J0cz1jbGFzcyBleHRlbmRzIG57Y29uc3RydWN0b3IoKXtzdXBlcigoe2Jsb2NrVHJhY2tlcjp0LHByb3ZpZGVyOmUsZW5naW5lOnJ9KT0+e2NvbnN0e2V2ZW50czpuLG1pZGRsZXdhcmU6b309aSh7YmxvY2tUcmFja2VyOnQscHJvdmlkZXI6ZX0pO3JldHVybiBuLm9uKCJub3RpZmljYXRpb24iLHQ9PnIuZW1pdCgiZGF0YSIsbnVsbCx0KSksb30pfX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNjkpLmRlZmF1bHQsaT1yKDE1Nikse2NyZWF0ZUFzeW5jTWlkZGxld2FyZTpvfT1yKDE1Mikscz1yKDE1MSkse3Vuc2FmZVJhbmRvbUJ5dGVzOmEsaW5jcmVtZW50SGV4SW50OnV9PXIoMzkpLGM9cig3Myk7ZnVuY3Rpb24gZih0KXtyZXR1cm57aGFzaDp0Lmhhc2gscGFyZW50SGFzaDp0LnBhcmVudEhhc2gsc2hhM1VuY2xlczp0LnNoYTNVbmNsZXMsbWluZXI6dC5taW5lcixzdGF0ZVJvb3Q6dC5zdGF0ZVJvb3QsdHJhbnNhY3Rpb25zUm9vdDp0LnRyYW5zYWN0aW9uc1Jvb3QscmVjZWlwdHNSb290OnQucmVjZWlwdHNSb290LGxvZ3NCbG9vbTp0LmxvZ3NCbG9vbSxkaWZmaWN1bHR5OnQuZGlmZmljdWx0eSxudW1iZXI6dC5udW1iZXIsZ2FzTGltaXQ6dC5nYXNMaW1pdCxnYXNVc2VkOnQuZ2FzVXNlZCxub25jZTp0Lm5vbmNlLG1peEhhc2g6dC5taXhIYXNoLHRpbWVzdGFtcDp0LnRpbWVzdGFtcCxleHRyYURhdGE6dC5leHRyYURhdGF9fXQuZXhwb3J0cz1mdW5jdGlvbih7YmxvY2tUcmFja2VyOnQscHJvdmlkZXI6ZX0pe2NvbnN0IHI9e30saD1zKHtibG9ja1RyYWNrZXI6dCxwcm92aWRlcjplfSk7bGV0IGw9ITE7Y29uc3QgZD1uZXcgbixwPWkoe2V0aF9zdWJzY3JpYmU6bygoYXN5bmMgZnVuY3Rpb24obixpKXtpZihsKXRocm93IG5ldyBFcnJvcigiU3Vic2NyaXB0aW9uTWFuYWdlciAtIGF0dGVtcHRpbmcgdG8gdXNlIGFmdGVyIGRlc3Ryb3lpbmciKTtjb25zdCBvPW4ucGFyYW1zWzBdLHM9YSgxNik7bGV0IGQ7c3dpdGNoKG8pe2Nhc2UibmV3SGVhZHMiOmQ9ZnVuY3Rpb24oe3N1YklkOnJ9KXtjb25zdCBuPXt0eXBlOm8sZGVzdHJveTphc3luYygpPT57dC5yZW1vdmVMaXN0ZW5lcigic3luYyIsbi51cGRhdGUpfSx1cGRhdGU6YXN5bmMoe29sZEJsb2NrOnQsbmV3QmxvY2s6bn0pPT57Y29uc3QgaT1uLG89dSh0KTsoYXdhaXQgYyh7cHJvdmlkZXI6ZSxmcm9tQmxvY2s6byx0b0Jsb2NrOml9KSkubWFwKGYpLmZvckVhY2godD0+e20ocix0KX0pfX07cmV0dXJuIHQub24oInN5bmMiLG4udXBkYXRlKSxufSh7c3ViSWQ6c30pO2JyZWFrO2Nhc2UibG9ncyI6Y29uc3Qgcj1uLnBhcmFtc1sxXSxpPWF3YWl0IGgubmV3TG9nRmlsdGVyKHIpO2Q9ZnVuY3Rpb24oe3N1YklkOnQsZmlsdGVyOmV9KXtlLm9uKCJ1cGRhdGUiLGU9Pm0odCxlKSk7cmV0dXJue3R5cGU6byxkZXN0cm95OmFzeW5jKCk9PmF3YWl0IGgudW5pbnN0YWxsRmlsdGVyKGUuaWRIZXgpfX0oe3N1YklkOnMsZmlsdGVyOml9KTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgU3Vic2NyaXB0aW9uTWFuYWdlciAtIHVuc3VwcG9ydGVkIHN1YnNjcmlwdGlvbiB0eXBlICIke299ImApfXJldHVybiByW3NdPWQsdm9pZChpLnJlc3VsdD1zKX0pKSxldGhfdW5zdWJzY3JpYmU6bygoYXN5bmMgZnVuY3Rpb24odCxlKXtpZihsKXRocm93IG5ldyBFcnJvcigiU3Vic2NyaXB0aW9uTWFuYWdlciAtIGF0dGVtcHRpbmcgdG8gdXNlIGFmdGVyIGRlc3Ryb3lpbmciKTtjb25zdCBuPXQucGFyYW1zWzBdLGk9cltuXTtpZighaSlyZXR1cm4gdm9pZChlLnJlc3VsdD0hMSk7ZGVsZXRlIHJbbl0sYXdhaXQgaS5kZXN0cm95KCksZS5yZXN1bHQ9ITB9KSl9KTtyZXR1cm4gcC5kZXN0cm95PWZ1bmN0aW9uKCl7ZC5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtmb3IoY29uc3QgdCBpbiByKXJbdF0uZGVzdHJveSgpLGRlbGV0ZSByW3RdO2w9ITB9LHtldmVudHM6ZCxtaWRkbGV3YXJlOnB9O2Z1bmN0aW9uIG0odCxlKXtkLmVtaXQoIm5vdGlmaWNhdGlvbiIse2pzb25ycGM6IjIuMCIsbWV0aG9kOiJldGhfc3Vic2NyaXB0aW9uIixwYXJhbXM6e3N1YnNjcmlwdGlvbjp0LHJlc3VsdDplfX0pfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5yKGUpO3ZhciBuPXt9O3IucihuKSxyLmQobiwiZ2VuZXJhdGVLZXkiLChmdW5jdGlvbigpe3JldHVybiBkfSkpLHIuZChuLCJ2ZXJpZnlIbWFjIiwoZnVuY3Rpb24oKXtyZXR1cm4gcH0pKSxyLmQobiwiZW5jcnlwdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG19KSksci5kKG4sImRlY3J5cHQiLChmdW5jdGlvbigpe3JldHVybiBnfSkpO3ZhciBpPXIoMSksbz1yKDE2Mik7dmFyIHM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9ldmVudEVtaXR0ZXJzPVtdfXN1YnNjcmliZSh0KXt0aGlzLl9ldmVudEVtaXR0ZXJzLnB1c2godCl9dW5zdWJzY3JpYmUodCl7dGhpcy5fZXZlbnRFbWl0dGVycz10aGlzLl9ldmVudEVtaXR0ZXJzLmZpbHRlcihlPT5lLmV2ZW50IT09dCl9dHJpZ2dlcih0KXtsZXQgZSxyPVtdO2U9T2JqZWN0KGkuaXNKc29uUnBjUmVxdWVzdCkodCk/dC5tZXRob2Q6T2JqZWN0KGkuaXNKc29uUnBjUmVzcG9uc2VTdWNjZXNzKSh0KXx8T2JqZWN0KGkuaXNKc29uUnBjUmVzcG9uc2VFcnJvcikodCk/InJlc3BvbnNlOiIrdC5pZDpPYmplY3QoaS5pc0ludGVybmFsRXZlbnQpKHQpP3QuZXZlbnQ6IiIsZSYmKHI9dGhpcy5fZXZlbnRFbWl0dGVycy5maWx0ZXIodD0+dC5ldmVudD09PWUpKSxyJiZyLmxlbmd0aHx8T2JqZWN0KGkuaXNSZXNlcnZlZEV2ZW50KShlKXx8T2JqZWN0KGkuaXNJbnRlcm5hbEV2ZW50KShlKXx8KHI9dGhpcy5fZXZlbnRFbWl0dGVycy5maWx0ZXIodD0+ImNhbGxfcmVxdWVzdCI9PT10LmV2ZW50KSksci5mb3JFYWNoKGU9PntpZihPYmplY3QoaS5pc0pzb25ScGNSZXNwb25zZUVycm9yKSh0KSl7Y29uc3Qgcj1uZXcgRXJyb3IodC5lcnJvci5tZXNzYWdlKTtlLmNhbGxiYWNrKHIsbnVsbCl9ZWxzZSBlLmNhbGxiYWNrKG51bGwsdCl9KX19O3ZhciBhPWNsYXNze2NvbnN0cnVjdG9yKHQ9IndhbGxldGNvbm5lY3QiKXt0aGlzLnN0b3JhZ2VJZD10fWdldFNlc3Npb24oKXtsZXQgdD1udWxsO2NvbnN0IGU9T2JqZWN0KGkuZ2V0TG9jYWwpKHRoaXMuc3RvcmFnZUlkKTtyZXR1cm4gZSYmT2JqZWN0KGkuaXNXYWxsZXRDb25uZWN0U2Vzc2lvbikoZSkmJih0PWUpLHR9c2V0U2Vzc2lvbih0KXtyZXR1cm4gT2JqZWN0KGkuc2V0TG9jYWwpKHRoaXMuc3RvcmFnZUlkLHQpLHR9cmVtb3ZlU2Vzc2lvbigpe09iamVjdChpLnJlbW92ZUxvY2FsKSh0aGlzLnN0b3JhZ2VJZCl9fTtjb25zdCB1PSJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLnNwbGl0KCIiKS5tYXAodD0+YGh0dHBzOi8vJHt0fS5icmlkZ2Uud2FsbGV0Y29ubmVjdC5vcmdgKTtmdW5jdGlvbiBjKCl7cmV0dXJuIHVbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKnUubGVuZ3RoKV19dmFyIGY9Y2xhc3N7Y29uc3RydWN0b3IodCl7aWYodGhpcy5wcm90b2NvbD0id2MiLHRoaXMudmVyc2lvbj0xLHRoaXMuX2JyaWRnZT0iIix0aGlzLl9rZXk9bnVsbCx0aGlzLl9jbGllbnRJZD0iIix0aGlzLl9jbGllbnRNZXRhPW51bGwsdGhpcy5fcGVlcklkPSIiLHRoaXMuX3BlZXJNZXRhPW51bGwsdGhpcy5faGFuZHNoYWtlSWQ9MCx0aGlzLl9oYW5kc2hha2VUb3BpYz0iIix0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYWNjb3VudHM9W10sdGhpcy5fY2hhaW5JZD0wLHRoaXMuX25ldHdvcmtJZD0wLHRoaXMuX3JwY1VybD0iIix0aGlzLl9ldmVudE1hbmFnZXI9bmV3IHMsdGhpcy5fY2xpZW50TWV0YT1PYmplY3QoaS5nZXRDbGllbnRNZXRhKSgpfHx0LmNvbm5lY3Rvck9wdHMuY2xpZW50TWV0YXx8bnVsbCx0aGlzLl9jcnlwdG9MaWI9dC5jcnlwdG9MaWIsdGhpcy5fc2Vzc2lvblN0b3JhZ2U9dC5zZXNzaW9uU3RvcmFnZXx8bmV3IGEodC5jb25uZWN0b3JPcHRzLnN0b3JhZ2VJZCksdGhpcy5fcXJjb2RlTW9kYWw9dC5jb25uZWN0b3JPcHRzLnFyY29kZU1vZGFsLHRoaXMuX3FyY29kZU1vZGFsT3B0aW9ucz10LmNvbm5lY3Rvck9wdHMucXJjb2RlTW9kYWxPcHRpb25zLHRoaXMuX3NpZ25pbmdNZXRob2RzPVsuLi5pLnNpZ25pbmdNZXRob2RzLC4uLnQuY29ubmVjdG9yT3B0cy5zaWduaW5nTWV0aG9kc3x8W11dLCF0LmNvbm5lY3Rvck9wdHMuYnJpZGdlJiYhdC5jb25uZWN0b3JPcHRzLnVyaSYmIXQuY29ubmVjdG9yT3B0cy5zZXNzaW9uKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvbmUgb2YgdGhlIHJlcXVpcmVkIHBhcmFtZXRlcnM6IGJyaWRnZSAvIHVyaSAvIHNlc3Npb24iKTt2YXIgZTt0LmNvbm5lY3Rvck9wdHMuYnJpZGdlJiYodGhpcy5icmlkZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIndhbGxldGNvbm5lY3Qub3JnIj09PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0KXtsZXQgZT10LmluZGV4T2YoIi8vIik+LTE/dC5zcGxpdCgiLyIpWzJdOnQuc3BsaXQoIi8iKVswXTtyZXR1cm4gZT1lLnNwbGl0KCI6IilbMF0sZT1lLnNwbGl0KCI/IilbMF0sZX0odCkuc3BsaXQoIi4iKS5zbGljZSgtMikuam9pbigiLiIpfSh0KX0oZT10LmNvbm5lY3Rvck9wdHMuYnJpZGdlKT9jKCk6ZSksdC5jb25uZWN0b3JPcHRzLnVyaSYmKHRoaXMudXJpPXQuY29ubmVjdG9yT3B0cy51cmkpO2NvbnN0IHI9dC5jb25uZWN0b3JPcHRzLnNlc3Npb258fHRoaXMuX2dldFN0b3JhZ2VTZXNzaW9uKCk7ciYmKHRoaXMuc2Vzc2lvbj1yKSx0aGlzLmhhbmRzaGFrZUlkJiZ0aGlzLl9zdWJzY3JpYmVUb1Nlc3Npb25SZXNwb25zZSh0aGlzLmhhbmRzaGFrZUlkLCJTZXNzaW9uIHJlcXVlc3QgcmVqZWN0ZWQiKSx0aGlzLl90cmFuc3BvcnQ9dC50cmFuc3BvcnR8fG5ldyBvLmEoe3Byb3RvY29sOnRoaXMucHJvdG9jb2wsdmVyc2lvbjp0aGlzLnZlcnNpb24sdXJsOnRoaXMuYnJpZGdlLHN1YnNjcmlwdGlvbnM6W3RoaXMuY2xpZW50SWRdfSksdGhpcy5fc3Vic2NyaWJlVG9JbnRlcm5hbEV2ZW50cygpLHRoaXMuX2luaXRUcmFuc3BvcnQoKSx0LmNvbm5lY3Rvck9wdHMudXJpJiZ0aGlzLl9zdWJzY3JpYmVUb1Nlc3Npb25SZXF1ZXN0KCksdC5wdXNoU2VydmVyT3B0cyYmdGhpcy5fcmVnaXN0ZXJQdXNoU2VydmVyKHQucHVzaFNlcnZlck9wdHMpfXNldCBicmlkZ2UodCl7dCYmKHRoaXMuX2JyaWRnZT10KX1nZXQgYnJpZGdlKCl7cmV0dXJuIHRoaXMuX2JyaWRnZX1zZXQga2V5KHQpe2lmKCF0KXJldHVybjtjb25zdCBlPU9iamVjdChpLmNvbnZlcnRIZXhUb0FycmF5QnVmZmVyKSh0KTt0aGlzLl9rZXk9ZX1nZXQga2V5KCl7aWYodGhpcy5fa2V5KXtyZXR1cm4gT2JqZWN0KGkuY29udmVydEFycmF5QnVmZmVyVG9IZXgpKHRoaXMuX2tleSwhMCl9cmV0dXJuIiJ9c2V0IGNsaWVudElkKHQpe3QmJih0aGlzLl9jbGllbnRJZD10KX1nZXQgY2xpZW50SWQoKXtsZXQgdD10aGlzLl9jbGllbnRJZDtyZXR1cm4gdHx8KHQ9dGhpcy5fY2xpZW50SWQ9T2JqZWN0KGkudXVpZCkoKSksdGhpcy5fY2xpZW50SWR9c2V0IHBlZXJJZCh0KXt0JiYodGhpcy5fcGVlcklkPXQpfWdldCBwZWVySWQoKXtyZXR1cm4gdGhpcy5fcGVlcklkfXNldCBjbGllbnRNZXRhKHQpe31nZXQgY2xpZW50TWV0YSgpe2xldCB0PXRoaXMuX2NsaWVudE1ldGE7cmV0dXJuIHR8fCh0PXRoaXMuX2NsaWVudE1ldGE9T2JqZWN0KGkuZ2V0Q2xpZW50TWV0YSkoKSksdH1zZXQgcGVlck1ldGEodCl7dGhpcy5fcGVlck1ldGE9dH1nZXQgcGVlck1ldGEoKXtyZXR1cm4gdGhpcy5fcGVlck1ldGF9c2V0IGhhbmRzaGFrZVRvcGljKHQpe3QmJih0aGlzLl9oYW5kc2hha2VUb3BpYz10KX1nZXQgaGFuZHNoYWtlVG9waWMoKXtyZXR1cm4gdGhpcy5faGFuZHNoYWtlVG9waWN9c2V0IGhhbmRzaGFrZUlkKHQpe3QmJih0aGlzLl9oYW5kc2hha2VJZD10KX1nZXQgaGFuZHNoYWtlSWQoKXtyZXR1cm4gdGhpcy5faGFuZHNoYWtlSWR9Z2V0IHVyaSgpe3JldHVybiB0aGlzLl9mb3JtYXRVcmkoKX1zZXQgdXJpKHQpe2lmKCF0KXJldHVybjtjb25zdHtoYW5kc2hha2VUb3BpYzplLGJyaWRnZTpyLGtleTpufT10aGlzLl9wYXJzZVVyaSh0KTt0aGlzLmhhbmRzaGFrZVRvcGljPWUsdGhpcy5icmlkZ2U9cix0aGlzLmtleT1ufXNldCBjaGFpbklkKHQpe3RoaXMuX2NoYWluSWQ9dH1nZXQgY2hhaW5JZCgpe3JldHVybiB0aGlzLl9jaGFpbklkfXNldCBuZXR3b3JrSWQodCl7dGhpcy5fbmV0d29ya0lkPXR9Z2V0IG5ldHdvcmtJZCgpe3JldHVybiB0aGlzLl9uZXR3b3JrSWR9c2V0IGFjY291bnRzKHQpe3RoaXMuX2FjY291bnRzPXR9Z2V0IGFjY291bnRzKCl7cmV0dXJuIHRoaXMuX2FjY291bnRzfXNldCBycGNVcmwodCl7dGhpcy5fcnBjVXJsPXR9Z2V0IHJwY1VybCgpe3JldHVybiB0aGlzLl9ycGNVcmx9c2V0IGNvbm5lY3RlZCh0KXt9Z2V0IGNvbm5lY3RlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0ZWR9c2V0IHBlbmRpbmcodCl7fWdldCBwZW5kaW5nKCl7cmV0dXJuISF0aGlzLl9oYW5kc2hha2VUb3BpY31nZXQgc2Vzc2lvbigpe3JldHVybntjb25uZWN0ZWQ6dGhpcy5jb25uZWN0ZWQsYWNjb3VudHM6dGhpcy5hY2NvdW50cyxjaGFpbklkOnRoaXMuY2hhaW5JZCxicmlkZ2U6dGhpcy5icmlkZ2Usa2V5OnRoaXMua2V5LGNsaWVudElkOnRoaXMuY2xpZW50SWQsY2xpZW50TWV0YTp0aGlzLmNsaWVudE1ldGEscGVlcklkOnRoaXMucGVlcklkLHBlZXJNZXRhOnRoaXMucGVlck1ldGEsaGFuZHNoYWtlSWQ6dGhpcy5oYW5kc2hha2VJZCxoYW5kc2hha2VUb3BpYzp0aGlzLmhhbmRzaGFrZVRvcGljfX1zZXQgc2Vzc2lvbih0KXt0JiYodGhpcy5fY29ubmVjdGVkPXQuY29ubmVjdGVkLHRoaXMuYWNjb3VudHM9dC5hY2NvdW50cyx0aGlzLmNoYWluSWQ9dC5jaGFpbklkLHRoaXMuYnJpZGdlPXQuYnJpZGdlLHRoaXMua2V5PXQua2V5LHRoaXMuY2xpZW50SWQ9dC5jbGllbnRJZCx0aGlzLmNsaWVudE1ldGE9dC5jbGllbnRNZXRhLHRoaXMucGVlcklkPXQucGVlcklkLHRoaXMucGVlck1ldGE9dC5wZWVyTWV0YSx0aGlzLmhhbmRzaGFrZUlkPXQuaGFuZHNoYWtlSWQsdGhpcy5oYW5kc2hha2VUb3BpYz10LmhhbmRzaGFrZVRvcGljKX1vbih0LGUpe2NvbnN0IHI9e2V2ZW50OnQsY2FsbGJhY2s6ZX07dGhpcy5fZXZlbnRNYW5hZ2VyLnN1YnNjcmliZShyKX1vZmYodCl7dGhpcy5fZXZlbnRNYW5hZ2VyLnVuc3Vic2NyaWJlKHQpfWFzeW5jIGNyZWF0ZUluc3RhbnRSZXF1ZXN0KHQpe3RoaXMuX2tleT1hd2FpdCB0aGlzLl9nZW5lcmF0ZUtleSgpO2NvbnN0IGU9dGhpcy5fZm9ybWF0UmVxdWVzdCh7bWV0aG9kOiJ3Y19pbnN0YW50UmVxdWVzdCIscGFyYW1zOlt7cGVlcklkOnRoaXMuY2xpZW50SWQscGVlck1ldGE6dGhpcy5jbGllbnRNZXRhLHJlcXVlc3Q6dGhpcy5fZm9ybWF0UmVxdWVzdCh0KX1dfSk7dGhpcy5oYW5kc2hha2VJZD1lLmlkLHRoaXMuaGFuZHNoYWtlVG9waWM9T2JqZWN0KGkudXVpZCkoKSx0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6ImRpc3BsYXlfdXJpIixwYXJhbXM6W3RoaXMudXJpXX0pLHRoaXMub24oIm1vZGFsX2Nsb3NlZCIsKCk9Pnt0aHJvdyBuZXcgRXJyb3IoIlVzZXIgY2xvc2UgUVJDb2RlIE1vZGFsIil9KTtjb25zdCByPSgpPT57dGhpcy5raWxsU2Vzc2lvbigpfTt0cnl7Y29uc3QgdD1hd2FpdCB0aGlzLl9zZW5kQ2FsbFJlcXVlc3QoZSk7cmV0dXJuIHQmJnIoKSx0fWNhdGNoKHQpe3Rocm93IHIoKSx0fX1hc3luYyBjb25uZWN0KHQpe2lmKCF0aGlzLl9xcmNvZGVNb2RhbCl0aHJvdyBuZXcgRXJyb3IoIlFSQ29kZSBNb2RhbCBub3QgcHJvdmlkZWQiKTtyZXR1cm4gdGhpcy5jb25uZWN0ZWQ/e2NoYWluSWQ6dGhpcy5jaGFpbklkLGFjY291bnRzOnRoaXMuYWNjb3VudHN9Oihhd2FpdCB0aGlzLmNyZWF0ZVNlc3Npb24odCksbmV3IFByb21pc2UoYXN5bmModCxlKT0+e3RoaXMub24oIm1vZGFsX2Nsb3NlZCIsKCk9PmUobmV3IEVycm9yKCJVc2VyIGNsb3NlIFFSQ29kZSBNb2RhbCIpKSksdGhpcy5vbigiY29ubmVjdCIsKHIsbik9PntpZihyKXJldHVybiBlKHIpO3Qobi5wYXJhbXNbMF0pfSl9KSl9YXN5bmMgY3JlYXRlU2Vzc2lvbih0KXtpZih0aGlzLl9jb25uZWN0ZWQpdGhyb3cgbmV3IEVycm9yKCJTZXNzaW9uIGN1cnJlbnRseSBjb25uZWN0ZWQiKTtpZih0aGlzLnBlbmRpbmcpcmV0dXJuO3RoaXMuX2tleT1hd2FpdCB0aGlzLl9nZW5lcmF0ZUtleSgpO2NvbnN0IGU9dGhpcy5fZm9ybWF0UmVxdWVzdCh7bWV0aG9kOiJ3Y19zZXNzaW9uUmVxdWVzdCIscGFyYW1zOlt7cGVlcklkOnRoaXMuY2xpZW50SWQscGVlck1ldGE6dGhpcy5jbGllbnRNZXRhLGNoYWluSWQ6dCYmdC5jaGFpbklkP3QuY2hhaW5JZDpudWxsfV19KTt0aGlzLmhhbmRzaGFrZUlkPWUuaWQsdGhpcy5oYW5kc2hha2VUb3BpYz1PYmplY3QoaS51dWlkKSgpLHRoaXMuX3NlbmRTZXNzaW9uUmVxdWVzdChlLCJTZXNzaW9uIHVwZGF0ZSByZWplY3RlZCIse3RvcGljOnRoaXMuaGFuZHNoYWtlVG9waWN9KSx0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6ImRpc3BsYXlfdXJpIixwYXJhbXM6W3RoaXMudXJpXX0pfWFwcHJvdmVTZXNzaW9uKHQpe2lmKHRoaXMuX2Nvbm5lY3RlZCl0aHJvdyBuZXcgRXJyb3IoIlNlc3Npb24gY3VycmVudGx5IGNvbm5lY3RlZCIpO3RoaXMuY2hhaW5JZD10LmNoYWluSWQsdGhpcy5hY2NvdW50cz10LmFjY291bnRzLHRoaXMubmV0d29ya0lkPXQubmV0d29ya0lkfHwwLHRoaXMucnBjVXJsPXQucnBjVXJsfHwiIjtjb25zdCBlPXthcHByb3ZlZDohMCxjaGFpbklkOnRoaXMuY2hhaW5JZCxuZXR3b3JrSWQ6dGhpcy5uZXR3b3JrSWQsYWNjb3VudHM6dGhpcy5hY2NvdW50cyxycGNVcmw6dGhpcy5ycGNVcmwscGVlcklkOnRoaXMuY2xpZW50SWQscGVlck1ldGE6dGhpcy5jbGllbnRNZXRhfSxyPXtpZDp0aGlzLmhhbmRzaGFrZUlkLGpzb25ycGM6IjIuMCIscmVzdWx0OmV9O3RoaXMuX3NlbmRSZXNwb25zZShyKSx0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5fc2V0U3RvcmFnZVNlc3Npb24oKSx0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6ImNvbm5lY3QiLHBhcmFtczpbe3BlZXJJZDp0aGlzLnBlZXJJZCxwZWVyTWV0YTp0aGlzLnBlZXJNZXRhLGNoYWluSWQ6dGhpcy5jaGFpbklkLGFjY291bnRzOnRoaXMuYWNjb3VudHN9XX0pfXJlamVjdFNlc3Npb24odCl7aWYodGhpcy5fY29ubmVjdGVkKXRocm93IG5ldyBFcnJvcigiU2Vzc2lvbiBjdXJyZW50bHkgY29ubmVjdGVkIik7Y29uc3QgZT10JiZ0Lm1lc3NhZ2U/dC5tZXNzYWdlOiJTZXNzaW9uIFJlamVjdGVkIixyPXRoaXMuX2Zvcm1hdFJlc3BvbnNlKHtpZDp0aGlzLmhhbmRzaGFrZUlkLGVycm9yOnttZXNzYWdlOmV9fSk7dGhpcy5fc2VuZFJlc3BvbnNlKHIpLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6ImRpc2Nvbm5lY3QiLHBhcmFtczpbe21lc3NhZ2U6ZX1dfSksdGhpcy5fcmVtb3ZlU3RvcmFnZVNlc3Npb24oKX11cGRhdGVTZXNzaW9uKHQpe2lmKCF0aGlzLl9jb25uZWN0ZWQpdGhyb3cgbmV3IEVycm9yKCJTZXNzaW9uIGN1cnJlbnRseSBkaXNjb25uZWN0ZWQiKTt0aGlzLmNoYWluSWQ9dC5jaGFpbklkLHRoaXMuYWNjb3VudHM9dC5hY2NvdW50cyx0aGlzLm5ldHdvcmtJZD10Lm5ldHdvcmtJZHx8MCx0aGlzLnJwY1VybD10LnJwY1VybHx8IiI7Y29uc3QgZT17YXBwcm92ZWQ6ITAsY2hhaW5JZDp0aGlzLmNoYWluSWQsbmV0d29ya0lkOnRoaXMubmV0d29ya0lkLGFjY291bnRzOnRoaXMuYWNjb3VudHMscnBjVXJsOnRoaXMucnBjVXJsfSxyPXRoaXMuX2Zvcm1hdFJlcXVlc3Qoe21ldGhvZDoid2Nfc2Vzc2lvblVwZGF0ZSIscGFyYW1zOltlXX0pO3RoaXMuX3NlbmRTZXNzaW9uUmVxdWVzdChyLCJTZXNzaW9uIHVwZGF0ZSByZWplY3RlZCIpLHRoaXMuX2V2ZW50TWFuYWdlci50cmlnZ2VyKHtldmVudDoic2Vzc2lvbl91cGRhdGUiLHBhcmFtczpbe2NoYWluSWQ6dGhpcy5jaGFpbklkLGFjY291bnRzOnRoaXMuYWNjb3VudHN9XX0pLHRoaXMuX21hbmFnZVN0b3JhZ2VTZXNzaW9uKCl9YXN5bmMga2lsbFNlc3Npb24odCl7Y29uc3QgZT10P3QubWVzc2FnZToiU2Vzc2lvbiBEaXNjb25uZWN0ZWQiLHI9dGhpcy5fZm9ybWF0UmVxdWVzdCh7bWV0aG9kOiJ3Y19zZXNzaW9uVXBkYXRlIixwYXJhbXM6W3thcHByb3ZlZDohMSxjaGFpbklkOm51bGwsbmV0d29ya0lkOm51bGwsYWNjb3VudHM6bnVsbH1dfSk7YXdhaXQgdGhpcy5fc2VuZFJlcXVlc3QociksdGhpcy5faGFuZGxlU2Vzc2lvbkRpc2Nvbm5lY3QoZSl9YXN5bmMgc2VuZFRyYW5zYWN0aW9uKHQpe2lmKCF0aGlzLl9jb25uZWN0ZWQpdGhyb3cgbmV3IEVycm9yKCJTZXNzaW9uIGN1cnJlbnRseSBkaXNjb25uZWN0ZWQiKTtjb25zdCBlPU9iamVjdChpLnBhcnNlVHJhbnNhY3Rpb25EYXRhKSh0KSxyPXRoaXMuX2Zvcm1hdFJlcXVlc3Qoe21ldGhvZDoiZXRoX3NlbmRUcmFuc2FjdGlvbiIscGFyYW1zOltlXX0pO3JldHVybiBhd2FpdCB0aGlzLl9zZW5kQ2FsbFJlcXVlc3Qocil9YXN5bmMgc2lnblRyYW5zYWN0aW9uKHQpe2lmKCF0aGlzLl9jb25uZWN0ZWQpdGhyb3cgbmV3IEVycm9yKCJTZXNzaW9uIGN1cnJlbnRseSBkaXNjb25uZWN0ZWQiKTtjb25zdCBlPU9iamVjdChpLnBhcnNlVHJhbnNhY3Rpb25EYXRhKSh0KSxyPXRoaXMuX2Zvcm1hdFJlcXVlc3Qoe21ldGhvZDoiZXRoX3NpZ25UcmFuc2FjdGlvbiIscGFyYW1zOltlXX0pO3JldHVybiBhd2FpdCB0aGlzLl9zZW5kQ2FsbFJlcXVlc3Qocil9YXN5bmMgc2lnbk1lc3NhZ2UodCl7aWYoIXRoaXMuX2Nvbm5lY3RlZCl0aHJvdyBuZXcgRXJyb3IoIlNlc3Npb24gY3VycmVudGx5IGRpc2Nvbm5lY3RlZCIpO2NvbnN0IGU9dGhpcy5fZm9ybWF0UmVxdWVzdCh7bWV0aG9kOiJldGhfc2lnbiIscGFyYW1zOnR9KTtyZXR1cm4gYXdhaXQgdGhpcy5fc2VuZENhbGxSZXF1ZXN0KGUpfWFzeW5jIHNpZ25QZXJzb25hbE1lc3NhZ2UodCl7aWYoIXRoaXMuX2Nvbm5lY3RlZCl0aHJvdyBuZXcgRXJyb3IoIlNlc3Npb24gY3VycmVudGx5IGRpc2Nvbm5lY3RlZCIpO3Q9T2JqZWN0KGkucGFyc2VQZXJzb25hbFNpZ24pKHQpO2NvbnN0IGU9dGhpcy5fZm9ybWF0UmVxdWVzdCh7bWV0aG9kOiJwZXJzb25hbF9zaWduIixwYXJhbXM6dH0pO3JldHVybiBhd2FpdCB0aGlzLl9zZW5kQ2FsbFJlcXVlc3QoZSl9YXN5bmMgc2lnblR5cGVkRGF0YSh0KXtpZighdGhpcy5fY29ubmVjdGVkKXRocm93IG5ldyBFcnJvcigiU2Vzc2lvbiBjdXJyZW50bHkgZGlzY29ubmVjdGVkIik7Y29uc3QgZT10aGlzLl9mb3JtYXRSZXF1ZXN0KHttZXRob2Q6ImV0aF9zaWduVHlwZWREYXRhIixwYXJhbXM6dH0pO3JldHVybiBhd2FpdCB0aGlzLl9zZW5kQ2FsbFJlcXVlc3QoZSl9YXN5bmMgdXBkYXRlQ2hhaW4odCl7aWYoIXRoaXMuX2Nvbm5lY3RlZCl0aHJvdyBuZXcgRXJyb3IoIlNlc3Npb24gY3VycmVudGx5IGRpc2Nvbm5lY3RlZCIpO2NvbnN0IGU9dGhpcy5fZm9ybWF0UmVxdWVzdCh7bWV0aG9kOiJ3YWxsZXRfdXBkYXRlQ2hhaW4iLHBhcmFtczpbdF19KTtyZXR1cm4gYXdhaXQgdGhpcy5fc2VuZENhbGxSZXF1ZXN0KGUpfXVuc2FmZVNlbmQodCxlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QodCxlKSx0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6ImNhbGxfcmVxdWVzdF9zZW50IixwYXJhbXM6W3tyZXF1ZXN0OnQsb3B0aW9uczplfV19KSxuZXcgUHJvbWlzZSgoZSxyKT0+e3RoaXMuX3N1YnNjcmliZVRvUmVzcG9uc2UodC5pZCwodCxuKT0+e2lmKHQpcih0KTtlbHNle2lmKCFuKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBKU09OIFJQQyByZXNwb25zZSIpO2Uobil9fSl9KX1hc3luYyBzZW5kQ3VzdG9tUmVxdWVzdCh0LGUpe2lmKCF0aGlzLl9jb25uZWN0ZWQpdGhyb3cgbmV3IEVycm9yKCJTZXNzaW9uIGN1cnJlbnRseSBkaXNjb25uZWN0ZWQiKTtzd2l0Y2godC5tZXRob2Qpe2Nhc2UiZXRoX2FjY291bnRzIjpyZXR1cm4gdGhpcy5hY2NvdW50cztjYXNlImV0aF9jaGFpbklkIjpyZXR1cm4gT2JqZWN0KGkuY29udmVydE51bWJlclRvSGV4KSh0aGlzLmNoYWluSWQpO2Nhc2UiZXRoX3NlbmRUcmFuc2FjdGlvbiI6Y2FzZSJldGhfc2lnblRyYW5zYWN0aW9uIjp0LnBhcmFtcyYmKHQucGFyYW1zWzBdPU9iamVjdChpLnBhcnNlVHJhbnNhY3Rpb25EYXRhKSh0LnBhcmFtc1swXSkpO2JyZWFrO2Nhc2UicGVyc29uYWxfc2lnbiI6dC5wYXJhbXMmJih0LnBhcmFtcz1PYmplY3QoaS5wYXJzZVBlcnNvbmFsU2lnbikodC5wYXJhbXMpKX1jb25zdCByPXRoaXMuX2Zvcm1hdFJlcXVlc3QodCk7cmV0dXJuIGF3YWl0IHRoaXMuX3NlbmRDYWxsUmVxdWVzdChyLGUpfWFwcHJvdmVSZXF1ZXN0KHQpe2lmKCFPYmplY3QoaS5pc0pzb25ScGNSZXNwb25zZVN1Y2Nlc3MpKHQpKXRocm93IG5ldyBFcnJvcignSlNPTi1SUEMgc3VjY2VzcyByZXNwb25zZSBtdXN0IGluY2x1ZGUgInJlc3VsdCIgZmllbGQnKTt7Y29uc3QgZT10aGlzLl9mb3JtYXRSZXNwb25zZSh0KTt0aGlzLl9zZW5kUmVzcG9uc2UoZSl9fXJlamVjdFJlcXVlc3QodCl7aWYoIU9iamVjdChpLmlzSnNvblJwY1Jlc3BvbnNlRXJyb3IpKHQpKXRocm93IG5ldyBFcnJvcignSlNPTi1SUEMgZXJyb3IgcmVzcG9uc2UgbXVzdCBpbmNsdWRlICJlcnJvciIgZmllbGQnKTt7Y29uc3QgZT10aGlzLl9mb3JtYXRSZXNwb25zZSh0KTt0aGlzLl9zZW5kUmVzcG9uc2UoZSl9fXRyYW5zcG9ydENsb3NlKCl7dGhpcy5fdHJhbnNwb3J0LmNsb3NlKCl9YXN5bmMgX3NlbmRSZXF1ZXN0KHQsZSl7Y29uc3Qgcj10aGlzLl9mb3JtYXRSZXF1ZXN0KHQpLG49YXdhaXQgdGhpcy5fZW5jcnlwdChyKSxvPXZvaWQgMCE9PShudWxsPT1lP3ZvaWQgMDplLnRvcGljKT9lLnRvcGljOnRoaXMucGVlcklkLHM9SlNPTi5zdHJpbmdpZnkobiksYT12b2lkIDAhPT0obnVsbD09ZT92b2lkIDA6ZS5mb3JjZVB1c2hOb3RpZmljYXRpb24pPyFlLmZvcmNlUHVzaE5vdGlmaWNhdGlvbjpPYmplY3QoaS5pc1NpbGVudFBheWxvYWQpKHIpO3RoaXMuX3RyYW5zcG9ydC5zZW5kKHMsbyxhKX1hc3luYyBfc2VuZFJlc3BvbnNlKHQpe2NvbnN0IGU9YXdhaXQgdGhpcy5fZW5jcnlwdCh0KSxyPXRoaXMucGVlcklkLG49SlNPTi5zdHJpbmdpZnkoZSk7dGhpcy5fdHJhbnNwb3J0LnNlbmQobixyLCEwKX1hc3luYyBfc2VuZFNlc3Npb25SZXF1ZXN0KHQsZSxyKXt0aGlzLl9zZW5kUmVxdWVzdCh0LHIpLHRoaXMuX3N1YnNjcmliZVRvU2Vzc2lvblJlc3BvbnNlKHQuaWQsZSl9X3NlbmRDYWxsUmVxdWVzdCh0LGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCh0LGUpLHRoaXMuX2V2ZW50TWFuYWdlci50cmlnZ2VyKHtldmVudDoiY2FsbF9yZXF1ZXN0X3NlbnQiLHBhcmFtczpbe3JlcXVlc3Q6dCxvcHRpb25zOmV9XX0pLHRoaXMuX3N1YnNjcmliZVRvQ2FsbFJlc3BvbnNlKHQuaWQpfV9mb3JtYXRSZXF1ZXN0KHQpe2lmKHZvaWQgMD09PXQubWV0aG9kKXRocm93IG5ldyBFcnJvcignSlNPTiBSUEMgcmVxdWVzdCBtdXN0IGhhdmUgdmFsaWQgIm1ldGhvZCIgdmFsdWUnKTtyZXR1cm57aWQ6dm9pZCAwPT09dC5pZD9PYmplY3QoaS5wYXlsb2FkSWQpKCk6dC5pZCxqc29ucnBjOiIyLjAiLG1ldGhvZDp0Lm1ldGhvZCxwYXJhbXM6dm9pZCAwPT09dC5wYXJhbXM/W106dC5wYXJhbXN9fV9mb3JtYXRSZXNwb25zZSh0KXtpZih2b2lkIDA9PT10LmlkKXRocm93IG5ldyBFcnJvcignSlNPTiBSUEMgcmVxdWVzdCBtdXN0IGhhdmUgdmFsaWQgImlkIiB2YWx1ZScpO2NvbnN0IGU9e2lkOnQuaWQsanNvbnJwYzoiMi4wIn07aWYoT2JqZWN0KGkuaXNKc29uUnBjUmVzcG9uc2VFcnJvcikodCkpe2NvbnN0IHI9T2JqZWN0KGkuZm9ybWF0UnBjRXJyb3IpKHQuZXJyb3IpO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx0KSx7ZXJyb3I6cn0pfWlmKE9iamVjdChpLmlzSnNvblJwY1Jlc3BvbnNlU3VjY2VzcykodCkpe3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSksdCl9dGhyb3cgbmV3IEVycm9yKCJKU09OIFJQQyByZXNwb25zZSBmb3JtYXQgaXMgaW52YWxpZCIpfV9oYW5kbGVTZXNzaW9uRGlzY29ubmVjdCh0KXtjb25zdCBlPXR8fCJTZXNzaW9uIERpc2Nvbm5lY3RlZCI7dGhpcy5fY29ubmVjdGVkfHwodGhpcy5fcXJjb2RlTW9kYWwmJnRoaXMuX3FyY29kZU1vZGFsLmNsb3NlKCksT2JqZWN0KGkucmVtb3ZlTG9jYWwpKGkubW9iaWxlTGlua0Nob2ljZUtleSkpLHRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX2Nvbm5lY3RlZD0hMSksdGhpcy5faGFuZHNoYWtlSWQmJih0aGlzLl9oYW5kc2hha2VJZD0wKSx0aGlzLl9oYW5kc2hha2VUb3BpYyYmKHRoaXMuX2hhbmRzaGFrZVRvcGljPSIiKSx0aGlzLl9wZWVySWQmJih0aGlzLl9wZWVySWQ9IiIpLHRoaXMuX2V2ZW50TWFuYWdlci50cmlnZ2VyKHtldmVudDoiZGlzY29ubmVjdCIscGFyYW1zOlt7bWVzc2FnZTplfV19KSx0aGlzLl9yZW1vdmVTdG9yYWdlU2Vzc2lvbigpLHRoaXMudHJhbnNwb3J0Q2xvc2UoKX1faGFuZGxlU2Vzc2lvblJlc3BvbnNlKHQsZSl7ZSYmZS5hcHByb3ZlZD8odGhpcy5fY29ubmVjdGVkPyhlLmNoYWluSWQmJih0aGlzLmNoYWluSWQ9ZS5jaGFpbklkKSxlLmFjY291bnRzJiYodGhpcy5hY2NvdW50cz1lLmFjY291bnRzKSx0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6InNlc3Npb25fdXBkYXRlIixwYXJhbXM6W3tjaGFpbklkOnRoaXMuY2hhaW5JZCxhY2NvdW50czp0aGlzLmFjY291bnRzfV19KSk6KHRoaXMuX2Nvbm5lY3RlZD0hMCxlLmNoYWluSWQmJih0aGlzLmNoYWluSWQ9ZS5jaGFpbklkKSxlLmFjY291bnRzJiYodGhpcy5hY2NvdW50cz1lLmFjY291bnRzKSxlLnBlZXJJZCYmIXRoaXMucGVlcklkJiYodGhpcy5wZWVySWQ9ZS5wZWVySWQpLGUucGVlck1ldGEmJiF0aGlzLnBlZXJNZXRhJiYodGhpcy5wZWVyTWV0YT1lLnBlZXJNZXRhKSx0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6ImNvbm5lY3QiLHBhcmFtczpbe3BlZXJJZDp0aGlzLnBlZXJJZCxwZWVyTWV0YTp0aGlzLnBlZXJNZXRhLGNoYWluSWQ6dGhpcy5jaGFpbklkLGFjY291bnRzOnRoaXMuYWNjb3VudHN9XX0pKSx0aGlzLl9tYW5hZ2VTdG9yYWdlU2Vzc2lvbigpKTp0aGlzLl9oYW5kbGVTZXNzaW9uRGlzY29ubmVjdCh0KX1hc3luYyBfaGFuZGxlSW5jb21pbmdNZXNzYWdlcyh0KXtpZighW3RoaXMuY2xpZW50SWQsdGhpcy5oYW5kc2hha2VUb3BpY10uaW5jbHVkZXModC50b3BpYykpcmV0dXJuO2xldCBlO3RyeXtlPUpTT04ucGFyc2UodC5wYXlsb2FkKX1jYXRjaCh0KXtyZXR1cm59Y29uc3Qgcj1hd2FpdCB0aGlzLl9kZWNyeXB0KGUpO3ImJnRoaXMuX2V2ZW50TWFuYWdlci50cmlnZ2VyKHIpfV9zdWJzY3JpYmVUb1Nlc3Npb25SZXF1ZXN0KCl7dGhpcy5fdHJhbnNwb3J0LnN1YnNjcmliZSh0aGlzLmhhbmRzaGFrZVRvcGljKX1fc3Vic2NyaWJlVG9SZXNwb25zZSh0LGUpe3RoaXMub24oInJlc3BvbnNlOiIrdCxlKX1fc3Vic2NyaWJlVG9TZXNzaW9uUmVzcG9uc2UodCxlKXt0aGlzLl9zdWJzY3JpYmVUb1Jlc3BvbnNlKHQsKHQscik9Pnt0P3RoaXMuX2hhbmRsZVNlc3Npb25SZXNwb25zZSh0Lm1lc3NhZ2UpOk9iamVjdChpLmlzSnNvblJwY1Jlc3BvbnNlU3VjY2Vzcykocik/dGhpcy5faGFuZGxlU2Vzc2lvblJlc3BvbnNlKGUsci5yZXN1bHQpOnIuZXJyb3ImJnIuZXJyb3IubWVzc2FnZT90aGlzLl9oYW5kbGVTZXNzaW9uUmVzcG9uc2Uoci5lcnJvci5tZXNzYWdlKTp0aGlzLl9oYW5kbGVTZXNzaW9uUmVzcG9uc2UoZSl9KX1fc3Vic2NyaWJlVG9DYWxsUmVzcG9uc2UodCl7cmV0dXJuIG5ldyBQcm9taXNlKChlLHIpPT57dGhpcy5fc3Vic2NyaWJlVG9SZXNwb25zZSh0LCh0LG4pPT57dD9yKHQpOk9iamVjdChpLmlzSnNvblJwY1Jlc3BvbnNlU3VjY2Vzcykobik/ZShuLnJlc3VsdCk6bi5lcnJvciYmbi5lcnJvci5tZXNzYWdlP3Iobi5lcnJvcik6cihuZXcgRXJyb3IoIkpTT04gUlBDIHJlc3BvbnNlIGZvcm1hdCBpcyBpbnZhbGlkIikpfSl9KX1fc3Vic2NyaWJlVG9JbnRlcm5hbEV2ZW50cygpe3RoaXMub24oImRpc3BsYXlfdXJpIiwoKT0+e3RoaXMuX3FyY29kZU1vZGFsJiZ0aGlzLl9xcmNvZGVNb2RhbC5vcGVuKHRoaXMudXJpLCgpPT57dGhpcy5fZXZlbnRNYW5hZ2VyLnRyaWdnZXIoe2V2ZW50OiJtb2RhbF9jbG9zZWQiLHBhcmFtczpbXX0pfSx0aGlzLl9xcmNvZGVNb2RhbE9wdGlvbnMpfSksdGhpcy5vbigiY29ubmVjdCIsKCk9Pnt0aGlzLl9xcmNvZGVNb2RhbCYmdGhpcy5fcXJjb2RlTW9kYWwuY2xvc2UoKX0pLHRoaXMub24oImNhbGxfcmVxdWVzdF9zZW50IiwodCxlKT0+e2NvbnN0e3JlcXVlc3Q6cn09ZS5wYXJhbXNbMF07aWYoT2JqZWN0KGkuaXNNb2JpbGUpKCkmJnRoaXMuX3NpZ25pbmdNZXRob2RzLmluY2x1ZGVzKHIubWV0aG9kKSl7Y29uc3QgdD1PYmplY3QoaS5nZXRMb2NhbCkoaS5tb2JpbGVMaW5rQ2hvaWNlS2V5KTt0JiYod2luZG93LmxvY2F0aW9uLmhyZWY9dC5ocmVmKX19KSx0aGlzLm9uKCJ3Y19zZXNzaW9uUmVxdWVzdCIsKHQsZSk9Pnt0JiZ0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6ImVycm9yIixwYXJhbXM6W3tjb2RlOiJTRVNTSU9OX1JFUVVFU1RfRVJST1IiLG1lc3NhZ2U6dC50b1N0cmluZygpfV19KSx0aGlzLmhhbmRzaGFrZUlkPWUuaWQsdGhpcy5wZWVySWQ9ZS5wYXJhbXNbMF0ucGVlcklkLHRoaXMucGVlck1ldGE9ZS5wYXJhbXNbMF0ucGVlck1ldGE7Y29uc3Qgcj1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse21ldGhvZDoic2Vzc2lvbl9yZXF1ZXN0In0pO3RoaXMuX2V2ZW50TWFuYWdlci50cmlnZ2VyKHIpfSksdGhpcy5vbigid2Nfc2Vzc2lvblVwZGF0ZSIsKHQsZSk9Pnt0JiZ0aGlzLl9oYW5kbGVTZXNzaW9uUmVzcG9uc2UodC5tZXNzYWdlKSx0aGlzLl9oYW5kbGVTZXNzaW9uUmVzcG9uc2UoIlNlc3Npb24gZGlzY29ubmVjdGVkIixlLnBhcmFtc1swXSl9KX1faW5pdFRyYW5zcG9ydCgpe3RoaXMuX3RyYW5zcG9ydC5vbigibWVzc2FnZSIsdD0+dGhpcy5faGFuZGxlSW5jb21pbmdNZXNzYWdlcyh0KSksdGhpcy5fdHJhbnNwb3J0Lm9uKCJvcGVuIiwoKT0+dGhpcy5fZXZlbnRNYW5hZ2VyLnRyaWdnZXIoe2V2ZW50OiJ0cmFuc3BvcnRfb3BlbiIscGFyYW1zOltdfSkpLHRoaXMuX3RyYW5zcG9ydC5vbigiY2xvc2UiLCgpPT50aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6InRyYW5zcG9ydF9jbG9zZSIscGFyYW1zOltdfSkpLHRoaXMuX3RyYW5zcG9ydC5vbigiZXJyb3IiLCgpPT50aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6InRyYW5zcG9ydF9lcnJvciIscGFyYW1zOlsiV2Vic29ja2V0IGNvbm5lY3Rpb24gZmFpbGVkIl19KSksdGhpcy5fdHJhbnNwb3J0Lm9wZW4oKX1fZm9ybWF0VXJpKCl7cmV0dXJuYCR7dGhpcy5wcm90b2NvbH06JHt0aGlzLmhhbmRzaGFrZVRvcGljfUAke3RoaXMudmVyc2lvbn0/YnJpZGdlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMuYnJpZGdlKX0ma2V5PSR7dGhpcy5rZXl9YH1fcGFyc2VVcmkodCl7Y29uc3QgZT1PYmplY3QoaS5wYXJzZVdhbGxldENvbm5lY3RVcmkpKHQpO2lmKGUucHJvdG9jb2w9PT10aGlzLnByb3RvY29sKXtpZighZS5oYW5kc2hha2VUb3BpYyl0aHJvdyBFcnJvcigiSW52YWxpZCBvciBtaXNzaW5nIGhhbmRzaGFrZVRvcGljIHBhcmFtZXRlciB2YWx1ZSIpO2NvbnN0IHQ9ZS5oYW5kc2hha2VUb3BpYztpZighZS5icmlkZ2UpdGhyb3cgRXJyb3IoIkludmFsaWQgb3IgbWlzc2luZyBicmlkZ2UgdXJsIHBhcmFtZXRlciB2YWx1ZSIpO2NvbnN0IHI9ZGVjb2RlVVJJQ29tcG9uZW50KGUuYnJpZGdlKTtpZighZS5rZXkpdGhyb3cgRXJyb3IoIkludmFsaWQgb3IgbWlzc2luZyBrZXkgcGFyYW1ldGVyIHZhbHVlIik7cmV0dXJue2hhbmRzaGFrZVRvcGljOnQsYnJpZGdlOnIsa2V5OmUua2V5fX10aHJvdyBuZXcgRXJyb3IoIlVSSSBmb3JtYXQgaXMgaW52YWxpZCIpfWFzeW5jIF9nZW5lcmF0ZUtleSgpe2lmKHRoaXMuX2NyeXB0b0xpYil7cmV0dXJuIGF3YWl0IHRoaXMuX2NyeXB0b0xpYi5nZW5lcmF0ZUtleSgpfXJldHVybiBudWxsfWFzeW5jIF9lbmNyeXB0KHQpe2NvbnN0IGU9dGhpcy5fa2V5O2lmKHRoaXMuX2NyeXB0b0xpYiYmZSl7cmV0dXJuIGF3YWl0IHRoaXMuX2NyeXB0b0xpYi5lbmNyeXB0KHQsZSl9cmV0dXJuIG51bGx9YXN5bmMgX2RlY3J5cHQodCl7Y29uc3QgZT10aGlzLl9rZXk7aWYodGhpcy5fY3J5cHRvTGliJiZlKXtyZXR1cm4gYXdhaXQgdGhpcy5fY3J5cHRvTGliLmRlY3J5cHQodCxlKX1yZXR1cm4gbnVsbH1fZ2V0U3RvcmFnZVNlc3Npb24oKXtsZXQgdD1udWxsO3JldHVybiB0aGlzLl9zZXNzaW9uU3RvcmFnZSYmKHQ9dGhpcy5fc2Vzc2lvblN0b3JhZ2UuZ2V0U2Vzc2lvbigpKSx0fV9zZXRTdG9yYWdlU2Vzc2lvbigpe3RoaXMuX3Nlc3Npb25TdG9yYWdlJiZ0aGlzLl9zZXNzaW9uU3RvcmFnZS5zZXRTZXNzaW9uKHRoaXMuc2Vzc2lvbil9X3JlbW92ZVN0b3JhZ2VTZXNzaW9uKCl7dGhpcy5fc2Vzc2lvblN0b3JhZ2UmJnRoaXMuX3Nlc3Npb25TdG9yYWdlLnJlbW92ZVNlc3Npb24oKX1fbWFuYWdlU3RvcmFnZVNlc3Npb24oKXt0aGlzLl9jb25uZWN0ZWQ/dGhpcy5fc2V0U3RvcmFnZVNlc3Npb24oKTp0aGlzLl9yZW1vdmVTdG9yYWdlU2Vzc2lvbigpfV9yZWdpc3RlclB1c2hTZXJ2ZXIodCl7aWYoIXQudXJsfHwic3RyaW5nIiE9dHlwZW9mIHQudXJsKXRocm93IEVycm9yKCJJbnZhbGlkIG9yIG1pc3NpbmcgcHVzaFNlcnZlck9wdHMudXJsIHBhcmFtZXRlciB2YWx1ZSIpO2lmKCF0LnR5cGV8fCJzdHJpbmciIT10eXBlb2YgdC50eXBlKXRocm93IEVycm9yKCJJbnZhbGlkIG9yIG1pc3NpbmcgcHVzaFNlcnZlck9wdHMudHlwZSBwYXJhbWV0ZXIgdmFsdWUiKTtpZighdC50b2tlbnx8InN0cmluZyIhPXR5cGVvZiB0LnRva2VuKXRocm93IEVycm9yKCJJbnZhbGlkIG9yIG1pc3NpbmcgcHVzaFNlcnZlck9wdHMudG9rZW4gcGFyYW1ldGVyIHZhbHVlIik7Y29uc3QgZT17YnJpZGdlOnRoaXMuYnJpZGdlLHRvcGljOnRoaXMuY2xpZW50SWQsdHlwZTp0LnR5cGUsdG9rZW46dC50b2tlbixwZWVyTmFtZToiIixsYW5ndWFnZTp0Lmxhbmd1YWdlfHwiIn07dGhpcy5vbigiY29ubmVjdCIsYXN5bmMocixuKT0+e2lmKHIpdGhyb3cgcjtpZih0LnBlZXJNZXRhKXtjb25zdCB0PW4ucGFyYW1zWzBdLnBlZXJNZXRhLm5hbWU7ZS5wZWVyTmFtZT10fXRyeXtjb25zdCByPWF3YWl0IGZldGNoKHQudXJsKyIvbmV3Iix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLCJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeShlKX0pO2lmKCEoYXdhaXQgci5qc29uKCkpLnN1Y2Nlc3MpdGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZWdpc3RlciBpbiBQdXNoIFNlcnZlciIpfWNhdGNoKHIpe3Rocm93IEVycm9yKCJGYWlsZWQgdG8gcmVnaXN0ZXIgaW4gUHVzaCBTZXJ2ZXIiKX19KX19LGg9cigzMyksbD1yKDApO2FzeW5jIGZ1bmN0aW9uIGQodCl7Y29uc3QgZT0odHx8MjU2KS84LHI9aC5yYW5kb21CeXRlcyhlKTtyZXR1cm4gT2JqZWN0KGkuY29udmVydEJ1ZmZlclRvQXJyYXlCdWZmZXIpKGwuYihyKSl9YXN5bmMgZnVuY3Rpb24gcCh0LGUpe2NvbnN0IHI9bC5uKHQuZGF0YSksbj1sLm4odC5pdiksaT1sLm4odC5obWFjKSxvPWwuYyhpLCExKSxzPWwuaihyLG4pLGE9YXdhaXQgaC5obWFjU2hhMjU2U2lnbihlLHMpLHU9bC5jKGEsITEpO3JldHVybiBsLngobyk9PT1sLngodSl9YXN5bmMgZnVuY3Rpb24gbSh0LGUscil7Y29uc3Qgbj1sLmYoT2JqZWN0KGkuY29udmVydEFycmF5QnVmZmVyVG9CdWZmZXIpKGUpKSxvPXJ8fGF3YWl0IGQoMTI4KSxzPWwuZihPYmplY3QoaS5jb252ZXJ0QXJyYXlCdWZmZXJUb0J1ZmZlcikobykpLGE9bC5jKHMsITEpLHU9SlNPTi5zdHJpbmdpZnkodCksYz1sLnoodSksZj1hd2FpdCBoLmFlc0NiY0VuY3J5cHQocyxuLGMpLHA9bC5jKGYsITEpLG09bC5qKGYscyksZz1hd2FpdCBoLmhtYWNTaGEyNTZTaWduKG4sbSk7cmV0dXJue2RhdGE6cCxobWFjOmwuYyhnLCExKSxpdjphfX1hc3luYyBmdW5jdGlvbiBnKHQsZSl7Y29uc3Qgcj1sLmYoT2JqZWN0KGkuY29udmVydEFycmF5QnVmZmVyVG9CdWZmZXIpKGUpKTtpZighcil0aHJvdyBuZXcgRXJyb3IoIk1pc3Npbmcga2V5OiByZXF1aXJlZCBmb3IgZGVjcnlwdGlvbiIpO2lmKCFhd2FpdCBwKHQscikpcmV0dXJuIG51bGw7Y29uc3Qgbj1sLm4odC5kYXRhKSxvPWwubih0Lml2KSxzPWF3YWl0IGguYWVzQ2JjRGVjcnlwdChvLHIsbiksYT1sLmUocyk7bGV0IHU7dHJ5e3U9SlNPTi5wYXJzZShhKX1jYXRjaCh0KXtyZXR1cm4gbnVsbH1yZXR1cm4gdX1lLmRlZmF1bHQ9Y2xhc3MgZXh0ZW5kcyBme2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoe2NyeXB0b0xpYjpuLGNvbm5lY3Rvck9wdHM6dCxwdXNoU2VydmVyT3B0czplfSl9fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLnIoZSk7ZnVuY3Rpb24gbih0LGUscixuKXtyZXR1cm4gbmV3KHJ8fChyPVByb21pc2UpKSgoZnVuY3Rpb24oaSxvKXtmdW5jdGlvbiBzKHQpe3RyeXt1KG4ubmV4dCh0KSl9Y2F0Y2godCl7byh0KX19ZnVuY3Rpb24gYSh0KXt0cnl7dShuLnRocm93KHQpKX1jYXRjaCh0KXtvKHQpfX1mdW5jdGlvbiB1KHQpe3ZhciBlO3QuZG9uZT9pKHQudmFsdWUpOihlPXQudmFsdWUsZSBpbnN0YW5jZW9mIHI/ZTpuZXcgcigoZnVuY3Rpb24odCl7dChlKX0pKSkudGhlbihzLGEpfXUoKG49bi5hcHBseSh0LGV8fFtdKSkubmV4dCgpKX0pKX1mdW5jdGlvbiBpKHQsZSl7dmFyIHIsbixpLG8scz17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZpWzBdKXRocm93IGlbMV07cmV0dXJuIGlbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gbz17bmV4dDphKDApLHRocm93OmEoMSkscmV0dXJuOmEoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihvW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLG87ZnVuY3Rpb24gYShvKXtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKG8pe2lmKHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7czspdHJ5e2lmKHI9MSxuJiYoaT0yJm9bMF0/bi5yZXR1cm46b1swXT9uLnRocm93fHwoKGk9bi5yZXR1cm4pJiZpLmNhbGwobiksMCk6bi5uZXh0KSYmIShpPWkuY2FsbChuLG9bMV0pKS5kb25lKXJldHVybiBpO3N3aXRjaChuPTAsaSYmKG89WzImb1swXSxpLnZhbHVlXSksb1swXSl7Y2FzZSAwOmNhc2UgMTppPW87YnJlYWs7Y2FzZSA0OnJldHVybiBzLmxhYmVsKysse3ZhbHVlOm9bMV0sZG9uZTohMX07Y2FzZSA1OnMubGFiZWwrKyxuPW9bMV0sbz1bMF07Y29udGludWU7Y2FzZSA3Om89cy5vcHMucG9wKCkscy50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShpPXMudHJ5cywoaT1pLmxlbmd0aD4wJiZpW2kubGVuZ3RoLTFdKXx8NiE9PW9bMF0mJjIhPT1vWzBdKSl7cz0wO2NvbnRpbnVlfWlmKDM9PT1vWzBdJiYoIWl8fG9bMV0+aVswXSYmb1sxXTxpWzNdKSl7cy5sYWJlbD1vWzFdO2JyZWFrfWlmKDY9PT1vWzBdJiZzLmxhYmVsPGlbMV0pe3MubGFiZWw9aVsxXSxpPW87YnJlYWt9aWYoaSYmcy5sYWJlbDxpWzJdKXtzLmxhYmVsPWlbMl0scy5vcHMucHVzaChvKTticmVha31pWzJdJiZzLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWV9bz1lLmNhbGwodCxzKX1jYXRjaCh0KXtvPVs2LHRdLG49MH1maW5hbGx5e3I9aT0wfWlmKDUmb1swXSl0aHJvdyBvWzFdO3JldHVybnt2YWx1ZTpvWzBdP29bMV06dm9pZCAwLGRvbmU6ITB9fShbbyxhXSl9fX1PYmplY3QuY3JlYXRlO09iamVjdC5jcmVhdGU7dmFyIG89ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe2lmKHRoaXMuX21heENvbmN1cnJlbmN5PXQsdGhpcy5fcXVldWU9W10sdDw9MCl0aHJvdyBuZXcgRXJyb3IoInNlbWFwaG9yZSBtdXN0IGJlIGluaXRpYWxpemVkIHRvIGEgcG9zaXRpdmUgdmFsdWUiKTt0aGlzLl92YWx1ZT10fXJldHVybiB0LnByb3RvdHlwZS5hY3F1aXJlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMuaXNMb2NrZWQoKSxyPW5ldyBQcm9taXNlKChmdW5jdGlvbihlKXtyZXR1cm4gdC5fcXVldWUucHVzaChlKX0pKTtyZXR1cm4gZXx8dGhpcy5fZGlzcGF0Y2goKSxyfSx0LnByb3RvdHlwZS5ydW5FeGNsdXNpdmU9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBlLHIsbjtyZXR1cm4gaSh0aGlzLChmdW5jdGlvbihpKXtzd2l0Y2goaS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuYWNxdWlyZSgpXTtjYXNlIDE6ZT1pLnNlbnQoKSxyPWVbMF0sbj1lWzFdLGkubGFiZWw9MjtjYXNlIDI6cmV0dXJuIGkudHJ5cy5wdXNoKFsyLCw0LDVdKSxbNCx0KHIpXTtjYXNlIDM6cmV0dXJuWzIsaS5zZW50KCldO2Nhc2UgNDpyZXR1cm4gbigpLFs3XTtjYXNlIDU6cmV0dXJuWzJdfX0pKX0pKX0sdC5wcm90b3R5cGUuaXNMb2NrZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdmFsdWU8PTB9LHQucHJvdG90eXBlLnJlbGVhc2U9ZnVuY3Rpb24oKXtpZih0aGlzLl9tYXhDb25jdXJyZW5jeT4xKXRocm93IG5ldyBFcnJvcigidGhpcyBtZXRob2QgaXMgdW5hdmFpbGFiZWwgb24gc2VtYXBob3JlcyB3aXRoIGNvbmN1cnJlbmN5ID4gMTsgdXNlIHRoZSBzY29wZWQgcmVsZWFzZSByZXR1cm5lZCBieSBhY3F1aXJlIGluc3RlYWQiKTtpZih0aGlzLl9jdXJyZW50UmVsZWFzZXIpe3ZhciB0PXRoaXMuX2N1cnJlbnRSZWxlYXNlcjt0aGlzLl9jdXJyZW50UmVsZWFzZXI9dm9pZCAwLHQoKX19LHQucHJvdG90eXBlLl9kaXNwYXRjaD1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl9xdWV1ZS5zaGlmdCgpO2lmKGUpe3ZhciByPSExO3RoaXMuX2N1cnJlbnRSZWxlYXNlcj1mdW5jdGlvbigpe3J8fChyPSEwLHQuX3ZhbHVlKyssdC5fZGlzcGF0Y2goKSl9LGUoW3RoaXMuX3ZhbHVlLS0sdGhpcy5fY3VycmVudFJlbGVhc2VyXSl9fSx0fSgpLHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dGhpcy5fc2VtYXBob3JlPW5ldyBvKDEpfXJldHVybiB0LnByb3RvdHlwZS5hY3F1aXJlPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciB0O3JldHVybiBpKHRoaXMsKGZ1bmN0aW9uKGUpe3N3aXRjaChlLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5fc2VtYXBob3JlLmFjcXVpcmUoKV07Y2FzZSAxOnJldHVybiB0PWUuc2VudCgpLFsyLHRbMV1dfX0pKX0pKX0sdC5wcm90b3R5cGUucnVuRXhjbHVzaXZlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9zZW1hcGhvcmUucnVuRXhjbHVzaXZlKChmdW5jdGlvbigpe3JldHVybiB0KCl9KSl9LHQucHJvdG90eXBlLmlzTG9ja2VkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NlbWFwaG9yZS5pc0xvY2tlZCgpfSx0LnByb3RvdHlwZS5yZWxlYXNlPWZ1bmN0aW9uKCl7dGhpcy5fc2VtYXBob3JlLnJlbGVhc2UoKX0sdH0oKTtmdW5jdGlvbiBhKHQsZSxyKXt2YXIgbz10aGlzO3JldHVybiB2b2lkIDA9PT1yJiYocj1uZXcgRXJyb3IoInRpbWVvdXQiKSkse2FjcXVpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHMsYSl7cmV0dXJuIG4obyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBuLG87cmV0dXJuIGkodGhpcywoZnVuY3Rpb24oaSl7c3dpdGNoKGkubGFiZWwpe2Nhc2UgMDpyZXR1cm4gbj0hMSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe249ITAsYShyKX0pLGUpLFs0LHQuYWNxdWlyZSgpXTtjYXNlIDE6cmV0dXJuIG89aS5zZW50KCksbj8oQXJyYXkuaXNBcnJheShvKT9vWzFdOm8pKCk6cyhvKSxbMl19fSkpfSkpfSkpfSxydW5FeGNsdXNpdmU6ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBlLHI7cmV0dXJuIGkodGhpcywoZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDplPWZ1bmN0aW9uKCl7fSxuLmxhYmVsPTE7Y2FzZSAxOnJldHVybiBuLnRyeXMucHVzaChbMSwsNyw4XSksWzQsdGhpcy5hY3F1aXJlKCldO2Nhc2UgMjpyZXR1cm4gcj1uLnNlbnQoKSxBcnJheS5pc0FycmF5KHIpPyhlPXJbMV0sWzQsdChyWzBdKV0pOlszLDRdO2Nhc2UgMzpyZXR1cm5bMixuLnNlbnQoKV07Y2FzZSA0OnJldHVybiBlPXIsWzQsdCgpXTtjYXNlIDU6cmV0dXJuWzIsbi5zZW50KCldO2Nhc2UgNjpyZXR1cm5bMyw4XTtjYXNlIDc6cmV0dXJuIGUoKSxbN107Y2FzZSA4OnJldHVyblsyXX19KSl9KSl9LHJlbGVhc2U6ZnVuY3Rpb24oKXt0LnJlbGVhc2UoKX0saXNMb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5pc0xvY2tlZCgpfX19ci5kKGUsIk11dGV4IiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxyLmQoZSwiU2VtYXBob3JlIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxyLmQoZSwid2l0aFRpbWVvdXQiLChmdW5jdGlvbigpe3JldHVybiBhfSkpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3IucihlKTt2YXIgbixpLG8scyxhLHUsYyxmPXt9LGg9W10sbD0vYWNpdHxleCg/OnN8Z3xufHB8JCl8cnBofGdyaWR8b3dzfG1uY3xudHd8aW5lW2NoXXx6b298Xm9yZC9pO2Z1bmN0aW9uIGQodCxlKXtmb3IodmFyIHIgaW4gZSl0W3JdPWVbcl07cmV0dXJuIHR9ZnVuY3Rpb24gcCh0KXt2YXIgZT10LnBhcmVudE5vZGU7ZSYmZS5yZW1vdmVDaGlsZCh0KX1mdW5jdGlvbiBtKHQsZSxyKXt2YXIgbixpPWFyZ3VtZW50cyxvPXt9O2ZvcihuIGluIGUpImtleSIhPT1uJiYicmVmIiE9PW4mJihvW25dPWVbbl0pO2lmKGFyZ3VtZW50cy5sZW5ndGg+Mylmb3Iocj1bcl0sbj0zO248YXJndW1lbnRzLmxlbmd0aDtuKyspci5wdXNoKGlbbl0pO2lmKG51bGwhPXImJihvLmNoaWxkcmVuPXIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0JiZudWxsIT10LmRlZmF1bHRQcm9wcylmb3IobiBpbiB0LmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1vW25dJiYob1tuXT10LmRlZmF1bHRQcm9wc1tuXSk7cmV0dXJuIGcodCxvLGUmJmUua2V5LGUmJmUucmVmLG51bGwpfWZ1bmN0aW9uIGcodCxlLHIsaSxvKXt2YXIgcz17dHlwZTp0LHByb3BzOmUsa2V5OnIscmVmOmksX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2Q6dm9pZCAwLF9fYzpudWxsLGNvbnN0cnVjdG9yOnZvaWQgMCxfX3Y6b307cmV0dXJuIG51bGw9PW8mJihzLl9fdj1zKSxuLnZub2RlJiZuLnZub2RlKHMpLHN9ZnVuY3Rpb24gYigpe3JldHVybnt9fWZ1bmN0aW9uIHkodCl7cmV0dXJuIHQuY2hpbGRyZW59ZnVuY3Rpb24gdih0LGUpe3RoaXMucHJvcHM9dCx0aGlzLmNvbnRleHQ9ZX1mdW5jdGlvbiBfKHQsZSl7aWYobnVsbD09ZSlyZXR1cm4gdC5fXz9fKHQuX18sdC5fXy5fX2suaW5kZXhPZih0KSsxKTpudWxsO2Zvcih2YXIgcjtlPHQuX19rLmxlbmd0aDtlKyspaWYobnVsbCE9KHI9dC5fX2tbZV0pJiZudWxsIT1yLl9fZSlyZXR1cm4gci5fX2U7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQudHlwZT9fKHQpOm51bGx9ZnVuY3Rpb24gdyh0KXt2YXIgZSxyO2lmKG51bGwhPSh0PXQuX18pJiZudWxsIT10Ll9fYyl7Zm9yKHQuX19lPXQuX19jLmJhc2U9bnVsbCxlPTA7ZTx0Ll9fay5sZW5ndGg7ZSsrKWlmKG51bGwhPShyPXQuX19rW2VdKSYmbnVsbCE9ci5fX2Upe3QuX19lPXQuX19jLmJhc2U9ci5fX2U7YnJlYWt9cmV0dXJuIHcodCl9fWZ1bmN0aW9uIE0odCl7KCF0Ll9fZCYmKHQuX19kPSEwKSYmaS5wdXNoKHQpJiYhbysrfHxhIT09bi5kZWJvdW5jZVJlbmRlcmluZykmJigoYT1uLmRlYm91bmNlUmVuZGVyaW5nKXx8cykoUyl9ZnVuY3Rpb24gUygpe2Zvcih2YXIgdDtvPWkubGVuZ3RoOyl0PWkuc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5fX3YuX19iLWUuX192Ll9fYn0pKSxpPVtdLHQuc29tZSgoZnVuY3Rpb24odCl7dmFyIGUscixuLGksbyxzLGE7dC5fX2QmJihzPShvPShlPXQpLl9fdikuX19lLChhPWUuX19QKSYmKHI9W10sKG49ZCh7fSxvKSkuX192PW4saT1UKGEsbyxuLGUuX19uLHZvaWQgMCE9PWEub3duZXJTVkdFbGVtZW50LG51bGwscixudWxsPT1zP18obyk6cyksTyhyLG8pLGkhPXMmJncobykpKX0pKX1mdW5jdGlvbiBFKHQsZSxyLG4saSxvLHMsYSx1KXt2YXIgYyxsLGQsbSxnLGIseSx2PXImJnIuX19rfHxoLHc9di5sZW5ndGg7aWYoYT09ZiYmKGE9bnVsbCE9bz9vWzBdOnc/XyhyLDApOm51bGwpLGM9MCxlLl9faz14KGUuX19rLChmdW5jdGlvbihyKXtpZihudWxsIT1yKXtpZihyLl9fPWUsci5fX2I9ZS5fX2IrMSxudWxsPT09KGQ9dltjXSl8fGQmJnIua2V5PT1kLmtleSYmci50eXBlPT09ZC50eXBlKXZbY109dm9pZCAwO2Vsc2UgZm9yKGw9MDtsPHc7bCsrKXtpZigoZD12W2xdKSYmci5rZXk9PWQua2V5JiZyLnR5cGU9PT1kLnR5cGUpe3ZbbF09dm9pZCAwO2JyZWFrfWQ9bnVsbH1pZihtPVQodCxyLGQ9ZHx8ZixuLGksbyxzLGEsdSksKGw9ci5yZWYpJiZkLnJlZiE9bCYmKHl8fCh5PVtdKSxkLnJlZiYmeS5wdXNoKGQucmVmLG51bGwscikseS5wdXNoKGwsci5fX2N8fG0scikpLG51bGwhPW0pe3ZhciBoO2lmKG51bGw9PWImJihiPW0pLHZvaWQgMCE9PXIuX19kKWg9ci5fX2Qsci5fX2Q9dm9pZCAwO2Vsc2UgaWYobz09ZHx8bSE9YXx8bnVsbD09bS5wYXJlbnROb2RlKXt0OmlmKG51bGw9PWF8fGEucGFyZW50Tm9kZSE9PXQpdC5hcHBlbmRDaGlsZChtKSxoPW51bGw7ZWxzZXtmb3IoZz1hLGw9MDsoZz1nLm5leHRTaWJsaW5nKSYmbDx3O2wrPTIpaWYoZz09bSlicmVhayB0O3QuaW5zZXJ0QmVmb3JlKG0sYSksaD1hfSJvcHRpb24iPT1lLnR5cGUmJih0LnZhbHVlPSIiKX1hPXZvaWQgMCE9PWg/aDptLm5leHRTaWJsaW5nLCJmdW5jdGlvbiI9PXR5cGVvZiBlLnR5cGUmJihlLl9fZD1hKX1lbHNlIGEmJmQuX19lPT1hJiZhLnBhcmVudE5vZGUhPXQmJihhPV8oZCkpfXJldHVybiBjKysscn0pKSxlLl9fZT1iLG51bGwhPW8mJiJmdW5jdGlvbiIhPXR5cGVvZiBlLnR5cGUpZm9yKGM9by5sZW5ndGg7Yy0tOyludWxsIT1vW2NdJiZwKG9bY10pO2ZvcihjPXc7Yy0tOyludWxsIT12W2NdJiZJKHZbY10sdltjXSk7aWYoeSlmb3IoYz0wO2M8eS5sZW5ndGg7YysrKVAoeVtjXSx5WysrY10seVsrK2NdKX1mdW5jdGlvbiB4KHQsZSxyKXtpZihudWxsPT1yJiYocj1bXSksbnVsbD09dHx8ImJvb2xlYW4iPT10eXBlb2YgdCllJiZyLnB1c2goZShudWxsKSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKWZvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXgodFtuXSxlLHIpO2Vsc2Ugci5wdXNoKGU/ZSgic3RyaW5nIj09dHlwZW9mIHR8fCJudW1iZXIiPT10eXBlb2YgdD9nKG51bGwsdCxudWxsLG51bGwsdCk6bnVsbCE9dC5fX2V8fG51bGwhPXQuX19jP2codC50eXBlLHQucHJvcHMsdC5rZXksbnVsbCx0Ll9fdik6dCk6dCk7cmV0dXJuIHJ9ZnVuY3Rpb24gayh0LGUscil7Ii0iPT09ZVswXT90LnNldFByb3BlcnR5KGUscik6dFtlXT0ibnVtYmVyIj09dHlwZW9mIHImJiExPT09bC50ZXN0KGUpP3IrInB4IjpudWxsPT1yPyIiOnJ9ZnVuY3Rpb24gQSh0LGUscixuLGkpe3ZhciBvLHMsYSx1LGM7aWYoaT8iY2xhc3NOYW1lIj09PWUmJihlPSJjbGFzcyIpOiJjbGFzcyI9PT1lJiYoZT0iY2xhc3NOYW1lIiksInN0eWxlIj09PWUpaWYobz10LnN0eWxlLCJzdHJpbmciPT10eXBlb2YgcilvLmNzc1RleHQ9cjtlbHNle2lmKCJzdHJpbmciPT10eXBlb2YgbiYmKG8uY3NzVGV4dD0iIixuPW51bGwpLG4pZm9yKHUgaW4gbilyJiZ1IGluIHJ8fGsobyx1LCIiKTtpZihyKWZvcihjIGluIHIpbiYmcltjXT09PW5bY118fGsobyxjLHJbY10pfWVsc2UibyI9PT1lWzBdJiYibiI9PT1lWzFdPyhzPWUhPT0oZT1lLnJlcGxhY2UoL0NhcHR1cmUkLywiIikpLGE9ZS50b0xvd2VyQ2FzZSgpLGU9KGEgaW4gdD9hOmUpLnNsaWNlKDIpLHI/KG58fHQuYWRkRXZlbnRMaXN0ZW5lcihlLFIscyksKHQubHx8KHQubD17fSkpW2VdPXIpOnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLFIscykpOiJsaXN0IiE9PWUmJiJ0YWdOYW1lIiE9PWUmJiJmb3JtIiE9PWUmJiJ0eXBlIiE9PWUmJiJzaXplIiE9PWUmJiFpJiZlIGluIHQ/dFtlXT1udWxsPT1yPyIiOnI6ImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJkYW5nZXJvdXNseVNldElubmVySFRNTCIhPT1lJiYoZSE9PShlPWUucmVwbGFjZSgvXnhsaW5rOj8vLCIiKSk/bnVsbD09cnx8ITE9PT1yP3QucmVtb3ZlQXR0cmlidXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLGUudG9Mb3dlckNhc2UoKSk6dC5zZXRBdHRyaWJ1dGVOUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsZS50b0xvd2VyQ2FzZSgpLHIpOm51bGw9PXJ8fCExPT09ciYmIS9eYXIvLnRlc3QoZSk/dC5yZW1vdmVBdHRyaWJ1dGUoZSk6dC5zZXRBdHRyaWJ1dGUoZSxyKSl9ZnVuY3Rpb24gUih0KXt0aGlzLmxbdC50eXBlXShuLmV2ZW50P24uZXZlbnQodCk6dCl9ZnVuY3Rpb24gVCh0LGUscixpLG8scyxhLHUsYyl7dmFyIGYsaCxsLHAsbSxnLGIsXyx3LE0sUz1lLnR5cGU7aWYodm9pZCAwIT09ZS5jb25zdHJ1Y3RvcilyZXR1cm4gbnVsbDsoZj1uLl9fYikmJmYoZSk7dHJ5e3Q6aWYoImZ1bmN0aW9uIj09dHlwZW9mIFMpe2lmKF89ZS5wcm9wcyx3PShmPVMuY29udGV4dFR5cGUpJiZpW2YuX19jXSxNPWY/dz93LnByb3BzLnZhbHVlOmYuX186aSxyLl9fYz9iPShoPWUuX19jPXIuX19jKS5fXz1oLl9fRTooInByb3RvdHlwZSJpbiBTJiZTLnByb3RvdHlwZS5yZW5kZXI/ZS5fX2M9aD1uZXcgUyhfLE0pOihlLl9fYz1oPW5ldyB2KF8sTSksaC5jb25zdHJ1Y3Rvcj1TLGgucmVuZGVyPUIpLHcmJncuc3ViKGgpLGgucHJvcHM9XyxoLnN0YXRlfHwoaC5zdGF0ZT17fSksaC5jb250ZXh0PU0saC5fX249aSxsPWguX19kPSEwLGguX19oPVtdKSxudWxsPT1oLl9fcyYmKGguX19zPWguc3RhdGUpLG51bGwhPVMuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzJiYoaC5fX3M9PWguc3RhdGUmJihoLl9fcz1kKHt9LGguX19zKSksZChoLl9fcyxTLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhfLGguX19zKSkpLHA9aC5wcm9wcyxtPWguc3RhdGUsbCludWxsPT1TLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyYmbnVsbCE9aC5jb21wb25lbnRXaWxsTW91bnQmJmguY29tcG9uZW50V2lsbE1vdW50KCksbnVsbCE9aC5jb21wb25lbnREaWRNb3VudCYmaC5fX2gucHVzaChoLmNvbXBvbmVudERpZE1vdW50KTtlbHNle2lmKG51bGw9PVMuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzJiZfIT09cCYmbnVsbCE9aC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZoLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoXyxNKSwhaC5fX2UmJm51bGwhPWguc2hvdWxkQ29tcG9uZW50VXBkYXRlJiYhMT09PWguc2hvdWxkQ29tcG9uZW50VXBkYXRlKF8saC5fX3MsTSl8fGUuX192PT09ci5fX3YmJiFoLl9fKXtmb3IoaC5wcm9wcz1fLGguc3RhdGU9aC5fX3MsZS5fX3YhPT1yLl9fdiYmKGguX19kPSExKSxoLl9fdj1lLGUuX19lPXIuX19lLGUuX19rPXIuX19rLGguX19oLmxlbmd0aCYmYS5wdXNoKGgpLGY9MDtmPGUuX19rLmxlbmd0aDtmKyspZS5fX2tbZl0mJihlLl9fa1tmXS5fXz1lKTticmVhayB0fW51bGwhPWguY29tcG9uZW50V2lsbFVwZGF0ZSYmaC5jb21wb25lbnRXaWxsVXBkYXRlKF8saC5fX3MsTSksbnVsbCE9aC5jb21wb25lbnREaWRVcGRhdGUmJmguX19oLnB1c2goKGZ1bmN0aW9uKCl7aC5jb21wb25lbnREaWRVcGRhdGUocCxtLGcpfSkpfWguY29udGV4dD1NLGgucHJvcHM9XyxoLnN0YXRlPWguX19zLChmPW4uX19yKSYmZihlKSxoLl9fZD0hMSxoLl9fdj1lLGguX19QPXQsZj1oLnJlbmRlcihoLnByb3BzLGguc3RhdGUsaC5jb250ZXh0KSxlLl9faz1udWxsIT1mJiZmLnR5cGU9PXkmJm51bGw9PWYua2V5P2YucHJvcHMuY2hpbGRyZW46QXJyYXkuaXNBcnJheShmKT9mOltmXSxudWxsIT1oLmdldENoaWxkQ29udGV4dCYmKGk9ZChkKHt9LGkpLGguZ2V0Q2hpbGRDb250ZXh0KCkpKSxsfHxudWxsPT1oLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHwoZz1oLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKHAsbSkpLEUodCxlLHIsaSxvLHMsYSx1LGMpLGguYmFzZT1lLl9fZSxoLl9faC5sZW5ndGgmJmEucHVzaChoKSxiJiYoaC5fX0U9aC5fXz1udWxsKSxoLl9fZT0hMX1lbHNlIG51bGw9PXMmJmUuX192PT09ci5fX3Y/KGUuX19rPXIuX19rLGUuX19lPXIuX19lKTplLl9fZT1DKHIuX19lLGUscixpLG8scyxhLGMpOyhmPW4uZGlmZmVkKSYmZihlKX1jYXRjaCh0KXtlLl9fdj1udWxsLG4uX19lKHQsZSxyKX1yZXR1cm4gZS5fX2V9ZnVuY3Rpb24gTyh0LGUpe24uX19jJiZuLl9fYyhlLHQpLHQuc29tZSgoZnVuY3Rpb24oZSl7dHJ5e3Q9ZS5fX2gsZS5fX2g9W10sdC5zb21lKChmdW5jdGlvbih0KXt0LmNhbGwoZSl9KSl9Y2F0Y2godCl7bi5fX2UodCxlLl9fdil9fSkpfWZ1bmN0aW9uIEModCxlLHIsbixpLG8scyxhKXt2YXIgdSxjLGwsZCxwLG09ci5wcm9wcyxnPWUucHJvcHM7aWYoaT0ic3ZnIj09PWUudHlwZXx8aSxudWxsIT1vKWZvcih1PTA7dTxvLmxlbmd0aDt1KyspaWYobnVsbCE9KGM9b1t1XSkmJigobnVsbD09PWUudHlwZT8zPT09Yy5ub2RlVHlwZTpjLmxvY2FsTmFtZT09PWUudHlwZSl8fHQ9PWMpKXt0PWMsb1t1XT1udWxsO2JyZWFrfWlmKG51bGw9PXQpe2lmKG51bGw9PT1lLnR5cGUpcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGcpO3Q9aT9kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixlLnR5cGUpOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZS50eXBlLGcuaXMmJntpczpnLmlzfSksbz1udWxsLGE9ITF9aWYobnVsbD09PWUudHlwZSltIT09ZyYmdC5kYXRhIT1nJiYodC5kYXRhPWcpO2Vsc2V7aWYobnVsbCE9byYmKG89aC5zbGljZS5jYWxsKHQuY2hpbGROb2RlcykpLGw9KG09ci5wcm9wc3x8ZikuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwsZD1nLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLCFhKXtpZihtPT09Zilmb3IobT17fSxwPTA7cDx0LmF0dHJpYnV0ZXMubGVuZ3RoO3ArKyltW3QuYXR0cmlidXRlc1twXS5uYW1lXT10LmF0dHJpYnV0ZXNbcF0udmFsdWU7KGR8fGwpJiYoZCYmbCYmZC5fX2h0bWw9PWwuX19odG1sfHwodC5pbm5lckhUTUw9ZCYmZC5fX2h0bWx8fCIiKSl9KGZ1bmN0aW9uKHQsZSxyLG4saSl7dmFyIG87Zm9yKG8gaW4gcikiY2hpbGRyZW4iPT09b3x8ImtleSI9PT1vfHxvIGluIGV8fEEodCxvLG51bGwscltvXSxuKTtmb3IobyBpbiBlKWkmJiJmdW5jdGlvbiIhPXR5cGVvZiBlW29dfHwiY2hpbGRyZW4iPT09b3x8ImtleSI9PT1vfHwidmFsdWUiPT09b3x8ImNoZWNrZWQiPT09b3x8cltvXT09PWVbb118fEEodCxvLGVbb10scltvXSxuKX0pKHQsZyxtLGksYSksZD9lLl9faz1bXTooZS5fX2s9ZS5wcm9wcy5jaGlsZHJlbixFKHQsZSxyLG4sImZvcmVpZ25PYmplY3QiIT09ZS50eXBlJiZpLG8scyxmLGEpKSxhfHwoInZhbHVlImluIGcmJnZvaWQgMCE9PSh1PWcudmFsdWUpJiZ1IT09dC52YWx1ZSYmQSh0LCJ2YWx1ZSIsdSxtLnZhbHVlLCExKSwiY2hlY2tlZCJpbiBnJiZ2b2lkIDAhPT0odT1nLmNoZWNrZWQpJiZ1IT09dC5jaGVja2VkJiZBKHQsImNoZWNrZWQiLHUsbS5jaGVja2VkLCExKSl9cmV0dXJuIHR9ZnVuY3Rpb24gUCh0LGUscil7dHJ5eyJmdW5jdGlvbiI9PXR5cGVvZiB0P3QoZSk6dC5jdXJyZW50PWV9Y2F0Y2godCl7bi5fX2UodCxyKX19ZnVuY3Rpb24gSSh0LGUscil7dmFyIGksbyxzO2lmKG4udW5tb3VudCYmbi51bm1vdW50KHQpLChpPXQucmVmKSYmKGkuY3VycmVudCYmaS5jdXJyZW50IT09dC5fX2V8fFAoaSxudWxsLGUpKSxyfHwiZnVuY3Rpb24iPT10eXBlb2YgdC50eXBlfHwocj1udWxsIT0obz10Ll9fZSkpLHQuX19lPXQuX19kPXZvaWQgMCxudWxsIT0oaT10Ll9fYykpe2lmKGkuY29tcG9uZW50V2lsbFVubW91bnQpdHJ5e2kuY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaCh0KXtuLl9fZSh0LGUpfWkuYmFzZT1pLl9fUD1udWxsfWlmKGk9dC5fX2spZm9yKHM9MDtzPGkubGVuZ3RoO3MrKylpW3NdJiZJKGlbc10sZSxyKTtudWxsIT1vJiZwKG8pfWZ1bmN0aW9uIEIodCxlLHIpe3JldHVybiB0aGlzLmNvbnN0cnVjdG9yKHQscil9ZnVuY3Rpb24gTCh0LGUscil7dmFyIGksbyxzO24uX18mJm4uX18odCxlKSxvPShpPXI9PT11KT9udWxsOnImJnIuX19rfHxlLl9fayx0PW0oeSxudWxsLFt0XSkscz1bXSxUKGUsKGk/ZTpyfHxlKS5fX2s9dCxvfHxmLGYsdm9pZCAwIT09ZS5vd25lclNWR0VsZW1lbnQsciYmIWk/W3JdOm8/bnVsbDpoLnNsaWNlLmNhbGwoZS5jaGlsZE5vZGVzKSxzLHJ8fGYsaSksTyhzLHQpfWZ1bmN0aW9uIGoodCxlKXtMKHQsZSx1KX1mdW5jdGlvbiBOKHQsZSl7dmFyIHIsbjtmb3IobiBpbiBlPWQoZCh7fSx0LnByb3BzKSxlKSxhcmd1bWVudHMubGVuZ3RoPjImJihlLmNoaWxkcmVuPWguc2xpY2UuY2FsbChhcmd1bWVudHMsMikpLHI9e30sZSkia2V5IiE9PW4mJiJyZWYiIT09biYmKHJbbl09ZVtuXSk7cmV0dXJuIGcodC50eXBlLHIsZS5rZXl8fHQua2V5LGUucmVmfHx0LnJlZixudWxsKX1mdW5jdGlvbiBxKHQpe3ZhciBlPXt9LHI9e19fYzoiX19jQyIrYysrLF9fOnQsQ29uc3VtZXI6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5jaGlsZHJlbihlKX0sUHJvdmlkZXI6ZnVuY3Rpb24odCl7dmFyIG4saT10aGlzO3JldHVybiB0aGlzLmdldENoaWxkQ29udGV4dHx8KG49W10sdGhpcy5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gZVtyLl9fY109aSxlfSx0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbih0KXtpLnByb3BzLnZhbHVlIT09dC52YWx1ZSYmbi5zb21lKChmdW5jdGlvbihlKXtlLmNvbnRleHQ9dC52YWx1ZSxNKGUpfSkpfSx0aGlzLnN1Yj1mdW5jdGlvbih0KXtuLnB1c2godCk7dmFyIGU9dC5jb21wb25lbnRXaWxsVW5tb3VudDt0LmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7bi5zcGxpY2Uobi5pbmRleE9mKHQpLDEpLGUmJmUuY2FsbCh0KX19KSx0LmNoaWxkcmVufX07cmV0dXJuIHIuQ29uc3VtZXIuY29udGV4dFR5cGU9cixyLlByb3ZpZGVyLl9fPXIscn1uPXtfX2U6ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIsbjtlPWUuX187KWlmKChyPWUuX19jKSYmIXIuX18pdHJ5e2lmKHIuY29uc3RydWN0b3ImJm51bGwhPXIuY29uc3RydWN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yJiYobj0hMCxyLnNldFN0YXRlKHIuY29uc3RydWN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKHQpKSksbnVsbCE9ci5jb21wb25lbnREaWRDYXRjaCYmKG49ITAsci5jb21wb25lbnREaWRDYXRjaCh0KSksbilyZXR1cm4gTShyLl9fRT1yKX1jYXRjaChlKXt0PWV9dGhyb3cgdH19LHYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKHQsZSl7dmFyIHI7cj10aGlzLl9fcyE9PXRoaXMuc3RhdGU/dGhpcy5fX3M6dGhpcy5fX3M9ZCh7fSx0aGlzLnN0YXRlKSwiZnVuY3Rpb24iPT10eXBlb2YgdCYmKHQ9dChyLHRoaXMucHJvcHMpKSx0JiZkKHIsdCksbnVsbCE9dCYmdGhpcy5fX3YmJihlJiZ0aGlzLl9faC5wdXNoKGUpLE0odGhpcykpfSx2LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbih0KXt0aGlzLl9fdiYmKHRoaXMuX19lPSEwLHQmJnRoaXMuX19oLnB1c2godCksTSh0aGlzKSl9LHYucHJvdG90eXBlLnJlbmRlcj15LGk9W10sbz0wLHM9ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2U/UHJvbWlzZS5wcm90b3R5cGUudGhlbi5iaW5kKFByb21pc2UucmVzb2x2ZSgpKTpzZXRUaW1lb3V0LHU9ZixjPTA7dmFyIFUsRCx6LEg9MCxGPVtdLFc9bi5fX3IsSz1uLmRpZmZlZCxWPW4uX19jLEo9bi51bm1vdW50O2Z1bmN0aW9uIFkodCxlKXtuLl9faCYmbi5fX2goRCx0LEh8fGUpLEg9MDt2YXIgcj1ELl9fSHx8KEQuX19IPXtfXzpbXSxfX2g6W119KTtyZXR1cm4gdD49ci5fXy5sZW5ndGgmJnIuX18ucHVzaCh7fSksci5fX1t0XX1mdW5jdGlvbiBHKHQpe3JldHVybiBIPTEsWihmdCx0KX1mdW5jdGlvbiBaKHQsZSxyKXt2YXIgbj1ZKFUrKywyKTtyZXR1cm4gbi5fX2N8fChuLl9fYz1ELG4uX189W3I/cihlKTpmdCh2b2lkIDAsZSksZnVuY3Rpb24oZSl7dmFyIHI9dChuLl9fWzBdLGUpO24uX19bMF0hPT1yJiYobi5fX1swXT1yLG4uX19jLnNldFN0YXRlKHt9KSl9XSksbi5fX31mdW5jdGlvbiAkKHQsZSl7dmFyIHI9WShVKyssMyk7IW4uX19zJiZjdChyLl9fSCxlKSYmKHIuX189dCxyLl9fSD1lLEQuX19ILl9faC5wdXNoKHIpKX1mdW5jdGlvbiBYKHQsZSl7dmFyIHI9WShVKyssNCk7IW4uX19zJiZjdChyLl9fSCxlKSYmKHIuX189dCxyLl9fSD1lLEQuX19oLnB1c2gocikpfWZ1bmN0aW9uIFEodCl7cmV0dXJuIEg9NSxldCgoZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDp0fX0pLFtdKX1mdW5jdGlvbiB0dCh0LGUscil7SD02LFgoKGZ1bmN0aW9uKCl7ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dChlKCkpOnQmJih0LmN1cnJlbnQ9ZSgpKX0pLG51bGw9PXI/cjpyLmNvbmNhdCh0KSl9ZnVuY3Rpb24gZXQodCxlKXt2YXIgcj1ZKFUrKyw3KTtyZXR1cm4gY3Qoci5fX0gsZSk/KHIuX19IPWUsci5fX2g9dCxyLl9fPXQoKSk6ci5fX31mdW5jdGlvbiBydCh0LGUpe3JldHVybiBIPTgsZXQoKGZ1bmN0aW9uKCl7cmV0dXJuIHR9KSxlKX1mdW5jdGlvbiBudCh0KXt2YXIgZT1ELmNvbnRleHRbdC5fX2NdLHI9WShVKyssOSk7cmV0dXJuIHIuX19jPXQsZT8obnVsbD09ci5fXyYmKHIuX189ITAsZS5zdWIoRCkpLGUucHJvcHMudmFsdWUpOnQuX199ZnVuY3Rpb24gaXQodCxlKXtuLnVzZURlYnVnVmFsdWUmJm4udXNlRGVidWdWYWx1ZShlP2UodCk6dCl9ZnVuY3Rpb24gb3QodCl7dmFyIGU9WShVKyssMTApLHI9RygpO3JldHVybiBlLl9fPXQsRC5jb21wb25lbnREaWRDYXRjaHx8KEQuY29tcG9uZW50RGlkQ2F0Y2g9ZnVuY3Rpb24odCl7ZS5fXyYmZS5fXyh0KSxyWzFdKHQpfSksW3JbMF0sZnVuY3Rpb24oKXtyWzFdKHZvaWQgMCl9XX1mdW5jdGlvbiBzdCgpe0Yuc29tZSgoZnVuY3Rpb24odCl7aWYodC5fX1ApdHJ5e3QuX19ILl9faC5mb3JFYWNoKGF0KSx0Ll9fSC5fX2guZm9yRWFjaCh1dCksdC5fX0guX19oPVtdfWNhdGNoKGUpe3JldHVybiB0Ll9fSC5fX2g9W10sbi5fX2UoZSx0Ll9fdiksITB9fSkpLEY9W119ZnVuY3Rpb24gYXQodCl7dC50JiZ0LnQoKX1mdW5jdGlvbiB1dCh0KXt2YXIgZT10Ll9fKCk7ImZ1bmN0aW9uIj09dHlwZW9mIGUmJih0LnQ9ZSl9ZnVuY3Rpb24gY3QodCxlKXtyZXR1cm4hdHx8ZS5zb21lKChmdW5jdGlvbihlLHIpe3JldHVybiBlIT09dFtyXX0pKX1mdW5jdGlvbiBmdCh0LGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6ZX1mdW5jdGlvbiBodCh0LGUpe2Zvcih2YXIgciBpbiBlKXRbcl09ZVtyXTtyZXR1cm4gdH1mdW5jdGlvbiBsdCh0LGUpe2Zvcih2YXIgciBpbiB0KWlmKCJfX3NvdXJjZSIhPT1yJiYhKHIgaW4gZSkpcmV0dXJuITA7Zm9yKHZhciBuIGluIGUpaWYoIl9fc291cmNlIiE9PW4mJnRbbl0hPT1lW25dKXJldHVybiEwO3JldHVybiExfW4uX19yPWZ1bmN0aW9uKHQpe1cmJlcodCksVT0wLChEPXQuX19jKS5fX0gmJihELl9fSC5fX2guZm9yRWFjaChhdCksRC5fX0guX19oLmZvckVhY2godXQpLEQuX19ILl9faD1bXSl9LG4uZGlmZmVkPWZ1bmN0aW9uKHQpe0smJksodCk7dmFyIGU9dC5fX2M7aWYoZSl7dmFyIHI9ZS5fX0g7ciYmci5fX2gubGVuZ3RoJiYoMSE9PUYucHVzaChlKSYmej09PW4ucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHwoKHo9bi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHxmdW5jdGlvbih0KXt2YXIgZSxyPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KG4pLGNhbmNlbEFuaW1hdGlvbkZyYW1lKGUpLHNldFRpbWVvdXQodCl9LG49c2V0VGltZW91dChyLDEwMCk7InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJihlPXJlcXVlc3RBbmltYXRpb25GcmFtZShyKSl9KShzdCkpfX0sbi5fX2M9ZnVuY3Rpb24odCxlKXtlLnNvbWUoKGZ1bmN0aW9uKHQpe3RyeXt0Ll9faC5mb3JFYWNoKGF0KSx0Ll9faD10Ll9faC5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiF0Ll9ffHx1dCh0KX0pKX1jYXRjaChyKXtlLnNvbWUoKGZ1bmN0aW9uKHQpe3QuX19oJiYodC5fX2g9W10pfSkpLGU9W10sbi5fX2Uocix0Ll9fdil9fSkpLFYmJlYodCxlKX0sbi51bm1vdW50PWZ1bmN0aW9uKHQpe0omJkoodCk7dmFyIGU9dC5fX2M7aWYoZSl7dmFyIHI9ZS5fX0g7aWYocil0cnl7ci5fXy5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC50JiZ0LnQoKX0pKX1jYXRjaCh0KXtuLl9fZSh0LGUuX192KX19fSxyLmQoZSwidmVyc2lvbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIE50fSkpLHIuZChlLCJDaGlsZHJlbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHl0fSkpLHIuZChlLCJyZW5kZXIiLChmdW5jdGlvbigpe3JldHVybiBDdH0pKSxyLmQoZSwiaHlkcmF0ZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIFB0fSkpLHIuZChlLCJ1bm1vdW50Q29tcG9uZW50QXROb2RlIiwoZnVuY3Rpb24oKXtyZXR1cm4genR9KSksci5kKGUsImNyZWF0ZVBvcnRhbCIsKGZ1bmN0aW9uKCl7cmV0dXJuIFJ0fSkpLHIuZChlLCJjcmVhdGVGYWN0b3J5IiwoZnVuY3Rpb24oKXtyZXR1cm4gcXR9KSksci5kKGUsImNsb25lRWxlbWVudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIER0fSkpLHIuZChlLCJpc1ZhbGlkRWxlbWVudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIFV0fSkpLHIuZChlLCJmaW5kRE9NTm9kZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIEh0fSkpLHIuZChlLCJQdXJlQ29tcG9uZW50IiwoZnVuY3Rpb24oKXtyZXR1cm4gZHR9KSksci5kKGUsIm1lbW8iLChmdW5jdGlvbigpe3JldHVybiBwdH0pKSxyLmQoZSwiZm9yd2FyZFJlZiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGd0fSkpLHIuZChlLCJ1bnN0YWJsZV9iYXRjaGVkVXBkYXRlcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIEZ0fSkpLHIuZChlLCJTdXNwZW5zZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHd0fSkpLHIuZChlLCJTdXNwZW5zZUxpc3QiLChmdW5jdGlvbigpe3JldHVybiBFdH0pKSxyLmQoZSwibGF6eSIsKGZ1bmN0aW9uKCl7cmV0dXJuIFN0fSkpLHIuZChlLCJ1c2VTdGF0ZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIEd9KSksci5kKGUsInVzZVJlZHVjZXIiLChmdW5jdGlvbigpe3JldHVybiBafSkpLHIuZChlLCJ1c2VFZmZlY3QiLChmdW5jdGlvbigpe3JldHVybiAkfSkpLHIuZChlLCJ1c2VMYXlvdXRFZmZlY3QiLChmdW5jdGlvbigpe3JldHVybiBYfSkpLHIuZChlLCJ1c2VSZWYiLChmdW5jdGlvbigpe3JldHVybiBRfSkpLHIuZChlLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwoZnVuY3Rpb24oKXtyZXR1cm4gdHR9KSksci5kKGUsInVzZU1lbW8iLChmdW5jdGlvbigpe3JldHVybiBldH0pKSxyLmQoZSwidXNlQ2FsbGJhY2siLChmdW5jdGlvbigpe3JldHVybiBydH0pKSxyLmQoZSwidXNlQ29udGV4dCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG50fSkpLHIuZChlLCJ1c2VEZWJ1Z1ZhbHVlIiwoZnVuY3Rpb24oKXtyZXR1cm4gaXR9KSksci5kKGUsInVzZUVycm9yQm91bmRhcnkiLChmdW5jdGlvbigpe3JldHVybiBvdH0pKSxyLmQoZSwiY3JlYXRlRWxlbWVudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG19KSksci5kKGUsImNyZWF0ZUNvbnRleHQiLChmdW5jdGlvbigpe3JldHVybiBxfSkpLHIuZChlLCJjcmVhdGVSZWYiLChmdW5jdGlvbigpe3JldHVybiBifSkpLHIuZChlLCJGcmFnbWVudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHl9KSksci5kKGUsIkNvbXBvbmVudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHZ9KSk7dmFyIGR0PWZ1bmN0aW9uKHQpe3ZhciBlLHI7ZnVuY3Rpb24gbihlKXt2YXIgcjtyZXR1cm4ocj10LmNhbGwodGhpcyxlKXx8dGhpcykuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITAscn1yZXR1cm4gcj10LChlPW4pLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHIucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUuX19wcm90b19fPXIsbi5wcm90b3R5cGUuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGx0KHRoaXMucHJvcHMsdCl8fGx0KHRoaXMuc3RhdGUsZSl9LG59KHYpO2Z1bmN0aW9uIHB0KHQsZSl7ZnVuY3Rpb24gcih0KXt2YXIgcj10aGlzLnByb3BzLnJlZixuPXI9PXQucmVmO3JldHVybiFuJiZyJiYoci5jYWxsP3IobnVsbCk6ci5jdXJyZW50PW51bGwpLGU/IWUodGhpcy5wcm9wcyx0KXx8IW46bHQodGhpcy5wcm9wcyx0KX1mdW5jdGlvbiBuKGUpe3JldHVybiB0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1yLG0odCxodCh7fSxlKSl9cmV0dXJuIG4ucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ITAsbi5kaXNwbGF5TmFtZT0iTWVtbygiKyh0LmRpc3BsYXlOYW1lfHx0Lm5hbWUpKyIpIixuLnQ9ITAsbn12YXIgbXQ9bi5fX2I7ZnVuY3Rpb24gZ3QodCl7ZnVuY3Rpb24gZShlKXt2YXIgcj1odCh7fSxlKTtyZXR1cm4gZGVsZXRlIHIucmVmLHQocixlLnJlZil9cmV0dXJuIGUucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ZS50PSEwLGUuZGlzcGxheU5hbWU9IkZvcndhcmRSZWYoIisodC5kaXNwbGF5TmFtZXx8dC5uYW1lKSsiKSIsZX1uLl9fYj1mdW5jdGlvbih0KXt0LnR5cGUmJnQudHlwZS50JiZ0LnJlZiYmKHQucHJvcHMucmVmPXQucmVmLHQucmVmPW51bGwpLG10JiZtdCh0KX07dmFyIGJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ/eCh0KS5yZWR1Y2UoKGZ1bmN0aW9uKHQscixuKXtyZXR1cm4gdC5jb25jYXQoZShyLG4pKX0pLFtdKTpudWxsfSx5dD17bWFwOmJ0LGZvckVhY2g6YnQsY291bnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHQ/eCh0KS5sZW5ndGg6MH0sb25seTpmdW5jdGlvbih0KXtpZigxIT09KHQ9eCh0KSkubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2hpbGRyZW4ub25seSgpIGV4cGVjdHMgb25seSBvbmUgY2hpbGQuIik7cmV0dXJuIHRbMF19LHRvQXJyYXk6eH0sdnQ9bi5fX2U7ZnVuY3Rpb24gX3QodCl7cmV0dXJuIHQmJigodD1odCh7fSx0KSkuX19jPW51bGwsdC5fX2s9dC5fX2smJnQuX19rLm1hcChfdCkpLHR9ZnVuY3Rpb24gd3QoKXt0aGlzLl9fdT0wLHRoaXMubz1udWxsLHRoaXMuX19iPW51bGx9ZnVuY3Rpb24gTXQodCl7dmFyIGU9dC5fXy5fX2M7cmV0dXJuIGUmJmUudSYmZS51KHQpfWZ1bmN0aW9uIFN0KHQpe3ZhciBlLHIsbjtmdW5jdGlvbiBpKGkpe2lmKGV8fChlPXQoKSkudGhlbigoZnVuY3Rpb24odCl7cj10LmRlZmF1bHR8fHR9KSwoZnVuY3Rpb24odCl7bj10fSkpLG4pdGhyb3cgbjtpZighcil0aHJvdyBlO3JldHVybiBtKHIsaSl9cmV0dXJuIGkuZGlzcGxheU5hbWU9IkxhenkiLGkudD0hMCxpfWZ1bmN0aW9uIEV0KCl7dGhpcy5pPW51bGwsdGhpcy5sPW51bGx9bi5fX2U9ZnVuY3Rpb24odCxlLHIpe2lmKHQudGhlbilmb3IodmFyIG4saT1lO2k9aS5fXzspaWYoKG49aS5fX2MpJiZuLl9fYylyZXR1cm4gbi5fX2ModCxlLl9fYyk7dnQodCxlLHIpfSwod3QucHJvdG90eXBlPW5ldyB2KS5fX2M9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzO251bGw9PXIubyYmKHIubz1bXSksci5vLnB1c2goZSk7dmFyIG49TXQoci5fX3YpLGk9ITEsbz1mdW5jdGlvbigpe2l8fChpPSEwLG4/bihzKTpzKCkpfTtlLl9fYz1lLmNvbXBvbmVudFdpbGxVbm1vdW50LGUuY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXtvKCksZS5fX2MmJmUuX19jKCl9O3ZhciBzPWZ1bmN0aW9uKCl7dmFyIHQ7aWYoIS0tci5fX3UpZm9yKHIuX192Ll9fa1swXT1yLnN0YXRlLnUsci5zZXRTdGF0ZSh7dTpyLl9fYj1udWxsfSk7dD1yLm8ucG9wKCk7KXQuZm9yY2VVcGRhdGUoKX07ci5fX3UrK3x8ci5zZXRTdGF0ZSh7dTpyLl9fYj1yLl9fdi5fX2tbMF19KSx0LnRoZW4obyxvKX0sd3QucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9fYiYmKHRoaXMuX192Ll9fa1swXT1fdCh0aGlzLl9fYiksdGhpcy5fX2I9bnVsbCksW20odixudWxsLGUudT9udWxsOnQuY2hpbGRyZW4pLGUudSYmdC5mYWxsYmFja119O3ZhciB4dD1mdW5jdGlvbih0LGUscil7aWYoKytyWzFdPT09clswXSYmdC5sLmRlbGV0ZShlKSx0LnByb3BzLnJldmVhbE9yZGVyJiYoInQiIT09dC5wcm9wcy5yZXZlYWxPcmRlclswXXx8IXQubC5zaXplKSlmb3Iocj10Lmk7cjspe2Zvcig7ci5sZW5ndGg+Mzspci5wb3AoKSgpO2lmKHJbMV08clswXSlicmVhazt0Lmk9cj1yWzJdfX07KEV0LnByb3RvdHlwZT1uZXcgdikudT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLHI9TXQoZS5fX3YpLG49ZS5sLmdldCh0KTtyZXR1cm4gblswXSsrLGZ1bmN0aW9uKGkpe3ZhciBvPWZ1bmN0aW9uKCl7ZS5wcm9wcy5yZXZlYWxPcmRlcj8obi5wdXNoKGkpLHh0KGUsdCxuKSk6aSgpfTtyP3Iobyk6bygpfX0sRXQucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbih0KXt0aGlzLmk9bnVsbCx0aGlzLmw9bmV3IE1hcDt2YXIgZT14KHQuY2hpbGRyZW4pO3QucmV2ZWFsT3JkZXImJiJiIj09PXQucmV2ZWFsT3JkZXJbMF0mJmUucmV2ZXJzZSgpO2Zvcih2YXIgcj1lLmxlbmd0aDtyLS07KXRoaXMubC5zZXQoZVtyXSx0aGlzLmk9WzEsMCx0aGlzLmldKTtyZXR1cm4gdC5jaGlsZHJlbn0sRXQucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZT1FdC5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3QubC5mb3JFYWNoKChmdW5jdGlvbihlLHIpe3h0KHQscixlKX0pKX07dmFyIGt0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe312YXIgZT10LnByb3RvdHlwZTtyZXR1cm4gZS5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcm9wcy5jb250ZXh0fSxlLnJlbmRlcj1mdW5jdGlvbih0KXtyZXR1cm4gdC5jaGlsZHJlbn0sdH0oKTtmdW5jdGlvbiBBdCh0KXt2YXIgZT10aGlzLHI9dC5jb250YWluZXIsbj1tKGt0LHtjb250ZXh0OmUuY29udGV4dH0sdC52bm9kZSk7cmV0dXJuIGUucyYmZS5zIT09ciYmKGUudi5wYXJlbnROb2RlJiZlLnMucmVtb3ZlQ2hpbGQoZS52KSxJKGUuaCksZS5wPSExKSx0LnZub2RlP2UucD8oci5fX2s9ZS5fX2ssTChuLHIpLGUuX19rPXIuX19rKTooZS52PWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKSxqKCIiLHIpLHIuYXBwZW5kQ2hpbGQoZS52KSxlLnA9ITAsZS5zPXIsTChuLHIsZS52KSxlLl9faz1lLnYuX19rKTplLnAmJihlLnYucGFyZW50Tm9kZSYmZS5zLnJlbW92ZUNoaWxkKGUudiksSShlLmgpKSxlLmg9bixlLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7ZS52LnBhcmVudE5vZGUmJmUucy5yZW1vdmVDaGlsZChlLnYpLEkoZS5oKX0sbnVsbH1mdW5jdGlvbiBSdCh0LGUpe3JldHVybiBtKEF0LHt2bm9kZTp0LGNvbnRhaW5lcjplfSl9dmFyIFR0PS9eKD86YWNjZW50fGFsaWdubWVudHxhcmFiaWN8YmFzZWxpbmV8Y2FwfGNsaXAoPyFQYXRoVSl8Y29sb3J8ZmlsbHxmbG9vZHxmb250fGdseXBoKD8hUil8aG9yaXp8bWFya2VyKD8hSHxXfFUpfG92ZXJsaW5lfHBhaW50fHN0b3B8c3RyaWtldGhyb3VnaHxzdHJva2V8dGV4dCg/IUwpfHVuZGVybGluZXx1bmljb2RlfHVuaXRzfHZ8dmVjdG9yfHZlcnR8d29yZHx3cml0aW5nfHgoPyFDKSlbQS1aXS87di5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fTt2YXIgT3Q9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5mb3ImJlN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKXx8NjAxMDM7ZnVuY3Rpb24gQ3QodCxlLHIpe2lmKG51bGw9PWUuX19rKWZvcig7ZS5maXJzdENoaWxkOyllLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7cmV0dXJuIEwodCxlKSwiZnVuY3Rpb24iPT10eXBlb2YgciYmcigpLHQ/dC5fX2M6bnVsbH1mdW5jdGlvbiBQdCh0LGUscil7cmV0dXJuIGoodCxlKSwiZnVuY3Rpb24iPT10eXBlb2YgciYmcigpLHQ/dC5fX2M6bnVsbH12YXIgSXQ9bi5ldmVudDtmdW5jdGlvbiBCdCh0LGUpe3RbIlVOU0FGRV8iK2VdJiYhdFtlXSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7Y29uZmlndXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzWyJVTlNBRkVfIitlXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXNbIlVOU0FGRV8iK2VdPXR9fSl9bi5ldmVudD1mdW5jdGlvbih0KXtJdCYmKHQ9SXQodCkpLHQucGVyc2lzdD1mdW5jdGlvbigpe307dmFyIGU9ITEscj0hMSxuPXQuc3RvcFByb3BhZ2F0aW9uO3Quc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7bi5jYWxsKHQpLGU9ITB9O3ZhciBpPXQucHJldmVudERlZmF1bHQ7cmV0dXJuIHQucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtpLmNhbGwodCkscj0hMH0sdC5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1mdW5jdGlvbigpe3JldHVybiBlfSx0LmlzRGVmYXVsdFByZXZlbnRlZD1mdW5jdGlvbigpe3JldHVybiByfSx0Lm5hdGl2ZUV2ZW50PXR9O3ZhciBMdD17Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsYXNzfX0sanQ9bi52bm9kZTtuLnZub2RlPWZ1bmN0aW9uKHQpe3QuJCR0eXBlb2Y9T3Q7dmFyIGU9dC50eXBlLHI9dC5wcm9wcztpZihlKXtpZihyLmNsYXNzIT1yLmNsYXNzTmFtZSYmKEx0LmVudW1lcmFibGU9ImNsYXNzTmFtZSJpbiByLG51bGwhPXIuY2xhc3NOYW1lJiYoci5jbGFzcz1yLmNsYXNzTmFtZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNsYXNzTmFtZSIsTHQpKSwiZnVuY3Rpb24iIT10eXBlb2YgZSl7dmFyIG4saSxvO2ZvcihvIGluIHIuZGVmYXVsdFZhbHVlJiZ2b2lkIDAhPT1yLnZhbHVlJiYoci52YWx1ZXx8MD09PXIudmFsdWV8fChyLnZhbHVlPXIuZGVmYXVsdFZhbHVlKSxkZWxldGUgci5kZWZhdWx0VmFsdWUpLEFycmF5LmlzQXJyYXkoci52YWx1ZSkmJnIubXVsdGlwbGUmJiJzZWxlY3QiPT09ZSYmKHgoci5jaGlsZHJlbikuZm9yRWFjaCgoZnVuY3Rpb24odCl7LTEhPXIudmFsdWUuaW5kZXhPZih0LnByb3BzLnZhbHVlKSYmKHQucHJvcHMuc2VsZWN0ZWQ9ITApfSkpLGRlbGV0ZSByLnZhbHVlKSxyKWlmKG49VHQudGVzdChvKSlicmVhaztpZihuKWZvcihvIGluIGk9dC5wcm9wcz17fSxyKWlbVHQudGVzdChvKT9vLnJlcGxhY2UoL1tBLVowLTldLywiLSQmIikudG9Mb3dlckNhc2UoKTpvXT1yW29dfSFmdW5jdGlvbihlKXt2YXIgcj10LnR5cGUsbj10LnByb3BzO2lmKG4mJiJzdHJpbmciPT10eXBlb2Ygcil7dmFyIGk9e307Zm9yKHZhciBvIGluIG4pL15vbihBbml8VHJhfFRvdSkvLnRlc3QobykmJihuW28udG9Mb3dlckNhc2UoKV09bltvXSxkZWxldGUgbltvXSksaVtvLnRvTG93ZXJDYXNlKCldPW87aWYoaS5vbmRvdWJsZWNsaWNrJiYobi5vbmRibGNsaWNrPW5baS5vbmRvdWJsZWNsaWNrXSxkZWxldGUgbltpLm9uZG91YmxlY2xpY2tdKSxpLm9uYmVmb3JlaW5wdXQmJihuLm9uYmVmb3JlaW5wdXQ9bltpLm9uYmVmb3JlaW5wdXRdLGRlbGV0ZSBuW2kub25iZWZvcmVpbnB1dF0pLGkub25jaGFuZ2UmJigidGV4dGFyZWEiPT09cnx8ImlucHV0Ij09PXIudG9Mb3dlckNhc2UoKSYmIS9eZmlsfGNoZXxyYS9pLnRlc3Qobi50eXBlKSkpe3ZhciBzPWkub25pbnB1dHx8Im9uaW5wdXQiO25bc118fChuW3NdPW5baS5vbmNoYW5nZV0sZGVsZXRlIG5baS5vbmNoYW5nZV0pfX19KCksImZ1bmN0aW9uIj09dHlwZW9mIGUmJiFlLm0mJmUucHJvdG90eXBlJiYoQnQoZS5wcm90b3R5cGUsImNvbXBvbmVudFdpbGxNb3VudCIpLEJ0KGUucHJvdG90eXBlLCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiksQnQoZS5wcm90b3R5cGUsImNvbXBvbmVudFdpbGxVcGRhdGUiKSxlLm09ITApfWp0JiZqdCh0KX07dmFyIE50PSIxNi44LjAiO2Z1bmN0aW9uIHF0KHQpe3JldHVybiBtLmJpbmQobnVsbCx0KX1mdW5jdGlvbiBVdCh0KXtyZXR1cm4hIXQmJnQuJCR0eXBlb2Y9PT1PdH1mdW5jdGlvbiBEdCh0KXtyZXR1cm4gVXQodCk/Ti5hcHBseShudWxsLGFyZ3VtZW50cyk6dH1mdW5jdGlvbiB6dCh0KXtyZXR1cm4hIXQuX19rJiYoTChudWxsLHQpLCEwKX1mdW5jdGlvbiBIdCh0KXtyZXR1cm4gdCYmKHQuYmFzZXx8MT09PXQubm9kZVR5cGUmJnQpfHxudWxsfXZhciBGdD1mdW5jdGlvbih0LGUpe3JldHVybiB0KGUpfTtlLmRlZmF1bHQ9e3VzZVN0YXRlOkcsdXNlUmVkdWNlcjpaLHVzZUVmZmVjdDokLHVzZUxheW91dEVmZmVjdDpYLHVzZVJlZjpRLHVzZUltcGVyYXRpdmVIYW5kbGU6dHQsdXNlTWVtbzpldCx1c2VDYWxsYmFjazpydCx1c2VDb250ZXh0Om50LHVzZURlYnVnVmFsdWU6aXQsdmVyc2lvbjoiMTYuOC4wIixDaGlsZHJlbjp5dCxyZW5kZXI6Q3QsaHlkcmF0ZTpDdCx1bm1vdW50Q29tcG9uZW50QXROb2RlOnp0LGNyZWF0ZVBvcnRhbDpSdCxjcmVhdGVFbGVtZW50Om0sY3JlYXRlQ29udGV4dDpxLGNyZWF0ZUZhY3Rvcnk6cXQsY2xvbmVFbGVtZW50OkR0LGNyZWF0ZVJlZjpiLEZyYWdtZW50OnksaXNWYWxpZEVsZW1lbnQ6VXQsZmluZERPTU5vZGU6SHQsQ29tcG9uZW50OnYsUHVyZUNvbXBvbmVudDpkdCxtZW1vOnB0LGZvcndhcmRSZWY6Z3QsdW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM6RnQsU3VzcGVuc2U6d3QsU3VzcGVuc2VMaXN0OkV0LGxhenk6U3R9fV0pfSkpOw=="}},"time_used":258,"timings":{"blocked":-1,"dns":0,"connect":20,"send":0,"wait":54,"receive":154,"ssl":30},"alerts":{"ids":null,"analyzer":[{"sensor_name":"opendns","sensor_type":"DNS","title":"OpenDNS","description":"OpenDNS","scan_date":"2026-07-27","alert":"Phishing Block","trigger":"meta-drop.top","verdict":"phishing","severity":"medium","comment":"","link":"https://www.opendns.com/","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"meta-drop.top","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":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-router.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:07.857Z","timestamp":1785152587857,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"meta-drop.top","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 19 Jul 2026 23:27:50 GMT","end":"Sat, 17 Oct 2026 23:27:49 GMT"},"fingerprint":{"sha1":"67:D4:87:A1:51:D4:1D:BB:BB:77:02:2B:B6:56:97:52:78:DA:92:C1","sha256":"67:DA:68:05:20:35:91:18:5A:EF:52:AD:9A:51:70:A4:D4:60:E6:DA:FE:67:E3:E1:6C:3F:13:4D:D1:7C:6D:E4"}}},"request":{"raw":"GET /assets/web3-provider/web3-router.js HTTP/1.1\r\nHost: meta-drop.top\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://meta-drop.top/\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/1.1 200 OK\r\nServer: nginx/1.24.0 (Ubuntu)\r\nDate: Mon, 27 Jul 2026 11:43:07 GMT\r\nContent-Type: application/javascript; charset=UTF-8\r\nContent-Length: 624671\r\nConnection: keep-alive\r\nX-Powered-By: Express\r\nAccess-Control-Allow-Origin: *\r\nAccept-Ranges: bytes\r\nCache-Control: public, max-age=0\r\nLast-Modified: Fri, 10 Jan 2025 13:06:25 GMT\r\nETag: W/\"9881f-1945052b468\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.24.0","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":"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":"Ubuntu","description":"Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.","website":"https://www.ubuntu.com/server","common_platform_enumeration":"cpe:2.3:o:canonical:ubuntu_linux:*:*:*:*:*:*:*:*","icon":"Ubuntu.svg","categories":["Operating systems"]}],"data":{"size":624671,"size_decoded":625045,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (58483)","md5":"85a56c216646e3aa7ae57bab1b834845","sha1":"2a2cd889995e1d2a2c469afca8e7605034afd2d6","sha256":"c259624218132a2cd36ad673de1ef15631307c4c491c3c63b5e930084b6308ef","sha512":"268f515873f0160d2a49020afdf40a9b2b4a9243df2fce5ba7cad114a8f6771d987573c65688889472c0bc6853a41cc61a42e09457fb5971b61703e540b1be80","ssdeep":"12288:7KY9J6iZolXNgr1uogYc86/O/B1rQnRIwhFhAWsfpD2LeQE8mq:7KY9poNyhdcxWBVQnAVfgLeg","tlshash":"e4d439d472a6f039439753a8547f0186f33d6854700c806cf7acf9eaa8a9599c67bf38","first_seen":"2023-06-30T00:51:10Z","last_seen":"2026-08-03T12:41:36.358004Z","times_seen":327,"resource_available":true,"data":"KGZ1bmN0aW9uKF9uLHByKXt0eXBlb2YgZXhwb3J0cz09Im9iamVjdCImJnR5cGVvZiBtb2R1bGU8InUiP3ByKGV4cG9ydHMpOnR5cGVvZiBkZWZpbmU9PSJmdW5jdGlvbiImJmRlZmluZS5hbWQ/ZGVmaW5lKFsiZXhwb3J0cyJdLHByKTooX249dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6X258fHNlbGYscHIoX25bIkB3YWxsZXRjb25uZWN0L2V0aGVyZXVtLXByb3ZpZGVyIl09e30pKX0pKHRoaXMsZnVuY3Rpb24oX24peyJ1c2Ugc3RyaWN0Ijt2YXIgcHI9dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6dHlwZW9mIHdpbmRvdzwidSI/d2luZG93OnR5cGVvZiBnbG9iYWw8InUiP2dsb2JhbDp0eXBlb2Ygc2VsZjwidSI/c2VsZjp7fTtmdW5jdGlvbiBndyh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwiZGVmYXVsdCIpP3QuZGVmYXVsdDp0fWZ1bmN0aW9uIE1pKHQpe3ZhciBlPXQuZGVmYXVsdDtpZih0eXBlb2YgZT09ImZ1bmN0aW9uIil7dmFyIHI9ZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O3IucHJvdG90eXBlPWUucHJvdG90eXBlfWVsc2Ugcj17fTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24obil7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LG4pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG4saS5nZXQ/aTp7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtuXX19KX0pLHJ9dmFyIGJyPXtleHBvcnRzOnt9fSx4cz10eXBlb2YgUmVmbGVjdD09Im9iamVjdCI/UmVmbGVjdDpudWxsLGxkPXhzJiZ0eXBlb2YgeHMuYXBwbHk9PSJmdW5jdGlvbiI/eHMuYXBwbHk6ZnVuY3Rpb24oZSxyLG4pe3JldHVybiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChlLHIsbil9LE1hO3hzJiZ0eXBlb2YgeHMub3duS2V5cz09ImZ1bmN0aW9uIj9NYT14cy5vd25LZXlzOk9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/TWE9ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUpLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGUpKX06TWE9ZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUpfTtmdW5jdGlvbiBtdyh0KXtjb25zb2xlJiZjb25zb2xlLndhcm4mJmNvbnNvbGUud2Fybih0KX12YXIgdWQ9TnVtYmVyLmlzTmFOfHxmdW5jdGlvbihlKXtyZXR1cm4gZSE9PWV9O2Z1bmN0aW9uIF90KCl7X3QuaW5pdC5jYWxsKHRoaXMpfWJyLmV4cG9ydHM9X3QsYnIuZXhwb3J0cy5vbmNlPWJ3LF90LkV2ZW50RW1pdHRlcj1fdCxfdC5wcm90b3R5cGUuX2V2ZW50cz12b2lkIDAsX3QucHJvdG90eXBlLl9ldmVudHNDb3VudD0wLF90LnByb3RvdHlwZS5fbWF4TGlzdGVuZXJzPXZvaWQgMDt2YXIgaGQ9MTA7ZnVuY3Rpb24gVWEodCl7aWYodHlwZW9mIHQhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJsaXN0ZW5lciIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEZ1bmN0aW9uLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIHQpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShfdCwiZGVmYXVsdE1heExpc3RlbmVycyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGhkfSxzZXQ6ZnVuY3Rpb24odCl7aWYodHlwZW9mIHQhPSJudW1iZXIifHx0PDB8fHVkKHQpKXRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgb2YgImRlZmF1bHRNYXhMaXN0ZW5lcnMiIGlzIG91dCBvZiByYW5nZS4gSXQgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIuIFJlY2VpdmVkICcrdCsiLiIpO2hkPXR9fSksX3QuaW5pdD1mdW5jdGlvbigpeyh0aGlzLl9ldmVudHM9PT12b2lkIDB8fHRoaXMuX2V2ZW50cz09PU9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKS5fZXZlbnRzKSYmKHRoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTApLHRoaXMuX21heExpc3RlbmVycz10aGlzLl9tYXhMaXN0ZW5lcnN8fHZvaWQgMH0sX3QucHJvdG90eXBlLnNldE1heExpc3RlbmVycz1mdW5jdGlvbihlKXtpZih0eXBlb2YgZSE9Im51bWJlciJ8fGU8MHx8dWQoZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBvZiAibiIgaXMgb3V0IG9mIHJhbmdlLiBJdCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlci4gUmVjZWl2ZWQgJytlKyIuIik7cmV0dXJuIHRoaXMuX21heExpc3RlbmVycz1lLHRoaXN9O2Z1bmN0aW9uIGZkKHQpe3JldHVybiB0Ll9tYXhMaXN0ZW5lcnM9PT12b2lkIDA/X3QuZGVmYXVsdE1heExpc3RlbmVyczp0Ll9tYXhMaXN0ZW5lcnN9X3QucHJvdG90eXBlLmdldE1heExpc3RlbmVycz1mdW5jdGlvbigpe3JldHVybiBmZCh0aGlzKX0sX3QucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciByPVtdLG49MTtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXIucHVzaChhcmd1bWVudHNbbl0pO3ZhciBpPWU9PT0iZXJyb3IiLG89dGhpcy5fZXZlbnRzO2lmKG8hPT12b2lkIDApaT1pJiZvLmVycm9yPT09dm9pZCAwO2Vsc2UgaWYoIWkpcmV0dXJuITE7aWYoaSl7dmFyIGM7aWYoci5sZW5ndGg+MCYmKGM9clswXSksYyBpbnN0YW5jZW9mIEVycm9yKXRocm93IGM7dmFyIGw9bmV3IEVycm9yKCJVbmhhbmRsZWQgZXJyb3IuIisoYz8iICgiK2MubWVzc2FnZSsiKSI6IiIpKTt0aHJvdyBsLmNvbnRleHQ9YyxsfXZhciBoPW9bZV07aWYoaD09PXZvaWQgMClyZXR1cm4hMTtpZih0eXBlb2YgaD09ImZ1bmN0aW9uIilsZChoLHRoaXMscik7ZWxzZSBmb3IodmFyIGQ9aC5sZW5ndGgsdj13ZChoLGQpLG49MDtuPGQ7KytuKWxkKHZbbl0sdGhpcyxyKTtyZXR1cm4hMH07ZnVuY3Rpb24gZGQodCxlLHIsbil7dmFyIGksbyxjO2lmKFVhKHIpLG89dC5fZXZlbnRzLG89PT12b2lkIDA/KG89dC5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksdC5fZXZlbnRzQ291bnQ9MCk6KG8ubmV3TGlzdGVuZXIhPT12b2lkIDAmJih0LmVtaXQoIm5ld0xpc3RlbmVyIixlLHIubGlzdGVuZXI/ci5saXN0ZW5lcjpyKSxvPXQuX2V2ZW50cyksYz1vW2VdKSxjPT09dm9pZCAwKWM9b1tlXT1yLCsrdC5fZXZlbnRzQ291bnQ7ZWxzZSBpZih0eXBlb2YgYz09ImZ1bmN0aW9uIj9jPW9bZV09bj9bcixjXTpbYyxyXTpuP2MudW5zaGlmdChyKTpjLnB1c2gociksaT1mZCh0KSxpPjAmJmMubGVuZ3RoPmkmJiFjLndhcm5lZCl7Yy53YXJuZWQ9ITA7dmFyIGw9bmV3IEVycm9yKCJQb3NzaWJsZSBFdmVudEVtaXR0ZXIgbWVtb3J5IGxlYWsgZGV0ZWN0ZWQuICIrYy5sZW5ndGgrIiAiK1N0cmluZyhlKSsiIGxpc3RlbmVycyBhZGRlZC4gVXNlIGVtaXR0ZXIuc2V0TWF4TGlzdGVuZXJzKCkgdG8gaW5jcmVhc2UgbGltaXQiKTtsLm5hbWU9Ik1heExpc3RlbmVyc0V4Y2VlZGVkV2FybmluZyIsbC5lbWl0dGVyPXQsbC50eXBlPWUsbC5jb3VudD1jLmxlbmd0aCxtdyhsKX1yZXR1cm4gdH1fdC5wcm90b3R5cGUuYWRkTGlzdGVuZXI9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gZGQodGhpcyxlLHIsITEpfSxfdC5wcm90b3R5cGUub249X3QucHJvdG90eXBlLmFkZExpc3RlbmVyLF90LnByb3RvdHlwZS5wcmVwZW5kTGlzdGVuZXI9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gZGQodGhpcyxlLHIsITApfTtmdW5jdGlvbiB3dygpe2lmKCF0aGlzLmZpcmVkKXJldHVybiB0aGlzLnRhcmdldC5yZW1vdmVMaXN0ZW5lcih0aGlzLnR5cGUsdGhpcy53cmFwRm4pLHRoaXMuZmlyZWQ9ITAsYXJndW1lbnRzLmxlbmd0aD09PTA/dGhpcy5saXN0ZW5lci5jYWxsKHRoaXMudGFyZ2V0KTp0aGlzLmxpc3RlbmVyLmFwcGx5KHRoaXMudGFyZ2V0LGFyZ3VtZW50cyl9ZnVuY3Rpb24gcGQodCxlLHIpe3ZhciBuPXtmaXJlZDohMSx3cmFwRm46dm9pZCAwLHRhcmdldDp0LHR5cGU6ZSxsaXN0ZW5lcjpyfSxpPXd3LmJpbmQobik7cmV0dXJuIGkubGlzdGVuZXI9cixuLndyYXBGbj1pLGl9X3QucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gVWEociksdGhpcy5vbihlLHBkKHRoaXMsZSxyKSksdGhpc30sX3QucHJvdG90eXBlLnByZXBlbmRPbmNlTGlzdGVuZXI9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gVWEociksdGhpcy5wcmVwZW5kTGlzdGVuZXIoZSxwZCh0aGlzLGUscikpLHRoaXN9LF90LnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbihlLHIpe3ZhciBuLGksbyxjLGw7aWYoVWEociksaT10aGlzLl9ldmVudHMsaT09PXZvaWQgMClyZXR1cm4gdGhpcztpZihuPWlbZV0sbj09PXZvaWQgMClyZXR1cm4gdGhpcztpZihuPT09cnx8bi5saXN0ZW5lcj09PXIpLS10aGlzLl9ldmVudHNDb3VudD09PTA/dGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCk6KGRlbGV0ZSBpW2VdLGkucmVtb3ZlTGlzdGVuZXImJnRoaXMuZW1pdCgicmVtb3ZlTGlzdGVuZXIiLGUsbi5saXN0ZW5lcnx8cikpO2Vsc2UgaWYodHlwZW9mIG4hPSJmdW5jdGlvbiIpe2ZvcihvPS0xLGM9bi5sZW5ndGgtMTtjPj0wO2MtLSlpZihuW2NdPT09cnx8bltjXS5saXN0ZW5lcj09PXIpe2w9bltjXS5saXN0ZW5lcixvPWM7YnJlYWt9aWYobzwwKXJldHVybiB0aGlzO289PT0wP24uc2hpZnQoKTp2dyhuLG8pLG4ubGVuZ3RoPT09MSYmKGlbZV09blswXSksaS5yZW1vdmVMaXN0ZW5lciE9PXZvaWQgMCYmdGhpcy5lbWl0KCJyZW1vdmVMaXN0ZW5lciIsZSxsfHxyKX1yZXR1cm4gdGhpc30sX3QucHJvdG90eXBlLm9mZj1fdC5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIsX3QucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgcixuLGk7aWYobj10aGlzLl9ldmVudHMsbj09PXZvaWQgMClyZXR1cm4gdGhpcztpZihuLnJlbW92ZUxpc3RlbmVyPT09dm9pZCAwKXJldHVybiBhcmd1bWVudHMubGVuZ3RoPT09MD8odGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fZXZlbnRzQ291bnQ9MCk6bltlXSE9PXZvaWQgMCYmKC0tdGhpcy5fZXZlbnRzQ291bnQ9PT0wP3RoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpOmRlbGV0ZSBuW2VdKSx0aGlzO2lmKGFyZ3VtZW50cy5sZW5ndGg9PT0wKXt2YXIgbz1PYmplY3Qua2V5cyhuKSxjO2ZvcihpPTA7aTxvLmxlbmd0aDsrK2kpYz1vW2ldLGMhPT0icmVtb3ZlTGlzdGVuZXIiJiZ0aGlzLnJlbW92ZUFsbExpc3RlbmVycyhjKTtyZXR1cm4gdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoInJlbW92ZUxpc3RlbmVyIiksdGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fZXZlbnRzQ291bnQ9MCx0aGlzfWlmKHI9bltlXSx0eXBlb2Ygcj09ImZ1bmN0aW9uIil0aGlzLnJlbW92ZUxpc3RlbmVyKGUscik7ZWxzZSBpZihyIT09dm9pZCAwKWZvcihpPXIubGVuZ3RoLTE7aT49MDtpLS0pdGhpcy5yZW1vdmVMaXN0ZW5lcihlLHJbaV0pO3JldHVybiB0aGlzfTtmdW5jdGlvbiBnZCh0LGUscil7dmFyIG49dC5fZXZlbnRzO2lmKG49PT12b2lkIDApcmV0dXJuW107dmFyIGk9bltlXTtyZXR1cm4gaT09PXZvaWQgMD9bXTp0eXBlb2YgaT09ImZ1bmN0aW9uIj9yP1tpLmxpc3RlbmVyfHxpXTpbaV06cj95dyhpKTp3ZChpLGkubGVuZ3RoKX1fdC5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiBnZCh0aGlzLGUsITApfSxfdC5wcm90b3R5cGUucmF3TGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiBnZCh0aGlzLGUsITEpfSxfdC5saXN0ZW5lckNvdW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHR5cGVvZiB0Lmxpc3RlbmVyQ291bnQ9PSJmdW5jdGlvbiI/dC5saXN0ZW5lckNvdW50KGUpOm1kLmNhbGwodCxlKX0sX3QucHJvdG90eXBlLmxpc3RlbmVyQ291bnQ9bWQ7ZnVuY3Rpb24gbWQodCl7dmFyIGU9dGhpcy5fZXZlbnRzO2lmKGUhPT12b2lkIDApe3ZhciByPWVbdF07aWYodHlwZW9mIHI9PSJmdW5jdGlvbiIpcmV0dXJuIDE7aWYociE9PXZvaWQgMClyZXR1cm4gci5sZW5ndGh9cmV0dXJuIDB9X3QucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZXZlbnRzQ291bnQ+MD9NYSh0aGlzLl9ldmVudHMpOltdfTtmdW5jdGlvbiB3ZCh0LGUpe2Zvcih2YXIgcj1uZXcgQXJyYXkoZSksbj0wO248ZTsrK24pcltuXT10W25dO3JldHVybiByfWZ1bmN0aW9uIHZ3KHQsZSl7Zm9yKDtlKzE8dC5sZW5ndGg7ZSsrKXRbZV09dFtlKzFdO3QucG9wKCl9ZnVuY3Rpb24geXcodCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0Lmxlbmd0aCkscj0wO3I8ZS5sZW5ndGg7KytyKWVbcl09dFtyXS5saXN0ZW5lcnx8dFtyXTtyZXR1cm4gZX1mdW5jdGlvbiBidyh0LGUpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyLG4pe2Z1bmN0aW9uIGkoYyl7dC5yZW1vdmVMaXN0ZW5lcihlLG8pLG4oYyl9ZnVuY3Rpb24gbygpe3R5cGVvZiB0LnJlbW92ZUxpc3RlbmVyPT0iZnVuY3Rpb24iJiZ0LnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsaSkscihbXS5zbGljZS5jYWxsKGFyZ3VtZW50cykpfXZkKHQsZSxvLHtvbmNlOiEwfSksZSE9PSJlcnJvciImJl93KHQsaSx7b25jZTohMH0pfSl9ZnVuY3Rpb24gX3codCxlLHIpe3R5cGVvZiB0Lm9uPT0iZnVuY3Rpb24iJiZ2ZCh0LCJlcnJvciIsZSxyKX1mdW5jdGlvbiB2ZCh0LGUscixuKXtpZih0eXBlb2YgdC5vbj09ImZ1bmN0aW9uIiluLm9uY2U/dC5vbmNlKGUscik6dC5vbihlLHIpO2Vsc2UgaWYodHlwZW9mIHQuYWRkRXZlbnRMaXN0ZW5lcj09ImZ1bmN0aW9uIil0LmFkZEV2ZW50TGlzdGVuZXIoZSxmdW5jdGlvbiBpKG8pe24ub25jZSYmdC5yZW1vdmVFdmVudExpc3RlbmVyKGUsaSkscihvKX0pO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJlbWl0dGVyIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRXZlbnRFbWl0dGVyLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIHQpfXZhciBRbD17fSxqYT17fSxldD17fSx5ZD17fTsoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2Z1bmN0aW9uIGUobCxoKXt2YXIgZD1sPj4+MTYmNjU1MzUsdj1sJjY1NTM1LEU9aD4+PjE2JjY1NTM1LF89aCY2NTUzNTtyZXR1cm4gdipfKyhkKl8rdipFPDwxNj4+PjApfDB9dC5tdWw9TWF0aC5pbXVsfHxlO2Z1bmN0aW9uIHIobCxoKXtyZXR1cm4gbCtofDB9dC5hZGQ9cjtmdW5jdGlvbiBuKGwsaCl7cmV0dXJuIGwtaHwwfXQuc3ViPW47ZnVuY3Rpb24gaShsLGgpe3JldHVybiBsPDxofGw+Pj4zMi1ofXQucm90bD1pO2Z1bmN0aW9uIG8obCxoKXtyZXR1cm4gbDw8MzItaHxsPj4+aH10LnJvdHI9bztmdW5jdGlvbiBjKGwpe3JldHVybiB0eXBlb2YgbD09Im51bWJlciImJmlzRmluaXRlKGwpJiZNYXRoLmZsb29yKGwpPT09bH10LmlzSW50ZWdlcj1OdW1iZXIuaXNJbnRlZ2VyfHxjLHQuTUFYX1NBRkVfSU5URUdFUj05MDA3MTk5MjU0NzQwOTkxLHQuaXNTYWZlSW50ZWdlcj1mdW5jdGlvbihsKXtyZXR1cm4gdC5pc0ludGVnZXIobCkmJmw+PS10Lk1BWF9TQUZFX0lOVEVHRVImJmw8PXQuTUFYX1NBRkVfSU5URUdFUn19KSh5ZCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGV0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYmQ9eWQ7ZnVuY3Rpb24gRXcodCxlKXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9MCksKHRbZSswXTw8OHx0W2UrMV0pPDwxNj4+MTZ9ZXQucmVhZEludDE2QkU9RXc7ZnVuY3Rpb24geHcodCxlKXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9MCksKHRbZSswXTw8OHx0W2UrMV0pPj4+MH1ldC5yZWFkVWludDE2QkU9eHc7ZnVuY3Rpb24gQ3codCxlKXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9MCksKHRbZSsxXTw8OHx0W2VdKTw8MTY+PjE2fWV0LnJlYWRJbnQxNkxFPUN3O2Z1bmN0aW9uIEl3KHQsZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPTApLCh0W2UrMV08PDh8dFtlXSk+Pj4wfWV0LnJlYWRVaW50MTZMRT1JdztmdW5jdGlvbiBfZCh0LGUscil7cmV0dXJuIGU9PT12b2lkIDAmJihlPW5ldyBVaW50OEFycmF5KDIpKSxyPT09dm9pZCAwJiYocj0wKSxlW3IrMF09dD4+PjgsZVtyKzFdPXQ+Pj4wLGV9ZXQud3JpdGVVaW50MTZCRT1fZCxldC53cml0ZUludDE2QkU9X2Q7ZnVuY3Rpb24gRWQodCxlLHIpe3JldHVybiBlPT09dm9pZCAwJiYoZT1uZXcgVWludDhBcnJheSgyKSkscj09PXZvaWQgMCYmKHI9MCksZVtyKzBdPXQ+Pj4wLGVbcisxXT10Pj4+OCxlfWV0LndyaXRlVWludDE2TEU9RWQsZXQud3JpdGVJbnQxNkxFPUVkO2Z1bmN0aW9uIGV1KHQsZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPTApLHRbZV08PDI0fHRbZSsxXTw8MTZ8dFtlKzJdPDw4fHRbZSszXX1ldC5yZWFkSW50MzJCRT1ldTtmdW5jdGlvbiB0dSh0LGUpe3JldHVybiBlPT09dm9pZCAwJiYoZT0wKSwodFtlXTw8MjR8dFtlKzFdPDwxNnx0W2UrMl08PDh8dFtlKzNdKT4+PjB9ZXQucmVhZFVpbnQzMkJFPXR1O2Z1bmN0aW9uIHJ1KHQsZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPTApLHRbZSszXTw8MjR8dFtlKzJdPDwxNnx0W2UrMV08PDh8dFtlXX1ldC5yZWFkSW50MzJMRT1ydTtmdW5jdGlvbiBudSh0LGUpe3JldHVybiBlPT09dm9pZCAwJiYoZT0wKSwodFtlKzNdPDwyNHx0W2UrMl08PDE2fHRbZSsxXTw8OHx0W2VdKT4+PjB9ZXQucmVhZFVpbnQzMkxFPW51O2Z1bmN0aW9uIEZhKHQsZSxyKXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9bmV3IFVpbnQ4QXJyYXkoNCkpLHI9PT12b2lkIDAmJihyPTApLGVbciswXT10Pj4+MjQsZVtyKzFdPXQ+Pj4xNixlW3IrMl09dD4+PjgsZVtyKzNdPXQ+Pj4wLGV9ZXQud3JpdGVVaW50MzJCRT1GYSxldC53cml0ZUludDMyQkU9RmE7ZnVuY3Rpb24gQmEodCxlLHIpe3JldHVybiBlPT09dm9pZCAwJiYoZT1uZXcgVWludDhBcnJheSg0KSkscj09PXZvaWQgMCYmKHI9MCksZVtyKzBdPXQ+Pj4wLGVbcisxXT10Pj4+OCxlW3IrMl09dD4+PjE2LGVbciszXT10Pj4+MjQsZX1ldC53cml0ZVVpbnQzMkxFPUJhLGV0LndyaXRlSW50MzJMRT1CYTtmdW5jdGlvbiBPdyh0LGUpe2U9PT12b2lkIDAmJihlPTApO3ZhciByPWV1KHQsZSksbj1ldSh0LGUrNCk7cmV0dXJuIHIqNDI5NDk2NzI5NituLShuPj4zMSkqNDI5NDk2NzI5Nn1ldC5yZWFkSW50NjRCRT1PdztmdW5jdGlvbiBBdyh0LGUpe2U9PT12b2lkIDAmJihlPTApO3ZhciByPXR1KHQsZSksbj10dSh0LGUrNCk7cmV0dXJuIHIqNDI5NDk2NzI5NitufWV0LnJlYWRVaW50NjRCRT1BdztmdW5jdGlvbiBTdyh0LGUpe2U9PT12b2lkIDAmJihlPTApO3ZhciByPXJ1KHQsZSksbj1ydSh0LGUrNCk7cmV0dXJuIG4qNDI5NDk2NzI5NityLShyPj4zMSkqNDI5NDk2NzI5Nn1ldC5yZWFkSW50NjRMRT1TdztmdW5jdGlvbiBEdyh0LGUpe2U9PT12b2lkIDAmJihlPTApO3ZhciByPW51KHQsZSksbj1udSh0LGUrNCk7cmV0dXJuIG4qNDI5NDk2NzI5NityfWV0LnJlYWRVaW50NjRMRT1EdztmdW5jdGlvbiB4ZCh0LGUscil7cmV0dXJuIGU9PT12b2lkIDAmJihlPW5ldyBVaW50OEFycmF5KDgpKSxyPT09dm9pZCAwJiYocj0wKSxGYSh0LzQyOTQ5NjcyOTY+Pj4wLGUsciksRmEodD4+PjAsZSxyKzQpLGV9ZXQud3JpdGVVaW50NjRCRT14ZCxldC53cml0ZUludDY0QkU9eGQ7ZnVuY3Rpb24gQ2QodCxlLHIpe3JldHVybiBlPT09dm9pZCAwJiYoZT1uZXcgVWludDhBcnJheSg4KSkscj09PXZvaWQgMCYmKHI9MCksQmEodD4+PjAsZSxyKSxCYSh0LzQyOTQ5NjcyOTY+Pj4wLGUscis0KSxlfWV0LndyaXRlVWludDY0TEU9Q2QsZXQud3JpdGVJbnQ2NExFPUNkO2Z1bmN0aW9uICR3KHQsZSxyKXtpZihyPT09dm9pZCAwJiYocj0wKSx0JTghPT0wKXRocm93IG5ldyBFcnJvcigicmVhZFVpbnRCRSBzdXBwb3J0cyBvbmx5IGJpdExlbmd0aHMgZGl2aXNpYmxlIGJ5IDgiKTtpZih0Lzg+ZS5sZW5ndGgtcil0aHJvdyBuZXcgRXJyb3IoInJlYWRVaW50QkU6IGFycmF5IGlzIHRvbyBzaG9ydCBmb3IgdGhlIGdpdmVuIGJpdExlbmd0aCIpO2Zvcih2YXIgbj0wLGk9MSxvPXQvOCtyLTE7bz49cjtvLS0pbis9ZVtvXSppLGkqPTI1NjtyZXR1cm4gbn1ldC5yZWFkVWludEJFPSR3O2Z1bmN0aW9uIFB3KHQsZSxyKXtpZihyPT09dm9pZCAwJiYocj0wKSx0JTghPT0wKXRocm93IG5ldyBFcnJvcigicmVhZFVpbnRMRSBzdXBwb3J0cyBvbmx5IGJpdExlbmd0aHMgZGl2aXNpYmxlIGJ5IDgiKTtpZih0Lzg+ZS5sZW5ndGgtcil0aHJvdyBuZXcgRXJyb3IoInJlYWRVaW50TEU6IGFycmF5IGlzIHRvbyBzaG9ydCBmb3IgdGhlIGdpdmVuIGJpdExlbmd0aCIpO2Zvcih2YXIgbj0wLGk9MSxvPXI7bzxyK3QvODtvKyspbis9ZVtvXSppLGkqPTI1NjtyZXR1cm4gbn1ldC5yZWFkVWludExFPVB3O2Z1bmN0aW9uIFR3KHQsZSxyLG4pe2lmKHI9PT12b2lkIDAmJihyPW5ldyBVaW50OEFycmF5KHQvOCkpLG49PT12b2lkIDAmJihuPTApLHQlOCE9PTApdGhyb3cgbmV3IEVycm9yKCJ3cml0ZVVpbnRCRSBzdXBwb3J0cyBvbmx5IGJpdExlbmd0aHMgZGl2aXNpYmxlIGJ5IDgiKTtpZighYmQuaXNTYWZlSW50ZWdlcihlKSl0aHJvdyBuZXcgRXJyb3IoIndyaXRlVWludEJFIHZhbHVlIG11c3QgYmUgYW4gaW50ZWdlciIpO2Zvcih2YXIgaT0xLG89dC84K24tMTtvPj1uO28tLSlyW29dPWUvaSYyNTUsaSo9MjU2O3JldHVybiByfWV0LndyaXRlVWludEJFPVR3O2Z1bmN0aW9uIFJ3KHQsZSxyLG4pe2lmKHI9PT12b2lkIDAmJihyPW5ldyBVaW50OEFycmF5KHQvOCkpLG49PT12b2lkIDAmJihuPTApLHQlOCE9PTApdGhyb3cgbmV3IEVycm9yKCJ3cml0ZVVpbnRMRSBzdXBwb3J0cyBvbmx5IGJpdExlbmd0aHMgZGl2aXNpYmxlIGJ5IDgiKTtpZighYmQuaXNTYWZlSW50ZWdlcihlKSl0aHJvdyBuZXcgRXJyb3IoIndyaXRlVWludExFIHZhbHVlIG11c3QgYmUgYW4gaW50ZWdlciIpO2Zvcih2YXIgaT0xLG89bjtvPG4rdC84O28rKylyW29dPWUvaSYyNTUsaSo9MjU2O3JldHVybiByfWV0LndyaXRlVWludExFPVJ3O2Z1bmN0aW9uIE53KHQsZSl7ZT09PXZvaWQgMCYmKGU9MCk7dmFyIHI9bmV3IERhdGFWaWV3KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpO3JldHVybiByLmdldEZsb2F0MzIoZSl9ZXQucmVhZEZsb2F0MzJCRT1OdztmdW5jdGlvbiBMdyh0LGUpe2U9PT12b2lkIDAmJihlPTApO3ZhciByPW5ldyBEYXRhVmlldyh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKTtyZXR1cm4gci5nZXRGbG9hdDMyKGUsITApfWV0LnJlYWRGbG9hdDMyTEU9THc7ZnVuY3Rpb24gTXcodCxlKXtlPT09dm9pZCAwJiYoZT0wKTt2YXIgcj1uZXcgRGF0YVZpZXcodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCk7cmV0dXJuIHIuZ2V0RmxvYXQ2NChlKX1ldC5yZWFkRmxvYXQ2NEJFPU13O2Z1bmN0aW9uIFV3KHQsZSl7ZT09PXZvaWQgMCYmKGU9MCk7dmFyIHI9bmV3IERhdGFWaWV3KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpO3JldHVybiByLmdldEZsb2F0NjQoZSwhMCl9ZXQucmVhZEZsb2F0NjRMRT1VdztmdW5jdGlvbiBqdyh0LGUscil7ZT09PXZvaWQgMCYmKGU9bmV3IFVpbnQ4QXJyYXkoNCkpLHI9PT12b2lkIDAmJihyPTApO3ZhciBuPW5ldyBEYXRhVmlldyhlLmJ1ZmZlcixlLmJ5dGVPZmZzZXQsZS5ieXRlTGVuZ3RoKTtyZXR1cm4gbi5zZXRGbG9hdDMyKHIsdCksZX1ldC53cml0ZUZsb2F0MzJCRT1qdztmdW5jdGlvbiBGdyh0LGUscil7ZT09PXZvaWQgMCYmKGU9bmV3IFVpbnQ4QXJyYXkoNCkpLHI9PT12b2lkIDAmJihyPTApO3ZhciBuPW5ldyBEYXRhVmlldyhlLmJ1ZmZlcixlLmJ5dGVPZmZzZXQsZS5ieXRlTGVuZ3RoKTtyZXR1cm4gbi5zZXRGbG9hdDMyKHIsdCwhMCksZX1ldC53cml0ZUZsb2F0MzJMRT1GdztmdW5jdGlvbiBCdyh0LGUscil7ZT09PXZvaWQgMCYmKGU9bmV3IFVpbnQ4QXJyYXkoOCkpLHI9PT12b2lkIDAmJihyPTApO3ZhciBuPW5ldyBEYXRhVmlldyhlLmJ1ZmZlcixlLmJ5dGVPZmZzZXQsZS5ieXRlTGVuZ3RoKTtyZXR1cm4gbi5zZXRGbG9hdDY0KHIsdCksZX1ldC53cml0ZUZsb2F0NjRCRT1CdztmdW5jdGlvbiBrdyh0LGUscil7ZT09PXZvaWQgMCYmKGU9bmV3IFVpbnQ4QXJyYXkoOCkpLHI9PT12b2lkIDAmJihyPTApO3ZhciBuPW5ldyBEYXRhVmlldyhlLmJ1ZmZlcixlLmJ5dGVPZmZzZXQsZS5ieXRlTGVuZ3RoKTtyZXR1cm4gbi5zZXRGbG9hdDY0KHIsdCwhMCksZX1ldC53cml0ZUZsb2F0NjRMRT1rdzt2YXIgWXI9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFlyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtmdW5jdGlvbiBIdyh0KXtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl0W2VdPTA7cmV0dXJuIHR9WXIud2lwZT1IdyxPYmplY3QuZGVmaW5lUHJvcGVydHkoamEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBJcj1ldCxpdT1Zcix6dz0yMDtmdW5jdGlvbiBXdyh0LGUscil7Zm9yKHZhciBuPTE2MzQ3NjA4MDUsaT04NTc3NjA4Nzgsbz0yMDM2NDc3MjM0LGM9MTc5NzI4NTIzNixsPXJbM108PDI0fHJbMl08PDE2fHJbMV08PDh8clswXSxoPXJbN108PDI0fHJbNl08PDE2fHJbNV08PDh8cls0XSxkPXJbMTFdPDwyNHxyWzEwXTw8MTZ8cls5XTw8OHxyWzhdLHY9clsxNV08PDI0fHJbMTRdPDwxNnxyWzEzXTw8OHxyWzEyXSxFPXJbMTldPDwyNHxyWzE4XTw8MTZ8clsxN108PDh8clsxNl0sXz1yWzIzXTw8MjR8clsyMl08PDE2fHJbMjFdPDw4fHJbMjBdLEE9clsyN108PDI0fHJbMjZdPDwxNnxyWzI1XTw8OHxyWzI0XSxQPXJbMzFdPDwyNHxyWzMwXTw8MTZ8clsyOV08PDh8clsyOF0sVT1lWzNdPDwyNHxlWzJdPDwxNnxlWzFdPDw4fGVbMF0sSD1lWzddPDwyNHxlWzZdPDwxNnxlWzVdPDw4fGVbNF0sRz1lWzExXTw8MjR8ZVsxMF08PDE2fGVbOV08PDh8ZVs4XSxOPWVbMTVdPDwyNHxlWzE0XTw8MTZ8ZVsxM108PDh8ZVsxMl0sTD1uLCQ9aSxUPW8sST1jLGY9bCx4PWgsSj1kLHo9dixlZT1FLGRlPV8sbWU9QSxPPVAsaj1VLGNlPUgsbGU9RyxyZT1OLG5lPTA7bmU8enc7bmUrPTIpTD1MK2Z8MCxqXj1MLGo9aj4+PjMyLTE2fGo8PDE2LGVlPWVlK2p8MCxmXj1lZSxmPWY+Pj4zMi0xMnxmPDwxMiwkPSQreHwwLGNlXj0kLGNlPWNlPj4+MzItMTZ8Y2U8PDE2LGRlPWRlK2NlfDAseF49ZGUseD14Pj4+MzItMTJ8eDw8MTIsVD1UK0p8MCxsZV49VCxsZT1sZT4+PjMyLTE2fGxlPDwxNixtZT1tZStsZXwwLEpePW1lLEo9Sj4+PjMyLTEyfEo8PDEyLEk9SSt6fDAscmVePUkscmU9cmU+Pj4zMi0xNnxyZTw8MTYsTz1PK3JlfDAsel49Tyx6PXo+Pj4zMi0xMnx6PDwxMixUPVQrSnwwLGxlXj1ULGxlPWxlPj4+MzItOHxsZTw8OCxtZT1tZStsZXwwLEpePW1lLEo9Sj4+PjMyLTd8Sjw8NyxJPUkrenwwLHJlXj1JLHJlPXJlPj4+MzItOHxyZTw8OCxPPU8rcmV8MCx6Xj1PLHo9ej4+PjMyLTd8ejw8NywkPSQreHwwLGNlXj0kLGNlPWNlPj4+MzItOHxjZTw8OCxkZT1kZStjZXwwLHhePWRlLHg9eD4+PjMyLTd8eDw8NyxMPUwrZnwwLGpePUwsaj1qPj4+MzItOHxqPDw4LGVlPWVlK2p8MCxmXj1lZSxmPWY+Pj4zMi03fGY8PDcsTD1MK3h8MCxyZV49TCxyZT1yZT4+PjMyLTE2fHJlPDwxNixtZT1tZStyZXwwLHhePW1lLHg9eD4+PjMyLTEyfHg8PDEyLCQ9JCtKfDAsal49JCxqPWo+Pj4zMi0xNnxqPDwxNixPPU8ranwwLEpePU8sSj1KPj4+MzItMTJ8Sjw8MTIsVD1UK3p8MCxjZV49VCxjZT1jZT4+PjMyLTE2fGNlPDwxNixlZT1lZStjZXwwLHpePWVlLHo9ej4+PjMyLTEyfHo8PDEyLEk9SStmfDAsbGVePUksbGU9bGU+Pj4zMi0xNnxsZTw8MTYsZGU9ZGUrbGV8MCxmXj1kZSxmPWY+Pj4zMi0xMnxmPDwxMixUPVQrenwwLGNlXj1ULGNlPWNlPj4+MzItOHxjZTw8OCxlZT1lZStjZXwwLHpePWVlLHo9ej4+PjMyLTd8ejw8NyxJPUkrZnwwLGxlXj1JLGxlPWxlPj4+MzItOHxsZTw8OCxkZT1kZStsZXwwLGZePWRlLGY9Zj4+PjMyLTd8Zjw8NywkPSQrSnwwLGpePSQsaj1qPj4+MzItOHxqPDw4LE89TytqfDAsSl49TyxKPUo+Pj4zMi03fEo8PDcsTD1MK3h8MCxyZV49TCxyZT1yZT4+PjMyLTh8cmU8PDgsbWU9bWUrcmV8MCx4Xj1tZSx4PXg+Pj4zMi03fHg8PDc7SXIud3JpdGVVaW50MzJMRShMK258MCx0LDApLElyLndyaXRlVWludDMyTEUoJCtpfDAsdCw0KSxJci53cml0ZVVpbnQzMkxFKFQrb3wwLHQsOCksSXIud3JpdGVVaW50MzJMRShJK2N8MCx0LDEyKSxJci53cml0ZVVpbnQzMkxFKGYrbHwwLHQsMTYpLElyLndyaXRlVWludDMyTEUoeCtofDAsdCwyMCksSXIud3JpdGVVaW50MzJMRShKK2R8MCx0LDI0KSxJci53cml0ZVVpbnQzMkxFKHordnwwLHQsMjgpLElyLndyaXRlVWludDMyTEUoZWUrRXwwLHQsMzIpLElyLndyaXRlVWludDMyTEUoZGUrX3wwLHQsMzYpLElyLndyaXRlVWludDMyTEUobWUrQXwwLHQsNDApLElyLndyaXRlVWludDMyTEUoTytQfDAsdCw0NCksSXIud3JpdGVVaW50MzJMRShqK1V8MCx0LDQ4KSxJci53cml0ZVVpbnQzMkxFKGNlK0h8MCx0LDUyKSxJci53cml0ZVVpbnQzMkxFKGxlK0d8MCx0LDU2KSxJci53cml0ZVVpbnQzMkxFKHJlK058MCx0LDYwKX1mdW5jdGlvbiBJZCh0LGUscixuLGkpe2lmKGk9PT12b2lkIDAmJihpPTApLHQubGVuZ3RoIT09MzIpdGhyb3cgbmV3IEVycm9yKCJDaGFDaGE6IGtleSBzaXplIG11c3QgYmUgMzIgYnl0ZXMiKTtpZihuLmxlbmd0aDxyLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkNoYUNoYTogZGVzdGluYXRpb24gaXMgc2hvcnRlciB0aGFuIHNvdXJjZSIpO3ZhciBvLGM7aWYoaT09PTApe2lmKGUubGVuZ3RoIT09OCYmZS5sZW5ndGghPT0xMil0aHJvdyBuZXcgRXJyb3IoIkNoYUNoYSBub25jZSBtdXN0IGJlIDggb3IgMTIgYnl0ZXMiKTtvPW5ldyBVaW50OEFycmF5KDE2KSxjPW8ubGVuZ3RoLWUubGVuZ3RoLG8uc2V0KGUsYyl9ZWxzZXtpZihlLmxlbmd0aCE9PTE2KXRocm93IG5ldyBFcnJvcigiQ2hhQ2hhIG5vbmNlIHdpdGggY291bnRlciBtdXN0IGJlIDE2IGJ5dGVzIik7bz1lLGM9aX1mb3IodmFyIGw9bmV3IFVpbnQ4QXJyYXkoNjQpLGg9MDtoPHIubGVuZ3RoO2grPTY0KXtXdyhsLG8sdCk7Zm9yKHZhciBkPWg7ZDxoKzY0JiZkPHIubGVuZ3RoO2QrKyluW2RdPXJbZF1ebFtkLWhdO1Z3KG8sMCxjKX1yZXR1cm4gaXUud2lwZShsKSxpPT09MCYmaXUud2lwZShvKSxufWphLnN0cmVhbVhPUj1JZDtmdW5jdGlvbiBxdyh0LGUscixuKXtyZXR1cm4gbj09PXZvaWQgMCYmKG49MCksaXUud2lwZShyKSxJZCh0LGUscixyLG4pfWphLnN0cmVhbT1xdztmdW5jdGlvbiBWdyh0LGUscil7Zm9yKHZhciBuPTE7ci0tOyluPW4rKHRbZV0mMjU1KXwwLHRbZV09biYyNTUsbj4+Pj04LGUrKztpZihuPjApdGhyb3cgbmV3IEVycm9yKCJDaGFDaGE6IGNvdW50ZXIgb3ZlcmZsb3ciKX12YXIgT2Q9e30sbGk9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KGxpLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtmdW5jdGlvbiBLdyh0LGUscil7cmV0dXJufih0LTEpJmV8dC0xJnJ9bGkuc2VsZWN0PUt3O2Z1bmN0aW9uIEd3KHQsZSl7cmV0dXJuKHR8MCktKGV8MCktMT4+PjMxJjF9bGkubGVzc09yRXF1YWw9R3c7ZnVuY3Rpb24gQWQodCxlKXtpZih0Lmxlbmd0aCE9PWUubGVuZ3RoKXJldHVybiAwO2Zvcih2YXIgcj0wLG49MDtuPHQubGVuZ3RoO24rKylyfD10W25dXmVbbl07cmV0dXJuIDEmci0xPj4+OH1saS5jb21wYXJlPUFkO2Z1bmN0aW9uIFp3KHQsZSl7cmV0dXJuIHQubGVuZ3RoPT09MHx8ZS5sZW5ndGg9PT0wPyExOkFkKHQsZSkhPT0wfWxpLmVxdWFsPVp3LGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZT1saSxyPVlyO3QuRElHRVNUX0xFTkdUSD0xNjt2YXIgbj1mdW5jdGlvbigpe2Z1bmN0aW9uIGMobCl7dGhpcy5kaWdlc3RMZW5ndGg9dC5ESUdFU1RfTEVOR1RILHRoaXMuX2J1ZmZlcj1uZXcgVWludDhBcnJheSgxNiksdGhpcy5fcj1uZXcgVWludDE2QXJyYXkoMTApLHRoaXMuX2g9bmV3IFVpbnQxNkFycmF5KDEwKSx0aGlzLl9wYWQ9bmV3IFVpbnQxNkFycmF5KDgpLHRoaXMuX2xlZnRvdmVyPTAsdGhpcy5fZmluPTAsdGhpcy5fZmluaXNoZWQ9ITE7dmFyIGg9bFswXXxsWzFdPDw4O3RoaXMuX3JbMF09aCY4MTkxO3ZhciBkPWxbMl18bFszXTw8ODt0aGlzLl9yWzFdPShoPj4+MTN8ZDw8MykmODE5MTt2YXIgdj1sWzRdfGxbNV08PDg7dGhpcy5fclsyXT0oZD4+PjEwfHY8PDYpJjc5Mzk7dmFyIEU9bFs2XXxsWzddPDw4O3RoaXMuX3JbM109KHY+Pj43fEU8PDkpJjgxOTE7dmFyIF89bFs4XXxsWzldPDw4O3RoaXMuX3JbNF09KEU+Pj40fF88PDEyKSYyNTUsdGhpcy5fcls1XT1fPj4+MSY4MTkwO3ZhciBBPWxbMTBdfGxbMTFdPDw4O3RoaXMuX3JbNl09KF8+Pj4xNHxBPDwyKSY4MTkxO3ZhciBQPWxbMTJdfGxbMTNdPDw4O3RoaXMuX3JbN109KEE+Pj4xMXxQPDw1KSY4MDY1O3ZhciBVPWxbMTRdfGxbMTVdPDw4O3RoaXMuX3JbOF09KFA+Pj44fFU8PDgpJjgxOTEsdGhpcy5fcls5XT1VPj4+NSYxMjcsdGhpcy5fcGFkWzBdPWxbMTZdfGxbMTddPDw4LHRoaXMuX3BhZFsxXT1sWzE4XXxsWzE5XTw8OCx0aGlzLl9wYWRbMl09bFsyMF18bFsyMV08PDgsdGhpcy5fcGFkWzNdPWxbMjJdfGxbMjNdPDw4LHRoaXMuX3BhZFs0XT1sWzI0XXxsWzI1XTw8OCx0aGlzLl9wYWRbNV09bFsyNl18bFsyN108PDgsdGhpcy5fcGFkWzZdPWxbMjhdfGxbMjldPDw4LHRoaXMuX3BhZFs3XT1sWzMwXXxsWzMxXTw8OH1yZXR1cm4gYy5wcm90b3R5cGUuX2Jsb2Nrcz1mdW5jdGlvbihsLGgsZCl7Zm9yKHZhciB2PXRoaXMuX2Zpbj8wOjIwNDgsRT10aGlzLl9oWzBdLF89dGhpcy5faFsxXSxBPXRoaXMuX2hbMl0sUD10aGlzLl9oWzNdLFU9dGhpcy5faFs0XSxIPXRoaXMuX2hbNV0sRz10aGlzLl9oWzZdLE49dGhpcy5faFs3XSxMPXRoaXMuX2hbOF0sJD10aGlzLl9oWzldLFQ9dGhpcy5fclswXSxJPXRoaXMuX3JbMV0sZj10aGlzLl9yWzJdLHg9dGhpcy5fclszXSxKPXRoaXMuX3JbNF0sej10aGlzLl9yWzVdLGVlPXRoaXMuX3JbNl0sZGU9dGhpcy5fcls3XSxtZT10aGlzLl9yWzhdLE89dGhpcy5fcls5XTtkPj0xNjspe3ZhciBqPWxbaCswXXxsW2grMV08PDg7RSs9aiY4MTkxO3ZhciBjZT1sW2grMl18bFtoKzNdPDw4O18rPShqPj4+MTN8Y2U8PDMpJjgxOTE7dmFyIGxlPWxbaCs0XXxsW2grNV08PDg7QSs9KGNlPj4+MTB8bGU8PDYpJjgxOTE7dmFyIHJlPWxbaCs2XXxsW2grN108PDg7UCs9KGxlPj4+N3xyZTw8OSkmODE5MTt2YXIgbmU9bFtoKzhdfGxbaCs5XTw8ODtVKz0ocmU+Pj40fG5lPDwxMikmODE5MSxIKz1uZT4+PjEmODE5MTt2YXIgYWU9bFtoKzEwXXxsW2grMTFdPDw4O0crPShuZT4+PjE0fGFlPDwyKSY4MTkxO3ZhciBpZT1sW2grMTJdfGxbaCsxM108PDg7Tis9KGFlPj4+MTF8aWU8PDUpJjgxOTE7dmFyIFNlPWxbaCsxNF18bFtoKzE1XTw8ODtMKz0oaWU+Pj44fFNlPDw4KSY4MTkxLCQrPVNlPj4+NXx2O3ZhciBnZT0wLEZlPWdlO0ZlKz1FKlQsRmUrPV8qKDUqTyksRmUrPUEqKDUqbWUpLEZlKz1QKig1KmRlKSxGZSs9VSooNSplZSksZ2U9RmU+Pj4xMyxGZSY9ODE5MSxGZSs9SCooNSp6KSxGZSs9RyooNSpKKSxGZSs9TiooNSp4KSxGZSs9TCooNSpmKSxGZSs9JCooNSpJKSxnZSs9RmU+Pj4xMyxGZSY9ODE5MTt2YXIgeWU9Z2U7eWUrPUUqSSx5ZSs9XypULHllKz1BKig1Kk8pLHllKz1QKig1Km1lKSx5ZSs9VSooNSpkZSksZ2U9eWU+Pj4xMyx5ZSY9ODE5MSx5ZSs9SCooNSplZSkseWUrPUcqKDUqeikseWUrPU4qKDUqSikseWUrPUwqKDUqeCkseWUrPSQqKDUqZiksZ2UrPXllPj4+MTMseWUmPTgxOTE7dmFyIExlPWdlO0xlKz1FKmYsTGUrPV8qSSxMZSs9QSpULExlKz1QKig1Kk8pLExlKz1VKig1Km1lKSxnZT1MZT4+PjEzLExlJj04MTkxLExlKz1IKig1KmRlKSxMZSs9RyooNSplZSksTGUrPU4qKDUqeiksTGUrPUwqKDUqSiksTGUrPSQqKDUqeCksZ2UrPUxlPj4+MTMsTGUmPTgxOTE7dmFyIFg9Z2U7WCs9RSp4LFgrPV8qZixYKz1BKkksWCs9UCpULFgrPVUqKDUqTyksZ2U9WD4+PjEzLFgmPTgxOTEsWCs9SCooNSptZSksWCs9RyooNSpkZSksWCs9TiooNSplZSksWCs9TCooNSp6KSxYKz0kKig1KkopLGdlKz1YPj4+MTMsWCY9ODE5MTt2YXIgWT1nZTtZKz1FKkosWSs9Xyp4LFkrPUEqZixZKz1QKkksWSs9VSpULGdlPVk+Pj4xMyxZJj04MTkxLFkrPUgqKDUqTyksWSs9RyooNSptZSksWSs9TiooNSpkZSksWSs9TCooNSplZSksWSs9JCooNSp6KSxnZSs9WT4+PjEzLFkmPTgxOTE7dmFyIFc9Z2U7Vys9RSp6LFcrPV8qSixXKz1BKngsVys9UCpmLFcrPVUqSSxnZT1XPj4+MTMsVyY9ODE5MSxXKz1IKlQsVys9RyooNSpPKSxXKz1OKig1Km1lKSxXKz1MKig1KmRlKSxXKz0kKig1KmVlKSxnZSs9Vz4+PjEzLFcmPTgxOTE7dmFyIHc9Z2U7dys9RSplZSx3Kz1fKnosdys9QSpKLHcrPVAqeCx3Kz1VKmYsZ2U9dz4+PjEzLHcmPTgxOTEsdys9SCpJLHcrPUcqVCx3Kz1OKig1Kk8pLHcrPUwqKDUqbWUpLHcrPSQqKDUqZGUpLGdlKz13Pj4+MTMsdyY9ODE5MTt2YXIgRj1nZTtGKz1FKmRlLEYrPV8qZWUsRis9QSp6LEYrPVAqSixGKz1VKngsZ2U9Rj4+PjEzLEYmPTgxOTEsRis9SCpmLEYrPUcqSSxGKz1OKlQsRis9TCooNSpPKSxGKz0kKig1Km1lKSxnZSs9Rj4+PjEzLEYmPTgxOTE7dmFyIHdlPWdlO3dlKz1FKm1lLHdlKz1fKmRlLHdlKz1BKmVlLHdlKz1QKnosd2UrPVUqSixnZT13ZT4+PjEzLHdlJj04MTkxLHdlKz1IKngsd2UrPUcqZix3ZSs9TipJLHdlKz1MKlQsd2UrPSQqKDUqTyksZ2UrPXdlPj4+MTMsd2UmPTgxOTE7dmFyIHZlPWdlO3ZlKz1FKk8sdmUrPV8qbWUsdmUrPUEqZGUsdmUrPVAqZWUsdmUrPVUqeixnZT12ZT4+PjEzLHZlJj04MTkxLHZlKz1IKkosdmUrPUcqeCx2ZSs9TipmLHZlKz1MKkksdmUrPSQqVCxnZSs9dmU+Pj4xMyx2ZSY9ODE5MSxnZT0oZ2U8PDIpK2dlfDAsZ2U9Z2UrRmV8MCxGZT1nZSY4MTkxLGdlPWdlPj4+MTMseWUrPWdlLEU9RmUsXz15ZSxBPUxlLFA9WCxVPVksSD1XLEc9dyxOPUYsTD13ZSwkPXZlLGgrPTE2LGQtPTE2fXRoaXMuX2hbMF09RSx0aGlzLl9oWzFdPV8sdGhpcy5faFsyXT1BLHRoaXMuX2hbM109UCx0aGlzLl9oWzRdPVUsdGhpcy5faFs1XT1ILHRoaXMuX2hbNl09Ryx0aGlzLl9oWzddPU4sdGhpcy5faFs4XT1MLHRoaXMuX2hbOV09JH0sYy5wcm90b3R5cGUuZmluaXNoPWZ1bmN0aW9uKGwsaCl7aD09PXZvaWQgMCYmKGg9MCk7dmFyIGQ9bmV3IFVpbnQxNkFycmF5KDEwKSx2LEUsXyxBO2lmKHRoaXMuX2xlZnRvdmVyKXtmb3IoQT10aGlzLl9sZWZ0b3Zlcix0aGlzLl9idWZmZXJbQSsrXT0xO0E8MTY7QSsrKXRoaXMuX2J1ZmZlcltBXT0wO3RoaXMuX2Zpbj0xLHRoaXMuX2Jsb2Nrcyh0aGlzLl9idWZmZXIsMCwxNil9Zm9yKHY9dGhpcy5faFsxXT4+PjEzLHRoaXMuX2hbMV0mPTgxOTEsQT0yO0E8MTA7QSsrKXRoaXMuX2hbQV0rPXYsdj10aGlzLl9oW0FdPj4+MTMsdGhpcy5faFtBXSY9ODE5MTtmb3IodGhpcy5faFswXSs9dio1LHY9dGhpcy5faFswXT4+PjEzLHRoaXMuX2hbMF0mPTgxOTEsdGhpcy5faFsxXSs9dix2PXRoaXMuX2hbMV0+Pj4xMyx0aGlzLl9oWzFdJj04MTkxLHRoaXMuX2hbMl0rPXYsZFswXT10aGlzLl9oWzBdKzUsdj1kWzBdPj4+MTMsZFswXSY9ODE5MSxBPTE7QTwxMDtBKyspZFtBXT10aGlzLl9oW0FdK3Ysdj1kW0FdPj4+MTMsZFtBXSY9ODE5MTtmb3IoZFs5XS09MTw8MTMsRT0odl4xKS0xLEE9MDtBPDEwO0ErKylkW0FdJj1FO2ZvcihFPX5FLEE9MDtBPDEwO0ErKyl0aGlzLl9oW0FdPXRoaXMuX2hbQV0mRXxkW0FdO2Zvcih0aGlzLl9oWzBdPSh0aGlzLl9oWzBdfHRoaXMuX2hbMV08PDEzKSY2NTUzNSx0aGlzLl9oWzFdPSh0aGlzLl9oWzFdPj4+M3x0aGlzLl9oWzJdPDwxMCkmNjU1MzUsdGhpcy5faFsyXT0odGhpcy5faFsyXT4+PjZ8dGhpcy5faFszXTw8NykmNjU1MzUsdGhpcy5faFszXT0odGhpcy5faFszXT4+Pjl8dGhpcy5faFs0XTw8NCkmNjU1MzUsdGhpcy5faFs0XT0odGhpcy5faFs0XT4+PjEyfHRoaXMuX2hbNV08PDF8dGhpcy5faFs2XTw8MTQpJjY1NTM1LHRoaXMuX2hbNV09KHRoaXMuX2hbNl0+Pj4yfHRoaXMuX2hbN108PDExKSY2NTUzNSx0aGlzLl9oWzZdPSh0aGlzLl9oWzddPj4+NXx0aGlzLl9oWzhdPDw4KSY2NTUzNSx0aGlzLl9oWzddPSh0aGlzLl9oWzhdPj4+OHx0aGlzLl9oWzldPDw1KSY2NTUzNSxfPXRoaXMuX2hbMF0rdGhpcy5fcGFkWzBdLHRoaXMuX2hbMF09XyY2NTUzNSxBPTE7QTw4O0ErKylfPSh0aGlzLl9oW0FdK3RoaXMuX3BhZFtBXXwwKSsoXz4+PjE2KXwwLHRoaXMuX2hbQV09XyY2NTUzNTtyZXR1cm4gbFtoKzBdPXRoaXMuX2hbMF0+Pj4wLGxbaCsxXT10aGlzLl9oWzBdPj4+OCxsW2grMl09dGhpcy5faFsxXT4+PjAsbFtoKzNdPXRoaXMuX2hbMV0+Pj44LGxbaCs0XT10aGlzLl9oWzJdPj4+MCxsW2grNV09dGhpcy5faFsyXT4+PjgsbFtoKzZdPXRoaXMuX2hbM10+Pj4wLGxbaCs3XT10aGlzLl9oWzNdPj4+OCxsW2grOF09dGhpcy5faFs0XT4+PjAsbFtoKzldPXRoaXMuX2hbNF0+Pj44LGxbaCsxMF09dGhpcy5faFs1XT4+PjAsbFtoKzExXT10aGlzLl9oWzVdPj4+OCxsW2grMTJdPXRoaXMuX2hbNl0+Pj4wLGxbaCsxM109dGhpcy5faFs2XT4+PjgsbFtoKzE0XT10aGlzLl9oWzddPj4+MCxsW2grMTVdPXRoaXMuX2hbN10+Pj44LHRoaXMuX2ZpbmlzaGVkPSEwLHRoaXN9LGMucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihsKXt2YXIgaD0wLGQ9bC5sZW5ndGgsdjtpZih0aGlzLl9sZWZ0b3Zlcil7dj0xNi10aGlzLl9sZWZ0b3Zlcix2PmQmJih2PWQpO2Zvcih2YXIgRT0wO0U8djtFKyspdGhpcy5fYnVmZmVyW3RoaXMuX2xlZnRvdmVyK0VdPWxbaCtFXTtpZihkLT12LGgrPXYsdGhpcy5fbGVmdG92ZXIrPXYsdGhpcy5fbGVmdG92ZXI8MTYpcmV0dXJuIHRoaXM7dGhpcy5fYmxvY2tzKHRoaXMuX2J1ZmZlciwwLDE2KSx0aGlzLl9sZWZ0b3Zlcj0wfWlmKGQ+PTE2JiYodj1kLWQlMTYsdGhpcy5fYmxvY2tzKGwsaCx2KSxoKz12LGQtPXYpLGQpe2Zvcih2YXIgRT0wO0U8ZDtFKyspdGhpcy5fYnVmZmVyW3RoaXMuX2xlZnRvdmVyK0VdPWxbaCtFXTt0aGlzLl9sZWZ0b3Zlcis9ZH1yZXR1cm4gdGhpc30sYy5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uKCl7aWYodGhpcy5fZmluaXNoZWQpdGhyb3cgbmV3IEVycm9yKCJQb2x5MTMwNSB3YXMgZmluaXNoZWQiKTt2YXIgbD1uZXcgVWludDhBcnJheSgxNik7cmV0dXJuIHRoaXMuZmluaXNoKGwpLGx9LGMucHJvdG90eXBlLmNsZWFuPWZ1bmN0aW9uKCl7cmV0dXJuIHIud2lwZSh0aGlzLl9idWZmZXIpLHIud2lwZSh0aGlzLl9yKSxyLndpcGUodGhpcy5faCksci53aXBlKHRoaXMuX3BhZCksdGhpcy5fbGVmdG92ZXI9MCx0aGlzLl9maW49MCx0aGlzLl9maW5pc2hlZD0hMCx0aGlzfSxjfSgpO3QuUG9seTEzMDU9bjtmdW5jdGlvbiBpKGMsbCl7dmFyIGg9bmV3IG4oYyk7aC51cGRhdGUobCk7dmFyIGQ9aC5kaWdlc3QoKTtyZXR1cm4gaC5jbGVhbigpLGR9dC5vbmVUaW1lQXV0aD1pO2Z1bmN0aW9uIG8oYyxsKXtyZXR1cm4gYy5sZW5ndGghPT10LkRJR0VTVF9MRU5HVEh8fGwubGVuZ3RoIT09dC5ESUdFU1RfTEVOR1RIPyExOmUuZXF1YWwoYyxsKX10LmVxdWFsPW99KE9kKSxmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGU9amEscj1PZCxuPVlyLGk9ZXQsbz1saTt0LktFWV9MRU5HVEg9MzIsdC5OT05DRV9MRU5HVEg9MTIsdC5UQUdfTEVOR1RIPTE2O3ZhciBjPW5ldyBVaW50OEFycmF5KDE2KSxsPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChkKXtpZih0aGlzLm5vbmNlTGVuZ3RoPXQuTk9OQ0VfTEVOR1RILHRoaXMudGFnTGVuZ3RoPXQuVEFHX0xFTkdUSCxkLmxlbmd0aCE9PXQuS0VZX0xFTkdUSCl0aHJvdyBuZXcgRXJyb3IoIkNoYUNoYTIwUG9seTEzMDUgbmVlZHMgMzItYnl0ZSBrZXkiKTt0aGlzLl9rZXk9bmV3IFVpbnQ4QXJyYXkoZCl9cmV0dXJuIGgucHJvdG90eXBlLnNlYWw9ZnVuY3Rpb24oZCx2LEUsXyl7aWYoZC5sZW5ndGg+MTYpdGhyb3cgbmV3IEVycm9yKCJDaGFDaGEyMFBvbHkxMzA1OiBpbmNvcnJlY3Qgbm9uY2UgbGVuZ3RoIik7dmFyIEE9bmV3IFVpbnQ4QXJyYXkoMTYpO0Euc2V0KGQsQS5sZW5ndGgtZC5sZW5ndGgpO3ZhciBQPW5ldyBVaW50OEFycmF5KDMyKTtlLnN0cmVhbSh0aGlzLl9rZXksQSxQLDQpO3ZhciBVPXYubGVuZ3RoK3RoaXMudGFnTGVuZ3RoLEg7aWYoXyl7aWYoXy5sZW5ndGghPT1VKXRocm93IG5ldyBFcnJvcigiQ2hhQ2hhMjBQb2x5MTMwNTogaW5jb3JyZWN0IGRlc3RpbmF0aW9uIGxlbmd0aCIpO0g9X31lbHNlIEg9bmV3IFVpbnQ4QXJyYXkoVSk7cmV0dXJuIGUuc3RyZWFtWE9SKHRoaXMuX2tleSxBLHYsSCw0KSx0aGlzLl9hdXRoZW50aWNhdGUoSC5zdWJhcnJheShILmxlbmd0aC10aGlzLnRhZ0xlbmd0aCxILmxlbmd0aCksUCxILnN1YmFycmF5KDAsSC5sZW5ndGgtdGhpcy50YWdMZW5ndGgpLEUpLG4ud2lwZShBKSxIfSxoLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKGQsdixFLF8pe2lmKGQubGVuZ3RoPjE2KXRocm93IG5ldyBFcnJvcigiQ2hhQ2hhMjBQb2x5MTMwNTogaW5jb3JyZWN0IG5vbmNlIGxlbmd0aCIpO2lmKHYubGVuZ3RoPHRoaXMudGFnTGVuZ3RoKXJldHVybiBudWxsO3ZhciBBPW5ldyBVaW50OEFycmF5KDE2KTtBLnNldChkLEEubGVuZ3RoLWQubGVuZ3RoKTt2YXIgUD1uZXcgVWludDhBcnJheSgzMik7ZS5zdHJlYW0odGhpcy5fa2V5LEEsUCw0KTt2YXIgVT1uZXcgVWludDhBcnJheSh0aGlzLnRhZ0xlbmd0aCk7aWYodGhpcy5fYXV0aGVudGljYXRlKFUsUCx2LnN1YmFycmF5KDAsdi5sZW5ndGgtdGhpcy50YWdMZW5ndGgpLEUpLCFvLmVxdWFsKFUsdi5zdWJhcnJheSh2Lmxlbmd0aC10aGlzLnRhZ0xlbmd0aCx2Lmxlbmd0aCkpKXJldHVybiBudWxsO3ZhciBIPXYubGVuZ3RoLXRoaXMudGFnTGVuZ3RoLEc7aWYoXyl7aWYoXy5sZW5ndGghPT1IKXRocm93IG5ldyBFcnJvcigiQ2hhQ2hhMjBQb2x5MTMwNTogaW5jb3JyZWN0IGRlc3RpbmF0aW9uIGxlbmd0aCIpO0c9X31lbHNlIEc9bmV3IFVpbnQ4QXJyYXkoSCk7cmV0dXJuIGUuc3RyZWFtWE9SKHRoaXMuX2tleSxBLHYuc3ViYXJyYXkoMCx2Lmxlbmd0aC10aGlzLnRhZ0xlbmd0aCksRyw0KSxuLndpcGUoQSksR30saC5wcm90b3R5cGUuY2xlYW49ZnVuY3Rpb24oKXtyZXR1cm4gbi53aXBlKHRoaXMuX2tleSksdGhpc30saC5wcm90b3R5cGUuX2F1dGhlbnRpY2F0ZT1mdW5jdGlvbihkLHYsRSxfKXt2YXIgQT1uZXcgci5Qb2x5MTMwNSh2KTtfJiYoQS51cGRhdGUoXyksXy5sZW5ndGglMTY+MCYmQS51cGRhdGUoYy5zdWJhcnJheShfLmxlbmd0aCUxNikpKSxBLnVwZGF0ZShFKSxFLmxlbmd0aCUxNj4wJiZBLnVwZGF0ZShjLnN1YmFycmF5KEUubGVuZ3RoJTE2KSk7dmFyIFA9bmV3IFVpbnQ4QXJyYXkoOCk7XyYmaS53cml0ZVVpbnQ2NExFKF8ubGVuZ3RoLFApLEEudXBkYXRlKFApLGkud3JpdGVVaW50NjRMRShFLmxlbmd0aCxQKSxBLnVwZGF0ZShQKTtmb3IodmFyIFU9QS5kaWdlc3QoKSxIPTA7SDxVLmxlbmd0aDtIKyspZFtIXT1VW0hdO0EuY2xlYW4oKSxuLndpcGUoVSksbi53aXBlKFApfSxofSgpO3QuQ2hhQ2hhMjBQb2x5MTMwNT1sfShRbCk7dmFyIFNkPXt9LGJvPXt9LHN1PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShzdSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7ZnVuY3Rpb24gWXcodCl7cmV0dXJuIHR5cGVvZiB0LnNhdmVTdGF0ZTwidSImJnR5cGVvZiB0LnJlc3RvcmVTdGF0ZTwidSImJnR5cGVvZiB0LmNsZWFuU2F2ZWRTdGF0ZTwidSJ9c3UuaXNTZXJpYWxpemFibGVIYXNoPVl3LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShibywiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIERuPXN1LEp3PWxpLFh3PVlyLERkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLHIpe3RoaXMuX2ZpbmlzaGVkPSExLHRoaXMuX2lubmVyPW5ldyBlLHRoaXMuX291dGVyPW5ldyBlLHRoaXMuYmxvY2tTaXplPXRoaXMuX291dGVyLmJsb2NrU2l6ZSx0aGlzLmRpZ2VzdExlbmd0aD10aGlzLl9vdXRlci5kaWdlc3RMZW5ndGg7dmFyIG49bmV3IFVpbnQ4QXJyYXkodGhpcy5ibG9ja1NpemUpO3IubGVuZ3RoPnRoaXMuYmxvY2tTaXplP3RoaXMuX2lubmVyLnVwZGF0ZShyKS5maW5pc2gobikuY2xlYW4oKTpuLnNldChyKTtmb3IodmFyIGk9MDtpPG4ubGVuZ3RoO2krKyluW2ldXj01NDt0aGlzLl9pbm5lci51cGRhdGUobik7Zm9yKHZhciBpPTA7aTxuLmxlbmd0aDtpKyspbltpXV49MTA2O3RoaXMuX291dGVyLnVwZGF0ZShuKSxEbi5pc1NlcmlhbGl6YWJsZUhhc2godGhpcy5faW5uZXIpJiZEbi5pc1NlcmlhbGl6YWJsZUhhc2godGhpcy5fb3V0ZXIpJiYodGhpcy5faW5uZXJLZXllZFN0YXRlPXRoaXMuX2lubmVyLnNhdmVTdGF0ZSgpLHRoaXMuX291dGVyS2V5ZWRTdGF0ZT10aGlzLl9vdXRlci5zYXZlU3RhdGUoKSksWHcud2lwZShuKX1yZXR1cm4gdC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXtpZighRG4uaXNTZXJpYWxpemFibGVIYXNoKHRoaXMuX2lubmVyKXx8IURuLmlzU2VyaWFsaXphYmxlSGFzaCh0aGlzLl9vdXRlcikpdGhyb3cgbmV3IEVycm9yKCJobWFjOiBjYW4ndCByZXNldCgpIGJlY2F1c2UgaGFzaCBkb2Vzbid0IGltcGxlbWVudCByZXN0b3JlU3RhdGUoKSIpO3JldHVybiB0aGlzLl9pbm5lci5yZXN0b3JlU3RhdGUodGhpcy5faW5uZXJLZXllZFN0YXRlKSx0aGlzLl9vdXRlci5yZXN0b3JlU3RhdGUodGhpcy5fb3V0ZXJLZXllZFN0YXRlKSx0aGlzLl9maW5pc2hlZD0hMSx0aGlzfSx0LnByb3RvdHlwZS5jbGVhbj1mdW5jdGlvbigpe0RuLmlzU2VyaWFsaXphYmxlSGFzaCh0aGlzLl9pbm5lcikmJnRoaXMuX2lubmVyLmNsZWFuU2F2ZWRTdGF0ZSh0aGlzLl9pbm5lcktleWVkU3RhdGUpLERuLmlzU2VyaWFsaXphYmxlSGFzaCh0aGlzLl9vdXRlcikmJnRoaXMuX291dGVyLmNsZWFuU2F2ZWRTdGF0ZSh0aGlzLl9vdXRlcktleWVkU3RhdGUpLHRoaXMuX2lubmVyLmNsZWFuKCksdGhpcy5fb3V0ZXIuY2xlYW4oKX0sdC5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9pbm5lci51cGRhdGUoZSksdGhpc30sdC5wcm90b3R5cGUuZmluaXNoPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9maW5pc2hlZD8odGhpcy5fb3V0ZXIuZmluaXNoKGUpLHRoaXMpOih0aGlzLl9pbm5lci5maW5pc2goZSksdGhpcy5fb3V0ZXIudXBkYXRlKGUuc3ViYXJyYXkoMCx0aGlzLmRpZ2VzdExlbmd0aCkpLmZpbmlzaChlKSx0aGlzLl9maW5pc2hlZD0hMCx0aGlzKX0sdC5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uKCl7dmFyIGU9bmV3IFVpbnQ4QXJyYXkodGhpcy5kaWdlc3RMZW5ndGgpO3JldHVybiB0aGlzLmZpbmlzaChlKSxlfSx0LnByb3RvdHlwZS5zYXZlU3RhdGU9ZnVuY3Rpb24oKXtpZighRG4uaXNTZXJpYWxpemFibGVIYXNoKHRoaXMuX2lubmVyKSl0aHJvdyBuZXcgRXJyb3IoImhtYWM6IGNhbid0IHNhdmVTdGF0ZSgpIGJlY2F1c2UgaGFzaCBkb2Vzbid0IGltcGxlbWVudCBpdCIpO3JldHVybiB0aGlzLl9pbm5lci5zYXZlU3RhdGUoKX0sdC5wcm90b3R5cGUucmVzdG9yZVN0YXRlPWZ1bmN0aW9uKGUpe2lmKCFEbi5pc1NlcmlhbGl6YWJsZUhhc2godGhpcy5faW5uZXIpfHwhRG4uaXNTZXJpYWxpemFibGVIYXNoKHRoaXMuX291dGVyKSl0aHJvdyBuZXcgRXJyb3IoImhtYWM6IGNhbid0IHJlc3RvcmVTdGF0ZSgpIGJlY2F1c2UgaGFzaCBkb2Vzbid0IGltcGxlbWVudCBpdCIpO3JldHVybiB0aGlzLl9pbm5lci5yZXN0b3JlU3RhdGUoZSksdGhpcy5fb3V0ZXIucmVzdG9yZVN0YXRlKHRoaXMuX291dGVyS2V5ZWRTdGF0ZSksdGhpcy5fZmluaXNoZWQ9ITEsdGhpc30sdC5wcm90b3R5cGUuY2xlYW5TYXZlZFN0YXRlPWZ1bmN0aW9uKGUpe2lmKCFEbi5pc1NlcmlhbGl6YWJsZUhhc2godGhpcy5faW5uZXIpKXRocm93IG5ldyBFcnJvcigiaG1hYzogY2FuJ3QgY2xlYW5TYXZlZFN0YXRlKCkgYmVjYXVzZSBoYXNoIGRvZXNuJ3QgaW1wbGVtZW50IGl0Iik7dGhpcy5faW5uZXIuY2xlYW5TYXZlZFN0YXRlKGUpfSx0fSgpO2JvLkhNQUM9RGQ7ZnVuY3Rpb24gUXcodCxlLHIpe3ZhciBuPW5ldyBEZCh0LGUpO24udXBkYXRlKHIpO3ZhciBpPW4uZGlnZXN0KCk7cmV0dXJuIG4uY2xlYW4oKSxpfWJvLmhtYWM9UXcsYm8uZXF1YWw9SncuZXF1YWwsT2JqZWN0LmRlZmluZVByb3BlcnR5KFNkLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgJGQ9Ym8sUGQ9WXIsZXY9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUscixuLGkpe249PT12b2lkIDAmJihuPW5ldyBVaW50OEFycmF5KDApKSx0aGlzLl9jb3VudGVyPW5ldyBVaW50OEFycmF5KDEpLHRoaXMuX2hhc2g9ZSx0aGlzLl9pbmZvPWk7dmFyIG89JGQuaG1hYyh0aGlzLl9oYXNoLG4scik7dGhpcy5faG1hYz1uZXcgJGQuSE1BQyhlLG8pLHRoaXMuX2J1ZmZlcj1uZXcgVWludDhBcnJheSh0aGlzLl9obWFjLmRpZ2VzdExlbmd0aCksdGhpcy5fYnVmcG9zPXRoaXMuX2J1ZmZlci5sZW5ndGh9cmV0dXJuIHQucHJvdG90eXBlLl9maWxsQnVmZmVyPWZ1bmN0aW9uKCl7dGhpcy5fY291bnRlclswXSsrO3ZhciBlPXRoaXMuX2NvdW50ZXJbMF07aWYoZT09PTApdGhyb3cgbmV3IEVycm9yKCJoa2RmOiBjYW5ub3QgZXhwYW5kIG1vcmUiKTt0aGlzLl9obWFjLnJlc2V0KCksZT4xJiZ0aGlzLl9obWFjLnVwZGF0ZSh0aGlzLl9idWZmZXIpLHRoaXMuX2luZm8mJnRoaXMuX2htYWMudXBkYXRlKHRoaXMuX2luZm8pLHRoaXMuX2htYWMudXBkYXRlKHRoaXMuX2NvdW50ZXIpLHRoaXMuX2htYWMuZmluaXNoKHRoaXMuX2J1ZmZlciksdGhpcy5fYnVmcG9zPTB9LHQucHJvdG90eXBlLmV4cGFuZD1mdW5jdGlvbihlKXtmb3IodmFyIHI9bmV3IFVpbnQ4QXJyYXkoZSksbj0wO248ci5sZW5ndGg7bisrKXRoaXMuX2J1ZnBvcz09PXRoaXMuX2J1ZmZlci5sZW5ndGgmJnRoaXMuX2ZpbGxCdWZmZXIoKSxyW25dPXRoaXMuX2J1ZmZlclt0aGlzLl9idWZwb3MrK107cmV0dXJuIHJ9LHQucHJvdG90eXBlLmNsZWFuPWZ1bmN0aW9uKCl7dGhpcy5faG1hYy5jbGVhbigpLFBkLndpcGUodGhpcy5fYnVmZmVyKSxQZC53aXBlKHRoaXMuX2NvdW50ZXIpLHRoaXMuX2J1ZnBvcz0wfSx0fSgpLHR2PVNkLkhLREY9ZXYsQ3M9e30sa2E9e30sSGE9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KEhhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxIYS5Ccm93c2VyUmFuZG9tU291cmNlPXZvaWQgMDtjb25zdCBUZD02NTUzNjtjbGFzcyBydntjb25zdHJ1Y3Rvcigpe3RoaXMuaXNBdmFpbGFibGU9ITEsdGhpcy5pc0luc3RhbnRpYXRlZD0hMTtjb25zdCBlPXR5cGVvZiBzZWxmPCJ1Ij9zZWxmLmNyeXB0b3x8c2VsZi5tc0NyeXB0bzpudWxsO2UmJmUuZ2V0UmFuZG9tVmFsdWVzIT09dm9pZCAwJiYodGhpcy5fY3J5cHRvPWUsdGhpcy5pc0F2YWlsYWJsZT0hMCx0aGlzLmlzSW5zdGFudGlhdGVkPSEwKX1yYW5kb21CeXRlcyhlKXtpZighdGhpcy5pc0F2YWlsYWJsZXx8IXRoaXMuX2NyeXB0byl0aHJvdyBuZXcgRXJyb3IoIkJyb3dzZXIgcmFuZG9tIGJ5dGUgZ2VuZXJhdG9yIGlzIG5vdCBhdmFpbGFibGUuIik7Y29uc3Qgcj1uZXcgVWludDhBcnJheShlKTtmb3IobGV0IG49MDtuPHIubGVuZ3RoO24rPVRkKXRoaXMuX2NyeXB0by5nZXRSYW5kb21WYWx1ZXMoci5zdWJhcnJheShuLG4rTWF0aC5taW4oci5sZW5ndGgtbixUZCkpKTtyZXR1cm4gcn19SGEuQnJvd3NlclJhbmRvbVNvdXJjZT1ydjtmdW5jdGlvbiBudih0KXt0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBkeW5hbWljYWxseSByZXF1aXJlICInK3QrJyIuIFBsZWFzZSBjb25maWd1cmUgdGhlIGR5bmFtaWNSZXF1aXJlVGFyZ2V0cyBvci9hbmQgaWdub3JlRHluYW1pY1JlcXVpcmVzIG9wdGlvbiBvZiBAcm9sbHVwL3BsdWdpbi1jb21tb25qcyBhcHByb3ByaWF0ZWx5IGZvciB0aGlzIHJlcXVpcmUgY2FsbCB0byB3b3JrLicpfXZhciB6YT17fSxpdj17fSxzdj1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxkZWZhdWx0Oml2fSksb3Y9TWkoc3YpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh6YSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksemEuTm9kZVJhbmRvbVNvdXJjZT12b2lkIDA7Y29uc3QgYXY9WXI7Y2xhc3MgY3Z7Y29uc3RydWN0b3IoKXtpZih0aGlzLmlzQXZhaWxhYmxlPSExLHRoaXMuaXNJbnN0YW50aWF0ZWQ9ITEsdHlwZW9mIG52PCJ1Iil7Y29uc3QgZT1vdjtlJiZlLnJhbmRvbUJ5dGVzJiYodGhpcy5fY3J5cHRvPWUsdGhpcy5pc0F2YWlsYWJsZT0hMCx0aGlzLmlzSW5zdGFudGlhdGVkPSEwKX19cmFuZG9tQnl0ZXMoZSl7aWYoIXRoaXMuaXNBdmFpbGFibGV8fCF0aGlzLl9jcnlwdG8pdGhyb3cgbmV3IEVycm9yKCJOb2RlLmpzIHJhbmRvbSBieXRlIGdlbmVyYXRvciBpcyBub3QgYXZhaWxhYmxlLiIpO2xldCByPXRoaXMuX2NyeXB0by5yYW5kb21CeXRlcyhlKTtpZihyLmxlbmd0aCE9PWUpdGhyb3cgbmV3IEVycm9yKCJOb2RlUmFuZG9tU291cmNlOiBnb3QgZmV3ZXIgYnl0ZXMgdGhhbiByZXF1ZXN0ZWQiKTtjb25zdCBuPW5ldyBVaW50OEFycmF5KGUpO2ZvcihsZXQgaT0wO2k8bi5sZW5ndGg7aSsrKW5baV09cltpXTtyZXR1cm4oMCxhdi53aXBlKShyKSxufX16YS5Ob2RlUmFuZG9tU291cmNlPWN2LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShrYSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksa2EuU3lzdGVtUmFuZG9tU291cmNlPXZvaWQgMDtjb25zdCBsdj1IYSx1dj16YTtjbGFzcyBodntjb25zdHJ1Y3Rvcigpe2lmKHRoaXMuaXNBdmFpbGFibGU9ITEsdGhpcy5uYW1lPSIiLHRoaXMuX3NvdXJjZT1uZXcgbHYuQnJvd3NlclJhbmRvbVNvdXJjZSx0aGlzLl9zb3VyY2UuaXNBdmFpbGFibGUpe3RoaXMuaXNBdmFpbGFibGU9ITAsdGhpcy5uYW1lPSJCcm93c2VyIjtyZXR1cm59aWYodGhpcy5fc291cmNlPW5ldyB1di5Ob2RlUmFuZG9tU291cmNlLHRoaXMuX3NvdXJjZS5pc0F2YWlsYWJsZSl7dGhpcy5pc0F2YWlsYWJsZT0hMCx0aGlzLm5hbWU9Ik5vZGUiO3JldHVybn19cmFuZG9tQnl0ZXMoZSl7aWYoIXRoaXMuaXNBdmFpbGFibGUpdGhyb3cgbmV3IEVycm9yKCJTeXN0ZW0gcmFuZG9tIGJ5dGUgZ2VuZXJhdG9yIGlzIG5vdCBhdmFpbGFibGUuIik7cmV0dXJuIHRoaXMuX3NvdXJjZS5yYW5kb21CeXRlcyhlKX19a2EuU3lzdGVtUmFuZG9tU291cmNlPWh2LGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnJhbmRvbVN0cmluZ0ZvckVudHJvcHk9dC5yYW5kb21TdHJpbmc9dC5yYW5kb21VaW50MzI9dC5yYW5kb21CeXRlcz10LmRlZmF1bHRSYW5kb21Tb3VyY2U9dm9pZCAwO2NvbnN0IGU9a2Escj1ldCxuPVlyO3QuZGVmYXVsdFJhbmRvbVNvdXJjZT1uZXcgZS5TeXN0ZW1SYW5kb21Tb3VyY2U7ZnVuY3Rpb24gaShkLHY9dC5kZWZhdWx0UmFuZG9tU291cmNlKXtyZXR1cm4gdi5yYW5kb21CeXRlcyhkKX10LnJhbmRvbUJ5dGVzPWk7ZnVuY3Rpb24gbyhkPXQuZGVmYXVsdFJhbmRvbVNvdXJjZSl7Y29uc3Qgdj1pKDQsZCksRT0oMCxyLnJlYWRVaW50MzJMRSkodik7cmV0dXJuKDAsbi53aXBlKSh2KSxFfXQucmFuZG9tVWludDMyPW87Y29uc3QgYz0iMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiO2Z1bmN0aW9uIGwoZCx2PWMsRT10LmRlZmF1bHRSYW5kb21Tb3VyY2Upe2lmKHYubGVuZ3RoPDIpdGhyb3cgbmV3IEVycm9yKCJyYW5kb21TdHJpbmcgY2hhcnNldCBpcyB0b28gc2hvcnQiKTtpZih2Lmxlbmd0aD4yNTYpdGhyb3cgbmV3IEVycm9yKCJyYW5kb21TdHJpbmcgY2hhcnNldCBpcyB0b28gbG9uZyIpO2xldCBfPSIiO2NvbnN0IEE9di5sZW5ndGgsUD0yNTYtMjU2JUE7Zm9yKDtkPjA7KXtjb25zdCBVPWkoTWF0aC5jZWlsKGQqMjU2L1ApLEUpO2ZvcihsZXQgSD0wO0g8VS5sZW5ndGgmJmQ+MDtIKyspe2NvbnN0IEc9VVtIXTtHPFAmJihfKz12LmNoYXJBdChHJUEpLGQtLSl9KDAsbi53aXBlKShVKX1yZXR1cm4gX310LnJhbmRvbVN0cmluZz1sO2Z1bmN0aW9uIGgoZCx2PWMsRT10LmRlZmF1bHRSYW5kb21Tb3VyY2Upe2NvbnN0IF89TWF0aC5jZWlsKGQvKE1hdGgubG9nKHYubGVuZ3RoKS9NYXRoLkxOMikpO3JldHVybiBsKF8sdixFKX10LnJhbmRvbVN0cmluZ0ZvckVudHJvcHk9aH0oQ3MpO3ZhciBXYT17fTsoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPWV0LHI9WXI7dC5ESUdFU1RfTEVOR1RIPTMyLHQuQkxPQ0tfU0laRT02NDt2YXIgbj1mdW5jdGlvbigpe2Z1bmN0aW9uIGwoKXt0aGlzLmRpZ2VzdExlbmd0aD10LkRJR0VTVF9MRU5HVEgsdGhpcy5ibG9ja1NpemU9dC5CTE9DS19TSVpFLHRoaXMuX3N0YXRlPW5ldyBJbnQzMkFycmF5KDgpLHRoaXMuX3RlbXA9bmV3IEludDMyQXJyYXkoNjQpLHRoaXMuX2J1ZmZlcj1uZXcgVWludDhBcnJheSgxMjgpLHRoaXMuX2J1ZmZlckxlbmd0aD0wLHRoaXMuX2J5dGVzSGFzaGVkPTAsdGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5yZXNldCgpfXJldHVybiBsLnByb3RvdHlwZS5faW5pdFN0YXRlPWZ1bmN0aW9uKCl7dGhpcy5fc3RhdGVbMF09MTc3OTAzMzcwMyx0aGlzLl9zdGF0ZVsxXT0zMTQ0MTM0Mjc3LHRoaXMuX3N0YXRlWzJdPTEwMTM5MDQyNDIsdGhpcy5fc3RhdGVbM109Mjc3MzQ4MDc2Mix0aGlzLl9zdGF0ZVs0XT0xMzU5ODkzMTE5LHRoaXMuX3N0YXRlWzVdPTI2MDA4MjI5MjQsdGhpcy5fc3RhdGVbNl09NTI4NzM0NjM1LHRoaXMuX3N0YXRlWzddPTE1NDE0NTkyMjV9LGwucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2luaXRTdGF0ZSgpLHRoaXMuX2J1ZmZlckxlbmd0aD0wLHRoaXMuX2J5dGVzSGFzaGVkPTAsdGhpcy5fZmluaXNoZWQ9ITEsdGhpc30sbC5wcm90b3R5cGUuY2xlYW49ZnVuY3Rpb24oKXtyLndpcGUodGhpcy5fYnVmZmVyKSxyLndpcGUodGhpcy5fdGVtcCksdGhpcy5yZXNldCgpfSxsLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oaCxkKXtpZihkPT09dm9pZCAwJiYoZD1oLmxlbmd0aCksdGhpcy5fZmluaXNoZWQpdGhyb3cgbmV3IEVycm9yKCJTSEEyNTY6IGNhbid0IHVwZGF0ZSBiZWNhdXNlIGhhc2ggd2FzIGZpbmlzaGVkLiIpO3ZhciB2PTA7aWYodGhpcy5fYnl0ZXNIYXNoZWQrPWQsdGhpcy5fYnVmZmVyTGVuZ3RoPjApe2Zvcig7dGhpcy5fYnVmZmVyTGVuZ3RoPHRoaXMuYmxvY2tTaXplJiZkPjA7KXRoaXMuX2J1ZmZlclt0aGlzLl9idWZmZXJMZW5ndGgrK109aFt2KytdLGQtLTt0aGlzLl9idWZmZXJMZW5ndGg9PT10aGlzLmJsb2NrU2l6ZSYmKG8odGhpcy5fdGVtcCx0aGlzLl9zdGF0ZSx0aGlzLl9idWZmZXIsMCx0aGlzLmJsb2NrU2l6ZSksdGhpcy5fYnVmZmVyTGVuZ3RoPTApfWZvcihkPj10aGlzLmJsb2NrU2l6ZSYmKHY9byh0aGlzLl90ZW1wLHRoaXMuX3N0YXRlLGgsdixkKSxkJT10aGlzLmJsb2NrU2l6ZSk7ZD4wOyl0aGlzLl9idWZmZXJbdGhpcy5fYnVmZmVyTGVuZ3RoKytdPWhbdisrXSxkLS07cmV0dXJuIHRoaXN9LGwucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbihoKXtpZighdGhpcy5fZmluaXNoZWQpe3ZhciBkPXRoaXMuX2J5dGVzSGFzaGVkLHY9dGhpcy5fYnVmZmVyTGVuZ3RoLEU9ZC81MzY4NzA5MTJ8MCxfPWQ8PDMsQT1kJTY0PDU2PzY0OjEyODt0aGlzLl9idWZmZXJbdl09MTI4O2Zvcih2YXIgUD12KzE7UDxBLTg7UCsrKXRoaXMuX2J1ZmZlcltQXT0wO2Uud3JpdGVVaW50MzJCRShFLHRoaXMuX2J1ZmZlcixBLTgpLGUud3JpdGVVaW50MzJCRShfLHRoaXMuX2J1ZmZlcixBLTQpLG8odGhpcy5fdGVtcCx0aGlzLl9zdGF0ZSx0aGlzLl9idWZmZXIsMCxBKSx0aGlzLl9maW5pc2hlZD0hMH1mb3IodmFyIFA9MDtQPHRoaXMuZGlnZXN0TGVuZ3RoLzQ7UCsrKWUud3JpdGVVaW50MzJCRSh0aGlzLl9zdGF0ZVtQXSxoLFAqNCk7cmV0dXJuIHRoaXN9LGwucHJvdG90eXBlLmRpZ2VzdD1mdW5jdGlvbigpe3ZhciBoPW5ldyBVaW50OEFycmF5KHRoaXMuZGlnZXN0TGVuZ3RoKTtyZXR1cm4gdGhpcy5maW5pc2goaCksaH0sbC5wcm90b3R5cGUuc2F2ZVN0YXRlPWZ1bmN0aW9uKCl7aWYodGhpcy5fZmluaXNoZWQpdGhyb3cgbmV3IEVycm9yKCJTSEEyNTY6IGNhbm5vdCBzYXZlIGZpbmlzaGVkIHN0YXRlIik7cmV0dXJue3N0YXRlOm5ldyBJbnQzMkFycmF5KHRoaXMuX3N0YXRlKSxidWZmZXI6dGhpcy5fYnVmZmVyTGVuZ3RoPjA/bmV3IFVpbnQ4QXJyYXkodGhpcy5fYnVmZmVyKTp2b2lkIDAsYnVmZmVyTGVuZ3RoOnRoaXMuX2J1ZmZlckxlbmd0aCxieXRlc0hhc2hlZDp0aGlzLl9ieXRlc0hhc2hlZH19LGwucHJvdG90eXBlLnJlc3RvcmVTdGF0ZT1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5fc3RhdGUuc2V0KGguc3RhdGUpLHRoaXMuX2J1ZmZlckxlbmd0aD1oLmJ1ZmZlckxlbmd0aCxoLmJ1ZmZlciYmdGhpcy5fYnVmZmVyLnNldChoLmJ1ZmZlciksdGhpcy5fYnl0ZXNIYXNoZWQ9aC5ieXRlc0hhc2hlZCx0aGlzLl9maW5pc2hlZD0hMSx0aGlzfSxsLnByb3RvdHlwZS5jbGVhblNhdmVkU3RhdGU9ZnVuY3Rpb24oaCl7ci53aXBlKGguc3RhdGUpLGguYnVmZmVyJiZyLndpcGUoaC5idWZmZXIpLGguYnVmZmVyTGVuZ3RoPTAsaC5ieXRlc0hhc2hlZD0wfSxsfSgpO3QuU0hBMjU2PW47dmFyIGk9bmV3IEludDMyQXJyYXkoWzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF0pO2Z1bmN0aW9uIG8obCxoLGQsdixFKXtmb3IoO0U+PTY0Oyl7Zm9yKHZhciBfPWhbMF0sQT1oWzFdLFA9aFsyXSxVPWhbM10sSD1oWzRdLEc9aFs1XSxOPWhbNl0sTD1oWzddLCQ9MDskPDE2OyQrKyl7dmFyIFQ9diskKjQ7bFskXT1lLnJlYWRVaW50MzJCRShkLFQpfWZvcih2YXIgJD0xNjskPDY0OyQrKyl7dmFyIEk9bFskLTJdLGY9KEk+Pj4xN3xJPDwzMi0xNyleKEk+Pj4xOXxJPDwzMi0xOSleST4+PjEwO0k9bFskLTE1XTt2YXIgeD0oST4+Pjd8STw8MzItNyleKEk+Pj4xOHxJPDwzMi0xOCleST4+PjM7bFskXT0oZitsWyQtN118MCkrKHgrbFskLTE2XXwwKX1mb3IodmFyICQ9MDskPDY0OyQrKyl7dmFyIGY9KCgoSD4+PjZ8SDw8MjYpXihIPj4+MTF8SDw8MjEpXihIPj4+MjV8SDw8NykpKyhIJkdefkgmTil8MCkrKEwrKGlbJF0rbFskXXwwKXwwKXwwLHg9KChfPj4+MnxfPDwzMi0yKV4oXz4+PjEzfF88PDMyLTEzKV4oXz4+PjIyfF88PDMyLTIyKSkrKF8mQV5fJlBeQSZQKXwwO0w9TixOPUcsRz1ILEg9VStmfDAsVT1QLFA9QSxBPV8sXz1mK3h8MH1oWzBdKz1fLGhbMV0rPUEsaFsyXSs9UCxoWzNdKz1VLGhbNF0rPUgsaFs1XSs9RyxoWzZdKz1OLGhbN10rPUwsdis9NjQsRS09NjR9cmV0dXJuIHZ9ZnVuY3Rpb24gYyhsKXt2YXIgaD1uZXcgbjtoLnVwZGF0ZShsKTt2YXIgZD1oLmRpZ2VzdCgpO3JldHVybiBoLmNsZWFuKCksZH10Lmhhc2g9Y30pKFdhKTt2YXIgb3U9e307KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnNoYXJlZEtleT10LmdlbmVyYXRlS2V5UGFpcj10LmdlbmVyYXRlS2V5UGFpckZyb21TZWVkPXQuc2NhbGFyTXVsdEJhc2U9dC5zY2FsYXJNdWx0PXQuU0hBUkVEX0tFWV9MRU5HVEg9dC5TRUNSRVRfS0VZX0xFTkdUSD10LlBVQkxJQ19LRVlfTEVOR1RIPXZvaWQgMDtjb25zdCBlPUNzLHI9WXI7dC5QVUJMSUNfS0VZX0xFTkdUSD0zMix0LlNFQ1JFVF9LRVlfTEVOR1RIPTMyLHQuU0hBUkVEX0tFWV9MRU5HVEg9MzI7ZnVuY3Rpb24gbigkKXtjb25zdCBUPW5ldyBGbG9hdDY0QXJyYXkoMTYpO2lmKCQpZm9yKGxldCBJPTA7STwkLmxlbmd0aDtJKyspVFtJXT0kW0ldO3JldHVybiBUfWNvbnN0IGk9bmV3IFVpbnQ4QXJyYXkoMzIpO2lbMF09OTtjb25zdCBvPW4oWzU2MTI5LDFdKTtmdW5jdGlvbiBjKCQpe2xldCBUPTE7Zm9yKGxldCBJPTA7STwxNjtJKyspe2xldCBmPSRbSV0rVCs2NTUzNTtUPU1hdGguZmxvb3IoZi82NTUzNiksJFtJXT1mLVQqNjU1MzZ9JFswXSs9VC0xKzM3KihULTEpfWZ1bmN0aW9uIGwoJCxULEkpe2NvbnN0IGY9fihJLTEpO2ZvcihsZXQgeD0wO3g8MTY7eCsrKXtjb25zdCBKPWYmKCRbeF1eVFt4XSk7JFt4XV49SixUW3hdXj1KfX1mdW5jdGlvbiBoKCQsVCl7Y29uc3QgST1uKCksZj1uKCk7Zm9yKGxldCB4PTA7eDwxNjt4KyspZlt4XT1UW3hdO2MoZiksYyhmKSxjKGYpO2ZvcihsZXQgeD0wO3g8Mjt4Kyspe0lbMF09ZlswXS02NTUxNztmb3IobGV0IHo9MTt6PDE1O3orKylJW3pdPWZbel0tNjU1MzUtKElbei0xXT4+MTYmMSksSVt6LTFdJj02NTUzNTtJWzE1XT1mWzE1XS0zMjc2Ny0oSVsxNF0+PjE2JjEpO2NvbnN0IEo9SVsxNV0+PjE2JjE7SVsxNF0mPTY1NTM1LGwoZixJLDEtSil9Zm9yKGxldCB4PTA7eDwxNjt4KyspJFsyKnhdPWZbeF0mMjU1LCRbMip4KzFdPWZbeF0+Pjh9ZnVuY3Rpb24gZCgkLFQpe2ZvcihsZXQgST0wO0k8MTY7SSsrKSRbSV09VFsyKkldKyhUWzIqSSsxXTw8OCk7JFsxNV0mPTMyNzY3fWZ1bmN0aW9uIHYoJCxULEkpe2ZvcihsZXQgZj0wO2Y8MTY7ZisrKSRbZl09VFtmXStJW2ZdfWZ1bmN0aW9uIEUoJCxULEkpe2ZvcihsZXQgZj0wO2Y8MTY7ZisrKSRbZl09VFtmXS1JW2ZdfWZ1bmN0aW9uIF8oJCxULEkpe2xldCBmLHgsSj0wLHo9MCxlZT0wLGRlPTAsbWU9MCxPPTAsaj0wLGNlPTAsbGU9MCxyZT0wLG5lPTAsYWU9MCxpZT0wLFNlPTAsZ2U9MCxGZT0wLHllPTAsTGU9MCxYPTAsWT0wLFc9MCx3PTAsRj0wLHdlPTAsdmU9MCxNZT0wLG50PTAsYXQ9MCxHZT0wLER0PTAsJHQ9MCxKZT1JWzBdLEhlPUlbMV0sQmU9SVsyXSxLZT1JWzNdLHJ0PUlbNF0sVWU9SVs1XSxaZT1JWzZdLGI9SVs3XSxwPUlbOF0sbT1JWzldLEQ9SVsxMF0sQj1JWzExXSxLPUlbMTJdLFE9SVsxM10sRWU9SVsxNF0sVGU9SVsxNV07Zj1UWzBdLEorPWYqSmUseis9ZipIZSxlZSs9ZipCZSxkZSs9ZipLZSxtZSs9ZipydCxPKz1mKlVlLGorPWYqWmUsY2UrPWYqYixsZSs9ZipwLHJlKz1mKm0sbmUrPWYqRCxhZSs9ZipCLGllKz1mKkssU2UrPWYqUSxnZSs9ZipFZSxGZSs9ZipUZSxmPVRbMV0seis9ZipKZSxlZSs9ZipIZSxkZSs9ZipCZSxtZSs9ZipLZSxPKz1mKnJ0LGorPWYqVWUsY2UrPWYqWmUsbGUrPWYqYixyZSs9ZipwLG5lKz1mKm0sYWUrPWYqRCxpZSs9ZipCLFNlKz1mKkssZ2UrPWYqUSxGZSs9ZipFZSx5ZSs9ZipUZSxmPVRbMl0sZWUrPWYqSmUsZGUrPWYqSGUsbWUrPWYqQmUsTys9ZipLZSxqKz1mKnJ0LGNlKz1mKlVlLGxlKz1mKlplLHJlKz1mKmIsbmUrPWYqcCxhZSs9ZiptLGllKz1mKkQsU2UrPWYqQixnZSs9ZipLLEZlKz1mKlEseWUrPWYqRWUsTGUrPWYqVGUsZj1UWzNdLGRlKz1mKkplLG1lKz1mKkhlLE8rPWYqQmUsais9ZipLZSxjZSs9ZipydCxsZSs9ZipVZSxyZSs9ZipaZSxuZSs9ZipiLGFlKz1mKnAsaWUrPWYqbSxTZSs9ZipELGdlKz1mKkIsRmUrPWYqSyx5ZSs9ZipRLExlKz1mKkVlLFgrPWYqVGUsZj1UWzRdLG1lKz1mKkplLE8rPWYqSGUsais9ZipCZSxjZSs9ZipLZSxsZSs9ZipydCxyZSs9ZipVZSxuZSs9ZipaZSxhZSs9ZipiLGllKz1mKnAsU2UrPWYqbSxnZSs9ZipELEZlKz1mKkIseWUrPWYqSyxMZSs9ZipRLFgrPWYqRWUsWSs9ZipUZSxmPVRbNV0sTys9ZipKZSxqKz1mKkhlLGNlKz1mKkJlLGxlKz1mKktlLHJlKz1mKnJ0LG5lKz1mKlVlLGFlKz1mKlplLGllKz1mKmIsU2UrPWYqcCxnZSs9ZiptLEZlKz1mKkQseWUrPWYqQixMZSs9ZipLLFgrPWYqUSxZKz1mKkVlLFcrPWYqVGUsZj1UWzZdLGorPWYqSmUsY2UrPWYqSGUsbGUrPWYqQmUscmUrPWYqS2UsbmUrPWYqcnQsYWUrPWYqVWUsaWUrPWYqWmUsU2UrPWYqYixnZSs9ZipwLEZlKz1mKm0seWUrPWYqRCxMZSs9ZipCLFgrPWYqSyxZKz1mKlEsVys9ZipFZSx3Kz1mKlRlLGY9VFs3XSxjZSs9ZipKZSxsZSs9ZipIZSxyZSs9ZipCZSxuZSs9ZipLZSxhZSs9ZipydCxpZSs9ZipVZSxTZSs9ZipaZSxnZSs9ZipiLEZlKz1mKnAseWUrPWYqbSxMZSs9ZipELFgrPWYqQixZKz1mKkssVys9ZipRLHcrPWYqRWUsRis9ZipUZSxmPVRbOF0sbGUrPWYqSmUscmUrPWYqSGUsbmUrPWYqQmUsYWUrPWYqS2UsaWUrPWYqcnQsU2UrPWYqVWUsZ2UrPWYqWmUsRmUrPWYqYix5ZSs9ZipwLExlKz1mKm0sWCs9ZipELFkrPWYqQixXKz1mKkssdys9ZipRLEYrPWYqRWUsd2UrPWYqVGUsZj1UWzldLHJlKz1mKkplLG5lKz1mKkhlLGFlKz1mKkJlLGllKz1mKktlLFNlKz1mKnJ0LGdlKz1mKlVlLEZlKz1mKlplLHllKz1mKmIsTGUrPWYqcCxYKz1mKm0sWSs9ZipELFcrPWYqQix3Kz1mKkssRis9ZipRLHdlKz1mKkVlLHZlKz1mKlRlLGY9VFsxMF0sbmUrPWYqSmUsYWUrPWYqSGUsaWUrPWYqQmUsU2UrPWYqS2UsZ2UrPWYqcnQsRmUrPWYqVWUseWUrPWYqWmUsTGUrPWYqYixYKz1mKnAsWSs9ZiptLFcrPWYqRCx3Kz1mKkIsRis9ZipLLHdlKz1mKlEsdmUrPWYqRWUsTWUrPWYqVGUsZj1UWzExXSxhZSs9ZipKZSxpZSs9ZipIZSxTZSs9ZipCZSxnZSs9ZipLZSxGZSs9ZipydCx5ZSs9ZipVZSxMZSs9ZipaZSxYKz1mKmIsWSs9ZipwLFcrPWYqbSx3Kz1mKkQsRis9ZipCLHdlKz1mKkssdmUrPWYqUSxNZSs9ZipFZSxudCs9ZipUZSxmPVRbMTJdLGllKz1mKkplLFNlKz1mKkhlLGdlKz1mKkJlLEZlKz1mKktlLHllKz1mKnJ0LExlKz1mKlVlLFgrPWYqWmUsWSs9ZipiLFcrPWYqcCx3Kz1mKm0sRis9ZipELHdlKz1mKkIsdmUrPWYqSyxNZSs9ZipRLG50Kz1mKkVlLGF0Kz1mKlRlLGY9VFsxM10sU2UrPWYqSmUsZ2UrPWYqSGUsRmUrPWYqQmUseWUrPWYqS2UsTGUrPWYqcnQsWCs9ZipVZSxZKz1mKlplLFcrPWYqYix3Kz1mKnAsRis9ZiptLHdlKz1mKkQsdmUrPWYqQixNZSs9ZipLLG50Kz1mKlEsYXQrPWYqRWUsR2UrPWYqVGUsZj1UWzE0XSxnZSs9ZipKZSxGZSs9ZipIZSx5ZSs9ZipCZSxMZSs9ZipLZSxYKz1mKnJ0LFkrPWYqVWUsVys9ZipaZSx3Kz1mKmIsRis9ZipwLHdlKz1mKm0sdmUrPWYqRCxNZSs9ZipCLG50Kz1mKkssYXQrPWYqUSxHZSs9ZipFZSxEdCs9ZipUZSxmPVRbMTVdLEZlKz1mKkplLHllKz1mKkhlLExlKz1mKkJlLFgrPWYqS2UsWSs9ZipydCxXKz1mKlVlLHcrPWYqWmUsRis9ZipiLHdlKz1mKnAsdmUrPWYqbSxNZSs9ZipELG50Kz1mKkIsYXQrPWYqSyxHZSs9ZipRLER0Kz1mKkVlLCR0Kz1mKlRlLEorPTM4KnllLHorPTM4KkxlLGVlKz0zOCpYLGRlKz0zOCpZLG1lKz0zOCpXLE8rPTM4Kncsais9MzgqRixjZSs9Mzgqd2UsbGUrPTM4KnZlLHJlKz0zOCpNZSxuZSs9MzgqbnQsYWUrPTM4KmF0LGllKz0zOCpHZSxTZSs9MzgqRHQsZ2UrPTM4KiR0LHg9MSxmPUoreCs2NTUzNSx4PU1hdGguZmxvb3IoZi82NTUzNiksSj1mLXgqNjU1MzYsZj16K3grNjU1MzUseD1NYXRoLmZsb29yKGYvNjU1MzYpLHo9Zi14KjY1NTM2LGY9ZWUreCs2NTUzNSx4PU1hdGguZmxvb3IoZi82NTUzNiksZWU9Zi14KjY1NTM2LGY9ZGUreCs2NTUzNSx4PU1hdGguZmxvb3IoZi82NTUzNiksZGU9Zi14KjY1NTM2LGY9bWUreCs2NTUzNSx4PU1hdGguZmxvb3IoZi82NTUzNiksbWU9Zi14KjY1NTM2LGY9Tyt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxPPWYteCo2NTUzNixmPWoreCs2NTUzNSx4PU1hdGguZmxvb3IoZi82NTUzNiksaj1mLXgqNjU1MzYsZj1jZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxjZT1mLXgqNjU1MzYsZj1sZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxsZT1mLXgqNjU1MzYsZj1yZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxyZT1mLXgqNjU1MzYsZj1uZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxuZT1mLXgqNjU1MzYsZj1hZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxhZT1mLXgqNjU1MzYsZj1pZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxpZT1mLXgqNjU1MzYsZj1TZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxTZT1mLXgqNjU1MzYsZj1nZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxnZT1mLXgqNjU1MzYsZj1GZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxGZT1mLXgqNjU1MzYsSis9eC0xKzM3Kih4LTEpLHg9MSxmPUoreCs2NTUzNSx4PU1hdGguZmxvb3IoZi82NTUzNiksSj1mLXgqNjU1MzYsZj16K3grNjU1MzUseD1NYXRoLmZsb29yKGYvNjU1MzYpLHo9Zi14KjY1NTM2LGY9ZWUreCs2NTUzNSx4PU1hdGguZmxvb3IoZi82NTUzNiksZWU9Zi14KjY1NTM2LGY9ZGUreCs2NTUzNSx4PU1hdGguZmxvb3IoZi82NTUzNiksZGU9Zi14KjY1NTM2LGY9bWUreCs2NTUzNSx4PU1hdGguZmxvb3IoZi82NTUzNiksbWU9Zi14KjY1NTM2LGY9Tyt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxPPWYteCo2NTUzNixmPWoreCs2NTUzNSx4PU1hdGguZmxvb3IoZi82NTUzNiksaj1mLXgqNjU1MzYsZj1jZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxjZT1mLXgqNjU1MzYsZj1sZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxsZT1mLXgqNjU1MzYsZj1yZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxyZT1mLXgqNjU1MzYsZj1uZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxuZT1mLXgqNjU1MzYsZj1hZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxhZT1mLXgqNjU1MzYsZj1pZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxpZT1mLXgqNjU1MzYsZj1TZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxTZT1mLXgqNjU1MzYsZj1nZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxnZT1mLXgqNjU1MzYsZj1GZSt4KzY1NTM1LHg9TWF0aC5mbG9vcihmLzY1NTM2KSxGZT1mLXgqNjU1MzYsSis9eC0xKzM3Kih4LTEpLCRbMF09SiwkWzFdPXosJFsyXT1lZSwkWzNdPWRlLCRbNF09bWUsJFs1XT1PLCRbNl09aiwkWzddPWNlLCRbOF09bGUsJFs5XT1yZSwkWzEwXT1uZSwkWzExXT1hZSwkWzEyXT1pZSwkWzEzXT1TZSwkWzE0XT1nZSwkWzE1XT1GZX1mdW5jdGlvbiBBKCQsVCl7XygkLFQsVCl9ZnVuY3Rpb24gUCgkLFQpe2NvbnN0IEk9bigpO2ZvcihsZXQgZj0wO2Y8MTY7ZisrKUlbZl09VFtmXTtmb3IobGV0IGY9MjUzO2Y+PTA7Zi0tKUEoSSxJKSxmIT09MiYmZiE9PTQmJl8oSSxJLFQpO2ZvcihsZXQgZj0wO2Y8MTY7ZisrKSRbZl09SVtmXX1mdW5jdGlvbiBVKCQsVCl7Y29uc3QgST1uZXcgVWludDhBcnJheSgzMiksZj1uZXcgRmxvYXQ2NEFycmF5KDgwKSx4PW4oKSxKPW4oKSx6PW4oKSxlZT1uKCksZGU9bigpLG1lPW4oKTtmb3IobGV0IGxlPTA7bGU8MzE7bGUrKylJW2xlXT0kW2xlXTtJWzMxXT0kWzMxXSYxMjd8NjQsSVswXSY9MjQ4LGQoZixUKTtmb3IobGV0IGxlPTA7bGU8MTY7bGUrKylKW2xlXT1mW2xlXTt4WzBdPWVlWzBdPTE7Zm9yKGxldCBsZT0yNTQ7bGU+PTA7LS1sZSl7Y29uc3QgcmU9SVtsZT4+PjNdPj4+KGxlJjcpJjE7bCh4LEoscmUpLGwoeixlZSxyZSksdihkZSx4LHopLEUoeCx4LHopLHYoeixKLGVlKSxFKEosSixlZSksQShlZSxkZSksQShtZSx4KSxfKHgseix4KSxfKHosSixkZSksdihkZSx4LHopLEUoeCx4LHopLEEoSix4KSxFKHosZWUsbWUpLF8oeCx6LG8pLHYoeCx4LGVlKSxfKHoseix4KSxfKHgsZWUsbWUpLF8oZWUsSixmKSxBKEosZGUpLGwoeCxKLHJlKSxsKHosZWUscmUpfWZvcihsZXQgbGU9MDtsZTwxNjtsZSsrKWZbbGUrMTZdPXhbbGVdLGZbbGUrMzJdPXpbbGVdLGZbbGUrNDhdPUpbbGVdLGZbbGUrNjRdPWVlW2xlXTtjb25zdCBPPWYuc3ViYXJyYXkoMzIpLGo9Zi5zdWJhcnJheSgxNik7UChPLE8pLF8oaixqLE8pO2NvbnN0IGNlPW5ldyBVaW50OEFycmF5KDMyKTtyZXR1cm4gaChjZSxqKSxjZX10LnNjYWxhck11bHQ9VTtmdW5jdGlvbiBIKCQpe3JldHVybiBVKCQsaSl9dC5zY2FsYXJNdWx0QmFzZT1IO2Z1bmN0aW9uIEcoJCl7aWYoJC5sZW5ndGghPT10LlNFQ1JFVF9LRVlfTEVOR1RIKXRocm93IG5ldyBFcnJvcihgeDI1NTE5OiBzZWVkIG11c3QgYmUgJHt0LlNFQ1JFVF9LRVlfTEVOR1RIfSBieXRlc2ApO2NvbnN0IFQ9bmV3IFVpbnQ4QXJyYXkoJCk7cmV0dXJue3B1YmxpY0tleTpIKFQpLHNlY3JldEtleTpUfX10LmdlbmVyYXRlS2V5UGFpckZyb21TZWVkPUc7ZnVuY3Rpb24gTigkKXtjb25zdCBUPSgwLGUucmFuZG9tQnl0ZXMpKDMyLCQpLEk9RyhUKTtyZXR1cm4oMCxyLndpcGUpKFQpLEl9dC5nZW5lcmF0ZUtleVBhaXI9TjtmdW5jdGlvbiBMKCQsVCxJPSExKXtpZigkLmxlbmd0aCE9PXQuUFVCTElDX0tFWV9MRU5HVEgpdGhyb3cgbmV3IEVycm9yKCJYMjU1MTk6IGluY29ycmVjdCBzZWNyZXQga2V5IGxlbmd0aCIpO2lmKFQubGVuZ3RoIT09dC5QVUJMSUNfS0VZX0xFTkdUSCl0aHJvdyBuZXcgRXJyb3IoIlgyNTUxOTogaW5jb3JyZWN0IHB1YmxpYyBrZXkgbGVuZ3RoIik7Y29uc3QgZj1VKCQsVCk7aWYoSSl7bGV0IHg9MDtmb3IobGV0IEo9MDtKPGYubGVuZ3RoO0orKyl4fD1mW0pdO2lmKHg9PT0wKXRocm93IG5ldyBFcnJvcigiWDI1NTE5OiBpbnZhbGlkIHNoYXJlZCBrZXkiKX1yZXR1cm4gZn10LnNoYXJlZEtleT1MfSkob3UpO2Z1bmN0aW9uIGF1KHQpe3JldHVybiBnbG9iYWxUaGlzLkJ1ZmZlciE9bnVsbD9uZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKTp0fWZ1bmN0aW9uIFJkKHQ9MCl7cmV0dXJuIGdsb2JhbFRoaXMuQnVmZmVyIT1udWxsJiZnbG9iYWxUaGlzLkJ1ZmZlci5hbGxvY1Vuc2FmZSE9bnVsbD9hdShnbG9iYWxUaGlzLkJ1ZmZlci5hbGxvY1Vuc2FmZSh0KSk6bmV3IFVpbnQ4QXJyYXkodCl9ZnVuY3Rpb24gY3UodCxlKXtlfHwoZT10LnJlZHVjZSgoaSxvKT0+aStvLmxlbmd0aCwwKSk7Y29uc3Qgcj1SZChlKTtsZXQgbj0wO2Zvcihjb25zdCBpIG9mIHQpci5zZXQoaSxuKSxuKz1pLmxlbmd0aDtyZXR1cm4gYXUocil9ZnVuY3Rpb24gZnYodCxlKXtpZih0Lmxlbmd0aD49MjU1KXRocm93IG5ldyBUeXBlRXJyb3IoIkFscGhhYmV0IHRvbyBsb25nIik7Zm9yKHZhciByPW5ldyBVaW50OEFycmF5KDI1Niksbj0wO248ci5sZW5ndGg7bisrKXJbbl09MjU1O2Zvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgbz10LmNoYXJBdChpKSxjPW8uY2hhckNvZGVBdCgwKTtpZihyW2NdIT09MjU1KXRocm93IG5ldyBUeXBlRXJyb3IobysiIGlzIGFtYmlndW91cyIpO3JbY109aX12YXIgbD10Lmxlbmd0aCxoPXQuY2hhckF0KDApLGQ9TWF0aC5sb2cobCkvTWF0aC5sb2coMjU2KSx2PU1hdGgubG9nKDI1NikvTWF0aC5sb2cobCk7ZnVuY3Rpb24gRShQKXtpZihQIGluc3RhbmNlb2YgVWludDhBcnJheXx8KEFycmF5QnVmZmVyLmlzVmlldyhQKT9QPW5ldyBVaW50OEFycmF5KFAuYnVmZmVyLFAuYnl0ZU9mZnNldCxQLmJ5dGVMZW5ndGgpOkFycmF5LmlzQXJyYXkoUCkmJihQPVVpbnQ4QXJyYXkuZnJvbShQKSkpLCEoUCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIFVpbnQ4QXJyYXkiKTtpZihQLmxlbmd0aD09PTApcmV0dXJuIiI7Zm9yKHZhciBVPTAsSD0wLEc9MCxOPVAubGVuZ3RoO0chPT1OJiZQW0ddPT09MDspRysrLFUrKztmb3IodmFyIEw9KE4tRykqdisxPj4+MCwkPW5ldyBVaW50OEFycmF5KEwpO0chPT1OOyl7Zm9yKHZhciBUPVBbR10sST0wLGY9TC0xOyhUIT09MHx8STxIKSYmZiE9PS0xO2YtLSxJKyspVCs9MjU2KiRbZl0+Pj4wLCRbZl09VCVsPj4+MCxUPVQvbD4+PjA7aWYoVCE9PTApdGhyb3cgbmV3IEVycm9yKCJOb24temVybyBjYXJyeSIpO0g9SSxHKyt9Zm9yKHZhciB4PUwtSDt4IT09TCYmJFt4XT09PTA7KXgrKztmb3IodmFyIEo9aC5yZXBlYXQoVSk7eDxMOysreClKKz10LmNoYXJBdCgkW3hdKTtyZXR1cm4gSn1mdW5jdGlvbiBfKFApe2lmKHR5cGVvZiBQIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBTdHJpbmciKTtpZihQLmxlbmd0aD09PTApcmV0dXJuIG5ldyBVaW50OEFycmF5O3ZhciBVPTA7aWYoUFtVXSE9PSIgIil7Zm9yKHZhciBIPTAsRz0wO1BbVV09PT1oOylIKyssVSsrO2Zvcih2YXIgTj0oUC5sZW5ndGgtVSkqZCsxPj4+MCxMPW5ldyBVaW50OEFycmF5KE4pO1BbVV07KXt2YXIgJD1yW1AuY2hhckNvZGVBdChVKV07aWYoJD09PTI1NSlyZXR1cm47Zm9yKHZhciBUPTAsST1OLTE7KCQhPT0wfHxUPEcpJiZJIT09LTE7SS0tLFQrKykkKz1sKkxbSV0+Pj4wLExbSV09JCUyNTY+Pj4wLCQ9JC8yNTY+Pj4wO2lmKCQhPT0wKXRocm93IG5ldyBFcnJvcigiTm9uLXplcm8gY2FycnkiKTtHPVQsVSsrfWlmKFBbVV0hPT0iICIpe2Zvcih2YXIgZj1OLUc7ZiE9PU4mJkxbZl09PT0wOylmKys7Zm9yKHZhciB4PW5ldyBVaW50OEFycmF5KEgrKE4tZikpLEo9SDtmIT09TjspeFtKKytdPUxbZisrXTtyZXR1cm4geH19fWZ1bmN0aW9uIEEoUCl7dmFyIFU9XyhQKTtpZihVKXJldHVybiBVO3Rocm93IG5ldyBFcnJvcihgTm9uLSR7ZX0gY2hhcmFjdGVyYCl9cmV0dXJue2VuY29kZTpFLGRlY29kZVVuc2FmZTpfLGRlY29kZTpBfX12YXIgZHY9ZnYscHY9ZHY7Y29uc3QgTmQ9dD0+e2lmKHQgaW5zdGFuY2VvZiBVaW50OEFycmF5JiZ0LmNvbnN0cnVjdG9yLm5hbWU9PT0iVWludDhBcnJheSIpcmV0dXJuIHQ7aWYodCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKXJldHVybiBuZXcgVWludDhBcnJheSh0KTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcodCkpcmV0dXJuIG5ldyBVaW50OEFycmF5KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpO3Rocm93IG5ldyBFcnJvcigiVW5rbm93biB0eXBlLCBtdXN0IGJlIGJpbmFyeSB0eXBlIil9LGd2PXQ9Pm5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSh0KSxtdj10PT5uZXcgVGV4dERlY29kZXIoKS5kZWNvZGUodCk7Y2xhc3Mgd3Z7Y29uc3RydWN0b3IoZSxyLG4pe3RoaXMubmFtZT1lLHRoaXMucHJlZml4PXIsdGhpcy5iYXNlRW5jb2RlPW59ZW5jb2RlKGUpe2lmKGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybmAke3RoaXMucHJlZml4fSR7dGhpcy5iYXNlRW5jb2RlKGUpfWA7dGhyb3cgRXJyb3IoIlVua25vd24gdHlwZSwgbXVzdCBiZSBiaW5hcnkgdHlwZSIpfX1jbGFzcyB2dntjb25zdHJ1Y3RvcihlLHIsbil7aWYodGhpcy5uYW1lPWUsdGhpcy5wcmVmaXg9cixyLmNvZGVQb2ludEF0KDApPT09dm9pZCAwKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBwcmVmaXggY2hhcmFjdGVyIik7dGhpcy5wcmVmaXhDb2RlUG9pbnQ9ci5jb2RlUG9pbnRBdCgwKSx0aGlzLmJhc2VEZWNvZGU9bn1kZWNvZGUoZSl7aWYodHlwZW9mIGU9PSJzdHJpbmciKXtpZihlLmNvZGVQb2ludEF0KDApIT09dGhpcy5wcmVmaXhDb2RlUG9pbnQpdGhyb3cgRXJyb3IoYFVuYWJsZSB0byBkZWNvZGUgbXVsdGliYXNlIHN0cmluZyAke0pTT04uc3RyaW5naWZ5KGUpfSwgJHt0aGlzLm5hbWV9IGRlY29kZXIgb25seSBzdXBwb3J0cyBpbnB1dHMgcHJlZml4ZWQgd2l0aCAke3RoaXMucHJlZml4fWApO3JldHVybiB0aGlzLmJhc2VEZWNvZGUoZS5zbGljZSh0aGlzLnByZWZpeC5sZW5ndGgpKX1lbHNlIHRocm93IEVycm9yKCJDYW4gb25seSBtdWx0aWJhc2UgZGVjb2RlIHN0cmluZ3MiKX1vcihlKXtyZXR1cm4gTGQodGhpcyxlKX19Y2xhc3MgeXZ7Y29uc3RydWN0b3IoZSl7dGhpcy5kZWNvZGVycz1lfW9yKGUpe3JldHVybiBMZCh0aGlzLGUpfWRlY29kZShlKXtjb25zdCByPWVbMF0sbj10aGlzLmRlY29kZXJzW3JdO2lmKG4pcmV0dXJuIG4uZGVjb2RlKGUpO3Rocm93IFJhbmdlRXJyb3IoYFVuYWJsZSB0byBkZWNvZGUgbXVsdGliYXNlIHN0cmluZyAke0pTT04uc3RyaW5naWZ5KGUpfSwgb25seSBpbnB1dHMgcHJlZml4ZWQgd2l0aCAke09iamVjdC5rZXlzKHRoaXMuZGVjb2RlcnMpfSBhcmUgc3VwcG9ydGVkYCl9fWNvbnN0IExkPSh0LGUpPT5uZXcgeXYoey4uLnQuZGVjb2RlcnN8fHtbdC5wcmVmaXhdOnR9LC4uLmUuZGVjb2RlcnN8fHtbZS5wcmVmaXhdOmV9fSk7Y2xhc3MgYnZ7Y29uc3RydWN0b3IoZSxyLG4saSl7dGhpcy5uYW1lPWUsdGhpcy5wcmVmaXg9cix0aGlzLmJhc2VFbmNvZGU9bix0aGlzLmJhc2VEZWNvZGU9aSx0aGlzLmVuY29kZXI9bmV3IHd2KGUscixuKSx0aGlzLmRlY29kZXI9bmV3IHZ2KGUscixpKX1lbmNvZGUoZSl7cmV0dXJuIHRoaXMuZW5jb2Rlci5lbmNvZGUoZSl9ZGVjb2RlKGUpe3JldHVybiB0aGlzLmRlY29kZXIuZGVjb2RlKGUpfX1jb25zdCBxYT0oe25hbWU6dCxwcmVmaXg6ZSxlbmNvZGU6cixkZWNvZGU6bn0pPT5uZXcgYnYodCxlLHIsbiksX289KHtwcmVmaXg6dCxuYW1lOmUsYWxwaGFiZXQ6cn0pPT57Y29uc3R7ZW5jb2RlOm4sZGVjb2RlOml9PXB2KHIsZSk7cmV0dXJuIHFhKHtwcmVmaXg6dCxuYW1lOmUsZW5jb2RlOm4sZGVjb2RlOm89Pk5kKGkobykpfSl9LF92PSh0LGUscixuKT0+e2NvbnN0IGk9e307Zm9yKGxldCB2PTA7djxlLmxlbmd0aDsrK3YpaVtlW3ZdXT12O2xldCBvPXQubGVuZ3RoO2Zvcig7dFtvLTFdPT09Ij0iOyktLW87Y29uc3QgYz1uZXcgVWludDhBcnJheShvKnIvOHwwKTtsZXQgbD0wLGg9MCxkPTA7Zm9yKGxldCB2PTA7djxvOysrdil7Y29uc3QgRT1pW3Rbdl1dO2lmKEU9PT12b2lkIDApdGhyb3cgbmV3IFN5bnRheEVycm9yKGBOb24tJHtufSBjaGFyYWN0ZXJgKTtoPWg8PHJ8RSxsKz1yLGw+PTgmJihsLT04LGNbZCsrXT0yNTUmaD4+bCl9aWYobD49cnx8MjU1Jmg8PDgtbCl0aHJvdyBuZXcgU3ludGF4RXJyb3IoIlVuZXhwZWN0ZWQgZW5kIG9mIGRhdGEiKTtyZXR1cm4gY30sRXY9KHQsZSxyKT0+e2NvbnN0IG49ZVtlLmxlbmd0aC0xXT09PSI9IixpPSgxPDxyKS0xO2xldCBvPSIiLGM9MCxsPTA7Zm9yKGxldCBoPTA7aDx0Lmxlbmd0aDsrK2gpZm9yKGw9bDw8OHx0W2hdLGMrPTg7Yz5yOyljLT1yLG8rPWVbaSZsPj5jXTtpZihjJiYobys9ZVtpJmw8PHItY10pLG4pZm9yKDtvLmxlbmd0aCpyJjc7KW8rPSI9IjtyZXR1cm4gb30sX3I9KHtuYW1lOnQscHJlZml4OmUsYml0c1BlckNoYXI6cixhbHBoYWJldDpufSk9PnFhKHtwcmVmaXg6ZSxuYW1lOnQsZW5jb2RlKGkpe3JldHVybiBFdihpLG4scil9LGRlY29kZShpKXtyZXR1cm4gX3YoaSxuLHIsdCl9fSkseHY9cWEoe3ByZWZpeDoiXDAiLG5hbWU6ImlkZW50aXR5IixlbmNvZGU6dD0+bXYodCksZGVjb2RlOnQ9Pmd2KHQpfSk7dmFyIEN2PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGlkZW50aXR5Onh2fSk7Y29uc3QgSXY9X3Ioe3ByZWZpeDoiMCIsbmFtZToiYmFzZTIiLGFscGhhYmV0OiIwMSIsYml0c1BlckNoYXI6MX0pO3ZhciBPdj1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlMjpJdn0pO2NvbnN0IEF2PV9yKHtwcmVmaXg6IjciLG5hbWU6ImJhc2U4IixhbHBoYWJldDoiMDEyMzQ1NjciLGJpdHNQZXJDaGFyOjN9KTt2YXIgU3Y9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTg6QXZ9KTtjb25zdCBEdj1fbyh7cHJlZml4OiI5IixuYW1lOiJiYXNlMTAiLGFscGhhYmV0OiIwMTIzNDU2Nzg5In0pO3ZhciAkdj1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlMTA6RHZ9KTtjb25zdCBQdj1fcih7cHJlZml4OiJmIixuYW1lOiJiYXNlMTYiLGFscGhhYmV0OiIwMTIzNDU2Nzg5YWJjZGVmIixiaXRzUGVyQ2hhcjo0fSksVHY9X3Ioe3ByZWZpeDoiRiIsbmFtZToiYmFzZTE2dXBwZXIiLGFscGhhYmV0OiIwMTIzNDU2Nzg5QUJDREVGIixiaXRzUGVyQ2hhcjo0fSk7dmFyIFJ2PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2UxNjpQdixiYXNlMTZ1cHBlcjpUdn0pO2NvbnN0IE52PV9yKHtwcmVmaXg6ImIiLG5hbWU6ImJhc2UzMiIsYWxwaGFiZXQ6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MjM0NTY3IixiaXRzUGVyQ2hhcjo1fSksTHY9X3Ioe3ByZWZpeDoiQiIsbmFtZToiYmFzZTMydXBwZXIiLGFscGhhYmV0OiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjIzNDU2NyIsYml0c1BlckNoYXI6NX0pLE12PV9yKHtwcmVmaXg6ImMiLG5hbWU6ImJhc2UzMnBhZCIsYWxwaGFiZXQ6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MjM0NTY3PSIsYml0c1BlckNoYXI6NX0pLFV2PV9yKHtwcmVmaXg6IkMiLG5hbWU6ImJhc2UzMnBhZHVwcGVyIixhbHBoYWJldDoiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoyMzQ1Njc9IixiaXRzUGVyQ2hhcjo1fSksanY9X3Ioe3ByZWZpeDoidiIsbmFtZToiYmFzZTMyaGV4IixhbHBoYWJldDoiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXYiLGJpdHNQZXJDaGFyOjV9KSxGdj1fcih7cHJlZml4OiJWIixuYW1lOiJiYXNlMzJoZXh1cHBlciIsYWxwaGFiZXQ6IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWIixiaXRzUGVyQ2hhcjo1fSksQnY9X3Ioe3ByZWZpeDoidCIsbmFtZToiYmFzZTMyaGV4cGFkIixhbHBoYWJldDoiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXY9IixiaXRzUGVyQ2hhcjo1fSksa3Y9X3Ioe3ByZWZpeDoiVCIsbmFtZToiYmFzZTMyaGV4cGFkdXBwZXIiLGFscGhhYmV0OiIwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVj0iLGJpdHNQZXJDaGFyOjV9KSxIdj1fcih7cHJlZml4OiJoIixuYW1lOiJiYXNlMzJ6IixhbHBoYWJldDoieWJuZHJmZzhlamttY3BxeG90MXV3aXN6YTM0NWg3NjkiLGJpdHNQZXJDaGFyOjV9KTt2YXIgenY9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTMyOk52LGJhc2UzMnVwcGVyOkx2LGJhc2UzMnBhZDpNdixiYXNlMzJwYWR1cHBlcjpVdixiYXNlMzJoZXg6anYsYmFzZTMyaGV4dXBwZXI6RnYsYmFzZTMyaGV4cGFkOkJ2LGJhc2UzMmhleHBhZHVwcGVyOmt2LGJhc2UzMno6SHZ9KTtjb25zdCBXdj1fbyh7cHJlZml4OiJrIixuYW1lOiJiYXNlMzYiLGFscGhhYmV0OiIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoifSkscXY9X28oe3ByZWZpeDoiSyIsbmFtZToiYmFzZTM2dXBwZXIiLGFscGhhYmV0OiIwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoifSk7dmFyIFZ2PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2UzNjpXdixiYXNlMzZ1cHBlcjpxdn0pO2NvbnN0IEt2PV9vKHtuYW1lOiJiYXNlNThidGMiLHByZWZpeDoieiIsYWxwaGFiZXQ6IjEyMzQ1Njc4OUFCQ0RFRkdISktMTU5QUVJTVFVWV1hZWmFiY2RlZmdoaWprbW5vcHFyc3R1dnd4eXoifSksR3Y9X28oe25hbWU6ImJhc2U1OGZsaWNrciIscHJlZml4OiJaIixhbHBoYWJldDoiMTIzNDU2Nzg5YWJjZGVmZ2hpamttbm9wcXJzdHV2d3h5ekFCQ0RFRkdISktMTU5QUVJTVFVWV1hZWiJ9KTt2YXIgWnY9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTU4YnRjOkt2LGJhc2U1OGZsaWNrcjpHdn0pO2NvbnN0IFl2PV9yKHtwcmVmaXg6Im0iLG5hbWU6ImJhc2U2NCIsYWxwaGFiZXQ6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iLGJpdHNQZXJDaGFyOjZ9KSxKdj1fcih7cHJlZml4OiJNIixuYW1lOiJiYXNlNjRwYWQiLGFscGhhYmV0OiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSIsYml0c1BlckNoYXI6Nn0pLFh2PV9yKHtwcmVmaXg6InUiLG5hbWU6ImJhc2U2NHVybCIsYWxwaGFiZXQ6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLGJpdHNQZXJDaGFyOjZ9KSxRdj1fcih7cHJlZml4OiJVIixuYW1lOiJiYXNlNjR1cmxwYWQiLGFscGhhYmV0OiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fPSIsYml0c1BlckNoYXI6Nn0pO3ZhciBleT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlNjQ6WXYsYmFzZTY0cGFkOkp2LGJhc2U2NHVybDpYdixiYXNlNjR1cmxwYWQ6UXZ9KTtjb25zdCBNZD1BcnJheS5mcm9tKCJcdXsxRjY4MH1cdXsxRkE5MH1cdTI2MDRcdXsxRjZGMH1cdXsxRjMwQ31cdXsxRjMxMX1cdXsxRjMxMn1cdXsxRjMxM31cdXsxRjMxNH1cdXsxRjMxNX1cdXsxRjMxNn1cdXsxRjMxN31cdXsxRjMxOH1cdXsxRjMwRH1cdXsxRjMwRn1cdXsxRjMwRX1cdXsxRjQwOX1cdTI2MDBcdXsxRjRCQn1cdXsxRjVBNX1cdXsxRjRCRX1cdXsxRjRCRn1cdXsxRjYwMn1cdTI3NjRcdXsxRjYwRH1cdXsxRjkyM31cdXsxRjYwQX1cdXsxRjY0Rn1cdXsxRjQ5NX1cdXsxRjYyRH1cdXsxRjYxOH1cdXsxRjQ0RH1cdXsxRjYwNX1cdXsxRjQ0Rn1cdXsxRjYwMX1cdXsxRjUyNX1cdXsxRjk3MH1cdXsxRjQ5NH1cdXsxRjQ5Nn1cdXsxRjQ5OX1cdXsxRjYyMn1cdXsxRjkxNH1cdXsxRjYwNn1cdXsxRjY0NH1cdXsxRjRBQX1cdXsxRjYwOX1cdTI2M0FcdXsxRjQ0Q31cdXsxRjkxN31cdXsxRjQ5Q31cdXsxRjYxNH1cdXsxRjYwRX1cdXsxRjYwN31cdXsxRjMzOX1cdXsxRjkyNn1cdXsxRjM4OX1cdXsxRjQ5RX1cdTI3MENcdTI3MjhcdXsxRjkzN31cdXsxRjYzMX1cdXsxRjYwQ31cdXsxRjMzOH1cdXsxRjY0Q31cdXsxRjYwQn1cdXsxRjQ5N31cdXsxRjQ5QX1cdXsxRjYwRn1cdXsxRjQ5Qn1cdXsxRjY0Mn1cdXsxRjQ5M31cdXsxRjkyOX1cdXsxRjYwNH1cdXsxRjYwMH1cdXsxRjVBNH1cdXsxRjYwM31cdXsxRjRBRn1cdXsxRjY0OH1cdXsxRjQ0N31cdXsxRjNCNn1cdXsxRjYxMn1cdXsxRjkyRH1cdTI3NjNcdXsxRjYxQ31cdXsxRjQ4Qn1cdXsxRjQ0MH1cdXsxRjYyQX1cdXsxRjYxMX1cdXsxRjRBNX1cdXsxRjY0Qn1cdXsxRjYxRX1cdXsxRjYyOX1cdXsxRjYyMX1cdXsxRjkyQX1cdXsxRjQ0QX1cdXsxRjk3M31cdXsxRjYyNX1cdXsxRjkyNH1cdXsxRjQ0OX1cdXsxRjQ4M31cdXsxRjYzM31cdTI3MEJcdXsxRjYxQX1cdXsxRjYxRH1cdXsxRjYzNH1cdXsxRjMxRn1cdXsxRjYyQ31cdXsxRjY0M31cdXsxRjM0MH1cdXsxRjMzN31cdXsxRjYzQn1cdXsxRjYxM31cdTJCNTBcdTI3MDVcdXsxRjk3QX1cdXsxRjMwOH1cdXsxRjYwOH1cdXsxRjkxOH1cdXsxRjRBNn1cdTI3MTRcdXsxRjYyM31cdXsxRjNDM31cdXsxRjQ5MH1cdTI2MzlcdXsxRjM4QX1cdXsxRjQ5OH1cdXsxRjYyMH1cdTI2MURcdXsxRjYxNX1cdXsxRjMzQX1cdXsxRjM4Mn1cdXsxRjMzQn1cdXsxRjYxMH1cdXsxRjU5NX1cdXsxRjQ5RH1cdXsxRjY0QX1cdXsxRjYzOX1cdXsxRjVFM31cdXsxRjRBQn1cdXsxRjQ4MH1cdXsxRjQ1MX1cdXsxRjNCNX1cdXsxRjkxRX1cdXsxRjYxQn1cdXsxRjUzNH1cdXsxRjYyNH1cdXsxRjMzQ31cdXsxRjYyQn1cdTI2QkRcdXsxRjkxOX1cdTI2MTVcdXsxRjNDNn1cdXsxRjkyQn1cdXsxRjQ0OH1cdXsxRjYyRX1cdXsxRjY0Nn1cdXsxRjM3Qn1cdXsxRjM0M31cdXsxRjQzNn1cdXsxRjQ4MX1cdXsxRjYzMn1cdXsxRjMzRn1cdXsxRjlFMX1cdXsxRjM4MX1cdTI2QTFcdXsxRjMxRX1cdXsxRjM4OH1cdTI3NENcdTI3MEFcdXsxRjQ0Qn1cdXsxRjYzMH1cdXsxRjkyOH1cdXsxRjYzNn1cdXsxRjkxRH1cdXsxRjZCNn1cdXsxRjRCMH1cdXsxRjM1M31cdXsxRjRBMn1cdXsxRjkxRn1cdXsxRjY0MX1cdXsxRjZBOH1cdXsxRjRBOH1cdXsxRjkyQ31cdTI3MDhcdXsxRjM4MH1cdXsxRjM3QX1cdXsxRjkxM31cdXsxRjYxOX1cdXsxRjQ5Rn1cdXsxRjMzMX1cdXsxRjYxNn1cdXsxRjQ3Nn1cdXsxRjk3NH1cdTI1QjZcdTI3QTFcdTI3NTNcdXsxRjQ4RX1cdXsxRjRCOH1cdTJCMDdcdXsxRjYyOH1cdXsxRjMxQX1cdXsxRjk4Qn1cdXsxRjYzN31cdXsxRjU3QX1cdTI2QTBcdXsxRjY0NX1cdXsxRjYxRn1cdXsxRjYzNX1cdXsxRjQ0RX1cdXsxRjkzMn1cdXsxRjkyMH1cdXsxRjkyN31cdXsxRjRDQ31cdXsxRjUzNX1cdXsxRjQ4NX1cdXsxRjlEMH1cdXsxRjQzRX1cdXsxRjM1Mn1cdXsxRjYxN31cdXsxRjkxMX1cdXsxRjMwQX1cdXsxRjkyRn1cdXsxRjQzN31cdTI2MEVcdXsxRjRBN31cdXsxRjYyRn1cdXsxRjQ4Nn1cdXsxRjQ0Nn1cdXsxRjNBNH1cdXsxRjY0N31cdXsxRjM1MX1cdTI3NDRcdXsxRjMzNH1cdXsxRjRBM31cdXsxRjQzOH1cdXsxRjQ4Q31cdXsxRjRDRH1cdXsxRjk0MH1cdXsxRjkyMn1cdXsxRjQ0NX1cdXsxRjRBMX1cdXsxRjRBOX1cdXsxRjQ1MH1cdXsxRjRGOH1cdXsxRjQ3Qn1cdXsxRjkxMH1cdXsxRjkyRX1cdXsxRjNCQ31cdXsxRjk3NX1cdXsxRjZBOX1cdXsxRjM0RX1cdXsxRjM0QX1cdXsxRjQ3Q31cdXsxRjQ4RH1cdXsxRjRFM31cdXsxRjk0Mn0iKSx0eT1NZC5yZWR1Y2UoKHQsZSxyKT0+KHRbcl09ZSx0KSxbXSkscnk9TWQucmVkdWNlKCh0LGUscik9Pih0W2UuY29kZVBvaW50QXQoMCldPXIsdCksW10pO2Z1bmN0aW9uIG55KHQpe3JldHVybiB0LnJlZHVjZSgoZSxyKT0+KGUrPXR5W3JdLGUpLCIiKX1mdW5jdGlvbiBpeSh0KXtjb25zdCBlPVtdO2Zvcihjb25zdCByIG9mIHQpe2NvbnN0IG49cnlbci5jb2RlUG9pbnRBdCgwKV07aWYobj09PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoYE5vbi1iYXNlMjU2ZW1vamkgY2hhcmFjdGVyOiAke3J9YCk7ZS5wdXNoKG4pfXJldHVybiBuZXcgVWludDhBcnJheShlKX1jb25zdCBzeT1xYSh7cHJlZml4OiJcdXsxRjY4MH0iLG5hbWU6ImJhc2UyNTZlbW9qaSIsZW5jb2RlOm55LGRlY29kZTppeX0pO3ZhciBveT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlMjU2ZW1vamk6c3l9KSxheT1qZCxVZD0xMjgsY3k9MTI3LGx5PX5jeSx1eT1NYXRoLnBvdygyLDMxKTtmdW5jdGlvbiBqZCh0LGUscil7ZT1lfHxbXSxyPXJ8fDA7Zm9yKHZhciBuPXI7dD49dXk7KWVbcisrXT10JjI1NXxVZCx0Lz0xMjg7Zm9yKDt0Jmx5OyllW3IrK109dCYyNTV8VWQsdD4+Pj03O3JldHVybiBlW3JdPXR8MCxqZC5ieXRlcz1yLW4rMSxlfXZhciBoeT1sdSxmeT0xMjgsRmQ9MTI3O2Z1bmN0aW9uIGx1KHQsbil7dmFyIHI9MCxuPW58fDAsaT0wLG89bixjLGw9dC5sZW5ndGg7ZG97aWYobz49bCl0aHJvdyBsdS5ieXRlcz0wLG5ldyBSYW5nZUVycm9yKCJDb3VsZCBub3QgZGVjb2RlIHZhcmludCIpO2M9dFtvKytdLHIrPWk8Mjg/KGMmRmQpPDxpOihjJkZkKSpNYXRoLnBvdygyLGkpLGkrPTd9d2hpbGUoYz49ZnkpO3JldHVybiBsdS5ieXRlcz1vLW4scn12YXIgZHk9TWF0aC5wb3coMiw3KSxweT1NYXRoLnBvdygyLDE0KSxneT1NYXRoLnBvdygyLDIxKSxteT1NYXRoLnBvdygyLDI4KSx3eT1NYXRoLnBvdygyLDM1KSx2eT1NYXRoLnBvdygyLDQyKSx5eT1NYXRoLnBvdygyLDQ5KSxieT1NYXRoLnBvdygyLDU2KSxfeT1NYXRoLnBvdygyLDYzKSxFeT1mdW5jdGlvbih0KXtyZXR1cm4gdDxkeT8xOnQ8cHk/Mjp0PGd5PzM6dDxteT80OnQ8d3k/NTp0PHZ5PzY6dDx5eT83OnQ8Ynk/ODp0PF95Pzk6MTB9LHh5PXtlbmNvZGU6YXksZGVjb2RlOmh5LGVuY29kaW5nTGVuZ3RoOkV5fSxCZD14eTtjb25zdCBrZD0odCxlLHI9MCk9PihCZC5lbmNvZGUodCxlLHIpLGUpLEhkPXQ9PkJkLmVuY29kaW5nTGVuZ3RoKHQpLHV1PSh0LGUpPT57Y29uc3Qgcj1lLmJ5dGVMZW5ndGgsbj1IZCh0KSxpPW4rSGQociksbz1uZXcgVWludDhBcnJheShpK3IpO3JldHVybiBrZCh0LG8sMCksa2QocixvLG4pLG8uc2V0KGUsaSksbmV3IEN5KHQscixlLG8pfTtjbGFzcyBDeXtjb25zdHJ1Y3RvcihlLHIsbixpKXt0aGlzLmNvZGU9ZSx0aGlzLnNpemU9cix0aGlzLmRpZ2VzdD1uLHRoaXMuYnl0ZXM9aX19Y29uc3QgemQ9KHtuYW1lOnQsY29kZTplLGVuY29kZTpyfSk9Pm5ldyBJeSh0LGUscik7Y2xhc3MgSXl7Y29uc3RydWN0b3IoZSxyLG4pe3RoaXMubmFtZT1lLHRoaXMuY29kZT1yLHRoaXMuZW5jb2RlPW59ZGlnZXN0KGUpe2lmKGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KXtjb25zdCByPXRoaXMuZW5jb2RlKGUpO3JldHVybiByIGluc3RhbmNlb2YgVWludDhBcnJheT91dSh0aGlzLmNvZGUscik6ci50aGVuKG49PnV1KHRoaXMuY29kZSxuKSl9ZWxzZSB0aHJvdyBFcnJvcigiVW5rbm93biB0eXBlLCBtdXN0IGJlIGJpbmFyeSB0eXBlIil9fWNvbnN0IFdkPXQ9PmFzeW5jIGU9Pm5ldyBVaW50OEFycmF5KGF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KHQsZSkpLE95PXpkKHtuYW1lOiJzaGEyLTI1NiIsY29kZToxOCxlbmNvZGU6V2QoIlNIQS0yNTYiKX0pLEF5PXpkKHtuYW1lOiJzaGEyLTUxMiIsY29kZToxOSxlbmNvZGU6V2QoIlNIQS01MTIiKX0pO3ZhciBTeT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxzaGEyNTY6T3ksc2hhNTEyOkF5fSk7Y29uc3QgcWQ9MCxEeT0iaWRlbnRpdHkiLFZkPU5kO3ZhciAkeT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxpZGVudGl0eTp7Y29kZTpxZCxuYW1lOkR5LGVuY29kZTpWZCxkaWdlc3Q6dD0+dXUocWQsVmQodCkpfX0pO25ldyBUZXh0RW5jb2RlcixuZXcgVGV4dERlY29kZXI7Y29uc3QgS2Q9ey4uLkN2LC4uLk92LC4uLlN2LC4uLiR2LC4uLlJ2LC4uLnp2LC4uLlZ2LC4uLlp2LC4uLmV5LC4uLm95fTsoey4uLlN5LC4uLiR5fSk7ZnVuY3Rpb24gR2QodCxlLHIsbil7cmV0dXJue25hbWU6dCxwcmVmaXg6ZSxlbmNvZGVyOntuYW1lOnQscHJlZml4OmUsZW5jb2RlOnJ9LGRlY29kZXI6e2RlY29kZTpufX19Y29uc3QgWmQ9R2QoInV0ZjgiLCJ1Iix0PT4idSIrbmV3IFRleHREZWNvZGVyKCJ1dGY4IikuZGVjb2RlKHQpLHQ9Pm5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSh0LnN1YnN0cmluZygxKSkpLGh1PUdkKCJhc2NpaSIsImEiLHQ9PntsZXQgZT0iYSI7Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspZSs9U3RyaW5nLmZyb21DaGFyQ29kZSh0W3JdKTtyZXR1cm4gZX0sdD0+e3Q9dC5zdWJzdHJpbmcoMSk7Y29uc3QgZT1SZCh0Lmxlbmd0aCk7Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspZVtyXT10LmNoYXJDb2RlQXQocik7cmV0dXJuIGV9KSxZZD17dXRmODpaZCwidXRmLTgiOlpkLGhleDpLZC5iYXNlMTYsbGF0aW4xOmh1LGFzY2lpOmh1LGJpbmFyeTpodSwuLi5LZH07ZnVuY3Rpb24gSHIodCxlPSJ1dGY4Iil7Y29uc3Qgcj1ZZFtlXTtpZighcil0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGVuY29kaW5nICIke2V9ImApO3JldHVybihlPT09InV0ZjgifHxlPT09InV0Zi04IikmJmdsb2JhbFRoaXMuQnVmZmVyIT1udWxsJiZnbG9iYWxUaGlzLkJ1ZmZlci5mcm9tIT1udWxsP2F1KGdsb2JhbFRoaXMuQnVmZmVyLmZyb20odCwidXRmLTgiKSk6ci5kZWNvZGVyLmRlY29kZShgJHtyLnByZWZpeH0ke3R9YCl9ZnVuY3Rpb24gRHIodCxlPSJ1dGY4Iil7Y29uc3Qgcj1ZZFtlXTtpZighcil0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGVuY29kaW5nICIke2V9ImApO3JldHVybihlPT09InV0ZjgifHxlPT09InV0Zi04IikmJmdsb2JhbFRoaXMuQnVmZmVyIT1udWxsJiZnbG9iYWxUaGlzLkJ1ZmZlci5mcm9tIT1udWxsP2dsb2JhbFRoaXMuQnVmZmVyLmZyb20odC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCkudG9TdHJpbmcoInV0ZjgiKTpyLmVuY29kZXIuZW5jb2RlKHQpLnN1YnN0cmluZygxKX12YXIgSmQ9ZnVuY3Rpb24odCxlLHIpe2lmKHJ8fGFyZ3VtZW50cy5sZW5ndGg9PT0yKWZvcih2YXIgbj0wLGk9ZS5sZW5ndGgsbztuPGk7bisrKShvfHwhKG4gaW4gZSkpJiYob3x8KG89QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZSwwLG4pKSxvW25dPWVbbl0pO3JldHVybiB0LmNvbmNhdChvfHxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlKSl9LFB5PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLHIsbil7dGhpcy5uYW1lPWUsdGhpcy52ZXJzaW9uPXIsdGhpcy5vcz1uLHRoaXMudHlwZT0iYnJvd3NlciJ9cmV0dXJuIHR9KCksVHk9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpe3RoaXMudmVyc2lvbj1lLHRoaXMudHlwZT0ibm9kZSIsdGhpcy5uYW1lPSJub2RlIix0aGlzLm9zPXByb2Nlc3MucGxhdGZvcm19cmV0dXJuIHR9KCksUnk9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUscixuLGkpe3RoaXMubmFtZT1lLHRoaXMudmVyc2lvbj1yLHRoaXMub3M9bix0aGlzLmJvdD1pLHRoaXMudHlwZT0iYm90LWRldmljZSJ9cmV0dXJuIHR9KCksTnk9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dGhpcy50eXBlPSJib3QiLHRoaXMuYm90PSEwLHRoaXMubmFtZT0iYm90Iix0aGlzLnZlcnNpb249bnVsbCx0aGlzLm9zPW51bGx9cmV0dXJuIHR9KCksTHk9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dGhpcy50eXBlPSJyZWFjdC1uYXRpdmUiLHRoaXMubmFtZT0icmVhY3QtbmF0aXZlIix0aGlzLnZlcnNpb249bnVsbCx0aGlzLm9zPW51bGx9cmV0dXJuIHR9KCksTXk9L2FsZXhhfGJvdHxjcmF3bChlcnxpbmcpfGZhY2Vib29rZXh0ZXJuYWxoaXR8ZmVlZGJ1cm5lcnxnb29nbGUgd2ViIHByZXZpZXd8bmFnaW9zfHBvc3RyYW5rfHBpbmdkb218c2x1cnB8c3BpZGVyfHlhaG9vIXx5YW5kZXgvLFV5PS8obnVoa3xjdXJsfEdvb2dsZWJvdHxZYW1teWJvdHxPcGVuYm90fFNsdXJwfE1TTkJvdHxBc2tcIEplZXZlc1wvVGVvbWF8aWFfYXJjaGl2ZXIpLyxYZD0zLGp5PVtbImFvbCIsL0FPTFNoaWVsZFwvKFswLTlcLl9dKykvXSxbImVkZ2UiLC9FZGdlXC8oWzAtOVwuX10rKS9dLFsiZWRnZS1pb3MiLC9FZGdpT1NcLyhbMC05XC5fXSspL10sWyJ5YW5kZXhicm93c2VyIiwvWWFCcm93c2VyXC8oWzAtOVwuX10rKS9dLFsia2FrYW90YWxrIiwvS0FLQU9UQUxLXHMoWzAtOVwuXSspL10sWyJzYW1zdW5nIiwvU2Ftc3VuZ0Jyb3dzZXJcLyhbMC05XC5dKykvXSxbInNpbGsiLC9cYlNpbGtcLyhbMC05Ll8tXSspXGIvXSxbIm1pdWkiLC9NaXVpQnJvd3NlclwvKFswLTlcLl0rKSQvXSxbImJlYWtlciIsL0JlYWtlckJyb3dzZXJcLyhbMC05XC5dKykvXSxbImVkZ2UtY2hyb21pdW0iLC9FZGdBP1wvKFswLTlcLl0rKS9dLFsiY2hyb21pdW0td2VidmlldyIsLyg/IUNocm9tLipPUFIpd3ZcKS4qQ2hyb20oPzplfGl1bSlcLyhbMC05XC5dKykoOj9cc3wkKS9dLFsiY2hyb21lIiwvKD8hQ2hyb20uKk9QUilDaHJvbSg/OmV8aXVtKVwvKFswLTlcLl0rKSg6P1xzfCQpL10sWyJwaGFudG9tanMiLC9QaGFudG9tSlNcLyhbMC05XC5dKykoOj9cc3wkKS9dLFsiY3Jpb3MiLC9DcmlPU1wvKFswLTlcLl0rKSg6P1xzfCQpL10sWyJmaXJlZm94IiwvRmlyZWZveFwvKFswLTlcLl0rKSg/OlxzfCQpL10sWyJmeGlvcyIsL0Z4aU9TXC8oWzAtOVwuXSspL10sWyJvcGVyYS1taW5pIiwvT3BlcmEgTWluaS4qVmVyc2lvblwvKFswLTlcLl0rKS9dLFsib3BlcmEiLC9PcGVyYVwvKFswLTlcLl0rKSg/OlxzfCQpL10sWyJvcGVyYSIsL09QUlwvKFswLTlcLl0rKSg6P1xzfCQpL10sWyJwaWUiLC9eTWljcm9zb2Z0IFBvY2tldCBJbnRlcm5ldCBFeHBsb3JlclwvKFxkK1wuXGQrKSQvXSxbInBpZSIsL15Nb3ppbGxhXC9cZFwuXGQrXHNcKGNvbXBhdGlibGU7XHMoPzpNU1A/SUV8TVNJbnRlcm5ldCBFeHBsb3JlcikgKFxkK1wuXGQrKTsuKldpbmRvd3MgQ0UuKlwpJC9dLFsibmV0ZnJvbnQiLC9eTW96aWxsYVwvXGRcLlxkKy4qTmV0RnJvbnRcLyhcZC5cZCkvXSxbImllIiwvVHJpZGVudFwvN1wuMC4qcnZcOihbMC05XC5dKykuKlwpLipHZWNrbyQvXSxbImllIiwvTVNJRVxzKFswLTlcLl0rKTsuKlRyaWRlbnRcL1s0LTddLjAvXSxbImllIiwvTVNJRVxzKDdcLjApL10sWyJiYjEwIiwvQkIxMDtcc1RvdWNoLipWZXJzaW9uXC8oWzAtOVwuXSspL10sWyJhbmRyb2lkIiwvQW5kcm9pZFxzKFswLTlcLl0rKS9dLFsiaW9zIiwvVmVyc2lvblwvKFswLTlcLl9dKykuKk1vYmlsZS4qU2FmYXJpLiovXSxbInNhZmFyaSIsL1ZlcnNpb25cLyhbMC05XC5fXSspLipTYWZhcmkvXSxbImZhY2Vib29rIiwvRkJbQVNdVlwvKFswLTlcLl0rKS9dLFsiaW5zdGFncmFtIiwvSW5zdGFncmFtXHMoWzAtOVwuXSspL10sWyJpb3Mtd2VidmlldyIsL0FwcGxlV2ViS2l0XC8oWzAtOVwuXSspLipNb2JpbGUvXSxbImlvcy13ZWJ2aWV3IiwvQXBwbGVXZWJLaXRcLyhbMC05XC5dKykuKkdlY2tvXCkkL10sWyJjdXJsIiwvXmN1cmxcLyhbMC05XC5dKykkL10sWyJzZWFyY2hib3QiLE15XV0sUWQ9W1siaU9TIiwvaVAoaG9uZXxvZHxhZCkvXSxbIkFuZHJvaWQgT1MiLC9BbmRyb2lkL10sWyJCbGFja0JlcnJ5IE9TIiwvQmxhY2tCZXJyeXxCQjEwL10sWyJXaW5kb3dzIE1vYmlsZSIsL0lFTW9iaWxlL10sWyJBbWF6b24gT1MiLC9LaW5kbGUvXSxbIldpbmRvd3MgMy4xMSIsL1dpbjE2L10sWyJXaW5kb3dzIDk1IiwvKFdpbmRvd3MgOTUpfChXaW45NSl8KFdpbmRvd3NfOTUpL10sWyJXaW5kb3dzIDk4IiwvKFdpbmRvd3MgOTgpfChXaW45OCkvXSxbIldpbmRvd3MgMjAwMCIsLyhXaW5kb3dzIE5UIDUuMCl8KFdpbmRvd3MgMjAwMCkvXSxbIldpbmRvd3MgWFAiLC8oV2luZG93cyBOVCA1LjEpfChXaW5kb3dzIFhQKS9dLFsiV2luZG93cyBTZXJ2ZXIgMjAwMyIsLyhXaW5kb3dzIE5UIDUuMikvXSxbIldpbmRvd3MgVmlzdGEiLC8oV2luZG93cyBOVCA2LjApL10sWyJXaW5kb3dzIDciLC8oV2luZG93cyBOVCA2LjEpL10sWyJXaW5kb3dzIDgiLC8oV2luZG93cyBOVCA2LjIpL10sWyJXaW5kb3dzIDguMSIsLyhXaW5kb3dzIE5UIDYuMykvXSxbIldpbmRvd3MgMTAiLC8oV2luZG93cyBOVCAxMC4wKS9dLFsiV2luZG93cyBNRSIsL1dpbmRvd3MgTUUvXSxbIldpbmRvd3MgQ0UiLC9XaW5kb3dzIENFfFdpbkNFfE1pY3Jvc29mdCBQb2NrZXQgSW50ZXJuZXQgRXhwbG9yZXIvXSxbIk9wZW4gQlNEIiwvT3BlbkJTRC9dLFsiU3VuIE9TIiwvU3VuT1MvXSxbIkNocm9tZSBPUyIsL0NyT1MvXSxbIkxpbnV4IiwvKExpbnV4KXwoWDExKS9dLFsiTWFjIE9TIiwvKE1hY19Qb3dlclBDKXwoTWFjaW50b3NoKS9dLFsiUU5YIiwvUU5YL10sWyJCZU9TIiwvQmVPUy9dLFsiT1MvMiIsL09TXC8yL11dO2Z1bmN0aW9uIEZ5KHQpe3JldHVybiB0P2UxKHQpOnR5cGVvZiBkb2N1bWVudD4idSImJnR5cGVvZiBuYXZpZ2F0b3I8InUiJiZuYXZpZ2F0b3IucHJvZHVjdD09PSJSZWFjdE5hdGl2ZSI/bmV3IEx5OnR5cGVvZiBuYXZpZ2F0b3I8InUiP2UxKG5hdmlnYXRvci51c2VyQWdlbnQpOkh5KCl9ZnVuY3Rpb24gQnkodCl7cmV0dXJuIHQhPT0iIiYmankucmVkdWNlKGZ1bmN0aW9uKGUscil7dmFyIG49clswXSxpPXJbMV07aWYoZSlyZXR1cm4gZTt2YXIgbz1pLmV4ZWModCk7cmV0dXJuISFvJiZbbixvXX0sITEpfWZ1bmN0aW9uIGUxKHQpe3ZhciBlPUJ5KHQpO2lmKCFlKXJldHVybiBudWxsO3ZhciByPWVbMF0sbj1lWzFdO2lmKHI9PT0ic2VhcmNoYm90IilyZXR1cm4gbmV3IE55O3ZhciBpPW5bMV0mJm5bMV0uc3BsaXQoIi4iKS5qb2luKCJfIikuc3BsaXQoIl8iKS5zbGljZSgwLDMpO2k/aS5sZW5ndGg8WGQmJihpPUpkKEpkKFtdLGksITApLHp5KFhkLWkubGVuZ3RoKSwhMCkpOmk9W107dmFyIG89aS5qb2luKCIuIiksYz1reSh0KSxsPVV5LmV4ZWModCk7cmV0dXJuIGwmJmxbMV0/bmV3IFJ5KHIsbyxjLGxbMV0pOm5ldyBQeShyLG8sYyl9ZnVuY3Rpb24ga3kodCl7Zm9yKHZhciBlPTAscj1RZC5sZW5ndGg7ZTxyO2UrKyl7dmFyIG49UWRbZV0saT1uWzBdLG89blsxXSxjPW8uZXhlYyh0KTtpZihjKXJldHVybiBpfXJldHVybiBudWxsfWZ1bmN0aW9uIEh5KCl7dmFyIHQ9dHlwZW9mIHByb2Nlc3M8InUiJiZwcm9jZXNzLnZlcnNpb247cmV0dXJuIHQ/bmV3IFR5KHByb2Nlc3MudmVyc2lvbi5zbGljZSgxKSk6bnVsbH1mdW5jdGlvbiB6eSh0KXtmb3IodmFyIGU9W10scj0wO3I8dDtyKyspZS5wdXNoKCIwIik7cmV0dXJuIGV9dmFyIGtlPXt9Oy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4KUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55CnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC4KVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgKUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZCkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwKSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NCkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SCk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi92YXIgZnU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHIsbil7ci5fX3Byb3RvX189bn18fGZ1bmN0aW9uKHIsbil7Zm9yKHZhciBpIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09bltpXSl9LGZ1KHQsZSl9O2Z1bmN0aW9uIFd5KHQsZSl7ZnUodCxlKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXQucHJvdG90eXBlPWU9PT1udWxsP09iamVjdC5jcmVhdGUoZSk6KHIucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyByKX12YXIgZHU9ZnVuY3Rpb24oKXtyZXR1cm4gZHU9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciByLG49MSxpPWFyZ3VtZW50cy5sZW5ndGg7bjxpO24rKyl7cj1hcmd1bWVudHNbbl07Zm9yKHZhciBvIGluIHIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsbykmJihlW29dPXJbb10pfXJldHVybiBlfSxkdS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2Z1bmN0aW9uIHF5KHQsZSl7dmFyIHI9e307Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJmUuaW5kZXhPZihuKTwwJiYocltuXT10W25dKTtpZih0IT1udWxsJiZ0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz09ImZ1bmN0aW9uIilmb3IodmFyIGk9MCxuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7aTxuLmxlbmd0aDtpKyspZS5pbmRleE9mKG5baV0pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh0LG5baV0pJiYocltuW2ldXT10W25baV1dKTtyZXR1cm4gcn1mdW5jdGlvbiBWeSh0LGUscixuKXt2YXIgaT1hcmd1bWVudHMubGVuZ3RoLG89aTwzP2U6bj09PW51bGw/bj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUscik6bixjO2lmKHR5cGVvZiBSZWZsZWN0PT0ib2JqZWN0IiYmdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGU9PSJmdW5jdGlvbiIpbz1SZWZsZWN0LmRlY29yYXRlKHQsZSxyLG4pO2Vsc2UgZm9yKHZhciBsPXQubGVuZ3RoLTE7bD49MDtsLS0pKGM9dFtsXSkmJihvPShpPDM/YyhvKTppPjM/YyhlLHIsbyk6YyhlLHIpKXx8byk7cmV0dXJuIGk+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixvKSxvfWZ1bmN0aW9uIEt5KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHIsbil7ZShyLG4sdCl9fWZ1bmN0aW9uIEd5KHQsZSl7aWYodHlwZW9mIFJlZmxlY3Q9PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YT09ImZ1bmN0aW9uIilyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YSh0LGUpfWZ1bmN0aW9uIFp5KHQsZSxyLG4pe2Z1bmN0aW9uIGkobyl7cmV0dXJuIG8gaW5zdGFuY2VvZiByP286bmV3IHIoZnVuY3Rpb24oYyl7YyhvKX0pfXJldHVybiBuZXcocnx8KHI9UHJvbWlzZSkpKGZ1bmN0aW9uKG8sYyl7ZnVuY3Rpb24gbCh2KXt0cnl7ZChuLm5leHQodikpfWNhdGNoKEUpe2MoRSl9fWZ1bmN0aW9uIGgodil7dHJ5e2Qobi50aHJvdyh2KSl9Y2F0Y2goRSl7YyhFKX19ZnVuY3Rpb24gZCh2KXt2LmRvbmU/byh2LnZhbHVlKTppKHYudmFsdWUpLnRoZW4obCxoKX1kKChuPW4uYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KX1mdW5jdGlvbiBZeSh0LGUpe3ZhciByPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZihvWzBdJjEpdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119LG4saSxvLGM7cmV0dXJuIGM9e25leHQ6bCgwKSx0aHJvdzpsKDEpLHJldHVybjpsKDIpfSx0eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiYoY1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxjO2Z1bmN0aW9uIGwoZCl7cmV0dXJuIGZ1bmN0aW9uKHYpe3JldHVybiBoKFtkLHZdKX19ZnVuY3Rpb24gaChkKXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO3I7KXRyeXtpZihuPTEsaSYmKG89ZFswXSYyP2kucmV0dXJuOmRbMF0/aS50aHJvd3x8KChvPWkucmV0dXJuKSYmby5jYWxsKGkpLDApOmkubmV4dCkmJiEobz1vLmNhbGwoaSxkWzFdKSkuZG9uZSlyZXR1cm4gbztzd2l0Y2goaT0wLG8mJihkPVtkWzBdJjIsby52YWx1ZV0pLGRbMF0pe2Nhc2UgMDpjYXNlIDE6bz1kO2JyZWFrO2Nhc2UgNDpyZXR1cm4gci5sYWJlbCsrLHt2YWx1ZTpkWzFdLGRvbmU6ITF9O2Nhc2UgNTpyLmxhYmVsKyssaT1kWzFdLGQ9WzBdO2NvbnRpbnVlO2Nhc2UgNzpkPXIub3BzLnBvcCgpLHIudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKG89ci50cnlzLCEobz1vLmxlbmd0aD4wJiZvW28ubGVuZ3RoLTFdKSYmKGRbMF09PT02fHxkWzBdPT09Mikpe3I9MDtjb250aW51ZX1pZihkWzBdPT09MyYmKCFvfHxkWzFdPm9bMF0mJmRbMV08b1szXSkpe3IubGFiZWw9ZFsxXTticmVha31pZihkWzBdPT09NiYmci5sYWJlbDxvWzFdKXtyLmxhYmVsPW9bMV0sbz1kO2JyZWFrfWlmKG8mJnIubGFiZWw8b1syXSl7ci5sYWJlbD1vWzJdLHIub3BzLnB1c2goZCk7YnJlYWt9b1syXSYmci5vcHMucG9wKCksci50cnlzLnBvcCgpO2NvbnRpbnVlfWQ9ZS5jYWxsKHQscil9Y2F0Y2godil7ZD1bNix2XSxpPTB9ZmluYWxseXtuPW89MH1pZihkWzBdJjUpdGhyb3cgZFsxXTtyZXR1cm57dmFsdWU6ZFswXT9kWzFdOnZvaWQgMCxkb25lOiEwfX19ZnVuY3Rpb24gSnkodCxlLHIsbil7bj09PXZvaWQgMCYmKG49ciksdFtuXT1lW3JdfWZ1bmN0aW9uIFh5KHQsZSl7Zm9yKHZhciByIGluIHQpciE9PSJkZWZhdWx0IiYmIWUuaGFzT3duUHJvcGVydHkocikmJihlW3JdPXRbcl0pfWZ1bmN0aW9uIHB1KHQpe3ZhciBlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5pdGVyYXRvcixyPWUmJnRbZV0sbj0wO2lmKHIpcmV0dXJuIHIuY2FsbCh0KTtpZih0JiZ0eXBlb2YgdC5sZW5ndGg9PSJudW1iZXIiKXJldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHQmJm4+PXQubGVuZ3RoJiYodD12b2lkIDApLHt2YWx1ZTp0JiZ0W24rK10sZG9uZTohdH19fTt0aHJvdyBuZXcgVHlwZUVycm9yKGU/Ik9iamVjdCBpcyBub3QgaXRlcmFibGUuIjoiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpfWZ1bmN0aW9uIHQxKHQsZSl7dmFyIHI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmdFtTeW1ib2wuaXRlcmF0b3JdO2lmKCFyKXJldHVybiB0O3ZhciBuPXIuY2FsbCh0KSxpLG89W10sYzt0cnl7Zm9yKDsoZT09PXZvaWQgMHx8ZS0tPjApJiYhKGk9bi5uZXh0KCkpLmRvbmU7KW8ucHVzaChpLnZhbHVlKX1jYXRjaChsKXtjPXtlcnJvcjpsfX1maW5hbGx5e3RyeXtpJiYhaS5kb25lJiYocj1uLnJldHVybikmJnIuY2FsbChuKX1maW5hbGx5e2lmKGMpdGhyb3cgYy5lcnJvcn19cmV0dXJuIG99ZnVuY3Rpb24gUXkoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdD10LmNvbmNhdCh0MShhcmd1bWVudHNbZV0pKTtyZXR1cm4gdH1mdW5jdGlvbiBlNSgpe2Zvcih2YXIgdD0wLGU9MCxyPWFyZ3VtZW50cy5sZW5ndGg7ZTxyO2UrKyl0Kz1hcmd1bWVudHNbZV0ubGVuZ3RoO2Zvcih2YXIgbj1BcnJheSh0KSxpPTAsZT0wO2U8cjtlKyspZm9yKHZhciBvPWFyZ3VtZW50c1tlXSxjPTAsbD1vLmxlbmd0aDtjPGw7YysrLGkrKyluW2ldPW9bY107cmV0dXJuIG59ZnVuY3Rpb24gRW8odCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBFbz8odGhpcy52PXQsdGhpcyk6bmV3IEVvKHQpfWZ1bmN0aW9uIHQ1KHQsZSxyKXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIG49ci5hcHBseSh0LGV8fFtdKSxpLG89W107cmV0dXJuIGk9e30sYygibmV4dCIpLGMoInRocm93IiksYygicmV0dXJuIiksaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30saTtmdW5jdGlvbiBjKF8pe25bX10mJihpW19dPWZ1bmN0aW9uKEEpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihQLFUpe28ucHVzaChbXyxBLFAsVV0pPjF8fGwoXyxBKX0pfSl9ZnVuY3Rpb24gbChfLEEpe3RyeXtoKG5bX10oQSkpfWNhdGNoKFApe0Uob1swXVszXSxQKX19ZnVuY3Rpb24gaChfKXtfLnZhbHVlIGluc3RhbmNlb2YgRW8/UHJvbWlzZS5yZXNvbHZlKF8udmFsdWUudikudGhlbihkLHYpOkUob1swXVsyXSxfKX1mdW5jdGlvbiBkKF8pe2woIm5leHQiLF8pfWZ1bmN0aW9uIHYoXyl7bCgidGhyb3ciLF8pfWZ1bmN0aW9uIEUoXyxBKXtfKEEpLG8uc2hpZnQoKSxvLmxlbmd0aCYmbChvWzBdWzBdLG9bMF1bMV0pfX1mdW5jdGlvbiByNSh0KXt2YXIgZSxyO3JldHVybiBlPXt9LG4oIm5leHQiKSxuKCJ0aHJvdyIsZnVuY3Rpb24oaSl7dGhyb3cgaX0pLG4oInJldHVybiIpLGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlO2Z1bmN0aW9uIG4oaSxvKXtlW2ldPXRbaV0/ZnVuY3Rpb24oYyl7cmV0dXJuKHI9IXIpP3t2YWx1ZTpFbyh0W2ldKGMpKSxkb25lOmk9PT0icmV0dXJuIn06bz9vKGMpOmN9Om99fWZ1bmN0aW9uIG41KHQpe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgZT10W1N5bWJvbC5hc3luY0l0ZXJhdG9yXSxyO3JldHVybiBlP2UuY2FsbCh0KToodD10eXBlb2YgcHU9PSJmdW5jdGlvbiI/cHUodCk6dFtTeW1ib2wuaXRlcmF0b3JdKCkscj17fSxuKCJuZXh0IiksbigidGhyb3ciKSxuKCJyZXR1cm4iKSxyW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxyKTtmdW5jdGlvbiBuKG8pe3Jbb109dFtvXSYmZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGwsaCl7Yz10W29dKGMpLGkobCxoLGMuZG9uZSxjLnZhbHVlKX0pfX1mdW5jdGlvbiBpKG8sYyxsLGgpe1Byb21pc2UucmVzb2x2ZShoKS50aGVuKGZ1bmN0aW9uKGQpe28oe3ZhbHVlOmQsZG9uZTpsfSl9LGMpfX1mdW5jdGlvbiBpNSh0LGUpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHk/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInJhdyIse3ZhbHVlOmV9KTp0LnJhdz1lLHR9ZnVuY3Rpb24gczUodCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPXt9O2lmKHQhPW51bGwpZm9yKHZhciByIGluIHQpT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKGVbcl09dFtyXSk7cmV0dXJuIGUuZGVmYXVsdD10LGV9ZnVuY3Rpb24gbzUodCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIGE1KHQsZSl7aWYoIWUuaGFzKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImF0dGVtcHRlZCB0byBnZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2UiKTtyZXR1cm4gZS5nZXQodCl9ZnVuY3Rpb24gYzUodCxlLHIpe2lmKCFlLmhhcyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJhdHRlbXB0ZWQgdG8gc2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlIik7cmV0dXJuIGUuc2V0KHQscikscn12YXIgbDU9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsX19leHRlbmRzOld5LGdldCBfX2Fzc2lnbigpe3JldHVybiBkdX0sX19yZXN0OnF5LF9fZGVjb3JhdGU6VnksX19wYXJhbTpLeSxfX21ldGFkYXRhOkd5LF9fYXdhaXRlcjpaeSxfX2dlbmVyYXRvcjpZeSxfX2NyZWF0ZUJpbmRpbmc6SnksX19leHBvcnRTdGFyOlh5LF9fdmFsdWVzOnB1LF9fcmVhZDp0MSxfX3NwcmVhZDpReSxfX3NwcmVhZEFycmF5czplNSxfX2F3YWl0OkVvLF9fYXN5bmNHZW5lcmF0b3I6dDUsX19hc3luY0RlbGVnYXRvcjpyNSxfX2FzeW5jVmFsdWVzOm41LF9fbWFrZVRlbXBsYXRlT2JqZWN0Omk1LF9faW1wb3J0U3RhcjpzNSxfX2ltcG9ydERlZmF1bHQ6bzUsX19jbGFzc1ByaXZhdGVGaWVsZEdldDphNSxfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0OmM1fSksVmE9TWkobDUpLGd1PXt9LHhvPXt9LHIxO2Z1bmN0aW9uIHU1KCl7aWYocjEpcmV0dXJuIHhvO3IxPTEsT2JqZWN0LmRlZmluZVByb3BlcnR5KHhvLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx4by5kZWxheT12b2lkIDA7ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3IFByb21pc2Uocj0+e3NldFRpbWVvdXQoKCk9PntyKCEwKX0sZSl9KX1yZXR1cm4geG8uZGVsYXk9dCx4b312YXIgVWk9e30sbXU9e30samk9e30sbjE7ZnVuY3Rpb24gaDUoKXtyZXR1cm4gbjF8fChuMT0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShqaSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksamkuT05FX1RIT1VTQU5EPWppLk9ORV9IVU5EUkVEPXZvaWQgMCxqaS5PTkVfSFVORFJFRD0xMDAsamkuT05FX1RIT1VTQU5EPTFlMyksaml9dmFyIHd1PXt9LGkxO2Z1bmN0aW9uIGY1KCl7cmV0dXJuIGkxfHwoaTE9MSxmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5PTkVfWUVBUj10LkZPVVJfV0VFS1M9dC5USFJFRV9XRUVLUz10LlRXT19XRUVLUz10Lk9ORV9XRUVLPXQuVEhJUlRZX0RBWVM9dC5TRVZFTl9EQVlTPXQuRklWRV9EQVlTPXQuVEhSRUVfREFZUz10Lk9ORV9EQVk9dC5UV0VOVFlfRk9VUl9IT1VSUz10LlRXRUxWRV9IT1VSUz10LlNJWF9IT1VSUz10LlRIUkVFX0hPVVJTPXQuT05FX0hPVVI9dC5TSVhUWV9NSU5VVEVTPXQuVEhJUlRZX01JTlVURVM9dC5URU5fTUlOVVRFUz10LkZJVkVfTUlOVVRFUz10Lk9ORV9NSU5VVEU9dC5TSVhUWV9TRUNPTkRTPXQuVEhJUlRZX1NFQ09ORFM9dC5URU5fU0VDT05EUz10LkZJVkVfU0VDT05EUz10Lk9ORV9TRUNPTkQ9dm9pZCAwLHQuT05FX1NFQ09ORD0xLHQuRklWRV9TRUNPTkRTPTUsdC5URU5fU0VDT05EUz0xMCx0LlRISVJUWV9TRUNPTkRTPTMwLHQuU0lYVFlfU0VDT05EUz02MCx0Lk9ORV9NSU5VVEU9dC5TSVhUWV9TRUNPTkRTLHQuRklWRV9NSU5VVEVTPXQuT05FX01JTlVURSo1LHQuVEVOX01JTlVURVM9dC5PTkVfTUlOVVRFKjEwLHQuVEhJUlRZX01JTlVURVM9dC5PTkVfTUlOVVRFKjMwLHQuU0lYVFlfTUlOVVRFUz10Lk9ORV9NSU5VVEUqNjAsdC5PTkVfSE9VUj10LlNJWFRZX01JTlVURVMsdC5USFJFRV9IT1VSUz10Lk9ORV9IT1VSKjMsdC5TSVhfSE9VUlM9dC5PTkVfSE9VUio2LHQuVFdFTFZFX0hPVVJTPXQuT05FX0hPVVIqMTIsdC5UV0VOVFlfRk9VUl9IT1VSUz10Lk9ORV9IT1VSKjI0LHQuT05FX0RBWT10LlRXRU5UWV9GT1VSX0hPVVJTLHQuVEhSRUVfREFZUz10Lk9ORV9EQVkqMyx0LkZJVkVfREFZUz10Lk9ORV9EQVkqNSx0LlNFVkVOX0RBWVM9dC5PTkVfREFZKjcsdC5USElSVFlfREFZUz10Lk9ORV9EQVkqMzAsdC5PTkVfV0VFSz10LlNFVkVOX0RBWVMsdC5UV09fV0VFS1M9dC5PTkVfV0VFSyoyLHQuVEhSRUVfV0VFS1M9dC5PTkVfV0VFSyozLHQuRk9VUl9XRUVLUz10Lk9ORV9XRUVLKjQsdC5PTkVfWUVBUj10Lk9ORV9EQVkqMzY1fSh3dSkpLHd1fXZhciBzMTtmdW5jdGlvbiBvMSgpe3JldHVybiBzMXx8KHMxPTEsZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IGU9VmE7ZS5fX2V4cG9ydFN0YXIoaDUoKSx0KSxlLl9fZXhwb3J0U3RhcihmNSgpLHQpfShtdSkpLG11fXZhciBhMTtmdW5jdGlvbiBkNSgpe2lmKGExKXJldHVybiBVaTthMT0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShVaSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksVWkuZnJvbU1pbGlzZWNvbmRzPVVpLnRvTWlsaXNlY29uZHM9dm9pZCAwO2NvbnN0IHQ9bzEoKTtmdW5jdGlvbiBlKG4pe3JldHVybiBuKnQuT05FX1RIT1VTQU5EfVVpLnRvTWlsaXNlY29uZHM9ZTtmdW5jdGlvbiByKG4pe3JldHVybiBNYXRoLmZsb29yKG4vdC5PTkVfVEhPVVNBTkQpfXJldHVybiBVaS5mcm9tTWlsaXNlY29uZHM9cixVaX12YXIgYzE7ZnVuY3Rpb24gcDUoKXtyZXR1cm4gYzF8fChjMT0xLGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBlPVZhO2UuX19leHBvcnRTdGFyKHU1KCksdCksZS5fX2V4cG9ydFN0YXIoZDUoKSx0KX0oZ3UpKSxndX12YXIgSXM9e30sbDE7ZnVuY3Rpb24gZzUoKXtpZihsMSlyZXR1cm4gSXM7bDE9MSxPYmplY3QuZGVmaW5lUHJvcGVydHkoSXMsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLElzLldhdGNoPXZvaWQgMDtjbGFzcyB0e2NvbnN0cnVjdG9yKCl7dGhpcy50aW1lc3RhbXBzPW5ldyBNYXB9c3RhcnQocil7aWYodGhpcy50aW1lc3RhbXBzLmhhcyhyKSl0aHJvdyBuZXcgRXJyb3IoYFdhdGNoIGFscmVhZHkgc3RhcnRlZCBmb3IgbGFiZWw6ICR7cn1gKTt0aGlzLnRpbWVzdGFtcHMuc2V0KHIse3N0YXJ0ZWQ6RGF0ZS5ub3coKX0pfXN0b3Aocil7Y29uc3Qgbj10aGlzLmdldChyKTtpZih0eXBlb2Ygbi5lbGFwc2VkPCJ1Iil0aHJvdyBuZXcgRXJyb3IoYFdhdGNoIGFscmVhZHkgc3RvcHBlZCBmb3IgbGFiZWw6ICR7cn1gKTtjb25zdCBpPURhdGUubm93KCktbi5zdGFydGVkO3RoaXMudGltZXN0YW1wcy5zZXQocix7c3RhcnRlZDpuLnN0YXJ0ZWQsZWxhcHNlZDppfSl9Z2V0KHIpe2NvbnN0IG49dGhpcy50aW1lc3RhbXBzLmdldChyKTtpZih0eXBlb2Ygbj4idSIpdGhyb3cgbmV3IEVycm9yKGBObyB0aW1lc3RhbXAgZm91bmQgZm9yIGxhYmVsOiAke3J9YCk7cmV0dXJuIG59ZWxhcHNlZChyKXtjb25zdCBuPXRoaXMuZ2V0KHIpO3JldHVybiBuLmVsYXBzZWR8fERhdGUubm93KCktbi5zdGFydGVkfX1yZXR1cm4gSXMuV2F0Y2g9dCxJcy5kZWZhdWx0PXQsSXN9dmFyIHZ1PXt9LENvPXt9LHUxO2Z1bmN0aW9uIG01KCl7aWYodTEpcmV0dXJuIENvO3UxPTEsT2JqZWN0LmRlZmluZVByb3BlcnR5KENvLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxDby5JV2F0Y2g9dm9pZCAwO2NsYXNzIHR7fXJldHVybiBDby5JV2F0Y2g9dCxDb312YXIgaDE7ZnVuY3Rpb24gdzUoKXtyZXR1cm4gaDF8fChoMT0xLGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxWYS5fX2V4cG9ydFN0YXIobTUoKSx0KX0odnUpKSx2dX0oZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IGU9VmE7ZS5fX2V4cG9ydFN0YXIocDUoKSx0KSxlLl9fZXhwb3J0U3RhcihnNSgpLHQpLGUuX19leHBvcnRTdGFyKHc1KCksdCksZS5fX2V4cG9ydFN0YXIobzEoKSx0KX0pKGtlKTt2YXIgU3Q9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFN0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxTdC5nZXRMb2NhbFN0b3JhZ2U9U3QuZ2V0TG9jYWxTdG9yYWdlT3JUaHJvdz1TdC5nZXRDcnlwdG89U3QuZ2V0Q3J5cHRvT3JUaHJvdz1kMT1TdC5nZXRMb2NhdGlvbj1TdC5nZXRMb2NhdGlvbk9yVGhyb3c9eXU9U3QuZ2V0TmF2aWdhdG9yPVN0LmdldE5hdmlnYXRvck9yVGhyb3c9ZjE9U3QuZ2V0RG9jdW1lbnQ9U3QuZ2V0RG9jdW1lbnRPclRocm93PVN0LmdldEZyb21XaW5kb3dPclRocm93PVN0LmdldEZyb21XaW5kb3c9dm9pZCAwO2Z1bmN0aW9uIEZpKHQpe2xldCBlO3JldHVybiB0eXBlb2Ygd2luZG93PCJ1IiYmdHlwZW9mIHdpbmRvd1t0XTwidSImJihlPXdpbmRvd1t0XSksZX1TdC5nZXRGcm9tV2luZG93PUZpO2Z1bmN0aW9uIE9zKHQpe2NvbnN0IGU9RmkodCk7aWYoIWUpdGhyb3cgbmV3IEVycm9yKGAke3R9IGlzIG5vdCBkZWZpbmVkIGluIFdpbmRvd2ApO3JldHVybiBlfVN0LmdldEZyb21XaW5kb3dPclRocm93PU9zO2Z1bmN0aW9uIHY1KCl7cmV0dXJuIE9zKCJkb2N1bWVudCIpfVN0LmdldERvY3VtZW50T3JUaHJvdz12NTtmdW5jdGlvbiB5NSgpe3JldHVybiBGaSgiZG9jdW1lbnQiKX12YXIgZjE9U3QuZ2V0RG9jdW1lbnQ9eTU7ZnVuY3Rpb24gYjUoKXtyZXR1cm4gT3MoIm5hdmlnYXRvciIpfVN0LmdldE5hdmlnYXRvck9yVGhyb3c9YjU7ZnVuY3Rpb24gXzUoKXtyZXR1cm4gRmkoIm5hdmlnYXRvciIpfXZhciB5dT1TdC5nZXROYXZpZ2F0b3I9XzU7ZnVuY3Rpb24gRTUoKXtyZXR1cm4gT3MoImxvY2F0aW9uIil9U3QuZ2V0TG9jYXRpb25PclRocm93PUU1O2Z1bmN0aW9uIHg1KCl7cmV0dXJuIEZpKCJsb2NhdGlvbiIpfXZhciBkMT1TdC5nZXRMb2NhdGlvbj14NTtmdW5jdGlvbiBDNSgpe3JldHVybiBPcygiY3J5cHRvIil9U3QuZ2V0Q3J5cHRvT3JUaHJvdz1DNTtmdW5jdGlvbiBJNSgpe3JldHVybiBGaSgiY3J5cHRvIil9U3QuZ2V0Q3J5cHRvPUk1O2Z1bmN0aW9uIE81KCl7cmV0dXJuIE9zKCJsb2NhbFN0b3JhZ2UiKX1TdC5nZXRMb2NhbFN0b3JhZ2VPclRocm93PU81O2Z1bmN0aW9uIEE1KCl7cmV0dXJuIEZpKCJsb2NhbFN0b3JhZ2UiKX1TdC5nZXRMb2NhbFN0b3JhZ2U9QTU7dmFyIGJ1PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShidSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHAxPWJ1LmdldFdpbmRvd01ldGFkYXRhPXZvaWQgMDtjb25zdCBnMT1TdDtmdW5jdGlvbiBTNSgpe2xldCB0LGU7dHJ5e3Q9ZzEuZ2V0RG9jdW1lbnRPclRocm93KCksZT1nMS5nZXRMb2NhdGlvbk9yVGhyb3coKX1jYXRjaHtyZXR1cm4gbnVsbH1mdW5jdGlvbiByKCl7Y29uc3QgRT10LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksXz1bXTtmb3IobGV0IEE9MDtBPEUubGVuZ3RoO0ErKyl7Y29uc3QgUD1FW0FdLFU9UC5nZXRBdHRyaWJ1dGUoInJlbCIpO2lmKFUmJlUudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJpY29uIik+LTEpe2NvbnN0IEg9UC5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihIKWlmKEgudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJodHRwczoiKT09PS0xJiZILnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiaHR0cDoiKT09PS0xJiZILmluZGV4T2YoIi8vIikhPT0wKXtsZXQgRz1lLnByb3RvY29sKyIvLyIrZS5ob3N0O2lmKEguaW5kZXhPZigiLyIpPT09MClHKz1IO2Vsc2V7Y29uc3QgTj1lLnBhdGhuYW1lLnNwbGl0KCIvIik7Ti5wb3AoKTtjb25zdCBMPU4uam9pbigiLyIpO0crPUwrIi8iK0h9Xy5wdXNoKEcpfWVsc2UgaWYoSC5pbmRleE9mKCIvLyIpPT09MCl7Y29uc3QgRz1lLnByb3RvY29sK0g7Xy5wdXNoKEcpfWVsc2UgXy5wdXNoKEgpfX1yZXR1cm4gX31mdW5jdGlvbiBuKC4uLkUpe2NvbnN0IF89dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibWV0YSIpO2ZvcihsZXQgQT0wO0E8Xy5sZW5ndGg7QSsrKXtjb25zdCBQPV9bQV0sVT1bIml0ZW1wcm9wIiwicHJvcGVydHkiLCJuYW1lIl0ubWFwKEg9PlAuZ2V0QXR0cmlidXRlKEgpKS5maWx0ZXIoSD0+SD9FLmluY2x1ZGVzKEgpOiExKTtpZihVLmxlbmd0aCYmVSl7Y29uc3QgSD1QLmdldEF0dHJpYnV0ZSgiY29udGVudCIpO2lmKEgpcmV0dXJuIEh9fXJldHVybiIifWZ1bmN0aW9uIGkoKXtsZXQgRT1uKCJuYW1lIiwib2c6c2l0ZV9uYW1lIiwib2c6dGl0bGUiLCJ0d2l0dGVyOnRpdGxlIik7cmV0dXJuIEV8fChFPXQudGl0bGUpLEV9ZnVuY3Rpb24gbygpe3JldHVybiBuKCJkZXNjcmlwdGlvbiIsIm9nOmRlc2NyaXB0aW9uIiwidHdpdHRlcjpkZXNjcmlwdGlvbiIsImtleXdvcmRzIil9Y29uc3QgYz1pKCksbD1vKCksaD1lLm9yaWdpbixkPXIoKTtyZXR1cm57ZGVzY3JpcHRpb246bCx1cmw6aCxpY29uczpkLG5hbWU6Y319cDE9YnUuZ2V0V2luZG93TWV0YWRhdGE9UzU7dmFyIElvPXt9LEQ1PXQ9PmVuY29kZVVSSUNvbXBvbmVudCh0KS5yZXBsYWNlKC9bIScoKSpdL2csZT0+YCUke2UuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKX1gKSxtMT0iJVthLWYwLTldezJ9Iix3MT1uZXcgUmVnRXhwKCIoIittMSsiKXwoW14lXSs/KSIsImdpIiksdjE9bmV3IFJlZ0V4cCgiKCIrbTErIikrIiwiZ2kiKTtmdW5jdGlvbiBfdSh0LGUpe3RyeXtyZXR1cm5bZGVjb2RlVVJJQ29tcG9uZW50KHQuam9pbigiIikpXX1jYXRjaHt9aWYodC5sZW5ndGg9PT0xKXJldHVybiB0O2U9ZXx8MTt2YXIgcj10LnNsaWNlKDAsZSksbj10LnNsaWNlKGUpO3JldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmNhbGwoW10sX3UociksX3UobikpfWZ1bmN0aW9uICQ1KHQpe3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHQpfWNhdGNoe2Zvcih2YXIgZT10Lm1hdGNoKHcxKXx8W10scj0xO3I8ZS5sZW5ndGg7cisrKXQ9X3UoZSxyKS5qb2luKCIiKSxlPXQubWF0Y2godzEpfHxbXTtyZXR1cm4gdH19ZnVuY3Rpb24gUDUodCl7Zm9yKHZhciBlPXsiJUZFJUZGIjoiXHVGRkZEXHVGRkZEIiwiJUZGJUZFIjoiXHVGRkZEXHVGRkZEIn0scj12MS5leGVjKHQpO3I7KXt0cnl7ZVtyWzBdXT1kZWNvZGVVUklDb21wb25lbnQoclswXSl9Y2F0Y2h7dmFyIG49JDUoclswXSk7biE9PXJbMF0mJihlW3JbMF1dPW4pfXI9djEuZXhlYyh0KX1lWyIlQzIiXT0iXHVGRkZEIjtmb3IodmFyIGk9T2JqZWN0LmtleXMoZSksbz0wO288aS5sZW5ndGg7bysrKXt2YXIgYz1pW29dO3Q9dC5yZXBsYWNlKG5ldyBSZWdFeHAoYywiZyIpLGVbY10pfXJldHVybiB0fXZhciBUNT1mdW5jdGlvbih0KXtpZih0eXBlb2YgdCE9InN0cmluZyIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYGVuY29kZWRVUklgIHRvIGJlIG9mIHR5cGUgYHN0cmluZ2AsIGdvdCBgIit0eXBlb2YgdCsiYCIpO3RyeXtyZXR1cm4gdD10LnJlcGxhY2UoL1wrL2csIiAiKSxkZWNvZGVVUklDb21wb25lbnQodCl9Y2F0Y2h7cmV0dXJuIFA1KHQpfX0sUjU9KHQsZSk9PntpZighKHR5cGVvZiB0PT0ic3RyaW5nIiYmdHlwZW9mIGU9PSJzdHJpbmciKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCB0aGUgYXJndW1lbnRzIHRvIGJlIG9mIHR5cGUgYHN0cmluZ2AiKTtpZihlPT09IiIpcmV0dXJuW3RdO2NvbnN0IHI9dC5pbmRleE9mKGUpO3JldHVybiByPT09LTE/W3RdOlt0LnNsaWNlKDAsciksdC5zbGljZShyK2UubGVuZ3RoKV19LE41PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXt9LG49T2JqZWN0LmtleXModCksaT1BcnJheS5pc0FycmF5KGUpLG89MDtvPG4ubGVuZ3RoO28rKyl7dmFyIGM9bltvXSxsPXRbY107KGk/ZS5pbmRleE9mKGMpIT09LTE6ZShjLGwsdCkpJiYocltjXT1sKX1yZXR1cm4gcn07KGZ1bmN0aW9uKHQpe2NvbnN0IGU9RDUscj1UNSxuPVI1LGk9TjUsbz1OPT5OPT1udWxsLGM9U3ltYm9sKCJlbmNvZGVGcmFnbWVudElkZW50aWZpZXIiKTtmdW5jdGlvbiBsKE4pe3N3aXRjaChOLmFycmF5Rm9ybWF0KXtjYXNlImluZGV4IjpyZXR1cm4gTD0+KCQsVCk9Pntjb25zdCBJPSQubGVuZ3RoO3JldHVybiBUPT09dm9pZCAwfHxOLnNraXBOdWxsJiZUPT09bnVsbHx8Ti5za2lwRW1wdHlTdHJpbmcmJlQ9PT0iIj8kOlQ9PT1udWxsP1suLi4kLFt2KEwsTiksIlsiLEksIl0iXS5qb2luKCIiKV06Wy4uLiQsW3YoTCxOKSwiWyIsdihJLE4pLCJdPSIsdihULE4pXS5qb2luKCIiKV19O2Nhc2UiYnJhY2tldCI6cmV0dXJuIEw9PigkLFQpPT5UPT09dm9pZCAwfHxOLnNraXBOdWxsJiZUPT09bnVsbHx8Ti5za2lwRW1wdHlTdHJpbmcmJlQ9PT0iIj8kOlQ9PT1udWxsP1suLi4kLFt2KEwsTiksIltdIl0uam9pbigiIildOlsuLi4kLFt2KEwsTiksIltdPSIsdihULE4pXS5qb2luKCIiKV07Y2FzZSJjb2xvbi1saXN0LXNlcGFyYXRvciI6cmV0dXJuIEw9PigkLFQpPT5UPT09dm9pZCAwfHxOLnNraXBOdWxsJiZUPT09bnVsbHx8Ti5za2lwRW1wdHlTdHJpbmcmJlQ9PT0iIj8kOlQ9PT1udWxsP1suLi4kLFt2KEwsTiksIjpsaXN0PSJdLmpvaW4oIiIpXTpbLi4uJCxbdihMLE4pLCI6bGlzdD0iLHYoVCxOKV0uam9pbigiIildO2Nhc2UiY29tbWEiOmNhc2Uic2VwYXJhdG9yIjpjYXNlImJyYWNrZXQtc2VwYXJhdG9yIjp7Y29uc3QgTD1OLmFycmF5Rm9ybWF0PT09ImJyYWNrZXQtc2VwYXJhdG9yIj8iW109IjoiPSI7cmV0dXJuICQ9PihULEkpPT5JPT09dm9pZCAwfHxOLnNraXBOdWxsJiZJPT09bnVsbHx8Ti5za2lwRW1wdHlTdHJpbmcmJkk9PT0iIj9UOihJPUk9PT1udWxsPyIiOkksVC5sZW5ndGg9PT0wP1tbdigkLE4pLEwsdihJLE4pXS5qb2luKCIiKV06W1tULHYoSSxOKV0uam9pbihOLmFycmF5Rm9ybWF0U2VwYXJhdG9yKV0pfWRlZmF1bHQ6cmV0dXJuIEw9PigkLFQpPT5UPT09dm9pZCAwfHxOLnNraXBOdWxsJiZUPT09bnVsbHx8Ti5za2lwRW1wdHlTdHJpbmcmJlQ9PT0iIj8kOlQ9PT1udWxsP1suLi4kLHYoTCxOKV06Wy4uLiQsW3YoTCxOKSwiPSIsdihULE4pXS5qb2luKCIiKV19fWZ1bmN0aW9uIGgoTil7bGV0IEw7c3dpdGNoKE4uYXJyYXlGb3JtYXQpe2Nhc2UiaW5kZXgiOnJldHVybigkLFQsSSk9PntpZihMPS9cWyhcZCopXF0kLy5leGVjKCQpLCQ9JC5yZXBsYWNlKC9cW1xkKlxdJC8sIiIpLCFMKXtJWyRdPVQ7cmV0dXJufUlbJF09PT12b2lkIDAmJihJWyRdPXt9KSxJWyRdW0xbMV1dPVR9O2Nhc2UiYnJhY2tldCI6cmV0dXJuKCQsVCxJKT0+e2lmKEw9LyhcW1xdKSQvLmV4ZWMoJCksJD0kLnJlcGxhY2UoL1xbXF0kLywiIiksIUwpe0lbJF09VDtyZXR1cm59aWYoSVskXT09PXZvaWQgMCl7SVskXT1bVF07cmV0dXJufUlbJF09W10uY29uY2F0KElbJF0sVCl9O2Nhc2UiY29sb24tbGlzdC1zZXBhcmF0b3IiOnJldHVybigkLFQsSSk9PntpZihMPS8oOmxpc3QpJC8uZXhlYygkKSwkPSQucmVwbGFjZSgvOmxpc3QkLywiIiksIUwpe0lbJF09VDtyZXR1cm59aWYoSVskXT09PXZvaWQgMCl7SVskXT1bVF07cmV0dXJufUlbJF09W10uY29uY2F0KElbJF0sVCl9O2Nhc2UiY29tbWEiOmNhc2Uic2VwYXJhdG9yIjpyZXR1cm4oJCxULEkpPT57Y29uc3QgZj10eXBlb2YgVD09InN0cmluZyImJlQuaW5jbHVkZXMoTi5hcnJheUZvcm1hdFNlcGFyYXRvcikseD10eXBlb2YgVD09InN0cmluZyImJiFmJiZFKFQsTikuaW5jbHVkZXMoTi5hcnJheUZvcm1hdFNlcGFyYXRvcik7VD14P0UoVCxOKTpUO2NvbnN0IEo9Znx8eD9ULnNwbGl0KE4uYXJyYXlGb3JtYXRTZXBhcmF0b3IpLm1hcCh6PT5FKHosTikpOlQ9PT1udWxsP1Q6RShULE4pO0lbJF09Sn07Y2FzZSJicmFja2V0LXNlcGFyYXRvciI6cmV0dXJuKCQsVCxJKT0+e2NvbnN0IGY9LyhcW1xdKSQvLnRlc3QoJCk7aWYoJD0kLnJlcGxhY2UoL1xbXF0kLywiIiksIWYpe0lbJF09VCYmRShULE4pO3JldHVybn1jb25zdCB4PVQ9PT1udWxsP1tdOlQuc3BsaXQoTi5hcnJheUZvcm1hdFNlcGFyYXRvcikubWFwKEo9PkUoSixOKSk7aWYoSVskXT09PXZvaWQgMCl7SVskXT14O3JldHVybn1JWyRdPVtdLmNvbmNhdChJWyRdLHgpfTtkZWZhdWx0OnJldHVybigkLFQsSSk9PntpZihJWyRdPT09dm9pZCAwKXtJWyRdPVQ7cmV0dXJufUlbJF09W10uY29uY2F0KElbJF0sVCl9fX1mdW5jdGlvbiBkKE4pe2lmKHR5cGVvZiBOIT0ic3RyaW5nInx8Ti5sZW5ndGghPT0xKXRocm93IG5ldyBUeXBlRXJyb3IoImFycmF5Rm9ybWF0U2VwYXJhdG9yIG11c3QgYmUgc2luZ2xlIGNoYXJhY3RlciBzdHJpbmciKX1mdW5jdGlvbiB2KE4sTCl7cmV0dXJuIEwuZW5jb2RlP0wuc3RyaWN0P2UoTik6ZW5jb2RlVVJJQ29tcG9uZW50KE4pOk59ZnVuY3Rpb24gRShOLEwpe3JldHVybiBMLmRlY29kZT9yKE4pOk59ZnVuY3Rpb24gXyhOKXtyZXR1cm4gQXJyYXkuaXNBcnJheShOKT9OLnNvcnQoKTp0eXBlb2YgTj09Im9iamVjdCI/XyhPYmplY3Qua2V5cyhOKSkuc29ydCgoTCwkKT0+TnVtYmVyKEwpLU51bWJlcigkKSkubWFwKEw9Pk5bTF0pOk59ZnVuY3Rpb24gQShOKXtjb25zdCBMPU4uaW5kZXhPZigiIyIpO3JldHVybiBMIT09LTEmJihOPU4uc2xpY2UoMCxMKSksTn1mdW5jdGlvbiBQKE4pe2xldCBMPSIiO2NvbnN0ICQ9Ti5pbmRleE9mKCIjIik7cmV0dXJuICQhPT0tMSYmKEw9Ti5zbGljZSgkKSksTH1mdW5jdGlvbiBVKE4pe049QShOKTtjb25zdCBMPU4uaW5kZXhPZigiPyIpO3JldHVybiBMPT09LTE/IiI6Ti5zbGljZShMKzEpfWZ1bmN0aW9uIEgoTixMKXtyZXR1cm4gTC5wYXJzZU51bWJlcnMmJiFOdW1iZXIuaXNOYU4oTnVtYmVyKE4pKSYmdHlwZW9mIE49PSJzdHJpbmciJiZOLnRyaW0oKSE9PSIiP049TnVtYmVyKE4pOkwucGFyc2VCb29sZWFucyYmTiE9PW51bGwmJihOLnRvTG93ZXJDYXNlKCk9PT0idHJ1ZSJ8fE4udG9Mb3dlckNhc2UoKT09PSJmYWxzZSIpJiYoTj1OLnRvTG93ZXJDYXNlKCk9PT0idHJ1ZSIpLE59ZnVuY3Rpb24gRyhOLEwpe0w9T2JqZWN0LmFzc2lnbih7ZGVjb2RlOiEwLHNvcnQ6ITAsYXJyYXlGb3JtYXQ6Im5vbmUiLGFycmF5Rm9ybWF0U2VwYXJhdG9yOiIsIixwYXJzZU51bWJlcnM6ITEscGFyc2VCb29sZWFuczohMX0sTCksZChMLmFycmF5Rm9ybWF0U2VwYXJhdG9yKTtjb25zdCAkPWgoTCksVD1PYmplY3QuY3JlYXRlKG51bGwpO2lmKHR5cGVvZiBOIT0ic3RyaW5nInx8KE49Ti50cmltKCkucmVwbGFjZSgvXls/IyZdLywiIiksIU4pKXJldHVybiBUO2Zvcihjb25zdCBJIG9mIE4uc3BsaXQoIiYiKSl7aWYoST09PSIiKWNvbnRpbnVlO2xldFtmLHhdPW4oTC5kZWNvZGU/SS5yZXBsYWNlKC9cKy9nLCIgIik6SSwiPSIpO3g9eD09PXZvaWQgMD9udWxsOlsiY29tbWEiLCJzZXBhcmF0b3IiLCJicmFja2V0LXNlcGFyYXRvciJdLmluY2x1ZGVzKEwuYXJyYXlGb3JtYXQpP3g6RSh4LEwpLCQoRShmLEwpLHgsVCl9Zm9yKGNvbnN0IEkgb2YgT2JqZWN0LmtleXMoVCkpe2NvbnN0IGY9VFtJXTtpZih0eXBlb2YgZj09Im9iamVjdCImJmYhPT1udWxsKWZvcihjb25zdCB4IG9mIE9iamVjdC5rZXlzKGYpKWZbeF09SChmW3hdLEwpO2Vsc2UgVFtJXT1IKGYsTCl9cmV0dXJuIEwuc29ydD09PSExP1Q6KEwuc29ydD09PSEwP09iamVjdC5rZXlzKFQpLnNvcnQoKTpPYmplY3Qua2V5cyhUKS5zb3J0KEwuc29ydCkpLnJlZHVjZSgoSSxmKT0+e2NvbnN0IHg9VFtmXTtyZXR1cm4gQm9vbGVhbih4KSYmdHlwZW9mIHg9PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheSh4KT9JW2ZdPV8oeCk6SVtmXT14LEl9LE9iamVjdC5jcmVhdGUobnVsbCkpfXQuZXh0cmFjdD1VLHQucGFyc2U9Ryx0LnN0cmluZ2lmeT0oTixMKT0+e2lmKCFOKXJldHVybiIiO0w9T2JqZWN0LmFzc2lnbih7ZW5jb2RlOiEwLHN0cmljdDohMCxhcnJheUZvcm1hdDoibm9uZSIsYXJyYXlGb3JtYXRTZXBhcmF0b3I6IiwifSxMKSxkKEwuYXJyYXlGb3JtYXRTZXBhcmF0b3IpO2NvbnN0ICQ9eD0+TC5za2lwTnVsbCYmbyhOW3hdKXx8TC5za2lwRW1wdHlTdHJpbmcmJk5beF09PT0iIixUPWwoTCksST17fTtmb3IoY29uc3QgeCBvZiBPYmplY3Qua2V5cyhOKSkkKHgpfHwoSVt4XT1OW3hdKTtjb25zdCBmPU9iamVjdC5rZXlzKEkpO3JldHVybiBMLnNvcnQhPT0hMSYmZi5zb3J0KEwuc29ydCksZi5tYXAoeD0+e2NvbnN0IEo9Tlt4XTtyZXR1cm4gSj09PXZvaWQgMD8iIjpKPT09bnVsbD92KHgsTCk6QXJyYXkuaXNBcnJheShKKT9KLmxlbmd0aD09PTAmJkwuYXJyYXlGb3JtYXQ9PT0iYnJhY2tldC1zZXBhcmF0b3IiP3YoeCxMKSsiW10iOkoucmVkdWNlKFQoeCksW10pLmpvaW4oIiYiKTp2KHgsTCkrIj0iK3YoSixMKX0pLmZpbHRlcih4PT54Lmxlbmd0aD4wKS5qb2luKCImIil9LHQucGFyc2VVcmw9KE4sTCk9PntMPU9iamVjdC5hc3NpZ24oe2RlY29kZTohMH0sTCk7Y29uc3RbJCxUXT1uKE4sIiMiKTtyZXR1cm4gT2JqZWN0LmFzc2lnbih7dXJsOiQuc3BsaXQoIj8iKVswXXx8IiIscXVlcnk6RyhVKE4pLEwpfSxMJiZMLnBhcnNlRnJhZ21lbnRJZGVudGlmaWVyJiZUP3tmcmFnbWVudElkZW50aWZpZXI6RShULEwpfTp7fSl9LHQuc3RyaW5naWZ5VXJsPShOLEwpPT57TD1PYmplY3QuYXNzaWduKHtlbmNvZGU6ITAsc3RyaWN0OiEwLFtjXTohMH0sTCk7Y29uc3QgJD1BKE4udXJsKS5zcGxpdCgiPyIpWzBdfHwiIixUPXQuZXh0cmFjdChOLnVybCksST10LnBhcnNlKFQse3NvcnQ6ITF9KSxmPU9iamVjdC5hc3NpZ24oSSxOLnF1ZXJ5KTtsZXQgeD10LnN0cmluZ2lmeShmLEwpO3gmJih4PWA/JHt4fWApO2xldCBKPVAoTi51cmwpO3JldHVybiBOLmZyYWdtZW50SWRlbnRpZmllciYmKEo9YCMke0xbY10/dihOLmZyYWdtZW50SWRlbnRpZmllcixMKTpOLmZyYWdtZW50SWRlbnRpZmllcn1gKSxgJHskfSR7eH0ke0p9YH0sdC5waWNrPShOLEwsJCk9PnskPU9iamVjdC5hc3NpZ24oe3BhcnNlRnJhZ21lbnRJZGVudGlmaWVyOiEwLFtjXTohMX0sJCk7Y29uc3R7dXJsOlQscXVlcnk6SSxmcmFnbWVudElkZW50aWZpZXI6Zn09dC5wYXJzZVVybChOLCQpO3JldHVybiB0LnN0cmluZ2lmeVVybCh7dXJsOlQscXVlcnk6aShJLEwpLGZyYWdtZW50SWRlbnRpZmllcjpmfSwkKX0sdC5leGNsdWRlPShOLEwsJCk9Pntjb25zdCBUPUFycmF5LmlzQXJyYXkoTCk/ST0+IUwuaW5jbHVkZXMoSSk6KEksZik9PiFMKEksZik7cmV0dXJuIHQucGljayhOLFQsJCl9fSkoSW8pO2NvbnN0IEw1PXt3YWt1OntwdWJsaXNoOiJ3YWt1X3B1Ymxpc2giLGJhdGNoUHVibGlzaDoid2FrdV9iYXRjaFB1Ymxpc2giLHN1YnNjcmliZToid2FrdV9zdWJzY3JpYmUiLGJhdGNoU3Vic2NyaWJlOiJ3YWt1X2JhdGNoU3Vic2NyaWJlIixzdWJzY3JpcHRpb246Indha3Vfc3Vic2NyaXB0aW9uIix1bnN1YnNjcmliZToid2FrdV91bnN1YnNjcmliZSIsYmF0Y2hVbnN1YnNjcmliZToid2FrdV9iYXRjaFVuc3Vic2NyaWJlIn0saXJuOntwdWJsaXNoOiJpcm5fcHVibGlzaCIsYmF0Y2hQdWJsaXNoOiJpcm5fYmF0Y2hQdWJsaXNoIixzdWJzY3JpYmU6Imlybl9zdWJzY3JpYmUiLGJhdGNoU3Vic2NyaWJlOiJpcm5fYmF0Y2hTdWJzY3JpYmUiLHN1YnNjcmlwdGlvbjoiaXJuX3N1YnNjcmlwdGlvbiIsdW5zdWJzY3JpYmU6Imlybl91bnN1YnNjcmliZSIsYmF0Y2hVbnN1YnNjcmliZToiaXJuX2JhdGNoVW5zdWJzY3JpYmUifSxpcmlkaXVtOntwdWJsaXNoOiJpcmlkaXVtX3B1Ymxpc2giLGJhdGNoUHVibGlzaDoiaXJpZGl1bV9iYXRjaFB1Ymxpc2giLHN1YnNjcmliZToiaXJpZGl1bV9zdWJzY3JpYmUiLGJhdGNoU3Vic2NyaWJlOiJpcmlkaXVtX2JhdGNoU3Vic2NyaWJlIixzdWJzY3JpcHRpb246ImlyaWRpdW1fc3Vic2NyaXB0aW9uIix1bnN1YnNjcmliZToiaXJpZGl1bV91bnN1YnNjcmliZSIsYmF0Y2hVbnN1YnNjcmliZToiaXJpZGl1bV9iYXRjaFVuc3Vic2NyaWJlIn19O2Z1bmN0aW9uIE01KHQsZT1bXSl7Y29uc3Qgcj1bXTtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaChuPT57aWYoZS5sZW5ndGgmJiFlLmluY2x1ZGVzKG4pKXJldHVybjtjb25zdCBpPXRbbl07ci5wdXNoKC4uLmkuYWNjb3VudHMpfSkscn1mdW5jdGlvbiB5MSh0LGUpe3JldHVybiB0LmluY2x1ZGVzKCI6Iik/W3RdOmUuY2hhaW5zfHxbXX1jb25zdCBiMT0iYmFzZTEwIiwkcj0iYmFzZTE2IixFdT0iYmFzZTY0cGFkIix4dT0idXRmOCIsXzE9MCxCaT0xLFU1PTAsRTE9MSxDdT0xMixJdT0zMjtmdW5jdGlvbiBqNSgpe2NvbnN0IHQ9b3UuZ2VuZXJhdGVLZXlQYWlyKCk7cmV0dXJue3ByaXZhdGVLZXk6RHIodC5zZWNyZXRLZXksJHIpLHB1YmxpY0tleTpEcih0LnB1YmxpY0tleSwkcil9fWZ1bmN0aW9uIE91KCl7Y29uc3QgdD1Dcy5yYW5kb21CeXRlcyhJdSk7cmV0dXJuIERyKHQsJHIpfWZ1bmN0aW9uIEY1KHQsZSl7Y29uc3Qgcj1vdS5zaGFyZWRLZXkoSHIodCwkciksSHIoZSwkcikpLG49bmV3IHR2KFdhLlNIQTI1NixyKS5leHBhbmQoSXUpO3JldHVybiBEcihuLCRyKX1mdW5jdGlvbiBCNSh0KXtjb25zdCBlPVdhLmhhc2goSHIodCwkcikpO3JldHVybiBEcihlLCRyKX1mdW5jdGlvbiBBcyh0KXtjb25zdCBlPVdhLmhhc2goSHIodCx4dSkpO3JldHVybiBEcihlLCRyKX1mdW5jdGlvbiBrNSh0KXtyZXR1cm4gSHIoYCR7dH1gLGIxKX1mdW5jdGlvbiBPbyh0KXtyZXR1cm4gTnVtYmVyKERyKHQsYjEpKX1mdW5jdGlvbiBINSh0KXtjb25zdCBlPWs1KHR5cGVvZiB0LnR5cGU8InUiP3QudHlwZTpfMSk7aWYoT28oZSk9PT1CaSYmdHlwZW9mIHQuc2VuZGVyUHVibGljS2V5PiJ1Iil0aHJvdyBuZXcgRXJyb3IoIk1pc3Npbmcgc2VuZGVyIHB1YmxpYyBrZXkgZm9yIHR5cGUgMSBlbnZlbG9wZSIpO2NvbnN0IHI9dHlwZW9mIHQuc2VuZGVyUHVibGljS2V5PCJ1Ij9Icih0LnNlbmRlclB1YmxpY0tleSwkcik6dm9pZCAwLG49dHlwZW9mIHQuaXY8InUiP0hyKHQuaXYsJHIpOkNzLnJhbmRvbUJ5dGVzKEN1KSxpPW5ldyBRbC5DaGFDaGEyMFBvbHkxMzA1KEhyKHQuc3ltS2V5LCRyKSkuc2VhbChuLEhyKHQubWVzc2FnZSx4dSkpO3JldHVybiBXNSh7dHlwZTplLHNlYWxlZDppLGl2Om4sc2VuZGVyUHVibGljS2V5OnJ9KX1mdW5jdGlvbiB6NSh0KXtjb25zdCBlPW5ldyBRbC5DaGFDaGEyMFBvbHkxMzA1KEhyKHQuc3ltS2V5LCRyKSkse3NlYWxlZDpyLGl2Om59PUthKHQuZW5jb2RlZCksaT1lLm9wZW4obixyKTtpZihpPT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBkZWNyeXB0Iik7cmV0dXJuIERyKGkseHUpfWZ1bmN0aW9uIFc1KHQpe2lmKE9vKHQudHlwZSk9PT1CaSl7aWYodHlwZW9mIHQuc2VuZGVyUHVibGljS2V5PiJ1Iil0aHJvdyBuZXcgRXJyb3IoIk1pc3Npbmcgc2VuZGVyIHB1YmxpYyBrZXkgZm9yIHR5cGUgMSBlbnZlbG9wZSIpO3JldHVybiBEcihjdShbdC50eXBlLHQuc2VuZGVyUHVibGljS2V5LHQuaXYsdC5zZWFsZWRdKSxFdSl9cmV0dXJuIERyKGN1KFt0LnR5cGUsdC5pdix0LnNlYWxlZF0pLEV1KX1mdW5jdGlvbiBLYSh0KXtjb25zdCBlPUhyKHQsRXUpLHI9ZS5zbGljZShVNSxFMSksbj1FMTtpZihPbyhyKT09PUJpKXtjb25zdCBsPW4rSXUsaD1sK0N1LGQ9ZS5zbGljZShuLGwpLHY9ZS5zbGljZShsLGgpLEU9ZS5zbGljZShoKTtyZXR1cm57dHlwZTpyLHNlYWxlZDpFLGl2OnYsc2VuZGVyUHVibGljS2V5OmR9fWNvbnN0IGk9bitDdSxvPWUuc2xpY2UobixpKSxjPWUuc2xpY2UoaSk7cmV0dXJue3R5cGU6cixzZWFsZWQ6YyxpdjpvfX1mdW5jdGlvbiBxNSh0LGUpe2NvbnN0IHI9S2EodCk7cmV0dXJuIHgxKHt0eXBlOk9vKHIudHlwZSksc2VuZGVyUHVibGljS2V5OnR5cGVvZiByLnNlbmRlclB1YmxpY0tleTwidSI/RHIoci5zZW5kZXJQdWJsaWNLZXksJHIpOnZvaWQgMCxyZWNlaXZlclB1YmxpY0tleTplPy5yZWNlaXZlclB1YmxpY0tleX0pfWZ1bmN0aW9uIHgxKHQpe2NvbnN0IGU9dD8udHlwZXx8XzE7aWYoZT09PUJpKXtpZih0eXBlb2YgdD8uc2VuZGVyUHVibGljS2V5PiJ1Iil0aHJvdyBuZXcgRXJyb3IoIm1pc3Npbmcgc2VuZGVyIHB1YmxpYyBrZXkiKTtpZih0eXBlb2YgdD8ucmVjZWl2ZXJQdWJsaWNLZXk+InUiKXRocm93IG5ldyBFcnJvcigibWlzc2luZyByZWNlaXZlciBwdWJsaWMga2V5Iil9cmV0dXJue3R5cGU6ZSxzZW5kZXJQdWJsaWNLZXk6dD8uc2VuZGVyUHVibGljS2V5LHJlY2VpdmVyUHVibGljS2V5OnQ/LnJlY2VpdmVyUHVibGljS2V5fX1mdW5jdGlvbiBDMSh0KXtyZXR1cm4gdC50eXBlPT09QmkmJnR5cGVvZiB0LnNlbmRlclB1YmxpY0tleT09InN0cmluZyImJnR5cGVvZiB0LnJlY2VpdmVyUHVibGljS2V5PT0ic3RyaW5nIn12YXIgVjU9T2JqZWN0LmRlZmluZVByb3BlcnR5LEkxPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsSzU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxHNT1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLE8xPSh0LGUscik9PmUgaW4gdD9WNSh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnJ9KTp0W2VdPXIsQTE9KHQsZSk9Pntmb3IodmFyIHIgaW4gZXx8KGU9e30pKUs1LmNhbGwoZSxyKSYmTzEodCxyLGVbcl0pO2lmKEkxKWZvcih2YXIgciBvZiBJMShlKSlHNS5jYWxsKGUscikmJk8xKHQscixlW3JdKTtyZXR1cm4gdH07Y29uc3QgWjU9IlJlYWN0TmF0aXZlIixraT17cmVhY3ROYXRpdmU6InJlYWN0LW5hdGl2ZSIsbm9kZToibm9kZSIsYnJvd3NlcjoiYnJvd3NlciIsdW5rbm93bjoidW5rbm93biJ9LFk1PSJqcyI7ZnVuY3Rpb24gQXUoKXtyZXR1cm4gdHlwZW9mIHByb2Nlc3M8InUiJiZ0eXBlb2YgcHJvY2Vzcy52ZXJzaW9uczwidSImJnR5cGVvZiBwcm9jZXNzLnZlcnNpb25zLm5vZGU8InUifWZ1bmN0aW9uIFMxKCl7cmV0dXJuIWYxKCkmJiEheXUoKSYmbmF2aWdhdG9yLnByb2R1Y3Q9PT1aNX1mdW5jdGlvbiBTdSgpe3JldHVybiFBdSgpJiYhIXl1KCl9ZnVuY3Rpb24gRDEoKXtyZXR1cm4gUzEoKT9raS5yZWFjdE5hdGl2ZTpBdSgpP2tpLm5vZGU6U3UoKT9raS5icm93c2VyOmtpLnVua25vd259ZnVuY3Rpb24gSjUodCxlKXtsZXQgcj1Jby5wYXJzZSh0KTtyZXR1cm4gcj1BMShBMSh7fSxyKSxlKSx0PUlvLnN0cmluZ2lmeShyKSx0fWZ1bmN0aW9uIFg1KCl7cmV0dXJuIHAxKCl8fHtuYW1lOiIiLGRlc2NyaXB0aW9uOiIiLHVybDoiIixpY29uczpbIiJdfX1mdW5jdGlvbiBRNSgpe2NvbnN0IHQ9RnkoKTtpZih0PT09bnVsbClyZXR1cm4idW5rbm93biI7Y29uc3QgZT10Lm9zP3Qub3MucmVwbGFjZSgiICIsIiIpLnRvTG93ZXJDYXNlKCk6InVua25vd24iO3JldHVybiB0LnR5cGU9PT0iYnJvd3NlciI/W2UsdC5uYW1lLHQudmVyc2lvbl0uam9pbigiLSIpOltlLHQudmVyc2lvbl0uam9pbigiLSIpfWZ1bmN0aW9uIGViKCl7dmFyIHQ7Y29uc3QgZT1EMSgpO3JldHVybiBlPT09a2kuYnJvd3Nlcj9bZSwoKHQ9ZDEoKSk9PW51bGw/dm9pZCAwOnQuaG9zdCl8fCJ1bmtub3duIl0uam9pbigiOiIpOmV9ZnVuY3Rpb24gdGIodCxlLHIpe2NvbnN0IG49UTUoKSxpPWViKCk7cmV0dXJuW1t0LGVdLmpvaW4oIi0iKSxbWTUscl0uam9pbigiLSIpLG4saV0uam9pbigiLyIpfWZ1bmN0aW9uIHJiKHtwcm90b2NvbDp0LHZlcnNpb246ZSxyZWxheVVybDpyLHNka1ZlcnNpb246bixhdXRoOmkscHJvamVjdElkOm8sdXNlT25DbG9zZUV2ZW50OmN9KXtjb25zdCBsPXIuc3BsaXQoIj8iKSxoPXRiKHQsZSxuKSxkPXthdXRoOmksdWE6aCxwcm9qZWN0SWQ6byx1c2VPbkNsb3NlRXZlbnQ6Y3x8dm9pZCAwfSx2PUo1KGxbMV18fCIiLGQpO3JldHVybiBsWzBdKyI/Iit2fWZ1bmN0aW9uIEhpKHQsZSl7cmV0dXJuIHQuZmlsdGVyKHI9PmUuaW5jbHVkZXMocikpLmxlbmd0aD09PXQubGVuZ3RofWZ1bmN0aW9uICQxKHQpe3JldHVybiBPYmplY3QuZnJvbUVudHJpZXModC5lbnRyaWVzKCkpfWZ1bmN0aW9uIFAxKHQpe3JldHVybiBuZXcgTWFwKE9iamVjdC5lbnRyaWVzKHQpKX1mdW5jdGlvbiBTcyh0PWtlLkZJVkVfTUlOVVRFUyxlKXtjb25zdCByPWtlLnRvTWlsaXNlY29uZHModHx8a2UuRklWRV9NSU5VVEVTKTtsZXQgbixpLG87cmV0dXJue3Jlc29sdmU6Yz0+e28mJm4mJihjbGVhclRpbWVvdXQobyksbihjKSl9LHJlamVjdDpjPT57byYmaSYmKGNsZWFyVGltZW91dChvKSxpKGMpKX0sZG9uZTooKT0+bmV3IFByb21pc2UoKGMsbCk9PntvPXNldFRpbWVvdXQoKCk9PntsKG5ldyBFcnJvcihlKSl9LHIpLG49YyxpPWx9KX19ZnVuY3Rpb24gR2EodCxlLHIpe3JldHVybiBuZXcgUHJvbWlzZShhc3luYyhuLGkpPT57Y29uc3Qgbz1zZXRUaW1lb3V0KCgpPT5pKG5ldyBFcnJvcihyKSksZSk7dHJ5e2NvbnN0IGM9YXdhaXQgdDtuKGMpfWNhdGNoKGMpe2koYyl9Y2xlYXJUaW1lb3V0KG8pfSl9ZnVuY3Rpb24gVDEodCxlKXtpZih0eXBlb2YgZT09InN0cmluZyImJmUuc3RhcnRzV2l0aChgJHt0fTpgKSlyZXR1cm4gZTtpZih0LnRvTG93ZXJDYXNlKCk9PT0idG9waWMiKXtpZih0eXBlb2YgZSE9InN0cmluZyIpdGhyb3cgbmV3IEVycm9yKCdWYWx1ZSBtdXN0IGJlICJzdHJpbmciIGZvciBleHBpcmVyIHRhcmdldCB0eXBlOiB0b3BpYycpO3JldHVybmB0b3BpYzoke2V9YH1lbHNlIGlmKHQudG9Mb3dlckNhc2UoKT09PSJpZCIpe2lmKHR5cGVvZiBlIT0ibnVtYmVyIil0aHJvdyBuZXcgRXJyb3IoJ1ZhbHVlIG11c3QgYmUgIm51bWJlciIgZm9yIGV4cGlyZXIgdGFyZ2V0IHR5cGU6IGlkJyk7cmV0dXJuYGlkOiR7ZX1gfXRocm93IG5ldyBFcnJvcihgVW5rbm93biBleHBpcmVyIHRhcmdldCB0eXBlOiAke3R9YCl9ZnVuY3Rpb24gbmIodCl7cmV0dXJuIFQxKCJ0b3BpYyIsdCl9ZnVuY3Rpb24gaWIodCl7cmV0dXJuIFQxKCJpZCIsdCl9ZnVuY3Rpb24gUjEodCl7Y29uc3RbZSxyXT10LnNwbGl0KCI6Iiksbj17aWQ6dm9pZCAwLHRvcGljOnZvaWQgMH07aWYoZT09PSJ0b3BpYyImJnR5cGVvZiByPT0ic3RyaW5nIiluLnRvcGljPXI7ZWxzZSBpZihlPT09ImlkIiYmTnVtYmVyLmlzSW50ZWdlcihOdW1iZXIocikpKW4uaWQ9TnVtYmVyKHIpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRhcmdldCwgZXhwZWN0ZWQgaWQ6bnVtYmVyIG9yIHRvcGljOnN0cmluZywgZ290ICR7ZX06JHtyfWApO3JldHVybiBufWZ1bmN0aW9uICRuKHQsZSl7cmV0dXJuIGtlLmZyb21NaWxpc2Vjb25kcygoZXx8RGF0ZS5ub3coKSkra2UudG9NaWxpc2Vjb25kcyh0KSl9ZnVuY3Rpb24gdWkodCl7cmV0dXJuIERhdGUubm93KCk+PWtlLnRvTWlsaXNlY29uZHModCl9ZnVuY3Rpb24gdHIodCxlKXtyZXR1cm5gJHt0fSR7ZT9gOiR7ZX1gOiIifWB9ZnVuY3Rpb24gRHUodD1bXSxlPVtdKXtyZXR1cm5bLi4ubmV3IFNldChbLi4udCwuLi5lXSldfWNvbnN0IHNiPSJpcm4iO2Z1bmN0aW9uICR1KHQpe3JldHVybiB0Py5yZWxheXx8e3Byb3RvY29sOnNifX1mdW5jdGlvbiBaYSh0KXtjb25zdCBlPUw1W3RdO2lmKHR5cGVvZiBlPiJ1Iil0aHJvdyBuZXcgRXJyb3IoYFJlbGF5IFByb3RvY29sIG5vdCBzdXBwb3J0ZWQ6ICR7dH1gKTtyZXR1cm4gZX12YXIgb2I9T2JqZWN0LmRlZmluZVByb3BlcnR5LE4xPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsYWI9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxjYj1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLEwxPSh0LGUscik9PmUgaW4gdD9vYih0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnJ9KTp0W2VdPXIsbGI9KHQsZSk9Pntmb3IodmFyIHIgaW4gZXx8KGU9e30pKWFiLmNhbGwoZSxyKSYmTDEodCxyLGVbcl0pO2lmKE4xKWZvcih2YXIgciBvZiBOMShlKSljYi5jYWxsKGUscikmJkwxKHQscixlW3JdKTtyZXR1cm4gdH07ZnVuY3Rpb24gdWIodCxlPSItIil7Y29uc3Qgcj17fSxuPSJyZWxheSIrZTtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaChpPT57aWYoaS5zdGFydHNXaXRoKG4pKXtjb25zdCBvPWkucmVwbGFjZShuLCIiKSxjPXRbaV07cltvXT1jfX0pLHJ9ZnVuY3Rpb24gaGIodCl7Y29uc3QgZT10LmluZGV4T2YoIjoiKSxyPXQuaW5kZXhPZigiPyIpIT09LTE/dC5pbmRleE9mKCI/Iik6dm9pZCAwLG49dC5zdWJzdHJpbmcoMCxlKSxpPXQuc3Vic3RyaW5nKGUrMSxyKS5zcGxpdCgiQCIpLG89dHlwZW9mIHI8InUiP3Quc3Vic3RyaW5nKHIpOiIiLGM9SW8ucGFyc2Uobyk7cmV0dXJue3Byb3RvY29sOm4sdG9waWM6ZmIoaVswXSksdmVyc2lvbjpwYXJzZUludChpWzFdLDEwKSxzeW1LZXk6Yy5zeW1LZXkscmVsYXk6dWIoYyl9fWZ1bmN0aW9uIGZiKHQpe3JldHVybiB0LnN0YXJ0c1dpdGgoIi8vIik/dC5zdWJzdHJpbmcoMik6dH1mdW5jdGlvbiBkYih0LGU9Ii0iKXtjb25zdCByPSJyZWxheSIsbj17fTtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaChpPT57Y29uc3Qgbz1yK2UraTt0W2ldJiYobltvXT10W2ldKX0pLG59ZnVuY3Rpb24gcGIodCl7cmV0dXJuYCR7dC5wcm90b2NvbH06JHt0LnRvcGljfUAke3QudmVyc2lvbn0/YCtJby5zdHJpbmdpZnkobGIoe3N5bUtleTp0LnN5bUtleX0sZGIodC5yZWxheSkpKX1mdW5jdGlvbiBEcyh0KXtjb25zdCBlPVtdO3JldHVybiB0LmZvckVhY2gocj0+e2NvbnN0W24saV09ci5zcGxpdCgiOiIpO2UucHVzaChgJHtufToke2l9YCl9KSxlfWZ1bmN0aW9uIGdiKHQpe2NvbnN0IGU9W107cmV0dXJuIE9iamVjdC52YWx1ZXModCkuZm9yRWFjaChyPT57ZS5wdXNoKC4uLkRzKHIuYWNjb3VudHMpKX0pLGV9ZnVuY3Rpb24gbWIodCxlKXtjb25zdCByPVtdO3JldHVybiBPYmplY3QudmFsdWVzKHQpLmZvckVhY2gobj0+e0RzKG4uYWNjb3VudHMpLmluY2x1ZGVzKGUpJiZyLnB1c2goLi4ubi5tZXRob2RzKX0pLHJ9ZnVuY3Rpb24gd2IodCxlKXtjb25zdCByPVtdO3JldHVybiBPYmplY3QudmFsdWVzKHQpLmZvckVhY2gobj0+e0RzKG4uYWNjb3VudHMpLmluY2x1ZGVzKGUpJiZyLnB1c2goLi4ubi5ldmVudHMpfSkscn1mdW5jdGlvbiB2Yih0LGUpe2NvbnN0IHI9SmEodCxlKTtpZihyKXRocm93IG5ldyBFcnJvcihyLm1lc3NhZ2UpO2NvbnN0IG49e307Zm9yKGNvbnN0W2ksb11vZiBPYmplY3QuZW50cmllcyh0KSluW2ldPXttZXRob2RzOm8ubWV0aG9kcyxldmVudHM6by5ldmVudHMsY2hhaW5zOm8uYWNjb3VudHMubWFwKGM9PmAke2Muc3BsaXQoIjoiKVswXX06JHtjLnNwbGl0KCI6IilbMV19YCl9O3JldHVybiBufWZ1bmN0aW9uIE0xKHQpe3JldHVybiB0LmluY2x1ZGVzKCI6Iil9ZnVuY3Rpb24gWWEodCl7cmV0dXJuIE0xKHQpP3Quc3BsaXQoIjoiKVswXTp0fWNvbnN0IHliPXtJTlZBTElEX01FVEhPRDp7bWVzc2FnZToiSW52YWxpZCBtZXRob2QuIixjb2RlOjEwMDF9LElOVkFMSURfRVZFTlQ6e21lc3NhZ2U6IkludmFsaWQgZXZlbnQuIixjb2RlOjEwMDJ9LElOVkFMSURfVVBEQVRFX1JFUVVFU1Q6e21lc3NhZ2U6IkludmFsaWQgdXBkYXRlIHJlcXVlc3QuIixjb2RlOjEwMDN9LElOVkFMSURfRVhURU5EX1JFUVVFU1Q6e21lc3NhZ2U6IkludmFsaWQgZXh0ZW5kIHJlcXVlc3QuIixjb2RlOjEwMDR9LElOVkFMSURfU0VTU0lPTl9TRVRUTEVfUkVRVUVTVDp7bWVzc2FnZToiSW52YWxpZCBzZXNzaW9uIHNldHRsZSByZXF1ZXN0LiIsY29kZToxMDA1fSxVTkFVVEhPUklaRURfTUVUSE9EOnttZXNzYWdlOiJVbmF1dGhvcml6ZWQgbWV0aG9kLiIsY29kZTozMDAxfSxVTkFVVEhPUklaRURfRVZFTlQ6e21lc3NhZ2U6IlVuYXV0aG9yaXplZCBldmVudC4iLGNvZGU6MzAwMn0sVU5BVVRIT1JJWkVEX1VQREFURV9SRVFVRVNUOnttZXNzYWdlOiJVbmF1dGhvcml6ZWQgdXBkYXRlIHJlcXVlc3QuIixjb2RlOjMwMDN9LFVOQVVUSE9SSVpFRF9FWFRFTkRfUkVRVUVTVDp7bWVzc2FnZToiVW5hdXRob3JpemVkIGV4dGVuZCByZXF1ZXN0LiIsY29kZTozMDA0fSxVU0VSX1JFSkVDVEVEOnttZXNzYWdlOiJVc2VyIHJlamVjdGVkLiIsY29kZTo1ZTN9LFVTRVJfUkVKRUNURURfQ0hBSU5TOnttZXNzYWdlOiJVc2VyIHJlamVjdGVkIGNoYWlucy4iLGNvZGU6NTAwMX0sVVNFUl9SRUpFQ1RFRF9NRVRIT0RTOnttZXNzYWdlOiJVc2VyIHJlamVjdGVkIG1ldGhvZHMuIixjb2RlOjUwMDJ9LFVTRVJfUkVKRUNURURfRVZFTlRTOnttZXNzYWdlOiJVc2VyIHJlamVjdGVkIGV2ZW50cy4iLGNvZGU6NTAwM30sVU5TVVBQT1JURURfQ0hBSU5TOnttZXNzYWdlOiJVbnN1cHBvcnRlZCBjaGFpbnMuIixjb2RlOjUxMDB9LFVOU1VQUE9SVEVEX01FVEhPRFM6e21lc3NhZ2U6IlVuc3VwcG9ydGVkIG1ldGhvZHMuIixjb2RlOjUxMDF9LFVOU1VQUE9SVEVEX0VWRU5UUzp7bWVzc2FnZToiVW5zdXBwb3J0ZWQgZXZlbnRzLiIsY29kZTo1MTAyfSxVTlNVUFBPUlRFRF9BQ0NPVU5UUzp7bWVzc2FnZToiVW5zdXBwb3J0ZWQgYWNjb3VudHMuIixjb2RlOjUxMDN9LFVOU1VQUE9SVEVEX05BTUVTUEFDRV9LRVk6e21lc3NhZ2U6IlVuc3VwcG9ydGVkIG5hbWVzcGFjZSBrZXkuIixjb2RlOjUxMDR9LFVTRVJfRElTQ09OTkVDVEVEOnttZXNzYWdlOiJVc2VyIGRpc2Nvbm5lY3RlZC4iLGNvZGU6NmUzfSxTRVNTSU9OX1NFVFRMRU1FTlRfRkFJTEVEOnttZXNzYWdlOiJTZXNzaW9uIHNldHRsZW1lbnQgZmFpbGVkLiIsY29kZTo3ZTN9LFdDX01FVEhPRF9VTlNVUFBPUlRFRDp7bWVzc2FnZToiVW5zdXBwb3J0ZWQgd2NfIG1ldGhvZC4iLGNvZGU6MTAwMDF9fSxiYj17Tk9UX0lOSVRJQUxJWkVEOnttZXNzYWdlOiJOb3QgaW5pdGlhbGl6ZWQuIixjb2RlOjF9LE5PX01BVENISU5HX0tFWTp7bWVzc2FnZToiTm8gbWF0Y2hpbmcga2V5LiIsY29kZToyfSxSRVNUT1JFX1dJTExfT1ZFUlJJREU6e21lc3NhZ2U6IlJlc3RvcmUgd2lsbCBvdmVycmlkZS4iLGNvZGU6M30sUkVTVUJTQ1JJQkVEOnttZXNzYWdlOiJSZXN1YnNjcmliZWQuIixjb2RlOjR9LE1JU1NJTkdfT1JfSU5WQUxJRDp7bWVzc2FnZToiTWlzc2luZyBvciBpbnZhbGlkLiIsY29kZTo1fSxFWFBJUkVEOnttZXNzYWdlOiJFeHBpcmVkLiIsY29kZTo2fSxVTktOT1dOX1RZUEU6e21lc3NhZ2U6IlVua25vd24gdHlwZS4iLGNvZGU6N30sTUlTTUFUQ0hFRF9UT1BJQzp7bWVzc2FnZToiTWlzbWF0Y2hlZCB0b3BpYy4iLGNvZGU6OH0sTk9OX0NPTkZPUk1JTkdfTkFNRVNQQUNFUzp7bWVzc2FnZToiTm9uIGNvbmZvcm1pbmcgbmFtZXNwYWNlcy4iLGNvZGU6OX19O2Z1bmN0aW9uIF9lKHQsZSl7Y29uc3R7bWVzc2FnZTpyLGNvZGU6bn09YmJbdF07cmV0dXJue21lc3NhZ2U6ZT9gJHtyfSAke2V9YDpyLGNvZGU6bn19ZnVuY3Rpb24gWnQodCxlKXtjb25zdHttZXNzYWdlOnIsY29kZTpufT15Ylt0XTtyZXR1cm57bWVzc2FnZTplP2Ake3J9ICR7ZX1gOnIsY29kZTpufX1mdW5jdGlvbiB6bih0LGUpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP3R5cGVvZiBlPCJ1IiYmdC5sZW5ndGg/dC5ldmVyeShlKTohMDohMX1mdW5jdGlvbiAkcyh0KXtyZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKHQpPT09T2JqZWN0LnByb3RvdHlwZSYmT2JqZWN0LmtleXModCkubGVuZ3RofWZ1bmN0aW9uIFByKHQpe3JldHVybiB0eXBlb2YgdD4idSJ9ZnVuY3Rpb24gZ3IodCxlKXtyZXR1cm4gZSYmUHIodCk/ITA6dHlwZW9mIHQ9PSJzdHJpbmciJiZCb29sZWFuKHQudHJpbSgpLmxlbmd0aCl9ZnVuY3Rpb24gUHUodCxlKXtyZXR1cm4gZSYmUHIodCk/ITA6dHlwZW9mIHQ9PSJudW1iZXIiJiYhaXNOYU4odCl9ZnVuY3Rpb24gX2IodCxlKXtjb25zdHtyZXF1aXJlZE5hbWVzcGFjZXM6cn09ZSxuPU9iamVjdC5rZXlzKHQubmFtZXNwYWNlcyksaT1PYmplY3Qua2V5cyhyKTtsZXQgbz0hMDtyZXR1cm4gSGkoaSxuKT8obi5mb3JFYWNoKGM9Pntjb25zdHthY2NvdW50czpsLG1ldGhvZHM6aCxldmVudHM6ZH09dC5uYW1lc3BhY2VzW2NdLHY9RHMobCksRT1yW2NdOyghSGkoeTEoYyxFKSx2KXx8IUhpKEUubWV0aG9kcyxoKXx8IUhpKEUuZXZlbnRzLGQpKSYmKG89ITEpfSksbyk6ITF9ZnVuY3Rpb24gVHUodCl7cmV0dXJuIGdyKHQsITEpJiZ0LmluY2x1ZGVzKCI6Iik/dC5zcGxpdCgiOiIpLmxlbmd0aD09PTI6ITF9ZnVuY3Rpb24gRWIodCl7aWYoZ3IodCwhMSkmJnQuaW5jbHVkZXMoIjoiKSl7Y29uc3QgZT10LnNwbGl0KCI6Iik7aWYoZS5sZW5ndGg9PT0zKXtjb25zdCByPWVbMF0rIjoiK2VbMV07cmV0dXJuISFlWzJdJiZUdShyKX19cmV0dXJuITF9ZnVuY3Rpb24geGIodCl7aWYoZ3IodCwhMSkpdHJ5e3JldHVybiB0eXBlb2YgbmV3IFVSTCh0KTwidSJ9Y2F0Y2h7cmV0dXJuITF9cmV0dXJuITF9ZnVuY3Rpb24gQ2IodCl7dmFyIGU7cmV0dXJuKGU9dD8ucHJvcG9zZXIpPT1udWxsP3ZvaWQgMDplLnB1YmxpY0tleX1mdW5jdGlvbiBJYih0KXtyZXR1cm4gdD8udG9waWN9ZnVuY3Rpb24gT2IodCxlKXtsZXQgcj1udWxsO3JldHVybiBncih0Py5wdWJsaWNLZXksITEpfHwocj1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgJHtlfSBjb250cm9sbGVyIHB1YmxpYyBrZXkgc2hvdWxkIGJlIGEgc3RyaW5nYCkpLHJ9ZnVuY3Rpb24gVTEodCl7bGV0IGU9ITA7cmV0dXJuIHpuKHQpP3QubGVuZ3RoJiYoZT10LmV2ZXJ5KHI9PmdyKHIsITEpKSk6ZT0hMSxlfWZ1bmN0aW9uIEFiKHQsZSxyKXtsZXQgbj1udWxsO3JldHVybiB6bihlKT9lLmZvckVhY2goaT0+e258fCghVHUoaSl8fCFpLmluY2x1ZGVzKHQpKSYmKG49WnQoIlVOU1VQUE9SVEVEX0NIQUlOUyIsYCR7cn0sIGNoYWluICR7aX0gc2hvdWxkIGJlIGEgc3RyaW5nIGFuZCBjb25mb3JtIHRvICJuYW1lc3BhY2U6Y2hhaW5JZCIgZm9ybWF0YCkpfSk6bj1adCgiVU5TVVBQT1JURURfQ0hBSU5TIixgJHtyfSwgY2hhaW5zICR7ZX0gc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cmluZ3MgY29uZm9ybWluZyB0byAibmFtZXNwYWNlOmNoYWluSWQiIGZvcm1hdGApLG59ZnVuY3Rpb24gU2IodCxlKXtsZXQgcj1udWxsO3JldHVybiBPYmplY3QuZW50cmllcyh0KS5mb3JFYWNoKChbbixpXSk9PntpZihyKXJldHVybjtjb25zdCBvPUFiKG4seTEobixpKSxgJHtlfSByZXF1aXJlZE5hbWVzcGFjZWApO28mJihyPW8pfSkscn1mdW5jdGlvbiBEYih0LGUpe2xldCByPW51bGw7cmV0dXJuIHpuKHQpP3QuZm9yRWFjaChuPT57cnx8RWIobil8fChyPVp0KCJVTlNVUFBPUlRFRF9BQ0NPVU5UUyIsYCR7ZX0sIGFjY291bnQgJHtufSBzaG91bGQgYmUgYSBzdHJpbmcgYW5kIGNvbmZvcm0gdG8gIm5hbWVzcGFjZTpjaGFpbklkOmFkZHJlc3MiIGZvcm1hdGApKX0pOnI9WnQoIlVOU1VQUE9SVEVEX0FDQ09VTlRTIixgJHtlfSwgYWNjb3VudHMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cmluZ3MgY29uZm9ybWluZyB0byAibmFtZXNwYWNlOmNoYWluSWQ6YWRkcmVzcyIgZm9ybWF0YCkscn1mdW5jdGlvbiAkYih0LGUpe2xldCByPW51bGw7cmV0dXJuIE9iamVjdC52YWx1ZXModCkuZm9yRWFjaChuPT57aWYocilyZXR1cm47Y29uc3QgaT1EYihuPy5hY2NvdW50cyxgJHtlfSBuYW1lc3BhY2VgKTtpJiYocj1pKX0pLHJ9ZnVuY3Rpb24gUGIodCxlKXtsZXQgcj1udWxsO3JldHVybiBVMSh0Py5tZXRob2RzKT9VMSh0Py5ldmVudHMpfHwocj1adCgiVU5TVVBQT1JURURfRVZFTlRTIixgJHtlfSwgZXZlbnRzIHNob3VsZCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzIG9yIGVtcHR5IGFycmF5IGZvciBubyBldmVudHNgKSk6cj1adCgiVU5TVVBQT1JURURfTUVUSE9EUyIsYCR7ZX0sIG1ldGhvZHMgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cmluZ3Mgb3IgZW1wdHkgYXJyYXkgZm9yIG5vIG1ldGhvZHNgKSxyfWZ1bmN0aW9uIGoxKHQsZSl7bGV0IHI9bnVsbDtyZXR1cm4gT2JqZWN0LnZhbHVlcyh0KS5mb3JFYWNoKG49PntpZihyKXJldHVybjtjb25zdCBpPVBiKG4sYCR7ZX0sIG5hbWVzcGFjZWApO2kmJihyPWkpfSkscn1mdW5jdGlvbiBUYih0LGUscil7bGV0IG49bnVsbDtpZih0JiYkcyh0KSl7Y29uc3QgaT1qMSh0LGUpO2kmJihuPWkpO2NvbnN0IG89U2IodCxlKTtvJiYobj1vKX1lbHNlIG49X2UoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYCR7ZX0sICR7cn0gc2hvdWxkIGJlIGFuIG9iamVjdCB3aXRoIGRhdGFgKTtyZXR1cm4gbn1mdW5jdGlvbiBKYSh0LGUpe2xldCByPW51bGw7aWYodCYmJHModCkpe2NvbnN0IG49ajEodCxlKTtuJiYocj1uKTtjb25zdCBpPSRiKHQsZSk7aSYmKHI9aSl9ZWxzZSByPV9lKCJNSVNTSU5HX09SX0lOVkFMSUQiLGAke2V9LCBuYW1lc3BhY2VzIHNob3VsZCBiZSBhbiBvYmplY3Qgd2l0aCBkYXRhYCk7cmV0dXJuIHJ9ZnVuY3Rpb24gRjEodCl7cmV0dXJuIGdyKHQucHJvdG9jb2wsITApfWZ1bmN0aW9uIFJiKHQsZSl7bGV0IHI9ITE7cmV0dXJuIGUmJiF0P3I9ITA6dCYmem4odCkmJnQubGVuZ3RoJiZ0LmZvckVhY2gobj0+e3I9RjEobil9KSxyfWZ1bmN0aW9uIE5iKHQpe3JldHVybiB0eXBlb2YgdD09Im51bWJlciJ9ZnVuY3Rpb24genIodCl7cmV0dXJuIHR5cGVvZiB0PCJ1IiYmdHlwZW9mIHQhPT1udWxsfWZ1bmN0aW9uIExiKHQpe3JldHVybiEoIXR8fHR5cGVvZiB0IT0ib2JqZWN0Inx8IXQuY29kZXx8IVB1KHQuY29kZSwhMSl8fCF0Lm1lc3NhZ2V8fCFncih0Lm1lc3NhZ2UsITEpKX1mdW5jdGlvbiBNYih0KXtyZXR1cm4hKFByKHQpfHwhZ3IodC5tZXRob2QsITEpKX1mdW5jdGlvbiBVYih0KXtyZXR1cm4hKFByKHQpfHxQcih0LnJlc3VsdCkmJlByKHQuZXJyb3IpfHwhUHUodC5pZCwhMSl8fCFncih0Lmpzb25ycGMsITEpKX1mdW5jdGlvbiBqYih0KXtyZXR1cm4hKFByKHQpfHwhZ3IodC5uYW1lLCExKSl9ZnVuY3Rpb24gQjEodCxlKXtyZXR1cm4hKCFUdShlKXx8IWdiKHQpLmluY2x1ZGVzKGUpKX1mdW5jdGlvbiBGYih0LGUscil7cmV0dXJuIGdyKHIsITEpP21iKHQsZSkuaW5jbHVkZXMocik6ITF9ZnVuY3Rpb24gQmIodCxlLHIpe3JldHVybiBncihyLCExKT93Yih0LGUpLmluY2x1ZGVzKHIpOiExfWZ1bmN0aW9uIGsxKHQsZSxyKXtsZXQgbj1udWxsO2NvbnN0IGk9a2IodCksbz1IYihlKSxjPU9iamVjdC5rZXlzKGkpLGw9T2JqZWN0LmtleXMobyksaD1IMShPYmplY3Qua2V5cyh0KSksZD1IMShPYmplY3Qua2V5cyhlKSksdj1oLmZpbHRlcihFPT4hZC5pbmNsdWRlcyhFKSk7cmV0dXJuIHYubGVuZ3RoJiYobj1fZSgiTk9OX0NPTkZPUk1JTkdfTkFNRVNQQUNFUyIsYCR7cn0gbmFtZXNwYWNlcyBrZXlzIGRvbid0IHNhdGlzZnkgcmVxdWlyZWROYW1lc3BhY2VzLg0KICAgICAgUmVxdWlyZWQ6ICR7di50b1N0cmluZygpfQ0KICAgICAgUmVjZWl2ZWQ6ICR7T2JqZWN0LmtleXMoZSkudG9TdHJpbmcoKX1gKSksSGkoYyxsKXx8KG49X2UoIk5PTl9DT05GT1JNSU5HX05BTUVTUEFDRVMiLGAke3J9IG5hbWVzcGFjZXMgY2hhaW5zIGRvbid0IHNhdGlzZnkgcmVxdWlyZWQgbmFtZXNwYWNlcy4NCiAgICAgIFJlcXVpcmVkOiAke2MudG9TdHJpbmcoKX0NCiAgICAgIEFwcHJvdmVkOiAke2wudG9TdHJpbmcoKX1gKSksT2JqZWN0LmtleXMoZSkuZm9yRWFjaChFPT57aWYoIUUuaW5jbHVkZXMoIjoiKXx8bilyZXR1cm47Y29uc3QgXz1EcyhlW0VdLmFjY291bnRzKTtfLmluY2x1ZGVzKEUpfHwobj1fZSgiTk9OX0NPTkZPUk1JTkdfTkFNRVNQQUNFUyIsYCR7cn0gbmFtZXNwYWNlcyBhY2NvdW50cyBkb24ndCBzYXRpc2Z5IG5hbWVzcGFjZSBhY2NvdW50cyBmb3IgJHtFfQ0KICAgICAgICBSZXF1aXJlZDogJHtFfQ0KICAgICAgICBBcHByb3ZlZDogJHtfLnRvU3RyaW5nKCl9YCkpfSksYy5mb3JFYWNoKEU9PntufHwoSGkoaVtFXS5tZXRob2RzLG9bRV0ubWV0aG9kcyk/SGkoaVtFXS5ldmVudHMsb1tFXS5ldmVudHMpfHwobj1fZSgiTk9OX0NPTkZPUk1JTkdfTkFNRVNQQUNFUyIsYCR7cn0gbmFtZXNwYWNlcyBldmVudHMgZG9uJ3Qgc2F0aXNmeSBuYW1lc3BhY2UgZXZlbnRzIGZvciAke0V9YCkpOm49X2UoIk5PTl9DT05GT1JNSU5HX05BTUVTUEFDRVMiLGAke3J9IG5hbWVzcGFjZXMgbWV0aG9kcyBkb24ndCBzYXRpc2Z5IG5hbWVzcGFjZSBtZXRob2RzIGZvciAke0V9YCkpfSksbn1mdW5jdGlvbiBrYih0KXtjb25zdCBlPXt9O3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKHI9Pnt2YXIgbjtyLmluY2x1ZGVzKCI6Iik/ZVtyXT10W3JdOihuPXRbcl0uY2hhaW5zKT09bnVsbHx8bi5mb3JFYWNoKGk9PntlW2ldPXttZXRob2RzOnRbcl0ubWV0aG9kcyxldmVudHM6dFtyXS5ldmVudHN9fSl9KSxlfWZ1bmN0aW9uIEgxKHQpe3JldHVyblsuLi5uZXcgU2V0KHQubWFwKGU9PmUuaW5jbHVkZXMoIjoiKT9lLnNwbGl0KCI6IilbMF06ZSkpXX1mdW5jdGlvbiBIYih0KXtjb25zdCBlPXt9O3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKHI9PntpZihyLmluY2x1ZGVzKCI6IikpZVtyXT10W3JdO2Vsc2V7Y29uc3Qgbj1Ecyh0W3JdLmFjY291bnRzKTtuPy5mb3JFYWNoKGk9PntlW2ldPXthY2NvdW50czp0W3JdLmFjY291bnRzLmZpbHRlcihvPT5vLmluY2x1ZGVzKGAke2l9OmApKSxtZXRob2RzOnRbcl0ubWV0aG9kcyxldmVudHM6dFtyXS5ldmVudHN9fSl9fSksZX1mdW5jdGlvbiB6Yih0LGUpe3JldHVybiBQdSh0LCExKSYmdDw9ZS5tYXgmJnQ+PWUubWlufXZhciBYYT17fTsvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uClBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQpwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuClRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIClJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWQpBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsCklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTQpMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUgpPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SClBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovdmFyIFJ1PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFJ1PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihyLG4pe3IuX19wcm90b19fPW59fHxmdW5jdGlvbihyLG4pe2Zvcih2YXIgaSBpbiBuKW4uaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPW5baV0pfSxSdSh0LGUpfTtmdW5jdGlvbiBXYih0LGUpe1J1KHQsZSk7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH10LnByb3RvdHlwZT1lPT09bnVsbD9PYmplY3QuY3JlYXRlKGUpOihyLnByb3RvdHlwZT1lLnByb3RvdHlwZSxuZXcgcil9dmFyIE51PWZ1bmN0aW9uKCl7cmV0dXJuIE51PU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgcixuPTEsaT1hcmd1bWVudHMubGVuZ3RoO248aTtuKyspe3I9YXJndW1lbnRzW25dO2Zvcih2YXIgbyBpbiByKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLG8pJiYoZVtvXT1yW29dKX1yZXR1cm4gZX0sTnUuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtmdW5jdGlvbiBxYih0LGUpe3ZhciByPXt9O2Zvcih2YXIgbiBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiZlLmluZGV4T2Yobik8MCYmKHJbbl09dFtuXSk7aWYodCE9bnVsbCYmdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM9PSJmdW5jdGlvbiIpZm9yKHZhciBpPTAsbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2k8bi5sZW5ndGg7aSsrKWUuaW5kZXhPZihuW2ldKTwwJiZPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodCxuW2ldKSYmKHJbbltpXV09dFtuW2ldXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gVmIodCxlLHIsbil7dmFyIGk9YXJndW1lbnRzLmxlbmd0aCxvPWk8Mz9lOm49PT1udWxsP249T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHIpOm4sYztpZih0eXBlb2YgUmVmbGVjdD09Im9iamVjdCImJnR5cGVvZiBSZWZsZWN0LmRlY29yYXRlPT0iZnVuY3Rpb24iKW89UmVmbGVjdC5kZWNvcmF0ZSh0LGUscixuKTtlbHNlIGZvcih2YXIgbD10Lmxlbmd0aC0xO2w+PTA7bC0tKShjPXRbbF0pJiYobz0oaTwzP2Mobyk6aT4zP2MoZSxyLG8pOmMoZSxyKSl8fG8pO3JldHVybiBpPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIsbyksb31mdW5jdGlvbiBLYih0LGUpe3JldHVybiBmdW5jdGlvbihyLG4pe2UocixuLHQpfX1mdW5jdGlvbiBHYih0LGUpe2lmKHR5cGVvZiBSZWZsZWN0PT0ib2JqZWN0IiYmdHlwZW9mIFJlZmxlY3QubWV0YWRhdGE9PSJmdW5jdGlvbiIpcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEodCxlKX1mdW5jdGlvbiBaYih0LGUscixuKXtmdW5jdGlvbiBpKG8pe3JldHVybiBvIGluc3RhbmNlb2Ygcj9vOm5ldyByKGZ1bmN0aW9uKGMpe2Mobyl9KX1yZXR1cm4gbmV3KHJ8fChyPVByb21pc2UpKShmdW5jdGlvbihvLGMpe2Z1bmN0aW9uIGwodil7dHJ5e2Qobi5uZXh0KHYpKX1jYXRjaChFKXtjKEUpfX1mdW5jdGlvbiBoKHYpe3RyeXtkKG4udGhyb3codikpfWNhdGNoKEUpe2MoRSl9fWZ1bmN0aW9uIGQodil7di5kb25lP28odi52YWx1ZSk6aSh2LnZhbHVlKS50aGVuKGwsaCl9ZCgobj1uLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSl9ZnVuY3Rpb24gWWIodCxlKXt2YXIgcj17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYob1swXSYxKXRocm93IG9bMV07cmV0dXJuIG9bMV19LHRyeXM6W10sb3BzOltdfSxuLGksbyxjO3JldHVybiBjPXtuZXh0OmwoMCksdGhyb3c6bCgxKSxyZXR1cm46bCgyKX0sdHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmKGNbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksYztmdW5jdGlvbiBsKGQpe3JldHVybiBmdW5jdGlvbih2KXtyZXR1cm4gaChbZCx2XSl9fWZ1bmN0aW9uIGgoZCl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtyOyl0cnl7aWYobj0xLGkmJihvPWRbMF0mMj9pLnJldHVybjpkWzBdP2kudGhyb3d8fCgobz1pLnJldHVybikmJm8uY2FsbChpKSwwKTppLm5leHQpJiYhKG89by5jYWxsKGksZFsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKGk9MCxvJiYoZD1bZFswXSYyLG8udmFsdWVdKSxkWzBdKXtjYXNlIDA6Y2FzZSAxOm89ZDticmVhaztjYXNlIDQ6cmV0dXJuIHIubGFiZWwrKyx7dmFsdWU6ZFsxXSxkb25lOiExfTtjYXNlIDU6ci5sYWJlbCsrLGk9ZFsxXSxkPVswXTtjb250aW51ZTtjYXNlIDc6ZD1yLm9wcy5wb3AoKSxyLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZihvPXIudHJ5cywhKG89by5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSkmJihkWzBdPT09Nnx8ZFswXT09PTIpKXtyPTA7Y29udGludWV9aWYoZFswXT09PTMmJighb3x8ZFsxXT5vWzBdJiZkWzFdPG9bM10pKXtyLmxhYmVsPWRbMV07YnJlYWt9aWYoZFswXT09PTYmJnIubGFiZWw8b1sxXSl7ci5sYWJlbD1vWzFdLG89ZDticmVha31pZihvJiZyLmxhYmVsPG9bMl0pe3IubGFiZWw9b1syXSxyLm9wcy5wdXNoKGQpO2JyZWFrfW9bMl0mJnIub3BzLnBvcCgpLHIudHJ5cy5wb3AoKTtjb250aW51ZX1kPWUuY2FsbCh0LHIpfWNhdGNoKHYpe2Q9WzYsdl0saT0wfWZpbmFsbHl7bj1vPTB9aWYoZFswXSY1KXRocm93IGRbMV07cmV0dXJue3ZhbHVlOmRbMF0/ZFsxXTp2b2lkIDAsZG9uZTohMH19fWZ1bmN0aW9uIEpiKHQsZSxyLG4pe249PT12b2lkIDAmJihuPXIpLHRbbl09ZVtyXX1mdW5jdGlvbiBYYih0LGUpe2Zvcih2YXIgciBpbiB0KXIhPT0iZGVmYXVsdCImJiFlLmhhc093blByb3BlcnR5KHIpJiYoZVtyXT10W3JdKX1mdW5jdGlvbiBMdSh0KXt2YXIgZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wuaXRlcmF0b3Iscj1lJiZ0W2VdLG49MDtpZihyKXJldHVybiByLmNhbGwodCk7aWYodCYmdHlwZW9mIHQubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDpmdW5jdGlvbigpe3JldHVybiB0JiZuPj10Lmxlbmd0aCYmKHQ9dm9pZCAwKSx7dmFsdWU6dCYmdFtuKytdLGRvbmU6IXR9fX07dGhyb3cgbmV3IFR5cGVFcnJvcihlPyJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLiI6IlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKX1mdW5jdGlvbiB6MSh0LGUpe3ZhciByPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJnRbU3ltYm9sLml0ZXJhdG9yXTtpZighcilyZXR1cm4gdDt2YXIgbj1yLmNhbGwodCksaSxvPVtdLGM7dHJ5e2Zvcig7KGU9PT12b2lkIDB8fGUtLT4wKSYmIShpPW4ubmV4dCgpKS5kb25lOylvLnB1c2goaS52YWx1ZSl9Y2F0Y2gobCl7Yz17ZXJyb3I6bH19ZmluYWxseXt0cnl7aSYmIWkuZG9uZSYmKHI9bi5yZXR1cm4pJiZyLmNhbGwobil9ZmluYWxseXtpZihjKXRocm93IGMuZXJyb3J9fXJldHVybiBvfWZ1bmN0aW9uIFFiKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXQ9dC5jb25jYXQoejEoYXJndW1lbnRzW2VdKSk7cmV0dXJuIHR9ZnVuY3Rpb24gZTYoKXtmb3IodmFyIHQ9MCxlPTAscj1hcmd1bWVudHMubGVuZ3RoO2U8cjtlKyspdCs9YXJndW1lbnRzW2VdLmxlbmd0aDtmb3IodmFyIG49QXJyYXkodCksaT0wLGU9MDtlPHI7ZSsrKWZvcih2YXIgbz1hcmd1bWVudHNbZV0sYz0wLGw9by5sZW5ndGg7YzxsO2MrKyxpKyspbltpXT1vW2NdO3JldHVybiBufWZ1bmN0aW9uIEFvKHQpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgQW8/KHRoaXMudj10LHRoaXMpOm5ldyBBbyh0KX1mdW5jdGlvbiB0Nih0LGUscil7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciBuPXIuYXBwbHkodCxlfHxbXSksaSxvPVtdO3JldHVybiBpPXt9LGMoIm5leHQiKSxjKCJ0aHJvdyIpLGMoInJldHVybiIpLGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGk7ZnVuY3Rpb24gYyhfKXtuW19dJiYoaVtfXT1mdW5jdGlvbihBKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oUCxVKXtvLnB1c2goW18sQSxQLFVdKT4xfHxsKF8sQSl9KX0pfWZ1bmN0aW9uIGwoXyxBKXt0cnl7aChuW19dKEEpKX1jYXRjaChQKXtFKG9bMF1bM10sUCl9fWZ1bmN0aW9uIGgoXyl7Xy52YWx1ZSBpbnN0YW5jZW9mIEFvP1Byb21pc2UucmVzb2x2ZShfLnZhbHVlLnYpLnRoZW4oZCx2KTpFKG9bMF1bMl0sXyl9ZnVuY3Rpb24gZChfKXtsKCJuZXh0IixfKX1mdW5jdGlvbiB2KF8pe2woInRocm93IixfKX1mdW5jdGlvbiBFKF8sQSl7XyhBKSxvLnNoaWZ0KCksby5sZW5ndGgmJmwob1swXVswXSxvWzBdWzFdKX19ZnVuY3Rpb24gcjYodCl7dmFyIGUscjtyZXR1cm4gZT17fSxuKCJuZXh0IiksbigidGhyb3ciLGZ1bmN0aW9uKGkpe3Rocm93IGl9KSxuKCJyZXR1cm4iKSxlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sZTtmdW5jdGlvbiBuKGksbyl7ZVtpXT10W2ldP2Z1bmN0aW9uKGMpe3JldHVybihyPSFyKT97dmFsdWU6QW8odFtpXShjKSksZG9uZTppPT09InJldHVybiJ9Om8/byhjKTpjfTpvfX1mdW5jdGlvbiBuNih0KXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIGU9dFtTeW1ib2wuYXN5bmNJdGVyYXRvcl0scjtyZXR1cm4gZT9lLmNhbGwodCk6KHQ9dHlwZW9mIEx1PT0iZnVuY3Rpb24iP0x1KHQpOnRbU3ltYm9sLml0ZXJhdG9yXSgpLHI9e30sbigibmV4dCIpLG4oInRocm93IiksbigicmV0dXJuIikscltTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30scik7ZnVuY3Rpb24gbihvKXtyW29dPXRbb10mJmZ1bmN0aW9uKGMpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihsLGgpe2M9dFtvXShjKSxpKGwsaCxjLmRvbmUsYy52YWx1ZSl9KX19ZnVuY3Rpb24gaShvLGMsbCxoKXtQcm9taXNlLnJlc29sdmUoaCkudGhlbihmdW5jdGlvbihkKXtvKHt2YWx1ZTpkLGRvbmU6bH0pfSxjKX19ZnVuY3Rpb24gaTYodCxlKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJyYXciLHt2YWx1ZTplfSk6dC5yYXc9ZSx0fWZ1bmN0aW9uIHM2KHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgZT17fTtpZih0IT1udWxsKWZvcih2YXIgciBpbiB0KU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihlW3JdPXRbcl0pO3JldHVybiBlLmRlZmF1bHQ9dCxlfWZ1bmN0aW9uIG82KHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX1mdW5jdGlvbiBhNih0LGUpe2lmKCFlLmhhcyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJhdHRlbXB0ZWQgdG8gZ2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlIik7cmV0dXJuIGUuZ2V0KHQpfWZ1bmN0aW9uIGM2KHQsZSxyKXtpZighZS5oYXModCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiYXR0ZW1wdGVkIHRvIHNldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZSIpO3JldHVybiBlLnNldCh0LHIpLHJ9dmFyIGw2PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLF9fZXh0ZW5kczpXYixnZXQgX19hc3NpZ24oKXtyZXR1cm4gTnV9LF9fcmVzdDpxYixfX2RlY29yYXRlOlZiLF9fcGFyYW06S2IsX19tZXRhZGF0YTpHYixfX2F3YWl0ZXI6WmIsX19nZW5lcmF0b3I6WWIsX19jcmVhdGVCaW5kaW5nOkpiLF9fZXhwb3J0U3RhcjpYYixfX3ZhbHVlczpMdSxfX3JlYWQ6ejEsX19zcHJlYWQ6UWIsX19zcHJlYWRBcnJheXM6ZTYsX19hd2FpdDpBbyxfX2FzeW5jR2VuZXJhdG9yOnQ2LF9fYXN5bmNEZWxlZ2F0b3I6cjYsX19hc3luY1ZhbHVlczpuNixfX21ha2VUZW1wbGF0ZU9iamVjdDppNixfX2ltcG9ydFN0YXI6czYsX19pbXBvcnREZWZhdWx0Om82LF9fY2xhc3NQcml2YXRlRmllbGRHZXQ6YTYsX19jbGFzc1ByaXZhdGVGaWVsZFNldDpjNn0pLFcxPU1pKGw2KSxTbz17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoU28sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2Z1bmN0aW9uIHU2KHQpe2lmKHR5cGVvZiB0IT0ic3RyaW5nIil0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBzYWZlIGpzb24gcGFyc2UgdmFsdWUgb2YgdHlwZSAke3R5cGVvZiB0fWApO3RyeXtyZXR1cm4gSlNPTi5wYXJzZSh0KX1jYXRjaHtyZXR1cm4gdH19U28uc2FmZUpzb25QYXJzZT11NjtmdW5jdGlvbiBoNih0KXtyZXR1cm4gdHlwZW9mIHQ9PSJzdHJpbmciP3Q6SlNPTi5zdHJpbmdpZnkodCwoZSxyKT0+dHlwZW9mIHI+InUiP251bGw6cil9U28uc2FmZUpzb25TdHJpbmdpZnk9aDY7dmFyIERvPXtleHBvcnRzOnt9fSxxMTtmdW5jdGlvbiBmNigpe3JldHVybiBxMXx8KHExPTEsZnVuY3Rpb24oKXtsZXQgdDtmdW5jdGlvbiBlKCl7fXQ9ZSx0LnByb3RvdHlwZS5nZXRJdGVtPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLmhhc093blByb3BlcnR5KHIpP1N0cmluZyh0aGlzW3JdKTpudWxsfSx0LnByb3RvdHlwZS5zZXRJdGVtPWZ1bmN0aW9uKHIsbil7dGhpc1tyXT1TdHJpbmcobil9LHQucHJvdG90eXBlLnJlbW92ZUl0ZW09ZnVuY3Rpb24ocil7ZGVsZXRlIHRoaXNbcl19LHQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7Y29uc3Qgcj10aGlzO09iamVjdC5rZXlzKHIpLmZvckVhY2goZnVuY3Rpb24obil7cltuXT12b2lkIDAsZGVsZXRlIHJbbl19KX0sdC5wcm90b3R5cGUua2V5PWZ1bmN0aW9uKHIpe3JldHVybiByPXJ8fDAsT2JqZWN0LmtleXModGhpcylbcl19LHQucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18oImxlbmd0aCIsZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcykubGVuZ3RofSksdHlwZW9mIHByPCJ1IiYmcHIubG9jYWxTdG9yYWdlP0RvLmV4cG9ydHM9cHIubG9jYWxTdG9yYWdlOnR5cGVvZiB3aW5kb3c8InUiJiZ3aW5kb3cubG9jYWxTdG9yYWdlP0RvLmV4cG9ydHM9d2luZG93LmxvY2FsU3RvcmFnZTpEby5leHBvcnRzPW5ldyBlfSgpKSxEby5leHBvcnRzfXZhciBNdT17fSwkbz17fSxWMTtmdW5jdGlvbiBkNigpe2lmKFYxKXJldHVybiAkbztWMT0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgkbywiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksJG8uSUtleVZhbHVlU3RvcmFnZT12b2lkIDA7Y2xhc3MgdHt9cmV0dXJuICRvLklLZXlWYWx1ZVN0b3JhZ2U9dCwkb312YXIgUG89e30sSzE7ZnVuY3Rpb24gcDYoKXtpZihLMSlyZXR1cm4gUG87SzE9MSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUG8sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLFBvLnBhcnNlRW50cnk9dm9pZCAwO2NvbnN0IHQ9U287ZnVuY3Rpb24gZShyKXt2YXIgbjtyZXR1cm5bclswXSx0LnNhZmVKc29uUGFyc2UoKG49clsxXSkhPT1udWxsJiZuIT09dm9pZCAwP246IiIpXX1yZXR1cm4gUG8ucGFyc2VFbnRyeT1lLFBvfXZhciBHMTtmdW5jdGlvbiBnNigpe3JldHVybiBHMXx8KEcxPTEsZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IGU9VzE7ZS5fX2V4cG9ydFN0YXIoZDYoKSx0KSxlLl9fZXhwb3J0U3RhcihwNigpLHQpfShNdSkpLE11fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShYYSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksWGEuS2V5VmFsdWVTdG9yYWdlPXZvaWQgMDtjb25zdCBQcz1XMSxaMT1TbyxtNj1Qcy5fX2ltcG9ydERlZmF1bHQoZjYoKSksdzY9ZzYoKTtjbGFzcyBZMXtjb25zdHJ1Y3Rvcigpe3RoaXMubG9jYWxTdG9yYWdlPW02LmRlZmF1bHR9Z2V0S2V5cygpe3JldHVybiBQcy5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLmxvY2FsU3RvcmFnZSl9KX1nZXRFbnRyaWVzKCl7cmV0dXJuIFBzLl9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoaXMubG9jYWxTdG9yYWdlKS5tYXAodzYucGFyc2VFbnRyeSl9KX1nZXRJdGVtKGUpe3JldHVybiBQcy5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe2NvbnN0IHI9dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKTtpZihyIT09bnVsbClyZXR1cm4gWjEuc2FmZUpzb25QYXJzZShyKX0pfXNldEl0ZW0oZSxyKXtyZXR1cm4gUHMuX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXt0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKGUsWjEuc2FmZUpzb25TdHJpbmdpZnkocikpfSl9cmVtb3ZlSXRlbShlKXtyZXR1cm4gUHMuX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbiooKXt0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGUpfSl9fVhhLktleVZhbHVlU3RvcmFnZT1ZMTt2YXIgdjY9WGEuZGVmYXVsdD1ZMSxUbz17fTsvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uClBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQpwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuClRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIClJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWQpBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsCklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTQpMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUgpPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SClBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovdmFyIFV1PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFV1PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihyLG4pe3IuX19wcm90b19fPW59fHxmdW5jdGlvbihyLG4pe2Zvcih2YXIgaSBpbiBuKW4uaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPW5baV0pfSxVdSh0LGUpfTtmdW5jdGlvbiB5Nih0LGUpe1V1KHQsZSk7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH10LnByb3RvdHlwZT1lPT09bnVsbD9PYmplY3QuY3JlYXRlKGUpOihyLnByb3RvdHlwZT1lLnByb3RvdHlwZSxuZXcgcil9dmFyIGp1PWZ1bmN0aW9uKCl7cmV0dXJuIGp1PU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgcixuPTEsaT1hcmd1bWVudHMubGVuZ3RoO248aTtuKyspe3I9YXJndW1lbnRzW25dO2Zvcih2YXIgbyBpbiByKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLG8pJiYoZVtvXT1yW29dKX1yZXR1cm4gZX0sanUuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtmdW5jdGlvbiBiNih0LGUpe3ZhciByPXt9O2Zvcih2YXIgbiBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiZlLmluZGV4T2Yobik8MCYmKHJbbl09dFtuXSk7aWYodCE9bnVsbCYmdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM9PSJmdW5jdGlvbiIpZm9yKHZhciBpPTAsbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2k8bi5sZW5ndGg7aSsrKWUuaW5kZXhPZihuW2ldKTwwJiZPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodCxuW2ldKSYmKHJbbltpXV09dFtuW2ldXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gXzYodCxlLHIsbil7dmFyIGk9YXJndW1lbnRzLmxlbmd0aCxvPWk8Mz9lOm49PT1udWxsP249T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHIpOm4sYztpZih0eXBlb2YgUmVmbGVjdD09Im9iamVjdCImJnR5cGVvZiBSZWZsZWN0LmRlY29yYXRlPT0iZnVuY3Rpb24iKW89UmVmbGVjdC5kZWNvcmF0ZSh0LGUscixuKTtlbHNlIGZvcih2YXIgbD10Lmxlbmd0aC0xO2w+PTA7bC0tKShjPXRbbF0pJiYobz0oaTwzP2Mobyk6aT4zP2MoZSxyLG8pOmMoZSxyKSl8fG8pO3JldHVybiBpPjMmJm8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIsbyksb31mdW5jdGlvbiBFNih0LGUpe3JldHVybiBmdW5jdGlvbihyLG4pe2UocixuLHQpfX1mdW5jdGlvbiB4Nih0LGUpe2lmKHR5cGVvZiBSZWZsZWN0PT0ib2JqZWN0IiYmdHlwZW9mIFJlZmxlY3QubWV0YWRhdGE9PSJmdW5jdGlvbiIpcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEodCxlKX1mdW5jdGlvbiBDNih0LGUscixuKXtmdW5jdGlvbiBpKG8pe3JldHVybiBvIGluc3RhbmNlb2Ygcj9vOm5ldyByKGZ1bmN0aW9uKGMpe2Mobyl9KX1yZXR1cm4gbmV3KHJ8fChyPVByb21pc2UpKShmdW5jdGlvbihvLGMpe2Z1bmN0aW9uIGwodil7dHJ5e2Qobi5uZXh0KHYpKX1jYXRjaChFKXtjKEUpfX1mdW5jdGlvbiBoKHYpe3RyeXtkKG4udGhyb3codikpfWNhdGNoKEUpe2MoRSl9fWZ1bmN0aW9uIGQodil7di5kb25lP28odi52YWx1ZSk6aSh2LnZhbHVlKS50aGVuKGwsaCl9ZCgobj1uLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSl9ZnVuY3Rpb24gSTYodCxlKXt2YXIgcj17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYob1swXSYxKXRocm93IG9bMV07cmV0dXJuIG9bMV19LHRyeXM6W10sb3BzOltdfSxuLGksbyxjO3JldHVybiBjPXtuZXh0OmwoMCksdGhyb3c6bCgxKSxyZXR1cm46bCgyKX0sdHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmKGNbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksYztmdW5jdGlvbiBsKGQpe3JldHVybiBmdW5jdGlvbih2KXtyZXR1cm4gaChbZCx2XSl9fWZ1bmN0aW9uIGgoZCl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtyOyl0cnl7aWYobj0xLGkmJihvPWRbMF0mMj9pLnJldHVybjpkWzBdP2kudGhyb3d8fCgobz1pLnJldHVybikmJm8uY2FsbChpKSwwKTppLm5leHQpJiYhKG89by5jYWxsKGksZFsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKGk9MCxvJiYoZD1bZFswXSYyLG8udmFsdWVdKSxkWzBdKXtjYXNlIDA6Y2FzZSAxOm89ZDticmVhaztjYXNlIDQ6cmV0dXJuIHIubGFiZWwrKyx7dmFsdWU6ZFsxXSxkb25lOiExfTtjYXNlIDU6ci5sYWJlbCsrLGk9ZFsxXSxkPVswXTtjb250aW51ZTtjYXNlIDc6ZD1yLm9wcy5wb3AoKSxyLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZihvPXIudHJ5cywhKG89by5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSkmJihkWzBdPT09Nnx8ZFswXT09PTIpKXtyPTA7Y29udGludWV9aWYoZFswXT09PTMmJighb3x8ZFsxXT5vWzBdJiZkWzFdPG9bM10pKXtyLmxhYmVsPWRbMV07YnJlYWt9aWYoZFswXT09PTYmJnIubGFiZWw8b1sxXSl7ci5sYWJlbD1vWzFdLG89ZDticmVha31pZihvJiZyLmxhYmVsPG9bMl0pe3IubGFiZWw9b1syXSxyLm9wcy5wdXNoKGQpO2JyZWFrfW9bMl0mJnIub3BzLnBvcCgpLHIudHJ5cy5wb3AoKTtjb250aW51ZX1kPWUuY2FsbCh0LHIpfWNhdGNoKHYpe2Q9WzYsdl0saT0wfWZpbmFsbHl7bj1vPTB9aWYoZFswXSY1KXRocm93IGRbMV07cmV0dXJue3ZhbHVlOmRbMF0/ZFsxXTp2b2lkIDAsZG9uZTohMH19fWZ1bmN0aW9uIE82KHQsZSxyLG4pe249PT12b2lkIDAmJihuPXIpLHRbbl09ZVtyXX1mdW5jdGlvbiBBNih0LGUpe2Zvcih2YXIgciBpbiB0KXIhPT0iZGVmYXVsdCImJiFlLmhhc093blByb3BlcnR5KHIpJiYoZVtyXT10W3JdKX1mdW5jdGlvbiBGdSh0KXt2YXIgZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wuaXRlcmF0b3Iscj1lJiZ0W2VdLG49MDtpZihyKXJldHVybiByLmNhbGwodCk7aWYodCYmdHlwZW9mIHQubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDpmdW5jdGlvbigpe3JldHVybiB0JiZuPj10Lmxlbmd0aCYmKHQ9dm9pZCAwKSx7dmFsdWU6dCYmdFtuKytdLGRvbmU6IXR9fX07dGhyb3cgbmV3IFR5cGVFcnJvcihlPyJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLiI6IlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKX1mdW5jdGlvbiBKMSh0LGUpe3ZhciByPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJnRbU3ltYm9sLml0ZXJhdG9yXTtpZighcilyZXR1cm4gdDt2YXIgbj1yLmNhbGwodCksaSxvPVtdLGM7dHJ5e2Zvcig7KGU9PT12b2lkIDB8fGUtLT4wKSYmIShpPW4ubmV4dCgpKS5kb25lOylvLnB1c2goaS52YWx1ZSl9Y2F0Y2gobCl7Yz17ZXJyb3I6bH19ZmluYWxseXt0cnl7aSYmIWkuZG9uZSYmKHI9bi5yZXR1cm4pJiZyLmNhbGwobil9ZmluYWxseXtpZihjKXRocm93IGMuZXJyb3J9fXJldHVybiBvfWZ1bmN0aW9uIFM2KCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXQ9dC5jb25jYXQoSjEoYXJndW1lbnRzW2VdKSk7cmV0dXJuIHR9ZnVuY3Rpb24gRDYoKXtmb3IodmFyIHQ9MCxlPTAscj1hcmd1bWVudHMubGVuZ3RoO2U8cjtlKyspdCs9YXJndW1lbnRzW2VdLmxlbmd0aDtmb3IodmFyIG49QXJyYXkodCksaT0wLGU9MDtlPHI7ZSsrKWZvcih2YXIgbz1hcmd1bWVudHNbZV0sYz0wLGw9by5sZW5ndGg7YzxsO2MrKyxpKyspbltpXT1vW2NdO3JldHVybiBufWZ1bmN0aW9uIFJvKHQpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgUm8/KHRoaXMudj10LHRoaXMpOm5ldyBSbyh0KX1mdW5jdGlvbiAkNih0LGUscil7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciBuPXIuYXBwbHkodCxlfHxbXSksaSxvPVtdO3JldHVybiBpPXt9LGMoIm5leHQiKSxjKCJ0aHJvdyIpLGMoInJldHVybiIpLGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGk7ZnVuY3Rpb24gYyhfKXtuW19dJiYoaVtfXT1mdW5jdGlvbihBKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oUCxVKXtvLnB1c2goW18sQSxQLFVdKT4xfHxsKF8sQSl9KX0pfWZ1bmN0aW9uIGwoXyxBKXt0cnl7aChuW19dKEEpKX1jYXRjaChQKXtFKG9bMF1bM10sUCl9fWZ1bmN0aW9uIGgoXyl7Xy52YWx1ZSBpbnN0YW5jZW9mIFJvP1Byb21pc2UucmVzb2x2ZShfLnZhbHVlLnYpLnRoZW4oZCx2KTpFKG9bMF1bMl0sXyl9ZnVuY3Rpb24gZChfKXtsKCJuZXh0IixfKX1mdW5jdGlvbiB2KF8pe2woInRocm93IixfKX1mdW5jdGlvbiBFKF8sQSl7XyhBKSxvLnNoaWZ0KCksby5sZW5ndGgmJmwob1swXVswXSxvWzBdWzFdKX19ZnVuY3Rpb24gUDYodCl7dmFyIGUscjtyZXR1cm4gZT17fSxuKCJuZXh0IiksbigidGhyb3ciLGZ1bmN0aW9uKGkpe3Rocm93IGl9KSxuKCJyZXR1cm4iKSxlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sZTtmdW5jdGlvbiBuKGksbyl7ZVtpXT10W2ldP2Z1bmN0aW9uKGMpe3JldHVybihyPSFyKT97dmFsdWU6Um8odFtpXShjKSksZG9uZTppPT09InJldHVybiJ9Om8/byhjKTpjfTpvfX1mdW5jdGlvbiBUNih0KXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIGU9dFtTeW1ib2wuYXN5bmNJdGVyYXRvcl0scjtyZXR1cm4gZT9lLmNhbGwodCk6KHQ9dHlwZW9mIEZ1PT0iZnVuY3Rpb24iP0Z1KHQpOnRbU3ltYm9sLml0ZXJhdG9yXSgpLHI9e30sbigibmV4dCIpLG4oInRocm93IiksbigicmV0dXJuIikscltTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30scik7ZnVuY3Rpb24gbihvKXtyW29dPXRbb10mJmZ1bmN0aW9uKGMpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihsLGgpe2M9dFtvXShjKSxpKGwsaCxjLmRvbmUsYy52YWx1ZSl9KX19ZnVuY3Rpb24gaShvLGMsbCxoKXtQcm9taXNlLnJlc29sdmUoaCkudGhlbihmdW5jdGlvbihkKXtvKHt2YWx1ZTpkLGRvbmU6bH0pfSxjKX19ZnVuY3Rpb24gUjYodCxlKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJyYXciLHt2YWx1ZTplfSk6dC5yYXc9ZSx0fWZ1bmN0aW9uIE42KHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgZT17fTtpZih0IT1udWxsKWZvcih2YXIgciBpbiB0KU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihlW3JdPXRbcl0pO3JldHVybiBlLmRlZmF1bHQ9dCxlfWZ1bmN0aW9uIEw2KHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX1mdW5jdGlvbiBNNih0LGUpe2lmKCFlLmhhcyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJhdHRlbXB0ZWQgdG8gZ2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlIik7cmV0dXJuIGUuZ2V0KHQpfWZ1bmN0aW9uIFU2KHQsZSxyKXtpZighZS5oYXModCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiYXR0ZW1wdGVkIHRvIHNldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZSIpO3JldHVybiBlLnNldCh0LHIpLHJ9dmFyIGo2PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLF9fZXh0ZW5kczp5NixnZXQgX19hc3NpZ24oKXtyZXR1cm4ganV9LF9fcmVzdDpiNixfX2RlY29yYXRlOl82LF9fcGFyYW06RTYsX19tZXRhZGF0YTp4NixfX2F3YWl0ZXI6QzYsX19nZW5lcmF0b3I6STYsX19jcmVhdGVCaW5kaW5nOk82LF9fZXhwb3J0U3RhcjpBNixfX3ZhbHVlczpGdSxfX3JlYWQ6SjEsX19zcHJlYWQ6UzYsX19zcHJlYWRBcnJheXM6RDYsX19hd2FpdDpSbyxfX2FzeW5jR2VuZXJhdG9yOiQ2LF9fYXN5bmNEZWxlZ2F0b3I6UDYsX19hc3luY1ZhbHVlczpUNixfX21ha2VUZW1wbGF0ZU9iamVjdDpSNixfX2ltcG9ydFN0YXI6TjYsX19pbXBvcnREZWZhdWx0Okw2LF9fY2xhc3NQcml2YXRlRmllbGRHZXQ6TTYsX19jbGFzc1ByaXZhdGVGaWVsZFNldDpVNn0pLFFhPU1pKGo2KSxObz17fSxCdT17fSxMbz17fTtjbGFzcyB6aXt9dmFyIEY2PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLElFdmVudHM6eml9KSxCNj1NaShGNiksWDE7ZnVuY3Rpb24gazYoKXtpZihYMSlyZXR1cm4gTG87WDE9MSxPYmplY3QuZGVmaW5lUHJvcGVydHkoTG8sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLExvLklIZWFydEJlYXQ9dm9pZCAwO2NvbnN0IHQ9QjY7Y2xhc3MgZSBleHRlbmRzIHQuSUV2ZW50c3tjb25zdHJ1Y3RvcihuKXtzdXBlcigpfX1yZXR1cm4gTG8uSUhlYXJ0QmVhdD1lLExvfXZhciBRMTtmdW5jdGlvbiBlcCgpe3JldHVybiBRMXx8KFExPTEsZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLFFhLl9fZXhwb3J0U3RhcihrNigpLHQpfShCdSkpLEJ1fXZhciBrdT17fSxXaT17fSx0cDtmdW5jdGlvbiBINigpe2lmKHRwKXJldHVybiBXaTt0cD0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXaSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksV2kuSEVBUlRCRUFUX0VWRU5UUz1XaS5IRUFSVEJFQVRfSU5URVJWQUw9dm9pZCAwO2NvbnN0IHQ9a2U7cmV0dXJuIFdpLkhFQVJUQkVBVF9JTlRFUlZBTD10LkZJVkVfU0VDT05EUyxXaS5IRUFSVEJFQVRfRVZFTlRTPXtwdWxzZToiaGVhcnRiZWF0X3B1bHNlIn0sV2l9dmFyIHJwO2Z1bmN0aW9uIG5wKCl7cmV0dXJuIHJwfHwocnA9MSxmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksUWEuX19leHBvcnRTdGFyKEg2KCksdCl9KGt1KSksa3V9dmFyIGlwO2Z1bmN0aW9uIHo2KCl7aWYoaXApcmV0dXJuIE5vO2lwPTEsT2JqZWN0LmRlZmluZVByb3BlcnR5KE5vLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxOby5IZWFydEJlYXQ9dm9pZCAwO2NvbnN0IHQ9UWEsZT1ici5leHBvcnRzLHI9a2Usbj1lcCgpLGk9bnAoKTtjbGFzcyBvIGV4dGVuZHMgbi5JSGVhcnRCZWF0e2NvbnN0cnVjdG9yKGwpe3N1cGVyKGwpLHRoaXMuZXZlbnRzPW5ldyBlLkV2ZW50RW1pdHRlcix0aGlzLmludGVydmFsPWkuSEVBUlRCRUFUX0lOVEVSVkFMLHRoaXMuaW50ZXJ2YWw9bD8uaW50ZXJ2YWx8fGkuSEVBUlRCRUFUX0lOVEVSVkFMfXN0YXRpYyBpbml0KGwpe3JldHVybiB0Ll9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24qKCl7Y29uc3QgaD1uZXcgbyhsKTtyZXR1cm4geWllbGQgaC5pbml0KCksaH0pfWluaXQoKXtyZXR1cm4gdC5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3lpZWxkIHRoaXMuaW5pdGlhbGl6ZSgpfSl9c3RvcCgpe2NsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbFJlZil9b24obCxoKXt0aGlzLmV2ZW50cy5vbihsLGgpfW9uY2UobCxoKXt0aGlzLmV2ZW50cy5vbmNlKGwsaCl9b2ZmKGwsaCl7dGhpcy5ldmVudHMub2ZmKGwsaCl9cmVtb3ZlTGlzdGVuZXIobCxoKXt0aGlzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihsLGgpfWluaXRpYWxpemUoKXtyZXR1cm4gdC5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKigpe3RoaXMuaW50ZXJ2YWxSZWY9c2V0SW50ZXJ2YWwoKCk9PnRoaXMucHVsc2UoKSxyLnRvTWlsaXNlY29uZHModGhpcy5pbnRlcnZhbCkpfSl9cHVsc2UoKXt0aGlzLmV2ZW50cy5lbWl0KGkuSEVBUlRCRUFUX0VWRU5UUy5wdWxzZSl9fXJldHVybiBOby5IZWFydEJlYXQ9byxOb30oZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IGU9UWE7ZS5fX2V4cG9ydFN0YXIoejYoKSx0KSxlLl9fZXhwb3J0U3RhcihlcCgpLHQpLGUuX19leHBvcnRTdGFyKG5wKCksdCl9KShUbyk7dmFyIHB0PXt9Oy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4KUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55CnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC4KVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgKUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZCkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwKSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NCkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SCk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi92YXIgSHU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gSHU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHIsbil7ci5fX3Byb3RvX189bn18fGZ1bmN0aW9uKHIsbil7Zm9yKHZhciBpIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09bltpXSl9LEh1KHQsZSl9O2Z1bmN0aW9uIFc2KHQsZSl7SHUodCxlKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXQucHJvdG90eXBlPWU9PT1udWxsP09iamVjdC5jcmVhdGUoZSk6KHIucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyByKX12YXIgenU9ZnVuY3Rpb24oKXtyZXR1cm4genU9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciByLG49MSxpPWFyZ3VtZW50cy5sZW5ndGg7bjxpO24rKyl7cj1hcmd1bWVudHNbbl07Zm9yKHZhciBvIGluIHIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsbykmJihlW29dPXJbb10pfXJldHVybiBlfSx6dS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2Z1bmN0aW9uIHE2KHQsZSl7dmFyIHI9e307Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJmUuaW5kZXhPZihuKTwwJiYocltuXT10W25dKTtpZih0IT1udWxsJiZ0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz09ImZ1bmN0aW9uIilmb3IodmFyIGk9MCxuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7aTxuLmxlbmd0aDtpKyspZS5pbmRleE9mKG5baV0pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh0LG5baV0pJiYocltuW2ldXT10W25baV1dKTtyZXR1cm4gcn1mdW5jdGlvbiBWNih0LGUscixuKXt2YXIgaT1hcmd1bWVudHMubGVuZ3RoLG89aTwzP2U6bj09PW51bGw/bj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUscik6bixjO2lmKHR5cGVvZiBSZWZsZWN0PT0ib2JqZWN0IiYmdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGU9PSJmdW5jdGlvbiIpbz1SZWZsZWN0LmRlY29yYXRlKHQsZSxyLG4pO2Vsc2UgZm9yKHZhciBsPXQubGVuZ3RoLTE7bD49MDtsLS0pKGM9dFtsXSkmJihvPShpPDM/YyhvKTppPjM/YyhlLHIsbyk6YyhlLHIpKXx8byk7cmV0dXJuIGk+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixvKSxvfWZ1bmN0aW9uIEs2KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHIsbil7ZShyLG4sdCl9fWZ1bmN0aW9uIEc2KHQsZSl7aWYodHlwZW9mIFJlZmxlY3Q9PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YT09ImZ1bmN0aW9uIilyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YSh0LGUpfWZ1bmN0aW9uIFo2KHQsZSxyLG4pe2Z1bmN0aW9uIGkobyl7cmV0dXJuIG8gaW5zdGFuY2VvZiByP286bmV3IHIoZnVuY3Rpb24oYyl7YyhvKX0pfXJldHVybiBuZXcocnx8KHI9UHJvbWlzZSkpKGZ1bmN0aW9uKG8sYyl7ZnVuY3Rpb24gbCh2KXt0cnl7ZChuLm5leHQodikpfWNhdGNoKEUpe2MoRSl9fWZ1bmN0aW9uIGgodil7dHJ5e2Qobi50aHJvdyh2KSl9Y2F0Y2goRSl7YyhFKX19ZnVuY3Rpb24gZCh2KXt2LmRvbmU/byh2LnZhbHVlKTppKHYudmFsdWUpLnRoZW4obCxoKX1kKChuPW4uYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KX1mdW5jdGlvbiBZNih0LGUpe3ZhciByPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZihvWzBdJjEpdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119LG4saSxvLGM7cmV0dXJuIGM9e25leHQ6bCgwKSx0aHJvdzpsKDEpLHJldHVybjpsKDIpfSx0eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiYoY1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxjO2Z1bmN0aW9uIGwoZCl7cmV0dXJuIGZ1bmN0aW9uKHYpe3JldHVybiBoKFtkLHZdKX19ZnVuY3Rpb24gaChkKXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO3I7KXRyeXtpZihuPTEsaSYmKG89ZFswXSYyP2kucmV0dXJuOmRbMF0/aS50aHJvd3x8KChvPWkucmV0dXJuKSYmby5jYWxsKGkpLDApOmkubmV4dCkmJiEobz1vLmNhbGwoaSxkWzFdKSkuZG9uZSlyZXR1cm4gbztzd2l0Y2goaT0wLG8mJihkPVtkWzBdJjIsby52YWx1ZV0pLGRbMF0pe2Nhc2UgMDpjYXNlIDE6bz1kO2JyZWFrO2Nhc2UgNDpyZXR1cm4gci5sYWJlbCsrLHt2YWx1ZTpkWzFdLGRvbmU6ITF9O2Nhc2UgNTpyLmxhYmVsKyssaT1kWzFdLGQ9WzBdO2NvbnRpbnVlO2Nhc2UgNzpkPXIub3BzLnBvcCgpLHIudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKG89ci50cnlzLCEobz1vLmxlbmd0aD4wJiZvW28ubGVuZ3RoLTFdKSYmKGRbMF09PT02fHxkWzBdPT09Mikpe3I9MDtjb250aW51ZX1pZihkWzBdPT09MyYmKCFvfHxkWzFdPm9bMF0mJmRbMV08b1szXSkpe3IubGFiZWw9ZFsxXTticmVha31pZihkWzBdPT09NiYmci5sYWJlbDxvWzFdKXtyLmxhYmVsPW9bMV0sbz1kO2JyZWFrfWlmKG8mJnIubGFiZWw8b1syXSl7ci5sYWJlbD1vWzJdLHIub3BzLnB1c2goZCk7YnJlYWt9b1syXSYmci5vcHMucG9wKCksci50cnlzLnBvcCgpO2NvbnRpbnVlfWQ9ZS5jYWxsKHQscil9Y2F0Y2godil7ZD1bNix2XSxpPTB9ZmluYWxseXtuPW89MH1pZihkWzBdJjUpdGhyb3cgZFsxXTtyZXR1cm57dmFsdWU6ZFswXT9kWzFdOnZvaWQgMCxkb25lOiEwfX19ZnVuY3Rpb24gSjYodCxlLHIsbil7bj09PXZvaWQgMCYmKG49ciksdFtuXT1lW3JdfWZ1bmN0aW9uIFg2KHQsZSl7Zm9yKHZhciByIGluIHQpciE9PSJkZWZhdWx0IiYmIWUuaGFzT3duUHJvcGVydHkocikmJihlW3JdPXRbcl0pfWZ1bmN0aW9uIFd1KHQpe3ZhciBlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5pdGVyYXRvcixyPWUmJnRbZV0sbj0wO2lmKHIpcmV0dXJuIHIuY2FsbCh0KTtpZih0JiZ0eXBlb2YgdC5sZW5ndGg9PSJudW1iZXIiKXJldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHQmJm4+PXQubGVuZ3RoJiYodD12b2lkIDApLHt2YWx1ZTp0JiZ0W24rK10sZG9uZTohdH19fTt0aHJvdyBuZXcgVHlwZUVycm9yKGU/Ik9iamVjdCBpcyBub3QgaXRlcmFibGUuIjoiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpfWZ1bmN0aW9uIHNwKHQsZSl7dmFyIHI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmdFtTeW1ib2wuaXRlcmF0b3JdO2lmKCFyKXJldHVybiB0O3ZhciBuPXIuY2FsbCh0KSxpLG89W10sYzt0cnl7Zm9yKDsoZT09PXZvaWQgMHx8ZS0tPjApJiYhKGk9bi5uZXh0KCkpLmRvbmU7KW8ucHVzaChpLnZhbHVlKX1jYXRjaChsKXtjPXtlcnJvcjpsfX1maW5hbGx5e3RyeXtpJiYhaS5kb25lJiYocj1uLnJldHVybikmJnIuY2FsbChuKX1maW5hbGx5e2lmKGMpdGhyb3cgYy5lcnJvcn19cmV0dXJuIG99ZnVuY3Rpb24gUTYoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdD10LmNvbmNhdChzcChhcmd1bWVudHNbZV0pKTtyZXR1cm4gdH1mdW5jdGlvbiBlNCgpe2Zvcih2YXIgdD0wLGU9MCxyPWFyZ3VtZW50cy5sZW5ndGg7ZTxyO2UrKyl0Kz1hcmd1bWVudHNbZV0ubGVuZ3RoO2Zvcih2YXIgbj1BcnJheSh0KSxpPTAsZT0wO2U8cjtlKyspZm9yKHZhciBvPWFyZ3VtZW50c1tlXSxjPTAsbD1vLmxlbmd0aDtjPGw7YysrLGkrKyluW2ldPW9bY107cmV0dXJuIG59ZnVuY3Rpb24gTW8odCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBNbz8odGhpcy52PXQsdGhpcyk6bmV3IE1vKHQpfWZ1bmN0aW9uIHQ0KHQsZSxyKXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIG49ci5hcHBseSh0LGV8fFtdKSxpLG89W107cmV0dXJuIGk9e30sYygibmV4dCIpLGMoInRocm93IiksYygicmV0dXJuIiksaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30saTtmdW5jdGlvbiBjKF8pe25bX10mJihpW19dPWZ1bmN0aW9uKEEpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihQLFUpe28ucHVzaChbXyxBLFAsVV0pPjF8fGwoXyxBKX0pfSl9ZnVuY3Rpb24gbChfLEEpe3RyeXtoKG5bX10oQSkpfWNhdGNoKFApe0Uob1swXVszXSxQKX19ZnVuY3Rpb24gaChfKXtfLnZhbHVlIGluc3RhbmNlb2YgTW8/UHJvbWlzZS5yZXNvbHZlKF8udmFsdWUudikudGhlbihkLHYpOkUob1swXVsyXSxfKX1mdW5jdGlvbiBkKF8pe2woIm5leHQiLF8pfWZ1bmN0aW9uIHYoXyl7bCgidGhyb3ciLF8pfWZ1bmN0aW9uIEUoXyxBKXtfKEEpLG8uc2hpZnQoKSxvLmxlbmd0aCYmbChvWzBdWzBdLG9bMF1bMV0pfX1mdW5jdGlvbiByNCh0KXt2YXIgZSxyO3JldHVybiBlPXt9LG4oIm5leHQiKSxuKCJ0aHJvdyIsZnVuY3Rpb24oaSl7dGhyb3cgaX0pLG4oInJldHVybiIpLGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlO2Z1bmN0aW9uIG4oaSxvKXtlW2ldPXRbaV0/ZnVuY3Rpb24oYyl7cmV0dXJuKHI9IXIpP3t2YWx1ZTpNbyh0W2ldKGMpKSxkb25lOmk9PT0icmV0dXJuIn06bz9vKGMpOmN9Om99fWZ1bmN0aW9uIG40KHQpe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgZT10W1N5bWJvbC5hc3luY0l0ZXJhdG9yXSxyO3JldHVybiBlP2UuY2FsbCh0KToodD10eXBlb2YgV3U9PSJmdW5jdGlvbiI/V3UodCk6dFtTeW1ib2wuaXRlcmF0b3JdKCkscj17fSxuKCJuZXh0IiksbigidGhyb3ciKSxuKCJyZXR1cm4iKSxyW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxyKTtmdW5jdGlvbiBuKG8pe3Jbb109dFtvXSYmZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGwsaCl7Yz10W29dKGMpLGkobCxoLGMuZG9uZSxjLnZhbHVlKX0pfX1mdW5jdGlvbiBpKG8sYyxsLGgpe1Byb21pc2UucmVzb2x2ZShoKS50aGVuKGZ1bmN0aW9uKGQpe28oe3ZhbHVlOmQsZG9uZTpsfSl9LGMpfX1mdW5jdGlvbiBpNCh0LGUpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHk/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInJhdyIse3ZhbHVlOmV9KTp0LnJhdz1lLHR9ZnVuY3Rpb24gczQodCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPXt9O2lmKHQhPW51bGwpZm9yKHZhciByIGluIHQpT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKGVbcl09dFtyXSk7cmV0dXJuIGUuZGVmYXVsdD10LGV9ZnVuY3Rpb24gbzQodCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIGE0KHQsZSl7aWYoIWUuaGFzKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImF0dGVtcHRlZCB0byBnZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2UiKTtyZXR1cm4gZS5nZXQodCl9ZnVuY3Rpb24gYzQodCxlLHIpe2lmKCFlLmhhcyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJhdHRlbXB0ZWQgdG8gc2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlIik7cmV0dXJuIGUuc2V0KHQscikscn12YXIgbDQ9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsX19leHRlbmRzOlc2LGdldCBfX2Fzc2lnbigpe3JldHVybiB6dX0sX19yZXN0OnE2LF9fZGVjb3JhdGU6VjYsX19wYXJhbTpLNixfX21ldGFkYXRhOkc2LF9fYXdhaXRlcjpaNixfX2dlbmVyYXRvcjpZNixfX2NyZWF0ZUJpbmRpbmc6SjYsX19leHBvcnRTdGFyOlg2LF9fdmFsdWVzOld1LF9fcmVhZDpzcCxfX3NwcmVhZDpRNixfX3NwcmVhZEFycmF5czplNCxfX2F3YWl0Ok1vLF9fYXN5bmNHZW5lcmF0b3I6dDQsX19hc3luY0RlbGVnYXRvcjpyNCxfX2FzeW5jVmFsdWVzOm40LF9fbWFrZVRlbXBsYXRlT2JqZWN0Omk0LF9faW1wb3J0U3RhcjpzNCxfX2ltcG9ydERlZmF1bHQ6bzQsX19jbGFzc1ByaXZhdGVGaWVsZEdldDphNCxfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0OmM0fSksdTQ9TWkobDQpLHF1LG9wO2Z1bmN0aW9uIGg0KCl7aWYob3ApcmV0dXJuIHF1O29wPTE7ZnVuY3Rpb24gdChyKXt0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHIpfWNhdGNoe3JldHVybiciW0NpcmN1bGFyXSInfX1xdT1lO2Z1bmN0aW9uIGUocixuLGkpe3ZhciBvPWkmJmkuc3RyaW5naWZ5fHx0LGM9MTtpZih0eXBlb2Ygcj09Im9iamVjdCImJnIhPT1udWxsKXt2YXIgbD1uLmxlbmd0aCtjO2lmKGw9PT0xKXJldHVybiByO3ZhciBoPW5ldyBBcnJheShsKTtoWzBdPW8ocik7Zm9yKHZhciBkPTE7ZDxsO2QrKyloW2RdPW8obltkXSk7cmV0dXJuIGguam9pbigiICIpfWlmKHR5cGVvZiByIT0ic3RyaW5nIilyZXR1cm4gcjt2YXIgdj1uLmxlbmd0aDtpZih2PT09MClyZXR1cm4gcjtmb3IodmFyIEU9IiIsXz0xLWMsQT0tMSxQPXImJnIubGVuZ3RofHwwLFU9MDtVPFA7KXtpZihyLmNoYXJDb2RlQXQoVSk9PT0zNyYmVSsxPFApe3N3aXRjaChBPUE+LTE/QTowLHIuY2hhckNvZGVBdChVKzEpKXtjYXNlIDEwMDpjYXNlIDEwMjppZihfPj12fHxuW19dPT1udWxsKWJyZWFrO0E8VSYmKEUrPXIuc2xpY2UoQSxVKSksRSs9TnVtYmVyKG5bX10pLEE9VSsyLFUrKzticmVhaztjYXNlIDEwNTppZihfPj12fHxuW19dPT1udWxsKWJyZWFrO0E8VSYmKEUrPXIuc2xpY2UoQSxVKSksRSs9TWF0aC5mbG9vcihOdW1iZXIobltfXSkpLEE9VSsyLFUrKzticmVhaztjYXNlIDc5OmNhc2UgMTExOmNhc2UgMTA2OmlmKF8+PXZ8fG5bX109PT12b2lkIDApYnJlYWs7QTxVJiYoRSs9ci5zbGljZShBLFUpKTt2YXIgSD10eXBlb2YgbltfXTtpZihIPT09InN0cmluZyIpe0UrPSInIituW19dKyInIixBPVUrMixVKys7YnJlYWt9aWYoSD09PSJmdW5jdGlvbiIpe0UrPW5bX10ubmFtZXx8Ijxhbm9ueW1vdXM+IixBPVUrMixVKys7YnJlYWt9RSs9byhuW19dKSxBPVUrMixVKys7YnJlYWs7Y2FzZSAxMTU6aWYoXz49dilicmVhaztBPFUmJihFKz1yLnNsaWNlKEEsVSkpLEUrPVN0cmluZyhuW19dKSxBPVUrMixVKys7YnJlYWs7Y2FzZSAzNzpBPFUmJihFKz1yLnNsaWNlKEEsVSkpLEUrPSIlIixBPVUrMixVKyssXy0tO2JyZWFrfSsrX30rK1V9cmV0dXJuIEE9PT0tMT9yOihBPFAmJihFKz1yLnNsaWNlKEEpKSxFKX1yZXR1cm4gcXV9dmFyIFZ1LGFwO2Z1bmN0aW9uIGY0KCl7aWYoYXApcmV0dXJuIFZ1O2FwPTE7Y29uc3QgdD1oNCgpO1Z1PWk7Y29uc3QgZT1UKCkuY29uc29sZXx8e30scj17bWFwSHR0cFJlcXVlc3Q6UCxtYXBIdHRwUmVzcG9uc2U6UCx3cmFwUmVxdWVzdFNlcmlhbGl6ZXI6VSx3cmFwUmVzcG9uc2VTZXJpYWxpemVyOlUsd3JhcEVycm9yU2VyaWFsaXplcjpVLHJlcTpQLHJlczpQLGVycjpffTtmdW5jdGlvbiBuKEksZil7cmV0dXJuIEFycmF5LmlzQXJyYXkoSSk/SS5maWx0ZXIoZnVuY3Rpb24oSil7cmV0dXJuIEohPT0iIXN0ZFNlcmlhbGl6ZXJzLmVyciJ9KTpJPT09ITA/T2JqZWN0LmtleXMoZik6ITF9ZnVuY3Rpb24gaShJKXtJPUl8fHt9LEkuYnJvd3Nlcj1JLmJyb3dzZXJ8fHt9O2NvbnN0IGY9SS5icm93c2VyLnRyYW5zbWl0O2lmKGYmJnR5cGVvZiBmLnNlbmQhPSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoInBpbm86IHRyYW5zbWl0IG9wdGlvbiBtdXN0IGhhdmUgYSBzZW5kIGZ1bmN0aW9uIik7Y29uc3QgeD1JLmJyb3dzZXIud3JpdGV8fGU7SS5icm93c2VyLndyaXRlJiYoSS5icm93c2VyLmFzT2JqZWN0PSEwKTtjb25zdCBKPUkuc2VyaWFsaXplcnN8fHt9LHo9bihJLmJyb3dzZXIuc2VyaWFsaXplLEopO2xldCBlZT1JLmJyb3dzZXIuc2VyaWFsaXplO0FycmF5LmlzQXJyYXkoSS5icm93c2VyLnNlcmlhbGl6ZSkmJkkuYnJvd3Nlci5zZXJpYWxpemUuaW5kZXhPZigiIXN0ZFNlcmlhbGl6ZXJzLmVyciIpPi0xJiYoZWU9ITEpO2NvbnN0IGRlPVsiZXJyb3IiLCJmYXRhbCIsIndhcm4iLCJpbmZvIiwiZGVidWciLCJ0cmFjZSJdO3R5cGVvZiB4PT0iZnVuY3Rpb24iJiYoeC5lcnJvcj14LmZhdGFsPXgud2Fybj14LmluZm89eC5kZWJ1Zz14LnRyYWNlPXgpLEkuZW5hYmxlZD09PSExJiYoSS5sZXZlbD0ic2lsZW50Iik7Y29uc3QgbWU9SS5sZXZlbHx8ImluZm8iLE89T2JqZWN0LmNyZWF0ZSh4KTtPLmxvZ3x8KE8ubG9nPUgpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPLCJsZXZlbFZhbCIse2dldDpjZX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPLCJsZXZlbCIse2dldDpsZSxzZXQ6cmV9KTtjb25zdCBqPXt0cmFuc21pdDpmLHNlcmlhbGl6ZTp6LGFzT2JqZWN0OkkuYnJvd3Nlci5hc09iamVjdCxsZXZlbHM6ZGUsdGltZXN0YW1wOkEoSSl9O08ubGV2ZWxzPWkubGV2ZWxzLE8ubGV2ZWw9bWUsTy5zZXRNYXhMaXN0ZW5lcnM9Ty5nZXRNYXhMaXN0ZW5lcnM9Ty5lbWl0PU8uYWRkTGlzdGVuZXI9Ty5vbj1PLnByZXBlbmRMaXN0ZW5lcj1PLm9uY2U9Ty5wcmVwZW5kT25jZUxpc3RlbmVyPU8ucmVtb3ZlTGlzdGVuZXI9Ty5yZW1vdmVBbGxMaXN0ZW5lcnM9Ty5saXN0ZW5lcnM9Ty5saXN0ZW5lckNvdW50PU8uZXZlbnROYW1lcz1PLndyaXRlPU8uZmx1c2g9SCxPLnNlcmlhbGl6ZXJzPUosTy5fc2VyaWFsaXplPXosTy5fc3RkRXJyU2VyaWFsaXplPWVlLE8uY2hpbGQ9bmUsZiYmKE8uX2xvZ0V2ZW50PUUoKSk7ZnVuY3Rpb24gY2UoKXtyZXR1cm4gdGhpcy5sZXZlbD09PSJzaWxlbnQiPzEvMDp0aGlzLmxldmVscy52YWx1ZXNbdGhpcy5sZXZlbF19ZnVuY3Rpb24gbGUoKXtyZXR1cm4gdGhpcy5fbGV2ZWx9ZnVuY3Rpb24gcmUoYWUpe2lmKGFlIT09InNpbGVudCImJiF0aGlzLmxldmVscy52YWx1ZXNbYWVdKXRocm93IEVycm9yKCJ1bmtub3duIGxldmVsICIrYWUpO3RoaXMuX2xldmVsPWFlLG8oaixPLCJlcnJvciIsImxvZyIpLG8oaixPLCJmYXRhbCIsImVycm9yIiksbyhqLE8sIndhcm4iLCJlcnJvciIpLG8oaixPLCJpbmZvIiwibG9nIiksbyhqLE8sImRlYnVnIiwibG9nIiksbyhqLE8sInRyYWNlIiwibG9nIil9ZnVuY3Rpb24gbmUoYWUsaWUpe2lmKCFhZSl0aHJvdyBuZXcgRXJyb3IoIm1pc3NpbmcgYmluZGluZ3MgZm9yIGNoaWxkIFBpbm8iKTtpZT1pZXx8e30seiYmYWUuc2VyaWFsaXplcnMmJihpZS5zZXJpYWxpemVycz1hZS5zZXJpYWxpemVycyk7Y29uc3QgU2U9aWUuc2VyaWFsaXplcnM7aWYoeiYmU2Upe3ZhciBnZT1PYmplY3QuYXNzaWduKHt9LEosU2UpLEZlPUkuYnJvd3Nlci5zZXJpYWxpemU9PT0hMD9PYmplY3Qua2V5cyhnZSk6ejtkZWxldGUgYWUuc2VyaWFsaXplcnMsaChbYWVdLEZlLGdlLHRoaXMuX3N0ZEVyclNlcmlhbGl6ZSl9ZnVuY3Rpb24geWUoTGUpe3RoaXMuX2NoaWxkTGV2ZWw9KExlLl9jaGlsZExldmVsfDApKzEsdGhpcy5lcnJvcj1kKExlLGFlLCJlcnJvciIpLHRoaXMuZmF0YWw9ZChMZSxhZSwiZmF0YWwiKSx0aGlzLndhcm49ZChMZSxhZSwid2FybiIpLHRoaXMuaW5mbz1kKExlLGFlLCJpbmZvIiksdGhpcy5kZWJ1Zz1kKExlLGFlLCJkZWJ1ZyIpLHRoaXMudHJhY2U9ZChMZSxhZSwidHJhY2UiKSxnZSYmKHRoaXMuc2VyaWFsaXplcnM9Z2UsdGhpcy5fc2VyaWFsaXplPUZlKSxmJiYodGhpcy5fbG9nRXZlbnQ9RShbXS5jb25jYXQoTGUuX2xvZ0V2ZW50LmJpbmRpbmdzLGFlKSkpfXJldHVybiB5ZS5wcm90b3R5cGU9dGhpcyxuZXcgeWUodGhpcyl9cmV0dXJuIE99aS5sZXZlbHM9e3ZhbHVlczp7ZmF0YWw6NjAsZXJyb3I6NTAsd2Fybjo0MCxpbmZvOjMwLGRlYnVnOjIwLHRyYWNlOjEwfSxsYWJlbHM6ezEwOiJ0cmFjZSIsMjA6ImRlYnVnIiwzMDoiaW5mbyIsNDA6Indhcm4iLDUwOiJlcnJvciIsNjA6ImZhdGFsIn19LGkuc3RkU2VyaWFsaXplcnM9cixpLnN0ZFRpbWVGdW5jdGlvbnM9T2JqZWN0LmFzc2lnbih7fSx7bnVsbFRpbWU6RyxlcG9jaFRpbWU6Tix1bml4VGltZTpMLGlzb1RpbWU6JH0pO2Z1bmN0aW9uIG8oSSxmLHgsSil7Y29uc3Qgej1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZik7Zlt4XT1mLmxldmVsVmFsPmYubGV2ZWxzLnZhbHVlc1t4XT9IOnpbeF0/elt4XTplW3hdfHxlW0pdfHxILGMoSSxmLHgpfWZ1bmN0aW9uIGMoSSxmLHgpeyFJLnRyYW5zbWl0JiZmW3hdPT09SHx8KGZbeF09ZnVuY3Rpb24oSil7cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgZWU9SS50aW1lc3RhbXAoKSxkZT1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksbWU9T2JqZWN0LmdldFByb3RvdHlwZU9mJiZPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk9PT1lP2U6dGhpcztmb3IodmFyIE89MDtPPGRlLmxlbmd0aDtPKyspZGVbT109YXJndW1lbnRzW09dO2lmKEkuc2VyaWFsaXplJiYhSS5hc09iamVjdCYmaChkZSx0aGlzLl9zZXJpYWxpemUsdGhpcy5zZXJpYWxpemVycyx0aGlzLl9zdGRFcnJTZXJpYWxpemUpLEkuYXNPYmplY3Q/Si5jYWxsKG1lLGwodGhpcyx4LGRlLGVlKSk6Si5hcHBseShtZSxkZSksSS50cmFuc21pdCl7Y29uc3Qgaj1JLnRyYW5zbWl0LmxldmVsfHxmLmxldmVsLGNlPWkubGV2ZWxzLnZhbHVlc1tqXSxsZT1pLmxldmVscy52YWx1ZXNbeF07aWYobGU8Y2UpcmV0dXJuO3YodGhpcyx7dHM6ZWUsbWV0aG9kTGV2ZWw6eCxtZXRob2RWYWx1ZTpsZSx0cmFuc21pdExldmVsOmosdHJhbnNtaXRWYWx1ZTppLmxldmVscy52YWx1ZXNbSS50cmFuc21pdC5sZXZlbHx8Zi5sZXZlbF0sc2VuZDpJLnRyYW5zbWl0LnNlbmQsdmFsOmYubGV2ZWxWYWx9LGRlKX19fShmW3hdKSl9ZnVuY3Rpb24gbChJLGYseCxKKXtJLl9zZXJpYWxpemUmJmgoeCxJLl9zZXJpYWxpemUsSS5zZXJpYWxpemVycyxJLl9zdGRFcnJTZXJpYWxpemUpO2NvbnN0IHo9eC5zbGljZSgpO2xldCBlZT16WzBdO2NvbnN0IGRlPXt9O0omJihkZS50aW1lPUopLGRlLmxldmVsPWkubGV2ZWxzLnZhbHVlc1tmXTtsZXQgbWU9KEkuX2NoaWxkTGV2ZWx8MCkrMTtpZihtZTwxJiYobWU9MSksZWUhPT1udWxsJiZ0eXBlb2YgZWU9PSJvYmplY3QiKXtmb3IoO21lLS0mJnR5cGVvZiB6WzBdPT0ib2JqZWN0IjspT2JqZWN0LmFzc2lnbihkZSx6LnNoaWZ0KCkpO2VlPXoubGVuZ3RoP3Qoei5zaGlmdCgpLHopOnZvaWQgMH1lbHNlIHR5cGVvZiBlZT09InN0cmluZyImJihlZT10KHouc2hpZnQoKSx6KSk7cmV0dXJuIGVlIT09dm9pZCAwJiYoZGUubXNnPWVlKSxkZX1mdW5jdGlvbiBoKEksZix4LEope2Zvcihjb25zdCB6IGluIEkpaWYoSiYmSVt6XWluc3RhbmNlb2YgRXJyb3IpSVt6XT1pLnN0ZFNlcmlhbGl6ZXJzLmVycihJW3pdKTtlbHNlIGlmKHR5cGVvZiBJW3pdPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoSVt6XSkpZm9yKGNvbnN0IGVlIGluIElbel0pZiYmZi5pbmRleE9mKGVlKT4tMSYmZWUgaW4geCYmKElbel1bZWVdPXhbZWVdKElbel1bZWVdKSl9ZnVuY3Rpb24gZChJLGYseCl7cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgSj1uZXcgQXJyYXkoMSthcmd1bWVudHMubGVuZ3RoKTtKWzBdPWY7Zm9yKHZhciB6PTE7ejxKLmxlbmd0aDt6KyspSlt6XT1hcmd1bWVudHNbei0xXTtyZXR1cm4gSVt4XS5hcHBseSh0aGlzLEopfX1mdW5jdGlvbiB2KEksZix4KXtjb25zdCBKPWYuc2VuZCx6PWYudHMsZWU9Zi5tZXRob2RMZXZlbCxkZT1mLm1ldGhvZFZhbHVlLG1lPWYudmFsLE89SS5fbG9nRXZlbnQuYmluZGluZ3M7aCh4LEkuX3NlcmlhbGl6ZXx8T2JqZWN0LmtleXMoSS5zZXJpYWxpemVycyksSS5zZXJpYWxpemVycyxJLl9zdGRFcnJTZXJpYWxpemU9PT12b2lkIDA/ITA6SS5fc3RkRXJyU2VyaWFsaXplKSxJLl9sb2dFdmVudC50cz16LEkuX2xvZ0V2ZW50Lm1lc3NhZ2VzPXguZmlsdGVyKGZ1bmN0aW9uKGope3JldHVybiBPLmluZGV4T2Yoaik9PT0tMX0pLEkuX2xvZ0V2ZW50LmxldmVsLmxhYmVsPWVlLEkuX2xvZ0V2ZW50LmxldmVsLnZhbHVlPWRlLEooZWUsSS5fbG9nRXZlbnQsbWUpLEkuX2xvZ0V2ZW50PUUoTyl9ZnVuY3Rpb24gRShJKXtyZXR1cm57dHM6MCxtZXNzYWdlczpbXSxiaW5kaW5nczpJfHxbXSxsZXZlbDp7bGFiZWw6IiIsdmFsdWU6MH19fWZ1bmN0aW9uIF8oSSl7Y29uc3QgZj17dHlwZTpJLmNvbnN0cnVjdG9yLm5hbWUsbXNnOkkubWVzc2FnZSxzdGFjazpJLnN0YWNrfTtmb3IoY29uc3QgeCBpbiBJKWZbeF09PT12b2lkIDAmJihmW3hdPUlbeF0pO3JldHVybiBmfWZ1bmN0aW9uIEEoSSl7cmV0dXJuIHR5cGVvZiBJLnRpbWVzdGFtcD09ImZ1bmN0aW9uIj9JLnRpbWVzdGFtcDpJLnRpbWVzdGFtcD09PSExP0c6Tn1mdW5jdGlvbiBQKCl7cmV0dXJue319ZnVuY3Rpb24gVShJKXtyZXR1cm4gSX1mdW5jdGlvbiBIKCl7fWZ1bmN0aW9uIEcoKXtyZXR1cm4hMX1mdW5jdGlvbiBOKCl7cmV0dXJuIERhdGUubm93KCl9ZnVuY3Rpb24gTCgpe3JldHVybiBNYXRoLnJvdW5kKERhdGUubm93KCkvMWUzKX1mdW5jdGlvbiAkKCl7cmV0dXJuIG5ldyBEYXRlKERhdGUubm93KCkpLnRvSVNPU3RyaW5nKCl9ZnVuY3Rpb24gVCgpe2Z1bmN0aW9uIEkoZil7cmV0dXJuIHR5cGVvZiBmPCJ1IiYmZn10cnl7cmV0dXJuIHR5cGVvZiBnbG9iYWxUaGlzPCJ1Inx8T2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsImdsb2JhbFRoaXMiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuZ2xvYmFsVGhpcyx0aGlzLmdsb2JhbFRoaXM9dGhpc30sY29uZmlndXJhYmxlOiEwfSksZ2xvYmFsVGhpc31jYXRjaHtyZXR1cm4gSShzZWxmKXx8SSh3aW5kb3cpfHxJKHRoaXMpfHx7fX19cmV0dXJuIFZ1fXZhciBxaT17fSxjcDtmdW5jdGlvbiBscCgpe3JldHVybiBjcHx8KGNwPTEsT2JqZWN0LmRlZmluZVByb3BlcnR5KHFpLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxxaS5QSU5PX0NVU1RPTV9DT05URVhUX0tFWT1xaS5QSU5PX0xPR0dFUl9ERUZBVUxUUz12b2lkIDAscWkuUElOT19MT0dHRVJfREVGQVVMVFM9e2xldmVsOiJpbmZvIn0scWkuUElOT19DVVNUT01fQ09OVEVYVF9LRVk9ImN1c3RvbV9jb250ZXh0IikscWl9dmFyIFRyPXt9LHVwO2Z1bmN0aW9uIGQ0KCl7aWYodXApcmV0dXJuIFRyO3VwPTEsT2JqZWN0LmRlZmluZVByb3BlcnR5KFRyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxUci5nZW5lcmF0ZUNoaWxkTG9nZ2VyPVRyLmZvcm1hdENoaWxkTG9nZ2VyQ29udGV4dD1Uci5nZXRMb2dnZXJDb250ZXh0PVRyLnNldEJyb3dzZXJMb2dnZXJDb250ZXh0PVRyLmdldEJyb3dzZXJMb2dnZXJDb250ZXh0PVRyLmdldERlZmF1bHRMb2dnZXJPcHRpb25zPXZvaWQgMDtjb25zdCB0PWxwKCk7ZnVuY3Rpb24gZShsKXtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGwpLHtsZXZlbDpsPy5sZXZlbHx8dC5QSU5PX0xPR0dFUl9ERUZBVUxUUy5sZXZlbH0pfVRyLmdldERlZmF1bHRMb2dnZXJPcHRpb25zPWU7ZnVuY3Rpb24gcihsLGg9dC5QSU5PX0NVU1RPTV9DT05URVhUX0tFWSl7cmV0dXJuIGxbaF18fCIifVRyLmdldEJyb3dzZXJMb2dnZXJDb250ZXh0PXI7ZnVuY3Rpb24gbihsLGgsZD10LlBJTk9fQ1VTVE9NX0NPTlRFWFRfS0VZKXtyZXR1cm4gbFtkXT1oLGx9VHIuc2V0QnJvd3NlckxvZ2dlckNvbnRleHQ9bjtmdW5jdGlvbiBpKGwsaD10LlBJTk9fQ1VTVE9NX0NPTlRFWFRfS0VZKXtsZXQgZD0iIjtyZXR1cm4gdHlwZW9mIGwuYmluZGluZ3M+InUiP2Q9cihsLGgpOmQ9bC5iaW5kaW5ncygpLmNvbnRleHR8fCIiLGR9VHIuZ2V0TG9nZ2VyQ29udGV4dD1pO2Z1bmN0aW9uIG8obCxoLGQ9dC5QSU5PX0NVU1RPTV9DT05URVhUX0tFWSl7Y29uc3Qgdj1pKGwsZCk7cmV0dXJuIHYudHJpbSgpP2Ake3Z9LyR7aH1gOmh9VHIuZm9ybWF0Q2hpbGRMb2dnZXJDb250ZXh0PW87ZnVuY3Rpb24gYyhsLGgsZD10LlBJTk9fQ1VTVE9NX0NPTlRFWFRfS0VZKXtjb25zdCB2PW8obCxoLGQpLEU9bC5jaGlsZCh7Y29udGV4dDp2fSk7cmV0dXJuIG4oRSx2LGQpfXJldHVybiBUci5nZW5lcmF0ZUNoaWxkTG9nZ2VyPWMsVHJ9KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnBpbm89dm9pZCAwO2NvbnN0IGU9dTQscj1lLl9faW1wb3J0RGVmYXVsdChmNCgpKTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicGlubyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHIuZGVmYXVsdH19KSxlLl9fZXhwb3J0U3RhcihscCgpLHQpLGUuX19leHBvcnRTdGFyKGQ0KCksdCl9KShwdCk7Y2xhc3MgcDQgZXh0ZW5kcyB6aXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMub3B0cz1lLHRoaXMucHJvdG9jb2w9IndjIix0aGlzLnZlcnNpb249Mn19Y2xhc3MgZzQgZXh0ZW5kcyB6aXtjb25zdHJ1Y3RvcihlLHIpe3N1cGVyKCksdGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9cix0aGlzLnJlY29yZHM9bmV3IE1hcH19Y2xhc3MgbTR7Y29uc3RydWN0b3IoZSxyKXt0aGlzLmxvZ2dlcj1lLHRoaXMuY29yZT1yfX1jbGFzcyB3NCBleHRlbmRzIHppe2NvbnN0cnVjdG9yKGUscil7c3VwZXIoKSx0aGlzLnJlbGF5ZXI9ZSx0aGlzLmxvZ2dlcj1yfX1jbGFzcyB2NCBleHRlbmRzIHppe2NvbnN0cnVjdG9yKGUpe3N1cGVyKCl9fWNsYXNzIHk0e2NvbnN0cnVjdG9yKGUscixuLGkpe3RoaXMuY29yZT1lLHRoaXMubG9nZ2VyPXIsdGhpcy5uYW1lPW59fWNsYXNzIGI0IGV4dGVuZHMgeml7Y29uc3RydWN0b3IoZSxyKXtzdXBlcigpLHRoaXMucmVsYXllcj1lLHRoaXMubG9nZ2VyPXJ9fWNsYXNzIF80IGV4dGVuZHMgeml7Y29uc3RydWN0b3IoZSxyKXtzdXBlcigpLHRoaXMuY29yZT1lLHRoaXMubG9nZ2VyPXJ9fWNsYXNzIEU0e2NvbnN0cnVjdG9yKGUscil7dGhpcy5wcm9qZWN0SWQ9ZSx0aGlzLmxvZ2dlcj1yfX1jbGFzcyB4NHtjb25zdHJ1Y3RvcihlKXt0aGlzLm9wdHM9ZSx0aGlzLnByb3RvY29sPSJ3YyIsdGhpcy52ZXJzaW9uPTJ9fWNsYXNzIEM0e2NvbnN0cnVjdG9yKGUpe3RoaXMuY2xpZW50PWV9fWNvbnN0IEk0PXQ9PkpTT04uc3RyaW5naWZ5KHQsKGUscik9PnR5cGVvZiByPT0iYmlnaW50Ij9yLnRvU3RyaW5nKCkrIm4iOnIpLE80PXQ9Pntjb25zdCBlPS8oW1xbOl0pPyhcZHsxNyx9fCg/Ols5XSg/OlsxLTldMDcxOTkyNTQ3NDA5OTF8MFsxLTldNzE5OTI1NDc0MDk5MXwwMFs4LTldMTk5MjU0NzQwOTkxfDAwN1syLTldOTkyNTQ3NDA5OTF8MDA3MTk5WzMtOV01NDc0MDk5MXwwMDcxOTkyWzYtOV00NzQwOTkxfDAwNzE5OTI1WzUtOV03NDA5OTF8MDA3MTk5MjU0WzgtOV00MDk5MXwwMDcxOTkyNTQ3WzUtOV0wOTkxfDAwNzE5OTI1NDc0WzEtOV05OTF8MDA3MTk5MjU0NzQwOTlbMi05XSkpKShbLFx9XF1dKS9nLHI9dC5yZXBsYWNlKGUsJyQxIiQybiIkMycpO3JldHVybiBKU09OLnBhcnNlKHIsKG4saSk9PnR5cGVvZiBpPT0ic3RyaW5nIiYmaS5tYXRjaCgvXlxkK24kLyk/QmlnSW50KGkuc3Vic3RyaW5nKDAsaS5sZW5ndGgtMSkpOmkpfTtmdW5jdGlvbiBLdSh0KXtpZih0eXBlb2YgdCE9InN0cmluZyIpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3Qgc2FmZSBqc29uIHBhcnNlIHZhbHVlIG9mIHR5cGUgJHt0eXBlb2YgdH1gKTt0cnl7cmV0dXJuIE80KHQpfWNhdGNoe3JldHVybiB0fX1mdW5jdGlvbiBVbyh0KXtyZXR1cm4gdHlwZW9mIHQ9PSJzdHJpbmciP3Q6STQodCl8fCIifXZhciBHdT17fSxocD17fTsoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPWV0LHI9WXI7dC5ESUdFU1RfTEVOR1RIPTY0LHQuQkxPQ0tfU0laRT0xMjg7dmFyIG49ZnVuY3Rpb24oKXtmdW5jdGlvbiBsKCl7dGhpcy5kaWdlc3RMZW5ndGg9dC5ESUdFU1RfTEVOR1RILHRoaXMuYmxvY2tTaXplPXQuQkxPQ0tfU0laRSx0aGlzLl9zdGF0ZUhpPW5ldyBJbnQzMkFycmF5KDgpLHRoaXMuX3N0YXRlTG89bmV3IEludDMyQXJyYXkoOCksdGhpcy5fdGVtcEhpPW5ldyBJbnQzMkFycmF5KDE2KSx0aGlzLl90ZW1wTG89bmV3IEludDMyQXJyYXkoMTYpLHRoaXMuX2J1ZmZlcj1uZXcgVWludDhBcnJheSgyNTYpLHRoaXMuX2J1ZmZlckxlbmd0aD0wLHRoaXMuX2J5dGVzSGFzaGVkPTAsdGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5yZXNldCgpfXJldHVybiBsLnByb3RvdHlwZS5faW5pdFN0YXRlPWZ1bmN0aW9uKCl7dGhpcy5fc3RhdGVIaVswXT0xNzc5MDMzNzAzLHRoaXMuX3N0YXRlSGlbMV09MzE0NDEzNDI3Nyx0aGlzLl9zdGF0ZUhpWzJdPTEwMTM5MDQyNDIsdGhpcy5fc3RhdGVIaVszXT0yNzczNDgwNzYyLHRoaXMuX3N0YXRlSGlbNF09MTM1OTg5MzExOSx0aGlzLl9zdGF0ZUhpWzVdPTI2MDA4MjI5MjQsdGhpcy5fc3RhdGVIaVs2XT01Mjg3MzQ2MzUsdGhpcy5fc3RhdGVIaVs3XT0xNTQxNDU5MjI1LHRoaXMuX3N0YXRlTG9bMF09NDA4OTIzNTcyMCx0aGlzLl9zdGF0ZUxvWzFdPTIyMjc4NzM1OTUsdGhpcy5fc3RhdGVMb1syXT00MjcxMTc1NzIzLHRoaXMuX3N0YXRlTG9bM109MTU5NTc1MDEyOSx0aGlzLl9zdGF0ZUxvWzRdPTI5MTc1NjUxMzcsdGhpcy5fc3RhdGVMb1s1XT03MjU1MTExOTksdGhpcy5fc3RhdGVMb1s2XT00MjE1Mzg5NTQ3LHRoaXMuX3N0YXRlTG9bN109MzI3MDMzMjA5fSxsLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9pbml0U3RhdGUoKSx0aGlzLl9idWZmZXJMZW5ndGg9MCx0aGlzLl9ieXRlc0hhc2hlZD0wLHRoaXMuX2ZpbmlzaGVkPSExLHRoaXN9LGwucHJvdG90eXBlLmNsZWFuPWZ1bmN0aW9uKCl7ci53aXBlKHRoaXMuX2J1ZmZlciksci53aXBlKHRoaXMuX3RlbXBIaSksci53aXBlKHRoaXMuX3RlbXBMbyksdGhpcy5yZXNldCgpfSxsLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oaCxkKXtpZihkPT09dm9pZCAwJiYoZD1oLmxlbmd0aCksdGhpcy5fZmluaXNoZWQpdGhyb3cgbmV3IEVycm9yKCJTSEE1MTI6IGNhbid0IHVwZGF0ZSBiZWNhdXNlIGhhc2ggd2FzIGZpbmlzaGVkLiIpO3ZhciB2PTA7aWYodGhpcy5fYnl0ZXNIYXNoZWQrPWQsdGhpcy5fYnVmZmVyTGVuZ3RoPjApe2Zvcig7dGhpcy5fYnVmZmVyTGVuZ3RoPHQuQkxPQ0tfU0laRSYmZD4wOyl0aGlzLl9idWZmZXJbdGhpcy5fYnVmZmVyTGVuZ3RoKytdPWhbdisrXSxkLS07dGhpcy5fYnVmZmVyTGVuZ3RoPT09dGhpcy5ibG9ja1NpemUmJihvKHRoaXMuX3RlbXBIaSx0aGlzLl90ZW1wTG8sdGhpcy5fc3RhdGVIaSx0aGlzLl9zdGF0ZUxvLHRoaXMuX2J1ZmZlciwwLHRoaXMuYmxvY2tTaXplKSx0aGlzLl9idWZmZXJMZW5ndGg9MCl9Zm9yKGQ+PXRoaXMuYmxvY2tTaXplJiYodj1vKHRoaXMuX3RlbXBIaSx0aGlzLl90ZW1wTG8sdGhpcy5fc3RhdGVIaSx0aGlzLl9zdGF0ZUxvLGgsdixkKSxkJT10aGlzLmJsb2NrU2l6ZSk7ZD4wOyl0aGlzLl9idWZmZXJbdGhpcy5fYnVmZmVyTGVuZ3RoKytdPWhbdisrXSxkLS07cmV0dXJuIHRoaXN9LGwucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbihoKXtpZighdGhpcy5fZmluaXNoZWQpe3ZhciBkPXRoaXMuX2J5dGVzSGFzaGVkLHY9dGhpcy5fYnVmZmVyTGVuZ3RoLEU9ZC81MzY4NzA5MTJ8MCxfPWQ8PDMsQT1kJTEyODwxMTI/MTI4OjI1Njt0aGlzLl9idWZmZXJbdl09MTI4O2Zvcih2YXIgUD12KzE7UDxBLTg7UCsrKXRoaXMuX2J1ZmZlcltQXT0wO2Uud3JpdGVVaW50MzJCRShFLHRoaXMuX2J1ZmZlcixBLTgpLGUud3JpdGVVaW50MzJCRShfLHRoaXMuX2J1ZmZlcixBLTQpLG8odGhpcy5fdGVtcEhpLHRoaXMuX3RlbXBMbyx0aGlzLl9zdGF0ZUhpLHRoaXMuX3N0YXRlTG8sdGhpcy5fYnVmZmVyLDAsQSksdGhpcy5fZmluaXNoZWQ9ITB9Zm9yKHZhciBQPTA7UDx0aGlzLmRpZ2VzdExlbmd0aC84O1ArKyllLndyaXRlVWludDMyQkUodGhpcy5fc3RhdGVIaVtQXSxoLFAqOCksZS53cml0ZVVpbnQzMkJFKHRoaXMuX3N0YXRlTG9bUF0saCxQKjgrNCk7cmV0dXJuIHRoaXN9LGwucHJvdG90eXBlLmRpZ2VzdD1mdW5jdGlvbigpe3ZhciBoPW5ldyBVaW50OEFycmF5KHRoaXMuZGlnZXN0TGVuZ3RoKTtyZXR1cm4gdGhpcy5maW5pc2goaCksaH0sbC5wcm90b3R5cGUuc2F2ZVN0YXRlPWZ1bmN0aW9uKCl7aWYodGhpcy5fZmluaXNoZWQpdGhyb3cgbmV3IEVycm9yKCJTSEEyNTY6IGNhbm5vdCBzYXZlIGZpbmlzaGVkIHN0YXRlIik7cmV0dXJue3N0YXRlSGk6bmV3IEludDMyQXJyYXkodGhpcy5fc3RhdGVIaSksc3RhdGVMbzpuZXcgSW50MzJBcnJheSh0aGlzLl9zdGF0ZUxvKSxidWZmZXI6dGhpcy5fYnVmZmVyTGVuZ3RoPjA/bmV3IFVpbnQ4QXJyYXkodGhpcy5fYnVmZmVyKTp2b2lkIDAsYnVmZmVyTGVuZ3RoOnRoaXMuX2J1ZmZlckxlbmd0aCxieXRlc0hhc2hlZDp0aGlzLl9ieXRlc0hhc2hlZH19LGwucHJvdG90eXBlLnJlc3RvcmVTdGF0ZT1mdW5jdGlvbihoKXtyZXR1cm4gdGhpcy5fc3RhdGVIaS5zZXQoaC5zdGF0ZUhpKSx0aGlzLl9zdGF0ZUxvLnNldChoLnN0YXRlTG8pLHRoaXMuX2J1ZmZlckxlbmd0aD1oLmJ1ZmZlckxlbmd0aCxoLmJ1ZmZlciYmdGhpcy5fYnVmZmVyLnNldChoLmJ1ZmZlciksdGhpcy5fYnl0ZXNIYXNoZWQ9aC5ieXRlc0hhc2hlZCx0aGlzLl9maW5pc2hlZD0hMSx0aGlzfSxsLnByb3RvdHlwZS5jbGVhblNhdmVkU3RhdGU9ZnVuY3Rpb24oaCl7ci53aXBlKGguc3RhdGVIaSksci53aXBlKGguc3RhdGVMbyksaC5idWZmZXImJnIud2lwZShoLmJ1ZmZlciksaC5idWZmZXJMZW5ndGg9MCxoLmJ5dGVzSGFzaGVkPTB9LGx9KCk7dC5TSEE1MTI9bjt2YXIgaT1uZXcgSW50MzJBcnJheShbMTExNjM1MjQwOCwzNjA5NzY3NDU4LDE4OTk0NDc0NDEsNjAyODkxNzI1LDMwNDkzMjM0NzEsMzk2NDQ4NDM5OSwzOTIxMDA5NTczLDIxNzMyOTU1NDgsOTYxOTg3MTYzLDQwODE2Mjg0NzIsMTUwODk3MDk5MywzMDUzODM0MjY1LDI0NTM2MzU3NDgsMjkzNzY3MTU3OSwyODcwNzYzMjIxLDM2NjQ2MDk1NjAsMzYyNDM4MTA4MCwyNzM0ODgzMzk0LDMxMDU5ODQwMSwxMTY0OTk2NTQyLDYwNzIyNTI3OCwxMzIzNjEwNzY0LDE0MjY4ODE5ODcsMzU5MDMwNDk5NCwxOTI1MDc4Mzg4LDQwNjgxODIzODMsMjE2MjA3ODIwNiw5OTEzMzYxMTMsMjYxNDg4ODEwMyw2MzM4MDMzMTcsMzI0ODIyMjU4MCwzNDc5Nzc0ODY4LDM4MzUzOTA0MDEsMjY2NjYxMzQ1OCw0MDIyMjI0Nzc0LDk0NDcxMTEzOSwyNjQzNDcwNzgsMjM0MTI2Mjc3Myw2MDQ4MDc2MjgsMjAwNzgwMDkzMyw3NzAyNTU5ODMsMTQ5NTk5MDkwMSwxMjQ5MTUwMTIyLDE4NTY0MzEyMzUsMTU1NTA4MTY5MiwzMTc1MjE4MTMyLDE5OTYwNjQ5ODYsMjE5ODk1MDgzNywyNTU0MjIwODgyLDM5OTk3MTkzMzksMjgyMTgzNDM0OSw3NjY3ODQwMTYsMjk1Mjk5NjgwOCwyNTY2NTk0ODc5LDMyMTAzMTM2NzEsMzIwMzMzNzk1NiwzMzM2NTcxODkxLDEwMzQ0NTcwMjYsMzU4NDUyODcxMSwyNDY2OTQ4OTAxLDExMzkyNjk5MywzNzU4MzI2MzgzLDMzODI0MTg5NSwxNjg3MTc5MzYsNjY2MzA3MjA1LDExODgxNzk5NjQsNzczNTI5OTEyLDE1NDYwNDU3MzQsMTI5NDc1NzM3MiwxNTIyODA1NDg1LDEzOTYxODIyOTEsMjY0MzgzMzgyMywxNjk1MTgzNzAwLDIzNDM1MjczOTAsMTk4NjY2MTA1MSwxMDE0NDc3NDgwLDIxNzcwMjYzNTAsMTIwNjc1OTE0MiwyNDU2OTU2MDM3LDM0NDA3NzYyNywyNzMwNDg1OTIxLDEyOTA4NjM0NjAsMjgyMDMwMjQxMSwzMTU4NDU0MjczLDMyNTk3MzA4MDAsMzUwNTk1MjY1NywzMzQ1NzY0NzcxLDEwNjIxNzAwOCwzNTE2MDY1ODE3LDM2MDYwMDgzNDQsMzYwMDM1MjgwNCwxNDMyNzI1Nzc2LDQwOTQ1NzE5MDksMTQ2NzAzMTU5NCwyNzU0MjMzNDQsODUxMTY5NzIwLDQzMDIyNzczNCwzMTAwODIzNzUyLDUwNjk0ODYxNiwxMzYzMjU4MTk1LDY1OTA2MDU1NiwzNzUwNjg1NTkzLDg4Mzk5Nzg3NywzNzg1MDUwMjgwLDk1ODEzOTU3MSwzMzE4MzA3NDI3LDEzMjI4MjIyMTgsMzgxMjcyMzQwMywxNTM3MDAyMDYzLDIwMDMwMzQ5OTUsMTc0Nzg3Mzc3OSwzNjAyMDM2ODk5LDE5NTU1NjIyMjIsMTU3NTk5MDAxMiwyMDI0MTA0ODE1LDExMjU1OTI5MjgsMjIyNzczMDQ1MiwyNzE2OTA0MzA2LDIzNjE4NTI0MjQsNDQyNzc2MDQ0LDI0Mjg0MzY0NzQsNTkzNjk4MzQ0LDI3NTY3MzQxODcsMzczMzExMDI0OSwzMjA0MDMxNDc5LDI5OTkzNTE1NzMsMzMyOTMyNTI5OCwzODE1OTIwNDI3LDMzOTE1Njk2MTQsMzkyODM4MzkwMCwzNTE1MjY3MjcxLDU2NjI4MDcxMSwzOTQwMTg3NjA2LDM0NTQwNjk1MzQsNDExODYzMDI3MSw0MDAwMjM5OTkyLDExNjQxODQ3NCwxOTE0MTM4NTU0LDE3NDI5MjQyMSwyNzMxMDU1MjcwLDI4OTM4MDM1NiwzMjAzOTkzMDA2LDQ2MDM5MzI2OSwzMjA2MjAzMTUsNjg1NDcxNzMzLDU4NzQ5NjgzNiw4NTIxNDI5NzEsMTA4Njc5Mjg1MSwxMDE3MDM2Mjk4LDM2NTU0MzEwMCwxMTI2MDAwNTgwLDI2MTgyOTc2NzYsMTI4ODAzMzQ3MCwzNDA5ODU1MTU4LDE1MDE1MDU5NDgsNDIzNDUwOTg2NiwxNjA3MTY3OTE1LDk4NzE2NzQ2OCwxODE2NDAyMzE2LDEyNDYxODk1OTFdKTtmdW5jdGlvbiBvKGwsaCxkLHYsRSxfLEEpe2Zvcih2YXIgUD1kWzBdLFU9ZFsxXSxIPWRbMl0sRz1kWzNdLE49ZFs0XSxMPWRbNV0sJD1kWzZdLFQ9ZFs3XSxJPXZbMF0sZj12WzFdLHg9dlsyXSxKPXZbM10sej12WzRdLGVlPXZbNV0sZGU9dls2XSxtZT12WzddLE8saixjZSxsZSxyZSxuZSxhZSxpZTtBPj0xMjg7KXtmb3IodmFyIFNlPTA7U2U8MTY7U2UrKyl7dmFyIGdlPTgqU2UrXztsW1NlXT1lLnJlYWRVaW50MzJCRShFLGdlKSxoW1NlXT1lLnJlYWRVaW50MzJCRShFLGdlKzQpfWZvcih2YXIgU2U9MDtTZTw4MDtTZSsrKXt2YXIgRmU9UCx5ZT1VLExlPUgsWD1HLFk9TixXPUwsdz0kLEY9VCx3ZT1JLHZlPWYsTWU9eCxudD1KLGF0PXosR2U9ZWUsRHQ9ZGUsJHQ9bWU7aWYoTz1ULGo9bWUscmU9aiY2NTUzNSxuZT1qPj4+MTYsYWU9TyY2NTUzNSxpZT1PPj4+MTYsTz0oTj4+PjE0fHo8PDMyLTE0KV4oTj4+PjE4fHo8PDMyLTE4KV4oej4+PjQxLTMyfE48PDMyLSg0MS0zMikpLGo9KHo+Pj4xNHxOPDwzMi0xNCleKHo+Pj4xOHxOPDwzMi0xOCleKE4+Pj40MS0zMnx6PDwzMi0oNDEtMzIpKSxyZSs9aiY2NTUzNSxuZSs9aj4+PjE2LGFlKz1PJjY1NTM1LGllKz1PPj4+MTYsTz1OJkxefk4mJCxqPXomZWVefnomZGUscmUrPWomNjU1MzUsbmUrPWo+Pj4xNixhZSs9TyY2NTUzNSxpZSs9Tz4+PjE2LE89aVtTZSoyXSxqPWlbU2UqMisxXSxyZSs9aiY2NTUzNSxuZSs9aj4+PjE2LGFlKz1PJjY1NTM1LGllKz1PPj4+MTYsTz1sW1NlJTE2XSxqPWhbU2UlMTZdLHJlKz1qJjY1NTM1LG5lKz1qPj4+MTYsYWUrPU8mNjU1MzUsaWUrPU8+Pj4xNixuZSs9cmU+Pj4xNixhZSs9bmU+Pj4xNixpZSs9YWU+Pj4xNixjZT1hZSY2NTUzNXxpZTw8MTYsbGU9cmUmNjU1MzV8bmU8PDE2LE89Y2Usaj1sZSxyZT1qJjY1NTM1LG5lPWo+Pj4xNixhZT1PJjY1NTM1LGllPU8+Pj4xNixPPShQPj4+Mjh8STw8MzItMjgpXihJPj4+MzQtMzJ8UDw8MzItKDM0LTMyKSleKEk+Pj4zOS0zMnxQPDwzMi0oMzktMzIpKSxqPShJPj4+Mjh8UDw8MzItMjgpXihQPj4+MzQtMzJ8STw8MzItKDM0LTMyKSleKFA+Pj4zOS0zMnxJPDwzMi0oMzktMzIpKSxyZSs9aiY2NTUzNSxuZSs9aj4+PjE2LGFlKz1PJjY1NTM1LGllKz1PPj4+MTYsTz1QJlVeUCZIXlUmSCxqPUkmZl5JJnheZiZ4LHJlKz1qJjY1NTM1LG5lKz1qPj4+MTYsYWUrPU8mNjU1MzUsaWUrPU8+Pj4xNixuZSs9cmU+Pj4xNixhZSs9bmU+Pj4xNixpZSs9YWU+Pj4xNixGPWFlJjY1NTM1fGllPDwxNiwkdD1yZSY2NTUzNXxuZTw8MTYsTz1YLGo9bnQscmU9aiY2NTUzNSxuZT1qPj4+MTYsYWU9TyY2NTUzNSxpZT1PPj4+MTYsTz1jZSxqPWxlLHJlKz1qJjY1NTM1LG5lKz1qPj4+MTYsYWUrPU8mNjU1MzUsaWUrPU8+Pj4xNixuZSs9cmU+Pj4xNixhZSs9bmU+Pj4xNixpZSs9YWU+Pj4xNixYPWFlJjY1NTM1fGllPDwxNixudD1yZSY2NTUzNXxuZTw8MTYsVT1GZSxIPXllLEc9TGUsTj1YLEw9WSwkPVcsVD13LFA9RixmPXdlLHg9dmUsSj1NZSx6PW50LGVlPWF0LGRlPUdlLG1lPUR0LEk9JHQsU2UlMTY9PT0xNSlmb3IodmFyIGdlPTA7Z2U8MTY7Z2UrKylPPWxbZ2VdLGo9aFtnZV0scmU9aiY2NTUzNSxuZT1qPj4+MTYsYWU9TyY2NTUzNSxpZT1PPj4+MTYsTz1sWyhnZSs5KSUxNl0saj1oWyhnZSs5KSUxNl0scmUrPWomNjU1MzUsbmUrPWo+Pj4xNixhZSs9TyY2NTUzNSxpZSs9Tz4+PjE2LGNlPWxbKGdlKzEpJTE2XSxsZT1oWyhnZSsxKSUxNl0sTz0oY2U+Pj4xfGxlPDwzMi0xKV4oY2U+Pj44fGxlPDwzMi04KV5jZT4+Pjcsaj0obGU+Pj4xfGNlPDwzMi0xKV4obGU+Pj44fGNlPDwzMi04KV4obGU+Pj43fGNlPDwzMi03KSxyZSs9aiY2NTUzNSxuZSs9aj4+PjE2LGFlKz1PJjY1NTM1LGllKz1PPj4+MTYsY2U9bFsoZ2UrMTQpJTE2XSxsZT1oWyhnZSsxNCklMTZdLE89KGNlPj4+MTl8bGU8PDMyLTE5KV4obGU+Pj42MS0zMnxjZTw8MzItKDYxLTMyKSleY2U+Pj42LGo9KGxlPj4+MTl8Y2U8PDMyLTE5KV4oY2U+Pj42MS0zMnxsZTw8MzItKDYxLTMyKSleKGxlPj4+NnxjZTw8MzItNikscmUrPWomNjU1MzUsbmUrPWo+Pj4xNixhZSs9TyY2NTUzNSxpZSs9Tz4+PjE2LG5lKz1yZT4+PjE2LGFlKz1uZT4+PjE2LGllKz1hZT4+PjE2LGxbZ2VdPWFlJjY1NTM1fGllPDwxNixoW2dlXT1yZSY2NTUzNXxuZTw8MTZ9Tz1QLGo9SSxyZT1qJjY1NTM1LG5lPWo+Pj4xNixhZT1PJjY1NTM1LGllPU8+Pj4xNixPPWRbMF0saj12WzBdLHJlKz1qJjY1NTM1LG5lKz1qPj4+MTYsYWUrPU8mNjU1MzUsaWUrPU8+Pj4xNixuZSs9cmU+Pj4xNixhZSs9bmU+Pj4xNixpZSs9YWU+Pj4xNixkWzBdPVA9YWUmNjU1MzV8aWU8PDE2LHZbMF09ST1yZSY2NTUzNXxuZTw8MTYsTz1VLGo9ZixyZT1qJjY1NTM1LG5lPWo+Pj4xNixhZT1PJjY1NTM1LGllPU8+Pj4xNixPPWRbMV0saj12WzFdLHJlKz1qJjY1NTM1LG5lKz1qPj4+MTYsYWUrPU8mNjU1MzUsaWUrPU8+Pj4xNixuZSs9cmU+Pj4xNixhZSs9bmU+Pj4xNixpZSs9YWU+Pj4xNixkWzFdPVU9YWUmNjU1MzV8aWU8PDE2LHZbMV09Zj1yZSY2NTUzNXxuZTw8MTYsTz1ILGo9eCxyZT1qJjY1NTM1LG5lPWo+Pj4xNixhZT1PJjY1NTM1LGllPU8+Pj4xNixPPWRbMl0saj12WzJdLHJlKz1qJjY1NTM1LG5lKz1qPj4+MTYsYWUrPU8mNjU1MzUsaWUrPU8+Pj4xNixuZSs9cmU+Pj4xNixhZSs9bmU+Pj4xNixpZSs9YWU+Pj4xNixkWzJdPUg9YWUmNjU1MzV8aWU8PDE2LHZbMl09eD1yZSY2NTUzNXxuZTw8MTYsTz1HLGo9SixyZT1qJjY1NTM1LG5lPWo+Pj4xNixhZT1PJjY1NTM1LGllPU8+Pj4xNixPPWRbM10saj12WzNdLHJlKz1qJjY1NTM1LG5lKz1qPj4+MTYsYWUrPU8mNjU1MzUsaWUrPU8+Pj4xNixuZSs9cmU+Pj4xNixhZSs9bmU+Pj4xNixpZSs9YWU+Pj4xNixkWzNdPUc9YWUmNjU1MzV8aWU8PDE2LHZbM109Sj1yZSY2NTUzNXxuZTw8MTYsTz1OLGo9eixyZT1qJjY1NTM1LG5lPWo+Pj4xNixhZT1PJjY1NTM1LGllPU8+Pj4xNixPPWRbNF0saj12WzRdLHJlKz1qJjY1NTM1LG5lKz1qPj4+MTYsYWUrPU8mNjU1MzUsaWUrPU8+Pj4xNixuZSs9cmU+Pj4xNixhZSs9bmU+Pj4xNixpZSs9YWU+Pj4xNixkWzRdPU49YWUmNjU1MzV8aWU8PDE2LHZbNF09ej1yZSY2NTUzNXxuZTw8MTYsTz1MLGo9ZWUscmU9aiY2NTUzNSxuZT1qPj4+MTYsYWU9TyY2NTUzNSxpZT1PPj4+MTYsTz1kWzVdLGo9dls1XSxyZSs9aiY2NTUzNSxuZSs9aj4+PjE2LGFlKz1PJjY1NTM1LGllKz1PPj4+MTYsbmUrPXJlPj4+MTYsYWUrPW5lPj4+MTYsaWUrPWFlPj4+MTYsZFs1XT1MPWFlJjY1NTM1fGllPDwxNix2WzVdPWVlPXJlJjY1NTM1fG5lPDwxNixPPSQsaj1kZSxyZT1qJjY1NTM1LG5lPWo+Pj4xNixhZT1PJjY1NTM1LGllPU8+Pj4xNixPPWRbNl0saj12WzZdLHJlKz1qJjY1NTM1LG5lKz1qPj4+MTYsYWUrPU8mNjU1MzUsaWUrPU8+Pj4xNixuZSs9cmU+Pj4xNixhZSs9bmU+Pj4xNixpZSs9YWU+Pj4xNixkWzZdPSQ9YWUmNjU1MzV8aWU8PDE2LHZbNl09ZGU9cmUmNjU1MzV8bmU8PDE2LE89VCxqPW1lLHJlPWomNjU1MzUsbmU9aj4+PjE2LGFlPU8mNjU1MzUsaWU9Tz4+PjE2LE89ZFs3XSxqPXZbN10scmUrPWomNjU1MzUsbmUrPWo+Pj4xNixhZSs9TyY2NTUzNSxpZSs9Tz4+PjE2LG5lKz1yZT4+PjE2LGFlKz1uZT4+PjE2LGllKz1hZT4+PjE2LGRbN109VD1hZSY2NTUzNXxpZTw8MTYsdls3XT1tZT1yZSY2NTUzNXxuZTw8MTYsXys9MTI4LEEtPTEyOH1yZXR1cm4gX31mdW5jdGlvbiBjKGwpe3ZhciBoPW5ldyBuO2gudXBkYXRlKGwpO3ZhciBkPWguZGlnZXN0KCk7cmV0dXJuIGguY2xlYW4oKSxkfXQuaGFzaD1jfSkoaHApLGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmNvbnZlcnRTZWNyZXRLZXlUb1gyNTUxOT10LmNvbnZlcnRQdWJsaWNLZXlUb1gyNTUxOT10LnZlcmlmeT10LnNpZ249dC5leHRyYWN0UHVibGljS2V5RnJvbVNlY3JldEtleT10LmdlbmVyYXRlS2V5UGFpcj10LmdlbmVyYXRlS2V5UGFpckZyb21TZWVkPXQuU0VFRF9MRU5HVEg9dC5TRUNSRVRfS0VZX0xFTkdUSD10LlBVQkxJQ19LRVlfTEVOR1RIPXQuU0lHTkFUVVJFX0xFTkdUSD12b2lkIDA7Y29uc3QgZT1DcyxyPWhwLG49WXI7dC5TSUdOQVRVUkVfTEVOR1RIPTY0LHQuUFVCTElDX0tFWV9MRU5HVEg9MzIsdC5TRUNSRVRfS0VZX0xFTkdUSD02NCx0LlNFRURfTEVOR1RIPTMyO2Z1bmN0aW9uIGkoWCl7Y29uc3QgWT1uZXcgRmxvYXQ2NEFycmF5KDE2KTtpZihYKWZvcihsZXQgVz0wO1c8WC5sZW5ndGg7VysrKVlbV109WFtXXTtyZXR1cm4gWX1jb25zdCBvPW5ldyBVaW50OEFycmF5KDMyKTtvWzBdPTk7Y29uc3QgYz1pKCksbD1pKFsxXSksaD1pKFszMDg4Myw0OTUzLDE5OTE0LDMwMTg3LDU1NDY3LDE2NzA1LDI2MzcsMTEyLDU5NTQ0LDMwNTg1LDE2NTA1LDM2MDM5LDY1MTM5LDExMTE5LDI3ODg2LDIwOTk1XSksZD1pKFs2MTc4NSw5OTA2LDM5ODI4LDYwMzc0LDQ1Mzk4LDMzNDExLDUyNzQsMjI0LDUzNTUyLDYxMTcxLDMzMDEwLDY1NDIsNjQ3NDMsMjIyMzksNTU3NzIsOTIyMl0pLHY9aShbNTQ1NTQsMzY2NDUsMTE2MTYsNTE1NDIsNDI5MzAsMzgxODEsNTEwNDAsMjY5MjQsNTY0MTIsNjQ5ODIsNTc5MDUsNDkzMTYsMjE1MDIsNTI1OTAsMTQwMzUsODU1M10pLEU9aShbMjYyMDAsMjYyMTQsMjYyMTQsMjYyMTQsMjYyMTQsMjYyMTQsMjYyMTQsMjYyMTQsMjYyMTQsMjYyMTQsMjYyMTQsMjYyMTQsMjYyMTQsMjYyMTQsMjYyMTQsMjYyMTRdKSxfPWkoWzQxMTM2LDE4OTU4LDY5NTEsNTA0MTQsNTg0ODgsNDQzMzUsNjE1MCwxMjA5OSw1NTIwNywxNTg2NywxNTMsMTEwODUsNTcwOTksMjA0MTcsOTM0NCwxMTEzOV0pO2Z1bmN0aW9uIEEoWCxZKXtmb3IobGV0IFc9MDtXPDE2O1crKylYW1ddPVlbV118MH1mdW5jdGlvbiBQKFgpe2xldCBZPTE7Zm9yKGxldCBXPTA7VzwxNjtXKyspe2xldCB3PVhbV10rWSs2NTUzNTtZPU1hdGguZmxvb3Iody82NTUzNiksWFtXXT13LVkqNjU1MzZ9WFswXSs9WS0xKzM3KihZLTEpfWZ1bmN0aW9uIFUoWCxZLFcpe2NvbnN0IHc9fihXLTEpO2ZvcihsZXQgRj0wO0Y8MTY7RisrKXtjb25zdCB3ZT13JihYW0ZdXllbRl0pO1hbRl1ePXdlLFlbRl1ePXdlfX1mdW5jdGlvbiBIKFgsWSl7Y29uc3QgVz1pKCksdz1pKCk7Zm9yKGxldCBGPTA7RjwxNjtGKyspd1tGXT1ZW0ZdO1AodyksUCh3KSxQKHcpO2ZvcihsZXQgRj0wO0Y8MjtGKyspe1dbMF09d1swXS02NTUxNztmb3IobGV0IHZlPTE7dmU8MTU7dmUrKylXW3ZlXT13W3ZlXS02NTUzNS0oV1t2ZS0xXT4+MTYmMSksV1t2ZS0xXSY9NjU1MzU7V1sxNV09d1sxNV0tMzI3NjctKFdbMTRdPj4xNiYxKTtjb25zdCB3ZT1XWzE1XT4+MTYmMTtXWzE0XSY9NjU1MzUsVSh3LFcsMS13ZSl9Zm9yKGxldCBGPTA7RjwxNjtGKyspWFsyKkZdPXdbRl0mMjU1LFhbMipGKzFdPXdbRl0+Pjh9ZnVuY3Rpb24gRyhYLFkpe2xldCBXPTA7Zm9yKGxldCB3PTA7dzwzMjt3KyspV3w9WFt3XV5ZW3ddO3JldHVybigxJlctMT4+PjgpLTF9ZnVuY3Rpb24gTihYLFkpe2NvbnN0IFc9bmV3IFVpbnQ4QXJyYXkoMzIpLHc9bmV3IFVpbnQ4QXJyYXkoMzIpO3JldHVybiBIKFcsWCksSCh3LFkpLEcoVyx3KX1mdW5jdGlvbiBMKFgpe2NvbnN0IFk9bmV3IFVpbnQ4QXJyYXkoMzIpO3JldHVybiBIKFksWCksWVswXSYxfWZ1bmN0aW9uICQoWCxZKXtmb3IobGV0IFc9MDtXPDE2O1crKylYW1ddPVlbMipXXSsoWVsyKlcrMV08PDgpO1hbMTVdJj0zMjc2N31mdW5jdGlvbiBUKFgsWSxXKXtmb3IobGV0IHc9MDt3PDE2O3crKylYW3ddPVlbd10rV1t3XX1mdW5jdGlvbiBJKFgsWSxXKXtmb3IobGV0IHc9MDt3PDE2O3crKylYW3ddPVlbd10tV1t3XX1mdW5jdGlvbiBmKFgsWSxXKXtsZXQgdyxGLHdlPTAsdmU9MCxNZT0wLG50PTAsYXQ9MCxHZT0wLER0PTAsJHQ9MCxKZT0wLEhlPTAsQmU9MCxLZT0wLHJ0PTAsVWU9MCxaZT0wLGI9MCxwPTAsbT0wLEQ9MCxCPTAsSz0wLFE9MCxFZT0wLFRlPTAsc3Q9MCxodD0wLGx0PTAsVXI9MCxKbj0wLElpPTAsbHM9MCxIdD1XWzBdLEx0PVdbMV0senQ9V1syXSxXdD1XWzNdLEZ0PVdbNF0sTXQ9V1s1XSxpcj1XWzZdLHNyPVdbN10scXQ9V1s4XSxvcj1XWzldLFZ0PVdbMTBdLEp0PVdbMTFdLEt0PVdbMTJdLFB0PVdbMTNdLGFyPVdbMTRdLGNyPVdbMTVdO3c9WVswXSx3ZSs9dypIdCx2ZSs9dypMdCxNZSs9dyp6dCxudCs9dypXdCxhdCs9dypGdCxHZSs9dypNdCxEdCs9dyppciwkdCs9dypzcixKZSs9dypxdCxIZSs9dypvcixCZSs9dypWdCxLZSs9dypKdCxydCs9dypLdCxVZSs9dypQdCxaZSs9dyphcixiKz13KmNyLHc9WVsxXSx2ZSs9dypIdCxNZSs9dypMdCxudCs9dyp6dCxhdCs9dypXdCxHZSs9dypGdCxEdCs9dypNdCwkdCs9dyppcixKZSs9dypzcixIZSs9dypxdCxCZSs9dypvcixLZSs9dypWdCxydCs9dypKdCxVZSs9dypLdCxaZSs9dypQdCxiKz13KmFyLHArPXcqY3Isdz1ZWzJdLE1lKz13Kkh0LG50Kz13Kkx0LGF0Kz13Knp0LEdlKz13Kld0LER0Kz13KkZ0LCR0Kz13Kk10LEplKz13KmlyLEhlKz13KnNyLEJlKz13KnF0LEtlKz13Km9yLHJ0Kz13KlZ0LFVlKz13Kkp0LFplKz13Kkt0LGIrPXcqUHQscCs9dyphcixtKz13KmNyLHc9WVszXSxudCs9dypIdCxhdCs9dypMdCxHZSs9dyp6dCxEdCs9dypXdCwkdCs9dypGdCxKZSs9dypNdCxIZSs9dyppcixCZSs9dypzcixLZSs9dypxdCxydCs9dypvcixVZSs9dypWdCxaZSs9dypKdCxiKz13Kkt0LHArPXcqUHQsbSs9dyphcixEKz13KmNyLHc9WVs0XSxhdCs9dypIdCxHZSs9dypMdCxEdCs9dyp6dCwkdCs9dypXdCxKZSs9dypGdCxIZSs9dypNdCxCZSs9dyppcixLZSs9dypzcixydCs9dypxdCxVZSs9dypvcixaZSs9dypWdCxiKz13Kkp0LHArPXcqS3QsbSs9dypQdCxEKz13KmFyLEIrPXcqY3Isdz1ZWzVdLEdlKz13Kkh0LER0Kz13Kkx0LCR0Kz13Knp0LEplKz13Kld0LEhlKz13KkZ0LEJlKz13Kk10LEtlKz13KmlyLHJ0Kz13KnNyLFVlKz13KnF0LFplKz13Km9yLGIrPXcqVnQscCs9dypKdCxtKz13Kkt0LEQrPXcqUHQsQis9dyphcixLKz13KmNyLHc9WVs2XSxEdCs9dypIdCwkdCs9dypMdCxKZSs9dyp6dCxIZSs9dypXdCxCZSs9dypGdCxLZSs9dypNdCxydCs9dyppcixVZSs9dypzcixaZSs9dypxdCxiKz13Km9yLHArPXcqVnQsbSs9dypKdCxEKz13Kkt0LEIrPXcqUHQsSys9dyphcixRKz13KmNyLHc9WVs3XSwkdCs9dypIdCxKZSs9dypMdCxIZSs9dyp6dCxCZSs9dypXdCxLZSs9dypGdCxydCs9dypNdCxVZSs9dyppcixaZSs9dypzcixiKz13KnF0LHArPXcqb3IsbSs9dypWdCxEKz13Kkp0LEIrPXcqS3QsSys9dypQdCxRKz13KmFyLEVlKz13KmNyLHc9WVs4XSxKZSs9dypIdCxIZSs9dypMdCxCZSs9dyp6dCxLZSs9dypXdCxydCs9dypGdCxVZSs9dypNdCxaZSs9dyppcixiKz13KnNyLHArPXcqcXQsbSs9dypvcixEKz13KlZ0LEIrPXcqSnQsSys9dypLdCxRKz13KlB0LEVlKz13KmFyLFRlKz13KmNyLHc9WVs5XSxIZSs9dypIdCxCZSs9dypMdCxLZSs9dyp6dCxydCs9dypXdCxVZSs9dypGdCxaZSs9dypNdCxiKz13KmlyLHArPXcqc3IsbSs9dypxdCxEKz13Km9yLEIrPXcqVnQsSys9dypKdCxRKz13Kkt0LEVlKz13KlB0LFRlKz13KmFyLHN0Kz13KmNyLHc9WVsxMF0sQmUrPXcqSHQsS2UrPXcqTHQscnQrPXcqenQsVWUrPXcqV3QsWmUrPXcqRnQsYis9dypNdCxwKz13KmlyLG0rPXcqc3IsRCs9dypxdCxCKz13Km9yLEsrPXcqVnQsUSs9dypKdCxFZSs9dypLdCxUZSs9dypQdCxzdCs9dyphcixodCs9dypjcix3PVlbMTFdLEtlKz13Kkh0LHJ0Kz13Kkx0LFVlKz13Knp0LFplKz13Kld0LGIrPXcqRnQscCs9dypNdCxtKz13KmlyLEQrPXcqc3IsQis9dypxdCxLKz13Km9yLFErPXcqVnQsRWUrPXcqSnQsVGUrPXcqS3Qsc3QrPXcqUHQsaHQrPXcqYXIsbHQrPXcqY3Isdz1ZWzEyXSxydCs9dypIdCxVZSs9dypMdCxaZSs9dyp6dCxiKz13Kld0LHArPXcqRnQsbSs9dypNdCxEKz13KmlyLEIrPXcqc3IsSys9dypxdCxRKz13Km9yLEVlKz13KlZ0LFRlKz13Kkp0LHN0Kz13Kkt0LGh0Kz13KlB0LGx0Kz13KmFyLFVyKz13KmNyLHc9WVsxM10sVWUrPXcqSHQsWmUrPXcqTHQsYis9dyp6dCxwKz13Kld0LG0rPXcqRnQsRCs9dypNdCxCKz13KmlyLEsrPXcqc3IsUSs9dypxdCxFZSs9dypvcixUZSs9dypWdCxzdCs9dypKdCxodCs9dypLdCxsdCs9dypQdCxVcis9dyphcixKbis9dypjcix3PVlbMTRdLFplKz13Kkh0LGIrPXcqTHQscCs9dyp6dCxtKz13Kld0LEQrPXcqRnQsQis9dypNdCxLKz13KmlyLFErPXcqc3IsRWUrPXcqcXQsVGUrPXcqb3Isc3QrPXcqVnQsaHQrPXcqSnQsbHQrPXcqS3QsVXIrPXcqUHQsSm4rPXcqYXIsSWkrPXcqY3Isdz1ZWzE1XSxiKz13Kkh0LHArPXcqTHQsbSs9dyp6dCxEKz13Kld0LEIrPXcqRnQsSys9dypNdCxRKz13KmlyLEVlKz13KnNyLFRlKz13KnF0LHN0Kz13Km9yLGh0Kz13KlZ0LGx0Kz13Kkp0LFVyKz13Kkt0LEpuKz13KlB0LElpKz13KmFyLGxzKz13KmNyLHdlKz0zOCpwLHZlKz0zOCptLE1lKz0zOCpELG50Kz0zOCpCLGF0Kz0zOCpLLEdlKz0zOCpRLER0Kz0zOCpFZSwkdCs9MzgqVGUsSmUrPTM4KnN0LEhlKz0zOCpodCxCZSs9MzgqbHQsS2UrPTM4KlVyLHJ0Kz0zOCpKbixVZSs9MzgqSWksWmUrPTM4KmxzLEY9MSx3PXdlK0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLHdlPXctRio2NTUzNix3PXZlK0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLHZlPXctRio2NTUzNix3PU1lK0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLE1lPXctRio2NTUzNix3PW50K0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLG50PXctRio2NTUzNix3PWF0K0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLGF0PXctRio2NTUzNix3PUdlK0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLEdlPXctRio2NTUzNix3PUR0K0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLER0PXctRio2NTUzNix3PSR0K0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLCR0PXctRio2NTUzNix3PUplK0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLEplPXctRio2NTUzNix3PUhlK0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLEhlPXctRio2NTUzNix3PUJlK0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLEJlPXctRio2NTUzNix3PUtlK0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLEtlPXctRio2NTUzNix3PXJ0K0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLHJ0PXctRio2NTUzNix3PVVlK0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLFVlPXctRio2NTUzNix3PVplK0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLFplPXctRio2NTUzNix3PWIrRis2NTUzNSxGPU1hdGguZmxvb3Iody82NTUzNiksYj13LUYqNjU1MzYsd2UrPUYtMSszNyooRi0xKSxGPTEsdz13ZStGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSx3ZT13LUYqNjU1MzYsdz12ZStGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSx2ZT13LUYqNjU1MzYsdz1NZStGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSxNZT13LUYqNjU1MzYsdz1udCtGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSxudD13LUYqNjU1MzYsdz1hdCtGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSxhdD13LUYqNjU1MzYsdz1HZStGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSxHZT13LUYqNjU1MzYsdz1EdCtGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSxEdD13LUYqNjU1MzYsdz0kdCtGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSwkdD13LUYqNjU1MzYsdz1KZStGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSxKZT13LUYqNjU1MzYsdz1IZStGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSxIZT13LUYqNjU1MzYsdz1CZStGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSxCZT13LUYqNjU1MzYsdz1LZStGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSxLZT13LUYqNjU1MzYsdz1ydCtGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSxydD13LUYqNjU1MzYsdz1VZStGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSxVZT13LUYqNjU1MzYsdz1aZStGKzY1NTM1LEY9TWF0aC5mbG9vcih3LzY1NTM2KSxaZT13LUYqNjU1MzYsdz1iK0YrNjU1MzUsRj1NYXRoLmZsb29yKHcvNjU1MzYpLGI9dy1GKjY1NTM2LHdlKz1GLTErMzcqKEYtMSksWFswXT13ZSxYWzFdPXZlLFhbMl09TWUsWFszXT1udCxYWzRdPWF0LFhbNV09R2UsWFs2XT1EdCxYWzddPSR0LFhbOF09SmUsWFs5XT1IZSxYWzEwXT1CZSxYWzExXT1LZSxYWzEyXT1ydCxYWzEzXT1VZSxYWzE0XT1aZSxYWzE1XT1ifWZ1bmN0aW9uIHgoWCxZKXtmKFgsWSxZKX1mdW5jdGlvbiBKKFgsWSl7Y29uc3QgVz1pKCk7bGV0IHc7Zm9yKHc9MDt3PDE2O3crKylXW3ddPVlbd107Zm9yKHc9MjUzO3c+PTA7dy0tKXgoVyxXKSx3IT09MiYmdyE9PTQmJmYoVyxXLFkpO2Zvcih3PTA7dzwxNjt3KyspWFt3XT1XW3ddfWZ1bmN0aW9uIHooWCxZKXtjb25zdCBXPWkoKTtsZXQgdztmb3Iodz0wO3c8MTY7dysrKVdbd109WVt3XTtmb3Iodz0yNTA7dz49MDt3LS0peChXLFcpLHchPT0xJiZmKFcsVyxZKTtmb3Iodz0wO3c8MTY7dysrKVhbd109V1t3XX1mdW5jdGlvbiBlZShYLFkpe2NvbnN0IFc9aSgpLHc9aSgpLEY9aSgpLHdlPWkoKSx2ZT1pKCksTWU9aSgpLG50PWkoKSxhdD1pKCksR2U9aSgpO0koVyxYWzFdLFhbMF0pLEkoR2UsWVsxXSxZWzBdKSxmKFcsVyxHZSksVCh3LFhbMF0sWFsxXSksVChHZSxZWzBdLFlbMV0pLGYodyx3LEdlKSxmKEYsWFszXSxZWzNdKSxmKEYsRixkKSxmKHdlLFhbMl0sWVsyXSksVCh3ZSx3ZSx3ZSksSSh2ZSx3LFcpLEkoTWUsd2UsRiksVChudCx3ZSxGKSxUKGF0LHcsVyksZihYWzBdLHZlLE1lKSxmKFhbMV0sYXQsbnQpLGYoWFsyXSxudCxNZSksZihYWzNdLHZlLGF0KX1mdW5jdGlvbiBkZShYLFksVyl7Zm9yKGxldCB3PTA7dzw0O3crKylVKFhbd10sWVt3XSxXKX1mdW5jdGlvbiBtZShYLFkpe2NvbnN0IFc9aSgpLHc9aSgpLEY9aSgpO0ooRixZWzJdKSxmKFcsWVswXSxGKSxmKHcsWVsxXSxGKSxIKFgsdyksWFszMV1ePUwoVyk8PDd9ZnVuY3Rpb24gTyhYLFksVyl7QShYWzBdLGMpLEEoWFsxXSxsKSxBKFhbMl0sbCksQShYWzNdLGMpO2ZvcihsZXQgdz0yNTU7dz49MDstLXcpe2NvbnN0IEY9V1t3Lzh8MF0+Pih3JjcpJjE7ZGUoWCxZLEYpLGVlKFksWCksZWUoWCxYKSxkZShYLFksRil9fWZ1bmN0aW9uIGooWCxZKXtjb25zdCBXPVtpKCksaSgpLGkoKSxpKCldO0EoV1swXSx2KSxBKFdbMV0sRSksQShXWzJdLGwpLGYoV1szXSx2LEUpLE8oWCxXLFkpfWZ1bmN0aW9uIGNlKFgpe2lmKFgubGVuZ3RoIT09dC5TRUVEX0xFTkdUSCl0aHJvdyBuZXcgRXJyb3IoYGVkMjU1MTk6IHNlZWQgbXVzdCBiZSAke3QuU0VFRF9MRU5HVEh9IGJ5dGVzYCk7Y29uc3QgWT0oMCxyLmhhc2gpKFgpO1lbMF0mPTI0OCxZWzMxXSY9MTI3LFlbMzFdfD02NDtjb25zdCBXPW5ldyBVaW50OEFycmF5KDMyKSx3PVtpKCksaSgpLGkoKSxpKCldO2oodyxZKSxtZShXLHcpO2NvbnN0IEY9bmV3IFVpbnQ4QXJyYXkoNjQpO3JldHVybiBGLnNldChYKSxGLnNldChXLDMyKSx7cHVibGljS2V5Olcsc2VjcmV0S2V5OkZ9fXQuZ2VuZXJhdGVLZXlQYWlyRnJvbVNlZWQ9Y2U7ZnVuY3Rpb24gbGUoWCl7Y29uc3QgWT0oMCxlLnJhbmRvbUJ5dGVzKSgzMixYKSxXPWNlKFkpO3JldHVybigwLG4ud2lwZSkoWSksV310LmdlbmVyYXRlS2V5UGFpcj1sZTtmdW5jdGlvbiByZShYKXtpZihYLmxlbmd0aCE9PXQuU0VDUkVUX0tFWV9MRU5HVEgpdGhyb3cgbmV3IEVycm9yKGBlZDI1NTE5OiBzZWNyZXQga2V5IG11c3QgYmUgJHt0LlNFQ1JFVF9LRVlfTEVOR1RIfSBieXRlc2ApO3JldHVybiBuZXcgVWludDhBcnJheShYLnN1YmFycmF5KDMyKSl9dC5leHRyYWN0UHVibGljS2V5RnJvbVNlY3JldEtleT1yZTtjb25zdCBuZT1uZXcgRmxvYXQ2NEFycmF5KFsyMzcsMjExLDI0NSw5MiwyNiw5OSwxOCw4OCwyMTQsMTU2LDI0NywxNjIsMjIyLDI0OSwyMjIsMjAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTZdKTtmdW5jdGlvbiBhZShYLFkpe2xldCBXLHcsRix3ZTtmb3Iodz02Mzt3Pj0zMjstLXcpe2ZvcihXPTAsRj13LTMyLHdlPXctMTI7Rjx3ZTsrK0YpWVtGXSs9Vy0xNipZW3ddKm5lW0YtKHctMzIpXSxXPU1hdGguZmxvb3IoKFlbRl0rMTI4KS8yNTYpLFlbRl0tPVcqMjU2O1lbRl0rPVcsWVt3XT0wfWZvcihXPTAsRj0wO0Y8MzI7RisrKVlbRl0rPVctKFlbMzFdPj40KSpuZVtGXSxXPVlbRl0+PjgsWVtGXSY9MjU1O2ZvcihGPTA7RjwzMjtGKyspWVtGXS09VypuZVtGXTtmb3Iodz0wO3c8MzI7dysrKVlbdysxXSs9WVt3XT4+OCxYW3ddPVlbd10mMjU1fWZ1bmN0aW9uIGllKFgpe2NvbnN0IFk9bmV3IEZsb2F0NjRBcnJheSg2NCk7Zm9yKGxldCBXPTA7Vzw2NDtXKyspWVtXXT1YW1ddO2ZvcihsZXQgVz0wO1c8NjQ7VysrKVhbV109MDthZShYLFkpfWZ1bmN0aW9uIFNlKFgsWSl7Y29uc3QgVz1uZXcgRmxvYXQ2NEFycmF5KDY0KSx3PVtpKCksaSgpLGkoKSxpKCldLEY9KDAsci5oYXNoKShYLnN1YmFycmF5KDAsMzIpKTtGWzBdJj0yNDgsRlszMV0mPTEyNyxGWzMxXXw9NjQ7Y29uc3Qgd2U9bmV3IFVpbnQ4QXJyYXkoNjQpO3dlLnNldChGLnN1YmFycmF5KDMyKSwzMik7Y29uc3QgdmU9bmV3IHIuU0hBNTEyO3ZlLnVwZGF0ZSh3ZS5zdWJhcnJheSgzMikpLHZlLnVwZGF0ZShZKTtjb25zdCBNZT12ZS5kaWdlc3QoKTt2ZS5jbGVhbigpLGllKE1lKSxqKHcsTWUpLG1lKHdlLHcpLHZlLnJlc2V0KCksdmUudXBkYXRlKHdlLnN1YmFycmF5KDAsMzIpKSx2ZS51cGRhdGUoWC5zdWJhcnJheSgzMikpLHZlLnVwZGF0ZShZKTtjb25zdCBudD12ZS5kaWdlc3QoKTtpZShudCk7Zm9yKGxldCBhdD0wO2F0PDMyO2F0KyspV1thdF09TWVbYXRdO2ZvcihsZXQgYXQ9MDthdDwzMjthdCsrKWZvcihsZXQgR2U9MDtHZTwzMjtHZSsrKVdbYXQrR2VdKz1udFthdF0qRltHZV07cmV0dXJuIGFlKHdlLnN1YmFycmF5KDMyKSxXKSx3ZX10LnNpZ249U2U7ZnVuY3Rpb24gZ2UoWCxZKXtjb25zdCBXPWkoKSx3PWkoKSxGPWkoKSx3ZT1pKCksdmU9aSgpLE1lPWkoKSxudD1pKCk7cmV0dXJuIEEoWFsyXSxsKSwkKFhbMV0sWSkseChGLFhbMV0pLGYod2UsRixoKSxJKEYsRixYWzJdKSxUKHdlLFhbMl0sd2UpLHgodmUsd2UpLHgoTWUsdmUpLGYobnQsTWUsdmUpLGYoVyxudCxGKSxmKFcsVyx3ZSkseihXLFcpLGYoVyxXLEYpLGYoVyxXLHdlKSxmKFcsVyx3ZSksZihYWzBdLFcsd2UpLHgodyxYWzBdKSxmKHcsdyx3ZSksTih3LEYpJiZmKFhbMF0sWFswXSxfKSx4KHcsWFswXSksZih3LHcsd2UpLE4odyxGKT8tMTooTChYWzBdKT09PVlbMzFdPj43JiZJKFhbMF0sYyxYWzBdKSxmKFhbM10sWFswXSxYWzFdKSwwKX1mdW5jdGlvbiBGZShYLFksVyl7Y29uc3Qgdz1uZXcgVWludDhBcnJheSgzMiksRj1baSgpLGkoKSxpKCksaSgpXSx3ZT1baSgpLGkoKSxpKCksaSgpXTtpZihXLmxlbmd0aCE9PXQuU0lHTkFUVVJFX0xFTkdUSCl0aHJvdyBuZXcgRXJyb3IoYGVkMjU1MTk6IHNpZ25hdHVyZSBtdXN0IGJlICR7dC5TSUdOQVRVUkVfTEVOR1RIfSBieXRlc2ApO2lmKGdlKHdlLFgpKXJldHVybiExO2NvbnN0IHZlPW5ldyByLlNIQTUxMjt2ZS51cGRhdGUoVy5zdWJhcnJheSgwLDMyKSksdmUudXBkYXRlKFgpLHZlLnVwZGF0ZShZKTtjb25zdCBNZT12ZS5kaWdlc3QoKTtyZXR1cm4gaWUoTWUpLE8oRix3ZSxNZSksaih3ZSxXLnN1YmFycmF5KDMyKSksZWUoRix3ZSksbWUodyxGKSwhRyhXLHcpfXQudmVyaWZ5PUZlO2Z1bmN0aW9uIHllKFgpe2xldCBZPVtpKCksaSgpLGkoKSxpKCldO2lmKGdlKFksWCkpdGhyb3cgbmV3IEVycm9yKCJFZDI1NTE5OiBpbnZhbGlkIHB1YmxpYyBrZXkiKTtsZXQgVz1pKCksdz1pKCksRj1ZWzFdO1QoVyxsLEYpLEkodyxsLEYpLEoodyx3KSxmKFcsVyx3KTtsZXQgd2U9bmV3IFVpbnQ4QXJyYXkoMzIpO3JldHVybiBIKHdlLFcpLHdlfXQuY29udmVydFB1YmxpY0tleVRvWDI1NTE5PXllO2Z1bmN0aW9uIExlKFgpe2NvbnN0IFk9KDAsci5oYXNoKShYLnN1YmFycmF5KDAsMzIpKTtZWzBdJj0yNDgsWVszMV0mPTEyNyxZWzMxXXw9NjQ7Y29uc3QgVz1uZXcgVWludDhBcnJheShZLnN1YmFycmF5KDAsMzIpKTtyZXR1cm4oMCxuLndpcGUpKFkpLFd9dC5jb252ZXJ0U2VjcmV0S2V5VG9YMjU1MTk9TGV9KEd1KTtjb25zdCBBND0iRWREU0EiLFM0PSJKV1QiLGZwPSIuIixkcD0iYmFzZTY0dXJsIixEND0idXRmOCIsJDQ9InV0ZjgiLFA0PSI6IixUND0iZGlkIixSND0ia2V5IixwcD0iYmFzZTU4YnRjIixOND0ieiIsTDQ9IkszNiIsTTQ9MzI7ZnVuY3Rpb24gZWModCl7cmV0dXJuIERyKEhyKFVvKHQpLEQ0KSxkcCl9ZnVuY3Rpb24gZ3AodCl7Y29uc3QgZT1IcihMNCxwcCkscj1ONCtEcihjdShbZSx0XSkscHApO3JldHVybltUNCxSNCxyXS5qb2luKFA0KX1mdW5jdGlvbiBVNCh0KXtyZXR1cm4gRHIodCxkcCl9ZnVuY3Rpb24gajQodCl7cmV0dXJuIEhyKFtlYyh0LmhlYWRlciksZWModC5wYXlsb2FkKV0uam9pbihmcCksJDQpfWZ1bmN0aW9uIEY0KHQpe3JldHVybltlYyh0LmhlYWRlciksZWModC5wYXlsb2FkKSxVNCh0LnNpZ25hdHVyZSldLmpvaW4oZnApfWZ1bmN0aW9uIG1wKHQ9Q3MucmFuZG9tQnl0ZXMoTTQpKXtyZXR1cm4gR3UuZ2VuZXJhdGVLZXlQYWlyRnJvbVNlZWQodCl9YXN5bmMgZnVuY3Rpb24gQjQodCxlLHIsbixpPWtlLmZyb21NaWxpc2Vjb25kcyhEYXRlLm5vdygpKSl7Y29uc3Qgbz17YWxnOkE0LHR5cDpTNH0sYz1ncChuLnB1YmxpY0tleSksbD1pK3IsaD17aXNzOmMsc3ViOnQsYXVkOmUsaWF0OmksZXhwOmx9LGQ9ajQoe2hlYWRlcjpvLHBheWxvYWQ6aH0pLHY9R3Uuc2lnbihuLnNlY3JldEtleSxkKTtyZXR1cm4gRjQoe2hlYWRlcjpvLHBheWxvYWQ6aCxzaWduYXR1cmU6dn0pfWNvbnN0IGs0PSJQQVJTRV9FUlJPUiIsSDQ9IklOVkFMSURfUkVRVUVTVCIsejQ9Ik1FVEhPRF9OT1RfRk9VTkQiLFc0PSJJTlZBTElEX1BBUkFNUyIsd3A9IklOVEVSTkFMX0VSUk9SIixadT0iU0VSVkVSX0VSUk9SIixxND1bLTMyNzAwLC0zMjYwMCwtMzI2MDEsLTMyNjAyLC0zMjYwM10sam89e1trNF06e2NvZGU6LTMyNzAwLG1lc3NhZ2U6IlBhcnNlIGVycm9yIn0sW0g0XTp7Y29kZTotMzI2MDAsbWVzc2FnZToiSW52YWxpZCBSZXF1ZXN0In0sW3o0XTp7Y29kZTotMzI2MDEsbWVzc2FnZToiTWV0aG9kIG5vdCBmb3VuZCJ9LFtXNF06e2NvZGU6LTMyNjAyLG1lc3NhZ2U6IkludmFsaWQgcGFyYW1zIn0sW3dwXTp7Y29kZTotMzI2MDMsbWVzc2FnZToiSW50ZXJuYWwgZXJyb3IifSxbWnVdOntjb2RlOi0zMmUzLG1lc3NhZ2U6IlNlcnZlciBlcnJvciJ9fSx2cD1adTtmdW5jdGlvbiBWNCh0KXtyZXR1cm4gcTQuaW5jbHVkZXModCl9ZnVuY3Rpb24geXAodCl7cmV0dXJuIE9iamVjdC5rZXlzKGpvKS5pbmNsdWRlcyh0KT9qb1t0XTpqb1t2cF19ZnVuY3Rpb24gSzQodCl7Y29uc3QgZT1PYmplY3QudmFsdWVzKGpvKS5maW5kKHI9PnIuY29kZT09PXQpO3JldHVybiBlfHxqb1t2cF19ZnVuY3Rpb24gYnAodCxlLHIpe3JldHVybiB0Lm1lc3NhZ2UuaW5jbHVkZXMoImdldGFkZHJpbmZvIEVOT1RGT1VORCIpfHx0Lm1lc3NhZ2UuaW5jbHVkZXMoImNvbm5lY3QgRUNPTk5SRUZVU0VEIik/bmV3IEVycm9yKGBVbmF2YWlsYWJsZSAke3J9IFJQQyB1cmwgYXQgJHtlfWApOnR9dmFyIF9wPXt9Oy8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4KUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55CnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC4KVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgKUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZCkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwKSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NCkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SCk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi92YXIgWXU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gWXU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHIsbil7ci5fX3Byb3RvX189bn18fGZ1bmN0aW9uKHIsbil7Zm9yKHZhciBpIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShpKSYmKHJbaV09bltpXSl9LFl1KHQsZSl9O2Z1bmN0aW9uIEc0KHQsZSl7WXUodCxlKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXQucHJvdG90eXBlPWU9PT1udWxsP09iamVjdC5jcmVhdGUoZSk6KHIucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyByKX12YXIgSnU9ZnVuY3Rpb24oKXtyZXR1cm4gSnU9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciByLG49MSxpPWFyZ3VtZW50cy5sZW5ndGg7bjxpO24rKyl7cj1hcmd1bWVudHNbbl07Zm9yKHZhciBvIGluIHIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsbykmJihlW29dPXJbb10pfXJldHVybiBlfSxKdS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2Z1bmN0aW9uIFo0KHQsZSl7dmFyIHI9e307Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJmUuaW5kZXhPZihuKTwwJiYocltuXT10W25dKTtpZih0IT1udWxsJiZ0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz09ImZ1bmN0aW9uIilmb3IodmFyIGk9MCxuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7aTxuLmxlbmd0aDtpKyspZS5pbmRleE9mKG5baV0pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh0LG5baV0pJiYocltuW2ldXT10W25baV1dKTtyZXR1cm4gcn1mdW5jdGlvbiBZNCh0LGUscixuKXt2YXIgaT1hcmd1bWVudHMubGVuZ3RoLG89aTwzP2U6bj09PW51bGw/bj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUscik6bixjO2lmKHR5cGVvZiBSZWZsZWN0PT0ib2JqZWN0IiYmdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGU9PSJmdW5jdGlvbiIpbz1SZWZsZWN0LmRlY29yYXRlKHQsZSxyLG4pO2Vsc2UgZm9yKHZhciBsPXQubGVuZ3RoLTE7bD49MDtsLS0pKGM9dFtsXSkmJihvPShpPDM/YyhvKTppPjM/YyhlLHIsbyk6YyhlLHIpKXx8byk7cmV0dXJuIGk+MyYmbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixvKSxvfWZ1bmN0aW9uIEo0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHIsbil7ZShyLG4sdCl9fWZ1bmN0aW9uIFg0KHQsZSl7aWYodHlwZW9mIFJlZmxlY3Q9PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YT09ImZ1bmN0aW9uIilyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YSh0LGUpfWZ1bmN0aW9uIFE0KHQsZSxyLG4pe2Z1bmN0aW9uIGkobyl7cmV0dXJuIG8gaW5zdGFuY2VvZiByP286bmV3IHIoZnVuY3Rpb24oYyl7YyhvKX0pfXJldHVybiBuZXcocnx8KHI9UHJvbWlzZSkpKGZ1bmN0aW9uKG8sYyl7ZnVuY3Rpb24gbCh2KXt0cnl7ZChuLm5leHQodikpfWNhdGNoKEUpe2MoRSl9fWZ1bmN0aW9uIGgodil7dHJ5e2Qobi50aHJvdyh2KSl9Y2F0Y2goRSl7YyhFKX19ZnVuY3Rpb24gZCh2KXt2LmRvbmU/byh2LnZhbHVlKTppKHYudmFsdWUpLnRoZW4obCxoKX1kKChuPW4uYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KX1mdW5jdGlvbiBlXyh0LGUpe3ZhciByPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZihvWzBdJjEpdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119LG4saSxvLGM7cmV0dXJuIGM9e25leHQ6bCgwKSx0aHJvdzpsKDEpLHJldHVybjpsKDIpfSx0eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiYoY1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxjO2Z1bmN0aW9uIGwoZCl7cmV0dXJuIGZ1bmN0aW9uKHYpe3JldHVybiBoKFtkLHZdKX19ZnVuY3Rpb24gaChkKXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO3I7KXRyeXtpZihuPTEsaSYmKG89ZFswXSYyP2kucmV0dXJuOmRbMF0/aS50aHJvd3x8KChvPWkucmV0dXJuKSYmby5jYWxsKGkpLDApOmkubmV4dCkmJiEobz1vLmNhbGwoaSxkWzFdKSkuZG9uZSlyZXR1cm4gbztzd2l0Y2goaT0wLG8mJihkPVtkWzBdJjIsby52YWx1ZV0pLGRbMF0pe2Nhc2UgMDpjYXNlIDE6bz1kO2JyZWFrO2Nhc2UgNDpyZXR1cm4gci5sYWJlbCsrLHt2YWx1ZTpkWzFdLGRvbmU6ITF9O2Nhc2UgNTpyLmxhYmVsKyssaT1kWzFdLGQ9WzBdO2NvbnRpbnVlO2Nhc2UgNzpkPXIub3BzLnBvcCgpLHIudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKG89ci50cnlzLCEobz1vLmxlbmd0aD4wJiZvW28ubGVuZ3RoLTFdKSYmKGRbMF09PT02fHxkWzBdPT09Mikpe3I9MDtjb250aW51ZX1pZihkWzBdPT09MyYmKCFvfHxkWzFdPm9bMF0mJmRbMV08b1szXSkpe3IubGFiZWw9ZFsxXTticmVha31pZihkWzBdPT09NiYmci5sYWJlbDxvWzFdKXtyLmxhYmVsPW9bMV0sbz1kO2JyZWFrfWlmKG8mJnIubGFiZWw8b1syXSl7ci5sYWJlbD1vWzJdLHIub3BzLnB1c2goZCk7YnJlYWt9b1syXSYmci5vcHMucG9wKCksci50cnlzLnBvcCgpO2NvbnRpbnVlfWQ9ZS5jYWxsKHQscil9Y2F0Y2godil7ZD1bNix2XSxpPTB9ZmluYWxseXtuPW89MH1pZihkWzBdJjUpdGhyb3cgZFsxXTtyZXR1cm57dmFsdWU6ZFswXT9kWzFdOnZvaWQgMCxkb25lOiEwfX19ZnVuY3Rpb24gdF8odCxlLHIsbil7bj09PXZvaWQgMCYmKG49ciksdFtuXT1lW3JdfWZ1bmN0aW9uIHJfKHQsZSl7Zm9yKHZhciByIGluIHQpciE9PSJkZWZhdWx0IiYmIWUuaGFzT3duUHJvcGVydHkocikmJihlW3JdPXRbcl0pfWZ1bmN0aW9uIFh1KHQpe3ZhciBlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5pdGVyYXRvcixyPWUmJnRbZV0sbj0wO2lmKHIpcmV0dXJuIHIuY2FsbCh0KTtpZih0JiZ0eXBlb2YgdC5sZW5ndGg9PSJudW1iZXIiKXJldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHQmJm4+PXQubGVuZ3RoJiYodD12b2lkIDApLHt2YWx1ZTp0JiZ0W24rK10sZG9uZTohdH19fTt0aHJvdyBuZXcgVHlwZUVycm9yKGU/Ik9iamVjdCBpcyBub3QgaXRlcmFibGUuIjoiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpfWZ1bmN0aW9uIEVwKHQsZSl7dmFyIHI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmdFtTeW1ib2wuaXRlcmF0b3JdO2lmKCFyKXJldHVybiB0O3ZhciBuPXIuY2FsbCh0KSxpLG89W10sYzt0cnl7Zm9yKDsoZT09PXZvaWQgMHx8ZS0tPjApJiYhKGk9bi5uZXh0KCkpLmRvbmU7KW8ucHVzaChpLnZhbHVlKX1jYXRjaChsKXtjPXtlcnJvcjpsfX1maW5hbGx5e3RyeXtpJiYhaS5kb25lJiYocj1uLnJldHVybikmJnIuY2FsbChuKX1maW5hbGx5e2lmKGMpdGhyb3cgYy5lcnJvcn19cmV0dXJuIG99ZnVuY3Rpb24gbl8oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdD10LmNvbmNhdChFcChhcmd1bWVudHNbZV0pKTtyZXR1cm4gdH1mdW5jdGlvbiBpXygpe2Zvcih2YXIgdD0wLGU9MCxyPWFyZ3VtZW50cy5sZW5ndGg7ZTxyO2UrKyl0Kz1hcmd1bWVudHNbZV0ubGVuZ3RoO2Zvcih2YXIgbj1BcnJheSh0KSxpPTAsZT0wO2U8cjtlKyspZm9yKHZhciBvPWFyZ3VtZW50c1tlXSxjPTAsbD1vLmxlbmd0aDtjPGw7YysrLGkrKyluW2ldPW9bY107cmV0dXJuIG59ZnVuY3Rpb24gRm8odCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBGbz8odGhpcy52PXQsdGhpcyk6bmV3IEZvKHQpfWZ1bmN0aW9uIHNfKHQsZSxyKXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIG49ci5hcHBseSh0LGV8fFtdKSxpLG89W107cmV0dXJuIGk9e30sYygibmV4dCIpLGMoInRocm93IiksYygicmV0dXJuIiksaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30saTtmdW5jdGlvbiBjKF8pe25bX10mJihpW19dPWZ1bmN0aW9uKEEpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihQLFUpe28ucHVzaChbXyxBLFAsVV0pPjF8fGwoXyxBKX0pfSl9ZnVuY3Rpb24gbChfLEEpe3RyeXtoKG5bX10oQSkpfWNhdGNoKFApe0Uob1swXVszXSxQKX19ZnVuY3Rpb24gaChfKXtfLnZhbHVlIGluc3RhbmNlb2YgRm8/UHJvbWlzZS5yZXNvbHZlKF8udmFsdWUudikudGhlbihkLHYpOkUob1swXVsyXSxfKX1mdW5jdGlvbiBkKF8pe2woIm5leHQiLF8pfWZ1bmN0aW9uIHYoXyl7bCgidGhyb3ciLF8pfWZ1bmN0aW9uIEUoXyxBKXtfKEEpLG8uc2hpZnQoKSxvLmxlbmd0aCYmbChvWzBdWzBdLG9bMF1bMV0pfX1mdW5jdGlvbiBvXyh0KXt2YXIgZSxyO3JldHVybiBlPXt9LG4oIm5leHQiKSxuKCJ0aHJvdyIsZnVuY3Rpb24oaSl7dGhyb3cgaX0pLG4oInJldHVybiIpLGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlO2Z1bmN0aW9uIG4oaSxvKXtlW2ldPXRbaV0/ZnVuY3Rpb24oYyl7cmV0dXJuKHI9IXIpP3t2YWx1ZTpGbyh0W2ldKGMpKSxkb25lOmk9PT0icmV0dXJuIn06bz9vKGMpOmN9Om99fWZ1bmN0aW9uIGFfKHQpe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgZT10W1N5bWJvbC5hc3luY0l0ZXJhdG9yXSxyO3JldHVybiBlP2UuY2FsbCh0KToodD10eXBlb2YgWHU9PSJmdW5jdGlvbiI/WHUodCk6dFtTeW1ib2wuaXRlcmF0b3JdKCkscj17fSxuKCJuZXh0IiksbigidGhyb3ciKSxuKCJyZXR1cm4iKSxyW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxyKTtmdW5jdGlvbiBuKG8pe3Jbb109dFtvXSYmZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGwsaCl7Yz10W29dKGMpLGkobCxoLGMuZG9uZSxjLnZhbHVlKX0pfX1mdW5jdGlvbiBpKG8sYyxsLGgpe1Byb21pc2UucmVzb2x2ZShoKS50aGVuKGZ1bmN0aW9uKGQpe28oe3ZhbHVlOmQsZG9uZTpsfSl9LGMpfX1mdW5jdGlvbiBjXyh0LGUpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHk/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInJhdyIse3ZhbHVlOmV9KTp0LnJhdz1lLHR9ZnVuY3Rpb24gbF8odCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPXt9O2lmKHQhPW51bGwpZm9yKHZhciByIGluIHQpT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKGVbcl09dFtyXSk7cmV0dXJuIGUuZGVmYXVsdD10LGV9ZnVuY3Rpb24gdV8odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIGhfKHQsZSl7aWYoIWUuaGFzKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImF0dGVtcHRlZCB0byBnZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2UiKTtyZXR1cm4gZS5nZXQodCl9ZnVuY3Rpb24gZl8odCxlLHIpe2lmKCFlLmhhcyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJhdHRlbXB0ZWQgdG8gc2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlIik7cmV0dXJuIGUuc2V0KHQscikscn12YXIgZF89T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsX19leHRlbmRzOkc0LGdldCBfX2Fzc2lnbigpe3JldHVybiBKdX0sX19yZXN0Olo0LF9fZGVjb3JhdGU6WTQsX19wYXJhbTpKNCxfX21ldGFkYXRhOlg0LF9fYXdhaXRlcjpRNCxfX2dlbmVyYXRvcjplXyxfX2NyZWF0ZUJpbmRpbmc6dF8sX19leHBvcnRTdGFyOnJfLF9fdmFsdWVzOlh1LF9fcmVhZDpFcCxfX3NwcmVhZDpuXyxfX3NwcmVhZEFycmF5czppXyxfX2F3YWl0OkZvLF9fYXN5bmNHZW5lcmF0b3I6c18sX19hc3luY0RlbGVnYXRvcjpvXyxfX2FzeW5jVmFsdWVzOmFfLF9fbWFrZVRlbXBsYXRlT2JqZWN0OmNfLF9faW1wb3J0U3RhcjpsXyxfX2ltcG9ydERlZmF1bHQ6dV8sX19jbGFzc1ByaXZhdGVGaWVsZEdldDpoXyxfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0OmZffSkscF89TWkoZF8pLFduPXt9LHhwO2Z1bmN0aW9uIGdfKCl7aWYoeHApcmV0dXJuIFduO3hwPTEsT2JqZWN0LmRlZmluZVByb3BlcnR5KFduLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxXbi5pc0Jyb3dzZXJDcnlwdG9BdmFpbGFibGU9V24uZ2V0U3VidGxlQ3J5cHRvPVduLmdldEJyb3dlckNyeXB0bz12b2lkIDA7ZnVuY3Rpb24gdCgpe3JldHVybiBwcj8uY3J5cHRvfHxwcj8ubXNDcnlwdG98fHt9fVduLmdldEJyb3dlckNyeXB0bz10O2Z1bmN0aW9uIGUoKXtjb25zdCBuPXQoKTtyZXR1cm4gbi5zdWJ0bGV8fG4ud2Via2l0U3VidGxlfVduLmdldFN1YnRsZUNyeXB0bz1lO2Z1bmN0aW9uIHIoKXtyZXR1cm4hIXQoKSYmISFlKCl9cmV0dXJuIFduLmlzQnJvd3NlckNyeXB0b0F2YWlsYWJsZT1yLFdufXZhciBxbj17fSxDcDtmdW5jdGlvbiBtXygpe2lmKENwKXJldHVybiBxbjtDcD0xLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShxbiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscW4uaXNCcm93c2VyPXFuLmlzTm9kZT1xbi5pc1JlYWN0TmF0aXZlPXZvaWQgMDtmdW5jdGlvbiB0KCl7cmV0dXJuIHR5cGVvZiBkb2N1bWVudD4idSImJnR5cGVvZiBuYXZpZ2F0b3I8InUiJiZuYXZpZ2F0b3IucHJvZHVjdD09PSJSZWFjdE5hdGl2ZSJ9cW4uaXNSZWFjdE5hdGl2ZT10O2Z1bmN0aW9uIGUoKXtyZXR1cm4gdHlwZW9mIHByb2Nlc3M8InUiJiZ0eXBlb2YgcHJvY2Vzcy52ZXJzaW9uczwidSImJnR5cGVvZiBwcm9jZXNzLnZlcnNpb25zLm5vZGU8InUifXFuLmlzTm9kZT1lO2Z1bmN0aW9uIHIoKXtyZXR1cm4hdCgpJiYhZSgpfXJldHVybiBxbi5pc0Jyb3dzZXI9cixxbn0oZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IGU9cF87ZS5fX2V4cG9ydFN0YXIoZ18oKSx0KSxlLl9fZXhwb3J0U3RhcihtXygpLHQpfSkoX3ApO2Z1bmN0aW9uIElwKHQ9Myl7Y29uc3QgZT1EYXRlLm5vdygpKk1hdGgucG93KDEwLHQpLHI9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKk1hdGgucG93KDEwLHQpKTtyZXR1cm4gZStyfWZ1bmN0aW9uIE9wKHQ9Nil7cmV0dXJuIEJpZ0ludChJcCh0KSl9ZnVuY3Rpb24gdGModCxlLHIpe3JldHVybntpZDpyfHxJcCgpLGpzb25ycGM6IjIuMCIsbWV0aG9kOnQscGFyYW1zOmV9fWZ1bmN0aW9uIFF1KHQsZSl7cmV0dXJue2lkOnQsanNvbnJwYzoiMi4wIixyZXN1bHQ6ZX19ZnVuY3Rpb24gcmModCxlLHIpe3JldHVybntpZDp0LGpzb25ycGM6IjIuMCIsZXJyb3I6d18oZSxyKX19ZnVuY3Rpb24gd18odCxlKXtyZXR1cm4gdHlwZW9mIHQ+InUiP3lwKHdwKToodHlwZW9mIHQ9PSJzdHJpbmciJiYodD1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30seXAoWnUpKSx7bWVzc2FnZTp0fSkpLHR5cGVvZiBlPCJ1IiYmKHQuZGF0YT1lKSxWNCh0LmNvZGUpJiYodD1LNCh0LmNvZGUpKSx0KX1jbGFzcyB2X3t9Y2xhc3MgeV8gZXh0ZW5kcyB2X3tjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9fWNsYXNzIGJfIGV4dGVuZHMgeV97Y29uc3RydWN0b3IoZSl7c3VwZXIoKX19Y29uc3QgX189Il5odHRwcz86IixFXz0iXndzcz86IjtmdW5jdGlvbiB4Xyh0KXtjb25zdCBlPXQubWF0Y2gobmV3IFJlZ0V4cCgvXlx3KzovLCJnaSIpKTtpZighKCFlfHwhZS5sZW5ndGgpKXJldHVybiBlWzBdfWZ1bmN0aW9uIEFwKHQsZSl7Y29uc3Qgcj14Xyh0KTtyZXR1cm4gdHlwZW9mIHI+InUiPyExOm5ldyBSZWdFeHAoZSkudGVzdChyKX1mdW5jdGlvbiBTcCh0KXtyZXR1cm4gQXAodCxfXyl9ZnVuY3Rpb24gRHAodCl7cmV0dXJuIEFwKHQsRV8pfWZ1bmN0aW9uIENfKHQpe3JldHVybiBuZXcgUmVnRXhwKCJ3c3M/Oi8vbG9jYWxob3N0KDpkezIsNX0pPyIpLnRlc3QodCl9ZnVuY3Rpb24gJHAodCl7cmV0dXJuIHR5cGVvZiB0PT0ib2JqZWN0IiYmImlkImluIHQmJiJqc29ucnBjImluIHQmJnQuanNvbnJwYz09PSIyLjAifWZ1bmN0aW9uIGVoKHQpe3JldHVybiAkcCh0KSYmIm1ldGhvZCJpbiB0fWZ1bmN0aW9uIG5jKHQpe3JldHVybiAkcCh0KSYmKFZuKHQpfHxFbih0KSl9ZnVuY3Rpb24gVm4odCl7cmV0dXJuInJlc3VsdCJpbiB0fWZ1bmN0aW9uIEVuKHQpe3JldHVybiJlcnJvciJpbiB0fWNsYXNzIGhpIGV4dGVuZHMgYl97Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5ldmVudHM9bmV3IGJyLmV4cG9ydHMuRXZlbnRFbWl0dGVyLHRoaXMuaGFzUmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXJzPSExLHRoaXMuY29ubmVjdGlvbj10aGlzLnNldENvbm5lY3Rpb24oZSksdGhpcy5jb25uZWN0aW9uLmNvbm5lY3RlZCYmdGhpcy5yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCl9YXN5bmMgY29ubmVjdChlPXRoaXMuY29ubmVjdGlvbil7YXdhaXQgdGhpcy5vcGVuKGUpfWFzeW5jIGRpc2Nvbm5lY3QoKXthd2FpdCB0aGlzLmNsb3NlKCl9b24oZSxyKXt0aGlzLmV2ZW50cy5vbihlLHIpfW9uY2UoZSxyKXt0aGlzLmV2ZW50cy5vbmNlKGUscil9b2ZmKGUscil7dGhpcy5ldmVudHMub2ZmKGUscil9cmVtb3ZlTGlzdGVuZXIoZSxyKXt0aGlzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihlLHIpfWFzeW5jIHJlcXVlc3QoZSxyKXtyZXR1cm4gdGhpcy5yZXF1ZXN0U3RyaWN0KHRjKGUubWV0aG9kLGUucGFyYW1zfHxbXSxlLmlkfHxPcCgpLnRvU3RyaW5nKCkpLHIpfWFzeW5jIHJlcXVlc3RTdHJpY3QoZSxyKXtyZXR1cm4gbmV3IFByb21pc2UoYXN5bmMobixpKT0+e2lmKCF0aGlzLmNvbm5lY3Rpb24uY29ubmVjdGVkKXRyeXthd2FpdCB0aGlzLm9wZW4oKX1jYXRjaChvKXtpKG8pfXRoaXMuZXZlbnRzLm9uKGAke2UuaWR9YCxvPT57RW4obyk/aShvLmVycm9yKTpuKG8ucmVzdWx0KX0pO3RyeXthd2FpdCB0aGlzLmNvbm5lY3Rpb24uc2VuZChlLHIpfWNhdGNoKG8pe2kobyl9fSl9c2V0Q29ubmVjdGlvbihlPXRoaXMuY29ubmVjdGlvbil7cmV0dXJuIGV9b25QYXlsb2FkKGUpe3RoaXMuZXZlbnRzLmVtaXQoInBheWxvYWQiLGUpLG5jKGUpP3RoaXMuZXZlbnRzLmVtaXQoYCR7ZS5pZH1gLGUpOnRoaXMuZXZlbnRzLmVtaXQoIm1lc3NhZ2UiLHt0eXBlOmUubWV0aG9kLGRhdGE6ZS5wYXJhbXN9KX1vbkNsb3NlKGUpe2UmJmUuY29kZT09PTNlMyYmdGhpcy5ldmVudHMuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcihgV2ViU29ja2V0IGNvbm5lY3Rpb24gY2xvc2VkIGFibm9ybWFsbHkgd2l0aCBjb2RlOiAke2UuY29kZX0gJHtlLnJlYXNvbj9gKCR7ZS5yZWFzb259KWA6IiJ9YCkpLHRoaXMuZXZlbnRzLmVtaXQoImRpc2Nvbm5lY3QiKX1hc3luYyBvcGVuKGU9dGhpcy5jb25uZWN0aW9uKXt0aGlzLmNvbm5lY3Rpb249PT1lJiZ0aGlzLmNvbm5lY3Rpb24uY29ubmVjdGVkfHwodGhpcy5jb25uZWN0aW9uLmNvbm5lY3RlZCYmdGhpcy5jbG9zZSgpLHR5cGVvZiBlPT0ic3RyaW5nIiYmKGF3YWl0IHRoaXMuY29ubmVjdGlvbi5vcGVuKGUpLGU9dGhpcy5jb25uZWN0aW9uKSx0aGlzLmNvbm5lY3Rpb249dGhpcy5zZXRDb25uZWN0aW9uKGUpLGF3YWl0IHRoaXMuY29ubmVjdGlvbi5vcGVuKCksdGhpcy5yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCksdGhpcy5ldmVudHMuZW1pdCgiY29ubmVjdCIpKX1hc3luYyBjbG9zZSgpe2F3YWl0IHRoaXMuY29ubmVjdGlvbi5jbG9zZSgpfXJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKXt0aGlzLmhhc1JlZ2lzdGVyZWRFdmVudExpc3RlbmVyc3x8KHRoaXMuY29ubmVjdGlvbi5vbigicGF5bG9hZCIsZT0+dGhpcy5vblBheWxvYWQoZSkpLHRoaXMuY29ubmVjdGlvbi5vbigiY2xvc2UiLGU9PnRoaXMub25DbG9zZShlKSksdGhpcy5jb25uZWN0aW9uLm9uKCJlcnJvciIsZT0+dGhpcy5ldmVudHMuZW1pdCgiZXJyb3IiLGUpKSx0aGlzLmNvbm5lY3Rpb24ub24oInJlZ2lzdGVyX2Vycm9yIixlPT50aGlzLm9uQ2xvc2UoKSksdGhpcy5oYXNSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lcnM9ITApfX1jb25zdCBQcD0xMCxJXz0oKT0+dHlwZW9mIGdsb2JhbDwidSImJnR5cGVvZiBnbG9iYWwuV2ViU29ja2V0PCJ1Ij9nbG9iYWwuV2ViU29ja2V0OnR5cGVvZiB3aW5kb3c8InUiJiZ0eXBlb2Ygd2luZG93LldlYlNvY2tldDwidSI/d2luZG93LldlYlNvY2tldDpyZXF1aXJlKCJ3cyIpLE9fPSgpPT50eXBlb2Ygd2luZG93PCJ1IixBXz1JXygpO2NsYXNzIFNfe2NvbnN0cnVjdG9yKGUpe2lmKHRoaXMudXJsPWUsdGhpcy5ldmVudHM9bmV3IGJyLmV4cG9ydHMuRXZlbnRFbWl0dGVyLHRoaXMucmVnaXN0ZXJpbmc9ITEsIURwKGUpKXRocm93IG5ldyBFcnJvcihgUHJvdmlkZWQgVVJMIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggV2ViU29ja2V0IGNvbm5lY3Rpb246ICR7ZX1gKTt0aGlzLnVybD1lfWdldCBjb25uZWN0ZWQoKXtyZXR1cm4gdHlwZW9mIHRoaXMuc29ja2V0PCJ1In1nZXQgY29ubmVjdGluZygpe3JldHVybiB0aGlzLnJlZ2lzdGVyaW5nfW9uKGUscil7dGhpcy5ldmVudHMub24oZSxyKX1vbmNlKGUscil7dGhpcy5ldmVudHMub25jZShlLHIpfW9mZihlLHIpe3RoaXMuZXZlbnRzLm9mZihlLHIpfXJlbW92ZUxpc3RlbmVyKGUscil7dGhpcy5ldmVudHMucmVtb3ZlTGlzdGVuZXIoZSxyKX1hc3luYyBvcGVuKGU9dGhpcy51cmwpe2F3YWl0IHRoaXMucmVnaXN0ZXIoZSl9YXN5bmMgY2xvc2UoKXtyZXR1cm4gbmV3IFByb21pc2UoKGUscik9PntpZih0eXBlb2YgdGhpcy5zb2NrZXQ+InUiKXtyKG5ldyBFcnJvcigiQ29ubmVjdGlvbiBhbHJlYWR5IGNsb3NlZCIpKTtyZXR1cm59dGhpcy5zb2NrZXQub25jbG9zZT1uPT57dGhpcy5vbkNsb3NlKG4pLGUoKX0sdGhpcy5zb2NrZXQuY2xvc2UoKX0pfWFzeW5jIHNlbmQoZSxyKXt0eXBlb2YgdGhpcy5zb2NrZXQ+InUiJiYodGhpcy5zb2NrZXQ9YXdhaXQgdGhpcy5yZWdpc3RlcigpKTt0cnl7dGhpcy5zb2NrZXQuc2VuZChVbyhlKSl9Y2F0Y2gobil7dGhpcy5vbkVycm9yKGUuaWQsbil9fXJlZ2lzdGVyKGU9dGhpcy51cmwpe2lmKCFEcChlKSl0aHJvdyBuZXcgRXJyb3IoYFByb3ZpZGVkIFVSTCBpcyBub3QgY29tcGF0aWJsZSB3aXRoIFdlYlNvY2tldCBjb25uZWN0aW9uOiAke2V9YCk7aWYodGhpcy5yZWdpc3RlcmluZyl7Y29uc3Qgcj10aGlzLmV2ZW50cy5nZXRNYXhMaXN0ZW5lcnMoKTtyZXR1cm4odGhpcy5ldmVudHMubGlzdGVuZXJDb3VudCgicmVnaXN0ZXJfZXJyb3IiKT49cnx8dGhpcy5ldmVudHMubGlzdGVuZXJDb3VudCgib3BlbiIpPj1yKSYmdGhpcy5ldmVudHMuc2V0TWF4TGlzdGVuZXJzKHIrMSksbmV3IFByb21pc2UoKG4saSk9Pnt0aGlzLmV2ZW50cy5vbmNlKCJyZWdpc3Rlcl9lcnJvciIsbz0+e3RoaXMucmVzZXRNYXhMaXN0ZW5lcnMoKSxpKG8pfSksdGhpcy5ldmVudHMub25jZSgib3BlbiIsKCk9PntpZih0aGlzLnJlc2V0TWF4TGlzdGVuZXJzKCksdHlwZW9mIHRoaXMuc29ja2V0PiJ1IilyZXR1cm4gaShuZXcgRXJyb3IoIldlYlNvY2tldCBjb25uZWN0aW9uIGlzIG1pc3Npbmcgb3IgaW52YWxpZCIpKTtuKHRoaXMuc29ja2V0KX0pfSl9cmV0dXJuIHRoaXMudXJsPWUsdGhpcy5yZWdpc3RlcmluZz0hMCxuZXcgUHJvbWlzZSgocixuKT0+e2NvbnN0IGk9X3AuaXNSZWFjdE5hdGl2ZSgpP3ZvaWQgMDp7cmVqZWN0VW5hdXRob3JpemVkOiFDXyhlKX0sbz1uZXcgQV8oZSxbXSxpKTtPXygpP28ub25lcnJvcj1jPT57Y29uc3QgbD1jO24odGhpcy5lbWl0RXJyb3IobC5lcnJvcikpfTpvLm9uKCJlcnJvciIsYz0+e24odGhpcy5lbWl0RXJyb3IoYykpfSksby5vbm9wZW49KCk9Pnt0aGlzLm9uT3BlbihvKSxyKG8pfX0pfW9uT3BlbihlKXtlLm9ubWVzc2FnZT1yPT50aGlzLm9uUGF5bG9hZChyKSxlLm9uY2xvc2U9cj0+dGhpcy5vbkNsb3NlKHIpLHRoaXMuc29ja2V0PWUsdGhpcy5yZWdpc3RlcmluZz0hMSx0aGlzLmV2ZW50cy5lbWl0KCJvcGVuIil9b25DbG9zZShlKXt0aGlzLnNvY2tldD12b2lkIDAsdGhpcy5yZWdpc3RlcmluZz0hMSx0aGlzLmV2ZW50cy5lbWl0KCJjbG9zZSIsZSl9b25QYXlsb2FkKGUpe2lmKHR5cGVvZiBlLmRhdGE+InUiKXJldHVybjtjb25zdCByPXR5cGVvZiBlLmRhdGE9PSJzdHJpbmciP0t1KGUuZGF0YSk6ZS5kYXRhO3RoaXMuZXZlbnRzLmVtaXQoInBheWxvYWQiLHIpfW9uRXJyb3IoZSxyKXtjb25zdCBuPXRoaXMucGFyc2VFcnJvcihyKSxpPW4ubWVzc2FnZXx8bi50b1N0cmluZygpLG89cmMoZSxpKTt0aGlzLmV2ZW50cy5lbWl0KCJwYXlsb2FkIixvKX1wYXJzZUVycm9yKGUscj10aGlzLnVybCl7cmV0dXJuIGJwKGUsciwiV1MiKX1yZXNldE1heExpc3RlbmVycygpe3RoaXMuZXZlbnRzLmdldE1heExpc3RlbmVycygpPlBwJiZ0aGlzLmV2ZW50cy5zZXRNYXhMaXN0ZW5lcnMoUHApfWVtaXRFcnJvcihlKXtjb25zdCByPXRoaXMucGFyc2VFcnJvcihuZXcgRXJyb3IoZT8ubWVzc2FnZXx8YFdlYlNvY2tldCBjb25uZWN0aW9uIGZhaWxlZCBmb3IgVVJMOiAke3RoaXMudXJsfWApKTtyZXR1cm4gdGhpcy5ldmVudHMuZW1pdCgicmVnaXN0ZXJfZXJyb3IiLHIpLHJ9fXZhciB0aD17ZXhwb3J0czp7fX07KGZ1bmN0aW9uKHQsZSl7dmFyIHI9MjAwLG49Il9fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18iLGk9MSxvPTIsYz05MDA3MTk5MjU0NzQwOTkxLGw9IltvYmplY3QgQXJndW1lbnRzXSIsaD0iW29iamVjdCBBcnJheV0iLGQ9IltvYmplY3QgQXN5bmNGdW5jdGlvbl0iLHY9IltvYmplY3QgQm9vbGVhbl0iLEU9IltvYmplY3QgRGF0ZV0iLF89IltvYmplY3QgRXJyb3JdIixBPSJbb2JqZWN0IEZ1bmN0aW9uXSIsUD0iW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0iLFU9IltvYmplY3QgTWFwXSIsSD0iW29iamVjdCBOdW1iZXJdIixHPSJbb2JqZWN0IE51bGxdIixOPSJbb2JqZWN0IE9iamVjdF0iLEw9IltvYmplY3QgUHJvbWlzZV0iLCQ9IltvYmplY3QgUHJveHldIixUPSJbb2JqZWN0IFJlZ0V4cF0iLEk9IltvYmplY3QgU2V0XSIsZj0iW29iamVjdCBTdHJpbmddIix4PSJbb2JqZWN0IFN5bWJvbF0iLEo9IltvYmplY3QgVW5kZWZpbmVkXSIsej0iW29iamVjdCBXZWFrTWFwXSIsZWU9IltvYmplY3QgQXJyYXlCdWZmZXJdIixkZT0iW29iamVjdCBEYXRhVmlld10iLG1lPSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iLE89IltvYmplY3QgRmxvYXQ2NEFycmF5XSIsaj0iW29iamVjdCBJbnQ4QXJyYXldIixjZT0iW29iamVjdCBJbnQxNkFycmF5XSIsbGU9IltvYmplY3QgSW50MzJBcnJheV0iLHJlPSJbb2JqZWN0IFVpbnQ4QXJyYXldIixuZT0iW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iLGFlPSJbb2JqZWN0IFVpbnQxNkFycmF5XSIsaWU9IltvYmplY3QgVWludDMyQXJyYXldIixTZT0vW1xcXiQuKis/KClbXF17fXxdL2csZ2U9L15cW29iamVjdCAuKz9Db25zdHJ1Y3RvclxdJC8sRmU9L14oPzowfFsxLTldXGQqKSQvLHllPXt9O3llW21lXT15ZVtPXT15ZVtqXT15ZVtjZV09eWVbbGVdPXllW3JlXT15ZVtuZV09eWVbYWVdPXllW2llXT0hMCx5ZVtsXT15ZVtoXT15ZVtlZV09eWVbdl09eWVbZGVdPXllW0VdPXllW19dPXllW0FdPXllW1VdPXllW0hdPXllW05dPXllW1RdPXllW0ldPXllW2ZdPXllW3pdPSExO3ZhciBMZT10eXBlb2YgcHI9PSJvYmplY3QiJiZwciYmcHIuT2JqZWN0PT09T2JqZWN0JiZwcixYPXR5cGVvZiBzZWxmPT0ib2JqZWN0IiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGYsWT1MZXx8WHx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSxXPWUmJiFlLm5vZGVUeXBlJiZlLHc9VyYmITAmJnQmJiF0Lm5vZGVUeXBlJiZ0LEY9dyYmdy5leHBvcnRzPT09Vyx3ZT1GJiZMZS5wcm9jZXNzLHZlPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiB3ZSYmd2UuYmluZGluZyYmd2UuYmluZGluZygidXRpbCIpfWNhdGNoe319KCksTWU9dmUmJnZlLmlzVHlwZWRBcnJheTtmdW5jdGlvbiBudChSLHEpe2Zvcih2YXIgZmU9LTEsQ2U9Uj09bnVsbD8wOlIubGVuZ3RoLEl0PTAsWGU9W107KytmZTxDZTspe3ZhciBUdD1SW2ZlXTtxKFR0LGZlLFIpJiYoWGVbSXQrK109VHQpfXJldHVybiBYZX1mdW5jdGlvbiBhdChSLHEpe2Zvcih2YXIgZmU9LTEsQ2U9cS5sZW5ndGgsSXQ9Ui5sZW5ndGg7KytmZTxDZTspUltJdCtmZV09cVtmZV07cmV0dXJuIFJ9ZnVuY3Rpb24gR2UoUixxKXtmb3IodmFyIGZlPS0xLENlPVI9PW51bGw/MDpSLmxlbmd0aDsrK2ZlPENlOylpZihxKFJbZmVdLGZlLFIpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIER0KFIscSl7Zm9yKHZhciBmZT0tMSxDZT1BcnJheShSKTsrK2ZlPFI7KUNlW2ZlXT1xKGZlKTtyZXR1cm4gQ2V9ZnVuY3Rpb24gJHQoUil7cmV0dXJuIGZ1bmN0aW9uKHEpe3JldHVybiBSKHEpfX1mdW5jdGlvbiBKZShSLHEpe3JldHVybiBSLmhhcyhxKX1mdW5jdGlvbiBIZShSLHEpe3JldHVybiBSPy5bcV19ZnVuY3Rpb24gQmUoUil7dmFyIHE9LTEsZmU9QXJyYXkoUi5zaXplKTtyZXR1cm4gUi5mb3JFYWNoKGZ1bmN0aW9uKENlLEl0KXtmZVsrK3FdPVtJdCxDZV19KSxmZX1mdW5jdGlvbiBLZShSLHEpe3JldHVybiBmdW5jdGlvbihmZSl7cmV0dXJuIFIocShmZSkpfX1mdW5jdGlvbiBydChSKXt2YXIgcT0tMSxmZT1BcnJheShSLnNpemUpO3JldHVybiBSLmZvckVhY2goZnVuY3Rpb24oQ2Upe2ZlWysrcV09Q2V9KSxmZX12YXIgVWU9QXJyYXkucHJvdG90eXBlLFplPUZ1bmN0aW9uLnByb3RvdHlwZSxiPU9iamVjdC5wcm90b3R5cGUscD1ZWyJfX2NvcmUtanNfc2hhcmVkX18iXSxtPVplLnRvU3RyaW5nLEQ9Yi5oYXNPd25Qcm9wZXJ0eSxCPWZ1bmN0aW9uKCl7dmFyIFI9L1teLl0rJC8uZXhlYyhwJiZwLmtleXMmJnAua2V5cy5JRV9QUk9UT3x8IiIpO3JldHVybiBSPyJTeW1ib2woc3JjKV8xLiIrUjoiIn0oKSxLPWIudG9TdHJpbmcsUT1SZWdFeHAoIl4iK20uY2FsbChEKS5yZXBsYWNlKFNlLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpLEVlPUY/WS5CdWZmZXI6dm9pZCAwLFRlPVkuU3ltYm9sLHN0PVkuVWludDhBcnJheSxodD1iLnByb3BlcnR5SXNFbnVtZXJhYmxlLGx0PVVlLnNwbGljZSxVcj1UZT9UZS50b1N0cmluZ1RhZzp2b2lkIDAsSm49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxJaT1FZT9FZS5pc0J1ZmZlcjp2b2lkIDAsbHM9S2UoT2JqZWN0LmtleXMsT2JqZWN0KSxIdD1RcihZLCJEYXRhVmlldyIpLEx0PVFyKFksIk1hcCIpLHp0PVFyKFksIlByb21pc2UiKSxXdD1RcihZLCJTZXQiKSxGdD1RcihZLCJXZWFrTWFwIiksTXQ9UXIoT2JqZWN0LCJjcmVhdGUiKSxpcj1RbihIdCksc3I9UW4oTHQpLHF0PVFuKHp0KSxvcj1RbihXdCksVnQ9UW4oRnQpLEp0PVRlP1RlLnByb3RvdHlwZTp2b2lkIDAsS3Q9SnQ/SnQudmFsdWVPZjp2b2lkIDA7ZnVuY3Rpb24gUHQoUil7dmFyIHE9LTEsZmU9Uj09bnVsbD8wOlIubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytxPGZlOyl7dmFyIENlPVJbcV07dGhpcy5zZXQoQ2VbMF0sQ2VbMV0pfX1mdW5jdGlvbiBhcigpe3RoaXMuX19kYXRhX189TXQ/TXQobnVsbCk6e30sdGhpcy5zaXplPTB9ZnVuY3Rpb24gY3IoUil7dmFyIHE9dGhpcy5oYXMoUikmJmRlbGV0ZSB0aGlzLl9fZGF0YV9fW1JdO3JldHVybiB0aGlzLnNpemUtPXE/MTowLHF9ZnVuY3Rpb24gRmYoUil7dmFyIHE9dGhpcy5fX2RhdGFfXztpZihNdCl7dmFyIGZlPXFbUl07cmV0dXJuIGZlPT09bj92b2lkIDA6ZmV9cmV0dXJuIEQuY2FsbChxLFIpP3FbUl06dm9pZCAwfWZ1bmN0aW9uIEJmKFIpe3ZhciBxPXRoaXMuX19kYXRhX187cmV0dXJuIE10P3FbUl0hPT12b2lkIDA6RC5jYWxsKHEsUil9ZnVuY3Rpb24ga2YoUixxKXt2YXIgZmU9dGhpcy5fX2RhdGFfXztyZXR1cm4gdGhpcy5zaXplKz10aGlzLmhhcyhSKT8wOjEsZmVbUl09TXQmJnE9PT12b2lkIDA/bjpxLHRoaXN9UHQucHJvdG90eXBlLmNsZWFyPWFyLFB0LnByb3RvdHlwZS5kZWxldGU9Y3IsUHQucHJvdG90eXBlLmdldD1GZixQdC5wcm90b3R5cGUuaGFzPUJmLFB0LnByb3RvdHlwZS5zZXQ9a2Y7ZnVuY3Rpb24gZm4oUil7dmFyIHE9LTEsZmU9Uj09bnVsbD8wOlIubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytxPGZlOyl7dmFyIENlPVJbcV07dGhpcy5zZXQoQ2VbMF0sQ2VbMV0pfX1mdW5jdGlvbiBIZigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9ZnVuY3Rpb24gemYoUil7dmFyIHE9dGhpcy5fX2RhdGFfXyxmZT11cyhxLFIpO2lmKGZlPDApcmV0dXJuITE7dmFyIENlPXEubGVuZ3RoLTE7cmV0dXJuIGZlPT1DZT9xLnBvcCgpOmx0LmNhbGwocSxmZSwxKSwtLXRoaXMuc2l6ZSwhMH1mdW5jdGlvbiBXZihSKXt2YXIgcT10aGlzLl9fZGF0YV9fLGZlPXVzKHEsUik7cmV0dXJuIGZlPDA/dm9pZCAwOnFbZmVdWzFdfWZ1bmN0aW9uIHFmKFIpe3JldHVybiB1cyh0aGlzLl9fZGF0YV9fLFIpPi0xfWZ1bmN0aW9uIFZmKFIscSl7dmFyIGZlPXRoaXMuX19kYXRhX18sQ2U9dXMoZmUsUik7cmV0dXJuIENlPDA/KCsrdGhpcy5zaXplLGZlLnB1c2goW1IscV0pKTpmZVtDZV1bMV09cSx0aGlzfWZuLnByb3RvdHlwZS5jbGVhcj1IZixmbi5wcm90b3R5cGUuZGVsZXRlPXpmLGZuLnByb3RvdHlwZS5nZXQ9V2YsZm4ucHJvdG90eXBlLmhhcz1xZixmbi5wcm90b3R5cGUuc2V0PVZmO2Z1bmN0aW9uIFhuKFIpe3ZhciBxPS0xLGZlPVI9PW51bGw/MDpSLmxlbmd0aDtmb3IodGhpcy5jbGVhcigpOysrcTxmZTspe3ZhciBDZT1SW3FdO3RoaXMuc2V0KENlWzBdLENlWzFdKX19ZnVuY3Rpb24gUXMoKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBQdCxtYXA6bmV3KEx0fHxmbiksc3RyaW5nOm5ldyBQdH19ZnVuY3Rpb24gS2YoUil7dmFyIHE9T2kodGhpcyxSKS5kZWxldGUoUik7cmV0dXJuIHRoaXMuc2l6ZS09cT8xOjAscX1mdW5jdGlvbiBlbyhSKXtyZXR1cm4gT2kodGhpcyxSKS5nZXQoUil9ZnVuY3Rpb24gR2YoUil7cmV0dXJuIE9pKHRoaXMsUikuaGFzKFIpfWZ1bmN0aW9uIFpmKFIscSl7dmFyIGZlPU9pKHRoaXMsUiksQ2U9ZmUuc2l6ZTtyZXR1cm4gZmUuc2V0KFIscSksdGhpcy5zaXplKz1mZS5zaXplPT1DZT8wOjEsdGhpc31Ybi5wcm90b3R5cGUuY2xlYXI9UXMsWG4ucHJvdG90eXBlLmRlbGV0ZT1LZixYbi5wcm90b3R5cGUuZ2V0PWVvLFhuLnByb3RvdHlwZS5oYXM9R2YsWG4ucHJvdG90eXBlLnNldD1aZjtmdW5jdGlvbiB0byhSKXt2YXIgcT0tMSxmZT1SPT1udWxsPzA6Ui5sZW5ndGg7Zm9yKHRoaXMuX19kYXRhX189bmV3IFhuOysrcTxmZTspdGhpcy5hZGQoUltxXSl9ZnVuY3Rpb24gWmMoUil7cmV0dXJuIHRoaXMuX19kYXRhX18uc2V0KFIsbiksdGhpc31mdW5jdGlvbiBZYyhSKXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXMoUil9dG8ucHJvdG90eXBlLmFkZD10by5wcm90b3R5cGUucHVzaD1aYyx0by5wcm90b3R5cGUuaGFzPVljO2Z1bmN0aW9uIHhuKFIpe3ZhciBxPXRoaXMuX19kYXRhX189bmV3IGZuKFIpO3RoaXMuc2l6ZT1xLnNpemV9ZnVuY3Rpb24gWWYoKXt0aGlzLl9fZGF0YV9fPW5ldyBmbix0aGlzLnNpemU9MH1mdW5jdGlvbiBKZihSKXt2YXIgcT10aGlzLl9fZGF0YV9fLGZlPXEuZGVsZXRlKFIpO3JldHVybiB0aGlzLnNpemU9cS5zaXplLGZlfWZ1bmN0aW9uIFhmKFIpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldChSKX1mdW5jdGlvbiBRZihSKXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXMoUil9ZnVuY3Rpb24gSmMoUixxKXt2YXIgZmU9dGhpcy5fX2RhdGFfXztpZihmZSBpbnN0YW5jZW9mIGZuKXt2YXIgQ2U9ZmUuX19kYXRhX187aWYoIUx0fHxDZS5sZW5ndGg8ci0xKXJldHVybiBDZS5wdXNoKFtSLHFdKSx0aGlzLnNpemU9KytmZS5zaXplLHRoaXM7ZmU9dGhpcy5fX2RhdGFfXz1uZXcgWG4oQ2UpfXJldHVybiBmZS5zZXQoUixxKSx0aGlzLnNpemU9ZmUuc2l6ZSx0aGlzfXhuLnByb3RvdHlwZS5jbGVhcj1ZZix4bi5wcm90b3R5cGUuZGVsZXRlPUpmLHhuLnByb3RvdHlwZS5nZXQ9WGYseG4ucHJvdG90eXBlLmhhcz1RZix4bi5wcm90b3R5cGUuc2V0PUpjO2Z1bmN0aW9uIFhjKFIscSl7dmFyIGZlPWlvKFIpLENlPSFmZSYmdWwoUiksSXQ9IWZlJiYhQ2UmJnlhKFIpLFhlPSFmZSYmIUNlJiYhSXQmJmRsKFIpLFR0PWZlfHxDZXx8SXR8fFhlLGxyPVR0P0R0KFIubGVuZ3RoLFN0cmluZyk6W10sbXQ9bHIubGVuZ3RoO2Zvcih2YXIgT3QgaW4gUikocXx8RC5jYWxsKFIsT3QpKSYmIShUdCYmKE90PT0ibGVuZ3RoInx8SXQmJihPdD09Im9mZnNldCJ8fE90PT0icGFyZW50Iil8fFhlJiYoT3Q9PSJidWZmZXIifHxPdD09ImJ5dGVMZW5ndGgifHxPdD09ImJ5dGVPZmZzZXQiKXx8c2woT3QsbXQpKSkmJmxyLnB1c2goT3QpO3JldHVybiBscn1mdW5jdGlvbiB1cyhSLHEpe2Zvcih2YXIgZmU9Ui5sZW5ndGg7ZmUtLTspaWYobGwoUltmZV1bMF0scSkpcmV0dXJuIGZlO3JldHVybi0xfWZ1bmN0aW9uIHdhKFIscSxmZSl7dmFyIENlPXEoUik7cmV0dXJuIGlvKFIpP0NlOmF0KENlLGZlKFIpKX1mdW5jdGlvbiBocyhSKXtyZXR1cm4gUj09bnVsbD9SPT09dm9pZCAwP0o6RzpVciYmVXIgaW4gT2JqZWN0KFIpP25sKFIpOnIwKFIpfWZ1bmN0aW9uIHZhKFIpe3JldHVybiBkcyhSKSYmaHMoUik9PWx9ZnVuY3Rpb24gZnMoUixxLGZlLENlLEl0KXtyZXR1cm4gUj09PXE/ITA6Uj09bnVsbHx8cT09bnVsbHx8IWRzKFIpJiYhZHMocSk/UiE9PVImJnEhPT1xOlFjKFIscSxmZSxDZSxmcyxJdCl9ZnVuY3Rpb24gUWMoUixxLGZlLENlLEl0LFhlKXt2YXIgVHQ9aW8oUiksbHI9aW8ocSksbXQ9VHQ/aDpqbihSKSxPdD1scj9oOmpuKHEpO210PW10PT1sP046bXQsT3Q9T3Q9PWw/TjpPdDt2YXIgWHQ9bXQ9PU4scXI9T3Q9PU4sdXI9bXQ9PU90O2lmKHVyJiZ5YShSKSl7aWYoIXlhKHEpKXJldHVybiExO1R0PSEwLFh0PSExfWlmKHVyJiYhWHQpcmV0dXJuIFhlfHwoWGU9bmV3IHhuKSxUdHx8ZGwoUik/cm8oUixxLGZlLENlLEl0LFhlKTp0MChSLHEsbXQsZmUsQ2UsSXQsWGUpO2lmKCEoZmUmaSkpe3ZhciBSdD1YdCYmRC5jYWxsKFIsIl9fd3JhcHBlZF9fIiksanI9cXImJkQuY2FsbChxLCJfX3dyYXBwZWRfXyIpO2lmKFJ0fHxqcil7dmFyIENuPVJ0P1IudmFsdWUoKTpSLGRuPWpyP3EudmFsdWUoKTpxO3JldHVybiBYZXx8KFhlPW5ldyB4biksSXQoQ24sZG4sZmUsQ2UsWGUpfX1yZXR1cm4gdXI/KFhlfHwoWGU9bmV3IHhuKSxybChSLHEsZmUsQ2UsSXQsWGUpKTohMX1mdW5jdGlvbiBlMChSKXtpZighZmwoUil8fGFsKFIpKXJldHVybiExO3ZhciBxPXNvKFIpP1E6Z2U7cmV0dXJuIHEudGVzdChRbihSKSl9ZnVuY3Rpb24gZWwoUil7cmV0dXJuIGRzKFIpJiZobChSLmxlbmd0aCkmJiEheWVbaHMoUildfWZ1bmN0aW9uIHRsKFIpe2lmKCFjbChSKSlyZXR1cm4gbHMoUik7dmFyIHE9W107Zm9yKHZhciBmZSBpbiBPYmplY3QoUikpRC5jYWxsKFIsZmUpJiZmZSE9ImNvbnN0cnVjdG9yIiYmcS5wdXNoKGZlKTtyZXR1cm4gcX1mdW5jdGlvbiBybyhSLHEsZmUsQ2UsSXQsWGUpe3ZhciBUdD1mZSZpLGxyPVIubGVuZ3RoLG10PXEubGVuZ3RoO2lmKGxyIT1tdCYmIShUdCYmbXQ+bHIpKXJldHVybiExO3ZhciBPdD1YZS5nZXQoUik7aWYoT3QmJlhlLmdldChxKSlyZXR1cm4gT3Q9PXE7dmFyIFh0PS0xLHFyPSEwLHVyPWZlJm8/bmV3IHRvOnZvaWQgMDtmb3IoWGUuc2V0KFIscSksWGUuc2V0KHEsUik7KytYdDxscjspe3ZhciBSdD1SW1h0XSxqcj1xW1h0XTtpZihDZSl2YXIgQ249VHQ/Q2UoanIsUnQsWHQscSxSLFhlKTpDZShSdCxqcixYdCxSLHEsWGUpO2lmKENuIT09dm9pZCAwKXtpZihDbiljb250aW51ZTtxcj0hMTticmVha31pZih1cil7aWYoIUdlKHEsZnVuY3Rpb24oZG4sRm4pe2lmKCFKZSh1cixGbikmJihSdD09PWRufHxJdChSdCxkbixmZSxDZSxYZSkpKXJldHVybiB1ci5wdXNoKEZuKX0pKXtxcj0hMTticmVha319ZWxzZSBpZighKFJ0PT09anJ8fEl0KFJ0LGpyLGZlLENlLFhlKSkpe3FyPSExO2JyZWFrfX1yZXR1cm4gWGUuZGVsZXRlKFIpLFhlLmRlbGV0ZShxKSxxcn1mdW5jdGlvbiB0MChSLHEsZmUsQ2UsSXQsWGUsVHQpe3N3aXRjaChmZSl7Y2FzZSBkZTppZihSLmJ5dGVMZW5ndGghPXEuYnl0ZUxlbmd0aHx8Ui5ieXRlT2Zmc2V0IT1xLmJ5dGVPZmZzZXQpcmV0dXJuITE7Uj1SLmJ1ZmZlcixxPXEuYnVmZmVyO2Nhc2UgZWU6cmV0dXJuIShSLmJ5dGVMZW5ndGghPXEuYnl0ZUxlbmd0aHx8IVhlKG5ldyBzdChSKSxuZXcgc3QocSkpKTtjYXNlIHY6Y2FzZSBFOmNhc2UgSDpyZXR1cm4gbGwoK1IsK3EpO2Nhc2UgXzpyZXR1cm4gUi5uYW1lPT1xLm5hbWUmJlIubWVzc2FnZT09cS5tZXNzYWdlO2Nhc2UgVDpjYXNlIGY6cmV0dXJuIFI9PXErIiI7Y2FzZSBVOnZhciBscj1CZTtjYXNlIEk6dmFyIG10PUNlJmk7aWYobHJ8fChscj1ydCksUi5zaXplIT1xLnNpemUmJiFtdClyZXR1cm4hMTt2YXIgT3Q9VHQuZ2V0KFIpO2lmKE90KXJldHVybiBPdD09cTtDZXw9byxUdC5zZXQoUixxKTt2YXIgWHQ9cm8obHIoUiksbHIocSksQ2UsSXQsWGUsVHQpO3JldHVybiBUdC5kZWxldGUoUiksWHQ7Y2FzZSB4OmlmKEt0KXJldHVybiBLdC5jYWxsKFIpPT1LdC5jYWxsKHEpfXJldHVybiExfWZ1bmN0aW9uIHJsKFIscSxmZSxDZSxJdCxYZSl7dmFyIFR0PWZlJmksbHI9bm8oUiksbXQ9bHIubGVuZ3RoLE90PW5vKHEpLFh0PU90Lmxlbmd0aDtpZihtdCE9WHQmJiFUdClyZXR1cm4hMTtmb3IodmFyIHFyPW10O3FyLS07KXt2YXIgdXI9bHJbcXJdO2lmKCEoVHQ/dXIgaW4gcTpELmNhbGwocSx1cikpKXJldHVybiExfXZhciBSdD1YZS5nZXQoUik7aWYoUnQmJlhlLmdldChxKSlyZXR1cm4gUnQ9PXE7dmFyIGpyPSEwO1hlLnNldChSLHEpLFhlLnNldChxLFIpO2Zvcih2YXIgQ249VHQ7KytxcjxtdDspe3VyPWxyW3FyXTt2YXIgZG49Ult1cl0sRm49cVt1cl07aWYoQ2UpdmFyIGJhPVR0P0NlKEZuLGRuLHVyLHEsUixYZSk6Q2UoZG4sRm4sdXIsUixxLFhlKTtpZighKGJhPT09dm9pZCAwP2RuPT09Rm58fEl0KGRuLEZuLGZlLENlLFhlKTpiYSkpe2pyPSExO2JyZWFrfUNufHwoQ249dXI9PSJjb25zdHJ1Y3RvciIpfWlmKGpyJiYhQ24pe3ZhciBwcz1SLmNvbnN0cnVjdG9yLHZyPXEuY29uc3RydWN0b3I7cHMhPXZyJiYiY29uc3RydWN0b3IiaW4gUiYmImNvbnN0cnVjdG9yImluIHEmJiEodHlwZW9mIHBzPT0iZnVuY3Rpb24iJiZwcyBpbnN0YW5jZW9mIHBzJiZ0eXBlb2YgdnI9PSJmdW5jdGlvbiImJnZyIGluc3RhbmNlb2YgdnIpJiYoanI9ITEpfXJldHVybiBYZS5kZWxldGUoUiksWGUuZGVsZXRlKHEpLGpyfWZ1bmN0aW9uIG5vKFIpe3JldHVybiB3YShSLHMwLGlsKX1mdW5jdGlvbiBPaShSLHEpe3ZhciBmZT1SLl9fZGF0YV9fO3JldHVybiBvbChxKT9mZVt0eXBlb2YgcT09InN0cmluZyI/InN0cmluZyI6Imhhc2giXTpmZS5tYXB9ZnVuY3Rpb24gUXIoUixxKXt2YXIgZmU9SGUoUixxKTtyZXR1cm4gZTAoZmUpP2ZlOnZvaWQgMH1mdW5jdGlvbiBubChSKXt2YXIgcT1ELmNhbGwoUixVciksZmU9UltVcl07dHJ5e1JbVXJdPXZvaWQgMDt2YXIgQ2U9ITB9Y2F0Y2h7fXZhciBJdD1LLmNhbGwoUik7cmV0dXJuIENlJiYocT9SW1VyXT1mZTpkZWxldGUgUltVcl0pLEl0fXZhciBpbD1Kbj9mdW5jdGlvbihSKXtyZXR1cm4gUj09bnVsbD9bXTooUj1PYmplY3QoUiksbnQoSm4oUiksZnVuY3Rpb24ocSl7cmV0dXJuIGh0LmNhbGwoUixxKX0pKX06Q3Qsam49aHM7KEh0JiZqbihuZXcgSHQobmV3IEFycmF5QnVmZmVyKDEpKSkhPWRlfHxMdCYmam4obmV3IEx0KSE9VXx8enQmJmpuKHp0LnJlc29sdmUoKSkhPUx8fFd0JiZqbihuZXcgV3QpIT1JfHxGdCYmam4obmV3IEZ0KSE9eikmJihqbj1mdW5jdGlvbihSKXt2YXIgcT1ocyhSKSxmZT1xPT1OP1IuY29uc3RydWN0b3I6dm9pZCAwLENlPWZlP1FuKGZlKToiIjtpZihDZSlzd2l0Y2goQ2Upe2Nhc2UgaXI6cmV0dXJuIGRlO2Nhc2Ugc3I6cmV0dXJuIFU7Y2FzZSBxdDpyZXR1cm4gTDtjYXNlIG9yOnJldHVybiBJO2Nhc2UgVnQ6cmV0dXJuIHp9cmV0dXJuIHF9KTtmdW5jdGlvbiBzbChSLHEpe3JldHVybiBxPXE/P2MsISFxJiYodHlwZW9mIFI9PSJudW1iZXIifHxGZS50ZXN0KFIpKSYmUj4tMSYmUiUxPT0wJiZSPHF9ZnVuY3Rpb24gb2woUil7dmFyIHE9dHlwZW9mIFI7cmV0dXJuIHE9PSJzdHJpbmcifHxxPT0ibnVtYmVyInx8cT09InN5bWJvbCJ8fHE9PSJib29sZWFuIj9SIT09Il9fcHJvdG9fXyI6Uj09PW51bGx9ZnVuY3Rpb24gYWwoUil7cmV0dXJuISFCJiZCIGluIFJ9ZnVuY3Rpb24gY2woUil7dmFyIHE9UiYmUi5jb25zdHJ1Y3RvcixmZT10eXBlb2YgcT09ImZ1bmN0aW9uIiYmcS5wcm90b3R5cGV8fGI7cmV0dXJuIFI9PT1mZX1mdW5jdGlvbiByMChSKXtyZXR1cm4gSy5jYWxsKFIpfWZ1bmN0aW9uIFFuKFIpe2lmKFIhPW51bGwpe3RyeXtyZXR1cm4gbS5jYWxsKFIpfWNhdGNoe310cnl7cmV0dXJuIFIrIiJ9Y2F0Y2h7fX1yZXR1cm4iIn1mdW5jdGlvbiBsbChSLHEpe3JldHVybiBSPT09cXx8UiE9PVImJnEhPT1xfXZhciB1bD12YShmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpP3ZhOmZ1bmN0aW9uKFIpe3JldHVybiBkcyhSKSYmRC5jYWxsKFIsImNhbGxlZSIpJiYhaHQuY2FsbChSLCJjYWxsZWUiKX0saW89QXJyYXkuaXNBcnJheTtmdW5jdGlvbiBuMChSKXtyZXR1cm4gUiE9bnVsbCYmaGwoUi5sZW5ndGgpJiYhc28oUil9dmFyIHlhPUlpfHx4dDtmdW5jdGlvbiBpMChSLHEpe3JldHVybiBmcyhSLHEpfWZ1bmN0aW9uIHNvKFIpe2lmKCFmbChSKSlyZXR1cm4hMTt2YXIgcT1ocyhSKTtyZXR1cm4gcT09QXx8cT09UHx8cT09ZHx8cT09JH1mdW5jdGlvbiBobChSKXtyZXR1cm4gdHlwZW9mIFI9PSJudW1iZXIiJiZSPi0xJiZSJTE9PTAmJlI8PWN9ZnVuY3Rpb24gZmwoUil7dmFyIHE9dHlwZW9mIFI7cmV0dXJuIFIhPW51bGwmJihxPT0ib2JqZWN0Inx8cT09ImZ1bmN0aW9uIil9ZnVuY3Rpb24gZHMoUil7cmV0dXJuIFIhPW51bGwmJnR5cGVvZiBSPT0ib2JqZWN0In12YXIgZGw9TWU/JHQoTWUpOmVsO2Z1bmN0aW9uIHMwKFIpe3JldHVybiBuMChSKT9YYyhSKTp0bChSKX1mdW5jdGlvbiBDdCgpe3JldHVybltdfWZ1bmN0aW9uIHh0KCl7cmV0dXJuITF9dC5leHBvcnRzPWkwfSkodGgsdGguZXhwb3J0cyk7dmFyIERfPXRoLmV4cG9ydHMsJF89T2JqZWN0LmRlZmluZVByb3BlcnR5LFRwPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsUF89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxUXz1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLFJwPSh0LGUscik9PmUgaW4gdD8kXyh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnJ9KTp0W2VdPXIsUnI9KHQsZSk9Pntmb3IodmFyIHIgaW4gZXx8KGU9e30pKVBfLmNhbGwoZSxyKSYmUnAodCxyLGVbcl0pO2lmKFRwKWZvcih2YXIgciBvZiBUcChlKSlUXy5jYWxsKGUscikmJlJwKHQscixlW3JdKTtyZXR1cm4gdH07ZnVuY3Rpb24gUl8odCxlKXtpZih0Lmxlbmd0aD49MjU1KXRocm93IG5ldyBUeXBlRXJyb3IoIkFscGhhYmV0IHRvbyBsb25nIik7Zm9yKHZhciByPW5ldyBVaW50OEFycmF5KDI1Niksbj0wO248ci5sZW5ndGg7bisrKXJbbl09MjU1O2Zvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgbz10LmNoYXJBdChpKSxjPW8uY2hhckNvZGVBdCgwKTtpZihyW2NdIT09MjU1KXRocm93IG5ldyBUeXBlRXJyb3IobysiIGlzIGFtYmlndW91cyIpO3JbY109aX12YXIgbD10Lmxlbmd0aCxoPXQuY2hhckF0KDApLGQ9TWF0aC5sb2cobCkvTWF0aC5sb2coMjU2KSx2PU1hdGgubG9nKDI1NikvTWF0aC5sb2cobCk7ZnVuY3Rpb24gRShQKXtpZihQIGluc3RhbmNlb2YgVWludDhBcnJheXx8KEFycmF5QnVmZmVyLmlzVmlldyhQKT9QPW5ldyBVaW50OEFycmF5KFAuYnVmZmVyLFAuYnl0ZU9mZnNldCxQLmJ5dGVMZW5ndGgpOkFycmF5LmlzQXJyYXkoUCkmJihQPVVpbnQ4QXJyYXkuZnJvbShQKSkpLCEoUCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIFVpbnQ4QXJyYXkiKTtpZihQLmxlbmd0aD09PTApcmV0dXJuIiI7Zm9yKHZhciBVPTAsSD0wLEc9MCxOPVAubGVuZ3RoO0chPT1OJiZQW0ddPT09MDspRysrLFUrKztmb3IodmFyIEw9KE4tRykqdisxPj4+MCwkPW5ldyBVaW50OEFycmF5KEwpO0chPT1OOyl7Zm9yKHZhciBUPVBbR10sST0wLGY9TC0xOyhUIT09MHx8STxIKSYmZiE9PS0xO2YtLSxJKyspVCs9MjU2KiRbZl0+Pj4wLCRbZl09VCVsPj4+MCxUPVQvbD4+PjA7aWYoVCE9PTApdGhyb3cgbmV3IEVycm9yKCJOb24temVybyBjYXJyeSIpO0g9SSxHKyt9Zm9yKHZhciB4PUwtSDt4IT09TCYmJFt4XT09PTA7KXgrKztmb3IodmFyIEo9aC5yZXBlYXQoVSk7eDxMOysreClKKz10LmNoYXJBdCgkW3hdKTtyZXR1cm4gSn1mdW5jdGlvbiBfKFApe2lmKHR5cGVvZiBQIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBTdHJpbmciKTtpZihQLmxlbmd0aD09PTApcmV0dXJuIG5ldyBVaW50OEFycmF5O3ZhciBVPTA7aWYoUFtVXSE9PSIgIil7Zm9yKHZhciBIPTAsRz0wO1BbVV09PT1oOylIKyssVSsrO2Zvcih2YXIgTj0oUC5sZW5ndGgtVSkqZCsxPj4+MCxMPW5ldyBVaW50OEFycmF5KE4pO1BbVV07KXt2YXIgJD1yW1AuY2hhckNvZGVBdChVKV07aWYoJD09PTI1NSlyZXR1cm47Zm9yKHZhciBUPTAsST1OLTE7KCQhPT0wfHxUPEcpJiZJIT09LTE7SS0tLFQrKykkKz1sKkxbSV0+Pj4wLExbSV09JCUyNTY+Pj4wLCQ9JC8yNTY+Pj4wO2lmKCQhPT0wKXRocm93IG5ldyBFcnJvcigiTm9uLXplcm8gY2FycnkiKTtHPVQsVSsrfWlmKFBbVV0hPT0iICIpe2Zvcih2YXIgZj1OLUc7ZiE9PU4mJkxbZl09PT0wOylmKys7Zm9yKHZhciB4PW5ldyBVaW50OEFycmF5KEgrKE4tZikpLEo9SDtmIT09TjspeFtKKytdPUxbZisrXTtyZXR1cm4geH19fWZ1bmN0aW9uIEEoUCl7dmFyIFU9XyhQKTtpZihVKXJldHVybiBVO3Rocm93IG5ldyBFcnJvcihgTm9uLSR7ZX0gY2hhcmFjdGVyYCl9cmV0dXJue2VuY29kZTpFLGRlY29kZVVuc2FmZTpfLGRlY29kZTpBfX12YXIgTl89Ul8sTF89Tl87Y29uc3QgTnA9dD0+e2lmKHQgaW5zdGFuY2VvZiBVaW50OEFycmF5JiZ0LmNvbnN0cnVjdG9yLm5hbWU9PT0iVWludDhBcnJheSIpcmV0dXJuIHQ7aWYodCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKXJldHVybiBuZXcgVWludDhBcnJheSh0KTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcodCkpcmV0dXJuIG5ldyBVaW50OEFycmF5KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpO3Rocm93IG5ldyBFcnJvcigiVW5rbm93biB0eXBlLCBtdXN0IGJlIGJpbmFyeSB0eXBlIil9LE1fPXQ9Pm5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSh0KSxVXz10PT5uZXcgVGV4dERlY29kZXIoKS5kZWNvZGUodCk7Y2xhc3Mgal97Y29uc3RydWN0b3IoZSxyLG4pe3RoaXMubmFtZT1lLHRoaXMucHJlZml4PXIsdGhpcy5iYXNlRW5jb2RlPW59ZW5jb2RlKGUpe2lmKGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybmAke3RoaXMucHJlZml4fSR7dGhpcy5iYXNlRW5jb2RlKGUpfWA7dGhyb3cgRXJyb3IoIlVua25vd24gdHlwZSwgbXVzdCBiZSBiaW5hcnkgdHlwZSIpfX1jbGFzcyBGX3tjb25zdHJ1Y3RvcihlLHIsbil7aWYodGhpcy5uYW1lPWUsdGhpcy5wcmVmaXg9cixyLmNvZGVQb2ludEF0KDApPT09dm9pZCAwKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBwcmVmaXggY2hhcmFjdGVyIik7dGhpcy5wcmVmaXhDb2RlUG9pbnQ9ci5jb2RlUG9pbnRBdCgwKSx0aGlzLmJhc2VEZWNvZGU9bn1kZWNvZGUoZSl7aWYodHlwZW9mIGU9PSJzdHJpbmciKXtpZihlLmNvZGVQb2ludEF0KDApIT09dGhpcy5wcmVmaXhDb2RlUG9pbnQpdGhyb3cgRXJyb3IoYFVuYWJsZSB0byBkZWNvZGUgbXVsdGliYXNlIHN0cmluZyAke0pTT04uc3RyaW5naWZ5KGUpfSwgJHt0aGlzLm5hbWV9IGRlY29kZXIgb25seSBzdXBwb3J0cyBpbnB1dHMgcHJlZml4ZWQgd2l0aCAke3RoaXMucHJlZml4fWApO3JldHVybiB0aGlzLmJhc2VEZWNvZGUoZS5zbGljZSh0aGlzLnByZWZpeC5sZW5ndGgpKX1lbHNlIHRocm93IEVycm9yKCJDYW4gb25seSBtdWx0aWJhc2UgZGVjb2RlIHN0cmluZ3MiKX1vcihlKXtyZXR1cm4gTHAodGhpcyxlKX19Y2xhc3MgQl97Y29uc3RydWN0b3IoZSl7dGhpcy5kZWNvZGVycz1lfW9yKGUpe3JldHVybiBMcCh0aGlzLGUpfWRlY29kZShlKXtjb25zdCByPWVbMF0sbj10aGlzLmRlY29kZXJzW3JdO2lmKG4pcmV0dXJuIG4uZGVjb2RlKGUpO3Rocm93IFJhbmdlRXJyb3IoYFVuYWJsZSB0byBkZWNvZGUgbXVsdGliYXNlIHN0cmluZyAke0pTT04uc3RyaW5naWZ5KGUpfSwgb25seSBpbnB1dHMgcHJlZml4ZWQgd2l0aCAke09iamVjdC5rZXlzKHRoaXMuZGVjb2RlcnMpfSBhcmUgc3VwcG9ydGVkYCl9fWNvbnN0IExwPSh0LGUpPT5uZXcgQl8oUnIoUnIoe30sdC5kZWNvZGVyc3x8e1t0LnByZWZpeF06dH0pLGUuZGVjb2RlcnN8fHtbZS5wcmVmaXhdOmV9KSk7Y2xhc3Mga197Y29uc3RydWN0b3IoZSxyLG4saSl7dGhpcy5uYW1lPWUsdGhpcy5wcmVmaXg9cix0aGlzLmJhc2VFbmNvZGU9bix0aGlzLmJhc2VEZWNvZGU9aSx0aGlzLmVuY29kZXI9bmV3IGpfKGUscixuKSx0aGlzLmRlY29kZXI9bmV3IEZfKGUscixpKX1lbmNvZGUoZSl7cmV0dXJuIHRoaXMuZW5jb2Rlci5lbmNvZGUoZSl9ZGVjb2RlKGUpe3JldHVybiB0aGlzLmRlY29kZXIuZGVjb2RlKGUpfX1jb25zdCBpYz0oe25hbWU6dCxwcmVmaXg6ZSxlbmNvZGU6cixkZWNvZGU6bn0pPT5uZXcga18odCxlLHIsbiksQm89KHtwcmVmaXg6dCxuYW1lOmUsYWxwaGFiZXQ6cn0pPT57Y29uc3R7ZW5jb2RlOm4sZGVjb2RlOml9PUxfKHIsZSk7cmV0dXJuIGljKHtwcmVmaXg6dCxuYW1lOmUsZW5jb2RlOm4sZGVjb2RlOm89Pk5wKGkobykpfSl9LEhfPSh0LGUscixuKT0+e2NvbnN0IGk9e307Zm9yKGxldCB2PTA7djxlLmxlbmd0aDsrK3YpaVtlW3ZdXT12O2xldCBvPXQubGVuZ3RoO2Zvcig7dFtvLTFdPT09Ij0iOyktLW87Y29uc3QgYz1uZXcgVWludDhBcnJheShvKnIvOHwwKTtsZXQgbD0wLGg9MCxkPTA7Zm9yKGxldCB2PTA7djxvOysrdil7Y29uc3QgRT1pW3Rbdl1dO2lmKEU9PT12b2lkIDApdGhyb3cgbmV3IFN5bnRheEVycm9yKGBOb24tJHtufSBjaGFyYWN0ZXJgKTtoPWg8PHJ8RSxsKz1yLGw+PTgmJihsLT04LGNbZCsrXT0yNTUmaD4+bCl9aWYobD49cnx8MjU1Jmg8PDgtbCl0aHJvdyBuZXcgU3ludGF4RXJyb3IoIlVuZXhwZWN0ZWQgZW5kIG9mIGRhdGEiKTtyZXR1cm4gY30sel89KHQsZSxyKT0+e2NvbnN0IG49ZVtlLmxlbmd0aC0xXT09PSI9IixpPSgxPDxyKS0xO2xldCBvPSIiLGM9MCxsPTA7Zm9yKGxldCBoPTA7aDx0Lmxlbmd0aDsrK2gpZm9yKGw9bDw8OHx0W2hdLGMrPTg7Yz5yOyljLT1yLG8rPWVbaSZsPj5jXTtpZihjJiYobys9ZVtpJmw8PHItY10pLG4pZm9yKDtvLmxlbmd0aCpyJjc7KW8rPSI9IjtyZXR1cm4gb30sRXI9KHtuYW1lOnQscHJlZml4OmUsYml0c1BlckNoYXI6cixhbHBoYWJldDpufSk9PmljKHtwcmVmaXg6ZSxuYW1lOnQsZW5jb2RlKGkpe3JldHVybiB6XyhpLG4scil9LGRlY29kZShpKXtyZXR1cm4gSF8oaSxuLHIsdCl9fSksV189aWMoe3ByZWZpeDoiXDAiLG5hbWU6ImlkZW50aXR5IixlbmNvZGU6dD0+VV8odCksZGVjb2RlOnQ9Pk1fKHQpfSk7dmFyIHFfPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGlkZW50aXR5OldffSk7Y29uc3QgVl89RXIoe3ByZWZpeDoiMCIsbmFtZToiYmFzZTIiLGFscGhhYmV0OiIwMSIsYml0c1BlckNoYXI6MX0pO3ZhciBLXz1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlMjpWX30pO2NvbnN0IEdfPUVyKHtwcmVmaXg6IjciLG5hbWU6ImJhc2U4IixhbHBoYWJldDoiMDEyMzQ1NjciLGJpdHNQZXJDaGFyOjN9KTt2YXIgWl89T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTg6R199KTtjb25zdCBZXz1Cbyh7cHJlZml4OiI5IixuYW1lOiJiYXNlMTAiLGFscGhhYmV0OiIwMTIzNDU2Nzg5In0pO3ZhciBKXz1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlMTA6WV99KTtjb25zdCBYXz1Fcih7cHJlZml4OiJmIixuYW1lOiJiYXNlMTYiLGFscGhhYmV0OiIwMTIzNDU2Nzg5YWJjZGVmIixiaXRzUGVyQ2hhcjo0fSksUV89RXIoe3ByZWZpeDoiRiIsbmFtZToiYmFzZTE2dXBwZXIiLGFscGhhYmV0OiIwMTIzNDU2Nzg5QUJDREVGIixiaXRzUGVyQ2hhcjo0fSk7dmFyIGU4PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2UxNjpYXyxiYXNlMTZ1cHBlcjpRX30pO2NvbnN0IHQ4PUVyKHtwcmVmaXg6ImIiLG5hbWU6ImJhc2UzMiIsYWxwaGFiZXQ6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MjM0NTY3IixiaXRzUGVyQ2hhcjo1fSkscjg9RXIoe3ByZWZpeDoiQiIsbmFtZToiYmFzZTMydXBwZXIiLGFscGhhYmV0OiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjIzNDU2NyIsYml0c1BlckNoYXI6NX0pLG44PUVyKHtwcmVmaXg6ImMiLG5hbWU6ImJhc2UzMnBhZCIsYWxwaGFiZXQ6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MjM0NTY3PSIsYml0c1BlckNoYXI6NX0pLGk4PUVyKHtwcmVmaXg6IkMiLG5hbWU6ImJhc2UzMnBhZHVwcGVyIixhbHBoYWJldDoiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoyMzQ1Njc9IixiaXRzUGVyQ2hhcjo1fSksczg9RXIoe3ByZWZpeDoidiIsbmFtZToiYmFzZTMyaGV4IixhbHBoYWJldDoiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXYiLGJpdHNQZXJDaGFyOjV9KSxvOD1Fcih7cHJlZml4OiJWIixuYW1lOiJiYXNlMzJoZXh1cHBlciIsYWxwaGFiZXQ6IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWIixiaXRzUGVyQ2hhcjo1fSksYTg9RXIoe3ByZWZpeDoidCIsbmFtZToiYmFzZTMyaGV4cGFkIixhbHBoYWJldDoiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXY9IixiaXRzUGVyQ2hhcjo1fSksYzg9RXIoe3ByZWZpeDoiVCIsbmFtZToiYmFzZTMyaGV4cGFkdXBwZXIiLGFscGhhYmV0OiIwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVj0iLGJpdHNQZXJDaGFyOjV9KSxsOD1Fcih7cHJlZml4OiJoIixuYW1lOiJiYXNlMzJ6IixhbHBoYWJldDoieWJuZHJmZzhlamttY3BxeG90MXV3aXN6YTM0NWg3NjkiLGJpdHNQZXJDaGFyOjV9KTt2YXIgdTg9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTMyOnQ4LGJhc2UzMnVwcGVyOnI4LGJhc2UzMnBhZDpuOCxiYXNlMzJwYWR1cHBlcjppOCxiYXNlMzJoZXg6czgsYmFzZTMyaGV4dXBwZXI6bzgsYmFzZTMyaGV4cGFkOmE4LGJhc2UzMmhleHBhZHVwcGVyOmM4LGJhc2UzMno6bDh9KTtjb25zdCBoOD1Cbyh7cHJlZml4OiJrIixuYW1lOiJiYXNlMzYiLGFscGhhYmV0OiIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoifSksZjg9Qm8oe3ByZWZpeDoiSyIsbmFtZToiYmFzZTM2dXBwZXIiLGFscGhhYmV0OiIwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoifSk7dmFyIGQ4PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJhc2UzNjpoOCxiYXNlMzZ1cHBlcjpmOH0pO2NvbnN0IHA4PUJvKHtuYW1lOiJiYXNlNThidGMiLHByZWZpeDoieiIsYWxwaGFiZXQ6IjEyMzQ1Njc4OUFCQ0RFRkdISktMTU5QUVJTVFVWV1hZWmFiY2RlZmdoaWprbW5vcHFyc3R1dnd4eXoifSksZzg9Qm8oe25hbWU6ImJhc2U1OGZsaWNrciIscHJlZml4OiJaIixhbHBoYWJldDoiMTIzNDU2Nzg5YWJjZGVmZ2hpamttbm9wcXJzdHV2d3h5ekFCQ0RFRkdISktMTU5QUVJTVFVWV1hZWiJ9KTt2YXIgbTg9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmFzZTU4YnRjOnA4LGJhc2U1OGZsaWNrcjpnOH0pO2NvbnN0IHc4PUVyKHtwcmVmaXg6Im0iLG5hbWU6ImJhc2U2NCIsYWxwaGFiZXQ6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iLGJpdHNQZXJDaGFyOjZ9KSx2OD1Fcih7cHJlZml4OiJNIixuYW1lOiJiYXNlNjRwYWQiLGFscGhhYmV0OiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSIsYml0c1BlckNoYXI6Nn0pLHk4PUVyKHtwcmVmaXg6InUiLG5hbWU6ImJhc2U2NHVybCIsYWxwaGFiZXQ6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLGJpdHNQZXJDaGFyOjZ9KSxiOD1Fcih7cHJlZml4OiJVIixuYW1lOiJiYXNlNjR1cmxwYWQiLGFscGhhYmV0OiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fPSIsYml0c1BlckNoYXI6Nn0pO3ZhciBfOD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlNjQ6dzgsYmFzZTY0cGFkOnY4LGJhc2U2NHVybDp5OCxiYXNlNjR1cmxwYWQ6Yjh9KTtjb25zdCBNcD1BcnJheS5mcm9tKCJcdXsxRjY4MH1cdXsxRkE5MH1cdTI2MDRcdXsxRjZGMH1cdXsxRjMwQ31cdXsxRjMxMX1cdXsxRjMxMn1cdXsxRjMxM31cdXsxRjMxNH1cdXsxRjMxNX1cdXsxRjMxNn1cdXsxRjMxN31cdXsxRjMxOH1cdXsxRjMwRH1cdXsxRjMwRn1cdXsxRjMwRX1cdXsxRjQwOX1cdTI2MDBcdXsxRjRCQn1cdXsxRjVBNX1cdXsxRjRCRX1cdXsxRjRCRn1cdXsxRjYwMn1cdTI3NjRcdXsxRjYwRH1cdXsxRjkyM31cdXsxRjYwQX1cdXsxRjY0Rn1cdXsxRjQ5NX1cdXsxRjYyRH1cdXsxRjYxOH1cdXsxRjQ0RH1cdXsxRjYwNX1cdXsxRjQ0Rn1cdXsxRjYwMX1cdXsxRjUyNX1cdXsxRjk3MH1cdXsxRjQ5NH1cdXsxRjQ5Nn1cdXsxRjQ5OX1cdXsxRjYyMn1cdXsxRjkxNH1cdXsxRjYwNn1cdXsxRjY0NH1cdXsxRjRBQX1cdXsxRjYwOX1cdTI2M0FcdXsxRjQ0Q31cdXsxRjkxN31cdXsxRjQ5Q31cdXsxRjYxNH1cdXsxRjYwRX1cdXsxRjYwN31cdXsxRjMzOX1cdXsxRjkyNn1cdXsxRjM4OX1cdXsxRjQ5RX1cdTI3MENcdTI3MjhcdXsxRjkzN31cdXsxRjYzMX1cdXsxRjYwQ31cdXsxRjMzOH1cdXsxRjY0Q31cdXsxRjYwQn1cdXsxRjQ5N31cdXsxRjQ5QX1cdXsxRjYwRn1cdXsxRjQ5Qn1cdXsxRjY0Mn1cdXsxRjQ5M31cdXsxRjkyOX1cdXsxRjYwNH1cdXsxRjYwMH1cdXsxRjVBNH1cdXsxRjYwM31cdXsxRjRBRn1cdXsxRjY0OH1cdXsxRjQ0N31cdXsxRjNCNn1cdXsxRjYxMn1cdXsxRjkyRH1cdTI3NjNcdXsxRjYxQ31cdXsxRjQ4Qn1cdXsxRjQ0MH1cdXsxRjYyQX1cdXsxRjYxMX1cdXsxRjRBNX1cdXsxRjY0Qn1cdXsxRjYxRX1cdXsxRjYyOX1cdXsxRjYyMX1cdXsxRjkyQX1cdXsxRjQ0QX1cdXsxRjk3M31cdXsxRjYyNX1cdXsxRjkyNH1cdXsxRjQ0OX1cdXsxRjQ4M31cdXsxRjYzM31cdTI3MEJcdXsxRjYxQX1cdXsxRjYxRH1cdXsxRjYzNH1cdXsxRjMxRn1cdXsxRjYyQ31cdXsxRjY0M31cdXsxRjM0MH1cdXsxRjMzN31cdXsxRjYzQn1cdXsxRjYxM31cdTJCNTBcdTI3MDVcdXsxRjk3QX1cdXsxRjMwOH1cdXsxRjYwOH1cdXsxRjkxOH1cdXsxRjRBNn1cdTI3MTRcdXsxRjYyM31cdXsxRjNDM31cdXsxRjQ5MH1cdTI2MzlcdXsxRjM4QX1cdXsxRjQ5OH1cdXsxRjYyMH1cdTI2MURcdXsxRjYxNX1cdXsxRjMzQX1cdXsxRjM4Mn1cdXsxRjMzQn1cdXsxRjYxMH1cdXsxRjU5NX1cdXsxRjQ5RH1cdXsxRjY0QX1cdXsxRjYzOX1cdXsxRjVFM31cdXsxRjRBQn1cdXsxRjQ4MH1cdXsxRjQ1MX1cdXsxRjNCNX1cdXsxRjkxRX1cdXsxRjYxQn1cdXsxRjUzNH1cdXsxRjYyNH1cdXsxRjMzQ31cdXsxRjYyQn1cdTI2QkRcdXsxRjkxOX1cdTI2MTVcdXsxRjNDNn1cdXsxRjkyQn1cdXsxRjQ0OH1cdXsxRjYyRX1cdXsxRjY0Nn1cdXsxRjM3Qn1cdXsxRjM0M31cdXsxRjQzNn1cdXsxRjQ4MX1cdXsxRjYzMn1cdXsxRjMzRn1cdXsxRjlFMX1cdXsxRjM4MX1cdTI2QTFcdXsxRjMxRX1cdXsxRjM4OH1cdTI3NENcdTI3MEFcdXsxRjQ0Qn1cdXsxRjYzMH1cdXsxRjkyOH1cdXsxRjYzNn1cdXsxRjkxRH1cdXsxRjZCNn1cdXsxRjRCMH1cdXsxRjM1M31cdXsxRjRBMn1cdXsxRjkxRn1cdXsxRjY0MX1cdXsxRjZBOH1cdXsxRjRBOH1cdXsxRjkyQ31cdTI3MDhcdXsxRjM4MH1cdXsxRjM3QX1cdXsxRjkxM31cdXsxRjYxOX1cdXsxRjQ5Rn1cdXsxRjMzMX1cdXsxRjYxNn1cdXsxRjQ3Nn1cdXsxRjk3NH1cdTI1QjZcdTI3QTFcdTI3NTNcdXsxRjQ4RX1cdXsxRjRCOH1cdTJCMDdcdXsxRjYyOH1cdXsxRjMxQX1cdXsxRjk4Qn1cdXsxRjYzN31cdXsxRjU3QX1cdTI2QTBcdXsxRjY0NX1cdXsxRjYxRn1cdXsxRjYzNX1cdXsxRjQ0RX1cdXsxRjkzMn1cdXsxRjkyMH1cdXsxRjkyN31cdXsxRjRDQ31cdXsxRjUzNX1cdXsxRjQ4NX1cdXsxRjlEMH1cdXsxRjQzRX1cdXsxRjM1Mn1cdXsxRjYxN31cdXsxRjkxMX1cdXsxRjMwQX1cdXsxRjkyRn1cdXsxRjQzN31cdTI2MEVcdXsxRjRBN31cdXsxRjYyRn1cdXsxRjQ4Nn1cdXsxRjQ0Nn1cdXsxRjNBNH1cdXsxRjY0N31cdXsxRjM1MX1cdTI3NDRcdXsxRjMzNH1cdXsxRjRBM31cdXsxRjQzOH1cdXsxRjQ4Q31cdXsxRjRDRH1cdXsxRjk0MH1cdXsxRjkyMn1cdXsxRjQ0NX1cdXsxRjRBMX1cdXsxRjRBOX1cdXsxRjQ1MH1cdXsxRjRGOH1cdXsxRjQ3Qn1cdXsxRjkxMH1cdXsxRjkyRX1cdXsxRjNCQ31cdXsxRjk3NX1cdXsxRjZBOX1cdXsxRjM0RX1cdXsxRjM0QX1cdXsxRjQ3Q31cdXsxRjQ4RH1cdXsxRjRFM31cdXsxRjk0Mn0iKSxFOD1NcC5yZWR1Y2UoKHQsZSxyKT0+KHRbcl09ZSx0KSxbXSkseDg9TXAucmVkdWNlKCh0LGUscik9Pih0W2UuY29kZVBvaW50QXQoMCldPXIsdCksW10pO2Z1bmN0aW9uIEM4KHQpe3JldHVybiB0LnJlZHVjZSgoZSxyKT0+KGUrPUU4W3JdLGUpLCIiKX1mdW5jdGlvbiBJOCh0KXtjb25zdCBlPVtdO2Zvcihjb25zdCByIG9mIHQpe2NvbnN0IG49eDhbci5jb2RlUG9pbnRBdCgwKV07aWYobj09PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoYE5vbi1iYXNlMjU2ZW1vamkgY2hhcmFjdGVyOiAke3J9YCk7ZS5wdXNoKG4pfXJldHVybiBuZXcgVWludDhBcnJheShlKX1jb25zdCBPOD1pYyh7cHJlZml4OiJcdXsxRjY4MH0iLG5hbWU6ImJhc2UyNTZlbW9qaSIsZW5jb2RlOkM4LGRlY29kZTpJOH0pO3ZhciBBOD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxiYXNlMjU2ZW1vamk6Tzh9KSxTOD1qcCxVcD0xMjgsRDg9MTI3LCQ4PX5EOCxQOD1NYXRoLnBvdygyLDMxKTtmdW5jdGlvbiBqcCh0LGUscil7ZT1lfHxbXSxyPXJ8fDA7Zm9yKHZhciBuPXI7dD49UDg7KWVbcisrXT10JjI1NXxVcCx0Lz0xMjg7Zm9yKDt0JiQ4OyllW3IrK109dCYyNTV8VXAsdD4+Pj03O3JldHVybiBlW3JdPXR8MCxqcC5ieXRlcz1yLW4rMSxlfXZhciBUOD1yaCxSOD0xMjgsRnA9MTI3O2Z1bmN0aW9uIHJoKHQsbil7dmFyIHI9MCxuPW58fDAsaT0wLG89bixjLGw9dC5sZW5ndGg7ZG97aWYobz49bCl0aHJvdyByaC5ieXRlcz0wLG5ldyBSYW5nZUVycm9yKCJDb3VsZCBub3QgZGVjb2RlIHZhcmludCIpO2M9dFtvKytdLHIrPWk8Mjg/KGMmRnApPDxpOihjJkZwKSpNYXRoLnBvdygyLGkpLGkrPTd9d2hpbGUoYz49UjgpO3JldHVybiByaC5ieXRlcz1vLW4scn12YXIgTjg9TWF0aC5wb3coMiw3KSxMOD1NYXRoLnBvdygyLDE0KSxNOD1NYXRoLnBvdygyLDIxKSxVOD1NYXRoLnBvdygyLDI4KSxqOD1NYXRoLnBvdygyLDM1KSxGOD1NYXRoLnBvdygyLDQyKSxCOD1NYXRoLnBvdygyLDQ5KSxrOD1NYXRoLnBvdygyLDU2KSxIOD1NYXRoLnBvdygyLDYzKSx6OD1mdW5jdGlvbih0KXtyZXR1cm4gdDxOOD8xOnQ8TDg/Mjp0PE04PzM6dDxVOD80OnQ8ajg/NTp0PEY4PzY6dDxCOD83OnQ8azg/ODp0PEg4Pzk6MTB9LFc4PXtlbmNvZGU6UzgsZGVjb2RlOlQ4LGVuY29kaW5nTGVuZ3RoOno4fSxCcD1XODtjb25zdCBrcD0odCxlLHI9MCk9PihCcC5lbmNvZGUodCxlLHIpLGUpLEhwPXQ9PkJwLmVuY29kaW5nTGVuZ3RoKHQpLG5oPSh0LGUpPT57Y29uc3Qgcj1lLmJ5dGVMZW5ndGgsbj1IcCh0KSxpPW4rSHAociksbz1uZXcgVWludDhBcnJheShpK3IpO3JldHVybiBrcCh0LG8sMCksa3AocixvLG4pLG8uc2V0KGUsaSksbmV3IHE4KHQscixlLG8pfTtjbGFzcyBxOHtjb25zdHJ1Y3RvcihlLHIsbixpKXt0aGlzLmNvZGU9ZSx0aGlzLnNpemU9cix0aGlzLmRpZ2VzdD1uLHRoaXMuYnl0ZXM9aX19Y29uc3QgenA9KHtuYW1lOnQsY29kZTplLGVuY29kZTpyfSk9Pm5ldyBWOCh0LGUscik7Y2xhc3MgVjh7Y29uc3RydWN0b3IoZSxyLG4pe3RoaXMubmFtZT1lLHRoaXMuY29kZT1yLHRoaXMuZW5jb2RlPW59ZGlnZXN0KGUpe2lmKGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KXtjb25zdCByPXRoaXMuZW5jb2RlKGUpO3JldHVybiByIGluc3RhbmNlb2YgVWludDhBcnJheT9uaCh0aGlzLmNvZGUscik6ci50aGVuKG49Pm5oKHRoaXMuY29kZSxuKSl9ZWxzZSB0aHJvdyBFcnJvcigiVW5rbm93biB0eXBlLCBtdXN0IGJlIGJpbmFyeSB0eXBlIil9fWNvbnN0IFdwPXQ9PmFzeW5jIGU9Pm5ldyBVaW50OEFycmF5KGF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KHQsZSkpLEs4PXpwKHtuYW1lOiJzaGEyLTI1NiIsY29kZToxOCxlbmNvZGU6V3AoIlNIQS0yNTYiKX0pLEc4PXpwKHtuYW1lOiJzaGEyLTUxMiIsY29kZToxOSxlbmNvZGU6V3AoIlNIQS01MTIiKX0pO3ZhciBaOD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxzaGEyNTY6Szgsc2hhNTEyOkc4fSk7Y29uc3QgcXA9MCxZOD0iaWRlbnRpdHkiLFZwPU5wO3ZhciBKOD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxpZGVudGl0eTp7Y29kZTpxcCxuYW1lOlk4LGVuY29kZTpWcCxkaWdlc3Q6dD0+bmgocXAsVnAodCkpfX0pO25ldyBUZXh0RW5jb2RlcixuZXcgVGV4dERlY29kZXI7Y29uc3QgS3A9UnIoUnIoUnIoUnIoUnIoUnIoUnIoUnIoUnIoUnIoe30scV8pLEtfKSxaXyksSl8pLGU4KSx1OCksZDgpLG04KSxfOCksQTgpO1JyKFJyKHt9LFo4KSxKOCk7ZnVuY3Rpb24gR3AodCl7cmV0dXJuIGdsb2JhbFRoaXMuQnVmZmVyIT1udWxsP25ldyBVaW50OEFycmF5KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpOnR9ZnVuY3Rpb24gWDgodD0wKXtyZXR1cm4gZ2xvYmFsVGhpcy5CdWZmZXIhPW51bGwmJmdsb2JhbFRoaXMuQnVmZmVyLmFsbG9jVW5zYWZlIT1udWxsP0dwKGdsb2JhbFRoaXMuQnVmZmVyLmFsbG9jVW5zYWZlKHQpKTpuZXcgVWludDhBcnJheSh0KX1mdW5jdGlvbiBacCh0LGUscixuKXtyZXR1cm57bmFtZTp0LHByZWZpeDplLGVuY29kZXI6e25hbWU6dCxwcmVmaXg6ZSxlbmNvZGU6cn0sZGVjb2Rlcjp7ZGVjb2RlOm59fX1jb25zdCBZcD1acCgidXRmOCIsInUiLHQ9PiJ1IituZXcgVGV4dERlY29kZXIoInV0ZjgiKS5kZWNvZGUodCksdD0+bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHQuc3Vic3RyaW5nKDEpKSksaWg9WnAoImFzY2lpIiwiYSIsdD0+e2xldCBlPSJhIjtmb3IobGV0IHI9MDtyPHQubGVuZ3RoO3IrKyllKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHRbcl0pO3JldHVybiBlfSx0PT57dD10LnN1YnN0cmluZygxKTtjb25zdCBlPVg4KHQubGVuZ3RoKTtmb3IobGV0IHI9MDtyPHQubGVuZ3RoO3IrKyllW3JdPXQuY2hhckNvZGVBdChyKTtyZXR1cm4gZX0pLFE4PVJyKHt1dGY4OllwLCJ1dGYtOCI6WXAsaGV4OktwLmJhc2UxNixsYXRpbjE6aWgsYXNjaWk6aWgsYmluYXJ5OmlofSxLcCk7ZnVuY3Rpb24gZUUodCxlPSJ1dGY4Iil7Y29uc3Qgcj1ROFtlXTtpZighcil0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGVuY29kaW5nICIke2V9ImApO3JldHVybihlPT09InV0ZjgifHxlPT09InV0Zi04IikmJmdsb2JhbFRoaXMuQnVmZmVyIT1udWxsJiZnbG9iYWxUaGlzLkJ1ZmZlci5mcm9tIT1udWxsP0dwKGdsb2JhbFRoaXMuQnVmZmVyLmZyb20odCwidXRmLTgiKSk6ci5kZWNvZGVyLmRlY29kZShgJHtyLnByZWZpeH0ke3R9YCl9Y29uc3QgSnA9IndjIix0RT0yLHNoPSJjb3JlIixmaT1gJHtKcH1AJHsyfToke3NofTpgLHJFPXtuYW1lOnNoLGxvZ2dlcjoiZXJyb3IifSxuRT17ZGF0YWJhc2U6IjptZW1vcnk6In0saUU9ImNyeXB0byIsWHA9ImNsaWVudF9lZDI1NTE5X3NlZWQiLHNFPWtlLk9ORV9EQVksb0U9ImtleWNoYWluIixhRT0iMC4zIixjRT0ibWVzc2FnZXMiLGxFPSIwLjMiLHVFPWtlLlNJWF9IT1VSUyxoRT0icHVibGlzaGVyIixRcD0iaXJuIixmRT0iZXJyb3IiLGVnPSJ3c3M6Ly9yZWxheS53YWxsZXRjb25uZWN0LmNvbSIsZEU9InJlbGF5ZXIiLHJyPXttZXNzYWdlOiJyZWxheWVyX21lc3NhZ2UiLG1lc3NhZ2VfYWNrOiJyZWxheWVyX21lc3NhZ2VfYWNrIixjb25uZWN0OiJyZWxheWVyX2Nvbm5lY3QiLGRpc2Nvbm5lY3Q6InJlbGF5ZXJfZGlzY29ubmVjdCIsZXJyb3I6InJlbGF5ZXJfZXJyb3IiLGNvbm5lY3Rpb25fc3RhbGxlZDoicmVsYXllcl9jb25uZWN0aW9uX3N0YWxsZWQiLHRyYW5zcG9ydF9jbG9zZWQ6InJlbGF5ZXJfdHJhbnNwb3J0X2Nsb3NlZCIscHVibGlzaDoicmVsYXllcl9wdWJsaXNoIn0scEU9Il9zdWJzY3JpcHRpb24iLGtvPXtwYXlsb2FkOiJwYXlsb2FkIixjb25uZWN0OiJjb25uZWN0IixkaXNjb25uZWN0OiJkaXNjb25uZWN0IixlcnJvcjoiZXJyb3IifSxnRT1rZS5PTkVfU0VDT05ELzIsbUU9IjIuNy42Iix3RT0xZTQsdkU9IjAuMyIsUG49e2NyZWF0ZWQ6InN1YnNjcmlwdGlvbl9jcmVhdGVkIixkZWxldGVkOiJzdWJzY3JpcHRpb25fZGVsZXRlZCIsZXhwaXJlZDoic3Vic2NyaXB0aW9uX2V4cGlyZWQiLGRpc2FibGVkOiJzdWJzY3JpcHRpb25fZGlzYWJsZWQiLHN5bmM6InN1YnNjcmlwdGlvbl9zeW5jIixyZXN1YnNjcmliZWQ6InN1YnNjcmlwdGlvbl9yZXN1YnNjcmliZWQifSx5RT0ic3Vic2NyaXB0aW9uIixiRT0iMC4zIixfRT1rZS5GSVZFX1NFQ09ORFMqMWUzLEVFPSJwYWlyaW5nIix4RT0iMC4zIixIbz17d2NfcGFpcmluZ0RlbGV0ZTp7cmVxOnt0dGw6a2UuT05FX0RBWSxwcm9tcHQ6ITEsdGFnOjFlM30scmVzOnt0dGw6a2UuT05FX0RBWSxwcm9tcHQ6ITEsdGFnOjEwMDF9fSx3Y19wYWlyaW5nUGluZzp7cmVxOnt0dGw6a2UuVEhJUlRZX1NFQ09ORFMscHJvbXB0OiExLHRhZzoxMDAyfSxyZXM6e3R0bDprZS5USElSVFlfU0VDT05EUyxwcm9tcHQ6ITEsdGFnOjEwMDN9fSx1bnJlZ2lzdGVyZWRfbWV0aG9kOntyZXE6e3R0bDprZS5PTkVfREFZLHByb21wdDohMSx0YWc6MH0scmVzOnt0dGw6a2UuT05FX0RBWSxwcm9tcHQ6ITEsdGFnOjB9fX0sVG49e2NyZWF0ZWQ6Imhpc3RvcnlfY3JlYXRlZCIsdXBkYXRlZDoiaGlzdG9yeV91cGRhdGVkIixkZWxldGVkOiJoaXN0b3J5X2RlbGV0ZWQiLHN5bmM6Imhpc3Rvcnlfc3luYyJ9LENFPSJoaXN0b3J5IixJRT0iMC4zIixPRT0iZXhwaXJlciIsb249e2NyZWF0ZWQ6ImV4cGlyZXJfY3JlYXRlZCIsZGVsZXRlZDoiZXhwaXJlcl9kZWxldGVkIixleHBpcmVkOiJleHBpcmVyX2V4cGlyZWQiLHN5bmM6ImV4cGlyZXJfc3luYyJ9LEFFPSIwLjMiLG9oPSJ2ZXJpZnktYXBpIix0Zz0iaHR0cHM6Ly92ZXJpZnkud2FsbGV0Y29ubmVjdC5jb20iO2NsYXNzIFNFe2NvbnN0cnVjdG9yKGUscil7dGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9cix0aGlzLmtleWNoYWluPW5ldyBNYXAsdGhpcy5uYW1lPW9FLHRoaXMudmVyc2lvbj1hRSx0aGlzLmluaXRpYWxpemVkPSExLHRoaXMuc3RvcmFnZVByZWZpeD1maSx0aGlzLmluaXQ9YXN5bmMoKT0+e2lmKCF0aGlzLmluaXRpYWxpemVkKXtjb25zdCBuPWF3YWl0IHRoaXMuZ2V0S2V5Q2hhaW4oKTt0eXBlb2YgbjwidSImJih0aGlzLmtleWNoYWluPW4pLHRoaXMuaW5pdGlhbGl6ZWQ9ITB9fSx0aGlzLmhhcz1uPT4odGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5rZXljaGFpbi5oYXMobikpLHRoaXMuc2V0PWFzeW5jKG4saSk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLmtleWNoYWluLnNldChuLGkpLGF3YWl0IHRoaXMucGVyc2lzdCgpfSx0aGlzLmdldD1uPT57dGhpcy5pc0luaXRpYWxpemVkKCk7Y29uc3QgaT10aGlzLmtleWNoYWluLmdldChuKTtpZih0eXBlb2YgaT4idSIpe2NvbnN0e21lc3NhZ2U6b309X2UoIk5PX01BVENISU5HX0tFWSIsYCR7dGhpcy5uYW1lfTogJHtufWApO3Rocm93IG5ldyBFcnJvcihvKX1yZXR1cm4gaX0sdGhpcy5kZWw9YXN5bmMgbj0+e3RoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMua2V5Y2hhaW4uZGVsZXRlKG4pLGF3YWl0IHRoaXMucGVyc2lzdCgpfSx0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj1wdC5nZW5lcmF0ZUNoaWxkTG9nZ2VyKHIsdGhpcy5uYW1lKX1nZXQgY29udGV4dCgpe3JldHVybiBwdC5nZXRMb2dnZXJDb250ZXh0KHRoaXMubG9nZ2VyKX1nZXQgc3RvcmFnZUtleSgpe3JldHVybiB0aGlzLnN0b3JhZ2VQcmVmaXgrdGhpcy52ZXJzaW9uKyIvLyIrdGhpcy5uYW1lfWFzeW5jIHNldEtleUNoYWluKGUpe2F3YWl0IHRoaXMuY29yZS5zdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlS2V5LCQxKGUpKX1hc3luYyBnZXRLZXlDaGFpbigpe2NvbnN0IGU9YXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpO3JldHVybiB0eXBlb2YgZTwidSI/UDEoZSk6dm9pZCAwfWFzeW5jIHBlcnNpc3QoKXthd2FpdCB0aGlzLnNldEtleUNoYWluKHRoaXMua2V5Y2hhaW4pfWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1fZSgiTk9UX0lOSVRJQUxJWkVEIix0aGlzLm5hbWUpO3Rocm93IG5ldyBFcnJvcihlKX19fWNsYXNzIERFe2NvbnN0cnVjdG9yKGUscixuKXt0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj1yLHRoaXMubmFtZT1pRSx0aGlzLmluaXRpYWxpemVkPSExLHRoaXMuaW5pdD1hc3luYygpPT57dGhpcy5pbml0aWFsaXplZHx8KGF3YWl0IHRoaXMua2V5Y2hhaW4uaW5pdCgpLHRoaXMuaW5pdGlhbGl6ZWQ9ITApfSx0aGlzLmhhc0tleXM9aT0+KHRoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMua2V5Y2hhaW4uaGFzKGkpKSx0aGlzLmdldENsaWVudElkPWFzeW5jKCk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBpPWF3YWl0IHRoaXMuZ2V0Q2xpZW50U2VlZCgpLG89bXAoaSk7cmV0dXJuIGdwKG8ucHVibGljS2V5KX0sdGhpcy5nZW5lcmF0ZUtleVBhaXI9KCk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBpPWo1KCk7cmV0dXJuIHRoaXMuc2V0UHJpdmF0ZUtleShpLnB1YmxpY0tleSxpLnByaXZhdGVLZXkpfSx0aGlzLnNpZ25KV1Q9YXN5bmMgaT0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0IG89YXdhaXQgdGhpcy5nZXRDbGllbnRTZWVkKCksYz1tcChvKSxsPU91KCk7cmV0dXJuIGF3YWl0IEI0KGwsaSxzRSxjKX0sdGhpcy5nZW5lcmF0ZVNoYXJlZEtleT0oaSxvLGMpPT57dGhpcy5pc0luaXRpYWxpemVkKCk7Y29uc3QgbD10aGlzLmdldFByaXZhdGVLZXkoaSksaD1GNShsLG8pO3JldHVybiB0aGlzLnNldFN5bUtleShoLGMpfSx0aGlzLnNldFN5bUtleT1hc3luYyhpLG8pPT57dGhpcy5pc0luaXRpYWxpemVkKCk7Y29uc3QgYz1vfHxCNShpKTtyZXR1cm4gYXdhaXQgdGhpcy5rZXljaGFpbi5zZXQoYyxpKSxjfSx0aGlzLmRlbGV0ZUtleVBhaXI9YXN5bmMgaT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMua2V5Y2hhaW4uZGVsKGkpfSx0aGlzLmRlbGV0ZVN5bUtleT1hc3luYyBpPT57dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5rZXljaGFpbi5kZWwoaSl9LHRoaXMuZW5jb2RlPWFzeW5jKGksbyxjKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0IGw9eDEoYyksaD1VbyhvKTtpZihDMShsKSl7Y29uc3QgXz1sLnNlbmRlclB1YmxpY0tleSxBPWwucmVjZWl2ZXJQdWJsaWNLZXk7aT1hd2FpdCB0aGlzLmdlbmVyYXRlU2hhcmVkS2V5KF8sQSl9Y29uc3QgZD10aGlzLmdldFN5bUtleShpKSx7dHlwZTp2LHNlbmRlclB1YmxpY0tleTpFfT1sO3JldHVybiBINSh7dHlwZTp2LHN5bUtleTpkLG1lc3NhZ2U6aCxzZW5kZXJQdWJsaWNLZXk6RX0pfSx0aGlzLmRlY29kZT1hc3luYyhpLG8sYyk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBsPXE1KG8sYyk7aWYoQzEobCkpe2NvbnN0IHY9bC5yZWNlaXZlclB1YmxpY0tleSxFPWwuc2VuZGVyUHVibGljS2V5O2k9YXdhaXQgdGhpcy5nZW5lcmF0ZVNoYXJlZEtleSh2LEUpfWNvbnN0IGg9dGhpcy5nZXRTeW1LZXkoaSksZD16NSh7c3ltS2V5OmgsZW5jb2RlZDpvfSk7cmV0dXJuIEt1KGQpfSx0aGlzLmdldFBheWxvYWRUeXBlPWk9Pntjb25zdCBvPUthKGkpO3JldHVybiBPbyhvLnR5cGUpfSx0aGlzLmdldFBheWxvYWRTZW5kZXJQdWJsaWNLZXk9aT0+e2NvbnN0IG89S2EoaSk7cmV0dXJuIG8uc2VuZGVyUHVibGljS2V5P0RyKG8uc2VuZGVyUHVibGljS2V5LCRyKTp2b2lkIDB9LHRoaXMuY29yZT1lLHRoaXMubG9nZ2VyPXB0LmdlbmVyYXRlQ2hpbGRMb2dnZXIocix0aGlzLm5hbWUpLHRoaXMua2V5Y2hhaW49bnx8bmV3IFNFKHRoaXMuY29yZSx0aGlzLmxvZ2dlcil9Z2V0IGNvbnRleHQoKXtyZXR1cm4gcHQuZ2V0TG9nZ2VyQ29udGV4dCh0aGlzLmxvZ2dlcil9YXN5bmMgc2V0UHJpdmF0ZUtleShlLHIpe3JldHVybiBhd2FpdCB0aGlzLmtleWNoYWluLnNldChlLHIpLGV9Z2V0UHJpdmF0ZUtleShlKXtyZXR1cm4gdGhpcy5rZXljaGFpbi5nZXQoZSl9YXN5bmMgZ2V0Q2xpZW50U2VlZCgpe2xldCBlPSIiO3RyeXtlPXRoaXMua2V5Y2hhaW4uZ2V0KFhwKX1jYXRjaHtlPU91KCksYXdhaXQgdGhpcy5rZXljaGFpbi5zZXQoWHAsZSl9cmV0dXJuIGVFKGUsImJhc2UxNiIpfWdldFN5bUtleShlKXtyZXR1cm4gdGhpcy5rZXljaGFpbi5nZXQoZSl9aXNJbml0aWFsaXplZCgpe2lmKCF0aGlzLmluaXRpYWxpemVkKXtjb25zdHttZXNzYWdlOmV9PV9lKCJOT1RfSU5JVElBTElaRUQiLHRoaXMubmFtZSk7dGhyb3cgbmV3IEVycm9yKGUpfX19Y2xhc3MgJEUgZXh0ZW5kcyBtNHtjb25zdHJ1Y3RvcihlLHIpe3N1cGVyKGUsciksdGhpcy5sb2dnZXI9ZSx0aGlzLmNvcmU9cix0aGlzLm1lc3NhZ2VzPW5ldyBNYXAsdGhpcy5uYW1lPWNFLHRoaXMudmVyc2lvbj1sRSx0aGlzLmluaXRpYWxpemVkPSExLHRoaXMuc3RvcmFnZVByZWZpeD1maSx0aGlzLmluaXQ9YXN5bmMoKT0+e2lmKCF0aGlzLmluaXRpYWxpemVkKXt0aGlzLmxvZ2dlci50cmFjZSgiSW5pdGlhbGl6ZWQiKTt0cnl7Y29uc3Qgbj1hd2FpdCB0aGlzLmdldFJlbGF5ZXJNZXNzYWdlcygpO3R5cGVvZiBuPCJ1IiYmKHRoaXMubWVzc2FnZXM9biksdGhpcy5sb2dnZXIuZGVidWcoYFN1Y2Nlc3NmdWxseSBSZXN0b3JlZCByZWNvcmRzIGZvciAke3RoaXMubmFtZX1gKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6InJlc3RvcmUiLHNpemU6dGhpcy5tZXNzYWdlcy5zaXplfSl9Y2F0Y2gobil7dGhpcy5sb2dnZXIuZGVidWcoYEZhaWxlZCB0byBSZXN0b3JlIHJlY29yZHMgZm9yICR7dGhpcy5uYW1lfWApLHRoaXMubG9nZ2VyLmVycm9yKG4pfWZpbmFsbHl7dGhpcy5pbml0aWFsaXplZD0hMH19fSx0aGlzLnNldD1hc3luYyhuLGkpPT57dGhpcy5pc0luaXRpYWxpemVkKCk7Y29uc3Qgbz1BcyhpKTtsZXQgYz10aGlzLm1lc3NhZ2VzLmdldChuKTtyZXR1cm4gdHlwZW9mIGM+InUiJiYoYz17fSksdHlwZW9mIGNbb108InUifHwoY1tvXT1pLHRoaXMubWVzc2FnZXMuc2V0KG4sYyksYXdhaXQgdGhpcy5wZXJzaXN0KCkpLG99LHRoaXMuZ2V0PW49Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtsZXQgaT10aGlzLm1lc3NhZ2VzLmdldChuKTtyZXR1cm4gdHlwZW9mIGk+InUiJiYoaT17fSksaX0sdGhpcy5oYXM9KG4saSk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBvPXRoaXMuZ2V0KG4pLGM9QXMoaSk7cmV0dXJuIHR5cGVvZiBvW2NdPCJ1In0sdGhpcy5kZWw9YXN5bmMgbj0+e3RoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMubWVzc2FnZXMuZGVsZXRlKG4pLGF3YWl0IHRoaXMucGVyc2lzdCgpfSx0aGlzLmxvZ2dlcj1wdC5nZW5lcmF0ZUNoaWxkTG9nZ2VyKGUsdGhpcy5uYW1lKSx0aGlzLmNvcmU9cn1nZXQgY29udGV4dCgpe3JldHVybiBwdC5nZXRMb2dnZXJDb250ZXh0KHRoaXMubG9nZ2VyKX1nZXQgc3RvcmFnZUtleSgpe3JldHVybiB0aGlzLnN0b3JhZ2VQcmVmaXgrdGhpcy52ZXJzaW9uKyIvLyIrdGhpcy5uYW1lfWFzeW5jIHNldFJlbGF5ZXJNZXNzYWdlcyhlKXthd2FpdCB0aGlzLmNvcmUuc3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZUtleSwkMShlKSl9YXN5bmMgZ2V0UmVsYXllck1lc3NhZ2VzKCl7Y29uc3QgZT1hd2FpdCB0aGlzLmNvcmUuc3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RvcmFnZUtleSk7cmV0dXJuIHR5cGVvZiBlPCJ1Ij9QMShlKTp2b2lkIDB9YXN5bmMgcGVyc2lzdCgpe2F3YWl0IHRoaXMuc2V0UmVsYXllck1lc3NhZ2VzKHRoaXMubWVzc2FnZXMpfWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1fZSgiTk9UX0lOSVRJQUxJWkVEIix0aGlzLm5hbWUpO3Rocm93IG5ldyBFcnJvcihlKX19fWNsYXNzIFBFIGV4dGVuZHMgdzR7Y29uc3RydWN0b3IoZSxyKXtzdXBlcihlLHIpLHRoaXMucmVsYXllcj1lLHRoaXMubG9nZ2VyPXIsdGhpcy5ldmVudHM9bmV3IGJyLmV4cG9ydHMuRXZlbnRFbWl0dGVyLHRoaXMubmFtZT1oRSx0aGlzLnF1ZXVlPW5ldyBNYXAsdGhpcy5wdWJsaXNoVGltZW91dD0xZTQsdGhpcy5wdWJsaXNoPWFzeW5jKG4saSxvKT0+e3RoaXMubG9nZ2VyLmRlYnVnKCJQdWJsaXNoaW5nIFBheWxvYWQiKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6InB1Ymxpc2giLHBhcmFtczp7dG9waWM6bixtZXNzYWdlOmksb3B0czpvfX0pO3RyeXtjb25zdCBjPW8/LnR0bHx8dUUsbD0kdShvKSxoPW8/LnByb21wdHx8ITEsZD1vPy50YWd8fDAsdj1vPy5pZHx8T3AoKS50b1N0cmluZygpLEU9e3RvcGljOm4sbWVzc2FnZTppLG9wdHM6e3R0bDpjLHJlbGF5OmwscHJvbXB0OmgsdGFnOmQsaWQ6dn19O3RoaXMucXVldWUuc2V0KHYsRSk7dHJ5e2F3YWl0IGF3YWl0IEdhKHRoaXMucnBjUHVibGlzaChuLGksYyxsLGgsZCx2KSx0aGlzLnB1Ymxpc2hUaW1lb3V0KSx0aGlzLnJlbGF5ZXIuZXZlbnRzLmVtaXQocnIucHVibGlzaCxFKX1jYXRjaHt0aGlzLmxvZ2dlci5kZWJ1ZygiUHVibGlzaGluZyBQYXlsb2FkIHN0YWxsZWQiKSx0aGlzLnJlbGF5ZXIuZXZlbnRzLmVtaXQocnIuY29ubmVjdGlvbl9zdGFsbGVkKTtyZXR1cm59dGhpcy5sb2dnZXIuZGVidWcoIlN1Y2Nlc3NmdWxseSBQdWJsaXNoZWQgUGF5bG9hZCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoicHVibGlzaCIscGFyYW1zOnt0b3BpYzpuLG1lc3NhZ2U6aSxvcHRzOm99fSl9Y2F0Y2goYyl7dGhyb3cgdGhpcy5sb2dnZXIuZGVidWcoIkZhaWxlZCB0byBQdWJsaXNoIFBheWxvYWQiKSx0aGlzLmxvZ2dlci5lcnJvcihjKSxjfX0sdGhpcy5vbj0obixpKT0+e3RoaXMuZXZlbnRzLm9uKG4saSl9LHRoaXMub25jZT0obixpKT0+e3RoaXMuZXZlbnRzLm9uY2UobixpKX0sdGhpcy5vZmY9KG4saSk9Pnt0aGlzLmV2ZW50cy5vZmYobixpKX0sdGhpcy5yZW1vdmVMaXN0ZW5lcj0obixpKT0+e3RoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKG4saSl9LHRoaXMucmVsYXllcj1lLHRoaXMubG9nZ2VyPXB0LmdlbmVyYXRlQ2hpbGRMb2dnZXIocix0aGlzLm5hbWUpLHRoaXMucmVnaXN0ZXJFdmVudExpc3RlbmVycygpfWdldCBjb250ZXh0KCl7cmV0dXJuIHB0LmdldExvZ2dlckNvbnRleHQodGhpcy5sb2dnZXIpfXJwY1B1Ymxpc2goZSxyLG4saSxvLGMsbCl7dmFyIGgsZCx2LEU7Y29uc3QgXz17bWV0aG9kOlphKGkucHJvdG9jb2wpLnB1Ymxpc2gscGFyYW1zOnt0b3BpYzplLG1lc3NhZ2U6cix0dGw6bixwcm9tcHQ6byx0YWc6Y30saWQ6bH07cmV0dXJuIFByKChoPV8ucGFyYW1zKT09bnVsbD92b2lkIDA6aC5wcm9tcHQpJiYoKGQ9Xy5wYXJhbXMpPT1udWxsfHxkZWxldGUgZC5wcm9tcHQpLFByKCh2PV8ucGFyYW1zKT09bnVsbD92b2lkIDA6di50YWcpJiYoKEU9Xy5wYXJhbXMpPT1udWxsfHxkZWxldGUgRS50YWcpLHRoaXMubG9nZ2VyLmRlYnVnKCJPdXRnb2luZyBSZWxheSBQYXlsb2FkIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1lc3NhZ2UiLGRpcmVjdGlvbjoib3V0Z29pbmciLHJlcXVlc3Q6X30pLHRoaXMucmVsYXllci5yZXF1ZXN0KF8pfW9uUHVibGlzaChlKXt0aGlzLnF1ZXVlLmRlbGV0ZShlKX1jaGVja1F1ZXVlKCl7dGhpcy5xdWV1ZS5mb3JFYWNoKGFzeW5jIGU9Pntjb25zdHt0b3BpYzpyLG1lc3NhZ2U6bixvcHRzOml9PWU7YXdhaXQgdGhpcy5wdWJsaXNoKHIsbixpKX0pfXJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKXt0aGlzLnJlbGF5ZXIuY29yZS5oZWFydGJlYXQub24oVG8uSEVBUlRCRUFUX0VWRU5UUy5wdWxzZSwoKT0+e3RoaXMuY2hlY2tRdWV1ZSgpfSksdGhpcy5yZWxheWVyLm9uKHJyLm1lc3NhZ2VfYWNrLGU9Pnt0aGlzLm9uUHVibGlzaChlLmlkLnRvU3RyaW5nKCkpfSl9fWNsYXNzIFRFe2NvbnN0cnVjdG9yKCl7dGhpcy5tYXA9bmV3IE1hcCx0aGlzLnNldD0oZSxyKT0+e2NvbnN0IG49dGhpcy5nZXQoZSk7dGhpcy5leGlzdHMoZSxyKXx8dGhpcy5tYXAuc2V0KGUsWy4uLm4scl0pfSx0aGlzLmdldD1lPT50aGlzLm1hcC5nZXQoZSl8fFtdLHRoaXMuZXhpc3RzPShlLHIpPT50aGlzLmdldChlKS5pbmNsdWRlcyhyKSx0aGlzLmRlbGV0ZT0oZSxyKT0+e2lmKHR5cGVvZiByPiJ1Iil7dGhpcy5tYXAuZGVsZXRlKGUpO3JldHVybn1pZighdGhpcy5tYXAuaGFzKGUpKXJldHVybjtjb25zdCBuPXRoaXMuZ2V0KGUpO2lmKCF0aGlzLmV4aXN0cyhlLHIpKXJldHVybjtjb25zdCBpPW4uZmlsdGVyKG89Pm8hPT1yKTtpZighaS5sZW5ndGgpe3RoaXMubWFwLmRlbGV0ZShlKTtyZXR1cm59dGhpcy5tYXAuc2V0KGUsaSl9LHRoaXMuY2xlYXI9KCk9Pnt0aGlzLm1hcC5jbGVhcigpfX1nZXQgdG9waWNzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5tYXAua2V5cygpKX19dmFyIFJFPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxORT1PYmplY3QuZGVmaW5lUHJvcGVydGllcyxMRT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyxyZz1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLE1FPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksVUU9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxuZz0odCxlLHIpPT5lIGluIHQ/UkUodCxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpyfSk6dFtlXT1yLHpvPSh0LGUpPT57Zm9yKHZhciByIGluIGV8fChlPXt9KSlNRS5jYWxsKGUscikmJm5nKHQscixlW3JdKTtpZihyZylmb3IodmFyIHIgb2YgcmcoZSkpVUUuY2FsbChlLHIpJiZuZyh0LHIsZVtyXSk7cmV0dXJuIHR9LGFoPSh0LGUpPT5ORSh0LExFKGUpKTtjbGFzcyBqRSBleHRlbmRzIGI0e2NvbnN0cnVjdG9yKGUscil7c3VwZXIoZSxyKSx0aGlzLnJlbGF5ZXI9ZSx0aGlzLmxvZ2dlcj1yLHRoaXMuc3Vic2NyaXB0aW9ucz1uZXcgTWFwLHRoaXMudG9waWNNYXA9bmV3IFRFLHRoaXMuZXZlbnRzPW5ldyBici5leHBvcnRzLkV2ZW50RW1pdHRlcix0aGlzLm5hbWU9eUUsdGhpcy52ZXJzaW9uPWJFLHRoaXMucGVuZGluZz1uZXcgTWFwLHRoaXMuY2FjaGVkPVtdLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5wZW5kaW5nU3Vic2NyaXB0aW9uV2F0Y2hMYWJlbD0icGVuZGluZ19zdWJfd2F0Y2hfbGFiZWwiLHRoaXMucG9sbGluZ0ludGVydmFsPTIwLHRoaXMuc3RvcmFnZVByZWZpeD1maSx0aGlzLnN1YnNjcmliZVRpbWVvdXQ9MWU0LHRoaXMucmVzdGFydEluUHJvZ3Jlc3M9ITEsdGhpcy5iYXRjaFN1YnNjcmliZVRvcGljc0xpbWl0PTUwMCx0aGlzLmluaXQ9YXN5bmMoKT0+e3RoaXMuaW5pdGlhbGl6ZWR8fCh0aGlzLmxvZ2dlci50cmFjZSgiSW5pdGlhbGl6ZWQiKSxhd2FpdCB0aGlzLnJlc3RhcnQoKSx0aGlzLnJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKSx0aGlzLm9uRW5hYmxlKCksdGhpcy5jbGllbnRJZD1hd2FpdCB0aGlzLnJlbGF5ZXIuY29yZS5jcnlwdG8uZ2V0Q2xpZW50SWQoKSl9LHRoaXMuc3Vic2NyaWJlPWFzeW5jKG4saSk9Pnthd2FpdCB0aGlzLnJlc3RhcnRUb0NvbXBsZXRlKCksdGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5sb2dnZXIuZGVidWcoIlN1YnNjcmliaW5nIFRvcGljIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJzdWJzY3JpYmUiLHBhcmFtczp7dG9waWM6bixvcHRzOml9fSk7dHJ5e2NvbnN0IG89JHUoaSksYz17dG9waWM6bixyZWxheTpvfTt0aGlzLnBlbmRpbmcuc2V0KG4sYyk7Y29uc3QgbD1hd2FpdCB0aGlzLnJwY1N1YnNjcmliZShuLG8pO3JldHVybiB0aGlzLm9uU3Vic2NyaWJlKGwsYyksdGhpcy5sb2dnZXIuZGVidWcoIlN1Y2Nlc3NmdWxseSBTdWJzY3JpYmVkIFRvcGljIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJzdWJzY3JpYmUiLHBhcmFtczp7dG9waWM6bixvcHRzOml9fSksbH1jYXRjaChvKXt0aHJvdyB0aGlzLmxvZ2dlci5kZWJ1ZygiRmFpbGVkIHRvIFN1YnNjcmliZSBUb3BpYyIpLHRoaXMubG9nZ2VyLmVycm9yKG8pLG99fSx0aGlzLnVuc3Vic2NyaWJlPWFzeW5jKG4saSk9Pnthd2FpdCB0aGlzLnJlc3RhcnRUb0NvbXBsZXRlKCksdGhpcy5pc0luaXRpYWxpemVkKCksdHlwZW9mIGk/LmlkPCJ1Ij9hd2FpdCB0aGlzLnVuc3Vic2NyaWJlQnlJZChuLGkuaWQsaSk6YXdhaXQgdGhpcy51bnN1YnNjcmliZUJ5VG9waWMobixpKX0sdGhpcy5pc1N1YnNjcmliZWQ9YXN5bmMgbj0+dGhpcy50b3BpY3MuaW5jbHVkZXMobik/ITA6YXdhaXQgbmV3IFByb21pc2UoKGksbyk9Pntjb25zdCBjPW5ldyBrZS5XYXRjaDtjLnN0YXJ0KHRoaXMucGVuZGluZ1N1YnNjcmlwdGlvbldhdGNoTGFiZWwpO2NvbnN0IGw9c2V0SW50ZXJ2YWwoKCk9PnshdGhpcy5wZW5kaW5nLmhhcyhuKSYmdGhpcy50b3BpY3MuaW5jbHVkZXMobikmJihjbGVhckludGVydmFsKGwpLGMuc3RvcCh0aGlzLnBlbmRpbmdTdWJzY3JpcHRpb25XYXRjaExhYmVsKSxpKCEwKSksYy5lbGFwc2VkKHRoaXMucGVuZGluZ1N1YnNjcmlwdGlvbldhdGNoTGFiZWwpPj1fRSYmKGNsZWFySW50ZXJ2YWwobCksYy5zdG9wKHRoaXMucGVuZGluZ1N1YnNjcmlwdGlvbldhdGNoTGFiZWwpLG8obmV3IEVycm9yKCJTdWJzY3JpcHRpb24gcmVzb2x1dGlvbiB0aW1lb3V0IikpKX0sdGhpcy5wb2xsaW5nSW50ZXJ2YWwpfSkuY2F0Y2goKCk9PiExKSx0aGlzLm9uPShuLGkpPT57dGhpcy5ldmVudHMub24obixpKX0sdGhpcy5vbmNlPShuLGkpPT57dGhpcy5ldmVudHMub25jZShuLGkpfSx0aGlzLm9mZj0obixpKT0+e3RoaXMuZXZlbnRzLm9mZihuLGkpfSx0aGlzLnJlbW92ZUxpc3RlbmVyPShuLGkpPT57dGhpcy5ldmVudHMucmVtb3ZlTGlzdGVuZXIobixpKX0sdGhpcy5yZXN0YXJ0PWFzeW5jKCk9Pnt0aGlzLnJlc3RhcnRJblByb2dyZXNzPSEwLGF3YWl0IHRoaXMucmVzdG9yZSgpLGF3YWl0IHRoaXMucmVzZXQoKSx0aGlzLnJlc3RhcnRJblByb2dyZXNzPSExfSx0aGlzLnJlbGF5ZXI9ZSx0aGlzLmxvZ2dlcj1wdC5nZW5lcmF0ZUNoaWxkTG9nZ2VyKHIsdGhpcy5uYW1lKSx0aGlzLmNsaWVudElkPSIifWdldCBjb250ZXh0KCl7cmV0dXJuIHB0LmdldExvZ2dlckNvbnRleHQodGhpcy5sb2dnZXIpfWdldCBzdG9yYWdlS2V5KCl7cmV0dXJuIHRoaXMuc3RvcmFnZVByZWZpeCt0aGlzLnZlcnNpb24rIi8vIit0aGlzLm5hbWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLnN1YnNjcmlwdGlvbnMuc2l6ZX1nZXQgaWRzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5zdWJzY3JpcHRpb25zLmtleXMoKSl9Z2V0IHZhbHVlcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuc3Vic2NyaXB0aW9ucy52YWx1ZXMoKSl9Z2V0IHRvcGljcygpe3JldHVybiB0aGlzLnRvcGljTWFwLnRvcGljc31oYXNTdWJzY3JpcHRpb24oZSxyKXtsZXQgbj0hMTt0cnl7bj10aGlzLmdldFN1YnNjcmlwdGlvbihlKS50b3BpYz09PXJ9Y2F0Y2h7fXJldHVybiBufW9uRW5hYmxlKCl7dGhpcy5jYWNoZWQ9W10sdGhpcy5pbml0aWFsaXplZD0hMH1vbkRpc2FibGUoKXt0aGlzLmNhY2hlZD10aGlzLnZhbHVlcyx0aGlzLnN1YnNjcmlwdGlvbnMuY2xlYXIoKSx0aGlzLnRvcGljTWFwLmNsZWFyKCl9YXN5bmMgdW5zdWJzY3JpYmVCeVRvcGljKGUscil7Y29uc3Qgbj10aGlzLnRvcGljTWFwLmdldChlKTthd2FpdCBQcm9taXNlLmFsbChuLm1hcChhc3luYyBpPT5hd2FpdCB0aGlzLnVuc3Vic2NyaWJlQnlJZChlLGkscikpKX1hc3luYyB1bnN1YnNjcmliZUJ5SWQoZSxyLG4pe3RoaXMubG9nZ2VyLmRlYnVnKCJVbnN1YnNjcmliaW5nIFRvcGljIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJ1bnN1YnNjcmliZSIscGFyYW1zOnt0b3BpYzplLGlkOnIsb3B0czpufX0pO3RyeXtjb25zdCBpPSR1KG4pO2F3YWl0IHRoaXMucnBjVW5zdWJzY3JpYmUoZSxyLGkpO2NvbnN0IG89WnQoIlVTRVJfRElTQ09OTkVDVEVEIixgJHt0aGlzLm5hbWV9LCAke2V9YCk7YXdhaXQgdGhpcy5vblVuc3Vic2NyaWJlKGUscixvKSx0aGlzLmxvZ2dlci5kZWJ1ZygiU3VjY2Vzc2Z1bGx5IFVuc3Vic2NyaWJlZCBUb3BpYyIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoidW5zdWJzY3JpYmUiLHBhcmFtczp7dG9waWM6ZSxpZDpyLG9wdHM6bn19KX1jYXRjaChpKXt0aHJvdyB0aGlzLmxvZ2dlci5kZWJ1ZygiRmFpbGVkIHRvIFVuc3Vic2NyaWJlIFRvcGljIiksdGhpcy5sb2dnZXIuZXJyb3IoaSksaX19YXN5bmMgcnBjU3Vic2NyaWJlKGUscil7Y29uc3Qgbj17bWV0aG9kOlphKHIucHJvdG9jb2wpLnN1YnNjcmliZSxwYXJhbXM6e3RvcGljOmV9fTt0aGlzLmxvZ2dlci5kZWJ1ZygiT3V0Z29pbmcgUmVsYXkgUGF5bG9hZCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJwYXlsb2FkIixkaXJlY3Rpb246Im91dGdvaW5nIixyZXF1ZXN0Om59KTt0cnl7YXdhaXQgYXdhaXQgR2EodGhpcy5yZWxheWVyLnJlcXVlc3QobiksdGhpcy5zdWJzY3JpYmVUaW1lb3V0KX1jYXRjaHt0aGlzLmxvZ2dlci5kZWJ1ZygiT3V0Z29pbmcgUmVsYXkgU3Vic2NyaWJlIFBheWxvYWQgc3RhbGxlZCIpLHRoaXMucmVsYXllci5ldmVudHMuZW1pdChyci5jb25uZWN0aW9uX3N0YWxsZWQpfXJldHVybiBBcyhlK3RoaXMuY2xpZW50SWQpfWFzeW5jIHJwY0JhdGNoU3Vic2NyaWJlKGUpe2lmKCFlLmxlbmd0aClyZXR1cm47Y29uc3Qgcj1lWzBdLnJlbGF5LG49e21ldGhvZDpaYShyLnByb3RvY29sKS5iYXRjaFN1YnNjcmliZSxwYXJhbXM6e3RvcGljczplLm1hcChpPT5pLnRvcGljKX19O3RoaXMubG9nZ2VyLmRlYnVnKCJPdXRnb2luZyBSZWxheSBQYXlsb2FkIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6InBheWxvYWQiLGRpcmVjdGlvbjoib3V0Z29pbmciLHJlcXVlc3Q6bn0pO3RyeXtyZXR1cm4gYXdhaXQgYXdhaXQgR2EodGhpcy5yZWxheWVyLnJlcXVlc3QobiksdGhpcy5zdWJzY3JpYmVUaW1lb3V0KX1jYXRjaHt0aGlzLmxvZ2dlci5kZWJ1ZygiT3V0Z29pbmcgUmVsYXkgUGF5bG9hZCBzdGFsbGVkIiksdGhpcy5yZWxheWVyLmV2ZW50cy5lbWl0KHJyLmNvbm5lY3Rpb25fc3RhbGxlZCl9fXJwY1Vuc3Vic2NyaWJlKGUscixuKXtjb25zdCBpPXttZXRob2Q6WmEobi5wcm90b2NvbCkudW5zdWJzY3JpYmUscGFyYW1zOnt0b3BpYzplLGlkOnJ9fTtyZXR1cm4gdGhpcy5sb2dnZXIuZGVidWcoIk91dGdvaW5nIFJlbGF5IFBheWxvYWQiKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToicGF5bG9hZCIsZGlyZWN0aW9uOiJvdXRnb2luZyIscmVxdWVzdDppfSksdGhpcy5yZWxheWVyLnJlcXVlc3QoaSl9b25TdWJzY3JpYmUoZSxyKXt0aGlzLnNldFN1YnNjcmlwdGlvbihlLGFoKHpvKHt9LHIpLHtpZDplfSkpLHRoaXMucGVuZGluZy5kZWxldGUoci50b3BpYyl9b25CYXRjaFN1YnNjcmliZShlKXtlLmxlbmd0aCYmZS5mb3JFYWNoKHI9Pnt0aGlzLnNldFN1YnNjcmlwdGlvbihyLmlkLHpvKHt9LHIpKSx0aGlzLnBlbmRpbmcuZGVsZXRlKHIudG9waWMpfSl9YXN5bmMgb25VbnN1YnNjcmliZShlLHIsbil7dGhpcy5ldmVudHMucmVtb3ZlQWxsTGlzdGVuZXJzKHIpLHRoaXMuaGFzU3Vic2NyaXB0aW9uKHIsZSkmJnRoaXMuZGVsZXRlU3Vic2NyaXB0aW9uKHIsbiksYXdhaXQgdGhpcy5yZWxheWVyLm1lc3NhZ2VzLmRlbChlKX1hc3luYyBzZXRSZWxheWVyU3Vic2NyaXB0aW9ucyhlKXthd2FpdCB0aGlzLnJlbGF5ZXIuY29yZS5zdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlS2V5LGUpfWFzeW5jIGdldFJlbGF5ZXJTdWJzY3JpcHRpb25zKCl7cmV0dXJuIGF3YWl0IHRoaXMucmVsYXllci5jb3JlLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpfXNldFN1YnNjcmlwdGlvbihlLHIpe3RoaXMuc3Vic2NyaXB0aW9ucy5oYXMoZSl8fCh0aGlzLmxvZ2dlci5kZWJ1ZygiU2V0dGluZyBzdWJzY3JpcHRpb24iKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6InNldFN1YnNjcmlwdGlvbiIsaWQ6ZSxzdWJzY3JpcHRpb246cn0pLHRoaXMuYWRkU3Vic2NyaXB0aW9uKGUscikpfWFkZFN1YnNjcmlwdGlvbihlLHIpe3RoaXMuc3Vic2NyaXB0aW9ucy5zZXQoZSx6byh7fSxyKSksdGhpcy50b3BpY01hcC5zZXQoci50b3BpYyxlKSx0aGlzLmV2ZW50cy5lbWl0KFBuLmNyZWF0ZWQscil9Z2V0U3Vic2NyaXB0aW9uKGUpe3RoaXMubG9nZ2VyLmRlYnVnKCJHZXR0aW5nIHN1YnNjcmlwdGlvbiIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoiZ2V0U3Vic2NyaXB0aW9uIixpZDplfSk7Y29uc3Qgcj10aGlzLnN1YnNjcmlwdGlvbnMuZ2V0KGUpO2lmKCFyKXtjb25zdHttZXNzYWdlOm59PV9lKCJOT19NQVRDSElOR19LRVkiLGAke3RoaXMubmFtZX06ICR7ZX1gKTt0aHJvdyBuZXcgRXJyb3Iobil9cmV0dXJuIHJ9ZGVsZXRlU3Vic2NyaXB0aW9uKGUscil7dGhpcy5sb2dnZXIuZGVidWcoIkRlbGV0aW5nIHN1YnNjcmlwdGlvbiIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoiZGVsZXRlU3Vic2NyaXB0aW9uIixpZDplLHJlYXNvbjpyfSk7Y29uc3Qgbj10aGlzLmdldFN1YnNjcmlwdGlvbihlKTt0aGlzLnN1YnNjcmlwdGlvbnMuZGVsZXRlKGUpLHRoaXMudG9waWNNYXAuZGVsZXRlKG4udG9waWMsZSksdGhpcy5ldmVudHMuZW1pdChQbi5kZWxldGVkLGFoKHpvKHt9LG4pLHtyZWFzb246cn0pKX1hc3luYyBwZXJzaXN0KCl7YXdhaXQgdGhpcy5zZXRSZWxheWVyU3Vic2NyaXB0aW9ucyh0aGlzLnZhbHVlcyksdGhpcy5ldmVudHMuZW1pdChQbi5zeW5jKX1hc3luYyByZXNldCgpe2lmKHRoaXMuY2FjaGVkLmxlbmd0aCl7Y29uc3QgZT1NYXRoLmNlaWwodGhpcy5jYWNoZWQubGVuZ3RoL3RoaXMuYmF0Y2hTdWJzY3JpYmVUb3BpY3NMaW1pdCk7Zm9yKGxldCByPTA7cjxlO3IrKyl7Y29uc3Qgbj10aGlzLmNhY2hlZC5zcGxpY2UoMCx0aGlzLmJhdGNoU3Vic2NyaWJlVG9waWNzTGltaXQpO2F3YWl0IHRoaXMuYmF0Y2hTdWJzY3JpYmUobil9fXRoaXMuZXZlbnRzLmVtaXQoUG4ucmVzdWJzY3JpYmVkKX1hc3luYyByZXN0b3JlKCl7dHJ5e2NvbnN0IGU9YXdhaXQgdGhpcy5nZXRSZWxheWVyU3Vic2NyaXB0aW9ucygpO2lmKHR5cGVvZiBlPiJ1Inx8IWUubGVuZ3RoKXJldHVybjtpZih0aGlzLnN1YnNjcmlwdGlvbnMuc2l6ZSl7Y29uc3R7bWVzc2FnZTpyfT1fZSgiUkVTVE9SRV9XSUxMX09WRVJSSURFIix0aGlzLm5hbWUpO3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKHIpLHRoaXMubG9nZ2VyLmVycm9yKGAke3RoaXMubmFtZX06ICR7SlNPTi5zdHJpbmdpZnkodGhpcy52YWx1ZXMpfWApLG5ldyBFcnJvcihyKX10aGlzLmNhY2hlZD1lLHRoaXMubG9nZ2VyLmRlYnVnKGBTdWNjZXNzZnVsbHkgUmVzdG9yZWQgc3Vic2NyaXB0aW9ucyBmb3IgJHt0aGlzLm5hbWV9YCksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJyZXN0b3JlIixzdWJzY3JpcHRpb25zOnRoaXMudmFsdWVzfSl9Y2F0Y2goZSl7dGhpcy5sb2dnZXIuZGVidWcoYEZhaWxlZCB0byBSZXN0b3JlIHN1YnNjcmlwdGlvbnMgZm9yICR7dGhpcy5uYW1lfWApLHRoaXMubG9nZ2VyLmVycm9yKGUpfX1hc3luYyBiYXRjaFN1YnNjcmliZShlKXtpZighZS5sZW5ndGgpcmV0dXJuO2NvbnN0IHI9YXdhaXQgdGhpcy5ycGNCYXRjaFN1YnNjcmliZShlKTt6bihyKSYmdGhpcy5vbkJhdGNoU3Vic2NyaWJlKHIubWFwKChuLGkpPT5haCh6byh7fSxlW2ldKSx7aWQ6bn0pKSl9YXN5bmMgb25Db25uZWN0KCl7dGhpcy5yZXN0YXJ0SW5Qcm9ncmVzc3x8KGF3YWl0IHRoaXMucmVzdGFydCgpLHRoaXMub25FbmFibGUoKSl9b25EaXNjb25uZWN0KCl7dGhpcy5vbkRpc2FibGUoKX1hc3luYyBjaGVja1BlbmRpbmcoKXtpZih0aGlzLnJlbGF5ZXIudHJhbnNwb3J0RXhwbGljaXRseUNsb3NlZClyZXR1cm47Y29uc3QgZT1bXTt0aGlzLnBlbmRpbmcuZm9yRWFjaChyPT57ZS5wdXNoKHIpfSksYXdhaXQgdGhpcy5iYXRjaFN1YnNjcmliZShlKX1yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCl7dGhpcy5yZWxheWVyLmNvcmUuaGVhcnRiZWF0Lm9uKFRvLkhFQVJUQkVBVF9FVkVOVFMucHVsc2UsYXN5bmMoKT0+e2F3YWl0IHRoaXMuY2hlY2tQZW5kaW5nKCl9KSx0aGlzLnJlbGF5ZXIub24ocnIuY29ubmVjdCxhc3luYygpPT57YXdhaXQgdGhpcy5vbkNvbm5lY3QoKX0pLHRoaXMucmVsYXllci5vbihyci5kaXNjb25uZWN0LCgpPT57dGhpcy5vbkRpc2Nvbm5lY3QoKX0pLHRoaXMuZXZlbnRzLm9uKFBuLmNyZWF0ZWQsYXN5bmMgZT0+e2NvbnN0IHI9UG4uY3JlYXRlZDt0aGlzLmxvZ2dlci5pbmZvKGBFbWl0dGluZyAke3J9YCksdGhpcy5sb2dnZXIuZGVidWcoe3R5cGU6ImV2ZW50IixldmVudDpyLGRhdGE6ZX0pLGF3YWl0IHRoaXMucGVyc2lzdCgpfSksdGhpcy5ldmVudHMub24oUG4uZGVsZXRlZCxhc3luYyBlPT57Y29uc3Qgcj1Qbi5kZWxldGVkO3RoaXMubG9nZ2VyLmluZm8oYEVtaXR0aW5nICR7cn1gKSx0aGlzLmxvZ2dlci5kZWJ1Zyh7dHlwZToiZXZlbnQiLGV2ZW50OnIsZGF0YTplfSksYXdhaXQgdGhpcy5wZXJzaXN0KCl9KX1pc0luaXRpYWxpemVkKCl7aWYoIXRoaXMuaW5pdGlhbGl6ZWQpe2NvbnN0e21lc3NhZ2U6ZX09X2UoIk5PVF9JTklUSUFMSVpFRCIsdGhpcy5uYW1lKTt0aHJvdyBuZXcgRXJyb3IoZSl9fWFzeW5jIHJlc3RhcnRUb0NvbXBsZXRlKCl7dGhpcy5yZXN0YXJ0SW5Qcm9ncmVzcyYmYXdhaXQgbmV3IFByb21pc2UoZT0+e2NvbnN0IHI9c2V0SW50ZXJ2YWwoKCk9Pnt0aGlzLnJlc3RhcnRJblByb2dyZXNzfHwoY2xlYXJJbnRlcnZhbChyKSxlKCkpfSx0aGlzLnBvbGxpbmdJbnRlcnZhbCl9KX19dmFyIEZFPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxpZz1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLEJFPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksa0U9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxzZz0odCxlLHIpPT5lIGluIHQ/RkUodCxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpyfSk6dFtlXT1yLEhFPSh0LGUpPT57Zm9yKHZhciByIGluIGV8fChlPXt9KSlCRS5jYWxsKGUscikmJnNnKHQscixlW3JdKTtpZihpZylmb3IodmFyIHIgb2YgaWcoZSkpa0UuY2FsbChlLHIpJiZzZyh0LHIsZVtyXSk7cmV0dXJuIHR9O2NsYXNzIHpFIGV4dGVuZHMgdjR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5wcm90b2NvbD0id2MiLHRoaXMudmVyc2lvbj0yLHRoaXMuZXZlbnRzPW5ldyBici5leHBvcnRzLkV2ZW50RW1pdHRlcix0aGlzLm5hbWU9ZEUsdGhpcy50cmFuc3BvcnRFeHBsaWNpdGx5Q2xvc2VkPSExLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5yZWNvbm5lY3Rpbmc9ITEsdGhpcy5jb25uZWN0aW9uU3RhdHVzUG9sbGluZ0ludGVydmFsPTIwLHRoaXMuc3RhbGVDb25uZWN0aW9uRXJyb3JzPVsic29ja2V0IGhhbmcgdXAiLCJzb2NrZXQgc3RhbGxlZCJdLHRoaXMucmVxdWVzdD1hc3luYyByPT57dGhpcy5sb2dnZXIuZGVidWcoIlB1Ymxpc2hpbmcgUmVxdWVzdCBQYXlsb2FkIik7dHJ5e3JldHVybiBhd2FpdCB0aGlzLnRvRXN0YWJsaXNoQ29ubmVjdGlvbigpLGF3YWl0IHRoaXMucHJvdmlkZXIucmVxdWVzdChyKX1jYXRjaChuKXt0aHJvdyB0aGlzLmxvZ2dlci5kZWJ1ZygiRmFpbGVkIHRvIFB1Ymxpc2ggUmVxdWVzdCIpLHRoaXMubG9nZ2VyLmVycm9yKG4pLG59fSx0aGlzLmNvcmU9ZS5jb3JlLHRoaXMubG9nZ2VyPXR5cGVvZiBlLmxvZ2dlcjwidSImJnR5cGVvZiBlLmxvZ2dlciE9InN0cmluZyI/cHQuZ2VuZXJhdGVDaGlsZExvZ2dlcihlLmxvZ2dlcix0aGlzLm5hbWUpOnB0LnBpbm8ocHQuZ2V0RGVmYXVsdExvZ2dlck9wdGlvbnMoe2xldmVsOmUubG9nZ2VyfHxmRX0pKSx0aGlzLm1lc3NhZ2VzPW5ldyAkRSh0aGlzLmxvZ2dlcixlLmNvcmUpLHRoaXMuc3Vic2NyaWJlcj1uZXcgakUodGhpcyx0aGlzLmxvZ2dlciksdGhpcy5wdWJsaXNoZXI9bmV3IFBFKHRoaXMsdGhpcy5sb2dnZXIpLHRoaXMucmVsYXlVcmw9ZT8ucmVsYXlVcmx8fGVnLHRoaXMucHJvamVjdElkPWUucHJvamVjdElkLHRoaXMucHJvdmlkZXI9e319YXN5bmMgaW5pdCgpe3RoaXMubG9nZ2VyLnRyYWNlKCJJbml0aWFsaXplZCIpLGF3YWl0IHRoaXMuY3JlYXRlUHJvdmlkZXIoKSxhd2FpdCBQcm9taXNlLmFsbChbdGhpcy5tZXNzYWdlcy5pbml0KCksdGhpcy50cmFuc3BvcnRPcGVuKCksdGhpcy5zdWJzY3JpYmVyLmluaXQoKV0pLHRoaXMucmVnaXN0ZXJFdmVudExpc3RlbmVycygpLHRoaXMuaW5pdGlhbGl6ZWQ9ITAsc2V0VGltZW91dChhc3luYygpPT57dGhpcy5zdWJzY3JpYmVyLnRvcGljcy5sZW5ndGg9PT0wJiYodGhpcy5sb2dnZXIuaW5mbygiTm8gdG9waWNzIHN1YnNjcmlidGVkIHRvIGFmdGVyIGluaXQsIGNsb3NpbmcgdHJhbnNwb3J0IiksYXdhaXQgdGhpcy50cmFuc3BvcnRDbG9zZSgpLHRoaXMudHJhbnNwb3J0RXhwbGljaXRseUNsb3NlZD0hMSl9LHdFKX1nZXQgY29udGV4dCgpe3JldHVybiBwdC5nZXRMb2dnZXJDb250ZXh0KHRoaXMubG9nZ2VyKX1nZXQgY29ubmVjdGVkKCl7cmV0dXJuIHRoaXMucHJvdmlkZXIuY29ubmVjdGlvbi5jb25uZWN0ZWR9Z2V0IGNvbm5lY3RpbmcoKXtyZXR1cm4gdGhpcy5wcm92aWRlci5jb25uZWN0aW9uLmNvbm5lY3Rpbmd9YXN5bmMgcHVibGlzaChlLHIsbil7dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5wdWJsaXNoZXIucHVibGlzaChlLHIsbiksYXdhaXQgdGhpcy5yZWNvcmRNZXNzYWdlRXZlbnQoe3RvcGljOmUsbWVzc2FnZTpyLHB1Ymxpc2hlZEF0OkRhdGUubm93KCl9KX1hc3luYyBzdWJzY3JpYmUoZSxyKXt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtsZXQgbj0iIjtyZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGwoW25ldyBQcm9taXNlKGk9Pnt0aGlzLnN1YnNjcmliZXIub25jZShQbi5jcmVhdGVkLG89PntvLnRvcGljPT09ZSYmaSgpfSl9KSxuZXcgUHJvbWlzZShhc3luYyBpPT57bj1hd2FpdCB0aGlzLnN1YnNjcmliZXIuc3Vic2NyaWJlKGUsciksaSgpfSldKSxufWFzeW5jIHVuc3Vic2NyaWJlKGUscil7dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5zdWJzY3JpYmVyLnVuc3Vic2NyaWJlKGUscil9b24oZSxyKXt0aGlzLmV2ZW50cy5vbihlLHIpfW9uY2UoZSxyKXt0aGlzLmV2ZW50cy5vbmNlKGUscil9b2ZmKGUscil7dGhpcy5ldmVudHMub2ZmKGUscil9cmVtb3ZlTGlzdGVuZXIoZSxyKXt0aGlzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihlLHIpfWFzeW5jIHRyYW5zcG9ydENsb3NlKCl7dGhpcy50cmFuc3BvcnRFeHBsaWNpdGx5Q2xvc2VkPSEwLHRoaXMuY29ubmVjdGVkJiYoYXdhaXQgdGhpcy5wcm92aWRlci5kaXNjb25uZWN0KCksdGhpcy5ldmVudHMuZW1pdChyci50cmFuc3BvcnRfY2xvc2VkKSl9YXN5bmMgdHJhbnNwb3J0T3BlbihlKXtpZih0aGlzLnRyYW5zcG9ydEV4cGxpY2l0bHlDbG9zZWQ9ITEsIXRoaXMucmVjb25uZWN0aW5nKXt0aGlzLnJlbGF5VXJsPWV8fHRoaXMucmVsYXlVcmwsdGhpcy5yZWNvbm5lY3Rpbmc9ITA7dHJ5e2F3YWl0IFByb21pc2UuYWxsKFtuZXcgUHJvbWlzZShyPT57dGhpcy5pbml0aWFsaXplZHx8cigpLHRoaXMuc3Vic2NyaWJlci5vbmNlKFBuLnJlc3Vic2NyaWJlZCwoKT0+e3IoKX0pfSksYXdhaXQgUHJvbWlzZS5yYWNlKFtuZXcgUHJvbWlzZShhc3luYyhyLG4pPT57YXdhaXQgR2EodGhpcy5wcm92aWRlci5jb25uZWN0KCksNWUzLCJzb2NrZXQgc3RhbGxlZCIpLmNhdGNoKGk9Pm4oaSkpLnRoZW4oKCk9PnIoKSkuZmluYWxseSgoKT0+dGhpcy5yZW1vdmVMaXN0ZW5lcihyci50cmFuc3BvcnRfY2xvc2VkLHRoaXMucmVqZWN0VHJhbnNwb3J0T3BlbikpfSksbmV3IFByb21pc2Uocj0+dGhpcy5vbmNlKHJyLnRyYW5zcG9ydF9jbG9zZWQsdGhpcy5yZWplY3RUcmFuc3BvcnRPcGVuKSldKV0pfWNhdGNoKHIpe3RoaXMubG9nZ2VyLmVycm9yKHIpO2NvbnN0IG49cjtpZighdGhpcy5pc0Nvbm5lY3Rpb25TdGFsbGVkKG4ubWVzc2FnZSkpdGhyb3cgcjt0aGlzLmV2ZW50cy5lbWl0KHJyLnRyYW5zcG9ydF9jbG9zZWQpfWZpbmFsbHl7dGhpcy5yZWNvbm5lY3Rpbmc9ITF9fX1hc3luYyByZXN0YXJ0VHJhbnNwb3J0KGUpe3RoaXMudHJhbnNwb3J0RXhwbGljaXRseUNsb3NlZHx8KHRoaXMucmVsYXlVcmw9ZXx8dGhpcy5yZWxheVVybCx0aGlzLmNvbm5lY3RlZCYmYXdhaXQgUHJvbWlzZS5hbGwoW25ldyBQcm9taXNlKHI9Pnt0aGlzLnByb3ZpZGVyLm9uY2Uoa28uZGlzY29ubmVjdCwoKT0+e3IoKX0pfSksdGhpcy50cmFuc3BvcnRDbG9zZSgpXSksYXdhaXQgdGhpcy5jcmVhdGVQcm92aWRlcigpLGF3YWl0IHRoaXMudHJhbnNwb3J0T3BlbigpKX1pc0Nvbm5lY3Rpb25TdGFsbGVkKGUpe3JldHVybiB0aGlzLnN0YWxlQ29ubmVjdGlvbkVycm9ycy5zb21lKHI9PmUuaW5jbHVkZXMocikpfXJlamVjdFRyYW5zcG9ydE9wZW4oKXt0aHJvdyBuZXcgRXJyb3IoImNsb3NlVHJhbnNwb3J0IGNhbGxlZCBiZWZvcmUgY29ubmVjdGlvbiB3YXMgZXN0YWJsaXNoZWQiKX1hc3luYyBjcmVhdGVQcm92aWRlcigpe2NvbnN0IGU9YXdhaXQgdGhpcy5jb3JlLmNyeXB0by5zaWduSldUKHRoaXMucmVsYXlVcmwpO3RoaXMucHJvdmlkZXI9bmV3IGhpKG5ldyBTXyhyYih7c2RrVmVyc2lvbjptRSxwcm90b2NvbDp0aGlzLnByb3RvY29sLHZlcnNpb246dGhpcy52ZXJzaW9uLHJlbGF5VXJsOnRoaXMucmVsYXlVcmwscHJvamVjdElkOnRoaXMucHJvamVjdElkLGF1dGg6ZSx1c2VPbkNsb3NlRXZlbnQ6ITB9KSkpLHRoaXMucmVnaXN0ZXJQcm92aWRlckxpc3RlbmVycygpfWFzeW5jIHJlY29yZE1lc3NhZ2VFdmVudChlKXtjb25zdHt0b3BpYzpyLG1lc3NhZ2U6bn09ZTthd2FpdCB0aGlzLm1lc3NhZ2VzLnNldChyLG4pfWFzeW5jIHNob3VsZElnbm9yZU1lc3NhZ2VFdmVudChlKXtjb25zdHt0b3BpYzpyLG1lc3NhZ2U6bn09ZTtyZXR1cm4gYXdhaXQgdGhpcy5zdWJzY3JpYmVyLmlzU3Vic2NyaWJlZChyKT90aGlzLm1lc3NhZ2VzLmhhcyhyLG4pOiEwfWFzeW5jIG9uUHJvdmlkZXJQYXlsb2FkKGUpe2lmKHRoaXMubG9nZ2VyLmRlYnVnKCJJbmNvbWluZyBSZWxheSBQYXlsb2FkIiksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6InBheWxvYWQiLGRpcmVjdGlvbjoiaW5jb21pbmciLHBheWxvYWQ6ZX0pLGVoKGUpKXtpZighZS5tZXRob2QuZW5kc1dpdGgocEUpKXJldHVybjtjb25zdCByPWUucGFyYW1zLHt0b3BpYzpuLG1lc3NhZ2U6aSxwdWJsaXNoZWRBdDpvfT1yLmRhdGEsYz17dG9waWM6bixtZXNzYWdlOmkscHVibGlzaGVkQXQ6b307dGhpcy5sb2dnZXIuZGVidWcoIkVtaXR0aW5nIFJlbGF5ZXIgUGF5bG9hZCIpLHRoaXMubG9nZ2VyLnRyYWNlKEhFKHt0eXBlOiJldmVudCIsZXZlbnQ6ci5pZH0sYykpLHRoaXMuZXZlbnRzLmVtaXQoci5pZCxjKSxhd2FpdCB0aGlzLmFja25vd2xlZGdlUGF5bG9hZChlKSxhd2FpdCB0aGlzLm9uTWVzc2FnZUV2ZW50KGMpfWVsc2UgbmMoZSkmJnRoaXMuZXZlbnRzLmVtaXQocnIubWVzc2FnZV9hY2ssZSl9YXN5bmMgb25NZXNzYWdlRXZlbnQoZSl7YXdhaXQgdGhpcy5zaG91bGRJZ25vcmVNZXNzYWdlRXZlbnQoZSl8fCh0aGlzLmV2ZW50cy5lbWl0KHJyLm1lc3NhZ2UsZSksYXdhaXQgdGhpcy5yZWNvcmRNZXNzYWdlRXZlbnQoZSkpfWFzeW5jIGFja25vd2xlZGdlUGF5bG9hZChlKXtjb25zdCByPVF1KGUuaWQsITApO2F3YWl0IHRoaXMucHJvdmlkZXIuY29ubmVjdGlvbi5zZW5kKHIpfXJlZ2lzdGVyUHJvdmlkZXJMaXN0ZW5lcnMoKXt0aGlzLnByb3ZpZGVyLm9uKGtvLnBheWxvYWQsZT0+dGhpcy5vblByb3ZpZGVyUGF5bG9hZChlKSksdGhpcy5wcm92aWRlci5vbihrby5jb25uZWN0LCgpPT57dGhpcy5ldmVudHMuZW1pdChyci5jb25uZWN0KX0pLHRoaXMucHJvdmlkZXIub24oa28uZGlzY29ubmVjdCwoKT0+e3RoaXMub25Qcm92aWRlckRpc2Nvbm5lY3QoKX0pLHRoaXMucHJvdmlkZXIub24oa28uZXJyb3IsZT0+e3RoaXMubG9nZ2VyLmVycm9yKGUpLHRoaXMuZXZlbnRzLmVtaXQocnIuZXJyb3IsZSl9KX1yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCl7dGhpcy5ldmVudHMub24ocnIuY29ubmVjdGlvbl9zdGFsbGVkLGFzeW5jKCk9Pnthd2FpdCB0aGlzLnJlc3RhcnRUcmFuc3BvcnQoKX0pfW9uUHJvdmlkZXJEaXNjb25uZWN0KCl7dGhpcy5ldmVudHMuZW1pdChyci5kaXNjb25uZWN0KSx0aGlzLmF0dGVtcHRUb1JlY29ubmVjdCgpfWF0dGVtcHRUb1JlY29ubmVjdCgpe3RoaXMudHJhbnNwb3J0RXhwbGljaXRseUNsb3NlZHx8c2V0VGltZW91dChhc3luYygpPT57YXdhaXQgdGhpcy5yZXN0YXJ0VHJhbnNwb3J0KCl9LGtlLnRvTWlsaXNlY29uZHMoZ0UpKX1pc0luaXRpYWxpemVkKCl7aWYoIXRoaXMuaW5pdGlhbGl6ZWQpe2NvbnN0e21lc3NhZ2U6ZX09X2UoIk5PVF9JTklUSUFMSVpFRCIsdGhpcy5uYW1lKTt0aHJvdyBuZXcgRXJyb3IoZSl9fWFzeW5jIHRvRXN0YWJsaXNoQ29ubmVjdGlvbigpe2lmKCF0aGlzLmNvbm5lY3RlZCl7aWYodGhpcy5jb25uZWN0aW5nKXJldHVybiBhd2FpdCBuZXcgUHJvbWlzZShlPT57Y29uc3Qgcj1zZXRJbnRlcnZhbCgoKT0+e3RoaXMuY29ubmVjdGVkJiYoY2xlYXJJbnRlcnZhbChyKSxlKCkpfSx0aGlzLmNvbm5lY3Rpb25TdGF0dXNQb2xsaW5nSW50ZXJ2YWwpfSk7YXdhaXQgdGhpcy5yZXN0YXJ0VHJhbnNwb3J0KCl9fX12YXIgV0U9T2JqZWN0LmRlZmluZVByb3BlcnR5LG9nPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMscUU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxWRT1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLGFnPSh0LGUscik9PmUgaW4gdD9XRSh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnJ9KTp0W2VdPXIsY2c9KHQsZSk9Pntmb3IodmFyIHIgaW4gZXx8KGU9e30pKXFFLmNhbGwoZSxyKSYmYWcodCxyLGVbcl0pO2lmKG9nKWZvcih2YXIgciBvZiBvZyhlKSlWRS5jYWxsKGUscikmJmFnKHQscixlW3JdKTtyZXR1cm4gdH07Y2xhc3Mgc2MgZXh0ZW5kcyB5NHtjb25zdHJ1Y3RvcihlLHIsbixpPWZpLG89dm9pZCAwKXtzdXBlcihlLHIsbixpKSx0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj1yLHRoaXMubmFtZT1uLHRoaXMubWFwPW5ldyBNYXAsdGhpcy52ZXJzaW9uPXZFLHRoaXMuY2FjaGVkPVtdLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5zdG9yYWdlUHJlZml4PWZpLHRoaXMuaW5pdD1hc3luYygpPT57dGhpcy5pbml0aWFsaXplZHx8KHRoaXMubG9nZ2VyLnRyYWNlKCJJbml0aWFsaXplZCIpLGF3YWl0IHRoaXMucmVzdG9yZSgpLHRoaXMuY2FjaGVkLmZvckVhY2goYz0+e3RoaXMuZ2V0S2V5JiZjIT09bnVsbCYmIVByKGMpP3RoaXMubWFwLnNldCh0aGlzLmdldEtleShjKSxjKTpDYihjKT90aGlzLm1hcC5zZXQoYy5pZCxjKTpJYihjKSYmdGhpcy5tYXAuc2V0KGMudG9waWMsYyl9KSx0aGlzLmNhY2hlZD1bXSx0aGlzLmluaXRpYWxpemVkPSEwKX0sdGhpcy5zZXQ9YXN5bmMoYyxsKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMubWFwLmhhcyhjKT9hd2FpdCB0aGlzLnVwZGF0ZShjLGwpOih0aGlzLmxvZ2dlci5kZWJ1ZygiU2V0dGluZyB2YWx1ZSIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoic2V0IixrZXk6Yyx2YWx1ZTpsfSksdGhpcy5tYXAuc2V0KGMsbCksYXdhaXQgdGhpcy5wZXJzaXN0KCkpfSx0aGlzLmdldD1jPT4odGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5sb2dnZXIuZGVidWcoIkdldHRpbmcgdmFsdWUiKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6ImdldCIsa2V5OmN9KSx0aGlzLmdldERhdGEoYykpLHRoaXMuZ2V0QWxsPWM9Pih0aGlzLmlzSW5pdGlhbGl6ZWQoKSxjP3RoaXMudmFsdWVzLmZpbHRlcihsPT5PYmplY3Qua2V5cyhjKS5ldmVyeShoPT5EXyhsW2hdLGNbaF0pKSk6dGhpcy52YWx1ZXMpLHRoaXMudXBkYXRlPWFzeW5jKGMsbCk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLmxvZ2dlci5kZWJ1ZygiVXBkYXRpbmcgdmFsdWUiKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6InVwZGF0ZSIsa2V5OmMsdXBkYXRlOmx9KTtjb25zdCBoPWNnKGNnKHt9LHRoaXMuZ2V0RGF0YShjKSksbCk7dGhpcy5tYXAuc2V0KGMsaCksYXdhaXQgdGhpcy5wZXJzaXN0KCl9LHRoaXMuZGVsZXRlPWFzeW5jKGMsbCk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLm1hcC5oYXMoYykmJih0aGlzLmxvZ2dlci5kZWJ1ZygiRGVsZXRpbmcgdmFsdWUiKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6ImRlbGV0ZSIsa2V5OmMscmVhc29uOmx9KSx0aGlzLm1hcC5kZWxldGUoYyksYXdhaXQgdGhpcy5wZXJzaXN0KCkpfSx0aGlzLmxvZ2dlcj1wdC5nZW5lcmF0ZUNoaWxkTG9nZ2VyKHIsdGhpcy5uYW1lKSx0aGlzLnN0b3JhZ2VQcmVmaXg9aSx0aGlzLmdldEtleT1vfWdldCBjb250ZXh0KCl7cmV0dXJuIHB0LmdldExvZ2dlckNvbnRleHQodGhpcy5sb2dnZXIpfWdldCBzdG9yYWdlS2V5KCl7cmV0dXJuIHRoaXMuc3RvcmFnZVByZWZpeCt0aGlzLnZlcnNpb24rIi8vIit0aGlzLm5hbWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLm1hcC5zaXplfWdldCBrZXlzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5tYXAua2V5cygpKX1nZXQgdmFsdWVzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5tYXAudmFsdWVzKCkpfWFzeW5jIHNldERhdGFTdG9yZShlKXthd2FpdCB0aGlzLmNvcmUuc3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZUtleSxlKX1hc3luYyBnZXREYXRhU3RvcmUoKXtyZXR1cm4gYXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpfWdldERhdGEoZSl7Y29uc3Qgcj10aGlzLm1hcC5nZXQoZSk7aWYoIXIpe2NvbnN0e21lc3NhZ2U6bn09X2UoIk5PX01BVENISU5HX0tFWSIsYCR7dGhpcy5uYW1lfTogJHtlfWApO3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKG4pLG5ldyBFcnJvcihuKX1yZXR1cm4gcn1hc3luYyBwZXJzaXN0KCl7YXdhaXQgdGhpcy5zZXREYXRhU3RvcmUodGhpcy52YWx1ZXMpfWFzeW5jIHJlc3RvcmUoKXt0cnl7Y29uc3QgZT1hd2FpdCB0aGlzLmdldERhdGFTdG9yZSgpO2lmKHR5cGVvZiBlPiJ1Inx8IWUubGVuZ3RoKXJldHVybjtpZih0aGlzLm1hcC5zaXplKXtjb25zdHttZXNzYWdlOnJ9PV9lKCJSRVNUT1JFX1dJTExfT1ZFUlJJREUiLHRoaXMubmFtZSk7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IociksbmV3IEVycm9yKHIpfXRoaXMuY2FjaGVkPWUsdGhpcy5sb2dnZXIuZGVidWcoYFN1Y2Nlc3NmdWxseSBSZXN0b3JlZCB2YWx1ZSBmb3IgJHt0aGlzLm5hbWV9YCksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJyZXN0b3JlIix2YWx1ZTp0aGlzLnZhbHVlc30pfWNhdGNoKGUpe3RoaXMubG9nZ2VyLmRlYnVnKGBGYWlsZWQgdG8gUmVzdG9yZSB2YWx1ZSBmb3IgJHt0aGlzLm5hbWV9YCksdGhpcy5sb2dnZXIuZXJyb3IoZSl9fWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1fZSgiTk9UX0lOSVRJQUxJWkVEIix0aGlzLm5hbWUpO3Rocm93IG5ldyBFcnJvcihlKX19fWNsYXNzIEtFe2NvbnN0cnVjdG9yKGUscil7dGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9cix0aGlzLm5hbWU9RUUsdGhpcy52ZXJzaW9uPXhFLHRoaXMuZXZlbnRzPW5ldyBici5leHBvcnRzLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5zdG9yYWdlUHJlZml4PWZpLHRoaXMuaWdub3JlZFBheWxvYWRUeXBlcz1bQmldLHRoaXMucmVnaXN0ZXJlZE1ldGhvZHM9W10sdGhpcy5pbml0PWFzeW5jKCk9Pnt0aGlzLmluaXRpYWxpemVkfHwoYXdhaXQgdGhpcy5wYWlyaW5ncy5pbml0KCksYXdhaXQgdGhpcy5jbGVhbnVwKCksdGhpcy5yZWdpc3RlclJlbGF5ZXJFdmVudHMoKSx0aGlzLnJlZ2lzdGVyRXhwaXJlckV2ZW50cygpLHRoaXMuaW5pdGlhbGl6ZWQ9ITAsdGhpcy5sb2dnZXIudHJhY2UoIkluaXRpYWxpemVkIikpfSx0aGlzLnJlZ2lzdGVyPSh7bWV0aG9kczpufSk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLnJlZ2lzdGVyZWRNZXRob2RzPVsuLi5uZXcgU2V0KFsuLi50aGlzLnJlZ2lzdGVyZWRNZXRob2RzLC4uLm5dKV19LHRoaXMuY3JlYXRlPWFzeW5jKCk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBuPU91KCksaT1hd2FpdCB0aGlzLmNvcmUuY3J5cHRvLnNldFN5bUtleShuKSxvPSRuKGtlLkZJVkVfTUlOVVRFUyksYz17cHJvdG9jb2w6UXB9LGw9e3RvcGljOmksZXhwaXJ5Om8scmVsYXk6YyxhY3RpdmU6ITF9LGg9cGIoe3Byb3RvY29sOnRoaXMuY29yZS5wcm90b2NvbCx2ZXJzaW9uOnRoaXMuY29yZS52ZXJzaW9uLHRvcGljOmksc3ltS2V5Om4scmVsYXk6Y30pO3JldHVybiBhd2FpdCB0aGlzLnBhaXJpbmdzLnNldChpLGwpLGF3YWl0IHRoaXMuY29yZS5yZWxheWVyLnN1YnNjcmliZShpKSx0aGlzLmNvcmUuZXhwaXJlci5zZXQoaSxvKSx7dG9waWM6aSx1cmk6aH19LHRoaXMucGFpcj1hc3luYyBuPT57dGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5pc1ZhbGlkUGFpcihuKTtjb25zdHt0b3BpYzppLHN5bUtleTpvLHJlbGF5OmN9PWhiKG4udXJpKTtpZih0aGlzLnBhaXJpbmdzLmtleXMuaW5jbHVkZXMoaSkpdGhyb3cgbmV3IEVycm9yKGBQYWlyaW5nIGFscmVhZHkgZXhpc3RzOiAke2l9YCk7aWYodGhpcy5jb3JlLmNyeXB0by5oYXNLZXlzKGkpKXRocm93IG5ldyBFcnJvcihgS2V5Y2hhaW4gYWxyZWFkeSBleGlzdHM6ICR7aX1gKTtjb25zdCBsPSRuKGtlLkZJVkVfTUlOVVRFUyksaD17dG9waWM6aSxyZWxheTpjLGV4cGlyeTpsLGFjdGl2ZTohMX07cmV0dXJuIGF3YWl0IHRoaXMucGFpcmluZ3Muc2V0KGksaCksYXdhaXQgdGhpcy5jb3JlLmNyeXB0by5zZXRTeW1LZXkobyxpKSxhd2FpdCB0aGlzLmNvcmUucmVsYXllci5zdWJzY3JpYmUoaSx7cmVsYXk6Y30pLHRoaXMuY29yZS5leHBpcmVyLnNldChpLGwpLG4uYWN0aXZhdGVQYWlyaW5nJiZhd2FpdCB0aGlzLmFjdGl2YXRlKHt0b3BpYzppfSksaH0sdGhpcy5hY3RpdmF0ZT1hc3luYyh7dG9waWM6bn0pPT57dGhpcy5pc0luaXRpYWxpemVkKCk7Y29uc3QgaT0kbihrZS5USElSVFlfREFZUyk7YXdhaXQgdGhpcy5wYWlyaW5ncy51cGRhdGUobix7YWN0aXZlOiEwLGV4cGlyeTppfSksdGhpcy5jb3JlLmV4cGlyZXIuc2V0KG4saSl9LHRoaXMucGluZz1hc3luYyBuPT57dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5pc1ZhbGlkUGluZyhuKTtjb25zdHt0b3BpYzppfT1uO2lmKHRoaXMucGFpcmluZ3Mua2V5cy5pbmNsdWRlcyhpKSl7Y29uc3Qgbz1hd2FpdCB0aGlzLnNlbmRSZXF1ZXN0KGksIndjX3BhaXJpbmdQaW5nIix7fSkse2RvbmU6YyxyZXNvbHZlOmwscmVqZWN0Omh9PVNzKCk7dGhpcy5ldmVudHMub25jZSh0cigicGFpcmluZ19waW5nIixvKSwoe2Vycm9yOmR9KT0+e2Q/aChkKTpsKCl9KSxhd2FpdCBjKCl9fSx0aGlzLnVwZGF0ZUV4cGlyeT1hc3luYyh7dG9waWM6bixleHBpcnk6aX0pPT57dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5wYWlyaW5ncy51cGRhdGUobix7ZXhwaXJ5Oml9KX0sdGhpcy51cGRhdGVNZXRhZGF0YT1hc3luYyh7dG9waWM6bixtZXRhZGF0YTppfSk9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLnBhaXJpbmdzLnVwZGF0ZShuLHtwZWVyTWV0YWRhdGE6aX0pfSx0aGlzLmdldFBhaXJpbmdzPSgpPT4odGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5wYWlyaW5ncy52YWx1ZXMpLHRoaXMuZGlzY29ubmVjdD1hc3luYyBuPT57dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5pc1ZhbGlkRGlzY29ubmVjdChuKTtjb25zdHt0b3BpYzppfT1uO3RoaXMucGFpcmluZ3Mua2V5cy5pbmNsdWRlcyhpKSYmKGF3YWl0IHRoaXMuc2VuZFJlcXVlc3QoaSwid2NfcGFpcmluZ0RlbGV0ZSIsWnQoIlVTRVJfRElTQ09OTkVDVEVEIikpLGF3YWl0IHRoaXMuZGVsZXRlUGFpcmluZyhpKSl9LHRoaXMuc2VuZFJlcXVlc3Q9YXN5bmMobixpLG8pPT57Y29uc3QgYz10YyhpLG8pLGw9YXdhaXQgdGhpcy5jb3JlLmNyeXB0by5lbmNvZGUobixjKSxoPUhvW2ldLnJlcTtyZXR1cm4gdGhpcy5jb3JlLmhpc3Rvcnkuc2V0KG4sYyksdGhpcy5jb3JlLnJlbGF5ZXIucHVibGlzaChuLGwsaCksYy5pZH0sdGhpcy5zZW5kUmVzdWx0PWFzeW5jKG4saSxvKT0+e2NvbnN0IGM9UXUobixvKSxsPWF3YWl0IHRoaXMuY29yZS5jcnlwdG8uZW5jb2RlKGksYyksaD1hd2FpdCB0aGlzLmNvcmUuaGlzdG9yeS5nZXQoaSxuKSxkPUhvW2gucmVxdWVzdC5tZXRob2RdLnJlczthd2FpdCB0aGlzLmNvcmUucmVsYXllci5wdWJsaXNoKGksbCxkKSxhd2FpdCB0aGlzLmNvcmUuaGlzdG9yeS5yZXNvbHZlKGMpfSx0aGlzLnNlbmRFcnJvcj1hc3luYyhuLGksbyk9Pntjb25zdCBjPXJjKG4sbyksbD1hd2FpdCB0aGlzLmNvcmUuY3J5cHRvLmVuY29kZShpLGMpLGg9YXdhaXQgdGhpcy5jb3JlLmhpc3RvcnkuZ2V0KGksbiksZD1Ib1toLnJlcXVlc3QubWV0aG9kXT9Ib1toLnJlcXVlc3QubWV0aG9kXS5yZXM6SG8udW5yZWdpc3RlcmVkX21ldGhvZC5yZXM7YXdhaXQgdGhpcy5jb3JlLnJlbGF5ZXIucHVibGlzaChpLGwsZCksYXdhaXQgdGhpcy5jb3JlLmhpc3RvcnkucmVzb2x2ZShjKX0sdGhpcy5kZWxldGVQYWlyaW5nPWFzeW5jKG4saSk9Pnthd2FpdCB0aGlzLmNvcmUucmVsYXllci51bnN1YnNjcmliZShuKSxhd2FpdCBQcm9taXNlLmFsbChbdGhpcy5wYWlyaW5ncy5kZWxldGUobixadCgiVVNFUl9ESVNDT05ORUNURUQiKSksdGhpcy5jb3JlLmNyeXB0by5kZWxldGVTeW1LZXkobiksaT9Qcm9taXNlLnJlc29sdmUoKTp0aGlzLmNvcmUuZXhwaXJlci5kZWwobildKX0sdGhpcy5jbGVhbnVwPWFzeW5jKCk9Pntjb25zdCBuPXRoaXMucGFpcmluZ3MuZ2V0QWxsKCkuZmlsdGVyKGk9PnVpKGkuZXhwaXJ5KSk7YXdhaXQgUHJvbWlzZS5hbGwobi5tYXAoaT0+dGhpcy5kZWxldGVQYWlyaW5nKGkudG9waWMpKSl9LHRoaXMub25SZWxheUV2ZW50UmVxdWVzdD1uPT57Y29uc3R7dG9waWM6aSxwYXlsb2FkOm99PW4sYz1vLm1ldGhvZDtpZih0aGlzLnBhaXJpbmdzLmtleXMuaW5jbHVkZXMoaSkpc3dpdGNoKGMpe2Nhc2Uid2NfcGFpcmluZ1BpbmciOnJldHVybiB0aGlzLm9uUGFpcmluZ1BpbmdSZXF1ZXN0KGksbyk7Y2FzZSJ3Y19wYWlyaW5nRGVsZXRlIjpyZXR1cm4gdGhpcy5vblBhaXJpbmdEZWxldGVSZXF1ZXN0KGksbyk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5vblVua25vd25ScGNNZXRob2RSZXF1ZXN0KGksbyl9fSx0aGlzLm9uUmVsYXlFdmVudFJlc3BvbnNlPWFzeW5jIG49Pntjb25zdHt0b3BpYzppLHBheWxvYWQ6b309bixjPShhd2FpdCB0aGlzLmNvcmUuaGlzdG9yeS5nZXQoaSxvLmlkKSkucmVxdWVzdC5tZXRob2Q7aWYodGhpcy5wYWlyaW5ncy5rZXlzLmluY2x1ZGVzKGkpKXN3aXRjaChjKXtjYXNlIndjX3BhaXJpbmdQaW5nIjpyZXR1cm4gdGhpcy5vblBhaXJpbmdQaW5nUmVzcG9uc2UoaSxvKTtkZWZhdWx0OnJldHVybiB0aGlzLm9uVW5rbm93blJwY01ldGhvZFJlc3BvbnNlKGMpfX0sdGhpcy5vblBhaXJpbmdQaW5nUmVxdWVzdD1hc3luYyhuLGkpPT57Y29uc3R7aWQ6b309aTt0cnl7dGhpcy5pc1ZhbGlkUGluZyh7dG9waWM6bn0pLGF3YWl0IHRoaXMuc2VuZFJlc3VsdChvLG4sITApLHRoaXMuZXZlbnRzLmVtaXQoInBhaXJpbmdfcGluZyIse2lkOm8sdG9waWM6bn0pfWNhdGNoKGMpe2F3YWl0IHRoaXMuc2VuZEVycm9yKG8sbixjKSx0aGlzLmxvZ2dlci5lcnJvcihjKX19LHRoaXMub25QYWlyaW5nUGluZ1Jlc3BvbnNlPShuLGkpPT57Y29uc3R7aWQ6b309aTtzZXRUaW1lb3V0KCgpPT57Vm4oaSk/dGhpcy5ldmVudHMuZW1pdCh0cigicGFpcmluZ19waW5nIixvKSx7fSk6RW4oaSkmJnRoaXMuZXZlbnRzLmVtaXQodHIoInBhaXJpbmdfcGluZyIsbykse2Vycm9yOmkuZXJyb3J9KX0sNTAwKX0sdGhpcy5vblBhaXJpbmdEZWxldGVSZXF1ZXN0PWFzeW5jKG4saSk9Pntjb25zdHtpZDpvfT1pO3RyeXt0aGlzLmlzVmFsaWREaXNjb25uZWN0KHt0b3BpYzpufSksYXdhaXQgdGhpcy5kZWxldGVQYWlyaW5nKG4pLHRoaXMuZXZlbnRzLmVtaXQoInBhaXJpbmdfZGVsZXRlIix7aWQ6byx0b3BpYzpufSl9Y2F0Y2goYyl7YXdhaXQgdGhpcy5zZW5kRXJyb3IobyxuLGMpLHRoaXMubG9nZ2VyLmVycm9yKGMpfX0sdGhpcy5vblVua25vd25ScGNNZXRob2RSZXF1ZXN0PWFzeW5jKG4saSk9Pntjb25zdHtpZDpvLG1ldGhvZDpjfT1pO3RyeXtpZih0aGlzLnJlZ2lzdGVyZWRNZXRob2RzLmluY2x1ZGVzKGMpKXJldHVybjtjb25zdCBsPVp0KCJXQ19NRVRIT0RfVU5TVVBQT1JURUQiLGMpO2F3YWl0IHRoaXMuc2VuZEVycm9yKG8sbixsKSx0aGlzLmxvZ2dlci5lcnJvcihsKX1jYXRjaChsKXthd2FpdCB0aGlzLnNlbmRFcnJvcihvLG4sbCksdGhpcy5sb2dnZXIuZXJyb3IobCl9fSx0aGlzLm9uVW5rbm93blJwY01ldGhvZFJlc3BvbnNlPW49Pnt0aGlzLnJlZ2lzdGVyZWRNZXRob2RzLmluY2x1ZGVzKG4pfHx0aGlzLmxvZ2dlci5lcnJvcihadCgiV0NfTUVUSE9EX1VOU1VQUE9SVEVEIixuKSl9LHRoaXMuaXNWYWxpZFBhaXI9bj0+e2lmKCF6cihuKSl7Y29uc3R7bWVzc2FnZTppfT1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgcGFpcigpIHBhcmFtczogJHtufWApO3Rocm93IG5ldyBFcnJvcihpKX1pZigheGIobi51cmkpKXtjb25zdHttZXNzYWdlOml9PV9lKCJNSVNTSU5HX09SX0lOVkFMSUQiLGBwYWlyKCkgdXJpOiAke24udXJpfWApO3Rocm93IG5ldyBFcnJvcihpKX19LHRoaXMuaXNWYWxpZFBpbmc9YXN5bmMgbj0+e2lmKCF6cihuKSl7Y29uc3R7bWVzc2FnZTpvfT1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgcGluZygpIHBhcmFtczogJHtufWApO3Rocm93IG5ldyBFcnJvcihvKX1jb25zdHt0b3BpYzppfT1uO2F3YWl0IHRoaXMuaXNWYWxpZFBhaXJpbmdUb3BpYyhpKX0sdGhpcy5pc1ZhbGlkRGlzY29ubmVjdD1hc3luYyBuPT57aWYoIXpyKG4pKXtjb25zdHttZXNzYWdlOm99PV9lKCJNSVNTSU5HX09SX0lOVkFMSUQiLGBkaXNjb25uZWN0KCkgcGFyYW1zOiAke259YCk7dGhyb3cgbmV3IEVycm9yKG8pfWNvbnN0e3RvcGljOml9PW47YXdhaXQgdGhpcy5pc1ZhbGlkUGFpcmluZ1RvcGljKGkpfSx0aGlzLmlzVmFsaWRQYWlyaW5nVG9waWM9YXN5bmMgbj0+e2lmKCFncihuLCExKSl7Y29uc3R7bWVzc2FnZTppfT1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgcGFpcmluZyB0b3BpYyBzaG91bGQgYmUgYSBzdHJpbmc6ICR7bn1gKTt0aHJvdyBuZXcgRXJyb3IoaSl9aWYoIXRoaXMucGFpcmluZ3Mua2V5cy5pbmNsdWRlcyhuKSl7Y29uc3R7bWVzc2FnZTppfT1fZSgiTk9fTUFUQ0hJTkdfS0VZIixgcGFpcmluZyB0b3BpYyBkb2Vzbid0IGV4aXN0OiAke259YCk7dGhyb3cgbmV3IEVycm9yKGkpfWlmKHVpKHRoaXMucGFpcmluZ3MuZ2V0KG4pLmV4cGlyeSkpe2F3YWl0IHRoaXMuZGVsZXRlUGFpcmluZyhuKTtjb25zdHttZXNzYWdlOml9PV9lKCJFWFBJUkVEIixgcGFpcmluZyB0b3BpYzogJHtufWApO3Rocm93IG5ldyBFcnJvcihpKX19LHRoaXMuY29yZT1lLHRoaXMubG9nZ2VyPXB0LmdlbmVyYXRlQ2hpbGRMb2dnZXIocix0aGlzLm5hbWUpLHRoaXMucGFpcmluZ3M9bmV3IHNjKHRoaXMuY29yZSx0aGlzLmxvZ2dlcix0aGlzLm5hbWUsdGhpcy5zdG9yYWdlUHJlZml4KX1nZXQgY29udGV4dCgpe3JldHVybiBwdC5nZXRMb2dnZXJDb250ZXh0KHRoaXMubG9nZ2VyKX1pc0luaXRpYWxpemVkKCl7aWYoIXRoaXMuaW5pdGlhbGl6ZWQpe2NvbnN0e21lc3NhZ2U6ZX09X2UoIk5PVF9JTklUSUFMSVpFRCIsdGhpcy5uYW1lKTt0aHJvdyBuZXcgRXJyb3IoZSl9fXJlZ2lzdGVyUmVsYXllckV2ZW50cygpe3RoaXMuY29yZS5yZWxheWVyLm9uKHJyLm1lc3NhZ2UsYXN5bmMgZT0+e2NvbnN0e3RvcGljOnIsbWVzc2FnZTpufT1lO2lmKHRoaXMuaWdub3JlZFBheWxvYWRUeXBlcy5pbmNsdWRlcyh0aGlzLmNvcmUuY3J5cHRvLmdldFBheWxvYWRUeXBlKG4pKSlyZXR1cm47Y29uc3QgaT1hd2FpdCB0aGlzLmNvcmUuY3J5cHRvLmRlY29kZShyLG4pO2VoKGkpPyh0aGlzLmNvcmUuaGlzdG9yeS5zZXQocixpKSx0aGlzLm9uUmVsYXlFdmVudFJlcXVlc3Qoe3RvcGljOnIscGF5bG9hZDppfSkpOm5jKGkpJiYoYXdhaXQgdGhpcy5jb3JlLmhpc3RvcnkucmVzb2x2ZShpKSx0aGlzLm9uUmVsYXlFdmVudFJlc3BvbnNlKHt0b3BpYzpyLHBheWxvYWQ6aX0pKX0pfXJlZ2lzdGVyRXhwaXJlckV2ZW50cygpe3RoaXMuY29yZS5leHBpcmVyLm9uKG9uLmV4cGlyZWQsYXN5bmMgZT0+e2NvbnN0e3RvcGljOnJ9PVIxKGUudGFyZ2V0KTtyJiZ0aGlzLnBhaXJpbmdzLmtleXMuaW5jbHVkZXMocikmJihhd2FpdCB0aGlzLmRlbGV0ZVBhaXJpbmcociwhMCksdGhpcy5ldmVudHMuZW1pdCgicGFpcmluZ19leHBpcmUiLHt0b3BpYzpyfSkpfSl9fWNsYXNzIEdFIGV4dGVuZHMgZzR7Y29uc3RydWN0b3IoZSxyKXtzdXBlcihlLHIpLHRoaXMuY29yZT1lLHRoaXMubG9nZ2VyPXIsdGhpcy5yZWNvcmRzPW5ldyBNYXAsdGhpcy5ldmVudHM9bmV3IGJyLmV4cG9ydHMuRXZlbnRFbWl0dGVyLHRoaXMubmFtZT1DRSx0aGlzLnZlcnNpb249SUUsdGhpcy5jYWNoZWQ9W10sdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLnN0b3JhZ2VQcmVmaXg9ZmksdGhpcy5pbml0PWFzeW5jKCk9Pnt0aGlzLmluaXRpYWxpemVkfHwodGhpcy5sb2dnZXIudHJhY2UoIkluaXRpYWxpemVkIiksYXdhaXQgdGhpcy5yZXN0b3JlKCksdGhpcy5jYWNoZWQuZm9yRWFjaChuPT50aGlzLnJlY29yZHMuc2V0KG4uaWQsbikpLHRoaXMuY2FjaGVkPVtdLHRoaXMucmVnaXN0ZXJFdmVudExpc3RlbmVycygpLHRoaXMuaW5pdGlhbGl6ZWQ9ITApfSx0aGlzLnNldD0obixpLG8pPT57aWYodGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5sb2dnZXIuZGVidWcoIlNldHRpbmcgSlNPTi1SUEMgcmVxdWVzdCBoaXN0b3J5IHJlY29yZCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoic2V0Iix0b3BpYzpuLHJlcXVlc3Q6aSxjaGFpbklkOm99KSx0aGlzLnJlY29yZHMuaGFzKGkuaWQpKXJldHVybjtjb25zdCBjPXtpZDppLmlkLHRvcGljOm4scmVxdWVzdDp7bWV0aG9kOmkubWV0aG9kLHBhcmFtczppLnBhcmFtc3x8bnVsbH0sY2hhaW5JZDpvfTt0aGlzLnJlY29yZHMuc2V0KGMuaWQsYyksdGhpcy5ldmVudHMuZW1pdChUbi5jcmVhdGVkLGMpfSx0aGlzLnJlc29sdmU9YXN5bmMgbj0+e2lmKHRoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMubG9nZ2VyLmRlYnVnKCJVcGRhdGluZyBKU09OLVJQQyByZXNwb25zZSBoaXN0b3J5IHJlY29yZCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoidXBkYXRlIixyZXNwb25zZTpufSksIXRoaXMucmVjb3Jkcy5oYXMobi5pZCkpcmV0dXJuO2NvbnN0IGk9YXdhaXQgdGhpcy5nZXRSZWNvcmQobi5pZCk7dHlwZW9mIGkucmVzcG9uc2U+InUiJiYoaS5yZXNwb25zZT1FbihuKT97ZXJyb3I6bi5lcnJvcn06e3Jlc3VsdDpuLnJlc3VsdH0sdGhpcy5yZWNvcmRzLnNldChpLmlkLGkpLHRoaXMuZXZlbnRzLmVtaXQoVG4udXBkYXRlZCxpKSl9LHRoaXMuZ2V0PWFzeW5jKG4saSk9Pih0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLmxvZ2dlci5kZWJ1ZygiR2V0dGluZyByZWNvcmQiKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6ImdldCIsdG9waWM6bixpZDppfSksYXdhaXQgdGhpcy5nZXRSZWNvcmQoaSkpLHRoaXMuZGVsZXRlPShuLGkpPT57dGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5sb2dnZXIuZGVidWcoIkRlbGV0aW5nIHJlY29yZCIpLHRoaXMubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoiZGVsZXRlIixpZDppfSksdGhpcy52YWx1ZXMuZm9yRWFjaChvPT57aWYoby50b3BpYz09PW4pe2lmKHR5cGVvZiBpPCJ1IiYmby5pZCE9PWkpcmV0dXJuO3RoaXMucmVjb3Jkcy5kZWxldGUoby5pZCksdGhpcy5ldmVudHMuZW1pdChUbi5kZWxldGVkLG8pfX0pfSx0aGlzLmV4aXN0cz1hc3luYyhuLGkpPT4odGhpcy5pc0luaXRpYWxpemVkKCksdGhpcy5yZWNvcmRzLmhhcyhpKT8oYXdhaXQgdGhpcy5nZXRSZWNvcmQoaSkpLnRvcGljPT09bjohMSksdGhpcy5vbj0obixpKT0+e3RoaXMuZXZlbnRzLm9uKG4saSl9LHRoaXMub25jZT0obixpKT0+e3RoaXMuZXZlbnRzLm9uY2UobixpKX0sdGhpcy5vZmY9KG4saSk9Pnt0aGlzLmV2ZW50cy5vZmYobixpKX0sdGhpcy5yZW1vdmVMaXN0ZW5lcj0obixpKT0+e3RoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKG4saSl9LHRoaXMubG9nZ2VyPXB0LmdlbmVyYXRlQ2hpbGRMb2dnZXIocix0aGlzLm5hbWUpfWdldCBjb250ZXh0KCl7cmV0dXJuIHB0LmdldExvZ2dlckNvbnRleHQodGhpcy5sb2dnZXIpfWdldCBzdG9yYWdlS2V5KCl7cmV0dXJuIHRoaXMuc3RvcmFnZVByZWZpeCt0aGlzLnZlcnNpb24rIi8vIit0aGlzLm5hbWV9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5yZWNvcmRzLnNpemV9Z2V0IGtleXMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnJlY29yZHMua2V5cygpKX1nZXQgdmFsdWVzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5yZWNvcmRzLnZhbHVlcygpKX1nZXQgcGVuZGluZygpe2NvbnN0IGU9W107cmV0dXJuIHRoaXMudmFsdWVzLmZvckVhY2gocj0+e2lmKHR5cGVvZiByLnJlc3BvbnNlPCJ1IilyZXR1cm47Y29uc3Qgbj17dG9waWM6ci50b3BpYyxyZXF1ZXN0OnRjKHIucmVxdWVzdC5tZXRob2Qsci5yZXF1ZXN0LnBhcmFtcyxyLmlkKSxjaGFpbklkOnIuY2hhaW5JZH07cmV0dXJuIGUucHVzaChuKX0pLGV9YXN5bmMgc2V0SnNvblJwY1JlY29yZHMoZSl7YXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXksZSl9YXN5bmMgZ2V0SnNvblJwY1JlY29yZHMoKXtyZXR1cm4gYXdhaXQgdGhpcy5jb3JlLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpfWdldFJlY29yZChlKXt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCByPXRoaXMucmVjb3Jkcy5nZXQoZSk7aWYoIXIpe2NvbnN0e21lc3NhZ2U6bn09X2UoIk5PX01BVENISU5HX0tFWSIsYCR7dGhpcy5uYW1lfTogJHtlfWApO3Rocm93IG5ldyBFcnJvcihuKX1yZXR1cm4gcn1hc3luYyBwZXJzaXN0KCl7YXdhaXQgdGhpcy5zZXRKc29uUnBjUmVjb3Jkcyh0aGlzLnZhbHVlcyksdGhpcy5ldmVudHMuZW1pdChUbi5zeW5jKX1hc3luYyByZXN0b3JlKCl7dHJ5e2NvbnN0IGU9YXdhaXQgdGhpcy5nZXRKc29uUnBjUmVjb3JkcygpO2lmKHR5cGVvZiBlPiJ1Inx8IWUubGVuZ3RoKXJldHVybjtpZih0aGlzLnJlY29yZHMuc2l6ZSl7Y29uc3R7bWVzc2FnZTpyfT1fZSgiUkVTVE9SRV9XSUxMX09WRVJSSURFIix0aGlzLm5hbWUpO3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKHIpLG5ldyBFcnJvcihyKX10aGlzLmNhY2hlZD1lLHRoaXMubG9nZ2VyLmRlYnVnKGBTdWNjZXNzZnVsbHkgUmVzdG9yZWQgcmVjb3JkcyBmb3IgJHt0aGlzLm5hbWV9YCksdGhpcy5sb2dnZXIudHJhY2Uoe3R5cGU6Im1ldGhvZCIsbWV0aG9kOiJyZXN0b3JlIixyZWNvcmRzOnRoaXMudmFsdWVzfSl9Y2F0Y2goZSl7dGhpcy5sb2dnZXIuZGVidWcoYEZhaWxlZCB0byBSZXN0b3JlIHJlY29yZHMgZm9yICR7dGhpcy5uYW1lfWApLHRoaXMubG9nZ2VyLmVycm9yKGUpfX1yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCl7dGhpcy5ldmVudHMub24oVG4uY3JlYXRlZCxlPT57Y29uc3Qgcj1Ubi5jcmVhdGVkO3RoaXMubG9nZ2VyLmluZm8oYEVtaXR0aW5nICR7cn1gKSx0aGlzLmxvZ2dlci5kZWJ1Zyh7dHlwZToiZXZlbnQiLGV2ZW50OnIscmVjb3JkOmV9KSx0aGlzLnBlcnNpc3QoKX0pLHRoaXMuZXZlbnRzLm9uKFRuLnVwZGF0ZWQsZT0+e2NvbnN0IHI9VG4udXBkYXRlZDt0aGlzLmxvZ2dlci5pbmZvKGBFbWl0dGluZyAke3J9YCksdGhpcy5sb2dnZXIuZGVidWcoe3R5cGU6ImV2ZW50IixldmVudDpyLHJlY29yZDplfSksdGhpcy5wZXJzaXN0KCl9KSx0aGlzLmV2ZW50cy5vbihUbi5kZWxldGVkLGU9Pntjb25zdCByPVRuLmRlbGV0ZWQ7dGhpcy5sb2dnZXIuaW5mbyhgRW1pdHRpbmcgJHtyfWApLHRoaXMubG9nZ2VyLmRlYnVnKHt0eXBlOiJldmVudCIsZXZlbnQ6cixyZWNvcmQ6ZX0pLHRoaXMucGVyc2lzdCgpfSl9aXNJbml0aWFsaXplZCgpe2lmKCF0aGlzLmluaXRpYWxpemVkKXtjb25zdHttZXNzYWdlOmV9PV9lKCJOT1RfSU5JVElBTElaRUQiLHRoaXMubmFtZSk7dGhyb3cgbmV3IEVycm9yKGUpfX19Y2xhc3MgWkUgZXh0ZW5kcyBfNHtjb25zdHJ1Y3RvcihlLHIpe3N1cGVyKGUsciksdGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9cix0aGlzLmV4cGlyYXRpb25zPW5ldyBNYXAsdGhpcy5ldmVudHM9bmV3IGJyLmV4cG9ydHMuRXZlbnRFbWl0dGVyLHRoaXMubmFtZT1PRSx0aGlzLnZlcnNpb249QUUsdGhpcy5jYWNoZWQ9W10sdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLnN0b3JhZ2VQcmVmaXg9ZmksdGhpcy5pbml0PWFzeW5jKCk9Pnt0aGlzLmluaXRpYWxpemVkfHwodGhpcy5sb2dnZXIudHJhY2UoIkluaXRpYWxpemVkIiksYXdhaXQgdGhpcy5yZXN0b3JlKCksdGhpcy5jYWNoZWQuZm9yRWFjaChuPT50aGlzLmV4cGlyYXRpb25zLnNldChuLnRhcmdldCxuKSksdGhpcy5jYWNoZWQ9W10sdGhpcy5yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCksdGhpcy5pbml0aWFsaXplZD0hMCl9LHRoaXMuaGFzPW49Pnt0cnl7Y29uc3QgaT10aGlzLmZvcm1hdFRhcmdldChuKTtyZXR1cm4gdHlwZW9mIHRoaXMuZ2V0RXhwaXJhdGlvbihpKTwidSJ9Y2F0Y2h7cmV0dXJuITF9fSx0aGlzLnNldD0obixpKT0+e3RoaXMuaXNJbml0aWFsaXplZCgpO2NvbnN0IG89dGhpcy5mb3JtYXRUYXJnZXQobiksYz17dGFyZ2V0Om8sZXhwaXJ5Oml9O3RoaXMuZXhwaXJhdGlvbnMuc2V0KG8sYyksdGhpcy5jaGVja0V4cGlyeShvLGMpLHRoaXMuZXZlbnRzLmVtaXQob24uY3JlYXRlZCx7dGFyZ2V0Om8sZXhwaXJhdGlvbjpjfSl9LHRoaXMuZ2V0PW49Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBpPXRoaXMuZm9ybWF0VGFyZ2V0KG4pO3JldHVybiB0aGlzLmdldEV4cGlyYXRpb24oaSl9LHRoaXMuZGVsPW49PntpZih0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLmhhcyhuKSl7Y29uc3QgaT10aGlzLmZvcm1hdFRhcmdldChuKSxvPXRoaXMuZ2V0RXhwaXJhdGlvbihpKTt0aGlzLmV4cGlyYXRpb25zLmRlbGV0ZShpKSx0aGlzLmV2ZW50cy5lbWl0KG9uLmRlbGV0ZWQse3RhcmdldDppLGV4cGlyYXRpb246b30pfX0sdGhpcy5vbj0obixpKT0+e3RoaXMuZXZlbnRzLm9uKG4saSl9LHRoaXMub25jZT0obixpKT0+e3RoaXMuZXZlbnRzLm9uY2UobixpKX0sdGhpcy5vZmY9KG4saSk9Pnt0aGlzLmV2ZW50cy5vZmYobixpKX0sdGhpcy5yZW1vdmVMaXN0ZW5lcj0obixpKT0+e3RoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKG4saSl9LHRoaXMubG9nZ2VyPXB0LmdlbmVyYXRlQ2hpbGRMb2dnZXIocix0aGlzLm5hbWUpfWdldCBjb250ZXh0KCl7cmV0dXJuIHB0LmdldExvZ2dlckNvbnRleHQodGhpcy5sb2dnZXIpfWdldCBzdG9yYWdlS2V5KCl7cmV0dXJuIHRoaXMuc3RvcmFnZVByZWZpeCt0aGlzLnZlcnNpb24rIi8vIit0aGlzLm5hbWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmV4cGlyYXRpb25zLnNpemV9Z2V0IGtleXMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmV4cGlyYXRpb25zLmtleXMoKSl9Z2V0IHZhbHVlcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuZXhwaXJhdGlvbnMudmFsdWVzKCkpfWZvcm1hdFRhcmdldChlKXtpZih0eXBlb2YgZT09InN0cmluZyIpcmV0dXJuIG5iKGUpO2lmKHR5cGVvZiBlPT0ibnVtYmVyIilyZXR1cm4gaWIoZSk7Y29uc3R7bWVzc2FnZTpyfT1fZSgiVU5LTk9XTl9UWVBFIixgVGFyZ2V0IHR5cGU6ICR7dHlwZW9mIGV9YCk7dGhyb3cgbmV3IEVycm9yKHIpfWFzeW5jIHNldEV4cGlyYXRpb25zKGUpe2F3YWl0IHRoaXMuY29yZS5zdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlS2V5LGUpfWFzeW5jIGdldEV4cGlyYXRpb25zKCl7cmV0dXJuIGF3YWl0IHRoaXMuY29yZS5zdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlS2V5KX1hc3luYyBwZXJzaXN0KCl7YXdhaXQgdGhpcy5zZXRFeHBpcmF0aW9ucyh0aGlzLnZhbHVlcyksdGhpcy5ldmVudHMuZW1pdChvbi5zeW5jKX1hc3luYyByZXN0b3JlKCl7dHJ5e2NvbnN0IGU9YXdhaXQgdGhpcy5nZXRFeHBpcmF0aW9ucygpO2lmKHR5cGVvZiBlPiJ1Inx8IWUubGVuZ3RoKXJldHVybjtpZih0aGlzLmV4cGlyYXRpb25zLnNpemUpe2NvbnN0e21lc3NhZ2U6cn09X2UoIlJFU1RPUkVfV0lMTF9PVkVSUklERSIsdGhpcy5uYW1lKTt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihyKSxuZXcgRXJyb3Iocil9dGhpcy5jYWNoZWQ9ZSx0aGlzLmxvZ2dlci5kZWJ1ZyhgU3VjY2Vzc2Z1bGx5IFJlc3RvcmVkIGV4cGlyYXRpb25zIGZvciAke3RoaXMubmFtZX1gKSx0aGlzLmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6InJlc3RvcmUiLGV4cGlyYXRpb25zOnRoaXMudmFsdWVzfSl9Y2F0Y2goZSl7dGhpcy5sb2dnZXIuZGVidWcoYEZhaWxlZCB0byBSZXN0b3JlIGV4cGlyYXRpb25zIGZvciAke3RoaXMubmFtZX1gKSx0aGlzLmxvZ2dlci5lcnJvcihlKX19Z2V0RXhwaXJhdGlvbihlKXtjb25zdCByPXRoaXMuZXhwaXJhdGlvbnMuZ2V0KGUpO2lmKCFyKXtjb25zdHttZXNzYWdlOm59PV9lKCJOT19NQVRDSElOR19LRVkiLGAke3RoaXMubmFtZX06ICR7ZX1gKTt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihuKSxuZXcgRXJyb3Iobil9cmV0dXJuIHJ9Y2hlY2tFeHBpcnkoZSxyKXtjb25zdHtleHBpcnk6bn09cjtrZS50b01pbGlzZWNvbmRzKG4pLURhdGUubm93KCk8PTAmJnRoaXMuZXhwaXJlKGUscil9ZXhwaXJlKGUscil7dGhpcy5leHBpcmF0aW9ucy5kZWxldGUoZSksdGhpcy5ldmVudHMuZW1pdChvbi5leHBpcmVkLHt0YXJnZXQ6ZSxleHBpcmF0aW9uOnJ9KX1jaGVja0V4cGlyYXRpb25zKCl7dGhpcy5jb3JlLnJlbGF5ZXIuY29ubmVjdGVkJiZ0aGlzLmV4cGlyYXRpb25zLmZvckVhY2goKGUscik9PnRoaXMuY2hlY2tFeHBpcnkocixlKSl9cmVnaXN0ZXJFdmVudExpc3RlbmVycygpe3RoaXMuY29yZS5oZWFydGJlYXQub24oVG8uSEVBUlRCRUFUX0VWRU5UUy5wdWxzZSwoKT0+dGhpcy5jaGVja0V4cGlyYXRpb25zKCkpLHRoaXMuZXZlbnRzLm9uKG9uLmNyZWF0ZWQsZT0+e2NvbnN0IHI9b24uY3JlYXRlZDt0aGlzLmxvZ2dlci5pbmZvKGBFbWl0dGluZyAke3J9YCksdGhpcy5sb2dnZXIuZGVidWcoe3R5cGU6ImV2ZW50IixldmVudDpyLGRhdGE6ZX0pLHRoaXMucGVyc2lzdCgpfSksdGhpcy5ldmVudHMub24ob24uZXhwaXJlZCxlPT57Y29uc3Qgcj1vbi5leHBpcmVkO3RoaXMubG9nZ2VyLmluZm8oYEVtaXR0aW5nICR7cn1gKSx0aGlzLmxvZ2dlci5kZWJ1Zyh7dHlwZToiZXZlbnQiLGV2ZW50OnIsZGF0YTplfSksdGhpcy5wZXJzaXN0KCl9KSx0aGlzLmV2ZW50cy5vbihvbi5kZWxldGVkLGU9Pntjb25zdCByPW9uLmRlbGV0ZWQ7dGhpcy5sb2dnZXIuaW5mbyhgRW1pdHRpbmcgJHtyfWApLHRoaXMubG9nZ2VyLmRlYnVnKHt0eXBlOiJldmVudCIsZXZlbnQ6cixkYXRhOmV9KSx0aGlzLnBlcnNpc3QoKX0pfWlzSW5pdGlhbGl6ZWQoKXtpZighdGhpcy5pbml0aWFsaXplZCl7Y29uc3R7bWVzc2FnZTplfT1fZSgiTk9UX0lOSVRJQUxJWkVEIix0aGlzLm5hbWUpO3Rocm93IG5ldyBFcnJvcihlKX19fWNsYXNzIFlFIGV4dGVuZHMgRTR7Y29uc3RydWN0b3IoZSxyKXtzdXBlcihlLHIpLHRoaXMucHJvamVjdElkPWUsdGhpcy5sb2dnZXI9cix0aGlzLm5hbWU9b2gsdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLmluaXQ9YXN5bmMgbj0+e1MxKCl8fCFTdSgpfHwodGhpcy52ZXJpZnlVcmw9bj8udmVyaWZ5VXJsfHx0Zyxhd2FpdCB0aGlzLmNyZWF0ZUlmcmFtZSgpKX0sdGhpcy5yZWdpc3Rlcj1hc3luYyBuPT57dmFyIGk7dGhpcy5pbml0aWFsaXplZHx8YXdhaXQgdGhpcy5pbml0KCksdGhpcy5pZnJhbWUmJigoaT10aGlzLmlmcmFtZS5jb250ZW50V2luZG93KT09bnVsbHx8aS5wb3N0TWVzc2FnZShuLmF0dGVzdGF0aW9uSWQsdGhpcy52ZXJpZnlVcmwpLHRoaXMubG9nZ2VyLmluZm8oYHBvc3RNZXNzYWdlIHNlbnQ6ICR7bi5hdHRlc3RhdGlvbklkfSAke3RoaXMudmVyaWZ5VXJsfWApKX0sdGhpcy5yZXNvbHZlPWFzeW5jIG49Pnt2YXIgaTtpZih0aGlzLmlzRGV2RW52KXJldHVybiIiO3RoaXMubG9nZ2VyLmluZm8oYHJlc29sdmluZyBhdHRlc3RhdGlvbjogJHtuLmF0dGVzdGF0aW9uSWR9YCk7Y29uc3Qgbz10aGlzLnN0YXJ0QWJvcnRUaW1lcihrZS5GSVZFX1NFQ09ORFMpLGM9YXdhaXQgZmV0Y2goYCR7dGhpcy52ZXJpZnlVcmx9L2F0dGVzdGF0aW9uLyR7bi5hdHRlc3RhdGlvbklkfWAse3NpZ25hbDp0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWx9KTtyZXR1cm4gY2xlYXJUaW1lb3V0KG8pLGMuc3RhdHVzPT09MjAwPyhpPWF3YWl0IGMuanNvbigpKT09bnVsbD92b2lkIDA6aS5vcmlnaW46IiJ9LHRoaXMuY3JlYXRlSWZyYW1lPWFzeW5jKCk9Pnt0cnl7YXdhaXQgUHJvbWlzZS5yYWNlKFtuZXcgUHJvbWlzZSgobixpKT0+e2lmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG9oKSlyZXR1cm4gbigpO2NvbnN0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7by5zZXRBdHRyaWJ1dGUoImlkIixvaCksby5zZXRBdHRyaWJ1dGUoInNyYyIsYCR7dGhpcy52ZXJpZnlVcmx9LyR7dGhpcy5wcm9qZWN0SWR9YCksby5zdHlsZS5kaXNwbGF5PSJub25lIixvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57dGhpcy5pbml0aWFsaXplZD0hMCxuKCl9KSxvLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixjPT57aShjKX0pLGRvY3VtZW50LmJvZHkuYXBwZW5kKG8pLHRoaXMuaWZyYW1lPW99KSxuZXcgUHJvbWlzZShuPT57c2V0VGltZW91dCgoKT0+bigiaWZyYW1lIGxvYWQgdGltZW91dCIpLGtlLnRvTWlsaXNlY29uZHMoa2UuT05FX1NFQ09ORC8yKSl9KV0pfWNhdGNoKG4pe3RoaXMubG9nZ2VyLmVycm9yKGBWZXJpZnkgaWZyYW1lIGZhaWxlZCB0byBsb2FkOiAke3RoaXMudmVyaWZ5VXJsfWApLHRoaXMubG9nZ2VyLmVycm9yKG4pfX0sdGhpcy5sb2dnZXI9cHQuZ2VuZXJhdGVDaGlsZExvZ2dlcihyLHRoaXMubmFtZSksdGhpcy52ZXJpZnlVcmw9dGcsdGhpcy5hYm9ydENvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLmlzRGV2RW52PUF1KCkmJnByb2Nlc3MuZW52LklTX1ZJVEVTVH1nZXQgY29udGV4dCgpe3JldHVybiBwdC5nZXRMb2dnZXJDb250ZXh0KHRoaXMubG9nZ2VyKX1zdGFydEFib3J0VGltZXIoZSl7cmV0dXJuIHNldFRpbWVvdXQoKCk9PnRoaXMuYWJvcnRDb250cm9sbGVyLmFib3J0KCksa2UudG9NaWxpc2Vjb25kcyhlKSl9fXZhciBKRT1PYmplY3QuZGVmaW5lUHJvcGVydHksbGc9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxYRT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LFFFPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsdWc9KHQsZSxyKT0+ZSBpbiB0P0pFKHQsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6cn0pOnRbZV09cixoZz0odCxlKT0+e2Zvcih2YXIgciBpbiBlfHwoZT17fSkpWEUuY2FsbChlLHIpJiZ1Zyh0LHIsZVtyXSk7aWYobGcpZm9yKHZhciByIG9mIGxnKGUpKVFFLmNhbGwoZSxyKSYmdWcodCxyLGVbcl0pO3JldHVybiB0fTtjbGFzcyBjaCBleHRlbmRzIHA0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMucHJvdG9jb2w9SnAsdGhpcy52ZXJzaW9uPXRFLHRoaXMubmFtZT1zaCx0aGlzLmV2ZW50cz1uZXcgYnIuZXhwb3J0cy5FdmVudEVtaXR0ZXIsdGhpcy5pbml0aWFsaXplZD0hMSx0aGlzLm9uPShuLGkpPT50aGlzLmV2ZW50cy5vbihuLGkpLHRoaXMub25jZT0obixpKT0+dGhpcy5ldmVudHMub25jZShuLGkpLHRoaXMub2ZmPShuLGkpPT50aGlzLmV2ZW50cy5vZmYobixpKSx0aGlzLnJlbW92ZUxpc3RlbmVyPShuLGkpPT50aGlzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihuLGkpLHRoaXMucHJvamVjdElkPWU/LnByb2plY3RJZCx0aGlzLnJlbGF5VXJsPWU/LnJlbGF5VXJsfHxlZztjb25zdCByPXR5cGVvZiBlPy5sb2dnZXI8InUiJiZ0eXBlb2YgZT8ubG9nZ2VyIT0ic3RyaW5nIj9lLmxvZ2dlcjpwdC5waW5vKHB0LmdldERlZmF1bHRMb2dnZXJPcHRpb25zKHtsZXZlbDplPy5sb2dnZXJ8fHJFLmxvZ2dlcn0pKTt0aGlzLmxvZ2dlcj1wdC5nZW5lcmF0ZUNoaWxkTG9nZ2VyKHIsdGhpcy5uYW1lKSx0aGlzLmhlYXJ0YmVhdD1uZXcgVG8uSGVhcnRCZWF0LHRoaXMuY3J5cHRvPW5ldyBERSh0aGlzLHRoaXMubG9nZ2VyLGU/LmtleWNoYWluKSx0aGlzLmhpc3Rvcnk9bmV3IEdFKHRoaXMsdGhpcy5sb2dnZXIpLHRoaXMuZXhwaXJlcj1uZXcgWkUodGhpcyx0aGlzLmxvZ2dlciksdGhpcy5zdG9yYWdlPWUhPW51bGwmJmUuc3RvcmFnZT9lLnN0b3JhZ2U6bmV3IHY2KGhnKGhnKHt9LG5FKSxlPy5zdG9yYWdlT3B0aW9ucykpLHRoaXMucmVsYXllcj1uZXcgekUoe2NvcmU6dGhpcyxsb2dnZXI6dGhpcy5sb2dnZXIscmVsYXlVcmw6dGhpcy5yZWxheVVybCxwcm9qZWN0SWQ6dGhpcy5wcm9qZWN0SWR9KSx0aGlzLnBhaXJpbmc9bmV3IEtFKHRoaXMsdGhpcy5sb2dnZXIpLHRoaXMudmVyaWZ5PW5ldyBZRSh0aGlzLnByb2plY3RJZHx8IiIsdGhpcy5sb2dnZXIpfXN0YXRpYyBhc3luYyBpbml0KGUpe2NvbnN0IHI9bmV3IGNoKGUpO3JldHVybiBhd2FpdCByLmluaXRpYWxpemUoKSxyfWdldCBjb250ZXh0KCl7cmV0dXJuIHB0LmdldExvZ2dlckNvbnRleHQodGhpcy5sb2dnZXIpfWFzeW5jIHN0YXJ0KCl7dGhpcy5pbml0aWFsaXplZHx8YXdhaXQgdGhpcy5pbml0aWFsaXplKCl9YXN5bmMgaW5pdGlhbGl6ZSgpe3RoaXMubG9nZ2VyLnRyYWNlKCJJbml0aWFsaXplZCIpO3RyeXthd2FpdCB0aGlzLmNyeXB0by5pbml0KCksYXdhaXQgdGhpcy5oaXN0b3J5LmluaXQoKSxhd2FpdCB0aGlzLmV4cGlyZXIuaW5pdCgpLGF3YWl0IHRoaXMucmVsYXllci5pbml0KCksYXdhaXQgdGhpcy5oZWFydGJlYXQuaW5pdCgpLGF3YWl0IHRoaXMucGFpcmluZy5pbml0KCksdGhpcy5pbml0aWFsaXplZD0hMCx0aGlzLmxvZ2dlci5pbmZvKCJDb3JlIEluaXRpYWxpemF0aW9uIFN1Y2Nlc3MiKX1jYXRjaChlKXt0aHJvdyB0aGlzLmxvZ2dlci53YXJuKGBDb3JlIEluaXRpYWxpemF0aW9uIEZhaWx1cmUgYXQgZXBvY2ggJHtEYXRlLm5vdygpfWAsZSksdGhpcy5sb2dnZXIuZXJyb3IoZS5tZXNzYWdlKSxlfX19Y29uc3QgZTc9Y2gsZmc9IndjIixkZz0yLHBnPSJjbGllbnQiLGxoPWAke2ZnfUAke2RnfToke3BnfTpgLHVoPXtuYW1lOnBnLGxvZ2dlcjoiZXJyb3IiLGNvbnRyb2xsZXI6ITEscmVsYXlVcmw6IndzczovL3JlbGF5LndhbGxldGNvbm5lY3QuY29tIn0sdDc9InByb3Bvc2FsIixnZz0iUHJvcG9zYWwgZXhwaXJlZCIscjc9InNlc3Npb24iLG9jPWtlLlNFVkVOX0RBWVMsbjc9ImVuZ2luZSIsV289e3djX3Nlc3Npb25Qcm9wb3NlOntyZXE6e3R0bDprZS5GSVZFX01JTlVURVMscHJvbXB0OiEwLHRhZzoxMTAwfSxyZXM6e3R0bDprZS5GSVZFX01JTlVURVMscHJvbXB0OiExLHRhZzoxMTAxfX0sd2Nfc2Vzc2lvblNldHRsZTp7cmVxOnt0dGw6a2UuRklWRV9NSU5VVEVTLHByb21wdDohMSx0YWc6MTEwMn0scmVzOnt0dGw6a2UuRklWRV9NSU5VVEVTLHByb21wdDohMSx0YWc6MTEwM319LHdjX3Nlc3Npb25VcGRhdGU6e3JlcTp7dHRsOmtlLk9ORV9EQVkscHJvbXB0OiExLHRhZzoxMTA0fSxyZXM6e3R0bDprZS5PTkVfREFZLHByb21wdDohMSx0YWc6MTEwNX19LHdjX3Nlc3Npb25FeHRlbmQ6e3JlcTp7dHRsOmtlLk9ORV9EQVkscHJvbXB0OiExLHRhZzoxMTA2fSxyZXM6e3R0bDprZS5PTkVfREFZLHByb21wdDohMSx0YWc6MTEwN319LHdjX3Nlc3Npb25SZXF1ZXN0OntyZXE6e3R0bDprZS5GSVZFX01JTlVURVMscHJvbXB0OiEwLHRhZzoxMTA4fSxyZXM6e3R0bDprZS5GSVZFX01JTlVURVMscHJvbXB0OiExLHRhZzoxMTA5fX0sd2Nfc2Vzc2lvbkV2ZW50OntyZXE6e3R0bDprZS5GSVZFX01JTlVURVMscHJvbXB0OiEwLHRhZzoxMTEwfSxyZXM6e3R0bDprZS5GSVZFX01JTlVURVMscHJvbXB0OiExLHRhZzoxMTExfX0sd2Nfc2Vzc2lvbkRlbGV0ZTp7cmVxOnt0dGw6a2UuT05FX0RBWSxwcm9tcHQ6ITEsdGFnOjExMTJ9LHJlczp7dHRsOmtlLk9ORV9EQVkscHJvbXB0OiExLHRhZzoxMTEzfX0sd2Nfc2Vzc2lvblBpbmc6e3JlcTp7dHRsOmtlLlRISVJUWV9TRUNPTkRTLHByb21wdDohMSx0YWc6MTExNH0scmVzOnt0dGw6a2UuVEhJUlRZX1NFQ09ORFMscHJvbXB0OiExLHRhZzoxMTE1fX19LGhoPXttaW46a2UuRklWRV9NSU5VVEVTLG1heDprZS5TRVZFTl9EQVlTfSxpNz0icmVxdWVzdCIsczc9WyJ3Y19zZXNzaW9uUHJvcG9zZSIsIndjX3Nlc3Npb25SZXF1ZXN0Iiwid2NfYXV0aFJlcXVlc3QiXTt2YXIgbzc9T2JqZWN0LmRlZmluZVByb3BlcnR5LGE3PU9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzLGM3PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLG1nPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsbDc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx1Nz1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLHdnPSh0LGUscik9PmUgaW4gdD9vNyh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnJ9KTp0W2VdPXIsYW49KHQsZSk9Pntmb3IodmFyIHIgaW4gZXx8KGU9e30pKWw3LmNhbGwoZSxyKSYmd2codCxyLGVbcl0pO2lmKG1nKWZvcih2YXIgciBvZiBtZyhlKSl1Ny5jYWxsKGUscikmJndnKHQscixlW3JdKTtyZXR1cm4gdH0sZmg9KHQsZSk9PmE3KHQsYzcoZSkpO2NsYXNzIGg3IGV4dGVuZHMgQzR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5uYW1lPW43LHRoaXMuZXZlbnRzPW5ldyBici5leHBvcnRzLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5pZ25vcmVkUGF5bG9hZFR5cGVzPVtCaV0sdGhpcy5pbml0PWFzeW5jKCk9Pnt0aGlzLmluaXRpYWxpemVkfHwoYXdhaXQgdGhpcy5jbGVhbnVwKCksdGhpcy5yZWdpc3RlclJlbGF5ZXJFdmVudHMoKSx0aGlzLnJlZ2lzdGVyRXhwaXJlckV2ZW50cygpLHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5yZWdpc3Rlcih7bWV0aG9kczpPYmplY3Qua2V5cyhXbyl9KSx0aGlzLmluaXRpYWxpemVkPSEwKX0sdGhpcy5jb25uZWN0PWFzeW5jIHI9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKTtjb25zdCBuPWZoKGFuKHt9LHIpLHtyZXF1aXJlZE5hbWVzcGFjZXM6ci5yZXF1aXJlZE5hbWVzcGFjZXN8fHt9LG9wdGlvbmFsTmFtZXNwYWNlczpyLm9wdGlvbmFsTmFtZXNwYWNlc3x8e319KTthd2FpdCB0aGlzLmlzVmFsaWRDb25uZWN0KG4pO2NvbnN0e3BhaXJpbmdUb3BpYzppLHJlcXVpcmVkTmFtZXNwYWNlczpvLG9wdGlvbmFsTmFtZXNwYWNlczpjLHNlc3Npb25Qcm9wZXJ0aWVzOmwscmVsYXlzOmh9PW47bGV0IGQ9aSx2LEU9ITE7aWYoZCYmKEU9dGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnBhaXJpbmdzLmdldChkKS5hY3RpdmUpLCFkfHwhRSl7Y29uc3R7dG9waWM6TCx1cmk6JH09YXdhaXQgdGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLmNyZWF0ZSgpO2Q9TCx2PSR9Y29uc3QgXz1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5nZW5lcmF0ZUtleVBhaXIoKSxBPWFuKHtyZXF1aXJlZE5hbWVzcGFjZXM6byxvcHRpb25hbE5hbWVzcGFjZXM6YyxyZWxheXM6aD8/W3twcm90b2NvbDpRcH1dLHByb3Bvc2VyOntwdWJsaWNLZXk6XyxtZXRhZGF0YTp0aGlzLmNsaWVudC5tZXRhZGF0YX19LGwmJntzZXNzaW9uUHJvcGVydGllczpsfSkse3JlamVjdDpQLHJlc29sdmU6VSxkb25lOkh9PVNzKGtlLkZJVkVfTUlOVVRFUyxnZyk7aWYodGhpcy5ldmVudHMub25jZSh0cigic2Vzc2lvbl9jb25uZWN0IiksYXN5bmMoe2Vycm9yOkwsc2Vzc2lvbjokfSk9PntpZihMKVAoTCk7ZWxzZSBpZigkKXskLnNlbGYucHVibGljS2V5PV87Y29uc3QgVD1maChhbih7fSwkKSx7cmVxdWlyZWROYW1lc3BhY2VzOiQucmVxdWlyZWROYW1lc3BhY2VzLG9wdGlvbmFsTmFtZXNwYWNlczokLm9wdGlvbmFsTmFtZXNwYWNlc30pO2F3YWl0IHRoaXMuY2xpZW50LnNlc3Npb24uc2V0KCQudG9waWMsVCksYXdhaXQgdGhpcy5zZXRFeHBpcnkoJC50b3BpYywkLmV4cGlyeSksZCYmYXdhaXQgdGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnVwZGF0ZU1ldGFkYXRhKHt0b3BpYzpkLG1ldGFkYXRhOiQucGVlci5tZXRhZGF0YX0pLFUoVCl9fSksIWQpe2NvbnN0e21lc3NhZ2U6TH09X2UoIk5PX01BVENISU5HX0tFWSIsYGNvbm5lY3QoKSBwYWlyaW5nIHRvcGljOiAke2R9YCk7dGhyb3cgbmV3IEVycm9yKEwpfWNvbnN0IEc9YXdhaXQgdGhpcy5zZW5kUmVxdWVzdChkLCJ3Y19zZXNzaW9uUHJvcG9zZSIsQSksTj0kbihrZS5GSVZFX01JTlVURVMpO3JldHVybiBhd2FpdCB0aGlzLnNldFByb3Bvc2FsKEcsYW4oe2lkOkcsZXhwaXJ5Ok59LEEpKSx7dXJpOnYsYXBwcm92YWw6SH19LHRoaXMucGFpcj1hc3luYyByPT4odGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnBhaXIocikpLHRoaXMuYXBwcm92ZT1hc3luYyByPT57dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5pc1ZhbGlkQXBwcm92ZShyKTtjb25zdHtpZDpuLHJlbGF5UHJvdG9jb2w6aSxuYW1lc3BhY2VzOm8sc2Vzc2lvblByb3BlcnRpZXM6Y309cixsPXRoaXMuY2xpZW50LnByb3Bvc2FsLmdldChuKTtsZXR7cGFpcmluZ1RvcGljOmgscHJvcG9zZXI6ZCxyZXF1aXJlZE5hbWVzcGFjZXM6dixvcHRpb25hbE5hbWVzcGFjZXM6RX09bDtoPWh8fCIiLCRzKHYpfHwodj12YihvLCJhcHByb3ZlKCkiKSk7Y29uc3QgXz1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5nZW5lcmF0ZUtleVBhaXIoKSxBPWQucHVibGljS2V5LFA9YXdhaXQgdGhpcy5jbGllbnQuY29yZS5jcnlwdG8uZ2VuZXJhdGVTaGFyZWRLZXkoXyxBKTtoJiZuJiYoYXdhaXQgdGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnVwZGF0ZU1ldGFkYXRhKHt0b3BpYzpoLG1ldGFkYXRhOmQubWV0YWRhdGF9KSxhd2FpdCB0aGlzLnNlbmRSZXN1bHQobixoLHtyZWxheTp7cHJvdG9jb2w6aT8/ImlybiJ9LHJlc3BvbmRlclB1YmxpY0tleTpffSksYXdhaXQgdGhpcy5jbGllbnQucHJvcG9zYWwuZGVsZXRlKG4sWnQoIlVTRVJfRElTQ09OTkVDVEVEIikpLGF3YWl0IHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5hY3RpdmF0ZSh7dG9waWM6aH0pKTtjb25zdCBVPWFuKHtyZWxheTp7cHJvdG9jb2w6aT8/ImlybiJ9LG5hbWVzcGFjZXM6byxyZXF1aXJlZE5hbWVzcGFjZXM6dixvcHRpb25hbE5hbWVzcGFjZXM6RSxwYWlyaW5nVG9waWM6aCxjb250cm9sbGVyOntwdWJsaWNLZXk6XyxtZXRhZGF0YTp0aGlzLmNsaWVudC5tZXRhZGF0YX0sZXhwaXJ5OiRuKG9jKX0sYyYme3Nlc3Npb25Qcm9wZXJ0aWVzOmN9KTthd2FpdCB0aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIuc3Vic2NyaWJlKFApLGF3YWl0IHRoaXMuc2VuZFJlcXVlc3QoUCwid2Nfc2Vzc2lvblNldHRsZSIsVSk7Y29uc3QgSD1maChhbih7fSxVKSx7dG9waWM6UCxwYWlyaW5nVG9waWM6aCxhY2tub3dsZWRnZWQ6ITEsc2VsZjpVLmNvbnRyb2xsZXIscGVlcjp7cHVibGljS2V5OmQucHVibGljS2V5LG1ldGFkYXRhOmQubWV0YWRhdGF9LGNvbnRyb2xsZXI6X30pO3JldHVybiBhd2FpdCB0aGlzLmNsaWVudC5zZXNzaW9uLnNldChQLEgpLGF3YWl0IHRoaXMuc2V0RXhwaXJ5KFAsJG4ob2MpKSx7dG9waWM6UCxhY2tub3dsZWRnZWQ6KCk9Pm5ldyBQcm9taXNlKEc9PnNldFRpbWVvdXQoKCk9PkcodGhpcy5jbGllbnQuc2Vzc2lvbi5nZXQoUCkpLDUwMCkpfX0sdGhpcy5yZWplY3Q9YXN5bmMgcj0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMuaXNWYWxpZFJlamVjdChyKTtjb25zdHtpZDpuLHJlYXNvbjppfT1yLHtwYWlyaW5nVG9waWM6b309dGhpcy5jbGllbnQucHJvcG9zYWwuZ2V0KG4pO28mJihhd2FpdCB0aGlzLnNlbmRFcnJvcihuLG8saSksYXdhaXQgdGhpcy5jbGllbnQucHJvcG9zYWwuZGVsZXRlKG4sWnQoIlVTRVJfRElTQ09OTkVDVEVEIikpKX0sdGhpcy51cGRhdGU9YXN5bmMgcj0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMuaXNWYWxpZFVwZGF0ZShyKTtjb25zdHt0b3BpYzpuLG5hbWVzcGFjZXM6aX09cixvPWF3YWl0IHRoaXMuc2VuZFJlcXVlc3Qobiwid2Nfc2Vzc2lvblVwZGF0ZSIse25hbWVzcGFjZXM6aX0pLHtkb25lOmMscmVzb2x2ZTpsLHJlamVjdDpofT1TcygpO3JldHVybiB0aGlzLmV2ZW50cy5vbmNlKHRyKCJzZXNzaW9uX3VwZGF0ZSIsbyksKHtlcnJvcjpkfSk9PntkP2goZCk6bCgpfSksYXdhaXQgdGhpcy5jbGllbnQuc2Vzc2lvbi51cGRhdGUobix7bmFtZXNwYWNlczppfSkse2Fja25vd2xlZGdlZDpjfX0sdGhpcy5leHRlbmQ9YXN5bmMgcj0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMuaXNWYWxpZEV4dGVuZChyKTtjb25zdHt0b3BpYzpufT1yLGk9YXdhaXQgdGhpcy5zZW5kUmVxdWVzdChuLCJ3Y19zZXNzaW9uRXh0ZW5kIix7fSkse2RvbmU6byxyZXNvbHZlOmMscmVqZWN0Omx9PVNzKCk7cmV0dXJuIHRoaXMuZXZlbnRzLm9uY2UodHIoInNlc3Npb25fZXh0ZW5kIixpKSwoe2Vycm9yOmh9KT0+e2g/bChoKTpjKCl9KSxhd2FpdCB0aGlzLnNldEV4cGlyeShuLCRuKG9jKSkse2Fja25vd2xlZGdlZDpvfX0sdGhpcy5yZXF1ZXN0PWFzeW5jIHI9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLmlzVmFsaWRSZXF1ZXN0KHIpO2NvbnN0e2NoYWluSWQ6bixyZXF1ZXN0OmksdG9waWM6byxleHBpcnk6Y309cixsPWF3YWl0IHRoaXMuc2VuZFJlcXVlc3Qobywid2Nfc2Vzc2lvblJlcXVlc3QiLHtyZXF1ZXN0OmksY2hhaW5JZDpufSxjKSx7ZG9uZTpoLHJlc29sdmU6ZCxyZWplY3Q6dn09U3MoYyk7cmV0dXJuIHRoaXMuZXZlbnRzLm9uY2UodHIoInNlc3Npb25fcmVxdWVzdCIsbCksKHtlcnJvcjpFLHJlc3VsdDpffSk9PntFP3YoRSk6ZChfKX0pLHRoaXMuY2xpZW50LmV2ZW50cy5lbWl0KCJzZXNzaW9uX3JlcXVlc3Rfc2VudCIse3RvcGljOm8scmVxdWVzdDppLGNoYWluSWQ6bixpZDpsfSksYXdhaXQgaCgpfSx0aGlzLnJlc3BvbmQ9YXN5bmMgcj0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMuaXNWYWxpZFJlc3BvbmQocik7Y29uc3R7dG9waWM6bixyZXNwb25zZTppfT1yLHtpZDpvfT1pO1ZuKGkpP2F3YWl0IHRoaXMuc2VuZFJlc3VsdChvLG4saS5yZXN1bHQpOkVuKGkpJiZhd2FpdCB0aGlzLnNlbmRFcnJvcihvLG4saS5lcnJvciksdGhpcy5kZWxldGVQZW5kaW5nU2Vzc2lvblJlcXVlc3Qoci5yZXNwb25zZS5pZCx7bWVzc2FnZToiZnVsZmlsbGVkIixjb2RlOjB9KX0sdGhpcy5waW5nPWFzeW5jIHI9Pnt0aGlzLmlzSW5pdGlhbGl6ZWQoKSxhd2FpdCB0aGlzLmlzVmFsaWRQaW5nKHIpO2NvbnN0e3RvcGljOm59PXI7aWYodGhpcy5jbGllbnQuc2Vzc2lvbi5rZXlzLmluY2x1ZGVzKG4pKXtjb25zdCBpPWF3YWl0IHRoaXMuc2VuZFJlcXVlc3Qobiwid2Nfc2Vzc2lvblBpbmciLHt9KSx7ZG9uZTpvLHJlc29sdmU6YyxyZWplY3Q6bH09U3MoKTt0aGlzLmV2ZW50cy5vbmNlKHRyKCJzZXNzaW9uX3BpbmciLGkpLCh7ZXJyb3I6aH0pPT57aD9sKGgpOmMoKX0pLGF3YWl0IG8oKX1lbHNlIHRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5wYWlyaW5ncy5rZXlzLmluY2x1ZGVzKG4pJiZhd2FpdCB0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcucGluZyh7dG9waWM6bn0pfSx0aGlzLmVtaXQ9YXN5bmMgcj0+e3RoaXMuaXNJbml0aWFsaXplZCgpLGF3YWl0IHRoaXMuaXNWYWxpZEVtaXQocik7Y29uc3R7dG9waWM6bixldmVudDppLGNoYWluSWQ6b309cjthd2FpdCB0aGlzLnNlbmRSZXF1ZXN0KG4sIndjX3Nlc3Npb25FdmVudCIse2V2ZW50OmksY2hhaW5JZDpvfSl9LHRoaXMuZGlzY29ubmVjdD1hc3luYyByPT57dGhpcy5pc0luaXRpYWxpemVkKCksYXdhaXQgdGhpcy5pc1ZhbGlkRGlzY29ubmVjdChyKTtjb25zdHt0b3BpYzpufT1yO3RoaXMuY2xpZW50LnNlc3Npb24ua2V5cy5pbmNsdWRlcyhuKT8oYXdhaXQgdGhpcy5zZW5kUmVxdWVzdChuLCJ3Y19zZXNzaW9uRGVsZXRlIixadCgiVVNFUl9ESVNDT05ORUNURUQiKSksYXdhaXQgdGhpcy5kZWxldGVTZXNzaW9uKG4pKTphd2FpdCB0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcuZGlzY29ubmVjdCh7dG9waWM6bn0pfSx0aGlzLmZpbmQ9cj0+KHRoaXMuaXNJbml0aWFsaXplZCgpLHRoaXMuY2xpZW50LnNlc3Npb24uZ2V0QWxsKCkuZmlsdGVyKG49Pl9iKG4scikpKSx0aGlzLmdldFBlbmRpbmdTZXNzaW9uUmVxdWVzdHM9KCk9Pih0aGlzLmlzSW5pdGlhbGl6ZWQoKSx0aGlzLmNsaWVudC5wZW5kaW5nUmVxdWVzdC5nZXRBbGwoKSksdGhpcy5jbGVhbnVwRHVwbGljYXRlUGFpcmluZ3M9YXN5bmMgcj0+e3RyeXtjb25zdCBuPXRoaXMuY2xpZW50LmNvcmUucGFpcmluZy5wYWlyaW5ncy5nZXQoci5wYWlyaW5nVG9waWMpLGk9dGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnBhaXJpbmdzLmdldEFsbCgpLmZpbHRlcihvPT57dmFyIGMsbDtyZXR1cm4oKGM9by5wZWVyTWV0YWRhdGEpPT1udWxsP3ZvaWQgMDpjLnVybCkmJigobD1vLnBlZXJNZXRhZGF0YSk9PW51bGw/dm9pZCAwOmwudXJsKT09PXIuc2VsZi5tZXRhZGF0YS51cmwmJm8udG9waWMhPT1uLnRvcGljfSk7aWYoaS5sZW5ndGg9PT0wKXJldHVybjt0aGlzLmNsaWVudC5sb2dnZXIuaW5mbyhgQ2xlYW5pbmcgdXAgJHtpLmxlbmd0aH0gZHVwbGljYXRlIHBhaXJpbmcocylgKSxhd2FpdCBQcm9taXNlLmFsbChpLm1hcChvPT50aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcuZGlzY29ubmVjdCh7dG9waWM6by50b3BpY30pKSksdGhpcy5jbGllbnQubG9nZ2VyLmluZm8oIkR1cGxpY2F0ZSBwYWlyaW5ncyBjbGVhbiB1cCBmaW5pc2hlZCIpfWNhdGNoKG4pe3RoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihuKX19LHRoaXMuZGVsZXRlU2Vzc2lvbj1hc3luYyhyLG4pPT57Y29uc3R7c2VsZjppfT10aGlzLmNsaWVudC5zZXNzaW9uLmdldChyKTthd2FpdCB0aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIudW5zdWJzY3JpYmUociksYXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMuY2xpZW50LnNlc3Npb24uZGVsZXRlKHIsWnQoIlVTRVJfRElTQ09OTkVDVEVEIikpLHRoaXMuY2xpZW50LmNvcmUuY3J5cHRvLmRlbGV0ZUtleVBhaXIoaS5wdWJsaWNLZXkpLHRoaXMuY2xpZW50LmNvcmUuY3J5cHRvLmRlbGV0ZVN5bUtleShyKSxuP1Byb21pc2UucmVzb2x2ZSgpOnRoaXMuY2xpZW50LmNvcmUuZXhwaXJlci5kZWwocildKX0sdGhpcy5kZWxldGVQcm9wb3NhbD1hc3luYyhyLG4pPT57YXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMuY2xpZW50LnByb3Bvc2FsLmRlbGV0ZShyLFp0KCJVU0VSX0RJU0NPTk5FQ1RFRCIpKSxuP1Byb21pc2UucmVzb2x2ZSgpOnRoaXMuY2xpZW50LmNvcmUuZXhwaXJlci5kZWwocildKX0sdGhpcy5kZWxldGVQZW5kaW5nU2Vzc2lvblJlcXVlc3Q9YXN5bmMocixuLGk9ITEpPT57YXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMuY2xpZW50LnBlbmRpbmdSZXF1ZXN0LmRlbGV0ZShyLG4pLGk/UHJvbWlzZS5yZXNvbHZlKCk6dGhpcy5jbGllbnQuY29yZS5leHBpcmVyLmRlbChyKV0pfSx0aGlzLnNldEV4cGlyeT1hc3luYyhyLG4pPT57dGhpcy5jbGllbnQuc2Vzc2lvbi5rZXlzLmluY2x1ZGVzKHIpJiZhd2FpdCB0aGlzLmNsaWVudC5zZXNzaW9uLnVwZGF0ZShyLHtleHBpcnk6bn0pLHRoaXMuY2xpZW50LmNvcmUuZXhwaXJlci5zZXQocixuKX0sdGhpcy5zZXRQcm9wb3NhbD1hc3luYyhyLG4pPT57YXdhaXQgdGhpcy5jbGllbnQucHJvcG9zYWwuc2V0KHIsbiksdGhpcy5jbGllbnQuY29yZS5leHBpcmVyLnNldChyLG4uZXhwaXJ5KX0sdGhpcy5zZXRQZW5kaW5nU2Vzc2lvblJlcXVlc3Q9YXN5bmMgcj0+e2NvbnN0IG49V28ud2Nfc2Vzc2lvblJlcXVlc3QucmVxLnR0bCx7aWQ6aSx0b3BpYzpvLHBhcmFtczpjfT1yO2F3YWl0IHRoaXMuY2xpZW50LnBlbmRpbmdSZXF1ZXN0LnNldChpLHtpZDppLHRvcGljOm8scGFyYW1zOmN9KSxuJiZ0aGlzLmNsaWVudC5jb3JlLmV4cGlyZXIuc2V0KGksJG4obikpfSx0aGlzLnNlbmRSZXF1ZXN0PWFzeW5jKHIsbixpLG8pPT57Y29uc3QgYz10YyhuLGkpO2lmKFN1KCkmJnM3LmluY2x1ZGVzKG4pKXtjb25zdCBkPUFzKEpTT04uc3RyaW5naWZ5KGMpKTthd2FpdCB0aGlzLmNsaWVudC5jb3JlLnZlcmlmeS5yZWdpc3Rlcih7YXR0ZXN0YXRpb25JZDpkfSl9Y29uc3QgbD1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5lbmNvZGUocixjKSxoPVdvW25dLnJlcTtyZXR1cm4gbyYmKGgudHRsPW8pLHRoaXMuY2xpZW50LmNvcmUuaGlzdG9yeS5zZXQocixjKSx0aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIucHVibGlzaChyLGwsaCksYy5pZH0sdGhpcy5zZW5kUmVzdWx0PWFzeW5jKHIsbixpKT0+e2NvbnN0IG89UXUocixpKSxjPWF3YWl0IHRoaXMuY2xpZW50LmNvcmUuY3J5cHRvLmVuY29kZShuLG8pLGw9YXdhaXQgdGhpcy5jbGllbnQuY29yZS5oaXN0b3J5LmdldChuLHIpLGg9V29bbC5yZXF1ZXN0Lm1ldGhvZF0ucmVzO3RoaXMuY2xpZW50LmNvcmUucmVsYXllci5wdWJsaXNoKG4sYyxoKSxhd2FpdCB0aGlzLmNsaWVudC5jb3JlLmhpc3RvcnkucmVzb2x2ZShvKX0sdGhpcy5zZW5kRXJyb3I9YXN5bmMocixuLGkpPT57Y29uc3Qgbz1yYyhyLGkpLGM9YXdhaXQgdGhpcy5jbGllbnQuY29yZS5jcnlwdG8uZW5jb2RlKG4sbyksbD1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmhpc3RvcnkuZ2V0KG4sciksaD1Xb1tsLnJlcXVlc3QubWV0aG9kXS5yZXM7dGhpcy5jbGllbnQuY29yZS5yZWxheWVyLnB1Ymxpc2gobixjLGgpLGF3YWl0IHRoaXMuY2xpZW50LmNvcmUuaGlzdG9yeS5yZXNvbHZlKG8pfSx0aGlzLmNsZWFudXA9YXN5bmMoKT0+e2NvbnN0IHI9W10sbj1bXTt0aGlzLmNsaWVudC5zZXNzaW9uLmdldEFsbCgpLmZvckVhY2goaT0+e3VpKGkuZXhwaXJ5KSYmci5wdXNoKGkudG9waWMpfSksdGhpcy5jbGllbnQucHJvcG9zYWwuZ2V0QWxsKCkuZm9yRWFjaChpPT57dWkoaS5leHBpcnkpJiZuLnB1c2goaS5pZCl9KSxhd2FpdCBQcm9taXNlLmFsbChbLi4uci5tYXAoaT0+dGhpcy5kZWxldGVTZXNzaW9uKGkpKSwuLi5uLm1hcChpPT50aGlzLmRlbGV0ZVByb3Bvc2FsKGkpKV0pfSx0aGlzLm9uUmVsYXlFdmVudFJlcXVlc3Q9cj0+e2NvbnN0e3RvcGljOm4scGF5bG9hZDppfT1yLG89aS5tZXRob2Q7c3dpdGNoKG8pe2Nhc2Uid2Nfc2Vzc2lvblByb3Bvc2UiOnJldHVybiB0aGlzLm9uU2Vzc2lvblByb3Bvc2VSZXF1ZXN0KG4saSk7Y2FzZSJ3Y19zZXNzaW9uU2V0dGxlIjpyZXR1cm4gdGhpcy5vblNlc3Npb25TZXR0bGVSZXF1ZXN0KG4saSk7Y2FzZSJ3Y19zZXNzaW9uVXBkYXRlIjpyZXR1cm4gdGhpcy5vblNlc3Npb25VcGRhdGVSZXF1ZXN0KG4saSk7Y2FzZSJ3Y19zZXNzaW9uRXh0ZW5kIjpyZXR1cm4gdGhpcy5vblNlc3Npb25FeHRlbmRSZXF1ZXN0KG4saSk7Y2FzZSJ3Y19zZXNzaW9uUGluZyI6cmV0dXJuIHRoaXMub25TZXNzaW9uUGluZ1JlcXVlc3QobixpKTtjYXNlIndjX3Nlc3Npb25EZWxldGUiOnJldHVybiB0aGlzLm9uU2Vzc2lvbkRlbGV0ZVJlcXVlc3QobixpKTtjYXNlIndjX3Nlc3Npb25SZXF1ZXN0IjpyZXR1cm4gdGhpcy5vblNlc3Npb25SZXF1ZXN0KG4saSk7Y2FzZSJ3Y19zZXNzaW9uRXZlbnQiOnJldHVybiB0aGlzLm9uU2Vzc2lvbkV2ZW50UmVxdWVzdChuLGkpO2RlZmF1bHQ6cmV0dXJuIHRoaXMuY2xpZW50LmxvZ2dlci5pbmZvKGBVbnN1cHBvcnRlZCByZXF1ZXN0IG1ldGhvZCAke299YCl9fSx0aGlzLm9uUmVsYXlFdmVudFJlc3BvbnNlPWFzeW5jIHI9Pntjb25zdHt0b3BpYzpuLHBheWxvYWQ6aX09cixvPShhd2FpdCB0aGlzLmNsaWVudC5jb3JlLmhpc3RvcnkuZ2V0KG4saS5pZCkpLnJlcXVlc3QubWV0aG9kO3N3aXRjaChvKXtjYXNlIndjX3Nlc3Npb25Qcm9wb3NlIjpyZXR1cm4gdGhpcy5vblNlc3Npb25Qcm9wb3NlUmVzcG9uc2UobixpKTtjYXNlIndjX3Nlc3Npb25TZXR0bGUiOnJldHVybiB0aGlzLm9uU2Vzc2lvblNldHRsZVJlc3BvbnNlKG4saSk7Y2FzZSJ3Y19zZXNzaW9uVXBkYXRlIjpyZXR1cm4gdGhpcy5vblNlc3Npb25VcGRhdGVSZXNwb25zZShuLGkpO2Nhc2Uid2Nfc2Vzc2lvbkV4dGVuZCI6cmV0dXJuIHRoaXMub25TZXNzaW9uRXh0ZW5kUmVzcG9uc2UobixpKTtjYXNlIndjX3Nlc3Npb25QaW5nIjpyZXR1cm4gdGhpcy5vblNlc3Npb25QaW5nUmVzcG9uc2UobixpKTtjYXNlIndjX3Nlc3Npb25SZXF1ZXN0IjpyZXR1cm4gdGhpcy5vblNlc3Npb25SZXF1ZXN0UmVzcG9uc2UobixpKTtkZWZhdWx0OnJldHVybiB0aGlzLmNsaWVudC5sb2dnZXIuaW5mbyhgVW5zdXBwb3J0ZWQgcmVzcG9uc2UgbWV0aG9kICR7b31gKX19LHRoaXMub25TZXNzaW9uUHJvcG9zZVJlcXVlc3Q9YXN5bmMocixuKT0+e2NvbnN0e3BhcmFtczppLGlkOm99PW47dHJ5e3RoaXMuaXNWYWxpZENvbm5lY3QoYW4oe30sbi5wYXJhbXMpKTtjb25zdCBjPSRuKGtlLkZJVkVfTUlOVVRFUyksbD1hbih7aWQ6byxwYWlyaW5nVG9waWM6cixleHBpcnk6Y30saSk7YXdhaXQgdGhpcy5zZXRQcm9wb3NhbChvLGwpO2NvbnN0IGg9QXMoSlNPTi5zdHJpbmdpZnkobikpLGQ9YXdhaXQgdGhpcy5nZXRWZXJpZnlDb250ZXh0KGgsbC5wcm9wb3Nlci5tZXRhZGF0YSk7dGhpcy5jbGllbnQuZXZlbnRzLmVtaXQoInNlc3Npb25fcHJvcG9zYWwiLHtpZDpvLHBhcmFtczpsLHZlcmlmeUNvbnRleHQ6ZH0pfWNhdGNoKGMpe2F3YWl0IHRoaXMuc2VuZEVycm9yKG8scixjKSx0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3IoYyl9fSx0aGlzLm9uU2Vzc2lvblByb3Bvc2VSZXNwb25zZT1hc3luYyhyLG4pPT57Y29uc3R7aWQ6aX09bjtpZihWbihuKSl7Y29uc3R7cmVzdWx0Om99PW47dGhpcy5jbGllbnQubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoib25TZXNzaW9uUHJvcG9zZVJlc3BvbnNlIixyZXN1bHQ6b30pO2NvbnN0IGM9dGhpcy5jbGllbnQucHJvcG9zYWwuZ2V0KGkpO3RoaXMuY2xpZW50LmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6Im9uU2Vzc2lvblByb3Bvc2VSZXNwb25zZSIscHJvcG9zYWw6Y30pO2NvbnN0IGw9Yy5wcm9wb3Nlci5wdWJsaWNLZXk7dGhpcy5jbGllbnQubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoib25TZXNzaW9uUHJvcG9zZVJlc3BvbnNlIixzZWxmUHVibGljS2V5Omx9KTtjb25zdCBoPW8ucmVzcG9uZGVyUHVibGljS2V5O3RoaXMuY2xpZW50LmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6Im9uU2Vzc2lvblByb3Bvc2VSZXNwb25zZSIscGVlclB1YmxpY0tleTpofSk7Y29uc3QgZD1hd2FpdCB0aGlzLmNsaWVudC5jb3JlLmNyeXB0by5nZW5lcmF0ZVNoYXJlZEtleShsLGgpO3RoaXMuY2xpZW50LmxvZ2dlci50cmFjZSh7dHlwZToibWV0aG9kIixtZXRob2Q6Im9uU2Vzc2lvblByb3Bvc2VSZXNwb25zZSIsc2Vzc2lvblRvcGljOmR9KTtjb25zdCB2PWF3YWl0IHRoaXMuY2xpZW50LmNvcmUucmVsYXllci5zdWJzY3JpYmUoZCk7dGhpcy5jbGllbnQubG9nZ2VyLnRyYWNlKHt0eXBlOiJtZXRob2QiLG1ldGhvZDoib25TZXNzaW9uUHJvcG9zZVJlc3BvbnNlIixzdWJzY3JpcHRpb25JZDp2fSksYXdhaXQgdGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLmFjdGl2YXRlKHt0b3BpYzpyfSl9ZWxzZSBFbihuKSYmKGF3YWl0IHRoaXMuY2xpZW50LnByb3Bvc2FsLmRlbGV0ZShpLFp0KCJVU0VSX0RJU0NPTk5FQ1RFRCIpKSx0aGlzLmV2ZW50cy5lbWl0KHRyKCJzZXNzaW9uX2Nvbm5lY3QiKSx7ZXJyb3I6bi5lcnJvcn0pKX0sdGhpcy5vblNlc3Npb25TZXR0bGVSZXF1ZXN0PWFzeW5jKHIsbik9Pntjb25zdHtpZDppLHBhcmFtczpvfT1uO3RyeXt0aGlzLmlzVmFsaWRTZXNzaW9uU2V0dGxlUmVxdWVzdChvKTtjb25zdHtyZWxheTpjLGNvbnRyb2xsZXI6bCxleHBpcnk6aCxuYW1lc3BhY2VzOmQscmVxdWlyZWROYW1lc3BhY2VzOnYsb3B0aW9uYWxOYW1lc3BhY2VzOkUsc2Vzc2lvblByb3BlcnRpZXM6XyxwYWlyaW5nVG9waWM6QX09bi5wYXJhbXMsUD1hbih7dG9waWM6cixyZWxheTpjLGV4cGlyeTpoLG5hbWVzcGFjZXM6ZCxhY2tub3dsZWRnZWQ6ITAscGFpcmluZ1RvcGljOkEscmVxdWlyZWROYW1lc3BhY2VzOnYsb3B0aW9uYWxOYW1lc3BhY2VzOkUsY29udHJvbGxlcjpsLnB1YmxpY0tleSxzZWxmOntwdWJsaWNLZXk6IiIsbWV0YWRhdGE6dGhpcy5jbGllbnQubWV0YWRhdGF9LHBlZXI6e3B1YmxpY0tleTpsLnB1YmxpY0tleSxtZXRhZGF0YTpsLm1ldGFkYXRhfX0sXyYme3Nlc3Npb25Qcm9wZXJ0aWVzOl99KTthd2FpdCB0aGlzLnNlbmRSZXN1bHQobi5pZCxyLCEwKSx0aGlzLmV2ZW50cy5lbWl0KHRyKCJzZXNzaW9uX2Nvbm5lY3QiKSx7c2Vzc2lvbjpQfSksdGhpcy5jbGVhbnVwRHVwbGljYXRlUGFpcmluZ3MoUCl9Y2F0Y2goYyl7YXdhaXQgdGhpcy5zZW5kRXJyb3IoaSxyLGMpLHRoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihjKX19LHRoaXMub25TZXNzaW9uU2V0dGxlUmVzcG9uc2U9YXN5bmMocixuKT0+e2NvbnN0e2lkOml9PW47Vm4obik/KGF3YWl0IHRoaXMuY2xpZW50LnNlc3Npb24udXBkYXRlKHIse2Fja25vd2xlZGdlZDohMH0pLHRoaXMuZXZlbnRzLmVtaXQodHIoInNlc3Npb25fYXBwcm92ZSIsaSkse30pKTpFbihuKSYmKGF3YWl0IHRoaXMuY2xpZW50LnNlc3Npb24uZGVsZXRlKHIsWnQoIlVTRVJfRElTQ09OTkVDVEVEIikpLHRoaXMuZXZlbnRzLmVtaXQodHIoInNlc3Npb25fYXBwcm92ZSIsaSkse2Vycm9yOm4uZXJyb3J9KSl9LHRoaXMub25TZXNzaW9uVXBkYXRlUmVxdWVzdD1hc3luYyhyLG4pPT57Y29uc3R7cGFyYW1zOmksaWQ6b309bjt0cnl7dGhpcy5pc1ZhbGlkVXBkYXRlKGFuKHt0b3BpYzpyfSxpKSksYXdhaXQgdGhpcy5jbGllbnQuc2Vzc2lvbi51cGRhdGUocix7bmFtZXNwYWNlczppLm5hbWVzcGFjZXN9KSxhd2FpdCB0aGlzLnNlbmRSZXN1bHQobyxyLCEwKSx0aGlzLmNsaWVudC5ldmVudHMuZW1pdCgic2Vzc2lvbl91cGRhdGUiLHtpZDpvLHRvcGljOnIscGFyYW1zOml9KX1jYXRjaChjKXthd2FpdCB0aGlzLnNlbmRFcnJvcihvLHIsYyksdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKGMpfX0sdGhpcy5vblNlc3Npb25VcGRhdGVSZXNwb25zZT0ocixuKT0+e2NvbnN0e2lkOml9PW47Vm4obik/dGhpcy5ldmVudHMuZW1pdCh0cigic2Vzc2lvbl91cGRhdGUiLGkpLHt9KTpFbihuKSYmdGhpcy5ldmVudHMuZW1pdCh0cigic2Vzc2lvbl91cGRhdGUiLGkpLHtlcnJvcjpuLmVycm9yfSl9LHRoaXMub25TZXNzaW9uRXh0ZW5kUmVxdWVzdD1hc3luYyhyLG4pPT57Y29uc3R7aWQ6aX09bjt0cnl7dGhpcy5pc1ZhbGlkRXh0ZW5kKHt0b3BpYzpyfSksYXdhaXQgdGhpcy5zZXRFeHBpcnkociwkbihvYykpLGF3YWl0IHRoaXMuc2VuZFJlc3VsdChpLHIsITApLHRoaXMuY2xpZW50LmV2ZW50cy5lbWl0KCJzZXNzaW9uX2V4dGVuZCIse2lkOmksdG9waWM6cn0pfWNhdGNoKG8pe2F3YWl0IHRoaXMuc2VuZEVycm9yKGkscixvKSx0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3Iobyl9fSx0aGlzLm9uU2Vzc2lvbkV4dGVuZFJlc3BvbnNlPShyLG4pPT57Y29uc3R7aWQ6aX09bjtWbihuKT90aGlzLmV2ZW50cy5lbWl0KHRyKCJzZXNzaW9uX2V4dGVuZCIsaSkse30pOkVuKG4pJiZ0aGlzLmV2ZW50cy5lbWl0KHRyKCJzZXNzaW9uX2V4dGVuZCIsaSkse2Vycm9yOm4uZXJyb3J9KX0sdGhpcy5vblNlc3Npb25QaW5nUmVxdWVzdD1hc3luYyhyLG4pPT57Y29uc3R7aWQ6aX09bjt0cnl7dGhpcy5pc1ZhbGlkUGluZyh7dG9waWM6cn0pLGF3YWl0IHRoaXMuc2VuZFJlc3VsdChpLHIsITApLHRoaXMuY2xpZW50LmV2ZW50cy5lbWl0KCJzZXNzaW9uX3BpbmciLHtpZDppLHRvcGljOnJ9KX1jYXRjaChvKXthd2FpdCB0aGlzLnNlbmRFcnJvcihpLHIsbyksdGhpcy5jbGllbnQubG9nZ2VyLmVycm9yKG8pfX0sdGhpcy5vblNlc3Npb25QaW5nUmVzcG9uc2U9KHIsbik9Pntjb25zdHtpZDppfT1uO3NldFRpbWVvdXQoKCk9PntWbihuKT90aGlzLmV2ZW50cy5lbWl0KHRyKCJzZXNzaW9uX3BpbmciLGkpLHt9KTpFbihuKSYmdGhpcy5ldmVudHMuZW1pdCh0cigic2Vzc2lvbl9waW5nIixpKSx7ZXJyb3I6bi5lcnJvcn0pfSw1MDApfSx0aGlzLm9uU2Vzc2lvbkRlbGV0ZVJlcXVlc3Q9YXN5bmMocixuKT0+e2NvbnN0e2lkOml9PW47dHJ5e3RoaXMuaXNWYWxpZERpc2Nvbm5lY3Qoe3RvcGljOnIscmVhc29uOm4ucGFyYW1zfSksYXdhaXQgUHJvbWlzZS5hbGwoW25ldyBQcm9taXNlKG89Pnt0aGlzLmNsaWVudC5jb3JlLnJlbGF5ZXIub25jZShyci5wdWJsaXNoLGFzeW5jKCk9PntvKGF3YWl0IHRoaXMuZGVsZXRlU2Vzc2lvbihyKSl9KX0pLHRoaXMuc2VuZFJlc3VsdChpLHIsITApXSksdGhpcy5jbGllbnQuZXZlbnRzLmVtaXQoInNlc3Npb25fZGVsZXRlIix7aWQ6aSx0b3BpYzpyfSl9Y2F0Y2gobyl7YXdhaXQgdGhpcy5zZW5kRXJyb3IoaSxyLG8pLHRoaXMuY2xpZW50LmxvZ2dlci5lcnJvcihvKX19LHRoaXMub25TZXNzaW9uUmVxdWVzdD1hc3luYyhyLG4pPT57Y29uc3R7aWQ6aSxwYXJhbXM6b309bjt0cnl7dGhpcy5pc1ZhbGlkUmVxdWVzdChhbih7dG9waWM6cn0sbykpLGF3YWl0IHRoaXMuc2V0UGVuZGluZ1Nlc3Npb25SZXF1ZXN0KHtpZDppLHRvcGljOnIscGFyYW1zOm99KTtjb25zdCBjPUFzKEpTT04uc3RyaW5naWZ5KG4pKSxsPXRoaXMuY2xpZW50LnNlc3Npb24uZ2V0KHIpLGg9YXdhaXQgdGhpcy5nZXRWZXJpZnlDb250ZXh0KGMsbC5wZWVyLm1ldGFkYXRhKTt0aGlzLmNsaWVudC5ldmVudHMuZW1pdCgic2Vzc2lvbl9yZXF1ZXN0Iix7aWQ6aSx0b3BpYzpyLHBhcmFtczpvLHZlcmlmeUNvbnRleHQ6aH0pfWNhdGNoKGMpe2F3YWl0IHRoaXMuc2VuZEVycm9yKGkscixjKSx0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3IoYyl9fSx0aGlzLm9uU2Vzc2lvblJlcXVlc3RSZXNwb25zZT0ocixuKT0+e2NvbnN0e2lkOml9PW47Vm4obik/dGhpcy5ldmVudHMuZW1pdCh0cigic2Vzc2lvbl9yZXF1ZXN0IixpKSx7cmVzdWx0Om4ucmVzdWx0fSk6RW4obikmJnRoaXMuZXZlbnRzLmVtaXQodHIoInNlc3Npb25fcmVxdWVzdCIsaSkse2Vycm9yOm4uZXJyb3J9KX0sdGhpcy5vblNlc3Npb25FdmVudFJlcXVlc3Q9YXN5bmMocixuKT0+e2NvbnN0e2lkOmkscGFyYW1zOm99PW47dHJ5e3RoaXMuaXNWYWxpZEVtaXQoYW4oe3RvcGljOnJ9LG8pKSx0aGlzLmNsaWVudC5ldmVudHMuZW1pdCgic2Vzc2lvbl9ldmVudCIse2lkOmksdG9waWM6cixwYXJhbXM6b30pfWNhdGNoKGMpe2F3YWl0IHRoaXMuc2VuZEVycm9yKGkscixjKSx0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3IoYyl9fSx0aGlzLmlzVmFsaWRDb25uZWN0PWFzeW5jIHI9PntpZighenIocikpe2NvbnN0e21lc3NhZ2U6aH09X2UoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYGNvbm5lY3QoKSBwYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkocil9YCk7dGhyb3cgbmV3IEVycm9yKGgpfWNvbnN0e3BhaXJpbmdUb3BpYzpuLHJlcXVpcmVkTmFtZXNwYWNlczppLG9wdGlvbmFsTmFtZXNwYWNlczpvLHNlc3Npb25Qcm9wZXJ0aWVzOmMscmVsYXlzOmx9PXI7aWYoUHIobil8fGF3YWl0IHRoaXMuaXNWYWxpZFBhaXJpbmdUb3BpYyhuKSwhUmIobCwhMCkpe2NvbnN0e21lc3NhZ2U6aH09X2UoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYGNvbm5lY3QoKSByZWxheXM6ICR7bH1gKTt0aHJvdyBuZXcgRXJyb3IoaCl9IVByKGkpJiYkcyhpKSE9PTAmJnRoaXMudmFsaWRhdGVOYW1lc3BhY2VzKGksInJlcXVpcmVkTmFtZXNwYWNlcyIpLCFQcihvKSYmJHMobykhPT0wJiZ0aGlzLnZhbGlkYXRlTmFtZXNwYWNlcyhvLCJvcHRpb25hbE5hbWVzcGFjZXMiKSxQcihjKXx8dGhpcy52YWxpZGF0ZVNlc3Npb25Qcm9wcyhjLCJzZXNzaW9uUHJvcGVydGllcyIpfSx0aGlzLnZhbGlkYXRlTmFtZXNwYWNlcz0ocixuKT0+e2NvbnN0IGk9VGIociwiY29ubmVjdCgpIixuKTtpZihpKXRocm93IG5ldyBFcnJvcihpLm1lc3NhZ2UpfSx0aGlzLmlzVmFsaWRBcHByb3ZlPWFzeW5jIHI9PntpZighenIocikpdGhyb3cgbmV3IEVycm9yKF9lKCJNSVNTSU5HX09SX0lOVkFMSUQiLGBhcHByb3ZlKCkgcGFyYW1zOiAke3J9YCkubWVzc2FnZSk7Y29uc3R7aWQ6bixuYW1lc3BhY2VzOmkscmVsYXlQcm90b2NvbDpvLHNlc3Npb25Qcm9wZXJ0aWVzOmN9PXI7YXdhaXQgdGhpcy5pc1ZhbGlkUHJvcG9zYWxJZChuKTtjb25zdCBsPXRoaXMuY2xpZW50LnByb3Bvc2FsLmdldChuKSxoPUphKGksImFwcHJvdmUoKSIpO2lmKGgpdGhyb3cgbmV3IEVycm9yKGgubWVzc2FnZSk7Y29uc3QgZD1rMShsLnJlcXVpcmVkTmFtZXNwYWNlcyxpLCJhcHByb3ZlKCkiKTtpZihkKXRocm93IG5ldyBFcnJvcihkLm1lc3NhZ2UpO2lmKCFncihvLCEwKSl7Y29uc3R7bWVzc2FnZTp2fT1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgYXBwcm92ZSgpIHJlbGF5UHJvdG9jb2w6ICR7b31gKTt0aHJvdyBuZXcgRXJyb3Iodil9UHIoYyl8fHRoaXMudmFsaWRhdGVTZXNzaW9uUHJvcHMoYywic2Vzc2lvblByb3BlcnRpZXMiKX0sdGhpcy5pc1ZhbGlkUmVqZWN0PWFzeW5jIHI9PntpZighenIocikpe2NvbnN0e21lc3NhZ2U6b309X2UoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYHJlamVjdCgpIHBhcmFtczogJHtyfWApO3Rocm93IG5ldyBFcnJvcihvKX1jb25zdHtpZDpuLHJlYXNvbjppfT1yO2lmKGF3YWl0IHRoaXMuaXNWYWxpZFByb3Bvc2FsSWQobiksIUxiKGkpKXtjb25zdHttZXNzYWdlOm99PV9lKCJNSVNTSU5HX09SX0lOVkFMSUQiLGByZWplY3QoKSByZWFzb246ICR7SlNPTi5zdHJpbmdpZnkoaSl9YCk7dGhyb3cgbmV3IEVycm9yKG8pfX0sdGhpcy5pc1ZhbGlkU2Vzc2lvblNldHRsZVJlcXVlc3Q9cj0+e2lmKCF6cihyKSl7Y29uc3R7bWVzc2FnZTpkfT1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgb25TZXNzaW9uU2V0dGxlUmVxdWVzdCgpIHBhcmFtczogJHtyfWApO3Rocm93IG5ldyBFcnJvcihkKX1jb25zdHtyZWxheTpuLGNvbnRyb2xsZXI6aSxuYW1lc3BhY2VzOm8sZXhwaXJ5OmN9PXI7aWYoIUYxKG4pKXtjb25zdHttZXNzYWdlOmR9PV9lKCJNSVNTSU5HX09SX0lOVkFMSUQiLCJvblNlc3Npb25TZXR0bGVSZXF1ZXN0KCkgcmVsYXkgcHJvdG9jb2wgc2hvdWxkIGJlIGEgc3RyaW5nIik7dGhyb3cgbmV3IEVycm9yKGQpfWNvbnN0IGw9T2IoaSwib25TZXNzaW9uU2V0dGxlUmVxdWVzdCgpIik7aWYobCl0aHJvdyBuZXcgRXJyb3IobC5tZXNzYWdlKTtjb25zdCBoPUphKG8sIm9uU2Vzc2lvblNldHRsZVJlcXVlc3QoKSIpO2lmKGgpdGhyb3cgbmV3IEVycm9yKGgubWVzc2FnZSk7aWYodWkoYykpe2NvbnN0e21lc3NhZ2U6ZH09X2UoIkVYUElSRUQiLCJvblNlc3Npb25TZXR0bGVSZXF1ZXN0KCkiKTt0aHJvdyBuZXcgRXJyb3IoZCl9fSx0aGlzLmlzVmFsaWRVcGRhdGU9YXN5bmMgcj0+e2lmKCF6cihyKSl7Y29uc3R7bWVzc2FnZTpofT1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgdXBkYXRlKCkgcGFyYW1zOiAke3J9YCk7dGhyb3cgbmV3IEVycm9yKGgpfWNvbnN0e3RvcGljOm4sbmFtZXNwYWNlczppfT1yO2F3YWl0IHRoaXMuaXNWYWxpZFNlc3Npb25Ub3BpYyhuKTtjb25zdCBvPXRoaXMuY2xpZW50LnNlc3Npb24uZ2V0KG4pLGM9SmEoaSwidXBkYXRlKCkiKTtpZihjKXRocm93IG5ldyBFcnJvcihjLm1lc3NhZ2UpO2NvbnN0IGw9azEoby5yZXF1aXJlZE5hbWVzcGFjZXMsaSwidXBkYXRlKCkiKTtpZihsKXRocm93IG5ldyBFcnJvcihsLm1lc3NhZ2UpfSx0aGlzLmlzVmFsaWRFeHRlbmQ9YXN5bmMgcj0+e2lmKCF6cihyKSl7Y29uc3R7bWVzc2FnZTppfT1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgZXh0ZW5kKCkgcGFyYW1zOiAke3J9YCk7dGhyb3cgbmV3IEVycm9yKGkpfWNvbnN0e3RvcGljOm59PXI7YXdhaXQgdGhpcy5pc1ZhbGlkU2Vzc2lvblRvcGljKG4pfSx0aGlzLmlzVmFsaWRSZXF1ZXN0PWFzeW5jIHI9PntpZighenIocikpe2NvbnN0e21lc3NhZ2U6aH09X2UoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYHJlcXVlc3QoKSBwYXJhbXM6ICR7cn1gKTt0aHJvdyBuZXcgRXJyb3IoaCl9Y29uc3R7dG9waWM6bixyZXF1ZXN0OmksY2hhaW5JZDpvLGV4cGlyeTpjfT1yO2F3YWl0IHRoaXMuaXNWYWxpZFNlc3Npb25Ub3BpYyhuKTtjb25zdHtuYW1lc3BhY2VzOmx9PXRoaXMuY2xpZW50LnNlc3Npb24uZ2V0KG4pO2lmKCFCMShsLG8pKXtjb25zdHttZXNzYWdlOmh9PV9lKCJNSVNTSU5HX09SX0lOVkFMSUQiLGByZXF1ZXN0KCkgY2hhaW5JZDogJHtvfWApO3Rocm93IG5ldyBFcnJvcihoKX1pZighTWIoaSkpe2NvbnN0e21lc3NhZ2U6aH09X2UoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYHJlcXVlc3QoKSAke0pTT04uc3RyaW5naWZ5KGkpfWApO3Rocm93IG5ldyBFcnJvcihoKX1pZighRmIobCxvLGkubWV0aG9kKSl7Y29uc3R7bWVzc2FnZTpofT1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgcmVxdWVzdCgpIG1ldGhvZDogJHtpLm1ldGhvZH1gKTt0aHJvdyBuZXcgRXJyb3IoaCl9aWYoYyYmIXpiKGMsaGgpKXtjb25zdHttZXNzYWdlOmh9PV9lKCJNSVNTSU5HX09SX0lOVkFMSUQiLGByZXF1ZXN0KCkgZXhwaXJ5OiAke2N9LiBFeHBpcnkgbXVzdCBiZSBhIG51bWJlciAoaW4gc2Vjb25kcykgYmV0d2VlbiAke2hoLm1pbn0gYW5kICR7aGgubWF4fWApO3Rocm93IG5ldyBFcnJvcihoKX19LHRoaXMuaXNWYWxpZFJlc3BvbmQ9YXN5bmMgcj0+e2lmKCF6cihyKSl7Y29uc3R7bWVzc2FnZTpvfT1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgcmVzcG9uZCgpIHBhcmFtczogJHtyfWApO3Rocm93IG5ldyBFcnJvcihvKX1jb25zdHt0b3BpYzpuLHJlc3BvbnNlOml9PXI7aWYoYXdhaXQgdGhpcy5pc1ZhbGlkU2Vzc2lvblRvcGljKG4pLCFVYihpKSl7Y29uc3R7bWVzc2FnZTpvfT1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgcmVzcG9uZCgpIHJlc3BvbnNlOiAke0pTT04uc3RyaW5naWZ5KGkpfWApO3Rocm93IG5ldyBFcnJvcihvKX19LHRoaXMuaXNWYWxpZFBpbmc9YXN5bmMgcj0+e2lmKCF6cihyKSl7Y29uc3R7bWVzc2FnZTppfT1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgcGluZygpIHBhcmFtczogJHtyfWApO3Rocm93IG5ldyBFcnJvcihpKX1jb25zdHt0b3BpYzpufT1yO2F3YWl0IHRoaXMuaXNWYWxpZFNlc3Npb25PclBhaXJpbmdUb3BpYyhuKX0sdGhpcy5pc1ZhbGlkRW1pdD1hc3luYyByPT57aWYoIXpyKHIpKXtjb25zdHttZXNzYWdlOmx9PV9lKCJNSVNTSU5HX09SX0lOVkFMSUQiLGBlbWl0KCkgcGFyYW1zOiAke3J9YCk7dGhyb3cgbmV3IEVycm9yKGwpfWNvbnN0e3RvcGljOm4sZXZlbnQ6aSxjaGFpbklkOm99PXI7YXdhaXQgdGhpcy5pc1ZhbGlkU2Vzc2lvblRvcGljKG4pO2NvbnN0e25hbWVzcGFjZXM6Y309dGhpcy5jbGllbnQuc2Vzc2lvbi5nZXQobik7aWYoIUIxKGMsbykpe2NvbnN0e21lc3NhZ2U6bH09X2UoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYGVtaXQoKSBjaGFpbklkOiAke299YCk7dGhyb3cgbmV3IEVycm9yKGwpfWlmKCFqYihpKSl7Y29uc3R7bWVzc2FnZTpsfT1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgZW1pdCgpIGV2ZW50OiAke0pTT04uc3RyaW5naWZ5KGkpfWApO3Rocm93IG5ldyBFcnJvcihsKX1pZighQmIoYyxvLGkubmFtZSkpe2NvbnN0e21lc3NhZ2U6bH09X2UoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYGVtaXQoKSBldmVudDogJHtKU09OLnN0cmluZ2lmeShpKX1gKTt0aHJvdyBuZXcgRXJyb3IobCl9fSx0aGlzLmlzVmFsaWREaXNjb25uZWN0PWFzeW5jIHI9PntpZighenIocikpe2NvbnN0e21lc3NhZ2U6aX09X2UoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYGRpc2Nvbm5lY3QoKSBwYXJhbXM6ICR7cn1gKTt0aHJvdyBuZXcgRXJyb3IoaSl9Y29uc3R7dG9waWM6bn09cjthd2FpdCB0aGlzLmlzVmFsaWRTZXNzaW9uT3JQYWlyaW5nVG9waWMobil9LHRoaXMuZ2V0VmVyaWZ5Q29udGV4dD1hc3luYyhyLG4pPT57Y29uc3QgaT17dmVyaWZpZWQ6e3ZlcmlmeVVybDpuLnZlcmlmeVVybHx8IiIsdmFsaWRhdGlvbjoiVU5LTk9XTiIsb3JpZ2luOm4udXJsfHwiIn19O3RyeXtjb25zdCBvPWF3YWl0IHRoaXMuY2xpZW50LmNvcmUudmVyaWZ5LnJlc29sdmUoe2F0dGVzdGF0aW9uSWQ6cix2ZXJpZnlVcmw6bi52ZXJpZnlVcmx9KTtvJiYoaS52ZXJpZmllZC5vcmlnaW49byxpLnZlcmlmaWVkLnZhbGlkYXRpb249bz09PW4udXJsPyJWQUxJRCI6IklOVkFMSUQiKX1jYXRjaChvKXt0aGlzLmNsaWVudC5sb2dnZXIuZXJyb3Iobyl9cmV0dXJuIHRoaXMuY2xpZW50LmxvZ2dlci5pbmZvKGBWZXJpZnkgY29udGV4dDogJHtKU09OLnN0cmluZ2lmeShpKX1gKSxpfSx0aGlzLnZhbGlkYXRlU2Vzc2lvblByb3BzPShyLG4pPT57T2JqZWN0LnZhbHVlcyhyKS5mb3JFYWNoKGk9PntpZighZ3IoaSwhMSkpe2NvbnN0e21lc3NhZ2U6b309X2UoIk1JU1NJTkdfT1JfSU5WQUxJRCIsYCR7bn0gbXVzdCBiZSBpbiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IGZvcm1hdC4gUmVjZWl2ZWQ6ICR7SlNPTi5zdHJpbmdpZnkoaSl9YCk7dGhyb3cgbmV3IEVycm9yKG8pfX0pfX1pc0luaXRpYWxpemVkKCl7aWYoIXRoaXMuaW5pdGlhbGl6ZWQpe2NvbnN0e21lc3NhZ2U6ZX09X2UoIk5PVF9JTklUSUFMSVpFRCIsdGhpcy5uYW1lKTt0aHJvdyBuZXcgRXJyb3IoZSl9fXJlZ2lzdGVyUmVsYXllckV2ZW50cygpe3RoaXMuY2xpZW50LmNvcmUucmVsYXllci5vbihyci5tZXNzYWdlLGFzeW5jIGU9Pntjb25zdHt0b3BpYzpyLG1lc3NhZ2U6bn09ZTtpZih0aGlzLmlnbm9yZWRQYXlsb2FkVHlwZXMuaW5jbHVkZXModGhpcy5jbGllbnQuY29yZS5jcnlwdG8uZ2V0UGF5bG9hZFR5cGUobikpKXJldHVybjtjb25zdCBpPWF3YWl0IHRoaXMuY2xpZW50LmNvcmUuY3J5cHRvLmRlY29kZShyLG4pO2VoKGkpPyh0aGlzLmNsaWVudC5jb3JlLmhpc3Rvcnkuc2V0KHIsaSksdGhpcy5vblJlbGF5RXZlbnRSZXF1ZXN0KHt0b3BpYzpyLHBheWxvYWQ6aX0pKTpuYyhpKSYmKGF3YWl0IHRoaXMuY2xpZW50LmNvcmUuaGlzdG9yeS5yZXNvbHZlKGkpLHRoaXMub25SZWxheUV2ZW50UmVzcG9uc2Uoe3RvcGljOnIscGF5bG9hZDppfSkpfSl9cmVnaXN0ZXJFeHBpcmVyRXZlbnRzKCl7dGhpcy5jbGllbnQuY29yZS5leHBpcmVyLm9uKG9uLmV4cGlyZWQsYXN5bmMgZT0+e2NvbnN0e3RvcGljOnIsaWQ6bn09UjEoZS50YXJnZXQpO2lmKG4mJnRoaXMuY2xpZW50LnBlbmRpbmdSZXF1ZXN0LmtleXMuaW5jbHVkZXMobikpcmV0dXJuIGF3YWl0IHRoaXMuZGVsZXRlUGVuZGluZ1Nlc3Npb25SZXF1ZXN0KG4sX2UoIkVYUElSRUQiKSwhMCk7cj90aGlzLmNsaWVudC5zZXNzaW9uLmtleXMuaW5jbHVkZXMocikmJihhd2FpdCB0aGlzLmRlbGV0ZVNlc3Npb24ociwhMCksdGhpcy5jbGllbnQuZXZlbnRzLmVtaXQoInNlc3Npb25fZXhwaXJlIix7dG9waWM6cn0pKTpuJiYoYXdhaXQgdGhpcy5kZWxldGVQcm9wb3NhbChuLCEwKSx0aGlzLmNsaWVudC5ldmVudHMuZW1pdCgicHJvcG9zYWxfZXhwaXJlIix7aWQ6bn0pKX0pfWlzVmFsaWRQYWlyaW5nVG9waWMoZSl7aWYoIWdyKGUsITEpKXtjb25zdHttZXNzYWdlOnJ9PV9lKCJNSVNTSU5HX09SX0lOVkFMSUQiLGBwYWlyaW5nIHRvcGljIHNob3VsZCBiZSBhIHN0cmluZzogJHtlfWApO3Rocm93IG5ldyBFcnJvcihyKX1pZighdGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnBhaXJpbmdzLmtleXMuaW5jbHVkZXMoZSkpe2NvbnN0e21lc3NhZ2U6cn09X2UoIk5PX01BVENISU5HX0tFWSIsYHBhaXJpbmcgdG9waWMgZG9lc24ndCBleGlzdDogJHtlfWApO3Rocm93IG5ldyBFcnJvcihyKX1pZih1aSh0aGlzLmNsaWVudC5jb3JlLnBhaXJpbmcucGFpcmluZ3MuZ2V0KGUpLmV4cGlyeSkpe2NvbnN0e21lc3NhZ2U6cn09X2UoIkVYUElSRUQiLGBwYWlyaW5nIHRvcGljOiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKHIpfX1hc3luYyBpc1ZhbGlkU2Vzc2lvblRvcGljKGUpe2lmKCFncihlLCExKSl7Y29uc3R7bWVzc2FnZTpyfT1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgc2Vzc2lvbiB0b3BpYyBzaG91bGQgYmUgYSBzdHJpbmc6ICR7ZX1gKTt0aHJvdyBuZXcgRXJyb3Iocil9aWYoIXRoaXMuY2xpZW50LnNlc3Npb24ua2V5cy5pbmNsdWRlcyhlKSl7Y29uc3R7bWVzc2FnZTpyfT1fZSgiTk9fTUFUQ0hJTkdfS0VZIixgc2Vzc2lvbiB0b3BpYyBkb2Vzbid0IGV4aXN0OiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKHIpfWlmKHVpKHRoaXMuY2xpZW50LnNlc3Npb24uZ2V0KGUpLmV4cGlyeSkpe2F3YWl0IHRoaXMuZGVsZXRlU2Vzc2lvbihlKTtjb25zdHttZXNzYWdlOnJ9PV9lKCJFWFBJUkVEIixgc2Vzc2lvbiB0b3BpYzogJHtlfWApO3Rocm93IG5ldyBFcnJvcihyKX19YXN5bmMgaXNWYWxpZFNlc3Npb25PclBhaXJpbmdUb3BpYyhlKXtpZih0aGlzLmNsaWVudC5zZXNzaW9uLmtleXMuaW5jbHVkZXMoZSkpYXdhaXQgdGhpcy5pc1ZhbGlkU2Vzc2lvblRvcGljKGUpO2Vsc2UgaWYodGhpcy5jbGllbnQuY29yZS5wYWlyaW5nLnBhaXJpbmdzLmtleXMuaW5jbHVkZXMoZSkpdGhpcy5pc1ZhbGlkUGFpcmluZ1RvcGljKGUpO2Vsc2UgaWYoZ3IoZSwhMSkpe2NvbnN0e21lc3NhZ2U6cn09X2UoIk5PX01BVENISU5HX0tFWSIsYHNlc3Npb24gb3IgcGFpcmluZyB0b3BpYyBkb2Vzbid0IGV4aXN0OiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKHIpfWVsc2V7Y29uc3R7bWVzc2FnZTpyfT1fZSgiTUlTU0lOR19PUl9JTlZBTElEIixgc2Vzc2lvbiBvciBwYWlyaW5nIHRvcGljIHNob3VsZCBiZSBhIHN0cmluZzogJHtlfWApO3Rocm93IG5ldyBFcnJvcihyKX19YXN5bmMgaXNWYWxpZFByb3Bvc2FsSWQoZSl7aWYoIU5iKGUpKXtjb25zdHttZXNzYWdlOnJ9PV9lKCJNSVNTSU5HX09SX0lOVkFMSUQiLGBwcm9wb3NhbCBpZCBzaG91bGQgYmUgYSBudW1iZXI6ICR7ZX1gKTt0aHJvdyBuZXcgRXJyb3Iocil9aWYoIXRoaXMuY2xpZW50LnByb3Bvc2FsLmtleXMuaW5jbHVkZXMoZSkpe2NvbnN0e21lc3NhZ2U6cn09X2UoIk5PX01BVENISU5HX0tFWSIsYHByb3Bvc2FsIGlkIGRvZXNuJ3QgZXhpc3Q6ICR7ZX1gKTt0aHJvdyBuZXcgRXJyb3Iocil9aWYodWkodGhpcy5jbGllbnQucHJvcG9zYWwuZ2V0KGUpLmV4cGlyeSkpe2F3YWl0IHRoaXMuZGVsZXRlUHJvcG9zYWwoZSk7Y29uc3R7bWVzc2FnZTpyfT1fZSgiRVhQSVJFRCIsYHByb3Bvc2FsIGlkOiAke2V9YCk7dGhyb3cgbmV3IEVycm9yKHIpfX19Y2xhc3MgZjcgZXh0ZW5kcyBzY3tjb25zdHJ1Y3RvcihlLHIpe3N1cGVyKGUscix0NyxsaCksdGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9cn19Y2xhc3MgZDcgZXh0ZW5kcyBzY3tjb25zdHJ1Y3RvcihlLHIpe3N1cGVyKGUscixyNyxsaCksdGhpcy5jb3JlPWUsdGhpcy5sb2dnZXI9cn19Y2xhc3MgcDcgZXh0ZW5kcyBzY3tjb25zdHJ1Y3RvcihlLHIpe3N1cGVyKGUscixpNyxsaCxuPT5uLmlkKSx0aGlzLmNvcmU9ZSx0aGlzLmxvZ2dlcj1yfX1jbGFzcyBkaCBleHRlbmRzIHg0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMucHJvdG9jb2w9ZmcsdGhpcy52ZXJzaW9uPWRnLHRoaXMubmFtZT11aC5uYW1lLHRoaXMuZXZlbnRzPW5ldyBici5leHBvcnRzLkV2ZW50RW1pdHRlcix0aGlzLm9uPShuLGkpPT50aGlzLmV2ZW50cy5vbihuLGkpLHRoaXMub25jZT0obixpKT0+dGhpcy5ldmVudHMub25jZShuLGkpLHRoaXMub2ZmPShuLGkpPT50aGlzLmV2ZW50cy5vZmYobixpKSx0aGlzLnJlbW92ZUxpc3RlbmVyPShuLGkpPT50aGlzLmV2ZW50cy5yZW1vdmVMaXN0ZW5lcihuLGkpLHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzPW49PnRoaXMuZXZlbnRzLnJlbW92ZUFsbExpc3RlbmVycyhuKSx0aGlzLmNvbm5lY3Q9YXN5bmMgbj0+e3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5lbmdpbmUuY29ubmVjdChuKX1jYXRjaChpKXt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihpLm1lc3NhZ2UpLGl9fSx0aGlzLnBhaXI9YXN5bmMgbj0+e3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5lbmdpbmUucGFpcihuKX1jYXRjaChpKXt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihpLm1lc3NhZ2UpLGl9fSx0aGlzLmFwcHJvdmU9YXN5bmMgbj0+e3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5lbmdpbmUuYXBwcm92ZShuKX1jYXRjaChpKXt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihpLm1lc3NhZ2UpLGl9fSx0aGlzLnJlamVjdD1hc3luYyBuPT57dHJ5e3JldHVybiBhd2FpdCB0aGlzLmVuZ2luZS5yZWplY3Qobil9Y2F0Y2goaSl7dGhyb3cgdGhpcy5sb2dnZXIuZXJyb3IoaS5tZXNzYWdlKSxpfX0sdGhpcy51cGRhdGU9YXN5bmMgbj0+e3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5lbmdpbmUudXBkYXRlKG4pfWNhdGNoKGkpe3Rocm93IHRoaXMubG9nZ2VyLmVycm9yKGkubWVzc2FnZSksaX19LHRoaXMuZXh0ZW5kPWFzeW5jIG49Pnt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuZW5naW5lLmV4dGVuZChuKX1jYXRjaChpKXt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihpLm1lc3NhZ2UpLGl9fSx0aGlzLnJlcXVlc3Q9YXN5bmMgbj0+e3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5lbmdpbmUucmVxdWVzdChuKX1jYXRjaChpKXt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihpLm1lc3NhZ2UpLGl9fSx0aGlzLnJlc3BvbmQ9YXN5bmMgbj0+e3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5lbmdpbmUucmVzcG9uZChuKX1jYXRjaChpKXt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihpLm1lc3NhZ2UpLGl9fSx0aGlzLnBpbmc9YXN5bmMgbj0+e3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5lbmdpbmUucGluZyhuKX1jYXRjaChpKXt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihpLm1lc3NhZ2UpLGl9fSx0aGlzLmVtaXQ9YXN5bmMgbj0+e3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5lbmdpbmUuZW1pdChuKX1jYXRjaChpKXt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihpLm1lc3NhZ2UpLGl9fSx0aGlzLmRpc2Nvbm5lY3Q9YXN5bmMgbj0+e3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5lbmdpbmUuZGlzY29ubmVjdChuKX1jYXRjaChpKXt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihpLm1lc3NhZ2UpLGl9fSx0aGlzLmZpbmQ9bj0+e3RyeXtyZXR1cm4gdGhpcy5lbmdpbmUuZmluZChuKX1jYXRjaChpKXt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihpLm1lc3NhZ2UpLGl9fSx0aGlzLmdldFBlbmRpbmdTZXNzaW9uUmVxdWVzdHM9KCk9Pnt0cnl7cmV0dXJuIHRoaXMuZW5naW5lLmdldFBlbmRpbmdTZXNzaW9uUmVxdWVzdHMoKX1jYXRjaChuKXt0aHJvdyB0aGlzLmxvZ2dlci5lcnJvcihuLm1lc3NhZ2UpLG59fSx0aGlzLm5hbWU9ZT8ubmFtZXx8dWgubmFtZSx0aGlzLm1ldGFkYXRhPWU/Lm1ldGFkYXRhfHxYNSgpO2NvbnN0IHI9dHlwZW9mIGU/LmxvZ2dlcjwidSImJnR5cGVvZiBlPy5sb2dnZXIhPSJzdHJpbmciP2UubG9nZ2VyOnB0LnBpbm8ocHQuZ2V0RGVmYXVsdExvZ2dlck9wdGlvbnMoe2xldmVsOmU/LmxvZ2dlcnx8dWgubG9nZ2VyfSkpO3RoaXMuY29yZT1lPy5jb3JlfHxuZXcgZTcoZSksdGhpcy5sb2dnZXI9cHQuZ2VuZXJhdGVDaGlsZExvZ2dlcihyLHRoaXMubmFtZSksdGhpcy5zZXNzaW9uPW5ldyBkNyh0aGlzLmNvcmUsdGhpcy5sb2dnZXIpLHRoaXMucHJvcG9zYWw9bmV3IGY3KHRoaXMuY29yZSx0aGlzLmxvZ2dlciksdGhpcy5wZW5kaW5nUmVxdWVzdD1uZXcgcDcodGhpcy5jb3JlLHRoaXMubG9nZ2VyKSx0aGlzLmVuZ2luZT1uZXcgaDcodGhpcyl9c3RhdGljIGFzeW5jIGluaXQoZSl7Y29uc3Qgcj1uZXcgZGgoZSk7cmV0dXJuIGF3YWl0IHIuaW5pdGlhbGl6ZSgpLHJ9Z2V0IGNvbnRleHQoKXtyZXR1cm4gcHQuZ2V0TG9nZ2VyQ29udGV4dCh0aGlzLmxvZ2dlcil9Z2V0IHBhaXJpbmcoKXtyZXR1cm4gdGhpcy5jb3JlLnBhaXJpbmcucGFpcmluZ3N9YXN5bmMgaW5pdGlhbGl6ZSgpe3RoaXMubG9nZ2VyLnRyYWNlKCJJbml0aWFsaXplZCIpO3RyeXthd2FpdCB0aGlzLmNvcmUuc3RhcnQoKSxhd2FpdCB0aGlzLnNlc3Npb24uaW5pdCgpLGF3YWl0IHRoaXMucHJvcG9zYWwuaW5pdCgpLGF3YWl0IHRoaXMucGVuZGluZ1JlcXVlc3QuaW5pdCgpLGF3YWl0IHRoaXMuZW5naW5lLmluaXQoKSx0aGlzLmNvcmUudmVyaWZ5LmluaXQoe3ZlcmlmeVVybDp0aGlzLm1ldGFkYXRhLnZlcmlmeVVybH0pLHRoaXMubG9nZ2VyLmluZm8oIlNpZ25DbGllbnQgSW5pdGlhbGl6YXRpb24gU3VjY2VzcyIpfWNhdGNoKGUpe3Rocm93IHRoaXMubG9nZ2VyLmluZm8oIlNpZ25DbGllbnQgSW5pdGlhbGl6YXRpb24gRmFpbHVyZSIpLHRoaXMubG9nZ2VyLmVycm9yKGUubWVzc2FnZSksZX19fXZhciBwaD17ZXhwb3J0czp7fX07KGZ1bmN0aW9uKHQsZSl7dmFyIHI9dHlwZW9mIHNlbGY8InUiP3NlbGY6cHIsbj1mdW5jdGlvbigpe2Z1bmN0aW9uIG8oKXt0aGlzLmZldGNoPSExLHRoaXMuRE9NRXhjZXB0aW9uPXIuRE9NRXhjZXB0aW9ufXJldHVybiBvLnByb3RvdHlwZT1yLG5ldyBvfSgpOyhmdW5jdGlvbihvKXsoZnVuY3Rpb24oYyl7dmFyIGw9e3NlYXJjaFBhcmFtczoiVVJMU2VhcmNoUGFyYW1zImluIG8saXRlcmFibGU6IlN5bWJvbCJpbiBvJiYiaXRlcmF0b3IiaW4gU3ltYm9sLGJsb2I6IkZpbGVSZWFkZXIiaW4gbyYmIkJsb2IiaW4gbyYmZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBCbG9iLCEwfWNhdGNoe3JldHVybiExfX0oKSxmb3JtRGF0YToiRm9ybURhdGEiaW4gbyxhcnJheUJ1ZmZlcjoiQXJyYXlCdWZmZXIiaW4gb307ZnVuY3Rpb24gaChPKXtyZXR1cm4gTyYmRGF0YVZpZXcucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoTyl9aWYobC5hcnJheUJ1ZmZlcil2YXIgZD1bIltvYmplY3QgSW50OEFycmF5XSIsIltvYmplY3QgVWludDhBcnJheV0iLCJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSIsIltvYmplY3QgSW50MTZBcnJheV0iLCJbb2JqZWN0IFVpbnQxNkFycmF5XSIsIltvYmplY3QgSW50MzJBcnJheV0iLCJbb2JqZWN0IFVpbnQzMkFycmF5XSIsIltvYmplY3QgRmxvYXQzMkFycmF5XSIsIltvYmplY3QgRmxvYXQ2NEFycmF5XSJdLHY9QXJyYXlCdWZmZXIuaXNWaWV3fHxmdW5jdGlvbihPKXtyZXR1cm4gTyYmZC5pbmRleE9mKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChPKSk+LTF9O2Z1bmN0aW9uIEUoTyl7aWYodHlwZW9mIE8hPSJzdHJpbmciJiYoTz1TdHJpbmcoTykpLC9bXmEtejAtOVwtIyQlJicqKy5eX2B8fl0vaS50ZXN0KE8pKXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgY2hhcmFjdGVyIGluIGhlYWRlciBmaWVsZCBuYW1lIik7cmV0dXJuIE8udG9Mb3dlckNhc2UoKX1mdW5jdGlvbiBfKE8pe3JldHVybiB0eXBlb2YgTyE9InN0cmluZyImJihPPVN0cmluZyhPKSksT31mdW5jdGlvbiBBKE8pe3ZhciBqPXtuZXh0OmZ1bmN0aW9uKCl7dmFyIGNlPU8uc2hpZnQoKTtyZXR1cm57ZG9uZTpjZT09PXZvaWQgMCx2YWx1ZTpjZX19fTtyZXR1cm4gbC5pdGVyYWJsZSYmKGpbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBqfSksan1mdW5jdGlvbiBQKE8pe3RoaXMubWFwPXt9LE8gaW5zdGFuY2VvZiBQP08uZm9yRWFjaChmdW5jdGlvbihqLGNlKXt0aGlzLmFwcGVuZChjZSxqKX0sdGhpcyk6QXJyYXkuaXNBcnJheShPKT9PLmZvckVhY2goZnVuY3Rpb24oail7dGhpcy5hcHBlbmQoalswXSxqWzFdKX0sdGhpcyk6TyYmT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoTykuZm9yRWFjaChmdW5jdGlvbihqKXt0aGlzLmFwcGVuZChqLE9bal0pfSx0aGlzKX1QLnByb3RvdHlwZS5hcHBlbmQ9ZnVuY3Rpb24oTyxqKXtPPUUoTyksaj1fKGopO3ZhciBjZT10aGlzLm1hcFtPXTt0aGlzLm1hcFtPXT1jZT9jZSsiLCAiK2o6an0sUC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKE8pe2RlbGV0ZSB0aGlzLm1hcFtFKE8pXX0sUC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKE8pe3JldHVybiBPPUUoTyksdGhpcy5oYXMoTyk/dGhpcy5tYXBbT106bnVsbH0sUC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKE8pe3JldHVybiB0aGlzLm1hcC5oYXNPd25Qcm9wZXJ0eShFKE8pKX0sUC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKE8sail7dGhpcy5tYXBbRShPKV09XyhqKX0sUC5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihPLGope2Zvcih2YXIgY2UgaW4gdGhpcy5tYXApdGhpcy5tYXAuaGFzT3duUHJvcGVydHkoY2UpJiZPLmNhbGwoaix0aGlzLm1hcFtjZV0sY2UsdGhpcyl9LFAucHJvdG90eXBlLmtleXM9ZnVuY3Rpb24oKXt2YXIgTz1bXTtyZXR1cm4gdGhpcy5mb3JFYWNoKGZ1bmN0aW9uKGosY2Upe08ucHVzaChjZSl9KSxBKE8pfSxQLnByb3RvdHlwZS52YWx1ZXM9ZnVuY3Rpb24oKXt2YXIgTz1bXTtyZXR1cm4gdGhpcy5mb3JFYWNoKGZ1bmN0aW9uKGope08ucHVzaChqKX0pLEEoTyl9LFAucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXt2YXIgTz1bXTtyZXR1cm4gdGhpcy5mb3JFYWNoKGZ1bmN0aW9uKGosY2Upe08ucHVzaChbY2Usal0pfSksQShPKX0sbC5pdGVyYWJsZSYmKFAucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09UC5wcm90b3R5cGUuZW50cmllcyk7ZnVuY3Rpb24gVShPKXtpZihPLmJvZHlVc2VkKXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgVHlwZUVycm9yKCJBbHJlYWR5IHJlYWQiKSk7Ty5ib2R5VXNlZD0hMH1mdW5jdGlvbiBIKE8pe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihqLGNlKXtPLm9ubG9hZD1mdW5jdGlvbigpe2ooTy5yZXN1bHQpfSxPLm9uZXJyb3I9ZnVuY3Rpb24oKXtjZShPLmVycm9yKX19KX1mdW5jdGlvbiBHKE8pe3ZhciBqPW5ldyBGaWxlUmVhZGVyLGNlPUgoaik7cmV0dXJuIGoucmVhZEFzQXJyYXlCdWZmZXIoTyksY2V9ZnVuY3Rpb24gTihPKXt2YXIgaj1uZXcgRmlsZVJlYWRlcixjZT1IKGopO3JldHVybiBqLnJlYWRBc1RleHQoTyksY2V9ZnVuY3Rpb24gTChPKXtmb3IodmFyIGo9bmV3IFVpbnQ4QXJyYXkoTyksY2U9bmV3IEFycmF5KGoubGVuZ3RoKSxsZT0wO2xlPGoubGVuZ3RoO2xlKyspY2VbbGVdPVN0cmluZy5mcm9tQ2hhckNvZGUoaltsZV0pO3JldHVybiBjZS5qb2luKCIiKX1mdW5jdGlvbiAkKE8pe2lmKE8uc2xpY2UpcmV0dXJuIE8uc2xpY2UoMCk7dmFyIGo9bmV3IFVpbnQ4QXJyYXkoTy5ieXRlTGVuZ3RoKTtyZXR1cm4gai5zZXQobmV3IFVpbnQ4QXJyYXkoTykpLGouYnVmZmVyfWZ1bmN0aW9uIFQoKXtyZXR1cm4gdGhpcy5ib2R5VXNlZD0hMSx0aGlzLl9pbml0Qm9keT1mdW5jdGlvbihPKXt0aGlzLl9ib2R5SW5pdD1PLE8/dHlwZW9mIE89PSJzdHJpbmciP3RoaXMuX2JvZHlUZXh0PU86bC5ibG9iJiZCbG9iLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKE8pP3RoaXMuX2JvZHlCbG9iPU86bC5mb3JtRGF0YSYmRm9ybURhdGEucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoTyk/dGhpcy5fYm9keUZvcm1EYXRhPU86bC5zZWFyY2hQYXJhbXMmJlVSTFNlYXJjaFBhcmFtcy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihPKT90aGlzLl9ib2R5VGV4dD1PLnRvU3RyaW5nKCk6bC5hcnJheUJ1ZmZlciYmbC5ibG9iJiZoKE8pPyh0aGlzLl9ib2R5QXJyYXlCdWZmZXI9JChPLmJ1ZmZlciksdGhpcy5fYm9keUluaXQ9bmV3IEJsb2IoW3RoaXMuX2JvZHlBcnJheUJ1ZmZlcl0pKTpsLmFycmF5QnVmZmVyJiYoQXJyYXlCdWZmZXIucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoTyl8fHYoTykpP3RoaXMuX2JvZHlBcnJheUJ1ZmZlcj0kKE8pOnRoaXMuX2JvZHlUZXh0PU89T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKE8pOnRoaXMuX2JvZHlUZXh0PSIiLHRoaXMuaGVhZGVycy5nZXQoImNvbnRlbnQtdHlwZSIpfHwodHlwZW9mIE89PSJzdHJpbmciP3RoaXMuaGVhZGVycy5zZXQoImNvbnRlbnQtdHlwZSIsInRleHQvcGxhaW47Y2hhcnNldD1VVEYtOCIpOnRoaXMuX2JvZHlCbG9iJiZ0aGlzLl9ib2R5QmxvYi50eXBlP3RoaXMuaGVhZGVycy5zZXQoImNvbnRlbnQtdHlwZSIsdGhpcy5fYm9keUJsb2IudHlwZSk6bC5zZWFyY2hQYXJhbXMmJlVSTFNlYXJjaFBhcmFtcy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihPKSYmdGhpcy5oZWFkZXJzLnNldCgiY29udGVudC10eXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9VVRGLTgiKSl9LGwuYmxvYiYmKHRoaXMuYmxvYj1mdW5jdGlvbigpe3ZhciBPPVUodGhpcyk7aWYoTylyZXR1cm4gTztpZih0aGlzLl9ib2R5QmxvYilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2JvZHlCbG9iKTtpZih0aGlzLl9ib2R5QXJyYXlCdWZmZXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgQmxvYihbdGhpcy5fYm9keUFycmF5QnVmZmVyXSkpO2lmKHRoaXMuX2JvZHlGb3JtRGF0YSl0aHJvdyBuZXcgRXJyb3IoImNvdWxkIG5vdCByZWFkIEZvcm1EYXRhIGJvZHkgYXMgYmxvYiIpO3JldHVybiBQcm9taXNlLnJlc29sdmUobmV3IEJsb2IoW3RoaXMuX2JvZHlUZXh0XSkpfSx0aGlzLmFycmF5QnVmZmVyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JvZHlBcnJheUJ1ZmZlcj9VKHRoaXMpfHxQcm9taXNlLnJlc29sdmUodGhpcy5fYm9keUFycmF5QnVmZmVyKTp0aGlzLmJsb2IoKS50aGVuKEcpfSksdGhpcy50ZXh0PWZ1bmN0aW9uKCl7dmFyIE89VSh0aGlzKTtpZihPKXJldHVybiBPO2lmKHRoaXMuX2JvZHlCbG9iKXJldHVybiBOKHRoaXMuX2JvZHlCbG9iKTtpZih0aGlzLl9ib2R5QXJyYXlCdWZmZXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZShMKHRoaXMuX2JvZHlBcnJheUJ1ZmZlcikpO2lmKHRoaXMuX2JvZHlGb3JtRGF0YSl0aHJvdyBuZXcgRXJyb3IoImNvdWxkIG5vdCByZWFkIEZvcm1EYXRhIGJvZHkgYXMgdGV4dCIpO3JldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fYm9keVRleHQpfSxsLmZvcm1EYXRhJiYodGhpcy5mb3JtRGF0YT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRleHQoKS50aGVuKEopfSksdGhpcy5qc29uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGV4dCgpLnRoZW4oSlNPTi5wYXJzZSl9LHRoaXN9dmFyIEk9WyJERUxFVEUiLCJHRVQiLCJIRUFEIiwiT1BUSU9OUyIsIlBPU1QiLCJQVVQiXTtmdW5jdGlvbiBmKE8pe3ZhciBqPU8udG9VcHBlckNhc2UoKTtyZXR1cm4gSS5pbmRleE9mKGopPi0xP2o6T31mdW5jdGlvbiB4KE8sail7aj1qfHx7fTt2YXIgY2U9ai5ib2R5O2lmKE8gaW5zdGFuY2VvZiB4KXtpZihPLmJvZHlVc2VkKXRocm93IG5ldyBUeXBlRXJyb3IoIkFscmVhZHkgcmVhZCIpO3RoaXMudXJsPU8udXJsLHRoaXMuY3JlZGVudGlhbHM9Ty5jcmVkZW50aWFscyxqLmhlYWRlcnN8fCh0aGlzLmhlYWRlcnM9bmV3IFAoTy5oZWFkZXJzKSksdGhpcy5tZXRob2Q9Ty5tZXRob2QsdGhpcy5tb2RlPU8ubW9kZSx0aGlzLnNpZ25hbD1PLnNpZ25hbCwhY2UmJk8uX2JvZHlJbml0IT1udWxsJiYoY2U9Ty5fYm9keUluaXQsTy5ib2R5VXNlZD0hMCl9ZWxzZSB0aGlzLnVybD1TdHJpbmcoTyk7aWYodGhpcy5jcmVkZW50aWFscz1qLmNyZWRlbnRpYWxzfHx0aGlzLmNyZWRlbnRpYWxzfHwic2FtZS1vcmlnaW4iLChqLmhlYWRlcnN8fCF0aGlzLmhlYWRlcnMpJiYodGhpcy5oZWFkZXJzPW5ldyBQKGouaGVhZGVycykpLHRoaXMubWV0aG9kPWYoai5tZXRob2R8fHRoaXMubWV0aG9kfHwiR0VUIiksdGhpcy5tb2RlPWoubW9kZXx8dGhpcy5tb2RlfHxudWxsLHRoaXMuc2lnbmFsPWouc2lnbmFsfHx0aGlzLnNpZ25hbCx0aGlzLnJlZmVycmVyPW51bGwsKHRoaXMubWV0aG9kPT09IkdFVCJ8fHRoaXMubWV0aG9kPT09IkhFQUQiKSYmY2UpdGhyb3cgbmV3IFR5cGVFcnJvcigiQm9keSBub3QgYWxsb3dlZCBmb3IgR0VUIG9yIEhFQUQgcmVxdWVzdHMiKTt0aGlzLl9pbml0Qm9keShjZSl9eC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHgodGhpcyx7Ym9keTp0aGlzLl9ib2R5SW5pdH0pfTtmdW5jdGlvbiBKKE8pe3ZhciBqPW5ldyBGb3JtRGF0YTtyZXR1cm4gTy50cmltKCkuc3BsaXQoIiYiKS5mb3JFYWNoKGZ1bmN0aW9uKGNlKXtpZihjZSl7dmFyIGxlPWNlLnNwbGl0KCI9IikscmU9bGUuc2hpZnQoKS5yZXBsYWNlKC9cKy9nLCIgIiksbmU9bGUuam9pbigiPSIpLnJlcGxhY2UoL1wrL2csIiAiKTtqLmFwcGVuZChkZWNvZGVVUklDb21wb25lbnQocmUpLGRlY29kZVVSSUNvbXBvbmVudChuZSkpfX0pLGp9ZnVuY3Rpb24geihPKXt2YXIgaj1uZXcgUCxjZT1PLnJlcGxhY2UoL1xyP1xuW1x0IF0rL2csIiAiKTtyZXR1cm4gY2Uuc3BsaXQoL1xyP1xuLykuZm9yRWFjaChmdW5jdGlvbihsZSl7dmFyIHJlPWxlLnNwbGl0KCI6IiksbmU9cmUuc2hpZnQoKS50cmltKCk7aWYobmUpe3ZhciBhZT1yZS5qb2luKCI6IikudHJpbSgpO2ouYXBwZW5kKG5lLGFlKX19KSxqfVQuY2FsbCh4LnByb3RvdHlwZSk7ZnVuY3Rpb24gZWUoTyxqKXtqfHwoaj17fSksdGhpcy50eXBlPSJkZWZhdWx0Iix0aGlzLnN0YXR1cz1qLnN0YXR1cz09PXZvaWQgMD8yMDA6ai5zdGF0dXMsdGhpcy5vaz10aGlzLnN0YXR1cz49MjAwJiZ0aGlzLnN0YXR1czwzMDAsdGhpcy5zdGF0dXNUZXh0PSJzdGF0dXNUZXh0ImluIGo/ai5zdGF0dXNUZXh0OiJPSyIsdGhpcy5oZWFkZXJzPW5ldyBQKGouaGVhZGVycyksdGhpcy51cmw9ai51cmx8fCIiLHRoaXMuX2luaXRCb2R5KE8pfVQuY2FsbChlZS5wcm90b3R5cGUpLGVlLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZWUodGhpcy5fYm9keUluaXQse3N0YXR1czp0aGlzLnN0YXR1cyxzdGF0dXNUZXh0OnRoaXMuc3RhdHVzVGV4dCxoZWFkZXJzOm5ldyBQKHRoaXMuaGVhZGVycyksdXJsOnRoaXMudXJsfSl9LGVlLmVycm9yPWZ1bmN0aW9uKCl7dmFyIE89bmV3IGVlKG51bGwse3N0YXR1czowLHN0YXR1c1RleHQ6IiJ9KTtyZXR1cm4gTy50eXBlPSJlcnJvciIsT307dmFyIGRlPVszMDEsMzAyLDMwMywzMDcsMzA4XTtlZS5yZWRpcmVjdD1mdW5jdGlvbihPLGope2lmKGRlLmluZGV4T2Yoaik9PT0tMSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBzdGF0dXMgY29kZSIpO3JldHVybiBuZXcgZWUobnVsbCx7c3RhdHVzOmosaGVhZGVyczp7bG9jYXRpb246T319KX0sYy5ET01FeGNlcHRpb249by5ET01FeGNlcHRpb247dHJ5e25ldyBjLkRPTUV4Y2VwdGlvbn1jYXRjaHtjLkRPTUV4Y2VwdGlvbj1mdW5jdGlvbihqLGNlKXt0aGlzLm1lc3NhZ2U9aix0aGlzLm5hbWU9Y2U7dmFyIGxlPUVycm9yKGopO3RoaXMuc3RhY2s9bGUuc3RhY2t9LGMuRE9NRXhjZXB0aW9uLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEVycm9yLnByb3RvdHlwZSksYy5ET01FeGNlcHRpb24ucHJvdG90eXBlLmNvbnN0cnVjdG9yPWMuRE9NRXhjZXB0aW9ufWZ1bmN0aW9uIG1lKE8sail7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGNlLGxlKXt2YXIgcmU9bmV3IHgoTyxqKTtpZihyZS5zaWduYWwmJnJlLnNpZ25hbC5hYm9ydGVkKXJldHVybiBsZShuZXcgYy5ET01FeGNlcHRpb24oIkFib3J0ZWQiLCJBYm9ydEVycm9yIikpO3ZhciBuZT1uZXcgWE1MSHR0cFJlcXVlc3Q7ZnVuY3Rpb24gYWUoKXtuZS5hYm9ydCgpfW5lLm9ubG9hZD1mdW5jdGlvbigpe3ZhciBpZT17c3RhdHVzOm5lLnN0YXR1cyxzdGF0dXNUZXh0Om5lLnN0YXR1c1RleHQsaGVhZGVyczp6KG5lLmdldEFsbFJlc3BvbnNlSGVhZGVycygpfHwiIil9O2llLnVybD0icmVzcG9uc2VVUkwiaW4gbmU/bmUucmVzcG9uc2VVUkw6aWUuaGVhZGVycy5nZXQoIlgtUmVxdWVzdC1VUkwiKTt2YXIgU2U9InJlc3BvbnNlImluIG5lP25lLnJlc3BvbnNlOm5lLnJlc3BvbnNlVGV4dDtjZShuZXcgZWUoU2UsaWUpKX0sbmUub25lcnJvcj1mdW5jdGlvbigpe2xlKG5ldyBUeXBlRXJyb3IoIk5ldHdvcmsgcmVxdWVzdCBmYWlsZWQiKSl9LG5lLm9udGltZW91dD1mdW5jdGlvbigpe2xlKG5ldyBUeXBlRXJyb3IoIk5ldHdvcmsgcmVxdWVzdCBmYWlsZWQiKSl9LG5lLm9uYWJvcnQ9ZnVuY3Rpb24oKXtsZShuZXcgYy5ET01FeGNlcHRpb24oIkFib3J0ZWQiLCJBYm9ydEVycm9yIikpfSxuZS5vcGVuKHJlLm1ldGhvZCxyZS51cmwsITApLHJlLmNyZWRlbnRpYWxzPT09ImluY2x1ZGUiP25lLndpdGhDcmVkZW50aWFscz0hMDpyZS5jcmVkZW50aWFscz09PSJvbWl0IiYmKG5lLndpdGhDcmVkZW50aWFscz0hMSksInJlc3BvbnNlVHlwZSJpbiBuZSYmbC5ibG9iJiYobmUucmVzcG9uc2VUeXBlPSJibG9iIikscmUuaGVhZGVycy5mb3JFYWNoKGZ1bmN0aW9uKGllLFNlKXtuZS5zZXRSZXF1ZXN0SGVhZGVyKFNlLGllKX0pLHJlLnNpZ25hbCYmKHJlLnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsYWUpLG5lLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe25lLnJlYWR5U3RhdGU9PT00JiZyZS5zaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGFlKX0pLG5lLnNlbmQodHlwZW9mIHJlLl9ib2R5SW5pdD4idSI/bnVsbDpyZS5fYm9keUluaXQpfSl9cmV0dXJuIG1lLnBvbHlmaWxsPSEwLG8uZmV0Y2h8fChvLmZldGNoPW1lLG8uSGVhZGVycz1QLG8uUmVxdWVzdD14LG8uUmVzcG9uc2U9ZWUpLGMuSGVhZGVycz1QLGMuUmVxdWVzdD14LGMuUmVzcG9uc2U9ZWUsYy5mZXRjaD1tZSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYywiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksY30pKHt9KX0pKG4pLG4uZmV0Y2gucG9ueWZpbGw9ITAsZGVsZXRlIG4uZmV0Y2gucG9seWZpbGw7dmFyIGk9bjtlPWkuZmV0Y2gsZS5kZWZhdWx0PWkuZmV0Y2gsZS5mZXRjaD1pLmZldGNoLGUuSGVhZGVycz1pLkhlYWRlcnMsZS5SZXF1ZXN0PWkuUmVxdWVzdCxlLlJlc3BvbnNlPWkuUmVzcG9uc2UsdC5leHBvcnRzPWV9KShwaCxwaC5leHBvcnRzKTt2YXIgdmc9Z3cocGguZXhwb3J0cyk7Y29uc3QgeWc9e2hlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiIsIkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IlBPU1QifSxiZz0xMDtjbGFzcyBWaXtjb25zdHJ1Y3RvcihlLHI9ITEpe2lmKHRoaXMudXJsPWUsdGhpcy5kaXNhYmxlUHJvdmlkZXJQaW5nPXIsdGhpcy5ldmVudHM9bmV3IGJyLmV4cG9ydHMuRXZlbnRFbWl0dGVyLHRoaXMuaXNBdmFpbGFibGU9ITEsdGhpcy5yZWdpc3RlcmluZz0hMSwhU3AoZSkpdGhyb3cgbmV3IEVycm9yKGBQcm92aWRlZCBVUkwgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBIVFRQIGNvbm5lY3Rpb246ICR7ZX1gKTt0aGlzLnVybD1lLHRoaXMuZGlzYWJsZVByb3ZpZGVyUGluZz1yfWdldCBjb25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZX1nZXQgY29ubmVjdGluZygpe3JldHVybiB0aGlzLnJlZ2lzdGVyaW5nfW9uKGUscil7dGhpcy5ldmVudHMub24oZSxyKX1vbmNlKGUscil7dGhpcy5ldmVudHMub25jZShlLHIpfW9mZihlLHIpe3RoaXMuZXZlbnRzLm9mZihlLHIpfXJlbW92ZUxpc3RlbmVyKGUscil7dGhpcy5ldmVudHMucmVtb3ZlTGlzdGVuZXIoZSxyKX1hc3luYyBvcGVuKGU9dGhpcy51cmwpe2F3YWl0IHRoaXMucmVnaXN0ZXIoZSl9YXN5bmMgY2xvc2UoKXtpZighdGhpcy5pc0F2YWlsYWJsZSl0aHJvdyBuZXcgRXJyb3IoIkNvbm5lY3Rpb24gYWxyZWFkeSBjbG9zZWQiKTt0aGlzLm9uQ2xvc2UoKX1hc3luYyBzZW5kKGUscil7dGhpcy5pc0F2YWlsYWJsZXx8YXdhaXQgdGhpcy5yZWdpc3RlcigpO3RyeXtjb25zdCBuPVVvKGUpLG89YXdhaXQoYXdhaXQgdmcodGhpcy51cmwsT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHlnKSx7Ym9keTpufSkpKS5qc29uKCk7dGhpcy5vblBheWxvYWQoe2RhdGE6b30pfWNhdGNoKG4pe3RoaXMub25FcnJvcihlLmlkLG4pfX1hc3luYyByZWdpc3RlcihlPXRoaXMudXJsKXtpZighU3AoZSkpdGhyb3cgbmV3IEVycm9yKGBQcm92aWRlZCBVUkwgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBIVFRQIGNvbm5lY3Rpb246ICR7ZX1gKTtpZih0aGlzLnJlZ2lzdGVyaW5nKXtjb25zdCByPXRoaXMuZXZlbnRzLmdldE1heExpc3RlbmVycygpO3JldHVybih0aGlzLmV2ZW50cy5saXN0ZW5lckNvdW50KCJyZWdpc3Rlcl9lcnJvciIpPj1yfHx0aGlzLmV2ZW50cy5saXN0ZW5lckNvdW50KCJvcGVuIik+PXIpJiZ0aGlzLmV2ZW50cy5zZXRNYXhMaXN0ZW5lcnMocisxKSxuZXcgUHJvbWlzZSgobixpKT0+e3RoaXMuZXZlbnRzLm9uY2UoInJlZ2lzdGVyX2Vycm9yIixvPT57dGhpcy5yZXNldE1heExpc3RlbmVycygpLGkobyl9KSx0aGlzLmV2ZW50cy5vbmNlKCJvcGVuIiwoKT0+e2lmKHRoaXMucmVzZXRNYXhMaXN0ZW5lcnMoKSx0eXBlb2YgdGhpcy5pc0F2YWlsYWJsZT4idSIpcmV0dXJuIGkobmV3IEVycm9yKCJIVFRQIGNvbm5lY3Rpb24gaXMgbWlzc2luZyBvciBpbnZhbGlkIikpO24oKX0pfSl9dGhpcy51cmw9ZSx0aGlzLnJlZ2lzdGVyaW5nPSEwO3RyeXtpZighdGhpcy5kaXNhYmxlUHJvdmlkZXJQaW5nKXtjb25zdCByPVVvKHtpZDoxLGpzb25ycGM6IjIuMCIsbWV0aG9kOiJ0ZXN0IixwYXJhbXM6W119KTthd2FpdCB2ZyhlLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx5Zykse2JvZHk6cn0pKX10aGlzLm9uT3BlbigpfWNhdGNoKHIpe2NvbnN0IG49dGhpcy5wYXJzZUVycm9yKHIpO3Rocm93IHRoaXMuZXZlbnRzLmVtaXQoInJlZ2lzdGVyX2Vycm9yIixuKSx0aGlzLm9uQ2xvc2UoKSxufX1vbk9wZW4oKXt0aGlzLmlzQXZhaWxhYmxlPSEwLHRoaXMucmVnaXN0ZXJpbmc9ITEsdGhpcy5ldmVudHMuZW1pdCgib3BlbiIpfW9uQ2xvc2UoKXt0aGlzLmlzQXZhaWxhYmxlPSExLHRoaXMucmVnaXN0ZXJpbmc9ITEsdGhpcy5ldmVudHMuZW1pdCgiY2xvc2UiKX1vblBheWxvYWQoZSl7aWYodHlwZW9mIGUuZGF0YT4idSIpcmV0dXJuO2NvbnN0IHI9dHlwZW9mIGUuZGF0YT09InN0cmluZyI/S3UoZS5kYXRhKTplLmRhdGE7dGhpcy5ldmVudHMuZW1pdCgicGF5bG9hZCIscil9b25FcnJvcihlLHIpe2NvbnN0IG49dGhpcy5wYXJzZUVycm9yKHIpLGk9bi5tZXNzYWdlfHxuLnRvU3RyaW5nKCksbz1yYyhlLGkpO3RoaXMuZXZlbnRzLmVtaXQoInBheWxvYWQiLG8pfXBhcnNlRXJyb3IoZSxyPXRoaXMudXJsKXtyZXR1cm4gYnAoZSxyLCJIVFRQIil9cmVzZXRNYXhMaXN0ZW5lcnMoKXt0aGlzLmV2ZW50cy5nZXRNYXhMaXN0ZW5lcnMoKT5iZyYmdGhpcy5ldmVudHMuc2V0TWF4TGlzdGVuZXJzKGJnKX19Y29uc3QgX2c9ImVycm9yIixnNz0id3NzOi8vcmVsYXkud2FsbGV0Y29ubmVjdC5jb20iLG03PSJ3YyIsdzc9InVuaXZlcnNhbF9wcm92aWRlciIsRWc9YCR7bTd9QCR7Mn06JHt3N306YCx2Nz0iaHR0cHM6Ly9ycGMud2FsbGV0Y29ubmVjdC5jb20vdjEiLGRpPXtERUZBVUxUX0NIQUlOX0NIQU5HRUQ6ImRlZmF1bHRfY2hhaW5fY2hhbmdlZCJ9O3ZhciBxbz10eXBlb2YgZ2xvYmFsVGhpczwidSI/Z2xvYmFsVGhpczp0eXBlb2Ygd2luZG93PCJ1Ij93aW5kb3c6dHlwZW9mIGdsb2JhbDwidSI/Z2xvYmFsOnR5cGVvZiBzZWxmPCJ1Ij9zZWxmOnt9LGdoPXtleHBvcnRzOnt9fTsoZnVuY3Rpb24odCxlKXsoZnVuY3Rpb24oKXt2YXIgcixuPSI0LjE3LjIxIixpPTIwMCxvPSJVbnN1cHBvcnRlZCBjb3JlLWpzIHVzZS4gVHJ5IGh0dHBzOi8vbnBtcy5pby9zZWFyY2g/cT1wb255ZmlsbC4iLGM9IkV4cGVjdGVkIGEgZnVuY3Rpb24iLGw9IkludmFsaWQgYHZhcmlhYmxlYCBvcHRpb24gcGFzc2VkIGludG8gYF8udGVtcGxhdGVgIixoPSJfX2xvZGFzaF9oYXNoX3VuZGVmaW5lZF9fIixkPTUwMCx2PSJfX2xvZGFzaF9wbGFjZWhvbGRlcl9fIixFPTEsXz0yLEE9NCxQPTEsVT0yLEg9MSxHPTIsTj00LEw9OCwkPTE2LFQ9MzIsST02NCxmPTEyOCx4PTI1NixKPTUxMix6PTMwLGVlPSIuLi4iLGRlPTgwMCxtZT0xNixPPTEsaj0yLGNlPTMsbGU9MS8wLHJlPTkwMDcxOTkyNTQ3NDA5OTEsbmU9MTc5NzY5MzEzNDg2MjMxNTdlMjkyLGFlPTAvMCxpZT00Mjk0OTY3Mjk1LFNlPWllLTEsZ2U9aWU+Pj4xLEZlPVtbImFyeSIsZl0sWyJiaW5kIixIXSxbImJpbmRLZXkiLEddLFsiY3VycnkiLExdLFsiY3VycnlSaWdodCIsJF0sWyJmbGlwIixKXSxbInBhcnRpYWwiLFRdLFsicGFydGlhbFJpZ2h0IixJXSxbInJlYXJnIix4XV0seWU9IltvYmplY3QgQXJndW1lbnRzXSIsTGU9IltvYmplY3QgQXJyYXldIixYPSJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIixZPSJbb2JqZWN0IEJvb2xlYW5dIixXPSJbb2JqZWN0IERhdGVdIix3PSJbb2JqZWN0IERPTUV4Y2VwdGlvbl0iLEY9IltvYmplY3QgRXJyb3JdIix3ZT0iW29iamVjdCBGdW5jdGlvbl0iLHZlPSJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIsTWU9IltvYmplY3QgTWFwXSIsbnQ9IltvYmplY3QgTnVtYmVyXSIsYXQ9IltvYmplY3QgTnVsbF0iLEdlPSJbb2JqZWN0IE9iamVjdF0iLER0PSJbb2JqZWN0IFByb21pc2VdIiwkdD0iW29iamVjdCBQcm94eV0iLEplPSJbb2JqZWN0IFJlZ0V4cF0iLEhlPSJbb2JqZWN0IFNldF0iLEJlPSJbb2JqZWN0IFN0cmluZ10iLEtlPSJbb2JqZWN0IFN5bWJvbF0iLHJ0PSJbb2JqZWN0IFVuZGVmaW5lZF0iLFVlPSJbb2JqZWN0IFdlYWtNYXBdIixaZT0iW29iamVjdCBXZWFrU2V0XSIsYj0iW29iamVjdCBBcnJheUJ1ZmZlcl0iLHA9IltvYmplY3QgRGF0YVZpZXddIixtPSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iLEQ9IltvYmplY3QgRmxvYXQ2NEFycmF5XSIsQj0iW29iamVjdCBJbnQ4QXJyYXldIixLPSJbb2JqZWN0IEludDE2QXJyYXldIixRPSJbb2JqZWN0IEludDMyQXJyYXldIixFZT0iW29iamVjdCBVaW50OEFycmF5XSIsVGU9IltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIixzdD0iW29iamVjdCBVaW50MTZBcnJheV0iLGh0PSJbb2JqZWN0IFVpbnQzMkFycmF5XSIsbHQ9L1xiX19wIFwrPSAnJzsvZyxVcj0vXGIoX19wIFwrPSkgJycgXCsvZyxKbj0vKF9fZVwoLio/XCl8XGJfX3RcKSkgXCtcbicnOy9nLElpPS8mKD86YW1wfGx0fGd0fHF1b3R8IzM5KTsvZyxscz0vWyY8PiInXS9nLEh0PVJlZ0V4cChJaS5zb3VyY2UpLEx0PVJlZ0V4cChscy5zb3VyY2UpLHp0PS88JS0oW1xzXFNdKz8pJT4vZyxXdD0vPCUoW1xzXFNdKz8pJT4vZyxGdD0vPCU9KFtcc1xTXSs/KSU+L2csTXQ9L1wufFxbKD86W15bXF1dKnwoWyInXSkoPzooPyFcMSlbXlxcXXxcXC4pKj9cMSlcXS8saXI9L15cdyokLyxzcj0vW14uW1xdXSt8XFsoPzooLT9cZCsoPzpcLlxkKyk/KXwoWyInXSkoKD86KD8hXDIpW15cXF18XFwuKSo/KVwyKVxdfCg/PSg/OlwufFxbXF0pKD86XC58XFtcXXwkKSkvZyxxdD0vW1xcXiQuKis/KClbXF17fXxdL2csb3I9UmVnRXhwKHF0LnNvdXJjZSksVnQ9L15ccysvLEp0PS9ccy8sS3Q9L1x7KD86XG5cL1wqIFxbd3JhcHBlZCB3aXRoIC4rXF0gXCpcLyk/XG4/LyxQdD0vXHtcblwvXCogXFt3cmFwcGVkIHdpdGggKC4rKVxdIFwqLyxhcj0vLD8gJiAvLGNyPS9bXlx4MDAtXHgyZlx4M2EtXHg0MFx4NWItXHg2MFx4N2ItXHg3Zl0rL2csRmY9L1soKT0se31cW1xdXC9cc10vLEJmPS9cXChcXCk/L2csa2Y9L1wkXHsoW15cXH1dKig/OlxcLlteXFx9XSopKilcfS9nLGZuPS9cdyokLyxIZj0vXlstK10weFswLTlhLWZdKyQvaSx6Zj0vXjBiWzAxXSskL2ksV2Y9L15cW29iamVjdCAuKz9Db25zdHJ1Y3RvclxdJC8scWY9L14wb1swLTddKyQvaSxWZj0vXig/OjB8WzEtOV1cZCopJC8sWG49L1tceGMwLVx4ZDZceGQ4LVx4ZjZceGY4LVx4ZmZcdTAxMDAtXHUwMTdmXS9nLFFzPS8oJF4pLyxLZj0vWydcblxyXHUyMDI4XHUyMDI5XFxdL2csZW89IlxcdWQ4MDAtXFx1ZGZmZiIsR2Y9IlxcdTAzMDAtXFx1MDM2ZiIsWmY9IlxcdWZlMjAtXFx1ZmUyZiIsdG89IlxcdTIwZDAtXFx1MjBmZiIsWmM9R2YrWmYrdG8sWWM9IlxcdTI3MDAtXFx1MjdiZiIseG49ImEtelxceGRmLVxceGY2XFx4ZjgtXFx4ZmYiLFlmPSJcXHhhY1xceGIxXFx4ZDdcXHhmNyIsSmY9IlxceDAwLVxceDJmXFx4M2EtXFx4NDBcXHg1Yi1cXHg2MFxceDdiLVxceGJmIixYZj0iXFx1MjAwMC1cXHUyMDZmIixRZj0iIFxcdFxceDBiXFxmXFx4YTBcXHVmZWZmXFxuXFxyXFx1MjAyOFxcdTIwMjlcXHUxNjgwXFx1MTgwZVxcdTIwMDBcXHUyMDAxXFx1MjAwMlxcdTIwMDNcXHUyMDA0XFx1MjAwNVxcdTIwMDZcXHUyMDA3XFx1MjAwOFxcdTIwMDlcXHUyMDBhXFx1MjAyZlxcdTIwNWZcXHUzMDAwIixKYz0iQS1aXFx4YzAtXFx4ZDZcXHhkOC1cXHhkZSIsWGM9IlxcdWZlMGVcXHVmZTBmIix1cz1ZZitKZitYZitRZix3YT0iWydcdTIwMTldIixocz0iWyIrZW8rIl0iLHZhPSJbIit1cysiXSIsZnM9IlsiK1pjKyJdIixRYz0iXFxkKyIsZTA9IlsiK1ljKyJdIixlbD0iWyIreG4rIl0iLHRsPSJbXiIrZW8rdXMrUWMrWWMreG4rSmMrIl0iLHJvPSJcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl0iLHQwPSIoPzoiK2ZzKyJ8IitybysiKSIscmw9IlteIitlbysiXSIsbm89Iig/OlxcdWQ4M2NbXFx1ZGRlNi1cXHVkZGZmXSl7Mn0iLE9pPSJbXFx1ZDgwMC1cXHVkYmZmXVtcXHVkYzAwLVxcdWRmZmZdIixRcj0iWyIrSmMrIl0iLG5sPSJcXHUyMDBkIixpbD0iKD86IitlbCsifCIrdGwrIikiLGpuPSIoPzoiK1FyKyJ8Iit0bCsiKSIsc2w9Iig/OiIrd2ErIig/OmR8bGx8bXxyZXxzfHR8dmUpKT8iLG9sPSIoPzoiK3dhKyIoPzpEfExMfE18UkV8U3xUfFZFKSk/IixhbD10MCsiPyIsY2w9IlsiK1hjKyJdPyIscjA9Iig/OiIrbmwrIig/OiIrW3JsLG5vLE9pXS5qb2luKCJ8IikrIikiK2NsK2FsKyIpKiIsUW49IlxcZCooPzoxc3R8Mm5kfDNyZHwoPyFbMTIzXSlcXGR0aCkoPz1cXGJ8W0EtWl9dKSIsbGw9IlxcZCooPzoxU1R8Mk5EfDNSRHwoPyFbMTIzXSlcXGRUSCkoPz1cXGJ8W2Etel9dKSIsdWw9Y2wrYWwrcjAsaW89Iig/OiIrW2UwLG5vLE9pXS5qb2luKCJ8IikrIikiK3VsLG4wPSIoPzoiK1tybCtmcysiPyIsZnMsbm8sT2ksaHNdLmpvaW4oInwiKSsiKSIseWE9UmVnRXhwKHdhLCJnIiksaTA9UmVnRXhwKGZzLCJnIiksc289UmVnRXhwKHJvKyIoPz0iK3JvKyIpfCIrbjArdWwsImciKSxobD1SZWdFeHAoW1FyKyI/IitlbCsiKyIrc2wrIig/PSIrW3ZhLFFyLCIkIl0uam9pbigifCIpKyIpIixqbisiKyIrb2wrIig/PSIrW3ZhLFFyK2lsLCIkIl0uam9pbigifCIpKyIpIixRcisiPyIraWwrIisiK3NsLFFyKyIrIitvbCxsbCxRbixRYyxpb10uam9pbigifCIpLCJnIiksZmw9UmVnRXhwKCJbIitubCtlbytaYytYYysiXSIpLGRzPS9bYS16XVtBLVpdfFtBLVpdezJ9W2Etel18WzAtOV1bYS16QS1aXXxbYS16QS1aXVswLTldfFteYS16QS1aMC05IF0vLGRsPVsiQXJyYXkiLCJCdWZmZXIiLCJEYXRhVmlldyIsIkRhdGUiLCJFcnJvciIsIkZsb2F0MzJBcnJheSIsIkZsb2F0NjRBcnJheSIsIkZ1bmN0aW9uIiwiSW50OEFycmF5IiwiSW50MTZBcnJheSIsIkludDMyQXJyYXkiLCJNYXAiLCJNYXRoIiwiT2JqZWN0IiwiUHJvbWlzZSIsIlJlZ0V4cCIsIlNldCIsIlN0cmluZyIsIlN5bWJvbCIsIlR5cGVFcnJvciIsIlVpbnQ4QXJyYXkiLCJVaW50OENsYW1wZWRBcnJheSIsIlVpbnQxNkFycmF5IiwiVWludDMyQXJyYXkiLCJXZWFrTWFwIiwiXyIsImNsZWFyVGltZW91dCIsImlzRmluaXRlIiwicGFyc2VJbnQiLCJzZXRUaW1lb3V0Il0sczA9LTEsQ3Q9e307Q3RbbV09Q3RbRF09Q3RbQl09Q3RbS109Q3RbUV09Q3RbRWVdPUN0W1RlXT1DdFtzdF09Q3RbaHRdPSEwLEN0W3llXT1DdFtMZV09Q3RbYl09Q3RbWV09Q3RbcF09Q3RbV109Q3RbRl09Q3Rbd2VdPUN0W01lXT1DdFtudF09Q3RbR2VdPUN0W0plXT1DdFtIZV09Q3RbQmVdPUN0W1VlXT0hMTt2YXIgeHQ9e307eHRbeWVdPXh0W0xlXT14dFtiXT14dFtwXT14dFtZXT14dFtXXT14dFttXT14dFtEXT14dFtCXT14dFtLXT14dFtRXT14dFtNZV09eHRbbnRdPXh0W0dlXT14dFtKZV09eHRbSGVdPXh0W0JlXT14dFtLZV09eHRbRWVdPXh0W1RlXT14dFtzdF09eHRbaHRdPSEwLHh0W0ZdPXh0W3dlXT14dFtVZV09ITE7dmFyIFI9e1x1MDBDMDoiQSIsXHUwMEMxOiJBIixcdTAwQzI6IkEiLFx1MDBDMzoiQSIsXHUwMEM0OiJBIixcdTAwQzU6IkEiLFx1MDBFMDoiYSIsXHUwMEUxOiJhIixcdTAwRTI6ImEiLFx1MDBFMzoiYSIsXHUwMEU0OiJhIixcdTAwRTU6ImEiLFx1MDBDNzoiQyIsXHUwMEU3OiJjIixcdTAwRDA6IkQiLFx1MDBGMDoiZCIsXHUwMEM4OiJFIixcdTAwQzk6IkUiLFx1MDBDQToiRSIsXHUwMENCOiJFIixcdTAwRTg6ImUiLFx1MDBFOToiZSIsXHUwMEVBOiJlIixcdTAwRUI6ImUiLFx1MDBDQzoiSSIsXHUwMENEOiJJIixcdTAwQ0U6IkkiLFx1MDBDRjoiSSIsXHUwMEVDOiJpIixcdTAwRUQ6ImkiLFx1MDBFRToiaSIsXHUwMEVGOiJpIixcdTAwRDE6Ik4iLFx1MDBGMToibiIsXHUwMEQyOiJPIixcdTAwRDM6Ik8iLFx1MDBENDoiTyIsXHUwMEQ1OiJPIixcdTAwRDY6Ik8iLFx1MDBEODoiTyIsXHUwMEYyOiJvIixcdTAwRjM6Im8iLFx1MDBGNDoibyIsXHUwMEY1OiJvIixcdTAwRjY6Im8iLFx1MDBGODoibyIsXHUwMEQ5OiJVIixcdTAwREE6IlUiLFx1MDBEQjoiVSIsXHUwMERDOiJVIixcdTAwRjk6InUiLFx1MDBGQToidSIsXHUwMEZCOiJ1IixcdTAwRkM6InUiLFx1MDBERDoiWSIsXHUwMEZEOiJ5IixcdTAwRkY6InkiLFx1MDBDNjoiQWUiLFx1MDBFNjoiYWUiLFx1MDBERToiVGgiLFx1MDBGRToidGgiLFx1MDBERjoic3MiLFx1MDEwMDoiQSIsXHUwMTAyOiJBIixcdTAxMDQ6IkEiLFx1MDEwMToiYSIsXHUwMTAzOiJhIixcdTAxMDU6ImEiLFx1MDEwNjoiQyIsXHUwMTA4OiJDIixcdTAxMEE6IkMiLFx1MDEwQzoiQyIsXHUwMTA3OiJjIixcdTAxMDk6ImMiLFx1MDEwQjoiYyIsXHUwMTBEOiJjIixcdTAxMEU6IkQiLFx1MDExMDoiRCIsXHUwMTBGOiJkIixcdTAxMTE6ImQiLFx1MDExMjoiRSIsXHUwMTE0OiJFIixcdTAxMTY6IkUiLFx1MDExODoiRSIsXHUwMTFBOiJFIixcdTAxMTM6ImUiLFx1MDExNToiZSIsXHUwMTE3OiJlIixcdTAxMTk6ImUiLFx1MDExQjoiZSIsXHUwMTFDOiJHIixcdTAxMUU6IkciLFx1MDEyMDoiRyIsXHUwMTIyOiJHIixcdTAxMUQ6ImciLFx1MDExRjoiZyIsXHUwMTIxOiJnIixcdTAxMjM6ImciLFx1MDEyNDoiSCIsXHUwMTI2OiJIIixcdTAxMjU6ImgiLFx1MDEyNzoiaCIsXHUwMTI4OiJJIixcdTAxMkE6IkkiLFx1MDEyQzoiSSIsXHUwMTJFOiJJIixcdTAxMzA6IkkiLFx1MDEyOToiaSIsXHUwMTJCOiJpIixcdTAxMkQ6ImkiLFx1MDEyRjoiaSIsXHUwMTMxOiJpIixcdTAxMzQ6IkoiLFx1MDEzNToiaiIsXHUwMTM2OiJLIixcdTAxMzc6ImsiLFx1MDEzODoiayIsXHUwMTM5OiJMIixcdTAxM0I6IkwiLFx1MDEzRDoiTCIsXHUwMTNGOiJMIixcdTAxNDE6IkwiLFx1MDEzQToibCIsXHUwMTNDOiJsIixcdTAxM0U6ImwiLFx1MDE0MDoibCIsXHUwMTQyOiJsIixcdTAxNDM6Ik4iLFx1MDE0NToiTiIsXHUwMTQ3OiJOIixcdTAxNEE6Ik4iLFx1MDE0NDoibiIsXHUwMTQ2OiJuIixcdTAxNDg6Im4iLFx1MDE0QjoibiIsXHUwMTRDOiJPIixcdTAxNEU6Ik8iLFx1MDE1MDoiTyIsXHUwMTREOiJvIixcdTAxNEY6Im8iLFx1MDE1MToibyIsXHUwMTU0OiJSIixcdTAxNTY6IlIiLFx1MDE1ODoiUiIsXHUwMTU1OiJyIixcdTAxNTc6InIiLFx1MDE1OToiciIsXHUwMTVBOiJTIixcdTAxNUM6IlMiLFx1MDE1RToiUyIsXHUwMTYwOiJTIixcdTAxNUI6InMiLFx1MDE1RDoicyIsXHUwMTVGOiJzIixcdTAxNjE6InMiLFx1MDE2MjoiVCIsXHUwMTY0OiJUIixcdTAxNjY6IlQiLFx1MDE2MzoidCIsXHUwMTY1OiJ0IixcdTAxNjc6InQiLFx1MDE2ODoiVSIsXHUwMTZBOiJVIixcdTAxNkM6IlUiLFx1MDE2RToiVSIsXHUwMTcwOiJVIixcdTAxNzI6IlUiLFx1MDE2OToidSIsXHUwMTZCOiJ1IixcdTAxNkQ6InUiLFx1MDE2RjoidSIsXHUwMTcxOiJ1IixcdTAxNzM6InUiLFx1MDE3NDoiVyIsXHUwMTc1OiJ3IixcdTAxNzY6IlkiLFx1MDE3NzoieSIsXHUwMTc4OiJZIixcdTAxNzk6IloiLFx1MDE3QjoiWiIsXHUwMTdEOiJaIixcdTAxN0E6InoiLFx1MDE3QzoieiIsXHUwMTdFOiJ6IixcdTAxMzI6IklKIixcdTAxMzM6ImlqIixcdTAxNTI6Ik9lIixcdTAxNTM6Im9lIixcdTAxNDk6IiduIixcdTAxN0Y6InMifSxxPXsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsJyInOiImcXVvdDsiLCInIjoiJiMzOTsifSxmZT17IiZhbXA7IjoiJiIsIiZsdDsiOiI8IiwiJmd0OyI6Ij4iLCImcXVvdDsiOiciJywiJiMzOTsiOiInIn0sQ2U9eyJcXCI6IlxcIiwiJyI6IiciLCJcbiI6Im4iLCJcciI6InIiLCJcdTIwMjgiOiJ1MjAyOCIsIlx1MjAyOSI6InUyMDI5In0sSXQ9cGFyc2VGbG9hdCxYZT1wYXJzZUludCxUdD10eXBlb2YgcW89PSJvYmplY3QiJiZxbyYmcW8uT2JqZWN0PT09T2JqZWN0JiZxbyxscj10eXBlb2Ygc2VsZj09Im9iamVjdCImJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLG10PVR0fHxscnx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSxPdD1lJiYhZS5ub2RlVHlwZSYmZSxYdD1PdCYmITAmJnQmJiF0Lm5vZGVUeXBlJiZ0LHFyPVh0JiZYdC5leHBvcnRzPT09T3QsdXI9cXImJlR0LnByb2Nlc3MsUnQ9ZnVuY3Rpb24oKXt0cnl7dmFyIFY9WHQmJlh0LnJlcXVpcmUmJlh0LnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gVnx8dXImJnVyLmJpbmRpbmcmJnVyLmJpbmRpbmcoInV0aWwiKX1jYXRjaHt9fSgpLGpyPVJ0JiZSdC5pc0FycmF5QnVmZmVyLENuPVJ0JiZSdC5pc0RhdGUsZG49UnQmJlJ0LmlzTWFwLEZuPVJ0JiZSdC5pc1JlZ0V4cCxiYT1SdCYmUnQuaXNTZXQscHM9UnQmJlJ0LmlzVHlwZWRBcnJheTtmdW5jdGlvbiB2cihWLHNlLHRlKXtzd2l0Y2godGUubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIFYuY2FsbChzZSk7Y2FzZSAxOnJldHVybiBWLmNhbGwoc2UsdGVbMF0pO2Nhc2UgMjpyZXR1cm4gVi5jYWxsKHNlLHRlWzBdLHRlWzFdKTtjYXNlIDM6cmV0dXJuIFYuY2FsbChzZSx0ZVswXSx0ZVsxXSx0ZVsyXSl9cmV0dXJuIFYuYXBwbHkoc2UsdGUpfWZ1bmN0aW9uIG9TKFYsc2UsdGUsT2Upe2Zvcih2YXIgWWU9LTEsdnQ9Vj09bnVsbD8wOlYubGVuZ3RoOysrWWU8dnQ7KXt2YXIgZnI9VltZZV07c2UoT2UsZnIsdGUoZnIpLFYpfXJldHVybiBPZX1mdW5jdGlvbiBwbihWLHNlKXtmb3IodmFyIHRlPS0xLE9lPVY9PW51bGw/MDpWLmxlbmd0aDsrK3RlPE9lJiZzZShWW3RlXSx0ZSxWKSE9PSExOyk7cmV0dXJuIFZ9ZnVuY3Rpb24gYVMoVixzZSl7Zm9yKHZhciB0ZT1WPT1udWxsPzA6Vi5sZW5ndGg7dGUtLSYmc2UoVlt0ZV0sdGUsVikhPT0hMTspO3JldHVybiBWfWZ1bmN0aW9uIG1tKFYsc2Upe2Zvcih2YXIgdGU9LTEsT2U9Vj09bnVsbD8wOlYubGVuZ3RoOysrdGU8T2U7KWlmKCFzZShWW3RlXSx0ZSxWKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBBaShWLHNlKXtmb3IodmFyIHRlPS0xLE9lPVY9PW51bGw/MDpWLmxlbmd0aCxZZT0wLHZ0PVtdOysrdGU8T2U7KXt2YXIgZnI9Vlt0ZV07c2UoZnIsdGUsVikmJih2dFtZZSsrXT1mcil9cmV0dXJuIHZ0fWZ1bmN0aW9uIHBsKFYsc2Upe3ZhciB0ZT1WPT1udWxsPzA6Vi5sZW5ndGg7cmV0dXJuISF0ZSYmb28oVixzZSwwKT4tMX1mdW5jdGlvbiBvMChWLHNlLHRlKXtmb3IodmFyIE9lPS0xLFllPVY9PW51bGw/MDpWLmxlbmd0aDsrK09lPFllOylpZih0ZShzZSxWW09lXSkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gVXQoVixzZSl7Zm9yKHZhciB0ZT0tMSxPZT1WPT1udWxsPzA6Vi5sZW5ndGgsWWU9QXJyYXkoT2UpOysrdGU8T2U7KVllW3RlXT1zZShWW3RlXSx0ZSxWKTtyZXR1cm4gWWV9ZnVuY3Rpb24gU2koVixzZSl7Zm9yKHZhciB0ZT0tMSxPZT1zZS5sZW5ndGgsWWU9Vi5sZW5ndGg7Kyt0ZTxPZTspVltZZSt0ZV09c2VbdGVdO3JldHVybiBWfWZ1bmN0aW9uIGEwKFYsc2UsdGUsT2Upe3ZhciBZZT0tMSx2dD1WPT1udWxsPzA6Vi5sZW5ndGg7Zm9yKE9lJiZ2dCYmKHRlPVZbKytZZV0pOysrWWU8dnQ7KXRlPXNlKHRlLFZbWWVdLFllLFYpO3JldHVybiB0ZX1mdW5jdGlvbiBjUyhWLHNlLHRlLE9lKXt2YXIgWWU9Vj09bnVsbD8wOlYubGVuZ3RoO2ZvcihPZSYmWWUmJih0ZT1WWy0tWWVdKTtZZS0tOyl0ZT1zZSh0ZSxWW1llXSxZZSxWKTtyZXR1cm4gdGV9ZnVuY3Rpb24gYzAoVixzZSl7Zm9yKHZhciB0ZT0tMSxPZT1WPT1udWxsPzA6Vi5sZW5ndGg7Kyt0ZTxPZTspaWYoc2UoVlt0ZV0sdGUsVikpcmV0dXJuITA7cmV0dXJuITF9dmFyIGxTPWwwKCJsZW5ndGgiKTtmdW5jdGlvbiB1UyhWKXtyZXR1cm4gVi5zcGxpdCgiIil9ZnVuY3Rpb24gaFMoVil7cmV0dXJuIFYubWF0Y2goY3IpfHxbXX1mdW5jdGlvbiB3bShWLHNlLHRlKXt2YXIgT2U7cmV0dXJuIHRlKFYsZnVuY3Rpb24oWWUsdnQsZnIpe2lmKHNlKFllLHZ0LGZyKSlyZXR1cm4gT2U9dnQsITF9KSxPZX1mdW5jdGlvbiBnbChWLHNlLHRlLE9lKXtmb3IodmFyIFllPVYubGVuZ3RoLHZ0PXRlKyhPZT8xOi0xKTtPZT92dC0tOisrdnQ8WWU7KWlmKHNlKFZbdnRdLHZ0LFYpKXJldHVybiB2dDtyZXR1cm4tMX1mdW5jdGlvbiBvbyhWLHNlLHRlKXtyZXR1cm4gc2U9PT1zZT94UyhWLHNlLHRlKTpnbChWLHZtLHRlKX1mdW5jdGlvbiBmUyhWLHNlLHRlLE9lKXtmb3IodmFyIFllPXRlLTEsdnQ9Vi5sZW5ndGg7KytZZTx2dDspaWYoT2UoVltZZV0sc2UpKXJldHVybiBZZTtyZXR1cm4tMX1mdW5jdGlvbiB2bShWKXtyZXR1cm4gViE9PVZ9ZnVuY3Rpb24geW0oVixzZSl7dmFyIHRlPVY9PW51bGw/MDpWLmxlbmd0aDtyZXR1cm4gdGU/aDAoVixzZSkvdGU6YWV9ZnVuY3Rpb24gbDAoVil7cmV0dXJuIGZ1bmN0aW9uKHNlKXtyZXR1cm4gc2U9PW51bGw/cjpzZVtWXX19ZnVuY3Rpb24gdTAoVil7cmV0dXJuIGZ1bmN0aW9uKHNlKXtyZXR1cm4gVj09bnVsbD9yOlZbc2VdfX1mdW5jdGlvbiBibShWLHNlLHRlLE9lLFllKXtyZXR1cm4gWWUoVixmdW5jdGlvbih2dCxmcixBdCl7dGU9T2U/KE9lPSExLHZ0KTpzZSh0ZSx2dCxmcixBdCl9KSx0ZX1mdW5jdGlvbiBkUyhWLHNlKXt2YXIgdGU9Vi5sZW5ndGg7Zm9yKFYuc29ydChzZSk7dGUtLTspVlt0ZV09Vlt0ZV0udmFsdWU7cmV0dXJuIFZ9ZnVuY3Rpb24gaDAoVixzZSl7Zm9yKHZhciB0ZSxPZT0tMSxZZT1WLmxlbmd0aDsrK09lPFllOyl7dmFyIHZ0PXNlKFZbT2VdKTt2dCE9PXImJih0ZT10ZT09PXI/dnQ6dGUrdnQpfXJldHVybiB0ZX1mdW5jdGlvbiBmMChWLHNlKXtmb3IodmFyIHRlPS0xLE9lPUFycmF5KFYpOysrdGU8VjspT2VbdGVdPXNlKHRlKTtyZXR1cm4gT2V9ZnVuY3Rpb24gcFMoVixzZSl7cmV0dXJuIFV0KHNlLGZ1bmN0aW9uKHRlKXtyZXR1cm5bdGUsVlt0ZV1dfSl9ZnVuY3Rpb24gX20oVil7cmV0dXJuIFYmJlYuc2xpY2UoMCxJbShWKSsxKS5yZXBsYWNlKFZ0LCIiKX1mdW5jdGlvbiBlbihWKXtyZXR1cm4gZnVuY3Rpb24oc2Upe3JldHVybiBWKHNlKX19ZnVuY3Rpb24gZDAoVixzZSl7cmV0dXJuIFV0KHNlLGZ1bmN0aW9uKHRlKXtyZXR1cm4gVlt0ZV19KX1mdW5jdGlvbiBfYShWLHNlKXtyZXR1cm4gVi5oYXMoc2UpfWZ1bmN0aW9uIEVtKFYsc2Upe2Zvcih2YXIgdGU9LTEsT2U9Vi5sZW5ndGg7Kyt0ZTxPZSYmb28oc2UsVlt0ZV0sMCk+LTE7KTtyZXR1cm4gdGV9ZnVuY3Rpb24geG0oVixzZSl7Zm9yKHZhciB0ZT1WLmxlbmd0aDt0ZS0tJiZvbyhzZSxWW3RlXSwwKT4tMTspO3JldHVybiB0ZX1mdW5jdGlvbiBnUyhWLHNlKXtmb3IodmFyIHRlPVYubGVuZ3RoLE9lPTA7dGUtLTspVlt0ZV09PT1zZSYmKytPZTtyZXR1cm4gT2V9dmFyIG1TPXUwKFIpLHdTPXUwKHEpO2Z1bmN0aW9uIHZTKFYpe3JldHVybiJcXCIrQ2VbVl19ZnVuY3Rpb24geVMoVixzZSl7cmV0dXJuIFY9PW51bGw/cjpWW3NlXX1mdW5jdGlvbiBhbyhWKXtyZXR1cm4gZmwudGVzdChWKX1mdW5jdGlvbiBiUyhWKXtyZXR1cm4gZHMudGVzdChWKX1mdW5jdGlvbiBfUyhWKXtmb3IodmFyIHNlLHRlPVtdOyEoc2U9Vi5uZXh0KCkpLmRvbmU7KXRlLnB1c2goc2UudmFsdWUpO3JldHVybiB0ZX1mdW5jdGlvbiBwMChWKXt2YXIgc2U9LTEsdGU9QXJyYXkoVi5zaXplKTtyZXR1cm4gVi5mb3JFYWNoKGZ1bmN0aW9uKE9lLFllKXt0ZVsrK3NlXT1bWWUsT2VdfSksdGV9ZnVuY3Rpb24gQ20oVixzZSl7cmV0dXJuIGZ1bmN0aW9uKHRlKXtyZXR1cm4gVihzZSh0ZSkpfX1mdW5jdGlvbiBEaShWLHNlKXtmb3IodmFyIHRlPS0xLE9lPVYubGVuZ3RoLFllPTAsdnQ9W107Kyt0ZTxPZTspe3ZhciBmcj1WW3RlXTsoZnI9PT1zZXx8ZnI9PT12KSYmKFZbdGVdPXYsdnRbWWUrK109dGUpfXJldHVybiB2dH1mdW5jdGlvbiBtbChWKXt2YXIgc2U9LTEsdGU9QXJyYXkoVi5zaXplKTtyZXR1cm4gVi5mb3JFYWNoKGZ1bmN0aW9uKE9lKXt0ZVsrK3NlXT1PZX0pLHRlfWZ1bmN0aW9uIEVTKFYpe3ZhciBzZT0tMSx0ZT1BcnJheShWLnNpemUpO3JldHVybiBWLmZvckVhY2goZnVuY3Rpb24oT2Upe3RlWysrc2VdPVtPZSxPZV19KSx0ZX1mdW5jdGlvbiB4UyhWLHNlLHRlKXtmb3IodmFyIE9lPXRlLTEsWWU9Vi5sZW5ndGg7KytPZTxZZTspaWYoVltPZV09PT1zZSlyZXR1cm4gT2U7cmV0dXJuLTF9ZnVuY3Rpb24gQ1MoVixzZSx0ZSl7Zm9yKHZhciBPZT10ZSsxO09lLS07KWlmKFZbT2VdPT09c2UpcmV0dXJuIE9lO3JldHVybiBPZX1mdW5jdGlvbiBjbyhWKXtyZXR1cm4gYW8oVik/T1MoVik6bFMoVil9ZnVuY3Rpb24gSW4oVil7cmV0dXJuIGFvKFYpP0FTKFYpOnVTKFYpfWZ1bmN0aW9uIEltKFYpe2Zvcih2YXIgc2U9Vi5sZW5ndGg7c2UtLSYmSnQudGVzdChWLmNoYXJBdChzZSkpOyk7cmV0dXJuIHNlfXZhciBJUz11MChmZSk7ZnVuY3Rpb24gT1MoVil7Zm9yKHZhciBzZT1zby5sYXN0SW5kZXg9MDtzby50ZXN0KFYpOykrK3NlO3JldHVybiBzZX1mdW5jdGlvbiBBUyhWKXtyZXR1cm4gVi5tYXRjaChzbyl8fFtdfWZ1bmN0aW9uIFNTKFYpe3JldHVybiBWLm1hdGNoKGhsKXx8W119dmFyIERTPWZ1bmN0aW9uIFYoc2Upe3NlPXNlPT1udWxsP210OmxvLmRlZmF1bHRzKG10Lk9iamVjdCgpLHNlLGxvLnBpY2sobXQsZGwpKTt2YXIgdGU9c2UuQXJyYXksT2U9c2UuRGF0ZSxZZT1zZS5FcnJvcix2dD1zZS5GdW5jdGlvbixmcj1zZS5NYXRoLEF0PXNlLk9iamVjdCxnMD1zZS5SZWdFeHAsJFM9c2UuU3RyaW5nLGduPXNlLlR5cGVFcnJvcix3bD10ZS5wcm90b3R5cGUsUFM9dnQucHJvdG90eXBlLHVvPUF0LnByb3RvdHlwZSx2bD1zZVsiX19jb3JlLWpzX3NoYXJlZF9fIl0seWw9UFMudG9TdHJpbmcsYnQ9dW8uaGFzT3duUHJvcGVydHksVFM9MCxPbT1mdW5jdGlvbigpe3ZhciBzPS9bXi5dKyQvLmV4ZWModmwmJnZsLmtleXMmJnZsLmtleXMuSUVfUFJPVE98fCIiKTtyZXR1cm4gcz8iU3ltYm9sKHNyYylfMS4iK3M6IiJ9KCksYmw9dW8udG9TdHJpbmcsUlM9eWwuY2FsbChBdCksTlM9bXQuXyxMUz1nMCgiXiIreWwuY2FsbChidCkucmVwbGFjZShxdCwiXFwkJiIpLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFwoKXwgZm9yIC4rPyg/PVxcXF0pL2csIiQxLio/IikrIiQiKSxfbD1xcj9zZS5CdWZmZXI6ciwkaT1zZS5TeW1ib2wsRWw9c2UuVWludDhBcnJheSxBbT1fbD9fbC5hbGxvY1Vuc2FmZTpyLHhsPUNtKEF0LmdldFByb3RvdHlwZU9mLEF0KSxTbT1BdC5jcmVhdGUsRG09dW8ucHJvcGVydHlJc0VudW1lcmFibGUsQ2w9d2wuc3BsaWNlLCRtPSRpPyRpLmlzQ29uY2F0U3ByZWFkYWJsZTpyLEVhPSRpPyRpLml0ZXJhdG9yOnIsZ3M9JGk/JGkudG9TdHJpbmdUYWc6cixJbD1mdW5jdGlvbigpe3RyeXt2YXIgcz1icyhBdCwiZGVmaW5lUHJvcGVydHkiKTtyZXR1cm4gcyh7fSwiIix7fSksc31jYXRjaHt9fSgpLE1TPXNlLmNsZWFyVGltZW91dCE9PW10LmNsZWFyVGltZW91dCYmc2UuY2xlYXJUaW1lb3V0LFVTPU9lJiZPZS5ub3chPT1tdC5EYXRlLm5vdyYmT2Uubm93LGpTPXNlLnNldFRpbWVvdXQhPT1tdC5zZXRUaW1lb3V0JiZzZS5zZXRUaW1lb3V0LE9sPWZyLmNlaWwsQWw9ZnIuZmxvb3IsbTA9QXQuZ2V0T3duUHJvcGVydHlTeW1ib2xzLEZTPV9sP19sLmlzQnVmZmVyOnIsUG09c2UuaXNGaW5pdGUsQlM9d2wuam9pbixrUz1DbShBdC5rZXlzLEF0KSxkcj1mci5tYXgsQXI9ZnIubWluLEhTPU9lLm5vdyx6Uz1zZS5wYXJzZUludCxUbT1mci5yYW5kb20sV1M9d2wucmV2ZXJzZSx3MD1icyhzZSwiRGF0YVZpZXciKSx4YT1icyhzZSwiTWFwIiksdjA9YnMoc2UsIlByb21pc2UiKSxobz1icyhzZSwiU2V0IiksQ2E9YnMoc2UsIldlYWtNYXAiKSxJYT1icyhBdCwiY3JlYXRlIiksU2w9Q2EmJm5ldyBDYSxmbz17fSxxUz1fcyh3MCksVlM9X3MoeGEpLEtTPV9zKHYwKSxHUz1fcyhobyksWlM9X3MoQ2EpLERsPSRpPyRpLnByb3RvdHlwZTpyLE9hPURsP0RsLnZhbHVlT2Y6cixSbT1EbD9EbC50b1N0cmluZzpyO2Z1bmN0aW9uIEMocyl7aWYoR3QocykmJiFRZShzKSYmIShzIGluc3RhbmNlb2YgZHQpKXtpZihzIGluc3RhbmNlb2YgbW4pcmV0dXJuIHM7aWYoYnQuY2FsbChzLCJfX3dyYXBwZWRfXyIpKXJldHVybiBOMihzKX1yZXR1cm4gbmV3IG1uKHMpfXZhciBwbz1mdW5jdGlvbigpe2Z1bmN0aW9uIHMoKXt9cmV0dXJuIGZ1bmN0aW9uKGEpe2lmKCFCdChhKSlyZXR1cm57fTtpZihTbSlyZXR1cm4gU20oYSk7cy5wcm90b3R5cGU9YTt2YXIgdT1uZXcgcztyZXR1cm4gcy5wcm90b3R5cGU9cix1fX0oKTtmdW5jdGlvbiAkbCgpe31mdW5jdGlvbiBtbihzLGEpe3RoaXMuX193cmFwcGVkX189cyx0aGlzLl9fYWN0aW9uc19fPVtdLHRoaXMuX19jaGFpbl9fPSEhYSx0aGlzLl9faW5kZXhfXz0wLHRoaXMuX192YWx1ZXNfXz1yfUMudGVtcGxhdGVTZXR0aW5ncz17ZXNjYXBlOnp0LGV2YWx1YXRlOld0LGludGVycG9sYXRlOkZ0LHZhcmlhYmxlOiIiLGltcG9ydHM6e186Q319LEMucHJvdG90eXBlPSRsLnByb3RvdHlwZSxDLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1DLG1uLnByb3RvdHlwZT1wbygkbC5wcm90b3R5cGUpLG1uLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1tbjtmdW5jdGlvbiBkdChzKXt0aGlzLl9fd3JhcHBlZF9fPXMsdGhpcy5fX2FjdGlvbnNfXz1bXSx0aGlzLl9fZGlyX189MSx0aGlzLl9fZmlsdGVyZWRfXz0hMSx0aGlzLl9faXRlcmF0ZWVzX189W10sdGhpcy5fX3Rha2VDb3VudF9fPWllLHRoaXMuX192aWV3c19fPVtdfWZ1bmN0aW9uIFlTKCl7dmFyIHM9bmV3IGR0KHRoaXMuX193cmFwcGVkX18pO3JldHVybiBzLl9fYWN0aW9uc19fPVZyKHRoaXMuX19hY3Rpb25zX18pLHMuX19kaXJfXz10aGlzLl9fZGlyX18scy5fX2ZpbHRlcmVkX189dGhpcy5fX2ZpbHRlcmVkX18scy5fX2l0ZXJhdGVlc19fPVZyKHRoaXMuX19pdGVyYXRlZXNfXykscy5fX3Rha2VDb3VudF9fPXRoaXMuX190YWtlQ291bnRfXyxzLl9fdmlld3NfXz1Wcih0aGlzLl9fdmlld3NfXyksc31mdW5jdGlvbiBKUygpe2lmKHRoaXMuX19maWx0ZXJlZF9fKXt2YXIgcz1uZXcgZHQodGhpcyk7cy5fX2Rpcl9fPS0xLHMuX19maWx0ZXJlZF9fPSEwfWVsc2Ugcz10aGlzLmNsb25lKCkscy5fX2Rpcl9fKj0tMTtyZXR1cm4gc31mdW5jdGlvbiBYUygpe3ZhciBzPXRoaXMuX193cmFwcGVkX18udmFsdWUoKSxhPXRoaXMuX19kaXJfXyx1PVFlKHMpLGc9YTwwLHk9dT9zLmxlbmd0aDowLFM9dSQoMCx5LHRoaXMuX192aWV3c19fKSxNPVMuc3RhcnQsaz1TLmVuZCxaPWstTSx1ZT1nP2s6TS0xLGhlPXRoaXMuX19pdGVyYXRlZXNfXyxwZT1oZS5sZW5ndGgsYmU9MCxQZT1BcihaLHRoaXMuX190YWtlQ291bnRfXyk7aWYoIXV8fCFnJiZ5PT1aJiZQZT09WilyZXR1cm4gbjIocyx0aGlzLl9fYWN0aW9uc19fKTt2YXIgV2U9W107ZTpmb3IoO1otLSYmYmU8UGU7KXt1ZSs9YTtmb3IodmFyIG90PS0xLHFlPXNbdWVdOysrb3Q8cGU7KXt2YXIgZnQ9aGVbb3RdLHd0PWZ0Lml0ZXJhdGVlLG5uPWZ0LnR5cGUsa3I9d3QocWUpO2lmKG5uPT1qKXFlPWtyO2Vsc2UgaWYoIWtyKXtpZihubj09Tyljb250aW51ZSBlO2JyZWFrIGV9fVdlW2JlKytdPXFlfXJldHVybiBXZX1kdC5wcm90b3R5cGU9cG8oJGwucHJvdG90eXBlKSxkdC5wcm90b3R5cGUuY29uc3RydWN0b3I9ZHQ7ZnVuY3Rpb24gbXMocyl7dmFyIGE9LTEsdT1zPT1udWxsPzA6cy5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2E8dTspe3ZhciBnPXNbYV07dGhpcy5zZXQoZ1swXSxnWzFdKX19ZnVuY3Rpb24gUVMoKXt0aGlzLl9fZGF0YV9fPUlhP0lhKG51bGwpOnt9LHRoaXMuc2l6ZT0wfWZ1bmN0aW9uIGVEKHMpe3ZhciBhPXRoaXMuaGFzKHMpJiZkZWxldGUgdGhpcy5fX2RhdGFfX1tzXTtyZXR1cm4gdGhpcy5zaXplLT1hPzE6MCxhfWZ1bmN0aW9uIHREKHMpe3ZhciBhPXRoaXMuX19kYXRhX187aWYoSWEpe3ZhciB1PWFbc107cmV0dXJuIHU9PT1oP3I6dX1yZXR1cm4gYnQuY2FsbChhLHMpP2Fbc106cn1mdW5jdGlvbiByRChzKXt2YXIgYT10aGlzLl9fZGF0YV9fO3JldHVybiBJYT9hW3NdIT09cjpidC5jYWxsKGEscyl9ZnVuY3Rpb24gbkQocyxhKXt2YXIgdT10aGlzLl9fZGF0YV9fO3JldHVybiB0aGlzLnNpemUrPXRoaXMuaGFzKHMpPzA6MSx1W3NdPUlhJiZhPT09cj9oOmEsdGhpc31tcy5wcm90b3R5cGUuY2xlYXI9UVMsbXMucHJvdG90eXBlLmRlbGV0ZT1lRCxtcy5wcm90b3R5cGUuZ2V0PXRELG1zLnByb3RvdHlwZS5oYXM9ckQsbXMucHJvdG90eXBlLnNldD1uRDtmdW5jdGlvbiBlaShzKXt2YXIgYT0tMSx1PXM9PW51bGw/MDpzLmxlbmd0aDtmb3IodGhpcy5jbGVhcigpOysrYTx1Oyl7dmFyIGc9c1thXTt0aGlzLnNldChnWzBdLGdbMV0pfX1mdW5jdGlvbiBpRCgpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9ZnVuY3Rpb24gc0Qocyl7dmFyIGE9dGhpcy5fX2RhdGFfXyx1PVBsKGEscyk7aWYodTwwKXJldHVybiExO3ZhciBnPWEubGVuZ3RoLTE7cmV0dXJuIHU9PWc/YS5wb3AoKTpDbC5jYWxsKGEsdSwxKSwtLXRoaXMuc2l6ZSwhMH1mdW5jdGlvbiBvRChzKXt2YXIgYT10aGlzLl9fZGF0YV9fLHU9UGwoYSxzKTtyZXR1cm4gdTwwP3I6YVt1XVsxXX1mdW5jdGlvbiBhRChzKXtyZXR1cm4gUGwodGhpcy5fX2RhdGFfXyxzKT4tMX1mdW5jdGlvbiBjRChzLGEpe3ZhciB1PXRoaXMuX19kYXRhX18sZz1QbCh1LHMpO3JldHVybiBnPDA/KCsrdGhpcy5zaXplLHUucHVzaChbcyxhXSkpOnVbZ11bMV09YSx0aGlzfWVpLnByb3RvdHlwZS5jbGVhcj1pRCxlaS5wcm90b3R5cGUuZGVsZXRlPXNELGVpLnByb3RvdHlwZS5nZXQ9b0QsZWkucHJvdG90eXBlLmhhcz1hRCxlaS5wcm90b3R5cGUuc2V0PWNEO2Z1bmN0aW9uIHRpKHMpe3ZhciBhPS0xLHU9cz09bnVsbD8wOnMubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KythPHU7KXt2YXIgZz1zW2FdO3RoaXMuc2V0KGdbMF0sZ1sxXSl9fWZ1bmN0aW9uIGxEKCl7dGhpcy5zaXplPTAsdGhpcy5fX2RhdGFfXz17aGFzaDpuZXcgbXMsbWFwOm5ldyh4YXx8ZWkpLHN0cmluZzpuZXcgbXN9fWZ1bmN0aW9uIHVEKHMpe3ZhciBhPXpsKHRoaXMscykuZGVsZXRlKHMpO3JldHVybiB0aGlzLnNpemUtPWE/MTowLGF9ZnVuY3Rpb24gaEQocyl7cmV0dXJuIHpsKHRoaXMscykuZ2V0KHMpfWZ1bmN0aW9uIGZEKHMpe3JldHVybiB6bCh0aGlzLHMpLmhhcyhzKX1mdW5jdGlvbiBkRChzLGEpe3ZhciB1PXpsKHRoaXMscyksZz11LnNpemU7cmV0dXJuIHUuc2V0KHMsYSksdGhpcy5zaXplKz11LnNpemU9PWc/MDoxLHRoaXN9dGkucHJvdG90eXBlLmNsZWFyPWxELHRpLnByb3RvdHlwZS5kZWxldGU9dUQsdGkucHJvdG90eXBlLmdldD1oRCx0aS5wcm90b3R5cGUuaGFzPWZELHRpLnByb3RvdHlwZS5zZXQ9ZEQ7ZnVuY3Rpb24gd3Mocyl7dmFyIGE9LTEsdT1zPT1udWxsPzA6cy5sZW5ndGg7Zm9yKHRoaXMuX19kYXRhX189bmV3IHRpOysrYTx1Oyl0aGlzLmFkZChzW2FdKX1mdW5jdGlvbiBwRChzKXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5zZXQocyxoKSx0aGlzfWZ1bmN0aW9uIGdEKHMpe3JldHVybiB0aGlzLl9fZGF0YV9fLmhhcyhzKX13cy5wcm90b3R5cGUuYWRkPXdzLnByb3RvdHlwZS5wdXNoPXBELHdzLnByb3RvdHlwZS5oYXM9Z0Q7ZnVuY3Rpb24gT24ocyl7dmFyIGE9dGhpcy5fX2RhdGFfXz1uZXcgZWkocyk7dGhpcy5zaXplPWEuc2l6ZX1mdW5jdGlvbiBtRCgpe3RoaXMuX19kYXRhX189bmV3IGVpLHRoaXMuc2l6ZT0wfWZ1bmN0aW9uIHdEKHMpe3ZhciBhPXRoaXMuX19kYXRhX18sdT1hLmRlbGV0ZShzKTtyZXR1cm4gdGhpcy5zaXplPWEuc2l6ZSx1fWZ1bmN0aW9uIHZEKHMpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldChzKX1mdW5jdGlvbiB5RChzKXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXMocyl9ZnVuY3Rpb24gYkQocyxhKXt2YXIgdT10aGlzLl9fZGF0YV9fO2lmKHUgaW5zdGFuY2VvZiBlaSl7dmFyIGc9dS5fX2RhdGFfXztpZigheGF8fGcubGVuZ3RoPGktMSlyZXR1cm4gZy5wdXNoKFtzLGFdKSx0aGlzLnNpemU9Kyt1LnNpemUsdGhpczt1PXRoaXMuX19kYXRhX189bmV3IHRpKGcpfXJldHVybiB1LnNldChzLGEpLHRoaXMuc2l6ZT11LnNpemUsdGhpc31Pbi5wcm90b3R5cGUuY2xlYXI9bUQsT24ucHJvdG90eXBlLmRlbGV0ZT13RCxPbi5wcm90b3R5cGUuZ2V0PXZELE9uLnByb3RvdHlwZS5oYXM9eUQsT24ucHJvdG90eXBlLnNldD1iRDtmdW5jdGlvbiBObShzLGEpe3ZhciB1PVFlKHMpLGc9IXUmJkVzKHMpLHk9IXUmJiFnJiZMaShzKSxTPSF1JiYhZyYmIXkmJnZvKHMpLE09dXx8Z3x8eXx8UyxrPU0/ZjAocy5sZW5ndGgsJFMpOltdLFo9ay5sZW5ndGg7Zm9yKHZhciB1ZSBpbiBzKShhfHxidC5jYWxsKHMsdWUpKSYmIShNJiYodWU9PSJsZW5ndGgifHx5JiYodWU9PSJvZmZzZXQifHx1ZT09InBhcmVudCIpfHxTJiYodWU9PSJidWZmZXIifHx1ZT09ImJ5dGVMZW5ndGgifHx1ZT09ImJ5dGVPZmZzZXQiKXx8c2kodWUsWikpKSYmay5wdXNoKHVlKTtyZXR1cm4ga31mdW5jdGlvbiBMbShzKXt2YXIgYT1zLmxlbmd0aDtyZXR1cm4gYT9zW0QwKDAsYS0xKV06cn1mdW5jdGlvbiBfRChzLGEpe3JldHVybiBXbChWcihzKSx2cyhhLDAscy5sZW5ndGgpKX1mdW5jdGlvbiBFRChzKXtyZXR1cm4gV2woVnIocykpfWZ1bmN0aW9uIHkwKHMsYSx1KXsodSE9PXImJiFBbihzW2FdLHUpfHx1PT09ciYmIShhIGluIHMpKSYmcmkocyxhLHUpfWZ1bmN0aW9uIEFhKHMsYSx1KXt2YXIgZz1zW2FdOyghKGJ0LmNhbGwocyxhKSYmQW4oZyx1KSl8fHU9PT1yJiYhKGEgaW4gcykpJiZyaShzLGEsdSl9ZnVuY3Rpb24gUGwocyxhKXtmb3IodmFyIHU9cy5sZW5ndGg7dS0tOylpZihBbihzW3VdWzBdLGEpKXJldHVybiB1O3JldHVybi0xfWZ1bmN0aW9uIHhEKHMsYSx1LGcpe3JldHVybiBQaShzLGZ1bmN0aW9uKHksUyxNKXthKGcseSx1KHkpLE0pfSksZ31mdW5jdGlvbiBNbShzLGEpe3JldHVybiBzJiZrbihhLHlyKGEpLHMpfWZ1bmN0aW9uIENEKHMsYSl7cmV0dXJuIHMmJmtuKGEsR3IoYSkscyl9ZnVuY3Rpb24gcmkocyxhLHUpe2E9PSJfX3Byb3RvX18iJiZJbD9JbChzLGEse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOnUsd3JpdGFibGU6ITB9KTpzW2FdPXV9ZnVuY3Rpb24gYjAocyxhKXtmb3IodmFyIHU9LTEsZz1hLmxlbmd0aCx5PXRlKGcpLFM9cz09bnVsbDsrK3U8ZzspeVt1XT1TP3I6ZWQocyxhW3VdKTtyZXR1cm4geX1mdW5jdGlvbiB2cyhzLGEsdSl7cmV0dXJuIHM9PT1zJiYodSE9PXImJihzPXM8PXU/czp1KSxhIT09ciYmKHM9cz49YT9zOmEpKSxzfWZ1bmN0aW9uIHduKHMsYSx1LGcseSxTKXt2YXIgTSxrPWEmRSxaPWEmXyx1ZT1hJkE7aWYodSYmKE09eT91KHMsZyx5LFMpOnUocykpLE0hPT1yKXJldHVybiBNO2lmKCFCdChzKSlyZXR1cm4gczt2YXIgaGU9UWUocyk7aWYoaGUpe2lmKE09ZiQocyksIWspcmV0dXJuIFZyKHMsTSl9ZWxzZXt2YXIgcGU9U3IocyksYmU9cGU9PXdlfHxwZT09dmU7aWYoTGkocykpcmV0dXJuIG8yKHMsayk7aWYocGU9PUdlfHxwZT09eWV8fGJlJiYheSl7aWYoTT1afHxiZT97fTpJMihzKSwhaylyZXR1cm4gWj90JChzLENEKE0scykpOmUkKHMsTW0oTSxzKSl9ZWxzZXtpZigheHRbcGVdKXJldHVybiB5P3M6e307TT1kJChzLHBlLGspfX1TfHwoUz1uZXcgT24pO3ZhciBQZT1TLmdldChzKTtpZihQZSlyZXR1cm4gUGU7Uy5zZXQocyxNKSxldyhzKT9zLmZvckVhY2goZnVuY3Rpb24ocWUpe00uYWRkKHduKHFlLGEsdSxxZSxzLFMpKX0pOlgyKHMpJiZzLmZvckVhY2goZnVuY3Rpb24ocWUsZnQpe00uc2V0KGZ0LHduKHFlLGEsdSxmdCxzLFMpKX0pO3ZhciBXZT11ZT9aP0IwOkYwOlo/R3I6eXIsb3Q9aGU/cjpXZShzKTtyZXR1cm4gcG4ob3R8fHMsZnVuY3Rpb24ocWUsZnQpe290JiYoZnQ9cWUscWU9c1tmdF0pLEFhKE0sZnQsd24ocWUsYSx1LGZ0LHMsUykpfSksTX1mdW5jdGlvbiBJRChzKXt2YXIgYT15cihzKTtyZXR1cm4gZnVuY3Rpb24odSl7cmV0dXJuIFVtKHUscyxhKX19ZnVuY3Rpb24gVW0ocyxhLHUpe3ZhciBnPXUubGVuZ3RoO2lmKHM9PW51bGwpcmV0dXJuIWc7Zm9yKHM9QXQocyk7Zy0tOyl7dmFyIHk9dVtnXSxTPWFbeV0sTT1zW3ldO2lmKE09PT1yJiYhKHkgaW4gcyl8fCFTKE0pKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIGptKHMsYSx1KXtpZih0eXBlb2YgcyE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgZ24oYyk7cmV0dXJuIE5hKGZ1bmN0aW9uKCl7cy5hcHBseShyLHUpfSxhKX1mdW5jdGlvbiBTYShzLGEsdSxnKXt2YXIgeT0tMSxTPXBsLE09ITAsaz1zLmxlbmd0aCxaPVtdLHVlPWEubGVuZ3RoO2lmKCFrKXJldHVybiBaO3UmJihhPVV0KGEsZW4odSkpKSxnPyhTPW8wLE09ITEpOmEubGVuZ3RoPj1pJiYoUz1fYSxNPSExLGE9bmV3IHdzKGEpKTtlOmZvcig7Kyt5PGs7KXt2YXIgaGU9c1t5XSxwZT11PT1udWxsP2hlOnUoaGUpO2lmKGhlPWd8fGhlIT09MD9oZTowLE0mJnBlPT09cGUpe2Zvcih2YXIgYmU9dWU7YmUtLTspaWYoYVtiZV09PT1wZSljb250aW51ZSBlO1oucHVzaChoZSl9ZWxzZSBTKGEscGUsZyl8fFoucHVzaChoZSl9cmV0dXJuIFp9dmFyIFBpPWgyKEJuKSxGbT1oMihFMCwhMCk7ZnVuY3Rpb24gT0QocyxhKXt2YXIgdT0hMDtyZXR1cm4gUGkocyxmdW5jdGlvbihnLHksUyl7cmV0dXJuIHU9ISFhKGcseSxTKSx1fSksdX1mdW5jdGlvbiBUbChzLGEsdSl7Zm9yKHZhciBnPS0xLHk9cy5sZW5ndGg7KytnPHk7KXt2YXIgUz1zW2ddLE09YShTKTtpZihNIT1udWxsJiYoaz09PXI/TT09PU0mJiFybihNKTp1KE0saykpKXZhciBrPU0sWj1TfXJldHVybiBafWZ1bmN0aW9uIEFEKHMsYSx1LGcpe3ZhciB5PXMubGVuZ3RoO2Zvcih1PWl0KHUpLHU8MCYmKHU9LXU+eT8wOnkrdSksZz1nPT09cnx8Zz55P3k6aXQoZyksZzwwJiYoZys9eSksZz11Pmc/MDpydyhnKTt1PGc7KXNbdSsrXT1hO3JldHVybiBzfWZ1bmN0aW9uIEJtKHMsYSl7dmFyIHU9W107cmV0dXJuIFBpKHMsZnVuY3Rpb24oZyx5LFMpe2EoZyx5LFMpJiZ1LnB1c2goZyl9KSx1fWZ1bmN0aW9uIENyKHMsYSx1LGcseSl7dmFyIFM9LTEsTT1zLmxlbmd0aDtmb3IodXx8KHU9ZyQpLHl8fCh5PVtdKTsrK1M8TTspe3ZhciBrPXNbU107YT4wJiZ1KGspP2E+MT9DcihrLGEtMSx1LGcseSk6U2koeSxrKTpnfHwoeVt5Lmxlbmd0aF09ayl9cmV0dXJuIHl9dmFyIF8wPWYyKCksa209ZjIoITApO2Z1bmN0aW9uIEJuKHMsYSl7cmV0dXJuIHMmJl8wKHMsYSx5cil9ZnVuY3Rpb24gRTAocyxhKXtyZXR1cm4gcyYma20ocyxhLHlyKX1mdW5jdGlvbiBSbChzLGEpe3JldHVybiBBaShhLGZ1bmN0aW9uKHUpe3JldHVybiBvaShzW3VdKX0pfWZ1bmN0aW9uIHlzKHMsYSl7YT1SaShhLHMpO2Zvcih2YXIgdT0wLGc9YS5sZW5ndGg7cyE9bnVsbCYmdTxnOylzPXNbSG4oYVt1KytdKV07cmV0dXJuIHUmJnU9PWc/czpyfWZ1bmN0aW9uIEhtKHMsYSx1KXt2YXIgZz1hKHMpO3JldHVybiBRZShzKT9nOlNpKGcsdShzKSl9ZnVuY3Rpb24gRnIocyl7cmV0dXJuIHM9PW51bGw/cz09PXI/cnQ6YXQ6Z3MmJmdzIGluIEF0KHMpP2wkKHMpOkUkKHMpfWZ1bmN0aW9uIHgwKHMsYSl7cmV0dXJuIHM+YX1mdW5jdGlvbiBTRChzLGEpe3JldHVybiBzIT1udWxsJiZidC5jYWxsKHMsYSl9ZnVuY3Rpb24gREQocyxhKXtyZXR1cm4gcyE9bnVsbCYmYSBpbiBBdChzKX1mdW5jdGlvbiAkRChzLGEsdSl7cmV0dXJuIHM+PUFyKGEsdSkmJnM8ZHIoYSx1KX1mdW5jdGlvbiBDMChzLGEsdSl7Zm9yKHZhciBnPXU/bzA6cGwseT1zWzBdLmxlbmd0aCxTPXMubGVuZ3RoLE09UyxrPXRlKFMpLFo9MS8wLHVlPVtdO00tLTspe3ZhciBoZT1zW01dO00mJmEmJihoZT1VdChoZSxlbihhKSkpLFo9QXIoaGUubGVuZ3RoLFopLGtbTV09IXUmJihhfHx5Pj0xMjAmJmhlLmxlbmd0aD49MTIwKT9uZXcgd3MoTSYmaGUpOnJ9aGU9c1swXTt2YXIgcGU9LTEsYmU9a1swXTtlOmZvcig7KytwZTx5JiZ1ZS5sZW5ndGg8Wjspe3ZhciBQZT1oZVtwZV0sV2U9YT9hKFBlKTpQZTtpZihQZT11fHxQZSE9PTA/UGU6MCwhKGJlP19hKGJlLFdlKTpnKHVlLFdlLHUpKSl7Zm9yKE09UzstLU07KXt2YXIgb3Q9a1tNXTtpZighKG90P19hKG90LFdlKTpnKHNbTV0sV2UsdSkpKWNvbnRpbnVlIGV9YmUmJmJlLnB1c2goV2UpLHVlLnB1c2goUGUpfX1yZXR1cm4gdWV9ZnVuY3Rpb24gUEQocyxhLHUsZyl7cmV0dXJuIEJuKHMsZnVuY3Rpb24oeSxTLE0pe2EoZyx1KHkpLFMsTSl9KSxnfWZ1bmN0aW9uIERhKHMsYSx1KXthPVJpKGEscykscz1EMihzLGEpO3ZhciBnPXM9PW51bGw/czpzW0huKHluKGEpKV07cmV0dXJuIGc9PW51bGw/cjp2cihnLHMsdSl9ZnVuY3Rpb24gem0ocyl7cmV0dXJuIEd0KHMpJiZGcihzKT09eWV9ZnVuY3Rpb24gVEQocyl7cmV0dXJuIEd0KHMpJiZGcihzKT09Yn1mdW5jdGlvbiBSRChzKXtyZXR1cm4gR3QocykmJkZyKHMpPT1XfWZ1bmN0aW9uICRhKHMsYSx1LGcseSl7cmV0dXJuIHM9PT1hPyEwOnM9PW51bGx8fGE9PW51bGx8fCFHdChzKSYmIUd0KGEpP3MhPT1zJiZhIT09YTpORChzLGEsdSxnLCRhLHkpfWZ1bmN0aW9uIE5EKHMsYSx1LGcseSxTKXt2YXIgTT1RZShzKSxrPVFlKGEpLFo9TT9MZTpTcihzKSx1ZT1rP0xlOlNyKGEpO1o9Wj09eWU/R2U6Wix1ZT11ZT09eWU/R2U6dWU7dmFyIGhlPVo9PUdlLHBlPXVlPT1HZSxiZT1aPT11ZTtpZihiZSYmTGkocykpe2lmKCFMaShhKSlyZXR1cm4hMTtNPSEwLGhlPSExfWlmKGJlJiYhaGUpcmV0dXJuIFN8fChTPW5ldyBPbiksTXx8dm8ocyk/RTIocyxhLHUsZyx5LFMpOmEkKHMsYSxaLHUsZyx5LFMpO2lmKCEodSZQKSl7dmFyIFBlPWhlJiZidC5jYWxsKHMsIl9fd3JhcHBlZF9fIiksV2U9cGUmJmJ0LmNhbGwoYSwiX193cmFwcGVkX18iKTtpZihQZXx8V2Upe3ZhciBvdD1QZT9zLnZhbHVlKCk6cyxxZT1XZT9hLnZhbHVlKCk6YTtyZXR1cm4gU3x8KFM9bmV3IE9uKSx5KG90LHFlLHUsZyxTKX19cmV0dXJuIGJlPyhTfHwoUz1uZXcgT24pLGMkKHMsYSx1LGcseSxTKSk6ITF9ZnVuY3Rpb24gTEQocyl7cmV0dXJuIEd0KHMpJiZTcihzKT09TWV9ZnVuY3Rpb24gSTAocyxhLHUsZyl7dmFyIHk9dS5sZW5ndGgsUz15LE09IWc7aWYocz09bnVsbClyZXR1cm4hUztmb3Iocz1BdChzKTt5LS07KXt2YXIgaz11W3ldO2lmKE0mJmtbMl0/a1sxXSE9PXNba1swXV06IShrWzBdaW4gcykpcmV0dXJuITF9Zm9yKDsrK3k8Uzspe2s9dVt5XTt2YXIgWj1rWzBdLHVlPXNbWl0saGU9a1sxXTtpZihNJiZrWzJdKXtpZih1ZT09PXImJiEoWiBpbiBzKSlyZXR1cm4hMX1lbHNle3ZhciBwZT1uZXcgT247aWYoZyl2YXIgYmU9Zyh1ZSxoZSxaLHMsYSxwZSk7aWYoIShiZT09PXI/JGEoaGUsdWUsUHxVLGcscGUpOmJlKSlyZXR1cm4hMX19cmV0dXJuITB9ZnVuY3Rpb24gV20ocyl7aWYoIUJ0KHMpfHx3JChzKSlyZXR1cm4hMTt2YXIgYT1vaShzKT9MUzpXZjtyZXR1cm4gYS50ZXN0KF9zKHMpKX1mdW5jdGlvbiBNRChzKXtyZXR1cm4gR3QocykmJkZyKHMpPT1KZX1mdW5jdGlvbiBVRChzKXtyZXR1cm4gR3QocykmJlNyKHMpPT1IZX1mdW5jdGlvbiBqRChzKXtyZXR1cm4gR3QocykmJllsKHMubGVuZ3RoKSYmISFDdFtGcihzKV19ZnVuY3Rpb24gcW0ocyl7cmV0dXJuIHR5cGVvZiBzPT0iZnVuY3Rpb24iP3M6cz09bnVsbD9acjp0eXBlb2Ygcz09Im9iamVjdCI/UWUocyk/R20oc1swXSxzWzFdKTpLbShzKTpkdyhzKX1mdW5jdGlvbiBPMChzKXtpZighUmEocykpcmV0dXJuIGtTKHMpO3ZhciBhPVtdO2Zvcih2YXIgdSBpbiBBdChzKSlidC5jYWxsKHMsdSkmJnUhPSJjb25zdHJ1Y3RvciImJmEucHVzaCh1KTtyZXR1cm4gYX1mdW5jdGlvbiBGRChzKXtpZighQnQocykpcmV0dXJuIF8kKHMpO3ZhciBhPVJhKHMpLHU9W107Zm9yKHZhciBnIGluIHMpZz09ImNvbnN0cnVjdG9yIiYmKGF8fCFidC5jYWxsKHMsZykpfHx1LnB1c2goZyk7cmV0dXJuIHV9ZnVuY3Rpb24gQTAocyxhKXtyZXR1cm4gczxhfWZ1bmN0aW9uIFZtKHMsYSl7dmFyIHU9LTEsZz1LcihzKT90ZShzLmxlbmd0aCk6W107cmV0dXJuIFBpKHMsZnVuY3Rpb24oeSxTLE0pe2dbKyt1XT1hKHksUyxNKX0pLGd9ZnVuY3Rpb24gS20ocyl7dmFyIGE9SDAocyk7cmV0dXJuIGEubGVuZ3RoPT0xJiZhWzBdWzJdP0EyKGFbMF1bMF0sYVswXVsxXSk6ZnVuY3Rpb24odSl7cmV0dXJuIHU9PT1zfHxJMCh1LHMsYSl9fWZ1bmN0aW9uIEdtKHMsYSl7cmV0dXJuIFcwKHMpJiZPMihhKT9BMihIbihzKSxhKTpmdW5jdGlvbih1KXt2YXIgZz1lZCh1LHMpO3JldHVybiBnPT09ciYmZz09PWE/dGQodSxzKTokYShhLGcsUHxVKX19ZnVuY3Rpb24gTmwocyxhLHUsZyx5KXtzIT09YSYmXzAoYSxmdW5jdGlvbihTLE0pe2lmKHl8fCh5PW5ldyBPbiksQnQoUykpQkQocyxhLE0sdSxObCxnLHkpO2Vsc2V7dmFyIGs9Zz9nKFYwKHMsTSksUyxNKyIiLHMsYSx5KTpyO2s9PT1yJiYoaz1TKSx5MChzLE0sayl9fSxHcil9ZnVuY3Rpb24gQkQocyxhLHUsZyx5LFMsTSl7dmFyIGs9VjAocyx1KSxaPVYwKGEsdSksdWU9TS5nZXQoWik7aWYodWUpe3kwKHMsdSx1ZSk7cmV0dXJufXZhciBoZT1TP1MoayxaLHUrIiIscyxhLE0pOnIscGU9aGU9PT1yO2lmKHBlKXt2YXIgYmU9UWUoWiksUGU9IWJlJiZMaShaKSxXZT0hYmUmJiFQZSYmdm8oWik7aGU9WixiZXx8UGV8fFdlP1FlKGspP2hlPWs6UXQoayk/aGU9VnIoayk6UGU/KHBlPSExLGhlPW8yKFosITApKTpXZT8ocGU9ITEsaGU9YTIoWiwhMCkpOmhlPVtdOkxhKFopfHxFcyhaKT8oaGU9ayxFcyhrKT9oZT1udyhrKTooIUJ0KGspfHxvaShrKSkmJihoZT1JMihaKSkpOnBlPSExfXBlJiYoTS5zZXQoWixoZSkseShoZSxaLGcsUyxNKSxNLmRlbGV0ZShaKSkseTAocyx1LGhlKX1mdW5jdGlvbiBabShzLGEpe3ZhciB1PXMubGVuZ3RoO2lmKHUpcmV0dXJuIGErPWE8MD91OjAsc2koYSx1KT9zW2FdOnJ9ZnVuY3Rpb24gWW0ocyxhLHUpe2EubGVuZ3RoP2E9VXQoYSxmdW5jdGlvbihTKXtyZXR1cm4gUWUoUyk/ZnVuY3Rpb24oTSl7cmV0dXJuIHlzKE0sUy5sZW5ndGg9PT0xP1NbMF06Uyl9OlN9KTphPVtacl07dmFyIGc9LTE7YT1VdChhLGVuKHplKCkpKTt2YXIgeT1WbShzLGZ1bmN0aW9uKFMsTSxrKXt2YXIgWj1VdChhLGZ1bmN0aW9uKHVlKXtyZXR1cm4gdWUoUyl9KTtyZXR1cm57Y3JpdGVyaWE6WixpbmRleDorK2csdmFsdWU6U319KTtyZXR1cm4gZFMoeSxmdW5jdGlvbihTLE0pe3JldHVybiBRRChTLE0sdSl9KX1mdW5jdGlvbiBrRChzLGEpe3JldHVybiBKbShzLGEsZnVuY3Rpb24odSxnKXtyZXR1cm4gdGQocyxnKX0pfWZ1bmN0aW9uIEptKHMsYSx1KXtmb3IodmFyIGc9LTEseT1hLmxlbmd0aCxTPXt9OysrZzx5Oyl7dmFyIE09YVtnXSxrPXlzKHMsTSk7dShrLE0pJiZQYShTLFJpKE0scyksayl9cmV0dXJuIFN9ZnVuY3Rpb24gSEQocyl7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiB5cyhhLHMpfX1mdW5jdGlvbiBTMChzLGEsdSxnKXt2YXIgeT1nP2ZTOm9vLFM9LTEsTT1hLmxlbmd0aCxrPXM7Zm9yKHM9PT1hJiYoYT1WcihhKSksdSYmKGs9VXQocyxlbih1KSkpOysrUzxNOylmb3IodmFyIFo9MCx1ZT1hW1NdLGhlPXU/dSh1ZSk6dWU7KFo9eShrLGhlLFosZykpPi0xOylrIT09cyYmQ2wuY2FsbChrLFosMSksQ2wuY2FsbChzLFosMSk7cmV0dXJuIHN9ZnVuY3Rpb24gWG0ocyxhKXtmb3IodmFyIHU9cz9hLmxlbmd0aDowLGc9dS0xO3UtLTspe3ZhciB5PWFbdV07aWYodT09Z3x8eSE9PVMpe3ZhciBTPXk7c2koeSk/Q2wuY2FsbChzLHksMSk6VDAocyx5KX19cmV0dXJuIHN9ZnVuY3Rpb24gRDAocyxhKXtyZXR1cm4gcytBbChUbSgpKihhLXMrMSkpfWZ1bmN0aW9uIHpEKHMsYSx1LGcpe2Zvcih2YXIgeT0tMSxTPWRyKE9sKChhLXMpLyh1fHwxKSksMCksTT10ZShTKTtTLS07KU1bZz9TOisreV09cyxzKz11O3JldHVybiBNfWZ1bmN0aW9uICQwKHMsYSl7dmFyIHU9IiI7aWYoIXN8fGE8MXx8YT5yZSlyZXR1cm4gdTtkbyBhJTImJih1Kz1zKSxhPUFsKGEvMiksYSYmKHMrPXMpO3doaWxlKGEpO3JldHVybiB1fWZ1bmN0aW9uIGN0KHMsYSl7cmV0dXJuIEswKFMyKHMsYSxacikscysiIil9ZnVuY3Rpb24gV0Qocyl7cmV0dXJuIExtKHlvKHMpKX1mdW5jdGlvbiBxRChzLGEpe3ZhciB1PXlvKHMpO3JldHVybiBXbCh1LHZzKGEsMCx1Lmxlbmd0aCkpfWZ1bmN0aW9uIFBhKHMsYSx1LGcpe2lmKCFCdChzKSlyZXR1cm4gczthPVJpKGEscyk7Zm9yKHZhciB5PS0xLFM9YS5sZW5ndGgsTT1TLTEsaz1zO2shPW51bGwmJisreTxTOyl7dmFyIFo9SG4oYVt5XSksdWU9dTtpZihaPT09Il9fcHJvdG9fXyJ8fFo9PT0iY29uc3RydWN0b3IifHxaPT09InByb3RvdHlwZSIpcmV0dXJuIHM7aWYoeSE9TSl7dmFyIGhlPWtbWl07dWU9Zz9nKGhlLFosayk6cix1ZT09PXImJih1ZT1CdChoZSk/aGU6c2koYVt5KzFdKT9bXTp7fSl9QWEoayxaLHVlKSxrPWtbWl19cmV0dXJuIHN9dmFyIFFtPVNsP2Z1bmN0aW9uKHMsYSl7cmV0dXJuIFNsLnNldChzLGEpLHN9OlpyLFZEPUlsP2Z1bmN0aW9uKHMsYSl7cmV0dXJuIElsKHMsInRvU3RyaW5nIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITEsdmFsdWU6bmQoYSksd3JpdGFibGU6ITB9KX06WnI7ZnVuY3Rpb24gS0Qocyl7cmV0dXJuIFdsKHlvKHMpKX1mdW5jdGlvbiB2bihzLGEsdSl7dmFyIGc9LTEseT1zLmxlbmd0aDthPDAmJihhPS1hPnk/MDp5K2EpLHU9dT55P3k6dSx1PDAmJih1Kz15KSx5PWE+dT8wOnUtYT4+PjAsYT4+Pj0wO2Zvcih2YXIgUz10ZSh5KTsrK2c8eTspU1tnXT1zW2crYV07cmV0dXJuIFN9ZnVuY3Rpb24gR0QocyxhKXt2YXIgdTtyZXR1cm4gUGkocyxmdW5jdGlvbihnLHksUyl7cmV0dXJuIHU9YShnLHksUyksIXV9KSwhIXV9ZnVuY3Rpb24gTGwocyxhLHUpe3ZhciBnPTAseT1zPT1udWxsP2c6cy5sZW5ndGg7aWYodHlwZW9mIGE9PSJudW1iZXIiJiZhPT09YSYmeTw9Z2Upe2Zvcig7Zzx5Oyl7dmFyIFM9Zyt5Pj4+MSxNPXNbU107TSE9PW51bGwmJiFybihNKSYmKHU/TTw9YTpNPGEpP2c9UysxOnk9U31yZXR1cm4geX1yZXR1cm4gUDAocyxhLFpyLHUpfWZ1bmN0aW9uIFAwKHMsYSx1LGcpe3ZhciB5PTAsUz1zPT1udWxsPzA6cy5sZW5ndGg7aWYoUz09PTApcmV0dXJuIDA7YT11KGEpO2Zvcih2YXIgTT1hIT09YSxrPWE9PT1udWxsLFo9cm4oYSksdWU9YT09PXI7eTxTOyl7dmFyIGhlPUFsKCh5K1MpLzIpLHBlPXUoc1toZV0pLGJlPXBlIT09cixQZT1wZT09PW51bGwsV2U9cGU9PT1wZSxvdD1ybihwZSk7aWYoTSl2YXIgcWU9Z3x8V2U7ZWxzZSB1ZT9xZT1XZSYmKGd8fGJlKTprP3FlPVdlJiZiZSYmKGd8fCFQZSk6Wj9xZT1XZSYmYmUmJiFQZSYmKGd8fCFvdCk6UGV8fG90P3FlPSExOnFlPWc/cGU8PWE6cGU8YTtxZT95PWhlKzE6Uz1oZX1yZXR1cm4gQXIoUyxTZSl9ZnVuY3Rpb24gZTIocyxhKXtmb3IodmFyIHU9LTEsZz1zLmxlbmd0aCx5PTAsUz1bXTsrK3U8Zzspe3ZhciBNPXNbdV0saz1hP2EoTSk6TTtpZighdXx8IUFuKGssWikpe3ZhciBaPWs7U1t5KytdPU09PT0wPzA6TX19cmV0dXJuIFN9ZnVuY3Rpb24gdDIocyl7cmV0dXJuIHR5cGVvZiBzPT0ibnVtYmVyIj9zOnJuKHMpP2FlOitzfWZ1bmN0aW9uIHRuKHMpe2lmKHR5cGVvZiBzPT0ic3RyaW5nIilyZXR1cm4gcztpZihRZShzKSlyZXR1cm4gVXQocyx0bikrIiI7aWYocm4ocykpcmV0dXJuIFJtP1JtLmNhbGwocyk6IiI7dmFyIGE9cysiIjtyZXR1cm4gYT09IjAiJiYxL3M9PS1sZT8iLTAiOmF9ZnVuY3Rpb24gVGkocyxhLHUpe3ZhciBnPS0xLHk9cGwsUz1zLmxlbmd0aCxNPSEwLGs9W10sWj1rO2lmKHUpTT0hMSx5PW8wO2Vsc2UgaWYoUz49aSl7dmFyIHVlPWE/bnVsbDpzJChzKTtpZih1ZSlyZXR1cm4gbWwodWUpO009ITEseT1fYSxaPW5ldyB3c31lbHNlIFo9YT9bXTprO2U6Zm9yKDsrK2c8Uzspe3ZhciBoZT1zW2ddLHBlPWE/YShoZSk6aGU7aWYoaGU9dXx8aGUhPT0wP2hlOjAsTSYmcGU9PT1wZSl7Zm9yKHZhciBiZT1aLmxlbmd0aDtiZS0tOylpZihaW2JlXT09PXBlKWNvbnRpbnVlIGU7YSYmWi5wdXNoKHBlKSxrLnB1c2goaGUpfWVsc2UgeShaLHBlLHUpfHwoWiE9PWsmJloucHVzaChwZSksay5wdXNoKGhlKSl9cmV0dXJuIGt9ZnVuY3Rpb24gVDAocyxhKXtyZXR1cm4gYT1SaShhLHMpLHM9RDIocyxhKSxzPT1udWxsfHxkZWxldGUgc1tIbih5bihhKSldfWZ1bmN0aW9uIHIyKHMsYSx1LGcpe3JldHVybiBQYShzLGEsdSh5cyhzLGEpKSxnKX1mdW5jdGlvbiBNbChzLGEsdSxnKXtmb3IodmFyIHk9cy5sZW5ndGgsUz1nP3k6LTE7KGc/Uy0tOisrUzx5KSYmYShzW1NdLFMscyk7KTtyZXR1cm4gdT92bihzLGc/MDpTLGc/UysxOnkpOnZuKHMsZz9TKzE6MCxnP3k6Uyl9ZnVuY3Rpb24gbjIocyxhKXt2YXIgdT1zO3JldHVybiB1IGluc3RhbmNlb2YgZHQmJih1PXUudmFsdWUoKSksYTAoYSxmdW5jdGlvbihnLHkpe3JldHVybiB5LmZ1bmMuYXBwbHkoeS50aGlzQXJnLFNpKFtnXSx5LmFyZ3MpKX0sdSl9ZnVuY3Rpb24gUjAocyxhLHUpe3ZhciBnPXMubGVuZ3RoO2lmKGc8MilyZXR1cm4gZz9UaShzWzBdKTpbXTtmb3IodmFyIHk9LTEsUz10ZShnKTsrK3k8ZzspZm9yKHZhciBNPXNbeV0saz0tMTsrK2s8ZzspayE9eSYmKFNbeV09U2EoU1t5XXx8TSxzW2tdLGEsdSkpO3JldHVybiBUaShDcihTLDEpLGEsdSl9ZnVuY3Rpb24gaTIocyxhLHUpe2Zvcih2YXIgZz0tMSx5PXMubGVuZ3RoLFM9YS5sZW5ndGgsTT17fTsrK2c8eTspe3ZhciBrPWc8Uz9hW2ddOnI7dShNLHNbZ10sayl9cmV0dXJuIE19ZnVuY3Rpb24gTjAocyl7cmV0dXJuIFF0KHMpP3M6W119ZnVuY3Rpb24gTDAocyl7cmV0dXJuIHR5cGVvZiBzPT0iZnVuY3Rpb24iP3M6WnJ9ZnVuY3Rpb24gUmkocyxhKXtyZXR1cm4gUWUocyk/czpXMChzLGEpP1tzXTpSMih5dChzKSl9dmFyIFpEPWN0O2Z1bmN0aW9uIE5pKHMsYSx1KXt2YXIgZz1zLmxlbmd0aDtyZXR1cm4gdT11PT09cj9nOnUsIWEmJnU+PWc/czp2bihzLGEsdSl9dmFyIHMyPU1TfHxmdW5jdGlvbihzKXtyZXR1cm4gbXQuY2xlYXJUaW1lb3V0KHMpfTtmdW5jdGlvbiBvMihzLGEpe2lmKGEpcmV0dXJuIHMuc2xpY2UoKTt2YXIgdT1zLmxlbmd0aCxnPUFtP0FtKHUpOm5ldyBzLmNvbnN0cnVjdG9yKHUpO3JldHVybiBzLmNvcHkoZyksZ31mdW5jdGlvbiBNMChzKXt2YXIgYT1uZXcgcy5jb25zdHJ1Y3RvcihzLmJ5dGVMZW5ndGgpO3JldHVybiBuZXcgRWwoYSkuc2V0KG5ldyBFbChzKSksYX1mdW5jdGlvbiBZRChzLGEpe3ZhciB1PWE/TTAocy5idWZmZXIpOnMuYnVmZmVyO3JldHVybiBuZXcgcy5jb25zdHJ1Y3Rvcih1LHMuYnl0ZU9mZnNldCxzLmJ5dGVMZW5ndGgpfWZ1bmN0aW9uIEpEKHMpe3ZhciBhPW5ldyBzLmNvbnN0cnVjdG9yKHMuc291cmNlLGZuLmV4ZWMocykpO3JldHVybiBhLmxhc3RJbmRleD1zLmxhc3RJbmRleCxhfWZ1bmN0aW9uIFhEKHMpe3JldHVybiBPYT9BdChPYS5jYWxsKHMpKTp7fX1mdW5jdGlvbiBhMihzLGEpe3ZhciB1PWE/TTAocy5idWZmZXIpOnMuYnVmZmVyO3JldHVybiBuZXcgcy5jb25zdHJ1Y3Rvcih1LHMuYnl0ZU9mZnNldCxzLmxlbmd0aCl9ZnVuY3Rpb24gYzIocyxhKXtpZihzIT09YSl7dmFyIHU9cyE9PXIsZz1zPT09bnVsbCx5PXM9PT1zLFM9cm4ocyksTT1hIT09cixrPWE9PT1udWxsLFo9YT09PWEsdWU9cm4oYSk7aWYoIWsmJiF1ZSYmIVMmJnM+YXx8UyYmTSYmWiYmIWsmJiF1ZXx8ZyYmTSYmWnx8IXUmJlp8fCF5KXJldHVybiAxO2lmKCFnJiYhUyYmIXVlJiZzPGF8fHVlJiZ1JiZ5JiYhZyYmIVN8fGsmJnUmJnl8fCFNJiZ5fHwhWilyZXR1cm4tMX1yZXR1cm4gMH1mdW5jdGlvbiBRRChzLGEsdSl7Zm9yKHZhciBnPS0xLHk9cy5jcml0ZXJpYSxTPWEuY3JpdGVyaWEsTT15Lmxlbmd0aCxrPXUubGVuZ3RoOysrZzxNOyl7dmFyIFo9YzIoeVtnXSxTW2ddKTtpZihaKXtpZihnPj1rKXJldHVybiBaO3ZhciB1ZT11W2ddO3JldHVybiBaKih1ZT09ImRlc2MiPy0xOjEpfX1yZXR1cm4gcy5pbmRleC1hLmluZGV4fWZ1bmN0aW9uIGwyKHMsYSx1LGcpe2Zvcih2YXIgeT0tMSxTPXMubGVuZ3RoLE09dS5sZW5ndGgsaz0tMSxaPWEubGVuZ3RoLHVlPWRyKFMtTSwwKSxoZT10ZShaK3VlKSxwZT0hZzsrK2s8WjspaGVba109YVtrXTtmb3IoOysreTxNOykocGV8fHk8UykmJihoZVt1W3ldXT1zW3ldKTtmb3IoO3VlLS07KWhlW2srK109c1t5KytdO3JldHVybiBoZX1mdW5jdGlvbiB1MihzLGEsdSxnKXtmb3IodmFyIHk9LTEsUz1zLmxlbmd0aCxNPS0xLGs9dS5sZW5ndGgsWj0tMSx1ZT1hLmxlbmd0aCxoZT1kcihTLWssMCkscGU9dGUoaGUrdWUpLGJlPSFnOysreTxoZTspcGVbeV09c1t5XTtmb3IodmFyIFBlPXk7KytaPHVlOylwZVtQZStaXT1hW1pdO2Zvcig7KytNPGs7KShiZXx8eTxTKSYmKHBlW1BlK3VbTV1dPXNbeSsrXSk7cmV0dXJuIHBlfWZ1bmN0aW9uIFZyKHMsYSl7dmFyIHU9LTEsZz1zLmxlbmd0aDtmb3IoYXx8KGE9dGUoZykpOysrdTxnOylhW3VdPXNbdV07cmV0dXJuIGF9ZnVuY3Rpb24ga24ocyxhLHUsZyl7dmFyIHk9IXU7dXx8KHU9e30pO2Zvcih2YXIgUz0tMSxNPWEubGVuZ3RoOysrUzxNOyl7dmFyIGs9YVtTXSxaPWc/Zyh1W2tdLHNba10sayx1LHMpOnI7Wj09PXImJihaPXNba10pLHk/cmkodSxrLFopOkFhKHUsayxaKX1yZXR1cm4gdX1mdW5jdGlvbiBlJChzLGEpe3JldHVybiBrbihzLHowKHMpLGEpfWZ1bmN0aW9uIHQkKHMsYSl7cmV0dXJuIGtuKHMseDIocyksYSl9ZnVuY3Rpb24gVWwocyxhKXtyZXR1cm4gZnVuY3Rpb24odSxnKXt2YXIgeT1RZSh1KT9vUzp4RCxTPWE/YSgpOnt9O3JldHVybiB5KHUscyx6ZShnLDIpLFMpfX1mdW5jdGlvbiBnbyhzKXtyZXR1cm4gY3QoZnVuY3Rpb24oYSx1KXt2YXIgZz0tMSx5PXUubGVuZ3RoLFM9eT4xP3VbeS0xXTpyLE09eT4yP3VbMl06cjtmb3IoUz1zLmxlbmd0aD4zJiZ0eXBlb2YgUz09ImZ1bmN0aW9uIj8oeS0tLFMpOnIsTSYmQnIodVswXSx1WzFdLE0pJiYoUz15PDM/cjpTLHk9MSksYT1BdChhKTsrK2c8eTspe3ZhciBrPXVbZ107ayYmcyhhLGssZyxTKX1yZXR1cm4gYX0pfWZ1bmN0aW9uIGgyKHMsYSl7cmV0dXJuIGZ1bmN0aW9uKHUsZyl7aWYodT09bnVsbClyZXR1cm4gdTtpZighS3IodSkpcmV0dXJuIHModSxnKTtmb3IodmFyIHk9dS5sZW5ndGgsUz1hP3k6LTEsTT1BdCh1KTsoYT9TLS06KytTPHkpJiZnKE1bU10sUyxNKSE9PSExOyk7cmV0dXJuIHV9fWZ1bmN0aW9uIGYyKHMpe3JldHVybiBmdW5jdGlvbihhLHUsZyl7Zm9yKHZhciB5PS0xLFM9QXQoYSksTT1nKGEpLGs9TS5sZW5ndGg7ay0tOyl7dmFyIFo9TVtzP2s6Kyt5XTtpZih1KFNbWl0sWixTKT09PSExKWJyZWFrfXJldHVybiBhfX1mdW5jdGlvbiByJChzLGEsdSl7dmFyIGc9YSZILHk9VGEocyk7ZnVuY3Rpb24gUygpe3ZhciBNPXRoaXMmJnRoaXMhPT1tdCYmdGhpcyBpbnN0YW5jZW9mIFM/eTpzO3JldHVybiBNLmFwcGx5KGc/dTp0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIFN9ZnVuY3Rpb24gZDIocyl7cmV0dXJuIGZ1bmN0aW9uKGEpe2E9eXQoYSk7dmFyIHU9YW8oYSk/SW4oYSk6cixnPXU/dVswXTphLmNoYXJBdCgwKSx5PXU/TmkodSwxKS5qb2luKCIiKTphLnNsaWNlKDEpO3JldHVybiBnW3NdKCkreX19ZnVuY3Rpb24gbW8ocyl7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBhMChodyh1dyhhKS5yZXBsYWNlKHlhLCIiKSkscywiIil9fWZ1bmN0aW9uIFRhKHMpe3JldHVybiBmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cztzd2l0Y2goYS5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gbmV3IHM7Y2FzZSAxOnJldHVybiBuZXcgcyhhWzBdKTtjYXNlIDI6cmV0dXJuIG5ldyBzKGFbMF0sYVsxXSk7Y2FzZSAzOnJldHVybiBuZXcgcyhhWzBdLGFbMV0sYVsyXSk7Y2FzZSA0OnJldHVybiBuZXcgcyhhWzBdLGFbMV0sYVsyXSxhWzNdKTtjYXNlIDU6cmV0dXJuIG5ldyBzKGFbMF0sYVsxXSxhWzJdLGFbM10sYVs0XSk7Y2FzZSA2OnJldHVybiBuZXcgcyhhWzBdLGFbMV0sYVsyXSxhWzNdLGFbNF0sYVs1XSk7Y2FzZSA3OnJldHVybiBuZXcgcyhhWzBdLGFbMV0sYVsyXSxhWzNdLGFbNF0sYVs1XSxhWzZdKX12YXIgdT1wbyhzLnByb3RvdHlwZSksZz1zLmFwcGx5KHUsYSk7cmV0dXJuIEJ0KGcpP2c6dX19ZnVuY3Rpb24gbiQocyxhLHUpe3ZhciBnPVRhKHMpO2Z1bmN0aW9uIHkoKXtmb3IodmFyIFM9YXJndW1lbnRzLmxlbmd0aCxNPXRlKFMpLGs9UyxaPXdvKHkpO2stLTspTVtrXT1hcmd1bWVudHNba107dmFyIHVlPVM8MyYmTVswXSE9PVomJk1bUy0xXSE9PVo/W106RGkoTSxaKTtpZihTLT11ZS5sZW5ndGgsUzx1KXJldHVybiB2MihzLGEsamwseS5wbGFjZWhvbGRlcixyLE0sdWUscixyLHUtUyk7dmFyIGhlPXRoaXMmJnRoaXMhPT1tdCYmdGhpcyBpbnN0YW5jZW9mIHk/ZzpzO3JldHVybiB2cihoZSx0aGlzLE0pfXJldHVybiB5fWZ1bmN0aW9uIHAyKHMpe3JldHVybiBmdW5jdGlvbihhLHUsZyl7dmFyIHk9QXQoYSk7aWYoIUtyKGEpKXt2YXIgUz16ZSh1LDMpO2E9eXIoYSksdT1mdW5jdGlvbihrKXtyZXR1cm4gUyh5W2tdLGsseSl9fXZhciBNPXMoYSx1LGcpO3JldHVybiBNPi0xP3lbUz9hW01dOk1dOnJ9fWZ1bmN0aW9uIGcyKHMpe3JldHVybiBpaShmdW5jdGlvbihhKXt2YXIgdT1hLmxlbmd0aCxnPXUseT1tbi5wcm90b3R5cGUudGhydTtmb3IocyYmYS5yZXZlcnNlKCk7Zy0tOyl7dmFyIFM9YVtnXTtpZih0eXBlb2YgUyE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgZ24oYyk7aWYoeSYmIU0mJkhsKFMpPT0id3JhcHBlciIpdmFyIE09bmV3IG1uKFtdLCEwKX1mb3IoZz1NP2c6dTsrK2c8dTspe1M9YVtnXTt2YXIgaz1IbChTKSxaPWs9PSJ3cmFwcGVyIj9rMChTKTpyO1omJnEwKFpbMF0pJiZaWzFdPT0oZnxMfFR8eCkmJiFaWzRdLmxlbmd0aCYmWls5XT09MT9NPU1bSGwoWlswXSldLmFwcGx5KE0sWlszXSk6TT1TLmxlbmd0aD09MSYmcTAoUyk/TVtrXSgpOk0udGhydShTKX1yZXR1cm4gZnVuY3Rpb24oKXt2YXIgdWU9YXJndW1lbnRzLGhlPXVlWzBdO2lmKE0mJnVlLmxlbmd0aD09MSYmUWUoaGUpKXJldHVybiBNLnBsYW50KGhlKS52YWx1ZSgpO2Zvcih2YXIgcGU9MCxiZT11P2FbcGVdLmFwcGx5KHRoaXMsdWUpOmhlOysrcGU8dTspYmU9YVtwZV0uY2FsbCh0aGlzLGJlKTtyZXR1cm4gYmV9fSl9ZnVuY3Rpb24gamwocyxhLHUsZyx5LFMsTSxrLFosdWUpe3ZhciBoZT1hJmYscGU9YSZILGJlPWEmRyxQZT1hJihMfCQpLFdlPWEmSixvdD1iZT9yOlRhKHMpO2Z1bmN0aW9uIHFlKCl7Zm9yKHZhciBmdD1hcmd1bWVudHMubGVuZ3RoLHd0PXRlKGZ0KSxubj1mdDtubi0tOyl3dFtubl09YXJndW1lbnRzW25uXTtpZihQZSl2YXIga3I9d28ocWUpLHNuPWdTKHd0LGtyKTtpZihnJiYod3Q9bDIod3QsZyx5LFBlKSksUyYmKHd0PXUyKHd0LFMsTSxQZSkpLGZ0LT1zbixQZSYmZnQ8dWUpe3ZhciBlcj1EaSh3dCxrcik7cmV0dXJuIHYyKHMsYSxqbCxxZS5wbGFjZWhvbGRlcix1LHd0LGVyLGssWix1ZS1mdCl9dmFyIFNuPXBlP3U6dGhpcyxjaT1iZT9TbltzXTpzO3JldHVybiBmdD13dC5sZW5ndGgsaz93dD14JCh3dCxrKTpXZSYmZnQ+MSYmd3QucmV2ZXJzZSgpLGhlJiZaPGZ0JiYod3QubGVuZ3RoPVopLHRoaXMmJnRoaXMhPT1tdCYmdGhpcyBpbnN0YW5jZW9mIHFlJiYoY2k9b3R8fFRhKGNpKSksY2kuYXBwbHkoU24sd3QpfXJldHVybiBxZX1mdW5jdGlvbiBtMihzLGEpe3JldHVybiBmdW5jdGlvbih1LGcpe3JldHVybiBQRCh1LHMsYShnKSx7fSl9fWZ1bmN0aW9uIEZsKHMsYSl7cmV0dXJuIGZ1bmN0aW9uKHUsZyl7dmFyIHk7aWYodT09PXImJmc9PT1yKXJldHVybiBhO2lmKHUhPT1yJiYoeT11KSxnIT09cil7aWYoeT09PXIpcmV0dXJuIGc7dHlwZW9mIHU9PSJzdHJpbmcifHx0eXBlb2YgZz09InN0cmluZyI/KHU9dG4odSksZz10bihnKSk6KHU9dDIodSksZz10MihnKSkseT1zKHUsZyl9cmV0dXJuIHl9fWZ1bmN0aW9uIFUwKHMpe3JldHVybiBpaShmdW5jdGlvbihhKXtyZXR1cm4gYT1VdChhLGVuKHplKCkpKSxjdChmdW5jdGlvbih1KXt2YXIgZz10aGlzO3JldHVybiBzKGEsZnVuY3Rpb24oeSl7cmV0dXJuIHZyKHksZyx1KX0pfSl9KX1mdW5jdGlvbiBCbChzLGEpe2E9YT09PXI/IiAiOnRuKGEpO3ZhciB1PWEubGVuZ3RoO2lmKHU8MilyZXR1cm4gdT8kMChhLHMpOmE7dmFyIGc9JDAoYSxPbChzL2NvKGEpKSk7cmV0dXJuIGFvKGEpP05pKEluKGcpLDAscykuam9pbigiIik6Zy5zbGljZSgwLHMpfWZ1bmN0aW9uIGkkKHMsYSx1LGcpe3ZhciB5PWEmSCxTPVRhKHMpO2Z1bmN0aW9uIE0oKXtmb3IodmFyIGs9LTEsWj1hcmd1bWVudHMubGVuZ3RoLHVlPS0xLGhlPWcubGVuZ3RoLHBlPXRlKGhlK1opLGJlPXRoaXMmJnRoaXMhPT1tdCYmdGhpcyBpbnN0YW5jZW9mIE0/UzpzOysrdWU8aGU7KXBlW3VlXT1nW3VlXTtmb3IoO1otLTspcGVbdWUrK109YXJndW1lbnRzWysra107cmV0dXJuIHZyKGJlLHk/dTp0aGlzLHBlKX1yZXR1cm4gTX1mdW5jdGlvbiB3MihzKXtyZXR1cm4gZnVuY3Rpb24oYSx1LGcpe3JldHVybiBnJiZ0eXBlb2YgZyE9Im51bWJlciImJkJyKGEsdSxnKSYmKHU9Zz1yKSxhPWFpKGEpLHU9PT1yPyh1PWEsYT0wKTp1PWFpKHUpLGc9Zz09PXI/YTx1PzE6LTE6YWkoZyksekQoYSx1LGcscyl9fWZ1bmN0aW9uIGtsKHMpe3JldHVybiBmdW5jdGlvbihhLHUpe3JldHVybiB0eXBlb2YgYT09InN0cmluZyImJnR5cGVvZiB1PT0ic3RyaW5nInx8KGE9Ym4oYSksdT1ibih1KSkscyhhLHUpfX1mdW5jdGlvbiB2MihzLGEsdSxnLHksUyxNLGssWix1ZSl7dmFyIGhlPWEmTCxwZT1oZT9NOnIsYmU9aGU/cjpNLFBlPWhlP1M6cixXZT1oZT9yOlM7YXw9aGU/VDpJLGEmPX4oaGU/STpUKSxhJk58fChhJj1+KEh8RykpO3ZhciBvdD1bcyxhLHksUGUscGUsV2UsYmUsayxaLHVlXSxxZT11LmFwcGx5KHIsb3QpO3JldHVybiBxMChzKSYmJDIocWUsb3QpLHFlLnBsYWNlaG9sZGVyPWcsUDIocWUscyxhKX1mdW5jdGlvbiBqMChzKXt2YXIgYT1mcltzXTtyZXR1cm4gZnVuY3Rpb24odSxnKXtpZih1PWJuKHUpLGc9Zz09bnVsbD8wOkFyKGl0KGcpLDI5MiksZyYmUG0odSkpe3ZhciB5PSh5dCh1KSsiZSIpLnNwbGl0KCJlIiksUz1hKHlbMF0rImUiKygreVsxXStnKSk7cmV0dXJuIHk9KHl0KFMpKyJlIikuc3BsaXQoImUiKSwrKHlbMF0rImUiKygreVsxXS1nKSl9cmV0dXJuIGEodSl9fXZhciBzJD1obyYmMS9tbChuZXcgaG8oWywtMF0pKVsxXT09bGU/ZnVuY3Rpb24ocyl7cmV0dXJuIG5ldyBobyhzKX06b2Q7ZnVuY3Rpb24geTIocyl7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciB1PVNyKGEpO3JldHVybiB1PT1NZT9wMChhKTp1PT1IZT9FUyhhKTpwUyhhLHMoYSkpfX1mdW5jdGlvbiBuaShzLGEsdSxnLHksUyxNLGspe3ZhciBaPWEmRztpZighWiYmdHlwZW9mIHMhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IGduKGMpO3ZhciB1ZT1nP2cubGVuZ3RoOjA7aWYodWV8fChhJj1+KFR8SSksZz15PXIpLE09TT09PXI/TTpkcihpdChNKSwwKSxrPWs9PT1yP2s6aXQoayksdWUtPXk/eS5sZW5ndGg6MCxhJkkpe3ZhciBoZT1nLHBlPXk7Zz15PXJ9dmFyIGJlPVo/cjprMChzKSxQZT1bcyxhLHUsZyx5LGhlLHBlLFMsTSxrXTtpZihiZSYmYiQoUGUsYmUpLHM9UGVbMF0sYT1QZVsxXSx1PVBlWzJdLGc9UGVbM10seT1QZVs0XSxrPVBlWzldPVBlWzldPT09cj9aPzA6cy5sZW5ndGg6ZHIoUGVbOV0tdWUsMCksIWsmJmEmKEx8JCkmJihhJj1+KEx8JCkpLCFhfHxhPT1IKXZhciBXZT1yJChzLGEsdSk7ZWxzZSBhPT1MfHxhPT0kP1dlPW4kKHMsYSxrKTooYT09VHx8YT09KEh8VCkpJiYheS5sZW5ndGg/V2U9aSQocyxhLHUsZyk6V2U9amwuYXBwbHkocixQZSk7dmFyIG90PWJlP1FtOiQyO3JldHVybiBQMihvdChXZSxQZSkscyxhKX1mdW5jdGlvbiBiMihzLGEsdSxnKXtyZXR1cm4gcz09PXJ8fEFuKHMsdW9bdV0pJiYhYnQuY2FsbChnLHUpP2E6c31mdW5jdGlvbiBfMihzLGEsdSxnLHksUyl7cmV0dXJuIEJ0KHMpJiZCdChhKSYmKFMuc2V0KGEscyksTmwocyxhLHIsXzIsUyksUy5kZWxldGUoYSkpLHN9ZnVuY3Rpb24gbyQocyl7cmV0dXJuIExhKHMpP3I6c31mdW5jdGlvbiBFMihzLGEsdSxnLHksUyl7dmFyIE09dSZQLGs9cy5sZW5ndGgsWj1hLmxlbmd0aDtpZihrIT1aJiYhKE0mJlo+aykpcmV0dXJuITE7dmFyIHVlPVMuZ2V0KHMpLGhlPVMuZ2V0KGEpO2lmKHVlJiZoZSlyZXR1cm4gdWU9PWEmJmhlPT1zO3ZhciBwZT0tMSxiZT0hMCxQZT11JlU/bmV3IHdzOnI7Zm9yKFMuc2V0KHMsYSksUy5zZXQoYSxzKTsrK3BlPGs7KXt2YXIgV2U9c1twZV0sb3Q9YVtwZV07aWYoZyl2YXIgcWU9TT9nKG90LFdlLHBlLGEscyxTKTpnKFdlLG90LHBlLHMsYSxTKTtpZihxZSE9PXIpe2lmKHFlKWNvbnRpbnVlO2JlPSExO2JyZWFrfWlmKFBlKXtpZighYzAoYSxmdW5jdGlvbihmdCx3dCl7aWYoIV9hKFBlLHd0KSYmKFdlPT09ZnR8fHkoV2UsZnQsdSxnLFMpKSlyZXR1cm4gUGUucHVzaCh3dCl9KSl7YmU9ITE7YnJlYWt9fWVsc2UgaWYoIShXZT09PW90fHx5KFdlLG90LHUsZyxTKSkpe2JlPSExO2JyZWFrfX1yZXR1cm4gUy5kZWxldGUocyksUy5kZWxldGUoYSksYmV9ZnVuY3Rpb24gYSQocyxhLHUsZyx5LFMsTSl7c3dpdGNoKHUpe2Nhc2UgcDppZihzLmJ5dGVMZW5ndGghPWEuYnl0ZUxlbmd0aHx8cy5ieXRlT2Zmc2V0IT1hLmJ5dGVPZmZzZXQpcmV0dXJuITE7cz1zLmJ1ZmZlcixhPWEuYnVmZmVyO2Nhc2UgYjpyZXR1cm4hKHMuYnl0ZUxlbmd0aCE9YS5ieXRlTGVuZ3RofHwhUyhuZXcgRWwocyksbmV3IEVsKGEpKSk7Y2FzZSBZOmNhc2UgVzpjYXNlIG50OnJldHVybiBBbigrcywrYSk7Y2FzZSBGOnJldHVybiBzLm5hbWU9PWEubmFtZSYmcy5tZXNzYWdlPT1hLm1lc3NhZ2U7Y2FzZSBKZTpjYXNlIEJlOnJldHVybiBzPT1hKyIiO2Nhc2UgTWU6dmFyIGs9cDA7Y2FzZSBIZTp2YXIgWj1nJlA7aWYoa3x8KGs9bWwpLHMuc2l6ZSE9YS5zaXplJiYhWilyZXR1cm4hMTt2YXIgdWU9TS5nZXQocyk7aWYodWUpcmV0dXJuIHVlPT1hO2d8PVUsTS5zZXQocyxhKTt2YXIgaGU9RTIoayhzKSxrKGEpLGcseSxTLE0pO3JldHVybiBNLmRlbGV0ZShzKSxoZTtjYXNlIEtlOmlmKE9hKXJldHVybiBPYS5jYWxsKHMpPT1PYS5jYWxsKGEpfXJldHVybiExfWZ1bmN0aW9uIGMkKHMsYSx1LGcseSxTKXt2YXIgTT11JlAsaz1GMChzKSxaPWsubGVuZ3RoLHVlPUYwKGEpLGhlPXVlLmxlbmd0aDtpZihaIT1oZSYmIU0pcmV0dXJuITE7Zm9yKHZhciBwZT1aO3BlLS07KXt2YXIgYmU9a1twZV07aWYoIShNP2JlIGluIGE6YnQuY2FsbChhLGJlKSkpcmV0dXJuITF9dmFyIFBlPVMuZ2V0KHMpLFdlPVMuZ2V0KGEpO2lmKFBlJiZXZSlyZXR1cm4gUGU9PWEmJldlPT1zO3ZhciBvdD0hMDtTLnNldChzLGEpLFMuc2V0KGEscyk7Zm9yKHZhciBxZT1NOysrcGU8Wjspe2JlPWtbcGVdO3ZhciBmdD1zW2JlXSx3dD1hW2JlXTtpZihnKXZhciBubj1NP2cod3QsZnQsYmUsYSxzLFMpOmcoZnQsd3QsYmUscyxhLFMpO2lmKCEobm49PT1yP2Z0PT09d3R8fHkoZnQsd3QsdSxnLFMpOm5uKSl7b3Q9ITE7YnJlYWt9cWV8fChxZT1iZT09ImNvbnN0cnVjdG9yIil9aWYob3QmJiFxZSl7dmFyIGtyPXMuY29uc3RydWN0b3Isc249YS5jb25zdHJ1Y3RvcjtrciE9c24mJiJjb25zdHJ1Y3RvciJpbiBzJiYiY29uc3RydWN0b3IiaW4gYSYmISh0eXBlb2Yga3I9PSJmdW5jdGlvbiImJmtyIGluc3RhbmNlb2Yga3ImJnR5cGVvZiBzbj09ImZ1bmN0aW9uIiYmc24gaW5zdGFuY2VvZiBzbikmJihvdD0hMSl9cmV0dXJuIFMuZGVsZXRlKHMpLFMuZGVsZXRlKGEpLG90fWZ1bmN0aW9uIGlpKHMpe3JldHVybiBLMChTMihzLHIsVTIpLHMrIiIpfWZ1bmN0aW9uIEYwKHMpe3JldHVybiBIbShzLHlyLHowKX1mdW5jdGlvbiBCMChzKXtyZXR1cm4gSG0ocyxHcix4Mil9dmFyIGswPVNsP2Z1bmN0aW9uKHMpe3JldHVybiBTbC5nZXQocyl9Om9kO2Z1bmN0aW9uIEhsKHMpe2Zvcih2YXIgYT1zLm5hbWUrIiIsdT1mb1thXSxnPWJ0LmNhbGwoZm8sYSk/dS5sZW5ndGg6MDtnLS07KXt2YXIgeT11W2ddLFM9eS5mdW5jO2lmKFM9PW51bGx8fFM9PXMpcmV0dXJuIHkubmFtZX1yZXR1cm4gYX1mdW5jdGlvbiB3byhzKXt2YXIgYT1idC5jYWxsKEMsInBsYWNlaG9sZGVyIik/QzpzO3JldHVybiBhLnBsYWNlaG9sZGVyfWZ1bmN0aW9uIHplKCl7dmFyIHM9Qy5pdGVyYXRlZXx8aWQ7cmV0dXJuIHM9cz09PWlkP3FtOnMsYXJndW1lbnRzLmxlbmd0aD9zKGFyZ3VtZW50c1swXSxhcmd1bWVudHNbMV0pOnN9ZnVuY3Rpb24gemwocyxhKXt2YXIgdT1zLl9fZGF0YV9fO3JldHVybiBtJChhKT91W3R5cGVvZiBhPT0ic3RyaW5nIj8ic3RyaW5nIjoiaGFzaCJdOnUubWFwfWZ1bmN0aW9uIEgwKHMpe2Zvcih2YXIgYT15cihzKSx1PWEubGVuZ3RoO3UtLTspe3ZhciBnPWFbdV0seT1zW2ddO2FbdV09W2cseSxPMih5KV19cmV0dXJuIGF9ZnVuY3Rpb24gYnMocyxhKXt2YXIgdT15UyhzLGEpO3JldHVybiBXbSh1KT91OnJ9ZnVuY3Rpb24gbCQocyl7dmFyIGE9YnQuY2FsbChzLGdzKSx1PXNbZ3NdO3RyeXtzW2dzXT1yO3ZhciBnPSEwfWNhdGNoe312YXIgeT1ibC5jYWxsKHMpO3JldHVybiBnJiYoYT9zW2dzXT11OmRlbGV0ZSBzW2dzXSkseX12YXIgejA9bTA/ZnVuY3Rpb24ocyl7cmV0dXJuIHM9PW51bGw/W106KHM9QXQocyksQWkobTAocyksZnVuY3Rpb24oYSl7cmV0dXJuIERtLmNhbGwocyxhKX0pKX06YWQseDI9bTA/ZnVuY3Rpb24ocyl7Zm9yKHZhciBhPVtdO3M7KVNpKGEsejAocykpLHM9eGwocyk7cmV0dXJuIGF9OmFkLFNyPUZyOyh3MCYmU3IobmV3IHcwKG5ldyBBcnJheUJ1ZmZlcigxKSkpIT1wfHx4YSYmU3IobmV3IHhhKSE9TWV8fHYwJiZTcih2MC5yZXNvbHZlKCkpIT1EdHx8aG8mJlNyKG5ldyBobykhPUhlfHxDYSYmU3IobmV3IENhKSE9VWUpJiYoU3I9ZnVuY3Rpb24ocyl7dmFyIGE9RnIocyksdT1hPT1HZT9zLmNvbnN0cnVjdG9yOnIsZz11P19zKHUpOiIiO2lmKGcpc3dpdGNoKGcpe2Nhc2UgcVM6cmV0dXJuIHA7Y2FzZSBWUzpyZXR1cm4gTWU7Y2FzZSBLUzpyZXR1cm4gRHQ7Y2FzZSBHUzpyZXR1cm4gSGU7Y2FzZSBaUzpyZXR1cm4gVWV9cmV0dXJuIGF9KTtmdW5jdGlvbiB1JChzLGEsdSl7Zm9yKHZhciBnPS0xLHk9dS5sZW5ndGg7KytnPHk7KXt2YXIgUz11W2ddLE09Uy5zaXplO3N3aXRjaChTLnR5cGUpe2Nhc2UiZHJvcCI6cys9TTticmVhaztjYXNlImRyb3BSaWdodCI6YS09TTticmVhaztjYXNlInRha2UiOmE9QXIoYSxzK00pO2JyZWFrO2Nhc2UidGFrZVJpZ2h0IjpzPWRyKHMsYS1NKTticmVha319cmV0dXJue3N0YXJ0OnMsZW5kOmF9fWZ1bmN0aW9uIGgkKHMpe3ZhciBhPXMubWF0Y2goUHQpO3JldHVybiBhP2FbMV0uc3BsaXQoYXIpOltdfWZ1bmN0aW9uIEMyKHMsYSx1KXthPVJpKGEscyk7Zm9yKHZhciBnPS0xLHk9YS5sZW5ndGgsUz0hMTsrK2c8eTspe3ZhciBNPUhuKGFbZ10pO2lmKCEoUz1zIT1udWxsJiZ1KHMsTSkpKWJyZWFrO3M9c1tNXX1yZXR1cm4gU3x8KytnIT15P1M6KHk9cz09bnVsbD8wOnMubGVuZ3RoLCEheSYmWWwoeSkmJnNpKE0seSkmJihRZShzKXx8RXMocykpKX1mdW5jdGlvbiBmJChzKXt2YXIgYT1zLmxlbmd0aCx1PW5ldyBzLmNvbnN0cnVjdG9yKGEpO3JldHVybiBhJiZ0eXBlb2Ygc1swXT09InN0cmluZyImJmJ0LmNhbGwocywiaW5kZXgiKSYmKHUuaW5kZXg9cy5pbmRleCx1LmlucHV0PXMuaW5wdXQpLHV9ZnVuY3Rpb24gSTIocyl7cmV0dXJuIHR5cGVvZiBzLmNvbnN0cnVjdG9yPT0iZnVuY3Rpb24iJiYhUmEocyk/cG8oeGwocykpOnt9fWZ1bmN0aW9uIGQkKHMsYSx1KXt2YXIgZz1zLmNvbnN0cnVjdG9yO3N3aXRjaChhKXtjYXNlIGI6cmV0dXJuIE0wKHMpO2Nhc2UgWTpjYXNlIFc6cmV0dXJuIG5ldyBnKCtzKTtjYXNlIHA6cmV0dXJuIFlEKHMsdSk7Y2FzZSBtOmNhc2UgRDpjYXNlIEI6Y2FzZSBLOmNhc2UgUTpjYXNlIEVlOmNhc2UgVGU6Y2FzZSBzdDpjYXNlIGh0OnJldHVybiBhMihzLHUpO2Nhc2UgTWU6cmV0dXJuIG5ldyBnO2Nhc2UgbnQ6Y2FzZSBCZTpyZXR1cm4gbmV3IGcocyk7Y2FzZSBKZTpyZXR1cm4gSkQocyk7Y2FzZSBIZTpyZXR1cm4gbmV3IGc7Y2FzZSBLZTpyZXR1cm4gWEQocyl9fWZ1bmN0aW9uIHAkKHMsYSl7dmFyIHU9YS5sZW5ndGg7aWYoIXUpcmV0dXJuIHM7dmFyIGc9dS0xO3JldHVybiBhW2ddPSh1PjE/IiYgIjoiIikrYVtnXSxhPWEuam9pbih1PjI/IiwgIjoiICIpLHMucmVwbGFjZShLdCxgew0KLyogW3dyYXBwZWQgd2l0aCBgK2ErYF0gKi8NCmApfWZ1bmN0aW9uIGckKHMpe3JldHVybiBRZShzKXx8RXMocyl8fCEhKCRtJiZzJiZzWyRtXSl9ZnVuY3Rpb24gc2kocyxhKXt2YXIgdT10eXBlb2YgcztyZXR1cm4gYT1hPz9yZSwhIWEmJih1PT0ibnVtYmVyInx8dSE9InN5bWJvbCImJlZmLnRlc3QocykpJiZzPi0xJiZzJTE9PTAmJnM8YX1mdW5jdGlvbiBCcihzLGEsdSl7aWYoIUJ0KHUpKXJldHVybiExO3ZhciBnPXR5cGVvZiBhO3JldHVybihnPT0ibnVtYmVyIj9Lcih1KSYmc2koYSx1Lmxlbmd0aCk6Zz09InN0cmluZyImJmEgaW4gdSk/QW4odVthXSxzKTohMX1mdW5jdGlvbiBXMChzLGEpe2lmKFFlKHMpKXJldHVybiExO3ZhciB1PXR5cGVvZiBzO3JldHVybiB1PT0ibnVtYmVyInx8dT09InN5bWJvbCJ8fHU9PSJib29sZWFuInx8cz09bnVsbHx8cm4ocyk/ITA6aXIudGVzdChzKXx8IU10LnRlc3Qocyl8fGEhPW51bGwmJnMgaW4gQXQoYSl9ZnVuY3Rpb24gbSQocyl7dmFyIGE9dHlwZW9mIHM7cmV0dXJuIGE9PSJzdHJpbmcifHxhPT0ibnVtYmVyInx8YT09InN5bWJvbCJ8fGE9PSJib29sZWFuIj9zIT09Il9fcHJvdG9fXyI6cz09PW51bGx9ZnVuY3Rpb24gcTAocyl7dmFyIGE9SGwocyksdT1DW2FdO2lmKHR5cGVvZiB1IT0iZnVuY3Rpb24ifHwhKGEgaW4gZHQucHJvdG90eXBlKSlyZXR1cm4hMTtpZihzPT09dSlyZXR1cm4hMDt2YXIgZz1rMCh1KTtyZXR1cm4hIWcmJnM9PT1nWzBdfWZ1bmN0aW9uIHckKHMpe3JldHVybiEhT20mJk9tIGluIHN9dmFyIHYkPXZsP29pOmNkO2Z1bmN0aW9uIFJhKHMpe3ZhciBhPXMmJnMuY29uc3RydWN0b3IsdT10eXBlb2YgYT09ImZ1bmN0aW9uIiYmYS5wcm90b3R5cGV8fHVvO3JldHVybiBzPT09dX1mdW5jdGlvbiBPMihzKXtyZXR1cm4gcz09PXMmJiFCdChzKX1mdW5jdGlvbiBBMihzLGEpe3JldHVybiBmdW5jdGlvbih1KXtyZXR1cm4gdT09bnVsbD8hMTp1W3NdPT09YSYmKGEhPT1yfHxzIGluIEF0KHUpKX19ZnVuY3Rpb24geSQocyl7dmFyIGE9R2wocyxmdW5jdGlvbihnKXtyZXR1cm4gdS5zaXplPT09ZCYmdS5jbGVhcigpLGd9KSx1PWEuY2FjaGU7cmV0dXJuIGF9ZnVuY3Rpb24gYiQocyxhKXt2YXIgdT1zWzFdLGc9YVsxXSx5PXV8ZyxTPXk8KEh8R3xmKSxNPWc9PWYmJnU9PUx8fGc9PWYmJnU9PXgmJnNbN10ubGVuZ3RoPD1hWzhdfHxnPT0oZnx4KSYmYVs3XS5sZW5ndGg8PWFbOF0mJnU9PUw7aWYoIShTfHxNKSlyZXR1cm4gcztnJkgmJihzWzJdPWFbMl0seXw9dSZIPzA6Tik7dmFyIGs9YVszXTtpZihrKXt2YXIgWj1zWzNdO3NbM109Wj9sMihaLGssYVs0XSk6ayxzWzRdPVo/RGkoc1szXSx2KTphWzRdfXJldHVybiBrPWFbNV0sayYmKFo9c1s1XSxzWzVdPVo/dTIoWixrLGFbNl0pOmssc1s2XT1aP0RpKHNbNV0sdik6YVs2XSksaz1hWzddLGsmJihzWzddPWspLGcmZiYmKHNbOF09c1s4XT09bnVsbD9hWzhdOkFyKHNbOF0sYVs4XSkpLHNbOV09PW51bGwmJihzWzldPWFbOV0pLHNbMF09YVswXSxzWzFdPXksc31mdW5jdGlvbiBfJChzKXt2YXIgYT1bXTtpZihzIT1udWxsKWZvcih2YXIgdSBpbiBBdChzKSlhLnB1c2godSk7cmV0dXJuIGF9ZnVuY3Rpb24gRSQocyl7cmV0dXJuIGJsLmNhbGwocyl9ZnVuY3Rpb24gUzIocyxhLHUpe3JldHVybiBhPWRyKGE9PT1yP3MubGVuZ3RoLTE6YSwwKSxmdW5jdGlvbigpe2Zvcih2YXIgZz1hcmd1bWVudHMseT0tMSxTPWRyKGcubGVuZ3RoLWEsMCksTT10ZShTKTsrK3k8UzspTVt5XT1nW2EreV07eT0tMTtmb3IodmFyIGs9dGUoYSsxKTsrK3k8YTspa1t5XT1nW3ldO3JldHVybiBrW2FdPXUoTSksdnIocyx0aGlzLGspfX1mdW5jdGlvbiBEMihzLGEpe3JldHVybiBhLmxlbmd0aDwyP3M6eXMocyx2bihhLDAsLTEpKX1mdW5jdGlvbiB4JChzLGEpe2Zvcih2YXIgdT1zLmxlbmd0aCxnPUFyKGEubGVuZ3RoLHUpLHk9VnIocyk7Zy0tOyl7dmFyIFM9YVtnXTtzW2ddPXNpKFMsdSk/eVtTXTpyfXJldHVybiBzfWZ1bmN0aW9uIFYwKHMsYSl7aWYoIShhPT09ImNvbnN0cnVjdG9yIiYmdHlwZW9mIHNbYV09PSJmdW5jdGlvbiIpJiZhIT0iX19wcm90b19fIilyZXR1cm4gc1thXX12YXIgJDI9VDIoUW0pLE5hPWpTfHxmdW5jdGlvbihzLGEpe3JldHVybiBtdC5zZXRUaW1lb3V0KHMsYSl9LEswPVQyKFZEKTtmdW5jdGlvbiBQMihzLGEsdSl7dmFyIGc9YSsiIjtyZXR1cm4gSzAocyxwJChnLEMkKGgkKGcpLHUpKSl9ZnVuY3Rpb24gVDIocyl7dmFyIGE9MCx1PTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGc9SFMoKSx5PW1lLShnLXUpO2lmKHU9Zyx5PjApe2lmKCsrYT49ZGUpcmV0dXJuIGFyZ3VtZW50c1swXX1lbHNlIGE9MDtyZXR1cm4gcy5hcHBseShyLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIFdsKHMsYSl7dmFyIHU9LTEsZz1zLmxlbmd0aCx5PWctMTtmb3IoYT1hPT09cj9nOmE7Kyt1PGE7KXt2YXIgUz1EMCh1LHkpLE09c1tTXTtzW1NdPXNbdV0sc1t1XT1NfXJldHVybiBzLmxlbmd0aD1hLHN9dmFyIFIyPXkkKGZ1bmN0aW9uKHMpe3ZhciBhPVtdO3JldHVybiBzLmNoYXJDb2RlQXQoMCk9PT00NiYmYS5wdXNoKCIiKSxzLnJlcGxhY2Uoc3IsZnVuY3Rpb24odSxnLHksUyl7YS5wdXNoKHk/Uy5yZXBsYWNlKEJmLCIkMSIpOmd8fHUpfSksYX0pO2Z1bmN0aW9uIEhuKHMpe2lmKHR5cGVvZiBzPT0ic3RyaW5nInx8cm4ocykpcmV0dXJuIHM7dmFyIGE9cysiIjtyZXR1cm4gYT09IjAiJiYxL3M9PS1sZT8iLTAiOmF9ZnVuY3Rpb24gX3Mocyl7aWYocyE9bnVsbCl7dHJ5e3JldHVybiB5bC5jYWxsKHMpfWNhdGNoe310cnl7cmV0dXJuIHMrIiJ9Y2F0Y2h7fX1yZXR1cm4iIn1mdW5jdGlvbiBDJChzLGEpe3JldHVybiBwbihGZSxmdW5jdGlvbih1KXt2YXIgZz0iXy4iK3VbMF07YSZ1WzFdJiYhcGwocyxnKSYmcy5wdXNoKGcpfSkscy5zb3J0KCl9ZnVuY3Rpb24gTjIocyl7aWYocyBpbnN0YW5jZW9mIGR0KXJldHVybiBzLmNsb25lKCk7dmFyIGE9bmV3IG1uKHMuX193cmFwcGVkX18scy5fX2NoYWluX18pO3JldHVybiBhLl9fYWN0aW9uc19fPVZyKHMuX19hY3Rpb25zX18pLGEuX19pbmRleF9fPXMuX19pbmRleF9fLGEuX192YWx1ZXNfXz1zLl9fdmFsdWVzX18sYX1mdW5jdGlvbiBJJChzLGEsdSl7KHU/QnIocyxhLHUpOmE9PT1yKT9hPTE6YT1kcihpdChhKSwwKTt2YXIgZz1zPT1udWxsPzA6cy5sZW5ndGg7aWYoIWd8fGE8MSlyZXR1cm5bXTtmb3IodmFyIHk9MCxTPTAsTT10ZShPbChnL2EpKTt5PGc7KU1bUysrXT12bihzLHkseSs9YSk7cmV0dXJuIE19ZnVuY3Rpb24gTyQocyl7Zm9yKHZhciBhPS0xLHU9cz09bnVsbD8wOnMubGVuZ3RoLGc9MCx5PVtdOysrYTx1Oyl7dmFyIFM9c1thXTtTJiYoeVtnKytdPVMpfXJldHVybiB5fWZ1bmN0aW9uIEEkKCl7dmFyIHM9YXJndW1lbnRzLmxlbmd0aDtpZighcylyZXR1cm5bXTtmb3IodmFyIGE9dGUocy0xKSx1PWFyZ3VtZW50c1swXSxnPXM7Zy0tOylhW2ctMV09YXJndW1lbnRzW2ddO3JldHVybiBTaShRZSh1KT9Wcih1KTpbdV0sQ3IoYSwxKSl9dmFyIFMkPWN0KGZ1bmN0aW9uKHMsYSl7cmV0dXJuIFF0KHMpP1NhKHMsQ3IoYSwxLFF0LCEwKSk6W119KSxEJD1jdChmdW5jdGlvbihzLGEpe3ZhciB1PXluKGEpO3JldHVybiBRdCh1KSYmKHU9ciksUXQocyk/U2EocyxDcihhLDEsUXQsITApLHplKHUsMikpOltdfSksJCQ9Y3QoZnVuY3Rpb24ocyxhKXt2YXIgdT15bihhKTtyZXR1cm4gUXQodSkmJih1PXIpLFF0KHMpP1NhKHMsQ3IoYSwxLFF0LCEwKSxyLHUpOltdfSk7ZnVuY3Rpb24gUCQocyxhLHUpe3ZhciBnPXM9PW51bGw/MDpzLmxlbmd0aDtyZXR1cm4gZz8oYT11fHxhPT09cj8xOml0KGEpLHZuKHMsYTwwPzA6YSxnKSk6W119ZnVuY3Rpb24gVCQocyxhLHUpe3ZhciBnPXM9PW51bGw/MDpzLmxlbmd0aDtyZXR1cm4gZz8oYT11fHxhPT09cj8xOml0KGEpLGE9Zy1hLHZuKHMsMCxhPDA/MDphKSk6W119ZnVuY3Rpb24gUiQocyxhKXtyZXR1cm4gcyYmcy5sZW5ndGg/TWwocyx6ZShhLDMpLCEwLCEwKTpbXX1mdW5jdGlvbiBOJChzLGEpe3JldHVybiBzJiZzLmxlbmd0aD9NbChzLHplKGEsMyksITApOltdfWZ1bmN0aW9uIEwkKHMsYSx1LGcpe3ZhciB5PXM9PW51bGw/MDpzLmxlbmd0aDtyZXR1cm4geT8odSYmdHlwZW9mIHUhPSJudW1iZXIiJiZCcihzLGEsdSkmJih1PTAsZz15KSxBRChzLGEsdSxnKSk6W119ZnVuY3Rpb24gTDIocyxhLHUpe3ZhciBnPXM9PW51bGw/MDpzLmxlbmd0aDtpZighZylyZXR1cm4tMTt2YXIgeT11PT1udWxsPzA6aXQodSk7cmV0dXJuIHk8MCYmKHk9ZHIoZyt5LDApKSxnbChzLHplKGEsMykseSl9ZnVuY3Rpb24gTTIocyxhLHUpe3ZhciBnPXM9PW51bGw/MDpzLmxlbmd0aDtpZighZylyZXR1cm4tMTt2YXIgeT1nLTE7cmV0dXJuIHUhPT1yJiYoeT1pdCh1KSx5PXU8MD9kcihnK3ksMCk6QXIoeSxnLTEpKSxnbChzLHplKGEsMykseSwhMCl9ZnVuY3Rpb24gVTIocyl7dmFyIGE9cz09bnVsbD8wOnMubGVuZ3RoO3JldHVybiBhP0NyKHMsMSk6W119ZnVuY3Rpb24gTSQocyl7dmFyIGE9cz09bnVsbD8wOnMubGVuZ3RoO3JldHVybiBhP0NyKHMsbGUpOltdfWZ1bmN0aW9uIFUkKHMsYSl7dmFyIHU9cz09bnVsbD8wOnMubGVuZ3RoO3JldHVybiB1PyhhPWE9PT1yPzE6aXQoYSksQ3IocyxhKSk6W119ZnVuY3Rpb24gaiQocyl7Zm9yKHZhciBhPS0xLHU9cz09bnVsbD8wOnMubGVuZ3RoLGc9e307KythPHU7KXt2YXIgeT1zW2FdO2dbeVswXV09eVsxXX1yZXR1cm4gZ31mdW5jdGlvbiBqMihzKXtyZXR1cm4gcyYmcy5sZW5ndGg/c1swXTpyfWZ1bmN0aW9uIEYkKHMsYSx1KXt2YXIgZz1zPT1udWxsPzA6cy5sZW5ndGg7aWYoIWcpcmV0dXJuLTE7dmFyIHk9dT09bnVsbD8wOml0KHUpO3JldHVybiB5PDAmJih5PWRyKGcreSwwKSksb28ocyxhLHkpfWZ1bmN0aW9uIEIkKHMpe3ZhciBhPXM9PW51bGw/MDpzLmxlbmd0aDtyZXR1cm4gYT92bihzLDAsLTEpOltdfXZhciBrJD1jdChmdW5jdGlvbihzKXt2YXIgYT1VdChzLE4wKTtyZXR1cm4gYS5sZW5ndGgmJmFbMF09PT1zWzBdP0MwKGEpOltdfSksSCQ9Y3QoZnVuY3Rpb24ocyl7dmFyIGE9eW4ocyksdT1VdChzLE4wKTtyZXR1cm4gYT09PXluKHUpP2E9cjp1LnBvcCgpLHUubGVuZ3RoJiZ1WzBdPT09c1swXT9DMCh1LHplKGEsMikpOltdfSkseiQ9Y3QoZnVuY3Rpb24ocyl7dmFyIGE9eW4ocyksdT1VdChzLE4wKTtyZXR1cm4gYT10eXBlb2YgYT09ImZ1bmN0aW9uIj9hOnIsYSYmdS5wb3AoKSx1Lmxlbmd0aCYmdVswXT09PXNbMF0/QzAodSxyLGEpOltdfSk7ZnVuY3Rpb24gVyQocyxhKXtyZXR1cm4gcz09bnVsbD8iIjpCUy5jYWxsKHMsYSl9ZnVuY3Rpb24geW4ocyl7dmFyIGE9cz09bnVsbD8wOnMubGVuZ3RoO3JldHVybiBhP3NbYS0xXTpyfWZ1bmN0aW9uIHEkKHMsYSx1KXt2YXIgZz1zPT1udWxsPzA6cy5sZW5ndGg7aWYoIWcpcmV0dXJuLTE7dmFyIHk9ZztyZXR1cm4gdSE9PXImJih5PWl0KHUpLHk9eTwwP2RyKGcreSwwKTpBcih5LGctMSkpLGE9PT1hP0NTKHMsYSx5KTpnbChzLHZtLHksITApfWZ1bmN0aW9uIFYkKHMsYSl7cmV0dXJuIHMmJnMubGVuZ3RoP1ptKHMsaXQoYSkpOnJ9dmFyIEskPWN0KEYyKTtmdW5jdGlvbiBGMihzLGEpe3JldHVybiBzJiZzLmxlbmd0aCYmYSYmYS5sZW5ndGg/UzAocyxhKTpzfWZ1bmN0aW9uIEckKHMsYSx1KXtyZXR1cm4gcyYmcy5sZW5ndGgmJmEmJmEubGVuZ3RoP1MwKHMsYSx6ZSh1LDIpKTpzfWZ1bmN0aW9uIFokKHMsYSx1KXtyZXR1cm4gcyYmcy5sZW5ndGgmJmEmJmEubGVuZ3RoP1MwKHMsYSxyLHUpOnN9dmFyIFkkPWlpKGZ1bmN0aW9uKHMsYSl7dmFyIHU9cz09bnVsbD8wOnMubGVuZ3RoLGc9YjAocyxhKTtyZXR1cm4gWG0ocyxVdChhLGZ1bmN0aW9uKHkpe3JldHVybiBzaSh5LHUpPyt5Onl9KS5zb3J0KGMyKSksZ30pO2Z1bmN0aW9uIEokKHMsYSl7dmFyIHU9W107aWYoIShzJiZzLmxlbmd0aCkpcmV0dXJuIHU7dmFyIGc9LTEseT1bXSxTPXMubGVuZ3RoO2ZvcihhPXplKGEsMyk7KytnPFM7KXt2YXIgTT1zW2ddO2EoTSxnLHMpJiYodS5wdXNoKE0pLHkucHVzaChnKSl9cmV0dXJuIFhtKHMseSksdX1mdW5jdGlvbiBHMChzKXtyZXR1cm4gcz09bnVsbD9zOldTLmNhbGwocyl9ZnVuY3Rpb24gWCQocyxhLHUpe3ZhciBnPXM9PW51bGw/MDpzLmxlbmd0aDtyZXR1cm4gZz8odSYmdHlwZW9mIHUhPSJudW1iZXIiJiZCcihzLGEsdSk/KGE9MCx1PWcpOihhPWE9PW51bGw/MDppdChhKSx1PXU9PT1yP2c6aXQodSkpLHZuKHMsYSx1KSk6W119ZnVuY3Rpb24gUSQocyxhKXtyZXR1cm4gTGwocyxhKX1mdW5jdGlvbiBlUChzLGEsdSl7cmV0dXJuIFAwKHMsYSx6ZSh1LDIpKX1mdW5jdGlvbiB0UChzLGEpe3ZhciB1PXM9PW51bGw/MDpzLmxlbmd0aDtpZih1KXt2YXIgZz1MbChzLGEpO2lmKGc8dSYmQW4oc1tnXSxhKSlyZXR1cm4gZ31yZXR1cm4tMX1mdW5jdGlvbiByUChzLGEpe3JldHVybiBMbChzLGEsITApfWZ1bmN0aW9uIG5QKHMsYSx1KXtyZXR1cm4gUDAocyxhLHplKHUsMiksITApfWZ1bmN0aW9uIGlQKHMsYSl7dmFyIHU9cz09bnVsbD8wOnMubGVuZ3RoO2lmKHUpe3ZhciBnPUxsKHMsYSwhMCktMTtpZihBbihzW2ddLGEpKXJldHVybiBnfXJldHVybi0xfWZ1bmN0aW9uIHNQKHMpe3JldHVybiBzJiZzLmxlbmd0aD9lMihzKTpbXX1mdW5jdGlvbiBvUChzLGEpe3JldHVybiBzJiZzLmxlbmd0aD9lMihzLHplKGEsMikpOltdfWZ1bmN0aW9uIGFQKHMpe3ZhciBhPXM9PW51bGw/MDpzLmxlbmd0aDtyZXR1cm4gYT92bihzLDEsYSk6W119ZnVuY3Rpb24gY1AocyxhLHUpe3JldHVybiBzJiZzLmxlbmd0aD8oYT11fHxhPT09cj8xOml0KGEpLHZuKHMsMCxhPDA/MDphKSk6W119ZnVuY3Rpb24gbFAocyxhLHUpe3ZhciBnPXM9PW51bGw/MDpzLmxlbmd0aDtyZXR1cm4gZz8oYT11fHxhPT09cj8xOml0KGEpLGE9Zy1hLHZuKHMsYTwwPzA6YSxnKSk6W119ZnVuY3Rpb24gdVAocyxhKXtyZXR1cm4gcyYmcy5sZW5ndGg/TWwocyx6ZShhLDMpLCExLCEwKTpbXX1mdW5jdGlvbiBoUChzLGEpe3JldHVybiBzJiZzLmxlbmd0aD9NbChzLHplKGEsMykpOltdfXZhciBmUD1jdChmdW5jdGlvbihzKXtyZXR1cm4gVGkoQ3IocywxLFF0LCEwKSl9KSxkUD1jdChmdW5jdGlvbihzKXt2YXIgYT15bihzKTtyZXR1cm4gUXQoYSkmJihhPXIpLFRpKENyKHMsMSxRdCwhMCksemUoYSwyKSl9KSxwUD1jdChmdW5jdGlvbihzKXt2YXIgYT15bihzKTtyZXR1cm4gYT10eXBlb2YgYT09ImZ1bmN0aW9uIj9hOnIsVGkoQ3IocywxLFF0LCEwKSxyLGEpfSk7ZnVuY3Rpb24gZ1Aocyl7cmV0dXJuIHMmJnMubGVuZ3RoP1RpKHMpOltdfWZ1bmN0aW9uIG1QKHMsYSl7cmV0dXJuIHMmJnMubGVuZ3RoP1RpKHMsemUoYSwyKSk6W119ZnVuY3Rpb24gd1AocyxhKXtyZXR1cm4gYT10eXBlb2YgYT09ImZ1bmN0aW9uIj9hOnIscyYmcy5sZW5ndGg/VGkocyxyLGEpOltdfWZ1bmN0aW9uIFowKHMpe2lmKCEocyYmcy5sZW5ndGgpKXJldHVybltdO3ZhciBhPTA7cmV0dXJuIHM9QWkocyxmdW5jdGlvbih1KXtpZihRdCh1KSlyZXR1cm4gYT1kcih1Lmxlbmd0aCxhKSwhMH0pLGYwKGEsZnVuY3Rpb24odSl7cmV0dXJuIFV0KHMsbDAodSkpfSl9ZnVuY3Rpb24gQjIocyxhKXtpZighKHMmJnMubGVuZ3RoKSlyZXR1cm5bXTt2YXIgdT1aMChzKTtyZXR1cm4gYT09bnVsbD91OlV0KHUsZnVuY3Rpb24oZyl7cmV0dXJuIHZyKGEscixnKX0pfXZhciB2UD1jdChmdW5jdGlvbihzLGEpe3JldHVybiBRdChzKT9TYShzLGEpOltdfSkseVA9Y3QoZnVuY3Rpb24ocyl7cmV0dXJuIFIwKEFpKHMsUXQpKX0pLGJQPWN0KGZ1bmN0aW9uKHMpe3ZhciBhPXluKHMpO3JldHVybiBRdChhKSYmKGE9ciksUjAoQWkocyxRdCksemUoYSwyKSl9KSxfUD1jdChmdW5jdGlvbihzKXt2YXIgYT15bihzKTtyZXR1cm4gYT10eXBlb2YgYT09ImZ1bmN0aW9uIj9hOnIsUjAoQWkocyxRdCkscixhKX0pLEVQPWN0KFowKTtmdW5jdGlvbiB4UChzLGEpe3JldHVybiBpMihzfHxbXSxhfHxbXSxBYSl9ZnVuY3Rpb24gQ1AocyxhKXtyZXR1cm4gaTIoc3x8W10sYXx8W10sUGEpfXZhciBJUD1jdChmdW5jdGlvbihzKXt2YXIgYT1zLmxlbmd0aCx1PWE+MT9zW2EtMV06cjtyZXR1cm4gdT10eXBlb2YgdT09ImZ1bmN0aW9uIj8ocy5wb3AoKSx1KTpyLEIyKHMsdSl9KTtmdW5jdGlvbiBrMihzKXt2YXIgYT1DKHMpO3JldHVybiBhLl9fY2hhaW5fXz0hMCxhfWZ1bmN0aW9uIE9QKHMsYSl7cmV0dXJuIGEocyksc31mdW5jdGlvbiBxbChzLGEpe3JldHVybiBhKHMpfXZhciBBUD1paShmdW5jdGlvbihzKXt2YXIgYT1zLmxlbmd0aCx1PWE/c1swXTowLGc9dGhpcy5fX3dyYXBwZWRfXyx5PWZ1bmN0aW9uKFMpe3JldHVybiBiMChTLHMpfTtyZXR1cm4gYT4xfHx0aGlzLl9fYWN0aW9uc19fLmxlbmd0aHx8IShnIGluc3RhbmNlb2YgZHQpfHwhc2kodSk/dGhpcy50aHJ1KHkpOihnPWcuc2xpY2UodSwrdSsoYT8xOjApKSxnLl9fYWN0aW9uc19fLnB1c2goe2Z1bmM6cWwsYXJnczpbeV0sdGhpc0FyZzpyfSksbmV3IG1uKGcsdGhpcy5fX2NoYWluX18pLnRocnUoZnVuY3Rpb24oUyl7cmV0dXJuIGEmJiFTLmxlbmd0aCYmUy5wdXNoKHIpLFN9KSl9KTtmdW5jdGlvbiBTUCgpe3JldHVybiBrMih0aGlzKX1mdW5jdGlvbiBEUCgpe3JldHVybiBuZXcgbW4odGhpcy52YWx1ZSgpLHRoaXMuX19jaGFpbl9fKX1mdW5jdGlvbiAkUCgpe3RoaXMuX192YWx1ZXNfXz09PXImJih0aGlzLl9fdmFsdWVzX189dHcodGhpcy52YWx1ZSgpKSk7dmFyIHM9dGhpcy5fX2luZGV4X18+PXRoaXMuX192YWx1ZXNfXy5sZW5ndGgsYT1zP3I6dGhpcy5fX3ZhbHVlc19fW3RoaXMuX19pbmRleF9fKytdO3JldHVybntkb25lOnMsdmFsdWU6YX19ZnVuY3Rpb24gUFAoKXtyZXR1cm4gdGhpc31mdW5jdGlvbiBUUChzKXtmb3IodmFyIGEsdT10aGlzO3UgaW5zdGFuY2VvZiAkbDspe3ZhciBnPU4yKHUpO2cuX19pbmRleF9fPTAsZy5fX3ZhbHVlc19fPXIsYT95Ll9fd3JhcHBlZF9fPWc6YT1nO3ZhciB5PWc7dT11Ll9fd3JhcHBlZF9ffXJldHVybiB5Ll9fd3JhcHBlZF9fPXMsYX1mdW5jdGlvbiBSUCgpe3ZhciBzPXRoaXMuX193cmFwcGVkX187aWYocyBpbnN0YW5jZW9mIGR0KXt2YXIgYT1zO3JldHVybiB0aGlzLl9fYWN0aW9uc19fLmxlbmd0aCYmKGE9bmV3IGR0KHRoaXMpKSxhPWEucmV2ZXJzZSgpLGEuX19hY3Rpb25zX18ucHVzaCh7ZnVuYzpxbCxhcmdzOltHMF0sdGhpc0FyZzpyfSksbmV3IG1uKGEsdGhpcy5fX2NoYWluX18pfXJldHVybiB0aGlzLnRocnUoRzApfWZ1bmN0aW9uIE5QKCl7cmV0dXJuIG4yKHRoaXMuX193cmFwcGVkX18sdGhpcy5fX2FjdGlvbnNfXyl9dmFyIExQPVVsKGZ1bmN0aW9uKHMsYSx1KXtidC5jYWxsKHMsdSk/KytzW3VdOnJpKHMsdSwxKX0pO2Z1bmN0aW9uIE1QKHMsYSx1KXt2YXIgZz1RZShzKT9tbTpPRDtyZXR1cm4gdSYmQnIocyxhLHUpJiYoYT1yKSxnKHMsemUoYSwzKSl9ZnVuY3Rpb24gVVAocyxhKXt2YXIgdT1RZShzKT9BaTpCbTtyZXR1cm4gdShzLHplKGEsMykpfXZhciBqUD1wMihMMiksRlA9cDIoTTIpO2Z1bmN0aW9uIEJQKHMsYSl7cmV0dXJuIENyKFZsKHMsYSksMSl9ZnVuY3Rpb24ga1AocyxhKXtyZXR1cm4gQ3IoVmwocyxhKSxsZSl9ZnVuY3Rpb24gSFAocyxhLHUpe3JldHVybiB1PXU9PT1yPzE6aXQodSksQ3IoVmwocyxhKSx1KX1mdW5jdGlvbiBIMihzLGEpe3ZhciB1PVFlKHMpP3BuOlBpO3JldHVybiB1KHMsemUoYSwzKSl9ZnVuY3Rpb24gejIocyxhKXt2YXIgdT1RZShzKT9hUzpGbTtyZXR1cm4gdShzLHplKGEsMykpfXZhciB6UD1VbChmdW5jdGlvbihzLGEsdSl7YnQuY2FsbChzLHUpP3NbdV0ucHVzaChhKTpyaShzLHUsW2FdKX0pO2Z1bmN0aW9uIFdQKHMsYSx1LGcpe3M9S3Iocyk/czp5byhzKSx1PXUmJiFnP2l0KHUpOjA7dmFyIHk9cy5sZW5ndGg7cmV0dXJuIHU8MCYmKHU9ZHIoeSt1LDApKSxKbChzKT91PD15JiZzLmluZGV4T2YoYSx1KT4tMTohIXkmJm9vKHMsYSx1KT4tMX12YXIgcVA9Y3QoZnVuY3Rpb24ocyxhLHUpe3ZhciBnPS0xLHk9dHlwZW9mIGE9PSJmdW5jdGlvbiIsUz1LcihzKT90ZShzLmxlbmd0aCk6W107cmV0dXJuIFBpKHMsZnVuY3Rpb24oTSl7U1srK2ddPXk/dnIoYSxNLHUpOkRhKE0sYSx1KX0pLFN9KSxWUD1VbChmdW5jdGlvbihzLGEsdSl7cmkocyx1LGEpfSk7ZnVuY3Rpb24gVmwocyxhKXt2YXIgdT1RZShzKT9VdDpWbTtyZXR1cm4gdShzLHplKGEsMykpfWZ1bmN0aW9uIEtQKHMsYSx1LGcpe3JldHVybiBzPT1udWxsP1tdOihRZShhKXx8KGE9YT09bnVsbD9bXTpbYV0pLHU9Zz9yOnUsUWUodSl8fCh1PXU9PW51bGw/W106W3VdKSxZbShzLGEsdSkpfXZhciBHUD1VbChmdW5jdGlvbihzLGEsdSl7c1t1PzA6MV0ucHVzaChhKX0sZnVuY3Rpb24oKXtyZXR1cm5bW10sW11dfSk7ZnVuY3Rpb24gWlAocyxhLHUpe3ZhciBnPVFlKHMpP2EwOmJtLHk9YXJndW1lbnRzLmxlbmd0aDwzO3JldHVybiBnKHMsemUoYSw0KSx1LHksUGkpfWZ1bmN0aW9uIFlQKHMsYSx1KXt2YXIgZz1RZShzKT9jUzpibSx5PWFyZ3VtZW50cy5sZW5ndGg8MztyZXR1cm4gZyhzLHplKGEsNCksdSx5LEZtKX1mdW5jdGlvbiBKUChzLGEpe3ZhciB1PVFlKHMpP0FpOkJtO3JldHVybiB1KHMsWmwoemUoYSwzKSkpfWZ1bmN0aW9uIFhQKHMpe3ZhciBhPVFlKHMpP0xtOldEO3JldHVybiBhKHMpfWZ1bmN0aW9uIFFQKHMsYSx1KXsodT9CcihzLGEsdSk6YT09PXIpP2E9MTphPWl0KGEpO3ZhciBnPVFlKHMpP19EOnFEO3JldHVybiBnKHMsYSl9ZnVuY3Rpb24gZVQocyl7dmFyIGE9UWUocyk/RUQ6S0Q7cmV0dXJuIGEocyl9ZnVuY3Rpb24gdFQocyl7aWYocz09bnVsbClyZXR1cm4gMDtpZihLcihzKSlyZXR1cm4gSmwocyk/Y28ocyk6cy5sZW5ndGg7dmFyIGE9U3Iocyk7cmV0dXJuIGE9PU1lfHxhPT1IZT9zLnNpemU6TzAocykubGVuZ3RofWZ1bmN0aW9uIHJUKHMsYSx1KXt2YXIgZz1RZShzKT9jMDpHRDtyZXR1cm4gdSYmQnIocyxhLHUpJiYoYT1yKSxnKHMsemUoYSwzKSl9dmFyIG5UPWN0KGZ1bmN0aW9uKHMsYSl7aWYocz09bnVsbClyZXR1cm5bXTt2YXIgdT1hLmxlbmd0aDtyZXR1cm4gdT4xJiZCcihzLGFbMF0sYVsxXSk/YT1bXTp1PjImJkJyKGFbMF0sYVsxXSxhWzJdKSYmKGE9W2FbMF1dKSxZbShzLENyKGEsMSksW10pfSksS2w9VVN8fGZ1bmN0aW9uKCl7cmV0dXJuIG10LkRhdGUubm93KCl9O2Z1bmN0aW9uIGlUKHMsYSl7aWYodHlwZW9mIGEhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IGduKGMpO3JldHVybiBzPWl0KHMpLGZ1bmN0aW9uKCl7aWYoLS1zPDEpcmV0dXJuIGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiBXMihzLGEsdSl7cmV0dXJuIGE9dT9yOmEsYT1zJiZhPT1udWxsP3MubGVuZ3RoOmEsbmkocyxmLHIscixyLHIsYSl9ZnVuY3Rpb24gcTIocyxhKXt2YXIgdTtpZih0eXBlb2YgYSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgZ24oYyk7cmV0dXJuIHM9aXQocyksZnVuY3Rpb24oKXtyZXR1cm4tLXM+MCYmKHU9YS5hcHBseSh0aGlzLGFyZ3VtZW50cykpLHM8PTEmJihhPXIpLHV9fXZhciBZMD1jdChmdW5jdGlvbihzLGEsdSl7dmFyIGc9SDtpZih1Lmxlbmd0aCl7dmFyIHk9RGkodSx3byhZMCkpO2d8PVR9cmV0dXJuIG5pKHMsZyxhLHUseSl9KSxWMj1jdChmdW5jdGlvbihzLGEsdSl7dmFyIGc9SHxHO2lmKHUubGVuZ3RoKXt2YXIgeT1EaSh1LHdvKFYyKSk7Z3w9VH1yZXR1cm4gbmkoYSxnLHMsdSx5KX0pO2Z1bmN0aW9uIEsyKHMsYSx1KXthPXU/cjphO3ZhciBnPW5pKHMsTCxyLHIscixyLHIsYSk7cmV0dXJuIGcucGxhY2Vob2xkZXI9SzIucGxhY2Vob2xkZXIsZ31mdW5jdGlvbiBHMihzLGEsdSl7YT11P3I6YTt2YXIgZz1uaShzLCQscixyLHIscixyLGEpO3JldHVybiBnLnBsYWNlaG9sZGVyPUcyLnBsYWNlaG9sZGVyLGd9ZnVuY3Rpb24gWjIocyxhLHUpe3ZhciBnLHksUyxNLGssWix1ZT0wLGhlPSExLHBlPSExLGJlPSEwO2lmKHR5cGVvZiBzIT0iZnVuY3Rpb24iKXRocm93IG5ldyBnbihjKTthPWJuKGEpfHwwLEJ0KHUpJiYoaGU9ISF1LmxlYWRpbmcscGU9Im1heFdhaXQiaW4gdSxTPXBlP2RyKGJuKHUubWF4V2FpdCl8fDAsYSk6UyxiZT0idHJhaWxpbmciaW4gdT8hIXUudHJhaWxpbmc6YmUpO2Z1bmN0aW9uIFBlKGVyKXt2YXIgU249ZyxjaT15O3JldHVybiBnPXk9cix1ZT1lcixNPXMuYXBwbHkoY2ksU24pLE19ZnVuY3Rpb24gV2UoZXIpe3JldHVybiB1ZT1lcixrPU5hKGZ0LGEpLGhlP1BlKGVyKTpNfWZ1bmN0aW9uIG90KGVyKXt2YXIgU249ZXItWixjaT1lci11ZSxwdz1hLVNuO3JldHVybiBwZT9BcihwdyxTLWNpKTpwd31mdW5jdGlvbiBxZShlcil7dmFyIFNuPWVyLVosY2k9ZXItdWU7cmV0dXJuIFo9PT1yfHxTbj49YXx8U248MHx8cGUmJmNpPj1TfWZ1bmN0aW9uIGZ0KCl7dmFyIGVyPUtsKCk7aWYocWUoZXIpKXJldHVybiB3dChlcik7az1OYShmdCxvdChlcikpfWZ1bmN0aW9uIHd0KGVyKXtyZXR1cm4gaz1yLGJlJiZnP1BlKGVyKTooZz15PXIsTSl9ZnVuY3Rpb24gbm4oKXtrIT09ciYmczIoayksdWU9MCxnPVo9eT1rPXJ9ZnVuY3Rpb24ga3IoKXtyZXR1cm4gaz09PXI/TTp3dChLbCgpKX1mdW5jdGlvbiBzbigpe3ZhciBlcj1LbCgpLFNuPXFlKGVyKTtpZihnPWFyZ3VtZW50cyx5PXRoaXMsWj1lcixTbil7aWYoaz09PXIpcmV0dXJuIFdlKFopO2lmKHBlKXJldHVybiBzMihrKSxrPU5hKGZ0LGEpLFBlKFopfXJldHVybiBrPT09ciYmKGs9TmEoZnQsYSkpLE19cmV0dXJuIHNuLmNhbmNlbD1ubixzbi5mbHVzaD1rcixzbn12YXIgc1Q9Y3QoZnVuY3Rpb24ocyxhKXtyZXR1cm4gam0ocywxLGEpfSksb1Q9Y3QoZnVuY3Rpb24ocyxhLHUpe3JldHVybiBqbShzLGJuKGEpfHwwLHUpfSk7ZnVuY3Rpb24gYVQocyl7cmV0dXJuIG5pKHMsSil9ZnVuY3Rpb24gR2wocyxhKXtpZih0eXBlb2YgcyE9ImZ1bmN0aW9uInx8YSE9bnVsbCYmdHlwZW9mIGEhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IGduKGMpO3ZhciB1PWZ1bmN0aW9uKCl7dmFyIGc9YXJndW1lbnRzLHk9YT9hLmFwcGx5KHRoaXMsZyk6Z1swXSxTPXUuY2FjaGU7aWYoUy5oYXMoeSkpcmV0dXJuIFMuZ2V0KHkpO3ZhciBNPXMuYXBwbHkodGhpcyxnKTtyZXR1cm4gdS5jYWNoZT1TLnNldCh5LE0pfHxTLE19O3JldHVybiB1LmNhY2hlPW5ldyhHbC5DYWNoZXx8dGkpLHV9R2wuQ2FjaGU9dGk7ZnVuY3Rpb24gWmwocyl7aWYodHlwZW9mIHMhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IGduKGMpO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cztzd2l0Y2goYS5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4hcy5jYWxsKHRoaXMpO2Nhc2UgMTpyZXR1cm4hcy5jYWxsKHRoaXMsYVswXSk7Y2FzZSAyOnJldHVybiFzLmNhbGwodGhpcyxhWzBdLGFbMV0pO2Nhc2UgMzpyZXR1cm4hcy5jYWxsKHRoaXMsYVswXSxhWzFdLGFbMl0pfXJldHVybiFzLmFwcGx5KHRoaXMsYSl9fWZ1bmN0aW9uIGNUKHMpe3JldHVybiBxMigyLHMpfXZhciBsVD1aRChmdW5jdGlvbihzLGEpe2E9YS5sZW5ndGg9PTEmJlFlKGFbMF0pP1V0KGFbMF0sZW4oemUoKSkpOlV0KENyKGEsMSksZW4oemUoKSkpO3ZhciB1PWEubGVuZ3RoO3JldHVybiBjdChmdW5jdGlvbihnKXtmb3IodmFyIHk9LTEsUz1BcihnLmxlbmd0aCx1KTsrK3k8UzspZ1t5XT1hW3ldLmNhbGwodGhpcyxnW3ldKTtyZXR1cm4gdnIocyx0aGlzLGcpfSl9KSxKMD1jdChmdW5jdGlvbihzLGEpe3ZhciB1PURpKGEsd28oSjApKTtyZXR1cm4gbmkocyxULHIsYSx1KX0pLFkyPWN0KGZ1bmN0aW9uKHMsYSl7dmFyIHU9RGkoYSx3byhZMikpO3JldHVybiBuaShzLEkscixhLHUpfSksdVQ9aWkoZnVuY3Rpb24ocyxhKXtyZXR1cm4gbmkocyx4LHIscixyLGEpfSk7ZnVuY3Rpb24gaFQocyxhKXtpZih0eXBlb2YgcyE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgZ24oYyk7cmV0dXJuIGE9YT09PXI/YTppdChhKSxjdChzLGEpfWZ1bmN0aW9uIGZUKHMsYSl7aWYodHlwZW9mIHMhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IGduKGMpO3JldHVybiBhPWE9PW51bGw/MDpkcihpdChhKSwwKSxjdChmdW5jdGlvbih1KXt2YXIgZz11W2FdLHk9TmkodSwwLGEpO3JldHVybiBnJiZTaSh5LGcpLHZyKHMsdGhpcyx5KX0pfWZ1bmN0aW9uIGRUKHMsYSx1KXt2YXIgZz0hMCx5PSEwO2lmKHR5cGVvZiBzIT0iZnVuY3Rpb24iKXRocm93IG5ldyBnbihjKTtyZXR1cm4gQnQodSkmJihnPSJsZWFkaW5nImluIHU/ISF1LmxlYWRpbmc6Zyx5PSJ0cmFpbGluZyJpbiB1PyEhdS50cmFpbGluZzp5KSxaMihzLGEse2xlYWRpbmc6ZyxtYXhXYWl0OmEsdHJhaWxpbmc6eX0pfWZ1bmN0aW9uIHBUKHMpe3JldHVybiBXMihzLDEpfWZ1bmN0aW9uIGdUKHMsYSl7cmV0dXJuIEowKEwwKGEpLHMpfWZ1bmN0aW9uIG1UKCl7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuW107dmFyIHM9YXJndW1lbnRzWzBdO3JldHVybiBRZShzKT9zOltzXX1mdW5jdGlvbiB3VChzKXtyZXR1cm4gd24ocyxBKX1mdW5jdGlvbiB2VChzLGEpe3JldHVybiBhPXR5cGVvZiBhPT0iZnVuY3Rpb24iP2E6cix3bihzLEEsYSl9ZnVuY3Rpb24geVQocyl7cmV0dXJuIHduKHMsRXxBKX1mdW5jdGlvbiBiVChzLGEpe3JldHVybiBhPXR5cGVvZiBhPT0iZnVuY3Rpb24iP2E6cix3bihzLEV8QSxhKX1mdW5jdGlvbiBfVChzLGEpe3JldHVybiBhPT1udWxsfHxVbShzLGEseXIoYSkpfWZ1bmN0aW9uIEFuKHMsYSl7cmV0dXJuIHM9PT1hfHxzIT09cyYmYSE9PWF9dmFyIEVUPWtsKHgwKSx4VD1rbChmdW5jdGlvbihzLGEpe3JldHVybiBzPj1hfSksRXM9em0oZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzfSgpKT96bTpmdW5jdGlvbihzKXtyZXR1cm4gR3QocykmJmJ0LmNhbGwocywiY2FsbGVlIikmJiFEbS5jYWxsKHMsImNhbGxlZSIpfSxRZT10ZS5pc0FycmF5LENUPWpyP2VuKGpyKTpURDtmdW5jdGlvbiBLcihzKXtyZXR1cm4gcyE9bnVsbCYmWWwocy5sZW5ndGgpJiYhb2kocyl9ZnVuY3Rpb24gUXQocyl7cmV0dXJuIEd0KHMpJiZLcihzKX1mdW5jdGlvbiBJVChzKXtyZXR1cm4gcz09PSEwfHxzPT09ITF8fEd0KHMpJiZGcihzKT09WX12YXIgTGk9RlN8fGNkLE9UPUNuP2VuKENuKTpSRDtmdW5jdGlvbiBBVChzKXtyZXR1cm4gR3QocykmJnMubm9kZVR5cGU9PT0xJiYhTGEocyl9ZnVuY3Rpb24gU1Qocyl7aWYocz09bnVsbClyZXR1cm4hMDtpZihLcihzKSYmKFFlKHMpfHx0eXBlb2Ygcz09InN0cmluZyJ8fHR5cGVvZiBzLnNwbGljZT09ImZ1bmN0aW9uInx8TGkocyl8fHZvKHMpfHxFcyhzKSkpcmV0dXJuIXMubGVuZ3RoO3ZhciBhPVNyKHMpO2lmKGE9PU1lfHxhPT1IZSlyZXR1cm4hcy5zaXplO2lmKFJhKHMpKXJldHVybiFPMChzKS5sZW5ndGg7Zm9yKHZhciB1IGluIHMpaWYoYnQuY2FsbChzLHUpKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIERUKHMsYSl7cmV0dXJuICRhKHMsYSl9ZnVuY3Rpb24gJFQocyxhLHUpe3U9dHlwZW9mIHU9PSJmdW5jdGlvbiI/dTpyO3ZhciBnPXU/dShzLGEpOnI7cmV0dXJuIGc9PT1yPyRhKHMsYSxyLHUpOiEhZ31mdW5jdGlvbiBYMChzKXtpZighR3QocykpcmV0dXJuITE7dmFyIGE9RnIocyk7cmV0dXJuIGE9PUZ8fGE9PXd8fHR5cGVvZiBzLm1lc3NhZ2U9PSJzdHJpbmciJiZ0eXBlb2Ygcy5uYW1lPT0ic3RyaW5nIiYmIUxhKHMpfWZ1bmN0aW9uIFBUKHMpe3JldHVybiB0eXBlb2Ygcz09Im51bWJlciImJlBtKHMpfWZ1bmN0aW9uIG9pKHMpe2lmKCFCdChzKSlyZXR1cm4hMTt2YXIgYT1GcihzKTtyZXR1cm4gYT09d2V8fGE9PXZlfHxhPT1YfHxhPT0kdH1mdW5jdGlvbiBKMihzKXtyZXR1cm4gdHlwZW9mIHM9PSJudW1iZXIiJiZzPT1pdChzKX1mdW5jdGlvbiBZbChzKXtyZXR1cm4gdHlwZW9mIHM9PSJudW1iZXIiJiZzPi0xJiZzJTE9PTAmJnM8PXJlfWZ1bmN0aW9uIEJ0KHMpe3ZhciBhPXR5cGVvZiBzO3JldHVybiBzIT1udWxsJiYoYT09Im9iamVjdCJ8fGE9PSJmdW5jdGlvbiIpfWZ1bmN0aW9uIEd0KHMpe3JldHVybiBzIT1udWxsJiZ0eXBlb2Ygcz09Im9iamVjdCJ9dmFyIFgyPWRuP2VuKGRuKTpMRDtmdW5jdGlvbiBUVChzLGEpe3JldHVybiBzPT09YXx8STAocyxhLEgwKGEpKX1mdW5jdGlvbiBSVChzLGEsdSl7cmV0dXJuIHU9dHlwZW9mIHU9PSJmdW5jdGlvbiI/dTpyLEkwKHMsYSxIMChhKSx1KX1mdW5jdGlvbiBOVChzKXtyZXR1cm4gUTIocykmJnMhPStzfWZ1bmN0aW9uIExUKHMpe2lmKHYkKHMpKXRocm93IG5ldyBZZShvKTtyZXR1cm4gV20ocyl9ZnVuY3Rpb24gTVQocyl7cmV0dXJuIHM9PT1udWxsfWZ1bmN0aW9uIFVUKHMpe3JldHVybiBzPT1udWxsfWZ1bmN0aW9uIFEyKHMpe3JldHVybiB0eXBlb2Ygcz09Im51bWJlciJ8fEd0KHMpJiZGcihzKT09bnR9ZnVuY3Rpb24gTGEocyl7aWYoIUd0KHMpfHxGcihzKSE9R2UpcmV0dXJuITE7dmFyIGE9eGwocyk7aWYoYT09PW51bGwpcmV0dXJuITA7dmFyIHU9YnQuY2FsbChhLCJjb25zdHJ1Y3RvciIpJiZhLmNvbnN0cnVjdG9yO3JldHVybiB0eXBlb2YgdT09ImZ1bmN0aW9uIiYmdSBpbnN0YW5jZW9mIHUmJnlsLmNhbGwodSk9PVJTfXZhciBRMD1Gbj9lbihGbik6TUQ7ZnVuY3Rpb24galQocyl7cmV0dXJuIEoyKHMpJiZzPj0tcmUmJnM8PXJlfXZhciBldz1iYT9lbihiYSk6VUQ7ZnVuY3Rpb24gSmwocyl7cmV0dXJuIHR5cGVvZiBzPT0ic3RyaW5nInx8IVFlKHMpJiZHdChzKSYmRnIocyk9PUJlfWZ1bmN0aW9uIHJuKHMpe3JldHVybiB0eXBlb2Ygcz09InN5bWJvbCJ8fEd0KHMpJiZGcihzKT09S2V9dmFyIHZvPXBzP2VuKHBzKTpqRDtmdW5jdGlvbiBGVChzKXtyZXR1cm4gcz09PXJ9ZnVuY3Rpb24gQlQocyl7cmV0dXJuIEd0KHMpJiZTcihzKT09VWV9ZnVuY3Rpb24ga1Qocyl7cmV0dXJuIEd0KHMpJiZGcihzKT09WmV9dmFyIEhUPWtsKEEwKSx6VD1rbChmdW5jdGlvbihzLGEpe3JldHVybiBzPD1hfSk7ZnVuY3Rpb24gdHcocyl7aWYoIXMpcmV0dXJuW107aWYoS3IocykpcmV0dXJuIEpsKHMpP0luKHMpOlZyKHMpO2lmKEVhJiZzW0VhXSlyZXR1cm4gX1Moc1tFYV0oKSk7dmFyIGE9U3IocyksdT1hPT1NZT9wMDphPT1IZT9tbDp5bztyZXR1cm4gdShzKX1mdW5jdGlvbiBhaShzKXtpZighcylyZXR1cm4gcz09PTA/czowO2lmKHM9Ym4ocykscz09PWxlfHxzPT09LWxlKXt2YXIgYT1zPDA/LTE6MTtyZXR1cm4gYSpuZX1yZXR1cm4gcz09PXM/czowfWZ1bmN0aW9uIGl0KHMpe3ZhciBhPWFpKHMpLHU9YSUxO3JldHVybiBhPT09YT91P2EtdTphOjB9ZnVuY3Rpb24gcncocyl7cmV0dXJuIHM/dnMoaXQocyksMCxpZSk6MH1mdW5jdGlvbiBibihzKXtpZih0eXBlb2Ygcz09Im51bWJlciIpcmV0dXJuIHM7aWYocm4ocykpcmV0dXJuIGFlO2lmKEJ0KHMpKXt2YXIgYT10eXBlb2Ygcy52YWx1ZU9mPT0iZnVuY3Rpb24iP3MudmFsdWVPZigpOnM7cz1CdChhKT9hKyIiOmF9aWYodHlwZW9mIHMhPSJzdHJpbmciKXJldHVybiBzPT09MD9zOitzO3M9X20ocyk7dmFyIHU9emYudGVzdChzKTtyZXR1cm4gdXx8cWYudGVzdChzKT9YZShzLnNsaWNlKDIpLHU/Mjo4KTpIZi50ZXN0KHMpP2FlOitzfWZ1bmN0aW9uIG53KHMpe3JldHVybiBrbihzLEdyKHMpKX1mdW5jdGlvbiBXVChzKXtyZXR1cm4gcz92cyhpdChzKSwtcmUscmUpOnM9PT0wP3M6MH1mdW5jdGlvbiB5dChzKXtyZXR1cm4gcz09bnVsbD8iIjp0bihzKX12YXIgcVQ9Z28oZnVuY3Rpb24ocyxhKXtpZihSYShhKXx8S3IoYSkpe2tuKGEseXIoYSkscyk7cmV0dXJufWZvcih2YXIgdSBpbiBhKWJ0LmNhbGwoYSx1KSYmQWEocyx1LGFbdV0pfSksaXc9Z28oZnVuY3Rpb24ocyxhKXtrbihhLEdyKGEpLHMpfSksWGw9Z28oZnVuY3Rpb24ocyxhLHUsZyl7a24oYSxHcihhKSxzLGcpfSksVlQ9Z28oZnVuY3Rpb24ocyxhLHUsZyl7a24oYSx5cihhKSxzLGcpfSksS1Q9aWkoYjApO2Z1bmN0aW9uIEdUKHMsYSl7dmFyIHU9cG8ocyk7cmV0dXJuIGE9PW51bGw/dTpNbSh1LGEpfXZhciBaVD1jdChmdW5jdGlvbihzLGEpe3M9QXQocyk7dmFyIHU9LTEsZz1hLmxlbmd0aCx5PWc+Mj9hWzJdOnI7Zm9yKHkmJkJyKGFbMF0sYVsxXSx5KSYmKGc9MSk7Kyt1PGc7KWZvcih2YXIgUz1hW3VdLE09R3IoUyksaz0tMSxaPU0ubGVuZ3RoOysrazxaOyl7dmFyIHVlPU1ba10saGU9c1t1ZV07KGhlPT09cnx8QW4oaGUsdW9bdWVdKSYmIWJ0LmNhbGwocyx1ZSkpJiYoc1t1ZV09U1t1ZV0pfXJldHVybiBzfSksWVQ9Y3QoZnVuY3Rpb24ocyl7cmV0dXJuIHMucHVzaChyLF8yKSx2cihzdyxyLHMpfSk7ZnVuY3Rpb24gSlQocyxhKXtyZXR1cm4gd20ocyx6ZShhLDMpLEJuKX1mdW5jdGlvbiBYVChzLGEpe3JldHVybiB3bShzLHplKGEsMyksRTApfWZ1bmN0aW9uIFFUKHMsYSl7cmV0dXJuIHM9PW51bGw/czpfMChzLHplKGEsMyksR3IpfWZ1bmN0aW9uIGVSKHMsYSl7cmV0dXJuIHM9PW51bGw/czprbShzLHplKGEsMyksR3IpfWZ1bmN0aW9uIHRSKHMsYSl7cmV0dXJuIHMmJkJuKHMsemUoYSwzKSl9ZnVuY3Rpb24gclIocyxhKXtyZXR1cm4gcyYmRTAocyx6ZShhLDMpKX1mdW5jdGlvbiBuUihzKXtyZXR1cm4gcz09bnVsbD9bXTpSbChzLHlyKHMpKX1mdW5jdGlvbiBpUihzKXtyZXR1cm4gcz09bnVsbD9bXTpSbChzLEdyKHMpKX1mdW5jdGlvbiBlZChzLGEsdSl7dmFyIGc9cz09bnVsbD9yOnlzKHMsYSk7cmV0dXJuIGc9PT1yP3U6Z31mdW5jdGlvbiBzUihzLGEpe3JldHVybiBzIT1udWxsJiZDMihzLGEsU0QpfWZ1bmN0aW9uIHRkKHMsYSl7cmV0dXJuIHMhPW51bGwmJkMyKHMsYSxERCl9dmFyIG9SPW0yKGZ1bmN0aW9uKHMsYSx1KXthIT1udWxsJiZ0eXBlb2YgYS50b1N0cmluZyE9ImZ1bmN0aW9uIiYmKGE9YmwuY2FsbChhKSksc1thXT11fSxuZChacikpLGFSPW0yKGZ1bmN0aW9uKHMsYSx1KXthIT1udWxsJiZ0eXBlb2YgYS50b1N0cmluZyE9ImZ1bmN0aW9uIiYmKGE9YmwuY2FsbChhKSksYnQuY2FsbChzLGEpP3NbYV0ucHVzaCh1KTpzW2FdPVt1XX0semUpLGNSPWN0KERhKTtmdW5jdGlvbiB5cihzKXtyZXR1cm4gS3Iocyk/Tm0ocyk6TzAocyl9ZnVuY3Rpb24gR3Iocyl7cmV0dXJuIEtyKHMpP05tKHMsITApOkZEKHMpfWZ1bmN0aW9uIGxSKHMsYSl7dmFyIHU9e307cmV0dXJuIGE9emUoYSwzKSxCbihzLGZ1bmN0aW9uKGcseSxTKXtyaSh1LGEoZyx5LFMpLGcpfSksdX1mdW5jdGlvbiB1UihzLGEpe3ZhciB1PXt9O3JldHVybiBhPXplKGEsMyksQm4ocyxmdW5jdGlvbihnLHksUyl7cmkodSx5LGEoZyx5LFMpKX0pLHV9dmFyIGhSPWdvKGZ1bmN0aW9uKHMsYSx1KXtObChzLGEsdSl9KSxzdz1nbyhmdW5jdGlvbihzLGEsdSxnKXtObChzLGEsdSxnKX0pLGZSPWlpKGZ1bmN0aW9uKHMsYSl7dmFyIHU9e307aWYocz09bnVsbClyZXR1cm4gdTt2YXIgZz0hMTthPVV0KGEsZnVuY3Rpb24oUyl7cmV0dXJuIFM9UmkoUyxzKSxnfHwoZz1TLmxlbmd0aD4xKSxTfSksa24ocyxCMChzKSx1KSxnJiYodT13bih1LEV8X3xBLG8kKSk7Zm9yKHZhciB5PWEubGVuZ3RoO3ktLTspVDAodSxhW3ldKTtyZXR1cm4gdX0pO2Z1bmN0aW9uIGRSKHMsYSl7cmV0dXJuIG93KHMsWmwoemUoYSkpKX12YXIgcFI9aWkoZnVuY3Rpb24ocyxhKXtyZXR1cm4gcz09bnVsbD97fTprRChzLGEpfSk7ZnVuY3Rpb24gb3cocyxhKXtpZihzPT1udWxsKXJldHVybnt9O3ZhciB1PVV0KEIwKHMpLGZ1bmN0aW9uKGcpe3JldHVybltnXX0pO3JldHVybiBhPXplKGEpLEptKHMsdSxmdW5jdGlvbihnLHkpe3JldHVybiBhKGcseVswXSl9KX1mdW5jdGlvbiBnUihzLGEsdSl7YT1SaShhLHMpO3ZhciBnPS0xLHk9YS5sZW5ndGg7Zm9yKHl8fCh5PTEscz1yKTsrK2c8eTspe3ZhciBTPXM9PW51bGw/cjpzW0huKGFbZ10pXTtTPT09ciYmKGc9eSxTPXUpLHM9b2koUyk/Uy5jYWxsKHMpOlN9cmV0dXJuIHN9ZnVuY3Rpb24gbVIocyxhLHUpe3JldHVybiBzPT1udWxsP3M6UGEocyxhLHUpfWZ1bmN0aW9uIHdSKHMsYSx1LGcpe3JldHVybiBnPXR5cGVvZiBnPT0iZnVuY3Rpb24iP2c6cixzPT1udWxsP3M6UGEocyxhLHUsZyl9dmFyIGF3PXkyKHlyKSxjdz15MihHcik7ZnVuY3Rpb24gdlIocyxhLHUpe3ZhciBnPVFlKHMpLHk9Z3x8TGkocyl8fHZvKHMpO2lmKGE9emUoYSw0KSx1PT1udWxsKXt2YXIgUz1zJiZzLmNvbnN0cnVjdG9yO3k/dT1nP25ldyBTOltdOkJ0KHMpP3U9b2koUyk/cG8oeGwocykpOnt9OnU9e319cmV0dXJuKHk/cG46Qm4pKHMsZnVuY3Rpb24oTSxrLFope3JldHVybiBhKHUsTSxrLFopfSksdX1mdW5jdGlvbiB5UihzLGEpe3JldHVybiBzPT1udWxsPyEwOlQwKHMsYSl9ZnVuY3Rpb24gYlIocyxhLHUpe3JldHVybiBzPT1udWxsP3M6cjIocyxhLEwwKHUpKX1mdW5jdGlvbiBfUihzLGEsdSxnKXtyZXR1cm4gZz10eXBlb2YgZz09ImZ1bmN0aW9uIj9nOnIscz09bnVsbD9zOnIyKHMsYSxMMCh1KSxnKX1mdW5jdGlvbiB5byhzKXtyZXR1cm4gcz09bnVsbD9bXTpkMChzLHlyKHMpKX1mdW5jdGlvbiBFUihzKXtyZXR1cm4gcz09bnVsbD9bXTpkMChzLEdyKHMpKX1mdW5jdGlvbiB4UihzLGEsdSl7cmV0dXJuIHU9PT1yJiYodT1hLGE9ciksdSE9PXImJih1PWJuKHUpLHU9dT09PXU/dTowKSxhIT09ciYmKGE9Ym4oYSksYT1hPT09YT9hOjApLHZzKGJuKHMpLGEsdSl9ZnVuY3Rpb24gQ1IocyxhLHUpe3JldHVybiBhPWFpKGEpLHU9PT1yPyh1PWEsYT0wKTp1PWFpKHUpLHM9Ym4ocyksJEQocyxhLHUpfWZ1bmN0aW9uIElSKHMsYSx1KXtpZih1JiZ0eXBlb2YgdSE9ImJvb2xlYW4iJiZCcihzLGEsdSkmJihhPXU9ciksdT09PXImJih0eXBlb2YgYT09ImJvb2xlYW4iPyh1PWEsYT1yKTp0eXBlb2Ygcz09ImJvb2xlYW4iJiYodT1zLHM9cikpLHM9PT1yJiZhPT09cj8ocz0wLGE9MSk6KHM9YWkocyksYT09PXI/KGE9cyxzPTApOmE9YWkoYSkpLHM+YSl7dmFyIGc9cztzPWEsYT1nfWlmKHV8fHMlMXx8YSUxKXt2YXIgeT1UbSgpO3JldHVybiBBcihzK3kqKGEtcytJdCgiMWUtIisoKHkrIiIpLmxlbmd0aC0xKSkpLGEpfXJldHVybiBEMChzLGEpfXZhciBPUj1tbyhmdW5jdGlvbihzLGEsdSl7cmV0dXJuIGE9YS50b0xvd2VyQ2FzZSgpLHMrKHU/bHcoYSk6YSl9KTtmdW5jdGlvbiBsdyhzKXtyZXR1cm4gcmQoeXQocykudG9Mb3dlckNhc2UoKSl9ZnVuY3Rpb24gdXcocyl7cmV0dXJuIHM9eXQocykscyYmcy5yZXBsYWNlKFhuLG1TKS5yZXBsYWNlKGkwLCIiKX1mdW5jdGlvbiBBUihzLGEsdSl7cz15dChzKSxhPXRuKGEpO3ZhciBnPXMubGVuZ3RoO3U9dT09PXI/Zzp2cyhpdCh1KSwwLGcpO3ZhciB5PXU7cmV0dXJuIHUtPWEubGVuZ3RoLHU+PTAmJnMuc2xpY2UodSx5KT09YX1mdW5jdGlvbiBTUihzKXtyZXR1cm4gcz15dChzKSxzJiZMdC50ZXN0KHMpP3MucmVwbGFjZShscyx3Uyk6c31mdW5jdGlvbiBEUihzKXtyZXR1cm4gcz15dChzKSxzJiZvci50ZXN0KHMpP3MucmVwbGFjZShxdCwiXFwkJiIpOnN9dmFyICRSPW1vKGZ1bmN0aW9uKHMsYSx1KXtyZXR1cm4gcysodT8iLSI6IiIpK2EudG9Mb3dlckNhc2UoKX0pLFBSPW1vKGZ1bmN0aW9uKHMsYSx1KXtyZXR1cm4gcysodT8iICI6IiIpK2EudG9Mb3dlckNhc2UoKX0pLFRSPWQyKCJ0b0xvd2VyQ2FzZSIpO2Z1bmN0aW9uIFJSKHMsYSx1KXtzPXl0KHMpLGE9aXQoYSk7dmFyIGc9YT9jbyhzKTowO2lmKCFhfHxnPj1hKXJldHVybiBzO3ZhciB5PShhLWcpLzI7cmV0dXJuIEJsKEFsKHkpLHUpK3MrQmwoT2woeSksdSl9ZnVuY3Rpb24gTlIocyxhLHUpe3M9eXQocyksYT1pdChhKTt2YXIgZz1hP2NvKHMpOjA7cmV0dXJuIGEmJmc8YT9zK0JsKGEtZyx1KTpzfWZ1bmN0aW9uIExSKHMsYSx1KXtzPXl0KHMpLGE9aXQoYSk7dmFyIGc9YT9jbyhzKTowO3JldHVybiBhJiZnPGE/QmwoYS1nLHUpK3M6c31mdW5jdGlvbiBNUihzLGEsdSl7cmV0dXJuIHV8fGE9PW51bGw/YT0wOmEmJihhPSthKSx6Uyh5dChzKS5yZXBsYWNlKFZ0LCIiKSxhfHwwKX1mdW5jdGlvbiBVUihzLGEsdSl7cmV0dXJuKHU/QnIocyxhLHUpOmE9PT1yKT9hPTE6YT1pdChhKSwkMCh5dChzKSxhKX1mdW5jdGlvbiBqUigpe3ZhciBzPWFyZ3VtZW50cyxhPXl0KHNbMF0pO3JldHVybiBzLmxlbmd0aDwzP2E6YS5yZXBsYWNlKHNbMV0sc1syXSl9dmFyIEZSPW1vKGZ1bmN0aW9uKHMsYSx1KXtyZXR1cm4gcysodT8iXyI6IiIpK2EudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIEJSKHMsYSx1KXtyZXR1cm4gdSYmdHlwZW9mIHUhPSJudW1iZXIiJiZCcihzLGEsdSkmJihhPXU9ciksdT11PT09cj9pZTp1Pj4+MCx1PyhzPXl0KHMpLHMmJih0eXBlb2YgYT09InN0cmluZyJ8fGEhPW51bGwmJiFRMChhKSkmJihhPXRuKGEpLCFhJiZhbyhzKSk/TmkoSW4ocyksMCx1KTpzLnNwbGl0KGEsdSkpOltdfXZhciBrUj1tbyhmdW5jdGlvbihzLGEsdSl7cmV0dXJuIHMrKHU/IiAiOiIiKStyZChhKX0pO2Z1bmN0aW9uIEhSKHMsYSx1KXtyZXR1cm4gcz15dChzKSx1PXU9PW51bGw/MDp2cyhpdCh1KSwwLHMubGVuZ3RoKSxhPXRuKGEpLHMuc2xpY2UodSx1K2EubGVuZ3RoKT09YX1mdW5jdGlvbiB6UihzLGEsdSl7dmFyIGc9Qy50ZW1wbGF0ZVNldHRpbmdzO3UmJkJyKHMsYSx1KSYmKGE9cikscz15dChzKSxhPVhsKHt9LGEsZyxiMik7dmFyIHk9WGwoe30sYS5pbXBvcnRzLGcuaW1wb3J0cyxiMiksUz15cih5KSxNPWQwKHksUyksayxaLHVlPTAsaGU9YS5pbnRlcnBvbGF0ZXx8UXMscGU9Il9fcCArPSAnIixiZT1nMCgoYS5lc2NhcGV8fFFzKS5zb3VyY2UrInwiK2hlLnNvdXJjZSsifCIrKGhlPT09RnQ/a2Y6UXMpLnNvdXJjZSsifCIrKGEuZXZhbHVhdGV8fFFzKS5zb3VyY2UrInwkIiwiZyIpLFBlPSIvLyMgc291cmNlVVJMPSIrKGJ0LmNhbGwoYSwic291cmNlVVJMIik/KGEuc291cmNlVVJMKyIiKS5yZXBsYWNlKC9ccy9nLCIgIik6ImxvZGFzaC50ZW1wbGF0ZVNvdXJjZXNbIisgKytzMCsiXSIpK2ANCmA7cy5yZXBsYWNlKGJlLGZ1bmN0aW9uKHFlLGZ0LHd0LG5uLGtyLHNuKXtyZXR1cm4gd3R8fCh3dD1ubikscGUrPXMuc2xpY2UodWUsc24pLnJlcGxhY2UoS2YsdlMpLGZ0JiYoaz0hMCxwZSs9YCcgKw0KX19lKGArZnQrYCkgKw0KJ2ApLGtyJiYoWj0hMCxwZSs9YCc7DQpgK2tyK2A7DQpfX3AgKz0gJ2ApLHd0JiYocGUrPWAnICsNCigoX190ID0gKGArd3QrYCkpID09IG51bGwgPyAnJyA6IF9fdCkgKw0KJ2ApLHVlPXNuK3FlLmxlbmd0aCxxZX0pLHBlKz1gJzsNCmA7dmFyIFdlPWJ0LmNhbGwoYSwidmFyaWFibGUiKSYmYS52YXJpYWJsZTtpZighV2UpcGU9YHdpdGggKG9iaikgew0KYCtwZStgDQp9DQpgO2Vsc2UgaWYoRmYudGVzdChXZSkpdGhyb3cgbmV3IFllKGwpO3BlPShaP3BlLnJlcGxhY2UobHQsIiIpOnBlKS5yZXBsYWNlKFVyLCIkMSIpLnJlcGxhY2UoSm4sIiQxOyIpLHBlPSJmdW5jdGlvbigiKyhXZXx8Im9iaiIpK2ApIHsNCmArKFdlPyIiOmBvYmogfHwgKG9iaiA9IHt9KTsNCmApKyJ2YXIgX190LCBfX3AgPSAnJyIrKGs/IiwgX19lID0gXy5lc2NhcGUiOiIiKSsoWj9gLCBfX2ogPSBBcnJheS5wcm90b3R5cGUuam9pbjsNCmZ1bmN0aW9uIHByaW50KCkgeyBfX3AgKz0gX19qLmNhbGwoYXJndW1lbnRzLCAnJykgfQ0KYDpgOw0KYCkrcGUrYHJldHVybiBfX3ANCn1gO3ZhciBvdD1mdyhmdW5jdGlvbigpe3JldHVybiB2dChTLFBlKyJyZXR1cm4gIitwZSkuYXBwbHkocixNKX0pO2lmKG90LnNvdXJjZT1wZSxYMChvdCkpdGhyb3cgb3Q7cmV0dXJuIG90fWZ1bmN0aW9uIFdSKHMpe3JldHVybiB5dChzKS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIHFSKHMpe3JldHVybiB5dChzKS50b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIFZSKHMsYSx1KXtpZihzPXl0KHMpLHMmJih1fHxhPT09cikpcmV0dXJuIF9tKHMpO2lmKCFzfHwhKGE9dG4oYSkpKXJldHVybiBzO3ZhciBnPUluKHMpLHk9SW4oYSksUz1FbShnLHkpLE09eG0oZyx5KSsxO3JldHVybiBOaShnLFMsTSkuam9pbigiIil9ZnVuY3Rpb24gS1IocyxhLHUpe2lmKHM9eXQocykscyYmKHV8fGE9PT1yKSlyZXR1cm4gcy5zbGljZSgwLEltKHMpKzEpO2lmKCFzfHwhKGE9dG4oYSkpKXJldHVybiBzO3ZhciBnPUluKHMpLHk9eG0oZyxJbihhKSkrMTtyZXR1cm4gTmkoZywwLHkpLmpvaW4oIiIpfWZ1bmN0aW9uIEdSKHMsYSx1KXtpZihzPXl0KHMpLHMmJih1fHxhPT09cikpcmV0dXJuIHMucmVwbGFjZShWdCwiIik7aWYoIXN8fCEoYT10bihhKSkpcmV0dXJuIHM7dmFyIGc9SW4ocykseT1FbShnLEluKGEpKTtyZXR1cm4gTmkoZyx5KS5qb2luKCIiKX1mdW5jdGlvbiBaUihzLGEpe3ZhciB1PXosZz1lZTtpZihCdChhKSl7dmFyIHk9InNlcGFyYXRvciJpbiBhP2Euc2VwYXJhdG9yOnk7dT0ibGVuZ3RoImluIGE/aXQoYS5sZW5ndGgpOnUsZz0ib21pc3Npb24iaW4gYT90bihhLm9taXNzaW9uKTpnfXM9eXQocyk7dmFyIFM9cy5sZW5ndGg7aWYoYW8ocykpe3ZhciBNPUluKHMpO1M9TS5sZW5ndGh9aWYodT49UylyZXR1cm4gczt2YXIgaz11LWNvKGcpO2lmKGs8MSlyZXR1cm4gZzt2YXIgWj1NP05pKE0sMCxrKS5qb2luKCIiKTpzLnNsaWNlKDAsayk7aWYoeT09PXIpcmV0dXJuIForZztpZihNJiYoays9Wi5sZW5ndGgtayksUTAoeSkpe2lmKHMuc2xpY2Uoaykuc2VhcmNoKHkpKXt2YXIgdWUsaGU9Wjtmb3IoeS5nbG9iYWx8fCh5PWcwKHkuc291cmNlLHl0KGZuLmV4ZWMoeSkpKyJnIikpLHkubGFzdEluZGV4PTA7dWU9eS5leGVjKGhlKTspdmFyIHBlPXVlLmluZGV4O1o9Wi5zbGljZSgwLHBlPT09cj9rOnBlKX19ZWxzZSBpZihzLmluZGV4T2YodG4oeSksaykhPWspe3ZhciBiZT1aLmxhc3RJbmRleE9mKHkpO2JlPi0xJiYoWj1aLnNsaWNlKDAsYmUpKX1yZXR1cm4gWitnfWZ1bmN0aW9uIFlSKHMpe3JldHVybiBzPXl0KHMpLHMmJkh0LnRlc3Qocyk/cy5yZXBsYWNlKElpLElTKTpzfXZhciBKUj1tbyhmdW5jdGlvbihzLGEsdSl7cmV0dXJuIHMrKHU/IiAiOiIiKSthLnRvVXBwZXJDYXNlKCl9KSxyZD1kMigidG9VcHBlckNhc2UiKTtmdW5jdGlvbiBodyhzLGEsdSl7cmV0dXJuIHM9eXQocyksYT11P3I6YSxhPT09cj9iUyhzKT9TUyhzKTpoUyhzKTpzLm1hdGNoKGEpfHxbXX12YXIgZnc9Y3QoZnVuY3Rpb24ocyxhKXt0cnl7cmV0dXJuIHZyKHMscixhKX1jYXRjaCh1KXtyZXR1cm4gWDAodSk/dTpuZXcgWWUodSl9fSksWFI9aWkoZnVuY3Rpb24ocyxhKXtyZXR1cm4gcG4oYSxmdW5jdGlvbih1KXt1PUhuKHUpLHJpKHMsdSxZMChzW3VdLHMpKX0pLHN9KTtmdW5jdGlvbiBRUihzKXt2YXIgYT1zPT1udWxsPzA6cy5sZW5ndGgsdT16ZSgpO3JldHVybiBzPWE/VXQocyxmdW5jdGlvbihnKXtpZih0eXBlb2YgZ1sxXSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgZ24oYyk7cmV0dXJuW3UoZ1swXSksZ1sxXV19KTpbXSxjdChmdW5jdGlvbihnKXtmb3IodmFyIHk9LTE7Kyt5PGE7KXt2YXIgUz1zW3ldO2lmKHZyKFNbMF0sdGhpcyxnKSlyZXR1cm4gdnIoU1sxXSx0aGlzLGcpfX0pfWZ1bmN0aW9uIGVOKHMpe3JldHVybiBJRCh3bihzLEUpKX1mdW5jdGlvbiBuZChzKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gc319ZnVuY3Rpb24gdE4ocyxhKXtyZXR1cm4gcz09bnVsbHx8cyE9PXM/YTpzfXZhciByTj1nMigpLG5OPWcyKCEwKTtmdW5jdGlvbiBacihzKXtyZXR1cm4gc31mdW5jdGlvbiBpZChzKXtyZXR1cm4gcW0odHlwZW9mIHM9PSJmdW5jdGlvbiI/czp3bihzLEUpKX1mdW5jdGlvbiBpTihzKXtyZXR1cm4gS20od24ocyxFKSl9ZnVuY3Rpb24gc04ocyxhKXtyZXR1cm4gR20ocyx3bihhLEUpKX12YXIgb049Y3QoZnVuY3Rpb24ocyxhKXtyZXR1cm4gZnVuY3Rpb24odSl7cmV0dXJuIERhKHUscyxhKX19KSxhTj1jdChmdW5jdGlvbihzLGEpe3JldHVybiBmdW5jdGlvbih1KXtyZXR1cm4gRGEocyx1LGEpfX0pO2Z1bmN0aW9uIHNkKHMsYSx1KXt2YXIgZz15cihhKSx5PVJsKGEsZyk7dT09bnVsbCYmIShCdChhKSYmKHkubGVuZ3RofHwhZy5sZW5ndGgpKSYmKHU9YSxhPXMscz10aGlzLHk9UmwoYSx5cihhKSkpO3ZhciBTPSEoQnQodSkmJiJjaGFpbiJpbiB1KXx8ISF1LmNoYWluLE09b2kocyk7cmV0dXJuIHBuKHksZnVuY3Rpb24oayl7dmFyIFo9YVtrXTtzW2tdPVosTSYmKHMucHJvdG90eXBlW2tdPWZ1bmN0aW9uKCl7dmFyIHVlPXRoaXMuX19jaGFpbl9fO2lmKFN8fHVlKXt2YXIgaGU9cyh0aGlzLl9fd3JhcHBlZF9fKSxwZT1oZS5fX2FjdGlvbnNfXz1Wcih0aGlzLl9fYWN0aW9uc19fKTtyZXR1cm4gcGUucHVzaCh7ZnVuYzpaLGFyZ3M6YXJndW1lbnRzLHRoaXNBcmc6c30pLGhlLl9fY2hhaW5fXz11ZSxoZX1yZXR1cm4gWi5hcHBseShzLFNpKFt0aGlzLnZhbHVlKCldLGFyZ3VtZW50cykpfSl9KSxzfWZ1bmN0aW9uIGNOKCl7cmV0dXJuIG10Ll89PT10aGlzJiYobXQuXz1OUyksdGhpc31mdW5jdGlvbiBvZCgpe31mdW5jdGlvbiBsTihzKXtyZXR1cm4gcz1pdChzKSxjdChmdW5jdGlvbihhKXtyZXR1cm4gWm0oYSxzKX0pfXZhciB1Tj1VMChVdCksaE49VTAobW0pLGZOPVUwKGMwKTtmdW5jdGlvbiBkdyhzKXtyZXR1cm4gVzAocyk/bDAoSG4ocykpOkhEKHMpfWZ1bmN0aW9uIGROKHMpe3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gcz09bnVsbD9yOnlzKHMsYSl9fXZhciBwTj13MigpLGdOPXcyKCEwKTtmdW5jdGlvbiBhZCgpe3JldHVybltdfWZ1bmN0aW9uIGNkKCl7cmV0dXJuITF9ZnVuY3Rpb24gbU4oKXtyZXR1cm57fX1mdW5jdGlvbiB3Tigpe3JldHVybiIifWZ1bmN0aW9uIHZOKCl7cmV0dXJuITB9ZnVuY3Rpb24geU4ocyxhKXtpZihzPWl0KHMpLHM8MXx8cz5yZSlyZXR1cm5bXTt2YXIgdT1pZSxnPUFyKHMsaWUpO2E9emUoYSkscy09aWU7Zm9yKHZhciB5PWYwKGcsYSk7Kyt1PHM7KWEodSk7cmV0dXJuIHl9ZnVuY3Rpb24gYk4ocyl7cmV0dXJuIFFlKHMpP1V0KHMsSG4pOnJuKHMpP1tzXTpWcihSMih5dChzKSkpfWZ1bmN0aW9uIF9OKHMpe3ZhciBhPSsrVFM7cmV0dXJuIHl0KHMpK2F9dmFyIEVOPUZsKGZ1bmN0aW9uKHMsYSl7cmV0dXJuIHMrYX0sMCkseE49ajAoImNlaWwiKSxDTj1GbChmdW5jdGlvbihzLGEpe3JldHVybiBzL2F9LDEpLElOPWowKCJmbG9vciIpO2Z1bmN0aW9uIE9OKHMpe3JldHVybiBzJiZzLmxlbmd0aD9UbChzLFpyLHgwKTpyfWZ1bmN0aW9uIEFOKHMsYSl7cmV0dXJuIHMmJnMubGVuZ3RoP1RsKHMsemUoYSwyKSx4MCk6cn1mdW5jdGlvbiBTTihzKXtyZXR1cm4geW0ocyxacil9ZnVuY3Rpb24gRE4ocyxhKXtyZXR1cm4geW0ocyx6ZShhLDIpKX1mdW5jdGlvbiAkTihzKXtyZXR1cm4gcyYmcy5sZW5ndGg/VGwocyxacixBMCk6cn1mdW5jdGlvbiBQTihzLGEpe3JldHVybiBzJiZzLmxlbmd0aD9UbChzLHplKGEsMiksQTApOnJ9dmFyIFROPUZsKGZ1bmN0aW9uKHMsYSl7cmV0dXJuIHMqYX0sMSksUk49ajAoInJvdW5kIiksTk49RmwoZnVuY3Rpb24ocyxhKXtyZXR1cm4gcy1hfSwwKTtmdW5jdGlvbiBMTihzKXtyZXR1cm4gcyYmcy5sZW5ndGg/aDAocyxacik6MH1mdW5jdGlvbiBNTihzLGEpe3JldHVybiBzJiZzLmxlbmd0aD9oMChzLHplKGEsMikpOjB9cmV0dXJuIEMuYWZ0ZXI9aVQsQy5hcnk9VzIsQy5hc3NpZ249cVQsQy5hc3NpZ25Jbj1pdyxDLmFzc2lnbkluV2l0aD1YbCxDLmFzc2lnbldpdGg9VlQsQy5hdD1LVCxDLmJlZm9yZT1xMixDLmJpbmQ9WTAsQy5iaW5kQWxsPVhSLEMuYmluZEtleT1WMixDLmNhc3RBcnJheT1tVCxDLmNoYWluPWsyLEMuY2h1bms9SSQsQy5jb21wYWN0PU8kLEMuY29uY2F0PUEkLEMuY29uZD1RUixDLmNvbmZvcm1zPWVOLEMuY29uc3RhbnQ9bmQsQy5jb3VudEJ5PUxQLEMuY3JlYXRlPUdULEMuY3Vycnk9SzIsQy5jdXJyeVJpZ2h0PUcyLEMuZGVib3VuY2U9WjIsQy5kZWZhdWx0cz1aVCxDLmRlZmF1bHRzRGVlcD1ZVCxDLmRlZmVyPXNULEMuZGVsYXk9b1QsQy5kaWZmZXJlbmNlPVMkLEMuZGlmZmVyZW5jZUJ5PUQkLEMuZGlmZmVyZW5jZVdpdGg9JCQsQy5kcm9wPVAkLEMuZHJvcFJpZ2h0PVQkLEMuZHJvcFJpZ2h0V2hpbGU9UiQsQy5kcm9wV2hpbGU9TiQsQy5maWxsPUwkLEMuZmlsdGVyPVVQLEMuZmxhdE1hcD1CUCxDLmZsYXRNYXBEZWVwPWtQLEMuZmxhdE1hcERlcHRoPUhQLEMuZmxhdHRlbj1VMixDLmZsYXR0ZW5EZWVwPU0kLEMuZmxhdHRlbkRlcHRoPVUkLEMuZmxpcD1hVCxDLmZsb3c9ck4sQy5mbG93UmlnaHQ9bk4sQy5mcm9tUGFpcnM9aiQsQy5mdW5jdGlvbnM9blIsQy5mdW5jdGlvbnNJbj1pUixDLmdyb3VwQnk9elAsQy5pbml0aWFsPUIkLEMuaW50ZXJzZWN0aW9uPWskLEMuaW50ZXJzZWN0aW9uQnk9SCQsQy5pbnRlcnNlY3Rpb25XaXRoPXokLEMuaW52ZXJ0PW9SLEMuaW52ZXJ0Qnk9YVIsQy5pbnZva2VNYXA9cVAsQy5pdGVyYXRlZT1pZCxDLmtleUJ5PVZQLEMua2V5cz15cixDLmtleXNJbj1HcixDLm1hcD1WbCxDLm1hcEtleXM9bFIsQy5tYXBWYWx1ZXM9dVIsQy5tYXRjaGVzPWlOLEMubWF0Y2hlc1Byb3BlcnR5PXNOLEMubWVtb2l6ZT1HbCxDLm1lcmdlPWhSLEMubWVyZ2VXaXRoPXN3LEMubWV0aG9kPW9OLEMubWV0aG9kT2Y9YU4sQy5taXhpbj1zZCxDLm5lZ2F0ZT1abCxDLm50aEFyZz1sTixDLm9taXQ9ZlIsQy5vbWl0Qnk9ZFIsQy5vbmNlPWNULEMub3JkZXJCeT1LUCxDLm92ZXI9dU4sQy5vdmVyQXJncz1sVCxDLm92ZXJFdmVyeT1oTixDLm92ZXJTb21lPWZOLEMucGFydGlhbD1KMCxDLnBhcnRpYWxSaWdodD1ZMixDLnBhcnRpdGlvbj1HUCxDLnBpY2s9cFIsQy5waWNrQnk9b3csQy5wcm9wZXJ0eT1kdyxDLnByb3BlcnR5T2Y9ZE4sQy5wdWxsPUskLEMucHVsbEFsbD1GMixDLnB1bGxBbGxCeT1HJCxDLnB1bGxBbGxXaXRoPVokLEMucHVsbEF0PVkkLEMucmFuZ2U9cE4sQy5yYW5nZVJpZ2h0PWdOLEMucmVhcmc9dVQsQy5yZWplY3Q9SlAsQy5yZW1vdmU9SiQsQy5yZXN0PWhULEMucmV2ZXJzZT1HMCxDLnNhbXBsZVNpemU9UVAsQy5zZXQ9bVIsQy5zZXRXaXRoPXdSLEMuc2h1ZmZsZT1lVCxDLnNsaWNlPVgkLEMuc29ydEJ5PW5ULEMuc29ydGVkVW5pcT1zUCxDLnNvcnRlZFVuaXFCeT1vUCxDLnNwbGl0PUJSLEMuc3ByZWFkPWZULEMudGFpbD1hUCxDLnRha2U9Y1AsQy50YWtlUmlnaHQ9bFAsQy50YWtlUmlnaHRXaGlsZT11UCxDLnRha2VXaGlsZT1oUCxDLnRhcD1PUCxDLnRocm90dGxlPWRULEMudGhydT1xbCxDLnRvQXJyYXk9dHcsQy50b1BhaXJzPWF3LEMudG9QYWlyc0luPWN3LEMudG9QYXRoPWJOLEMudG9QbGFpbk9iamVjdD1udyxDLnRyYW5zZm9ybT12UixDLnVuYXJ5PXBULEMudW5pb249ZlAsQy51bmlvbkJ5PWRQLEMudW5pb25XaXRoPXBQLEMudW5pcT1nUCxDLnVuaXFCeT1tUCxDLnVuaXFXaXRoPXdQLEMudW5zZXQ9eVIsQy51bnppcD1aMCxDLnVuemlwV2l0aD1CMixDLnVwZGF0ZT1iUixDLnVwZGF0ZVdpdGg9X1IsQy52YWx1ZXM9eW8sQy52YWx1ZXNJbj1FUixDLndpdGhvdXQ9dlAsQy53b3Jkcz1odyxDLndyYXA9Z1QsQy54b3I9eVAsQy54b3JCeT1iUCxDLnhvcldpdGg9X1AsQy56aXA9RVAsQy56aXBPYmplY3Q9eFAsQy56aXBPYmplY3REZWVwPUNQLEMuemlwV2l0aD1JUCxDLmVudHJpZXM9YXcsQy5lbnRyaWVzSW49Y3csQy5leHRlbmQ9aXcsQy5leHRlbmRXaXRoPVhsLHNkKEMsQyksQy5hZGQ9RU4sQy5hdHRlbXB0PWZ3LEMuY2FtZWxDYXNlPU9SLEMuY2FwaXRhbGl6ZT1sdyxDLmNlaWw9eE4sQy5jbGFtcD14UixDLmNsb25lPXdULEMuY2xvbmVEZWVwPXlULEMuY2xvbmVEZWVwV2l0aD1iVCxDLmNsb25lV2l0aD12VCxDLmNvbmZvcm1zVG89X1QsQy5kZWJ1cnI9dXcsQy5kZWZhdWx0VG89dE4sQy5kaXZpZGU9Q04sQy5lbmRzV2l0aD1BUixDLmVxPUFuLEMuZXNjYXBlPVNSLEMuZXNjYXBlUmVnRXhwPURSLEMuZXZlcnk9TVAsQy5maW5kPWpQLEMuZmluZEluZGV4PUwyLEMuZmluZEtleT1KVCxDLmZpbmRMYXN0PUZQLEMuZmluZExhc3RJbmRleD1NMixDLmZpbmRMYXN0S2V5PVhULEMuZmxvb3I9SU4sQy5mb3JFYWNoPUgyLEMuZm9yRWFjaFJpZ2h0PXoyLEMuZm9ySW49UVQsQy5mb3JJblJpZ2h0PWVSLEMuZm9yT3duPXRSLEMuZm9yT3duUmlnaHQ9clIsQy5nZXQ9ZWQsQy5ndD1FVCxDLmd0ZT14VCxDLmhhcz1zUixDLmhhc0luPXRkLEMuaGVhZD1qMixDLmlkZW50aXR5PVpyLEMuaW5jbHVkZXM9V1AsQy5pbmRleE9mPUYkLEMuaW5SYW5nZT1DUixDLmludm9rZT1jUixDLmlzQXJndW1lbnRzPUVzLEMuaXNBcnJheT1RZSxDLmlzQXJyYXlCdWZmZXI9Q1QsQy5pc0FycmF5TGlrZT1LcixDLmlzQXJyYXlMaWtlT2JqZWN0PVF0LEMuaXNCb29sZWFuPUlULEMuaXNCdWZmZXI9TGksQy5pc0RhdGU9T1QsQy5pc0VsZW1lbnQ9QVQsQy5pc0VtcHR5PVNULEMuaXNFcXVhbD1EVCxDLmlzRXF1YWxXaXRoPSRULEMuaXNFcnJvcj1YMCxDLmlzRmluaXRlPVBULEMuaXNGdW5jdGlvbj1vaSxDLmlzSW50ZWdlcj1KMixDLmlzTGVuZ3RoPVlsLEMuaXNNYXA9WDIsQy5pc01hdGNoPVRULEMuaXNNYXRjaFdpdGg9UlQsQy5pc05hTj1OVCxDLmlzTmF0aXZlPUxULEMuaXNOaWw9VVQsQy5pc051bGw9TVQsQy5pc051bWJlcj1RMixDLmlzT2JqZWN0PUJ0LEMuaXNPYmplY3RMaWtlPUd0LEMuaXNQbGFpbk9iamVjdD1MYSxDLmlzUmVnRXhwPVEwLEMuaXNTYWZlSW50ZWdlcj1qVCxDLmlzU2V0PWV3LEMuaXNTdHJpbmc9SmwsQy5pc1N5bWJvbD1ybixDLmlzVHlwZWRBcnJheT12byxDLmlzVW5kZWZpbmVkPUZULEMuaXNXZWFrTWFwPUJULEMuaXNXZWFrU2V0PWtULEMuam9pbj1XJCxDLmtlYmFiQ2FzZT0kUixDLmxhc3Q9eW4sQy5sYXN0SW5kZXhPZj1xJCxDLmxvd2VyQ2FzZT1QUixDLmxvd2VyRmlyc3Q9VFIsQy5sdD1IVCxDLmx0ZT16VCxDLm1heD1PTixDLm1heEJ5PUFOLEMubWVhbj1TTixDLm1lYW5CeT1ETixDLm1pbj0kTixDLm1pbkJ5PVBOLEMuc3R1YkFycmF5PWFkLEMuc3R1YkZhbHNlPWNkLEMuc3R1Yk9iamVjdD1tTixDLnN0dWJTdHJpbmc9d04sQy5zdHViVHJ1ZT12TixDLm11bHRpcGx5PVROLEMubnRoPVYkLEMubm9Db25mbGljdD1jTixDLm5vb3A9b2QsQy5ub3c9S2wsQy5wYWQ9UlIsQy5wYWRFbmQ9TlIsQy5wYWRTdGFydD1MUixDLnBhcnNlSW50PU1SLEMucmFuZG9tPUlSLEMucmVkdWNlPVpQLEMucmVkdWNlUmlnaHQ9WVAsQy5yZXBlYXQ9VVIsQy5yZXBsYWNlPWpSLEMucmVzdWx0PWdSLEMucm91bmQ9Uk4sQy5ydW5JbkNvbnRleHQ9VixDLnNhbXBsZT1YUCxDLnNpemU9dFQsQy5zbmFrZUNhc2U9RlIsQy5zb21lPXJULEMuc29ydGVkSW5kZXg9USQsQy5zb3J0ZWRJbmRleEJ5PWVQLEMuc29ydGVkSW5kZXhPZj10UCxDLnNvcnRlZExhc3RJbmRleD1yUCxDLnNvcnRlZExhc3RJbmRleEJ5PW5QLEMuc29ydGVkTGFzdEluZGV4T2Y9aVAsQy5zdGFydENhc2U9a1IsQy5zdGFydHNXaXRoPUhSLEMuc3VidHJhY3Q9Tk4sQy5zdW09TE4sQy5zdW1CeT1NTixDLnRlbXBsYXRlPXpSLEMudGltZXM9eU4sQy50b0Zpbml0ZT1haSxDLnRvSW50ZWdlcj1pdCxDLnRvTGVuZ3RoPXJ3LEMudG9Mb3dlcj1XUixDLnRvTnVtYmVyPWJuLEMudG9TYWZlSW50ZWdlcj1XVCxDLnRvU3RyaW5nPXl0LEMudG9VcHBlcj1xUixDLnRyaW09VlIsQy50cmltRW5kPUtSLEMudHJpbVN0YXJ0PUdSLEMudHJ1bmNhdGU9WlIsQy51bmVzY2FwZT1ZUixDLnVuaXF1ZUlkPV9OLEMudXBwZXJDYXNlPUpSLEMudXBwZXJGaXJzdD1yZCxDLmVhY2g9SDIsQy5lYWNoUmlnaHQ9ejIsQy5maXJzdD1qMixzZChDLGZ1bmN0aW9uKCl7dmFyIHM9e307cmV0dXJuIEJuKEMsZnVuY3Rpb24oYSx1KXtidC5jYWxsKEMucHJvdG90eXBlLHUpfHwoc1t1XT1hKX0pLHN9KCkse2NoYWluOiExfSksQy5WRVJTSU9OPW4scG4oWyJiaW5kIiwiYmluZEtleSIsImN1cnJ5IiwiY3VycnlSaWdodCIsInBhcnRpYWwiLCJwYXJ0aWFsUmlnaHQiXSxmdW5jdGlvbihzKXtDW3NdLnBsYWNlaG9sZGVyPUN9KSxwbihbImRyb3AiLCJ0YWtlIl0sZnVuY3Rpb24ocyxhKXtkdC5wcm90b3R5cGVbc109ZnVuY3Rpb24odSl7dT11PT09cj8xOmRyKGl0KHUpLDApO3ZhciBnPXRoaXMuX19maWx0ZXJlZF9fJiYhYT9uZXcgZHQodGhpcyk6dGhpcy5jbG9uZSgpO3JldHVybiBnLl9fZmlsdGVyZWRfXz9nLl9fdGFrZUNvdW50X189QXIodSxnLl9fdGFrZUNvdW50X18pOmcuX192aWV3c19fLnB1c2goe3NpemU6QXIodSxpZSksdHlwZTpzKyhnLl9fZGlyX188MD8iUmlnaHQiOiIiKX0pLGd9LGR0LnByb3RvdHlwZVtzKyJSaWdodCJdPWZ1bmN0aW9uKHUpe3JldHVybiB0aGlzLnJldmVyc2UoKVtzXSh1KS5yZXZlcnNlKCl9fSkscG4oWyJmaWx0ZXIiLCJtYXAiLCJ0YWtlV2hpbGUiXSxmdW5jdGlvbihzLGEpe3ZhciB1PWErMSxnPXU9PU98fHU9PWNlO2R0LnByb3RvdHlwZVtzXT1mdW5jdGlvbih5KXt2YXIgUz10aGlzLmNsb25lKCk7cmV0dXJuIFMuX19pdGVyYXRlZXNfXy5wdXNoKHtpdGVyYXRlZTp6ZSh5LDMpLHR5cGU6dX0pLFMuX19maWx0ZXJlZF9fPVMuX19maWx0ZXJlZF9ffHxnLFN9fSkscG4oWyJoZWFkIiwibGFzdCJdLGZ1bmN0aW9uKHMsYSl7dmFyIHU9InRha2UiKyhhPyJSaWdodCI6IiIpO2R0LnByb3RvdHlwZVtzXT1mdW5jdGlvbigpe3JldHVybiB0aGlzW3VdKDEpLnZhbHVlKClbMF19fSkscG4oWyJpbml0aWFsIiwidGFpbCJdLGZ1bmN0aW9uKHMsYSl7dmFyIHU9ImRyb3AiKyhhPyIiOiJSaWdodCIpO2R0LnByb3RvdHlwZVtzXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9fZmlsdGVyZWRfXz9uZXcgZHQodGhpcyk6dGhpc1t1XSgxKX19KSxkdC5wcm90b3R5cGUuY29tcGFjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbHRlcihacil9LGR0LnByb3RvdHlwZS5maW5kPWZ1bmN0aW9uKHMpe3JldHVybiB0aGlzLmZpbHRlcihzKS5oZWFkKCl9LGR0LnByb3RvdHlwZS5maW5kTGFzdD1mdW5jdGlvbihzKXtyZXR1cm4gdGhpcy5yZXZlcnNlKCkuZmluZChzKX0sZHQucHJvdG90eXBlLmludm9rZU1hcD1jdChmdW5jdGlvbihzLGEpe3JldHVybiB0eXBlb2Ygcz09ImZ1bmN0aW9uIj9uZXcgZHQodGhpcyk6dGhpcy5tYXAoZnVuY3Rpb24odSl7cmV0dXJuIERhKHUscyxhKX0pfSksZHQucHJvdG90eXBlLnJlamVjdD1mdW5jdGlvbihzKXtyZXR1cm4gdGhpcy5maWx0ZXIoWmwoemUocykpKX0sZHQucHJvdG90eXBlLnNsaWNlPWZ1bmN0aW9uKHMsYSl7cz1pdChzKTt2YXIgdT10aGlzO3JldHVybiB1Ll9fZmlsdGVyZWRfXyYmKHM+MHx8YTwwKT9uZXcgZHQodSk6KHM8MD91PXUudGFrZVJpZ2h0KC1zKTpzJiYodT11LmRyb3AocykpLGEhPT1yJiYoYT1pdChhKSx1PWE8MD91LmRyb3BSaWdodCgtYSk6dS50YWtlKGEtcykpLHUpfSxkdC5wcm90b3R5cGUudGFrZVJpZ2h0V2hpbGU9ZnVuY3Rpb24ocyl7cmV0dXJuIHRoaXMucmV2ZXJzZSgpLnRha2VXaGlsZShzKS5yZXZlcnNlKCl9LGR0LnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGFrZShpZSl9LEJuKGR0LnByb3RvdHlwZSxmdW5jdGlvbihzLGEpe3ZhciB1PS9eKD86ZmlsdGVyfGZpbmR8bWFwfHJlamVjdCl8V2hpbGUkLy50ZXN0KGEpLGc9L14oPzpoZWFkfGxhc3QpJC8udGVzdChhKSx5PUNbZz8idGFrZSIrKGE9PSJsYXN0Ij8iUmlnaHQiOiIiKTphXSxTPWd8fC9eZmluZC8udGVzdChhKTt5JiYoQy5wcm90b3R5cGVbYV09ZnVuY3Rpb24oKXt2YXIgTT10aGlzLl9fd3JhcHBlZF9fLGs9Zz9bMV06YXJndW1lbnRzLFo9TSBpbnN0YW5jZW9mIGR0LHVlPWtbMF0saGU9Wnx8UWUoTSkscGU9ZnVuY3Rpb24oZnQpe3ZhciB3dD15LmFwcGx5KEMsU2koW2Z0XSxrKSk7cmV0dXJuIGcmJmJlP3d0WzBdOnd0fTtoZSYmdSYmdHlwZW9mIHVlPT0iZnVuY3Rpb24iJiZ1ZS5sZW5ndGghPTEmJihaPWhlPSExKTt2YXIgYmU9dGhpcy5fX2NoYWluX18sUGU9ISF0aGlzLl9fYWN0aW9uc19fLmxlbmd0aCxXZT1TJiYhYmUsb3Q9WiYmIVBlO2lmKCFTJiZoZSl7TT1vdD9NOm5ldyBkdCh0aGlzKTt2YXIgcWU9cy5hcHBseShNLGspO3JldHVybiBxZS5fX2FjdGlvbnNfXy5wdXNoKHtmdW5jOnFsLGFyZ3M6W3BlXSx0aGlzQXJnOnJ9KSxuZXcgbW4ocWUsYmUpfXJldHVybiBXZSYmb3Q/cy5hcHBseSh0aGlzLGspOihxZT10aGlzLnRocnUocGUpLFdlP2c/cWUudmFsdWUoKVswXTpxZS52YWx1ZSgpOnFlKX0pfSkscG4oWyJwb3AiLCJwdXNoIiwic2hpZnQiLCJzb3J0Iiwic3BsaWNlIiwidW5zaGlmdCJdLGZ1bmN0aW9uKHMpe3ZhciBhPXdsW3NdLHU9L14oPzpwdXNofHNvcnR8dW5zaGlmdCkkLy50ZXN0KHMpPyJ0YXAiOiJ0aHJ1IixnPS9eKD86cG9wfHNoaWZ0KSQvLnRlc3Qocyk7Qy5wcm90b3R5cGVbc109ZnVuY3Rpb24oKXt2YXIgeT1hcmd1bWVudHM7aWYoZyYmIXRoaXMuX19jaGFpbl9fKXt2YXIgUz10aGlzLnZhbHVlKCk7cmV0dXJuIGEuYXBwbHkoUWUoUyk/UzpbXSx5KX1yZXR1cm4gdGhpc1t1XShmdW5jdGlvbihNKXtyZXR1cm4gYS5hcHBseShRZShNKT9NOltdLHkpfSl9fSksQm4oZHQucHJvdG90eXBlLGZ1bmN0aW9uKHMsYSl7dmFyIHU9Q1thXTtpZih1KXt2YXIgZz11Lm5hbWUrIiI7YnQuY2FsbChmbyxnKXx8KGZvW2ddPVtdKSxmb1tnXS5wdXNoKHtuYW1lOmEsZnVuYzp1fSl9fSksZm9bamwocixHKS5uYW1lXT1be25hbWU6IndyYXBwZXIiLGZ1bmM6cn1dLGR0LnByb3RvdHlwZS5jbG9uZT1ZUyxkdC5wcm90b3R5cGUucmV2ZXJzZT1KUyxkdC5wcm90b3R5cGUudmFsdWU9WFMsQy5wcm90b3R5cGUuYXQ9QVAsQy5wcm90b3R5cGUuY2hhaW49U1AsQy5wcm90b3R5cGUuY29tbWl0PURQLEMucHJvdG90eXBlLm5leHQ9JFAsQy5wcm90b3R5cGUucGxhbnQ9VFAsQy5wcm90b3R5cGUucmV2ZXJzZT1SUCxDLnByb3RvdHlwZS50b0pTT049Qy5wcm90b3R5cGUudmFsdWVPZj1DLnByb3RvdHlwZS52YWx1ZT1OUCxDLnByb3RvdHlwZS5maXJzdD1DLnByb3RvdHlwZS5oZWFkLEVhJiYoQy5wcm90b3R5cGVbRWFdPVBQKSxDfSxsbz1EUygpO1h0PygoWHQuZXhwb3J0cz1sbykuXz1sbyxPdC5fPWxvKTptdC5fPWxvfSkuY2FsbChxbyl9KShnaCxnaC5leHBvcnRzKTt2YXIgeTc9T2JqZWN0LmRlZmluZVByb3BlcnR5LGI3PU9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzLF83PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLHhnPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsRTc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx4Nz1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLENnPSh0LGUscik9PmUgaW4gdD95Nyh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnJ9KTp0W2VdPXIsYWM9KHQsZSk9Pntmb3IodmFyIHIgaW4gZXx8KGU9e30pKUU3LmNhbGwoZSxyKSYmQ2codCxyLGVbcl0pO2lmKHhnKWZvcih2YXIgciBvZiB4ZyhlKSl4Ny5jYWxsKGUscikmJkNnKHQscixlW3JdKTtyZXR1cm4gdH0sQzc9KHQsZSk9PmI3KHQsXzcoZSkpO2Z1bmN0aW9uIGNuKHQsZSxyKXtsZXQgbjtjb25zdCBpPW1oKHQpO3JldHVybiBlLnJwY01hcCYmKG49ZS5ycGNNYXBbaV0pLG58fChuPWAke3Y3fT9jaGFpbklkPWVpcDE1NToke2l9JnByb2plY3RJZD0ke3J9YCksbn1mdW5jdGlvbiBtaCh0KXtyZXR1cm4gdC5pbmNsdWRlcygiZWlwMTU1Iik/TnVtYmVyKHQuc3BsaXQoIjoiKVsxXSk6TnVtYmVyKHQpfWZ1bmN0aW9uIEk3KHQsZSl7aWYoIWUuaW5jbHVkZXModCkpdGhyb3cgbmV3IEVycm9yKGBDaGFpbiAnJHt0fScgbm90IGFwcHJvdmVkLiBQbGVhc2UgdXNlIG9uZSBvZiB0aGUgZm9sbG93aW5nOiAke2UudG9TdHJpbmcoKX1gKX1mdW5jdGlvbiBPNyh0KXtyZXR1cm4gdC5tYXAoZT0+YCR7ZS5zcGxpdCgiOiIpWzBdfToke2Uuc3BsaXQoIjoiKVsxXX1gKX1mdW5jdGlvbiBBNyh0LGUpe2NvbnN0IHI9T2JqZWN0LmtleXMoZS5uYW1lc3BhY2VzKS5maWx0ZXIoaT0+aS5pbmNsdWRlcyh0KSk7aWYoIXIubGVuZ3RoKXJldHVybltdO2NvbnN0IG49W107cmV0dXJuIHIuZm9yRWFjaChpPT57Y29uc3Qgbz1lLm5hbWVzcGFjZXNbaV0uYWNjb3VudHM7bi5wdXNoKC4uLm8pfSksbn1mdW5jdGlvbiBTNyh0LGU9e30pe2NvbnN0IHI9SWcodCksbj1JZyhlKTtyZXR1cm4gZ2guZXhwb3J0cy5tZXJnZShyLG4pfWZ1bmN0aW9uIElnKHQpe3ZhciBlLHIsbixpO2NvbnN0IG89e307aWYoISRzKHQpKXJldHVybiBvO2Zvcihjb25zdFtjLGxdb2YgT2JqZWN0LmVudHJpZXModCkpe2NvbnN0IGg9TTEoYyk/W2NdOmwuY2hhaW5zLGQ9bC5tZXRob2RzfHxbXSx2PWwuZXZlbnRzfHxbXSxFPWwucnBjTWFwfHx7fSxfPVlhKGMpO29bX109QzcoYWMoYWMoe30sb1tfXSksbCkse2NoYWluczpEdShoLChlPW9bX10pPT1udWxsP3ZvaWQgMDplLmNoYWlucyksbWV0aG9kczpEdShkLChyPW9bX10pPT1udWxsP3ZvaWQgMDpyLm1ldGhvZHMpLGV2ZW50czpEdSh2LChuPW9bX10pPT1udWxsP3ZvaWQgMDpuLmV2ZW50cykscnBjTWFwOmFjKGFjKHt9LEUpLChpPW9bX10pPT1udWxsP3ZvaWQgMDppLnJwY01hcCl9KX1yZXR1cm4gb31jb25zdCBLaT0odCxlKT0+e2NvbnN0IHI9bj0+e24ucmVxdWVzdCE9PWUucmVxdWVzdHx8bi50b3BpYyE9PWUudG9waWN8fCh0LmV2ZW50cy5yZW1vdmVMaXN0ZW5lcigic2Vzc2lvbl9yZXF1ZXN0X3NlbnQiLHIpLEQ3KGUsdC5jb3JlLnN0b3JhZ2UpKX07dC5vbigic2Vzc2lvbl9yZXF1ZXN0X3NlbnQiLHIpfTthc3luYyBmdW5jdGlvbiBENyh0LGUpe3RyeXtjb25zdCByPWF3YWl0IGUuZ2V0SXRlbSgiV0FMTEVUQ09OTkVDVF9ERUVQTElOS19DSE9JQ0UiKTtpZighcilyZXR1cm47Y29uc3Qgbj10eXBlb2Ygcj09InN0cmluZyI/SlNPTi5wYXJzZShyKTpyO2xldCBpPW4/LmhyZWY7aWYodHlwZW9mIGkhPSJzdHJpbmciKXJldHVybjtpLmVuZHNXaXRoKCIvIikmJihpPWkuc2xpY2UoMCwtMSkpO2NvbnN0IG89YCR7aX0vd2M/cmVxdWVzdElkPSR7dC5pZH0mc2Vzc2lvblRvcGljPSR7dC50b3BpY31gLGM9RDEoKTtjPT09a2kuYnJvd3Nlcj93aW5kb3cub3BlbihvLCJfc2VsZiIsIm5vcmVmZXJyZXIgbm9vcGVuZXIiKTpjPT09a2kucmVhY3ROYXRpdmUmJnR5cGVvZihnbG9iYWw9PW51bGw/dm9pZCAwOmdsb2JhbC5MaW5raW5nKTwidSImJmF3YWl0IGdsb2JhbC5MaW5raW5nLm9wZW5VUkwobyl9Y2F0Y2gocil7Y29uc29sZS5lcnJvcihyKX19Y29uc3QgT2c9e30sWXQ9dD0+T2dbdF0sd2g9KHQsZSk9PntPZ1t0XT1lfTtjbGFzcyAkN3tjb25zdHJ1Y3RvcihlKXt0aGlzLm5hbWU9InBvbGthZG90Iix0aGlzLm5hbWVzcGFjZT1lLm5hbWVzcGFjZSx0aGlzLmV2ZW50cz1ZdCgiZXZlbnRzIiksdGhpcy5jbGllbnQ9WXQoImNsaWVudCIpLHRoaXMuY2hhaW5JZD10aGlzLmdldERlZmF1bHRDaGFpbigpLHRoaXMuaHR0cFByb3ZpZGVycz10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcnMoKX11cGRhdGVOYW1lc3BhY2UoZSl7dGhpcy5uYW1lc3BhY2U9T2JqZWN0LmFzc2lnbih0aGlzLm5hbWVzcGFjZSxlKX1yZXF1ZXN0QWNjb3VudHMoKXtyZXR1cm4gdGhpcy5nZXRBY2NvdW50cygpfWdldERlZmF1bHRDaGFpbigpe2lmKHRoaXMuY2hhaW5JZClyZXR1cm4gdGhpcy5jaGFpbklkO2lmKHRoaXMubmFtZXNwYWNlLmRlZmF1bHRDaGFpbilyZXR1cm4gdGhpcy5uYW1lc3BhY2UuZGVmYXVsdENoYWluO2NvbnN0IGU9dGhpcy5uYW1lc3BhY2UuY2hhaW5zWzBdO2lmKCFlKXRocm93IG5ldyBFcnJvcigiQ2hhaW5JZCBub3QgZm91bmQiKTtyZXR1cm4gZS5zcGxpdCgiOiIpWzFdfXJlcXVlc3QoZSl7cmV0dXJuIHRoaXMubmFtZXNwYWNlLm1ldGhvZHMuaW5jbHVkZXMoZS5yZXF1ZXN0Lm1ldGhvZCk/KEtpKHRoaXMuY2xpZW50LGUpLHRoaXMuY2xpZW50LnJlcXVlc3QoZSkpOnRoaXMuZ2V0SHR0cFByb3ZpZGVyKCkucmVxdWVzdChlLnJlcXVlc3QpfXNldERlZmF1bHRDaGFpbihlLHIpe2lmKHRoaXMuY2hhaW5JZD1lLCF0aGlzLmh0dHBQcm92aWRlcnNbZV0pe2NvbnN0IG49cnx8Y24oYCR7dGhpcy5uYW1lfToke2V9YCx0aGlzLm5hbWVzcGFjZSk7aWYoIW4pdGhyb3cgbmV3IEVycm9yKGBObyBSUEMgdXJsIHByb3ZpZGVkIGZvciBjaGFpbklkOiAke2V9YCk7dGhpcy5zZXRIdHRwUHJvdmlkZXIoZSxuKX10aGlzLmV2ZW50cy5lbWl0KGRpLkRFRkFVTFRfQ0hBSU5fQ0hBTkdFRCxgJHt0aGlzLm5hbWV9OiR7dGhpcy5jaGFpbklkfWApfWdldEFjY291bnRzKCl7Y29uc3QgZT10aGlzLm5hbWVzcGFjZS5hY2NvdW50cztyZXR1cm4gZT9lLmZpbHRlcihyPT5yLnNwbGl0KCI6IilbMV09PT10aGlzLmNoYWluSWQudG9TdHJpbmcoKSkubWFwKHI9PnIuc3BsaXQoIjoiKVsyXSl8fFtdOltdfWNyZWF0ZUh0dHBQcm92aWRlcnMoKXtjb25zdCBlPXt9O3JldHVybiB0aGlzLm5hbWVzcGFjZS5jaGFpbnMuZm9yRWFjaChyPT57dmFyIG47ZVtyXT10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcihyLChuPXRoaXMubmFtZXNwYWNlLnJwY01hcCk9PW51bGw/dm9pZCAwOm5bcl0pfSksZX1nZXRIdHRwUHJvdmlkZXIoKXtjb25zdCBlPWAke3RoaXMubmFtZX06JHt0aGlzLmNoYWluSWR9YCxyPXRoaXMuaHR0cFByb3ZpZGVyc1tlXTtpZih0eXBlb2Ygcj4idSIpdGhyb3cgbmV3IEVycm9yKGBKU09OLVJQQyBwcm92aWRlciBmb3IgJHtlfSBub3QgZm91bmRgKTtyZXR1cm4gcn1zZXRIdHRwUHJvdmlkZXIoZSxyKXtjb25zdCBuPXRoaXMuY3JlYXRlSHR0cFByb3ZpZGVyKGUscik7biYmKHRoaXMuaHR0cFByb3ZpZGVyc1tlXT1uKX1jcmVhdGVIdHRwUHJvdmlkZXIoZSxyKXtjb25zdCBuPXJ8fGNuKGUsdGhpcy5uYW1lc3BhY2UpO3JldHVybiB0eXBlb2Ygbj4idSI/dm9pZCAwOm5ldyBoaShuZXcgVmkobixZdCgiZGlzYWJsZVByb3ZpZGVyUGluZyIpKSl9fWNsYXNzIFA3e2NvbnN0cnVjdG9yKGUpe3RoaXMubmFtZT0iZWlwMTU1Iix0aGlzLm5hbWVzcGFjZT1lLm5hbWVzcGFjZSx0aGlzLmV2ZW50cz1ZdCgiZXZlbnRzIiksdGhpcy5jbGllbnQ9WXQoImNsaWVudCIpLHRoaXMuaHR0cFByb3ZpZGVycz10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcnMoKSx0aGlzLmNoYWluSWQ9cGFyc2VJbnQodGhpcy5nZXREZWZhdWx0Q2hhaW4oKSl9YXN5bmMgcmVxdWVzdChlKXt2YXIgcjtzd2l0Y2goZS5yZXF1ZXN0Lm1ldGhvZCl7Y2FzZSJldGhfcmVxdWVzdEFjY291bnRzIjpyZXR1cm4gdGhpcy5nZXRBY2NvdW50cygpO2Nhc2UiZXRoX2FjY291bnRzIjpyZXR1cm4gdGhpcy5nZXRBY2NvdW50cygpO2Nhc2Uid2FsbGV0X3N3aXRjaEV0aGVyZXVtQ2hhaW4iOnJldHVybiB0aGlzLmhhbmRsZVN3aXRjaENoYWluKGUucmVxdWVzdC5wYXJhbXM/KHI9ZS5yZXF1ZXN0LnBhcmFtc1swXSk9PW51bGw/dm9pZCAwOnIuY2hhaW5JZDoiMHgwIiksbnVsbDtjYXNlImV0aF9jaGFpbklkIjpyZXR1cm4gcGFyc2VJbnQodGhpcy5nZXREZWZhdWx0Q2hhaW4oKSl9cmV0dXJuIHRoaXMubmFtZXNwYWNlLm1ldGhvZHMuaW5jbHVkZXMoZS5yZXF1ZXN0Lm1ldGhvZCk/KEtpKHRoaXMuY2xpZW50LGUpLGF3YWl0IHRoaXMuY2xpZW50LnJlcXVlc3QoZSkpOnRoaXMuZ2V0SHR0cFByb3ZpZGVyKCkucmVxdWVzdChlLnJlcXVlc3QpfXVwZGF0ZU5hbWVzcGFjZShlKXt0aGlzLm5hbWVzcGFjZT1PYmplY3QuYXNzaWduKHRoaXMubmFtZXNwYWNlLGUpfXNldERlZmF1bHRDaGFpbihlLHIpe2NvbnN0IG49bWgoZSk7aWYoIXRoaXMuaHR0cFByb3ZpZGVyc1tuXSl7Y29uc3QgaT1yfHxjbihgJHt0aGlzLm5hbWV9OiR7bn1gLHRoaXMubmFtZXNwYWNlLHRoaXMuY2xpZW50LmNvcmUucHJvamVjdElkKTtpZighaSl0aHJvdyBuZXcgRXJyb3IoYE5vIFJQQyB1cmwgcHJvdmlkZWQgZm9yIGNoYWluSWQ6ICR7bn1gKTt0aGlzLnNldEh0dHBQcm92aWRlcihuLGkpfXRoaXMuY2hhaW5JZD1uLHRoaXMuZXZlbnRzLmVtaXQoZGkuREVGQVVMVF9DSEFJTl9DSEFOR0VELGAke3RoaXMubmFtZX06JHtufWApfXJlcXVlc3RBY2NvdW50cygpe3JldHVybiB0aGlzLmdldEFjY291bnRzKCl9Z2V0RGVmYXVsdENoYWluKCl7aWYodGhpcy5jaGFpbklkKXJldHVybiB0aGlzLmNoYWluSWQudG9TdHJpbmcoKTtpZih0aGlzLm5hbWVzcGFjZS5kZWZhdWx0Q2hhaW4pcmV0dXJuIHRoaXMubmFtZXNwYWNlLmRlZmF1bHRDaGFpbjtjb25zdCBlPXRoaXMubmFtZXNwYWNlLmNoYWluc1swXTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkNoYWluSWQgbm90IGZvdW5kIik7cmV0dXJuIGUuc3BsaXQoIjoiKVsxXX1jcmVhdGVIdHRwUHJvdmlkZXIoZSxyKXtjb25zdCBuPXJ8fGNuKGAke3RoaXMubmFtZX06JHtlfWAsdGhpcy5uYW1lc3BhY2UsdGhpcy5jbGllbnQuY29yZS5wcm9qZWN0SWQpO3JldHVybiB0eXBlb2Ygbj4idSI/dm9pZCAwOm5ldyBoaShuZXcgVmkobixZdCgiZGlzYWJsZVByb3ZpZGVyUGluZyIpKSl9c2V0SHR0cFByb3ZpZGVyKGUscil7Y29uc3Qgbj10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcihlLHIpO24mJih0aGlzLmh0dHBQcm92aWRlcnNbZV09bil9Y3JlYXRlSHR0cFByb3ZpZGVycygpe2NvbnN0IGU9e307cmV0dXJuIHRoaXMubmFtZXNwYWNlLmNoYWlucy5mb3JFYWNoKHI9Pnt2YXIgbjtjb25zdCBpPW1oKHIpO2VbaV09dGhpcy5jcmVhdGVIdHRwUHJvdmlkZXIoaSwobj10aGlzLm5hbWVzcGFjZS5ycGNNYXApPT1udWxsP3ZvaWQgMDpuW3JdKX0pLGV9Z2V0QWNjb3VudHMoKXtjb25zdCBlPXRoaXMubmFtZXNwYWNlLmFjY291bnRzO3JldHVybiBlP1suLi5uZXcgU2V0KGUuZmlsdGVyKHI9PnIuc3BsaXQoIjoiKVsxXT09PXRoaXMuY2hhaW5JZC50b1N0cmluZygpKS5tYXAocj0+ci5zcGxpdCgiOiIpWzJdKSldOltdfWdldEh0dHBQcm92aWRlcigpe2NvbnN0IGU9dGhpcy5jaGFpbklkLHI9dGhpcy5odHRwUHJvdmlkZXJzW2VdO2lmKHR5cGVvZiByPiJ1Iil0aHJvdyBuZXcgRXJyb3IoYEpTT04tUlBDIHByb3ZpZGVyIGZvciAke2V9IG5vdCBmb3VuZGApO3JldHVybiByfWhhbmRsZVN3aXRjaENoYWluKGUpe2NvbnN0IHI9cGFyc2VJbnQoZSwxNiksbj1gJHt0aGlzLm5hbWV9OiR7cn1gO0k3KG4sdGhpcy5uYW1lc3BhY2UuY2hhaW5zKSx0aGlzLnNldERlZmF1bHRDaGFpbihgJHtyfWApfX1jbGFzcyBUN3tjb25zdHJ1Y3RvcihlKXt0aGlzLm5hbWU9InNvbGFuYSIsdGhpcy5uYW1lc3BhY2U9ZS5uYW1lc3BhY2UsdGhpcy5ldmVudHM9WXQoImV2ZW50cyIpLHRoaXMuY2xpZW50PVl0KCJjbGllbnQiKSx0aGlzLmNoYWluSWQ9dGhpcy5nZXREZWZhdWx0Q2hhaW4oKSx0aGlzLmh0dHBQcm92aWRlcnM9dGhpcy5jcmVhdGVIdHRwUHJvdmlkZXJzKCl9dXBkYXRlTmFtZXNwYWNlKGUpe3RoaXMubmFtZXNwYWNlPU9iamVjdC5hc3NpZ24odGhpcy5uYW1lc3BhY2UsZSl9cmVxdWVzdEFjY291bnRzKCl7cmV0dXJuIHRoaXMuZ2V0QWNjb3VudHMoKX1yZXF1ZXN0KGUpe3JldHVybiB0aGlzLm5hbWVzcGFjZS5tZXRob2RzLmluY2x1ZGVzKGUucmVxdWVzdC5tZXRob2QpPyhLaSh0aGlzLmNsaWVudCxlKSx0aGlzLmNsaWVudC5yZXF1ZXN0KGUpKTp0aGlzLmdldEh0dHBQcm92aWRlcigpLnJlcXVlc3QoZS5yZXF1ZXN0KX1zZXREZWZhdWx0Q2hhaW4oZSxyKXtpZighdGhpcy5odHRwUHJvdmlkZXJzW2VdKXtjb25zdCBuPXJ8fGNuKGAke3RoaXMubmFtZX06JHtlfWAsdGhpcy5uYW1lc3BhY2UsdGhpcy5jbGllbnQuY29yZS5wcm9qZWN0SWQpO2lmKCFuKXRocm93IG5ldyBFcnJvcihgTm8gUlBDIHVybCBwcm92aWRlZCBmb3IgY2hhaW5JZDogJHtlfWApO3RoaXMuc2V0SHR0cFByb3ZpZGVyKGUsbil9dGhpcy5jaGFpbklkPWUsdGhpcy5ldmVudHMuZW1pdChkaS5ERUZBVUxUX0NIQUlOX0NIQU5HRUQsYCR7dGhpcy5uYW1lfToke3RoaXMuY2hhaW5JZH1gKX1nZXREZWZhdWx0Q2hhaW4oKXtpZih0aGlzLmNoYWluSWQpcmV0dXJuIHRoaXMuY2hhaW5JZDtpZih0aGlzLm5hbWVzcGFjZS5kZWZhdWx0Q2hhaW4pcmV0dXJuIHRoaXMubmFtZXNwYWNlLmRlZmF1bHRDaGFpbjtjb25zdCBlPXRoaXMubmFtZXNwYWNlLmNoYWluc1swXTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkNoYWluSWQgbm90IGZvdW5kIik7cmV0dXJuIGUuc3BsaXQoIjoiKVsxXX1nZXRBY2NvdW50cygpe2NvbnN0IGU9dGhpcy5uYW1lc3BhY2UuYWNjb3VudHM7cmV0dXJuIGU/Wy4uLm5ldyBTZXQoZS5maWx0ZXIocj0+ci5zcGxpdCgiOiIpWzFdPT09dGhpcy5jaGFpbklkLnRvU3RyaW5nKCkpLm1hcChyPT5yLnNwbGl0KCI6IilbMl0pKV06W119Y3JlYXRlSHR0cFByb3ZpZGVycygpe2NvbnN0IGU9e307cmV0dXJuIHRoaXMubmFtZXNwYWNlLmNoYWlucy5mb3JFYWNoKHI9Pnt2YXIgbjtlW3JdPXRoaXMuY3JlYXRlSHR0cFByb3ZpZGVyKHIsKG49dGhpcy5uYW1lc3BhY2UucnBjTWFwKT09bnVsbD92b2lkIDA6bltyXSl9KSxlfWdldEh0dHBQcm92aWRlcigpe2NvbnN0IGU9YCR7dGhpcy5uYW1lfToke3RoaXMuY2hhaW5JZH1gLHI9dGhpcy5odHRwUHJvdmlkZXJzW2VdO2lmKHR5cGVvZiByPiJ1Iil0aHJvdyBuZXcgRXJyb3IoYEpTT04tUlBDIHByb3ZpZGVyIGZvciAke2V9IG5vdCBmb3VuZGApO3JldHVybiByfXNldEh0dHBQcm92aWRlcihlLHIpe2NvbnN0IG49dGhpcy5jcmVhdGVIdHRwUHJvdmlkZXIoZSxyKTtuJiYodGhpcy5odHRwUHJvdmlkZXJzW2VdPW4pfWNyZWF0ZUh0dHBQcm92aWRlcihlLHIpe2NvbnN0IG49cnx8Y24oZSx0aGlzLm5hbWVzcGFjZSx0aGlzLmNsaWVudC5jb3JlLnByb2plY3RJZCk7cmV0dXJuIHR5cGVvZiBuPiJ1Ij92b2lkIDA6bmV3IGhpKG5ldyBWaShuLFl0KCJkaXNhYmxlUHJvdmlkZXJQaW5nIikpKX19Y2xhc3MgUjd7Y29uc3RydWN0b3IoZSl7dGhpcy5uYW1lPSJjb3Ntb3MiLHRoaXMubmFtZXNwYWNlPWUubmFtZXNwYWNlLHRoaXMuZXZlbnRzPVl0KCJldmVudHMiKSx0aGlzLmNsaWVudD1ZdCgiY2xpZW50IiksdGhpcy5jaGFpbklkPXRoaXMuZ2V0RGVmYXVsdENoYWluKCksdGhpcy5odHRwUHJvdmlkZXJzPXRoaXMuY3JlYXRlSHR0cFByb3ZpZGVycygpfXVwZGF0ZU5hbWVzcGFjZShlKXt0aGlzLm5hbWVzcGFjZT1PYmplY3QuYXNzaWduKHRoaXMubmFtZXNwYWNlLGUpfXJlcXVlc3RBY2NvdW50cygpe3JldHVybiB0aGlzLmdldEFjY291bnRzKCl9Z2V0RGVmYXVsdENoYWluKCl7aWYodGhpcy5jaGFpbklkKXJldHVybiB0aGlzLmNoYWluSWQ7aWYodGhpcy5uYW1lc3BhY2UuZGVmYXVsdENoYWluKXJldHVybiB0aGlzLm5hbWVzcGFjZS5kZWZhdWx0Q2hhaW47Y29uc3QgZT10aGlzLm5hbWVzcGFjZS5jaGFpbnNbMF07aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJDaGFpbklkIG5vdCBmb3VuZCIpO3JldHVybiBlLnNwbGl0KCI6IilbMV19cmVxdWVzdChlKXtyZXR1cm4gdGhpcy5uYW1lc3BhY2UubWV0aG9kcy5pbmNsdWRlcyhlLnJlcXVlc3QubWV0aG9kKT8oS2kodGhpcy5jbGllbnQsZSksdGhpcy5jbGllbnQucmVxdWVzdChlKSk6dGhpcy5nZXRIdHRwUHJvdmlkZXIoKS5yZXF1ZXN0KGUucmVxdWVzdCl9c2V0RGVmYXVsdENoYWluKGUscil7aWYodGhpcy5jaGFpbklkPWUsIXRoaXMuaHR0cFByb3ZpZGVyc1tlXSl7Y29uc3Qgbj1yfHxjbihgJHt0aGlzLm5hbWV9OiR7ZX1gLHRoaXMubmFtZXNwYWNlLHRoaXMuY2xpZW50LmNvcmUucHJvamVjdElkKTtpZighbil0aHJvdyBuZXcgRXJyb3IoYE5vIFJQQyB1cmwgcHJvdmlkZWQgZm9yIGNoYWluSWQ6ICR7ZX1gKTt0aGlzLnNldEh0dHBQcm92aWRlcihlLG4pfXRoaXMuZXZlbnRzLmVtaXQoZGkuREVGQVVMVF9DSEFJTl9DSEFOR0VELGAke3RoaXMubmFtZX06JHt0aGlzLmNoYWluSWR9YCl9Z2V0QWNjb3VudHMoKXtjb25zdCBlPXRoaXMubmFtZXNwYWNlLmFjY291bnRzO3JldHVybiBlP1suLi5uZXcgU2V0KGUuZmlsdGVyKHI9PnIuc3BsaXQoIjoiKVsxXT09PXRoaXMuY2hhaW5JZC50b1N0cmluZygpKS5tYXAocj0+ci5zcGxpdCgiOiIpWzJdKSldOltdfWNyZWF0ZUh0dHBQcm92aWRlcnMoKXtjb25zdCBlPXt9O3JldHVybiB0aGlzLm5hbWVzcGFjZS5jaGFpbnMuZm9yRWFjaChyPT57dmFyIG47ZVtyXT10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcihyLChuPXRoaXMubmFtZXNwYWNlLnJwY01hcCk9PW51bGw/dm9pZCAwOm5bcl0pfSksZX1nZXRIdHRwUHJvdmlkZXIoKXtjb25zdCBlPWAke3RoaXMubmFtZX06JHt0aGlzLmNoYWluSWR9YCxyPXRoaXMuaHR0cFByb3ZpZGVyc1tlXTtpZih0eXBlb2Ygcj4idSIpdGhyb3cgbmV3IEVycm9yKGBKU09OLVJQQyBwcm92aWRlciBmb3IgJHtlfSBub3QgZm91bmRgKTtyZXR1cm4gcn1zZXRIdHRwUHJvdmlkZXIoZSxyKXtjb25zdCBuPXRoaXMuY3JlYXRlSHR0cFByb3ZpZGVyKGUscik7biYmKHRoaXMuaHR0cFByb3ZpZGVyc1tlXT1uKX1jcmVhdGVIdHRwUHJvdmlkZXIoZSxyKXtjb25zdCBuPXJ8fGNuKGUsdGhpcy5uYW1lc3BhY2UsdGhpcy5jbGllbnQuY29yZS5wcm9qZWN0SWQpO3JldHVybiB0eXBlb2Ygbj4idSI/dm9pZCAwOm5ldyBoaShuZXcgVmkobixZdCgiZGlzYWJsZVByb3ZpZGVyUGluZyIpKSl9fWNsYXNzIE43e2NvbnN0cnVjdG9yKGUpe3RoaXMubmFtZT0iY2lwMzQiLHRoaXMubmFtZXNwYWNlPWUubmFtZXNwYWNlLHRoaXMuZXZlbnRzPVl0KCJldmVudHMiKSx0aGlzLmNsaWVudD1ZdCgiY2xpZW50IiksdGhpcy5jaGFpbklkPXRoaXMuZ2V0RGVmYXVsdENoYWluKCksdGhpcy5odHRwUHJvdmlkZXJzPXRoaXMuY3JlYXRlSHR0cFByb3ZpZGVycygpfXVwZGF0ZU5hbWVzcGFjZShlKXt0aGlzLm5hbWVzcGFjZT1PYmplY3QuYXNzaWduKHRoaXMubmFtZXNwYWNlLGUpfXJlcXVlc3RBY2NvdW50cygpe3JldHVybiB0aGlzLmdldEFjY291bnRzKCl9Z2V0RGVmYXVsdENoYWluKCl7aWYodGhpcy5jaGFpbklkKXJldHVybiB0aGlzLmNoYWluSWQ7aWYodGhpcy5uYW1lc3BhY2UuZGVmYXVsdENoYWluKXJldHVybiB0aGlzLm5hbWVzcGFjZS5kZWZhdWx0Q2hhaW47Y29uc3QgZT10aGlzLm5hbWVzcGFjZS5jaGFpbnNbMF07aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJDaGFpbklkIG5vdCBmb3VuZCIpO3JldHVybiBlLnNwbGl0KCI6IilbMV19cmVxdWVzdChlKXtyZXR1cm4gdGhpcy5uYW1lc3BhY2UubWV0aG9kcy5pbmNsdWRlcyhlLnJlcXVlc3QubWV0aG9kKT8oS2kodGhpcy5jbGllbnQsZSksdGhpcy5jbGllbnQucmVxdWVzdChlKSk6dGhpcy5nZXRIdHRwUHJvdmlkZXIoKS5yZXF1ZXN0KGUucmVxdWVzdCl9c2V0RGVmYXVsdENoYWluKGUscil7aWYodGhpcy5jaGFpbklkPWUsIXRoaXMuaHR0cFByb3ZpZGVyc1tlXSl7Y29uc3Qgbj1yfHx0aGlzLmdldENhcmRhbm9SUENVcmwoZSk7aWYoIW4pdGhyb3cgbmV3IEVycm9yKGBObyBSUEMgdXJsIHByb3ZpZGVkIGZvciBjaGFpbklkOiAke2V9YCk7dGhpcy5zZXRIdHRwUHJvdmlkZXIoZSxuKX10aGlzLmV2ZW50cy5lbWl0KGRpLkRFRkFVTFRfQ0hBSU5fQ0hBTkdFRCxgJHt0aGlzLm5hbWV9OiR7dGhpcy5jaGFpbklkfWApfWdldEFjY291bnRzKCl7Y29uc3QgZT10aGlzLm5hbWVzcGFjZS5hY2NvdW50cztyZXR1cm4gZT9bLi4ubmV3IFNldChlLmZpbHRlcihyPT5yLnNwbGl0KCI6IilbMV09PT10aGlzLmNoYWluSWQudG9TdHJpbmcoKSkubWFwKHI9PnIuc3BsaXQoIjoiKVsyXSkpXTpbXX1jcmVhdGVIdHRwUHJvdmlkZXJzKCl7Y29uc3QgZT17fTtyZXR1cm4gdGhpcy5uYW1lc3BhY2UuY2hhaW5zLmZvckVhY2gocj0+e2NvbnN0IG49dGhpcy5nZXRDYXJkYW5vUlBDVXJsKHIpO2Vbcl09dGhpcy5jcmVhdGVIdHRwUHJvdmlkZXIocixuKX0pLGV9Z2V0SHR0cFByb3ZpZGVyKCl7Y29uc3QgZT1gJHt0aGlzLm5hbWV9OiR7dGhpcy5jaGFpbklkfWAscj10aGlzLmh0dHBQcm92aWRlcnNbZV07aWYodHlwZW9mIHI+InUiKXRocm93IG5ldyBFcnJvcihgSlNPTi1SUEMgcHJvdmlkZXIgZm9yICR7ZX0gbm90IGZvdW5kYCk7cmV0dXJuIHJ9Z2V0Q2FyZGFub1JQQ1VybChlKXtjb25zdCByPXRoaXMubmFtZXNwYWNlLnJwY01hcDtpZihyKXJldHVybiByW2VdfXNldEh0dHBQcm92aWRlcihlLHIpe2NvbnN0IG49dGhpcy5jcmVhdGVIdHRwUHJvdmlkZXIoZSxyKTtuJiYodGhpcy5odHRwUHJvdmlkZXJzW2VdPW4pfWNyZWF0ZUh0dHBQcm92aWRlcihlLHIpe2NvbnN0IG49cnx8dGhpcy5nZXRDYXJkYW5vUlBDVXJsKGUpO3JldHVybiB0eXBlb2Ygbj4idSI/dm9pZCAwOm5ldyBoaShuZXcgVmkobixZdCgiZGlzYWJsZVByb3ZpZGVyUGluZyIpKSl9fWNsYXNzIEw3e2NvbnN0cnVjdG9yKGUpe3RoaXMubmFtZT0iZWxyb25kIix0aGlzLm5hbWVzcGFjZT1lLm5hbWVzcGFjZSx0aGlzLmV2ZW50cz1ZdCgiZXZlbnRzIiksdGhpcy5jbGllbnQ9WXQoImNsaWVudCIpLHRoaXMuY2hhaW5JZD10aGlzLmdldERlZmF1bHRDaGFpbigpLHRoaXMuaHR0cFByb3ZpZGVycz10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcnMoKX11cGRhdGVOYW1lc3BhY2UoZSl7dGhpcy5uYW1lc3BhY2U9T2JqZWN0LmFzc2lnbih0aGlzLm5hbWVzcGFjZSxlKX1yZXF1ZXN0QWNjb3VudHMoKXtyZXR1cm4gdGhpcy5nZXRBY2NvdW50cygpfXJlcXVlc3QoZSl7cmV0dXJuIHRoaXMubmFtZXNwYWNlLm1ldGhvZHMuaW5jbHVkZXMoZS5yZXF1ZXN0Lm1ldGhvZCk/KEtpKHRoaXMuY2xpZW50LGUpLHRoaXMuY2xpZW50LnJlcXVlc3QoZSkpOnRoaXMuZ2V0SHR0cFByb3ZpZGVyKCkucmVxdWVzdChlLnJlcXVlc3QpfXNldERlZmF1bHRDaGFpbihlLHIpe2lmKCF0aGlzLmh0dHBQcm92aWRlcnNbZV0pe2NvbnN0IG49cnx8Y24oYCR7dGhpcy5uYW1lfToke2V9YCx0aGlzLm5hbWVzcGFjZSx0aGlzLmNsaWVudC5jb3JlLnByb2plY3RJZCk7aWYoIW4pdGhyb3cgbmV3IEVycm9yKGBObyBSUEMgdXJsIHByb3ZpZGVkIGZvciBjaGFpbklkOiAke2V9YCk7dGhpcy5zZXRIdHRwUHJvdmlkZXIoZSxuKX10aGlzLmNoYWluSWQ9ZSx0aGlzLmV2ZW50cy5lbWl0KGRpLkRFRkFVTFRfQ0hBSU5fQ0hBTkdFRCxgJHt0aGlzLm5hbWV9OiR7dGhpcy5jaGFpbklkfWApfWdldERlZmF1bHRDaGFpbigpe2lmKHRoaXMuY2hhaW5JZClyZXR1cm4gdGhpcy5jaGFpbklkO2lmKHRoaXMubmFtZXNwYWNlLmRlZmF1bHRDaGFpbilyZXR1cm4gdGhpcy5uYW1lc3BhY2UuZGVmYXVsdENoYWluO2NvbnN0IGU9dGhpcy5uYW1lc3BhY2UuY2hhaW5zWzBdO2lmKCFlKXRocm93IG5ldyBFcnJvcigiQ2hhaW5JZCBub3QgZm91bmQiKTtyZXR1cm4gZS5zcGxpdCgiOiIpWzFdfWdldEFjY291bnRzKCl7Y29uc3QgZT10aGlzLm5hbWVzcGFjZS5hY2NvdW50cztyZXR1cm4gZT9bLi4ubmV3IFNldChlLmZpbHRlcihyPT5yLnNwbGl0KCI6IilbMV09PT10aGlzLmNoYWluSWQudG9TdHJpbmcoKSkubWFwKHI9PnIuc3BsaXQoIjoiKVsyXSkpXTpbXX1jcmVhdGVIdHRwUHJvdmlkZXJzKCl7Y29uc3QgZT17fTtyZXR1cm4gdGhpcy5uYW1lc3BhY2UuY2hhaW5zLmZvckVhY2gocj0+e3ZhciBuO2Vbcl09dGhpcy5jcmVhdGVIdHRwUHJvdmlkZXIociwobj10aGlzLm5hbWVzcGFjZS5ycGNNYXApPT1udWxsP3ZvaWQgMDpuW3JdKX0pLGV9Z2V0SHR0cFByb3ZpZGVyKCl7Y29uc3QgZT1gJHt0aGlzLm5hbWV9OiR7dGhpcy5jaGFpbklkfWAscj10aGlzLmh0dHBQcm92aWRlcnNbZV07aWYodHlwZW9mIHI+InUiKXRocm93IG5ldyBFcnJvcihgSlNPTi1SUEMgcHJvdmlkZXIgZm9yICR7ZX0gbm90IGZvdW5kYCk7cmV0dXJuIHJ9c2V0SHR0cFByb3ZpZGVyKGUscil7Y29uc3Qgbj10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcihlLHIpO24mJih0aGlzLmh0dHBQcm92aWRlcnNbZV09bil9Y3JlYXRlSHR0cFByb3ZpZGVyKGUscil7Y29uc3Qgbj1yfHxjbihlLHRoaXMubmFtZXNwYWNlLHRoaXMuY2xpZW50LmNvcmUucHJvamVjdElkKTtyZXR1cm4gdHlwZW9mIG4+InUiP3ZvaWQgMDpuZXcgaGkobmV3IFZpKG4sWXQoImRpc2FibGVQcm92aWRlclBpbmciKSkpfX1jbGFzcyBNN3tjb25zdHJ1Y3RvcihlKXt0aGlzLm5hbWU9Im11bHRpdmVyc3giLHRoaXMubmFtZXNwYWNlPWUubmFtZXNwYWNlLHRoaXMuZXZlbnRzPVl0KCJldmVudHMiKSx0aGlzLmNsaWVudD1ZdCgiY2xpZW50IiksdGhpcy5jaGFpbklkPXRoaXMuZ2V0RGVmYXVsdENoYWluKCksdGhpcy5odHRwUHJvdmlkZXJzPXRoaXMuY3JlYXRlSHR0cFByb3ZpZGVycygpfXVwZGF0ZU5hbWVzcGFjZShlKXt0aGlzLm5hbWVzcGFjZT1PYmplY3QuYXNzaWduKHRoaXMubmFtZXNwYWNlLGUpfXJlcXVlc3RBY2NvdW50cygpe3JldHVybiB0aGlzLmdldEFjY291bnRzKCl9cmVxdWVzdChlKXtyZXR1cm4gdGhpcy5uYW1lc3BhY2UubWV0aG9kcy5pbmNsdWRlcyhlLnJlcXVlc3QubWV0aG9kKT8oS2kodGhpcy5jbGllbnQsZSksdGhpcy5jbGllbnQucmVxdWVzdChlKSk6dGhpcy5nZXRIdHRwUHJvdmlkZXIoKS5yZXF1ZXN0KGUucmVxdWVzdCl9c2V0RGVmYXVsdENoYWluKGUscil7aWYoIXRoaXMuaHR0cFByb3ZpZGVyc1tlXSl7Y29uc3Qgbj1yfHxjbihgJHt0aGlzLm5hbWV9OiR7ZX1gLHRoaXMubmFtZXNwYWNlLHRoaXMuY2xpZW50LmNvcmUucHJvamVjdElkKTtpZighbil0aHJvdyBuZXcgRXJyb3IoYE5vIFJQQyB1cmwgcHJvdmlkZWQgZm9yIGNoYWluSWQ6ICR7ZX1gKTt0aGlzLnNldEh0dHBQcm92aWRlcihlLG4pfXRoaXMuY2hhaW5JZD1lLHRoaXMuZXZlbnRzLmVtaXQoZGkuREVGQVVMVF9DSEFJTl9DSEFOR0VELGAke3RoaXMubmFtZX06JHt0aGlzLmNoYWluSWR9YCl9Z2V0RGVmYXVsdENoYWluKCl7aWYodGhpcy5jaGFpbklkKXJldHVybiB0aGlzLmNoYWluSWQ7aWYodGhpcy5uYW1lc3BhY2UuZGVmYXVsdENoYWluKXJldHVybiB0aGlzLm5hbWVzcGFjZS5kZWZhdWx0Q2hhaW47Y29uc3QgZT10aGlzLm5hbWVzcGFjZS5jaGFpbnNbMF07aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJDaGFpbklkIG5vdCBmb3VuZCIpO3JldHVybiBlLnNwbGl0KCI6IilbMV19Z2V0QWNjb3VudHMoKXtjb25zdCBlPXRoaXMubmFtZXNwYWNlLmFjY291bnRzO3JldHVybiBlP1suLi5uZXcgU2V0KGUuZmlsdGVyKHI9PnIuc3BsaXQoIjoiKVsxXT09PXRoaXMuY2hhaW5JZC50b1N0cmluZygpKS5tYXAocj0+ci5zcGxpdCgiOiIpWzJdKSldOltdfWNyZWF0ZUh0dHBQcm92aWRlcnMoKXtjb25zdCBlPXt9O3JldHVybiB0aGlzLm5hbWVzcGFjZS5jaGFpbnMuZm9yRWFjaChyPT57dmFyIG47ZVtyXT10aGlzLmNyZWF0ZUh0dHBQcm92aWRlcihyLChuPXRoaXMubmFtZXNwYWNlLnJwY01hcCk9PW51bGw/dm9pZCAwOm5bcl0pfSksZX1nZXRIdHRwUHJvdmlkZXIoKXtjb25zdCBlPWAke3RoaXMubmFtZX06JHt0aGlzLmNoYWluSWR9YCxyPXRoaXMuaHR0cFByb3ZpZGVyc1tlXTtpZih0eXBlb2Ygcj4idSIpdGhyb3cgbmV3IEVycm9yKGBKU09OLVJQQyBwcm92aWRlciBmb3IgJHtlfSBub3QgZm91bmRgKTtyZXR1cm4gcn1zZXRIdHRwUHJvdmlkZXIoZSxyKXtjb25zdCBuPXRoaXMuY3JlYXRlSHR0cFByb3ZpZGVyKGUscik7biYmKHRoaXMuaHR0cFByb3ZpZGVyc1tlXT1uKX1jcmVhdGVIdHRwUHJvdmlkZXIoZSxyKXtjb25zdCBuPXJ8fGNuKGUsdGhpcy5uYW1lc3BhY2UsdGhpcy5jbGllbnQuY29yZS5wcm9qZWN0SWQpO3JldHVybiB0eXBlb2Ygbj4idSI/dm9pZCAwOm5ldyBoaShuZXcgVmkobixZdCgiZGlzYWJsZVByb3ZpZGVyUGluZyIpKSl9fXZhciBVNz1PYmplY3QuZGVmaW5lUHJvcGVydHksajc9T2JqZWN0LmRlZmluZVByb3BlcnRpZXMsRjc9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMsQWc9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxCNz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGs3PU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsU2c9KHQsZSxyKT0+ZSBpbiB0P1U3KHQsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6cn0pOnRbZV09cixjYz0odCxlKT0+e2Zvcih2YXIgciBpbiBlfHwoZT17fSkpQjcuY2FsbChlLHIpJiZTZyh0LHIsZVtyXSk7aWYoQWcpZm9yKHZhciByIG9mIEFnKGUpKWs3LmNhbGwoZSxyKSYmU2codCxyLGVbcl0pO3JldHVybiB0fSx2aD0odCxlKT0+ajcodCxGNyhlKSk7Y2xhc3MgeWh7Y29uc3RydWN0b3IoZSl7dGhpcy5ldmVudHM9bmV3IGJyLmV4cG9ydHMsdGhpcy5ycGNQcm92aWRlcnM9e30sdGhpcy5zaG91bGRBYm9ydFBhaXJpbmdBdHRlbXB0PSExLHRoaXMubWF4UGFpcmluZ0F0dGVtcHRzPTEwLHRoaXMuZGlzYWJsZVByb3ZpZGVyUGluZz0hMSx0aGlzLnByb3ZpZGVyT3B0cz1lLHRoaXMubG9nZ2VyPXR5cGVvZiBlPy5sb2dnZXI8InUiJiZ0eXBlb2YgZT8ubG9nZ2VyIT0ic3RyaW5nIj9lLmxvZ2dlcjpwdC5waW5vKHB0LmdldERlZmF1bHRMb2dnZXJPcHRpb25zKHtsZXZlbDplPy5sb2dnZXJ8fF9nfSkpLHRoaXMuZGlzYWJsZVByb3ZpZGVyUGluZz1lPy5kaXNhYmxlUHJvdmlkZXJQaW5nfHwhMX1zdGF0aWMgYXN5bmMgaW5pdChlKXtjb25zdCByPW5ldyB5aChlKTtyZXR1cm4gYXdhaXQgci5pbml0aWFsaXplKCkscn1hc3luYyByZXF1ZXN0KGUscil7Y29uc3RbbixpXT10aGlzLnZhbGlkYXRlQ2hhaW4ocik7aWYoIXRoaXMuc2Vzc2lvbil0aHJvdyBuZXcgRXJyb3IoIlBsZWFzZSBjYWxsIGNvbm5lY3QoKSBiZWZvcmUgcmVxdWVzdCgpIik7cmV0dXJuIGF3YWl0IHRoaXMuZ2V0UHJvdmlkZXIobikucmVxdWVzdCh7cmVxdWVzdDpjYyh7fSxlKSxjaGFpbklkOmAke259OiR7aX1gLHRvcGljOnRoaXMuc2Vzc2lvbi50b3BpY30pfXNlbmRBc3luYyhlLHIsbil7dGhpcy5yZXF1ZXN0KGUsbikudGhlbihpPT5yKG51bGwsaSkpLmNhdGNoKGk9PnIoaSx2b2lkIDApKX1hc3luYyBlbmFibGUoKXtpZighdGhpcy5jbGllbnQpdGhyb3cgbmV3IEVycm9yKCJTaWduIENsaWVudCBub3QgaW5pdGlhbGl6ZWQiKTtyZXR1cm4gdGhpcy5zZXNzaW9ufHxhd2FpdCB0aGlzLmNvbm5lY3Qoe25hbWVzcGFjZXM6dGhpcy5uYW1lc3BhY2VzLG9wdGlvbmFsTmFtZXNwYWNlczp0aGlzLm9wdGlvbmFsTmFtZXNwYWNlcyxzZXNzaW9uUHJvcGVydGllczp0aGlzLnNlc3Npb25Qcm9wZXJ0aWVzfSksYXdhaXQgdGhpcy5yZXF1ZXN0QWNjb3VudHMoKX1hc3luYyBkaXNjb25uZWN0KCl7dmFyIGU7aWYoIXRoaXMuc2Vzc2lvbil0aHJvdyBuZXcgRXJyb3IoIlBsZWFzZSBjYWxsIGNvbm5lY3QoKSBiZWZvcmUgZW5hYmxlKCkiKTthd2FpdCB0aGlzLmNsaWVudC5kaXNjb25uZWN0KHt0b3BpYzooZT10aGlzLnNlc3Npb24pPT1udWxsP3ZvaWQgMDplLnRvcGljLHJlYXNvbjpadCgiVVNFUl9ESVNDT05ORUNURUQiKX0pLGF3YWl0IHRoaXMuY2xlYW51cCgpfWFzeW5jIGNvbm5lY3QoZSl7aWYoIXRoaXMuY2xpZW50KXRocm93IG5ldyBFcnJvcigiU2lnbiBDbGllbnQgbm90IGluaXRpYWxpemVkIik7aWYodGhpcy5zZXROYW1lc3BhY2VzKGUpLGF3YWl0IHRoaXMuY2xlYW51cFBlbmRpbmdQYWlyaW5ncygpLCFlLnNraXBQYWlyaW5nKXJldHVybiBhd2FpdCB0aGlzLnBhaXIoZS5wYWlyaW5nVG9waWMpfW9uKGUscil7dGhpcy5ldmVudHMub24oZSxyKX1vbmNlKGUscil7dGhpcy5ldmVudHMub25jZShlLHIpfXJlbW92ZUxpc3RlbmVyKGUscil7dGhpcy5ldmVudHMucmVtb3ZlTGlzdGVuZXIoZSxyKX1vZmYoZSxyKXt0aGlzLmV2ZW50cy5vZmYoZSxyKX1nZXQgaXNXYWxsZXRDb25uZWN0KCl7cmV0dXJuITB9YXN5bmMgcGFpcihlKXt0aGlzLnNob3VsZEFib3J0UGFpcmluZ0F0dGVtcHQ9ITE7bGV0IHI9MDtkb3tpZih0aGlzLnNob3VsZEFib3J0UGFpcmluZ0F0dGVtcHQpdGhyb3cgbmV3IEVycm9yKCJQYWlyaW5nIGFib3J0ZWQiKTtpZihyPj10aGlzLm1heFBhaXJpbmdBdHRlbXB0cyl0aHJvdyBuZXcgRXJyb3IoIk1heCBhdXRvIHBhaXJpbmcgYXR0ZW1wdHMgcmVhY2hlZCIpO2NvbnN0e3VyaTpuLGFwcHJvdmFsOml9PWF3YWl0IHRoaXMuY2xpZW50LmNvbm5lY3Qoe3BhaXJpbmdUb3BpYzplLHJlcXVpcmVkTmFtZXNwYWNlczp0aGlzLm5hbWVzcGFjZXMsb3B0aW9uYWxOYW1lc3BhY2VzOnRoaXMub3B0aW9uYWxOYW1lc3BhY2VzLHNlc3Npb25Qcm9wZXJ0aWVzOnRoaXMuc2Vzc2lvblByb3BlcnRpZXN9KTtuJiYodGhpcy51cmk9bix0aGlzLmV2ZW50cy5lbWl0KCJkaXNwbGF5X3VyaSIsbikpLGF3YWl0IGkoKS50aGVuKG89Pnt0aGlzLnNlc3Npb249b30pLmNhdGNoKG89PntpZihvLm1lc3NhZ2UhPT1nZyl0aHJvdyBvO3IrK30pfXdoaWxlKCF0aGlzLnNlc3Npb24pO3JldHVybiB0aGlzLm9uQ29ubmVjdCgpLHRoaXMuc2Vzc2lvbn1zZXREZWZhdWx0Q2hhaW4oZSxyKXt0cnl7Y29uc3RbbixpXT10aGlzLnZhbGlkYXRlQ2hhaW4oZSk7dGhpcy5nZXRQcm92aWRlcihuKS5zZXREZWZhdWx0Q2hhaW4oaSxyKX1jYXRjaChuKXtpZighL1BsZWFzZSBjYWxsIGNvbm5lY3QvLnRlc3Qobi5tZXNzYWdlKSl0aHJvdyBufX1hc3luYyBjbGVhbnVwUGVuZGluZ1BhaXJpbmdzKGU9e30pe3RoaXMubG9nZ2VyLmluZm8oIkNsZWFuaW5nIHVwIGluYWN0aXZlIHBhaXJpbmdzLi4uIik7Y29uc3Qgcj10aGlzLmNsaWVudC5wYWlyaW5nLmdldEFsbCgpO2lmKHpuKHIpKXtmb3IoY29uc3QgbiBvZiByKWUuZGVsZXRlUGFpcmluZ3M/dGhpcy5jbGllbnQuY29yZS5leHBpcmVyLnNldChuLnRvcGljLDApOmF3YWl0IHRoaXMuY2xpZW50LmNvcmUucmVsYXllci5zdWJzY3JpYmVyLnVuc3Vic2NyaWJlKG4udG9waWMpO3RoaXMubG9nZ2VyLmluZm8oYEluYWN0aXZlIHBhaXJpbmdzIGNsZWFyZWQ6ICR7ci5sZW5ndGh9YCl9fWFib3J0UGFpcmluZ0F0dGVtcHQoKXt0aGlzLnNob3VsZEFib3J0UGFpcmluZ0F0dGVtcHQ9ITB9YXN5bmMgY2hlY2tTdG9yYWdlKCl7aWYodGhpcy5uYW1lc3BhY2VzPWF3YWl0IHRoaXMuZ2V0RnJvbVN0b3JlKCJuYW1lc3BhY2VzIil8fHt9LHRoaXMub3B0aW9uYWxOYW1lc3BhY2VzPWF3YWl0IHRoaXMuZ2V0RnJvbVN0b3JlKCJvcHRpb25hbE5hbWVzcGFjZXMiKXx8e30sdGhpcy5jbGllbnQuc2Vzc2lvbi5sZW5ndGgpe2NvbnN0IGU9dGhpcy5jbGllbnQuc2Vzc2lvbi5rZXlzLmxlbmd0aC0xO3RoaXMuc2Vzc2lvbj10aGlzLmNsaWVudC5zZXNzaW9uLmdldCh0aGlzLmNsaWVudC5zZXNzaW9uLmtleXNbZV0pLHRoaXMuY3JlYXRlUHJvdmlkZXJzKCl9fWFzeW5jIGluaXRpYWxpemUoKXt0aGlzLmxvZ2dlci50cmFjZSgiSW5pdGlhbGl6ZWQiKSxhd2FpdCB0aGlzLmNyZWF0ZUNsaWVudCgpLGF3YWl0IHRoaXMuY2hlY2tTdG9yYWdlKCksdGhpcy5yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCl9YXN5bmMgY3JlYXRlQ2xpZW50KCl7dGhpcy5jbGllbnQ9dGhpcy5wcm92aWRlck9wdHMuY2xpZW50fHxhd2FpdCBkaC5pbml0KHtsb2dnZXI6dGhpcy5wcm92aWRlck9wdHMubG9nZ2VyfHxfZyxyZWxheVVybDp0aGlzLnByb3ZpZGVyT3B0cy5yZWxheVVybHx8ZzcscHJvamVjdElkOnRoaXMucHJvdmlkZXJPcHRzLnByb2plY3RJZCxtZXRhZGF0YTp0aGlzLnByb3ZpZGVyT3B0cy5tZXRhZGF0YSxzdG9yYWdlT3B0aW9uczp0aGlzLnByb3ZpZGVyT3B0cy5zdG9yYWdlT3B0aW9ucyxuYW1lOnRoaXMucHJvdmlkZXJPcHRzLm5hbWV9KSx0aGlzLmxvZ2dlci50cmFjZSgiU2lnbkNsaWVudCBJbml0aWFsaXplZCIpfWNyZWF0ZVByb3ZpZGVycygpe2lmKCF0aGlzLmNsaWVudCl0aHJvdyBuZXcgRXJyb3IoIlNpZ24gQ2xpZW50IG5vdCBpbml0aWFsaXplZCIpO2lmKCF0aGlzLnNlc3Npb24pdGhyb3cgbmV3IEVycm9yKCJTZXNzaW9uIG5vdCBpbml0aWFsaXplZC4gUGxlYXNlIGNhbGwgY29ubmVjdCgpIGJlZm9yZSBlbmFibGUoKSIpO2NvbnN0IGU9Wy4uLm5ldyBTZXQoT2JqZWN0LmtleXModGhpcy5zZXNzaW9uLm5hbWVzcGFjZXMpLm1hcChyPT5ZYShyKSkpXTt3aCgiY2xpZW50Iix0aGlzLmNsaWVudCksd2goImV2ZW50cyIsdGhpcy5ldmVudHMpLHdoKCJkaXNhYmxlUHJvdmlkZXJQaW5nIix0aGlzLmRpc2FibGVQcm92aWRlclBpbmcpLGUuZm9yRWFjaChyPT57aWYoIXRoaXMuc2Vzc2lvbilyZXR1cm47Y29uc3Qgbj1BNyhyLHRoaXMuc2Vzc2lvbiksaT1PNyhuKSxvPVM3KHRoaXMubmFtZXNwYWNlcyx0aGlzLm9wdGlvbmFsTmFtZXNwYWNlcyksYz12aChjYyh7fSxvW3JdKSx7YWNjb3VudHM6bixjaGFpbnM6aX0pO3N3aXRjaChyKXtjYXNlImVpcDE1NSI6dGhpcy5ycGNQcm92aWRlcnNbcl09bmV3IFA3KHtuYW1lc3BhY2U6Y30pO2JyZWFrO2Nhc2Uic29sYW5hIjp0aGlzLnJwY1Byb3ZpZGVyc1tyXT1uZXcgVDcoe25hbWVzcGFjZTpjfSk7YnJlYWs7Y2FzZSJjb3Ntb3MiOnRoaXMucnBjUHJvdmlkZXJzW3JdPW5ldyBSNyh7bmFtZXNwYWNlOmN9KTticmVhaztjYXNlInBvbGthZG90Ijp0aGlzLnJwY1Byb3ZpZGVyc1tyXT1uZXcgJDcoe25hbWVzcGFjZTpjfSk7YnJlYWs7Y2FzZSJjaXAzNCI6dGhpcy5ycGNQcm92aWRlcnNbcl09bmV3IE43KHtuYW1lc3BhY2U6Y30pO2JyZWFrO2Nhc2UiZWxyb25kIjp0aGlzLnJwY1Byb3ZpZGVyc1tyXT1uZXcgTDcoe25hbWVzcGFjZTpjfSk7YnJlYWs7Y2FzZSJtdWx0aXZlcnN4Ijp0aGlzLnJwY1Byb3ZpZGVyc1tyXT1uZXcgTTcoe25hbWVzcGFjZTpjfSk7YnJlYWt9fSl9cmVnaXN0ZXJFdmVudExpc3RlbmVycygpe2lmKHR5cGVvZiB0aGlzLmNsaWVudD4idSIpdGhyb3cgbmV3IEVycm9yKCJTaWduIENsaWVudCBpcyBub3QgaW5pdGlhbGl6ZWQiKTt0aGlzLmNsaWVudC5vbigic2Vzc2lvbl9waW5nIixlPT57dGhpcy5ldmVudHMuZW1pdCgic2Vzc2lvbl9waW5nIixlKX0pLHRoaXMuY2xpZW50Lm9uKCJzZXNzaW9uX2V2ZW50IixlPT57Y29uc3R7cGFyYW1zOnJ9PWUse2V2ZW50Om59PXI7bi5uYW1lPT09ImFjY291bnRzQ2hhbmdlZCI/dGhpcy5ldmVudHMuZW1pdCgiYWNjb3VudHNDaGFuZ2VkIixuLmRhdGEpOm4ubmFtZT09PSJjaGFpbkNoYW5nZWQiP3RoaXMub25DaGFpbkNoYW5nZWQoci5jaGFpbklkKTp0aGlzLmV2ZW50cy5lbWl0KG4ubmFtZSxuLmRhdGEpLHRoaXMuZXZlbnRzLmVtaXQoInNlc3Npb25fZXZlbnQiLGUpfSksdGhpcy5jbGllbnQub24oInNlc3Npb25fdXBkYXRlIiwoe3RvcGljOmUscGFyYW1zOnJ9KT0+e3ZhciBuO2NvbnN0e25hbWVzcGFjZXM6aX09cixvPShuPXRoaXMuY2xpZW50KT09bnVsbD92b2lkIDA6bi5zZXNzaW9uLmdldChlKTt0aGlzLnNlc3Npb249dmgoY2Moe30sbykse25hbWVzcGFjZXM6aX0pLHRoaXMub25TZXNzaW9uVXBkYXRlKCksdGhpcy5ldmVudHMuZW1pdCgic2Vzc2lvbl91cGRhdGUiLHt0b3BpYzplLHBhcmFtczpyfSl9KSx0aGlzLmNsaWVudC5vbigic2Vzc2lvbl9kZWxldGUiLGFzeW5jIGU9Pnthd2FpdCB0aGlzLmNsZWFudXAoKSx0aGlzLmV2ZW50cy5lbWl0KCJzZXNzaW9uX2RlbGV0ZSIsZSksdGhpcy5ldmVudHMuZW1pdCgiZGlzY29ubmVjdCIsdmgoY2Moe30sWnQoIlVTRVJfRElTQ09OTkVDVEVEIikpLHtkYXRhOmUudG9waWN9KSl9KSx0aGlzLm9uKGRpLkRFRkFVTFRfQ0hBSU5fQ0hBTkdFRCxlPT57dGhpcy5vbkNoYWluQ2hhbmdlZChlLCEwKX0pfWdldFByb3ZpZGVyKGUpe2lmKCF0aGlzLnJwY1Byb3ZpZGVyc1tlXSl0aHJvdyBuZXcgRXJyb3IoYFByb3ZpZGVyIG5vdCBmb3VuZDogJHtlfWApO3JldHVybiB0aGlzLnJwY1Byb3ZpZGVyc1tlXX1vblNlc3Npb25VcGRhdGUoKXtPYmplY3Qua2V5cyh0aGlzLnJwY1Byb3ZpZGVycykuZm9yRWFjaChlPT57dmFyIHI7dGhpcy5nZXRQcm92aWRlcihlKS51cGRhdGVOYW1lc3BhY2UoKHI9dGhpcy5zZXNzaW9uKT09bnVsbD92b2lkIDA6ci5uYW1lc3BhY2VzW2VdKX0pfXNldE5hbWVzcGFjZXMoZSl7Y29uc3R7bmFtZXNwYWNlczpyLG9wdGlvbmFsTmFtZXNwYWNlczpuLHNlc3Npb25Qcm9wZXJ0aWVzOml9PWU7aWYoIXJ8fCFPYmplY3Qua2V5cyhyKS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJOYW1lc3BhY2VzIG11c3QgYmUgbm90IGVtcHR5Iik7dGhpcy5uYW1lc3BhY2VzPXIsdGhpcy5vcHRpb25hbE5hbWVzcGFjZXM9bix0aGlzLnNlc3Npb25Qcm9wZXJ0aWVzPWksdGhpcy5wZXJzaXN0KCJuYW1lc3BhY2VzIixyKSx0aGlzLnBlcnNpc3QoIm9wdGlvbmFsTmFtZXNwYWNlcyIsbil9dmFsaWRhdGVDaGFpbihlKXtjb25zdFtyLG5dPWU/LnNwbGl0KCI6Iil8fFsiIiwiIl07aWYociYmIU9iamVjdC5rZXlzKHRoaXMubmFtZXNwYWNlcykubWFwKGM9PllhKGMpKS5pbmNsdWRlcyhyKSl0aHJvdyBuZXcgRXJyb3IoYE5hbWVzcGFjZSAnJHtyfScgaXMgbm90IGNvbmZpZ3VyZWQuIFBsZWFzZSBjYWxsIGNvbm5lY3QoKSBmaXJzdCB3aXRoIG5hbWVzcGFjZSBjb25maWcuYCk7aWYociYmbilyZXR1cm5bcixuXTtjb25zdCBpPVlhKE9iamVjdC5rZXlzKHRoaXMubmFtZXNwYWNlcylbMF0pLG89dGhpcy5ycGNQcm92aWRlcnNbaV0uZ2V0RGVmYXVsdENoYWluKCk7cmV0dXJuW2ksb119YXN5bmMgcmVxdWVzdEFjY291bnRzKCl7Y29uc3RbZV09dGhpcy52YWxpZGF0ZUNoYWluKCk7cmV0dXJuIGF3YWl0IHRoaXMuZ2V0UHJvdmlkZXIoZSkucmVxdWVzdEFjY291bnRzKCl9b25DaGFpbkNoYW5nZWQoZSxyPSExKXt2YXIgbjtjb25zdFtpLG9dPXRoaXMudmFsaWRhdGVDaGFpbihlKTtyfHx0aGlzLmdldFByb3ZpZGVyKGkpLnNldERlZmF1bHRDaGFpbihvKSwoKG49dGhpcy5uYW1lc3BhY2VzW2ldKSE9bnVsbD9uOnRoaXMubmFtZXNwYWNlc1tgJHtpfToke299YF0pLmRlZmF1bHRDaGFpbj1vLHRoaXMucGVyc2lzdCgibmFtZXNwYWNlcyIsdGhpcy5uYW1lc3BhY2VzKSx0aGlzLmV2ZW50cy5lbWl0KCJjaGFpbkNoYW5nZWQiLG8pfW9uQ29ubmVjdCgpe3RoaXMuY3JlYXRlUHJvdmlkZXJzKCksdGhpcy5ldmVudHMuZW1pdCgiY29ubmVjdCIse3Nlc3Npb246dGhpcy5zZXNzaW9ufSl9YXN5bmMgY2xlYW51cCgpe3RoaXMuc2Vzc2lvbj12b2lkIDAsYXdhaXQgdGhpcy5jbGVhbnVwUGVuZGluZ1BhaXJpbmdzKHtkZWxldGVQYWlyaW5nczohMH0pfXBlcnNpc3QoZSxyKXt0aGlzLmNsaWVudC5jb3JlLnN0b3JhZ2Uuc2V0SXRlbShgJHtFZ30vJHtlfWAscil9YXN5bmMgZ2V0RnJvbVN0b3JlKGUpe3JldHVybiBhd2FpdCB0aGlzLmNsaWVudC5jb3JlLnN0b3JhZ2UuZ2V0SXRlbShgJHtFZ30vJHtlfWApfX1jb25zdCBINz15aCx6Nz0id2MiLFc3PSJldGhlcmV1bV9wcm92aWRlciIscTc9YCR7ejd9QCR7Mn06JHtXN306YCxWNz0iaHR0cHM6Ly9ycGMud2FsbGV0Y29ubmVjdC5jb20vdjEvIixsYz1bImV0aF9zZW5kVHJhbnNhY3Rpb24iLCJwZXJzb25hbF9zaWduIl0sSzc9WyJldGhfYWNjb3VudHMiLCJldGhfcmVxdWVzdEFjY291bnRzIiwiZXRoX2NhbGwiLCJldGhfZ2V0QmFsYW5jZSIsImV0aF9zZW5kUmF3VHJhbnNhY3Rpb24iLCJldGhfc2lnbiIsImV0aF9zaWduVHJhbnNhY3Rpb24iLCJldGhfc2lnblR5cGVkRGF0YSIsImV0aF9zaWduVHlwZWREYXRhX3YzIiwiZXRoX3NpZ25UeXBlZERhdGFfdjQiLCJ3YWxsZXRfc3dpdGNoRXRoZXJldW1DaGFpbiIsIndhbGxldF9hZGRFdGhlcmV1bUNoYWluIiwid2FsbGV0X2dldFBlcm1pc3Npb25zIiwid2FsbGV0X3JlcXVlc3RQZXJtaXNzaW9ucyIsIndhbGxldF9yZWdpc3Rlck9uYm9hcmRpbmciLCJ3YWxsZXRfd2F0Y2hBc3NldCIsIndhbGxldF9zY2FuUVJDb2RlIl0sdWM9WyJjaGFpbkNoYW5nZWQiLCJhY2NvdW50c0NoYW5nZWQiXSxHNz1bIm1lc3NhZ2UiLCJkaXNjb25uZWN0IiwiY29ubmVjdCJdO3ZhciBaNz1PYmplY3QuZGVmaW5lUHJvcGVydHksWTc9T2JqZWN0LmRlZmluZVByb3BlcnRpZXMsSjc9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMsRGc9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxYNz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LFE3PU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsJGc9KHQsZSxyKT0+ZSBpbiB0P1o3KHQsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6cn0pOnRbZV09cixiaD0odCxlKT0+e2Zvcih2YXIgciBpbiBlfHwoZT17fSkpWDcuY2FsbChlLHIpJiYkZyh0LHIsZVtyXSk7aWYoRGcpZm9yKHZhciByIG9mIERnKGUpKVE3LmNhbGwoZSxyKSYmJGcodCxyLGVbcl0pO3JldHVybiB0fSxQZz0odCxlKT0+WTcodCxKNyhlKSk7ZnVuY3Rpb24gX2godCl7cmV0dXJuIE51bWJlcih0WzBdLnNwbGl0KCI6IilbMV0pfWZ1bmN0aW9uIEVoKHQpe3JldHVybmAweCR7dC50b1N0cmluZygxNil9YH1mdW5jdGlvbiBleCh0KXtjb25zdHtjaGFpbnM6ZSxvcHRpb25hbENoYWluczpyLG1ldGhvZHM6bixvcHRpb25hbE1ldGhvZHM6aSxldmVudHM6byxvcHRpb25hbEV2ZW50czpjLHJwY01hcDpsfT10O2lmKCF6bihlKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgY2hhaW5zIik7Y29uc3QgaD1lLGQ9bnx8bGMsdj1vfHx1YyxFPXtbX2goaCldOmxbX2goaCldfSxfPXtjaGFpbnM6aCxtZXRob2RzOmQsZXZlbnRzOnYscnBjTWFwOkV9LEE9bz8uZmlsdGVyKEc9PiF1Yy5pbmNsdWRlcyhHKSksUD1uPy5maWx0ZXIoRz0+IWxjLmluY2x1ZGVzKEcpKTtpZighciYmIWMmJiFpJiYhKEEhPW51bGwmJkEubGVuZ3RoKSYmIShQIT1udWxsJiZQLmxlbmd0aCkpcmV0dXJue3JlcXVpcmVkOl99O2NvbnN0IFU9QT8ubGVuZ3RoJiZQPy5sZW5ndGh8fCFyLEg9e2NoYWluczpbLi4ubmV3IFNldChVP2guY29uY2F0KHJ8fFtdKTpyKV0sbWV0aG9kczpbLi4ubmV3IFNldChkLmNvbmNhdChpfHxbXSkpXSxldmVudHM6Wy4uLm5ldyBTZXQodi5jb25jYXQoY3x8W10pKV0scnBjTWFwOmx9O3JldHVybntyZXF1aXJlZDpfLG9wdGlvbmFsOkh9fWNsYXNzIGhje2NvbnN0cnVjdG9yKCl7dGhpcy5ldmVudHM9bmV3IGJyLmV4cG9ydHMuRXZlbnRFbWl0dGVyLHRoaXMubmFtZXNwYWNlPSJlaXAxNTUiLHRoaXMuYWNjb3VudHM9W10sdGhpcy5jaGFpbklkPTEsdGhpcy5TVE9SQUdFX0tFWT1xNyx0aGlzLm9uPShlLHIpPT4odGhpcy5ldmVudHMub24oZSxyKSx0aGlzKSx0aGlzLm9uY2U9KGUscik9Pih0aGlzLmV2ZW50cy5vbmNlKGUsciksdGhpcyksdGhpcy5yZW1vdmVMaXN0ZW5lcj0oZSxyKT0+KHRoaXMuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKGUsciksdGhpcyksdGhpcy5vZmY9KGUscik9Pih0aGlzLmV2ZW50cy5vZmYoZSxyKSx0aGlzKSx0aGlzLnBhcnNlQWNjb3VudD1lPT50aGlzLmlzQ29tcGF0aWJsZUNoYWluSWQoZSk/dGhpcy5wYXJzZUFjY291bnRJZChlKS5hZGRyZXNzOmUsdGhpcy5zaWduZXI9e30sdGhpcy5ycGM9e319c3RhdGljIGFzeW5jIGluaXQoZSl7Y29uc3Qgcj1uZXcgaGM7cmV0dXJuIGF3YWl0IHIuaW5pdGlhbGl6ZShlKSxyfWFzeW5jIHJlcXVlc3QoZSl7cmV0dXJuIGF3YWl0IHRoaXMuc2lnbmVyLnJlcXVlc3QoZSx0aGlzLmZvcm1hdENoYWluSWQodGhpcy5jaGFpbklkKSl9c2VuZEFzeW5jKGUscil7dGhpcy5zaWduZXIuc2VuZEFzeW5jKGUscix0aGlzLmZvcm1hdENoYWluSWQodGhpcy5jaGFpbklkKSl9Z2V0IGNvbm5lY3RlZCgpe3JldHVybiB0aGlzLnNpZ25lci5jbGllbnQ/dGhpcy5zaWduZXIuY2xpZW50LmNvcmUucmVsYXllci5jb25uZWN0ZWQ6ITF9Z2V0IGNvbm5lY3RpbmcoKXtyZXR1cm4gdGhpcy5zaWduZXIuY2xpZW50P3RoaXMuc2lnbmVyLmNsaWVudC5jb3JlLnJlbGF5ZXIuY29ubmVjdGluZzohMX1hc3luYyBlbmFibGUoKXtyZXR1cm4gdGhpcy5zZXNzaW9ufHxhd2FpdCB0aGlzLmNvbm5lY3QoKSxhd2FpdCB0aGlzLnJlcXVlc3Qoe21ldGhvZDoiZXRoX3JlcXVlc3RBY2NvdW50cyJ9KX1hc3luYyBjb25uZWN0KGUpe2lmKCF0aGlzLnNpZ25lci5jbGllbnQpdGhyb3cgbmV3IEVycm9yKCJQcm92aWRlciBub3QgaW5pdGlhbGl6ZWQuIENhbGwgaW5pdCgpIGZpcnN0Iik7dGhpcy5sb2FkQ29ubmVjdE9wdHMoZSk7Y29uc3R7cmVxdWlyZWQ6cixvcHRpb25hbDpufT1leCh0aGlzLnJwYyk7dHJ5e2NvbnN0IGk9YXdhaXQgbmV3IFByb21pc2UoYXN5bmMoYyxsKT0+e3ZhciBoO3RoaXMucnBjLnNob3dRck1vZGFsJiYoKGg9dGhpcy5tb2RhbCk9PW51bGx8fGguc3Vic2NyaWJlTW9kYWwoZD0+eyFkLm9wZW4mJiF0aGlzLnNpZ25lci5zZXNzaW9uJiYodGhpcy5zaWduZXIuYWJvcnRQYWlyaW5nQXR0ZW1wdCgpLGwobmV3IEVycm9yKCJDb25uZWN0aW9uIHJlcXVlc3QgcmVzZXQuIFBsZWFzZSB0cnkgYWdhaW4uIikpKX0pKSxhd2FpdCB0aGlzLnNpZ25lci5jb25uZWN0KFBnKGJoKHtuYW1lc3BhY2VzOntbdGhpcy5uYW1lc3BhY2VdOnJ9fSxuJiZ7b3B0aW9uYWxOYW1lc3BhY2VzOntbdGhpcy5uYW1lc3BhY2VdOm59fSkse3BhaXJpbmdUb3BpYzplPy5wYWlyaW5nVG9waWN9KSkudGhlbihkPT57YyhkKX0pLmNhdGNoKGQ9PntsKG5ldyBFcnJvcihkLm1lc3NhZ2UpKX0pfSk7aWYoIWkpcmV0dXJuO3RoaXMuc2V0Q2hhaW5JZHModGhpcy5ycGMuY2hhaW5zKTtjb25zdCBvPU01KGkubmFtZXNwYWNlcyxbdGhpcy5uYW1lc3BhY2VdKTt0aGlzLnNldEFjY291bnRzKG8pLHRoaXMuZXZlbnRzLmVtaXQoImNvbm5lY3QiLHtjaGFpbklkOkVoKHRoaXMuY2hhaW5JZCl9KX1jYXRjaChpKXt0aHJvdyB0aGlzLnNpZ25lci5sb2dnZXIuZXJyb3IoaSksaX1maW5hbGx5e3RoaXMubW9kYWwmJnRoaXMubW9kYWwuY2xvc2VNb2RhbCgpfX1hc3luYyBkaXNjb25uZWN0KCl7dGhpcy5zZXNzaW9uJiZhd2FpdCB0aGlzLnNpZ25lci5kaXNjb25uZWN0KCksdGhpcy5yZXNldCgpfWdldCBpc1dhbGxldENvbm5lY3QoKXtyZXR1cm4hMH1nZXQgc2Vzc2lvbigpe3JldHVybiB0aGlzLnNpZ25lci5zZXNzaW9ufXJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMoKXt0aGlzLnNpZ25lci5vbigic2Vzc2lvbl9ldmVudCIsZT0+e2NvbnN0e3BhcmFtczpyfT1lLHtldmVudDpufT1yO24ubmFtZT09PSJhY2NvdW50c0NoYW5nZWQiPyh0aGlzLmFjY291bnRzPXRoaXMucGFyc2VBY2NvdW50cyhuLmRhdGEpLHRoaXMuZXZlbnRzLmVtaXQoImFjY291bnRzQ2hhbmdlZCIsdGhpcy5hY2NvdW50cykpOm4ubmFtZT09PSJjaGFpbkNoYW5nZWQiP3RoaXMuc2V0Q2hhaW5JZCh0aGlzLmZvcm1hdENoYWluSWQobi5kYXRhKSk6dGhpcy5ldmVudHMuZW1pdChuLm5hbWUsbi5kYXRhKSx0aGlzLmV2ZW50cy5lbWl0KCJzZXNzaW9uX2V2ZW50IixlKX0pLHRoaXMuc2lnbmVyLm9uKCJjaGFpbkNoYW5nZWQiLGU9Pntjb25zdCByPXBhcnNlSW50KGUpO3RoaXMuY2hhaW5JZD1yLHRoaXMuZXZlbnRzLmVtaXQoImNoYWluQ2hhbmdlZCIsRWgodGhpcy5jaGFpbklkKSksdGhpcy5wZXJzaXN0KCl9KSx0aGlzLnNpZ25lci5vbigic2Vzc2lvbl91cGRhdGUiLGU9Pnt0aGlzLmV2ZW50cy5lbWl0KCJzZXNzaW9uX3VwZGF0ZSIsZSl9KSx0aGlzLnNpZ25lci5vbigic2Vzc2lvbl9kZWxldGUiLGU9Pnt0aGlzLnJlc2V0KCksdGhpcy5ldmVudHMuZW1pdCgic2Vzc2lvbl9kZWxldGUiLGUpLHRoaXMuZXZlbnRzLmVtaXQoImRpc2Nvbm5lY3QiLFBnKGJoKHt9LFp0KCJVU0VSX0RJU0NPTk5FQ1RFRCIpKSx7ZGF0YTplLnRvcGljLG5hbWU6IlVTRVJfRElTQ09OTkVDVEVEIn0pKX0pLHRoaXMuc2lnbmVyLm9uKCJkaXNwbGF5X3VyaSIsZT0+e3ZhciByLG47dGhpcy5ycGMuc2hvd1FyTW9kYWwmJigocj10aGlzLm1vZGFsKT09bnVsbHx8ci5jbG9zZU1vZGFsKCksKG49dGhpcy5tb2RhbCk9PW51bGx8fG4ub3Blbk1vZGFsKHt1cmk6ZX0pKSx0aGlzLmV2ZW50cy5lbWl0KCJkaXNwbGF5X3VyaSIsZSl9KX1zZXRIdHRwUHJvdmlkZXIoZSl7dGhpcy5yZXF1ZXN0KHttZXRob2Q6IndhbGxldF9zd2l0Y2hFdGhlcmV1bUNoYWluIixwYXJhbXM6W3tjaGFpbklkOmUudG9TdHJpbmcoMTYpfV19KX1pc0NvbXBhdGlibGVDaGFpbklkKGUpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyI/ZS5zdGFydHNXaXRoKGAke3RoaXMubmFtZXNwYWNlfTpgKTohMX1mb3JtYXRDaGFpbklkKGUpe3JldHVybmAke3RoaXMubmFtZXNwYWNlfToke2V9YH1wYXJzZUNoYWluSWQoZSl7cmV0dXJuIE51bWJlcihlLnNwbGl0KCI6IilbMV0pfXNldENoYWluSWRzKGUpe2NvbnN0IHI9ZS5maWx0ZXIobj0+dGhpcy5pc0NvbXBhdGlibGVDaGFpbklkKG4pKS5tYXAobj0+dGhpcy5wYXJzZUNoYWluSWQobikpO3IubGVuZ3RoJiYodGhpcy5jaGFpbklkPXJbMF0sdGhpcy5ldmVudHMuZW1pdCgiY2hhaW5DaGFuZ2VkIixFaCh0aGlzLmNoYWluSWQpKSx0aGlzLnBlcnNpc3QoKSl9c2V0Q2hhaW5JZChlKXtpZih0aGlzLmlzQ29tcGF0aWJsZUNoYWluSWQoZSkpe2NvbnN0IHI9dGhpcy5wYXJzZUNoYWluSWQoZSk7dGhpcy5jaGFpbklkPXIsdGhpcy5zZXRIdHRwUHJvdmlkZXIocil9fXBhcnNlQWNjb3VudElkKGUpe2NvbnN0W3IsbixpXT1lLnNwbGl0KCI6Iik7cmV0dXJue2NoYWluSWQ6YCR7cn06JHtufWAsYWRkcmVzczppfX1zZXRBY2NvdW50cyhlKXt0aGlzLmFjY291bnRzPWUuZmlsdGVyKHI9PnRoaXMucGFyc2VDaGFpbklkKHRoaXMucGFyc2VBY2NvdW50SWQocikuY2hhaW5JZCk9PT10aGlzLmNoYWluSWQpLm1hcChyPT50aGlzLnBhcnNlQWNjb3VudElkKHIpLmFkZHJlc3MpLHRoaXMuZXZlbnRzLmVtaXQoImFjY291bnRzQ2hhbmdlZCIsdGhpcy5hY2NvdW50cyl9Z2V0UnBjQ29uZmlnKGUpe3ZhciByLG47cmV0dXJue2NoYWluczooKHI9ZS5jaGFpbnMpPT1udWxsP3ZvaWQgMDpyLm1hcChpPT50aGlzLmZvcm1hdENoYWluSWQoaSkpKXx8W2Ake3RoaXMubmFtZXNwYWNlfToxYF0sb3B0aW9uYWxDaGFpbnM6ZS5vcHRpb25hbENoYWlucz9lLm9wdGlvbmFsQ2hhaW5zLm1hcChpPT50aGlzLmZvcm1hdENoYWluSWQoaSkpOnZvaWQgMCxtZXRob2RzOmU/Lm1ldGhvZHN8fGxjLGV2ZW50czplPy5ldmVudHN8fHVjLG9wdGlvbmFsTWV0aG9kczplPy5vcHRpb25hbE1ldGhvZHN8fFtdLG9wdGlvbmFsRXZlbnRzOmU/Lm9wdGlvbmFsRXZlbnRzfHxbXSxycGNNYXA6ZT8ucnBjTWFwfHx0aGlzLmJ1aWxkUnBjTWFwKGUuY2hhaW5zLmNvbmNhdChlLm9wdGlvbmFsQ2hhaW5zfHxbXSksZS5wcm9qZWN0SWQpLHNob3dRck1vZGFsOkJvb2xlYW4oZT8uc2hvd1FyTW9kYWwpLHFyTW9kYWxPcHRpb25zOihuPWU/LnFyTW9kYWxPcHRpb25zKSE9bnVsbD9uOnZvaWQgMCxwcm9qZWN0SWQ6ZS5wcm9qZWN0SWQsbWV0YWRhdGE6ZS5tZXRhZGF0YX19YnVpbGRScGNNYXAoZSxyKXtjb25zdCBuPXt9O3JldHVybiBlLmZvckVhY2goaT0+e25baV09dGhpcy5nZXRScGNVcmwoaSxyKX0pLG59YXN5bmMgaW5pdGlhbGl6ZShlKXtpZih0aGlzLnJwYz10aGlzLmdldFJwY0NvbmZpZyhlKSx0aGlzLmNoYWluSWQ9X2godGhpcy5ycGMuY2hhaW5zKSx0aGlzLnNpZ25lcj1hd2FpdCBINy5pbml0KHtwcm9qZWN0SWQ6dGhpcy5ycGMucHJvamVjdElkLG1ldGFkYXRhOnRoaXMucnBjLm1ldGFkYXRhLGRpc2FibGVQcm92aWRlclBpbmc6ZS5kaXNhYmxlUHJvdmlkZXJQaW5nfSksdGhpcy5yZWdpc3RlckV2ZW50TGlzdGVuZXJzKCksYXdhaXQgdGhpcy5sb2FkUGVyc2lzdGVkU2Vzc2lvbigpLHRoaXMucnBjLnNob3dRck1vZGFsKXRyeXtjb25zdHtXZWIzTW9kYWw6cn09YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBQeH0pO3RoaXMubW9kYWw9bmV3IHIoYmgoe3dhbGxldENvbm5lY3RWZXJzaW9uOjIscHJvamVjdElkOnRoaXMucnBjLnByb2plY3RJZCxzdGFuZGFsb25lQ2hhaW5zOnRoaXMucnBjLmNoYWluc30sdGhpcy5ycGMucXJNb2RhbE9wdGlvbnMpKX1jYXRjaHt0aHJvdyBuZXcgRXJyb3IoIlRvIHVzZSBRUiBtb2RhbCwgcGxlYXNlIGluc3RhbGwgQHdlYjNtb2RhbC9zdGFuZGFsb25lIHBhY2thZ2UiKX19bG9hZENvbm5lY3RPcHRzKGUpe2lmKCFlKXJldHVybjtjb25zdHtjaGFpbnM6cixvcHRpb25hbENoYWluczpuLHJwY01hcDppfT1lO3ImJnpuKHIpJiYodGhpcy5ycGMuY2hhaW5zPXIubWFwKG89PnRoaXMuZm9ybWF0Q2hhaW5JZChvKSksci5mb3JFYWNoKG89Pnt0aGlzLnJwYy5ycGNNYXBbb109aT8uW29dfHx0aGlzLmdldFJwY1VybChvKX0pKSxuJiZ6bihuKSYmKHRoaXMucnBjLm9wdGlvbmFsQ2hhaW5zPVtdLHRoaXMucnBjLm9wdGlvbmFsQ2hhaW5zPW4/Lm1hcChvPT50aGlzLmZvcm1hdENoYWluSWQobykpLG4uZm9yRWFjaChvPT57dGhpcy5ycGMucnBjTWFwW29dPWk/LltvXXx8dGhpcy5nZXRScGNVcmwobyl9KSl9Z2V0UnBjVXJsKGUscil7dmFyIG47cmV0dXJuKChuPXRoaXMucnBjLnJwY01hcCk9PW51bGw/dm9pZCAwOm5bZV0pfHxgJHtWN30/Y2hhaW5JZD1laXAxNTU6JHtlfSZwcm9qZWN0SWQ9JHtyfHx0aGlzLnJwYy5wcm9qZWN0SWR9YH1hc3luYyBsb2FkUGVyc2lzdGVkU2Vzc2lvbigpe2lmKCF0aGlzLnNlc3Npb24pcmV0dXJuO2NvbnN0IGU9YXdhaXQgdGhpcy5zaWduZXIuY2xpZW50LmNvcmUuc3RvcmFnZS5nZXRJdGVtKGAke3RoaXMuU1RPUkFHRV9LRVl9L2NoYWluSWRgKTt0aGlzLnNldENoYWluSWRzKGU/W3RoaXMuZm9ybWF0Q2hhaW5JZChlKV06dGhpcy5zZXNzaW9uLm5hbWVzcGFjZXNbdGhpcy5uYW1lc3BhY2VdLmFjY291bnRzKSx0aGlzLnNldEFjY291bnRzKHRoaXMuc2Vzc2lvbi5uYW1lc3BhY2VzW3RoaXMubmFtZXNwYWNlXS5hY2NvdW50cyl9cmVzZXQoKXt0aGlzLmNoYWluSWQ9MSx0aGlzLmFjY291bnRzPVtdfXBlcnNpc3QoKXt0aGlzLnNlc3Npb24mJnRoaXMuc2lnbmVyLmNsaWVudC5jb3JlLnN0b3JhZ2Uuc2V0SXRlbShgJHt0aGlzLlNUT1JBR0VfS0VZfS9jaGFpbklkYCx0aGlzLmNoYWluSWQpfXBhcnNlQWNjb3VudHMoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nInx8ZSBpbnN0YW5jZW9mIFN0cmluZz9bdGhpcy5wYXJzZUFjY291bnQoZSldOmUubWFwKHI9PnRoaXMucGFyc2VBY2NvdW50KHIpKX19Y29uc3QgdHg9aGMscng9U3ltYm9sKCksVGc9T2JqZWN0LmdldFByb3RvdHlwZU9mLHhoPW5ldyBXZWFrTWFwLG54PXQ9PnQmJih4aC5oYXModCk/eGguZ2V0KHQpOlRnKHQpPT09T2JqZWN0LnByb3RvdHlwZXx8VGcodCk9PT1BcnJheS5wcm90b3R5cGUpLGl4PXQ9Pm54KHQpJiZ0W3J4XXx8bnVsbCxSZz0odCxlPSEwKT0+e3hoLnNldCh0LGUpfSxDaD10PT50eXBlb2YgdD09Im9iamVjdCImJnQhPT1udWxsLHBpPW5ldyBXZWFrTWFwLGZjPW5ldyBXZWFrU2V0LHN4PSh0PU9iamVjdC5pcyxlPShkLHYpPT5uZXcgUHJveHkoZCx2KSxyPWQ9PkNoKGQpJiYhZmMuaGFzKGQpJiYoQXJyYXkuaXNBcnJheShkKXx8IShTeW1ib2wuaXRlcmF0b3IgaW4gZCkpJiYhKGQgaW5zdGFuY2VvZiBXZWFrTWFwKSYmIShkIGluc3RhbmNlb2YgV2Vha1NldCkmJiEoZCBpbnN0YW5jZW9mIEVycm9yKSYmIShkIGluc3RhbmNlb2YgTnVtYmVyKSYmIShkIGluc3RhbmNlb2YgRGF0ZSkmJiEoZCBpbnN0YW5jZW9mIFN0cmluZykmJiEoZCBpbnN0YW5jZW9mIFJlZ0V4cCkmJiEoZCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSxuPWQ9Pntzd2l0Y2goZC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gZC52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBkLnJlYXNvbjtkZWZhdWx0OnRocm93IGR9fSxpPW5ldyBXZWFrTWFwLG89KGQsdixFPW4pPT57Y29uc3QgXz1pLmdldChkKTtpZihfPy5bMF09PT12KXJldHVybiBfWzFdO2NvbnN0IEE9QXJyYXkuaXNBcnJheShkKT9bXTpPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKSk7cmV0dXJuIFJnKEEsITApLGkuc2V0KGQsW3YsQV0pLFJlZmxlY3Qub3duS2V5cyhkKS5mb3JFYWNoKFA9PntpZihPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEEsUCkpcmV0dXJuO2NvbnN0IFU9UmVmbGVjdC5nZXQoZCxQKSxIPXt2YWx1ZTpVLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfTtpZihmYy5oYXMoVSkpUmcoVSwhMSk7ZWxzZSBpZihVIGluc3RhbmNlb2YgUHJvbWlzZSlkZWxldGUgSC52YWx1ZSxILmdldD0oKT0+RShVKTtlbHNlIGlmKHBpLmhhcyhVKSl7Y29uc3RbRyxOXT1waS5nZXQoVSk7SC52YWx1ZT1vKEcsTigpLEUpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLFAsSCl9KSxBfSxjPW5ldyBXZWFrTWFwLGw9WzEsMV0saD1kPT57aWYoIUNoKGQpKXRocm93IG5ldyBFcnJvcigib2JqZWN0IHJlcXVpcmVkIik7Y29uc3Qgdj1jLmdldChkKTtpZih2KXJldHVybiB2O2xldCBFPWxbMF07Y29uc3QgXz1uZXcgU2V0LEE9KEosej0rK2xbMF0pPT57RSE9PXomJihFPXosXy5mb3JFYWNoKGVlPT5lZShKLHopKSl9O2xldCBQPWxbMV07Y29uc3QgVT0oSj0rK2xbMV0pPT4oUCE9PUomJiFfLnNpemUmJihQPUosRy5mb3JFYWNoKChbel0pPT57Y29uc3QgZWU9elsxXShKKTtlZT5FJiYoRT1lZSl9KSksRSksSD1KPT4oeixlZSk9Pntjb25zdCBkZT1bLi4uel07ZGVbMV09W0osLi4uZGVbMV1dLEEoZGUsZWUpfSxHPW5ldyBNYXAsTj0oSix6KT0+e2lmKHZvaWQgMCE9PSJwcm9kdWN0aW9uIiYmRy5oYXMoSikpdGhyb3cgbmV3IEVycm9yKCJwcm9wIGxpc3RlbmVyIGFscmVhZHkgZXhpc3RzIik7aWYoXy5zaXplKXtjb25zdCBlZT16WzNdKEgoSikpO0cuc2V0KEosW3osZWVdKX1lbHNlIEcuc2V0KEosW3pdKX0sTD1KPT57dmFyIHo7Y29uc3QgZWU9Ry5nZXQoSik7ZWUmJihHLmRlbGV0ZShKKSwoej1lZVsxXSk9PW51bGx8fHouY2FsbChlZSkpfSwkPUo9PihfLmFkZChKKSxfLnNpemU9PT0xJiZHLmZvckVhY2goKFtlZSxkZV0sbWUpPT57aWYodm9pZCAwIT09InByb2R1Y3Rpb24iJiZkZSl0aHJvdyBuZXcgRXJyb3IoInJlbW92ZSBhbHJlYWR5IGV4aXN0cyIpO2NvbnN0IE89ZWVbM10oSChtZSkpO0cuc2V0KG1lLFtlZSxPXSl9KSwoKT0+e18uZGVsZXRlKEopLF8uc2l6ZT09PTAmJkcuZm9yRWFjaCgoW2VlLGRlXSxtZSk9PntkZSYmKGRlKCksRy5zZXQobWUsW2VlXSkpfSl9KSxUPUFycmF5LmlzQXJyYXkoZCk/W106T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YoZCkpLGY9ZShULHtkZWxldGVQcm9wZXJ0eShKLHope2NvbnN0IGVlPVJlZmxlY3QuZ2V0KEoseik7TCh6KTtjb25zdCBkZT1SZWZsZWN0LmRlbGV0ZVByb3BlcnR5KEoseik7cmV0dXJuIGRlJiZBKFsiZGVsZXRlIixbel0sZWVdKSxkZX0sc2V0KEoseixlZSxkZSl7Y29uc3QgbWU9UmVmbGVjdC5oYXMoSix6KSxPPVJlZmxlY3QuZ2V0KEoseixkZSk7aWYobWUmJih0KE8sZWUpfHxjLmhhcyhlZSkmJnQoTyxjLmdldChlZSkpKSlyZXR1cm4hMDtMKHopLENoKGVlKSYmKGVlPWl4KGVlKXx8ZWUpO2xldCBqPWVlO2lmKGVlIGluc3RhbmNlb2YgUHJvbWlzZSllZS50aGVuKGNlPT57ZWUuc3RhdHVzPSJmdWxmaWxsZWQiLGVlLnZhbHVlPWNlLEEoWyJyZXNvbHZlIixbel0sY2VdKX0pLmNhdGNoKGNlPT57ZWUuc3RhdHVzPSJyZWplY3RlZCIsZWUucmVhc29uPWNlLEEoWyJyZWplY3QiLFt6XSxjZV0pfSk7ZWxzZXshcGkuaGFzKGVlKSYmcihlZSkmJihqPWgoZWUpKTtjb25zdCBjZT0hZmMuaGFzKGopJiZwaS5nZXQoaik7Y2UmJk4oeixjZSl9cmV0dXJuIFJlZmxlY3Quc2V0KEoseixqLGRlKSxBKFsic2V0Iixbel0sZWUsT10pLCEwfX0pO2Muc2V0KGQsZik7Y29uc3QgeD1bVCxVLG8sJF07cmV0dXJuIHBpLnNldChmLHgpLFJlZmxlY3Qub3duS2V5cyhkKS5mb3JFYWNoKEo9Pntjb25zdCB6PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZCxKKTsidmFsdWUiaW4geiYmKGZbSl09ZFtKXSxkZWxldGUgei52YWx1ZSxkZWxldGUgei53cml0YWJsZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFQsSix6KX0pLGZ9KT0+W2gscGksZmMsdCxlLHIsbixpLG8sYyxsXSxbb3hdPXN4KCk7ZnVuY3Rpb24gUm4odD17fSl7cmV0dXJuIG94KHQpfWZ1bmN0aW9uIEtuKHQsZSxyKXtjb25zdCBuPXBpLmdldCh0KTt2b2lkIDAhPT0icHJvZHVjdGlvbiImJiFuJiZjb25zb2xlLndhcm4oIlBsZWFzZSB1c2UgcHJveHkgb2JqZWN0Iik7bGV0IGk7Y29uc3Qgbz1bXSxjPW5bM107bGV0IGw9ITE7Y29uc3QgZD1jKHY9PntpZihvLnB1c2godikscil7ZShvLnNwbGljZSgwKSk7cmV0dXJufWl8fChpPVByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntpPXZvaWQgMCxsJiZlKG8uc3BsaWNlKDApKX0pKX0pO3JldHVybiBsPSEwLCgpPT57bD0hMSxkKCl9fWZ1bmN0aW9uIGF4KHQsZSl7Y29uc3Qgcj1waS5nZXQodCk7dm9pZCAwIT09InByb2R1Y3Rpb24iJiYhciYmY29uc29sZS53YXJuKCJQbGVhc2UgdXNlIHByb3h5IG9iamVjdCIpO2NvbnN0W24saSxvXT1yO3JldHVybiBvKG4saSgpLGUpfXZhciBOZz17fSxkYz17fTtkYy5ieXRlTGVuZ3RoPXV4LGRjLnRvQnl0ZUFycmF5PWZ4LGRjLmZyb21CeXRlQXJyYXk9Z3g7Zm9yKHZhciBObj1bXSxsbj1bXSxjeD10eXBlb2YgVWludDhBcnJheTwidSI/VWludDhBcnJheTpBcnJheSxJaD0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIsVHM9MCxseD1JaC5sZW5ndGg7VHM8bHg7KytUcylObltUc109SWhbVHNdLGxuW0loLmNoYXJDb2RlQXQoVHMpXT1UcztsblsiLSIuY2hhckNvZGVBdCgwKV09NjIsbG5bIl8iLmNoYXJDb2RlQXQoMCldPTYzO2Z1bmN0aW9uIExnKHQpe3ZhciBlPXQubGVuZ3RoO2lmKGUlND4wKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNCIpO3ZhciByPXQuaW5kZXhPZigiPSIpO3I9PT0tMSYmKHI9ZSk7dmFyIG49cj09PWU/MDo0LXIlNDtyZXR1cm5bcixuXX1mdW5jdGlvbiB1eCh0KXt2YXIgZT1MZyh0KSxyPWVbMF0sbj1lWzFdO3JldHVybihyK24pKjMvNC1ufWZ1bmN0aW9uIGh4KHQsZSxyKXtyZXR1cm4oZStyKSozLzQtcn1mdW5jdGlvbiBmeCh0KXt2YXIgZSxyPUxnKHQpLG49clswXSxpPXJbMV0sbz1uZXcgY3goaHgodCxuLGkpKSxjPTAsbD1pPjA/bi00Om4saDtmb3IoaD0wO2g8bDtoKz00KWU9bG5bdC5jaGFyQ29kZUF0KGgpXTw8MTh8bG5bdC5jaGFyQ29kZUF0KGgrMSldPDwxMnxsblt0LmNoYXJDb2RlQXQoaCsyKV08PDZ8bG5bdC5jaGFyQ29kZUF0KGgrMyldLG9bYysrXT1lPj4xNiYyNTUsb1tjKytdPWU+PjgmMjU1LG9bYysrXT1lJjI1NTtyZXR1cm4gaT09PTImJihlPWxuW3QuY2hhckNvZGVBdChoKV08PDJ8bG5bdC5jaGFyQ29kZUF0KGgrMSldPj40LG9bYysrXT1lJjI1NSksaT09PTEmJihlPWxuW3QuY2hhckNvZGVBdChoKV08PDEwfGxuW3QuY2hhckNvZGVBdChoKzEpXTw8NHxsblt0LmNoYXJDb2RlQXQoaCsyKV0+PjIsb1tjKytdPWU+PjgmMjU1LG9bYysrXT1lJjI1NSksb31mdW5jdGlvbiBkeCh0KXtyZXR1cm4gTm5bdD4+MTgmNjNdK05uW3Q+PjEyJjYzXStOblt0Pj42JjYzXStOblt0JjYzXX1mdW5jdGlvbiBweCh0LGUscil7Zm9yKHZhciBuLGk9W10sbz1lO288cjtvKz0zKW49KHRbb108PDE2JjE2NzExNjgwKSsodFtvKzFdPDw4JjY1MjgwKSsodFtvKzJdJjI1NSksaS5wdXNoKGR4KG4pKTtyZXR1cm4gaS5qb2luKCIiKX1mdW5jdGlvbiBneCh0KXtmb3IodmFyIGUscj10Lmxlbmd0aCxuPXIlMyxpPVtdLG89MTYzODMsYz0wLGw9ci1uO2M8bDtjKz1vKWkucHVzaChweCh0LGMsYytvPmw/bDpjK28pKTtyZXR1cm4gbj09PTE/KGU9dFtyLTFdLGkucHVzaChObltlPj4yXStObltlPDw0JjYzXSsiPT0iKSk6bj09PTImJihlPSh0W3ItMl08PDgpK3Rbci0xXSxpLnB1c2goTm5bZT4+MTBdK05uW2U+PjQmNjNdK05uW2U8PDImNjNdKyI9IikpLGkuam9pbigiIil9dmFyIE9oPXt9Oy8qIWllZWU3NTQuIEJTRC0zLUNsYXVzZSBMaWNlbnNlLiBGZXJvc3MgQWJvdWtoYWRpamVoIDxodHRwczovL2Zlcm9zcy5vcmcvb3BlbnNvdXJjZT4qL09oLnJlYWQ9ZnVuY3Rpb24odCxlLHIsbixpKXt2YXIgbyxjLGw9aSo4LW4tMSxoPSgxPDxsKS0xLGQ9aD4+MSx2PS03LEU9cj9pLTE6MCxfPXI/LTE6MSxBPXRbZStFXTtmb3IoRSs9XyxvPUEmKDE8PC12KS0xLEE+Pj0tdix2Kz1sO3Y+MDtvPW8qMjU2K3RbZStFXSxFKz1fLHYtPTgpO2ZvcihjPW8mKDE8PC12KS0xLG8+Pj0tdix2Kz1uO3Y+MDtjPWMqMjU2K3RbZStFXSxFKz1fLHYtPTgpO2lmKG89PT0wKW89MS1kO2Vsc2V7aWYobz09PWgpcmV0dXJuIGM/TmFOOihBPy0xOjEpKigxLzApO2M9YytNYXRoLnBvdygyLG4pLG89by1kfXJldHVybihBPy0xOjEpKmMqTWF0aC5wb3coMixvLW4pfSxPaC53cml0ZT1mdW5jdGlvbih0LGUscixuLGksbyl7dmFyIGMsbCxoLGQ9byo4LWktMSx2PSgxPDxkKS0xLEU9dj4+MSxfPWk9PT0yMz9NYXRoLnBvdygyLC0yNCktTWF0aC5wb3coMiwtNzcpOjAsQT1uPzA6by0xLFA9bj8xOi0xLFU9ZTwwfHxlPT09MCYmMS9lPDA/MTowO2ZvcihlPU1hdGguYWJzKGUpLGlzTmFOKGUpfHxlPT09MS8wPyhsPWlzTmFOKGUpPzE6MCxjPXYpOihjPU1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5MTjIpLGUqKGg9TWF0aC5wb3coMiwtYykpPDEmJihjLS0saCo9MiksYytFPj0xP2UrPV8vaDplKz1fKk1hdGgucG93KDIsMS1FKSxlKmg+PTImJihjKyssaC89MiksYytFPj12PyhsPTAsYz12KTpjK0U+PTE/KGw9KGUqaC0xKSpNYXRoLnBvdygyLGkpLGM9YytFKToobD1lKk1hdGgucG93KDIsRS0xKSpNYXRoLnBvdygyLGkpLGM9MCkpO2k+PTg7dFtyK0FdPWwmMjU1LEErPVAsbC89MjU2LGktPTgpO2ZvcihjPWM8PGl8bCxkKz1pO2Q+MDt0W3IrQV09YyYyNTUsQSs9UCxjLz0yNTYsZC09OCk7dFtyK0EtUF18PVUqMTI4fTsvKiEKKiBUaGUgYnVmZmVyIG1vZHVsZSBmcm9tIG5vZGUuanMsIGZvciB0aGUgYnJvd3Nlci4KKgoqIEBhdXRob3IgRmVyb3NzIEFib3VraGFkaWplaCA8aHR0cHM6Ly9mZXJvc3Mub3JnPgoqIEBsaWNlbnNlIE1JVAoqLyhmdW5jdGlvbih0KXtjb25zdCBlPWRjLHI9T2gsbj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZ0eXBlb2YgU3ltYm9sLmZvcj09ImZ1bmN0aW9uIj9TeW1ib2wuZm9yKCJub2RlanMudXRpbC5pbnNwZWN0LmN1c3RvbSIpOm51bGw7dC5CdWZmZXI9bCx0LlNsb3dCdWZmZXI9Tix0LklOU1BFQ1RfTUFYX0JZVEVTPTUwO2NvbnN0IGk9MjE0NzQ4MzY0Nzt0LmtNYXhMZW5ndGg9aSxsLlRZUEVEX0FSUkFZX1NVUFBPUlQ9bygpLCFsLlRZUEVEX0FSUkFZX1NVUFBPUlQmJnR5cGVvZiBjb25zb2xlPCJ1IiYmdHlwZW9mIGNvbnNvbGUuZXJyb3I9PSJmdW5jdGlvbiImJmNvbnNvbGUuZXJyb3IoIlRoaXMgYnJvd3NlciBsYWNrcyB0eXBlZCBhcnJheSAoVWludDhBcnJheSkgc3VwcG9ydCB3aGljaCBpcyByZXF1aXJlZCBieSBgYnVmZmVyYCB2NS54LiBVc2UgYGJ1ZmZlcmAgdjQueCBpZiB5b3UgcmVxdWlyZSBvbGQgYnJvd3NlciBzdXBwb3J0LiIpO2Z1bmN0aW9uIG8oKXt0cnl7Y29uc3QgYj1uZXcgVWludDhBcnJheSgxKSxwPXtmb286ZnVuY3Rpb24oKXtyZXR1cm4gNDJ9fTtyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKHAsVWludDhBcnJheS5wcm90b3R5cGUpLE9iamVjdC5zZXRQcm90b3R5cGVPZihiLHApLGIuZm9vKCk9PT00Mn1jYXRjaHtyZXR1cm4hMX19T2JqZWN0LmRlZmluZVByb3BlcnR5KGwucHJvdG90eXBlLCJwYXJlbnQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe2lmKGwuaXNCdWZmZXIodGhpcykpcmV0dXJuIHRoaXMuYnVmZmVyfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLnByb3RvdHlwZSwib2Zmc2V0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtpZihsLmlzQnVmZmVyKHRoaXMpKXJldHVybiB0aGlzLmJ5dGVPZmZzZXR9fSk7ZnVuY3Rpb24gYyhiKXtpZihiPmkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSAiJytiKyciIGlzIGludmFsaWQgZm9yIG9wdGlvbiAic2l6ZSInKTtjb25zdCBwPW5ldyBVaW50OEFycmF5KGIpO3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YocCxsLnByb3RvdHlwZSkscH1mdW5jdGlvbiBsKGIscCxtKXtpZih0eXBlb2YgYj09Im51bWJlciIpe2lmKHR5cGVvZiBwPT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgInN0cmluZyIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIHN0cmluZy4gUmVjZWl2ZWQgdHlwZSBudW1iZXInKTtyZXR1cm4gRShiKX1yZXR1cm4gaChiLHAsbSl9bC5wb29sU2l6ZT04MTkyO2Z1bmN0aW9uIGgoYixwLG0pe2lmKHR5cGVvZiBiPT0ic3RyaW5nIilyZXR1cm4gXyhiLHApO2lmKEFycmF5QnVmZmVyLmlzVmlldyhiKSlyZXR1cm4gUChiKTtpZihiPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIlRoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIG9uZSBvZiB0eXBlIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIEFycmF5LWxpa2UgT2JqZWN0LiBSZWNlaXZlZCB0eXBlICIrdHlwZW9mIGIpO2lmKEJlKGIsQXJyYXlCdWZmZXIpfHxiJiZCZShiLmJ1ZmZlcixBcnJheUJ1ZmZlcil8fHR5cGVvZiBTaGFyZWRBcnJheUJ1ZmZlcjwidSImJihCZShiLFNoYXJlZEFycmF5QnVmZmVyKXx8YiYmQmUoYi5idWZmZXIsU2hhcmVkQXJyYXlCdWZmZXIpKSlyZXR1cm4gVShiLHAsbSk7aWYodHlwZW9mIGI9PSJudW1iZXIiKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAidmFsdWUiIGFyZ3VtZW50IG11c3Qgbm90IGJlIG9mIHR5cGUgbnVtYmVyLiBSZWNlaXZlZCB0eXBlIG51bWJlcicpO2NvbnN0IEQ9Yi52YWx1ZU9mJiZiLnZhbHVlT2YoKTtpZihEIT1udWxsJiZEIT09YilyZXR1cm4gbC5mcm9tKEQscCxtKTtjb25zdCBCPUgoYik7aWYoQilyZXR1cm4gQjtpZih0eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLnRvUHJpbWl0aXZlIT1udWxsJiZ0eXBlb2YgYltTeW1ib2wudG9QcmltaXRpdmVdPT0iZnVuY3Rpb24iKXJldHVybiBsLmZyb20oYltTeW1ib2wudG9QcmltaXRpdmVdKCJzdHJpbmciKSxwLG0pO3Rocm93IG5ldyBUeXBlRXJyb3IoIlRoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIG9uZSBvZiB0eXBlIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIEFycmF5LWxpa2UgT2JqZWN0LiBSZWNlaXZlZCB0eXBlICIrdHlwZW9mIGIpfWwuZnJvbT1mdW5jdGlvbihiLHAsbSl7cmV0dXJuIGgoYixwLG0pfSxPYmplY3Quc2V0UHJvdG90eXBlT2YobC5wcm90b3R5cGUsVWludDhBcnJheS5wcm90b3R5cGUpLE9iamVjdC5zZXRQcm90b3R5cGVPZihsLFVpbnQ4QXJyYXkpO2Z1bmN0aW9uIGQoYil7aWYodHlwZW9mIGIhPSJudW1iZXIiKXRocm93IG5ldyBUeXBlRXJyb3IoJyJzaXplIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgbnVtYmVyJyk7aWYoYjwwKXRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgIicrYisnIiBpcyBpbnZhbGlkIGZvciBvcHRpb24gInNpemUiJyl9ZnVuY3Rpb24gdihiLHAsbSl7cmV0dXJuIGQoYiksYjw9MD9jKGIpOnAhPT12b2lkIDA/dHlwZW9mIG09PSJzdHJpbmciP2MoYikuZmlsbChwLG0pOmMoYikuZmlsbChwKTpjKGIpfWwuYWxsb2M9ZnVuY3Rpb24oYixwLG0pe3JldHVybiB2KGIscCxtKX07ZnVuY3Rpb24gRShiKXtyZXR1cm4gZChiKSxjKGI8MD8wOkcoYil8MCl9bC5hbGxvY1Vuc2FmZT1mdW5jdGlvbihiKXtyZXR1cm4gRShiKX0sbC5hbGxvY1Vuc2FmZVNsb3c9ZnVuY3Rpb24oYil7cmV0dXJuIEUoYil9O2Z1bmN0aW9uIF8oYixwKXtpZigodHlwZW9mIHAhPSJzdHJpbmcifHxwPT09IiIpJiYocD0idXRmOCIpLCFsLmlzRW5jb2RpbmcocCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIitwKTtjb25zdCBtPUwoYixwKXwwO2xldCBEPWMobSk7Y29uc3QgQj1ELndyaXRlKGIscCk7cmV0dXJuIEIhPT1tJiYoRD1ELnNsaWNlKDAsQikpLER9ZnVuY3Rpb24gQShiKXtjb25zdCBwPWIubGVuZ3RoPDA/MDpHKGIubGVuZ3RoKXwwLG09YyhwKTtmb3IobGV0IEQ9MDtEPHA7RCs9MSltW0RdPWJbRF0mMjU1O3JldHVybiBtfWZ1bmN0aW9uIFAoYil7aWYoQmUoYixVaW50OEFycmF5KSl7Y29uc3QgcD1uZXcgVWludDhBcnJheShiKTtyZXR1cm4gVShwLmJ1ZmZlcixwLmJ5dGVPZmZzZXQscC5ieXRlTGVuZ3RoKX1yZXR1cm4gQShiKX1mdW5jdGlvbiBVKGIscCxtKXtpZihwPDB8fGIuYnl0ZUxlbmd0aDxwKXRocm93IG5ldyBSYW5nZUVycm9yKCcib2Zmc2V0IiBpcyBvdXRzaWRlIG9mIGJ1ZmZlciBib3VuZHMnKTtpZihiLmJ5dGVMZW5ndGg8cCsobXx8MCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJyJsZW5ndGgiIGlzIG91dHNpZGUgb2YgYnVmZmVyIGJvdW5kcycpO2xldCBEO3JldHVybiBwPT09dm9pZCAwJiZtPT09dm9pZCAwP0Q9bmV3IFVpbnQ4QXJyYXkoYik6bT09PXZvaWQgMD9EPW5ldyBVaW50OEFycmF5KGIscCk6RD1uZXcgVWludDhBcnJheShiLHAsbSksT2JqZWN0LnNldFByb3RvdHlwZU9mKEQsbC5wcm90b3R5cGUpLER9ZnVuY3Rpb24gSChiKXtpZihsLmlzQnVmZmVyKGIpKXtjb25zdCBwPUcoYi5sZW5ndGgpfDAsbT1jKHApO3JldHVybiBtLmxlbmd0aD09PTB8fGIuY29weShtLDAsMCxwKSxtfWlmKGIubGVuZ3RoIT09dm9pZCAwKXJldHVybiB0eXBlb2YgYi5sZW5ndGghPSJudW1iZXIifHxLZShiLmxlbmd0aCk/YygwKTpBKGIpO2lmKGIudHlwZT09PSJCdWZmZXIiJiZBcnJheS5pc0FycmF5KGIuZGF0YSkpcmV0dXJuIEEoYi5kYXRhKX1mdW5jdGlvbiBHKGIpe2lmKGI+PWkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gYWxsb2NhdGUgQnVmZmVyIGxhcmdlciB0aGFuIG1heGltdW0gc2l6ZTogMHgiK2kudG9TdHJpbmcoMTYpKyIgYnl0ZXMiKTtyZXR1cm4gYnwwfWZ1bmN0aW9uIE4oYil7cmV0dXJuK2IhPWImJihiPTApLGwuYWxsb2MoK2IpfWwuaXNCdWZmZXI9ZnVuY3Rpb24ocCl7cmV0dXJuIHAhPW51bGwmJnAuX2lzQnVmZmVyPT09ITAmJnAhPT1sLnByb3RvdHlwZX0sbC5jb21wYXJlPWZ1bmN0aW9uKHAsbSl7aWYoQmUocCxVaW50OEFycmF5KSYmKHA9bC5mcm9tKHAscC5vZmZzZXQscC5ieXRlTGVuZ3RoKSksQmUobSxVaW50OEFycmF5KSYmKG09bC5mcm9tKG0sbS5vZmZzZXQsbS5ieXRlTGVuZ3RoKSksIWwuaXNCdWZmZXIocCl8fCFsLmlzQnVmZmVyKG0pKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAiYnVmMSIsICJidWYyIiBhcmd1bWVudHMgbXVzdCBiZSBvbmUgb2YgdHlwZSBCdWZmZXIgb3IgVWludDhBcnJheScpO2lmKHA9PT1tKXJldHVybiAwO2xldCBEPXAubGVuZ3RoLEI9bS5sZW5ndGg7Zm9yKGxldCBLPTAsUT1NYXRoLm1pbihELEIpO0s8UTsrK0spaWYocFtLXSE9PW1bS10pe0Q9cFtLXSxCPW1bS107YnJlYWt9cmV0dXJuIEQ8Qj8tMTpCPEQ/MTowfSxsLmlzRW5jb2Rpbmc9ZnVuY3Rpb24ocCl7c3dpdGNoKFN0cmluZyhwKS50b0xvd2VyQ2FzZSgpKXtjYXNlImhleCI6Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpjYXNlImFzY2lpIjpjYXNlImxhdGluMSI6Y2FzZSJiaW5hcnkiOmNhc2UiYmFzZTY0IjpjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19LGwuY29uY2F0PWZ1bmN0aW9uKHAsbSl7aWYoIUFycmF5LmlzQXJyYXkocCkpdGhyb3cgbmV3IFR5cGVFcnJvcignImxpc3QiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpO2lmKHAubGVuZ3RoPT09MClyZXR1cm4gbC5hbGxvYygwKTtsZXQgRDtpZihtPT09dm9pZCAwKWZvcihtPTAsRD0wO0Q8cC5sZW5ndGg7KytEKW0rPXBbRF0ubGVuZ3RoO2NvbnN0IEI9bC5hbGxvY1Vuc2FmZShtKTtsZXQgSz0wO2ZvcihEPTA7RDxwLmxlbmd0aDsrK0Qpe2xldCBRPXBbRF07aWYoQmUoUSxVaW50OEFycmF5KSlLK1EubGVuZ3RoPkIubGVuZ3RoPyhsLmlzQnVmZmVyKFEpfHwoUT1sLmZyb20oUSkpLFEuY29weShCLEspKTpVaW50OEFycmF5LnByb3RvdHlwZS5zZXQuY2FsbChCLFEsSyk7ZWxzZSBpZihsLmlzQnVmZmVyKFEpKVEuY29weShCLEspO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcignImxpc3QiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpO0srPVEubGVuZ3RofXJldHVybiBCfTtmdW5jdGlvbiBMKGIscCl7aWYobC5pc0J1ZmZlcihiKSlyZXR1cm4gYi5sZW5ndGg7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGIpfHxCZShiLEFycmF5QnVmZmVyKSlyZXR1cm4gYi5ieXRlTGVuZ3RoO2lmKHR5cGVvZiBiIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgInN0cmluZyIgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBzdHJpbmcsIEJ1ZmZlciwgb3IgQXJyYXlCdWZmZXIuIFJlY2VpdmVkIHR5cGUgJyt0eXBlb2YgYik7Y29uc3QgbT1iLmxlbmd0aCxEPWFyZ3VtZW50cy5sZW5ndGg+MiYmYXJndW1lbnRzWzJdPT09ITA7aWYoIUQmJm09PT0wKXJldHVybiAwO2xldCBCPSExO2Zvcig7Oylzd2l0Y2gocCl7Y2FzZSJhc2NpaSI6Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gbTtjYXNlInV0ZjgiOmNhc2UidXRmLTgiOnJldHVybiBHZShiKS5sZW5ndGg7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiBtKjI7Y2FzZSJoZXgiOnJldHVybiBtPj4+MTtjYXNlImJhc2U2NCI6cmV0dXJuIEplKGIpLmxlbmd0aDtkZWZhdWx0OmlmKEIpcmV0dXJuIEQ/LTE6R2UoYikubGVuZ3RoO3A9KCIiK3ApLnRvTG93ZXJDYXNlKCksQj0hMH19bC5ieXRlTGVuZ3RoPUw7ZnVuY3Rpb24gJChiLHAsbSl7bGV0IEQ9ITE7aWYoKHA9PT12b2lkIDB8fHA8MCkmJihwPTApLHA+dGhpcy5sZW5ndGh8fCgobT09PXZvaWQgMHx8bT50aGlzLmxlbmd0aCkmJihtPXRoaXMubGVuZ3RoKSxtPD0wKXx8KG0+Pj49MCxwPj4+PTAsbTw9cCkpcmV0dXJuIiI7Zm9yKGJ8fChiPSJ1dGY4Iik7Oylzd2l0Y2goYil7Y2FzZSJoZXgiOnJldHVybiBuZSh0aGlzLHAsbSk7Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpyZXR1cm4gTyh0aGlzLHAsbSk7Y2FzZSJhc2NpaSI6cmV0dXJuIGxlKHRoaXMscCxtKTtjYXNlImxhdGluMSI6Y2FzZSJiaW5hcnkiOnJldHVybiByZSh0aGlzLHAsbSk7Y2FzZSJiYXNlNjQiOnJldHVybiBtZSh0aGlzLHAsbSk7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiBhZSh0aGlzLHAsbSk7ZGVmYXVsdDppZihEKXRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrYik7Yj0oYisiIikudG9Mb3dlckNhc2UoKSxEPSEwfX1sLnByb3RvdHlwZS5faXNCdWZmZXI9ITA7ZnVuY3Rpb24gVChiLHAsbSl7Y29uc3QgRD1iW3BdO2JbcF09YlttXSxiW21dPUR9bC5wcm90b3R5cGUuc3dhcDE2PWZ1bmN0aW9uKCl7Y29uc3QgcD10aGlzLmxlbmd0aDtpZihwJTIhPT0wKXRocm93IG5ldyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMTYtYml0cyIpO2ZvcihsZXQgbT0wO208cDttKz0yKVQodGhpcyxtLG0rMSk7cmV0dXJuIHRoaXN9LGwucHJvdG90eXBlLnN3YXAzMj1mdW5jdGlvbigpe2NvbnN0IHA9dGhpcy5sZW5ndGg7aWYocCU0IT09MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDMyLWJpdHMiKTtmb3IobGV0IG09MDttPHA7bSs9NClUKHRoaXMsbSxtKzMpLFQodGhpcyxtKzEsbSsyKTtyZXR1cm4gdGhpc30sbC5wcm90b3R5cGUuc3dhcDY0PWZ1bmN0aW9uKCl7Y29uc3QgcD10aGlzLmxlbmd0aDtpZihwJTghPT0wKXRocm93IG5ldyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNjQtYml0cyIpO2ZvcihsZXQgbT0wO208cDttKz04KVQodGhpcyxtLG0rNyksVCh0aGlzLG0rMSxtKzYpLFQodGhpcyxtKzIsbSs1KSxUKHRoaXMsbSszLG0rNCk7cmV0dXJuIHRoaXN9LGwucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7Y29uc3QgcD10aGlzLmxlbmd0aDtyZXR1cm4gcD09PTA/IiI6YXJndW1lbnRzLmxlbmd0aD09PTA/Tyh0aGlzLDAscCk6JC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGwucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nPWwucHJvdG90eXBlLnRvU3RyaW5nLGwucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihwKXtpZighbC5pc0J1ZmZlcihwKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIik7cmV0dXJuIHRoaXM9PT1wPyEwOmwuY29tcGFyZSh0aGlzLHApPT09MH0sbC5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe2xldCBwPSIiO2NvbnN0IG09dC5JTlNQRUNUX01BWF9CWVRFUztyZXR1cm4gcD10aGlzLnRvU3RyaW5nKCJoZXgiLDAsbSkucmVwbGFjZSgvKC57Mn0pL2csIiQxICIpLnRyaW0oKSx0aGlzLmxlbmd0aD5tJiYocCs9IiAuLi4gIiksIjxCdWZmZXIgIitwKyI+In0sbiYmKGwucHJvdG90eXBlW25dPWwucHJvdG90eXBlLmluc3BlY3QpLGwucHJvdG90eXBlLmNvbXBhcmU9ZnVuY3Rpb24ocCxtLEQsQixLKXtpZihCZShwLFVpbnQ4QXJyYXkpJiYocD1sLmZyb20ocCxwLm9mZnNldCxwLmJ5dGVMZW5ndGgpKSwhbC5pc0J1ZmZlcihwKSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgInRhcmdldCIgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBCdWZmZXIgb3IgVWludDhBcnJheS4gUmVjZWl2ZWQgdHlwZSAnK3R5cGVvZiBwKTtpZihtPT09dm9pZCAwJiYobT0wKSxEPT09dm9pZCAwJiYoRD1wP3AubGVuZ3RoOjApLEI9PT12b2lkIDAmJihCPTApLEs9PT12b2lkIDAmJihLPXRoaXMubGVuZ3RoKSxtPDB8fEQ+cC5sZW5ndGh8fEI8MHx8Sz50aGlzLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib3V0IG9mIHJhbmdlIGluZGV4Iik7aWYoQj49SyYmbT49RClyZXR1cm4gMDtpZihCPj1LKXJldHVybi0xO2lmKG0+PUQpcmV0dXJuIDE7aWYobT4+Pj0wLEQ+Pj49MCxCPj4+PTAsSz4+Pj0wLHRoaXM9PT1wKXJldHVybiAwO2xldCBRPUstQixFZT1ELW07Y29uc3QgVGU9TWF0aC5taW4oUSxFZSksc3Q9dGhpcy5zbGljZShCLEspLGh0PXAuc2xpY2UobSxEKTtmb3IobGV0IGx0PTA7bHQ8VGU7KytsdClpZihzdFtsdF0hPT1odFtsdF0pe1E9c3RbbHRdLEVlPWh0W2x0XTticmVha31yZXR1cm4gUTxFZT8tMTpFZTxRPzE6MH07ZnVuY3Rpb24gSShiLHAsbSxELEIpe2lmKGIubGVuZ3RoPT09MClyZXR1cm4tMTtpZih0eXBlb2YgbT09InN0cmluZyI/KEQ9bSxtPTApOm0+MjE0NzQ4MzY0Nz9tPTIxNDc0ODM2NDc6bTwtMjE0NzQ4MzY0OCYmKG09LTIxNDc0ODM2NDgpLG09K20sS2UobSkmJihtPUI/MDpiLmxlbmd0aC0xKSxtPDAmJihtPWIubGVuZ3RoK20pLG0+PWIubGVuZ3RoKXtpZihCKXJldHVybi0xO209Yi5sZW5ndGgtMX1lbHNlIGlmKG08MClpZihCKW09MDtlbHNlIHJldHVybi0xO2lmKHR5cGVvZiBwPT0ic3RyaW5nIiYmKHA9bC5mcm9tKHAsRCkpLGwuaXNCdWZmZXIocCkpcmV0dXJuIHAubGVuZ3RoPT09MD8tMTpmKGIscCxtLEQsQik7aWYodHlwZW9mIHA9PSJudW1iZXIiKXJldHVybiBwPXAmMjU1LHR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mPT0iZnVuY3Rpb24iP0I/VWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGIscCxtKTpVaW50OEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGIscCxtKTpmKGIsW3BdLG0sRCxCKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJ2YWwgbXVzdCBiZSBzdHJpbmcsIG51bWJlciBvciBCdWZmZXIiKX1mdW5jdGlvbiBmKGIscCxtLEQsQil7bGV0IEs9MSxRPWIubGVuZ3RoLEVlPXAubGVuZ3RoO2lmKEQhPT12b2lkIDAmJihEPVN0cmluZyhEKS50b0xvd2VyQ2FzZSgpLEQ9PT0idWNzMiJ8fEQ9PT0idWNzLTIifHxEPT09InV0ZjE2bGUifHxEPT09InV0Zi0xNmxlIikpe2lmKGIubGVuZ3RoPDJ8fHAubGVuZ3RoPDIpcmV0dXJuLTE7Sz0yLFEvPTIsRWUvPTIsbS89Mn1mdW5jdGlvbiBUZShodCxsdCl7cmV0dXJuIEs9PT0xP2h0W2x0XTpodC5yZWFkVUludDE2QkUobHQqSyl9bGV0IHN0O2lmKEIpe2xldCBodD0tMTtmb3Ioc3Q9bTtzdDxRO3N0KyspaWYoVGUoYixzdCk9PT1UZShwLGh0PT09LTE/MDpzdC1odCkpe2lmKGh0PT09LTEmJihodD1zdCksc3QtaHQrMT09PUVlKXJldHVybiBodCpLfWVsc2UgaHQhPT0tMSYmKHN0LT1zdC1odCksaHQ9LTF9ZWxzZSBmb3IobStFZT5RJiYobT1RLUVlKSxzdD1tO3N0Pj0wO3N0LS0pe2xldCBodD0hMDtmb3IobGV0IGx0PTA7bHQ8RWU7bHQrKylpZihUZShiLHN0K2x0KSE9PVRlKHAsbHQpKXtodD0hMTticmVha31pZihodClyZXR1cm4gc3R9cmV0dXJuLTF9bC5wcm90b3R5cGUuaW5jbHVkZXM9ZnVuY3Rpb24ocCxtLEQpe3JldHVybiB0aGlzLmluZGV4T2YocCxtLEQpIT09LTF9LGwucHJvdG90eXBlLmluZGV4T2Y9ZnVuY3Rpb24ocCxtLEQpe3JldHVybiBJKHRoaXMscCxtLEQsITApfSxsLnByb3RvdHlwZS5sYXN0SW5kZXhPZj1mdW5jdGlvbihwLG0sRCl7cmV0dXJuIEkodGhpcyxwLG0sRCwhMSl9O2Z1bmN0aW9uIHgoYixwLG0sRCl7bT1OdW1iZXIobSl8fDA7Y29uc3QgQj1iLmxlbmd0aC1tO0Q/KEQ9TnVtYmVyKEQpLEQ+QiYmKEQ9QikpOkQ9Qjtjb25zdCBLPXAubGVuZ3RoO0Q+Sy8yJiYoRD1LLzIpO2xldCBRO2ZvcihRPTA7UTxEOysrUSl7Y29uc3QgRWU9cGFyc2VJbnQocC5zdWJzdHIoUSoyLDIpLDE2KTtpZihLZShFZSkpcmV0dXJuIFE7YlttK1FdPUVlfXJldHVybiBRfWZ1bmN0aW9uIEooYixwLG0sRCl7cmV0dXJuIEhlKEdlKHAsYi5sZW5ndGgtbSksYixtLEQpfWZ1bmN0aW9uIHooYixwLG0sRCl7cmV0dXJuIEhlKER0KHApLGIsbSxEKX1mdW5jdGlvbiBlZShiLHAsbSxEKXtyZXR1cm4gSGUoSmUocCksYixtLEQpfWZ1bmN0aW9uIGRlKGIscCxtLEQpe3JldHVybiBIZSgkdChwLGIubGVuZ3RoLW0pLGIsbSxEKX1sLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihwLG0sRCxCKXtpZihtPT09dm9pZCAwKUI9InV0ZjgiLEQ9dGhpcy5sZW5ndGgsbT0wO2Vsc2UgaWYoRD09PXZvaWQgMCYmdHlwZW9mIG09PSJzdHJpbmciKUI9bSxEPXRoaXMubGVuZ3RoLG09MDtlbHNlIGlmKGlzRmluaXRlKG0pKW09bT4+PjAsaXNGaW5pdGUoRCk/KEQ9RD4+PjAsQj09PXZvaWQgMCYmKEI9InV0ZjgiKSk6KEI9RCxEPXZvaWQgMCk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkJ1ZmZlci53cml0ZShzdHJpbmcsIGVuY29kaW5nLCBvZmZzZXRbLCBsZW5ndGhdKSBpcyBubyBsb25nZXIgc3VwcG9ydGVkIik7Y29uc3QgSz10aGlzLmxlbmd0aC1tO2lmKChEPT09dm9pZCAwfHxEPkspJiYoRD1LKSxwLmxlbmd0aD4wJiYoRDwwfHxtPDApfHxtPnRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJBdHRlbXB0IHRvIHdyaXRlIG91dHNpZGUgYnVmZmVyIGJvdW5kcyIpO0J8fChCPSJ1dGY4Iik7bGV0IFE9ITE7Zm9yKDs7KXN3aXRjaChCKXtjYXNlImhleCI6cmV0dXJuIHgodGhpcyxwLG0sRCk7Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpyZXR1cm4gSih0aGlzLHAsbSxEKTtjYXNlImFzY2lpIjpjYXNlImxhdGluMSI6Y2FzZSJiaW5hcnkiOnJldHVybiB6KHRoaXMscCxtLEQpO2Nhc2UiYmFzZTY0IjpyZXR1cm4gZWUodGhpcyxwLG0sRCk7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiBkZSh0aGlzLHAsbSxEKTtkZWZhdWx0OmlmKFEpdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIitCKTtCPSgiIitCKS50b0xvd2VyQ2FzZSgpLFE9ITB9fSxsLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57dHlwZToiQnVmZmVyIixkYXRhOkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMuX2Fycnx8dGhpcywwKX19O2Z1bmN0aW9uIG1lKGIscCxtKXtyZXR1cm4gcD09PTAmJm09PT1iLmxlbmd0aD9lLmZyb21CeXRlQXJyYXkoYik6ZS5mcm9tQnl0ZUFycmF5KGIuc2xpY2UocCxtKSl9ZnVuY3Rpb24gTyhiLHAsbSl7bT1NYXRoLm1pbihiLmxlbmd0aCxtKTtjb25zdCBEPVtdO2xldCBCPXA7Zm9yKDtCPG07KXtjb25zdCBLPWJbQl07bGV0IFE9bnVsbCxFZT1LPjIzOT80Oks+MjIzPzM6Sz4xOTE/MjoxO2lmKEIrRWU8PW0pe2xldCBUZSxzdCxodCxsdDtzd2l0Y2goRWUpe2Nhc2UgMTpLPDEyOCYmKFE9Syk7YnJlYWs7Y2FzZSAyOlRlPWJbQisxXSwoVGUmMTkyKT09PTEyOCYmKGx0PShLJjMxKTw8NnxUZSY2MyxsdD4xMjcmJihRPWx0KSk7YnJlYWs7Y2FzZSAzOlRlPWJbQisxXSxzdD1iW0IrMl0sKFRlJjE5Mik9PT0xMjgmJihzdCYxOTIpPT09MTI4JiYobHQ9KEsmMTUpPDwxMnwoVGUmNjMpPDw2fHN0JjYzLGx0PjIwNDcmJihsdDw1NTI5Nnx8bHQ+NTczNDMpJiYoUT1sdCkpO2JyZWFrO2Nhc2UgNDpUZT1iW0IrMV0sc3Q9YltCKzJdLGh0PWJbQiszXSwoVGUmMTkyKT09PTEyOCYmKHN0JjE5Mik9PT0xMjgmJihodCYxOTIpPT09MTI4JiYobHQ9KEsmMTUpPDwxOHwoVGUmNjMpPDwxMnwoc3QmNjMpPDw2fGh0JjYzLGx0PjY1NTM1JiZsdDwxMTE0MTEyJiYoUT1sdCkpfX1RPT09bnVsbD8oUT02NTUzMyxFZT0xKTpRPjY1NTM1JiYoUS09NjU1MzYsRC5wdXNoKFE+Pj4xMCYxMDIzfDU1Mjk2KSxRPTU2MzIwfFEmMTAyMyksRC5wdXNoKFEpLEIrPUVlfXJldHVybiBjZShEKX1jb25zdCBqPTQwOTY7ZnVuY3Rpb24gY2UoYil7Y29uc3QgcD1iLmxlbmd0aDtpZihwPD1qKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxiKTtsZXQgbT0iIixEPTA7Zm9yKDtEPHA7KW0rPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLGIuc2xpY2UoRCxEKz1qKSk7cmV0dXJuIG19ZnVuY3Rpb24gbGUoYixwLG0pe2xldCBEPSIiO209TWF0aC5taW4oYi5sZW5ndGgsbSk7Zm9yKGxldCBCPXA7QjxtOysrQilEKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGJbQl0mMTI3KTtyZXR1cm4gRH1mdW5jdGlvbiByZShiLHAsbSl7bGV0IEQ9IiI7bT1NYXRoLm1pbihiLmxlbmd0aCxtKTtmb3IobGV0IEI9cDtCPG07KytCKUQrPVN0cmluZy5mcm9tQ2hhckNvZGUoYltCXSk7cmV0dXJuIER9ZnVuY3Rpb24gbmUoYixwLG0pe2NvbnN0IEQ9Yi5sZW5ndGg7KCFwfHxwPDApJiYocD0wKSwoIW18fG08MHx8bT5EKSYmKG09RCk7bGV0IEI9IiI7Zm9yKGxldCBLPXA7SzxtOysrSylCKz1ydFtiW0tdXTtyZXR1cm4gQn1mdW5jdGlvbiBhZShiLHAsbSl7Y29uc3QgRD1iLnNsaWNlKHAsbSk7bGV0IEI9IiI7Zm9yKGxldCBLPTA7SzxELmxlbmd0aC0xO0srPTIpQis9U3RyaW5nLmZyb21DaGFyQ29kZShEW0tdK0RbSysxXSoyNTYpO3JldHVybiBCfWwucHJvdG90eXBlLnNsaWNlPWZ1bmN0aW9uKHAsbSl7Y29uc3QgRD10aGlzLmxlbmd0aDtwPX5+cCxtPW09PT12b2lkIDA/RDp+fm0scDwwPyhwKz1ELHA8MCYmKHA9MCkpOnA+RCYmKHA9RCksbTwwPyhtKz1ELG08MCYmKG09MCkpOm0+RCYmKG09RCksbTxwJiYobT1wKTtjb25zdCBCPXRoaXMuc3ViYXJyYXkocCxtKTtyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKEIsbC5wcm90b3R5cGUpLEJ9O2Z1bmN0aW9uIGllKGIscCxtKXtpZihiJTEhPT0wfHxiPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIm9mZnNldCBpcyBub3QgdWludCIpO2lmKGIrcD5tKXRocm93IG5ldyBSYW5nZUVycm9yKCJUcnlpbmcgdG8gYWNjZXNzIGJleW9uZCBidWZmZXIgbGVuZ3RoIil9bC5wcm90b3R5cGUucmVhZFVpbnRMRT1sLnByb3RvdHlwZS5yZWFkVUludExFPWZ1bmN0aW9uKHAsbSxEKXtwPXA+Pj4wLG09bT4+PjAsRHx8aWUocCxtLHRoaXMubGVuZ3RoKTtsZXQgQj10aGlzW3BdLEs9MSxRPTA7Zm9yKDsrK1E8bSYmKEsqPTI1Nik7KUIrPXRoaXNbcCtRXSpLO3JldHVybiBCfSxsLnByb3RvdHlwZS5yZWFkVWludEJFPWwucHJvdG90eXBlLnJlYWRVSW50QkU9ZnVuY3Rpb24ocCxtLEQpe3A9cD4+PjAsbT1tPj4+MCxEfHxpZShwLG0sdGhpcy5sZW5ndGgpO2xldCBCPXRoaXNbcCstLW1dLEs9MTtmb3IoO20+MCYmKEsqPTI1Nik7KUIrPXRoaXNbcCstLW1dKks7cmV0dXJuIEJ9LGwucHJvdG90eXBlLnJlYWRVaW50OD1sLnByb3RvdHlwZS5yZWFkVUludDg9ZnVuY3Rpb24ocCxtKXtyZXR1cm4gcD1wPj4+MCxtfHxpZShwLDEsdGhpcy5sZW5ndGgpLHRoaXNbcF19LGwucHJvdG90eXBlLnJlYWRVaW50MTZMRT1sLnByb3RvdHlwZS5yZWFkVUludDE2TEU9ZnVuY3Rpb24ocCxtKXtyZXR1cm4gcD1wPj4+MCxtfHxpZShwLDIsdGhpcy5sZW5ndGgpLHRoaXNbcF18dGhpc1twKzFdPDw4fSxsLnByb3RvdHlwZS5yZWFkVWludDE2QkU9bC5wcm90b3R5cGUucmVhZFVJbnQxNkJFPWZ1bmN0aW9uKHAsbSl7cmV0dXJuIHA9cD4+PjAsbXx8aWUocCwyLHRoaXMubGVuZ3RoKSx0aGlzW3BdPDw4fHRoaXNbcCsxXX0sbC5wcm90b3R5cGUucmVhZFVpbnQzMkxFPWwucHJvdG90eXBlLnJlYWRVSW50MzJMRT1mdW5jdGlvbihwLG0pe3JldHVybiBwPXA+Pj4wLG18fGllKHAsNCx0aGlzLmxlbmd0aCksKHRoaXNbcF18dGhpc1twKzFdPDw4fHRoaXNbcCsyXTw8MTYpK3RoaXNbcCszXSoxNjc3NzIxNn0sbC5wcm90b3R5cGUucmVhZFVpbnQzMkJFPWwucHJvdG90eXBlLnJlYWRVSW50MzJCRT1mdW5jdGlvbihwLG0pe3JldHVybiBwPXA+Pj4wLG18fGllKHAsNCx0aGlzLmxlbmd0aCksdGhpc1twXSoxNjc3NzIxNisodGhpc1twKzFdPDwxNnx0aGlzW3ArMl08PDh8dGhpc1twKzNdKX0sbC5wcm90b3R5cGUucmVhZEJpZ1VJbnQ2NExFPVVlKGZ1bmN0aW9uKHApe3A9cD4+PjAsdmUocCwib2Zmc2V0Iik7Y29uc3QgbT10aGlzW3BdLEQ9dGhpc1twKzddOyhtPT09dm9pZCAwfHxEPT09dm9pZCAwKSYmTWUocCx0aGlzLmxlbmd0aC04KTtjb25zdCBCPW0rdGhpc1srK3BdKjIqKjgrdGhpc1srK3BdKjIqKjE2K3RoaXNbKytwXSoyKioyNCxLPXRoaXNbKytwXSt0aGlzWysrcF0qMioqOCt0aGlzWysrcF0qMioqMTYrRCoyKioyNDtyZXR1cm4gQmlnSW50KEIpKyhCaWdJbnQoSyk8PEJpZ0ludCgzMikpfSksbC5wcm90b3R5cGUucmVhZEJpZ1VJbnQ2NEJFPVVlKGZ1bmN0aW9uKHApe3A9cD4+PjAsdmUocCwib2Zmc2V0Iik7Y29uc3QgbT10aGlzW3BdLEQ9dGhpc1twKzddOyhtPT09dm9pZCAwfHxEPT09dm9pZCAwKSYmTWUocCx0aGlzLmxlbmd0aC04KTtjb25zdCBCPW0qMioqMjQrdGhpc1srK3BdKjIqKjE2K3RoaXNbKytwXSoyKio4K3RoaXNbKytwXSxLPXRoaXNbKytwXSoyKioyNCt0aGlzWysrcF0qMioqMTYrdGhpc1srK3BdKjIqKjgrRDtyZXR1cm4oQmlnSW50KEIpPDxCaWdJbnQoMzIpKStCaWdJbnQoSyl9KSxsLnByb3RvdHlwZS5yZWFkSW50TEU9ZnVuY3Rpb24ocCxtLEQpe3A9cD4+PjAsbT1tPj4+MCxEfHxpZShwLG0sdGhpcy5sZW5ndGgpO2xldCBCPXRoaXNbcF0sSz0xLFE9MDtmb3IoOysrUTxtJiYoSyo9MjU2KTspQis9dGhpc1twK1FdKks7cmV0dXJuIEsqPTEyOCxCPj1LJiYoQi09TWF0aC5wb3coMiw4Km0pKSxCfSxsLnByb3RvdHlwZS5yZWFkSW50QkU9ZnVuY3Rpb24ocCxtLEQpe3A9cD4+PjAsbT1tPj4+MCxEfHxpZShwLG0sdGhpcy5sZW5ndGgpO2xldCBCPW0sSz0xLFE9dGhpc1twKy0tQl07Zm9yKDtCPjAmJihLKj0yNTYpOylRKz10aGlzW3ArLS1CXSpLO3JldHVybiBLKj0xMjgsUT49SyYmKFEtPU1hdGgucG93KDIsOCptKSksUX0sbC5wcm90b3R5cGUucmVhZEludDg9ZnVuY3Rpb24ocCxtKXtyZXR1cm4gcD1wPj4+MCxtfHxpZShwLDEsdGhpcy5sZW5ndGgpLHRoaXNbcF0mMTI4PygyNTUtdGhpc1twXSsxKSotMTp0aGlzW3BdfSxsLnByb3RvdHlwZS5yZWFkSW50MTZMRT1mdW5jdGlvbihwLG0pe3A9cD4+PjAsbXx8aWUocCwyLHRoaXMubGVuZ3RoKTtjb25zdCBEPXRoaXNbcF18dGhpc1twKzFdPDw4O3JldHVybiBEJjMyNzY4P0R8NDI5NDkwMTc2MDpEfSxsLnByb3RvdHlwZS5yZWFkSW50MTZCRT1mdW5jdGlvbihwLG0pe3A9cD4+PjAsbXx8aWUocCwyLHRoaXMubGVuZ3RoKTtjb25zdCBEPXRoaXNbcCsxXXx0aGlzW3BdPDw4O3JldHVybiBEJjMyNzY4P0R8NDI5NDkwMTc2MDpEfSxsLnByb3RvdHlwZS5yZWFkSW50MzJMRT1mdW5jdGlvbihwLG0pe3JldHVybiBwPXA+Pj4wLG18fGllKHAsNCx0aGlzLmxlbmd0aCksdGhpc1twXXx0aGlzW3ArMV08PDh8dGhpc1twKzJdPDwxNnx0aGlzW3ArM108PDI0fSxsLnByb3RvdHlwZS5yZWFkSW50MzJCRT1mdW5jdGlvbihwLG0pe3JldHVybiBwPXA+Pj4wLG18fGllKHAsNCx0aGlzLmxlbmd0aCksdGhpc1twXTw8MjR8dGhpc1twKzFdPDwxNnx0aGlzW3ArMl08PDh8dGhpc1twKzNdfSxsLnByb3RvdHlwZS5yZWFkQmlnSW50NjRMRT1VZShmdW5jdGlvbihwKXtwPXA+Pj4wLHZlKHAsIm9mZnNldCIpO2NvbnN0IG09dGhpc1twXSxEPXRoaXNbcCs3XTsobT09PXZvaWQgMHx8RD09PXZvaWQgMCkmJk1lKHAsdGhpcy5sZW5ndGgtOCk7Y29uc3QgQj10aGlzW3ArNF0rdGhpc1twKzVdKjIqKjgrdGhpc1twKzZdKjIqKjE2KyhEPDwyNCk7cmV0dXJuKEJpZ0ludChCKTw8QmlnSW50KDMyKSkrQmlnSW50KG0rdGhpc1srK3BdKjIqKjgrdGhpc1srK3BdKjIqKjE2K3RoaXNbKytwXSoyKioyNCl9KSxsLnByb3RvdHlwZS5yZWFkQmlnSW50NjRCRT1VZShmdW5jdGlvbihwKXtwPXA+Pj4wLHZlKHAsIm9mZnNldCIpO2NvbnN0IG09dGhpc1twXSxEPXRoaXNbcCs3XTsobT09PXZvaWQgMHx8RD09PXZvaWQgMCkmJk1lKHAsdGhpcy5sZW5ndGgtOCk7Y29uc3QgQj0obTw8MjQpK3RoaXNbKytwXSoyKioxNit0aGlzWysrcF0qMioqOCt0aGlzWysrcF07cmV0dXJuKEJpZ0ludChCKTw8QmlnSW50KDMyKSkrQmlnSW50KHRoaXNbKytwXSoyKioyNCt0aGlzWysrcF0qMioqMTYrdGhpc1srK3BdKjIqKjgrRCl9KSxsLnByb3RvdHlwZS5yZWFkRmxvYXRMRT1mdW5jdGlvbihwLG0pe3JldHVybiBwPXA+Pj4wLG18fGllKHAsNCx0aGlzLmxlbmd0aCksci5yZWFkKHRoaXMscCwhMCwyMyw0KX0sbC5wcm90b3R5cGUucmVhZEZsb2F0QkU9ZnVuY3Rpb24ocCxtKXtyZXR1cm4gcD1wPj4+MCxtfHxpZShwLDQsdGhpcy5sZW5ndGgpLHIucmVhZCh0aGlzLHAsITEsMjMsNCl9LGwucHJvdG90eXBlLnJlYWREb3VibGVMRT1mdW5jdGlvbihwLG0pe3JldHVybiBwPXA+Pj4wLG18fGllKHAsOCx0aGlzLmxlbmd0aCksci5yZWFkKHRoaXMscCwhMCw1Miw4KX0sbC5wcm90b3R5cGUucmVhZERvdWJsZUJFPWZ1bmN0aW9uKHAsbSl7cmV0dXJuIHA9cD4+PjAsbXx8aWUocCw4LHRoaXMubGVuZ3RoKSxyLnJlYWQodGhpcyxwLCExLDUyLDgpfTtmdW5jdGlvbiBTZShiLHAsbSxELEIsSyl7aWYoIWwuaXNCdWZmZXIoYikpdGhyb3cgbmV3IFR5cGVFcnJvcignImJ1ZmZlciIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBpbnN0YW5jZScpO2lmKHA+Qnx8cDxLKXRocm93IG5ldyBSYW5nZUVycm9yKCcidmFsdWUiIGFyZ3VtZW50IGlzIG91dCBvZiBib3VuZHMnKTtpZihtK0Q+Yi5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIpfWwucHJvdG90eXBlLndyaXRlVWludExFPWwucHJvdG90eXBlLndyaXRlVUludExFPWZ1bmN0aW9uKHAsbSxELEIpe2lmKHA9K3AsbT1tPj4+MCxEPUQ+Pj4wLCFCKXtjb25zdCBFZT1NYXRoLnBvdygyLDgqRCktMTtTZSh0aGlzLHAsbSxELEVlLDApfWxldCBLPTEsUT0wO2Zvcih0aGlzW21dPXAmMjU1OysrUTxEJiYoSyo9MjU2KTspdGhpc1ttK1FdPXAvSyYyNTU7cmV0dXJuIG0rRH0sbC5wcm90b3R5cGUud3JpdGVVaW50QkU9bC5wcm90b3R5cGUud3JpdGVVSW50QkU9ZnVuY3Rpb24ocCxtLEQsQil7aWYocD0rcCxtPW0+Pj4wLEQ9RD4+PjAsIUIpe2NvbnN0IEVlPU1hdGgucG93KDIsOCpEKS0xO1NlKHRoaXMscCxtLEQsRWUsMCl9bGV0IEs9RC0xLFE9MTtmb3IodGhpc1ttK0tdPXAmMjU1Oy0tSz49MCYmKFEqPTI1Nik7KXRoaXNbbStLXT1wL1EmMjU1O3JldHVybiBtK0R9LGwucHJvdG90eXBlLndyaXRlVWludDg9bC5wcm90b3R5cGUud3JpdGVVSW50OD1mdW5jdGlvbihwLG0sRCl7cmV0dXJuIHA9K3AsbT1tPj4+MCxEfHxTZSh0aGlzLHAsbSwxLDI1NSwwKSx0aGlzW21dPXAmMjU1LG0rMX0sbC5wcm90b3R5cGUud3JpdGVVaW50MTZMRT1sLnByb3RvdHlwZS53cml0ZVVJbnQxNkxFPWZ1bmN0aW9uKHAsbSxEKXtyZXR1cm4gcD0rcCxtPW0+Pj4wLER8fFNlKHRoaXMscCxtLDIsNjU1MzUsMCksdGhpc1ttXT1wJjI1NSx0aGlzW20rMV09cD4+PjgsbSsyfSxsLnByb3RvdHlwZS53cml0ZVVpbnQxNkJFPWwucHJvdG90eXBlLndyaXRlVUludDE2QkU9ZnVuY3Rpb24ocCxtLEQpe3JldHVybiBwPStwLG09bT4+PjAsRHx8U2UodGhpcyxwLG0sMiw2NTUzNSwwKSx0aGlzW21dPXA+Pj44LHRoaXNbbSsxXT1wJjI1NSxtKzJ9LGwucHJvdG90eXBlLndyaXRlVWludDMyTEU9bC5wcm90b3R5cGUud3JpdGVVSW50MzJMRT1mdW5jdGlvbihwLG0sRCl7cmV0dXJuIHA9K3AsbT1tPj4+MCxEfHxTZSh0aGlzLHAsbSw0LDQyOTQ5NjcyOTUsMCksdGhpc1ttKzNdPXA+Pj4yNCx0aGlzW20rMl09cD4+PjE2LHRoaXNbbSsxXT1wPj4+OCx0aGlzW21dPXAmMjU1LG0rNH0sbC5wcm90b3R5cGUud3JpdGVVaW50MzJCRT1sLnByb3RvdHlwZS53cml0ZVVJbnQzMkJFPWZ1bmN0aW9uKHAsbSxEKXtyZXR1cm4gcD0rcCxtPW0+Pj4wLER8fFNlKHRoaXMscCxtLDQsNDI5NDk2NzI5NSwwKSx0aGlzW21dPXA+Pj4yNCx0aGlzW20rMV09cD4+PjE2LHRoaXNbbSsyXT1wPj4+OCx0aGlzW20rM109cCYyNTUsbSs0fTtmdW5jdGlvbiBnZShiLHAsbSxELEIpe3dlKHAsRCxCLGIsbSw3KTtsZXQgSz1OdW1iZXIocCZCaWdJbnQoNDI5NDk2NzI5NSkpO2JbbSsrXT1LLEs9Sz4+OCxiW20rK109SyxLPUs+PjgsYlttKytdPUssSz1LPj44LGJbbSsrXT1LO2xldCBRPU51bWJlcihwPj5CaWdJbnQoMzIpJkJpZ0ludCg0Mjk0OTY3Mjk1KSk7cmV0dXJuIGJbbSsrXT1RLFE9UT4+OCxiW20rK109USxRPVE+PjgsYlttKytdPVEsUT1RPj44LGJbbSsrXT1RLG19ZnVuY3Rpb24gRmUoYixwLG0sRCxCKXt3ZShwLEQsQixiLG0sNyk7bGV0IEs9TnVtYmVyKHAmQmlnSW50KDQyOTQ5NjcyOTUpKTtiW20rN109SyxLPUs+PjgsYlttKzZdPUssSz1LPj44LGJbbSs1XT1LLEs9Sz4+OCxiW20rNF09SztsZXQgUT1OdW1iZXIocD4+QmlnSW50KDMyKSZCaWdJbnQoNDI5NDk2NzI5NSkpO3JldHVybiBiW20rM109USxRPVE+PjgsYlttKzJdPVEsUT1RPj44LGJbbSsxXT1RLFE9UT4+OCxiW21dPVEsbSs4fWwucHJvdG90eXBlLndyaXRlQmlnVUludDY0TEU9VWUoZnVuY3Rpb24ocCxtPTApe3JldHVybiBnZSh0aGlzLHAsbSxCaWdJbnQoMCksQmlnSW50KCIweGZmZmZmZmZmZmZmZmZmZmYiKSl9KSxsLnByb3RvdHlwZS53cml0ZUJpZ1VJbnQ2NEJFPVVlKGZ1bmN0aW9uKHAsbT0wKXtyZXR1cm4gRmUodGhpcyxwLG0sQmlnSW50KDApLEJpZ0ludCgiMHhmZmZmZmZmZmZmZmZmZmZmIikpfSksbC5wcm90b3R5cGUud3JpdGVJbnRMRT1mdW5jdGlvbihwLG0sRCxCKXtpZihwPStwLG09bT4+PjAsIUIpe2NvbnN0IFRlPU1hdGgucG93KDIsOCpELTEpO1NlKHRoaXMscCxtLEQsVGUtMSwtVGUpfWxldCBLPTAsUT0xLEVlPTA7Zm9yKHRoaXNbbV09cCYyNTU7KytLPEQmJihRKj0yNTYpOylwPDAmJkVlPT09MCYmdGhpc1ttK0stMV0hPT0wJiYoRWU9MSksdGhpc1ttK0tdPShwL1E+PjApLUVlJjI1NTtyZXR1cm4gbStEfSxsLnByb3RvdHlwZS53cml0ZUludEJFPWZ1bmN0aW9uKHAsbSxELEIpe2lmKHA9K3AsbT1tPj4+MCwhQil7Y29uc3QgVGU9TWF0aC5wb3coMiw4KkQtMSk7U2UodGhpcyxwLG0sRCxUZS0xLC1UZSl9bGV0IEs9RC0xLFE9MSxFZT0wO2Zvcih0aGlzW20rS109cCYyNTU7LS1LPj0wJiYoUSo9MjU2KTspcDwwJiZFZT09PTAmJnRoaXNbbStLKzFdIT09MCYmKEVlPTEpLHRoaXNbbStLXT0ocC9RPj4wKS1FZSYyNTU7cmV0dXJuIG0rRH0sbC5wcm90b3R5cGUud3JpdGVJbnQ4PWZ1bmN0aW9uKHAsbSxEKXtyZXR1cm4gcD0rcCxtPW0+Pj4wLER8fFNlKHRoaXMscCxtLDEsMTI3LC0xMjgpLHA8MCYmKHA9MjU1K3ArMSksdGhpc1ttXT1wJjI1NSxtKzF9LGwucHJvdG90eXBlLndyaXRlSW50MTZMRT1mdW5jdGlvbihwLG0sRCl7cmV0dXJuIHA9K3AsbT1tPj4+MCxEfHxTZSh0aGlzLHAsbSwyLDMyNzY3LC0zMjc2OCksdGhpc1ttXT1wJjI1NSx0aGlzW20rMV09cD4+PjgsbSsyfSxsLnByb3RvdHlwZS53cml0ZUludDE2QkU9ZnVuY3Rpb24ocCxtLEQpe3JldHVybiBwPStwLG09bT4+PjAsRHx8U2UodGhpcyxwLG0sMiwzMjc2NywtMzI3NjgpLHRoaXNbbV09cD4+PjgsdGhpc1ttKzFdPXAmMjU1LG0rMn0sbC5wcm90b3R5cGUud3JpdGVJbnQzMkxFPWZ1bmN0aW9uKHAsbSxEKXtyZXR1cm4gcD0rcCxtPW0+Pj4wLER8fFNlKHRoaXMscCxtLDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCksdGhpc1ttXT1wJjI1NSx0aGlzW20rMV09cD4+PjgsdGhpc1ttKzJdPXA+Pj4xNix0aGlzW20rM109cD4+PjI0LG0rNH0sbC5wcm90b3R5cGUud3JpdGVJbnQzMkJFPWZ1bmN0aW9uKHAsbSxEKXtyZXR1cm4gcD0rcCxtPW0+Pj4wLER8fFNlKHRoaXMscCxtLDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCkscDwwJiYocD00Mjk0OTY3Mjk1K3ArMSksdGhpc1ttXT1wPj4+MjQsdGhpc1ttKzFdPXA+Pj4xNix0aGlzW20rMl09cD4+PjgsdGhpc1ttKzNdPXAmMjU1LG0rNH0sbC5wcm90b3R5cGUud3JpdGVCaWdJbnQ2NExFPVVlKGZ1bmN0aW9uKHAsbT0wKXtyZXR1cm4gZ2UodGhpcyxwLG0sLUJpZ0ludCgiMHg4MDAwMDAwMDAwMDAwMDAwIiksQmlnSW50KCIweDdmZmZmZmZmZmZmZmZmZmYiKSl9KSxsLnByb3RvdHlwZS53cml0ZUJpZ0ludDY0QkU9VWUoZnVuY3Rpb24ocCxtPTApe3JldHVybiBGZSh0aGlzLHAsbSwtQmlnSW50KCIweDgwMDAwMDAwMDAwMDAwMDAiKSxCaWdJbnQoIjB4N2ZmZmZmZmZmZmZmZmZmZiIpKX0pO2Z1bmN0aW9uIHllKGIscCxtLEQsQixLKXtpZihtK0Q+Yi5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIpO2lmKG08MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24gTGUoYixwLG0sRCxCKXtyZXR1cm4gcD0rcCxtPW0+Pj4wLEJ8fHllKGIscCxtLDQpLHIud3JpdGUoYixwLG0sRCwyMyw0KSxtKzR9bC5wcm90b3R5cGUud3JpdGVGbG9hdExFPWZ1bmN0aW9uKHAsbSxEKXtyZXR1cm4gTGUodGhpcyxwLG0sITAsRCl9LGwucHJvdG90eXBlLndyaXRlRmxvYXRCRT1mdW5jdGlvbihwLG0sRCl7cmV0dXJuIExlKHRoaXMscCxtLCExLEQpfTtmdW5jdGlvbiBYKGIscCxtLEQsQil7cmV0dXJuIHA9K3AsbT1tPj4+MCxCfHx5ZShiLHAsbSw4KSxyLndyaXRlKGIscCxtLEQsNTIsOCksbSs4fWwucHJvdG90eXBlLndyaXRlRG91YmxlTEU9ZnVuY3Rpb24ocCxtLEQpe3JldHVybiBYKHRoaXMscCxtLCEwLEQpfSxsLnByb3RvdHlwZS53cml0ZURvdWJsZUJFPWZ1bmN0aW9uKHAsbSxEKXtyZXR1cm4gWCh0aGlzLHAsbSwhMSxEKX0sbC5wcm90b3R5cGUuY29weT1mdW5jdGlvbihwLG0sRCxCKXtpZighbC5pc0J1ZmZlcihwKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJhcmd1bWVudCBzaG91bGQgYmUgYSBCdWZmZXIiKTtpZihEfHwoRD0wKSwhQiYmQiE9PTAmJihCPXRoaXMubGVuZ3RoKSxtPj1wLmxlbmd0aCYmKG09cC5sZW5ndGgpLG18fChtPTApLEI+MCYmQjxEJiYoQj1EKSxCPT09RHx8cC5sZW5ndGg9PT0wfHx0aGlzLmxlbmd0aD09PTApcmV0dXJuIDA7aWYobTwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJ0YXJnZXRTdGFydCBvdXQgb2YgYm91bmRzIik7aWYoRDwwfHxEPj10aGlzLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIik7aWYoQjwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VFbmQgb3V0IG9mIGJvdW5kcyIpO0I+dGhpcy5sZW5ndGgmJihCPXRoaXMubGVuZ3RoKSxwLmxlbmd0aC1tPEItRCYmKEI9cC5sZW5ndGgtbStEKTtjb25zdCBLPUItRDtyZXR1cm4gdGhpcz09PXAmJnR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluPT0iZnVuY3Rpb24iP3RoaXMuY29weVdpdGhpbihtLEQsQik6VWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwocCx0aGlzLnN1YmFycmF5KEQsQiksbSksS30sbC5wcm90b3R5cGUuZmlsbD1mdW5jdGlvbihwLG0sRCxCKXtpZih0eXBlb2YgcD09InN0cmluZyIpe2lmKHR5cGVvZiBtPT0ic3RyaW5nIj8oQj1tLG09MCxEPXRoaXMubGVuZ3RoKTp0eXBlb2YgRD09InN0cmluZyImJihCPUQsRD10aGlzLmxlbmd0aCksQiE9PXZvaWQgMCYmdHlwZW9mIEIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoImVuY29kaW5nIG11c3QgYmUgYSBzdHJpbmciKTtpZih0eXBlb2YgQj09InN0cmluZyImJiFsLmlzRW5jb2RpbmcoQikpdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIitCKTtpZihwLmxlbmd0aD09PTEpe2NvbnN0IFE9cC5jaGFyQ29kZUF0KDApOyhCPT09InV0ZjgiJiZRPDEyOHx8Qj09PSJsYXRpbjEiKSYmKHA9USl9fWVsc2UgdHlwZW9mIHA9PSJudW1iZXIiP3A9cCYyNTU6dHlwZW9mIHA9PSJib29sZWFuIiYmKHA9TnVtYmVyKHApKTtpZihtPDB8fHRoaXMubGVuZ3RoPG18fHRoaXMubGVuZ3RoPEQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk91dCBvZiByYW5nZSBpbmRleCIpO2lmKEQ8PW0pcmV0dXJuIHRoaXM7bT1tPj4+MCxEPUQ9PT12b2lkIDA/dGhpcy5sZW5ndGg6RD4+PjAscHx8KHA9MCk7bGV0IEs7aWYodHlwZW9mIHA9PSJudW1iZXIiKWZvcihLPW07SzxEOysrSyl0aGlzW0tdPXA7ZWxzZXtjb25zdCBRPWwuaXNCdWZmZXIocCk/cDpsLmZyb20ocCxCKSxFZT1RLmxlbmd0aDtpZihFZT09PTApdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIHZhbHVlICInK3ArJyIgaXMgaW52YWxpZCBmb3IgYXJndW1lbnQgInZhbHVlIicpO2ZvcihLPTA7SzxELW07KytLKXRoaXNbSyttXT1RW0slRWVdfXJldHVybiB0aGlzfTtjb25zdCBZPXt9O2Z1bmN0aW9uIFcoYixwLG0pe1lbYl09Y2xhc3MgZXh0ZW5kcyBte2NvbnN0cnVjdG9yKCl7c3VwZXIoKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywibWVzc2FnZSIse3ZhbHVlOnAuYXBwbHkodGhpcyxhcmd1bWVudHMpLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLHRoaXMubmFtZT1gJHt0aGlzLm5hbWV9IFske2J9XWAsdGhpcy5zdGFjayxkZWxldGUgdGhpcy5uYW1lfWdldCBjb2RlKCl7cmV0dXJuIGJ9c2V0IGNvZGUoQil7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImNvZGUiLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpCLHdyaXRhYmxlOiEwfSl9dG9TdHJpbmcoKXtyZXR1cm5gJHt0aGlzLm5hbWV9IFske2J9XTogJHt0aGlzLm1lc3NhZ2V9YH19fVcoIkVSUl9CVUZGRVJfT1VUX09GX0JPVU5EUyIsZnVuY3Rpb24oYil7cmV0dXJuIGI/YCR7Yn0gaXMgb3V0c2lkZSBvZiBidWZmZXIgYm91bmRzYDoiQXR0ZW1wdCB0byBhY2Nlc3MgbWVtb3J5IG91dHNpZGUgYnVmZmVyIGJvdW5kcyJ9LFJhbmdlRXJyb3IpLFcoIkVSUl9JTlZBTElEX0FSR19UWVBFIixmdW5jdGlvbihiLHApe3JldHVybmBUaGUgIiR7Yn0iIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBudW1iZXIuIFJlY2VpdmVkIHR5cGUgJHt0eXBlb2YgcH1gfSxUeXBlRXJyb3IpLFcoIkVSUl9PVVRfT0ZfUkFOR0UiLGZ1bmN0aW9uKGIscCxtKXtsZXQgRD1gVGhlIHZhbHVlIG9mICIke2J9IiBpcyBvdXQgb2YgcmFuZ2UuYCxCPW07cmV0dXJuIE51bWJlci5pc0ludGVnZXIobSkmJk1hdGguYWJzKG0pPjIqKjMyP0I9dyhTdHJpbmcobSkpOnR5cGVvZiBtPT0iYmlnaW50IiYmKEI9U3RyaW5nKG0pLChtPkJpZ0ludCgyKSoqQmlnSW50KDMyKXx8bTwtKEJpZ0ludCgyKSoqQmlnSW50KDMyKSkpJiYoQj13KEIpKSxCKz0ibiIpLEQrPWAgSXQgbXVzdCBiZSAke3B9LiBSZWNlaXZlZCAke0J9YCxEfSxSYW5nZUVycm9yKTtmdW5jdGlvbiB3KGIpe2xldCBwPSIiLG09Yi5sZW5ndGg7Y29uc3QgRD1iWzBdPT09Ii0iPzE6MDtmb3IoO20+PUQrNDttLT0zKXA9YF8ke2Iuc2xpY2UobS0zLG0pfSR7cH1gO3JldHVybmAke2Iuc2xpY2UoMCxtKX0ke3B9YH1mdW5jdGlvbiBGKGIscCxtKXt2ZShwLCJvZmZzZXQiKSwoYltwXT09PXZvaWQgMHx8YltwK21dPT09dm9pZCAwKSYmTWUocCxiLmxlbmd0aC0obSsxKSl9ZnVuY3Rpb24gd2UoYixwLG0sRCxCLEspe2lmKGI+bXx8YjxwKXtjb25zdCBRPXR5cGVvZiBwPT0iYmlnaW50Ij8ibiI6IiI7bGV0IEVlO3Rocm93IEs+Mz9wPT09MHx8cD09PUJpZ0ludCgwKT9FZT1gPj0gMCR7UX0gYW5kIDwgMiR7UX0gKiogJHsoSysxKSo4fSR7UX1gOkVlPWA+PSAtKDIke1F9ICoqICR7KEsrMSkqOC0xfSR7UX0pIGFuZCA8IDIgKiogJHsoSysxKSo4LTF9JHtRfWA6RWU9YD49ICR7cH0ke1F9IGFuZCA8PSAke219JHtRfWAsbmV3IFkuRVJSX09VVF9PRl9SQU5HRSgidmFsdWUiLEVlLGIpfUYoRCxCLEspfWZ1bmN0aW9uIHZlKGIscCl7aWYodHlwZW9mIGIhPSJudW1iZXIiKXRocm93IG5ldyBZLkVSUl9JTlZBTElEX0FSR19UWVBFKHAsIm51bWJlciIsYil9ZnVuY3Rpb24gTWUoYixwLG0pe3Rocm93IE1hdGguZmxvb3IoYikhPT1iPyh2ZShiLG0pLG5ldyBZLkVSUl9PVVRfT0ZfUkFOR0UobXx8Im9mZnNldCIsImFuIGludGVnZXIiLGIpKTpwPDA/bmV3IFkuRVJSX0JVRkZFUl9PVVRfT0ZfQk9VTkRTOm5ldyBZLkVSUl9PVVRfT0ZfUkFOR0UobXx8Im9mZnNldCIsYD49ICR7bT8xOjB9IGFuZCA8PSAke3B9YCxiKX1jb25zdCBudD0vW14rLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIGF0KGIpe2lmKGI9Yi5zcGxpdCgiPSIpWzBdLGI9Yi50cmltKCkucmVwbGFjZShudCwiIiksYi5sZW5ndGg8MilyZXR1cm4iIjtmb3IoO2IubGVuZ3RoJTQhPT0wOyliPWIrIj0iO3JldHVybiBifWZ1bmN0aW9uIEdlKGIscCl7cD1wfHwxLzA7bGV0IG07Y29uc3QgRD1iLmxlbmd0aDtsZXQgQj1udWxsO2NvbnN0IEs9W107Zm9yKGxldCBRPTA7UTxEOysrUSl7aWYobT1iLmNoYXJDb2RlQXQoUSksbT41NTI5NSYmbTw1NzM0NCl7aWYoIUIpe2lmKG0+NTYzMTkpeyhwLT0zKT4tMSYmSy5wdXNoKDIzOSwxOTEsMTg5KTtjb250aW51ZX1lbHNlIGlmKFErMT09PUQpeyhwLT0zKT4tMSYmSy5wdXNoKDIzOSwxOTEsMTg5KTtjb250aW51ZX1CPW07Y29udGludWV9aWYobTw1NjMyMCl7KHAtPTMpPi0xJiZLLnB1c2goMjM5LDE5MSwxODkpLEI9bTtjb250aW51ZX1tPShCLTU1Mjk2PDwxMHxtLTU2MzIwKSs2NTUzNn1lbHNlIEImJihwLT0zKT4tMSYmSy5wdXNoKDIzOSwxOTEsMTg5KTtpZihCPW51bGwsbTwxMjgpe2lmKChwLT0xKTwwKWJyZWFrO0sucHVzaChtKX1lbHNlIGlmKG08MjA0OCl7aWYoKHAtPTIpPDApYnJlYWs7Sy5wdXNoKG0+PjZ8MTkyLG0mNjN8MTI4KX1lbHNlIGlmKG08NjU1MzYpe2lmKChwLT0zKTwwKWJyZWFrO0sucHVzaChtPj4xMnwyMjQsbT4+NiY2M3wxMjgsbSY2M3wxMjgpfWVsc2UgaWYobTwxMTE0MTEyKXtpZigocC09NCk8MClicmVhaztLLnB1c2gobT4+MTh8MjQwLG0+PjEyJjYzfDEyOCxtPj42JjYzfDEyOCxtJjYzfDEyOCl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgY29kZSBwb2ludCIpfXJldHVybiBLfWZ1bmN0aW9uIER0KGIpe2NvbnN0IHA9W107Zm9yKGxldCBtPTA7bTxiLmxlbmd0aDsrK20pcC5wdXNoKGIuY2hhckNvZGVBdChtKSYyNTUpO3JldHVybiBwfWZ1bmN0aW9uICR0KGIscCl7bGV0IG0sRCxCO2NvbnN0IEs9W107Zm9yKGxldCBRPTA7UTxiLmxlbmd0aCYmISgocC09Mik8MCk7KytRKW09Yi5jaGFyQ29kZUF0KFEpLEQ9bT4+OCxCPW0lMjU2LEsucHVzaChCKSxLLnB1c2goRCk7cmV0dXJuIEt9ZnVuY3Rpb24gSmUoYil7cmV0dXJuIGUudG9CeXRlQXJyYXkoYXQoYikpfWZ1bmN0aW9uIEhlKGIscCxtLEQpe2xldCBCO2ZvcihCPTA7QjxEJiYhKEIrbT49cC5sZW5ndGh8fEI+PWIubGVuZ3RoKTsrK0IpcFtCK21dPWJbQl07cmV0dXJuIEJ9ZnVuY3Rpb24gQmUoYixwKXtyZXR1cm4gYiBpbnN0YW5jZW9mIHB8fGIhPW51bGwmJmIuY29uc3RydWN0b3IhPW51bGwmJmIuY29uc3RydWN0b3IubmFtZSE9bnVsbCYmYi5jb25zdHJ1Y3Rvci5uYW1lPT09cC5uYW1lfWZ1bmN0aW9uIEtlKGIpe3JldHVybiBiIT09Yn1jb25zdCBydD1mdW5jdGlvbigpe2NvbnN0IGI9IjAxMjM0NTY3ODlhYmNkZWYiLHA9bmV3IEFycmF5KDI1Nik7Zm9yKGxldCBtPTA7bTwxNjsrK20pe2NvbnN0IEQ9bSoxNjtmb3IobGV0IEI9MDtCPDE2OysrQilwW0QrQl09YlttXStiW0JdfXJldHVybiBwfSgpO2Z1bmN0aW9uIFVlKGIpe3JldHVybiB0eXBlb2YgQmlnSW50PiJ1Ij9aZTpifWZ1bmN0aW9uIFplKCl7dGhyb3cgbmV3IEVycm9yKCJCaWdJbnQgbm90IHN1cHBvcnRlZCIpfX0pKE5nKTtsZXQgQWg7Y29uc3QgTnQ9e2V0aGVyZXVtQ2xpZW50OnZvaWQgMCxzZXRFdGhlcmV1bUNsaWVudCh0KXtBaD10fSxjbGllbnQoKXtpZihBaClyZXR1cm4gQWg7dGhyb3cgbmV3IEVycm9yKCJDbGllbnRDdHJsIGhhcyBubyBjbGllbnQgc2V0Iil9fSxtcj1Sbih7aGlzdG9yeTpbIkNvbm5lY3RXYWxsZXQiXSx2aWV3OiJDb25uZWN0V2FsbGV0IixkYXRhOnZvaWQgMH0pLHR0PXtzdGF0ZTptcixzdWJzY3JpYmUodCl7cmV0dXJuIEtuKG1yLCgpPT50KG1yKSl9LHB1c2godCxlKXt0IT09bXIudmlldyYmKG1yLnZpZXc9dCxlJiYobXIuZGF0YT1lKSxtci5oaXN0b3J5LnB1c2godCkpfSxyZXNldCh0KXttci52aWV3PXQsbXIuaGlzdG9yeT1bdF19LHJlcGxhY2UodCl7bXIuaGlzdG9yeS5sZW5ndGg+MSYmKG1yLmhpc3RvcnlbbXIuaGlzdG9yeS5sZW5ndGgtMV09dCxtci52aWV3PXQpfSxnb0JhY2soKXtpZihtci5oaXN0b3J5Lmxlbmd0aD4xKXttci5oaXN0b3J5LnBvcCgpO2NvbnN0W3RdPW1yLmhpc3Rvcnkuc2xpY2UoLTEpO21yLnZpZXc9dH19LHNldERhdGEodCl7bXIuZGF0YT10fX0sSWU9e1dBTExFVENPTk5FQ1RfREVFUExJTktfQ0hPSUNFOiJXQUxMRVRDT05ORUNUX0RFRVBMSU5LX0NIT0lDRSIsVzNNX1ZFUlNJT046IlczTV9WRVJTSU9OIixXM01fUFJFRkVSX0lOSkVDVEVEX1VSTF9GTEFHOiJ3M21QcmVmZXJJbmplY3RlZCIsUkVDT01NRU5ERURfV0FMTEVUX0FNT1VOVDo5LGlzTW9iaWxlKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8InUiPyEhKHdpbmRvdy5tYXRjaE1lZGlhKCIocG9pbnRlcjpjb2Fyc2UpIikubWF0Y2hlc3x8L0FuZHJvaWR8d2ViT1N8aVBob25lfGlQYWR8aVBvZHxCbGFja0JlcnJ5fE9wZXJhIE1pbmkvdS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKTohMX0saXNBbmRyb2lkKCl7cmV0dXJuIEllLmlzTW9iaWxlKCkmJm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygiYW5kcm9pZCIpfSxpc0lvcygpe2NvbnN0IHQ9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpO3JldHVybiBJZS5pc01vYmlsZSgpJiYodC5pbmNsdWRlcygiaXBob25lIil8fHQuaW5jbHVkZXMoImlwYWQiKSl9LGlzSHR0cFVybCh0KXtyZXR1cm4gdC5zdGFydHNXaXRoKCJodHRwOi8vIil8fHQuc3RhcnRzV2l0aCgiaHR0cHM6Ly8iKX0saXNBcnJheSh0KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KSYmdC5sZW5ndGg+MH0sZm9ybWF0TmF0aXZlVXJsKHQsZSxyKXtpZihJZS5pc0h0dHBVcmwodCkpcmV0dXJuIHRoaXMuZm9ybWF0VW5pdmVyc2FsVXJsKHQsZSxyKTtsZXQgbj10O24uaW5jbHVkZXMoIjovLyIpfHwobj10LnJlcGxhY2VBbGwoIi8iLCIiKS5yZXBsYWNlQWxsKCI6IiwiIiksbj1gJHtufTovL2ApLHRoaXMuc2V0V2FsbGV0Q29ubmVjdERlZXBMaW5rKG4scik7Y29uc3QgaT1lbmNvZGVVUklDb21wb25lbnQoZSk7cmV0dXJuYCR7bn13Yz91cmk9JHtpfWB9LGZvcm1hdFVuaXZlcnNhbFVybCh0LGUscil7aWYoIUllLmlzSHR0cFVybCh0KSlyZXR1cm4gdGhpcy5mb3JtYXROYXRpdmVVcmwodCxlLHIpO2xldCBuPXQ7dC5lbmRzV2l0aCgiLyIpJiYobj10LnNsaWNlKDAsLTEpKSx0aGlzLnNldFdhbGxldENvbm5lY3REZWVwTGluayhuLHIpO2NvbnN0IGk9ZW5jb2RlVVJJQ29tcG9uZW50KGUpO3JldHVybmAke259L3djP3VyaT0ke2l9YH0sYXN5bmMgd2FpdCh0KXtyZXR1cm4gbmV3IFByb21pc2UoZT0+e3NldFRpbWVvdXQoZSx0KX0pfSxvcGVuSHJlZih0LGUpe3dpbmRvdy5vcGVuKHQsZSwibm9yZWZlcnJlciBub29wZW5lciIpfSxzZXRXYWxsZXRDb25uZWN0RGVlcExpbmsodCxlKXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShJZS5XQUxMRVRDT05ORUNUX0RFRVBMSU5LX0NIT0lDRSxKU09OLnN0cmluZ2lmeSh7aHJlZjp0LG5hbWU6ZX0pKX0sc2V0V2FsbGV0Q29ubmVjdEFuZHJvaWREZWVwTGluayh0KXtjb25zdFtlXT10LnNwbGl0KCI/Iik7bG9jYWxTdG9yYWdlLnNldEl0ZW0oSWUuV0FMTEVUQ09OTkVDVF9ERUVQTElOS19DSE9JQ0UsSlNPTi5zdHJpbmdpZnkoe2hyZWY6ZSxuYW1lOiJBbmRyb2lkIn0pKX0scmVtb3ZlV2FsbGV0Q29ubmVjdERlZXBMaW5rKCl7bG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oSWUuV0FMTEVUQ09OTkVDVF9ERUVQTElOS19DSE9JQ0UpfSxzZXRXZWIzTW9kYWxWZXJzaW9uSW5TdG9yYWdlKCl7dHlwZW9mIGxvY2FsU3RvcmFnZTwidSImJmxvY2FsU3RvcmFnZS5zZXRJdGVtKEllLlczTV9WRVJTSU9OLCIyLjQuMSIpfSxnZXRXYWxsZXRSb3V0ZXJEYXRhKCl7dmFyIHQ7Y29uc3QgZT0odD10dC5zdGF0ZS5kYXRhKT09bnVsbD92b2lkIDA6dC5XYWxsZXQ7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nICJXYWxsZXQiIHZpZXcgZGF0YScpO3JldHVybiBlfSxnZXRTd2l0Y2hOZXR3b3JrUm91dGVyRGF0YSgpe3ZhciB0O2NvbnN0IGU9KHQ9dHQuc3RhdGUuZGF0YSk9PW51bGw/dm9pZCAwOnQuU3dpdGNoTmV0d29yaztpZighZSl0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgIlN3aXRjaE5ldHdvcmsiIHZpZXcgZGF0YScpO3JldHVybiBlfSxpc1ByZWZlckluamVjdGVkRmxhZygpe3JldHVybiB0eXBlb2YgbG9jYXRpb248InUiP25ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKS5oYXMoSWUuVzNNX1BSRUZFUl9JTkpFQ1RFRF9VUkxfRkxBRyk6ITF9fSxteD10eXBlb2YgbG9jYXRpb248InUiJiYobG9jYXRpb24uaG9zdG5hbWUuaW5jbHVkZXMoImxvY2FsaG9zdCIpfHxsb2NhdGlvbi5wcm90b2NvbC5pbmNsdWRlcygiaHR0cHMiKSksT3I9Um4oe2VuYWJsZWQ6bXgsdXNlclNlc3Npb25JZDoiIixldmVudHM6W10sY29ubmVjdGVkV2FsbGV0SWQ6dm9pZCAwfSksZ2k9e3N0YXRlOk9yLHN1YnNjcmliZSh0KXtyZXR1cm4gS24oT3IuZXZlbnRzLCgpPT50KGF4KE9yLmV2ZW50c1tPci5ldmVudHMubGVuZ3RoLTFdKSkpfSxpbml0aWFsaXplKCl7T3IuZW5hYmxlZCYmdHlwZW9mIGNyeXB0bzwidSImJihPci51c2VyU2Vzc2lvbklkPWNyeXB0by5yYW5kb21VVUlEKCkpfSxzZXRDb25uZWN0ZWRXYWxsZXRJZCh0KXtPci5jb25uZWN0ZWRXYWxsZXRJZD10fSxjbGljayh0KXtpZihPci5lbmFibGVkKXtjb25zdCBlPXt0eXBlOiJDTElDSyIsbmFtZTp0Lm5hbWUsdXNlclNlc3Npb25JZDpPci51c2VyU2Vzc2lvbklkLHRpbWVzdGFtcDpEYXRlLm5vdygpLGRhdGE6dH07T3IuZXZlbnRzLnB1c2goZSl9fSx0cmFjayh0KXtpZihPci5lbmFibGVkKXtjb25zdCBlPXt0eXBlOiJUUkFDSyIsbmFtZTp0Lm5hbWUsdXNlclNlc3Npb25JZDpPci51c2VyU2Vzc2lvbklkLHRpbWVzdGFtcDpEYXRlLm5vdygpLGRhdGE6dH07T3IuZXZlbnRzLnB1c2goZSl9fSx2aWV3KHQpe2lmKE9yLmVuYWJsZWQpe2NvbnN0IGU9e3R5cGU6IlZJRVciLG5hbWU6dC5uYW1lLHVzZXJTZXNzaW9uSWQ6T3IudXNlclNlc3Npb25JZCx0aW1lc3RhbXA6RGF0ZS5ub3coKSxkYXRhOnR9O09yLmV2ZW50cy5wdXNoKGUpfX19LHhyPVJuKHtzZWxlY3RlZENoYWluOnZvaWQgMCxjaGFpbnM6dm9pZCAwLHN0YW5kYWxvbmVDaGFpbnM6dm9pZCAwLHN0YW5kYWxvbmVVcmk6dm9pZCAwLGlzU3RhbmRhbG9uZTohMSxpc0F1dGg6ITEsaXNDdXN0b21EZXNrdG9wOiExLGlzQ3VzdG9tTW9iaWxlOiExLGlzRGF0YUxvYWRlZDohMSxpc1VpTG9hZGVkOiExLGlzUHJlZmVySW5qZWN0ZWQ6ITEsd2FsbGV0Q29ubmVjdFZlcnNpb246MX0pLERlPXtzdGF0ZTp4cixzdWJzY3JpYmUodCl7cmV0dXJuIEtuKHhyLCgpPT50KHhyKSl9LHNldENoYWlucyh0KXt4ci5jaGFpbnM9dH0sc2V0U3RhbmRhbG9uZUNoYWlucyh0KXt4ci5zdGFuZGFsb25lQ2hhaW5zPXR9LHNldFN0YW5kYWxvbmVVcmkodCl7eHIuc3RhbmRhbG9uZVVyaT10fSxnZXRTZWxlY3RlZENoYWluKCl7Y29uc3QgdD1OdC5jbGllbnQoKS5nZXROZXR3b3JrKCkuY2hhaW47cmV0dXJuIHQmJih4ci5zZWxlY3RlZENoYWluPXQpLHhyLnNlbGVjdGVkQ2hhaW59LHNldFNlbGVjdGVkQ2hhaW4odCl7eHIuc2VsZWN0ZWRDaGFpbj10fSxzZXRJc1N0YW5kYWxvbmUodCl7eHIuaXNTdGFuZGFsb25lPXR9LHNldElzQ3VzdG9tRGVza3RvcCh0KXt4ci5pc0N1c3RvbURlc2t0b3A9dH0sc2V0SXNDdXN0b21Nb2JpbGUodCl7eHIuaXNDdXN0b21Nb2JpbGU9dH0sc2V0SXNEYXRhTG9hZGVkKHQpe3hyLmlzRGF0YUxvYWRlZD10fSxzZXRJc1VpTG9hZGVkKHQpe3hyLmlzVWlMb2FkZWQ9dH0sc2V0V2FsbGV0Q29ubmVjdFZlcnNpb24odCl7eHIud2FsbGV0Q29ubmVjdFZlcnNpb249dH0sc2V0SXNQcmVmZXJJbmplY3RlZCh0KXt4ci5pc1ByZWZlckluamVjdGVkPXR9LHNldElzQXV0aCh0KXt4ci5pc0F1dGg9dH19LHBjPVJuKHtwcm9qZWN0SWQ6IiIsbW9iaWxlV2FsbGV0czp2b2lkIDAsZGVza3RvcFdhbGxldHM6dm9pZCAwLHdhbGxldEltYWdlczp2b2lkIDAsY2hhaW5JbWFnZXM6dm9pZCAwLHRva2VuSW1hZ2VzOnZvaWQgMCx0b2tlbkNvbnRyYWN0czp2b2lkIDAsc3RhbmRhbG9uZUNoYWluczp2b2lkIDAsZW5hYmxlU3RhbmRhbG9uZU1vZGU6ITEsZW5hYmxlQXV0aE1vZGU6ITEsZW5hYmxlTmV0d29ya1ZpZXc6ITEsZW5hYmxlQWNjb3VudFZpZXc6ITAsZW5hYmxlRXhwbG9yZXI6ITAsZGVmYXVsdENoYWluOnZvaWQgMCxleHBsb3JlckV4Y2x1ZGVkV2FsbGV0SWRzOnZvaWQgMCxleHBsb3JlclJlY29tbWVuZGVkV2FsbGV0SWRzOnZvaWQgMCx0ZXJtc09mU2VydmljZVVybDp2b2lkIDAscHJpdmFjeVBvbGljeVVybDp2b2lkIDB9KSxqdD17c3RhdGU6cGMsc3Vic2NyaWJlKHQpe3JldHVybiBLbihwYywoKT0+dChwYykpfSxzZXRDb25maWcodCl7dmFyIGUscixuLGk7Z2kuaW5pdGlhbGl6ZSgpLERlLnNldFN0YW5kYWxvbmVDaGFpbnModC5zdGFuZGFsb25lQ2hhaW5zKSxEZS5zZXRJc1N0YW5kYWxvbmUoISEoKGU9dC5zdGFuZGFsb25lQ2hhaW5zKSE9bnVsbCYmZS5sZW5ndGgpfHwhIXQuZW5hYmxlU3RhbmRhbG9uZU1vZGUpLERlLnNldElzQXV0aCghIXQuZW5hYmxlQXV0aE1vZGUpLERlLnNldElzQ3VzdG9tTW9iaWxlKCEhKChyPXQubW9iaWxlV2FsbGV0cykhPW51bGwmJnIubGVuZ3RoKSksRGUuc2V0SXNDdXN0b21EZXNrdG9wKCEhKChuPXQuZGVza3RvcFdhbGxldHMpIT1udWxsJiZuLmxlbmd0aCkpLERlLnNldFdhbGxldENvbm5lY3RWZXJzaW9uKChpPXQud2FsbGV0Q29ubmVjdFZlcnNpb24pIT1udWxsP2k6MSksRGUuc3RhdGUuaXNTdGFuZGFsb25lfHwoRGUuc2V0Q2hhaW5zKE50LmNsaWVudCgpLmNoYWlucyksRGUuc2V0SXNQcmVmZXJJbmplY3RlZChOdC5jbGllbnQoKS5pc0luamVjdGVkUHJvdmlkZXJJbnN0YWxsZWQoKSYmSWUuaXNQcmVmZXJJbmplY3RlZEZsYWcoKSkpLHQuZGVmYXVsdENoYWluJiZEZS5zZXRTZWxlY3RlZENoYWluKHQuZGVmYXVsdENoYWluKSxJZS5zZXRXZWIzTW9kYWxWZXJzaW9uSW5TdG9yYWdlKCksT2JqZWN0LmFzc2lnbihwYyx0KX19LGt0PVJuKHthZGRyZXNzOnZvaWQgMCxwcm9maWxlTmFtZTp2b2lkIDAscHJvZmlsZUF2YXRhcjp2b2lkIDAscHJvZmlsZUxvYWRpbmc6ITEsYmFsYW5jZUxvYWRpbmc6ITEsYmFsYW5jZTp2b2lkIDAsaXNDb25uZWN0ZWQ6ITF9KSxFdD17c3RhdGU6a3Qsc3Vic2NyaWJlKHQpe3JldHVybiBLbihrdCwoKT0+dChrdCkpfSxnZXRBY2NvdW50KCl7Y29uc3QgdD1OdC5jbGllbnQoKS5nZXRBY2NvdW50KCk7a3QuYWRkcmVzcz10LmFkZHJlc3Msa3QuaXNDb25uZWN0ZWQ9dC5pc0Nvbm5lY3RlZH0sYXN5bmMgZmV0Y2hQcm9maWxlKHQsZSl7dmFyIHI7dHJ5e2t0LnByb2ZpbGVMb2FkaW5nPSEwO2NvbnN0IG49ZT8/a3QuYWRkcmVzcyxpPShyPURlLnN0YXRlLmNoYWlucyk9PW51bGw/dm9pZCAwOnIuZmluZChvPT5vLmlkPT09MSk7aWYobiYmaSl7Y29uc3Qgbz1hd2FpdCBOdC5jbGllbnQoKS5mZXRjaEVuc05hbWUoe2FkZHJlc3M6bixjaGFpbklkOjF9KTtpZihvKXtjb25zdCBjPWF3YWl0IE50LmNsaWVudCgpLmZldGNoRW5zQXZhdGFyKHtuYW1lOm8sY2hhaW5JZDoxfSk7YyYmYXdhaXQgdChjKSxrdC5wcm9maWxlQXZhdGFyPWN9a3QucHJvZmlsZU5hbWU9b319ZmluYWxseXtrdC5wcm9maWxlTG9hZGluZz0hMX19LGFzeW5jIGZldGNoQmFsYW5jZSh0KXt0cnl7Y29uc3R7Y2hhaW46ZX09TnQuY2xpZW50KCkuZ2V0TmV0d29yaygpLHt0b2tlbkNvbnRyYWN0czpyfT1qdC5zdGF0ZTtsZXQgbjtlJiZyJiYobj1yW2UuaWRdKSxrdC5iYWxhbmNlTG9hZGluZz0hMDtjb25zdCBpPXQ/P2t0LmFkZHJlc3M7aWYoaSl7Y29uc3Qgbz1hd2FpdCBOdC5jbGllbnQoKS5mZXRjaEJhbGFuY2Uoe2FkZHJlc3M6aSx0b2tlbjpufSk7a3QuYmFsYW5jZT17YW1vdW50Om8uZm9ybWF0dGVkLHN5bWJvbDpvLnN5bWJvbH19fWZpbmFsbHl7a3QuYmFsYW5jZUxvYWRpbmc9ITF9fSxzZXRBZGRyZXNzKHQpe2t0LmFkZHJlc3M9dH0sc2V0SXNDb25uZWN0ZWQodCl7a3QuaXNDb25uZWN0ZWQ9dH0scmVzZXRCYWxhbmNlKCl7a3QuYmFsYW5jZT12b2lkIDB9LHJlc2V0QWNjb3VudCgpe2t0LmFkZHJlc3M9dm9pZCAwLGt0LmlzQ29ubmVjdGVkPSExLGt0LnByb2ZpbGVOYW1lPXZvaWQgMCxrdC5wcm9maWxlQXZhdGFyPXZvaWQgMCxrdC5iYWxhbmNlPXZvaWQgMH19LFNoPSJodHRwczovL2V4cGxvcmVyLWFwaS53YWxsZXRjb25uZWN0LmNvbSI7YXN5bmMgZnVuY3Rpb24gZ2ModCxlKXtjb25zdCByPW5ldyBVUkwodCxTaCk7cmV0dXJuIHIuc2VhcmNoUGFyYW1zLmFwcGVuZCgicHJvamVjdElkIixqdC5zdGF0ZS5wcm9qZWN0SWQpLE9iamVjdC5lbnRyaWVzKGUpLmZvckVhY2goKFtuLGldKT0+e2kmJnIuc2VhcmNoUGFyYW1zLmFwcGVuZChuLFN0cmluZyhpKSl9KSwoYXdhaXQgZmV0Y2gocikpLmpzb24oKX1jb25zdCBtaT17YXN5bmMgZ2V0RGVza3RvcExpc3RpbmdzKHQpe3JldHVybiBnYygiL3czbS92MS9nZXREZXNrdG9wTGlzdGluZ3MiLHQpfSxhc3luYyBnZXRNb2JpbGVMaXN0aW5ncyh0KXtyZXR1cm4gZ2MoIi93M20vdjEvZ2V0TW9iaWxlTGlzdGluZ3MiLHQpfSxhc3luYyBnZXRJbmplY3RlZExpc3RpbmdzKHQpe3JldHVybiBnYygiL3czbS92MS9nZXRJbmplY3RlZExpc3RpbmdzIix0KX0sYXN5bmMgZ2V0QWxsTGlzdGluZ3ModCl7cmV0dXJuIGdjKCIvdzNtL3YxL2dldEFsbExpc3RpbmdzIix0KX0sZ2V0V2FsbGV0SW1hZ2VVcmwodCl7cmV0dXJuYCR7U2h9L3czbS92MS9nZXRXYWxsZXRJbWFnZS8ke3R9P3Byb2plY3RJZD0ke2p0LnN0YXRlLnByb2plY3RJZH1gfSxnZXRBc3NldEltYWdlVXJsKHQpe3JldHVybmAke1NofS93M20vdjEvZ2V0QXNzZXRJbWFnZS8ke3R9P3Byb2plY3RJZD0ke2p0LnN0YXRlLnByb2plY3RJZH1gfX07dmFyIHd4PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxNZz1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLHZ4PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkseXg9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxVZz0odCxlLHIpPT5lIGluIHQ/d3godCxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpyfSk6dFtlXT1yLGJ4PSh0LGUpPT57Zm9yKHZhciByIGluIGV8fChlPXt9KSl2eC5jYWxsKGUscikmJlVnKHQscixlW3JdKTtpZihNZylmb3IodmFyIHIgb2YgTWcoZSkpeXguY2FsbChlLHIpJiZVZyh0LHIsZVtyXSk7cmV0dXJuIHR9O2NvbnN0IGpnPUllLmlzTW9iaWxlKCksdW49Um4oe3dhbGxldHM6e2xpc3RpbmdzOltdLHRvdGFsOjAscGFnZToxfSxpbmplY3RlZFdhbGxldHM6W10sc2VhcmNoOntsaXN0aW5nczpbXSx0b3RhbDowLHBhZ2U6MX0scmVjb21lbmRlZFdhbGxldHM6W119KSxucj17c3RhdGU6dW4sYXN5bmMgZ2V0UmVjb21lbmRlZFdhbGxldHMoKXtjb25zdHtleHBsb3JlclJlY29tbWVuZGVkV2FsbGV0SWRzOnQsZXhwbG9yZXJFeGNsdWRlZFdhbGxldElkczplfT1qdC5zdGF0ZTtpZih0PT09Ik5PTkUifHxlPT09IkFMTCImJiF0KXJldHVybiB1bi5yZWNvbWVuZGVkV2FsbGV0cztpZihJZS5pc0FycmF5KHQpKXtjb25zdCByPXtyZWNvbW1lbmRlZElkczp0LmpvaW4oIiwiKX0se2xpc3RpbmdzOm59PWF3YWl0IG1pLmdldEFsbExpc3RpbmdzKHIpLGk9T2JqZWN0LnZhbHVlcyhuKTtpLnNvcnQoKG8sYyk9Pntjb25zdCBsPXQuaW5kZXhPZihvLmlkKSxoPXQuaW5kZXhPZihjLmlkKTtyZXR1cm4gbC1ofSksdW4ucmVjb21lbmRlZFdhbGxldHM9aX1lbHNle2NvbnN0e3N0YW5kYWxvbmVDaGFpbnM6cix3YWxsZXRDb25uZWN0VmVyc2lvbjpuLGlzQXV0aDppfT1EZS5zdGF0ZSxvPXI/LmpvaW4oIiwiKSxjPUllLmlzQXJyYXkoZSksbD17cGFnZToxLHNka3M6aT8iYXV0aF92MSI6dm9pZCAwLGVudHJpZXM6SWUuUkVDT01NRU5ERURfV0FMTEVUX0FNT1VOVCxjaGFpbnM6byx2ZXJzaW9uOm4sZXhjbHVkZWRJZHM6Yz9lLmpvaW4oIiwiKTp2b2lkIDB9LHtsaXN0aW5nczpofT1qZz9hd2FpdCBtaS5nZXRNb2JpbGVMaXN0aW5ncyhsKTphd2FpdCBtaS5nZXREZXNrdG9wTGlzdGluZ3MobCk7dW4ucmVjb21lbmRlZFdhbGxldHM9T2JqZWN0LnZhbHVlcyhoKX1yZXR1cm4gdW4ucmVjb21lbmRlZFdhbGxldHN9LGFzeW5jIGdldFdhbGxldHModCl7Y29uc3QgZT1ieCh7fSx0KSx7ZXhwbG9yZXJSZWNvbW1lbmRlZFdhbGxldElkczpyLGV4cGxvcmVyRXhjbHVkZWRXYWxsZXRJZHM6bn09anQuc3RhdGUse3JlY29tZW5kZWRXYWxsZXRzOml9PXVuO2lmKG49PT0iQUxMIilyZXR1cm4gdW4ud2FsbGV0cztlLnNlYXJjaHx8KGkubGVuZ3RoP2UuZXhjbHVkZWRJZHM9aS5tYXAoRT0+RS5pZCkuam9pbigiLCIpOkllLmlzQXJyYXkocikmJihlLmV4Y2x1ZGVkSWRzPXIuam9pbigiLCIpKSksSWUuaXNBcnJheShuKSYmKGUuZXhjbHVkZWRJZHM9W2UuZXhjbHVkZWRJZHMsbl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiwiKSksRGUuc3RhdGUuaXNBdXRoJiYoZS5zZGtzPSJhdXRoX3YxIik7Y29uc3R7cGFnZTpvLHNlYXJjaDpjfT10LHtsaXN0aW5nczpsLHRvdGFsOmh9PWpnP2F3YWl0IG1pLmdldE1vYmlsZUxpc3RpbmdzKGUpOmF3YWl0IG1pLmdldERlc2t0b3BMaXN0aW5ncyhlKSxkPU9iamVjdC52YWx1ZXMobCksdj1jPyJzZWFyY2giOiJ3YWxsZXRzIjtyZXR1cm4gdW5bdl09e2xpc3RpbmdzOlsuLi51blt2XS5saXN0aW5ncywuLi5kXSx0b3RhbDpoLHBhZ2U6bz8/MX0se2xpc3RpbmdzOmQsdG90YWw6aH19LGFzeW5jIGdldEluamVjdGVkV2FsbGV0cygpe2NvbnN0e2xpc3RpbmdzOnR9PWF3YWl0IG1pLmdldEluamVjdGVkTGlzdGluZ3Moe30pLGU9T2JqZWN0LnZhbHVlcyh0KTtyZXR1cm4gdW4uaW5qZWN0ZWRXYWxsZXRzPWUsdW4uaW5qZWN0ZWRXYWxsZXRzfSxnZXRXYWxsZXRJbWFnZVVybCh0KXtyZXR1cm4gbWkuZ2V0V2FsbGV0SW1hZ2VVcmwodCl9LGdldEFzc2V0SW1hZ2VVcmwodCl7cmV0dXJuIG1pLmdldEFzc2V0SW1hZ2VVcmwodCl9LHJlc2V0U2VhcmNoKCl7dW4uc2VhcmNoPXtsaXN0aW5nczpbXSx0b3RhbDowLHBhZ2U6MX19fSxWbz1Sbih7cGFpcmluZ1VyaToiIixwYWlyaW5nRXJyb3I6ITF9KSxocj17c3RhdGU6Vm8sc3Vic2NyaWJlKHQpe3JldHVybiBLbihWbywoKT0+dChWbykpfSxzZXRQYWlyaW5nVXJpKHQpe1ZvLnBhaXJpbmdVcmk9dH0sc2V0UGFpcmluZ0Vycm9yKHQpe1ZvLnBhaXJpbmdFcnJvcj10fX0sUnM9Um4oe29wZW46ITF9KSxOcj17c3RhdGU6UnMsc3Vic2NyaWJlKHQpe3JldHVybiBLbihScywoKT0+dChScykpfSxhc3luYyBvcGVuKHQpe3JldHVybiBuZXcgUHJvbWlzZShlPT57Y29uc3R7aXNTdGFuZGFsb25lOnIsaXNVaUxvYWRlZDpuLGlzRGF0YUxvYWRlZDppLGlzUHJlZmVySW5qZWN0ZWQ6byxzZWxlY3RlZENoYWluOmN9PURlLnN0YXRlLHtwYWlyaW5nVXJpOmx9PWhyLnN0YXRlLHtpc0Nvbm5lY3RlZDpofT1FdC5zdGF0ZSx7ZW5hYmxlTmV0d29ya1ZpZXc6ZH09anQuc3RhdGU7aWYocilEZS5zZXRTdGFuZGFsb25lVXJpKHQ/LnVyaSksRGUuc2V0U3RhbmRhbG9uZUNoYWlucyh0Py5zdGFuZGFsb25lQ2hhaW5zKSx0dC5yZXNldCgiQ29ubmVjdFdhbGxldCIpO2Vsc2UgaWYodCE9bnVsbCYmdC5yb3V0ZSl0dC5yZXNldCh0LnJvdXRlKTtlbHNlIGlmKGgpdHQucmVzZXQoIkFjY291bnQiKTtlbHNlIGlmKGQpdHQucmVzZXQoIlNlbGVjdE5ldHdvcmsiKTtlbHNlIGlmKG8pe050LmNsaWVudCgpLmNvbm5lY3RDb25uZWN0b3IoImluamVjdGVkIixjPy5pZCkuY2F0Y2godj0+Y29uc29sZS5lcnJvcih2KSksZSgpO3JldHVybn1lbHNlIHR0LnJlc2V0KCJDb25uZWN0V2FsbGV0Iik7aWYobiYmaSYmKHJ8fGx8fGgpKVJzLm9wZW49ITAsZSgpO2Vsc2V7Y29uc3Qgdj1zZXRJbnRlcnZhbCgoKT0+e2NvbnN0IEU9RGUuc3RhdGUsXz1oci5zdGF0ZTtFLmlzVWlMb2FkZWQmJkUuaXNEYXRhTG9hZGVkJiYoRS5pc1N0YW5kYWxvbmV8fF8ucGFpcmluZ1VyaXx8aCkmJihjbGVhckludGVydmFsKHYpLFJzLm9wZW49ITAsZSgpKX0sMjAwKX19KX0sY2xvc2UoKXtScy5vcGVuPSExfX07dmFyIF94PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxGZz1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLEV4PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkseHg9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxCZz0odCxlLHIpPT5lIGluIHQ/X3godCxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpyfSk6dFtlXT1yLEN4PSh0LGUpPT57Zm9yKHZhciByIGluIGV8fChlPXt9KSlFeC5jYWxsKGUscikmJkJnKHQscixlW3JdKTtpZihGZylmb3IodmFyIHIgb2YgRmcoZSkpeHguY2FsbChlLHIpJiZCZyh0LHIsZVtyXSk7cmV0dXJuIHR9O2Z1bmN0aW9uIEl4KCl7cmV0dXJuIHR5cGVvZiBtYXRjaE1lZGlhPCJ1IiYmbWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXN9Y29uc3QgS289Um4oe3RoZW1lTW9kZTpJeCgpPyJkYXJrIjoibGlnaHQifSksTG49e3N0YXRlOktvLHN1YnNjcmliZSh0KXtyZXR1cm4gS24oS28sKCk9PnQoS28pKX0sc2V0VGhlbWVDb25maWcodCl7Y29uc3R7dGhlbWVNb2RlOmUsdGhlbWVWYXJpYWJsZXM6cn09dDtlJiYoS28udGhlbWVNb2RlPWUpLHImJihLby50aGVtZVZhcmlhYmxlcz1DeCh7fSxyKSl9fSxHaT1Sbih7b3BlbjohMSxtZXNzYWdlOiIiLHZhcmlhbnQ6InN1Y2Nlc3MifSksV3I9e3N0YXRlOkdpLHN1YnNjcmliZSh0KXtyZXR1cm4gS24oR2ksKCk9PnQoR2kpKX0sb3BlblRvYXN0KHQsZSl7R2kub3Blbj0hMCxHaS5tZXNzYWdlPXQsR2kudmFyaWFudD1lfSxjbG9zZVRvYXN0KCl7R2kub3Blbj0hMX19O3R5cGVvZiB3aW5kb3c8InUiJiYod2luZG93LkJ1ZmZlcnx8KHdpbmRvdy5CdWZmZXI9TmcuQnVmZmVyKSx3aW5kb3cuZ2xvYmFsfHwod2luZG93Lmdsb2JhbD13aW5kb3cpLHdpbmRvdy5wcm9jZXNzfHwod2luZG93LnByb2Nlc3M9e2Vudjp7fX0pKTt2YXIgT3g9T2JqZWN0LmRlZmluZVByb3BlcnR5LGtnPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsQXg9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxTeD1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLEhnPSh0LGUscik9PmUgaW4gdD9PeCh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnJ9KTp0W2VdPXIsRHg9KHQsZSk9Pntmb3IodmFyIHIgaW4gZXx8KGU9e30pKUF4LmNhbGwoZSxyKSYmSGcodCxyLGVbcl0pO2lmKGtnKWZvcih2YXIgciBvZiBrZyhlKSlTeC5jYWxsKGUscikmJkhnKHQscixlW3JdKTtyZXR1cm4gdH07Y2xhc3MgJHh7Y29uc3RydWN0b3IoZSl7dGhpcy5vcGVuTW9kYWw9TnIub3Blbix0aGlzLmNsb3NlTW9kYWw9TnIuY2xvc2UsdGhpcy5zdWJzY3JpYmVNb2RhbD1Oci5zdWJzY3JpYmUsdGhpcy5zZXRUaGVtZT1Mbi5zZXRUaGVtZUNvbmZpZyxMbi5zZXRUaGVtZUNvbmZpZyhlKSxqdC5zZXRDb25maWcoRHgoe2VuYWJsZVN0YW5kYWxvbmVNb2RlOiEwfSxlKSksdGhpcy5pbml0VWkoKX1hc3luYyBpbml0VWkoKXtpZih0eXBlb2Ygd2luZG93PCJ1Iil7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBzU30pO2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidzNtLW1vZGFsIik7ZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2VudEVsZW1lbnQoImJlZm9yZWVuZCIsZSksRGUuc2V0SXNVaUxvYWRlZCghMCl9fX12YXIgUHg9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsV2ViM01vZGFsOiR4fSk7Y29uc3QgbWM9d2luZG93LERoPW1jLlNoYWRvd1Jvb3QmJihtYy5TaGFkeUNTUz09PXZvaWQgMHx8bWMuU2hhZHlDU1MubmF0aXZlU2hhZG93KSYmImFkb3B0ZWRTdHlsZVNoZWV0cyJpbiBEb2N1bWVudC5wcm90b3R5cGUmJiJyZXBsYWNlImluIENTU1N0eWxlU2hlZXQucHJvdG90eXBlLCRoPVN5bWJvbCgpLHpnPW5ldyBXZWFrTWFwO2NsYXNzIFdne2NvbnN0cnVjdG9yKGUscixuKXtpZih0aGlzLl8kY3NzUmVzdWx0JD0hMCxuIT09JGgpdGhyb3cgRXJyb3IoIkNTU1Jlc3VsdCBpcyBub3QgY29uc3RydWN0YWJsZS4gVXNlIGB1bnNhZmVDU1NgIG9yIGBjc3NgIGluc3RlYWQuIik7dGhpcy5jc3NUZXh0PWUsdGhpcy50PXJ9Z2V0IHN0eWxlU2hlZXQoKXtsZXQgZT10aGlzLm87Y29uc3Qgcj10aGlzLnQ7aWYoRGgmJmU9PT12b2lkIDApe2NvbnN0IG49ciE9PXZvaWQgMCYmci5sZW5ndGg9PT0xO24mJihlPXpnLmdldChyKSksZT09PXZvaWQgMCYmKCh0aGlzLm89ZT1uZXcgQ1NTU3R5bGVTaGVldCkucmVwbGFjZVN5bmModGhpcy5jc3NUZXh0KSxuJiZ6Zy5zZXQocixlKSl9cmV0dXJuIGV9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5jc3NUZXh0fX1jb25zdCBUeD10PT5uZXcgV2codHlwZW9mIHQ9PSJzdHJpbmciP3Q6dCsiIix2b2lkIDAsJGgpLFZlPSh0LC4uLmUpPT57Y29uc3Qgcj10Lmxlbmd0aD09PTE/dFswXTplLnJlZHVjZSgobixpLG8pPT5uKyhjPT57aWYoYy5fJGNzc1Jlc3VsdCQ9PT0hMClyZXR1cm4gYy5jc3NUZXh0O2lmKHR5cGVvZiBjPT0ibnVtYmVyIilyZXR1cm4gYzt0aHJvdyBFcnJvcigiVmFsdWUgcGFzc2VkIHRvICdjc3MnIGZ1bmN0aW9uIG11c3QgYmUgYSAnY3NzJyBmdW5jdGlvbiByZXN1bHQ6ICIrYysiLiBVc2UgJ3Vuc2FmZUNTUycgdG8gcGFzcyBub24tbGl0ZXJhbCB2YWx1ZXMsIGJ1dCB0YWtlIGNhcmUgdG8gZW5zdXJlIHBhZ2Ugc2VjdXJpdHkuIil9KShpKSt0W28rMV0sdFswXSk7cmV0dXJuIG5ldyBXZyhyLHQsJGgpfSxSeD0odCxlKT0+e0RoP3QuYWRvcHRlZFN0eWxlU2hlZXRzPWUubWFwKHI9PnIgaW5zdGFuY2VvZiBDU1NTdHlsZVNoZWV0P3I6ci5zdHlsZVNoZWV0KTplLmZvckVhY2gocj0+e2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxpPW1jLmxpdE5vbmNlO2khPT12b2lkIDAmJm4uc2V0QXR0cmlidXRlKCJub25jZSIsaSksbi50ZXh0Q29udGVudD1yLmNzc1RleHQsdC5hcHBlbmRDaGlsZChuKX0pfSxxZz1EaD90PT50OnQ9PnQgaW5zdGFuY2VvZiBDU1NTdHlsZVNoZWV0PyhlPT57bGV0IHI9IiI7Zm9yKGNvbnN0IG4gb2YgZS5jc3NSdWxlcylyKz1uLmNzc1RleHQ7cmV0dXJuIFR4KHIpfSkodCk6dDt2YXIgUGg7Y29uc3Qgd2M9d2luZG93LFZnPXdjLnRydXN0ZWRUeXBlcyxOeD1WZz9WZy5lbXB0eVNjcmlwdDoiIixLZz13Yy5yZWFjdGl2ZUVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQsVGg9e3RvQXR0cmlidXRlKHQsZSl7c3dpdGNoKGUpe2Nhc2UgQm9vbGVhbjp0PXQ/Tng6bnVsbDticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OnQ9dD09bnVsbD90OkpTT04uc3RyaW5naWZ5KHQpfXJldHVybiB0fSxmcm9tQXR0cmlidXRlKHQsZSl7bGV0IHI9dDtzd2l0Y2goZSl7Y2FzZSBCb29sZWFuOnI9dCE9PW51bGw7YnJlYWs7Y2FzZSBOdW1iZXI6cj10PT09bnVsbD9udWxsOk51bWJlcih0KTticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OnRyeXtyPUpTT04ucGFyc2UodCl9Y2F0Y2h7cj1udWxsfX1yZXR1cm4gcn19LEdnPSh0LGUpPT5lIT09dCYmKGU9PWV8fHQ9PXQpLFJoPXthdHRyaWJ1dGU6ITAsdHlwZTpTdHJpbmcsY29udmVydGVyOlRoLHJlZmxlY3Q6ITEsaGFzQ2hhbmdlZDpHZ307Y2xhc3MgTnMgZXh0ZW5kcyBIVE1MRWxlbWVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5fJEVpPW5ldyBNYXAsdGhpcy5pc1VwZGF0ZVBlbmRpbmc9ITEsdGhpcy5oYXNVcGRhdGVkPSExLHRoaXMuXyRFbD1udWxsLHRoaXMudSgpfXN0YXRpYyBhZGRJbml0aWFsaXplcihlKXt2YXIgcjt0aGlzLmZpbmFsaXplKCksKChyPXRoaXMuaCkhPT1udWxsJiZyIT09dm9pZCAwP3I6dGhpcy5oPVtdKS5wdXNoKGUpfXN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCl7dGhpcy5maW5hbGl6ZSgpO2NvbnN0IGU9W107cmV0dXJuIHRoaXMuZWxlbWVudFByb3BlcnRpZXMuZm9yRWFjaCgocixuKT0+e2NvbnN0IGk9dGhpcy5fJEVwKG4scik7aSE9PXZvaWQgMCYmKHRoaXMuXyRFdi5zZXQoaSxuKSxlLnB1c2goaSkpfSksZX1zdGF0aWMgY3JlYXRlUHJvcGVydHkoZSxyPVJoKXtpZihyLnN0YXRlJiYoci5hdHRyaWJ1dGU9ITEpLHRoaXMuZmluYWxpemUoKSx0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzLnNldChlLHIpLCFyLm5vQWNjZXNzb3ImJiF0aGlzLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShlKSl7Y29uc3Qgbj10eXBlb2YgZT09InN5bWJvbCI/U3ltYm9sKCk6Il9fIitlLGk9dGhpcy5nZXRQcm9wZXJ0eURlc2NyaXB0b3IoZSxuLHIpO2khPT12b2lkIDAmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLnByb3RvdHlwZSxlLGkpfX1zdGF0aWMgZ2V0UHJvcGVydHlEZXNjcmlwdG9yKGUscixuKXtyZXR1cm57Z2V0KCl7cmV0dXJuIHRoaXNbcl19LHNldChpKXtjb25zdCBvPXRoaXNbZV07dGhpc1tyXT1pLHRoaXMucmVxdWVzdFVwZGF0ZShlLG8sbil9LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfX1zdGF0aWMgZ2V0UHJvcGVydHlPcHRpb25zKGUpe3JldHVybiB0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzLmdldChlKXx8Umh9c3RhdGljIGZpbmFsaXplKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgiZmluYWxpemVkIikpcmV0dXJuITE7dGhpcy5maW5hbGl6ZWQ9ITA7Y29uc3QgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk7aWYoZS5maW5hbGl6ZSgpLGUuaCE9PXZvaWQgMCYmKHRoaXMuaD1bLi4uZS5oXSksdGhpcy5lbGVtZW50UHJvcGVydGllcz1uZXcgTWFwKGUuZWxlbWVudFByb3BlcnRpZXMpLHRoaXMuXyRFdj1uZXcgTWFwLHRoaXMuaGFzT3duUHJvcGVydHkoInByb3BlcnRpZXMiKSl7Y29uc3Qgcj10aGlzLnByb3BlcnRpZXMsbj1bLi4uT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMociksLi4uT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhyKV07Zm9yKGNvbnN0IGkgb2Ygbil0aGlzLmNyZWF0ZVByb3BlcnR5KGkscltpXSl9cmV0dXJuIHRoaXMuZWxlbWVudFN0eWxlcz10aGlzLmZpbmFsaXplU3R5bGVzKHRoaXMuc3R5bGVzKSwhMH1zdGF0aWMgZmluYWxpemVTdHlsZXMoZSl7Y29uc3Qgcj1bXTtpZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCBuPW5ldyBTZXQoZS5mbGF0KDEvMCkucmV2ZXJzZSgpKTtmb3IoY29uc3QgaSBvZiBuKXIudW5zaGlmdChxZyhpKSl9ZWxzZSBlIT09dm9pZCAwJiZyLnB1c2gocWcoZSkpO3JldHVybiByfXN0YXRpYyBfJEVwKGUscil7Y29uc3Qgbj1yLmF0dHJpYnV0ZTtyZXR1cm4gbj09PSExP3ZvaWQgMDp0eXBlb2Ygbj09InN0cmluZyI/bjp0eXBlb2YgZT09InN0cmluZyI/ZS50b0xvd2VyQ2FzZSgpOnZvaWQgMH11KCl7dmFyIGU7dGhpcy5fJEVfPW5ldyBQcm9taXNlKHI9PnRoaXMuZW5hYmxlVXBkYXRpbmc9ciksdGhpcy5fJEFMPW5ldyBNYXAsdGhpcy5fJEVnKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCksKGU9dGhpcy5jb25zdHJ1Y3Rvci5oKT09PW51bGx8fGU9PT12b2lkIDB8fGUuZm9yRWFjaChyPT5yKHRoaXMpKX1hZGRDb250cm9sbGVyKGUpe3ZhciByLG47KChyPXRoaXMuXyRFUykhPT1udWxsJiZyIT09dm9pZCAwP3I6dGhpcy5fJEVTPVtdKS5wdXNoKGUpLHRoaXMucmVuZGVyUm9vdCE9PXZvaWQgMCYmdGhpcy5pc0Nvbm5lY3RlZCYmKChuPWUuaG9zdENvbm5lY3RlZCk9PT1udWxsfHxuPT09dm9pZCAwfHxuLmNhbGwoZSkpfXJlbW92ZUNvbnRyb2xsZXIoZSl7dmFyIHI7KHI9dGhpcy5fJEVTKT09PW51bGx8fHI9PT12b2lkIDB8fHIuc3BsaWNlKHRoaXMuXyRFUy5pbmRleE9mKGUpPj4+MCwxKX1fJEVnKCl7dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcy5mb3JFYWNoKChlLHIpPT57dGhpcy5oYXNPd25Qcm9wZXJ0eShyKSYmKHRoaXMuXyRFaS5zZXQocix0aGlzW3JdKSxkZWxldGUgdGhpc1tyXSl9KX1jcmVhdGVSZW5kZXJSb290KCl7dmFyIGU7Y29uc3Qgcj0oZT10aGlzLnNoYWRvd1Jvb3QpIT09bnVsbCYmZSE9PXZvaWQgMD9lOnRoaXMuYXR0YWNoU2hhZG93KHRoaXMuY29uc3RydWN0b3Iuc2hhZG93Um9vdE9wdGlvbnMpO3JldHVybiBSeChyLHRoaXMuY29uc3RydWN0b3IuZWxlbWVudFN0eWxlcykscn1jb25uZWN0ZWRDYWxsYmFjaygpe3ZhciBlO3RoaXMucmVuZGVyUm9vdD09PXZvaWQgMCYmKHRoaXMucmVuZGVyUm9vdD10aGlzLmNyZWF0ZVJlbmRlclJvb3QoKSksdGhpcy5lbmFibGVVcGRhdGluZyghMCksKGU9dGhpcy5fJEVTKT09PW51bGx8fGU9PT12b2lkIDB8fGUuZm9yRWFjaChyPT57dmFyIG47cmV0dXJuKG49ci5ob3N0Q29ubmVjdGVkKT09PW51bGx8fG49PT12b2lkIDA/dm9pZCAwOm4uY2FsbChyKX0pfWVuYWJsZVVwZGF0aW5nKGUpe31kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciBlOyhlPXRoaXMuXyRFUyk9PT1udWxsfHxlPT09dm9pZCAwfHxlLmZvckVhY2gocj0+e3ZhciBuO3JldHVybihuPXIuaG9zdERpc2Nvbm5lY3RlZCk9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLmNhbGwocil9KX1hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soZSxyLG4pe3RoaXMuXyRBSyhlLG4pfV8kRU8oZSxyLG49Umgpe3ZhciBpO2NvbnN0IG89dGhpcy5jb25zdHJ1Y3Rvci5fJEVwKGUsbik7aWYobyE9PXZvaWQgMCYmbi5yZWZsZWN0PT09ITApe2NvbnN0IGM9KCgoaT1uLmNvbnZlcnRlcik9PT1udWxsfHxpPT09dm9pZCAwP3ZvaWQgMDppLnRvQXR0cmlidXRlKSE9PXZvaWQgMD9uLmNvbnZlcnRlcjpUaCkudG9BdHRyaWJ1dGUocixuLnR5cGUpO3RoaXMuXyRFbD1lLGM9PW51bGw/dGhpcy5yZW1vdmVBdHRyaWJ1dGUobyk6dGhpcy5zZXRBdHRyaWJ1dGUobyxjKSx0aGlzLl8kRWw9bnVsbH19XyRBSyhlLHIpe3ZhciBuO2NvbnN0IGk9dGhpcy5jb25zdHJ1Y3RvcixvPWkuXyRFdi5nZXQoZSk7aWYobyE9PXZvaWQgMCYmdGhpcy5fJEVsIT09byl7Y29uc3QgYz1pLmdldFByb3BlcnR5T3B0aW9ucyhvKSxsPXR5cGVvZiBjLmNvbnZlcnRlcj09ImZ1bmN0aW9uIj97ZnJvbUF0dHJpYnV0ZTpjLmNvbnZlcnRlcn06KChuPWMuY29udmVydGVyKT09PW51bGx8fG49PT12b2lkIDA/dm9pZCAwOm4uZnJvbUF0dHJpYnV0ZSkhPT12b2lkIDA/Yy5jb252ZXJ0ZXI6VGg7dGhpcy5fJEVsPW8sdGhpc1tvXT1sLmZyb21BdHRyaWJ1dGUocixjLnR5cGUpLHRoaXMuXyRFbD1udWxsfX1yZXF1ZXN0VXBkYXRlKGUscixuKXtsZXQgaT0hMDtlIT09dm9pZCAwJiYoKChuPW58fHRoaXMuY29uc3RydWN0b3IuZ2V0UHJvcGVydHlPcHRpb25zKGUpKS5oYXNDaGFuZ2VkfHxHZykodGhpc1tlXSxyKT8odGhpcy5fJEFMLmhhcyhlKXx8dGhpcy5fJEFMLnNldChlLHIpLG4ucmVmbGVjdD09PSEwJiZ0aGlzLl8kRWwhPT1lJiYodGhpcy5fJEVDPT09dm9pZCAwJiYodGhpcy5fJEVDPW5ldyBNYXApLHRoaXMuXyRFQy5zZXQoZSxuKSkpOmk9ITEpLCF0aGlzLmlzVXBkYXRlUGVuZGluZyYmaSYmKHRoaXMuXyRFXz10aGlzLl8kRWooKSl9YXN5bmMgXyRFaigpe3RoaXMuaXNVcGRhdGVQZW5kaW5nPSEwO3RyeXthd2FpdCB0aGlzLl8kRV99Y2F0Y2gocil7UHJvbWlzZS5yZWplY3Qocil9Y29uc3QgZT10aGlzLnNjaGVkdWxlVXBkYXRlKCk7cmV0dXJuIGUhPW51bGwmJmF3YWl0IGUsIXRoaXMuaXNVcGRhdGVQZW5kaW5nfXNjaGVkdWxlVXBkYXRlKCl7cmV0dXJuIHRoaXMucGVyZm9ybVVwZGF0ZSgpfXBlcmZvcm1VcGRhdGUoKXt2YXIgZTtpZighdGhpcy5pc1VwZGF0ZVBlbmRpbmcpcmV0dXJuO3RoaXMuaGFzVXBkYXRlZCx0aGlzLl8kRWkmJih0aGlzLl8kRWkuZm9yRWFjaCgoaSxvKT0+dGhpc1tvXT1pKSx0aGlzLl8kRWk9dm9pZCAwKTtsZXQgcj0hMTtjb25zdCBuPXRoaXMuXyRBTDt0cnl7cj10aGlzLnNob3VsZFVwZGF0ZShuKSxyPyh0aGlzLndpbGxVcGRhdGUobiksKGU9dGhpcy5fJEVTKT09PW51bGx8fGU9PT12b2lkIDB8fGUuZm9yRWFjaChpPT57dmFyIG87cmV0dXJuKG89aS5ob3N0VXBkYXRlKT09PW51bGx8fG89PT12b2lkIDA/dm9pZCAwOm8uY2FsbChpKX0pLHRoaXMudXBkYXRlKG4pKTp0aGlzLl8kRWsoKX1jYXRjaChpKXt0aHJvdyByPSExLHRoaXMuXyRFaygpLGl9ciYmdGhpcy5fJEFFKG4pfXdpbGxVcGRhdGUoZSl7fV8kQUUoZSl7dmFyIHI7KHI9dGhpcy5fJEVTKT09PW51bGx8fHI9PT12b2lkIDB8fHIuZm9yRWFjaChuPT57dmFyIGk7cmV0dXJuKGk9bi5ob3N0VXBkYXRlZCk9PT1udWxsfHxpPT09dm9pZCAwP3ZvaWQgMDppLmNhbGwobil9KSx0aGlzLmhhc1VwZGF0ZWR8fCh0aGlzLmhhc1VwZGF0ZWQ9ITAsdGhpcy5maXJzdFVwZGF0ZWQoZSkpLHRoaXMudXBkYXRlZChlKX1fJEVrKCl7dGhpcy5fJEFMPW5ldyBNYXAsdGhpcy5pc1VwZGF0ZVBlbmRpbmc9ITF9Z2V0IHVwZGF0ZUNvbXBsZXRlKCl7cmV0dXJuIHRoaXMuZ2V0VXBkYXRlQ29tcGxldGUoKX1nZXRVcGRhdGVDb21wbGV0ZSgpe3JldHVybiB0aGlzLl8kRV99c2hvdWxkVXBkYXRlKGUpe3JldHVybiEwfXVwZGF0ZShlKXt0aGlzLl8kRUMhPT12b2lkIDAmJih0aGlzLl8kRUMuZm9yRWFjaCgocixuKT0+dGhpcy5fJEVPKG4sdGhpc1tuXSxyKSksdGhpcy5fJEVDPXZvaWQgMCksdGhpcy5fJEVrKCl9dXBkYXRlZChlKXt9Zmlyc3RVcGRhdGVkKGUpe319TnMuZmluYWxpemVkPSEwLE5zLmVsZW1lbnRQcm9wZXJ0aWVzPW5ldyBNYXAsTnMuZWxlbWVudFN0eWxlcz1bXSxOcy5zaGFkb3dSb290T3B0aW9ucz17bW9kZToib3BlbiJ9LEtnPy4oe1JlYWN0aXZlRWxlbWVudDpOc30pLCgoUGg9d2MucmVhY3RpdmVFbGVtZW50VmVyc2lvbnMpIT09bnVsbCYmUGghPT12b2lkIDA/UGg6d2MucmVhY3RpdmVFbGVtZW50VmVyc2lvbnM9W10pLnB1c2goIjEuNi4xIik7dmFyIE5oO2NvbnN0IHZjPXdpbmRvdyxMcz12Yy50cnVzdGVkVHlwZXMsWmc9THM/THMuY3JlYXRlUG9saWN5KCJsaXQtaHRtbCIse2NyZWF0ZUhUTUw6dD0+dH0pOnZvaWQgMCxMaD0iJGxpdCQiLHdpPWBsaXQkJHsoTWF0aC5yYW5kb20oKSsiIikuc2xpY2UoOSl9JGAsWWc9Ij8iK3dpLEx4PWA8JHtZZ30+YCxaaT1kb2N1bWVudCxHbz0oKT0+WmkuY3JlYXRlQ29tbWVudCgiIiksWm89dD0+dD09PW51bGx8fHR5cGVvZiB0IT0ib2JqZWN0IiYmdHlwZW9mIHQhPSJmdW5jdGlvbiIsSmc9QXJyYXkuaXNBcnJheSxNeD10PT5KZyh0KXx8dHlwZW9mIHQ/LltTeW1ib2wuaXRlcmF0b3JdPT0iZnVuY3Rpb24iLE1oPWBbIAkNClxmXHJdYCxZbz0vPCg/OighLS18XC9bXmEtekEtWl0pfChcLz9bYS16QS1aXVtePlxzXSopfChcLz8kKSkvZyxYZz0vLS0+L2csUWc9Lz4vZyxZaT1SZWdFeHAoYD58JHtNaH0oPzooW15cXHMiJz49L10rKSgke01ofSo9JHtNaH0qKD86W14gCQ0KXGZcciInXGA8Pj1dfCgifCcpfCkpfCQpYCwiZyIpLGUzPS8nL2csdDM9LyIvZyxyMz0vXig/OnNjcmlwdHxzdHlsZXx0ZXh0YXJlYXx0aXRsZSkkL2ksbjM9dD0+KGUsLi4ucik9Pih7XyRsaXRUeXBlJDp0LHN0cmluZ3M6ZSx2YWx1ZXM6cn0pLG9lPW4zKDEpLHV0PW4zKDIpLEppPVN5bWJvbC5mb3IoImxpdC1ub0NoYW5nZSIpLHdyPVN5bWJvbC5mb3IoImxpdC1ub3RoaW5nIiksaTM9bmV3IFdlYWtNYXAsWGk9WmkuY3JlYXRlVHJlZVdhbGtlcihaaSwxMjksbnVsbCwhMSksVXg9KHQsZSk9Pntjb25zdCByPXQubGVuZ3RoLTEsbj1bXTtsZXQgaSxvPWU9PT0yPyI8c3ZnPiI6IiIsYz1Zbztmb3IobGV0IGg9MDtoPHI7aCsrKXtjb25zdCBkPXRbaF07bGV0IHYsRSxfPS0xLEE9MDtmb3IoO0E8ZC5sZW5ndGgmJihjLmxhc3RJbmRleD1BLEU9Yy5leGVjKGQpLEUhPT1udWxsKTspQT1jLmxhc3RJbmRleCxjPT09WW8/RVsxXT09PSIhLS0iP2M9WGc6RVsxXSE9PXZvaWQgMD9jPVFnOkVbMl0hPT12b2lkIDA/KHIzLnRlc3QoRVsyXSkmJihpPVJlZ0V4cCgiPC8iK0VbMl0sImciKSksYz1ZaSk6RVszXSE9PXZvaWQgMCYmKGM9WWkpOmM9PT1ZaT9FWzBdPT09Ij4iPyhjPWk/P1lvLF89LTEpOkVbMV09PT12b2lkIDA/Xz0tMjooXz1jLmxhc3RJbmRleC1FWzJdLmxlbmd0aCx2PUVbMV0sYz1FWzNdPT09dm9pZCAwP1lpOkVbM109PT0nIic/dDM6ZTMpOmM9PT10M3x8Yz09PWUzP2M9WWk6Yz09PVhnfHxjPT09UWc/Yz1ZbzooYz1ZaSxpPXZvaWQgMCk7Y29uc3QgUD1jPT09WWkmJnRbaCsxXS5zdGFydHNXaXRoKCIvPiIpPyIgIjoiIjtvKz1jPT09WW8/ZCtMeDpfPj0wPyhuLnB1c2godiksZC5zbGljZSgwLF8pK0xoK2Quc2xpY2UoXykrd2krUCk6ZCt3aSsoXz09PS0yPyhuLnB1c2godm9pZCAwKSxoKTpQKX1jb25zdCBsPW8rKHRbcl18fCI8Pz4iKSsoZT09PTI/Ijwvc3ZnPiI6IiIpO2lmKCFBcnJheS5pc0FycmF5KHQpfHwhdC5oYXNPd25Qcm9wZXJ0eSgicmF3IikpdGhyb3cgRXJyb3IoImludmFsaWQgdGVtcGxhdGUgc3RyaW5ncyBhcnJheSIpO3JldHVybltaZyE9PXZvaWQgMD9aZy5jcmVhdGVIVE1MKGwpOmwsbl19O2NsYXNzIEpve2NvbnN0cnVjdG9yKHtzdHJpbmdzOmUsXyRsaXRUeXBlJDpyfSxuKXtsZXQgaTt0aGlzLnBhcnRzPVtdO2xldCBvPTAsYz0wO2NvbnN0IGw9ZS5sZW5ndGgtMSxoPXRoaXMucGFydHMsW2Qsdl09VXgoZSxyKTtpZih0aGlzLmVsPUpvLmNyZWF0ZUVsZW1lbnQoZCxuKSxYaS5jdXJyZW50Tm9kZT10aGlzLmVsLmNvbnRlbnQscj09PTIpe2NvbnN0IEU9dGhpcy5lbC5jb250ZW50LF89RS5maXJzdENoaWxkO18ucmVtb3ZlKCksRS5hcHBlbmQoLi4uXy5jaGlsZE5vZGVzKX1mb3IoOyhpPVhpLm5leHROb2RlKCkpIT09bnVsbCYmaC5sZW5ndGg8bDspe2lmKGkubm9kZVR5cGU9PT0xKXtpZihpLmhhc0F0dHJpYnV0ZXMoKSl7Y29uc3QgRT1bXTtmb3IoY29uc3QgXyBvZiBpLmdldEF0dHJpYnV0ZU5hbWVzKCkpaWYoXy5lbmRzV2l0aChMaCl8fF8uc3RhcnRzV2l0aCh3aSkpe2NvbnN0IEE9dltjKytdO2lmKEUucHVzaChfKSxBIT09dm9pZCAwKXtjb25zdCBQPWkuZ2V0QXR0cmlidXRlKEEudG9Mb3dlckNhc2UoKStMaCkuc3BsaXQod2kpLFU9LyhbLj9AXSk/KC4qKS8uZXhlYyhBKTtoLnB1c2goe3R5cGU6MSxpbmRleDpvLG5hbWU6VVsyXSxzdHJpbmdzOlAsY3RvcjpVWzFdPT09Ii4iP0Z4OlVbMV09PT0iPyI/a3g6VVsxXT09PSJAIj9IeDp5Y30pfWVsc2UgaC5wdXNoKHt0eXBlOjYsaW5kZXg6b30pfWZvcihjb25zdCBfIG9mIEUpaS5yZW1vdmVBdHRyaWJ1dGUoXyl9aWYocjMudGVzdChpLnRhZ05hbWUpKXtjb25zdCBFPWkudGV4dENvbnRlbnQuc3BsaXQod2kpLF89RS5sZW5ndGgtMTtpZihfPjApe2kudGV4dENvbnRlbnQ9THM/THMuZW1wdHlTY3JpcHQ6IiI7Zm9yKGxldCBBPTA7QTxfO0ErKylpLmFwcGVuZChFW0FdLEdvKCkpLFhpLm5leHROb2RlKCksaC5wdXNoKHt0eXBlOjIsaW5kZXg6KytvfSk7aS5hcHBlbmQoRVtfXSxHbygpKX19fWVsc2UgaWYoaS5ub2RlVHlwZT09PTgpaWYoaS5kYXRhPT09WWcpaC5wdXNoKHt0eXBlOjIsaW5kZXg6b30pO2Vsc2V7bGV0IEU9LTE7Zm9yKDsoRT1pLmRhdGEuaW5kZXhPZih3aSxFKzEpKSE9PS0xOyloLnB1c2goe3R5cGU6NyxpbmRleDpvfSksRSs9d2kubGVuZ3RoLTF9bysrfX1zdGF0aWMgY3JlYXRlRWxlbWVudChlLHIpe2NvbnN0IG49WmkuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtyZXR1cm4gbi5pbm5lckhUTUw9ZSxufX1mdW5jdGlvbiBNcyh0LGUscj10LG4pe3ZhciBpLG8sYyxsO2lmKGU9PT1KaSlyZXR1cm4gZTtsZXQgaD1uIT09dm9pZCAwPyhpPXIuXyRDbyk9PT1udWxsfHxpPT09dm9pZCAwP3ZvaWQgMDppW25dOnIuXyRDbDtjb25zdCBkPVpvKGUpP3ZvaWQgMDplLl8kbGl0RGlyZWN0aXZlJDtyZXR1cm4gaD8uY29uc3RydWN0b3IhPT1kJiYoKG89aD8uXyRBTyk9PT1udWxsfHxvPT09dm9pZCAwfHxvLmNhbGwoaCwhMSksZD09PXZvaWQgMD9oPXZvaWQgMDooaD1uZXcgZCh0KSxoLl8kQVQodCxyLG4pKSxuIT09dm9pZCAwPygoYz0obD1yKS5fJENvKSE9PW51bGwmJmMhPT12b2lkIDA/YzpsLl8kQ289W10pW25dPWg6ci5fJENsPWgpLGghPT12b2lkIDAmJihlPU1zKHQsaC5fJEFTKHQsZS52YWx1ZXMpLGgsbikpLGV9Y2xhc3Mganh7Y29uc3RydWN0b3IoZSxyKXt0aGlzLl8kQVY9W10sdGhpcy5fJEFOPXZvaWQgMCx0aGlzLl8kQUQ9ZSx0aGlzLl8kQU09cn1nZXQgcGFyZW50Tm9kZSgpe3JldHVybiB0aGlzLl8kQU0ucGFyZW50Tm9kZX1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX11KGUpe3ZhciByO2NvbnN0e2VsOntjb250ZW50Om59LHBhcnRzOml9PXRoaXMuXyRBRCxvPSgocj1lPy5jcmVhdGlvblNjb3BlKSE9PW51bGwmJnIhPT12b2lkIDA/cjpaaSkuaW1wb3J0Tm9kZShuLCEwKTtYaS5jdXJyZW50Tm9kZT1vO2xldCBjPVhpLm5leHROb2RlKCksbD0wLGg9MCxkPWlbMF07Zm9yKDtkIT09dm9pZCAwOyl7aWYobD09PWQuaW5kZXgpe2xldCB2O2QudHlwZT09PTI/dj1uZXcgWG8oYyxjLm5leHRTaWJsaW5nLHRoaXMsZSk6ZC50eXBlPT09MT92PW5ldyBkLmN0b3IoYyxkLm5hbWUsZC5zdHJpbmdzLHRoaXMsZSk6ZC50eXBlPT09NiYmKHY9bmV3IHp4KGMsdGhpcyxlKSksdGhpcy5fJEFWLnB1c2godiksZD1pWysraF19bCE9PWQ/LmluZGV4JiYoYz1YaS5uZXh0Tm9kZSgpLGwrKyl9cmV0dXJuIFhpLmN1cnJlbnROb2RlPVppLG99dihlKXtsZXQgcj0wO2Zvcihjb25zdCBuIG9mIHRoaXMuXyRBViluIT09dm9pZCAwJiYobi5zdHJpbmdzIT09dm9pZCAwPyhuLl8kQUkoZSxuLHIpLHIrPW4uc3RyaW5ncy5sZW5ndGgtMik6bi5fJEFJKGVbcl0pKSxyKyt9fWNsYXNzIFhve2NvbnN0cnVjdG9yKGUscixuLGkpe3ZhciBvO3RoaXMudHlwZT0yLHRoaXMuXyRBSD13cix0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBQT1lLHRoaXMuXyRBQj1yLHRoaXMuXyRBTT1uLHRoaXMub3B0aW9ucz1pLHRoaXMuXyRDcD0obz1pPy5pc0Nvbm5lY3RlZCk9PT1udWxsfHxvPT09dm9pZCAwfHxvfWdldCBfJEFVKCl7dmFyIGUscjtyZXR1cm4ocj0oZT10aGlzLl8kQU0pPT09bnVsbHx8ZT09PXZvaWQgMD92b2lkIDA6ZS5fJEFVKSE9PW51bGwmJnIhPT12b2lkIDA/cjp0aGlzLl8kQ3B9Z2V0IHBhcmVudE5vZGUoKXtsZXQgZT10aGlzLl8kQUEucGFyZW50Tm9kZTtjb25zdCByPXRoaXMuXyRBTTtyZXR1cm4gciE9PXZvaWQgMCYmZT8ubm9kZVR5cGU9PT0xMSYmKGU9ci5wYXJlbnROb2RlKSxlfWdldCBzdGFydE5vZGUoKXtyZXR1cm4gdGhpcy5fJEFBfWdldCBlbmROb2RlKCl7cmV0dXJuIHRoaXMuXyRBQn1fJEFJKGUscj10aGlzKXtlPU1zKHRoaXMsZSxyKSxabyhlKT9lPT09d3J8fGU9PW51bGx8fGU9PT0iIj8odGhpcy5fJEFIIT09d3ImJnRoaXMuXyRBUigpLHRoaXMuXyRBSD13cik6ZSE9PXRoaXMuXyRBSCYmZSE9PUppJiZ0aGlzLl8oZSk6ZS5fJGxpdFR5cGUkIT09dm9pZCAwP3RoaXMuZyhlKTplLm5vZGVUeXBlIT09dm9pZCAwP3RoaXMuJChlKTpNeChlKT90aGlzLlQoZSk6dGhpcy5fKGUpfWsoZSl7cmV0dXJuIHRoaXMuXyRBQS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMuXyRBQil9JChlKXt0aGlzLl8kQUghPT1lJiYodGhpcy5fJEFSKCksdGhpcy5fJEFIPXRoaXMuayhlKSl9XyhlKXt0aGlzLl8kQUghPT13ciYmWm8odGhpcy5fJEFIKT90aGlzLl8kQUEubmV4dFNpYmxpbmcuZGF0YT1lOnRoaXMuJChaaS5jcmVhdGVUZXh0Tm9kZShlKSksdGhpcy5fJEFIPWV9ZyhlKXt2YXIgcjtjb25zdHt2YWx1ZXM6bixfJGxpdFR5cGUkOml9PWUsbz10eXBlb2YgaT09Im51bWJlciI/dGhpcy5fJEFDKGUpOihpLmVsPT09dm9pZCAwJiYoaS5lbD1Kby5jcmVhdGVFbGVtZW50KGkuaCx0aGlzLm9wdGlvbnMpKSxpKTtpZigoKHI9dGhpcy5fJEFIKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIuXyRBRCk9PT1vKXRoaXMuXyRBSC52KG4pO2Vsc2V7Y29uc3QgYz1uZXcgangobyx0aGlzKSxsPWMudSh0aGlzLm9wdGlvbnMpO2MudihuKSx0aGlzLiQobCksdGhpcy5fJEFIPWN9fV8kQUMoZSl7bGV0IHI9aTMuZ2V0KGUuc3RyaW5ncyk7cmV0dXJuIHI9PT12b2lkIDAmJmkzLnNldChlLnN0cmluZ3Mscj1uZXcgSm8oZSkpLHJ9VChlKXtKZyh0aGlzLl8kQUgpfHwodGhpcy5fJEFIPVtdLHRoaXMuXyRBUigpKTtjb25zdCByPXRoaXMuXyRBSDtsZXQgbixpPTA7Zm9yKGNvbnN0IG8gb2YgZSlpPT09ci5sZW5ndGg/ci5wdXNoKG49bmV3IFhvKHRoaXMuayhHbygpKSx0aGlzLmsoR28oKSksdGhpcyx0aGlzLm9wdGlvbnMpKTpuPXJbaV0sbi5fJEFJKG8pLGkrKztpPHIubGVuZ3RoJiYodGhpcy5fJEFSKG4mJm4uXyRBQi5uZXh0U2libGluZyxpKSxyLmxlbmd0aD1pKX1fJEFSKGU9dGhpcy5fJEFBLm5leHRTaWJsaW5nLHIpe3ZhciBuO2Zvcigobj10aGlzLl8kQVApPT09bnVsbHx8bj09PXZvaWQgMHx8bi5jYWxsKHRoaXMsITEsITAscik7ZSYmZSE9PXRoaXMuXyRBQjspe2NvbnN0IGk9ZS5uZXh0U2libGluZztlLnJlbW92ZSgpLGU9aX19c2V0Q29ubmVjdGVkKGUpe3ZhciByO3RoaXMuXyRBTT09PXZvaWQgMCYmKHRoaXMuXyRDcD1lLChyPXRoaXMuXyRBUCk9PT1udWxsfHxyPT09dm9pZCAwfHxyLmNhbGwodGhpcyxlKSl9fWNsYXNzIHlje2NvbnN0cnVjdG9yKGUscixuLGksbyl7dGhpcy50eXBlPTEsdGhpcy5fJEFIPXdyLHRoaXMuXyRBTj12b2lkIDAsdGhpcy5lbGVtZW50PWUsdGhpcy5uYW1lPXIsdGhpcy5fJEFNPWksdGhpcy5vcHRpb25zPW8sbi5sZW5ndGg+Mnx8blswXSE9PSIifHxuWzFdIT09IiI/KHRoaXMuXyRBSD1BcnJheShuLmxlbmd0aC0xKS5maWxsKG5ldyBTdHJpbmcpLHRoaXMuc3RyaW5ncz1uKTp0aGlzLl8kQUg9d3J9Z2V0IHRhZ05hbWUoKXtyZXR1cm4gdGhpcy5lbGVtZW50LnRhZ05hbWV9Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNLl8kQVV9XyRBSShlLHI9dGhpcyxuLGkpe2NvbnN0IG89dGhpcy5zdHJpbmdzO2xldCBjPSExO2lmKG89PT12b2lkIDApZT1Ncyh0aGlzLGUsciwwKSxjPSFabyhlKXx8ZSE9PXRoaXMuXyRBSCYmZSE9PUppLGMmJih0aGlzLl8kQUg9ZSk7ZWxzZXtjb25zdCBsPWU7bGV0IGgsZDtmb3IoZT1vWzBdLGg9MDtoPG8ubGVuZ3RoLTE7aCsrKWQ9TXModGhpcyxsW24raF0scixoKSxkPT09SmkmJihkPXRoaXMuXyRBSFtoXSksY3x8KGM9IVpvKGQpfHxkIT09dGhpcy5fJEFIW2hdKSxkPT09d3I/ZT13cjplIT09d3ImJihlKz0oZD8/IiIpK29baCsxXSksdGhpcy5fJEFIW2hdPWR9YyYmIWkmJnRoaXMuaihlKX1qKGUpe2U9PT13cj90aGlzLmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKHRoaXMubmFtZSk6dGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSh0aGlzLm5hbWUsZT8/IiIpfX1jbGFzcyBGeCBleHRlbmRzIHlje2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9M31qKGUpe3RoaXMuZWxlbWVudFt0aGlzLm5hbWVdPWU9PT13cj92b2lkIDA6ZX19Y29uc3QgQng9THM/THMuZW1wdHlTY3JpcHQ6IiI7Y2xhc3Mga3ggZXh0ZW5kcyB5Y3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy50eXBlPTR9aihlKXtlJiZlIT09d3I/dGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSh0aGlzLm5hbWUsQngpOnRoaXMuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUodGhpcy5uYW1lKX19Y2xhc3MgSHggZXh0ZW5kcyB5Y3tjb25zdHJ1Y3RvcihlLHIsbixpLG8pe3N1cGVyKGUscixuLGksbyksdGhpcy50eXBlPTV9XyRBSShlLHI9dGhpcyl7dmFyIG47aWYoKGU9KG49TXModGhpcyxlLHIsMCkpIT09bnVsbCYmbiE9PXZvaWQgMD9uOndyKT09PUppKXJldHVybjtjb25zdCBpPXRoaXMuXyRBSCxvPWU9PT13ciYmaSE9PXdyfHxlLmNhcHR1cmUhPT1pLmNhcHR1cmV8fGUub25jZSE9PWkub25jZXx8ZS5wYXNzaXZlIT09aS5wYXNzaXZlLGM9ZSE9PXdyJiYoaT09PXdyfHxvKTtvJiZ0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLm5hbWUsdGhpcyxpKSxjJiZ0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLm5hbWUsdGhpcyxlKSx0aGlzLl8kQUg9ZX1oYW5kbGVFdmVudChlKXt2YXIgcixuO3R5cGVvZiB0aGlzLl8kQUg9PSJmdW5jdGlvbiI/dGhpcy5fJEFILmNhbGwoKG49KHI9dGhpcy5vcHRpb25zKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIuaG9zdCkhPT1udWxsJiZuIT09dm9pZCAwP246dGhpcy5lbGVtZW50LGUpOnRoaXMuXyRBSC5oYW5kbGVFdmVudChlKX19Y2xhc3Mgenh7Y29uc3RydWN0b3IoZSxyLG4pe3RoaXMuZWxlbWVudD1lLHRoaXMudHlwZT02LHRoaXMuXyRBTj12b2lkIDAsdGhpcy5fJEFNPXIsdGhpcy5vcHRpb25zPW59Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNLl8kQVV9XyRBSShlKXtNcyh0aGlzLGUpfX1jb25zdCBzMz12Yy5saXRIdG1sUG9seWZpbGxTdXBwb3J0O3MzPy4oSm8sWG8pLCgoTmg9dmMubGl0SHRtbFZlcnNpb25zKSE9PW51bGwmJk5oIT09dm9pZCAwP05oOnZjLmxpdEh0bWxWZXJzaW9ucz1bXSkucHVzaCgiMi43LjQiKTtjb25zdCBXeD0odCxlLHIpPT57dmFyIG4saTtjb25zdCBvPShuPXI/LnJlbmRlckJlZm9yZSkhPT1udWxsJiZuIT09dm9pZCAwP246ZTtsZXQgYz1vLl8kbGl0UGFydCQ7aWYoYz09PXZvaWQgMCl7Y29uc3QgbD0oaT1yPy5yZW5kZXJCZWZvcmUpIT09bnVsbCYmaSE9PXZvaWQgMD9pOm51bGw7by5fJGxpdFBhcnQkPWM9bmV3IFhvKGUuaW5zZXJ0QmVmb3JlKEdvKCksbCksbCx2b2lkIDAscj8/e30pfXJldHVybiBjLl8kQUkodCksY307dmFyIFVoLGpoO2NsYXNzICRlIGV4dGVuZHMgTnN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVuZGVyT3B0aW9ucz17aG9zdDp0aGlzfSx0aGlzLl8kRG89dm9pZCAwfWNyZWF0ZVJlbmRlclJvb3QoKXt2YXIgZSxyO2NvbnN0IG49c3VwZXIuY3JlYXRlUmVuZGVyUm9vdCgpO3JldHVybihlPShyPXRoaXMucmVuZGVyT3B0aW9ucykucmVuZGVyQmVmb3JlKSE9PW51bGwmJmUhPT12b2lkIDB8fChyLnJlbmRlckJlZm9yZT1uLmZpcnN0Q2hpbGQpLG59dXBkYXRlKGUpe2NvbnN0IHI9dGhpcy5yZW5kZXIoKTt0aGlzLmhhc1VwZGF0ZWR8fCh0aGlzLnJlbmRlck9wdGlvbnMuaXNDb25uZWN0ZWQ9dGhpcy5pc0Nvbm5lY3RlZCksc3VwZXIudXBkYXRlKGUpLHRoaXMuXyREbz1XeChyLHRoaXMucmVuZGVyUm9vdCx0aGlzLnJlbmRlck9wdGlvbnMpfWNvbm5lY3RlZENhbGxiYWNrKCl7dmFyIGU7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSwoZT10aGlzLl8kRG8pPT09bnVsbHx8ZT09PXZvaWQgMHx8ZS5zZXRDb25uZWN0ZWQoITApfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIGU7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSwoZT10aGlzLl8kRG8pPT09bnVsbHx8ZT09PXZvaWQgMHx8ZS5zZXRDb25uZWN0ZWQoITEpfXJlbmRlcigpe3JldHVybiBKaX19JGUuZmluYWxpemVkPSEwLCRlLl8kbGl0RWxlbWVudCQ9ITAsKFVoPWdsb2JhbFRoaXMubGl0RWxlbWVudEh5ZHJhdGVTdXBwb3J0KT09PW51bGx8fFVoPT09dm9pZCAwfHxVaC5jYWxsKGdsb2JhbFRoaXMse0xpdEVsZW1lbnQ6JGV9KTtjb25zdCBvMz1nbG9iYWxUaGlzLmxpdEVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQ7bzM/Lih7TGl0RWxlbWVudDokZX0pLCgoamg9Z2xvYmFsVGhpcy5saXRFbGVtZW50VmVyc2lvbnMpIT09bnVsbCYmamghPT12b2lkIDA/amg6Z2xvYmFsVGhpcy5saXRFbGVtZW50VmVyc2lvbnM9W10pLnB1c2goIjMuMy4yIik7Y29uc3QgUmU9dD0+ZT0+dHlwZW9mIGU9PSJmdW5jdGlvbiI/KChyLG4pPT4oY3VzdG9tRWxlbWVudHMuZGVmaW5lKHIsbiksbikpKHQsZSk6KChyLG4pPT57Y29uc3R7a2luZDppLGVsZW1lbnRzOm99PW47cmV0dXJue2tpbmQ6aSxlbGVtZW50czpvLGZpbmlzaGVyKGMpe2N1c3RvbUVsZW1lbnRzLmRlZmluZShyLGMpfX19KSh0LGUpO2NvbnN0IHF4PSh0LGUpPT5lLmtpbmQ9PT0ibWV0aG9kIiYmZS5kZXNjcmlwdG9yJiYhKCJ2YWx1ZSJpbiBlLmRlc2NyaXB0b3IpP3suLi5lLGZpbmlzaGVyKHIpe3IuY3JlYXRlUHJvcGVydHkoZS5rZXksdCl9fTp7a2luZDoiZmllbGQiLGtleTpTeW1ib2woKSxwbGFjZW1lbnQ6Im93biIsZGVzY3JpcHRvcjp7fSxvcmlnaW5hbEtleTplLmtleSxpbml0aWFsaXplcigpe3R5cGVvZiBlLmluaXRpYWxpemVyPT0iZnVuY3Rpb24iJiYodGhpc1tlLmtleV09ZS5pbml0aWFsaXplci5jYWxsKHRoaXMpKX0sZmluaXNoZXIocil7ci5jcmVhdGVQcm9wZXJ0eShlLmtleSx0KX19O2Z1bmN0aW9uIEFlKHQpe3JldHVybihlLHIpPT5yIT09dm9pZCAwPygobixpLG8pPT57aS5jb25zdHJ1Y3Rvci5jcmVhdGVQcm9wZXJ0eShvLG4pfSkodCxlLHIpOnF4KHQsZSl9CmZ1bmN0aW9uIGd0KHQpe3JldHVybiBBZSh7Li4udCxzdGF0ZTohMH0pfQp2YXIgRmg7KChGaD13aW5kb3cuSFRNTFNsb3RFbGVtZW50KT09PW51bGx8fEZoPT09dm9pZCAwP3ZvaWQgMDpGaC5wcm90b3R5cGUuYXNzaWduZWRFbGVtZW50cykhPW51bGw7Y29uc3QgVng9e0FUVFJJQlVURToxLENISUxEOjIsUFJPUEVSVFk6MyxCT09MRUFOX0FUVFJJQlVURTo0LEVWRU5UOjUsRUxFTUVOVDo2fSxLeD10PT4oLi4uZSk9Pih7XyRsaXREaXJlY3RpdmUkOnQsdmFsdWVzOmV9KTtjbGFzcyBHeHtjb25zdHJ1Y3RvcihlKXt9Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNLl8kQVV9XyRBVChlLHIsbil7dGhpcy5fJEN0PWUsdGhpcy5fJEFNPXIsdGhpcy5fJENpPW59XyRBUyhlLHIpe3JldHVybiB0aGlzLnVwZGF0ZShlLHIpfXVwZGF0ZShlLHIpe3JldHVybiB0aGlzLnJlbmRlciguLi5yKX19CmNvbnN0IExyPUt4KGNsYXNzIGV4dGVuZHMgR3h7Y29uc3RydWN0b3IodCl7dmFyIGU7aWYoc3VwZXIodCksdC50eXBlIT09VnguQVRUUklCVVRFfHx0Lm5hbWUhPT0iY2xhc3MifHwoKGU9dC5zdHJpbmdzKT09PW51bGx8fGU9PT12b2lkIDA/dm9pZCAwOmUubGVuZ3RoKT4yKXRocm93IEVycm9yKCJgY2xhc3NNYXAoKWAgY2FuIG9ubHkgYmUgdXNlZCBpbiB0aGUgYGNsYXNzYCBhdHRyaWJ1dGUgYW5kIG11c3QgYmUgdGhlIG9ubHkgcGFydCBpbiB0aGUgYXR0cmlidXRlLiIpfXJlbmRlcih0KXtyZXR1cm4iICIrT2JqZWN0LmtleXModCkuZmlsdGVyKGU9PnRbZV0pLmpvaW4oIiAiKSsiICJ9dXBkYXRlKHQsW2VdKXt2YXIgcixuO2lmKHRoaXMuaXQ9PT12b2lkIDApe3RoaXMuaXQ9bmV3IFNldCx0LnN0cmluZ3MhPT12b2lkIDAmJih0aGlzLm50PW5ldyBTZXQodC5zdHJpbmdzLmpvaW4oIiAiKS5zcGxpdCgvXHMvKS5maWx0ZXIobz0+byE9PSIiKSkpO2Zvcihjb25zdCBvIGluIGUpZVtvXSYmISghKChyPXRoaXMubnQpPT09bnVsbHx8cj09PXZvaWQgMCkmJnIuaGFzKG8pKSYmdGhpcy5pdC5hZGQobyk7cmV0dXJuIHRoaXMucmVuZGVyKGUpfWNvbnN0IGk9dC5lbGVtZW50LmNsYXNzTGlzdDt0aGlzLml0LmZvckVhY2gobz0+e28gaW4gZXx8KGkucmVtb3ZlKG8pLHRoaXMuaXQuZGVsZXRlKG8pKX0pO2Zvcihjb25zdCBvIGluIGUpe2NvbnN0IGM9ISFlW29dO2M9PT10aGlzLml0LmhhcyhvKXx8ISgobj10aGlzLm50KT09PW51bGx8fG49PT12b2lkIDApJiZuLmhhcyhvKXx8KGM/KGkuYWRkKG8pLHRoaXMuaXQuYWRkKG8pKTooaS5yZW1vdmUobyksdGhpcy5pdC5kZWxldGUobykpKX1yZXR1cm4gSml9fSk7ZnVuY3Rpb24gWngodCxlKXt0LmluZGV4T2YoZSk9PT0tMSYmdC5wdXNoKGUpfWNvbnN0IGEzPSh0LGUscik9Pk1hdGgubWluKE1hdGgubWF4KHIsdCksZSksaG49e2R1cmF0aW9uOi4zLGRlbGF5OjAsZW5kRGVsYXk6MCxyZXBlYXQ6MCxlYXNpbmc6ImVhc2UifSxiYz10PT50eXBlb2YgdD09Im51bWJlciIsVXM9dD0+QXJyYXkuaXNBcnJheSh0KSYmIWJjKHRbMF0pLFl4PSh0LGUscik9Pntjb25zdCBuPWUtdDtyZXR1cm4oKHItdCklbituKSVuK3R9O2Z1bmN0aW9uIEp4KHQsZSl7cmV0dXJuIFVzKHQpP3RbWXgoMCx0Lmxlbmd0aCxlKV06dH1jb25zdCBjMz0odCxlLHIpPT4tcip0K3IqZSt0LGwzPSgpPT57fSx2aT10PT50LEJoPSh0LGUscik9PmUtdD09PTA/MTooci10KS8oZS10KTtmdW5jdGlvbiB1Myh0LGUpe2NvbnN0IHI9dFt0Lmxlbmd0aC0xXTtmb3IobGV0IG49MTtuPD1lO24rKyl7Y29uc3QgaT1CaCgwLGUsbik7dC5wdXNoKGMzKHIsMSxpKSl9fWZ1bmN0aW9uIFh4KHQpe2NvbnN0IGU9WzBdO3JldHVybiB1MyhlLHQtMSksZX1mdW5jdGlvbiBReCh0LGU9WHgodC5sZW5ndGgpLHI9dmkpe2NvbnN0IG49dC5sZW5ndGgsaT1uLWUubGVuZ3RoO3JldHVybiBpPjAmJnUzKGUsaSksbz0+e2xldCBjPTA7Zm9yKDtjPG4tMiYmIShvPGVbYysxXSk7YysrKTtsZXQgbD1hMygwLDEsQmgoZVtjXSxlW2MrMV0sbykpO3JldHVybiBsPUp4KHIsYykobCksYzModFtjXSx0W2MrMV0sbCl9fWNvbnN0IGgzPXQ9PkFycmF5LmlzQXJyYXkodCkmJmJjKHRbMF0pLGtoPXQ9PnR5cGVvZiB0PT0ib2JqZWN0IiYmQm9vbGVhbih0LmNyZWF0ZUFuaW1hdGlvbiksUWk9dD0+dHlwZW9mIHQ9PSJmdW5jdGlvbiIsZTk9dD0+dHlwZW9mIHQ9PSJzdHJpbmciLFFvPXttczp0PT50KjFlMyxzOnQ9PnQvMWUzfSxmMz0odCxlLHIpPT4oKCgxLTMqciszKmUpKnQrKDMqci02KmUpKSp0KzMqZSkqdCx0OT0xZS03LHI5PTEyO2Z1bmN0aW9uIG45KHQsZSxyLG4saSl7bGV0IG8sYyxsPTA7ZG8gYz1lKyhyLWUpLzIsbz1mMyhjLG4saSktdCxvPjA/cj1jOmU9Yzt3aGlsZShNYXRoLmFicyhvKT50OSYmKytsPHI5KTtyZXR1cm4gY31mdW5jdGlvbiBlYSh0LGUscixuKXtpZih0PT09ZSYmcj09PW4pcmV0dXJuIHZpO2NvbnN0IGk9bz0+bjkobywwLDEsdCxyKTtyZXR1cm4gbz0+bz09PTB8fG89PT0xP286ZjMoaShvKSxlLG4pfWNvbnN0IGk5PSh0LGU9ImVuZCIpPT5yPT57cj1lPT09ImVuZCI/TWF0aC5taW4ociwuOTk5KTpNYXRoLm1heChyLC4wMDEpO2NvbnN0IG49cip0LGk9ZT09PSJlbmQiP01hdGguZmxvb3Iobik6TWF0aC5jZWlsKG4pO3JldHVybiBhMygwLDEsaS90KX0sZDM9e2Vhc2U6ZWEoLjI1LC4xLC4yNSwxKSwiZWFzZS1pbiI6ZWEoLjQyLDAsMSwxKSwiZWFzZS1pbi1vdXQiOmVhKC40MiwwLC41OCwxKSwiZWFzZS1vdXQiOmVhKDAsMCwuNTgsMSl9LHM5PS9cKCguKj8pXCkvO2Z1bmN0aW9uIHAzKHQpe2lmKFFpKHQpKXJldHVybiB0O2lmKGgzKHQpKXJldHVybiBlYSguLi50KTtpZihkM1t0XSlyZXR1cm4gZDNbdF07aWYodC5zdGFydHNXaXRoKCJzdGVwcyIpKXtjb25zdCBlPXM5LmV4ZWModCk7aWYoZSl7Y29uc3Qgcj1lWzFdLnNwbGl0KCIsIik7cmV0dXJuIGk5KHBhcnNlRmxvYXQoclswXSksclsxXS50cmltKCkpfX1yZXR1cm4gdml9Y2xhc3MgZzN7Y29uc3RydWN0b3IoZSxyPVswLDFdLHtlYXNpbmc6bixkdXJhdGlvbjppPWhuLmR1cmF0aW9uLGRlbGF5Om89aG4uZGVsYXksZW5kRGVsYXk6Yz1obi5lbmREZWxheSxyZXBlYXQ6bD1obi5yZXBlYXQsb2Zmc2V0OmgsZGlyZWN0aW9uOmQ9Im5vcm1hbCJ9PXt9KXtpZih0aGlzLnN0YXJ0VGltZT1udWxsLHRoaXMucmF0ZT0xLHRoaXMudD0wLHRoaXMuY2FuY2VsVGltZXN0YW1wPW51bGwsdGhpcy5lYXNpbmc9dmksdGhpcy5kdXJhdGlvbj0wLHRoaXMudG90YWxEdXJhdGlvbj0wLHRoaXMucmVwZWF0PTAsdGhpcy5wbGF5U3RhdGU9ImlkbGUiLHRoaXMuZmluaXNoZWQ9bmV3IFByb21pc2UoKEUsXyk9Pnt0aGlzLnJlc29sdmU9RSx0aGlzLnJlamVjdD1ffSksbj1ufHxobi5lYXNpbmcsa2gobikpe2NvbnN0IEU9bi5jcmVhdGVBbmltYXRpb24ocik7bj1FLmVhc2luZyxyPUUua2V5ZnJhbWVzfHxyLGk9RS5kdXJhdGlvbnx8aX10aGlzLnJlcGVhdD1sLHRoaXMuZWFzaW5nPVVzKG4pP3ZpOnAzKG4pLHRoaXMudXBkYXRlRHVyYXRpb24oaSk7Y29uc3Qgdj1ReChyLGgsVXMobik/bi5tYXAocDMpOnZpKTt0aGlzLnRpY2s9RT0+e3ZhciBfO289bztsZXQgQT0wO3RoaXMucGF1c2VUaW1lIT09dm9pZCAwP0E9dGhpcy5wYXVzZVRpbWU6QT0oRS10aGlzLnN0YXJ0VGltZSkqdGhpcy5yYXRlLHRoaXMudD1BLEEvPTFlMyxBPU1hdGgubWF4KEEtbywwKSx0aGlzLnBsYXlTdGF0ZT09PSJmaW5pc2hlZCImJnRoaXMucGF1c2VUaW1lPT09dm9pZCAwJiYoQT10aGlzLnRvdGFsRHVyYXRpb24pO2NvbnN0IFA9QS90aGlzLmR1cmF0aW9uO2xldCBVPU1hdGguZmxvb3IoUCksSD1QJTE7IUgmJlA+PTEmJihIPTEpLEg9PT0xJiZVLS07Y29uc3QgRz1VJTI7KGQ9PT0icmV2ZXJzZSJ8fGQ9PT0iYWx0ZXJuYXRlIiYmR3x8ZD09PSJhbHRlcm5hdGUtcmV2ZXJzZSImJiFHKSYmKEg9MS1IKTtjb25zdCBOPUE+PXRoaXMudG90YWxEdXJhdGlvbj8xOk1hdGgubWluKEgsMSksTD12KHRoaXMuZWFzaW5nKE4pKTtlKEwpLHRoaXMucGF1c2VUaW1lPT09dm9pZCAwJiYodGhpcy5wbGF5U3RhdGU9PT0iZmluaXNoZWQifHxBPj10aGlzLnRvdGFsRHVyYXRpb24rYyk/KHRoaXMucGxheVN0YXRlPSJmaW5pc2hlZCIsKF89dGhpcy5yZXNvbHZlKT09PW51bGx8fF89PT12b2lkIDB8fF8uY2FsbCh0aGlzLEwpKTp0aGlzLnBsYXlTdGF0ZSE9PSJpZGxlIiYmKHRoaXMuZnJhbWVSZXF1ZXN0SWQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMudGljaykpfSx0aGlzLnBsYXkoKX1wbGF5KCl7Y29uc3QgZT1wZXJmb3JtYW5jZS5ub3coKTt0aGlzLnBsYXlTdGF0ZT0icnVubmluZyIsdGhpcy5wYXVzZVRpbWUhPT12b2lkIDA/dGhpcy5zdGFydFRpbWU9ZS10aGlzLnBhdXNlVGltZTp0aGlzLnN0YXJ0VGltZXx8KHRoaXMuc3RhcnRUaW1lPWUpLHRoaXMuY2FuY2VsVGltZXN0YW1wPXRoaXMuc3RhcnRUaW1lLHRoaXMucGF1c2VUaW1lPXZvaWQgMCx0aGlzLmZyYW1lUmVxdWVzdElkPXJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnRpY2spfXBhdXNlKCl7dGhpcy5wbGF5U3RhdGU9InBhdXNlZCIsdGhpcy5wYXVzZVRpbWU9dGhpcy50fWZpbmlzaCgpe3RoaXMucGxheVN0YXRlPSJmaW5pc2hlZCIsdGhpcy50aWNrKDApfXN0b3AoKXt2YXIgZTt0aGlzLnBsYXlTdGF0ZT0iaWRsZSIsdGhpcy5mcmFtZVJlcXVlc3RJZCE9PXZvaWQgMCYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5mcmFtZVJlcXVlc3RJZCksKGU9dGhpcy5yZWplY3QpPT09bnVsbHx8ZT09PXZvaWQgMHx8ZS5jYWxsKHRoaXMsITEpfWNhbmNlbCgpe3RoaXMuc3RvcCgpLHRoaXMudGljayh0aGlzLmNhbmNlbFRpbWVzdGFtcCl9cmV2ZXJzZSgpe3RoaXMucmF0ZSo9LTF9Y29tbWl0U3R5bGVzKCl7fXVwZGF0ZUR1cmF0aW9uKGUpe3RoaXMuZHVyYXRpb249ZSx0aGlzLnRvdGFsRHVyYXRpb249ZSoodGhpcy5yZXBlYXQrMSl9Z2V0IGN1cnJlbnRUaW1lKCl7cmV0dXJuIHRoaXMudH1zZXQgY3VycmVudFRpbWUoZSl7dGhpcy5wYXVzZVRpbWUhPT12b2lkIDB8fHRoaXMucmF0ZT09PTA/dGhpcy5wYXVzZVRpbWU9ZTp0aGlzLnN0YXJ0VGltZT1wZXJmb3JtYW5jZS5ub3coKS1lL3RoaXMucmF0ZX1nZXQgcGxheWJhY2tSYXRlKCl7cmV0dXJuIHRoaXMucmF0ZX1zZXQgcGxheWJhY2tSYXRlKGUpe3RoaXMucmF0ZT1lfX12YXIgSGg9ZnVuY3Rpb24oKXt9O3Byb2Nlc3MuZW52Lk5PREVfRU5WIT09InByb2R1Y3Rpb24iJiYoSGg9ZnVuY3Rpb24odCxlKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoZSl9KTtjbGFzcyBvOXtzZXRBbmltYXRpb24oZSl7dGhpcy5hbmltYXRpb249ZSxlPy5maW5pc2hlZC50aGVuKCgpPT50aGlzLmNsZWFyQW5pbWF0aW9uKCkpLmNhdGNoKCgpPT57fSl9Y2xlYXJBbmltYXRpb24oKXt0aGlzLmFuaW1hdGlvbj10aGlzLmdlbmVyYXRvcj12b2lkIDB9fWNvbnN0IHpoPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIG0zKHQpe3JldHVybiB6aC5oYXModCl8fHpoLnNldCh0LHt0cmFuc2Zvcm1zOltdLHZhbHVlczpuZXcgTWFwfSksemguZ2V0KHQpfWZ1bmN0aW9uIGE5KHQsZSl7cmV0dXJuIHQuaGFzKGUpfHx0LnNldChlLG5ldyBvOSksdC5nZXQoZSl9Y29uc3QgYzk9WyIiLCJYIiwiWSIsIloiXSxsOT1bInRyYW5zbGF0ZSIsInNjYWxlIiwicm90YXRlIiwic2tldyJdLF9jPXt4OiJ0cmFuc2xhdGVYIix5OiJ0cmFuc2xhdGVZIix6OiJ0cmFuc2xhdGVaIn0sdzM9e3N5bnRheDoiPGFuZ2xlPiIsaW5pdGlhbFZhbHVlOiIwZGVnIix0b0RlZmF1bHRVbml0OnQ9PnQrImRlZyJ9LHU5PXt0cmFuc2xhdGU6e3N5bnRheDoiPGxlbmd0aC1wZXJjZW50YWdlPiIsaW5pdGlhbFZhbHVlOiIwcHgiLHRvRGVmYXVsdFVuaXQ6dD0+dCsicHgifSxyb3RhdGU6dzMsc2NhbGU6e3N5bnRheDoiPG51bWJlcj4iLGluaXRpYWxWYWx1ZToxLHRvRGVmYXVsdFVuaXQ6dml9LHNrZXc6dzN9LHRhPW5ldyBNYXAsV2g9dD0+YC0tbW90aW9uLSR7dH1gLEVjPVsieCIsInkiLCJ6Il07bDkuZm9yRWFjaCh0PT57YzkuZm9yRWFjaChlPT57RWMucHVzaCh0K2UpLHRhLnNldChXaCh0K2UpLHU5W3RdKX0pfSk7Y29uc3QgaDk9KHQsZSk9PkVjLmluZGV4T2YodCktRWMuaW5kZXhPZihlKSxmOT1uZXcgU2V0KEVjKSx2Mz10PT5mOS5oYXModCksZDk9KHQsZSk9PntfY1tlXSYmKGU9X2NbZV0pO2NvbnN0e3RyYW5zZm9ybXM6cn09bTModCk7WngocixlKSx0LnN0eWxlLnRyYW5zZm9ybT1wOShyKX0scDk9dD0+dC5zb3J0KGg5KS5yZWR1Y2UoZzksIiIpLnRyaW0oKSxnOT0odCxlKT0+YCR7dH0gJHtlfSh2YXIoJHtXaChlKX0pKWAscWg9dD0+dC5zdGFydHNXaXRoKCItLSIpLHkzPW5ldyBTZXQ7ZnVuY3Rpb24gbTkodCl7aWYoIXkzLmhhcyh0KSl7eTMuYWRkKHQpO3RyeXtjb25zdHtzeW50YXg6ZSxpbml0aWFsVmFsdWU6cn09dGEuaGFzKHQpP3RhLmdldCh0KTp7fTtDU1MucmVnaXN0ZXJQcm9wZXJ0eSh7bmFtZTp0LGluaGVyaXRzOiExLHN5bnRheDplLGluaXRpYWxWYWx1ZTpyfSl9Y2F0Y2h7fX19Y29uc3QgVmg9KHQsZSk9PmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLmFuaW1hdGUodCxlKSxiMz17Y3NzUmVnaXN0ZXJQcm9wZXJ0eTooKT0+dHlwZW9mIENTUzwidSImJk9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKENTUywicmVnaXN0ZXJQcm9wZXJ0eSIpLHdhYXBpOigpPT5PYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChFbGVtZW50LnByb3RvdHlwZSwiYW5pbWF0ZSIpLHBhcnRpYWxLZXlmcmFtZXM6KCk9Pnt0cnl7Vmgoe29wYWNpdHk6WzFdfSl9Y2F0Y2h7cmV0dXJuITF9cmV0dXJuITB9LGZpbmlzaGVkOigpPT5Cb29sZWFuKFZoKHtvcGFjaXR5OlswLDFdfSx7ZHVyYXRpb246LjAwMX0pLmZpbmlzaGVkKSxsaW5lYXJFYXNpbmc6KCk9Pnt0cnl7Vmgoe29wYWNpdHk6MH0se2Vhc2luZzoibGluZWFyKDAsIDEpIn0pfWNhdGNoe3JldHVybiExfXJldHVybiEwfX0sS2g9e30sanM9e307Zm9yKGNvbnN0IHQgaW4gYjMpanNbdF09KCk9PihLaFt0XT09PXZvaWQgMCYmKEtoW3RdPWIzW3RdKCkpLEtoW3RdKTtjb25zdCB3OT0uMDE1LHY5PSh0LGUpPT57bGV0IHI9IiI7Y29uc3Qgbj1NYXRoLnJvdW5kKGUvdzkpO2ZvcihsZXQgaT0wO2k8bjtpKyspcis9dChCaCgwLG4tMSxpKSkrIiwgIjtyZXR1cm4gci5zdWJzdHJpbmcoMCxyLmxlbmd0aC0yKX0sXzM9KHQsZSk9PlFpKHQpP2pzLmxpbmVhckVhc2luZygpP2BsaW5lYXIoJHt2OSh0LGUpfSlgOmhuLmVhc2luZzpoMyh0KT95OSh0KTp0LHk5PShbdCxlLHIsbl0pPT5gY3ViaWMtYmV6aWVyKCR7dH0sICR7ZX0sICR7cn0sICR7bn0pYDtmdW5jdGlvbiBiOSh0LGUpe2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cisrKXRbcl09PT1udWxsJiYodFtyXT1yP3Rbci0xXTplKCkpO3JldHVybiB0fWNvbnN0IF85PXQ9PkFycmF5LmlzQXJyYXkodCk/dDpbdF07ZnVuY3Rpb24gR2godCl7cmV0dXJuIF9jW3RdJiYodD1fY1t0XSksdjModCk/V2godCk6dH1jb25zdCB4Yz17Z2V0Oih0LGUpPT57ZT1HaChlKTtsZXQgcj1xaChlKT90LnN0eWxlLmdldFByb3BlcnR5VmFsdWUoZSk6Z2V0Q29tcHV0ZWRTdHlsZSh0KVtlXTtpZighciYmciE9PTApe2NvbnN0IG49dGEuZ2V0KGUpO24mJihyPW4uaW5pdGlhbFZhbHVlKX1yZXR1cm4gcn0sc2V0Oih0LGUscik9PntlPUdoKGUpLHFoKGUpP3Quc3R5bGUuc2V0UHJvcGVydHkoZSxyKTp0LnN0eWxlW2VdPXJ9fTtmdW5jdGlvbiBFMyh0LGU9ITApe2lmKCEoIXR8fHQucGxheVN0YXRlPT09ImZpbmlzaGVkIikpdHJ5e3Quc3RvcD90LnN0b3AoKTooZSYmdC5jb21taXRTdHlsZXMoKSx0LmNhbmNlbCgpKX1jYXRjaHt9fWZ1bmN0aW9uIEU5KHQsZSl7dmFyIHI7bGV0IG49ZT8udG9EZWZhdWx0VW5pdHx8dmk7Y29uc3QgaT10W3QubGVuZ3RoLTFdO2lmKGU5KGkpKXtjb25zdCBvPSgocj1pLm1hdGNoKC8oLT9bXGQuXSspKFthLXolXSopLykpPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6clsyXSl8fCIiO28mJihuPWM9PmMrbyl9cmV0dXJuIG59ZnVuY3Rpb24geDkoKXtyZXR1cm4gd2luZG93Ll9fTU9USU9OX0RFVl9UT09MU19SRUNPUkR9ZnVuY3Rpb24gQzkodCxlLHIsbj17fSxpKXtjb25zdCBvPXg5KCksYz1uLnJlY29yZCE9PSExJiZvO2xldCBsLHtkdXJhdGlvbjpoPWhuLmR1cmF0aW9uLGRlbGF5OmQ9aG4uZGVsYXksZW5kRGVsYXk6dj1obi5lbmREZWxheSxyZXBlYXQ6RT1obi5yZXBlYXQsZWFzaW5nOl89aG4uZWFzaW5nLHBlcnNpc3Q6QT0hMSxkaXJlY3Rpb246UCxvZmZzZXQ6VSxhbGxvd1dlYmtpdEFjY2VsZXJhdGlvbjpIPSExfT1uO2NvbnN0IEc9bTModCksTj12MyhlKTtsZXQgTD1qcy53YWFwaSgpO04mJmQ5KHQsZSk7Y29uc3QgJD1HaChlKSxUPWE5KEcudmFsdWVzLCQpLEk9dGEuZ2V0KCQpO3JldHVybiBFMyhULmFuaW1hdGlvbiwhKGtoKF8pJiZULmdlbmVyYXRvcikmJm4ucmVjb3JkIT09ITEpLCgpPT57Y29uc3QgZj0oKT0+e3ZhciB6LGVlO3JldHVybihlZT0oej14Yy5nZXQodCwkKSkhPT1udWxsJiZ6IT09dm9pZCAwP3o6ST8uaW5pdGlhbFZhbHVlKSE9PW51bGwmJmVlIT09dm9pZCAwP2VlOjB9O2xldCB4PWI5KF85KHIpLGYpO2NvbnN0IEo9RTkoeCxJKTtpZihraChfKSl7Y29uc3Qgej1fLmNyZWF0ZUFuaW1hdGlvbih4LGUhPT0ib3BhY2l0eSIsZiwkLFQpO189ei5lYXNpbmcseD16LmtleWZyYW1lc3x8eCxoPXouZHVyYXRpb258fGh9aWYocWgoJCkmJihqcy5jc3NSZWdpc3RlclByb3BlcnR5KCk/bTkoJCk6TD0hMSksTiYmIWpzLmxpbmVhckVhc2luZygpJiYoUWkoXyl8fFVzKF8pJiZfLnNvbWUoUWkpKSYmKEw9ITEpLEwpe0kmJih4PXgubWFwKGRlPT5iYyhkZSk/SS50b0RlZmF1bHRVbml0KGRlKTpkZSkpLHgubGVuZ3RoPT09MSYmKCFqcy5wYXJ0aWFsS2V5ZnJhbWVzKCl8fGMpJiZ4LnVuc2hpZnQoZigpKTtjb25zdCB6PXtkZWxheTpRby5tcyhkKSxkdXJhdGlvbjpRby5tcyhoKSxlbmREZWxheTpRby5tcyh2KSxlYXNpbmc6VXMoXyk/dm9pZCAwOl8zKF8saCksZGlyZWN0aW9uOlAsaXRlcmF0aW9uczpFKzEsZmlsbDoiYm90aCJ9O2w9dC5hbmltYXRlKHtbJF06eCxvZmZzZXQ6VSxlYXNpbmc6VXMoXyk/Xy5tYXAoZGU9Pl8zKGRlLGgpKTp2b2lkIDB9LHopLGwuZmluaXNoZWR8fChsLmZpbmlzaGVkPW5ldyBQcm9taXNlKChkZSxtZSk9PntsLm9uZmluaXNoPWRlLGwub25jYW5jZWw9bWV9KSk7Y29uc3QgZWU9eFt4Lmxlbmd0aC0xXTtsLmZpbmlzaGVkLnRoZW4oKCk9PntBfHwoeGMuc2V0KHQsJCxlZSksbC5jYW5jZWwoKSl9KS5jYXRjaChsMyksSHx8KGwucGxheWJhY2tSYXRlPTEuMDAwMDAxKX1lbHNlIGlmKGkmJk4peD14Lm1hcCh6PT50eXBlb2Ygej09InN0cmluZyI/cGFyc2VGbG9hdCh6KTp6KSx4Lmxlbmd0aD09PTEmJngudW5zaGlmdChwYXJzZUZsb2F0KGYoKSkpLGw9bmV3IGkoej0+e3hjLnNldCh0LCQsSj9KKHopOnopfSx4LE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxuKSx7ZHVyYXRpb246aCxlYXNpbmc6X30pKTtlbHNle2NvbnN0IHo9eFt4Lmxlbmd0aC0xXTt4Yy5zZXQodCwkLEkmJmJjKHopP0kudG9EZWZhdWx0VW5pdCh6KTp6KX1yZXR1cm4gYyYmbyh0LGUseCx7ZHVyYXRpb246aCxkZWxheTpkLGVhc2luZzpfLHJlcGVhdDpFLG9mZnNldDpVfSwibW90aW9uLW9uZSIpLFQuc2V0QW5pbWF0aW9uKGwpLGx9fWNvbnN0IEk5PSh0LGUpPT50W2VdP09iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx0W2VdKTpPYmplY3QuYXNzaWduKHt9LHQpO2Z1bmN0aW9uIHgzKHQsZSl7dmFyIHI7cmV0dXJuIHR5cGVvZiB0PT0ic3RyaW5nIj9lPygocj1lW3RdKSE9PW51bGwmJnIhPT12b2lkIDB8fChlW3RdPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodCkpLHQ9ZVt0XSk6dD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHQpOnQgaW5zdGFuY2VvZiBFbGVtZW50JiYodD1bdF0pLEFycmF5LmZyb20odHx8W10pfWNvbnN0IE85PXQ9PnQoKSxDMz0odCxlLHI9aG4uZHVyYXRpb24pPT5uZXcgUHJveHkoe2FuaW1hdGlvbnM6dC5tYXAoTzkpLmZpbHRlcihCb29sZWFuKSxkdXJhdGlvbjpyLG9wdGlvbnM6ZX0sUzkpLEE5PXQ9PnQuYW5pbWF0aW9uc1swXSxTOT17Z2V0Oih0LGUpPT57Y29uc3Qgcj1BOSh0KTtzd2l0Y2goZSl7Y2FzZSJkdXJhdGlvbiI6cmV0dXJuIHQuZHVyYXRpb247Y2FzZSJjdXJyZW50VGltZSI6cmV0dXJuIFFvLnMocj8uW2VdfHwwKTtjYXNlInBsYXliYWNrUmF0ZSI6Y2FzZSJwbGF5U3RhdGUiOnJldHVybiByPy5bZV07Y2FzZSJmaW5pc2hlZCI6cmV0dXJuIHQuZmluaXNoZWR8fCh0LmZpbmlzaGVkPVByb21pc2UuYWxsKHQuYW5pbWF0aW9ucy5tYXAoRDkpKS5jYXRjaChsMykpLHQuZmluaXNoZWQ7Y2FzZSJzdG9wIjpyZXR1cm4oKT0+e3QuYW5pbWF0aW9ucy5mb3JFYWNoKG49PkUzKG4pKX07Y2FzZSJmb3JFYWNoTmF0aXZlIjpyZXR1cm4gbj0+e3QuYW5pbWF0aW9ucy5mb3JFYWNoKGk9Pm4oaSx0KSl9O2RlZmF1bHQ6cmV0dXJuIHR5cGVvZiByPy5bZV0+InUiP3ZvaWQgMDooKT0+dC5hbmltYXRpb25zLmZvckVhY2gobj0+bltlXSgpKX19LHNldDoodCxlLHIpPT57c3dpdGNoKGUpe2Nhc2UiY3VycmVudFRpbWUiOnI9UW8ubXMocik7Y2FzZSJjdXJyZW50VGltZSI6Y2FzZSJwbGF5YmFja1JhdGUiOmZvcihsZXQgbj0wO248dC5hbmltYXRpb25zLmxlbmd0aDtuKyspdC5hbmltYXRpb25zW25dW2VdPXI7cmV0dXJuITB9cmV0dXJuITF9fSxEOT10PT50LmZpbmlzaGVkO2Z1bmN0aW9uICQ5KHQsZSxyKXtyZXR1cm4gUWkodCk/dChlLHIpOnR9ZnVuY3Rpb24gUDkodCl7cmV0dXJuIGZ1bmN0aW9uKHIsbixpPXt9KXtyPXgzKHIpO2NvbnN0IG89ci5sZW5ndGg7SGgoQm9vbGVhbihvKSwiTm8gdmFsaWQgZWxlbWVudCBwcm92aWRlZC4iKSxIaChCb29sZWFuKG4pLCJObyBrZXlmcmFtZXMgZGVmaW5lZC4iKTtjb25zdCBjPVtdO2ZvcihsZXQgbD0wO2w8bztsKyspe2NvbnN0IGg9cltsXTtmb3IoY29uc3QgZCBpbiBuKXtjb25zdCB2PUk5KGksZCk7di5kZWxheT0kOSh2LmRlbGF5LGwsbyk7Y29uc3QgRT1DOShoLGQsbltkXSx2LHQpO2MucHVzaChFKX19cmV0dXJuIEMzKGMsaSxpLmR1cmF0aW9uKX19Y29uc3QgVDk9UDkoZzMpO2Z1bmN0aW9uIFI5KHQsZSl7dmFyIHI9e307Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJmUuaW5kZXhPZihuKTwwJiYocltuXT10W25dKTtpZih0IT1udWxsJiZ0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz09ImZ1bmN0aW9uIilmb3IodmFyIGk9MCxuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7aTxuLmxlbmd0aDtpKyspZS5pbmRleE9mKG5baV0pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh0LG5baV0pJiYocltuW2ldXT10W25baV1dKTtyZXR1cm4gcn1jb25zdCBOOT17YW55OjAsYWxsOjF9O2Z1bmN0aW9uIEw5KHQsZSx7cm9vdDpyLG1hcmdpbjpuLGFtb3VudDppPSJhbnkifT17fSl7aWYodHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyPiJ1IilyZXR1cm4oKT0+e307Y29uc3Qgbz14Myh0KSxjPW5ldyBXZWFrTWFwLGw9ZD0+e2QuZm9yRWFjaCh2PT57Y29uc3QgRT1jLmdldCh2LnRhcmdldCk7aWYodi5pc0ludGVyc2VjdGluZyE9PUJvb2xlYW4oRSkpaWYodi5pc0ludGVyc2VjdGluZyl7Y29uc3QgXz1lKHYpO1FpKF8pP2Muc2V0KHYudGFyZ2V0LF8pOmgudW5vYnNlcnZlKHYudGFyZ2V0KX1lbHNlIEUmJihFKHYpLGMuZGVsZXRlKHYudGFyZ2V0KSl9KX0saD1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIobCx7cm9vdDpyLHJvb3RNYXJnaW46bix0aHJlc2hvbGQ6dHlwZW9mIGk9PSJudW1iZXIiP2k6TjlbaV19KTtyZXR1cm4gby5mb3JFYWNoKGQ9Pmgub2JzZXJ2ZShkKSksKCk9PmguZGlzY29ubmVjdCgpfWZ1bmN0aW9uIFpoKHQsZSxyKXt0LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGUse2RldGFpbDp7b3JpZ2luYWxFdmVudDpyfX0pKX1mdW5jdGlvbiBJMyh0LGUscil7dC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChlLHtkZXRhaWw6e29yaWdpbmFsRW50cnk6cn19KSl9Y29uc3QgTTk9e2lzQWN0aXZlOnQ9PkJvb2xlYW4odC5pblZpZXcpLHN1YnNjcmliZToodCx7ZW5hYmxlOmUsZGlzYWJsZTpyfSx7aW5WaWV3T3B0aW9uczpuPXt9fSk9Pntjb25zdHtvbmNlOml9PW4sbz1SOShuLFsib25jZSJdKTtyZXR1cm4gTDkodCxjPT57aWYoZSgpLEkzKHQsInZpZXdlbnRlciIsYyksIWkpcmV0dXJuIGw9PntyKCksSTModCwidmlld2xlYXZlIixsKX19LG8pfX0sTzM9KHQsZSxyKT0+bj0+e24ucG9pbnRlclR5cGUmJm4ucG9pbnRlclR5cGUhPT0ibW91c2UifHwocigpLFpoKHQsZSxuKSl9O1suLi5PYmplY3Qua2V5cyh7aW5WaWV3Ok05LGhvdmVyOntpc0FjdGl2ZTp0PT5Cb29sZWFuKHQuaG92ZXIpLHN1YnNjcmliZToodCx7ZW5hYmxlOmUsZGlzYWJsZTpyfSk9Pntjb25zdCBuPU8zKHQsImhvdmVyc3RhcnQiLGUpLGk9TzModCwiaG92ZXJlbmQiLHIpO3JldHVybiB0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJlbnRlciIsbiksdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybGVhdmUiLGkpLCgpPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVyZW50ZXIiLG4pLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmxlYXZlIixpKX19fSxwcmVzczp7aXNBY3RpdmU6dD0+Qm9vbGVhbih0LnByZXNzKSxzdWJzY3JpYmU6KHQse2VuYWJsZTplLGRpc2FibGU6cn0pPT57Y29uc3Qgbj1vPT57cigpLFpoKHQsInByZXNzZW5kIixvKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixuKX0saT1vPT57ZSgpLFpoKHQsInByZXNzc3RhcnQiLG8pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLG4pfTtyZXR1cm4gdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsaSksKCk9Pnt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixpKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixuKX19fX0pXTtmdW5jdGlvbiBVOSh0LGU9e30pe3JldHVybiBDMyhbKCk9Pntjb25zdCByPW5ldyBnMyh0LFswLDFdLGUpO3JldHVybiByLmZpbmlzaGVkLmNhdGNoKCgpPT57fSkscn1dLGUsZS5kdXJhdGlvbil9ZnVuY3Rpb24gZXModCxlLHIpe3JldHVybihRaSh0KT9VOTpUOSkodCxlLHIpfXZhciByYT17fSxqOT1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgUHJvbWlzZT09ImZ1bmN0aW9uIiYmUHJvbWlzZS5wcm90b3R5cGUmJlByb21pc2UucHJvdG90eXBlLnRoZW59LEEzPXt9LEpyPXt9O2xldCBZaDtjb25zdCBGOT1bMCwyNiw0NCw3MCwxMDAsMTM0LDE3MiwxOTYsMjQyLDI5MiwzNDYsNDA0LDQ2Niw1MzIsNTgxLDY1NSw3MzMsODE1LDkwMSw5OTEsMTA4NSwxMTU2LDEyNTgsMTM2NCwxNDc0LDE1ODgsMTcwNiwxODI4LDE5MjEsMjA1MSwyMTg1LDIzMjMsMjQ2NSwyNjExLDI3NjEsMjg3NiwzMDM0LDMxOTYsMzM2MiwzNTMyLDM3MDZdO0pyLmdldFN5bWJvbFNpemU9ZnVuY3Rpb24oZSl7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCcidmVyc2lvbiIgY2Fubm90IGJlIG51bGwgb3IgdW5kZWZpbmVkJyk7aWYoZTwxfHxlPjQwKXRocm93IG5ldyBFcnJvcignInZlcnNpb24iIHNob3VsZCBiZSBpbiByYW5nZSBmcm9tIDEgdG8gNDAnKTtyZXR1cm4gZSo0KzE3fSxKci5nZXRTeW1ib2xUb3RhbENvZGV3b3Jkcz1mdW5jdGlvbihlKXtyZXR1cm4gRjlbZV19LEpyLmdldEJDSERpZ2l0PWZ1bmN0aW9uKHQpe2xldCBlPTA7Zm9yKDt0IT09MDspZSsrLHQ+Pj49MTtyZXR1cm4gZX0sSnIuc2V0VG9TSklTRnVuY3Rpb249ZnVuY3Rpb24oZSl7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IEVycm9yKCcidG9TSklTRnVuYyIgaXMgbm90IGEgdmFsaWQgZnVuY3Rpb24uJyk7WWg9ZX0sSnIuaXNLYW5qaU1vZGVFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBZaDwidSJ9LEpyLnRvU0pJUz1mdW5jdGlvbihlKXtyZXR1cm4gWWgoZSl9O3ZhciBDYz17fTsoZnVuY3Rpb24odCl7dC5MPXtiaXQ6MX0sdC5NPXtiaXQ6MH0sdC5RPXtiaXQ6M30sdC5IPXtiaXQ6Mn07ZnVuY3Rpb24gZShyKXtpZih0eXBlb2YgciE9InN0cmluZyIpdGhyb3cgbmV3IEVycm9yKCJQYXJhbSBpcyBub3QgYSBzdHJpbmciKTtzd2l0Y2goci50b0xvd2VyQ2FzZSgpKXtjYXNlImwiOmNhc2UibG93IjpyZXR1cm4gdC5MO2Nhc2UibSI6Y2FzZSJtZWRpdW0iOnJldHVybiB0Lk07Y2FzZSJxIjpjYXNlInF1YXJ0aWxlIjpyZXR1cm4gdC5RO2Nhc2UiaCI6Y2FzZSJoaWdoIjpyZXR1cm4gdC5IO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJVbmtub3duIEVDIExldmVsOiAiK3IpfX10LmlzVmFsaWQ9ZnVuY3Rpb24obil7cmV0dXJuIG4mJnR5cGVvZiBuLmJpdDwidSImJm4uYml0Pj0wJiZuLmJpdDw0fSx0LmZyb209ZnVuY3Rpb24obixpKXtpZih0LmlzVmFsaWQobikpcmV0dXJuIG47dHJ5e3JldHVybiBlKG4pfWNhdGNoe3JldHVybiBpfX19KShDYyk7ZnVuY3Rpb24gUzMoKXt0aGlzLmJ1ZmZlcj1bXSx0aGlzLmxlbmd0aD0wfVMzLnByb3RvdHlwZT17Z2V0OmZ1bmN0aW9uKHQpe2NvbnN0IGU9TWF0aC5mbG9vcih0LzgpO3JldHVybih0aGlzLmJ1ZmZlcltlXT4+PjctdCU4JjEpPT09MX0scHV0OmZ1bmN0aW9uKHQsZSl7Zm9yKGxldCByPTA7cjxlO3IrKyl0aGlzLnB1dEJpdCgodD4+PmUtci0xJjEpPT09MSl9LGdldExlbmd0aEluQml0czpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0scHV0Qml0OmZ1bmN0aW9uKHQpe2NvbnN0IGU9TWF0aC5mbG9vcih0aGlzLmxlbmd0aC84KTt0aGlzLmJ1ZmZlci5sZW5ndGg8PWUmJnRoaXMuYnVmZmVyLnB1c2goMCksdCYmKHRoaXMuYnVmZmVyW2VdfD0xMjg+Pj50aGlzLmxlbmd0aCU4KSx0aGlzLmxlbmd0aCsrfX07dmFyIEI5PVMzO2Z1bmN0aW9uIG5hKHQpe2lmKCF0fHx0PDEpdGhyb3cgbmV3IEVycm9yKCJCaXRNYXRyaXggc2l6ZSBtdXN0IGJlIGRlZmluZWQgYW5kIGdyZWF0ZXIgdGhhbiAwIik7dGhpcy5zaXplPXQsdGhpcy5kYXRhPW5ldyBVaW50OEFycmF5KHQqdCksdGhpcy5yZXNlcnZlZEJpdD1uZXcgVWludDhBcnJheSh0KnQpfW5hLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxlLHIsbil7Y29uc3QgaT10KnRoaXMuc2l6ZStlO3RoaXMuZGF0YVtpXT1yLG4mJih0aGlzLnJlc2VydmVkQml0W2ldPSEwKX0sbmEucHJvdG90eXBlLmdldD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmRhdGFbdCp0aGlzLnNpemUrZV19LG5hLnByb3RvdHlwZS54b3I9ZnVuY3Rpb24odCxlLHIpe3RoaXMuZGF0YVt0KnRoaXMuc2l6ZStlXV49cn0sbmEucHJvdG90eXBlLmlzUmVzZXJ2ZWQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5yZXNlcnZlZEJpdFt0KnRoaXMuc2l6ZStlXX07dmFyIGs5PW5hLEQzPXt9OyhmdW5jdGlvbih0KXtjb25zdCBlPUpyLmdldFN5bWJvbFNpemU7dC5nZXRSb3dDb2xDb29yZHM9ZnVuY3Rpb24obil7aWYobj09PTEpcmV0dXJuW107Y29uc3QgaT1NYXRoLmZsb29yKG4vNykrMixvPWUobiksYz1vPT09MTQ1PzI2Ok1hdGguY2VpbCgoby0xMykvKDIqaS0yKSkqMixsPVtvLTddO2ZvcihsZXQgaD0xO2g8aS0xO2grKylsW2hdPWxbaC0xXS1jO3JldHVybiBsLnB1c2goNiksbC5yZXZlcnNlKCl9LHQuZ2V0UG9zaXRpb25zPWZ1bmN0aW9uKG4pe2NvbnN0IGk9W10sbz10LmdldFJvd0NvbENvb3JkcyhuKSxjPW8ubGVuZ3RoO2ZvcihsZXQgbD0wO2w8YztsKyspZm9yKGxldCBoPTA7aDxjO2grKylsPT09MCYmaD09PTB8fGw9PT0wJiZoPT09Yy0xfHxsPT09Yy0xJiZoPT09MHx8aS5wdXNoKFtvW2xdLG9baF1dKTtyZXR1cm4gaX19KShEMyk7dmFyICQzPXt9O2NvbnN0IEg5PUpyLmdldFN5bWJvbFNpemUsUDM9NzskMy5nZXRQb3NpdGlvbnM9ZnVuY3Rpb24oZSl7Y29uc3Qgcj1IOShlKTtyZXR1cm5bWzAsMF0sW3ItUDMsMF0sWzAsci1QM11dfTt2YXIgVDM9e307KGZ1bmN0aW9uKHQpe3QuUGF0dGVybnM9e1BBVFRFUk4wMDA6MCxQQVRURVJOMDAxOjEsUEFUVEVSTjAxMDoyLFBBVFRFUk4wMTE6MyxQQVRURVJOMTAwOjQsUEFUVEVSTjEwMTo1LFBBVFRFUk4xMTA6NixQQVRURVJOMTExOjd9O2NvbnN0IGU9e04xOjMsTjI6MyxOMzo0MCxONDoxMH07dC5pc1ZhbGlkPWZ1bmN0aW9uKGkpe3JldHVybiBpIT1udWxsJiZpIT09IiImJiFpc05hTihpKSYmaT49MCYmaTw9N30sdC5mcm9tPWZ1bmN0aW9uKGkpe3JldHVybiB0LmlzVmFsaWQoaSk/cGFyc2VJbnQoaSwxMCk6dm9pZCAwfSx0LmdldFBlbmFsdHlOMT1mdW5jdGlvbihpKXtjb25zdCBvPWkuc2l6ZTtsZXQgYz0wLGw9MCxoPTAsZD1udWxsLHY9bnVsbDtmb3IobGV0IEU9MDtFPG87RSsrKXtsPWg9MCxkPXY9bnVsbDtmb3IobGV0IF89MDtfPG87XysrKXtsZXQgQT1pLmdldChFLF8pO0E9PT1kP2wrKzoobD49NSYmKGMrPWUuTjErKGwtNSkpLGQ9QSxsPTEpLEE9aS5nZXQoXyxFKSxBPT09dj9oKys6KGg+PTUmJihjKz1lLk4xKyhoLTUpKSx2PUEsaD0xKX1sPj01JiYoYys9ZS5OMSsobC01KSksaD49NSYmKGMrPWUuTjErKGgtNSkpfXJldHVybiBjfSx0LmdldFBlbmFsdHlOMj1mdW5jdGlvbihpKXtjb25zdCBvPWkuc2l6ZTtsZXQgYz0wO2ZvcihsZXQgbD0wO2w8by0xO2wrKylmb3IobGV0IGg9MDtoPG8tMTtoKyspe2NvbnN0IGQ9aS5nZXQobCxoKStpLmdldChsLGgrMSkraS5nZXQobCsxLGgpK2kuZ2V0KGwrMSxoKzEpOyhkPT09NHx8ZD09PTApJiZjKyt9cmV0dXJuIGMqZS5OMn0sdC5nZXRQZW5hbHR5TjM9ZnVuY3Rpb24oaSl7Y29uc3Qgbz1pLnNpemU7bGV0IGM9MCxsPTAsaD0wO2ZvcihsZXQgZD0wO2Q8bztkKyspe2w9aD0wO2ZvcihsZXQgdj0wO3Y8bzt2KyspbD1sPDwxJjIwNDd8aS5nZXQoZCx2KSx2Pj0xMCYmKGw9PT0xNDg4fHxsPT09OTMpJiZjKyssaD1oPDwxJjIwNDd8aS5nZXQodixkKSx2Pj0xMCYmKGg9PT0xNDg4fHxoPT09OTMpJiZjKyt9cmV0dXJuIGMqZS5OM30sdC5nZXRQZW5hbHR5TjQ9ZnVuY3Rpb24oaSl7bGV0IG89MDtjb25zdCBjPWkuZGF0YS5sZW5ndGg7Zm9yKGxldCBoPTA7aDxjO2grKylvKz1pLmRhdGFbaF07cmV0dXJuIE1hdGguYWJzKE1hdGguY2VpbChvKjEwMC9jLzUpLTEwKSplLk40fTtmdW5jdGlvbiByKG4saSxvKXtzd2l0Y2gobil7Y2FzZSB0LlBhdHRlcm5zLlBBVFRFUk4wMDA6cmV0dXJuKGkrbyklMj09PTA7Y2FzZSB0LlBhdHRlcm5zLlBBVFRFUk4wMDE6cmV0dXJuIGklMj09PTA7Y2FzZSB0LlBhdHRlcm5zLlBBVFRFUk4wMTA6cmV0dXJuIG8lMz09PTA7Y2FzZSB0LlBhdHRlcm5zLlBBVFRFUk4wMTE6cmV0dXJuKGkrbyklMz09PTA7Y2FzZSB0LlBhdHRlcm5zLlBBVFRFUk4xMDA6cmV0dXJuKE1hdGguZmxvb3IoaS8yKStNYXRoLmZsb29yKG8vMykpJTI9PT0wO2Nhc2UgdC5QYXR0ZXJucy5QQVRURVJOMTAxOnJldHVybiBpKm8lMitpKm8lMz09PTA7Y2FzZSB0LlBhdHRlcm5zLlBBVFRFUk4xMTA6cmV0dXJuKGkqbyUyK2kqbyUzKSUyPT09MDtjYXNlIHQuUGF0dGVybnMuUEFUVEVSTjExMTpyZXR1cm4oaSpvJTMrKGkrbyklMiklMj09PTA7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImJhZCBtYXNrUGF0dGVybjoiK24pfX10LmFwcGx5TWFzaz1mdW5jdGlvbihpLG8pe2NvbnN0IGM9by5zaXplO2ZvcihsZXQgbD0wO2w8YztsKyspZm9yKGxldCBoPTA7aDxjO2grKylvLmlzUmVzZXJ2ZWQoaCxsKXx8by54b3IoaCxsLHIoaSxoLGwpKX0sdC5nZXRCZXN0TWFzaz1mdW5jdGlvbihpLG8pe2NvbnN0IGM9T2JqZWN0LmtleXModC5QYXR0ZXJucykubGVuZ3RoO2xldCBsPTAsaD0xLzA7Zm9yKGxldCBkPTA7ZDxjO2QrKyl7byhkKSx0LmFwcGx5TWFzayhkLGkpO2NvbnN0IHY9dC5nZXRQZW5hbHR5TjEoaSkrdC5nZXRQZW5hbHR5TjIoaSkrdC5nZXRQZW5hbHR5TjMoaSkrdC5nZXRQZW5hbHR5TjQoaSk7dC5hcHBseU1hc2soZCxpKSx2PGgmJihoPXYsbD1kKX1yZXR1cm4gbH19KShUMyk7dmFyIEljPXt9O2NvbnN0IHlpPUNjLE9jPVsxLDEsMSwxLDEsMSwxLDEsMSwxLDIsMiwxLDIsMiw0LDEsMiw0LDQsMiw0LDQsNCwyLDQsNiw1LDIsNCw2LDYsMiw1LDgsOCw0LDUsOCw4LDQsNSw4LDExLDQsOCwxMCwxMSw0LDksMTIsMTYsNCw5LDE2LDE2LDYsMTAsMTIsMTgsNiwxMCwxNywxNiw2LDExLDE2LDE5LDYsMTMsMTgsMjEsNywxNCwyMSwyNSw4LDE2LDIwLDI1LDgsMTcsMjMsMjUsOSwxNywyMywzNCw5LDE4LDI1LDMwLDEwLDIwLDI3LDMyLDEyLDIxLDI5LDM1LDEyLDIzLDM0LDM3LDEyLDI1LDM0LDQwLDEzLDI2LDM1LDQyLDE0LDI4LDM4LDQ1LDE1LDI5LDQwLDQ4LDE2LDMxLDQzLDUxLDE3LDMzLDQ1LDU0LDE4LDM1LDQ4LDU3LDE5LDM3LDUxLDYwLDE5LDM4LDUzLDYzLDIwLDQwLDU2LDY2LDIxLDQzLDU5LDcwLDIyLDQ1LDYyLDc0LDI0LDQ3LDY1LDc3LDI1LDQ5LDY4LDgxXSxBYz1bNywxMCwxMywxNywxMCwxNiwyMiwyOCwxNSwyNiwzNiw0NCwyMCwzNiw1Miw2NCwyNiw0OCw3Miw4OCwzNiw2NCw5NiwxMTIsNDAsNzIsMTA4LDEzMCw0OCw4OCwxMzIsMTU2LDYwLDExMCwxNjAsMTkyLDcyLDEzMCwxOTIsMjI0LDgwLDE1MCwyMjQsMjY0LDk2LDE3NiwyNjAsMzA4LDEwNCwxOTgsMjg4LDM1MiwxMjAsMjE2LDMyMCwzODQsMTMyLDI0MCwzNjAsNDMyLDE0NCwyODAsNDA4LDQ4MCwxNjgsMzA4LDQ0OCw1MzIsMTgwLDMzOCw1MDQsNTg4LDE5NiwzNjQsNTQ2LDY1MCwyMjQsNDE2LDYwMCw3MDAsMjI0LDQ0Miw2NDQsNzUwLDI1Miw0NzYsNjkwLDgxNiwyNzAsNTA0LDc1MCw5MDAsMzAwLDU2MCw4MTAsOTYwLDMxMiw1ODgsODcwLDEwNTAsMzM2LDY0NCw5NTIsMTExMCwzNjAsNzAwLDEwMjAsMTIwMCwzOTAsNzI4LDEwNTAsMTI2MCw0MjAsNzg0LDExNDAsMTM1MCw0NTAsODEyLDEyMDAsMTQ0MCw0ODAsODY4LDEyOTAsMTUzMCw1MTAsOTI0LDEzNTAsMTYyMCw1NDAsOTgwLDE0NDAsMTcxMCw1NzAsMTAzNiwxNTMwLDE4MDAsNTcwLDEwNjQsMTU5MCwxODkwLDYwMCwxMTIwLDE2ODAsMTk4MCw2MzAsMTIwNCwxNzcwLDIxMDAsNjYwLDEyNjAsMTg2MCwyMjIwLDcyMCwxMzE2LDE5NTAsMjMxMCw3NTAsMTM3MiwyMDQwLDI0MzBdO0ljLmdldEJsb2Nrc0NvdW50PWZ1bmN0aW9uKGUscil7c3dpdGNoKHIpe2Nhc2UgeWkuTDpyZXR1cm4gT2NbKGUtMSkqNCswXTtjYXNlIHlpLk06cmV0dXJuIE9jWyhlLTEpKjQrMV07Y2FzZSB5aS5ROnJldHVybiBPY1soZS0xKSo0KzJdO2Nhc2UgeWkuSDpyZXR1cm4gT2NbKGUtMSkqNCszXTtkZWZhdWx0OnJldHVybn19LEljLmdldFRvdGFsQ29kZXdvcmRzQ291bnQ9ZnVuY3Rpb24oZSxyKXtzd2l0Y2gocil7Y2FzZSB5aS5MOnJldHVybiBBY1soZS0xKSo0KzBdO2Nhc2UgeWkuTTpyZXR1cm4gQWNbKGUtMSkqNCsxXTtjYXNlIHlpLlE6cmV0dXJuIEFjWyhlLTEpKjQrMl07Y2FzZSB5aS5IOnJldHVybiBBY1soZS0xKSo0KzNdO2RlZmF1bHQ6cmV0dXJufX07dmFyIFIzPXt9LFNjPXt9O2NvbnN0IGlhPW5ldyBVaW50OEFycmF5KDUxMiksRGM9bmV3IFVpbnQ4QXJyYXkoMjU2KTsoZnVuY3Rpb24oKXtsZXQgZT0xO2ZvcihsZXQgcj0wO3I8MjU1O3IrKylpYVtyXT1lLERjW2VdPXIsZTw8PTEsZSYyNTYmJihlXj0yODUpO2ZvcihsZXQgcj0yNTU7cjw1MTI7cisrKWlhW3JdPWlhW3ItMjU1XX0pKCksU2MubG9nPWZ1bmN0aW9uKGUpe2lmKGU8MSl0aHJvdyBuZXcgRXJyb3IoImxvZygiK2UrIikiKTtyZXR1cm4gRGNbZV19LFNjLmV4cD1mdW5jdGlvbihlKXtyZXR1cm4gaWFbZV19LFNjLm11bD1mdW5jdGlvbihlLHIpe3JldHVybiBlPT09MHx8cj09PTA/MDppYVtEY1tlXStEY1tyXV19LGZ1bmN0aW9uKHQpe2NvbnN0IGU9U2M7dC5tdWw9ZnVuY3Rpb24obixpKXtjb25zdCBvPW5ldyBVaW50OEFycmF5KG4ubGVuZ3RoK2kubGVuZ3RoLTEpO2ZvcihsZXQgYz0wO2M8bi5sZW5ndGg7YysrKWZvcihsZXQgbD0wO2w8aS5sZW5ndGg7bCsrKW9bYytsXV49ZS5tdWwobltjXSxpW2xdKTtyZXR1cm4gb30sdC5tb2Q9ZnVuY3Rpb24obixpKXtsZXQgbz1uZXcgVWludDhBcnJheShuKTtmb3IoO28ubGVuZ3RoLWkubGVuZ3RoPj0wOyl7Y29uc3QgYz1vWzBdO2ZvcihsZXQgaD0wO2g8aS5sZW5ndGg7aCsrKW9baF1ePWUubXVsKGlbaF0sYyk7bGV0IGw9MDtmb3IoO2w8by5sZW5ndGgmJm9bbF09PT0wOylsKys7bz1vLnNsaWNlKGwpfXJldHVybiBvfSx0LmdlbmVyYXRlRUNQb2x5bm9taWFsPWZ1bmN0aW9uKG4pe2xldCBpPW5ldyBVaW50OEFycmF5KFsxXSk7Zm9yKGxldCBvPTA7bzxuO28rKylpPXQubXVsKGksbmV3IFVpbnQ4QXJyYXkoWzEsZS5leHAobyldKSk7cmV0dXJuIGl9fShSMyk7Y29uc3QgTjM9UjM7ZnVuY3Rpb24gSmgodCl7dGhpcy5nZW5Qb2x5PXZvaWQgMCx0aGlzLmRlZ3JlZT10LHRoaXMuZGVncmVlJiZ0aGlzLmluaXRpYWxpemUodGhpcy5kZWdyZWUpfUpoLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKGUpe3RoaXMuZGVncmVlPWUsdGhpcy5nZW5Qb2x5PU4zLmdlbmVyYXRlRUNQb2x5bm9taWFsKHRoaXMuZGVncmVlKX0sSmgucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbihlKXtpZighdGhpcy5nZW5Qb2x5KXRocm93IG5ldyBFcnJvcigiRW5jb2RlciBub3QgaW5pdGlhbGl6ZWQiKTtjb25zdCByPW5ldyBVaW50OEFycmF5KGUubGVuZ3RoK3RoaXMuZGVncmVlKTtyLnNldChlKTtjb25zdCBuPU4zLm1vZChyLHRoaXMuZ2VuUG9seSksaT10aGlzLmRlZ3JlZS1uLmxlbmd0aDtpZihpPjApe2NvbnN0IG89bmV3IFVpbnQ4QXJyYXkodGhpcy5kZWdyZWUpO3JldHVybiBvLnNldChuLGkpLG99cmV0dXJuIG59O3ZhciB6OT1KaCxMMz17fSxiaT17fSxYaD17fTtYaC5pc1ZhbGlkPWZ1bmN0aW9uKGUpe3JldHVybiFpc05hTihlKSYmZT49MSYmZTw9NDB9O3ZhciBNbj17fTtjb25zdCBNMz0iWzAtOV0rIixXOT0iW0EtWiAkJSorXFwtLi86XSsiO2xldCBzYT0iKD86W3UzMDAwLXUzMDNGXXxbdTMwNDAtdTMwOUZdfFt1MzBBMC11MzBGRl18W3VGRjAwLXVGRkVGXXxbdTRFMDAtdTlGQUZdfFt1MjYwNS11MjYwNl18W3UyMTkwLXUyMTk1XXx1MjAzQnxbdTIwMTB1MjAxNXUyMDE4dTIwMTl1MjAyNXUyMDI2dTIwMUN1MjAxRHUyMjI1dTIyNjBdfFt1MDM5MS11MDQ1MV18W3UwMEE3dTAwQTh1MDBCMXUwMEI0dTAwRDd1MDBGN10pKyI7c2E9c2EucmVwbGFjZSgvdS9nLCJcXHUiKTtjb25zdCBxOT0iKD86KD8hW0EtWjAtOSAkJSorXFwtLi86XXwiK3NhK2ApKD86LnxbXHINCl0pKStgO01uLktBTkpJPW5ldyBSZWdFeHAoc2EsImciKSxNbi5CWVRFX0tBTkpJPW5ldyBSZWdFeHAoIlteQS1aMC05ICQlKitcXC0uLzpdKyIsImciKSxNbi5CWVRFPW5ldyBSZWdFeHAocTksImciKSxNbi5OVU1FUklDPW5ldyBSZWdFeHAoTTMsImciKSxNbi5BTFBIQU5VTUVSSUM9bmV3IFJlZ0V4cChXOSwiZyIpO2NvbnN0IFY5PW5ldyBSZWdFeHAoIl4iK3NhKyIkIiksSzk9bmV3IFJlZ0V4cCgiXiIrTTMrIiQiKSxHOT1uZXcgUmVnRXhwKCJeW0EtWjAtOSAkJSorXFwtLi86XSskIik7TW4udGVzdEthbmppPWZ1bmN0aW9uKGUpe3JldHVybiBWOS50ZXN0KGUpfSxNbi50ZXN0TnVtZXJpYz1mdW5jdGlvbihlKXtyZXR1cm4gSzkudGVzdChlKX0sTW4udGVzdEFscGhhbnVtZXJpYz1mdW5jdGlvbihlKXtyZXR1cm4gRzkudGVzdChlKX0sZnVuY3Rpb24odCl7Y29uc3QgZT1YaCxyPU1uO3QuTlVNRVJJQz17aWQ6Ik51bWVyaWMiLGJpdDoxPDwwLGNjQml0czpbMTAsMTIsMTRdfSx0LkFMUEhBTlVNRVJJQz17aWQ6IkFscGhhbnVtZXJpYyIsYml0OjE8PDEsY2NCaXRzOls5LDExLDEzXX0sdC5CWVRFPXtpZDoiQnl0ZSIsYml0OjE8PDIsY2NCaXRzOls4LDE2LDE2XX0sdC5LQU5KST17aWQ6IkthbmppIixiaXQ6MTw8MyxjY0JpdHM6WzgsMTAsMTJdfSx0Lk1JWEVEPXtiaXQ6LTF9LHQuZ2V0Q2hhckNvdW50SW5kaWNhdG9yPWZ1bmN0aW9uKG8sYyl7aWYoIW8uY2NCaXRzKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBtb2RlOiAiK28pO2lmKCFlLmlzVmFsaWQoYykpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHZlcnNpb246ICIrYyk7cmV0dXJuIGM+PTEmJmM8MTA/by5jY0JpdHNbMF06YzwyNz9vLmNjQml0c1sxXTpvLmNjQml0c1syXX0sdC5nZXRCZXN0TW9kZUZvckRhdGE9ZnVuY3Rpb24obyl7cmV0dXJuIHIudGVzdE51bWVyaWMobyk/dC5OVU1FUklDOnIudGVzdEFscGhhbnVtZXJpYyhvKT90LkFMUEhBTlVNRVJJQzpyLnRlc3RLYW5qaShvKT90LktBTkpJOnQuQllURX0sdC50b1N0cmluZz1mdW5jdGlvbihvKXtpZihvJiZvLmlkKXJldHVybiBvLmlkO3Rocm93IG5ldyBFcnJvcigiSW52YWxpZCBtb2RlIil9LHQuaXNWYWxpZD1mdW5jdGlvbihvKXtyZXR1cm4gbyYmby5iaXQmJm8uY2NCaXRzfTtmdW5jdGlvbiBuKGkpe2lmKHR5cGVvZiBpIT0ic3RyaW5nIil0aHJvdyBuZXcgRXJyb3IoIlBhcmFtIGlzIG5vdCBhIHN0cmluZyIpO3N3aXRjaChpLnRvTG93ZXJDYXNlKCkpe2Nhc2UibnVtZXJpYyI6cmV0dXJuIHQuTlVNRVJJQztjYXNlImFscGhhbnVtZXJpYyI6cmV0dXJuIHQuQUxQSEFOVU1FUklDO2Nhc2Uia2FuamkiOnJldHVybiB0LktBTkpJO2Nhc2UiYnl0ZSI6cmV0dXJuIHQuQllURTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBtb2RlOiAiK2kpfX10LmZyb209ZnVuY3Rpb24obyxjKXtpZih0LmlzVmFsaWQobykpcmV0dXJuIG87dHJ5e3JldHVybiBuKG8pfWNhdGNoe3JldHVybiBjfX19KGJpKSxmdW5jdGlvbih0KXtjb25zdCBlPUpyLHI9SWMsbj1DYyxpPWJpLG89WGgsYz0xPDwxMnwxPDwxMXwxPDwxMHwxPDw5fDE8PDh8MTw8NXwxPDwyfDE8PDAsbD1lLmdldEJDSERpZ2l0KGMpO2Z1bmN0aW9uIGgoXyxBLFApe2ZvcihsZXQgVT0xO1U8PTQwO1UrKylpZihBPD10LmdldENhcGFjaXR5KFUsUCxfKSlyZXR1cm4gVX1mdW5jdGlvbiBkKF8sQSl7cmV0dXJuIGkuZ2V0Q2hhckNvdW50SW5kaWNhdG9yKF8sQSkrNH1mdW5jdGlvbiB2KF8sQSl7bGV0IFA9MDtyZXR1cm4gXy5mb3JFYWNoKGZ1bmN0aW9uKFUpe2NvbnN0IEg9ZChVLm1vZGUsQSk7UCs9SCtVLmdldEJpdHNMZW5ndGgoKX0pLFB9ZnVuY3Rpb24gRShfLEEpe2ZvcihsZXQgUD0xO1A8PTQwO1ArKylpZih2KF8sUCk8PXQuZ2V0Q2FwYWNpdHkoUCxBLGkuTUlYRUQpKXJldHVybiBQfXQuZnJvbT1mdW5jdGlvbihBLFApe3JldHVybiBvLmlzVmFsaWQoQSk/cGFyc2VJbnQoQSwxMCk6UH0sdC5nZXRDYXBhY2l0eT1mdW5jdGlvbihBLFAsVSl7aWYoIW8uaXNWYWxpZChBKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgUVIgQ29kZSB2ZXJzaW9uIik7dHlwZW9mIFU+InUiJiYoVT1pLkJZVEUpO2NvbnN0IEg9ZS5nZXRTeW1ib2xUb3RhbENvZGV3b3JkcyhBKSxHPXIuZ2V0VG90YWxDb2Rld29yZHNDb3VudChBLFApLE49KEgtRykqODtpZihVPT09aS5NSVhFRClyZXR1cm4gTjtjb25zdCBMPU4tZChVLEEpO3N3aXRjaChVKXtjYXNlIGkuTlVNRVJJQzpyZXR1cm4gTWF0aC5mbG9vcihMLzEwKjMpO2Nhc2UgaS5BTFBIQU5VTUVSSUM6cmV0dXJuIE1hdGguZmxvb3IoTC8xMSoyKTtjYXNlIGkuS0FOSkk6cmV0dXJuIE1hdGguZmxvb3IoTC8xMyk7Y2FzZSBpLkJZVEU6ZGVmYXVsdDpyZXR1cm4gTWF0aC5mbG9vcihMLzgpfX0sdC5nZXRCZXN0VmVyc2lvbkZvckRhdGE9ZnVuY3Rpb24oQSxQKXtsZXQgVTtjb25zdCBIPW4uZnJvbShQLG4uTSk7aWYoQXJyYXkuaXNBcnJheShBKSl7aWYoQS5sZW5ndGg+MSlyZXR1cm4gRShBLEgpO2lmKEEubGVuZ3RoPT09MClyZXR1cm4gMTtVPUFbMF19ZWxzZSBVPUE7cmV0dXJuIGgoVS5tb2RlLFUuZ2V0TGVuZ3RoKCksSCl9LHQuZ2V0RW5jb2RlZEJpdHM9ZnVuY3Rpb24oQSl7aWYoIW8uaXNWYWxpZChBKXx8QTw3KXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBRUiBDb2RlIHZlcnNpb24iKTtsZXQgUD1BPDwxMjtmb3IoO2UuZ2V0QkNIRGlnaXQoUCktbD49MDspUF49Yzw8ZS5nZXRCQ0hEaWdpdChQKS1sO3JldHVybiBBPDwxMnxQfX0oTDMpO3ZhciBVMz17fTtjb25zdCBRaD1KcixqMz0xPDwxMHwxPDw4fDE8PDV8MTw8NHwxPDwyfDE8PDF8MTw8MCxaOT0xPDwxNHwxPDwxMnwxPDwxMHwxPDw0fDE8PDEsRjM9UWguZ2V0QkNIRGlnaXQoajMpO1UzLmdldEVuY29kZWRCaXRzPWZ1bmN0aW9uKGUscil7Y29uc3Qgbj1lLmJpdDw8M3xyO2xldCBpPW48PDEwO2Zvcig7UWguZ2V0QkNIRGlnaXQoaSktRjM+PTA7KWlePWozPDxRaC5nZXRCQ0hEaWdpdChpKS1GMztyZXR1cm4objw8MTB8aSleWjl9O3ZhciBCMz17fTtjb25zdCBZOT1iaTtmdW5jdGlvbiBGcyh0KXt0aGlzLm1vZGU9WTkuTlVNRVJJQyx0aGlzLmRhdGE9dC50b1N0cmluZygpfUZzLmdldEJpdHNMZW5ndGg9ZnVuY3Rpb24oZSl7cmV0dXJuIDEwKk1hdGguZmxvb3IoZS8zKSsoZSUzP2UlMyozKzE6MCl9LEZzLnByb3RvdHlwZS5nZXRMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aH0sRnMucHJvdG90eXBlLmdldEJpdHNMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gRnMuZ2V0Qml0c0xlbmd0aCh0aGlzLmRhdGEubGVuZ3RoKX0sRnMucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUpe2xldCByLG4saTtmb3Iocj0wO3IrMzw9dGhpcy5kYXRhLmxlbmd0aDtyKz0zKW49dGhpcy5kYXRhLnN1YnN0cihyLDMpLGk9cGFyc2VJbnQobiwxMCksZS5wdXQoaSwxMCk7Y29uc3Qgbz10aGlzLmRhdGEubGVuZ3RoLXI7bz4wJiYobj10aGlzLmRhdGEuc3Vic3RyKHIpLGk9cGFyc2VJbnQobiwxMCksZS5wdXQoaSxvKjMrMSkpfTt2YXIgSjk9RnM7Y29uc3QgWDk9YmksZWY9WyIwIiwiMSIsIjIiLCIzIiwiNCIsIjUiLCI2IiwiNyIsIjgiLCI5IiwiQSIsIkIiLCJDIiwiRCIsIkUiLCJGIiwiRyIsIkgiLCJJIiwiSiIsIksiLCJMIiwiTSIsIk4iLCJPIiwiUCIsIlEiLCJSIiwiUyIsIlQiLCJVIiwiViIsIlciLCJYIiwiWSIsIloiLCIgIiwiJCIsIiUiLCIqIiwiKyIsIi0iLCIuIiwiLyIsIjoiXTtmdW5jdGlvbiBCcyh0KXt0aGlzLm1vZGU9WDkuQUxQSEFOVU1FUklDLHRoaXMuZGF0YT10fUJzLmdldEJpdHNMZW5ndGg9ZnVuY3Rpb24oZSl7cmV0dXJuIDExKk1hdGguZmxvb3IoZS8yKSs2KihlJTIpfSxCcy5wcm90b3R5cGUuZ2V0TGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YS5sZW5ndGh9LEJzLnByb3RvdHlwZS5nZXRCaXRzTGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIEJzLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aCl9LEJzLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlKXtsZXQgcjtmb3Iocj0wO3IrMjw9dGhpcy5kYXRhLmxlbmd0aDtyKz0yKXtsZXQgbj1lZi5pbmRleE9mKHRoaXMuZGF0YVtyXSkqNDU7bis9ZWYuaW5kZXhPZih0aGlzLmRhdGFbcisxXSksZS5wdXQobiwxMSl9dGhpcy5kYXRhLmxlbmd0aCUyJiZlLnB1dChlZi5pbmRleE9mKHRoaXMuZGF0YVtyXSksNil9O3ZhciBROT1CcyxlQz1mdW5jdGlvbihlKXtmb3IodmFyIHI9W10sbj1lLmxlbmd0aCxpPTA7aTxuO2krKyl7dmFyIG89ZS5jaGFyQ29kZUF0KGkpO2lmKG8+PTU1Mjk2JiZvPD01NjMxOSYmbj5pKzEpe3ZhciBjPWUuY2hhckNvZGVBdChpKzEpO2M+PTU2MzIwJiZjPD01NzM0MyYmKG89KG8tNTUyOTYpKjEwMjQrYy01NjMyMCs2NTUzNixpKz0xKX1pZihvPDEyOCl7ci5wdXNoKG8pO2NvbnRpbnVlfWlmKG88MjA0OCl7ci5wdXNoKG8+PjZ8MTkyKSxyLnB1c2gobyY2M3wxMjgpO2NvbnRpbnVlfWlmKG88NTUyOTZ8fG8+PTU3MzQ0JiZvPDY1NTM2KXtyLnB1c2gobz4+MTJ8MjI0KSxyLnB1c2gobz4+NiY2M3wxMjgpLHIucHVzaChvJjYzfDEyOCk7Y29udGludWV9aWYobz49NjU1MzYmJm88PTExMTQxMTEpe3IucHVzaChvPj4xOHwyNDApLHIucHVzaChvPj4xMiY2M3wxMjgpLHIucHVzaChvPj42JjYzfDEyOCksci5wdXNoKG8mNjN8MTI4KTtjb250aW51ZX1yLnB1c2goMjM5LDE5MSwxODkpfXJldHVybiBuZXcgVWludDhBcnJheShyKS5idWZmZXJ9O2NvbnN0IHRDPWVDLHJDPWJpO2Z1bmN0aW9uIGtzKHQpe3RoaXMubW9kZT1yQy5CWVRFLHR5cGVvZiB0PT0ic3RyaW5nIiYmKHQ9dEModCkpLHRoaXMuZGF0YT1uZXcgVWludDhBcnJheSh0KX1rcy5nZXRCaXRzTGVuZ3RoPWZ1bmN0aW9uKGUpe3JldHVybiBlKjh9LGtzLnByb3RvdHlwZS5nZXRMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aH0sa3MucHJvdG90eXBlLmdldEJpdHNMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4ga3MuZ2V0Qml0c0xlbmd0aCh0aGlzLmRhdGEubGVuZ3RoKX0sa3MucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe2ZvcihsZXQgZT0wLHI9dGhpcy5kYXRhLmxlbmd0aDtlPHI7ZSsrKXQucHV0KHRoaXMuZGF0YVtlXSw4KX07dmFyIG5DPWtzO2NvbnN0IGlDPWJpLHNDPUpyO2Z1bmN0aW9uIEhzKHQpe3RoaXMubW9kZT1pQy5LQU5KSSx0aGlzLmRhdGE9dH1Icy5nZXRCaXRzTGVuZ3RoPWZ1bmN0aW9uKGUpe3JldHVybiBlKjEzfSxIcy5wcm90b3R5cGUuZ2V0TGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YS5sZW5ndGh9LEhzLnByb3RvdHlwZS5nZXRCaXRzTGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIEhzLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aCl9LEhzLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXtsZXQgZTtmb3IoZT0wO2U8dGhpcy5kYXRhLmxlbmd0aDtlKyspe2xldCByPXNDLnRvU0pJUyh0aGlzLmRhdGFbZV0pO2lmKHI+PTMzMDg4JiZyPD00MDk1NilyLT0zMzA4ODtlbHNlIGlmKHI+PTU3NDA4JiZyPD02MDM1MSlyLT00OTQ3MjtlbHNlIHRocm93IG5ldyBFcnJvcigiSW52YWxpZCBTSklTIGNoYXJhY3RlcjogIit0aGlzLmRhdGFbZV0rYA0KTWFrZSBzdXJlIHlvdXIgY2hhcnNldCBpcyBVVEYtOGApO3I9KHI+Pj44JjI1NSkqMTkyKyhyJjI1NSksdC5wdXQociwxMyl9fTt2YXIgb0M9SHMsazM9e2V4cG9ydHM6e319OyhmdW5jdGlvbih0KXt2YXIgZT17c2luZ2xlX3NvdXJjZV9zaG9ydGVzdF9wYXRoczpmdW5jdGlvbihyLG4saSl7dmFyIG89e30sYz17fTtjW25dPTA7dmFyIGw9ZS5Qcmlvcml0eVF1ZXVlLm1ha2UoKTtsLnB1c2gobiwwKTtmb3IodmFyIGgsZCx2LEUsXyxBLFAsVSxIOyFsLmVtcHR5KCk7KXtoPWwucG9wKCksZD1oLnZhbHVlLEU9aC5jb3N0LF89cltkXXx8e307Zm9yKHYgaW4gXylfLmhhc093blByb3BlcnR5KHYpJiYoQT1fW3ZdLFA9RStBLFU9Y1t2XSxIPXR5cGVvZiBjW3ZdPiJ1IiwoSHx8VT5QKSYmKGNbdl09UCxsLnB1c2godixQKSxvW3ZdPWQpKX1pZih0eXBlb2YgaTwidSImJnR5cGVvZiBjW2ldPiJ1Iil7dmFyIEc9WyJDb3VsZCBub3QgZmluZCBhIHBhdGggZnJvbSAiLG4sIiB0byAiLGksIi4iXS5qb2luKCIiKTt0aHJvdyBuZXcgRXJyb3IoRyl9cmV0dXJuIG99LGV4dHJhY3Rfc2hvcnRlc3RfcGF0aF9mcm9tX3ByZWRlY2Vzc29yX2xpc3Q6ZnVuY3Rpb24ocixuKXtmb3IodmFyIGk9W10sbz1uO287KWkucHVzaChvKSxyW29dLG89cltvXTtyZXR1cm4gaS5yZXZlcnNlKCksaX0sZmluZF9wYXRoOmZ1bmN0aW9uKHIsbixpKXt2YXIgbz1lLnNpbmdsZV9zb3VyY2Vfc2hvcnRlc3RfcGF0aHMocixuLGkpO3JldHVybiBlLmV4dHJhY3Rfc2hvcnRlc3RfcGF0aF9mcm9tX3ByZWRlY2Vzc29yX2xpc3QobyxpKX0sUHJpb3JpdHlRdWV1ZTp7bWFrZTpmdW5jdGlvbihyKXt2YXIgbj1lLlByaW9yaXR5UXVldWUsaT17fSxvO3I9cnx8e307Zm9yKG8gaW4gbiluLmhhc093blByb3BlcnR5KG8pJiYoaVtvXT1uW29dKTtyZXR1cm4gaS5xdWV1ZT1bXSxpLnNvcnRlcj1yLnNvcnRlcnx8bi5kZWZhdWx0X3NvcnRlcixpfSxkZWZhdWx0X3NvcnRlcjpmdW5jdGlvbihyLG4pe3JldHVybiByLmNvc3Qtbi5jb3N0fSxwdXNoOmZ1bmN0aW9uKHIsbil7dmFyIGk9e3ZhbHVlOnIsY29zdDpufTt0aGlzLnF1ZXVlLnB1c2goaSksdGhpcy5xdWV1ZS5zb3J0KHRoaXMuc29ydGVyKX0scG9wOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVldWUuc2hpZnQoKX0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWV1ZS5sZW5ndGg9PT0wfX19O3QuZXhwb3J0cz1lfSkoazMpLGZ1bmN0aW9uKHQpe2NvbnN0IGU9Ymkscj1KOSxuPVE5LGk9bkMsbz1vQyxjPU1uLGw9SnIsaD1rMy5leHBvcnRzO2Z1bmN0aW9uIGQoRyl7cmV0dXJuIHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChHKSkubGVuZ3RofWZ1bmN0aW9uIHYoRyxOLEwpe2NvbnN0ICQ9W107bGV0IFQ7Zm9yKDsoVD1HLmV4ZWMoTCkpIT09bnVsbDspJC5wdXNoKHtkYXRhOlRbMF0saW5kZXg6VC5pbmRleCxtb2RlOk4sbGVuZ3RoOlRbMF0ubGVuZ3RofSk7cmV0dXJuICR9ZnVuY3Rpb24gRShHKXtjb25zdCBOPXYoYy5OVU1FUklDLGUuTlVNRVJJQyxHKSxMPXYoYy5BTFBIQU5VTUVSSUMsZS5BTFBIQU5VTUVSSUMsRyk7bGV0ICQsVDtyZXR1cm4gbC5pc0thbmppTW9kZUVuYWJsZWQoKT8oJD12KGMuQllURSxlLkJZVEUsRyksVD12KGMuS0FOSkksZS5LQU5KSSxHKSk6KCQ9dihjLkJZVEVfS0FOSkksZS5CWVRFLEcpLFQ9W10pLE4uY29uY2F0KEwsJCxUKS5zb3J0KGZ1bmN0aW9uKGYseCl7cmV0dXJuIGYuaW5kZXgteC5pbmRleH0pLm1hcChmdW5jdGlvbihmKXtyZXR1cm57ZGF0YTpmLmRhdGEsbW9kZTpmLm1vZGUsbGVuZ3RoOmYubGVuZ3RofX0pfWZ1bmN0aW9uIF8oRyxOKXtzd2l0Y2goTil7Y2FzZSBlLk5VTUVSSUM6cmV0dXJuIHIuZ2V0Qml0c0xlbmd0aChHKTtjYXNlIGUuQUxQSEFOVU1FUklDOnJldHVybiBuLmdldEJpdHNMZW5ndGgoRyk7Y2FzZSBlLktBTkpJOnJldHVybiBvLmdldEJpdHNMZW5ndGgoRyk7Y2FzZSBlLkJZVEU6cmV0dXJuIGkuZ2V0Qml0c0xlbmd0aChHKX19ZnVuY3Rpb24gQShHKXtyZXR1cm4gRy5yZWR1Y2UoZnVuY3Rpb24oTixMKXtjb25zdCAkPU4ubGVuZ3RoLTE+PTA/TltOLmxlbmd0aC0xXTpudWxsO3JldHVybiAkJiYkLm1vZGU9PT1MLm1vZGU/KE5bTi5sZW5ndGgtMV0uZGF0YSs9TC5kYXRhLE4pOihOLnB1c2goTCksTil9LFtdKX1mdW5jdGlvbiBQKEcpe2NvbnN0IE49W107Zm9yKGxldCBMPTA7TDxHLmxlbmd0aDtMKyspe2NvbnN0ICQ9R1tMXTtzd2l0Y2goJC5tb2RlKXtjYXNlIGUuTlVNRVJJQzpOLnB1c2goWyQse2RhdGE6JC5kYXRhLG1vZGU6ZS5BTFBIQU5VTUVSSUMsbGVuZ3RoOiQubGVuZ3RofSx7ZGF0YTokLmRhdGEsbW9kZTplLkJZVEUsbGVuZ3RoOiQubGVuZ3RofV0pO2JyZWFrO2Nhc2UgZS5BTFBIQU5VTUVSSUM6Ti5wdXNoKFskLHtkYXRhOiQuZGF0YSxtb2RlOmUuQllURSxsZW5ndGg6JC5sZW5ndGh9XSk7YnJlYWs7Y2FzZSBlLktBTkpJOk4ucHVzaChbJCx7ZGF0YTokLmRhdGEsbW9kZTplLkJZVEUsbGVuZ3RoOmQoJC5kYXRhKX1dKTticmVhaztjYXNlIGUuQllURTpOLnB1c2goW3tkYXRhOiQuZGF0YSxtb2RlOmUuQllURSxsZW5ndGg6ZCgkLmRhdGEpfV0pfX1yZXR1cm4gTn1mdW5jdGlvbiBVKEcsTil7Y29uc3QgTD17fSwkPXtzdGFydDp7fX07bGV0IFQ9WyJzdGFydCJdO2ZvcihsZXQgST0wO0k8Ry5sZW5ndGg7SSsrKXtjb25zdCBmPUdbSV0seD1bXTtmb3IobGV0IEo9MDtKPGYubGVuZ3RoO0orKyl7Y29uc3Qgej1mW0pdLGVlPSIiK0krSjt4LnB1c2goZWUpLExbZWVdPXtub2RlOnosbGFzdENvdW50OjB9LCRbZWVdPXt9O2ZvcihsZXQgZGU9MDtkZTxULmxlbmd0aDtkZSsrKXtjb25zdCBtZT1UW2RlXTtMW21lXSYmTFttZV0ubm9kZS5tb2RlPT09ei5tb2RlPygkW21lXVtlZV09XyhMW21lXS5sYXN0Q291bnQrei5sZW5ndGgsei5tb2RlKS1fKExbbWVdLmxhc3RDb3VudCx6Lm1vZGUpLExbbWVdLmxhc3RDb3VudCs9ei5sZW5ndGgpOihMW21lXSYmKExbbWVdLmxhc3RDb3VudD16Lmxlbmd0aCksJFttZV1bZWVdPV8oei5sZW5ndGgsei5tb2RlKSs0K2UuZ2V0Q2hhckNvdW50SW5kaWNhdG9yKHoubW9kZSxOKSl9fVQ9eH1mb3IobGV0IEk9MDtJPFQubGVuZ3RoO0krKykkW1RbSV1dLmVuZD0wO3JldHVybnttYXA6JCx0YWJsZTpMfX1mdW5jdGlvbiBIKEcsTil7bGV0IEw7Y29uc3QgJD1lLmdldEJlc3RNb2RlRm9yRGF0YShHKTtpZihMPWUuZnJvbShOLCQpLEwhPT1lLkJZVEUmJkwuYml0PCQuYml0KXRocm93IG5ldyBFcnJvcignIicrRysnIiBjYW5ub3QgYmUgZW5jb2RlZCB3aXRoIG1vZGUgJytlLnRvU3RyaW5nKEwpK2AuDQogU3VnZ2VzdGVkIG1vZGUgaXM6IGArZS50b1N0cmluZygkKSk7c3dpdGNoKEw9PT1lLktBTkpJJiYhbC5pc0thbmppTW9kZUVuYWJsZWQoKSYmKEw9ZS5CWVRFKSxMKXtjYXNlIGUuTlVNRVJJQzpyZXR1cm4gbmV3IHIoRyk7Y2FzZSBlLkFMUEhBTlVNRVJJQzpyZXR1cm4gbmV3IG4oRyk7Y2FzZSBlLktBTkpJOnJldHVybiBuZXcgbyhHKTtjYXNlIGUuQllURTpyZXR1cm4gbmV3IGkoRyl9fXQuZnJvbUFycmF5PWZ1bmN0aW9uKE4pe3JldHVybiBOLnJlZHVjZShmdW5jdGlvbihMLCQpe3JldHVybiB0eXBlb2YgJD09InN0cmluZyI/TC5wdXNoKEgoJCxudWxsKSk6JC5kYXRhJiZMLnB1c2goSCgkLmRhdGEsJC5tb2RlKSksTH0sW10pfSx0LmZyb21TdHJpbmc9ZnVuY3Rpb24oTixMKXtjb25zdCAkPUUoTixsLmlzS2FuamlNb2RlRW5hYmxlZCgpKSxUPVAoJCksST1VKFQsTCksZj1oLmZpbmRfcGF0aChJLm1hcCwic3RhcnQiLCJlbmQiKSx4PVtdO2ZvcihsZXQgSj0xO0o8Zi5sZW5ndGgtMTtKKyspeC5wdXNoKEkudGFibGVbZltKXV0ubm9kZSk7cmV0dXJuIHQuZnJvbUFycmF5KEEoeCkpfSx0LnJhd1NwbGl0PWZ1bmN0aW9uKE4pe3JldHVybiB0LmZyb21BcnJheShFKE4sbC5pc0thbmppTW9kZUVuYWJsZWQoKSkpfX0oQjMpO2NvbnN0ICRjPUpyLHRmPUNjLGFDPUI5LGNDPWs5LGxDPUQzLHVDPSQzLHJmPVQzLG5mPUljLGhDPXo5LFBjPUwzLGZDPVUzLGRDPWJpLHNmPUIzO2Z1bmN0aW9uIHBDKHQsZSl7Y29uc3Qgcj10LnNpemUsbj11Qy5nZXRQb3NpdGlvbnMoZSk7Zm9yKGxldCBpPTA7aTxuLmxlbmd0aDtpKyspe2NvbnN0IG89bltpXVswXSxjPW5baV1bMV07Zm9yKGxldCBsPS0xO2w8PTc7bCsrKWlmKCEobytsPD0tMXx8cjw9bytsKSlmb3IobGV0IGg9LTE7aDw9NztoKyspYytoPD0tMXx8cjw9YytofHwobD49MCYmbDw9NiYmKGg9PT0wfHxoPT09Nil8fGg+PTAmJmg8PTYmJihsPT09MHx8bD09PTYpfHxsPj0yJiZsPD00JiZoPj0yJiZoPD00P3Quc2V0KG8rbCxjK2gsITAsITApOnQuc2V0KG8rbCxjK2gsITEsITApKX19ZnVuY3Rpb24gZ0ModCl7Y29uc3QgZT10LnNpemU7Zm9yKGxldCByPTg7cjxlLTg7cisrKXtjb25zdCBuPXIlMj09PTA7dC5zZXQociw2LG4sITApLHQuc2V0KDYscixuLCEwKX19ZnVuY3Rpb24gbUModCxlKXtjb25zdCByPWxDLmdldFBvc2l0aW9ucyhlKTtmb3IobGV0IG49MDtuPHIubGVuZ3RoO24rKyl7Y29uc3QgaT1yW25dWzBdLG89cltuXVsxXTtmb3IobGV0IGM9LTI7Yzw9MjtjKyspZm9yKGxldCBsPS0yO2w8PTI7bCsrKWM9PT0tMnx8Yz09PTJ8fGw9PT0tMnx8bD09PTJ8fGM9PT0wJiZsPT09MD90LnNldChpK2MsbytsLCEwLCEwKTp0LnNldChpK2MsbytsLCExLCEwKX19ZnVuY3Rpb24gd0ModCxlKXtjb25zdCByPXQuc2l6ZSxuPVBjLmdldEVuY29kZWRCaXRzKGUpO2xldCBpLG8sYztmb3IobGV0IGw9MDtsPDE4O2wrKylpPU1hdGguZmxvb3IobC8zKSxvPWwlMytyLTgtMyxjPShuPj5sJjEpPT09MSx0LnNldChpLG8sYywhMCksdC5zZXQobyxpLGMsITApfWZ1bmN0aW9uIG9mKHQsZSxyKXtjb25zdCBuPXQuc2l6ZSxpPWZDLmdldEVuY29kZWRCaXRzKGUscik7bGV0IG8sYztmb3Iobz0wO288MTU7bysrKWM9KGk+Pm8mMSk9PT0xLG88Nj90LnNldChvLDgsYywhMCk6bzw4P3Quc2V0KG8rMSw4LGMsITApOnQuc2V0KG4tMTUrbyw4LGMsITApLG88OD90LnNldCg4LG4tby0xLGMsITApOm88OT90LnNldCg4LDE1LW8tMSsxLGMsITApOnQuc2V0KDgsMTUtby0xLGMsITApO3Quc2V0KG4tOCw4LDEsITApfWZ1bmN0aW9uIHZDKHQsZSl7Y29uc3Qgcj10LnNpemU7bGV0IG49LTEsaT1yLTEsbz03LGM9MDtmb3IobGV0IGw9ci0xO2w+MDtsLT0yKWZvcihsPT09NiYmbC0tOzspe2ZvcihsZXQgaD0wO2g8MjtoKyspaWYoIXQuaXNSZXNlcnZlZChpLGwtaCkpe2xldCBkPSExO2M8ZS5sZW5ndGgmJihkPShlW2NdPj4+byYxKT09PTEpLHQuc2V0KGksbC1oLGQpLG8tLSxvPT09LTEmJihjKyssbz03KX1pZihpKz1uLGk8MHx8cjw9aSl7aS09bixuPS1uO2JyZWFrfX19ZnVuY3Rpb24geUModCxlLHIpe2NvbnN0IG49bmV3IGFDO3IuZm9yRWFjaChmdW5jdGlvbihoKXtuLnB1dChoLm1vZGUuYml0LDQpLG4ucHV0KGguZ2V0TGVuZ3RoKCksZEMuZ2V0Q2hhckNvdW50SW5kaWNhdG9yKGgubW9kZSx0KSksaC53cml0ZShuKX0pO2NvbnN0IGk9JGMuZ2V0U3ltYm9sVG90YWxDb2Rld29yZHModCksbz1uZi5nZXRUb3RhbENvZGV3b3Jkc0NvdW50KHQsZSksYz0oaS1vKSo4O2ZvcihuLmdldExlbmd0aEluQml0cygpKzQ8PWMmJm4ucHV0KDAsNCk7bi5nZXRMZW5ndGhJbkJpdHMoKSU4IT09MDspbi5wdXRCaXQoMCk7Y29uc3QgbD0oYy1uLmdldExlbmd0aEluQml0cygpKS84O2ZvcihsZXQgaD0wO2g8bDtoKyspbi5wdXQoaCUyPzE3OjIzNiw4KTtyZXR1cm4gYkMobix0LGUpfWZ1bmN0aW9uIGJDKHQsZSxyKXtjb25zdCBuPSRjLmdldFN5bWJvbFRvdGFsQ29kZXdvcmRzKGUpLGk9bmYuZ2V0VG90YWxDb2Rld29yZHNDb3VudChlLHIpLG89bi1pLGM9bmYuZ2V0QmxvY2tzQ291bnQoZSxyKSxsPW4lYyxoPWMtbCxkPU1hdGguZmxvb3Iobi9jKSx2PU1hdGguZmxvb3Ioby9jKSxFPXYrMSxfPWQtdixBPW5ldyBoQyhfKTtsZXQgUD0wO2NvbnN0IFU9bmV3IEFycmF5KGMpLEg9bmV3IEFycmF5KGMpO2xldCBHPTA7Y29uc3QgTj1uZXcgVWludDhBcnJheSh0LmJ1ZmZlcik7Zm9yKGxldCBmPTA7ZjxjO2YrKyl7Y29uc3QgeD1mPGg/djpFO1VbZl09Ti5zbGljZShQLFAreCksSFtmXT1BLmVuY29kZShVW2ZdKSxQKz14LEc9TWF0aC5tYXgoRyx4KX1jb25zdCBMPW5ldyBVaW50OEFycmF5KG4pO2xldCAkPTAsVCxJO2ZvcihUPTA7VDxHO1QrKylmb3IoST0wO0k8YztJKyspVDxVW0ldLmxlbmd0aCYmKExbJCsrXT1VW0ldW1RdKTtmb3IoVD0wO1Q8XztUKyspZm9yKEk9MDtJPGM7SSsrKUxbJCsrXT1IW0ldW1RdO3JldHVybiBMfWZ1bmN0aW9uIF9DKHQsZSxyLG4pe2xldCBpO2lmKEFycmF5LmlzQXJyYXkodCkpaT1zZi5mcm9tQXJyYXkodCk7ZWxzZSBpZih0eXBlb2YgdD09InN0cmluZyIpe2xldCBkPWU7aWYoIWQpe2NvbnN0IHY9c2YucmF3U3BsaXQodCk7ZD1QYy5nZXRCZXN0VmVyc2lvbkZvckRhdGEodixyKX1pPXNmLmZyb21TdHJpbmcodCxkfHw0MCl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgZGF0YSIpO2NvbnN0IG89UGMuZ2V0QmVzdFZlcnNpb25Gb3JEYXRhKGkscik7aWYoIW8pdGhyb3cgbmV3IEVycm9yKCJUaGUgYW1vdW50IG9mIGRhdGEgaXMgdG9vIGJpZyB0byBiZSBzdG9yZWQgaW4gYSBRUiBDb2RlIik7aWYoIWUpZT1vO2Vsc2UgaWYoZTxvKXRocm93IG5ldyBFcnJvcihgDQpUaGUgY2hvc2VuIFFSIENvZGUgdmVyc2lvbiBjYW5ub3QgY29udGFpbiB0aGlzIGFtb3VudCBvZiBkYXRhLg0KTWluaW11bSB2ZXJzaW9uIHJlcXVpcmVkIHRvIHN0b3JlIGN1cnJlbnQgZGF0YSBpczogYCtvK2AuDQpgKTtjb25zdCBjPXlDKGUscixpKSxsPSRjLmdldFN5bWJvbFNpemUoZSksaD1uZXcgY0MobCk7cmV0dXJuIHBDKGgsZSksZ0MoaCksbUMoaCxlKSxvZihoLHIsMCksZT49NyYmd0MoaCxlKSx2QyhoLGMpLGlzTmFOKG4pJiYobj1yZi5nZXRCZXN0TWFzayhoLG9mLmJpbmQobnVsbCxoLHIpKSkscmYuYXBwbHlNYXNrKG4saCksb2YoaCxyLG4pLHttb2R1bGVzOmgsdmVyc2lvbjplLGVycm9yQ29ycmVjdGlvbkxldmVsOnIsbWFza1BhdHRlcm46bixzZWdtZW50czppfX1BMy5jcmVhdGU9ZnVuY3Rpb24oZSxyKXtpZih0eXBlb2YgZT4idSJ8fGU9PT0iIil0aHJvdyBuZXcgRXJyb3IoIk5vIGlucHV0IHRleHQiKTtsZXQgbj10Zi5NLGksbztyZXR1cm4gdHlwZW9mIHI8InUiJiYobj10Zi5mcm9tKHIuZXJyb3JDb3JyZWN0aW9uTGV2ZWwsdGYuTSksaT1QYy5mcm9tKHIudmVyc2lvbiksbz1yZi5mcm9tKHIubWFza1BhdHRlcm4pLHIudG9TSklTRnVuYyYmJGMuc2V0VG9TSklTRnVuY3Rpb24oci50b1NKSVNGdW5jKSksX0MoZSxpLG4sbyl9O3ZhciBIMz17fSxhZj17fTsoZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShyKXtpZih0eXBlb2Ygcj09Im51bWJlciImJihyPXIudG9TdHJpbmcoKSksdHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBFcnJvcigiQ29sb3Igc2hvdWxkIGJlIGRlZmluZWQgYXMgaGV4IHN0cmluZyIpO2xldCBuPXIuc2xpY2UoKS5yZXBsYWNlKCIjIiwiIikuc3BsaXQoIiIpO2lmKG4ubGVuZ3RoPDN8fG4ubGVuZ3RoPT09NXx8bi5sZW5ndGg+OCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgaGV4IGNvbG9yOiAiK3IpOyhuLmxlbmd0aD09PTN8fG4ubGVuZ3RoPT09NCkmJihuPUFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sbi5tYXAoZnVuY3Rpb24obyl7cmV0dXJuW28sb119KSkpLG4ubGVuZ3RoPT09NiYmbi5wdXNoKCJGIiwiRiIpO2NvbnN0IGk9cGFyc2VJbnQobi5qb2luKCIiKSwxNik7cmV0dXJue3I6aT4+MjQmMjU1LGc6aT4+MTYmMjU1LGI6aT4+OCYyNTUsYTppJjI1NSxoZXg6IiMiK24uc2xpY2UoMCw2KS5qb2luKCIiKX19dC5nZXRPcHRpb25zPWZ1bmN0aW9uKG4pe258fChuPXt9KSxuLmNvbG9yfHwobi5jb2xvcj17fSk7Y29uc3QgaT10eXBlb2Ygbi5tYXJnaW4+InUifHxuLm1hcmdpbj09PW51bGx8fG4ubWFyZ2luPDA/NDpuLm1hcmdpbixvPW4ud2lkdGgmJm4ud2lkdGg+PTIxP24ud2lkdGg6dm9pZCAwLGM9bi5zY2FsZXx8NDtyZXR1cm57d2lkdGg6byxzY2FsZTpvPzQ6YyxtYXJnaW46aSxjb2xvcjp7ZGFyazplKG4uY29sb3IuZGFya3x8IiMwMDAwMDBmZiIpLGxpZ2h0OmUobi5jb2xvci5saWdodHx8IiNmZmZmZmZmZiIpfSx0eXBlOm4udHlwZSxyZW5kZXJlck9wdHM6bi5yZW5kZXJlck9wdHN8fHt9fX0sdC5nZXRTY2FsZT1mdW5jdGlvbihuLGkpe3JldHVybiBpLndpZHRoJiZpLndpZHRoPj1uK2kubWFyZ2luKjI/aS53aWR0aC8obitpLm1hcmdpbioyKTppLnNjYWxlfSx0LmdldEltYWdlV2lkdGg9ZnVuY3Rpb24obixpKXtjb25zdCBvPXQuZ2V0U2NhbGUobixpKTtyZXR1cm4gTWF0aC5mbG9vcigobitpLm1hcmdpbioyKSpvKX0sdC5xclRvSW1hZ2VEYXRhPWZ1bmN0aW9uKG4saSxvKXtjb25zdCBjPWkubW9kdWxlcy5zaXplLGw9aS5tb2R1bGVzLmRhdGEsaD10LmdldFNjYWxlKGMsbyksZD1NYXRoLmZsb29yKChjK28ubWFyZ2luKjIpKmgpLHY9by5tYXJnaW4qaCxFPVtvLmNvbG9yLmxpZ2h0LG8uY29sb3IuZGFya107Zm9yKGxldCBfPTA7XzxkO18rKylmb3IobGV0IEE9MDtBPGQ7QSsrKXtsZXQgUD0oXypkK0EpKjQsVT1vLmNvbG9yLmxpZ2h0O2lmKF8+PXYmJkE+PXYmJl88ZC12JiZBPGQtdil7Y29uc3QgSD1NYXRoLmZsb29yKChfLXYpL2gpLEc9TWF0aC5mbG9vcigoQS12KS9oKTtVPUVbbFtIKmMrR10/MTowXX1uW1ArK109VS5yLG5bUCsrXT1VLmcsbltQKytdPVUuYixuW1BdPVUuYX19fSkoYWYpLGZ1bmN0aW9uKHQpe2NvbnN0IGU9YWY7ZnVuY3Rpb24gcihpLG8sYyl7aS5jbGVhclJlY3QoMCwwLG8ud2lkdGgsby5oZWlnaHQpLG8uc3R5bGV8fChvLnN0eWxlPXt9KSxvLmhlaWdodD1jLG8ud2lkdGg9YyxvLnN0eWxlLmhlaWdodD1jKyJweCIsby5zdHlsZS53aWR0aD1jKyJweCJ9ZnVuY3Rpb24gbigpe3RyeXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIil9Y2F0Y2h7dGhyb3cgbmV3IEVycm9yKCJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgY2FudmFzIGVsZW1lbnQiKX19dC5yZW5kZXI9ZnVuY3Rpb24obyxjLGwpe2xldCBoPWwsZD1jO3R5cGVvZiBoPiJ1IiYmKCFjfHwhYy5nZXRDb250ZXh0KSYmKGg9YyxjPXZvaWQgMCksY3x8KGQ9bigpKSxoPWUuZ2V0T3B0aW9ucyhoKTtjb25zdCB2PWUuZ2V0SW1hZ2VXaWR0aChvLm1vZHVsZXMuc2l6ZSxoKSxFPWQuZ2V0Q29udGV4dCgiMmQiKSxfPUUuY3JlYXRlSW1hZ2VEYXRhKHYsdik7cmV0dXJuIGUucXJUb0ltYWdlRGF0YShfLmRhdGEsbyxoKSxyKEUsZCx2KSxFLnB1dEltYWdlRGF0YShfLDAsMCksZH0sdC5yZW5kZXJUb0RhdGFVUkw9ZnVuY3Rpb24obyxjLGwpe2xldCBoPWw7dHlwZW9mIGg+InUiJiYoIWN8fCFjLmdldENvbnRleHQpJiYoaD1jLGM9dm9pZCAwKSxofHwoaD17fSk7Y29uc3QgZD10LnJlbmRlcihvLGMsaCksdj1oLnR5cGV8fCJpbWFnZS9wbmciLEU9aC5yZW5kZXJlck9wdHN8fHt9O3JldHVybiBkLnRvRGF0YVVSTCh2LEUucXVhbGl0eSl9fShIMyk7dmFyIHozPXt9O2NvbnN0IEVDPWFmO2Z1bmN0aW9uIFczKHQsZSl7Y29uc3Qgcj10LmEvMjU1LG49ZSsnPSInK3QuaGV4KyciJztyZXR1cm4gcjwxP24rIiAiK2UrJy1vcGFjaXR5PSInK3IudG9GaXhlZCgyKS5zbGljZSgxKSsnIic6bn1mdW5jdGlvbiBjZih0LGUscil7bGV0IG49dCtlO3JldHVybiB0eXBlb2YgcjwidSImJihuKz0iICIrciksbn1mdW5jdGlvbiB4Qyh0LGUscil7bGV0IG49IiIsaT0wLG89ITEsYz0wO2ZvcihsZXQgbD0wO2w8dC5sZW5ndGg7bCsrKXtjb25zdCBoPU1hdGguZmxvb3IobCVlKSxkPU1hdGguZmxvb3IobC9lKTshaCYmIW8mJihvPSEwKSx0W2xdPyhjKyssbD4wJiZoPjAmJnRbbC0xXXx8KG4rPW8/Y2YoIk0iLGgrciwuNStkK3IpOmNmKCJtIixpLDApLGk9MCxvPSExKSxoKzE8ZSYmdFtsKzFdfHwobis9Y2YoImgiLGMpLGM9MCkpOmkrK31yZXR1cm4gbn16My5yZW5kZXI9ZnVuY3Rpb24oZSxyLG4pe2NvbnN0IGk9RUMuZ2V0T3B0aW9ucyhyKSxvPWUubW9kdWxlcy5zaXplLGM9ZS5tb2R1bGVzLmRhdGEsbD1vK2kubWFyZ2luKjIsaD1pLmNvbG9yLmxpZ2h0LmE/IjxwYXRoICIrVzMoaS5jb2xvci5saWdodCwiZmlsbCIpKycgZD0iTTAgMGgnK2wrInYiK2wrJ0gweiIvPic6IiIsZD0iPHBhdGggIitXMyhpLmNvbG9yLmRhcmssInN0cm9rZSIpKycgZD0iJyt4QyhjLG8saS5tYXJnaW4pKyciLz4nLHY9J3ZpZXdCb3g9IjAgMCAnK2wrIiAiK2wrJyInLF89JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAnKyhpLndpZHRoPyd3aWR0aD0iJytpLndpZHRoKyciIGhlaWdodD0iJytpLndpZHRoKyciICc6IiIpK3YrJyBzaGFwZS1yZW5kZXJpbmc9ImNyaXNwRWRnZXMiPicraCtkK2A8L3N2Zz4NCmA7cmV0dXJuIHR5cGVvZiBuPT0iZnVuY3Rpb24iJiZuKG51bGwsXyksX307Y29uc3QgQ0M9ajksbGY9QTMscTM9SDMsSUM9ejM7ZnVuY3Rpb24gdWYodCxlLHIsbixpKXtjb25zdCBvPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGM9by5sZW5ndGgsbD10eXBlb2Ygb1tjLTFdPT0iZnVuY3Rpb24iO2lmKCFsJiYhQ0MoKSl0aHJvdyBuZXcgRXJyb3IoIkNhbGxiYWNrIHJlcXVpcmVkIGFzIGxhc3QgYXJndW1lbnQiKTtpZihsKXtpZihjPDIpdGhyb3cgbmV3IEVycm9yKCJUb28gZmV3IGFyZ3VtZW50cyBwcm92aWRlZCIpO2M9PT0yPyhpPXIscj1lLGU9bj12b2lkIDApOmM9PT0zJiYoZS5nZXRDb250ZXh0JiZ0eXBlb2YgaT4idSI/KGk9bixuPXZvaWQgMCk6KGk9bixuPXIscj1lLGU9dm9pZCAwKSl9ZWxzZXtpZihjPDEpdGhyb3cgbmV3IEVycm9yKCJUb28gZmV3IGFyZ3VtZW50cyBwcm92aWRlZCIpO3JldHVybiBjPT09MT8ocj1lLGU9bj12b2lkIDApOmM9PT0yJiYhZS5nZXRDb250ZXh0JiYobj1yLHI9ZSxlPXZvaWQgMCksbmV3IFByb21pc2UoZnVuY3Rpb24oaCxkKXt0cnl7Y29uc3Qgdj1sZi5jcmVhdGUocixuKTtoKHQodixlLG4pKX1jYXRjaCh2KXtkKHYpfX0pfXRyeXtjb25zdCBoPWxmLmNyZWF0ZShyLG4pO2kobnVsbCx0KGgsZSxuKSl9Y2F0Y2goaCl7aShoKX19cmEuY3JlYXRlPWxmLmNyZWF0ZSxyYS50b0NhbnZhcz11Zi5iaW5kKG51bGwscTMucmVuZGVyKSxyYS50b0RhdGFVUkw9dWYuYmluZChudWxsLHEzLnJlbmRlclRvRGF0YVVSTCkscmEudG9TdHJpbmc9dWYuYmluZChudWxsLGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gSUMucmVuZGVyKHQscil9KTt2YXIgT0M9T2JqZWN0LmRlZmluZVByb3BlcnR5LFYzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsQUM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxTQz1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLEszPSh0LGUscik9PmUgaW4gdD9PQyh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnJ9KTp0W2VdPXIsVGM9KHQsZSk9Pntmb3IodmFyIHIgaW4gZXx8KGU9e30pKUFDLmNhbGwoZSxyKSYmSzModCxyLGVbcl0pO2lmKFYzKWZvcih2YXIgciBvZiBWMyhlKSlTQy5jYWxsKGUscikmJkszKHQscixlW3JdKTtyZXR1cm4gdH07ZnVuY3Rpb24gREMoKXt2YXIgdDtjb25zdCBlPSh0PUxuLnN0YXRlLnRoZW1lTW9kZSkhPW51bGw/dDoiZGFyayIscj17bGlnaHQ6e2ZvcmVncm91bmQ6ezE6InJnYigyMCwyMCwyMCkiLDI6InJnYigxMjEsMTM0LDEzNCkiLDM6InJnYigxNTgsMTY5LDE2OSkifSxiYWNrZ3JvdW5kOnsxOiJyZ2IoMjU1LDI1NSwyNTUpIiwyOiJyZ2IoMjQxLDI0MywyNDMpIiwzOiJyZ2IoMjI4LDIzMSwyMzEpIn0sb3ZlcmxheToicmdiYSgwLDAsMCwwLjEpIn0sZGFyazp7Zm9yZWdyb3VuZDp7MToicmdiKDIyOCwyMzEsMjMxKSIsMjoicmdiKDE0OCwxNTgsMTU4KSIsMzoicmdiKDExMCwxMTksMTE5KSJ9LGJhY2tncm91bmQ6ezE6InJnYigyMCwyMCwyMCkiLDI6InJnYigzOSw0Miw0MikiLDM6InJnYig1OSw2NCw2NCkifSxvdmVybGF5OiJyZ2JhKDI1NSwyNTUsMjU1LDAuMSkifX1bZV07cmV0dXJueyItLXczbS1jb2xvci1mZy0xIjpyLmZvcmVncm91bmRbMV0sIi0tdzNtLWNvbG9yLWZnLTIiOnIuZm9yZWdyb3VuZFsyXSwiLS13M20tY29sb3ItZmctMyI6ci5mb3JlZ3JvdW5kWzNdLCItLXczbS1jb2xvci1iZy0xIjpyLmJhY2tncm91bmRbMV0sIi0tdzNtLWNvbG9yLWJnLTIiOnIuYmFja2dyb3VuZFsyXSwiLS13M20tY29sb3ItYmctMyI6ci5iYWNrZ3JvdW5kWzNdLCItLXczbS1jb2xvci1vdmVybGF5IjpyLm92ZXJsYXl9fWZ1bmN0aW9uIEczKCl7cmV0dXJueyItLXczbS1hY2NlbnQtY29sb3IiOiIjMzM5NkZGIiwiLS13M20tYWNjZW50LWZpbGwtY29sb3IiOiIjRkZGRkZGIiwiLS13M20tei1pbmRleCI6Ijg5IiwiLS13M20tYmFja2dyb3VuZC1jb2xvciI6IiMzMzk2RkYiLCItLXczbS1iYWNrZ3JvdW5kLWJvcmRlci1yYWRpdXMiOiI4cHgiLCItLXczbS1jb250YWluZXItYm9yZGVyLXJhZGl1cyI6IjMwcHgiLCItLXczbS13YWxsZXQtaWNvbi1ib3JkZXItcmFkaXVzIjoiMTVweCIsIi0tdzNtLXdhbGxldC1pY29uLWxhcmdlLWJvcmRlci1yYWRpdXMiOiIzMHB4IiwiLS13M20td2FsbGV0LWljb24tc21hbGwtYm9yZGVyLXJhZGl1cyI6IjdweCIsIi0tdzNtLWlucHV0LWJvcmRlci1yYWRpdXMiOiIyOHB4IiwiLS13M20tYnV0dG9uLWJvcmRlci1yYWRpdXMiOiIxMHB4IiwiLS13M20tbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXMiOiIzNnB4IiwiLS13M20tc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItcmFkaXVzIjoiMjhweCIsIi0tdzNtLWljb24tYnV0dG9uLWJvcmRlci1yYWRpdXMiOiI1MCUiLCItLXczbS1idXR0b24taG92ZXItaGlnaGxpZ2h0LWJvcmRlci1yYWRpdXMiOiIxMHB4IiwiLS13M20tdGV4dC1iaWctYm9sZC1zaXplIjoiMjBweCIsIi0tdzNtLXRleHQtYmlnLWJvbGQtd2VpZ2h0IjoiNjAwIiwiLS13M20tdGV4dC1iaWctYm9sZC1saW5lLWhlaWdodCI6IjI0cHgiLCItLXczbS10ZXh0LWJpZy1ib2xkLWxldHRlci1zcGFjaW5nIjoiLTAuMDNlbSIsIi0tdzNtLXRleHQtYmlnLWJvbGQtdGV4dC10cmFuc2Zvcm0iOiJub25lIiwiLS13M20tdGV4dC14c21hbGwtYm9sZC1zaXplIjoiMTBweCIsIi0tdzNtLXRleHQteHNtYWxsLWJvbGQtd2VpZ2h0IjoiNzAwIiwiLS13M20tdGV4dC14c21hbGwtYm9sZC1saW5lLWhlaWdodCI6IjEycHgiLCItLXczbS10ZXh0LXhzbWFsbC1ib2xkLWxldHRlci1zcGFjaW5nIjoiMC4wMmVtIiwiLS13M20tdGV4dC14c21hbGwtYm9sZC10ZXh0LXRyYW5zZm9ybSI6InVwcGVyY2FzZSIsIi0tdzNtLXRleHQteHNtYWxsLXJlZ3VsYXItc2l6ZSI6IjEycHgiLCItLXczbS10ZXh0LXhzbWFsbC1yZWd1bGFyLXdlaWdodCI6IjYwMCIsIi0tdzNtLXRleHQteHNtYWxsLXJlZ3VsYXItbGluZS1oZWlnaHQiOiIxNHB4IiwiLS13M20tdGV4dC14c21hbGwtcmVndWxhci1sZXR0ZXItc3BhY2luZyI6Ii0wLjAzZW0iLCItLXczbS10ZXh0LXhzbWFsbC1yZWd1bGFyLXRleHQtdHJhbnNmb3JtIjoibm9uZSIsIi0tdzNtLXRleHQtc21hbGwtdGhpbi1zaXplIjoiMTRweCIsIi0tdzNtLXRleHQtc21hbGwtdGhpbi13ZWlnaHQiOiI1MDAiLCItLXczbS10ZXh0LXNtYWxsLXRoaW4tbGluZS1oZWlnaHQiOiIxNnB4IiwiLS13M20tdGV4dC1zbWFsbC10aGluLWxldHRlci1zcGFjaW5nIjoiLTAuMDNlbSIsIi0tdzNtLXRleHQtc21hbGwtdGhpbi10ZXh0LXRyYW5zZm9ybSI6Im5vbmUiLCItLXczbS10ZXh0LXNtYWxsLXJlZ3VsYXItc2l6ZSI6IjE0cHgiLCItLXczbS10ZXh0LXNtYWxsLXJlZ3VsYXItd2VpZ2h0IjoiNjAwIiwiLS13M20tdGV4dC1zbWFsbC1yZWd1bGFyLWxpbmUtaGVpZ2h0IjoiMTZweCIsIi0tdzNtLXRleHQtc21hbGwtcmVndWxhci1sZXR0ZXItc3BhY2luZyI6Ii0wLjAzZW0iLCItLXczbS10ZXh0LXNtYWxsLXJlZ3VsYXItdGV4dC10cmFuc2Zvcm0iOiJub25lIiwiLS13M20tdGV4dC1tZWRpdW0tcmVndWxhci1zaXplIjoiMTZweCIsIi0tdzNtLXRleHQtbWVkaXVtLXJlZ3VsYXItd2VpZ2h0IjoiNjAwIiwiLS13M20tdGV4dC1tZWRpdW0tcmVndWxhci1saW5lLWhlaWdodCI6IjIwcHgiLCItLXczbS10ZXh0LW1lZGl1bS1yZWd1bGFyLWxldHRlci1zcGFjaW5nIjoiLTAuMDNlbSIsIi0tdzNtLXRleHQtbWVkaXVtLXJlZ3VsYXItdGV4dC10cmFuc2Zvcm0iOiJub25lIiwiLS13M20tZm9udC1mYW1pbHkiOiItYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBVYnVudHUsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWYiLCItLXczbS1zdWNjZXNzLWNvbG9yIjoicmdiKDM4LDE4MSw5OCkiLCItLXczbS1lcnJvci1jb2xvciI6InJnYigyNDIsIDkwLCAxMDMpIn19ZnVuY3Rpb24gJEMoKXtjb25zdHt0aGVtZVZhcmlhYmxlczp0fT1Mbi5zdGF0ZTtyZXR1cm57Ii0tdzNtLWJhY2tncm91bmQtaW1hZ2UtdXJsIjp0IT1udWxsJiZ0WyItLXczbS1iYWNrZ3JvdW5kLWltYWdlLXVybCJdP2B1cmwoJHt0WyItLXczbS1iYWNrZ3JvdW5kLWltYWdlLXVybCJdfSlgOiJub25lIn19Y29uc3QgamU9e2dldFByZXNldCh0KXtyZXR1cm4gRzMoKVt0XX0sc2V0VGhlbWUoKXtjb25zdCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIjpyb290Iikse3RoZW1lVmFyaWFibGVzOmV9PUxuLnN0YXRlO2lmKHQpe2NvbnN0IHI9VGMoVGMoVGMoVGMoe30sREMoKSksRzMoKSksZSksJEMoKSk7T2JqZWN0LmVudHJpZXMocikuZm9yRWFjaCgoW24saV0pPT50LnN0eWxlLnNldFByb3BlcnR5KG4saSkpfX0sZ2xvYmFsQ3NzOlZlYCosOjphZnRlciw6OmJlZm9yZXttYXJnaW46MDtwYWRkaW5nOjA7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtc3R5bGU6bm9ybWFsO3RleHQtcmVuZGVyaW5nOm9wdGltaXplU3BlZWQ7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZX1AbWVkaWEgKGhvdmVyOmhvdmVyKSBhbmQgKHBvaW50ZXI6ZmluZSl7YnV0dG9uOmFjdGl2ZXt0cmFuc2l0aW9uOmFsbCAuMXMgZWFzZTt0cmFuc2Zvcm06c2NhbGUoLjkzKX19YnV0dG9uOjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciwuMnMgZWFzZX1idXR0b246ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfWJ1dHRvbiBzdmcsYnV0dG9uIHczbS10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX1pbnB1dHtib3JkZXI6bm9uZTtvdXRsaW5lOjA7YXBwZWFyYW5jZTpub25lfWltZ3tkaXNwbGF5OmJsb2NrfTo6c2VsZWN0aW9ue2NvbG9yOnZhcigtLXczbS1hY2NlbnQtZmlsbC1jb2xvcik7YmFja2dyb3VuZDp2YXIoLS13M20tYWNjZW50LWNvbG9yKX1gfSxQQz1WZWBidXR0b257ZGlzcGxheTpmbGV4O2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLWJ1dHRvbi1ob3Zlci1oaWdobGlnaHQtYm9yZGVyLXJhZGl1cyk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzo1cHg7d2lkdGg6MTAwcHh9YnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX1AbWVkaWEoaG92ZXI6aG92ZXIpe2J1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX19YnV0dG9uPmRpdntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tYWNjZW50LWNvbG9yKTtib3JkZXItcmFkaXVzOnZhcigtLXczbS1pY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzKTttYXJnaW4tYm90dG9tOjRweH1idXR0b24gcGF0aHtmaWxsOnZhcigtLXczbS1hY2NlbnQtZmlsbC1jb2xvcil9YDt2YXIgVEM9T2JqZWN0LmRlZmluZVByb3BlcnR5LFJDPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsUmM9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9SQyhlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmVEMoZSxyLGkpLGl9O2xldCB6cz1jbGFzcyBleHRlbmRzICRle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmljb249dm9pZCAwLHRoaXMubGFiZWw9IiIsdGhpcy5vbkNsaWNrPSgpPT5udWxsfXJlbmRlcigpe3JldHVybiBvZWA8YnV0dG9uIEBjbGljaz0iJHt0aGlzLm9uQ2xpY2t9Ij48ZGl2PiR7dGhpcy5pY29ufTwvZGl2Pjx3M20tdGV4dCB2YXJpYW50PSJ4c21hbGwtcmVndWxhciIgY29sb3I9ImFjY2VudCI+JHt0aGlzLmxhYmVsfTwvdzNtLXRleHQ+PC9idXR0b24+YH19O3pzLnN0eWxlcz1bamUuZ2xvYmFsQ3NzLFBDXSxSYyhbQWUoKV0senMucHJvdG90eXBlLCJpY29uIiwyKSxSYyhbQWUoKV0senMucHJvdG90eXBlLCJsYWJlbCIsMiksUmMoW0FlKCldLHpzLnByb3RvdHlwZSwib25DbGljayIsMiksenM9UmMoW1JlKCJ3M20tYm94LWJ1dHRvbiIpXSx6cyk7Y29uc3QgTkM9VmVgYnV0dG9ue2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLXNlY29uZGFyeS1idXR0b24tYm9yZGVyLXJhZGl1cyk7aGVpZ2h0OjI4cHg7cGFkZGluZzowIDEwcHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tYWNjZW50LWNvbG9yKX1idXR0b24gcGF0aHtmaWxsOnZhcigtLXczbS1hY2NlbnQtZmlsbC1jb2xvcil9YnV0dG9uOjphZnRlcntib3JkZXItcmFkaXVzOmluaGVyaXQ7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9YnV0dG9uOmRpc2FibGVkOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS53M20taWNvbi1sZWZ0IHN2Z3ttYXJnaW4tcmlnaHQ6NXB4fS53M20taWNvbi1yaWdodCBzdmd7bWFyZ2luLWxlZnQ6NXB4fWJ1dHRvbjphY3RpdmU6OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpfS53M20tZ2hvc3QsLnczbS1naG9zdDphY3RpdmU6OmFmdGVyLC53M20tb3V0bGluZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS53M20tZ2hvc3Q6YWN0aXZle29wYWNpdHk6LjV9QG1lZGlhKGhvdmVyOmhvdmVyKXtidXR0b246aG92ZXI6OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpfS53M20tZ2hvc3Q6aG92ZXI6OmFmdGVye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LnczbS1naG9zdDpob3ZlcntvcGFjaXR5Oi41fX1idXR0b246ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3ItYmctMyk7cG9pbnRlci1ldmVudHM6bm9uZX0udzNtLWdob3N0OjphZnRlcntib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LnczbS1naG9zdCBwYXRoe2ZpbGw6dmFyKC0tdzNtLWNvbG9yLWZnLTIpfS53M20tb3V0bGluZSBwYXRoe2ZpbGw6dmFyKC0tdzNtLWFjY2VudC1jb2xvcil9LnczbS1vdXRsaW5lOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3BhY2l0eTouNX1gO3ZhciBMQz1PYmplY3QuZGVmaW5lUHJvcGVydHksTUM9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixXcz0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP01DKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZMQyhlLHIsaSksaX07bGV0IF9pPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuZGlzYWJsZWQ9ITEsdGhpcy5pY29uTGVmdD12b2lkIDAsdGhpcy5pY29uUmlnaHQ9dm9pZCAwLHRoaXMub25DbGljaz0oKT0+bnVsbCx0aGlzLnZhcmlhbnQ9ImRlZmF1bHQifXJlbmRlcigpe2NvbnN0IHQ9eyJ3M20taWNvbi1sZWZ0Ijp0aGlzLmljb25MZWZ0IT09dm9pZCAwLCJ3M20taWNvbi1yaWdodCI6dGhpcy5pY29uUmlnaHQhPT12b2lkIDAsInczbS1naG9zdCI6dGhpcy52YXJpYW50PT09Imdob3N0IiwidzNtLW91dGxpbmUiOnRoaXMudmFyaWFudD09PSJvdXRsaW5lIn07bGV0IGU9ImludmVyc2UiO3JldHVybiB0aGlzLnZhcmlhbnQ9PT0iZ2hvc3QiJiYoZT0ic2Vjb25kYXJ5IiksdGhpcy52YXJpYW50PT09Im91dGxpbmUiJiYoZT0iYWNjZW50Iiksb2VgPGJ1dHRvbiBjbGFzcz0iJHtMcih0KX0iID9kaXNhYmxlZD0iJHt0aGlzLmRpc2FibGVkfSIgQGNsaWNrPSIke3RoaXMub25DbGlja30iPiR7dGhpcy5pY29uTGVmdH08dzNtLXRleHQgdmFyaWFudD0ic21hbGwtcmVndWxhciIgY29sb3I9IiR7ZX0iPjxzbG90Pjwvc2xvdD48L3czbS10ZXh0PiR7dGhpcy5pY29uUmlnaHR9PC9idXR0b24+YH19O19pLnN0eWxlcz1bamUuZ2xvYmFsQ3NzLE5DXSxXcyhbQWUoKV0sX2kucHJvdG90eXBlLCJkaXNhYmxlZCIsMiksV3MoW0FlKCldLF9pLnByb3RvdHlwZSwiaWNvbkxlZnQiLDIpLFdzKFtBZSgpXSxfaS5wcm90b3R5cGUsImljb25SaWdodCIsMiksV3MoW0FlKCldLF9pLnByb3RvdHlwZSwib25DbGljayIsMiksV3MoW0FlKCldLF9pLnByb3RvdHlwZSwidmFyaWFudCIsMiksX2k9V3MoW1JlKCJ3M20tYnV0dG9uIildLF9pKTtjb25zdCBVQz1WZWA6aG9zdHtkaXNwbGF5OmlubGluZS1ibG9ja31idXR0b257cGFkZGluZzowIDE1cHggMXB4O2hlaWdodDo0MHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLWJ1dHRvbi1ib3JkZXItcmFkaXVzKTtjb2xvcjp2YXIoLS13M20tYWNjZW50LWZpbGwtY29sb3IpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWFjY2VudC1jb2xvcil9YnV0dG9uOjphZnRlcntjb250ZW50OicnO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czppbmhlcml0O3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXczbS1jb2xvci1vdmVybGF5KX1idXR0b246YWN0aXZlOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX1idXR0b246ZGlzYWJsZWR7cGFkZGluZy1ib3R0b206MDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1iZy0zKTtjb2xvcjp2YXIoLS13M20tY29sb3ItZmctMyl9LnczbS1zZWNvbmRhcnl7Y29sb3I6dmFyKC0tdzNtLWFjY2VudC1jb2xvcik7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0udzNtLXNlY29uZGFyeTo6YWZ0ZXJ7ZGlzcGxheTpub25lfUBtZWRpYShob3Zlcjpob3Zlcil7YnV0dG9uOmhvdmVyOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX19YDt2YXIgakM9T2JqZWN0LmRlZmluZVByb3BlcnR5LEZDPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsaGY9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9GQyhlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmakMoZSxyLGkpLGl9O2xldCBvYT1jbGFzcyBleHRlbmRzICRle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmRpc2FibGVkPSExLHRoaXMudmFyaWFudD0icHJpbWFyeSJ9cmVuZGVyKCl7Y29uc3QgdD17InczbS1zZWNvbmRhcnkiOnRoaXMudmFyaWFudD09PSJzZWNvbmRhcnkifTtyZXR1cm4gb2VgPGJ1dHRvbiA/ZGlzYWJsZWQ9IiR7dGhpcy5kaXNhYmxlZH0iIGNsYXNzPSIke0xyKHQpfSI+PHNsb3Q+PC9zbG90PjwvYnV0dG9uPmB9fTtvYS5zdHlsZXM9W2plLmdsb2JhbENzcyxVQ10saGYoW0FlKCldLG9hLnByb3RvdHlwZSwiZGlzYWJsZWQiLDIpLGhmKFtBZSgpXSxvYS5wcm90b3R5cGUsInZhcmlhbnQiLDIpLG9hPWhmKFtSZSgidzNtLWJ1dHRvbi1iaWciKV0sb2EpO2NvbnN0IEJDPVZlYDpob3N0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWNvbG9yLWJnLTIpO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLXczbS1jb2xvci1iZy0zKX1kaXZ7cGFkZGluZzoxMHB4IDIwcHg7ZGlzcGxheTppbmhlcml0O2ZsZXgtZGlyZWN0aW9uOmluaGVyaXQ7YWxpZ24taXRlbXM6aW5oZXJpdDt3aWR0aDppbmhlcml0O2p1c3RpZnktY29udGVudDppbmhlcml0fWA7dmFyIGtDPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxIQz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHpDPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/SEMoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJmtDKGUscixpKSxpfTtsZXQgZmY9Y2xhc3MgZXh0ZW5kcyAkZXtyZW5kZXIoKXtyZXR1cm4gb2VgPGRpdj48c2xvdD48L3Nsb3Q+PC9kaXY+YH19O2ZmLnN0eWxlcz1bamUuZ2xvYmFsQ3NzLEJDXSxmZj16QyhbUmUoInczbS1pbmZvLWZvb3RlciIpXSxmZik7Y29uc3QgTmU9e0NST1NTX0lDT046dXRgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiI+PHBhdGggZD0iTTkuOTQgMTFBLjc1Ljc1IDAgMSAwIDExIDkuOTRMNy40MTQgNi4zNTNhLjUuNSAwIDAgMSAwLS43MDhMMTEgMi4wNjFBLjc1Ljc1IDAgMSAwIDkuOTQgMUw2LjM1MyA0LjU4NmEuNS41IDAgMCAxLS43MDggMEwyLjA2MSAxQS43NS43NSAwIDAgMCAxIDIuMDZsMy41ODYgMy41ODZhLjUuNSAwIDAgMSAwIC43MDhMMSA5LjkzOUEuNzUuNzUgMCAxIDAgMi4wNiAxMWwzLjU4Ni0zLjU4NmEuNS41IDAgMCAxIC43MDggMEw5LjkzOSAxMVoiIGZpbGw9IiNmZmYiLz48L3N2Zz5gLFdBTExFVF9DT05ORUNUX0xPR086dXRgPHN2ZyB3aWR0aD0iMTc4IiBoZWlnaHQ9IjI5IiB2aWV3Qm94PSIwIDAgMTc4IDI5IiBpZD0idzNtLXdjLWxvZ28iPjxwYXRoIGQ9Ik0xMC42ODMgNy45MjZjNS4yODQtNS4xNyAxMy44NS01LjE3IDE5LjEzNCAwbC42MzYuNjIzYS42NTIuNjUyIDAgMCAxIDAgLjkzNmwtMi4xNzYgMi4xMjlhLjM0My4zNDMgMCAwIDEtLjQ3OCAwbC0uODc1LS44NTdjLTMuNjg2LTMuNjA3LTkuNjYyLTMuNjA3LTEzLjM0OCAwbC0uOTM3LjkxOGEuMzQzLjM0MyAwIDAgMS0uNDc5IDBsLTIuMTc1LTIuMTNhLjY1Mi42NTIgMCAwIDEgMC0uOTM2bC42OTgtLjY4M1ptMjMuNjMzIDQuNDAzIDEuOTM1IDEuODk1YS42NTIuNjUyIDAgMCAxIDAgLjkzNmwtOC43MyA4LjU0M2EuNjg3LjY4NyAwIDAgMS0uOTU2IDBMMjAuMzcgMTcuNjRhLjE3Mi4xNzIgMCAwIDAtLjIzOSAwbC02LjE5NSA2LjA2M2EuNjg3LjY4NyAwIDAgMS0uOTU3IDBsLTguNzMtOC41NDNhLjY1Mi42NTIgMCAwIDEgMC0uOTM2bDEuOTM2LTEuODk1YS42ODcuNjg3IDAgMCAxIC45NTcgMGw2LjE5NiA2LjA2NGEuMTcyLjE3MiAwIDAgMCAuMjM5IDBsNi4xOTUtNi4wNjRhLjY4Ny42ODcgMCAwIDEgLjk1NyAwbDYuMTk2IDYuMDY0YS4xNzIuMTcyIDAgMCAwIC4yNCAwbDYuMTk1LTYuMDY0YS42ODcuNjg3IDAgMCAxIC45NTYgMFpNNDguMDkzIDIwLjk0OGwyLjMzOC05LjM1NWMuMTM5LS41MTUuMjU4LTEuMDcuNDE2LTEuOTQyLjEyLjg3Mi4yNTggMS40MjcuMzU3IDEuOTQybDIuMDIyIDkuMzU1aDQuMTgxbDMuNTI4LTEzLjg3NGgtMy4yMWwtMS45NDMgOC41MjNhMjQuODI1IDI0LjgyNSAwIDAgMC0uNDU2IDIuNDU3Yy0uMTU4LS45MzEtLjMxNy0xLjYyNS0uNDk1LTIuNDM4bC0xLjg4My04LjU0MmgtNC4yMDFsLTIuMDQyIDguNTQyYTQxLjIwNCA0MS4yMDQgMCAwIDAtLjQ3NSAyLjQzOCA0MS4yMDggNDEuMjA4IDAgMCAwLS40NzYtMi40MzhsLTEuOTAzLTguNTQyaC0zLjM0OWwzLjUwOCAxMy44NzRoNC4wODNaTTYzLjMzIDIxLjMwNGMxLjU4NSAwIDIuNTk2LS42NTQgMy4xMS0xLjYwNS0uMDU5LjI5Ny0uMDc4LjU5NS0uMDc4Ljg5MnYuMzU3aDIuNjU1VjE1LjIyYzAtMi43MzUtMS4yNDgtNC4zMi00LjMtNC4zMi0yLjYzNiAwLTQuMzYgMS40NjYtNC41MiAzLjQ4N2gyLjkxNGMuMS0uODkxLjczNC0xLjQyNiAxLjcwNS0xLjQyNi45MTEgMCAxLjQwNy41MTUgMS40MDcgMS4xMSAwIC40MzUtLjI1OC42OTMtMS4wMy43OTJsLTEuMzg4LjE1OWMtMi4wNjEuMjU3LTMuODI1IDEuMDEtMy44MjUgMy4xOSAwIDEuOTgyIDEuNjQ1IDMuMDkyIDMuMzUgMy4wOTJabS44OTEtMi4wNDFjLS43NzMgMC0xLjM0OC0uNDM2LTEuMzQ4LTEuMTkgMC0uNzMzLjY1NS0xLjA5IDEuNjQ1LTEuMjY4bC42NzQtLjExOWMuNTc1LS4xMTguODkyLS4yMTggMS4wOS0uMzk2di45MTJjMCAxLjIyOC0uODkyIDIuMDYtMi4wNiAyLjA2Wk03MC4zOTggNy4wNzR2MTMuODc0aDIuODc0VjcuMDc0aC0yLjg3NFpNNzQuOTM0IDcuMDc0djEzLjg3NGgyLjg3NFY3LjA3NGgtMi44NzRaTTg0LjA4IDIxLjMwNGMyLjczNSAwIDQuNS0xLjU0NiA0LjY5Ny0zLjU2N2gtMi44OTNjLS4xMzkuODkyLS44OTIgMS4zODctMS44MDQgMS4zODctMS4yMjggMC0yLjEyLS45OS0yLjE0LTIuMzU4aDYuODk3di0uNTU1YzAtMy4yMS0xLjc2NC01LjMxMi00LjgxNi01LjMxMi0yLjkzMyAwLTQuOTk0IDIuMDYyLTQuOTk0IDUuMTczIDAgMy4zNyAyLjEyIDUuMjMyIDUuMDUzIDUuMjMyWm0tMi4xNi02LjQyMWMuMTE5LTEuMTEuOTMyLTEuOTIyIDIuMDgxLTEuOTIyIDEuMTEgMCAxLjg4My43NzIgMS45MDMgMS45MjJIODEuOTJaTTk0LjkyIDIxLjE0NmMuNjMzIDAgMS4yNDgtLjEgMS41MjUtLjE3OXYtMi4xOGMtLjIxOC4wNC0uNDc1LjA2LS42OTMuMDYtMS4wNSAwLTEuNDI3LS41OTUtMS40MjctMS41NjZ2LTMuODA1aDIuMzM4di0yLjI0aC0yLjMzOFY3Ljc4OEg5MS40N3YzLjQ0OEg4OS4zN3YyLjI0aDIuMXY0LjIwMWMwIDIuMyAxLjE1IDMuNDY5IDMuNDUgMy40NjlaTTEwNC42MiAyMS4zMDRjMy45MjQgMCA2LjMwMi0yLjI5OSA2LjU5OS01LjYwOGgtMy4xMTFjLS4yMzggMS44MDMtMS41MDYgMy4wMzItMy4zNjkgMy4wMzItMi4yIDAtMy43NDYtMS43ODQtMy43NDYtNC43OTYgMC0yLjk1MyAxLjYwNS00LjYzOCAzLjgwNS00LjYzOCAxLjg4MyAwIDIuOTUzIDEuMTUgMy4xNzEgMi44MzRoMy4xOTFjLS4zMTctMy40NDgtMi44NTQtNS40MS02LjM0Mi01LjQxLTMuOTg0IDAtNy4wMzYgMi42OTUtNy4wMzYgNy4yMTQgMCA0LjY3NyAyLjY3NiA3LjM3MiA2LjgzOCA3LjM3MlpNMTE3LjQ0OSAyMS4zMDRjMi45OTMgMCA1LjExNC0xLjg4MiA1LjExNC01LjE3MiAwLTMuMjMtMi4xMjEtNS4yMzMtNS4xMTQtNS4yMzMtMi45NzIgMC01LjA5MyAyLjAwMi01LjA5MyA1LjIzMyAwIDMuMjkgMi4xMDEgNS4xNzIgNS4wOTMgNS4xNzJabTAtMi4yMmMtMS4zMjcgMC0yLjE4LTEuMDktMi4xOC0yLjk1MiAwLTEuOTAzLjg5Mi0yLjk3MyAyLjE4LTIuOTczIDEuMzA4IDAgMi4yIDEuMDcgMi4yIDIuOTczIDAgMS44NjItLjg3MiAyLjk1My0yLjIgMi45NTNaTTEyNi41NjkgMjAuOTQ4di01LjY4OWMwLTEuMjA4Ljc1My0yLjEgMS44MjMtMi4xIDEuMDExIDAgMS42MDYuNzczIDEuNjA2IDIuMDZ2NS43MjloMi44NzN2LTYuMTQ0YzAtMi4zMzktMS4yMjktMy45MDUtMy40MjgtMy45MDUtMS41MjYgMC0yLjQ1OC43MzQtMi45NTMgMS42MDZhNS4zMSA1LjMxIDAgMCAwIC4wNzktLjg5MnYtLjM3N2gtMi44NzR2OS43MTJoMi44NzRaTTEzNy40NjQgMjAuOTQ4di01LjY4OWMwLTEuMjA4Ljc1My0yLjEgMS44MjMtMi4xIDEuMDExIDAgMS42MDYuNzczIDEuNjA2IDIuMDZ2NS43MjloMi44NzN2LTYuMTQ0YzAtMi4zMzktMS4yMjgtMy45MDUtMy40MjgtMy45MDUtMS41MjYgMC0yLjQ1OC43MzQtMi45NTMgMS42MDZhNS4zMSA1LjMxIDAgMCAwIC4wNzktLjg5MnYtLjM3N2gtMi44NzR2OS43MTJoMi44NzRaTTE0OS45NDkgMjEuMzA0YzIuNzM1IDAgNC40OTktMS41NDYgNC42OTctMy41NjdoLTIuODkzYy0uMTM5Ljg5Mi0uODkyIDEuMzg3LTEuODA0IDEuMzg3LTEuMjI4IDAtMi4xMi0uOTktMi4xNC0yLjM1OGg2Ljg5N3YtLjU1NWMwLTMuMjEtMS43NjQtNS4zMTItNC44MTYtNS4zMTItMi45MzMgMC00Ljk5NCAyLjA2Mi00Ljk5NCA1LjE3MyAwIDMuMzcgMi4xMiA1LjIzMiA1LjA1MyA1LjIzMlptLTIuMTYtNi40MjFjLjExOS0xLjExLjkzMi0xLjkyMiAyLjA4MS0xLjkyMiAxLjExIDAgMS44ODMuNzcyIDEuOTAzIDEuOTIyaC0zLjk4NFpNMTYwLjg3NiAyMS4zMDRjMy4wMTMgMCA0LjY1OC0xLjY0NSA0Ljk3NS00LjIwMWgtMi44NzRjLS4wOTkgMS4wNy0uNzEzIDEuOTgyLTIuMDAxIDEuOTgyLTEuMzA5IDAtMi4yLTEuMjEtMi4yLTIuOTkzIDAtMS45NDIgMS4wMy0yLjkzMyAyLjI1OS0yLjkzMyAxLjIwOSAwIDEuODAzLjg3MiAxLjg4MyAxLjg4MmgyLjg3M2MtLjIxOC0yLjM1OC0xLjgyMy00LjE0Mi00Ljc3Ni00LjE0Mi0yLjg3NCAwLTUuMTUzIDEuOTAzLTUuMTUzIDUuMTkzIDAgMy4yNSAxLjkyMyA1LjIxMiA1LjAxNCA1LjIxMlpNMTcyLjA2NyAyMS4xNDZjLjYzNCAwIDEuMjQ4LS4xIDEuNTI2LS4xNzl2LTIuMThjLS4yMTguMDQtLjQ3Ni4wNi0uNjk0LjA2LTEuMDUgMC0xLjQyNy0uNTk1LTEuNDI3LTEuNTY2di0zLjgwNWgyLjMzOXYtMi4yNGgtMi4zMzlWNy43ODhoLTIuODU0djMuNDQ4aC0yLjF2Mi4yNGgyLjF2NC4yMDFjMCAyLjMgMS4xNSAzLjQ2OSAzLjQ0OSAzLjQ2OVoiIGZpbGw9IiNmZmYiLz48L3N2Zz5gLFdBTExFVF9DT05ORUNUX0lDT046dXRgPHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyOCAyMCI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNNy4zODYgNi40ODJjMy42NTMtMy41NzYgOS41NzUtMy41NzYgMTMuMjI4IDBsLjQ0LjQzYS40NTEuNDUxIDAgMCAxIDAgLjY0OEwxOS41NSA5LjAzM2EuMjM3LjIzNyAwIDAgMS0uMzMgMGwtLjYwNi0uNTkyYy0yLjU0OC0yLjQ5Ni02LjY4LTIuNDk2LTkuMjI4IDBsLS42NDguNjM0YS4yMzcuMjM3IDAgMCAxLS4zMyAwTDYuOTAyIDcuNjAyYS40NTEuNDUxIDAgMCAxIDAtLjY0N2wuNDgzLS40NzNabTE2LjMzOCAzLjA0NiAxLjMzOSAxLjMxYS40NTEuNDUxIDAgMCAxIDAgLjY0OGwtNi4wMzUgNS45MDlhLjQ3NS40NzUgMCAwIDEtLjY2MiAwTDE0LjA4MyAxMy4yYS4xMTkuMTE5IDAgMCAwLS4xNjYgMGwtNC4yODMgNC4xOTRhLjQ3NS40NzUgMCAwIDEtLjY2MiAwbC02LjAzNS01LjkxYS40NTEuNDUxIDAgMCAxIDAtLjY0N2wxLjMzOC0xLjMxYS40NzUuNDc1IDAgMCAxIC42NjIgMGw0LjI4MyA0LjE5NGMuMDQ2LjA0NC4xMi4wNDQuMTY2IDBsNC4yODMtNC4xOTRhLjQ3NS40NzUgMCAwIDEgLjY2MiAwbDQuMjgzIDQuMTk0Yy4wNDYuMDQ0LjEyLjA0NC4xNjYgMGw0LjI4My00LjE5NGEuNDc1LjQ3NSAwIDAgMSAuNjYyIDBaIiBmaWxsPSIjMDAwMDAwIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTTAgMGgyOHYyMEgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPmAsV0FMTEVUX0NPTk5FQ1RfSUNPTl9DT0xPUkVEOnV0YDxzdmcgd2lkdGg9Ijk2IiBoZWlnaHQ9Ijk2IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMjUuMzIyIDMzLjU5N2MxMi41MjUtMTIuMjYzIDMyLjgzLTEyLjI2MyA0NS4zNTUgMGwxLjUwNyAxLjQ3NmExLjU0NyAxLjU0NyAwIDAgMSAwIDIuMjJsLTUuMTU2IDUuMDQ4YS44MTQuODE0IDAgMCAxLTEuMTM0IDBsLTIuMDc0LTIuMDNjLTguNzM3LTguNTU1LTIyLjkwMy04LjU1NS0zMS42NCAwbC0yLjIyMiAyLjE3NWEuODE0LjgxNCAwIDAgMS0xLjEzNCAwbC01LjE1Ni01LjA0OWExLjU0NyAxLjU0NyAwIDAgMSAwLTIuMjJsMS42NTQtMS42MlptNTYuMDE5IDEwLjQ0IDQuNTg5IDQuNDk0YTEuNTQ3IDEuNTQ3IDAgMCAxIDAgMi4yMmwtMjAuNjkzIDIwLjI2YTEuNjI4IDEuNjI4IDAgMCAxLTIuMjY3IDBMNDguMjgzIDU2LjYzMmEuNDA3LjQwNyAwIDAgMC0uNTY3IDBMMzMuMDMgNzEuMDEyYTEuNjI4IDEuNjI4IDAgMCAxLTIuMjY4IDBMMTAuMDcgNTAuNzVhMS41NDcgMS41NDcgMCAwIDEgMC0yLjIybDQuNTktNC40OTRhMS42MjggMS42MjggMCAwIDEgMi4yNjcgMGwxNC42ODcgMTQuMzhjLjE1Ni4xNTMuNDEuMTUzLjU2NyAwbDE0LjY4NS0xNC4zOGExLjYyOCAxLjYyOCAwIDAgMSAyLjI2OCAwbDE0LjY4NyAxNC4zOGMuMTU2LjE1My40MS4xNTMuNTY3IDBsMTQuNjg2LTE0LjM4YTEuNjI4IDEuNjI4IDAgMCAxIDIuMjY4IDBaIi8+PHBhdGggc3Ryb2tlPSIjMDAwIiBkPSJNMjUuNjcyIDMzLjk1NGMxMi4zMy0xMi4wNzIgMzIuMzI1LTEyLjA3MiA0NC42NTUgMGwxLjUwOCAxLjQ3NmExLjA0NyAxLjA0NyAwIDAgMSAwIDEuNTA2bC01LjE1NyA1LjA0OGEuMzE0LjMxNCAwIDAgMS0uNDM0IDBsLTIuMDc0LTIuMDNjLTguOTMyLTguNzQ2LTIzLjQwOS04Ljc0Ni0zMi4zNCAwbC0yLjIyMiAyLjE3NGEuMzE0LjMxNCAwIDAgMS0uNDM0IDBsLTUuMTU3LTUuMDQ4YTEuMDQ3IDEuMDQ3IDAgMCAxIDAtMS41MDZsMS42NTUtMS42MlptNTUuMzE5IDEwLjQ0IDQuNTkgNC40OTRhMS4wNDcgMS4wNDcgMCAwIDEgMCAxLjUwNmwtMjAuNjk0IDIwLjI2YTEuMTI4IDEuMTI4IDAgMCAxLTEuNTY4IDBsLTE0LjY4Ni0xNC4zOGEuOTA3LjkwNyAwIDAgMC0xLjI2NyAwTDMyLjY4IDcwLjY1NWExLjEyOCAxLjEyOCAwIDAgMS0xLjU2OCAwTDEwLjQyIDUwLjM5NGExLjA0NyAxLjA0NyAwIDAgMSAwLTEuNTA2bDQuNTktNC40OTNhMS4xMjggMS4xMjggMCAwIDEgMS41NjcgMGwxNC42ODcgMTQuMzc5YS45MDcuOTA3IDAgMCAwIDEuMjY2IDBsLS4zNS0uMzU3LjM1LjM1NyAxNC42ODYtMTQuMzhhMS4xMjggMS4xMjggMCAwIDEgMS41NjggMGwxNC42ODcgMTQuMzhhLjkwNy45MDcgMCAwIDAgMS4yNjcgMGwxNC42ODYtMTQuMzhhMS4xMjggMS4xMjggMCAwIDEgMS41NjggMFoiLz48L3N2Zz5gLEJBQ0tfSUNPTjp1dGA8c3ZnIHdpZHRoPSIxMCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDEwIDE4Ij48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTguNzM1LjE3OWEuNzUuNzUgMCAwIDEgLjA4NyAxLjA1N0wyLjkyIDguMTkyYTEuMjUgMS4yNSAwIDAgMCAwIDEuNjE3bDUuOTAyIDYuOTU2YS43NS43NSAwIDEgMS0xLjE0NC45N0wxLjc3NiAxMC43OGEyLjc1IDIuNzUgMCAwIDEgMC0zLjU1OUw3LjY3OC4yNjVBLjc1Ljc1IDAgMCAxIDguNzM1LjE4WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPmAsQ09QWV9JQ09OOnV0YDxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjAxIDcuMDFjLjAzLTEuNTQ1LjEzOC0yLjUuNTM1LTMuMjhBNSA1IDAgMCAxIDkuNzMgMS41NDVDMTAuOCAxIDEyLjIgMSAxNSAxYzIuOCAwIDQuMiAwIDUuMjcuNTQ1YTUgNSAwIDAgMSAyLjE4NSAyLjE4NUMyMyA0LjggMjMgNi4yIDIzIDljMCAyLjggMCA0LjItLjU0NSA1LjI3YTUgNSAwIDAgMS0yLjE4NSAyLjE4NWMtLjc4LjM5Ny0xLjczNS41MDUtMy4yOC41MzRsLS4wMDEuMDFjLS4wMyAxLjU0LS4xMzggMi40OTMtLjUzNCAzLjI3YTUgNSAwIDAgMS0yLjE4NSAyLjE4NkMxMy4yIDIzIDExLjggMjMgOSAyM2MtMi44IDAtNC4yIDAtNS4yNy0uNTQ1YTUgNSAwIDAgMS0yLjE4NS0yLjE4NUMxIDE5LjIgMSAxNy44IDEgMTVjMC0yLjggMC00LjIuNTQ1LTUuMjdBNSA1IDAgMCAxIDMuNzMgNy41NDVDNC41MDggNy4xNDkgNS40NiA3LjA0IDcgNy4wMWguMDFaTTE1IDE1LjVjLTEuNDI1IDAtMi40MDMtLjAwMS0zLjE2Mi0uMDYzLS43NC0uMDYtMS4xMzktLjE3Mi0xLjQyNy0uMzE5YTMuNSAzLjUgMCAwIDEtMS41My0xLjUyOWMtLjE0Ni0uMjg4LS4yNTctLjY4Ni0uMzE4LTEuNDI3QzguNTAxIDExLjQwMyA4LjUgMTAuNDI1IDguNSA5YzAtMS40MjUuMDAxLTIuNDAzLjA2My0zLjE2Mi4wNi0uNzQuMTcyLTEuMTM5LjMxOC0xLjQyN2EzLjUgMy41IDAgMCAxIDEuNTMtMS41M2MuMjg4LS4xNDYuNjg2LS4yNTcgMS40MjctLjMxOC43NTktLjA2MiAxLjczNy0uMDYzIDMuMTYyLS4wNjMgMS40MjUgMCAyLjQwMy4wMDEgMy4xNjIuMDYzLjc0LjA2IDEuMTM5LjE3MiAxLjQyNy4zMThhMy41IDMuNSAwIDAgMSAxLjUzIDEuNTNjLjE0Ni4yODguMjU3LjY4Ni4zMTggMS40MjcuMDYyLjc1OS4wNjMgMS43MzcuMDYzIDMuMTYyIDAgMS40MjUtLjAwMSAyLjQwMy0uMDYzIDMuMTYyLS4wNi43NC0uMTcyIDEuMTM5LS4zMTkgMS40MjdhMy41IDMuNSAwIDAgMS0xLjUyOSAxLjUzYy0uMjg4LjE0Ni0uNjg2LjI1Ny0xLjQyNy4zMTgtLjc1OS4wNjItMS43MzcuMDYzLTMuMTYyLjA2M1pNNyA4LjUxMWMtLjQ0NC4wMDktLjgyNS4wMjUtMS4xNjIuMDUyLS43NC4wNi0xLjEzOS4xNzItMS40MjcuMzE4YTMuNSAzLjUgMCAwIDAtMS41MyAxLjUzYy0uMTQ2LjI4OC0uMjU3LjY4Ni0uMzE4IDEuNDI3LS4wNjIuNzU5LS4wNjMgMS43MzctLjA2MyAzLjE2MiAwIDEuNDI1LjAwMSAyLjQwMy4wNjMgMy4xNjIuMDYuNzQuMTcyIDEuMTM5LjMxOCAxLjQyN2EzLjUgMy41IDAgMCAwIDEuNTMgMS41M2MuMjg4LjE0Ni42ODYuMjU3IDEuNDI3LjMxOC43NTkuMDYyIDEuNzM3LjA2MyAzLjE2Mi4wNjMgMS40MjUgMCAyLjQwMy0uMDAxIDMuMTYyLS4wNjMuNzQtLjA2IDEuMTM5LS4xNzIgMS40MjctLjMxOWEzLjUgMy41IDAgMCAwIDEuNTMtMS41M2MuMTQ2LS4yODcuMjU3LS42ODUuMzE4LTEuNDI2LjAyNy0uMzM3LjA0My0uNzE4LjA1Mi0xLjE2MkgxNWMtMi44IDAtNC4yIDAtNS4yNy0uNTQ1YTUgNSAwIDAgMS0yLjE4NS0yLjE4NUM3IDEzLjIgNyAxMS44IDcgOXYtLjQ4OVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPmAsUkVUUllfSUNPTjp1dGA8c3ZnIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE1IDE2Ij48cGF0aCBkPSJNNi40NjQgMi4wM0EuNzUuNzUgMCAwIDAgNS40MDMuOTdMMi4wOCA0LjI5M2ExIDEgMCAwIDAgMCAxLjQxNEw1LjQwMyA5LjAzYS43NS43NSAwIDAgMCAxLjA2LTEuMDZMNC42NzIgNi4xNzdhLjI1LjI1IDAgMCAxIC4xNzctLjQyN2gyLjA4NWE0IDQgMCAxIDEtMy45MyA0Ljc0NmMtLjA3Ny0uNDA3LS40MDUtLjc0Ni0uODItLjc0Ni0uNDE0IDAtLjc1NS4zMzgtLjcuNzQ4YTUuNTAxIDUuNTAxIDAgMSAwIDUuNDUtNi4yNDhINC44NDhhLjI1LjI1IDAgMCAxLS4xNzctLjQyN0w2LjQ2NCAyLjAzWiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPmAsREVTS1RPUF9JQ09OOnV0YDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCA1Ljk4YzAtMS44NSAwLTIuNzc1LjM5NC0zLjQ2NmEzIDMgMCAwIDEgMS4xMi0xLjEyQzIuMjA0IDEgMy4xMyAxIDQuOTggMWg2LjA0YzEuODUgMCAyLjc3NSAwIDMuNDY2LjM5NGEzIDMgMCAwIDEgMS4xMiAxLjEyQzE2IDMuMjA0IDE2IDQuMTMgMTYgNS45OHYxLjA0YzAgMS44NSAwIDIuNzc1LS4zOTQgMy40NjZhMyAzIDAgMCAxLTEuMTIgMS4xMkMxMy43OTYgMTIgMTIuODcgMTIgMTEuMDIgMTJINC45OGMtMS44NSAwLTIuNzc1IDAtMy40NjYtLjM5NGEzIDMgMCAwIDEtMS4xMi0xLjEyQzAgOS43OTYgMCA4Ljg3IDAgNy4wMlY1Ljk4Wk00Ljk4IDIuNWg2LjA0Yy45NTMgMCAxLjU2OC4wMDEgMi4wMzQuMDQzLjQ0Ni4wNC42MDguMTA4LjY5LjE1NGExLjUgMS41IDAgMCAxIC41NTkuNTZjLjA0Ni4wOC4xMTQuMjQzLjE1NC42OS4wNDIuNDY1LjA0MyAxLjA4LjA0MyAyLjAzM3YxLjA0YzAgLjk1Mi0uMDAxIDEuNTY4LS4wNDMgMi4wMzQtLjA0LjQ0Ni0uMTA4LjYwOC0uMTU0LjY5YTEuNDk5IDEuNDk5IDAgMCAxLS41Ni41NTljLS4wOC4wNDYtLjI0My4xMTQtLjY5LjE1NC0uNDY2LjA0Mi0xLjA4LjA0My0yLjAzMy4wNDNINC45OGMtLjk1MiAwLTEuNTY4LS4wMDEtMi4wMzQtLjA0My0uNDQ2LS4wNC0uNjA4LS4xMDgtLjY5LS4xNTRhMS41IDEuNSAwIDAgMS0uNTU5LS41NmMtLjA0Ni0uMDgtLjExNC0uMjQzLS4xNTQtLjY5LS4wNDItLjQ2NS0uMDQzLTEuMDgtLjA0My0yLjAzM1Y1Ljk4YzAtLjk1Mi4wMDEtMS41NjguMDQzLTIuMDM0LjA0LS40NDYuMTA4LS42MDguMTU0LS42OWExLjUgMS41IDAgMCAxIC41Ni0uNTU5Yy4wOC0uMDQ2LjI0My0uMTE0LjY5LS4xNTQuNDY1LS4wNDIgMS4wOC0uMDQzIDIuMDMzLS4wNDNaIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTQgMTQuMjVhLjc1Ljc1IDAgMCAxIC43NS0uNzVoNi41YS43NS43NSAwIDAgMSAwIDEuNWgtNi41YS43NS43NSAwIDAgMS0uNzUtLjc1WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPmAsTU9CSUxFX0lDT046dXRgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTYuNzUgNWExLjI1IDEuMjUgMCAxIDAgMC0yLjUgMS4yNSAxLjI1IDAgMCAwIDAgMi41WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyA0Ljk4YzAtMS44NSAwLTIuNzc1LjM5NC0zLjQ2NmEzIDMgMCAwIDEgMS4xMi0xLjEyQzUuMjA0IDAgNi4xMzYgMCA4IDBzMi43OTUgMCAzLjQ4Ni4zOTRhMyAzIDAgMCAxIDEuMTIgMS4xMkMxMyAyLjIwNCAxMyAzLjEzIDEzIDQuOTh2Ni4wNGMwIDEuODUgMCAyLjc3NS0uMzk0IDMuNDY2YTMgMyAwIDAgMS0xLjEyIDEuMTJDMTAuNzk2IDE2IDkuODY0IDE2IDggMTZzLTIuNzk1IDAtMy40ODYtLjM5NGEzIDMgMCAwIDEtMS4xMi0xLjEyQzMgMTMuNzk2IDMgMTIuODcgMyAxMS4wMlY0Ljk4Wm04LjUgMHY2LjA0YzAgLjk1My0uMDAxIDEuNTY4LS4wNDMgMi4wMzQtLjA0LjQ0Ni0uMTA4LjYwOC0uMTU0LjY5YTEuNDk5IDEuNDk5IDAgMCAxLS41Ni41NTljLS4wOC4wNDUtLjI0Mi4xMTMtLjY5My4xNTQtLjQ3LjA0Mi0xLjA5MS4wNDMtMi4wNS4wNDMtLjk1OSAwLTEuNTgtLjAwMS0yLjA1LS4wNDMtLjQ1LS4wNC0uNjEzLS4xMDktLjY5My0uMTU0YTEuNSAxLjUgMCAwIDEtLjU2LS41NmMtLjA0Ni0uMDgtLjExNC0uMjQzLS4xNTQtLjY5LS4wNDItLjQ2Ni0uMDQzLTEuMDgtLjA0My0yLjAzM1Y0Ljk4YzAtLjk1Mi4wMDEtMS41NjguMDQzLTIuMDM0LjA0LS40NDYuMTA4LS42MDguMTU0LS42OWExLjUgMS41IDAgMCAxIC41Ni0uNTU5Yy4wOC0uMDQ1LjI0My0uMTEzLjY5My0uMTU0QzYuNDIgMS41MDEgNy4wNDEgMS41IDggMS41Yy45NTkgMCAxLjU4LjAwMSAyLjA1LjA0My40NS4wNC42MTMuMTA5LjY5My4xNTRhMS41IDEuNSAwIDAgMSAuNTYuNTZjLjA0Ni4wOC4xMTQuMjQzLjE1NC42OS4wNDIuNDY1LjA0MyAxLjA4LjA0MyAyLjAzM1oiIGZpbGw9IiNmZmYiLz48L3N2Zz5gLEFSUk9XX0RPV05fSUNPTjp1dGA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDE0IDE0Ij48cGF0aCBkPSJNMi4yOCA3LjQ3YS43NS43NSAwIDAgMC0xLjA2IDEuMDZsNS4yNSA1LjI1YS43NS43NSAwIDAgMCAxLjA2IDBsNS4yNS01LjI1YS43NS43NSAwIDAgMC0xLjA2LTEuMDZsLTMuNTQ0IDMuNTQzYS4yNS4yNSAwIDAgMS0uNDI2LS4xNzdWLjc1YS43NS43NSAwIDAgMC0xLjUgMHYxMC4wODZhLjI1LjI1IDAgMCAxLS40MjcuMTc2TDIuMjggNy40N1oiIGZpbGw9IiNmZmYiLz48L3N2Zz5gLEFSUk9XX1VQX1JJR0hUX0lDT046dXRgPHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik00LjUgMS43NUEuNzUuNzUgMCAwIDEgNS4yNSAxSDEyYTEuNSAxLjUgMCAwIDEgMS41IDEuNXY2Ljc1YS43NS43NSAwIDAgMS0xLjUgMFY0LjE2NGEuMjUuMjUgMCAwIDAtLjQyNy0uMTc2TDQuMDYxIDExLjVBLjc1Ljc1IDAgMCAxIDMgMTAuNDRsNy41MTMtNy41MTNhLjI1LjI1IDAgMCAwLS4xNzctLjQyN0g1LjI1YS43NS43NSAwIDAgMS0uNzUtLjc1WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPmAsQVJST1dfUklHSFRfSUNPTjp1dGA8c3ZnIHdpZHRoPSI2IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgNiAxNCI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjE4MSAxLjA5OWEuNzUuNzUgMCAwIDEgMS4wMjQuMjc5bDIuNDMzIDQuMjU4YTIuNzUgMi43NSAwIDAgMSAwIDIuNzI5bC0yLjQzMyA0LjI1N2EuNzUuNzUgMCAxIDEtMS4zMDMtLjc0NEw0LjMzNSA3LjYyYTEuMjUgMS4yNSAwIDAgMCAwLTEuMjRMMS45MDIgMi4xMjJhLjc1Ljc1IDAgMCAxIC4yOC0xLjAyM1oiIGZpbGw9IiNmZmYiLz48L3N2Zz5gLFFSQ09ERV9JQ09OOnV0YDxzdmcgd2lkdGg9IjI1IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjUgMjQiPjxwYXRoIGQ9Ik0yMy43NDggOWEuNzQ4Ljc0OCAwIDAgMCAuNzQ4LS43NTJjLS4wMTgtMi41OTYtLjEyOC00LjA3LS43ODQtNS4yMmE2IDYgMCAwIDAtMi4yNC0yLjI0Yy0xLjE1LS42NTYtMi42MjQtLjc2Ni01LjIyLS43ODRhLjc0OC43NDggMCAwIDAtLjc1Mi43NDhjMCAuNDE0LjMzNS43NDkuNzQ4Ljc1MiAxLjAxNS4wMDcgMS44Mi4wMjggMi40OTQuMDg4Ljk5NS4wOSAxLjU2MS4yNTYgMS45ODguNS43LjM5OCAxLjI4Ljk3OCAxLjY3OSAxLjY3OC4yNDMuNDI3LjQxLjk5My40OTggMS45ODguMDYxLjY3NS4wODIgMS40NzkuMDkgMi40OTNhLjc1My43NTMgMCAwIDAgLjc1Ljc0OVpNMy41MjcuNzg4QzQuNjc3LjEzMiA2LjE1Mi4wMjIgOC43NDcuMDA0QS43NDguNzQ4IDAgMCAxIDkuNS43NTJhLjc1My43NTMgMCAwIDEtLjc0OS43NTJjLTEuMDE0LjAwNy0xLjgxOC4wMjgtMi40OTMuMDg4LS45OTUuMDktMS41NjEuMjU2LTEuOTg4LjUtLjcuMzk4LTEuMjguOTc4LTEuNjc5IDEuNjc4LS4yNDMuNDI3LS40MS45OTMtLjQ5OSAxLjk4OC0uMDYuNjc1LS4wODEgMS40NzktLjA4OCAyLjQ5M0EuNzUzLjc1MyAwIDAgMSAxLjI1MiA5YS43NDguNzQ4IDAgMCAxLS43NDgtLjc1MmMuMDE4LTIuNTk2LjEyOC00LjA3Ljc4NC01LjIyYTYgNiAwIDAgMSAyLjI0LTIuMjRaTTEuMjUyIDE1YS43NDguNzQ4IDAgMCAwLS43NDguNzUyYy4wMTggMi41OTYuMTI4IDQuMDcuNzg0IDUuMjJhNiA2IDAgMCAwIDIuMjQgMi4yNGMxLjE1LjY1NiAyLjYyNC43NjYgNS4yMi43ODRhLjc0OC43NDggMCAwIDAgLjc1Mi0uNzQ4Ljc1My43NTMgMCAwIDAtLjc0OS0uNzUyYy0xLjAxNC0uMDA3LTEuODE4LS4wMjgtMi40OTMtLjA4OS0uOTk1LS4wODktMS41NjEtLjI1NS0xLjk4OC0uNDk4YTQuNSA0LjUgMCAwIDEtMS42NzktMS42OGMtLjI0My0uNDI2LS40MS0uOTkyLS40OTktMS45ODctLjA2LS42NzUtLjA4MS0xLjQ3OS0uMDg4LTIuNDkzQS43NTMuNzUzIDAgMCAwIDEuMjUyIDE1Wk0yMi45OTYgMTUuNzQ5YS43NTMuNzUzIDAgMCAxIC43NTItLjc0OWMuNDE1IDAgLjc1MS4zMzguNzQ4Ljc1Mi0uMDE4IDIuNTk2LS4xMjggNC4wNy0uNzg0IDUuMjJhNiA2IDAgMCAxLTIuMjQgMi4yNGMtMS4xNS42NTYtMi42MjQuNzY2LTUuMjIuNzg0YS43NDguNzQ4IDAgMCAxLS43NTItLjc0OGMwLS40MTQuMzM1LS43NDkuNzQ4LS43NTIgMS4wMTUtLjAwNyAxLjgyLS4wMjggMi40OTQtLjA4OS45OTUtLjA4OSAxLjU2MS0uMjU1IDEuOTg4LS40OThhNC41IDQuNSAwIDAgMCAxLjY3OS0xLjY4Yy4yNDMtLjQyNi40MS0uOTkyLjQ5OC0xLjk4Ny4wNjEtLjY3NS4wODItMS40NzkuMDktMi40OTNaIiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03IDRhMi41IDIuNSAwIDAgMC0yLjUgMi41djJBMi41IDIuNSAwIDAgMCA3IDExaDJhMi41IDIuNSAwIDAgMCAyLjUtMi41di0yQTIuNSAyLjUgMCAwIDAgOSA0SDdabTIgMS41SDdhMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMCAxIDFoMmExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTFaTTEzLjUgNi41QTIuNSAyLjUgMCAwIDEgMTYgNGgyYTIuNSAyLjUgMCAwIDEgMi41IDIuNXYyQTIuNSAyLjUgMCAwIDEgMTggMTFoLTJhMi41IDIuNSAwIDAgMS0yLjUtMi41di0yWm0yLjUtMWgyYTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDEtMSAxaC0yYTEgMSAwIDAgMS0xLTF2LTJhMSAxIDAgMCAxIDEtMVpNNyAxM2EyLjUgMi41IDAgMCAwLTIuNSAyLjV2MkEyLjUgMi41IDAgMCAwIDcgMjBoMmEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTJBMi41IDIuNSAwIDAgMCA5IDEzSDdabTIgMS41SDdhMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMCAxIDFoMmExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTFaIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEzLjUgMTUuNWMwLS40NjUgMC0uNjk3LjAzOC0uODlhMiAyIDAgMCAxIDEuNTcyLTEuNTcyQzE1LjMwMyAxMyAxNS41MzUgMTMgMTYgMTN2Mi41aC0yLjVaTTE4IDEzYy40NjUgMCAuNjk3IDAgLjg5LjAzOGEyIDIgMCAwIDEgMS41NzIgMS41NzJjLjAzOC4xOTMuMDM4LjQyNS4wMzguODlIMThWMTNaTTE4IDE3LjVoMi41YzAgLjQ2NSAwIC42OTctLjAzOC44OWEyIDIgMCAwIDEtMS41NzIgMS41NzJDMTguNjk3IDIwIDE4LjQ2NSAyMCAxOCAyMHYtMi41Wk0xMy41IDE3LjVIMTZWMjBjLS40NjUgMC0uNjk3IDAtLjg5LS4wMzhhMiAyIDAgMCAxLTEuNTcyLTEuNTcyYy0uMDM4LS4xOTMtLjAzOC0uNDI1LS4wMzgtLjg5WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPmAsU0NBTl9JQ09OOnV0YDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTAgMTUuMjE2YzAgLjQyMi4zNDcuNzYzLjc2OC43NCAxLjIwMi0uMDY0IDIuMDI1LS4yMjIgMi43MS0uNjEzYTUuMDAxIDUuMDAxIDAgMCAwIDEuODY1LTEuODY2Yy4zOS0uNjg0LjU0OS0xLjUwNy42MTMtMi43MDlhLjczNS43MzUgMCAwIDAtLjc0LS43NjguNzY4Ljc2OCAwIDAgMC0uNzYuNzMyYy0uMDA5LjE1Ny0uMDIuMzA2LS4wMzIuNDQ3LS4wNzMuODEyLS4yMDYgMS4yNDQtLjM4NCAxLjU1NS0uMzEuNTQ1LS43NjEuOTk2LTEuMzA2IDEuMzA2LS4zMTEuMTc4LS43NDMuMzExLTEuNTU1LjM4NC0uMTQxLjAxMy0uMjkuMDIzLS40NDcuMDMyYS43NjguNzY4IDAgMCAwLS43MzIuNzZaTTEwIC43ODRjMCAuNDA3LjMyNS43MzcuNzMyLjc2LjE1Ny4wMDkuMzA2LjAyLjQ0Ny4wMzIuODEyLjA3MyAxLjI0NC4yMDYgMS41NTUuMzg0YTMuNSAzLjUgMCAwIDEgMS4zMDYgMS4zMDZjLjE3OC4zMTEuMzExLjc0My4zODQgMS41NTUuMDEzLjE0Mi4wMjMuMjkuMDMyLjQ0N2EuNzY4Ljc2OCAwIDAgMCAuNzYuNzMyLjczNC43MzQgMCAwIDAgLjc0LS43NjhjLS4wNjQtMS4yMDItLjIyMi0yLjAyNS0uNjEzLTIuNzFBNSA1IDAgMCAwIDEzLjQ3Ny42NThjLS42ODQtLjM5LTEuNTA3LS41NDktMi43MDktLjYxM2EuNzM1LjczNSAwIDAgMC0uNzY4Ljc0Wk01LjIzMi4wNDRBLjczNS43MzUgMCAwIDEgNiAuNzg0YS43NjguNzY4IDAgMCAxLS43MzIuNzZjLS4xNTcuMDA5LS4zMDUuMDItLjQ0Ny4wMzItLjgxMi4wNzMtMS4yNDQuMjA2LTEuNTU1LjM4NEEzLjUgMy41IDAgMCAwIDEuOTYgMy4yNjZjLS4xNzguMzExLS4zMTEuNzQzLS4zODQgMS41NTUtLjAxMy4xNDItLjAyMy4yOS0uMDMyLjQ0N0EuNzY4Ljc2OCAwIDAgMSAuNzg0IDZhLjczNS43MzUgMCAwIDEtLjc0LS43NjhjLjA2NC0xLjIwMi4yMjItMi4wMjUuNjEzLTIuNzFBNSA1IDAgMCAxIDIuNTIzLjY1OEMzLjIwNy4yNjcgNC4wMy4xMDggNS4yMzMuMDQ0Wk01LjI2OCAxNC40NTZhLjc2OC43NjggMCAwIDEgLjczMi43Ni43MzQuNzM0IDAgMCAxLS43NjguNzRjLTEuMjAyLS4wNjQtMi4wMjUtLjIyMi0yLjcxLS42MTNhNSA1IDAgMCAxLTEuODY1LTEuODY2Yy0uMzktLjY4NC0uNTQ5LTEuNTA3LS42MTMtMi43MDlBLjczNS43MzUgMCAwIDEgLjc4NCAxMGMuNDA3IDAgLjczNy4zMjUuNzYuNzMyLjAwOS4xNTcuMDIuMzA2LjAzMi40NDcuMDczLjgxMi4yMDYgMS4yNDQuMzg0IDEuNTU1YTMuNSAzLjUgMCAwIDAgMS4zMDYgMS4zMDZjLjMxMS4xNzguNzQzLjMxMSAxLjU1NS4zODQuMTQyLjAxMy4yOS4wMjMuNDQ3LjAzMloiLz48L3N2Zz5gLENIRUNLTUFSS19JQ09OOnV0YDxzdmcgd2lkdGg9IjEzIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTMgMTIiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTIuMTU1LjEzMmEuNzUuNzUgMCAwIDEgLjIzMiAxLjAzNUw1LjgyMSAxMS41MzVhMSAxIDAgMCAxLTEuNjI2LjA5TC42NjUgNy4yMWEuNzUuNzUgMCAxIDEgMS4xNy0uOTM3TDQuNzEgOS44NjdhLjI1LjI1IDAgMCAwIC40MDYtLjAyM0wxMS4xMi4zNjRhLjc1Ljc1IDAgMCAxIDEuMDM1LS4yMzJaIiBmaWxsPSIjZmZmIi8+PC9zdmc+YCxIRUxQX0VUSF9JTUc6dXRgPHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA2MCA2MCI+PGcgY2xpcC1wYXRoPSJ1cmwoI2opIj48cmVjdCB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHJ4PSIzMCIgZmlsbD0iIzk4N0RFOCIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJtMTUuNDggMjguMzY3IDExLjk2Ni0xOS4zYzEuMTc0LTEuODkyIDMuOTI3LTEuODkyIDUuMSAwbDExLjk3IDE5LjMwNmE2IDYgMCAwIDEgLjkgMy4xNDJ2LjAyOGE2IDYgMCAwIDEtMS4xNTQgMy41NkwzMy4yMjcgNTAuMjA4Yy0xLjU5OSAyLjE4OC00Ljg2NCAyLjE4OC02LjQ2MSAwTDE1LjczMyAzNS4wOTVhNiA2IDAgMCAxLTEuMTU0LTMuNTM4di0uMDI5YTYgNiAwIDAgMSAuOS0zLjE2MVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzAuODQgMTAuMTEyYS45OTIuOTkyIDAgMCAwLS44NDQtLjQ2NFYyNC41bDEyLjU5OCA1LjUzYy4wODEtLjQ2Ni0uMDAxLS45NjMtLjI3LTEuMzk4TDMwLjg0IDEwLjExMloiIGZpbGw9IiM2NDNDREQiLz48cGF0aCBkPSJNMjkuOTk2IDkuNjQ4YS45OTEuOTkxIDAgMCAwLS44NDUuNDY1bC0xMS40ODkgMTguNTNhMS45OTEgMS45OTEgMCAwIDAtLjI2NCAxLjM4N2wxMi41OTgtNS41M1Y5LjY0OFoiIGZpbGw9IiNCREFERUIiLz48cGF0aCBkPSJNMjkuOTk2IDUwLjU0NGEuOTk0Ljk5NCAwIDAgMCAuODA4LS40MWwxMS4yMzUtMTUuMzhjLjMwNy0uNDM0LS4xOTMtLjk4OC0uNjU4LS43MkwzMS40OSAzOS43MWEyLjk5OCAyLjk5OCAwIDAgMS0xLjQ5NC4zOTh2MTAuNDM3WiIgZmlsbD0iIzY0M0NERCIvPjxwYXRoIGQ9Ik0xNy45NjYgMzQuNzYyIDI5LjE5IDUwLjEzNGMuMi4yNzQuNTAzLjQxLjgwNy40MVY0MC4xMDhhMi45OTggMi45OTggMCAwIDEtMS40OTMtLjM5OGwtOS44ODQtNS42NzZjLS40NjgtLjI3LS45NzEuMjkyLS42NTMuNzI4WiIgZmlsbD0iI0JEQURFQiIvPjxwYXRoIGQ9Ik00Mi41OTQgMzAuMDMgMjkuOTk2IDI0LjV2MTMuMTM4YTMgMyAwIDAgMCAxLjQ5NS0uMzk5bDEwLjE0OS01LjgzYy41MjUtLjMxLjg1Ni0uODIzLjk1NC0xLjM4WiIgZmlsbD0iIzQwMUFCMyIvPjxwYXRoIGQ9Ik0yOS45OTYgMzcuNjM4VjI0LjQ2MmwtMTIuNTk4IDUuNTY2Yy4wOTguNTY0LjQzNyAxLjA4My45NzQgMS4zOTJsMTAuMTMgNS44MmMuNDYyLjI2NS45NzguMzk4IDEuNDk0LjM5OFoiIGZpbGw9IiM3QzVBRTIiLz48L2c+PHJlY3QgY2xhc3M9ImhlbHAtaW1nLWhpZ2hsaWdodCIgeD0iLjUiIHk9Ii41IiB3aWR0aD0iNTkiIGhlaWdodD0iNTkiIHJ4PSIyOS41Ii8+PGRlZnM+PGNsaXBQYXRoIGlkPSJqIj48cmVjdCB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHJ4PSIzMCIgZmlsbD0iI2ZmZiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPmAsSEVMUF9QQUlOVElOR19JTUc6dXRgPHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA2MCA2MCI+PGcgY2xpcC1wYXRoPSJ1cmwoI2spIj48cmVjdCB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHJ4PSIzIiBmaWxsPSIjQzY1M0M2Ii8+PHBhdGggZD0iTTUyLjA5NCA0Ny4zNDRjMC00LjI0Ni0xLjQzNi05LjU1Ny01Ljg4NS0xMi40YTIuODc2IDIuODc2IDAgMCAwLTEuNjE1LTMuODkxdi0uODE5YTQuMDM3IDQuMDM3IDAgMCAwLTEuMzQtMy4wMDcgNC43NSA0Ljc1IDAgMCAwLTIuNDEtNi4yNTJ2LTUuNTA2YzAtNi4yNDgtNS4wNjUtMTEuMzEzLTExLjMxMy0xMS4zMTMtNi4yNDcgMC0xMS4zMTIgNS4wNjUtMTEuMzEyIDExLjMxM3YyLjE1MmEzLjM0MyAzLjM0MyAwIDAgMC0xLjE4IDUuMDQ1IDQuNzM4IDQuNzM4IDAgMCAwLTEuNjMzIDMuNTg0IDQuNzMgNC43MyAwIDAgMCAuOTU2IDIuODU4IDUuMjE4IDUuMjE4IDAgMCAwLTIuMzU4IDYuODE1Yy0zLjA2IDQuMTI5LTYuMDk4IDguMjk4LTYuMDk4IDE1LjY0IDAgMi42NjguMzY0IDQuODU2LjczMSA2LjM4NS4xODQuNzY1LjM2OCAxLjM2Ni41MDkgMS43OGExMi43MjEgMTIuNzIxIDAgMCAwIC4yMjUuNjExbC4wMTUuMDM3LjAwNS4wMTEuMDAxLjAwNHYuMDAyaC4wMDFsLjkyLS4zOTMtLjkyLjM5NC4yNi42MDZoMzguMjZsLjI5MS0uNDktLjg2LS41MS44Ni41MXYtLjAwMWwuMDAyLS4wMDIuMDAyLS4wMDUuMDEtLjAxNy4wMzUtLjA2LjEyNy0uMjI1Yy4xMDgtLjE5NS4yNi0uNDc3LjQ0MS0uODM1LjM2My0uNzE0Ljg0NS0xLjczMiAxLjMyOC0yLjk1My45NTktMi40MjcgMS45NDUtNS43MjUgMS45NDUtOS4wNjhaIiBmaWxsPSIjRTg3REU4IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjYuNSAyOS41Yy0zLS41LTUuNS0zLTUuNTAzLTdsLjAwMi03YzAtLjQ2NiAwLS42OTguMDI2LS44OTNhMyAzIDAgMCAxIDIuNTgyLTIuNTgyYy4xOTUtLjAyNi40MjgtLjAyNi44OTMtLjAyNiAyIDAgMi41LTIuNSAyLjUtMi41czAgMi41IDIuNSAyLjVjMS4zOTggMCAyLjA5NyAwIDIuNjQ4LjIyOWEzIDMgMCAwIDEgMS42MjQgMS42MjNjLjIyOC41NTIuMjI4IDEuMjUuMjI4IDIuNjQ5djZjMCA0LTMgNy02LjUgNyAxLjM1LjIzIDQgMCA2LjUtMnY5LjUzQzM0IDM4LjUgMzEuNDk1IDQwIDI4IDQwcy02LTEuNS02LTIuOTdMMjQgMzRsMi41IDEuNXYtNlpNMjYgNDdoNC41YzIuNSAwIDMgNCAzIDUuNWgtM2wtMS0xLjVIMjZ2LTRabS02LjI1IDUuNUgyNFY1N2gtOGMwLTEgMS00LjUgMy43NS00LjVaIiBmaWxsPSIjZmZmIi8+PC9nPjxyZWN0IGNsYXNzPSJoZWxwLWltZy1oaWdobGlnaHQiIHg9Ii41IiB5PSIuNSIgd2lkdGg9IjU5IiBoZWlnaHQ9IjU5IiByeD0iMi41Ii8+PGRlZnM+PGNsaXBQYXRoIGlkPSJrIj48cmVjdCB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHJ4PSIzIiBmaWxsPSIjZmZmIi8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+YCxIRUxQX0NIQVJUX0lNRzp1dGA8c3ZnIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDYwIDYwIj48ZyBjbGlwLXBhdGg9InVybCgjbCkiPjxwYXRoIGQ9Ik0wIDI1LjAxQzAgMTUuNzYgMCAxMS4xMzMgMS45NyA3LjY3OGExNSAxNSAwIDAgMSA1LjU5OC01LjU5N0MxMS4wMjMuMTEgMTUuNjQ4LjExIDI0LjkuMTFoMTAuMmM5LjI1MSAwIDEzLjg3NyAwIDE3LjMzMiAxLjk3YTE1IDE1IDAgMCAxIDUuNTk3IDUuNTk3QzYwIDExLjEzMyA2MCAxNS43NTggNjAgMjUuMDF2MTAuMmMwIDkuMjUyIDAgMTMuODc3LTEuOTcgMTcuMzMyYTE1IDE1IDAgMCAxLTUuNTk4IDUuNTk4Yy0zLjQ1NSAxLjk3LTguMDggMS45Ny0xNy4zMzIgMS45N0gyNC45Yy05LjI1MSAwLTEzLjg3NyAwLTE3LjMzMi0xLjk3YTE0Ljk5OSAxNC45OTkgMCAwIDEtNS41OTctNS41OThDMCA0OS4wODcgMCA0NC40NjIgMCAzNS4yMXYtMTAuMloiIGZpbGw9IiMxREM5NTYiLz48cGF0aCBkPSJNLjUgMjUuMDFjMC00LjYzNSAwLTguMDc4LjI0NC0xMC43OTUuMjQ0LTIuNzEuNzI2LTQuNjUgMS42Ni02LjI4OWExNC41IDE0LjUgMCAwIDEgNS40MTItNS40MWMxLjYzOS0uOTM2IDMuNTc5LTEuNDE4IDYuMjg5LTEuNjYxQzE2LjgyMi42MSAyMC4yNjUuNjEgMjQuOS42MWgxMC4yYzQuNjM1IDAgOC4wNzggMCAxMC43OTUuMjQ1IDIuNzEuMjQzIDQuNjUuNzI1IDYuMjkgMS42NmExNC41IDE0LjUgMCAwIDEgNS40MSA1LjQxMWMuOTM1IDEuNjQgMS40MTcgMy41NzkgMS42NiA2LjI5LjI0NCAyLjcxNy4yNDUgNi4xNi4yNDUgMTAuNzk0djEwLjJjMCA0LjYzNSAwIDguMDc4LS4yNDQgMTAuNzk1LS4yNDQgMi43MS0uNzI2IDQuNjUtMS42NiA2LjI5YTE0LjUgMTQuNSAwIDAgMS01LjQxMiA1LjQxYy0xLjYzOS45MzYtMy41NzkgMS40MTgtNi4yODkgMS42NjEtMi43MTcuMjQ0LTYuMTYuMjQ0LTEwLjc5NS4yNDRIMjQuOWMtNC42MzUgMC04LjA3OCAwLTEwLjc5NS0uMjQ0LTIuNzEtLjI0My00LjY1LS43MjUtNi4yOS0xLjY2YTE0LjUgMTQuNSAwIDAgMS01LjQxLTUuNDEyQzEuNDcgNTAuNjU1Ljk4OCA0OC43MTYuNzQ1IDQ2LjAwNS41IDQzLjI4OC41IDM5Ljg0NS41IDM1LjIxdi0xMC4yWiIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utb3BhY2l0eT0iLjEiLz48cGF0aCBkPSJNMTYuMTA5IDYwYy0zLjgzMy0uMTc5LTYuNDEtLjY0NS04LjU0MS0xLjg2YTE1IDE1IDAgMCAxLTUuNTk4LTUuNTk4Qy41NTMgNTAuMDU3LjE1NSA0Ni45NjcuMDQzIDQxLjk4NWw0LjE0Ni0xLjM4MmE0IDQgMCAwIDAgMi40OC0yLjM5bDQuNjU0LTEyLjQwOWEyIDIgMCAwIDEgMi41MDUtMS4xOTVsMi41MjYuODQyYTIgMiAwIDAgMCAyLjQyMi0xLjAwM2wyLjk2OC01LjkzOGMuODEtMS42MiAzLjE4NS0xLjQxNSAzLjcwNS4zMmwzLjc3NCAxMi41ODFhMiAyIDAgMCAwIDMuMDI1IDEuMDlsMy4zNDItMi4yMjhjLjI3LS4xOC40OS0uNDIyLjY0Ni0uNzA2bDUuMjk3LTkuNzEyYTIgMiAwIDAgMSAxLjQyOC0xLjAxNmw0LjEzNC0uNjg5YTIgMiAwIDAgMSAxLjYxLjQzN2wzLjg5MiAzLjI0M2EyIDIgMCAwIDAgMi42OTQtLjEyMmw0LjYzMy00LjYzMkM2MCAxOS4yOCA2MCAyMS44OCA2MCAyNS4wMXYxMC4yYzAgOS4yNTIgMCAxMy44NzctMS45NyAxNy4zMzJhMTQuOTk4IDE0Ljk5OCAwIDAgMS01LjU5OCA1LjU5OGMtMi4xMzEgMS4yMTUtNC43MDggMS42ODEtOC41NCAxLjg2SDE2LjEwOFoiIGZpbGw9IiMyQkVFNkMiLz48cGF0aCBkPSJNLjA3MiA0My4wM2ExMTIuMzcgMTEyLjM3IDAgMCAxLS4wNDgtMi4wOTNsMy44NS0xLjI4M2EzIDMgMCAwIDAgMS44Ni0xLjc5M2w0LjY1My0xMi40MDhhMyAzIDAgMCAxIDMuNzU4LTEuNzkzbDIuNTI2Ljg0MmExIDEgMCAwIDAgMS4yMS0uNTAxbDIuOTctNS45MzhjMS4yMTQtMi40MyA0Ljc3NS0yLjEyMyA1LjU1Ni40OGwzLjc3NCAxMi41OGExIDEgMCAwIDAgMS41MTMuNTQ1bDMuMzQxLTIuMjI3YTEgMSAwIDAgMCAuMzIzLS4zNTNsNS4yOTgtOS43MTJhMyAzIDAgMCAxIDIuMTQtMS41MjNsNC4xMzUtLjY5YTMgMyAwIDAgMSAyLjQxNC42NTVsMy44OTIgMy4yNDRhMSAxIDAgMCAwIDEuMzQ3LS4wNjFsNS4yOC01LjI4Yy4wNDYuODQ1LjA3NyAxLjc1Mi4wOTcgMi43MzJsLTMuOTYyIDMuOTYyYTMgMyAwIDAgMS00LjA0Mi4xODNsLTMuODkzLTMuMjQzYTEgMSAwIDAgMC0uODA0LS4yMThsLTQuMTM1LjY4OWExIDEgMCAwIDAtLjcxNC41MDdsLTUuMjk3IDkuNzEyYy0uMjMzLjQyNy0uNTY1Ljc5LS45NyAxLjA2bC0zLjM0IDIuMjI4YTMgMyAwIDAgMS00LjUzOC0xLjYzNWwtMy43NzUtMTIuNThjLS4yNi0uODY4LTEuNDQ3LS45Ny0xLjg1Mi0uMTZsLTIuOTY5IDUuOTM3YTMgMyAwIDAgMS0zLjYzMiAxLjUwNWwtMi41MjYtLjg0MmExIDEgMCAwIDAtMS4yNTIuNTk3TDcuNjA2IDM4LjU2NGE1IDUgMCAwIDEtMy4xIDIuOTg4TC4wNzIgNDMuMDI5WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDkuNSAxOWE1LjUgNS41IDAgMSAxLTExIDAgNS41IDUuNSAwIDAgMSAxMSAwWiIgZmlsbD0iIzJCRUU2QyIvPjxwYXRoIGQ9Ik00Ny41IDE5YTMuNSAzLjUgMCAxIDEtNyAwIDMuNSAzLjUgMCAwIDEgNyAwWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik00NSAuMjgzdjU5LjY1NGMtLjYzLjA0Mi0xLjI5NC4wNzQtMiAuMDk4Vi4xODVjLjcwNi4wMjUgMS4zNy4wNTYgMiAuMDk4WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGNsYXNzPSJoZWxwLWltZy1oaWdobGlnaHQiIGQ9Ik0uNSAyNS4wMWMwLTQuNjM1IDAtOC4wNzguMjQ0LTEwLjc5NS4yNDQtMi43MS43MjYtNC42NSAxLjY2LTYuMjg5YTE0LjUgMTQuNSAwIDAgMSA1LjQxMi01LjQxYzEuNjM5LS45MzYgMy41NzktMS40MTggNi4yODktMS42NjFDMTYuODIyLjYxIDIwLjI2NS42MSAyNC45LjYxaDEwLjJjNC42MzUgMCA4LjA3OCAwIDEwLjc5NS4yNDUgMi43MS4yNDMgNC42NS43MjUgNi4yOSAxLjY2YTE0LjUgMTQuNSAwIDAgMSA1LjQxIDUuNDExYy45MzUgMS42NCAxLjQxNyAzLjU3OSAxLjY2IDYuMjkuMjQ0IDIuNzE3LjI0NSA2LjE2LjI0NSAxMC43OTR2MTAuMmMwIDQuNjM1IDAgOC4wNzgtLjI0NCAxMC43OTUtLjI0NCAyLjcxLS43MjYgNC42NS0xLjY2IDYuMjlhMTQuNSAxNC41IDAgMCAxLTUuNDEyIDUuNDFjLTEuNjM5LjkzNi0zLjU3OSAxLjQxOC02LjI4OSAxLjY2MS0yLjcxNy4yNDQtNi4xNi4yNDQtMTAuNzk1LjI0NEgyNC45Yy00LjYzNSAwLTguMDc4IDAtMTAuNzk1LS4yNDQtMi43MS0uMjQzLTQuNjUtLjcyNS02LjI5LTEuNjZhMTQuNSAxNC41IDAgMCAxLTUuNDEtNS40MTJDMS40NyA1MC42NTUuOTg4IDQ4LjcxNi43NDUgNDYuMDA1LjUgNDMuMjg4LjUgMzkuODQ1LjUgMzUuMjF2LTEwLjJaIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0ibCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg2MHY2MEgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPmAsSEVMUF9LRVlfSU1HOnV0YDxzdmcgd2lkdGg9IjYwIiBoZWlnaHQ9IjYwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNjAgNjAiPjxnIGNsaXAtcGF0aD0idXJsKCNtKSI+PHBhdGggZmlsbD0iI0VCOEI0NyIgZD0iTTAgMjQuOWMwLTkuMjUyIDAtMTMuODc4IDEuOTctMTcuMzMyQTE1IDE1IDAgMCAxIDcuNTY5IDEuOTdDMTEuMDIzIDAgMTUuNjQ4IDAgMjQuOSAwaDEwLjJjOS4yNTEgMCAxMy44NzcgMCAxNy4zMzIgMS45N2ExNSAxNSAwIDAgMSA1LjU5NyA1LjU5OEM2MCAxMS4wMjIgNjAgMTUuNjQ4IDYwIDI0Ljg5OXYxMC4yYzAgOS4yNTIgMCAxMy44NzgtMS45NyAxNy4zMzJhMTUuMDAxIDE1LjAwMSAwIDAgMS01LjU5OCA1LjU5OGMtMy40NTUgMS45Ny04LjA4IDEuOTctMTcuMzMyIDEuOTdIMjQuOWMtOS4yNTEgMC0xMy44NzcgMC0xNy4zMzItMS45N2ExNSAxNSAwIDAgMS01LjU5Ny01LjU5OEMwIDQ4Ljk3NyAwIDQ0LjM1MSAwIDM1LjFWMjQuOVoiLz48cGF0aCBjbGFzcz0iaGVscC1pbWctaGlnaGxpZ2h0IiBkPSJNLjUgMjQuOWMwLTQuNjM1IDAtOC4wNzguMjQ0LTEwLjc5NS4yNDQtMi43MS43MjYtNC42NSAxLjY2LTYuMjlhMTQuNSAxNC41IDAgMCAxIDUuNDEyLTUuNDFDOS40NTUgMS40NjggMTEuMzk1Ljk4NiAxNC4xMDUuNzQzIDE2LjgyMi41IDIwLjI2NS41IDI0LjkuNWgxMC4yYzQuNjM1IDAgOC4wNzggMCAxMC43OTUuMjQ0IDIuNzEuMjQzIDQuNjUuNzI1IDYuMjkgMS42NmExNC41IDE0LjUgMCAwIDEgNS40MSA1LjQxMWMuOTM1IDEuNjQgMS40MTcgMy41OCAxLjY2IDYuMjkuMjQ0IDIuNzE3LjI0NSA2LjE2LjI0NSAxMC43OTR2MTAuMmMwIDQuNjM1IDAgOC4wNzgtLjI0NCAxMC43OTYtLjI0NCAyLjcxLS43MjYgNC42NS0xLjY2IDYuMjg5YTE0LjUgMTQuNSAwIDAgMS01LjQxMiA1LjQxYy0xLjYzOS45MzYtMy41NzkgMS40MTgtNi4yODkgMS42NjEtMi43MTcuMjQ0LTYuMTYuMjQ0LTEwLjc5NS4yNDRIMjQuOWMtNC42MzUgMC04LjA3OCAwLTEwLjc5NS0uMjQ0LTIuNzEtLjI0My00LjY1LS43MjUtNi4yOS0xLjY2YTE0LjUgMTQuNSAwIDAgMS01LjQxLTUuNDExYy0uOTM1LTEuNjQtMS40MTctMy41OC0xLjY2LTYuMjlDLjUgNDMuMTc4LjUgMzkuNzM0LjUgMzUuMVYyNC45WiIvPjxwYXRoIGZpbGw9IiNGRjk3NEMiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMzkuMTkyIDI5LjE5MmM1LjA3Ny01LjA3NyA1LjA3Ny0xMy4zMDggMC0xOC4zODUtNS4wNzYtNS4wNzctMTMuMzA4LTUuMDc3LTE4LjM4NCAwLTUuMDc3IDUuMDc3LTUuMDc3IDEzLjMwOCAwIDE4LjM4NWwxLjI4NyAxLjI5MWMxLjEzNyAxLjE0MiAxLjcwNiAxLjcxMiAyLjA5NyAyLjM4Ny4yNjcuNDYyLjQ3Mi45NTcuNjA4IDEuNDczLjIuNzU1LjIgMS41Ni4yIDMuMTcxVjQ4Ljc1YzAgMS4wNzcgMCAxLjYxNS4xMzQgMi4xMTlhNCA0IDAgMCAwIC40MDcuOTg0Yy4yNjIuNDUuNjQzLjgzMSAxLjQwNCAxLjU5MmwuMjk0LjI5NWMuNjU0LjY1NC45ODIuOTgxIDEuMzY1IDEuMDg2LjI2LjA3LjUzMy4wNy43OTIgMCAuMzgzLS4xMDUuNzEtLjQzMiAxLjM2NS0xLjA4NmwzLjQ3OC0zLjQ3OWMuNjU1LS42NTQuOTgyLS45ODEgMS4wODctMS4zNjVhMS41IDEuNSAwIDAgMCAwLS43OTFjLS4xMDUtLjM4NC0uNDMyLS43MTEtMS4wODctMS4zNjVsLS40NzgtLjQ3OWMtLjY1NS0uNjU0LS45ODItLjk4MS0xLjA4Ny0xLjM2NWExLjUgMS41IDAgMCAxIDAtLjc5MWMuMTA1LS4zODQuNDMyLS43MTEgMS4wODctMS4zNjVsLjQ3OC0uNDc5Yy42NTUtLjY1NC45ODItLjk4MSAxLjA4Ny0xLjM2NWExLjUgMS41IDAgMCAwIDAtLjc5MWMtLjEwNS0uMzg0LS40MzItLjcxMS0xLjA4Ny0xLjM2NWwtLjQ5Mi0uNDkzYy0uNjUtLjY1LS45NzQtLjk3NC0xLjA4LTEuMzU1YTEuNSAxLjUgMCAwIDEtLjAwMy0uNzg4Yy4xMDItLjM4Mi40MjUtLjcxIDEuMDY5LTEuMzY0bDUuNDYtNS41NDdaIi8+PGNpcmNsZSBjeD0iMzAiIGN5PSIxNyIgcj0iNCIgZmlsbD0iI0VCOEI0NyIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJtIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDYwdjYwSDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+YCxIRUxQX1VTRVJfSU1HOnV0YDxzdmcgd2lkdGg9IjYwIiBoZWlnaHQ9IjYwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNjAgNjAiPjxnIGNsaXAtcGF0aD0idXJsKCNuKSI+PHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjYwIiBmaWxsPSIjMDBBQ0U2IiByeD0iMzAiLz48cGF0aCBmaWxsPSIjMUFDNkZGIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTU5IDczYzAgMTYuMDE2LTEyLjk4NCAyOS0yOSAyOVMxIDg5LjAxNiAxIDczYzAtMTYuMDE3IDExLTI5IDI5LTI5czI5IDEyLjk4MyAyOSAyOVpNMTguNjkgMTkuOTAyYTExIDExIDAgMCAxIDkuMjgxLTguNjkyIDE0Ljg0MiAxNC44NDIgMCAwIDEgNC4wNTggMCAxMSAxMSAwIDAgMSA5LjI4IDguNjkyYy4xNzguODY2LjMyMiAxLjc1LjQ0IDIuNjI1LjEzMi45NzcuMTMyIDEuOTY4IDAgMi45NDVhMzkuNDY3IDM5LjQ2NyAwIDAgMS0uNDQgMi42MjUgMTEgMTEgMCAwIDEtOS4yOCA4LjY5MiAxNC44NjIgMTQuODYyIDAgMCAxLTQuMDU4IDAgMTEgMTEgMCAwIDEtOS4yOC04LjY5MiAzOS40NjcgMzkuNDY3IDAgMCAxLS40NC0yLjYyNSAxMS4wMDQgMTEuMDA0IDAgMCAxIDAtMi45NDVjLjExOC0uODc2LjI2Mi0xLjc1OS40NC0yLjYyNVoiLz48Y2lyY2xlIGN4PSIyNC41IiBjeT0iMjMuNSIgcj0iMS41IiBmaWxsPSIjZmZmIi8+PGNpcmNsZSBjeD0iMzUuNSIgY3k9IjIzLjUiIHI9IjEuNSIgZmlsbD0iI2ZmZiIvPjxwYXRoIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGQ9Im0zMSAyMC0zIDhoNCIvPjwvZz48cmVjdCBjbGFzcz0iaGVscC1pbWctaGlnaGxpZ2h0IiB3aWR0aD0iNTkiIGhlaWdodD0iNTkiIHg9Ii41IiB5PSIuNSIgcng9IjI5LjUiLz48ZGVmcz48Y2xpcFBhdGggaWQ9Im4iPjxyZWN0IHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgZmlsbD0iI2ZmZiIgcng9IjMwIi8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+YCxIRUxQX0xPQ0tfSU1HOnV0YDxzdmcgd2lkdGg9IjYwIiBoZWlnaHQ9IjYwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNjAgNjAiPjxyZWN0IHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgZmlsbD0iI0M2NTNDNiIgcng9IjMiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMjAuMDM0IDE1LjIxNkMyMCAxNS42MDcgMjAgMTYuMDcgMjAgMTd2Mi44MDhjMCAxLjEzIDAgMS42OTYtLjIgMi4xMWExLjc4IDEuNzggMCAwIDEtLjU4NC43MTRjLS4zNjYuMjgtMS4wNTEuNDItMi40MjMuN2E3LjA3NiA3LjA3NiAwIDAgMC0xLjU5Ny41MTEgOS4wMDEgOS4wMDEgMCAwIDAtNC4zNTMgNC4zNTNDMTAgMzAuMDA1IDEwIDMyLjMzNiAxMCAzN2MwIDQuNjYzIDAgNi45OTUuODQzIDguODA0YTkuMDAxIDkuMDAxIDAgMCAwIDQuMzUzIDQuMzUzQzE3LjAwNSA1MSAxOS4zMzYgNTEgMjQgNTFoMTJjNC42NjMgMCA2Ljk5NSAwIDguODA0LS44NDNhOS4wMDEgOS4wMDEgMCAwIDAgNC4zNTMtNC4zNTNDNTAgNDMuOTk1IDUwIDQxLjY2NCA1MCAzN2MwLTQuNjYzIDAtNi45OTUtLjg0My04LjgwNGE5LjAwMSA5LjAwMSAwIDAgMC00LjM1My00LjM1MyA3LjA3NiA3LjA3NiAwIDAgMC0xLjU5Ny0uNTExYy0xLjM3Mi0uMjgtMi4wNTctLjQyLTIuNDIzLS43YTEuNzggMS43OCAwIDAgMS0uNTgzLS43MTVDNDAgMjEuNTA1IDQwIDIwLjk0IDQwIDE5LjgwOVYxN2MwLS45MjkgMC0xLjM5My0uMDM0LTEuNzg0YTkgOSAwIDAgMC04LjE4Mi04LjE4MkMzMS4zOTMgNyAzMC45MyA3IDMwIDdzLTEuMzkzIDAtMS43ODQuMDM0YTkgOSAwIDAgMC04LjE4MiA4LjE4MloiLz48cGF0aCBmaWxsPSIjRTg3REU4IiBkPSJNMjIgMTdjMC0uOTI5IDAtMS4zOTMuMDQ0LTEuNzg0YTcgNyAwIDAgMSA2LjE3Mi02LjE3MkMyOC42MDYgOSAyOS4wNzEgOSAzMCA5czEuMzkzIDAgMS43ODQuMDQ0YTcgNyAwIDAgMSA2LjE3MiA2LjE3MmMuMDQ0LjM5LjA0NC44NTUuMDQ0IDEuNzg0djQuNWExLjUgMS41IDAgMCAxLTMgMFYxN2MwLS45MyAwLTEuMzk0LS4wNzctMS43OGE0IDQgMCAwIDAtMy4xNDMtMy4xNDNDMzEuMzk0IDEyIDMwLjkzIDEyIDMwIDEycy0xLjM5NCAwLTEuNzguMDc3YTQgNCAwIDAgMC0zLjE0MyAzLjE0M0MyNSAxNS42MDYgMjUgMTYuMDcgMjUgMTd2NC41YTEuNSAxLjUgMCAwIDEtMyAwVjE3WiIvPjxwYXRoIGZpbGw9IiNFODdERTgiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDM2LjYyYzAtNC4zMTcgMC02LjQ3Ni45Mi04LjA4OGE3IDcgMCAwIDEgMi42MTItMi42MTJjMS42MTItLjkyIDMuNzctLjkyIDguMDg4LS45Mmg2Ljg1NWMuNDY5IDAgLjcwMyAwIC45MDYuMDE3IDIuNzMuMjIyIDQuMzY0IDIuNDM4IDQuNjE5IDQuOTgzLjI3LTIuNjk4IDIuMTExLTUgNS4wMTUtNUE2Ljk4NSA2Ljk4NSAwIDAgMSA0OCAzMS45ODV2NS4zOTVjMCA0LjMxNyAwIDYuNDc2LS45MiA4LjA4OGE3IDcgMCAwIDEtMi42MTIgMi42MTJjLTEuNjEyLjkyLTMuNzcuOTItOC4wODguOTJoLTUuODU1Yy0uNDY5IDAtLjcwMyAwLS45MDYtLjAxNy0yLjczLS4yMjItNC4zNjQtMi40MzgtNC42MTktNC45ODMtLjI1OCAyLjU4My0xLjk0MyA0LjgxOC00LjcxNCA0Ljk5LS4xNTUuMDEtLjMzNS4wMS0uNjk0LjAxLS41NSAwLS44MjUgMC0xLjA1Ny0uMDE1YTcgNyAwIDAgMS02LjUyLTYuNTJDMTIgNDIuMjMzIDEyIDQxLjk1OCAxMiA0MS40MDhWMzYuNjJabTIxLjI0LS4yNzNhNCA0IDAgMSAwLTYuNDc4IDBjLjk4NSAxLjM2IDEuNDc5IDIuMDM5IDEuNTY0IDIuMjI5LjE3OC4zOTguMTc2LjgxOC4xNzQgMS4yNDdWNDIuNWExLjUgMS41IDAgMCAwIDMgMHYtMi42NzdjLS4wMDItLjQyOS0uMDA0LS44NS4xNzQtMS4yNDcuMDg1LS4xOS41NzktLjg3IDEuNTY1LTIuMjI5WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHJlY3QgY2xhc3M9ImhlbHAtaW1nLWhpZ2hsaWdodCIgd2lkdGg9IjU5IiBoZWlnaHQ9IjU5IiB4PSIuNSIgeT0iLjUiIHJ4PSIyLjUiLz48L3N2Zz5gLEhFTFBfQ09NUEFTX0lNRzp1dGA8c3ZnIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDYwIDYwIj48cmVjdCB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIGZpbGw9IiMxREM5NTYiIHJ4PSIzMCIvPjxjaXJjbGUgY3g9IjMwIiBjeT0iMjkuOTk5IiByPSIzIiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbD0iIzJCRUU2QyIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIGQ9Im00NS4zMTYgMTcuOS0uODgtLjQyNS44OC40MjRhNy45IDcuOSAwIDAgMSAuMDI2LS4wNTNjLjA5My0uMTkyLjIxLS40MzIuMjYtLjY4N2wtLjgxOS0uMTYyLjgxOS4xNjJhMiAyIDAgMCAwLS4yMzktMS40MDVjLS4xMzItLjIyNC0uMzItLjQxMi0uNDcyLS41NjJhOC40MTUgOC40MTUgMCAwIDEtLjA0Mi0uMDQybC0uMDQyLS4wNDJjLS4xNS0uMTUxLS4zMzgtLjM0LS41NjItLjQ3MmwtLjUwOC44NjIuNTA4LS44NjJhMiAyIDAgMCAwLTEuNDA1LS4yMzljLS4yNTUuMDUtLjQ5NS4xNjctLjY4Ny4yNmwtLjA1My4wMjYtMTUuMDUgNy4yNDYtLjEwOC4wNTJjLTEuMTMxLjU0NS0xLjg0My44ODctMi40NTYgMS4zNzRhNi45OTQgNi45OTQgMCAwIDAtMS4xMyAxLjEzYy0uNDg3LjYxMy0uODMgMS4zMjUtMS4zNzUgMi40NTdsLS4wNTEuMTA4LTcuMjQ3IDE1LjA1LS4wMjUuMDUzYy0uMDk0LjE5Mi0uMjEuNDMxLS4yNi42ODZhMiAyIDAgMCAwIC4yMzkgMS40MDZsLjg1NS0uNTA1LS44NTYuNTA1Yy4xMzMuMjI0LjMyMS40MTEuNDczLjU2MmwuMDQyLjA0Mi4wNDEuMDQyYy4xNS4xNTEuMzM4LjM0LjU2My40NzJhMiAyIDAgMCAwIDEuNDA1LjIzOWwtLjE5NS0uOTgxLjE5NS45OGMuMjU1LS4wNS40OTQtLjE2Ni42ODYtLjI2bC4wNTQtLjAyNS0uNDE5LS44Ny40MTkuODcgMTUuMDUtNy4yNDcuMTA3LS4wNTFjMS4xMzItLjU0NSAxLjg0NC0uODg4IDIuNDU3LTEuMzc0YTcuMDAyIDcuMDAyIDAgMCAwIDEuMTMtMS4xM2MuNDg3LS42MTQuODMtMS4zMjUgMS4zNzQtMi40NTdsLjA1Mi0uMTA4IDcuMjQ2LTE1LjA1WiIvPjxwYXRoIGZpbGw9IiMxREM5NTYiIGQ9Im0zMy4zNzYgMzIuNzIzLTIuNjY5LTMuNDMtMTQuODUgMTQuODQ5LjIwNi4yMDVhMSAxIDAgMCAwIDEuMTQxLjE5NGwxNS4xMDUtNy4yNzNhMyAzIDAgMCAwIDEuMDY3LTQuNTQ1WiIvPjxwYXRoIGZpbGw9IiM4NkY5OTkiIGQ9Im0yNi42MjQgMjcuMjc2IDIuNjY5IDMuNDMgMTQuODUtMTQuODQ5LS4yMDYtLjIwNWExIDEgMCAwIDAtMS4xNDEtLjE5NEwyNy42OSAyMi43MzFhMyAzIDAgMCAwLTEuMDY3IDQuNTQ1WiIvPjxjaXJjbGUgY3g9IjMwIiBjeT0iMzAiIHI9IjMiIGZpbGw9IiNmZmYiIHRyYW5zZm9ybT0icm90YXRlKDQ1IDMwIDMwKSIvPjxyZWN0IGNsYXNzPSJoZWxwLWltZy1oaWdobGlnaHQiIHdpZHRoPSI1OSIgaGVpZ2h0PSI1OSIgeD0iLjUiIHk9Ii41IiByeD0iMjkuNSIvPjwvc3ZnPmAsSEVMUF9OT1VOX0lNRzp1dGA8c3ZnIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDYwIDYwIj48cmVjdCB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIGZpbGw9IiM3OTRDRkYiIHJ4PSIzIi8+PHBhdGggZmlsbD0iIzk4N0RFOCIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0zMyAyMi41di0xSDE2djVIOC41VjM2SDEzdi01aDN2Ny41aDE3VjMxaDF2Ny41aDE3di0xN0gzNHY1aC0xdi00WiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0zNy41IDI1aDEwdjEwaC0xMHoiLz48cGF0aCBmaWxsPSIjNDAxOUIyIiBkPSJNNDIuNSAyNWg1djEwaC01eiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xOS41IDI1aDEwdjEwaC0xMHoiLz48cGF0aCBmaWxsPSIjNDAxOUIyIiBkPSJNMjQuNSAyNWg1djEwaC01eiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xMiAzMC41aDRWMzdoLTR2LTYuNVoiLz48cmVjdCBjbGFzcz0iaGVscC1pbWctaGlnaGxpZ2h0IiB3aWR0aD0iNTkiIGhlaWdodD0iNTkiIHg9Ii41IiB5PSIuNSIgcng9IjIuNSIvPjwvc3ZnPmAsSEVMUF9EQU9fSU1HOnV0YDxzdmcgd2lkdGg9IjYwIiBoZWlnaHQ9IjYwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNjAgNjAiPjxnIGNsaXAtcGF0aD0idXJsKCNvKSI+PHBhdGggZmlsbD0iI0VCOEI0NyIgZD0iTTAgMjQuOWMwLTkuMjUyIDAtMTMuODc4IDEuOTctMTcuMzMyQTE1IDE1IDAgMCAxIDcuNTY5IDEuOTdDMTEuMDIzIDAgMTUuNjQ4IDAgMjQuOSAwaDEwLjJjOS4yNTEgMCAxMy44NzcgMCAxNy4zMzIgMS45N2ExNSAxNSAwIDAgMSA1LjU5NyA1LjU5OEM2MCAxMS4wMjIgNjAgMTUuNjQ4IDYwIDI0Ljg5OXYxMC4yYzAgOS4yNTIgMCAxMy44NzgtMS45NyAxNy4zMzJhMTUuMDAxIDE1LjAwMSAwIDAgMS01LjU5OCA1LjU5OGMtMy40NTUgMS45Ny04LjA4IDEuOTctMTcuMzMyIDEuOTdIMjQuOWMtOS4yNTEgMC0xMy44NzcgMC0xNy4zMzItMS45N2ExNSAxNSAwIDAgMS01LjU5Ny01LjU5OEMwIDQ4Ljk3NyAwIDQ0LjM1MSAwIDM1LjFWMjQuOVoiLz48cGF0aCBjbGFzcz0iaGVscC1pbWctaGlnaGxpZ2h0IiBkPSJNLjUgMjQuOWMwLTQuNjM1IDAtOC4wNzguMjQ0LTEwLjc5NS4yNDQtMi43MS43MjYtNC42NSAxLjY2LTYuMjlhMTQuNSAxNC41IDAgMCAxIDUuNDEyLTUuNDFDOS40NTUgMS40NjggMTEuMzk1Ljk4NiAxNC4xMDUuNzQzIDE2LjgyMi41IDIwLjI2NS41IDI0LjkuNWgxMC4yYzQuNjM1IDAgOC4wNzggMCAxMC43OTUuMjQ0IDIuNzEuMjQzIDQuNjUuNzI1IDYuMjkgMS42NmExNC41IDE0LjUgMCAwIDEgNS40MSA1LjQxMWMuOTM1IDEuNjQgMS40MTcgMy41OCAxLjY2IDYuMjkuMjQ0IDIuNzE3LjI0NSA2LjE2LjI0NSAxMC43OTR2MTAuMmMwIDQuNjM1IDAgOC4wNzgtLjI0NCAxMC43OTYtLjI0NCAyLjcxLS43MjYgNC42NS0xLjY2IDYuMjg5YTE0LjUgMTQuNSAwIDAgMS01LjQxMiA1LjQxYy0xLjYzOS45MzYtMy41NzkgMS40MTgtNi4yODkgMS42NjEtMi43MTcuMjQ0LTYuMTYuMjQ0LTEwLjc5NS4yNDRIMjQuOWMtNC42MzUgMC04LjA3OCAwLTEwLjc5NS0uMjQ0LTIuNzEtLjI0My00LjY1LS43MjUtNi4yOS0xLjY2YTE0LjUgMTQuNSAwIDAgMS01LjQxLTUuNDExYy0uOTM1LTEuNjQtMS40MTctMy41OC0xLjY2LTYuMjlDLjUgNDMuMTc4LjUgMzkuNzM0LjUgMzUuMVYyNC45WiIvPjxwYXRoIGZpbGw9IiNGRjk3NEMiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMTkgNTJjNS41MjMgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzctMTAtMTAtMTBTOSAzNi40NzcgOSA0MnM0LjQ3NyAxMCAxMCAxMFoiLz48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00Mi44NDQgOC4zMjZhMSAxIDAgMCAwLTEuNjg3IDBMMjguOTc4IDI3LjQ2M0ExIDEgMCAwIDAgMjkuODIyIDI5aDI0LjM1N2ExIDEgMCAwIDAgLjg0My0xLjUzN0w0Mi44NDQgOC4zMjZaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjRkY5NzRDIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00Mi4zMzUgMTEuNjQ2Yy4zMjQuMTE1LjU3MS41MDQgMS4wNjYgMS4yOGw3LjMzMiAxMS41MjNjLjU2Mi44ODMuODQzIDEuMzI1Ljc5MiAxLjY5YTEgMSAwIDAgMS0uMzQyLjYyM2MtLjI4LjIzOC0uODAzLjIzOC0xLjg1LjIzOEgzNC42NjdjLTEuMDQ3IDAtMS41NyAwLTEuODUtLjIzOGExIDEgMCAwIDEtLjM0Mi0uNjIzYy0uMDUxLS4zNjUuMjMtLjgwNi43OTItMS42OWw3LjMzMi0xMS41MjNjLjQ5NS0uNzc2Ljc0Mi0xLjE2NSAxLjA2Ni0xLjI4YTEgMSAwIDAgMSAuNjcgMFpNMzUgMjdhNyA3IDAgMCAwIDctNyA3IDcgMCAwIDAgNyA3SDM1WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iI0ZGOTc0QyIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0xMC4xMDYgOS4zNTdjLS4xMDkuMzItLjEwNy42ODItLjEwNi45NzVWMjUuNjY4Yy0uMDAxLjI5My0uMDAzLjY1NC4xMDYuOTc1YTIgMiAwIDAgMCAxLjI1MSAxLjI1Yy4zMi4xMS42ODIuMTA4Ljk3NS4xMDdIMTljNS41MjMgMCAxMC00LjQ3NyAxMC0xMFMyNC41MjMgOCAxOSA4aC02LjY2OGMtLjI5My0uMDAxLS42NTQtLjAwMy0uOTc1LjEwNmEyIDIgMCAwIDAtMS4yNSAxLjI1MVoiLz48Y2lyY2xlIGN4PSIxOSIgY3k9IjE4IiByPSI0IiBmaWxsPSIjRUI4QjQ3IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIvPjxjaXJjbGUgY3g9IjE5IiBjeT0iNDEuOTk5IiByPSI0IiBmaWxsPSIjRUI4QjQ3IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9Im8iPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoNjB2NjBIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz5gLFNFQVJDSF9JQ09OOnV0YDxzdmcgd2lkdGg9IjIwIiBoZWlnaHQ9IjIxIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEyLjQzMiAxMy45OTJjLS4zNTQtLjM1My0uOTEtLjM4Mi0xLjM1LS4xNDZhNS41IDUuNSAwIDEgMSAyLjI2NS0yLjI2NWMtLjIzNy40NDEtLjIwOC45OTcuMTQ1IDEuMzVsMy4yOTYgMy4yOTZhLjc1Ljc1IDAgMSAxLTEuMDYgMS4wNjFsLTMuMjk2LTMuMjk2Wm0uMDYtNWE0IDQgMCAxIDEtOCAwIDQgNCAwIDAgMSA4IDBaIiBmaWxsPSIjOTQ5RTlFIi8+PC9zdmc+YCxIRUxQX0lDT046dXRgPHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxMSAxNyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTUuMjIgMi45N2MtMS4wNyAwLTIuMjUuODQzLTIuMjUgMi4yNWEuNzUuNzUgMCAwIDEtMS41IDBjMC0yLjM5MyAyLjAxOS0zLjc1IDMuNzUtMy43NSAxLjczIDAgMy43NSAxLjM1NyAzLjc1IDMuNzUgMCAxLjY0LTEuMDM4IDIuNDY2LTEuNzg1IDMuMDU3LS44MDIuNjM1LTEuMjE1Ljk4NC0xLjIxNSAxLjY5M2EuNzUuNzUgMCAxIDEtMS41IDBjMC0xLjQ2Ni45ODUtMi4yNCAxLjY4MS0yLjc4OGwuMTAzLS4wODFDNy4wMDcgNi41MDQgNy40NyA2LjA4IDcuNDcgNS4yMmMwLTEuNDA3LTEuMTgxLTIuMjUtMi4yNS0yLjI1Wk01LjIyIDE0Ljk3YTEuMjUgMS4yNSAwIDEgMCAwLTIuNSAxLjI1IDEuMjUgMCAwIDAgMCAyLjVaIi8+PC9zdmc+YCxXQUxMRVRfSUNPTjp1dGA8c3ZnIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE1IDE0Ij48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0uNjQgOS4ydi0zaC4wMDFjLjAwOS0xLjg1Ny4wNy0yLjg4Ni41MjUtMy42ODJhNCA0IDAgMCAxIDEuNDkyLTEuNDkzQzMuNTguNSA0LjgxMy41IDcuMjguNWgzLjczNWMuNTggMCAuODcxIDAgMS4xMTQuMDRBMyAzIDAgMCAxIDE0LjYgMy4wMTFjLjA0LjI0My4wNC41MzMuMDQgMS4xMTQgMCAuNTggMCAuODcxLS4wNCAxLjExNGEzIDMgMCAwIDEtMi40NzEgMi40N2MtLjI0My4wNDEtLjUzMy4wNDEtMS4xMTQuMDQxaC0uNzc3Yy4xNzguMzA3LjMwMi42NDguMzYyIDEuMDExLjA0LjI0My4wNC41MzMuMDQgMS4xMTQgMCAuNTggMCAuODcxLS4wNCAxLjExNGEzIDMgMCAwIDEtMi40NzEgMi40N2MtLjI0My4wNDEtLjUzMy4wNDEtMS4xMTQuMDQxSDQuNTA3QTMuODY3IDMuODY3IDAgMCAxIC42NCA5LjYzM1Y5LjJaTTcuMjggMmgzLjczNWMuNjQgMCAuNzc5LjAwNS44Ny4wMmExLjUgMS41IDAgMCAxIDEuMjM1IDEuMjM2Yy4wMTUuMDkuMDIuMjI5LjAyLjg2OXMtLjAwNS43NzktLjAyLjg3YTEuNSAxLjUgMCAwIDEtMS4yMzYgMS4yMzVjLS4wOS4wMTUtLjIyOS4wMi0uODY5LjAySDQuMDIzYy0uNjk3IDAtMS4zNDUuMjEtMS44ODMuNTcyVjYuMjVoLjAwMWMuMDA0LS43OTEuMDE1LTEuMzgzLjA1OS0xLjg2Ny4wNTYtLjYyOS4xNTctLjkyNi4yNjktMS4xMjJhMi41IDIuNSAwIDAgMSAuOTMyLS45MzNjLjE5Ny0uMTExLjQ5NC0uMjEyIDEuMTIzLS4yNjhDNS4xNzMgMiA2LjAxOSAyIDcuMjggMlptLS4yNjUgNS43NUg0LjAyM2MtMS4wNCAwLTEuODgzLjg0My0xLjg4MyAxLjg4M0EyLjM2NyAyLjM2NyAwIDAgMCA0LjUwNyAxMmgyLjUwOGMuNjQgMCAuNzc5LS4wMDUuODctLjAyYTEuNSAxLjUgMCAwIDAgMS4yMzUtMS4yMzZjLjAxNS0uMDkuMDItLjIyOS4wMi0uODY5cy0uMDA1LS43NzktLjAyLS44N0ExLjUgMS41IDAgMCAwIDcuODg0IDcuNzdjLS4wOS0uMDE1LS4yMjgtLjAyLS44NjktLjAyWiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+YCxORVRXT1JLX1BMQUNFSE9MREVSOnV0YDxzdmcgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjggMjgiPjxtYXNrIGlkPSJwIiB3aWR0aD0iMjYiIGhlaWdodD0iMjgiIHg9IjEiIHk9IjAiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiPjxwYXRoIGZpbGw9IiNEOUQ5RDkiIGQ9Ik0xMiAxLjE3MmE0IDQgMCAwIDEgNCAwbDguMTI0IDQuNjlhNCA0IDAgMCAxIDIgMy40NjV2OS4zODFhNCA0IDAgMCAxLTIgMy40NjRMMTYgMjYuODYyYTQgNCAwIDAgMS00IDBsLTguMTI0LTQuNjlhNCA0IDAgMCAxLTItMy40NjRWOS4zMjdhNCA0IDAgMCAxIDItMy40NjRMMTIgMS4xNzNaIi8+PC9tYXNrPjxnIG1hc2s9InVybCgjcCkiPjxwYXRoIGlkPSJuZXR3b3JrLXBsYWNlaG9sZGVyLWZpbGwiIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMjh2MjhIMHoiLz48cGF0aCBpZD0ibmV0d29yay1wbGFjZWhvbGRlci1kYXNoIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1kYXNoYXJyYXk9IjIgMiIgZD0ibTguOTUzIDIuOTMxIDIuMDMyLTEuMTczLjI1LjQzMyAxLjAxNS0uNTg2Yy4yNjktLjE1NS41NTMtLjI3MS44NDQtLjM1bC0uMTMtLjQ4M2E0LjAwMyA0LjAwMyAwIDAgMSAyLjA3MSAwbC0uMTMuNDgzYy4yOTMuMDc5LjU3Ni4xOTUuODQ1LjM1bDEuMDE2LjU4Ni4yNS0uNDMzIDIuMDMgMS4xNzMtLjI1LjQzMyAyLjAzMiAxLjE3My4yNS0uNDMzIDIuMDMgMS4xNzItLjI1LjQzMyAxLjAxNi41ODdjLjI2OS4xNTUuNTEyLjM0Mi43MjUuNTU2bC4zNTQtLjM1NGE0LjAwMyA0LjAwMyAwIDAgMSAxLjAzNSAxLjc5NGwtLjQ4My4xMjljLjA3OC4yOTIuMTIuNTk2LjEyLjkwNnYxLjE3MmguNXYyLjM0NmgtLjV2Mi4zNDVoLjV2Mi4zNDVoLS41djEuMTczYzAgLjMxLS4wNDIuNjE0LS4xMi45MDZsLjQ4My4xM2E0LjAwMyA0LjAwMyAwIDAgMS0xLjAzNSAxLjc5M2wtLjM1NC0uMzU0YTMuNDk4IDMuNDk4IDAgMCAxLS43MjUuNTU2bC0xLjAxNS41ODYuMjUuNDM0LTIuMDMxIDEuMTcyLS4yNS0uNDMzLTIuMDMxIDEuMTczLjI1LjQzMy0yLjAzMSAxLjE3Mi0uMjUtLjQzMy0xLjAxNi41ODdhMy40OTQgMy40OTQgMCAwIDEtLjg0NC4zNWwuMTMuNDgyYTQuMDAzIDQuMDAzIDAgMCAxLTIuMDcxIDBsLjEzLS40ODNhMy40OTYgMy40OTYgMCAwIDEtLjg0NS0uMzVsLTEuMDE1LS41ODYtLjI1LjQzMy0yLjAzMi0xLjE3Mi4yNS0uNDMzLTIuMDMtMS4xNzMtLjI1LjQzM0w0Ljg5IDIyLjc2bC4yNS0uNDM0LTEuMDE1LS41ODZhMy40OTggMy40OTggMCAwIDEtLjcyNS0uNTU2bC0uMzU0LjM1NGE0LjAwMyA0LjAwMyAwIDAgMS0xLjAzNS0xLjc5NGwuNDgzLS4xM2EzLjQ5NyAzLjQ5NyAwIDAgMS0uMTItLjkwNXYtMS4xNzNoLS41VjE1LjE5aC41di0yLjM0NWgtLjV2LTIuMzQ2aC41VjkuMzI3YzAtLjMxLjA0Mi0uNjE0LjEyLS45MDZsLS40ODMtLjEzYTQuMDAzIDQuMDAzIDAgMCAxIDEuMDM1LTEuNzkzbC4zNTQuMzU0Yy4yMTMtLjIxNC40NTYtLjQwMS43MjUtLjU1NmwxLjAxNS0uNTg3LS4yNS0uNDMzIDIuMDMxLTEuMTcyLjI1LjQzMyAyLjAzMS0xLjE3My0uMjUtLjQzM1oiLz48cGF0aCBmaWxsPSIjNzk4Njg2IiBzdHJva2U9IiNmZmYiIGQ9Ik0xNC4yNDMgMTMuNTYzIDE0IDEzLjQyOGwtLjI0My4xMzUtNi4zODggMy41NDktLjAyNC4wMTNjLS40MzIuMjQtLjc5LjQ0LTEuMDUzLjYyMi0uMjY2LjE4NC0uNTE2LjQwNS0uNjM2LjcyMmExLjUgMS41IDAgMCAwIDAgMS4wNjJjLjEyLjMxNy4zNy41MzguNjM2LjcyMi4yNjMuMTgzLjYyLjM4MiAxLjA1My42MjJsLjAyNC4wMTMgMy4xNjQgMS43NTguMDg4LjA0OWMxLjE2NC42NDYgMS44NTcgMS4wMzIgMi42MDcgMS4xNjIuNTEuMDkgMS4wMzMuMDkgMS41NDQgMCAuNzUtLjEzIDEuNDQzLS41MTYgMi42MDYtMS4xNjJsLjA5LS4wNSAzLjE2My0xLjc1Ny4wMjQtLjAxM2MuNDMyLS4yNC43OS0uNDQgMS4wNTMtLjYyMi4yNjYtLjE4NC41MTYtLjQwNS42MzYtLjcyMmwtLjQ2OC0uMTc3LjQ2OC4xNzdhMS41IDEuNSAwIDAgMCAwLTEuMDYybC0uNDY4LjE3Ny40NjgtLjE3N2MtLjEyLS4zMTctLjM3LS41MzgtLjYzNi0uNzIyLS4yNjMtLjE4My0uNjItLjM4Mi0xLjA1My0uNjIybC0uMDI0LS4wMTMtNi4zODgtMy41NVoiLz48cGF0aCBmaWxsPSIjOUVBOUE5IiBzdHJva2U9IiNmZmYiIGQ9Ik0xNC4yNDMgOC41NjMgMTQgOC40MjhsLS4yNDMuMTM1LTYuMzg4IDMuNTQ5LS4wMjQuMDEzYy0uNDMyLjI0LS43OS40NC0xLjA1My42MjItLjI2Ni4xODQtLjUxNi40MDUtLjYzNi43MjJhMS41IDEuNSAwIDAgMCAwIDEuMDYyYy4xMi4zMTYuMzcuNTM3LjYzNi43MjIuMjYzLjE4My42Mi4zODIgMS4wNTMuNjIybC4wMjQuMDEzIDMuMTY0IDEuNzU4LjA4OC4wNDljMS4xNjQuNjQ2IDEuODU3IDEuMDMyIDIuNjA3IDEuMTYyLjUxLjA5IDEuMDMzLjA5IDEuNTQ0IDAgLjc1LS4xMyAxLjQ0My0uNTE2IDIuNjA2LTEuMTYybC4wOS0uMDUgMy4xNjMtMS43NTcuMDI0LS4wMTNjLjQzMi0uMjQuNzktLjQ0IDEuMDUzLS42MjIuMjY2LS4xODQuNTE2LS40MDUuNjM2LS43MjJsLS40NjgtLjE3Ny40NjguMTc3YTEuNSAxLjUgMCAwIDAgMC0xLjA2MmwtLjQ2OC4xNzcuNDY4LS4xNzdjLS4xMi0uMzE2LS4zNy0uNTM3LS42MzYtLjcyMi0uMjYzLS4xODMtLjYyLS4zODItMS4wNTMtLjYyMmwtLjAyNC0uMDEzLTYuMzg4LTMuNTVaIi8+PHBhdGggZmlsbD0iI0M5Q0ZDRiIgc3Ryb2tlPSIjZmZmIiBkPSJtMjIuMzQ0IDkuNTMtLjQ2OC0uMTc2LjQ2OC4xNzdhMS41IDEuNSAwIDAgMCAwLTEuMDYybC0uNDY4LjE3Ny40NjgtLjE3N2MtLjEyLS4zMTctLjM3LS41MzctLjYzNi0uNzIyLS4yNjMtLjE4My0uNjItLjM4Mi0xLjA1My0uNjIybC0uMDI0LS4wMTMtMy4xNjMtMS43NTgtLjA5LS4wNWMtMS4xNjMtLjY0NS0xLjg1Ni0xLjAzLTIuNjA2LTEuMTYxYTQuNSA0LjUgMCAwIDAtMS41NDQgMGMtLjc1LjEzLTEuNDQzLjUxNi0yLjYwNyAxLjE2MmwtLjA4OC4wNS0zLjE2NCAxLjc1Ny0uMDI0LjAxM2MtLjQzMi4yNC0uNzkuNDQtMS4wNTMuNjIyLS4yNjYuMTg1LS41MTYuNDA1LS42MzYuNzIyYTEuNSAxLjUgMCAwIDAgMCAxLjA2MmMuMTIuMzE3LjM3LjUzNy42MzYuNzIyLjI2My4xODMuNjIuMzgyIDEuMDUzLjYyMmwuMDI0LjAxMyAzLjE2NCAxLjc1OC4wODguMDQ5YzEuMTY0LjY0NiAxLjg1NyAxLjAzMiAyLjYwNyAxLjE2Mi41MS4wOSAxLjAzMy4wOSAxLjU0NCAwIC43NS0uMTMgMS40NDMtLjUxNiAyLjYwNi0xLjE2MmwuMDktLjA1IDMuMTYzLTEuNzU3LjAyNC0uMDEzYy40MzItLjI0Ljc5LS40NCAxLjA1My0uNjIyLjI2Ni0uMTg0LjUxNi0uNDA1LjYzNi0uNzIyWiIvPjwvZz48L3N2Zz5gLFdBTExFVF9QTEFDRUhPTERFUjp1dGA8c3ZnIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDYwIDYwIj48ZyBjbGlwLXBhdGg9InVybCgjcSkiPjxwYXRoIGlkPSJ3YWxsZXQtcGxhY2Vob2xkZXItZmlsbCIgZmlsbD0iI2ZmZiIgZD0iTTAgMjQuOWMwLTkuMjUxIDAtMTMuODc3IDEuOTctMTcuMzMyYTE1IDE1IDAgMCAxIDUuNTk4LTUuNTk3QzExLjAyMyAwIDE1LjY0OCAwIDI0LjkgMGgxMC4yYzkuMjUyIDAgMTMuODc3IDAgMTcuMzMyIDEuOTdhMTUgMTUgMCAwIDEgNS41OTcgNS41OThDNjAgMTEuMDIzIDYwIDE1LjY0OCA2MCAyNC45djEwLjJjMCA5LjI1MiAwIDEzLjg3Ny0xLjk3IDE3LjMzMmExNS4wMDEgMTUuMDAxIDAgMCAxLTUuNTk4IDUuNTk3QzQ4Ljk3NyA2MCA0NC4zNTIgNjAgMzUuMSA2MEgyNC45Yy05LjI1MSAwLTEzLjg3NyAwLTE3LjMzMi0xLjk3YTE1IDE1IDAgMCAxLTUuNTk3LTUuNTk4QzAgNDguOTc3IDAgNDQuMzUyIDAgMzUuMVYyNC45WiIvPjxwYXRoIGlkPSJ3YWxsZXQtcGxhY2Vob2xkZXItZGFzaCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtZGFzaGFycmF5PSI0IDQiIHN0cm9rZS13aWR0aD0iMS41IiBkPSJNLjA0IDQxLjcwOGEyMzEuNTk4IDIzMS41OTggMCAwIDEtLjAzOS00LjQwM2wuNzUtLjAwMUwuNzUgMzUuMXYtMi41NUgwdi01LjFoLjc1VjI0LjlsLjAwMS0yLjIwNGgtLjc1Yy4wMDMtMS42MTcuMDExLTMuMDc3LjAzOS00LjQwNGwuNzUuMDE2Yy4wMzQtMS42NS4wOTktMy4wOC4yMTgtNC4zNDNsLS43NDYtLjA3Yy4xNTgtMS42NzguNDEyLTMuMDgzLjgyLTQuMzE2bC43MTMuMjM2Yy4yMjQtLjY3OS40OTctMS4yOTYuODI3LTEuODc1YTE0LjI1IDE0LjI1IDAgMCAxIDEuMDUtMS41ODVMMy4wNzYgNS45QTE1IDE1IDAgMCAxIDUuOSAzLjA3NmwuNDU1LjU5NmExNC4yNSAxNC4yNSAwIDAgMSAxLjU4NS0xLjA1Yy41NzktLjMzIDEuMTk2LS42MDMgMS44NzUtLjgyN2wtLjIzNi0uNzEyQzEwLjgxMi42NzQgMTIuMjE3LjQyIDEzLjg5NS4yNjJsLjA3Ljc0NkMxNS4yMy44OSAxNi42Ni44MjQgMTguMzA4Ljc5bC0uMDE2LS43NUMxOS42Mi4wMTIgMjEuMDguMDA0IDIyLjY5NS4wMDFsLjAwMS43NUwyNC45Ljc1aDIuNTVWMGg1LjF2Ljc1aDIuNTVsMi4yMDQuMDAxdi0uNzVjMS42MTcuMDAzIDMuMDc3LjAxMSA0LjQwNC4wMzlsLS4wMTYuNzVjMS42NS4wMzQgMy4wOC4wOTkgNC4zNDMuMjE4bC4wNy0uNzQ2YzEuNjc4LjE1OCAzLjA4My40MTIgNC4zMTYuODJsLS4yMzYuNzEzYy42NzkuMjI0IDEuMjk2LjQ5NyAxLjg3NS44MjdhMTQuMjQgMTQuMjQgMCAwIDEgMS41ODUgMS4wNWwuNDU1LS41OTZBMTQuOTk5IDE0Ljk5OSAwIDAgMSA1Ni45MjQgNS45bC0uNTk2LjQ1NWMuMzg0LjUwMi43MzUgMS4wMzIgMS4wNSAxLjU4NS4zMy41NzkuNjAyIDEuMTk2LjgyNyAxLjg3NWwuNzEyLS4yMzZjLjQwOSAxLjIzMy42NjMgMi42MzguODIyIDQuMzE2bC0uNzQ3LjA3Yy4xMTkgMS4yNjQuMTg0IDIuNjk0LjIxOCA0LjM0M2wuNzUtLjAxNmMuMDI4IDEuMzI3LjAzNiAyLjc4Ny4wMzkgNC40MDNsLS43NS4wMDEuMDAxIDIuMjA0djIuNTVINjB2NS4xaC0uNzV2Mi41NWwtLjAwMSAyLjIwNGguNzVhMjMxLjQzMSAyMzEuNDMxIDAgMCAxLS4wMzkgNC40MDRsLS43NS0uMDE2Yy0uMDM0IDEuNjUtLjA5OSAzLjA4LS4yMTggNC4zNDNsLjc0Ny4wN2MtLjE1OSAxLjY3OC0uNDEzIDMuMDgzLS44MjIgNC4zMTZsLS43MTItLjIzNmExMC4yNTUgMTAuMjU1IDAgMCAxLS44MjcgMS44NzUgMTQuMjQyIDE0LjI0MiAwIDAgMS0xLjA1IDEuNTg1bC41OTYuNDU1YTE0Ljk5NyAxNC45OTcgMCAwIDEtMi44MjQgMi44MjRsLS40NTUtLjU5NmMtLjUwMi4zODQtMS4wMzIuNzM1LTEuNTg1IDEuMDUtLjU3OS4zMy0xLjE5Ni42MDItMS44NzUuODI3bC4yMzYuNzEyYy0xLjIzMy40MDktMi42MzguNjYzLTQuMzE2LjgyMmwtLjA3LS43NDdjLTEuMjY0LjExOS0yLjY5NC4xODQtNC4zNDMuMjE4bC4wMTYuNzVjLTEuMzI3LjAyOC0yLjc4Ny4wMzYtNC40MDMuMDM5bC0uMDAxLS43NS0yLjIwNC4wMDFoLTIuNTVWNjBoLTUuMXYtLjc1SDI0LjlsLTIuMjA0LS4wMDF2Ljc1YTIzMS40MzEgMjMxLjQzMSAwIDAgMS00LjQwNC0uMDM5bC4wMTYtLjc1Yy0xLjY1LS4wMzQtMy4wOC0uMDk5LTQuMzQzLS4yMThsLS4wNy43NDdjLTEuNjc4LS4xNTktMy4wODMtLjQxMy00LjMxNi0uODIybC4yMzYtLjcxMmExMC4yNTggMTAuMjU4IDAgMCAxLTEuODc1LS44MjcgMTQuMjUyIDE0LjI1MiAwIDAgMS0xLjU4NS0xLjA1bC0uNDU1LjU5NkExNC45OTkgMTQuOTk5IDAgMCAxIDMuMDc2IDU0LjFsLjU5Ni0uNDU1YTE0LjI0IDE0LjI0IDAgMCAxLTEuMDUtMS41ODUgMTAuMjU5IDEwLjI1OSAwIDAgMS0uODI3LTEuODc1bC0uNzEyLjIzNkMuNjc0IDQ5LjE4OC40MiA0Ny43ODMuMjYyIDQ2LjEwNWwuNzQ2LS4wN0MuODkgNDQuNzcuODI0IDQzLjM0Ljc5IDQxLjY5MmwtLjc1LjAxNloiLz48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNS42NDMgMzIuMTQ1Yy0uMjk3LS43NDMtLjQ0NS0xLjExNC0uNDAxLTEuMjc1YS40Mi40MiAwIDAgMSAuMTgyLS4yN2MuMTM0LS4xLjQ2My0uMSAxLjEyMy0uMS43NDIgMCAxLjQ5OS4wNDYgMi4yMzYtLjA1YTYgNiAwIDAgMCA1LjE2Ni01LjE2NmMuMDUxLS4zOS4wNTEtLjg1NS4wNTEtMS43ODQgMC0uOTI4IDAtMS4zOTMtLjA1MS0xLjc4M2E2IDYgMCAwIDAtNS4xNjYtNS4xNjVjLS4zOS0uMDUyLS44NTQtLjA1Mi0xLjc4My0uMDUyaC03LjcyYy00LjkzNCAwLTcuNDAxIDAtOS4yNDQgMS4wNTFhOCA4IDAgMCAwLTIuOTg1IDIuOTg2QzE2LjA1NyAyMi4yOCAxNi4wMDMgMjQuNTggMTYgMjkgMTUuOTk4IDMxLjA3NSAxNiAzMy4xNSAxNiAzNS4yMjRBNy43NzggNy43NzggMCAwIDAgMjMuNzc4IDQzSDI4LjVjMS4zOTQgMCAyLjA5IDAgMi42Ny0uMTE2YTYgNiAwIDAgMCA0LjcxNS00LjcxNGMuMTE1LS41OC4xMTUtMS4zMDEuMTE1LTIuNzQ0IDAtMS4zMSAwLTEuOTY0LS4xMTQtMi40OWE0Ljk5OCA0Ljk5OCAwIDAgMC0uMjQzLS43OTJaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjOUVBOUE5IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNyAxOGgtNy43MmMtMi40OTQgMC00LjI2Ni4wMDItNS42NDcuMTI2LTEuMzYxLjEyMi0yLjE5Ny4zNTQtMi44NTQuNzI4YTYuNSA2LjUgMCAwIDAtMi40MjUgMi40MjZjLS4zNzUuNjU3LS42MDcgMS40OTItLjcyOSAyLjg1My0uMTEgMS4yMzMtLjEyMyAyLjc3Ny0uMTI1IDQuODY3IDAgLjcgMCAxLjA1LjA5NyAxLjE4MS4wOTYuMTMuMTgyLjE4MS4zNDMuMi4xNjMuMDIuNTE4LS4xOCAxLjIyOS0uNTgxYTYuMTk1IDYuMTk1IDAgMCAxIDMuMDUzLS44SDM3Yy45NzcgMCAxLjMyLS4wMDMgMS41ODctLjAzOGE0LjUgNC41IDAgMCAwIDMuODc0LTMuODc0Yy4wMzYtLjI2OC4wMzktLjYxMS4wMzktMS41ODggMC0uOTc2LS4wMDMtMS4zMTktLjAzOC0xLjU4N2E0LjUgNC41IDAgMCAwLTMuODc1LTMuODc0QzM4LjMyIDE4LjAwNCAzNy45NzcgMTggMzcgMThabS03LjM2NCAxMi41aC03LjQxNGE0LjcyMiA0LjcyMiAwIDAgMC00LjcyMiA0LjcyMyA2LjI3OCA2LjI3OCAwIDAgMCA2LjI3OCA2LjI3OEgyOC41YzEuNDY2IDAgMS45OC0uMDA4IDIuMzc4LS4wODdhNC41IDQuNSAwIDAgMCAzLjUzNS0zLjUzNmMuMDgtLjM5Ny4wODctLjkzMy4wODctMi40NTEgMC0xLjM5MS0uMDA5LTEuODQzLS4wOC0yLjE3YTMuNSAzLjUgMCAwIDAtMi42NzYtMi42NzZjLS4zMjgtLjA3Mi0uNzYyLS4wOC0yLjEwOC0uMDhaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJxIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDYwdjYwSDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+YCxUT0tFTl9QTEFDRUhPTERFUjp1dGA8c3ZnIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgdmlld0JveD0iMCAwIDYwIDYwIiBmaWxsPSJub25lIj48cmVjdCBpZD0idG9rZW4tcGxhY2Vob2xkZXItZmlsbCIgd2lkdGg9IjU4IiBoZWlnaHQ9IjU4IiB4PSIxIiB5PSIxIiBmaWxsPSIjZmZmIiByeD0iMjkiLz48cGF0aCBmaWxsPSIjM0I0MDQwIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTMyIDEwYTIgMiAwIDAgMSAyLTJoMmEyIDIgMCAwIDEgMiAydjUuNTY2YzAgLjM1Ny4xOTIuNjg1LjQ5NS44NzVhMTYuMDAxIDE2LjAwMSAwIDAgMSA0LjI1NiAzLjg5NGMuNjY3Ljg4LjMzIDIuMTEzLS42MjcgMi42NjVsLTIuNDk0IDEuNDRjLS45NTYuNTUyLTIuMTY2LjIwNC0yLjkxMy0uNjA5YTkuMTIgOS4xMiAwIDEgMCAuMDY0IDEyLjI2N2MuNzM5LS44MiAxLjk0NS0xLjE4MSAyLjkwNy0uNjRsMi41MDkgMS40MTVjLjk2Mi41NDIgMS4zMTIgMS43Ny42NTQgMi42NThhMTYgMTYgMCAwIDEtNC4zNTYgNC4wMjhjLS4zMDMuMTktLjQ5NS41MTgtLjQ5NS44NzVWNTBhMiAyIDAgMCAxLTIgMmgtMmEyIDIgMCAwIDEtMi0ydi0yLjk5MmMwLS42MDItLjUyOC0xLjA2NS0xLjEzLTEuMDMyLS41NzkuMDMyLTEuMTYuMDMyLTEuNzQgMC0uNjAyLS4wMzItMS4xMy40My0xLjEzIDEuMDMyVjUwYTIgMiAwIDAgMS0yIDJoLTJhMiAyIDAgMCAxLTItMnYtNS41NjZjMC0uMzU3LS4xOTItLjY4NS0uNDk1LS44NzVhMTYgMTYgMCAwIDEgMC0yNy4xMThjLjMwMy0uMTkuNDk1LS41MTcuNDk1LS44NzVWMTBhMiAyIDAgMCAxIDItMmgyYTIgMiAwIDAgMSAyIDJ2Mi45OTJjMCAuNjAxLjUyOCAxLjA2NCAxLjEzIDEuMDMyLjU4LS4wMzIgMS4xNjEtLjAzMiAxLjc0IDAgLjYwMi4wMzMgMS4xMy0uNDMgMS4xMy0xLjAzMlYxMFoiLz48cmVjdCBpZD0idG9rZW4tcGxhY2Vob2xkZXItZGFzaCIgd2lkdGg9IjU4IiBoZWlnaHQ9IjU4IiB4PSIxIiB5PSIxIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1kYXNoYXJyYXk9IjYgNiIgc3Ryb2tlLXdpZHRoPSIyIiByeD0iMjkiLz48L3N2Zz5gLEFDQ09VTlRfQ09QWTp1dGA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDE0IDE0Ij48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00LjAwMyA0LjAwNWMuMDEyLTEuMjI1LjA3NC0xLjkzNi4zOTEtMi40OTFhMyAzIDAgMCAxIDEuMTItMS4xMkM2LjIwNCAwIDcuMTM2IDAgOSAwczIuNzk1IDAgMy40ODYuMzk0YTMgMyAwIDAgMSAxLjEyIDEuMTJDMTQgMi4yMDQgMTQgMy4xMzYgMTQgNXMwIDIuNzk1LS4zOTQgMy40ODZhMyAzIDAgMCAxLTEuMTIgMS4xMmMtLjU1NS4zMTctMS4yNjYuMzc5LTIuNDkxLjM5MWwuMDAyLjAwM2MtLjAxMiAxLjIyMi0uMDc1IDEuOTMyLS4zOTEgMi40ODZhMyAzIDAgMCAxLTEuMTIgMS4xMkM3Ljc5NiAxNCA2Ljg2NCAxNCA1IDE0cy0yLjc5NSAwLTMuNDg2LS4zOTRhMyAzIDAgMCAxLTEuMTItMS4xMkMwIDExLjc5NiAwIDEwLjg2NCAwIDlzMC0yLjc5NS4zOTQtMy40ODZhMyAzIDAgMCAxIDEuMTItMS4xMmMuNTU0LS4zMTYgMS4yNjQtLjM3OSAyLjQ4Ni0uMzkxbC4wMDMuMDAyWk05IDguNWMtLjk1OSAwLTEuNTgtLjAwMS0yLjA1LS4wNDMtLjQ1LS4wNC0uNjEzLS4xMDktLjY5My0uMTU0YTEuNSAxLjUgMCAwIDEtLjU2LS41NmMtLjA0NS0uMDgtLjExMy0uMjQzLS4xNTQtLjY5M0M1LjUwMSA2LjU4IDUuNSA1Ljk1OSA1LjUgNWMwLS45NTkuMDAxLTEuNTguMDQzLTIuMDUuMDQtLjQ1LjEwOS0uNjEzLjE1NC0uNjkzYTEuNSAxLjUgMCAwIDEgLjU2LS41NmMuMDgtLjA0NS4yNDMtLjExMy42OTMtLjE1NEM3LjQyIDEuNTAxIDguMDQxIDEuNSA5IDEuNWMuOTU5IDAgMS41OC4wMDEgMi4wNS4wNDMuNDUuMDQuNjEzLjEwOS42OTMuMTU0YTEuNSAxLjUgMCAwIDEgLjU2LjU2Yy4wNDUuMDguMTEzLjI0My4xNTQuNjkzLjA0Mi40Ny4wNDMgMS4wOTEuMDQzIDIuMDUgMCAuOTU5LS4wMDEgMS41OC0uMDQzIDIuMDUtLjA0LjQ1LS4xMDkuNjEzLS4xNTQuNjkzYTEuNSAxLjUgMCAwIDEtLjU2LjU2Yy0uMDguMDQ1LS4yNDIuMTEzLS42OTMuMTU0LS40Ny4wNDItMS4wOTEuMDQzLTIuMDUuMDQzWk00IDUuNTAzYTEzLjc3IDEzLjc3IDAgMCAwLTEuMDUuMDRjLS40NS4wNC0uNjEzLjEwOS0uNjkzLjE1NGExLjUgMS41IDAgMCAwLS41Ni41NmMtLjA0NS4wOC0uMTEzLjI0My0uMTU0LjY5M0MxLjUwMSA3LjQyIDEuNSA4LjA0MSAxLjUgOWMwIC45NTkuMDAxIDEuNTguMDQzIDIuMDUuMDQuNDUuMTA5LjYxMy4xNTQuNjkzYTEuNSAxLjUgMCAwIDAgLjU2LjU2Yy4wOC4wNDUuMjQzLjExMy42OTMuMTU0LjQ3LjA0MiAxLjA5MS4wNDMgMi4wNS4wNDMuOTU5IDAgMS41OC0uMDAxIDIuMDUtLjA0My40NS0uMDQuNjEzLS4xMDkuNjkzLS4xNTRhMS41IDEuNSAwIDAgMCAuNTYtLjU2Yy4wNDUtLjA4LjExMy0uMjQyLjE1NC0uNjkzLjAyNS0uMjgzLjAzNS0uNjE5LjA0LTEuMDUtMS41MzQtLjAwMy0yLjM1OC0uMDM3LTIuOTgzLS4zOTRhMyAzIDAgMCAxLTEuMTItMS4xMmMtLjM1Ny0uNjI1LS4zOS0xLjQ0OS0uMzk0LTIuOTgzWiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+YCxBQ0NPVU5UX0RJU0NPTk5FQ1Q6dXRgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAxNiAxNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTkuNjc3IDEuNWgtMi42MWMtMS4yNjEgMC0yLjEwNy4wMDEtMi43NTcuMDYtLjYyOS4wNTYtLjkyNi4xNTctMS4xMjIuMjY4YTIuNSAyLjUgMCAwIDAtLjkzMy45MzNjLS4xMTIuMTk2LS4yMTIuNDkzLS4yNjkgMS4xMjItLjA1OC42NS0uMDYgMS40OTYtLjA2IDIuNzU3di43MmMwIDEuMjYuMDAyIDIuMTA3LjA2IDIuNzU2LjA1Ny42My4xNTcuOTI3LjI3IDEuMTIzYTIuNSAyLjUgMCAwIDAgLjkzMi45MzNjLjE5Ni4xMTEuNDkzLjIxMiAxLjEyMi4yNjguNjUuMDU5IDEuNDk2LjA2IDIuNzU3LjA2aDIuNjFhLjc1Ljc1IDAgMSAxIDAgMS41aC0yLjYxYy0yLjQ2NyAwLTMuNyAwLTQuNjIyLS41MjVhNCA0IDAgMCAxLTEuNDkzLTEuNDkzQy40MjcgMTEuMDYuNDI3IDkuODI3LjQyNyA3LjM2di0uNzJjMC0yLjQ2NyAwLTMuNy41MjUtNC42MjJBNCA0IDAgMCAxIDIuNDQ1LjUyNUMzLjM2NiAwIDQuNiAwIDcuMDY3IDBoMi42MWEuNzUuNzUgMCAxIDEgMCAxLjVaIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEwLjg5NiAxMS4wM2EuNzUuNzUgMCAwIDEgMC0xLjA2bDEuNzkzLTEuNzkzYS4yNS4yNSAwIDAgMC0uMTc2LS40MjdIOC4xNzdhLjc1Ljc1IDAgMCAxIDAtMS41aDQuMzM2YS4yNS4yNSAwIDAgMCAuMTc2LS40MjdMMTAuODk2IDQuMDNhLjc1Ljc1IDAgMCAxIDEuMDYxLTEuMDZsMy4zMjMgMy4zMjNhMSAxIDAgMCAxIDAgMS40MTRsLTMuMzIzIDMuMzIzYS43NS43NSAwIDAgMS0xLjA2IDBaIi8+PC9zdmc+YCxHTE9CRV9JQ09OOnV0YDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE1LjUgOGE3LjUgNy41IDAgMSAxLTE1IDAgNy41IDcuNSAwIDAgMSAxNSAwWm0tMi4xMTMuNzVjLjMwMSAwIC41MzUuMjY0LjQ3LjU1OGE2LjAxIDYuMDEgMCAwIDEtMi44NjcgMy44OTZjLS4yMDMuMTE2LS40Mi0uMTAzLS4zMzQtLjMyLjQwOS0xLjAxOC42OTEtMi4yNzQuNzk3LTMuNjU3YS41MTIuNTEyIDAgMCAxIC41MDctLjQ3N2gxLjQyN1ptLjQ3LTIuMDU4Yy4wNjUuMjk0LS4xNjkuNTU4LS40Ny41NThIMTEuOTZhLjUxMi41MTIgMCAwIDEtLjUwNy0uNDc3Yy0uMTA2LTEuMzgzLS4zODktMi42MzgtLjc5Ny0zLjY1Ni0uMDg3LS4yMTcuMTMtLjQzNy4zMzMtLjMyYTYuMDEgNi4wMSAwIDAgMSAyLjg2OCAzLjg5NVptLTQuNDAyLjU1OGMuMjg2IDAgLjUxNS0uMjQuNDktLjUyNS0uMTIxLTEuMzYxLS40MjktMi41MzQtLjgzLTMuMzkzLS4yNzktLjYtLjU0OS0uOTMtLjc1My0xLjExMmEuNTM1LjUzNSAwIDAgMC0uNzI0IDBjLS4yMDQuMTgyLS40NzQuNTEzLS43NTQgMS4xMTItLjQuODU5LS43MDggMi4wMzItLjgyOCAzLjM5M2EuNDg2LjQ4NiAwIDAgMCAuNDkuNTI1aDIuOTA5Wm0tNS40MTUgMGMuMjY3IDAgLjQ4Ni0uMjEuNTA3LS40NzcuMTA2LTEuMzgzLjM4OS0yLjYzOC43OTctMy42NTYuMDg3LS4yMTctLjEzLS40MzctLjMzMy0uMzJhNi4wMSA2LjAxIDAgMCAwLTIuODY4IDMuODk1Yy0uMDY1LjI5NC4xNjkuNTU4LjQ3LjU1OEg0LjA0Wk0yLjE0MyA5LjMwOGMtLjA2NS0uMjk0LjE2OS0uNTU4LjQ3LS41NThINC4wNGMuMjY3IDAgLjQ4Ni4yMS41MDcuNDc3LjEwNiAxLjM4My4zODkgMi42MzkuNzk3IDMuNjU3LjA4Ny4yMTctLjEzLjQzNi0uMzMzLjMyYTYuMDEgNi4wMSAwIDAgMS0yLjg2OC0zLjg5NlptMy45MTMtLjAzM2EuNDg2LjQ4NiAwIDAgMSAuNDktLjUyNWgyLjkwOWMuMjg2IDAgLjUxNS4yNC40OS41MjUtLjEyMSAxLjM2MS0uNDI4IDIuNTM1LS44MyAzLjM5NC0uMjc5LjYtLjU0OS45My0uNzUzIDEuMTEyYS41MzUuNTM1IDAgMCAxLS43MjQgMGMtLjIwNC0uMTgyLS40NzQtLjUxMy0uNzU0LTEuMTEyLS40LS44NTktLjcwOC0yLjAzMy0uODI4LTMuMzk0WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+YH0sV0M9VmVgLnczbS10b29sYmFyLXBsYWNlaG9sZGVye3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lO2hlaWdodDoxMDBweDtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tdzNtLWJhY2tncm91bmQtYm9yZGVyLXJhZGl1cykgKiAuOSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tYmFja2dyb3VuZC1jb2xvcik7YmFja2dyb3VuZC1pbWFnZTp2YXIoLS13M20tYmFja2dyb3VuZC1pbWFnZS11cmwpO2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcn0udzNtLXRvb2xiYXJ7aGVpZ2h0OjM4cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjo1cHggMTVweCA1cHggNXB4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcn0udzNtLXRvb2xiYXIgaW1nLC53M20tdG9vbGJhciBzdmd7aGVpZ2h0OjI4cHg7b2JqZWN0LXBvc2l0aW9uOmxlZnQgY2VudGVyO29iamVjdC1maXQ6Y29udGFpbn0jdzNtLXdjLWxvZ28gcGF0aHtmaWxsOnZhcigtLXczbS1hY2NlbnQtZmlsbC1jb2xvcil9YnV0dG9ue3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS13M20taWNvbi1idXR0b24tYm9yZGVyLXJhZGl1cyk7Ym9yZGVyOjA7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWNvbG9yLWJnLTEpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLXczbS1jb2xvci1vdmVybGF5KX1idXR0b246YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWNvbG9yLWJnLTIpfWJ1dHRvbiBzdmd7ZGlzcGxheTpibG9jaztvYmplY3QtcG9zaXRpb246Y2VudGVyfWJ1dHRvbiBwYXRoe2ZpbGw6dmFyKC0tdzNtLWNvbG9yLWZnLTEpfS53M20tdG9vbGJhciBkaXZ7ZGlzcGxheTpmbGV4fS53M20tdG9vbGJhciBkaXYgYnV0dG9uOmZpcnN0LWNoaWxke21hcmdpbi1yaWdodDoxNnB4fS53M20taGVscC1hY3RpdmUgYnV0dG9uOmZpcnN0LWNoaWxke2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWNvbG9yLWZnLTEpfS53M20taGVscC1hY3RpdmUgYnV0dG9uOmZpcnN0LWNoaWxkIHBhdGh7ZmlsbDp2YXIoLS13M20tY29sb3ItYmctMSl9QG1lZGlhKGhvdmVyOmhvdmVyKXtidXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3ItYmctMil9fWA7dmFyIHFDPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxWQz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLFozPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/VkMoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJnFDKGUscixpKSxpfTtsZXQgTmM9Y2xhc3MgZXh0ZW5kcyAkZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5pc0hlbHA9ITEsdGhpcy51bnN1YnNjcmliZVJvdXRlcj12b2lkIDAsdGhpcy51bnN1YnNjcmliZVJvdXRlcj10dC5zdWJzY3JpYmUodD0+e3RoaXMuaXNIZWxwPXQudmlldz09PSJIZWxwIn0pfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIHQ7KHQ9dGhpcy51bnN1YnNjcmliZVJvdXRlcik9PW51bGx8fHQuY2FsbCh0aGlzKX1vbkhlbHAoKXt0dC5wdXNoKCJIZWxwIil9bG9nb1RlbXBsYXRlKCl7dmFyIHQ7Y29uc3QgZT0odD1Mbi5zdGF0ZS50aGVtZVZhcmlhYmxlcyk9PW51bGw/dm9pZCAwOnRbIi0tdzNtLWxvZ28taW1hZ2UtdXJsIl07cmV0dXJuIGU/b2VgPGltZyBzcmM9IiR7ZX0iPmA6TmUuV0FMTEVUX0NPTk5FQ1RfTE9HT31yZW5kZXIoKXtjb25zdCB0PXsidzNtLWhlbHAtYWN0aXZlIjp0aGlzLmlzSGVscH07cmV0dXJuIG9lYDxkaXYgY2xhc3M9InczbS10b29sYmFyLXBsYWNlaG9sZGVyIj48L2Rpdj48ZGl2IGNsYXNzPSJ3M20tdG9vbGJhciI+JHt0aGlzLmxvZ29UZW1wbGF0ZSgpfTxkaXYgY2xhc3M9IiR7THIodCl9Ij48YnV0dG9uIEBjbGljaz0iJHt0aGlzLm9uSGVscH0iPiR7TmUuSEVMUF9JQ09OfTwvYnV0dG9uPiA8YnV0dG9uIEBjbGljaz0iJHtOci5jbG9zZX0iPiR7TmUuQ1JPU1NfSUNPTn08L2J1dHRvbj48L2Rpdj48L2Rpdj5gfX07TmMuc3R5bGVzPVtqZS5nbG9iYWxDc3MsV0NdLFozKFtndCgpXSxOYy5wcm90b3R5cGUsImlzSGVscCIsMiksTmM9WjMoW1JlKCJ3M20tbW9kYWwtYmFja2NhcmQiKV0sTmMpO2NvbnN0IEtDPVZlYG1haW57cGFkZGluZzoyMHB4O3BhZGRpbmctdG9wOjA7d2lkdGg6MTAwJX1gO3ZhciBHQz1PYmplY3QuZGVmaW5lUHJvcGVydHksWkM9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixZQz0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP1pDKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZHQyhlLHIsaSksaX07bGV0IGRmPWNsYXNzIGV4dGVuZHMgJGV7cmVuZGVyKCl7cmV0dXJuIG9lYDxtYWluPjxzbG90Pjwvc2xvdD48L21haW4+YH19O2RmLnN0eWxlcz1bamUuZ2xvYmFsQ3NzLEtDXSxkZj1ZQyhbUmUoInczbS1tb2RhbC1jb250ZW50IildLGRmKTtjb25zdCBKQz1WZWBmb290ZXJ7cGFkZGluZzoxMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6aW5oZXJpdDtqdXN0aWZ5LWNvbnRlbnQ6aW5oZXJpdDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS13M20tY29sb3ItYmctMil9YDt2YXIgWEM9T2JqZWN0LmRlZmluZVByb3BlcnR5LFFDPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsZUk9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9RQyhlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmWEMoZSxyLGkpLGl9O2xldCBwZj1jbGFzcyBleHRlbmRzICRle3JlbmRlcigpe3JldHVybiBvZWA8Zm9vdGVyPjxzbG90Pjwvc2xvdD48L2Zvb3Rlcj5gfX07cGYuc3R5bGVzPVtqZS5nbG9iYWxDc3MsSkNdLHBmPWVJKFtSZSgidzNtLW1vZGFsLWZvb3RlciIpXSxwZik7Y29uc3QgdEk9VmVgaGVhZGVye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjIwcHg7cG9zaXRpb246cmVsYXRpdmV9LnczbS1ib3JkZXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tdzNtLWNvbG9yLWJnLTIpO21hcmdpbi1ib3R0b206MjBweH1oZWFkZXIgYnV0dG9ue3BhZGRpbmc6MTVweCAyMHB4fWhlYWRlciBidXR0b246YWN0aXZle29wYWNpdHk6LjV9QG1lZGlhKGhvdmVyOmhvdmVyKXtoZWFkZXIgYnV0dG9uOmhvdmVye29wYWNpdHk6LjV9fS53M20tYmFjay1idG57cG9zaXRpb246YWJzb2x1dGU7bGVmdDowfS53M20tYWN0aW9uLWJ0bntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowfXBhdGh7ZmlsbDp2YXIoLS13M20tYWNjZW50LWNvbG9yKX1gO3ZhciByST1PYmplY3QuZGVmaW5lUHJvcGVydHksbkk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixhYT0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP25JKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZySShlLHIsaSksaX07bGV0IHRzPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudGl0bGU9IiIsdGhpcy5vbkFjdGlvbj12b2lkIDAsdGhpcy5hY3Rpb25JY29uPXZvaWQgMCx0aGlzLmJvcmRlcj0hMX1iYWNrQnRuVGVtcGxhdGUoKXtyZXR1cm4gb2VgPGJ1dHRvbiBjbGFzcz0idzNtLWJhY2stYnRuIiBAY2xpY2s9IiR7dHQuZ29CYWNrfSI+JHtOZS5CQUNLX0lDT059PC9idXR0b24+YH1hY3Rpb25CdG5UZW1wbGF0ZSgpe3JldHVybiBvZWA8YnV0dG9uIGNsYXNzPSJ3M20tYWN0aW9uLWJ0biIgQGNsaWNrPSIke3RoaXMub25BY3Rpb259Ij4ke3RoaXMuYWN0aW9uSWNvbn08L2J1dHRvbj5gfXJlbmRlcigpe2NvbnN0IHQ9eyJ3M20tYm9yZGVyIjp0aGlzLmJvcmRlcn0sZT10dC5zdGF0ZS5oaXN0b3J5Lmxlbmd0aD4xLHI9dGhpcy50aXRsZT9vZWA8dzNtLXRleHQgdmFyaWFudD0iYmlnLWJvbGQiPiR7dGhpcy50aXRsZX08L3czbS10ZXh0PmA6b2VgPHNsb3Q+PC9zbG90PmA7cmV0dXJuIG9lYDxoZWFkZXIgY2xhc3M9IiR7THIodCl9Ij4ke2U/dGhpcy5iYWNrQnRuVGVtcGxhdGUoKTpudWxsfSAke3J9ICR7dGhpcy5vbkFjdGlvbj90aGlzLmFjdGlvbkJ0blRlbXBsYXRlKCk6bnVsbH08L2hlYWRlcj5gfX07dHMuc3R5bGVzPVtqZS5nbG9iYWxDc3MsdEldLGFhKFtBZSgpXSx0cy5wcm90b3R5cGUsInRpdGxlIiwyKSxhYShbQWUoKV0sdHMucHJvdG90eXBlLCJvbkFjdGlvbiIsMiksYWEoW0FlKCldLHRzLnByb3RvdHlwZSwiYWN0aW9uSWNvbiIsMiksYWEoW0FlKCldLHRzLnByb3RvdHlwZSwiYm9yZGVyIiwyKSx0cz1hYShbUmUoInczbS1tb2RhbC1oZWFkZXIiKV0sdHMpO2NvbnN0IGlJPXsxOiI2OTJlZDZiYS1lNTY5LTQ1OWEtNTU2YS03NzY0NzY4MjllMDAiLDQyMTYxOiI2MDBhOWEwNC1jMWI5LTQyY2EtNjc4NS05YjRiNmZmODUyMDAiLDQzMTE0OiIzMGM0NmU1My1lOTg5LTQ1ZmItNDU0OS1iZTNiZDRlYjNiMDAiLDU2OiI5MzU2NDE1Ny0yZThlLTRjZTctODFkZi1iMjY0ZGJlZTliMDAiLDI1MDoiMDZiMjYyOTctZmUwYy00NzMzLTVkNmItZmZhNTQ5OGFhYzAwIiwxMDoiYWI5YzE4NmEtYzUyZi00NjRiLTI5MDYtY2E1OWQ3NjBhNDAwIiwxMzc6IjQxZDA0ZDQyLWRhM2ItNDQ1My04NTA2LTY2OGNjMDcyNzkwMCIsMTAwOiIwMmI1M2Y2YS1lM2Q0LTQ3OWUtMWNiNC0yMTE3ODk4N2QxMDAiLDkwMDE6ImY5MjZmZjQxLTI2MGQtNDAyOC02MzVlLTkxOTEzZmMyOGUwMCIsMzI0OiJiMzEwZjA3Zi00ZWY3LTQ5ZjMtNzA3My0yYTBhMzk2ODU4MDAiLDMxNDoiNWE3M2IzZGQtYWY3NC00MjRlLWNhZTAtMGRlODU5ZWU5NDAwIiw0Njg5OiIzNGU2ODc1NC1lNTM2LTQwZGEtYzE1My02ZWYyZTcxODhhMDAiLDEwODg6IjM4OTdhNjZkLTQwYjktNDgzMy0xNjJmLWEyYzkwNTMxYzkwMCIsMTI4NDoiMTYxMDM4ZGEtNDRhZS00ZWM3LTEyMDgtMGVhNTY5NDU0YjAwIiwxMjg1OiJmMWQ3M2JiNi01NDUwLTRlMTgtMzhmNy1mYjY0ODQyNjRhMDAifSxzST17RVRIOntpY29uOiI2OTJlZDZiYS1lNTY5LTQ1OWEtNTU2YS03NzY0NzY4MjllMDAifSxXRVRIOntpY29uOiI2OTJlZDZiYS1lNTY5LTQ1OWEtNTU2YS03NzY0NzY4MjllMDAifSxBVkFYOntpY29uOiIzMGM0NmU1My1lOTg5LTQ1ZmItNDU0OS1iZTNiZDRlYjNiMDAifSxGVE06e2ljb246IjA2YjI2Mjk3LWZlMGMtNDczMy01ZDZiLWZmYTU0OThhYWMwMCJ9LEJOQjp7aWNvbjoiOTM1NjQxNTctMmU4ZS00Y2U3LTgxZGYtYjI2NGRiZWU5YjAwIn0sTUFUSUM6e2ljb246IjQxZDA0ZDQyLWRhM2ItNDQ1My04NTA2LTY2OGNjMDcyNzkwMCJ9LE9QOntpY29uOiJhYjljMTg2YS1jNTJmLTQ2NGItMjkwNi1jYTU5ZDc2MGE0MDAifSx4REFJOntpY29uOiIwMmI1M2Y2YS1lM2Q0LTQ3OWUtMWNiNC0yMTE3ODk4N2QxMDAifSxFVk1PUzp7aWNvbjoiZjkyNmZmNDEtMjYwZC00MDI4LTYzNWUtOTE5MTNmYzI4ZTAwIn0sTUVUSVM6e2ljb246IjM4OTdhNjZkLTQwYjktNDgzMy0xNjJmLWEyYzkwNTMxYzkwMCJ9LElPVFg6e2ljb246IjM0ZTY4NzU0LWU1MzYtNDBkYS1jMTUzLTZlZjJlNzE4OGEwMCJ9fSxYcj17ZXh0ZXJuYWxXYWxsZXRzKCl7Y29uc3R7aXNTdGFuZGFsb25lOnR9PURlLnN0YXRlO2lmKHQpcmV0dXJuW107bGV0IGU9TnQuY2xpZW50KCkuZ2V0Q29ubmVjdG9ycygpO3JldHVybiBlPWUuZmlsdGVyKHI9PnIuaWQhPT0iaW5qZWN0ZWQiKSxlfSxtYW51YWxXYWxsZXRzKCl7dmFyIHQsZTtjb25zdHttb2JpbGVXYWxsZXRzOnIsZGVza3RvcFdhbGxldHM6bn09anQuc3RhdGUsaT0odD1Yci5yZWNlbnRXYWxsZXQoKSk9PW51bGw/dm9pZCAwOnQuaWQsbz1JZS5pc01vYmlsZSgpP3I6bixjPW8/LmZpbHRlcihsPT5pIT09bC5pZCk7cmV0dXJuKGU9SWUuaXNNb2JpbGUoKT9jPy5tYXAoKHtpZDpsLG5hbWU6aCxsaW5rczpkfSk9Pih7aWQ6bCxuYW1lOmgsbW9iaWxlOmQsbGlua3M6ZH0pKTpjPy5tYXAoKHtpZDpsLG5hbWU6aCxsaW5rczpkfSk9Pih7aWQ6bCxuYW1lOmgsZGVza3RvcDpkLGxpbmtzOmR9KSkpIT1udWxsP2U6W119LGluc3RhbGxlZEluamVjdGVkV2FsbGV0cygpe2NvbnN0e2lzU3RhbmRhbG9uZTp0fT1EZS5zdGF0ZTtpZih0KXJldHVybltdO2lmKCFOdC5jbGllbnQoKS5pc0luamVjdGVkUHJvdmlkZXJJbnN0YWxsZWQoKSlyZXR1cm5bXTtjb25zdHtuYW1lc3BhY2U6ZX09TnQuY2xpZW50KCkse2luamVjdGVkV2FsbGV0czpyfT1uci5zdGF0ZTtsZXQgbj1yLmZpbHRlcigoe2luamVjdGVkOml9KT0+ISFpLnNvbWUobz0+TnQuY2xpZW50KCkuc2FmZUNoZWNrSW5qZWN0ZWRQcm92aWRlcihvLmluamVjdGVkX2lkKSYmby5uYW1lc3BhY2U9PT1lKSk7cmV0dXJuIG4ubGVuZ3RoPjEmJihuPW4uZmlsdGVyKCh7aW5qZWN0ZWQ6aX0pPT4hIWkubWFwKCh7aW5qZWN0ZWRfaWQ6b30pPT5vKS5ldmVyeShvPT5vIT09ImlzTWV0YU1hc2siKSkpLG4ubGVuZ3RoP246W3tuYW1lOiJCcm93c2VyIixpZDoiYnJvd3NlciIsaW1hZ2VfaWQ6dm9pZCAwfV19LGluamVjdGVkV2FsbGV0cygpe2NvbnN0e2lzU3RhbmRhbG9uZTp0fT1EZS5zdGF0ZSx7ZXhwbG9yZXJFeGNsdWRlZFdhbGxldElkczplLGV4cGxvcmVyUmVjb21tZW5kZWRXYWxsZXRJZHM6cn09anQuc3RhdGUsbj1JZS5pc01vYmlsZSgpO2lmKHR8fGU9PT0iQUxMInx8bilyZXR1cm5bXTtjb25zdHtuYW1lc3BhY2U6aX09TnQuY2xpZW50KCkse2luamVjdGVkV2FsbGV0czpvfT1uci5zdGF0ZTtyZXR1cm4gby5maWx0ZXIoKHtpZDpjLGluamVjdGVkOmx9KT0+e2NvbnN0IGg9SWUuaXNBcnJheShlKT9lOltdLGQ9SWUuaXNBcnJheShyKT9yOltdO3JldHVybiEhbC5zb21lKHY9PnYubmFtZXNwYWNlPT09aSYmIWguaW5jbHVkZXMoYykmJiFkLmluY2x1ZGVzKGMpKX0pfSxyZWNlbnRXYWxsZXQoKXtyZXR1cm4geGUuZ2V0UmVjZW50V2FsbGV0KCl9LHJlY29tZW5kZWRXYWxsZXRzKHQ9ITEpe3ZhciBlO2NvbnN0IHI9WHIuaW5zdGFsbGVkSW5qZWN0ZWRXYWxsZXRzKCkubWFwKCh7aWQ6Y30pPT5jKSxuPXR8fChlPVhyLnJlY2VudFdhbGxldCgpKT09bnVsbD92b2lkIDA6ZS5pZCxpPVsuLi5yLG5dLHtyZWNvbWVuZGVkV2FsbGV0czpvfT1uci5zdGF0ZTtyZXR1cm4gby5maWx0ZXIoYz0+IWkuaW5jbHVkZXMoYy5pZCkpfX0seGU9e01PQklMRV9CUkVBS1BPSU5UOjYwMCxXM01fUkVDRU5UX1dBTExFVF9EQVRBOiJXM01fUkVDRU5UX1dBTExFVF9EQVRBIixFWFBMT1JFUl9XQUxMRVRfVVJMOiJodHRwczovL2V4cGxvcmVyLndhbGxldGNvbm5lY3QuY29tLz90eXBlPXdhbGxldCIscmVqZWN0U3RhbmRhbG9uZUJ1dHRvbkNvbXBvbmVudCgpe2NvbnN0e2lzU3RhbmRhbG9uZTp0fT1EZS5zdGF0ZTtpZih0KXRocm93IG5ldyBFcnJvcigiV2ViM01vZGFsIGJ1dHRvbiBjb21wb25lbnRzIGFyZSBub3QgYXZhaWxhYmxlIGluIHN0YW5kYWxvbmUgbW9kZS4iKX0sZ2V0U2hhZG93Um9vdEVsZW1lbnQodCxlKXtjb25zdCByPXQucmVuZGVyUm9vdC5xdWVyeVNlbGVjdG9yKGUpO2lmKCFyKXRocm93IG5ldyBFcnJvcihgJHtlfSBub3QgZm91bmRgKTtyZXR1cm4gcn0sZ2V0V2FsbGV0SWNvbih7aWQ6dCxpbWFnZV9pZDplfSl7Y29uc3R7d2FsbGV0SW1hZ2VzOnJ9PWp0LnN0YXRlO3JldHVybiByIT1udWxsJiZyW3RdP3JbdF06ZT9uci5nZXRXYWxsZXRJbWFnZVVybChlKToiIn0sZ2V0V2FsbGV0TmFtZSh0LGU9ITEpe3JldHVybiBlP3Quc3BsaXQoIiAiKVswXTp0fSxnZXRDaGFpbkljb24odCl7dmFyIGU7Y29uc3Qgcj1pSVt0XSx7cHJvamVjdElkOm4sY2hhaW5JbWFnZXM6aX09anQuc3RhdGU7cmV0dXJuKGU9aT8uW3RdKSE9bnVsbD9lOm4mJnI/bnIuZ2V0QXNzZXRJbWFnZVVybChyKToiIn0sZ2V0VG9rZW5JY29uKHQpe3ZhciBlLHI7Y29uc3Qgbj0oZT1zSVt0XSk9PW51bGw/dm9pZCAwOmUuaWNvbix7cHJvamVjdElkOmksdG9rZW5JbWFnZXM6b309anQuc3RhdGU7cmV0dXJuKHI9bz8uW3RdKSE9bnVsbD9yOmkmJm4/bnIuZ2V0QXNzZXRJbWFnZVVybChuKToiIn0saXNNb2JpbGVBbmltYXRpb24oKXtyZXR1cm4gd2luZG93LmlubmVyV2lkdGg8PXhlLk1PQklMRV9CUkVBS1BPSU5UfSxhc3luYyBwcmVsb2FkSW1hZ2UodCl7Y29uc3QgZT1uZXcgUHJvbWlzZSgocixuKT0+e2NvbnN0IGk9bmV3IEltYWdlO2kub25sb2FkPXIsaS5vbmVycm9yPW4saS5zcmM9dH0pO3JldHVybiBQcm9taXNlLnJhY2UoW2UsSWUud2FpdCgzZTMpXSl9LGdldEVycm9yTWVzc2FnZSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIEVycm9yP3QubWVzc2FnZToiVW5rbm93biBFcnJvciJ9LGRlYm91bmNlKHQsZT01MDApe2xldCByO3JldHVybiguLi5uKT0+e2Z1bmN0aW9uIGkoKXt0KC4uLm4pfXImJmNsZWFyVGltZW91dChyKSxyPXNldFRpbWVvdXQoaSxlKX19LGhhbmRsZU1vYmlsZUxpbmtpbmcodCl7Y29uc3R7c3RhbmRhbG9uZVVyaTplfT1EZS5zdGF0ZSx7cGFpcmluZ1VyaTpyfT1oci5zdGF0ZSx7bW9iaWxlOm4sbmFtZTppfT10LG89bj8ubmF0aXZlLGM9bj8udW5pdmVyc2FsO3hlLnNldFJlY2VudFdhbGxldCh0KTtmdW5jdGlvbiBsKGgpe2xldCBkPSIiO28/ZD1JZS5mb3JtYXRVbml2ZXJzYWxVcmwobyxoLGkpOmMmJihkPUllLmZvcm1hdE5hdGl2ZVVybChjLGgsaSkpLEllLm9wZW5IcmVmKGQsIl9zZWxmIil9bChlfHxyKX0saGFuZGxlQW5kcm9pZExpbmtpbmcoKXtjb25zdHtzdGFuZGFsb25lVXJpOnR9PURlLnN0YXRlLHtwYWlyaW5nVXJpOmV9PWhyLnN0YXRlO3Q/KEllLnNldFdhbGxldENvbm5lY3RBbmRyb2lkRGVlcExpbmsodCksSWUub3BlbkhyZWYodCwiX3NlbGYiKSk6KEllLnNldFdhbGxldENvbm5lY3RBbmRyb2lkRGVlcExpbmsoZSksSWUub3BlbkhyZWYoZSwiX3NlbGYiKSl9LGFzeW5jIGhhbmRsZVVyaUNvcHkoKXtjb25zdHtzdGFuZGFsb25lVXJpOnR9PURlLnN0YXRlLHtwYWlyaW5nVXJpOmV9PWhyLnN0YXRlO3Q/YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodCk6YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoZSksV3Iub3BlblRvYXN0KCJMaW5rIGNvcGllZCIsInN1Y2Nlc3MiKX0sYXN5bmMgaGFuZGxlQ29ubmVjdG9yQ29ubmVjdGlvbih0LGUpe3RyeXtjb25zdHtzZWxlY3RlZENoYWluOnJ9PURlLnN0YXRlO2F3YWl0IE50LmNsaWVudCgpLmNvbm5lY3RDb25uZWN0b3IodCxyPy5pZCksTnIuY2xvc2UoKX1jYXRjaChyKXtjb25zb2xlLmVycm9yKHIpLGU/ZSgpOldyLm9wZW5Ub2FzdCh4ZS5nZXRFcnJvck1lc3NhZ2UociksImVycm9yIil9fSxnZXRDdXN0b21JbWFnZVVybHMoKXtjb25zdHtjaGFpbkltYWdlczp0LHdhbGxldEltYWdlczplfT1qdC5zdGF0ZSxyPU9iamVjdC52YWx1ZXModD8/e30pLG49T2JqZWN0LnZhbHVlcyhlPz97fSk7cmV0dXJuIE9iamVjdC52YWx1ZXMoWy4uLnIsLi4ubl0pfSx0cnVuY2F0ZSh0LGU9OCl7cmV0dXJuIHQubGVuZ3RoPD1lP3Q6YCR7dC5zdWJzdHJpbmcoMCw0KX0uLi4ke3Quc3Vic3RyaW5nKHQubGVuZ3RoLTQpfWB9LGdlbmVyYXRlQXZhdGFyQ29sb3JzKHQpe3ZhciBlO2NvbnN0IHI9KGU9dC5tYXRjaCgvLnsxLDd9L2cpKT09bnVsbD92b2lkIDA6ZS5zcGxpY2UoMCw1KSxuPVtdO3I/LmZvckVhY2gobz0+e2xldCBjPTA7Zm9yKGxldCBoPTA7aDxvLmxlbmd0aDtoKz0xKWM9by5jaGFyQ29kZUF0KGgpKygoYzw8NSktYyksYz1jJmM7Y29uc3QgbD1bMCwwLDBdO2ZvcihsZXQgaD0wO2g8MztoKz0xKXtjb25zdCBkPWM+PmgqOCYyNTU7bFtoXT1kfW4ucHVzaChgcmdiKCR7bFswXX0sICR7bFsxXX0sICR7bFsyXX0pYCl9KTtjb25zdCBpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIjpyb290Iik7aWYoaSl7Y29uc3Qgbz17Ii0tdzNtLWNvbG9yLWF2LTEiOm5bMF0sIi0tdzNtLWNvbG9yLWF2LTIiOm5bMV0sIi0tdzNtLWNvbG9yLWF2LTMiOm5bMl0sIi0tdzNtLWNvbG9yLWF2LTQiOm5bM10sIi0tdzNtLWNvbG9yLWF2LTUiOm5bNF19O09iamVjdC5lbnRyaWVzKG8pLmZvckVhY2goKFtjLGxdKT0+aS5zdHlsZS5zZXRQcm9wZXJ0eShjLGwpKX19LHNldFJlY2VudFdhbGxldCh0KXtjb25zdHt3YWxsZXRDb25uZWN0VmVyc2lvbjplfT1EZS5zdGF0ZTtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh4ZS5XM01fUkVDRU5UX1dBTExFVF9EQVRBLEpTT04uc3RyaW5naWZ5KHtbZV06dH0pKX0sZ2V0UmVjZW50V2FsbGV0KCl7Y29uc3QgdD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh4ZS5XM01fUkVDRU5UX1dBTExFVF9EQVRBKTtpZih0KXtjb25zdHt3YWxsZXRDb25uZWN0VmVyc2lvbjplfT1EZS5zdGF0ZSxyPUpTT04ucGFyc2UodCk7aWYocltlXSlyZXR1cm4gcltlXX19LGNhc2VTYWZlSW5jbHVkZXModCxlKXtyZXR1cm4gdC50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKGUudG9VcHBlckNhc2UoKSl9LG9wZW5XYWxsZXRFeHBsb3JlclVybCgpe0llLm9wZW5IcmVmKHhlLkVYUExPUkVSX1dBTExFVF9VUkwsIl9ibGFuayIpfSxnZXRDYWNoZWRSb3V0ZXJXYWxsZXRQbGF0Zm9ybXMoKXtjb25zdHtpZDp0LGRlc2t0b3A6ZSxtb2JpbGU6cixpbmplY3RlZDpufT1JZS5nZXRXYWxsZXRSb3V0ZXJEYXRhKCksaT1Yci5pbnN0YWxsZWRJbmplY3RlZFdhbGxldHMoKSxvPSEhKG4hPW51bGwmJm4ubGVuZ3RoKSxjPWkuc29tZSh2PT52LmlkPT09dCksbD0hIShlIT1udWxsJiZlLm5hdGl2ZSksaD0hIShlIT1udWxsJiZlLnVuaXZlcnNhbCksZD0hIShyIT1udWxsJiZyLm5hdGl2ZSl8fCEhKHIhPW51bGwmJnIudW5pdmVyc2FsKTtyZXR1cm57aXNJbmplY3RlZEluc3RhbGxlZDpjLGlzSW5qZWN0ZWQ6byxpc0Rlc2t0b3A6bCxpc01vYmlsZTpkLGlzV2ViOmh9fSxnb1RvQ29ubmVjdGluZ1ZpZXcodCl7dHQuc2V0RGF0YSh7V2FsbGV0OnR9KTtjb25zdCBlPUllLmlzTW9iaWxlKCkse2lzRGVza3RvcDpyLGlzV2ViOm4saXNNb2JpbGU6aSxpc0luamVjdGVkSW5zdGFsbGVkOm99PXhlLmdldENhY2hlZFJvdXRlcldhbGxldFBsYXRmb3JtcygpO2U/bz90dC5wdXNoKCJJbmplY3RlZENvbm5lY3RpbmciKTppP3R0LnB1c2goIk1vYmlsZUNvbm5lY3RpbmciKTpuP3R0LnB1c2goIldlYkNvbm5lY3RpbmciKTp0dC5wdXNoKCJJbnN0YWxsV2FsbGV0Iik6bz90dC5wdXNoKCJJbmplY3RlZENvbm5lY3RpbmciKTpyP3R0LnB1c2goIkRlc2t0b3BDb25uZWN0aW5nIik6bj90dC5wdXNoKCJXZWJDb25uZWN0aW5nIik6aT90dC5wdXNoKCJNb2JpbGVRcmNvZGVDb25uZWN0aW5nIik6dHQucHVzaCgiSW5zdGFsbFdhbGxldCIpfX0sb0k9VmVgLnczbS1yb3V0ZXJ7b3ZlcmZsb3c6aGlkZGVuO3dpbGwtY2hhbmdlOnRyYW5zZm9ybX0udzNtLWNvbnRlbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1gO3ZhciBhST1PYmplY3QuZGVmaW5lUHJvcGVydHksY0k9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixnZj0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP2NJKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZhSShlLHIsaSksaX07bGV0IGNhPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudmlldz10dC5zdGF0ZS52aWV3LHRoaXMucHJldlZpZXc9dHQuc3RhdGUudmlldyx0aGlzLnVuc3Vic2NyaWJlPXZvaWQgMCx0aGlzLm9sZEhlaWdodD0iMHB4Iix0aGlzLnJlc2l6ZU9ic2VydmVyPXZvaWQgMCx0aGlzLnVuc3Vic2NyaWJlPXR0LnN1YnNjcmliZSh0PT57dGhpcy52aWV3IT09dC52aWV3JiZ0aGlzLm9uQ2hhbmdlUm91dGUoKX0pfWZpcnN0VXBkYXRlZCgpe3RoaXMucmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKChbdF0pPT57Y29uc3QgZT1gJHt0LmNvbnRlbnRSZWN0LmhlaWdodH1weGA7dGhpcy5vbGRIZWlnaHQhPT0iMHB4IiYmZXModGhpcy5yb3V0ZXJFbCx7aGVpZ2h0Olt0aGlzLm9sZEhlaWdodCxlXX0se2R1cmF0aW9uOi4yfSksdGhpcy5vbGRIZWlnaHQ9ZX0pLHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmNvbnRlbnRFbCl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgdCxlOyh0PXRoaXMudW5zdWJzY3JpYmUpPT1udWxsfHx0LmNhbGwodGhpcyksKGU9dGhpcy5yZXNpemVPYnNlcnZlcik9PW51bGx8fGUuZGlzY29ubmVjdCgpfWdldCByb3V0ZXJFbCgpe3JldHVybiB4ZS5nZXRTaGFkb3dSb290RWxlbWVudCh0aGlzLCIudzNtLXJvdXRlciIpfWdldCBjb250ZW50RWwoKXtyZXR1cm4geGUuZ2V0U2hhZG93Um9vdEVsZW1lbnQodGhpcywiLnczbS1jb250ZW50Iil9dmlld1RlbXBsYXRlKCl7c3dpdGNoKHRoaXMudmlldyl7Y2FzZSJDb25uZWN0V2FsbGV0IjpyZXR1cm4gb2VgPHczbS1jb25uZWN0LXdhbGxldC12aWV3PjwvdzNtLWNvbm5lY3Qtd2FsbGV0LXZpZXc+YDtjYXNlIlNlbGVjdE5ldHdvcmsiOnJldHVybiBvZWA8dzNtLXNlbGVjdC1uZXR3b3JrLXZpZXc+PC93M20tc2VsZWN0LW5ldHdvcmstdmlldz5gO2Nhc2UiSW5qZWN0ZWRDb25uZWN0aW5nIjpyZXR1cm4gb2VgPHczbS1pbmplY3RlZC1jb25uZWN0aW5nLXZpZXc+PC93M20taW5qZWN0ZWQtY29ubmVjdGluZy12aWV3PmA7Y2FzZSJEZXNrdG9wQ29ubmVjdGluZyI6cmV0dXJuIG9lYDx3M20tZGVza3RvcC1jb25uZWN0aW5nLXZpZXc+PC93M20tZGVza3RvcC1jb25uZWN0aW5nLXZpZXc+YDtjYXNlIk1vYmlsZUNvbm5lY3RpbmciOnJldHVybiBvZWA8dzNtLW1vYmlsZS1jb25uZWN0aW5nLXZpZXc+PC93M20tbW9iaWxlLWNvbm5lY3Rpbmctdmlldz5gO2Nhc2UiV2ViQ29ubmVjdGluZyI6cmV0dXJuIG9lYDx3M20td2ViLWNvbm5lY3Rpbmctdmlldz48L3czbS13ZWItY29ubmVjdGluZy12aWV3PmA7Y2FzZSJNb2JpbGVRcmNvZGVDb25uZWN0aW5nIjpyZXR1cm4gb2VgPHczbS1tb2JpbGUtcXItY29ubmVjdGluZy12aWV3PjwvdzNtLW1vYmlsZS1xci1jb25uZWN0aW5nLXZpZXc+YDtjYXNlIkdldFdhbGxldCI6cmV0dXJuIG9lYDx3M20tZ2V0LXdhbGxldC12aWV3PjwvdzNtLWdldC13YWxsZXQtdmlldz5gO2Nhc2UiV2FsbGV0RXhwbG9yZXIiOnJldHVybiBvZWA8dzNtLXdhbGxldC1leHBsb3Jlci12aWV3PjwvdzNtLXdhbGxldC1leHBsb3Jlci12aWV3PmA7Y2FzZSJRcmNvZGUiOnJldHVybiBvZWA8dzNtLXFyY29kZS12aWV3PjwvdzNtLXFyY29kZS12aWV3PmA7Y2FzZSJIZWxwIjpyZXR1cm4gb2VgPHczbS1oZWxwLXZpZXc+PC93M20taGVscC12aWV3PmA7Y2FzZSJBY2NvdW50IjpyZXR1cm4gb2VgPHczbS1hY2NvdW50LXZpZXc+PC93M20tYWNjb3VudC12aWV3PmA7Y2FzZSJTd2l0Y2hOZXR3b3JrIjpyZXR1cm4gb2VgPHczbS1zd2l0Y2gtbmV0d29yay12aWV3PjwvdzNtLXN3aXRjaC1uZXR3b3JrLXZpZXc+YDtjYXNlIkluc3RhbGxXYWxsZXQiOnJldHVybiBvZWA8dzNtLWluc3RhbGwtd2FsbGV0LXZpZXc+PC93M20taW5zdGFsbC13YWxsZXQtdmlldz5gO2RlZmF1bHQ6cmV0dXJuIG9lYDxkaXY+Tm90IEZvdW5kPC9kaXY+YH19YXN5bmMgb25DaGFuZ2VSb3V0ZSgpe2F3YWl0IGVzKHRoaXMucm91dGVyRWwse29wYWNpdHk6WzEsMF0sc2NhbGU6WzEsMS4wMl19LHtkdXJhdGlvbjouMTUsZGVsYXk6LjF9KS5maW5pc2hlZCx0aGlzLnZpZXc9dHQuc3RhdGUudmlldyxlcyh0aGlzLnJvdXRlckVsLHtvcGFjaXR5OlswLDFdLHNjYWxlOlsuOTksMV19LHtkdXJhdGlvbjouMzcsZGVsYXk6LjA1fSl9cmVuZGVyKCl7cmV0dXJuIG9lYDxkaXYgY2xhc3M9InczbS1yb3V0ZXIiPjxkaXYgY2xhc3M9InczbS1jb250ZW50Ij4ke3RoaXMudmlld1RlbXBsYXRlKCl9PC9kaXY+PC9kaXY+YH19O2NhLnN0eWxlcz1bamUuZ2xvYmFsQ3NzLG9JXSxnZihbZ3QoKV0sY2EucHJvdG90eXBlLCJ2aWV3IiwyKSxnZihbZ3QoKV0sY2EucHJvdG90eXBlLCJwcmV2VmlldyIsMiksY2E9Z2YoW1JlKCJ3M20tbW9kYWwtcm91dGVyIildLGNhKTtjb25zdCBsST1WZWBkaXZ7aGVpZ2h0OjM2cHg7d2lkdGg6bWF4LWNvbnRlbnQ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6OXB4IDE1cHggMTFweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTJweDtib3gtc2hhZG93OjAgNnB4IDE0cHggLTZweCByZ2JhKDEwLDE2LDMxLC4zKSwwIDEwcHggMzJweCAtNHB4IHJnYmEoMTAsMTYsMzEsLjE1KTt6LWluZGV4OjI7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigyMHB4KSBzYXR1cmF0ZSgxLjgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMjBweCkgc2F0dXJhdGUoMS44KTtib3JkZXItcmFkaXVzOnZhcigtLXczbS1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cyk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9c3Zne21hcmdpbi1yaWdodDo1cHh9QC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpe2RpdntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1iZy0zKX19LnczbS1zdWNjZXNzIHBhdGh7ZmlsbDp2YXIoLS13M20tYWNjZW50LWNvbG9yKX0udzNtLWVycm9yIHBhdGh7ZmlsbDp2YXIoLS13M20tZXJyb3ItY29sb3IpfWA7dmFyIHVJPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxoST1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLFkzPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/aEkoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJnVJKGUscixpKSxpfTtsZXQgTGM9Y2xhc3MgZXh0ZW5kcyAkZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5vcGVuPSExLHRoaXMudW5zdWJzY3JpYmU9dm9pZCAwLHRoaXMudGltZW91dD12b2lkIDAsdGhpcy51bnN1YnNjcmliZT1Xci5zdWJzY3JpYmUodD0+e3Qub3Blbj8odGhpcy5vcGVuPSEwLHRoaXMudGltZW91dD1zZXRUaW1lb3V0KCgpPT5Xci5jbG9zZVRvYXN0KCksMjIwMCkpOih0aGlzLm9wZW49ITEsY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCkpfSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgdDsodD10aGlzLnVuc3Vic2NyaWJlKT09bnVsbHx8dC5jYWxsKHRoaXMpLGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpLFdyLmNsb3NlVG9hc3QoKX1yZW5kZXIoKXtjb25zdHttZXNzYWdlOnQsdmFyaWFudDplfT1Xci5zdGF0ZSxyPXsidzNtLXN1Y2Nlc3MiOmU9PT0ic3VjY2VzcyIsInczbS1lcnJvciI6ZT09PSJlcnJvciJ9O3JldHVybiB0aGlzLm9wZW4/b2VgPGRpdiBjbGFzcz0iJHtMcihyKX0iPiR7ZT09PSJzdWNjZXNzIj9OZS5DSEVDS01BUktfSUNPTjpudWxsfSAke2U9PT0iZXJyb3IiP05lLkNST1NTX0lDT046bnVsbH08dzNtLXRleHQgdmFyaWFudD0ic21hbGwtcmVndWxhciI+JHt0fTwvdzNtLXRleHQ+PC9kaXY+YDpudWxsfX07TGMuc3R5bGVzPVtqZS5nbG9iYWxDc3MsbEldLFkzKFtndCgpXSxMYy5wcm90b3R5cGUsIm9wZW4iLDIpLExjPVkzKFtSZSgidzNtLW1vZGFsLXRvYXN0IildLExjKTtjb25zdCBmST1WZWBidXR0b257cGFkZGluZzo1cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS13M20tYnV0dG9uLWhvdmVyLWhpZ2hsaWdodC1ib3JkZXItcmFkaXVzKTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjgwcHg7aGVpZ2h0OjkwcHg7cG9zaXRpb246cmVsYXRpdmV9dzNtLW5ldHdvcmstaW1hZ2V7d2lkdGg6NTRweDtoZWlnaHQ6NTlweH13M20tdGV4dHt3aWR0aDoxMDAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tdG9wOjVweH1idXR0b246YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpfS53M20tdW5zdXBwb3J0ZWR7b3BhY2l0eTouM31AbWVkaWEoaG92ZXI6aG92ZXIpe2J1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX19YDt2YXIgZEk9T2JqZWN0LmRlZmluZVByb3BlcnR5LHBJPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsbGE9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9wSShlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmZEkoZSxyLGkpLGl9O2xldCBycz1jbGFzcyBleHRlbmRzICRle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm9uQ2xpY2s9KCk9Pm51bGwsdGhpcy5uYW1lPSIiLHRoaXMuY2hhaW5JZD0iIix0aGlzLnVuc3VwcG9ydGVkPSExfXJlbmRlcigpe2NvbnN0IHQ9eyJ3M20tdW5zdXBwb3J0ZWQiOnRoaXMudW5zdXBwb3J0ZWR9O3JldHVybiBvZWA8YnV0dG9uIEBjbGljaz0iJHt0aGlzLm9uQ2xpY2t9IiBjbGFzcz0iJHtMcih0KX0iPjx3M20tbmV0d29yay1pbWFnZSBjaGFpbklkPSIke3RoaXMuY2hhaW5JZH0iPjwvdzNtLW5ldHdvcmstaW1hZ2U+PHczbS10ZXh0IHZhcmlhbnQ9InhzbWFsbC1yZWd1bGFyIj4ke3RoaXMubmFtZX08L3czbS10ZXh0PjwvYnV0dG9uPmB9fTtycy5zdHlsZXM9W2plLmdsb2JhbENzcyxmSV0sbGEoW0FlKCldLHJzLnByb3RvdHlwZSwib25DbGljayIsMiksbGEoW0FlKCldLHJzLnByb3RvdHlwZSwibmFtZSIsMiksbGEoW0FlKCldLHJzLnByb3RvdHlwZSwiY2hhaW5JZCIsMiksbGEoW0FlKCldLHJzLnByb3RvdHlwZSwidW5zdXBwb3J0ZWQiLDIpLHJzPWxhKFtSZSgidzNtLW5ldHdvcmstYnV0dG9uIildLHJzKTtjb25zdCBnST1WZWBAa2V5ZnJhbWVzIGxvYWRpbmd7dG97c3Ryb2tlLWRhc2hvZmZzZXQ6MH19Omhvc3R7d2lkdGg6aW5oZXJpdDtoZWlnaHQ6aW5oZXJpdDtwb3NpdGlvbjpyZWxhdGl2ZX1wYXRoe3N0cm9rZTp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9c3Zne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWFyZ2luOjB9I25ldHdvcmstcGxhY2Vob2xkZXItZmlsbHtmaWxsOnZhcigtLXczbS1jb2xvci1iZy0zKX0jbmV0d29yay1wbGFjZWhvbGRlci1kYXNoe3N0cm9rZTp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9aW1hZ2V7Y2xpcC1wYXRoOnBhdGgoJ00xNy4wMzMgNC45NjRjMy44NTItMi4yNjIgNS43NzgtMy4zOTMgNy44NC0zLjc3YTExLjgwNyAxMS44MDcgMCAwIDEgNC4yNTQgMGMyLjA2Mi4zNzcgMy45ODggMS41MDggNy44NCAzLjc3bDYuMDY2IDMuNTYyYzMuODUyIDIuMjYzIDUuNzc3IDMuMzk0IDcuMTMgNS4wMjJhMTIuMjY4IDEyLjI2OCAwIDAgMSAyLjEyNyAzLjc0N2MuNzEgMi4wMDYuNzEgNC4yNjguNzEgOC43OTN2Ny4xMjRjMCA0LjUyNSAwIDYuNzg3LS43MSA4Ljc5M2ExMi4yNjggMTIuMjY4IDAgMCAxLTIuMTI2IDMuNzQ3Yy0xLjM1NCAxLjYyOC0zLjI4IDIuNzYtNy4xMzEgNS4wMjJsLTYuMDY2IDMuNTYyYy0zLjg1MiAyLjI2Mi01Ljc3OCAzLjM5My03Ljg0IDMuNzcxYTExLjgxNCAxMS44MTQgMCAwIDEtNC4yNTQgMGMtMi4wNjItLjM3OC0zLjk4OC0xLjUwOS03Ljg0LTMuNzdsLTYuMDY2LTMuNTYzYy0zLjg1Mi0yLjI2My01Ljc3OC0zLjM5NC03LjEzLTUuMDIyYTEyLjI2OCAxMi4yNjggMCAwIDEtMi4xMjctMy43NDdDMSA0MCAxIDM3LjczNyAxIDMzLjIxMnYtNy4xMjRjMC00LjUyNSAwLTYuNzg3LjcxLTguNzkzYTEyLjI2OCAxMi4yNjggMCAwIDEgMi4xMjctMy43NDdjMS4zNTItMS42MjggMy4yNzgtMi43NiA3LjEzLTUuMDIybDYuMDY2LTMuNTYyWicpfWA7dmFyIG1JPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSx3ST1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLEozPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/d0koZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJm1JKGUscixpKSxpfTtsZXQgTWM9Y2xhc3MgZXh0ZW5kcyAkZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5jaGFpbklkPSIifXJlbmRlcigpe2NvbnN0IHQ9eGUuZ2V0Q2hhaW5JY29uKHRoaXMuY2hhaW5JZCk7cmV0dXJuIHQ/b2VgPHN2ZyB3aWR0aD0iNTQiIGhlaWdodD0iNTkiIHZpZXdCb3g9IjAgMCA1NCA1OSIgZmlsbD0ibm9uZSI+PGltYWdlIGhyZWY9IiR7dH0iLz48aW1hZ2UgaHJlZj0iJHt0fSIgd2lkdGg9IjU0IiBoZWlnaHQ9IjU5Ii8+PHBhdGggZD0iTTE3LjIyIDUuMjk1YzMuODc3LTIuMjc3IDUuNzM3LTMuMzYzIDcuNzItMy43MjZhMTEuNDQgMTEuNDQgMCAwIDEgNC4xMiAwYzEuOTgzLjM2MyAzLjg0NCAxLjQ1IDcuNzIgMy43MjZsNi4wNjUgMy41NjJjMy44NzYgMi4yNzYgNS43MzEgMy4zNzIgNy4wMzIgNC45MzhhMTEuODk2IDExLjg5NiAwIDAgMSAyLjA2IDMuNjNjLjY4MyAxLjkyOC42ODggNC4xMS42ODggOC42NjN2Ny4xMjRjMCA0LjU1My0uMDA1IDYuNzM1LS42ODggOC42NjRhMTEuODk2IDExLjg5NiAwIDAgMS0yLjA2IDMuNjNjLTEuMyAxLjU2NS0zLjE1NiAyLjY2LTcuMDMyIDQuOTM3bC02LjA2NSAzLjU2M2MtMy44NzcgMi4yNzYtNS43MzcgMy4zNjItNy43MiAzLjcyNWExMS40NiAxMS40NiAwIDAgMS00LjEyIDBjLTEuOTgzLS4zNjMtMy44NDQtMS40NDktNy43Mi0zLjcyNmwtNi4wNjUtMy41NjJjLTMuODc2LTIuMjc2LTUuNzMxLTMuMzcyLTcuMDMyLTQuOTM4YTExLjg4NSAxMS44ODUgMCAwIDEtMi4wNi0zLjYzYy0uNjgyLTEuOTI4LS42ODgtNC4xMS0uNjg4LTguNjYzdi03LjEyNGMwLTQuNTUzLjAwNi02LjczNS42ODgtOC42NjRhMTEuODg1IDExLjg4NSAwIDAgMSAyLjA2LTMuNjNjMS4zLTEuNTY1IDMuMTU2LTIuNjYgNy4wMzItNC45MzdsNi4wNjUtMy41NjJaIi8+PC9zdmc+YDpvZWAke05lLk5FVFdPUktfUExBQ0VIT0xERVJ9YH19O01jLnN0eWxlcz1bamUuZ2xvYmFsQ3NzLGdJXSxKMyhbQWUoKV0sTWMucHJvdG90eXBlLCJjaGFpbklkIiwyKSxNYz1KMyhbUmUoInczbS1uZXR3b3JrLWltYWdlIildLE1jKTtjb25zdCB2ST0uMSxYMz0yLjUsR249NztmdW5jdGlvbiBtZih0LGUscil7cmV0dXJuIHQ9PT1lPyExOih0LWU8MD9lLXQ6dC1lKTw9cit2SX1mdW5jdGlvbiB5SSh0LGUpe2NvbnN0IHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwocmEuY3JlYXRlKHQse2Vycm9yQ29ycmVjdGlvbkxldmVsOmV9KS5tb2R1bGVzLmRhdGEsMCksbj1NYXRoLnNxcnQoci5sZW5ndGgpO3JldHVybiByLnJlZHVjZSgoaSxvLGMpPT4oYyVuPT09MD9pLnB1c2goW29dKTppW2kubGVuZ3RoLTFdLnB1c2gobykpJiZpLFtdKX1jb25zdCBiST17Z2VuZXJhdGUodCxlLHIsbil7Y29uc3QgaT1uPT09ImxpZ2h0Ij8iIzE0MTQxNCI6IiNmZmYiLG89bj09PSJsaWdodCI/IiNmZmYiOiIjMTQxNDE0IixjPVtdLGw9eUkodCwiUSIpLGg9ZS9sLmxlbmd0aCxkPVt7eDowLHk6MH0se3g6MSx5OjB9LHt4OjAseToxfV07ZC5mb3JFYWNoKCh7eDpVLHk6SH0pPT57Y29uc3QgRz0obC5sZW5ndGgtR24pKmgqVSxOPShsLmxlbmd0aC1HbikqaCpILEw9LjMyO2ZvcihsZXQgJD0wOyQ8ZC5sZW5ndGg7JCs9MSl7Y29uc3QgVD1oKihHbi0kKjIpO2MucHVzaCh1dGA8cmVjdCBmaWxsPSIkeyQlMj09PTA/aTpvfSIgaGVpZ2h0PSIke1R9IiByeD0iJHtUKkx9IiByeT0iJHtUKkx9IiB3aWR0aD0iJHtUfSIgeD0iJHtHK2gqJH0iIHk9IiR7TitoKiR9Ij5gKX19KTtjb25zdCB2PU1hdGguZmxvb3IoKHIrMjUpL2gpLEU9bC5sZW5ndGgvMi12LzIsXz1sLmxlbmd0aC8yK3YvMi0xLEE9W107bC5mb3JFYWNoKChVLEgpPT57VS5mb3JFYWNoKChHLE4pPT57aWYobFtIXVtOXSYmIShIPEduJiZOPEdufHxIPmwubGVuZ3RoLShHbisxKSYmTjxHbnx8SDxHbiYmTj5sLmxlbmd0aC0oR24rMSkpJiYhKEg+RSYmSDxfJiZOPkUmJk48Xykpe2NvbnN0IEw9SCpoK2gvMiwkPU4qaCtoLzI7QS5wdXNoKFtMLCRdKX19KX0pO2NvbnN0IFA9e307cmV0dXJuIEEuZm9yRWFjaCgoW1UsSF0pPT57UFtVXT9QW1VdLnB1c2goSCk6UFtVXT1bSF19KSxPYmplY3QuZW50cmllcyhQKS5tYXAoKFtVLEhdKT0+e2NvbnN0IEc9SC5maWx0ZXIoTj0+SC5ldmVyeShMPT4hbWYoTixMLGgpKSk7cmV0dXJuW051bWJlcihVKSxHXX0pLmZvckVhY2goKFtVLEhdKT0+e0guZm9yRWFjaChHPT57Yy5wdXNoKHV0YDxjaXJjbGUgY3g9IiR7VX0iIGN5PSIke0d9IiBmaWxsPSIke2l9IiByPSIke2gvWDN9Ij5gKX0pfSksT2JqZWN0LmVudHJpZXMoUCkuZmlsdGVyKChbVSxIXSk9PkgubGVuZ3RoPjEpLm1hcCgoW1UsSF0pPT57Y29uc3QgRz1ILmZpbHRlcihOPT5ILnNvbWUoTD0+bWYoTixMLGgpKSk7cmV0dXJuW051bWJlcihVKSxHXX0pLm1hcCgoW1UsSF0pPT57SC5zb3J0KChOLEwpPT5OPEw/LTE6MSk7Y29uc3QgRz1bXTtmb3IoY29uc3QgTiBvZiBIKXtjb25zdCBMPUcuZmluZCgkPT4kLnNvbWUoVD0+bWYoTixULGgpKSk7TD9MLnB1c2goTik6Ry5wdXNoKFtOXSl9cmV0dXJuW1UsRy5tYXAoTj0+W05bMF0sTltOLmxlbmd0aC0xXV0pXX0pLmZvckVhY2goKFtVLEhdKT0+e0guZm9yRWFjaCgoW0csTl0pPT57Yy5wdXNoKHV0YDxsaW5lIHgxPSIke1V9IiB4Mj0iJHtVfSIgeTE9IiR7R30iIHkyPSIke059IiBzdHJva2U9IiR7aX0iIHN0cm9rZS13aWR0aD0iJHtoLyhYMy8yKX0iIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+YCl9KX0pLGN9fSxfST1WZWBAa2V5ZnJhbWVzIGZhZGVJbnswJXtvcGFjaXR5OjB9MTAwJXtvcGFjaXR5OjF9fWRpdntwb3NpdGlvbjpyZWxhdGl2ZTt1c2VyLXNlbGVjdDpub25lO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjEwMCU7YXNwZWN0LXJhdGlvOjEvMTthbmltYXRpb246ZmFkZUluIGVhc2UgLjJzfXN2ZzpmaXJzdC1jaGlsZCx3M20td2FsbGV0LWltYWdle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKX13M20td2FsbGV0LWltYWdle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSl9dzNtLXdhbGxldC1pbWFnZXt3aWR0aDoyNSU7aGVpZ2h0OjI1JTtib3JkZXItcmFkaXVzOnZhcigtLXczbS13YWxsZXQtaWNvbi1ib3JkZXItcmFkaXVzKX1zdmc6Zmlyc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSguOSl9c3ZnOmZpcnN0LWNoaWxkIHBhdGg6Zmlyc3QtY2hpbGR7ZmlsbDp2YXIoLS13M20tYWNjZW50LWNvbG9yKX1zdmc6Zmlyc3QtY2hpbGQgcGF0aDpsYXN0LWNoaWxke3N0cm9rZTp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9YDt2YXIgRUk9T2JqZWN0LmRlZmluZVByb3BlcnR5LHhJPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IscXM9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj94SShlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmRUkoZSxyLGkpLGl9O2xldCBabj1jbGFzcyBleHRlbmRzICRle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnVyaT0iIix0aGlzLnNpemU9MCx0aGlzLmltYWdlSWQ9dm9pZCAwLHRoaXMud2FsbGV0SWQ9dm9pZCAwLHRoaXMuaW1hZ2VVcmw9dm9pZCAwfXN2Z1RlbXBsYXRlKCl7dmFyIHQ7Y29uc3QgZT0odD1Mbi5zdGF0ZS50aGVtZU1vZGUpIT1udWxsP3Q6ImxpZ2h0IjtyZXR1cm4gdXRgPHN2ZyBoZWlnaHQ9IiR7dGhpcy5zaXplfSIgd2lkdGg9IiR7dGhpcy5zaXplfSI+JHtiSS5nZW5lcmF0ZSh0aGlzLnVyaSx0aGlzLnNpemUsdGhpcy5zaXplLzQsZSl9PC9zdmc+YH1yZW5kZXIoKXtyZXR1cm4gb2VgPGRpdj4ke3RoaXMud2FsbGV0SWR8fHRoaXMuaW1hZ2VVcmw/b2VgPHczbS13YWxsZXQtaW1hZ2Ugd2FsbGV0SWQ9IiR7dGhpcy53YWxsZXRJZH0iIGltYWdlSWQ9IiR7dGhpcy5pbWFnZUlkfSIgaW1hZ2VVcmw9IiR7dGhpcy5pbWFnZVVybH0iPjwvdzNtLXdhbGxldC1pbWFnZT5gOk5lLldBTExFVF9DT05ORUNUX0lDT05fQ09MT1JFRH0gJHt0aGlzLnN2Z1RlbXBsYXRlKCl9PHczbS10aGVtZS1jb250ZXh0PjwvdzNtLXRoZW1lLWNvbnRleHQ+PC9kaXY+YH19O1puLnN0eWxlcz1bamUuZ2xvYmFsQ3NzLF9JXSxxcyhbQWUoKV0sWm4ucHJvdG90eXBlLCJ1cmkiLDIpLHFzKFtBZSh7dHlwZTpOdW1iZXJ9KV0sWm4ucHJvdG90eXBlLCJzaXplIiwyKSxxcyhbQWUoKV0sWm4ucHJvdG90eXBlLCJpbWFnZUlkIiwyKSxxcyhbQWUoKV0sWm4ucHJvdG90eXBlLCJ3YWxsZXRJZCIsMikscXMoW0FlKCldLFpuLnByb3RvdHlwZSwiaW1hZ2VVcmwiLDIpLFpuPXFzKFtSZSgidzNtLXFyY29kZSIpXSxabik7Y29uc3QgQ0k9VmVgOmhvc3R7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjI4cHg7d2lkdGg6ODAlfWlucHV0e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bGluZS1oZWlnaHQ6MjhweCFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czp2YXIoLS13M20taW5wdXQtYm9yZGVyLXJhZGl1cyk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxzeXN0ZW0tdWksQmxpbmtNYWNTeXN0ZW1Gb250LCdTZWdvZSBVSScsUm9ib3RvLFVidW50dSwnSGVsdmV0aWNhIE5ldWUnLHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOidjYXNlJyBvbjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE2cHg7bGV0dGVyLXNwYWNpbmc6LS4wM2VtO3BhZGRpbmc6MCAxMHB4IDAgMzRweDt0cmFuc2l0aW9uOi4ycyBhbGwgZWFzZTtjb2xvcjp0cmFuc3BhcmVudDtwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1iZy0zKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9aW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50fXN2Z3ttYXJnaW46MnB4IDRweCAwIDB9ZGl2e3RvcDowO2xlZnQ6Y2FsYyg1MCUgLSAxMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2l0aW9uOi4ycyBhbGwgZWFzZTtwb2ludGVyLWV2ZW50czpub25lO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6Y2FsYygxMDAlIC0gMnB4KTt3aWR0aDpmaXQtY29udGVudDtwb3NpdGlvbjpyZWxhdGl2ZX1pbnB1dDpmb2N1cy13aXRoaW4rZGl2LGlucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pK2Rpdnt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KTtsZWZ0OjB9dzNtLXRleHR7b3BhY2l0eToxO3RyYW5zaXRpb246LjJzIG9wYWNpdHkgZWFzZX1pbnB1dDpmb2N1cy13aXRoaW4rZGl2IHczbS10ZXh0LGlucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pK2RpdiB3M20tdGV4dHtvcGFjaXR5OjB9aW5wdXQ6Zm9jdXMtd2l0aGluLGlucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pe2NvbG9yOnZhcigtLXczbS1jb2xvci1mZy0xKX1pbnB1dDpmb2N1cy13aXRoaW57Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggdmFyKC0tdzNtLWFjY2VudC1jb2xvcil9cGF0aHtmaWxsOnZhcigtLXczbS1jb2xvci1mZy0yKX1gO3ZhciBJST1PYmplY3QuZGVmaW5lUHJvcGVydHksT0k9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixRMz0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP09JKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZJSShlLHIsaSksaX07bGV0IFVjPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMub25DaGFuZ2U9KCk9Pm51bGx9cmVuZGVyKCl7Y29uc3QgdD0iU2VhcmNoIHdhbGxldHMiO3JldHVybiBvZWA8aW5wdXQgdHlwZT0idGV4dCIgQGlucHV0PSIke3RoaXMub25DaGFuZ2V9IiBwbGFjZWhvbGRlcj0iJHt0fSI+PGRpdj4ke05lLlNFQVJDSF9JQ09OfTx3M20tdGV4dCBjb2xvcj0ic2Vjb25kYXJ5IiB2YXJpYW50PSJzbWFsbC10aGluIj4ke3R9PC93M20tdGV4dD48L2Rpdj5gfX07VWMuc3R5bGVzPVtqZS5nbG9iYWxDc3MsQ0ldLFEzKFtBZSgpXSxVYy5wcm90b3R5cGUsIm9uQ2hhbmdlIiwyKSxVYz1RMyhbUmUoInczbS1zZWFyY2gtaW5wdXQiKV0sVWMpO2NvbnN0IEFJPVZlYEBrZXlmcmFtZXMgcm90YXRlezEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIGRhc2h7MCV7c3Ryb2tlLWRhc2hhcnJheToxLDE1MDtzdHJva2UtZGFzaG9mZnNldDowfTUwJXtzdHJva2UtZGFzaGFycmF5OjkwLDE1MDtzdHJva2UtZGFzaG9mZnNldDotMzV9MTAwJXtzdHJva2UtZGFzaGFycmF5OjkwLDE1MDtzdHJva2UtZGFzaG9mZnNldDotMTI0fX1zdmd7YW5pbWF0aW9uOnJvdGF0ZSAycyBsaW5lYXIgaW5maW5pdGU7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfXN2ZyBjaXJjbGV7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7YW5pbWF0aW9uOmRhc2ggMS41cyBlYXNlIGluZmluaXRlO3N0cm9rZTp2YXIoLS13M20tYWNjZW50LWNvbG9yKX1gO3ZhciBTST1PYmplY3QuZGVmaW5lUHJvcGVydHksREk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciwkST0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP0RJKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZTSShlLHIsaSksaX07bGV0IHdmPWNsYXNzIGV4dGVuZHMgJGV7cmVuZGVyKCl7cmV0dXJuIG9lYDxzdmcgdmlld0JveD0iMCAwIDUwIDUwIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxjaXJjbGUgY3g9IjI1IiBjeT0iMjUiIHI9IjIwIiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZT0iI2ZmZiIvPjwvc3ZnPmB9fTt3Zi5zdHlsZXM9W2plLmdsb2JhbENzcyxBSV0sd2Y9JEkoW1JlKCJ3M20tc3Bpbm5lciIpXSx3Zik7Y29uc3QgUEk9VmVgc3Bhbntmb250LXN0eWxlOm5vcm1hbDtmb250LWZhbWlseTp2YXIoLS13M20tZm9udC1mYW1pbHkpO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczondG51bScgb24sJ2xudW0nIG9uLCdjYXNlJyBvbn0udzNtLXhzbWFsbC1ib2xke2ZvbnQtZmFtaWx5OnZhcigtLXczbS10ZXh0LXhzbWFsbC1ib2xkLWZvbnQtZmFtaWx5KTtmb250LXdlaWdodDp2YXIoLS13M20tdGV4dC14c21hbGwtYm9sZC13ZWlnaHQpO2ZvbnQtc2l6ZTp2YXIoLS13M20tdGV4dC14c21hbGwtYm9sZC1zaXplKTtsaW5lLWhlaWdodDp2YXIoLS13M20tdGV4dC14c21hbGwtYm9sZC1saW5lLWhlaWdodCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdzNtLXRleHQteHNtYWxsLWJvbGQtbGV0dGVyLXNwYWNpbmcpO3RleHQtdHJhbnNmb3JtOnZhcigtLXczbS10ZXh0LXhzbWFsbC1ib2xkLXRleHQtdHJhbnNmb3JtKX0udzNtLXhzbWFsbC1yZWd1bGFye2ZvbnQtZmFtaWx5OnZhcigtLXczbS10ZXh0LXhzbWFsbC1yZWd1bGFyLWZvbnQtZmFtaWx5KTtmb250LXdlaWdodDp2YXIoLS13M20tdGV4dC14c21hbGwtcmVndWxhci13ZWlnaHQpO2ZvbnQtc2l6ZTp2YXIoLS13M20tdGV4dC14c21hbGwtcmVndWxhci1zaXplKTtsaW5lLWhlaWdodDp2YXIoLS13M20tdGV4dC14c21hbGwtcmVndWxhci1saW5lLWhlaWdodCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdzNtLXRleHQteHNtYWxsLXJlZ3VsYXItbGV0dGVyLXNwYWNpbmcpO3RleHQtdHJhbnNmb3JtOnZhcigtLXczbS10ZXh0LXhzbWFsbC1yZWd1bGFyLXRleHQtdHJhbnNmb3JtKX0udzNtLXNtYWxsLXRoaW57Zm9udC1mYW1pbHk6dmFyKC0tdzNtLXRleHQtc21hbGwtdGhpbi1mb250LWZhbWlseSk7Zm9udC13ZWlnaHQ6dmFyKC0tdzNtLXRleHQtc21hbGwtdGhpbi13ZWlnaHQpO2ZvbnQtc2l6ZTp2YXIoLS13M20tdGV4dC1zbWFsbC10aGluLXNpemUpO2xpbmUtaGVpZ2h0OnZhcigtLXczbS10ZXh0LXNtYWxsLXRoaW4tbGluZS1oZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLXczbS10ZXh0LXNtYWxsLXRoaW4tbGV0dGVyLXNwYWNpbmcpO3RleHQtdHJhbnNmb3JtOnZhcigtLXczbS10ZXh0LXNtYWxsLXRoaW4tdGV4dC10cmFuc2Zvcm0pfS53M20tc21hbGwtcmVndWxhcntmb250LWZhbWlseTp2YXIoLS13M20tdGV4dC1zbWFsbC1yZWd1bGFyLWZvbnQtZmFtaWx5KTtmb250LXdlaWdodDp2YXIoLS13M20tdGV4dC1zbWFsbC1yZWd1bGFyLXdlaWdodCk7Zm9udC1zaXplOnZhcigtLXczbS10ZXh0LXNtYWxsLXJlZ3VsYXItc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tdzNtLXRleHQtc21hbGwtcmVndWxhci1saW5lLWhlaWdodCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdzNtLXRleHQtc21hbGwtcmVndWxhci1sZXR0ZXItc3BhY2luZyk7dGV4dC10cmFuc2Zvcm06dmFyKC0tdzNtLXRleHQtc21hbGwtcmVndWxhci10ZXh0LXRyYW5zZm9ybSl9LnczbS1tZWRpdW0tcmVndWxhcntmb250LWZhbWlseTp2YXIoLS13M20tdGV4dC1tZWRpdW0tcmVndWxhci1mb250LWZhbWlseSk7Zm9udC13ZWlnaHQ6dmFyKC0tdzNtLXRleHQtbWVkaXVtLXJlZ3VsYXItd2VpZ2h0KTtmb250LXNpemU6dmFyKC0tdzNtLXRleHQtbWVkaXVtLXJlZ3VsYXItc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tdzNtLXRleHQtbWVkaXVtLXJlZ3VsYXItbGluZS1oZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLXczbS10ZXh0LW1lZGl1bS1yZWd1bGFyLWxldHRlci1zcGFjaW5nKTt0ZXh0LXRyYW5zZm9ybTp2YXIoLS13M20tdGV4dC1tZWRpdW0tcmVndWxhci10ZXh0LXRyYW5zZm9ybSl9LnczbS1iaWctYm9sZHtmb250LWZhbWlseTp2YXIoLS13M20tdGV4dC1iaWctYm9sZC1mb250LWZhbWlseSk7Zm9udC13ZWlnaHQ6dmFyKC0tdzNtLXRleHQtYmlnLWJvbGQtd2VpZ2h0KTtmb250LXNpemU6dmFyKC0tdzNtLXRleHQtYmlnLWJvbGQtc2l6ZSk7bGluZS1oZWlnaHQ6dmFyKC0tdzNtLXRleHQtYmlnLWJvbGQtbGluZS1oZWlnaHQpO2xldHRlci1zcGFjaW5nOnZhcigtLXczbS10ZXh0LWJpZy1ib2xkLWxldHRlci1zcGFjaW5nKTt0ZXh0LXRyYW5zZm9ybTp2YXIoLS13M20tdGV4dC1iaWctYm9sZC10ZXh0LXRyYW5zZm9ybSl9Omhvc3QoKil7Y29sb3I6dmFyKC0tdzNtLWNvbG9yLWZnLTEpfS53M20tY29sb3ItcHJpbWFyeXtjb2xvcjp2YXIoLS13M20tY29sb3ItZmctMSl9LnczbS1jb2xvci1zZWNvbmRhcnl7Y29sb3I6dmFyKC0tdzNtLWNvbG9yLWZnLTIpfS53M20tY29sb3ItdGVydGlhcnl7Y29sb3I6dmFyKC0tdzNtLWNvbG9yLWZnLTMpfS53M20tY29sb3ItaW52ZXJzZXtjb2xvcjp2YXIoLS13M20tYWNjZW50LWZpbGwtY29sb3IpfS53M20tY29sb3ItYWNjbnR7Y29sb3I6dmFyKC0tdzNtLWFjY2VudC1jb2xvcil9LnczbS1jb2xvci1lcnJvcntjb2xvcjp2YXIoLS13M20tZXJyb3ItY29sb3IpfWA7dmFyIFRJPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxSST1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHZmPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/UkkoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJlRJKGUscixpKSxpfTtsZXQgdWE9Y2xhc3MgZXh0ZW5kcyAkZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy52YXJpYW50PSJtZWRpdW0tcmVndWxhciIsdGhpcy5jb2xvcj0icHJpbWFyeSJ9cmVuZGVyKCl7Y29uc3QgdD17InczbS1iaWctYm9sZCI6dGhpcy52YXJpYW50PT09ImJpZy1ib2xkIiwidzNtLW1lZGl1bS1yZWd1bGFyIjp0aGlzLnZhcmlhbnQ9PT0ibWVkaXVtLXJlZ3VsYXIiLCJ3M20tc21hbGwtcmVndWxhciI6dGhpcy52YXJpYW50PT09InNtYWxsLXJlZ3VsYXIiLCJ3M20tc21hbGwtdGhpbiI6dGhpcy52YXJpYW50PT09InNtYWxsLXRoaW4iLCJ3M20teHNtYWxsLXJlZ3VsYXIiOnRoaXMudmFyaWFudD09PSJ4c21hbGwtcmVndWxhciIsInczbS14c21hbGwtYm9sZCI6dGhpcy52YXJpYW50PT09InhzbWFsbC1ib2xkIiwidzNtLWNvbG9yLXByaW1hcnkiOnRoaXMuY29sb3I9PT0icHJpbWFyeSIsInczbS1jb2xvci1zZWNvbmRhcnkiOnRoaXMuY29sb3I9PT0ic2Vjb25kYXJ5IiwidzNtLWNvbG9yLXRlcnRpYXJ5Ijp0aGlzLmNvbG9yPT09InRlcnRpYXJ5IiwidzNtLWNvbG9yLWludmVyc2UiOnRoaXMuY29sb3I9PT0iaW52ZXJzZSIsInczbS1jb2xvci1hY2NudCI6dGhpcy5jb2xvcj09PSJhY2NlbnQiLCJ3M20tY29sb3ItZXJyb3IiOnRoaXMuY29sb3I9PT0iZXJyb3IifTtyZXR1cm4gb2VgPHNwYW4+PHNsb3QgY2xhc3M9IiR7THIodCl9Ij48L3Nsb3Q+PC9zcGFuPmB9fTt1YS5zdHlsZXM9W2plLmdsb2JhbENzcyxQSV0sdmYoW0FlKCldLHVhLnByb3RvdHlwZSwidmFyaWFudCIsMiksdmYoW0FlKCldLHVhLnByb3RvdHlwZSwiY29sb3IiLDIpLHVhPXZmKFtSZSgidzNtLXRleHQiKV0sdWEpO2NvbnN0IE5JPVZlYGRpdntvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo1MCV9ZGl2OjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoxcHggc29saWQgdmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpfWRpdiBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpjZW50ZXJ9c3Zne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9I3Rva2VuLXBsYWNlaG9sZGVyLWZpbGx7ZmlsbDp2YXIoLS13M20tY29sb3ItYmctMyl9I3Rva2VuLXBsYWNlaG9sZGVyLWRhc2h7c3Ryb2tlOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX1gO3ZhciBMST1PYmplY3QuZGVmaW5lUHJvcGVydHksTUk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixlbT0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP01JKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZMSShlLHIsaSksaX07bGV0IGpjPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuc3ltYm9sPXZvaWQgMH1yZW5kZXIoKXt2YXIgdDtjb25zdCBlPXhlLmdldFRva2VuSWNvbigodD10aGlzLnN5bWJvbCkhPW51bGw/dDoiIik7cmV0dXJuIGU/b2VgPGRpdj48aW1nIHNyYz0iJHtlfSIgYWx0PSIke3RoaXMuaWR9Ij48L2Rpdj5gOk5lLlRPS0VOX1BMQUNFSE9MREVSfX07amMuc3R5bGVzPVtqZS5nbG9iYWxDc3MsTkldLGVtKFtBZSgpXSxqYy5wcm90b3R5cGUsInN5bWJvbCIsMiksamM9ZW0oW1JlKCJ3M20tdG9rZW4taW1hZ2UiKV0samMpO2NvbnN0IFVJPVZlYGJ1dHRvbnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLWJ1dHRvbi1ob3Zlci1oaWdobGlnaHQtYm9yZGVyLXJhZGl1cyk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9YnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX1AbWVkaWEoaG92ZXI6aG92ZXIpe2J1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX19YnV0dG9uPmRpdnt3aWR0aDo4MHB4O3BhZGRpbmc6NXB4IDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXJ9dzNtLXRleHR7d2lkdGg6MTAwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7dGV4dC1hbGlnbjpjZW50ZXJ9dzNtLXdhbGxldC1pbWFnZXtoZWlnaHQ6NjBweDt3aWR0aDo2MHB4O3RyYW5zaXRpb246YWxsIC4ycyBlYXNlO2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLXdhbGxldC1pY29uLWJvcmRlci1yYWRpdXMpO21hcmdpbi1ib3R0b206NXB4fS53M20tc3VibGFiZWx7bWFyZ2luLXRvcDoycHh9YDt2YXIgakk9T2JqZWN0LmRlZmluZVByb3BlcnR5LEZJPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsRWk9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9GSShlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmakkoZSxyLGkpLGl9O2xldCBVbj1jbGFzcyBleHRlbmRzICRle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm9uQ2xpY2s9KCk9Pm51bGwsdGhpcy5uYW1lPSIiLHRoaXMud2FsbGV0SWQ9IiIsdGhpcy5sYWJlbD12b2lkIDAsdGhpcy5pbWFnZUlkPXZvaWQgMCx0aGlzLmluc3RhbGxlZD0hMSx0aGlzLnJlY2VudD0hMX1zdWJsYWJlbFRlbXBsYXRlKCl7cmV0dXJuIHRoaXMucmVjZW50P29lYDx3M20tdGV4dCBjbGFzcz0idzNtLXN1YmxhYmVsIiB2YXJpYW50PSJ4c21hbGwtYm9sZCIgY29sb3I9InRlcnRpYXJ5Ij5SRUNFTlQ8L3czbS10ZXh0PmA6dGhpcy5pbnN0YWxsZWQ/b2VgPHczbS10ZXh0IGNsYXNzPSJ3M20tc3VibGFiZWwiIHZhcmlhbnQ9InhzbWFsbC1ib2xkIiBjb2xvcj0idGVydGlhcnkiPklOU1RBTExFRDwvdzNtLXRleHQ+YDpudWxsfWhhbmRsZUNsaWNrKCl7Z2kuY2xpY2soe25hbWU6IldBTExFVF9CVVRUT04iLHdhbGxldElkOnRoaXMud2FsbGV0SWR9KSx0aGlzLm9uQ2xpY2soKX1yZW5kZXIoKXt2YXIgdDtyZXR1cm4gb2VgPGJ1dHRvbiBAY2xpY2s9IiR7dGhpcy5oYW5kbGVDbGljay5iaW5kKHRoaXMpfSI+PGRpdj48dzNtLXdhbGxldC1pbWFnZSB3YWxsZXRJZD0iJHt0aGlzLndhbGxldElkfSIgaW1hZ2VJZD0iJHt0aGlzLmltYWdlSWR9Ij48L3czbS13YWxsZXQtaW1hZ2U+PHczbS10ZXh0IHZhcmlhbnQ9InhzbWFsbC1yZWd1bGFyIj4keyh0PXRoaXMubGFiZWwpIT1udWxsP3Q6eGUuZ2V0V2FsbGV0TmFtZSh0aGlzLm5hbWUsITApfTwvdzNtLXRleHQ+JHt0aGlzLnN1YmxhYmVsVGVtcGxhdGUoKX08L2Rpdj48L2J1dHRvbj5gfX07VW4uc3R5bGVzPVtqZS5nbG9iYWxDc3MsVUldLEVpKFtBZSgpXSxVbi5wcm90b3R5cGUsIm9uQ2xpY2siLDIpLEVpKFtBZSgpXSxVbi5wcm90b3R5cGUsIm5hbWUiLDIpLEVpKFtBZSgpXSxVbi5wcm90b3R5cGUsIndhbGxldElkIiwyKSxFaShbQWUoKV0sVW4ucHJvdG90eXBlLCJsYWJlbCIsMiksRWkoW0FlKCldLFVuLnByb3RvdHlwZSwiaW1hZ2VJZCIsMiksRWkoW0FlKCldLFVuLnByb3RvdHlwZSwiaW5zdGFsbGVkIiwyKSxFaShbQWUoKV0sVW4ucHJvdG90eXBlLCJyZWNlbnQiLDIpLFVuPUVpKFtSZSgidzNtLXdhbGxldC1idXR0b24iKV0sVW4pO2NvbnN0IEJJPVZlYDpob3N0e2Rpc3BsYXk6YmxvY2t9ZGl2e292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOmluaGVyaXQ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX1zdmd7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX1kaXY6OmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7Ym9yZGVyLXJhZGl1czppbmhlcml0O2JvcmRlcjoxcHggc29saWQgdmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpfWRpdiBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpjZW50ZXJ9I3dhbGxldC1wbGFjZWhvbGRlci1maWxse2ZpbGw6dmFyKC0tdzNtLWNvbG9yLWJnLTMpfSN3YWxsZXQtcGxhY2Vob2xkZXItZGFzaHtzdHJva2U6dmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpfWA7dmFyIGtJPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxIST1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLEZjPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/SEkoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJmtJKGUscixpKSxpfTtsZXQgVnM9Y2xhc3MgZXh0ZW5kcyAkZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy53YWxsZXRJZD0iIix0aGlzLmltYWdlSWQ9dm9pZCAwLHRoaXMuaW1hZ2VVcmw9dm9pZCAwfXJlbmRlcigpe3ZhciB0O2NvbnN0IGU9KHQ9dGhpcy5pbWFnZVVybCkhPW51bGwmJnQubGVuZ3RoP3RoaXMuaW1hZ2VVcmw6eGUuZ2V0V2FsbGV0SWNvbih7aWQ6dGhpcy53YWxsZXRJZCxpbWFnZV9pZDp0aGlzLmltYWdlSWR9KTtyZXR1cm4gb2VgJHtlLmxlbmd0aD9vZWA8ZGl2PjxpbWcgc3JjPSIke2V9IiBhbHQ9IiR7dGhpcy5pZH0iPjwvZGl2PmA6TmUuV0FMTEVUX1BMQUNFSE9MREVSfWB9fTtWcy5zdHlsZXM9W2plLmdsb2JhbENzcyxCSV0sRmMoW0FlKCldLFZzLnByb3RvdHlwZSwid2FsbGV0SWQiLDIpLEZjKFtBZSgpXSxWcy5wcm90b3R5cGUsImltYWdlSWQiLDIpLEZjKFtBZSgpXSxWcy5wcm90b3R5cGUsImltYWdlVXJsIiwyKSxWcz1GYyhbUmUoInczbS13YWxsZXQtaW1hZ2UiKV0sVnMpO3ZhciB6ST1PYmplY3QuZGVmaW5lUHJvcGVydHksV0k9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixxST0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP1dJKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZ6SShlLHIsaSksaX07bGV0IHRtPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudW53YXRjaEFjY291bnQ9dm9pZCAwLEV0LmdldEFjY291bnQoKSx0aGlzLmZldGNoUHJvZmlsZSgpLHRoaXMuZmV0Y2hCYWxhbmNlKCksdGhpcy51bndhdGNoQWNjb3VudD1OdC5jbGllbnQoKS53YXRjaEFjY291bnQodD0+e2NvbnN0e2FkZHJlc3M6ZSxpc0Nvbm5lY3RlZDpyfT1FdC5zdGF0ZTt0LmlzQ29ubmVjdGVkJiZ0LmFkZHJlc3MhPT1lJiYodGhpcy5mZXRjaFByb2ZpbGUodC5hZGRyZXNzKSx0aGlzLmZldGNoQmFsYW5jZSh0LmFkZHJlc3MpLEV0LnNldEFkZHJlc3ModC5hZGRyZXNzKSksdC5pc0Nvbm5lY3RlZHx8RXQucmVzZXRBY2NvdW50KCksciE9PXQuaXNDb25uZWN0ZWQmJk5yLmNsb3NlKCksIXImJnQuaXNDb25uZWN0ZWQ/Z2kudHJhY2soe25hbWU6IkFDQ09VTlRfQ09OTkVDVEVEIn0pOnImJiF0LmlzQ29ubmVjdGVkJiZnaS50cmFjayh7bmFtZToiQUNDT1VOVF9ESVNDT05ORUNURUQifSksRXQuc2V0SXNDb25uZWN0ZWQodC5pc0Nvbm5lY3RlZCl9KX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciB0Oyh0PXRoaXMudW53YXRjaEFjY291bnQpPT1udWxsfHx0LmNhbGwodGhpcyl9YXN5bmMgZmV0Y2hQcm9maWxlKHQpe3ZhciBlO2NvbnN0IHI9KGU9RGUuc3RhdGUuY2hhaW5zKT09bnVsbD92b2lkIDA6ZS5maW5kKG49Pm4uaWQ9PT0xKTtpZihqdC5zdGF0ZS5lbmFibGVBY2NvdW50VmlldyYmcil0cnl7YXdhaXQgRXQuZmV0Y2hQcm9maWxlKHhlLnByZWxvYWRJbWFnZSx0KX1jYXRjaChuKXtjb25zb2xlLmVycm9yKG4pLFdyLm9wZW5Ub2FzdCh4ZS5nZXRFcnJvck1lc3NhZ2UobiksImVycm9yIil9fWFzeW5jIGZldGNoQmFsYW5jZSh0KXtpZihqdC5zdGF0ZS5lbmFibGVBY2NvdW50Vmlldyl0cnl7YXdhaXQgRXQuZmV0Y2hCYWxhbmNlKHQpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSksV3Iub3BlblRvYXN0KHhlLmdldEVycm9yTWVzc2FnZShlKSwiZXJyb3IiKX19fTt0bT1xSShbUmUoInczbS1hY2NvdW50LWNvbnRleHQiKV0sdG0pO3ZhciBWST1PYmplY3QuZGVmaW5lUHJvcGVydHksS0k9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixybT0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP0tJKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZWSShlLHIsaSksaX07bGV0IHlmPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMucHJlbG9hZD0hMCx0aGlzLnByZWxvYWREYXRhKCl9YXN5bmMgbG9hZEltYWdlcyh0KXt0cnl7dCE9bnVsbCYmdC5sZW5ndGgmJmF3YWl0IFByb21pc2UuYWxsKHQubWFwKGFzeW5jIGU9PnhlLnByZWxvYWRJbWFnZShlKSkpfWNhdGNoe2NvbnNvbGUuaW5mbygiVW5zdWNjZXNzZnVsIGF0dGVtcHQgYXQgcHJlbG9hZGluZyBzb21lIGltYWdlcyIsdCl9fWFzeW5jIHByZWxvYWRMaXN0aW5ncygpe3ZhciB0O2lmKGp0LnN0YXRlLmVuYWJsZUV4cGxvcmVyKXtjb25zdHtjaGFpbnM6ZX09RGUuc3RhdGU7YXdhaXQgUHJvbWlzZS5hbGwoW25yLmdldFJlY29tZW5kZWRXYWxsZXRzKCksbnIuZ2V0SW5qZWN0ZWRXYWxsZXRzKCldKSxEZS5zZXRJc0RhdGFMb2FkZWQoITApO2NvbnN0e3JlY29tZW5kZWRXYWxsZXRzOnJ9PW5yLnN0YXRlLG49WHIuaW5zdGFsbGVkSW5qZWN0ZWRXYWxsZXRzKCksaT0odD1lPy5tYXAobD0+eGUuZ2V0Q2hhaW5JY29uKGwuaWQpKSkhPW51bGw/dDpbXSxvPXIubWFwKGw9PnhlLmdldFdhbGxldEljb24obCkpLGM9bi5tYXAobD0+eGUuZ2V0V2FsbGV0SWNvbihsKSk7YXdhaXQgdGhpcy5sb2FkSW1hZ2VzKFsuLi5pLC4uLm8sLi4uY10pfWVsc2UgRGUuc2V0SXNEYXRhTG9hZGVkKCEwKX1hc3luYyBwcmVsb2FkQ3VzdG9tSW1hZ2VzKCl7Y29uc3QgdD14ZS5nZXRDdXN0b21JbWFnZVVybHMoKTthd2FpdCB0aGlzLmxvYWRJbWFnZXModCl9YXN5bmMgcHJlbG9hZERhdGEoKXt0cnl7dGhpcy5wcmVsb2FkJiYodGhpcy5wcmVsb2FkPSExLGF3YWl0IFByb21pc2UuYWxsKFt0aGlzLnByZWxvYWRMaXN0aW5ncygpLHRoaXMucHJlbG9hZEN1c3RvbUltYWdlcygpXSkpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IodCksV3Iub3BlblRvYXN0KCJGYWlsZWQgcHJlbG9hZGluZyIsImVycm9yIil9fX07cm0oW2d0KCldLHlmLnByb3RvdHlwZSwicHJlbG9hZCIsMikseWY9cm0oW1JlKCJ3M20tZXhwbG9yZXItY29udGV4dCIpXSx5Zik7dmFyIEdJPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxaST1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLG5tPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/WkkoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJkdJKGUscixpKSxpfTtsZXQgYmY9Y2xhc3MgZXh0ZW5kcyAkZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5hY3RpdmVDaGFpbklkPXZvaWQgMCx0aGlzLnVud2F0Y2hOZXR3b3JrPXZvaWQgMDtjb25zdCB0PURlLmdldFNlbGVjdGVkQ2hhaW4oKTt0aGlzLmFjdGl2ZUNoYWluSWQ9dD8uaWQsdGhpcy51bndhdGNoTmV0d29yaz1OdC5jbGllbnQoKS53YXRjaE5ldHdvcmsoZT0+e2NvbnN0IHI9ZS5jaGFpbjtyJiZ0aGlzLmFjdGl2ZUNoYWluSWQhPT1yLmlkJiYoRGUuc2V0U2VsZWN0ZWRDaGFpbihyKSx0aGlzLmFjdGl2ZUNoYWluSWQ9ci5pZCxFdC5yZXNldEJhbGFuY2UoKSx0aGlzLmZldGNoQmFsYW5jZSgpKX0pfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIHQ7KHQ9dGhpcy51bndhdGNoTmV0d29yayk9PW51bGx8fHQuY2FsbCh0aGlzKX1hc3luYyBmZXRjaEJhbGFuY2UoKXtpZihqdC5zdGF0ZS5lbmFibGVBY2NvdW50Vmlldyl0cnl7YXdhaXQgRXQuZmV0Y2hCYWxhbmNlKCl9Y2F0Y2godCl7Y29uc29sZS5lcnJvcih0KSxXci5vcGVuVG9hc3QoeGUuZ2V0RXJyb3JNZXNzYWdlKHQpLCJlcnJvciIpfX19O25tKFtndCgpXSxiZi5wcm90b3R5cGUsImFjdGl2ZUNoYWluSWQiLDIpLGJmPW5tKFtSZSgidzNtLW5ldHdvcmstY29udGV4dCIpXSxiZik7dmFyIFlJPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxKST1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLFhJPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/SkkoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJllJKGUscixpKSxpfTtsZXQgaW09Y2xhc3MgZXh0ZW5kcyAkZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy51bnN1YnNjcmliZVRoZW1lPXZvaWQgMCxqZS5zZXRUaGVtZSgpLHRoaXMudW5zdWJzY3JpYmVUaGVtZT1Mbi5zdWJzY3JpYmUoamUuc2V0VGhlbWUpLHRoaXMucHJlbG9hZFRoZW1lSW1hZ2VzKCl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgdDsodD10aGlzLnVuc3Vic2NyaWJlVGhlbWUpPT1udWxsfHx0LmNhbGwodGhpcyl9YXN5bmMgcHJlbG9hZFRoZW1lSW1hZ2VzKCl7dHJ5e2NvbnN0e3RoZW1lVmFyaWFibGVzOnR9PUxuLnN0YXRlLGU9W3Q/LlsiLS13M20tYmFja2dyb3VuZC1pbWFnZS11cmwiXSx0Py5bIi0tdzNtLWxvZ28taW1hZ2UtdXJsIl1dLmZpbHRlcihCb29sZWFuKTtlLmxlbmd0aCYmYXdhaXQgUHJvbWlzZS5hbGwoZS5tYXAoYXN5bmMgcj0+eGUucHJlbG9hZEltYWdlKHIpKSl9Y2F0Y2h7Y29uc29sZS5pbmZvKCJVbnN1Y2Nlc3NmdWwgYXR0ZW1wdCBhdCBwcmVsb2FkaW5nIHNvbWUgaW1hZ2VzIil9fX07aW09WEkoW1JlKCJ3M20tdGhlbWUtY29udGV4dCIpXSxpbSk7dmFyIFFJPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxlTz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHRPPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/ZU8oZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJlFJKGUscixpKSxpfTtjb25zdCByTz0xOGU0LHNtPTFlMzt2YXIgb207bGV0IGFtPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudW53YXRjaE9wdGlvbnM9dm9pZCAwLHRoaXMudW53YXRjaEFjY291bnQ9dm9pZCAwLHRoaXMudGltZW91dD12b2lkIDAsdGhpcy5pc0dlbmVyYXRlZD0hMSx0aGlzLnNlbGVjdGVkQ2hhaW5JZD0ob209RGUuc3RhdGUuc2VsZWN0ZWRDaGFpbik9PW51bGw/dm9pZCAwOm9tLmlkLHRoaXMuaXNBY2NvdW50Q29ubmVjdGVkPUV0LnN0YXRlLmlzQ29ubmVjdGVkLHRoaXMubGFzdFJldHJ5PURhdGUubm93KCksdGhpcy51bndhdGNoT3B0aW9ucz1EZS5zdWJzY3JpYmUodD0+e3ZhciBlLHI7KChlPXQuc2VsZWN0ZWRDaGFpbik9PW51bGw/dm9pZCAwOmUuaWQpIT09dGhpcy5zZWxlY3RlZENoYWluSWQmJih0aGlzLnNlbGVjdGVkQ2hhaW5JZD0ocj10LnNlbGVjdGVkQ2hhaW4pPT1udWxsP3ZvaWQgMDpyLmlkLHRoaXMuY29ubmVjdEFuZFdhaXQoKSl9KSx0aGlzLnVud2F0Y2hBY2NvdW50PUV0LnN1YnNjcmliZSh0PT57KHRoaXMuaXNBY2NvdW50Q29ubmVjdGVkIT09dC5pc0Nvbm5lY3RlZHx8IXRoaXMuaXNHZW5lcmF0ZWQpJiYodGhpcy5pc0FjY291bnRDb25uZWN0ZWQ9dC5pc0Nvbm5lY3RlZCxzZXRUaW1lb3V0KHRoaXMuY29ubmVjdEFuZFdhaXQuYmluZCh0aGlzKSwwKSl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLm9uVmlzaWJpbGl0eUNoYW5nZS5iaW5kKHRoaXMpKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciB0LGU7KHQ9dGhpcy51bndhdGNoT3B0aW9ucyk9PW51bGx8fHQuY2FsbCh0aGlzKSwoZT10aGlzLnVud2F0Y2hBY2NvdW50KT09bnVsbHx8ZS5jYWxsKHRoaXMpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMub25WaXNpYmlsaXR5Q2hhbmdlKX1hc3luYyBjb25uZWN0QW5kV2FpdCgpe2lmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpLCF0aGlzLmlzQWNjb3VudENvbm5lY3RlZCl7dGhpcy5pc0dlbmVyYXRlZD0hMCx0aGlzLnRpbWVvdXQ9c2V0VGltZW91dCh0aGlzLmNvbm5lY3RBbmRXYWl0LmJpbmQodGhpcyksck8pO3RyeXtjb25zdHtzdGFuZGFsb25lVXJpOnQsc2VsZWN0ZWRDaGFpbjplfT1EZS5zdGF0ZTt0P2hyLnNldFBhaXJpbmdVcmkodCk6YXdhaXQgTnQuY2xpZW50KCkuY29ubmVjdFdhbGxldENvbm5lY3Qocj0+aHIuc2V0UGFpcmluZ1VyaShyKSxlPy5pZCl9Y2F0Y2godCl7Y29uc29sZS5lcnJvcih0KSxoci5zZXRQYWlyaW5nRXJyb3IoITApLFdyLm9wZW5Ub2FzdCgiQ29ubmVjdGlvbiByZXF1ZXN0IGRlY2xpbmVkIiwiZXJyb3IiKSxEYXRlLm5vdygpLXRoaXMubGFzdFJldHJ5Pj1zbSYmKHRoaXMubGFzdFJldHJ5PURhdGUubm93KCksdGhpcy5jb25uZWN0QW5kV2FpdCgpKX19fW9uVmlzaWJpbGl0eUNoYW5nZSgpeyFkb2N1bWVudC5oaWRkZW4mJkllLmlzTW9iaWxlKCkmJnNldFRpbWVvdXQodGhpcy5jb25uZWN0QW5kV2FpdC5iaW5kKHRoaXMpLHNtKX19O2FtPXRPKFtSZSgidzNtLXdjLWNvbm5lY3Rpb24tY29udGV4dCIpXSxhbSk7Y29uc3Qgbk89VmVgOmhvc3R7YWxsOmluaXRpYWx9ZGl2e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3Itb3ZlcmxheSk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggdmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpO2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLWJ1dHRvbi1ib3JkZXItcmFkaXVzKTtwYWRkaW5nOjRweCA0cHggNHB4IDhweH1kaXYgYnV0dG9ue2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLXNlY29uZGFyeS1idXR0b24tYm9yZGVyLXJhZGl1cyk7cGFkZGluZzo0cHggOHB4O3BhZGRpbmctbGVmdDo0cHg7aGVpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6MTBweDtjb2xvcjp2YXIoLS13M20tYWNjZW50LWZpbGwtY29sb3IpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWFjY2VudC1jb2xvcil9LnczbS1uby1hdmF0YXJ7cGFkZGluZy1sZWZ0OjhweH1idXR0b246OmFmdGVye2NvbnRlbnQ6Jyc7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOmluaGVyaXQ7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlO2JvcmRlcjoxcHggc29saWQgdmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpfWJ1dHRvbjpob3Zlcjo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9dzNtLWF2YXRhcnttYXJnaW4tcmlnaHQ6NnB4fXczbS1idXR0b24tYmlnIHczbS1hdmF0YXJ7bWFyZ2luLWxlZnQ6LTVweH1gO3ZhciBpTz1PYmplY3QuZGVmaW5lUHJvcGVydHksc089T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixfZj0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP3NPKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZpTyhlLHIsaSksaX07bGV0IEtzPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuYmFsYW5jZT0iaGlkZSIsdGhpcy5hdmF0YXI9InNob3ciLHhlLnJlamVjdFN0YW5kYWxvbmVCdXR0b25Db21wb25lbnQoKX1vbk9wZW4oKXtjb25zdHtpc1N0YW5kYWxvbmU6dH09RGUuc3RhdGU7dHx8KGdpLmNsaWNrKHtuYW1lOiJBQ0NPVU5UX0JVVFRPTiJ9KSxOci5vcGVuKHtyb3V0ZToiQWNjb3VudCJ9KSl9YWNjb3VudFRlbXBsYXRlKCl7Y29uc3QgdD10aGlzLmF2YXRhcj09PSJzaG93IjtyZXR1cm4gb2VgJHt0P29lYDx3M20tYXZhdGFyPjwvdzNtLWF2YXRhcj5gOm51bGx9PHczbS1hZGRyZXNzLXRleHQ+PC93M20tYWRkcmVzcy10ZXh0PmB9cmVuZGVyKCl7Y29uc3QgdD10aGlzLmJhbGFuY2U9PT0ic2hvdyIsZT17InczbS1uby1hdmF0YXIiOnRoaXMuYXZhdGFyPT09ImhpZGUifTtyZXR1cm4gdD9vZWA8ZGl2Pjx3M20tYmFsYW5jZT48L3czbS1iYWxhbmNlPjxidXR0b24gQGNsaWNrPSIke3RoaXMub25PcGVufSIgY2xhc3M9IiR7THIoZSl9Ij4ke3RoaXMuYWNjb3VudFRlbXBsYXRlKCl9PC9idXR0b24+PC9kaXY+YDpvZWA8dzNtLWJ1dHRvbi1iaWcgQGNsaWNrPSIke3RoaXMub25PcGVufSI+JHt0aGlzLmFjY291bnRUZW1wbGF0ZSgpfTwvdzNtLWJ1dHRvbi1iaWc+YH19O0tzLnN0eWxlcz1bamUuZ2xvYmFsQ3NzLG5PXSxfZihbQWUoKV0sS3MucHJvdG90eXBlLCJiYWxhbmNlIiwyKSxfZihbQWUoKV0sS3MucHJvdG90eXBlLCJhdmF0YXIiLDIpLEtzPV9mKFtSZSgidzNtLWFjY291bnQtYnV0dG9uIildLEtzKTtjb25zdCBvTz1WZWBidXR0b257ZGlzcGxheTpmbGV4O2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLWJ1dHRvbi1ob3Zlci1oaWdobGlnaHQtYm9yZGVyLXJhZGl1cyk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzo1cHg7d2lkdGg6MTAwcHh9YnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX1AbWVkaWEoaG92ZXI6aG92ZXIpe2J1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX19YnV0dG9uOmRpc2FibGVke3BvaW50ZXItZXZlbnRzOm5vbmV9dzNtLW5ldHdvcmstaW1hZ2V7d2lkdGg6MzJweDtoZWlnaHQ6MzJweH13M20tdGV4dHttYXJnaW4tdG9wOjRweH1gO3ZhciBhTz1PYmplY3QuZGVmaW5lUHJvcGVydHksY089T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixFZj0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP2NPKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZhTyhlLHIsaSksaX07bGV0IGhhPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuY2hhaW5JZD0wLHRoaXMubGFiZWw9IiIsdGhpcy51bnN1YnNjcmliZU5ldHdvcms9dm9pZCAwO2NvbnN0e3NlbGVjdGVkQ2hhaW46dH09RGUuc3RhdGU7dGhpcy5jaGFpbklkPXQ/LmlkLHRoaXMubGFiZWw9dD8ubmFtZSx0aGlzLnVuc3Vic2NyaWJlTmV0d29yaz1EZS5zdWJzY3JpYmUoKHtzZWxlY3RlZENoYWluOmV9KT0+e3RoaXMuY2hhaW5JZD1lPy5pZCx0aGlzLmxhYmVsPWU/Lm5hbWV9KX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciB0Oyh0PXRoaXMudW5zdWJzY3JpYmVOZXR3b3JrKT09bnVsbHx8dC5jYWxsKHRoaXMpfW9uQ2xpY2soKXt0dC5wdXNoKCJTZWxlY3ROZXR3b3JrIil9cmVuZGVyKCl7Y29uc3R7Y2hhaW5zOnQsc2VsZWN0ZWRDaGFpbjplfT1EZS5zdGF0ZSxyPXQ/Lm1hcChvPT5vLmlkKSxuPWUmJnI/LmluY2x1ZGVzKGUuaWQpLGk9dCYmdC5sZW5ndGg8PTEmJm47cmV0dXJuIG9lYDxidXR0b24gQGNsaWNrPSIke3RoaXMub25DbGlja30iID9kaXNhYmxlZD0iJHtpfSI+PHczbS1uZXR3b3JrLWltYWdlIGNoYWluSWQ9IiR7dGhpcy5jaGFpbklkfSI+PC93M20tbmV0d29yay1pbWFnZT48dzNtLXRleHQgdmFyaWFudD0ieHNtYWxsLXJlZ3VsYXIiIGNvbG9yPSJhY2NlbnQiPiR7dGhpcy5sYWJlbH08L3czbS10ZXh0PjwvYnV0dG9uPmB9fTtoYS5zdHlsZXM9W2plLmdsb2JhbENzcyxvT10sRWYoW2d0KCldLGhhLnByb3RvdHlwZSwiY2hhaW5JZCIsMiksRWYoW2d0KCldLGhhLnByb3RvdHlwZSwibGFiZWwiLDIpLGhhPUVmKFtSZSgidzNtLWFjY291bnQtbmV0d29yay1idXR0b24iKV0saGEpO2NvbnN0IGxPPVZlYEBrZXlmcmFtZXMgc2xpZGV7MCV7YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9MTAwJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjIwMHB4IDB9fXczbS10ZXh0e3BhZGRpbmc6MXB4IDB9LnczbS1sb2FkaW5ne2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDI3MGRlZyx2YXIoLS13M20tY29sb3ItZmctMSkgMzYuMzMlLHZhcigtLXczbS1jb2xvci1mZy0zKSA0Mi4wNyUsdmFyKC0tdzNtLWNvbG9yLWZnLTEpIDgzLjMlKTtiYWNrZ3JvdW5kLXNpemU6MjAwcHggMTAwJTtiYWNrZ3JvdW5kLWNsaXA6dGV4dDstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O2FuaW1hdGlvbi1uYW1lOnNsaWRlO2FuaW1hdGlvbi1kdXJhdGlvbjoxLjVzO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXJ9YDt2YXIgdU89T2JqZWN0LmRlZmluZVByb3BlcnR5LGhPPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsZmE9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9oTyhlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmdU8oZSxyLGkpLGl9O2xldCBucz1jbGFzcyBleHRlbmRzICRle2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmFkZHJlc3M9dm9pZCAwLHRoaXMubmFtZT12b2lkIDAsdGhpcy5sb2FkaW5nPSEwLHRoaXMudmFyaWFudD0iYnV0dG9uIix0aGlzLnVuc3Vic2NyaWJlQWNjb3VudD12b2lkIDAsdGhpcy5hZGRyZXNzPUV0LnN0YXRlLmFkZHJlc3MsdGhpcy5uYW1lPUV0LnN0YXRlLnByb2ZpbGVOYW1lLHRoaXMubG9hZGluZz0hIUV0LnN0YXRlLnByb2ZpbGVMb2FkaW5nLHRoaXMudW5zdWJzY3JpYmVBY2NvdW50PUV0LnN1YnNjcmliZSgoe2FkZHJlc3M6dCxwcm9maWxlTmFtZTplLHByb2ZpbGVMb2FkaW5nOnJ9KT0+e3RoaXMuYWRkcmVzcz10LHRoaXMubmFtZT1lLHRoaXMubG9hZGluZz0hIXJ9KX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciB0Oyh0PXRoaXMudW5zdWJzY3JpYmVBY2NvdW50KT09bnVsbHx8dC5jYWxsKHRoaXMpfXJlbmRlcigpe3ZhciB0O2NvbnN0IGU9dGhpcy52YXJpYW50PT09ImJ1dHRvbiIscj17InczbS1sb2FkaW5nIjp0aGlzLmxvYWRpbmd9O3JldHVybiBvZWA8dzNtLXRleHQgY2xhc3M9IiR7THIocil9IiB2YXJpYW50PSIke2U/Im1lZGl1bS1yZWd1bGFyIjoiYmlnLWJvbGQifSIgY29sb3I9IiR7ZT8iaW52ZXJzZSI6InByaW1hcnkifSI+JHt0aGlzLm5hbWU/dGhpcy5uYW1lOnhlLnRydW5jYXRlKCh0PXRoaXMuYWRkcmVzcykhPW51bGw/dDoiIil9PC93M20tdGV4dD5gfX07bnMuc3R5bGVzPVtqZS5nbG9iYWxDc3MsbE9dLGZhKFtndCgpXSxucy5wcm90b3R5cGUsImFkZHJlc3MiLDIpLGZhKFtndCgpXSxucy5wcm90b3R5cGUsIm5hbWUiLDIpLGZhKFtndCgpXSxucy5wcm90b3R5cGUsImxvYWRpbmciLDIpLGZhKFtBZSgpXSxucy5wcm90b3R5cGUsInZhcmlhbnQiLDIpLG5zPWZhKFtSZSgidzNtLWFkZHJlc3MtdGV4dCIpXSxucyk7Y29uc3QgTXI9e29uQ29ubmVjdGluZyh0KXt4ZS5nb1RvQ29ubmVjdGluZ1ZpZXcodCl9LG9uRXh0ZXJuYWwodCl7eGUuaGFuZGxlQ29ubmVjdG9yQ29ubmVjdGlvbih0KX0sbWFudWFsV2FsbGV0c1RlbXBsYXRlKCl7cmV0dXJuIFhyLm1hbnVhbFdhbGxldHMoKS5tYXAodD0+b2VgPHczbS13YWxsZXQtYnV0dG9uIHdhbGxldElkPSIke3QuaWR9IiBuYW1lPSIke3QubmFtZX0iIC5vbkNsaWNrPSIkeygpPT50aGlzLm9uQ29ubmVjdGluZyh0KX0iPjwvdzNtLXdhbGxldC1idXR0b24+YCl9LHJlY29tZW5kZWRXYWxsZXRzVGVtcGxhdGUodD0hMSl7cmV0dXJuIFhyLnJlY29tZW5kZWRXYWxsZXRzKHQpLm1hcChlPT5vZWA8dzNtLXdhbGxldC1idXR0b24gd2FsbGV0SWQ9IiR7ZS5pZH0iIGltYWdlSWQ9IiR7ZS5pbWFnZV9pZH0iIG5hbWU9IiR7ZS5uYW1lfSIgLm9uQ2xpY2s9IiR7KCk9PnRoaXMub25Db25uZWN0aW5nKGUpfSI+PC93M20td2FsbGV0LWJ1dHRvbj5gKX0sZXh0ZXJuYWxXYWxsZXRzVGVtcGxhdGUoKXtyZXR1cm4gWHIuZXh0ZXJuYWxXYWxsZXRzKCkubWFwKHQ9Pm9lYDx3M20td2FsbGV0LWJ1dHRvbiBuYW1lPSIke3QubmFtZX0iIHdhbGxldElkPSIke3QuaWR9IiAub25DbGljaz0iJHsoKT0+dGhpcy5vbkV4dGVybmFsKHQuaWQpfSI+PC93M20td2FsbGV0LWJ1dHRvbj5gKX0scmVjZW50V2FsbGV0VGVtcGxhdGUoKXtjb25zdCB0PVhyLnJlY2VudFdhbGxldCgpO2lmKHQpcmV0dXJuIG9lYDx3M20td2FsbGV0LWJ1dHRvbiBuYW1lPSIke3QubmFtZX0iIHdhbGxldElkPSIke3QuaWR9IiBpbWFnZUlkPSIke3QuaW1hZ2VfaWR9IiAucmVjZW50PSIkeyEwfSIgLm9uQ2xpY2s9IiR7KCk9PnRoaXMub25Db25uZWN0aW5nKHQpfSI+PC93M20td2FsbGV0LWJ1dHRvbj5gfSxpbnN0YWxsZWRJbmplY3RlZFdhbGxldHNUZW1wbGF0ZSgpe3JldHVybiBYci5pbnN0YWxsZWRJbmplY3RlZFdhbGxldHMoKS5tYXAodD0+b2VgPHczbS13YWxsZXQtYnV0dG9uIC5pbnN0YWxsZWQ9IiR7ITB9IiBuYW1lPSIke3QubmFtZX0iIHdhbGxldElkPSIke3QuaWR9IiBpbWFnZUlkPSIke3QuaW1hZ2VfaWR9IiAub25DbGljaz0iJHsoKT0+dGhpcy5vbkNvbm5lY3RpbmcodCl9Ij48L3czbS13YWxsZXQtYnV0dG9uPmApfSxpbmplY3RlZFdhbGxldHNUZW1wbGF0ZSgpe3JldHVybiBYci5pbmplY3RlZFdhbGxldHMoKS5tYXAodD0+b2VgPHczbS13YWxsZXQtYnV0dG9uIG5hbWU9IiR7dC5uYW1lfSIgd2FsbGV0SWQ9IiR7dC5pZH0iIGltYWdlSWQ9IiR7dC5pbWFnZV9pZH0iIC5vbkNsaWNrPSIkeygpPT50aGlzLm9uQ29ubmVjdGluZyh0KX0iPjwvdzNtLXdhbGxldC1idXR0b24+YCl9fSxmTz1WZWBAa2V5ZnJhbWVzIHNjcm9sbHswJXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfTEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKGNhbGMoLTcwcHggKiA5KSwwLDApfX0udzNtLXNsaWRlcntwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdy14OmhpZGRlbjtwYWRkaW5nOjEwcHggMDttYXJnaW46MCAtMjBweDt3aWR0aDpjYWxjKDEwMCUgKyA0MHB4KX0udzNtLXRyYWNre2Rpc3BsYXk6ZmxleDt3aWR0aDpjYWxjKDcwcHggKiAxOCk7YW5pbWF0aW9uOnNjcm9sbCAyMHMgbGluZWFyIGluZmluaXRlO29wYWNpdHk6Ljd9LnczbS10cmFjayBzdmd7bWFyZ2luOjAgNXB4fXczbS13YWxsZXQtaW1hZ2V7d2lkdGg6NjBweDtoZWlnaHQ6NjBweDttYXJnaW46MCA1cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS13M20td2FsbGV0LWljb24tYm9yZGVyLXJhZGl1cyl9LnczbS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsODBweCk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnczbS10aXRsZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1ib3R0b206MTBweH0udzNtLXRpdGxlIHN2Z3ttYXJnaW4tcmlnaHQ6NnB4fS53M20tdGl0bGUgcGF0aHtmaWxsOnZhcigtLXczbS1hY2NlbnQtY29sb3IpfXczbS1tb2RhbC1mb290ZXIgLnczbS10aXRsZXtwYWRkaW5nOjAgMTBweH13M20tYnV0dG9uLWJpZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxN3B4IHZhcigtLXczbS1jb2xvci1iZy0xKSl9dzNtLWluZm8tZm9vdGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7cGFkZGluZzo1cHggMH13M20taW5mby1mb290ZXIgdzNtLXRleHR7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWJvdHRvbToxNXB4fSN3YWxsZXQtcGxhY2Vob2xkZXItZmlsbHtmaWxsOnZhcigtLXczbS1jb2xvci1iZy0zKX0jd2FsbGV0LXBsYWNlaG9sZGVyLWRhc2h7c3Ryb2tlOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX1gO3ZhciBkTz1PYmplY3QuZGVmaW5lUHJvcGVydHkscE89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixnTz0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP3BPKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZkTyhlLHIsaSksaX07bGV0IHhmPWNsYXNzIGV4dGVuZHMgJGV7b25Hb1RvUXJjb2RlKCl7dHQucHVzaCgiUXJjb2RlIil9b25HZXRXYWxsZXQoKXt0dC5wdXNoKCJHZXRXYWxsZXQiKX1yZW5kZXIoKXtjb25zdHtyZWNvbWVuZGVkV2FsbGV0czp0fT1uci5zdGF0ZSxlPVsuLi50LC4uLnRdLHI9TXIuZXh0ZXJuYWxXYWxsZXRzVGVtcGxhdGUoKSxuPU1yLmluc3RhbGxlZEluamVjdGVkV2FsbGV0c1RlbXBsYXRlKCksaT1bLi4ubiwuLi5yXS5sZW5ndGg+MCxvPUllLlJFQ09NTUVOREVEX1dBTExFVF9BTU9VTlQqMjtyZXR1cm4gb2VgPHczbS1tb2RhbC1oZWFkZXIgdGl0bGU9IkNvbm5lY3QgeW91ciB3YWxsZXQiIC5vbkFjdGlvbj0iJHt0aGlzLm9uR29Ub1FyY29kZX0iIC5hY3Rpb25JY29uPSIke05lLlFSQ09ERV9JQ09OfSI+PC93M20tbW9kYWwtaGVhZGVyPjx3M20tbW9kYWwtY29udGVudD48ZGl2IGNsYXNzPSJ3M20tdGl0bGUiPiR7TmUuTU9CSUxFX0lDT059PHczbS10ZXh0IHZhcmlhbnQ9InNtYWxsLXJlZ3VsYXIiIGNvbG9yPSJhY2NlbnQiPldhbGxldENvbm5lY3Q8L3czbS10ZXh0PjwvZGl2PjxkaXYgY2xhc3M9InczbS1zbGlkZXIiPjxkaXYgY2xhc3M9InczbS10cmFjayI+JHtbLi4uQXJyYXkobyldLm1hcCgoYyxsKT0+e2NvbnN0IGg9ZVtsJWUubGVuZ3RoXTtyZXR1cm4gaD9vZWA8dzNtLXdhbGxldC1pbWFnZSB3YWxsZXRJZD0iJHtoLmlkfSIgaW1hZ2VJZD0iJHtoLmltYWdlX2lkfSI+PC93M20td2FsbGV0LWltYWdlPmA6TmUuV0FMTEVUX1BMQUNFSE9MREVSfSl9PC9kaXY+PHczbS1idXR0b24tYmlnIEBjbGljaz0iJHt4ZS5oYW5kbGVBbmRyb2lkTGlua2luZ30iPjx3M20tdGV4dCB2YXJpYW50PSJtZWRpdW0tcmVndWxhciIgY29sb3I9ImludmVyc2UiPlNlbGVjdCBXYWxsZXQ8L3czbS10ZXh0PjwvdzNtLWJ1dHRvbi1iaWc+PC9kaXY+PC93M20tbW9kYWwtY29udGVudD4ke2k/b2VgPHczbS1tb2RhbC1mb290ZXI+PGRpdiBjbGFzcz0idzNtLXRpdGxlIj4ke05lLldBTExFVF9JQ09OfTx3M20tdGV4dCB2YXJpYW50PSJzbWFsbC1yZWd1bGFyIiBjb2xvcj0iYWNjZW50Ij5PdGhlcjwvdzNtLXRleHQ+PC9kaXY+PGRpdiBjbGFzcz0idzNtLWdyaWQiPiR7bn0gJHtyfTwvZGl2PjwvdzNtLW1vZGFsLWZvb3Rlcj5gOm51bGx9PHczbS1pbmZvLWZvb3Rlcj48dzNtLXRleHQgY29sb3I9InNlY29uZGFyeSIgdmFyaWFudD0ic21hbGwtdGhpbiI+JHtgQ2hvb3NlIFdhbGxldENvbm5lY3QgdG8gc2VlIHN1cHBvcnRlZCBhcHBzIG9uIHlvdXIgZGV2aWNlJHtpPyIsIG9yIHNlbGVjdCBmcm9tIG90aGVyIG9wdGlvbnMiOiIifWB9PC93M20tdGV4dD48dzNtLWJ1dHRvbiB2YXJpYW50PSJvdXRsaW5lIiAuaWNvblJpZ2h0PSIke05lLkFSUk9XX1VQX1JJR0hUX0lDT059IiAub25DbGljaz0iJHsoKT0+dGhpcy5vbkdldFdhbGxldCgpfSI+SSBkb24ndCBoYXZlIGEgd2FsbGV0PC93M20tYnV0dG9uPjwvdzNtLWluZm8tZm9vdGVyPmB9fTt4Zi5zdHlsZXM9W2plLmdsb2JhbENzcyxmT10seGY9Z08oW1JlKCJ3M20tYW5kcm9pZC13YWxsZXQtc2VsZWN0aW9uIildLHhmKTtjb25zdCBtTz1WZWBAa2V5ZnJhbWVzIHNsaWRlezAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MHB4KX0xMDAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMHB4KX19LnczbS1wbGFjZWhvbGRlcixpbWd7Ym9yZGVyLXJhZGl1czo1MCU7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggdmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1hdi0xKTtiYWNrZ3JvdW5kLWltYWdlOnJhZGlhbC1ncmFkaWVudChhdCA2NiUgNzclLHZhcigtLXczbS1jb2xvci1hdi0yKSAwLHRyYW5zcGFyZW50IDUwJSkscmFkaWFsLWdyYWRpZW50KGF0IDI5JSA5NyUsdmFyKC0tdzNtLWNvbG9yLWF2LTMpIDAsdHJhbnNwYXJlbnQgNTAlKSxyYWRpYWwtZ3JhZGllbnQoYXQgOTklIDg2JSx2YXIoLS13M20tY29sb3ItYXYtNCkgMCx0cmFuc3BhcmVudCA1MCUpLHJhZGlhbC1ncmFkaWVudChhdCAyOSUgODglLHZhcigtLXczbS1jb2xvci1hdi01KSAwLHRyYW5zcGFyZW50IDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LnczbS1sb2FkZXJ7d2lkdGg6NTBweDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgyNzBkZWcsdHJhbnNwYXJlbnQgMCxyZ2JhKDI1NSwyNTUsMjU1LC40KSAzMCUsdHJhbnNwYXJlbnQgMTAwJSk7YW5pbWF0aW9uLW5hbWU6c2xpZGU7YW5pbWF0aW9uLWR1cmF0aW9uOjEuNXM7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwcHgpO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7YW5pbWF0aW9uLWRlbGF5Oi41NXN9LnczbS1zbWFsbHt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS53M20tbWVkaXVte3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHh9YDt2YXIgd089T2JqZWN0LmRlZmluZVByb3BlcnR5LHZPPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsZGE9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj92TyhlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmd08oZSxyLGkpLGl9O2xldCBpcz1jbGFzcyBleHRlbmRzICRle2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmFkZHJlc3M9dm9pZCAwLHRoaXMuYXZhdGFyPXZvaWQgMCx0aGlzLmxvYWRpbmc9ITAsdGhpcy5zaXplPSJzbWFsbCIsdGhpcy51bnN1YnNjcmliZUFjY291bnQ9dm9pZCAwLHRoaXMuYWRkcmVzcz1FdC5zdGF0ZS5hZGRyZXNzLHRoaXMuYXZhdGFyPUV0LnN0YXRlLnByb2ZpbGVBdmF0YXIsdGhpcy5sb2FkaW5nPSEhRXQuc3RhdGUucHJvZmlsZUxvYWRpbmcsdGhpcy51bnN1YnNjcmliZUFjY291bnQ9RXQuc3Vic2NyaWJlKCh7YWRkcmVzczp0LHByb2ZpbGVBdmF0YXI6ZSxwcm9maWxlTG9hZGluZzpyfSk9Pnt0aGlzLmFkZHJlc3M9dCx0aGlzLmF2YXRhcj1lLHRoaXMubG9hZGluZz0hIXJ9KX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciB0Oyh0PXRoaXMudW5zdWJzY3JpYmVBY2NvdW50KT09bnVsbHx8dC5jYWxsKHRoaXMpfXJlbmRlcigpe2NvbnN0IHQ9eyJ3M20tcGxhY2Vob2xkZXIiOiEwLCJ3M20tc21hbGwiOnRoaXMuc2l6ZT09PSJzbWFsbCIsInczbS1tZWRpdW0iOnRoaXMuc2l6ZT09PSJtZWRpdW0ifTtyZXR1cm4gdGhpcy5hdmF0YXI/b2VgPGltZyBjbGFzcz0iJHtMcih0KX0iIHNyYz0iJHt0aGlzLmF2YXRhcn0iPmA6dGhpcy5hZGRyZXNzPyh4ZS5nZW5lcmF0ZUF2YXRhckNvbG9ycyh0aGlzLmFkZHJlc3MpLG9lYDxkaXYgY2xhc3M9IiR7THIodCl9Ij4ke3RoaXMubG9hZGluZz9vZWA8ZGl2IGNsYXNzPSJ3M20tbG9hZGVyIj48L2Rpdj5gOm51bGx9PC9kaXY+YCk6bnVsbH19O2lzLnN0eWxlcz1bamUuZ2xvYmFsQ3NzLG1PXSxkYShbZ3QoKV0saXMucHJvdG90eXBlLCJhZGRyZXNzIiwyKSxkYShbZ3QoKV0saXMucHJvdG90eXBlLCJhdmF0YXIiLDIpLGRhKFtndCgpXSxpcy5wcm90b3R5cGUsImxvYWRpbmciLDIpLGRhKFtBZSgpXSxpcy5wcm90b3R5cGUsInNpemUiLDIpLGlzPWRhKFtSZSgidzNtLWF2YXRhciIpXSxpcyk7Y29uc3QgeU89VmVgZGl2e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9dzNtLXRva2VuLWltYWdle3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7bWFyZ2luLXJpZ2h0OjZweH1gO3ZhciBiTz1PYmplY3QuZGVmaW5lUHJvcGVydHksX089T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixDZj0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP19PKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZiTyhlLHIsaSksaX07bGV0IHBhPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXt2YXIgdCxlO3N1cGVyKCksdGhpcy5zeW1ib2w9dm9pZCAwLHRoaXMuYW1vdW50PXZvaWQgMCx0aGlzLnVuc3Vic2NyaWJlQWNjb3VudD12b2lkIDAsdGhpcy5zeW1ib2w9KHQ9RXQuc3RhdGUuYmFsYW5jZSk9PW51bGw/dm9pZCAwOnQuc3ltYm9sLHRoaXMuYW1vdW50PShlPUV0LnN0YXRlLmJhbGFuY2UpPT1udWxsP3ZvaWQgMDplLmFtb3VudCx0aGlzLnVuc3Vic2NyaWJlQWNjb3VudD1FdC5zdWJzY3JpYmUoKHtiYWxhbmNlOnJ9KT0+e3RoaXMuc3ltYm9sPXI/LnN5bWJvbCx0aGlzLmFtb3VudD1yPy5hbW91bnR9KX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciB0Oyh0PXRoaXMudW5zdWJzY3JpYmVBY2NvdW50KT09bnVsbHx8dC5jYWxsKHRoaXMpfXJlbmRlcigpe2xldCB0PSJfLl8iO3JldHVybiB0aGlzLmFtb3VudD09PSIwLjAiP3Q9MDp0eXBlb2YgdGhpcy5hbW91bnQ9PSJzdHJpbmciJiZ0aGlzLmFtb3VudC5sZW5ndGg+Nj90PXBhcnNlRmxvYXQodGhpcy5hbW91bnQpLnRvRml4ZWQoMyk6dHlwZW9mIHRoaXMuYW1vdW50PT0ic3RyaW5nIiYmKHQ9cGFyc2VGbG9hdCh0aGlzLmFtb3VudCkpLG9lYDxkaXY+PHczbS10b2tlbi1pbWFnZSBzeW1ib2w9IiR7dGhpcy5zeW1ib2x9Ij48L3czbS10b2tlbi1pbWFnZT48dzNtLXRleHQgdmFyaWFudD0ibWVkaXVtLXJlZ3VsYXIiIGNvbG9yPSJwcmltYXJ5Ij4ke3R9ICR7dGhpcy5zeW1ib2x9PC93M20tdGV4dD48L2Rpdj5gfX07cGEuc3R5bGVzPVtqZS5nbG9iYWxDc3MseU9dLENmKFtndCgpXSxwYS5wcm90b3R5cGUsInN5bWJvbCIsMiksQ2YoW2d0KCldLHBhLnByb3RvdHlwZSwiYW1vdW50IiwyKSxwYT1DZihbUmUoInczbS1iYWxhbmNlIildLHBhKTtjb25zdCBFTz1WZWA6aG9zdHthbGw6aW5pdGlhbH1zdmd7d2lkdGg6MjhweDtoZWlnaHQ6MjBweDttYXJnaW46LTFweCAzcHggMCAtNXB4fXN2ZyBwYXRoe2ZpbGw6dmFyKC0tdzNtLWFjY2VudC1maWxsLWNvbG9yKX1idXR0b246ZGlzYWJsZWQgc3ZnIHBhdGh7ZmlsbDp2YXIoLS13M20tY29sb3ItZmctMyl9dzNtLXNwaW5uZXJ7bWFyZ2luOjAgMTBweCAwIDB9YDt2YXIgeE89T2JqZWN0LmRlZmluZVByb3BlcnR5LENPPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsQmM9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9DTyhlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmeE8oZSxyLGkpLGl9O2xldCBzcz1jbGFzcyBleHRlbmRzICRle2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmxvYWRpbmc9ITEsdGhpcy5sYWJlbD0iQ29ubmVjdCBXYWxsZXQiLHRoaXMuaWNvbj0ic2hvdyIsdGhpcy5tb2RhbFVuc3ViPXZvaWQgMCx4ZS5yZWplY3RTdGFuZGFsb25lQnV0dG9uQ29tcG9uZW50KCksdGhpcy5tb2RhbFVuc3ViPU5yLnN1YnNjcmliZSh0PT57dC5vcGVuJiYodGhpcy5sb2FkaW5nPSEwKSx0Lm9wZW58fCh0aGlzLmxvYWRpbmc9ITEpfSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgdDsodD10aGlzLm1vZGFsVW5zdWIpPT1udWxsfHx0LmNhbGwodGhpcyl9aWNvblRlbXBsYXRlKCl7cmV0dXJuIHRoaXMuaWNvbj09PSJzaG93Ij9OZS5XQUxMRVRfQ09OTkVDVF9JQ09OOm51bGx9b25DbGljaygpe0V0LnN0YXRlLmlzQ29ubmVjdGVkP3RoaXMub25EaXNjb25uZWN0KCk6dGhpcy5vbkNvbm5lY3QoKX1hc3luYyBvbkNvbm5lY3QoKXt0aGlzLmxvYWRpbmc9ITAsZ2kuY2xpY2soe25hbWU6IkNPTk5FQ1RfQlVUVE9OIn0pLGF3YWl0IE5yLm9wZW4oKSxOci5zdGF0ZS5vcGVufHwodGhpcy5sb2FkaW5nPSExKX1hc3luYyBvbkRpc2Nvbm5lY3QoKXtnaS5jbGljayh7bmFtZToiRElTQ09OTkVDVF9CVVRUT04ifSksYXdhaXQgTnQuY2xpZW50KCkuZGlzY29ubmVjdCgpfXJlbmRlcigpe3JldHVybiBvZWA8dzNtLWJ1dHRvbi1iaWcgLmRpc2FibGVkPSIke3RoaXMubG9hZGluZ30iIEBjbGljaz0iJHt0aGlzLm9uQ2xpY2t9Ij4ke3RoaXMubG9hZGluZz9vZWA8dzNtLXNwaW5uZXI+PC93M20tc3Bpbm5lcj48dzNtLXRleHQgdmFyaWFudD0ibWVkaXVtLXJlZ3VsYXIiIGNvbG9yPSJhY2NlbnQiPkNvbm5lY3RpbmcuLi48L3czbS10ZXh0PmA6b2VgJHt0aGlzLmljb25UZW1wbGF0ZSgpfTx3M20tdGV4dCB2YXJpYW50PSJtZWRpdW0tcmVndWxhciIgY29sb3I9ImludmVyc2UiPiR7dGhpcy5sYWJlbH08L3czbS10ZXh0PmB9PC93M20tYnV0dG9uLWJpZz5gfX07c3Muc3R5bGVzPVtqZS5nbG9iYWxDc3MsRU9dLEJjKFtndCgpXSxzcy5wcm90b3R5cGUsImxvYWRpbmciLDIpLEJjKFtBZSgpXSxzcy5wcm90b3R5cGUsImxhYmVsIiwyKSxCYyhbQWUoKV0sc3MucHJvdG90eXBlLCJpY29uIiwyKSxzcz1CYyhbUmUoInczbS1jb25uZWN0LWJ1dHRvbiIpXSxzcyk7Y29uc3QgSU89VmVgQGtleWZyYW1lcyBsb2FkaW5ne3Rve3N0cm9rZS1kYXNob2Zmc2V0OjB9fUBrZXlmcmFtZXMgc2hha2V7MTAlLDkwJXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTFweCwwLDApfTIwJSw4MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDFweCwwLDApfTMwJSw1MCUsNzAle3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMnB4LDAsMCl9NDAlLDYwJXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMnB4LDAsMCl9fTpob3N0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyfWRpdntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMTBweDtoZWlnaHQ6MTEwcHg7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjo0MHB4IDAgMjBweCAwO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9c3Zne3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjExMHB4O2hlaWdodDoxMTBweDtmaWxsOm5vbmU7c3Ryb2tlOnRyYW5zcGFyZW50O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS13aWR0aDoycHg7dG9wOjA7bGVmdDowfXVzZXtzdHJva2U6dmFyKC0tdzNtLWFjY2VudC1jb2xvcik7YW5pbWF0aW9uOmxvYWRpbmcgMXMgbGluZWFyIGluZmluaXRlfXczbS13YWxsZXQtaW1hZ2V7Ym9yZGVyLXJhZGl1czp2YXIoLS13M20td2FsbGV0LWljb24tbGFyZ2UtYm9yZGVyLXJhZGl1cyk7d2lkdGg6OTBweDtoZWlnaHQ6OTBweH13M20tdGV4dHttYXJnaW4tYm90dG9tOjQwcHh9LnczbS1lcnJvciBzdmd7c3Ryb2tlOnZhcigtLXczbS1lcnJvci1jb2xvcil9LnczbS1lcnJvciB1c2V7ZGlzcGxheTpub25lfS53M20tZXJyb3J7YW5pbWF0aW9uOnNoYWtlIC40cyBjdWJpYy1iZXppZXIoLjM2LC4wNywuMTksLjk3KSBib3RofS53M20tc3RhbGUgc3ZnLC53M20tc3RhbGUgdXNle2Rpc3BsYXk6bm9uZX1gO3ZhciBPTz1PYmplY3QuZGVmaW5lUHJvcGVydHksQU89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixHcz0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP0FPKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZPTyhlLHIsaSksaX07bGV0IHhpPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMud2FsbGV0SWQ9dm9pZCAwLHRoaXMuaW1hZ2VJZD12b2lkIDAsdGhpcy5pc0Vycm9yPSExLHRoaXMuaXNTdGFsZT0hMSx0aGlzLmxhYmVsPSIifXN2Z0xvYWRlclRlbXBsYXRlKCl7dmFyIHQsZTtjb25zdCByPShlPSh0PUxuLnN0YXRlLnRoZW1lVmFyaWFibGVzKT09bnVsbD92b2lkIDA6dFsiLS13M20td2FsbGV0LWljb24tbGFyZ2UtYm9yZGVyLXJhZGl1cyJdKSE9bnVsbD9lOmplLmdldFByZXNldCgiLS13M20td2FsbGV0LWljb24tbGFyZ2UtYm9yZGVyLXJhZGl1cyIpO2xldCBuPTA7ci5pbmNsdWRlcygiJSIpP249ODgvMTAwKnBhcnNlSW50KHIsMTApOm49cGFyc2VJbnQociwxMCksbio9MS4xNztjb25zdCBpPTMxNy1uKjEuNTcsbz00MjUtbioxLjg7cmV0dXJuIG9lYDxzdmcgdmlld0JveD0iMCAwIDExMCAxMTAiIHdpZHRoPSIxMTAiIGhlaWdodD0iMTEwIj48cmVjdCBpZD0idzNtLWxvYWRlciIgeD0iMiIgeT0iMiIgd2lkdGg9IjEwNiIgaGVpZ2h0PSIxMDYiIHJ4PSIke259Ii8+PHVzZSB4bGluazpocmVmPSIjdzNtLWxvYWRlciIgc3Ryb2tlLWRhc2hhcnJheT0iMTA2ICR7aX0iIHN0cm9rZS1kYXNob2Zmc2V0PSIke299Ij48L3VzZT48L3N2Zz5gfXJlbmRlcigpe2NvbnN0IHQ9eyJ3M20tZXJyb3IiOnRoaXMuaXNFcnJvciwidzNtLXN0YWxlIjp0aGlzLmlzU3RhbGV9O3JldHVybiBvZWA8ZGl2IGNsYXNzPSIke0xyKHQpfSI+JHt0aGlzLnN2Z0xvYWRlclRlbXBsYXRlKCl9PHczbS13YWxsZXQtaW1hZ2Ugd2FsbGV0SWQ9IiR7dGhpcy53YWxsZXRJZH0iIGltYWdlSWQ9IiR7dGhpcy5pbWFnZUlkfSI+PC93M20td2FsbGV0LWltYWdlPjwvZGl2Pjx3M20tdGV4dCB2YXJpYW50PSJtZWRpdW0tcmVndWxhciIgY29sb3I9IiR7dGhpcy5pc0Vycm9yPyJlcnJvciI6InByaW1hcnkifSI+JHt0aGlzLmlzRXJyb3I/IkNvbm5lY3Rpb24gZGVjbGluZWQiOnRoaXMubGFiZWx9PC93M20tdGV4dD5gfX07eGkuc3R5bGVzPVtqZS5nbG9iYWxDc3MsSU9dLEdzKFtBZSgpXSx4aS5wcm90b3R5cGUsIndhbGxldElkIiwyKSxHcyhbQWUoKV0seGkucHJvdG90eXBlLCJpbWFnZUlkIiwyKSxHcyhbQWUoKV0seGkucHJvdG90eXBlLCJpc0Vycm9yIiwyKSxHcyhbQWUoKV0seGkucHJvdG90eXBlLCJpc1N0YWxlIiwyKSxHcyhbQWUoKV0seGkucHJvdG90eXBlLCJsYWJlbCIsMikseGk9R3MoW1JlKCJ3M20tY29ubmVjdG9yLXdhaXRpbmciKV0seGkpO3ZhciBTTz1PYmplY3QuZGVmaW5lUHJvcGVydHksRE89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixacz0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP0RPKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZTTyhlLHIsaSksaX07bGV0IENpPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuaXNDb25uZWN0ZWQ9ITEsdGhpcy5sYWJlbD0iQ29ubmVjdCBXYWxsZXQiLHRoaXMuaWNvbj0ic2hvdyIsdGhpcy5hdmF0YXI9InNob3ciLHRoaXMuYmFsYW5jZT0iaGlkZSIsdGhpcy51bnN1YnNjcmliZUFjY291bnQ9dm9pZCAwLHhlLnJlamVjdFN0YW5kYWxvbmVCdXR0b25Db21wb25lbnQoKSx0aGlzLmlzQ29ubmVjdGVkPUV0LnN0YXRlLmlzQ29ubmVjdGVkLHRoaXMudW5zdWJzY3JpYmVBY2NvdW50PUV0LnN1YnNjcmliZSgoe2lzQ29ubmVjdGVkOnR9KT0+e3RoaXMuaXNDb25uZWN0ZWQ9dH0pfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIHQ7KHQ9dGhpcy51bnN1YnNjcmliZUFjY291bnQpPT1udWxsfHx0LmNhbGwodGhpcyl9cmVuZGVyKCl7Y29uc3R7ZW5hYmxlQWNjb3VudFZpZXc6dH09anQuc3RhdGUsZT10aGlzLmJhbGFuY2Uscj10aGlzLmxhYmVsLG49dGhpcy5pY29uLGk9dGhpcy5hdmF0YXI7cmV0dXJuIHRoaXMuaXNDb25uZWN0ZWQmJnQ/b2VgPHczbS1hY2NvdW50LWJ1dHRvbiBiYWxhbmNlPSIke2V9IiBhdmF0YXI9IiR7aX0iPjwvdzNtLWFjY291bnQtYnV0dG9uPmA6b2VgPHczbS1jb25uZWN0LWJ1dHRvbiBsYWJlbD0iJHt0aGlzLmlzQ29ubmVjdGVkPyJEaXNjb25uZWN0IjpyfSIgaWNvbj0iJHtufSI+PC93M20tY29ubmVjdC1idXR0b24+YH19O1pzKFtndCgpXSxDaS5wcm90b3R5cGUsImlzQ29ubmVjdGVkIiwyKSxacyhbQWUoKV0sQ2kucHJvdG90eXBlLCJsYWJlbCIsMiksWnMoW0FlKCldLENpLnByb3RvdHlwZSwiaWNvbiIsMiksWnMoW0FlKCldLENpLnByb3RvdHlwZSwiYXZhdGFyIiwyKSxacyhbQWUoKV0sQ2kucHJvdG90eXBlLCJiYWxhbmNlIiwyKSxDaT1acyhbUmUoInczbS1jb3JlLWJ1dHRvbiIpXSxDaSk7Y29uc3QgJE89VmVgLnczbS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsODBweCk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnczbS1kZXNrdG9wLXRpdGxlLC53M20tbW9iaWxlLXRpdGxle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LnczbS1tb2JpbGUtdGl0bGV7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWFyZ2luLWJvdHRvbToyMHB4O21hcmdpbi10b3A6LTEwcHh9LnczbS1kZXNrdG9wLXRpdGxle21hcmdpbi1ib3R0b206MTBweDtwYWRkaW5nOjAgMTBweH0udzNtLXN1YnRpdGxle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LnczbS1zdWJ0aXRsZTpsYXN0LWNoaWxkIHBhdGh7ZmlsbDp2YXIoLS13M20tY29sb3ItZmctMyl9LnczbS1kZXNrdG9wLXRpdGxlIHN2ZywudzNtLW1vYmlsZS10aXRsZSBzdmd7bWFyZ2luLXJpZ2h0OjZweH0udzNtLWRlc2t0b3AtdGl0bGUgcGF0aCwudzNtLW1vYmlsZS10aXRsZSBwYXRoe2ZpbGw6dmFyKC0tdzNtLWFjY2VudC1jb2xvcil9YDt2YXIgUE89T2JqZWN0LmRlZmluZVByb3BlcnR5LFRPPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsUk89KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9UTyhlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmUE8oZSxyLGkpLGl9O2xldCBJZj1jbGFzcyBleHRlbmRzICRle3JlbmRlcigpe2NvbnN0e2lzU3RhbmRhbG9uZTp0fT1EZS5zdGF0ZSx7ZXhwbG9yZXJFeGNsdWRlZFdhbGxldElkczplLGVuYWJsZUV4cGxvcmVyOnJ9PWp0LnN0YXRlLG49ZSE9PSJBTEwiJiZyLGk9TXIubWFudWFsV2FsbGV0c1RlbXBsYXRlKCksbz1Nci5yZWNvbWVuZGVkV2FsbGV0c1RlbXBsYXRlKCksYz1Nci5leHRlcm5hbFdhbGxldHNUZW1wbGF0ZSgpLGw9TXIucmVjZW50V2FsbGV0VGVtcGxhdGUoKSxoPU1yLmluc3RhbGxlZEluamVjdGVkV2FsbGV0c1RlbXBsYXRlKCk7bGV0IGQ9W2wsLi4uaSwuLi5vXTt0fHwoZD1bLi4uaCxsLC4uLmMsLi4uaSwuLi5vXSksZD1kLmZpbHRlcihCb29sZWFuKTtjb25zdCB2PWQubGVuZ3RoPjR8fG47bGV0IEU9W107dj9FPWQuc2xpY2UoMCwzKTpFPWQ7Y29uc3QgXz0hIUUubGVuZ3RoO3JldHVybiBvZWA8dzNtLW1vZGFsLWhlYWRlciAuYm9yZGVyPSIkeyEwfSIgdGl0bGU9IkNvbm5lY3QgeW91ciB3YWxsZXQiIC5vbkFjdGlvbj0iJHt4ZS5oYW5kbGVVcmlDb3B5fSIgLmFjdGlvbkljb249IiR7TmUuQ09QWV9JQ09OfSI+PC93M20tbW9kYWwtaGVhZGVyPjx3M20tbW9kYWwtY29udGVudD48ZGl2IGNsYXNzPSJ3M20tbW9iaWxlLXRpdGxlIj48ZGl2IGNsYXNzPSJ3M20tc3VidGl0bGUiPiR7TmUuTU9CSUxFX0lDT059PHczbS10ZXh0IHZhcmlhbnQ9InNtYWxsLXJlZ3VsYXIiIGNvbG9yPSJhY2NlbnQiPk1vYmlsZTwvdzNtLXRleHQ+PC9kaXY+PGRpdiBjbGFzcz0idzNtLXN1YnRpdGxlIj4ke05lLlNDQU5fSUNPTn08dzNtLXRleHQgdmFyaWFudD0ic21hbGwtcmVndWxhciIgY29sb3I9InNlY29uZGFyeSI+U2NhbiB3aXRoIHlvdXIgd2FsbGV0PC93M20tdGV4dD48L2Rpdj48L2Rpdj48dzNtLXdhbGxldGNvbm5lY3QtcXI+PC93M20td2FsbGV0Y29ubmVjdC1xcj48L3czbS1tb2RhbC1jb250ZW50PiR7Xz9vZWA8dzNtLW1vZGFsLWZvb3Rlcj48ZGl2IGNsYXNzPSJ3M20tZGVza3RvcC10aXRsZSI+JHtOZS5ERVNLVE9QX0lDT059PHczbS10ZXh0IHZhcmlhbnQ9InNtYWxsLXJlZ3VsYXIiIGNvbG9yPSJhY2NlbnQiPkRlc2t0b3A8L3czbS10ZXh0PjwvZGl2PjxkaXYgY2xhc3M9InczbS1ncmlkIj4ke0V9ICR7dj9vZWA8dzNtLXZpZXctYWxsLXdhbGxldHMtYnV0dG9uPjwvdzNtLXZpZXctYWxsLXdhbGxldHMtYnV0dG9uPmA6bnVsbH08L2Rpdj48L3czbS1tb2RhbC1mb290ZXI+YDpudWxsfWB9fTtJZi5zdHlsZXM9W2plLmdsb2JhbENzcywkT10sSWY9Uk8oW1JlKCJ3M20tZGVza3RvcC13YWxsZXQtc2VsZWN0aW9uIildLElmKTtjb25zdCBOTz1WZWBkaXZ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3ItYmctMik7cGFkZGluZzoxMHB4IDIwcHggMTVweCAyMHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLXczbS1jb2xvci1iZy0zKTt0ZXh0LWFsaWduOmNlbnRlcn1he2NvbG9yOnZhcigtLXczbS1hY2NlbnQtY29sb3IpO3RleHQtZGVjb3JhdGlvbjpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7ZGlzcGxheTppbmxpbmV9YTphY3RpdmV7b3BhY2l0eTouOH1AbWVkaWEoaG92ZXI6aG92ZXIpe2E6aG92ZXJ7b3BhY2l0eTouOH19YDt2YXIgTE89T2JqZWN0LmRlZmluZVByb3BlcnR5LE1PPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsVU89KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9NTyhlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmTE8oZSxyLGkpLGl9O2xldCBPZj1jbGFzcyBleHRlbmRzICRle3JlbmRlcigpe2NvbnN0e3Rlcm1zT2ZTZXJ2aWNlVXJsOnQscHJpdmFjeVBvbGljeVVybDplfT1qdC5zdGF0ZTtyZXR1cm4gdD8/ZT9vZWA8ZGl2Pjx3M20tdGV4dCB2YXJpYW50PSJzbWFsbC1yZWd1bGFyIiBjb2xvcj0ic2Vjb25kYXJ5Ij5CeSBjb25uZWN0aW5nIHlvdXIgd2FsbGV0IHRvIHRoaXMgYXBwLCB5b3UgYWdyZWUgdG8gdGhlIGFwcCdzICR7dD9vZWA8YSBocmVmPSIke3R9IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5UZXJtcyBvZiBTZXJ2aWNlPC9hPmA6bnVsbH0gJHt0JiZlPyJhbmQiOm51bGx9ICR7ZT9vZWA8YSBocmVmPSIke2V9IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5Qcml2YWN5IFBvbGljeTwvYT5gOm51bGx9PC93M20tdGV4dD48L2Rpdj5gOm51bGx9fTtPZi5zdHlsZXM9W2plLmdsb2JhbENzcyxOT10sT2Y9VU8oW1JlKCJ3M20tbGVnYWwtbm90aWNlIildLE9mKTtjb25zdCBqTz1WZWBkaXZ7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCw4MHB4KTttYXJnaW46MCAtMTBweDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtyb3ctZ2FwOjEwcHh9YDt2YXIgRk89T2JqZWN0LmRlZmluZVByb3BlcnR5LEJPPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Isa089KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9CTyhlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmRk8oZSxyLGkpLGl9O2xldCBBZj1jbGFzcyBleHRlbmRzICRle29uUXJjb2RlKCl7dHQucHVzaCgiUXJjb2RlIil9cmVuZGVyKCl7Y29uc3R7aXNTdGFuZGFsb25lOnR9PURlLnN0YXRlLHtleHBsb3JlckV4Y2x1ZGVkV2FsbGV0SWRzOmUsZW5hYmxlRXhwbG9yZXI6cn09anQuc3RhdGUsbj1lIT09IkFMTCImJnIsaT1Nci5tYW51YWxXYWxsZXRzVGVtcGxhdGUoKSxvPU1yLnJlY29tZW5kZWRXYWxsZXRzVGVtcGxhdGUoKSxjPU1yLmV4dGVybmFsV2FsbGV0c1RlbXBsYXRlKCksbD1Nci5yZWNlbnRXYWxsZXRUZW1wbGF0ZSgpLGg9TXIuaW5zdGFsbGVkSW5qZWN0ZWRXYWxsZXRzVGVtcGxhdGUoKTtsZXQgZD1bbCwuLi5pLC4uLm9dO3R8fChkPVsuLi5oLGwsLi4uYywuLi5pLC4uLm9dKSxkPWQuZmlsdGVyKEJvb2xlYW4pO2NvbnN0IHY9ZC5sZW5ndGg+OHx8bjtsZXQgRT1bXTt2P0U9ZC5zbGljZSgwLDcpOkU9ZDtjb25zdCBfPSEhRS5sZW5ndGg7cmV0dXJuIG9lYDx3M20tbW9kYWwtaGVhZGVyIHRpdGxlPSJDb25uZWN0IHlvdXIgd2FsbGV0IiAub25BY3Rpb249IiR7dGhpcy5vblFyY29kZX0iIC5hY3Rpb25JY29uPSIke05lLlFSQ09ERV9JQ09OfSI+PC93M20tbW9kYWwtaGVhZGVyPiR7Xz9vZWA8dzNtLW1vZGFsLWNvbnRlbnQ+PGRpdj4ke0V9ICR7dj9vZWA8dzNtLXZpZXctYWxsLXdhbGxldHMtYnV0dG9uPjwvdzNtLXZpZXctYWxsLXdhbGxldHMtYnV0dG9uPmA6bnVsbH08L2Rpdj48L3czbS1tb2RhbC1jb250ZW50PmA6bnVsbH1gfX07QWYuc3R5bGVzPVtqZS5nbG9iYWxDc3Msak9dLEFmPWtPKFtSZSgidzNtLW1vYmlsZS13YWxsZXQtc2VsZWN0aW9uIildLEFmKTtjb25zdCBITz1WZWA6aG9zdHthbGw6aW5pdGlhbH0udzNtLW92ZXJsYXl7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDp2YXIoLS13M20tei1pbmRleCk7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjMpO29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfUBtZWRpYShtYXgtaGVpZ2h0OjcyMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnczbS1vdmVybGF5e292ZXJmbG93OnNjcm9sbDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3BhZGRpbmc6MjBweCAwfX0udzNtLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS53M20tY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO21heC13aWR0aDozNjBweDt3aWR0aDoxMDAlO291dGxpbmU6MDtib3JkZXItcmFkaXVzOnZhcigtLXczbS1iYWNrZ3JvdW5kLWJvcmRlci1yYWRpdXMpIHZhcigtLXczbS1iYWNrZ3JvdW5kLWJvcmRlci1yYWRpdXMpIHZhcigtLXczbS1jb250YWluZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tdzNtLWNvbnRhaW5lci1ib3JkZXItcmFkaXVzKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXczbS1jb2xvci1vdmVybGF5KTtvdmVyZmxvdzpoaWRkZW59LnczbS1jYXJke3dpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czp2YXIoLS13M20tY29udGFpbmVyLWJvcmRlci1yYWRpdXMpO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OjAgNnB4IDE0cHggLTZweCByZ2JhKDEwLDE2LDMxLC4xMiksMCAxMHB4IDMycHggLTRweCByZ2JhKDEwLDE2LDMxLC4xKSwwIDAgMCAxcHggdmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tdzNtLWNvbG9yLWJnLTEpO2NvbG9yOnZhcigtLXczbS1jb2xvci1mZy0xKX1AbWVkaWEobWF4LXdpZHRoOjYwMHB4KXsudzNtLWNvbnRhaW5lcnttYXgtd2lkdGg6NDQwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS13M20tYmFja2dyb3VuZC1ib3JkZXItcmFkaXVzKSB2YXIoLS13M20tYmFja2dyb3VuZC1ib3JkZXItcmFkaXVzKSAwIDB9LnczbS1jYXJke2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLWNvbnRhaW5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS13M20tY29udGFpbmVyLWJvcmRlci1yYWRpdXMpIDAgMH0udzNtLW92ZXJsYXl7YWxpZ24taXRlbXM6ZmxleC1lbmR9fUBtZWRpYShtYXgtd2lkdGg6NDQwcHgpey53M20tY29udGFpbmVye2JvcmRlcjowfX1gO3ZhciB6Tz1PYmplY3QuZGVmaW5lUHJvcGVydHksV089T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixTZj0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP1dPKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZ6TyhlLHIsaSksaX07bGV0IFlzPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMub3Blbj0hMSx0aGlzLmFjdGl2ZT0hMSx0aGlzLnVuc3Vic2NyaWJlTW9kYWw9dm9pZCAwLHRoaXMuYWJvcnRDb250cm9sbGVyPXZvaWQgMCx0aGlzLnVuc3Vic2NyaWJlTW9kYWw9TnIuc3Vic2NyaWJlKHQ9Pnt0Lm9wZW4/dGhpcy5vbk9wZW5Nb2RhbEV2ZW50KCk6dGhpcy5vbkNsb3NlTW9kYWxFdmVudCgpfSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgdDsodD10aGlzLnVuc3Vic2NyaWJlTW9kYWwpPT1udWxsfHx0LmNhbGwodGhpcyl9Z2V0IG92ZXJsYXlFbCgpe3JldHVybiB4ZS5nZXRTaGFkb3dSb290RWxlbWVudCh0aGlzLCIudzNtLW92ZXJsYXkiKX1nZXQgY29udGFpbmVyRWwoKXtyZXR1cm4geGUuZ2V0U2hhZG93Um9vdEVsZW1lbnQodGhpcywiLnczbS1jb250YWluZXIiKX10b2dnbGVCb2R5U2Nyb2xsKHQpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJvZHkiKSYmKHQ/ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInczbS1zdHlsZXMiKT8ucmVtb3ZlKCk6ZG9jdW1lbnQuaGVhZC5pbnNlcnRBZGphY2VudEhUTUwoImJlZm9yZWVuZCIsJzxzdHlsZSBpZD0idzNtLXN0eWxlcyI+aHRtbCxib2R5e3RvdWNoLWFjdGlvbjpub25lO292ZXJmbG93OmhpZGRlbjtvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW47fTwvc3R5bGU+JykpfW9uQ2xvc2VNb2RhbCh0KXt0LnRhcmdldD09PXQuY3VycmVudFRhcmdldCYmTnIuY2xvc2UoKX1vbk9wZW5Nb2RhbEV2ZW50KCl7dGhpcy50b2dnbGVCb2R5U2Nyb2xsKCExKSx0aGlzLmFkZEtleWJvYXJkRXZlbnRzKCksdGhpcy5vcGVuPSEwLHNldFRpbWVvdXQoYXN5bmMoKT0+e2NvbnN0IHQ9eGUuaXNNb2JpbGVBbmltYXRpb24oKT97eTpbIjUwdmgiLCIwdmgiXX06e3NjYWxlOlsuOTgsMV19LGU9LjEscj0uMjthd2FpdCBQcm9taXNlLmFsbChbZXModGhpcy5vdmVybGF5RWwse29wYWNpdHk6WzAsMV19LHtkZWxheTplLGR1cmF0aW9uOnJ9KS5maW5pc2hlZCxlcyh0aGlzLmNvbnRhaW5lckVsLHQse2RlbGF5OmUsZHVyYXRpb246cn0pLmZpbmlzaGVkXSksdGhpcy5hY3RpdmU9ITB9LDApfWFzeW5jIG9uQ2xvc2VNb2RhbEV2ZW50KCl7dGhpcy50b2dnbGVCb2R5U2Nyb2xsKCEwKSx0aGlzLnJlbW92ZUtleWJvYXJkRXZlbnRzKCk7Y29uc3QgdD14ZS5pc01vYmlsZUFuaW1hdGlvbigpP3t5OlsiMHZoIiwiNTB2aCJdfTp7c2NhbGU6WzEsLjk4XX0sZT0uMjthd2FpdCBQcm9taXNlLmFsbChbZXModGhpcy5vdmVybGF5RWwse29wYWNpdHk6WzEsMF19LHtkdXJhdGlvbjplfSkuZmluaXNoZWQsZXModGhpcy5jb250YWluZXJFbCx0LHtkdXJhdGlvbjplfSkuZmluaXNoZWRdKSx0aGlzLmNvbnRhaW5lckVsLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKSx0aGlzLmFjdGl2ZT0hMSx0aGlzLm9wZW49ITF9YWRkS2V5Ym9hcmRFdmVudHMoKXt0aGlzLmFib3J0Q29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0PT57dmFyIGU7dC5rZXk9PT0iRXNjYXBlIj9Oci5jbG9zZSgpOnQua2V5PT09IlRhYiImJigoZT10LnRhcmdldCkhPW51bGwmJmUudGFnTmFtZS5pbmNsdWRlcygiVzNNLSIpfHx0aGlzLmNvbnRhaW5lckVsLmZvY3VzKCkpfSx0aGlzLmFib3J0Q29udHJvbGxlciksdGhpcy5jb250YWluZXJFbC5mb2N1cygpfXJlbW92ZUtleWJvYXJkRXZlbnRzKCl7dmFyIHQ7KHQ9dGhpcy5hYm9ydENvbnRyb2xsZXIpPT1udWxsfHx0LmFib3J0KCksdGhpcy5hYm9ydENvbnRyb2xsZXI9dm9pZCAwfW1hbmFnZWRNb2RhbENvbnRleHRUZW1wbGF0ZSgpe2NvbnN0e2lzU3RhbmRhbG9uZTp0fT1EZS5zdGF0ZTtyZXR1cm4gdD9udWxsOm9lYDx3M20td2MtY29ubmVjdGlvbi1jb250ZXh0PjwvdzNtLXdjLWNvbm5lY3Rpb24tY29udGV4dD48dzNtLWFjY291bnQtY29udGV4dD48L3czbS1hY2NvdW50LWNvbnRleHQ+PHczbS1uZXR3b3JrLWNvbnRleHQ+PC93M20tbmV0d29yay1jb250ZXh0PmB9cmVuZGVyKCl7Y29uc3QgdD17InczbS1vdmVybGF5IjohMCwidzNtLWFjdGl2ZSI6dGhpcy5hY3RpdmV9O3JldHVybiBvZWA8dzNtLWV4cGxvcmVyLWNvbnRleHQ+PC93M20tZXhwbG9yZXItY29udGV4dD48dzNtLXRoZW1lLWNvbnRleHQ+PC93M20tdGhlbWUtY29udGV4dD4ke3RoaXMubWFuYWdlZE1vZGFsQ29udGV4dFRlbXBsYXRlKCl9PGRpdiBpZD0idzNtLW1vZGFsIiBjbGFzcz0iJHtMcih0KX0iIEBjbGljaz0iJHt0aGlzLm9uQ2xvc2VNb2RhbH0iIHJvbGU9ImFsZXJ0ZGlhbG9nIiBhcmlhLW1vZGFsPSJ0cnVlIj48ZGl2IGNsYXNzPSJ3M20tY29udGFpbmVyIiB0YWJpbmRleD0iMCI+JHt0aGlzLm9wZW4/b2VgPHczbS1tb2RhbC1iYWNrY2FyZD48L3czbS1tb2RhbC1iYWNrY2FyZD48ZGl2IGNsYXNzPSJ3M20tY2FyZCI+PHczbS1tb2RhbC1yb3V0ZXI+PC93M20tbW9kYWwtcm91dGVyPjx3M20tbW9kYWwtdG9hc3Q+PC93M20tbW9kYWwtdG9hc3Q+PC9kaXY+YDpudWxsfTwvZGl2PjwvZGl2PmB9fTtZcy5zdHlsZXM9W2plLmdsb2JhbENzcyxIT10sU2YoW2d0KCldLFlzLnByb3RvdHlwZSwib3BlbiIsMiksU2YoW2d0KCldLFlzLnByb3RvdHlwZSwiYWN0aXZlIiwyKSxZcz1TZihbUmUoInczbS1tb2RhbCIpXSxZcyk7Y29uc3QgcU89VmVgOmhvc3R7YWxsOmluaXRpYWx9dzNtLW5ldHdvcmstaW1hZ2V7bWFyZ2luLWxlZnQ6LTZweDttYXJnaW4tcmlnaHQ6NnB4O3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHh9YDt2YXIgVk89T2JqZWN0LmRlZmluZVByb3BlcnR5LEtPPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Isa2M9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9LTyhlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmVk8oZSxyLGkpLGl9O2xldCBvcz1jbGFzcyBleHRlbmRzICRle2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmNoYWluSWQ9IiIsdGhpcy5sYWJlbD0iIix0aGlzLndyb25nTmV0d29yaz0hMSx0aGlzLnVuc3Vic2NyaWJlTmV0d29yaz12b2lkIDAseGUucmVqZWN0U3RhbmRhbG9uZUJ1dHRvbkNvbXBvbmVudCgpO2NvbnN0e3NlbGVjdGVkQ2hhaW46dH09RGUuc3RhdGU7dGhpcy5vblNldENoYWluRGF0YSh0KSx0aGlzLnVuc3Vic2NyaWJlTmV0d29yaz1EZS5zdWJzY3JpYmUoKHtzZWxlY3RlZENoYWluOmV9KT0+e3RoaXMub25TZXRDaGFpbkRhdGEoZSl9KX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciB0Oyh0PXRoaXMudW5zdWJzY3JpYmVOZXR3b3JrKT09bnVsbHx8dC5jYWxsKHRoaXMpfW9uU2V0Q2hhaW5EYXRhKHQpe2lmKHQpe2NvbnN0e2NoYWluczplfT1EZS5zdGF0ZSxyPWU/Lm1hcChuPT5uLmlkKTt0aGlzLmNoYWluSWQ9dC5pZC50b1N0cmluZygpLHRoaXMud3JvbmdOZXR3b3JrPSEociE9bnVsbCYmci5pbmNsdWRlcyh0LmlkKSksdGhpcy5sYWJlbD10aGlzLndyb25nTmV0d29yaz8iV3JvbmcgTmV0d29yayI6dC5uYW1lfX1vbkNsaWNrKCl7Z2kuY2xpY2soe25hbWU6Ik5FVFdPUktfQlVUVE9OIn0pLE5yLm9wZW4oe3JvdXRlOiJTZWxlY3ROZXR3b3JrIn0pfXJlbmRlcigpe3ZhciB0O2NvbnN0e2NoYWluczplfT1EZS5zdGF0ZSxyPWUmJmUubGVuZ3RoPjE7cmV0dXJuIG9lYDx3M20tYnV0dG9uLWJpZyBAY2xpY2s9IiR7dGhpcy5vbkNsaWNrfSIgP2Rpc2FibGVkPSIkeyFyfSI+PHczbS1uZXR3b3JrLWltYWdlIGNoYWluSWQ9IiR7dGhpcy5jaGFpbklkfSI+PC93M20tbmV0d29yay1pbWFnZT48dzNtLXRleHQgdmFyaWFudD0ibWVkaXVtLXJlZ3VsYXIiIGNvbG9yPSJpbnZlcnNlIj4keyh0PXRoaXMubGFiZWwpIT1udWxsJiZ0Lmxlbmd0aD90aGlzLmxhYmVsOiJTZWxlY3QgTmV0d29yayJ9PC93M20tdGV4dD48L3czbS1idXR0b24tYmlnPmB9fTtvcy5zdHlsZXM9W2plLmdsb2JhbENzcyxxT10sa2MoW2d0KCldLG9zLnByb3RvdHlwZSwiY2hhaW5JZCIsMiksa2MoW2d0KCldLG9zLnByb3RvdHlwZSwibGFiZWwiLDIpLGtjKFtndCgpXSxvcy5wcm90b3R5cGUsIndyb25nTmV0d29yayIsMiksb3M9a2MoW1JlKCJ3M20tbmV0d29yay1zd2l0Y2giKV0sb3MpO2NvbnN0IEdPPVZlYEBrZXlmcmFtZXMgbG9hZGluZ3t0b3tzdHJva2UtZGFzaG9mZnNldDowfX1Aa2V5ZnJhbWVzIHNoYWtlezEwJSw5MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xcHgsMCwwKX0yMCUsODAle3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxcHgsMCwwKX0zMCUsNTAlLDcwJXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTJweCwwLDApfTQwJSw2MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDJweCwwLDApfX06aG9zdHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcn1kaXZ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTEwcHg7aGVpZ2h0OjExMHB4O2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46NDBweCAwIDIwcHggMDt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfXN2Z3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMTBweDtoZWlnaHQ6MTEwcHg7ZmlsbDpub25lO3N0cm9rZTp0cmFuc3BhcmVudDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2Utd2lkdGg6MXB4O3RvcDowO2xlZnQ6MH11c2V7c3Ryb2tlOnZhcigtLXczbS1hY2NlbnQtY29sb3IpO2FuaW1hdGlvbjpsb2FkaW5nIDFzIGxpbmVhciBpbmZpbml0ZX13M20tbmV0d29yay1pbWFnZXt3aWR0aDo5MnB4O2hlaWdodDo5MnB4fXczbS10ZXh0e21hcmdpbi1ib3R0b206NDBweH0udzNtLWVycm9yIHN2Z3tzdHJva2U6dmFyKC0tdzNtLWVycm9yLWNvbG9yKX0udzNtLWVycm9yIHVzZXtkaXNwbGF5Om5vbmV9LnczbS1lcnJvcnthbmltYXRpb246c2hha2UgLjRzIGN1YmljLWJlemllciguMzYsLjA3LC4xOSwuOTcpIGJvdGh9YDt2YXIgWk89T2JqZWN0LmRlZmluZVByb3BlcnR5LFlPPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsSGM9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9ZTyhlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmWk8oZSxyLGkpLGl9O2xldCBKcz1jbGFzcyBleHRlbmRzICRle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmNoYWluSWQ9dm9pZCAwLHRoaXMuaXNFcnJvcj0hMSx0aGlzLmxhYmVsPSIifXN2Z0xvYWRlclRlbXBsYXRlKCl7cmV0dXJuIG9lYDxzdmcgd2lkdGg9IjU0IiBoZWlnaHQ9IjU5IiB2aWV3Qm94PSIwIDAgNTQgNTkiIGZpbGw9Im5vbmUiIGNsYXNzPSJ3M20tbG9hZGVyIj48cGF0aCBpZD0idzNtLWxvYWRlci1wYXRoIiBkPSJNMTcuMjIgNS4yOTVjMy44NzctMi4yNzcgNS43MzctMy4zNjMgNy43Mi0zLjcyNmExMS40NCAxMS40NCAwIDAgMSA0LjEyIDBjMS45ODMuMzYzIDMuODQ0IDEuNDUgNy43MiAzLjcyNmw2LjA2NSAzLjU2MmMzLjg3NiAyLjI3NiA1LjczMSAzLjM3MiA3LjAzMiA0LjkzOGExMS44OTYgMTEuODk2IDAgMCAxIDIuMDYgMy42M2MuNjgzIDEuOTI4LjY4OCA0LjExLjY4OCA4LjY2M3Y3LjEyNGMwIDQuNTUzLS4wMDUgNi43MzUtLjY4OCA4LjY2NGExMS44OTYgMTEuODk2IDAgMCAxLTIuMDYgMy42M2MtMS4zIDEuNTY1LTMuMTU2IDIuNjYtNy4wMzIgNC45MzdsLTYuMDY1IDMuNTYzYy0zLjg3NyAyLjI3Ni01LjczNyAzLjM2Mi03LjcyIDMuNzI1YTExLjQ2IDExLjQ2IDAgMCAxLTQuMTIgMGMtMS45ODMtLjM2My0zLjg0NC0xLjQ0OS03LjcyLTMuNzI2bC02LjA2NS0zLjU2MmMtMy44NzYtMi4yNzYtNS43MzEtMy4zNzItNy4wMzItNC45MzhhMTEuODg1IDExLjg4NSAwIDAgMS0yLjA2LTMuNjNjLS42ODItMS45MjgtLjY4OC00LjExLS42ODgtOC42NjN2LTcuMTI0YzAtNC41NTMuMDA2LTYuNzM1LjY4OC04LjY2NGExMS44ODUgMTEuODg1IDAgMCAxIDIuMDYtMy42M2MxLjMtMS41NjUgMy4xNTYtMi42NiA3LjAzMi00LjkzN2w2LjA2NS0zLjU2MloiLz48dXNlIHhsaW5rOmhyZWY9IiN3M20tbG9hZGVyLXBhdGgiIHN0cm9rZS1kYXNoYXJyYXk9IjU0IDExOCIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjE3MiI+PC91c2U+PC9zdmc+YH1yZW5kZXIoKXtjb25zdCB0PXsidzNtLWVycm9yIjp0aGlzLmlzRXJyb3J9O3JldHVybiBvZWA8ZGl2IGNsYXNzPSIke0xyKHQpfSI+JHt0aGlzLnN2Z0xvYWRlclRlbXBsYXRlKCl9PHczbS1uZXR3b3JrLWltYWdlIGNoYWluSWQ9IiR7dGhpcy5jaGFpbklkfSI+PC93M20tbmV0d29yay1pbWFnZT48L2Rpdj48dzNtLXRleHQgdmFyaWFudD0ibWVkaXVtLXJlZ3VsYXIiIGNvbG9yPSIke3RoaXMuaXNFcnJvcj8iZXJyb3IiOiJwcmltYXJ5In0iPiR7dGhpcy5pc0Vycm9yPyJTd2l0Y2ggZGVjbGluZWQiOnRoaXMubGFiZWx9PC93M20tdGV4dD5gfX07SnMuc3R5bGVzPVtqZS5nbG9iYWxDc3MsR09dLEhjKFtBZSgpXSxKcy5wcm90b3R5cGUsImNoYWluSWQiLDIpLEhjKFtBZSgpXSxKcy5wcm90b3R5cGUsImlzRXJyb3IiLDIpLEhjKFtBZSgpXSxKcy5wcm90b3R5cGUsImxhYmVsIiwyKSxKcz1IYyhbUmUoInczbS1uZXR3b3JrLXdhaXRpbmciKV0sSnMpO2NvbnN0IEpPPVZlYGRpdntkaXNwbGF5OmZsZXg7bWFyZ2luLXRvcDoxNXB4fXNsb3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjAgNXB4fXczbS1idXR0b257bWFyZ2luOjAgNXB4fWA7dmFyIFhPPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxRTz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGFzPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/UU8oZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJlhPKGUscixpKSxpfTtsZXQgWW49Y2xhc3MgZXh0ZW5kcyAkZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5pc01vYmlsZT0hMSx0aGlzLmlzSW5qZWN0ZWQ9ITEsdGhpcy5pc0luamVjdGVkSW5zdGFsbGVkPSExLHRoaXMuaXNEZXNrdG9wPSExLHRoaXMuaXNXZWI9ITEsdGhpcy5pc1JldHJ5PSExfW9uTW9iaWxlKCl7SWUuaXNNb2JpbGUoKT90dC5yZXBsYWNlKCJNb2JpbGVDb25uZWN0aW5nIik6dHQucmVwbGFjZSgiTW9iaWxlUXJjb2RlQ29ubmVjdGluZyIpfW9uSW5qZWN0ZWQoKXt0aGlzLmlzSW5qZWN0ZWRJbnN0YWxsZWQ/dHQucmVwbGFjZSgiSW5qZWN0ZWRDb25uZWN0aW5nIik6dHQucmVwbGFjZSgiSW5zdGFsbFdhbGxldCIpfW9uRGVza3RvcCgpe3R0LnJlcGxhY2UoIkRlc2t0b3BDb25uZWN0aW5nIil9b25XZWIoKXt0dC5yZXBsYWNlKCJXZWJDb25uZWN0aW5nIil9cmVuZGVyKCl7Y29uc3R7aXNTdGFuZGFsb25lOnR9PURlLnN0YXRlO3JldHVybiBvZWA8ZGl2PiR7dGhpcy5pc1JldHJ5P29lYDxzbG90Pjwvc2xvdD5gOm51bGx9ICR7dGhpcy5pc01vYmlsZT9vZWA8dzNtLWJ1dHRvbiAub25DbGljaz0iJHt0aGlzLm9uTW9iaWxlfSIgLmljb25MZWZ0PSIke05lLk1PQklMRV9JQ09OfSIgdmFyaWFudD0ib3V0bGluZSI+TW9iaWxlPC93M20tYnV0dG9uPmA6bnVsbH0gJHt0aGlzLmlzSW5qZWN0ZWQmJiF0P29lYDx3M20tYnV0dG9uIC5vbkNsaWNrPSIke3RoaXMub25JbmplY3RlZH0iIC5pY29uTGVmdD0iJHtOZS5XQUxMRVRfSUNPTn0iIHZhcmlhbnQ9Im91dGxpbmUiPkJyb3dzZXI8L3czbS1idXR0b24+YDpudWxsfSAke3RoaXMuaXNEZXNrdG9wP29lYDx3M20tYnV0dG9uIC5vbkNsaWNrPSIke3RoaXMub25EZXNrdG9wfSIgLmljb25MZWZ0PSIke05lLkRFU0tUT1BfSUNPTn0iIHZhcmlhbnQ9Im91dGxpbmUiPkRlc2t0b3A8L3czbS1idXR0b24+YDpudWxsfSAke3RoaXMuaXNXZWI/b2VgPHczbS1idXR0b24gLm9uQ2xpY2s9IiR7dGhpcy5vbldlYn0iIC5pY29uTGVmdD0iJHtOZS5HTE9CRV9JQ09OfSIgdmFyaWFudD0ib3V0bGluZSI+V2ViPC93M20tYnV0dG9uPmA6bnVsbH08L2Rpdj5gfX07WW4uc3R5bGVzPVtqZS5nbG9iYWxDc3MsSk9dLGFzKFtBZSgpXSxZbi5wcm90b3R5cGUsImlzTW9iaWxlIiwyKSxhcyhbQWUoKV0sWW4ucHJvdG90eXBlLCJpc0luamVjdGVkIiwyKSxhcyhbQWUoKV0sWW4ucHJvdG90eXBlLCJpc0luamVjdGVkSW5zdGFsbGVkIiwyKSxhcyhbQWUoKV0sWW4ucHJvdG90eXBlLCJpc0Rlc2t0b3AiLDIpLGFzKFtBZSgpXSxZbi5wcm90b3R5cGUsImlzV2ViIiwyKSxhcyhbQWUoKV0sWW4ucHJvdG90eXBlLCJpc1JldHJ5IiwyKSxZbj1hcyhbUmUoInczbS1wbGF0Zm9ybS1zZWxlY3Rpb24iKV0sWW4pO2NvbnN0IGVBPVZlYGJ1dHRvbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6NXB4IDEwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS13M20tYnV0dG9uLWhvdmVyLWhpZ2hsaWdodC1ib3JkZXItcmFkaXVzKTtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0udzNtLWljb25ze3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO3BhZGRpbmc6N3B4O2JvcmRlci1yYWRpdXM6dmFyKC0tdzNtLXdhbGxldC1pY29uLWJvcmRlci1yYWRpdXMpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tYm90dG9tOjVweDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1iZy0yKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9YnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX1AbWVkaWEoaG92ZXI6aG92ZXIpe2J1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXczbS1jb2xvci1vdmVybGF5KX19LnczbS1pY29ucyBpbWd7d2lkdGg6MjFweDtoZWlnaHQ6MjFweDtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpjZW50ZXI7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXczbS13YWxsZXQtaWNvbi1ib3JkZXItcmFkaXVzKS8gMik7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9LnczbS1pY29ucyBzdmd7d2lkdGg6MjFweDtoZWlnaHQ6MjFweH0udzNtLWljb25zIGltZzpudGgtY2hpbGQoMSksLnczbS1pY29ucyBpbWc6bnRoLWNoaWxkKDIpLC53M20taWNvbnMgc3ZnOm50aC1jaGlsZCgxKSwudzNtLWljb25zIHN2ZzpudGgtY2hpbGQoMil7bWFyZ2luLWJvdHRvbTo0cHh9dzNtLXRleHR7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcn0jd2FsbGV0LXBsYWNlaG9sZGVyLWZpbGx7ZmlsbDp2YXIoLS13M20tY29sb3ItYmctMyl9I3dhbGxldC1wbGFjZWhvbGRlci1kYXNoe3N0cm9rZTp2YXIoLS13M20tY29sb3Itb3ZlcmxheSl9YDt2YXIgdEE9T2JqZWN0LmRlZmluZVByb3BlcnR5LHJBPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsbkE9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9yQShlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmdEEoZSxyLGkpLGl9O2xldCBEZj1jbGFzcyBleHRlbmRzICRle29uQ2xpY2soKXt0dC5wdXNoKCJXYWxsZXRFeHBsb3JlciIpfXJlbmRlcigpe2NvbnN0e3JlY29tZW5kZWRXYWxsZXRzOnR9PW5yLnN0YXRlLGU9WHIubWFudWFsV2FsbGV0cygpLHI9Wy4uLnQsLi4uZV0ucmV2ZXJzZSgpLnNsaWNlKDAsNCk7cmV0dXJuIG9lYDxidXR0b24gQGNsaWNrPSIke3RoaXMub25DbGlja30iPjxkaXYgY2xhc3M9InczbS1pY29ucyI+JHtyLm1hcChuPT57Y29uc3QgaT14ZS5nZXRXYWxsZXRJY29uKG4pO2lmKGkpcmV0dXJuIG9lYDxpbWcgc3JjPSIke2l9Ij5gO2NvbnN0IG89eGUuZ2V0V2FsbGV0SWNvbih7aWQ6bi5pZH0pO3JldHVybiBvP29lYDxpbWcgc3JjPSIke299Ij5gOk5lLldBTExFVF9QTEFDRUhPTERFUn0pfSAke1suLi5BcnJheSg0LXIubGVuZ3RoKV0ubWFwKCgpPT5OZS5XQUxMRVRfUExBQ0VIT0xERVIpfTwvZGl2Pjx3M20tdGV4dCB2YXJpYW50PSJ4c21hbGwtcmVndWxhciI+VmlldyBBbGw8L3czbS10ZXh0PjwvYnV0dG9uPmB9fTtEZi5zdHlsZXM9W2plLmdsb2JhbENzcyxlQV0sRGY9bkEoW1JlKCJ3M20tdmlldy1hbGwtd2FsbGV0cy1idXR0b24iKV0sRGYpO2NvbnN0IGlBPVZlYC53M20tcXItY29udGFpbmVye3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2FzcGVjdC1yYXRpbzoxLzF9YDt2YXIgc0E9T2JqZWN0LmRlZmluZVByb3BlcnR5LG9BPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsemM9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9vQShlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmc0EoZSxyLGkpLGl9O2xldCBYcz1jbGFzcyBleHRlbmRzICRle2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLndhbGxldElkPSIiLHRoaXMuaW1hZ2VJZD0iIix0aGlzLnVyaT0iIix0aGlzLnVud2F0Y2hXY0Nvbm5lY3Rpb249dm9pZCAwLHNldFRpbWVvdXQoKCk9Pntjb25zdHtwYWlyaW5nVXJpOnR9PWhyLnN0YXRlLHtzdGFuZGFsb25lVXJpOmV9PURlLnN0YXRlO3RoaXMudXJpPWU/P3R9LDApLHRoaXMudW53YXRjaFdjQ29ubmVjdGlvbj1oci5zdWJzY3JpYmUodD0+e3QucGFpcmluZ1VyaSYmKHRoaXMudXJpPXQucGFpcmluZ1VyaSl9KX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciB0Oyh0PXRoaXMudW53YXRjaFdjQ29ubmVjdGlvbik9PW51bGx8fHQuY2FsbCh0aGlzKX1nZXQgb3ZlcmxheUVsKCl7cmV0dXJuIHhlLmdldFNoYWRvd1Jvb3RFbGVtZW50KHRoaXMsIi53M20tcXItY29udGFpbmVyIil9cmVuZGVyKCl7cmV0dXJuIG9lYDxkaXYgY2xhc3M9InczbS1xci1jb250YWluZXIiPiR7dGhpcy51cmk/b2VgPHczbS1xcmNvZGUgc2l6ZT0iJHt0aGlzLm92ZXJsYXlFbC5vZmZzZXRXaWR0aH0iIHVyaT0iJHt0aGlzLnVyaX0iIHdhbGxldElkPSIke3RoaXMud2FsbGV0SWR9IiBpbWFnZUlkPSIke3RoaXMuaW1hZ2VJZH0iPjwvdzNtLXFyY29kZT5gOm9lYDx3M20tc3Bpbm5lcj48L3czbS1zcGlubmVyPmB9PC9kaXY+YH19O1hzLnN0eWxlcz1bamUuZ2xvYmFsQ3NzLGlBXSx6YyhbQWUoKV0sWHMucHJvdG90eXBlLCJ3YWxsZXRJZCIsMiksemMoW0FlKCldLFhzLnByb3RvdHlwZSwiaW1hZ2VJZCIsMiksemMoW2d0KCldLFhzLnByb3RvdHlwZSwidXJpIiwyKSxYcz16YyhbUmUoInczbS13YWxsZXRjb25uZWN0LXFyIildLFhzKTtjb25zdCBhQT1WZWAudzNtLXByb2ZpbGV7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7cGFkZGluZy10b3A6MjBweH0udzNtLWNvbm5lY3Rpb24tYmFkZ2V7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tY29sb3ItYmctMik7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggdmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpO3BhZGRpbmc6NnB4IDEwcHggNnB4IDI2cHg7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czoyOHB4fS53M20tY29ubmVjdGlvbi1iYWRnZTo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDtsZWZ0OjEwcHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13M20tc3VjY2Vzcy1jb2xvcik7Ym9yZGVyLXJhZGl1czo1MCU7dG9wOjUwJTttYXJnaW4tdG9wOi01cHg7Ym94LXNoYWRvdzowIDFweCA0cHggMXB4IHZhcigtLXczbS1zdWNjZXNzLWNvbG9yKSxpbnNldCAwIDAgMCAxcHggdmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpfS53M20tZm9vdGVye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn13M20tYWRkcmVzcy10ZXh0e21hcmdpbi10b3A6MTBweDtkaXNwbGF5OmJsb2NrfS53M20tYmFsYW5jZXtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS13M20tY29sb3ItYmctMik7cGFkZGluZzoxMXB4IDIwcHh9YDt2YXIgY0E9T2JqZWN0LmRlZmluZVByb3BlcnR5LGxBPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsdUE9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9sQShlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmY0EoZSxyLGkpLGl9O2xldCAkZj1jbGFzcyBleHRlbmRzICRle2FzeW5jIG9uRGlzY29ubmVjdCgpe2F3YWl0IE50LmNsaWVudCgpLmRpc2Nvbm5lY3QoKX1hc3luYyBvbkNvcHlBZGRyZXNzKCl7dmFyIHQ7YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoKHQ9RXQuc3RhdGUuYWRkcmVzcykhPW51bGw/dDoiIiksV3Iub3BlblRvYXN0KCJBZGRyZXNzIGNvcGllZCIsInN1Y2Nlc3MiKX1yZW5kZXIoKXtyZXR1cm4gb2VgPHczbS1tb2RhbC1jb250ZW50PjxkaXYgY2xhc3M9InczbS1wcm9maWxlIj48ZGl2IGNsYXNzPSJ3M20taW5mbyI+PHczbS1hdmF0YXIgc2l6ZT0ibWVkaXVtIj48L3czbS1hdmF0YXI+PHczbS1hZGRyZXNzLXRleHQgdmFyaWFudD0ibW9kYWwiPjwvdzNtLWFkZHJlc3MtdGV4dD48L2Rpdj48ZGl2IGNsYXNzPSJ3M20tY29ubmVjdGlvbi1iYWRnZSI+PHczbS10ZXh0IHZhcmlhbnQ9InNtYWxsLXJlZ3VsYXIiIGNvbG9yPSJzZWNvbmRhcnkiPkNvbm5lY3RlZDwvdzNtLXRleHQ+PC9kaXY+PC9kaXY+PC93M20tbW9kYWwtY29udGVudD48ZGl2IGNsYXNzPSJ3M20tYmFsYW5jZSI+PHczbS1iYWxhbmNlPjwvdzNtLWJhbGFuY2U+PC9kaXY+PHczbS1tb2RhbC1mb290ZXI+PGRpdiBjbGFzcz0idzNtLWZvb3RlciI+PHczbS1hY2NvdW50LW5ldHdvcmstYnV0dG9uPjwvdzNtLWFjY291bnQtbmV0d29yay1idXR0b24+PHczbS1ib3gtYnV0dG9uIGxhYmVsPSJDb3B5IEFkZHJlc3MiIC5vbkNsaWNrPSIke3RoaXMub25Db3B5QWRkcmVzc30iIC5pY29uPSIke05lLkFDQ09VTlRfQ09QWX0iPjwvdzNtLWJveC1idXR0b24+PHczbS1ib3gtYnV0dG9uIGxhYmVsPSJEaXNjb25uZWN0IiAub25DbGljaz0iJHt0aGlzLm9uRGlzY29ubmVjdH0iIC5pY29uPSIke05lLkFDQ09VTlRfRElTQ09OTkVDVH0iPjwvdzNtLWJveC1idXR0b24+PC9kaXY+PC93M20tbW9kYWwtZm9vdGVyPmB9fTskZi5zdHlsZXM9W2plLmdsb2JhbENzcyxhQV0sJGY9dUEoW1JlKCJ3M20tYWNjb3VudC12aWV3IildLCRmKTt2YXIgaEE9T2JqZWN0LmRlZmluZVByb3BlcnR5LGZBPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsZEE9KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9mQShlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmaEEoZSxyLGkpLGl9O2xldCBQZj1jbGFzcyBleHRlbmRzICRle3ZpZXdUZW1wbGF0ZSgpe3JldHVybiBJZS5pc0FuZHJvaWQoKT9vZWA8dzNtLWFuZHJvaWQtd2FsbGV0LXNlbGVjdGlvbj48L3czbS1hbmRyb2lkLXdhbGxldC1zZWxlY3Rpb24+YDpJZS5pc01vYmlsZSgpP29lYDx3M20tbW9iaWxlLXdhbGxldC1zZWxlY3Rpb24+PC93M20tbW9iaWxlLXdhbGxldC1zZWxlY3Rpb24+YDpvZWA8dzNtLWRlc2t0b3Atd2FsbGV0LXNlbGVjdGlvbj48L3czbS1kZXNrdG9wLXdhbGxldC1zZWxlY3Rpb24+YH1yZW5kZXIoKXtyZXR1cm4gb2VgJHt0aGlzLnZpZXdUZW1wbGF0ZSgpfTx3M20tbGVnYWwtbm90aWNlPjwvdzNtLWxlZ2FsLW5vdGljZT5gfX07UGYuc3R5bGVzPVtqZS5nbG9iYWxDc3NdLFBmPWRBKFtSZSgidzNtLWNvbm5lY3Qtd2FsbGV0LXZpZXciKV0sUGYpO2NvbnN0IHBBPVZlYHczbS1pbmZvLWZvb3RlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlO3BhZGRpbmc6NXB4IDB9dzNtLXRleHR7dGV4dC1hbGlnbjpjZW50ZXJ9YDt2YXIgZ0E9T2JqZWN0LmRlZmluZVByb3BlcnR5LG1BPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsY209KHQsZSxyLG4pPT57Zm9yKHZhciBpPW4+MT92b2lkIDA6bj9tQShlLHIpOmUsbz10Lmxlbmd0aC0xLGM7bz49MDtvLS0pKGM9dFtvXSkmJihpPShuP2MoZSxyLGkpOmMoaSkpfHxpKTtyZXR1cm4gbiYmaSYmZ0EoZSxyLGkpLGl9O2xldCBXYz1jbGFzcyBleHRlbmRzICRle2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmlzRXJyb3I9ITEsdGhpcy51bndhdGNoQ29ubmVjdGlvbj12b2lkIDAsdGhpcy5vcGVuRGVza3RvcEFwcCgpLHRoaXMudW53YXRjaENvbm5lY3Rpb249aHIuc3Vic2NyaWJlKHQ9Pnt0aGlzLmlzRXJyb3I9dC5wYWlyaW5nRXJyb3J9KX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciB0Oyh0PXRoaXMudW53YXRjaENvbm5lY3Rpb24pPT1udWxsfHx0LmNhbGwodGhpcyl9b25Gb3JtYXRBbmRSZWRpcmVjdCh0KXtjb25zdHtkZXNrdG9wOmUsbmFtZTpyfT1JZS5nZXRXYWxsZXRSb3V0ZXJEYXRhKCksbj1lPy5uYXRpdmU7aWYobil7Y29uc3QgaT1JZS5mb3JtYXROYXRpdmVVcmwobix0LHIpO0llLm9wZW5IcmVmKGksIl9zZWxmIil9fW9wZW5EZXNrdG9wQXBwKCl7aHIuc2V0UGFpcmluZ0Vycm9yKCExKTtjb25zdHtzdGFuZGFsb25lVXJpOnR9PURlLnN0YXRlLHtwYWlyaW5nVXJpOmV9PWhyLnN0YXRlLHI9SWUuZ2V0V2FsbGV0Um91dGVyRGF0YSgpO3hlLnNldFJlY2VudFdhbGxldChyKSx0P3RoaXMub25Gb3JtYXRBbmRSZWRpcmVjdCh0KTp0aGlzLm9uRm9ybWF0QW5kUmVkaXJlY3QoZSl9cmVuZGVyKCl7Y29uc3R7bmFtZTp0LGlkOmUsaW1hZ2VfaWQ6cn09SWUuZ2V0V2FsbGV0Um91dGVyRGF0YSgpLHtpc01vYmlsZTpuLGlzSW5qZWN0ZWQ6aSxpc1dlYjpvfT14ZS5nZXRDYWNoZWRSb3V0ZXJXYWxsZXRQbGF0Zm9ybXMoKTtyZXR1cm4gb2VgPHczbS1tb2RhbC1oZWFkZXIgdGl0bGU9IiR7dH0iIC5vbkFjdGlvbj0iJHt4ZS5oYW5kbGVVcmlDb3B5fSIgLmFjdGlvbkljb249IiR7TmUuQ09QWV9JQ09OfSI+PC93M20tbW9kYWwtaGVhZGVyPjx3M20tbW9kYWwtY29udGVudD48dzNtLWNvbm5lY3Rvci13YWl0aW5nIHdhbGxldElkPSIke2V9IiBpbWFnZUlkPSIke3J9IiBsYWJlbD0iJHtgQ29udGludWUgaW4gJHt0fS4uLmB9IiAuaXNFcnJvcj0iJHt0aGlzLmlzRXJyb3J9Ij48L3czbS1jb25uZWN0b3Itd2FpdGluZz48L3czbS1tb2RhbC1jb250ZW50Pjx3M20taW5mby1mb290ZXI+PHczbS10ZXh0IGNvbG9yPSJzZWNvbmRhcnkiIHZhcmlhbnQ9InNtYWxsLXRoaW4iPiR7YENvbm5lY3Rpb24gY2FuIGNvbnRpbnVlIGxvYWRpbmcgaWYgJHt0fSBpcyBub3QgaW5zdGFsbGVkIG9uIHlvdXIgZGV2aWNlYH08L3czbS10ZXh0Pjx3M20tcGxhdGZvcm0tc2VsZWN0aW9uIC5pc01vYmlsZT0iJHtufSIgLmlzSW5qZWN0ZWQ9IiR7aX0iIC5pc1dlYj0iJHtvfSIgLmlzUmV0cnk9IiR7ITB9Ij48dzNtLWJ1dHRvbiAub25DbGljaz0iJHt0aGlzLm9wZW5EZXNrdG9wQXBwLmJpbmQodGhpcyl9IiAuaWNvblJpZ2h0PSIke05lLlJFVFJZX0lDT059Ij5SZXRyeTwvdzNtLWJ1dHRvbj48L3czbS1wbGF0Zm9ybS1zZWxlY3Rpb24+PC93M20taW5mby1mb290ZXI+YH19O1djLnN0eWxlcz1bamUuZ2xvYmFsQ3NzLHBBXSxjbShbZ3QoKV0sV2MucHJvdG90eXBlLCJpc0Vycm9yIiwyKSxXYz1jbShbUmUoInczbS1kZXNrdG9wLWNvbm5lY3RpbmctdmlldyIpXSxXYyk7Y29uc3Qgd0E9VmVgLnczbS1pbmZvLXRleHR7bWFyZ2luOjVweCAwIDE1cHg7bWF4LXdpZHRoOjMyMHB4O3RleHQtYWxpZ246Y2VudGVyfS53M20td2FsbGV0LWl0ZW17bWFyZ2luOjAgLTIwcHggMCAwO3BhZGRpbmctcmlnaHQ6MjBweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLXczbS1jb2xvci1iZy0yKX0udzNtLXdhbGxldC1pdGVtOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTotMjBweDtib3JkZXItYm90dG9tOjB9LnczbS13YWxsZXQtY29udGVudHttYXJnaW4tbGVmdDoyMHB4O2hlaWdodDo2MHB4O2Rpc3BsYXk6ZmxleDtmbGV4OjE7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS53M20tZm9vdGVyLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoyMHB4IDA7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tdzNtLWNvbG9yLWJnLTIpfXczbS13YWxsZXQtaW1hZ2V7ZGlzcGxheTpibG9jazt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2JvcmRlci1yYWRpdXM6MTBweH1gO3ZhciB2QT1PYmplY3QuZGVmaW5lUHJvcGVydHkseUE9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixiQT0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP3lBKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZ2QShlLHIsaSksaX07bGV0IFRmPWNsYXNzIGV4dGVuZHMgJGV7b25HZXQodCl7SWUub3BlbkhyZWYodCwiX2JsYW5rIil9cmVuZGVyKCl7Y29uc3QgdD1uci5zdGF0ZS5yZWNvbWVuZGVkV2FsbGV0cy5zbGljZSgwLDUpLGU9WHIubWFudWFsV2FsbGV0cygpLnNsaWNlKDAsNSkscj10Lmxlbmd0aCxuPWUubGVuZ3RoO3JldHVybiBvZWA8dzNtLW1vZGFsLWhlYWRlciB0aXRsZT0iR2V0IGEgd2FsbGV0Ij48L3czbS1tb2RhbC1oZWFkZXI+PHczbS1tb2RhbC1jb250ZW50PiR7cj90Lm1hcChpPT5vZWA8ZGl2IGNsYXNzPSJ3M20td2FsbGV0LWl0ZW0iPjx3M20td2FsbGV0LWltYWdlIHdhbGxldElkPSIke2kuaWR9IiBpbWFnZUlkPSIke2kuaW1hZ2VfaWR9Ij48L3czbS13YWxsZXQtaW1hZ2U+PGRpdiBjbGFzcz0idzNtLXdhbGxldC1jb250ZW50Ij48dzNtLXRleHQgdmFyaWFudD0ibWVkaXVtLXJlZ3VsYXIiPiR7aS5uYW1lfTwvdzNtLXRleHQ+PHczbS1idXR0b24gLmljb25SaWdodD0iJHtOZS5BUlJPV19SSUdIVF9JQ09OfSIgLm9uQ2xpY2s9IiR7KCk9PnRoaXMub25HZXQoaS5ob21lcGFnZSl9Ij5HZXQ8L3czbS1idXR0b24+PC9kaXY+PC9kaXY+YCk6bnVsbH0gJHtuP2UubWFwKGk9Pm9lYDxkaXYgY2xhc3M9InczbS13YWxsZXQtaXRlbSI+PHczbS13YWxsZXQtaW1hZ2Ugd2FsbGV0SWQ9IiR7aS5pZH0iPjwvdzNtLXdhbGxldC1pbWFnZT48ZGl2IGNsYXNzPSJ3M20td2FsbGV0LWNvbnRlbnQiPjx3M20tdGV4dCB2YXJpYW50PSJtZWRpdW0tcmVndWxhciI+JHtpLm5hbWV9PC93M20tdGV4dD48dzNtLWJ1dHRvbiAuaWNvblJpZ2h0PSIke05lLkFSUk9XX1JJR0hUX0lDT059IiAub25DbGljaz0iJHsoKT0+dGhpcy5vbkdldChpLmxpbmtzLnVuaXZlcnNhbCl9Ij5HZXQ8L3czbS1idXR0b24+PC9kaXY+PC9kaXY+YCk6bnVsbH08L3czbS1tb2RhbC1jb250ZW50PjxkaXYgY2xhc3M9InczbS1mb290ZXItYWN0aW9ucyI+PHczbS10ZXh0IHZhcmlhbnQ9Im1lZGl1bS1yZWd1bGFyIj5Ob3Qgd2hhdCB5b3UncmUgbG9va2luZyBmb3I/PC93M20tdGV4dD48dzNtLXRleHQgdmFyaWFudD0ic21hbGwtdGhpbiIgY29sb3I9InNlY29uZGFyeSIgY2xhc3M9InczbS1pbmZvLXRleHQiPldpdGggaHVuZHJlZHMgb2Ygd2FsbGV0cyBvdXQgdGhlcmUsIHRoZXJlJ3Mgc29tZXRoaW5nIGZvciBldmVyeW9uZTwvdzNtLXRleHQ+PHczbS1idXR0b24gLm9uQ2xpY2s9IiR7eGUub3BlbldhbGxldEV4cGxvcmVyVXJsfSIgLmljb25SaWdodD0iJHtOZS5BUlJPV19VUF9SSUdIVF9JQ09OfSI+RXhwbG9yZSBXYWxsZXRzPC93M20tYnV0dG9uPjwvZGl2PmB9fTtUZi5zdHlsZXM9W2plLmdsb2JhbENzcyx3QV0sVGY9YkEoW1JlKCJ3M20tZ2V0LXdhbGxldC12aWV3IildLFRmKTtjb25zdCBfQT1WZWAudzNtLWZvb3Rlci1hY3Rpb25ze2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS53M20tZm9vdGVyLWFjdGlvbnMgdzNtLWJ1dHRvbnttYXJnaW46MCA1cHh9LnczbS1pbmZvLWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1ib3R0b206MjBweH0udzNtLWluZm8tY29udGFpbmVyOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS53M20taW5mby10ZXh0e21hcmdpbi10b3A6NXB4O3RleHQtYWxpZ246Y2VudGVyfS53M20taW1hZ2VzIHN2Z3ttYXJnaW46MCAycHggNXB4O3dpZHRoOjU1cHg7aGVpZ2h0OjU1cHh9LmhlbHAtaW1nLWhpZ2hsaWdodHtzdHJva2U6dmFyKC0tdzNtLWNvbG9yLW92ZXJsYXkpfWA7dmFyIEVBPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSx4QT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLENBPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/eEEoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJkVBKGUscixpKSxpfTtsZXQgUmY9Y2xhc3MgZXh0ZW5kcyAkZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5sZWFyblVybD0iaHR0cHM6Ly9ldGhlcmV1bS5vcmcvZW4vd2FsbGV0cy8ifW9uR2V0KCl7anQuc3RhdGUuZW5hYmxlRXhwbG9yZXI/dHQucHVzaCgiR2V0V2FsbGV0Iik6eGUub3BlbldhbGxldEV4cGxvcmVyVXJsKCl9b25MZWFybk1vcmUoKXtJZS5vcGVuSHJlZih0aGlzLmxlYXJuVXJsLCJfYmxhbmsiKX1yZW5kZXIoKXtyZXR1cm4gb2VgPHczbS1tb2RhbC1oZWFkZXIgdGl0bGU9IldoYXQgaXMgYSB3YWxsZXQ/Ij48L3czbS1tb2RhbC1oZWFkZXI+PHczbS1tb2RhbC1jb250ZW50PjxkaXYgY2xhc3M9InczbS1pbmZvLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idzNtLWltYWdlcyI+JHtOZS5IRUxQX0NIQVJUX0lNR30gJHtOZS5IRUxQX1BBSU5USU5HX0lNR30gJHtOZS5IRUxQX0VUSF9JTUd9PC9kaXY+PHczbS10ZXh0IHZhcmlhbnQ9Im1lZGl1bS1yZWd1bGFyIj5BIGhvbWUgZm9yIHlvdXIgZGlnaXRhbCBhc3NldHM8L3czbS10ZXh0Pjx3M20tdGV4dCB2YXJpYW50PSJzbWFsbC10aGluIiBjb2xvcj0ic2Vjb25kYXJ5IiBjbGFzcz0idzNtLWluZm8tdGV4dCI+QSB3YWxsZXQgbGV0cyB5b3Ugc3RvcmUsIHNlbmQgYW5kIHJlY2VpdmUgZGlnaXRhbCBhc3NldHMgbGlrZSBjcnlwdG9jdXJyZW5jaWVzIGFuZCBORlRzLjwvdzNtLXRleHQ+PC9kaXY+PGRpdiBjbGFzcz0idzNtLWluZm8tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ3M20taW1hZ2VzIj4ke05lLkhFTFBfS0VZX0lNR30gJHtOZS5IRUxQX1VTRVJfSU1HfSAke05lLkhFTFBfTE9DS19JTUd9PC9kaXY+PHczbS10ZXh0IHZhcmlhbnQ9Im1lZGl1bS1yZWd1bGFyIj5PbmUgbG9naW4gZm9yIGFsbCBvZiB3ZWIzPC93M20tdGV4dD48dzNtLXRleHQgdmFyaWFudD0ic21hbGwtdGhpbiIgY29sb3I9InNlY29uZGFyeSIgY2xhc3M9InczbS1pbmZvLXRleHQiPkxvZyBpbiB0byBhbnkgYXBwIGJ5IGNvbm5lY3RpbmcgeW91ciB3YWxsZXQuIFNheSBnb29kYnllIHRvIGNvdW50bGVzcyBwYXNzd29yZHMhPC93M20tdGV4dD48L2Rpdj48ZGl2IGNsYXNzPSJ3M20taW5mby1jb250YWluZXIiPjxkaXYgY2xhc3M9InczbS1pbWFnZXMiPiR7TmUuSEVMUF9DT01QQVNfSU1HfSAke05lLkhFTFBfTk9VTl9JTUd9ICR7TmUuSEVMUF9EQU9fSU1HfTwvZGl2Pjx3M20tdGV4dCB2YXJpYW50PSJtZWRpdW0tcmVndWxhciI+WW91ciBnYXRld2F5IHRvIGEgbmV3IHdlYjwvdzNtLXRleHQ+PHczbS10ZXh0IHZhcmlhbnQ9InNtYWxsLXRoaW4iIGNvbG9yPSJzZWNvbmRhcnkiIGNsYXNzPSJ3M20taW5mby10ZXh0Ij5XaXRoIHlvdXIgd2FsbGV0LCB5b3UgY2FuIGV4cGxvcmUgYW5kIGludGVyYWN0IHdpdGggRGVGaSwgTkZUcywgREFPcywgYW5kIG11Y2ggbW9yZS48L3czbS10ZXh0PjwvZGl2PjxkaXYgY2xhc3M9InczbS1mb290ZXItYWN0aW9ucyI+PHczbS1idXR0b24gLm9uQ2xpY2s9IiR7dGhpcy5vbkdldC5iaW5kKHRoaXMpfSIgLmljb25MZWZ0PSIke05lLldBTExFVF9JQ09OfSI+R2V0IGEgV2FsbGV0PC93M20tYnV0dG9uPjx3M20tYnV0dG9uIC5vbkNsaWNrPSIke3RoaXMub25MZWFybk1vcmUuYmluZCh0aGlzKX0iIC5pY29uUmlnaHQ9IiR7TmUuQVJST1dfVVBfUklHSFRfSUNPTn0iPkxlYXJuIE1vcmU8L3czbS1idXR0b24+PC9kaXY+PC93M20tbW9kYWwtY29udGVudD5gfX07UmYuc3R5bGVzPVtqZS5nbG9iYWxDc3MsX0FdLFJmPUNBKFtSZSgidzNtLWhlbHAtdmlldyIpXSxSZik7Y29uc3QgSUE9VmVgdzNtLWluZm8tZm9vdGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7cGFkZGluZzo1cHggMH13M20tdGV4dHt0ZXh0LWFsaWduOmNlbnRlcn1gO3ZhciBPQT1PYmplY3QuZGVmaW5lUHJvcGVydHksQUE9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixsbT0odCxlLHIsbik9Pntmb3IodmFyIGk9bj4xP3ZvaWQgMDpuP0FBKGUscik6ZSxvPXQubGVuZ3RoLTEsYztvPj0wO28tLSkoYz10W29dKSYmKGk9KG4/YyhlLHIsaSk6YyhpKSl8fGkpO3JldHVybiBuJiZpJiZPQShlLHIsaSksaX07bGV0IHFjPWNsYXNzIGV4dGVuZHMgJGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuaXNFcnJvcj0hMSx0aGlzLmNvbm5lY3Rvcj1OdC5jbGllbnQoKS5nZXRDb25uZWN0b3JCeUlkKCJpbmplY3RlZCIpLHRoaXMub3BlbkluamVjdGVkQXBwKCl9YXN5bmMgb3BlbkluamVjdGVkQXBwKCl7Y29uc3R7cmVhZHk6dH09dGhpcy5jb25uZWN0b3I7dCYmKHRoaXMuaXNFcnJvcj0hMSxhd2FpdCB4ZS5oYW5kbGVDb25uZWN0b3JDb25uZWN0aW9uKCJpbmplY3RlZCIsKCk9Pnt0aGlzLmlzRXJyb3I9ITB9KSl9cmVuZGVyKCl7Y29uc3R7bmFtZTp0LGlkOmUsaW1hZ2VfaWQ6cn09SWUuZ2V0V2FsbGV0Um91dGVyRGF0YSgpLHtpc01vYmlsZTpuLGlzRGVza3RvcDppLGlzV2ViOm99PXhlLmdldENhY2hlZFJvdXRlcldhbGxldFBsYXRmb3JtcygpO3JldHVybiBvZWA8dzNtLW1vZGFsLWhlYWRlciB0aXRsZT0iJHt0fSI+PC93M20tbW9kYWwtaGVhZGVyPjx3M20tbW9kYWwtY29udGVudD48dzNtLWNvbm5lY3Rvci13YWl0aW5nIHdhbGxldElkPSIke2V9IiBpbWFnZUlkPSIke3J9IiBsYWJlbD0iJHtgQ29udGludWUgaW4gJHt0fS4uLmB9IiAuaXNFcnJvcj0iJHt0aGlzLmlzRXJyb3J9Ij48L3czbS1jb25uZWN0b3Itd2FpdGluZz48L3czbS1tb2RhbC1jb250ZW50Pjx3M20taW5mby1mb290ZXI+PHczbS10ZXh0IGNvbG9yPSJzZWNvbmRhcnkiIHZhcmlhbnQ9InNtYWxsLXRoaW4iPkNvbm5lY3Rpb24gY2FuIGJlIGRlY2xpbmVkIGlmIG11bHRpcGxlIHdhbGxldHMgYXJlIGluc3RhbGxlZCBvciBwcmV2aW91cyByZXF1ZXN0IGlzIHN0aWxsIGFjdGl2ZTwvdzNtLXRleHQ+PHczbS1wbGF0Zm9ybS1zZWxlY3Rpb24gLmlzTW9iaWxlPSIke259IiAuaXNEZXNrdG9wPSIke2l9IiAuaXNXZWI9IiR7b30iIC5pc1JldHJ5PSIkeyEwfSI+PHczbS1idXR0b24gLm9uQ2xpY2s9IiR7dGhpcy5vcGVuSW5qZWN0ZWRBcHAuYmluZCh0aGlzKX0iIC5kaXNhYmxlZD0iJHshdGhpcy5pc0Vycm9yfSIgLmljb25SaWdodD0iJHtOZS5SRVRSWV9JQ09OfSI+UmV0cnk8L3czbS1idXR0b24+PC93M20tcGxhdGZvcm0tc2VsZWN0aW9uPjwvdzNtLWluZm8tZm9vdGVyPmB9fTtxYy5zdHlsZXM9W2plLmdsb2JhbENzcyxJQV0sbG0oW2d0KCldLHFjLnByb3RvdHlwZSwiaXNFcnJvciIsMikscWM9bG0oW1JlKCJ3M20taW5qZWN0ZWQtY29ubmVjdGluZy12aWV3IildLHFjKTtjb25zdCBTQT1WZWB3M20taW5mby1mb290ZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJTtwYWRkaW5nOjVweCAwfXczbS10ZXh0e3RleHQtYWxpZ246Y2VudGVyfXczbS1idXR0b257bWFyZ2luLXRvcDoxNXB4fWA7dmFyIERBPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSwkQT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLFBBPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/JEEoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJkRBKGUscixpKSxpfTtsZXQgTmY9Y2xhc3MgZXh0ZW5kcyAkZXtvbkluc3RhbGwodCl7dCYmSWUub3BlbkhyZWYodCwiX2JsYW5rIil9cmVuZGVyKCl7Y29uc3R7bmFtZTp0LGlkOmUsaW1hZ2VfaWQ6cixob21lcGFnZTpufT1JZS5nZXRXYWxsZXRSb3V0ZXJEYXRhKCk7cmV0dXJuIG9lYDx3M20tbW9kYWwtaGVhZGVyIHRpdGxlPSIke3R9Ij48L3czbS1tb2RhbC1oZWFkZXI+PHczbS1tb2RhbC1jb250ZW50Pjx3M20tY29ubmVjdG9yLXdhaXRpbmcgd2FsbGV0SWQ9IiR7ZX0iIGltYWdlSWQ9IiR7cn0iIGxhYmVsPSJOb3QgRGV0ZWN0ZWQiIC5pc1N0YWxlPSIkeyEwfSI+PC93M20tY29ubmVjdG9yLXdhaXRpbmc+PC93M20tbW9kYWwtY29udGVudD48dzNtLWluZm8tZm9vdGVyPjx3M20tdGV4dCBjb2xvcj0ic2Vjb25kYXJ5IiB2YXJpYW50PSJzbWFsbC10aGluIj4ke2BEb3dubG9hZCAke3R9IHRvIGNvbnRpbnVlLiBJZiBtdWx0aXBsZSBicm93c2VyIGV4dGVuc2lvbnMgYXJlIGluc3RhbGxlZCwgZGlzYWJsZSBub24gJHt0fSBvbmVzIGFuZCB0cnkgYWdhaW5gfTwvdzNtLXRleHQ+PHczbS1idXR0b24gLm9uQ2xpY2s9IiR7KCk9PnRoaXMub25JbnN0YWxsKG4pfSIgLmljb25MZWZ0PSIke05lLkFSUk9XX0RPV05fSUNPTn0iPkRvd25sb2FkPC93M20tYnV0dG9uPjwvdzNtLWluZm8tZm9vdGVyPmB9fTtOZi5zdHlsZXM9W2plLmdsb2JhbENzcyxTQV0sTmY9UEEoW1JlKCJ3M20taW5zdGFsbC13YWxsZXQtdmlldyIpXSxOZik7Y29uc3QgVEE9VmVgdzNtLXdhbGxldC1pbWFnZXtib3JkZXItcmFkaXVzOnZhcigtLXczbS13YWxsZXQtaWNvbi1sYXJnZS1ib3JkZXItcmFkaXVzKTt3aWR0aDo5NnB4O2hlaWdodDo5NnB4O21hcmdpbi1ib3R0b206MjBweH13M20taW5mby1mb290ZXJ7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCV9LnczbS1hcHAtc3RvcmV7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnczbS1hcHAtc3RvcmUgdzNtLXdhbGxldC1pbWFnZXttYXJnaW4tcmlnaHQ6MTBweDttYXJnaW4tYm90dG9tOjA7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtib3JkZXItcmFkaXVzOnZhcigtLXczbS13YWxsZXQtaWNvbi1zbWFsbC1ib3JkZXItcmFkaXVzKX0udzNtLWFwcC1zdG9yZSBkaXZ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0udzNtLWFwcC1zdG9yZSB3M20tYnV0dG9ue21hcmdpbi1yaWdodDotMTBweH0udzNtLW5vdGV7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjVweCAwfS53M20tbm90ZSB3M20tdGV4dHt0ZXh0LWFsaWduOmNlbnRlcn13M20tcGxhdGZvcm0tc2VsZWN0aW9uIGRpdntkaXNwbGF5OmZsZXh9dzNtLXBsYXRmb3JtLXNlbGVjdGlvbiB3M20tYnV0dG9uOm50aC1jaGlsZCgyKXttYXJnaW4tbGVmdDoxMHB4fWA7dmFyIFJBPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxOQT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHVtPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/TkEoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJlJBKGUscixpKSxpfTtsZXQgVmM9Y2xhc3MgZXh0ZW5kcyAkZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5pc0Vycm9yPSExLHRoaXMudW53YXRjaENvbm5lY3Rpb249dm9pZCAwLHRoaXMub3Blbk1vYmlsZUFwcCgpLHRoaXMudW53YXRjaENvbm5lY3Rpb249aHIuc3Vic2NyaWJlKHQ9Pnt0aGlzLmlzRXJyb3I9dC5wYWlyaW5nRXJyb3J9KX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciB0Oyh0PXRoaXMudW53YXRjaENvbm5lY3Rpb24pPT1udWxsfHx0LmNhbGwodGhpcyl9b25Gb3JtYXRBbmRSZWRpcmVjdCh0LGU9ITEpe2NvbnN0e21vYmlsZTpyLG5hbWU6bn09SWUuZ2V0V2FsbGV0Um91dGVyRGF0YSgpLGk9cj8ubmF0aXZlLG89cj8udW5pdmVyc2FsO2lmKGkmJiFlKXtjb25zdCBjPUllLmZvcm1hdE5hdGl2ZVVybChpLHQsbik7SWUub3BlbkhyZWYoYywiX3NlbGYiKX1lbHNlIGlmKG8pe2NvbnN0IGM9SWUuZm9ybWF0VW5pdmVyc2FsVXJsKG8sdCxuKTtJZS5vcGVuSHJlZihjLCJfc2VsZiIpfX1vcGVuTW9iaWxlQXBwKHQ9ITEpe2hyLnNldFBhaXJpbmdFcnJvcighMSk7Y29uc3R7c3RhbmRhbG9uZVVyaTplfT1EZS5zdGF0ZSx7cGFpcmluZ1VyaTpyfT1oci5zdGF0ZSxuPUllLmdldFdhbGxldFJvdXRlckRhdGEoKTt4ZS5zZXRSZWNlbnRXYWxsZXQobiksZT90aGlzLm9uRm9ybWF0QW5kUmVkaXJlY3QoZSx0KTp0aGlzLm9uRm9ybWF0QW5kUmVkaXJlY3Qocix0KX1vbkdvVG9BcHBTdG9yZSh0KXt0JiZJZS5vcGVuSHJlZih0LCJfYmxhbmsiKX1yZW5kZXIoKXtjb25zdHtuYW1lOnQsaWQ6ZSxpbWFnZV9pZDpyLGFwcDpuLG1vYmlsZTppfT1JZS5nZXRXYWxsZXRSb3V0ZXJEYXRhKCkse2lzV2ViOm99PXhlLmdldENhY2hlZFJvdXRlcldhbGxldFBsYXRmb3JtcygpLGM9bj8uaW9zLGw9aT8udW5pdmVyc2FsO3JldHVybiBvZWA8dzNtLW1vZGFsLWhlYWRlciB0aXRsZT0iJHt0fSI+PC93M20tbW9kYWwtaGVhZGVyPjx3M20tbW9kYWwtY29udGVudD48dzNtLWNvbm5lY3Rvci13YWl0aW5nIHdhbGxldElkPSIke2V9IiBpbWFnZUlkPSIke3J9IiBsYWJlbD0iVGFwICdPcGVuJyB0byBjb250aW51ZeKApiIgLmlzRXJyb3I9IiR7dGhpcy5pc0Vycm9yfSI+PC93M20tY29ubmVjdG9yLXdhaXRpbmc+PC93M20tbW9kYWwtY29udGVudD48dzNtLWluZm8tZm9vdGVyIGNsYXNzPSJ3M20tbm90ZSI+PHczbS10ZXh0IGNvbG9yPSJzZWNvbmRhcnkiIHZhcmlhbnQ9InNtYWxsLXRoaW4iPllvdSBjYW4gcmVsb2FkIHRoZSB3ZWJzaXRlIHRvIHRyeSBhZ2FpbiAke2w/YCBvciBvcGVuICR7dH0gdXNpbmcgYSAiQmFja3VwIiBpbnN0ZWFkYDoiIn08L3czbS10ZXh0Pjx3M20tcGxhdGZvcm0tc2VsZWN0aW9uIC5pc1dlYj0iJHtvfSIgLmlzUmV0cnk9IiR7ITB9Ij48ZGl2Pjx3M20tYnV0dG9uIC5vbkNsaWNrPSIkeygpPT50aGlzLm9wZW5Nb2JpbGVBcHAoITEpfSIgLmljb25SaWdodD0iJHtOZS5SRVRSWV9JQ09OfSI+UmV0cnk8L3czbS1idXR0b24+JHtsP29lYDx3M20tYnV0dG9uIHZhcmlhbnQ9Im91dGxpbmUiIC5vbkNsaWNrPSIkeygpPT50aGlzLm9wZW5Nb2JpbGVBcHAoITApfSIgLmljb25SaWdodD0iJHtOZS5BUlJPV19VUF9SSUdIVF9JQ09OfSI+QmFja3VwPC93M20tYnV0dG9uPmA6bnVsbH08L2Rpdj48L3czbS1wbGF0Zm9ybS1zZWxlY3Rpb24+PC93M20taW5mby1mb290ZXI+PHczbS1pbmZvLWZvb3RlciBjbGFzcz0idzNtLWFwcC1zdG9yZSI+PGRpdj48dzNtLXdhbGxldC1pbWFnZSB3YWxsZXRJZD0iJHtlfSIgaW1hZ2VJZD0iJHtyfSI+PC93M20td2FsbGV0LWltYWdlPjx3M20tdGV4dD4ke2BHZXQgJHt0fWB9PC93M20tdGV4dD48L2Rpdj48dzNtLWJ1dHRvbiAuaWNvblJpZ2h0PSIke05lLkFSUk9XX1JJR0hUX0lDT059IiAub25DbGljaz0iJHsoKT0+dGhpcy5vbkdvVG9BcHBTdG9yZShjKX0iIHZhcmlhbnQ9Imdob3N0Ij5BcHAgU3RvcmU8L3czbS1idXR0b24+PC93M20taW5mby1mb290ZXI+YH19O1ZjLnN0eWxlcz1bamUuZ2xvYmFsQ3NzLFRBXSx1bShbZ3QoKV0sVmMucHJvdG90eXBlLCJpc0Vycm9yIiwyKSxWYz11bShbUmUoInczbS1tb2JpbGUtY29ubmVjdGluZy12aWV3IildLFZjKTtjb25zdCBMQT1WZWB3M20taW5mby1mb290ZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJTtwYWRkaW5nOjVweCAwfXczbS10ZXh0e3RleHQtYWxpZ246Y2VudGVyfWA7dmFyIE1BPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxVQT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGpBPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/VUEoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJk1BKGUscixpKSxpfTtsZXQgTGY9Y2xhc3MgZXh0ZW5kcyAkZXtyZW5kZXIoKXtjb25zdHtuYW1lOnQsaWQ6ZSxpbWFnZV9pZDpyfT1JZS5nZXRXYWxsZXRSb3V0ZXJEYXRhKCkse2lzSW5qZWN0ZWQ6bixpc0Rlc2t0b3A6aSxpc1dlYjpvfT14ZS5nZXRDYWNoZWRSb3V0ZXJXYWxsZXRQbGF0Zm9ybXMoKTtyZXR1cm4gb2VgPHczbS1tb2RhbC1oZWFkZXIgdGl0bGU9IiR7dH0iIC5vbkFjdGlvbj0iJHt4ZS5oYW5kbGVVcmlDb3B5fSIgLmFjdGlvbkljb249IiR7TmUuQ09QWV9JQ09OfSI+PC93M20tbW9kYWwtaGVhZGVyPjx3M20tbW9kYWwtY29udGVudD48dzNtLXdhbGxldGNvbm5lY3QtcXIgd2FsbGV0SWQ9IiR7ZX0iIGltYWdlSWQ9IiR7cn0iPjwvdzNtLXdhbGxldGNvbm5lY3QtcXI+PC93M20tbW9kYWwtY29udGVudD48dzNtLWluZm8tZm9vdGVyPjx3M20tdGV4dCBjb2xvcj0ic2Vjb25kYXJ5IiB2YXJpYW50PSJzbWFsbC10aGluIj4ke2BTY2FuIHRoaXMgcXJjb2RlIHdpdGggeW91ciBwaG9uZSdzIGNhbWVyYSBvciBpbnNpZGUgJHt0fSBhcHBgfTwvdzNtLXRleHQ+PHczbS1wbGF0Zm9ybS1zZWxlY3Rpb24gLmlzRGVza3RvcD0iJHtpfSIgLmlzSW5qZWN0ZWQ9IiR7bn0iIC5pc1dlYj0iJHtvfSI+PC93M20tcGxhdGZvcm0tc2VsZWN0aW9uPjwvdzNtLWluZm8tZm9vdGVyPmB9fTtMZi5zdHlsZXM9W2plLmdsb2JhbENzcyxMQV0sTGY9akEoW1JlKCJ3M20tbW9iaWxlLXFyLWNvbm5lY3RpbmctdmlldyIpXSxMZik7dmFyIEZBPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxCQT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGtBPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/QkEoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJkZBKGUscixpKSxpfTtsZXQgTWY9Y2xhc3MgZXh0ZW5kcyAkZXtyZW5kZXIoKXtyZXR1cm4gb2VgPHczbS1tb2RhbC1oZWFkZXIgdGl0bGU9IlNjYW4gdGhlIGNvZGUiIC5vbkFjdGlvbj0iJHt4ZS5oYW5kbGVVcmlDb3B5fSIgLmFjdGlvbkljb249IiR7TmUuQ09QWV9JQ09OfSI+PC93M20tbW9kYWwtaGVhZGVyPjx3M20tbW9kYWwtY29udGVudD48dzNtLXdhbGxldGNvbm5lY3QtcXI+PC93M20td2FsbGV0Y29ubmVjdC1xcj48L3czbS1tb2RhbC1jb250ZW50PmB9fTtNZi5zdHlsZXM9W2plLmdsb2JhbENzc10sTWY9a0EoW1JlKCJ3M20tcXJjb2RlLXZpZXciKV0sTWYpO2NvbnN0IEhBPVZlYGRpdntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDgwcHgpO21hcmdpbjotNXB4IC0xMHB4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufXczbS1pbmZvLWZvb3RlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlO3BhZGRpbmc6NXB4IDB9dzNtLWluZm8tZm9vdGVyIHczbS10ZXh0e3RleHQtYWxpZ246Y2VudGVyfWA7dmFyIGhtPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSx6QT1PYmplY3QuZGVmaW5lUHJvcGVydGllcyxXQT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHFBPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLGZtPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsVkE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxLQT1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLGRtPSh0LGUscik9PmUgaW4gdD9obSh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnJ9KTp0W2VdPXIsR0E9KHQsZSk9Pntmb3IodmFyIHIgaW4gZXx8KGU9e30pKVZBLmNhbGwoZSxyKSYmZG0odCxyLGVbcl0pO2lmKGZtKWZvcih2YXIgciBvZiBmbShlKSlLQS5jYWxsKGUscikmJmRtKHQscixlW3JdKTtyZXR1cm4gdH0sWkE9KHQsZSk9PnpBKHQscUEoZSkpLFVmPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/V0EoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJmhtKGUscixpKSxpfTtsZXQgZ2E9Y2xhc3MgZXh0ZW5kcyAkZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5jb25uZWN0ZWRDaGFpbnM9IkFMTCIsdGhpcy5pc1Vuc3VwcG9ydGVkQ2hhaW5zPSExLHRoaXMuZ2V0Q29ubmVjdGVkQ2hhaW5JZHMoKX1hc3luYyBnZXRDb25uZWN0ZWRDaGFpbklkcygpe3RoaXMuY29ubmVjdGVkQ2hhaW5zPWF3YWl0IE50LmNsaWVudCgpLmdldENvbm5lY3RlZENoYWluSWRzKCl9YXN5bmMgb25TZWxlY3RDaGFpbih0KXt0cnl7Y29uc3R7c2VsZWN0ZWRDaGFpbjplLHdhbGxldENvbm5lY3RWZXJzaW9uOnIsaXNQcmVmZXJJbmplY3RlZDpufT1EZS5zdGF0ZSx7aXNDb25uZWN0ZWQ6aX09RXQuc3RhdGU7aT9lPy5pZD09PXQuaWQ/dHQucmVzZXQoIkFjY291bnQiKTpyPT09Mj8oYXdhaXQgTnQuY2xpZW50KCkuc3dpdGNoTmV0d29yayh7Y2hhaW5JZDp0LmlkfSksdHQucmVzZXQoIkFjY291bnQiKSk6dHQucHVzaCgiU3dpdGNoTmV0d29yayIse1N3aXRjaE5ldHdvcms6dH0pOm4/KERlLnNldFNlbGVjdGVkQ2hhaW4odCksTnIuY2xvc2UoKSk6KERlLnNldFNlbGVjdGVkQ2hhaW4odCksdHQucHVzaCgiQ29ubmVjdFdhbGxldCIpKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpLFdyLm9wZW5Ub2FzdCh4ZS5nZXRFcnJvck1lc3NhZ2UoZSksImVycm9yIil9fWlzVW5zdXBvcnRlZENoYWluSWQodCl7cmV0dXJuIHR5cGVvZiB0aGlzLmNvbm5lY3RlZENoYWlucz09InN0cmluZyImJnRoaXMuY29ubmVjdGVkQ2hhaW5zIT09IkFMTCI/KHRoaXMuaXNVbnN1cHBvcnRlZENoYWlucz0hMCwhMCk6QXJyYXkuaXNBcnJheSh0aGlzLmNvbm5lY3RlZENoYWlucykmJiF0aGlzLmNvbm5lY3RlZENoYWlucy5pbmNsdWRlcyhTdHJpbmcodCkpPyh0aGlzLmlzVW5zdXBwb3J0ZWRDaGFpbnM9ITAsITApOiExfXJlbmRlcigpe2NvbnN0e2NoYWluczp0fT1EZS5zdGF0ZSxlPXQ/Lm1hcChuPT5aQShHQSh7fSxuKSx7dW5zdXBwb3J0ZWQ6dGhpcy5pc1Vuc3Vwb3J0ZWRDaGFpbklkKG4uaWQpfSkpLHI9ZT8uc29ydCgobixpKT0+TnVtYmVyKG4udW5zdXBwb3J0ZWQpLU51bWJlcihpLnVuc3VwcG9ydGVkKSk7cmV0dXJuIG9lYDx3M20tbW9kYWwtaGVhZGVyIHRpdGxlPSJTZWxlY3QgbmV0d29yayI+PC93M20tbW9kYWwtaGVhZGVyPjx3M20tbW9kYWwtY29udGVudD48ZGl2PiR7cj8ubWFwKG49Pm9lYDx3M20tbmV0d29yay1idXR0b24gbmFtZT0iJHtuLm5hbWV9IiBjaGFpbklkPSIke24uaWR9IiAudW5zdXBwb3J0ZWQ9IiR7bi51bnN1cHBvcnRlZH0iIC5vbkNsaWNrPSIke2FzeW5jKCk9PnRoaXMub25TZWxlY3RDaGFpbihuKX0iPiR7bi5uYW1lfTwvdzNtLW5ldHdvcmstYnV0dG9uPmApfTwvZGl2PjwvdzNtLW1vZGFsLWNvbnRlbnQ+JHt0aGlzLmlzVW5zdXBwb3J0ZWRDaGFpbnM/b2VgPHczbS1pbmZvLWZvb3Rlcj48dzNtLXRleHQgY29sb3I9InNlY29uZGFyeSIgdmFyaWFudD0ic21hbGwtdGhpbiI+WW91ciBjb25uZWN0ZWQgd2FsbGV0IG1heSBub3Qgc3VwcG9ydCBzb21lIG9mIHRoZSBuZXR3b3JrcyBhdmFpbGFibGUgZm9yIHRoaXMgZGFwcDwvdzNtLXRleHQ+PC93M20taW5mby1mb290ZXI+YDpudWxsfWB9fTtnYS5zdHlsZXM9W2plLmdsb2JhbENzcyxIQV0sVWYoW2d0KCldLGdhLnByb3RvdHlwZSwiY29ubmVjdGVkQ2hhaW5zIiwyKSxVZihbZ3QoKV0sZ2EucHJvdG90eXBlLCJpc1Vuc3VwcG9ydGVkQ2hhaW5zIiwyKSxnYT1VZihbUmUoInczbS1zZWxlY3QtbmV0d29yay12aWV3IildLGdhKTtjb25zdCBZQT1WZWB3M20taW5mby1mb290ZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJTtwYWRkaW5nOjVweCAwfXczbS10ZXh0e3RleHQtYWxpZ246Y2VudGVyfXczbS1idXR0b257bWFyZ2luLXRvcDoxNXB4fWA7dmFyIEpBPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxYQT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHBtPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/WEEoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJkpBKGUscixpKSxpfTtsZXQgS2M9Y2xhc3MgZXh0ZW5kcyAkZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5pc0Vycm9yPSExLHRoaXMub25Td2l0Y2hOZXR3b3JrKCl9YXN5bmMgb25Td2l0Y2hOZXR3b3JrKCl7dHJ5e3RoaXMuaXNFcnJvcj0hMTtjb25zdCB0PUllLmdldFN3aXRjaE5ldHdvcmtSb3V0ZXJEYXRhKCk7YXdhaXQgTnQuY2xpZW50KCkuc3dpdGNoTmV0d29yayh7Y2hhaW5JZDp0LmlkfSksRGUuc2V0U2VsZWN0ZWRDaGFpbih0KSx0dC5yZXNldCgiQWNjb3VudCIpfWNhdGNoe3RoaXMuaXNFcnJvcj0hMH19cmVuZGVyKCl7Y29uc3R7aWQ6dCxuYW1lOmV9PUllLmdldFN3aXRjaE5ldHdvcmtSb3V0ZXJEYXRhKCk7cmV0dXJuIG9lYDx3M20tbW9kYWwtaGVhZGVyIHRpdGxlPSIke2BDb25uZWN0IHRvICR7ZX1gfSI+PC93M20tbW9kYWwtaGVhZGVyPjx3M20tbW9kYWwtY29udGVudD48dzNtLW5ldHdvcmstd2FpdGluZyBjaGFpbklkPSIke3R9IiBsYWJlbD0iQXBwcm92ZSBpbiB5b3VyIHdhbGxldCIgLmlzRXJyb3I9IiR7dGhpcy5pc0Vycm9yfSI+PC93M20tbmV0d29yay13YWl0aW5nPjwvdzNtLW1vZGFsLWNvbnRlbnQ+PHczbS1pbmZvLWZvb3Rlcj48dzNtLXRleHQgY29sb3I9InNlY29uZGFyeSIgdmFyaWFudD0ic21hbGwtdGhpbiI+U3dpdGNoIGNhbiBiZSBkZWNsaW5lZCBpZiBjaGFpbiBpcyBub3Qgc3VwcG9ydGVkIGJ5IGEgd2FsbGV0IG9yIHByZXZpb3VzIHJlcXVlc3QgaXMgc3RpbGwgYWN0aXZlPC93M20tdGV4dD48dzNtLWJ1dHRvbiAub25DbGljaz0iJHt0aGlzLm9uU3dpdGNoTmV0d29yay5iaW5kKHRoaXMpfSIgLmRpc2FibGVkPSIkeyF0aGlzLmlzRXJyb3J9IiAuaWNvblJpZ2h0PSIke05lLlJFVFJZX0lDT059Ij5UcnkgQWdhaW48L3czbS1idXR0b24+PC93M20taW5mby1mb290ZXI+YH19O0tjLnN0eWxlcz1bamUuZ2xvYmFsQ3NzLFlBXSxwbShbZ3QoKV0sS2MucHJvdG90eXBlLCJpc0Vycm9yIiwyKSxLYz1wbShbUmUoInczbS1zd2l0Y2gtbmV0d29yay12aWV3IildLEtjKTtjb25zdCBRQT1WZWB3M20tbW9kYWwtY29udGVudHtoZWlnaHQ6Y2xhbXAoMjAwcHgsNjB2aCw2MDBweCk7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpzY3JvbGw7c2Nyb2xsYmFyLXdpZHRoOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDoxcHh9LnczbS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsODBweCk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWFyZ2luOi0xNXB4IC0xMHB4O3BhZGRpbmctdG9wOjIwcHh9dzNtLW1vZGFsLWNvbnRlbnQ6OmFmdGVyLHczbS1tb2RhbC1jb250ZW50OjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjpmaXhlZDtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6MTt3aWR0aDoxMDAlO2hlaWdodDoyMHB4O29wYWNpdHk6MX13M20tbW9kYWwtY29udGVudDo6YmVmb3Jle2JveC1zaGFkb3c6MCAtMXB4IDAgMCB2YXIoLS13M20tY29sb3ItYmctMSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0tdzNtLWNvbG9yLWJnLTEpLHJnYmEoMjU1LDI1NSwyNTUsMCkpfXczbS1tb2RhbC1jb250ZW50OjphZnRlcntib3gtc2hhZG93OjAgMXB4IDAgMCB2YXIoLS13M20tY29sb3ItYmctMSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwwKSx2YXIoLS13M20tY29sb3ItYmctMSkpO3RvcDpjYWxjKDEwMCUgLSAyMHB4KX13M20tbW9kYWwtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS53M20tcGxhY2Vob2xkZXItYmxvY2t7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDoxMDBweDtvdmVyZmxvdzpoaWRkZW59LnczbS1lbXB0eSwudzNtLWxvYWRpbmd7ZGlzcGxheTpmbGV4fS53M20tbG9hZGluZyAudzNtLXBsYWNlaG9sZGVyLWJsb2Nre2hlaWdodDoxMDAlfS53M20tZW5kLXJlYWNoZWQgLnczbS1wbGFjZWhvbGRlci1ibG9ja3toZWlnaHQ6MDtvcGFjaXR5OjB9LnczbS1lbXB0eSAudzNtLXBsYWNlaG9sZGVyLWJsb2Nre29wYWNpdHk6MTtoZWlnaHQ6MTAwJX13M20td2FsbGV0LWJ1dHRvbnttYXJnaW46Y2FsYygoMTAwJSAtIDYwcHgpLyAzKSAwfWA7dmFyIGVTPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSx0Uz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLG1hPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/dFMoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJmVTKGUscixpKSxpfTtjb25zdCBqZj00MDtsZXQgY3M9Y2xhc3MgZXh0ZW5kcyAkZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5sb2FkaW5nPSFuci5zdGF0ZS53YWxsZXRzLmxpc3RpbmdzLmxlbmd0aCx0aGlzLmZpcnN0RmV0Y2g9IW5yLnN0YXRlLndhbGxldHMubGlzdGluZ3MubGVuZ3RoLHRoaXMuc2VhcmNoPSIiLHRoaXMuZW5kUmVhY2hlZD0hMSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPXZvaWQgMCx0aGlzLnNlYXJjaERlYm91bmNlPXhlLmRlYm91bmNlKHQ9Pnt0Lmxlbmd0aD49Mz8odGhpcy5maXJzdEZldGNoPSEwLHRoaXMuZW5kUmVhY2hlZD0hMSx0aGlzLnNlYXJjaD10LG5yLnJlc2V0U2VhcmNoKCksdGhpcy5mZXRjaFdhbGxldHMoKSk6dGhpcy5zZWFyY2gmJih0aGlzLnNlYXJjaD0iIix0aGlzLmVuZFJlYWNoZWQ9dGhpcy5pc0xhc3RQYWdlKCksbnIucmVzZXRTZWFyY2goKSl9KX1maXJzdFVwZGF0ZWQoKXt0aGlzLmNyZWF0ZVBhZ2luYXRpb25PYnNlcnZlcigpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dmFyIHQ7KHQ9dGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlcik9PW51bGx8fHQuZGlzY29ubmVjdCgpfWdldCBwbGFjZWhvbGRlckVsKCl7cmV0dXJuIHhlLmdldFNoYWRvd1Jvb3RFbGVtZW50KHRoaXMsIi53M20tcGxhY2Vob2xkZXItYmxvY2siKX1jcmVhdGVQYWdpbmF0aW9uT2JzZXJ2ZXIoKXt0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoW3RdKT0+e3QuaXNJbnRlcnNlY3RpbmcmJiEodGhpcy5zZWFyY2gmJnRoaXMuZmlyc3RGZXRjaCkmJnRoaXMuZmV0Y2hXYWxsZXRzKCl9KSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy5wbGFjZWhvbGRlckVsKX1pc0xhc3RQYWdlKCl7Y29uc3R7d2FsbGV0czp0LHNlYXJjaDplfT1uci5zdGF0ZSx7bGlzdGluZ3M6cix0b3RhbDpufT10aGlzLnNlYXJjaD9lOnQ7cmV0dXJuIG48PWpmfHxyLmxlbmd0aD49bn1hc3luYyBmZXRjaFdhbGxldHMoKXt2YXIgdDtjb25zdHt3YWxsZXRzOmUsc2VhcmNoOnIsaW5qZWN0ZWRXYWxsZXRzOm59PW5yLnN0YXRlLHtsaXN0aW5nczppLHRvdGFsOm8scGFnZTpjfT10aGlzLnNlYXJjaD9yOmU7aWYoIXRoaXMuZW5kUmVhY2hlZCYmKHRoaXMuZmlyc3RGZXRjaHx8bz5qZiYmaS5sZW5ndGg8bykpdHJ5e3RoaXMubG9hZGluZz0hMDtjb25zdCBsPSh0PURlLnN0YXRlLnN0YW5kYWxvbmVDaGFpbnMpPT1udWxsP3ZvaWQgMDp0LmpvaW4oIiwiKSx7bGlzdGluZ3M6aH09YXdhaXQgbnIuZ2V0V2FsbGV0cyh7cGFnZTp0aGlzLmZpcnN0RmV0Y2g/MTpjKzEsZW50cmllczpqZixzZWFyY2g6dGhpcy5zZWFyY2gsdmVyc2lvbjpEZS5zdGF0ZS53YWxsZXRDb25uZWN0VmVyc2lvbixjaGFpbnM6bH0pLGQ9aC5tYXAoRT0+eGUuZ2V0V2FsbGV0SWNvbihFKSksdj1uLm1hcChFPT54ZS5nZXRXYWxsZXRJY29uKEUpKTthd2FpdCBQcm9taXNlLmFsbChbLi4uZC5tYXAoYXN5bmMgRT0+eGUucHJlbG9hZEltYWdlKEUpKSwuLi52Lm1hcChhc3luYyBFPT54ZS5wcmVsb2FkSW1hZ2UoRSkpLEllLndhaXQoMzAwKV0pLHRoaXMuZW5kUmVhY2hlZD10aGlzLmlzTGFzdFBhZ2UoKX1jYXRjaChsKXtjb25zb2xlLmVycm9yKGwpLFdyLm9wZW5Ub2FzdCh4ZS5nZXRFcnJvck1lc3NhZ2UobCksImVycm9yIil9ZmluYWxseXt0aGlzLmxvYWRpbmc9ITEsdGhpcy5maXJzdEZldGNoPSExfX1vbkNvbm5lY3QodCl7SWUuaXNBbmRyb2lkKCk/eGUuaGFuZGxlTW9iaWxlTGlua2luZyh0KTp4ZS5nb1RvQ29ubmVjdGluZ1ZpZXcodCl9b25TZWFyY2hDaGFuZ2UodCl7Y29uc3R7dmFsdWU6ZX09dC50YXJnZXQ7dGhpcy5zZWFyY2hEZWJvdW5jZShlKX1yZW5kZXIoKXtjb25zdHt3YWxsZXRzOnQsc2VhcmNoOmV9PW5yLnN0YXRlLHtsaXN0aW5nczpyfT10aGlzLnNlYXJjaD9lOnQsbj10aGlzLmxvYWRpbmcmJiFyLmxlbmd0aCxpPXRoaXMuc2VhcmNoLmxlbmd0aD49MztsZXQgbz1Nci5pbmplY3RlZFdhbGxldHNUZW1wbGF0ZSgpLGM9TXIubWFudWFsV2FsbGV0c1RlbXBsYXRlKCksbD1Nci5yZWNvbWVuZGVkV2FsbGV0c1RlbXBsYXRlKCEwKTtpJiYobz1vLmZpbHRlcigoe3ZhbHVlczpFfSk9PnhlLmNhc2VTYWZlSW5jbHVkZXMoRVswXSx0aGlzLnNlYXJjaCkpLGM9Yy5maWx0ZXIoKHt2YWx1ZXM6RX0pPT54ZS5jYXNlU2FmZUluY2x1ZGVzKEVbMF0sdGhpcy5zZWFyY2gpKSxsPWwuZmlsdGVyKCh7dmFsdWVzOkV9KT0+eGUuY2FzZVNhZmVJbmNsdWRlcyhFWzBdLHRoaXMuc2VhcmNoKSkpO2NvbnN0IGg9IXRoaXMubG9hZGluZyYmIXIubGVuZ3RoJiYhby5sZW5ndGgmJiFsLmxlbmd0aCxkPU1hdGgubWF4KG8ubGVuZ3RoLHIubGVuZ3RoKSx2PXsidzNtLWxvYWRpbmciOm4sInczbS1lbmQtcmVhY2hlZCI6dGhpcy5lbmRSZWFjaGVkfHwhdGhpcy5sb2FkaW5nLCJ3M20tZW1wdHkiOmh9O3JldHVybiBvZWA8dzNtLW1vZGFsLWhlYWRlcj48dzNtLXNlYXJjaC1pbnB1dCAub25DaGFuZ2U9IiR7dGhpcy5vblNlYXJjaENoYW5nZS5iaW5kKHRoaXMpfSI+PC93M20tc2VhcmNoLWlucHV0PjwvdzNtLW1vZGFsLWhlYWRlcj48dzNtLW1vZGFsLWNvbnRlbnQgY2xhc3M9IiR7THIodil9Ij48ZGl2IGNsYXNzPSJ3M20tZ3JpZCI+JHtuP251bGw6bH0gJHtuP251bGw6Wy4uLkFycmF5KGQpXS5tYXAoKEUsXyk9Pm9lYCR7Y1tfXX0gJHtvW19dfSAke3JbX10/b2VgPHczbS13YWxsZXQtYnV0dG9uIGltYWdlSWQ9IiR7cltfXS5pbWFnZV9pZH0iIG5hbWU9IiR7cltfXS5uYW1lfSIgd2FsbGV0SWQ9IiR7cltfXS5pZH0iIC5vbkNsaWNrPSIkeygpPT50aGlzLm9uQ29ubmVjdChyW19dKX0iPjwvdzNtLXdhbGxldC1idXR0b24+YDpudWxsfWApfTwvZGl2PjxkaXYgY2xhc3M9InczbS1wbGFjZWhvbGRlci1ibG9jayI+JHtoP29lYDx3M20tdGV4dCB2YXJpYW50PSJiaWctYm9sZCIgY29sb3I9InNlY29uZGFyeSI+Tm8gcmVzdWx0cyBmb3VuZDwvdzNtLXRleHQ+YDpudWxsfSAkeyFoJiZ0aGlzLmxvYWRpbmc/b2VgPHczbS1zcGlubmVyPjwvdzNtLXNwaW5uZXI+YDpudWxsfTwvZGl2PjwvdzNtLW1vZGFsLWNvbnRlbnQ+YH19O2NzLnN0eWxlcz1bamUuZ2xvYmFsQ3NzLFFBXSxtYShbZ3QoKV0sY3MucHJvdG90eXBlLCJsb2FkaW5nIiwyKSxtYShbZ3QoKV0sY3MucHJvdG90eXBlLCJmaXJzdEZldGNoIiwyKSxtYShbZ3QoKV0sY3MucHJvdG90eXBlLCJzZWFyY2giLDIpLG1hKFtndCgpXSxjcy5wcm90b3R5cGUsImVuZFJlYWNoZWQiLDIpLGNzPW1hKFtSZSgidzNtLXdhbGxldC1leHBsb3Jlci12aWV3IildLGNzKTtjb25zdCByUz1WZWB3M20taW5mby1mb290ZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJTtwYWRkaW5nOjVweCAwfXczbS10ZXh0e3RleHQtYWxpZ246Y2VudGVyfWA7dmFyIG5TPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxpUz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGdtPSh0LGUscixuKT0+e2Zvcih2YXIgaT1uPjE/dm9pZCAwOm4/aVMoZSxyKTplLG89dC5sZW5ndGgtMSxjO28+PTA7by0tKShjPXRbb10pJiYoaT0obj9jKGUscixpKTpjKGkpKXx8aSk7cmV0dXJuIG4mJmkmJm5TKGUscixpKSxpfTtsZXQgR2M9Y2xhc3MgZXh0ZW5kcyAkZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5pc0Vycm9yPSExLHRoaXMudW53YXRjaENvbm5lY3Rpb249dm9pZCAwLHRoaXMub3BlbldlYldhbGxldCgpLHRoaXMudW53YXRjaENvbm5lY3Rpb249aHIuc3Vic2NyaWJlKHQ9Pnt0aGlzLmlzRXJyb3I9dC5wYWlyaW5nRXJyb3J9KX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3ZhciB0Oyh0PXRoaXMudW53YXRjaENvbm5lY3Rpb24pPT1udWxsfHx0LmNhbGwodGhpcyl9b25Gb3JtYXRBbmRSZWRpcmVjdCh0KXtjb25zdHtkZXNrdG9wOmUsbmFtZTpyfT1JZS5nZXRXYWxsZXRSb3V0ZXJEYXRhKCksbj1lPy51bml2ZXJzYWw7aWYobil7Y29uc3QgaT1JZS5mb3JtYXRVbml2ZXJzYWxVcmwobix0LHIpO0llLm9wZW5IcmVmKGksIl9ibGFuayIpfX1vcGVuV2ViV2FsbGV0KCl7aHIuc2V0UGFpcmluZ0Vycm9yKCExKTtjb25zdHtzdGFuZGFsb25lVXJpOnR9PURlLnN0YXRlLHtwYWlyaW5nVXJpOmV9PWhyLnN0YXRlLHI9SWUuZ2V0V2FsbGV0Um91dGVyRGF0YSgpO3hlLnNldFJlY2VudFdhbGxldChyKSx0P3RoaXMub25Gb3JtYXRBbmRSZWRpcmVjdCh0KTp0aGlzLm9uRm9ybWF0QW5kUmVkaXJlY3QoZSl9cmVuZGVyKCl7Y29uc3R7bmFtZTp0LGlkOmUsaW1hZ2VfaWQ6cn09SWUuZ2V0V2FsbGV0Um91dGVyRGF0YSgpLHtpc01vYmlsZTpuLGlzSW5qZWN0ZWQ6aSxpc0Rlc2t0b3A6b309eGUuZ2V0Q2FjaGVkUm91dGVyV2FsbGV0UGxhdGZvcm1zKCksYz1JZS5pc01vYmlsZSgpO3JldHVybiBvZWA8dzNtLW1vZGFsLWhlYWRlciB0aXRsZT0iJHt0fSIgLm9uQWN0aW9uPSIke3hlLmhhbmRsZVVyaUNvcHl9IiAuYWN0aW9uSWNvbj0iJHtOZS5DT1BZX0lDT059Ij48L3czbS1tb2RhbC1oZWFkZXI+PHczbS1tb2RhbC1jb250ZW50Pjx3M20tY29ubmVjdG9yLXdhaXRpbmcgd2FsbGV0SWQ9IiR7ZX0iIGltYWdlSWQ9IiR7cn0iIGxhYmVsPSIke2BDb250aW51ZSBpbiAke3R9Li4uYH0iIC5pc0Vycm9yPSIke3RoaXMuaXNFcnJvcn0iPjwvdzNtLWNvbm5lY3Rvci13YWl0aW5nPjwvdzNtLW1vZGFsLWNvbnRlbnQ+PHczbS1pbmZvLWZvb3Rlcj48dzNtLXRleHQgY29sb3I9InNlY29uZGFyeSIgdmFyaWFudD0ic21hbGwtdGhpbiI+JHtgJHt0fSB3ZWIgYXBwIGhhcyBvcGVuZWQgaW4gYSBuZXcgdGFiLiBHbyB0aGVyZSwgYWNjZXB0IHRoZSBjb25uZWN0aW9uLCBhbmQgY29tZSBiYWNrYH08L3czbS10ZXh0Pjx3M20tcGxhdGZvcm0tc2VsZWN0aW9uIC5pc01vYmlsZT0iJHtufSIgLmlzSW5qZWN0ZWQ9IiR7Yz8hMTppfSIgLmlzRGVza3RvcD0iJHtjPyExOm99IiAuaXNSZXRyeT0iJHshMH0iPjx3M20tYnV0dG9uIC5vbkNsaWNrPSIke3RoaXMub3BlbldlYldhbGxldC5iaW5kKHRoaXMpfSIgLmljb25SaWdodD0iJHtOZS5SRVRSWV9JQ09OfSI+UmV0cnk8L3czbS1idXR0b24+PC93M20tcGxhdGZvcm0tc2VsZWN0aW9uPjwvdzNtLWluZm8tZm9vdGVyPmB9fTtHYy5zdHlsZXM9W2plLmdsb2JhbENzcyxyU10sZ20oW2d0KCldLEdjLnByb3RvdHlwZSwiaXNFcnJvciIsMiksR2M9Z20oW1JlKCJ3M20td2ViLWNvbm5lY3RpbmctdmlldyIpXSxHYyk7dmFyIHNTPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGdldCBXM21BY2NvdW50QnV0dG9uKCl7cmV0dXJuIEtzfSxnZXQgVzNtQ29ubmVjdEJ1dHRvbigpe3JldHVybiBzc30sZ2V0IFczbUNvcmVCdXR0b24oKXtyZXR1cm4gQ2l9LGdldCBXM21Nb2RhbCgpe3JldHVybiBZc30sZ2V0IFczbU5ldHdvcmtTd2l0Y2goKXtyZXR1cm4gb3N9LGdldCBXM21RckNvZGUoKXtyZXR1cm4gWm59fSk7X24uRXRoZXJldW1Qcm92aWRlcj10eCxfbi5PUFRJT05BTF9FVkVOVFM9RzcsX24uT1BUSU9OQUxfTUVUSE9EUz1LNyxfbi5SRVFVSVJFRF9FVkVOVFM9dWMsX24uUkVRVUlSRURfTUVUSE9EUz1sYyxfbi5kZWZhdWx0PWhjLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfbiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9KTs="}},"time_used":274,"timings":{"blocked":-1,"dns":0,"connect":21,"send":0,"wait":80,"receive":145,"ssl":28},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"opendns","sensor_type":"DNS","title":"OpenDNS","description":"OpenDNS","scan_date":"2026-07-27","alert":"Phishing Block","trigger":"meta-drop.top","verdict":"phishing","severity":"medium","comment":"","link":"https://www.opendns.com/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/ethereum-tx.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:07.868Z","timestamp":1785152587868,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"meta-drop.top","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 19 Jul 2026 23:27:50 GMT","end":"Sat, 17 Oct 2026 23:27:49 GMT"},"fingerprint":{"sha1":"67:D4:87:A1:51:D4:1D:BB:BB:77:02:2B:B6:56:97:52:78:DA:92:C1","sha256":"67:DA:68:05:20:35:91:18:5A:EF:52:AD:9A:51:70:A4:D4:60:E6:DA:FE:67:E3:E1:6C:3F:13:4D:D1:7C:6D:E4"}}},"request":{"raw":"GET /assets/web3-provider/ethereum-tx.js HTTP/1.1\r\nHost: meta-drop.top\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://meta-drop.top/\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/1.1 200 OK\r\nServer: nginx/1.24.0 (Ubuntu)\r\nDate: Mon, 27 Jul 2026 11:43:08 GMT\r\nContent-Type: application/javascript; charset=UTF-8\r\nContent-Length: 324950\r\nConnection: keep-alive\r\nX-Powered-By: Express\r\nAccess-Control-Allow-Origin: *\r\nAccept-Ranges: bytes\r\nCache-Control: public, max-age=0\r\nLast-Modified: Fri, 10 Jan 2025 13:06:25 GMT\r\nETag: W/\"4f556-1945052b468\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Nginx:1.24.0","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":"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":"Ubuntu","description":"Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.","website":"https://www.ubuntu.com/server","common_platform_enumeration":"cpe:2.3:o:canonical:ubuntu_linux:*:*:*:*:*:*:*:*","icon":"Ubuntu.svg","categories":["Operating systems"]}],"data":{"size":324950,"size_decoded":325324,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (43042), with CRLF line terminators","md5":"75df8d29cd9c96b0f29edf2b940da23b","sha1":"de4e9f213eb0b0c77ed78e54f35c093800499301","sha256":"5c9805c397f6744b6bf1aafdc22980094c41e659c636aa453981659fdf873eaf","sha512":"eb8600f68e6da8d03479718ac024d83cc377b6caffb82c7e3806e1cf7cd21d8056e7ffd1db65a5af1624a3c00b6e96571a8460da7dff79f861e7962030f05ef9","ssdeep":"3072:FRpgpHv8o3GVhs8YgHbGpLsev6nshcn1v41C7d8WrB33Tw+8nbdJ7b53Q:FkGVBfCNvmsg1vQcKdQ","tlshash":"26642a89f6607451436671a4012f640ff67afa2e5949006cf258e8fb3df89c9963bf38","first_seen":"2023-04-05T17:45:39Z","last_seen":"2026-08-03T12:41:36.357102Z","times_seen":377,"resource_available":true,"data":"KGZ1bmN0aW9uKGYpe2lmKHR5cGVvZiBleHBvcnRzPT09Im9iamVjdCImJnR5cGVvZiBtb2R1bGUhPT0idW5kZWZpbmVkIil7bW9kdWxlLmV4cG9ydHM9ZigpfWVsc2UgaWYodHlwZW9mIGRlZmluZT09PSJmdW5jdGlvbiImJmRlZmluZS5hbWQpe2RlZmluZShbXSxmKX1lbHNle3ZhciBnO2lmKHR5cGVvZiB3aW5kb3chPT0idW5kZWZpbmVkIil7Zz13aW5kb3d9ZWxzZSBpZih0eXBlb2YgZ2xvYmFsIT09InVuZGVmaW5lZCIpe2c9Z2xvYmFsfWVsc2UgaWYodHlwZW9mIHNlbGYhPT0idW5kZWZpbmVkIil7Zz1zZWxmfWVsc2V7Zz10aGlzfWcuZXRoZXJldW1qcyA9IGYoKX19KShmdW5jdGlvbigpe3ZhciBkZWZpbmUsbW9kdWxlLGV4cG9ydHM7cmV0dXJuIChmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09ImZ1bmN0aW9uIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK28rIiciKTt0aHJvdyBmLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09ImZ1bmN0aW9uIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkoezE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAoZnVuY3Rpb24gKGdsb2JhbCl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBjb21wYXJlKGUsdCl7aWYoZT09PXQpcmV0dXJuIDA7Zm9yKHZhciByPWUubGVuZ3RoLG49dC5sZW5ndGgsaT0wLGE9TWF0aC5taW4ocixuKTtpPGE7KytpKWlmKGVbaV0hPT10W2ldKXtyPWVbaV0sbj10W2ldO2JyZWFrfXJldHVybiByPG4/LTE6bjxyPzE6MH1mdW5jdGlvbiBpc0J1ZmZlcihlKXtyZXR1cm4gZ2xvYmFsLkJ1ZmZlciYmImZ1bmN0aW9uIj09dHlwZW9mIGdsb2JhbC5CdWZmZXIuaXNCdWZmZXI/Z2xvYmFsLkJ1ZmZlci5pc0J1ZmZlcihlKTohKG51bGw9PWV8fCFlLl9pc0J1ZmZlcil9ZnVuY3Rpb24gcFRvU3RyaW5nKGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSl9ZnVuY3Rpb24gaXNWaWV3KGUpe3JldHVybiFpc0J1ZmZlcihlKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBnbG9iYWwuQXJyYXlCdWZmZXImJigiZnVuY3Rpb24iPT10eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3P0FycmF5QnVmZmVyLmlzVmlldyhlKTohIWUmJihlIGluc3RhbmNlb2YgRGF0YVZpZXd8fCEhKGUuYnVmZmVyJiZlLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSkpKX1mdW5jdGlvbiBnZXROYW1lKGUpe2lmKHV0aWwuaXNGdW5jdGlvbihlKSl7aWYoZnVuY3Rpb25zSGF2ZU5hbWVzKXJldHVybiBlLm5hbWU7dmFyIHQ9ZS50b1N0cmluZygpLm1hdGNoKHJlZ2V4KTtyZXR1cm4gdCYmdFsxXX19ZnVuY3Rpb24gdHJ1bmNhdGUoZSx0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ZS5sZW5ndGg8dD9lOmUuc2xpY2UoMCx0KTplfWZ1bmN0aW9uIGluc3BlY3QoZSl7aWYoZnVuY3Rpb25zSGF2ZU5hbWVzfHwhdXRpbC5pc0Z1bmN0aW9uKGUpKXJldHVybiB1dGlsLmluc3BlY3QoZSk7dmFyIHQ9Z2V0TmFtZShlKTtyZXR1cm4iW0Z1bmN0aW9uIisodD8iOiAiK3Q6IiIpKyJdIn1mdW5jdGlvbiBnZXRNZXNzYWdlKGUpe3JldHVybiB0cnVuY2F0ZShpbnNwZWN0KGUuYWN0dWFsKSwxMjgpKyIgIitlLm9wZXJhdG9yKyIgIit0cnVuY2F0ZShpbnNwZWN0KGUuZXhwZWN0ZWQpLDEyOCl9ZnVuY3Rpb24gZmFpbChlLHQscixuLGkpe3Rocm93IG5ldyBhc3NlcnQuQXNzZXJ0aW9uRXJyb3Ioe21lc3NhZ2U6cixhY3R1YWw6ZSxleHBlY3RlZDp0LG9wZXJhdG9yOm4sc3RhY2tTdGFydEZ1bmN0aW9uOml9KX1mdW5jdGlvbiBvayhlLHQpe2V8fGZhaWwoZSwhMCx0LCI9PSIsYXNzZXJ0Lm9rKX1mdW5jdGlvbiBfZGVlcEVxdWFsKGUsdCxyLG4pe2lmKGU9PT10KXJldHVybiEwO2lmKGlzQnVmZmVyKGUpJiZpc0J1ZmZlcih0KSlyZXR1cm4gMD09PWNvbXBhcmUoZSx0KTtpZih1dGlsLmlzRGF0ZShlKSYmdXRpbC5pc0RhdGUodCkpcmV0dXJuIGUuZ2V0VGltZSgpPT09dC5nZXRUaW1lKCk7aWYodXRpbC5pc1JlZ0V4cChlKSYmdXRpbC5pc1JlZ0V4cCh0KSlyZXR1cm4gZS5zb3VyY2U9PT10LnNvdXJjZSYmZS5nbG9iYWw9PT10Lmdsb2JhbCYmZS5tdWx0aWxpbmU9PT10Lm11bHRpbGluZSYmZS5sYXN0SW5kZXg9PT10Lmxhc3RJbmRleCYmZS5pZ25vcmVDYXNlPT09dC5pZ25vcmVDYXNlO2lmKG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGV8fG51bGwhPT10JiYib2JqZWN0Ij09dHlwZW9mIHQpe2lmKGlzVmlldyhlKSYmaXNWaWV3KHQpJiZwVG9TdHJpbmcoZSk9PT1wVG9TdHJpbmcodCkmJiEoZSBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheXx8ZSBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheSkpcmV0dXJuIDA9PT1jb21wYXJlKG5ldyBVaW50OEFycmF5KGUuYnVmZmVyKSxuZXcgVWludDhBcnJheSh0LmJ1ZmZlcikpO2lmKGlzQnVmZmVyKGUpIT09aXNCdWZmZXIodCkpcmV0dXJuITE7dmFyIGk9KG49bnx8e2FjdHVhbDpbXSxleHBlY3RlZDpbXX0pLmFjdHVhbC5pbmRleE9mKGUpO3JldHVybi0xIT09aSYmaT09PW4uZXhwZWN0ZWQuaW5kZXhPZih0KXx8KG4uYWN0dWFsLnB1c2goZSksbi5leHBlY3RlZC5wdXNoKHQpLG9iakVxdWl2KGUsdCxyLG4pKX1yZXR1cm4gcj9lPT09dDplPT10fWZ1bmN0aW9uIGlzQXJndW1lbnRzKGUpe3JldHVybiJbb2JqZWN0IEFyZ3VtZW50c10iPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSl9ZnVuY3Rpb24gb2JqRXF1aXYoZSx0LHIsbil7aWYobnVsbD09PWV8fHZvaWQgMD09PWV8fG51bGw9PT10fHx2b2lkIDA9PT10KXJldHVybiExO2lmKHV0aWwuaXNQcmltaXRpdmUoZSl8fHV0aWwuaXNQcmltaXRpdmUodCkpcmV0dXJuIGU9PT10O2lmKHImJk9iamVjdC5nZXRQcm90b3R5cGVPZihlKSE9PU9iamVjdC5nZXRQcm90b3R5cGVPZih0KSlyZXR1cm4hMTt2YXIgaT1pc0FyZ3VtZW50cyhlKSxhPWlzQXJndW1lbnRzKHQpO2lmKGkmJiFhfHwhaSYmYSlyZXR1cm4hMTtpZihpKXJldHVybiBlPXBTbGljZS5jYWxsKGUpLHQ9cFNsaWNlLmNhbGwodCksX2RlZXBFcXVhbChlLHQscik7dmFyIHMsbyx1PW9iamVjdEtleXMoZSksZj1vYmplY3RLZXlzKHQpO2lmKHUubGVuZ3RoIT09Zi5sZW5ndGgpcmV0dXJuITE7Zm9yKHUuc29ydCgpLGYuc29ydCgpLG89dS5sZW5ndGgtMTtvPj0wO28tLSlpZih1W29dIT09ZltvXSlyZXR1cm4hMTtmb3Iobz11Lmxlbmd0aC0xO28+PTA7by0tKWlmKHM9dVtvXSwhX2RlZXBFcXVhbChlW3NdLHRbc10scixuKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBub3REZWVwU3RyaWN0RXF1YWwoZSx0LHIpe19kZWVwRXF1YWwoZSx0LCEwKSYmZmFpbChlLHQsciwibm90RGVlcFN0cmljdEVxdWFsIixub3REZWVwU3RyaWN0RXF1YWwpfWZ1bmN0aW9uIGV4cGVjdGVkRXhjZXB0aW9uKGUsdCl7aWYoIWV8fCF0KXJldHVybiExO2lmKCJbb2JqZWN0IFJlZ0V4cF0iPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkpcmV0dXJuIHQudGVzdChlKTt0cnl7aWYoZSBpbnN0YW5jZW9mIHQpcmV0dXJuITB9Y2F0Y2goZSl7fXJldHVybiFFcnJvci5pc1Byb3RvdHlwZU9mKHQpJiYhMD09PXQuY2FsbCh7fSxlKX1mdW5jdGlvbiBfdHJ5QmxvY2soZSl7dmFyIHQ7dHJ5e2UoKX1jYXRjaChlKXt0PWV9cmV0dXJuIHR9ZnVuY3Rpb24gX3Rocm93cyhlLHQscixuKXt2YXIgaTtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCciYmxvY2siIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpOyJzdHJpbmciPT10eXBlb2YgciYmKG49cixyPW51bGwpLGk9X3RyeUJsb2NrKHQpLG49KHImJnIubmFtZT8iICgiK3IubmFtZSsiKS4iOiIuIikrKG4/IiAiK246Ii4iKSxlJiYhaSYmZmFpbChpLHIsIk1pc3NpbmcgZXhwZWN0ZWQgZXhjZXB0aW9uIituKTt2YXIgYT0ic3RyaW5nIj09dHlwZW9mIG4scz0hZSYmdXRpbC5pc0Vycm9yKGkpLG89IWUmJmkmJiFyO2lmKChzJiZhJiZleHBlY3RlZEV4Y2VwdGlvbihpLHIpfHxvKSYmZmFpbChpLHIsIkdvdCB1bndhbnRlZCBleGNlcHRpb24iK24pLGUmJmkmJnImJiFleHBlY3RlZEV4Y2VwdGlvbihpLHIpfHwhZSYmaSl0aHJvdyBpfXZhciB1dGlsPXJlcXVpcmUoInV0aWwvIiksaGFzT3duPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkscFNsaWNlPUFycmF5LnByb3RvdHlwZS5zbGljZSxmdW5jdGlvbnNIYXZlTmFtZXM9ImZvbyI9PT1mdW5jdGlvbigpe30ubmFtZSxhc3NlcnQ9bW9kdWxlLmV4cG9ydHM9b2sscmVnZXg9L1xzKmZ1bmN0aW9uXHMrKFteXChcc10qKVxzKi87YXNzZXJ0LkFzc2VydGlvbkVycm9yPWZ1bmN0aW9uKGUpe3RoaXMubmFtZT0iQXNzZXJ0aW9uRXJyb3IiLHRoaXMuYWN0dWFsPWUuYWN0dWFsLHRoaXMuZXhwZWN0ZWQ9ZS5leHBlY3RlZCx0aGlzLm9wZXJhdG9yPWUub3BlcmF0b3IsZS5tZXNzYWdlPyh0aGlzLm1lc3NhZ2U9ZS5tZXNzYWdlLHRoaXMuZ2VuZXJhdGVkTWVzc2FnZT0hMSk6KHRoaXMubWVzc2FnZT1nZXRNZXNzYWdlKHRoaXMpLHRoaXMuZ2VuZXJhdGVkTWVzc2FnZT0hMCk7dmFyIHQ9ZS5zdGFja1N0YXJ0RnVuY3Rpb258fGZhaWw7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyx0KTtlbHNle3ZhciByPW5ldyBFcnJvcjtpZihyLnN0YWNrKXt2YXIgbj1yLnN0YWNrLGk9Z2V0TmFtZSh0KSxhPW4uaW5kZXhPZigiXG4iK2kpO2lmKGE+PTApe3ZhciBzPW4uaW5kZXhPZigiXG4iLGErMSk7bj1uLnN1YnN0cmluZyhzKzEpfXRoaXMuc3RhY2s9bn19fSx1dGlsLmluaGVyaXRzKGFzc2VydC5Bc3NlcnRpb25FcnJvcixFcnJvciksYXNzZXJ0LmZhaWw9ZmFpbCxhc3NlcnQub2s9b2ssYXNzZXJ0LmVxdWFsPWZ1bmN0aW9uKGUsdCxyKXtlIT10JiZmYWlsKGUsdCxyLCI9PSIsYXNzZXJ0LmVxdWFsKX0sYXNzZXJ0Lm5vdEVxdWFsPWZ1bmN0aW9uKGUsdCxyKXtlPT10JiZmYWlsKGUsdCxyLCIhPSIsYXNzZXJ0Lm5vdEVxdWFsKX0sYXNzZXJ0LmRlZXBFcXVhbD1mdW5jdGlvbihlLHQscil7X2RlZXBFcXVhbChlLHQsITEpfHxmYWlsKGUsdCxyLCJkZWVwRXF1YWwiLGFzc2VydC5kZWVwRXF1YWwpfSxhc3NlcnQuZGVlcFN0cmljdEVxdWFsPWZ1bmN0aW9uKGUsdCxyKXtfZGVlcEVxdWFsKGUsdCwhMCl8fGZhaWwoZSx0LHIsImRlZXBTdHJpY3RFcXVhbCIsYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbCl9LGFzc2VydC5ub3REZWVwRXF1YWw9ZnVuY3Rpb24oZSx0LHIpe19kZWVwRXF1YWwoZSx0LCExKSYmZmFpbChlLHQsciwibm90RGVlcEVxdWFsIixhc3NlcnQubm90RGVlcEVxdWFsKX0sYXNzZXJ0Lm5vdERlZXBTdHJpY3RFcXVhbD1ub3REZWVwU3RyaWN0RXF1YWwsYXNzZXJ0LnN0cmljdEVxdWFsPWZ1bmN0aW9uKGUsdCxyKXtlIT09dCYmZmFpbChlLHQsciwiPT09Iixhc3NlcnQuc3RyaWN0RXF1YWwpfSxhc3NlcnQubm90U3RyaWN0RXF1YWw9ZnVuY3Rpb24oZSx0LHIpe2U9PT10JiZmYWlsKGUsdCxyLCIhPT0iLGFzc2VydC5ub3RTdHJpY3RFcXVhbCl9LGFzc2VydC50aHJvd3M9ZnVuY3Rpb24oZSx0LHIpe190aHJvd3MoITAsZSx0LHIpfSxhc3NlcnQuZG9lc05vdFRocm93PWZ1bmN0aW9uKGUsdCxyKXtfdGhyb3dzKCExLGUsdCxyKX0sYXNzZXJ0LmlmRXJyb3I9ZnVuY3Rpb24oZSl7aWYoZSl0aHJvdyBlfTt2YXIgb2JqZWN0S2V5cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24oZSl7dmFyIHQ9W107Zm9yKHZhciByIGluIGUpaGFzT3duLmNhbGwoZSxyKSYmdC5wdXNoKHIpO3JldHVybiB0fTsNCg0KICB9KS5jYWxsKHRoaXMsdHlwZW9mIGdsb2JhbCAhPT0gInVuZGVmaW5lZCIgPyBnbG9iYWwgOiB0eXBlb2Ygc2VsZiAhPT0gInVuZGVmaW5lZCIgPyBzZWxmIDogdHlwZW9mIHdpbmRvdyAhPT0gInVuZGVmaW5lZCIgPyB3aW5kb3cgOiB7fSkNCiAgfSx7InV0aWwvIjoxMDN9XSwyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIHBsYWNlSG9sZGVyc0NvdW50KG8pe3ZhciByPW8ubGVuZ3RoO2lmKHIlND4wKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNCIpO3JldHVybiI9Ij09PW9bci0yXT8yOiI9Ij09PW9bci0xXT8xOjB9ZnVuY3Rpb24gYnl0ZUxlbmd0aChvKXtyZXR1cm4gMypvLmxlbmd0aC80LXBsYWNlSG9sZGVyc0NvdW50KG8pfWZ1bmN0aW9uIHRvQnl0ZUFycmF5KG8pe3ZhciByLGUsdCx1LG4scD1vLmxlbmd0aDt1PXBsYWNlSG9sZGVyc0NvdW50KG8pLG49bmV3IEFycigzKnAvNC11KSxlPXU+MD9wLTQ6cDt2YXIgYT0wO2ZvcihyPTA7cjxlO3IrPTQpdD1yZXZMb29rdXBbby5jaGFyQ29kZUF0KHIpXTw8MTh8cmV2TG9va3VwW28uY2hhckNvZGVBdChyKzEpXTw8MTJ8cmV2TG9va3VwW28uY2hhckNvZGVBdChyKzIpXTw8NnxyZXZMb29rdXBbby5jaGFyQ29kZUF0KHIrMyldLG5bYSsrXT10Pj4xNiYyNTUsblthKytdPXQ+PjgmMjU1LG5bYSsrXT0yNTUmdDtyZXR1cm4gMj09PXU/KHQ9cmV2TG9va3VwW28uY2hhckNvZGVBdChyKV08PDJ8cmV2TG9va3VwW28uY2hhckNvZGVBdChyKzEpXT4+NCxuW2ErK109MjU1JnQpOjE9PT11JiYodD1yZXZMb29rdXBbby5jaGFyQ29kZUF0KHIpXTw8MTB8cmV2TG9va3VwW28uY2hhckNvZGVBdChyKzEpXTw8NHxyZXZMb29rdXBbby5jaGFyQ29kZUF0KHIrMildPj4yLG5bYSsrXT10Pj44JjI1NSxuW2ErK109MjU1JnQpLG59ZnVuY3Rpb24gdHJpcGxldFRvQmFzZTY0KG8pe3JldHVybiBsb29rdXBbbz4+MTgmNjNdK2xvb2t1cFtvPj4xMiY2M10rbG9va3VwW28+PjYmNjNdK2xvb2t1cFs2MyZvXX1mdW5jdGlvbiBlbmNvZGVDaHVuayhvLHIsZSl7Zm9yKHZhciB0LHU9W10sbj1yO248ZTtuKz0zKXQ9KG9bbl08PDE2KSsob1tuKzFdPDw4KStvW24rMl0sdS5wdXNoKHRyaXBsZXRUb0Jhc2U2NCh0KSk7cmV0dXJuIHUuam9pbigiIil9ZnVuY3Rpb24gZnJvbUJ5dGVBcnJheShvKXtmb3IodmFyIHIsZT1vLmxlbmd0aCx0PWUlMyx1PSIiLG49W10scD0wLGE9ZS10O3A8YTtwKz0xNjM4MyluLnB1c2goZW5jb2RlQ2h1bmsobyxwLHArMTYzODM+YT9hOnArMTYzODMpKTtyZXR1cm4gMT09PXQ/KHI9b1tlLTFdLHUrPWxvb2t1cFtyPj4yXSx1Kz1sb29rdXBbcjw8NCY2M10sdSs9Ij09Iik6Mj09PXQmJihyPShvW2UtMl08PDgpK29bZS0xXSx1Kz1sb29rdXBbcj4+MTBdLHUrPWxvb2t1cFtyPj40JjYzXSx1Kz1sb29rdXBbcjw8MiY2M10sdSs9Ij0iKSxuLnB1c2godSksbi5qb2luKCIiKX1leHBvcnRzLmJ5dGVMZW5ndGg9Ynl0ZUxlbmd0aCxleHBvcnRzLnRvQnl0ZUFycmF5PXRvQnl0ZUFycmF5LGV4cG9ydHMuZnJvbUJ5dGVBcnJheT1mcm9tQnl0ZUFycmF5O2Zvcih2YXIgbG9va3VwPVtdLHJldkxvb2t1cD1bXSxBcnI9InVuZGVmaW5lZCIhPXR5cGVvZiBVaW50OEFycmF5P1VpbnQ4QXJyYXk6QXJyYXksY29kZT0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIsaT0wLGxlbj1jb2RlLmxlbmd0aDtpPGxlbjsrK2kpbG9va3VwW2ldPWNvZGVbaV0scmV2TG9va3VwW2NvZGUuY2hhckNvZGVBdChpKV09aTtyZXZMb29rdXBbIi0iLmNoYXJDb2RlQXQoMCldPTYyLHJldkxvb2t1cFsiXyIuY2hhckNvZGVBdCgwKV09NjM7DQoNCiAgfSx7fV0sMzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIGZ1bmN0aW9uIGNoZWNrKGUpe2lmKGUubGVuZ3RoPDgpcmV0dXJuITE7aWYoZS5sZW5ndGg+NzIpcmV0dXJuITE7aWYoNDghPT1lWzBdKXJldHVybiExO2lmKGVbMV0hPT1lLmxlbmd0aC0yKXJldHVybiExO2lmKDIhPT1lWzJdKXJldHVybiExO3ZhciByPWVbM107aWYoMD09PXIpcmV0dXJuITE7aWYoNStyPj1lLmxlbmd0aClyZXR1cm4hMTtpZigyIT09ZVs0K3JdKXJldHVybiExO3ZhciBuPWVbNStyXTtyZXR1cm4gMCE9PW4mJig2K3Irbj09PWUubGVuZ3RoJiYoISgxMjgmZVs0XSkmJighKHI+MSYmMD09PWVbNF0mJiEoMTI4JmVbNV0pKSYmKCEoMTI4JmVbcis2XSkmJiEobj4xJiYwPT09ZVtyKzZdJiYhKDEyOCZlW3IrN10pKSkpKSl9ZnVuY3Rpb24gZGVjb2RlKGUpe2lmKGUubGVuZ3RoPDgpdGhyb3cgbmV3IEVycm9yKCJERVIgc2VxdWVuY2UgbGVuZ3RoIGlzIHRvbyBzaG9ydCIpO2lmKGUubGVuZ3RoPjcyKXRocm93IG5ldyBFcnJvcigiREVSIHNlcXVlbmNlIGxlbmd0aCBpcyB0b28gbG9uZyIpO2lmKDQ4IT09ZVswXSl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIERFUiBzZXF1ZW5jZSIpO2lmKGVbMV0hPT1lLmxlbmd0aC0yKXRocm93IG5ldyBFcnJvcigiREVSIHNlcXVlbmNlIGxlbmd0aCBpcyBpbnZhbGlkIik7aWYoMiE9PWVbMl0pdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBERVIgaW50ZWdlciIpO3ZhciByPWVbM107aWYoMD09PXIpdGhyb3cgbmV3IEVycm9yKCJSIGxlbmd0aCBpcyB6ZXJvIik7aWYoNStyPj1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlIgbGVuZ3RoIGlzIHRvbyBsb25nIik7aWYoMiE9PWVbNCtyXSl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIERFUiBpbnRlZ2VyICgyKSIpO3ZhciBuPWVbNStyXTtpZigwPT09bil0aHJvdyBuZXcgRXJyb3IoIlMgbGVuZ3RoIGlzIHplcm8iKTtpZig2K3IrbiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiUyBsZW5ndGggaXMgaW52YWxpZCIpO2lmKDEyOCZlWzRdKXRocm93IG5ldyBFcnJvcigiUiB2YWx1ZSBpcyBuZWdhdGl2ZSIpO2lmKHI+MSYmMD09PWVbNF0mJiEoMTI4JmVbNV0pKXRocm93IG5ldyBFcnJvcigiUiB2YWx1ZSBleGNlc3NpdmVseSBwYWRkZWQiKTtpZigxMjgmZVtyKzZdKXRocm93IG5ldyBFcnJvcigiUyB2YWx1ZSBpcyBuZWdhdGl2ZSIpO2lmKG4+MSYmMD09PWVbcis2XSYmISgxMjgmZVtyKzddKSl0aHJvdyBuZXcgRXJyb3IoIlMgdmFsdWUgZXhjZXNzaXZlbHkgcGFkZGVkIik7cmV0dXJue3I6ZS5zbGljZSg0LDQrciksczplLnNsaWNlKDYrcil9fWZ1bmN0aW9uIGVuY29kZShlLHIpe3ZhciBuPWUubGVuZ3RoLHQ9ci5sZW5ndGg7aWYoMD09PW4pdGhyb3cgbmV3IEVycm9yKCJSIGxlbmd0aCBpcyB6ZXJvIik7aWYoMD09PXQpdGhyb3cgbmV3IEVycm9yKCJTIGxlbmd0aCBpcyB6ZXJvIik7aWYobj4zMyl0aHJvdyBuZXcgRXJyb3IoIlIgbGVuZ3RoIGlzIHRvbyBsb25nIik7aWYodD4zMyl0aHJvdyBuZXcgRXJyb3IoIlMgbGVuZ3RoIGlzIHRvbyBsb25nIik7aWYoMTI4JmVbMF0pdGhyb3cgbmV3IEVycm9yKCJSIHZhbHVlIGlzIG5lZ2F0aXZlIik7aWYoMTI4JnJbMF0pdGhyb3cgbmV3IEVycm9yKCJTIHZhbHVlIGlzIG5lZ2F0aXZlIik7aWYobj4xJiYwPT09ZVswXSYmISgxMjgmZVsxXSkpdGhyb3cgbmV3IEVycm9yKCJSIHZhbHVlIGV4Y2Vzc2l2ZWx5IHBhZGRlZCIpO2lmKHQ+MSYmMD09PXJbMF0mJiEoMTI4JnJbMV0pKXRocm93IG5ldyBFcnJvcigiUyB2YWx1ZSBleGNlc3NpdmVseSBwYWRkZWQiKTt2YXIgbz1CdWZmZXIuYWxsb2NVbnNhZmUoNituK3QpO3JldHVybiBvWzBdPTQ4LG9bMV09by5sZW5ndGgtMixvWzJdPTIsb1szXT1lLmxlbmd0aCxlLmNvcHkobyw0KSxvWzQrbl09MixvWzUrbl09ci5sZW5ndGgsci5jb3B5KG8sNituKSxvfXZhciBCdWZmZXI9cmVxdWlyZSgic2FmZS1idWZmZXIiKS5CdWZmZXI7bW9kdWxlLmV4cG9ydHM9e2NoZWNrOmNoZWNrLGRlY29kZTpkZWNvZGUsZW5jb2RlOmVuY29kZX07DQoNCiAgfSx7InNhZmUtYnVmZmVyIjo4Mn1dLDQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAhZnVuY3Rpb24odCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcih0LGkpe2lmKCF0KXRocm93IG5ldyBFcnJvcihpfHwiQXNzZXJ0aW9uIGZhaWxlZCIpfWZ1bmN0aW9uIGgodCxpKXt0LnN1cGVyXz1pO3ZhciByPWZ1bmN0aW9uKCl7fTtyLnByb3RvdHlwZT1pLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgcix0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10fWZ1bmN0aW9uIG4odCxpLHIpe2lmKG4uaXNCTih0KSlyZXR1cm4gdDt0aGlzLm5lZ2F0aXZlPTAsdGhpcy53b3Jkcz1udWxsLHRoaXMubGVuZ3RoPTAsdGhpcy5yZWQ9bnVsbCxudWxsIT09dCYmKCJsZSIhPT1pJiYiYmUiIT09aXx8KHI9aSxpPTEwKSx0aGlzLl9pbml0KHR8fDAsaXx8MTAscnx8ImJlIikpfWZ1bmN0aW9uIGUodCxpLHIpe2Zvcih2YXIgaD0wLG49TWF0aC5taW4odC5sZW5ndGgsciksZT1pO2U8bjtlKyspe3ZhciBvPXQuY2hhckNvZGVBdChlKS00ODtoPDw9NCxofD1vPj00OSYmbzw9NTQ/by00OSsxMDpvPj0xNyYmbzw9MjI/by0xNysxMDoxNSZvfXJldHVybiBofWZ1bmN0aW9uIG8odCxpLHIsaCl7Zm9yKHZhciBuPTAsZT1NYXRoLm1pbih0Lmxlbmd0aCxyKSxvPWk7bzxlO28rKyl7dmFyIHM9dC5jaGFyQ29kZUF0KG8pLTQ4O24qPWgsbis9cz49NDk/cy00OSsxMDpzPj0xNz9zLTE3KzEwOnN9cmV0dXJuIG59ZnVuY3Rpb24gcyh0KXtmb3IodmFyIGk9bmV3IEFycmF5KHQuYml0TGVuZ3RoKCkpLHI9MDtyPGkubGVuZ3RoO3IrKyl7dmFyIGg9ci8yNnwwLG49ciUyNjtpW3JdPSh0LndvcmRzW2hdJjE8PG4pPj4+bn1yZXR1cm4gaX1mdW5jdGlvbiB1KHQsaSxyKXtyLm5lZ2F0aXZlPWkubmVnYXRpdmVedC5uZWdhdGl2ZTt2YXIgaD10Lmxlbmd0aCtpLmxlbmd0aHwwO3IubGVuZ3RoPWgsaD1oLTF8MDt2YXIgbj0wfHQud29yZHNbMF0sZT0wfGkud29yZHNbMF0sbz1uKmUscz02NzEwODg2MyZvLHU9by82NzEwODg2NHwwO3Iud29yZHNbMF09cztmb3IodmFyIGE9MTthPGg7YSsrKXtmb3IodmFyIGw9dT4+PjI2LG09NjcxMDg4NjMmdSxmPU1hdGgubWluKGEsaS5sZW5ndGgtMSksZD1NYXRoLm1heCgwLGEtdC5sZW5ndGgrMSk7ZDw9ZjtkKyspe3ZhciBwPWEtZHwwO2wrPShvPShuPTB8dC53b3Jkc1twXSkqKGU9MHxpLndvcmRzW2RdKSttKS82NzEwODg2NHwwLG09NjcxMDg4NjMmb31yLndvcmRzW2FdPTB8bSx1PTB8bH1yZXR1cm4gMCE9PXU/ci53b3Jkc1thXT0wfHU6ci5sZW5ndGgtLSxyLnN0cmlwKCl9ZnVuY3Rpb24gYSh0LGkscil7ci5uZWdhdGl2ZT1pLm5lZ2F0aXZlXnQubmVnYXRpdmUsci5sZW5ndGg9dC5sZW5ndGgraS5sZW5ndGg7Zm9yKHZhciBoPTAsbj0wLGU9MDtlPHIubGVuZ3RoLTE7ZSsrKXt2YXIgbz1uO249MDtmb3IodmFyIHM9NjcxMDg4NjMmaCx1PU1hdGgubWluKGUsaS5sZW5ndGgtMSksYT1NYXRoLm1heCgwLGUtdC5sZW5ndGgrMSk7YTw9dTthKyspe3ZhciBsPWUtYSxtPSgwfHQud29yZHNbbF0pKigwfGkud29yZHNbYV0pLGY9NjcxMDg4NjMmbTtzPTY3MTA4ODYzJihmPWYrc3wwKSxuKz0obz0obz1vKyhtLzY3MTA4ODY0fDApfDApKyhmPj4+MjYpfDApPj4+MjYsbyY9NjcxMDg4NjN9ci53b3Jkc1tlXT1zLGg9byxvPW59cmV0dXJuIDAhPT1oP3Iud29yZHNbZV09aDpyLmxlbmd0aC0tLHIuc3RyaXAoKX1mdW5jdGlvbiBsKHQsaSxyKXtyZXR1cm4obmV3IG0pLm11bHAodCxpLHIpfWZ1bmN0aW9uIG0odCxpKXt0aGlzLng9dCx0aGlzLnk9aX1mdW5jdGlvbiBmKHQsaSl7dGhpcy5uYW1lPXQsdGhpcy5wPW5ldyBuKGksMTYpLHRoaXMubj10aGlzLnAuYml0TGVuZ3RoKCksdGhpcy5rPW5ldyBuKDEpLml1c2hsbih0aGlzLm4pLmlzdWIodGhpcy5wKSx0aGlzLnRtcD10aGlzLl90bXAoKX1mdW5jdGlvbiBkKCl7Zi5jYWxsKHRoaXMsImsyNTYiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZiIpfWZ1bmN0aW9uIHAoKXtmLmNhbGwodGhpcywicDIyNCIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxIil9ZnVuY3Rpb24gTSgpe2YuY2FsbCh0aGlzLCJwMTkyIiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYiKX1mdW5jdGlvbiB2KCl7Zi5jYWxsKHRoaXMsIjI1NTE5IiwiN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCIpfWZ1bmN0aW9uIGcodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXt2YXIgaT1uLl9wcmltZSh0KTt0aGlzLm09aS5wLHRoaXMucHJpbWU9aX1lbHNlIHIodC5ndG4oMSksIm1vZHVsdXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMSIpLHRoaXMubT10LHRoaXMucHJpbWU9bnVsbH1mdW5jdGlvbiBjKHQpe2cuY2FsbCh0aGlzLHQpLHRoaXMuc2hpZnQ9dGhpcy5tLmJpdExlbmd0aCgpLHRoaXMuc2hpZnQlMjYhPTAmJih0aGlzLnNoaWZ0Kz0yNi10aGlzLnNoaWZ0JTI2KSx0aGlzLnI9bmV3IG4oMSkuaXVzaGxuKHRoaXMuc2hpZnQpLHRoaXMucjI9dGhpcy5pbW9kKHRoaXMuci5zcXIoKSksdGhpcy5yaW52PXRoaXMuci5faW52bXAodGhpcy5tKSx0aGlzLm1pbnY9dGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pLHRoaXMubWludj10aGlzLm1pbnYudW1vZCh0aGlzLnIpLHRoaXMubWludj10aGlzLnIuc3ViKHRoaXMubWludil9Im9iamVjdCI9PXR5cGVvZiB0P3QuZXhwb3J0cz1uOmkuQk49bixuLkJOPW4sbi53b3JkU2l6ZT0yNjt2YXIgdzt0cnl7dz1yZXF1aXJlKCJidWZmZXIiKS5CdWZmZXJ9Y2F0Y2godCl7fW4uaXNCTj1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIG58fG51bGwhPT10JiYib2JqZWN0Ij09dHlwZW9mIHQmJnQuY29uc3RydWN0b3Iud29yZFNpemU9PT1uLndvcmRTaXplJiZBcnJheS5pc0FycmF5KHQud29yZHMpfSxuLm1heD1mdW5jdGlvbih0LGkpe3JldHVybiB0LmNtcChpKT4wP3Q6aX0sbi5taW49ZnVuY3Rpb24odCxpKXtyZXR1cm4gdC5jbXAoaSk8MD90Oml9LG4ucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKHQsaSxoKXtpZigibnVtYmVyIj09dHlwZW9mIHQpcmV0dXJuIHRoaXMuX2luaXROdW1iZXIodCxpLGgpO2lmKCJvYmplY3QiPT10eXBlb2YgdClyZXR1cm4gdGhpcy5faW5pdEFycmF5KHQsaSxoKTsiaGV4Ij09PWkmJihpPTE2KSxyKGk9PT0oMHxpKSYmaT49MiYmaTw9MzYpO3ZhciBuPTA7Ii0iPT09KHQ9dC50b1N0cmluZygpLnJlcGxhY2UoL1xzKy9nLCIiKSlbMF0mJm4rKywxNj09PWk/dGhpcy5fcGFyc2VIZXgodCxuKTp0aGlzLl9wYXJzZUJhc2UodCxpLG4pLCItIj09PXRbMF0mJih0aGlzLm5lZ2F0aXZlPTEpLHRoaXMuc3RyaXAoKSwibGUiPT09aCYmdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLGksaCl9LG4ucHJvdG90eXBlLl9pbml0TnVtYmVyPWZ1bmN0aW9uKHQsaSxoKXt0PDAmJih0aGlzLm5lZ2F0aXZlPTEsdD0tdCksdDw2NzEwODg2ND8odGhpcy53b3Jkcz1bNjcxMDg4NjMmdF0sdGhpcy5sZW5ndGg9MSk6dDw0NTAzNTk5NjI3MzcwNDk2Pyh0aGlzLndvcmRzPVs2NzEwODg2MyZ0LHQvNjcxMDg4NjQmNjcxMDg4NjNdLHRoaXMubGVuZ3RoPTIpOihyKHQ8OTAwNzE5OTI1NDc0MDk5MiksdGhpcy53b3Jkcz1bNjcxMDg4NjMmdCx0LzY3MTA4ODY0JjY3MTA4ODYzLDFdLHRoaXMubGVuZ3RoPTMpLCJsZSI9PT1oJiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksaSxoKX0sbi5wcm90b3R5cGUuX2luaXRBcnJheT1mdW5jdGlvbih0LGksaCl7aWYocigibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKSx0Lmxlbmd0aDw9MClyZXR1cm4gdGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MSx0aGlzO3RoaXMubGVuZ3RoPU1hdGguY2VpbCh0Lmxlbmd0aC8zKSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPTA7bjx0aGlzLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT0wO3ZhciBlLG8scz0wO2lmKCJiZSI9PT1oKWZvcihuPXQubGVuZ3RoLTEsZT0wO24+PTA7bi09MylvPXRbbl18dFtuLTFdPDw4fHRbbi0yXTw8MTYsdGhpcy53b3Jkc1tlXXw9bzw8cyY2NzEwODg2Myx0aGlzLndvcmRzW2UrMV09bz4+PjI2LXMmNjcxMDg4NjMsKHMrPTI0KT49MjYmJihzLT0yNixlKyspO2Vsc2UgaWYoImxlIj09PWgpZm9yKG49MCxlPTA7bjx0Lmxlbmd0aDtuKz0zKW89dFtuXXx0W24rMV08PDh8dFtuKzJdPDwxNix0aGlzLndvcmRzW2VdfD1vPDxzJjY3MTA4ODYzLHRoaXMud29yZHNbZSsxXT1vPj4+MjYtcyY2NzEwODg2Mywocys9MjQpPj0yNiYmKHMtPTI2LGUrKyk7cmV0dXJuIHRoaXMuc3RyaXAoKX0sbi5wcm90b3R5cGUuX3BhcnNlSGV4PWZ1bmN0aW9uKHQsaSl7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKCh0Lmxlbmd0aC1pKS82KSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciByPTA7cjx0aGlzLmxlbmd0aDtyKyspdGhpcy53b3Jkc1tyXT0wO3ZhciBoLG4sbz0wO2ZvcihyPXQubGVuZ3RoLTYsaD0wO3I+PWk7ci09NiluPWUodCxyLHIrNiksdGhpcy53b3Jkc1toXXw9bjw8byY2NzEwODg2Myx0aGlzLndvcmRzW2grMV18PW4+Pj4yNi1vJjQxOTQzMDMsKG8rPTI0KT49MjYmJihvLT0yNixoKyspO3IrNiE9PWkmJihuPWUodCxpLHIrNiksdGhpcy53b3Jkc1toXXw9bjw8byY2NzEwODg2Myx0aGlzLndvcmRzW2grMV18PW4+Pj4yNi1vJjQxOTQzMDMpLHRoaXMuc3RyaXAoKX0sbi5wcm90b3R5cGUuX3BhcnNlQmFzZT1mdW5jdGlvbih0LGkscil7dGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MTtmb3IodmFyIGg9MCxuPTE7bjw9NjcxMDg4NjM7bio9aSloKys7aC0tLG49bi9pfDA7Zm9yKHZhciBlPXQubGVuZ3RoLXIscz1lJWgsdT1NYXRoLm1pbihlLGUtcykrcixhPTAsbD1yO2w8dTtsKz1oKWE9byh0LGwsbCtoLGkpLHRoaXMuaW11bG4obiksdGhpcy53b3Jkc1swXSthPDY3MTA4ODY0P3RoaXMud29yZHNbMF0rPWE6dGhpcy5faWFkZG4oYSk7aWYoMCE9PXMpe3ZhciBtPTE7Zm9yKGE9byh0LGwsdC5sZW5ndGgsaSksbD0wO2w8cztsKyspbSo9aTt0aGlzLmltdWxuKG0pLHRoaXMud29yZHNbMF0rYTw2NzEwODg2ND90aGlzLndvcmRzWzBdKz1hOnRoaXMuX2lhZGRuKGEpfX0sbi5wcm90b3R5cGUuY29weT1mdW5jdGlvbih0KXt0LndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBpPTA7aTx0aGlzLmxlbmd0aDtpKyspdC53b3Jkc1tpXT10aGlzLndvcmRzW2ldO3QubGVuZ3RoPXRoaXMubGVuZ3RoLHQubmVnYXRpdmU9dGhpcy5uZWdhdGl2ZSx0LnJlZD10aGlzLnJlZH0sbi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgdD1uZXcgbihudWxsKTtyZXR1cm4gdGhpcy5jb3B5KHQpLHR9LG4ucHJvdG90eXBlLl9leHBhbmQ9ZnVuY3Rpb24odCl7Zm9yKDt0aGlzLmxlbmd0aDx0Oyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7cmV0dXJuIHRoaXN9LG4ucHJvdG90eXBlLnN0cmlwPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmxlbmd0aD4xJiYwPT09dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXTspdGhpcy5sZW5ndGgtLTtyZXR1cm4gdGhpcy5fbm9ybVNpZ24oKX0sbi5wcm90b3R5cGUuX25vcm1TaWduPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLmxlbmd0aCYmMD09PXRoaXMud29yZHNbMF0mJih0aGlzLm5lZ2F0aXZlPTApLHRoaXN9LG4ucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yZWQ/IjxCTi1SOiAiOiI8Qk46ICIpK3RoaXMudG9TdHJpbmcoMTYpKyI+In07dmFyIHk9WyIiLCIwIiwiMDAiLCIwMDAiLCIwMDAwIiwiMDAwMDAiLCIwMDAwMDAiLCIwMDAwMDAwIiwiMDAwMDAwMDAiLCIwMDAwMDAwMDAiLCIwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIl0sYj1bMCwwLDI1LDE2LDEyLDExLDEwLDksOCw4LDcsNyw3LDcsNiw2LDYsNiw2LDYsNiw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1XSxfPVswLDAsMzM1NTQ0MzIsNDMwNDY3MjEsMTY3NzcyMTYsNDg4MjgxMjUsNjA0NjYxNzYsNDAzNTM2MDcsMTY3NzcyMTYsNDMwNDY3MjEsMWU3LDE5NDg3MTcxLDM1ODMxODA4LDYyNzQ4NTE3LDc1Mjk1MzYsMTEzOTA2MjUsMTY3NzcyMTYsMjQxMzc1NjksMzQwMTIyMjQsNDcwNDU4ODEsNjRlNiw0MDg0MTAxLDUxNTM2MzIsNjQzNjM0Myw3OTYyNjI0LDk3NjU2MjUsMTE4ODEzNzYsMTQzNDg5MDcsMTcyMTAzNjgsMjA1MTExNDksMjQzZTUsMjg2MjkxNTEsMzM1NTQ0MzIsMzkxMzUzOTMsNDU0MzU0MjQsNTI1MjE4NzUsNjA0NjYxNzZdO24ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQsaSl7dD10fHwxMCxpPTB8aXx8MTt2YXIgaDtpZigxNj09PXR8fCJoZXgiPT09dCl7aD0iIjtmb3IodmFyIG49MCxlPTAsbz0wO288dGhpcy5sZW5ndGg7bysrKXt2YXIgcz10aGlzLndvcmRzW29dLHU9KDE2Nzc3MjE1JihzPDxufGUpKS50b1N0cmluZygxNik7aD0wIT09KGU9cz4+PjI0LW4mMTY3NzcyMTUpfHxvIT09dGhpcy5sZW5ndGgtMT95WzYtdS5sZW5ndGhdK3UraDp1K2gsKG4rPTIpPj0yNiYmKG4tPTI2LG8tLSl9Zm9yKDAhPT1lJiYoaD1lLnRvU3RyaW5nKDE2KStoKTtoLmxlbmd0aCVpIT0wOyloPSIwIitoO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZSYmKGg9Ii0iK2gpLGh9aWYodD09PSgwfHQpJiZ0Pj0yJiZ0PD0zNil7dmFyIGE9Ylt0XSxsPV9bdF07aD0iIjt2YXIgbT10aGlzLmNsb25lKCk7Zm9yKG0ubmVnYXRpdmU9MDshbS5pc1plcm8oKTspe3ZhciBmPW0ubW9kbihsKS50b1N0cmluZyh0KTtoPShtPW0uaWRpdm4obCkpLmlzWmVybygpP2YraDp5W2EtZi5sZW5ndGhdK2YraH1mb3IodGhpcy5pc1plcm8oKSYmKGg9IjAiK2gpO2gubGVuZ3RoJWkhPTA7KWg9IjAiK2g7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYoaD0iLSIraCksaH1yKCExLCJCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2Iil9LG4ucHJvdG90eXBlLnRvTnVtYmVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53b3Jkc1swXTtyZXR1cm4gMj09PXRoaXMubGVuZ3RoP3QrPTY3MTA4ODY0KnRoaXMud29yZHNbMV06Mz09PXRoaXMubGVuZ3RoJiYxPT09dGhpcy53b3Jkc1syXT90Kz00NTAzNTk5NjI3MzcwNDk2KzY3MTA4ODY0KnRoaXMud29yZHNbMV06dGhpcy5sZW5ndGg+MiYmcighMSwiTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzIiksMCE9PXRoaXMubmVnYXRpdmU/LXQ6dH0sbi5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9TdHJpbmcoMTYpfSxuLnByb3RvdHlwZS50b0J1ZmZlcj1mdW5jdGlvbih0LGkpe3JldHVybiByKHZvaWQgMCE9PXcpLHRoaXMudG9BcnJheUxpa2Uodyx0LGkpfSxuLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKHQsaSl7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksdCxpKX0sbi5wcm90b3R5cGUudG9BcnJheUxpa2U9ZnVuY3Rpb24odCxpLGgpe3ZhciBuPXRoaXMuYnl0ZUxlbmd0aCgpLGU9aHx8TWF0aC5tYXgoMSxuKTtyKG48PWUsImJ5dGUgYXJyYXkgbG9uZ2VyIHRoYW4gZGVzaXJlZCBsZW5ndGgiKSxyKGU+MCwiUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwIiksdGhpcy5zdHJpcCgpO3ZhciBvLHMsdT0ibGUiPT09aSxhPW5ldyB0KGUpLGw9dGhpcy5jbG9uZSgpO2lmKHUpe2ZvcihzPTA7IWwuaXNaZXJvKCk7cysrKW89bC5hbmRsbigyNTUpLGwuaXVzaHJuKDgpLGFbc109bztmb3IoO3M8ZTtzKyspYVtzXT0wfWVsc2V7Zm9yKHM9MDtzPGUtbjtzKyspYVtzXT0wO2ZvcihzPTA7IWwuaXNaZXJvKCk7cysrKW89bC5hbmRsbigyNTUpLGwuaXVzaHJuKDgpLGFbZS1zLTFdPW99cmV0dXJuIGF9LE1hdGguY2x6MzI/bi5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbih0KXtyZXR1cm4gMzItTWF0aC5jbHozMih0KX06bi5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbih0KXt2YXIgaT10LHI9MDtyZXR1cm4gaT49NDA5NiYmKHIrPTEzLGk+Pj49MTMpLGk+PTY0JiYocis9NyxpPj4+PTcpLGk+PTgmJihyKz00LGk+Pj49NCksaT49MiYmKHIrPTIsaT4+Pj0yKSxyK2l9LG4ucHJvdG90eXBlLl96ZXJvQml0cz1mdW5jdGlvbih0KXtpZigwPT09dClyZXR1cm4gMjY7dmFyIGk9dCxyPTA7cmV0dXJuIDA9PSg4MTkxJmkpJiYocis9MTMsaT4+Pj0xMyksMD09KDEyNyZpKSYmKHIrPTcsaT4+Pj03KSwwPT0oMTUmaSkmJihyKz00LGk+Pj49NCksMD09KDMmaSkmJihyKz0yLGk+Pj49MiksMD09KDEmaSkmJnIrKyxyfSxuLnByb3RvdHlwZS5iaXRMZW5ndGg9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdLGk9dGhpcy5fY291bnRCaXRzKHQpO3JldHVybiAyNioodGhpcy5sZW5ndGgtMSkraX0sbi5wcm90b3R5cGUuemVyb0JpdHM9ZnVuY3Rpb24oKXtpZih0aGlzLmlzWmVybygpKXJldHVybiAwO2Zvcih2YXIgdD0wLGk9MDtpPHRoaXMubGVuZ3RoO2krKyl7dmFyIHI9dGhpcy5femVyb0JpdHModGhpcy53b3Jkc1tpXSk7aWYodCs9ciwyNiE9PXIpYnJlYWt9cmV0dXJuIHR9LG4ucHJvdG90eXBlLmJ5dGVMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkvOCl9LG4ucHJvdG90eXBlLnRvVHdvcz1mdW5jdGlvbih0KXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/dGhpcy5hYnMoKS5pbm90bih0KS5pYWRkbigxKTp0aGlzLmNsb25lKCl9LG4ucHJvdG90eXBlLmZyb21Ud29zPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRlc3RuKHQtMSk/dGhpcy5ub3RuKHQpLmlhZGRuKDEpLmluZWcoKTp0aGlzLmNsb25lKCl9LG4ucHJvdG90eXBlLmlzTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlfSxuLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmluZWcoKX0sbi5wcm90b3R5cGUuaW5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzWmVybygpfHwodGhpcy5uZWdhdGl2ZV49MSksdGhpc30sbi5wcm90b3R5cGUuaXVvcj1mdW5jdGlvbih0KXtmb3IoO3RoaXMubGVuZ3RoPHQubGVuZ3RoOyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspdGhpcy53b3Jkc1tpXT10aGlzLndvcmRzW2ldfHQud29yZHNbaV07cmV0dXJuIHRoaXMuc3RyaXAoKX0sbi5wcm90b3R5cGUuaW9yPWZ1bmN0aW9uKHQpe3JldHVybiByKDA9PSh0aGlzLm5lZ2F0aXZlfHQubmVnYXRpdmUpKSx0aGlzLml1b3IodCl9LG4ucHJvdG90eXBlLm9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaW9yKHQpOnQuY2xvbmUoKS5pb3IodGhpcyl9LG4ucHJvdG90eXBlLnVvcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1b3IodCk6dC5jbG9uZSgpLml1b3IodGhpcyl9LG4ucHJvdG90eXBlLml1YW5kPWZ1bmN0aW9uKHQpe3ZhciBpO2k9dGhpcy5sZW5ndGg+dC5sZW5ndGg/dDp0aGlzO2Zvcih2YXIgcj0wO3I8aS5sZW5ndGg7cisrKXRoaXMud29yZHNbcl09dGhpcy53b3Jkc1tyXSZ0LndvcmRzW3JdO3JldHVybiB0aGlzLmxlbmd0aD1pLmxlbmd0aCx0aGlzLnN0cmlwKCl9LG4ucHJvdG90eXBlLmlhbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHIoMD09KHRoaXMubmVnYXRpdmV8dC5uZWdhdGl2ZSkpLHRoaXMuaXVhbmQodCl9LG4ucHJvdG90eXBlLmFuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLmlhbmQodCk6dC5jbG9uZSgpLmlhbmQodGhpcyl9LG4ucHJvdG90eXBlLnVhbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdWFuZCh0KTp0LmNsb25lKCkuaXVhbmQodGhpcyl9LG4ucHJvdG90eXBlLml1eG9yPWZ1bmN0aW9uKHQpe3ZhciBpLHI7dGhpcy5sZW5ndGg+dC5sZW5ndGg/KGk9dGhpcyxyPXQpOihpPXQscj10aGlzKTtmb3IodmFyIGg9MDtoPHIubGVuZ3RoO2grKyl0aGlzLndvcmRzW2hdPWkud29yZHNbaF1eci53b3Jkc1toXTtpZih0aGlzIT09aSlmb3IoO2g8aS5sZW5ndGg7aCsrKXRoaXMud29yZHNbaF09aS53b3Jkc1toXTtyZXR1cm4gdGhpcy5sZW5ndGg9aS5sZW5ndGgsdGhpcy5zdHJpcCgpfSxuLnByb3RvdHlwZS5peG9yPWZ1bmN0aW9uKHQpe3JldHVybiByKDA9PSh0aGlzLm5lZ2F0aXZlfHQubmVnYXRpdmUpKSx0aGlzLml1eG9yKHQpfSxuLnByb3RvdHlwZS54b3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5peG9yKHQpOnQuY2xvbmUoKS5peG9yKHRoaXMpfSxuLnByb3RvdHlwZS51eG9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaXV4b3IodCk6dC5jbG9uZSgpLml1eG9yKHRoaXMpfSxuLnByb3RvdHlwZS5pbm90bj1mdW5jdGlvbih0KXtyKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIGk9MHxNYXRoLmNlaWwodC8yNiksaD10JTI2O3RoaXMuX2V4cGFuZChpKSxoPjAmJmktLTtmb3IodmFyIG49MDtuPGk7bisrKXRoaXMud29yZHNbbl09NjcxMDg4NjMmfnRoaXMud29yZHNbbl07cmV0dXJuIGg+MCYmKHRoaXMud29yZHNbbl09fnRoaXMud29yZHNbbl0mNjcxMDg4NjM+PjI2LWgpLHRoaXMuc3RyaXAoKX0sbi5wcm90b3R5cGUubm90bj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlub3RuKHQpfSxuLnByb3RvdHlwZS5zZXRuPWZ1bmN0aW9uKHQsaSl7cigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBoPXQvMjZ8MCxuPXQlMjY7cmV0dXJuIHRoaXMuX2V4cGFuZChoKzEpLHRoaXMud29yZHNbaF09aT90aGlzLndvcmRzW2hdfDE8PG46dGhpcy53b3Jkc1toXSZ+KDE8PG4pLHRoaXMuc3RyaXAoKX0sbi5wcm90b3R5cGUuaWFkZD1mdW5jdGlvbih0KXt2YXIgaTtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCxpPXRoaXMuaXN1Yih0KSx0aGlzLm5lZ2F0aXZlXj0xLHRoaXMuX25vcm1TaWduKCk7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlKXJldHVybiB0Lm5lZ2F0aXZlPTAsaT10aGlzLmlzdWIodCksdC5uZWdhdGl2ZT0xLGkuX25vcm1TaWduKCk7dmFyIHIsaDt0aGlzLmxlbmd0aD50Lmxlbmd0aD8ocj10aGlzLGg9dCk6KHI9dCxoPXRoaXMpO2Zvcih2YXIgbj0wLGU9MDtlPGgubGVuZ3RoO2UrKylpPSgwfHIud29yZHNbZV0pKygwfGgud29yZHNbZV0pK24sdGhpcy53b3Jkc1tlXT02NzEwODg2MyZpLG49aT4+PjI2O2Zvcig7MCE9PW4mJmU8ci5sZW5ndGg7ZSsrKWk9KDB8ci53b3Jkc1tlXSkrbix0aGlzLndvcmRzW2VdPTY3MTA4ODYzJmksbj1pPj4+MjY7aWYodGhpcy5sZW5ndGg9ci5sZW5ndGgsMCE9PW4pdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF09bix0aGlzLmxlbmd0aCsrO2Vsc2UgaWYociE9PXRoaXMpZm9yKDtlPHIubGVuZ3RoO2UrKyl0aGlzLndvcmRzW2VdPXIud29yZHNbZV07cmV0dXJuIHRoaXN9LG4ucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXt2YXIgaTtyZXR1cm4gMCE9PXQubmVnYXRpdmUmJjA9PT10aGlzLm5lZ2F0aXZlPyh0Lm5lZ2F0aXZlPTAsaT10aGlzLnN1Yih0KSx0Lm5lZ2F0aXZlXj0xLGkpOjA9PT10Lm5lZ2F0aXZlJiYwIT09dGhpcy5uZWdhdGl2ZT8odGhpcy5uZWdhdGl2ZT0wLGk9dC5zdWIodGhpcyksdGhpcy5uZWdhdGl2ZT0xLGkpOnRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYWRkKHQpOnQuY2xvbmUoKS5pYWRkKHRoaXMpfSxuLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uKHQpe2lmKDAhPT10Lm5lZ2F0aXZlKXt0Lm5lZ2F0aXZlPTA7dmFyIGk9dGhpcy5pYWRkKHQpO3JldHVybiB0Lm5lZ2F0aXZlPTEsaS5fbm9ybVNpZ24oKX1pZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZCh0KSx0aGlzLm5lZ2F0aXZlPTEsdGhpcy5fbm9ybVNpZ24oKTt2YXIgcj10aGlzLmNtcCh0KTtpZigwPT09cilyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMubGVuZ3RoPTEsdGhpcy53b3Jkc1swXT0wLHRoaXM7dmFyIGgsbjtyPjA/KGg9dGhpcyxuPXQpOihoPXQsbj10aGlzKTtmb3IodmFyIGU9MCxvPTA7bzxuLmxlbmd0aDtvKyspZT0oaT0oMHxoLndvcmRzW29dKS0oMHxuLndvcmRzW29dKStlKT4+MjYsdGhpcy53b3Jkc1tvXT02NzEwODg2MyZpO2Zvcig7MCE9PWUmJm88aC5sZW5ndGg7bysrKWU9KGk9KDB8aC53b3Jkc1tvXSkrZSk+PjI2LHRoaXMud29yZHNbb109NjcxMDg4NjMmaTtpZigwPT09ZSYmbzxoLmxlbmd0aCYmaCE9PXRoaXMpZm9yKDtvPGgubGVuZ3RoO28rKyl0aGlzLndvcmRzW29dPWgud29yZHNbb107cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLG8pLGghPT10aGlzJiYodGhpcy5uZWdhdGl2ZT0xKSx0aGlzLnN0cmlwKCl9LG4ucHJvdG90eXBlLnN1Yj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIodCl9O3ZhciBrPWZ1bmN0aW9uKHQsaSxyKXt2YXIgaCxuLGUsbz10LndvcmRzLHM9aS53b3Jkcyx1PXIud29yZHMsYT0wLGw9MHxvWzBdLG09ODE5MSZsLGY9bD4+PjEzLGQ9MHxvWzFdLHA9ODE5MSZkLE09ZD4+PjEzLHY9MHxvWzJdLGc9ODE5MSZ2LGM9dj4+PjEzLHc9MHxvWzNdLHk9ODE5MSZ3LGI9dz4+PjEzLF89MHxvWzRdLGs9ODE5MSZfLEE9Xz4+PjEzLHg9MHxvWzVdLFM9ODE5MSZ4LFo9eD4+PjEzLHE9MHxvWzZdLFI9ODE5MSZxLEI9cT4+PjEzLE49MHxvWzddLEw9ODE5MSZOLEk9Tj4+PjEzLHo9MHxvWzhdLFQ9ODE5MSZ6LEU9ej4+PjEzLE89MHxvWzldLGo9ODE5MSZPLEs9Tz4+PjEzLFA9MHxzWzBdLEY9ODE5MSZQLEM9UD4+PjEzLEQ9MHxzWzFdLEg9ODE5MSZELEo9RD4+PjEzLFU9MHxzWzJdLEc9ODE5MSZVLFE9VT4+PjEzLFY9MHxzWzNdLFc9ODE5MSZWLFg9Vj4+PjEzLFk9MHxzWzRdLCQ9ODE5MSZZLHR0PVk+Pj4xMyxpdD0wfHNbNV0scnQ9ODE5MSZpdCxodD1pdD4+PjEzLG50PTB8c1s2XSxldD04MTkxJm50LG90PW50Pj4+MTMsc3Q9MHxzWzddLHV0PTgxOTEmc3QsYXQ9c3Q+Pj4xMyxsdD0wfHNbOF0sbXQ9ODE5MSZsdCxmdD1sdD4+PjEzLGR0PTB8c1s5XSxwdD04MTkxJmR0LE10PWR0Pj4+MTM7ci5uZWdhdGl2ZT10Lm5lZ2F0aXZlXmkubmVnYXRpdmUsci5sZW5ndGg9MTk7dmFyIHZ0PShhKyhoPU1hdGguaW11bChtLEYpKXwwKSsoKDgxOTEmKG49KG49TWF0aC5pbXVsKG0sQykpK01hdGguaW11bChmLEYpfDApKTw8MTMpfDA7YT0oKGU9TWF0aC5pbXVsKGYsQykpKyhuPj4+MTMpfDApKyh2dD4+PjI2KXwwLHZ0Jj02NzEwODg2MyxoPU1hdGguaW11bChwLEYpLG49KG49TWF0aC5pbXVsKHAsQykpK01hdGguaW11bChNLEYpfDAsZT1NYXRoLmltdWwoTSxDKTt2YXIgZ3Q9KGErKGg9aCtNYXRoLmltdWwobSxIKXwwKXwwKSsoKDgxOTEmKG49KG49bitNYXRoLmltdWwobSxKKXwwKStNYXRoLmltdWwoZixIKXwwKSk8PDEzKXwwO2E9KChlPWUrTWF0aC5pbXVsKGYsSil8MCkrKG4+Pj4xMyl8MCkrKGd0Pj4+MjYpfDAsZ3QmPTY3MTA4ODYzLGg9TWF0aC5pbXVsKGcsRiksbj0obj1NYXRoLmltdWwoZyxDKSkrTWF0aC5pbXVsKGMsRil8MCxlPU1hdGguaW11bChjLEMpLGg9aCtNYXRoLmltdWwocCxIKXwwLG49KG49bitNYXRoLmltdWwocCxKKXwwKStNYXRoLmltdWwoTSxIKXwwLGU9ZStNYXRoLmltdWwoTSxKKXwwO3ZhciBjdD0oYSsoaD1oK01hdGguaW11bChtLEcpfDApfDApKygoODE5MSYobj0obj1uK01hdGguaW11bChtLFEpfDApK01hdGguaW11bChmLEcpfDApKTw8MTMpfDA7YT0oKGU9ZStNYXRoLmltdWwoZixRKXwwKSsobj4+PjEzKXwwKSsoY3Q+Pj4yNil8MCxjdCY9NjcxMDg4NjMsaD1NYXRoLmltdWwoeSxGKSxuPShuPU1hdGguaW11bCh5LEMpKStNYXRoLmltdWwoYixGKXwwLGU9TWF0aC5pbXVsKGIsQyksaD1oK01hdGguaW11bChnLEgpfDAsbj0obj1uK01hdGguaW11bChnLEopfDApK01hdGguaW11bChjLEgpfDAsZT1lK01hdGguaW11bChjLEopfDAsaD1oK01hdGguaW11bChwLEcpfDAsbj0obj1uK01hdGguaW11bChwLFEpfDApK01hdGguaW11bChNLEcpfDAsZT1lK01hdGguaW11bChNLFEpfDA7dmFyIHd0PShhKyhoPWgrTWF0aC5pbXVsKG0sVyl8MCl8MCkrKCg4MTkxJihuPShuPW4rTWF0aC5pbXVsKG0sWCl8MCkrTWF0aC5pbXVsKGYsVyl8MCkpPDwxMyl8MDthPSgoZT1lK01hdGguaW11bChmLFgpfDApKyhuPj4+MTMpfDApKyh3dD4+PjI2KXwwLHd0Jj02NzEwODg2MyxoPU1hdGguaW11bChrLEYpLG49KG49TWF0aC5pbXVsKGssQykpK01hdGguaW11bChBLEYpfDAsZT1NYXRoLmltdWwoQSxDKSxoPWgrTWF0aC5pbXVsKHksSCl8MCxuPShuPW4rTWF0aC5pbXVsKHksSil8MCkrTWF0aC5pbXVsKGIsSCl8MCxlPWUrTWF0aC5pbXVsKGIsSil8MCxoPWgrTWF0aC5pbXVsKGcsRyl8MCxuPShuPW4rTWF0aC5pbXVsKGcsUSl8MCkrTWF0aC5pbXVsKGMsRyl8MCxlPWUrTWF0aC5pbXVsKGMsUSl8MCxoPWgrTWF0aC5pbXVsKHAsVyl8MCxuPShuPW4rTWF0aC5pbXVsKHAsWCl8MCkrTWF0aC5pbXVsKE0sVyl8MCxlPWUrTWF0aC5pbXVsKE0sWCl8MDt2YXIgeXQ9KGErKGg9aCtNYXRoLmltdWwobSwkKXwwKXwwKSsoKDgxOTEmKG49KG49bitNYXRoLmltdWwobSx0dCl8MCkrTWF0aC5pbXVsKGYsJCl8MCkpPDwxMyl8MDthPSgoZT1lK01hdGguaW11bChmLHR0KXwwKSsobj4+PjEzKXwwKSsoeXQ+Pj4yNil8MCx5dCY9NjcxMDg4NjMsaD1NYXRoLmltdWwoUyxGKSxuPShuPU1hdGguaW11bChTLEMpKStNYXRoLmltdWwoWixGKXwwLGU9TWF0aC5pbXVsKFosQyksaD1oK01hdGguaW11bChrLEgpfDAsbj0obj1uK01hdGguaW11bChrLEopfDApK01hdGguaW11bChBLEgpfDAsZT1lK01hdGguaW11bChBLEopfDAsaD1oK01hdGguaW11bCh5LEcpfDAsbj0obj1uK01hdGguaW11bCh5LFEpfDApK01hdGguaW11bChiLEcpfDAsZT1lK01hdGguaW11bChiLFEpfDAsaD1oK01hdGguaW11bChnLFcpfDAsbj0obj1uK01hdGguaW11bChnLFgpfDApK01hdGguaW11bChjLFcpfDAsZT1lK01hdGguaW11bChjLFgpfDAsaD1oK01hdGguaW11bChwLCQpfDAsbj0obj1uK01hdGguaW11bChwLHR0KXwwKStNYXRoLmltdWwoTSwkKXwwLGU9ZStNYXRoLmltdWwoTSx0dCl8MDt2YXIgYnQ9KGErKGg9aCtNYXRoLmltdWwobSxydCl8MCl8MCkrKCg4MTkxJihuPShuPW4rTWF0aC5pbXVsKG0saHQpfDApK01hdGguaW11bChmLHJ0KXwwKSk8PDEzKXwwO2E9KChlPWUrTWF0aC5pbXVsKGYsaHQpfDApKyhuPj4+MTMpfDApKyhidD4+PjI2KXwwLGJ0Jj02NzEwODg2MyxoPU1hdGguaW11bChSLEYpLG49KG49TWF0aC5pbXVsKFIsQykpK01hdGguaW11bChCLEYpfDAsZT1NYXRoLmltdWwoQixDKSxoPWgrTWF0aC5pbXVsKFMsSCl8MCxuPShuPW4rTWF0aC5pbXVsKFMsSil8MCkrTWF0aC5pbXVsKFosSCl8MCxlPWUrTWF0aC5pbXVsKFosSil8MCxoPWgrTWF0aC5pbXVsKGssRyl8MCxuPShuPW4rTWF0aC5pbXVsKGssUSl8MCkrTWF0aC5pbXVsKEEsRyl8MCxlPWUrTWF0aC5pbXVsKEEsUSl8MCxoPWgrTWF0aC5pbXVsKHksVyl8MCxuPShuPW4rTWF0aC5pbXVsKHksWCl8MCkrTWF0aC5pbXVsKGIsVyl8MCxlPWUrTWF0aC5pbXVsKGIsWCl8MCxoPWgrTWF0aC5pbXVsKGcsJCl8MCxuPShuPW4rTWF0aC5pbXVsKGcsdHQpfDApK01hdGguaW11bChjLCQpfDAsZT1lK01hdGguaW11bChjLHR0KXwwLGg9aCtNYXRoLmltdWwocCxydCl8MCxuPShuPW4rTWF0aC5pbXVsKHAsaHQpfDApK01hdGguaW11bChNLHJ0KXwwLGU9ZStNYXRoLmltdWwoTSxodCl8MDt2YXIgX3Q9KGErKGg9aCtNYXRoLmltdWwobSxldCl8MCl8MCkrKCg4MTkxJihuPShuPW4rTWF0aC5pbXVsKG0sb3QpfDApK01hdGguaW11bChmLGV0KXwwKSk8PDEzKXwwO2E9KChlPWUrTWF0aC5pbXVsKGYsb3QpfDApKyhuPj4+MTMpfDApKyhfdD4+PjI2KXwwLF90Jj02NzEwODg2MyxoPU1hdGguaW11bChMLEYpLG49KG49TWF0aC5pbXVsKEwsQykpK01hdGguaW11bChJLEYpfDAsZT1NYXRoLmltdWwoSSxDKSxoPWgrTWF0aC5pbXVsKFIsSCl8MCxuPShuPW4rTWF0aC5pbXVsKFIsSil8MCkrTWF0aC5pbXVsKEIsSCl8MCxlPWUrTWF0aC5pbXVsKEIsSil8MCxoPWgrTWF0aC5pbXVsKFMsRyl8MCxuPShuPW4rTWF0aC5pbXVsKFMsUSl8MCkrTWF0aC5pbXVsKFosRyl8MCxlPWUrTWF0aC5pbXVsKFosUSl8MCxoPWgrTWF0aC5pbXVsKGssVyl8MCxuPShuPW4rTWF0aC5pbXVsKGssWCl8MCkrTWF0aC5pbXVsKEEsVyl8MCxlPWUrTWF0aC5pbXVsKEEsWCl8MCxoPWgrTWF0aC5pbXVsKHksJCl8MCxuPShuPW4rTWF0aC5pbXVsKHksdHQpfDApK01hdGguaW11bChiLCQpfDAsZT1lK01hdGguaW11bChiLHR0KXwwLGg9aCtNYXRoLmltdWwoZyxydCl8MCxuPShuPW4rTWF0aC5pbXVsKGcsaHQpfDApK01hdGguaW11bChjLHJ0KXwwLGU9ZStNYXRoLmltdWwoYyxodCl8MCxoPWgrTWF0aC5pbXVsKHAsZXQpfDAsbj0obj1uK01hdGguaW11bChwLG90KXwwKStNYXRoLmltdWwoTSxldCl8MCxlPWUrTWF0aC5pbXVsKE0sb3QpfDA7dmFyIGt0PShhKyhoPWgrTWF0aC5pbXVsKG0sdXQpfDApfDApKygoODE5MSYobj0obj1uK01hdGguaW11bChtLGF0KXwwKStNYXRoLmltdWwoZix1dCl8MCkpPDwxMyl8MDthPSgoZT1lK01hdGguaW11bChmLGF0KXwwKSsobj4+PjEzKXwwKSsoa3Q+Pj4yNil8MCxrdCY9NjcxMDg4NjMsaD1NYXRoLmltdWwoVCxGKSxuPShuPU1hdGguaW11bChULEMpKStNYXRoLmltdWwoRSxGKXwwLGU9TWF0aC5pbXVsKEUsQyksaD1oK01hdGguaW11bChMLEgpfDAsbj0obj1uK01hdGguaW11bChMLEopfDApK01hdGguaW11bChJLEgpfDAsZT1lK01hdGguaW11bChJLEopfDAsaD1oK01hdGguaW11bChSLEcpfDAsbj0obj1uK01hdGguaW11bChSLFEpfDApK01hdGguaW11bChCLEcpfDAsZT1lK01hdGguaW11bChCLFEpfDAsaD1oK01hdGguaW11bChTLFcpfDAsbj0obj1uK01hdGguaW11bChTLFgpfDApK01hdGguaW11bChaLFcpfDAsZT1lK01hdGguaW11bChaLFgpfDAsaD1oK01hdGguaW11bChrLCQpfDAsbj0obj1uK01hdGguaW11bChrLHR0KXwwKStNYXRoLmltdWwoQSwkKXwwLGU9ZStNYXRoLmltdWwoQSx0dCl8MCxoPWgrTWF0aC5pbXVsKHkscnQpfDAsbj0obj1uK01hdGguaW11bCh5LGh0KXwwKStNYXRoLmltdWwoYixydCl8MCxlPWUrTWF0aC5pbXVsKGIsaHQpfDAsaD1oK01hdGguaW11bChnLGV0KXwwLG49KG49bitNYXRoLmltdWwoZyxvdCl8MCkrTWF0aC5pbXVsKGMsZXQpfDAsZT1lK01hdGguaW11bChjLG90KXwwLGg9aCtNYXRoLmltdWwocCx1dCl8MCxuPShuPW4rTWF0aC5pbXVsKHAsYXQpfDApK01hdGguaW11bChNLHV0KXwwLGU9ZStNYXRoLmltdWwoTSxhdCl8MDt2YXIgQXQ9KGErKGg9aCtNYXRoLmltdWwobSxtdCl8MCl8MCkrKCg4MTkxJihuPShuPW4rTWF0aC5pbXVsKG0sZnQpfDApK01hdGguaW11bChmLG10KXwwKSk8PDEzKXwwO2E9KChlPWUrTWF0aC5pbXVsKGYsZnQpfDApKyhuPj4+MTMpfDApKyhBdD4+PjI2KXwwLEF0Jj02NzEwODg2MyxoPU1hdGguaW11bChqLEYpLG49KG49TWF0aC5pbXVsKGosQykpK01hdGguaW11bChLLEYpfDAsZT1NYXRoLmltdWwoSyxDKSxoPWgrTWF0aC5pbXVsKFQsSCl8MCxuPShuPW4rTWF0aC5pbXVsKFQsSil8MCkrTWF0aC5pbXVsKEUsSCl8MCxlPWUrTWF0aC5pbXVsKEUsSil8MCxoPWgrTWF0aC5pbXVsKEwsRyl8MCxuPShuPW4rTWF0aC5pbXVsKEwsUSl8MCkrTWF0aC5pbXVsKEksRyl8MCxlPWUrTWF0aC5pbXVsKEksUSl8MCxoPWgrTWF0aC5pbXVsKFIsVyl8MCxuPShuPW4rTWF0aC5pbXVsKFIsWCl8MCkrTWF0aC5pbXVsKEIsVyl8MCxlPWUrTWF0aC5pbXVsKEIsWCl8MCxoPWgrTWF0aC5pbXVsKFMsJCl8MCxuPShuPW4rTWF0aC5pbXVsKFMsdHQpfDApK01hdGguaW11bChaLCQpfDAsZT1lK01hdGguaW11bChaLHR0KXwwLGg9aCtNYXRoLmltdWwoayxydCl8MCxuPShuPW4rTWF0aC5pbXVsKGssaHQpfDApK01hdGguaW11bChBLHJ0KXwwLGU9ZStNYXRoLmltdWwoQSxodCl8MCxoPWgrTWF0aC5pbXVsKHksZXQpfDAsbj0obj1uK01hdGguaW11bCh5LG90KXwwKStNYXRoLmltdWwoYixldCl8MCxlPWUrTWF0aC5pbXVsKGIsb3QpfDAsaD1oK01hdGguaW11bChnLHV0KXwwLG49KG49bitNYXRoLmltdWwoZyxhdCl8MCkrTWF0aC5pbXVsKGMsdXQpfDAsZT1lK01hdGguaW11bChjLGF0KXwwLGg9aCtNYXRoLmltdWwocCxtdCl8MCxuPShuPW4rTWF0aC5pbXVsKHAsZnQpfDApK01hdGguaW11bChNLG10KXwwLGU9ZStNYXRoLmltdWwoTSxmdCl8MDt2YXIgeHQ9KGErKGg9aCtNYXRoLmltdWwobSxwdCl8MCl8MCkrKCg4MTkxJihuPShuPW4rTWF0aC5pbXVsKG0sTXQpfDApK01hdGguaW11bChmLHB0KXwwKSk8PDEzKXwwO2E9KChlPWUrTWF0aC5pbXVsKGYsTXQpfDApKyhuPj4+MTMpfDApKyh4dD4+PjI2KXwwLHh0Jj02NzEwODg2MyxoPU1hdGguaW11bChqLEgpLG49KG49TWF0aC5pbXVsKGosSikpK01hdGguaW11bChLLEgpfDAsZT1NYXRoLmltdWwoSyxKKSxoPWgrTWF0aC5pbXVsKFQsRyl8MCxuPShuPW4rTWF0aC5pbXVsKFQsUSl8MCkrTWF0aC5pbXVsKEUsRyl8MCxlPWUrTWF0aC5pbXVsKEUsUSl8MCxoPWgrTWF0aC5pbXVsKEwsVyl8MCxuPShuPW4rTWF0aC5pbXVsKEwsWCl8MCkrTWF0aC5pbXVsKEksVyl8MCxlPWUrTWF0aC5pbXVsKEksWCl8MCxoPWgrTWF0aC5pbXVsKFIsJCl8MCxuPShuPW4rTWF0aC5pbXVsKFIsdHQpfDApK01hdGguaW11bChCLCQpfDAsZT1lK01hdGguaW11bChCLHR0KXwwLGg9aCtNYXRoLmltdWwoUyxydCl8MCxuPShuPW4rTWF0aC5pbXVsKFMsaHQpfDApK01hdGguaW11bChaLHJ0KXwwLGU9ZStNYXRoLmltdWwoWixodCl8MCxoPWgrTWF0aC5pbXVsKGssZXQpfDAsbj0obj1uK01hdGguaW11bChrLG90KXwwKStNYXRoLmltdWwoQSxldCl8MCxlPWUrTWF0aC5pbXVsKEEsb3QpfDAsaD1oK01hdGguaW11bCh5LHV0KXwwLG49KG49bitNYXRoLmltdWwoeSxhdCl8MCkrTWF0aC5pbXVsKGIsdXQpfDAsZT1lK01hdGguaW11bChiLGF0KXwwLGg9aCtNYXRoLmltdWwoZyxtdCl8MCxuPShuPW4rTWF0aC5pbXVsKGcsZnQpfDApK01hdGguaW11bChjLG10KXwwLGU9ZStNYXRoLmltdWwoYyxmdCl8MDt2YXIgU3Q9KGErKGg9aCtNYXRoLmltdWwocCxwdCl8MCl8MCkrKCg4MTkxJihuPShuPW4rTWF0aC5pbXVsKHAsTXQpfDApK01hdGguaW11bChNLHB0KXwwKSk8PDEzKXwwO2E9KChlPWUrTWF0aC5pbXVsKE0sTXQpfDApKyhuPj4+MTMpfDApKyhTdD4+PjI2KXwwLFN0Jj02NzEwODg2MyxoPU1hdGguaW11bChqLEcpLG49KG49TWF0aC5pbXVsKGosUSkpK01hdGguaW11bChLLEcpfDAsZT1NYXRoLmltdWwoSyxRKSxoPWgrTWF0aC5pbXVsKFQsVyl8MCxuPShuPW4rTWF0aC5pbXVsKFQsWCl8MCkrTWF0aC5pbXVsKEUsVyl8MCxlPWUrTWF0aC5pbXVsKEUsWCl8MCxoPWgrTWF0aC5pbXVsKEwsJCl8MCxuPShuPW4rTWF0aC5pbXVsKEwsdHQpfDApK01hdGguaW11bChJLCQpfDAsZT1lK01hdGguaW11bChJLHR0KXwwLGg9aCtNYXRoLmltdWwoUixydCl8MCxuPShuPW4rTWF0aC5pbXVsKFIsaHQpfDApK01hdGguaW11bChCLHJ0KXwwLGU9ZStNYXRoLmltdWwoQixodCl8MCxoPWgrTWF0aC5pbXVsKFMsZXQpfDAsbj0obj1uK01hdGguaW11bChTLG90KXwwKStNYXRoLmltdWwoWixldCl8MCxlPWUrTWF0aC5pbXVsKFosb3QpfDAsaD1oK01hdGguaW11bChrLHV0KXwwLG49KG49bitNYXRoLmltdWwoayxhdCl8MCkrTWF0aC5pbXVsKEEsdXQpfDAsZT1lK01hdGguaW11bChBLGF0KXwwLGg9aCtNYXRoLmltdWwoeSxtdCl8MCxuPShuPW4rTWF0aC5pbXVsKHksZnQpfDApK01hdGguaW11bChiLG10KXwwLGU9ZStNYXRoLmltdWwoYixmdCl8MDt2YXIgWnQ9KGErKGg9aCtNYXRoLmltdWwoZyxwdCl8MCl8MCkrKCg4MTkxJihuPShuPW4rTWF0aC5pbXVsKGcsTXQpfDApK01hdGguaW11bChjLHB0KXwwKSk8PDEzKXwwO2E9KChlPWUrTWF0aC5pbXVsKGMsTXQpfDApKyhuPj4+MTMpfDApKyhadD4+PjI2KXwwLFp0Jj02NzEwODg2MyxoPU1hdGguaW11bChqLFcpLG49KG49TWF0aC5pbXVsKGosWCkpK01hdGguaW11bChLLFcpfDAsZT1NYXRoLmltdWwoSyxYKSxoPWgrTWF0aC5pbXVsKFQsJCl8MCxuPShuPW4rTWF0aC5pbXVsKFQsdHQpfDApK01hdGguaW11bChFLCQpfDAsZT1lK01hdGguaW11bChFLHR0KXwwLGg9aCtNYXRoLmltdWwoTCxydCl8MCxuPShuPW4rTWF0aC5pbXVsKEwsaHQpfDApK01hdGguaW11bChJLHJ0KXwwLGU9ZStNYXRoLmltdWwoSSxodCl8MCxoPWgrTWF0aC5pbXVsKFIsZXQpfDAsbj0obj1uK01hdGguaW11bChSLG90KXwwKStNYXRoLmltdWwoQixldCl8MCxlPWUrTWF0aC5pbXVsKEIsb3QpfDAsaD1oK01hdGguaW11bChTLHV0KXwwLG49KG49bitNYXRoLmltdWwoUyxhdCl8MCkrTWF0aC5pbXVsKFosdXQpfDAsZT1lK01hdGguaW11bChaLGF0KXwwLGg9aCtNYXRoLmltdWwoayxtdCl8MCxuPShuPW4rTWF0aC5pbXVsKGssZnQpfDApK01hdGguaW11bChBLG10KXwwLGU9ZStNYXRoLmltdWwoQSxmdCl8MDt2YXIgcXQ9KGErKGg9aCtNYXRoLmltdWwoeSxwdCl8MCl8MCkrKCg4MTkxJihuPShuPW4rTWF0aC5pbXVsKHksTXQpfDApK01hdGguaW11bChiLHB0KXwwKSk8PDEzKXwwO2E9KChlPWUrTWF0aC5pbXVsKGIsTXQpfDApKyhuPj4+MTMpfDApKyhxdD4+PjI2KXwwLHF0Jj02NzEwODg2MyxoPU1hdGguaW11bChqLCQpLG49KG49TWF0aC5pbXVsKGosdHQpKStNYXRoLmltdWwoSywkKXwwLGU9TWF0aC5pbXVsKEssdHQpLGg9aCtNYXRoLmltdWwoVCxydCl8MCxuPShuPW4rTWF0aC5pbXVsKFQsaHQpfDApK01hdGguaW11bChFLHJ0KXwwLGU9ZStNYXRoLmltdWwoRSxodCl8MCxoPWgrTWF0aC5pbXVsKEwsZXQpfDAsbj0obj1uK01hdGguaW11bChMLG90KXwwKStNYXRoLmltdWwoSSxldCl8MCxlPWUrTWF0aC5pbXVsKEksb3QpfDAsaD1oK01hdGguaW11bChSLHV0KXwwLG49KG49bitNYXRoLmltdWwoUixhdCl8MCkrTWF0aC5pbXVsKEIsdXQpfDAsZT1lK01hdGguaW11bChCLGF0KXwwLGg9aCtNYXRoLmltdWwoUyxtdCl8MCxuPShuPW4rTWF0aC5pbXVsKFMsZnQpfDApK01hdGguaW11bChaLG10KXwwLGU9ZStNYXRoLmltdWwoWixmdCl8MDt2YXIgUnQ9KGErKGg9aCtNYXRoLmltdWwoayxwdCl8MCl8MCkrKCg4MTkxJihuPShuPW4rTWF0aC5pbXVsKGssTXQpfDApK01hdGguaW11bChBLHB0KXwwKSk8PDEzKXwwO2E9KChlPWUrTWF0aC5pbXVsKEEsTXQpfDApKyhuPj4+MTMpfDApKyhSdD4+PjI2KXwwLFJ0Jj02NzEwODg2MyxoPU1hdGguaW11bChqLHJ0KSxuPShuPU1hdGguaW11bChqLGh0KSkrTWF0aC5pbXVsKEsscnQpfDAsZT1NYXRoLmltdWwoSyxodCksaD1oK01hdGguaW11bChULGV0KXwwLG49KG49bitNYXRoLmltdWwoVCxvdCl8MCkrTWF0aC5pbXVsKEUsZXQpfDAsZT1lK01hdGguaW11bChFLG90KXwwLGg9aCtNYXRoLmltdWwoTCx1dCl8MCxuPShuPW4rTWF0aC5pbXVsKEwsYXQpfDApK01hdGguaW11bChJLHV0KXwwLGU9ZStNYXRoLmltdWwoSSxhdCl8MCxoPWgrTWF0aC5pbXVsKFIsbXQpfDAsbj0obj1uK01hdGguaW11bChSLGZ0KXwwKStNYXRoLmltdWwoQixtdCl8MCxlPWUrTWF0aC5pbXVsKEIsZnQpfDA7dmFyIEJ0PShhKyhoPWgrTWF0aC5pbXVsKFMscHQpfDApfDApKygoODE5MSYobj0obj1uK01hdGguaW11bChTLE10KXwwKStNYXRoLmltdWwoWixwdCl8MCkpPDwxMyl8MDthPSgoZT1lK01hdGguaW11bChaLE10KXwwKSsobj4+PjEzKXwwKSsoQnQ+Pj4yNil8MCxCdCY9NjcxMDg4NjMsaD1NYXRoLmltdWwoaixldCksbj0obj1NYXRoLmltdWwoaixvdCkpK01hdGguaW11bChLLGV0KXwwLGU9TWF0aC5pbXVsKEssb3QpLGg9aCtNYXRoLmltdWwoVCx1dCl8MCxuPShuPW4rTWF0aC5pbXVsKFQsYXQpfDApK01hdGguaW11bChFLHV0KXwwLGU9ZStNYXRoLmltdWwoRSxhdCl8MCxoPWgrTWF0aC5pbXVsKEwsbXQpfDAsbj0obj1uK01hdGguaW11bChMLGZ0KXwwKStNYXRoLmltdWwoSSxtdCl8MCxlPWUrTWF0aC5pbXVsKEksZnQpfDA7dmFyIE50PShhKyhoPWgrTWF0aC5pbXVsKFIscHQpfDApfDApKygoODE5MSYobj0obj1uK01hdGguaW11bChSLE10KXwwKStNYXRoLmltdWwoQixwdCl8MCkpPDwxMyl8MDthPSgoZT1lK01hdGguaW11bChCLE10KXwwKSsobj4+PjEzKXwwKSsoTnQ+Pj4yNil8MCxOdCY9NjcxMDg4NjMsaD1NYXRoLmltdWwoaix1dCksbj0obj1NYXRoLmltdWwoaixhdCkpK01hdGguaW11bChLLHV0KXwwLGU9TWF0aC5pbXVsKEssYXQpLGg9aCtNYXRoLmltdWwoVCxtdCl8MCxuPShuPW4rTWF0aC5pbXVsKFQsZnQpfDApK01hdGguaW11bChFLG10KXwwLGU9ZStNYXRoLmltdWwoRSxmdCl8MDt2YXIgTHQ9KGErKGg9aCtNYXRoLmltdWwoTCxwdCl8MCl8MCkrKCg4MTkxJihuPShuPW4rTWF0aC5pbXVsKEwsTXQpfDApK01hdGguaW11bChJLHB0KXwwKSk8PDEzKXwwO2E9KChlPWUrTWF0aC5pbXVsKEksTXQpfDApKyhuPj4+MTMpfDApKyhMdD4+PjI2KXwwLEx0Jj02NzEwODg2MyxoPU1hdGguaW11bChqLG10KSxuPShuPU1hdGguaW11bChqLGZ0KSkrTWF0aC5pbXVsKEssbXQpfDAsZT1NYXRoLmltdWwoSyxmdCk7dmFyIEl0PShhKyhoPWgrTWF0aC5pbXVsKFQscHQpfDApfDApKygoODE5MSYobj0obj1uK01hdGguaW11bChULE10KXwwKStNYXRoLmltdWwoRSxwdCl8MCkpPDwxMyl8MDthPSgoZT1lK01hdGguaW11bChFLE10KXwwKSsobj4+PjEzKXwwKSsoSXQ+Pj4yNil8MCxJdCY9NjcxMDg4NjM7dmFyIHp0PShhKyhoPU1hdGguaW11bChqLHB0KSl8MCkrKCg4MTkxJihuPShuPU1hdGguaW11bChqLE10KSkrTWF0aC5pbXVsKEsscHQpfDApKTw8MTMpfDA7cmV0dXJuIGE9KChlPU1hdGguaW11bChLLE10KSkrKG4+Pj4xMyl8MCkrKHp0Pj4+MjYpfDAsenQmPTY3MTA4ODYzLHVbMF09dnQsdVsxXT1ndCx1WzJdPWN0LHVbM109d3QsdVs0XT15dCx1WzVdPWJ0LHVbNl09X3QsdVs3XT1rdCx1WzhdPUF0LHVbOV09eHQsdVsxMF09U3QsdVsxMV09WnQsdVsxMl09cXQsdVsxM109UnQsdVsxNF09QnQsdVsxNV09TnQsdVsxNl09THQsdVsxN109SXQsdVsxOF09enQsMCE9PWEmJih1WzE5XT1hLHIubGVuZ3RoKyspLHJ9O01hdGguaW11bHx8KGs9dSksbi5wcm90b3R5cGUubXVsVG89ZnVuY3Rpb24odCxpKXt2YXIgcj10aGlzLmxlbmd0aCt0Lmxlbmd0aDtyZXR1cm4gMTA9PT10aGlzLmxlbmd0aCYmMTA9PT10Lmxlbmd0aD9rKHRoaXMsdCxpKTpyPDYzP3UodGhpcyx0LGkpOnI8MTAyND9hKHRoaXMsdCxpKTpsKHRoaXMsdCxpKX0sbS5wcm90b3R5cGUubWFrZVJCVD1mdW5jdGlvbih0KXtmb3IodmFyIGk9bmV3IEFycmF5KHQpLHI9bi5wcm90b3R5cGUuX2NvdW50Qml0cyh0KS0xLGg9MDtoPHQ7aCsrKWlbaF09dGhpcy5yZXZCaW4oaCxyLHQpO3JldHVybiBpfSxtLnByb3RvdHlwZS5yZXZCaW49ZnVuY3Rpb24odCxpLHIpe2lmKDA9PT10fHx0PT09ci0xKXJldHVybiB0O2Zvcih2YXIgaD0wLG49MDtuPGk7bisrKWh8PSgxJnQpPDxpLW4tMSx0Pj49MTtyZXR1cm4gaH0sbS5wcm90b3R5cGUucGVybXV0ZT1mdW5jdGlvbih0LGkscixoLG4sZSl7Zm9yKHZhciBvPTA7bzxlO28rKyloW29dPWlbdFtvXV0sbltvXT1yW3Rbb11dfSxtLnByb3RvdHlwZS50cmFuc2Zvcm09ZnVuY3Rpb24odCxpLHIsaCxuLGUpe3RoaXMucGVybXV0ZShlLHQsaSxyLGgsbik7Zm9yKHZhciBvPTE7bzxuO288PD0xKWZvcih2YXIgcz1vPDwxLHU9TWF0aC5jb3MoMipNYXRoLlBJL3MpLGE9TWF0aC5zaW4oMipNYXRoLlBJL3MpLGw9MDtsPG47bCs9cylmb3IodmFyIG09dSxmPWEsZD0wO2Q8bztkKyspe3ZhciBwPXJbbCtkXSxNPWhbbCtkXSx2PXJbbCtkK29dLGc9aFtsK2Qrb10sYz1tKnYtZipnO2c9bSpnK2Yqdix2PWMscltsK2RdPXArdixoW2wrZF09TStnLHJbbCtkK29dPXAtdixoW2wrZCtvXT1NLWcsZCE9PXMmJihjPXUqbS1hKmYsZj11KmYrYSptLG09Yyl9fSxtLnByb3RvdHlwZS5ndWVzc0xlbjEzYj1mdW5jdGlvbih0LGkpe3ZhciByPTF8TWF0aC5tYXgoaSx0KSxoPTEmcixuPTA7Zm9yKHI9ci8yfDA7cjtyPj4+PTEpbisrO3JldHVybiAxPDxuKzEraH0sbS5wcm90b3R5cGUuY29uanVnYXRlPWZ1bmN0aW9uKHQsaSxyKXtpZighKHI8PTEpKWZvcih2YXIgaD0wO2g8ci8yO2grKyl7dmFyIG49dFtoXTt0W2hdPXRbci1oLTFdLHRbci1oLTFdPW4sbj1pW2hdLGlbaF09LWlbci1oLTFdLGlbci1oLTFdPS1ufX0sbS5wcm90b3R5cGUubm9ybWFsaXplMTNiPWZ1bmN0aW9uKHQsaSl7Zm9yKHZhciByPTAsaD0wO2g8aS8yO2grKyl7dmFyIG49ODE5MipNYXRoLnJvdW5kKHRbMipoKzFdL2kpK01hdGgucm91bmQodFsyKmhdL2kpK3I7dFtoXT02NzEwODg2MyZuLHI9bjw2NzEwODg2ND8wOm4vNjcxMDg4NjR8MH1yZXR1cm4gdH0sbS5wcm90b3R5cGUuY29udmVydDEzYj1mdW5jdGlvbih0LGksaCxuKXtmb3IodmFyIGU9MCxvPTA7bzxpO28rKyllKz0wfHRbb10saFsyKm9dPTgxOTEmZSxlPj4+PTEzLGhbMipvKzFdPTgxOTEmZSxlPj4+PTEzO2ZvcihvPTIqaTtvPG47KytvKWhbb109MDtyKDA9PT1lKSxyKDA9PSgtODE5MiZlKSl9LG0ucHJvdG90eXBlLnN0dWI9ZnVuY3Rpb24odCl7Zm9yKHZhciBpPW5ldyBBcnJheSh0KSxyPTA7cjx0O3IrKylpW3JdPTA7cmV0dXJuIGl9LG0ucHJvdG90eXBlLm11bHA9ZnVuY3Rpb24odCxpLHIpe3ZhciBoPTIqdGhpcy5ndWVzc0xlbjEzYih0Lmxlbmd0aCxpLmxlbmd0aCksbj10aGlzLm1ha2VSQlQoaCksZT10aGlzLnN0dWIoaCksbz1uZXcgQXJyYXkoaCkscz1uZXcgQXJyYXkoaCksdT1uZXcgQXJyYXkoaCksYT1uZXcgQXJyYXkoaCksbD1uZXcgQXJyYXkoaCksbT1uZXcgQXJyYXkoaCksZj1yLndvcmRzO2YubGVuZ3RoPWgsdGhpcy5jb252ZXJ0MTNiKHQud29yZHMsdC5sZW5ndGgsbyxoKSx0aGlzLmNvbnZlcnQxM2IoaS53b3JkcyxpLmxlbmd0aCxhLGgpLHRoaXMudHJhbnNmb3JtKG8sZSxzLHUsaCxuKSx0aGlzLnRyYW5zZm9ybShhLGUsbCxtLGgsbik7Zm9yKHZhciBkPTA7ZDxoO2QrKyl7dmFyIHA9c1tkXSpsW2RdLXVbZF0qbVtkXTt1W2RdPXNbZF0qbVtkXSt1W2RdKmxbZF0sc1tkXT1wfXJldHVybiB0aGlzLmNvbmp1Z2F0ZShzLHUsaCksdGhpcy50cmFuc2Zvcm0ocyx1LGYsZSxoLG4pLHRoaXMuY29uanVnYXRlKGYsZSxoKSx0aGlzLm5vcm1hbGl6ZTEzYihmLGgpLHIubmVnYXRpdmU9dC5uZWdhdGl2ZV5pLm5lZ2F0aXZlLHIubGVuZ3RoPXQubGVuZ3RoK2kubGVuZ3RoLHIuc3RyaXAoKX0sbi5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKHQpe3ZhciBpPW5ldyBuKG51bGwpO3JldHVybiBpLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCt0Lmxlbmd0aCksdGhpcy5tdWxUbyh0LGkpfSxuLnByb3RvdHlwZS5tdWxmPWZ1bmN0aW9uKHQpe3ZhciBpPW5ldyBuKG51bGwpO3JldHVybiBpLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCt0Lmxlbmd0aCksbCh0aGlzLHQsaSl9LG4ucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyh0LHRoaXMpfSxuLnByb3RvdHlwZS5pbXVsbj1mdW5jdGlvbih0KXtyKCJudW1iZXIiPT10eXBlb2YgdCkscih0PDY3MTA4ODY0KTtmb3IodmFyIGk9MCxoPTA7aDx0aGlzLmxlbmd0aDtoKyspe3ZhciBuPSgwfHRoaXMud29yZHNbaF0pKnQsZT0oNjcxMDg4NjMmbikrKDY3MTA4ODYzJmkpO2k+Pj0yNixpKz1uLzY3MTA4ODY0fDAsaSs9ZT4+PjI2LHRoaXMud29yZHNbaF09NjcxMDg4NjMmZX1yZXR1cm4gMCE9PWkmJih0aGlzLndvcmRzW2hdPWksdGhpcy5sZW5ndGgrKyksdGhpc30sbi5wcm90b3R5cGUubXVsbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmltdWxuKHQpfSxuLnByb3RvdHlwZS5zcXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tdWwodGhpcyl9LG4ucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSl9LG4ucHJvdG90eXBlLnBvdz1mdW5jdGlvbih0KXt2YXIgaT1zKHQpO2lmKDA9PT1pLmxlbmd0aClyZXR1cm4gbmV3IG4oMSk7Zm9yKHZhciByPXRoaXMsaD0wO2g8aS5sZW5ndGgmJjA9PT1pW2hdO2grKyxyPXIuc3FyKCkpO2lmKCsraDxpLmxlbmd0aClmb3IodmFyIGU9ci5zcXIoKTtoPGkubGVuZ3RoO2grKyxlPWUuc3FyKCkpMCE9PWlbaF0mJihyPXIubXVsKGUpKTtyZXR1cm4gcn0sbi5wcm90b3R5cGUuaXVzaGxuPWZ1bmN0aW9uKHQpe3IoIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgaSxoPXQlMjYsbj0odC1oKS8yNixlPTY3MTA4ODYzPj4+MjYtaDw8MjYtaDtpZigwIT09aCl7dmFyIG89MDtmb3IoaT0wO2k8dGhpcy5sZW5ndGg7aSsrKXt2YXIgcz10aGlzLndvcmRzW2ldJmUsdT0oMHx0aGlzLndvcmRzW2ldKS1zPDxoO3RoaXMud29yZHNbaV09dXxvLG89cz4+PjI2LWh9byYmKHRoaXMud29yZHNbaV09byx0aGlzLmxlbmd0aCsrKX1pZigwIT09bil7Zm9yKGk9dGhpcy5sZW5ndGgtMTtpPj0wO2ktLSl0aGlzLndvcmRzW2krbl09dGhpcy53b3Jkc1tpXTtmb3IoaT0wO2k8bjtpKyspdGhpcy53b3Jkc1tpXT0wO3RoaXMubGVuZ3RoKz1ufXJldHVybiB0aGlzLnN0cmlwKCl9LG4ucHJvdG90eXBlLmlzaGxuPWZ1bmN0aW9uKHQpe3JldHVybiByKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hsbih0KX0sbi5wcm90b3R5cGUuaXVzaHJuPWZ1bmN0aW9uKHQsaSxoKXtyKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIG47bj1pPyhpLWklMjYpLzI2OjA7dmFyIGU9dCUyNixvPU1hdGgubWluKCh0LWUpLzI2LHRoaXMubGVuZ3RoKSxzPTY3MTA4ODYzXjY3MTA4ODYzPj4+ZTw8ZSx1PWg7aWYobi09byxuPU1hdGgubWF4KDAsbiksdSl7Zm9yKHZhciBhPTA7YTxvO2ErKyl1LndvcmRzW2FdPXRoaXMud29yZHNbYV07dS5sZW5ndGg9b31pZigwPT09byk7ZWxzZSBpZih0aGlzLmxlbmd0aD5vKWZvcih0aGlzLmxlbmd0aC09byxhPTA7YTx0aGlzLmxlbmd0aDthKyspdGhpcy53b3Jkc1thXT10aGlzLndvcmRzW2Erb107ZWxzZSB0aGlzLndvcmRzWzBdPTAsdGhpcy5sZW5ndGg9MTt2YXIgbD0wO2ZvcihhPXRoaXMubGVuZ3RoLTE7YT49MCYmKDAhPT1sfHxhPj1uKTthLS0pe3ZhciBtPTB8dGhpcy53b3Jkc1thXTt0aGlzLndvcmRzW2FdPWw8PDI2LWV8bT4+PmUsbD1tJnN9cmV0dXJuIHUmJjAhPT1sJiYodS53b3Jkc1t1Lmxlbmd0aCsrXT1sKSwwPT09dGhpcy5sZW5ndGgmJih0aGlzLndvcmRzWzBdPTAsdGhpcy5sZW5ndGg9MSksdGhpcy5zdHJpcCgpfSxuLnByb3RvdHlwZS5pc2hybj1mdW5jdGlvbih0LGksaCl7cmV0dXJuIHIoMD09PXRoaXMubmVnYXRpdmUpLHRoaXMuaXVzaHJuKHQsaSxoKX0sbi5wcm90b3R5cGUuc2hsbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaGxuKHQpfSxuLnByb3RvdHlwZS51c2hsbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbih0KX0sbi5wcm90b3R5cGUuc2hybj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaHJuKHQpfSxuLnByb3RvdHlwZS51c2hybj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hybih0KX0sbi5wcm90b3R5cGUudGVzdG49ZnVuY3Rpb24odCl7cigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBpPXQlMjYsaD0odC1pKS8yNixuPTE8PGk7cmV0dXJuISh0aGlzLmxlbmd0aDw9aCkmJiEhKHRoaXMud29yZHNbaF0mbil9LG4ucHJvdG90eXBlLmltYXNrbj1mdW5jdGlvbih0KXtyKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIGk9dCUyNixoPSh0LWkpLzI2O2lmKHIoMD09PXRoaXMubmVnYXRpdmUsImltYXNrbiB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmUgbnVtYmVycyIpLHRoaXMubGVuZ3RoPD1oKXJldHVybiB0aGlzO2lmKDAhPT1pJiZoKyssdGhpcy5sZW5ndGg9TWF0aC5taW4oaCx0aGlzLmxlbmd0aCksMCE9PWkpe3ZhciBuPTY3MTA4ODYzXjY3MTA4ODYzPj4+aTw8aTt0aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdJj1ufXJldHVybiB0aGlzLnN0cmlwKCl9LG4ucHJvdG90eXBlLm1hc2tuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW1hc2tuKHQpfSxuLnByb3RvdHlwZS5pYWRkbj1mdW5jdGlvbih0KXtyZXR1cm4gcigibnVtYmVyIj09dHlwZW9mIHQpLHIodDw2NzEwODg2NCksdDwwP3RoaXMuaXN1Ym4oLXQpOjAhPT10aGlzLm5lZ2F0aXZlPzE9PT10aGlzLmxlbmd0aCYmKDB8dGhpcy53b3Jkc1swXSk8dD8odGhpcy53b3Jkc1swXT10LSgwfHRoaXMud29yZHNbMF0pLHRoaXMubmVnYXRpdmU9MCx0aGlzKToodGhpcy5uZWdhdGl2ZT0wLHRoaXMuaXN1Ym4odCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMpOnRoaXMuX2lhZGRuKHQpfSxuLnByb3RvdHlwZS5faWFkZG49ZnVuY3Rpb24odCl7dGhpcy53b3Jkc1swXSs9dDtmb3IodmFyIGk9MDtpPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2ldPj02NzEwODg2NDtpKyspdGhpcy53b3Jkc1tpXS09NjcxMDg4NjQsaT09PXRoaXMubGVuZ3RoLTE/dGhpcy53b3Jkc1tpKzFdPTE6dGhpcy53b3Jkc1tpKzFdKys7cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLGkrMSksdGhpc30sbi5wcm90b3R5cGUuaXN1Ym49ZnVuY3Rpb24odCl7aWYocigibnVtYmVyIj09dHlwZW9mIHQpLHIodDw2NzEwODg2NCksdDwwKXJldHVybiB0aGlzLmlhZGRuKC10KTtpZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZG4odCksdGhpcy5uZWdhdGl2ZT0xLHRoaXM7aWYodGhpcy53b3Jkc1swXS09dCwxPT09dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbMF08MCl0aGlzLndvcmRzWzBdPS10aGlzLndvcmRzWzBdLHRoaXMubmVnYXRpdmU9MTtlbHNlIGZvcih2YXIgaT0wO2k8dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbaV08MDtpKyspdGhpcy53b3Jkc1tpXSs9NjcxMDg4NjQsdGhpcy53b3Jkc1tpKzFdLT0xO3JldHVybiB0aGlzLnN0cmlwKCl9LG4ucHJvdG90eXBlLmFkZG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbih0KX0sbi5wcm90b3R5cGUuc3Vibj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWJuKHQpfSxuLnByb3RvdHlwZS5pYWJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzfSxuLnByb3RvdHlwZS5hYnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlhYnMoKX0sbi5wcm90b3R5cGUuX2lzaGxuc3VibXVsPWZ1bmN0aW9uKHQsaSxoKXt2YXIgbixlPXQubGVuZ3RoK2g7dGhpcy5fZXhwYW5kKGUpO3ZhciBvLHM9MDtmb3Iobj0wO248dC5sZW5ndGg7bisrKXtvPSgwfHRoaXMud29yZHNbbitoXSkrczt2YXIgdT0oMHx0LndvcmRzW25dKSppO3M9KChvLT02NzEwODg2MyZ1KT4+MjYpLSh1LzY3MTA4ODY0fDApLHRoaXMud29yZHNbbitoXT02NzEwODg2MyZvfWZvcig7bjx0aGlzLmxlbmd0aC1oO24rKylzPShvPSgwfHRoaXMud29yZHNbbitoXSkrcyk+PjI2LHRoaXMud29yZHNbbitoXT02NzEwODg2MyZvO2lmKDA9PT1zKXJldHVybiB0aGlzLnN0cmlwKCk7Zm9yKHIoLTE9PT1zKSxzPTAsbj0wO248dGhpcy5sZW5ndGg7bisrKXM9KG89LSgwfHRoaXMud29yZHNbbl0pK3MpPj4yNix0aGlzLndvcmRzW25dPTY3MTA4ODYzJm87cmV0dXJuIHRoaXMubmVnYXRpdmU9MSx0aGlzLnN0cmlwKCl9LG4ucHJvdG90eXBlLl93b3JkRGl2PWZ1bmN0aW9uKHQsaSl7dmFyIHI9dGhpcy5sZW5ndGgtdC5sZW5ndGgsaD10aGlzLmNsb25lKCksZT10LG89MHxlLndvcmRzW2UubGVuZ3RoLTFdOzAhPT0ocj0yNi10aGlzLl9jb3VudEJpdHMobykpJiYoZT1lLnVzaGxuKHIpLGguaXVzaGxuKHIpLG89MHxlLndvcmRzW2UubGVuZ3RoLTFdKTt2YXIgcyx1PWgubGVuZ3RoLWUubGVuZ3RoO2lmKCJtb2QiIT09aSl7KHM9bmV3IG4obnVsbCkpLmxlbmd0aD11KzEscy53b3Jkcz1uZXcgQXJyYXkocy5sZW5ndGgpO2Zvcih2YXIgYT0wO2E8cy5sZW5ndGg7YSsrKXMud29yZHNbYV09MH12YXIgbD1oLmNsb25lKCkuX2lzaGxuc3VibXVsKGUsMSx1KTswPT09bC5uZWdhdGl2ZSYmKGg9bCxzJiYocy53b3Jkc1t1XT0xKSk7Zm9yKHZhciBtPXUtMTttPj0wO20tLSl7dmFyIGY9NjcxMDg4NjQqKDB8aC53b3Jkc1tlLmxlbmd0aCttXSkrKDB8aC53b3Jkc1tlLmxlbmd0aCttLTFdKTtmb3IoZj1NYXRoLm1pbihmL298MCw2NzEwODg2MyksaC5faXNobG5zdWJtdWwoZSxmLG0pOzAhPT1oLm5lZ2F0aXZlOylmLS0saC5uZWdhdGl2ZT0wLGguX2lzaGxuc3VibXVsKGUsMSxtKSxoLmlzWmVybygpfHwoaC5uZWdhdGl2ZV49MSk7cyYmKHMud29yZHNbbV09Zil9cmV0dXJuIHMmJnMuc3RyaXAoKSxoLnN0cmlwKCksImRpdiIhPT1pJiYwIT09ciYmaC5pdXNocm4ocikse2RpdjpzfHxudWxsLG1vZDpofX0sbi5wcm90b3R5cGUuZGl2bW9kPWZ1bmN0aW9uKHQsaSxoKXtpZihyKCF0LmlzWmVybygpKSx0aGlzLmlzWmVybygpKXJldHVybntkaXY6bmV3IG4oMCksbW9kOm5ldyBuKDApfTt2YXIgZSxvLHM7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09dC5uZWdhdGl2ZT8ocz10aGlzLm5lZygpLmRpdm1vZCh0LGkpLCJtb2QiIT09aSYmKGU9cy5kaXYubmVnKCkpLCJkaXYiIT09aSYmKG89cy5tb2QubmVnKCksaCYmMCE9PW8ubmVnYXRpdmUmJm8uaWFkZCh0KSkse2RpdjplLG1vZDpvfSk6MD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlPyhzPXRoaXMuZGl2bW9kKHQubmVnKCksaSksIm1vZCIhPT1pJiYoZT1zLmRpdi5uZWcoKSkse2RpdjplLG1vZDpzLm1vZH0pOjAhPSh0aGlzLm5lZ2F0aXZlJnQubmVnYXRpdmUpPyhzPXRoaXMubmVnKCkuZGl2bW9kKHQubmVnKCksaSksImRpdiIhPT1pJiYobz1zLm1vZC5uZWcoKSxoJiYwIT09by5uZWdhdGl2ZSYmby5pc3ViKHQpKSx7ZGl2OnMuZGl2LG1vZDpvfSk6dC5sZW5ndGg+dGhpcy5sZW5ndGh8fHRoaXMuY21wKHQpPDA/e2RpdjpuZXcgbigwKSxtb2Q6dGhpc306MT09PXQubGVuZ3RoPyJkaXYiPT09aT97ZGl2OnRoaXMuZGl2bih0LndvcmRzWzBdKSxtb2Q6bnVsbH06Im1vZCI9PT1pP3tkaXY6bnVsbCxtb2Q6bmV3IG4odGhpcy5tb2RuKHQud29yZHNbMF0pKX06e2Rpdjp0aGlzLmRpdm4odC53b3Jkc1swXSksbW9kOm5ldyBuKHRoaXMubW9kbih0LndvcmRzWzBdKSl9OnRoaXMuX3dvcmREaXYodCxpKX0sbi5wcm90b3R5cGUuZGl2PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJkaXYiLCExKS5kaXZ9LG4ucHJvdG90eXBlLm1vZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kaXZtb2QodCwibW9kIiwhMSkubW9kfSxuLnByb3RvdHlwZS51bW9kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJtb2QiLCEwKS5tb2R9LG4ucHJvdG90eXBlLmRpdlJvdW5kPWZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuZGl2bW9kKHQpO2lmKGkubW9kLmlzWmVybygpKXJldHVybiBpLmRpdjt2YXIgcj0wIT09aS5kaXYubmVnYXRpdmU/aS5tb2QuaXN1Yih0KTppLm1vZCxoPXQudXNocm4oMSksbj10LmFuZGxuKDEpLGU9ci5jbXAoaCk7cmV0dXJuIGU8MHx8MT09PW4mJjA9PT1lP2kuZGl2OjAhPT1pLmRpdi5uZWdhdGl2ZT9pLmRpdi5pc3VibigxKTppLmRpdi5pYWRkbigxKX0sbi5wcm90b3R5cGUubW9kbj1mdW5jdGlvbih0KXtyKHQ8PTY3MTA4ODYzKTtmb3IodmFyIGk9KDE8PDI2KSV0LGg9MCxuPXRoaXMubGVuZ3RoLTE7bj49MDtuLS0paD0oaSpoKygwfHRoaXMud29yZHNbbl0pKSV0O3JldHVybiBofSxuLnByb3RvdHlwZS5pZGl2bj1mdW5jdGlvbih0KXtyKHQ8PTY3MTA4ODYzKTtmb3IodmFyIGk9MCxoPXRoaXMubGVuZ3RoLTE7aD49MDtoLS0pe3ZhciBuPSgwfHRoaXMud29yZHNbaF0pKzY3MTA4ODY0Kmk7dGhpcy53b3Jkc1toXT1uL3R8MCxpPW4ldH1yZXR1cm4gdGhpcy5zdHJpcCgpfSxuLnByb3RvdHlwZS5kaXZuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWRpdm4odCl9LG4ucHJvdG90eXBlLmVnY2Q9ZnVuY3Rpb24odCl7cigwPT09dC5uZWdhdGl2ZSkscighdC5pc1plcm8oKSk7dmFyIGk9dGhpcyxoPXQuY2xvbmUoKTtpPTAhPT1pLm5lZ2F0aXZlP2kudW1vZCh0KTppLmNsb25lKCk7Zm9yKHZhciBlPW5ldyBuKDEpLG89bmV3IG4oMCkscz1uZXcgbigwKSx1PW5ldyBuKDEpLGE9MDtpLmlzRXZlbigpJiZoLmlzRXZlbigpOylpLml1c2hybigxKSxoLml1c2hybigxKSwrK2E7Zm9yKHZhciBsPWguY2xvbmUoKSxtPWkuY2xvbmUoKTshaS5pc1plcm8oKTspe2Zvcih2YXIgZj0wLGQ9MTswPT0oaS53b3Jkc1swXSZkKSYmZjwyNjsrK2YsZDw8PTEpO2lmKGY+MClmb3IoaS5pdXNocm4oZik7Zi0tID4wOykoZS5pc09kZCgpfHxvLmlzT2RkKCkpJiYoZS5pYWRkKGwpLG8uaXN1YihtKSksZS5pdXNocm4oMSksby5pdXNocm4oMSk7Zm9yKHZhciBwPTAsTT0xOzA9PShoLndvcmRzWzBdJk0pJiZwPDI2OysrcCxNPDw9MSk7aWYocD4wKWZvcihoLml1c2hybihwKTtwLS0gPjA7KShzLmlzT2RkKCl8fHUuaXNPZGQoKSkmJihzLmlhZGQobCksdS5pc3ViKG0pKSxzLml1c2hybigxKSx1Lml1c2hybigxKTtpLmNtcChoKT49MD8oaS5pc3ViKGgpLGUuaXN1YihzKSxvLmlzdWIodSkpOihoLmlzdWIoaSkscy5pc3ViKGUpLHUuaXN1YihvKSl9cmV0dXJue2E6cyxiOnUsZ2NkOmguaXVzaGxuKGEpfX0sbi5wcm90b3R5cGUuX2ludm1wPWZ1bmN0aW9uKHQpe3IoMD09PXQubmVnYXRpdmUpLHIoIXQuaXNaZXJvKCkpO3ZhciBpPXRoaXMsaD10LmNsb25lKCk7aT0wIT09aS5uZWdhdGl2ZT9pLnVtb2QodCk6aS5jbG9uZSgpO2Zvcih2YXIgZT1uZXcgbigxKSxvPW5ldyBuKDApLHM9aC5jbG9uZSgpO2kuY21wbigxKT4wJiZoLmNtcG4oMSk+MDspe2Zvcih2YXIgdT0wLGE9MTswPT0oaS53b3Jkc1swXSZhKSYmdTwyNjsrK3UsYTw8PTEpO2lmKHU+MClmb3IoaS5pdXNocm4odSk7dS0tID4wOyllLmlzT2RkKCkmJmUuaWFkZChzKSxlLml1c2hybigxKTtmb3IodmFyIGw9MCxtPTE7MD09KGgud29yZHNbMF0mbSkmJmw8MjY7KytsLG08PD0xKTtpZihsPjApZm9yKGguaXVzaHJuKGwpO2wtLSA+MDspby5pc09kZCgpJiZvLmlhZGQocyksby5pdXNocm4oMSk7aS5jbXAoaCk+PTA/KGkuaXN1YihoKSxlLmlzdWIobykpOihoLmlzdWIoaSksby5pc3ViKGUpKX12YXIgZjtyZXR1cm4oZj0wPT09aS5jbXBuKDEpP2U6bykuY21wbigwKTwwJiZmLmlhZGQodCksZn0sbi5wcm90b3R5cGUuZ2NkPWZ1bmN0aW9uKHQpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIHQuYWJzKCk7aWYodC5pc1plcm8oKSlyZXR1cm4gdGhpcy5hYnMoKTt2YXIgaT10aGlzLmNsb25lKCkscj10LmNsb25lKCk7aS5uZWdhdGl2ZT0wLHIubmVnYXRpdmU9MDtmb3IodmFyIGg9MDtpLmlzRXZlbigpJiZyLmlzRXZlbigpO2grKylpLml1c2hybigxKSxyLml1c2hybigxKTtmb3IoOzspe2Zvcig7aS5pc0V2ZW4oKTspaS5pdXNocm4oMSk7Zm9yKDtyLmlzRXZlbigpOylyLml1c2hybigxKTt2YXIgbj1pLmNtcChyKTtpZihuPDApe3ZhciBlPWk7aT1yLHI9ZX1lbHNlIGlmKDA9PT1ufHwwPT09ci5jbXBuKDEpKWJyZWFrO2kuaXN1YihyKX1yZXR1cm4gci5pdXNobG4oaCl9LG4ucHJvdG90eXBlLmludm09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWdjZCh0KS5hLnVtb2QodCl9LG4ucHJvdG90eXBlLmlzRXZlbj1mdW5jdGlvbigpe3JldHVybiAwPT0oMSZ0aGlzLndvcmRzWzBdKX0sbi5wcm90b3R5cGUuaXNPZGQ9ZnVuY3Rpb24oKXtyZXR1cm4gMT09KDEmdGhpcy53b3Jkc1swXSl9LG4ucHJvdG90eXBlLmFuZGxuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLndvcmRzWzBdJnR9LG4ucHJvdG90eXBlLmJpbmNuPWZ1bmN0aW9uKHQpe3IoIm51bWJlciI9PXR5cGVvZiB0KTt2YXIgaT10JTI2LGg9KHQtaSkvMjYsbj0xPDxpO2lmKHRoaXMubGVuZ3RoPD1oKXJldHVybiB0aGlzLl9leHBhbmQoaCsxKSx0aGlzLndvcmRzW2hdfD1uLHRoaXM7Zm9yKHZhciBlPW4sbz1oOzAhPT1lJiZvPHRoaXMubGVuZ3RoO28rKyl7dmFyIHM9MHx0aGlzLndvcmRzW29dO2U9KHMrPWUpPj4+MjYscyY9NjcxMDg4NjMsdGhpcy53b3Jkc1tvXT1zfXJldHVybiAwIT09ZSYmKHRoaXMud29yZHNbb109ZSx0aGlzLmxlbmd0aCsrKSx0aGlzfSxuLnByb3RvdHlwZS5pc1plcm89ZnVuY3Rpb24oKXtyZXR1cm4gMT09PXRoaXMubGVuZ3RoJiYwPT09dGhpcy53b3Jkc1swXX0sbi5wcm90b3R5cGUuY21wbj1mdW5jdGlvbih0KXt2YXIgaT10PDA7aWYoMCE9PXRoaXMubmVnYXRpdmUmJiFpKXJldHVybi0xO2lmKDA9PT10aGlzLm5lZ2F0aXZlJiZpKXJldHVybiAxO3RoaXMuc3RyaXAoKTt2YXIgaDtpZih0aGlzLmxlbmd0aD4xKWg9MTtlbHNle2kmJih0PS10KSxyKHQ8PTY3MTA4ODYzLCJOdW1iZXIgaXMgdG9vIGJpZyIpO3ZhciBuPTB8dGhpcy53b3Jkc1swXTtoPW49PT10PzA6bjx0Py0xOjF9cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlPzB8LWg6aH0sbi5wcm90b3R5cGUuY21wPWZ1bmN0aW9uKHQpe2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09dC5uZWdhdGl2ZSlyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmMCE9PXQubmVnYXRpdmUpcmV0dXJuIDE7dmFyIGk9dGhpcy51Y21wKHQpO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT8wfC1pOml9LG4ucHJvdG90eXBlLnVjbXA9ZnVuY3Rpb24odCl7aWYodGhpcy5sZW5ndGg+dC5sZW5ndGgpcmV0dXJuIDE7aWYodGhpcy5sZW5ndGg8dC5sZW5ndGgpcmV0dXJuLTE7Zm9yKHZhciBpPTAscj10aGlzLmxlbmd0aC0xO3I+PTA7ci0tKXt2YXIgaD0wfHRoaXMud29yZHNbcl0sbj0wfHQud29yZHNbcl07aWYoaCE9PW4pe2g8bj9pPS0xOmg+biYmKGk9MSk7YnJlYWt9fXJldHVybiBpfSxuLnByb3RvdHlwZS5ndG49ZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10aGlzLmNtcG4odCl9LG4ucHJvdG90eXBlLmd0PWZ1bmN0aW9uKHQpe3JldHVybiAxPT09dGhpcy5jbXAodCl9LG4ucHJvdG90eXBlLmd0ZW49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wbih0KT49MH0sbi5wcm90b3R5cGUuZ3RlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcCh0KT49MH0sbi5wcm90b3R5cGUubHRuPWZ1bmN0aW9uKHQpe3JldHVybi0xPT09dGhpcy5jbXBuKHQpfSxuLnByb3RvdHlwZS5sdD1mdW5jdGlvbih0KXtyZXR1cm4tMT09PXRoaXMuY21wKHQpfSxuLnByb3RvdHlwZS5sdGVuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcG4odCk8PTB9LG4ucHJvdG90eXBlLmx0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXAodCk8PTB9LG4ucHJvdG90eXBlLmVxbj1mdW5jdGlvbih0KXtyZXR1cm4gMD09PXRoaXMuY21wbih0KX0sbi5wcm90b3R5cGUuZXE9ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10aGlzLmNtcCh0KX0sbi5yZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBnKHQpfSxuLnByb3RvdHlwZS50b1JlZD1mdW5jdGlvbih0KXtyZXR1cm4gcighdGhpcy5yZWQsIkFscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSxyKDA9PT10aGlzLm5lZ2F0aXZlLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpLHQuY29udmVydFRvKHRoaXMpLl9mb3JjZVJlZCh0KX0sbi5wcm90b3R5cGUuZnJvbVJlZD1mdW5jdGlvbigpe3JldHVybiByKHRoaXMucmVkLCJmcm9tUmVkIHdvcmtzIG9ubHkgd2l0aCBudW1iZXJzIGluIHJlZHVjdGlvbiBjb250ZXh0IiksdGhpcy5yZWQuY29udmVydEZyb20odGhpcyl9LG4ucHJvdG90eXBlLl9mb3JjZVJlZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZWQ9dCx0aGlzfSxuLnByb3RvdHlwZS5mb3JjZVJlZD1mdW5jdGlvbih0KXtyZXR1cm4gcighdGhpcy5yZWQsIkFscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSx0aGlzLl9mb3JjZVJlZCh0KX0sbi5wcm90b3R5cGUucmVkQWRkPWZ1bmN0aW9uKHQpe3JldHVybiByKHRoaXMucmVkLCJyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuYWRkKHRoaXMsdCl9LG4ucHJvdG90eXBlLnJlZElBZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIHIodGhpcy5yZWQsInJlZElBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuaWFkZCh0aGlzLHQpfSxuLnByb3RvdHlwZS5yZWRTdWI9ZnVuY3Rpb24odCl7cmV0dXJuIHIodGhpcy5yZWQsInJlZFN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5zdWIodGhpcyx0KX0sbi5wcm90b3R5cGUucmVkSVN1Yj1mdW5jdGlvbih0KXtyZXR1cm4gcih0aGlzLnJlZCwicmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5pc3ViKHRoaXMsdCl9LG4ucHJvdG90eXBlLnJlZFNobD1mdW5jdGlvbih0KXtyZXR1cm4gcih0aGlzLnJlZCwicmVkU2hsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLnNobCh0aGlzLHQpfSxuLnByb3RvdHlwZS5yZWRNdWw9ZnVuY3Rpb24odCl7cmV0dXJuIHIodGhpcy5yZWQsInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLHQpLHRoaXMucmVkLm11bCh0aGlzLHQpfSxuLnByb3RvdHlwZS5yZWRJTXVsPWZ1bmN0aW9uKHQpe3JldHVybiByKHRoaXMucmVkLCJyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTIodGhpcyx0KSx0aGlzLnJlZC5pbXVsKHRoaXMsdCl9LG4ucHJvdG90eXBlLnJlZFNxcj1mdW5jdGlvbigpe3JldHVybiByKHRoaXMucmVkLCJyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuc3FyKHRoaXMpfSxuLnByb3RvdHlwZS5yZWRJU3FyPWZ1bmN0aW9uKCl7cmV0dXJuIHIodGhpcy5yZWQsInJlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuaXNxcih0aGlzKX0sbi5wcm90b3R5cGUucmVkU3FydD1mdW5jdGlvbigpe3JldHVybiByKHRoaXMucmVkLCJyZWRTcXJ0IHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnNxcnQodGhpcyl9LG4ucHJvdG90eXBlLnJlZEludm09ZnVuY3Rpb24oKXtyZXR1cm4gcih0aGlzLnJlZCwicmVkSW52bSB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5pbnZtKHRoaXMpfSxuLnByb3RvdHlwZS5yZWROZWc9ZnVuY3Rpb24oKXtyZXR1cm4gcih0aGlzLnJlZCwicmVkTmVnIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLm5lZyh0aGlzKX0sbi5wcm90b3R5cGUucmVkUG93PWZ1bmN0aW9uKHQpe3JldHVybiByKHRoaXMucmVkJiYhdC5yZWQsInJlZFBvdyhub3JtYWxOdW0pIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQucG93KHRoaXMsdCl9O3ZhciBBPXtrMjU2Om51bGwscDIyNDpudWxsLHAxOTI6bnVsbCxwMjU1MTk6bnVsbH07Zi5wcm90b3R5cGUuX3RtcD1mdW5jdGlvbigpe3ZhciB0PW5ldyBuKG51bGwpO3JldHVybiB0LndvcmRzPW5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uLzEzKSksdH0sZi5wcm90b3R5cGUuaXJlZHVjZT1mdW5jdGlvbih0KXt2YXIgaSxyPXQ7ZG97dGhpcy5zcGxpdChyLHRoaXMudG1wKSxpPShyPShyPXRoaXMuaW11bEsocikpLmlhZGQodGhpcy50bXApKS5iaXRMZW5ndGgoKX13aGlsZShpPnRoaXMubik7dmFyIGg9aTx0aGlzLm4/LTE6ci51Y21wKHRoaXMucCk7cmV0dXJuIDA9PT1oPyhyLndvcmRzWzBdPTAsci5sZW5ndGg9MSk6aD4wP3IuaXN1Yih0aGlzLnApOnIuc3RyaXAoKSxyfSxmLnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbih0LGkpe3QuaXVzaHJuKHRoaXMubiwwLGkpfSxmLnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbih0KXtyZXR1cm4gdC5pbXVsKHRoaXMuayl9LGgoZCxmKSxkLnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbih0LGkpe2Zvcih2YXIgcj1NYXRoLm1pbih0Lmxlbmd0aCw5KSxoPTA7aDxyO2grKylpLndvcmRzW2hdPXQud29yZHNbaF07aWYoaS5sZW5ndGg9cix0Lmxlbmd0aDw9OSlyZXR1cm4gdC53b3Jkc1swXT0wLHZvaWQodC5sZW5ndGg9MSk7dmFyIG49dC53b3Jkc1s5XTtmb3IoaS53b3Jkc1tpLmxlbmd0aCsrXT00MTk0MzAzJm4saD0xMDtoPHQubGVuZ3RoO2grKyl7dmFyIGU9MHx0LndvcmRzW2hdO3Qud29yZHNbaC0xMF09KDQxOTQzMDMmZSk8PDR8bj4+PjIyLG49ZX1uPj4+PTIyLHQud29yZHNbaC0xMF09biwwPT09biYmdC5sZW5ndGg+MTA/dC5sZW5ndGgtPTEwOnQubGVuZ3RoLT05fSxkLnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbih0KXt0LndvcmRzW3QubGVuZ3RoXT0wLHQud29yZHNbdC5sZW5ndGgrMV09MCx0Lmxlbmd0aCs9Mjtmb3IodmFyIGk9MCxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBoPTB8dC53b3Jkc1tyXTtpKz05NzcqaCx0LndvcmRzW3JdPTY3MTA4ODYzJmksaT02NCpoKyhpLzY3MTA4ODY0fDApfXJldHVybiAwPT09dC53b3Jkc1t0Lmxlbmd0aC0xXSYmKHQubGVuZ3RoLS0sMD09PXQud29yZHNbdC5sZW5ndGgtMV0mJnQubGVuZ3RoLS0pLHR9LGgocCxmKSxoKE0sZiksaCh2LGYpLHYucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe2Zvcih2YXIgaT0wLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIGg9MTkqKDB8dC53b3Jkc1tyXSkraSxuPTY3MTA4ODYzJmg7aD4+Pj0yNix0LndvcmRzW3JdPW4saT1ofXJldHVybiAwIT09aSYmKHQud29yZHNbdC5sZW5ndGgrK109aSksdH0sbi5fcHJpbWU9ZnVuY3Rpb24odCl7aWYoQVt0XSlyZXR1cm4gQVt0XTt2YXIgaTtpZigiazI1NiI9PT10KWk9bmV3IGQ7ZWxzZSBpZigicDIyNCI9PT10KWk9bmV3IHA7ZWxzZSBpZigicDE5MiI9PT10KWk9bmV3IE07ZWxzZXtpZigicDI1NTE5IiE9PXQpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIHByaW1lICIrdCk7aT1uZXcgdn1yZXR1cm4gQVt0XT1pLGl9LGcucHJvdG90eXBlLl92ZXJpZnkxPWZ1bmN0aW9uKHQpe3IoMD09PXQubmVnYXRpdmUsInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIikscih0LnJlZCwicmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpfSxnLnByb3RvdHlwZS5fdmVyaWZ5Mj1mdW5jdGlvbih0LGkpe3IoMD09KHQubmVnYXRpdmV8aS5uZWdhdGl2ZSksInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIikscih0LnJlZCYmdC5yZWQ9PT1pLnJlZCwicmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpfSxnLnByb3RvdHlwZS5pbW9kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnByaW1lP3RoaXMucHJpbWUuaXJlZHVjZSh0KS5fZm9yY2VSZWQodGhpcyk6dC51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpfSxnLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24odCl7cmV0dXJuIHQuaXNaZXJvKCk/dC5jbG9uZSgpOnRoaXMubS5zdWIodCkuX2ZvcmNlUmVkKHRoaXMpfSxnLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCxpKXt0aGlzLl92ZXJpZnkyKHQsaSk7dmFyIHI9dC5hZGQoaSk7cmV0dXJuIHIuY21wKHRoaXMubSk+PTAmJnIuaXN1Yih0aGlzLm0pLHIuX2ZvcmNlUmVkKHRoaXMpfSxnLnByb3RvdHlwZS5pYWRkPWZ1bmN0aW9uKHQsaSl7dGhpcy5fdmVyaWZ5Mih0LGkpO3ZhciByPXQuaWFkZChpKTtyZXR1cm4gci5jbXAodGhpcy5tKT49MCYmci5pc3ViKHRoaXMubSkscn0sZy5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uKHQsaSl7dGhpcy5fdmVyaWZ5Mih0LGkpO3ZhciByPXQuc3ViKGkpO3JldHVybiByLmNtcG4oMCk8MCYmci5pYWRkKHRoaXMubSksci5fZm9yY2VSZWQodGhpcyl9LGcucHJvdG90eXBlLmlzdWI9ZnVuY3Rpb24odCxpKXt0aGlzLl92ZXJpZnkyKHQsaSk7dmFyIHI9dC5pc3ViKGkpO3JldHVybiByLmNtcG4oMCk8MCYmci5pYWRkKHRoaXMubSkscn0sZy5wcm90b3R5cGUuc2hsPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIHRoaXMuX3ZlcmlmeTEodCksdGhpcy5pbW9kKHQudXNobG4oaSkpfSxnLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIHRoaXMuX3ZlcmlmeTIodCxpKSx0aGlzLmltb2QodC5pbXVsKGkpKX0sZy5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIHRoaXMuX3ZlcmlmeTIodCxpKSx0aGlzLmltb2QodC5tdWwoaSkpfSxnLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltdWwodCx0LmNsb25lKCkpfSxnLnByb3RvdHlwZS5zcXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubXVsKHQsdCl9LGcucHJvdG90eXBlLnNxcnQ9ZnVuY3Rpb24odCl7aWYodC5pc1plcm8oKSlyZXR1cm4gdC5jbG9uZSgpO3ZhciBpPXRoaXMubS5hbmRsbigzKTtpZihyKGklMj09MSksMz09PWkpe3ZhciBoPXRoaXMubS5hZGQobmV3IG4oMSkpLml1c2hybigyKTtyZXR1cm4gdGhpcy5wb3codCxoKX1mb3IodmFyIGU9dGhpcy5tLnN1Ym4oMSksbz0wOyFlLmlzWmVybygpJiYwPT09ZS5hbmRsbigxKTspbysrLGUuaXVzaHJuKDEpO3IoIWUuaXNaZXJvKCkpO3ZhciBzPW5ldyBuKDEpLnRvUmVkKHRoaXMpLHU9cy5yZWROZWcoKSxhPXRoaXMubS5zdWJuKDEpLml1c2hybigxKSxsPXRoaXMubS5iaXRMZW5ndGgoKTtmb3IobD1uZXcgbigyKmwqbCkudG9SZWQodGhpcyk7MCE9PXRoaXMucG93KGwsYSkuY21wKHUpOylsLnJlZElBZGQodSk7Zm9yKHZhciBtPXRoaXMucG93KGwsZSksZj10aGlzLnBvdyh0LGUuYWRkbigxKS5pdXNocm4oMSkpLGQ9dGhpcy5wb3codCxlKSxwPW87MCE9PWQuY21wKHMpOyl7Zm9yKHZhciBNPWQsdj0wOzAhPT1NLmNtcChzKTt2KyspTT1NLnJlZFNxcigpO3IodjxwKTt2YXIgZz10aGlzLnBvdyhtLG5ldyBuKDEpLml1c2hsbihwLXYtMSkpO2Y9Zi5yZWRNdWwoZyksbT1nLnJlZFNxcigpLGQ9ZC5yZWRNdWwobSkscD12fXJldHVybiBmfSxnLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uKHQpe3ZhciBpPXQuX2ludm1wKHRoaXMubSk7cmV0dXJuIDAhPT1pLm5lZ2F0aXZlPyhpLm5lZ2F0aXZlPTAsdGhpcy5pbW9kKGkpLnJlZE5lZygpKTp0aGlzLmltb2QoaSl9LGcucHJvdG90eXBlLnBvdz1mdW5jdGlvbih0LGkpe2lmKGkuaXNaZXJvKCkpcmV0dXJuIG5ldyBuKDEpLnRvUmVkKHRoaXMpO2lmKDA9PT1pLmNtcG4oMSkpcmV0dXJuIHQuY2xvbmUoKTt2YXIgcj1uZXcgQXJyYXkoMTYpO3JbMF09bmV3IG4oMSkudG9SZWQodGhpcyksclsxXT10O2Zvcih2YXIgaD0yO2g8ci5sZW5ndGg7aCsrKXJbaF09dGhpcy5tdWwocltoLTFdLHQpO3ZhciBlPXJbMF0sbz0wLHM9MCx1PWkuYml0TGVuZ3RoKCklMjY7Zm9yKDA9PT11JiYodT0yNiksaD1pLmxlbmd0aC0xO2g+PTA7aC0tKXtmb3IodmFyIGE9aS53b3Jkc1toXSxsPXUtMTtsPj0wO2wtLSl7dmFyIG09YT4+bCYxO2UhPT1yWzBdJiYoZT10aGlzLnNxcihlKSksMCE9PW18fDAhPT1vPyhvPDw9MSxvfD1tLCg0PT09KytzfHwwPT09aCYmMD09PWwpJiYoZT10aGlzLm11bChlLHJbb10pLHM9MCxvPTApKTpzPTB9dT0yNn1yZXR1cm4gZX0sZy5wcm90b3R5cGUuY29udmVydFRvPWZ1bmN0aW9uKHQpe3ZhciBpPXQudW1vZCh0aGlzLm0pO3JldHVybiBpPT09dD9pLmNsb25lKCk6aX0sZy5wcm90b3R5cGUuY29udmVydEZyb209ZnVuY3Rpb24odCl7dmFyIGk9dC5jbG9uZSgpO3JldHVybiBpLnJlZD1udWxsLGl9LG4ubW9udD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGModCl9LGgoYyxnKSxjLnByb3RvdHlwZS5jb252ZXJ0VG89ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW1vZCh0LnVzaGxuKHRoaXMuc2hpZnQpKX0sYy5wcm90b3R5cGUuY29udmVydEZyb209ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5pbW9kKHQubXVsKHRoaXMucmludikpO3JldHVybiBpLnJlZD1udWxsLGl9LGMucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24odCxpKXtpZih0LmlzWmVybygpfHxpLmlzWmVybygpKXJldHVybiB0LndvcmRzWzBdPTAsdC5sZW5ndGg9MSx0O3ZhciByPXQuaW11bChpKSxoPXIubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pLG49ci5pc3ViKGgpLml1c2hybih0aGlzLnNoaWZ0KSxlPW47cmV0dXJuIG4uY21wKHRoaXMubSk+PTA/ZT1uLmlzdWIodGhpcy5tKTpuLmNtcG4oMCk8MCYmKGU9bi5pYWRkKHRoaXMubSkpLGUuX2ZvcmNlUmVkKHRoaXMpfSxjLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCxpKXtpZih0LmlzWmVybygpfHxpLmlzWmVybygpKXJldHVybiBuZXcgbigwKS5fZm9yY2VSZWQodGhpcyk7dmFyIHI9dC5tdWwoaSksaD1yLm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKSxlPXIuaXN1YihoKS5pdXNocm4odGhpcy5zaGlmdCksbz1lO3JldHVybiBlLmNtcCh0aGlzLm0pPj0wP289ZS5pc3ViKHRoaXMubSk6ZS5jbXBuKDApPDAmJihvPWUuaWFkZCh0aGlzLm0pKSxvLl9mb3JjZVJlZCh0aGlzKX0sYy5wcm90b3R5cGUuaW52bT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbW9kKHQuX2ludm1wKHRoaXMubSkubXVsKHRoaXMucjIpKS5fZm9yY2VSZWQodGhpcyl9fSgidW5kZWZpbmVkIj09dHlwZW9mIG1vZHVsZXx8bW9kdWxlLHRoaXMpOw0KDQogIH0seyJidWZmZXIiOjZ9XSw1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgZnVuY3Rpb24gUmFuZCh0KXt0aGlzLnJhbmQ9dH12YXIgcjtpZihtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gcnx8KHI9bmV3IFJhbmQobnVsbCkpLHIuZ2VuZXJhdGUodCl9LG1vZHVsZS5leHBvcnRzLlJhbmQ9UmFuZCxSYW5kLnByb3RvdHlwZS5nZW5lcmF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmFuZCh0KX0sUmFuZC5wcm90b3R5cGUuX3JhbmQ9ZnVuY3Rpb24odCl7aWYodGhpcy5yYW5kLmdldEJ5dGVzKXJldHVybiB0aGlzLnJhbmQuZ2V0Qnl0ZXModCk7Zm9yKHZhciByPW5ldyBVaW50OEFycmF5KHQpLGU9MDtlPHIubGVuZ3RoO2UrKylyW2VdPXRoaXMucmFuZC5nZXRCeXRlKCk7cmV0dXJuIHJ9LCJvYmplY3QiPT10eXBlb2Ygc2VsZilzZWxmLmNyeXB0byYmc2VsZi5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzP1JhbmQucHJvdG90eXBlLl9yYW5kPWZ1bmN0aW9uKHQpe3ZhciByPW5ldyBVaW50OEFycmF5KHQpO3JldHVybiBzZWxmLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMocikscn06c2VsZi5tc0NyeXB0byYmc2VsZi5tc0NyeXB0by5nZXRSYW5kb21WYWx1ZXM/UmFuZC5wcm90b3R5cGUuX3JhbmQ9ZnVuY3Rpb24odCl7dmFyIHI9bmV3IFVpbnQ4QXJyYXkodCk7cmV0dXJuIHNlbGYubXNDcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKHIpLHJ9OiJvYmplY3QiPT10eXBlb2Ygd2luZG93JiYoUmFuZC5wcm90b3R5cGUuX3JhbmQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCB5ZXQiKX0pO2Vsc2UgdHJ5e3ZhciBjcnlwdG89cmVxdWlyZSgiY3J5cHRvIik7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGNyeXB0by5yYW5kb21CeXRlcyl0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQiKTtSYW5kLnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbih0KXtyZXR1cm4gY3J5cHRvLnJhbmRvbUJ5dGVzKHQpfX1jYXRjaCh0KXt9DQoNCiAgfSx7ImNyeXB0byI6Nn1dLDY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KDQogIH0se31dLDc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAoZnVuY3Rpb24gKEJ1ZmZlcil7DQogIGNvbnN0IFNoYTM9cmVxdWlyZSgianMtc2hhMyIpLGhhc2hMZW5ndGhzPVsyMjQsMjU2LDM4NCw1MTJdO3ZhciBoYXNoPWZ1bmN0aW9uKHQpe2lmKHZvaWQgMCE9PXQmJi0xPT1oYXNoTGVuZ3Rocy5pbmRleE9mKHQpKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgaGFzaCBsZW5ndGgiKTt0aGlzLmNvbnRlbnQ9W10sdGhpcy5iaXRjb3VudD10PyJrZWNjYWtfIit0OiJrZWNjYWtfNTEyIn07aGFzaC5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQpe2lmKEJ1ZmZlci5pc0J1ZmZlcih0KSl0aGlzLmNvbnRlbnQucHVzaCh0KTtlbHNle2lmKCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIGFyZ3VtZW50IHRvIHVwZGF0ZSIpO3RoaXMuY29udGVudC5wdXNoKG5ldyBCdWZmZXIodCkpfXJldHVybiB0aGlzfSxoYXNoLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9U2hhM1t0aGlzLmJpdGNvdW50XShCdWZmZXIuY29uY2F0KHRoaXMuY29udGVudCkpO2lmKCJoZXgiPT09dClyZXR1cm4gZTtpZigiYmluYXJ5Ij09PXR8fHZvaWQgMD09PXQpcmV0dXJuIG5ldyBCdWZmZXIoZSwiaGV4IikudG9TdHJpbmcoImJpbmFyeSIpO3Rocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgZW5jb2RpbmcgZm9yIGRpZ2VzdDogIit0KX0sbW9kdWxlLmV4cG9ydHM9e1NIQTNIYXNoOmhhc2h9Ow0KDQogIH0pLmNhbGwodGhpcyxyZXF1aXJlKCJidWZmZXIiKS5CdWZmZXIpDQogIH0seyJidWZmZXIiOjgsImpzLXNoYTMiOjU1fV0sODpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0eXBlZEFycmF5U3VwcG9ydCgpe3RyeXt2YXIgZT1uZXcgVWludDhBcnJheSgxKTtyZXR1cm4gZS5fX3Byb3RvX189e19fcHJvdG9fXzpVaW50OEFycmF5LnByb3RvdHlwZSxmb286ZnVuY3Rpb24oKXtyZXR1cm4gNDJ9fSw0Mj09PWUuZm9vKCl9Y2F0Y2goZSl7cmV0dXJuITF9fWZ1bmN0aW9uIGNyZWF0ZUJ1ZmZlcihlKXtpZihlPktfTUFYX0xFTkdUSCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0eXBlZCBhcnJheSBsZW5ndGgiKTt2YXIgdD1uZXcgVWludDhBcnJheShlKTtyZXR1cm4gdC5fX3Byb3RvX189QnVmZmVyLnByb3RvdHlwZSx0fWZ1bmN0aW9uIEJ1ZmZlcihlLHQscil7aWYoIm51bWJlciI9PXR5cGVvZiBlKXtpZigic3RyaW5nIj09dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJJZiBlbmNvZGluZyBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybiBhbGxvY1Vuc2FmZShlKX1yZXR1cm4gZnJvbShlLHQscil9ZnVuY3Rpb24gZnJvbShlLHQscil7aWYoIm51bWJlciI9PXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJyJ2YWx1ZSIgYXJndW1lbnQgbXVzdCBub3QgYmUgYSBudW1iZXInKTtyZXR1cm4gaXNBcnJheUJ1ZmZlcihlKT9mcm9tQXJyYXlCdWZmZXIoZSx0LHIpOiJzdHJpbmciPT10eXBlb2YgZT9mcm9tU3RyaW5nKGUsdCk6ZnJvbU9iamVjdChlKX1mdW5jdGlvbiBhc3NlcnRTaXplKGUpe2lmKCJudW1iZXIiIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCcic2l6ZSIgYXJndW1lbnQgbXVzdCBiZSBhIG51bWJlcicpO2lmKGU8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcignInNpemUiIGFyZ3VtZW50IG11c3Qgbm90IGJlIG5lZ2F0aXZlJyl9ZnVuY3Rpb24gYWxsb2MoZSx0LHIpe3JldHVybiBhc3NlcnRTaXplKGUpLGU8PTA/Y3JlYXRlQnVmZmVyKGUpOnZvaWQgMCE9PXQ/InN0cmluZyI9PXR5cGVvZiByP2NyZWF0ZUJ1ZmZlcihlKS5maWxsKHQscik6Y3JlYXRlQnVmZmVyKGUpLmZpbGwodCk6Y3JlYXRlQnVmZmVyKGUpfWZ1bmN0aW9uIGFsbG9jVW5zYWZlKGUpe3JldHVybiBhc3NlcnRTaXplKGUpLGNyZWF0ZUJ1ZmZlcihlPDA/MDowfGNoZWNrZWQoZSkpfWZ1bmN0aW9uIGZyb21TdHJpbmcoZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIHQmJiIiIT09dHx8KHQ9InV0ZjgiKSwhQnVmZmVyLmlzRW5jb2RpbmcodCkpdGhyb3cgbmV3IFR5cGVFcnJvcignImVuY29kaW5nIiBtdXN0IGJlIGEgdmFsaWQgc3RyaW5nIGVuY29kaW5nJyk7dmFyIHI9MHxieXRlTGVuZ3RoKGUsdCksbj1jcmVhdGVCdWZmZXIociksZj1uLndyaXRlKGUsdCk7cmV0dXJuIGYhPT1yJiYobj1uLnNsaWNlKDAsZikpLG59ZnVuY3Rpb24gZnJvbUFycmF5TGlrZShlKXtmb3IodmFyIHQ9ZS5sZW5ndGg8MD8wOjB8Y2hlY2tlZChlLmxlbmd0aCkscj1jcmVhdGVCdWZmZXIodCksbj0wO248dDtuKz0xKXJbbl09MjU1JmVbbl07cmV0dXJuIHJ9ZnVuY3Rpb24gZnJvbUFycmF5QnVmZmVyKGUsdCxyKXtpZih0PDB8fGUuYnl0ZUxlbmd0aDx0KXRocm93IG5ldyBSYW5nZUVycm9yKCInb2Zmc2V0JyBpcyBvdXQgb2YgYm91bmRzIik7aWYoZS5ieXRlTGVuZ3RoPHQrKHJ8fDApKXRocm93IG5ldyBSYW5nZUVycm9yKCInbGVuZ3RoJyBpcyBvdXQgb2YgYm91bmRzIik7dmFyIG47cmV0dXJuIG49dm9pZCAwPT09dCYmdm9pZCAwPT09cj9uZXcgVWludDhBcnJheShlKTp2b2lkIDA9PT1yP25ldyBVaW50OEFycmF5KGUsdCk6bmV3IFVpbnQ4QXJyYXkoZSx0LHIpLG4uX19wcm90b19fPUJ1ZmZlci5wcm90b3R5cGUsbn1mdW5jdGlvbiBmcm9tT2JqZWN0KGUpe2lmKEJ1ZmZlci5pc0J1ZmZlcihlKSl7dmFyIHQ9MHxjaGVja2VkKGUubGVuZ3RoKSxyPWNyZWF0ZUJ1ZmZlcih0KTtyZXR1cm4gMD09PXIubGVuZ3RoP3I6KGUuY29weShyLDAsMCx0KSxyKX1pZihlKXtpZihpc0FycmF5QnVmZmVyVmlldyhlKXx8Imxlbmd0aCJpbiBlKXJldHVybiJudW1iZXIiIT10eXBlb2YgZS5sZW5ndGh8fG51bWJlcklzTmFOKGUubGVuZ3RoKT9jcmVhdGVCdWZmZXIoMCk6ZnJvbUFycmF5TGlrZShlKTtpZigiQnVmZmVyIj09PWUudHlwZSYmQXJyYXkuaXNBcnJheShlLmRhdGEpKXJldHVybiBmcm9tQXJyYXlMaWtlKGUuZGF0YSl9dGhyb3cgbmV3IFR5cGVFcnJvcigiRmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIGFycmF5LWxpa2Ugb2JqZWN0LiIpfWZ1bmN0aW9uIGNoZWNrZWQoZSl7aWYoZT49S19NQVhfTEVOR1RIKXRocm93IG5ldyBSYW5nZUVycm9yKCJBdHRlbXB0IHRvIGFsbG9jYXRlIEJ1ZmZlciBsYXJnZXIgdGhhbiBtYXhpbXVtIHNpemU6IDB4IitLX01BWF9MRU5HVEgudG9TdHJpbmcoMTYpKyIgYnl0ZXMiKTtyZXR1cm4gMHxlfWZ1bmN0aW9uIFNsb3dCdWZmZXIoZSl7cmV0dXJuK2UhPWUmJihlPTApLEJ1ZmZlci5hbGxvYygrZSl9ZnVuY3Rpb24gYnl0ZUxlbmd0aChlLHQpe2lmKEJ1ZmZlci5pc0J1ZmZlcihlKSlyZXR1cm4gZS5sZW5ndGg7aWYoaXNBcnJheUJ1ZmZlclZpZXcoZSl8fGlzQXJyYXlCdWZmZXIoZSkpcmV0dXJuIGUuYnl0ZUxlbmd0aDsic3RyaW5nIiE9dHlwZW9mIGUmJihlPSIiK2UpO3ZhciByPWUubGVuZ3RoO2lmKDA9PT1yKXJldHVybiAwO2Zvcih2YXIgbj0hMTs7KXN3aXRjaCh0KXtjYXNlImFzY2lpIjpjYXNlImxhdGluMSI6Y2FzZSJiaW5hcnkiOnJldHVybiByO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6Y2FzZSB2b2lkIDA6cmV0dXJuIHV0ZjhUb0J5dGVzKGUpLmxlbmd0aDtjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuIDIqcjtjYXNlImhleCI6cmV0dXJuIHI+Pj4xO2Nhc2UiYmFzZTY0IjpyZXR1cm4gYmFzZTY0VG9CeXRlcyhlKS5sZW5ndGg7ZGVmYXVsdDppZihuKXJldHVybiB1dGY4VG9CeXRlcyhlKS5sZW5ndGg7dD0oIiIrdCkudG9Mb3dlckNhc2UoKSxuPSEwfX1mdW5jdGlvbiBzbG93VG9TdHJpbmcoZSx0LHIpe3ZhciBuPSExO2lmKCh2b2lkIDA9PT10fHx0PDApJiYodD0wKSx0PnRoaXMubGVuZ3RoKXJldHVybiIiO2lmKCh2b2lkIDA9PT1yfHxyPnRoaXMubGVuZ3RoKSYmKHI9dGhpcy5sZW5ndGgpLHI8PTApcmV0dXJuIiI7aWYocj4+Pj0wLHQ+Pj49MCxyPD10KXJldHVybiIiO2ZvcihlfHwoZT0idXRmOCIpOzspc3dpdGNoKGUpe2Nhc2UiaGV4IjpyZXR1cm4gaGV4U2xpY2UodGhpcyx0LHIpO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuIHV0ZjhTbGljZSh0aGlzLHQscik7Y2FzZSJhc2NpaSI6cmV0dXJuIGFzY2lpU2xpY2UodGhpcyx0LHIpO2Nhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuIGxhdGluMVNsaWNlKHRoaXMsdCxyKTtjYXNlImJhc2U2NCI6cmV0dXJuIGJhc2U2NFNsaWNlKHRoaXMsdCxyKTtjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuIHV0ZjE2bGVTbGljZSh0aGlzLHQscik7ZGVmYXVsdDppZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrZSk7ZT0oZSsiIikudG9Mb3dlckNhc2UoKSxuPSEwfX1mdW5jdGlvbiBzd2FwKGUsdCxyKXt2YXIgbj1lW3RdO2VbdF09ZVtyXSxlW3JdPW59ZnVuY3Rpb24gYmlkaXJlY3Rpb25hbEluZGV4T2YoZSx0LHIsbixmKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuLTE7aWYoInN0cmluZyI9PXR5cGVvZiByPyhuPXIscj0wKTpyPjIxNDc0ODM2NDc/cj0yMTQ3NDgzNjQ3OnI8LTIxNDc0ODM2NDgmJihyPS0yMTQ3NDgzNjQ4KSxyPStyLG51bWJlcklzTmFOKHIpJiYocj1mPzA6ZS5sZW5ndGgtMSkscjwwJiYocj1lLmxlbmd0aCtyKSxyPj1lLmxlbmd0aCl7aWYoZilyZXR1cm4tMTtyPWUubGVuZ3RoLTF9ZWxzZSBpZihyPDApe2lmKCFmKXJldHVybi0xO3I9MH1pZigic3RyaW5nIj09dHlwZW9mIHQmJih0PUJ1ZmZlci5mcm9tKHQsbikpLEJ1ZmZlci5pc0J1ZmZlcih0KSlyZXR1cm4gMD09PXQubGVuZ3RoPy0xOmFycmF5SW5kZXhPZihlLHQscixuLGYpO2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdCY9MjU1LCJmdW5jdGlvbiI9PXR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mP2Y/VWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGUsdCxyKTpVaW50OEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGUsdCxyKTphcnJheUluZGV4T2YoZSxbdF0scixuLGYpO3Rocm93IG5ldyBUeXBlRXJyb3IoInZhbCBtdXN0IGJlIHN0cmluZywgbnVtYmVyIG9yIEJ1ZmZlciIpfWZ1bmN0aW9uIGFycmF5SW5kZXhPZihlLHQscixuLGYpe2Z1bmN0aW9uIGkoZSx0KXtyZXR1cm4gMT09PW8/ZVt0XTplLnJlYWRVSW50MTZCRSh0Km8pfXZhciBvPTEsdT1lLmxlbmd0aCxzPXQubGVuZ3RoO2lmKHZvaWQgMCE9PW4mJigidWNzMiI9PT0obj1TdHJpbmcobikudG9Mb3dlckNhc2UoKSl8fCJ1Y3MtMiI9PT1ufHwidXRmMTZsZSI9PT1ufHwidXRmLTE2bGUiPT09bikpe2lmKGUubGVuZ3RoPDJ8fHQubGVuZ3RoPDIpcmV0dXJuLTE7bz0yLHUvPTIscy89MixyLz0yfXZhciBhO2lmKGYpe3ZhciBoPS0xO2ZvcihhPXI7YTx1O2ErKylpZihpKGUsYSk9PT1pKHQsLTE9PT1oPzA6YS1oKSl7aWYoLTE9PT1oJiYoaD1hKSxhLWgrMT09PXMpcmV0dXJuIGgqb31lbHNlLTEhPT1oJiYoYS09YS1oKSxoPS0xfWVsc2UgZm9yKHIrcz51JiYocj11LXMpLGE9cjthPj0wO2EtLSl7Zm9yKHZhciBjPSEwLGw9MDtsPHM7bCsrKWlmKGkoZSxhK2wpIT09aSh0LGwpKXtjPSExO2JyZWFrfWlmKGMpcmV0dXJuIGF9cmV0dXJuLTF9ZnVuY3Rpb24gaGV4V3JpdGUoZSx0LHIsbil7cj1OdW1iZXIocil8fDA7dmFyIGY9ZS5sZW5ndGgtcjtuPyhuPU51bWJlcihuKSk+ZiYmKG49Zik6bj1mO3ZhciBpPXQubGVuZ3RoO2lmKGklMiE9MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGhleCBzdHJpbmciKTtuPmkvMiYmKG49aS8yKTtmb3IodmFyIG89MDtvPG47KytvKXt2YXIgdT1wYXJzZUludCh0LnN1YnN0cigyKm8sMiksMTYpO2lmKG51bWJlcklzTmFOKHUpKXJldHVybiBvO2VbcitvXT11fXJldHVybiBvfWZ1bmN0aW9uIHV0ZjhXcml0ZShlLHQscixuKXtyZXR1cm4gYmxpdEJ1ZmZlcih1dGY4VG9CeXRlcyh0LGUubGVuZ3RoLXIpLGUscixuKX1mdW5jdGlvbiBhc2NpaVdyaXRlKGUsdCxyLG4pe3JldHVybiBibGl0QnVmZmVyKGFzY2lpVG9CeXRlcyh0KSxlLHIsbil9ZnVuY3Rpb24gbGF0aW4xV3JpdGUoZSx0LHIsbil7cmV0dXJuIGFzY2lpV3JpdGUoZSx0LHIsbil9ZnVuY3Rpb24gYmFzZTY0V3JpdGUoZSx0LHIsbil7cmV0dXJuIGJsaXRCdWZmZXIoYmFzZTY0VG9CeXRlcyh0KSxlLHIsbil9ZnVuY3Rpb24gdWNzMldyaXRlKGUsdCxyLG4pe3JldHVybiBibGl0QnVmZmVyKHV0ZjE2bGVUb0J5dGVzKHQsZS5sZW5ndGgtciksZSxyLG4pfWZ1bmN0aW9uIGJhc2U2NFNsaWNlKGUsdCxyKXtyZXR1cm4gMD09PXQmJnI9PT1lLmxlbmd0aD9iYXNlNjQuZnJvbUJ5dGVBcnJheShlKTpiYXNlNjQuZnJvbUJ5dGVBcnJheShlLnNsaWNlKHQscikpfWZ1bmN0aW9uIHV0ZjhTbGljZShlLHQscil7cj1NYXRoLm1pbihlLmxlbmd0aCxyKTtmb3IodmFyIG49W10sZj10O2Y8cjspe3ZhciBpPWVbZl0sbz1udWxsLHU9aT4yMzk/NDppPjIyMz8zOmk+MTkxPzI6MTtpZihmK3U8PXIpe3ZhciBzLGEsaCxjO3N3aXRjaCh1KXtjYXNlIDE6aTwxMjgmJihvPWkpO2JyZWFrO2Nhc2UgMjoxMjg9PSgxOTImKHM9ZVtmKzFdKSkmJihjPSgzMSZpKTw8Nnw2MyZzKT4xMjcmJihvPWMpO2JyZWFrO2Nhc2UgMzpzPWVbZisxXSxhPWVbZisyXSwxMjg9PSgxOTImcykmJjEyOD09KDE5MiZhKSYmKGM9KDE1JmkpPDwxMnwoNjMmcyk8PDZ8NjMmYSk+MjA0NyYmKGM8NTUyOTZ8fGM+NTczNDMpJiYobz1jKTticmVhaztjYXNlIDQ6cz1lW2YrMV0sYT1lW2YrMl0saD1lW2YrM10sMTI4PT0oMTkyJnMpJiYxMjg9PSgxOTImYSkmJjEyOD09KDE5MiZoKSYmKGM9KDE1JmkpPDwxOHwoNjMmcyk8PDEyfCg2MyZhKTw8Nnw2MyZoKT42NTUzNSYmYzwxMTE0MTEyJiYobz1jKX19bnVsbD09PW8/KG89NjU1MzMsdT0xKTpvPjY1NTM1JiYoby09NjU1MzYsbi5wdXNoKG8+Pj4xMCYxMDIzfDU1Mjk2KSxvPTU2MzIwfDEwMjMmbyksbi5wdXNoKG8pLGYrPXV9cmV0dXJuIGRlY29kZUNvZGVQb2ludHNBcnJheShuKX1mdW5jdGlvbiBkZWNvZGVDb2RlUG9pbnRzQXJyYXkoZSl7dmFyIHQ9ZS5sZW5ndGg7aWYodDw9TUFYX0FSR1VNRU5UU19MRU5HVEgpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLGUpO2Zvcih2YXIgcj0iIixuPTA7bjx0OylyKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxlLnNsaWNlKG4sbis9TUFYX0FSR1VNRU5UU19MRU5HVEgpKTtyZXR1cm4gcn1mdW5jdGlvbiBhc2NpaVNsaWNlKGUsdCxyKXt2YXIgbj0iIjtyPU1hdGgubWluKGUubGVuZ3RoLHIpO2Zvcih2YXIgZj10O2Y8cjsrK2Ypbis9U3RyaW5nLmZyb21DaGFyQ29kZSgxMjcmZVtmXSk7cmV0dXJuIG59ZnVuY3Rpb24gbGF0aW4xU2xpY2UoZSx0LHIpe3ZhciBuPSIiO3I9TWF0aC5taW4oZS5sZW5ndGgscik7Zm9yKHZhciBmPXQ7ZjxyOysrZiluKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGVbZl0pO3JldHVybiBufWZ1bmN0aW9uIGhleFNsaWNlKGUsdCxyKXt2YXIgbj1lLmxlbmd0aDsoIXR8fHQ8MCkmJih0PTApLCghcnx8cjwwfHxyPm4pJiYocj1uKTtmb3IodmFyIGY9IiIsaT10O2k8cjsrK2kpZis9dG9IZXgoZVtpXSk7cmV0dXJuIGZ9ZnVuY3Rpb24gdXRmMTZsZVNsaWNlKGUsdCxyKXtmb3IodmFyIG49ZS5zbGljZSh0LHIpLGY9IiIsaT0wO2k8bi5sZW5ndGg7aSs9MilmKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG5baV0rMjU2Km5baSsxXSk7cmV0dXJuIGZ9ZnVuY3Rpb24gY2hlY2tPZmZzZXQoZSx0LHIpe2lmKGUlMSE9MHx8ZTwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJvZmZzZXQgaXMgbm90IHVpbnQiKTtpZihlK3Q+cil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiVHJ5aW5nIHRvIGFjY2VzcyBiZXlvbmQgYnVmZmVyIGxlbmd0aCIpfWZ1bmN0aW9uIGNoZWNrSW50KGUsdCxyLG4sZixpKXtpZighQnVmZmVyLmlzQnVmZmVyKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJidWZmZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgaW5zdGFuY2UnKTtpZih0PmZ8fHQ8aSl0aHJvdyBuZXcgUmFuZ2VFcnJvcignInZhbHVlIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJyk7aWYocituPmUubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbmRleCBvdXQgb2YgcmFuZ2UiKX1mdW5jdGlvbiBjaGVja0lFRUU3NTQoZSx0LHIsbixmLGkpe2lmKHIrbj5lLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIik7aWYocjwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbmRleCBvdXQgb2YgcmFuZ2UiKX1mdW5jdGlvbiB3cml0ZUZsb2F0KGUsdCxyLG4sZil7cmV0dXJuIHQ9K3Qscj4+Pj0wLGZ8fGNoZWNrSUVFRTc1NChlLHQsciw0LDMuNDAyODIzNDY2Mzg1Mjg4NmUzOCwtMy40MDI4MjM0NjYzODUyODg2ZTM4KSxpZWVlNzU0LndyaXRlKGUsdCxyLG4sMjMsNCkscis0fWZ1bmN0aW9uIHdyaXRlRG91YmxlKGUsdCxyLG4sZil7cmV0dXJuIHQ9K3Qscj4+Pj0wLGZ8fGNoZWNrSUVFRTc1NChlLHQsciw4LDEuNzk3NjkzMTM0ODYyMzE1N2UzMDgsLTEuNzk3NjkzMTM0ODYyMzE1N2UzMDgpLGllZWU3NTQud3JpdGUoZSx0LHIsbiw1Miw4KSxyKzh9ZnVuY3Rpb24gYmFzZTY0Y2xlYW4oZSl7aWYoKGU9ZS50cmltKCkucmVwbGFjZShJTlZBTElEX0JBU0U2NF9SRSwiIikpLmxlbmd0aDwyKXJldHVybiIiO2Zvcig7ZS5sZW5ndGglNCE9MDspZSs9Ij0iO3JldHVybiBlfWZ1bmN0aW9uIHRvSGV4KGUpe3JldHVybiBlPDE2PyIwIitlLnRvU3RyaW5nKDE2KTplLnRvU3RyaW5nKDE2KX1mdW5jdGlvbiB1dGY4VG9CeXRlcyhlLHQpe3Q9dHx8MS8wO2Zvcih2YXIgcixuPWUubGVuZ3RoLGY9bnVsbCxpPVtdLG89MDtvPG47KytvKXtpZigocj1lLmNoYXJDb2RlQXQobykpPjU1Mjk1JiZyPDU3MzQ0KXtpZighZil7aWYocj41NjMxOSl7KHQtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWlmKG8rMT09PW4peyh0LT0zKT4tMSYmaS5wdXNoKDIzOSwxOTEsMTg5KTtjb250aW51ZX1mPXI7Y29udGludWV9aWYocjw1NjMyMCl7KHQtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpLGY9cjtjb250aW51ZX1yPTY1NTM2KyhmLTU1Mjk2PDwxMHxyLTU2MzIwKX1lbHNlIGYmJih0LT0zKT4tMSYmaS5wdXNoKDIzOSwxOTEsMTg5KTtpZihmPW51bGwscjwxMjgpe2lmKCh0LT0xKTwwKWJyZWFrO2kucHVzaChyKX1lbHNlIGlmKHI8MjA0OCl7aWYoKHQtPTIpPDApYnJlYWs7aS5wdXNoKHI+PjZ8MTkyLDYzJnJ8MTI4KX1lbHNlIGlmKHI8NjU1MzYpe2lmKCh0LT0zKTwwKWJyZWFrO2kucHVzaChyPj4xMnwyMjQscj4+NiY2M3wxMjgsNjMmcnwxMjgpfWVsc2V7aWYoIShyPDExMTQxMTIpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBjb2RlIHBvaW50Iik7aWYoKHQtPTQpPDApYnJlYWs7aS5wdXNoKHI+PjE4fDI0MCxyPj4xMiY2M3wxMjgscj4+NiY2M3wxMjgsNjMmcnwxMjgpfX1yZXR1cm4gaX1mdW5jdGlvbiBhc2NpaVRvQnl0ZXMoZSl7Zm9yKHZhciB0PVtdLHI9MDtyPGUubGVuZ3RoOysrcil0LnB1c2goMjU1JmUuY2hhckNvZGVBdChyKSk7cmV0dXJuIHR9ZnVuY3Rpb24gdXRmMTZsZVRvQnl0ZXMoZSx0KXtmb3IodmFyIHIsbixmLGk9W10sbz0wO288ZS5sZW5ndGgmJiEoKHQtPTIpPDApOysrbyluPShyPWUuY2hhckNvZGVBdChvKSk+PjgsZj1yJTI1NixpLnB1c2goZiksaS5wdXNoKG4pO3JldHVybiBpfWZ1bmN0aW9uIGJhc2U2NFRvQnl0ZXMoZSl7cmV0dXJuIGJhc2U2NC50b0J5dGVBcnJheShiYXNlNjRjbGVhbihlKSl9ZnVuY3Rpb24gYmxpdEJ1ZmZlcihlLHQscixuKXtmb3IodmFyIGY9MDtmPG4mJiEoZityPj10Lmxlbmd0aHx8Zj49ZS5sZW5ndGgpOysrZil0W2Yrcl09ZVtmXTtyZXR1cm4gZn1mdW5jdGlvbiBpc0FycmF5QnVmZmVyKGUpe3JldHVybiBlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fG51bGwhPWUmJm51bGwhPWUuY29uc3RydWN0b3ImJiJBcnJheUJ1ZmZlciI9PT1lLmNvbnN0cnVjdG9yLm5hbWUmJiJudW1iZXIiPT10eXBlb2YgZS5ieXRlTGVuZ3RofWZ1bmN0aW9uIGlzQXJyYXlCdWZmZXJWaWV3KGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXcmJkFycmF5QnVmZmVyLmlzVmlldyhlKX1mdW5jdGlvbiBudW1iZXJJc05hTihlKXtyZXR1cm4gZSE9PWV9dmFyIGJhc2U2ND1yZXF1aXJlKCJiYXNlNjQtanMiKSxpZWVlNzU0PXJlcXVpcmUoImllZWU3NTQiKTtleHBvcnRzLkJ1ZmZlcj1CdWZmZXIsZXhwb3J0cy5TbG93QnVmZmVyPVNsb3dCdWZmZXIsZXhwb3J0cy5JTlNQRUNUX01BWF9CWVRFUz01MDt2YXIgS19NQVhfTEVOR1RIPTIxNDc0ODM2NDc7ZXhwb3J0cy5rTWF4TGVuZ3RoPUtfTUFYX0xFTkdUSCxCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVD10eXBlZEFycmF5U3VwcG9ydCgpLEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUfHwidW5kZWZpbmVkIj09dHlwZW9mIGNvbnNvbGV8fCJmdW5jdGlvbiIhPXR5cGVvZiBjb25zb2xlLmVycm9yfHxjb25zb2xlLmVycm9yKCJUaGlzIGJyb3dzZXIgbGFja3MgdHlwZWQgYXJyYXkgKFVpbnQ4QXJyYXkpIHN1cHBvcnQgd2hpY2ggaXMgcmVxdWlyZWQgYnkgYGJ1ZmZlcmAgdjUueC4gVXNlIGBidWZmZXJgIHY0LnggaWYgeW91IHJlcXVpcmUgb2xkIGJyb3dzZXIgc3VwcG9ydC4iKSwidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnNwZWNpZXMmJkJ1ZmZlcltTeW1ib2wuc3BlY2llc109PT1CdWZmZXImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShCdWZmZXIsU3ltYm9sLnNwZWNpZXMse3ZhbHVlOm51bGwsY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITF9KSxCdWZmZXIucG9vbFNpemU9ODE5MixCdWZmZXIuZnJvbT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGZyb20oZSx0LHIpfSxCdWZmZXIucHJvdG90eXBlLl9fcHJvdG9fXz1VaW50OEFycmF5LnByb3RvdHlwZSxCdWZmZXIuX19wcm90b19fPVVpbnQ4QXJyYXksQnVmZmVyLmFsbG9jPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gYWxsb2MoZSx0LHIpfSxCdWZmZXIuYWxsb2NVbnNhZmU9ZnVuY3Rpb24oZSl7cmV0dXJuIGFsbG9jVW5zYWZlKGUpfSxCdWZmZXIuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKGUpe3JldHVybiBhbGxvY1Vuc2FmZShlKX0sQnVmZmVyLmlzQnVmZmVyPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiYhMD09PWUuX2lzQnVmZmVyfSxCdWZmZXIuY29tcGFyZT1mdW5jdGlvbihlLHQpe2lmKCFCdWZmZXIuaXNCdWZmZXIoZSl8fCFCdWZmZXIuaXNCdWZmZXIodCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnRzIG11c3QgYmUgQnVmZmVycyIpO2lmKGU9PT10KXJldHVybiAwO2Zvcih2YXIgcj1lLmxlbmd0aCxuPXQubGVuZ3RoLGY9MCxpPU1hdGgubWluKHIsbik7ZjxpOysrZilpZihlW2ZdIT09dFtmXSl7cj1lW2ZdLG49dFtmXTticmVha31yZXR1cm4gcjxuPy0xOm48cj8xOjB9LEJ1ZmZlci5pc0VuY29kaW5nPWZ1bmN0aW9uKGUpe3N3aXRjaChTdHJpbmcoZSkudG9Mb3dlckNhc2UoKSl7Y2FzZSJoZXgiOmNhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6Y2FzZSJhc2NpaSI6Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpjYXNlImJhc2U2NCI6Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fSxCdWZmZXIuY29uY2F0PWZ1bmN0aW9uKGUsdCl7aWYoIUFycmF5LmlzQXJyYXkoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcignImxpc3QiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpO2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gQnVmZmVyLmFsbG9jKDApO3ZhciByO2lmKHZvaWQgMD09PXQpZm9yKHQ9MCxyPTA7cjxlLmxlbmd0aDsrK3IpdCs9ZVtyXS5sZW5ndGg7dmFyIG49QnVmZmVyLmFsbG9jVW5zYWZlKHQpLGY9MDtmb3Iocj0wO3I8ZS5sZW5ndGg7KytyKXt2YXIgaT1lW3JdO2lmKCFCdWZmZXIuaXNCdWZmZXIoaSkpdGhyb3cgbmV3IFR5cGVFcnJvcignImxpc3QiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpO2kuY29weShuLGYpLGYrPWkubGVuZ3RofXJldHVybiBufSxCdWZmZXIuYnl0ZUxlbmd0aD1ieXRlTGVuZ3RoLEJ1ZmZlci5wcm90b3R5cGUuX2lzQnVmZmVyPSEwLEJ1ZmZlci5wcm90b3R5cGUuc3dhcDE2PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7aWYoZSUyIT0wKXRocm93IG5ldyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMTYtYml0cyIpO2Zvcih2YXIgdD0wO3Q8ZTt0Kz0yKXN3YXAodGhpcyx0LHQrMSk7cmV0dXJuIHRoaXN9LEJ1ZmZlci5wcm90b3R5cGUuc3dhcDMyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7aWYoZSU0IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzItYml0cyIpO2Zvcih2YXIgdD0wO3Q8ZTt0Kz00KXN3YXAodGhpcyx0LHQrMyksc3dhcCh0aGlzLHQrMSx0KzIpO3JldHVybiB0aGlzfSxCdWZmZXIucHJvdG90eXBlLnN3YXA2ND1mdW5jdGlvbigpe3ZhciBlPXRoaXMubGVuZ3RoO2lmKGUlOCE9MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDY0LWJpdHMiKTtmb3IodmFyIHQ9MDt0PGU7dCs9OClzd2FwKHRoaXMsdCx0KzcpLHN3YXAodGhpcyx0KzEsdCs2KSxzd2FwKHRoaXMsdCsyLHQrNSksc3dhcCh0aGlzLHQrMyx0KzQpO3JldHVybiB0aGlzfSxCdWZmZXIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7cmV0dXJuIDA9PT1lPyIiOjA9PT1hcmd1bWVudHMubGVuZ3RoP3V0ZjhTbGljZSh0aGlzLDAsZSk6c2xvd1RvU3RyaW5nLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sQnVmZmVyLnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24oZSl7aWYoIUJ1ZmZlci5pc0J1ZmZlcihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIik7cmV0dXJuIHRoaXM9PT1lfHwwPT09QnVmZmVyLmNvbXBhcmUodGhpcyxlKX0sQnVmZmVyLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7dmFyIGU9IiIsdD1leHBvcnRzLklOU1BFQ1RfTUFYX0JZVEVTO3JldHVybiB0aGlzLmxlbmd0aD4wJiYoZT10aGlzLnRvU3RyaW5nKCJoZXgiLDAsdCkubWF0Y2goLy57Mn0vZykuam9pbigiICIpLHRoaXMubGVuZ3RoPnQmJihlKz0iIC4uLiAiKSksIjxCdWZmZXIgIitlKyI+In0sQnVmZmVyLnByb3RvdHlwZS5jb21wYXJlPWZ1bmN0aW9uKGUsdCxyLG4sZil7aWYoIUJ1ZmZlci5pc0J1ZmZlcihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIik7aWYodm9pZCAwPT09dCYmKHQ9MCksdm9pZCAwPT09ciYmKHI9ZT9lLmxlbmd0aDowKSx2b2lkIDA9PT1uJiYobj0wKSx2b2lkIDA9PT1mJiYoZj10aGlzLmxlbmd0aCksdDwwfHxyPmUubGVuZ3RofHxuPDB8fGY+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIm91dCBvZiByYW5nZSBpbmRleCIpO2lmKG4+PWYmJnQ+PXIpcmV0dXJuIDA7aWYobj49ZilyZXR1cm4tMTtpZih0Pj1yKXJldHVybiAxO2lmKHQ+Pj49MCxyPj4+PTAsbj4+Pj0wLGY+Pj49MCx0aGlzPT09ZSlyZXR1cm4gMDtmb3IodmFyIGk9Zi1uLG89ci10LHU9TWF0aC5taW4oaSxvKSxzPXRoaXMuc2xpY2UobixmKSxhPWUuc2xpY2UodCxyKSxoPTA7aDx1OysraClpZihzW2hdIT09YVtoXSl7aT1zW2hdLG89YVtoXTticmVha31yZXR1cm4gaTxvPy0xOm88aT8xOjB9LEJ1ZmZlci5wcm90b3R5cGUuaW5jbHVkZXM9ZnVuY3Rpb24oZSx0LHIpe3JldHVybi0xIT09dGhpcy5pbmRleE9mKGUsdCxyKX0sQnVmZmVyLnByb3RvdHlwZS5pbmRleE9mPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gYmlkaXJlY3Rpb25hbEluZGV4T2YodGhpcyxlLHQsciwhMCl9LEJ1ZmZlci5wcm90b3R5cGUubGFzdEluZGV4T2Y9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLGUsdCxyLCExKX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlLHQscixuKXtpZih2b2lkIDA9PT10KW49InV0ZjgiLHI9dGhpcy5sZW5ndGgsdD0wO2Vsc2UgaWYodm9pZCAwPT09ciYmInN0cmluZyI9PXR5cGVvZiB0KW49dCxyPXRoaXMubGVuZ3RoLHQ9MDtlbHNle2lmKCFpc0Zpbml0ZSh0KSl0aHJvdyBuZXcgRXJyb3IoIkJ1ZmZlci53cml0ZShzdHJpbmcsIGVuY29kaW5nLCBvZmZzZXRbLCBsZW5ndGhdKSBpcyBubyBsb25nZXIgc3VwcG9ydGVkIik7dD4+Pj0wLGlzRmluaXRlKHIpPyhyPj4+PTAsdm9pZCAwPT09biYmKG49InV0ZjgiKSk6KG49cixyPXZvaWQgMCl9dmFyIGY9dGhpcy5sZW5ndGgtdDtpZigodm9pZCAwPT09cnx8cj5mKSYmKHI9ZiksZS5sZW5ndGg+MCYmKHI8MHx8dDwwKXx8dD50aGlzLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQXR0ZW1wdCB0byB3cml0ZSBvdXRzaWRlIGJ1ZmZlciBib3VuZHMiKTtufHwobj0idXRmOCIpO2Zvcih2YXIgaT0hMTs7KXN3aXRjaChuKXtjYXNlImhleCI6cmV0dXJuIGhleFdyaXRlKHRoaXMsZSx0LHIpO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuIHV0ZjhXcml0ZSh0aGlzLGUsdCxyKTtjYXNlImFzY2lpIjpyZXR1cm4gYXNjaWlXcml0ZSh0aGlzLGUsdCxyKTtjYXNlImxhdGluMSI6Y2FzZSJiaW5hcnkiOnJldHVybiBsYXRpbjFXcml0ZSh0aGlzLGUsdCxyKTtjYXNlImJhc2U2NCI6cmV0dXJuIGJhc2U2NFdyaXRlKHRoaXMsZSx0LHIpO2Nhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4gdWNzMldyaXRlKHRoaXMsZSx0LHIpO2RlZmF1bHQ6aWYoaSl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK24pO249KCIiK24pLnRvTG93ZXJDYXNlKCksaT0hMH19LEJ1ZmZlci5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJue3R5cGU6IkJ1ZmZlciIsZGF0YTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLl9hcnJ8fHRoaXMsMCl9fTt2YXIgTUFYX0FSR1VNRU5UU19MRU5HVEg9NDA5NjtCdWZmZXIucHJvdG90eXBlLnNsaWNlPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcy5sZW5ndGg7ZT1+fmUsdD12b2lkIDA9PT10P3I6fn50LGU8MD8oZSs9cik8MCYmKGU9MCk6ZT5yJiYoZT1yKSx0PDA/KHQrPXIpPDAmJih0PTApOnQ+ciYmKHQ9ciksdDxlJiYodD1lKTt2YXIgbj10aGlzLnN1YmFycmF5KGUsdCk7cmV0dXJuIG4uX19wcm90b19fPUJ1ZmZlci5wcm90b3R5cGUsbn0sQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludExFPWZ1bmN0aW9uKGUsdCxyKXtlPj4+PTAsdD4+Pj0wLHJ8fGNoZWNrT2Zmc2V0KGUsdCx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbZV0sZj0xLGk9MDsrK2k8dCYmKGYqPTI1Nik7KW4rPXRoaXNbZStpXSpmO3JldHVybiBufSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50QkU9ZnVuY3Rpb24oZSx0LHIpe2U+Pj49MCx0Pj4+PTAscnx8Y2hlY2tPZmZzZXQoZSx0LHRoaXMubGVuZ3RoKTtmb3IodmFyIG49dGhpc1tlKy0tdF0sZj0xO3Q+MCYmKGYqPTI1Nik7KW4rPXRoaXNbZSstLXRdKmY7cmV0dXJuIG59LEJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQ4PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDEsdGhpcy5sZW5ndGgpLHRoaXNbZV19LEJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQxNkxFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDIsdGhpcy5sZW5ndGgpLHRoaXNbZV18dGhpc1tlKzFdPDw4fSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MTZCRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSwyLHRoaXMubGVuZ3RoKSx0aGlzW2VdPDw4fHRoaXNbZSsxXX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDMyTEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsNCx0aGlzLmxlbmd0aCksKHRoaXNbZV18dGhpc1tlKzFdPDw4fHRoaXNbZSsyXTw8MTYpKzE2Nzc3MjE2KnRoaXNbZSszXX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDMyQkU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsNCx0aGlzLmxlbmd0aCksMTY3NzcyMTYqdGhpc1tlXSsodGhpc1tlKzFdPDwxNnx0aGlzW2UrMl08PDh8dGhpc1tlKzNdKX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50TEU9ZnVuY3Rpb24oZSx0LHIpe2U+Pj49MCx0Pj4+PTAscnx8Y2hlY2tPZmZzZXQoZSx0LHRoaXMubGVuZ3RoKTtmb3IodmFyIG49dGhpc1tlXSxmPTEsaT0wOysraTx0JiYoZio9MjU2KTspbis9dGhpc1tlK2ldKmY7cmV0dXJuIGYqPTEyOCxuPj1mJiYobi09TWF0aC5wb3coMiw4KnQpKSxufSxCdWZmZXIucHJvdG90eXBlLnJlYWRJbnRCRT1mdW5jdGlvbihlLHQscil7ZT4+Pj0wLHQ+Pj49MCxyfHxjaGVja09mZnNldChlLHQsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10LGY9MSxpPXRoaXNbZSstLW5dO24+MCYmKGYqPTI1Nik7KWkrPXRoaXNbZSstLW5dKmY7cmV0dXJuIGYqPTEyOCxpPj1mJiYoaS09TWF0aC5wb3coMiw4KnQpKSxpfSxCdWZmZXIucHJvdG90eXBlLnJlYWRJbnQ4PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDEsdGhpcy5sZW5ndGgpLDEyOCZ0aGlzW2VdPy0xKigyNTUtdGhpc1tlXSsxKTp0aGlzW2VdfSxCdWZmZXIucHJvdG90eXBlLnJlYWRJbnQxNkxFPWZ1bmN0aW9uKGUsdCl7ZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsMix0aGlzLmxlbmd0aCk7dmFyIHI9dGhpc1tlXXx0aGlzW2UrMV08PDg7cmV0dXJuIDMyNzY4JnI/NDI5NDkwMTc2MHxyOnJ9LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludDE2QkU9ZnVuY3Rpb24oZSx0KXtlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSwyLHRoaXMubGVuZ3RoKTt2YXIgcj10aGlzW2UrMV18dGhpc1tlXTw8ODtyZXR1cm4gMzI3Njgmcj80Mjk0OTAxNzYwfHI6cn0sQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MzJMRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSx0aGlzW2VdfHRoaXNbZSsxXTw8OHx0aGlzW2UrMl08PDE2fHRoaXNbZSszXTw8MjR9LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludDMyQkU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsNCx0aGlzLmxlbmd0aCksdGhpc1tlXTw8MjR8dGhpc1tlKzFdPDwxNnx0aGlzW2UrMl08PDh8dGhpc1tlKzNdfSxCdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdExFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDQsdGhpcy5sZW5ndGgpLGllZWU3NTQucmVhZCh0aGlzLGUsITAsMjMsNCl9LEJ1ZmZlci5wcm90b3R5cGUucmVhZEZsb2F0QkU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsNCx0aGlzLmxlbmd0aCksaWVlZTc1NC5yZWFkKHRoaXMsZSwhMSwyMyw0KX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkRG91YmxlTEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsOCx0aGlzLmxlbmd0aCksaWVlZTc1NC5yZWFkKHRoaXMsZSwhMCw1Miw4KX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkRG91YmxlQkU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsOCx0aGlzLmxlbmd0aCksaWVlZTc1NC5yZWFkKHRoaXMsZSwhMSw1Miw4KX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnRMRT1mdW5jdGlvbihlLHQscixuKXtlPStlLHQ+Pj49MCxyPj4+PTAsbnx8Y2hlY2tJbnQodGhpcyxlLHQscixNYXRoLnBvdygyLDgqciktMSwwKTt2YXIgZj0xLGk9MDtmb3IodGhpc1t0XT0yNTUmZTsrK2k8ciYmKGYqPTI1Nik7KXRoaXNbdCtpXT1lL2YmMjU1O3JldHVybiB0K3J9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50QkU9ZnVuY3Rpb24oZSx0LHIsbil7ZT0rZSx0Pj4+PTAscj4+Pj0wLG58fGNoZWNrSW50KHRoaXMsZSx0LHIsTWF0aC5wb3coMiw4KnIpLTEsMCk7dmFyIGY9ci0xLGk9MTtmb3IodGhpc1t0K2ZdPTI1NSZlOy0tZj49MCYmKGkqPTI1Nik7KXRoaXNbdCtmXT1lL2kmMjU1O3JldHVybiB0K3J9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDEsMjU1LDApLHRoaXNbdF09MjU1JmUsdCsxfSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludDE2TEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCwyLDY1NTM1LDApLHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44LHQrMn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQxNkJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsMiw2NTUzNSwwKSx0aGlzW3RdPWU+Pj44LHRoaXNbdCsxXT0yNTUmZSx0KzJ9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MzJMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDQsNDI5NDk2NzI5NSwwKSx0aGlzW3QrM109ZT4+PjI0LHRoaXNbdCsyXT1lPj4+MTYsdGhpc1t0KzFdPWU+Pj44LHRoaXNbdF09MjU1JmUsdCs0fSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCw0LDQyOTQ5NjcyOTUsMCksdGhpc1t0XT1lPj4+MjQsdGhpc1t0KzFdPWU+Pj4xNix0aGlzW3QrMl09ZT4+PjgsdGhpc1t0KzNdPTI1NSZlLHQrNH0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludExFPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKGU9K2UsdD4+Pj0wLCFuKXt2YXIgZj1NYXRoLnBvdygyLDgqci0xKTtjaGVja0ludCh0aGlzLGUsdCxyLGYtMSwtZil9dmFyIGk9MCxvPTEsdT0wO2Zvcih0aGlzW3RdPTI1NSZlOysraTxyJiYobyo9MjU2KTspZTwwJiYwPT09dSYmMCE9PXRoaXNbdCtpLTFdJiYodT0xKSx0aGlzW3QraV09KGUvbz4+MCktdSYyNTU7cmV0dXJuIHQrcn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludEJFPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKGU9K2UsdD4+Pj0wLCFuKXt2YXIgZj1NYXRoLnBvdygyLDgqci0xKTtjaGVja0ludCh0aGlzLGUsdCxyLGYtMSwtZil9dmFyIGk9ci0xLG89MSx1PTA7Zm9yKHRoaXNbdCtpXT0yNTUmZTstLWk+PTAmJihvKj0yNTYpOyllPDAmJjA9PT11JiYwIT09dGhpc1t0K2krMV0mJih1PTEpLHRoaXNbdCtpXT0oZS9vPj4wKS11JjI1NTtyZXR1cm4gdCtyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50OD1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDEsMTI3LC0xMjgpLGU8MCYmKGU9MjU1K2UrMSksdGhpc1t0XT0yNTUmZSx0KzF9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQxNkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsMiwzMjc2NywtMzI3NjgpLHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44LHQrMn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDE2QkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCwyLDMyNzY3LC0zMjc2OCksdGhpc1t0XT1lPj4+OCx0aGlzW3QrMV09MjU1JmUsdCsyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50MzJMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCksdGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgsdGhpc1t0KzJdPWU+Pj4xNix0aGlzW3QrM109ZT4+PjI0LHQrNH0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDMyQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCw0LDIxNDc0ODM2NDcsLTIxNDc0ODM2NDgpLGU8MCYmKGU9NDI5NDk2NzI5NStlKzEpLHRoaXNbdF09ZT4+PjI0LHRoaXNbdCsxXT1lPj4+MTYsdGhpc1t0KzJdPWU+Pj44LHRoaXNbdCszXT0yNTUmZSx0KzR9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVGbG9hdExFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gd3JpdGVGbG9hdCh0aGlzLGUsdCwhMCxyKX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUZsb2F0QkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiB3cml0ZUZsb2F0KHRoaXMsZSx0LCExLHIpfSxCdWZmZXIucHJvdG90eXBlLndyaXRlRG91YmxlTEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiB3cml0ZURvdWJsZSh0aGlzLGUsdCwhMCxyKX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZURvdWJsZUJFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gd3JpdGVEb3VibGUodGhpcyxlLHQsITEscil9LEJ1ZmZlci5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlLHQscixuKXtpZihyfHwocj0wKSxufHwwPT09bnx8KG49dGhpcy5sZW5ndGgpLHQ+PWUubGVuZ3RoJiYodD1lLmxlbmd0aCksdHx8KHQ9MCksbj4wJiZuPHImJihuPXIpLG49PT1yKXJldHVybiAwO2lmKDA9PT1lLmxlbmd0aHx8MD09PXRoaXMubGVuZ3RoKXJldHVybiAwO2lmKHQ8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigidGFyZ2V0U3RhcnQgb3V0IG9mIGJvdW5kcyIpO2lmKHI8MHx8cj49dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInNvdXJjZVN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihuPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoInNvdXJjZUVuZCBvdXQgb2YgYm91bmRzIik7bj50aGlzLmxlbmd0aCYmKG49dGhpcy5sZW5ndGgpLGUubGVuZ3RoLXQ8bi1yJiYobj1lLmxlbmd0aC10K3IpO3ZhciBmLGk9bi1yO2lmKHRoaXM9PT1lJiZyPHQmJnQ8bilmb3IoZj1pLTE7Zj49MDstLWYpZVtmK3RdPXRoaXNbZityXTtlbHNlIGlmKGk8MWUzKWZvcihmPTA7ZjxpOysrZillW2YrdF09dGhpc1tmK3JdO2Vsc2UgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwoZSx0aGlzLnN1YmFycmF5KHIscitpKSx0KTtyZXR1cm4gaX0sQnVmZmVyLnByb3RvdHlwZS5maWxsPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKCJzdHJpbmciPT10eXBlb2YgZSl7aWYoInN0cmluZyI9PXR5cGVvZiB0PyhuPXQsdD0wLHI9dGhpcy5sZW5ndGgpOiJzdHJpbmciPT10eXBlb2YgciYmKG49cixyPXRoaXMubGVuZ3RoKSwxPT09ZS5sZW5ndGgpe3ZhciBmPWUuY2hhckNvZGVBdCgwKTtmPDI1NiYmKGU9Zil9aWYodm9pZCAwIT09biYmInN0cmluZyIhPXR5cGVvZiBuKXRocm93IG5ldyBUeXBlRXJyb3IoImVuY29kaW5nIG11c3QgYmUgYSBzdHJpbmciKTtpZigic3RyaW5nIj09dHlwZW9mIG4mJiFCdWZmZXIuaXNFbmNvZGluZyhuKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK24pfWVsc2UibnVtYmVyIj09dHlwZW9mIGUmJihlJj0yNTUpO2lmKHQ8MHx8dGhpcy5sZW5ndGg8dHx8dGhpcy5sZW5ndGg8cil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiT3V0IG9mIHJhbmdlIGluZGV4Iik7aWYocjw9dClyZXR1cm4gdGhpczt0Pj4+PTAscj12b2lkIDA9PT1yP3RoaXMubGVuZ3RoOnI+Pj4wLGV8fChlPTApO3ZhciBpO2lmKCJudW1iZXIiPT10eXBlb2YgZSlmb3IoaT10O2k8cjsrK2kpdGhpc1tpXT1lO2Vsc2V7dmFyIG89QnVmZmVyLmlzQnVmZmVyKGUpP2U6bmV3IEJ1ZmZlcihlLG4pLHU9by5sZW5ndGg7Zm9yKGk9MDtpPHItdDsrK2kpdGhpc1tpK3RdPW9baSV1XX1yZXR1cm4gdGhpc307dmFyIElOVkFMSURfQkFTRTY0X1JFPS9bXisvMC05QS1aYS16LV9dL2c7DQoNCiAgfSx7ImJhc2U2NC1qcyI6MiwiaWVlZTc1NCI6NTB9XSw5OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgZnVuY3Rpb24gQ2lwaGVyQmFzZSh0KXtUcmFuc2Zvcm0uY2FsbCh0aGlzKSx0aGlzLmhhc2hNb2RlPSJzdHJpbmciPT10eXBlb2YgdCx0aGlzLmhhc2hNb2RlP3RoaXNbdF09dGhpcy5fZmluYWxPckRpZ2VzdDp0aGlzLmZpbmFsPXRoaXMuX2ZpbmFsT3JEaWdlc3QsdGhpcy5fZmluYWwmJih0aGlzLl9fZmluYWw9dGhpcy5fZmluYWwsdGhpcy5fZmluYWw9bnVsbCksdGhpcy5fZGVjb2Rlcj1udWxsLHRoaXMuX2VuY29kaW5nPW51bGx9dmFyIEJ1ZmZlcj1yZXF1aXJlKCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixUcmFuc2Zvcm09cmVxdWlyZSgic3RyZWFtIikuVHJhbnNmb3JtLFN0cmluZ0RlY29kZXI9cmVxdWlyZSgic3RyaW5nX2RlY29kZXIiKS5TdHJpbmdEZWNvZGVyLGluaGVyaXRzPXJlcXVpcmUoImluaGVyaXRzIik7aW5oZXJpdHMoQ2lwaGVyQmFzZSxUcmFuc2Zvcm0pLENpcGhlckJhc2UucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUscil7InN0cmluZyI9PXR5cGVvZiB0JiYodD1CdWZmZXIuZnJvbSh0LGUpKTt2YXIgaT10aGlzLl91cGRhdGUodCk7cmV0dXJuIHRoaXMuaGFzaE1vZGU/dGhpczoociYmKGk9dGhpcy5fdG9TdHJpbmcoaSxyKSksaSl9LENpcGhlckJhc2UucHJvdG90eXBlLnNldEF1dG9QYWRkaW5nPWZ1bmN0aW9uKCl7fSxDaXBoZXJCYXNlLnByb3RvdHlwZS5nZXRBdXRoVGFnPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJ0cnlpbmcgdG8gZ2V0IGF1dGggdGFnIGluIHVuc3VwcG9ydGVkIHN0YXRlIil9LENpcGhlckJhc2UucHJvdG90eXBlLnNldEF1dGhUYWc9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoInRyeWluZyB0byBzZXQgYXV0aCB0YWcgaW4gdW5zdXBwb3J0ZWQgc3RhdGUiKX0sQ2lwaGVyQmFzZS5wcm90b3R5cGUuc2V0QUFEPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJ0cnlpbmcgdG8gc2V0IGFhZCBpbiB1bnN1cHBvcnRlZCBzdGF0ZSIpfSxDaXBoZXJCYXNlLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaTt0cnl7dGhpcy5oYXNoTW9kZT90aGlzLl91cGRhdGUodCk6dGhpcy5wdXNoKHRoaXMuX3VwZGF0ZSh0KSl9Y2F0Y2godCl7aT10fWZpbmFsbHl7cihpKX19LENpcGhlckJhc2UucHJvdG90eXBlLl9mbHVzaD1mdW5jdGlvbih0KXt2YXIgZTt0cnl7dGhpcy5wdXNoKHRoaXMuX19maW5hbCgpKX1jYXRjaCh0KXtlPXR9dChlKX0sQ2lwaGVyQmFzZS5wcm90b3R5cGUuX2ZpbmFsT3JEaWdlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2ZpbmFsKCl8fEJ1ZmZlci5hbGxvYygwKTtyZXR1cm4gdCYmKGU9dGhpcy5fdG9TdHJpbmcoZSx0LCEwKSksZX0sQ2lwaGVyQmFzZS5wcm90b3R5cGUuX3RvU3RyaW5nPWZ1bmN0aW9uKHQsZSxyKXtpZih0aGlzLl9kZWNvZGVyfHwodGhpcy5fZGVjb2Rlcj1uZXcgU3RyaW5nRGVjb2RlcihlKSx0aGlzLl9lbmNvZGluZz1lKSx0aGlzLl9lbmNvZGluZyE9PWUpdGhyb3cgbmV3IEVycm9yKCJjYW4ndCBzd2l0Y2ggZW5jb2RpbmdzIik7dmFyIGk9dGhpcy5fZGVjb2Rlci53cml0ZSh0KTtyZXR1cm4gciYmKGkrPXRoaXMuX2RlY29kZXIuZW5kKCkpLGl9LG1vZHVsZS5leHBvcnRzPUNpcGhlckJhc2U7DQoNCiAgfSx7ImluaGVyaXRzIjo1MSwic2FmZS1idWZmZXIiOjgyLCJzdHJlYW0iOjk3LCJzdHJpbmdfZGVjb2RlciI6OTh9XSwxMDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIChmdW5jdGlvbiAoQnVmZmVyKXsNCiAgZnVuY3Rpb24gaXNBcnJheShyKXtyZXR1cm4gQXJyYXkuaXNBcnJheT9BcnJheS5pc0FycmF5KHIpOiJbb2JqZWN0IEFycmF5XSI9PT1vYmplY3RUb1N0cmluZyhyKX1mdW5jdGlvbiBpc0Jvb2xlYW4ocil7cmV0dXJuImJvb2xlYW4iPT10eXBlb2Ygcn1mdW5jdGlvbiBpc051bGwocil7cmV0dXJuIG51bGw9PT1yfWZ1bmN0aW9uIGlzTnVsbE9yVW5kZWZpbmVkKHIpe3JldHVybiBudWxsPT1yfWZ1bmN0aW9uIGlzTnVtYmVyKHIpe3JldHVybiJudW1iZXIiPT10eXBlb2Ygcn1mdW5jdGlvbiBpc1N0cmluZyhyKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHJ9ZnVuY3Rpb24gaXNTeW1ib2wocil7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiByfWZ1bmN0aW9uIGlzVW5kZWZpbmVkKHIpe3JldHVybiB2b2lkIDA9PT1yfWZ1bmN0aW9uIGlzUmVnRXhwKHIpe3JldHVybiJbb2JqZWN0IFJlZ0V4cF0iPT09b2JqZWN0VG9TdHJpbmcocil9ZnVuY3Rpb24gaXNPYmplY3Qocil7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiByJiZudWxsIT09cn1mdW5jdGlvbiBpc0RhdGUocil7cmV0dXJuIltvYmplY3QgRGF0ZV0iPT09b2JqZWN0VG9TdHJpbmcocil9ZnVuY3Rpb24gaXNFcnJvcihyKXtyZXR1cm4iW29iamVjdCBFcnJvcl0iPT09b2JqZWN0VG9TdHJpbmcocil8fHIgaW5zdGFuY2VvZiBFcnJvcn1mdW5jdGlvbiBpc0Z1bmN0aW9uKHIpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiByfWZ1bmN0aW9uIGlzUHJpbWl0aXZlKHIpe3JldHVybiBudWxsPT09cnx8ImJvb2xlYW4iPT10eXBlb2Ygcnx8Im51bWJlciI9PXR5cGVvZiByfHwic3RyaW5nIj09dHlwZW9mIHJ8fCJzeW1ib2wiPT10eXBlb2Ygcnx8dm9pZCAwPT09cn1mdW5jdGlvbiBvYmplY3RUb1N0cmluZyhyKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpfWV4cG9ydHMuaXNBcnJheT1pc0FycmF5LGV4cG9ydHMuaXNCb29sZWFuPWlzQm9vbGVhbixleHBvcnRzLmlzTnVsbD1pc051bGwsZXhwb3J0cy5pc051bGxPclVuZGVmaW5lZD1pc051bGxPclVuZGVmaW5lZCxleHBvcnRzLmlzTnVtYmVyPWlzTnVtYmVyLGV4cG9ydHMuaXNTdHJpbmc9aXNTdHJpbmcsZXhwb3J0cy5pc1N5bWJvbD1pc1N5bWJvbCxleHBvcnRzLmlzVW5kZWZpbmVkPWlzVW5kZWZpbmVkLGV4cG9ydHMuaXNSZWdFeHA9aXNSZWdFeHAsZXhwb3J0cy5pc09iamVjdD1pc09iamVjdCxleHBvcnRzLmlzRGF0ZT1pc0RhdGUsZXhwb3J0cy5pc0Vycm9yPWlzRXJyb3IsZXhwb3J0cy5pc0Z1bmN0aW9uPWlzRnVuY3Rpb24sZXhwb3J0cy5pc1ByaW1pdGl2ZT1pc1ByaW1pdGl2ZSxleHBvcnRzLmlzQnVmZmVyPUJ1ZmZlci5pc0J1ZmZlcjsNCg0KICB9KS5jYWxsKHRoaXMseyJpc0J1ZmZlciI6cmVxdWlyZSgiLi4vLi4vaXMtYnVmZmVyL2luZGV4LmpzIil9KQ0KICB9LHsiLi4vLi4vaXMtYnVmZmVyL2luZGV4LmpzIjo1Mn1dLDExOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgKGZ1bmN0aW9uIChCdWZmZXIpew0KICAidXNlIHN0cmljdCI7ZnVuY3Rpb24gSGFzaE5vQ29uc3RydWN0b3Iocyl7QmFzZS5jYWxsKHRoaXMsImRpZ2VzdCIpLHRoaXMuX2hhc2g9cyx0aGlzLmJ1ZmZlcnM9W119ZnVuY3Rpb24gSGFzaChzKXtCYXNlLmNhbGwodGhpcywiZGlnZXN0IiksdGhpcy5faGFzaD1zfXZhciBpbmhlcml0cz1yZXF1aXJlKCJpbmhlcml0cyIpLG1kNT1yZXF1aXJlKCIuL21kNSIpLFJJUEVNRDE2MD1yZXF1aXJlKCJyaXBlbWQxNjAiKSxzaGE9cmVxdWlyZSgic2hhLmpzIiksQmFzZT1yZXF1aXJlKCJjaXBoZXItYmFzZSIpO2luaGVyaXRzKEhhc2hOb0NvbnN0cnVjdG9yLEJhc2UpLEhhc2hOb0NvbnN0cnVjdG9yLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHMpe3RoaXMuYnVmZmVycy5wdXNoKHMpfSxIYXNoTm9Db25zdHJ1Y3Rvci5wcm90b3R5cGUuX2ZpbmFsPWZ1bmN0aW9uKCl7dmFyIHM9QnVmZmVyLmNvbmNhdCh0aGlzLmJ1ZmZlcnMpLHQ9dGhpcy5faGFzaChzKTtyZXR1cm4gdGhpcy5idWZmZXJzPW51bGwsdH0saW5oZXJpdHMoSGFzaCxCYXNlKSxIYXNoLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHMpe3RoaXMuX2hhc2gudXBkYXRlKHMpfSxIYXNoLnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faGFzaC5kaWdlc3QoKX0sbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24ocyl7cmV0dXJuIm1kNSI9PT0ocz1zLnRvTG93ZXJDYXNlKCkpP25ldyBIYXNoTm9Db25zdHJ1Y3RvcihtZDUpOm5ldyBIYXNoKCJybWQxNjAiPT09c3x8InJpcGVtZDE2MCI9PT1zP25ldyBSSVBFTUQxNjA6c2hhKHMpKX07DQoNCiAgfSkuY2FsbCh0aGlzLHJlcXVpcmUoImJ1ZmZlciIpLkJ1ZmZlcikNCiAgfSx7Ii4vbWQ1IjoxMywiYnVmZmVyIjo4LCJjaXBoZXItYmFzZSI6OSwiaW5oZXJpdHMiOjUxLCJyaXBlbWQxNjAiOjgwLCJzaGEuanMiOjkwfV0sMTI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAoZnVuY3Rpb24gKEJ1ZmZlcil7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0b0FycmF5KGUpe2lmKGUubGVuZ3RoJWludFNpemUhPTApe3ZhciByPWUubGVuZ3RoKyhpbnRTaXplLWUubGVuZ3RoJWludFNpemUpO2U9QnVmZmVyLmNvbmNhdChbZSx6ZXJvQnVmZmVyXSxyKX1mb3IodmFyIHQ9bmV3IEFycmF5KGUubGVuZ3RoPj4+Miksbj0wLGk9MDtuPGUubGVuZ3RoO24rPWludFNpemUsaSsrKXRbaV09ZS5yZWFkSW50MzJMRShuKTtyZXR1cm4gdH12YXIgaW50U2l6ZT00LHplcm9CdWZmZXI9bmV3IEJ1ZmZlcihpbnRTaXplKTt6ZXJvQnVmZmVyLmZpbGwoMCk7dmFyIGNoYXJTaXplPTgsaGFzaFNpemU9MTY7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSxyKXt2YXIgdD1yKHRvQXJyYXkoZSksZS5sZW5ndGgqY2hhclNpemUpO2U9bmV3IEJ1ZmZlcihoYXNoU2l6ZSk7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspZS53cml0ZUludDMyTEUodFtuXSxuPDwyLCEwKTtyZXR1cm4gZX07DQoNCiAgfSkuY2FsbCh0aGlzLHJlcXVpcmUoImJ1ZmZlciIpLkJ1ZmZlcikNCiAgfSx7ImJ1ZmZlciI6OH1dLDEzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIGNvcmVfbWQ1KGQsXyl7ZFtfPj41XXw9MTI4PDxfJTMyLGRbMTQrKF8rNjQ+Pj45PDw0KV09Xztmb3IodmFyIG09MTczMjU4NDE5MyxmPS0yNzE3MzM4NzksaT0tMTczMjU4NDE5NCxoPTI3MTczMzg3OCxnPTA7ZzxkLmxlbmd0aDtnKz0xNil7dmFyIG49bSxyPWYsZT1pLGE9aDtmPW1kNV9paShmPW1kNV9paShmPW1kNV9paShmPW1kNV9paShmPW1kNV9oaChmPW1kNV9oaChmPW1kNV9oaChmPW1kNV9oaChmPW1kNV9nZyhmPW1kNV9nZyhmPW1kNV9nZyhmPW1kNV9nZyhmPW1kNV9mZihmPW1kNV9mZihmPW1kNV9mZihmPW1kNV9mZihmLGk9bWQ1X2ZmKGksaD1tZDVfZmYoaCxtPW1kNV9mZihtLGYsaSxoLGRbZyswXSw3LC02ODA4NzY5MzYpLGYsaSxkW2crMV0sMTIsLTM4OTU2NDU4NiksbSxmLGRbZysyXSwxNyw2MDYxMDU4MTkpLGgsbSxkW2crM10sMjIsLTEwNDQ1MjUzMzApLGk9bWQ1X2ZmKGksaD1tZDVfZmYoaCxtPW1kNV9mZihtLGYsaSxoLGRbZys0XSw3LC0xNzY0MTg4OTcpLGYsaSxkW2crNV0sMTIsMTIwMDA4MDQyNiksbSxmLGRbZys2XSwxNywtMTQ3MzIzMTM0MSksaCxtLGRbZys3XSwyMiwtNDU3MDU5ODMpLGk9bWQ1X2ZmKGksaD1tZDVfZmYoaCxtPW1kNV9mZihtLGYsaSxoLGRbZys4XSw3LDE3NzAwMzU0MTYpLGYsaSxkW2crOV0sMTIsLTE5NTg0MTQ0MTcpLG0sZixkW2crMTBdLDE3LC00MjA2MyksaCxtLGRbZysxMV0sMjIsLTE5OTA0MDQxNjIpLGk9bWQ1X2ZmKGksaD1tZDVfZmYoaCxtPW1kNV9mZihtLGYsaSxoLGRbZysxMl0sNywxODA0NjAzNjgyKSxmLGksZFtnKzEzXSwxMiwtNDAzNDExMDEpLG0sZixkW2crMTRdLDE3LC0xNTAyMDAyMjkwKSxoLG0sZFtnKzE1XSwyMiwxMjM2NTM1MzI5KSxpPW1kNV9nZyhpLGg9bWQ1X2dnKGgsbT1tZDVfZ2cobSxmLGksaCxkW2crMV0sNSwtMTY1Nzk2NTEwKSxmLGksZFtnKzZdLDksLTEwNjk1MDE2MzIpLG0sZixkW2crMTFdLDE0LDY0MzcxNzcxMyksaCxtLGRbZyswXSwyMCwtMzczODk3MzAyKSxpPW1kNV9nZyhpLGg9bWQ1X2dnKGgsbT1tZDVfZ2cobSxmLGksaCxkW2crNV0sNSwtNzAxNTU4NjkxKSxmLGksZFtnKzEwXSw5LDM4MDE2MDgzKSxtLGYsZFtnKzE1XSwxNCwtNjYwNDc4MzM1KSxoLG0sZFtnKzRdLDIwLC00MDU1Mzc4NDgpLGk9bWQ1X2dnKGksaD1tZDVfZ2coaCxtPW1kNV9nZyhtLGYsaSxoLGRbZys5XSw1LDU2ODQ0NjQzOCksZixpLGRbZysxNF0sOSwtMTAxOTgwMzY5MCksbSxmLGRbZyszXSwxNCwtMTg3MzYzOTYxKSxoLG0sZFtnKzhdLDIwLDExNjM1MzE1MDEpLGk9bWQ1X2dnKGksaD1tZDVfZ2coaCxtPW1kNV9nZyhtLGYsaSxoLGRbZysxM10sNSwtMTQ0NDY4MTQ2NyksZixpLGRbZysyXSw5LC01MTQwMzc4NCksbSxmLGRbZys3XSwxNCwxNzM1MzI4NDczKSxoLG0sZFtnKzEyXSwyMCwtMTkyNjYwNzczNCksaT1tZDVfaGgoaSxoPW1kNV9oaChoLG09bWQ1X2hoKG0sZixpLGgsZFtnKzVdLDQsLTM3ODU1OCksZixpLGRbZys4XSwxMSwtMjAyMjU3NDQ2MyksbSxmLGRbZysxMV0sMTYsMTgzOTAzMDU2MiksaCxtLGRbZysxNF0sMjMsLTM1MzA5NTU2KSxpPW1kNV9oaChpLGg9bWQ1X2hoKGgsbT1tZDVfaGgobSxmLGksaCxkW2crMV0sNCwtMTUzMDk5MjA2MCksZixpLGRbZys0XSwxMSwxMjcyODkzMzUzKSxtLGYsZFtnKzddLDE2LC0xNTU0OTc2MzIpLGgsbSxkW2crMTBdLDIzLC0xMDk0NzMwNjQwKSxpPW1kNV9oaChpLGg9bWQ1X2hoKGgsbT1tZDVfaGgobSxmLGksaCxkW2crMTNdLDQsNjgxMjc5MTc0KSxmLGksZFtnKzBdLDExLC0zNTg1MzcyMjIpLG0sZixkW2crM10sMTYsLTcyMjUyMTk3OSksaCxtLGRbZys2XSwyMyw3NjAyOTE4OSksaT1tZDVfaGgoaSxoPW1kNV9oaChoLG09bWQ1X2hoKG0sZixpLGgsZFtnKzldLDQsLTY0MDM2NDQ4NyksZixpLGRbZysxMl0sMTEsLTQyMTgxNTgzNSksbSxmLGRbZysxNV0sMTYsNTMwNzQyNTIwKSxoLG0sZFtnKzJdLDIzLC05OTUzMzg2NTEpLGk9bWQ1X2lpKGksaD1tZDVfaWkoaCxtPW1kNV9paShtLGYsaSxoLGRbZyswXSw2LC0xOTg2MzA4NDQpLGYsaSxkW2crN10sMTAsMTEyNjg5MTQxNSksbSxmLGRbZysxNF0sMTUsLTE0MTYzNTQ5MDUpLGgsbSxkW2crNV0sMjEsLTU3NDM0MDU1KSxpPW1kNV9paShpLGg9bWQ1X2lpKGgsbT1tZDVfaWkobSxmLGksaCxkW2crMTJdLDYsMTcwMDQ4NTU3MSksZixpLGRbZyszXSwxMCwtMTg5NDk4NjYwNiksbSxmLGRbZysxMF0sMTUsLTEwNTE1MjMpLGgsbSxkW2crMV0sMjEsLTIwNTQ5MjI3OTkpLGk9bWQ1X2lpKGksaD1tZDVfaWkoaCxtPW1kNV9paShtLGYsaSxoLGRbZys4XSw2LDE4NzMzMTMzNTkpLGYsaSxkW2crMTVdLDEwLC0zMDYxMTc0NCksbSxmLGRbZys2XSwxNSwtMTU2MDE5ODM4MCksaCxtLGRbZysxM10sMjEsMTMwOTE1MTY0OSksaT1tZDVfaWkoaSxoPW1kNV9paShoLG09bWQ1X2lpKG0sZixpLGgsZFtnKzRdLDYsLTE0NTUyMzA3MCksZixpLGRbZysxMV0sMTAsLTExMjAyMTAzNzkpLG0sZixkW2crMl0sMTUsNzE4Nzg3MjU5KSxoLG0sZFtnKzldLDIxLC0zNDM0ODU1NTEpLG09c2FmZV9hZGQobSxuKSxmPXNhZmVfYWRkKGYsciksaT1zYWZlX2FkZChpLGUpLGg9c2FmZV9hZGQoaCxhKX1yZXR1cm5bbSxmLGksaF19ZnVuY3Rpb24gbWQ1X2NtbihkLF8sbSxmLGksaCl7cmV0dXJuIHNhZmVfYWRkKGJpdF9yb2woc2FmZV9hZGQoc2FmZV9hZGQoXyxkKSxzYWZlX2FkZChmLGgpKSxpKSxtKX1mdW5jdGlvbiBtZDVfZmYoZCxfLG0sZixpLGgsZyl7cmV0dXJuIG1kNV9jbW4oXyZtfH5fJmYsZCxfLGksaCxnKX1mdW5jdGlvbiBtZDVfZ2coZCxfLG0sZixpLGgsZyl7cmV0dXJuIG1kNV9jbW4oXyZmfG0mfmYsZCxfLGksaCxnKX1mdW5jdGlvbiBtZDVfaGgoZCxfLG0sZixpLGgsZyl7cmV0dXJuIG1kNV9jbW4oX15tXmYsZCxfLGksaCxnKX1mdW5jdGlvbiBtZDVfaWkoZCxfLG0sZixpLGgsZyl7cmV0dXJuIG1kNV9jbW4obV4oX3x+ZiksZCxfLGksaCxnKX1mdW5jdGlvbiBzYWZlX2FkZChkLF8pe3ZhciBtPSg2NTUzNSZkKSsoNjU1MzUmXyk7cmV0dXJuKGQ+PjE2KSsoXz4+MTYpKyhtPj4xNik8PDE2fDY1NTM1Jm19ZnVuY3Rpb24gYml0X3JvbChkLF8pe3JldHVybiBkPDxffGQ+Pj4zMi1ffXZhciBtYWtlSGFzaD1yZXF1aXJlKCIuL21ha2UtaGFzaCIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGQpe3JldHVybiBtYWtlSGFzaChkLGNvcmVfbWQ1KX07DQoNCiAgfSx7Ii4vbWFrZS1oYXNoIjoxMn1dLDE0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO3ZhciBlbGxpcHRpYz1leHBvcnRzO2VsbGlwdGljLnZlcnNpb249cmVxdWlyZSgiLi4vcGFja2FnZS5qc29uIikudmVyc2lvbixlbGxpcHRpYy51dGlscz1yZXF1aXJlKCIuL2VsbGlwdGljL3V0aWxzIiksZWxsaXB0aWMucmFuZD1yZXF1aXJlKCJicm9yYW5kIiksZWxsaXB0aWMuY3VydmU9cmVxdWlyZSgiLi9lbGxpcHRpYy9jdXJ2ZSIpLGVsbGlwdGljLmN1cnZlcz1yZXF1aXJlKCIuL2VsbGlwdGljL2N1cnZlcyIpLGVsbGlwdGljLmVjPXJlcXVpcmUoIi4vZWxsaXB0aWMvZWMiKSxlbGxpcHRpYy5lZGRzYT1yZXF1aXJlKCIuL2VsbGlwdGljL2VkZHNhIik7DQoNCiAgfSx7Ii4uL3BhY2thZ2UuanNvbiI6MjksIi4vZWxsaXB0aWMvY3VydmUiOjE3LCIuL2VsbGlwdGljL2N1cnZlcyI6MjAsIi4vZWxsaXB0aWMvZWMiOjIxLCIuL2VsbGlwdGljL2VkZHNhIjoyNCwiLi9lbGxpcHRpYy91dGlscyI6MjgsImJyb3JhbmQiOjV9XSwxNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBCYXNlQ3VydmUodCxlKXt0aGlzLnR5cGU9dCx0aGlzLnA9bmV3IEJOKGUucCwxNiksdGhpcy5yZWQ9ZS5wcmltZT9CTi5yZWQoZS5wcmltZSk6Qk4ubW9udCh0aGlzLnApLHRoaXMuemVybz1uZXcgQk4oMCkudG9SZWQodGhpcy5yZWQpLHRoaXMub25lPW5ldyBCTigxKS50b1JlZCh0aGlzLnJlZCksdGhpcy50d289bmV3IEJOKDIpLnRvUmVkKHRoaXMucmVkKSx0aGlzLm49ZS5uJiZuZXcgQk4oZS5uLDE2KSx0aGlzLmc9ZS5nJiZ0aGlzLnBvaW50RnJvbUpTT04oZS5nLGUuZ1JlZCksdGhpcy5fd25hZlQxPW5ldyBBcnJheSg0KSx0aGlzLl93bmFmVDI9bmV3IEFycmF5KDQpLHRoaXMuX3duYWZUMz1uZXcgQXJyYXkoNCksdGhpcy5fd25hZlQ0PW5ldyBBcnJheSg0KTt2YXIgbj10aGlzLm4mJnRoaXMucC5kaXYodGhpcy5uKTshbnx8bi5jbXBuKDEwMCk+MD90aGlzLnJlZE49bnVsbDoodGhpcy5fbWF4d2VsbFRyaWNrPSEwLHRoaXMucmVkTj10aGlzLm4udG9SZWQodGhpcy5yZWQpKX1mdW5jdGlvbiBCYXNlUG9pbnQodCxlKXt0aGlzLmN1cnZlPXQsdGhpcy50eXBlPWUsdGhpcy5wcmVjb21wdXRlZD1udWxsfXZhciBCTj1yZXF1aXJlKCJibi5qcyIpLGVsbGlwdGljPXJlcXVpcmUoIi4uLy4uL2VsbGlwdGljIiksdXRpbHM9ZWxsaXB0aWMudXRpbHMsZ2V0TkFGPXV0aWxzLmdldE5BRixnZXRKU0Y9dXRpbHMuZ2V0SlNGLGFzc2VydD11dGlscy5hc3NlcnQ7bW9kdWxlLmV4cG9ydHM9QmFzZUN1cnZlLEJhc2VDdXJ2ZS5wcm90b3R5cGUucG9pbnQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfSxCYXNlQ3VydmUucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX0sQmFzZUN1cnZlLnByb3RvdHlwZS5fZml4ZWROYWZNdWw9ZnVuY3Rpb24odCxlKXthc3NlcnQodC5wcmVjb21wdXRlZCk7dmFyIG49dC5fZ2V0RG91YmxlcygpLHI9Z2V0TkFGKGUsMSksaT0oMTw8bi5zdGVwKzEpLShuLnN0ZXAlMj09MD8yOjEpO2kvPTM7Zm9yKHZhciBvPVtdLHM9MDtzPHIubGVuZ3RoO3MrPW4uc3RlcCl7Zm9yKHZhciBhPTAsZT1zK24uc3RlcC0xO2U+PXM7ZS0tKWE9KGE8PDEpK3JbZV07by5wdXNoKGEpfWZvcih2YXIgcD10aGlzLmpwb2ludChudWxsLG51bGwsbnVsbCksdT10aGlzLmpwb2ludChudWxsLG51bGwsbnVsbCksZD1pO2Q+MDtkLS0pe2ZvcihzPTA7czxvLmxlbmd0aDtzKyspKGE9b1tzXSk9PT1kP3U9dS5taXhlZEFkZChuLnBvaW50c1tzXSk6YT09PS1kJiYodT11Lm1peGVkQWRkKG4ucG9pbnRzW3NdLm5lZygpKSk7cD1wLmFkZCh1KX1yZXR1cm4gcC50b1AoKX0sQmFzZUN1cnZlLnByb3RvdHlwZS5fd25hZk11bD1mdW5jdGlvbih0LGUpe3ZhciBuPTQscj10Ll9nZXROQUZQb2ludHMobik7bj1yLnduZDtmb3IodmFyIGk9ci5wb2ludHMsbz1nZXROQUYoZSxuKSxzPXRoaXMuanBvaW50KG51bGwsbnVsbCxudWxsKSxhPW8ubGVuZ3RoLTE7YT49MDthLS0pe2Zvcih2YXIgZT0wO2E+PTAmJjA9PT1vW2FdO2EtLSllKys7aWYoYT49MCYmZSsrLHM9cy5kYmxwKGUpLGE8MClicmVhazt2YXIgcD1vW2FdO2Fzc2VydCgwIT09cCkscz0iYWZmaW5lIj09PXQudHlwZT9wPjA/cy5taXhlZEFkZChpW3AtMT4+MV0pOnMubWl4ZWRBZGQoaVstcC0xPj4xXS5uZWcoKSk6cD4wP3MuYWRkKGlbcC0xPj4xXSk6cy5hZGQoaVstcC0xPj4xXS5uZWcoKSl9cmV0dXJuImFmZmluZSI9PT10LnR5cGU/cy50b1AoKTpzfSxCYXNlQ3VydmUucHJvdG90eXBlLl93bmFmTXVsQWRkPWZ1bmN0aW9uKHQsZSxuLHIsaSl7Zm9yKHZhciBvPXRoaXMuX3duYWZUMSxzPXRoaXMuX3duYWZUMixhPXRoaXMuX3duYWZUMyxwPTAsdT0wO3U8cjt1Kyspe3ZhciBkPShOPWVbdV0pLl9nZXROQUZQb2ludHModCk7b1t1XT1kLnduZCxzW3VdPWQucG9pbnRzfWZvcih1PXItMTt1Pj0xO3UtPTIpe3ZhciBsPXUtMSxoPXU7aWYoMT09PW9bbF0mJjE9PT1vW2hdKXt2YXIgZj1bZVtsXSxudWxsLG51bGwsZVtoXV07MD09PWVbbF0ueS5jbXAoZVtoXS55KT8oZlsxXT1lW2xdLmFkZChlW2hdKSxmWzJdPWVbbF0udG9KKCkubWl4ZWRBZGQoZVtoXS5uZWcoKSkpOjA9PT1lW2xdLnkuY21wKGVbaF0ueS5yZWROZWcoKSk/KGZbMV09ZVtsXS50b0ooKS5taXhlZEFkZChlW2hdKSxmWzJdPWVbbF0uYWRkKGVbaF0ubmVnKCkpKTooZlsxXT1lW2xdLnRvSigpLm1peGVkQWRkKGVbaF0pLGZbMl09ZVtsXS50b0ooKS5taXhlZEFkZChlW2hdLm5lZygpKSk7dmFyIGM9Wy0zLC0xLC01LC03LDAsNyw1LDEsM10sZz1nZXRKU0YobltsXSxuW2hdKTtwPU1hdGgubWF4KGdbMF0ubGVuZ3RoLHApLGFbbF09bmV3IEFycmF5KHApLGFbaF09bmV3IEFycmF5KHApO2ZvcihiPTA7YjxwO2IrKyl7dmFyIHY9MHxnWzBdW2JdLG09MHxnWzFdW2JdO2FbbF1bYl09Y1szKih2KzEpKyhtKzEpXSxhW2hdW2JdPTAsc1tsXT1mfX1lbHNlIGFbbF09Z2V0TkFGKG5bbF0sb1tsXSksYVtoXT1nZXROQUYobltoXSxvW2hdKSxwPU1hdGgubWF4KGFbbF0ubGVuZ3RoLHApLHA9TWF0aC5tYXgoYVtoXS5sZW5ndGgscCl9Zm9yKHZhciB5PXRoaXMuanBvaW50KG51bGwsbnVsbCxudWxsKSx3PXRoaXMuX3duYWZUNCx1PXA7dT49MDt1LS0pe2Zvcih2YXIgQj0wO3U+PTA7KXtmb3IodmFyIEE9ITAsYj0wO2I8cjtiKyspd1tiXT0wfGFbYl1bdV0sMCE9PXdbYl0mJihBPSExKTtpZighQSlicmVhaztCKyssdS0tfWlmKHU+PTAmJkIrKyx5PXkuZGJscChCKSx1PDApYnJlYWs7Zm9yKGI9MDtiPHI7YisrKXt2YXIgTixfPXdbYl07MCE9PV8mJihfPjA/Tj1zW2JdW18tMT4+MV06XzwwJiYoTj1zW2JdWy1fLTE+PjFdLm5lZygpKSx5PSJhZmZpbmUiPT09Ti50eXBlP3kubWl4ZWRBZGQoTik6eS5hZGQoTikpfX1mb3IodT0wO3U8cjt1Kyspc1t1XT1udWxsO3JldHVybiBpP3k6eS50b1AoKX0sQmFzZUN1cnZlLkJhc2VQb2ludD1CYXNlUG9pbnQsQmFzZVBvaW50LnByb3RvdHlwZS5lcT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9LEJhc2VQb2ludC5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdXJ2ZS52YWxpZGF0ZSh0aGlzKX0sQmFzZUN1cnZlLnByb3RvdHlwZS5kZWNvZGVQb2ludD1mdW5jdGlvbih0LGUpe3Q9dXRpbHMudG9BcnJheSh0LGUpO3ZhciBuPXRoaXMucC5ieXRlTGVuZ3RoKCk7aWYoKDQ9PT10WzBdfHw2PT09dFswXXx8Nz09PXRbMF0pJiZ0Lmxlbmd0aC0xPT0yKm4pcmV0dXJuIDY9PT10WzBdP2Fzc2VydCh0W3QubGVuZ3RoLTFdJTI9PTApOjc9PT10WzBdJiZhc3NlcnQodFt0Lmxlbmd0aC0xXSUyPT0xKSx0aGlzLnBvaW50KHQuc2xpY2UoMSwxK24pLHQuc2xpY2UoMStuLDErMipuKSk7aWYoKDI9PT10WzBdfHwzPT09dFswXSkmJnQubGVuZ3RoLTE9PT1uKXJldHVybiB0aGlzLnBvaW50RnJvbVgodC5zbGljZSgxLDErbiksMz09PXRbMF0pO3Rocm93IG5ldyBFcnJvcigiVW5rbm93biBwb2ludCBmb3JtYXQiKX0sQmFzZVBvaW50LnByb3RvdHlwZS5lbmNvZGVDb21wcmVzc2VkPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmVuY29kZSh0LCEwKX0sQmFzZVBvaW50LnByb3RvdHlwZS5fZW5jb2RlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY3VydmUucC5ieXRlTGVuZ3RoKCksbj10aGlzLmdldFgoKS50b0FycmF5KCJiZSIsZSk7cmV0dXJuIHQ/W3RoaXMuZ2V0WSgpLmlzRXZlbigpPzI6M10uY29uY2F0KG4pOls0XS5jb25jYXQobix0aGlzLmdldFkoKS50b0FycmF5KCJiZSIsZSkpfSxCYXNlUG9pbnQucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbih0LGUpe3JldHVybiB1dGlscy5lbmNvZGUodGhpcy5fZW5jb2RlKGUpLHQpfSxCYXNlUG9pbnQucHJvdG90eXBlLnByZWNvbXB1dGU9ZnVuY3Rpb24odCl7aWYodGhpcy5wcmVjb21wdXRlZClyZXR1cm4gdGhpczt2YXIgZT17ZG91YmxlczpudWxsLG5hZjpudWxsLGJldGE6bnVsbH07cmV0dXJuIGUubmFmPXRoaXMuX2dldE5BRlBvaW50cyg4KSxlLmRvdWJsZXM9dGhpcy5fZ2V0RG91Ymxlcyg0LHQpLGUuYmV0YT10aGlzLl9nZXRCZXRhKCksdGhpcy5wcmVjb21wdXRlZD1lLHRoaXN9LEJhc2VQb2ludC5wcm90b3R5cGUuX2hhc0RvdWJsZXM9ZnVuY3Rpb24odCl7aWYoIXRoaXMucHJlY29tcHV0ZWQpcmV0dXJuITE7dmFyIGU9dGhpcy5wcmVjb21wdXRlZC5kb3VibGVzO3JldHVybiEhZSYmZS5wb2ludHMubGVuZ3RoPj1NYXRoLmNlaWwoKHQuYml0TGVuZ3RoKCkrMSkvZS5zdGVwKX0sQmFzZVBvaW50LnByb3RvdHlwZS5fZ2V0RG91Ymxlcz1mdW5jdGlvbih0LGUpe2lmKHRoaXMucHJlY29tcHV0ZWQmJnRoaXMucHJlY29tcHV0ZWQuZG91YmxlcylyZXR1cm4gdGhpcy5wcmVjb21wdXRlZC5kb3VibGVzO2Zvcih2YXIgbj1bdGhpc10scj10aGlzLGk9MDtpPGU7aSs9dCl7Zm9yKHZhciBvPTA7bzx0O28rKylyPXIuZGJsKCk7bi5wdXNoKHIpfXJldHVybntzdGVwOnQscG9pbnRzOm59fSxCYXNlUG9pbnQucHJvdG90eXBlLl9nZXROQUZQb2ludHM9ZnVuY3Rpb24odCl7aWYodGhpcy5wcmVjb21wdXRlZCYmdGhpcy5wcmVjb21wdXRlZC5uYWYpcmV0dXJuIHRoaXMucHJlY29tcHV0ZWQubmFmO2Zvcih2YXIgZT1bdGhpc10sbj0oMTw8dCktMSxyPTE9PT1uP251bGw6dGhpcy5kYmwoKSxpPTE7aTxuO2krKyllW2ldPWVbaS0xXS5hZGQocik7cmV0dXJue3duZDp0LHBvaW50czplfX0sQmFzZVBvaW50LnByb3RvdHlwZS5fZ2V0QmV0YT1mdW5jdGlvbigpe3JldHVybiBudWxsfSxCYXNlUG9pbnQucHJvdG90eXBlLmRibHA9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMsbj0wO248dDtuKyspZT1lLmRibCgpO3JldHVybiBlfTsNCg0KICB9LHsiLi4vLi4vZWxsaXB0aWMiOjE0LCJibi5qcyI6NH1dLDE2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIEVkd2FyZHNDdXJ2ZSh0KXt0aGlzLnR3aXN0ZWQ9MSE9KDB8dC5hKSx0aGlzLm1PbmVBPXRoaXMudHdpc3RlZCYmLTE9PSgwfHQuYSksdGhpcy5leHRlbmRlZD10aGlzLm1PbmVBLEJhc2UuY2FsbCh0aGlzLCJlZHdhcmRzIix0KSx0aGlzLmE9bmV3IEJOKHQuYSwxNikudW1vZCh0aGlzLnJlZC5tKSx0aGlzLmE9dGhpcy5hLnRvUmVkKHRoaXMucmVkKSx0aGlzLmM9bmV3IEJOKHQuYywxNikudG9SZWQodGhpcy5yZWQpLHRoaXMuYzI9dGhpcy5jLnJlZFNxcigpLHRoaXMuZD1uZXcgQk4odC5kLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy5kZD10aGlzLmQucmVkQWRkKHRoaXMuZCksYXNzZXJ0KCF0aGlzLnR3aXN0ZWR8fDA9PT10aGlzLmMuZnJvbVJlZCgpLmNtcG4oMSkpLHRoaXMub25lQz0xPT0oMHx0LmMpfWZ1bmN0aW9uIFBvaW50KHQscixlLGksZCl7QmFzZS5CYXNlUG9pbnQuY2FsbCh0aGlzLHQsInByb2plY3RpdmUiKSxudWxsPT09ciYmbnVsbD09PWUmJm51bGw9PT1pPyh0aGlzLng9dGhpcy5jdXJ2ZS56ZXJvLHRoaXMueT10aGlzLmN1cnZlLm9uZSx0aGlzLno9dGhpcy5jdXJ2ZS5vbmUsdGhpcy50PXRoaXMuY3VydmUuemVybyx0aGlzLnpPbmU9ITApOih0aGlzLng9bmV3IEJOKHIsMTYpLHRoaXMueT1uZXcgQk4oZSwxNiksdGhpcy56PWk/bmV3IEJOKGksMTYpOnRoaXMuY3VydmUub25lLHRoaXMudD1kJiZuZXcgQk4oZCwxNiksdGhpcy54LnJlZHx8KHRoaXMueD10aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnkucmVkfHwodGhpcy55PXRoaXMueS50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuei5yZWR8fCh0aGlzLno9dGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy50JiYhdGhpcy50LnJlZCYmKHRoaXMudD10aGlzLnQudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnpPbmU9dGhpcy56PT09dGhpcy5jdXJ2ZS5vbmUsdGhpcy5jdXJ2ZS5leHRlbmRlZCYmIXRoaXMudCYmKHRoaXMudD10aGlzLngucmVkTXVsKHRoaXMueSksdGhpcy56T25lfHwodGhpcy50PXRoaXMudC5yZWRNdWwodGhpcy56LnJlZEludm0oKSkpKSl9dmFyIGN1cnZlPXJlcXVpcmUoIi4uL2N1cnZlIiksZWxsaXB0aWM9cmVxdWlyZSgiLi4vLi4vZWxsaXB0aWMiKSxCTj1yZXF1aXJlKCJibi5qcyIpLGluaGVyaXRzPXJlcXVpcmUoImluaGVyaXRzIiksQmFzZT1jdXJ2ZS5iYXNlLGFzc2VydD1lbGxpcHRpYy51dGlscy5hc3NlcnQ7aW5oZXJpdHMoRWR3YXJkc0N1cnZlLEJhc2UpLG1vZHVsZS5leHBvcnRzPUVkd2FyZHNDdXJ2ZSxFZHdhcmRzQ3VydmUucHJvdG90eXBlLl9tdWxBPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm1PbmVBP3QucmVkTmVnKCk6dGhpcy5hLnJlZE11bCh0KX0sRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5fbXVsQz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vbmVDP3Q6dGhpcy5jLnJlZE11bCh0KX0sRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5qcG9pbnQ9ZnVuY3Rpb24odCxyLGUsaSl7cmV0dXJuIHRoaXMucG9pbnQodCxyLGUsaSl9LEVkd2FyZHNDdXJ2ZS5wcm90b3R5cGUucG9pbnRGcm9tWD1mdW5jdGlvbih0LHIpeyh0PW5ldyBCTih0LDE2KSkucmVkfHwodD10LnRvUmVkKHRoaXMucmVkKSk7dmFyIGU9dC5yZWRTcXIoKSxpPXRoaXMuYzIucmVkU3ViKHRoaXMuYS5yZWRNdWwoZSkpLGQ9dGhpcy5vbmUucmVkU3ViKHRoaXMuYzIucmVkTXVsKHRoaXMuZCkucmVkTXVsKGUpKSxzPWkucmVkTXVsKGQucmVkSW52bSgpKSx1PXMucmVkU3FydCgpO2lmKDAhPT11LnJlZFNxcigpLnJlZFN1YihzKS5jbXAodGhpcy56ZXJvKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcG9pbnQiKTt2YXIgbj11LmZyb21SZWQoKS5pc09kZCgpO3JldHVybihyJiYhbnx8IXImJm4pJiYodT11LnJlZE5lZygpKSx0aGlzLnBvaW50KHQsdSl9LEVkd2FyZHNDdXJ2ZS5wcm90b3R5cGUucG9pbnRGcm9tWT1mdW5jdGlvbih0LHIpeyh0PW5ldyBCTih0LDE2KSkucmVkfHwodD10LnRvUmVkKHRoaXMucmVkKSk7dmFyIGU9dC5yZWRTcXIoKSxpPWUucmVkU3ViKHRoaXMub25lKSxkPWUucmVkTXVsKHRoaXMuZCkucmVkQWRkKHRoaXMub25lKSxzPWkucmVkTXVsKGQucmVkSW52bSgpKTtpZigwPT09cy5jbXAodGhpcy56ZXJvKSl7aWYocil0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcG9pbnQiKTtyZXR1cm4gdGhpcy5wb2ludCh0aGlzLnplcm8sdCl9dmFyIHU9cy5yZWRTcXJ0KCk7aWYoMCE9PXUucmVkU3FyKCkucmVkU3ViKHMpLmNtcCh0aGlzLnplcm8pKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBwb2ludCIpO3JldHVybiB1LmlzT2RkKCkhPT1yJiYodT11LnJlZE5lZygpKSx0aGlzLnBvaW50KHUsdCl9LEVkd2FyZHNDdXJ2ZS5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24odCl7aWYodC5pc0luZmluaXR5KCkpcmV0dXJuITA7dC5ub3JtYWxpemUoKTt2YXIgcj10LngucmVkU3FyKCksZT10LnkucmVkU3FyKCksaT1yLnJlZE11bCh0aGlzLmEpLnJlZEFkZChlKSxkPXRoaXMuYzIucmVkTXVsKHRoaXMub25lLnJlZEFkZCh0aGlzLmQucmVkTXVsKHIpLnJlZE11bChlKSkpO3JldHVybiAwPT09aS5jbXAoZCl9LGluaGVyaXRzKFBvaW50LEJhc2UuQmFzZVBvaW50KSxFZHdhcmRzQ3VydmUucHJvdG90eXBlLnBvaW50RnJvbUpTT049ZnVuY3Rpb24odCl7cmV0dXJuIFBvaW50LmZyb21KU09OKHRoaXMsdCl9LEVkd2FyZHNDdXJ2ZS5wcm90b3R5cGUucG9pbnQ9ZnVuY3Rpb24odCxyLGUsaSl7cmV0dXJuIG5ldyBQb2ludCh0aGlzLHQscixlLGkpfSxQb2ludC5mcm9tSlNPTj1mdW5jdGlvbih0LHIpe3JldHVybiBuZXcgUG9pbnQodCxyWzBdLHJbMV0sclsyXSl9LFBvaW50LnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNJbmZpbml0eSgpPyI8RUMgUG9pbnQgSW5maW5pdHk+IjoiPEVDIFBvaW50IHg6ICIrdGhpcy54LmZyb21SZWQoKS50b1N0cmluZygxNiwyKSsiIHk6ICIrdGhpcy55LmZyb21SZWQoKS50b1N0cmluZygxNiwyKSsiIHo6ICIrdGhpcy56LmZyb21SZWQoKS50b1N0cmluZygxNiwyKSsiPiJ9LFBvaW50LnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLnguY21wbigwKSYmMD09PXRoaXMueS5jbXAodGhpcy56KX0sUG9pbnQucHJvdG90eXBlLl9leHREYmw9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLngucmVkU3FyKCkscj10aGlzLnkucmVkU3FyKCksZT10aGlzLnoucmVkU3FyKCk7ZT1lLnJlZElBZGQoZSk7dmFyIGk9dGhpcy5jdXJ2ZS5fbXVsQSh0KSxkPXRoaXMueC5yZWRBZGQodGhpcy55KS5yZWRTcXIoKS5yZWRJU3ViKHQpLnJlZElTdWIocikscz1pLnJlZEFkZChyKSx1PXMucmVkU3ViKGUpLG49aS5yZWRTdWIociksaD1kLnJlZE11bCh1KSxvPXMucmVkTXVsKG4pLGw9ZC5yZWRNdWwobiksYz11LnJlZE11bChzKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChoLG8sYyxsKX0sUG9pbnQucHJvdG90eXBlLl9wcm9qRGJsPWZ1bmN0aW9uKCl7dmFyIHQscixlLGk9dGhpcy54LnJlZEFkZCh0aGlzLnkpLnJlZFNxcigpLGQ9dGhpcy54LnJlZFNxcigpLHM9dGhpcy55LnJlZFNxcigpO2lmKHRoaXMuY3VydmUudHdpc3RlZCl7dmFyIHU9KG89dGhpcy5jdXJ2ZS5fbXVsQShkKSkucmVkQWRkKHMpO2lmKHRoaXMuek9uZSl0PWkucmVkU3ViKGQpLnJlZFN1YihzKS5yZWRNdWwodS5yZWRTdWIodGhpcy5jdXJ2ZS50d28pKSxyPXUucmVkTXVsKG8ucmVkU3ViKHMpKSxlPXUucmVkU3FyKCkucmVkU3ViKHUpLnJlZFN1Yih1KTtlbHNle3ZhciBuPXRoaXMuei5yZWRTcXIoKSxoPXUucmVkU3ViKG4pLnJlZElTdWIobik7dD1pLnJlZFN1YihkKS5yZWRJU3ViKHMpLnJlZE11bChoKSxyPXUucmVkTXVsKG8ucmVkU3ViKHMpKSxlPXUucmVkTXVsKGgpfX1lbHNle3ZhciBvPWQucmVkQWRkKHMpLG49dGhpcy5jdXJ2ZS5fbXVsQyh0aGlzLmMucmVkTXVsKHRoaXMueikpLnJlZFNxcigpLGg9by5yZWRTdWIobikucmVkU3ViKG4pO3Q9dGhpcy5jdXJ2ZS5fbXVsQyhpLnJlZElTdWIobykpLnJlZE11bChoKSxyPXRoaXMuY3VydmUuX211bEMobykucmVkTXVsKGQucmVkSVN1YihzKSksZT1vLnJlZE11bChoKX1yZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludCh0LHIsZSl9LFBvaW50LnByb3RvdHlwZS5kYmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/dGhpczp0aGlzLmN1cnZlLmV4dGVuZGVkP3RoaXMuX2V4dERibCgpOnRoaXMuX3Byb2pEYmwoKX0sUG9pbnQucHJvdG90eXBlLl9leHRBZGQ9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy55LnJlZFN1Yih0aGlzLngpLnJlZE11bCh0LnkucmVkU3ViKHQueCkpLGU9dGhpcy55LnJlZEFkZCh0aGlzLngpLnJlZE11bCh0LnkucmVkQWRkKHQueCkpLGk9dGhpcy50LnJlZE11bCh0aGlzLmN1cnZlLmRkKS5yZWRNdWwodC50KSxkPXRoaXMuei5yZWRNdWwodC56LnJlZEFkZCh0LnopKSxzPWUucmVkU3ViKHIpLHU9ZC5yZWRTdWIoaSksbj1kLnJlZEFkZChpKSxoPWUucmVkQWRkKHIpLG89cy5yZWRNdWwodSksbD1uLnJlZE11bChoKSxjPXMucmVkTXVsKGgpLHA9dS5yZWRNdWwobik7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQobyxsLHAsYyl9LFBvaW50LnByb3RvdHlwZS5fcHJvakFkZD1mdW5jdGlvbih0KXt2YXIgcixlLGk9dGhpcy56LnJlZE11bCh0LnopLGQ9aS5yZWRTcXIoKSxzPXRoaXMueC5yZWRNdWwodC54KSx1PXRoaXMueS5yZWRNdWwodC55KSxuPXRoaXMuY3VydmUuZC5yZWRNdWwocykucmVkTXVsKHUpLGg9ZC5yZWRTdWIobiksbz1kLnJlZEFkZChuKSxsPXRoaXMueC5yZWRBZGQodGhpcy55KS5yZWRNdWwodC54LnJlZEFkZCh0LnkpKS5yZWRJU3ViKHMpLnJlZElTdWIodSksYz1pLnJlZE11bChoKS5yZWRNdWwobCk7cmV0dXJuIHRoaXMuY3VydmUudHdpc3RlZD8ocj1pLnJlZE11bChvKS5yZWRNdWwodS5yZWRTdWIodGhpcy5jdXJ2ZS5fbXVsQShzKSkpLGU9aC5yZWRNdWwobykpOihyPWkucmVkTXVsKG8pLnJlZE11bCh1LnJlZFN1YihzKSksZT10aGlzLmN1cnZlLl9tdWxDKGgpLnJlZE11bChvKSksdGhpcy5jdXJ2ZS5wb2ludChjLHIsZSl9LFBvaW50LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaXNJbmZpbml0eSgpP3Q6dC5pc0luZmluaXR5KCk/dGhpczp0aGlzLmN1cnZlLmV4dGVuZGVkP3RoaXMuX2V4dEFkZCh0KTp0aGlzLl9wcm9qQWRkKHQpfSxQb2ludC5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9oYXNEb3VibGVzKHQpP3RoaXMuY3VydmUuX2ZpeGVkTmFmTXVsKHRoaXMsdCk6dGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLHQpfSxQb2ludC5wcm90b3R5cGUubXVsQWRkPWZ1bmN0aW9uKHQscixlKXtyZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLFt0aGlzLHJdLFt0LGVdLDIsITEpfSxQb2ludC5wcm90b3R5cGUuam11bEFkZD1mdW5jdGlvbih0LHIsZSl7cmV0dXJuIHRoaXMuY3VydmUuX3duYWZNdWxBZGQoMSxbdGhpcyxyXSxbdCxlXSwyLCEwKX0sUG9pbnQucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbigpe2lmKHRoaXMuek9uZSlyZXR1cm4gdGhpczt2YXIgdD10aGlzLnoucmVkSW52bSgpO3JldHVybiB0aGlzLng9dGhpcy54LnJlZE11bCh0KSx0aGlzLnk9dGhpcy55LnJlZE11bCh0KSx0aGlzLnQmJih0aGlzLnQ9dGhpcy50LnJlZE11bCh0KSksdGhpcy56PXRoaXMuY3VydmUub25lLHRoaXMuek9uZT0hMCx0aGlzfSxQb2ludC5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQodGhpcy54LnJlZE5lZygpLHRoaXMueSx0aGlzLnosdGhpcy50JiZ0aGlzLnQucmVkTmVnKCkpfSxQb2ludC5wcm90b3R5cGUuZ2V0WD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5vcm1hbGl6ZSgpLHRoaXMueC5mcm9tUmVkKCl9LFBvaW50LnByb3RvdHlwZS5nZXRZPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9ybWFsaXplKCksdGhpcy55LmZyb21SZWQoKX0sUG9pbnQucHJvdG90eXBlLmVxPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzPT09dHx8MD09PXRoaXMuZ2V0WCgpLmNtcCh0LmdldFgoKSkmJjA9PT10aGlzLmdldFkoKS5jbXAodC5nZXRZKCkpfSxQb2ludC5wcm90b3R5cGUuZXFYVG9QPWZ1bmN0aW9uKHQpe3ZhciByPXQudG9SZWQodGhpcy5jdXJ2ZS5yZWQpLnJlZE11bCh0aGlzLnopO2lmKDA9PT10aGlzLnguY21wKHIpKXJldHVybiEwO2Zvcih2YXIgZT10LmNsb25lKCksaT10aGlzLmN1cnZlLnJlZE4ucmVkTXVsKHRoaXMueik7Oyl7aWYoZS5pYWRkKHRoaXMuY3VydmUubiksZS5jbXAodGhpcy5jdXJ2ZS5wKT49MClyZXR1cm4hMTtpZihyLnJlZElBZGQoaSksMD09PXRoaXMueC5jbXAocikpcmV0dXJuITB9cmV0dXJuITF9LFBvaW50LnByb3RvdHlwZS50b1A9UG9pbnQucHJvdG90eXBlLm5vcm1hbGl6ZSxQb2ludC5wcm90b3R5cGUubWl4ZWRBZGQ9UG9pbnQucHJvdG90eXBlLmFkZDsNCg0KICB9LHsiLi4vLi4vZWxsaXB0aWMiOjE0LCIuLi9jdXJ2ZSI6MTcsImJuLmpzIjo0LCJpbmhlcml0cyI6NTF9XSwxNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0Ijt2YXIgY3VydmU9ZXhwb3J0cztjdXJ2ZS5iYXNlPXJlcXVpcmUoIi4vYmFzZSIpLGN1cnZlLnNob3J0PXJlcXVpcmUoIi4vc2hvcnQiKSxjdXJ2ZS5tb250PXJlcXVpcmUoIi4vbW9udCIpLGN1cnZlLmVkd2FyZHM9cmVxdWlyZSgiLi9lZHdhcmRzIik7DQoNCiAgfSx7Ii4vYmFzZSI6MTUsIi4vZWR3YXJkcyI6MTYsIi4vbW9udCI6MTgsIi4vc2hvcnQiOjE5fV0sMTg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAidXNlIHN0cmljdCI7ZnVuY3Rpb24gTW9udEN1cnZlKHQpe0Jhc2UuY2FsbCh0aGlzLCJtb250Iix0KSx0aGlzLmE9bmV3IEJOKHQuYSwxNikudG9SZWQodGhpcy5yZWQpLHRoaXMuYj1uZXcgQk4odC5iLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy5pND1uZXcgQk4oNCkudG9SZWQodGhpcy5yZWQpLnJlZEludm0oKSx0aGlzLnR3bz1uZXcgQk4oMikudG9SZWQodGhpcy5yZWQpLHRoaXMuYTI0PXRoaXMuaTQucmVkTXVsKHRoaXMuYS5yZWRBZGQodGhpcy50d28pKX1mdW5jdGlvbiBQb2ludCh0LHIsZSl7QmFzZS5CYXNlUG9pbnQuY2FsbCh0aGlzLHQsInByb2plY3RpdmUiKSxudWxsPT09ciYmbnVsbD09PWU/KHRoaXMueD10aGlzLmN1cnZlLm9uZSx0aGlzLno9dGhpcy5jdXJ2ZS56ZXJvKToodGhpcy54PW5ldyBCTihyLDE2KSx0aGlzLno9bmV3IEJOKGUsMTYpLHRoaXMueC5yZWR8fCh0aGlzLng9dGhpcy54LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy56LnJlZHx8KHRoaXMuej10aGlzLnoudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSl9dmFyIGN1cnZlPXJlcXVpcmUoIi4uL2N1cnZlIiksQk49cmVxdWlyZSgiYm4uanMiKSxpbmhlcml0cz1yZXF1aXJlKCJpbmhlcml0cyIpLEJhc2U9Y3VydmUuYmFzZSxlbGxpcHRpYz1yZXF1aXJlKCIuLi8uLi9lbGxpcHRpYyIpLHV0aWxzPWVsbGlwdGljLnV0aWxzO2luaGVyaXRzKE1vbnRDdXJ2ZSxCYXNlKSxtb2R1bGUuZXhwb3J0cz1Nb250Q3VydmUsTW9udEN1cnZlLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbih0KXt2YXIgcj10Lm5vcm1hbGl6ZSgpLngsZT1yLnJlZFNxcigpLGk9ZS5yZWRNdWwocikucmVkQWRkKGUucmVkTXVsKHRoaXMuYSkpLnJlZEFkZChyKTtyZXR1cm4gMD09PWkucmVkU3FydCgpLnJlZFNxcigpLmNtcChpKX0saW5oZXJpdHMoUG9pbnQsQmFzZS5CYXNlUG9pbnQpLE1vbnRDdXJ2ZS5wcm90b3R5cGUuZGVjb2RlUG9pbnQ9ZnVuY3Rpb24odCxyKXtyZXR1cm4gdGhpcy5wb2ludCh1dGlscy50b0FycmF5KHQsciksMSl9LE1vbnRDdXJ2ZS5wcm90b3R5cGUucG9pbnQ9ZnVuY3Rpb24odCxyKXtyZXR1cm4gbmV3IFBvaW50KHRoaXMsdCxyKX0sTW9udEN1cnZlLnByb3RvdHlwZS5wb2ludEZyb21KU09OPWZ1bmN0aW9uKHQpe3JldHVybiBQb2ludC5mcm9tSlNPTih0aGlzLHQpfSxQb2ludC5wcm90b3R5cGUucHJlY29tcHV0ZT1mdW5jdGlvbigpe30sUG9pbnQucHJvdG90eXBlLl9lbmNvZGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRYKCkudG9BcnJheSgiYmUiLHRoaXMuY3VydmUucC5ieXRlTGVuZ3RoKCkpfSxQb2ludC5mcm9tSlNPTj1mdW5jdGlvbih0LHIpe3JldHVybiBuZXcgUG9pbnQodCxyWzBdLHJbMV18fHQub25lKX0sUG9pbnQucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/IjxFQyBQb2ludCBJbmZpbml0eT4iOiI8RUMgUG9pbnQgeDogIit0aGlzLnguZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpKyIgejogIit0aGlzLnouZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpKyI+In0sUG9pbnQucHJvdG90eXBlLmlzSW5maW5pdHk9ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMuei5jbXBuKDApfSxQb2ludC5wcm90b3R5cGUuZGJsPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LnJlZEFkZCh0aGlzLnopLnJlZFNxcigpLHI9dGhpcy54LnJlZFN1Yih0aGlzLnopLnJlZFNxcigpLGU9dC5yZWRTdWIociksaT10LnJlZE11bChyKSxvPWUucmVkTXVsKHIucmVkQWRkKHRoaXMuY3VydmUuYTI0LnJlZE11bChlKSkpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KGksbyl9LFBvaW50LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQgb24gTW9udGdvbWVyeSBjdXJ2ZSIpfSxQb2ludC5wcm90b3R5cGUuZGlmZkFkZD1mdW5jdGlvbih0LHIpe3ZhciBlPXRoaXMueC5yZWRBZGQodGhpcy56KSxpPXRoaXMueC5yZWRTdWIodGhpcy56KSxvPXQueC5yZWRBZGQodC56KSxuPXQueC5yZWRTdWIodC56KS5yZWRNdWwoZSksdT1vLnJlZE11bChpKSxkPXIuei5yZWRNdWwobi5yZWRBZGQodSkucmVkU3FyKCkpLHM9ci54LnJlZE11bChuLnJlZElTdWIodSkucmVkU3FyKCkpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KGQscyl9LFBvaW50LnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCl7Zm9yKHZhciByPXQuY2xvbmUoKSxlPXRoaXMsaT10aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCksbz10aGlzLG49W107MCE9PXIuY21wbigwKTtyLml1c2hybigxKSluLnB1c2goci5hbmRsbigxKSk7Zm9yKHZhciB1PW4ubGVuZ3RoLTE7dT49MDt1LS0pMD09PW5bdV0/KGU9ZS5kaWZmQWRkKGksbyksaT1pLmRibCgpKTooaT1lLmRpZmZBZGQoaSxvKSxlPWUuZGJsKCkpO3JldHVybiBpfSxQb2ludC5wcm90b3R5cGUubXVsQWRkPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJOb3Qgc3VwcG9ydGVkIG9uIE1vbnRnb21lcnkgY3VydmUiKX0sUG9pbnQucHJvdG90eXBlLmp1bWxBZGQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQgb24gTW9udGdvbWVyeSBjdXJ2ZSIpfSxQb2ludC5wcm90b3R5cGUuZXE9ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10aGlzLmdldFgoKS5jbXAodC5nZXRYKCkpfSxQb2ludC5wcm90b3R5cGUubm9ybWFsaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueD10aGlzLngucmVkTXVsKHRoaXMuei5yZWRJbnZtKCkpLHRoaXMuej10aGlzLmN1cnZlLm9uZSx0aGlzfSxQb2ludC5wcm90b3R5cGUuZ2V0WD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5vcm1hbGl6ZSgpLHRoaXMueC5mcm9tUmVkKCl9Ow0KDQogIH0seyIuLi8uLi9lbGxpcHRpYyI6MTQsIi4uL2N1cnZlIjoxNywiYm4uanMiOjQsImluaGVyaXRzIjo1MX1dLDE5OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIFNob3J0Q3VydmUocil7QmFzZS5jYWxsKHRoaXMsInNob3J0IixyKSx0aGlzLmE9bmV3IEJOKHIuYSwxNikudG9SZWQodGhpcy5yZWQpLHRoaXMuYj1uZXcgQk4oci5iLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy50aW52PXRoaXMudHdvLnJlZEludm0oKSx0aGlzLnplcm9BPTA9PT10aGlzLmEuZnJvbVJlZCgpLmNtcG4oMCksdGhpcy50aHJlZUE9MD09PXRoaXMuYS5mcm9tUmVkKCkuc3ViKHRoaXMucCkuY21wbigtMyksdGhpcy5lbmRvPXRoaXMuX2dldEVuZG9tb3JwaGlzbShyKSx0aGlzLl9lbmRvV25hZlQxPW5ldyBBcnJheSg0KSx0aGlzLl9lbmRvV25hZlQyPW5ldyBBcnJheSg0KX1mdW5jdGlvbiBQb2ludChyLGUsdCxkKXtCYXNlLkJhc2VQb2ludC5jYWxsKHRoaXMsciwiYWZmaW5lIiksbnVsbD09PWUmJm51bGw9PT10Pyh0aGlzLng9bnVsbCx0aGlzLnk9bnVsbCx0aGlzLmluZj0hMCk6KHRoaXMueD1uZXcgQk4oZSwxNiksdGhpcy55PW5ldyBCTih0LDE2KSxkJiYodGhpcy54LmZvcmNlUmVkKHRoaXMuY3VydmUucmVkKSx0aGlzLnkuZm9yY2VSZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLngucmVkfHwodGhpcy54PXRoaXMueC50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMueS5yZWR8fCh0aGlzLnk9dGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy5pbmY9ITEpfWZ1bmN0aW9uIEpQb2ludChyLGUsdCxkKXtCYXNlLkJhc2VQb2ludC5jYWxsKHRoaXMsciwiamFjb2JpYW4iKSxudWxsPT09ZSYmbnVsbD09PXQmJm51bGw9PT1kPyh0aGlzLng9dGhpcy5jdXJ2ZS5vbmUsdGhpcy55PXRoaXMuY3VydmUub25lLHRoaXMuej1uZXcgQk4oMCkpOih0aGlzLng9bmV3IEJOKGUsMTYpLHRoaXMueT1uZXcgQk4odCwxNiksdGhpcy56PW5ldyBCTihkLDE2KSksdGhpcy54LnJlZHx8KHRoaXMueD10aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnkucmVkfHwodGhpcy55PXRoaXMueS50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuei5yZWR8fCh0aGlzLno9dGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy56T25lPXRoaXMuej09PXRoaXMuY3VydmUub25lfXZhciBjdXJ2ZT1yZXF1aXJlKCIuLi9jdXJ2ZSIpLGVsbGlwdGljPXJlcXVpcmUoIi4uLy4uL2VsbGlwdGljIiksQk49cmVxdWlyZSgiYm4uanMiKSxpbmhlcml0cz1yZXF1aXJlKCJpbmhlcml0cyIpLEJhc2U9Y3VydmUuYmFzZSxhc3NlcnQ9ZWxsaXB0aWMudXRpbHMuYXNzZXJ0O2luaGVyaXRzKFNob3J0Q3VydmUsQmFzZSksbW9kdWxlLmV4cG9ydHM9U2hvcnRDdXJ2ZSxTaG9ydEN1cnZlLnByb3RvdHlwZS5fZ2V0RW5kb21vcnBoaXNtPWZ1bmN0aW9uKHIpe2lmKHRoaXMuemVyb0EmJnRoaXMuZyYmdGhpcy5uJiYxPT09dGhpcy5wLm1vZG4oMykpe3ZhciBlLHQ7aWYoci5iZXRhKWU9bmV3IEJOKHIuYmV0YSwxNikudG9SZWQodGhpcy5yZWQpO2Vsc2V7dmFyIGQ9dGhpcy5fZ2V0RW5kb1Jvb3RzKHRoaXMucCk7ZT0oZT1kWzBdLmNtcChkWzFdKTwwP2RbMF06ZFsxXSkudG9SZWQodGhpcy5yZWQpfWlmKHIubGFtYmRhKXQ9bmV3IEJOKHIubGFtYmRhLDE2KTtlbHNle3ZhciBpPXRoaXMuX2dldEVuZG9Sb290cyh0aGlzLm4pOzA9PT10aGlzLmcubXVsKGlbMF0pLnguY21wKHRoaXMuZy54LnJlZE11bChlKSk/dD1pWzBdOih0PWlbMV0sYXNzZXJ0KDA9PT10aGlzLmcubXVsKHQpLnguY21wKHRoaXMuZy54LnJlZE11bChlKSkpKX12YXIgbjtyZXR1cm4gbj1yLmJhc2lzP3IuYmFzaXMubWFwKGZ1bmN0aW9uKHIpe3JldHVybnthOm5ldyBCTihyLmEsMTYpLGI6bmV3IEJOKHIuYiwxNil9fSk6dGhpcy5fZ2V0RW5kb0Jhc2lzKHQpLHtiZXRhOmUsbGFtYmRhOnQsYmFzaXM6bn19fSxTaG9ydEN1cnZlLnByb3RvdHlwZS5fZ2V0RW5kb1Jvb3RzPWZ1bmN0aW9uKHIpe3ZhciBlPXI9PT10aGlzLnA/dGhpcy5yZWQ6Qk4ubW9udChyKSx0PW5ldyBCTigyKS50b1JlZChlKS5yZWRJbnZtKCksZD10LnJlZE5lZygpLGk9bmV3IEJOKDMpLnRvUmVkKGUpLnJlZE5lZygpLnJlZFNxcnQoKS5yZWRNdWwodCk7cmV0dXJuW2QucmVkQWRkKGkpLmZyb21SZWQoKSxkLnJlZFN1YihpKS5mcm9tUmVkKCldfSxTaG9ydEN1cnZlLnByb3RvdHlwZS5fZ2V0RW5kb0Jhc2lzPWZ1bmN0aW9uKHIpe2Zvcih2YXIgZSx0LGQsaSxuLHUscyxvLGgsbD10aGlzLm4udXNocm4oTWF0aC5mbG9vcih0aGlzLm4uYml0TGVuZ3RoKCkvMikpLHA9cixhPXRoaXMubi5jbG9uZSgpLGM9bmV3IEJOKDEpLGY9bmV3IEJOKDApLHY9bmV3IEJOKDApLFM9bmV3IEJOKDEpLGI9MDswIT09cC5jbXBuKDApOyl7dmFyIEk9YS5kaXYocCk7bz1hLnN1YihJLm11bChwKSksaD12LnN1YihJLm11bChjKSk7dmFyIHk9Uy5zdWIoSS5tdWwoZikpO2lmKCFkJiZvLmNtcChsKTwwKWU9cy5uZWcoKSx0PWMsZD1vLm5lZygpLGk9aDtlbHNlIGlmKGQmJjI9PSsrYilicmVhaztzPW8sYT1wLHA9byx2PWMsYz1oLFM9ZixmPXl9bj1vLm5lZygpLHU9aDt2YXIgQT1kLnNxcigpLmFkZChpLnNxcigpKTtyZXR1cm4gbi5zcXIoKS5hZGQodS5zcXIoKSkuY21wKEEpPj0wJiYobj1lLHU9dCksZC5uZWdhdGl2ZSYmKGQ9ZC5uZWcoKSxpPWkubmVnKCkpLG4ubmVnYXRpdmUmJihuPW4ubmVnKCksdT11Lm5lZygpKSxbe2E6ZCxiOml9LHthOm4sYjp1fV19LFNob3J0Q3VydmUucHJvdG90eXBlLl9lbmRvU3BsaXQ9ZnVuY3Rpb24ocil7dmFyIGU9dGhpcy5lbmRvLmJhc2lzLHQ9ZVswXSxkPWVbMV0saT1kLmIubXVsKHIpLmRpdlJvdW5kKHRoaXMubiksbj10LmIubmVnKCkubXVsKHIpLmRpdlJvdW5kKHRoaXMubiksdT1pLm11bCh0LmEpLHM9bi5tdWwoZC5hKSxvPWkubXVsKHQuYiksaD1uLm11bChkLmIpO3JldHVybntrMTpyLnN1Yih1KS5zdWIocyksazI6by5hZGQoaCkubmVnKCl9fSxTaG9ydEN1cnZlLnByb3RvdHlwZS5wb2ludEZyb21YPWZ1bmN0aW9uKHIsZSl7KHI9bmV3IEJOKHIsMTYpKS5yZWR8fChyPXIudG9SZWQodGhpcy5yZWQpKTt2YXIgdD1yLnJlZFNxcigpLnJlZE11bChyKS5yZWRJQWRkKHIucmVkTXVsKHRoaXMuYSkpLnJlZElBZGQodGhpcy5iKSxkPXQucmVkU3FydCgpO2lmKDAhPT1kLnJlZFNxcigpLnJlZFN1Yih0KS5jbXAodGhpcy56ZXJvKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcG9pbnQiKTt2YXIgaT1kLmZyb21SZWQoKS5pc09kZCgpO3JldHVybihlJiYhaXx8IWUmJmkpJiYoZD1kLnJlZE5lZygpKSx0aGlzLnBvaW50KHIsZCl9LFNob3J0Q3VydmUucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uKHIpe2lmKHIuaW5mKXJldHVybiEwO3ZhciBlPXIueCx0PXIueSxkPXRoaXMuYS5yZWRNdWwoZSksaT1lLnJlZFNxcigpLnJlZE11bChlKS5yZWRJQWRkKGQpLnJlZElBZGQodGhpcy5iKTtyZXR1cm4gMD09PXQucmVkU3FyKCkucmVkSVN1YihpKS5jbXBuKDApfSxTaG9ydEN1cnZlLnByb3RvdHlwZS5fZW5kb1duYWZNdWxBZGQ9ZnVuY3Rpb24ocixlLHQpe2Zvcih2YXIgZD10aGlzLl9lbmRvV25hZlQxLGk9dGhpcy5fZW5kb1duYWZUMixuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciB1PXRoaXMuX2VuZG9TcGxpdChlW25dKSxzPXJbbl0sbz1zLl9nZXRCZXRhKCk7dS5rMS5uZWdhdGl2ZSYmKHUuazEuaW5lZygpLHM9cy5uZWcoITApKSx1LmsyLm5lZ2F0aXZlJiYodS5rMi5pbmVnKCksbz1vLm5lZyghMCkpLGRbMipuXT1zLGRbMipuKzFdPW8saVsyKm5dPXUuazEsaVsyKm4rMV09dS5rMn1mb3IodmFyIGg9dGhpcy5fd25hZk11bEFkZCgxLGQsaSwyKm4sdCksbD0wO2w8MipuO2wrKylkW2xdPW51bGwsaVtsXT1udWxsO3JldHVybiBofSxpbmhlcml0cyhQb2ludCxCYXNlLkJhc2VQb2ludCksU2hvcnRDdXJ2ZS5wcm90b3R5cGUucG9pbnQ9ZnVuY3Rpb24ocixlLHQpe3JldHVybiBuZXcgUG9pbnQodGhpcyxyLGUsdCl9LFNob3J0Q3VydmUucHJvdG90eXBlLnBvaW50RnJvbUpTT049ZnVuY3Rpb24ocixlKXtyZXR1cm4gUG9pbnQuZnJvbUpTT04odGhpcyxyLGUpfSxQb2ludC5wcm90b3R5cGUuX2dldEJldGE9ZnVuY3Rpb24oKXtpZih0aGlzLmN1cnZlLmVuZG8pe3ZhciByPXRoaXMucHJlY29tcHV0ZWQ7aWYociYmci5iZXRhKXJldHVybiByLmJldGE7dmFyIGU9dGhpcy5jdXJ2ZS5wb2ludCh0aGlzLngucmVkTXVsKHRoaXMuY3VydmUuZW5kby5iZXRhKSx0aGlzLnkpO2lmKHIpe3ZhciB0PXRoaXMuY3VydmUsZD1mdW5jdGlvbihyKXtyZXR1cm4gdC5wb2ludChyLngucmVkTXVsKHQuZW5kby5iZXRhKSxyLnkpfTtyLmJldGE9ZSxlLnByZWNvbXB1dGVkPXtiZXRhOm51bGwsbmFmOnIubmFmJiZ7d25kOnIubmFmLnduZCxwb2ludHM6ci5uYWYucG9pbnRzLm1hcChkKX0sZG91YmxlczpyLmRvdWJsZXMmJntzdGVwOnIuZG91Ymxlcy5zdGVwLHBvaW50czpyLmRvdWJsZXMucG9pbnRzLm1hcChkKX19fXJldHVybiBlfX0sUG9pbnQucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnByZWNvbXB1dGVkP1t0aGlzLngsdGhpcy55LHRoaXMucHJlY29tcHV0ZWQmJntkb3VibGVzOnRoaXMucHJlY29tcHV0ZWQuZG91YmxlcyYme3N0ZXA6dGhpcy5wcmVjb21wdXRlZC5kb3VibGVzLnN0ZXAscG9pbnRzOnRoaXMucHJlY29tcHV0ZWQuZG91Ymxlcy5wb2ludHMuc2xpY2UoMSl9LG5hZjp0aGlzLnByZWNvbXB1dGVkLm5hZiYme3duZDp0aGlzLnByZWNvbXB1dGVkLm5hZi53bmQscG9pbnRzOnRoaXMucHJlY29tcHV0ZWQubmFmLnBvaW50cy5zbGljZSgxKX19XTpbdGhpcy54LHRoaXMueV19LFBvaW50LmZyb21KU09OPWZ1bmN0aW9uKHIsZSx0KXtmdW5jdGlvbiBkKGUpe3JldHVybiByLnBvaW50KGVbMF0sZVsxXSx0KX0ic3RyaW5nIj09dHlwZW9mIGUmJihlPUpTT04ucGFyc2UoZSkpO3ZhciBpPXIucG9pbnQoZVswXSxlWzFdLHQpO2lmKCFlWzJdKXJldHVybiBpO3ZhciBuPWVbMl07cmV0dXJuIGkucHJlY29tcHV0ZWQ9e2JldGE6bnVsbCxkb3VibGVzOm4uZG91YmxlcyYme3N0ZXA6bi5kb3VibGVzLnN0ZXAscG9pbnRzOltpXS5jb25jYXQobi5kb3VibGVzLnBvaW50cy5tYXAoZCkpfSxuYWY6bi5uYWYmJnt3bmQ6bi5uYWYud25kLHBvaW50czpbaV0uY29uY2F0KG4ubmFmLnBvaW50cy5tYXAoZCkpfX0saX0sUG9pbnQucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/IjxFQyBQb2ludCBJbmZpbml0eT4iOiI8RUMgUG9pbnQgeDogIit0aGlzLnguZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpKyIgeTogIit0aGlzLnkuZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpKyI+In0sUG9pbnQucHJvdG90eXBlLmlzSW5maW5pdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbmZ9LFBvaW50LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24ocil7aWYodGhpcy5pbmYpcmV0dXJuIHI7aWYoci5pbmYpcmV0dXJuIHRoaXM7aWYodGhpcy5lcShyKSlyZXR1cm4gdGhpcy5kYmwoKTtpZih0aGlzLm5lZygpLmVxKHIpKXJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCk7aWYoMD09PXRoaXMueC5jbXAoci54KSlyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpO3ZhciBlPXRoaXMueS5yZWRTdWIoci55KTswIT09ZS5jbXBuKDApJiYoZT1lLnJlZE11bCh0aGlzLngucmVkU3ViKHIueCkucmVkSW52bSgpKSk7dmFyIHQ9ZS5yZWRTcXIoKS5yZWRJU3ViKHRoaXMueCkucmVkSVN1YihyLngpLGQ9ZS5yZWRNdWwodGhpcy54LnJlZFN1Yih0KSkucmVkSVN1Yih0aGlzLnkpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KHQsZCl9LFBvaW50LnByb3RvdHlwZS5kYmw9ZnVuY3Rpb24oKXtpZih0aGlzLmluZilyZXR1cm4gdGhpczt2YXIgcj10aGlzLnkucmVkQWRkKHRoaXMueSk7aWYoMD09PXIuY21wbigwKSlyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpO3ZhciBlPXRoaXMuY3VydmUuYSx0PXRoaXMueC5yZWRTcXIoKSxkPXIucmVkSW52bSgpLGk9dC5yZWRBZGQodCkucmVkSUFkZCh0KS5yZWRJQWRkKGUpLnJlZE11bChkKSxuPWkucmVkU3FyKCkucmVkSVN1Yih0aGlzLngucmVkQWRkKHRoaXMueCkpLHU9aS5yZWRNdWwodGhpcy54LnJlZFN1YihuKSkucmVkSVN1Yih0aGlzLnkpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KG4sdSl9LFBvaW50LnByb3RvdHlwZS5nZXRYPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueC5mcm9tUmVkKCl9LFBvaW50LnByb3RvdHlwZS5nZXRZPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueS5mcm9tUmVkKCl9LFBvaW50LnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24ocil7cmV0dXJuIHI9bmV3IEJOKHIsMTYpLHRoaXMuX2hhc0RvdWJsZXMocik/dGhpcy5jdXJ2ZS5fZml4ZWROYWZNdWwodGhpcyxyKTp0aGlzLmN1cnZlLmVuZG8/dGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQoW3RoaXNdLFtyXSk6dGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLHIpfSxQb2ludC5wcm90b3R5cGUubXVsQWRkPWZ1bmN0aW9uKHIsZSx0KXt2YXIgZD1bdGhpcyxlXSxpPVtyLHRdO3JldHVybiB0aGlzLmN1cnZlLmVuZG8/dGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQoZCxpKTp0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsZCxpLDIpfSxQb2ludC5wcm90b3R5cGUuam11bEFkZD1mdW5jdGlvbihyLGUsdCl7dmFyIGQ9W3RoaXMsZV0saT1bcix0XTtyZXR1cm4gdGhpcy5jdXJ2ZS5lbmRvP3RoaXMuY3VydmUuX2VuZG9XbmFmTXVsQWRkKGQsaSwhMCk6dGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLGQsaSwyLCEwKX0sUG9pbnQucHJvdG90eXBlLmVxPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzPT09cnx8dGhpcy5pbmY9PT1yLmluZiYmKHRoaXMuaW5mfHwwPT09dGhpcy54LmNtcChyLngpJiYwPT09dGhpcy55LmNtcChyLnkpKX0sUG9pbnQucHJvdG90eXBlLm5lZz1mdW5jdGlvbihyKXtpZih0aGlzLmluZilyZXR1cm4gdGhpczt2YXIgZT10aGlzLmN1cnZlLnBvaW50KHRoaXMueCx0aGlzLnkucmVkTmVnKCkpO2lmKHImJnRoaXMucHJlY29tcHV0ZWQpe3ZhciB0PXRoaXMucHJlY29tcHV0ZWQsZD1mdW5jdGlvbihyKXtyZXR1cm4gci5uZWcoKX07ZS5wcmVjb21wdXRlZD17bmFmOnQubmFmJiZ7d25kOnQubmFmLnduZCxwb2ludHM6dC5uYWYucG9pbnRzLm1hcChkKX0sZG91Ymxlczp0LmRvdWJsZXMmJntzdGVwOnQuZG91Ymxlcy5zdGVwLHBvaW50czp0LmRvdWJsZXMucG9pbnRzLm1hcChkKX19fXJldHVybiBlfSxQb2ludC5wcm90b3R5cGUudG9KPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5mP3RoaXMuY3VydmUuanBvaW50KG51bGwsbnVsbCxudWxsKTp0aGlzLmN1cnZlLmpwb2ludCh0aGlzLngsdGhpcy55LHRoaXMuY3VydmUub25lKX0saW5oZXJpdHMoSlBvaW50LEJhc2UuQmFzZVBvaW50KSxTaG9ydEN1cnZlLnByb3RvdHlwZS5qcG9pbnQ9ZnVuY3Rpb24ocixlLHQpe3JldHVybiBuZXcgSlBvaW50KHRoaXMscixlLHQpfSxKUG9pbnQucHJvdG90eXBlLnRvUD1mdW5jdGlvbigpe2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCk7dmFyIHI9dGhpcy56LnJlZEludm0oKSxlPXIucmVkU3FyKCksdD10aGlzLngucmVkTXVsKGUpLGQ9dGhpcy55LnJlZE11bChlKS5yZWRNdWwocik7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQodCxkKX0sSlBvaW50LnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQodGhpcy54LHRoaXMueS5yZWROZWcoKSx0aGlzLnopfSxKUG9pbnQucHJvdG90eXBlLmFkZD1mdW5jdGlvbihyKXtpZih0aGlzLmlzSW5maW5pdHkoKSlyZXR1cm4gcjtpZihyLmlzSW5maW5pdHkoKSlyZXR1cm4gdGhpczt2YXIgZT1yLnoucmVkU3FyKCksdD10aGlzLnoucmVkU3FyKCksZD10aGlzLngucmVkTXVsKGUpLGk9ci54LnJlZE11bCh0KSxuPXRoaXMueS5yZWRNdWwoZS5yZWRNdWwoci56KSksdT1yLnkucmVkTXVsKHQucmVkTXVsKHRoaXMueikpLHM9ZC5yZWRTdWIoaSksbz1uLnJlZFN1Yih1KTtpZigwPT09cy5jbXBuKDApKXJldHVybiAwIT09by5jbXBuKDApP3RoaXMuY3VydmUuanBvaW50KG51bGwsbnVsbCxudWxsKTp0aGlzLmRibCgpO3ZhciBoPXMucmVkU3FyKCksbD1oLnJlZE11bChzKSxwPWQucmVkTXVsKGgpLGE9by5yZWRTcXIoKS5yZWRJQWRkKGwpLnJlZElTdWIocCkucmVkSVN1YihwKSxjPW8ucmVkTXVsKHAucmVkSVN1YihhKSkucmVkSVN1YihuLnJlZE11bChsKSksZj10aGlzLnoucmVkTXVsKHIueikucmVkTXVsKHMpO3JldHVybiB0aGlzLmN1cnZlLmpwb2ludChhLGMsZil9LEpQb2ludC5wcm90b3R5cGUubWl4ZWRBZGQ9ZnVuY3Rpb24ocil7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIHIudG9KKCk7aWYoci5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcy56LnJlZFNxcigpLHQ9dGhpcy54LGQ9ci54LnJlZE11bChlKSxpPXRoaXMueSxuPXIueS5yZWRNdWwoZSkucmVkTXVsKHRoaXMueiksdT10LnJlZFN1YihkKSxzPWkucmVkU3ViKG4pO2lmKDA9PT11LmNtcG4oMCkpcmV0dXJuIDAhPT1zLmNtcG4oMCk/dGhpcy5jdXJ2ZS5qcG9pbnQobnVsbCxudWxsLG51bGwpOnRoaXMuZGJsKCk7dmFyIG89dS5yZWRTcXIoKSxoPW8ucmVkTXVsKHUpLGw9dC5yZWRNdWwobykscD1zLnJlZFNxcigpLnJlZElBZGQoaCkucmVkSVN1YihsKS5yZWRJU3ViKGwpLGE9cy5yZWRNdWwobC5yZWRJU3ViKHApKS5yZWRJU3ViKGkucmVkTXVsKGgpKSxjPXRoaXMuei5yZWRNdWwodSk7cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KHAsYSxjKX0sSlBvaW50LnByb3RvdHlwZS5kYmxwPWZ1bmN0aW9uKHIpe2lmKDA9PT1yKXJldHVybiB0aGlzO2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzO2lmKCFyKXJldHVybiB0aGlzLmRibCgpO2lmKHRoaXMuY3VydmUuemVyb0F8fHRoaXMuY3VydmUudGhyZWVBKXtmb3IodmFyIGU9dGhpcyx0PTA7dDxyO3QrKyllPWUuZGJsKCk7cmV0dXJuIGV9Zm9yKHZhciBkPXRoaXMuY3VydmUuYSxpPXRoaXMuY3VydmUudGludixuPXRoaXMueCx1PXRoaXMueSxzPXRoaXMueixvPXMucmVkU3FyKCkucmVkU3FyKCksaD11LnJlZEFkZCh1KSx0PTA7dDxyO3QrKyl7dmFyIGw9bi5yZWRTcXIoKSxwPWgucmVkU3FyKCksYT1wLnJlZFNxcigpLGM9bC5yZWRBZGQobCkucmVkSUFkZChsKS5yZWRJQWRkKGQucmVkTXVsKG8pKSxmPW4ucmVkTXVsKHApLHY9Yy5yZWRTcXIoKS5yZWRJU3ViKGYucmVkQWRkKGYpKSxTPWYucmVkSVN1Yih2KSxiPWMucmVkTXVsKFMpO2I9Yi5yZWRJQWRkKGIpLnJlZElTdWIoYSk7dmFyIEk9aC5yZWRNdWwocyk7dCsxPHImJihvPW8ucmVkTXVsKGEpKSxuPXYscz1JLGg9Yn1yZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobixoLnJlZE11bChpKSxzKX0sSlBvaW50LnByb3RvdHlwZS5kYmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/dGhpczp0aGlzLmN1cnZlLnplcm9BP3RoaXMuX3plcm9EYmwoKTp0aGlzLmN1cnZlLnRocmVlQT90aGlzLl90aHJlZURibCgpOnRoaXMuX2RibCgpfSxKUG9pbnQucHJvdG90eXBlLl96ZXJvRGJsPWZ1bmN0aW9uKCl7dmFyIHIsZSx0O2lmKHRoaXMuek9uZSl7dmFyIGQ9dGhpcy54LnJlZFNxcigpLGk9dGhpcy55LnJlZFNxcigpLG49aS5yZWRTcXIoKSx1PXRoaXMueC5yZWRBZGQoaSkucmVkU3FyKCkucmVkSVN1YihkKS5yZWRJU3ViKG4pO3U9dS5yZWRJQWRkKHUpO3ZhciBzPWQucmVkQWRkKGQpLnJlZElBZGQoZCksbz1zLnJlZFNxcigpLnJlZElTdWIodSkucmVkSVN1Yih1KSxoPW4ucmVkSUFkZChuKTtoPShoPWgucmVkSUFkZChoKSkucmVkSUFkZChoKSxyPW8sZT1zLnJlZE11bCh1LnJlZElTdWIobykpLnJlZElTdWIoaCksdD10aGlzLnkucmVkQWRkKHRoaXMueSl9ZWxzZXt2YXIgbD10aGlzLngucmVkU3FyKCkscD10aGlzLnkucmVkU3FyKCksYT1wLnJlZFNxcigpLGM9dGhpcy54LnJlZEFkZChwKS5yZWRTcXIoKS5yZWRJU3ViKGwpLnJlZElTdWIoYSk7Yz1jLnJlZElBZGQoYyk7dmFyIGY9bC5yZWRBZGQobCkucmVkSUFkZChsKSx2PWYucmVkU3FyKCksUz1hLnJlZElBZGQoYSk7Uz0oUz1TLnJlZElBZGQoUykpLnJlZElBZGQoUykscj12LnJlZElTdWIoYykucmVkSVN1YihjKSxlPWYucmVkTXVsKGMucmVkSVN1YihyKSkucmVkSVN1YihTKSx0PSh0PXRoaXMueS5yZWRNdWwodGhpcy56KSkucmVkSUFkZCh0KX1yZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQocixlLHQpfSxKUG9pbnQucHJvdG90eXBlLl90aHJlZURibD1mdW5jdGlvbigpe3ZhciByLGUsdDtpZih0aGlzLnpPbmUpe3ZhciBkPXRoaXMueC5yZWRTcXIoKSxpPXRoaXMueS5yZWRTcXIoKSxuPWkucmVkU3FyKCksdT10aGlzLngucmVkQWRkKGkpLnJlZFNxcigpLnJlZElTdWIoZCkucmVkSVN1YihuKTt1PXUucmVkSUFkZCh1KTt2YXIgcz1kLnJlZEFkZChkKS5yZWRJQWRkKGQpLnJlZElBZGQodGhpcy5jdXJ2ZS5hKSxvPXMucmVkU3FyKCkucmVkSVN1Yih1KS5yZWRJU3ViKHUpO3I9bzt2YXIgaD1uLnJlZElBZGQobik7aD0oaD1oLnJlZElBZGQoaCkpLnJlZElBZGQoaCksZT1zLnJlZE11bCh1LnJlZElTdWIobykpLnJlZElTdWIoaCksdD10aGlzLnkucmVkQWRkKHRoaXMueSl9ZWxzZXt2YXIgbD10aGlzLnoucmVkU3FyKCkscD10aGlzLnkucmVkU3FyKCksYT10aGlzLngucmVkTXVsKHApLGM9dGhpcy54LnJlZFN1YihsKS5yZWRNdWwodGhpcy54LnJlZEFkZChsKSk7Yz1jLnJlZEFkZChjKS5yZWRJQWRkKGMpO3ZhciBmPWEucmVkSUFkZChhKSx2PShmPWYucmVkSUFkZChmKSkucmVkQWRkKGYpO3I9Yy5yZWRTcXIoKS5yZWRJU3ViKHYpLHQ9dGhpcy55LnJlZEFkZCh0aGlzLnopLnJlZFNxcigpLnJlZElTdWIocCkucmVkSVN1YihsKTt2YXIgUz1wLnJlZFNxcigpO1M9KFM9KFM9Uy5yZWRJQWRkKFMpKS5yZWRJQWRkKFMpKS5yZWRJQWRkKFMpLGU9Yy5yZWRNdWwoZi5yZWRJU3ViKHIpKS5yZWRJU3ViKFMpfXJldHVybiB0aGlzLmN1cnZlLmpwb2ludChyLGUsdCl9LEpQb2ludC5wcm90b3R5cGUuX2RibD1mdW5jdGlvbigpe3ZhciByPXRoaXMuY3VydmUuYSxlPXRoaXMueCx0PXRoaXMueSxkPXRoaXMueixpPWQucmVkU3FyKCkucmVkU3FyKCksbj1lLnJlZFNxcigpLHU9dC5yZWRTcXIoKSxzPW4ucmVkQWRkKG4pLnJlZElBZGQobikucmVkSUFkZChyLnJlZE11bChpKSksbz1lLnJlZEFkZChlKSxoPShvPW8ucmVkSUFkZChvKSkucmVkTXVsKHUpLGw9cy5yZWRTcXIoKS5yZWRJU3ViKGgucmVkQWRkKGgpKSxwPWgucmVkSVN1YihsKSxhPXUucmVkU3FyKCk7YT0oYT0oYT1hLnJlZElBZGQoYSkpLnJlZElBZGQoYSkpLnJlZElBZGQoYSk7dmFyIGM9cy5yZWRNdWwocCkucmVkSVN1YihhKSxmPXQucmVkQWRkKHQpLnJlZE11bChkKTtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobCxjLGYpfSxKUG9pbnQucHJvdG90eXBlLnRycGw9ZnVuY3Rpb24oKXtpZighdGhpcy5jdXJ2ZS56ZXJvQSlyZXR1cm4gdGhpcy5kYmwoKS5hZGQodGhpcyk7dmFyIHI9dGhpcy54LnJlZFNxcigpLGU9dGhpcy55LnJlZFNxcigpLHQ9dGhpcy56LnJlZFNxcigpLGQ9ZS5yZWRTcXIoKSxpPXIucmVkQWRkKHIpLnJlZElBZGQociksbj1pLnJlZFNxcigpLHU9dGhpcy54LnJlZEFkZChlKS5yZWRTcXIoKS5yZWRJU3ViKHIpLnJlZElTdWIoZCkscz0odT0odT0odT11LnJlZElBZGQodSkpLnJlZEFkZCh1KS5yZWRJQWRkKHUpKS5yZWRJU3ViKG4pKS5yZWRTcXIoKSxvPWQucmVkSUFkZChkKTtvPShvPShvPW8ucmVkSUFkZChvKSkucmVkSUFkZChvKSkucmVkSUFkZChvKTt2YXIgaD1pLnJlZElBZGQodSkucmVkU3FyKCkucmVkSVN1YihuKS5yZWRJU3ViKHMpLnJlZElTdWIobyksbD1lLnJlZE11bChoKTtsPShsPWwucmVkSUFkZChsKSkucmVkSUFkZChsKTt2YXIgcD10aGlzLngucmVkTXVsKHMpLnJlZElTdWIobCk7cD0ocD1wLnJlZElBZGQocCkpLnJlZElBZGQocCk7dmFyIGE9dGhpcy55LnJlZE11bChoLnJlZE11bChvLnJlZElTdWIoaCkpLnJlZElTdWIodS5yZWRNdWwocykpKTthPShhPShhPWEucmVkSUFkZChhKSkucmVkSUFkZChhKSkucmVkSUFkZChhKTt2YXIgYz10aGlzLnoucmVkQWRkKHUpLnJlZFNxcigpLnJlZElTdWIodCkucmVkSVN1YihzKTtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQocCxhLGMpfSxKUG9pbnQucHJvdG90eXBlLm11bD1mdW5jdGlvbihyLGUpe3JldHVybiByPW5ldyBCTihyLGUpLHRoaXMuY3VydmUuX3duYWZNdWwodGhpcyxyKX0sSlBvaW50LnByb3RvdHlwZS5lcT1mdW5jdGlvbihyKXtpZigiYWZmaW5lIj09PXIudHlwZSlyZXR1cm4gdGhpcy5lcShyLnRvSigpKTtpZih0aGlzPT09cilyZXR1cm4hMDt2YXIgZT10aGlzLnoucmVkU3FyKCksdD1yLnoucmVkU3FyKCk7aWYoMCE9PXRoaXMueC5yZWRNdWwodCkucmVkSVN1YihyLngucmVkTXVsKGUpKS5jbXBuKDApKXJldHVybiExO3ZhciBkPWUucmVkTXVsKHRoaXMueiksaT10LnJlZE11bChyLnopO3JldHVybiAwPT09dGhpcy55LnJlZE11bChpKS5yZWRJU3ViKHIueS5yZWRNdWwoZCkpLmNtcG4oMCl9LEpQb2ludC5wcm90b3R5cGUuZXFYVG9QPWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMuei5yZWRTcXIoKSx0PXIudG9SZWQodGhpcy5jdXJ2ZS5yZWQpLnJlZE11bChlKTtpZigwPT09dGhpcy54LmNtcCh0KSlyZXR1cm4hMDtmb3IodmFyIGQ9ci5jbG9uZSgpLGk9dGhpcy5jdXJ2ZS5yZWROLnJlZE11bChlKTs7KXtpZihkLmlhZGQodGhpcy5jdXJ2ZS5uKSxkLmNtcCh0aGlzLmN1cnZlLnApPj0wKXJldHVybiExO2lmKHQucmVkSUFkZChpKSwwPT09dGhpcy54LmNtcCh0KSlyZXR1cm4hMH1yZXR1cm4hMX0sSlBvaW50LnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNJbmZpbml0eSgpPyI8RUMgSlBvaW50IEluZmluaXR5PiI6IjxFQyBKUG9pbnQgeDogIit0aGlzLngudG9TdHJpbmcoMTYsMikrIiB5OiAiK3RoaXMueS50b1N0cmluZygxNiwyKSsiIHo6ICIrdGhpcy56LnRvU3RyaW5nKDE2LDIpKyI+In0sSlBvaW50LnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLnouY21wbigwKX07DQoNCiAgfSx7Ii4uLy4uL2VsbGlwdGljIjoxNCwiLi4vY3VydmUiOjE3LCJibi5qcyI6NCwiaW5oZXJpdHMiOjUxfV0sMjA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAidXNlIHN0cmljdCI7ZnVuY3Rpb24gUHJlc2V0Q3VydmUoZil7InNob3J0Ij09PWYudHlwZT90aGlzLmN1cnZlPW5ldyBlbGxpcHRpYy5jdXJ2ZS5zaG9ydChmKToiZWR3YXJkcyI9PT1mLnR5cGU/dGhpcy5jdXJ2ZT1uZXcgZWxsaXB0aWMuY3VydmUuZWR3YXJkcyhmKTp0aGlzLmN1cnZlPW5ldyBlbGxpcHRpYy5jdXJ2ZS5tb250KGYpLHRoaXMuZz10aGlzLmN1cnZlLmcsdGhpcy5uPXRoaXMuY3VydmUubix0aGlzLmhhc2g9Zi5oYXNoLGFzc2VydCh0aGlzLmcudmFsaWRhdGUoKSwiSW52YWxpZCBjdXJ2ZSIpLGFzc2VydCh0aGlzLmcubXVsKHRoaXMubikuaXNJbmZpbml0eSgpLCJJbnZhbGlkIGN1cnZlLCBHKk4gIT0gTyIpfWZ1bmN0aW9uIGRlZmluZUN1cnZlKGYsZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGN1cnZlcyxmLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt2YXIgYT1uZXcgUHJlc2V0Q3VydmUoZSk7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjdXJ2ZXMsZix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6YX0pLGF9fSl9dmFyIGN1cnZlcz1leHBvcnRzLGhhc2g9cmVxdWlyZSgiaGFzaC5qcyIpLGVsbGlwdGljPXJlcXVpcmUoIi4uL2VsbGlwdGljIiksYXNzZXJ0PWVsbGlwdGljLnV0aWxzLmFzc2VydDtjdXJ2ZXMuUHJlc2V0Q3VydmU9UHJlc2V0Q3VydmUsZGVmaW5lQ3VydmUoInAxOTIiLHt0eXBlOiJzaG9ydCIscHJpbWU6InAxOTIiLHA6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmIixhOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmYyIsYjoiNjQyMTA1MTkgZTU5YzgwZTcgMGZhN2U5YWIgNzIyNDMwNDkgZmViOGRlZWMgYzE0NmI5YjEiLG46ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDk5ZGVmODM2IDE0NmJjOWIxIGI0ZDIyODMxIixoYXNoOmhhc2guc2hhMjU2LGdSZWQ6ITEsZzpbIjE4OGRhODBlIGIwMzA5MGY2IDdjYmYyMGViIDQzYTE4ODAwIGY0ZmYwYWZkIDgyZmYxMDEyIiwiMDcxOTJiOTUgZmZjOGRhNzggNjMxMDExZWQgNmIyNGNkZDUgNzNmOTc3YTEgMWU3OTQ4MTEiXX0pLGRlZmluZUN1cnZlKCJwMjI0Iix7dHlwZToic2hvcnQiLHByaW1lOiJwMjI0IixwOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMSIsYToiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUiLGI6ImI0MDUwYTg1IDBjMDRiM2FiIGY1NDEzMjU2IDUwNDRiMGI3IGQ3YmZkOGJhIDI3MGIzOTQzIDIzNTVmZmI0IixuOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmMTZhMiBlMGI4ZjAzZSAxM2RkMjk0NSA1YzVjMmEzZCIsaGFzaDpoYXNoLnNoYTI1NixnUmVkOiExLGc6WyJiNzBlMGNiZCA2YmI0YmY3ZiAzMjEzOTBiOSA0YTAzYzFkMyA1NmMyMTEyMiAzNDMyODBkNiAxMTVjMWQyMSIsImJkMzc2Mzg4IGI1ZjcyM2ZiIDRjMjJkZmU2IGNkNDM3NWEwIDVhMDc0NzY0IDQ0ZDU4MTk5IDg1MDA3ZTM0Il19KSxkZWZpbmVDdXJ2ZSgicDI1NiIse3R5cGU6InNob3J0IixwcmltZTpudWxsLHA6ImZmZmZmZmZmIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIixhOiJmZmZmZmZmZiAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmYyIsYjoiNWFjNjM1ZDggYWEzYTkzZTcgYjNlYmJkNTUgNzY5ODg2YmMgNjUxZDA2YjAgY2M1M2IwZjYgM2JjZTNjM2UgMjdkMjYwNGIiLG46ImZmZmZmZmZmIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGJjZTZmYWFkIGE3MTc5ZTg0IGYzYjljYWMyIGZjNjMyNTUxIixoYXNoOmhhc2guc2hhMjU2LGdSZWQ6ITEsZzpbIjZiMTdkMWYyIGUxMmM0MjQ3IGY4YmNlNmU1IDYzYTQ0MGYyIDc3MDM3ZDgxIDJkZWIzM2EwIGY0YTEzOTQ1IGQ4OThjMjk2IiwiNGZlMzQyZTIgZmUxYTdmOWIgOGVlN2ViNGEgN2MwZjllMTYgMmJjZTMzNTcgNmIzMTVlY2UgY2JiNjQwNjggMzdiZjUxZjUiXX0pLGRlZmluZUN1cnZlKCJwMzg0Iix7dHlwZToic2hvcnQiLHByaW1lOm51bGwscDoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmYiLGE6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZjIixiOiJiMzMxMmZhNyBlMjNlZTdlNCA5ODhlMDU2YiBlM2Y4MmQxOSAxODFkOWM2ZSBmZTgxNDExMiAwMzE0MDg4ZiA1MDEzODc1YSBjNjU2Mzk4ZCA4YTJlZDE5ZCAyYTg1YzhlZCBkM2VjMmFlZiIsbjoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgYzc2MzRkODEgZjQzNzJkZGYgNTgxYTBkYjIgNDhiMGE3N2EgZWNlYzE5NmEgY2NjNTI5NzMiLGhhc2g6aGFzaC5zaGEzODQsZ1JlZDohMSxnOlsiYWE4N2NhMjIgYmU4YjA1MzcgOGViMWM3MWUgZjMyMGFkNzQgNmUxZDNiNjIgOGJhNzliOTggNTlmNzQxZTAgODI1NDJhMzggNTUwMmYyNWQgYmY1NTI5NmMgM2E1NDVlMzggNzI3NjBhYjciLCIzNjE3ZGU0YSA5NjI2MmM2ZiA1ZDllOThiZiA5MjkyZGMyOSBmOGY0MWRiZCAyODlhMTQ3YyBlOWRhMzExMyBiNWYwYjhjMCAwYTYwYjFjZSAxZDdlODE5ZCA3YTQzMWQ3YyA5MGVhMGU1ZiJdfSksZGVmaW5lQ3VydmUoInA1MjEiLHt0eXBlOiJzaG9ydCIscHJpbWU6bnVsbCxwOiIwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiIsYToiMDAwMDAxZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmMiLGI6IjAwMDAwMDUxIDk1M2ViOTYxIDhlMWM5YTFmIDkyOWEyMWEwIGI2ODU0MGVlIGEyZGE3MjViIDk5YjMxNWYzIGI4YjQ4OTkxIDhlZjEwOWUxIDU2MTkzOTUxIGVjN2U5MzdiIDE2NTJjMGJkIDNiYjFiZjA3IDM1NzNkZjg4IDNkMmMzNGYxIGVmNDUxZmQ0IDZiNTAzZjAwIixuOiIwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmYSA1MTg2ODc4MyBiZjJmOTY2YiA3ZmNjMDE0OCBmNzA5YTVkMCAzYmI1YzliOCA4OTljNDdhZSBiYjZmYjcxZSA5MTM4NjQwOSIsaGFzaDpoYXNoLnNoYTUxMixnUmVkOiExLGc6WyIwMDAwMDBjNiA4NThlMDZiNyAwNDA0ZTljZCA5ZTNlY2I2NiAyMzk1YjQ0MiA5YzY0ODEzOSAwNTNmYjUyMSBmODI4YWY2MCA2YjRkM2RiYSBhMTRiNWU3NyBlZmU3NTkyOCBmZTFkYzEyNyBhMmZmYThkZSAzMzQ4YjNjMSA4NTZhNDI5YiBmOTdlN2UzMSBjMmU1YmQ2NiIsIjAwMDAwMTE4IDM5Mjk2YTc4IDlhM2JjMDA0IDVjOGE1ZmI0IDJjN2QxYmQ5IDk4ZjU0NDQ5IDU3OWI0NDY4IDE3YWZiZDE3IDI3M2U2NjJjIDk3ZWU3Mjk5IDVlZjQyNjQwIGM1NTBiOTAxIDNmYWQwNzYxIDM1M2M3MDg2IGEyNzJjMjQwIDg4YmU5NDc2IDlmZDE2NjUwIl19KSxkZWZpbmVDdXJ2ZSgiY3VydmUyNTUxOSIse3R5cGU6Im1vbnQiLHByaW1lOiJwMjU1MTkiLHA6IjdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQiLGE6Ijc2ZDA2IixiOiIxIixuOiIxMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMTRkZWY5ZGVhMmY3OWNkNiA1ODEyNjMxYTVjZjVkM2VkIixoYXNoOmhhc2guc2hhMjU2LGdSZWQ6ITEsZzpbIjkiXX0pLGRlZmluZUN1cnZlKCJlZDI1NTE5Iix7dHlwZToiZWR3YXJkcyIscHJpbWU6InAyNTUxOSIscDoiN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCIsYToiLTEiLGM6IjEiLGQ6IjUyMDM2Y2VlMmI2ZmZlNzMgOGNjNzQwNzk3Nzc5ZTg5OCAwMDcwMGE0ZDQxNDFkOGFiIDc1ZWI0ZGNhMTM1OTc4YTMiLG46IjEwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAxNGRlZjlkZWEyZjc5Y2Q2IDU4MTI2MzFhNWNmNWQzZWQiLGhhc2g6aGFzaC5zaGEyNTYsZ1JlZDohMSxnOlsiMjE2OTM2ZDNjZDZlNTNmZWMwYTRlMjMxZmRkNmRjNWM2OTJjYzc2MDk1MjVhN2IyYzk1NjJkNjA4ZjI1ZDUxYSIsIjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NTgiXX0pO3ZhciBwcmU7dHJ5e3ByZT1yZXF1aXJlKCIuL3ByZWNvbXB1dGVkL3NlY3AyNTZrMSIpfWNhdGNoKGYpe3ByZT12b2lkIDB9ZGVmaW5lQ3VydmUoInNlY3AyNTZrMSIse3R5cGU6InNob3J0IixwcmltZToiazI1NiIscDoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYiLGE6IjAiLGI6IjciLG46ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGJhYWVkY2U2IGFmNDhhMDNiIGJmZDI1ZThjIGQwMzY0MTQxIixoOiIxIixoYXNoOmhhc2guc2hhMjU2LGJldGE6IjdhZTk2YTJiNjU3YzA3MTA2ZTY0NDc5ZWFjMzQzNGU5OWNmMDQ5NzUxMmY1ODk5NWMxMzk2YzI4NzE5NTAxZWUiLGxhbWJkYToiNTM2M2FkNGNjMDVjMzBlMGE1MjYxYzAyODgxMjY0NWExMjJlMjJlYTIwODE2Njc4ZGYwMjk2N2MxYjIzYmQ3MiIsYmFzaXM6W3thOiIzMDg2ZDIyMWE3ZDQ2YmNkZTg2YzkwZTQ5Mjg0ZWIxNSIsYjoiLWU0NDM3ZWQ2MDEwZTg4Mjg2ZjU0N2ZhOTBhYmZlNGMzIn0se2E6IjExNGNhNTBmN2E4ZTJmM2Y2NTdjMTEwOGQ5ZDQ0Y2ZkOCIsYjoiMzA4NmQyMjFhN2Q0NmJjZGU4NmM5MGU0OTI4NGViMTUifV0sZ1JlZDohMSxnOlsiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsIjQ4M2FkYTc3MjZhM2M0NjU1ZGE0ZmJmYzBlMTEwOGE4ZmQxN2I0NDhhNjg1NTQxOTljNDdkMDhmZmIxMGQ0YjgiLHByZV19KTsNCg0KICB9LHsiLi4vZWxsaXB0aWMiOjE0LCIuL3ByZWNvbXB1dGVkL3NlY3AyNTZrMSI6MjcsImhhc2guanMiOjM3fV0sMjE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAidXNlIHN0cmljdCI7ZnVuY3Rpb24gRUMoZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgRUMpKXJldHVybiBuZXcgRUMoZSk7InN0cmluZyI9PXR5cGVvZiBlJiYoYXNzZXJ0KGVsbGlwdGljLmN1cnZlcy5oYXNPd25Qcm9wZXJ0eShlKSwiVW5rbm93biBjdXJ2ZSAiK2UpLGU9ZWxsaXB0aWMuY3VydmVzW2VdKSxlIGluc3RhbmNlb2YgZWxsaXB0aWMuY3VydmVzLlByZXNldEN1cnZlJiYoZT17Y3VydmU6ZX0pLHRoaXMuY3VydmU9ZS5jdXJ2ZS5jdXJ2ZSx0aGlzLm49dGhpcy5jdXJ2ZS5uLHRoaXMubmg9dGhpcy5uLnVzaHJuKDEpLHRoaXMuZz10aGlzLmN1cnZlLmcsdGhpcy5nPWUuY3VydmUuZyx0aGlzLmcucHJlY29tcHV0ZShlLmN1cnZlLm4uYml0TGVuZ3RoKCkrMSksdGhpcy5oYXNoPWUuaGFzaHx8ZS5jdXJ2ZS5oYXNofXZhciBCTj1yZXF1aXJlKCJibi5qcyIpLEhtYWNEUkJHPXJlcXVpcmUoImhtYWMtZHJiZyIpLGVsbGlwdGljPXJlcXVpcmUoIi4uLy4uL2VsbGlwdGljIiksdXRpbHM9ZWxsaXB0aWMudXRpbHMsYXNzZXJ0PXV0aWxzLmFzc2VydCxLZXlQYWlyPXJlcXVpcmUoIi4va2V5IiksU2lnbmF0dXJlPXJlcXVpcmUoIi4vc2lnbmF0dXJlIik7bW9kdWxlLmV4cG9ydHM9RUMsRUMucHJvdG90eXBlLmtleVBhaXI9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBLZXlQYWlyKHRoaXMsZSl9LEVDLnByb3RvdHlwZS5rZXlGcm9tUHJpdmF0ZT1mdW5jdGlvbihlLHQpe3JldHVybiBLZXlQYWlyLmZyb21Qcml2YXRlKHRoaXMsZSx0KX0sRUMucHJvdG90eXBlLmtleUZyb21QdWJsaWM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gS2V5UGFpci5mcm9tUHVibGljKHRoaXMsZSx0KX0sRUMucHJvdG90eXBlLmdlbktleVBhaXI9ZnVuY3Rpb24oZSl7ZXx8KGU9e30pO2Zvcih2YXIgdD1uZXcgSG1hY0RSQkcoe2hhc2g6dGhpcy5oYXNoLHBlcnM6ZS5wZXJzLHBlcnNFbmM6ZS5wZXJzRW5jfHwidXRmOCIsZW50cm9weTplLmVudHJvcHl8fGVsbGlwdGljLnJhbmQodGhpcy5oYXNoLmhtYWNTdHJlbmd0aCksZW50cm9weUVuYzplLmVudHJvcHkmJmUuZW50cm9weUVuY3x8InV0ZjgiLG5vbmNlOnRoaXMubi50b0FycmF5KCl9KSxyPXRoaXMubi5ieXRlTGVuZ3RoKCksbj10aGlzLm4uc3ViKG5ldyBCTigyKSk7Oyl7dmFyIGk9bmV3IEJOKHQuZ2VuZXJhdGUocikpO2lmKCEoaS5jbXAobik+MCkpcmV0dXJuIGkuaWFkZG4oMSksdGhpcy5rZXlGcm9tUHJpdmF0ZShpKX19LEVDLnByb3RvdHlwZS5fdHJ1bmNhdGVUb049ZnVuY3Rpb24oZSx0KXt2YXIgcj04KmUuYnl0ZUxlbmd0aCgpLXRoaXMubi5iaXRMZW5ndGgoKTtyZXR1cm4gcj4wJiYoZT1lLnVzaHJuKHIpKSwhdCYmZS5jbXAodGhpcy5uKT49MD9lLnN1Yih0aGlzLm4pOmV9LEVDLnByb3RvdHlwZS5zaWduPWZ1bmN0aW9uKGUsdCxyLG4peyJvYmplY3QiPT10eXBlb2YgciYmKG49cixyPW51bGwpLG58fChuPXt9KSx0PXRoaXMua2V5RnJvbVByaXZhdGUodCxyKSxlPXRoaXMuX3RydW5jYXRlVG9OKG5ldyBCTihlLDE2KSk7Zm9yKHZhciBpPXRoaXMubi5ieXRlTGVuZ3RoKCkscz10LmdldFByaXZhdGUoKS50b0FycmF5KCJiZSIsaSksdT1lLnRvQXJyYXkoImJlIixpKSxvPW5ldyBIbWFjRFJCRyh7aGFzaDp0aGlzLmhhc2gsZW50cm9weTpzLG5vbmNlOnUscGVyczpuLnBlcnMscGVyc0VuYzpuLnBlcnNFbmN8fCJ1dGY4In0pLGM9dGhpcy5uLnN1YihuZXcgQk4oMSkpLGg9MDshMDtoKyspe3ZhciBhPW4uaz9uLmsoaCk6bmV3IEJOKG8uZ2VuZXJhdGUodGhpcy5uLmJ5dGVMZW5ndGgoKSkpO2lmKCEoKGE9dGhpcy5fdHJ1bmNhdGVUb04oYSwhMCkpLmNtcG4oMSk8PTB8fGEuY21wKGMpPj0wKSl7dmFyIHA9dGhpcy5nLm11bChhKTtpZighcC5pc0luZmluaXR5KCkpe3ZhciBtPXAuZ2V0WCgpLHY9bS51bW9kKHRoaXMubik7aWYoMCE9PXYuY21wbigwKSl7dmFyIHk9YS5pbnZtKHRoaXMubikubXVsKHYubXVsKHQuZ2V0UHJpdmF0ZSgpKS5pYWRkKGUpKTtpZigwIT09KHk9eS51bW9kKHRoaXMubikpLmNtcG4oMCkpe3ZhciBsPShwLmdldFkoKS5pc09kZCgpPzE6MCl8KDAhPT1tLmNtcCh2KT8yOjApO3JldHVybiBuLmNhbm9uaWNhbCYmeS5jbXAodGhpcy5uaCk+MCYmKHk9dGhpcy5uLnN1Yih5KSxsXj0xKSxuZXcgU2lnbmF0dXJlKHtyOnYsczp5LHJlY292ZXJ5UGFyYW06bH0pfX19fX19LEVDLnByb3RvdHlwZS52ZXJpZnk9ZnVuY3Rpb24oZSx0LHIsbil7ZT10aGlzLl90cnVuY2F0ZVRvTihuZXcgQk4oZSwxNikpLHI9dGhpcy5rZXlGcm9tUHVibGljKHIsbik7dmFyIGk9KHQ9bmV3IFNpZ25hdHVyZSh0LCJoZXgiKSkucixzPXQucztpZihpLmNtcG4oMSk8MHx8aS5jbXAodGhpcy5uKT49MClyZXR1cm4hMTtpZihzLmNtcG4oMSk8MHx8cy5jbXAodGhpcy5uKT49MClyZXR1cm4hMTt2YXIgdT1zLmludm0odGhpcy5uKSxvPXUubXVsKGUpLnVtb2QodGhpcy5uKSxjPXUubXVsKGkpLnVtb2QodGhpcy5uKTtpZighdGhpcy5jdXJ2ZS5fbWF4d2VsbFRyaWNrKXJldHVybiEoaD10aGlzLmcubXVsQWRkKG8sci5nZXRQdWJsaWMoKSxjKSkuaXNJbmZpbml0eSgpJiYwPT09aC5nZXRYKCkudW1vZCh0aGlzLm4pLmNtcChpKTt2YXIgaD10aGlzLmcuam11bEFkZChvLHIuZ2V0UHVibGljKCksYyk7cmV0dXJuIWguaXNJbmZpbml0eSgpJiZoLmVxWFRvUChpKX0sRUMucHJvdG90eXBlLnJlY292ZXJQdWJLZXk9ZnVuY3Rpb24oZSx0LHIsbil7YXNzZXJ0KCgzJnIpPT09ciwiVGhlIHJlY292ZXJ5IHBhcmFtIGlzIG1vcmUgdGhhbiB0d28gYml0cyIpLHQ9bmV3IFNpZ25hdHVyZSh0LG4pO3ZhciBpPXRoaXMubixzPW5ldyBCTihlKSx1PXQucixvPXQucyxjPTEmcixoPXI+PjE7aWYodS5jbXAodGhpcy5jdXJ2ZS5wLnVtb2QodGhpcy5jdXJ2ZS5uKSk+PTAmJmgpdGhyb3cgbmV3IEVycm9yKCJVbmFibGUgdG8gZmluZCBzZW5jb25kIGtleSBjYW5kaW5hdGUiKTt1PWg/dGhpcy5jdXJ2ZS5wb2ludEZyb21YKHUuYWRkKHRoaXMuY3VydmUubiksYyk6dGhpcy5jdXJ2ZS5wb2ludEZyb21YKHUsYyk7dmFyIGE9dC5yLmludm0oaSkscD1pLnN1YihzKS5tdWwoYSkudW1vZChpKSxtPW8ubXVsKGEpLnVtb2QoaSk7cmV0dXJuIHRoaXMuZy5tdWxBZGQocCx1LG0pfSxFQy5wcm90b3R5cGUuZ2V0S2V5UmVjb3ZlcnlQYXJhbT1mdW5jdGlvbihlLHQscixuKXtpZihudWxsIT09KHQ9bmV3IFNpZ25hdHVyZSh0LG4pKS5yZWNvdmVyeVBhcmFtKXJldHVybiB0LnJlY292ZXJ5UGFyYW07Zm9yKHZhciBpPTA7aTw0O2krKyl7dmFyIHM7dHJ5e3M9dGhpcy5yZWNvdmVyUHViS2V5KGUsdCxpKX1jYXRjaChlKXtjb250aW51ZX1pZihzLmVxKHIpKXJldHVybiBpfXRocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIGZpbmQgdmFsaWQgcmVjb3ZlcnkgZmFjdG9yIil9Ow0KDQogIH0seyIuLi8uLi9lbGxpcHRpYyI6MTQsIi4va2V5IjoyMiwiLi9zaWduYXR1cmUiOjIzLCJibi5qcyI6NCwiaG1hYy1kcmJnIjo0OX1dLDIyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIEtleVBhaXIoaSx0KXt0aGlzLmVjPWksdGhpcy5wcml2PW51bGwsdGhpcy5wdWI9bnVsbCx0LnByaXYmJnRoaXMuX2ltcG9ydFByaXZhdGUodC5wcml2LHQucHJpdkVuYyksdC5wdWImJnRoaXMuX2ltcG9ydFB1YmxpYyh0LnB1Yix0LnB1YkVuYyl9dmFyIEJOPXJlcXVpcmUoImJuLmpzIiksZWxsaXB0aWM9cmVxdWlyZSgiLi4vLi4vZWxsaXB0aWMiKSx1dGlscz1lbGxpcHRpYy51dGlscyxhc3NlcnQ9dXRpbHMuYXNzZXJ0O21vZHVsZS5leHBvcnRzPUtleVBhaXIsS2V5UGFpci5mcm9tUHVibGljPWZ1bmN0aW9uKGksdCxlKXtyZXR1cm4gdCBpbnN0YW5jZW9mIEtleVBhaXI/dDpuZXcgS2V5UGFpcihpLHtwdWI6dCxwdWJFbmM6ZX0pfSxLZXlQYWlyLmZyb21Qcml2YXRlPWZ1bmN0aW9uKGksdCxlKXtyZXR1cm4gdCBpbnN0YW5jZW9mIEtleVBhaXI/dDpuZXcgS2V5UGFpcihpLHtwcml2OnQscHJpdkVuYzplfSl9LEtleVBhaXIucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5nZXRQdWJsaWMoKTtyZXR1cm4gaS5pc0luZmluaXR5KCk/e3Jlc3VsdDohMSxyZWFzb246IkludmFsaWQgcHVibGljIGtleSJ9OmkudmFsaWRhdGUoKT9pLm11bCh0aGlzLmVjLmN1cnZlLm4pLmlzSW5maW5pdHkoKT97cmVzdWx0OiEwLHJlYXNvbjpudWxsfTp7cmVzdWx0OiExLHJlYXNvbjoiUHVibGljIGtleSAqIE4gIT0gTyJ9OntyZXN1bHQ6ITEscmVhc29uOiJQdWJsaWMga2V5IGlzIG5vdCBhIHBvaW50In19LEtleVBhaXIucHJvdG90eXBlLmdldFB1YmxpYz1mdW5jdGlvbihpLHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgaSYmKHQ9aSxpPW51bGwpLHRoaXMucHVifHwodGhpcy5wdWI9dGhpcy5lYy5nLm11bCh0aGlzLnByaXYpKSx0P3RoaXMucHViLmVuY29kZSh0LGkpOnRoaXMucHVifSxLZXlQYWlyLnByb3RvdHlwZS5nZXRQcml2YXRlPWZ1bmN0aW9uKGkpe3JldHVybiJoZXgiPT09aT90aGlzLnByaXYudG9TdHJpbmcoMTYsMik6dGhpcy5wcml2fSxLZXlQYWlyLnByb3RvdHlwZS5faW1wb3J0UHJpdmF0ZT1mdW5jdGlvbihpLHQpe3RoaXMucHJpdj1uZXcgQk4oaSx0fHwxNiksdGhpcy5wcml2PXRoaXMucHJpdi51bW9kKHRoaXMuZWMuY3VydmUubil9LEtleVBhaXIucHJvdG90eXBlLl9pbXBvcnRQdWJsaWM9ZnVuY3Rpb24oaSx0KXtpZihpLnh8fGkueSlyZXR1cm4ibW9udCI9PT10aGlzLmVjLmN1cnZlLnR5cGU/YXNzZXJ0KGkueCwiTmVlZCB4IGNvb3JkaW5hdGUiKToic2hvcnQiIT09dGhpcy5lYy5jdXJ2ZS50eXBlJiYiZWR3YXJkcyIhPT10aGlzLmVjLmN1cnZlLnR5cGV8fGFzc2VydChpLngmJmkueSwiTmVlZCBib3RoIHggYW5kIHkgY29vcmRpbmF0ZSIpLHZvaWQodGhpcy5wdWI9dGhpcy5lYy5jdXJ2ZS5wb2ludChpLngsaS55KSk7dGhpcy5wdWI9dGhpcy5lYy5jdXJ2ZS5kZWNvZGVQb2ludChpLHQpfSxLZXlQYWlyLnByb3RvdHlwZS5kZXJpdmU9ZnVuY3Rpb24oaSl7cmV0dXJuIGkubXVsKHRoaXMucHJpdikuZ2V0WCgpfSxLZXlQYWlyLnByb3RvdHlwZS5zaWduPWZ1bmN0aW9uKGksdCxlKXtyZXR1cm4gdGhpcy5lYy5zaWduKGksdGhpcyx0LGUpfSxLZXlQYWlyLnByb3RvdHlwZS52ZXJpZnk9ZnVuY3Rpb24oaSx0KXtyZXR1cm4gdGhpcy5lYy52ZXJpZnkoaSx0LHRoaXMpfSxLZXlQYWlyLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIjxLZXkgcHJpdjogIisodGhpcy5wcml2JiZ0aGlzLnByaXYudG9TdHJpbmcoMTYsMikpKyIgcHViOiAiKyh0aGlzLnB1YiYmdGhpcy5wdWIuaW5zcGVjdCgpKSsiID4ifTsNCg0KICB9LHsiLi4vLi4vZWxsaXB0aWMiOjE0LCJibi5qcyI6NH1dLDIzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIFNpZ25hdHVyZSh0LHIpe2lmKHQgaW5zdGFuY2VvZiBTaWduYXR1cmUpcmV0dXJuIHQ7dGhpcy5faW1wb3J0REVSKHQscil8fChhc3NlcnQodC5yJiZ0LnMsIlNpZ25hdHVyZSB3aXRob3V0IHIgb3IgcyIpLHRoaXMucj1uZXcgQk4odC5yLDE2KSx0aGlzLnM9bmV3IEJOKHQucywxNiksdm9pZCAwPT09dC5yZWNvdmVyeVBhcmFtP3RoaXMucmVjb3ZlcnlQYXJhbT1udWxsOnRoaXMucmVjb3ZlcnlQYXJhbT10LnJlY292ZXJ5UGFyYW0pfWZ1bmN0aW9uIFBvc2l0aW9uKCl7dGhpcy5wbGFjZT0wfWZ1bmN0aW9uIGdldExlbmd0aCh0LHIpe3ZhciBlPXRbci5wbGFjZSsrXTtpZighKDEyOCZlKSlyZXR1cm4gZTtmb3IodmFyIG49MTUmZSxpPTAsYT0wLGM9ci5wbGFjZTthPG47YSsrLGMrKylpPDw9OCxpfD10W2NdO3JldHVybiByLnBsYWNlPWMsaX1mdW5jdGlvbiBybVBhZGRpbmcodCl7Zm9yKHZhciByPTAsZT10Lmxlbmd0aC0xOyF0W3JdJiYhKDEyOCZ0W3IrMV0pJiZyPGU7KXIrKztyZXR1cm4gMD09PXI/dDp0LnNsaWNlKHIpfWZ1bmN0aW9uIGNvbnN0cnVjdExlbmd0aCh0LHIpe2lmKHI8MTI4KXQucHVzaChyKTtlbHNle3ZhciBlPTErKE1hdGgubG9nKHIpL01hdGguTE4yPj4+Myk7Zm9yKHQucHVzaCgxMjh8ZSk7LS1lOyl0LnB1c2gocj4+PihlPDwzKSYyNTUpO3QucHVzaChyKX19dmFyIEJOPXJlcXVpcmUoImJuLmpzIiksZWxsaXB0aWM9cmVxdWlyZSgiLi4vLi4vZWxsaXB0aWMiKSx1dGlscz1lbGxpcHRpYy51dGlscyxhc3NlcnQ9dXRpbHMuYXNzZXJ0O21vZHVsZS5leHBvcnRzPVNpZ25hdHVyZSxTaWduYXR1cmUucHJvdG90eXBlLl9pbXBvcnRERVI9ZnVuY3Rpb24odCxyKXt0PXV0aWxzLnRvQXJyYXkodCxyKTt2YXIgZT1uZXcgUG9zaXRpb247aWYoNDghPT10W2UucGxhY2UrK10pcmV0dXJuITE7aWYoZ2V0TGVuZ3RoKHQsZSkrZS5wbGFjZSE9PXQubGVuZ3RoKXJldHVybiExO2lmKDIhPT10W2UucGxhY2UrK10pcmV0dXJuITE7dmFyIG49Z2V0TGVuZ3RoKHQsZSksaT10LnNsaWNlKGUucGxhY2UsbitlLnBsYWNlKTtpZihlLnBsYWNlKz1uLDIhPT10W2UucGxhY2UrK10pcmV0dXJuITE7dmFyIGE9Z2V0TGVuZ3RoKHQsZSk7aWYodC5sZW5ndGghPT1hK2UucGxhY2UpcmV0dXJuITE7dmFyIGM9dC5zbGljZShlLnBsYWNlLGErZS5wbGFjZSk7cmV0dXJuIDA9PT1pWzBdJiYxMjgmaVsxXSYmKGk9aS5zbGljZSgxKSksMD09PWNbMF0mJjEyOCZjWzFdJiYoYz1jLnNsaWNlKDEpKSx0aGlzLnI9bmV3IEJOKGkpLHRoaXMucz1uZXcgQk4oYyksdGhpcy5yZWNvdmVyeVBhcmFtPW51bGwsITB9LFNpZ25hdHVyZS5wcm90b3R5cGUudG9ERVI9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5yLnRvQXJyYXkoKSxlPXRoaXMucy50b0FycmF5KCk7Zm9yKDEyOCZyWzBdJiYocj1bMF0uY29uY2F0KHIpKSwxMjgmZVswXSYmKGU9WzBdLmNvbmNhdChlKSkscj1ybVBhZGRpbmcociksZT1ybVBhZGRpbmcoZSk7IShlWzBdfHwxMjgmZVsxXSk7KWU9ZS5zbGljZSgxKTt2YXIgbj1bMl07Y29uc3RydWN0TGVuZ3RoKG4sci5sZW5ndGgpLChuPW4uY29uY2F0KHIpKS5wdXNoKDIpLGNvbnN0cnVjdExlbmd0aChuLGUubGVuZ3RoKTt2YXIgaT1uLmNvbmNhdChlKSxhPVs0OF07cmV0dXJuIGNvbnN0cnVjdExlbmd0aChhLGkubGVuZ3RoKSxhPWEuY29uY2F0KGkpLHV0aWxzLmVuY29kZShhLHQpfTsNCg0KICB9LHsiLi4vLi4vZWxsaXB0aWMiOjE0LCJibi5qcyI6NH1dLDI0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIEVERFNBKHQpe2lmKGFzc2VydCgiZWQyNTUxOSI9PT10LCJvbmx5IHRlc3RlZCB3aXRoIGVkMjU1MTkgc28gZmFyIiksISh0aGlzIGluc3RhbmNlb2YgRUREU0EpKXJldHVybiBuZXcgRUREU0EodCk7dmFyIHQ9ZWxsaXB0aWMuY3VydmVzW3RdLmN1cnZlO3RoaXMuY3VydmU9dCx0aGlzLmc9dC5nLHRoaXMuZy5wcmVjb21wdXRlKHQubi5iaXRMZW5ndGgoKSsxKSx0aGlzLnBvaW50Q2xhc3M9dC5wb2ludCgpLmNvbnN0cnVjdG9yLHRoaXMuZW5jb2RpbmdMZW5ndGg9TWF0aC5jZWlsKHQubi5iaXRMZW5ndGgoKS84KSx0aGlzLmhhc2g9aGFzaC5zaGE1MTJ9dmFyIGhhc2g9cmVxdWlyZSgiaGFzaC5qcyIpLGVsbGlwdGljPXJlcXVpcmUoIi4uLy4uL2VsbGlwdGljIiksdXRpbHM9ZWxsaXB0aWMudXRpbHMsYXNzZXJ0PXV0aWxzLmFzc2VydCxwYXJzZUJ5dGVzPXV0aWxzLnBhcnNlQnl0ZXMsS2V5UGFpcj1yZXF1aXJlKCIuL2tleSIpLFNpZ25hdHVyZT1yZXF1aXJlKCIuL3NpZ25hdHVyZSIpO21vZHVsZS5leHBvcnRzPUVERFNBLEVERFNBLnByb3RvdHlwZS5zaWduPWZ1bmN0aW9uKHQsZSl7dD1wYXJzZUJ5dGVzKHQpO3ZhciBpPXRoaXMua2V5RnJvbVNlY3JldChlKSxyPXRoaXMuaGFzaEludChpLm1lc3NhZ2VQcmVmaXgoKSx0KSxuPXRoaXMuZy5tdWwocikscz10aGlzLmVuY29kZVBvaW50KG4pLG89dGhpcy5oYXNoSW50KHMsaS5wdWJCeXRlcygpLHQpLm11bChpLnByaXYoKSksdT1yLmFkZChvKS51bW9kKHRoaXMuY3VydmUubik7cmV0dXJuIHRoaXMubWFrZVNpZ25hdHVyZSh7UjpuLFM6dSxSZW5jb2RlZDpzfSl9LEVERFNBLnByb3RvdHlwZS52ZXJpZnk9ZnVuY3Rpb24odCxlLGkpe3Q9cGFyc2VCeXRlcyh0KSxlPXRoaXMubWFrZVNpZ25hdHVyZShlKTt2YXIgcj10aGlzLmtleUZyb21QdWJsaWMoaSksbj10aGlzLmhhc2hJbnQoZS5SZW5jb2RlZCgpLHIucHViQnl0ZXMoKSx0KSxzPXRoaXMuZy5tdWwoZS5TKCkpO3JldHVybiBlLlIoKS5hZGQoci5wdWIoKS5tdWwobikpLmVxKHMpfSxFRERTQS5wcm90b3R5cGUuaGFzaEludD1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLmhhc2goKSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0LnVwZGF0ZShhcmd1bWVudHNbZV0pO3JldHVybiB1dGlscy5pbnRGcm9tTEUodC5kaWdlc3QoKSkudW1vZCh0aGlzLmN1cnZlLm4pfSxFRERTQS5wcm90b3R5cGUua2V5RnJvbVB1YmxpYz1mdW5jdGlvbih0KXtyZXR1cm4gS2V5UGFpci5mcm9tUHVibGljKHRoaXMsdCl9LEVERFNBLnByb3RvdHlwZS5rZXlGcm9tU2VjcmV0PWZ1bmN0aW9uKHQpe3JldHVybiBLZXlQYWlyLmZyb21TZWNyZXQodGhpcyx0KX0sRUREU0EucHJvdG90eXBlLm1ha2VTaWduYXR1cmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBTaWduYXR1cmU/dDpuZXcgU2lnbmF0dXJlKHRoaXMsdCl9LEVERFNBLnByb3RvdHlwZS5lbmNvZGVQb2ludD1mdW5jdGlvbih0KXt2YXIgZT10LmdldFkoKS50b0FycmF5KCJsZSIsdGhpcy5lbmNvZGluZ0xlbmd0aCk7cmV0dXJuIGVbdGhpcy5lbmNvZGluZ0xlbmd0aC0xXXw9dC5nZXRYKCkuaXNPZGQoKT8xMjg6MCxlfSxFRERTQS5wcm90b3R5cGUuZGVjb2RlUG9pbnQ9ZnVuY3Rpb24odCl7dmFyIGU9KHQ9dXRpbHMucGFyc2VCeXRlcyh0KSkubGVuZ3RoLTEsaT10LnNsaWNlKDAsZSkuY29uY2F0KC0xMjkmdFtlXSkscj0wIT0oMTI4JnRbZV0pLG49dXRpbHMuaW50RnJvbUxFKGkpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50RnJvbVkobixyKX0sRUREU0EucHJvdG90eXBlLmVuY29kZUludD1mdW5jdGlvbih0KXtyZXR1cm4gdC50b0FycmF5KCJsZSIsdGhpcy5lbmNvZGluZ0xlbmd0aCl9LEVERFNBLnByb3RvdHlwZS5kZWNvZGVJbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHV0aWxzLmludEZyb21MRSh0KX0sRUREU0EucHJvdG90eXBlLmlzUG9pbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiB0aGlzLnBvaW50Q2xhc3N9Ow0KDQogIH0seyIuLi8uLi9lbGxpcHRpYyI6MTQsIi4va2V5IjoyNSwiLi9zaWduYXR1cmUiOjI2LCJoYXNoLmpzIjozN31dLDI1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIEtleVBhaXIoZSx0KXt0aGlzLmVkZHNhPWUsdGhpcy5fc2VjcmV0PXBhcnNlQnl0ZXModC5zZWNyZXQpLGUuaXNQb2ludCh0LnB1Yik/dGhpcy5fcHViPXQucHViOnRoaXMuX3B1YkJ5dGVzPXBhcnNlQnl0ZXModC5wdWIpfXZhciBlbGxpcHRpYz1yZXF1aXJlKCIuLi8uLi9lbGxpcHRpYyIpLHV0aWxzPWVsbGlwdGljLnV0aWxzLGFzc2VydD11dGlscy5hc3NlcnQscGFyc2VCeXRlcz11dGlscy5wYXJzZUJ5dGVzLGNhY2hlZFByb3BlcnR5PXV0aWxzLmNhY2hlZFByb3BlcnR5O0tleVBhaXIuZnJvbVB1YmxpYz1mdW5jdGlvbihlLHQpe3JldHVybiB0IGluc3RhbmNlb2YgS2V5UGFpcj90Om5ldyBLZXlQYWlyKGUse3B1Yjp0fSl9LEtleVBhaXIuZnJvbVNlY3JldD1mdW5jdGlvbihlLHQpe3JldHVybiB0IGluc3RhbmNlb2YgS2V5UGFpcj90Om5ldyBLZXlQYWlyKGUse3NlY3JldDp0fSl9LEtleVBhaXIucHJvdG90eXBlLnNlY3JldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zZWNyZXR9LGNhY2hlZFByb3BlcnR5KEtleVBhaXIsInB1YkJ5dGVzIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmVuY29kZVBvaW50KHRoaXMucHViKCkpfSksY2FjaGVkUHJvcGVydHkoS2V5UGFpciwicHViIixmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wdWJCeXRlcz90aGlzLmVkZHNhLmRlY29kZVBvaW50KHRoaXMuX3B1YkJ5dGVzKTp0aGlzLmVkZHNhLmcubXVsKHRoaXMucHJpdigpKX0pLGNhY2hlZFByb3BlcnR5KEtleVBhaXIsInByaXZCeXRlcyIsZnVuY3Rpb24oKXt2YXIgZT10aGlzLmVkZHNhLHQ9dGhpcy5oYXNoKCksaT1lLmVuY29kaW5nTGVuZ3RoLTEscj10LnNsaWNlKDAsZS5lbmNvZGluZ0xlbmd0aCk7cmV0dXJuIHJbMF0mPTI0OCxyW2ldJj0xMjcscltpXXw9NjQscn0pLGNhY2hlZFByb3BlcnR5KEtleVBhaXIsInByaXYiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWRkc2EuZGVjb2RlSW50KHRoaXMucHJpdkJ5dGVzKCkpfSksY2FjaGVkUHJvcGVydHkoS2V5UGFpciwiaGFzaCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5oYXNoKCkudXBkYXRlKHRoaXMuc2VjcmV0KCkpLmRpZ2VzdCgpfSksY2FjaGVkUHJvcGVydHkoS2V5UGFpciwibWVzc2FnZVByZWZpeCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oYXNoKCkuc2xpY2UodGhpcy5lZGRzYS5lbmNvZGluZ0xlbmd0aCl9KSxLZXlQYWlyLnByb3RvdHlwZS5zaWduPWZ1bmN0aW9uKGUpe3JldHVybiBhc3NlcnQodGhpcy5fc2VjcmV0LCJLZXlQYWlyIGNhbiBvbmx5IHZlcmlmeSIpLHRoaXMuZWRkc2Euc2lnbihlLHRoaXMpfSxLZXlQYWlyLnByb3RvdHlwZS52ZXJpZnk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lZGRzYS52ZXJpZnkoZSx0LHRoaXMpfSxLZXlQYWlyLnByb3RvdHlwZS5nZXRTZWNyZXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGFzc2VydCh0aGlzLl9zZWNyZXQsIktleVBhaXIgaXMgcHVibGljIG9ubHkiKSx1dGlscy5lbmNvZGUodGhpcy5zZWNyZXQoKSxlKX0sS2V5UGFpci5wcm90b3R5cGUuZ2V0UHVibGljPWZ1bmN0aW9uKGUpe3JldHVybiB1dGlscy5lbmNvZGUodGhpcy5wdWJCeXRlcygpLGUpfSxtb2R1bGUuZXhwb3J0cz1LZXlQYWlyOw0KDQogIH0seyIuLi8uLi9lbGxpcHRpYyI6MTR9XSwyNjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBTaWduYXR1cmUoZSx0KXt0aGlzLmVkZHNhPWUsIm9iamVjdCIhPXR5cGVvZiB0JiYodD1wYXJzZUJ5dGVzKHQpKSxBcnJheS5pc0FycmF5KHQpJiYodD17Ujp0LnNsaWNlKDAsZS5lbmNvZGluZ0xlbmd0aCksUzp0LnNsaWNlKGUuZW5jb2RpbmdMZW5ndGgpfSksYXNzZXJ0KHQuUiYmdC5TLCJTaWduYXR1cmUgd2l0aG91dCBSIG9yIFMiKSxlLmlzUG9pbnQodC5SKSYmKHRoaXMuX1I9dC5SKSx0LlMgaW5zdGFuY2VvZiBCTiYmKHRoaXMuX1M9dC5TKSx0aGlzLl9SZW5jb2RlZD1BcnJheS5pc0FycmF5KHQuUik/dC5SOnQuUmVuY29kZWQsdGhpcy5fU2VuY29kZWQ9QXJyYXkuaXNBcnJheSh0LlMpP3QuUzp0LlNlbmNvZGVkfXZhciBCTj1yZXF1aXJlKCJibi5qcyIpLGVsbGlwdGljPXJlcXVpcmUoIi4uLy4uL2VsbGlwdGljIiksdXRpbHM9ZWxsaXB0aWMudXRpbHMsYXNzZXJ0PXV0aWxzLmFzc2VydCxjYWNoZWRQcm9wZXJ0eT11dGlscy5jYWNoZWRQcm9wZXJ0eSxwYXJzZUJ5dGVzPXV0aWxzLnBhcnNlQnl0ZXM7Y2FjaGVkUHJvcGVydHkoU2lnbmF0dXJlLCJTIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmRlY29kZUludCh0aGlzLlNlbmNvZGVkKCkpfSksY2FjaGVkUHJvcGVydHkoU2lnbmF0dXJlLCJSIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmRlY29kZVBvaW50KHRoaXMuUmVuY29kZWQoKSl9KSxjYWNoZWRQcm9wZXJ0eShTaWduYXR1cmUsIlJlbmNvZGVkIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmVuY29kZVBvaW50KHRoaXMuUigpKX0pLGNhY2hlZFByb3BlcnR5KFNpZ25hdHVyZSwiU2VuY29kZWQiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlSW50KHRoaXMuUygpKX0pLFNpZ25hdHVyZS5wcm90b3R5cGUudG9CeXRlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJlbmNvZGVkKCkuY29uY2F0KHRoaXMuU2VuY29kZWQoKSl9LFNpZ25hdHVyZS5wcm90b3R5cGUudG9IZXg9ZnVuY3Rpb24oKXtyZXR1cm4gdXRpbHMuZW5jb2RlKHRoaXMudG9CeXRlcygpLCJoZXgiKS50b1VwcGVyQ2FzZSgpfSxtb2R1bGUuZXhwb3J0cz1TaWduYXR1cmU7DQoNCiAgfSx7Ii4uLy4uL2VsbGlwdGljIjoxNCwiYm4uanMiOjR9XSwyNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIG1vZHVsZS5leHBvcnRzPXtkb3VibGVzOntzdGVwOjQscG9pbnRzOltbImU2MGZjZTkzYjU5ZTllYzUzMDExYWFiYzIxYzIzZTk3YjJhMzEzNjliODdhNWFlOWM0NGVlODllMmE2ZGVjMGEiLCJmN2UzNTA3Mzk5ZTU5NTkyOWRiOTlmMzRmNTc5MzcxMDEyOTY4OTFlNDRkMjNmMGJlMWYzMmNjZTY5NjE2ODIxIl0sWyI4MjgyMjYzMjEyYzYwOWQ5ZWEyYTZlM2UxNzJkZTIzOGQ4YzM5Y2FiZDVhYzFjYTEwNjQ2ZTIzZmQ1ZjUxNTA4IiwiMTFmOGE4MDk4NTU3ZGZlNDVlODI1NmU4MzBiNjBhY2U2MmQ2MTNhYzJmN2IxN2JlZDMxYjZlYWZmNmUyNmNhZiJdLFsiMTc1ZTE1OWY3MjhiODY1YTcyZjk5Y2M2YzZmYzg0NmRlMGI5MzgzM2ZkMjIyMmVkNzNmY2U1YjU1MWU1YjczOSIsImQzNTA2ZTBkOWUzYzc5ZWJhNGVmOTdhNTFmZjcxZjVlYWNiNTk1NWFkZDI0MzQ1YzZlZmE2ZmZlZTlmZWQ2OTUiXSxbIjM2M2Q5MGQ0NDdiMDBjOWM5OWNlYWMwNWI2MjYyZWUwNTM0NDFjN2U1NTU1MmZmZTUyNmJhZDhmODNmZjQ2NDAiLCI0ZTI3M2FkZmM3MzIyMjE5NTNiNDQ1Mzk3ZjMzNjMxNDViOWE4OTAwODE5OWVjYjYyMDAzYzdmM2JlZTlkZTkiXSxbIjhiNGI1ZjE2NWRmM2MyYmU4YzYyNDRiNWI3NDU2Mzg4NDNlNGE3ODFhMTViY2QxYjY5Zjc5YTU1ZGZmZGY4MGMiLCI0YWFkMGE2ZjY4ZDMwOGI0YjNmYmQ3ODEzYWIwZGEwNGY5ZTMzNjU0NjE2MmVlNTZiM2VmZjBjNjVmZDRmZDM2Il0sWyI3MjNjYmFhNmU1ZGI5OTZkNmJmNzcxYzAwYmQ1NDhjN2I3MDBkYmZmYTZjMGU3N2JjYjYxMTU5MjUyMzJmY2RhIiwiOTZlODY3YjU1OTVjYzQ5OGE5MjExMzc0ODg4MjRkNmUyNjYwYTA2NTM3Nzk0OTQ4MDFkYzA2OWQ5ZWIzOWY1ZiJdLFsiZWViZmE0ZDQ5M2JlYmY5OGJhNWZlZWM4MTJjMmQzYjUwOTQ3OTYxMjM3YTkxOTgzOWE1MzNlY2EwZTdkZDdmYSIsIjVkOWE4Y2EzOTcwZWYwZjI2OWVlN2VkYWYxNzgwODlkOWFlNGNkYzNhNzExZjcxMmRkZmQ0ZmRhZTFkZTg5OTkiXSxbIjEwMGY0NGRhNjk2ZTcxNjcyNzkxZDBhMDliN2JkZTQ1OWYxMjE1YTI5YjNjMDNiZmVmZDc4MzViMzlhNDhkYjAiLCJjZGQ5ZTEzMTkyYTAwYjc3MmVjOGYzMzAwYzA5MDY2NmI3ZmY0YTE4ZmY1MTk1YWMwZmJkNWNkNjJiYzY1YTA5Il0sWyJlMTAzMWJlMjYyYzdlZDFiMWRjOTIyN2E0YTA0YzAxN2E3N2Y4ZDQ0NjRmM2IzODUyYzhhY2RlNmU1MzRmZDJkIiwiOWQ3MDYxOTI4OTQwNDA1ZTZiYjZhNDE3NjU5NzUzNWFmMjkyZGQ0MTllMWNlZDc5YTQ0ZjE4ZjI5NDU2YTAwZCJdLFsiZmVlYTZjYWU0NmQ1NWI1MzBhYzI4MzlmMTQzYmQ3ZWM1Y2Y4YjI2NmE0MWQ2YWY1MmQ1ZTY4OGQ5MDk0Njk2ZCIsImU1N2M2YjZjOTdkY2UxYmFiMDZlNGUxMmJmM2VjZDVjOTgxYzg5NTdjYzQxNDQyZDMxNTVkZWJmMTgwOTAwODgiXSxbImRhNjdhOTFkOTEwNDljZGNiMzY3YmU0YmU2ZmZjYTNjZmVlZDY1N2Q4MDg1ODNkZTMzZmE5NzhiYzFlYzZjYjEiLCI5YmFjYWEzNTQ4MTY0MmJjNDFmNDYzZjdlYzk3ODBlNWRlYzdhZGM1MDhmNzQwYTE3ZTllYThlMjdhNjhiZTFkIl0sWyI1MzkwNGZhYTBiMzM0Y2RkYTZlMDAwOTM1ZWYyMjE1MWVjMDhkMGY3YmIxMTA2OWY1NzU0NWNjYzFhMzdiN2MwIiwiNWJjMDg3ZDBiYzgwMTA2ZDg4YzllY2NhYzIwZDNjMWMxMzk5OTk4MWUxNDQzNDY5OWRjYjA5NmIwMjI3NzFjOCJdLFsiOGU3YmNkMGJkMzU5ODNhNzcxOWNjYTc3NjRjYTkwNjc3OWI1M2EwNDNhOWI4YmNhZWZmOTU5ZjQzYWQ4NjA0NyIsIjEwYjc3NzBiMmEzZGE0YjM5NDAzMTA0MjBjYTk1MTQ1NzllODhlMmU0N2ZkNjhiM2VhMTAwNDdlODQ2MDM3MmEiXSxbIjM4NWVlZDM0YzFjZGZmMjFlNmQwODE4Njg5YjgxYmRlNzFhN2Y0ZjE4Mzk3ZTY2OTBhODQxZTE1OTljNDM4NjIiLCIyODNiZWJjM2U4ZWEyM2Y1NjcwMWRlMTllOWViZjQ1NzZiMzA0ZWVjMjA4NmRjOGNjMDQ1OGZlNTU0MmU1NDUzIl0sWyI2ZjlkOWI4MDNlY2YxOTE2MzdjNzNhNDQxM2RmYTE4MGZkZGY4NGE1OTQ3ZmJjOWM2MDZlZDg2YzNmYWMzYTciLCI3YzgwYzY4ZTYwMzA1OWJhNjliOGUyYTMwZTQ1YzRkNDdlYTRkZDJmNWMyODEwMDJkODY4OTA2MDNhODQyMTYwIl0sWyIzMzIyZDQwMTI0M2M0ZTI1ODJhMjE0N2MxMDRkNmVjYmY3NzRkMTYzZGIwZjVlNTMxM2I3ZTBlNzQyZDBlNmJkIiwiNTZlNzA3OTdlOTY2NGVmNWJmYjAxOWJjNGRkYWY5YjcyODA1ZjYzZWEyODczYWY2MjRmM2EyZTk2YzI4YjJhMCJdLFsiODU2NzJjN2QyZGUwYjdkYTJiZDE3NzBkODk2NjU4Njg3NDFiM2Y5YWY3NjQzMzk3NzIxZDc0ZDI4MTM0YWI4MyIsIjdjNDgxYjliNWI0M2IyZWI2Mzc0MDQ5YmZhNjJjMmU1ZTc3ZjE3ZmNjNTI5OGY0NGM4ZTMwOTRmNzkwMzEzYTYiXSxbIjk0OGJmODA5YjE5ODhhNDZiMDZjOWYxOTE5NDEzYjEwZjkyMjZjNjBmNjY4ODMyZmZkOTU5YWY2MGM4MmEwYSIsIjUzYTU2Mjg1NmRjYjY2NDZkYzZiNzRjNWQxYzM0MThjNmQ0ZGZmMDhjOTdjZDJiZWQ0Y2I3Zjg4ZDhjOGU1ODkiXSxbIjYyNjBjZTdmNDYxODAxYzM0ZjA2N2NlMGYwMjg3M2E4ZjFiMGU0NGRmYzY5NzUyYWNjZWNkODE5ZjM4ZmQ4ZTgiLCJiYzJkYTgyYjZmYTViNTcxYTdmMDkwNDk3NzZhMWVmN2VjZDI5MjIzODA1MWMxOThjMWE4NGU5NWIyYjRhZTE3Il0sWyJlNTAzN2RlMGFmYzFkOGQ0M2Q4MzQ4NDE0YmJmNDEwMzA0M2VjOGY1NzViZmRjNDMyOTUzY2M4ZDIwMzdmYTJkIiwiNDU3MTUzNGJhYTk0ZDNiNWY5Zjk4ZDA5ZmI5OTBiZGRiZDVmNWIwM2VjNDgxZjEwZTBlNWRjODQxZDc1NWJkYSJdLFsiZTA2MzcyYjBmNGEyMDdhZGY1ZWE5MDVlOGYxNzcxYjRlN2U4ZGJkMWM2YTZjNWI3MjU4NjZhMGFlNGZjZTcyNSIsIjdhOTA4OTc0YmNlMThjZmUxMmEyN2JiMmFkNWE0ODhjZDc0ODRhNzc4NzEwNDg3MGIyNzAzNGY5NGVlZTMxZGQiXSxbIjIxM2M3YTcxNWNkNWQ0NTM1OGQwYmJmOWRjMGNlMDIyMDRiMTBiZGRlMmEzZjU4NTQwYWQ2OTA4ZDA1NTk3NTQiLCI0YjZkYWQwYjVhZTQ2MjUwNzAxM2FkMDYyNDViYTE5MGJiNDg1MGY1ZjM2YTdlZWRkZmYyYzI3NTM0YjQ1OGYyIl0sWyI0ZTdjMjcyYTdhZjRiMzRlOGRiYjkzNTJhNTQxOWE4N2UyODM4YzcwYWRjNjJjZGRmMGNjM2EzYjA4ZmJkNTNjIiwiMTc3NDljNzY2YzlkMGIxOGUxNmZkMDlmNmRlZjY4MWI1MzBiOTYxNGJmZjdkZDMzZTBiMzk0MTgxN2RjYWFlNiJdLFsiZmVhNzRlM2RiZTc3OGIxYjEwZjIzOGFkNjE2ODZhYTVjNzZlM2RiMmJlNDMwNTc2MzI0MjdlMjg0MGZiMjdiNiIsIjZlMDU2OGRiOWIwYjEzMjk3Y2Y2NzRkZWNjYjZhZjkzMTI2YjU5NmI5NzNmN2I3NzcwMWQzZGI3ZjIzY2I5NmYiXSxbIjc2ZTY0MTEzZjY3N2NmMGUxMGEyNTcwZDU5OTk2OGQzMTU0NGUxNzliNzYwNDMyOTUyYzAyYTQ0MTdiZGRlMzkiLCJjOTBkZGY4ZGVlNGU5NWNmNTc3MDY2ZDcwNjgxZjBkMzVlMmEzM2QyYjU2ZDIwMzJiNGIxNzUyZDE5MDFhYzAxIl0sWyJjNzM4YzU2YjAzYjJhYmUxZTgyODFiYWE3NDNmOGY5YThmN2NjNjQzZGYyNmNiZWUzYWIxNTAyNDJiY2JiODkxIiwiODkzZmI1Nzg5NTFhZDI1MzdmNzE4ZjJlYWNiZmJiYmI4MjMxNGVlZjc4ODBjZmU5MTdlNzM1ZDk2OTlhODRjMyJdLFsiZDg5NTYyNjU0OGI2NWI4MWUyNjRjNzYzN2M5NzI4NzdkMWQ3MmU1ZjNhOTI1MDE0MzcyZTlmNjU4OGY2YzE0YiIsImZlYmZhYTM4ZjJiYzdlYWU3MjhlYzYwODE4YzM0MGViMDM0MjhkNjMyYmIwNjdlMTc5MzYzZWQ3NWQ3ZDk5MWYiXSxbImI4ZGE5NDAzMmE5NTc1MThlYjBmNjQzMzU3MWU4NzYxY2VmZmM3MzY5M2U4NGVkZDQ5MTUwYTU2NGY2NzZlMDMiLCIyODA0ZGZhNDQ4MDVhMWU0ZDdjOTljYzk3NjI4MDhiMDkyY2M1ODRkOTVmZjNiNTExNDg4ZTRlNzRlZmRmNmU3Il0sWyJlODBmZWExNDQ0MWZiMzNhN2Q4YWRhYjk0NzVkN2ZhYjIwMTllZmZiNTE1NmE3OTJmMWExMTc3OGUzYzBkZjVkIiwiZWVkMWRlN2Y2MzhlMDA3NzFlODk3NjhjYTNjYTk0NDcyZDE1NWU4MGFmMzIyZWE5ZmNiNDI5MWI2YWM5ZWM3OCJdLFsiYTMwMTY5N2JkZmNkNzA0MzEzYmE0OGU1MWQ1Njc1NDNmMmExODIwMzFlZmQ2OTE1ZGRjMDdiYmNjNGUxNjA3MCIsIjczNzBmOTFjZmI2N2U0ZjUwODE4MDlmYTI1ZDQwZjliMTczNWRiZjdjMGExMWExMzBjMGQxYTA0MWUxNzdlYTEiXSxbIjkwYWQ4NWIzODlkNmI5MzY0NjNmOWQwNTEyNjc4ZGUyMDhjYzMzMGIxMTMwN2ZmZmFiN2FjNjNlM2ZiMDRlZDQiLCJlNTA3YTM2MjBhMzgyNjFhZmZkY2JkOTQyNzIyMmI4MzlhZWZhYmUxNTgyODk0ZDk5MWQ0ZDQ4Y2I2ZWYxNTAiXSxbIjhmNjhiOWQyZjYzYjVmMzM5MjM5YzFhZDk4MWYxNjJlZTg4YzU2Nzg3MjNlYTMzNTFiN2I0NDRjOWVjNGMwZGEiLCI2NjJhOWYyZGJhMDYzOTg2ZGUxZDkwYzJiNmJlMjE1ZGJiZWEyY2ZlOTU1MTBiZmRmMjNjYmY3OTUwMWZmZjgyIl0sWyJlNGYzZmIwMTc2YWY4NWQ2NWZmOTlmZjkxOThjMzYwOTFmNDhlODY1MDM2ODFlM2U2Njg2ZmQ1MDUzMjMxZTExIiwiMWU2MzYzM2FkMGVmNGYxYzE2NjFhNmQwZWEwMmI3Mjg2Y2M3ZTc0ZWM5NTFkMWM5ODIyYzM4NTc2ZmViNzNiYyJdLFsiOGMwMGZhOWIxOGViZjMzMWViOTYxNTM3YTQ1YTQyNjZjNzAzNGYyZjBkNGUxZDA3MTZmYjZlYWUyMGVhZTI5ZSIsImVmYTQ3MjY3ZmVhNTIxYTFhOWRjMzQzYTM3MzZjOTc0YzJmYWRhZmE4MWUzNmM1NGU3ZDJhNGM2NjcwMjQxNGIiXSxbImU3YTI2Y2U2OWRkNDgyOWYzZTEwY2VjMGE5ZTk4ZWQzMTQzZDA4NGYzMDhiOTJjMDk5N2ZkZGZjNjBjYjNlNDEiLCIyYTc1OGUzMDBmYTc5ODRiNDcxYjAwNmExYWFmYmIxOGQwYTZiMmMwNDIwZTgzZTIwZThhOTQyMWNmMmNmZDUxIl0sWyJiNjQ1OWUwZWUzNjYyZWM4ZDIzNTQwYzIyM2JjYmRjNTcxY2JjYjk2N2Q3OTQyNGYzY2YyOWViM2RlNmI4MGVmIiwiNjdjODc2ZDA2ZjNlMDZkZTFkYWRmMTZlNTY2MWRiM2M0YjNhZTZkNDhlMzViMmZmMzBiZjBiNjFhNzFiYTQ1Il0sWyJkNjhhODBjODI4MGJiODQwNzkzMjM0YWExMThmMDYyMzFkNmYxZmM2N2U3M2M1YTVkZWRhMGY1YjQ5Njk0M2U4IiwiZGI4YmE5ZmZmNGI1ODZkMDBjNGIxZjkxNzdiMGUyOGI1YjBlN2I4Zjc4NDUyOTVhMjk0Yzg0MjY2YjEzMzEyMCJdLFsiMzI0YWVkN2RmNjVjODA0MjUyZGMwMjcwOTA3YTMwYjA5NjEyYWViOTczNDQ5Y2VhNDA5NTk4MGZjMjhkM2Q1ZCIsIjY0OGEzNjU3NzRiNjFmMmZmMTMwYzBjMzVhZWMxZjRmMTkyMTNiMGM3ZTMzMjg0Mzk2NzIyNGFmOTZhYjdjODQiXSxbIjRkZjljMTQ5MTljZGU2MWY2ZDUxZGZkYmU1ZmVlNWRjZWVjNDE0M2JhOGQxY2E4ODhlOGJkMzczZmQwNTRjOTYiLCIzNWVjNTEwOTJkODcyODA1MDk3NGMyM2ExZDg1ZDRiNWQ1MDZjZGMyODg0OTAxOTJlYmFjMDZjYWQxMGQ1ZCJdLFsiOWMzOTE5YTg0YTQ3NDg3MGZhZWQ4YTljMWNjNjYwMjE1MjM0ODkwNTRkN2YwMzA4Y2JmYzk5YzhhYzFmOThjZCIsImRkYjg0ZjBmNGE0ZGRkNTc1ODRmMDQ0YmYyNjBlNjQxOTA1MzI2Zjc2YzY0YzhlNmJlN2U1ZTAzZDRmYzU5OWQiXSxbIjYwNTcxNzBiMWRkMTJmZGY4ZGUwNWYyODFkOGUwNmJiOTFlMTQ5M2E4YjkxZDRjYzVhMjEzODIxMjBhOTU5ZTUiLCI5YTFhZjBiMjZhNmE0ODA3YWRkOWEyZGFmNzFkZjI2MjQ2NTE1MmJjM2VlMjRjNjVlODk5YmU5MzIzODVhMmE4Il0sWyJhNTc2ZGY4ZTIzYTA4NDExNDIxNDM5YTQ1MThkYTMxODgwY2VmMGZiYTdkNGRmMTJiMWE2OTczZWVjYjk0MjY2IiwiNDBhNmJmMjBlNzY2NDBiMmM5MmI5N2FmZTU4Y2Q4MmM0MzJlMTBhN2Y1MTRkOWYzZWU4YmUxMWFlMWIyOGVjOCJdLFsiNzc3OGE3OGMyOGRlYzNlMzBhMDVmZTk2MjlkZThjMzhiYjMwZDFmNWNmOWEzYTIwOGY3NjM4ODliZTU4YWQ3MSIsIjM0NjI2ZDlhYjVhNWIyMmZmNzA5OGUxMmYyZmY1ODAwODdiMzg0MTFmZjI0YWM1NjNiNTEzZmMxZmQ5ZjQzYWMiXSxbIjkyODk1NWVlNjM3YTg0NDYzNzI5ZmQzMGU3YWZkMmVkNWY5NjI3NGU1YWQ3ZTVjYjA5ZWRhOWMwNmQ5MDNhYyIsImMyNTYyMTAwM2QzZjQyYTgyN2I3OGExMzA5M2E5NWVlYWMzZDI2ZWZhOGE4ZDgzZmM1MTgwZTkzNWJjZDA5MWYiXSxbIjg1ZDBmZWYzZWM2ZGIxMDkzOTkwNjRmM2EwZTNiMjg1NTY0NWI0YTkwN2FkMzU0NTI3YWFlNzUxNjNkODI3NTEiLCIxZjAzNjQ4NDEzYTM4YzBiZTI5ZDQ5NmU1ODJjZjU2NjNlODc1MWU5Njg3NzMzMTU4MmMyMzdhMjRlYjFmOTYyIl0sWyJmZjJiMGRjZTk3ZWVjZTk3YzFjOWI2MDQxNzk4Yjg1ZGZkZmI2ZDg4ODJkYTIwMzA4ZjU0MDQ4MjQ1MjYwODdlIiwiNDkzZDEzZmVmNTI0YmExODhhZjRjNGRjNTRkMDc5MzZjN2I3ZWQ2ZmI5MGUyY2ViMmM5NTFlMDFmMGMyOTkwNyJdLFsiODI3ZmJiZTRiMWU4ODBlYTllZDJiMmU2MzAxYjIxMmI1N2YxZWUxNDhjZDZkZDI4NzgwZTVlMmNmODU2ZTI0MSIsImM2MGY5YzkyM2M3MjdiMGI3MWJlZjJjNjdkMWQxMjY4N2ZmN2E2MzE4NjkwMzE2NmQ2MDViNjhiYWVjMjkzZWMiXSxbImVhYTY0OWYyMWY1MWJkYmFlN2JlNGFlMzRjZTZlNTIxN2E1OGZkY2U3ZjQ3ZjlhYTdmM2I1OGZhMjEyMGUyYjMiLCJiZTMyNzllZDViYmJiMDNhYzY5YTgwZjg5ODc5YWE1YTAxYTZiOTY1ZjEzZjdlNTlkNDdhNTMwNWJhNWFkOTNkIl0sWyJlNGE0MmQ0M2M1Y2YxNjlkOTM5MWRmNmRlY2Y0MmVlNTQxYjZkOGYwYzlhMTM3NDAxZTIzNjMyZGRhMzRkMjRmIiwiNGQ5ZjkyZTcxNmQxYzczNTI2ZmM5OWNjZmI4YWQzNGNlODg2ZWVkZmE4ZDhlNGYxM2E3ZjcxMzFkZWJhOTQxNCJdLFsiMWVjODBmZWYzNjBjYmRkOTU0MTYwZmFkYWIzNTJiNmI5MmI1MzU3NmE4OGZlYTQ5NDcxNzNiOWQ0MzAwYmYxOSIsImFlZWZlOTM3NTZiNTM0MGQyZjNhNDk1OGE3YWJiZjVlMDE0NmU3N2Y2Mjk1YTA3YjY3MWNkYzFjYzEwN2NlZmQiXSxbIjE0NmE3NzhjMDQ2NzBjMmY5MWIwMGFmNDY4MGRmYThiY2UzNDkwNzE3ZDU4YmE4ODlkZGI1OTI4MzY2NjQyYmUiLCJiMzE4ZTBlYzMzNTQwMjhhZGQ2Njk4MjdmOWQ0YjI4NzBhYWE5NzFkMmY3ZTVlZDFkMGIyOTc0ODNkODNlZmQwIl0sWyJmYTUwYzBmNjFkMjJlNWYwN2UzYWNlYmIxYWEwN2IxMjhkMDAxMjIwOWEyOGI5Nzc2ZDc2YTg3OTMxODBlZWY5IiwiNmI4NGM2OTIyMzk3ZWJhOWI3MmNkMjg3MjI4MWE2OGE1ZTY4MzI5M2E1N2EyMTNiMzhjZDhkN2QzZjRmMjgxMSJdLFsiZGExZDYxZDBjYTcyMWExMWIxYTViZjZiN2Q4OGU4NDIxYTI4OGFiNWQ1YmJhNTIyMGU1M2QzMmI1ZjA2N2VjMiIsIjgxNTdmNTVhN2M5OTMwNmM3OWMwNzY2MTYxYzkxZTI5NjZhNzM4OTlkMjc5YjQ4YTY1NWZiYTBmMWFkODM2ZjEiXSxbImE4ZTI4MmZmMGM5NzA2OTA3MjE1ZmY5OGU4ZmQ0MTY2MTUzMTFkZTA0NDZmMWUwNjJhNzNiMDYxMGQwNjRlMTMiLCI3Zjk3MzU1YjhkYjgxYzA5YWJmYjdmM2M1YjI1MTU4ODhiNjc5YTNlNTBkZDZiZDZjZWY3YzczMTExZjRjYzBjIl0sWyIxNzRhNTNiOWM5YTI4NTg3MmQzOWU1NmU2OTEzY2FiMTVkNTliMWZhNTEyNTA4YzAyMmYzODJkZTgzMTk0OTdjIiwiY2NjOWRjMzdhYmZjOWMxNjU3YjQxNTVmMmM0N2Y5ZTY2NDZiM2ExZDhjYjk4NTQzODNkYTEzYWMwNzlhZmE3MyJdLFsiOTU5Mzk2OTgxOTQzNzg1YzNkM2U1N2VkZjUwMThjZGJlMDM5ZTczMGU0OTE4YjNkODg0ZmRmZjA5NDc1YjdiYSIsIjJlN2U1NTI4ODhjMzMxZGQ4YmEwMzg2YTRiOWNkNjg0OWM2NTNmNjRjODcwOTM4NWU5YjhhYmY4NzUyNGYyZmQiXSxbImQyYTYzYTUwYWU0MDFlNTZkNjQ1YTExNTNiMTA5YThmY2NhMGE0M2Q1NjFmYmEyZGJiNTEzNDBjOWQ4MmIxNTEiLCJlODJkODZmYjY0NDNmY2I3NTY1YWVlNThiMjk0ODIyMGE3MGY3NTBhZjQ4NGNhNTJkNDE0MjE3NGRjZjg5NDA1Il0sWyI2NDU4N2UyMzM1NDcxZWI4OTBlZTc4OTZkN2NmZGM4NjZiYWNiZGJkMzgzOTMxN2IzNDM2ZjliNDU2MTdlMDczIiwiZDk5ZmNkZDViZjY5MDJlMmFlOTZkZDY0NDdjMjk5YTE4NWI5MGEzOTEzM2FlYWIzNTgyOTllNWU5ZmFmNjU4OSJdLFsiODQ4MWJkZTBlNGU0ZDg4NWIzYTU0NmQzZTU0OWRlMDQyZjBhYTZjZWEyNTBlN2ZkMzU4ZDZjODZkZDQ1ZTQ1OCIsIjM4ZWU3YjhjYmE1NDA0ZGQ4NGEyNWJmMzljZWNiMmNhOTAwYTc5YzQyYjI2MmU1NTZkNjRiMWI1OTc3OTA1N2UiXSxbIjEzNDY0YTU3YTc4MTAyYWE2MmI2OTc5YWU4MTdmNDYzN2ZmY2ZlZDNjNGIxY2UzMGJjZDYzMDNmNmNhZjY2NmIiLCI2OWJlMTU5MDA0NjE0NTgwZWY3ZTQzMzQ1M2NjYjBjYTQ4ZjMwMGE4MWQwOTQyZTEzZjQ5NWE5MDdmNmVjYzI3Il0sWyJiYzRhOWRmNWI3MTNmZTJlOWFlZjQzMGJjYzFkYzk3YTBjZDljY2VkZTJmMjg1ODhjYWRhM2EwZDJkODNmMzY2IiwiZDNhODFjYTZlNzg1YzA2MzgzOTM3YWRmNGI3OThjYWE2ZThhOWZiZmE1NDdiMTZkNzU4ZDY2NjU4MWYzM2MxIl0sWyI4YzI4YTk3YmY4Mjk4YmMwZDIzZDhjNzQ5NDUyYTMyZTY5NGI2NWUzMGE5NDcyYTM5NTRhYjMwZmU1MzI0Y2FhIiwiNDBhMzA0NjNhMzMwNTE5MzM3OGZlZGYzMWY3Y2MwZWI3YWU3ODRmMDQ1MWNiOTQ1OWU3MWRjNzNjYmVmOTQ4MiJdLFsiOGVhOTY2NjEzOTUyN2E4YzFkZDk0Y2U0ZjA3MWZkMjNjOGIzNTBjNWE0YmIzMzc0OGM0YmExMTFmYWNjYWUwIiwiNjIwZWZhYmJjOGVlMjc4MmUyNGU3YzBjZmI5NWM1ZDczNWI3ODNiZTljZjBmOGU5NTVhZjM0YTMwZTYyYjk0NSJdLFsiZGQzNjI1ZmFlZjViYTA2MDc0NjY5NzE2YmJkMzc4OGQ4OWJkZGU4MTU5NTk5NjgwOTJmNzZjYzRlYjlhOTc4NyIsIjdhMTg4ZmEzNTIwZTMwZDQ2MWRhMjUwMTA0NTczMWNhOTQxNDYxOTgyODgzMzk1OTM3ZjY4ZDAwYzY0NGE1NzMiXSxbImY3MTBkNzlkOWViOTYyMjk3ZTRmNjIzMmI0MGU4ZjdmZWIyYmM2MzgxNDYxNGQ2OTJjMTJkZTc1MjQwODIyMWUiLCJlYTk4ZTY3MjMyZDNiMzI5NWQzYjUzNTUzMjExNWNjYWM4NjEyYzcyMTg1MTYxNzUyNmFlNDdhOWM3N2JmYzgyIl1dfSxuYWY6e3duZDo3LHBvaW50czpbWyJmOTMwOGEwMTkyNThjMzEwNDkzNDRmODVmODlkNTIyOWI1MzFjODQ1ODM2Zjk5YjA4NjAxZjExM2JjZTAzNmY5IiwiMzg4ZjdiMGY2MzJkZTgxNDBmZTMzN2U2MmEzN2YzNTY2NTAwYTk5OTM0YzIyMzFiNmNiOWZkNzU4NGI4ZTY3MiJdLFsiMmY4YmRlNGQxYTA3MjA5MzU1YjRhNzI1MGE1YzUxMjhlODhiODRiZGRjNjE5YWI3Y2JhOGQ1NjliMjQwZWZlNCIsImQ4YWMyMjI2MzZlNWUzZDZkNGRiYTlkZGE2YzljNDI2Zjc4ODI3MWJhYjBkNjg0MGRjYTg3ZDNhYTZhYzYyZDYiXSxbIjVjYmRmMDY0NmU1ZGI0ZWFhMzk4ZjM2NWYyZWE3YTBlM2Q0MTliN2UwMzMwZTM5Y2U5MmJkZGVkY2FjNGY5YmMiLCI2YWViY2E0MGJhMjU1OTYwYTMxNzhkNmQ4NjFhNTRkYmE4MTNkMGI4MTNmZGU3YjVhNTA4MjYyODA4NzI2NGRhIl0sWyJhY2Q0ODRlMmYwYzdmNjUzMDlhZDE3OGE5ZjU1OWFiZGUwOTc5Njk3NGM1N2U3MTRjMzVmMTEwZGZjMjdjY2JlIiwiY2MzMzg5MjFiMGE3ZDlmZDY0MzgwOTcxNzYzYjYxZTlhZGQ4ODhhNDM3NWY4ZTBmMDVjYzI2MmFjNjRmOWMzNyJdLFsiNzc0YWU3Zjg1OGE5NDExZTVlZjQyNDZiNzBjNjVhYWM1NjQ5OTgwYmU1YzE3ODkxYmJlYzE3ODk1ZGEwMDhjYiIsImQ5ODRhMDMyZWI2YjVlMTkwMjQzZGQ1NmQ3YjdiMzY1MzcyZGIxZTJkZmY5ZDZhODMwMWQ3NGM5Yzk1M2M2MWIiXSxbImYyODc3M2MyZDk3NTI4OGJjN2QxZDIwNWMzNzQ4NjUxYjA3NWZiYzY2MTBlNThjZGRlZWRkZjhmMTk0MDVhYTgiLCJhYjA5MDJlOGQ4ODBhODk3NTgyMTJlYjY1Y2RhZjQ3M2ExYTA2ZGE1MjFmYTkxZjI5YjVjYjUyZGIwM2VkODEiXSxbImQ3OTI0ZDRmN2Q0M2VhOTY1YTQ2NWFlMzA5NWZmNDExMzFlNTk0NmYzYzg1Zjc5ZTQ0YWRiY2Y4ZTI3ZTA4MGUiLCI1ODFlMjg3MmE4NmM3MmE2ODM4NDJlYzIyOGNjNmRlZmVhNDBhZjJiZDg5NmQzYTVjNTA0ZGM5ZmY2YTI2YjU4Il0sWyJkZWZkZWE0Y2RiNjc3NzUwYTQyMGZlZTgwN2VhY2YyMWViOTg5OGFlNzliOTc2ODc2NmU0ZmFhMDRhMmQ0YTM0IiwiNDIxMWFiMDY5NDYzNTE2OGU5OTdiMGVhZDJhOTNkYWVjZWQxZjRhMDRhOTVjMGY2Y2ZiMTk5ZjY5ZTU2ZWI3NyJdLFsiMmI0ZWEwYTc5N2E0NDNkMjkzZWY1Y2ZmNDQ0ZjQ5NzlmMDZhY2ZlYmQ3ZTg2ZDI3NzQ3NTY1NjEzODM4NWI2YyIsIjg1ZTg5YmMwMzc5NDVkOTNiMzQzMDgzYjVhMWM4NjEzMWEwMWY2MGM1MDI2OTc2M2I1NzBjODU0ZTVjMDliN2EiXSxbIjM1MmJiZjRhNGNkZDEyNTY0ZjkzZmEzMzJjZTMzMzMwMWQ5YWQ0MDI3MWY4MTA3MTgxMzQwYWVmMjViZTU5ZDUiLCIzMjFlYjQwNzUzNDhmNTM0ZDU5YzE4MjU5ZGRhM2UxZjRhMWIzYjJlNzFiMTAzOWM2N2JkM2Q4YmNmODE5OThjIl0sWyIyZmEyMTA0ZDZiMzhkMTFiMDIzMDAxMDU1OTg3OTEyNGU0MmFiOGRmZWZmNWZmMjlkYzljZGFkZDRlY2FjYzNmIiwiMmRlMTA2ODI5NWRkODY1YjY0NTY5MzM1YmQ1ZGQ4MDE4MWQ3MGVjZmM4ODI2NDg0MjNiYTc2YjUzMmI3ZDY3Il0sWyI5MjQ4Mjc5YjA5YjRkNjhkYWIyMWE5YjA2NmVkZGE4MzI2M2MzZDg0ZTA5NTcyZTI2OWNhMGNkN2Y1NDUzNzE0IiwiNzMwMTZmN2JmMjM0YWFkZTVkMWFhNzFiZGVhMmIxZmYzZmMwZGUyYTg4NzkxMmZmZTU0YTMyY2U5N2NiMzQwMiJdLFsiZGFlZDRmMmJlM2E4YmYyNzhlNzAxMzJmYjBiZWI3NTIyZjU3MGUxNDRiZjYxNWMwN2U5OTZkNDQzZGVlODcyOSIsImE2OWRjZTRhN2Q2Yzk4ZThkNGExYWNhODdlZjhkNzAwM2Y4M2MyMzBmM2FmYTcyNmFiNDBlNTIyOTBiZTFjNTUiXSxbImM0NGQxMmM3MDY1ZDgxMmU4YWNmMjhkN2NiYjE5ZjkwMTFlY2Q5ZTlmZGYyODFiMGU2YTNiNWU4N2QyMmU3ZGIiLCIyMTE5YTQ2MGNlMzI2Y2RjNzZjNDU5MjZjOTgyZmRhYzBlMTA2ZTg2MWVkZjYxYzVhMDM5MDYzZjBlMGU2NDgyIl0sWyI2YTI0NWJmNmRjNjk4NTA0Yzg5YTIwY2ZkZWQ2MDg1MzE1MmI2OTUzMzZjMjgwNjNiNjFjNjVjYmQyNjllNmI0IiwiZTAyMmNmNDJjMmJkNGE3MDhiM2Y1MTI2ZjE2YTI0YWQ4YjMzYmE0OGQwNDIzYjZlZmQ1ZTYzNDgxMDBkOGE4MiJdLFsiMTY5N2ZmYTZmZDlkZTYyN2MwNzdlM2QyZmU1NDEwODRjZTEzMzAwYjBiZWMxMTQ2Zjk1YWU1N2YwZDBiZDZhNSIsImI5YzM5OGYxODY4MDZmNWQyNzU2MTUwNmU0NTU3NDMzYTJjZjE1MDA5ZTQ5OGFlN2FkZWU5ZDYzZDAxYjIzOTYiXSxbIjYwNWJkYjAxOTk4MTcxOGI5ODZkMGYwN2U4MzRjYjBkOWRlYjgzNjBmZmI3ZjYxZGY5ODIzNDVlZjI3YTc0NzkiLCIyOTcyZDJkZTRmOGQyMDY4MWE3OGQ5M2VjOTZmZTIzYzI2YmZhZTg0ZmIxNGRiNDNiMDFlMWU5MDU2YjhjNDkiXSxbIjYyZDE0ZGFiNDE1MGJmNDk3NDAyZmRjNDVhMjE1ZTEwZGNiMDFjMzU0OTU5YjEwY2ZlMzFjN2U5ZDg3ZmYzM2QiLCI4MGZjMDZiZDhjYzViMDEwOTgwODhhMTk1MGVlZDBkYjAxYWExMzI5NjdhYjQ3MjIzNWY1NjQyNDgzYjI1ZWFmIl0sWyI4MGM2MGFkMDA0MGYyN2RhZGU1YjRiMDZjNDA4ZTU2YjJjNTBlOWY1NmI5YjhiNDI1ZTU1NWMyZjg2MzA4YjZmIiwiMWMzODMwM2YxY2M1YzMwZjI2ZTY2YmFkN2ZlNzJmNzBhNjVlZWQ0Y2JlNzAyNGViMWFhMDFmNTY0MzBiZDU3YSJdLFsiN2E5Mzc1YWQ2MTY3YWQ1NGFhNzRjNjM0OGNjNTRkMzQ0Y2M1ZGM5NDg3ZDg0NzA0OWQ1ZWFiYjBmYTAzYzhmYiIsImQwZTNmYTllY2E4NzI2OTA5NTU5ZTBkNzkyNjkwNDZiZGM1OWVhMTBjNzBjZTJiMDJkNDk5ZWMyMjRkYzdmNyJdLFsiZDUyOGVjZDliNjk2YjU0YzkwN2E5ZWQwNDU0NDdhNzliYjQwOGVjMzliNjhkZjUwNGJiNTFmNDU5YmMzZmZjOSIsImVlY2Y0MTI1MzEzNmU1Zjk5OTY2ZjIxODgxZmQ2NTZlYmM0MzQ1NDA1YzUyMGRiYzA2MzQ2NWI1MjE0MDk5MzMiXSxbIjQ5MzcwYTRiNWY0MzQxMmVhMjVmNTE0ZThlY2RhZDA1MjY2MTE1ZTRhN2VjYjEzODcyMzE4MDhmOGI0NTk2MyIsIjc1OGYzZjQxYWZkNmVkNDI4YjMwODFiMDUxMmZkNjJhNTRjM2YzYWZiYjViNjc2NGI2NTMwNTJhMTI5NDljOWEiXSxbIjc3ZjIzMDkzNmVlODhjYmJkNzNkZjkzMGQ2NDcwMmVmODgxZDgxMWUwZTE0OThlMmYxYzEzZWIxZmMzNDVkNzQiLCI5NThlZjQyYTc4ODZiNjQwMGEwODI2NmU5YmExYjM3ODk2Yzk1MzMwZDk3MDc3Y2JiZThlYjNjNzY3MWM2MGQ2Il0sWyJmMmRhYzk5MWNjNGNlNGI5ZWE0NDg4N2U1YzdjMGJjZTU4YzgwMDc0YWI5ZDRkYmFlYjI4NTMxYjc3MzlmNTMwIiwiZTBkZWRjOWIzYjJmOGRhZDRkYTFmMzJkZWMyNTMxZGY5ZWI1ZmJlYjA1OThlNGZkMWExMTdkYmE3MDNhM2MzNyJdLFsiNDYzYjNkOWY2NjI2MjFmYjFiNGJlOGZiYmUyNTIwMTI1YTIxNmNkZmM5ZGFlM2RlYmNiYTQ4NTBjNjkwZDQ1YiIsIjVlZDQzMGQ3OGMyOTZjMzU0MzExNDMwNmRkODYyMmQ3YzYyMmUyN2M5NzBhMWRlMzFjYjM3N2IwMWFmNzMwN2UiXSxbImYxNmY4MDQyNDRlNDZlMmEwOTIzMmQ0YWZmM2I1OTk3NmI5OGZhYzE0MzI4YTJkMWEzMjQ5NmI0OTk5OGYyNDciLCJjZWRhYmQ5YjgyMjAzZjdlMTNkMjA2ZmNkZjRlMzNkOTJhNmM1M2MyNmU1Y2NlMjZkNjU3OTk2MmM0ZTMxZGY2Il0sWyJjYWY3NTQyNzJkYzg0NTYzYjAzNTJiN2ExNDMxMWFmNTVkMjQ1MzE1YWNlMjdjNjUzNjllMTVmNzE1MWQ0MWQxIiwiY2I0NzQ2NjBlZjM1ZjVmMmE0MWI2NDNmYTVlNDYwNTc1ZjRmYTliNzk2MjIzMmE1YzMyZjkwODMxOGEwNDQ3NiJdLFsiMjYwMGNhNGIyODJjYjk4NmY4NWQwZjE3MDk5NzlkOGI0NGEwOWMwN2NiODZkN2MxMjQ0OTdiYzg2ZjA4MjEyMCIsIjQxMTliODg3NTNjMTViZDZhNjkzYjAzZmNkZGJiNDVkNWFjNmJlNzRhYjVmMGVmNDRiMGJlOTQ3NWE3ZTRiNDAiXSxbIjc2MzVjYTcyZDdlODQzMmMzMzhlYzUzY2QxMjIyMGJjMDFjNDg2ODVlMjRmN2RjOGM2MDJhNzc0Njk5OGU0MzUiLCI5MWI2NDk2MDk0ODlkNjEzZDFkNWU1OTBmNzhlNmQ3NGVjZmMwNjFkNTcwNDhiYWQ5ZTc2ZjMwMmM1YjljNjEiXSxbIjc1NGUzMjM5ZjMyNTU3MGNkYmJmNGE4N2RlZWU4YTY2YjdmMmIzMzQ3OWQ0NjhmYmMxYTUwNzQzYmY1NmNjMTgiLCI2NzNmYjg2ZTViZGEzMGZiM2NkMGVkMzA0ZWE0OWEwMjNlZTMzZDAxOTdhNjk1ZDBjNWQ5ODA5M2M1MzY2ODMiXSxbImUzZTZiZDEwNzFhMWU5NmFmZjU3ODU5YzgyZDU3MGYwMzMwODAwNjYxZDFjOTUyZjlmZTI2OTQ2OTFkOWI5ZTgiLCI1OWM5ZTBiYmEzOTRlNzZmNDBjMGFhNTgzNzlhM2NiNmE1YTIyODM5OTNlOTBjNDE2NzAwMmFmNDkyMGUzN2Y1Il0sWyIxODZiNDgzZDA1NmEwMzM4MjZhZTczZDg4ZjczMjk4NWM0Y2NiMWYzMmJhMzVmNGI0Y2M0N2ZkY2YwNGFhNmViIiwiM2I5NTJkMzJjNjdjZjc3ZTJlMTc0NDZlMjA0MTgwYWIyMWZiODA5MDg5NTEzOGI0YTRhNzk3Zjg2ZTgwODg4YiJdLFsiZGY5ZDcwYTZiOTg3NmNlNTQ0Yzk4NTYxZjRiZTRmNzI1NDQyZTZkMmI3MzdkOWM5MWE4MzIxNzI0Y2UwOTYzZiIsIjU1ZWIyZGFmZDg0ZDZjY2Q1Zjg2MmI3ODVkYzM5ZDRhYjE1NzIyMjcyMGVmOWRhMjE3YjhjNDVjZjJiYTI0MTciXSxbIjVlZGQ1Y2MyM2M1MWU4N2E0OTdjYTgxNWQ1ZGNlMGY4YWI1MjU1NGY4NDllZDg5OTVkZTY0YzVmMzRjZTcxNDMiLCJlZmFlOWM4ZGJjMTQxMzA2NjFlOGNlYzAzMGM4OWFkMGMxM2M2NmMwZDE3YTI5MDVjZGM3MDZhYjczOTlhODY4Il0sWyIyOTA3OThjMmI2NDc2ODMwZGExMmZlMDIyODdlOWU3NzdhYTNmYmExYzM1NWIxN2E3MjJkMzYyZjg0NjE0ZmJhIiwiZTM4ZGE3NmRjZDQ0MDYyMTk4OGQwMGJjZjc5YWYyNWQ1YjI5YzA5NGRiMmEyMzE0NmQwMDNhZmQ0MTk0M2U3YSJdLFsiYWYzYzQyM2E5NWQ5ZjViMzA1NDc1NGVmYTE1MGFjMzljZDI5NTUyZmUzNjAyNTczNjJkZmRlY2VmNDA1M2I0NSIsImY5OGEzZmQ4MzFlYjJiNzQ5YTkzYjBlNmYzNWNmYjQwYzhjZDVhYTY2N2ExNTU4MWJjMmZlZGVkNDk4ZmQ5YzYiXSxbIjc2NmRiYjI0ZDEzNGU3NDVjY2NhYTI4Yzk5YmYyNzQ5MDZiYjY2YjI2ZGNmOThkZjhkMmZlZDUwZDg4NDI0OWEiLCI3NDRiMTE1MmVhY2JlNWUzOGRjYzg4Nzk4MGRhMzhiODk3NTg0YTY1ZmEwNmNlZGQyYzkyNGY5N2NiYWM1OTk2Il0sWyI1OWRiZjQ2ZjhjOTQ3NTliYTIxMjc3YzMzNzg0ZjQxNjQ1ZjdiNDRmNmM1OTZhNThjZTkyZTY2NjE5MWFiZTNlIiwiYzUzNGFkNDQxNzVmYmMzMDBmNGVhNmNlNjQ4MzA5YTA0MmNlNzM5YTc5MTk3OThjZDg1ZTIxNmM0YTMwN2Y2ZSJdLFsiZjEzYWRhOTUxMDNjNDUzNzMwNWU2OTFlNzRlOWE0YThkZDY0N2U3MTFhOTVlNzNjYjYyZGM2MDE4Y2ZkODdiOCIsImUxMzgxN2I0NGVlMTRkZTY2M2JmNGJjODA4MzQxZjMyNjk0OWUyMWE2YTc1YzI1NzA3Nzg0MTliZGFmNTczM2QiXSxbIjc3NTRiNGZhMGU4YWNlZDA2ZDQxNjdhMmM1OWNjYTRjZGExODY5YzA2ZWJhZGZiNjQ4ODU1MDAxNWE4ODUyMmMiLCIzMGU5M2U4NjRlNjY5ZDgyMjI0Yjk2N2MzMDIwYjhmYThkMWU0ZTM1MGI2Y2JjYzUzN2E0OGI1Nzg0MTE2M2EyIl0sWyI5NDhkY2FkZjU5OTBlMDQ4YWEzODc0ZDQ2YWJlZjlkNzAxODU4Zjk1ZGU4MDQxZDJhNjgyOGM5OWUyMjYyNTE5IiwiZTQ5MWE0MjUzN2Y2ZTU5N2Q1ZDI4YTMyMjRiMWJjMjVkZjkxNTRlZmJkMmVmMWQyY2JiYTJjYWU1MzQ3ZDU3ZSJdLFsiNzk2MjQxNDQ1MGM3NmMxNjg5YzdiNDhmODIwMmVjMzdmYjIyNGNmNWFjMGJmYTE1NzAzMjhhOGEzZDdjNzdhYiIsIjEwMGI2MTBlYzRmZmI0NzYwZDVjMWZjMTMzZWY2ZjZiMTI1MDdhMDUxZjA0YWM1NzYwYWZhNWIyOWRiODM0MzciXSxbIjM1MTQwODc4MzQ5NjRiNTRiMTViMTYwNjQ0ZDkxNTQ4NWExNjk3NzIyNWI4ODQ3YmIwZGQwODUxMzdlYzQ3Y2EiLCJlZjBhZmJiMjA1NjIwNTQ0OGUxNjUyYzQ4ZTgxMjdmYzYwMzllNzdjMTVjMjM3OGI3ZTdkMTVhMGRlMjkzMzExIl0sWyJkM2NjMzBhZDZiNDgzZTRiYzc5Y2UyYzlkZDhiYzU0OTkzZTk0N2ViOGRmNzg3YjQ0Mjk0M2QzZjdiNTI3ZWFmIiwiOGIzNzhhMjJkODI3Mjc4ZDg5YzVlOWJlOGY5NTA4YWUzYzJhZDQ2MjkwMzU4NjMwYWZiMzRkYjA0ZWVkZTBhNCJdLFsiMTYyNGQ4NDc4MDczMjg2MGNlMWM3OGZjYmZlZmUwOGIyYjI5ODIzZGI5MTNmNjQ5Mzk3NWJhMGZmNDg0NzYxMCIsIjY4NjUxY2Y5YjZkYTkwM2UwOTE0NDQ4YzZjZDlkNGNhODk2ODc4ZjUyODJiZTRjOGNjMDZlMmE0MDQwNzg1NzUiXSxbIjczM2NlODBkYTk1NWE4YTI2OTAyYzk1NjMzZTYyYTk4NTE5MjQ3NGI1YWYyMDdkYTZkZjdiNGZkNWZjNjFjZDQiLCJmNTQzNWEyYmQyYmFkZjdkNDg1YTRkOGI4ZGI5ZmNjZTNlMWVmOGUwMjAxZTQ1NzhjNTQ2NzNiYzFkYzVlYTFkIl0sWyIxNWQ5NDQxMjU0OTQ1MDY0Y2YxYTFjMzNiYmQzYjQ5Zjg5NjZjNTA5MjE3MWU2OTllZjI1OGRmYWI4MWMwNDVjIiwiZDU2ZWIzMGI2OTQ2M2U3MjM0ZjUxMzdiNzNiODQxNzc0MzQ4MDBiYWNlYmZjNjg1ZmMzN2JiZTllZmU0MDcwZCJdLFsiYTFkMGZjZjJlYzlkZTY3NWI2MTIxMzZlNWNlNzBkMjcxYzIxNDE3YzlkMmI4YWFhYWMxMzg1OTlkMDcxNzk0MCIsImVkZDc3ZjUwYmNiNWEzY2FiMmU5MDczNzMwOTY2N2YyNjQxNDYyYTU0MDcwZjNkNTE5MjEyZDM5YzE5N2E2MjkiXSxbImUyMmZiZTE1YzBhZjhjY2M1NzgwYzA3MzVmODRkYmU5YTc5MGJhZGVlODI0NWMwNmM3Y2EzNzMzMWNiMzY5ODAiLCJhODU1YmFiYWQ1Y2Q2MGM4OGI0MzBhNjlmNTNhMWE3YTM4Mjg5MTU0OTY0Nzk5YmU0M2QwNmQ3N2QzMWRhMDYiXSxbIjMxMTA5MWRkOTg2MGU4ZTIwZWUxMzQ3M2MxMTU1ZjVmNjk2MzVlMzk0NzA0ZWFhNzQwMDk0NTIyNDZjZmE5YjMiLCI2NmRiNjU2Zjg3ZDFmMDRmZmZkMWYwNDc4OGMwNjgzMDg3MWVjNWE2NGZlZWU2ODViZDgwZjBiMTI4NmQ4Mzc0Il0sWyIzNGMxZmQwNGQzMDFiZTg5YjMxYzA0NDJkM2U2YWMyNDg4MzkyOGI0NWE5MzQwNzgxODY3ZDQyMzJlYzJkYmRmIiwiOTQxNDY4NWU5N2IxYjU5NTRiZDQ2ZjczMDE3NDEzNmQ1N2YxY2VlYjQ4NzQ0M2RjNTMyMTg1N2JhNzNhYmVlIl0sWyJmMjE5ZWE1ZDZiNTQ3MDFjMWMxNGRlNWI1NTdlYjQyYThkMTNmM2FiYmNkMDhhZmZjYzJhNWU2YjA0OWI4ZDYzIiwiNGNiOTU5NTdlODNkNDBiMGY3M2FmNDU0NGNjY2Y2YjFmNGIwOGQzYzA3YjI3ZmI4ZDhjMjk2MmE0MDA3NjZkMSJdLFsiZDdiODc0MGY3NGE4ZmJhYWIxZjY4M2RiOGY0NWRlMjY1NDNhNTQ5MGJjYTYyNzA4NzIzNjkxMjQ2OWEwYjQ0OCIsImZhNzc5NjgxMjhkOWM5MmVlMTAxMGYzMzdhZDQ3MTdlZmYxNWRiNWVkM2MwNDliMzQxMWUwMzE1ZWFhNDU5M2IiXSxbIjMyZDMxYzIyMmY4ZjZmMGVmODZmN2M5OGQzYTMzMzVlYWQ1YmNkMzJhYmRkOTQyODlmZTRkMzA5MWFhODI0YmYiLCI1ZjMwMzJmNTg5MjE1NmUzOWNjZDNkNzkxNWI5ZTFkYTJlNmRhYzllNmYyNmU5NjExMThkMTRiODQ2MmUxNjYxIl0sWyI3NDYxZjM3MTkxNGFiMzI2NzEwNDVhMTU1ZDk4MzFlYTg3OTNkNzdjZDU5NTkyYzQzNDBmODZjYmMxODM0N2I1IiwiOGVjMGJhMjM4Yjk2YmVjMGNiZGRkY2FlMGFhNDQyNTQyZWVlMWZmNTBjOTg2ZWE2YjM5ODQ3YjNjYzA5MmZmNiJdLFsiZWUwNzlhZGIxZGYxODYwMDc0MzU2YTI1YWEzODIwNmE2ZDcxNmIyYzNlNjc0NTNkMjg3Njk4YmFkN2IyYjJkNiIsIjhkYzI0MTJhYWZlM2JlNWM0YzVmMzdlMGVjYzVmOWY2YTQ0Njk4OWFmMDRjNGUyNWViYWFjNDc5ZWMxYzhjMWUiXSxbIjE2ZWM5M2U0NDdlYzgzZjA0NjdiMTgzMDJlZTYyMGY3ZTY1ZGUzMzE4NzRjOWRjNzJiZmQ4NjE2YmE5ZGE2YjUiLCI1ZTQ2MzExNTBlNjJmYjQwZDBlOGMyYTdjYTU4MDRhMzlkNTgxODZhNTBlNDk3MTM5NjI2Nzc4ZTI1YjA2NzRkIl0sWyJlYWE1Zjk4MGMyNDVmNmYwMzg5NzgyOTBhZmE3MGI2YmQ4ODU1ODk3Zjk4YjZhYTQ4NWI5NjA2NWQ1MzdiZDk5IiwiZjY1ZjVkM2UyOTJjMmUwODE5YTUyODM5MWM5OTQ2MjRkNzg0ODY5ZDdlNmVhNjdmYjE4MDQxMDI0ZWRjMDdkYyJdLFsiNzhjOTQwNzU0NGFjMTMyNjkyZWUxOTEwYTAyNDM5OTU4YWUwNDg3NzE1MTM0MmVhOTZjNGI2YjM1YTQ5ZjUxIiwiZjNlMDMxOTE2OWViOWI4NWQ1NDA0Nzk1NTM5YTVlNjhmYTFmYmQ1ODNjMDY0ZDI0NjJiNjc1ZjE5NGEzZGRiNCJdLFsiNDk0ZjRiZTIxOWExYTc3MDE2ZGNkODM4NDMxYWVhMDAwMWNkYzhhZTdhNmZjNjg4NzI2NTc4ZDk3MDI4NTdhNSIsIjQyMjQyYTk2OTI4M2E1ZjMzOWJhN2YwNzVlMzZiYTJhZjkyNWNlMzBkNzY3ZWQ2ZTU1ZjRiMDMxODgwZDU2MmMiXSxbImE1OThhODAzMGRhNmQ4NmM2YmM3ZjJmNTE0NGVhNTQ5ZDI4MjExZWE1OGZhYTcwZWJmNGMxZTY2NWMxZmU5YjUiLCIyMDRiNWQ2Zjg0ODIyYzMwN2U0YjRhNzE0MDczN2FlYzIzZmM2M2I2NWIzNWY4NmExMDAyNmRiZDJkODY0ZTZiIl0sWyJjNDE5MTYzNjVhYmIyYjVkMDkxOTJmNWYyZGJlYWZlYzIwOGYwMjBmMTI1NzBhMTg0ZGJhZGMzZTU4NTk1OTk3IiwiNGYxNDM1MWQwMDg3ZWZhNDlkMjQ1YjMyODk4NDk4OWQ1Y2FmOTQ1MGYzNGJmYzBlZDE2ZTk2YjU4ZmE5OTEzIl0sWyI4NDFkNjA2M2E1ODZmYTQ3NWE3MjQ2MDRkYTAzYmM1YjkyYTJlMGQyZTBhMzZhY2ZlNGM3M2E1NTE0NzQyODgxIiwiNzM4NjdmNTljMDY1OWU4MTkwNGY5YTFjNzU0MzY5OGU2MjU2MmQ2NzQ0YzE2OWNlN2EzNmRlMDFhOGQ2MTU0Il0sWyI1ZTk1YmIzOTlhNjk3MWQzNzYwMjY5NDdmODliZGUyZjI4MmIzMzgxMDkyOGJlNGRlZDExMmFjNGQ3MGUyMGQ1IiwiMzlmMjNmMzY2ODA5MDg1YmVlYmZjNzExODEzMTM3NzVhOTljOWFlZDdkOGJhMzhiMTYxMzg0Yzc0NjAxMjg2NSJdLFsiMzZlNDY0MWE1Mzk0OGZkNDc2YzM5ZjhhOTlmZDk3NGU1ZWMwNzU2NGI1MzE1ZDhiZjk5NDcxYmNhMGVmMmY2NiIsImQyNDI0YjFiMWFiZTRlYjgxNjQyMjdiMDg1YzlhYTk0NTZlYTEzNDkzZmQ1NjNlMDZmZDUxY2Y1Njk0Yzc4ZmMiXSxbIjMzNjU4MWVhN2JmYmJiMjkwYzE5MWEyZjUwN2E0MWNmNTY0Mzg0MjE3MGU5MTRmYWVhYjI3YzJjNTc5ZjcyNiIsImVhZDEyMTY4NTk1ZmUxYmU5OTI1MjEyOWI2ZTU2YjMzOTFmN2FiMTQxMGNkMWUwZWYzZGNkY2FiZDJmZGEyMjQiXSxbIjhhYjg5ODE2ZGFkZmQ2YjZhMWYyNjM0ZmNmMDBlYzg0MDM3ODEwMjVlZDY4OTBjNDg0OTc0MjcwNmJkNDNlZGUiLCI2ZmRjZWYwOWYyZjZkMGEwNDRlNjU0YWVmNjI0MTM2ZjUwM2Q0NTljM2U4OTg0NTg1OGE0N2E5MTI5Y2RkMjRlIl0sWyIxZTMzZjFhNzQ2YzljNTc3ODEzMzM0NGQ5Mjk5ZmNhYTIwYjA5MzhlOGFjZmYyNTQ0YmI0MDI4NGI4YzVmYjk0IiwiNjA2NjAyNTdkZDExYjNhYTljOGVkNjE4ZDI0ZWRmZjIzMDZkMzIwZjFkMDMwMTBlMzNhN2QyMDU3ZjNiM2I2Il0sWyI4NWI3YzFkY2IzY2VjMWI3ZWU3ZjMwZGVkNzlkZDIwYTBlZDFmNGNjMThjYmNmY2ZhNDEwMzYxZmQ4ZjA4ZjMxIiwiM2Q5OGE5Y2RkMDI2ZGQ0M2YzOTA0OGYyNWE4ODQ3ZjRmY2FmYWQxODk1ZDdhNjMzYzZmZWQzYzM1ZTk5OTUxMSJdLFsiMjlkZjlmYmQ4ZDllNDY1MDkyNzVmNGIxMjVkNmQ0NWQ3ZmJlOWEzYjg3OGE3YWY4NzJhMjgwMDY2MWFjNWY1MSIsImI0YzRmZTk5Yzc3NWE2MDZlMmQ4ODYyMTc5MTM5ZmZkYTYxZGM4NjFjMDE5ZTU1Y2QyODc2ZWIyYTI3ZDg0YiJdLFsiYTBiMWNhZTA2YjBhODQ3YTNmZWE2ZTY3MWFhZjhhZGZkZmU1OGNhMmY3NjgxMDVjODA4MmIyZTQ0OWZjZTI1MiIsImFlNDM0MTAyZWRkZTA5NThlYzRiMTlkOTE3YTZhMjhlNmI3MmRhMTgzNGFmZjBlNjUwZjA0OTUwM2EyOTZjZjIiXSxbIjRlOGNlYWZiOWIzZTlhMTM2ZGM3ZmY2N2U4NDAyOTViNDk5ZGZiM2IyMTMzZTRiYTExM2YyZTRjMGUxMjFlNSIsImNmMjE3NDExOGM4YjZkN2E0YjQ4ZjZkNTM0Y2U1Yzc5NDIyYzA4NmE2MzQ2MDUwMmI4MjdjZTYyYTMyNjY4M2MiXSxbImQyNGE0NGUwNDdlMTliNmY1YWZiODFjN2NhMmY2OTA4MGE1MDc2Njg5YTAxMDkxOWY0MjcyNWMyYjc4OWEzM2IiLCI2ZmI4ZDU1OTFiNDY2ZjhmYzYzZGI1MGYxYzBmMWM2OTAxM2Y5OTY4ODdiODI0NGQyY2RlYzQxN2FmZWE4ZmEzIl0sWyJlYTAxNjA2YTdhNmM5Y2RkMjQ5ZmRmY2ZhY2I5OTU4NDAwMWVkZDI4YWJiYWI3N2I1MTA0ZTk4ZThlM2IzNWQ0IiwiMzIyYWY0OTA4YzczMTJiMGNmYmZlMzY5ZjdhN2IzY2RiN2Q0NDk0YmMyODIzNzAwY2ZkNjUyMTg4YTNlYTk4ZCJdLFsiYWY4YWRkYmYyYjY2MWM4YTZjNjMyODY1NWViOTY2NTEyNTIwMDdkOGM1ZWEzMWJlNGFkMTk2ZGU4Y2UyMTMxZiIsIjY3NDllNjdjMDI5Yjg1ZjUyYTAzNGVhZmQwOTY4MzZiMjUyMDgxODY4MGUyNmFjOGYzZGZiY2RiNzE3NDk3MDAiXSxbImUzYWUxOTc0NTY2Y2EwNmNjNTE2ZDQ3ZTBmYjE2NWE2NzRhM2RhYmNmY2ExNWU3MjJmMGUzNDUwZjQ1ODg5IiwiMmFlYWJlN2U0NTMxNTEwMTE2MjE3ZjA3YmY0ZDA3MzAwZGU5N2U0ODc0ZjgxZjUzMzQyMGE3MmVlYjBiZDZhNCJdLFsiNTkxZWUzNTUzMTNkOTk3MjFjZjY5OTNmZmVkMWUzZTMwMTk5M2ZmM2VkMjU4ODAyMDc1ZWE4Y2VkMzk3ZTI0NiIsImIwZWE1NThhMTEzYzMwYmVhNjBmYzQ3NzU0NjBjNzkwMWZmMGIwNTNkMjVjYTJiZGVlZTk4ZjFhNGJlNWQxOTYiXSxbIjExMzk2ZDU1ZmRhNTRjNDlmMTlhYTk3MzE4ZDhkYTYxZmE4NTg0ZTQ3YjA4NDk0NTA3N2NmMDMyNTViNTI5ODQiLCI5OThjNzRhOGNkNDVhYzAxMjg5ZDU4MzNhN2JlYjQ3NDRmZjUzNmIwMWIyNTdiZTRjNTc2N2JlYTkzZWE1N2E0Il0sWyIzYzVkMmExYmEzOWM1YTE3OTAwMDA3MzhjOWUwYzQwYjhkY2RmZDU0Njg3NTRiNjQwNTU0MDE1N2UwMTdhYTdhIiwiYjIyODQyNzk5OTVhMzRlMmY5ZDRkZTczOTZmYzE4YjgwZjliOGI5ZmRkMjcwZjY2NjFmNzljYTRjODFiZDI1NyJdLFsiY2M4NzA0YjhhNjBhMGRlZmEzYTk5YTcyOTlmMmU5YzNmYmMzOTVhZmIwNGFjMDc4NDI1ZWY4YTE3OTNjYzAzMCIsImJkZDQ2MDM5ZmVlZDE3ODgxZDFlMDg2MmRiMzQ3ZjhjZjM5NWI3NGZjNGJjZGM0ZTk0MGI3NGUzYWMxZjFiMTMiXSxbImM1MzNlNGY3ZWE4NTU1YWFjZDk3NzdhYzVjYWQyOWI5N2RkNGRlZmNjYzUzZWU3ZWEyMDQxMTliMjg4OWIxOTciLCI2ZjBhMjU2YmM1ZWZkZjQyOWEyZmI2MjQyZjFhNDNhMmQ5YjkyNWJiNGE0YjNhMjZiYjhlMGY0NWViNTk2MDk2Il0sWyJjMTRmOGYyY2NiMjdkNmYxMDlmNmQwOGQwM2NjOTZhNjliYThjMzRlZWMwN2JiY2Y1NjZkNDhlMzNkYTY1OTMiLCJjMzU5ZDY5MjNiYjM5OGY3ZmQ0NDczZTE2ZmUxYzI4NDc1Yjc0MGRkMDk4MDc1ZTZjMGU4NjQ5MTEzZGMzYTM4Il0sWyJhNmNiYzMwNDZiYzZhNDUwYmFjMjQ3ODlmYTE3MTE1YTRjOTczOWVkNzVmOGYyMWNlNDQxZjcyZTBiOTBlNmVmIiwiMjFhZTdmNDY4MGU4ODliYjEzMDYxOWUyYzBmOTVhMzYwY2ViNTczYzcwNjAzMTM5ODYyYWZkNjE3ZmE5YjlmIl0sWyIzNDdkNmQ5YTAyYzQ4OTI3ZWJmYjg2YzEzNTliMWNhZjEzMGEzYzAyNjdkMTFjZTYzNDRiMzlmOTlkNDNjYzM4IiwiNjBlYTdmNjFhMzUzNTI0ZDFjOTg3ZjZlY2VjOTJmMDg2ZDU2NWFiNjg3ODcwY2IxMjY4OWZmMWUzMWM3NDQ0OCJdLFsiZGE2NTQ1ZDIxODFkYjhkOTgzZjdkY2IzNzVlZjU4NjZkNDdjNjdiMWJmMzFjOGNmODU1ZWY3NDM3YjcyNjU2YSIsIjQ5Yjk2NzE1YWI2ODc4YTc5ZTc4ZjA3Y2U1NjgwYzVkNjY3MzA1MWI0OTM1YmQ4OTdmZWE4MjRiNzdkYzIwOGEiXSxbImM0MDc0N2NjOWQwMTJjYjFhMTNiODE0ODMwOWM2ZGU3ZWMyNWQ2OTQ1ZDY1NzE0NmI5ZDU5OTRiOGZlYjExMTEiLCI1Y2E1NjA3NTNiZTJhMTJmYzZkZTZjYWYyY2I0ODk1NjVkYjkzNjE1NmI5NTE0ZTFiYjVlODMwMzdlMGZhMmQ0Il0sWyI0ZTQyYzhlYzgyYzk5Nzk4Y2NmM2E2MTBiZTg3MGU3ODMzOGM3ZjcxMzM0OGJkMzRjODIwM2VmNDAzN2YzNTAyIiwiNzU3MWQ3NGVlNWUwZmI5MmE3YThiMzNhMDc3ODMzNDFhNTQ5MjE0NGNjNTRiY2M0MGE5NDQ3MzY5MzYwNjQzNyJdLFsiMzc3NWFiNzA4OWJjNmFmODIzYWJhMmUxYWY3MGIyMzZkMjUxY2FkYjBjODY3NDMyODc1MjJhMWIzYjBkZWRlYSIsImJlNTJkMTA3YmNmYTA5ZDhiY2I5NzM2YTgyOGNmYTdmYWM4ZGIxN2JmN2E3NmEyYzQyYWQ5NjE0MDkwMThjZjciXSxbImNlZTMxY2JmN2UzNGVjMzc5ZDk0ZmI4MTRkM2Q3NzVhZDk1NDU5NWQxMzE0YmE4ODQ2OTU5ZTNlODJmNzRlMjYiLCI4ZmQ2NGExNGMwNmI1ODljMjZiOTQ3YWUyYmNmNmJmYTAxNDllZjBiZTE0ZWQ0ZDgwZjQ0OGEwMWM0M2IxYzZkIl0sWyJiNGY5ZWFlYTA5YjY5MTc2MTlmNmVhNmE0ZWI1NDY0ZWZkZGI1OGZkNDViMWViZWZjZGMxYTAxZDA4YjQ3OTg2IiwiMzllNWM5OTI1YjVhNTRiMDc0MzNhNGYxOGM2MTcyNmY4YmIxMzFjMDEyY2E1NDJlYjI0YThhYzA3MjAwNjgyYSJdLFsiZDQyNjNkZmMzZDJkZjkyM2EwMTc5YTQ4OTY2ZDMwY2U4NGUyNTE1YWZjM2RjY2MxYjc3OTA3NzkyZWJjYzYwZSIsIjYyZGZhZjA3YTBmNzhmZWIzMGUzMGQ2Mjk1ODUzY2UxODllMTI3NzYwYWQ2Y2Y3ZmFlMTY0ZTEyMmEyMDhkNTQiXSxbIjQ4NDU3NTI0ODIwZmE2NWE0ZjhkMzVlYjY5MzA4NTdjMDAzMmFjYzBhNGEyZGU0MjIyMzNlZWRhODk3NjEyYzQiLCIyNWE3NDhhYjM2Nzk3OWQ5ODczM2MzOGExZmExYzJlN2RjNmNjMDdkYjJkNjBhOWFlN2E3NmFhYTQ5YmQwZjc3Il0sWyJkZmVlZWYxODgxMTAxZjJjYjExNjQ0ZjNhMmFmZGZjMjA0NWUxOTkxOTE1MjkyM2YzNjdhMTc2N2MxMWNjZWRhIiwiZWNmYjcwNTZjZjFkZTA0MmY5NDIwYmFiMzk2NzkzYzBjMzkwYmRlNzRiNGJiZGZmMTZhODNhZTA5YTlhNzUxNyJdLFsiNmQ3ZWY2YjE3NTQzZjgzNzNjNTczZjQ0ZTFmMzg5ODM1ZDg5YmNiYzYwNjJjZWQzNmM4MmRmODNiOGZhZTg1OSIsImNkNDUwZWMzMzU0Mzg5ODZkZmVmYTEwYzU3ZmVhOWJjYzUyMWEwOTU5YjJkODBiYmY3NGIxOTBkY2E3MTJkMTAiXSxbImU3NTYwNWQ1OTEwMmE1YTI2ODQ1MDBkM2I5OTFmMmUzZjNjODhiOTMyMjU1NDcwMzVhZjI1YWY2NmUwNDU0MWYiLCJmNWM1NDc1NGE4ZjcxZWU1NDBiOWI0ODcyODQ3M2UzMTRmNzI5YWM1MzA4YjA2OTM4MzYwOTkwZTJiZmFkMTI1Il0sWyJlYjk4NjYwZjRjNGRmYWEwNmEyYmU0NTNkNTAyMGJjOTlhMGMyZTYwYWJlMzg4NDU3ZGQ0M2ZlZmIxZWQ2MjBjIiwiNmNiOWE4ODc2ZDljYjg1MjA2MDlhZjNhZGQyNmNkMjBhMGE3Y2Q4YTk0MTExMzFjZTg1ZjQ0MTAwMDk5MjIzZSJdLFsiMTNlODdiMDI3ZDg1MTRkMzU5MzlmMmU2ODkyYjE5OTIyMTU0NTk2OTQxODg4MzM2ZGMzNTYzZTNiOGRiYTk0MiIsImZlZjVhM2M2ODA1OWE2ZGVjNWQ2MjQxMTRiZjFlOTFhYWMyYjlkYTU2OGQ2YWJlYjI1NzBkNTU2NDZiOGFkZjEiXSxbImVlMTYzMDI2ZTlmZDZmZTAxN2MzOGYwNmE1YmU2ZmMxMjU0MjRiMzcxY2UyNzA4ZTdiZjQ0OTE2OTFlNTc2NGEiLCIxYWNiMjUwZjI1NWRkNjFjNDNkOTRjY2M2NzBkMGY1OGY0OWFlM2ZhMTViOTY2MjNlNTQzMGRhMGFkNmM2MmIyIl0sWyJiMjY4ZjVlZjlhZDUxZTRkNzhkZTNhNzUwYzJkYzg5YjFlNjI2ZDQzNTA1ODY3OTk5OTMyZTVkYjMzYWYzZDgwIiwiNWYzMTBkNGIzYzk5YjllYmIxOWY3N2Q0MWMxZGVlMDE4Y2YwZDM0ZmQ0MTkxNjE0MDAzZTk0NWExMjE2ZTQyMyJdLFsiZmYwN2YzMTE4YTlkZjAzNWU5ZmFkODVlYjZjN2JmZTQyYjAyZjAxY2E5OWNlZWEzYmY3ZmZkYmE5M2M0NzUwZCIsIjQzODEzNmQ2MDNlODU4YTNhNWM0NDBjMzhlY2NiYWRkYzFkMjk0MjExNGUyZWRkZDQ3NDBkMDk4Y2VkMWYwZDgiXSxbIjhkOGI5ODU1YzdjMDUyYTM0MTQ2ZmQyMGZmYjY1OGJlYTRiOWY2OWUwZDgyNWViZWMxNmU4YzNjZTJiNTI2YTEiLCJjZGI1NTllZWRjMmQ3OWY5MjZiYWY0NGZiODRlYTRkNDRiY2Y1MGZlZTUxZDdjZWIzMGUyZTdmNDYzMDM2NzU4Il0sWyI1MmRiMGI1Mzg0ZGZiZjA1YmZhOWQ0NzJkN2FlMjZkZmU0Yjg1MWNlY2E5MWIxZWJhNTQyNjMxODBkYTMyYjYzIiwiYzNiOTk3ZDA1MGVlNWQ0MjNlYmFmNjZhNmRiOWY1N2IzMTgwYzkwMjg3NTY3OWRlOTI0YjY5ZDg0YTdiMzc1Il0sWyJlNjJmOTQ5MGQzZDUxZGE2Mzk1ZWZkMjRlODA5MTljYzdkMGYyOWMzZjNmYTQ4YzZmZmY1NDNiZWNiZDQzMzUyIiwiNmQ4OWFkN2JhNDg3NmIwYjIyYzJjYTI4MGM2ODI4NjJmMzQyYzg1OTFmMWRhZjUxNzBlMDdiZmQ5Y2NhZmE3ZCJdLFsiN2YzMGVhMjQ3NmIzOTliNDk1NzUwOWM4OGY3N2QwMTkxYWZhMmZmNWNiN2IxNGZkNmQ4ZTdkNjVhYWFiMTE5MyIsImNhNWVmN2Q0YjIzMWM5NGMzYjE1Mzg5YTVmNjMxMWU5ZGFmZjdiYjY3YjEwM2U5ODgwZWY0YmZmNjM3YWNhZWMiXSxbIjUwOThmZjFlMWQ5ZjE0ZmI0NmEyMTBmYWRhNmM5MDNmZWYwZmI3YjRhMWRkMWQ5YWM2MGEwMzYxODAwYjdhMDAiLCI5NzMxMTQxZDgxZmM4ZjgwODRkMzdjNmU3NTQyMDA2YjNlZTFiNDBkNjBkZmU1MzYyYTViMTMyZmQxN2RkYzAiXSxbIjMyYjc4YzdkZTllZTUxMmE3Mjg5NWJlNmI5Y2JlZmE2ZTJmM2M0Y2NjZTQ0NWM5NmI5ZjJjODFlMjc3OGFkNTgiLCJlZTE4NDlmNTEzZGY3MWUzMmVmYzM4OTZlZTI4MjYwYzczYmI4MDU0N2FlMjI3NWJhNDk3MjM3Nzk0Yzg3NTNjIl0sWyJlMmNiNzRmZGRjOGU5ZmJjZDA3NmVlZjJhN2M3MmIwY2UzN2Q1MGYwODI2OWRmYzA3NGI1ODE1NTA1NDdhNGY3IiwiZDNhYTJlZDcxYzlkZDIyNDdhNjJkZjA2MjczNmViMGJhZGRlYTllMzYxMjJkMmJlODY0MWFiY2IwMDVjYzRhNCJdLFsiODQzODQ0NzU2NmQ0ZDdiZWRhZGMyOTk0OTZhYjM1NzQyNjAwOWEzNWYyMzVjYjE0MWJlMGQ5OWNkMTBhZTNhOCIsImM0ZTEwMjA5MTY5ODBhNGRhNWQwMWFjNWU2YWQzMzA3MzRlZjBkNzkwNjYzMWM0ZjIzOTA0MjZiMmVkZDc5MWYiXSxbIjQxNjJkNDg4Yjg5NDAyMDM5YjU4NGM2ZmM2YzMwODg3MDU4N2Q5YzQ2ZjY2MGI4NzhhYjY1YzgyYzcxMWQ2N2UiLCI2NzE2M2U5MDMyMzYyODlmNzc2ZjIyYzI1ZmI4YTNhZmMxNzMyZjJiODRiNGU5NWRiZGE0N2FlNWEwODUyNjQ5Il0sWyIzZmFkM2ZhODRjYWYwZjM0ZjBmODliZmQyZGNmNTRmYzE3NWQ3NjdhZWMzZTUwNjg0ZjNiYTRhNGJmNWY2ODNkIiwiY2QxYmM3Y2I2Y2M0MDdiYjJmMGNhNjQ3YzcxOGE3MzBjZjcxODcyZTdkMGQyYTUzZmEyMGVmY2RmZTYxODI2Il0sWyI2NzRmMjYwMGEzMDA3YTAwNTY4YzFhN2NlMDVkMDgxNmMxZmI4NGJmMTM3MDc5OGYxYzY5NTMyZmFlYjFhODZiIiwiMjk5ZDIxZjk0MTNmMzNiM2VkZjQzYjI1NzAwNDU4MGI3MGRiNTdkYTBiMTgyMjU5ZTA5ZWVjYzY5ZTBkMzhhNSJdLFsiZDMyZjRkYTU0YWRlNzRhYmI4MWI4MTVhZDFmYjNiMjYzZDgyZDZjNjkyNzE0YmNmZjg3ZDI5YmQ1ZWU5ZjA4ZiIsImY5NDI5ZTczOGI4ZTUzYjk2OGU5OTAxNmMwNTk3MDc3ODJlMTRmNDUzNTM1OWQ1ODJmYzQxNjkxMGIzZWVhODciXSxbIjMwZTRlNjcwNDM1Mzg1NTU2ZTU5MzY1NzEzNTg0NWQzNmZiYjY5MzFmNzJiMDhjYjFlZDk1NGYxZTNjZTNmZjYiLCI0NjJmOWJjZTYxOTg5ODYzODQ5OTM1MDExM2JiYzliMTBhODc4ZDM1ZGE3MDc0MGRjNjk1YTU1OWViODhkYjdiIl0sWyJiZTIwNjIwMDNjNTFjYzMwMDQ2ODI5MDQzMzBlNGRlZTdmM2RjZDEwYjAxZTU4MGJmMTk3MWIwNGQ0Y2FkMjk3IiwiNjIxODhiYzQ5ZDYxZTU0Mjg1NzNkNDhhNzRlMWM2NTViMWM2MTA5MDkwNTY4MmEwZDU1NThlZDcyZGNjYjliYyJdLFsiOTMxNDQ0MjNhY2UzNDUxZWQyOWUwZmI5YWMyYWYyMTFjYjZlODRhNjAxZGY1OTkzYzQxOTg1OWZmZjVkZjA0YSIsIjdjMTBkZmIxNjRjMzQyNWY1YzcxYTNmOWQ3OTkyMDM4ZjEwNjUyMjRmNzJiYjlkMWQ5MDJhNmQxMzAzN2I0N2MiXSxbImIwMTVmODA0NGY1ZmNiZGNmMjFjYTI2ZDZjMzRmYjgxOTc4MjkyMDVjN2I3ZDJhN2NiNjY0MThjMTU3YjExMmMiLCJhYjhjMWUwODZkMDRlODEzNzQ0YTY1NWIyZGY4ZDVmODNiM2NkYzZmYWEzMDg4YzFkM2FlYTE0NTRlM2ExZDVmIl0sWyJkNWU5ZTFkYTY0OWQ5N2Q4OWU0ODY4MTE3YTQ2NWEzYTRmOGExOGRlNTdhMTQwZDM2YjNmMmFmMzQxYTIxYjUyIiwiNGNiMDQ0MzdmMzkxZWQ3MzExMWExM2NjMWQ0ZGQwZGIxNjkzNDY1YzIyNDA0ODBkODk1NWU4NTkyZjI3NDQ3YSJdLFsiZDNhZTQxMDQ3ZGQ3Y2EwNjVkYmY4ZWQ3N2I5OTI0Mzk5ODMwMDVjZDcyZTE2ZDZmOTk2YTUzMTZkMzY5NjZiYiIsImJkMWFlYjIxYWQyMmViYjIyYTEwZjAzMDM0MTdjNmQ5NjRmOGNkZDdkZjBhY2E2MTRiMTBkYzE0ZDEyNWFjNDYiXSxbIjQ2M2UyNzYzZDg4NWY5NThmYzY2Y2RkMjI4MDBmMGE0ODcxOTdkMGE4MmUzNzdiNDlmODBhZjg3Yzg5N2IwNjUiLCJiZmVmYWNkYjBlNWQwZmQ3ZGYzYTMxMWE5NGRlMDYyYjI2YjgwYzYxZmJjOTc1MDhiNzk5OTI2NzFlZjdjYTdmIl0sWyI3OTg1ZmRmZDEyN2MwNTY3YzZmNTNlYzFiYjYzZWMzMTU4ZTU5N2M0MGJmZTc0N2M4M2NkZGZjOTEwNjQxOTE3IiwiNjAzYzEyZGFmM2Q5ODYyZWYyYjI1ZmUxZGUyODlhZWQyNGVkMjkxZTBlYzY3MDg3MDNhNWJkNTY3ZjMyZWQwMyJdLFsiNzRhMWFkNmI1Zjc2ZTM5ZGIyZGQyNDk0MTBlYWM3Zjk5ZTc0YzU5Y2I4M2QyZDBlZDVmZjE1NDNkYTc3MDNlOSIsImNjNjE1N2VmMThjOWM2M2NkNjE5M2Q4MzYzMWJiZWEwMDkzZTA5Njg5NDJlOGMzM2Q1NzM3ZmQ3OTBlMGRiMDgiXSxbIjMwNjgyYTUwNzAzMzc1ZjYwMmQ0MTY2NjRiYTE5YjdmYzliYWI0MmM3Mjc0NzQ2M2E3MWQwODk2YjIyZjZkYTMiLCI1NTNlMDRmNmIwMThiNGZhNmM4ZjM5ZTdmMzExZDMxNzYyOTBkMGUwZjE5Y2E3M2YxNzcxNGQ5OTc3YTIyZmY4Il0sWyI5ZTIxNThmMGQ3YzBkNWYyNmMzNzkxZWZlZmE3OTU5NzY1NGU3YTJiMjQ2NGY1MmIxZWU2YzEzNDc3NjllZjU3IiwiNzEyZmNkZDFiOTA1M2YwOTAwM2EzNDgxZmE3NzYyZTlmZmQ3YzhlZjM1YTM4NTA5ZTJmYmYyNjI5MDA4MzczIl0sWyIxNzZlMjY5ODlhNDNjOWNmZWJhNDAyOWMyMDI1MzhjMjgxNzJlNTY2ZTNjNGZjZTczMjI4NTdmM2JlMzI3ZDY2IiwiZWQ4Y2M5ZDA0YjI5ZWI4NzdkMjcwYjQ4NzhkYzQzYzE5YWVmZDMxZjRlZWUwOWVlN2I0NzgzNGMxZmE0YjFjMyJdLFsiNzVkNDZlZmVhMzc3MWU2ZTY4YWJiODlhMTNhZDc0N2VjZjE4OTIzOTNkZmM0ZjFiNzAwNDc4OGM1MDM3NGRhOCIsIjk4NTIzOTBhOTk1MDc2NzlmZDBiODZmZDJiMzlhODY4ZDdlZmMyMjE1MTM0NmUxYTNjYTQ3MjY1ODZhNmJlZDgiXSxbIjgwOWEyMGM2N2Q2NDkwMGZmYjY5OGM0YzgyNWY2ZDVmMjMxMGZiMDQ1MWM4NjkzNDViNzMxOWY2NDU2MDU3MjEiLCI5ZTk5NDk4MGQ5OTE3ZTIyYjc2YjA2MTkyN2ZhMDQxNDNkMDk2Y2NjNTQ5NjNlNmE1ZWJmYTVmM2Y4ZTI4NmMxIl0sWyIxYjM4OTAzYTQzZjdmMTE0ZWQ0NTAwYjRlYWM3MDgzZmRlZmVjZTFjZjI5YzYzNTI4ZDU2MzQ0NmY5NzJjMTgwIiwiNDAzNmVkYzkzMWE2MGFlODg5MzUzZjc3ZmQ1M2RlNGEyNzA4YjI2YjZmNWRhNzJhZDMzOTQxMTlkYWY0MDhmOSJdXX19Ow0KDQogIH0se31dLDI4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIGdldE5BRih0LHIpe2Zvcih2YXIgaT1bXSxuPTE8PHIrMSxlPXQuY2xvbmUoKTtlLmNtcG4oMSk+PTA7KXt2YXIgcztpZihlLmlzT2RkKCkpe3ZhciB1PWUuYW5kbG4obi0xKTtzPXU+KG4+PjEpLTE/KG4+PjEpLXU6dSxlLmlzdWJuKHMpfWVsc2Ugcz0wO2kucHVzaChzKTtmb3IodmFyIGw9MCE9PWUuY21wbigwKSYmMD09PWUuYW5kbG4obi0xKT9yKzE6MSxvPTE7bzxsO28rKylpLnB1c2goMCk7ZS5pdXNocm4obCl9cmV0dXJuIGl9ZnVuY3Rpb24gZ2V0SlNGKHQscil7dmFyIGk9W1tdLFtdXTt0PXQuY2xvbmUoKSxyPXIuY2xvbmUoKTtmb3IodmFyIG49MCxlPTA7dC5jbXBuKC1uKT4wfHxyLmNtcG4oLWUpPjA7KXt2YXIgcz10LmFuZGxuKDMpK24mMyx1PXIuYW5kbG4oMykrZSYzOzM9PT1zJiYocz0tMSksMz09PXUmJih1PS0xKTt2YXIgbDtsPTA9PSgxJnMpPzA6MyE9PShhPXQuYW5kbG4oNykrbiY3KSYmNSE9PWF8fDIhPT11P3M6LXMsaVswXS5wdXNoKGwpO3ZhciBvO2lmKDA9PSgxJnUpKW89MDtlbHNle3ZhciBhPXIuYW5kbG4oNykrZSY3O289MyE9PWEmJjUhPT1hfHwyIT09cz91Oi11fWlbMV0ucHVzaChvKSwyKm49PT1sKzEmJihuPTEtbiksMiplPT09bysxJiYoZT0xLWUpLHQuaXVzaHJuKDEpLHIuaXVzaHJuKDEpfXJldHVybiBpfWZ1bmN0aW9uIGNhY2hlZFByb3BlcnR5KHQscixpKXt2YXIgbj0iXyIrcjt0LnByb3RvdHlwZVtyXT1mdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzW25dP3RoaXNbbl06dGhpc1tuXT1pLmNhbGwodGhpcyl9fWZ1bmN0aW9uIHBhcnNlQnl0ZXModCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3V0aWxzLnRvQXJyYXkodCwiaGV4Iik6dH1mdW5jdGlvbiBpbnRGcm9tTEUodCl7cmV0dXJuIG5ldyBCTih0LCJoZXgiLCJsZSIpfXZhciB1dGlscz1leHBvcnRzLEJOPXJlcXVpcmUoImJuLmpzIiksbWluQXNzZXJ0PXJlcXVpcmUoIm1pbmltYWxpc3RpYy1hc3NlcnQiKSxtaW5VdGlscz1yZXF1aXJlKCJtaW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzIik7dXRpbHMuYXNzZXJ0PW1pbkFzc2VydCx1dGlscy50b0FycmF5PW1pblV0aWxzLnRvQXJyYXksdXRpbHMuemVybzI9bWluVXRpbHMuemVybzIsdXRpbHMudG9IZXg9bWluVXRpbHMudG9IZXgsdXRpbHMuZW5jb2RlPW1pblV0aWxzLmVuY29kZSx1dGlscy5nZXROQUY9Z2V0TkFGLHV0aWxzLmdldEpTRj1nZXRKU0YsdXRpbHMuY2FjaGVkUHJvcGVydHk9Y2FjaGVkUHJvcGVydHksdXRpbHMucGFyc2VCeXRlcz1wYXJzZUJ5dGVzLHV0aWxzLmludEZyb21MRT1pbnRGcm9tTEU7DQoNCiAgfSx7ImJuLmpzIjo0LCJtaW5pbWFsaXN0aWMtYXNzZXJ0Ijo2MywibWluaW1hbGlzdGljLWNyeXB0by11dGlscyI6NjR9XSwyOTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIG1vZHVsZS5leHBvcnRzPXsNCiAgICAiX2FyZ3MiOiBbDQogICAgICBbDQogICAgICAgICJlbGxpcHRpY0A2LjQuMCIsDQogICAgICAgICIvVXNlcnMvaGRyZXdlcy9Eb2N1bWVudHMvREVWL0V0aGVyZXVtSlMvYnJvd3Nlci1idWlsZHMiDQogICAgICBdDQogICAgXSwNCiAgICAiX2Zyb20iOiAiZWxsaXB0aWNANi40LjAiLA0KICAgICJfaWQiOiAiZWxsaXB0aWNANi40LjAiLA0KICAgICJfaW5CdW5kbGUiOiBmYWxzZSwNCiAgICAiX2ludGVncml0eSI6ICJzaGExLXlzbXZoMkxJV0RZWWNBUEkzK0dUNWVMcTVkOD0iLA0KICAgICJfbG9jYXRpb24iOiAiL2VsbGlwdGljIiwNCiAgICAiX3BoYW50b21DaGlsZHJlbiI6IHt9LA0KICAgICJfcmVxdWVzdGVkIjogew0KICAgICAgInR5cGUiOiAidmVyc2lvbiIsDQogICAgICAicmVnaXN0cnkiOiB0cnVlLA0KICAgICAgInJhdyI6ICJlbGxpcHRpY0A2LjQuMCIsDQogICAgICAibmFtZSI6ICJlbGxpcHRpYyIsDQogICAgICAiZXNjYXBlZE5hbWUiOiAiZWxsaXB0aWMiLA0KICAgICAgInJhd1NwZWMiOiAiNi40LjAiLA0KICAgICAgInNhdmVTcGVjIjogbnVsbCwNCiAgICAgICJmZXRjaFNwZWMiOiAiNi40LjAiDQogICAgfSwNCiAgICAiX3JlcXVpcmVkQnkiOiBbDQogICAgICAiL2Jyb3dzZXJpZnktc2lnbiIsDQogICAgICAiL2NyZWF0ZS1lY2RoIiwNCiAgICAgICIvc2VjcDI1NmsxIg0KICAgIF0sDQogICAgIl9yZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9lbGxpcHRpYy8tL2VsbGlwdGljLTYuNC4wLnRneiIsDQogICAgIl9zcGVjIjogIjYuNC4wIiwNCiAgICAiX3doZXJlIjogIi9Vc2Vycy9oZHJld2VzL0RvY3VtZW50cy9ERVYvRXRoZXJldW1KUy9icm93c2VyLWJ1aWxkcyIsDQogICAgImF1dGhvciI6IHsNCiAgICAgICJuYW1lIjogIkZlZG9yIEluZHV0bnkiLA0KICAgICAgImVtYWlsIjogImZlZG9yQGluZHV0bnkuY29tIg0KICAgIH0sDQogICAgImJ1Z3MiOiB7DQogICAgICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L2VsbGlwdGljL2lzc3VlcyINCiAgICB9LA0KICAgICJkZXBlbmRlbmNpZXMiOiB7DQogICAgICAiYm4uanMiOiAiXjQuNC4wIiwNCiAgICAgICJicm9yYW5kIjogIl4xLjAuMSIsDQogICAgICAiaGFzaC5qcyI6ICJeMS4wLjAiLA0KICAgICAgImhtYWMtZHJiZyI6ICJeMS4wLjAiLA0KICAgICAgImluaGVyaXRzIjogIl4yLjAuMSIsDQogICAgICAibWluaW1hbGlzdGljLWFzc2VydCI6ICJeMS4wLjAiLA0KICAgICAgIm1pbmltYWxpc3RpYy1jcnlwdG8tdXRpbHMiOiAiXjEuMC4wIg0KICAgIH0sDQogICAgImRlc2NyaXB0aW9uIjogIkVDIGNyeXB0b2dyYXBoeSIsDQogICAgImRldkRlcGVuZGVuY2llcyI6IHsNCiAgICAgICJicmZzIjogIl4xLjQuMyIsDQogICAgICAiY292ZXJhbGxzIjogIl4yLjExLjMiLA0KICAgICAgImdydW50IjogIl4wLjQuNSIsDQogICAgICAiZ3J1bnQtYnJvd3NlcmlmeSI6ICJeNS4wLjAiLA0KICAgICAgImdydW50LWNsaSI6ICJeMS4yLjAiLA0KICAgICAgImdydW50LWNvbnRyaWItY29ubmVjdCI6ICJeMS4wLjAiLA0KICAgICAgImdydW50LWNvbnRyaWItY29weSI6ICJeMS4wLjAiLA0KICAgICAgImdydW50LWNvbnRyaWItdWdsaWZ5IjogIl4xLjAuMSIsDQogICAgICAiZ3J1bnQtbW9jaGEtaXN0YW5idWwiOiAiXjMuMC4xIiwNCiAgICAgICJncnVudC1zYXVjZWxhYnMiOiAiXjguNi4yIiwNCiAgICAgICJpc3RhbmJ1bCI6ICJeMC40LjIiLA0KICAgICAgImpzY3MiOiAiXjIuOS4wIiwNCiAgICAgICJqc2hpbnQiOiAiXjIuNi4wIiwNCiAgICAgICJtb2NoYSI6ICJeMi4xLjAiDQogICAgfSwNCiAgICAiZmlsZXMiOiBbDQogICAgICAibGliIg0KICAgIF0sDQogICAgImhvbWVwYWdlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L2VsbGlwdGljIiwNCiAgICAia2V5d29yZHMiOiBbDQogICAgICAiRUMiLA0KICAgICAgIkVsbGlwdGljIiwNCiAgICAgICJjdXJ2ZSIsDQogICAgICAiQ3J5cHRvZ3JhcGh5Ig0KICAgIF0sDQogICAgImxpY2Vuc2UiOiAiTUlUIiwNCiAgICAibWFpbiI6ICJsaWIvZWxsaXB0aWMuanMiLA0KICAgICJuYW1lIjogImVsbGlwdGljIiwNCiAgICAicmVwb3NpdG9yeSI6IHsNCiAgICAgICJ0eXBlIjogImdpdCIsDQogICAgICAidXJsIjogImdpdCtzc2g6Ly9naXRAZ2l0aHViLmNvbS9pbmR1dG55L2VsbGlwdGljLmdpdCINCiAgICB9LA0KICAgICJzY3JpcHRzIjogew0KICAgICAgImpzY3MiOiAianNjcyBiZW5jaG1hcmtzLyouanMgbGliLyouanMgbGliLyoqLyouanMgbGliLyoqLyoqLyouanMgdGVzdC9pbmRleC5qcyIsDQogICAgICAianNoaW50IjogImpzY3MgYmVuY2htYXJrcy8qLmpzIGxpYi8qLmpzIGxpYi8qKi8qLmpzIGxpYi8qKi8qKi8qLmpzIHRlc3QvaW5kZXguanMiLA0KICAgICAgImxpbnQiOiAibnBtIHJ1biBqc2NzICYmIG5wbSBydW4ganNoaW50IiwNCiAgICAgICJ0ZXN0IjogIm5wbSBydW4gbGludCAmJiBucG0gcnVuIHVuaXQiLA0KICAgICAgInVuaXQiOiAiaXN0YW5idWwgdGVzdCBfbW9jaGEgLS1yZXBvcnRlcj1zcGVjIHRlc3QvaW5kZXguanMiLA0KICAgICAgInZlcnNpb24iOiAiZ3J1bnQgZGlzdCAmJiBnaXQgYWRkIGRpc3QvIg0KICAgIH0sDQogICAgInZlcnNpb24iOiAiNi40LjAiDQogIH0NCg0KICB9LHt9XSwzMDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIG1vZHVsZS5leHBvcnRzPXsNCiAgICAiZ2VuZXNpc0dhc0xpbWl0Ijogew0KICAgICAgInYiOiA1MDAwLA0KICAgICAgImQiOiAiR2FzIGxpbWl0IG9mIHRoZSBHZW5lc2lzIGJsb2NrLiINCiAgICB9LA0KICAgICJnZW5lc2lzRGlmZmljdWx0eSI6IHsNCiAgICAgICJ2IjogMTcxNzk4NjkxODQsDQogICAgICAiZCI6ICJEaWZmaWN1bHR5IG9mIHRoZSBHZW5lc2lzIGJsb2NrLiINCiAgICB9LA0KICAgICJnZW5lc2lzTm9uY2UiOiB7DQogICAgICAidiI6ICIweDAwMDAwMDAwMDAwMDAwNDIiLA0KICAgICAgImQiOiAidGhlIGdlbmVpcyBub25jZSINCiAgICB9LA0KICAgICJnZW5lc2lzRXh0cmFEYXRhIjogew0KICAgICAgInYiOiAiMHgxMWJiZThkYjRlMzQ3YjRlOGM5MzdjMWM4MzcwZTRiNWVkMzNhZGIzZGI2OWNiZGI3YTM4ZTFlNTBiMWI4MmZhIiwNCiAgICAgICJkIjogImV4dHJhIGRhdGEgIg0KICAgIH0sDQogICAgImdlbmVzaXNIYXNoIjogew0KICAgICAgInYiOiAiMHhkNGU1Njc0MGY4NzZhZWY4YzAxMGI4NmE0MGQ1ZjU2NzQ1YTExOGQwOTA2YTM0ZTY5YWVjOGMwZGIxY2I4ZmEzIiwNCiAgICAgICJkIjogImdlbmVzaXMgaGFzaCINCiAgICB9LA0KICAgICJnZW5lc2lzU3RhdGVSb290Ijogew0KICAgICAgInYiOiAiMHhkN2Y4OTc0ZmI1YWM3OGQ5YWMwOTliOWFkNTAxOGJlZGMyY2UwYTcyZGFkMTgyN2ExNzA5ZGEzMDU4MGYwNTQ0IiwNCiAgICAgICJkIjogInRoZSBnZW5lc2lzIHN0YXRlIHJvb3QiDQogICAgfSwNCiAgICAibWluR2FzTGltaXQiOiB7DQogICAgICAidiI6IDUwMDAsDQogICAgICAiZCI6ICJNaW5pbXVtIHRoZSBnYXMgbGltaXQgbWF5IGV2ZXIgYmUuIg0KICAgIH0sDQogICAgImdhc0xpbWl0Qm91bmREaXZpc29yIjogew0KICAgICAgInYiOiAxMDI0LA0KICAgICAgImQiOiAiVGhlIGJvdW5kIGRpdmlzb3Igb2YgdGhlIGdhcyBsaW1pdCwgdXNlZCBpbiB1cGRhdGUgY2FsY3VsYXRpb25zLiINCiAgICB9LA0KICAgICJtaW5pbXVtRGlmZmljdWx0eSI6IHsNCiAgICAgICJ2IjogMTMxMDcyLA0KICAgICAgImQiOiAiVGhlIG1pbmltdW0gdGhhdCB0aGUgZGlmZmljdWx0eSBtYXkgZXZlciBiZS4iDQogICAgfSwNCiAgICAiZGlmZmljdWx0eUJvdW5kRGl2aXNvciI6IHsNCiAgICAgICJ2IjogMjA0OCwNCiAgICAgICJkIjogIlRoZSBib3VuZCBkaXZpc29yIG9mIHRoZSBkaWZmaWN1bHR5LCB1c2VkIGluIHRoZSB1cGRhdGUgY2FsY3VsYXRpb25zLiINCiAgICB9LA0KICAgICJkdXJhdGlvbkxpbWl0Ijogew0KICAgICAgInYiOiAxMywNCiAgICAgICJkIjogIlRoZSBkZWNpc2lvbiBib3VuZGFyeSBvbiB0aGUgYmxvY2t0aW1lIGR1cmF0aW9uIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgZGlmZmljdWx0eSBzaG91bGQgZ28gdXAgb3Igbm90LiINCiAgICB9LA0KICAgICJtYXhpbXVtRXh0cmFEYXRhU2l6ZSI6IHsNCiAgICAgICJ2IjogMzIsDQogICAgICAiZCI6ICJNYXhpbXVtIHNpemUgZXh0cmEgZGF0YSBtYXkgYmUgYWZ0ZXIgR2VuZXNpcy4iDQogICAgfSwNCiAgICAiZXBvY2hEdXJhdGlvbiI6IHsNCiAgICAgICJ2IjogMzAwMDAsDQogICAgICAiZCI6ICJEdXJhdGlvbiBiZXR3ZWVuIHByb29mLW9mLXdvcmsgZXBvY2hzLiINCiAgICB9LA0KICAgICJzdGFja0xpbWl0Ijogew0KICAgICAgInYiOiAxMDI0LA0KICAgICAgImQiOiAiTWF4aW11bSBzaXplIG9mIFZNIHN0YWNrIGFsbG93ZWQuIg0KICAgIH0sDQogICAgImNhbGxDcmVhdGVEZXB0aCI6IHsNCiAgICAgICJ2IjogMTAyNCwNCiAgICAgICJkIjogIk1heGltdW0gZGVwdGggb2YgY2FsbC9jcmVhdGUgc3RhY2suIg0KICAgIH0sDQoNCiAgICAidGllclN0ZXBHYXMiOiB7DQogICAgICAidiI6IFswLCAyLCAzLCA1LCA4LCAxMCwgMjBdLA0KICAgICAgImQiOiAiT25jZSBwZXIgb3BlcmF0aW9uLCBmb3IgYSBzZWxlY3Rpb24gb2YgdGhlbS4iDQogICAgfSwNCiAgICAiZXhwR2FzIjogew0KICAgICAgInYiOiAxMCwNCiAgICAgICJkIjogIk9uY2UgcGVyIEVYUCBpbnN0dWN0aW9uLiINCiAgICB9LA0KICAgICJleHBCeXRlR2FzIjogew0KICAgICAgInYiOiAxMCwNCiAgICAgICJkIjogIlRpbWVzIGNlaWwobG9nMjU2KGV4cG9uZW50KSkgZm9yIHRoZSBFWFAgaW5zdHJ1Y3Rpb24uIg0KICAgIH0sDQoNCiAgICAic2hhM0dhcyI6IHsNCiAgICAgICJ2IjogMzAsDQogICAgICAiZCI6ICJPbmNlIHBlciBTSEEzIG9wZXJhdGlvbi4iDQogICAgfSwNCiAgICAic2hhM1dvcmRHYXMiOiB7DQogICAgICAidiI6IDYsDQogICAgICAiZCI6ICJPbmNlIHBlciB3b3JkIG9mIHRoZSBTSEEzIG9wZXJhdGlvbidzIGRhdGEuIg0KICAgIH0sDQogICAgInNsb2FkR2FzIjogew0KICAgICAgInYiOiA1MCwNCiAgICAgICJkIjogIk9uY2UgcGVyIFNMT0FEIG9wZXJhdGlvbi4iDQogICAgfSwNCiAgICAic3N0b3JlU2V0R2FzIjogew0KICAgICAgInYiOiAyMDAwMCwNCiAgICAgICJkIjogIk9uY2UgcGVyIFNTVE9SRSBvcGVyYXRpb24gaWYgdGhlIHplcm9uZXNzIGNoYW5nZXMgZnJvbSB6ZXJvLiINCiAgICB9LA0KICAgICJzc3RvcmVSZXNldEdhcyI6IHsNCiAgICAgICJ2IjogNTAwMCwNCiAgICAgICJkIjogIk9uY2UgcGVyIFNTVE9SRSBvcGVyYXRpb24gaWYgdGhlIHplcm9uZXNzIGRvZXMgbm90IGNoYW5nZSBmcm9tIHplcm8uIg0KICAgIH0sDQogICAgInNzdG9yZVJlZnVuZEdhcyI6IHsNCiAgICAgICJ2IjogMTUwMDAsDQogICAgICAiZCI6ICJPbmNlIHBlciBTU1RPUkUgb3BlcmF0aW9uIGlmIHRoZSB6ZXJvbmVzcyBjaGFuZ2VzIHRvIHplcm8uIg0KICAgIH0sDQogICAgImp1bXBkZXN0R2FzIjogew0KICAgICAgInYiOiAxLA0KICAgICAgImQiOiAiUmVmdW5kZWQgZ2FzLCBvbmNlIHBlciBTU1RPUkUgb3BlcmF0aW9uIGlmIHRoZSB6ZXJvbmVzcyBjaGFuZ2VzIHRvIHplcm8uIg0KICAgIH0sDQoNCiAgICAibG9nR2FzIjogew0KICAgICAgInYiOiAzNzUsDQogICAgICAiZCI6ICJQZXIgTE9HKiBvcGVyYXRpb24uIg0KICAgIH0sDQogICAgImxvZ0RhdGFHYXMiOiB7DQogICAgICAidiI6IDgsDQogICAgICAiZCI6ICJQZXIgYnl0ZSBpbiBhIExPRyogb3BlcmF0aW9uJ3MgZGF0YS4iDQogICAgfSwNCiAgICAibG9nVG9waWNHYXMiOiB7DQogICAgICAidiI6IDM3NSwNCiAgICAgICJkIjogIk11bHRpcGxpZWQgYnkgdGhlICogb2YgdGhlIExPRyosIHBlciBMT0cgdHJhbnNhY3Rpb24uIGUuZy4gTE9HMCBpbmN1cnMgMCAqIGNfdHhMb2dUb3BpY0dhcywgTE9HNCBpbmN1cnMgNCAqIGNfdHhMb2dUb3BpY0dhcy4iDQogICAgfSwNCg0KICAgICJjcmVhdGVHYXMiOiB7DQogICAgICAidiI6IDMyMDAwLA0KICAgICAgImQiOiAiT25jZSBwZXIgQ1JFQVRFIG9wZXJhdGlvbiAmIGNvbnRyYWN0LWNyZWF0aW9uIHRyYW5zYWN0aW9uLiINCiAgICB9LA0KDQogICAgImNhbGxHYXMiOiB7DQogICAgICAidiI6IDQwLA0KICAgICAgImQiOiAiT25jZSBwZXIgQ0FMTCBvcGVyYXRpb24gJiBtZXNzYWdlIGNhbGwgdHJhbnNhY3Rpb24uIg0KICAgIH0sDQogICAgImNhbGxTdGlwZW5kIjogew0KICAgICAgInYiOiAyMzAwLA0KICAgICAgImQiOiAiRnJlZSBnYXMgZ2l2ZW4gYXQgYmVnaW5uaW5nIG9mIGNhbGwuIg0KICAgIH0sDQogICAgImNhbGxWYWx1ZVRyYW5zZmVyR2FzIjogew0KICAgICAgInYiOiA5MDAwLA0KICAgICAgImQiOiAiUGFpZCBmb3IgQ0FMTCB3aGVuIHRoZSB2YWx1ZSB0cmFuc2ZvciBpcyBub24temVyby4iDQogICAgfSwNCiAgICAiY2FsbE5ld0FjY291bnRHYXMiOiB7DQogICAgICAidiI6IDI1MDAwLA0KICAgICAgImQiOiAiUGFpZCBmb3IgQ0FMTCB3aGVuIHRoZSBkZXN0aW5hdGlvbiBhZGRyZXNzIGRpZG4ndCBleGlzdCBwcmlvci4iDQogICAgfSwNCg0KICAgICJzdWljaWRlUmVmdW5kR2FzIjogew0KICAgICAgInYiOiAyNDAwMCwNCiAgICAgICJkIjogIlJlZnVuZGVkIGZvbGxvd2luZyBhIHN1aWNpZGUgb3BlcmF0aW9uLiINCiAgICB9LA0KDQogICAgIm1lbW9yeUdhcyI6IHsNCiAgICAgICJ2IjogMywNCiAgICAgICJkIjogIlRpbWVzIHRoZSBhZGRyZXNzIG9mIHRoZSAoaGlnaGVzdCByZWZlcmVuY2VkIGJ5dGUgaW4gbWVtb3J5ICsgMSkuIE5PVEU6IHJlZmVyZW5jaW5nIGhhcHBlbnMgb24gcmVhZCwgd3JpdGUgYW5kIGluIGluc3RydWN0aW9ucyBzdWNoIGFzIFJFVFVSTiBhbmQgQ0FMTC4iDQogICAgfSwNCiAgICAicXVhZENvZWZmRGl2Ijogew0KICAgICAgInYiOiA1MTIsDQogICAgICAiZCI6ICJEaXZpc29yIGZvciB0aGUgcXVhZHJhdGljIHBhcnRpY2xlIG9mIHRoZSBtZW1vcnkgY29zdCBlcXVhdGlvbi4iDQogICAgfSwNCg0KICAgICJjcmVhdGVEYXRhR2FzIjogew0KICAgICAgInYiOiAyMDAsDQogICAgICAiZCI6ICIiDQogICAgfSwNCiAgICAidHhHYXMiOiB7DQogICAgICAidiI6IDIxMDAwLA0KICAgICAgImQiOiAiUGVyIHRyYW5zYWN0aW9uLiBOT1RFOiBOb3QgcGF5YWJsZSBvbiBkYXRhIG9mIGNhbGxzIGJldHdlZW4gdHJhbnNhY3Rpb25zLiINCiAgICB9LA0KICAgICJ0eENyZWF0aW9uIjogew0KICAgICAgInYiOiAzMjAwMCwNCiAgICAgICJkIjogInRoZSBjb3N0IG9mIGNyZWF0aW5nIGEgY29udHJhY3QgdmlhIHR4Ig0KICAgIH0sDQogICAgInR4RGF0YVplcm9HYXMiOiB7DQogICAgICAidiI6IDQsDQogICAgICAiZCI6ICJQZXIgYnl0ZSBvZiBkYXRhIGF0dGFjaGVkIHRvIGEgdHJhbnNhY3Rpb24gdGhhdCBlcXVhbHMgemVyby4gTk9URTogTm90IHBheWFibGUgb24gZGF0YSBvZiBjYWxscyBiZXR3ZWVuIHRyYW5zYWN0aW9ucy4iDQogICAgfSwNCiAgICAidHhEYXRhTm9uWmVyb0dhcyI6IHsNCiAgICAgICJ2IjogNjgsDQogICAgICAiZCI6ICJQZXIgYnl0ZSBvZiBkYXRhIGF0dGFjaGVkIHRvIGEgdHJhbnNhY3Rpb24gdGhhdCBpcyBub3QgZXF1YWwgdG8gemVyby4gTk9URTogTm90IHBheWFibGUgb24gZGF0YSBvZiBjYWxscyBiZXR3ZWVuIHRyYW5zYWN0aW9ucy4iDQogICAgfSwNCg0KICAgICJjb3B5R2FzIjogew0KICAgICAgInYiOiAzLA0KICAgICAgImQiOiAiTXVsdGlwbGllZCBieSB0aGUgbnVtYmVyIG9mIDMyLWJ5dGUgd29yZHMgdGhhdCBhcmUgY29waWVkIChyb3VuZCB1cCkgZm9yIGFueSAqQ09QWSBvcGVyYXRpb24gYW5kIGFkZGVkLiINCiAgICB9LA0KDQogICAgImVjcmVjb3ZlckdhcyI6IHsNCiAgICAgICJ2IjogMzAwMCwNCiAgICAgICJkIjogIiINCiAgICB9LA0KICAgICJzaGEyNTZHYXMiOiB7DQogICAgICAidiI6IDYwLA0KICAgICAgImQiOiAiIg0KICAgIH0sDQogICAgInNoYTI1NldvcmRHYXMiOiB7DQogICAgICAidiI6IDEyLA0KICAgICAgImQiOiAiIg0KICAgIH0sDQogICAgInJpcGVtZDE2MEdhcyI6IHsNCiAgICAgICJ2IjogNjAwLA0KICAgICAgImQiOiAiIg0KICAgIH0sDQogICAgInJpcGVtZDE2MFdvcmRHYXMiOiB7DQogICAgICAidiI6IDEyMCwNCiAgICAgICJkIjogIiINCiAgICB9LA0KICAgICJpZGVudGl0eUdhcyI6IHsNCiAgICAgICJ2IjogMTUsDQogICAgICAiZCI6ICIiDQogICAgfSwNCiAgICAiaWRlbnRpdHlXb3JkR2FzIjogew0KICAgICAgInYiOiAzLA0KICAgICAgImQiOiAiIg0KICAgIH0sDQogICAgIm1pbmVyUmV3YXJkIjogew0KICAgICAgInYiOiAiNTAwMDAwMDAwMDAwMDAwMDAwMCIsDQogICAgICAiZCI6ICJ0aGUgYW1vdW50IGEgbWluZXIgZ2V0IHJld2FyZGVkIGZvciBtaW5pbmcgYSBibG9jayINCiAgICB9LA0KICAgICJvbW1lclJld2FyZCI6IHsNCiAgICAgICJ2IjogIjYyNTAwMDAwMDAwMDAwMDAwMCIsDQogICAgICAiZCI6ICJUaGUgYW1vdW50IG9mIHdlaSBhIG1pbmVyIG9mIGFuIHVuY2xlIGJsb2NrIGdldHMgZm9yIGJlaW5nIGluY3VsZGVkIGluIHRoZSBibG9ja2NoYWluIg0KICAgIH0sDQogICAgIm5pYmxpbmdSZXdhcmQiOiB7DQogICAgICAidiI6ICIxNTYyNTAwMDAwMDAwMDAwMDAiLA0KICAgICAgImQiOiAidGhlIGFtb3VudCBhIG1pbmVyIGdldHMgZm9yIGluY3VsZGluZyBhIHVuY2xlIg0KICAgIH0sDQogICAgImhvbWVTdGVhZEZvcmtOdW1iZXIiOiB7DQogICAgICAidiI6IDExNTAwMDAsDQogICAgICAiZCI6ICJ0aGUgYmxvY2sgdGhhdCB0aGUgSG9tZXN0ZWFkIGZvcmsgc3RhcnRlZCBhdCINCiAgICB9LA0KICAgICJob21lc3RlYWRSZXByaWNlRm9ya051bWJlciI6IHsNCiAgICAgICJ2IjogMjQ2MzAwMCwNCiAgICAgICJkIjogInRoZSBibG9jayB0aGF0IHRoZSBIb21lc3RlYWQgUmVwcmljZSAoRUlQMTUwKSBmb3JrIHN0YXJ0ZWQgYXQiDQogICAgfSwNCiAgICAidGltZWJvbWJQZXJpb2QiOiB7DQogICAgICAidiI6IDEwMDAwMCwNCiAgICAgICJkIjogIkV4cG9uZW50aWFsIGRpZmZpY3VsdHkgdGltZWJvbWIgcGVyaW9kIg0KICAgIH0sDQogICAgImZyZWVCbG9ja1BlcmlvZCI6IHsNCiAgICAgICJ2IjogMg0KICAgIH0NCiAgfQ0KDQogIH0se31dLDMxOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgKGZ1bmN0aW9uIChCdWZmZXIpew0KICAidXNlIHN0cmljdCI7ZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9dmFyIGV0aFV0aWw9cmVxdWlyZSgiZXRoZXJldW1qcy11dGlsIiksZmVlcz1yZXF1aXJlKCJldGhlcmV1bS1jb21tb24vcGFyYW1zLmpzb24iKSxCTj1ldGhVdGlsLkJOLE5fRElWXzI9bmV3IEJOKCI3ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjVkNTc2ZTczNTdhNDUwMWRkZmU5MmY0NjY4MWIyMGEwIiwxNiksVHJhbnNhY3Rpb249ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe19jbGFzc0NhbGxDaGVjayh0aGlzLGUpLHQ9dHx8e307dmFyIGk9W3tuYW1lOiJub25jZSIsbGVuZ3RoOjMyLGFsbG93TGVzczohMCxkZWZhdWx0Om5ldyBCdWZmZXIoW10pfSx7bmFtZToiZ2FzUHJpY2UiLGxlbmd0aDozMixhbGxvd0xlc3M6ITAsZGVmYXVsdDpuZXcgQnVmZmVyKFtdKX0se25hbWU6Imdhc0xpbWl0IixhbGlhczoiZ2FzIixsZW5ndGg6MzIsYWxsb3dMZXNzOiEwLGRlZmF1bHQ6bmV3IEJ1ZmZlcihbXSl9LHtuYW1lOiJ0byIsYWxsb3daZXJvOiEwLGxlbmd0aDoyMCxkZWZhdWx0Om5ldyBCdWZmZXIoW10pfSx7bmFtZToidmFsdWUiLGxlbmd0aDozMixhbGxvd0xlc3M6ITAsZGVmYXVsdDpuZXcgQnVmZmVyKFtdKX0se25hbWU6ImRhdGEiLGFsaWFzOiJpbnB1dCIsYWxsb3daZXJvOiEwLGRlZmF1bHQ6bmV3IEJ1ZmZlcihbXSl9LHtuYW1lOiJ2IixhbGxvd1plcm86ITAsZGVmYXVsdDpuZXcgQnVmZmVyKFsyOF0pfSx7bmFtZToiciIsbGVuZ3RoOjMyLGFsbG93WmVybzohMCxhbGxvd0xlc3M6ITAsZGVmYXVsdDpuZXcgQnVmZmVyKFtdKX0se25hbWU6InMiLGxlbmd0aDozMixhbGxvd1plcm86ITAsYWxsb3dMZXNzOiEwLGRlZmF1bHQ6bmV3IEJ1ZmZlcihbXSl9XTtldGhVdGlsLmRlZmluZVByb3BlcnRpZXModGhpcyxpLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJmcm9tIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OnRoaXMuZ2V0U2VuZGVyQWRkcmVzcy5iaW5kKHRoaXMpfSk7dmFyIHI9ZXRoVXRpbC5idWZmZXJUb0ludCh0aGlzLnYpLHM9TWF0aC5mbG9vcigoci0zNSkvMik7czwwJiYocz0wKSx0aGlzLl9jaGFpbklkPXN8fHQuY2hhaW5JZHx8MCx0aGlzLl9ob21lc3RlYWQ9ITB9cmV0dXJuIGUucHJvdG90eXBlLnRvQ3JlYXRpb25BZGRyZXNzPWZ1bmN0aW9uKCl7cmV0dXJuIiI9PT10aGlzLnRvLnRvU3RyaW5nKCJoZXgiKX0sZS5wcm90b3R5cGUuaGFzaD1mdW5jdGlvbihlKXt2b2lkIDA9PT1lJiYoZT0hMCk7dmFyIHQ9dm9pZCAwO2lmKGUpdD10aGlzLnJhdztlbHNlIGlmKHRoaXMuX2NoYWluSWQ+MCl7dmFyIGk9dGhpcy5yYXcuc2xpY2UoKTt0aGlzLnY9dGhpcy5fY2hhaW5JZCx0aGlzLnI9MCx0aGlzLnM9MCx0PXRoaXMucmF3LHRoaXMucmF3PWl9ZWxzZSB0PXRoaXMucmF3LnNsaWNlKDAsNik7cmV0dXJuIGV0aFV0aWwucmxwaGFzaCh0KX0sZS5wcm90b3R5cGUuZ2V0Q2hhaW5JZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jaGFpbklkfSxlLnByb3RvdHlwZS5nZXRTZW5kZXJBZGRyZXNzPWZ1bmN0aW9uKCl7aWYodGhpcy5fZnJvbSlyZXR1cm4gdGhpcy5fZnJvbTt2YXIgZT10aGlzLmdldFNlbmRlclB1YmxpY0tleSgpO3JldHVybiB0aGlzLl9mcm9tPWV0aFV0aWwucHVibGljVG9BZGRyZXNzKGUpLHRoaXMuX2Zyb219LGUucHJvdG90eXBlLmdldFNlbmRlclB1YmxpY0tleT1mdW5jdGlvbigpe2lmKCEodGhpcy5fc2VuZGVyUHViS2V5JiZ0aGlzLl9zZW5kZXJQdWJLZXkubGVuZ3RofHx0aGlzLnZlcmlmeVNpZ25hdHVyZSgpKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgU2lnbmF0dXJlIik7cmV0dXJuIHRoaXMuX3NlbmRlclB1YktleX0sZS5wcm90b3R5cGUudmVyaWZ5U2lnbmF0dXJlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5oYXNoKCExKTtpZih0aGlzLl9ob21lc3RlYWQmJjE9PT1uZXcgQk4odGhpcy5zKS5jbXAoTl9ESVZfMikpcmV0dXJuITE7dHJ5e3ZhciB0PWV0aFV0aWwuYnVmZmVyVG9JbnQodGhpcy52KTt0aGlzLl9jaGFpbklkPjAmJih0LT0yKnRoaXMuX2NoYWluSWQrOCksdGhpcy5fc2VuZGVyUHViS2V5PWV0aFV0aWwuZWNyZWNvdmVyKGUsdCx0aGlzLnIsdGhpcy5zKX1jYXRjaChlKXtyZXR1cm4hMX1yZXR1cm4hIXRoaXMuX3NlbmRlclB1YktleX0sZS5wcm90b3R5cGUuc2lnbj1mdW5jdGlvbihlKXt2YXIgdD10aGlzLmhhc2goITEpLGk9ZXRoVXRpbC5lY3NpZ24odCxlKTt0aGlzLl9jaGFpbklkPjAmJihpLnYrPTIqdGhpcy5fY2hhaW5JZCs4KSxPYmplY3QuYXNzaWduKHRoaXMsaSl9LGUucHJvdG90eXBlLmdldERhdGFGZWU9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5yYXdbNV0sdD1uZXcgQk4oMCksaT0wO2k8ZS5sZW5ndGg7aSsrKTA9PT1lW2ldP3QuaWFkZG4oZmVlcy50eERhdGFaZXJvR2FzLnYpOnQuaWFkZG4oZmVlcy50eERhdGFOb25aZXJvR2FzLnYpO3JldHVybiB0fSxlLnByb3RvdHlwZS5nZXRCYXNlRmVlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5nZXREYXRhRmVlKCkuaWFkZG4oZmVlcy50eEdhcy52KTtyZXR1cm4gdGhpcy5faG9tZXN0ZWFkJiZ0aGlzLnRvQ3JlYXRpb25BZGRyZXNzKCkmJmUuaWFkZG4oZmVlcy50eENyZWF0aW9uLnYpLGV9LGUucHJvdG90eXBlLmdldFVwZnJvbnRDb3N0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBCTih0aGlzLmdhc0xpbWl0KS5pbXVsKG5ldyBCTih0aGlzLmdhc1ByaWNlKSkuaWFkZChuZXcgQk4odGhpcy52YWx1ZSkpfSxlLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbihlKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy52ZXJpZnlTaWduYXR1cmUoKXx8dC5wdXNoKCJJbnZhbGlkIFNpZ25hdHVyZSIpLHRoaXMuZ2V0QmFzZUZlZSgpLmNtcChuZXcgQk4odGhpcy5nYXNMaW1pdCkpPjAmJnQucHVzaChbImdhcyBsaW1pdCBpcyB0b28gbG93LiBOZWVkIGF0IGxlYXN0ICIrdGhpcy5nZXRCYXNlRmVlKCldKSx2b2lkIDA9PT1lfHwhMT09PWU/MD09PXQubGVuZ3RoOnQuam9pbigiICIpfSxlfSgpO21vZHVsZS5leHBvcnRzPVRyYW5zYWN0aW9uOw0KDQogIH0pLmNhbGwodGhpcyxyZXF1aXJlKCJidWZmZXIiKS5CdWZmZXIpDQogIH0seyJidWZmZXIiOjgsImV0aGVyZXVtLWNvbW1vbi9wYXJhbXMuanNvbiI6MzAsImV0aGVyZXVtanMtdXRpbCI6MzJ9XSwzMjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIChmdW5jdGlvbiAoQnVmZmVyKXsNCiAgInVzZSBzdHJpY3QiO3ZhciBfdHlwZW9mPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSxjcmVhdGVLZWNjYWtIYXNoPXJlcXVpcmUoImtlY2NhayIpLHNlY3AyNTZrMT1yZXF1aXJlKCJzZWNwMjU2azEiKSxhc3NlcnQ9cmVxdWlyZSgiYXNzZXJ0IikscmxwPXJlcXVpcmUoInJscCIpLEJOPXJlcXVpcmUoImJuLmpzIiksY3JlYXRlSGFzaD1yZXF1aXJlKCJjcmVhdGUtaGFzaCIpO09iamVjdC5hc3NpZ24oZXhwb3J0cyxyZXF1aXJlKCJldGhqcy11dGlsIikpLGV4cG9ydHMuTUFYX0lOVEVHRVI9bmV3IEJOKCJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIiwxNiksZXhwb3J0cy5UV09fUE9XMjU2PW5ldyBCTigiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLDE2KSxleHBvcnRzLlNIQTNfTlVMTF9TPSJjNWQyNDYwMTg2ZjcyMzNjOTI3ZTdkYjJkY2M3MDNjMGU1MDBiNjUzY2E4MjI3M2I3YmZhZDgwNDVkODVhNDcwIixleHBvcnRzLlNIQTNfTlVMTD1CdWZmZXIuZnJvbShleHBvcnRzLlNIQTNfTlVMTF9TLCJoZXgiKSxleHBvcnRzLlNIQTNfUkxQX0FSUkFZX1M9IjFkY2M0ZGU4ZGVjNzVkN2FhYjg1YjU2N2I2Y2NkNDFhZDMxMjQ1MWI5NDhhNzQxM2YwYTE0MmZkNDBkNDkzNDciLGV4cG9ydHMuU0hBM19STFBfQVJSQVk9QnVmZmVyLmZyb20oZXhwb3J0cy5TSEEzX1JMUF9BUlJBWV9TLCJoZXgiKSxleHBvcnRzLlNIQTNfUkxQX1M9IjU2ZTgxZjE3MWJjYzU1YTZmZjgzNDVlNjkyYzBmODZlNWI0OGUwMWI5OTZjYWRjMDAxNjIyZmI1ZTM2M2I0MjEiLGV4cG9ydHMuU0hBM19STFA9QnVmZmVyLmZyb20oZXhwb3J0cy5TSEEzX1JMUF9TLCJoZXgiKSxleHBvcnRzLkJOPUJOLGV4cG9ydHMucmxwPXJscCxleHBvcnRzLnNlY3AyNTZrMT1zZWNwMjU2azEsZXhwb3J0cy56ZXJvcz1mdW5jdGlvbihlKXtyZXR1cm4gQnVmZmVyLmFsbG9jVW5zYWZlKGUpLmZpbGwoMCl9LGV4cG9ydHMuc2V0TGVuZ3RoTGVmdD1leHBvcnRzLnNldExlbmd0aD1mdW5jdGlvbihlLHIsdCl7dmFyIGY9ZXhwb3J0cy56ZXJvcyhyKTtyZXR1cm4gZT1leHBvcnRzLnRvQnVmZmVyKGUpLHQ/ZS5sZW5ndGg8cj8oZS5jb3B5KGYpLGYpOmUuc2xpY2UoMCxyKTplLmxlbmd0aDxyPyhlLmNvcHkoZixyLWUubGVuZ3RoKSxmKTplLnNsaWNlKC1yKX0sZXhwb3J0cy5zZXRMZW5ndGhSaWdodD1mdW5jdGlvbihlLHIpe3JldHVybiBleHBvcnRzLnNldExlbmd0aChlLHIsITApfSxleHBvcnRzLnVucGFkPWV4cG9ydHMuc3RyaXBaZXJvcz1mdW5jdGlvbihlKXtmb3IodmFyIHI9KGU9ZXhwb3J0cy5zdHJpcEhleFByZWZpeChlKSlbMF07ZS5sZW5ndGg+MCYmIjAiPT09ci50b1N0cmluZygpOylyPShlPWUuc2xpY2UoMSkpWzBdO3JldHVybiBlfSxleHBvcnRzLnRvQnVmZmVyPWZ1bmN0aW9uKGUpe2lmKCFCdWZmZXIuaXNCdWZmZXIoZSkpaWYoQXJyYXkuaXNBcnJheShlKSllPUJ1ZmZlci5mcm9tKGUpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKWU9ZXhwb3J0cy5pc0hleFN0cmluZyhlKT9CdWZmZXIuZnJvbShleHBvcnRzLnBhZFRvRXZlbihleHBvcnRzLnN0cmlwSGV4UHJlZml4KGUpKSwiaGV4Iik6QnVmZmVyLmZyb20oZSk7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGUpZT1leHBvcnRzLmludFRvQnVmZmVyKGUpO2Vsc2UgaWYobnVsbD09PWV8fHZvaWQgMD09PWUpZT1CdWZmZXIuYWxsb2NVbnNhZmUoMCk7ZWxzZXtpZighZS50b0FycmF5KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCB0eXBlIik7ZT1CdWZmZXIuZnJvbShlLnRvQXJyYXkoKSl9cmV0dXJuIGV9LGV4cG9ydHMuYnVmZmVyVG9JbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBCTihleHBvcnRzLnRvQnVmZmVyKGUpKS50b051bWJlcigpfSxleHBvcnRzLmJ1ZmZlclRvSGV4PWZ1bmN0aW9uKGUpe3JldHVybiIweCIrKGU9ZXhwb3J0cy50b0J1ZmZlcihlKSkudG9TdHJpbmcoImhleCIpfSxleHBvcnRzLmZyb21TaWduZWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBCTihlKS5mcm9tVHdvcygyNTYpfSxleHBvcnRzLnRvVW5zaWduZWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIEJ1ZmZlci5mcm9tKGUudG9Ud29zKDI1NikudG9BcnJheSgpKX0sZXhwb3J0cy5zaGEzPWZ1bmN0aW9uKGUscil7cmV0dXJuIGU9ZXhwb3J0cy50b0J1ZmZlcihlKSxyfHwocj0yNTYpLGNyZWF0ZUtlY2Nha0hhc2goImtlY2NhayIrcikudXBkYXRlKGUpLmRpZ2VzdCgpfSxleHBvcnRzLnNoYTI1Nj1mdW5jdGlvbihlKXtyZXR1cm4gZT1leHBvcnRzLnRvQnVmZmVyKGUpLGNyZWF0ZUhhc2goInNoYTI1NiIpLnVwZGF0ZShlKS5kaWdlc3QoKX0sZXhwb3J0cy5yaXBlbWQxNjA9ZnVuY3Rpb24oZSxyKXtlPWV4cG9ydHMudG9CdWZmZXIoZSk7dmFyIHQ9Y3JlYXRlSGFzaCgicm1kMTYwIikudXBkYXRlKGUpLmRpZ2VzdCgpO3JldHVybiEwPT09cj9leHBvcnRzLnNldExlbmd0aCh0LDMyKTp0fSxleHBvcnRzLnJscGhhc2g9ZnVuY3Rpb24oZSl7cmV0dXJuIGV4cG9ydHMuc2hhMyhybHAuZW5jb2RlKGUpKX0sZXhwb3J0cy5pc1ZhbGlkUHJpdmF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gc2VjcDI1NmsxLnByaXZhdGVLZXlWZXJpZnkoZSl9LGV4cG9ydHMuaXNWYWxpZFB1YmxpYz1mdW5jdGlvbihlLHIpe3JldHVybiA2ND09PWUubGVuZ3RoP3NlY3AyNTZrMS5wdWJsaWNLZXlWZXJpZnkoQnVmZmVyLmNvbmNhdChbQnVmZmVyLmZyb20oWzRdKSxlXSkpOiEhciYmc2VjcDI1NmsxLnB1YmxpY0tleVZlcmlmeShlKX0sZXhwb3J0cy5wdWJUb0FkZHJlc3M9ZXhwb3J0cy5wdWJsaWNUb0FkZHJlc3M9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gZT1leHBvcnRzLnRvQnVmZmVyKGUpLHImJjY0IT09ZS5sZW5ndGgmJihlPXNlY3AyNTZrMS5wdWJsaWNLZXlDb252ZXJ0KGUsITEpLnNsaWNlKDEpKSxhc3NlcnQoNjQ9PT1lLmxlbmd0aCksZXhwb3J0cy5zaGEzKGUpLnNsaWNlKC0yMCl9O3ZhciBwcml2YXRlVG9QdWJsaWM9ZXhwb3J0cy5wcml2YXRlVG9QdWJsaWM9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9ZXhwb3J0cy50b0J1ZmZlcihlKSxzZWNwMjU2azEucHVibGljS2V5Q3JlYXRlKGUsITEpLnNsaWNlKDEpfTtleHBvcnRzLmltcG9ydFB1YmxpYz1mdW5jdGlvbihlKXtyZXR1cm4gNjQhPT0oZT1leHBvcnRzLnRvQnVmZmVyKGUpKS5sZW5ndGgmJihlPXNlY3AyNTZrMS5wdWJsaWNLZXlDb252ZXJ0KGUsITEpLnNsaWNlKDEpKSxlfSxleHBvcnRzLmVjc2lnbj1mdW5jdGlvbihlLHIpe3ZhciB0PXNlY3AyNTZrMS5zaWduKGUsciksZj17fTtyZXR1cm4gZi5yPXQuc2lnbmF0dXJlLnNsaWNlKDAsMzIpLGYucz10LnNpZ25hdHVyZS5zbGljZSgzMiw2NCksZi52PXQucmVjb3ZlcnkrMjcsZn0sZXhwb3J0cy5oYXNoUGVyc29uYWxNZXNzYWdlPWZ1bmN0aW9uKGUpe3ZhciByPWV4cG9ydHMudG9CdWZmZXIoIhlFdGhlcmV1bSBTaWduZWQgTWVzc2FnZTpcbiIrZS5sZW5ndGgudG9TdHJpbmcoKSk7cmV0dXJuIGV4cG9ydHMuc2hhMyhCdWZmZXIuY29uY2F0KFtyLGVdKSl9LGV4cG9ydHMuZWNyZWNvdmVyPWZ1bmN0aW9uKGUscix0LGYpe3ZhciBvPUJ1ZmZlci5jb25jYXQoW2V4cG9ydHMuc2V0TGVuZ3RoKHQsMzIpLGV4cG9ydHMuc2V0TGVuZ3RoKGYsMzIpXSw2NCkscz1yLTI3O2lmKDAhPT1zJiYxIT09cyl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2lnbmF0dXJlIHYgdmFsdWUiKTt2YXIgbj1zZWNwMjU2azEucmVjb3ZlcihlLG8scyk7cmV0dXJuIHNlY3AyNTZrMS5wdWJsaWNLZXlDb252ZXJ0KG4sITEpLnNsaWNlKDEpfSxleHBvcnRzLnRvUnBjU2lnPWZ1bmN0aW9uKGUscix0KXtpZigyNyE9PWUmJjI4IT09ZSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcmVjb3ZlcnkgaWQiKTtyZXR1cm4gZXhwb3J0cy5idWZmZXJUb0hleChCdWZmZXIuY29uY2F0KFtleHBvcnRzLnNldExlbmd0aExlZnQociwzMiksZXhwb3J0cy5zZXRMZW5ndGhMZWZ0KHQsMzIpLGV4cG9ydHMudG9CdWZmZXIoZS0yNyldKSl9LGV4cG9ydHMuZnJvbVJwY1NpZz1mdW5jdGlvbihlKXtpZig2NSE9PShlPWV4cG9ydHMudG9CdWZmZXIoZSkpLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2lnbmF0dXJlIGxlbmd0aCIpO3ZhciByPWVbNjRdO3JldHVybiByPDI3JiYocis9MjcpLHt2OnIscjplLnNsaWNlKDAsMzIpLHM6ZS5zbGljZSgzMiw2NCl9fSxleHBvcnRzLnByaXZhdGVUb0FkZHJlc3M9ZnVuY3Rpb24oZSl7cmV0dXJuIGV4cG9ydHMucHVibGljVG9BZGRyZXNzKHByaXZhdGVUb1B1YmxpYyhlKSl9LGV4cG9ydHMuaXNWYWxpZEFkZHJlc3M9ZnVuY3Rpb24oZSl7cmV0dXJuL14weFswLTlhLWZBLUZdezQwfSQvaS50ZXN0KGUpfSxleHBvcnRzLnRvQ2hlY2tzdW1BZGRyZXNzPWZ1bmN0aW9uKGUpe2U9ZXhwb3J0cy5zdHJpcEhleFByZWZpeChlKS50b0xvd2VyQ2FzZSgpO2Zvcih2YXIgcj1leHBvcnRzLnNoYTMoZSkudG9TdHJpbmcoImhleCIpLHQ9IjB4IixmPTA7ZjxlLmxlbmd0aDtmKyspcGFyc2VJbnQocltmXSwxNik+PTg/dCs9ZVtmXS50b1VwcGVyQ2FzZSgpOnQrPWVbZl07cmV0dXJuIHR9LGV4cG9ydHMuaXNWYWxpZENoZWNrc3VtQWRkcmVzcz1mdW5jdGlvbihlKXtyZXR1cm4gZXhwb3J0cy5pc1ZhbGlkQWRkcmVzcyhlKSYmZXhwb3J0cy50b0NoZWNrc3VtQWRkcmVzcyhlKT09PWV9LGV4cG9ydHMuZ2VuZXJhdGVBZGRyZXNzPWZ1bmN0aW9uKGUscil7cmV0dXJuIGU9ZXhwb3J0cy50b0J1ZmZlcihlKSxyPW5ldyBCTihyKSxyPXIuaXNaZXJvKCk/bnVsbDpCdWZmZXIuZnJvbShyLnRvQXJyYXkoKSksZXhwb3J0cy5ybHBoYXNoKFtlLHJdKS5zbGljZSgtMjApfSxleHBvcnRzLmlzUHJlY29tcGlsZWQ9ZnVuY3Rpb24oZSl7dmFyIHI9ZXhwb3J0cy51bnBhZChlKTtyZXR1cm4gMT09PXIubGVuZ3RoJiZyWzBdPjAmJnJbMF08NX0sZXhwb3J0cy5hZGRIZXhQcmVmaXg9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlP2U6ZXhwb3J0cy5pc0hleFByZWZpeGVkKGUpP2U6IjB4IitlfSxleHBvcnRzLmlzVmFsaWRTaWduYXR1cmU9ZnVuY3Rpb24oZSxyLHQsZil7dmFyIG89bmV3IEJOKCI3ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjVkNTc2ZTczNTdhNDUwMWRkZmU5MmY0NjY4MWIyMGEwIiwxNikscz1uZXcgQk4oImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYmFhZWRjZTZhZjQ4YTAzYmJmZDI1ZThjZDAzNjQxNDEiLDE2KTtyZXR1cm4gMzI9PT1yLmxlbmd0aCYmMzI9PT10Lmxlbmd0aCYmKCgyNz09PWV8fDI4PT09ZSkmJihyPW5ldyBCTihyKSx0PW5ldyBCTih0KSwhKHIuaXNaZXJvKCl8fHIuZ3Qocyl8fHQuaXNaZXJvKCl8fHQuZ3QocykpJiYoITEhPT1mfHwxIT09bmV3IEJOKHQpLmNtcChvKSkpKX0sZXhwb3J0cy5iYVRvSlNPTj1mdW5jdGlvbihlKXtpZihCdWZmZXIuaXNCdWZmZXIoZSkpcmV0dXJuIjB4IitlLnRvU3RyaW5nKCJoZXgiKTtpZihlIGluc3RhbmNlb2YgQXJyYXkpe2Zvcih2YXIgcj1bXSx0PTA7dDxlLmxlbmd0aDt0Kyspci5wdXNoKGV4cG9ydHMuYmFUb0pTT04oZVt0XSkpO3JldHVybiByfX0sZXhwb3J0cy5kZWZpbmVQcm9wZXJ0aWVzPWZ1bmN0aW9uKGUscix0KXtpZihlLnJhdz1bXSxlLl9maWVsZHM9W10sZS50b0pTT049ZnVuY3Rpb24ocil7aWYocil7dmFyIHQ9e307cmV0dXJuIGUuX2ZpZWxkcy5mb3JFYWNoKGZ1bmN0aW9uKHIpe3Rbcl09IjB4IitlW3JdLnRvU3RyaW5nKCJoZXgiKX0pLHR9cmV0dXJuIGV4cG9ydHMuYmFUb0pTT04odGhpcy5yYXcpfSxlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiBybHAuZW5jb2RlKGUucmF3KX0sci5mb3JFYWNoKGZ1bmN0aW9uKHIsdCl7ZnVuY3Rpb24gZigpe3JldHVybiBlLnJhd1t0XX1mdW5jdGlvbiBvKGYpeyIwMCIhPT0oZj1leHBvcnRzLnRvQnVmZmVyKGYpKS50b1N0cmluZygiaGV4Iil8fHIuYWxsb3daZXJvfHwoZj1CdWZmZXIuYWxsb2NVbnNhZmUoMCkpLHIuYWxsb3dMZXNzJiZyLmxlbmd0aD8oZj1leHBvcnRzLnN0cmlwWmVyb3MoZiksYXNzZXJ0KHIubGVuZ3RoPj1mLmxlbmd0aCwiVGhlIGZpZWxkICIrci5uYW1lKyIgbXVzdCBub3QgaGF2ZSBtb3JlICIrci5sZW5ndGgrIiBieXRlcyIpKTpyLmFsbG93WmVybyYmMD09PWYubGVuZ3RofHwhci5sZW5ndGh8fGFzc2VydChyLmxlbmd0aD09PWYubGVuZ3RoLCJUaGUgZmllbGQgIityLm5hbWUrIiBtdXN0IGhhdmUgYnl0ZSBsZW5ndGggb2YgIityLmxlbmd0aCksZS5yYXdbdF09Zn1lLl9maWVsZHMucHVzaChyLm5hbWUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIubmFtZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OmYsc2V0Om99KSxyLmRlZmF1bHQmJihlW3IubmFtZV09ci5kZWZhdWx0KSxyLmFsaWFzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmFsaWFzLHtlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMCxzZXQ6byxnZXQ6Zn0pfSksdClpZigic3RyaW5nIj09dHlwZW9mIHQmJih0PUJ1ZmZlci5mcm9tKGV4cG9ydHMuc3RyaXBIZXhQcmVmaXgodCksImhleCIpKSxCdWZmZXIuaXNCdWZmZXIodCkmJih0PXJscC5kZWNvZGUodCkpLEFycmF5LmlzQXJyYXkodCkpe2lmKHQubGVuZ3RoPmUuX2ZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBudW1iZXIgb2YgZmllbGRzIGluIGRhdGEiKTt0LmZvckVhY2goZnVuY3Rpb24ocix0KXtlW2UuX2ZpZWxkc1t0XV09ZXhwb3J0cy50b0J1ZmZlcihyKX0pfWVsc2V7aWYoIm9iamVjdCIhPT0odm9pZCAwPT09dD8idW5kZWZpbmVkIjpfdHlwZW9mKHQpKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZGF0YSIpO3ZhciBmPU9iamVjdC5rZXlzKHQpO3IuZm9yRWFjaChmdW5jdGlvbihyKXstMSE9PWYuaW5kZXhPZihyLm5hbWUpJiYoZVtyLm5hbWVdPXRbci5uYW1lXSksLTEhPT1mLmluZGV4T2Yoci5hbGlhcykmJihlW3IuYWxpYXNdPXRbci5hbGlhc10pfSl9fTsNCg0KICB9KS5jYWxsKHRoaXMscmVxdWlyZSgiYnVmZmVyIikuQnVmZmVyKQ0KICB9LHsiYXNzZXJ0IjoxLCJibi5qcyI6NCwiYnVmZmVyIjo4LCJjcmVhdGUtaGFzaCI6MTEsImV0aGpzLXV0aWwiOjM0LCJrZWNjYWsiOjU2LCJybHAiOjgxLCJzZWNwMjU2azEiOjgzfV0sMzM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAoZnVuY3Rpb24gKEJ1ZmZlcil7DQogIGNvbnN0IFNIQTM9cmVxdWlyZSgia2VjY2FranMiKSxzZWNwMjU2azE9cmVxdWlyZSgic2VjcDI1NmsxIiksYXNzZXJ0PXJlcXVpcmUoImFzc2VydCIpLHJscD1yZXF1aXJlKCJybHAiKSxCTj1yZXF1aXJlKCJibi5qcyIpLGNyZWF0ZUhhc2g9cmVxdWlyZSgiY3JlYXRlLWhhc2giKTtleHBvcnRzLk1BWF9JTlRFR0VSPW5ldyBCTigiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiIsMTYpLGV4cG9ydHMuVFdPX1BPVzI1Nj1uZXcgQk4oIjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwxNiksZXhwb3J0cy5TSEEzX05VTExfUz0iYzVkMjQ2MDE4NmY3MjMzYzkyN2U3ZGIyZGNjNzAzYzBlNTAwYjY1M2NhODIyNzNiN2JmYWQ4MDQ1ZDg1YTQ3MCIsZXhwb3J0cy5TSEEzX05VTEw9bmV3IEJ1ZmZlcihleHBvcnRzLlNIQTNfTlVMTF9TLCJoZXgiKSxleHBvcnRzLlNIQTNfUkxQX0FSUkFZX1M9IjFkY2M0ZGU4ZGVjNzVkN2FhYjg1YjU2N2I2Y2NkNDFhZDMxMjQ1MWI5NDhhNzQxM2YwYTE0MmZkNDBkNDkzNDciLGV4cG9ydHMuU0hBM19STFBfQVJSQVk9bmV3IEJ1ZmZlcihleHBvcnRzLlNIQTNfUkxQX0FSUkFZX1MsImhleCIpLGV4cG9ydHMuU0hBM19STFBfUz0iNTZlODFmMTcxYmNjNTVhNmZmODM0NWU2OTJjMGY4NmU1YjQ4ZTAxYjk5NmNhZGMwMDE2MjJmYjVlMzYzYjQyMSIsZXhwb3J0cy5TSEEzX1JMUD1uZXcgQnVmZmVyKGV4cG9ydHMuU0hBM19STFBfUywiaGV4IiksZXhwb3J0cy5CTj1CTixleHBvcnRzLnJscD1ybHAsZXhwb3J0cy5zZWNwMjU2azE9c2VjcDI1NmsxLGV4cG9ydHMuemVyb3M9ZnVuY3Rpb24oZSl7dmFyIHI9bmV3IEJ1ZmZlcihlKTtyZXR1cm4gci5maWxsKDApLHJ9LGV4cG9ydHMuc2V0TGVuZ3RoTGVmdD1leHBvcnRzLnNldExlbmd0aD1mdW5jdGlvbihlLHIsdCl7dmFyIGY9ZXhwb3J0cy56ZXJvcyhyKTtyZXR1cm4gZT1leHBvcnRzLnRvQnVmZmVyKGUpLHQ/ZS5sZW5ndGg8cj8oZS5jb3B5KGYpLGYpOmUuc2xpY2UoMCxyKTplLmxlbmd0aDxyPyhlLmNvcHkoZixyLWUubGVuZ3RoKSxmKTplLnNsaWNlKC1yKX0sZXhwb3J0cy5zZXRMZW5ndGhSaWdodD1mdW5jdGlvbihlLHIpe3JldHVybiBleHBvcnRzLnNldExlbmd0aChlLHIsITApfSxleHBvcnRzLnVucGFkPWV4cG9ydHMuc3RyaXBaZXJvcz1mdW5jdGlvbihlKXtmb3IodmFyIHI9KGU9ZXhwb3J0cy5zdHJpcEhleFByZWZpeChlKSlbMF07ZS5sZW5ndGg+MCYmIjAiPT09ci50b1N0cmluZygpOylyPShlPWUuc2xpY2UoMSkpWzBdO3JldHVybiBlfSxleHBvcnRzLnRvQnVmZmVyPWZ1bmN0aW9uKGUpe2lmKCFCdWZmZXIuaXNCdWZmZXIoZSkpaWYoQXJyYXkuaXNBcnJheShlKSllPW5ldyBCdWZmZXIoZSk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIGUpZT1leHBvcnRzLmlzSGV4UHJlZml4ZWQoZSk/bmV3IEJ1ZmZlcihleHBvcnRzLnBhZFRvRXZlbihleHBvcnRzLnN0cmlwSGV4UHJlZml4KGUpKSwiaGV4Iik6bmV3IEJ1ZmZlcihlKTtlbHNlIGlmKCJudW1iZXIiPT10eXBlb2YgZSllPWV4cG9ydHMuaW50VG9CdWZmZXIoZSk7ZWxzZSBpZihudWxsPT09ZXx8dm9pZCAwPT09ZSllPW5ldyBCdWZmZXIoW10pO2Vsc2V7aWYoIWUudG9BcnJheSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgdHlwZSIpO2U9bmV3IEJ1ZmZlcihlLnRvQXJyYXkoKSl9cmV0dXJuIGV9LGV4cG9ydHMuaW50VG9IZXg9ZnVuY3Rpb24oZSl7YXNzZXJ0KGUlMT09MCwibnVtYmVyIGlzIG5vdCBhIGludGVnZXIiKSxhc3NlcnQoZT49MCwibnVtYmVyIG11c3QgYmUgcG9zaXRpdmUiKTt2YXIgcj1lLnRvU3RyaW5nKDE2KTtyZXR1cm4gci5sZW5ndGglMiYmKHI9IjAiK3IpLCIweCIrcn0sZXhwb3J0cy5pbnRUb0J1ZmZlcj1mdW5jdGlvbihlKXt2YXIgcj1leHBvcnRzLmludFRvSGV4KGUpO3JldHVybiBuZXcgQnVmZmVyKHIuc2xpY2UoMiksImhleCIpfSxleHBvcnRzLmJ1ZmZlclRvSW50PWZ1bmN0aW9uKGUpe3JldHVybiBwYXJzZUludChleHBvcnRzLmJ1ZmZlclRvSGV4KGUpLDE2KX0sZXhwb3J0cy5idWZmZXJUb0hleD1mdW5jdGlvbihlKXtyZXR1cm4gMD09PShlPWV4cG9ydHMudG9CdWZmZXIoZSkpLmxlbmd0aD8wOiIweCIrZS50b1N0cmluZygiaGV4Iil9LGV4cG9ydHMuZnJvbVNpZ25lZD1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IEJOKGUpLmZyb21Ud29zKDI1Nil9LGV4cG9ydHMudG9VbnNpZ25lZD1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IEJ1ZmZlcihlLnRvVHdvcygyNTYpLnRvQXJyYXkoKSl9LGV4cG9ydHMuc2hhMz1mdW5jdGlvbihlLHIpe2U9ZXhwb3J0cy50b0J1ZmZlcihlKSxyfHwocj0yNTYpO3ZhciB0PW5ldyBTSEEzKHIpO3JldHVybiBlJiZ0LnVwZGF0ZShlKSxuZXcgQnVmZmVyKHQuZGlnZXN0KCJoZXgiKSwiaGV4Iil9LGV4cG9ydHMuc2hhMjU2PWZ1bmN0aW9uKGUpe3JldHVybiBlPWV4cG9ydHMudG9CdWZmZXIoZSksY3JlYXRlSGFzaCgic2hhMjU2IikudXBkYXRlKGUpLmRpZ2VzdCgpfSxleHBvcnRzLnJpcGVtZDE2MD1mdW5jdGlvbihlLHIpe2U9ZXhwb3J0cy50b0J1ZmZlcihlKTt2YXIgdD1jcmVhdGVIYXNoKCJybWQxNjAiKS51cGRhdGUoZSkuZGlnZXN0KCk7cmV0dXJuITA9PT1yP2V4cG9ydHMuc2V0TGVuZ3RoKHQsMzIpOnR9LGV4cG9ydHMucmxwaGFzaD1mdW5jdGlvbihlKXtyZXR1cm4gZXhwb3J0cy5zaGEzKHJscC5lbmNvZGUoZSkpfSxleHBvcnRzLmlzVmFsaWRQcml2YXRlPWZ1bmN0aW9uKGUpe3JldHVybiBzZWNwMjU2azEucHJpdmF0ZUtleVZlcmlmeShlKX0sZXhwb3J0cy5pc1ZhbGlkUHVibGljPWZ1bmN0aW9uKGUscil7cmV0dXJuIDY0PT09ZS5sZW5ndGg/c2VjcDI1NmsxLnB1YmxpY0tleVZlcmlmeShCdWZmZXIuY29uY2F0KFtuZXcgQnVmZmVyKFs0XSksZV0pKTohIXImJnNlY3AyNTZrMS5wdWJsaWNLZXlWZXJpZnkoZSl9LGV4cG9ydHMucHViVG9BZGRyZXNzPWV4cG9ydHMucHVibGljVG9BZGRyZXNzPWZ1bmN0aW9uKGUscil7cmV0dXJuIGU9ZXhwb3J0cy50b0J1ZmZlcihlKSxyJiY2NCE9PWUubGVuZ3RoJiYoZT1zZWNwMjU2azEucHVibGljS2V5Q29udmVydChlLCExKS5zbGljZSgxKSksYXNzZXJ0KDY0PT09ZS5sZW5ndGgpLGV4cG9ydHMuc2hhMyhlKS5zbGljZSgtMjApfTt2YXIgcHJpdmF0ZVRvUHVibGljPWV4cG9ydHMucHJpdmF0ZVRvUHVibGljPWZ1bmN0aW9uKGUpe3JldHVybiBlPWV4cG9ydHMudG9CdWZmZXIoZSksc2VjcDI1NmsxLnB1YmxpY0tleUNyZWF0ZShlLCExKS5zbGljZSgxKX07ZXhwb3J0cy5pbXBvcnRQdWJsaWM9ZnVuY3Rpb24oZSl7cmV0dXJuIDY0IT09KGU9ZXhwb3J0cy50b0J1ZmZlcihlKSkubGVuZ3RoJiYoZT1zZWNwMjU2azEucHVibGljS2V5Q29udmVydChlLCExKS5zbGljZSgxKSksZX0sZXhwb3J0cy5lY3NpZ249ZnVuY3Rpb24oZSxyKXt2YXIgdD1zZWNwMjU2azEuc2lnbihlLHIpLGY9e307cmV0dXJuIGYucj10LnNpZ25hdHVyZS5zbGljZSgwLDMyKSxmLnM9dC5zaWduYXR1cmUuc2xpY2UoMzIsNjQpLGYudj10LnJlY292ZXJ5KzI3LGZ9LGV4cG9ydHMuZWNyZWNvdmVyPWZ1bmN0aW9uKGUscix0LGYpe3ZhciBzPUJ1ZmZlci5jb25jYXQoW2V4cG9ydHMuc2V0TGVuZ3RoKHQsMzIpLGV4cG9ydHMuc2V0TGVuZ3RoKGYsMzIpXSw2NCksbz1leHBvcnRzLmJ1ZmZlclRvSW50KHIpLTI3O2lmKDAhPT1vJiYxIT09byl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2lnbmF0dXJlIHYgdmFsdWUiKTt2YXIgbj1zZWNwMjU2azEucmVjb3ZlcihlLHMsbyk7cmV0dXJuIHNlY3AyNTZrMS5wdWJsaWNLZXlDb252ZXJ0KG4sITEpLnNsaWNlKDEpfSxleHBvcnRzLnRvUnBjU2lnPWZ1bmN0aW9uKGUscix0KXtyZXR1cm4gZXhwb3J0cy5idWZmZXJUb0hleChCdWZmZXIuY29uY2F0KFtyLHQsZXhwb3J0cy50b0J1ZmZlcihlLTI3KV0pKX0sZXhwb3J0cy5mcm9tUnBjU2lnPWZ1bmN0aW9uKGUpe3ZhciByPShlPWV4cG9ydHMudG9CdWZmZXIoZSkpWzY0XTtyZXR1cm4gcjwyNyYmKHIrPTI3KSx7djpyLHI6ZS5zbGljZSgwLDMyKSxzOmUuc2xpY2UoMzIsNjQpfX0sZXhwb3J0cy5wcml2YXRlVG9BZGRyZXNzPWZ1bmN0aW9uKGUpe3JldHVybiBleHBvcnRzLnB1YmxpY1RvQWRkcmVzcyhwcml2YXRlVG9QdWJsaWMoZSkpfSxleHBvcnRzLmlzVmFsaWRBZGRyZXNzPWZ1bmN0aW9uKGUpe3JldHVybi9eMHhbMC05YS1mQS1GXXs0MH0kL2kudGVzdChlKX0sZXhwb3J0cy50b0NoZWNrc3VtQWRkcmVzcz1mdW5jdGlvbihlKXtlPWV4cG9ydHMuc3RyaXBIZXhQcmVmaXgoZSkudG9Mb3dlckNhc2UoKTtmb3IodmFyIHI9ZXhwb3J0cy5zaGEzKGUpLnRvU3RyaW5nKCJoZXgiKSx0PSIweCIsZj0wO2Y8ZS5sZW5ndGg7ZisrKXBhcnNlSW50KHJbZl0sMTYpPj04P3QrPWVbZl0udG9VcHBlckNhc2UoKTp0Kz1lW2ZdO3JldHVybiB0fSxleHBvcnRzLmlzVmFsaWRDaGVja3N1bUFkZHJlc3M9ZnVuY3Rpb24oZSl7cmV0dXJuIGV4cG9ydHMuaXNWYWxpZEFkZHJlc3MoZSkmJmV4cG9ydHMudG9DaGVja3N1bUFkZHJlc3MoZSk9PT1lfSxleHBvcnRzLmdlbmVyYXRlQWRkcmVzcz1mdW5jdGlvbihlLHIpe3JldHVybiBlPWV4cG9ydHMudG9CdWZmZXIoZSkscj1uZXcgQk4ocikscj1yLmlzWmVybygpP251bGw6bmV3IEJ1ZmZlcihyLnRvQXJyYXkoKSksZXhwb3J0cy5ybHBoYXNoKFtlLHJdKS5zbGljZSgtMjApfSxleHBvcnRzLmlzUHJlY29tcGlsZWQ9ZnVuY3Rpb24oZSl7dmFyIHI9ZXhwb3J0cy51bnBhZChlKTtyZXR1cm4gMT09PXIubGVuZ3RoJiZyWzBdPjAmJnJbMF08NX0sZXhwb3J0cy5pc0hleFByZWZpeGVkPWZ1bmN0aW9uKGUpe3JldHVybiIweCI9PT1lLnNsaWNlKDAsMil9LGV4cG9ydHMuc3RyaXBIZXhQcmVmaXg9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlP2U6ZXhwb3J0cy5pc0hleFByZWZpeGVkKGUpP2Uuc2xpY2UoMik6ZX0sZXhwb3J0cy5hZGRIZXhQcmVmaXg9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlP2U6ZXhwb3J0cy5pc0hleFByZWZpeGVkKGUpP2U6IjB4IitlfSxleHBvcnRzLnBhZFRvRXZlbj1mdW5jdGlvbihlKXtyZXR1cm4gZS5sZW5ndGglMiYmKGU9IjAiK2UpLGV9LGV4cG9ydHMuYmFUb0pTT049ZnVuY3Rpb24oZSl7aWYoQnVmZmVyLmlzQnVmZmVyKGUpKXJldHVybiIweCIrZS50b1N0cmluZygiaGV4Iik7aWYoZSBpbnN0YW5jZW9mIEFycmF5KXtmb3IodmFyIHI9W10sdD0wO3Q8ZS5sZW5ndGg7dCsrKXIucHVzaChleHBvcnRzLmJhVG9KU09OKGVbdF0pKTtyZXR1cm4gcn19LGV4cG9ydHMuZGVmaW5lUHJvcGVydGllcz1mdW5jdGlvbihlLHIsdCl7aWYoZS5yYXc9W10sZS5fZmllbGRzPVtdLGUudG9KU09OPWZ1bmN0aW9uKHIpe2lmKHIpe3ZhciB0PXt9O3JldHVybiBlLl9maWVsZHMuZm9yRWFjaChmdW5jdGlvbihyKXt0W3JdPSIweCIrZVtyXS50b1N0cmluZygiaGV4Iil9KSx0fXJldHVybiBleHBvcnRzLmJhVG9KU09OKHRoaXMucmF3KX0sZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm4gcmxwLmVuY29kZShlLnJhdyl9LHIuZm9yRWFjaChmdW5jdGlvbihyLHQpe2Z1bmN0aW9uIGYoKXtyZXR1cm4gZS5yYXdbdF19ZnVuY3Rpb24gcyhmKXsiMDAiIT09KGY9ZXhwb3J0cy50b0J1ZmZlcihmKSkudG9TdHJpbmcoImhleCIpfHxyLmFsbG93WmVyb3x8KGY9bmV3IEJ1ZmZlcihbXSkpLHIuYWxsb3dMZXNzJiZyLmxlbmd0aD8oZj1leHBvcnRzLnN0cmlwWmVyb3MoZiksYXNzZXJ0KHIubGVuZ3RoPj1mLmxlbmd0aCwiVGhlIGZpZWxkICIrci5uYW1lKyIgbXVzdCBub3QgaGF2ZSBtb3JlICIrci5sZW5ndGgrIiBieXRlcyIpKTpyLmFsbG93WmVybyYmMD09PWYubGVuZ3RofHwhci5sZW5ndGh8fGFzc2VydChyLmxlbmd0aD09PWYubGVuZ3RoLCJUaGUgZmllbGQgIityLm5hbWUrIiBtdXN0IGhhdmUgYnl0ZSBsZW5ndGggb2YgIityLmxlbmd0aCksZS5yYXdbdF09Zn1lLl9maWVsZHMucHVzaChyLm5hbWUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIubmFtZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OmYsc2V0OnN9KSxyLmRlZmF1bHQmJihlW3IubmFtZV09ci5kZWZhdWx0KSxyLmFsaWFzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmFsaWFzLHtlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMCxzZXQ6cyxnZXQ6Zn0pfSksdClpZigic3RyaW5nIj09dHlwZW9mIHQmJih0PW5ldyBCdWZmZXIoZXhwb3J0cy5zdHJpcEhleFByZWZpeCh0KSwiaGV4IikpLEJ1ZmZlci5pc0J1ZmZlcih0KSYmKHQ9cmxwLmRlY29kZSh0KSksQXJyYXkuaXNBcnJheSh0KSl7aWYodC5sZW5ndGg+ZS5fZmllbGRzLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIG51bWJlciBvZiBmaWVsZHMgaW4gZGF0YSIpO3QuZm9yRWFjaChmdW5jdGlvbihyLHQpe2VbZS5fZmllbGRzW3RdXT1leHBvcnRzLnRvQnVmZmVyKHIpfSl9ZWxzZXtpZigib2JqZWN0IiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGRhdGEiKTtmb3IodmFyIGYgaW4gdCktMSE9PWUuX2ZpZWxkcy5pbmRleE9mKGYpJiYoZVtmXT10W2ZdKX19Ow0KDQogIH0pLmNhbGwodGhpcyxyZXF1aXJlKCJidWZmZXIiKS5CdWZmZXIpDQogIH0seyJhc3NlcnQiOjEsImJuLmpzIjo0LCJidWZmZXIiOjgsImNyZWF0ZS1oYXNoIjoxMSwia2VjY2FranMiOjYyLCJybHAiOjgxLCJzZWNwMjU2azEiOjgzfV0sMzQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAoZnVuY3Rpb24gKEJ1ZmZlcil7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBwYWRUb0V2ZW4ocil7dmFyIGU9cjtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJbZXRoanMtdXRpbF0gd2hpbGUgcGFkZGluZyB0byBldmVuLCB2YWx1ZSBtdXN0IGJlIHN0cmluZywgaXMgY3VycmVudGx5ICIrdHlwZW9mIGUrIiwgd2hpbGUgcGFkVG9FdmVuLiIpO3JldHVybiBlLmxlbmd0aCUyJiYoZT0iMCIrZSksZX1mdW5jdGlvbiBpbnRUb0hleChyKXtyZXR1cm4iMHgiK3BhZFRvRXZlbihyLnRvU3RyaW5nKDE2KSl9ZnVuY3Rpb24gaW50VG9CdWZmZXIocil7dmFyIGU9aW50VG9IZXgocik7cmV0dXJuIG5ldyBCdWZmZXIoZS5zbGljZSgyKSwiaGV4Iil9ZnVuY3Rpb24gZ2V0QmluYXJ5U2l6ZShyKXtpZigic3RyaW5nIiE9dHlwZW9mIHIpdGhyb3cgbmV3IEVycm9yKCJbZXRoanMtdXRpbF0gd2hpbGUgZ2V0dGluZyBiaW5hcnkgc2l6ZSwgbWV0aG9kIGdldEJpbmFyeVNpemUgcmVxdWlyZXMgaW5wdXQgJ3N0cicgdG8gYmUgdHlwZSBTdHJpbmcsIGdvdCAnIit0eXBlb2YgcisiJy4iKTtyZXR1cm4gQnVmZmVyLmJ5dGVMZW5ndGgociwidXRmOCIpfWZ1bmN0aW9uIGFycmF5Q29udGFpbnNBcnJheShyLGUsdCl7aWYoITAhPT1BcnJheS5pc0FycmF5KHIpKXRocm93IG5ldyBFcnJvcigiW2V0aGpzLXV0aWxdIG1ldGhvZCBhcnJheUNvbnRhaW5zQXJyYXkgcmVxdWlyZXMgaW5wdXQgJ3N1cGVyc2V0JyB0byBiZSBhbiBhcnJheSBnb3QgdHlwZSAnIit0eXBlb2YgcisiJyIpO2lmKCEwIT09QXJyYXkuaXNBcnJheShlKSl0aHJvdyBuZXcgRXJyb3IoIltldGhqcy11dGlsXSBtZXRob2QgYXJyYXlDb250YWluc0FycmF5IHJlcXVpcmVzIGlucHV0ICdzdWJzZXQnIHRvIGJlIGFuIGFycmF5IGdvdCB0eXBlICciK3R5cGVvZiBlKyInIik7cmV0dXJuIGVbQm9vbGVhbih0KSYmInNvbWUifHwiZXZlcnkiXShmdW5jdGlvbihlKXtyZXR1cm4gci5pbmRleE9mKGUpPj0wfSl9ZnVuY3Rpb24gdG9VdGY4KHIpe3JldHVybiBuZXcgQnVmZmVyKHBhZFRvRXZlbihzdHJpcEhleFByZWZpeChyKS5yZXBsYWNlKC9eMCt8MCskL2csIiIpKSwiaGV4IikudG9TdHJpbmcoInV0ZjgiKX1mdW5jdGlvbiB0b0FzY2lpKHIpe3ZhciBlPSIiLHQ9MCxpPXIubGVuZ3RoO2ZvcigiMHgiPT09ci5zdWJzdHJpbmcoMCwyKSYmKHQ9Mik7dDxpO3QrPTIpe3ZhciBuPXBhcnNlSW50KHIuc3Vic3RyKHQsMiksMTYpO2UrPVN0cmluZy5mcm9tQ2hhckNvZGUobil9cmV0dXJuIGV9ZnVuY3Rpb24gZnJvbVV0Zjgocil7cmV0dXJuIjB4IitwYWRUb0V2ZW4obmV3IEJ1ZmZlcihyLCJ1dGY4IikudG9TdHJpbmcoImhleCIpKS5yZXBsYWNlKC9eMCt8MCskL2csIiIpfWZ1bmN0aW9uIGZyb21Bc2NpaShyKXtmb3IodmFyIGU9IiIsdD0wO3Q8ci5sZW5ndGg7dCsrKXt2YXIgaT1yLmNoYXJDb2RlQXQodCkudG9TdHJpbmcoMTYpO2UrPWkubGVuZ3RoPDI/IjAiK2k6aX1yZXR1cm4iMHgiK2V9ZnVuY3Rpb24gZ2V0S2V5cyhyLGUsdCl7aWYoIUFycmF5LmlzQXJyYXkocikpdGhyb3cgbmV3IEVycm9yKCJbZXRoanMtdXRpbF0gbWV0aG9kIGdldEtleXMgZXhwZWN0aW5nIHR5cGUgQXJyYXkgYXMgJ3BhcmFtcycgaW5wdXQsIGdvdCAnIit0eXBlb2YgcisiJyIpO2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIltldGhqcy11dGlsXSBtZXRob2QgZ2V0S2V5cyBleHBlY3RpbmcgdHlwZSBTdHJpbmcgZm9yIGlucHV0ICdrZXknIGdvdCAnIit0eXBlb2YgZSsiJy4iKTtmb3IodmFyIGk9W10sbj0wO248ci5sZW5ndGg7bisrKXt2YXIgbz1yW25dW2VdO2lmKHQmJiFvKW89IiI7ZWxzZSBpZigic3RyaW5nIiE9dHlwZW9mIG8pdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGFiaSIpO2kucHVzaChvKX1yZXR1cm4gaX1mdW5jdGlvbiBpc0hleFN0cmluZyhyLGUpe3JldHVybiEoInN0cmluZyIhPXR5cGVvZiByfHwhci5tYXRjaCgvXjB4WzAtOUEtRmEtZl0qJC8pKSYmKCFlfHxyLmxlbmd0aD09PTIrMiplKX12YXIgaXNIZXhQcmVmaXhlZD1yZXF1aXJlKCJpcy1oZXgtcHJlZml4ZWQiKSxzdHJpcEhleFByZWZpeD1yZXF1aXJlKCJzdHJpcC1oZXgtcHJlZml4Iik7bW9kdWxlLmV4cG9ydHM9e2FycmF5Q29udGFpbnNBcnJheTphcnJheUNvbnRhaW5zQXJyYXksaW50VG9CdWZmZXI6aW50VG9CdWZmZXIsZ2V0QmluYXJ5U2l6ZTpnZXRCaW5hcnlTaXplLGlzSGV4UHJlZml4ZWQ6aXNIZXhQcmVmaXhlZCxzdHJpcEhleFByZWZpeDpzdHJpcEhleFByZWZpeCxwYWRUb0V2ZW46cGFkVG9FdmVuLGludFRvSGV4OmludFRvSGV4LGZyb21Bc2NpaTpmcm9tQXNjaWksZnJvbVV0Zjg6ZnJvbVV0ZjgsdG9Bc2NpaTp0b0FzY2lpLHRvVXRmODp0b1V0ZjgsZ2V0S2V5czpnZXRLZXlzLGlzSGV4U3RyaW5nOmlzSGV4U3RyaW5nfTsNCg0KICB9KS5jYWxsKHRoaXMscmVxdWlyZSgiYnVmZmVyIikuQnVmZmVyKQ0KICB9LHsiYnVmZmVyIjo4LCJpcy1oZXgtcHJlZml4ZWQiOjUzLCJzdHJpcC1oZXgtcHJlZml4Ijo5OX1dLDM1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgZnVuY3Rpb24gRXZlbnRFbWl0dGVyKCl7dGhpcy5fZXZlbnRzPXRoaXMuX2V2ZW50c3x8e30sdGhpcy5fbWF4TGlzdGVuZXJzPXRoaXMuX21heExpc3RlbmVyc3x8dm9pZCAwfWZ1bmN0aW9uIGlzRnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9ZnVuY3Rpb24gaXNOdW1iZXIoZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlfWZ1bmN0aW9uIGlzT2JqZWN0KGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWV9ZnVuY3Rpb24gaXNVbmRlZmluZWQoZSl7cmV0dXJuIHZvaWQgMD09PWV9bW9kdWxlLmV4cG9ydHM9RXZlbnRFbWl0dGVyLEV2ZW50RW1pdHRlci5FdmVudEVtaXR0ZXI9RXZlbnRFbWl0dGVyLEV2ZW50RW1pdHRlci5wcm90b3R5cGUuX2V2ZW50cz12b2lkIDAsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5fbWF4TGlzdGVuZXJzPXZvaWQgMCxFdmVudEVtaXR0ZXIuZGVmYXVsdE1heExpc3RlbmVycz0xMCxFdmVudEVtaXR0ZXIucHJvdG90eXBlLnNldE1heExpc3RlbmVycz1mdW5jdGlvbihlKXtpZighaXNOdW1iZXIoZSl8fGU8MHx8aXNOYU4oZSkpdGhyb3cgVHlwZUVycm9yKCJuIG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXIiKTtyZXR1cm4gdGhpcy5fbWF4TGlzdGVuZXJzPWUsdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUpe3ZhciB0LGksbixzLHIsbztpZih0aGlzLl9ldmVudHN8fCh0aGlzLl9ldmVudHM9e30pLCJlcnJvciI9PT1lJiYoIXRoaXMuX2V2ZW50cy5lcnJvcnx8aXNPYmplY3QodGhpcy5fZXZlbnRzLmVycm9yKSYmIXRoaXMuX2V2ZW50cy5lcnJvci5sZW5ndGgpKXtpZigodD1hcmd1bWVudHNbMV0paW5zdGFuY2VvZiBFcnJvcil0aHJvdyB0O3ZhciBoPW5ldyBFcnJvcignVW5jYXVnaHQsIHVuc3BlY2lmaWVkICJlcnJvciIgZXZlbnQuICgnK3QrIikiKTt0aHJvdyBoLmNvbnRleHQ9dCxofWlmKGk9dGhpcy5fZXZlbnRzW2VdLGlzVW5kZWZpbmVkKGkpKXJldHVybiExO2lmKGlzRnVuY3Rpb24oaSkpc3dpdGNoKGFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMTppLmNhbGwodGhpcyk7YnJlYWs7Y2FzZSAyOmkuY2FsbCh0aGlzLGFyZ3VtZW50c1sxXSk7YnJlYWs7Y2FzZSAzOmkuY2FsbCh0aGlzLGFyZ3VtZW50c1sxXSxhcmd1bWVudHNbMl0pO2JyZWFrO2RlZmF1bHQ6cz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSksaS5hcHBseSh0aGlzLHMpfWVsc2UgaWYoaXNPYmplY3QoaSkpZm9yKHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLG49KG89aS5zbGljZSgpKS5sZW5ndGgscj0wO3I8bjtyKyspb1tyXS5hcHBseSh0aGlzLHMpO3JldHVybiEwfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7dmFyIGk7aWYoIWlzRnVuY3Rpb24odCkpdGhyb3cgVHlwZUVycm9yKCJsaXN0ZW5lciBtdXN0IGJlIGEgZnVuY3Rpb24iKTtyZXR1cm4gdGhpcy5fZXZlbnRzfHwodGhpcy5fZXZlbnRzPXt9KSx0aGlzLl9ldmVudHMubmV3TGlzdGVuZXImJnRoaXMuZW1pdCgibmV3TGlzdGVuZXIiLGUsaXNGdW5jdGlvbih0Lmxpc3RlbmVyKT90Lmxpc3RlbmVyOnQpLHRoaXMuX2V2ZW50c1tlXT9pc09iamVjdCh0aGlzLl9ldmVudHNbZV0pP3RoaXMuX2V2ZW50c1tlXS5wdXNoKHQpOnRoaXMuX2V2ZW50c1tlXT1bdGhpcy5fZXZlbnRzW2VdLHRdOnRoaXMuX2V2ZW50c1tlXT10LGlzT2JqZWN0KHRoaXMuX2V2ZW50c1tlXSkmJiF0aGlzLl9ldmVudHNbZV0ud2FybmVkJiYoaT1pc1VuZGVmaW5lZCh0aGlzLl9tYXhMaXN0ZW5lcnMpP0V2ZW50RW1pdHRlci5kZWZhdWx0TWF4TGlzdGVuZXJzOnRoaXMuX21heExpc3RlbmVycykmJmk+MCYmdGhpcy5fZXZlbnRzW2VdLmxlbmd0aD5pJiYodGhpcy5fZXZlbnRzW2VdLndhcm5lZD0hMCxjb25zb2xlLmVycm9yKCIobm9kZSkgd2FybmluZzogcG9zc2libGUgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrIGRldGVjdGVkLiAlZCBsaXN0ZW5lcnMgYWRkZWQuIFVzZSBlbWl0dGVyLnNldE1heExpc3RlbmVycygpIHRvIGluY3JlYXNlIGxpbWl0LiIsdGhpcy5fZXZlbnRzW2VdLmxlbmd0aCksImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUudHJhY2UmJmNvbnNvbGUudHJhY2UoKSksdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5vbj1FdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyLEV2ZW50RW1pdHRlci5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIGkoKXt0aGlzLnJlbW92ZUxpc3RlbmVyKGUsaSksbnx8KG49ITAsdC5hcHBseSh0aGlzLGFyZ3VtZW50cykpfWlmKCFpc0Z1bmN0aW9uKHQpKXRocm93IFR5cGVFcnJvcigibGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIik7dmFyIG49ITE7cmV0dXJuIGkubGlzdGVuZXI9dCx0aGlzLm9uKGUsaSksdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3ZhciBpLG4scyxyO2lmKCFpc0Z1bmN0aW9uKHQpKXRocm93IFR5cGVFcnJvcigibGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIik7aWYoIXRoaXMuX2V2ZW50c3x8IXRoaXMuX2V2ZW50c1tlXSlyZXR1cm4gdGhpcztpZihpPXRoaXMuX2V2ZW50c1tlXSxzPWkubGVuZ3RoLG49LTEsaT09PXR8fGlzRnVuY3Rpb24oaS5saXN0ZW5lcikmJmkubGlzdGVuZXI9PT10KWRlbGV0ZSB0aGlzLl9ldmVudHNbZV0sdGhpcy5fZXZlbnRzLnJlbW92ZUxpc3RlbmVyJiZ0aGlzLmVtaXQoInJlbW92ZUxpc3RlbmVyIixlLHQpO2Vsc2UgaWYoaXNPYmplY3QoaSkpe2ZvcihyPXM7ci0tID4wOylpZihpW3JdPT09dHx8aVtyXS5saXN0ZW5lciYmaVtyXS5saXN0ZW5lcj09PXQpe249cjticmVha31pZihuPDApcmV0dXJuIHRoaXM7MT09PWkubGVuZ3RoPyhpLmxlbmd0aD0wLGRlbGV0ZSB0aGlzLl9ldmVudHNbZV0pOmkuc3BsaWNlKG4sMSksdGhpcy5fZXZlbnRzLnJlbW92ZUxpc3RlbmVyJiZ0aGlzLmVtaXQoInJlbW92ZUxpc3RlbmVyIixlLHQpfXJldHVybiB0aGlzfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdCxpO2lmKCF0aGlzLl9ldmVudHMpcmV0dXJuIHRoaXM7aWYoIXRoaXMuX2V2ZW50cy5yZW1vdmVMaXN0ZW5lcilyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5fZXZlbnRzPXt9OnRoaXMuX2V2ZW50c1tlXSYmZGVsZXRlIHRoaXMuX2V2ZW50c1tlXSx0aGlzO2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXtmb3IodCBpbiB0aGlzLl9ldmVudHMpInJlbW92ZUxpc3RlbmVyIiE9PXQmJnRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKHQpO3JldHVybiB0aGlzLnJlbW92ZUFsbExpc3RlbmVycygicmVtb3ZlTGlzdGVuZXIiKSx0aGlzLl9ldmVudHM9e30sdGhpc31pZihpPXRoaXMuX2V2ZW50c1tlXSxpc0Z1bmN0aW9uKGkpKXRoaXMucmVtb3ZlTGlzdGVuZXIoZSxpKTtlbHNlIGlmKGkpZm9yKDtpLmxlbmd0aDspdGhpcy5yZW1vdmVMaXN0ZW5lcihlLGlbaS5sZW5ndGgtMV0pO3JldHVybiBkZWxldGUgdGhpcy5fZXZlbnRzW2VdLHRoaXN9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9ldmVudHMmJnRoaXMuX2V2ZW50c1tlXT9pc0Z1bmN0aW9uKHRoaXMuX2V2ZW50c1tlXSk/W3RoaXMuX2V2ZW50c1tlXV06dGhpcy5fZXZlbnRzW2VdLnNsaWNlKCk6W119LEV2ZW50RW1pdHRlci5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1mdW5jdGlvbihlKXtpZih0aGlzLl9ldmVudHMpe3ZhciB0PXRoaXMuX2V2ZW50c1tlXTtpZihpc0Z1bmN0aW9uKHQpKXJldHVybiAxO2lmKHQpcmV0dXJuIHQubGVuZ3RofXJldHVybiAwfSxFdmVudEVtaXR0ZXIubGlzdGVuZXJDb3VudD1mdW5jdGlvbihlLHQpe3JldHVybiBlLmxpc3RlbmVyQ291bnQodCl9Ow0KDQogIH0se31dLDM2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgKGZ1bmN0aW9uIChCdWZmZXIpew0KICAidXNlIHN0cmljdCI7ZnVuY3Rpb24gSGFzaEJhc2UodCl7VHJhbnNmb3JtLmNhbGwodGhpcyksdGhpcy5fYmxvY2s9bmV3IEJ1ZmZlcih0KSx0aGlzLl9ibG9ja1NpemU9dCx0aGlzLl9ibG9ja09mZnNldD0wLHRoaXMuX2xlbmd0aD1bMCwwLDAsMF0sdGhpcy5fZmluYWxpemVkPSExfXZhciBUcmFuc2Zvcm09cmVxdWlyZSgic3RyZWFtIikuVHJhbnNmb3JtLGluaGVyaXRzPXJlcXVpcmUoImluaGVyaXRzIik7aW5oZXJpdHMoSGFzaEJhc2UsVHJhbnNmb3JtKSxIYXNoQmFzZS5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbih0LGUscil7dmFyIHM9bnVsbDt0cnl7ImJ1ZmZlciIhPT1lJiYodD1uZXcgQnVmZmVyKHQsZSkpLHRoaXMudXBkYXRlKHQpfWNhdGNoKHQpe3M9dH1yKHMpfSxIYXNoQmFzZS5wcm90b3R5cGUuX2ZsdXNoPWZ1bmN0aW9uKHQpe3ZhciBlPW51bGw7dHJ5e3RoaXMucHVzaCh0aGlzLl9kaWdlc3QoKSl9Y2F0Y2godCl7ZT10fXQoZSl9LEhhc2hCYXNlLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlKXtpZighQnVmZmVyLmlzQnVmZmVyKHQpJiYic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRGF0YSBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgYnVmZmVyIik7aWYodGhpcy5fZmluYWxpemVkKXRocm93IG5ldyBFcnJvcigiRGlnZXN0IGFscmVhZHkgY2FsbGVkIik7QnVmZmVyLmlzQnVmZmVyKHQpfHwodD1uZXcgQnVmZmVyKHQsZXx8ImJpbmFyeSIpKTtmb3IodmFyIHI9dGhpcy5fYmxvY2sscz0wO3RoaXMuX2Jsb2NrT2Zmc2V0K3QubGVuZ3RoLXM+PXRoaXMuX2Jsb2NrU2l6ZTspe2Zvcih2YXIgaT10aGlzLl9ibG9ja09mZnNldDtpPHRoaXMuX2Jsb2NrU2l6ZTspcltpKytdPXRbcysrXTt0aGlzLl91cGRhdGUoKSx0aGlzLl9ibG9ja09mZnNldD0wfWZvcig7czx0Lmxlbmd0aDspclt0aGlzLl9ibG9ja09mZnNldCsrXT10W3MrK107Zm9yKHZhciBvPTAsYT04KnQubGVuZ3RoO2E+MDsrK28pdGhpcy5fbGVuZ3RoW29dKz1hLChhPXRoaXMuX2xlbmd0aFtvXS80Mjk0OTY3Mjk2fDApPjAmJih0aGlzLl9sZW5ndGhbb10tPTQyOTQ5NjcyOTYqYSk7cmV0dXJuIHRoaXN9LEhhc2hCYXNlLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcigiX3VwZGF0ZSBpcyBub3QgaW1wbGVtZW50ZWQiKX0sSGFzaEJhc2UucHJvdG90eXBlLmRpZ2VzdD1mdW5jdGlvbih0KXtpZih0aGlzLl9maW5hbGl6ZWQpdGhyb3cgbmV3IEVycm9yKCJEaWdlc3QgYWxyZWFkeSBjYWxsZWQiKTt0aGlzLl9maW5hbGl6ZWQ9ITA7dmFyIGU9dGhpcy5fZGlnZXN0KCk7cmV0dXJuIHZvaWQgMCE9PXQmJihlPWUudG9TdHJpbmcodCkpLGV9LEhhc2hCYXNlLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJfZGlnZXN0IGlzIG5vdCBpbXBsZW1lbnRlZCIpfSxtb2R1bGUuZXhwb3J0cz1IYXNoQmFzZTsNCg0KICB9KS5jYWxsKHRoaXMscmVxdWlyZSgiYnVmZmVyIikuQnVmZmVyKQ0KICB9LHsiYnVmZmVyIjo4LCJpbmhlcml0cyI6NTEsInN0cmVhbSI6OTd9XSwzNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIHZhciBoYXNoPWV4cG9ydHM7aGFzaC51dGlscz1yZXF1aXJlKCIuL2hhc2gvdXRpbHMiKSxoYXNoLmNvbW1vbj1yZXF1aXJlKCIuL2hhc2gvY29tbW9uIiksaGFzaC5zaGE9cmVxdWlyZSgiLi9oYXNoL3NoYSIpLGhhc2gucmlwZW1kPXJlcXVpcmUoIi4vaGFzaC9yaXBlbWQiKSxoYXNoLmhtYWM9cmVxdWlyZSgiLi9oYXNoL2htYWMiKSxoYXNoLnNoYTE9aGFzaC5zaGEuc2hhMSxoYXNoLnNoYTI1Nj1oYXNoLnNoYS5zaGEyNTYsaGFzaC5zaGEyMjQ9aGFzaC5zaGEuc2hhMjI0LGhhc2guc2hhMzg0PWhhc2guc2hhLnNoYTM4NCxoYXNoLnNoYTUxMj1oYXNoLnNoYS5zaGE1MTIsaGFzaC5yaXBlbWQxNjA9aGFzaC5yaXBlbWQucmlwZW1kMTYwOw0KDQogIH0seyIuL2hhc2gvY29tbW9uIjozOCwiLi9oYXNoL2htYWMiOjM5LCIuL2hhc2gvcmlwZW1kIjo0MCwiLi9oYXNoL3NoYSI6NDEsIi4vaGFzaC91dGlscyI6NDh9XSwzODpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBCbG9ja0hhc2goKXt0aGlzLnBlbmRpbmc9bnVsbCx0aGlzLnBlbmRpbmdUb3RhbD0wLHRoaXMuYmxvY2tTaXplPXRoaXMuY29uc3RydWN0b3IuYmxvY2tTaXplLHRoaXMub3V0U2l6ZT10aGlzLmNvbnN0cnVjdG9yLm91dFNpemUsdGhpcy5obWFjU3RyZW5ndGg9dGhpcy5jb25zdHJ1Y3Rvci5obWFjU3RyZW5ndGgsdGhpcy5wYWRMZW5ndGg9dGhpcy5jb25zdHJ1Y3Rvci5wYWRMZW5ndGgvOCx0aGlzLmVuZGlhbj0iYmlnIix0aGlzLl9kZWx0YTg9dGhpcy5ibG9ja1NpemUvOCx0aGlzLl9kZWx0YTMyPXRoaXMuYmxvY2tTaXplLzMyfXZhciB1dGlscz1yZXF1aXJlKCIuL3V0aWxzIiksYXNzZXJ0PXJlcXVpcmUoIm1pbmltYWxpc3RpYy1hc3NlcnQiKTtleHBvcnRzLkJsb2NrSGFzaD1CbG9ja0hhc2gsQmxvY2tIYXNoLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxpKXtpZih0PXV0aWxzLnRvQXJyYXkodCxpKSx0aGlzLnBlbmRpbmc/dGhpcy5wZW5kaW5nPXRoaXMucGVuZGluZy5jb25jYXQodCk6dGhpcy5wZW5kaW5nPXQsdGhpcy5wZW5kaW5nVG90YWwrPXQubGVuZ3RoLHRoaXMucGVuZGluZy5sZW5ndGg+PXRoaXMuX2RlbHRhOCl7dmFyIG49KHQ9dGhpcy5wZW5kaW5nKS5sZW5ndGgldGhpcy5fZGVsdGE4O3RoaXMucGVuZGluZz10LnNsaWNlKHQubGVuZ3RoLW4sdC5sZW5ndGgpLDA9PT10aGlzLnBlbmRpbmcubGVuZ3RoJiYodGhpcy5wZW5kaW5nPW51bGwpLHQ9dXRpbHMuam9pbjMyKHQsMCx0Lmxlbmd0aC1uLHRoaXMuZW5kaWFuKTtmb3IodmFyIHM9MDtzPHQubGVuZ3RoO3MrPXRoaXMuX2RlbHRhMzIpdGhpcy5fdXBkYXRlKHQscyxzK3RoaXMuX2RlbHRhMzIpfXJldHVybiB0aGlzfSxCbG9ja0hhc2gucHJvdG90eXBlLmRpZ2VzdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy51cGRhdGUodGhpcy5fcGFkKCkpLGFzc2VydChudWxsPT09dGhpcy5wZW5kaW5nKSx0aGlzLl9kaWdlc3QodCl9LEJsb2NrSGFzaC5wcm90b3R5cGUuX3BhZD1mdW5jdGlvbigpe3ZhciB0PXRoaXMucGVuZGluZ1RvdGFsLGk9dGhpcy5fZGVsdGE4LG49aS0odCt0aGlzLnBhZExlbmd0aCklaSxzPW5ldyBBcnJheShuK3RoaXMucGFkTGVuZ3RoKTtzWzBdPTEyODtmb3IodmFyIGU9MTtlPG47ZSsrKXNbZV09MDtpZih0PDw9MywiYmlnIj09PXRoaXMuZW5kaWFuKXtmb3IodmFyIGg9ODtoPHRoaXMucGFkTGVuZ3RoO2grKylzW2UrK109MDtzW2UrK109MCxzW2UrK109MCxzW2UrK109MCxzW2UrK109MCxzW2UrK109dD4+PjI0JjI1NSxzW2UrK109dD4+PjE2JjI1NSxzW2UrK109dD4+PjgmMjU1LHNbZSsrXT0yNTUmdH1lbHNlIGZvcihzW2UrK109MjU1JnQsc1tlKytdPXQ+Pj44JjI1NSxzW2UrK109dD4+PjE2JjI1NSxzW2UrK109dD4+PjI0JjI1NSxzW2UrK109MCxzW2UrK109MCxzW2UrK109MCxzW2UrK109MCxoPTg7aDx0aGlzLnBhZExlbmd0aDtoKyspc1tlKytdPTA7cmV0dXJuIHN9Ow0KDQogIH0seyIuL3V0aWxzIjo0OCwibWluaW1hbGlzdGljLWFzc2VydCI6NjN9XSwzOTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBIbWFjKHQsaSxlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBIbWFjKSlyZXR1cm4gbmV3IEhtYWModCxpLGUpO3RoaXMuSGFzaD10LHRoaXMuYmxvY2tTaXplPXQuYmxvY2tTaXplLzgsdGhpcy5vdXRTaXplPXQub3V0U2l6ZS84LHRoaXMuaW5uZXI9bnVsbCx0aGlzLm91dGVyPW51bGwsdGhpcy5faW5pdCh1dGlscy50b0FycmF5KGksZSkpfXZhciB1dGlscz1yZXF1aXJlKCIuL3V0aWxzIiksYXNzZXJ0PXJlcXVpcmUoIm1pbmltYWxpc3RpYy1hc3NlcnQiKTttb2R1bGUuZXhwb3J0cz1IbWFjLEhtYWMucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKHQpe3QubGVuZ3RoPnRoaXMuYmxvY2tTaXplJiYodD0obmV3IHRoaXMuSGFzaCkudXBkYXRlKHQpLmRpZ2VzdCgpKSxhc3NlcnQodC5sZW5ndGg8PXRoaXMuYmxvY2tTaXplKTtmb3IodmFyIGk9dC5sZW5ndGg7aTx0aGlzLmJsb2NrU2l6ZTtpKyspdC5wdXNoKDApO2ZvcihpPTA7aTx0Lmxlbmd0aDtpKyspdFtpXV49NTQ7Zm9yKHRoaXMuaW5uZXI9KG5ldyB0aGlzLkhhc2gpLnVwZGF0ZSh0KSxpPTA7aTx0Lmxlbmd0aDtpKyspdFtpXV49MTA2O3RoaXMub3V0ZXI9KG5ldyB0aGlzLkhhc2gpLnVwZGF0ZSh0KX0sSG1hYy5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIHRoaXMuaW5uZXIudXBkYXRlKHQsaSksdGhpc30sSG1hYy5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm91dGVyLnVwZGF0ZSh0aGlzLmlubmVyLmRpZ2VzdCgpKSx0aGlzLm91dGVyLmRpZ2VzdCh0KX07DQoNCiAgfSx7Ii4vdXRpbHMiOjQ4LCJtaW5pbWFsaXN0aWMtYXNzZXJ0Ijo2M31dLDQwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIFJJUEVNRDE2MCgpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFJJUEVNRDE2MCkpcmV0dXJuIG5ldyBSSVBFTUQxNjA7QmxvY2tIYXNoLmNhbGwodGhpcyksdGhpcy5oPVsxNzMyNTg0MTkzLDQwMjMyMzM0MTcsMjU2MjM4MzEwMiwyNzE3MzM4NzgsMzI4NTM3NzUyMF0sdGhpcy5lbmRpYW49ImxpdHRsZSJ9ZnVuY3Rpb24gZih0LHMsaCxpKXtyZXR1cm4gdDw9MTU/c15oXmk6dDw9MzE/cyZofH5zJmk6dDw9NDc/KHN8fmgpXmk6dDw9NjM/cyZpfGgmfmk6c14oaHx+aSl9ZnVuY3Rpb24gSyh0KXtyZXR1cm4gdDw9MTU/MDp0PD0zMT8xNTE4NTAwMjQ5OnQ8PTQ3PzE4NTk3NzUzOTM6dDw9NjM/MjQwMDk1OTcwODoyODQwODUzODM4fWZ1bmN0aW9uIEtoKHQpe3JldHVybiB0PD0xNT8xMzUyODI5OTI2OnQ8PTMxPzE1NDg2MDM2ODQ6dDw9NDc/MTgzNjA3MjY5MTp0PD02Mz8yMDUzOTk0MjE3OjB9dmFyIHV0aWxzPXJlcXVpcmUoIi4vdXRpbHMiKSxjb21tb249cmVxdWlyZSgiLi9jb21tb24iKSxyb3RsMzI9dXRpbHMucm90bDMyLHN1bTMyPXV0aWxzLnN1bTMyLHN1bTMyXzM9dXRpbHMuc3VtMzJfMyxzdW0zMl80PXV0aWxzLnN1bTMyXzQsQmxvY2tIYXNoPWNvbW1vbi5CbG9ja0hhc2g7dXRpbHMuaW5oZXJpdHMoUklQRU1EMTYwLEJsb2NrSGFzaCksZXhwb3J0cy5yaXBlbWQxNjA9UklQRU1EMTYwLFJJUEVNRDE2MC5ibG9ja1NpemU9NTEyLFJJUEVNRDE2MC5vdXRTaXplPTE2MCxSSVBFTUQxNjAuaG1hY1N0cmVuZ3RoPTE5MixSSVBFTUQxNjAucGFkTGVuZ3RoPTY0LFJJUEVNRDE2MC5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbih0LGgpe2Zvcih2YXIgaT10aGlzLmhbMF0sdT10aGlzLmhbMV0sbz10aGlzLmhbMl0sZT10aGlzLmhbM10sbD10aGlzLmhbNF0sbj1pLG09dSxjPW8sYT1lLF89bCxEPTA7RDw4MDtEKyspe3ZhciBFPXN1bTMyKHJvdGwzMihzdW0zMl80KGksZihELHUsbyxlKSx0W3JbRF0raF0sSyhEKSksc1tEXSksbCk7aT1sLGw9ZSxlPXJvdGwzMihvLDEwKSxvPXUsdT1FLEU9c3VtMzIocm90bDMyKHN1bTMyXzQobixmKDc5LUQsbSxjLGEpLHRbcmhbRF0raF0sS2goRCkpLHNoW0RdKSxfKSxuPV8sXz1hLGE9cm90bDMyKGMsMTApLGM9bSxtPUV9RT1zdW0zMl8zKHRoaXMuaFsxXSxvLGEpLHRoaXMuaFsxXT1zdW0zMl8zKHRoaXMuaFsyXSxlLF8pLHRoaXMuaFsyXT1zdW0zMl8zKHRoaXMuaFszXSxsLG4pLHRoaXMuaFszXT1zdW0zMl8zKHRoaXMuaFs0XSxpLG0pLHRoaXMuaFs0XT1zdW0zMl8zKHRoaXMuaFswXSx1LGMpLHRoaXMuaFswXT1FfSxSSVBFTUQxNjAucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24odCl7cmV0dXJuImhleCI9PT10P3V0aWxzLnRvSGV4MzIodGhpcy5oLCJsaXR0bGUiKTp1dGlscy5zcGxpdDMyKHRoaXMuaCwibGl0dGxlIil9O3ZhciByPVswLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDcsNCwxMywxLDEwLDYsMTUsMywxMiwwLDksNSwyLDE0LDExLDgsMywxMCwxNCw0LDksMTUsOCwxLDIsNywwLDYsMTMsMTEsNSwxMiwxLDksMTEsMTAsMCw4LDEyLDQsMTMsMyw3LDE1LDE0LDUsNiwyLDQsMCw1LDksNywxMiwyLDEwLDE0LDEsMyw4LDExLDYsMTUsMTNdLHJoPVs1LDE0LDcsMCw5LDIsMTEsNCwxMyw2LDE1LDgsMSwxMCwzLDEyLDYsMTEsMyw3LDAsMTMsNSwxMCwxNCwxNSw4LDEyLDQsOSwxLDIsMTUsNSwxLDMsNywxNCw2LDksMTEsOCwxMiwyLDEwLDAsNCwxMyw4LDYsNCwxLDMsMTEsMTUsMCw1LDEyLDIsMTMsOSw3LDEwLDE0LDEyLDE1LDEwLDQsMSw1LDgsNyw2LDIsMTMsMTQsMCwzLDksMTFdLHM9WzExLDE0LDE1LDEyLDUsOCw3LDksMTEsMTMsMTQsMTUsNiw3LDksOCw3LDYsOCwxMywxMSw5LDcsMTUsNywxMiwxNSw5LDExLDcsMTMsMTIsMTEsMTMsNiw3LDE0LDksMTMsMTUsMTQsOCwxMyw2LDUsMTIsNyw1LDExLDEyLDE0LDE1LDE0LDE1LDksOCw5LDE0LDUsNiw4LDYsNSwxMiw5LDE1LDUsMTEsNiw4LDEzLDEyLDUsMTIsMTMsMTQsMTEsOCw1LDZdLHNoPVs4LDksOSwxMSwxMywxNSwxNSw1LDcsNyw4LDExLDE0LDE0LDEyLDYsOSwxMywxNSw3LDEyLDgsOSwxMSw3LDcsMTIsNyw2LDE1LDEzLDExLDksNywxNSwxMSw4LDYsNiwxNCwxMiwxMyw1LDE0LDEzLDEzLDcsNSwxNSw1LDgsMTEsMTQsMTQsNiwxNCw2LDksMTIsOSwxMiw1LDE1LDgsOCw1LDEyLDksMTIsNSwxNCw2LDgsMTMsNiw1LDE1LDEzLDExLDExXTsNCg0KICB9LHsiLi9jb21tb24iOjM4LCIuL3V0aWxzIjo0OH1dLDQxOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2V4cG9ydHMuc2hhMT1yZXF1aXJlKCIuL3NoYS8xIiksZXhwb3J0cy5zaGEyMjQ9cmVxdWlyZSgiLi9zaGEvMjI0IiksZXhwb3J0cy5zaGEyNTY9cmVxdWlyZSgiLi9zaGEvMjU2IiksZXhwb3J0cy5zaGEzODQ9cmVxdWlyZSgiLi9zaGEvMzg0IiksZXhwb3J0cy5zaGE1MTI9cmVxdWlyZSgiLi9zaGEvNTEyIik7DQoNCiAgfSx7Ii4vc2hhLzEiOjQyLCIuL3NoYS8yMjQiOjQzLCIuL3NoYS8yNTYiOjQ0LCIuL3NoYS8zODQiOjQ1LCIuL3NoYS81MTIiOjQ2fV0sNDI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAidXNlIHN0cmljdCI7ZnVuY3Rpb24gU0hBMSgpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFNIQTEpKXJldHVybiBuZXcgU0hBMTtCbG9ja0hhc2guY2FsbCh0aGlzKSx0aGlzLmg9WzE3MzI1ODQxOTMsNDAyMzIzMzQxNywyNTYyMzgzMTAyLDI3MTczMzg3OCwzMjg1Mzc3NTIwXSx0aGlzLlc9bmV3IEFycmF5KDgwKX12YXIgdXRpbHM9cmVxdWlyZSgiLi4vdXRpbHMiKSxjb21tb249cmVxdWlyZSgiLi4vY29tbW9uIiksc2hhQ29tbW9uPXJlcXVpcmUoIi4vY29tbW9uIikscm90bDMyPXV0aWxzLnJvdGwzMixzdW0zMj11dGlscy5zdW0zMixzdW0zMl81PXV0aWxzLnN1bTMyXzUsZnRfMT1zaGFDb21tb24uZnRfMSxCbG9ja0hhc2g9Y29tbW9uLkJsb2NrSGFzaCxzaGExX0s9WzE1MTg1MDAyNDksMTg1OTc3NTM5MywyNDAwOTU5NzA4LDMzOTU0Njk3ODJdO3V0aWxzLmluaGVyaXRzKFNIQTEsQmxvY2tIYXNoKSxtb2R1bGUuZXhwb3J0cz1TSEExLFNIQTEuYmxvY2tTaXplPTUxMixTSEExLm91dFNpemU9MTYwLFNIQTEuaG1hY1N0cmVuZ3RoPTgwLFNIQTEucGFkTGVuZ3RoPTY0LFNIQTEucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCxoKXtmb3IodmFyIHM9dGhpcy5XLGk9MDtpPDE2O2krKylzW2ldPXRbaCtpXTtmb3IoO2k8cy5sZW5ndGg7aSsrKXNbaV09cm90bDMyKHNbaS0zXV5zW2ktOF1ec1tpLTE0XV5zW2ktMTZdLDEpO3ZhciBvPXRoaXMuaFswXSxyPXRoaXMuaFsxXSx1PXRoaXMuaFsyXSxlPXRoaXMuaFszXSxsPXRoaXMuaFs0XTtmb3IoaT0wO2k8cy5sZW5ndGg7aSsrKXt2YXIgbT1+fihpLzIwKSxuPXN1bTMyXzUocm90bDMyKG8sNSksZnRfMShtLHIsdSxlKSxsLHNbaV0sc2hhMV9LW21dKTtsPWUsZT11LHU9cm90bDMyKHIsMzApLHI9byxvPW59dGhpcy5oWzBdPXN1bTMyKHRoaXMuaFswXSxvKSx0aGlzLmhbMV09c3VtMzIodGhpcy5oWzFdLHIpLHRoaXMuaFsyXT1zdW0zMih0aGlzLmhbMl0sdSksdGhpcy5oWzNdPXN1bTMyKHRoaXMuaFszXSxlKSx0aGlzLmhbNF09c3VtMzIodGhpcy5oWzRdLGwpfSxTSEExLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKHQpe3JldHVybiJoZXgiPT09dD91dGlscy50b0hleDMyKHRoaXMuaCwiYmlnIik6dXRpbHMuc3BsaXQzMih0aGlzLmgsImJpZyIpfTsNCg0KICB9LHsiLi4vY29tbW9uIjozOCwiLi4vdXRpbHMiOjQ4LCIuL2NvbW1vbiI6NDd9XSw0MzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBTSEEyMjQoKXtpZighKHRoaXMgaW5zdGFuY2VvZiBTSEEyMjQpKXJldHVybiBuZXcgU0hBMjI0O1NIQTI1Ni5jYWxsKHRoaXMpLHRoaXMuaD1bMzIzODM3MTAzMiw5MTQxNTA2NjMsODEyNzAyOTk5LDQxNDQ5MTI2OTcsNDI5MDc3NTg1NywxNzUwNjAzMDI1LDE2OTQwNzY4MzksMzIwNDA3NTQyOF19dmFyIHV0aWxzPXJlcXVpcmUoIi4uL3V0aWxzIiksU0hBMjU2PXJlcXVpcmUoIi4vMjU2Iik7dXRpbHMuaW5oZXJpdHMoU0hBMjI0LFNIQTI1NiksbW9kdWxlLmV4cG9ydHM9U0hBMjI0LFNIQTIyNC5ibG9ja1NpemU9NTEyLFNIQTIyNC5vdXRTaXplPTIyNCxTSEEyMjQuaG1hY1N0cmVuZ3RoPTE5MixTSEEyMjQucGFkTGVuZ3RoPTY0LFNIQTIyNC5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbih0KXtyZXR1cm4iaGV4Ij09PXQ/dXRpbHMudG9IZXgzMih0aGlzLmguc2xpY2UoMCw3KSwiYmlnIik6dXRpbHMuc3BsaXQzMih0aGlzLmguc2xpY2UoMCw3KSwiYmlnIil9Ow0KDQogIH0seyIuLi91dGlscyI6NDgsIi4vMjU2Ijo0NH1dLDQ0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIFNIQTI1Nigpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFNIQTI1NikpcmV0dXJuIG5ldyBTSEEyNTY7QmxvY2tIYXNoLmNhbGwodGhpcyksdGhpcy5oPVsxNzc5MDMzNzAzLDMxNDQxMzQyNzcsMTAxMzkwNDI0MiwyNzczNDgwNzYyLDEzNTk4OTMxMTksMjYwMDgyMjkyNCw1Mjg3MzQ2MzUsMTU0MTQ1OTIyNV0sdGhpcy5rPXNoYTI1Nl9LLHRoaXMuVz1uZXcgQXJyYXkoNjQpfXZhciB1dGlscz1yZXF1aXJlKCIuLi91dGlscyIpLGNvbW1vbj1yZXF1aXJlKCIuLi9jb21tb24iKSxzaGFDb21tb249cmVxdWlyZSgiLi9jb21tb24iKSxhc3NlcnQ9cmVxdWlyZSgibWluaW1hbGlzdGljLWFzc2VydCIpLHN1bTMyPXV0aWxzLnN1bTMyLHN1bTMyXzQ9dXRpbHMuc3VtMzJfNCxzdW0zMl81PXV0aWxzLnN1bTMyXzUsY2gzMj1zaGFDb21tb24uY2gzMixtYWozMj1zaGFDb21tb24ubWFqMzIsczBfMjU2PXNoYUNvbW1vbi5zMF8yNTYsczFfMjU2PXNoYUNvbW1vbi5zMV8yNTYsZzBfMjU2PXNoYUNvbW1vbi5nMF8yNTYsZzFfMjU2PXNoYUNvbW1vbi5nMV8yNTYsQmxvY2tIYXNoPWNvbW1vbi5CbG9ja0hhc2gsc2hhMjU2X0s9WzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF07dXRpbHMuaW5oZXJpdHMoU0hBMjU2LEJsb2NrSGFzaCksbW9kdWxlLmV4cG9ydHM9U0hBMjU2LFNIQTI1Ni5ibG9ja1NpemU9NTEyLFNIQTI1Ni5vdXRTaXplPTI1NixTSEEyNTYuaG1hY1N0cmVuZ3RoPTE5MixTSEEyNTYucGFkTGVuZ3RoPTY0LFNIQTI1Ni5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihzLGgpe2Zvcih2YXIgdD10aGlzLlcsaT0wO2k8MTY7aSsrKXRbaV09c1toK2ldO2Zvcig7aTx0Lmxlbmd0aDtpKyspdFtpXT1zdW0zMl80KGcxXzI1Nih0W2ktMl0pLHRbaS03XSxnMF8yNTYodFtpLTE1XSksdFtpLTE2XSk7dmFyIG09dGhpcy5oWzBdLG89dGhpcy5oWzFdLHU9dGhpcy5oWzJdLGU9dGhpcy5oWzNdLG49dGhpcy5oWzRdLGE9dGhpcy5oWzVdLHI9dGhpcy5oWzZdLGw9dGhpcy5oWzddO2Zvcihhc3NlcnQodGhpcy5rLmxlbmd0aD09PXQubGVuZ3RoKSxpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBfPXN1bTMyXzUobCxzMV8yNTYobiksY2gzMihuLGEsciksdGhpcy5rW2ldLHRbaV0pLGM9c3VtMzIoczBfMjU2KG0pLG1hajMyKG0sbyx1KSk7bD1yLHI9YSxhPW4sbj1zdW0zMihlLF8pLGU9dSx1PW8sbz1tLG09c3VtMzIoXyxjKX10aGlzLmhbMF09c3VtMzIodGhpcy5oWzBdLG0pLHRoaXMuaFsxXT1zdW0zMih0aGlzLmhbMV0sbyksdGhpcy5oWzJdPXN1bTMyKHRoaXMuaFsyXSx1KSx0aGlzLmhbM109c3VtMzIodGhpcy5oWzNdLGUpLHRoaXMuaFs0XT1zdW0zMih0aGlzLmhbNF0sbiksdGhpcy5oWzVdPXN1bTMyKHRoaXMuaFs1XSxhKSx0aGlzLmhbNl09c3VtMzIodGhpcy5oWzZdLHIpLHRoaXMuaFs3XT1zdW0zMih0aGlzLmhbN10sbCl9LFNIQTI1Ni5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbihzKXtyZXR1cm4iaGV4Ij09PXM/dXRpbHMudG9IZXgzMih0aGlzLmgsImJpZyIpOnV0aWxzLnNwbGl0MzIodGhpcy5oLCJiaWciKX07DQoNCiAgfSx7Ii4uL2NvbW1vbiI6MzgsIi4uL3V0aWxzIjo0OCwiLi9jb21tb24iOjQ3LCJtaW5pbWFsaXN0aWMtYXNzZXJ0Ijo2M31dLDQ1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIFNIQTM4NCgpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFNIQTM4NCkpcmV0dXJuIG5ldyBTSEEzODQ7U0hBNTEyLmNhbGwodGhpcyksdGhpcy5oPVszNDE4MDcwMzY1LDMyMzgzNzEwMzIsMTY1NDI3MDI1MCw5MTQxNTA2NjMsMjQzODUyOTM3MCw4MTI3MDI5OTksMzU1NDYyMzYwLDQxNDQ5MTI2OTcsMTczMTQwNTQxNSw0MjkwNzc1ODU3LDIzOTQxODAyMzEsMTc1MDYwMzAyNSwzNjc1MDA4NTI1LDE2OTQwNzY4MzksMTIwMzA2MjgxMywzMjA0MDc1NDI4XX12YXIgdXRpbHM9cmVxdWlyZSgiLi4vdXRpbHMiKSxTSEE1MTI9cmVxdWlyZSgiLi81MTIiKTt1dGlscy5pbmhlcml0cyhTSEEzODQsU0hBNTEyKSxtb2R1bGUuZXhwb3J0cz1TSEEzODQsU0hBMzg0LmJsb2NrU2l6ZT0xMDI0LFNIQTM4NC5vdXRTaXplPTM4NCxTSEEzODQuaG1hY1N0cmVuZ3RoPTE5MixTSEEzODQucGFkTGVuZ3RoPTEyOCxTSEEzODQucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24odCl7cmV0dXJuImhleCI9PT10P3V0aWxzLnRvSGV4MzIodGhpcy5oLnNsaWNlKDAsMTIpLCJiaWciKTp1dGlscy5zcGxpdDMyKHRoaXMuaC5zbGljZSgwLDEyKSwiYmlnIil9Ow0KDQogIH0seyIuLi91dGlscyI6NDgsIi4vNTEyIjo0Nn1dLDQ2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIFNIQTUxMigpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFNIQTUxMikpcmV0dXJuIG5ldyBTSEE1MTI7QmxvY2tIYXNoLmNhbGwodGhpcyksdGhpcy5oPVsxNzc5MDMzNzAzLDQwODkyMzU3MjAsMzE0NDEzNDI3NywyMjI3ODczNTk1LDEwMTM5MDQyNDIsNDI3MTE3NTcyMywyNzczNDgwNzYyLDE1OTU3NTAxMjksMTM1OTg5MzExOSwyOTE3NTY1MTM3LDI2MDA4MjI5MjQsNzI1NTExMTk5LDUyODczNDYzNSw0MjE1Mzg5NTQ3LDE1NDE0NTkyMjUsMzI3MDMzMjA5XSx0aGlzLms9c2hhNTEyX0ssdGhpcy5XPW5ldyBBcnJheSgxNjApfWZ1bmN0aW9uIGNoNjRfaGkodCxoLHIsaSxzKXt2YXIgXz10JnJefnQmcztyZXR1cm4gXzwwJiYoXys9NDI5NDk2NzI5NiksX31mdW5jdGlvbiBjaDY0X2xvKHQsaCxyLGkscyxfKXt2YXIgbz1oJmlefmgmXztyZXR1cm4gbzwwJiYobys9NDI5NDk2NzI5Niksb31mdW5jdGlvbiBtYWo2NF9oaSh0LGgscixpLHMpe3ZhciBfPXQmcl50JnNeciZzO3JldHVybiBfPDAmJihfKz00Mjk0OTY3Mjk2KSxffWZ1bmN0aW9uIG1hajY0X2xvKHQsaCxyLGkscyxfKXt2YXIgbz1oJmleaCZfXmkmXztyZXR1cm4gbzwwJiYobys9NDI5NDk2NzI5Niksb31mdW5jdGlvbiBzMF81MTJfaGkodCxoKXt2YXIgcj1yb3RyNjRfaGkodCxoLDI4KV5yb3RyNjRfaGkoaCx0LDIpXnJvdHI2NF9oaShoLHQsNyk7cmV0dXJuIHI8MCYmKHIrPTQyOTQ5NjcyOTYpLHJ9ZnVuY3Rpb24gczBfNTEyX2xvKHQsaCl7dmFyIHI9cm90cjY0X2xvKHQsaCwyOClecm90cjY0X2xvKGgsdCwyKV5yb3RyNjRfbG8oaCx0LDcpO3JldHVybiByPDAmJihyKz00Mjk0OTY3Mjk2KSxyfWZ1bmN0aW9uIHMxXzUxMl9oaSh0LGgpe3ZhciByPXJvdHI2NF9oaSh0LGgsMTQpXnJvdHI2NF9oaSh0LGgsMTgpXnJvdHI2NF9oaShoLHQsOSk7cmV0dXJuIHI8MCYmKHIrPTQyOTQ5NjcyOTYpLHJ9ZnVuY3Rpb24gczFfNTEyX2xvKHQsaCl7dmFyIHI9cm90cjY0X2xvKHQsaCwxNClecm90cjY0X2xvKHQsaCwxOClecm90cjY0X2xvKGgsdCw5KTtyZXR1cm4gcjwwJiYocis9NDI5NDk2NzI5Nikscn1mdW5jdGlvbiBnMF81MTJfaGkodCxoKXt2YXIgcj1yb3RyNjRfaGkodCxoLDEpXnJvdHI2NF9oaSh0LGgsOClec2hyNjRfaGkodCxoLDcpO3JldHVybiByPDAmJihyKz00Mjk0OTY3Mjk2KSxyfWZ1bmN0aW9uIGcwXzUxMl9sbyh0LGgpe3ZhciByPXJvdHI2NF9sbyh0LGgsMSlecm90cjY0X2xvKHQsaCw4KV5zaHI2NF9sbyh0LGgsNyk7cmV0dXJuIHI8MCYmKHIrPTQyOTQ5NjcyOTYpLHJ9ZnVuY3Rpb24gZzFfNTEyX2hpKHQsaCl7dmFyIHI9cm90cjY0X2hpKHQsaCwxOSlecm90cjY0X2hpKGgsdCwyOSlec2hyNjRfaGkodCxoLDYpO3JldHVybiByPDAmJihyKz00Mjk0OTY3Mjk2KSxyfWZ1bmN0aW9uIGcxXzUxMl9sbyh0LGgpe3ZhciByPXJvdHI2NF9sbyh0LGgsMTkpXnJvdHI2NF9sbyhoLHQsMjkpXnNocjY0X2xvKHQsaCw2KTtyZXR1cm4gcjwwJiYocis9NDI5NDk2NzI5Nikscn12YXIgdXRpbHM9cmVxdWlyZSgiLi4vdXRpbHMiKSxjb21tb249cmVxdWlyZSgiLi4vY29tbW9uIiksYXNzZXJ0PXJlcXVpcmUoIm1pbmltYWxpc3RpYy1hc3NlcnQiKSxyb3RyNjRfaGk9dXRpbHMucm90cjY0X2hpLHJvdHI2NF9sbz11dGlscy5yb3RyNjRfbG8sc2hyNjRfaGk9dXRpbHMuc2hyNjRfaGksc2hyNjRfbG89dXRpbHMuc2hyNjRfbG8sc3VtNjQ9dXRpbHMuc3VtNjQsc3VtNjRfaGk9dXRpbHMuc3VtNjRfaGksc3VtNjRfbG89dXRpbHMuc3VtNjRfbG8sc3VtNjRfNF9oaT11dGlscy5zdW02NF80X2hpLHN1bTY0XzRfbG89dXRpbHMuc3VtNjRfNF9sbyxzdW02NF81X2hpPXV0aWxzLnN1bTY0XzVfaGksc3VtNjRfNV9sbz11dGlscy5zdW02NF81X2xvLEJsb2NrSGFzaD1jb21tb24uQmxvY2tIYXNoLHNoYTUxMl9LPVsxMTE2MzUyNDA4LDM2MDk3Njc0NTgsMTg5OTQ0NzQ0MSw2MDI4OTE3MjUsMzA0OTMyMzQ3MSwzOTY0NDg0Mzk5LDM5MjEwMDk1NzMsMjE3MzI5NTU0OCw5NjE5ODcxNjMsNDA4MTYyODQ3MiwxNTA4OTcwOTkzLDMwNTM4MzQyNjUsMjQ1MzYzNTc0OCwyOTM3NjcxNTc5LDI4NzA3NjMyMjEsMzY2NDYwOTU2MCwzNjI0MzgxMDgwLDI3MzQ4ODMzOTQsMzEwNTk4NDAxLDExNjQ5OTY1NDIsNjA3MjI1Mjc4LDEzMjM2MTA3NjQsMTQyNjg4MTk4NywzNTkwMzA0OTk0LDE5MjUwNzgzODgsNDA2ODE4MjM4MywyMTYyMDc4MjA2LDk5MTMzNjExMywyNjE0ODg4MTAzLDYzMzgwMzMxNywzMjQ4MjIyNTgwLDM0Nzk3NzQ4NjgsMzgzNTM5MDQwMSwyNjY2NjEzNDU4LDQwMjIyMjQ3NzQsOTQ0NzExMTM5LDI2NDM0NzA3OCwyMzQxMjYyNzczLDYwNDgwNzYyOCwyMDA3ODAwOTMzLDc3MDI1NTk4MywxNDk1OTkwOTAxLDEyNDkxNTAxMjIsMTg1NjQzMTIzNSwxNTU1MDgxNjkyLDMxNzUyMTgxMzIsMTk5NjA2NDk4NiwyMTk4OTUwODM3LDI1NTQyMjA4ODIsMzk5OTcxOTMzOSwyODIxODM0MzQ5LDc2Njc4NDAxNiwyOTUyOTk2ODA4LDI1NjY1OTQ4NzksMzIxMDMxMzY3MSwzMjAzMzM3OTU2LDMzMzY1NzE4OTEsMTAzNDQ1NzAyNiwzNTg0NTI4NzExLDI0NjY5NDg5MDEsMTEzOTI2OTkzLDM3NTgzMjYzODMsMzM4MjQxODk1LDE2ODcxNzkzNiw2NjYzMDcyMDUsMTE4ODE3OTk2NCw3NzM1Mjk5MTIsMTU0NjA0NTczNCwxMjk0NzU3MzcyLDE1MjI4MDU0ODUsMTM5NjE4MjI5MSwyNjQzODMzODIzLDE2OTUxODM3MDAsMjM0MzUyNzM5MCwxOTg2NjYxMDUxLDEwMTQ0Nzc0ODAsMjE3NzAyNjM1MCwxMjA2NzU5MTQyLDI0NTY5NTYwMzcsMzQ0MDc3NjI3LDI3MzA0ODU5MjEsMTI5MDg2MzQ2MCwyODIwMzAyNDExLDMxNTg0NTQyNzMsMzI1OTczMDgwMCwzNTA1OTUyNjU3LDMzNDU3NjQ3NzEsMTA2MjE3MDA4LDM1MTYwNjU4MTcsMzYwNjAwODM0NCwzNjAwMzUyODA0LDE0MzI3MjU3NzYsNDA5NDU3MTkwOSwxNDY3MDMxNTk0LDI3NTQyMzM0NCw4NTExNjk3MjAsNDMwMjI3NzM0LDMxMDA4MjM3NTIsNTA2OTQ4NjE2LDEzNjMyNTgxOTUsNjU5MDYwNTU2LDM3NTA2ODU1OTMsODgzOTk3ODc3LDM3ODUwNTAyODAsOTU4MTM5NTcxLDMzMTgzMDc0MjcsMTMyMjgyMjIxOCwzODEyNzIzNDAzLDE1MzcwMDIwNjMsMjAwMzAzNDk5NSwxNzQ3ODczNzc5LDM2MDIwMzY4OTksMTk1NTU2MjIyMiwxNTc1OTkwMDEyLDIwMjQxMDQ4MTUsMTEyNTU5MjkyOCwyMjI3NzMwNDUyLDI3MTY5MDQzMDYsMjM2MTg1MjQyNCw0NDI3NzYwNDQsMjQyODQzNjQ3NCw1OTM2OTgzNDQsMjc1NjczNDE4NywzNzMzMTEwMjQ5LDMyMDQwMzE0NzksMjk5OTM1MTU3MywzMzI5MzI1Mjk4LDM4MTU5MjA0MjcsMzM5MTU2OTYxNCwzOTI4MzgzOTAwLDM1MTUyNjcyNzEsNTY2MjgwNzExLDM5NDAxODc2MDYsMzQ1NDA2OTUzNCw0MTE4NjMwMjcxLDQwMDAyMzk5OTIsMTE2NDE4NDc0LDE5MTQxMzg1NTQsMTc0MjkyNDIxLDI3MzEwNTUyNzAsMjg5MzgwMzU2LDMyMDM5OTMwMDYsNDYwMzkzMjY5LDMyMDYyMDMxNSw2ODU0NzE3MzMsNTg3NDk2ODM2LDg1MjE0Mjk3MSwxMDg2NzkyODUxLDEwMTcwMzYyOTgsMzY1NTQzMTAwLDExMjYwMDA1ODAsMjYxODI5NzY3NiwxMjg4MDMzNDcwLDM0MDk4NTUxNTgsMTUwMTUwNTk0OCw0MjM0NTA5ODY2LDE2MDcxNjc5MTUsOTg3MTY3NDY4LDE4MTY0MDIzMTYsMTI0NjE4OTU5MV07dXRpbHMuaW5oZXJpdHMoU0hBNTEyLEJsb2NrSGFzaCksbW9kdWxlLmV4cG9ydHM9U0hBNTEyLFNIQTUxMi5ibG9ja1NpemU9MTAyNCxTSEE1MTIub3V0U2l6ZT01MTIsU0hBNTEyLmhtYWNTdHJlbmd0aD0xOTIsU0hBNTEyLnBhZExlbmd0aD0xMjgsU0hBNTEyLnByb3RvdHlwZS5fcHJlcGFyZUJsb2NrPWZ1bmN0aW9uKHQsaCl7Zm9yKHZhciByPXRoaXMuVyxpPTA7aTwzMjtpKyspcltpXT10W2graV07Zm9yKDtpPHIubGVuZ3RoO2krPTIpe3ZhciBzPWcxXzUxMl9oaShyW2ktNF0scltpLTNdKSxfPWcxXzUxMl9sbyhyW2ktNF0scltpLTNdKSxvPXJbaS0xNF0sdT1yW2ktMTNdLGw9ZzBfNTEyX2hpKHJbaS0zMF0scltpLTI5XSksbj1nMF81MTJfbG8ocltpLTMwXSxyW2ktMjldKSxlPXJbaS0zMl0sbT1yW2ktMzFdO3JbaV09c3VtNjRfNF9oaShzLF8sbyx1LGwsbixlLG0pLHJbaSsxXT1zdW02NF80X2xvKHMsXyxvLHUsbCxuLGUsbSl9fSxTSEE1MTIucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCxoKXt0aGlzLl9wcmVwYXJlQmxvY2sodCxoKTt2YXIgcj10aGlzLlcsaT10aGlzLmhbMF0scz10aGlzLmhbMV0sXz10aGlzLmhbMl0sbz10aGlzLmhbM10sdT10aGlzLmhbNF0sbD10aGlzLmhbNV0sbj10aGlzLmhbNl0sZT10aGlzLmhbN10sbT10aGlzLmhbOF0sYT10aGlzLmhbOV0sYz10aGlzLmhbMTBdLGY9dGhpcy5oWzExXSx2PXRoaXMuaFsxMl0sZz10aGlzLmhbMTNdLEg9dGhpcy5oWzE0XSxTPXRoaXMuaFsxNV07YXNzZXJ0KHRoaXMuay5sZW5ndGg9PT1yLmxlbmd0aCk7Zm9yKHZhciBwPTA7cDxyLmxlbmd0aDtwKz0yKXt2YXIgQT1ILGs9UyxCPXMxXzUxMl9oaShtLGEpLGQ9czFfNTEyX2xvKG0sYSksaj1jaDY0X2hpKG0sYSxjLGYsdixnKSx5PWNoNjRfbG8obSxhLGMsZix2LGcpLGI9dGhpcy5rW3BdLHE9dGhpcy5rW3ArMV0seD1yW3BdLFc9cltwKzFdLHc9c3VtNjRfNV9oaShBLGssQixkLGoseSxiLHEseCxXKSx6PXN1bTY0XzVfbG8oQSxrLEIsZCxqLHksYixxLHgsVyk7QT1zMF81MTJfaGkoaSxzKSxrPXMwXzUxMl9sbyhpLHMpLEI9bWFqNjRfaGkoaSxzLF8sbyx1LGwpLGQ9bWFqNjRfbG8oaSxzLF8sbyx1LGwpO3ZhciBLPXN1bTY0X2hpKEEsayxCLGQpLEw9c3VtNjRfbG8oQSxrLEIsZCk7SD12LFM9Zyx2PWMsZz1mLGM9bSxmPWEsbT1zdW02NF9oaShuLGUsdyx6KSxhPXN1bTY0X2xvKGUsZSx3LHopLG49dSxlPWwsdT1fLGw9byxfPWksbz1zLGk9c3VtNjRfaGkodyx6LEssTCkscz1zdW02NF9sbyh3LHosSyxMKX1zdW02NCh0aGlzLmgsMCxpLHMpLHN1bTY0KHRoaXMuaCwyLF8sbyksc3VtNjQodGhpcy5oLDQsdSxsKSxzdW02NCh0aGlzLmgsNixuLGUpLHN1bTY0KHRoaXMuaCw4LG0sYSksc3VtNjQodGhpcy5oLDEwLGMsZiksc3VtNjQodGhpcy5oLDEyLHYsZyksc3VtNjQodGhpcy5oLDE0LEgsUyl9LFNIQTUxMi5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbih0KXtyZXR1cm4iaGV4Ij09PXQ/dXRpbHMudG9IZXgzMih0aGlzLmgsImJpZyIpOnV0aWxzLnNwbGl0MzIodGhpcy5oLCJiaWciKX07DQoNCiAgfSx7Ii4uL2NvbW1vbiI6MzgsIi4uL3V0aWxzIjo0OCwibWluaW1hbGlzdGljLWFzc2VydCI6NjN9XSw0NzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBmdF8xKHIsdCxvLG4pe3JldHVybiAwPT09cj9jaDMyKHQsbyxuKToxPT09cnx8Mz09PXI/cDMyKHQsbyxuKToyPT09cj9tYWozMih0LG8sbik6dm9pZCAwfWZ1bmN0aW9uIGNoMzIocix0LG8pe3JldHVybiByJnRefnImb31mdW5jdGlvbiBtYWozMihyLHQsbyl7cmV0dXJuIHImdF5yJm9edCZvfWZ1bmN0aW9uIHAzMihyLHQsbyl7cmV0dXJuIHJedF5vfWZ1bmN0aW9uIHMwXzI1NihyKXtyZXR1cm4gcm90cjMyKHIsMilecm90cjMyKHIsMTMpXnJvdHIzMihyLDIyKX1mdW5jdGlvbiBzMV8yNTYocil7cmV0dXJuIHJvdHIzMihyLDYpXnJvdHIzMihyLDExKV5yb3RyMzIociwyNSl9ZnVuY3Rpb24gZzBfMjU2KHIpe3JldHVybiByb3RyMzIociw3KV5yb3RyMzIociwxOClecj4+PjN9ZnVuY3Rpb24gZzFfMjU2KHIpe3JldHVybiByb3RyMzIociwxNylecm90cjMyKHIsMTkpXnI+Pj4xMH12YXIgdXRpbHM9cmVxdWlyZSgiLi4vdXRpbHMiKSxyb3RyMzI9dXRpbHMucm90cjMyO2V4cG9ydHMuZnRfMT1mdF8xLGV4cG9ydHMuY2gzMj1jaDMyLGV4cG9ydHMubWFqMzI9bWFqMzIsZXhwb3J0cy5wMzI9cDMyLGV4cG9ydHMuczBfMjU2PXMwXzI1NixleHBvcnRzLnMxXzI1Nj1zMV8yNTYsZXhwb3J0cy5nMF8yNTY9ZzBfMjU2LGV4cG9ydHMuZzFfMjU2PWcxXzI1NjsNCg0KICB9LHsiLi4vdXRpbHMiOjQ4fV0sNDg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAidXNlIHN0cmljdCI7ZnVuY3Rpb24gdG9BcnJheShyLHQpe2lmKEFycmF5LmlzQXJyYXkocikpcmV0dXJuIHIuc2xpY2UoKTtpZighcilyZXR1cm5bXTt2YXIgbz1bXTtpZigic3RyaW5nIj09dHlwZW9mIHIpaWYodCl7aWYoImhleCI9PT10KWZvcigocj1yLnJlcGxhY2UoL1teYS16MC05XSsvZ2ksIiIpKS5sZW5ndGglMiE9MCYmKHI9IjAiK3IpLG49MDtuPHIubGVuZ3RoO24rPTIpby5wdXNoKHBhcnNlSW50KHJbbl0rcltuKzFdLDE2KSl9ZWxzZSBmb3IodmFyIG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIGU9ci5jaGFyQ29kZUF0KG4pLHM9ZT4+OCx1PTI1NSZlO3M/by5wdXNoKHMsdSk6by5wdXNoKHUpfWVsc2UgZm9yKG49MDtuPHIubGVuZ3RoO24rKylvW25dPTB8cltuXTtyZXR1cm4gb31mdW5jdGlvbiB0b0hleChyKXtmb3IodmFyIHQ9IiIsbz0wO288ci5sZW5ndGg7bysrKXQrPXplcm8yKHJbb10udG9TdHJpbmcoMTYpKTtyZXR1cm4gdH1mdW5jdGlvbiBodG9ubChyKXtyZXR1cm4ocj4+PjI0fHI+Pj44JjY1MjgwfHI8PDgmMTY3MTE2ODB8KDI1NSZyKTw8MjQpPj4+MH1mdW5jdGlvbiB0b0hleDMyKHIsdCl7Zm9yKHZhciBvPSIiLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIGU9cltuXTsibGl0dGxlIj09PXQmJihlPWh0b25sKGUpKSxvKz16ZXJvOChlLnRvU3RyaW5nKDE2KSl9cmV0dXJuIG99ZnVuY3Rpb24gemVybzIocil7cmV0dXJuIDE9PT1yLmxlbmd0aD8iMCIrcjpyfWZ1bmN0aW9uIHplcm84KHIpe3JldHVybiA3PT09ci5sZW5ndGg/IjAiK3I6Nj09PXIubGVuZ3RoPyIwMCIrcjo1PT09ci5sZW5ndGg/IjAwMCIrcjo0PT09ci5sZW5ndGg/IjAwMDAiK3I6Mz09PXIubGVuZ3RoPyIwMDAwMCIrcjoyPT09ci5sZW5ndGg/IjAwMDAwMCIrcjoxPT09ci5sZW5ndGg/IjAwMDAwMDAiK3I6cn1mdW5jdGlvbiBqb2luMzIocix0LG8sbil7dmFyIGU9by10O2Fzc2VydChlJTQ9PTApO2Zvcih2YXIgcz1uZXcgQXJyYXkoZS80KSx1PTAsaT10O3U8cy5sZW5ndGg7dSsrLGkrPTQpe3ZhciBoO2g9ImJpZyI9PT1uP3JbaV08PDI0fHJbaSsxXTw8MTZ8cltpKzJdPDw4fHJbaSszXTpyW2krM108PDI0fHJbaSsyXTw8MTZ8cltpKzFdPDw4fHJbaV0sc1t1XT1oPj4+MH1yZXR1cm4gc31mdW5jdGlvbiBzcGxpdDMyKHIsdCl7Zm9yKHZhciBvPW5ldyBBcnJheSg0KnIubGVuZ3RoKSxuPTAsZT0wO248ci5sZW5ndGg7bisrLGUrPTQpe3ZhciBzPXJbbl07ImJpZyI9PT10PyhvW2VdPXM+Pj4yNCxvW2UrMV09cz4+PjE2JjI1NSxvW2UrMl09cz4+PjgmMjU1LG9bZSszXT0yNTUmcyk6KG9bZSszXT1zPj4+MjQsb1tlKzJdPXM+Pj4xNiYyNTUsb1tlKzFdPXM+Pj44JjI1NSxvW2VdPTI1NSZzKX1yZXR1cm4gb31mdW5jdGlvbiByb3RyMzIocix0KXtyZXR1cm4gcj4+PnR8cjw8MzItdH1mdW5jdGlvbiByb3RsMzIocix0KXtyZXR1cm4gcjw8dHxyPj4+MzItdH1mdW5jdGlvbiBzdW0zMihyLHQpe3JldHVybiByK3Q+Pj4wfWZ1bmN0aW9uIHN1bTMyXzMocix0LG8pe3JldHVybiByK3Qrbz4+PjB9ZnVuY3Rpb24gc3VtMzJfNChyLHQsbyxuKXtyZXR1cm4gcit0K28rbj4+PjB9ZnVuY3Rpb24gc3VtMzJfNShyLHQsbyxuLGUpe3JldHVybiByK3QrbytuK2U+Pj4wfWZ1bmN0aW9uIHN1bTY0KHIsdCxvLG4pe3ZhciBlPXJbdF0scz1uK3JbdCsxXT4+PjAsdT0oczxuPzE6MCkrbytlO3JbdF09dT4+PjAsclt0KzFdPXN9ZnVuY3Rpb24gc3VtNjRfaGkocix0LG8sbil7cmV0dXJuKHQrbj4+PjA8dD8xOjApK3Irbz4+PjB9ZnVuY3Rpb24gc3VtNjRfbG8ocix0LG8sbil7cmV0dXJuIHQrbj4+PjB9ZnVuY3Rpb24gc3VtNjRfNF9oaShyLHQsbyxuLGUscyx1LGkpe3ZhciBoPTAsXz10O3JldHVybiBoKz0oXz1fK24+Pj4wKTx0PzE6MCxoKz0oXz1fK3M+Pj4wKTxzPzE6MCxyK28rZSt1KyhoKz0oXz1fK2k+Pj4wKTxpPzE6MCk+Pj4wfWZ1bmN0aW9uIHN1bTY0XzRfbG8ocix0LG8sbixlLHMsdSxpKXtyZXR1cm4gdCtuK3MraT4+PjB9ZnVuY3Rpb24gc3VtNjRfNV9oaShyLHQsbyxuLGUscyx1LGksaCxfKXt2YXIgbD0wLGY9dDtyZXR1cm4gbCs9KGY9ZituPj4+MCk8dD8xOjAsbCs9KGY9ZitzPj4+MCk8cz8xOjAsbCs9KGY9ZitpPj4+MCk8aT8xOjAscitvK2UrdStoKyhsKz0oZj1mK18+Pj4wKTxfPzE6MCk+Pj4wfWZ1bmN0aW9uIHN1bTY0XzVfbG8ocix0LG8sbixlLHMsdSxpLGgsXyl7cmV0dXJuIHQrbitzK2krXz4+PjB9ZnVuY3Rpb24gcm90cjY0X2hpKHIsdCxvKXtyZXR1cm4odDw8MzItb3xyPj4+byk+Pj4wfWZ1bmN0aW9uIHJvdHI2NF9sbyhyLHQsbyl7cmV0dXJuKHI8PDMyLW98dD4+Pm8pPj4+MH1mdW5jdGlvbiBzaHI2NF9oaShyLHQsbyl7cmV0dXJuIHI+Pj5vfWZ1bmN0aW9uIHNocjY0X2xvKHIsdCxvKXtyZXR1cm4ocjw8MzItb3x0Pj4+byk+Pj4wfXZhciBhc3NlcnQ9cmVxdWlyZSgibWluaW1hbGlzdGljLWFzc2VydCIpLGluaGVyaXRzPXJlcXVpcmUoImluaGVyaXRzIik7ZXhwb3J0cy5pbmhlcml0cz1pbmhlcml0cyxleHBvcnRzLnRvQXJyYXk9dG9BcnJheSxleHBvcnRzLnRvSGV4PXRvSGV4LGV4cG9ydHMuaHRvbmw9aHRvbmwsZXhwb3J0cy50b0hleDMyPXRvSGV4MzIsZXhwb3J0cy56ZXJvMj16ZXJvMixleHBvcnRzLnplcm84PXplcm84LGV4cG9ydHMuam9pbjMyPWpvaW4zMixleHBvcnRzLnNwbGl0MzI9c3BsaXQzMixleHBvcnRzLnJvdHIzMj1yb3RyMzIsZXhwb3J0cy5yb3RsMzI9cm90bDMyLGV4cG9ydHMuc3VtMzI9c3VtMzIsZXhwb3J0cy5zdW0zMl8zPXN1bTMyXzMsZXhwb3J0cy5zdW0zMl80PXN1bTMyXzQsZXhwb3J0cy5zdW0zMl81PXN1bTMyXzUsZXhwb3J0cy5zdW02ND1zdW02NCxleHBvcnRzLnN1bTY0X2hpPXN1bTY0X2hpLGV4cG9ydHMuc3VtNjRfbG89c3VtNjRfbG8sZXhwb3J0cy5zdW02NF80X2hpPXN1bTY0XzRfaGksZXhwb3J0cy5zdW02NF80X2xvPXN1bTY0XzRfbG8sZXhwb3J0cy5zdW02NF81X2hpPXN1bTY0XzVfaGksZXhwb3J0cy5zdW02NF81X2xvPXN1bTY0XzVfbG8sZXhwb3J0cy5yb3RyNjRfaGk9cm90cjY0X2hpLGV4cG9ydHMucm90cjY0X2xvPXJvdHI2NF9sbyxleHBvcnRzLnNocjY0X2hpPXNocjY0X2hpLGV4cG9ydHMuc2hyNjRfbG89c2hyNjRfbG87DQoNCiAgfSx7ImluaGVyaXRzIjo1MSwibWluaW1hbGlzdGljLWFzc2VydCI6NjN9XSw0OTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBIbWFjRFJCRyh0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBIbWFjRFJCRykpcmV0dXJuIG5ldyBIbWFjRFJCRyh0KTt0aGlzLmhhc2g9dC5oYXNoLHRoaXMucHJlZFJlc2lzdD0hIXQucHJlZFJlc2lzdCx0aGlzLm91dExlbj10aGlzLmhhc2gub3V0U2l6ZSx0aGlzLm1pbkVudHJvcHk9dC5taW5FbnRyb3B5fHx0aGlzLmhhc2guaG1hY1N0cmVuZ3RoLHRoaXMuX3Jlc2VlZD1udWxsLHRoaXMucmVzZWVkSW50ZXJ2YWw9bnVsbCx0aGlzLks9bnVsbCx0aGlzLlY9bnVsbDt2YXIgZT11dGlscy50b0FycmF5KHQuZW50cm9weSx0LmVudHJvcHlFbmN8fCJoZXgiKSxpPXV0aWxzLnRvQXJyYXkodC5ub25jZSx0Lm5vbmNlRW5jfHwiaGV4Iikscz11dGlscy50b0FycmF5KHQucGVycyx0LnBlcnNFbmN8fCJoZXgiKTthc3NlcnQoZS5sZW5ndGg+PXRoaXMubWluRW50cm9weS84LCJOb3QgZW5vdWdoIGVudHJvcHkuIE1pbmltdW0gaXM6ICIrdGhpcy5taW5FbnRyb3B5KyIgYml0cyIpLHRoaXMuX2luaXQoZSxpLHMpfXZhciBoYXNoPXJlcXVpcmUoImhhc2guanMiKSx1dGlscz1yZXF1aXJlKCJtaW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzIiksYXNzZXJ0PXJlcXVpcmUoIm1pbmltYWxpc3RpYy1hc3NlcnQiKTttb2R1bGUuZXhwb3J0cz1IbWFjRFJCRyxIbWFjRFJCRy5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24odCxlLGkpe3ZhciBzPXQuY29uY2F0KGUpLmNvbmNhdChpKTt0aGlzLks9bmV3IEFycmF5KHRoaXMub3V0TGVuLzgpLHRoaXMuVj1uZXcgQXJyYXkodGhpcy5vdXRMZW4vOCk7Zm9yKHZhciBoPTA7aDx0aGlzLlYubGVuZ3RoO2grKyl0aGlzLktbaF09MCx0aGlzLlZbaF09MTt0aGlzLl91cGRhdGUocyksdGhpcy5fcmVzZWVkPTEsdGhpcy5yZXNlZWRJbnRlcnZhbD0yODE0NzQ5NzY3MTA2NTZ9LEhtYWNEUkJHLnByb3RvdHlwZS5faG1hYz1mdW5jdGlvbigpe3JldHVybiBuZXcgaGFzaC5obWFjKHRoaXMuaGFzaCx0aGlzLkspfSxIbWFjRFJCRy5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikudXBkYXRlKFswXSk7dCYmKGU9ZS51cGRhdGUodCkpLHRoaXMuSz1lLmRpZ2VzdCgpLHRoaXMuVj10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikuZGlnZXN0KCksdCYmKHRoaXMuSz10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikudXBkYXRlKFsxXSkudXBkYXRlKHQpLmRpZ2VzdCgpLHRoaXMuVj10aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikuZGlnZXN0KCkpfSxIbWFjRFJCRy5wcm90b3R5cGUucmVzZWVkPWZ1bmN0aW9uKHQsZSxpLHMpeyJzdHJpbmciIT10eXBlb2YgZSYmKHM9aSxpPWUsZT1udWxsKSx0PXV0aWxzLnRvQXJyYXkodCxlKSxpPXV0aWxzLnRvQXJyYXkoaSxzKSxhc3NlcnQodC5sZW5ndGg+PXRoaXMubWluRW50cm9weS84LCJOb3QgZW5vdWdoIGVudHJvcHkuIE1pbmltdW0gaXM6ICIrdGhpcy5taW5FbnRyb3B5KyIgYml0cyIpLHRoaXMuX3VwZGF0ZSh0LmNvbmNhdChpfHxbXSkpLHRoaXMuX3Jlc2VlZD0xfSxIbWFjRFJCRy5wcm90b3R5cGUuZ2VuZXJhdGU9ZnVuY3Rpb24odCxlLGkscyl7aWYodGhpcy5fcmVzZWVkPnRoaXMucmVzZWVkSW50ZXJ2YWwpdGhyb3cgbmV3IEVycm9yKCJSZXNlZWQgaXMgcmVxdWlyZWQiKTsic3RyaW5nIiE9dHlwZW9mIGUmJihzPWksaT1lLGU9bnVsbCksaSYmKGk9dXRpbHMudG9BcnJheShpLHN8fCJoZXgiKSx0aGlzLl91cGRhdGUoaSkpO2Zvcih2YXIgaD1bXTtoLmxlbmd0aDx0Oyl0aGlzLlY9dGhpcy5faG1hYygpLnVwZGF0ZSh0aGlzLlYpLmRpZ2VzdCgpLGg9aC5jb25jYXQodGhpcy5WKTt2YXIgcj1oLnNsaWNlKDAsdCk7cmV0dXJuIHRoaXMuX3VwZGF0ZShpKSx0aGlzLl9yZXNlZWQrKyx1dGlscy5lbmNvZGUocixlKX07DQoNCiAgfSx7Imhhc2guanMiOjM3LCJtaW5pbWFsaXN0aWMtYXNzZXJ0Ijo2MywibWluaW1hbGlzdGljLWNyeXB0by11dGlscyI6NjR9XSw1MDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIGV4cG9ydHMucmVhZD1mdW5jdGlvbihhLG8sdCxyLGgpe3ZhciBNLHAsdz04Kmgtci0xLGY9KDE8PHcpLTEsZT1mPj4xLGk9LTcsTj10P2gtMTowLG49dD8tMToxLHM9YVtvK05dO2ZvcihOKz1uLE09cyYoMTw8LWkpLTEscz4+PS1pLGkrPXc7aT4wO009MjU2Kk0rYVtvK05dLE4rPW4saS09OCk7Zm9yKHA9TSYoMTw8LWkpLTEsTT4+PS1pLGkrPXI7aT4wO3A9MjU2KnArYVtvK05dLE4rPW4saS09OCk7aWYoMD09PU0pTT0xLWU7ZWxzZXtpZihNPT09ZilyZXR1cm4gcD9OYU46MS8wKihzPy0xOjEpO3ArPU1hdGgucG93KDIsciksTS09ZX1yZXR1cm4ocz8tMToxKSpwKk1hdGgucG93KDIsTS1yKX0sZXhwb3J0cy53cml0ZT1mdW5jdGlvbihhLG8sdCxyLGgsTSl7dmFyIHAsdyxmLGU9OCpNLWgtMSxpPSgxPDxlKS0xLE49aT4+MSxuPTIzPT09aD9NYXRoLnBvdygyLC0yNCktTWF0aC5wb3coMiwtNzcpOjAscz1yPzA6TS0xLHU9cj8xOi0xLGw9bzwwfHwwPT09byYmMS9vPDA/MTowO2ZvcihvPU1hdGguYWJzKG8pLGlzTmFOKG8pfHxvPT09MS8wPyh3PWlzTmFOKG8pPzE6MCxwPWkpOihwPU1hdGguZmxvb3IoTWF0aC5sb2cobykvTWF0aC5MTjIpLG8qKGY9TWF0aC5wb3coMiwtcCkpPDEmJihwLS0sZio9MiksKG8rPXArTj49MT9uL2Y6bipNYXRoLnBvdygyLDEtTikpKmY+PTImJihwKyssZi89MikscCtOPj1pPyh3PTAscD1pKTpwK04+PTE/KHc9KG8qZi0xKSpNYXRoLnBvdygyLGgpLHArPU4pOih3PW8qTWF0aC5wb3coMixOLTEpKk1hdGgucG93KDIsaCkscD0wKSk7aD49ODthW3Qrc109MjU1Jncscys9dSx3Lz0yNTYsaC09OCk7Zm9yKHA9cDw8aHx3LGUrPWg7ZT4wO2FbdCtzXT0yNTUmcCxzKz11LHAvPTI1NixlLT04KTthW3Qrcy11XXw9MTI4Kmx9Ow0KDQogIH0se31dLDUxOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5jcmVhdGU/bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt0LnN1cGVyXz1lLHQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pfTptb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3Quc3VwZXJfPWU7dmFyIG89ZnVuY3Rpb24oKXt9O28ucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBvLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXR9Ow0KDQogIH0se31dLDUyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgZnVuY3Rpb24gaXNCdWZmZXIoZil7cmV0dXJuISFmLmNvbnN0cnVjdG9yJiYiZnVuY3Rpb24iPT10eXBlb2YgZi5jb25zdHJ1Y3Rvci5pc0J1ZmZlciYmZi5jb25zdHJ1Y3Rvci5pc0J1ZmZlcihmKX1mdW5jdGlvbiBpc1Nsb3dCdWZmZXIoZil7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGYucmVhZEZsb2F0TEUmJiJmdW5jdGlvbiI9PXR5cGVvZiBmLnNsaWNlJiZpc0J1ZmZlcihmLnNsaWNlKDAsMCkpfW1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGYpe3JldHVybiBudWxsIT1mJiYoaXNCdWZmZXIoZil8fGlzU2xvd0J1ZmZlcihmKXx8ISFmLl9pc0J1ZmZlcil9Ow0KDQogIH0se31dLDUzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiW2lzLWhleC1wcmVmaXhlZF0gdmFsdWUgbXVzdCBiZSB0eXBlICdzdHJpbmcnLCBpcyBjdXJyZW50bHkgdHlwZSAiK3R5cGVvZiBlKyIsIHdoaWxlIGNoZWNraW5nIGlzSGV4UHJlZml4ZWQuIik7cmV0dXJuIjB4Ij09PWUuc2xpY2UoMCwyKX07DQoNCiAgfSx7fV0sNTQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICB2YXIgdG9TdHJpbmc9e30udG9TdHJpbmc7bW9kdWxlLmV4cG9ydHM9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24ocil7cmV0dXJuIltvYmplY3QgQXJyYXldIj09dG9TdHJpbmcuY2FsbChyKX07DQoNCiAgfSx7fV0sNTU6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAoZnVuY3Rpb24gKGdsb2JhbCl7DQogICFmdW5jdGlvbihyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZTtuJiYocj1nbG9iYWwpLkpTX1NIQTNfVEVTVCYmKHIubmF2aWdhdG9yPXt1c2VyQWdlbnQ6IkNocm9tZSJ9KTt2YXIgdD0oci5KU19TSEEzX1RFU1R8fCFuKSYmLTEhPW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ2hyb21lIiksbz0iMDEyMzQ1Njc4OWFiY2RlZiIuc3BsaXQoIiIpLGE9WzEsMjU2LDY1NTM2LDE2Nzc3MjE2XSxjPVs2LDE1MzYsMzkzMjE2LDEwMDY2MzI5Nl0sZj1bMCw4LDE2LDI0XSx1PVsxLDAsMzI4OTgsMCwzMjkwNiwyMTQ3NDgzNjQ4LDIxNDc1MTY0MTYsMjE0NzQ4MzY0OCwzMjkwNywwLDIxNDc0ODM2NDksMCwyMTQ3NTE2NTQ1LDIxNDc0ODM2NDgsMzI3NzcsMjE0NzQ4MzY0OCwxMzgsMCwxMzYsMCwyMTQ3NTE2NDI1LDAsMjE0NzQ4MzY1OCwwLDIxNDc1MTY1NTUsMCwxMzksMjE0NzQ4MzY0OCwzMjkwNSwyMTQ3NDgzNjQ4LDMyNzcxLDIxNDc0ODM2NDgsMzI3NzAsMjE0NzQ4MzY0OCwxMjgsMjE0NzQ4MzY0OCwzMjc3OCwwLDIxNDc0ODM2NTgsMjE0NzQ4MzY0OCwyMTQ3NTE2NTQ1LDIxNDc0ODM2NDgsMzI4OTYsMjE0NzQ4MzY0OCwyMTQ3NDgzNjQ5LDAsMjE0NzUxNjQyNCwyMTQ3NDgzNjQ4XSxpPVtdLF89W10scz1mdW5jdGlvbihyKXtyZXR1cm4gdihyLDIyNCxhKX0saz1mdW5jdGlvbihyKXtyZXR1cm4gdihyLDI1NixhKX0saD1mdW5jdGlvbihyKXtyZXR1cm4gdihyLDM4NCxhKX0sZD1mdW5jdGlvbihyKXtyZXR1cm4gdihyLDIyNCxjKX0sbD1mdW5jdGlvbihyKXtyZXR1cm4gdihyLDI1NixjKX0sQT1mdW5jdGlvbihyKXtyZXR1cm4gdihyLDM4NCxjKX0sUz1mdW5jdGlvbihyKXtyZXR1cm4gdihyLDUxMixjKX0sdj1mdW5jdGlvbihlLG4sYyl7dmFyIHM9InN0cmluZyIhPXR5cGVvZiBlO3MmJmUuY29uc3RydWN0b3I9PXIuQXJyYXlCdWZmZXImJihlPW5ldyBVaW50OEFycmF5KGUpKSx2b2lkIDA9PT1uJiYobj01MTIsYz1hKTt2YXIgayxoLGQsbCxBLFMsdixnLFQsbSxwLHksQyxFLEgsSixiLHcseCxCLE8sVSxqLHEseixELEYsRyxJLEssTCxNLE4sUCxRLFIsVixXLFgsWSxaLCQscnIsZXIsbnIsdHIsb3IsYXIsY3IsZnIsdXIsaXIsX3Isc3Isa3IsaHIsZHIsbHIsQXIsU3IsdnIsZ3IsVHIsbXIscHIseXIsQ3I9ITEsRXI9MCxIcj0wLEpyPWUubGVuZ3RoLGJyPSgxNjAwLTIqbikvMzIsd3I9NCpicjtmb3IobD0wO2w8NTA7KytsKV9bbF09MDtrPTA7ZG97Zm9yKGlbMF09ayxsPTE7bDxicisxOysrbClpW2xdPTA7aWYocylmb3IobD1IcjtFcjxKciYmbDx3cjsrK0VyKWlbbD4+Ml18PWVbRXJdPDxmWzMmbCsrXTtlbHNlIGZvcihsPUhyO0VyPEpyJiZsPHdyOysrRXIpKGg9ZS5jaGFyQ29kZUF0KEVyKSk8MTI4P2lbbD4+Ml18PWg8PGZbMyZsKytdOmg8MjA0OD8oaVtsPj4yXXw9KDE5MnxoPj42KTw8ZlszJmwrK10saVtsPj4yXXw9KDEyOHw2MyZoKTw8ZlszJmwrK10pOmg8NTUyOTZ8fGg+PTU3MzQ0PyhpW2w+PjJdfD0oMjI0fGg+PjEyKTw8ZlszJmwrK10saVtsPj4yXXw9KDEyOHxoPj42JjYzKTw8ZlszJmwrK10saVtsPj4yXXw9KDEyOHw2MyZoKTw8ZlszJmwrK10pOihoPTY1NTM2KygoMTAyMyZoKTw8MTB8MTAyMyZlLmNoYXJDb2RlQXQoKytFcikpLGlbbD4+Ml18PSgyNDB8aD4+MTgpPDxmWzMmbCsrXSxpW2w+PjJdfD0oMTI4fGg+PjEyJjYzKTw8ZlszJmwrK10saVtsPj4yXXw9KDEyOHxoPj42JjYzKTw8ZlszJmwrK10saVtsPj4yXXw9KDEyOHw2MyZoKTw8ZlszJmwrK10pO2ZvcihIcj1sLXdyLEVyPT1KciYmKGlbbD4+Ml18PWNbMyZsXSwrK0VyKSxrPWlbYnJdLEVyPkpyJiZsPHdyJiYoaVtici0xXXw9MjE0NzQ4MzY0OCxDcj0hMCksbD0wO2w8YnI7KytsKV9bbF1ePWlbbF07Zm9yKGQ9MDtkPDQ4O2QrPTIpdj1fWzBdXl9bMTBdXl9bMjBdXl9bMzBdXl9bNDBdLGc9X1sxXV5fWzExXV5fWzIxXV5fWzMxXV5fWzQxXSxUPV9bMl1eX1sxMl1eX1syMl1eX1szMl1eX1s0Ml0sbT1fWzNdXl9bMTNdXl9bMjNdXl9bMzNdXl9bNDNdLHA9X1s0XV5fWzE0XV5fWzI0XV5fWzM0XV5fWzQ0XSx5PV9bNV1eX1sxNV1eX1syNV1eX1szNV1eX1s0NV0sQz1fWzZdXl9bMTZdXl9bMjZdXl9bMzZdXl9bNDZdLEU9X1s3XV5fWzE3XV5fWzI3XV5fWzM3XV5fWzQ3XSxBPShIPV9bOF1eX1sxOF1eX1syOF1eX1szOF1eX1s0OF0pXihUPDwxfG0+Pj4zMSksUz0oSj1fWzldXl9bMTldXl9bMjldXl9bMzldXl9bNDldKV4obTw8MXxUPj4+MzEpLF9bMF1ePUEsX1sxXV49UyxfWzEwXV49QSxfWzExXV49UyxfWzIwXV49QSxfWzIxXV49UyxfWzMwXV49QSxfWzMxXV49UyxfWzQwXV49QSxfWzQxXV49UyxBPXZeKHA8PDF8eT4+PjMxKSxTPWdeKHk8PDF8cD4+PjMxKSxfWzJdXj1BLF9bM11ePVMsX1sxMl1ePUEsX1sxM11ePVMsX1syMl1ePUEsX1syM11ePVMsX1szMl1ePUEsX1szM11ePVMsX1s0Ml1ePUEsX1s0M11ePVMsQT1UXihDPDwxfEU+Pj4zMSksUz1tXihFPDwxfEM+Pj4zMSksX1s0XV49QSxfWzVdXj1TLF9bMTRdXj1BLF9bMTVdXj1TLF9bMjRdXj1BLF9bMjVdXj1TLF9bMzRdXj1BLF9bMzVdXj1TLF9bNDRdXj1BLF9bNDVdXj1TLEE9cF4oSDw8MXxKPj4+MzEpLFM9eV4oSjw8MXxIPj4+MzEpLF9bNl1ePUEsX1s3XV49UyxfWzE2XV49QSxfWzE3XV49UyxfWzI2XV49QSxfWzI3XV49UyxfWzM2XV49QSxfWzM3XV49UyxfWzQ2XV49QSxfWzQ3XV49UyxBPUNeKHY8PDF8Zz4+PjMxKSxTPUVeKGc8PDF8dj4+PjMxKSxfWzhdXj1BLF9bOV1ePVMsX1sxOF1ePUEsX1sxOV1ePVMsX1syOF1ePUEsX1syOV1ePVMsX1szOF1ePUEsX1szOV1ePVMsX1s0OF1ePUEsX1s0OV1ePVMsYj1fWzBdLHc9X1sxXSxjcj1fWzExXTw8NHxfWzEwXT4+PjI4LGZyPV9bMTBdPDw0fF9bMTFdPj4+MjgsTD1fWzIwXTw8M3xfWzIxXT4+PjI5LE09X1syMV08PDN8X1syMF0+Pj4yOSxUcj1fWzMxXTw8OXxfWzMwXT4+PjIzLG1yPV9bMzBdPDw5fF9bMzFdPj4+MjMsbnI9X1s0MF08PDE4fF9bNDFdPj4+MTQsdHI9X1s0MV08PDE4fF9bNDBdPj4+MTQsVj1fWzJdPDwxfF9bM10+Pj4zMSxXPV9bM108PDF8X1syXT4+PjMxLHg9X1sxM108PDEyfF9bMTJdPj4+MjAsQj1fWzEyXTw8MTJ8X1sxM10+Pj4yMCx1cj1fWzIyXTw8MTB8X1syM10+Pj4yMixpcj1fWzIzXTw8MTB8X1syMl0+Pj4yMixOPV9bMzNdPDwxM3xfWzMyXT4+PjE5LFA9X1szMl08PDEzfF9bMzNdPj4+MTkscHI9X1s0Ml08PDJ8X1s0M10+Pj4zMCx5cj1fWzQzXTw8MnxfWzQyXT4+PjMwLGRyPV9bNV08PDMwfF9bNF0+Pj4yLGxyPV9bNF08PDMwfF9bNV0+Pj4yLFg9X1sxNF08PDZ8X1sxNV0+Pj4yNixZPV9bMTVdPDw2fF9bMTRdPj4+MjYsTz1fWzI1XTw8MTF8X1syNF0+Pj4yMSxVPV9bMjRdPDwxMXxfWzI1XT4+PjIxLF9yPV9bMzRdPDwxNXxfWzM1XT4+PjE3LHNyPV9bMzVdPDwxNXxfWzM0XT4+PjE3LFE9X1s0NV08PDI5fF9bNDRdPj4+MyxSPV9bNDRdPDwyOXxfWzQ1XT4+PjMsRj1fWzZdPDwyOHxfWzddPj4+NCxHPV9bN108PDI4fF9bNl0+Pj40LEFyPV9bMTddPDwyM3xfWzE2XT4+PjksU3I9X1sxNl08PDIzfF9bMTddPj4+OSxaPV9bMjZdPDwyNXxfWzI3XT4+PjcsJD1fWzI3XTw8MjV8X1syNl0+Pj43LGo9X1szNl08PDIxfF9bMzddPj4+MTEscT1fWzM3XTw8MjF8X1szNl0+Pj4xMSxrcj1fWzQ3XTw8MjR8X1s0Nl0+Pj44LGhyPV9bNDZdPDwyNHxfWzQ3XT4+Pjgsb3I9X1s4XTw8Mjd8X1s5XT4+PjUsYXI9X1s5XTw8Mjd8X1s4XT4+PjUsST1fWzE4XTw8MjB8X1sxOV0+Pj4xMixLPV9bMTldPDwyMHxfWzE4XT4+PjEyLHZyPV9bMjldPDw3fF9bMjhdPj4+MjUsZ3I9X1syOF08PDd8X1syOV0+Pj4yNSxycj1fWzM4XTw8OHxfWzM5XT4+PjI0LGVyPV9bMzldPDw4fF9bMzhdPj4+MjQsej1fWzQ4XTw8MTR8X1s0OV0+Pj4xOCxEPV9bNDldPDwxNHxfWzQ4XT4+PjE4LF9bMF09Yl5+eCZPLF9bMV09d15+QiZVLF9bMTBdPUZefkkmTCxfWzExXT1HXn5LJk0sX1syMF09Vl5+WCZaLF9bMjFdPVdeflkmJCxfWzMwXT1vcl5+Y3ImdXIsX1szMV09YXJefmZyJmlyLF9bNDBdPWRyXn5BciZ2cixfWzQxXT1scl5+U3ImZ3IsX1syXT14Xn5PJmosX1szXT1CXn5VJnEsX1sxMl09SV5+TCZOLF9bMTNdPUtefk0mUCxfWzIyXT1YXn5aJnJyLF9bMjNdPVlefiQmZXIsX1szMl09Y3JefnVyJl9yLF9bMzNdPWZyXn5pciZzcixfWzQyXT1Bcl5+dnImVHIsX1s0M109U3JefmdyJm1yLF9bNF09T15+aiZ6LF9bNV09VV5+cSZELF9bMTRdPUxefk4mUSxfWzE1XT1NXn5QJlIsX1syNF09Wl5+cnImbnIsX1syNV09JF5+ZXImdHIsX1szNF09dXJefl9yJmtyLF9bMzVdPWlyXn5zciZocixfWzQ0XT12cl5+VHImcHIsX1s0NV09Z3Jefm1yJnlyLF9bNl09al5+eiZiLF9bN109cV5+RCZ3LF9bMTZdPU5eflEmRixfWzE3XT1QXn5SJkcsX1syNl09cnJefm5yJlYsX1syN109ZXJefnRyJlcsX1szNl09X3JefmtyJm9yLF9bMzddPXNyXn5ociZhcixfWzQ2XT1Ucl5+cHImZHIsX1s0N109bXJefnlyJmxyLF9bOF09el5+YiZ4LF9bOV09RF5+dyZCLF9bMThdPVFefkYmSSxfWzE5XT1SXn5HJkssX1syOF09bnJeflYmWCxfWzI5XT10cl5+VyZZLF9bMzhdPWtyXn5vciZjcixfWzM5XT1ocl5+YXImZnIsX1s0OF09cHJefmRyJkFyLF9bNDldPXlyXn5sciZTcixfWzBdXj11W2RdLF9bMV1ePXVbZCsxXX13aGlsZSghQ3IpO3ZhciB4cj0iIjtpZih0KWI9X1swXSx3PV9bMV0seD1fWzJdLEI9X1szXSxPPV9bNF0sVT1fWzVdLGo9X1s2XSxxPV9bN10sej1fWzhdLEQ9X1s5XSxGPV9bMTBdLEc9X1sxMV0sST1fWzEyXSxLPV9bMTNdLEw9X1sxNF0sTT1fWzE1XSx4cis9b1tiPj40JjE1XStvWzE1JmJdK29bYj4+MTImMTVdK29bYj4+OCYxNV0rb1tiPj4yMCYxNV0rb1tiPj4xNiYxNV0rb1tiPj4yOCYxNV0rb1tiPj4yNCYxNV0rb1t3Pj40JjE1XStvWzE1JnddK29bdz4+MTImMTVdK29bdz4+OCYxNV0rb1t3Pj4yMCYxNV0rb1t3Pj4xNiYxNV0rb1t3Pj4yOCYxNV0rb1t3Pj4yNCYxNV0rb1t4Pj40JjE1XStvWzE1JnhdK29beD4+MTImMTVdK29beD4+OCYxNV0rb1t4Pj4yMCYxNV0rb1t4Pj4xNiYxNV0rb1t4Pj4yOCYxNV0rb1t4Pj4yNCYxNV0rb1tCPj40JjE1XStvWzE1JkJdK29bQj4+MTImMTVdK29bQj4+OCYxNV0rb1tCPj4yMCYxNV0rb1tCPj4xNiYxNV0rb1tCPj4yOCYxNV0rb1tCPj4yNCYxNV0rb1tPPj40JjE1XStvWzE1Jk9dK29bTz4+MTImMTVdK29bTz4+OCYxNV0rb1tPPj4yMCYxNV0rb1tPPj4xNiYxNV0rb1tPPj4yOCYxNV0rb1tPPj4yNCYxNV0rb1tVPj40JjE1XStvWzE1JlVdK29bVT4+MTImMTVdK29bVT4+OCYxNV0rb1tVPj4yMCYxNV0rb1tVPj4xNiYxNV0rb1tVPj4yOCYxNV0rb1tVPj4yNCYxNV0rb1tqPj40JjE1XStvWzE1JmpdK29baj4+MTImMTVdK29baj4+OCYxNV0rb1tqPj4yMCYxNV0rb1tqPj4xNiYxNV0rb1tqPj4yOCYxNV0rb1tqPj4yNCYxNV0sbj49MjU2JiYoeHIrPW9bcT4+NCYxNV0rb1sxNSZxXStvW3E+PjEyJjE1XStvW3E+PjgmMTVdK29bcT4+MjAmMTVdK29bcT4+MTYmMTVdK29bcT4+MjgmMTVdK29bcT4+MjQmMTVdKSxuPj0zODQmJih4cis9b1t6Pj40JjE1XStvWzE1JnpdK29bej4+MTImMTVdK29bej4+OCYxNV0rb1t6Pj4yMCYxNV0rb1t6Pj4xNiYxNV0rb1t6Pj4yOCYxNV0rb1t6Pj4yNCYxNV0rb1tEPj40JjE1XStvWzE1JkRdK29bRD4+MTImMTVdK29bRD4+OCYxNV0rb1tEPj4yMCYxNV0rb1tEPj4xNiYxNV0rb1tEPj4yOCYxNV0rb1tEPj4yNCYxNV0rb1tGPj40JjE1XStvWzE1JkZdK29bRj4+MTImMTVdK29bRj4+OCYxNV0rb1tGPj4yMCYxNV0rb1tGPj4xNiYxNV0rb1tGPj4yOCYxNV0rb1tGPj4yNCYxNV0rb1tHPj40JjE1XStvWzE1JkddK29bRz4+MTImMTVdK29bRz4+OCYxNV0rb1tHPj4yMCYxNV0rb1tHPj4xNiYxNV0rb1tHPj4yOCYxNV0rb1tHPj4yNCYxNV0pLDUxMj09biYmKHhyKz1vW0k+PjQmMTVdK29bMTUmSV0rb1tJPj4xMiYxNV0rb1tJPj44JjE1XStvW0k+PjIwJjE1XStvW0k+PjE2JjE1XStvW0k+PjI4JjE1XStvW0k+PjI0JjE1XStvW0s+PjQmMTVdK29bMTUmS10rb1tLPj4xMiYxNV0rb1tLPj44JjE1XStvW0s+PjIwJjE1XStvW0s+PjE2JjE1XStvW0s+PjI4JjE1XStvW0s+PjI0JjE1XStvW0w+PjQmMTVdK29bMTUmTF0rb1tMPj4xMiYxNV0rb1tMPj44JjE1XStvW0w+PjIwJjE1XStvW0w+PjE2JjE1XStvW0w+PjI4JjE1XStvW0w+PjI0JjE1XStvW00+PjQmMTVdK29bMTUmTV0rb1tNPj4xMiYxNV0rb1tNPj44JjE1XStvW00+PjIwJjE1XStvW00+PjE2JjE1XStvW00+PjI4JjE1XStvW00+PjI0JjE1XSk7ZWxzZSBmb3IobD0wLGQ9bi8zMjtsPGQ7KytsKUE9X1tsXSx4cis9b1tBPj40JjE1XStvWzE1JkFdK29bQT4+MTImMTVdK29bQT4+OCYxNV0rb1tBPj4yMCYxNV0rb1tBPj4xNiYxNV0rb1tBPj4yOCYxNV0rb1tBPj4yNCYxNV07cmV0dXJuIHhyfTshci5KU19TSEEzX1RFU1QmJm4/bW9kdWxlLmV4cG9ydHM9e3NoYTNfNTEyOlMsc2hhM18zODQ6QSxzaGEzXzI1NjpsLHNoYTNfMjI0OmQsa2VjY2FrXzUxMjp2LGtlY2Nha18zODQ6aCxrZWNjYWtfMjU2Omssa2VjY2FrXzIyNDpzfTpyJiYoci5zaGEzXzUxMj1TLHIuc2hhM18zODQ9QSxyLnNoYTNfMjU2PWwsci5zaGEzXzIyND1kLHIua2VjY2FrXzUxMj12LHIua2VjY2FrXzM4ND1oLHIua2VjY2FrXzI1Nj1rLHIua2VjY2FrXzIyND1zKX0odGhpcyk7DQoNCiAgfSkuY2FsbCh0aGlzLHR5cGVvZiBnbG9iYWwgIT09ICJ1bmRlZmluZWQiID8gZ2xvYmFsIDogdHlwZW9mIHNlbGYgIT09ICJ1bmRlZmluZWQiID8gc2VsZiA6IHR5cGVvZiB3aW5kb3cgIT09ICJ1bmRlZmluZWQiID8gd2luZG93IDoge30pDQogIH0se31dLDU2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO21vZHVsZS5leHBvcnRzPXJlcXVpcmUoIi4vbGliL2FwaSIpKHJlcXVpcmUoIi4vbGliL2tlY2NhayIpKTsNCg0KICB9LHsiLi9saWIvYXBpIjo1NywiLi9saWIva2VjY2FrIjo2MX1dLDU3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO3ZhciBjcmVhdGVLZWNjYWs9cmVxdWlyZSgiLi9rZWNjYWsiKSxjcmVhdGVTaGFrZT1yZXF1aXJlKCIuL3NoYWtlIik7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHI9Y3JlYXRlS2VjY2FrKGUpLGE9Y3JlYXRlU2hha2UoZSk7cmV0dXJuIGZ1bmN0aW9uKGUsYyl7c3dpdGNoKCJzdHJpbmciPT10eXBlb2YgZT9lLnRvTG93ZXJDYXNlKCk6ZSl7Y2FzZSJrZWNjYWsyMjQiOnJldHVybiBuZXcgcigxMTUyLDQ0OCxudWxsLDIyNCxjKTtjYXNlImtlY2NhazI1NiI6cmV0dXJuIG5ldyByKDEwODgsNTEyLG51bGwsMjU2LGMpO2Nhc2Uia2VjY2FrMzg0IjpyZXR1cm4gbmV3IHIoODMyLDc2OCxudWxsLDM4NCxjKTtjYXNlImtlY2NhazUxMiI6cmV0dXJuIG5ldyByKDU3NiwxMDI0LG51bGwsNTEyLGMpO2Nhc2Uic2hhMy0yMjQiOnJldHVybiBuZXcgcigxMTUyLDQ0OCw2LDIyNCxjKTtjYXNlInNoYTMtMjU2IjpyZXR1cm4gbmV3IHIoMTA4OCw1MTIsNiwyNTYsYyk7Y2FzZSJzaGEzLTM4NCI6cmV0dXJuIG5ldyByKDgzMiw3NjgsNiwzODQsYyk7Y2FzZSJzaGEzLTUxMiI6cmV0dXJuIG5ldyByKDU3NiwxMDI0LDYsNTEyLGMpO2Nhc2Uic2hha2UxMjgiOnJldHVybiBuZXcgYSgxMzQ0LDI1NiwzMSxjKTtjYXNlInNoYWtlMjU2IjpyZXR1cm4gbmV3IGEoMTA4OCw1MTIsMzEsYyk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkludmFsZCBhbGdvcml0aG06ICIrZSl9fX07DQoNCiAgfSx7Ii4va2VjY2FrIjo1OCwiLi9zaGFrZSI6NTl9XSw1ODpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0Ijt2YXIgQnVmZmVyPXJlcXVpcmUoInNhZmUtYnVmZmVyIikuQnVmZmVyLFRyYW5zZm9ybT1yZXF1aXJlKCJzdHJlYW0iKS5UcmFuc2Zvcm0saW5oZXJpdHM9cmVxdWlyZSgiaW5oZXJpdHMiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0KXtmdW5jdGlvbiBpKGksZSxyLHMsYSl7VHJhbnNmb3JtLmNhbGwodGhpcyxhKSx0aGlzLl9yYXRlPWksdGhpcy5fY2FwYWNpdHk9ZSx0aGlzLl9kZWxpbWl0ZWRTdWZmaXg9cix0aGlzLl9oYXNoQml0TGVuZ3RoPXMsdGhpcy5fb3B0aW9ucz1hLHRoaXMuX3N0YXRlPW5ldyB0LHRoaXMuX3N0YXRlLmluaXRpYWxpemUoaSxlKSx0aGlzLl9maW5hbGl6ZWQ9ITF9cmV0dXJuIGluaGVyaXRzKGksVHJhbnNmb3JtKSxpLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHQsaSxlKXt2YXIgcj1udWxsO3RyeXt0aGlzLnVwZGF0ZSh0LGkpfWNhdGNoKHQpe3I9dH1lKHIpfSxpLnByb3RvdHlwZS5fZmx1c2g9ZnVuY3Rpb24odCl7dmFyIGk9bnVsbDt0cnl7dGhpcy5wdXNoKHRoaXMuZGlnZXN0KCkpfWNhdGNoKHQpe2k9dH10KGkpfSxpLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxpKXtpZighQnVmZmVyLmlzQnVmZmVyKHQpJiYic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRGF0YSBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgYnVmZmVyIik7aWYodGhpcy5fZmluYWxpemVkKXRocm93IG5ldyBFcnJvcigiRGlnZXN0IGFscmVhZHkgY2FsbGVkIik7cmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcih0KXx8KHQ9QnVmZmVyLmZyb20odCxpKSksdGhpcy5fc3RhdGUuYWJzb3JiKHQpLHRoaXN9LGkucHJvdG90eXBlLmRpZ2VzdD1mdW5jdGlvbih0KXtpZih0aGlzLl9maW5hbGl6ZWQpdGhyb3cgbmV3IEVycm9yKCJEaWdlc3QgYWxyZWFkeSBjYWxsZWQiKTt0aGlzLl9maW5hbGl6ZWQ9ITAsdGhpcy5fZGVsaW1pdGVkU3VmZml4JiZ0aGlzLl9zdGF0ZS5hYnNvcmJMYXN0RmV3Qml0cyh0aGlzLl9kZWxpbWl0ZWRTdWZmaXgpO3ZhciBpPXRoaXMuX3N0YXRlLnNxdWVlemUodGhpcy5faGFzaEJpdExlbmd0aC84KTtyZXR1cm4gdm9pZCAwIT09dCYmKGk9aS50b1N0cmluZyh0KSksdGhpcy5fcmVzZXRTdGF0ZSgpLGl9LGkucHJvdG90eXBlLl9yZXNldFN0YXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0YXRlLmluaXRpYWxpemUodGhpcy5fcmF0ZSx0aGlzLl9jYXBhY2l0eSksdGhpc30saS5wcm90b3R5cGUuX2Nsb25lPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IGkodGhpcy5fcmF0ZSx0aGlzLl9jYXBhY2l0eSx0aGlzLl9kZWxpbWl0ZWRTdWZmaXgsdGhpcy5faGFzaEJpdExlbmd0aCx0aGlzLl9vcHRpb25zKTtyZXR1cm4gdGhpcy5fc3RhdGUuY29weSh0Ll9zdGF0ZSksdC5fZmluYWxpemVkPXRoaXMuX2ZpbmFsaXplZCx0fSxpfTsNCg0KICB9LHsiaW5oZXJpdHMiOjUxLCJzYWZlLWJ1ZmZlciI6ODIsInN0cmVhbSI6OTd9XSw1OTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0Ijt2YXIgQnVmZmVyPXJlcXVpcmUoInNhZmUtYnVmZmVyIikuQnVmZmVyLFRyYW5zZm9ybT1yZXF1aXJlKCJzdHJlYW0iKS5UcmFuc2Zvcm0saW5oZXJpdHM9cmVxdWlyZSgiaW5oZXJpdHMiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0KXtmdW5jdGlvbiBpKGksZSxyLHMpe1RyYW5zZm9ybS5jYWxsKHRoaXMscyksdGhpcy5fcmF0ZT1pLHRoaXMuX2NhcGFjaXR5PWUsdGhpcy5fZGVsaW1pdGVkU3VmZml4PXIsdGhpcy5fb3B0aW9ucz1zLHRoaXMuX3N0YXRlPW5ldyB0LHRoaXMuX3N0YXRlLmluaXRpYWxpemUoaSxlKSx0aGlzLl9maW5hbGl6ZWQ9ITF9cmV0dXJuIGluaGVyaXRzKGksVHJhbnNmb3JtKSxpLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHQsaSxlKXt2YXIgcj1udWxsO3RyeXt0aGlzLnVwZGF0ZSh0LGkpfWNhdGNoKHQpe3I9dH1lKHIpfSxpLnByb3RvdHlwZS5fZmx1c2g9ZnVuY3Rpb24oKXt9LGkucHJvdG90eXBlLl9yZWFkPWZ1bmN0aW9uKHQpe3RoaXMucHVzaCh0aGlzLnNxdWVlemUodCkpfSxpLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxpKXtpZighQnVmZmVyLmlzQnVmZmVyKHQpJiYic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRGF0YSBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgYnVmZmVyIik7aWYodGhpcy5fZmluYWxpemVkKXRocm93IG5ldyBFcnJvcigiU3F1ZWV6ZSBhbHJlYWR5IGNhbGxlZCIpO3JldHVybiBCdWZmZXIuaXNCdWZmZXIodCl8fCh0PUJ1ZmZlci5mcm9tKHQsaSkpLHRoaXMuX3N0YXRlLmFic29yYih0KSx0aGlzfSxpLnByb3RvdHlwZS5zcXVlZXplPWZ1bmN0aW9uKHQsaSl7dGhpcy5fZmluYWxpemVkfHwodGhpcy5fZmluYWxpemVkPSEwLHRoaXMuX3N0YXRlLmFic29yYkxhc3RGZXdCaXRzKHRoaXMuX2RlbGltaXRlZFN1ZmZpeCkpO3ZhciBlPXRoaXMuX3N0YXRlLnNxdWVlemUodCk7cmV0dXJuIHZvaWQgMCE9PWkmJihlPWUudG9TdHJpbmcoaSkpLGV9LGkucHJvdG90eXBlLl9yZXNldFN0YXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0YXRlLmluaXRpYWxpemUodGhpcy5fcmF0ZSx0aGlzLl9jYXBhY2l0eSksdGhpc30saS5wcm90b3R5cGUuX2Nsb25lPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IGkodGhpcy5fcmF0ZSx0aGlzLl9jYXBhY2l0eSx0aGlzLl9kZWxpbWl0ZWRTdWZmaXgsdGhpcy5fb3B0aW9ucyk7cmV0dXJuIHRoaXMuX3N0YXRlLmNvcHkodC5fc3RhdGUpLHQuX2ZpbmFsaXplZD10aGlzLl9maW5hbGl6ZWQsdH0saX07DQoNCiAgfSx7ImluaGVyaXRzIjo1MSwic2FmZS1idWZmZXIiOjgyLCJzdHJlYW0iOjk3fV0sNjA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAidXNlIHN0cmljdCI7dmFyIFAxNjAwX1JPVU5EX0NPTlNUQU5UUz1bMSwwLDMyODk4LDAsMzI5MDYsMjE0NzQ4MzY0OCwyMTQ3NTE2NDE2LDIxNDc0ODM2NDgsMzI5MDcsMCwyMTQ3NDgzNjQ5LDAsMjE0NzUxNjU0NSwyMTQ3NDgzNjQ4LDMyNzc3LDIxNDc0ODM2NDgsMTM4LDAsMTM2LDAsMjE0NzUxNjQyNSwwLDIxNDc0ODM2NTgsMCwyMTQ3NTE2NTU1LDAsMTM5LDIxNDc0ODM2NDgsMzI5MDUsMjE0NzQ4MzY0OCwzMjc3MSwyMTQ3NDgzNjQ4LDMyNzcwLDIxNDc0ODM2NDgsMTI4LDIxNDc0ODM2NDgsMzI3NzgsMCwyMTQ3NDgzNjU4LDIxNDc0ODM2NDgsMjE0NzUxNjU0NSwyMTQ3NDgzNjQ4LDMyODk2LDIxNDc0ODM2NDgsMjE0NzQ4MzY0OSwwLDIxNDc1MTY0MjQsMjE0NzQ4MzY0OF07ZXhwb3J0cy5wMTYwMD1mdW5jdGlvbihyKXtmb3IodmFyIE49MDtOPDI0OysrTil7dmFyIGE9clswXV5yWzEwXV5yWzIwXV5yWzMwXV5yWzQwXSx2PXJbMV1eclsxMV1eclsyMV1eclszMV1ecls0MV0sTz1yWzJdXnJbMTJdXnJbMjJdXnJbMzJdXnJbNDJdLFM9clszXV5yWzEzXV5yWzIzXV5yWzMzXV5yWzQzXSxUPXJbNF1eclsxNF1eclsyNF1eclszNF1ecls0NF0sXz1yWzVdXnJbMTVdXnJbMjVdXnJbMzVdXnJbNDVdLHQ9cls2XV5yWzE2XV5yWzI2XV5yWzM2XV5yWzQ2XSxvPXJbN11eclsxN11eclsyN11eclszN11ecls0N10scz1yWzhdXnJbMThdXnJbMjhdXnJbMzhdXnJbNDhdLEE9cls5XV5yWzE5XV5yWzI5XV5yWzM5XV5yWzQ5XSxDPXNeKE88PDF8Uz4+PjMxKSxEPUFeKFM8PDF8Tz4+PjMxKSxQPXJbMF1eQyxSPXJbMV1eRCxVPXJbMTBdXkMsYz1yWzExXV5ELGU9clsyMF1eQyxmPXJbMjFdXkQsaT1yWzMwXV5DLG49clszMV1eRCxwPXJbNDBdXkMsdT1yWzQxXV5EO0M9YV4oVDw8MXxfPj4+MzEpLEQ9dl4oXzw8MXxUPj4+MzEpO3ZhciB4PXJbMl1eQyxiPXJbM11eRCxkPXJbMTJdXkMsZz1yWzEzXV5ELGg9clsyMl1eQyxqPXJbMjNdXkQsaz1yWzMyXV5DLGw9clszM11eRCxtPXJbNDJdXkMscT1yWzQzXV5EO0M9T14odDw8MXxvPj4+MzEpLEQ9U14obzw8MXx0Pj4+MzEpO3ZhciB3PXJbNF1eQyx5PXJbNV1eRCx6PXJbMTRdXkMsQj1yWzE1XV5ELEU9clsyNF1eQyxGPXJbMjVdXkQsRz1yWzM0XV5DLEg9clszNV1eRCxJPXJbNDRdXkMsSj1yWzQ1XV5EO0M9VF4oczw8MXxBPj4+MzEpLEQ9X14oQTw8MXxzPj4+MzEpO3ZhciBLPXJbNl1eQyxMPXJbN11eRCxNPXJbMTZdXkMsUT1yWzE3XV5ELFY9clsyNl1eQyxXPXJbMjddXkQsWD1yWzM2XV5DLFk9clszN11eRCxaPXJbNDZdXkMsJD1yWzQ3XV5EO0M9dF4oYTw8MXx2Pj4+MzEpLEQ9b14odjw8MXxhPj4+MzEpO3ZhciBycj1yWzhdXkMsTnI9cls5XV5ELGFyPXJbMThdXkMsdnI9clsxOV1eRCxPcj1yWzI4XV5DLFNyPXJbMjldXkQsVHI9clszOF1eQyxfcj1yWzM5XV5ELHRyPXJbNDhdXkMsb3I9cls0OV1eRCxzcj1QLEFyPVIsQ3I9Yzw8NHxVPj4+MjgsRHI9VTw8NHxjPj4+MjgsUHI9ZTw8M3xmPj4+MjksUnI9Zjw8M3xlPj4+MjksVXI9bjw8OXxpPj4+MjMsY3I9aTw8OXxuPj4+MjMsZXI9cDw8MTh8dT4+PjE0LGZyPXU8PDE4fHA+Pj4xNCxpcj14PDwxfGI+Pj4zMSxucj1iPDwxfHg+Pj4zMSxwcj1nPDwxMnxkPj4+MjAsdXI9ZDw8MTJ8Zz4+PjIwLHhyPWg8PDEwfGo+Pj4yMixicj1qPDwxMHxoPj4+MjIsZHI9bDw8MTN8az4+PjE5LGdyPWs8PDEzfGw+Pj4xOSxocj1tPDwyfHE+Pj4zMCxqcj1xPDwyfG0+Pj4zMCxrcj15PDwzMHx3Pj4+Mixscj13PDwzMHx5Pj4+Mixtcj16PDw2fEI+Pj4yNixxcj1CPDw2fHo+Pj4yNix3cj1GPDwxMXxFPj4+MjEseXI9RTw8MTF8Rj4+PjIxLHpyPUc8PDE1fEg+Pj4xNyxCcj1IPDwxNXxHPj4+MTcsRXI9Sjw8Mjl8ST4+PjMsRnI9STw8Mjl8Sj4+PjMsR3I9Szw8Mjh8TD4+PjQsSHI9TDw8Mjh8Sz4+PjQsSXI9UTw8MjN8TT4+PjksSnI9TTw8MjN8UT4+PjksS3I9Vjw8MjV8Vz4+PjcsTHI9Vzw8MjV8Vj4+PjcsTXI9WDw8MjF8WT4+PjExLFFyPVk8PDIxfFg+Pj4xMSxWcj0kPDwyNHxaPj4+OCxXcj1aPDwyNHwkPj4+OCxYcj1ycjw8Mjd8TnI+Pj41LFlyPU5yPDwyN3xycj4+PjUsWnI9YXI8PDIwfHZyPj4+MTIsJHI9dnI8PDIwfGFyPj4+MTIsck49U3I8PDd8T3I+Pj4yNSxOTj1Pcjw8N3xTcj4+PjI1LGFOPVRyPDw4fF9yPj4+MjQsdk49X3I8PDh8VHI+Pj4yNCxPTj10cjw8MTR8b3I+Pj4xOCxTTj1vcjw8MTR8dHI+Pj4xODtyWzBdPXNyXn5wciZ3cixyWzFdPUFyXn51ciZ5cixyWzEwXT1Hcl5+WnImUHIsclsxMV09SHJefiRyJlJyLHJbMjBdPWlyXn5tciZLcixyWzIxXT1ucl5+cXImTHIsclszMF09WHJefkNyJnhyLHJbMzFdPVlyXn5EciZicixyWzQwXT1rcl5+SXImck4scls0MV09bHJefkpyJk5OLHJbMl09cHJefndyJk1yLHJbM109dXJefnlyJlFyLHJbMTJdPVpyXn5QciZkcixyWzEzXT0kcl5+UnImZ3IsclsyMl09bXJefktyJmFOLHJbMjNdPXFyXn5MciZ2TixyWzMyXT1Dcl5+eHImenIsclszM109RHJefmJyJkJyLHJbNDJdPUlyXn5yTiZVcixyWzQzXT1Kcl5+Tk4mY3Iscls0XT13cl5+TXImT04scls1XT15cl5+UXImU04sclsxNF09UHJefmRyJkVyLHJbMTVdPVJyXn5nciZGcixyWzI0XT1Lcl5+YU4mZXIsclsyNV09THJefnZOJmZyLHJbMzRdPXhyXn56ciZWcixyWzM1XT1icl5+QnImV3Iscls0NF09ck5eflVyJmhyLHJbNDVdPU5OXn5jciZqcixyWzZdPU1yXn5PTiZzcixyWzddPVFyXn5TTiZBcixyWzE2XT1kcl5+RXImR3IsclsxN109Z3JefkZyJkhyLHJbMjZdPWFOXn5lciZpcixyWzI3XT12Tl5+ZnImbnIsclszNl09enJeflZyJlhyLHJbMzddPUJyXn5XciZZcixyWzQ2XT1Vcl5+aHIma3Iscls0N109Y3JefmpyJmxyLHJbOF09T05efnNyJnByLHJbOV09U05efkFyJnVyLHJbMThdPUVyXn5HciZacixyWzE5XT1Gcl5+SHImJHIsclsyOF09ZXJefmlyJm1yLHJbMjldPWZyXn5uciZxcixyWzM4XT1Wcl5+WHImQ3IsclszOV09V3JefllyJkRyLHJbNDhdPWhyXn5rciZJcixyWzQ5XT1qcl5+bHImSnIsclswXV49UDE2MDBfUk9VTkRfQ09OU1RBTlRTWzIqTl0sclsxXV49UDE2MDBfUk9VTkRfQ09OU1RBTlRTWzIqTisxXX19Ow0KDQogIH0se31dLDYxOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIEtlY2Nhaygpe3RoaXMuc3RhdGU9WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdLHRoaXMuYmxvY2tTaXplPW51bGwsdGhpcy5jb3VudD0wLHRoaXMuc3F1ZWV6aW5nPSExfXZhciBCdWZmZXI9cmVxdWlyZSgic2FmZS1idWZmZXIiKS5CdWZmZXIsa2VjY2FrU3RhdGU9cmVxdWlyZSgiLi9rZWNjYWstc3RhdGUtdW5yb2xsIik7S2VjY2FrLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBzPTA7czw1MDsrK3MpdGhpcy5zdGF0ZVtzXT0wO3RoaXMuYmxvY2tTaXplPXQvOCx0aGlzLmNvdW50PTAsdGhpcy5zcXVlZXppbmc9ITF9LEtlY2Nhay5wcm90b3R5cGUuYWJzb3JiPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7KytlKXRoaXMuc3RhdGVbfn4odGhpcy5jb3VudC80KV1ePXRbZV08PHRoaXMuY291bnQlNCo4LHRoaXMuY291bnQrPTEsdGhpcy5jb3VudD09PXRoaXMuYmxvY2tTaXplJiYoa2VjY2FrU3RhdGUucDE2MDAodGhpcy5zdGF0ZSksdGhpcy5jb3VudD0wKX0sS2VjY2FrLnByb3RvdHlwZS5hYnNvcmJMYXN0RmV3Qml0cz1mdW5jdGlvbih0KXt0aGlzLnN0YXRlW35+KHRoaXMuY291bnQvNCldXj10PDx0aGlzLmNvdW50JTQqOCwwIT0oMTI4JnQpJiZ0aGlzLmNvdW50PT09dGhpcy5ibG9ja1NpemUtMSYma2VjY2FrU3RhdGUucDE2MDAodGhpcy5zdGF0ZSksdGhpcy5zdGF0ZVt+figodGhpcy5ibG9ja1NpemUtMSkvNCldXj0xMjg8PCh0aGlzLmJsb2NrU2l6ZS0xKSU0Kjgsa2VjY2FrU3RhdGUucDE2MDAodGhpcy5zdGF0ZSksdGhpcy5jb3VudD0wLHRoaXMuc3F1ZWV6aW5nPSEwfSxLZWNjYWsucHJvdG90eXBlLnNxdWVlemU9ZnVuY3Rpb24odCl7dGhpcy5zcXVlZXppbmd8fHRoaXMuYWJzb3JiTGFzdEZld0JpdHMoMSk7Zm9yKHZhciBlPUJ1ZmZlci5hbGxvYyh0KSxzPTA7czx0OysrcyllW3NdPXRoaXMuc3RhdGVbfn4odGhpcy5jb3VudC80KV0+Pj50aGlzLmNvdW50JTQqOCYyNTUsdGhpcy5jb3VudCs9MSx0aGlzLmNvdW50PT09dGhpcy5ibG9ja1NpemUmJihrZWNjYWtTdGF0ZS5wMTYwMCh0aGlzLnN0YXRlKSx0aGlzLmNvdW50PTApO3JldHVybiBlfSxLZWNjYWsucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTw1MDsrK2UpdC5zdGF0ZVtlXT10aGlzLnN0YXRlW2VdO3QuYmxvY2tTaXplPXRoaXMuYmxvY2tTaXplLHQuY291bnQ9dGhpcy5jb3VudCx0LnNxdWVlemluZz10aGlzLnNxdWVlemluZ30sbW9kdWxlLmV4cG9ydHM9S2VjY2FrOw0KDQogIH0seyIuL2tlY2Nhay1zdGF0ZS11bnJvbGwiOjYwLCJzYWZlLWJ1ZmZlciI6ODJ9XSw2MjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIG1vZHVsZS5leHBvcnRzPXJlcXVpcmUoImJyb3dzZXJpZnktc2hhMyIpLlNIQTNIYXNoOw0KDQogIH0seyJicm93c2VyaWZ5LXNoYTMiOjd9XSw2MzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIGZ1bmN0aW9uIGFzc2VydChyLGUpe2lmKCFyKXRocm93IG5ldyBFcnJvcihlfHwiQXNzZXJ0aW9uIGZhaWxlZCIpfW1vZHVsZS5leHBvcnRzPWFzc2VydCxhc3NlcnQuZXF1YWw9ZnVuY3Rpb24ocixlLHMpe2lmKHIhPWUpdGhyb3cgbmV3IEVycm9yKHN8fCJBc3NlcnRpb24gZmFpbGVkOiAiK3IrIiAhPSAiK2UpfTsNCg0KICB9LHt9XSw2NDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0b0FycmF5KHIsdCl7aWYoQXJyYXkuaXNBcnJheShyKSlyZXR1cm4gci5zbGljZSgpO2lmKCFyKXJldHVybltdO3ZhciBlPVtdO2lmKCJzdHJpbmciIT10eXBlb2Ygcil7Zm9yKG49MDtuPHIubGVuZ3RoO24rKyllW25dPTB8cltuXTtyZXR1cm4gZX1pZigiaGV4Ij09PXQpeyhyPXIucmVwbGFjZSgvW15hLXowLTldKy9naSwiIikpLmxlbmd0aCUyIT0wJiYocj0iMCIrcik7Zm9yKG49MDtuPHIubGVuZ3RoO24rPTIpZS5wdXNoKHBhcnNlSW50KHJbbl0rcltuKzFdLDE2KSl9ZWxzZSBmb3IodmFyIG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIG89ci5jaGFyQ29kZUF0KG4pLHU9bz4+OCxpPTI1NSZvO3U/ZS5wdXNoKHUsaSk6ZS5wdXNoKGkpfXJldHVybiBlfWZ1bmN0aW9uIHplcm8yKHIpe3JldHVybiAxPT09ci5sZW5ndGg/IjAiK3I6cn1mdW5jdGlvbiB0b0hleChyKXtmb3IodmFyIHQ9IiIsZT0wO2U8ci5sZW5ndGg7ZSsrKXQrPXplcm8yKHJbZV0udG9TdHJpbmcoMTYpKTtyZXR1cm4gdH12YXIgdXRpbHM9ZXhwb3J0czt1dGlscy50b0FycmF5PXRvQXJyYXksdXRpbHMuemVybzI9emVybzIsdXRpbHMudG9IZXg9dG9IZXgsdXRpbHMuZW5jb2RlPWZ1bmN0aW9uKHIsdCl7cmV0dXJuImhleCI9PT10P3RvSGV4KHIpOnJ9Ow0KDQogIH0se31dLDY1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgKGZ1bmN0aW9uIChwcm9jZXNzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIG5leHRUaWNrKGUsbixjLHIpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJyJjYWxsYmFjayIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7dmFyIHMsdCxvPWFyZ3VtZW50cy5sZW5ndGg7c3dpdGNoKG8pe2Nhc2UgMDpjYXNlIDE6cmV0dXJuIHByb2Nlc3MubmV4dFRpY2soZSk7Y2FzZSAyOnJldHVybiBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uKCl7ZS5jYWxsKG51bGwsbil9KTtjYXNlIDM6cmV0dXJuIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24oKXtlLmNhbGwobnVsbCxuLGMpfSk7Y2FzZSA0OnJldHVybiBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uKCl7ZS5jYWxsKG51bGwsbixjLHIpfSk7ZGVmYXVsdDpmb3Iocz1uZXcgQXJyYXkoby0xKSx0PTA7dDxzLmxlbmd0aDspc1t0KytdPWFyZ3VtZW50c1t0XTtyZXR1cm4gcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbigpe2UuYXBwbHkobnVsbCxzKX0pfX0hcHJvY2Vzcy52ZXJzaW9ufHwwPT09cHJvY2Vzcy52ZXJzaW9uLmluZGV4T2YoInYwLiIpfHwwPT09cHJvY2Vzcy52ZXJzaW9uLmluZGV4T2YoInYxLiIpJiYwIT09cHJvY2Vzcy52ZXJzaW9uLmluZGV4T2YoInYxLjguIik/bW9kdWxlLmV4cG9ydHM9bmV4dFRpY2s6bW9kdWxlLmV4cG9ydHM9cHJvY2Vzcy5uZXh0VGljazsNCg0KICB9KS5jYWxsKHRoaXMscmVxdWlyZSgnX3Byb2Nlc3MnKSkNCiAgfSx7Il9wcm9jZXNzIjo2Nn1dLDY2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgZnVuY3Rpb24gZGVmYXVsdFNldFRpbW91dCgpe3Rocm93IG5ldyBFcnJvcigic2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQoKXt0aHJvdyBuZXcgRXJyb3IoImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uIHJ1blRpbWVvdXQoZSl7aWYoY2FjaGVkU2V0VGltZW91dD09PXNldFRpbWVvdXQpcmV0dXJuIHNldFRpbWVvdXQoZSwwKTtpZigoY2FjaGVkU2V0VGltZW91dD09PWRlZmF1bHRTZXRUaW1vdXR8fCFjYWNoZWRTZXRUaW1lb3V0KSYmc2V0VGltZW91dClyZXR1cm4gY2FjaGVkU2V0VGltZW91dD1zZXRUaW1lb3V0LHNldFRpbWVvdXQoZSwwKTt0cnl7cmV0dXJuIGNhY2hlZFNldFRpbWVvdXQoZSwwKX1jYXRjaCh0KXt0cnl7cmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbChudWxsLGUsMCl9Y2F0Y2godCl7cmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbCh0aGlzLGUsMCl9fX1mdW5jdGlvbiBydW5DbGVhclRpbWVvdXQoZSl7aWYoY2FjaGVkQ2xlYXJUaW1lb3V0PT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQoZSk7aWYoKGNhY2hlZENsZWFyVGltZW91dD09PWRlZmF1bHRDbGVhclRpbWVvdXR8fCFjYWNoZWRDbGVhclRpbWVvdXQpJiZjbGVhclRpbWVvdXQpcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dD1jbGVhclRpbWVvdXQsY2xlYXJUaW1lb3V0KGUpO3RyeXtyZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0KGUpfWNhdGNoKHQpe3RyeXtyZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwobnVsbCxlKX1jYXRjaCh0KXtyZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwodGhpcyxlKX19fWZ1bmN0aW9uIGNsZWFuVXBOZXh0VGljaygpe2RyYWluaW5nJiZjdXJyZW50UXVldWUmJihkcmFpbmluZz0hMSxjdXJyZW50UXVldWUubGVuZ3RoP3F1ZXVlPWN1cnJlbnRRdWV1ZS5jb25jYXQocXVldWUpOnF1ZXVlSW5kZXg9LTEscXVldWUubGVuZ3RoJiZkcmFpblF1ZXVlKCkpfWZ1bmN0aW9uIGRyYWluUXVldWUoKXtpZighZHJhaW5pbmcpe3ZhciBlPXJ1blRpbWVvdXQoY2xlYW5VcE5leHRUaWNrKTtkcmFpbmluZz0hMDtmb3IodmFyIHQ9cXVldWUubGVuZ3RoO3Q7KXtmb3IoY3VycmVudFF1ZXVlPXF1ZXVlLHF1ZXVlPVtdOysrcXVldWVJbmRleDx0OyljdXJyZW50UXVldWUmJmN1cnJlbnRRdWV1ZVtxdWV1ZUluZGV4XS5ydW4oKTtxdWV1ZUluZGV4PS0xLHQ9cXVldWUubGVuZ3RofWN1cnJlbnRRdWV1ZT1udWxsLGRyYWluaW5nPSExLHJ1bkNsZWFyVGltZW91dChlKX19ZnVuY3Rpb24gSXRlbShlLHQpe3RoaXMuZnVuPWUsdGhpcy5hcnJheT10fWZ1bmN0aW9uIG5vb3AoKXt9dmFyIHByb2Nlc3M9bW9kdWxlLmV4cG9ydHM9e30sY2FjaGVkU2V0VGltZW91dCxjYWNoZWRDbGVhclRpbWVvdXQ7IWZ1bmN0aW9uKCl7dHJ5e2NhY2hlZFNldFRpbWVvdXQ9ImZ1bmN0aW9uIj09dHlwZW9mIHNldFRpbWVvdXQ/c2V0VGltZW91dDpkZWZhdWx0U2V0VGltb3V0fWNhdGNoKGUpe2NhY2hlZFNldFRpbWVvdXQ9ZGVmYXVsdFNldFRpbW91dH10cnl7Y2FjaGVkQ2xlYXJUaW1lb3V0PSJmdW5jdGlvbiI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OmRlZmF1bHRDbGVhclRpbWVvdXR9Y2F0Y2goZSl7Y2FjaGVkQ2xlYXJUaW1lb3V0PWRlZmF1bHRDbGVhclRpbWVvdXR9fSgpO3ZhciBxdWV1ZT1bXSxkcmFpbmluZz0hMSxjdXJyZW50UXVldWUscXVldWVJbmRleD0tMTtwcm9jZXNzLm5leHRUaWNrPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSlmb3IodmFyIHI9MTtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXRbci0xXT1hcmd1bWVudHNbcl07cXVldWUucHVzaChuZXcgSXRlbShlLHQpKSwxIT09cXVldWUubGVuZ3RofHxkcmFpbmluZ3x8cnVuVGltZW91dChkcmFpblF1ZXVlKX0sSXRlbS5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKCl7dGhpcy5mdW4uYXBwbHkobnVsbCx0aGlzLmFycmF5KX0scHJvY2Vzcy50aXRsZT0iYnJvd3NlciIscHJvY2Vzcy5icm93c2VyPSEwLHByb2Nlc3MuZW52PXt9LHByb2Nlc3MuYXJndj1bXSxwcm9jZXNzLnZlcnNpb249IiIscHJvY2Vzcy52ZXJzaW9ucz17fSxwcm9jZXNzLm9uPW5vb3AscHJvY2Vzcy5hZGRMaXN0ZW5lcj1ub29wLHByb2Nlc3Mub25jZT1ub29wLHByb2Nlc3Mub2ZmPW5vb3AscHJvY2Vzcy5yZW1vdmVMaXN0ZW5lcj1ub29wLHByb2Nlc3MucmVtb3ZlQWxsTGlzdGVuZXJzPW5vb3AscHJvY2Vzcy5lbWl0PW5vb3AscHJvY2Vzcy5wcmVwZW5kTGlzdGVuZXI9bm9vcCxwcm9jZXNzLnByZXBlbmRPbmNlTGlzdGVuZXI9bm9vcCxwcm9jZXNzLmxpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm5bXX0scHJvY2Vzcy5iaW5kaW5nPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcigicHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQiKX0scHJvY2Vzcy5jd2Q9ZnVuY3Rpb24oKXtyZXR1cm4iLyJ9LHByb2Nlc3MuY2hkaXI9ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQiKX0scHJvY2Vzcy51bWFzaz1mdW5jdGlvbigpe3JldHVybiAwfTsNCg0KICB9LHt9XSw2NzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIG1vZHVsZS5leHBvcnRzPXJlcXVpcmUoIi4vbGliL19zdHJlYW1fZHVwbGV4LmpzIik7DQoNCiAgfSx7Ii4vbGliL19zdHJlYW1fZHVwbGV4LmpzIjo2OH1dLDY4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIER1cGxleChlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBEdXBsZXgpKXJldHVybiBuZXcgRHVwbGV4KGUpO1JlYWRhYmxlLmNhbGwodGhpcyxlKSxXcml0YWJsZS5jYWxsKHRoaXMsZSksZSYmITE9PT1lLnJlYWRhYmxlJiYodGhpcy5yZWFkYWJsZT0hMSksZSYmITE9PT1lLndyaXRhYmxlJiYodGhpcy53cml0YWJsZT0hMSksdGhpcy5hbGxvd0hhbGZPcGVuPSEwLGUmJiExPT09ZS5hbGxvd0hhbGZPcGVuJiYodGhpcy5hbGxvd0hhbGZPcGVuPSExKSx0aGlzLm9uY2UoImVuZCIsb25lbmQpfWZ1bmN0aW9uIG9uZW5kKCl7dGhpcy5hbGxvd0hhbGZPcGVufHx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkfHxwcm9jZXNzTmV4dFRpY2sob25FbmROVCx0aGlzKX1mdW5jdGlvbiBvbkVuZE5UKGUpe2UuZW5kKCl9ZnVuY3Rpb24gZm9yRWFjaChlLHQpe2Zvcih2YXIgcj0wLGk9ZS5sZW5ndGg7cjxpO3IrKyl0KGVbcl0scil9dmFyIHByb2Nlc3NOZXh0VGljaz1yZXF1aXJlKCJwcm9jZXNzLW5leHRpY2stYXJncyIpLG9iamVjdEtleXM9T2JqZWN0LmtleXN8fGZ1bmN0aW9uKGUpe3ZhciB0PVtdO2Zvcih2YXIgciBpbiBlKXQucHVzaChyKTtyZXR1cm4gdH07bW9kdWxlLmV4cG9ydHM9RHVwbGV4O3ZhciB1dGlsPXJlcXVpcmUoImNvcmUtdXRpbC1pcyIpO3V0aWwuaW5oZXJpdHM9cmVxdWlyZSgiaW5oZXJpdHMiKTt2YXIgUmVhZGFibGU9cmVxdWlyZSgiLi9fc3RyZWFtX3JlYWRhYmxlIiksV3JpdGFibGU9cmVxdWlyZSgiLi9fc3RyZWFtX3dyaXRhYmxlIik7dXRpbC5pbmhlcml0cyhEdXBsZXgsUmVhZGFibGUpO2Zvcih2YXIga2V5cz1vYmplY3RLZXlzKFdyaXRhYmxlLnByb3RvdHlwZSksdj0wO3Y8a2V5cy5sZW5ndGg7disrKXt2YXIgbWV0aG9kPWtleXNbdl07RHVwbGV4LnByb3RvdHlwZVttZXRob2RdfHwoRHVwbGV4LnByb3RvdHlwZVttZXRob2RdPVdyaXRhYmxlLnByb3RvdHlwZVttZXRob2RdKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSwiZGVzdHJveWVkIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnZvaWQgMCE9PXRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQpfSxzZXQ6ZnVuY3Rpb24oZSl7dm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPWUsdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZSl9fSksRHVwbGV4LnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbihlLHQpe3RoaXMucHVzaChudWxsKSx0aGlzLmVuZCgpLHByb2Nlc3NOZXh0VGljayh0LGUpfTsNCg0KICB9LHsiLi9fc3RyZWFtX3JlYWRhYmxlIjo3MCwiLi9fc3RyZWFtX3dyaXRhYmxlIjo3MiwiY29yZS11dGlsLWlzIjoxMCwiaW5oZXJpdHMiOjUxLCJwcm9jZXNzLW5leHRpY2stYXJncyI6NjV9XSw2OTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBQYXNzVGhyb3VnaChyKXtpZighKHRoaXMgaW5zdGFuY2VvZiBQYXNzVGhyb3VnaCkpcmV0dXJuIG5ldyBQYXNzVGhyb3VnaChyKTtUcmFuc2Zvcm0uY2FsbCh0aGlzLHIpfW1vZHVsZS5leHBvcnRzPVBhc3NUaHJvdWdoO3ZhciBUcmFuc2Zvcm09cmVxdWlyZSgiLi9fc3RyZWFtX3RyYW5zZm9ybSIpLHV0aWw9cmVxdWlyZSgiY29yZS11dGlsLWlzIik7dXRpbC5pbmhlcml0cz1yZXF1aXJlKCJpbmhlcml0cyIpLHV0aWwuaW5oZXJpdHMoUGFzc1Rocm91Z2gsVHJhbnNmb3JtKSxQYXNzVGhyb3VnaC5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbihyLHMsaSl7aShudWxsLHIpfTsNCg0KICB9LHsiLi9fc3RyZWFtX3RyYW5zZm9ybSI6NzEsImNvcmUtdXRpbC1pcyI6MTAsImluaGVyaXRzIjo1MX1dLDcwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgKGZ1bmN0aW9uIChwcm9jZXNzLGdsb2JhbCl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGUpe3JldHVybiBCdWZmZXIuZnJvbShlKX1mdW5jdGlvbiBfaXNVaW50OEFycmF5KGUpe3JldHVybiBCdWZmZXIuaXNCdWZmZXIoZSl8fGUgaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5fWZ1bmN0aW9uIHByZXBlbmRMaXN0ZW5lcihlLHQscil7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUucHJlcGVuZExpc3RlbmVyKXJldHVybiBlLnByZXBlbmRMaXN0ZW5lcih0LHIpO2UuX2V2ZW50cyYmZS5fZXZlbnRzW3RdP2lzQXJyYXkoZS5fZXZlbnRzW3RdKT9lLl9ldmVudHNbdF0udW5zaGlmdChyKTplLl9ldmVudHNbdF09W3IsZS5fZXZlbnRzW3RdXTplLm9uKHQscil9ZnVuY3Rpb24gUmVhZGFibGVTdGF0ZShlLHQpe0R1cGxleD1EdXBsZXh8fHJlcXVpcmUoIi4vX3N0cmVhbV9kdXBsZXgiKSxlPWV8fHt9LHRoaXMub2JqZWN0TW9kZT0hIWUub2JqZWN0TW9kZSx0IGluc3RhbmNlb2YgRHVwbGV4JiYodGhpcy5vYmplY3RNb2RlPXRoaXMub2JqZWN0TW9kZXx8ISFlLnJlYWRhYmxlT2JqZWN0TW9kZSk7dmFyIHI9ZS5oaWdoV2F0ZXJNYXJrLG49dGhpcy5vYmplY3RNb2RlPzE2OjE2Mzg0O3RoaXMuaGlnaFdhdGVyTWFyaz1yfHwwPT09cj9yOm4sdGhpcy5oaWdoV2F0ZXJNYXJrPU1hdGguZmxvb3IodGhpcy5oaWdoV2F0ZXJNYXJrKSx0aGlzLmJ1ZmZlcj1uZXcgQnVmZmVyTGlzdCx0aGlzLmxlbmd0aD0wLHRoaXMucGlwZXM9bnVsbCx0aGlzLnBpcGVzQ291bnQ9MCx0aGlzLmZsb3dpbmc9bnVsbCx0aGlzLmVuZGVkPSExLHRoaXMuZW5kRW1pdHRlZD0hMSx0aGlzLnJlYWRpbmc9ITEsdGhpcy5zeW5jPSEwLHRoaXMubmVlZFJlYWRhYmxlPSExLHRoaXMuZW1pdHRlZFJlYWRhYmxlPSExLHRoaXMucmVhZGFibGVMaXN0ZW5pbmc9ITEsdGhpcy5yZXN1bWVTY2hlZHVsZWQ9ITEsdGhpcy5kZXN0cm95ZWQ9ITEsdGhpcy5kZWZhdWx0RW5jb2Rpbmc9ZS5kZWZhdWx0RW5jb2Rpbmd8fCJ1dGY4Iix0aGlzLmF3YWl0RHJhaW49MCx0aGlzLnJlYWRpbmdNb3JlPSExLHRoaXMuZGVjb2Rlcj1udWxsLHRoaXMuZW5jb2Rpbmc9bnVsbCxlLmVuY29kaW5nJiYoU3RyaW5nRGVjb2Rlcnx8KFN0cmluZ0RlY29kZXI9cmVxdWlyZSgic3RyaW5nX2RlY29kZXIvIikuU3RyaW5nRGVjb2RlciksdGhpcy5kZWNvZGVyPW5ldyBTdHJpbmdEZWNvZGVyKGUuZW5jb2RpbmcpLHRoaXMuZW5jb2Rpbmc9ZS5lbmNvZGluZyl9ZnVuY3Rpb24gUmVhZGFibGUoZSl7aWYoRHVwbGV4PUR1cGxleHx8cmVxdWlyZSgiLi9fc3RyZWFtX2R1cGxleCIpLCEodGhpcyBpbnN0YW5jZW9mIFJlYWRhYmxlKSlyZXR1cm4gbmV3IFJlYWRhYmxlKGUpO3RoaXMuX3JlYWRhYmxlU3RhdGU9bmV3IFJlYWRhYmxlU3RhdGUoZSx0aGlzKSx0aGlzLnJlYWRhYmxlPSEwLGUmJigiZnVuY3Rpb24iPT10eXBlb2YgZS5yZWFkJiYodGhpcy5fcmVhZD1lLnJlYWQpLCJmdW5jdGlvbiI9PXR5cGVvZiBlLmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PWUuZGVzdHJveSkpLFN0cmVhbS5jYWxsKHRoaXMpfWZ1bmN0aW9uIHJlYWRhYmxlQWRkQ2h1bmsoZSx0LHIsbixhKXt2YXIgaT1lLl9yZWFkYWJsZVN0YXRlO2lmKG51bGw9PT10KWkucmVhZGluZz0hMSxvbkVvZkNodW5rKGUsaSk7ZWxzZXt2YXIgZDthfHwoZD1jaHVua0ludmFsaWQoaSx0KSksZD9lLmVtaXQoImVycm9yIixkKTppLm9iamVjdE1vZGV8fHQmJnQubGVuZ3RoPjA/KCJzdHJpbmciPT10eXBlb2YgdHx8aS5vYmplY3RNb2RlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk9PT1CdWZmZXIucHJvdG90eXBlfHwodD1fdWludDhBcnJheVRvQnVmZmVyKHQpKSxuP2kuZW5kRW1pdHRlZD9lLmVtaXQoImVycm9yIixuZXcgRXJyb3IoInN0cmVhbS51bnNoaWZ0KCkgYWZ0ZXIgZW5kIGV2ZW50IikpOmFkZENodW5rKGUsaSx0LCEwKTppLmVuZGVkP2UuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigic3RyZWFtLnB1c2goKSBhZnRlciBFT0YiKSk6KGkucmVhZGluZz0hMSxpLmRlY29kZXImJiFyPyh0PWkuZGVjb2Rlci53cml0ZSh0KSxpLm9iamVjdE1vZGV8fDAhPT10Lmxlbmd0aD9hZGRDaHVuayhlLGksdCwhMSk6bWF5YmVSZWFkTW9yZShlLGkpKTphZGRDaHVuayhlLGksdCwhMSkpKTpufHwoaS5yZWFkaW5nPSExKX1yZXR1cm4gbmVlZE1vcmVEYXRhKGkpfWZ1bmN0aW9uIGFkZENodW5rKGUsdCxyLG4pe3QuZmxvd2luZyYmMD09PXQubGVuZ3RoJiYhdC5zeW5jPyhlLmVtaXQoImRhdGEiLHIpLGUucmVhZCgwKSk6KHQubGVuZ3RoKz10Lm9iamVjdE1vZGU/MTpyLmxlbmd0aCxuP3QuYnVmZmVyLnVuc2hpZnQocik6dC5idWZmZXIucHVzaChyKSx0Lm5lZWRSZWFkYWJsZSYmZW1pdFJlYWRhYmxlKGUpKSxtYXliZVJlYWRNb3JlKGUsdCl9ZnVuY3Rpb24gY2h1bmtJbnZhbGlkKGUsdCl7dmFyIHI7cmV0dXJuIF9pc1VpbnQ4QXJyYXkodCl8fCJzdHJpbmciPT10eXBlb2YgdHx8dm9pZCAwPT09dHx8ZS5vYmplY3RNb2RlfHwocj1uZXcgVHlwZUVycm9yKCJJbnZhbGlkIG5vbi1zdHJpbmcvYnVmZmVyIGNodW5rIikpLHJ9ZnVuY3Rpb24gbmVlZE1vcmVEYXRhKGUpe3JldHVybiFlLmVuZGVkJiYoZS5uZWVkUmVhZGFibGV8fGUubGVuZ3RoPGUuaGlnaFdhdGVyTWFya3x8MD09PWUubGVuZ3RoKX1mdW5jdGlvbiBjb21wdXRlTmV3SGlnaFdhdGVyTWFyayhlKXtyZXR1cm4gZT49TUFYX0hXTT9lPU1BWF9IV006KGUtLSxlfD1lPj4+MSxlfD1lPj4+MixlfD1lPj4+NCxlfD1lPj4+OCxlfD1lPj4+MTYsZSsrKSxlfWZ1bmN0aW9uIGhvd011Y2hUb1JlYWQoZSx0KXtyZXR1cm4gZTw9MHx8MD09PXQubGVuZ3RoJiZ0LmVuZGVkPzA6dC5vYmplY3RNb2RlPzE6ZSE9PWU/dC5mbG93aW5nJiZ0Lmxlbmd0aD90LmJ1ZmZlci5oZWFkLmRhdGEubGVuZ3RoOnQubGVuZ3RoOihlPnQuaGlnaFdhdGVyTWFyayYmKHQuaGlnaFdhdGVyTWFyaz1jb21wdXRlTmV3SGlnaFdhdGVyTWFyayhlKSksZTw9dC5sZW5ndGg/ZTp0LmVuZGVkP3QubGVuZ3RoOih0Lm5lZWRSZWFkYWJsZT0hMCwwKSl9ZnVuY3Rpb24gb25Fb2ZDaHVuayhlLHQpe2lmKCF0LmVuZGVkKXtpZih0LmRlY29kZXIpe3ZhciByPXQuZGVjb2Rlci5lbmQoKTtyJiZyLmxlbmd0aCYmKHQuYnVmZmVyLnB1c2gociksdC5sZW5ndGgrPXQub2JqZWN0TW9kZT8xOnIubGVuZ3RoKX10LmVuZGVkPSEwLGVtaXRSZWFkYWJsZShlKX19ZnVuY3Rpb24gZW1pdFJlYWRhYmxlKGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7dC5uZWVkUmVhZGFibGU9ITEsdC5lbWl0dGVkUmVhZGFibGV8fChkZWJ1ZygiZW1pdFJlYWRhYmxlIix0LmZsb3dpbmcpLHQuZW1pdHRlZFJlYWRhYmxlPSEwLHQuc3luYz9wcm9jZXNzTmV4dFRpY2soZW1pdFJlYWRhYmxlXyxlKTplbWl0UmVhZGFibGVfKGUpKX1mdW5jdGlvbiBlbWl0UmVhZGFibGVfKGUpe2RlYnVnKCJlbWl0IHJlYWRhYmxlIiksZS5lbWl0KCJyZWFkYWJsZSIpLGZsb3coZSl9ZnVuY3Rpb24gbWF5YmVSZWFkTW9yZShlLHQpe3QucmVhZGluZ01vcmV8fCh0LnJlYWRpbmdNb3JlPSEwLHByb2Nlc3NOZXh0VGljayhtYXliZVJlYWRNb3JlXyxlLHQpKX1mdW5jdGlvbiBtYXliZVJlYWRNb3JlXyhlLHQpe2Zvcih2YXIgcj10Lmxlbmd0aDshdC5yZWFkaW5nJiYhdC5mbG93aW5nJiYhdC5lbmRlZCYmdC5sZW5ndGg8dC5oaWdoV2F0ZXJNYXJrJiYoZGVidWcoIm1heWJlUmVhZE1vcmUgcmVhZCAwIiksZS5yZWFkKDApLHIhPT10Lmxlbmd0aCk7KXI9dC5sZW5ndGg7dC5yZWFkaW5nTW9yZT0hMX1mdW5jdGlvbiBwaXBlT25EcmFpbihlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2RlYnVnKCJwaXBlT25EcmFpbiIsdC5hd2FpdERyYWluKSx0LmF3YWl0RHJhaW4mJnQuYXdhaXREcmFpbi0tLDA9PT10LmF3YWl0RHJhaW4mJkVFbGlzdGVuZXJDb3VudChlLCJkYXRhIikmJih0LmZsb3dpbmc9ITAsZmxvdyhlKSl9fWZ1bmN0aW9uIG5SZWFkaW5nTmV4dFRpY2soZSl7ZGVidWcoInJlYWRhYmxlIG5leHR0aWNrIHJlYWQgMCIpLGUucmVhZCgwKX1mdW5jdGlvbiByZXN1bWUoZSx0KXt0LnJlc3VtZVNjaGVkdWxlZHx8KHQucmVzdW1lU2NoZWR1bGVkPSEwLHByb2Nlc3NOZXh0VGljayhyZXN1bWVfLGUsdCkpfWZ1bmN0aW9uIHJlc3VtZV8oZSx0KXt0LnJlYWRpbmd8fChkZWJ1ZygicmVzdW1lIHJlYWQgMCIpLGUucmVhZCgwKSksdC5yZXN1bWVTY2hlZHVsZWQ9ITEsdC5hd2FpdERyYWluPTAsZS5lbWl0KCJyZXN1bWUiKSxmbG93KGUpLHQuZmxvd2luZyYmIXQucmVhZGluZyYmZS5yZWFkKDApfWZ1bmN0aW9uIGZsb3coZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtmb3IoZGVidWcoImZsb3ciLHQuZmxvd2luZyk7dC5mbG93aW5nJiZudWxsIT09ZS5yZWFkKCk7KTt9ZnVuY3Rpb24gZnJvbUxpc3QoZSx0KXtpZigwPT09dC5sZW5ndGgpcmV0dXJuIG51bGw7dmFyIHI7cmV0dXJuIHQub2JqZWN0TW9kZT9yPXQuYnVmZmVyLnNoaWZ0KCk6IWV8fGU+PXQubGVuZ3RoPyhyPXQuZGVjb2Rlcj90LmJ1ZmZlci5qb2luKCIiKToxPT09dC5idWZmZXIubGVuZ3RoP3QuYnVmZmVyLmhlYWQuZGF0YTp0LmJ1ZmZlci5jb25jYXQodC5sZW5ndGgpLHQuYnVmZmVyLmNsZWFyKCkpOnI9ZnJvbUxpc3RQYXJ0aWFsKGUsdC5idWZmZXIsdC5kZWNvZGVyKSxyfWZ1bmN0aW9uIGZyb21MaXN0UGFydGlhbChlLHQscil7dmFyIG47cmV0dXJuIGU8dC5oZWFkLmRhdGEubGVuZ3RoPyhuPXQuaGVhZC5kYXRhLnNsaWNlKDAsZSksdC5oZWFkLmRhdGE9dC5oZWFkLmRhdGEuc2xpY2UoZSkpOm49ZT09PXQuaGVhZC5kYXRhLmxlbmd0aD90LnNoaWZ0KCk6cj9jb3B5RnJvbUJ1ZmZlclN0cmluZyhlLHQpOmNvcHlGcm9tQnVmZmVyKGUsdCksbn1mdW5jdGlvbiBjb3B5RnJvbUJ1ZmZlclN0cmluZyhlLHQpe3ZhciByPXQuaGVhZCxuPTEsYT1yLmRhdGE7Zm9yKGUtPWEubGVuZ3RoO3I9ci5uZXh0Oyl7dmFyIGk9ci5kYXRhLGQ9ZT5pLmxlbmd0aD9pLmxlbmd0aDplO2lmKGQ9PT1pLmxlbmd0aD9hKz1pOmErPWkuc2xpY2UoMCxlKSwwPT09KGUtPWQpKXtkPT09aS5sZW5ndGg/KCsrbixyLm5leHQ/dC5oZWFkPXIubmV4dDp0LmhlYWQ9dC50YWlsPW51bGwpOih0LmhlYWQ9cixyLmRhdGE9aS5zbGljZShkKSk7YnJlYWt9KytufXJldHVybiB0Lmxlbmd0aC09bixhfWZ1bmN0aW9uIGNvcHlGcm9tQnVmZmVyKGUsdCl7dmFyIHI9QnVmZmVyLmFsbG9jVW5zYWZlKGUpLG49dC5oZWFkLGE9MTtmb3Iobi5kYXRhLmNvcHkociksZS09bi5kYXRhLmxlbmd0aDtuPW4ubmV4dDspe3ZhciBpPW4uZGF0YSxkPWU+aS5sZW5ndGg/aS5sZW5ndGg6ZTtpZihpLmNvcHkocixyLmxlbmd0aC1lLDAsZCksMD09PShlLT1kKSl7ZD09PWkubGVuZ3RoPygrK2Esbi5uZXh0P3QuaGVhZD1uLm5leHQ6dC5oZWFkPXQudGFpbD1udWxsKToodC5oZWFkPW4sbi5kYXRhPWkuc2xpY2UoZCkpO2JyZWFrfSsrYX1yZXR1cm4gdC5sZW5ndGgtPWEscn1mdW5jdGlvbiBlbmRSZWFkYWJsZShlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2lmKHQubGVuZ3RoPjApdGhyb3cgbmV3IEVycm9yKCciZW5kUmVhZGFibGUoKSIgY2FsbGVkIG9uIG5vbi1lbXB0eSBzdHJlYW0nKTt0LmVuZEVtaXR0ZWR8fCh0LmVuZGVkPSEwLHByb2Nlc3NOZXh0VGljayhlbmRSZWFkYWJsZU5ULHQsZSkpfWZ1bmN0aW9uIGVuZFJlYWRhYmxlTlQoZSx0KXtlLmVuZEVtaXR0ZWR8fDAhPT1lLmxlbmd0aHx8KGUuZW5kRW1pdHRlZD0hMCx0LnJlYWRhYmxlPSExLHQuZW1pdCgiZW5kIikpfWZ1bmN0aW9uIGZvckVhY2goZSx0KXtmb3IodmFyIHI9MCxuPWUubGVuZ3RoO3I8bjtyKyspdChlW3JdLHIpfWZ1bmN0aW9uIGluZGV4T2YoZSx0KXtmb3IodmFyIHI9MCxuPWUubGVuZ3RoO3I8bjtyKyspaWYoZVtyXT09PXQpcmV0dXJuIHI7cmV0dXJuLTF9dmFyIHByb2Nlc3NOZXh0VGljaz1yZXF1aXJlKCJwcm9jZXNzLW5leHRpY2stYXJncyIpO21vZHVsZS5leHBvcnRzPVJlYWRhYmxlO3ZhciBpc0FycmF5PXJlcXVpcmUoImlzYXJyYXkiKSxEdXBsZXg7UmVhZGFibGUuUmVhZGFibGVTdGF0ZT1SZWFkYWJsZVN0YXRlO3ZhciBFRT1yZXF1aXJlKCJldmVudHMiKS5FdmVudEVtaXR0ZXIsRUVsaXN0ZW5lckNvdW50PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUubGlzdGVuZXJzKHQpLmxlbmd0aH0sU3RyZWFtPXJlcXVpcmUoIi4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0iKSxCdWZmZXI9cmVxdWlyZSgic2FmZS1idWZmZXIiKS5CdWZmZXIsT3VyVWludDhBcnJheT1nbG9iYWwuVWludDhBcnJheXx8ZnVuY3Rpb24oKXt9LHV0aWw9cmVxdWlyZSgiY29yZS11dGlsLWlzIik7dXRpbC5pbmhlcml0cz1yZXF1aXJlKCJpbmhlcml0cyIpO3ZhciBkZWJ1Z1V0aWw9cmVxdWlyZSgidXRpbCIpLGRlYnVnPXZvaWQgMDtkZWJ1Zz1kZWJ1Z1V0aWwmJmRlYnVnVXRpbC5kZWJ1Z2xvZz9kZWJ1Z1V0aWwuZGVidWdsb2coInN0cmVhbSIpOmZ1bmN0aW9uKCl7fTt2YXIgQnVmZmVyTGlzdD1yZXF1aXJlKCIuL2ludGVybmFsL3N0cmVhbXMvQnVmZmVyTGlzdCIpLGRlc3Ryb3lJbXBsPXJlcXVpcmUoIi4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95IiksU3RyaW5nRGVjb2Rlcjt1dGlsLmluaGVyaXRzKFJlYWRhYmxlLFN0cmVhbSk7dmFyIGtQcm94eUV2ZW50cz1bImVycm9yIiwiY2xvc2UiLCJkZXN0cm95IiwicGF1c2UiLCJyZXN1bWUiXTtPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCJkZXN0cm95ZWQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWR9LHNldDpmdW5jdGlvbihlKXt0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZSl9fSksUmVhZGFibGUucHJvdG90eXBlLmRlc3Ryb3k9ZGVzdHJveUltcGwuZGVzdHJveSxSZWFkYWJsZS5wcm90b3R5cGUuX3VuZGVzdHJveT1kZXN0cm95SW1wbC51bmRlc3Ryb3ksUmVhZGFibGUucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGUsdCl7dGhpcy5wdXNoKG51bGwpLHQoZSl9LFJlYWRhYmxlLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGUsdCl7dmFyIHIsbj10aGlzLl9yZWFkYWJsZVN0YXRlO3JldHVybiBuLm9iamVjdE1vZGU/cj0hMDoic3RyaW5nIj09dHlwZW9mIGUmJigodD10fHxuLmRlZmF1bHRFbmNvZGluZykhPT1uLmVuY29kaW5nJiYoZT1CdWZmZXIuZnJvbShlLHQpLHQ9IiIpLHI9ITApLHJlYWRhYmxlQWRkQ2h1bmsodGhpcyxlLHQsITEscil9LFJlYWRhYmxlLnByb3RvdHlwZS51bnNoaWZ0PWZ1bmN0aW9uKGUpe3JldHVybiByZWFkYWJsZUFkZENodW5rKHRoaXMsZSxudWxsLCEwLCExKX0sUmVhZGFibGUucHJvdG90eXBlLmlzUGF1c2VkPWZ1bmN0aW9uKCl7cmV0dXJuITE9PT10aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmd9LFJlYWRhYmxlLnByb3RvdHlwZS5zZXRFbmNvZGluZz1mdW5jdGlvbihlKXtyZXR1cm4gU3RyaW5nRGVjb2Rlcnx8KFN0cmluZ0RlY29kZXI9cmVxdWlyZSgic3RyaW5nX2RlY29kZXIvIikuU3RyaW5nRGVjb2RlciksdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyPW5ldyBTdHJpbmdEZWNvZGVyKGUpLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2Rpbmc9ZSx0aGlzfTt2YXIgTUFYX0hXTT04Mzg4NjA4O1JlYWRhYmxlLnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKGUpe2RlYnVnKCJyZWFkIixlKSxlPXBhcnNlSW50KGUsMTApO3ZhciB0PXRoaXMuX3JlYWRhYmxlU3RhdGUscj1lO2lmKDAhPT1lJiYodC5lbWl0dGVkUmVhZGFibGU9ITEpLDA9PT1lJiZ0Lm5lZWRSZWFkYWJsZSYmKHQubGVuZ3RoPj10LmhpZ2hXYXRlck1hcmt8fHQuZW5kZWQpKXJldHVybiBkZWJ1ZygicmVhZDogZW1pdFJlYWRhYmxlIix0Lmxlbmd0aCx0LmVuZGVkKSwwPT09dC5sZW5ndGgmJnQuZW5kZWQ/ZW5kUmVhZGFibGUodGhpcyk6ZW1pdFJlYWRhYmxlKHRoaXMpLG51bGw7aWYoMD09PShlPWhvd011Y2hUb1JlYWQoZSx0KSkmJnQuZW5kZWQpcmV0dXJuIDA9PT10Lmxlbmd0aCYmZW5kUmVhZGFibGUodGhpcyksbnVsbDt2YXIgbj10Lm5lZWRSZWFkYWJsZTtkZWJ1ZygibmVlZCByZWFkYWJsZSIsbiksKDA9PT10Lmxlbmd0aHx8dC5sZW5ndGgtZTx0LmhpZ2hXYXRlck1hcmspJiZkZWJ1ZygibGVuZ3RoIGxlc3MgdGhhbiB3YXRlcm1hcmsiLG49ITApLHQuZW5kZWR8fHQucmVhZGluZz9kZWJ1ZygicmVhZGluZyBvciBlbmRlZCIsbj0hMSk6biYmKGRlYnVnKCJkbyByZWFkIiksdC5yZWFkaW5nPSEwLHQuc3luYz0hMCwwPT09dC5sZW5ndGgmJih0Lm5lZWRSZWFkYWJsZT0hMCksdGhpcy5fcmVhZCh0LmhpZ2hXYXRlck1hcmspLHQuc3luYz0hMSx0LnJlYWRpbmd8fChlPWhvd011Y2hUb1JlYWQocix0KSkpO3ZhciBhO3JldHVybiBudWxsPT09KGE9ZT4wP2Zyb21MaXN0KGUsdCk6bnVsbCk/KHQubmVlZFJlYWRhYmxlPSEwLGU9MCk6dC5sZW5ndGgtPWUsMD09PXQubGVuZ3RoJiYodC5lbmRlZHx8KHQubmVlZFJlYWRhYmxlPSEwKSxyIT09ZSYmdC5lbmRlZCYmZW5kUmVhZGFibGUodGhpcykpLG51bGwhPT1hJiZ0aGlzLmVtaXQoImRhdGEiLGEpLGF9LFJlYWRhYmxlLnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbihlKXt0aGlzLmVtaXQoImVycm9yIixuZXcgRXJyb3IoIl9yZWFkKCkgaXMgbm90IGltcGxlbWVudGVkIikpfSxSZWFkYWJsZS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIHIoZSx0KXtkZWJ1Zygib251bnBpcGUiKSxlPT09bCYmdCYmITE9PT10Lmhhc1VucGlwZWQmJih0Lmhhc1VucGlwZWQ9ITAsYSgpKX1mdW5jdGlvbiBuKCl7ZGVidWcoIm9uZW5kIiksZS5lbmQoKX1mdW5jdGlvbiBhKCl7ZGVidWcoImNsZWFudXAiKSxlLnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIsbyksZS5yZW1vdmVMaXN0ZW5lcigiZmluaXNoIix1KSxlLnJlbW92ZUxpc3RlbmVyKCJkcmFpbiIscCksZS5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGQpLGUucmVtb3ZlTGlzdGVuZXIoInVucGlwZSIsciksbC5yZW1vdmVMaXN0ZW5lcigiZW5kIixuKSxsLnJlbW92ZUxpc3RlbmVyKCJlbmQiLHMpLGwucmVtb3ZlTGlzdGVuZXIoImRhdGEiLGkpLGM9ITAsIWguYXdhaXREcmFpbnx8ZS5fd3JpdGFibGVTdGF0ZSYmIWUuX3dyaXRhYmxlU3RhdGUubmVlZERyYWlufHxwKCl9ZnVuY3Rpb24gaSh0KXtkZWJ1Zygib25kYXRhIiksYj0hMSwhMSE9PWUud3JpdGUodCl8fGJ8fCgoMT09PWgucGlwZXNDb3VudCYmaC5waXBlcz09PWV8fGgucGlwZXNDb3VudD4xJiYtMSE9PWluZGV4T2YoaC5waXBlcyxlKSkmJiFjJiYoZGVidWcoImZhbHNlIHdyaXRlIHJlc3BvbnNlLCBwYXVzZSIsbC5fcmVhZGFibGVTdGF0ZS5hd2FpdERyYWluKSxsLl9yZWFkYWJsZVN0YXRlLmF3YWl0RHJhaW4rKyxiPSEwKSxsLnBhdXNlKCkpfWZ1bmN0aW9uIGQodCl7ZGVidWcoIm9uZXJyb3IiLHQpLHMoKSxlLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsZCksMD09PUVFbGlzdGVuZXJDb3VudChlLCJlcnJvciIpJiZlLmVtaXQoImVycm9yIix0KX1mdW5jdGlvbiBvKCl7ZS5yZW1vdmVMaXN0ZW5lcigiZmluaXNoIix1KSxzKCl9ZnVuY3Rpb24gdSgpe2RlYnVnKCJvbmZpbmlzaCIpLGUucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixvKSxzKCl9ZnVuY3Rpb24gcygpe2RlYnVnKCJ1bnBpcGUiKSxsLnVucGlwZShlKX12YXIgbD10aGlzLGg9dGhpcy5fcmVhZGFibGVTdGF0ZTtzd2l0Y2goaC5waXBlc0NvdW50KXtjYXNlIDA6aC5waXBlcz1lO2JyZWFrO2Nhc2UgMTpoLnBpcGVzPVtoLnBpcGVzLGVdO2JyZWFrO2RlZmF1bHQ6aC5waXBlcy5wdXNoKGUpfWgucGlwZXNDb3VudCs9MSxkZWJ1ZygicGlwZSBjb3VudD0lZCBvcHRzPSVqIixoLnBpcGVzQ291bnQsdCk7dmFyIGY9KCF0fHwhMSE9PXQuZW5kKSYmZSE9PXByb2Nlc3Muc3Rkb3V0JiZlIT09cHJvY2Vzcy5zdGRlcnI/bjpzO2guZW5kRW1pdHRlZD9wcm9jZXNzTmV4dFRpY2soZik6bC5vbmNlKCJlbmQiLGYpLGUub24oInVucGlwZSIscik7dmFyIHA9cGlwZU9uRHJhaW4obCk7ZS5vbigiZHJhaW4iLHApO3ZhciBjPSExLGI9ITE7cmV0dXJuIGwub24oImRhdGEiLGkpLHByZXBlbmRMaXN0ZW5lcihlLCJlcnJvciIsZCksZS5vbmNlKCJjbG9zZSIsbyksZS5vbmNlKCJmaW5pc2giLHUpLGUuZW1pdCgicGlwZSIsbCksaC5mbG93aW5nfHwoZGVidWcoInBpcGUgcmVzdW1lIiksbC5yZXN1bWUoKSksZX0sUmVhZGFibGUucHJvdG90eXBlLnVucGlwZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9yZWFkYWJsZVN0YXRlLHI9e2hhc1VucGlwZWQ6ITF9O2lmKDA9PT10LnBpcGVzQ291bnQpcmV0dXJuIHRoaXM7aWYoMT09PXQucGlwZXNDb3VudClyZXR1cm4gZSYmZSE9PXQucGlwZXM/dGhpczooZXx8KGU9dC5waXBlcyksdC5waXBlcz1udWxsLHQucGlwZXNDb3VudD0wLHQuZmxvd2luZz0hMSxlJiZlLmVtaXQoInVucGlwZSIsdGhpcyxyKSx0aGlzKTtpZighZSl7dmFyIG49dC5waXBlcyxhPXQucGlwZXNDb3VudDt0LnBpcGVzPW51bGwsdC5waXBlc0NvdW50PTAsdC5mbG93aW5nPSExO2Zvcih2YXIgaT0wO2k8YTtpKyspbltpXS5lbWl0KCJ1bnBpcGUiLHRoaXMscik7cmV0dXJuIHRoaXN9dmFyIGQ9aW5kZXhPZih0LnBpcGVzLGUpO3JldHVybi0xPT09ZD90aGlzOih0LnBpcGVzLnNwbGljZShkLDEpLHQucGlwZXNDb3VudC09MSwxPT09dC5waXBlc0NvdW50JiYodC5waXBlcz10LnBpcGVzWzBdKSxlLmVtaXQoInVucGlwZSIsdGhpcyxyKSx0aGlzKX0sUmVhZGFibGUucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7dmFyIHI9U3RyZWFtLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsZSx0KTtpZigiZGF0YSI9PT1lKSExIT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nJiZ0aGlzLnJlc3VtZSgpO2Vsc2UgaWYoInJlYWRhYmxlIj09PWUpe3ZhciBuPXRoaXMuX3JlYWRhYmxlU3RhdGU7bi5lbmRFbWl0dGVkfHxuLnJlYWRhYmxlTGlzdGVuaW5nfHwobi5yZWFkYWJsZUxpc3RlbmluZz1uLm5lZWRSZWFkYWJsZT0hMCxuLmVtaXR0ZWRSZWFkYWJsZT0hMSxuLnJlYWRpbmc/bi5sZW5ndGgmJmVtaXRSZWFkYWJsZSh0aGlzKTpwcm9jZXNzTmV4dFRpY2soblJlYWRpbmdOZXh0VGljayx0aGlzKSl9cmV0dXJuIHJ9LFJlYWRhYmxlLnByb3RvdHlwZS5hZGRMaXN0ZW5lcj1SZWFkYWJsZS5wcm90b3R5cGUub24sUmVhZGFibGUucHJvdG90eXBlLnJlc3VtZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuIGUuZmxvd2luZ3x8KGRlYnVnKCJyZXN1bWUiKSxlLmZsb3dpbmc9ITAscmVzdW1lKHRoaXMsZSkpLHRoaXN9LFJlYWRhYmxlLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbigpe3JldHVybiBkZWJ1ZygiY2FsbCBwYXVzZSBmbG93aW5nPSVqIix0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcpLCExIT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nJiYoZGVidWcoInBhdXNlIiksdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPSExLHRoaXMuZW1pdCgicGF1c2UiKSksdGhpc30sUmVhZGFibGUucHJvdG90eXBlLndyYXA9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZSxyPSExLG49dGhpcztlLm9uKCJlbmQiLGZ1bmN0aW9uKCl7aWYoZGVidWcoIndyYXBwZWQgZW5kIiksdC5kZWNvZGVyJiYhdC5lbmRlZCl7dmFyIGU9dC5kZWNvZGVyLmVuZCgpO2UmJmUubGVuZ3RoJiZuLnB1c2goZSl9bi5wdXNoKG51bGwpfSksZS5vbigiZGF0YSIsZnVuY3Rpb24oYSl7ZGVidWcoIndyYXBwZWQgZGF0YSIpLHQuZGVjb2RlciYmKGE9dC5kZWNvZGVyLndyaXRlKGEpKSwoIXQub2JqZWN0TW9kZXx8bnVsbCE9PWEmJnZvaWQgMCE9PWEpJiYodC5vYmplY3RNb2RlfHxhJiZhLmxlbmd0aCkmJihuLnB1c2goYSl8fChyPSEwLGUucGF1c2UoKSkpfSk7Zm9yKHZhciBhIGluIGUpdm9pZCAwPT09dGhpc1thXSYmImZ1bmN0aW9uIj09dHlwZW9mIGVbYV0mJih0aGlzW2FdPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlW3RdLmFwcGx5KGUsYXJndW1lbnRzKX19KGEpKTtmb3IodmFyIGk9MDtpPGtQcm94eUV2ZW50cy5sZW5ndGg7aSsrKWUub24oa1Byb3h5RXZlbnRzW2ldLG4uZW1pdC5iaW5kKG4sa1Byb3h5RXZlbnRzW2ldKSk7cmV0dXJuIG4uX3JlYWQ9ZnVuY3Rpb24odCl7ZGVidWcoIndyYXBwZWQgX3JlYWQiLHQpLHImJihyPSExLGUucmVzdW1lKCkpfSxufSxSZWFkYWJsZS5fZnJvbUxpc3Q9ZnJvbUxpc3Q7DQoNCiAgfSkuY2FsbCh0aGlzLHJlcXVpcmUoJ19wcm9jZXNzJyksdHlwZW9mIGdsb2JhbCAhPT0gInVuZGVmaW5lZCIgPyBnbG9iYWwgOiB0eXBlb2Ygc2VsZiAhPT0gInVuZGVmaW5lZCIgPyBzZWxmIDogdHlwZW9mIHdpbmRvdyAhPT0gInVuZGVmaW5lZCIgPyB3aW5kb3cgOiB7fSkNCiAgfSx7Ii4vX3N0cmVhbV9kdXBsZXgiOjY4LCIuL2ludGVybmFsL3N0cmVhbXMvQnVmZmVyTGlzdCI6NzMsIi4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95Ijo3NCwiLi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbSI6NzUsIl9wcm9jZXNzIjo2NiwiY29yZS11dGlsLWlzIjoxMCwiZXZlbnRzIjozNSwiaW5oZXJpdHMiOjUxLCJpc2FycmF5Ijo1NCwicHJvY2Vzcy1uZXh0aWNrLWFyZ3MiOjY1LCJzYWZlLWJ1ZmZlciI6ODIsInN0cmluZ19kZWNvZGVyLyI6OTgsInV0aWwiOjZ9XSw3MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBUcmFuc2Zvcm1TdGF0ZShyKXt0aGlzLmFmdGVyVHJhbnNmb3JtPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGFmdGVyVHJhbnNmb3JtKHIsdCxuKX0sdGhpcy5uZWVkVHJhbnNmb3JtPSExLHRoaXMudHJhbnNmb3JtaW5nPSExLHRoaXMud3JpdGVjYj1udWxsLHRoaXMud3JpdGVjaHVuaz1udWxsLHRoaXMud3JpdGVlbmNvZGluZz1udWxsfWZ1bmN0aW9uIGFmdGVyVHJhbnNmb3JtKHIsdCxuKXt2YXIgZT1yLl90cmFuc2Zvcm1TdGF0ZTtlLnRyYW5zZm9ybWluZz0hMTt2YXIgaT1lLndyaXRlY2I7aWYoIWkpcmV0dXJuIHIuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigid3JpdGUgY2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzIikpO2Uud3JpdGVjaHVuaz1udWxsLGUud3JpdGVjYj1udWxsLG51bGwhPT1uJiZ2b2lkIDAhPT1uJiZyLnB1c2gobiksaSh0KTt2YXIgYT1yLl9yZWFkYWJsZVN0YXRlO2EucmVhZGluZz0hMSwoYS5uZWVkUmVhZGFibGV8fGEubGVuZ3RoPGEuaGlnaFdhdGVyTWFyaykmJnIuX3JlYWQoYS5oaWdoV2F0ZXJNYXJrKX1mdW5jdGlvbiBUcmFuc2Zvcm0ocil7aWYoISh0aGlzIGluc3RhbmNlb2YgVHJhbnNmb3JtKSlyZXR1cm4gbmV3IFRyYW5zZm9ybShyKTtEdXBsZXguY2FsbCh0aGlzLHIpLHRoaXMuX3RyYW5zZm9ybVN0YXRlPW5ldyBUcmFuc2Zvcm1TdGF0ZSh0aGlzKTt2YXIgdD10aGlzO3RoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlPSEwLHRoaXMuX3JlYWRhYmxlU3RhdGUuc3luYz0hMSxyJiYoImZ1bmN0aW9uIj09dHlwZW9mIHIudHJhbnNmb3JtJiYodGhpcy5fdHJhbnNmb3JtPXIudHJhbnNmb3JtKSwiZnVuY3Rpb24iPT10eXBlb2Ygci5mbHVzaCYmKHRoaXMuX2ZsdXNoPXIuZmx1c2gpKSx0aGlzLm9uY2UoInByZWZpbmlzaCIsZnVuY3Rpb24oKXsiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fZmx1c2g/dGhpcy5fZmx1c2goZnVuY3Rpb24ocixuKXtkb25lKHQscixuKX0pOmRvbmUodCl9KX1mdW5jdGlvbiBkb25lKHIsdCxuKXtpZih0KXJldHVybiByLmVtaXQoImVycm9yIix0KTtudWxsIT09biYmdm9pZCAwIT09biYmci5wdXNoKG4pO3ZhciBlPXIuX3dyaXRhYmxlU3RhdGUsaT1yLl90cmFuc2Zvcm1TdGF0ZTtpZihlLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkNhbGxpbmcgdHJhbnNmb3JtIGRvbmUgd2hlbiB3cy5sZW5ndGggIT0gMCIpO2lmKGkudHJhbnNmb3JtaW5nKXRocm93IG5ldyBFcnJvcigiQ2FsbGluZyB0cmFuc2Zvcm0gZG9uZSB3aGVuIHN0aWxsIHRyYW5zZm9ybWluZyIpO3JldHVybiByLnB1c2gobnVsbCl9bW9kdWxlLmV4cG9ydHM9VHJhbnNmb3JtO3ZhciBEdXBsZXg9cmVxdWlyZSgiLi9fc3RyZWFtX2R1cGxleCIpLHV0aWw9cmVxdWlyZSgiY29yZS11dGlsLWlzIik7dXRpbC5pbmhlcml0cz1yZXF1aXJlKCJpbmhlcml0cyIpLHV0aWwuaW5oZXJpdHMoVHJhbnNmb3JtLER1cGxleCksVHJhbnNmb3JtLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKHIsdCl7cmV0dXJuIHRoaXMuX3RyYW5zZm9ybVN0YXRlLm5lZWRUcmFuc2Zvcm09ITEsRHVwbGV4LnByb3RvdHlwZS5wdXNoLmNhbGwodGhpcyxyLHQpfSxUcmFuc2Zvcm0ucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24ocix0LG4pe3Rocm93IG5ldyBFcnJvcigiX3RyYW5zZm9ybSgpIGlzIG5vdCBpbXBsZW1lbnRlZCIpfSxUcmFuc2Zvcm0ucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihyLHQsbil7dmFyIGU9dGhpcy5fdHJhbnNmb3JtU3RhdGU7aWYoZS53cml0ZWNiPW4sZS53cml0ZWNodW5rPXIsZS53cml0ZWVuY29kaW5nPXQsIWUudHJhbnNmb3JtaW5nKXt2YXIgaT10aGlzLl9yZWFkYWJsZVN0YXRlOyhlLm5lZWRUcmFuc2Zvcm18fGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9fSxUcmFuc2Zvcm0ucHJvdG90eXBlLl9yZWFkPWZ1bmN0aW9uKHIpe3ZhciB0PXRoaXMuX3RyYW5zZm9ybVN0YXRlO251bGwhPT10LndyaXRlY2h1bmsmJnQud3JpdGVjYiYmIXQudHJhbnNmb3JtaW5nPyh0LnRyYW5zZm9ybWluZz0hMCx0aGlzLl90cmFuc2Zvcm0odC53cml0ZWNodW5rLHQud3JpdGVlbmNvZGluZyx0LmFmdGVyVHJhbnNmb3JtKSk6dC5uZWVkVHJhbnNmb3JtPSEwfSxUcmFuc2Zvcm0ucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHIsdCl7dmFyIG49dGhpcztEdXBsZXgucHJvdG90eXBlLl9kZXN0cm95LmNhbGwodGhpcyxyLGZ1bmN0aW9uKHIpe3Qociksbi5lbWl0KCJjbG9zZSIpfSl9Ow0KDQogIH0seyIuL19zdHJlYW1fZHVwbGV4Ijo2OCwiY29yZS11dGlsLWlzIjoxMCwiaW5oZXJpdHMiOjUxfV0sNzI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAoZnVuY3Rpb24gKHByb2Nlc3MsZ2xvYmFsKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIFdyaXRlUmVxKGUsdCxyKXt0aGlzLmNodW5rPWUsdGhpcy5lbmNvZGluZz10LHRoaXMuY2FsbGJhY2s9cix0aGlzLm5leHQ9bnVsbH1mdW5jdGlvbiBDb3JrZWRSZXF1ZXN0KGUpe3ZhciB0PXRoaXM7dGhpcy5uZXh0PW51bGwsdGhpcy5lbnRyeT1udWxsLHRoaXMuZmluaXNoPWZ1bmN0aW9uKCl7b25Db3JrZWRGaW5pc2godCxlKX19ZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihlKXtyZXR1cm4gQnVmZmVyLmZyb20oZSl9ZnVuY3Rpb24gX2lzVWludDhBcnJheShlKXtyZXR1cm4gQnVmZmVyLmlzQnVmZmVyKGUpfHxlIGluc3RhbmNlb2YgT3VyVWludDhBcnJheX1mdW5jdGlvbiBub3AoKXt9ZnVuY3Rpb24gV3JpdGFibGVTdGF0ZShlLHQpe0R1cGxleD1EdXBsZXh8fHJlcXVpcmUoIi4vX3N0cmVhbV9kdXBsZXgiKSxlPWV8fHt9LHRoaXMub2JqZWN0TW9kZT0hIWUub2JqZWN0TW9kZSx0IGluc3RhbmNlb2YgRHVwbGV4JiYodGhpcy5vYmplY3RNb2RlPXRoaXMub2JqZWN0TW9kZXx8ISFlLndyaXRhYmxlT2JqZWN0TW9kZSk7dmFyIHI9ZS5oaWdoV2F0ZXJNYXJrLGk9dGhpcy5vYmplY3RNb2RlPzE2OjE2Mzg0O3RoaXMuaGlnaFdhdGVyTWFyaz1yfHwwPT09cj9yOmksdGhpcy5oaWdoV2F0ZXJNYXJrPU1hdGguZmxvb3IodGhpcy5oaWdoV2F0ZXJNYXJrKSx0aGlzLmZpbmFsQ2FsbGVkPSExLHRoaXMubmVlZERyYWluPSExLHRoaXMuZW5kaW5nPSExLHRoaXMuZW5kZWQ9ITEsdGhpcy5maW5pc2hlZD0hMSx0aGlzLmRlc3Ryb3llZD0hMTt2YXIgbj0hMT09PWUuZGVjb2RlU3RyaW5nczt0aGlzLmRlY29kZVN0cmluZ3M9IW4sdGhpcy5kZWZhdWx0RW5jb2Rpbmc9ZS5kZWZhdWx0RW5jb2Rpbmd8fCJ1dGY4Iix0aGlzLmxlbmd0aD0wLHRoaXMud3JpdGluZz0hMSx0aGlzLmNvcmtlZD0wLHRoaXMuc3luYz0hMCx0aGlzLmJ1ZmZlclByb2Nlc3Npbmc9ITEsdGhpcy5vbndyaXRlPWZ1bmN0aW9uKGUpe29ud3JpdGUodCxlKX0sdGhpcy53cml0ZWNiPW51bGwsdGhpcy53cml0ZWxlbj0wLHRoaXMuYnVmZmVyZWRSZXF1ZXN0PW51bGwsdGhpcy5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwsdGhpcy5wZW5kaW5nY2I9MCx0aGlzLnByZWZpbmlzaGVkPSExLHRoaXMuZXJyb3JFbWl0dGVkPSExLHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MCx0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgQ29ya2VkUmVxdWVzdCh0aGlzKX1mdW5jdGlvbiBXcml0YWJsZShlKXtpZihEdXBsZXg9RHVwbGV4fHxyZXF1aXJlKCIuL19zdHJlYW1fZHVwbGV4IiksIShyZWFsSGFzSW5zdGFuY2UuY2FsbChXcml0YWJsZSx0aGlzKXx8dGhpcyBpbnN0YW5jZW9mIER1cGxleCkpcmV0dXJuIG5ldyBXcml0YWJsZShlKTt0aGlzLl93cml0YWJsZVN0YXRlPW5ldyBXcml0YWJsZVN0YXRlKGUsdGhpcyksdGhpcy53cml0YWJsZT0hMCxlJiYoImZ1bmN0aW9uIj09dHlwZW9mIGUud3JpdGUmJih0aGlzLl93cml0ZT1lLndyaXRlKSwiZnVuY3Rpb24iPT10eXBlb2YgZS53cml0ZXYmJih0aGlzLl93cml0ZXY9ZS53cml0ZXYpLCJmdW5jdGlvbiI9PXR5cGVvZiBlLmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PWUuZGVzdHJveSksImZ1bmN0aW9uIj09dHlwZW9mIGUuZmluYWwmJih0aGlzLl9maW5hbD1lLmZpbmFsKSksU3RyZWFtLmNhbGwodGhpcyl9ZnVuY3Rpb24gd3JpdGVBZnRlckVuZChlLHQpe3ZhciByPW5ldyBFcnJvcigid3JpdGUgYWZ0ZXIgZW5kIik7ZS5lbWl0KCJlcnJvciIscikscHJvY2Vzc05leHRUaWNrKHQscil9ZnVuY3Rpb24gdmFsaWRDaHVuayhlLHQscixpKXt2YXIgbj0hMCxvPSExO3JldHVybiBudWxsPT09cj9vPW5ldyBUeXBlRXJyb3IoIk1heSBub3Qgd3JpdGUgbnVsbCB2YWx1ZXMgdG8gc3RyZWFtIik6InN0cmluZyI9PXR5cGVvZiByfHx2b2lkIDA9PT1yfHx0Lm9iamVjdE1vZGV8fChvPW5ldyBUeXBlRXJyb3IoIkludmFsaWQgbm9uLXN0cmluZy9idWZmZXIgY2h1bmsiKSksbyYmKGUuZW1pdCgiZXJyb3IiLG8pLHByb2Nlc3NOZXh0VGljayhpLG8pLG49ITEpLG59ZnVuY3Rpb24gZGVjb2RlQ2h1bmsoZSx0LHIpe3JldHVybiBlLm9iamVjdE1vZGV8fCExPT09ZS5kZWNvZGVTdHJpbmdzfHwic3RyaW5nIiE9dHlwZW9mIHR8fCh0PUJ1ZmZlci5mcm9tKHQscikpLHR9ZnVuY3Rpb24gd3JpdGVPckJ1ZmZlcihlLHQscixpLG4sbyl7aWYoIXIpe3ZhciBzPWRlY29kZUNodW5rKHQsaSxuKTtpIT09cyYmKHI9ITAsbj0iYnVmZmVyIixpPXMpfXZhciBhPXQub2JqZWN0TW9kZT8xOmkubGVuZ3RoO3QubGVuZ3RoKz1hO3ZhciBmPXQubGVuZ3RoPHQuaGlnaFdhdGVyTWFyaztpZihmfHwodC5uZWVkRHJhaW49ITApLHQud3JpdGluZ3x8dC5jb3JrZWQpe3ZhciB1PXQubGFzdEJ1ZmZlcmVkUmVxdWVzdDt0Lmxhc3RCdWZmZXJlZFJlcXVlc3Q9e2NodW5rOmksZW5jb2Rpbmc6bixpc0J1ZjpyLGNhbGxiYWNrOm8sbmV4dDpudWxsfSx1P3UubmV4dD10Lmxhc3RCdWZmZXJlZFJlcXVlc3Q6dC5idWZmZXJlZFJlcXVlc3Q9dC5sYXN0QnVmZmVyZWRSZXF1ZXN0LHQuYnVmZmVyZWRSZXF1ZXN0Q291bnQrPTF9ZWxzZSBkb1dyaXRlKGUsdCwhMSxhLGksbixvKTtyZXR1cm4gZn1mdW5jdGlvbiBkb1dyaXRlKGUsdCxyLGksbixvLHMpe3Qud3JpdGVsZW49aSx0LndyaXRlY2I9cyx0LndyaXRpbmc9ITAsdC5zeW5jPSEwLHI/ZS5fd3JpdGV2KG4sdC5vbndyaXRlKTplLl93cml0ZShuLG8sdC5vbndyaXRlKSx0LnN5bmM9ITF9ZnVuY3Rpb24gb253cml0ZUVycm9yKGUsdCxyLGksbil7LS10LnBlbmRpbmdjYixyPyhwcm9jZXNzTmV4dFRpY2sobixpKSxwcm9jZXNzTmV4dFRpY2soZmluaXNoTWF5YmUsZSx0KSxlLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxlLmVtaXQoImVycm9yIixpKSk6KG4oaSksZS5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAsZS5lbWl0KCJlcnJvciIsaSksZmluaXNoTWF5YmUoZSx0KSl9ZnVuY3Rpb24gb253cml0ZVN0YXRlVXBkYXRlKGUpe2Uud3JpdGluZz0hMSxlLndyaXRlY2I9bnVsbCxlLmxlbmd0aC09ZS53cml0ZWxlbixlLndyaXRlbGVuPTB9ZnVuY3Rpb24gb253cml0ZShlLHQpe3ZhciByPWUuX3dyaXRhYmxlU3RhdGUsaT1yLnN5bmMsbj1yLndyaXRlY2I7aWYob253cml0ZVN0YXRlVXBkYXRlKHIpLHQpb253cml0ZUVycm9yKGUscixpLHQsbik7ZWxzZXt2YXIgbz1uZWVkRmluaXNoKHIpO298fHIuY29ya2VkfHxyLmJ1ZmZlclByb2Nlc3Npbmd8fCFyLmJ1ZmZlcmVkUmVxdWVzdHx8Y2xlYXJCdWZmZXIoZSxyKSxpP2FzeW5jV3JpdGUoYWZ0ZXJXcml0ZSxlLHIsbyxuKTphZnRlcldyaXRlKGUscixvLG4pfX1mdW5jdGlvbiBhZnRlcldyaXRlKGUsdCxyLGkpe3J8fG9ud3JpdGVEcmFpbihlLHQpLHQucGVuZGluZ2NiLS0saSgpLGZpbmlzaE1heWJlKGUsdCl9ZnVuY3Rpb24gb253cml0ZURyYWluKGUsdCl7MD09PXQubGVuZ3RoJiZ0Lm5lZWREcmFpbiYmKHQubmVlZERyYWluPSExLGUuZW1pdCgiZHJhaW4iKSl9ZnVuY3Rpb24gY2xlYXJCdWZmZXIoZSx0KXt0LmJ1ZmZlclByb2Nlc3Npbmc9ITA7dmFyIHI9dC5idWZmZXJlZFJlcXVlc3Q7aWYoZS5fd3JpdGV2JiZyJiZyLm5leHQpe3ZhciBpPXQuYnVmZmVyZWRSZXF1ZXN0Q291bnQsbj1uZXcgQXJyYXkoaSksbz10LmNvcmtlZFJlcXVlc3RzRnJlZTtvLmVudHJ5PXI7Zm9yKHZhciBzPTAsYT0hMDtyOyluW3NdPXIsci5pc0J1Znx8KGE9ITEpLHI9ci5uZXh0LHMrPTE7bi5hbGxCdWZmZXJzPWEsZG9Xcml0ZShlLHQsITAsdC5sZW5ndGgsbiwiIixvLmZpbmlzaCksdC5wZW5kaW5nY2IrKyx0Lmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCxvLm5leHQ/KHQuY29ya2VkUmVxdWVzdHNGcmVlPW8ubmV4dCxvLm5leHQ9bnVsbCk6dC5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IENvcmtlZFJlcXVlc3QodCl9ZWxzZXtmb3IoO3I7KXt2YXIgZj1yLmNodW5rLHU9ci5lbmNvZGluZyxsPXIuY2FsbGJhY2s7aWYoZG9Xcml0ZShlLHQsITEsdC5vYmplY3RNb2RlPzE6Zi5sZW5ndGgsZix1LGwpLHI9ci5uZXh0LHQud3JpdGluZylicmVha31udWxsPT09ciYmKHQubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsKX10LmJ1ZmZlcmVkUmVxdWVzdENvdW50PTAsdC5idWZmZXJlZFJlcXVlc3Q9cix0LmJ1ZmZlclByb2Nlc3Npbmc9ITF9ZnVuY3Rpb24gbmVlZEZpbmlzaChlKXtyZXR1cm4gZS5lbmRpbmcmJjA9PT1lLmxlbmd0aCYmbnVsbD09PWUuYnVmZmVyZWRSZXF1ZXN0JiYhZS5maW5pc2hlZCYmIWUud3JpdGluZ31mdW5jdGlvbiBjYWxsRmluYWwoZSx0KXtlLl9maW5hbChmdW5jdGlvbihyKXt0LnBlbmRpbmdjYi0tLHImJmUuZW1pdCgiZXJyb3IiLHIpLHQucHJlZmluaXNoZWQ9ITAsZS5lbWl0KCJwcmVmaW5pc2giKSxmaW5pc2hNYXliZShlLHQpfSl9ZnVuY3Rpb24gcHJlZmluaXNoKGUsdCl7dC5wcmVmaW5pc2hlZHx8dC5maW5hbENhbGxlZHx8KCJmdW5jdGlvbiI9PXR5cGVvZiBlLl9maW5hbD8odC5wZW5kaW5nY2IrKyx0LmZpbmFsQ2FsbGVkPSEwLHByb2Nlc3NOZXh0VGljayhjYWxsRmluYWwsZSx0KSk6KHQucHJlZmluaXNoZWQ9ITAsZS5lbWl0KCJwcmVmaW5pc2giKSkpfWZ1bmN0aW9uIGZpbmlzaE1heWJlKGUsdCl7dmFyIHI9bmVlZEZpbmlzaCh0KTtyZXR1cm4gciYmKHByZWZpbmlzaChlLHQpLDA9PT10LnBlbmRpbmdjYiYmKHQuZmluaXNoZWQ9ITAsZS5lbWl0KCJmaW5pc2giKSkpLHJ9ZnVuY3Rpb24gZW5kV3JpdGFibGUoZSx0LHIpe3QuZW5kaW5nPSEwLGZpbmlzaE1heWJlKGUsdCksciYmKHQuZmluaXNoZWQ/cHJvY2Vzc05leHRUaWNrKHIpOmUub25jZSgiZmluaXNoIixyKSksdC5lbmRlZD0hMCxlLndyaXRhYmxlPSExfWZ1bmN0aW9uIG9uQ29ya2VkRmluaXNoKGUsdCxyKXt2YXIgaT1lLmVudHJ5O2ZvcihlLmVudHJ5PW51bGw7aTspe3ZhciBuPWkuY2FsbGJhY2s7dC5wZW5kaW5nY2ItLSxuKHIpLGk9aS5uZXh0fXQuY29ya2VkUmVxdWVzdHNGcmVlP3QuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQ9ZTp0LmNvcmtlZFJlcXVlc3RzRnJlZT1lfXZhciBwcm9jZXNzTmV4dFRpY2s9cmVxdWlyZSgicHJvY2Vzcy1uZXh0aWNrLWFyZ3MiKTttb2R1bGUuZXhwb3J0cz1Xcml0YWJsZTt2YXIgYXN5bmNXcml0ZT0hcHJvY2Vzcy5icm93c2VyJiZbInYwLjEwIiwidjAuOS4iXS5pbmRleE9mKHByb2Nlc3MudmVyc2lvbi5zbGljZSgwLDUpKT4tMT9zZXRJbW1lZGlhdGU6cHJvY2Vzc05leHRUaWNrLER1cGxleDtXcml0YWJsZS5Xcml0YWJsZVN0YXRlPVdyaXRhYmxlU3RhdGU7dmFyIHV0aWw9cmVxdWlyZSgiY29yZS11dGlsLWlzIik7dXRpbC5pbmhlcml0cz1yZXF1aXJlKCJpbmhlcml0cyIpO3ZhciBpbnRlcm5hbFV0aWw9e2RlcHJlY2F0ZTpyZXF1aXJlKCJ1dGlsLWRlcHJlY2F0ZSIpfSxTdHJlYW09cmVxdWlyZSgiLi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbSIpLEJ1ZmZlcj1yZXF1aXJlKCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixPdXJVaW50OEFycmF5PWdsb2JhbC5VaW50OEFycmF5fHxmdW5jdGlvbigpe30sZGVzdHJveUltcGw9cmVxdWlyZSgiLi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kiKTt1dGlsLmluaGVyaXRzKFdyaXRhYmxlLFN0cmVhbSksV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUuZ2V0QnVmZmVyPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMuYnVmZmVyZWRSZXF1ZXN0LHQ9W107ZTspdC5wdXNoKGUpLGU9ZS5uZXh0O3JldHVybiB0fSxmdW5jdGlvbigpe3RyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUsImJ1ZmZlciIse2dldDppbnRlcm5hbFV0aWwuZGVwcmVjYXRlKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0QnVmZmVyKCl9LCJfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciBpbnN0ZWFkLiIsIkRFUDAwMDMiKX0pfWNhdGNoKGUpe319KCk7dmFyIHJlYWxIYXNJbnN0YW5jZTsiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaGFzSW5zdGFuY2UmJiJmdW5jdGlvbiI9PXR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXT8ocmVhbEhhc0luc3RhbmNlPUZ1bmN0aW9uLnByb3RvdHlwZVtTeW1ib2wuaGFzSW5zdGFuY2VdLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZSxTeW1ib2wuaGFzSW5zdGFuY2Use3ZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiEhcmVhbEhhc0luc3RhbmNlLmNhbGwodGhpcyxlKXx8ZSYmZS5fd3JpdGFibGVTdGF0ZSBpbnN0YW5jZW9mIFdyaXRhYmxlU3RhdGV9fSkpOnJlYWxIYXNJbnN0YW5jZT1mdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHRoaXN9LFdyaXRhYmxlLnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKCl7dGhpcy5lbWl0KCJlcnJvciIsbmV3IEVycm9yKCJDYW5ub3QgcGlwZSwgbm90IHJlYWRhYmxlIikpfSxXcml0YWJsZS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpPXRoaXMuX3dyaXRhYmxlU3RhdGUsbj0hMSxvPV9pc1VpbnQ4QXJyYXkoZSkmJiFpLm9iamVjdE1vZGU7cmV0dXJuIG8mJiFCdWZmZXIuaXNCdWZmZXIoZSkmJihlPV91aW50OEFycmF5VG9CdWZmZXIoZSkpLCJmdW5jdGlvbiI9PXR5cGVvZiB0JiYocj10LHQ9bnVsbCksbz90PSJidWZmZXIiOnR8fCh0PWkuZGVmYXVsdEVuY29kaW5nKSwiZnVuY3Rpb24iIT10eXBlb2YgciYmKHI9bm9wKSxpLmVuZGVkP3dyaXRlQWZ0ZXJFbmQodGhpcyxyKToob3x8dmFsaWRDaHVuayh0aGlzLGksZSxyKSkmJihpLnBlbmRpbmdjYisrLG49d3JpdGVPckJ1ZmZlcih0aGlzLGksbyxlLHQscikpLG59LFdyaXRhYmxlLnByb3RvdHlwZS5jb3JrPWZ1bmN0aW9uKCl7dGhpcy5fd3JpdGFibGVTdGF0ZS5jb3JrZWQrK30sV3JpdGFibGUucHJvdG90eXBlLnVuY29yaz1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX3dyaXRhYmxlU3RhdGU7ZS5jb3JrZWQmJihlLmNvcmtlZC0tLGUud3JpdGluZ3x8ZS5jb3JrZWR8fGUuZmluaXNoZWR8fGUuYnVmZmVyUHJvY2Vzc2luZ3x8IWUuYnVmZmVyZWRSZXF1ZXN0fHxjbGVhckJ1ZmZlcih0aGlzLGUpKX0sV3JpdGFibGUucHJvdG90eXBlLnNldERlZmF1bHRFbmNvZGluZz1mdW5jdGlvbihlKXtpZigic3RyaW5nIj09dHlwZW9mIGUmJihlPWUudG9Mb3dlckNhc2UoKSksIShbImhleCIsInV0ZjgiLCJ1dGYtOCIsImFzY2lpIiwiYmluYXJ5IiwiYmFzZTY0IiwidWNzMiIsInVjcy0yIiwidXRmMTZsZSIsInV0Zi0xNmxlIiwicmF3Il0uaW5kZXhPZigoZSsiIikudG9Mb3dlckNhc2UoKSk+LTEpKXRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrZSk7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVmYXVsdEVuY29kaW5nPWUsdGhpc30sV3JpdGFibGUucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihlLHQscil7cihuZXcgRXJyb3IoIl93cml0ZSgpIGlzIG5vdCBpbXBsZW1lbnRlZCIpKX0sV3JpdGFibGUucHJvdG90eXBlLl93cml0ZXY9bnVsbCxXcml0YWJsZS5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaT10aGlzLl93cml0YWJsZVN0YXRlOyJmdW5jdGlvbiI9PXR5cGVvZiBlPyhyPWUsZT1udWxsLHQ9bnVsbCk6ImZ1bmN0aW9uIj09dHlwZW9mIHQmJihyPXQsdD1udWxsKSxudWxsIT09ZSYmdm9pZCAwIT09ZSYmdGhpcy53cml0ZShlLHQpLGkuY29ya2VkJiYoaS5jb3JrZWQ9MSx0aGlzLnVuY29yaygpKSxpLmVuZGluZ3x8aS5maW5pc2hlZHx8ZW5kV3JpdGFibGUodGhpcyxpLHIpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCJkZXN0cm95ZWQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWR9LHNldDpmdW5jdGlvbihlKXt0aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZSl9fSksV3JpdGFibGUucHJvdG90eXBlLmRlc3Ryb3k9ZGVzdHJveUltcGwuZGVzdHJveSxXcml0YWJsZS5wcm90b3R5cGUuX3VuZGVzdHJveT1kZXN0cm95SW1wbC51bmRlc3Ryb3ksV3JpdGFibGUucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKGUsdCl7dGhpcy5lbmQoKSx0KGUpfTsNCg0KICB9KS5jYWxsKHRoaXMscmVxdWlyZSgnX3Byb2Nlc3MnKSx0eXBlb2YgZ2xvYmFsICE9PSAidW5kZWZpbmVkIiA/IGdsb2JhbCA6IHR5cGVvZiBzZWxmICE9PSAidW5kZWZpbmVkIiA/IHNlbGYgOiB0eXBlb2Ygd2luZG93ICE9PSAidW5kZWZpbmVkIiA/IHdpbmRvdyA6IHt9KQ0KICB9LHsiLi9fc3RyZWFtX2R1cGxleCI6NjgsIi4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95Ijo3NCwiLi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbSI6NzUsIl9wcm9jZXNzIjo2NiwiY29yZS11dGlsLWlzIjoxMCwiaW5oZXJpdHMiOjUxLCJwcm9jZXNzLW5leHRpY2stYXJncyI6NjUsInNhZmUtYnVmZmVyIjo4MiwidXRpbC1kZXByZWNhdGUiOjEwMH1dLDczOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayh0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfWZ1bmN0aW9uIGNvcHlCdWZmZXIodCxlLGgpe3QuY29weShlLGgpfXZhciBCdWZmZXI9cmVxdWlyZSgic2FmZS1idWZmZXIiKS5CdWZmZXI7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7X2NsYXNzQ2FsbENoZWNrKHRoaXMsdCksdGhpcy5oZWFkPW51bGwsdGhpcy50YWlsPW51bGwsdGhpcy5sZW5ndGg9MH1yZXR1cm4gdC5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0KXt2YXIgZT17ZGF0YTp0LG5leHQ6bnVsbH07dGhpcy5sZW5ndGg+MD90aGlzLnRhaWwubmV4dD1lOnRoaXMuaGVhZD1lLHRoaXMudGFpbD1lLCsrdGhpcy5sZW5ndGh9LHQucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24odCl7dmFyIGU9e2RhdGE6dCxuZXh0OnRoaXMuaGVhZH07MD09PXRoaXMubGVuZ3RoJiYodGhpcy50YWlsPWUpLHRoaXMuaGVhZD1lLCsrdGhpcy5sZW5ndGh9LHQucHJvdG90eXBlLnNoaWZ0PWZ1bmN0aW9uKCl7aWYoMCE9PXRoaXMubGVuZ3RoKXt2YXIgdD10aGlzLmhlYWQuZGF0YTtyZXR1cm4gMT09PXRoaXMubGVuZ3RoP3RoaXMuaGVhZD10aGlzLnRhaWw9bnVsbDp0aGlzLmhlYWQ9dGhpcy5oZWFkLm5leHQsLS10aGlzLmxlbmd0aCx0fX0sdC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwsdGhpcy5sZW5ndGg9MH0sdC5wcm90b3R5cGUuam9pbj1mdW5jdGlvbih0KXtpZigwPT09dGhpcy5sZW5ndGgpcmV0dXJuIiI7Zm9yKHZhciBlPXRoaXMuaGVhZCxoPSIiK2UuZGF0YTtlPWUubmV4dDspaCs9dCtlLmRhdGE7cmV0dXJuIGh9LHQucHJvdG90eXBlLmNvbmNhdD1mdW5jdGlvbih0KXtpZigwPT09dGhpcy5sZW5ndGgpcmV0dXJuIEJ1ZmZlci5hbGxvYygwKTtpZigxPT09dGhpcy5sZW5ndGgpcmV0dXJuIHRoaXMuaGVhZC5kYXRhO2Zvcih2YXIgZT1CdWZmZXIuYWxsb2NVbnNhZmUodD4+PjApLGg9dGhpcy5oZWFkLG49MDtoOyljb3B5QnVmZmVyKGguZGF0YSxlLG4pLG4rPWguZGF0YS5sZW5ndGgsaD1oLm5leHQ7cmV0dXJuIGV9LHR9KCk7DQoNCiAgfSx7InNhZmUtYnVmZmVyIjo4Mn1dLDc0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIGRlc3Ryb3kodCxlKXt2YXIgcj10aGlzLGk9dGhpcy5fcmVhZGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQsYT10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtpfHxhP2U/ZSh0KTohdHx8dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWR8fHByb2Nlc3NOZXh0VGljayhlbWl0RXJyb3JOVCx0aGlzLHQpOih0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fZGVzdHJveSh0fHxudWxsLGZ1bmN0aW9uKHQpeyFlJiZ0Pyhwcm9jZXNzTmV4dFRpY2soZW1pdEVycm9yTlQscix0KSxyLl93cml0YWJsZVN0YXRlJiYoci5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITApKTplJiZlKHQpfSkpfWZ1bmN0aW9uIHVuZGVzdHJveSgpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLnJlYWRpbmc9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ9ITEpLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kaW5nPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITEpfWZ1bmN0aW9uIGVtaXRFcnJvck5UKHQsZSl7dC5lbWl0KCJlcnJvciIsZSl9dmFyIHByb2Nlc3NOZXh0VGljaz1yZXF1aXJlKCJwcm9jZXNzLW5leHRpY2stYXJncyIpO21vZHVsZS5leHBvcnRzPXtkZXN0cm95OmRlc3Ryb3ksdW5kZXN0cm95OnVuZGVzdHJveX07DQoNCiAgfSx7InByb2Nlc3MtbmV4dGljay1hcmdzIjo2NX1dLDc1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgbW9kdWxlLmV4cG9ydHM9cmVxdWlyZSgiZXZlbnRzIikuRXZlbnRFbWl0dGVyOw0KDQogIH0seyJldmVudHMiOjM1fV0sNzY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICBtb2R1bGUuZXhwb3J0cz1yZXF1aXJlKCIuL3JlYWRhYmxlIikuUGFzc1Rocm91Z2g7DQoNCiAgfSx7Ii4vcmVhZGFibGUiOjc3fV0sNzc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICBleHBvcnRzPW1vZHVsZS5leHBvcnRzPXJlcXVpcmUoIi4vbGliL19zdHJlYW1fcmVhZGFibGUuanMiKSxleHBvcnRzLlN0cmVhbT1leHBvcnRzLGV4cG9ydHMuUmVhZGFibGU9ZXhwb3J0cyxleHBvcnRzLldyaXRhYmxlPXJlcXVpcmUoIi4vbGliL19zdHJlYW1fd3JpdGFibGUuanMiKSxleHBvcnRzLkR1cGxleD1yZXF1aXJlKCIuL2xpYi9fc3RyZWFtX2R1cGxleC5qcyIpLGV4cG9ydHMuVHJhbnNmb3JtPXJlcXVpcmUoIi4vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzIiksZXhwb3J0cy5QYXNzVGhyb3VnaD1yZXF1aXJlKCIuL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzIik7DQoNCiAgfSx7Ii4vbGliL19zdHJlYW1fZHVwbGV4LmpzIjo2OCwiLi9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qcyI6NjksIi4vbGliL19zdHJlYW1fcmVhZGFibGUuanMiOjcwLCIuL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qcyI6NzEsIi4vbGliL19zdHJlYW1fd3JpdGFibGUuanMiOjcyfV0sNzg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICBtb2R1bGUuZXhwb3J0cz1yZXF1aXJlKCIuL3JlYWRhYmxlIikuVHJhbnNmb3JtOw0KDQogIH0seyIuL3JlYWRhYmxlIjo3N31dLDc5OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgbW9kdWxlLmV4cG9ydHM9cmVxdWlyZSgiLi9saWIvX3N0cmVhbV93cml0YWJsZS5qcyIpOw0KDQogIH0seyIuL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzIjo3Mn1dLDgwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgKGZ1bmN0aW9uIChCdWZmZXIpew0KICAidXNlIHN0cmljdCI7ZnVuY3Rpb24gUklQRU1EMTYwKCl7SGFzaEJhc2UuY2FsbCh0aGlzLDY0KSx0aGlzLl9hPTE3MzI1ODQxOTMsdGhpcy5fYj00MDIzMjMzNDE3LHRoaXMuX2M9MjU2MjM4MzEwMix0aGlzLl9kPTI3MTczMzg3OCx0aGlzLl9lPTMyODUzNzc1MjB9ZnVuY3Rpb24gcm90bCh0LHIpe3JldHVybiB0PDxyfHQ+Pj4zMi1yfWZ1bmN0aW9uIGZuMSh0LHIsbixvLGYsbCxpLHMpe3JldHVybiByb3RsKHQrKHJebl5vKStsK2l8MCxzKStmfDB9ZnVuY3Rpb24gZm4yKHQscixuLG8sZixsLGkscyl7cmV0dXJuIHJvdGwodCsociZufH5yJm8pK2wraXwwLHMpK2Z8MH1mdW5jdGlvbiBmbjModCxyLG4sbyxmLGwsaSxzKXtyZXR1cm4gcm90bCh0Kygocnx+bilebykrbCtpfDAscykrZnwwfWZ1bmN0aW9uIGZuNCh0LHIsbixvLGYsbCxpLHMpe3JldHVybiByb3RsKHQrKHImb3xuJn5vKStsK2l8MCxzKStmfDB9ZnVuY3Rpb24gZm41KHQscixuLG8sZixsLGkscyl7cmV0dXJuIHJvdGwodCsocl4obnx+bykpK2wraXwwLHMpK2Z8MH12YXIgaW5oZXJpdHM9cmVxdWlyZSgiaW5oZXJpdHMiKSxIYXNoQmFzZT1yZXF1aXJlKCJoYXNoLWJhc2UiKTtpbmhlcml0cyhSSVBFTUQxNjAsSGFzaEJhc2UpLFJJUEVNRDE2MC5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbigpe2Zvcih2YXIgdD1uZXcgQXJyYXkoMTYpLHI9MDtyPDE2Oysrcil0W3JdPXRoaXMuX2Jsb2NrLnJlYWRJbnQzMkxFKDQqcik7dmFyIG49dGhpcy5fYSxvPXRoaXMuX2IsZj10aGlzLl9jLGw9dGhpcy5fZCxpPXRoaXMuX2U7aT1mbjEoaSxuPWZuMShuLG8sZixsLGksdFswXSwwLDExKSxvLGY9cm90bChmLDEwKSxsLHRbMV0sMCwxNCksbz1mbjEobz1yb3RsKG8sMTApLGY9Zm4xKGYsbD1mbjEobCxpLG4sbyxmLHRbMl0sMCwxNSksaSxuPXJvdGwobiwxMCksbyx0WzNdLDAsMTIpLGwsaT1yb3RsKGksMTApLG4sdFs0XSwwLDUpLGw9Zm4xKGw9cm90bChsLDEwKSxpPWZuMShpLG49Zm4xKG4sbyxmLGwsaSx0WzVdLDAsOCksbyxmPXJvdGwoZiwxMCksbCx0WzZdLDAsNyksbixvPXJvdGwobywxMCksZix0WzddLDAsOSksbj1mbjEobj1yb3RsKG4sMTApLG89Zm4xKG8sZj1mbjEoZixsLGksbixvLHRbOF0sMCwxMSksbCxpPXJvdGwoaSwxMCksbix0WzldLDAsMTMpLGYsbD1yb3RsKGwsMTApLGksdFsxMF0sMCwxNCksZj1mbjEoZj1yb3RsKGYsMTApLGw9Zm4xKGwsaT1mbjEoaSxuLG8sZixsLHRbMTFdLDAsMTUpLG4sbz1yb3RsKG8sMTApLGYsdFsxMl0sMCw2KSxpLG49cm90bChuLDEwKSxvLHRbMTNdLDAsNyksaT1mbjIoaT1yb3RsKGksMTApLG49Zm4xKG4sbz1mbjEobyxmLGwsaSxuLHRbMTRdLDAsOSksZixsPXJvdGwobCwxMCksaSx0WzE1XSwwLDgpLG8sZj1yb3RsKGYsMTApLGwsdFs3XSwxNTE4NTAwMjQ5LDcpLG89Zm4yKG89cm90bChvLDEwKSxmPWZuMihmLGw9Zm4yKGwsaSxuLG8sZix0WzRdLDE1MTg1MDAyNDksNiksaSxuPXJvdGwobiwxMCksbyx0WzEzXSwxNTE4NTAwMjQ5LDgpLGwsaT1yb3RsKGksMTApLG4sdFsxXSwxNTE4NTAwMjQ5LDEzKSxsPWZuMihsPXJvdGwobCwxMCksaT1mbjIoaSxuPWZuMihuLG8sZixsLGksdFsxMF0sMTUxODUwMDI0OSwxMSksbyxmPXJvdGwoZiwxMCksbCx0WzZdLDE1MTg1MDAyNDksOSksbixvPXJvdGwobywxMCksZix0WzE1XSwxNTE4NTAwMjQ5LDcpLG49Zm4yKG49cm90bChuLDEwKSxvPWZuMihvLGY9Zm4yKGYsbCxpLG4sbyx0WzNdLDE1MTg1MDAyNDksMTUpLGwsaT1yb3RsKGksMTApLG4sdFsxMl0sMTUxODUwMDI0OSw3KSxmLGw9cm90bChsLDEwKSxpLHRbMF0sMTUxODUwMDI0OSwxMiksZj1mbjIoZj1yb3RsKGYsMTApLGw9Zm4yKGwsaT1mbjIoaSxuLG8sZixsLHRbOV0sMTUxODUwMDI0OSwxNSksbixvPXJvdGwobywxMCksZix0WzVdLDE1MTg1MDAyNDksOSksaSxuPXJvdGwobiwxMCksbyx0WzJdLDE1MTg1MDAyNDksMTEpLGk9Zm4yKGk9cm90bChpLDEwKSxuPWZuMihuLG89Zm4yKG8sZixsLGksbix0WzE0XSwxNTE4NTAwMjQ5LDcpLGYsbD1yb3RsKGwsMTApLGksdFsxMV0sMTUxODUwMDI0OSwxMyksbyxmPXJvdGwoZiwxMCksbCx0WzhdLDE1MTg1MDAyNDksMTIpLG89Zm4zKG89cm90bChvLDEwKSxmPWZuMyhmLGw9Zm4zKGwsaSxuLG8sZix0WzNdLDE4NTk3NzUzOTMsMTEpLGksbj1yb3RsKG4sMTApLG8sdFsxMF0sMTg1OTc3NTM5MywxMyksbCxpPXJvdGwoaSwxMCksbix0WzE0XSwxODU5Nzc1MzkzLDYpLGw9Zm4zKGw9cm90bChsLDEwKSxpPWZuMyhpLG49Zm4zKG4sbyxmLGwsaSx0WzRdLDE4NTk3NzUzOTMsNyksbyxmPXJvdGwoZiwxMCksbCx0WzldLDE4NTk3NzUzOTMsMTQpLG4sbz1yb3RsKG8sMTApLGYsdFsxNV0sMTg1OTc3NTM5Myw5KSxuPWZuMyhuPXJvdGwobiwxMCksbz1mbjMobyxmPWZuMyhmLGwsaSxuLG8sdFs4XSwxODU5Nzc1MzkzLDEzKSxsLGk9cm90bChpLDEwKSxuLHRbMV0sMTg1OTc3NTM5MywxNSksZixsPXJvdGwobCwxMCksaSx0WzJdLDE4NTk3NzUzOTMsMTQpLGY9Zm4zKGY9cm90bChmLDEwKSxsPWZuMyhsLGk9Zm4zKGksbixvLGYsbCx0WzddLDE4NTk3NzUzOTMsOCksbixvPXJvdGwobywxMCksZix0WzBdLDE4NTk3NzUzOTMsMTMpLGksbj1yb3RsKG4sMTApLG8sdFs2XSwxODU5Nzc1MzkzLDYpLGk9Zm4zKGk9cm90bChpLDEwKSxuPWZuMyhuLG89Zm4zKG8sZixsLGksbix0WzEzXSwxODU5Nzc1MzkzLDUpLGYsbD1yb3RsKGwsMTApLGksdFsxMV0sMTg1OTc3NTM5MywxMiksbyxmPXJvdGwoZiwxMCksbCx0WzVdLDE4NTk3NzUzOTMsNyksbz1mbjQobz1yb3RsKG8sMTApLGY9Zm40KGYsbD1mbjMobCxpLG4sbyxmLHRbMTJdLDE4NTk3NzUzOTMsNSksaSxuPXJvdGwobiwxMCksbyx0WzFdLDI0MDA5NTk3MDgsMTEpLGwsaT1yb3RsKGksMTApLG4sdFs5XSwyNDAwOTU5NzA4LDEyKSxsPWZuNChsPXJvdGwobCwxMCksaT1mbjQoaSxuPWZuNChuLG8sZixsLGksdFsxMV0sMjQwMDk1OTcwOCwxNCksbyxmPXJvdGwoZiwxMCksbCx0WzEwXSwyNDAwOTU5NzA4LDE1KSxuLG89cm90bChvLDEwKSxmLHRbMF0sMjQwMDk1OTcwOCwxNCksbj1mbjQobj1yb3RsKG4sMTApLG89Zm40KG8sZj1mbjQoZixsLGksbixvLHRbOF0sMjQwMDk1OTcwOCwxNSksbCxpPXJvdGwoaSwxMCksbix0WzEyXSwyNDAwOTU5NzA4LDkpLGYsbD1yb3RsKGwsMTApLGksdFs0XSwyNDAwOTU5NzA4LDgpLGY9Zm40KGY9cm90bChmLDEwKSxsPWZuNChsLGk9Zm40KGksbixvLGYsbCx0WzEzXSwyNDAwOTU5NzA4LDkpLG4sbz1yb3RsKG8sMTApLGYsdFszXSwyNDAwOTU5NzA4LDE0KSxpLG49cm90bChuLDEwKSxvLHRbN10sMjQwMDk1OTcwOCw1KSxpPWZuNChpPXJvdGwoaSwxMCksbj1mbjQobixvPWZuNChvLGYsbCxpLG4sdFsxNV0sMjQwMDk1OTcwOCw2KSxmLGw9cm90bChsLDEwKSxpLHRbMTRdLDI0MDA5NTk3MDgsOCksbyxmPXJvdGwoZiwxMCksbCx0WzVdLDI0MDA5NTk3MDgsNiksbz1mbjUobz1yb3RsKG8sMTApLGY9Zm40KGYsbD1mbjQobCxpLG4sbyxmLHRbNl0sMjQwMDk1OTcwOCw1KSxpLG49cm90bChuLDEwKSxvLHRbMl0sMjQwMDk1OTcwOCwxMiksbCxpPXJvdGwoaSwxMCksbix0WzRdLDI4NDA4NTM4MzgsOSksbD1mbjUobD1yb3RsKGwsMTApLGk9Zm41KGksbj1mbjUobixvLGYsbCxpLHRbMF0sMjg0MDg1MzgzOCwxNSksbyxmPXJvdGwoZiwxMCksbCx0WzVdLDI4NDA4NTM4MzgsNSksbixvPXJvdGwobywxMCksZix0WzldLDI4NDA4NTM4MzgsMTEpLG49Zm41KG49cm90bChuLDEwKSxvPWZuNShvLGY9Zm41KGYsbCxpLG4sbyx0WzddLDI4NDA4NTM4MzgsNiksbCxpPXJvdGwoaSwxMCksbix0WzEyXSwyODQwODUzODM4LDgpLGYsbD1yb3RsKGwsMTApLGksdFsyXSwyODQwODUzODM4LDEzKSxmPWZuNShmPXJvdGwoZiwxMCksbD1mbjUobCxpPWZuNShpLG4sbyxmLGwsdFsxMF0sMjg0MDg1MzgzOCwxMiksbixvPXJvdGwobywxMCksZix0WzE0XSwyODQwODUzODM4LDUpLGksbj1yb3RsKG4sMTApLG8sdFsxXSwyODQwODUzODM4LDEyKSxpPWZuNShpPXJvdGwoaSwxMCksbj1mbjUobixvPWZuNShvLGYsbCxpLG4sdFszXSwyODQwODUzODM4LDEzKSxmLGw9cm90bChsLDEwKSxpLHRbOF0sMjg0MDg1MzgzOCwxNCksbyxmPXJvdGwoZiwxMCksbCx0WzExXSwyODQwODUzODM4LDExKSxvPWZuNShvPXJvdGwobywxMCksZj1mbjUoZixsPWZuNShsLGksbixvLGYsdFs2XSwyODQwODUzODM4LDgpLGksbj1yb3RsKG4sMTApLG8sdFsxNV0sMjg0MDg1MzgzOCw1KSxsLGk9cm90bChpLDEwKSxuLHRbMTNdLDI4NDA4NTM4MzgsNiksbD1yb3RsKGwsMTApO3ZhciBzPXRoaXMuX2EsaD10aGlzLl9iLGU9dGhpcy5fYyxfPXRoaXMuX2QsYz10aGlzLl9lO2M9Zm41KGMscz1mbjUocyxoLGUsXyxjLHRbNV0sMTM1MjgyOTkyNiw4KSxoLGU9cm90bChlLDEwKSxfLHRbMTRdLDEzNTI4Mjk5MjYsOSksaD1mbjUoaD1yb3RsKGgsMTApLGU9Zm41KGUsXz1mbjUoXyxjLHMsaCxlLHRbN10sMTM1MjgyOTkyNiw5KSxjLHM9cm90bChzLDEwKSxoLHRbMF0sMTM1MjgyOTkyNiwxMSksXyxjPXJvdGwoYywxMCkscyx0WzldLDEzNTI4Mjk5MjYsMTMpLF89Zm41KF89cm90bChfLDEwKSxjPWZuNShjLHM9Zm41KHMsaCxlLF8sYyx0WzJdLDEzNTI4Mjk5MjYsMTUpLGgsZT1yb3RsKGUsMTApLF8sdFsxMV0sMTM1MjgyOTkyNiwxNSkscyxoPXJvdGwoaCwxMCksZSx0WzRdLDEzNTI4Mjk5MjYsNSkscz1mbjUocz1yb3RsKHMsMTApLGg9Zm41KGgsZT1mbjUoZSxfLGMscyxoLHRbMTNdLDEzNTI4Mjk5MjYsNyksXyxjPXJvdGwoYywxMCkscyx0WzZdLDEzNTI4Mjk5MjYsNyksZSxfPXJvdGwoXywxMCksYyx0WzE1XSwxMzUyODI5OTI2LDgpLGU9Zm41KGU9cm90bChlLDEwKSxfPWZuNShfLGM9Zm41KGMscyxoLGUsXyx0WzhdLDEzNTI4Mjk5MjYsMTEpLHMsaD1yb3RsKGgsMTApLGUsdFsxXSwxMzUyODI5OTI2LDE0KSxjLHM9cm90bChzLDEwKSxoLHRbMTBdLDEzNTI4Mjk5MjYsMTQpLGM9Zm40KGM9cm90bChjLDEwKSxzPWZuNShzLGg9Zm41KGgsZSxfLGMscyx0WzNdLDEzNTI4Mjk5MjYsMTIpLGUsXz1yb3RsKF8sMTApLGMsdFsxMl0sMTM1MjgyOTkyNiw2KSxoLGU9cm90bChlLDEwKSxfLHRbNl0sMTU0ODYwMzY4NCw5KSxoPWZuNChoPXJvdGwoaCwxMCksZT1mbjQoZSxfPWZuNChfLGMscyxoLGUsdFsxMV0sMTU0ODYwMzY4NCwxMyksYyxzPXJvdGwocywxMCksaCx0WzNdLDE1NDg2MDM2ODQsMTUpLF8sYz1yb3RsKGMsMTApLHMsdFs3XSwxNTQ4NjAzNjg0LDcpLF89Zm40KF89cm90bChfLDEwKSxjPWZuNChjLHM9Zm40KHMsaCxlLF8sYyx0WzBdLDE1NDg2MDM2ODQsMTIpLGgsZT1yb3RsKGUsMTApLF8sdFsxM10sMTU0ODYwMzY4NCw4KSxzLGg9cm90bChoLDEwKSxlLHRbNV0sMTU0ODYwMzY4NCw5KSxzPWZuNChzPXJvdGwocywxMCksaD1mbjQoaCxlPWZuNChlLF8sYyxzLGgsdFsxMF0sMTU0ODYwMzY4NCwxMSksXyxjPXJvdGwoYywxMCkscyx0WzE0XSwxNTQ4NjAzNjg0LDcpLGUsXz1yb3RsKF8sMTApLGMsdFsxNV0sMTU0ODYwMzY4NCw3KSxlPWZuNChlPXJvdGwoZSwxMCksXz1mbjQoXyxjPWZuNChjLHMsaCxlLF8sdFs4XSwxNTQ4NjAzNjg0LDEyKSxzLGg9cm90bChoLDEwKSxlLHRbMTJdLDE1NDg2MDM2ODQsNyksYyxzPXJvdGwocywxMCksaCx0WzRdLDE1NDg2MDM2ODQsNiksYz1mbjQoYz1yb3RsKGMsMTApLHM9Zm40KHMsaD1mbjQoaCxlLF8sYyxzLHRbOV0sMTU0ODYwMzY4NCwxNSksZSxfPXJvdGwoXywxMCksYyx0WzFdLDE1NDg2MDM2ODQsMTMpLGgsZT1yb3RsKGUsMTApLF8sdFsyXSwxNTQ4NjAzNjg0LDExKSxoPWZuMyhoPXJvdGwoaCwxMCksZT1mbjMoZSxfPWZuMyhfLGMscyxoLGUsdFsxNV0sMTgzNjA3MjY5MSw5KSxjLHM9cm90bChzLDEwKSxoLHRbNV0sMTgzNjA3MjY5MSw3KSxfLGM9cm90bChjLDEwKSxzLHRbMV0sMTgzNjA3MjY5MSwxNSksXz1mbjMoXz1yb3RsKF8sMTApLGM9Zm4zKGMscz1mbjMocyxoLGUsXyxjLHRbM10sMTgzNjA3MjY5MSwxMSksaCxlPXJvdGwoZSwxMCksXyx0WzddLDE4MzYwNzI2OTEsOCkscyxoPXJvdGwoaCwxMCksZSx0WzE0XSwxODM2MDcyNjkxLDYpLHM9Zm4zKHM9cm90bChzLDEwKSxoPWZuMyhoLGU9Zm4zKGUsXyxjLHMsaCx0WzZdLDE4MzYwNzI2OTEsNiksXyxjPXJvdGwoYywxMCkscyx0WzldLDE4MzYwNzI2OTEsMTQpLGUsXz1yb3RsKF8sMTApLGMsdFsxMV0sMTgzNjA3MjY5MSwxMiksZT1mbjMoZT1yb3RsKGUsMTApLF89Zm4zKF8sYz1mbjMoYyxzLGgsZSxfLHRbOF0sMTgzNjA3MjY5MSwxMykscyxoPXJvdGwoaCwxMCksZSx0WzEyXSwxODM2MDcyNjkxLDUpLGMscz1yb3RsKHMsMTApLGgsdFsyXSwxODM2MDcyNjkxLDE0KSxjPWZuMyhjPXJvdGwoYywxMCkscz1mbjMocyxoPWZuMyhoLGUsXyxjLHMsdFsxMF0sMTgzNjA3MjY5MSwxMyksZSxfPXJvdGwoXywxMCksYyx0WzBdLDE4MzYwNzI2OTEsMTMpLGgsZT1yb3RsKGUsMTApLF8sdFs0XSwxODM2MDcyNjkxLDcpLGg9Zm4yKGg9cm90bChoLDEwKSxlPWZuMihlLF89Zm4zKF8sYyxzLGgsZSx0WzEzXSwxODM2MDcyNjkxLDUpLGMscz1yb3RsKHMsMTApLGgsdFs4XSwyMDUzOTk0MjE3LDE1KSxfLGM9cm90bChjLDEwKSxzLHRbNl0sMjA1Mzk5NDIxNyw1KSxfPWZuMihfPXJvdGwoXywxMCksYz1mbjIoYyxzPWZuMihzLGgsZSxfLGMsdFs0XSwyMDUzOTk0MjE3LDgpLGgsZT1yb3RsKGUsMTApLF8sdFsxXSwyMDUzOTk0MjE3LDExKSxzLGg9cm90bChoLDEwKSxlLHRbM10sMjA1Mzk5NDIxNywxNCkscz1mbjIocz1yb3RsKHMsMTApLGg9Zm4yKGgsZT1mbjIoZSxfLGMscyxoLHRbMTFdLDIwNTM5OTQyMTcsMTQpLF8sYz1yb3RsKGMsMTApLHMsdFsxNV0sMjA1Mzk5NDIxNyw2KSxlLF89cm90bChfLDEwKSxjLHRbMF0sMjA1Mzk5NDIxNywxNCksZT1mbjIoZT1yb3RsKGUsMTApLF89Zm4yKF8sYz1mbjIoYyxzLGgsZSxfLHRbNV0sMjA1Mzk5NDIxNyw2KSxzLGg9cm90bChoLDEwKSxlLHRbMTJdLDIwNTM5OTQyMTcsOSksYyxzPXJvdGwocywxMCksaCx0WzJdLDIwNTM5OTQyMTcsMTIpLGM9Zm4yKGM9cm90bChjLDEwKSxzPWZuMihzLGg9Zm4yKGgsZSxfLGMscyx0WzEzXSwyMDUzOTk0MjE3LDkpLGUsXz1yb3RsKF8sMTApLGMsdFs5XSwyMDUzOTk0MjE3LDEyKSxoLGU9cm90bChlLDEwKSxfLHRbN10sMjA1Mzk5NDIxNyw1KSxoPWZuMShoPXJvdGwoaCwxMCksZT1mbjIoZSxfPWZuMihfLGMscyxoLGUsdFsxMF0sMjA1Mzk5NDIxNywxNSksYyxzPXJvdGwocywxMCksaCx0WzE0XSwyMDUzOTk0MjE3LDgpLF8sYz1yb3RsKGMsMTApLHMsdFsxMl0sMCw4KSxfPWZuMShfPXJvdGwoXywxMCksYz1mbjEoYyxzPWZuMShzLGgsZSxfLGMsdFsxNV0sMCw1KSxoLGU9cm90bChlLDEwKSxfLHRbMTBdLDAsMTIpLHMsaD1yb3RsKGgsMTApLGUsdFs0XSwwLDkpLHM9Zm4xKHM9cm90bChzLDEwKSxoPWZuMShoLGU9Zm4xKGUsXyxjLHMsaCx0WzFdLDAsMTIpLF8sYz1yb3RsKGMsMTApLHMsdFs1XSwwLDUpLGUsXz1yb3RsKF8sMTApLGMsdFs4XSwwLDE0KSxlPWZuMShlPXJvdGwoZSwxMCksXz1mbjEoXyxjPWZuMShjLHMsaCxlLF8sdFs3XSwwLDYpLHMsaD1yb3RsKGgsMTApLGUsdFs2XSwwLDgpLGMscz1yb3RsKHMsMTApLGgsdFsyXSwwLDEzKSxjPWZuMShjPXJvdGwoYywxMCkscz1mbjEocyxoPWZuMShoLGUsXyxjLHMsdFsxM10sMCw2KSxlLF89cm90bChfLDEwKSxjLHRbMTRdLDAsNSksaCxlPXJvdGwoZSwxMCksXyx0WzBdLDAsMTUpLGg9Zm4xKGg9cm90bChoLDEwKSxlPWZuMShlLF89Zm4xKF8sYyxzLGgsZSx0WzNdLDAsMTMpLGMscz1yb3RsKHMsMTApLGgsdFs5XSwwLDExKSxfLGM9cm90bChjLDEwKSxzLHRbMTFdLDAsMTEpLF89cm90bChfLDEwKTt2YXIgYT10aGlzLl9iK2YrX3wwO3RoaXMuX2I9dGhpcy5fYytsK2N8MCx0aGlzLl9jPXRoaXMuX2QraStzfDAsdGhpcy5fZD10aGlzLl9lK24raHwwLHRoaXMuX2U9dGhpcy5fYStvK2V8MCx0aGlzLl9hPWF9LFJJUEVNRDE2MC5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbigpe3RoaXMuX2Jsb2NrW3RoaXMuX2Jsb2NrT2Zmc2V0KytdPTEyOCx0aGlzLl9ibG9ja09mZnNldD41NiYmKHRoaXMuX2Jsb2NrLmZpbGwoMCx0aGlzLl9ibG9ja09mZnNldCw2NCksdGhpcy5fdXBkYXRlKCksdGhpcy5fYmxvY2tPZmZzZXQ9MCksdGhpcy5fYmxvY2suZmlsbCgwLHRoaXMuX2Jsb2NrT2Zmc2V0LDU2KSx0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxFKHRoaXMuX2xlbmd0aFswXSw1NiksdGhpcy5fYmxvY2sud3JpdGVVSW50MzJMRSh0aGlzLl9sZW5ndGhbMV0sNjApLHRoaXMuX3VwZGF0ZSgpO3ZhciB0PW5ldyBCdWZmZXIoMjApO3JldHVybiB0LndyaXRlSW50MzJMRSh0aGlzLl9hLDApLHQud3JpdGVJbnQzMkxFKHRoaXMuX2IsNCksdC53cml0ZUludDMyTEUodGhpcy5fYyw4KSx0LndyaXRlSW50MzJMRSh0aGlzLl9kLDEyKSx0LndyaXRlSW50MzJMRSh0aGlzLl9lLDE2KSx0fSxtb2R1bGUuZXhwb3J0cz1SSVBFTUQxNjA7DQoNCiAgfSkuY2FsbCh0aGlzLHJlcXVpcmUoImJ1ZmZlciIpLkJ1ZmZlcikNCiAgfSx7ImJ1ZmZlciI6OCwiaGFzaC1iYXNlIjozNiwiaW5oZXJpdHMiOjUxfV0sODE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAoZnVuY3Rpb24gKEJ1ZmZlcil7DQogIGZ1bmN0aW9uIHNhZmVQYXJzZUludChlLHIpe2lmKCIwMCI9PT1lLnNsaWNlKDAsMikpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIFJMUDogZXh0cmEgemVyb3MiKTtyZXR1cm4gcGFyc2VJbnQoZSxyKX1mdW5jdGlvbiBlbmNvZGVMZW5ndGgoZSxyKXtpZihlPDU2KXJldHVybiBuZXcgQnVmZmVyKFtlK3JdKTt2YXIgbj1pbnRUb0hleChlKSx0PWludFRvSGV4KHIrNTUrbi5sZW5ndGgvMik7cmV0dXJuIG5ldyBCdWZmZXIodCtuLCJoZXgiKX1mdW5jdGlvbiBfZGVjb2RlKGUpe3ZhciByLG4sdCxpLGYsYT1bXSxvPWVbMF07aWYobzw9MTI3KXJldHVybntkYXRhOmUuc2xpY2UoMCwxKSxyZW1haW5kZXI6ZS5zbGljZSgxKX07aWYobzw9MTgzKXtpZihyPW8tMTI3LHQ9MTI4PT09bz9uZXcgQnVmZmVyKFtdKTplLnNsaWNlKDEsciksMj09PXImJnRbMF08MTI4KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBybHAgZW5jb2Rpbmc6IGJ5dGUgbXVzdCBiZSBsZXNzIDB4ODAiKTtyZXR1cm57ZGF0YTp0LHJlbWFpbmRlcjplLnNsaWNlKHIpfX1pZihvPD0xOTEpe2lmKG49by0xODIscj1zYWZlUGFyc2VJbnQoZS5zbGljZSgxLG4pLnRvU3RyaW5nKCJoZXgiKSwxNiksKHQ9ZS5zbGljZShuLHIrbikpLmxlbmd0aDxyKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBSTFAiKTtyZXR1cm57ZGF0YTp0LHJlbWFpbmRlcjplLnNsaWNlKHIrbil9fWlmKG88PTI0Nyl7Zm9yKHI9by0xOTEsaT1lLnNsaWNlKDEscik7aS5sZW5ndGg7KWY9X2RlY29kZShpKSxhLnB1c2goZi5kYXRhKSxpPWYucmVtYWluZGVyO3JldHVybntkYXRhOmEscmVtYWluZGVyOmUuc2xpY2Uocil9fXZhciB1PShuPW8tMjQ2KSsocj1zYWZlUGFyc2VJbnQoZS5zbGljZSgxLG4pLnRvU3RyaW5nKCJoZXgiKSwxNikpO2lmKHU+ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHJscDogdG90YWwgbGVuZ3RoIGlzIGxhcmdlciB0aGFuIHRoZSBkYXRhIik7aWYoMD09PShpPWUuc2xpY2Uobix1KSkubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBybHAsIExpc3QgaGFzIGEgaW52YWxpZCBsZW5ndGgiKTtmb3IoO2kubGVuZ3RoOylmPV9kZWNvZGUoaSksYS5wdXNoKGYuZGF0YSksaT1mLnJlbWFpbmRlcjtyZXR1cm57ZGF0YTphLHJlbWFpbmRlcjplLnNsaWNlKHUpfX1mdW5jdGlvbiBpc0hleFByZWZpeGVkKGUpe3JldHVybiIweCI9PT1lLnNsaWNlKDAsMil9ZnVuY3Rpb24gc3RyaXBIZXhQcmVmaXgoZSl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlP2U6aXNIZXhQcmVmaXhlZChlKT9lLnNsaWNlKDIpOmV9ZnVuY3Rpb24gaW50VG9IZXgoZSl7dmFyIHI9ZS50b1N0cmluZygxNik7cmV0dXJuIHIubGVuZ3RoJTImJihyPSIwIityKSxyfWZ1bmN0aW9uIHBhZFRvRXZlbihlKXtyZXR1cm4gZS5sZW5ndGglMiYmKGU9IjAiK2UpLGV9ZnVuY3Rpb24gaW50VG9CdWZmZXIoZSl7dmFyIHI9aW50VG9IZXgoZSk7cmV0dXJuIG5ldyBCdWZmZXIociwiaGV4Iil9ZnVuY3Rpb24gdG9CdWZmZXIoZSl7aWYoIUJ1ZmZlci5pc0J1ZmZlcihlKSlpZigic3RyaW5nIj09dHlwZW9mIGUpZT1pc0hleFByZWZpeGVkKGUpP25ldyBCdWZmZXIocGFkVG9FdmVuKHN0cmlwSGV4UHJlZml4KGUpKSwiaGV4Iik6bmV3IEJ1ZmZlcihlKTtlbHNlIGlmKCJudW1iZXIiPT10eXBlb2YgZSllPWU/aW50VG9CdWZmZXIoZSk6bmV3IEJ1ZmZlcihbXSk7ZWxzZSBpZihudWxsPT09ZXx8dm9pZCAwPT09ZSllPW5ldyBCdWZmZXIoW10pO2Vsc2V7aWYoIWUudG9BcnJheSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgdHlwZSIpO2U9bmV3IEJ1ZmZlcihlLnRvQXJyYXkoKSl9cmV0dXJuIGV9Y29uc3QgYXNzZXJ0PXJlcXVpcmUoImFzc2VydCIpO2V4cG9ydHMuZW5jb2RlPWZ1bmN0aW9uKGUpe2lmKGUgaW5zdGFuY2VvZiBBcnJheSl7Zm9yKHZhciByPVtdLG49MDtuPGUubGVuZ3RoO24rKylyLnB1c2goZXhwb3J0cy5lbmNvZGUoZVtuXSkpO3ZhciB0PUJ1ZmZlci5jb25jYXQocik7cmV0dXJuIEJ1ZmZlci5jb25jYXQoW2VuY29kZUxlbmd0aCh0Lmxlbmd0aCwxOTIpLHRdKX1yZXR1cm4gMT09PShlPXRvQnVmZmVyKGUpKS5sZW5ndGgmJmVbMF08MTI4P2U6QnVmZmVyLmNvbmNhdChbZW5jb2RlTGVuZ3RoKGUubGVuZ3RoLDEyOCksZV0pfSxleHBvcnRzLmRlY29kZT1mdW5jdGlvbihlLHIpe2lmKCFlfHwwPT09ZS5sZW5ndGgpcmV0dXJuIG5ldyBCdWZmZXIoW10pO3ZhciBuPV9kZWNvZGUoZT10b0J1ZmZlcihlKSk7cmV0dXJuIHI/bjooYXNzZXJ0LmVxdWFsKG4ucmVtYWluZGVyLmxlbmd0aCwwLCJpbnZhbGlkIHJlbWFpbmRlciIpLG4uZGF0YSl9LGV4cG9ydHMuZ2V0TGVuZ3RoPWZ1bmN0aW9uKGUpe2lmKCFlfHwwPT09ZS5sZW5ndGgpcmV0dXJuIG5ldyBCdWZmZXIoW10pO3ZhciByPShlPXRvQnVmZmVyKGUpKVswXTtpZihyPD0xMjcpcmV0dXJuIGUubGVuZ3RoO2lmKHI8PTE4MylyZXR1cm4gci0xMjc7aWYocjw9MTkxKXJldHVybiByLTE4MjtpZihyPD0yNDcpcmV0dXJuIHItMTkxO3ZhciBuPXItMjQ2O3JldHVybiBuK3NhZmVQYXJzZUludChlLnNsaWNlKDEsbikudG9TdHJpbmcoImhleCIpLDE2KX07DQoNCiAgfSkuY2FsbCh0aGlzLHJlcXVpcmUoImJ1ZmZlciIpLkJ1ZmZlcikNCiAgfSx7ImFzc2VydCI6MSwiYnVmZmVyIjo4fV0sODI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICBmdW5jdGlvbiBjb3B5UHJvcHMoZixyKXtmb3IodmFyIGUgaW4gZilyW2VdPWZbZV19ZnVuY3Rpb24gU2FmZUJ1ZmZlcihmLHIsZSl7cmV0dXJuIEJ1ZmZlcihmLHIsZSl9dmFyIGJ1ZmZlcj1yZXF1aXJlKCJidWZmZXIiKSxCdWZmZXI9YnVmZmVyLkJ1ZmZlcjtCdWZmZXIuZnJvbSYmQnVmZmVyLmFsbG9jJiZCdWZmZXIuYWxsb2NVbnNhZmUmJkJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3c/bW9kdWxlLmV4cG9ydHM9YnVmZmVyOihjb3B5UHJvcHMoYnVmZmVyLGV4cG9ydHMpLGV4cG9ydHMuQnVmZmVyPVNhZmVCdWZmZXIpLGNvcHlQcm9wcyhCdWZmZXIsU2FmZUJ1ZmZlciksU2FmZUJ1ZmZlci5mcm9tPWZ1bmN0aW9uKGYscixlKXtpZigibnVtYmVyIj09dHlwZW9mIGYpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBub3QgYmUgYSBudW1iZXIiKTtyZXR1cm4gQnVmZmVyKGYscixlKX0sU2FmZUJ1ZmZlci5hbGxvYz1mdW5jdGlvbihmLHIsZSl7aWYoIm51bWJlciIhPXR5cGVvZiBmKXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTt2YXIgdT1CdWZmZXIoZik7cmV0dXJuIHZvaWQgMCE9PXI/InN0cmluZyI9PXR5cGVvZiBlP3UuZmlsbChyLGUpOnUuZmlsbChyKTp1LmZpbGwoMCksdX0sU2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZT1mdW5jdGlvbihmKXtpZigibnVtYmVyIiE9dHlwZW9mIGYpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlciIpO3JldHVybiBCdWZmZXIoZil9LFNhZmVCdWZmZXIuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKGYpe2lmKCJudW1iZXIiIT10eXBlb2YgZil0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7cmV0dXJuIGJ1ZmZlci5TbG93QnVmZmVyKGYpfTsNCg0KICB9LHsiYnVmZmVyIjo4fV0sODM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAidXNlIHN0cmljdCI7bW9kdWxlLmV4cG9ydHM9cmVxdWlyZSgiLi9saWIiKShyZXF1aXJlKCIuL2xpYi9lbGxpcHRpYyIpKTsNCg0KICB9LHsiLi9saWIiOjg3LCIuL2xpYi9lbGxpcHRpYyI6ODZ9XSw4NDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIChmdW5jdGlvbiAoQnVmZmVyKXsNCiAgInVzZSBzdHJpY3QiO3ZhciB0b1N0cmluZz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2V4cG9ydHMuaXNBcnJheT1mdW5jdGlvbihyLHQpe2lmKCFBcnJheS5pc0FycmF5KHIpKXRocm93IFR5cGVFcnJvcih0KX0sZXhwb3J0cy5pc0Jvb2xlYW49ZnVuY3Rpb24ocix0KXtpZigiW29iamVjdCBCb29sZWFuXSIhPT10b1N0cmluZy5jYWxsKHIpKXRocm93IFR5cGVFcnJvcih0KX0sZXhwb3J0cy5pc0J1ZmZlcj1mdW5jdGlvbihyLHQpe2lmKCFCdWZmZXIuaXNCdWZmZXIocikpdGhyb3cgVHlwZUVycm9yKHQpfSxleHBvcnRzLmlzRnVuY3Rpb249ZnVuY3Rpb24ocix0KXtpZigiW29iamVjdCBGdW5jdGlvbl0iIT09dG9TdHJpbmcuY2FsbChyKSl0aHJvdyBUeXBlRXJyb3IodCl9LGV4cG9ydHMuaXNOdW1iZXI9ZnVuY3Rpb24ocix0KXtpZigiW29iamVjdCBOdW1iZXJdIiE9PXRvU3RyaW5nLmNhbGwocikpdGhyb3cgVHlwZUVycm9yKHQpfSxleHBvcnRzLmlzT2JqZWN0PWZ1bmN0aW9uKHIsdCl7aWYoIltvYmplY3QgT2JqZWN0XSIhPT10b1N0cmluZy5jYWxsKHIpKXRocm93IFR5cGVFcnJvcih0KX0sZXhwb3J0cy5pc0J1ZmZlckxlbmd0aD1mdW5jdGlvbihyLHQsbyl7aWYoci5sZW5ndGghPT10KXRocm93IFJhbmdlRXJyb3Iobyl9LGV4cG9ydHMuaXNCdWZmZXJMZW5ndGgyPWZ1bmN0aW9uKHIsdCxvLGUpe2lmKHIubGVuZ3RoIT09dCYmci5sZW5ndGghPT1vKXRocm93IFJhbmdlRXJyb3IoZSl9LGV4cG9ydHMuaXNMZW5ndGhHVFplcm89ZnVuY3Rpb24ocix0KXtpZigwPT09ci5sZW5ndGgpdGhyb3cgUmFuZ2VFcnJvcih0KX0sZXhwb3J0cy5pc051bWJlckluSW50ZXJ2YWw9ZnVuY3Rpb24ocix0LG8sZSl7aWYocjw9dHx8cj49byl0aHJvdyBSYW5nZUVycm9yKGUpfTsNCg0KICB9KS5jYWxsKHRoaXMseyJpc0J1ZmZlciI6cmVxdWlyZSgiLi4vLi4vaXMtYnVmZmVyL2luZGV4LmpzIil9KQ0KICB9LHsiLi4vLi4vaXMtYnVmZmVyL2luZGV4LmpzIjo1Mn1dLDg1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO3ZhciBCdWZmZXI9cmVxdWlyZSgic2FmZS1idWZmZXIiKS5CdWZmZXIsYmlwNjY9cmVxdWlyZSgiYmlwNjYiKSxFQ19QUklWS0VZX0VYUE9SVF9ERVJfQ09NUFJFU1NFRD1CdWZmZXIuZnJvbShbNDgsMTI5LDIxMSwyLDEsMSw0LDMyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNjAsMTI5LDEzMyw0OCwxMjksMTMwLDIsMSwxLDQ4LDQ0LDYsNyw0MiwxMzQsNzIsMjA2LDYxLDEsMSwyLDMzLDAsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU0LDI1NSwyNTUsMjUyLDQ3LDQ4LDYsNCwxLDAsNCwxLDcsNCwzMywyLDEyMSwxOTAsMTAyLDEyNiwyNDksMjIwLDE4NywxNzIsODUsMTYwLDk4LDE0OSwyMDYsMTM1LDExLDcsMiwxNTUsMjUyLDIxOSw0NSwyMDYsNDAsMjE3LDg5LDI0MiwxMjksOTEsMjIsMjQ4LDIzLDE1MiwyLDMzLDAsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU0LDE4NiwxNzQsMjIwLDIzMCwxNzUsNzIsMTYwLDU5LDE5MSwyMTAsOTQsMTQwLDIwOCw1NCw2NSw2NSwyLDEsMSwxNjEsMzYsMywzNCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSksRUNfUFJJVktFWV9FWFBPUlRfREVSX1VOQ09NUFJFU1NFRD1CdWZmZXIuZnJvbShbNDgsMTMwLDEsMTksMiwxLDEsNCwzMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTYwLDEyOSwxNjUsNDgsMTI5LDE2MiwyLDEsMSw0OCw0NCw2LDcsNDIsMTM0LDcyLDIwNiw2MSwxLDEsMiwzMywwLDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NCwyNTUsMjU1LDI1Miw0Nyw0OCw2LDQsMSwwLDQsMSw3LDQsNjUsNCwxMjEsMTkwLDEwMiwxMjYsMjQ5LDIyMCwxODcsMTcyLDg1LDE2MCw5OCwxNDksMjA2LDEzNSwxMSw3LDIsMTU1LDI1MiwyMTksNDUsMjA2LDQwLDIxNyw4OSwyNDIsMTI5LDkxLDIyLDI0OCwyMywxNTIsNzIsNTgsMjE4LDExOSwzOCwxNjMsMTk2LDEwMSw5MywxNjQsMjUxLDI1MiwxNCwxNyw4LDE2OCwyNTMsMjMsMTgwLDcyLDE2NiwxMzMsODQsMjUsMTU2LDcxLDIwOCwxNDMsMjUxLDE2LDIxMiwxODQsMiwzMywwLDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NCwxODYsMTc0LDIyMCwyMzAsMTc1LDcyLDE2MCw1OSwxOTEsMjEwLDk0LDE0MCwyMDgsNTQsNjUsNjUsMiwxLDEsMTYxLDY4LDMsNjYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKSxaRVJPX0JVRkZFUl8zMj1CdWZmZXIuZnJvbShbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSk7ZXhwb3J0cy5wcml2YXRlS2V5RXhwb3J0PWZ1bmN0aW9uKHIsZixlKXt2YXIgbz1CdWZmZXIuZnJvbShlP0VDX1BSSVZLRVlfRVhQT1JUX0RFUl9DT01QUkVTU0VEOkVDX1BSSVZLRVlfRVhQT1JUX0RFUl9VTkNPTVBSRVNTRUQpO3JldHVybiByLmNvcHkobyxlPzg6OSksZi5jb3B5KG8sZT8xODE6MjE0KSxvfSxleHBvcnRzLnByaXZhdGVLZXlJbXBvcnQ9ZnVuY3Rpb24ocil7dmFyIGY9ci5sZW5ndGgsZT0wO2lmKCEoZjxlKzF8fDQ4IT09cltlXSkmJihlKz0xLCEoZjxlKzEpJiYxMjgmcltlXSkpe3ZhciBvPTEyNyZyW2VdO2lmKGUrPTEsIShvPDF8fG8+Mnx8ZjxlK28pKXt2YXIgdD1yW2Urby0xXXwobz4xP3JbZStvLTJdPDw4OjApO2lmKGUrPW8sIShmPGUrdHx8ZjxlKzN8fDIhPT1yW2VdfHwxIT09cltlKzFdfHwxIT09cltlKzJdfHwoZSs9MyxmPGUrMnx8NCE9PXJbZV18fHJbZSsxXT4zMnx8ZjxlKzIrcltlKzFdKSkpcmV0dXJuIHIuc2xpY2UoZSsyLGUrMityW2UrMV0pfX19LGV4cG9ydHMuc2lnbmF0dXJlRXhwb3J0PWZ1bmN0aW9uKHIpe2Zvcih2YXIgZj1CdWZmZXIuY29uY2F0KFtCdWZmZXIuZnJvbShbMF0pLHIucl0pLGU9MzMsbz0wO2U+MSYmMD09PWZbb10mJiEoMTI4JmZbbysxXSk7LS1lLCsrbyk7Zm9yKHZhciB0PUJ1ZmZlci5jb25jYXQoW0J1ZmZlci5mcm9tKFswXSksci5zXSksaT0zMyxuPTA7aT4xJiYwPT09dFtuXSYmISgxMjgmdFtuKzFdKTstLWksKytuKTtyZXR1cm4gYmlwNjYuZW5jb2RlKGYuc2xpY2UobyksdC5zbGljZShuKSl9LGV4cG9ydHMuc2lnbmF0dXJlSW1wb3J0PWZ1bmN0aW9uKHIpe3ZhciBmPUJ1ZmZlci5mcm9tKFpFUk9fQlVGRkVSXzMyKSxlPUJ1ZmZlci5mcm9tKFpFUk9fQlVGRkVSXzMyKTt0cnl7dmFyIG89YmlwNjYuZGVjb2RlKHIpO2lmKDMzPT09by5yLmxlbmd0aCYmMD09PW8uclswXSYmKG8ucj1vLnIuc2xpY2UoMSkpLG8uci5sZW5ndGg+MzIpdGhyb3cgbmV3IEVycm9yKCJSIGxlbmd0aCBpcyB0b28gbG9uZyIpO2lmKDMzPT09by5zLmxlbmd0aCYmMD09PW8uc1swXSYmKG8ucz1vLnMuc2xpY2UoMSkpLG8ucy5sZW5ndGg+MzIpdGhyb3cgbmV3IEVycm9yKCJTIGxlbmd0aCBpcyB0b28gbG9uZyIpfWNhdGNoKHIpe3JldHVybn1yZXR1cm4gby5yLmNvcHkoZiwzMi1vLnIubGVuZ3RoKSxvLnMuY29weShlLDMyLW8ucy5sZW5ndGgpLHtyOmYsczplfX0sZXhwb3J0cy5zaWduYXR1cmVJbXBvcnRMYXg9ZnVuY3Rpb24ocil7dmFyIGY9QnVmZmVyLmZyb20oWkVST19CVUZGRVJfMzIpLGU9QnVmZmVyLmZyb20oWkVST19CVUZGRVJfMzIpLG89ci5sZW5ndGgsdD0wO2lmKDQ4PT09clt0KytdKXt2YXIgaT1yW3QrK107aWYoISgxMjgmaSYmKHQrPWktMTI4KT5vKSYmMj09PXJbdCsrXSl7dmFyIG49clt0KytdO2lmKDEyOCZuKXtpZihpPW4tMTI4LHQraT5vKXJldHVybjtmb3IoO2k+MCYmMD09PXJbdF07dCs9MSxpLT0xKTtmb3Iobj0wO2k+MDt0Kz0xLGktPTEpbj0objw8OCkrclt0XX1pZighKG4+by10KSl7dmFyIEU9dDtpZih0Kz1uLDI9PT1yW3QrK10pe3ZhciB1PXJbdCsrXTtpZigxMjgmdSl7aWYoaT11LTEyOCx0K2k+bylyZXR1cm47Zm9yKDtpPjAmJjA9PT1yW3RdO3QrPTEsaS09MSk7Zm9yKHU9MDtpPjA7dCs9MSxpLT0xKXU9KHU8PDgpK3JbdF19aWYoISh1Pm8tdCkpe3ZhciBzPXQ7Zm9yKHQrPXU7bj4wJiYwPT09cltFXTtuLT0xLEUrPTEpO2lmKCEobj4zMikpe3ZhciBhPXIuc2xpY2UoRSxFK24pO2ZvcihhLmNvcHkoZiwzMi1hLmxlbmd0aCk7dT4wJiYwPT09cltzXTt1LT0xLHMrPTEpO2lmKCEodT4zMikpe3ZhciBjPXIuc2xpY2UocyxzK3UpO3JldHVybiBjLmNvcHkoZSwzMi1jLmxlbmd0aCkse3I6ZixzOmV9fX19fX19fX07DQoNCiAgfSx7ImJpcDY2IjozLCJzYWZlLWJ1ZmZlciI6ODJ9XSw4NjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBsb2FkQ29tcHJlc3NlZFB1YmxpY0tleShlLHIpe3ZhciBuPW5ldyBCTihyKTtpZihuLmNtcChlY3BhcmFtcy5wKT49MClyZXR1cm4gbnVsbDt2YXIgcz0obj1uLnRvUmVkKGVjcGFyYW1zLnJlZCkpLnJlZFNxcigpLnJlZElNdWwobikucmVkSUFkZChlY3BhcmFtcy5iKS5yZWRTcXJ0KCk7cmV0dXJuIDM9PT1lIT09cy5pc09kZCgpJiYocz1zLnJlZE5lZygpKSxlYy5rZXlQYWlyKHtwdWI6e3g6bix5OnN9fSl9ZnVuY3Rpb24gbG9hZFVuY29tcHJlc3NlZFB1YmxpY0tleShlLHIsbil7dmFyIHM9bmV3IEJOKHIpLGE9bmV3IEJOKG4pO2lmKHMuY21wKGVjcGFyYW1zLnApPj0wfHxhLmNtcChlY3BhcmFtcy5wKT49MClyZXR1cm4gbnVsbDtpZihzPXMudG9SZWQoZWNwYXJhbXMucmVkKSxhPWEudG9SZWQoZWNwYXJhbXMucmVkKSwoNj09PWV8fDc9PT1lKSYmYS5pc09kZCgpIT09KDc9PT1lKSlyZXR1cm4gbnVsbDt2YXIgYz1zLnJlZFNxcigpLnJlZElNdWwocyk7cmV0dXJuIGEucmVkU3FyKCkucmVkSVN1YihjLnJlZElBZGQoZWNwYXJhbXMuYikpLmlzWmVybygpP2VjLmtleVBhaXIoe3B1Yjp7eDpzLHk6YX19KTpudWxsfWZ1bmN0aW9uIGxvYWRQdWJsaWNLZXkoZSl7dmFyIHI9ZVswXTtzd2l0Y2gocil7Y2FzZSAyOmNhc2UgMzpyZXR1cm4gMzMhPT1lLmxlbmd0aD9udWxsOmxvYWRDb21wcmVzc2VkUHVibGljS2V5KHIsZS5zbGljZSgxLDMzKSk7Y2FzZSA0OmNhc2UgNjpjYXNlIDc6cmV0dXJuIDY1IT09ZS5sZW5ndGg/bnVsbDpsb2FkVW5jb21wcmVzc2VkUHVibGljS2V5KHIsZS5zbGljZSgxLDMzKSxlLnNsaWNlKDMzLDY1KSk7ZGVmYXVsdDpyZXR1cm4gbnVsbH19dmFyIEJ1ZmZlcj1yZXF1aXJlKCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixjcmVhdGVIYXNoPXJlcXVpcmUoImNyZWF0ZS1oYXNoIiksQk49cmVxdWlyZSgiYm4uanMiKSxFQz1yZXF1aXJlKCJlbGxpcHRpYyIpLmVjLG1lc3NhZ2VzPXJlcXVpcmUoIi4uL21lc3NhZ2VzLmpzb24iKSxlYz1uZXcgRUMoInNlY3AyNTZrMSIpLGVjcGFyYW1zPWVjLmN1cnZlO2V4cG9ydHMucHJpdmF0ZUtleVZlcmlmeT1mdW5jdGlvbihlKXt2YXIgcj1uZXcgQk4oZSk7cmV0dXJuIHIuY21wKGVjcGFyYW1zLm4pPDAmJiFyLmlzWmVybygpfSxleHBvcnRzLnByaXZhdGVLZXlFeHBvcnQ9ZnVuY3Rpb24oZSxyKXt2YXIgbj1uZXcgQk4oZSk7aWYobi5jbXAoZWNwYXJhbXMubik+PTB8fG4uaXNaZXJvKCkpdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2VzLkVDX1BSSVZBVEVfS0VZX0VYUE9SVF9ERVJfRkFJTCk7cmV0dXJuIEJ1ZmZlci5mcm9tKGVjLmtleUZyb21Qcml2YXRlKGUpLmdldFB1YmxpYyhyLCEwKSl9LGV4cG9ydHMucHJpdmF0ZUtleVR3ZWFrQWRkPWZ1bmN0aW9uKGUscil7dmFyIG49bmV3IEJOKHIpO2lmKG4uY21wKGVjcGFyYW1zLm4pPj0wKXRocm93IG5ldyBFcnJvcihtZXNzYWdlcy5FQ19QUklWQVRFX0tFWV9UV0VBS19BRERfRkFJTCk7aWYobi5pYWRkKG5ldyBCTihlKSksbi5jbXAoZWNwYXJhbXMubik+PTAmJm4uaXN1YihlY3BhcmFtcy5uKSxuLmlzWmVybygpKXRocm93IG5ldyBFcnJvcihtZXNzYWdlcy5FQ19QUklWQVRFX0tFWV9UV0VBS19BRERfRkFJTCk7cmV0dXJuIG4udG9BcnJheUxpa2UoQnVmZmVyLCJiZSIsMzIpfSxleHBvcnRzLnByaXZhdGVLZXlUd2Vha011bD1mdW5jdGlvbihlLHIpe3ZhciBuPW5ldyBCTihyKTtpZihuLmNtcChlY3BhcmFtcy5uKT49MHx8bi5pc1plcm8oKSl0aHJvdyBuZXcgRXJyb3IobWVzc2FnZXMuRUNfUFJJVkFURV9LRVlfVFdFQUtfTVVMX0ZBSUwpO3JldHVybiBuLmltdWwobmV3IEJOKGUpKSxuLmNtcChlY3BhcmFtcy5uKSYmKG49bi51bW9kKGVjcGFyYW1zLm4pKSxuLnRvQXJyYXlMaWtlKEJ1ZmZlciwiYmUiLDMyKX0sZXhwb3J0cy5wdWJsaWNLZXlDcmVhdGU9ZnVuY3Rpb24oZSxyKXt2YXIgbj1uZXcgQk4oZSk7aWYobi5jbXAoZWNwYXJhbXMubik+PTB8fG4uaXNaZXJvKCkpdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2VzLkVDX1BVQkxJQ19LRVlfQ1JFQVRFX0ZBSUwpO3JldHVybiBCdWZmZXIuZnJvbShlYy5rZXlGcm9tUHJpdmF0ZShlKS5nZXRQdWJsaWMociwhMCkpfSxleHBvcnRzLnB1YmxpY0tleUNvbnZlcnQ9ZnVuY3Rpb24oZSxyKXt2YXIgbj1sb2FkUHVibGljS2V5KGUpO2lmKG51bGw9PT1uKXRocm93IG5ldyBFcnJvcihtZXNzYWdlcy5FQ19QVUJMSUNfS0VZX1BBUlNFX0ZBSUwpO3JldHVybiBCdWZmZXIuZnJvbShuLmdldFB1YmxpYyhyLCEwKSl9LGV4cG9ydHMucHVibGljS2V5VmVyaWZ5PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT09bG9hZFB1YmxpY0tleShlKX0sZXhwb3J0cy5wdWJsaWNLZXlUd2Vha0FkZD1mdW5jdGlvbihlLHIsbil7dmFyIHM9bG9hZFB1YmxpY0tleShlKTtpZihudWxsPT09cyl0aHJvdyBuZXcgRXJyb3IobWVzc2FnZXMuRUNfUFVCTElDX0tFWV9QQVJTRV9GQUlMKTtpZigocj1uZXcgQk4ocikpLmNtcChlY3BhcmFtcy5uKT49MCl0aHJvdyBuZXcgRXJyb3IobWVzc2FnZXMuRUNfUFVCTElDX0tFWV9UV0VBS19BRERfRkFJTCk7cmV0dXJuIEJ1ZmZlci5mcm9tKGVjcGFyYW1zLmcubXVsKHIpLmFkZChzLnB1YikuZW5jb2RlKCEwLG4pKX0sZXhwb3J0cy5wdWJsaWNLZXlUd2Vha011bD1mdW5jdGlvbihlLHIsbil7dmFyIHM9bG9hZFB1YmxpY0tleShlKTtpZihudWxsPT09cyl0aHJvdyBuZXcgRXJyb3IobWVzc2FnZXMuRUNfUFVCTElDX0tFWV9QQVJTRV9GQUlMKTtpZigocj1uZXcgQk4ocikpLmNtcChlY3BhcmFtcy5uKT49MHx8ci5pc1plcm8oKSl0aHJvdyBuZXcgRXJyb3IobWVzc2FnZXMuRUNfUFVCTElDX0tFWV9UV0VBS19NVUxfRkFJTCk7cmV0dXJuIEJ1ZmZlci5mcm9tKHMucHViLm11bChyKS5lbmNvZGUoITAsbikpfSxleHBvcnRzLnB1YmxpY0tleUNvbWJpbmU9ZnVuY3Rpb24oZSxyKXtmb3IodmFyIG49bmV3IEFycmF5KGUubGVuZ3RoKSxzPTA7czxlLmxlbmd0aDsrK3MpaWYobltzXT1sb2FkUHVibGljS2V5KGVbc10pLG51bGw9PT1uW3NdKXRocm93IG5ldyBFcnJvcihtZXNzYWdlcy5FQ19QVUJMSUNfS0VZX1BBUlNFX0ZBSUwpO2Zvcih2YXIgYT1uWzBdLnB1YixjPTE7YzxuLmxlbmd0aDsrK2MpYT1hLmFkZChuW2NdLnB1Yik7aWYoYS5pc0luZmluaXR5KCkpdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2VzLkVDX1BVQkxJQ19LRVlfQ09NQklORV9GQUlMKTtyZXR1cm4gQnVmZmVyLmZyb20oYS5lbmNvZGUoITAscikpfSxleHBvcnRzLnNpZ25hdHVyZU5vcm1hbGl6ZT1mdW5jdGlvbihlKXt2YXIgcj1uZXcgQk4oZS5zbGljZSgwLDMyKSksbj1uZXcgQk4oZS5zbGljZSgzMiw2NCkpO2lmKHIuY21wKGVjcGFyYW1zLm4pPj0wfHxuLmNtcChlY3BhcmFtcy5uKT49MCl0aHJvdyBuZXcgRXJyb3IobWVzc2FnZXMuRUNEU0FfU0lHTkFUVVJFX1BBUlNFX0ZBSUwpO3ZhciBzPUJ1ZmZlci5mcm9tKGUpO3JldHVybiAxPT09bi5jbXAoZWMubmgpJiZlY3BhcmFtcy5uLnN1YihuKS50b0FycmF5TGlrZShCdWZmZXIsImJlIiwzMikuY29weShzLDMyKSxzfSxleHBvcnRzLnNpZ25hdHVyZUV4cG9ydD1mdW5jdGlvbihlKXt2YXIgcj1lLnNsaWNlKDAsMzIpLG49ZS5zbGljZSgzMiw2NCk7aWYobmV3IEJOKHIpLmNtcChlY3BhcmFtcy5uKT49MHx8bmV3IEJOKG4pLmNtcChlY3BhcmFtcy5uKT49MCl0aHJvdyBuZXcgRXJyb3IobWVzc2FnZXMuRUNEU0FfU0lHTkFUVVJFX1BBUlNFX0ZBSUwpO3JldHVybntyOnIsczpufX0sZXhwb3J0cy5zaWduYXR1cmVJbXBvcnQ9ZnVuY3Rpb24oZSl7dmFyIHI9bmV3IEJOKGUucik7ci5jbXAoZWNwYXJhbXMubik+PTAmJihyPW5ldyBCTigwKSk7dmFyIG49bmV3IEJOKGUucyk7cmV0dXJuIG4uY21wKGVjcGFyYW1zLm4pPj0wJiYobj1uZXcgQk4oMCkpLEJ1ZmZlci5jb25jYXQoW3IudG9BcnJheUxpa2UoQnVmZmVyLCJiZSIsMzIpLG4udG9BcnJheUxpa2UoQnVmZmVyLCJiZSIsMzIpXSl9LGV4cG9ydHMuc2lnbj1mdW5jdGlvbihlLHIsbixzKXtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbil7dmFyIGE9bjtuPWZ1bmN0aW9uKG4pe3ZhciBjPWEoZSxyLG51bGwscyxuKTtpZighQnVmZmVyLmlzQnVmZmVyKGMpfHwzMiE9PWMubGVuZ3RoKXRocm93IG5ldyBFcnJvcihtZXNzYWdlcy5FQ0RTQV9TSUdOX0ZBSUwpO3JldHVybiBuZXcgQk4oYyl9fXZhciBjPW5ldyBCTihyKTtpZihjLmNtcChlY3BhcmFtcy5uKT49MHx8Yy5pc1plcm8oKSl0aHJvdyBuZXcgRXJyb3IobWVzc2FnZXMuRUNEU0FfU0lHTl9GQUlMKTt2YXIgbz1lYy5zaWduKGUscix7Y2Fub25pY2FsOiEwLGs6bixwZXJzOnN9KTtyZXR1cm57c2lnbmF0dXJlOkJ1ZmZlci5jb25jYXQoW28uci50b0FycmF5TGlrZShCdWZmZXIsImJlIiwzMiksby5zLnRvQXJyYXlMaWtlKEJ1ZmZlciwiYmUiLDMyKV0pLHJlY292ZXJ5Om8ucmVjb3ZlcnlQYXJhbX19LGV4cG9ydHMudmVyaWZ5PWZ1bmN0aW9uKGUscixuKXt2YXIgcz17cjpyLnNsaWNlKDAsMzIpLHM6ci5zbGljZSgzMiw2NCl9LGE9bmV3IEJOKHMuciksYz1uZXcgQk4ocy5zKTtpZihhLmNtcChlY3BhcmFtcy5uKT49MHx8Yy5jbXAoZWNwYXJhbXMubik+PTApdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2VzLkVDRFNBX1NJR05BVFVSRV9QQVJTRV9GQUlMKTtpZigxPT09Yy5jbXAoZWMubmgpfHxhLmlzWmVybygpfHxjLmlzWmVybygpKXJldHVybiExO3ZhciBvPWxvYWRQdWJsaWNLZXkobik7aWYobnVsbD09PW8pdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2VzLkVDX1BVQkxJQ19LRVlfUEFSU0VfRkFJTCk7cmV0dXJuIGVjLnZlcmlmeShlLHMse3g6by5wdWIueCx5Om8ucHViLnl9KX0sZXhwb3J0cy5yZWNvdmVyPWZ1bmN0aW9uKGUscixuLHMpe3ZhciBhPXtyOnIuc2xpY2UoMCwzMiksczpyLnNsaWNlKDMyLDY0KX0sYz1uZXcgQk4oYS5yKSxvPW5ldyBCTihhLnMpO2lmKGMuY21wKGVjcGFyYW1zLm4pPj0wfHxvLmNtcChlY3BhcmFtcy5uKT49MCl0aHJvdyBuZXcgRXJyb3IobWVzc2FnZXMuRUNEU0FfU0lHTkFUVVJFX1BBUlNFX0ZBSUwpO3RyeXtpZihjLmlzWmVybygpfHxvLmlzWmVybygpKXRocm93IG5ldyBFcnJvcjt2YXIgdT1lYy5yZWNvdmVyUHViS2V5KGUsYSxuKTtyZXR1cm4gQnVmZmVyLmZyb20odS5lbmNvZGUoITAscykpfWNhdGNoKGUpe3Rocm93IG5ldyBFcnJvcihtZXNzYWdlcy5FQ0RTQV9SRUNPVkVSX0ZBSUwpfX0sZXhwb3J0cy5lY2RoPWZ1bmN0aW9uKGUscil7dmFyIG49ZXhwb3J0cy5lY2RoVW5zYWZlKGUsciwhMCk7cmV0dXJuIGNyZWF0ZUhhc2goInNoYTI1NiIpLnVwZGF0ZShuKS5kaWdlc3QoKX0sZXhwb3J0cy5lY2RoVW5zYWZlPWZ1bmN0aW9uKGUscixuKXt2YXIgcz1sb2FkUHVibGljS2V5KGUpO2lmKG51bGw9PT1zKXRocm93IG5ldyBFcnJvcihtZXNzYWdlcy5FQ19QVUJMSUNfS0VZX1BBUlNFX0ZBSUwpO3ZhciBhPW5ldyBCTihyKTtpZihhLmNtcChlY3BhcmFtcy5uKT49MHx8YS5pc1plcm8oKSl0aHJvdyBuZXcgRXJyb3IobWVzc2FnZXMuRUNESF9GQUlMKTtyZXR1cm4gQnVmZmVyLmZyb20ocy5wdWIubXVsKGEpLmVuY29kZSghMCxuKSl9Ow0KDQogIH0seyIuLi9tZXNzYWdlcy5qc29uIjo4OCwiYm4uanMiOjQsImNyZWF0ZS1oYXNoIjoxMSwiZWxsaXB0aWMiOjE0LCJzYWZlLWJ1ZmZlciI6ODJ9XSw4NzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogICJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpbml0Q29tcHJlc3NlZFZhbHVlKGUscyl7cmV0dXJuIHZvaWQgMD09PWU/czooYXNzZXJ0LmlzQm9vbGVhbihlLG1lc3NhZ2VzLkNPTVBSRVNTRURfVFlQRV9JTlZBTElEKSxlKX12YXIgYXNzZXJ0PXJlcXVpcmUoIi4vYXNzZXJ0IiksZGVyPXJlcXVpcmUoIi4vZGVyIiksbWVzc2FnZXM9cmVxdWlyZSgiLi9tZXNzYWdlcy5qc29uIik7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJue3ByaXZhdGVLZXlWZXJpZnk6ZnVuY3Rpb24ocyl7cmV0dXJuIGFzc2VydC5pc0J1ZmZlcihzLG1lc3NhZ2VzLkVDX1BSSVZBVEVfS0VZX1RZUEVfSU5WQUxJRCksMzI9PT1zLmxlbmd0aCYmZS5wcml2YXRlS2V5VmVyaWZ5KHMpfSxwcml2YXRlS2V5RXhwb3J0OmZ1bmN0aW9uKHMscil7YXNzZXJ0LmlzQnVmZmVyKHMsbWVzc2FnZXMuRUNfUFJJVkFURV9LRVlfVFlQRV9JTlZBTElEKSxhc3NlcnQuaXNCdWZmZXJMZW5ndGgocywzMixtZXNzYWdlcy5FQ19QUklWQVRFX0tFWV9MRU5HVEhfSU5WQUxJRCkscj1pbml0Q29tcHJlc3NlZFZhbHVlKHIsITApO3ZhciBfPWUucHJpdmF0ZUtleUV4cG9ydChzLHIpO3JldHVybiBkZXIucHJpdmF0ZUtleUV4cG9ydChzLF8scil9LHByaXZhdGVLZXlJbXBvcnQ6ZnVuY3Rpb24ocyl7aWYoYXNzZXJ0LmlzQnVmZmVyKHMsbWVzc2FnZXMuRUNfUFJJVkFURV9LRVlfVFlQRV9JTlZBTElEKSwocz1kZXIucHJpdmF0ZUtleUltcG9ydChzKSkmJjMyPT09cy5sZW5ndGgmJmUucHJpdmF0ZUtleVZlcmlmeShzKSlyZXR1cm4gczt0aHJvdyBuZXcgRXJyb3IobWVzc2FnZXMuRUNfUFJJVkFURV9LRVlfSU1QT1JUX0RFUl9GQUlMKX0scHJpdmF0ZUtleVR3ZWFrQWRkOmZ1bmN0aW9uKHMscil7cmV0dXJuIGFzc2VydC5pc0J1ZmZlcihzLG1lc3NhZ2VzLkVDX1BSSVZBVEVfS0VZX1RZUEVfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyTGVuZ3RoKHMsMzIsbWVzc2FnZXMuRUNfUFJJVkFURV9LRVlfTEVOR1RIX0lOVkFMSUQpLGFzc2VydC5pc0J1ZmZlcihyLG1lc3NhZ2VzLlRXRUFLX1RZUEVfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyTGVuZ3RoKHIsMzIsbWVzc2FnZXMuVFdFQUtfTEVOR1RIX0lOVkFMSUQpLGUucHJpdmF0ZUtleVR3ZWFrQWRkKHMscil9LHByaXZhdGVLZXlUd2Vha011bDpmdW5jdGlvbihzLHIpe3JldHVybiBhc3NlcnQuaXNCdWZmZXIocyxtZXNzYWdlcy5FQ19QUklWQVRFX0tFWV9UWVBFX0lOVkFMSUQpLGFzc2VydC5pc0J1ZmZlckxlbmd0aChzLDMyLG1lc3NhZ2VzLkVDX1BSSVZBVEVfS0VZX0xFTkdUSF9JTlZBTElEKSxhc3NlcnQuaXNCdWZmZXIocixtZXNzYWdlcy5UV0VBS19UWVBFX0lOVkFMSUQpLGFzc2VydC5pc0J1ZmZlckxlbmd0aChyLDMyLG1lc3NhZ2VzLlRXRUFLX0xFTkdUSF9JTlZBTElEKSxlLnByaXZhdGVLZXlUd2Vha011bChzLHIpfSxwdWJsaWNLZXlDcmVhdGU6ZnVuY3Rpb24ocyxyKXtyZXR1cm4gYXNzZXJ0LmlzQnVmZmVyKHMsbWVzc2FnZXMuRUNfUFJJVkFURV9LRVlfVFlQRV9JTlZBTElEKSxhc3NlcnQuaXNCdWZmZXJMZW5ndGgocywzMixtZXNzYWdlcy5FQ19QUklWQVRFX0tFWV9MRU5HVEhfSU5WQUxJRCkscj1pbml0Q29tcHJlc3NlZFZhbHVlKHIsITApLGUucHVibGljS2V5Q3JlYXRlKHMscil9LHB1YmxpY0tleUNvbnZlcnQ6ZnVuY3Rpb24ocyxyKXtyZXR1cm4gYXNzZXJ0LmlzQnVmZmVyKHMsbWVzc2FnZXMuRUNfUFVCTElDX0tFWV9UWVBFX0lOVkFMSUQpLGFzc2VydC5pc0J1ZmZlckxlbmd0aDIocywzMyw2NSxtZXNzYWdlcy5FQ19QVUJMSUNfS0VZX0xFTkdUSF9JTlZBTElEKSxyPWluaXRDb21wcmVzc2VkVmFsdWUociwhMCksZS5wdWJsaWNLZXlDb252ZXJ0KHMscil9LHB1YmxpY0tleVZlcmlmeTpmdW5jdGlvbihzKXtyZXR1cm4gYXNzZXJ0LmlzQnVmZmVyKHMsbWVzc2FnZXMuRUNfUFVCTElDX0tFWV9UWVBFX0lOVkFMSUQpLGUucHVibGljS2V5VmVyaWZ5KHMpfSxwdWJsaWNLZXlUd2Vha0FkZDpmdW5jdGlvbihzLHIsXyl7cmV0dXJuIGFzc2VydC5pc0J1ZmZlcihzLG1lc3NhZ2VzLkVDX1BVQkxJQ19LRVlfVFlQRV9JTlZBTElEKSxhc3NlcnQuaXNCdWZmZXJMZW5ndGgyKHMsMzMsNjUsbWVzc2FnZXMuRUNfUFVCTElDX0tFWV9MRU5HVEhfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyKHIsbWVzc2FnZXMuVFdFQUtfVFlQRV9JTlZBTElEKSxhc3NlcnQuaXNCdWZmZXJMZW5ndGgociwzMixtZXNzYWdlcy5UV0VBS19MRU5HVEhfSU5WQUxJRCksXz1pbml0Q29tcHJlc3NlZFZhbHVlKF8sITApLGUucHVibGljS2V5VHdlYWtBZGQocyxyLF8pfSxwdWJsaWNLZXlUd2Vha011bDpmdW5jdGlvbihzLHIsXyl7cmV0dXJuIGFzc2VydC5pc0J1ZmZlcihzLG1lc3NhZ2VzLkVDX1BVQkxJQ19LRVlfVFlQRV9JTlZBTElEKSxhc3NlcnQuaXNCdWZmZXJMZW5ndGgyKHMsMzMsNjUsbWVzc2FnZXMuRUNfUFVCTElDX0tFWV9MRU5HVEhfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyKHIsbWVzc2FnZXMuVFdFQUtfVFlQRV9JTlZBTElEKSxhc3NlcnQuaXNCdWZmZXJMZW5ndGgociwzMixtZXNzYWdlcy5UV0VBS19MRU5HVEhfSU5WQUxJRCksXz1pbml0Q29tcHJlc3NlZFZhbHVlKF8sITApLGUucHVibGljS2V5VHdlYWtNdWwocyxyLF8pfSxwdWJsaWNLZXlDb21iaW5lOmZ1bmN0aW9uKHMscil7YXNzZXJ0LmlzQXJyYXkocyxtZXNzYWdlcy5FQ19QVUJMSUNfS0VZU19UWVBFX0lOVkFMSUQpLGFzc2VydC5pc0xlbmd0aEdUWmVybyhzLG1lc3NhZ2VzLkVDX1BVQkxJQ19LRVlTX0xFTkdUSF9JTlZBTElEKTtmb3IodmFyIF89MDtfPHMubGVuZ3RoOysrXylhc3NlcnQuaXNCdWZmZXIoc1tfXSxtZXNzYWdlcy5FQ19QVUJMSUNfS0VZX1RZUEVfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyTGVuZ3RoMihzW19dLDMzLDY1LG1lc3NhZ2VzLkVDX1BVQkxJQ19LRVlfTEVOR1RIX0lOVkFMSUQpO3JldHVybiByPWluaXRDb21wcmVzc2VkVmFsdWUociwhMCksZS5wdWJsaWNLZXlDb21iaW5lKHMscil9LHNpZ25hdHVyZU5vcm1hbGl6ZTpmdW5jdGlvbihzKXtyZXR1cm4gYXNzZXJ0LmlzQnVmZmVyKHMsbWVzc2FnZXMuRUNEU0FfU0lHTkFUVVJFX1RZUEVfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyTGVuZ3RoKHMsNjQsbWVzc2FnZXMuRUNEU0FfU0lHTkFUVVJFX0xFTkdUSF9JTlZBTElEKSxlLnNpZ25hdHVyZU5vcm1hbGl6ZShzKX0sc2lnbmF0dXJlRXhwb3J0OmZ1bmN0aW9uKHMpe2Fzc2VydC5pc0J1ZmZlcihzLG1lc3NhZ2VzLkVDRFNBX1NJR05BVFVSRV9UWVBFX0lOVkFMSUQpLGFzc2VydC5pc0J1ZmZlckxlbmd0aChzLDY0LG1lc3NhZ2VzLkVDRFNBX1NJR05BVFVSRV9MRU5HVEhfSU5WQUxJRCk7dmFyIHI9ZS5zaWduYXR1cmVFeHBvcnQocyk7cmV0dXJuIGRlci5zaWduYXR1cmVFeHBvcnQocil9LHNpZ25hdHVyZUltcG9ydDpmdW5jdGlvbihzKXthc3NlcnQuaXNCdWZmZXIocyxtZXNzYWdlcy5FQ0RTQV9TSUdOQVRVUkVfVFlQRV9JTlZBTElEKSxhc3NlcnQuaXNMZW5ndGhHVFplcm8ocyxtZXNzYWdlcy5FQ0RTQV9TSUdOQVRVUkVfTEVOR1RIX0lOVkFMSUQpO3ZhciByPWRlci5zaWduYXR1cmVJbXBvcnQocyk7aWYocilyZXR1cm4gZS5zaWduYXR1cmVJbXBvcnQocik7dGhyb3cgbmV3IEVycm9yKG1lc3NhZ2VzLkVDRFNBX1NJR05BVFVSRV9QQVJTRV9ERVJfRkFJTCl9LHNpZ25hdHVyZUltcG9ydExheDpmdW5jdGlvbihzKXthc3NlcnQuaXNCdWZmZXIocyxtZXNzYWdlcy5FQ0RTQV9TSUdOQVRVUkVfVFlQRV9JTlZBTElEKSxhc3NlcnQuaXNMZW5ndGhHVFplcm8ocyxtZXNzYWdlcy5FQ0RTQV9TSUdOQVRVUkVfTEVOR1RIX0lOVkFMSUQpO3ZhciByPWRlci5zaWduYXR1cmVJbXBvcnRMYXgocyk7aWYocilyZXR1cm4gZS5zaWduYXR1cmVJbXBvcnQocik7dGhyb3cgbmV3IEVycm9yKG1lc3NhZ2VzLkVDRFNBX1NJR05BVFVSRV9QQVJTRV9ERVJfRkFJTCl9LHNpZ246ZnVuY3Rpb24ocyxyLF8pe2Fzc2VydC5pc0J1ZmZlcihzLG1lc3NhZ2VzLk1TRzMyX1RZUEVfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyTGVuZ3RoKHMsMzIsbWVzc2FnZXMuTVNHMzJfTEVOR1RIX0lOVkFMSUQpLGFzc2VydC5pc0J1ZmZlcihyLG1lc3NhZ2VzLkVDX1BSSVZBVEVfS0VZX1RZUEVfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyTGVuZ3RoKHIsMzIsbWVzc2FnZXMuRUNfUFJJVkFURV9LRVlfTEVOR1RIX0lOVkFMSUQpO3ZhciBFPW51bGwsdD1udWxsO3JldHVybiB2b2lkIDAhPT1fJiYoYXNzZXJ0LmlzT2JqZWN0KF8sbWVzc2FnZXMuT1BUSU9OU19UWVBFX0lOVkFMSUQpLHZvaWQgMCE9PV8uZGF0YSYmKGFzc2VydC5pc0J1ZmZlcihfLmRhdGEsbWVzc2FnZXMuT1BUSU9OU19EQVRBX1RZUEVfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyTGVuZ3RoKF8uZGF0YSwzMixtZXNzYWdlcy5PUFRJT05TX0RBVEFfTEVOR1RIX0lOVkFMSUQpLEU9Xy5kYXRhKSx2b2lkIDAhPT1fLm5vbmNlZm4mJihhc3NlcnQuaXNGdW5jdGlvbihfLm5vbmNlZm4sbWVzc2FnZXMuT1BUSU9OU19OT05DRUZOX1RZUEVfSU5WQUxJRCksdD1fLm5vbmNlZm4pKSxlLnNpZ24ocyxyLHQsRSl9LHZlcmlmeTpmdW5jdGlvbihzLHIsXyl7cmV0dXJuIGFzc2VydC5pc0J1ZmZlcihzLG1lc3NhZ2VzLk1TRzMyX1RZUEVfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyTGVuZ3RoKHMsMzIsbWVzc2FnZXMuTVNHMzJfTEVOR1RIX0lOVkFMSUQpLGFzc2VydC5pc0J1ZmZlcihyLG1lc3NhZ2VzLkVDRFNBX1NJR05BVFVSRV9UWVBFX0lOVkFMSUQpLGFzc2VydC5pc0J1ZmZlckxlbmd0aChyLDY0LG1lc3NhZ2VzLkVDRFNBX1NJR05BVFVSRV9MRU5HVEhfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyKF8sbWVzc2FnZXMuRUNfUFVCTElDX0tFWV9UWVBFX0lOVkFMSUQpLGFzc2VydC5pc0J1ZmZlckxlbmd0aDIoXywzMyw2NSxtZXNzYWdlcy5FQ19QVUJMSUNfS0VZX0xFTkdUSF9JTlZBTElEKSxlLnZlcmlmeShzLHIsXyl9LHJlY292ZXI6ZnVuY3Rpb24ocyxyLF8sRSl7cmV0dXJuIGFzc2VydC5pc0J1ZmZlcihzLG1lc3NhZ2VzLk1TRzMyX1RZUEVfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyTGVuZ3RoKHMsMzIsbWVzc2FnZXMuTVNHMzJfTEVOR1RIX0lOVkFMSUQpLGFzc2VydC5pc0J1ZmZlcihyLG1lc3NhZ2VzLkVDRFNBX1NJR05BVFVSRV9UWVBFX0lOVkFMSUQpLGFzc2VydC5pc0J1ZmZlckxlbmd0aChyLDY0LG1lc3NhZ2VzLkVDRFNBX1NJR05BVFVSRV9MRU5HVEhfSU5WQUxJRCksYXNzZXJ0LmlzTnVtYmVyKF8sbWVzc2FnZXMuUkVDT1ZFUllfSURfVFlQRV9JTlZBTElEKSxhc3NlcnQuaXNOdW1iZXJJbkludGVydmFsKF8sLTEsNCxtZXNzYWdlcy5SRUNPVkVSWV9JRF9WQUxVRV9JTlZBTElEKSxFPWluaXRDb21wcmVzc2VkVmFsdWUoRSwhMCksZS5yZWNvdmVyKHMscixfLEUpfSxlY2RoOmZ1bmN0aW9uKHMscil7cmV0dXJuIGFzc2VydC5pc0J1ZmZlcihzLG1lc3NhZ2VzLkVDX1BVQkxJQ19LRVlfVFlQRV9JTlZBTElEKSxhc3NlcnQuaXNCdWZmZXJMZW5ndGgyKHMsMzMsNjUsbWVzc2FnZXMuRUNfUFVCTElDX0tFWV9MRU5HVEhfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyKHIsbWVzc2FnZXMuRUNfUFJJVkFURV9LRVlfVFlQRV9JTlZBTElEKSxhc3NlcnQuaXNCdWZmZXJMZW5ndGgociwzMixtZXNzYWdlcy5FQ19QUklWQVRFX0tFWV9MRU5HVEhfSU5WQUxJRCksZS5lY2RoKHMscil9LGVjZGhVbnNhZmU6ZnVuY3Rpb24ocyxyLF8pe3JldHVybiBhc3NlcnQuaXNCdWZmZXIocyxtZXNzYWdlcy5FQ19QVUJMSUNfS0VZX1RZUEVfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyTGVuZ3RoMihzLDMzLDY1LG1lc3NhZ2VzLkVDX1BVQkxJQ19LRVlfTEVOR1RIX0lOVkFMSUQpLGFzc2VydC5pc0J1ZmZlcihyLG1lc3NhZ2VzLkVDX1BSSVZBVEVfS0VZX1RZUEVfSU5WQUxJRCksYXNzZXJ0LmlzQnVmZmVyTGVuZ3RoKHIsMzIsbWVzc2FnZXMuRUNfUFJJVkFURV9LRVlfTEVOR1RIX0lOVkFMSUQpLF89aW5pdENvbXByZXNzZWRWYWx1ZShfLCEwKSxlLmVjZGhVbnNhZmUocyxyLF8pfX19Ow0KDQogIH0seyIuL2Fzc2VydCI6ODQsIi4vZGVyIjo4NSwiLi9tZXNzYWdlcy5qc29uIjo4OH1dLDg4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgbW9kdWxlLmV4cG9ydHM9ew0KICAgICJDT01QUkVTU0VEX1RZUEVfSU5WQUxJRCI6ICJjb21wcmVzc2VkIHNob3VsZCBiZSBhIGJvb2xlYW4iLA0KICAgICJFQ19QUklWQVRFX0tFWV9UWVBFX0lOVkFMSUQiOiAicHJpdmF0ZSBrZXkgc2hvdWxkIGJlIGEgQnVmZmVyIiwNCiAgICAiRUNfUFJJVkFURV9LRVlfTEVOR1RIX0lOVkFMSUQiOiAicHJpdmF0ZSBrZXkgbGVuZ3RoIGlzIGludmFsaWQiLA0KICAgICJFQ19QUklWQVRFX0tFWV9UV0VBS19BRERfRkFJTCI6ICJ0d2VhayBvdXQgb2YgcmFuZ2Ugb3IgcmVzdWx0aW5nIHByaXZhdGUga2V5IGlzIGludmFsaWQiLA0KICAgICJFQ19QUklWQVRFX0tFWV9UV0VBS19NVUxfRkFJTCI6ICJ0d2VhayBvdXQgb2YgcmFuZ2UiLA0KICAgICJFQ19QUklWQVRFX0tFWV9FWFBPUlRfREVSX0ZBSUwiOiAiY291bGRuJ3QgZXhwb3J0IHRvIERFUiBmb3JtYXQiLA0KICAgICJFQ19QUklWQVRFX0tFWV9JTVBPUlRfREVSX0ZBSUwiOiAiY291bGRuJ3QgaW1wb3J0IGZyb20gREVSIGZvcm1hdCIsDQogICAgIkVDX1BVQkxJQ19LRVlTX1RZUEVfSU5WQUxJRCI6ICJwdWJsaWMga2V5cyBzaG91bGQgYmUgYW4gQXJyYXkiLA0KICAgICJFQ19QVUJMSUNfS0VZU19MRU5HVEhfSU5WQUxJRCI6ICJwdWJsaWMga2V5cyBBcnJheSBzaG91bGQgaGF2ZSBhdCBsZWFzdCAxIGVsZW1lbnQiLA0KICAgICJFQ19QVUJMSUNfS0VZX1RZUEVfSU5WQUxJRCI6ICJwdWJsaWMga2V5IHNob3VsZCBiZSBhIEJ1ZmZlciIsDQogICAgIkVDX1BVQkxJQ19LRVlfTEVOR1RIX0lOVkFMSUQiOiAicHVibGljIGtleSBsZW5ndGggaXMgaW52YWxpZCIsDQogICAgIkVDX1BVQkxJQ19LRVlfUEFSU0VfRkFJTCI6ICJ0aGUgcHVibGljIGtleSBjb3VsZCBub3QgYmUgcGFyc2VkIG9yIGlzIGludmFsaWQiLA0KICAgICJFQ19QVUJMSUNfS0VZX0NSRUFURV9GQUlMIjogInByaXZhdGUgd2FzIGludmFsaWQsIHRyeSBhZ2FpbiIsDQogICAgIkVDX1BVQkxJQ19LRVlfVFdFQUtfQUREX0ZBSUwiOiAidHdlYWsgb3V0IG9mIHJhbmdlIG9yIHJlc3VsdGluZyBwdWJsaWMga2V5IGlzIGludmFsaWQiLA0KICAgICJFQ19QVUJMSUNfS0VZX1RXRUFLX01VTF9GQUlMIjogInR3ZWFrIG91dCBvZiByYW5nZSIsDQogICAgIkVDX1BVQkxJQ19LRVlfQ09NQklORV9GQUlMIjogInRoZSBzdW0gb2YgdGhlIHB1YmxpYyBrZXlzIGlzIG5vdCB2YWxpZCIsDQogICAgIkVDREhfRkFJTCI6ICJzY2FsYXIgd2FzIGludmFsaWQgKHplcm8gb3Igb3ZlcmZsb3cpIiwNCiAgICAiRUNEU0FfU0lHTkFUVVJFX1RZUEVfSU5WQUxJRCI6ICJzaWduYXR1cmUgc2hvdWxkIGJlIGEgQnVmZmVyIiwNCiAgICAiRUNEU0FfU0lHTkFUVVJFX0xFTkdUSF9JTlZBTElEIjogInNpZ25hdHVyZSBsZW5ndGggaXMgaW52YWxpZCIsDQogICAgIkVDRFNBX1NJR05BVFVSRV9QQVJTRV9GQUlMIjogImNvdWxkbid0IHBhcnNlIHNpZ25hdHVyZSIsDQogICAgIkVDRFNBX1NJR05BVFVSRV9QQVJTRV9ERVJfRkFJTCI6ICJjb3VsZG4ndCBwYXJzZSBERVIgc2lnbmF0dXJlIiwNCiAgICAiRUNEU0FfU0lHTkFUVVJFX1NFUklBTElaRV9ERVJfRkFJTCI6ICJjb3VsZG4ndCBzZXJpYWxpemUgc2lnbmF0dXJlIHRvIERFUiBmb3JtYXQiLA0KICAgICJFQ0RTQV9TSUdOX0ZBSUwiOiAibm9uY2UgZ2VuZXJhdGlvbiBmdW5jdGlvbiBmYWlsZWQgb3IgcHJpdmF0ZSBrZXkgaXMgaW52YWxpZCIsDQogICAgIkVDRFNBX1JFQ09WRVJfRkFJTCI6ICJjb3VsZG4ndCByZWNvdmVyIHB1YmxpYyBrZXkgZnJvbSBzaWduYXR1cmUiLA0KICAgICJNU0czMl9UWVBFX0lOVkFMSUQiOiAibWVzc2FnZSBzaG91bGQgYmUgYSBCdWZmZXIiLA0KICAgICJNU0czMl9MRU5HVEhfSU5WQUxJRCI6ICJtZXNzYWdlIGxlbmd0aCBpcyBpbnZhbGlkIiwNCiAgICAiT1BUSU9OU19UWVBFX0lOVkFMSUQiOiAib3B0aW9ucyBzaG91bGQgYmUgYW4gT2JqZWN0IiwNCiAgICAiT1BUSU9OU19EQVRBX1RZUEVfSU5WQUxJRCI6ICJvcHRpb25zLmRhdGEgc2hvdWxkIGJlIGEgQnVmZmVyIiwNCiAgICAiT1BUSU9OU19EQVRBX0xFTkdUSF9JTlZBTElEIjogIm9wdGlvbnMuZGF0YSBsZW5ndGggaXMgaW52YWxpZCIsDQogICAgIk9QVElPTlNfTk9OQ0VGTl9UWVBFX0lOVkFMSUQiOiAib3B0aW9ucy5ub25jZWZuIHNob3VsZCBiZSBhIEZ1bmN0aW9uIiwNCiAgICAiUkVDT1ZFUllfSURfVFlQRV9JTlZBTElEIjogInJlY292ZXJ5IHNob3VsZCBiZSBhIE51bWJlciIsDQogICAgIlJFQ09WRVJZX0lEX1ZBTFVFX0lOVkFMSUQiOiAicmVjb3Zlcnkgc2hvdWxkIGhhdmUgdmFsdWUgYmV0d2VlbiAtMSBhbmQgNCIsDQogICAgIlRXRUFLX1RZUEVfSU5WQUxJRCI6ICJ0d2VhayBzaG91bGQgYmUgYSBCdWZmZXIiLA0KICAgICJUV0VBS19MRU5HVEhfSU5WQUxJRCI6ICJ0d2VhayBsZW5ndGggaXMgaW52YWxpZCINCiAgfQ0KDQogIH0se31dLDg5OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgZnVuY3Rpb24gSGFzaCh0LGkpe3RoaXMuX2Jsb2NrPUJ1ZmZlci5hbGxvYyh0KSx0aGlzLl9maW5hbFNpemU9aSx0aGlzLl9ibG9ja1NpemU9dCx0aGlzLl9sZW49MH12YXIgQnVmZmVyPXJlcXVpcmUoInNhZmUtYnVmZmVyIikuQnVmZmVyO0hhc2gucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGkpeyJzdHJpbmciPT10eXBlb2YgdCYmKGk9aXx8InV0ZjgiLHQ9QnVmZmVyLmZyb20odCxpKSk7Zm9yKHZhciBlPXRoaXMuX2Jsb2NrLHM9dGhpcy5fYmxvY2tTaXplLGg9dC5sZW5ndGgsbz10aGlzLl9sZW4sbD0wO2w8aDspe2Zvcih2YXIgcj1vJXMsXz1NYXRoLm1pbihoLWwscy1yKSxuPTA7bjxfO24rKyllW3Irbl09dFtsK25dO2wrPV8sKG8rPV8pJXM9PTAmJnRoaXMuX3VwZGF0ZShlKX1yZXR1cm4gdGhpcy5fbGVuKz1oLHRoaXN9LEhhc2gucHJvdG90eXBlLmRpZ2VzdD1mdW5jdGlvbih0KXt2YXIgaT10aGlzLl9sZW4ldGhpcy5fYmxvY2tTaXplO3RoaXMuX2Jsb2NrW2ldPTEyOCx0aGlzLl9ibG9jay5maWxsKDAsaSsxKSxpPj10aGlzLl9maW5hbFNpemUmJih0aGlzLl91cGRhdGUodGhpcy5fYmxvY2spLHRoaXMuX2Jsb2NrLmZpbGwoMCkpO3ZhciBlPTgqdGhpcy5fbGVuO2lmKGU8PTQyOTQ5NjcyOTUpdGhpcy5fYmxvY2sud3JpdGVVSW50MzJCRShlLHRoaXMuX2Jsb2NrU2l6ZS00KTtlbHNle3ZhciBzPTQyOTQ5NjcyOTUmZSxoPShlLXMpLzQyOTQ5NjcyOTY7dGhpcy5fYmxvY2sud3JpdGVVSW50MzJCRShoLHRoaXMuX2Jsb2NrU2l6ZS04KSx0aGlzLl9ibG9jay53cml0ZVVJbnQzMkJFKHMsdGhpcy5fYmxvY2tTaXplLTQpfXRoaXMuX3VwZGF0ZSh0aGlzLl9ibG9jayk7dmFyIG89dGhpcy5faGFzaCgpO3JldHVybiB0P28udG9TdHJpbmcodCk6b30sSGFzaC5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiX3VwZGF0ZSBtdXN0IGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzIil9LG1vZHVsZS5leHBvcnRzPUhhc2g7DQoNCiAgfSx7InNhZmUtYnVmZmVyIjo4Mn1dLDkwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgdmFyIGV4cG9ydHM9bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7ZT1lLnRvTG93ZXJDYXNlKCk7dmFyIHI9ZXhwb3J0c1tlXTtpZighcil0aHJvdyBuZXcgRXJyb3IoZSsiIGlzIG5vdCBzdXBwb3J0ZWQgKHdlIGFjY2VwdCBwdWxsIHJlcXVlc3RzKSIpO3JldHVybiBuZXcgcn07ZXhwb3J0cy5zaGE9cmVxdWlyZSgiLi9zaGEiKSxleHBvcnRzLnNoYTE9cmVxdWlyZSgiLi9zaGExIiksZXhwb3J0cy5zaGEyMjQ9cmVxdWlyZSgiLi9zaGEyMjQiKSxleHBvcnRzLnNoYTI1Nj1yZXF1aXJlKCIuL3NoYTI1NiIpLGV4cG9ydHMuc2hhMzg0PXJlcXVpcmUoIi4vc2hhMzg0IiksZXhwb3J0cy5zaGE1MTI9cmVxdWlyZSgiLi9zaGE1MTIiKTsNCg0KICB9LHsiLi9zaGEiOjkxLCIuL3NoYTEiOjkyLCIuL3NoYTIyNCI6OTMsIi4vc2hhMjU2Ijo5NCwiLi9zaGEzODQiOjk1LCIuL3NoYTUxMiI6OTZ9XSw5MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIGZ1bmN0aW9uIFNoYSgpe3RoaXMuaW5pdCgpLHRoaXMuX3c9VyxIYXNoLmNhbGwodGhpcyw2NCw1Nil9ZnVuY3Rpb24gcm90bDUodCl7cmV0dXJuIHQ8PDV8dD4+PjI3fWZ1bmN0aW9uIHJvdGwzMCh0KXtyZXR1cm4gdDw8MzB8dD4+PjJ9ZnVuY3Rpb24gZnQodCxpLHIsaCl7cmV0dXJuIDA9PT10P2kmcnx+aSZoOjI9PT10P2kmcnxpJmh8ciZoOmlecl5ofXZhciBpbmhlcml0cz1yZXF1aXJlKCJpbmhlcml0cyIpLEhhc2g9cmVxdWlyZSgiLi9oYXNoIiksQnVmZmVyPXJlcXVpcmUoInNhZmUtYnVmZmVyIikuQnVmZmVyLEs9WzE1MTg1MDAyNDksMTg1OTc3NTM5MywtMTg5NDAwNzU4OCwtODk5NDk3NTE0XSxXPW5ldyBBcnJheSg4MCk7aW5oZXJpdHMoU2hhLEhhc2gpLFNoYS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hPTE3MzI1ODQxOTMsdGhpcy5fYj00MDIzMjMzNDE3LHRoaXMuX2M9MjU2MjM4MzEwMix0aGlzLl9kPTI3MTczMzg3OCx0aGlzLl9lPTMyODUzNzc1MjAsdGhpc30sU2hhLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgaT10aGlzLl93LHI9MHx0aGlzLl9hLGg9MHx0aGlzLl9iLHM9MHx0aGlzLl9jLGU9MHx0aGlzLl9kLG49MHx0aGlzLl9lLF89MDtfPDE2OysrXylpW19dPXQucmVhZEludDMyQkUoNCpfKTtmb3IoO188ODA7KytfKWlbX109aVtfLTNdXmlbXy04XV5pW18tMTRdXmlbXy0xNl07Zm9yKHZhciBhPTA7YTw4MDsrK2Epe3ZhciBvPX5+KGEvMjApLGY9cm90bDUocikrZnQobyxoLHMsZSkrbitpW2FdK0tbb118MDtuPWUsZT1zLHM9cm90bDMwKGgpLGg9cixyPWZ9dGhpcy5fYT1yK3RoaXMuX2F8MCx0aGlzLl9iPWgrdGhpcy5fYnwwLHRoaXMuX2M9cyt0aGlzLl9jfDAsdGhpcy5fZD1lK3RoaXMuX2R8MCx0aGlzLl9lPW4rdGhpcy5fZXwwfSxTaGEucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIHQ9QnVmZmVyLmFsbG9jVW5zYWZlKDIwKTtyZXR1cm4gdC53cml0ZUludDMyQkUoMHx0aGlzLl9hLDApLHQud3JpdGVJbnQzMkJFKDB8dGhpcy5fYiw0KSx0LndyaXRlSW50MzJCRSgwfHRoaXMuX2MsOCksdC53cml0ZUludDMyQkUoMHx0aGlzLl9kLDEyKSx0LndyaXRlSW50MzJCRSgwfHRoaXMuX2UsMTYpLHR9LG1vZHVsZS5leHBvcnRzPVNoYTsNCg0KICB9LHsiLi9oYXNoIjo4OSwiaW5oZXJpdHMiOjUxLCJzYWZlLWJ1ZmZlciI6ODJ9XSw5MjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIGZ1bmN0aW9uIFNoYTEoKXt0aGlzLmluaXQoKSx0aGlzLl93PVcsSGFzaC5jYWxsKHRoaXMsNjQsNTYpfWZ1bmN0aW9uIHJvdGwxKHQpe3JldHVybiB0PDwxfHQ+Pj4zMX1mdW5jdGlvbiByb3RsNSh0KXtyZXR1cm4gdDw8NXx0Pj4+Mjd9ZnVuY3Rpb24gcm90bDMwKHQpe3JldHVybiB0PDwzMHx0Pj4+Mn1mdW5jdGlvbiBmdCh0LGkscixoKXtyZXR1cm4gMD09PXQ/aSZyfH5pJmg6Mj09PXQ/aSZyfGkmaHxyJmg6aV5yXmh9dmFyIGluaGVyaXRzPXJlcXVpcmUoImluaGVyaXRzIiksSGFzaD1yZXF1aXJlKCIuL2hhc2giKSxCdWZmZXI9cmVxdWlyZSgic2FmZS1idWZmZXIiKS5CdWZmZXIsSz1bMTUxODUwMDI0OSwxODU5Nzc1MzkzLC0xODk0MDA3NTg4LC04OTk0OTc1MTRdLFc9bmV3IEFycmF5KDgwKTtpbmhlcml0cyhTaGExLEhhc2gpLFNoYTEucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0xNzMyNTg0MTkzLHRoaXMuX2I9NDAyMzIzMzQxNyx0aGlzLl9jPTI1NjIzODMxMDIsdGhpcy5fZD0yNzE3MzM4NzgsdGhpcy5fZT0zMjg1Mzc3NTIwLHRoaXN9LFNoYTEucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBpPXRoaXMuX3cscj0wfHRoaXMuX2EsaD0wfHRoaXMuX2Iscz0wfHRoaXMuX2MsZT0wfHRoaXMuX2Qsbj0wfHRoaXMuX2UsXz0wO188MTY7KytfKWlbX109dC5yZWFkSW50MzJCRSg0Kl8pO2Zvcig7Xzw4MDsrK18paVtfXT1yb3RsMShpW18tM11eaVtfLThdXmlbXy0xNF1eaVtfLTE2XSk7Zm9yKHZhciBhPTA7YTw4MDsrK2Epe3ZhciBvPX5+KGEvMjApLGY9cm90bDUocikrZnQobyxoLHMsZSkrbitpW2FdK0tbb118MDtuPWUsZT1zLHM9cm90bDMwKGgpLGg9cixyPWZ9dGhpcy5fYT1yK3RoaXMuX2F8MCx0aGlzLl9iPWgrdGhpcy5fYnwwLHRoaXMuX2M9cyt0aGlzLl9jfDAsdGhpcy5fZD1lK3RoaXMuX2R8MCx0aGlzLl9lPW4rdGhpcy5fZXwwfSxTaGExLnByb3RvdHlwZS5faGFzaD1mdW5jdGlvbigpe3ZhciB0PUJ1ZmZlci5hbGxvY1Vuc2FmZSgyMCk7cmV0dXJuIHQud3JpdGVJbnQzMkJFKDB8dGhpcy5fYSwwKSx0LndyaXRlSW50MzJCRSgwfHRoaXMuX2IsNCksdC53cml0ZUludDMyQkUoMHx0aGlzLl9jLDgpLHQud3JpdGVJbnQzMkJFKDB8dGhpcy5fZCwxMiksdC53cml0ZUludDMyQkUoMHx0aGlzLl9lLDE2KSx0fSxtb2R1bGUuZXhwb3J0cz1TaGExOw0KDQogIH0seyIuL2hhc2giOjg5LCJpbmhlcml0cyI6NTEsInNhZmUtYnVmZmVyIjo4Mn1dLDkzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgZnVuY3Rpb24gU2hhMjI0KCl7dGhpcy5pbml0KCksdGhpcy5fdz1XLEhhc2guY2FsbCh0aGlzLDY0LDU2KX12YXIgaW5oZXJpdHM9cmVxdWlyZSgiaW5oZXJpdHMiKSxTaGEyNTY9cmVxdWlyZSgiLi9zaGEyNTYiKSxIYXNoPXJlcXVpcmUoIi4vaGFzaCIpLEJ1ZmZlcj1yZXF1aXJlKCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixXPW5ldyBBcnJheSg2NCk7aW5oZXJpdHMoU2hhMjI0LFNoYTI1NiksU2hhMjI0LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2E9MzIzODM3MTAzMix0aGlzLl9iPTkxNDE1MDY2Myx0aGlzLl9jPTgxMjcwMjk5OSx0aGlzLl9kPTQxNDQ5MTI2OTcsdGhpcy5fZT00MjkwNzc1ODU3LHRoaXMuX2Y9MTc1MDYwMzAyNSx0aGlzLl9nPTE2OTQwNzY4MzksdGhpcy5faD0zMjA0MDc1NDI4LHRoaXN9LFNoYTIyNC5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgdD1CdWZmZXIuYWxsb2NVbnNhZmUoMjgpO3JldHVybiB0LndyaXRlSW50MzJCRSh0aGlzLl9hLDApLHQud3JpdGVJbnQzMkJFKHRoaXMuX2IsNCksdC53cml0ZUludDMyQkUodGhpcy5fYyw4KSx0LndyaXRlSW50MzJCRSh0aGlzLl9kLDEyKSx0LndyaXRlSW50MzJCRSh0aGlzLl9lLDE2KSx0LndyaXRlSW50MzJCRSh0aGlzLl9mLDIwKSx0LndyaXRlSW50MzJCRSh0aGlzLl9nLDI0KSx0fSxtb2R1bGUuZXhwb3J0cz1TaGEyMjQ7DQoNCiAgfSx7Ii4vaGFzaCI6ODksIi4vc2hhMjU2Ijo5NCwiaW5oZXJpdHMiOjUxLCJzYWZlLWJ1ZmZlciI6ODJ9XSw5NDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7DQogIGZ1bmN0aW9uIFNoYTI1Nigpe3RoaXMuaW5pdCgpLHRoaXMuX3c9VyxIYXNoLmNhbGwodGhpcyw2NCw1Nil9ZnVuY3Rpb24gY2godCxpLGgpe3JldHVybiBoXnQmKGleaCl9ZnVuY3Rpb24gbWFqKHQsaSxoKXtyZXR1cm4gdCZpfGgmKHR8aSl9ZnVuY3Rpb24gc2lnbWEwKHQpe3JldHVybih0Pj4+Mnx0PDwzMCleKHQ+Pj4xM3x0PDwxOSleKHQ+Pj4yMnx0PDwxMCl9ZnVuY3Rpb24gc2lnbWExKHQpe3JldHVybih0Pj4+Nnx0PDwyNileKHQ+Pj4xMXx0PDwyMSleKHQ+Pj4yNXx0PDw3KX1mdW5jdGlvbiBnYW1tYTAodCl7cmV0dXJuKHQ+Pj43fHQ8PDI1KV4odD4+PjE4fHQ8PDE0KV50Pj4+M31mdW5jdGlvbiBnYW1tYTEodCl7cmV0dXJuKHQ+Pj4xN3x0PDwxNSleKHQ+Pj4xOXx0PDwxMyledD4+PjEwfXZhciBpbmhlcml0cz1yZXF1aXJlKCJpbmhlcml0cyIpLEhhc2g9cmVxdWlyZSgiLi9oYXNoIiksQnVmZmVyPXJlcXVpcmUoInNhZmUtYnVmZmVyIikuQnVmZmVyLEs9WzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF0sVz1uZXcgQXJyYXkoNjQpO2luaGVyaXRzKFNoYTI1NixIYXNoKSxTaGEyNTYucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0xNzc5MDMzNzAzLHRoaXMuX2I9MzE0NDEzNDI3Nyx0aGlzLl9jPTEwMTM5MDQyNDIsdGhpcy5fZD0yNzczNDgwNzYyLHRoaXMuX2U9MTM1OTg5MzExOSx0aGlzLl9mPTI2MDA4MjI5MjQsdGhpcy5fZz01Mjg3MzQ2MzUsdGhpcy5faD0xNTQxNDU5MjI1LHRoaXN9LFNoYTI1Ni5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbih0KXtmb3IodmFyIGk9dGhpcy5fdyxoPTB8dGhpcy5fYSxzPTB8dGhpcy5fYixyPTB8dGhpcy5fYyxlPTB8dGhpcy5fZCxuPTB8dGhpcy5fZSxfPTB8dGhpcy5fZixhPTB8dGhpcy5fZyxmPTB8dGhpcy5faCx1PTA7dTwxNjsrK3UpaVt1XT10LnJlYWRJbnQzMkJFKDQqdSk7Zm9yKDt1PDY0OysrdSlpW3VdPWdhbW1hMShpW3UtMl0pK2lbdS03XStnYW1tYTAoaVt1LTE1XSkraVt1LTE2XXwwO2Zvcih2YXIgbz0wO288NjQ7KytvKXt2YXIgYz1mK3NpZ21hMShuKStjaChuLF8sYSkrS1tvXStpW29dfDAsbT1zaWdtYTAoaCkrbWFqKGgscyxyKXwwO2Y9YSxhPV8sXz1uLG49ZStjfDAsZT1yLHI9cyxzPWgsaD1jK218MH10aGlzLl9hPWgrdGhpcy5fYXwwLHRoaXMuX2I9cyt0aGlzLl9ifDAsdGhpcy5fYz1yK3RoaXMuX2N8MCx0aGlzLl9kPWUrdGhpcy5fZHwwLHRoaXMuX2U9bit0aGlzLl9lfDAsdGhpcy5fZj1fK3RoaXMuX2Z8MCx0aGlzLl9nPWErdGhpcy5fZ3wwLHRoaXMuX2g9Zit0aGlzLl9ofDB9LFNoYTI1Ni5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgdD1CdWZmZXIuYWxsb2NVbnNhZmUoMzIpO3JldHVybiB0LndyaXRlSW50MzJCRSh0aGlzLl9hLDApLHQud3JpdGVJbnQzMkJFKHRoaXMuX2IsNCksdC53cml0ZUludDMyQkUodGhpcy5fYyw4KSx0LndyaXRlSW50MzJCRSh0aGlzLl9kLDEyKSx0LndyaXRlSW50MzJCRSh0aGlzLl9lLDE2KSx0LndyaXRlSW50MzJCRSh0aGlzLl9mLDIwKSx0LndyaXRlSW50MzJCRSh0aGlzLl9nLDI0KSx0LndyaXRlSW50MzJCRSh0aGlzLl9oLDI4KSx0fSxtb2R1bGUuZXhwb3J0cz1TaGEyNTY7DQoNCiAgfSx7Ii4vaGFzaCI6ODksImluaGVyaXRzIjo1MSwic2FmZS1idWZmZXIiOjgyfV0sOTU6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICBmdW5jdGlvbiBTaGEzODQoKXt0aGlzLmluaXQoKSx0aGlzLl93PVcsSGFzaC5jYWxsKHRoaXMsMTI4LDExMil9dmFyIGluaGVyaXRzPXJlcXVpcmUoImluaGVyaXRzIiksU0hBNTEyPXJlcXVpcmUoIi4vc2hhNTEyIiksSGFzaD1yZXF1aXJlKCIuL2hhc2giKSxCdWZmZXI9cmVxdWlyZSgic2FmZS1idWZmZXIiKS5CdWZmZXIsVz1uZXcgQXJyYXkoMTYwKTtpbmhlcml0cyhTaGEzODQsU0hBNTEyKSxTaGEzODQucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYWg9MzQxODA3MDM2NSx0aGlzLl9iaD0xNjU0MjcwMjUwLHRoaXMuX2NoPTI0Mzg1MjkzNzAsdGhpcy5fZGg9MzU1NDYyMzYwLHRoaXMuX2VoPTE3MzE0MDU0MTUsdGhpcy5fZmg9MjM5NDE4MDIzMSx0aGlzLl9naD0zNjc1MDA4NTI1LHRoaXMuX2hoPTEyMDMwNjI4MTMsdGhpcy5fYWw9MzIzODM3MTAzMix0aGlzLl9ibD05MTQxNTA2NjMsdGhpcy5fY2w9ODEyNzAyOTk5LHRoaXMuX2RsPTQxNDQ5MTI2OTcsdGhpcy5fZWw9NDI5MDc3NTg1Nyx0aGlzLl9mbD0xNzUwNjAzMDI1LHRoaXMuX2dsPTE2OTQwNzY4MzksdGhpcy5faGw9MzIwNDA3NTQyOCx0aGlzfSxTaGEzODQucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChoLHQscyl7aS53cml0ZUludDMyQkUoaCxzKSxpLndyaXRlSW50MzJCRSh0LHMrNCl9dmFyIGk9QnVmZmVyLmFsbG9jVW5zYWZlKDQ4KTtyZXR1cm4gaCh0aGlzLl9haCx0aGlzLl9hbCwwKSxoKHRoaXMuX2JoLHRoaXMuX2JsLDgpLGgodGhpcy5fY2gsdGhpcy5fY2wsMTYpLGgodGhpcy5fZGgsdGhpcy5fZGwsMjQpLGgodGhpcy5fZWgsdGhpcy5fZWwsMzIpLGgodGhpcy5fZmgsdGhpcy5fZmwsNDApLGl9LG1vZHVsZS5leHBvcnRzPVNoYTM4NDsNCg0KICB9LHsiLi9oYXNoIjo4OSwiLi9zaGE1MTIiOjk2LCJpbmhlcml0cyI6NTEsInNhZmUtYnVmZmVyIjo4Mn1dLDk2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgZnVuY3Rpb24gU2hhNTEyKCl7dGhpcy5pbml0KCksdGhpcy5fdz1XLEhhc2guY2FsbCh0aGlzLDEyOCwxMTIpfWZ1bmN0aW9uIENoKGgsdCxpKXtyZXR1cm4gaV5oJih0XmkpfWZ1bmN0aW9uIG1haihoLHQsaSl7cmV0dXJuIGgmdHxpJihofHQpfWZ1bmN0aW9uIHNpZ21hMChoLHQpe3JldHVybihoPj4+Mjh8dDw8NCleKHQ+Pj4yfGg8PDMwKV4odD4+Pjd8aDw8MjUpfWZ1bmN0aW9uIHNpZ21hMShoLHQpe3JldHVybihoPj4+MTR8dDw8MTgpXihoPj4+MTh8dDw8MTQpXih0Pj4+OXxoPDwyMyl9ZnVuY3Rpb24gR2FtbWEwKGgsdCl7cmV0dXJuKGg+Pj4xfHQ8PDMxKV4oaD4+Pjh8dDw8MjQpXmg+Pj43fWZ1bmN0aW9uIEdhbW1hMGwoaCx0KXtyZXR1cm4oaD4+PjF8dDw8MzEpXihoPj4+OHx0PDwyNCleKGg+Pj43fHQ8PDI1KX1mdW5jdGlvbiBHYW1tYTEoaCx0KXtyZXR1cm4oaD4+PjE5fHQ8PDEzKV4odD4+PjI5fGg8PDMpXmg+Pj42fWZ1bmN0aW9uIEdhbW1hMWwoaCx0KXtyZXR1cm4oaD4+PjE5fHQ8PDEzKV4odD4+PjI5fGg8PDMpXihoPj4+Nnx0PDwyNil9ZnVuY3Rpb24gZ2V0Q2FycnkoaCx0KXtyZXR1cm4gaD4+PjA8dD4+PjA/MTowfXZhciBpbmhlcml0cz1yZXF1aXJlKCJpbmhlcml0cyIpLEhhc2g9cmVxdWlyZSgiLi9oYXNoIiksQnVmZmVyPXJlcXVpcmUoInNhZmUtYnVmZmVyIikuQnVmZmVyLEs9WzExMTYzNTI0MDgsMzYwOTc2NzQ1OCwxODk5NDQ3NDQxLDYwMjg5MTcyNSwzMDQ5MzIzNDcxLDM5NjQ0ODQzOTksMzkyMTAwOTU3MywyMTczMjk1NTQ4LDk2MTk4NzE2Myw0MDgxNjI4NDcyLDE1MDg5NzA5OTMsMzA1MzgzNDI2NSwyNDUzNjM1NzQ4LDI5Mzc2NzE1NzksMjg3MDc2MzIyMSwzNjY0NjA5NTYwLDM2MjQzODEwODAsMjczNDg4MzM5NCwzMTA1OTg0MDEsMTE2NDk5NjU0Miw2MDcyMjUyNzgsMTMyMzYxMDc2NCwxNDI2ODgxOTg3LDM1OTAzMDQ5OTQsMTkyNTA3ODM4OCw0MDY4MTgyMzgzLDIxNjIwNzgyMDYsOTkxMzM2MTEzLDI2MTQ4ODgxMDMsNjMzODAzMzE3LDMyNDgyMjI1ODAsMzQ3OTc3NDg2OCwzODM1MzkwNDAxLDI2NjY2MTM0NTgsNDAyMjIyNDc3NCw5NDQ3MTExMzksMjY0MzQ3MDc4LDIzNDEyNjI3NzMsNjA0ODA3NjI4LDIwMDc4MDA5MzMsNzcwMjU1OTgzLDE0OTU5OTA5MDEsMTI0OTE1MDEyMiwxODU2NDMxMjM1LDE1NTUwODE2OTIsMzE3NTIxODEzMiwxOTk2MDY0OTg2LDIxOTg5NTA4MzcsMjU1NDIyMDg4MiwzOTk5NzE5MzM5LDI4MjE4MzQzNDksNzY2Nzg0MDE2LDI5NTI5OTY4MDgsMjU2NjU5NDg3OSwzMjEwMzEzNjcxLDMyMDMzMzc5NTYsMzMzNjU3MTg5MSwxMDM0NDU3MDI2LDM1ODQ1Mjg3MTEsMjQ2Njk0ODkwMSwxMTM5MjY5OTMsMzc1ODMyNjM4MywzMzgyNDE4OTUsMTY4NzE3OTM2LDY2NjMwNzIwNSwxMTg4MTc5OTY0LDc3MzUyOTkxMiwxNTQ2MDQ1NzM0LDEyOTQ3NTczNzIsMTUyMjgwNTQ4NSwxMzk2MTgyMjkxLDI2NDM4MzM4MjMsMTY5NTE4MzcwMCwyMzQzNTI3MzkwLDE5ODY2NjEwNTEsMTAxNDQ3NzQ4MCwyMTc3MDI2MzUwLDEyMDY3NTkxNDIsMjQ1Njk1NjAzNywzNDQwNzc2MjcsMjczMDQ4NTkyMSwxMjkwODYzNDYwLDI4MjAzMDI0MTEsMzE1ODQ1NDI3MywzMjU5NzMwODAwLDM1MDU5NTI2NTcsMzM0NTc2NDc3MSwxMDYyMTcwMDgsMzUxNjA2NTgxNywzNjA2MDA4MzQ0LDM2MDAzNTI4MDQsMTQzMjcyNTc3Niw0MDk0NTcxOTA5LDE0NjcwMzE1OTQsMjc1NDIzMzQ0LDg1MTE2OTcyMCw0MzAyMjc3MzQsMzEwMDgyMzc1Miw1MDY5NDg2MTYsMTM2MzI1ODE5NSw2NTkwNjA1NTYsMzc1MDY4NTU5Myw4ODM5OTc4NzcsMzc4NTA1MDI4MCw5NTgxMzk1NzEsMzMxODMwNzQyNywxMzIyODIyMjE4LDM4MTI3MjM0MDMsMTUzNzAwMjA2MywyMDAzMDM0OTk1LDE3NDc4NzM3NzksMzYwMjAzNjg5OSwxOTU1NTYyMjIyLDE1NzU5OTAwMTIsMjAyNDEwNDgxNSwxMTI1NTkyOTI4LDIyMjc3MzA0NTIsMjcxNjkwNDMwNiwyMzYxODUyNDI0LDQ0Mjc3NjA0NCwyNDI4NDM2NDc0LDU5MzY5ODM0NCwyNzU2NzM0MTg3LDM3MzMxMTAyNDksMzIwNDAzMTQ3OSwyOTk5MzUxNTczLDMzMjkzMjUyOTgsMzgxNTkyMDQyNywzMzkxNTY5NjE0LDM5MjgzODM5MDAsMzUxNTI2NzI3MSw1NjYyODA3MTEsMzk0MDE4NzYwNiwzNDU0MDY5NTM0LDQxMTg2MzAyNzEsNDAwMDIzOTk5MiwxMTY0MTg0NzQsMTkxNDEzODU1NCwxNzQyOTI0MjEsMjczMTA1NTI3MCwyODkzODAzNTYsMzIwMzk5MzAwNiw0NjAzOTMyNjksMzIwNjIwMzE1LDY4NTQ3MTczMyw1ODc0OTY4MzYsODUyMTQyOTcxLDEwODY3OTI4NTEsMTAxNzAzNjI5OCwzNjU1NDMxMDAsMTEyNjAwMDU4MCwyNjE4Mjk3Njc2LDEyODgwMzM0NzAsMzQwOTg1NTE1OCwxNTAxNTA1OTQ4LDQyMzQ1MDk4NjYsMTYwNzE2NzkxNSw5ODcxNjc0NjgsMTgxNjQwMjMxNiwxMjQ2MTg5NTkxXSxXPW5ldyBBcnJheSgxNjApO2luaGVyaXRzKFNoYTUxMixIYXNoKSxTaGE1MTIucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYWg9MTc3OTAzMzcwMyx0aGlzLl9iaD0zMTQ0MTM0Mjc3LHRoaXMuX2NoPTEwMTM5MDQyNDIsdGhpcy5fZGg9Mjc3MzQ4MDc2Mix0aGlzLl9laD0xMzU5ODkzMTE5LHRoaXMuX2ZoPTI2MDA4MjI5MjQsdGhpcy5fZ2g9NTI4NzM0NjM1LHRoaXMuX2hoPTE1NDE0NTkyMjUsdGhpcy5fYWw9NDA4OTIzNTcyMCx0aGlzLl9ibD0yMjI3ODczNTk1LHRoaXMuX2NsPTQyNzExNzU3MjMsdGhpcy5fZGw9MTU5NTc1MDEyOSx0aGlzLl9lbD0yOTE3NTY1MTM3LHRoaXMuX2ZsPTcyNTUxMTE5OSx0aGlzLl9nbD00MjE1Mzg5NTQ3LHRoaXMuX2hsPTMyNzAzMzIwOSx0aGlzfSxTaGE1MTIucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oaCl7Zm9yKHZhciB0PXRoaXMuX3csaT0wfHRoaXMuX2FoLHM9MHx0aGlzLl9iaCxyPTB8dGhpcy5fY2gsXz0wfHRoaXMuX2RoLGE9MHx0aGlzLl9laCxlPTB8dGhpcy5fZmgsbD0wfHRoaXMuX2doLG49MHx0aGlzLl9oaCxmPTB8dGhpcy5fYWwsZz0wfHRoaXMuX2JsLHU9MHx0aGlzLl9jbCxjPTB8dGhpcy5fZGwsbT0wfHRoaXMuX2VsLG89MHx0aGlzLl9mbCx5PTB8dGhpcy5fZ2wsQz0wfHRoaXMuX2hsLGQ9MDtkPDMyO2QrPTIpdFtkXT1oLnJlYWRJbnQzMkJFKDQqZCksdFtkKzFdPWgucmVhZEludDMyQkUoNCpkKzQpO2Zvcig7ZDwxNjA7ZCs9Mil7dmFyIGI9dFtkLTMwXSxwPXRbZC0zMCsxXSxHPUdhbW1hMChiLHApLHY9R2FtbWEwbChwLGIpLEI9R2FtbWExKGI9dFtkLTRdLHA9dFtkLTQrMV0pLFM9R2FtbWExbChwLGIpLHc9dFtkLTE0XSxFPXRbZC0xNCsxXSxJPXRbZC0zMl0saj10W2QtMzIrMV0scT12K0V8MCxIPUcrdytnZXRDYXJyeShxLHYpfDA7SD0oSD1IK0IrZ2V0Q2FycnkocT1xK1N8MCxTKXwwKStJK2dldENhcnJ5KHE9cStqfDAsail8MCx0W2RdPUgsdFtkKzFdPXF9Zm9yKHZhciBXPTA7VzwxNjA7Vys9Mil7SD10W1ddLHE9dFtXKzFdO3ZhciB4PW1haihpLHMsciksQT1tYWooZixnLHUpLFU9c2lnbWEwKGksZiksaz1zaWdtYTAoZixpKSx6PXNpZ21hMShhLG0pLEQ9c2lnbWExKG0sYSksRj1LW1ddLEo9S1tXKzFdLEw9Q2goYSxlLGwpLE09Q2gobSxvLHkpLE49QytEfDAsTz1uK3orZ2V0Q2FycnkoTixDKXwwO089KE89KE89TytMK2dldENhcnJ5KE49TitNfDAsTSl8MCkrRitnZXRDYXJyeShOPU4rSnwwLEopfDApK0grZ2V0Q2FycnkoTj1OK3F8MCxxKXwwO3ZhciBQPWsrQXwwLFE9VSt4K2dldENhcnJ5KFAsayl8MDtuPWwsQz15LGw9ZSx5PW8sZT1hLG89bSxhPV8rTytnZXRDYXJyeShtPWMrTnwwLGMpfDAsXz1yLGM9dSxyPXMsdT1nLHM9aSxnPWYsaT1PK1ErZ2V0Q2FycnkoZj1OK1B8MCxOKXwwfXRoaXMuX2FsPXRoaXMuX2FsK2Z8MCx0aGlzLl9ibD10aGlzLl9ibCtnfDAsdGhpcy5fY2w9dGhpcy5fY2wrdXwwLHRoaXMuX2RsPXRoaXMuX2RsK2N8MCx0aGlzLl9lbD10aGlzLl9lbCttfDAsdGhpcy5fZmw9dGhpcy5fZmwrb3wwLHRoaXMuX2dsPXRoaXMuX2dsK3l8MCx0aGlzLl9obD10aGlzLl9obCtDfDAsdGhpcy5fYWg9dGhpcy5fYWgraStnZXRDYXJyeSh0aGlzLl9hbCxmKXwwLHRoaXMuX2JoPXRoaXMuX2JoK3MrZ2V0Q2FycnkodGhpcy5fYmwsZyl8MCx0aGlzLl9jaD10aGlzLl9jaCtyK2dldENhcnJ5KHRoaXMuX2NsLHUpfDAsdGhpcy5fZGg9dGhpcy5fZGgrXytnZXRDYXJyeSh0aGlzLl9kbCxjKXwwLHRoaXMuX2VoPXRoaXMuX2VoK2ErZ2V0Q2FycnkodGhpcy5fZWwsbSl8MCx0aGlzLl9maD10aGlzLl9maCtlK2dldENhcnJ5KHRoaXMuX2ZsLG8pfDAsdGhpcy5fZ2g9dGhpcy5fZ2grbCtnZXRDYXJyeSh0aGlzLl9nbCx5KXwwLHRoaXMuX2hoPXRoaXMuX2hoK24rZ2V0Q2FycnkodGhpcy5faGwsQyl8MH0sU2hhNTEyLnByb3RvdHlwZS5faGFzaD1mdW5jdGlvbigpe2Z1bmN0aW9uIGgoaCxpLHMpe3Qud3JpdGVJbnQzMkJFKGgscyksdC53cml0ZUludDMyQkUoaSxzKzQpfXZhciB0PUJ1ZmZlci5hbGxvY1Vuc2FmZSg2NCk7cmV0dXJuIGgodGhpcy5fYWgsdGhpcy5fYWwsMCksaCh0aGlzLl9iaCx0aGlzLl9ibCw4KSxoKHRoaXMuX2NoLHRoaXMuX2NsLDE2KSxoKHRoaXMuX2RoLHRoaXMuX2RsLDI0KSxoKHRoaXMuX2VoLHRoaXMuX2VsLDMyKSxoKHRoaXMuX2ZoLHRoaXMuX2ZsLDQwKSxoKHRoaXMuX2doLHRoaXMuX2dsLDQ4KSxoKHRoaXMuX2hoLHRoaXMuX2hsLDU2KSx0fSxtb2R1bGUuZXhwb3J0cz1TaGE1MTI7DQoNCiAgfSx7Ii4vaGFzaCI6ODksImluaGVyaXRzIjo1MSwic2FmZS1idWZmZXIiOjgyfV0sOTc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICBmdW5jdGlvbiBTdHJlYW0oKXtFRS5jYWxsKHRoaXMpfW1vZHVsZS5leHBvcnRzPVN0cmVhbTt2YXIgRUU9cmVxdWlyZSgiZXZlbnRzIikuRXZlbnRFbWl0dGVyLGluaGVyaXRzPXJlcXVpcmUoImluaGVyaXRzIik7aW5oZXJpdHMoU3RyZWFtLEVFKSxTdHJlYW0uUmVhZGFibGU9cmVxdWlyZSgicmVhZGFibGUtc3RyZWFtL3JlYWRhYmxlLmpzIiksU3RyZWFtLldyaXRhYmxlPXJlcXVpcmUoInJlYWRhYmxlLXN0cmVhbS93cml0YWJsZS5qcyIpLFN0cmVhbS5EdXBsZXg9cmVxdWlyZSgicmVhZGFibGUtc3RyZWFtL2R1cGxleC5qcyIpLFN0cmVhbS5UcmFuc2Zvcm09cmVxdWlyZSgicmVhZGFibGUtc3RyZWFtL3RyYW5zZm9ybS5qcyIpLFN0cmVhbS5QYXNzVGhyb3VnaD1yZXF1aXJlKCJyZWFkYWJsZS1zdHJlYW0vcGFzc3Rocm91Z2guanMiKSxTdHJlYW0uU3RyZWFtPVN0cmVhbSxTdHJlYW0ucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oZSxyKXtmdW5jdGlvbiB0KHIpe2Uud3JpdGFibGUmJiExPT09ZS53cml0ZShyKSYmbS5wYXVzZSYmbS5wYXVzZSgpfWZ1bmN0aW9uIG4oKXttLnJlYWRhYmxlJiZtLnJlc3VtZSYmbS5yZXN1bWUoKX1mdW5jdGlvbiBhKCl7dXx8KHU9ITAsZS5lbmQoKSl9ZnVuY3Rpb24gbygpe3V8fCh1PSEwLCJmdW5jdGlvbiI9PXR5cGVvZiBlLmRlc3Ryb3kmJmUuZGVzdHJveSgpKX1mdW5jdGlvbiBpKGUpe2lmKHMoKSwwPT09RUUubGlzdGVuZXJDb3VudCh0aGlzLCJlcnJvciIpKXRocm93IGV9ZnVuY3Rpb24gcygpe20ucmVtb3ZlTGlzdGVuZXIoImRhdGEiLHQpLGUucmVtb3ZlTGlzdGVuZXIoImRyYWluIixuKSxtLnJlbW92ZUxpc3RlbmVyKCJlbmQiLGEpLG0ucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixvKSxtLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsaSksZS5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGkpLG0ucmVtb3ZlTGlzdGVuZXIoImVuZCIscyksbS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLHMpLGUucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixzKX12YXIgbT10aGlzO20ub24oImRhdGEiLHQpLGUub24oImRyYWluIixuKSxlLl9pc1N0ZGlvfHxyJiYhMT09PXIuZW5kfHwobS5vbigiZW5kIixhKSxtLm9uKCJjbG9zZSIsbykpO3ZhciB1PSExO3JldHVybiBtLm9uKCJlcnJvciIsaSksZS5vbigiZXJyb3IiLGkpLG0ub24oImVuZCIscyksbS5vbigiY2xvc2UiLHMpLGUub24oImNsb3NlIixzKSxlLmVtaXQoInBpcGUiLG0pLGV9Ow0KDQogIH0seyJldmVudHMiOjM1LCJpbmhlcml0cyI6NTEsInJlYWRhYmxlLXN0cmVhbS9kdXBsZXguanMiOjY3LCJyZWFkYWJsZS1zdHJlYW0vcGFzc3Rocm91Z2guanMiOjc2LCJyZWFkYWJsZS1zdHJlYW0vcmVhZGFibGUuanMiOjc3LCJyZWFkYWJsZS1zdHJlYW0vdHJhbnNmb3JtLmpzIjo3OCwicmVhZGFibGUtc3RyZWFtL3dyaXRhYmxlLmpzIjo3OX1dLDk4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgInVzZSBzdHJpY3QiO2Z1bmN0aW9uIF9ub3JtYWxpemVFbmNvZGluZyh0KXtpZighdClyZXR1cm4idXRmOCI7Zm9yKHZhciBlOzspc3dpdGNoKHQpe2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuInV0ZjgiO2Nhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4idXRmMTZsZSI7Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4ibGF0aW4xIjtjYXNlImJhc2U2NCI6Y2FzZSJhc2NpaSI6Y2FzZSJoZXgiOnJldHVybiB0O2RlZmF1bHQ6aWYoZSlyZXR1cm47dD0oIiIrdCkudG9Mb3dlckNhc2UoKSxlPSEwfX1mdW5jdGlvbiBub3JtYWxpemVFbmNvZGluZyh0KXt2YXIgZT1fbm9ybWFsaXplRW5jb2RpbmcodCk7aWYoInN0cmluZyIhPXR5cGVvZiBlJiYoQnVmZmVyLmlzRW5jb2Rpbmc9PT1pc0VuY29kaW5nfHwhaXNFbmNvZGluZyh0KSkpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK3QpO3JldHVybiBlfHx0fWZ1bmN0aW9uIFN0cmluZ0RlY29kZXIodCl7dGhpcy5lbmNvZGluZz1ub3JtYWxpemVFbmNvZGluZyh0KTt2YXIgZTtzd2l0Y2godGhpcy5lbmNvZGluZyl7Y2FzZSJ1dGYxNmxlIjp0aGlzLnRleHQ9dXRmMTZUZXh0LHRoaXMuZW5kPXV0ZjE2RW5kLGU9NDticmVhaztjYXNlInV0ZjgiOnRoaXMuZmlsbExhc3Q9dXRmOEZpbGxMYXN0LGU9NDticmVhaztjYXNlImJhc2U2NCI6dGhpcy50ZXh0PWJhc2U2NFRleHQsdGhpcy5lbmQ9YmFzZTY0RW5kLGU9MzticmVhaztkZWZhdWx0OnJldHVybiB0aGlzLndyaXRlPXNpbXBsZVdyaXRlLHZvaWQodGhpcy5lbmQ9c2ltcGxlRW5kKX10aGlzLmxhc3ROZWVkPTAsdGhpcy5sYXN0VG90YWw9MCx0aGlzLmxhc3RDaGFyPUJ1ZmZlci5hbGxvY1Vuc2FmZShlKX1mdW5jdGlvbiB1dGY4Q2hlY2tCeXRlKHQpe3JldHVybiB0PD0xMjc/MDp0Pj41PT02PzI6dD4+ND09MTQ/Mzp0Pj4zPT0zMD80Oi0xfWZ1bmN0aW9uIHV0ZjhDaGVja0luY29tcGxldGUodCxlLHMpe3ZhciBpPWUubGVuZ3RoLTE7aWYoaTxzKXJldHVybiAwO3ZhciBhPXV0ZjhDaGVja0J5dGUoZVtpXSk7cmV0dXJuIGE+PTA/KGE+MCYmKHQubGFzdE5lZWQ9YS0xKSxhKTotLWk8cz8wOihhPXV0ZjhDaGVja0J5dGUoZVtpXSkpPj0wPyhhPjAmJih0Lmxhc3ROZWVkPWEtMiksYSk6LS1pPHM/MDooYT11dGY4Q2hlY2tCeXRlKGVbaV0pKT49MD8oYT4wJiYoMj09PWE/YT0wOnQubGFzdE5lZWQ9YS0zKSxhKTowfWZ1bmN0aW9uIHV0ZjhDaGVja0V4dHJhQnl0ZXModCxlLHMpe2lmKDEyOCE9KDE5MiZlWzBdKSlyZXR1cm4gdC5sYXN0TmVlZD0wLCLvv70iLnJlcGVhdChzKTtpZih0Lmxhc3ROZWVkPjEmJmUubGVuZ3RoPjEpe2lmKDEyOCE9KDE5MiZlWzFdKSlyZXR1cm4gdC5sYXN0TmVlZD0xLCLvv70iLnJlcGVhdChzKzEpO2lmKHQubGFzdE5lZWQ+MiYmZS5sZW5ndGg+MiYmMTI4IT0oMTkyJmVbMl0pKXJldHVybiB0Lmxhc3ROZWVkPTIsIu+/vSIucmVwZWF0KHMrMil9fWZ1bmN0aW9uIHV0ZjhGaWxsTGFzdCh0KXt2YXIgZT10aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLHM9dXRmOENoZWNrRXh0cmFCeXRlcyh0aGlzLHQsZSk7cmV0dXJuIHZvaWQgMCE9PXM/czp0aGlzLmxhc3ROZWVkPD10Lmxlbmd0aD8odC5jb3B5KHRoaXMubGFzdENoYXIsZSwwLHRoaXMubGFzdE5lZWQpLHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywwLHRoaXMubGFzdFRvdGFsKSk6KHQuY29weSh0aGlzLmxhc3RDaGFyLGUsMCx0Lmxlbmd0aCksdm9pZCh0aGlzLmxhc3ROZWVkLT10Lmxlbmd0aCkpfWZ1bmN0aW9uIHV0ZjhUZXh0KHQsZSl7dmFyIHM9dXRmOENoZWNrSW5jb21wbGV0ZSh0aGlzLHQsZSk7aWYoIXRoaXMubGFzdE5lZWQpcmV0dXJuIHQudG9TdHJpbmcoInV0ZjgiLGUpO3RoaXMubGFzdFRvdGFsPXM7dmFyIGk9dC5sZW5ndGgtKHMtdGhpcy5sYXN0TmVlZCk7cmV0dXJuIHQuY29weSh0aGlzLmxhc3RDaGFyLDAsaSksdC50b1N0cmluZygidXRmOCIsZSxpKX1mdW5jdGlvbiB1dGY4RW5kKHQpe3ZhciBlPXQmJnQubGVuZ3RoP3RoaXMud3JpdGUodCk6IiI7cmV0dXJuIHRoaXMubGFzdE5lZWQ/ZSsi77+9Ii5yZXBlYXQodGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCk6ZX1mdW5jdGlvbiB1dGYxNlRleHQodCxlKXtpZigodC5sZW5ndGgtZSklMj09MCl7dmFyIHM9dC50b1N0cmluZygidXRmMTZsZSIsZSk7aWYocyl7dmFyIGk9cy5jaGFyQ29kZUF0KHMubGVuZ3RoLTEpO2lmKGk+PTU1Mjk2JiZpPD01NjMxOSlyZXR1cm4gdGhpcy5sYXN0TmVlZD0yLHRoaXMubGFzdFRvdGFsPTQsdGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTJdLHRoaXMubGFzdENoYXJbMV09dFt0Lmxlbmd0aC0xXSxzLnNsaWNlKDAsLTEpfXJldHVybiBzfXJldHVybiB0aGlzLmxhc3ROZWVkPTEsdGhpcy5sYXN0VG90YWw9Mix0aGlzLmxhc3RDaGFyWzBdPXRbdC5sZW5ndGgtMV0sdC50b1N0cmluZygidXRmMTZsZSIsZSx0Lmxlbmd0aC0xKX1mdW5jdGlvbiB1dGYxNkVuZCh0KXt2YXIgZT10JiZ0Lmxlbmd0aD90aGlzLndyaXRlKHQpOiIiO2lmKHRoaXMubGFzdE5lZWQpe3ZhciBzPXRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQ7cmV0dXJuIGUrdGhpcy5sYXN0Q2hhci50b1N0cmluZygidXRmMTZsZSIsMCxzKX1yZXR1cm4gZX1mdW5jdGlvbiBiYXNlNjRUZXh0KHQsZSl7dmFyIHM9KHQubGVuZ3RoLWUpJTM7cmV0dXJuIDA9PT1zP3QudG9TdHJpbmcoImJhc2U2NCIsZSk6KHRoaXMubGFzdE5lZWQ9My1zLHRoaXMubGFzdFRvdGFsPTMsMT09PXM/dGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTFdOih0aGlzLmxhc3RDaGFyWzBdPXRbdC5sZW5ndGgtMl0sdGhpcy5sYXN0Q2hhclsxXT10W3QubGVuZ3RoLTFdKSx0LnRvU3RyaW5nKCJiYXNlNjQiLGUsdC5sZW5ndGgtcykpfWZ1bmN0aW9uIGJhc2U2NEVuZCh0KXt2YXIgZT10JiZ0Lmxlbmd0aD90aGlzLndyaXRlKHQpOiIiO3JldHVybiB0aGlzLmxhc3ROZWVkP2UrdGhpcy5sYXN0Q2hhci50b1N0cmluZygiYmFzZTY0IiwwLDMtdGhpcy5sYXN0TmVlZCk6ZX1mdW5jdGlvbiBzaW1wbGVXcml0ZSh0KXtyZXR1cm4gdC50b1N0cmluZyh0aGlzLmVuY29kaW5nKX1mdW5jdGlvbiBzaW1wbGVFbmQodCl7cmV0dXJuIHQmJnQubGVuZ3RoP3RoaXMud3JpdGUodCk6IiJ9dmFyIEJ1ZmZlcj1yZXF1aXJlKCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixpc0VuY29kaW5nPUJ1ZmZlci5pc0VuY29kaW5nfHxmdW5jdGlvbih0KXtzd2l0Y2goKHQ9IiIrdCkmJnQudG9Mb3dlckNhc2UoKSl7Y2FzZSJoZXgiOmNhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6Y2FzZSJhc2NpaSI6Y2FzZSJiaW5hcnkiOmNhc2UiYmFzZTY0IjpjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6Y2FzZSJyYXciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTtleHBvcnRzLlN0cmluZ0RlY29kZXI9U3RyaW5nRGVjb2RlcixTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXtpZigwPT09dC5sZW5ndGgpcmV0dXJuIiI7dmFyIGUscztpZih0aGlzLmxhc3ROZWVkKXtpZih2b2lkIDA9PT0oZT10aGlzLmZpbGxMYXN0KHQpKSlyZXR1cm4iIjtzPXRoaXMubGFzdE5lZWQsdGhpcy5sYXN0TmVlZD0wfWVsc2Ugcz0wO3JldHVybiBzPHQubGVuZ3RoP2U/ZSt0aGlzLnRleHQodCxzKTp0aGlzLnRleHQodCxzKTplfHwiIn0sU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZW5kPXV0ZjhFbmQsU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUudGV4dD11dGY4VGV4dCxTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS5maWxsTGFzdD1mdW5jdGlvbih0KXtpZih0aGlzLmxhc3ROZWVkPD10Lmxlbmd0aClyZXR1cm4gdC5jb3B5KHRoaXMubGFzdENoYXIsdGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCwwLHRoaXMubGFzdE5lZWQpLHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywwLHRoaXMubGFzdFRvdGFsKTt0LmNvcHkodGhpcy5sYXN0Q2hhcix0aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLDAsdC5sZW5ndGgpLHRoaXMubGFzdE5lZWQtPXQubGVuZ3RofTsNCg0KICB9LHsic2FmZS1idWZmZXIiOjgyfV0sOTk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICB2YXIgaXNIZXhQcmVmaXhlZD1yZXF1aXJlKCJpcy1oZXgtcHJlZml4ZWQiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGU/ZTppc0hleFByZWZpeGVkKGUpP2Uuc2xpY2UoMik6ZX07DQoNCiAgfSx7ImlzLWhleC1wcmVmaXhlZCI6NTN9XSwxMDA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAoZnVuY3Rpb24gKGdsb2JhbCl7DQogIGZ1bmN0aW9uIGRlcHJlY2F0ZShyLGUpe2lmKGNvbmZpZygibm9EZXByZWNhdGlvbiIpKXJldHVybiByO3ZhciBvPSExO3JldHVybiBmdW5jdGlvbigpe2lmKCFvKXtpZihjb25maWcoInRocm93RGVwcmVjYXRpb24iKSl0aHJvdyBuZXcgRXJyb3IoZSk7Y29uZmlnKCJ0cmFjZURlcHJlY2F0aW9uIik/Y29uc29sZS50cmFjZShlKTpjb25zb2xlLndhcm4oZSksbz0hMH1yZXR1cm4gci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGNvbmZpZyhyKXt0cnl7aWYoIWdsb2JhbC5sb2NhbFN0b3JhZ2UpcmV0dXJuITF9Y2F0Y2gocil7cmV0dXJuITF9dmFyIGU9Z2xvYmFsLmxvY2FsU3RvcmFnZVtyXTtyZXR1cm4gbnVsbCE9ZSYmInRydWUiPT09U3RyaW5nKGUpLnRvTG93ZXJDYXNlKCl9bW9kdWxlLmV4cG9ydHM9ZGVwcmVjYXRlOw0KDQogIH0pLmNhbGwodGhpcyx0eXBlb2YgZ2xvYmFsICE9PSAidW5kZWZpbmVkIiA/IGdsb2JhbCA6IHR5cGVvZiBzZWxmICE9PSAidW5kZWZpbmVkIiA/IHNlbGYgOiB0eXBlb2Ygd2luZG93ICE9PSAidW5kZWZpbmVkIiA/IHdpbmRvdyA6IHt9KQ0KICB9LHt9XSwxMDE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmNyZWF0ZT9tb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3Quc3VwZXJfPWUsdC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOnQsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSl9Om1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dC5zdXBlcl89ZTt2YXIgbz1mdW5jdGlvbigpe307by5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG8sdC5wcm90b3R5cGUuY29uc3RydWN0b3I9dH07DQoNCiAgfSx7fV0sMTAyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsNCiAgbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24obyl7cmV0dXJuIG8mJiJvYmplY3QiPT10eXBlb2YgbyYmImZ1bmN0aW9uIj09dHlwZW9mIG8uY29weSYmImZ1bmN0aW9uIj09dHlwZW9mIG8uZmlsbCYmImZ1bmN0aW9uIj09dHlwZW9mIG8ucmVhZFVJbnQ4fTsNCg0KICB9LHt9XSwxMDM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAoZnVuY3Rpb24gKHByb2Nlc3MsZ2xvYmFsKXsNCiAgZnVuY3Rpb24gaW5zcGVjdChlLHIpe3ZhciB0PXtzZWVuOltdLHN0eWxpemU6c3R5bGl6ZU5vQ29sb3J9O3JldHVybiBhcmd1bWVudHMubGVuZ3RoPj0zJiYodC5kZXB0aD1hcmd1bWVudHNbMl0pLGFyZ3VtZW50cy5sZW5ndGg+PTQmJih0LmNvbG9ycz1hcmd1bWVudHNbM10pLGlzQm9vbGVhbihyKT90LnNob3dIaWRkZW49cjpyJiZleHBvcnRzLl9leHRlbmQodCxyKSxpc1VuZGVmaW5lZCh0LnNob3dIaWRkZW4pJiYodC5zaG93SGlkZGVuPSExKSxpc1VuZGVmaW5lZCh0LmRlcHRoKSYmKHQuZGVwdGg9MiksaXNVbmRlZmluZWQodC5jb2xvcnMpJiYodC5jb2xvcnM9ITEpLGlzVW5kZWZpbmVkKHQuY3VzdG9tSW5zcGVjdCkmJih0LmN1c3RvbUluc3BlY3Q9ITApLHQuY29sb3JzJiYodC5zdHlsaXplPXN0eWxpemVXaXRoQ29sb3IpLGZvcm1hdFZhbHVlKHQsZSx0LmRlcHRoKX1mdW5jdGlvbiBzdHlsaXplV2l0aENvbG9yKGUscil7dmFyIHQ9aW5zcGVjdC5zdHlsZXNbcl07cmV0dXJuIHQ/IhtbIitpbnNwZWN0LmNvbG9yc1t0XVswXSsibSIrZSsiG1siK2luc3BlY3QuY29sb3JzW3RdWzFdKyJtIjplfWZ1bmN0aW9uIHN0eWxpemVOb0NvbG9yKGUscil7cmV0dXJuIGV9ZnVuY3Rpb24gYXJyYXlUb0hhc2goZSl7dmFyIHI9e307cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbihlLHQpe3JbZV09ITB9KSxyfWZ1bmN0aW9uIGZvcm1hdFZhbHVlKGUscix0KXtpZihlLmN1c3RvbUluc3BlY3QmJnImJmlzRnVuY3Rpb24oci5pbnNwZWN0KSYmci5pbnNwZWN0IT09ZXhwb3J0cy5pbnNwZWN0JiYoIXIuY29uc3RydWN0b3J8fHIuY29uc3RydWN0b3IucHJvdG90eXBlIT09cikpe3ZhciBuPXIuaW5zcGVjdCh0LGUpO3JldHVybiBpc1N0cmluZyhuKXx8KG49Zm9ybWF0VmFsdWUoZSxuLHQpKSxufXZhciBpPWZvcm1hdFByaW1pdGl2ZShlLHIpO2lmKGkpcmV0dXJuIGk7dmFyIG89T2JqZWN0LmtleXMocikscz1hcnJheVRvSGFzaChvKTtpZihlLnNob3dIaWRkZW4mJihvPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHIpKSxpc0Vycm9yKHIpJiYoby5pbmRleE9mKCJtZXNzYWdlIik+PTB8fG8uaW5kZXhPZigiZGVzY3JpcHRpb24iKT49MCkpcmV0dXJuIGZvcm1hdEVycm9yKHIpO2lmKDA9PT1vLmxlbmd0aCl7aWYoaXNGdW5jdGlvbihyKSl7dmFyIHU9ci5uYW1lPyI6ICIrci5uYW1lOiIiO3JldHVybiBlLnN0eWxpemUoIltGdW5jdGlvbiIrdSsiXSIsInNwZWNpYWwiKX1pZihpc1JlZ0V4cChyKSlyZXR1cm4gZS5zdHlsaXplKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKSwicmVnZXhwIik7aWYoaXNEYXRlKHIpKXJldHVybiBlLnN0eWxpemUoRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKSwiZGF0ZSIpO2lmKGlzRXJyb3IocikpcmV0dXJuIGZvcm1hdEVycm9yKHIpfXZhciBjPSIiLGE9ITEsbD1bInsiLCJ9Il07aWYoaXNBcnJheShyKSYmKGE9ITAsbD1bIlsiLCJdIl0pLGlzRnVuY3Rpb24ocikmJihjPSIgW0Z1bmN0aW9uIisoci5uYW1lPyI6ICIrci5uYW1lOiIiKSsiXSIpLGlzUmVnRXhwKHIpJiYoYz0iICIrUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpKSxpc0RhdGUocikmJihjPSIgIitEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZy5jYWxsKHIpKSxpc0Vycm9yKHIpJiYoYz0iICIrZm9ybWF0RXJyb3IocikpLDA9PT1vLmxlbmd0aCYmKCFhfHwwPT1yLmxlbmd0aCkpcmV0dXJuIGxbMF0rYytsWzFdO2lmKHQ8MClyZXR1cm4gaXNSZWdFeHAocik/ZS5zdHlsaXplKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKSwicmVnZXhwIik6ZS5zdHlsaXplKCJbT2JqZWN0XSIsInNwZWNpYWwiKTtlLnNlZW4ucHVzaChyKTt2YXIgcDtyZXR1cm4gcD1hP2Zvcm1hdEFycmF5KGUscix0LHMsbyk6by5tYXAoZnVuY3Rpb24obil7cmV0dXJuIGZvcm1hdFByb3BlcnR5KGUscix0LHMsbixhKX0pLGUuc2Vlbi5wb3AoKSxyZWR1Y2VUb1NpbmdsZVN0cmluZyhwLGMsbCl9ZnVuY3Rpb24gZm9ybWF0UHJpbWl0aXZlKGUscil7aWYoaXNVbmRlZmluZWQocikpcmV0dXJuIGUuc3R5bGl6ZSgidW5kZWZpbmVkIiwidW5kZWZpbmVkIik7aWYoaXNTdHJpbmcocikpe3ZhciB0PSInIitKU09OLnN0cmluZ2lmeShyKS5yZXBsYWNlKC9eInwiJC9nLCIiKS5yZXBsYWNlKC8nL2csIlxcJyIpLnJlcGxhY2UoL1xcIi9nLCciJykrIiciO3JldHVybiBlLnN0eWxpemUodCwic3RyaW5nIil9cmV0dXJuIGlzTnVtYmVyKHIpP2Uuc3R5bGl6ZSgiIityLCJudW1iZXIiKTppc0Jvb2xlYW4ocik/ZS5zdHlsaXplKCIiK3IsImJvb2xlYW4iKTppc051bGwocik/ZS5zdHlsaXplKCJudWxsIiwibnVsbCIpOnZvaWQgMH1mdW5jdGlvbiBmb3JtYXRFcnJvcihlKXtyZXR1cm4iWyIrRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkrIl0ifWZ1bmN0aW9uIGZvcm1hdEFycmF5KGUscix0LG4saSl7Zm9yKHZhciBvPVtdLHM9MCx1PXIubGVuZ3RoO3M8dTsrK3MpaGFzT3duUHJvcGVydHkocixTdHJpbmcocykpP28ucHVzaChmb3JtYXRQcm9wZXJ0eShlLHIsdCxuLFN0cmluZyhzKSwhMCkpOm8ucHVzaCgiIik7cmV0dXJuIGkuZm9yRWFjaChmdW5jdGlvbihpKXtpLm1hdGNoKC9eXGQrJC8pfHxvLnB1c2goZm9ybWF0UHJvcGVydHkoZSxyLHQsbixpLCEwKSl9KSxvfWZ1bmN0aW9uIGZvcm1hdFByb3BlcnR5KGUscix0LG4saSxvKXt2YXIgcyx1LGM7aWYoKGM9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGkpfHx7dmFsdWU6cltpXX0pLmdldD91PWMuc2V0P2Uuc3R5bGl6ZSgiW0dldHRlci9TZXR0ZXJdIiwic3BlY2lhbCIpOmUuc3R5bGl6ZSgiW0dldHRlcl0iLCJzcGVjaWFsIik6Yy5zZXQmJih1PWUuc3R5bGl6ZSgiW1NldHRlcl0iLCJzcGVjaWFsIikpLGhhc093blByb3BlcnR5KG4saSl8fChzPSJbIitpKyJdIiksdXx8KGUuc2Vlbi5pbmRleE9mKGMudmFsdWUpPDA/KHU9aXNOdWxsKHQpP2Zvcm1hdFZhbHVlKGUsYy52YWx1ZSxudWxsKTpmb3JtYXRWYWx1ZShlLGMudmFsdWUsdC0xKSkuaW5kZXhPZigiXG4iKT4tMSYmKHU9bz91LnNwbGl0KCJcbiIpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4iICAiK2V9KS5qb2luKCJcbiIpLnN1YnN0cigyKToiXG4iK3Uuc3BsaXQoIlxuIikubWFwKGZ1bmN0aW9uKGUpe3JldHVybiIgICAiK2V9KS5qb2luKCJcbiIpKTp1PWUuc3R5bGl6ZSgiW0NpcmN1bGFyXSIsInNwZWNpYWwiKSksaXNVbmRlZmluZWQocykpe2lmKG8mJmkubWF0Y2goL15cZCskLykpcmV0dXJuIHU7KHM9SlNPTi5zdHJpbmdpZnkoIiIraSkpLm1hdGNoKC9eIihbYS16QS1aX11bYS16QS1aXzAtOV0qKSIkLyk/KHM9cy5zdWJzdHIoMSxzLmxlbmd0aC0yKSxzPWUuc3R5bGl6ZShzLCJuYW1lIikpOihzPXMucmVwbGFjZSgvJy9nLCJcXCciKS5yZXBsYWNlKC9cXCIvZywnIicpLnJlcGxhY2UoLyheInwiJCkvZywiJyIpLHM9ZS5zdHlsaXplKHMsInN0cmluZyIpKX1yZXR1cm4gcysiOiAiK3V9ZnVuY3Rpb24gcmVkdWNlVG9TaW5nbGVTdHJpbmcoZSxyLHQpe3ZhciBuPTA7cmV0dXJuIGUucmVkdWNlKGZ1bmN0aW9uKGUscil7cmV0dXJuIG4rKyxyLmluZGV4T2YoIlxuIik+PTAmJm4rKyxlK3IucmVwbGFjZSgvXHUwMDFiXFtcZFxkP20vZywiIikubGVuZ3RoKzF9LDApPjYwP3RbMF0rKCIiPT09cj8iIjpyKyJcbiAiKSsiICIrZS5qb2luKCIsXG4gICIpKyIgIit0WzFdOnRbMF0rcisiICIrZS5qb2luKCIsICIpKyIgIit0WzFdfWZ1bmN0aW9uIGlzQXJyYXkoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSl9ZnVuY3Rpb24gaXNCb29sZWFuKGUpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGV9ZnVuY3Rpb24gaXNOdWxsKGUpe3JldHVybiBudWxsPT09ZX1mdW5jdGlvbiBpc051bGxPclVuZGVmaW5lZChlKXtyZXR1cm4gbnVsbD09ZX1mdW5jdGlvbiBpc051bWJlcihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV9ZnVuY3Rpb24gaXNTdHJpbmcoZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfWZ1bmN0aW9uIGlzU3ltYm9sKGUpe3JldHVybiJzeW1ib2wiPT10eXBlb2YgZX1mdW5jdGlvbiBpc1VuZGVmaW5lZChlKXtyZXR1cm4gdm9pZCAwPT09ZX1mdW5jdGlvbiBpc1JlZ0V4cChlKXtyZXR1cm4gaXNPYmplY3QoZSkmJiJbb2JqZWN0IFJlZ0V4cF0iPT09b2JqZWN0VG9TdHJpbmcoZSl9ZnVuY3Rpb24gaXNPYmplY3QoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZX1mdW5jdGlvbiBpc0RhdGUoZSl7cmV0dXJuIGlzT2JqZWN0KGUpJiYiW29iamVjdCBEYXRlXSI9PT1vYmplY3RUb1N0cmluZyhlKX1mdW5jdGlvbiBpc0Vycm9yKGUpe3JldHVybiBpc09iamVjdChlKSYmKCJbb2JqZWN0IEVycm9yXSI9PT1vYmplY3RUb1N0cmluZyhlKXx8ZSBpbnN0YW5jZW9mIEVycm9yKX1mdW5jdGlvbiBpc0Z1bmN0aW9uKGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlfWZ1bmN0aW9uIGlzUHJpbWl0aXZlKGUpe3JldHVybiBudWxsPT09ZXx8ImJvb2xlYW4iPT10eXBlb2YgZXx8Im51bWJlciI9PXR5cGVvZiBlfHwic3RyaW5nIj09dHlwZW9mIGV8fCJzeW1ib2wiPT10eXBlb2YgZXx8dm9pZCAwPT09ZX1mdW5jdGlvbiBvYmplY3RUb1N0cmluZyhlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfWZ1bmN0aW9uIHBhZChlKXtyZXR1cm4gZTwxMD8iMCIrZS50b1N0cmluZygxMCk6ZS50b1N0cmluZygxMCl9ZnVuY3Rpb24gdGltZXN0YW1wKCl7dmFyIGU9bmV3IERhdGUscj1bcGFkKGUuZ2V0SG91cnMoKSkscGFkKGUuZ2V0TWludXRlcygpKSxwYWQoZS5nZXRTZWNvbmRzKCkpXS5qb2luKCI6Iik7cmV0dXJuW2UuZ2V0RGF0ZSgpLG1vbnRoc1tlLmdldE1vbnRoKCldLHJdLmpvaW4oIiAiKX1mdW5jdGlvbiBoYXNPd25Qcm9wZXJ0eShlLHIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKX12YXIgZm9ybWF0UmVnRXhwPS8lW3NkaiVdL2c7ZXhwb3J0cy5mb3JtYXQ9ZnVuY3Rpb24oZSl7aWYoIWlzU3RyaW5nKGUpKXtmb3IodmFyIHI9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspci5wdXNoKGluc3BlY3QoYXJndW1lbnRzW3RdKSk7cmV0dXJuIHIuam9pbigiICIpfWZvcih2YXIgdD0xLG49YXJndW1lbnRzLGk9bi5sZW5ndGgsbz1TdHJpbmcoZSkucmVwbGFjZShmb3JtYXRSZWdFeHAsZnVuY3Rpb24oZSl7aWYoIiUlIj09PWUpcmV0dXJuIiUiO2lmKHQ+PWkpcmV0dXJuIGU7c3dpdGNoKGUpe2Nhc2UiJXMiOnJldHVybiBTdHJpbmcoblt0KytdKTtjYXNlIiVkIjpyZXR1cm4gTnVtYmVyKG5bdCsrXSk7Y2FzZSIlaiI6dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShuW3QrK10pfWNhdGNoKGUpe3JldHVybiJbQ2lyY3VsYXJdIn1kZWZhdWx0OnJldHVybiBlfX0pLHM9blt0XTt0PGk7cz1uWysrdF0paXNOdWxsKHMpfHwhaXNPYmplY3Qocyk/bys9IiAiK3M6bys9IiAiK2luc3BlY3Qocyk7cmV0dXJuIG99LGV4cG9ydHMuZGVwcmVjYXRlPWZ1bmN0aW9uKGUscil7aWYoaXNVbmRlZmluZWQoZ2xvYmFsLnByb2Nlc3MpKXJldHVybiBmdW5jdGlvbigpe3JldHVybiBleHBvcnRzLmRlcHJlY2F0ZShlLHIpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07aWYoITA9PT1wcm9jZXNzLm5vRGVwcmVjYXRpb24pcmV0dXJuIGU7dmFyIHQ9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIXQpe2lmKHByb2Nlc3MudGhyb3dEZXByZWNhdGlvbil0aHJvdyBuZXcgRXJyb3Iocik7cHJvY2Vzcy50cmFjZURlcHJlY2F0aW9uP2NvbnNvbGUudHJhY2Uocik6Y29uc29sZS5lcnJvcihyKSx0PSEwfXJldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19O3ZhciBkZWJ1Z3M9e30sZGVidWdFbnZpcm9uO2V4cG9ydHMuZGVidWdsb2c9ZnVuY3Rpb24oZSl7aWYoaXNVbmRlZmluZWQoZGVidWdFbnZpcm9uKSYmKGRlYnVnRW52aXJvbj1wcm9jZXNzLmVudi5OT0RFX0RFQlVHfHwiIiksZT1lLnRvVXBwZXJDYXNlKCksIWRlYnVnc1tlXSlpZihuZXcgUmVnRXhwKCJcXGIiK2UrIlxcYiIsImkiKS50ZXN0KGRlYnVnRW52aXJvbikpe3ZhciByPXByb2Nlc3MucGlkO2RlYnVnc1tlXT1mdW5jdGlvbigpe3ZhciB0PWV4cG9ydHMuZm9ybWF0LmFwcGx5KGV4cG9ydHMsYXJndW1lbnRzKTtjb25zb2xlLmVycm9yKCIlcyAlZDogJXMiLGUscix0KX19ZWxzZSBkZWJ1Z3NbZV09ZnVuY3Rpb24oKXt9O3JldHVybiBkZWJ1Z3NbZV19LGV4cG9ydHMuaW5zcGVjdD1pbnNwZWN0LGluc3BlY3QuY29sb3JzPXtib2xkOlsxLDIyXSxpdGFsaWM6WzMsMjNdLHVuZGVybGluZTpbNCwyNF0saW52ZXJzZTpbNywyN10sd2hpdGU6WzM3LDM5XSxncmV5Ols5MCwzOV0sYmxhY2s6WzMwLDM5XSxibHVlOlszNCwzOV0sY3lhbjpbMzYsMzldLGdyZWVuOlszMiwzOV0sbWFnZW50YTpbMzUsMzldLHJlZDpbMzEsMzldLHllbGxvdzpbMzMsMzldfSxpbnNwZWN0LnN0eWxlcz17c3BlY2lhbDoiY3lhbiIsbnVtYmVyOiJ5ZWxsb3ciLGJvb2xlYW46InllbGxvdyIsdW5kZWZpbmVkOiJncmV5IixudWxsOiJib2xkIixzdHJpbmc6ImdyZWVuIixkYXRlOiJtYWdlbnRhIixyZWdleHA6InJlZCJ9LGV4cG9ydHMuaXNBcnJheT1pc0FycmF5LGV4cG9ydHMuaXNCb29sZWFuPWlzQm9vbGVhbixleHBvcnRzLmlzTnVsbD1pc051bGwsZXhwb3J0cy5pc051bGxPclVuZGVmaW5lZD1pc051bGxPclVuZGVmaW5lZCxleHBvcnRzLmlzTnVtYmVyPWlzTnVtYmVyLGV4cG9ydHMuaXNTdHJpbmc9aXNTdHJpbmcsZXhwb3J0cy5pc1N5bWJvbD1pc1N5bWJvbCxleHBvcnRzLmlzVW5kZWZpbmVkPWlzVW5kZWZpbmVkLGV4cG9ydHMuaXNSZWdFeHA9aXNSZWdFeHAsZXhwb3J0cy5pc09iamVjdD1pc09iamVjdCxleHBvcnRzLmlzRGF0ZT1pc0RhdGUsZXhwb3J0cy5pc0Vycm9yPWlzRXJyb3IsZXhwb3J0cy5pc0Z1bmN0aW9uPWlzRnVuY3Rpb24sZXhwb3J0cy5pc1ByaW1pdGl2ZT1pc1ByaW1pdGl2ZSxleHBvcnRzLmlzQnVmZmVyPXJlcXVpcmUoIi4vc3VwcG9ydC9pc0J1ZmZlciIpO3ZhciBtb250aHM9WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXTtleHBvcnRzLmxvZz1mdW5jdGlvbigpe2NvbnNvbGUubG9nKCIlcyAtICVzIix0aW1lc3RhbXAoKSxleHBvcnRzLmZvcm1hdC5hcHBseShleHBvcnRzLGFyZ3VtZW50cykpfSxleHBvcnRzLmluaGVyaXRzPXJlcXVpcmUoImluaGVyaXRzIiksZXhwb3J0cy5fZXh0ZW5kPWZ1bmN0aW9uKGUscil7aWYoIXJ8fCFpc09iamVjdChyKSlyZXR1cm4gZTtmb3IodmFyIHQ9T2JqZWN0LmtleXMociksbj10Lmxlbmd0aDtuLS07KWVbdFtuXV09clt0W25dXTtyZXR1cm4gZX07DQoNCiAgfSkuY2FsbCh0aGlzLHJlcXVpcmUoJ19wcm9jZXNzJyksdHlwZW9mIGdsb2JhbCAhPT0gInVuZGVmaW5lZCIgPyBnbG9iYWwgOiB0eXBlb2Ygc2VsZiAhPT0gInVuZGVmaW5lZCIgPyBzZWxmIDogdHlwZW9mIHdpbmRvdyAhPT0gInVuZGVmaW5lZCIgPyB3aW5kb3cgOiB7fSkNCiAgfSx7Ii4vc3VwcG9ydC9pc0J1ZmZlciI6MTAyLCJfcHJvY2VzcyI6NjYsImluaGVyaXRzIjoxMDF9XSwxMDQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpew0KICAidXNlIHN0cmljdCI7bW9kdWxlLmV4cG9ydHM9e0J1ZmZlcjpyZXF1aXJlKCJidWZmZXIiKSxCTjpyZXF1aXJlKCJldGhlcmV1bWpzLXV0aWwiKS5CTixSTFA6cmVxdWlyZSgiZXRoZXJldW1qcy11dGlsIikucmxwLFR4OnJlcXVpcmUoImV0aGVyZXVtanMtdHgiKSxVdGlsOnJlcXVpcmUoImV0aGVyZXVtanMtdXRpbCIpfTsNCg0KICB9LHsiYnVmZmVyIjo4LCJldGhlcmV1bWpzLXR4IjozMSwiZXRoZXJldW1qcy11dGlsIjozM31dfSx7fSxbMTA0XSkoMTA0KQ0KICB9KTs="}},"time_used":381,"timings":{"blocked":241,"dns":0,"connect":0,"send":0,"wait":98,"receive":42,"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":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"opendns","sensor_type":"DNS","title":"OpenDNS","description":"OpenDNS","scan_date":"2026-07-27","alert":"Phishing Block","trigger":"meta-drop.top","verdict":"phishing","severity":"medium","comment":"","link":"https://www.opendns.com/","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:08.969Z","timestamp":1785152588969,"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/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.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://meta-drop.top\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: 48532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:50 GMT\r\ncontent-type: font/woff2\r\nage: 426775\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":48532,"size_decoded":49345,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48532, version 1.0","md5":"225835e6e0496c54dc2aca9f3d533892","sha1":"942ef5298bbe74bfe44e445def5f2bfc94027fa8","sha256":"acc60d454f46f2ba233c516aa3299aa60e1f49ffd0f06b8392a7c772a5694087","sha512":"ea2ff96ed5ac965c1846b4b33990beab3d4ced66806fa44321f5dd59d9a29a8ae1a67a5816d40165af8a896677b6a24bb74ea6db53cd5e686080165db9fd62c2","ssdeep":"768:b9tYsJ6BxVEpu8sqEkvfXRGEBqH7KxpxA07hQv2bSokjQx2AOWUVOv7UeFHOpIsR:LsEcy7fXRGqqHmr7qv32UC7UetOGLkF","tlshash":"03230178cf9f85b3d33b153afaf4d20562a9067de76c4a803831051a2a55770b89dc0e","first_seen":"2025-05-29T17:27:56.345238Z","last_seen":"2026-08-11T05:55:34.577982Z","times_seen":256385,"resource_available":false,"data":"d09GMgABAAAAAL2UABQAAAAB37AAAL0fAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoZeG4KyRBzVcD9IVkFSi2kGYD9TVEFUgU4nJgCFNi9sEQgKgbtAgaEUC4gOADCCnD4BNgIkA5AYBCAFhi4HoQQMB1sVzXEmcmP3c+AywnQbAnTSpqa685dwgXb5haNNb/Y48+ca9SMVjNtruB0iNz/9U7P///8/ManIWCUF03QbAwH17t6HgrSNar27dXdUZtXAVrOh7TtsQWN4F5U2TFldO44xZpHETdyhVDAzo2ezg10W2XZCyI4qyo0SLhKSUnQq6nkNmoLvEWWb0cykCSE1YJTwuiPB9D5Qje6qUEGR+GrbVkXZyMs+gbBh0M9xonPiiCoX/c5GEzomudPxjrquzSYZ12tQ8claYniyV6se/fzmpg3zbOPUQR5WkBk5cwqGISQk5bsrKGwn1R0dK7X1T5j1h4RZdpSQYr9orjGXJf9bXo/zxHdPzuNd3O7wq1AKFeeKc4X7UfThL2nJoYViNU7KdfYfjeIkiYboEtX37QvN3+fdFexIsSAShBLap/j/N3rlyZvhh1sHZHKTfo6Iq7PGqif9UlC2qjyyqnoW8BBIewKU5olRYpAQZALpbfqI162f3ffy8lIIISQBI4YQIELEUIx0pShFFESIgChVwEaJCAQiRkRFBRSOw9IQOURsqIClof087NjQ4xT9nna0Hx+RDPG6+Xdv5yV52YMQsgkQZEuYiqsVZx27w9ExtXZICB1rW2urtVs7vrXDWpbjA1ocIOBirCxIQgb/fOyt3699bnrD7W5CdigUGoTLQmUVdCyfhMRiBCoKh8zK/aBmhmBunSCoSBhUCLJRNdhIN5asAlaMUWMbMBgbo8ZGjRppEKkiZWGACiqh2K//zq6PVj/ygObsfzaOt0V7pSLyeufsBlo/E+N61FbCRklCSBySECPEgCRIEswLFaBY6/deVU7675cfcNP+BahRn9iJG2y77b6KUE5UOut6K/PWKcU0BAjBEwgESdBgIfHh/7f1v1BQb6RTYccEOoKnqBAQKYnM4TqvKr5uVDm3Ijf08GuvP+c1RVSEmuE1u0UOuAKBRseyuqwiVOkTKmDH9g583++nZyfCVZigcoW/+yKTgnCAtwhGlqWrNKwwnZzzVByoqH27tKXv3tO7/+mvMspUycByABVAhYyaVJlsmxlNv4FOwWqvzPyGUSED6ioT3Lc5/t2sGbTMEKR0z9y/bp8Q0i112lLxzcuckF/4PVVBzgSe3v16h/I+ICqC49mqZjZboStkpWFncuH5//3a74NZo09FVieqNCuVSpo9BwkFkkbxSKjyf+iiTeVdHsKln2+kldyvtaSjI9D+6TgojM3cOqUBSP9aZlszZ5s9fTNca0JLj6qbsA8JQYDxir3p+veT02pUm50knXQPCIfQSBTlKf+8RiP07t05jdPI51UX74M6N49Vps+LqcegqSStM+6Lpbl8TJ82NrqQsDxUZqCAwZLBFMb+NS1GYhHGQTwZQ4FdRhlGwR6GYQzgYOT270vVuv7X3SAbkM0iwF2xJ4PycuZzIiTPzJlkSxNSvO+5A6FGdwNkAyRtBNEGSQWAFMcNihyD5LDMJigZIiWnIHlD1mStvCl8gHK5RclTbXI0puQJlCZqfZsY5A0h3EKIp91biOe9nWI8hXy87vG8x7meFv6/n1bSfjr76m3u0cgxINLV2jEgBtiAz6q7d6y5LWtD/g4hsd0sA01ARlsmKAMSUkKGC6AZN8AGgBiKVNMWiyM1Ar7SsFLplPpeBOjhgyAV+E50iNXzHWk5F42rVk3povT/rZk2W2bjKxQQu7o+fzc/23+0B1QA1vwXMqEDoAKRqlZ9tXJ2SmkVUKAIqjx83rTdQPqXPCDcoiyYdBdQFgB+DPMknv9+7zubw6JexZ0LXSgGGWHeYNVPqZso6FdB1He04lUmDhQT4wXEf7/X2ewg1BfyOmJsrHp5UYdS1YcuS3XBJUE1YUAo/N5pmdIlpV+FKABmGbPnayyrzHZdSik4L8haZBsdvA07GMAuHIZAXUx3/ebiEU7BByZIM5xDKIEkKCSO9/mmzqb5uc51DMVWCJ865JdVNqvXcf8h19Q8hKUuOGSgdyZPep7AuiSwJvw1wYggXGFKj/WdWG99cjveI4EMn8GEwQRhjBBGGBGyQ37P9Liz9Tvf//+ulJ7fnHMfz6raoiJGREXEGBExKjZUxHQz9xTtS9LBRiLqy35ZvEQ8Kh3jpJS2yCAqdY/rb6+9v4omktmH7ppy796uRzmpDJPJIHaQtBERkcrk7uuOsZk6+Cz3v7dhgB5ImkvDqaYD6SEF/ebSWkofVgdBPFQIAtP/DP0s8FOYBFYNqdEKafcQ8sgTSK8B0C8pMIwwoEjEABQXcQHFQ6aAsk4GZZ8CKjg8VHhUqOqKoTamh9qSEWpbZVD78kIdKAB1ukaojpqhruZE1BcH9bkAtO9FoBAMHAXsglBdzZY9R5UiINR1CIxnI8E4FbgXcDtwGBMIhoA3PB9a3zkF30UqvjqFuEQO/YSmn6+v/NkhxnywCV4DfggGBAOtj+hJ5YHwHBhAH5BTFfUznOOYM65nEufDzrmeJ63ILlhf+Hg17DL/cvY16fXsG9KbpJvSm/KbBTcVX0q/Crgddht5W3rH807ivbB72fdDHzAf/jaeHAcPcY82PFr5KPtR7iPp49AIXrr80t2XVE9c23Njzy09d/X86Knb+pJJsQ/ODvTd3nd33719qmeyqa39V/Vf239L/10DR84bySKpHLhwILDMiAbH6VEQRVM9zbMYV0AIF5zIRgHH+FDBfBawJBWpzrmp03OiXuWoYH24aOf2nrvAo74ts8IqWzzXOq+d3qM6mqIrX1eVMsaF3AEXlBXlmyrcSqWiqhJVqp5Tra7N1Hq1vlqlJmlEGvfxx9vdPHTxWZ74ET6Dz+WLm1Sz0nQ1S5q1Lap1bbukXdoua5d3iruubnG3pFvWrRUSvU4P6Z0vkpKnNs74TGMHBdxxKdgAebqT3iGFCpzfZD/QT00Q0chRcF8VBs9HyBcKxb8qUdwKSi/lK7XaAW1orW0bW9FqLYzzr/39vnzWs1HpeyYDQZvfiaWyIrW9MlAda/2myezsTbcHDeBELJ4kqQydY/LFUiVYb/CtjtBDEIxg0WwOwxOIZRq9McPsYqvdVVxSIzVsbIbzBSD4a84BXMcfBOwQqQZ50+tqE9wfUsnGoXxENhCD8rGefBISJGBttAADkUMTeAZt8ZhPskl43jSH/+R+yB4XS+xdAoQh1lfVEaAIOlKwuuLj3ma55DugFA+FD2FD0O5Gs3hLUeJi8OdCQYyLGAm7mUnwpRExGIzP6F0ZkIpNgKk3m//66csmRHV7BvYud4jZJoHJfzkoIPAqYTygHAyw6FK73S6+0K7juNUIF/EFdoUbfx7i2JdxTpp0XensPdajPDj84HUffVp6jp00a3UEhzaZSs7Hkxt83GOcxZatHutoPZ+e/ImPYwwSleWPcFTySofnJVnfct820fZenFldu1rbc+nO73h7b+tVTOosLW9hYk1Lby+PHlL7RE4HizGLqY412mBF4unss9yf4o0h8llaHHXsIgybhnX/PdfOvfZar1ydrdZaJnUf8NPIj2yw3EI7dJB6edQQqV75Ispe+jqzREodLG3RlV/xcjR7Q62UWzmUZdGMfrFK39IiR/dk1KknYkyJGRkxS1SgqGzM6TmKFKVjUpjHsJKgVUlh8gtJojTwhLwfUqWS3W4Pw3RSSzFVtKMkiMTPJ2Uj8ANFROGcZAPm4YYZcgjwi4uW+QQmcHaM+lzCG0pIwMYDO7+J7d3mrdvWLdkFO7rd27zVe6Udr6ktXsSGubw48LERYBNEsElgGmXbEDaQNfltlsgleEUcDKLV7GIOZllMj8pW462aytuVEFvpg0nYYKurdgVilTk91o39WAUj68uaAg0lL/2wJS+PX/Tv4PI1t5mL/Nj43agdvCBwODZxIPR4hZarUYaNWvVl+uZ+1dD6h2l1ox44l0Ogau0z0T3cKaLzf3Rdmno1Yi0lQ2bp0/YKjT9LRlF3W3WAfUqjHi+kWjtzyHmZnxvnP87jDx8EgoU4mMk2x7JsDkqdOgS4++8avNVPn58qaBK/6b/37vf2BG0vrv95W+1aEf5/UHO+Yo61OUeLLqd3OF1MhGajL4QIvtjxNxexuWnXTGeaC5+t2WY76pEqZHYU8VJheV+JwH45j+BZXqhVDk8sbbU3IegTKMDd/VboOt3S9pphfk3fbx9rnWDfno5qmIPc1U3lmPR358/zd2V6x+gsys5VB6e8jvpSwxaNNjnlxVwUUd0fQrTEa3twg5Ja4vvD9E++Nz++uxVi/eEnU/yR1LSbsk9DVGFs/m/rT/mXVE/Pt9W2lagXg7LToBG0gfcFzKnCl4K8KBn4qp9qPbNuvuUgfwxlASkYu/jXpeimJVKbzVT5Ki40wvDXVN/u9t6OvLlsqmmRV9Z6s2caIW3owLw9W8Sbn9SuSXshzAp7ixlu84BBj7mD1avb51vo7Aev60mw9uzd9Zvy4ho7vtwzHPaVV32ur7r8FbAsV/iD031WvtDwsmfxHPpw1wfLGLfKtmOz4o3q7SLQQFFOYR/C3lMYQln7yo7jy2gKelTmueIOVliCWiUnK/yWeDrmT3coh4AcCWTptdu2alyaP+avkOKyQ28R1erJf3nS+fkQRTpKXYoT8Pn77F3gFIQ0mE1tTk2xsa5b67gv2HJYJ8d0IdXq8qf350ZcP8cy82EFuvLX/BM/7J6MFY+AJ3FRdpMjKxJnofnropMNXQjRVVe5/aPPCG1JVFXwQHJT8XR/e1GuZDmtPSeVItvYyRXt/prvkMi3d75cnmf23CjEYJranOxSSjp5ZcVcED4WV0+3bF1HB8hkPd7qbAhleZd0XIob9ZG82gyoPW1Ordln7nrJilptRzb/dJyzt4+yuzLXdXvi8WQo9/ewOELEVRJCc1cL2kb51fjmtsCgZU1Odpl4sYCw8qCcW/uPhw5+xfTr8+dYzBDS5svlx+6grUTzTnRBR/NSWwiG49jhj0in5yuawz/e1dZjjuP1ITd1piE6ipZ5M+11dLKghf1rM5lWUdtXhrZki8exHO75H9kZm0VVS9rAxBxCyG5uRSJvvXDs349hD5ZUPblb9zruC0XTyXA0UNtgelL+ROmlsPrrzj6mitLte58Nwv6EgKo/bzjkloc6uxS6q/MK64f+0//zQDdCg3bIB8rH9LF8nDFuH+KXBoECHv1wb+7gChpqm5WAgOyK6PxZUuS1e3jaa3HX+Ld9dgWHuCSoDxm3shWYppdcrXQ7HdhE9cH3sXPb4C83DEZbpZ8OorJvw6bKrxfnFCc4XLaPN3mSh+Kzpb1Wb4U1bQZmk+4hsQOdiut2btwJDpftszd5cvxDxWedL4CWr1tUovQuJJ4ND+XejD7MuJD2ZQdkx1X8yPiKd3l2/G6+irds57gnMtv7YmZEj9AwjgwjFx7nXfICdno5etXihHisD/PGQyYD7OIUbCP+pek6+uHrX97WXisbMZzi5ujt+pUSEg8usiX8pM8jMWsYViQa4Zi5bPOfnfHcNH28X296rmCXbUa0ekICX2R0ykqUzOsFK2BWBGXSx5zd8lDkms5T/J/wSMj+uHFo70M4m7GHhUHETNa26aAgfiesHZ0zPQwsjmMos5PbnvyDWH3H54w3HBcQxU9FITbgFzWExK5s/K7lZBpQq+CrEEFyPTZrD2IBF+JcJhtmrqxS9GsngrHeklqyY6mOIfIYFRXrLffGzC/HYArjAvuY4RBxY0It2igxKkxWpdoyNWott1GrsrqNLzRwmsu06fo4oteR6k96CwErhG/tmck0Ln0PpusPwEcCE0n1LxdCNL/8CqD+uh+C8REnP7L9ifCAccz/VYPjf3v4D3aqSZH1XRP6VV7/UkeTO507JJ9w6fDbX4Edda4O15GkOJDcL1IEpw4WfrWwUJBgQXu5EfY5tGm7YcGph4VbAQZuzB/yeN8V59Jdqwf6v10zu0tj/HLwhUpi8Hv99pUvVPrjhKYNhAqzCtUvVVaLfzl/W16q3H1K4tCppVEkH4tv80sqV4wbqKLqWvKCO2XZ2pUAwTFEt7uMl7LzMZfLSMBycWH9rTO1KGAZit+UgojUXICyPYtunOegdzxhf8Gmgup+Xz0LNIP6uamulpBLFD5fKiYDJV6/B25nFWEtVgOVpXpfV+pmYqzzM+dBwbfHx9PLqvrfC31stwrpYa2pBTX9aFSs8ls12wZp/4C5VNvMj3WwqR5lHmysc6z/+y5dRw796Qfw95PAX5ZpEXnIsEYaJ9/0kcBvUMp58BCauAAY/24/8NjJWRmqS4RwEg/TdJP/moUBL4IYok3U6sG9ETjBmzrEL0rYZfebbU703StN+9b6fgwvnHnoyd//Ez9slnYRNCpiUdTFCynYJaWFbEMbFzyM+Sfw+MEm1t840w6bYObdfhR8FwF6G7BOf2Mf3UKaxXiFK+P6kvapZpPj9WLUjxzydSRWWnmqQp44qs5TwtpXWxezg6maxLUo5Rup0xZ+a3mjBZgvBjA3IrMhPpXGfzyPb2vrRXY9b+5rbXcAmy8bRqSJAEL1aA/r8OwCLEJ13WxhunMNNp7aHaabZRQQsRAH6GyEky3c7DHJ4RGvsfkyLTASi8LBpql38jRxbBQb158zExpZUnkcm18ht3JSc09XNd9Kok2oJYWwdpuYVk9GUQ1BbCPEtY8ZjSXim85jZochoZMfJbZQTFKmAlJ6VVo65OYmSO8vZeKCur0udVe5Libsc4jUvTi0igxDMycMBBFAEgmcYgDrKCCMBoJYwDH2ADuTFJSNhXPPA8pTyLxAeYPzAeULWSBmTcCyIHiFwGsSvMKg0jCq6RDFIi8O1EzIZoFKgiwZTikJVqllY5dGzyK93DcZ5aGbXwFmWRVhpBXUQsTlYtEixOVhkS6BK6wCSg9ki0EVg1sCqqTHWBa5LReyFaBW9lKUJbyvScKkCiGrRNpaqNbBr2owwX0a1mREGxndJmzazMi2YN5WhrcdWXWIqu+82sahrKEGe1A0U1ZnK3oQDvUoAkam4MuOAcMCwYEow5Bl/1oUp56BhSOg0aGx3kU5GN9dZGHiz0c0MQw+fGpWcDj8Yiv20AjbWDN7zW3y9AztSujQ6C9Hhol7MOIwE2wcJthYRa0LkeUgJBjOynBWu1gHo7yD7x6ywZjuoskUJsMlZIpgTYnBNpYOzpGEgiUBKXk3735HvShkr73KROCAJr77PhIiWYbgx7mX11yt1HNx5HEa2YAWYnBohEA8RCAmohELTU9s9s+sWR11DPHGnyCx+iHCjquRWeggsONcggDDAAY/Ai3abBMy/c/HSHS56bQ+sVsvwMJdBjaHUiiJFBpE1zWg4d4IT7QeEDV4rWoHwvYFpOkExcUAKabxyjQTcYxBJKKAVbczCFZbAoyV37xY72yoUgB2ykE6C+yQQWi+PJUmRlS8G6aIXCW79yNOEtHxu/0GsIaLyqmqXgBm6g7GANu7wsONAhEIJMBI/Tb6qCLIV07eHu+OwfhnID0Jr4eEPIThE+ylHiEKeXTXpve6N1CNARBWPA3D4fIc5Bc6YYlNclI2pdgHp0ebgqzePAeILEWRR5HyBNLCyGRBH2qVNtGnko8EM7B2mGvsGQGWnyxRWspMHcbPxDRmSGB1HOPz4rYn8UQ8Cb/ulPS6WsmkT7gk1qo8rV0o1rX7LyDFMm51DGISoPArQfFUrxy2URY6y1MjJtGVUJLBJI9wPOrcA3kqq37MJ2fQAZikUqWP/0+q0iC5pJAeSkzjqBK0ztEXekmnX7fj6rL1UsYnf94Kv6s0B923DCWLd8LaRBKaEaGMwXJhdWvcep/Im8rjU7wXuJvKxC+wtaFhTgRDAK4+uin2tX3a2PPdPu3PhUl4nG3r5erN6QP4WGgLE/a2gleKhl3tdaLxfmVVo40bsq3tbfQaGzZbYgYN+fEvMZ1PcSfejohnBtrkRUN5Io+uq7iU7laPuSA9CJ3T2NXGdP268EyuO54r1/zFvXG/vE3OlUh9cmQBWg7vG6H4W9StKBiclPY1YEa1kbplAHuLY4tKltKSY2eVZl+nwX0gt+Wz+g1YjhXh/TjpNZ79SOPQptI7v94Q+6mkqXYi5Xm5enVA+3rXFZoYjCqFtDb3zQkjnvmfqdfoNZ6Mttp452omzZl1snYuU6Ofa1NvGEHi4T71dHNtoqk3Ecah0BBO1ch1TujSqQkMeQRfV1ON6JM49hHdYl/sN/9wIe7hKppYO05d861ZSS7bocOidLX+Lx4du73JWnh4KEAtLWtKi2KOMIslhJKOfWndY4G8t4XB/A0kDf7ad5FT4HGDW0dQC+xEaeex4Rp7Ezg1yrDjIQBUA6/3lxua48Vyhf7mQ+duGfK676o2GGWb0YXjy3jtk11n7s1fqzSAlhBWa6urSFGtaUv75HMJiHX7Chnt55bdk/559TdZWpRXVB/Zg02vHvDi/CaJPx5Cer19z0BLxF401exuOOVOU2Pcz7gPjouHfMk3pgX54V6UYdTu8F0sFXQKEmTGYvbxf76LMgBpGQJ51pf0m90b4/WY40rRPYtfu5X7Y5MVe0EO46TuNCx2MKWM9+d7watwjUvw15wm3U3SXz0qXdH/DbolVMZB7p/QMtcSxFv5YEUKG9BjcUDeZZuuO2oa4s03fhpSY+1COdH1KKk6UOZjDvBpN/zkdED+V2C8RSaP3KzyMIyLYf9ScK3e1iRdk6WTpqBp3Z2WqyfXBNnZiaszAaS2D6UUHX1eF6Bti/Ayg9VNviY7mmGag/AW+j321Ovyp8U9xPy8yA3M9+H7dtx3Ki68l+k759VaWxgX0aLgGdq8XKC9BtiTV0S/s4ObkLkUaEt9KtzNSyTtaRjemgQT+mwK6/SKZDB5a8tWIRS8i2Ge1nOi7xXm8V0/zHxLCW2CKgUgNPCBizkew1inZXy1MS4wkuSN3VbSBCWgB3tp2OVTrcXXY57nAyB1vtLKwG8XzD7zNCtNGa1YDt7CWUt7r2EnGkWTqBz3BM6rTU3hq6j83pp6ilHK0eZqbEqjmSCt2P5Y3O3g+uDH4dAlXMzcD7598hmHmi5huLQGh9vKH2wjDUk+P++zSl/buxag+4u6OgAMLZAE5j1mC4inclsUH6XeuN4f8O7hahes6iNuCfmEULazHlqDQO0OcEHgaAPHK4C4z+4F5Qf2who2jYaWsVXdc4jaxNq+cwdlbz+42/GtXdWKK+mJBU5IPw2JK6EleA6AJsBg7sKI6yuBguXkYfrq9J4oLeHjZ5qIPpbsMH+VcBxaIVoeRj13s+LlIm+ubDMwbdq0tLIw3QUQX/RjjpbJ2EnaClVdCm2S3ku2EutwxhgYg2pVUuvAVpaNqdV79q/0eVt3XP2WRZBDbIxP3EjbjDmgVA2caD5o0LvLKh8Y2vi6+x2pWSr36t55Rpr9DZDNXE6y3g+wmKoCSjx+SkvkFXOydzO6cGD3ee8amaIPbAXJax8tKEzm48Oc3oj+tfn3NAY+NrJTs7zCyLPFKu99wMajGL/8DSc9VgeAEQCMMlBQxAMAskPvigRTPbGw2zoEjCUhSjkXz2d6BsrasIvU9fum+8L7mjwu+9a9TwH8EqluQpiWFFuJn5aWOKDI2/qy/Uz7082T66vkUs2I1U0qPdjHn5L8YtoX2MLCNOIWuf+5rQOXF6/MLTbVKktmhdKwNR+9wJoR93zT8bLJtiVoJ7rHSygXFGv/Jyz2n9u1yqVZpUbebrAmOUR9+gQuoLUHV5Hs97J5yYRFBpwgbVCtg/QR6QksF9TWAaTx5SrQxBgBe7/PUizED98evIx1Xd2rl7jisY2yaKUxUtHTZ+Mex2JSt5NPS12Pd/fM96gL3U2AWjRH3s4h+h4BXAvjBpRtfhZCCoYH2KcLxk/saA9YadppDXdWseDsA1nCZdoDMj4w8xQtUEgyDaALV7vj9/FbqrEF1JZ7WbQoy+BRrDEMhw38+/+lxEIQAYPhiIKhWIiDAB0/OoFsO4nsOwM5HFNT71rMll3LpeXacmt5tLxa3q3AVmgLdqMn1+r49dCf6+Tx81PsWp9/15f7kaOvU0/6hDkSXEfN2P3wZ4VOrnEq7uB2B9RvkwFX5egzj3Z91LPBGXXlzEJPRY4Jq27KhJFbbok9dOdAONzJdfsEuZxy8Lc76ubBaSbXm6uR2rp1JM5GZ3OXWfsGF9XYGQ+6xRlc7lqPXXKZK3I+6oiRi9kNT+1xmINr70iVE+uEzkEjD1zOBPhn92Yc6r4LswOCnGqb3+v0kYeu5JzVJTkPDnG8lXNt1KUzm1B3/k8NK2CmGPjMIAJCJBE5xJY9koIjRGkUISejISouhFy5QcYYw5ZaACRQNJLGdEiMGKRYMyDxZjGTIJGJJJlYsuQYRivPCPkKCOgYcC21jFipdZiq/AapsQNWr56dnf6ANWqC7NbM1B57Se1zgKkWLaQOOsxUqzaW2p2EnHIB4aKbsFtuI9xxB9blHsJ9D3F064Y88jdKjydoTz01Xq9/0V56je2ND6z0+Ujik2m0fnEyP82ABiUgfkkqNiTFGkYYnCMQAWNjIAZ4RCEKXKIRDc6xEAv8YiM2+CRPzia77NikSMFmtuYciz9DEo8IDx+PiCpjpgwaxckoTkZxem3dlHGPTRFbvx4ZfdvwZx6vOZN4RHhEHNhTcGBPTmY4HlduXLnh4xHh4ePh4xHh4eNREnFnbfSPyqorMbJau0fd5nvG1faM75RIvGN+1b0AT9gqGBeDCVPM4iCoYWeJkSzYYJJbRhdKRpRILNdYlkXRP7sT8eBFQkUdRRvm0v7JQjQ78qVFSY8q9PdK64xUpRay0Q6oUFizgrEosEqxUrHGUeLC8zZUHKyw8ZaPmhCqCorNQI9ksKrbNivOdojEFwRMEJM2xSkUKcwSgC4BqM1tMpvMJnPaCZwKhcJfkByAAqpXa/RqZbJpnNKkxQFOl3N5AbrEEoBew6AB62rD+XPhQc312FaWNH43BE6M6QROGwUlnkWt0IsRLJQ2cvKgD2n4pLWbBW1fmObeeoGoIMxuPDmX4CPBdgEK2NAMiGFBlyj/NPrBH9lXWUv5LJfNWh/tnX/iuo/Lv2Xu6vyqMw0FUPs+e+BIvKZzGE035bItzYAHCCC1/EbOAVoOMA+sGVuuBetprSshdUMfG7IJHBP1THkk+ExZdVBw20FtXujbbjK+PfLVjh03E98ZImaFXTzPNBDU8h6m/+B56TJkyjLTI2bJNtscc80z3wJLLLXMcqustt4Gm/zHZo96zOOe8KSnPO0ZOVCYV7zqdW94k4JSMS1ttEvTxu6HPdVsn/0OOOiQw2m/kCNw1DHHnXDSKaed0eGsc8674Jbbutx1T7efAYH5+5C/XsBTgDU4dpP45xhM90UAiYHCRGNh4+AywWO6GUtYi8YWiZtpWeuhwYJsOY9r123cLJRrkbyn8Pbu6x6d9iOP4e/QqXemzmzDfgccdMjh4JmkoT/Oo5nYDXqmZtP3CLK37wP2O5CWMwcdcvjYiGc143e23ablrxn22e+Agw45rFXbMRn81FstuGkErcd3YuzT3N6GffY74KBDDh8TMTxT58E788476DKh2+tr0kouzMma9T4KFesiMvvXl0mAIyV39cwJ41/Jz6slDwto4KyPP2kfzvJF6FsDoY8/tr7bRTrBDdc+/GeNJAYqe6cl2TjmyPjno02wjY7ZpfCHInqLFVvCEPFRvfrf61v2sElZm+FRj3vSG97xgz1+txeBJEATGjV2afw9cEFkOzQIS7htJgJJmatBitwIVM/feQm0wjxcbCA32dzY/LnC4ZAfQtM+sA/u9s9Wgd1Pi7+4Ybc/mqK5zfZlO165CL5KOf0FLTo9eyNuyC1uc6lRbrIa8cZvFi8jv1WON1c//T3L/eX95atFuD/oXJ3VbV7doUvvcXuHOhteAbF6AlsyjOGFEp+zm9CIIZVgGRuhqAfLQm+IA/okKZgIc3x4w51dSIRLLpuq2xPT9PogTtrp09aMtieejfzEkYMC2tEyn75Q2Oi5/Efn6wVyJaFDq9ALpYWuf3t/xJCn0iZt0iZt0iZt0jYSyU/CC8FPNe9Xk5AtO/YCTTBRkGAhQk0SZrIpwkWYKtI0UaLFVILRkZiklWSkSDVbmnQZ5phrnvkWyKwsoyZbTrVymba8JK/w2iefffHVN9/98N8hDh6Ll26qLKMhWw6thXItklf5RkdB6YySQkX0Fiu2hKGWGoESy6ZNyDIS2XIq3+gpKJ0RKVREb7FiSxg+E3cymJCQRPIyzyu89slnX3z1zXc//NcvsI3KMjLZcqKLKUQRvcWKLWE4VKSkHQDQVFojsVCuRfJKZzQUKqK3WLElDPVS5pXX3njrnfc++OSzL7765rsfk/+mpJRUTDUpucUa7CFAYqAw0VjYOLhM8JgasxIRhAOyVMnusvnlkGuqzyy0WTsmik3ii7IYGWKdG+XPA/+tIaaDB4WHd2AlT1XftdkFg+nQJ6jyVVr1HrGXaYBpTXba0Dn/FA782d7CNLTarPPSvLwMsOjUKYc+hb5vfZvDbuBDoqp+hz9kVjTNFiE+/K7LzrH8SssGDislLueL8NdOWR/F1Heh1y/oyo+KW5JUPLVJ5JLL1SPzjyee6vXMc//zwr95W/NZv/9TCw1Ijht6JRPvlFJ2o2uvtVqHaRP1Sex6aqIyRaFOsC09ZgVMxe3VHy51P1lhaSAtlyp5kCIKmWzvF9NStWJK01qPaVuNtLoTooWuNoi03LKNzk9W0wXWVWcmOzwedqDFpRoZbMD/PALIyceA4WVCSmzl2XLL5RjliYZ5reQ8imtaaBPVvO+U8tpJaHhY29NFlNY24r/J2lL+Up+R6tVZJWhHmgJitt1obFw8/MOX2cQsSViRkpWBGRlPSzOTs6Uw0qjTD2Yb/BcD+/1SP3WAsvnNqXFWOGmH1TqmubWTcAYOwbOwBUqR0K25Hvqr+mEEvJ7XfF44H5/6893HWJiHykuEOAgIDcs0Ji4yQTxkiviZJcg8YaKGZ5V1skYkzSZ59imyza6ROSTOIsuGJckxZaNyanSqnHPJtTGpG5t7HnnmlXc+ueXbuMbD2GHEAeimUrCbHB2/uLjEzUrIovnlsyyrIpLyazSi8qScu5Gbq13p0xweRAZ/UUOSjThSrsIURxcmbIRSwoWPFDla9ChR4ybstblWdggh9vJVaauutQPpqzl0EPuWggqjkzZEeK9x0XjQuC+CXcsVJTVZVWXo2qcnKiOFys0/FxlVukx02XIx5StUrARj6tPnx1giVFwC9IHKn8bc8qtmUnkS4rqKs0ABN28sHrZDdHx3sI+4g6K+7Jd24z6zy/Y9e9ZO3MN3wRbTkHLy6ozWSMAhFhmlnWdopYj59FPPZcpJE98Qhxk66HEAQaiBQ8Lnx1wYwxwe2Xw3zIkb2ZDoZfZOpG9fomBJo+GTCy5oVo2At2+7K4Uch+famQROQyDm4ruGIR/jaZiE+0Q2nnonN5F4GTSVIRfJg2QXa8PumELwqiWqcXpE9Z2v10rwHv7QdjsytvOG/PBpKCmqIBkQQtv6L98ZCNIHwxGIA9BuJMJCYC7nrudRCs1XgMZZ1NKAqLS8cfM6xlKGqNCrcWWSXDIRpboa5QqwiyZKfFXG9yOocAtFniSj6fFWCWQ02dIxD0FGE0NsfgEZTdKM+Toymk6hpl5kPgQZTXrPmGsgo+mFcAFkNG3SZkFG08rQRGQ0zYPJe0EE0DBsj1FNjgG6bxmYZWscToYacY/N+55VIlbE+lZ46s8cyrvSDKs7fG5fP3iAB4X1d9Q82d19A6eytbiahpWuB2EtUWG9lV1pvUDK4M3LFN8LTWUohToNVYsocRSfC9DYVwwXPCsB1mkZSRlUUDwK4wletq9k455IybR9MheXISRq+1AmzgasiyG3Ya9+gEmTOg9cjb+Aq7cRgLEx0rXsOQrRyjsApEgnIVUHpa28z4EgNPashmjkvQ5SWLWz69XEoUMLkDpggDRtw4arZoMuwIrsLATFHPGvAdqxoTABJ0DWXTfyySWb5hknCL+8lVTq0Ad91hPOeg1YE9evd5Io8gVgwoGLKIlh8k/LQND4wQ1+JbGsnCbYElXXjojzK+trrMXO4DB7YZcLHWtuxRQXoXMvqSL4UnxXWfackTtfCHTG9ymZDKDNdUVkpy23VmDpHhHKZ6iQX0Jwq8f1VSU8cg9KyE5DCStNUMJcjaS/GDCJ0H4e1NmIxjYeKmzact4E8toXkSsnqBWIWbUlagEiVBOxfSnuM9B/aWFywDXon4MeQl9sLa9XvFZILG2QzZmwb5Ay00NH04h31WgYMwbCbaM2XFaxRzJzqjd3g1kRyr8qKDKEVVy8+An8iFRRnT7o9bLObfUDMqDzjQsxIkzkzWEznspF9Q5u6a0pWPCWb19AyHpm/v4jhCce6CSwX4NN1llBTytDovZPCzaeOxVFGH50FVFJeOK3RpebTt9zzUEiv9GR6Y7/gFRVXJm35FcVK5iMw3ShC12mewUGB7L1T9xed5k9Otw3FibJdDz+Yg0mTy4cyFkR47ukl37oIfTveN+DAr00zyy3z5s9hdDlvy/XVdNQ/rfnzluVgSpNXbdnmjX044qUVt6rizXqp8wiuZHhIYDBl3pjNicvrowU5iclS/yNJ9g2eVzC+1CGwgMykp1uP+ouREBxt16+lf37X+bBPXW3eeOa69Xr73/guUwccN59ak/ZSZ57TsWZc/LPT/lTEk630+GUnsKTzQElWz1OcchLdfkprikd1YjmwOQnOu4xj/rFZ9uNZPhDsQa72rmON9b+Pn2faV/bWt/yFnRBpzvYjja0vMWtbmXLWtxcFqb7T0r5/0DEG3OWE4w75qgjCZ78xOONJdpwWY5LFLGKIDRzyHXnnXTQThs874AdNlpp2vucddhOm6w05WN2styW5jFJaqDKRVe00LLWaoXLU9bSlqzI2lPJ8pet9CU9I+UXS0tYbAosHlUUKVzuQ9N/SrVcKpVKIh1QXlG5ZZZajIRSyU4S8UWRg6wyxzgx2qnnGfpoo55yCljANIN00EA5xVRTSRnF5JKY6AeLNAh4YcYygqej/DQ1JMCRjzi8sEDre6/aTbVcdwv8AEEcex30mvTLi459DLM4wfGMbYyjGsmQUzAlI5+s4Q9ziJM8ceM2ypGPZITDwzTG6DncG+ZxI7BN3k6ZJc91fFxTred5nue6ruu6juM4juPz+Xw+n5+fn5+f3fEv6NX1UZuzCKtbySRJJEkCAGBmZuacc65u5bEkSZKyK00iSRIAADMzM+ecczciSZIkSZIkSZIkSZIkSQAAAAAAAAAAAAAAAACQOEmSJEmSJEmSJEmSJEkCAAAAAAAAAACGn5jZV2mqRB0oXzR35tQxCXNlShk/YghUyYnD2OmdeR/vVSMVCVKB77mObbX9Vl5ux/al0z3NPC0dV1WlhHV6D3Da6e30LLCysrCUZaUqSZIEADB8YK8UiIIcYqihhAxicIkqFeP+GZ/0mYb/YXmC4x7zqEcy+ORPwWQNd6iDmbhxGcVYjWBoNFS4rpwZWy6crwVGjYGZnOsTHfTLJ/YTRX7fOtqRDTl7RjE5wx/64CZh3MZhpCMcNgb0v0Yjw3NnbLHqbXTkfakrKCdh7Ag8x+AEZ3Dig4199HNmfGMb/chHMAVTPJIRDnMIkzTqUY5sxMPFGPU3Xjoib+aWC+bOnDrJe/DvF5QVN2qYElLnlF1WCeMiEgbtktv7F+PBE89hGPX5jh/JE4+sGruRDH8oNFiwweJh2dN3Jl+29MkTVFBxkoQxI5SUOmWyxHERhn7jXnjstis6HNWiSZ0N1iljaJzvxt/9fXwQv3jEr0tlUYuLz4k8a3H9/9Z9v0YRVreSSZJIkgQAQBaTJAGQ+mFDXSTWtJyZBQkGw7iqA0JLwuDbsueUpoMOcwbkCFS2mYDmwGM/d6UJcDxXQ90osgS9swyQfuzhjHdzHqUspX2eBtH5XvVqwXRH172g21jxSU8bmjtSbXq3e0nt3V3T3OF7GDB1oL0ZQ3OHnhOHsgn6+6G5gwfUGPKgXx2aO7BfgBQFvWloZn/O+ALlhl42NLdXv/cl0PrcQd/tpHdfMVdZPFqYfXXf2Vy/+VVVXU3BQoVrKFKsaPXVVqcYNqwRB+yUVmfCanPDQZCi/MNZUn+TRSHAPqIuNJ2ob2KGSBYNX1xyVbsG1UpopdII5csJuop8AttH4dEAlADOiGm06SIRchptvmiEsS/a0hGNuiDaqjPCvCCy0RmdviDGto4YrAtibO+Mxu6MtuM1RzidMXZ2xvtKk4vxBQyGVrHMXhf+ooWnUboqylU4bwNu45C2ZDot7h8zZ8laebbsVeTOU2WuHDlhpCYgthrcPk/nvXViXk0lG7rGXu8eOfiKkC4YLrw+/3A6BPZR2i429CgNHb/6GOoZNkxRUeMTHasCqouhtVuAS+A9qf/F8l+DBpVXUkE59V/FZdMukeQXJrl6PPpH5eSTIrZAhM/gwADaAx85Jzsu+5XxLWMfY0fHW2+PnMmBcWQQOYf8+PbAl7/C4/PWgR+8oJ0GB/jmkH4biOft8M+bNQMXeIDqkwPbwNe8Ff7K2+DPFIHvlXYvtcDtTzLpi6jqRxN5Q8oSG4zV6Qqj9xW6Kpm2ZNAujm/Tv214oT/ac1qndHg2elYXOXvctC/sv7wdRr2ZrnbYaHtm3vhk37renmv0q7OBXU5t0At6zuuWv6ytaIFWa/E2jvYb7fBrP7LgMLXifLKv+kTGM0LAA99YsZbUCh5FVcL2583gVUsn/W8d0L5if9dCn0k3tnWrHYoyt7DtefsCw1DRCX0MRD891Wy7udrvGmkv71CzPo20YJCxueqJpqmOaseNa6BKqXQiVWuiVRWpAm25ufU02xM1KkpGlRSh+GZrkANCYAMZMJAEECByZVTQkHzljuSQTSbip+RgvqbzW8vmrdeQqyCtP2fKw3JEottN9kU+SnjvC7YIvJbbU8uZYV5qAxSfwLwUCXGOiWEVOimGTp8BxrDwAActXQVqWo5Gqa+VGrJ1kShdByL6t3tKjUuA+Rd/8bPxfg3fvk8vePU9F7gz9gTNt3+wCyU7UpYE3Armmr5z2zfn/Bpl8ZkTJxvVflaUQ6mf5avZF53s3ogleF2TkI2mZE1Ml19nVXQajgJLk1qnRqTpAxLiEI6awduMaYfijrBhQYBBwWjZm+a/cgzMBJ+AiAVbCo7UPHgbJ1AQjVjxEiTJopVPZ6lSlarUWG+jnRrt1qzdMad0uOiKW7rc90iPl97o80n0dfEn5yE1O6x1MIFiTiSKt1c7YACHXGev9Zow+xLTx7qa48/VAFYXka+zTyCHRk5oWyCr2QYnUOnEIW2fj0aA+STgIEC3HjIo0JSvQWz+TLZJ5T5FhDCCy8YuTmjLDtMIiRlL8ro2U5AW3kZiZ/Z7qmRNrLSScVXUlgmJQoa5ycZOvL7NrJlS7mjOQDo9GtqGCC9XNzGtRYFhi2tLnLWaN6QZsSGCrHzcRhS/lSWWHXMOAsRbx0QcEQYOggfXa6NILE1zR0WaJke2WLUz7bf1mjLaOPt0FQRKSwIzbpK2uqSW2YF/b1pMRCEWrLYsgLc0fdWAaqKlg9BDD04nRpW57Ug7aViJZsOThBxtNFOBeDBLI0w1HJcFtlFcyPXjazw+H8P1Gosdsb8gOQqVur5wu4S2EVaU5mJiuR1cc416r9U/mGLhUY8xLr5J+I2VANNoRL36trZyjwearACBvoAA/gt4OnAQ8T5yRFs/Jr9/1OX3f7Rr67XqrVEpsNRYzTJrZJd9xWaZbNU0e5hs7P2/0hpQ614xXtN57sP1/7iCPM1843naHMLn/5qyvE4rI99r+rD8r64z5tLzrX8BHHwBDL3QlZc780pGfK22N8PDtyh9L1R+EHZ+GLZ9HBo/CVc+69iXoeHrtn1P7Y+V/VTFr1X9xsbfKP2tlt86+zsbfq/8L3q2UocY4xgbGb8A74b2ALxsQOsB0HEczAQG0HODLDDIjPiO4j35vare0sGw/b8e0B2EHCo87DmTPpN9XHHizxPyWfkc6hThtOy04syOefJ81ULWWaezRed9Fn0XccuYFeiK5GLmauQq+xLlcuRV6nXFF6brRhd2C9wif6Uwwe9U3fW8l3Ef9jCY68/fcf6ei+de2nbp+p4dPTt77+7b0b9j4Nyrv3hx70u3DN84+vc3x8Z//TZflk1O/nzJL3979+/v1Zpj0VYHfr7t8QCAJXjX1nLZ/GGDteZ/hnJoDBtAXgY2AHgedhIAvJsaICdB1j46DIBX2hOAgdwEjwAebXqj3fkuGiPOga31wPK9EMC2383LoHcB5vtvJuA4XOiDH+94B+EAZ8FP+CxX5SHAMx4RzvPWAHrUV544DwnboJxBrlQxwoznRkGMgOECAAKCQJcuK+61lyyy2ovndO1FE+e9sG8wSUqoemJN7fk5nX2eq1RzrrR7BCMvPGlsZfp30F0/Ph95cYvOVnw6UDWMce/1c4AB+k0RUPKSo6HrJv7vkr5tnsuLwX5GFFH0nJvuISa6IARJsAjblxDZneyUPaNX6rV6o96sz9MX66v79ntywyve774gtZbW4DguvNVraX1Rc1bhLkBMBH3a03q5Xv2oc/Xjugha+5MEqat3V3pi8e8P23Ik5UpZUubUPoAfq2dzzfxsVmpOamvvGHuod13v2qd78WcxLPO3w0uG1ucj1tCet7uCa5YnpjnzGZrZieIXspSceD+U0J3y7PFQnMei+boNsUufNXdOYMLAb4ZF5LF4THw0GojR0PceOG9I1kSUNqVvlEXqY6M2kRnu4B0EIWR6JmVJboYxhAA0w1hhsj7tFUWZn7MqsnSlyL5sjD6tnkadH/Jn2hTnl5xJY5oj1dyvCXr3J9BMmLM0jMRwTkZTUdZnvGAhQk00oUpBkqVINVuhn7qtstwKFVYqV+l3m22x1Sb77HfAHoOO+dNVf7nsUv9yRa9nnvvHF6/4bImbA9CDuvbGoTt7ItKG0UU1j/JgHwwRYqEfzDFIA70aPGZbKuQMlup5E76Hznd3FlwAr4YL4T/oIve4J1wMX0KXuKfj4NLw8+n7ujXxOGCsAJh3AXQncOCLCBx7HWDPbWDHDIAdwFhPLQxraddMT8GqSEXlVgiVhAJrk6lP7aabqy+wVJEXhLWBUlu4TM9U2Mtser+IsTPFQcAStlG0tg7eJun/fOm2Zc+PYkwgdAQJgGV+q1ZEEl1Y64nSFfzKhYCYrOkmK8pakNaSNSvsSZWCjQBJDQqvkoI9SASGMau9wl5ZrG1N10rxQdomiItMQVeURBMfUxLZJsyQcosQV8DTEP04mT/fBLAkSHYIyIk2ZbSnHSORgrz0IZRca7Or8dSl28xCvUt/PVhoc3fBpneIm2caVkGMQ7UvlaXz0wn9nBu36jtGiS7giQ021T0jNKsYqWdvkttl1FHwQpuFznM08S94hkVXjDof+4W9tPxb2cibO7OURDFmwUgmdKrrVpSzPFfC6F75kVxYfJIeLh8E3Z1JLierZ3Hd3OLFYMxsclJmaN33RgLfYp98veSrnA+x9JnALu8s+Cza6hpBug+H5VmShbmCFEPwkCzmgWsJL6kI09EEjAyEpiEGJiPVRyHZS8VgZfD5wCzsKOoHDXcxFQZYzPorUEgUP7tKQs85xU6gB7nfAb2tmSa9TgjjUwnK41PCAkq4NvkbxpH/uVOR0NSXfGpjv0CGe+wEeC139SI1+j1M7Hn9qV8h8X8iR8JS7lbZ7UxKYB9enscic4hbQqqcZkfpUkr8aFlqBxEZWhT5mOOhFtbAgZh2Nnhzj7BuVKKqU8Vt69SX2kp77t4AcwfT/SH1wCRB2fipHwp30H4hRfcFdaQ92Hdt0keeBRLDrP60j7BcrUANKhU2/VTkbS03dXmQz4uv7UntiKfrCZqV8BfOBuuLfTKXKOFTYh1WXOD5pTbICFcZxqiBcZQMKyGxRV2Buy7Xn9q5X7ACeVNqpKIdmdae8t8g7J9ixO5F+NJnhUMvI2MZW3ZFYYjFWaAGfO/J9HIoKGfQ0exHQ/wUfsGmL5ouphGZ4Yga3SlGeeaf3MWogBUIW0OdkvZzESbacovlIYPQ94jxc/Q4k8meYoKFkJ6BZqDG8RZMOg7r9kxhWs8VNbjrBEpFT9UHNDJRW51Lh6QTWelpk63E9Oid1jXr2GMISDjFT1dKtmnpuCg2agvJmqYkB4cHPs+q+5RyeSB5DtQWitjRHPhxpCcwdU7XFgQsq1jluxUooMvF/sPVbWcoDfu19rHUJfZJEh15h0l3wQ41HFeX1B170Zu90wlJTmhPx+UG5ypDMqBekgi5jWogN3iT5oZgcsFujVpxX3K7xBRMLcyW51CzE+rAt9RbDVLYrJ/AFwazh8ke0zVJUo7SPW0RpMTThbGbcxLabNoBt5lByWNMs0hCVuRWL0moQ+u7CGtb+hdT8KNopiMOPktYdoNkne6Ah1rosRypH7nRsJsNmOaUb2JpHqIkx3zJr8VbZlorzEDzYaTl3eP6yBkv4l3DDNXFxOUXB7+9IdX6A1e0w6vcVAusq4dbnsN5MqO6T/n28E8rBks5Oju6I6NgAcsQQhFWnAJlYoI6VFbNRhhYS47nvhYb+vVXyJA+wMLOTGfxxX0sj60N4lTkKu8W2gxll6CEDkpo0S01Y33uLdQivatHu1lhubO25NwOowjLIKpknUYFL+8tWakXaoPgqmYUrHQ+Z0NiZ5rGKcZmh+q7HYMmytY7DUWY29XQQereiga4kN93gMJAIZRhOmlz7Dgg067nmXoZClV+nxFeGAkA1jHy/NPHwqmrAGvsAdqSe9MsphSOoZW91bMqPCfKRR9MRzG6AePBA02smXcrYxkiE6fWcZ6D1YF5M6BPWhsutJNGoY7qj22tAG8jw+6qyiTQQlYmibqUTaJQ9zlhn/b/Ygrq0Y62BUx05UWvGw9EecAaR53HOUHEYbXdSjQxyBF+URdl9YbgqVhb+waGhVHf7TVKF9LRmaJHzbbZjgGNTvTd9Tjy+66GG2rUr5r6hD+IGC/1m+Gx+b+QuPLFA3IMPrIQek6H61ybdKN0ACQ9ByFf7RB6YWFKHc84JbY8STictLP2b343R+o3lqxQsR0WRraiwlSyloyVkC/gmQNirA4/YaxHQpLBGg84NZJSlF6K2AkUkGD47Ag3pAseXaXqPJqEx9LiCecc/dRsg6dnbGOWZ6brKLC6J+yxBhLixgjuWEdXH0ki961kObM+2WSghBINPaERvSueF1M8FmvW00XdvJrmVDCPJfW3rvWmnXtmTJjv3G4WLckClhNlKM0PB5xu8jzVuNoMxs3UpJ14lZjS4xNq0l8Jrv6qglWvsuo1VkX7Mb3W3zDd52gN63za6yx7yIPcF080p3AlRBU07XwIJPHuP4IlPHHGKd2TMfYDHs2nOeXp51RKcmIWPRArFE5amyP1doPQ25n0yLLoBaQfdrMzTX6EepYzURvF2H8p6YP0SoKyDPzyKN3oyRbOlnwmgD9dLxR2a4cSG/rnTH4HStszldiCa5DEv/PsCS2vUyPvbtvrTwII/XRGf+rxBn88WzKUJoVWsPG+/+Uji9ajZ0jLuAr/GnmChXuVo5Agmma/JURGoXyzXRi0YUMoy7O2LcTBKa/N+xBEMPGoDuE7abTyYeayQ1psMlAVPFB4aJozeypSXl/beIQJPMgrvt0K4rblkADuk9epIFIkHfzBfg8EuIknlK1zpwipM/GzVAGgvxpb1SsOduEJrSkrk4IirzpFrV06D3yYcvRUmlOTWISN4zoxqKuqBixNsx2Qnq/rcJYm2RZzF2v/2dMPuFrPQiAHtYKDGFAEwM64Jmnq00REqsb+tCXUGt99VU7p9qJX87dfcmfuQGZTeXu3Vj+E5HXHvn4iZcAwZfpnHLMQkEs4X1c/okAErm/6ZrhpZtu9uTVrpjwrUDH2/RDHzz3q1DsEGsZKJ9A7/Wi3CV1futiWVD9ShGK+0TRuwptnH2lndm/3n0uIoiKs6Mx0IouVdbtNsRYZtzl9sMO1SoEqXDTJ7i1lfjpTfcnR9yZhT6cAsQOPPYtMn6dk86ihf1zbfPEx9wX7Vy66u/sdNdeFLjw1cYAV53dN5PNIGLAPZKY364jsJXv3m6MsG/iwe5wfMksYL1IhxQCUGtk9bH2pcHs7GlSrjXNTYwn61I5MJVPyNX22qyn2ZkosF2TQhRbILb0YO/ViEPgb0Z+9kqGsPpI19hddYiv5+azVwOvTzX0aUEk/FPwv7W0fDv0PKDnHWv/fKh0TlE5cF2Jc/8AeSj+t+v1U037t+/kRH4z1uqnWat8rYW05eEl8/4O7/m9JaTc2Gc6i0Ytr7rdu/nt9daV2Z5A/xZz3jV6i/uFC2hqlxo5O/DsBNgVfMqVOffF93dTIjw+a2wE7Ld3vXZphdOToCAgD2zRt6Lo860ShGK1VpCA322LNW2OF+0qLJSefSI9lTYqO7jRkkkjVrSSxdC+BXptEKqFkNhq6qSD8Z/FS4JmDqd//sDc1cH5JeRU1qpPPbi1ZtCOTVQqawS+l8UFTteVSh87yAW1IMfgrqGS1HWlxi1J+clR/NRkYvpgSnvqxtdR8rk0N3rcc0UzVP4YdP0D+8M0uauJJr1wTsDA1A7ZJwllkU7feb58a/vRg//9M4dSV/6haYgNYT7e/EjQ/mfrdD3oL+M0vab7A7quVn9iav+qIJymljPpAWv29xmrL5WadxSNhi25JLl9tbD07kTA2P2y3pVZMX3ODbUNHeq4J2wnIhLRps23rpd8vnotcpDcbO1QlfDTN/ov+93+7CKKnb0Ric/SyiqpzL//cO93leTGA/BD/mVFmwpi7rp8f3OWf3Sp0PWAHtoJ9C0p2/HpweVuWr8q7ZDnwmXexr9o7d8Vx7LAdsDDFWKGgFNdiA2+TEBPaEdzgV3jH/g5r3GE7ywSRB9eFdTkTtjiZ1aIGVBnBiud11v7NvBqtonZDmG7rOeuGUL1qJ+D5nre5SCcStRkHcdXb1yrWnSWNDkwQAZwEh6h95qWA+YOpP3yvpIAzizOG+406y8VzRgicofFBE7fUobPIB5mrIQsHqc9fgRwyv7ptalvXo/YKs+MtJv5I3rWcgeCMH+x9GHipK7hnMBQ8eLH0qGxSrOmkI9u4XGRrF60sBlgEwe3bV3Y96v895fK+R73n+8EExXs1BV8u4MaL3KN7pts0HRiULo2HquskREu1JW/kfuEIUM7c932eYWG99uI6VmZBHywtdy8qvYxGoPMMsTSHk5Hze8CV87t1Tec+5HXtepVXd8K8eMG6YE5jEHcl0QpwVLGoASba7b/UBa8XsjuklbqLv/wILCHKKcnUHWAR2AHYgfCX0zHLlqqf+h8sXs0XTcxkVFYezUifyL+6+KC/86e1LfDGcNzvSbUrif5v9DwkepEWOb7u/c4E111yTRd4F1VbCN49XgM2DCdbxt3Y3rMk222teWj78dWtBJ8e74GVsOv9u9Zmgu3JmlUXg+kZ3/yYpSDkoUO7v4MhwOQus/v4LXjcV4Vq98n2fHrfJwybkBEp+N9QcgVJ4jDs4/gHPizHNt+thCdrK4ZjuRHcHwIeR3Lj+IuWFYCb6oMufgp9GUEn7/QvIvsrKbtDyZCXT9ojzgJ1dMDYi+Dk3MZIFEVgMY+FG6e4zY7mX67FydthmB6dek+wnYJRF/lhWm6/Qkwq02H6vSkbsq2rbVaWW+KixHlRVLoyAkd0PIwIzO0umQlLRXS4NtBSh+pfHe+zhkYzDfAdIzktFLwWM3g4xV5kx7Xa6b+uGIomIuPiKXl+4IGL/IhYW47eSJzcxmSzkmwKUEfac+Vn0d1ZlBFBrpZzqJ+Xi86HUMmEo8Eu7Kqa0wR15TKjqts+wxPmy1CXjSBzeIfijHXMe4Oks7RGfyYLmVbHzclppuC0mAxsZKYE4DsWqtenTu4l95m0t2UwVUkt28GBTHktASsMtT9yFLBNYT/bkAl8Pb6w7a6x3Ox4a5n53aKJvbK2YtxiqRq70FYozzPm4c5otfjzbXK2j4a2tFnAVZNyLPredurNDx/Urw1/OvUxOgM0VE6JI+Fw+EIEHgcTuMOLO9XY88UK7LlOVTEi3YMQE0E6dyjcgZiqLmN2BwKkhfFee5n5icPlZvekxkI9HsP3sPVrB2xT4Ii9J05YQ6DtlRjl+PNaLe6MMS9P3laIXVCX4hbbi4HKYv+3nbo1h/dXWbwu6eMdjmurY90bJOX0mbPgCszBJnFubmcWyfz+wwNcSTKivFsfCXNhVelP4UFgjmhg54DN6nsfM/m13SgGkmWPiOi/e0PBIrEZN0DWCe1sUllecHe6Hkcpj8lqPKxvfbk5DJNWk1zQeE9X9XHmSMV/958zFtTgsIKQzSdnqrpqTz3ltOVLjEL80coy3KxRkidvL8DNFavwM+1ZgLF9RKW3wXC9V+TAuVq98qBQtNBxee50bWN3KV2PTTEA83uzIrDh7ntzR8GXk3q7aYW+E95UPJcFcL+98H72/VNyi7CQCCxMYcA2pRyS63Vb9oF0iKkgvnvLzYB/bHfFZ2ka4gmVPXscKpy3smQVPShe5ihLNF336+wPFU15fFJBUlwh/vHs/5uizECVJGDLeMvANouOgGQXRE83mp3MxUb/u4itndmvN3/3we9Vdquw5xRF2MVutdLRn3cwXA444GjIPpBa23ztMsEDfWoLzLL9szRb18+Q7x2fQfYnj3pevOcTf7KPvHf0sLWnZkSSY5/585zyd1+6LhmvJp8DM51UJ5JV9VszDvo7CRo4OaWt2dg4Opm5ZT6od/uuHo04f+cCs0y1F5NT7kzdH5AvzyzIaRDgknjETMcpv97t3T2qLEXf5TQw+3K1YnZVXKO7LFQdKtfqjsp9bbtMjl8a0OTPr8oaxifH1a0t+cr+7vragwKClIBQJ+c1dWiKdzbI6QCSIxpIHpjcMBtMSsDgN+NZvr3zuA3bf9vX1wKybKLY2Xa9QxPS7bcxY2ROdNTOeczQol6fSzTrkhLqKxNIZE0ipk46MZsJ/6vUY9DX2KKvyg0sSuwQ0+XbQkLUYQY9saPI3wy8cp0VXfphA0QC+8I9I7kRJsNXslQvFZyD/nSYaKnpg1v2jn+0o14efYn/qmWGD8vLpwNJEv7RDG3zGkj6Ry1t+rBU4+hk158O5IBRv0n7VP+tHP+pgH0OxPHNAqCO1wGxNcfU+jCaRe0OQIsC0bjuGFb7w1sNBYbZ0ttjf8EY5DZ/ZIY/EtsWzRj/CxjVIYO+hTxrPMmV5iV0nc0BVpsXdeP/TfZTz6rnnIV3nKikOoYWjrUBujK/KOjGjEl8J3Srx8bSSRBv6FoGC1MrY3anHuw9oS5Z0ZSVXHiyaG/NRI2kLRGvYjLxZW1ISQ14qrSJvz20kLfdHmrT809L+S9DI2U/X39Ky9bGctiVm7YJ6m8/v7mHQ9BqEz7++S+pwSzPVv5/SbhzVGrMxI9LRMi51vJiWascM5OXteNQqxywH4F1jYVgXaPP0sqd9QIWpny9EteOz6jHwPZzh0yF6ES51Vd6bkc41SNMbrsqwVzyeR6ANOObYcpt1z8KwLe6MB4510xsf8i8LvPLm4UdJacEmolNxYfdtsgbqvMzqsixtWvo9tNrkqP4bHiGO3uDi25yfWhMSNJ0mEHb0BjuM9IT1AP4/7s4oesUrAuWuT15JwK2E+9zhDByOidB6YOsXGksslhpKbJcKaxEFXtnxtYSh0j4G4Tikw5nhlK//4EW5zB/UnmNDAypE9+crGJ//LXO+WZufPzbuSrOr79Wo93JifHC3naa1fkOmnXv2kKDd9A2Lp6hWSXBsnuzHor9k4cPO8/qi9wfwYD4R2cmr7AJXomlpiirE+gcLQatZZ9qqLhyO9tg+EKhPlvKiO3rXqk3YvnWM7tBgfnOV9kNx9eWLlvg2JLWGI6oC8kqpTDolf3YoorxirSGpBQlhYgsLEtgkBti2LlmhNPm6vrjD7PrjVeL8ufkuoYZpbe1yLYxBbdHVFm/9E4BylSD/qvrVT9SPFVm1rmT+tB0QHCaA2wTsMzrv5RUnVirPGOBouRp40j8NhZtl0jM6u1KFWHbg44fd0h7tWmyOPLE+nvScIrkcIq+ETdX0Fnz4kUJKExNn0f3jQo237oUFt5hupapr76UXX18s3rBWWysVZccMKT9c9K6uojbEkqpuVOte95lrHr9qqx3gt/JY/WkC+i729P4GDUsTRiuQXEZPZ1CcDUg18v6ny8uHg/geINy89738pqzFSLS3vp8pu36TDf9vKak9MRNiaGelkRzokRTMy9zW0+3rV9A2SuqqDv7Xr7nQHYnkqqmsVi6boJQZJyydCwaRd2NzF6kVSThlCQSurAygcE0BrqQ3pwxyqokwDfXX8quPrlZc84xy1ivKRkzcP+dtdYWcZvDqTX3dLrnncbqt6/L+swE4HRe77DA7lZ3WES76Vpm4SKmNDpNGKFJTmXu7hAK+R1cVo9QQN9tTAO9ftOwgvPrrzXO195v5ipDFchxpo268fxZleNQO7uXznyeKsG5vf177T/7ztIyVmZUZuRo3kv8d/FFu0Pye3VAlKf3jPUQMtA9vp6s4fzdwXyR/668t2UZuVUOK3ogDIxHOsJdLyrVpx8/dfIUGDRUNMIkHC4T66lLV9f05u8KiYiS9xpxTiXkzT+amnQ3tzvCI52B6YFUZFSCjHTN27y2/hjYFewVRTgJ6kIAcs133SsoOaPKorW3VXBRT/eP/R5MgeFFAgaCExJKj0FE5qYVwtGBb5CPYOM0sa6PsIeXzes9wFEU70tN6+JhIlXczIGApwI0UY1NwSqqE5m8MUJtE2mp/Mhu9PnUwhsJBOpjCrjxHC5+HAB3Pr7+HYJKhWs1AkFB8ARYlq6poa0eTt4Ef4xSKSOiCPFHT6A7t7FFvTs7FeOP8uNVpuGQOYVwTHxBOD7Pgrm4tlozsyLU1C3myI6XVMgOieN+W0TwyeNtTLspfpbe0o3N6j3ZHEyAiAZYZK4CjvYS8tZ6tZpjH1W7lCs7tiXSj4L3kXKxh4IIglo68Eg0lpyjIhIrZ8hDxax44k4DzE4Ryjk+o3tYtwIyxNxTheGRNjU1xUwRizI0U/OqqImo3P0vGla0d8ErR7AO09H/Glhued4PCsS/akfhygWdvnB/H/9jDgswvkir+PZbXerTe0WMr78P19695d5w+/U8j758h/uYE80FaliFlzClff3oSrHScKKe/7K9UX5nobJMXIMdt2KP7EpI5iFTKNkeX45pmV9Pzv8ff/awjfTslUzPU2cyPVdWh+cu0Ps8ynyvBRpNXZADzsOETA0lZkhTHt+oiUljqtiJbWxhxL6iLHDFLtfUa4c1Rb0adN4jdN6TsHkwkQqObMZ2OPfyHXvBua3aBxn7DwreGAxaav/0A5G26qFobFro0sK3YwdjfuW+8gu6kjv6WiJcKC4vW9Wq79Tqjc2qwfsjr1B15WZR1boD+iE3v+LGjeAabWbcKBL12aVU1Y2bEIRz9rT8Y5+uBFzhJ0Dczu0vC1pU04emrXreTk5PgqQXtfkRr79s6pgAKJ4QADxaAzpSzmZuN4fTzeVxugLH5XVxOB6X0z0aWJlv3RrTmhYTc7ExtwZx2/qtDjEXHMpZZp+Ocr1e5Qqg1kE38TMDPnV2PWirb615kAS0qlftVo4MjnB18Wuedt7QCNx5LnsBpHStT03tNzUy93yoq3EkvPqiqXkCUXtiXAx4Yfbl6csxu0YvjYJtrcOHpw8DtL44qh6hKqWcuKgatUoVhIW44WDo4PRBEwtOocBjKGQ4nEyO0Tgl5vMXlowAisAhxMpIcBMzdWwq3oziT2QQ5POXn8Fk3Zoq5p7GZCKxIpGOo3yGJuF4aQfWVLL2GJKJ5CokOVn0FhpHYgARwI/H2w3uwBwFLiGCbAMdRoKV3g9WX+nsj7//lPL8PTgjtU7gHAypdumeDbz+KSTp6o0J7IHWh6pJIEeAHbK6NE3zC6W540Zc+5e0JtWnHArVDaG8h7AQOCCu4walWfOLmgiVb5ab+KOjfFN5uQpBiLHyiizwGF5eW+UVjeZKZSUL3FVZcXUj4E3+6Ujdv3UN/96Ub/Kh+MYQ4+IRTHoA5CJv1EURHl7iqFgB/7/ao7q4uqhMepRb0msjPmab0pDBJpTh8GUpBLzG2BPYapEt8Zi1OL9/gistW1VXkiabRh00d+4UOIyOqkBCnG40Sxo5UnVfMDYmuF9VxQILPF3V5k0CoqMWvnPK2t841pj5jVOkc4ZzsXOmc/fXmV+bXXxlnA080InpfTxBnzBd0N/HTxf28vn9Ps7v683z9kSxIiJYUTBnsCLJYEd2BiyK3knYEUBZxmmOoyuZGZLc4WDWetr6LKtvZ6/FpJFS0ySY+L1QL1KJsCuAHF3mLE9CK/khE6oNtcuYBAMxDxbDDpcvsDanW118boMMkRQnTgA/NFWfLZCs1NZLLpzNr65eyM+7UF9rBBxI28GSU2F1NFpUfT6NxYzxejotFegtA2S+ct7nvPbjY1CO73Y21BezHYoGdp/Oje9w7q+xHM5LYSg7uvV2o98oHC4eLxQA1PRgyVr26JMK5d2mRqXpiX50YeN5KhX7619kSMm+lKxWB/HeAGe+VK5IV9Jp8IgUfNQWl7HP4lxYaUIivDiXhDX3DUSglbSOGwcmxo7vC+zp9fcWCyQSsYyTEh1BJET5uoyjoCJJpDJuR5xCgkdZQL+WUjzSIkWZLUeINsZnPGcMIznAE3vuqsfYryy3RCbK3wP34m/wijkafKR//WO871YVWJddV8Wy/hx7XhuTnoTFc5NiJkpONXf1zjZIvbcmR5NyBYz4PsW6uQqQPVaeNRorkq7BHnOSRaZQsxLDIuSJQnIVmZKdEB7CQWBwWTHuk2BLvKwvXpTZlUDLQ2Fy+Uwry/nWykwKVpi/PwF0oRamSl0UNPH6dppudDbc6+3df/9aZ/2dvkYysbOphdhNpn/O3dncTOwAs7KDg/cd2LCs3rtfC+SZdtDQOHZoGDEqLPJzzmDhiFZVuac+HeJF55WlZsjUVrgmIOex6kOpqcQxKd0rPI6GCIXhMRS2jg3HJMGCGyKC0iCRAwkMQW0UmVOyIz4HjiOkP7PibGBKqNmH6sFbxbXoENky+mr6xlv0P9qxQGpvMKiLp5THYNODBiMwgUHxNFJiEoeN3jSrbPeKrbjchHU9te7pVicIWYPFVFCo5EoDHnTwQrPdsuk7hmp7eMs9Ah65Ip6aa4UcfYuKiCJlaLUbfdPhSJwKjS2jacYOGOt2sDk7EmgcJBTpexQnS80EupiBjR1liDbuKCB4wtY4siQ5wo+Fiz2zYSQwJ2EHPlMLZ9CrEfjMpER0tm5Db1BsICsymSppjeNrMcREGIKBSdxBxyBgKYlYGQwTFxmJQsARSERkZHIc0LAoFfEUqRVq7z1kFCySDA8qYllh8uKTcKUYbDmVRa1rTeGZ1cx3yaEkDzX08VZ2CTi7glGBfmgfDFuMQTJTkxIpHEBe6l/jz7pf4VcB+oYbIA2g8JjeVm9jXsKrAYEqDXoFsxCUvHNHI2lbKdrdmDgRnr+TUEr9BOKpUUUJU67NyFLiNmTjziAUesHvCreU/IlYBr7bENIX8pAHcqW41XHtaqGpniknbzu5I6OOmdzCpDLRzY8ckbiGiWpeVCe31HzzqCMnStHU5HgZlYSUJVPRSVIU+gXpY1rLRJ61Y5MkRMlWDZ+MkGsr9sBB/fMyI+MxDHt3Z11gB1hm8IbgnF8StrrWuuvMeNRSuh/KpSvFxWUPscosnakEqRXy/ROVynRbXldUK41Z6mPaMNcH4AkcELWeadt7tkCYks0UMnNNt8m6F+4FLi1A2h29bNnNwnXwjeuCYgBcX8JrQpmdl4eX1x73A+N1dDBBMkSOLQcx2M2dmC5kZjOFKQVLTUzbLhuIJ3Cgy7dpPgutk9YWRbbCgWtlNIJ8f0AYlKUg8Sc2wxlYPghLwZlAXomlSmkND4/EtrM7vdZ8IvIlGHfiakUT0nsC/Nq7Y3h5WYnO6FxDeCkdHHCWr4mWg8dUdDJjbPuiFJIWxW4TTV8xlUDgg6sE1n7sQpa80wnx8r3gpike9ZxeXdSDUj6o4f3uI8C9/7inT7wucSwRBum2ybaoVlqX9XezTd+AGWg/YR/Yzyz/+3IdvFDq5kYQydWEK8uL6/Jqs/+usIUAFPBINswWc5SFgysWG6EIQ2EuCXs/awJ2pQ5RKUMmMgUTBSMjMiI6B5tLzY6zvo0/9M5qQ9vaoyDVfpxQhsYpcRIqDnFCioagmFVqjOroIQuDEQjRKvJPfFKAfc7PzbjmsQv2Ro0xiboNsZ40DYzlMg38MARyCM70eJcRnpppziczuApGOQh7d7ojsONmr3HrtRVzELX2T6BXCJODZVUv7vG/awJrLsMpnOWt14xbTVyu7xqduub+BssdocOHYC651dHCI1aJTRdrklNWKHl24LB+yT614rFzBL0r1QJuKIb+0YnXL/fNiRPJQR2MhmI1OQQD6xWcBcLVtTzku7vLeODcKjkv/oBIxgObOSzvs95udJh6vblJEYNpupH9LjDMAAMASBiA9Pgl+0S4DZq4BTFxM9LGIUR1lUReAai2wgRfjcF8XAWRU+3apwhyBDCptsprMGlWFIgvwVsQ/EzJsHQDT80yOSSqQoO3sN+Bc8ai/HTgEHRzAOTUCtolBANv9eF00Sr+HEeQByZtUCBbi2UhTVoRvVcodGSYFDaw1TvSTfEMR8UlbpEe5GbI5pCUyW0Sw62SzUaATuiAtdR+oUXqTtH+16OVPHjslDfhU3n3hs81zhNMmXFlbmZbkNtSgG8C0ZaD2hD2NQSCv4BUAffl4GaZgkPIVm5FsjgGxzmNLC4mFlJLCAYtfThd2I+rbUSG77IM75nzmtBG3uiB2MbrqcP4TvE83jHx+FAJhE+V5AbWmiRgJqm8FByAOm6DP7kVEXIM/liMLsY5AT/tDCJKvQEZJXWQydus3ciR2zmgnbTIluTgZlncBpDXU3Ukld8bEqCrNiN/EAcgnlvhsG1BFKkN/C2dYRw0OgS1VN2/EAoJnlUp/1YAgGwIVn0RMOC7FIJ4EbeAkiNIhm19ENUw/GLbbVehctKK/JqHSbPsoKra4CPUjKaQ1Rkyq7hL66uw3m9EKGqjOTRpo6C8JbMhaE9s90cqtBq3pz3hZmxst31VO4Hb/E5x+GfTiK1q3DXx1q4Z7aBMzey/tyHjNjE8aZFW54J4M4ekqGqrxK/pR9ituUm2h4KB5lVWa90QfAPEDNovQEx7sDgAjp1s521A7k7JVaXI1EDo1PrhmehUR/a87/At/Hqj41egFmhxY+1iQNwNgmHQ9v0JgsBCWutJg9sYDrMQdGQrFP7bXMS9OS4iyCrAxvwvOxUDjsFbfZluNcAnviv0ILznR3S/g+RG9ztIvn+EAaxMt8JoAaF9T9chRD27r9+dU250LuawITi62o6mB9vU0ynq/Uvl3d33ogbz8WYbSC6zLcj+dJ1xk3mDevS1A6j/NIAqjKIuZ23r12BbwJYqYYs+EfKjT+E96h/hUb/tIKfjZ3AgllEz4oqbJ6Anc/1EoUd4lsazpSNnBG1T/PJVwv6Cv/JkMj0XbvYCGBkfcibnfawLOIPebSlNnMTPBw3ywUuehfwPp/b9djyOAEYay0o84hlTcZu9SWlBMuYPprHgs5vX/eML/1aR9FqsYpYseqqcWsKlfMz4oyrwZ6Vzuyp0qywq9eViitnIkp+2QamiG2DyRLs5CApWiEKZ9CUThQH8EKY4FqAZxB+lzNzdQyGvqW1qNIDJXSVHK49SgqdMhDGHpoBkQeGDublAz4IOFqr1uQZgyuFGxN6klj20YiarMoBDjdFs/n1caOnBRDZBbbXLuo83Ggdk0sJsMER2NTdbbfg5AGvMkuus0B41RXmjhy+2YrtnS+zxYMu2hkHa5+/5+/6Bf+gf+cf+iX/qn/le/9z3+RfZ/hthKXwvvcNY2NPC+8xzXVzxIXNefOCT87HXPZPb6rQICGnTKnwytacVrDmwA95Fpy5nnfOfbuddcNElPeaHerMsASLV5UfwAQCXx9vaqV7zBTPfJHedvRBJSFcfSzP//DLBvztV8O3BEie+tzm5crATzHRbMqajYP3HuO7unzNTAADo0ncbKQF7CgAAAIAHAL64Oz+5vlwdiesBs43t+ZJNfetigqGaGHlnSaa4BMK4+b3mgupLgi8EF2DL6y2cW7C7LwywurwwufKZbVU9Y5L0QfN36F9qw64W0re1YJ4R4MiHyO1uZA3c49/YMwYJHfA+qYEocE91wFKYrJtFbiVfZi3kHHxTgf0DhsfVPLVWJKsH19KwKT+Fv+gU4klhBmu7lnR/iUqJJIWXJatde7kPEWxF93dyQL4jz4KZ86B4W13/tX0EBWz1LWkNFA39fpLIdSgy2ANcSv1SXuTUX6IaOIl8tJZGeNtoXiqcXPmuL5ltp/Z8uTpjusULQGVStpx1i3nIQ9akPVQSEEGPd+KlW1ktRg5K7pqjP6sFT1hrJM/TAPaiSR4JU9zt21vlRaKvXwqECAhcBsUOdPZ15q73qUiMCnFSECt2dY+r+QcEQ/BF9V3+GmwHbHlZNJgL26W8q7aLQauR0S4YrtW3Si0c3Be6utPkJFbAbJ6Nd0jfCMCRD2EfBnd2MdO6BkhlFyMdDKlPGkifAWC9WgdKs+lL3UgxPJ9l8E54CfXF3eji6lu8gi4m2EN5/PfIi0PrePlRCmlsbrdELT1IoQPpoyhMZWj/Kbw9HcQWDwS183+SrFPjEYimgH1cHexNqIYZJGp4dNkmd/Kl3A5kUNAb+hOZWiQtpSjzPW02P67jH2jlRs6iJVjHccVd+MYgOhEmW32LU+xAWkDHr4IvyF3GINedCD68vUJDIKfgEbFaGGu9PxNbx2XdAWB1J6o7sKN7K0D8XwdTowzBBES8GIAQNvVVBUzGxQTDuaQ1WanhfTAA6FjIgLvzOjSNvE9wAbTbKPnyVH+PdYfZHRBUdwI69Z0M6uBh0KtvqQWHHoJvqjeQV+Eoyi2EfIjAwLJsbtX6jZJ62EYaK0b2LccJtEKGi0AjWCR1G2Asc9BzIjC/+CWgww+AGN36MLem4rkJWHrGA9pdcrnbWU5zzpqlo0G203uds85aVNqlzRVroItV1h0z3KK0FdWTUKhFV/wJBJXPtDHlql0SEYUr92wxQ7e6NwvomPBb871W13dWR9nEJYvWmy6Ol9dvFiRYm9ecdcXwLjZYv3VWz5H84a2xat2wuF1hJGXrHY/XbcO4SyUDm+E5FMNi2ADVkR8Bj+z1a84GctepHuplzuINOGUFeFQ+QB9Z8HW5rumt2ZtD9Tzgsrlh4dbmJRlul9qS2R0Z0+llSYZK3LkG168/7vNaA65D6wrWjfaNVdL6c3Y8XXLZJU31/OaKFCnYsnKLW/N3Nwv4AO84fd7q+tXq6CIj2bx26Rovr3sXZMPavBrWFcM7Gqzfuqlnnn/YN1atuxa3iDE87VvE5DHRVgvNVnSUUtMyaEEz3dOfzRuD45NUC80opHMOBqgXpA5lx+KMogk69dtz8qbf5p21QNn0y+xe//LEeL2Z/TW+gORuJ4PVwzcTHARpksbI5vlWyV1qA2jkAAk30dK0MyBjMcOv7WifLxctDtt3XcuD89/WSTnvmsf2bbZuJepP7tcRZVX6kKJTwmr/9ist276wIvagPEGVGBN7Azv00B1AP7sD+l4O7hEJoYZqUaJwd3eMCz42VvopBMsj3taocN8/+wXMJ/xYwvUpJv7G/n3GdaZKtIDeGpvsdtRl9xpCFtm3NtOwsPnYTNqUTNeYxzfR6Z3gpKe6AE5QBlWjBehnzO+Yx5iX5MPyqIKFybBMLA+r4D/Pf5f/Nf93vpB1lI3gQtyIF+I1glcEF/si/Sixoeu7rn1dEs7bnMgASgpIHekkS8i67te7P+n+qRvnvsh9n/sV92fuiYGzg4XUzp5C3vRQOWvhGW+fcWpoZCimFNJ6etOZP5558Myi+Pfiv4w/Ev+PslPZr5xQUumdbM6wM/wUnvnnu7N+QbmCi+1l+UV16bpgF+pSvUIT/tX6qrqWXBVX823JTX0LvNFvolvBrfLWctPdnBRT7jxv73nilOAE4G89v23iwsTgZN0FKy44PP34ZMdk3+T4ZGKTlVAuzBRuv3Bs08zmDaJFvWt6t/Xu6n029e3Ufak/pv61+czm3s2jm5fB/8TW9mPt0fZl9gb7XfYH7GftL9h/5YBz4DjkOEw7nHa45HDH4ZUjwhHnyHbMdlQ66h3bHQcdpx1PO151vO+EdKI6zTj9LPtPbu2sd25y3uNi5RLlkuVS4nLcZdHlC9dw1yRXsivfVeZa5mpwPea65HrLLc6N4JbqluNW4rbkdsvd9R5UW9WF6jnqVHWuWq2uV3+rPqpu03A1TVpG+6B2Rpele0N3XU/o1+vfGGSGBiPPmG1syViYsT+jOeNsxkDGREbiUpZJasowuU1lprmmNJPUVG6qN71govQxkwfJgRRBKiEGSAekF7IfcgSyALkGuQ95A/k581+zFdQC6guNgCZBiVAeVArVQBugO6H7oDPQRehN6ONXf+310/od8XvJt2WN5ZGVZ620Cq2l1h9sm+wwu9dOsfPsuXalvdputP/g0DncjkqH0KFw6B3tjvccvzqaHZ2OXseQE3EqnG6n10l3ip1qZ4PzA+cB52/OXueEM309XEaX21XrEroKXFrXpKvddc01cwMn25F9V3Zr9unsnuyR7OiNuFvo1rud7hJ3nVvoLnDvcrfn8HLuzbmWE7+5Nnc+j8hz523J03vwnlzPMRajXaL9o3Oia6MvxQTFpMUchNvClfAJhC3CDhGNICHKEeOIS4gniG8QvxdZxJrHeseGxSbGkmJ5sXmxpbH1sd2xo7FHYm/Gvon9vdg6ThZ3N+5l3Pdxf5SsjefHe8QHxMfEE+NF8YXxU/Gn4hfjLzd084QmBCcYE2YSnicmJA4knkv8Psk9KT+g+PuBbavf58RVAeo+1WOqF1RvqT5Rd2LnYLsr+ismK45UiCpk9BrtotPtz9QfY8+xT9SEOa/0MCf5r/k/7tlZJWO/lfvR3mPVVe43ea/y3ux9fO+nD56NohW8AQ7IBQh4AcBhtD7pgkP+lglLsj6pIoUyEdbrwVACfpIhBxyJOgWDSAgh08C8+WH881tIXK/mJYKe1ou/1C3XNFiIkT7jXtyspyEkTJQxBVhxS4XeTZKEmoi7+/+oTeUQXtJsrYEEVrmG1gWGKsQRB5BMW1hgLjR7J01QKZ38azJiJiuzrcQcXw0ew7iGKGApvYfWU+ZcBoRIBWp8Mhlz2ZUlExCIkupHQPIdxASAYVdBgcAkmhSBFrn7uRwAkUmD6acZiin+ELfhlbxOFcnYhOUsEb/7+nufhGeXcGkdEJ8iefEYx2ocU9C2KlwkDrzkO1G9+tKVKObEbNCojNSzYIEmvQJwrJexGd9drDxzsVE/LIG7zVaPJxxYbujPCt7js9vdpnm85X9b9z7CrwicV/D3OtbVKinnZ/49DeelkvgKgQIbzlcn0lRlnPelPok/cnPYUYya/ZkhSX01YCv1oG+Be6G7gUN5xLPIXVZxoo4CGQNv8E0I3MSx02qQd936TC/zLSbUeHZ/3gnZPiqJp5JlKlk0xaK4Ch7m42ME02WT6ih43NCtg6UDGwf5RqGoIeUi3PaBs9AP2SWshB2ZjIkmW9ns2dMcAseD3u+5NxX7JqI6BYuqOsHtqnO4XfcGSlNwS4JFUiD6e4o7GEjK6bOtZkAWqy6bx8G9A77N9IRjrGfghYHypiQ8GnfONyXgugqjWU+TPM3iGIbpuY8xCMFrczw+z0t5P8JsURxeciYDx4Gtj2BNN4DLbmRP07bTtfotZrGhZ7MUrAM216BQNbs1nOTjdpXKqR5qssuTaphE2KCiyGUhFGDuE4JPy9thIeRBbZ5qiKIajNfdAqWHWCMFYTIRHBROTTs2ed69Ef+kmP2EzLquupCLWBBFUr3HWYohZuupvaSORaQrMy1//SsNiZmzqj1LgWWmH/QB459hfpeHLtt3JTIv8fX5PI9YaVHoiY8j5RFPVnXJgIfknSRx2syD8Pw13Td9JPZ/5u4rNz9JIAdfQgLt6omaPQ0nhXv3xdOV1r5c8E/Nq5BllTMm3j+ZKO8nDMX7O7OKt4q5Zc0rrWbxlPQs+zjL2oRxu9qsnGEapYGLJB0Ebs6SuOfk9KHpuw2M3ac/27tzqlBuaPsW4j+tl2npaglr4a6MdazFUcaeO9NAkgzq+H40oNgddr6vgGTuKW0qX26e78LstIeZ0wYRbOzPfY1GMwjEXevql+0Bb69IU+77tiD7D6EVOs7oZceiAcywJKNojmx1vzEqUdrbU8dVARem5dFZ3thhQ9Wp1JTwBrtPKhWqgdl0w2lRHCAbOTO1QjZrei7P4OLeitalKK+C9KQfHtl7Lhz+knFMgjUZiZqsOQPTrXKmulE98LaXWOX3AXt3du18cuP/0C485QPfFbI9/9FNDFJyAzwnVBeentzxB3Mo2ZeGPm87JFPA0nqWo9dxlxzVrZCJQASh0V0dXNPY0BeC7t30wBo9wik5bzej4f2O4fH2MVd4/2BivFqmhncTo6octhrNY+6u+m0NWKAgLSJlpUEHufGBgs1om9wEryTio2QwSK4KITWf1yADrSaWddBIcCTJjJXjM2dN8hGKOdvt2Ogj2GJLfr5+OYMSNjSWD/gQm8ReoABqnBEXnYE4SZ9bSdyUKExt8ux1VDzfEtxzj6BuVtRwsu/adps2LBpETDUyRlce+JDq2x/mrN00rpTUX8XHrpo6DvryXELb//3I4++/0TwE/J4ooUK1xwVRAt/URg5ESZTmqH91pcsj92m/leV1JCIGP0taQaQiVESNC1HA35S8FtQFIR1Y8Cp6CAR6QKJjUc++k50GoKtXxcDBfhtb0XCRoaBC414+GLgqTKZVIlJeeqo+HQAQvIbDE/D6IqDH4yXBmQdCq1woSeDnN67ihfirX6Pb4lTK0ZS4UmdzOa7c+LZGb6+J1Iaqq/w4gBuSuZ7JEFdgckIuF3xKWJnMjkrZ8jIbysBXLlMcu6scNI4FBg1Q45PerRFS4D8MuETU1RAvrgk56EOTzc4rqJQrZSPGDGvurEqil1Zae660I8vmi4VqhK9xpT0o2gZAgOyPFEsNKURoTcooykUlfCOZl0nkGLIG11HErjIHlTuxgde64lCbW0piULIn4aF+uy7XLEe6NKiaa4AEjCOUPYxm/V4Odm5SCvJpQd9uIdhh85788aq+X8NyWHEIlsfT8ObeeCiYrbEgKtsIVFSoOL9YpHB2H/e57InB4kNJ0LKKiqJqNMPNyyGin9GWm5lQCH5xMu5Js/CaihMoO1REBC+fsXgr3FZHWUkb/evp3/3QZvSXW/aaFCuq8hPm+8gd+YE3ZhdDAM4jMxIcuOJbya0dxSsGJTGH2Y19PcgZnRJPaevTAfsaCbCxypl83v+Yqsr9ViN5FgxXHZ4PN8HajGG8wVIGoyMsjRowlGY3lS7EVoTjjg8U87P0wUkJFkWD6d9T7FgTWCSoOEs9V/guQ8aS85d7+V6EmtoMOpV0FpYUaaln3qgjUnr4bb4+MSxKrygdj1zy7dEfmQJiH28ImwPCP+DC6N5ErQhcmSTlk0rFeuDxCghVr9r6ItBTcwoyrHJmhpfHJHiPMTreTxkB7/+Za7zfMXMaLXHh4cZyxpYGzNRvGJoztWteb7Udj+XSsm8zrE0YDVy0UKxUxHricIXos3bsq48GYJfXZtlcA5YygCBENrJoRdZHSt6o0UolO5RVkcZw0X1QoXBc3E8a/IcSDsLQyyXHnEyIJEUNd1e5Yu3vO0wT/q8JEkWRoLNmDbUUyszsPA6USpFH7qoHt8duMrU4DZOp2OL/ra+vc2K9DQ7wQJONF+PDQncVUm+/TE+vmN4pwHerL67DMBfdYw1QPkjh8YwuGddG9Ord9L2xQau21Di/1wHNRc3g6c0O7xroYSw/YvYGKgGnUg761lm8znIijYGmu2dwvgUx2HDvpBpkkIcWmVMSafuc2VJow4D4iv0k5UCTEoVPAjqWn4RFsB52fmFbb3v0UuzCT9Vx5/6shbzbq0H0YSf/8otxave5GBxcr4mpGYf/el/lQ5abKdg6otUKvaDdH4qhrlhjeJYkYYhi2T1X/dUF3VIzuBqjtcAbdBMWHzSWbq58wjZCkgiws2ZVEIig9jjYdlP058zY4KNSUgX0bIVH9OSAcghdoPX6RBPhcrHw0eDEbnthgwN5VCeqftsAd8PTNuYeXu5ve0NdGj3VlkMa5jZEFZTRhjsWtR3WGZdY6AHfMR0k1OosUdvP5g1vYmdrgU43IEgsi+OOAyJKW3pSzKCjpNQrzJQQkwkjMCz7UZfAL1Tr8MsuwymbvS2dbyF+lpPTvdqtAvX5HttcFvqrGKxq2MvGDHNjXXXS5lT8j54p4yuLQlWCvOxU2akWDQvZ3GFpmxi4+ZgUJZorA43TtJw8Cxad6g7HUMOKpzzQF640siYsB11krg72zag5X39yIKe8fBE3wucZWYDym81HguOrccWjPl55AjhI2I5jpDE/TLvPsPz4/5m7UQBy7r8U1PH7K1fA8qaAIlpVdfrLkIuqTUB2rSewD2rCnMOZlpmALrVvPAwDshAEpnsa3rjnHRy7siOshpmUkPnZN0IrPoInx/P0jQdunMw1bbXGsKQWJJ6GLlkEgXI0PsS9jEOxsDjJxbFszsfUcFAifuiVguvXErVVYSjQptpnPCRnLvG+yIzyHmCCvKPMbF43M/0bZh9jxnhvMGWV2VZEPbr2ZS8MWZsw4kY/gx1lv2UAKGe8pDR1jQvr/YvOykXPodYrGIrkl6rISgu0ro6vrLNi8FGktVONf8lGSk++3KJZzzynxqmQxYe/9pBYNoALzSVO56wKtEfuk3Hfnbg3jtpYCHdqu7sHWnJ9esjjtDvwEOa2j/flG9Oda9HacKfRsBKbQdKLSs9wLxCh4Hx9dZgGWZF8+5jH4lRZGbWA5dL6cpfUMKysfY9GU3pBqsXdkYlODf5lFakiSuqx2hOKZwUo2rqW9z9WBWJHCotLytvVGGCiZewbag1LobA9WE1TmKyjdEvy8wJvFTjXfIuo7BYGreGAN7e53RZW5h5OyvxlZXxrPf06ncBUvmmohBm627qHGVoNG3PSlUVBhBUvUBsdAYdFfgaECGB5WndQAEA9bDjBKGuk0PIS09yhhbqmSJfBuqFb2KRUopanZx095LLYT9eH6rtVJFKBKBw5fpMPNToh1FpCIatOGH/1mUjWUSLuIbdZu1w83+gqnmJGbgzn1/DiwJecypUxDK+4ZFbumT1oJyTkbHv3PWXz7N5UkYWQhs7dOspxcWTRX4m43RULrdMx1kq1jRzedZ3xpIjONYcdO2kjaVqgu68ZCHDCcSUiAO43A8RoZLwkOuerrIvdjw8Qc/6sUkGwcPhA7gSkVrEXJDgNfLDFgDC+G/+wh3o+6C94xfZTuzHAcY5jLNYiR4Aur8bnY2d10zvav6YJaEWntg+CBRISy3NB66P06Q7TzeiZQnCq6Hue7jAFlR7rHuZ6kzugFFYvLVcu32AVZZtctfoR888NmG7ioSz3mQWoRQ+HYUQ8bv+HO5VsqlAOoR238islVTGFmOZmCZCraRXJTtJtqUxw0XuD/RRsbCGFCDjRG8pEXA4A3qZPf2geOLw1RhykVe/PM4IPbzWPBPcNp+LYauSgU8bMJnUYHxt0AW9G2iweSxearKBhNzyTKRnrcsRpOGrDBgLCFts4Ztg4bihJwy6bLenIKTkjpwtk1CjpxvidPFqVV2Bof6FIx5ZmqKt5CJLiy7bTbUQikq6EbkC6suCFsH6cNSNbipFUX0U7Y55yhIW8UlzHnbexbtBrVUw/jCXmiqm0f81unIb2pbqWiM827/qLY4U7aEhoRvdKxdDOlRwk5HBBevFLpClgr1kRXnJZprynZw8pf5BBGTjve1TY7kyKSjf4qqCUCNgCKZc9cETi946uLvtp/8gU84one54vgyDG69TtoVVWdKHV5kF9KF6XRS4LeSM+FByugWCuVc78x9vP3IBUwRGKOvxgOh8KC5q4Oqyc4TXDpll00SeJQuWKMcz4GzBjjcrhN/g3WT7asYTSiRw3lv9gSCyCIcu0OK89O+BYYDTcZqeAG0mlWM+JyAWExsIZEiOd71yy1YdjkhQXndlmOU6b8Ozp8VybJ0bAjHMRJFHJhRwuVK6nZuVxbUfflYLmZ29UTedsyxV5IzxZhTJjVUjyOT+MzDBOD5fqd7AD3heeP8yaN1thWY5OfVTFDw8CcLzptiHEHzfg9+HeGK8vI6siYkxIcc9aD/HFYrO4pYhtjsYM4VzXmCSD6yGWNB0MdtgtpTExjy5LzraelHNePRFedmO6aE9cxE4K2sNG2v8qGYkk4H8uoqg0zzfkUpNcPuc3Gm94ILivuLmJp7RHNjJ7MNve91Ebtm1R1Jg9SkQrffSTgg4V6n8XHb7SO28N3p+PSe9HipxA+X0w6uejcYB/w5S80VewGB5wZPl/ynXA6HYvs3xqMzqO0KjttCtYbV+xLQ/DZNFibNnhIDoJrRJM6Nwe28p+QzOCINhM1cCEBi/8X3lSNKQVcLS2N0XNFVFbUfAKsjFz9w2i2boPrtJm5WoEqJ/tjCThr+26dkA41vHfbbUcSGY4KqJVI082TUcqw2w/c4JT8hrZUjUSaisrDviwZfsgeHqQCDWHZgxW3k+tTL+6j0fzB/tdXkFN/8DZbEzS8NcJQD261QSyxhCxMvZiONYO4Seti515Wayx7GIx845eLA1m5TozPwmNV6NwpBZTFMOQSeFkGZRULggyIh1Mnnny4hFNlQ8eMrxV98C8jfKnqZLpzAUleqqkbc1q4h+BrvSwYQ0Hs0jlzHxZ00/3r884vjxdDYtAgBwMw/s5YXpqGHdPy2ghmWuNApw+AncIxSoOipMmRsxHasXNRQnmJyefFhxhDfBgPj44UjQgh8WwudWSlHbCEhU1VKt9W58lN6tCcSzTrw6GXcFsR4pj7m4szQk0F4R+yCwBu17RUGnbY9MQdVV/iAqGf6M/FT3SPe+nviCcRVw6bYndZTbvu/TrUle5yrAmfUMTY9tFVyYHqybxKljaeuTJoelYTaaWNjJ59ASnZbHZgcaxu/P9k+Dh/grTGVi4vQDZe2R/VF3eC0thbdIaVuBqlpMhoZHGUmq+IXuN4xgeypxVmZtmH6wpYiuoSyNDLFyRWMRiiJRIhM/pQHkxlTaZlvz2oqIpk46lgoVnIL1ktdt2Aw/j0ls/wjd2VktA84g5qNNsQdRz3P3OLvkIcDm6Q5O9fhJrnD0wDVxqcmGHKcwzuHRPzWK2joMoTa6Lw9tYNM+6sEnOe4CR8l5ghnl/ZRZUrrEa2OMcXvbLOmsTxui6ao2+ytJGciiFSvnGV3ryT74eM37CRWMG+1VDQtPFxXyTdhXVnziyI95ONvDSgv4hele1YLIpTmEUGi/uOecRkyyP91HA+660P8dCLggBCV+JYxZHJ+O58KUpJClGusKVE6pLjR1+NOyEhnIFPV2Bk+ZIw1gh1uefk6UZD1cjeuZoWeYjk72ZbHgUI+V5H3YVsxw+Iap7oDl3dogTvpUXpub+7nzVuZfZhglotNKUkUHXvoZg4hwKVJR6b541HauL6QUXYd4f9r6JWm8sRcIxf0gNI9HHe6W7QwcZbNRLtXVdfufJd+p0aqfbYjkglmCmUuvT6daeI+PNZbEzt3XYKpHB5C2fci3OiMt2hmoRSjjsYq4jd2xkMvQEp4mfs6wA+k3b4Sn05dNoX4txgpexqpbmU4KORxOB4PDN8kY7IRfmh+VnAnOtq7m51WgL+rzt7nD0rA1uCy8kT6fDEAJSoxYfp2BRcUPAsIUN8olPonQu72Yi5uARUMWM0VHxPtfCDUjwCiX8JowmI1AJTDECrMyHHFXEunZTksCY5ckLsP1/KxCZoW4/mhDofHrQebVe+C71TXElvTqhH2KguduX8l3Dnaj+RxOD7PCknLeYEfOeZAjeBHOB9xJTyvs4I2xEAJtiJ7peY9MELPLPt+lNwHcz8Uh2maa14reghax5M9n73RWe3jKChFo3hIHbEoxDfewU65ZpX4CCvnG8y3IeHxhDurBU1GZTPsCwwfDUTb1dxrIFW/RZwO2ivo6CBXLLop+UqzgVJEJ2wI8OmfWPmoSxVCCL4a5ZCEQja0Jqnnt4a3p9v+btFITcoTaarXb3PeDIx0txGWNCvqhF/bXQRlpsDyNvbW7y+cKNQQZvgYfXyJ7962QZE5I7nAE6QbJ0/bdgSY9Ldz1uDbEuAoY2lvJ6WmVaebM9hta2HgxgBTwVsr84+MLlcPjrI7FhfxjHfF7cawz6pH+RmPaeRI/75eHQKRsBrklOD1Y7okCWT6fZVsirVQQNF9ruM+5dEr+6J249rhahqwlptn4JIuVK6JSyqeBgUc/OJ6qVqE66aa+M1qs16uLZG1goecEYlx01mVvHAucCYqJIipzW7qSacbP1Y4HJdpilXJkCy/emsHFzTkuDBBR9cVU+8Yw6BqIfPiV4D9wZJWG4J2cUjYKkAGEt+9JtmOxRYA3vPKKaKVyVwpoE1myPFWUqWOPFHiuEtXJehHHQnQVIkA5W/B1qYE2bwdeNhwzLwTrwUk2D6TgQvOAlRy7AqMRsFhuLd2TaxNsKNgu88L9zUuFYV2CWzUnswoEiaoY6dXmbEdWxy5yOWl9SX36db1WMc/2Zc1dwMF3o7mFqK7DJu02WNAJahS87fFl7kJiY4X/DPDf6NWupSQ3jC8ODR3MZNoXj8kb6ShomehAE8Z8+SD1ZI0br+sHKGT7vAHOV9y+mtnKLFQtP1rllf95qbcKoG422cZK72sQbiTEQHWLMVGeapX0qwFi+F0ZgMTwYsuRi+91XaMGwrVCYdjEyIUCLNaYFbQW4fGX2CG5u15wsgNvBw5VamAzQmMSWoG2HAS+Qp0ad85KgWgniYHOP5e052rDFej2zW7n87TBGYwYu2zcGM5dCpFzJJB/9rfnKxRrOXMPS0n28nUi4drFez+ywhssLyEa1MSBBq7zN23J440WpVN6ZcJ2gaKTLcOMdQUwgoAqI0OPxZFS+QMipT8BajbQoVABufxhf2O+2bGZZlFCtAb92Ge65YCuV4a3KPqLHSqf7HKYpkntIEd445vDnU29V9f8F1sD9RGcvO6RWf2RtOSuYm58Oilt9yfxAcuOwzTGTuZ5YKcVf02o5YiBX9kKkiGXpjyv+eSXJxquD/6u0frdRyUYwnlyUsymxKHp3yms3O7AE3WhilSuvWqxqFCt6tsm49wx+qj4Y1Pf5emY8M9iOY14uM4IzPbtultgul4Ci5a/sitoa7DUNw2S5Xk2o2JwcE8VQx8bqAMGJjanRlH19uYiT15kdsRcUlHmPG9iYP3yhIt4QLC4QdlK/VJ37F2yG3QbbU5gmlguf0nUL+UZsojBHAhcIu82PtSkzB1HtC0taE3qgk4NX1nzOwVc4w6mjGxMIoYoMVIVKNldoNqY9BddwYdcidLc/OlSwueK3zjVxDo7tRdyLNTA4VHjPc7XmBmdJfVQyvNzkZYdTGleSLmnVxAzloM1FyxiIisNPlNLCGWP1xFQCOp2qogKuGAMjH6ceQsycV8xhxwo9Pljcs/EuXw9fpxKHvUCZXhPEcUmS1lPdTeLckantxlxLRNDhLdrqY9UgvNLag1+U9IMR1+o1JQ8JNms8uK594GOLgguz6OSH6SVTpIxK2XyAnkGv04CiDuQ2jpCaxI2QkLLSkwWS2c1EqD/3EE1TWhQA9WS5i3CY0oIC1NZ8k4w8L9dpaehT/2RPEn+zs9tsn1CIFgrBZ1kpURbCNdyWExLMJn81xexPfTVp2Z1um9Xw7pPNNO9TTIZRNXUgs7B5NeqNV4FOgsETpDRIVYaFozpJ4qif8DN4PGeTpVG3Z4QhSpiQN6qE+XCPntlVU+2JBq/wpqDb8EiWJNnz5pMkkiUTOZWxnnC5bpopkvdz61GFAZ7WeYLVcqzEhuT0OSb4EgHVyKIEkqtEKGvfnlkwlwg1E/6W2ocq4beiWNOXaJGyZCUwaKlWqHwtFmogx0ESxVokoq/nIGJiZYVR3+eDXydQRMPSn5JNFXLUsscd9xR750mpJ2zTz3XWKmfUvBgz2cxVmkXX96DQ+VQoK5oKPJjA38IWhY0Y0ID9Z8s8l+udUZcXHaS5eOV//HBCkvuMY6xQCE2LaeSXURXq96tMerVOKVntVSNipI6iKBLDQNHvlkhSNOQMCWzfDPwNC3kVHstFdZwtZAN3HK9MQuS/nrEuH7Oe9G3+/pkikyrHxEr/4j/9jXtwpg1HaqhY8xpcS7oHzDxsleao3R7Xdt8njdipOSXNq1Z3jy2Vm894GG5QElv8LFRXNXDiTyFfNKCU7ZfpOGGu3Z41qoJoP1+mYFZzjKpONVoZ7Lo6LNRYXLXqDV+EgjJhjySKZDwUisWSDWi1xT4cdcdrJdcdFnFiRc/CrOoo5P42qT34kvD+0aSgMJwl5+1gFJXQirjHPVrV/Xeognn/p4jO8M2mijjXfg94K27mufg9+9zuipxOuhKdq4sOqoi/gq1wpPVmH/e92P/q4cySiUCK/9NwHzT0M4yhvnCKec5s8avg2m9YN2jGMl2Z/XtQLSjIt794mcNiXbimMFKwJQpZOLLy7wR3vmw/QSjnqNrId59e5/7UeJvFCizXJh593WADrIKEQrTkbQCo4/EA1WUzea73Rj1+3wDJxr3/KbU3TFYJDrgol3xNLVRYrX/7uM+UD8ZirvfFBKOT7jzFu9hnzilQhW32ejxZamlWQf61vWjjDGfoR9EXryTAH13B9CqUkBASt7sZAdGTq+X9XpRBis9jMSpWdY3AiUyHQ/YMIlpn3cPwaOnkSWq1BkF4lHq6sKYZfaMQeLojaCWPLqyCSr0VwrE9rqUUsEY969CPJvX6ecpjs94zpad/1HO70wld4sz9B85X2sz1FwmFgjgKQIggECIoDNdVJGK3vmWneABv0ZyEN8ZIlUIFww2aNImf6tptHMKt1cP9p+rKZ6AAvASV7W39iiHKOudKuuYQxcx4SxHscEinBoGjqPS2K+30VGMks9DXWNPZjiiqumcLordz6LDl11m6iszlQObZvfRh1ec4fWGxGZPK2QYYpNILCgvz9OypdMrAH/n89mPsgeVgC8JwO+zO53Fdi+fZKr3SRRmyi4rmxyjgX+2KysTLDxZ4ZPFut9VTqhbXwZS99MzGKw56JSDyrcm+6bzrgJAcCiF5OBclQqHJug0977rLEAEODl9W1lzfVL61gBP7BNl7WEnBxVHiXnwpU0YOBXHm8qTMRysCAW2uKlY5RcmS7/ZvBTH7cWNEf3h40x0jiQNxJnIiacuR45sz8lTbBQAluvDxQ8G5xwprJFbhlZmbmwsrjtksInhM8ujzFqFF1f2Wz9M3oLGtpkBrCjvh5ZeOjcv9eyOj8CW+Wd+XvDCrMMqz8/mdWahxX/3XRHYhrIBtLxk7n99sTaRdIJR4iWZZrXb7/bQLhxLghlnz8ZbMavOlDFh+by8tXWk/XJcq2hwfcFWcOXg1eC1i20fw9gUTOd/P213t86N0tC16GDjPPnecPokGn47Uv7btJhMY8Nx2M+PxRwFFNLIXFH2YrTd+NQ96rbAONS0FcKrVmYUek1GKBAphq0Et2TmZmjdZqqqHZZYcsTi8a0fQcSPSWeziHXjh4peFQt9gH4kk7FNIMorrozOECaTZ55wvV4LQau/QxrFJaZieduet/oQrFM4Wo/6yyq/8dhok0XKst9+1jINUhSXbOY6PUoKzJCkbcJrcDT3Edzcf/uLvJWGecZtyzeedhn+eBFYbiFOeE7o8XTsT1jRtQafQfmiaTWzmysV1S5btbrd+1sfsvtLSrSvcCtvMvF6lMGKqvo6rXekrwZK+V24EkdbfONZDBQZLoNoLJQmnw4J+HH3xl3czT63ON/z+z44SC+KBaWxxL/hwlytXjlsuMcZRjSw2F4R/TMGDTC72cGSZwnHWFWcvmbNuLHPo5C8gXOrfZTRyw5xl+p/i9IgsL7e5wmhdxxYh08eRgX/fwtymPL2o+X2GYFTMKJMguAArOobqjawoL/YTjZDshxhbXQ2CxTVvd5ljYk/g6x+qCytvGc8PabKsYdx8AJyzGwIOWTgJEv+n0pMCUDh4+q+K07BwZckFWAfBk1MRlSaCECIYhCikfh39sWDMOuZ0/ptBg3Hq5yML2EhBcT8HqxO8chaO5CJIGowFES+2vmvuzGOorhAdvXGX4UEBinhFqU1OJ3gUnZtrAgeLRB5vUjDhNmHUYOy6O0InrgBrJTFNdimVEnuFubDGrDKZBK6ywrKzcqK0+UTwiWITFkoYTpCq68ZTefZ+uwIWPnzaBw1/jGiMs9aUXIRTnJenwhvj2Eq9zmh3+4RCQXqztW/IscrBxyArf202+3d37OrmiioLtWgojI3LVbiHKuZK2CWOYhgL+oaMpyxHXEvA4ZZCX9s6UW/kJPOYZy0U5GNgYuos3Akv2My6XOdqM16RWXvIrjoogXSv60b3SXpLnp0yFFmzmcyLjcTV0PpsBZhOIinSlNnUHIX6IuZDmBASM0KwiuOFfkc5au2JydS5+iyZuQ9FYXpqliMVMgggkjW21Eg+zHLy+uweNZwsbx/XHWE6PjawR7Rbc+z8G75XgJ7MrsrQ0NDPNgveZ6+pPmA19EGvt8ZBvbUQVKvHlxIsSdEibZSDnKUy00+WHxf3rjW0YYhq3K0T5B6Ew6QR5khksKRNCMaTnAwjuGIZgy7A1u4Gvgs2e4jZ8pYuVJpeKxNJXA7nKSHoCsk+TGDIyee3dXVrgWnXo+xL0cMvbvx8T3shuwE9VBMENdrMdfhZ5Jc3thoqNYbd2eMyuDr8ZDSOur9cM97kiZ8VyLy96Z5/Y9DL6Fpz/ULDFxVeldJoq7Jri8GVR8CrpaYg4uFpYTDXeEOJNpNWHUZf0s7S9QZvDOdUsRps9h5mlYrOr7SqoSI7P7C2op8MULZuIahTFIg4fRyzjxvsa/P5iBxifh4u9kFobnnbiG8l2ML8RdrNCgNpZd7vEKqS5uk2SoXalEBhA1lm5rC7uNkhMo3RJCO9b3gUXjdxms0JeMTjEPfNt9QoMTMEJ+8gvWuVerVajtp0Ql2myrVFXphnhf5eoppyCRjbWZcEtTYQxZ42C8iL4Ai1gqBx6cTUUoigaPFucMkjj9Il/lYboy9W7IJVf1p6Yi09HJtMss/2nkBIJdT2B0JODifW1kbcwqCIg3lpDfZyqJrHDq7bxaSMT0hMMHw3i07rmOEgVn3chWXLWoljvabKaNpm/OACOIzebpFTsJF1zbgQ0eeqh7zsXOzPKaGPzhaMXEcn4aCaL3fMC0KrZY4PjkKq61YKUioHKaiPjJWxUHNI+1tMBhPijD2VShuFuHPOPS4aDf6kdnQg4UkfzjdkYGG904RNwhPwSaZ8CJEqg+msOTl2KcZLMCHTGua32Xx1EaxlhOlm4bEpZMh/uAirmmQkxxc2nmRCR2VL6zmOgE6JRCRZ50r1eEvBFdJI42qULWTQaKfBcvWkDDzzt2ei2DPGY2NMFsMz4k5jekyfu7pIKfuCnrlq1E4v049xNtpA0UDozp9ftv4/MWiw8dLYVZZAyHozxKw8rhGJe9YzljynbDOHUk3CbDtuFRmmYo6t6RLXchCzwqJEbTX2SiTiLIpItVqdRrXVFadWpzqtSmO0a4n9FAsH9264REak42zZDMuNZRsyc25VKLioxhmmjo7W1OHmhvvgGYfqk3FJe/muvGaQakRb4jgnVumOKx2KXzaY5uT8Xmi39kbzaCinEHGTaZfJdGpjj1xu716a10OQ/G95tOGNy3ZXEwbaiSjHLMOSgALpMlNWOwz+eiCe0tGb6hUX71nJpPttWlaZ/IoLVcPB9Op+kX7IaLRiPsNSuHmAcfSEeWGTg6Hn5ZdcHlpbVAe8Kw6cGHUuqN+cPXjfs4Yf5CSEnfFVbJCFr8qTfVXdw4PRRh12OZvkEYjh06Q/mG0mhB94VKNJxvvWpcHQojtcGvZ6fDWohpUZQ3JrRFlh2eIkbV3CetI9nqsKm+ElC/bTPf0F+HusbUogN7WAtQygs8yMhH/OIeYfEswk04ByOBF+a4aQ5wrThKBPn4ASW9unyJaJQJDOkpYAQkAFtmnV5c4B8GSPr2t8qE/Dgjsp2NACLehvGlep/D6o0SwwmhaoxaBfHHlRTp1585L2u7euzOd/lWRTU88e+UWnW8dfIICIIsHthIDR7yeV0hq+NjqH7yht42uh8/mO03y+y7ToAjumKAOK/dC7Qzo0TwbAANs7YPwCcK7T0IEiQYbx4yimFfl8vRcHwcqBjtArA5J7unIA/m+UtBS20k37i4V+6BX+tywUop+sRbi1oh4QwDY23eGRXVgDm7P2m/W3NJNWGkom/0LRRHAwXrqwI26v+XpXJr2+74duI4HOS74U67dP/N4ciry47MaCcJvymN7PJGhOSkdpy9wOHcf1btWYtMxBq16/5aqmLRu7P/hAo+CGzf8Y1erMosFuQYfaGFstQpobyaFJNxiZ6lm4l/ZTY1+OneK5XXlaXwXJSIfnguuWBaFjmpQr7ux5v3zt86WKUmkv+tmSe7D70L9+2fgfSo/st32bLTZuqHe5yHPLIcNXPWv6n+/KIur7ttqf2zg68G2vVceLmqATmfpSFo3yEJaqePEvoebmKdRbfclak6YjVNfoFf/roVvp6jHUXNlNzh/PmKUhkU7HB6pSI+qdNeLnu/Ky123aFEuw3fGu3A/ruWMluTbP/f3LWsSz5C1p5ZU6dnS8bQev7lt0vzctikQHvw5EZt84RcFlFy+bttCDVbTZIgF25XBhpCvIq5DaE2ANc1EK7WzbdhV3oMWNJoFupaUpkNrTruA6fxNa5zph4TSPL0xL+S7Rst8MPWyne+u7GLpvQb06iWkoHUKoE5Cz7nHxmoRpymqEiwOztK62HirpYGvnRyMUo3pn5vZE5Cory1ZCb/QvVEFzRjKQllnBZ+JpCjePZmj8EwHDuwJzrg2afPNoulT946uyxYhJYq1ci1mMwrFjiqXwj3NyhpHZDpQ3n4lUES54ooiMRIPzLjQ0tZwZ0urm5HC0uWTKdJjFPgwV0bdbxZlKDoGNSGewujLEC6fpSFxXzFxqbYmMPnGemjY7mrJSlaHRbJyxpquRa/rHreVbysR8JkNB8+LS6fFiFqyjCC1ZZBm66bRoWQjDoJK7PYpRBY0iSBVK5ptZjhhlgVQFzDM5ISAkGWOTHjH9DdXJcg0xB/ViqetwYYQm48IRQ3XTADdYB43GPe6Ns+H689utc2sSGOCm6JUojIeKFMRjxZdBFyn4o70oT4rlSp9EWQyVO/tj/zTvne+cgmEZnYpXUD06AgCxYJkP0zTXH+M7MGs9B7F/aC9OlJaCuyaGGo3JmFVFz2U7JohoQXkzhVyZ+4AF3VVSnrgqIKGCqWdFf2XYgOy0mMG2DWiDS0JL+pgRGRKZ5atMy0wtf0wxrqyZznbyAraBz2Cs8Ss4gtlFTozx5LwEs0xzn2FFs0nb6Sr8DbYyq6P6v/2zOOKq4aU526GpUmNfPvdcrq7wlDpX5Jgebi+KRvipFFKsKV52wm2etfQTBdZ1svjucK4Xh0YU/iTyp6gAHllo20F2M5DwqB7xxkjBorASZm1Cdz3+mawSgPRcvcBpW+au5lDIC1LC7mXUV7zAIhPwaf6wdw4/rt+k+SjtMmWlxnWamKBoqlBjWQSHVtYZtkKTgb+eAEfQh9q6bLIzdcT6PNWr34S7QrE6xeDHVTqNovr8WSFXP9GxafEvRPLgbZ0T5waZ9x9RaIrc6CWHaQ8dK1Lmo11ewjbLTQjXUFLM9fjYfrdmMqHdhac6fcQI5znDSa35FpgDyzSHrEKTdryIy1bd3qn4J914FGvDGg60til6rjkAGnjXNxA3gec4jp/cFr6YA26nZtmy5USJHD7PGelOeig1Ys4Uzg2zx+0HJ7is62eHAdzgssHEEnQiryYJskEWRRPf8jluibgC6WBrTbObkzkEkqZ8u2iIktLEnp+zz+V0uj49ygInrjK7xxOBv9bhwVofzsAp3MfBaAqgAqEPCfP0A1mQkxG6NHxGXGF1fefTCY+irAZMhSdfpsYdszIpBBkSLcFGdhOvVZ+kyKtqte+HmGQfLENStXyNG+Rw6RTQNOZj4xQB4r+oDARt/MnouUBbRcr8nhf6q4A7fjwF0KHXlkAUy2cbMAsirRXw2nj1c5GMmUtQpNFWv/5ViPj8oQk1CGsrIO2LRnFY5omoXikNBdPmd81e20qOyLV3u5sC14Z6tXp0wWEzvOb5JYjj4E+9uSw31hYRGlG8CLRO+uxHdnEs24EeP+vrhN4X18im2u3dsqmt41u6i75QU19JvZQSxVb+HqyDPTnOz48PanTSUJKRkXAcdxvlzlmT/HxXGursAactt+aQ8HlTk/Nv3YYe3wiUyvPGM8/4ZHw0HE6ct1UCm0g7VB6+atF/zkkoN0pRSa3O791t68HL5xLBYnlZy/PJG4Rj0G0qvzBgyVImINMimEB9hX67Gy6sE75als3bBnQ5VgmBCoXEelurVjvLH+H7q0sB6h0TjVhqpdzfdOKca35CYRwZTlE71PMKYNo+ETx12HZyEsh8S9JEdCqPkRGmQ0AlPEvLG+8oMVNZvWE4iXV5jmsk0kuY2d50QxD/HY6Jd+gEjcmVjgCxPCHKrq8s8JDd6MILrN+G/199deHth9eKXMgY6w/9u3bWb/QR/dHTzqxdr4RxVBxogz7wK9hfBp0ZMiUvR6/TaRkEVICTs7mHIjGCDLEYDRbAJM8sFLDSDOBwhBKhIDvfWS4vZQc6CStIBiOgA0E8p5iDTGQsTpBfhs1dECkBXf0RreTmyvl7wx6iubogakEFmJR7epaiEx0MUKydKWDJJDeozwowk6TVyjFswEXBU6dybt2I2LEyJi1cvDefY93ofo5wbHzTJukdXC6dV2SPc0zbzc+3AjzjYyrBAa1tWRaTsi6YyqdCtbee0wS0Sda04wIAkqa0eRdeGmGCDvizAAMYSggK8tudI8nmYH4gD8YaCgB9FDPvpOuWwS6/zXGbf/r50I+9r8qXrfxnrv9FackL8NnkftnWelnot4pcQaGwDTaatF3BaCqTgFQ0iGEe64Zh9VzK1wzxpaWGIHZWwjdT3bhZSd3ApfSheFP7MeOtbhWp23j5XeeggqsIJC29dPC8rOIEUPFNLW5LnuoLnky20T4/ybf7/MGc3dz2z7ToJ58pGBmfEBUaFhqVgCfTuZmSPEkml04mYDFgWAKZzEg7TAZZQWRqmESFJmxOHTDPHVF75UCRvXie262lQPSF13LJFqC17olxwQT3w5jkjSJaTAQs4DjBP7amiUF7CTFkZL03Dl8tk0y1uIfnpA/isPIeK9GydYFmez7191eTBC9vyi2zm5Diy+MMS9h5II5IwBuhVYqLicUfmiGYQnrjn/UsLb613NpXF/Jrdpes/F9gZMbON3tl5jy36af6vw/cyGiFTMUr3er7KQhnZTD00ySEaFUGZm6iUNg2PfbuCBz57V8INcy8mu5AgODhE7F0HaF0nc+IvbfNCfysYenOjCWAUMSqdwItOkIAwAr1rz2RHgAivvYwarmCvOBX4ddkoQAiCKRnV6BBU/8AykBtF29PXKxvCn3KhRAigK5sMgJNhSi3GGUAAbgHjeujahhMIjAYy4qVZM5dFMo+21bsgT53Q7wGaHHPlryrqGnvg/0Vxx7zxnh4kzlWt7OpgUkg9PfQqKkeX0kt/DkKdaJ5sY3o9WEWRVfT4O283kSmwJ/Q6JoLAhCNhRyOlxTNA8PKWFjrR9TaCjgmNnR3Ck2fBSbOnJQKMtV1BEZ/vEi0VCMGPXAdBdA8ClipPmbSW7uKysuF8b13vn0SwV5GdesIxFEQImJlrIDPL9jJwnz9vxHYR3ZxGw3Lvgi0ABwHDf3SPKiLxjECseYk2ohfrFmR8lxpciRNI9+C9LUVhLLPAMRw6ddNCP4MZVjgDEHFo9Arz2VcZwGl1NFNFhJFJ6lcFDizM+0K+KbGB2OE99IH86RSzHLHLBgdR+McCRoEBBRvLIAQRRCxTHzF81UZs1CAoAic4tXoJmhTQcN/HbL1sAbweABoLPEV7qNw1gxGZwAAqMXyunrOITU/G2lfjhQGZZi7AUXeYz0E95Ks/JvMYPXfdRZGVhjG7qGBCa4r9G7N/zM1PNnj95sK9KDOY3/+eNEqq9V2XOTnMChiTqhI1tkw2VZBnjCeCTfdZDpst7v5yn8OmLx9Q//dzdPIvn1nCWhbLGL8YXRzvC4v7EncRX69+PwXwGr96/A50RQUPXDfMOCk1M5gpi8XfvVL7q97T9xxa3X87pWv0/znnvzB7UCK2JG0k7LZf+zbrY+qO/p+hKTP/Lm8o5GmFO4vMCjXZunAr+5Gr/Qz8COP01ui6Aj7Hk/A1sd9++DRuW/XPfopjuBB1TFTRrncGel4lkYR5kgaVVh44zXdxUG/yG6XsuzP/05ze0cX9em+QW1Z1VwAmlsDjxIXId3hZIbZWxNiAxq9ckO53SoIMG3laezrvy8/VBjMdTw14vjgQexytPeu37n6JnYkph1TthPNrGvIf5xsFnwx2H9y/3+XJQngXPgx+7/3NzTvx1dUwDtRsGgJs9HsJQIaeYYcJgTWpvcluR3WnxyBwXAGMTp4EfyYDQadlRM44wrnGc4kljxqX0W8BoNJ2sdTKtUiu3/2aC5a2sYV8JLVahIPfMXq1U+67a7SRTp7NA7sn+k/iQuWyrlcqQRyVkvI7ZxBfzq4y0ibdpRAg4AgbGcvyRvjuqC8318u3Mo2b8CcmvFmwTBdt4CF6OBMsni248dBpKj5c+ss30N3Bra8gcZB6zVOweTfI2MBOkS1hAzQDMaPz/o6x1gZC0fgidMnGxWAllRyZs1aYsRU8enitVNJWiEM1uYa377AvQ5P3sBb7evrkCnrPNbiV4IVSk6EKNt4fVvtrusXZ5+O7Bicv7TjogceinPKbOdgVdeGhvM3di14MFjWhFSoKQja8pHld0IsoOUwUHhjaaCOwBtJQ6IDsrA5TlwOdniZj1NmvgCRjdagFErfV3lIzFu8JFS7+BtvG3nV1DWLmlObDTVbKrveUoGmMqsPORa/nd/GOThCLjeex2YTpcPlxVPa6q2UcXlx7rCSHry+GB3/d2i+zAsqNnooEKMo5/Y6vr4RzDx9xXZkUUbv+a/APXJyNAXLzscvMX3ZQnkcGOJRogm8/lFVuz6YdD+4vmwnNl64q3h4ZIJ/fSZeIEAALEVNFMw+QCFzwqwtWf7JJ7ELsKvmMCvZN2ipnB1r9wEGMZ7anIni3DBP4to/7p+rRTCExCFEMV9DhdDR36SNCUG00U6rjk+NoUReBzcU5RICBegUJYw1r2VaI5NB7SMyGT/ODOAz3Zc3pVoyFKXcnGZGi33dhzg0ZaNKiULQEREEVo7fQjKGSUR8cbV+kx1lflSrw8lZS6JvJimBAV7wBPzTdFW1wxGvVm2DvYdoWm2zxS5okIY9sSzZW5QVnoqgSQQqFsfYKE8VUtE3rQ/neGVfEjrPtfK0mHs664HdU5loIp3LWd9umD3P71+SSlVm8wNFZRosON4WmbOp4yP8v75CYTF6g12KEchJl4Z52gOxIsH/L1MuB3Y+WORHamIUFGPVUF2CZWnQ6O5y3Z1qI1Vsm1nF4ntJyHkRjgpHEYVaVNsllgAzhOFGdrZbAkElqQGpXi9N8dlYLMunbsYupJwLAz0JSc0eyRBSlDDDU6V+oel1ZVxT0yCWwHVQfy9EEfGWliSK6eKK/Ub7K28kphyRfrmnZg9P8lPLESJdS9TShGctXXrhY5PJf3WbvcMO2JHxxBQ8sQ0GY6PJAZXNqM9+0JxGBwgshZ0tIzBDqmQHQilEiQn0Zv5PRmct0OaG6SZfZV3mcDxKMsWt7uVgUtIc9WLFWmk2L2nvpK/Ioqb/OXfsH2tpYX6uOwtOuN+hNg30B7c5sWA8GnCzTW7QPGfxaxE3PZY9b4GEwMciMZ9/RzzixZzsZknWcmeLwOzL5XAIBE0P5QJGKOYxY1awdCFJcIOHH2O7copis+Mj3q1xa3SALrEs15LYvNQGwSjYBAzjYLNcTATHo7YNzBZlO8ZKrP9PllrQ2zSch4hm7hTfFdvVWgubarUtCvxLJd7Jtrx6NUR295/E0RJqPpPiGDBOZHSuPMylY8Zt81gvO+aq33zXhhmg9unoaoqkhD2Rptn0svtlZ3aaOOreJkS2vHiZny7BNk+g1x84cKGrlJuh0ZOlhmCxqIQMEzYRPU4+yfWb8I5/em/8Qcm5D5NyApNZkxgGqdum/lSXl1HhhmFeMqUOnOCMS7/2j+oPxIWrAn40z2n6hRsfQ5uwys+gKLwRIXg+tq1sDRmRP6NO8Z6npmUSSqaUmf9kPAaZjnn47JdoqDre6bEJLn7JPmukuw0Qxrgg0i724piPIF6SKgszTDttZgrTwf8o+bu8kss2sy2S2PculP7ZAL5HZ8iAFxtX8uk37Vcacm4IIe5TFfSfb5hUgrkrlwvzhaRYNrQcnJORogwvQ1J6xtVESGr9szC4U1Oi9vYFsQhz7PSkOcY6Nt9g+nFW82FL929bjsMSObGO4trHp5z114cL42VXB3gorZfHuVIu350U9NdHbcV3vKnGYLIaXMwIc53JWLROcHEEmelJ8PY5OhboDqvLt/HmGsiZQuiUjMoRp+8/1vT5tmVeQA8eSHpr1zAnhmfz2bNyUsOlifnCxrLYhdFScHtWiVTn9OBOvVzl9cVfTfNsbOL7NYvL19ixnGaosRmUEuaEn4MgImdJZfjh0EU/vHFCzULeE2MWKSmpyrOGCQ0KJFN4xYjCwYO49yDfrPhhPqHxtRKF2oaiAnJKhfYiYVfBL6h43GZn9iK7KNBzl2xAiISzu0mOAJXiOxxINqhcI0qxsKdFbJygaQp8V9xrm4R1CvlLGe0Mv6HdJzNPJpODbK+ZcH0x2vo6IVcEqs1ypTK52duYOBkIa1qfwwRshzS7a/pJNUn3tt5jgQtmC389WhgQK7LK9euFwmnaSZvNEescnu/D4Rn+rGhru3WsDEmpyl6gfj4tKpBOet3mBc5D9ba93oA8s8N7JtT4ZAY36idroQHhdRGRKh0lqE/IZO9rA5tgEzH7UqFPKntbH5to68VDgQHybFlOjuCrNvtMBTGIm2ct+F1eb6nBxtsHVbVaKGQnyuXAcbiRQr8ZdXNVtrECG2CxUhy9iFIXw5EZod1oIlyhf63ZQAZqP/ULM+hr4Fu8PTzv4SB50tuz0vZOWdwOyVvoxK+TyZweG8NxMNvV4bpcZbF4auAm1JwpNMSF06HV7DjLdmhXkpOq8T05QCg2EiVrdoZdw5J4qgikJSSYc2TYdpYBZkF+WtHTkYaLxfQfcc2naiIuFLMcJPVApDLTJJ6PBCDE8u307p+D+QE7gdSw6xA108wb48bM5es5kVmY5DZBS24iLIEpEulcnkgLQcTjgLIyPS+Z4pwez1DmtxpKuui3dCyMFAoVAFEfLfBrWFZr8dlObdycw0/aLSXNB8YVdP7AAFnTaHUBP/AxSUUiTGduJP50XK+/0kKG8BVSbSgdftp5MglNH571y5HJYoOy6EeC1QhmS5fHapR675eVguyeHgReh9RK9IvF7e0RXlPAyFny8VqcEAGY93LK1bzpIgt/F0X5WlwCwedL3tuD3h4kQyLRdfFGl8X50NB4oi0Tv9ExSHU0ZORA4IyjIomeivvXT/jRPBF8QXIXLNWqtIQAQc4fghtMd8X4iX8MqTJpxRKRCB7AnMcZpljMlWi60Ej718S6lNN3qYZIFZ3gocY427gRJzP14FbF6TY0XYltteEXIIjMRuQDmc+3nFRlZxeVw+VmieLoQk6YrmWwNMN0hNrrUnHiMMBl2EoFSw+wB/sTLuByHf39Q19WlpWxcQT5yAKzlWxs7fQ/UH6i3XkxYPX7/Q/HXU1T1zrIgoLa2jabouqOYfuYwQu02v///5YeBB1+H1QJU2AK0dTVx6P4B6baEW4kDgYj5rVoPHbAW2WzVodCHruNQVXdMF8Lkitpng/Oyh0vDWeOFmMTfv/VttOnH9dxEs/lK3HEv8gun6aL9xW5bVq2JHOh3ZUfp/fj9/rgn/9g1mOwUZ8A5T4jgvDNOTmOHDijUjBNii5fPF9744Zen9nKXlV6jYhAMv6phEzH6TRs01nAhZqPahQPkLHAYsBfYXZV2AxquPBwRphXzLFYXlrZNAgztTIt0S4eXWw8LTI0wwzlyIZWUCfJihIl6YC3P1YXQEwlPce91Go5GWFLOKuCcUN+Uf7AcEeRUVcnWWBvdKmEcEYZOT4PmUhhL/XWjoFMn285S6JRcfudiTdTr3Mu/ZZEojhIYgvlEIx2ytlwjM2VRJ/Q6U4gokQhzo3XD5//v/+ZwKnB2dk2W2fndU2sG04nTe9U5IF04uzJYvF87ShCUAD5maKhGUbaMJlCrdaIMXaUISyrWENtbbSp0d+FM5KDw4c8B7kRBrFwaaZrxtkwoJpH09JMvcRkc0yGobNJPEA7QW6Rs1mmVJ+RvqsZztRFEsIZ//GOjUyDyIRARDIb2sdVknQJrJkSBKhgkoiaiuZiwviS4sp5vcu+KnRQN3Lq5IRu3ASnVGWXOnKCAp/vPySHpmgOm0sLxBKFFoJCLBbSXDabRa7kkcA+UyclpyQMSPWZCoUIn66wvtUnVpiqNYXmHZ0d6InkX3/ROJxtznQltkBIvrRw7Jo/4dWpidET8YKcDT7GgsZZiAMwU8TKGJfP2z8Ca2tIJFKhQwZLFHAUCxiXjjZVCnDc6C9J+pQ0O0oanxyJ0AmmdH9hFgsdDYejlTMGE1ESZ/JVOiu/kJiXIcSDNJVocfX5xE0g07yEMGrIynItFDNqRYnZModiLknzlYZMDYNAASdxc26mRMQP8EL7hZpcfzTpW6ismdeRUhzL+EcAsNFrQpfJMVPw6jGGtU/2IPK/sKzgTmT8yoKKjKxfJlOf4tDUXI7G1VsVvENp8vzLoEAKAhAwDB5rvKpzZEnsZdr7YAy0VgoLvY6Gw+kBFvgcneAztH96R4cfC2yRWUjrJOKzn755QduXghMohBBQOMVwIASEX2laLeQyhcnVR3/xO2LVTWDmh/MCiz30aPbnFCyKwzd9bQD3tRVk5lJzlmYCImTRBE6UJKAALxoYSQFrflyRTTzXlrT79+Jfz0jb9+fArlteMSnO6XVXk+yCv4rnJPz1P5Gz1s966bRo2tDAQ/wFWY547fhpaKJk+JiRarWhZYVr/11//gtmtu5StsZOUARWo93Tn5czTbwLmL94k5kYbybj453DNPDmMB7excwA7xQzdIE+qo45x5vFnOKduaNnmzDBnfmHT9kWnrznunlL37+WTE/6XxBek2TGAk9E4TjF/cyjflbqAcfcIHRVXPc9RxNWf9zp53Q/UIiC89t1Khh0ZFlJpmCV9y7wNM4VzUExWAnnlLll9zVSwmHYm1V+P5AkpUHCcUInoOoK9cHIjWFng5WfWBL3+S8KMRAknAiwlp19kDMgMcz56FolD6ooWTfbe+BcctWfajApmIqWgiYnOztTa0QoJBrRk4zazOwLBG80cy/QZg4xThGjXDQBve+SQUSQ4N9m7s8NI3C2z2Yppg9G7oVzh4LLAdOgaZzpKfzrFAkmvH6bMNORrJRSQTX3BDauM6gCQcWljWMi0Y4zS5B9GyVkIGOXXXPhsGKo1Zt9OCj3I4uv3e2O1ho5oegZ0x+1ECuvGfPWFqp9ImWAjQstHk+lNahhZV6rzQI8pDpntARBqNou5we/ltim3VC+VTIahzuXAnsS5PSM6YN1qVsVf1YQyatacSkmldA0/dD6lWpU5VvgAO+7Ayo2vF5FMUVpImoIArwo/JbM6A7nqLbOHTHtK+akU1wx2ccC21HJt1lrbCP3GeTU+8jpq57AA55FywLFBjB+7D5ZDUwqCsbfvDBmz70eS2ozFQpTTmn8eWo1MVSdQK0ZjCTbilXHnGiZ71RyBPGi6liuTVIYLtWptgTGyPxrQVNF/RmHYzyv2qYWvWBLTk7EkgZDhdQiVIV4kuTWJvUAGq5akoJtirgKR028hVWLaOT/pejFbkmLlzIO9IiYpC937sWgilh1lOYKsURn94t/gm8l4ZWb3fnN5cOX6j1BhzHo3jcXT5aBFnnW0RAx8K8ootyK2B9E1TKR0sUjRQY+twL4HgJgkv3xUE0KHTk9r0ZR5/N+sg2K6J0LS/Ntud1WUCW64iT2+P0dBE13umjHUeBxsy6eX9OAK/C4Fzm/RjQowWBC4zBwhg5qqhNpXnkEiC/fsHFPyY8UCpl8MCd5IGbQ822UzYqCD4uy8LgKyKxwEPk6+DvrZEwYe0k6vyeVs6Dut5+pbxz+omLudzpPrVMtPN4NPOpF+PcX/aCOFvD4ZKbio4s/8LxkXljxJdXglXleDnSCX/yJgYhDlTZGOOsOzjJCG1UcRMzOhwV68fI2Dv7b80a8WHdERBuyPC50PMfMEYzVB89gNgnKK9vbLHMIKRzrhMkS0UIxXyPngagImS+puHDrWg55Aiirug9SGjNxs6MblwiL+/2WpYj4ajpus6MxXiKvvBDdodv3o5fqsmA5iPqNFmCP1SHKLhrkoM2FxCoK59XSsapLwCV+fLLk743PflphvjlET2IK51FSckdtlvEXio55kwk+qO5sjlaaXbGyi4QVDRzX57DCn0Qchuf+QL/IzbPJEGpdqTmC/lGizoT0J5I2CS95ZnK/FlBNO9BysD1qm+VewB+QkpWSir7V7YO94Q9cm/fXKeD2yWjASytIbx0RVC5M8i3SsITK55MPFHUMF3CusZSMROkHjbdky3YMhu6T2Q6zZSq0snfRurETVndRitJv9vh1Hbg73KcsVPM7DtcaEorb6uweOboqBkNvXg9eQ6Nl/WAcooXH82QnsAzDFlfYFSoxJOf16O+skc9jFL3VOQpR9PnfFcX1qbALeRNgBuRs9VnWYP6dN6ew8OBZe2yDEtvsdsJ13c+5g27XnbDbNiV+c9b3MvMQ9jz8WVaXDEchShmhAxCkQoJaHBJGa5UjdHa7BCRJURWGY0XFKqCR7GM08Bq2OIIWAwnqZLSomK+d3fQk3x6TsWtx0daXEVRJs4m66uyRBhrR9+3fd8OIelG3l5NhzR8ZRjnxBD/m/BAbWAx5qUJUHB7eUWxiv2Qmykm2YEHCImMKezGoklT1l8x3Q3NWj2x6JaFuxZIMnkx4YxIkIQU5aqy261iWVb+r+dEiKERGgCIkIxXOcnHbwbcolJgkyK8ERRH3Jxk4XOJvo/wdvlk44q6cFAo0JbuwoMmclijaPwQRP+xOfRrdNlQDJJAp9NoF/x7TJ3hXeH9GWKAPhMaVoFccBpJJhcEbkTcCcFAjnZsm5fUcJFPYeWRu3fOL3LnPLczZiOVuBMFRzI0Uygq9kHTe+PjG7n4h+wObEMgjeTWJYm8sCAWfYeb5kw/Mz5nbxQYQhRDDVgiZwhUULOO3WGZZWT+kJEC1tNTvjxetvGwi/OUeigdhqg9PITDXz1x9rf6SSijd4UvcYt3iXaepHfIrx3Asww1syMZyaOk1jxeKYyhEL1xE7uVbYpOSN7SbDMpKvk/jG75mJMNWaRZE4TOkd/OaPRyJMCikoYk9eRoU8YGWyHRioU5Oy3PVQO8Q/5o7NbmlV8PuRVcDLjeVJBIN76wLIkR0kmH87BVnpLGl5nuY+aZ02mPPRFtNOiTacRY2EouEgA1mm0QDpDtUMzBkiedOhU0qE+Ye1OLT/uGoKrApeYWCm5+Ha+gTL6O1KyoYacQAFYlyPVjRqM6AGNWmkyFlOIWQTY+LtmCwByVS+IOyVTbjyevSh/1RRk0clBr3zI3uM0hago11yv2+VYNa0vaAluvs9F8nQBCBccGO3GeYcGxDzoJo5fSQ55rr+Ch6csRKJEXS84J9RYagvVC7sntn9lkpkOdTsHFkI71GOwABmcji5tBBcQZCf9rYtjOoLGP4D88ILkUEl9TcuDG+60y1n+LNCwGdfxrNKTzQ8JQcdO/eLHLaYSuy0rzGjlurL5z7fDYh//CEGKWdXnfm0mOaB5uWZ67VI4849X6VvAp50jkCSo+rSHJ6+LrUjdn7iyKQdUeVTilcN11X/HUvPDAjl2e4S+LPVanwweq4z9LvT6Vacqx3aFbgnu5Zi9fcybTaA2mu+XNu96ZZ1U6dtM/u8UTtejJ+cKD5JblsADGIQhRDkdugYycuIvdiTsdFU6TFyfBy88vrR9t2EKlORw6oPZlwpI0LZ1pSyGmt2awl3+1pZQ01jykGsop0MGeRJJIUuny1yvBdoScjhUKYuAO9oZlAhO3DFrSRlelEepAIVI6ArjtQBRZlzpvz7Pyale/ZOrqnQlw5Rmdba4HCSdR3IwiGaZHWmNbFeaeDzbq7Pz58ofbzJIueC8o3rm62BbJPscNxScZTeJKN//AUyuXDee4zvaKFFB5R57UaHGMwg9HUcky0COgwnrzaite6l3vhgwP+RIbhaUzyxf44Bj5cPzma3NIqcUHu7Oo5jR9is1jfvdh+OM0Z+hMX3KZyYGkeaZ+wr65dD4wZT+xB1IRxXX9qm5mdhHElwGO4Q0qGpIAdYadQpI/fuilvGpdVJAaBDKOPrScRNgCE11jM4tVHDJCluJ/AGvr/vk+W+RFk9ekGTM30+vNWNq6/Ckra9U5H2B8AAbPAaydNUEmPJ/xnG0oD4M9PX6WkWDp02UPtn0z81WMMmGAgaPkDGo2Dn7px/8RPA9PXI2PF8I+wHgPLC6ifaje+ut3iq712nN53WfvDaj6CInda/rZ7+a9+9Iwl7odOdKsTJ4cu9RNoyC3zvjfPxdIWsfbamVa78YQHt+I+XufQs9usbru4axcQF4IqVLtAXk2g1Mf5Jz9a12GG57jdks/rMc+mXk6D/qmedeJrN9LcaX6vrlZlruv9Gh40jd+I59em4CPOqmvwMNMtj6IP3Q86CEYqOcyjdKf6MuzRaLrj/GN1Ul1snE0yxR/bMGMtHtwcfcQBc6eLzq08u/H/xN4H5k7mUBfusmSOlXn3P2ofZsLYw82+FED16sSWH+T+JFeVgm83iwTI5ali+QIG0+Koea40afvJa3S8JaTz/2QvHOqFC/oJJXl+Zct822NLkMJ5Scn8p91zk9T5o9337iXcugeewRnYAEXQChvhqLYJwcexuJrqMqdtjKANRyVP8ilx65fwIsjtLHTAPWivvNjCqxsr9wNqkCvjckCrLKeaOyjqbzNniqrLGN95DMnwvG7xJFP9Ii/eWKCneS2byZfrCsdrqrEnDnZ07v7VOrWongFsA+bNIO/Fh6gPdZ/pmhZrHlVf957CfvRflTG1coOqhFO/uiIoiPBXy+4pVRp1kfO0tLrIhaQFPsBzuNi4C25eEE3lA/VOB8H0bVGzGeQuAZUT/2VpG3TN8x+ipnGlU7kJ01MR7RE3VUmeTbLnNvpRZPbUQjt1m1PLvba3ScRwM3n8kpW2gbTJ28zxlwcm6zbyspDJAiIma8u6KJpsyHVV1lUrqfOtW8mFniHHVldMXuWX3LCFtI0nXo5XNGPeMEdLWyJ2DmYreD6h7o0fUg57W0FjgQj8dNU/x9EPJGBnqZ5qMm28V+eORToOVichsgEbnMEDd4nbuAfgB6FjNfu0zWVjlxThXKLddJQdBDwbeDhwBvBQ4G3AT2ddaX1JadTSpXEG+HNZRPvSfc5xGcM8hJr/ElW++PpvmukX3CAwVhCPLR4DMulTnjwk3jxuZgF4dcpYj7Arq8d4FdYTXAqtJ0lS1TO466+nSDxReRnTPAwh4NqGeme02noXQiX1rtgKitxaRtGYM9f8ejW++PqxaFH17gT86z2wudd7siRVvXCJ6/1xsSHgQODOcmRJkW2SvDlXpnlmc6WmlWfqRVrI7AFHmeh1p5cu0JOS3C0QpHCbXI2BcnSYlhJduc4yLxcuLfmWKfZvjrnypKvLUWPueskWKx39qfVprUW8OSfHkr5PxnWZLc9yX2TRL6okuUe7k/ikr3G0qHk+R77pZrsxzPki86RvZdRUXMadKx9zlLzyrju1dPAwO6msaM2QrUvvokQLf37q03o9W63ZndDVdZHcrs9l3DTP3clcSfpcs5DIa8wxP4DSZ1emAuR7pef0tksZB9+CGDtXvlQqs1dfd65Us56QsxTlXkfY9Oy23q/SKzRWAGInVYsD/vKn2W+ItHhiUM1eLbCPBoU0v2TFAgfXpLuqMyXiyMKnBxwp5eETM4odgpObbXHLdTfaKv+eMkZTNSwJZ1n5xLj89XKVITWfg9twM8dBv7nrtjtdLDufofYpGpkDyjhkTE7UxooYdxZCJ9eVpwfuuW9ukdL0ifJyny/vX6byy59PAXy9cyp+6DBhwxlXSAQTzbNAZinmR4wkW5b6dkcRFFWfYDmGzIkm1CILaeVGjxEzlknCYscxudTSTPGQLq58eQpk1BIXDptFZZiqHoGYSLaFaQrLlRHYLR6l2BI76RVZnDRZ8vIdFl0BjekVphBTUcXWiE1ZiTjL+jm1pQxKktNPzAx2hnjGmrkXs5z0Xs4+MQnsJvvgLaYVNlgZzZyQiJjFt9t2WbVKcQNtUpZSVrye/n51mrRfhDuzYa3+/Y6cuVbsr1Z6wdX3/2VRW131NRTBQvqDXAMOrvH8JUpm28liNdZUcy21opwhkOQ1P3yt2qyqLUMbGR11DBtDuyMuu5QpM1Nm9hnRn6Qu6nDWHntZsyHD89EnP/tditK3fj7QmSt3nrwaBQpg0h3lKlRabru6hvJbrayRAgWdbiy8cESRosWKlygptyBZvV1/MpcLFCxUuEhTTRcVFjGFstYE63R75LF/PKldvJkSJaEN9WOBIMmKqumGadmO6/lEEplCpdEZTBaK4UFsDpfHFwhFYolUJlcoVWqNVqc3OF2c83ZEeWo0KLSaWmoz7zDd0lQ6lWbi5g1rru0/L3KJPDN9UYb9siDXFxCtO3nJbKfduqTTjDMxbPQ/GhznKhQSHFedyxL09g7NJxHOepZJoVvLW+qCG9be8pH+5cBfICZTSloD3XZk1rhTds/cJ5dZSDOv+VPCcON9OMFtViTPC9wPcXh/AkSIsZRJNodOO21OL+xY+aXB409KS9mgwb/Ro1ByC+lYlt2pPRHfkBCe89q96dc76MkleOm4iZymsTU70INvcSAvEyMTdZA5L1OzI3tLoyXjAiPPDdREDdXlYJbzjkXChDyaeFRiF4Es9EzahcLknbBvLl33U0ygLxQT1TQ0bZq9Px8Qc+InBNKJDJkhLv0uDIpBgdyZc9FI9S6bskil4mU/Vqd03alOtar4xEpQqfOwRTA+wWbeLE4sw9+Sdgq7DuD3sHj899rhII1lXvkiVLk6sQA0sQhzpcq0w0z9QuOMdID6GOlwqJWewo04UpOQZhZt8CA0Otkg5SvW1lr+KFLRydryJaRkRcoDj6S1Li2mC8aGgjS44bwIZM7E9Tai16uQ25v1a3XB2KutzIBQCRnUWggZhkvxDXnj2JsVcWyODECPjXUXrABImhPo3JHiD+OweAcjpa0pUZJ7GNdmdeyI+an/SZP83aYZV9cKZa6SZS41AklZ0Ao3KW5TjT/a7dHR1eaibbWMWbd5DiSnD27KXEccOr1xFbguMSLUuCNNAW6CZZor3XCCxlw+2p328R4fcZZvzOVrQM0+ORktQSsa8dwHomZ7kqg8ttVGmYi2IC/28Nk7QzM8sHgP8xniPcyHNu8TPuLwMZcPbf60oyZkb7XqaCPA2/bL73+cQYcVsYCI6Oom2V1RFlgEgEEioqscNgTykAAgrANhM5EAMEzYAB8wDUBneeEtQH4h9wmUwKMDQK/d4GARAAYJ9Bo2ABCwZ0AAAAAbAAA+AEAH8BYgPwMuAzXiEVvHJUN3Y9h4PL+lmY+nE6F3UJhcPZUCrgQy2xkrCBOf85GmaQV1AKG31uXaQ+rqDtuxMsNXfsqErvFhqTe+7iFeJW8JFu5S1E5qsdTgyC6iG3EvgXURZyWFWM6cbtnbgPsGjAw6WCQqn7ldLUsqjcO4TYdBv+dlARUzZwxFvLJpr9zGf5Uet85EiWdb6kKJm8YM/itdecYElJllTfiK/VjL3OML250DHyfenkYR9rnPh5tDukRcNpvcRDOJ9lmD6uoguBfvxv+nYeSmnKpftmM/EN7mbH1ukA77Psse/Ymhr2x5u0p4JH7hKPZ0ytmyQ/Hzh+n4/f/pPxpS3AIAAA=="}},"time_used":92,"timings":{"blocked":23,"dns":0,"connect":0,"send":0,"wait":43,"receive":26,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:08.970Z","timestamp":1785152588970,"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/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.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://meta-drop.top\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: 48532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:50 GMT\r\ncontent-type: font/woff2\r\nage: 426775\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":48532,"size_decoded":49345,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48532, version 1.0","md5":"225835e6e0496c54dc2aca9f3d533892","sha1":"942ef5298bbe74bfe44e445def5f2bfc94027fa8","sha256":"acc60d454f46f2ba233c516aa3299aa60e1f49ffd0f06b8392a7c772a5694087","sha512":"ea2ff96ed5ac965c1846b4b33990beab3d4ced66806fa44321f5dd59d9a29a8ae1a67a5816d40165af8a896677b6a24bb74ea6db53cd5e686080165db9fd62c2","ssdeep":"768:b9tYsJ6BxVEpu8sqEkvfXRGEBqH7KxpxA07hQv2bSokjQx2AOWUVOv7UeFHOpIsR:LsEcy7fXRGqqHmr7qv32UC7UetOGLkF","tlshash":"03230178cf9f85b3d33b153afaf4d20562a9067de76c4a803831051a2a55770b89dc0e","first_seen":"2025-05-29T17:27:56.345238Z","last_seen":"2026-08-11T05:55:34.577982Z","times_seen":256385,"resource_available":false,"data":"d09GMgABAAAAAL2UABQAAAAB37AAAL0fAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoZeG4KyRBzVcD9IVkFSi2kGYD9TVEFUgU4nJgCFNi9sEQgKgbtAgaEUC4gOADCCnD4BNgIkA5AYBCAFhi4HoQQMB1sVzXEmcmP3c+AywnQbAnTSpqa685dwgXb5haNNb/Y48+ca9SMVjNtruB0iNz/9U7P///8/ManIWCUF03QbAwH17t6HgrSNar27dXdUZtXAVrOh7TtsQWN4F5U2TFldO44xZpHETdyhVDAzo2ezg10W2XZCyI4qyo0SLhKSUnQq6nkNmoLvEWWb0cykCSE1YJTwuiPB9D5Qje6qUEGR+GrbVkXZyMs+gbBh0M9xonPiiCoX/c5GEzomudPxjrquzSYZ12tQ8claYniyV6se/fzmpg3zbOPUQR5WkBk5cwqGISQk5bsrKGwn1R0dK7X1T5j1h4RZdpSQYr9orjGXJf9bXo/zxHdPzuNd3O7wq1AKFeeKc4X7UfThL2nJoYViNU7KdfYfjeIkiYboEtX37QvN3+fdFexIsSAShBLap/j/N3rlyZvhh1sHZHKTfo6Iq7PGqif9UlC2qjyyqnoW8BBIewKU5olRYpAQZALpbfqI162f3ffy8lIIISQBI4YQIELEUIx0pShFFESIgChVwEaJCAQiRkRFBRSOw9IQOURsqIClof087NjQ4xT9nna0Hx+RDPG6+Xdv5yV52YMQsgkQZEuYiqsVZx27w9ExtXZICB1rW2urtVs7vrXDWpbjA1ocIOBirCxIQgb/fOyt3699bnrD7W5CdigUGoTLQmUVdCyfhMRiBCoKh8zK/aBmhmBunSCoSBhUCLJRNdhIN5asAlaMUWMbMBgbo8ZGjRppEKkiZWGACiqh2K//zq6PVj/ygObsfzaOt0V7pSLyeufsBlo/E+N61FbCRklCSBySECPEgCRIEswLFaBY6/deVU7675cfcNP+BahRn9iJG2y77b6KUE5UOut6K/PWKcU0BAjBEwgESdBgIfHh/7f1v1BQb6RTYccEOoKnqBAQKYnM4TqvKr5uVDm3Ijf08GuvP+c1RVSEmuE1u0UOuAKBRseyuqwiVOkTKmDH9g583++nZyfCVZigcoW/+yKTgnCAtwhGlqWrNKwwnZzzVByoqH27tKXv3tO7/+mvMspUycByABVAhYyaVJlsmxlNv4FOwWqvzPyGUSED6ioT3Lc5/t2sGbTMEKR0z9y/bp8Q0i112lLxzcuckF/4PVVBzgSe3v16h/I+ICqC49mqZjZboStkpWFncuH5//3a74NZo09FVieqNCuVSpo9BwkFkkbxSKjyf+iiTeVdHsKln2+kldyvtaSjI9D+6TgojM3cOqUBSP9aZlszZ5s9fTNca0JLj6qbsA8JQYDxir3p+veT02pUm50knXQPCIfQSBTlKf+8RiP07t05jdPI51UX74M6N49Vps+LqcegqSStM+6Lpbl8TJ82NrqQsDxUZqCAwZLBFMb+NS1GYhHGQTwZQ4FdRhlGwR6GYQzgYOT270vVuv7X3SAbkM0iwF2xJ4PycuZzIiTPzJlkSxNSvO+5A6FGdwNkAyRtBNEGSQWAFMcNihyD5LDMJigZIiWnIHlD1mStvCl8gHK5RclTbXI0puQJlCZqfZsY5A0h3EKIp91biOe9nWI8hXy87vG8x7meFv6/n1bSfjr76m3u0cgxINLV2jEgBtiAz6q7d6y5LWtD/g4hsd0sA01ARlsmKAMSUkKGC6AZN8AGgBiKVNMWiyM1Ar7SsFLplPpeBOjhgyAV+E50iNXzHWk5F42rVk3povT/rZk2W2bjKxQQu7o+fzc/23+0B1QA1vwXMqEDoAKRqlZ9tXJ2SmkVUKAIqjx83rTdQPqXPCDcoiyYdBdQFgB+DPMknv9+7zubw6JexZ0LXSgGGWHeYNVPqZso6FdB1He04lUmDhQT4wXEf7/X2ewg1BfyOmJsrHp5UYdS1YcuS3XBJUE1YUAo/N5pmdIlpV+FKABmGbPnayyrzHZdSik4L8haZBsdvA07GMAuHIZAXUx3/ebiEU7BByZIM5xDKIEkKCSO9/mmzqb5uc51DMVWCJ865JdVNqvXcf8h19Q8hKUuOGSgdyZPep7AuiSwJvw1wYggXGFKj/WdWG99cjveI4EMn8GEwQRhjBBGGBGyQ37P9Liz9Tvf//+ulJ7fnHMfz6raoiJGREXEGBExKjZUxHQz9xTtS9LBRiLqy35ZvEQ8Kh3jpJS2yCAqdY/rb6+9v4omktmH7ppy796uRzmpDJPJIHaQtBERkcrk7uuOsZk6+Cz3v7dhgB5ImkvDqaYD6SEF/ebSWkofVgdBPFQIAtP/DP0s8FOYBFYNqdEKafcQ8sgTSK8B0C8pMIwwoEjEABQXcQHFQ6aAsk4GZZ8CKjg8VHhUqOqKoTamh9qSEWpbZVD78kIdKAB1ukaojpqhruZE1BcH9bkAtO9FoBAMHAXsglBdzZY9R5UiINR1CIxnI8E4FbgXcDtwGBMIhoA3PB9a3zkF30UqvjqFuEQO/YSmn6+v/NkhxnywCV4DfggGBAOtj+hJ5YHwHBhAH5BTFfUznOOYM65nEufDzrmeJ63ILlhf+Hg17DL/cvY16fXsG9KbpJvSm/KbBTcVX0q/Crgddht5W3rH807ivbB72fdDHzAf/jaeHAcPcY82PFr5KPtR7iPp49AIXrr80t2XVE9c23Njzy09d/X86Knb+pJJsQ/ODvTd3nd33719qmeyqa39V/Vf239L/10DR84bySKpHLhwILDMiAbH6VEQRVM9zbMYV0AIF5zIRgHH+FDBfBawJBWpzrmp03OiXuWoYH24aOf2nrvAo74ts8IqWzzXOq+d3qM6mqIrX1eVMsaF3AEXlBXlmyrcSqWiqhJVqp5Tra7N1Hq1vlqlJmlEGvfxx9vdPHTxWZ74ET6Dz+WLm1Sz0nQ1S5q1Lap1bbukXdoua5d3iruubnG3pFvWrRUSvU4P6Z0vkpKnNs74TGMHBdxxKdgAebqT3iGFCpzfZD/QT00Q0chRcF8VBs9HyBcKxb8qUdwKSi/lK7XaAW1orW0bW9FqLYzzr/39vnzWs1HpeyYDQZvfiaWyIrW9MlAda/2myezsTbcHDeBELJ4kqQydY/LFUiVYb/CtjtBDEIxg0WwOwxOIZRq9McPsYqvdVVxSIzVsbIbzBSD4a84BXMcfBOwQqQZ50+tqE9wfUsnGoXxENhCD8rGefBISJGBttAADkUMTeAZt8ZhPskl43jSH/+R+yB4XS+xdAoQh1lfVEaAIOlKwuuLj3ma55DugFA+FD2FD0O5Gs3hLUeJi8OdCQYyLGAm7mUnwpRExGIzP6F0ZkIpNgKk3m//66csmRHV7BvYud4jZJoHJfzkoIPAqYTygHAyw6FK73S6+0K7juNUIF/EFdoUbfx7i2JdxTpp0XensPdajPDj84HUffVp6jp00a3UEhzaZSs7Hkxt83GOcxZatHutoPZ+e/ImPYwwSleWPcFTySofnJVnfct820fZenFldu1rbc+nO73h7b+tVTOosLW9hYk1Lby+PHlL7RE4HizGLqY412mBF4unss9yf4o0h8llaHHXsIgybhnX/PdfOvfZar1ydrdZaJnUf8NPIj2yw3EI7dJB6edQQqV75Ispe+jqzREodLG3RlV/xcjR7Q62UWzmUZdGMfrFK39IiR/dk1KknYkyJGRkxS1SgqGzM6TmKFKVjUpjHsJKgVUlh8gtJojTwhLwfUqWS3W4Pw3RSSzFVtKMkiMTPJ2Uj8ANFROGcZAPm4YYZcgjwi4uW+QQmcHaM+lzCG0pIwMYDO7+J7d3mrdvWLdkFO7rd27zVe6Udr6ktXsSGubw48LERYBNEsElgGmXbEDaQNfltlsgleEUcDKLV7GIOZllMj8pW462aytuVEFvpg0nYYKurdgVilTk91o39WAUj68uaAg0lL/2wJS+PX/Tv4PI1t5mL/Nj43agdvCBwODZxIPR4hZarUYaNWvVl+uZ+1dD6h2l1ox44l0Ogau0z0T3cKaLzf3Rdmno1Yi0lQ2bp0/YKjT9LRlF3W3WAfUqjHi+kWjtzyHmZnxvnP87jDx8EgoU4mMk2x7JsDkqdOgS4++8avNVPn58qaBK/6b/37vf2BG0vrv95W+1aEf5/UHO+Yo61OUeLLqd3OF1MhGajL4QIvtjxNxexuWnXTGeaC5+t2WY76pEqZHYU8VJheV+JwH45j+BZXqhVDk8sbbU3IegTKMDd/VboOt3S9pphfk3fbx9rnWDfno5qmIPc1U3lmPR358/zd2V6x+gsys5VB6e8jvpSwxaNNjnlxVwUUd0fQrTEa3twg5Ja4vvD9E++Nz++uxVi/eEnU/yR1LSbsk9DVGFs/m/rT/mXVE/Pt9W2lagXg7LToBG0gfcFzKnCl4K8KBn4qp9qPbNuvuUgfwxlASkYu/jXpeimJVKbzVT5Ki40wvDXVN/u9t6OvLlsqmmRV9Z6s2caIW3owLw9W8Sbn9SuSXshzAp7ixlu84BBj7mD1avb51vo7Aev60mw9uzd9Zvy4ho7vtwzHPaVV32ur7r8FbAsV/iD031WvtDwsmfxHPpw1wfLGLfKtmOz4o3q7SLQQFFOYR/C3lMYQln7yo7jy2gKelTmueIOVliCWiUnK/yWeDrmT3coh4AcCWTptdu2alyaP+avkOKyQ28R1erJf3nS+fkQRTpKXYoT8Pn77F3gFIQ0mE1tTk2xsa5b67gv2HJYJ8d0IdXq8qf350ZcP8cy82EFuvLX/BM/7J6MFY+AJ3FRdpMjKxJnofnropMNXQjRVVe5/aPPCG1JVFXwQHJT8XR/e1GuZDmtPSeVItvYyRXt/prvkMi3d75cnmf23CjEYJranOxSSjp5ZcVcED4WV0+3bF1HB8hkPd7qbAhleZd0XIob9ZG82gyoPW1Ordln7nrJilptRzb/dJyzt4+yuzLXdXvi8WQo9/ewOELEVRJCc1cL2kb51fjmtsCgZU1Odpl4sYCw8qCcW/uPhw5+xfTr8+dYzBDS5svlx+6grUTzTnRBR/NSWwiG49jhj0in5yuawz/e1dZjjuP1ITd1piE6ipZ5M+11dLKghf1rM5lWUdtXhrZki8exHO75H9kZm0VVS9rAxBxCyG5uRSJvvXDs349hD5ZUPblb9zruC0XTyXA0UNtgelL+ROmlsPrrzj6mitLte58Nwv6EgKo/bzjkloc6uxS6q/MK64f+0//zQDdCg3bIB8rH9LF8nDFuH+KXBoECHv1wb+7gChpqm5WAgOyK6PxZUuS1e3jaa3HX+Ld9dgWHuCSoDxm3shWYppdcrXQ7HdhE9cH3sXPb4C83DEZbpZ8OorJvw6bKrxfnFCc4XLaPN3mSh+Kzpb1Wb4U1bQZmk+4hsQOdiut2btwJDpftszd5cvxDxWedL4CWr1tUovQuJJ4ND+XejD7MuJD2ZQdkx1X8yPiKd3l2/G6+irds57gnMtv7YmZEj9AwjgwjFx7nXfICdno5etXihHisD/PGQyYD7OIUbCP+pek6+uHrX97WXisbMZzi5ujt+pUSEg8usiX8pM8jMWsYViQa4Zi5bPOfnfHcNH28X296rmCXbUa0ekICX2R0ykqUzOsFK2BWBGXSx5zd8lDkms5T/J/wSMj+uHFo70M4m7GHhUHETNa26aAgfiesHZ0zPQwsjmMos5PbnvyDWH3H54w3HBcQxU9FITbgFzWExK5s/K7lZBpQq+CrEEFyPTZrD2IBF+JcJhtmrqxS9GsngrHeklqyY6mOIfIYFRXrLffGzC/HYArjAvuY4RBxY0It2igxKkxWpdoyNWott1GrsrqNLzRwmsu06fo4oteR6k96CwErhG/tmck0Ln0PpusPwEcCE0n1LxdCNL/8CqD+uh+C8REnP7L9ifCAccz/VYPjf3v4D3aqSZH1XRP6VV7/UkeTO507JJ9w6fDbX4Edda4O15GkOJDcL1IEpw4WfrWwUJBgQXu5EfY5tGm7YcGph4VbAQZuzB/yeN8V59Jdqwf6v10zu0tj/HLwhUpi8Hv99pUvVPrjhKYNhAqzCtUvVVaLfzl/W16q3H1K4tCppVEkH4tv80sqV4wbqKLqWvKCO2XZ2pUAwTFEt7uMl7LzMZfLSMBycWH9rTO1KGAZit+UgojUXICyPYtunOegdzxhf8Gmgup+Xz0LNIP6uamulpBLFD5fKiYDJV6/B25nFWEtVgOVpXpfV+pmYqzzM+dBwbfHx9PLqvrfC31stwrpYa2pBTX9aFSs8ls12wZp/4C5VNvMj3WwqR5lHmysc6z/+y5dRw796Qfw95PAX5ZpEXnIsEYaJ9/0kcBvUMp58BCauAAY/24/8NjJWRmqS4RwEg/TdJP/moUBL4IYok3U6sG9ETjBmzrEL0rYZfebbU703StN+9b6fgwvnHnoyd//Ez9slnYRNCpiUdTFCynYJaWFbEMbFzyM+Sfw+MEm1t840w6bYObdfhR8FwF6G7BOf2Mf3UKaxXiFK+P6kvapZpPj9WLUjxzydSRWWnmqQp44qs5TwtpXWxezg6maxLUo5Rup0xZ+a3mjBZgvBjA3IrMhPpXGfzyPb2vrRXY9b+5rbXcAmy8bRqSJAEL1aA/r8OwCLEJ13WxhunMNNp7aHaabZRQQsRAH6GyEky3c7DHJ4RGvsfkyLTASi8LBpql38jRxbBQb158zExpZUnkcm18ht3JSc09XNd9Kok2oJYWwdpuYVk9GUQ1BbCPEtY8ZjSXim85jZochoZMfJbZQTFKmAlJ6VVo65OYmSO8vZeKCur0udVe5Libsc4jUvTi0igxDMycMBBFAEgmcYgDrKCCMBoJYwDH2ADuTFJSNhXPPA8pTyLxAeYPzAeULWSBmTcCyIHiFwGsSvMKg0jCq6RDFIi8O1EzIZoFKgiwZTikJVqllY5dGzyK93DcZ5aGbXwFmWRVhpBXUQsTlYtEixOVhkS6BK6wCSg9ki0EVg1sCqqTHWBa5LReyFaBW9lKUJbyvScKkCiGrRNpaqNbBr2owwX0a1mREGxndJmzazMi2YN5WhrcdWXWIqu+82sahrKEGe1A0U1ZnK3oQDvUoAkam4MuOAcMCwYEow5Bl/1oUp56BhSOg0aGx3kU5GN9dZGHiz0c0MQw+fGpWcDj8Yiv20AjbWDN7zW3y9AztSujQ6C9Hhol7MOIwE2wcJthYRa0LkeUgJBjOynBWu1gHo7yD7x6ywZjuoskUJsMlZIpgTYnBNpYOzpGEgiUBKXk3735HvShkr73KROCAJr77PhIiWYbgx7mX11yt1HNx5HEa2YAWYnBohEA8RCAmohELTU9s9s+sWR11DPHGnyCx+iHCjquRWeggsONcggDDAAY/Ai3abBMy/c/HSHS56bQ+sVsvwMJdBjaHUiiJFBpE1zWg4d4IT7QeEDV4rWoHwvYFpOkExcUAKabxyjQTcYxBJKKAVbczCFZbAoyV37xY72yoUgB2ykE6C+yQQWi+PJUmRlS8G6aIXCW79yNOEtHxu/0GsIaLyqmqXgBm6g7GANu7wsONAhEIJMBI/Tb6qCLIV07eHu+OwfhnID0Jr4eEPIThE+ylHiEKeXTXpve6N1CNARBWPA3D4fIc5Bc6YYlNclI2pdgHp0ebgqzePAeILEWRR5HyBNLCyGRBH2qVNtGnko8EM7B2mGvsGQGWnyxRWspMHcbPxDRmSGB1HOPz4rYn8UQ8Cb/ulPS6WsmkT7gk1qo8rV0o1rX7LyDFMm51DGISoPArQfFUrxy2URY6y1MjJtGVUJLBJI9wPOrcA3kqq37MJ2fQAZikUqWP/0+q0iC5pJAeSkzjqBK0ztEXekmnX7fj6rL1UsYnf94Kv6s0B923DCWLd8LaRBKaEaGMwXJhdWvcep/Im8rjU7wXuJvKxC+wtaFhTgRDAK4+uin2tX3a2PPdPu3PhUl4nG3r5erN6QP4WGgLE/a2gleKhl3tdaLxfmVVo40bsq3tbfQaGzZbYgYN+fEvMZ1PcSfejohnBtrkRUN5Io+uq7iU7laPuSA9CJ3T2NXGdP268EyuO54r1/zFvXG/vE3OlUh9cmQBWg7vG6H4W9StKBiclPY1YEa1kbplAHuLY4tKltKSY2eVZl+nwX0gt+Wz+g1YjhXh/TjpNZ79SOPQptI7v94Q+6mkqXYi5Xm5enVA+3rXFZoYjCqFtDb3zQkjnvmfqdfoNZ6Mttp452omzZl1snYuU6Ofa1NvGEHi4T71dHNtoqk3Ecah0BBO1ch1TujSqQkMeQRfV1ON6JM49hHdYl/sN/9wIe7hKppYO05d861ZSS7bocOidLX+Lx4du73JWnh4KEAtLWtKi2KOMIslhJKOfWndY4G8t4XB/A0kDf7ad5FT4HGDW0dQC+xEaeex4Rp7Ezg1yrDjIQBUA6/3lxua48Vyhf7mQ+duGfK676o2GGWb0YXjy3jtk11n7s1fqzSAlhBWa6urSFGtaUv75HMJiHX7Chnt55bdk/559TdZWpRXVB/Zg02vHvDi/CaJPx5Cer19z0BLxF401exuOOVOU2Pcz7gPjouHfMk3pgX54V6UYdTu8F0sFXQKEmTGYvbxf76LMgBpGQJ51pf0m90b4/WY40rRPYtfu5X7Y5MVe0EO46TuNCx2MKWM9+d7watwjUvw15wm3U3SXz0qXdH/DbolVMZB7p/QMtcSxFv5YEUKG9BjcUDeZZuuO2oa4s03fhpSY+1COdH1KKk6UOZjDvBpN/zkdED+V2C8RSaP3KzyMIyLYf9ScK3e1iRdk6WTpqBp3Z2WqyfXBNnZiaszAaS2D6UUHX1eF6Bti/Ayg9VNviY7mmGag/AW+j321Ovyp8U9xPy8yA3M9+H7dtx3Ki68l+k759VaWxgX0aLgGdq8XKC9BtiTV0S/s4ObkLkUaEt9KtzNSyTtaRjemgQT+mwK6/SKZDB5a8tWIRS8i2Ge1nOi7xXm8V0/zHxLCW2CKgUgNPCBizkew1inZXy1MS4wkuSN3VbSBCWgB3tp2OVTrcXXY57nAyB1vtLKwG8XzD7zNCtNGa1YDt7CWUt7r2EnGkWTqBz3BM6rTU3hq6j83pp6ilHK0eZqbEqjmSCt2P5Y3O3g+uDH4dAlXMzcD7598hmHmi5huLQGh9vKH2wjDUk+P++zSl/buxag+4u6OgAMLZAE5j1mC4inclsUH6XeuN4f8O7hahes6iNuCfmEULazHlqDQO0OcEHgaAPHK4C4z+4F5Qf2who2jYaWsVXdc4jaxNq+cwdlbz+42/GtXdWKK+mJBU5IPw2JK6EleA6AJsBg7sKI6yuBguXkYfrq9J4oLeHjZ5qIPpbsMH+VcBxaIVoeRj13s+LlIm+ubDMwbdq0tLIw3QUQX/RjjpbJ2EnaClVdCm2S3ku2EutwxhgYg2pVUuvAVpaNqdV79q/0eVt3XP2WRZBDbIxP3EjbjDmgVA2caD5o0LvLKh8Y2vi6+x2pWSr36t55Rpr9DZDNXE6y3g+wmKoCSjx+SkvkFXOydzO6cGD3ee8amaIPbAXJax8tKEzm48Oc3oj+tfn3NAY+NrJTs7zCyLPFKu99wMajGL/8DSc9VgeAEQCMMlBQxAMAskPvigRTPbGw2zoEjCUhSjkXz2d6BsrasIvU9fum+8L7mjwu+9a9TwH8EqluQpiWFFuJn5aWOKDI2/qy/Uz7082T66vkUs2I1U0qPdjHn5L8YtoX2MLCNOIWuf+5rQOXF6/MLTbVKktmhdKwNR+9wJoR93zT8bLJtiVoJ7rHSygXFGv/Jyz2n9u1yqVZpUbebrAmOUR9+gQuoLUHV5Hs97J5yYRFBpwgbVCtg/QR6QksF9TWAaTx5SrQxBgBe7/PUizED98evIx1Xd2rl7jisY2yaKUxUtHTZ+Mex2JSt5NPS12Pd/fM96gL3U2AWjRH3s4h+h4BXAvjBpRtfhZCCoYH2KcLxk/saA9YadppDXdWseDsA1nCZdoDMj4w8xQtUEgyDaALV7vj9/FbqrEF1JZ7WbQoy+BRrDEMhw38+/+lxEIQAYPhiIKhWIiDAB0/OoFsO4nsOwM5HFNT71rMll3LpeXacmt5tLxa3q3AVmgLdqMn1+r49dCf6+Tx81PsWp9/15f7kaOvU0/6hDkSXEfN2P3wZ4VOrnEq7uB2B9RvkwFX5egzj3Z91LPBGXXlzEJPRY4Jq27KhJFbbok9dOdAONzJdfsEuZxy8Lc76ubBaSbXm6uR2rp1JM5GZ3OXWfsGF9XYGQ+6xRlc7lqPXXKZK3I+6oiRi9kNT+1xmINr70iVE+uEzkEjD1zOBPhn92Yc6r4LswOCnGqb3+v0kYeu5JzVJTkPDnG8lXNt1KUzm1B3/k8NK2CmGPjMIAJCJBE5xJY9koIjRGkUISejISouhFy5QcYYw5ZaACRQNJLGdEiMGKRYMyDxZjGTIJGJJJlYsuQYRivPCPkKCOgYcC21jFipdZiq/AapsQNWr56dnf6ANWqC7NbM1B57Se1zgKkWLaQOOsxUqzaW2p2EnHIB4aKbsFtuI9xxB9blHsJ9D3F064Y88jdKjydoTz01Xq9/0V56je2ND6z0+Ujik2m0fnEyP82ABiUgfkkqNiTFGkYYnCMQAWNjIAZ4RCEKXKIRDc6xEAv8YiM2+CRPzia77NikSMFmtuYciz9DEo8IDx+PiCpjpgwaxckoTkZxem3dlHGPTRFbvx4ZfdvwZx6vOZN4RHhEHNhTcGBPTmY4HlduXLnh4xHh4ePh4xHh4eNREnFnbfSPyqorMbJau0fd5nvG1faM75RIvGN+1b0AT9gqGBeDCVPM4iCoYWeJkSzYYJJbRhdKRpRILNdYlkXRP7sT8eBFQkUdRRvm0v7JQjQ78qVFSY8q9PdK64xUpRay0Q6oUFizgrEosEqxUrHGUeLC8zZUHKyw8ZaPmhCqCorNQI9ksKrbNivOdojEFwRMEJM2xSkUKcwSgC4BqM1tMpvMJnPaCZwKhcJfkByAAqpXa/RqZbJpnNKkxQFOl3N5AbrEEoBew6AB62rD+XPhQc312FaWNH43BE6M6QROGwUlnkWt0IsRLJQ2cvKgD2n4pLWbBW1fmObeeoGoIMxuPDmX4CPBdgEK2NAMiGFBlyj/NPrBH9lXWUv5LJfNWh/tnX/iuo/Lv2Xu6vyqMw0FUPs+e+BIvKZzGE035bItzYAHCCC1/EbOAVoOMA+sGVuuBetprSshdUMfG7IJHBP1THkk+ExZdVBw20FtXujbbjK+PfLVjh03E98ZImaFXTzPNBDU8h6m/+B56TJkyjLTI2bJNtscc80z3wJLLLXMcqustt4Gm/zHZo96zOOe8KSnPO0ZOVCYV7zqdW94k4JSMS1ttEvTxu6HPdVsn/0OOOiQw2m/kCNw1DHHnXDSKaed0eGsc8674Jbbutx1T7efAYH5+5C/XsBTgDU4dpP45xhM90UAiYHCRGNh4+AywWO6GUtYi8YWiZtpWeuhwYJsOY9r123cLJRrkbyn8Pbu6x6d9iOP4e/QqXemzmzDfgccdMjh4JmkoT/Oo5nYDXqmZtP3CLK37wP2O5CWMwcdcvjYiGc143e23ablrxn22e+Agw45rFXbMRn81FstuGkErcd3YuzT3N6GffY74KBDDh8TMTxT58E788476DKh2+tr0kouzMma9T4KFesiMvvXl0mAIyV39cwJ41/Jz6slDwto4KyPP2kfzvJF6FsDoY8/tr7bRTrBDdc+/GeNJAYqe6cl2TjmyPjno02wjY7ZpfCHInqLFVvCEPFRvfrf61v2sElZm+FRj3vSG97xgz1+txeBJEATGjV2afw9cEFkOzQIS7htJgJJmatBitwIVM/feQm0wjxcbCA32dzY/LnC4ZAfQtM+sA/u9s9Wgd1Pi7+4Ybc/mqK5zfZlO165CL5KOf0FLTo9eyNuyC1uc6lRbrIa8cZvFi8jv1WON1c//T3L/eX95atFuD/oXJ3VbV7doUvvcXuHOhteAbF6AlsyjOGFEp+zm9CIIZVgGRuhqAfLQm+IA/okKZgIc3x4w51dSIRLLpuq2xPT9PogTtrp09aMtieejfzEkYMC2tEyn75Q2Oi5/Efn6wVyJaFDq9ALpYWuf3t/xJCn0iZt0iZt0iZt0jYSyU/CC8FPNe9Xk5AtO/YCTTBRkGAhQk0SZrIpwkWYKtI0UaLFVILRkZiklWSkSDVbmnQZ5phrnvkWyKwsoyZbTrVymba8JK/w2iefffHVN9/98N8hDh6Ll26qLKMhWw6thXItklf5RkdB6YySQkX0Fiu2hKGWGoESy6ZNyDIS2XIq3+gpKJ0RKVREb7FiSxg+E3cymJCQRPIyzyu89slnX3z1zXc//NcvsI3KMjLZcqKLKUQRvcWKLWE4VKSkHQDQVFojsVCuRfJKZzQUKqK3WLElDPVS5pXX3njrnfc++OSzL7765rsfk/+mpJRUTDUpucUa7CFAYqAw0VjYOLhM8JgasxIRhAOyVMnusvnlkGuqzyy0WTsmik3ii7IYGWKdG+XPA/+tIaaDB4WHd2AlT1XftdkFg+nQJ6jyVVr1HrGXaYBpTXba0Dn/FA782d7CNLTarPPSvLwMsOjUKYc+hb5vfZvDbuBDoqp+hz9kVjTNFiE+/K7LzrH8SssGDislLueL8NdOWR/F1Heh1y/oyo+KW5JUPLVJ5JLL1SPzjyee6vXMc//zwr95W/NZv/9TCw1Ijht6JRPvlFJ2o2uvtVqHaRP1Sex6aqIyRaFOsC09ZgVMxe3VHy51P1lhaSAtlyp5kCIKmWzvF9NStWJK01qPaVuNtLoTooWuNoi03LKNzk9W0wXWVWcmOzwedqDFpRoZbMD/PALIyceA4WVCSmzl2XLL5RjliYZ5reQ8imtaaBPVvO+U8tpJaHhY29NFlNY24r/J2lL+Up+R6tVZJWhHmgJitt1obFw8/MOX2cQsSViRkpWBGRlPSzOTs6Uw0qjTD2Yb/BcD+/1SP3WAsvnNqXFWOGmH1TqmubWTcAYOwbOwBUqR0K25Hvqr+mEEvJ7XfF44H5/6893HWJiHykuEOAgIDcs0Ji4yQTxkiviZJcg8YaKGZ5V1skYkzSZ59imyza6ROSTOIsuGJckxZaNyanSqnHPJtTGpG5t7HnnmlXc+ueXbuMbD2GHEAeimUrCbHB2/uLjEzUrIovnlsyyrIpLyazSi8qScu5Gbq13p0xweRAZ/UUOSjThSrsIURxcmbIRSwoWPFDla9ChR4ybstblWdggh9vJVaauutQPpqzl0EPuWggqjkzZEeK9x0XjQuC+CXcsVJTVZVWXo2qcnKiOFys0/FxlVukx02XIx5StUrARj6tPnx1giVFwC9IHKn8bc8qtmUnkS4rqKs0ABN28sHrZDdHx3sI+4g6K+7Jd24z6zy/Y9e9ZO3MN3wRbTkHLy6ozWSMAhFhmlnWdopYj59FPPZcpJE98Qhxk66HEAQaiBQ8Lnx1wYwxwe2Xw3zIkb2ZDoZfZOpG9fomBJo+GTCy5oVo2At2+7K4Uch+famQROQyDm4ruGIR/jaZiE+0Q2nnonN5F4GTSVIRfJg2QXa8PumELwqiWqcXpE9Z2v10rwHv7QdjsytvOG/PBpKCmqIBkQQtv6L98ZCNIHwxGIA9BuJMJCYC7nrudRCs1XgMZZ1NKAqLS8cfM6xlKGqNCrcWWSXDIRpboa5QqwiyZKfFXG9yOocAtFniSj6fFWCWQ02dIxD0FGE0NsfgEZTdKM+Toymk6hpl5kPgQZTXrPmGsgo+mFcAFkNG3SZkFG08rQRGQ0zYPJe0EE0DBsj1FNjgG6bxmYZWscToYacY/N+55VIlbE+lZ46s8cyrvSDKs7fG5fP3iAB4X1d9Q82d19A6eytbiahpWuB2EtUWG9lV1pvUDK4M3LFN8LTWUohToNVYsocRSfC9DYVwwXPCsB1mkZSRlUUDwK4wletq9k455IybR9MheXISRq+1AmzgasiyG3Ya9+gEmTOg9cjb+Aq7cRgLEx0rXsOQrRyjsApEgnIVUHpa28z4EgNPashmjkvQ5SWLWz69XEoUMLkDpggDRtw4arZoMuwIrsLATFHPGvAdqxoTABJ0DWXTfyySWb5hknCL+8lVTq0Ad91hPOeg1YE9evd5Io8gVgwoGLKIlh8k/LQND4wQ1+JbGsnCbYElXXjojzK+trrMXO4DB7YZcLHWtuxRQXoXMvqSL4UnxXWfackTtfCHTG9ymZDKDNdUVkpy23VmDpHhHKZ6iQX0Jwq8f1VSU8cg9KyE5DCStNUMJcjaS/GDCJ0H4e1NmIxjYeKmzact4E8toXkSsnqBWIWbUlagEiVBOxfSnuM9B/aWFywDXon4MeQl9sLa9XvFZILG2QzZmwb5Ay00NH04h31WgYMwbCbaM2XFaxRzJzqjd3g1kRyr8qKDKEVVy8+An8iFRRnT7o9bLObfUDMqDzjQsxIkzkzWEznspF9Q5u6a0pWPCWb19AyHpm/v4jhCce6CSwX4NN1llBTytDovZPCzaeOxVFGH50FVFJeOK3RpebTt9zzUEiv9GR6Y7/gFRVXJm35FcVK5iMw3ShC12mewUGB7L1T9xed5k9Otw3FibJdDz+Yg0mTy4cyFkR47ukl37oIfTveN+DAr00zyy3z5s9hdDlvy/XVdNQ/rfnzluVgSpNXbdnmjX044qUVt6rizXqp8wiuZHhIYDBl3pjNicvrowU5iclS/yNJ9g2eVzC+1CGwgMykp1uP+ouREBxt16+lf37X+bBPXW3eeOa69Xr73/guUwccN59ak/ZSZ57TsWZc/LPT/lTEk630+GUnsKTzQElWz1OcchLdfkprikd1YjmwOQnOu4xj/rFZ9uNZPhDsQa72rmON9b+Pn2faV/bWt/yFnRBpzvYjja0vMWtbmXLWtxcFqb7T0r5/0DEG3OWE4w75qgjCZ78xOONJdpwWY5LFLGKIDRzyHXnnXTQThs874AdNlpp2vucddhOm6w05WN2styW5jFJaqDKRVe00LLWaoXLU9bSlqzI2lPJ8pet9CU9I+UXS0tYbAosHlUUKVzuQ9N/SrVcKpVKIh1QXlG5ZZZajIRSyU4S8UWRg6wyxzgx2qnnGfpoo55yCljANIN00EA5xVRTSRnF5JKY6AeLNAh4YcYygqej/DQ1JMCRjzi8sEDre6/aTbVcdwv8AEEcex30mvTLi459DLM4wfGMbYyjGsmQUzAlI5+s4Q9ziJM8ceM2ypGPZITDwzTG6DncG+ZxI7BN3k6ZJc91fFxTred5nue6ruu6juM4juPz+Xw+n5+fn5+f3fEv6NX1UZuzCKtbySRJJEkCAGBmZuacc65u5bEkSZKyK00iSRIAADMzM+ecczciSZIkSZIkSZIkSZIkSQAAAAAAAAAAAAAAAACQOEmSJEmSJEmSJEmSJEkCAAAAAAAAAACGn5jZV2mqRB0oXzR35tQxCXNlShk/YghUyYnD2OmdeR/vVSMVCVKB77mObbX9Vl5ux/al0z3NPC0dV1WlhHV6D3Da6e30LLCysrCUZaUqSZIEADB8YK8UiIIcYqihhAxicIkqFeP+GZ/0mYb/YXmC4x7zqEcy+ORPwWQNd6iDmbhxGcVYjWBoNFS4rpwZWy6crwVGjYGZnOsTHfTLJ/YTRX7fOtqRDTl7RjE5wx/64CZh3MZhpCMcNgb0v0Yjw3NnbLHqbXTkfakrKCdh7Ag8x+AEZ3Dig4199HNmfGMb/chHMAVTPJIRDnMIkzTqUY5sxMPFGPU3Xjoib+aWC+bOnDrJe/DvF5QVN2qYElLnlF1WCeMiEgbtktv7F+PBE89hGPX5jh/JE4+sGruRDH8oNFiwweJh2dN3Jl+29MkTVFBxkoQxI5SUOmWyxHERhn7jXnjstis6HNWiSZ0N1iljaJzvxt/9fXwQv3jEr0tlUYuLz4k8a3H9/9Z9v0YRVreSSZJIkgQAQBaTJAGQ+mFDXSTWtJyZBQkGw7iqA0JLwuDbsueUpoMOcwbkCFS2mYDmwGM/d6UJcDxXQ90osgS9swyQfuzhjHdzHqUspX2eBtH5XvVqwXRH172g21jxSU8bmjtSbXq3e0nt3V3T3OF7GDB1oL0ZQ3OHnhOHsgn6+6G5gwfUGPKgXx2aO7BfgBQFvWloZn/O+ALlhl42NLdXv/cl0PrcQd/tpHdfMVdZPFqYfXXf2Vy/+VVVXU3BQoVrKFKsaPXVVqcYNqwRB+yUVmfCanPDQZCi/MNZUn+TRSHAPqIuNJ2ob2KGSBYNX1xyVbsG1UpopdII5csJuop8AttH4dEAlADOiGm06SIRchptvmiEsS/a0hGNuiDaqjPCvCCy0RmdviDGto4YrAtibO+Mxu6MtuM1RzidMXZ2xvtKk4vxBQyGVrHMXhf+ooWnUboqylU4bwNu45C2ZDot7h8zZ8laebbsVeTOU2WuHDlhpCYgthrcPk/nvXViXk0lG7rGXu8eOfiKkC4YLrw+/3A6BPZR2i429CgNHb/6GOoZNkxRUeMTHasCqouhtVuAS+A9qf/F8l+DBpVXUkE59V/FZdMukeQXJrl6PPpH5eSTIrZAhM/gwADaAx85Jzsu+5XxLWMfY0fHW2+PnMmBcWQQOYf8+PbAl7/C4/PWgR+8oJ0GB/jmkH4biOft8M+bNQMXeIDqkwPbwNe8Ff7K2+DPFIHvlXYvtcDtTzLpi6jqRxN5Q8oSG4zV6Qqj9xW6Kpm2ZNAujm/Tv214oT/ac1qndHg2elYXOXvctC/sv7wdRr2ZrnbYaHtm3vhk37renmv0q7OBXU5t0At6zuuWv6ytaIFWa/E2jvYb7fBrP7LgMLXifLKv+kTGM0LAA99YsZbUCh5FVcL2583gVUsn/W8d0L5if9dCn0k3tnWrHYoyt7DtefsCw1DRCX0MRD891Wy7udrvGmkv71CzPo20YJCxueqJpqmOaseNa6BKqXQiVWuiVRWpAm25ufU02xM1KkpGlRSh+GZrkANCYAMZMJAEECByZVTQkHzljuSQTSbip+RgvqbzW8vmrdeQqyCtP2fKw3JEottN9kU+SnjvC7YIvJbbU8uZYV5qAxSfwLwUCXGOiWEVOimGTp8BxrDwAActXQVqWo5Gqa+VGrJ1kShdByL6t3tKjUuA+Rd/8bPxfg3fvk8vePU9F7gz9gTNt3+wCyU7UpYE3Armmr5z2zfn/Bpl8ZkTJxvVflaUQ6mf5avZF53s3ogleF2TkI2mZE1Ml19nVXQajgJLk1qnRqTpAxLiEI6awduMaYfijrBhQYBBwWjZm+a/cgzMBJ+AiAVbCo7UPHgbJ1AQjVjxEiTJopVPZ6lSlarUWG+jnRrt1qzdMad0uOiKW7rc90iPl97o80n0dfEn5yE1O6x1MIFiTiSKt1c7YACHXGev9Zow+xLTx7qa48/VAFYXka+zTyCHRk5oWyCr2QYnUOnEIW2fj0aA+STgIEC3HjIo0JSvQWz+TLZJ5T5FhDCCy8YuTmjLDtMIiRlL8ro2U5AW3kZiZ/Z7qmRNrLSScVXUlgmJQoa5ycZOvL7NrJlS7mjOQDo9GtqGCC9XNzGtRYFhi2tLnLWaN6QZsSGCrHzcRhS/lSWWHXMOAsRbx0QcEQYOggfXa6NILE1zR0WaJke2WLUz7bf1mjLaOPt0FQRKSwIzbpK2uqSW2YF/b1pMRCEWrLYsgLc0fdWAaqKlg9BDD04nRpW57Ug7aViJZsOThBxtNFOBeDBLI0w1HJcFtlFcyPXjazw+H8P1Gosdsb8gOQqVur5wu4S2EVaU5mJiuR1cc416r9U/mGLhUY8xLr5J+I2VANNoRL36trZyjwearACBvoAA/gt4OnAQ8T5yRFs/Jr9/1OX3f7Rr67XqrVEpsNRYzTJrZJd9xWaZbNU0e5hs7P2/0hpQ614xXtN57sP1/7iCPM1843naHMLn/5qyvE4rI99r+rD8r64z5tLzrX8BHHwBDL3QlZc780pGfK22N8PDtyh9L1R+EHZ+GLZ9HBo/CVc+69iXoeHrtn1P7Y+V/VTFr1X9xsbfKP2tlt86+zsbfq/8L3q2UocY4xgbGb8A74b2ALxsQOsB0HEczAQG0HODLDDIjPiO4j35vare0sGw/b8e0B2EHCo87DmTPpN9XHHizxPyWfkc6hThtOy04syOefJ81ULWWaezRed9Fn0XccuYFeiK5GLmauQq+xLlcuRV6nXFF6brRhd2C9wif6Uwwe9U3fW8l3Ef9jCY68/fcf6ei+de2nbp+p4dPTt77+7b0b9j4Nyrv3hx70u3DN84+vc3x8Z//TZflk1O/nzJL3979+/v1Zpj0VYHfr7t8QCAJXjX1nLZ/GGDteZ/hnJoDBtAXgY2AHgedhIAvJsaICdB1j46DIBX2hOAgdwEjwAebXqj3fkuGiPOga31wPK9EMC2383LoHcB5vtvJuA4XOiDH+94B+EAZ8FP+CxX5SHAMx4RzvPWAHrUV544DwnboJxBrlQxwoznRkGMgOECAAKCQJcuK+61lyyy2ovndO1FE+e9sG8wSUqoemJN7fk5nX2eq1RzrrR7BCMvPGlsZfp30F0/Ph95cYvOVnw6UDWMce/1c4AB+k0RUPKSo6HrJv7vkr5tnsuLwX5GFFH0nJvuISa6IARJsAjblxDZneyUPaNX6rV6o96sz9MX66v79ntywyve774gtZbW4DguvNVraX1Rc1bhLkBMBH3a03q5Xv2oc/Xjugha+5MEqat3V3pi8e8P23Ik5UpZUubUPoAfq2dzzfxsVmpOamvvGHuod13v2qd78WcxLPO3w0uG1ucj1tCet7uCa5YnpjnzGZrZieIXspSceD+U0J3y7PFQnMei+boNsUufNXdOYMLAb4ZF5LF4THw0GojR0PceOG9I1kSUNqVvlEXqY6M2kRnu4B0EIWR6JmVJboYxhAA0w1hhsj7tFUWZn7MqsnSlyL5sjD6tnkadH/Jn2hTnl5xJY5oj1dyvCXr3J9BMmLM0jMRwTkZTUdZnvGAhQk00oUpBkqVINVuhn7qtstwKFVYqV+l3m22x1Sb77HfAHoOO+dNVf7nsUv9yRa9nnvvHF6/4bImbA9CDuvbGoTt7ItKG0UU1j/JgHwwRYqEfzDFIA70aPGZbKuQMlup5E76Hznd3FlwAr4YL4T/oIve4J1wMX0KXuKfj4NLw8+n7ujXxOGCsAJh3AXQncOCLCBx7HWDPbWDHDIAdwFhPLQxraddMT8GqSEXlVgiVhAJrk6lP7aabqy+wVJEXhLWBUlu4TM9U2Mtser+IsTPFQcAStlG0tg7eJun/fOm2Zc+PYkwgdAQJgGV+q1ZEEl1Y64nSFfzKhYCYrOkmK8pakNaSNSvsSZWCjQBJDQqvkoI9SASGMau9wl5ZrG1N10rxQdomiItMQVeURBMfUxLZJsyQcosQV8DTEP04mT/fBLAkSHYIyIk2ZbSnHSORgrz0IZRca7Or8dSl28xCvUt/PVhoc3fBpneIm2caVkGMQ7UvlaXz0wn9nBu36jtGiS7giQ021T0jNKsYqWdvkttl1FHwQpuFznM08S94hkVXjDof+4W9tPxb2cibO7OURDFmwUgmdKrrVpSzPFfC6F75kVxYfJIeLh8E3Z1JLierZ3Hd3OLFYMxsclJmaN33RgLfYp98veSrnA+x9JnALu8s+Cza6hpBug+H5VmShbmCFEPwkCzmgWsJL6kI09EEjAyEpiEGJiPVRyHZS8VgZfD5wCzsKOoHDXcxFQZYzPorUEgUP7tKQs85xU6gB7nfAb2tmSa9TgjjUwnK41PCAkq4NvkbxpH/uVOR0NSXfGpjv0CGe+wEeC139SI1+j1M7Hn9qV8h8X8iR8JS7lbZ7UxKYB9enscic4hbQqqcZkfpUkr8aFlqBxEZWhT5mOOhFtbAgZh2Nnhzj7BuVKKqU8Vt69SX2kp77t4AcwfT/SH1wCRB2fipHwp30H4hRfcFdaQ92Hdt0keeBRLDrP60j7BcrUANKhU2/VTkbS03dXmQz4uv7UntiKfrCZqV8BfOBuuLfTKXKOFTYh1WXOD5pTbICFcZxqiBcZQMKyGxRV2Buy7Xn9q5X7ACeVNqpKIdmdae8t8g7J9ixO5F+NJnhUMvI2MZW3ZFYYjFWaAGfO/J9HIoKGfQ0exHQ/wUfsGmL5ouphGZ4Yga3SlGeeaf3MWogBUIW0OdkvZzESbacovlIYPQ94jxc/Q4k8meYoKFkJ6BZqDG8RZMOg7r9kxhWs8VNbjrBEpFT9UHNDJRW51Lh6QTWelpk63E9Oid1jXr2GMISDjFT1dKtmnpuCg2agvJmqYkB4cHPs+q+5RyeSB5DtQWitjRHPhxpCcwdU7XFgQsq1jluxUooMvF/sPVbWcoDfu19rHUJfZJEh15h0l3wQ41HFeX1B170Zu90wlJTmhPx+UG5ypDMqBekgi5jWogN3iT5oZgcsFujVpxX3K7xBRMLcyW51CzE+rAt9RbDVLYrJ/AFwazh8ke0zVJUo7SPW0RpMTThbGbcxLabNoBt5lByWNMs0hCVuRWL0moQ+u7CGtb+hdT8KNopiMOPktYdoNkne6Ah1rosRypH7nRsJsNmOaUb2JpHqIkx3zJr8VbZlorzEDzYaTl3eP6yBkv4l3DDNXFxOUXB7+9IdX6A1e0w6vcVAusq4dbnsN5MqO6T/n28E8rBks5Oju6I6NgAcsQQhFWnAJlYoI6VFbNRhhYS47nvhYb+vVXyJA+wMLOTGfxxX0sj60N4lTkKu8W2gxll6CEDkpo0S01Y33uLdQivatHu1lhubO25NwOowjLIKpknUYFL+8tWakXaoPgqmYUrHQ+Z0NiZ5rGKcZmh+q7HYMmytY7DUWY29XQQereiga4kN93gMJAIZRhOmlz7Dgg067nmXoZClV+nxFeGAkA1jHy/NPHwqmrAGvsAdqSe9MsphSOoZW91bMqPCfKRR9MRzG6AePBA02smXcrYxkiE6fWcZ6D1YF5M6BPWhsutJNGoY7qj22tAG8jw+6qyiTQQlYmibqUTaJQ9zlhn/b/Ygrq0Y62BUx05UWvGw9EecAaR53HOUHEYbXdSjQxyBF+URdl9YbgqVhb+waGhVHf7TVKF9LRmaJHzbbZjgGNTvTd9Tjy+66GG2rUr5r6hD+IGC/1m+Gx+b+QuPLFA3IMPrIQek6H61ybdKN0ACQ9ByFf7RB6YWFKHc84JbY8STictLP2b343R+o3lqxQsR0WRraiwlSyloyVkC/gmQNirA4/YaxHQpLBGg84NZJSlF6K2AkUkGD47Ag3pAseXaXqPJqEx9LiCecc/dRsg6dnbGOWZ6brKLC6J+yxBhLixgjuWEdXH0ki961kObM+2WSghBINPaERvSueF1M8FmvW00XdvJrmVDCPJfW3rvWmnXtmTJjv3G4WLckClhNlKM0PB5xu8jzVuNoMxs3UpJ14lZjS4xNq0l8Jrv6qglWvsuo1VkX7Mb3W3zDd52gN63za6yx7yIPcF080p3AlRBU07XwIJPHuP4IlPHHGKd2TMfYDHs2nOeXp51RKcmIWPRArFE5amyP1doPQ25n0yLLoBaQfdrMzTX6EepYzURvF2H8p6YP0SoKyDPzyKN3oyRbOlnwmgD9dLxR2a4cSG/rnTH4HStszldiCa5DEv/PsCS2vUyPvbtvrTwII/XRGf+rxBn88WzKUJoVWsPG+/+Uji9ajZ0jLuAr/GnmChXuVo5Agmma/JURGoXyzXRi0YUMoy7O2LcTBKa/N+xBEMPGoDuE7abTyYeayQ1psMlAVPFB4aJozeypSXl/beIQJPMgrvt0K4rblkADuk9epIFIkHfzBfg8EuIknlK1zpwipM/GzVAGgvxpb1SsOduEJrSkrk4IirzpFrV06D3yYcvRUmlOTWISN4zoxqKuqBixNsx2Qnq/rcJYm2RZzF2v/2dMPuFrPQiAHtYKDGFAEwM64Jmnq00REqsb+tCXUGt99VU7p9qJX87dfcmfuQGZTeXu3Vj+E5HXHvn4iZcAwZfpnHLMQkEs4X1c/okAErm/6ZrhpZtu9uTVrpjwrUDH2/RDHzz3q1DsEGsZKJ9A7/Wi3CV1futiWVD9ShGK+0TRuwptnH2lndm/3n0uIoiKs6Mx0IouVdbtNsRYZtzl9sMO1SoEqXDTJ7i1lfjpTfcnR9yZhT6cAsQOPPYtMn6dk86ihf1zbfPEx9wX7Vy66u/sdNdeFLjw1cYAV53dN5PNIGLAPZKY364jsJXv3m6MsG/iwe5wfMksYL1IhxQCUGtk9bH2pcHs7GlSrjXNTYwn61I5MJVPyNX22qyn2ZkosF2TQhRbILb0YO/ViEPgb0Z+9kqGsPpI19hddYiv5+azVwOvTzX0aUEk/FPwv7W0fDv0PKDnHWv/fKh0TlE5cF2Jc/8AeSj+t+v1U037t+/kRH4z1uqnWat8rYW05eEl8/4O7/m9JaTc2Gc6i0Ytr7rdu/nt9daV2Z5A/xZz3jV6i/uFC2hqlxo5O/DsBNgVfMqVOffF93dTIjw+a2wE7Ld3vXZphdOToCAgD2zRt6Lo860ShGK1VpCA322LNW2OF+0qLJSefSI9lTYqO7jRkkkjVrSSxdC+BXptEKqFkNhq6qSD8Z/FS4JmDqd//sDc1cH5JeRU1qpPPbi1ZtCOTVQqawS+l8UFTteVSh87yAW1IMfgrqGS1HWlxi1J+clR/NRkYvpgSnvqxtdR8rk0N3rcc0UzVP4YdP0D+8M0uauJJr1wTsDA1A7ZJwllkU7feb58a/vRg//9M4dSV/6haYgNYT7e/EjQ/mfrdD3oL+M0vab7A7quVn9iav+qIJymljPpAWv29xmrL5WadxSNhi25JLl9tbD07kTA2P2y3pVZMX3ODbUNHeq4J2wnIhLRps23rpd8vnotcpDcbO1QlfDTN/ov+93+7CKKnb0Ric/SyiqpzL//cO93leTGA/BD/mVFmwpi7rp8f3OWf3Sp0PWAHtoJ9C0p2/HpweVuWr8q7ZDnwmXexr9o7d8Vx7LAdsDDFWKGgFNdiA2+TEBPaEdzgV3jH/g5r3GE7ywSRB9eFdTkTtjiZ1aIGVBnBiud11v7NvBqtonZDmG7rOeuGUL1qJ+D5nre5SCcStRkHcdXb1yrWnSWNDkwQAZwEh6h95qWA+YOpP3yvpIAzizOG+406y8VzRgicofFBE7fUobPIB5mrIQsHqc9fgRwyv7ptalvXo/YKs+MtJv5I3rWcgeCMH+x9GHipK7hnMBQ8eLH0qGxSrOmkI9u4XGRrF60sBlgEwe3bV3Y96v895fK+R73n+8EExXs1BV8u4MaL3KN7pts0HRiULo2HquskREu1JW/kfuEIUM7c932eYWG99uI6VmZBHywtdy8qvYxGoPMMsTSHk5Hze8CV87t1Tec+5HXtepVXd8K8eMG6YE5jEHcl0QpwVLGoASba7b/UBa8XsjuklbqLv/wILCHKKcnUHWAR2AHYgfCX0zHLlqqf+h8sXs0XTcxkVFYezUifyL+6+KC/86e1LfDGcNzvSbUrif5v9DwkepEWOb7u/c4E111yTRd4F1VbCN49XgM2DCdbxt3Y3rMk222teWj78dWtBJ8e74GVsOv9u9Zmgu3JmlUXg+kZ3/yYpSDkoUO7v4MhwOQus/v4LXjcV4Vq98n2fHrfJwybkBEp+N9QcgVJ4jDs4/gHPizHNt+thCdrK4ZjuRHcHwIeR3Lj+IuWFYCb6oMufgp9GUEn7/QvIvsrKbtDyZCXT9ojzgJ1dMDYi+Dk3MZIFEVgMY+FG6e4zY7mX67FydthmB6dek+wnYJRF/lhWm6/Qkwq02H6vSkbsq2rbVaWW+KixHlRVLoyAkd0PIwIzO0umQlLRXS4NtBSh+pfHe+zhkYzDfAdIzktFLwWM3g4xV5kx7Xa6b+uGIomIuPiKXl+4IGL/IhYW47eSJzcxmSzkmwKUEfac+Vn0d1ZlBFBrpZzqJ+Xi86HUMmEo8Eu7Kqa0wR15TKjqts+wxPmy1CXjSBzeIfijHXMe4Oks7RGfyYLmVbHzclppuC0mAxsZKYE4DsWqtenTu4l95m0t2UwVUkt28GBTHktASsMtT9yFLBNYT/bkAl8Pb6w7a6x3Ox4a5n53aKJvbK2YtxiqRq70FYozzPm4c5otfjzbXK2j4a2tFnAVZNyLPredurNDx/Urw1/OvUxOgM0VE6JI+Fw+EIEHgcTuMOLO9XY88UK7LlOVTEi3YMQE0E6dyjcgZiqLmN2BwKkhfFee5n5icPlZvekxkI9HsP3sPVrB2xT4Ii9J05YQ6DtlRjl+PNaLe6MMS9P3laIXVCX4hbbi4HKYv+3nbo1h/dXWbwu6eMdjmurY90bJOX0mbPgCszBJnFubmcWyfz+wwNcSTKivFsfCXNhVelP4UFgjmhg54DN6nsfM/m13SgGkmWPiOi/e0PBIrEZN0DWCe1sUllecHe6Hkcpj8lqPKxvfbk5DJNWk1zQeE9X9XHmSMV/958zFtTgsIKQzSdnqrpqTz3ltOVLjEL80coy3KxRkidvL8DNFavwM+1ZgLF9RKW3wXC9V+TAuVq98qBQtNBxee50bWN3KV2PTTEA83uzIrDh7ntzR8GXk3q7aYW+E95UPJcFcL+98H72/VNyi7CQCCxMYcA2pRyS63Vb9oF0iKkgvnvLzYB/bHfFZ2ka4gmVPXscKpy3smQVPShe5ihLNF336+wPFU15fFJBUlwh/vHs/5uizECVJGDLeMvANouOgGQXRE83mp3MxUb/u4itndmvN3/3we9Vdquw5xRF2MVutdLRn3cwXA444GjIPpBa23ztMsEDfWoLzLL9szRb18+Q7x2fQfYnj3pevOcTf7KPvHf0sLWnZkSSY5/585zyd1+6LhmvJp8DM51UJ5JV9VszDvo7CRo4OaWt2dg4Opm5ZT6od/uuHo04f+cCs0y1F5NT7kzdH5AvzyzIaRDgknjETMcpv97t3T2qLEXf5TQw+3K1YnZVXKO7LFQdKtfqjsp9bbtMjl8a0OTPr8oaxifH1a0t+cr+7vragwKClIBQJ+c1dWiKdzbI6QCSIxpIHpjcMBtMSsDgN+NZvr3zuA3bf9vX1wKybKLY2Xa9QxPS7bcxY2ROdNTOeczQol6fSzTrkhLqKxNIZE0ipk46MZsJ/6vUY9DX2KKvyg0sSuwQ0+XbQkLUYQY9saPI3wy8cp0VXfphA0QC+8I9I7kRJsNXslQvFZyD/nSYaKnpg1v2jn+0o14efYn/qmWGD8vLpwNJEv7RDG3zGkj6Ry1t+rBU4+hk158O5IBRv0n7VP+tHP+pgH0OxPHNAqCO1wGxNcfU+jCaRe0OQIsC0bjuGFb7w1sNBYbZ0ttjf8EY5DZ/ZIY/EtsWzRj/CxjVIYO+hTxrPMmV5iV0nc0BVpsXdeP/TfZTz6rnnIV3nKikOoYWjrUBujK/KOjGjEl8J3Srx8bSSRBv6FoGC1MrY3anHuw9oS5Z0ZSVXHiyaG/NRI2kLRGvYjLxZW1ISQ14qrSJvz20kLfdHmrT809L+S9DI2U/X39Ky9bGctiVm7YJ6m8/v7mHQ9BqEz7++S+pwSzPVv5/SbhzVGrMxI9LRMi51vJiWascM5OXteNQqxywH4F1jYVgXaPP0sqd9QIWpny9EteOz6jHwPZzh0yF6ES51Vd6bkc41SNMbrsqwVzyeR6ANOObYcpt1z8KwLe6MB4510xsf8i8LvPLm4UdJacEmolNxYfdtsgbqvMzqsixtWvo9tNrkqP4bHiGO3uDi25yfWhMSNJ0mEHb0BjuM9IT1AP4/7s4oesUrAuWuT15JwK2E+9zhDByOidB6YOsXGksslhpKbJcKaxEFXtnxtYSh0j4G4Tikw5nhlK//4EW5zB/UnmNDAypE9+crGJ//LXO+WZufPzbuSrOr79Wo93JifHC3naa1fkOmnXv2kKDd9A2Lp6hWSXBsnuzHor9k4cPO8/qi9wfwYD4R2cmr7AJXomlpiirE+gcLQatZZ9qqLhyO9tg+EKhPlvKiO3rXqk3YvnWM7tBgfnOV9kNx9eWLlvg2JLWGI6oC8kqpTDolf3YoorxirSGpBQlhYgsLEtgkBti2LlmhNPm6vrjD7PrjVeL8ufkuoYZpbe1yLYxBbdHVFm/9E4BylSD/qvrVT9SPFVm1rmT+tB0QHCaA2wTsMzrv5RUnVirPGOBouRp40j8NhZtl0jM6u1KFWHbg44fd0h7tWmyOPLE+nvScIrkcIq+ETdX0Fnz4kUJKExNn0f3jQo237oUFt5hupapr76UXX18s3rBWWysVZccMKT9c9K6uojbEkqpuVOte95lrHr9qqx3gt/JY/WkC+i729P4GDUsTRiuQXEZPZ1CcDUg18v6ny8uHg/geINy89738pqzFSLS3vp8pu36TDf9vKak9MRNiaGelkRzokRTMy9zW0+3rV9A2SuqqDv7Xr7nQHYnkqqmsVi6boJQZJyydCwaRd2NzF6kVSThlCQSurAygcE0BrqQ3pwxyqokwDfXX8quPrlZc84xy1ivKRkzcP+dtdYWcZvDqTX3dLrnncbqt6/L+swE4HRe77DA7lZ3WES76Vpm4SKmNDpNGKFJTmXu7hAK+R1cVo9QQN9tTAO9ftOwgvPrrzXO195v5ipDFchxpo268fxZleNQO7uXznyeKsG5vf177T/7ztIyVmZUZuRo3kv8d/FFu0Pye3VAlKf3jPUQMtA9vp6s4fzdwXyR/668t2UZuVUOK3ogDIxHOsJdLyrVpx8/dfIUGDRUNMIkHC4T66lLV9f05u8KiYiS9xpxTiXkzT+amnQ3tzvCI52B6YFUZFSCjHTN27y2/hjYFewVRTgJ6kIAcs133SsoOaPKorW3VXBRT/eP/R5MgeFFAgaCExJKj0FE5qYVwtGBb5CPYOM0sa6PsIeXzes9wFEU70tN6+JhIlXczIGApwI0UY1NwSqqE5m8MUJtE2mp/Mhu9PnUwhsJBOpjCrjxHC5+HAB3Pr7+HYJKhWs1AkFB8ARYlq6poa0eTt4Ef4xSKSOiCPFHT6A7t7FFvTs7FeOP8uNVpuGQOYVwTHxBOD7Pgrm4tlozsyLU1C3myI6XVMgOieN+W0TwyeNtTLspfpbe0o3N6j3ZHEyAiAZYZK4CjvYS8tZ6tZpjH1W7lCs7tiXSj4L3kXKxh4IIglo68Eg0lpyjIhIrZ8hDxax44k4DzE4Ryjk+o3tYtwIyxNxTheGRNjU1xUwRizI0U/OqqImo3P0vGla0d8ErR7AO09H/Glhued4PCsS/akfhygWdvnB/H/9jDgswvkir+PZbXerTe0WMr78P19695d5w+/U8j758h/uYE80FaliFlzClff3oSrHScKKe/7K9UX5nobJMXIMdt2KP7EpI5iFTKNkeX45pmV9Pzv8ff/awjfTslUzPU2cyPVdWh+cu0Ps8ynyvBRpNXZADzsOETA0lZkhTHt+oiUljqtiJbWxhxL6iLHDFLtfUa4c1Rb0adN4jdN6TsHkwkQqObMZ2OPfyHXvBua3aBxn7DwreGAxaav/0A5G26qFobFro0sK3YwdjfuW+8gu6kjv6WiJcKC4vW9Wq79Tqjc2qwfsjr1B15WZR1boD+iE3v+LGjeAabWbcKBL12aVU1Y2bEIRz9rT8Y5+uBFzhJ0Dczu0vC1pU04emrXreTk5PgqQXtfkRr79s6pgAKJ4QADxaAzpSzmZuN4fTzeVxugLH5XVxOB6X0z0aWJlv3RrTmhYTc7ExtwZx2/qtDjEXHMpZZp+Ocr1e5Qqg1kE38TMDPnV2PWirb615kAS0qlftVo4MjnB18Wuedt7QCNx5LnsBpHStT03tNzUy93yoq3EkvPqiqXkCUXtiXAx4Yfbl6csxu0YvjYJtrcOHpw8DtL44qh6hKqWcuKgatUoVhIW44WDo4PRBEwtOocBjKGQ4nEyO0Tgl5vMXlowAisAhxMpIcBMzdWwq3oziT2QQ5POXn8Fk3Zoq5p7GZCKxIpGOo3yGJuF4aQfWVLL2GJKJ5CokOVn0FhpHYgARwI/H2w3uwBwFLiGCbAMdRoKV3g9WX+nsj7//lPL8PTgjtU7gHAypdumeDbz+KSTp6o0J7IHWh6pJIEeAHbK6NE3zC6W540Zc+5e0JtWnHArVDaG8h7AQOCCu4walWfOLmgiVb5ab+KOjfFN5uQpBiLHyiizwGF5eW+UVjeZKZSUL3FVZcXUj4E3+6Ujdv3UN/96Ub/Kh+MYQ4+IRTHoA5CJv1EURHl7iqFgB/7/ao7q4uqhMepRb0msjPmab0pDBJpTh8GUpBLzG2BPYapEt8Zi1OL9/gistW1VXkiabRh00d+4UOIyOqkBCnG40Sxo5UnVfMDYmuF9VxQILPF3V5k0CoqMWvnPK2t841pj5jVOkc4ZzsXOmc/fXmV+bXXxlnA080InpfTxBnzBd0N/HTxf28vn9Ps7v683z9kSxIiJYUTBnsCLJYEd2BiyK3knYEUBZxmmOoyuZGZLc4WDWetr6LKtvZ6/FpJFS0ySY+L1QL1KJsCuAHF3mLE9CK/khE6oNtcuYBAMxDxbDDpcvsDanW118boMMkRQnTgA/NFWfLZCs1NZLLpzNr65eyM+7UF9rBBxI28GSU2F1NFpUfT6NxYzxejotFegtA2S+ct7nvPbjY1CO73Y21BezHYoGdp/Oje9w7q+xHM5LYSg7uvV2o98oHC4eLxQA1PRgyVr26JMK5d2mRqXpiX50YeN5KhX7619kSMm+lKxWB/HeAGe+VK5IV9Jp8IgUfNQWl7HP4lxYaUIivDiXhDX3DUSglbSOGwcmxo7vC+zp9fcWCyQSsYyTEh1BJET5uoyjoCJJpDJuR5xCgkdZQL+WUjzSIkWZLUeINsZnPGcMIznAE3vuqsfYryy3RCbK3wP34m/wijkafKR//WO871YVWJddV8Wy/hx7XhuTnoTFc5NiJkpONXf1zjZIvbcmR5NyBYz4PsW6uQqQPVaeNRorkq7BHnOSRaZQsxLDIuSJQnIVmZKdEB7CQWBwWTHuk2BLvKwvXpTZlUDLQ2Fy+Uwry/nWykwKVpi/PwF0oRamSl0UNPH6dppudDbc6+3df/9aZ/2dvkYysbOphdhNpn/O3dncTOwAs7KDg/cd2LCs3rtfC+SZdtDQOHZoGDEqLPJzzmDhiFZVuac+HeJF55WlZsjUVrgmIOex6kOpqcQxKd0rPI6GCIXhMRS2jg3HJMGCGyKC0iCRAwkMQW0UmVOyIz4HjiOkP7PibGBKqNmH6sFbxbXoENky+mr6xlv0P9qxQGpvMKiLp5THYNODBiMwgUHxNFJiEoeN3jSrbPeKrbjchHU9te7pVicIWYPFVFCo5EoDHnTwQrPdsuk7hmp7eMs9Ah65Ip6aa4UcfYuKiCJlaLUbfdPhSJwKjS2jacYOGOt2sDk7EmgcJBTpexQnS80EupiBjR1liDbuKCB4wtY4siQ5wo+Fiz2zYSQwJ2EHPlMLZ9CrEfjMpER0tm5Db1BsICsymSppjeNrMcREGIKBSdxBxyBgKYlYGQwTFxmJQsARSERkZHIc0LAoFfEUqRVq7z1kFCySDA8qYllh8uKTcKUYbDmVRa1rTeGZ1cx3yaEkDzX08VZ2CTi7glGBfmgfDFuMQTJTkxIpHEBe6l/jz7pf4VcB+oYbIA2g8JjeVm9jXsKrAYEqDXoFsxCUvHNHI2lbKdrdmDgRnr+TUEr9BOKpUUUJU67NyFLiNmTjziAUesHvCreU/IlYBr7bENIX8pAHcqW41XHtaqGpniknbzu5I6OOmdzCpDLRzY8ckbiGiWpeVCe31HzzqCMnStHU5HgZlYSUJVPRSVIU+gXpY1rLRJ61Y5MkRMlWDZ+MkGsr9sBB/fMyI+MxDHt3Z11gB1hm8IbgnF8StrrWuuvMeNRSuh/KpSvFxWUPscosnakEqRXy/ROVynRbXldUK41Z6mPaMNcH4AkcELWeadt7tkCYks0UMnNNt8m6F+4FLi1A2h29bNnNwnXwjeuCYgBcX8JrQpmdl4eX1x73A+N1dDBBMkSOLQcx2M2dmC5kZjOFKQVLTUzbLhuIJ3Cgy7dpPgutk9YWRbbCgWtlNIJ8f0AYlKUg8Sc2wxlYPghLwZlAXomlSmkND4/EtrM7vdZ8IvIlGHfiakUT0nsC/Nq7Y3h5WYnO6FxDeCkdHHCWr4mWg8dUdDJjbPuiFJIWxW4TTV8xlUDgg6sE1n7sQpa80wnx8r3gpike9ZxeXdSDUj6o4f3uI8C9/7inT7wucSwRBum2ybaoVlqX9XezTd+AGWg/YR/Yzyz/+3IdvFDq5kYQydWEK8uL6/Jqs/+usIUAFPBINswWc5SFgysWG6EIQ2EuCXs/awJ2pQ5RKUMmMgUTBSMjMiI6B5tLzY6zvo0/9M5qQ9vaoyDVfpxQhsYpcRIqDnFCioagmFVqjOroIQuDEQjRKvJPfFKAfc7PzbjmsQv2Ro0xiboNsZ40DYzlMg38MARyCM70eJcRnpppziczuApGOQh7d7ojsONmr3HrtRVzELX2T6BXCJODZVUv7vG/awJrLsMpnOWt14xbTVyu7xqduub+BssdocOHYC651dHCI1aJTRdrklNWKHl24LB+yT614rFzBL0r1QJuKIb+0YnXL/fNiRPJQR2MhmI1OQQD6xWcBcLVtTzku7vLeODcKjkv/oBIxgObOSzvs95udJh6vblJEYNpupH9LjDMAAMASBiA9Pgl+0S4DZq4BTFxM9LGIUR1lUReAai2wgRfjcF8XAWRU+3apwhyBDCptsprMGlWFIgvwVsQ/EzJsHQDT80yOSSqQoO3sN+Bc8ai/HTgEHRzAOTUCtolBANv9eF00Sr+HEeQByZtUCBbi2UhTVoRvVcodGSYFDaw1TvSTfEMR8UlbpEe5GbI5pCUyW0Sw62SzUaATuiAtdR+oUXqTtH+16OVPHjslDfhU3n3hs81zhNMmXFlbmZbkNtSgG8C0ZaD2hD2NQSCv4BUAffl4GaZgkPIVm5FsjgGxzmNLC4mFlJLCAYtfThd2I+rbUSG77IM75nzmtBG3uiB2MbrqcP4TvE83jHx+FAJhE+V5AbWmiRgJqm8FByAOm6DP7kVEXIM/liMLsY5AT/tDCJKvQEZJXWQydus3ciR2zmgnbTIluTgZlncBpDXU3Ukld8bEqCrNiN/EAcgnlvhsG1BFKkN/C2dYRw0OgS1VN2/EAoJnlUp/1YAgGwIVn0RMOC7FIJ4EbeAkiNIhm19ENUw/GLbbVehctKK/JqHSbPsoKra4CPUjKaQ1Rkyq7hL66uw3m9EKGqjOTRpo6C8JbMhaE9s90cqtBq3pz3hZmxst31VO4Hb/E5x+GfTiK1q3DXx1q4Z7aBMzey/tyHjNjE8aZFW54J4M4ekqGqrxK/pR9ituUm2h4KB5lVWa90QfAPEDNovQEx7sDgAjp1s521A7k7JVaXI1EDo1PrhmehUR/a87/At/Hqj41egFmhxY+1iQNwNgmHQ9v0JgsBCWutJg9sYDrMQdGQrFP7bXMS9OS4iyCrAxvwvOxUDjsFbfZluNcAnviv0ILznR3S/g+RG9ztIvn+EAaxMt8JoAaF9T9chRD27r9+dU250LuawITi62o6mB9vU0ynq/Uvl3d33ogbz8WYbSC6zLcj+dJ1xk3mDevS1A6j/NIAqjKIuZ23r12BbwJYqYYs+EfKjT+E96h/hUb/tIKfjZ3AgllEz4oqbJ6Anc/1EoUd4lsazpSNnBG1T/PJVwv6Cv/JkMj0XbvYCGBkfcibnfawLOIPebSlNnMTPBw3ywUuehfwPp/b9djyOAEYay0o84hlTcZu9SWlBMuYPprHgs5vX/eML/1aR9FqsYpYseqqcWsKlfMz4oyrwZ6Vzuyp0qywq9eViitnIkp+2QamiG2DyRLs5CApWiEKZ9CUThQH8EKY4FqAZxB+lzNzdQyGvqW1qNIDJXSVHK49SgqdMhDGHpoBkQeGDublAz4IOFqr1uQZgyuFGxN6klj20YiarMoBDjdFs/n1caOnBRDZBbbXLuo83Ggdk0sJsMER2NTdbbfg5AGvMkuus0B41RXmjhy+2YrtnS+zxYMu2hkHa5+/5+/6Bf+gf+cf+iX/qn/le/9z3+RfZ/hthKXwvvcNY2NPC+8xzXVzxIXNefOCT87HXPZPb6rQICGnTKnwytacVrDmwA95Fpy5nnfOfbuddcNElPeaHerMsASLV5UfwAQCXx9vaqV7zBTPfJHedvRBJSFcfSzP//DLBvztV8O3BEie+tzm5crATzHRbMqajYP3HuO7unzNTAADo0ncbKQF7CgAAAIAHAL64Oz+5vlwdiesBs43t+ZJNfetigqGaGHlnSaa4BMK4+b3mgupLgi8EF2DL6y2cW7C7LwywurwwufKZbVU9Y5L0QfN36F9qw64W0re1YJ4R4MiHyO1uZA3c49/YMwYJHfA+qYEocE91wFKYrJtFbiVfZi3kHHxTgf0DhsfVPLVWJKsH19KwKT+Fv+gU4klhBmu7lnR/iUqJJIWXJatde7kPEWxF93dyQL4jz4KZ86B4W13/tX0EBWz1LWkNFA39fpLIdSgy2ANcSv1SXuTUX6IaOIl8tJZGeNtoXiqcXPmuL5ltp/Z8uTpjusULQGVStpx1i3nIQ9akPVQSEEGPd+KlW1ktRg5K7pqjP6sFT1hrJM/TAPaiSR4JU9zt21vlRaKvXwqECAhcBsUOdPZ15q73qUiMCnFSECt2dY+r+QcEQ/BF9V3+GmwHbHlZNJgL26W8q7aLQauR0S4YrtW3Si0c3Be6utPkJFbAbJ6Nd0jfCMCRD2EfBnd2MdO6BkhlFyMdDKlPGkifAWC9WgdKs+lL3UgxPJ9l8E54CfXF3eji6lu8gi4m2EN5/PfIi0PrePlRCmlsbrdELT1IoQPpoyhMZWj/Kbw9HcQWDwS183+SrFPjEYimgH1cHexNqIYZJGp4dNkmd/Kl3A5kUNAb+hOZWiQtpSjzPW02P67jH2jlRs6iJVjHccVd+MYgOhEmW32LU+xAWkDHr4IvyF3GINedCD68vUJDIKfgEbFaGGu9PxNbx2XdAWB1J6o7sKN7K0D8XwdTowzBBES8GIAQNvVVBUzGxQTDuaQ1WanhfTAA6FjIgLvzOjSNvE9wAbTbKPnyVH+PdYfZHRBUdwI69Z0M6uBh0KtvqQWHHoJvqjeQV+Eoyi2EfIjAwLJsbtX6jZJ62EYaK0b2LccJtEKGi0AjWCR1G2Asc9BzIjC/+CWgww+AGN36MLem4rkJWHrGA9pdcrnbWU5zzpqlo0G203uds85aVNqlzRVroItV1h0z3KK0FdWTUKhFV/wJBJXPtDHlql0SEYUr92wxQ7e6NwvomPBb871W13dWR9nEJYvWmy6Ol9dvFiRYm9ecdcXwLjZYv3VWz5H84a2xat2wuF1hJGXrHY/XbcO4SyUDm+E5FMNi2ADVkR8Bj+z1a84GctepHuplzuINOGUFeFQ+QB9Z8HW5rumt2ZtD9Tzgsrlh4dbmJRlul9qS2R0Z0+llSYZK3LkG168/7vNaA65D6wrWjfaNVdL6c3Y8XXLZJU31/OaKFCnYsnKLW/N3Nwv4AO84fd7q+tXq6CIj2bx26Rovr3sXZMPavBrWFcM7Gqzfuqlnnn/YN1atuxa3iDE87VvE5DHRVgvNVnSUUtMyaEEz3dOfzRuD45NUC80opHMOBqgXpA5lx+KMogk69dtz8qbf5p21QNn0y+xe//LEeL2Z/TW+gORuJ4PVwzcTHARpksbI5vlWyV1qA2jkAAk30dK0MyBjMcOv7WifLxctDtt3XcuD89/WSTnvmsf2bbZuJepP7tcRZVX6kKJTwmr/9ist276wIvagPEGVGBN7Azv00B1AP7sD+l4O7hEJoYZqUaJwd3eMCz42VvopBMsj3taocN8/+wXMJ/xYwvUpJv7G/n3GdaZKtIDeGpvsdtRl9xpCFtm3NtOwsPnYTNqUTNeYxzfR6Z3gpKe6AE5QBlWjBehnzO+Yx5iX5MPyqIKFybBMLA+r4D/Pf5f/Nf93vpB1lI3gQtyIF+I1glcEF/si/Sixoeu7rn1dEs7bnMgASgpIHekkS8i67te7P+n+qRvnvsh9n/sV92fuiYGzg4XUzp5C3vRQOWvhGW+fcWpoZCimFNJ6etOZP5558Myi+Pfiv4w/Ev+PslPZr5xQUumdbM6wM/wUnvnnu7N+QbmCi+1l+UV16bpgF+pSvUIT/tX6qrqWXBVX823JTX0LvNFvolvBrfLWctPdnBRT7jxv73nilOAE4G89v23iwsTgZN0FKy44PP34ZMdk3+T4ZGKTlVAuzBRuv3Bs08zmDaJFvWt6t/Xu6n029e3Ufak/pv61+czm3s2jm5fB/8TW9mPt0fZl9gb7XfYH7GftL9h/5YBz4DjkOEw7nHa45HDH4ZUjwhHnyHbMdlQ66h3bHQcdpx1PO151vO+EdKI6zTj9LPtPbu2sd25y3uNi5RLlkuVS4nLcZdHlC9dw1yRXsivfVeZa5mpwPea65HrLLc6N4JbqluNW4rbkdsvd9R5UW9WF6jnqVHWuWq2uV3+rPqpu03A1TVpG+6B2Rpele0N3XU/o1+vfGGSGBiPPmG1syViYsT+jOeNsxkDGREbiUpZJasowuU1lprmmNJPUVG6qN71govQxkwfJgRRBKiEGSAekF7IfcgSyALkGuQ95A/k581+zFdQC6guNgCZBiVAeVArVQBugO6H7oDPQRehN6ONXf+310/od8XvJt2WN5ZGVZ620Cq2l1h9sm+wwu9dOsfPsuXalvdputP/g0DncjkqH0KFw6B3tjvccvzqaHZ2OXseQE3EqnG6n10l3ip1qZ4PzA+cB52/OXueEM309XEaX21XrEroKXFrXpKvddc01cwMn25F9V3Zr9unsnuyR7OiNuFvo1rud7hJ3nVvoLnDvcrfn8HLuzbmWE7+5Nnc+j8hz523J03vwnlzPMRajXaL9o3Oia6MvxQTFpMUchNvClfAJhC3CDhGNICHKEeOIS4gniG8QvxdZxJrHeseGxSbGkmJ5sXmxpbH1sd2xo7FHYm/Gvon9vdg6ThZ3N+5l3Pdxf5SsjefHe8QHxMfEE+NF8YXxU/Gn4hfjLzd084QmBCcYE2YSnicmJA4knkv8Psk9KT+g+PuBbavf58RVAeo+1WOqF1RvqT5Rd2LnYLsr+ismK45UiCpk9BrtotPtz9QfY8+xT9SEOa/0MCf5r/k/7tlZJWO/lfvR3mPVVe43ea/y3ux9fO+nD56NohW8AQ7IBQh4AcBhtD7pgkP+lglLsj6pIoUyEdbrwVACfpIhBxyJOgWDSAgh08C8+WH881tIXK/mJYKe1ou/1C3XNFiIkT7jXtyspyEkTJQxBVhxS4XeTZKEmoi7+/+oTeUQXtJsrYEEVrmG1gWGKsQRB5BMW1hgLjR7J01QKZ38azJiJiuzrcQcXw0ew7iGKGApvYfWU+ZcBoRIBWp8Mhlz2ZUlExCIkupHQPIdxASAYVdBgcAkmhSBFrn7uRwAkUmD6acZiin+ELfhlbxOFcnYhOUsEb/7+nufhGeXcGkdEJ8iefEYx2ocU9C2KlwkDrzkO1G9+tKVKObEbNCojNSzYIEmvQJwrJexGd9drDxzsVE/LIG7zVaPJxxYbujPCt7js9vdpnm85X9b9z7CrwicV/D3OtbVKinnZ/49DeelkvgKgQIbzlcn0lRlnPelPok/cnPYUYya/ZkhSX01YCv1oG+Be6G7gUN5xLPIXVZxoo4CGQNv8E0I3MSx02qQd936TC/zLSbUeHZ/3gnZPiqJp5JlKlk0xaK4Ch7m42ME02WT6ih43NCtg6UDGwf5RqGoIeUi3PaBs9AP2SWshB2ZjIkmW9ns2dMcAseD3u+5NxX7JqI6BYuqOsHtqnO4XfcGSlNwS4JFUiD6e4o7GEjK6bOtZkAWqy6bx8G9A77N9IRjrGfghYHypiQ8GnfONyXgugqjWU+TPM3iGIbpuY8xCMFrczw+z0t5P8JsURxeciYDx4Gtj2BNN4DLbmRP07bTtfotZrGhZ7MUrAM216BQNbs1nOTjdpXKqR5qssuTaphE2KCiyGUhFGDuE4JPy9thIeRBbZ5qiKIajNfdAqWHWCMFYTIRHBROTTs2ed69Ef+kmP2EzLquupCLWBBFUr3HWYohZuupvaSORaQrMy1//SsNiZmzqj1LgWWmH/QB459hfpeHLtt3JTIv8fX5PI9YaVHoiY8j5RFPVnXJgIfknSRx2syD8Pw13Td9JPZ/5u4rNz9JIAdfQgLt6omaPQ0nhXv3xdOV1r5c8E/Nq5BllTMm3j+ZKO8nDMX7O7OKt4q5Zc0rrWbxlPQs+zjL2oRxu9qsnGEapYGLJB0Ebs6SuOfk9KHpuw2M3ac/27tzqlBuaPsW4j+tl2npaglr4a6MdazFUcaeO9NAkgzq+H40oNgddr6vgGTuKW0qX26e78LstIeZ0wYRbOzPfY1GMwjEXevql+0Bb69IU+77tiD7D6EVOs7oZceiAcywJKNojmx1vzEqUdrbU8dVARem5dFZ3thhQ9Wp1JTwBrtPKhWqgdl0w2lRHCAbOTO1QjZrei7P4OLeitalKK+C9KQfHtl7Lhz+knFMgjUZiZqsOQPTrXKmulE98LaXWOX3AXt3du18cuP/0C485QPfFbI9/9FNDFJyAzwnVBeentzxB3Mo2ZeGPm87JFPA0nqWo9dxlxzVrZCJQASh0V0dXNPY0BeC7t30wBo9wik5bzej4f2O4fH2MVd4/2BivFqmhncTo6octhrNY+6u+m0NWKAgLSJlpUEHufGBgs1om9wEryTio2QwSK4KITWf1yADrSaWddBIcCTJjJXjM2dN8hGKOdvt2Ogj2GJLfr5+OYMSNjSWD/gQm8ReoABqnBEXnYE4SZ9bSdyUKExt8ux1VDzfEtxzj6BuVtRwsu/adps2LBpETDUyRlce+JDq2x/mrN00rpTUX8XHrpo6DvryXELb//3I4++/0TwE/J4ooUK1xwVRAt/URg5ESZTmqH91pcsj92m/leV1JCIGP0taQaQiVESNC1HA35S8FtQFIR1Y8Cp6CAR6QKJjUc++k50GoKtXxcDBfhtb0XCRoaBC414+GLgqTKZVIlJeeqo+HQAQvIbDE/D6IqDH4yXBmQdCq1woSeDnN67ihfirX6Pb4lTK0ZS4UmdzOa7c+LZGb6+J1Iaqq/w4gBuSuZ7JEFdgckIuF3xKWJnMjkrZ8jIbysBXLlMcu6scNI4FBg1Q45PerRFS4D8MuETU1RAvrgk56EOTzc4rqJQrZSPGDGvurEqil1Zae660I8vmi4VqhK9xpT0o2gZAgOyPFEsNKURoTcooykUlfCOZl0nkGLIG11HErjIHlTuxgde64lCbW0piULIn4aF+uy7XLEe6NKiaa4AEjCOUPYxm/V4Odm5SCvJpQd9uIdhh85788aq+X8NyWHEIlsfT8ObeeCiYrbEgKtsIVFSoOL9YpHB2H/e57InB4kNJ0LKKiqJqNMPNyyGin9GWm5lQCH5xMu5Js/CaihMoO1REBC+fsXgr3FZHWUkb/evp3/3QZvSXW/aaFCuq8hPm+8gd+YE3ZhdDAM4jMxIcuOJbya0dxSsGJTGH2Y19PcgZnRJPaevTAfsaCbCxypl83v+Yqsr9ViN5FgxXHZ4PN8HajGG8wVIGoyMsjRowlGY3lS7EVoTjjg8U87P0wUkJFkWD6d9T7FgTWCSoOEs9V/guQ8aS85d7+V6EmtoMOpV0FpYUaaln3qgjUnr4bb4+MSxKrygdj1zy7dEfmQJiH28ImwPCP+DC6N5ErQhcmSTlk0rFeuDxCghVr9r6ItBTcwoyrHJmhpfHJHiPMTreTxkB7/+Za7zfMXMaLXHh4cZyxpYGzNRvGJoztWteb7Udj+XSsm8zrE0YDVy0UKxUxHricIXos3bsq48GYJfXZtlcA5YygCBENrJoRdZHSt6o0UolO5RVkcZw0X1QoXBc3E8a/IcSDsLQyyXHnEyIJEUNd1e5Yu3vO0wT/q8JEkWRoLNmDbUUyszsPA6USpFH7qoHt8duMrU4DZOp2OL/ra+vc2K9DQ7wQJONF+PDQncVUm+/TE+vmN4pwHerL67DMBfdYw1QPkjh8YwuGddG9Ord9L2xQau21Di/1wHNRc3g6c0O7xroYSw/YvYGKgGnUg761lm8znIijYGmu2dwvgUx2HDvpBpkkIcWmVMSafuc2VJow4D4iv0k5UCTEoVPAjqWn4RFsB52fmFbb3v0UuzCT9Vx5/6shbzbq0H0YSf/8otxave5GBxcr4mpGYf/el/lQ5abKdg6otUKvaDdH4qhrlhjeJYkYYhi2T1X/dUF3VIzuBqjtcAbdBMWHzSWbq58wjZCkgiws2ZVEIig9jjYdlP058zY4KNSUgX0bIVH9OSAcghdoPX6RBPhcrHw0eDEbnthgwN5VCeqftsAd8PTNuYeXu5ve0NdGj3VlkMa5jZEFZTRhjsWtR3WGZdY6AHfMR0k1OosUdvP5g1vYmdrgU43IEgsi+OOAyJKW3pSzKCjpNQrzJQQkwkjMCz7UZfAL1Tr8MsuwymbvS2dbyF+lpPTvdqtAvX5HttcFvqrGKxq2MvGDHNjXXXS5lT8j54p4yuLQlWCvOxU2akWDQvZ3GFpmxi4+ZgUJZorA43TtJw8Cxad6g7HUMOKpzzQF640siYsB11krg72zag5X39yIKe8fBE3wucZWYDym81HguOrccWjPl55AjhI2I5jpDE/TLvPsPz4/5m7UQBy7r8U1PH7K1fA8qaAIlpVdfrLkIuqTUB2rSewD2rCnMOZlpmALrVvPAwDshAEpnsa3rjnHRy7siOshpmUkPnZN0IrPoInx/P0jQdunMw1bbXGsKQWJJ6GLlkEgXI0PsS9jEOxsDjJxbFszsfUcFAifuiVguvXErVVYSjQptpnPCRnLvG+yIzyHmCCvKPMbF43M/0bZh9jxnhvMGWV2VZEPbr2ZS8MWZsw4kY/gx1lv2UAKGe8pDR1jQvr/YvOykXPodYrGIrkl6rISgu0ro6vrLNi8FGktVONf8lGSk++3KJZzzynxqmQxYe/9pBYNoALzSVO56wKtEfuk3Hfnbg3jtpYCHdqu7sHWnJ9esjjtDvwEOa2j/flG9Oda9HacKfRsBKbQdKLSs9wLxCh4Hx9dZgGWZF8+5jH4lRZGbWA5dL6cpfUMKysfY9GU3pBqsXdkYlODf5lFakiSuqx2hOKZwUo2rqW9z9WBWJHCotLytvVGGCiZewbag1LobA9WE1TmKyjdEvy8wJvFTjXfIuo7BYGreGAN7e53RZW5h5OyvxlZXxrPf06ncBUvmmohBm627qHGVoNG3PSlUVBhBUvUBsdAYdFfgaECGB5WndQAEA9bDjBKGuk0PIS09yhhbqmSJfBuqFb2KRUopanZx095LLYT9eH6rtVJFKBKBw5fpMPNToh1FpCIatOGH/1mUjWUSLuIbdZu1w83+gqnmJGbgzn1/DiwJecypUxDK+4ZFbumT1oJyTkbHv3PWXz7N5UkYWQhs7dOspxcWTRX4m43RULrdMx1kq1jRzedZ3xpIjONYcdO2kjaVqgu68ZCHDCcSUiAO43A8RoZLwkOuerrIvdjw8Qc/6sUkGwcPhA7gSkVrEXJDgNfLDFgDC+G/+wh3o+6C94xfZTuzHAcY5jLNYiR4Aur8bnY2d10zvav6YJaEWntg+CBRISy3NB66P06Q7TzeiZQnCq6Hue7jAFlR7rHuZ6kzugFFYvLVcu32AVZZtctfoR888NmG7ioSz3mQWoRQ+HYUQ8bv+HO5VsqlAOoR238islVTGFmOZmCZCraRXJTtJtqUxw0XuD/RRsbCGFCDjRG8pEXA4A3qZPf2geOLw1RhykVe/PM4IPbzWPBPcNp+LYauSgU8bMJnUYHxt0AW9G2iweSxearKBhNzyTKRnrcsRpOGrDBgLCFts4Ztg4bihJwy6bLenIKTkjpwtk1CjpxvidPFqVV2Bof6FIx5ZmqKt5CJLiy7bTbUQikq6EbkC6suCFsH6cNSNbipFUX0U7Y55yhIW8UlzHnbexbtBrVUw/jCXmiqm0f81unIb2pbqWiM827/qLY4U7aEhoRvdKxdDOlRwk5HBBevFLpClgr1kRXnJZprynZw8pf5BBGTjve1TY7kyKSjf4qqCUCNgCKZc9cETi946uLvtp/8gU84one54vgyDG69TtoVVWdKHV5kF9KF6XRS4LeSM+FByugWCuVc78x9vP3IBUwRGKOvxgOh8KC5q4Oqyc4TXDpll00SeJQuWKMcz4GzBjjcrhN/g3WT7asYTSiRw3lv9gSCyCIcu0OK89O+BYYDTcZqeAG0mlWM+JyAWExsIZEiOd71yy1YdjkhQXndlmOU6b8Ozp8VybJ0bAjHMRJFHJhRwuVK6nZuVxbUfflYLmZ29UTedsyxV5IzxZhTJjVUjyOT+MzDBOD5fqd7AD3heeP8yaN1thWY5OfVTFDw8CcLzptiHEHzfg9+HeGK8vI6siYkxIcc9aD/HFYrO4pYhtjsYM4VzXmCSD6yGWNB0MdtgtpTExjy5LzraelHNePRFedmO6aE9cxE4K2sNG2v8qGYkk4H8uoqg0zzfkUpNcPuc3Gm94ILivuLmJp7RHNjJ7MNve91Ebtm1R1Jg9SkQrffSTgg4V6n8XHb7SO28N3p+PSe9HipxA+X0w6uejcYB/w5S80VewGB5wZPl/ynXA6HYvs3xqMzqO0KjttCtYbV+xLQ/DZNFibNnhIDoJrRJM6Nwe28p+QzOCINhM1cCEBi/8X3lSNKQVcLS2N0XNFVFbUfAKsjFz9w2i2boPrtJm5WoEqJ/tjCThr+26dkA41vHfbbUcSGY4KqJVI082TUcqw2w/c4JT8hrZUjUSaisrDviwZfsgeHqQCDWHZgxW3k+tTL+6j0fzB/tdXkFN/8DZbEzS8NcJQD261QSyxhCxMvZiONYO4Seti515Wayx7GIx845eLA1m5TozPwmNV6NwpBZTFMOQSeFkGZRULggyIh1Mnnny4hFNlQ8eMrxV98C8jfKnqZLpzAUleqqkbc1q4h+BrvSwYQ0Hs0jlzHxZ00/3r884vjxdDYtAgBwMw/s5YXpqGHdPy2ghmWuNApw+AncIxSoOipMmRsxHasXNRQnmJyefFhxhDfBgPj44UjQgh8WwudWSlHbCEhU1VKt9W58lN6tCcSzTrw6GXcFsR4pj7m4szQk0F4R+yCwBu17RUGnbY9MQdVV/iAqGf6M/FT3SPe+nviCcRVw6bYndZTbvu/TrUle5yrAmfUMTY9tFVyYHqybxKljaeuTJoelYTaaWNjJ59ASnZbHZgcaxu/P9k+Dh/grTGVi4vQDZe2R/VF3eC0thbdIaVuBqlpMhoZHGUmq+IXuN4xgeypxVmZtmH6wpYiuoSyNDLFyRWMRiiJRIhM/pQHkxlTaZlvz2oqIpk46lgoVnIL1ktdt2Aw/j0ls/wjd2VktA84g5qNNsQdRz3P3OLvkIcDm6Q5O9fhJrnD0wDVxqcmGHKcwzuHRPzWK2joMoTa6Lw9tYNM+6sEnOe4CR8l5ghnl/ZRZUrrEa2OMcXvbLOmsTxui6ao2+ytJGciiFSvnGV3ryT74eM37CRWMG+1VDQtPFxXyTdhXVnziyI95ONvDSgv4hele1YLIpTmEUGi/uOecRkyyP91HA+660P8dCLggBCV+JYxZHJ+O58KUpJClGusKVE6pLjR1+NOyEhnIFPV2Bk+ZIw1gh1uefk6UZD1cjeuZoWeYjk72ZbHgUI+V5H3YVsxw+Iap7oDl3dogTvpUXpub+7nzVuZfZhglotNKUkUHXvoZg4hwKVJR6b541HauL6QUXYd4f9r6JWm8sRcIxf0gNI9HHe6W7QwcZbNRLtXVdfufJd+p0aqfbYjkglmCmUuvT6daeI+PNZbEzt3XYKpHB5C2fci3OiMt2hmoRSjjsYq4jd2xkMvQEp4mfs6wA+k3b4Sn05dNoX4txgpexqpbmU4KORxOB4PDN8kY7IRfmh+VnAnOtq7m51WgL+rzt7nD0rA1uCy8kT6fDEAJSoxYfp2BRcUPAsIUN8olPonQu72Yi5uARUMWM0VHxPtfCDUjwCiX8JowmI1AJTDECrMyHHFXEunZTksCY5ckLsP1/KxCZoW4/mhDofHrQebVe+C71TXElvTqhH2KguduX8l3Dnaj+RxOD7PCknLeYEfOeZAjeBHOB9xJTyvs4I2xEAJtiJ7peY9MELPLPt+lNwHcz8Uh2maa14reghax5M9n73RWe3jKChFo3hIHbEoxDfewU65ZpX4CCvnG8y3IeHxhDurBU1GZTPsCwwfDUTb1dxrIFW/RZwO2ivo6CBXLLop+UqzgVJEJ2wI8OmfWPmoSxVCCL4a5ZCEQja0Jqnnt4a3p9v+btFITcoTaarXb3PeDIx0txGWNCvqhF/bXQRlpsDyNvbW7y+cKNQQZvgYfXyJ7962QZE5I7nAE6QbJ0/bdgSY9Ldz1uDbEuAoY2lvJ6WmVaebM9hta2HgxgBTwVsr84+MLlcPjrI7FhfxjHfF7cawz6pH+RmPaeRI/75eHQKRsBrklOD1Y7okCWT6fZVsirVQQNF9ruM+5dEr+6J249rhahqwlptn4JIuVK6JSyqeBgUc/OJ6qVqE66aa+M1qs16uLZG1goecEYlx01mVvHAucCYqJIipzW7qSacbP1Y4HJdpilXJkCy/emsHFzTkuDBBR9cVU+8Yw6BqIfPiV4D9wZJWG4J2cUjYKkAGEt+9JtmOxRYA3vPKKaKVyVwpoE1myPFWUqWOPFHiuEtXJehHHQnQVIkA5W/B1qYE2bwdeNhwzLwTrwUk2D6TgQvOAlRy7AqMRsFhuLd2TaxNsKNgu88L9zUuFYV2CWzUnswoEiaoY6dXmbEdWxy5yOWl9SX36db1WMc/2Zc1dwMF3o7mFqK7DJu02WNAJahS87fFl7kJiY4X/DPDf6NWupSQ3jC8ODR3MZNoXj8kb6ShomehAE8Z8+SD1ZI0br+sHKGT7vAHOV9y+mtnKLFQtP1rllf95qbcKoG422cZK72sQbiTEQHWLMVGeapX0qwFi+F0ZgMTwYsuRi+91XaMGwrVCYdjEyIUCLNaYFbQW4fGX2CG5u15wsgNvBw5VamAzQmMSWoG2HAS+Qp0ad85KgWgniYHOP5e052rDFej2zW7n87TBGYwYu2zcGM5dCpFzJJB/9rfnKxRrOXMPS0n28nUi4drFez+ywhssLyEa1MSBBq7zN23J440WpVN6ZcJ2gaKTLcOMdQUwgoAqI0OPxZFS+QMipT8BajbQoVABufxhf2O+2bGZZlFCtAb92Ge65YCuV4a3KPqLHSqf7HKYpkntIEd445vDnU29V9f8F1sD9RGcvO6RWf2RtOSuYm58Oilt9yfxAcuOwzTGTuZ5YKcVf02o5YiBX9kKkiGXpjyv+eSXJxquD/6u0frdRyUYwnlyUsymxKHp3yms3O7AE3WhilSuvWqxqFCt6tsm49wx+qj4Y1Pf5emY8M9iOY14uM4IzPbtultgul4Ci5a/sitoa7DUNw2S5Xk2o2JwcE8VQx8bqAMGJjanRlH19uYiT15kdsRcUlHmPG9iYP3yhIt4QLC4QdlK/VJ37F2yG3QbbU5gmlguf0nUL+UZsojBHAhcIu82PtSkzB1HtC0taE3qgk4NX1nzOwVc4w6mjGxMIoYoMVIVKNldoNqY9BddwYdcidLc/OlSwueK3zjVxDo7tRdyLNTA4VHjPc7XmBmdJfVQyvNzkZYdTGleSLmnVxAzloM1FyxiIisNPlNLCGWP1xFQCOp2qogKuGAMjH6ceQsycV8xhxwo9Pljcs/EuXw9fpxKHvUCZXhPEcUmS1lPdTeLckantxlxLRNDhLdrqY9UgvNLag1+U9IMR1+o1JQ8JNms8uK594GOLgguz6OSH6SVTpIxK2XyAnkGv04CiDuQ2jpCaxI2QkLLSkwWS2c1EqD/3EE1TWhQA9WS5i3CY0oIC1NZ8k4w8L9dpaehT/2RPEn+zs9tsn1CIFgrBZ1kpURbCNdyWExLMJn81xexPfTVp2Z1um9Xw7pPNNO9TTIZRNXUgs7B5NeqNV4FOgsETpDRIVYaFozpJ4qif8DN4PGeTpVG3Z4QhSpiQN6qE+XCPntlVU+2JBq/wpqDb8EiWJNnz5pMkkiUTOZWxnnC5bpopkvdz61GFAZ7WeYLVcqzEhuT0OSb4EgHVyKIEkqtEKGvfnlkwlwg1E/6W2ocq4beiWNOXaJGyZCUwaKlWqHwtFmogx0ESxVokoq/nIGJiZYVR3+eDXydQRMPSn5JNFXLUsscd9xR750mpJ2zTz3XWKmfUvBgz2cxVmkXX96DQ+VQoK5oKPJjA38IWhY0Y0ID9Z8s8l+udUZcXHaS5eOV//HBCkvuMY6xQCE2LaeSXURXq96tMerVOKVntVSNipI6iKBLDQNHvlkhSNOQMCWzfDPwNC3kVHstFdZwtZAN3HK9MQuS/nrEuH7Oe9G3+/pkikyrHxEr/4j/9jXtwpg1HaqhY8xpcS7oHzDxsleao3R7Xdt8njdipOSXNq1Z3jy2Vm894GG5QElv8LFRXNXDiTyFfNKCU7ZfpOGGu3Z41qoJoP1+mYFZzjKpONVoZ7Lo6LNRYXLXqDV+EgjJhjySKZDwUisWSDWi1xT4cdcdrJdcdFnFiRc/CrOoo5P42qT34kvD+0aSgMJwl5+1gFJXQirjHPVrV/Xeognn/p4jO8M2mijjXfg94K27mufg9+9zuipxOuhKdq4sOqoi/gq1wpPVmH/e92P/q4cySiUCK/9NwHzT0M4yhvnCKec5s8avg2m9YN2jGMl2Z/XtQLSjIt794mcNiXbimMFKwJQpZOLLy7wR3vmw/QSjnqNrId59e5/7UeJvFCizXJh593WADrIKEQrTkbQCo4/EA1WUzea73Rj1+3wDJxr3/KbU3TFYJDrgol3xNLVRYrX/7uM+UD8ZirvfFBKOT7jzFu9hnzilQhW32ejxZamlWQf61vWjjDGfoR9EXryTAH13B9CqUkBASt7sZAdGTq+X9XpRBis9jMSpWdY3AiUyHQ/YMIlpn3cPwaOnkSWq1BkF4lHq6sKYZfaMQeLojaCWPLqyCSr0VwrE9rqUUsEY969CPJvX6ecpjs94zpad/1HO70wld4sz9B85X2sz1FwmFgjgKQIggECIoDNdVJGK3vmWneABv0ZyEN8ZIlUIFww2aNImf6tptHMKt1cP9p+rKZ6AAvASV7W39iiHKOudKuuYQxcx4SxHscEinBoGjqPS2K+30VGMks9DXWNPZjiiqumcLordz6LDl11m6iszlQObZvfRh1ec4fWGxGZPK2QYYpNILCgvz9OypdMrAH/n89mPsgeVgC8JwO+zO53Fdi+fZKr3SRRmyi4rmxyjgX+2KysTLDxZ4ZPFut9VTqhbXwZS99MzGKw56JSDyrcm+6bzrgJAcCiF5OBclQqHJug0977rLEAEODl9W1lzfVL61gBP7BNl7WEnBxVHiXnwpU0YOBXHm8qTMRysCAW2uKlY5RcmS7/ZvBTH7cWNEf3h40x0jiQNxJnIiacuR45sz8lTbBQAluvDxQ8G5xwprJFbhlZmbmwsrjtksInhM8ujzFqFF1f2Wz9M3oLGtpkBrCjvh5ZeOjcv9eyOj8CW+Wd+XvDCrMMqz8/mdWahxX/3XRHYhrIBtLxk7n99sTaRdIJR4iWZZrXb7/bQLhxLghlnz8ZbMavOlDFh+by8tXWk/XJcq2hwfcFWcOXg1eC1i20fw9gUTOd/P213t86N0tC16GDjPPnecPokGn47Uv7btJhMY8Nx2M+PxRwFFNLIXFH2YrTd+NQ96rbAONS0FcKrVmYUek1GKBAphq0Et2TmZmjdZqqqHZZYcsTi8a0fQcSPSWeziHXjh4peFQt9gH4kk7FNIMorrozOECaTZ55wvV4LQau/QxrFJaZieduet/oQrFM4Wo/6yyq/8dhok0XKst9+1jINUhSXbOY6PUoKzJCkbcJrcDT3Edzcf/uLvJWGecZtyzeedhn+eBFYbiFOeE7o8XTsT1jRtQafQfmiaTWzmysV1S5btbrd+1sfsvtLSrSvcCtvMvF6lMGKqvo6rXekrwZK+V24EkdbfONZDBQZLoNoLJQmnw4J+HH3xl3czT63ON/z+z44SC+KBaWxxL/hwlytXjlsuMcZRjSw2F4R/TMGDTC72cGSZwnHWFWcvmbNuLHPo5C8gXOrfZTRyw5xl+p/i9IgsL7e5wmhdxxYh08eRgX/fwtymPL2o+X2GYFTMKJMguAArOobqjawoL/YTjZDshxhbXQ2CxTVvd5ljYk/g6x+qCytvGc8PabKsYdx8AJyzGwIOWTgJEv+n0pMCUDh4+q+K07BwZckFWAfBk1MRlSaCECIYhCikfh39sWDMOuZ0/ptBg3Hq5yML2EhBcT8HqxO8chaO5CJIGowFES+2vmvuzGOorhAdvXGX4UEBinhFqU1OJ3gUnZtrAgeLRB5vUjDhNmHUYOy6O0InrgBrJTFNdimVEnuFubDGrDKZBK6ywrKzcqK0+UTwiWITFkoYTpCq68ZTefZ+uwIWPnzaBw1/jGiMs9aUXIRTnJenwhvj2Eq9zmh3+4RCQXqztW/IscrBxyArf202+3d37OrmiioLtWgojI3LVbiHKuZK2CWOYhgL+oaMpyxHXEvA4ZZCX9s6UW/kJPOYZy0U5GNgYuos3Akv2My6XOdqM16RWXvIrjoogXSv60b3SXpLnp0yFFmzmcyLjcTV0PpsBZhOIinSlNnUHIX6IuZDmBASM0KwiuOFfkc5au2JydS5+iyZuQ9FYXpqliMVMgggkjW21Eg+zHLy+uweNZwsbx/XHWE6PjawR7Rbc+z8G75XgJ7MrsrQ0NDPNgveZ6+pPmA19EGvt8ZBvbUQVKvHlxIsSdEibZSDnKUy00+WHxf3rjW0YYhq3K0T5B6Ew6QR5khksKRNCMaTnAwjuGIZgy7A1u4Gvgs2e4jZ8pYuVJpeKxNJXA7nKSHoCsk+TGDIyee3dXVrgWnXo+xL0cMvbvx8T3shuwE9VBMENdrMdfhZ5Jc3thoqNYbd2eMyuDr8ZDSOur9cM97kiZ8VyLy96Z5/Y9DL6Fpz/ULDFxVeldJoq7Jri8GVR8CrpaYg4uFpYTDXeEOJNpNWHUZf0s7S9QZvDOdUsRps9h5mlYrOr7SqoSI7P7C2op8MULZuIahTFIg4fRyzjxvsa/P5iBxifh4u9kFobnnbiG8l2ML8RdrNCgNpZd7vEKqS5uk2SoXalEBhA1lm5rC7uNkhMo3RJCO9b3gUXjdxms0JeMTjEPfNt9QoMTMEJ+8gvWuVerVajtp0Ql2myrVFXphnhf5eoppyCRjbWZcEtTYQxZ42C8iL4Ai1gqBx6cTUUoigaPFucMkjj9Il/lYboy9W7IJVf1p6Yi09HJtMss/2nkBIJdT2B0JODifW1kbcwqCIg3lpDfZyqJrHDq7bxaSMT0hMMHw3i07rmOEgVn3chWXLWoljvabKaNpm/OACOIzebpFTsJF1zbgQ0eeqh7zsXOzPKaGPzhaMXEcn4aCaL3fMC0KrZY4PjkKq61YKUioHKaiPjJWxUHNI+1tMBhPijD2VShuFuHPOPS4aDf6kdnQg4UkfzjdkYGG904RNwhPwSaZ8CJEqg+msOTl2KcZLMCHTGua32Xx1EaxlhOlm4bEpZMh/uAirmmQkxxc2nmRCR2VL6zmOgE6JRCRZ50r1eEvBFdJI42qULWTQaKfBcvWkDDzzt2ei2DPGY2NMFsMz4k5jekyfu7pIKfuCnrlq1E4v049xNtpA0UDozp9ftv4/MWiw8dLYVZZAyHozxKw8rhGJe9YzljynbDOHUk3CbDtuFRmmYo6t6RLXchCzwqJEbTX2SiTiLIpItVqdRrXVFadWpzqtSmO0a4n9FAsH9264REak42zZDMuNZRsyc25VKLioxhmmjo7W1OHmhvvgGYfqk3FJe/muvGaQakRb4jgnVumOKx2KXzaY5uT8Xmi39kbzaCinEHGTaZfJdGpjj1xu716a10OQ/G95tOGNy3ZXEwbaiSjHLMOSgALpMlNWOwz+eiCe0tGb6hUX71nJpPttWlaZ/IoLVcPB9Op+kX7IaLRiPsNSuHmAcfSEeWGTg6Hn5ZdcHlpbVAe8Kw6cGHUuqN+cPXjfs4Yf5CSEnfFVbJCFr8qTfVXdw4PRRh12OZvkEYjh06Q/mG0mhB94VKNJxvvWpcHQojtcGvZ6fDWohpUZQ3JrRFlh2eIkbV3CetI9nqsKm+ElC/bTPf0F+HusbUogN7WAtQygs8yMhH/OIeYfEswk04ByOBF+a4aQ5wrThKBPn4ASW9unyJaJQJDOkpYAQkAFtmnV5c4B8GSPr2t8qE/Dgjsp2NACLehvGlep/D6o0SwwmhaoxaBfHHlRTp1585L2u7euzOd/lWRTU88e+UWnW8dfIICIIsHthIDR7yeV0hq+NjqH7yht42uh8/mO03y+y7ToAjumKAOK/dC7Qzo0TwbAANs7YPwCcK7T0IEiQYbx4yimFfl8vRcHwcqBjtArA5J7unIA/m+UtBS20k37i4V+6BX+tywUop+sRbi1oh4QwDY23eGRXVgDm7P2m/W3NJNWGkom/0LRRHAwXrqwI26v+XpXJr2+74duI4HOS74U67dP/N4ciry47MaCcJvymN7PJGhOSkdpy9wOHcf1btWYtMxBq16/5aqmLRu7P/hAo+CGzf8Y1erMosFuQYfaGFstQpobyaFJNxiZ6lm4l/ZTY1+OneK5XXlaXwXJSIfnguuWBaFjmpQr7ux5v3zt86WKUmkv+tmSe7D70L9+2fgfSo/st32bLTZuqHe5yHPLIcNXPWv6n+/KIur7ttqf2zg68G2vVceLmqATmfpSFo3yEJaqePEvoebmKdRbfclak6YjVNfoFf/roVvp6jHUXNlNzh/PmKUhkU7HB6pSI+qdNeLnu/Ky123aFEuw3fGu3A/ruWMluTbP/f3LWsSz5C1p5ZU6dnS8bQev7lt0vzctikQHvw5EZt84RcFlFy+bttCDVbTZIgF25XBhpCvIq5DaE2ANc1EK7WzbdhV3oMWNJoFupaUpkNrTruA6fxNa5zph4TSPL0xL+S7Rst8MPWyne+u7GLpvQb06iWkoHUKoE5Cz7nHxmoRpymqEiwOztK62HirpYGvnRyMUo3pn5vZE5Cory1ZCb/QvVEFzRjKQllnBZ+JpCjePZmj8EwHDuwJzrg2afPNoulT946uyxYhJYq1ci1mMwrFjiqXwj3NyhpHZDpQ3n4lUES54ooiMRIPzLjQ0tZwZ0urm5HC0uWTKdJjFPgwV0bdbxZlKDoGNSGewujLEC6fpSFxXzFxqbYmMPnGemjY7mrJSlaHRbJyxpquRa/rHreVbysR8JkNB8+LS6fFiFqyjCC1ZZBm66bRoWQjDoJK7PYpRBY0iSBVK5ptZjhhlgVQFzDM5ISAkGWOTHjH9DdXJcg0xB/ViqetwYYQm48IRQ3XTADdYB43GPe6Ns+H689utc2sSGOCm6JUojIeKFMRjxZdBFyn4o70oT4rlSp9EWQyVO/tj/zTvne+cgmEZnYpXUD06AgCxYJkP0zTXH+M7MGs9B7F/aC9OlJaCuyaGGo3JmFVFz2U7JohoQXkzhVyZ+4AF3VVSnrgqIKGCqWdFf2XYgOy0mMG2DWiDS0JL+pgRGRKZ5atMy0wtf0wxrqyZznbyAraBz2Cs8Ss4gtlFTozx5LwEs0xzn2FFs0nb6Sr8DbYyq6P6v/2zOOKq4aU526GpUmNfPvdcrq7wlDpX5Jgebi+KRvipFFKsKV52wm2etfQTBdZ1svjucK4Xh0YU/iTyp6gAHllo20F2M5DwqB7xxkjBorASZm1Cdz3+mawSgPRcvcBpW+au5lDIC1LC7mXUV7zAIhPwaf6wdw4/rt+k+SjtMmWlxnWamKBoqlBjWQSHVtYZtkKTgb+eAEfQh9q6bLIzdcT6PNWr34S7QrE6xeDHVTqNovr8WSFXP9GxafEvRPLgbZ0T5waZ9x9RaIrc6CWHaQ8dK1Lmo11ewjbLTQjXUFLM9fjYfrdmMqHdhac6fcQI5znDSa35FpgDyzSHrEKTdryIy1bd3qn4J914FGvDGg60til6rjkAGnjXNxA3gec4jp/cFr6YA26nZtmy5USJHD7PGelOeig1Ys4Uzg2zx+0HJ7is62eHAdzgssHEEnQiryYJskEWRRPf8jluibgC6WBrTbObkzkEkqZ8u2iIktLEnp+zz+V0uj49ygInrjK7xxOBv9bhwVofzsAp3MfBaAqgAqEPCfP0A1mQkxG6NHxGXGF1fefTCY+irAZMhSdfpsYdszIpBBkSLcFGdhOvVZ+kyKtqte+HmGQfLENStXyNG+Rw6RTQNOZj4xQB4r+oDARt/MnouUBbRcr8nhf6q4A7fjwF0KHXlkAUy2cbMAsirRXw2nj1c5GMmUtQpNFWv/5ViPj8oQk1CGsrIO2LRnFY5omoXikNBdPmd81e20qOyLV3u5sC14Z6tXp0wWEzvOb5JYjj4E+9uSw31hYRGlG8CLRO+uxHdnEs24EeP+vrhN4X18im2u3dsqmt41u6i75QU19JvZQSxVb+HqyDPTnOz48PanTSUJKRkXAcdxvlzlmT/HxXGursAactt+aQ8HlTk/Nv3YYe3wiUyvPGM8/4ZHw0HE6ct1UCm0g7VB6+atF/zkkoN0pRSa3O791t68HL5xLBYnlZy/PJG4Rj0G0qvzBgyVImINMimEB9hX67Gy6sE75als3bBnQ5VgmBCoXEelurVjvLH+H7q0sB6h0TjVhqpdzfdOKca35CYRwZTlE71PMKYNo+ETx12HZyEsh8S9JEdCqPkRGmQ0AlPEvLG+8oMVNZvWE4iXV5jmsk0kuY2d50QxD/HY6Jd+gEjcmVjgCxPCHKrq8s8JDd6MILrN+G/199deHth9eKXMgY6w/9u3bWb/QR/dHTzqxdr4RxVBxogz7wK9hfBp0ZMiUvR6/TaRkEVICTs7mHIjGCDLEYDRbAJM8sFLDSDOBwhBKhIDvfWS4vZQc6CStIBiOgA0E8p5iDTGQsTpBfhs1dECkBXf0RreTmyvl7wx6iubogakEFmJR7epaiEx0MUKydKWDJJDeozwowk6TVyjFswEXBU6dybt2I2LEyJi1cvDefY93ofo5wbHzTJukdXC6dV2SPc0zbzc+3AjzjYyrBAa1tWRaTsi6YyqdCtbee0wS0Sda04wIAkqa0eRdeGmGCDvizAAMYSggK8tudI8nmYH4gD8YaCgB9FDPvpOuWwS6/zXGbf/r50I+9r8qXrfxnrv9FackL8NnkftnWelnot4pcQaGwDTaatF3BaCqTgFQ0iGEe64Zh9VzK1wzxpaWGIHZWwjdT3bhZSd3ApfSheFP7MeOtbhWp23j5XeeggqsIJC29dPC8rOIEUPFNLW5LnuoLnky20T4/ybf7/MGc3dz2z7ToJ58pGBmfEBUaFhqVgCfTuZmSPEkml04mYDFgWAKZzEg7TAZZQWRqmESFJmxOHTDPHVF75UCRvXie262lQPSF13LJFqC17olxwQT3w5jkjSJaTAQs4DjBP7amiUF7CTFkZL03Dl8tk0y1uIfnpA/isPIeK9GydYFmez7191eTBC9vyi2zm5Diy+MMS9h5II5IwBuhVYqLicUfmiGYQnrjn/UsLb613NpXF/Jrdpes/F9gZMbON3tl5jy36af6vw/cyGiFTMUr3er7KQhnZTD00ySEaFUGZm6iUNg2PfbuCBz57V8INcy8mu5AgODhE7F0HaF0nc+IvbfNCfysYenOjCWAUMSqdwItOkIAwAr1rz2RHgAivvYwarmCvOBX4ddkoQAiCKRnV6BBU/8AykBtF29PXKxvCn3KhRAigK5sMgJNhSi3GGUAAbgHjeujahhMIjAYy4qVZM5dFMo+21bsgT53Q7wGaHHPlryrqGnvg/0Vxx7zxnh4kzlWt7OpgUkg9PfQqKkeX0kt/DkKdaJ5sY3o9WEWRVfT4O283kSmwJ/Q6JoLAhCNhRyOlxTNA8PKWFjrR9TaCjgmNnR3Ck2fBSbOnJQKMtV1BEZ/vEi0VCMGPXAdBdA8ClipPmbSW7uKysuF8b13vn0SwV5GdesIxFEQImJlrIDPL9jJwnz9vxHYR3ZxGw3Lvgi0ABwHDf3SPKiLxjECseYk2ohfrFmR8lxpciRNI9+C9LUVhLLPAMRw6ddNCP4MZVjgDEHFo9Arz2VcZwGl1NFNFhJFJ6lcFDizM+0K+KbGB2OE99IH86RSzHLHLBgdR+McCRoEBBRvLIAQRRCxTHzF81UZs1CAoAic4tXoJmhTQcN/HbL1sAbweABoLPEV7qNw1gxGZwAAqMXyunrOITU/G2lfjhQGZZi7AUXeYz0E95Ks/JvMYPXfdRZGVhjG7qGBCa4r9G7N/zM1PNnj95sK9KDOY3/+eNEqq9V2XOTnMChiTqhI1tkw2VZBnjCeCTfdZDpst7v5yn8OmLx9Q//dzdPIvn1nCWhbLGL8YXRzvC4v7EncRX69+PwXwGr96/A50RQUPXDfMOCk1M5gpi8XfvVL7q97T9xxa3X87pWv0/znnvzB7UCK2JG0k7LZf+zbrY+qO/p+hKTP/Lm8o5GmFO4vMCjXZunAr+5Gr/Qz8COP01ui6Aj7Hk/A1sd9++DRuW/XPfopjuBB1TFTRrncGel4lkYR5kgaVVh44zXdxUG/yG6XsuzP/05ze0cX9em+QW1Z1VwAmlsDjxIXId3hZIbZWxNiAxq9ckO53SoIMG3laezrvy8/VBjMdTw14vjgQexytPeu37n6JnYkph1TthPNrGvIf5xsFnwx2H9y/3+XJQngXPgx+7/3NzTvx1dUwDtRsGgJs9HsJQIaeYYcJgTWpvcluR3WnxyBwXAGMTp4EfyYDQadlRM44wrnGc4kljxqX0W8BoNJ2sdTKtUiu3/2aC5a2sYV8JLVahIPfMXq1U+67a7SRTp7NA7sn+k/iQuWyrlcqQRyVkvI7ZxBfzq4y0ibdpRAg4AgbGcvyRvjuqC8318u3Mo2b8CcmvFmwTBdt4CF6OBMsni248dBpKj5c+ss30N3Bra8gcZB6zVOweTfI2MBOkS1hAzQDMaPz/o6x1gZC0fgidMnGxWAllRyZs1aYsRU8enitVNJWiEM1uYa377AvQ5P3sBb7evrkCnrPNbiV4IVSk6EKNt4fVvtrusXZ5+O7Bicv7TjogceinPKbOdgVdeGhvM3di14MFjWhFSoKQja8pHld0IsoOUwUHhjaaCOwBtJQ6IDsrA5TlwOdniZj1NmvgCRjdagFErfV3lIzFu8JFS7+BtvG3nV1DWLmlObDTVbKrveUoGmMqsPORa/nd/GOThCLjeex2YTpcPlxVPa6q2UcXlx7rCSHry+GB3/d2i+zAsqNnooEKMo5/Y6vr4RzDx9xXZkUUbv+a/APXJyNAXLzscvMX3ZQnkcGOJRogm8/lFVuz6YdD+4vmwnNl64q3h4ZIJ/fSZeIEAALEVNFMw+QCFzwqwtWf7JJ7ELsKvmMCvZN2ipnB1r9wEGMZ7anIni3DBP4to/7p+rRTCExCFEMV9DhdDR36SNCUG00U6rjk+NoUReBzcU5RICBegUJYw1r2VaI5NB7SMyGT/ODOAz3Zc3pVoyFKXcnGZGi33dhzg0ZaNKiULQEREEVo7fQjKGSUR8cbV+kx1lflSrw8lZS6JvJimBAV7wBPzTdFW1wxGvVm2DvYdoWm2zxS5okIY9sSzZW5QVnoqgSQQqFsfYKE8VUtE3rQ/neGVfEjrPtfK0mHs664HdU5loIp3LWd9umD3P71+SSlVm8wNFZRosON4WmbOp4yP8v75CYTF6g12KEchJl4Z52gOxIsH/L1MuB3Y+WORHamIUFGPVUF2CZWnQ6O5y3Z1qI1Vsm1nF4ntJyHkRjgpHEYVaVNsllgAzhOFGdrZbAkElqQGpXi9N8dlYLMunbsYupJwLAz0JSc0eyRBSlDDDU6V+oel1ZVxT0yCWwHVQfy9EEfGWliSK6eKK/Ub7K28kphyRfrmnZg9P8lPLESJdS9TShGctXXrhY5PJf3WbvcMO2JHxxBQ8sQ0GY6PJAZXNqM9+0JxGBwgshZ0tIzBDqmQHQilEiQn0Zv5PRmct0OaG6SZfZV3mcDxKMsWt7uVgUtIc9WLFWmk2L2nvpK/Ioqb/OXfsH2tpYX6uOwtOuN+hNg30B7c5sWA8GnCzTW7QPGfxaxE3PZY9b4GEwMciMZ9/RzzixZzsZknWcmeLwOzL5XAIBE0P5QJGKOYxY1awdCFJcIOHH2O7copis+Mj3q1xa3SALrEs15LYvNQGwSjYBAzjYLNcTATHo7YNzBZlO8ZKrP9PllrQ2zSch4hm7hTfFdvVWgubarUtCvxLJd7Jtrx6NUR295/E0RJqPpPiGDBOZHSuPMylY8Zt81gvO+aq33zXhhmg9unoaoqkhD2Rptn0svtlZ3aaOOreJkS2vHiZny7BNk+g1x84cKGrlJuh0ZOlhmCxqIQMEzYRPU4+yfWb8I5/em/8Qcm5D5NyApNZkxgGqdum/lSXl1HhhmFeMqUOnOCMS7/2j+oPxIWrAn40z2n6hRsfQ5uwys+gKLwRIXg+tq1sDRmRP6NO8Z6npmUSSqaUmf9kPAaZjnn47JdoqDre6bEJLn7JPmukuw0Qxrgg0i724piPIF6SKgszTDttZgrTwf8o+bu8kss2sy2S2PculP7ZAL5HZ8iAFxtX8uk37Vcacm4IIe5TFfSfb5hUgrkrlwvzhaRYNrQcnJORogwvQ1J6xtVESGr9szC4U1Oi9vYFsQhz7PSkOcY6Nt9g+nFW82FL929bjsMSObGO4trHp5z114cL42VXB3gorZfHuVIu350U9NdHbcV3vKnGYLIaXMwIc53JWLROcHEEmelJ8PY5OhboDqvLt/HmGsiZQuiUjMoRp+8/1vT5tmVeQA8eSHpr1zAnhmfz2bNyUsOlifnCxrLYhdFScHtWiVTn9OBOvVzl9cVfTfNsbOL7NYvL19ixnGaosRmUEuaEn4MgImdJZfjh0EU/vHFCzULeE2MWKSmpyrOGCQ0KJFN4xYjCwYO49yDfrPhhPqHxtRKF2oaiAnJKhfYiYVfBL6h43GZn9iK7KNBzl2xAiISzu0mOAJXiOxxINqhcI0qxsKdFbJygaQp8V9xrm4R1CvlLGe0Mv6HdJzNPJpODbK+ZcH0x2vo6IVcEqs1ypTK52duYOBkIa1qfwwRshzS7a/pJNUn3tt5jgQtmC389WhgQK7LK9euFwmnaSZvNEescnu/D4Rn+rGhru3WsDEmpyl6gfj4tKpBOet3mBc5D9ba93oA8s8N7JtT4ZAY36idroQHhdRGRKh0lqE/IZO9rA5tgEzH7UqFPKntbH5to68VDgQHybFlOjuCrNvtMBTGIm2ct+F1eb6nBxtsHVbVaKGQnyuXAcbiRQr8ZdXNVtrECG2CxUhy9iFIXw5EZod1oIlyhf63ZQAZqP/ULM+hr4Fu8PTzv4SB50tuz0vZOWdwOyVvoxK+TyZweG8NxMNvV4bpcZbF4auAm1JwpNMSF06HV7DjLdmhXkpOq8T05QCg2EiVrdoZdw5J4qgikJSSYc2TYdpYBZkF+WtHTkYaLxfQfcc2naiIuFLMcJPVApDLTJJ6PBCDE8u307p+D+QE7gdSw6xA108wb48bM5es5kVmY5DZBS24iLIEpEulcnkgLQcTjgLIyPS+Z4pwez1DmtxpKuui3dCyMFAoVAFEfLfBrWFZr8dlObdycw0/aLSXNB8YVdP7AAFnTaHUBP/AxSUUiTGduJP50XK+/0kKG8BVSbSgdftp5MglNH571y5HJYoOy6EeC1QhmS5fHapR675eVguyeHgReh9RK9IvF7e0RXlPAyFny8VqcEAGY93LK1bzpIgt/F0X5WlwCwedL3tuD3h4kQyLRdfFGl8X50NB4oi0Tv9ExSHU0ZORA4IyjIomeivvXT/jRPBF8QXIXLNWqtIQAQc4fghtMd8X4iX8MqTJpxRKRCB7AnMcZpljMlWi60Ej718S6lNN3qYZIFZ3gocY427gRJzP14FbF6TY0XYltteEXIIjMRuQDmc+3nFRlZxeVw+VmieLoQk6YrmWwNMN0hNrrUnHiMMBl2EoFSw+wB/sTLuByHf39Q19WlpWxcQT5yAKzlWxs7fQ/UH6i3XkxYPX7/Q/HXU1T1zrIgoLa2jabouqOYfuYwQu02v///5YeBB1+H1QJU2AK0dTVx6P4B6baEW4kDgYj5rVoPHbAW2WzVodCHruNQVXdMF8Lkitpng/Oyh0vDWeOFmMTfv/VttOnH9dxEs/lK3HEv8gun6aL9xW5bVq2JHOh3ZUfp/fj9/rgn/9g1mOwUZ8A5T4jgvDNOTmOHDijUjBNii5fPF9744Zen9nKXlV6jYhAMv6phEzH6TRs01nAhZqPahQPkLHAYsBfYXZV2AxquPBwRphXzLFYXlrZNAgztTIt0S4eXWw8LTI0wwzlyIZWUCfJihIl6YC3P1YXQEwlPce91Go5GWFLOKuCcUN+Uf7AcEeRUVcnWWBvdKmEcEYZOT4PmUhhL/XWjoFMn285S6JRcfudiTdTr3Mu/ZZEojhIYgvlEIx2ytlwjM2VRJ/Q6U4gokQhzo3XD5//v/+ZwKnB2dk2W2fndU2sG04nTe9U5IF04uzJYvF87ShCUAD5maKhGUbaMJlCrdaIMXaUISyrWENtbbSp0d+FM5KDw4c8B7kRBrFwaaZrxtkwoJpH09JMvcRkc0yGobNJPEA7QW6Rs1mmVJ+RvqsZztRFEsIZ//GOjUyDyIRARDIb2sdVknQJrJkSBKhgkoiaiuZiwviS4sp5vcu+KnRQN3Lq5IRu3ASnVGWXOnKCAp/vPySHpmgOm0sLxBKFFoJCLBbSXDabRa7kkcA+UyclpyQMSPWZCoUIn66wvtUnVpiqNYXmHZ0d6InkX3/ROJxtznQltkBIvrRw7Jo/4dWpidET8YKcDT7GgsZZiAMwU8TKGJfP2z8Ca2tIJFKhQwZLFHAUCxiXjjZVCnDc6C9J+pQ0O0oanxyJ0AmmdH9hFgsdDYejlTMGE1ESZ/JVOiu/kJiXIcSDNJVocfX5xE0g07yEMGrIynItFDNqRYnZModiLknzlYZMDYNAASdxc26mRMQP8EL7hZpcfzTpW6ismdeRUhzL+EcAsNFrQpfJMVPw6jGGtU/2IPK/sKzgTmT8yoKKjKxfJlOf4tDUXI7G1VsVvENp8vzLoEAKAhAwDB5rvKpzZEnsZdr7YAy0VgoLvY6Gw+kBFvgcneAztH96R4cfC2yRWUjrJOKzn755QduXghMohBBQOMVwIASEX2laLeQyhcnVR3/xO2LVTWDmh/MCiz30aPbnFCyKwzd9bQD3tRVk5lJzlmYCImTRBE6UJKAALxoYSQFrflyRTTzXlrT79+Jfz0jb9+fArlteMSnO6XVXk+yCv4rnJPz1P5Gz1s966bRo2tDAQ/wFWY547fhpaKJk+JiRarWhZYVr/11//gtmtu5StsZOUARWo93Tn5czTbwLmL94k5kYbybj453DNPDmMB7excwA7xQzdIE+qo45x5vFnOKduaNnmzDBnfmHT9kWnrznunlL37+WTE/6XxBek2TGAk9E4TjF/cyjflbqAcfcIHRVXPc9RxNWf9zp53Q/UIiC89t1Khh0ZFlJpmCV9y7wNM4VzUExWAnnlLll9zVSwmHYm1V+P5AkpUHCcUInoOoK9cHIjWFng5WfWBL3+S8KMRAknAiwlp19kDMgMcz56FolD6ooWTfbe+BcctWfajApmIqWgiYnOztTa0QoJBrRk4zazOwLBG80cy/QZg4xThGjXDQBve+SQUSQ4N9m7s8NI3C2z2Yppg9G7oVzh4LLAdOgaZzpKfzrFAkmvH6bMNORrJRSQTX3BDauM6gCQcWljWMi0Y4zS5B9GyVkIGOXXXPhsGKo1Zt9OCj3I4uv3e2O1ho5oegZ0x+1ECuvGfPWFqp9ImWAjQstHk+lNahhZV6rzQI8pDpntARBqNou5we/ltim3VC+VTIahzuXAnsS5PSM6YN1qVsVf1YQyatacSkmldA0/dD6lWpU5VvgAO+7Ayo2vF5FMUVpImoIArwo/JbM6A7nqLbOHTHtK+akU1wx2ccC21HJt1lrbCP3GeTU+8jpq57AA55FywLFBjB+7D5ZDUwqCsbfvDBmz70eS2ozFQpTTmn8eWo1MVSdQK0ZjCTbilXHnGiZ71RyBPGi6liuTVIYLtWptgTGyPxrQVNF/RmHYzyv2qYWvWBLTk7EkgZDhdQiVIV4kuTWJvUAGq5akoJtirgKR028hVWLaOT/pejFbkmLlzIO9IiYpC937sWgilh1lOYKsURn94t/gm8l4ZWb3fnN5cOX6j1BhzHo3jcXT5aBFnnW0RAx8K8ootyK2B9E1TKR0sUjRQY+twL4HgJgkv3xUE0KHTk9r0ZR5/N+sg2K6J0LS/Ntud1WUCW64iT2+P0dBE13umjHUeBxsy6eX9OAK/C4Fzm/RjQowWBC4zBwhg5qqhNpXnkEiC/fsHFPyY8UCpl8MCd5IGbQ822UzYqCD4uy8LgKyKxwEPk6+DvrZEwYe0k6vyeVs6Dut5+pbxz+omLudzpPrVMtPN4NPOpF+PcX/aCOFvD4ZKbio4s/8LxkXljxJdXglXleDnSCX/yJgYhDlTZGOOsOzjJCG1UcRMzOhwV68fI2Dv7b80a8WHdERBuyPC50PMfMEYzVB89gNgnKK9vbLHMIKRzrhMkS0UIxXyPngagImS+puHDrWg55Aiirug9SGjNxs6MblwiL+/2WpYj4ajpus6MxXiKvvBDdodv3o5fqsmA5iPqNFmCP1SHKLhrkoM2FxCoK59XSsapLwCV+fLLk743PflphvjlET2IK51FSckdtlvEXio55kwk+qO5sjlaaXbGyi4QVDRzX57DCn0Qchuf+QL/IzbPJEGpdqTmC/lGizoT0J5I2CS95ZnK/FlBNO9BysD1qm+VewB+QkpWSir7V7YO94Q9cm/fXKeD2yWjASytIbx0RVC5M8i3SsITK55MPFHUMF3CusZSMROkHjbdky3YMhu6T2Q6zZSq0snfRurETVndRitJv9vh1Hbg73KcsVPM7DtcaEorb6uweOboqBkNvXg9eQ6Nl/WAcooXH82QnsAzDFlfYFSoxJOf16O+skc9jFL3VOQpR9PnfFcX1qbALeRNgBuRs9VnWYP6dN6ew8OBZe2yDEtvsdsJ13c+5g27XnbDbNiV+c9b3MvMQ9jz8WVaXDEchShmhAxCkQoJaHBJGa5UjdHa7BCRJURWGY0XFKqCR7GM08Bq2OIIWAwnqZLSomK+d3fQk3x6TsWtx0daXEVRJs4m66uyRBhrR9+3fd8OIelG3l5NhzR8ZRjnxBD/m/BAbWAx5qUJUHB7eUWxiv2Qmykm2YEHCImMKezGoklT1l8x3Q3NWj2x6JaFuxZIMnkx4YxIkIQU5aqy261iWVb+r+dEiKERGgCIkIxXOcnHbwbcolJgkyK8ERRH3Jxk4XOJvo/wdvlk44q6cFAo0JbuwoMmclijaPwQRP+xOfRrdNlQDJJAp9NoF/x7TJ3hXeH9GWKAPhMaVoFccBpJJhcEbkTcCcFAjnZsm5fUcJFPYeWRu3fOL3LnPLczZiOVuBMFRzI0Uygq9kHTe+PjG7n4h+wObEMgjeTWJYm8sCAWfYeb5kw/Mz5nbxQYQhRDDVgiZwhUULOO3WGZZWT+kJEC1tNTvjxetvGwi/OUeigdhqg9PITDXz1x9rf6SSijd4UvcYt3iXaepHfIrx3Asww1syMZyaOk1jxeKYyhEL1xE7uVbYpOSN7SbDMpKvk/jG75mJMNWaRZE4TOkd/OaPRyJMCikoYk9eRoU8YGWyHRioU5Oy3PVQO8Q/5o7NbmlV8PuRVcDLjeVJBIN76wLIkR0kmH87BVnpLGl5nuY+aZ02mPPRFtNOiTacRY2EouEgA1mm0QDpDtUMzBkiedOhU0qE+Ye1OLT/uGoKrApeYWCm5+Ha+gTL6O1KyoYacQAFYlyPVjRqM6AGNWmkyFlOIWQTY+LtmCwByVS+IOyVTbjyevSh/1RRk0clBr3zI3uM0hago11yv2+VYNa0vaAluvs9F8nQBCBccGO3GeYcGxDzoJo5fSQ55rr+Ch6csRKJEXS84J9RYagvVC7sntn9lkpkOdTsHFkI71GOwABmcji5tBBcQZCf9rYtjOoLGP4D88ILkUEl9TcuDG+60y1n+LNCwGdfxrNKTzQ8JQcdO/eLHLaYSuy0rzGjlurL5z7fDYh//CEGKWdXnfm0mOaB5uWZ67VI4849X6VvAp50jkCSo+rSHJ6+LrUjdn7iyKQdUeVTilcN11X/HUvPDAjl2e4S+LPVanwweq4z9LvT6Vacqx3aFbgnu5Zi9fcybTaA2mu+XNu96ZZ1U6dtM/u8UTtejJ+cKD5JblsADGIQhRDkdugYycuIvdiTsdFU6TFyfBy88vrR9t2EKlORw6oPZlwpI0LZ1pSyGmt2awl3+1pZQ01jykGsop0MGeRJJIUuny1yvBdoScjhUKYuAO9oZlAhO3DFrSRlelEepAIVI6ArjtQBRZlzpvz7Pyale/ZOrqnQlw5Rmdba4HCSdR3IwiGaZHWmNbFeaeDzbq7Pz58ofbzJIueC8o3rm62BbJPscNxScZTeJKN//AUyuXDee4zvaKFFB5R57UaHGMwg9HUcky0COgwnrzaite6l3vhgwP+RIbhaUzyxf44Bj5cPzma3NIqcUHu7Oo5jR9is1jfvdh+OM0Z+hMX3KZyYGkeaZ+wr65dD4wZT+xB1IRxXX9qm5mdhHElwGO4Q0qGpIAdYadQpI/fuilvGpdVJAaBDKOPrScRNgCE11jM4tVHDJCluJ/AGvr/vk+W+RFk9ekGTM30+vNWNq6/Ckra9U5H2B8AAbPAaydNUEmPJ/xnG0oD4M9PX6WkWDp02UPtn0z81WMMmGAgaPkDGo2Dn7px/8RPA9PXI2PF8I+wHgPLC6ifaje+ut3iq712nN53WfvDaj6CInda/rZ7+a9+9Iwl7odOdKsTJ4cu9RNoyC3zvjfPxdIWsfbamVa78YQHt+I+XufQs9usbru4axcQF4IqVLtAXk2g1Mf5Jz9a12GG57jdks/rMc+mXk6D/qmedeJrN9LcaX6vrlZlruv9Gh40jd+I59em4CPOqmvwMNMtj6IP3Q86CEYqOcyjdKf6MuzRaLrj/GN1Ul1snE0yxR/bMGMtHtwcfcQBc6eLzq08u/H/xN4H5k7mUBfusmSOlXn3P2ofZsLYw82+FED16sSWH+T+JFeVgm83iwTI5ali+QIG0+Koea40afvJa3S8JaTz/2QvHOqFC/oJJXl+Zct822NLkMJ5Scn8p91zk9T5o9337iXcugeewRnYAEXQChvhqLYJwcexuJrqMqdtjKANRyVP8ilx65fwIsjtLHTAPWivvNjCqxsr9wNqkCvjckCrLKeaOyjqbzNniqrLGN95DMnwvG7xJFP9Ii/eWKCneS2byZfrCsdrqrEnDnZ07v7VOrWongFsA+bNIO/Fh6gPdZ/pmhZrHlVf957CfvRflTG1coOqhFO/uiIoiPBXy+4pVRp1kfO0tLrIhaQFPsBzuNi4C25eEE3lA/VOB8H0bVGzGeQuAZUT/2VpG3TN8x+ipnGlU7kJ01MR7RE3VUmeTbLnNvpRZPbUQjt1m1PLvba3ScRwM3n8kpW2gbTJ28zxlwcm6zbyspDJAiIma8u6KJpsyHVV1lUrqfOtW8mFniHHVldMXuWX3LCFtI0nXo5XNGPeMEdLWyJ2DmYreD6h7o0fUg57W0FjgQj8dNU/x9EPJGBnqZ5qMm28V+eORToOVichsgEbnMEDd4nbuAfgB6FjNfu0zWVjlxThXKLddJQdBDwbeDhwBvBQ4G3AT2ddaX1JadTSpXEG+HNZRPvSfc5xGcM8hJr/ElW++PpvmukX3CAwVhCPLR4DMulTnjwk3jxuZgF4dcpYj7Arq8d4FdYTXAqtJ0lS1TO466+nSDxReRnTPAwh4NqGeme02noXQiX1rtgKitxaRtGYM9f8ejW++PqxaFH17gT86z2wudd7siRVvXCJ6/1xsSHgQODOcmRJkW2SvDlXpnlmc6WmlWfqRVrI7AFHmeh1p5cu0JOS3C0QpHCbXI2BcnSYlhJduc4yLxcuLfmWKfZvjrnypKvLUWPueskWKx39qfVprUW8OSfHkr5PxnWZLc9yX2TRL6okuUe7k/ikr3G0qHk+R77pZrsxzPki86RvZdRUXMadKx9zlLzyrju1dPAwO6msaM2QrUvvokQLf37q03o9W63ZndDVdZHcrs9l3DTP3clcSfpcs5DIa8wxP4DSZ1emAuR7pef0tksZB9+CGDtXvlQqs1dfd65Us56QsxTlXkfY9Oy23q/SKzRWAGInVYsD/vKn2W+ItHhiUM1eLbCPBoU0v2TFAgfXpLuqMyXiyMKnBxwp5eETM4odgpObbXHLdTfaKv+eMkZTNSwJZ1n5xLj89XKVITWfg9twM8dBv7nrtjtdLDufofYpGpkDyjhkTE7UxooYdxZCJ9eVpwfuuW9ukdL0ifJyny/vX6byy59PAXy9cyp+6DBhwxlXSAQTzbNAZinmR4wkW5b6dkcRFFWfYDmGzIkm1CILaeVGjxEzlknCYscxudTSTPGQLq58eQpk1BIXDptFZZiqHoGYSLaFaQrLlRHYLR6l2BI76RVZnDRZ8vIdFl0BjekVphBTUcXWiE1ZiTjL+jm1pQxKktNPzAx2hnjGmrkXs5z0Xs4+MQnsJvvgLaYVNlgZzZyQiJjFt9t2WbVKcQNtUpZSVrye/n51mrRfhDuzYa3+/Y6cuVbsr1Z6wdX3/2VRW131NRTBQvqDXAMOrvH8JUpm28liNdZUcy21opwhkOQ1P3yt2qyqLUMbGR11DBtDuyMuu5QpM1Nm9hnRn6Qu6nDWHntZsyHD89EnP/tditK3fj7QmSt3nrwaBQpg0h3lKlRabru6hvJbrayRAgWdbiy8cESRosWKlygptyBZvV1/MpcLFCxUuEhTTRcVFjGFstYE63R75LF/PKldvJkSJaEN9WOBIMmKqumGadmO6/lEEplCpdEZTBaK4UFsDpfHFwhFYolUJlcoVWqNVqc3OF2c83ZEeWo0KLSaWmoz7zDd0lQ6lWbi5g1rru0/L3KJPDN9UYb9siDXFxCtO3nJbKfduqTTjDMxbPQ/GhznKhQSHFedyxL09g7NJxHOepZJoVvLW+qCG9be8pH+5cBfICZTSloD3XZk1rhTds/cJ5dZSDOv+VPCcON9OMFtViTPC9wPcXh/AkSIsZRJNodOO21OL+xY+aXB409KS9mgwb/Ro1ByC+lYlt2pPRHfkBCe89q96dc76MkleOm4iZymsTU70INvcSAvEyMTdZA5L1OzI3tLoyXjAiPPDdREDdXlYJbzjkXChDyaeFRiF4Es9EzahcLknbBvLl33U0ygLxQT1TQ0bZq9Px8Qc+InBNKJDJkhLv0uDIpBgdyZc9FI9S6bskil4mU/Vqd03alOtar4xEpQqfOwRTA+wWbeLE4sw9+Sdgq7DuD3sHj899rhII1lXvkiVLk6sQA0sQhzpcq0w0z9QuOMdID6GOlwqJWewo04UpOQZhZt8CA0Otkg5SvW1lr+KFLRydryJaRkRcoDj6S1Li2mC8aGgjS44bwIZM7E9Tai16uQ25v1a3XB2KutzIBQCRnUWggZhkvxDXnj2JsVcWyODECPjXUXrABImhPo3JHiD+OweAcjpa0pUZJ7GNdmdeyI+an/SZP83aYZV9cKZa6SZS41AklZ0Ao3KW5TjT/a7dHR1eaibbWMWbd5DiSnD27KXEccOr1xFbguMSLUuCNNAW6CZZor3XCCxlw+2p328R4fcZZvzOVrQM0+ORktQSsa8dwHomZ7kqg8ttVGmYi2IC/28Nk7QzM8sHgP8xniPcyHNu8TPuLwMZcPbf60oyZkb7XqaCPA2/bL73+cQYcVsYCI6Oom2V1RFlgEgEEioqscNgTykAAgrANhM5EAMEzYAB8wDUBneeEtQH4h9wmUwKMDQK/d4GARAAYJ9Bo2ABCwZ0AAAAAbAAA+AEAH8BYgPwMuAzXiEVvHJUN3Y9h4PL+lmY+nE6F3UJhcPZUCrgQy2xkrCBOf85GmaQV1AKG31uXaQ+rqDtuxMsNXfsqErvFhqTe+7iFeJW8JFu5S1E5qsdTgyC6iG3EvgXURZyWFWM6cbtnbgPsGjAw6WCQqn7ldLUsqjcO4TYdBv+dlARUzZwxFvLJpr9zGf5Uet85EiWdb6kKJm8YM/itdecYElJllTfiK/VjL3OML250DHyfenkYR9rnPh5tDukRcNpvcRDOJ9lmD6uoguBfvxv+nYeSmnKpftmM/EN7mbH1ukA77Psse/Ymhr2x5u0p4JH7hKPZ0ytmyQ/Hzh+n4/f/pPxpS3AIAAA=="}},"time_used":92,"timings":{"blocked":23,"dns":0,"connect":0,"send":0,"wait":48,"receive":21,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-modal.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:07.853Z","timestamp":1785152587853,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"meta-drop.top","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 19 Jul 2026 23:27:50 GMT","end":"Sat, 17 Oct 2026 23:27:49 GMT"},"fingerprint":{"sha1":"67:D4:87:A1:51:D4:1D:BB:BB:77:02:2B:B6:56:97:52:78:DA:92:C1","sha256":"67:DA:68:05:20:35:91:18:5A:EF:52:AD:9A:51:70:A4:D4:60:E6:DA:FE:67:E3:E1:6C:3F:13:4D:D1:7C:6D:E4"}}},"request":{"raw":"GET /assets/web3-provider/web3-modal.js HTTP/1.1\r\nHost: meta-drop.top\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://meta-drop.top/\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/1.1 200 OK\r\nServer: nginx/1.24.0 (Ubuntu)\r\nDate: Mon, 27 Jul 2026 11:43:07 GMT\r\nContent-Type: application/javascript; charset=UTF-8\r\nContent-Length: 50321\r\nConnection: keep-alive\r\nX-Powered-By: Express\r\nAccess-Control-Allow-Origin: *\r\nAccept-Ranges: bytes\r\nCache-Control: public, max-age=0\r\nLast-Modified: Sun, 26 Jul 2026 08:33:57 GMT\r\nETag: W/\"c491-19f9d8f3bc5\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Ubuntu","description":"Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.","website":"https://www.ubuntu.com/server","common_platform_enumeration":"cpe:2.3:o:canonical:ubuntu_linux:*:*:*:*:*:*:*:*","icon":"Ubuntu.svg","categories":["Operating systems"]},{"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":"Nginx:1.24.0","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"]}],"data":{"size":50321,"size_decoded":50693,"mime_type":"application/javascript; charset=UTF-8","magic":"Unicode text, UTF-8 text, with very long lines (2304)","md5":"193131d9efe19530d67acafb9e6a670c","sha1":"351361c74b47a62e12a8f39f1c42430ca5881fba","sha256":"be9a39ffd43e717b62eaf4705ce23745aea971f98321a1ea2bf5999f03e797fd","sha512":"3833ee348b4f552875752aef970e7080b61cf1547ef5c4d271029b51bb147a1796c873909dc78fbfe2cb75d4eb5a519a8251ec2bb03ebefdb71b552303759a9b","ssdeep":"384:cuWDybNOzbg3vFixl0blqHuCIELDy/l+ziayRk+d21zeDFZPtDhDeaTCJELhbpqL:8839sl08OvELDil+AkuBCAhqF2qDeHFM","tlshash":"2e33a6b02bfd1274403f43437a991e663b2024bb9b6a7f0571fd2b918f86e4dc9264d5","first_seen":"2026-07-27T07:53:30.28078Z","last_seen":"2026-07-27T11:44:45.125773Z","times_seen":3,"resource_available":true,"data":"Y29uc3QgTVNfTU9EQUxfU1RZTEUgPSBgQGltcG9ydCB1cmwoImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9SW50ZXI6d2dodEA0MDA7NTAwOzYwMDs3MDAmZmFtaWx5PU51bml0bzppdGFsLHdnaHRAMCw0MDA7MCw1MDA7MCw2MDA7MCw3MDA7MSw0MDA7MSw1MDA7MSw2MDA7MSw3MDAmZGlzcGxheT1zd2FwIik7W2NsYXNzfj1tc19tb2RhbF9oZWFkXSB0aXRsZXtmb250LXNpemU6MzJweDt9W2NsYXNzfj1tc19tb2RhbF9oZWFkXSB0aXRsZXtmb250LXN0eWxlOm5vcm1hbDt9W2NsYXNzfj1tc19tb2RhbF17cG9zaXRpb246YWJzb2x1dGU7fVtjbGFzc349bXNfbW9kYWxde3RvcDo1MCU7fSNtcy1tb2RhbHtwb3NpdGlvbjpmaXhlZDt9W2NsYXNzfj1tc19tb2RhbF17bGVmdDo1MCU7fVtjbGFzc349bXNfbW9kYWxfaGVhZF0gdGl0bGV7Zm9udC13ZWlnaHQ6NzAwO31bY2xhc3N+PW1zX21vZGFsX2hlYWRdIHRpdGxle2xpbmUtaGVpZ2h0Om5vcm1hbDt9W2NsYXNzfj1tc19tb2RhbF17dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO31bY2xhc3N+PW1zX21vZGFsXXtib3gtc2l6aW5nOmJvcmRlci1ib3g7fSNtcy1tb2RhbCAuYmxhY2sgLm1zX3N0cm9rZV9jb24gc3Bhbnt9W2NsYXNzfj1tc19tb2RhbF17d2lkdGg6Y2FsYygxMDAlIC0gMjBweCk7fVtjbGFzc349bXNfbW9kYWxdLFtjbGFzc349bXNfbW9kYWxfY29udGVudF17ZGlzcGxheTpmbGV4O31bY2xhc3N+PW1zX21vZGFsX2hlYWRdIHRpdGxlLCNtcy1tb2RhbHtkaXNwbGF5OmZsZXg7fVtjbGFzc349bXNfbW9kYWxfaGVhZF0gdGl0bGV7bGV0dGVyLXNwYWNpbmc6LjAwMzMzMzMzM2luO30ubXNfbW9kYWxfYnV0dG9uIGJ1dHRvbiwjbXMtbW9kYWwgYnV0dG9uLmFjdGl2ZXtib3JkZXItcmFkaXVzOjE2cHg7fS5tc19tb2RhbF9idXR0b24gYnV0dG9uLC5tc19tb2RhbF9oZWFke2Rpc3BsYXk6ZmxleDt9Lm1zX21vZGFsX2J1dHRvbiBidXR0b257cGFkZGluZy1sZWZ0OjBwdDt9W2NsYXNzfj1tc19tb2RhbF17bWF4LXdpZHRoOjQyMHB0O30ubXNfbW9kYWxfYnV0dG9uIGJ1dHRvbntwYWRkaW5nLWJvdHRvbTouMjA4MzMzMzMzaW47fVtjbGFzc349bXNfbW9kYWxde3BhZGRpbmctbGVmdDoycGM7fVtjbGFzc349bXNfbW9kYWxde3BhZGRpbmctYm90dG9tOjJwYzt9W2NsYXNzfj1tc19tb2RhbF17cGFkZGluZy1yaWdodDoycGM7fS5tc19tb2RhbF9idXR0b24gYnV0dG9ue3BhZGRpbmctcmlnaHQ6MHB0O30ubXNfbW9kYWxfYnV0dG9uIGJ1dHRvbntwYWRkaW5nLXRvcDouMjA4MzMzMzMzaW47fVtjbGFzc349bXNfbW9kYWxde3BhZGRpbmctdG9wOjJwYzt9W2NsYXNzfj1tc19tb2RhbF9tZW51X2ZpcnN0XSxbY2xhc3N+PW1zX21vZGFsX21lbnVdLFtjbGFzc349bXNfbW9kYWxfZWwtdGl0bGVdLFtjbGFzc349bXNfbW9kYWxfY29udGVudF0sLm1zX21vZGFsX2hlYWQsW2NsYXNzfj1tc19tb2RhbF17ZmxleC1kaXJlY3Rpb246Y29sdW1uO31bY2xhc3N+PW1zX21vZGFsX2NvbnRlbnRdLC5tc19tb2RhbF9oZWFkLFtjbGFzc349bXNfbW9kYWxde2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7fVtjbGFzc349bXNfbW9kYWxde2dhcDouNDE2NjY2NjY3aW47fVtjbGFzc349bXNfbW9kYWxde2JvcmRlci1yYWRpdXM6MzJweDt9Lm1zX21vZGFsX2J1dHRvbiBidXR0b257anVzdGlmeS1jb250ZW50OmNlbnRlcjt9W2NsYXNzfj1tc19tb2RhbF9tZW51XSwubXNfbW9kYWxfYnV0dG9uIGJ1dHRvbnthbGlnbi1pdGVtczpjZW50ZXI7fS5tc19tb2RhbF9idXR0b24gYnV0dG9ue2dhcDouMDgzMzMzMzMzaW47fVtjbGFzc349bXNfbW9kYWxfbWVudV9maXJzdF0sW2NsYXNzfj1tc19tb2RhbF9jb250ZW50XSxbY2xhc3N+PW1zX21vZGFsX21lbnVdLC5tc19tb2RhbF9idXR0b24gYnV0dG9ue2FsaWduLXNlbGY6c3RyZXRjaDt9W2NsYXNzfj1tc19tb2RhbF9jb250ZW50XXtnYXA6MzJweDt9I21zLW1vZGFsIGJ1dHRvbi5hY3RpdmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTFkZWcsIzQyMDBmZCAwJSwjMDA1NmZkIDk4LjA1JSk7fS5tc19tb2RhbF9oZWFke2dhcDo4cHg7fSNtcy1tb2RhbCBidXR0b25bY2xhc3N+PWRpc2FibGVkXSwjbXMtbW9kYWwgLmJsYWNrIGJ1dHRvbi5kaXNhYmxlZHtvcGFjaXR5Oi4yO31bY2xhc3N+PW1zX21vZGFsXVtjbGFzc349d2hpdGVde2JhY2tncm91bmQ6I2ZmZjt9Lm1zX21vZGFsX2J1dHRvbiBidXR0b257Zm9udC1mYW1pbHk6SW50ZXI7fVtjbGFzc349bXNfbW9kYWxdW2NsYXNzfj13aGl0ZV17Y29sb3I6IzAxMDkxYjt9CltjbGFzc349bXNfaGVhZF9ib2R5XXtjb2xvcjojM2E0NTVmO31bY2xhc3N+PW1zX2hlYWRfYm9keV17Zm9udC1zaXplOi4xODc1aW47fVtjbGFzc349bXNfaGVhZF9ib2R5XSwubXNfbW9kYWxfYnV0dG9uIGJ1dHRvbntmb250LXN0eWxlOm5vcm1hbDt9W2NsYXNzfj1tc19oZWFkX2JvZHlde2ZvbnQtd2VpZ2h0OjQwMDt9I21zLW1vZGFsLFtjbGFzc349bXNfbW9kYWxfYnV0dG9uXXt3aWR0aDoxMDAlO30ubXNfbW9kYWxfYnV0dG9uIGJ1dHRvbntvdXRsaW5lOjBwYzt9Lm1zX21vZGFsX2J1dHRvbiBidXR0b257Zm9udC1zaXplOi4xNjY2NjY2Njdpbjt9Lm1zX21vZGFsX2J1dHRvbiBidXR0b257Zm9udC13ZWlnaHQ6NzAwO30jbXMtbW9kYWwgYnV0dG9uLmFjdGl2ZXtjb2xvcjp3aGl0ZTt9Lm1zX21vZGFsX2J1dHRvbiBidXR0b257bGluZS1oZWlnaHQ6bm9ybWFsO30jbXMtbW9kYWwgW2NsYXNzfj1ibGFja10gW2NsYXNzfj1tc19tb2RhbF9lbC10aXRsZS1zZWNvbmRdLCNtcy1tb2RhbCBbY2xhc3N+PWJsYWNrXSBbY2xhc3N+PW1zX2hlYWRfYm9keV17Y29sb3I6Izk1OWViMDt9W2NsYXNzfj1tc19tb2RhbF9idXR0b25de2Rpc3BsYXk6Z3JpZDt9Lm1zX21vZGFsX2J1dHRvbiBidXR0b257bGV0dGVyLXNwYWNpbmc6LjEycHQ7fS5tc19tb2RhbF9idXR0b24gYnV0dG9ue2JvcmRlci1sZWZ0LXdpZHRoOjBwYzt9W2NsYXNzfj1tc19tb2RhbF9lbC1jb250ZW50XSxbY2xhc3N+PW1zX21vZGFsX21lbnVfZmlyc3RdLFtjbGFzc349bXNfbW9kYWxfZWxdLFtjbGFzc349bXNfbW9kYWxfZWwtdGl0bGVdLFtjbGFzc349bXNfbW9kYWxfbWVudV0sW2NsYXNzfj1tc19tb2RhbF9tZW51X3NlY29uZF0sLm1zX21vZGFsX2VsIGlucHV0e2Rpc3BsYXk6ZmxleDt9Lm1zX21vZGFsX2J1dHRvbiBidXR0b257Ym9yZGVyLWJvdHRvbS13aWR0aDowcGM7fVtjbGFzc349bXNfbW9kYWxfbWVudV0sW2NsYXNzfj1tc19tb2RhbF9lbC1jb250ZW50XXtnYXA6MS4yNXBjO30ubXNfbW9kYWxfYnV0dG9uIGJ1dHRvbntib3JkZXItcmlnaHQtd2lkdGg6MHBjO30ubXNfbW9kYWxfYnV0dG9uIGJ1dHRvbntib3JkZXItdG9wLXdpZHRoOjBwYzt9Lm1zX21vZGFsX2J1dHRvbiBidXR0b257Ym9yZGVyLWxlZnQtc3R5bGU6bm9uZTt9W2NsYXNzfj1tc19tb2RhbF9lbF0sI21zLW1vZGFsIGJ1dHRvbi5hY3RpdmV7Y3Vyc29yOnBvaW50ZXI7fVtjbGFzc349bXNfbW9kYWxfbWVudV9maXJzdF17YWxpZ24taXRlbXM6ZmxleC1zdGFydDt9W2NsYXNzfj1tc19tb2RhbF9lbF17cGFkZGluZy1sZWZ0OjE1cHQ7fSNtcy1tb2RhbCBidXR0b25bY2xhc3N+PWRpc2FibGVkXXtiYWNrZ3JvdW5kOiNjNWM1YzU7fVtjbGFzc349bXNfbW9kYWxfZWxde3BhZGRpbmctYm90dG9tOjE1cHQ7fSNtcy1tb2RhbHtoZWlnaHQ6MTAwJTt9W2NsYXNzfj1tc19tb2RhbF9lbF17cGFkZGluZy1yaWdodDoxNXB0O31bY2xhc3N+PW1zX21vZGFsX2VsXXtwYWRkaW5nLXRvcDoxNXB0O31bY2xhc3N+PW1zX21vZGFsX2VsXXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjt9I21zLW1vZGFse2luc2V0OjBwYzt9I21zLW1vZGFse2JhY2tncm91bmQ6cmdiYSg4LDUsMjMsLjUpO31bY2xhc3N+PW1zX21vZGFsX2VsLWNvbnRlbnRdLFtjbGFzc349bXNfbW9kYWxfZWxde2FsaWduLWl0ZW1zOmNlbnRlcjt9W2NsYXNzfj1tc19tb2RhbF9lbF17YWxpZ24tc2VsZjpzdHJldGNoO31bY2xhc3N+PW1zX21vZGFsX2VsXXtib3JkZXItcmFkaXVzOjI0cHg7fVtjbGFzc349bXNfbW9kYWxfZWxde3RyYW5zaXRpb246YWxsIC44cyBlYXNlLW91dCAwczt9W2NsYXNzfj1tc19tb2RhbF9lbF06aG92ZXJ7b3V0bGluZTojNDIwMGZkIHNvbGlkIC43NXB0O30jbXMtbW9kYWwgYnV0dG9uW2NsYXNzfj1kaXNhYmxlZF17Y29sb3I6IzAxMDkxYjt9Lm1zX21vZGFsX2J1dHRvbiBidXR0b257Ym9yZGVyLWJvdHRvbS1zdHlsZTpub25lO30ubXNfbW9kYWxfYnV0dG9uIGJ1dHRvbntib3JkZXItcmlnaHQtc3R5bGU6bm9uZTt9Lm1zX21vZGFsX2J1dHRvbiBidXR0b257Ym9yZGVyLXRvcC1zdHlsZTpub25lO31bY2xhc3N+PW1zX21vZGFsX2VsLXRpdGxlXSxbY2xhc3N+PW1zX21vZGFsX21lbnVfc2Vjb25kXSwubXNfbW9kYWxfZWwgaW5wdXR7YWxpZ24taXRlbXM6ZmxleC1zdGFydDt9W2NsYXNzfj1tc19tb2RhbF9lbC10aXRsZV17Z2FwOjRweDt9W2NsYXNzfj1tc19tb2RhbF9lbC10aXRsZS1maXJzdF17Zm9udC1zaXplOjEzLjVwdDt9W2NsYXNzfj1tc19zdHJva2VfY29uXSBzcGFuLFtjbGFzc349bXNfbW9kYWxfZWwtdGl0bGUtZmlyc3RdLApbY2xhc3N+PW1zX21vZGFsX2VsLXRpdGxlLXNlY29uZF17Zm9udC1zdHlsZTpub3JtYWw7fS5tc19tb2RhbF9idXR0b24gYnV0dG9ue2JvcmRlci1sZWZ0LWNvbG9yOmN1cnJlbnRDb2xvcjt9W2NsYXNzfj1tc19tb2RhbF9lbC10aXRsZS1maXJzdF17Zm9udC13ZWlnaHQ6NTAwO30ubXNfbW9kYWxfYnV0dG9uIGJ1dHRvbntib3JkZXItYm90dG9tLWNvbG9yOmN1cnJlbnRDb2xvcjt9W2NsYXNzfj1tc19tb2RhbF9lbC10aXRsZS1maXJzdF17bGluZS1oZWlnaHQ6bm9ybWFsO31bY2xhc3N+PW1zX21vZGFsX2VsLXRpdGxlLWZpcnN0XXtsZXR0ZXItc3BhY2luZzouMDExMjVwYzt9I21zLW1vZGFsIC5ibGFjayBidXR0b24uZGlzYWJsZWR7YmFja2dyb3VuZDojNTQ1NDU0O30ubXNfbW9kYWxfYnV0dG9uIGJ1dHRvbntib3JkZXItcmlnaHQtY29sb3I6Y3VycmVudENvbG9yO30ubXNfbW9kYWxfYnV0dG9uIGJ1dHRvbntib3JkZXItdG9wLWNvbG9yOmN1cnJlbnRDb2xvcjt9Lm1zX21vZGFsX2J1dHRvbiBidXR0b257Ym9yZGVyLWltYWdlOm5vbmU7fVtjbGFzc349bXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kXXtjb2xvcjpyZ2JhKDU3LDY5LDk2LC44KTt9W2NsYXNzfj1tc19zdHJva2VfY29uXSBzcGFuLFtjbGFzc349bXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kXXtmb250LWZhbWlseTpJbnRlcjt9I21zLW1vZGFse3otaW5kZXg6OTk5OTk7fVtjbGFzc349bXNfbW9kYWxfZWwtY29udGVudF0gc3Zne3dpZHRoOjMycHg7fVtjbGFzc349bXNfbW9kYWxfZWwtY29udGVudF0gc3Zne2hlaWdodDoyNHB0O31bY2xhc3N+PW1zX21vZGFsX2VsLXRpdGxlLXNlY29uZF0sW2NsYXNzfj1tc19zdHJva2VfY29uXSBzcGFue2ZvbnQtc2l6ZToxcGM7fS5tc19tb2RhbF9lbCBpbnB1dHt3aWR0aDoyMHB4O30ubXNfbW9kYWxfZWwgaW5wdXR7aGVpZ2h0Oi4yMDgzMzMzMzNpbjt9Lm1zX21vZGFsX2VsIGlucHV0e3BhZGRpbmctbGVmdDouMDUyMDgzMzMzaW47fS5tc19tb2RhbF9lbCBpbnB1dHtwYWRkaW5nLWJvdHRvbTouMDUyMDgzMzMzaW47fVtjbGFzc349bXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kXSxbY2xhc3N+PW1zX3N0cm9rZV9jb25dIHNwYW57Zm9udC13ZWlnaHQ6NDAwO31bY2xhc3N+PW1vZGFsX3N0cm9rZV0sLm1zX3N0cm9rZV9jb257d2lkdGg6MTAwJTt9Lm1zX21vZGFsX2VsIGlucHV0e3BhZGRpbmctcmlnaHQ6LjA1MjA4MzMzM2luO30ubXNfc3Ryb2tlX2Nvbntwb3NpdGlvbjpyZWxhdGl2ZTt9Lm1zX3N0cm9rZV9jb257bWFyZ2luLWJvdHRvbTo1cHg7fVtjbGFzc349bW9kYWxfc3Ryb2tlXXtoZWlnaHQ6LjA2MjVwYzt9W2NsYXNzfj1tb2RhbF9zdHJva2Vde2JhY2tncm91bmQ6I2NjZDFkYjt9I21zLW1vZGFse2ZvbnQtZmFtaWx5OkludGVyLHNhbnMtc2VyaWY7fS5tc19tb2RhbF9lbCBpbnB1dHtwYWRkaW5nLXRvcDouMDUyMDgzMzMzaW47fVtjbGFzc349bXNfbW9kYWxfbWVudV9zZWNvbmRde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9W2NsYXNzfj1tc19zdHJva2VfY29uXSBzcGFue2NvbG9yOiM5MzliYWM7fVtjbGFzc349bXNfbW9kYWxfbWVudV9zZWNvbmRde2dhcDo2cHQ7fVtjbGFzc349bXNfc3Ryb2tlX2Nvbl0gc3Bhbntwb3NpdGlvbjphYnNvbHV0ZTt9W2NsYXNzfj1tc19tb2RhbF9lbF06aG92ZXJ7Ym94LXNoYWRvdzpyZ2JhKDM0LDQzLDI1NCwuMjkpIDBpbiA1cHggMXBjIDBwdDt9W2NsYXNzfj1tc19tb2RhbF9tZW51X3NlY29uZF17YWxpZ24tc2VsZjpzdHJldGNoO31bY2xhc3N+PW1zX3N0cm9rZV9jb25dIHNwYW57YmFja2dyb3VuZDojZmZmO31bY2xhc3N+PW1zX3N0cm9rZV9jb25dIHNwYW57dG9wOi0xMHB4O31bY2xhc3N+PW1zX3N0cm9rZV9jb25dIHNwYW57d2lkdGg6NDZweDt9W2NsYXNzfj1tc19zdHJva2VfY29uXSBzcGFue21hcmdpbi1sZWZ0OmF1dG87fVtjbGFzc349bXNfc3Ryb2tlX2Nvbl0gc3BhbnttYXJnaW4tcmlnaHQ6YXV0bzt9W2NsYXNzfj1tc19zdHJva2VfY29uXSBzcGFue2xlZnQ6MHB0O31bY2xhc3N+PW1zX3N0cm9rZV9jb25dIHNwYW57cmlnaHQ6MGluO31bY2xhc3N+PW1zX3N0cm9rZV9jb25dIHNwYW57dGV4dC1hbGlnbjpjZW50ZXI7fVtjbGFzc349bXNfbW9kYWxdW2NsYXNzfj1ibGFja117YmFja2dyb3VuZDojMGQwZTEzO31bY2xhc3N+PW1zX21vZGFsXVtjbGFzc349YmxhY2tde2NvbG9yOiNmZmY7fUBtZWRpYSAobWluLXdpZHRoOiAyMDBweCkgYW5kIChtYXgtd2lkdGg6IDUwMHB4KXsubXNfaGVhZF9ib2R5LFtjbGFzc349bXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kXXtkaXNwbGF5Om5vbmU7fX0KQG1lZGlhIChtYXgtd2lkdGg6IDM3NXB4KXtbY2xhc3N+PW1zX21vZGFsX2VsLXRpdGxlLWZpcnN0XXtvdmVyZmxvdzpoaWRkZW47fVtjbGFzc349bXNfbW9kYWxfZWwtdGl0bGUtZmlyc3Rde3doaXRlLXNwYWNlOm5vd3JhcDt9W2NsYXNzfj1tc19tb2RhbF9lbC10aXRsZS1maXJzdF17bWF4LXdpZHRoOjYuMjVwYzt9W2NsYXNzfj1tc19tb2RhbF9lbC10aXRsZS1maXJzdF17dGV4dC1vdmVyZmxvdzplbGxpcHNpczt9Lm1zX3N0cm9rZV9jb257ZGlzcGxheTpub25lO31bY2xhc3N+PW1zX21vZGFsXXtnYXA6MTBweDt9W2NsYXNzfj1tc19tb2RhbF17cGFkZGluZy1sZWZ0Oi4yMjkxNjY2Njdpbjt9W2NsYXNzfj1tc19tb2RhbF17cGFkZGluZy1ib3R0b206LjIyOTE2NjY2N2luO31bY2xhc3N+PW1zX21vZGFsXXtwYWRkaW5nLXJpZ2h0Oi4yMjkxNjY2Njdpbjt9W2NsYXNzfj1tc19tb2RhbF17cGFkZGluZy10b3A6LjIyOTE2NjY2N2luO30ubXNfbW9kYWxfY29udGVudHtnYXA6MS4wNjI1cGM7fVtjbGFzc349bXNfbW9kYWxfbWVudV17Z2FwOjBpbjt9Lm1zX21vZGFsX2hlYWQgdGl0bGV7Zm9udC1zaXplOjE2LjVwdDt9fSBAbWVkaWEgKG1pbi1oZWlnaHQ6IDYwMXB4KSBhbmQgKG1heC1oZWlnaHQ6IDc1MHB4KXtbY2xhc3N+PW1zX21vZGFsX2VsLXRpdGxlLWZpcnN0XXtvdmVyZmxvdzpoaWRkZW47fVtjbGFzc349bXNfbW9kYWxfZWwtdGl0bGUtZmlyc3Rde3doaXRlLXNwYWNlOm5vd3JhcDt9W2NsYXNzfj1tc19tb2RhbF9lbC10aXRsZS1maXJzdF17bWF4LXdpZHRoOjYuMjVwYzt9W2NsYXNzfj1tc19tb2RhbF9lbC10aXRsZS1maXJzdF17dGV4dC1vdmVyZmxvdzplbGxpcHNpczt9W2NsYXNzfj1tc19oZWFkX2JvZHldLFtjbGFzc349bXNfc3Ryb2tlX2Nvbl17ZGlzcGxheTpub25lO31bY2xhc3N+PW1zX21vZGFsXXtnYXA6MTBweDt9Lm1zX21vZGFse3BhZGRpbmctbGVmdDoxNi41cHQ7fS5tc19tb2RhbHtwYWRkaW5nLWJvdHRvbToxNi41cHQ7fS5tc19tb2RhbHtwYWRkaW5nLXJpZ2h0OjE2LjVwdDt9Lm1zX21vZGFse3BhZGRpbmctdG9wOjE2LjVwdDt9W2NsYXNzfj1tc19tb2RhbF9jb250ZW50XXtnYXA6LjE3NzA4MzMzM2luO31bY2xhc3N+PW1zX21vZGFsX21lbnVde2dhcDowcHQ7fVtjbGFzc349bXNfbW9kYWxfaGVhZF0gdGl0bGV7Zm9udC1zaXplOjIycHg7fX1AbWVkaWEgKG1pbi1oZWlnaHQ6IDUwMHB4KSBhbmQgKG1heC1oZWlnaHQ6IDYwMHB4KXtbY2xhc3N+PW1zX21vZGFsX2VsLXRpdGxlLWZpcnN0XXtvdmVyZmxvdzpoaWRkZW47fVtjbGFzc349bXNfbW9kYWxfZWwtdGl0bGUtZmlyc3Rde3doaXRlLXNwYWNlOm5vd3JhcDt9W2NsYXNzfj1tc19tb2RhbF9lbC10aXRsZS1maXJzdF17bWF4LXdpZHRoOjc1cHQ7fVtjbGFzc349bXNfbW9kYWxfZWwtdGl0bGUtZmlyc3Rde3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7fVtjbGFzc349bXNfc3Ryb2tlX2Nvbl0sW2NsYXNzfj1tc19tb2RhbF9lbC10aXRsZS1zZWNvbmRdLFtjbGFzc349bXNfaGVhZF9ib2R5XXtkaXNwbGF5Om5vbmU7fVtjbGFzc349bXNfbW9kYWxde2dhcDo0LjVwdDt9W2NsYXNzfj1tc19tb2RhbF17cGFkZGluZy1sZWZ0Oi4xNTYyNWluO31bY2xhc3N+PW1zX21vZGFsXXtwYWRkaW5nLWJvdHRvbTouMTU2MjVpbjt9W2NsYXNzfj1tc19tb2RhbF17cGFkZGluZy1yaWdodDouMTU2MjVpbjt9W2NsYXNzfj1tc19tb2RhbF17cGFkZGluZy10b3A6LjE1NjI1aW47fVtjbGFzc349bXNfbW9kYWxfY29udGVudF17Z2FwOi4xMDQxNjY2Njdpbjt9W2NsYXNzfj1tc19tb2RhbF9tZW51XXtnYXA6MHB0O31bY2xhc3N+PW1zX21vZGFsX2VsXXtwYWRkaW5nLWxlZnQ6LjE0NTgzMzMzM2luO31bY2xhc3N+PW1zX21vZGFsX2VsXXtwYWRkaW5nLWJvdHRvbTouMTQ1ODMzMzMzaW47fVtjbGFzc349bXNfbW9kYWxfZWxde3BhZGRpbmctcmlnaHQ6LjE0NTgzMzMzM2luO31bY2xhc3N+PW1zX21vZGFsX2VsXXtwYWRkaW5nLXRvcDouMTQ1ODMzMzMzaW47fVtjbGFzc349bXNfbW9kYWxfaGVhZF0gdGl0bGV7Zm9udC1zaXplOjIzcHg7fX1AbWVkaWEgKG1heC1oZWlnaHQ6IDQ5OXB4KXsubXNfbW9kYWxfZWwtdGl0bGUtZmlyc3R7b3ZlcmZsb3c6aGlkZGVuO30ubXNfbW9kYWxfZWwtdGl0bGUtZmlyc3R7d2hpdGUtc3BhY2U6bm93cmFwO30ubXNfbW9kYWxfZWwtdGl0bGUtZmlyc3R7bWF4LXdpZHRoOjEwMHB4O30ubXNfbW9kYWxfZWwtdGl0bGUtZmlyc3R7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt9Lm1zX21vZGFsX2VsLXRpdGxlLXNlY29uZCxbY2xhc3N+PW1zX3N0cm9rZV9jb25dLApbY2xhc3N+PW1zX2hlYWRfYm9keV17ZGlzcGxheTpub25lO31bY2xhc3N+PW1zX21vZGFsXXtnYXA6NnB4O31bY2xhc3N+PW1zX21vZGFsXXtwYWRkaW5nLWxlZnQ6MTEuMjVwdDt9W2NsYXNzfj1tc19tb2RhbF17cGFkZGluZy1ib3R0b206MTEuMjVwdDt9W2NsYXNzfj1tc19tb2RhbF9oZWFkXSB0aXRsZXtmb250LXNpemU6LjE1NjI1aW47fVtjbGFzc349bXNfbW9kYWxde3BhZGRpbmctcmlnaHQ6MTEuMjVwdDt9W2NsYXNzfj1tc19tb2RhbF17cGFkZGluZy10b3A6MTEuMjVwdDt9W2NsYXNzfj1tc19jdXN0b21fbW9kYWxfY29udGVudF17Z2FwOi4wODMzMzMzMzNpbjt9W2NsYXNzfj1tc19tb2RhbF9lbF0sLm1zX21vZGFsX2J1dHRvbiBidXR0b257cGFkZGluZy1sZWZ0Oi41cGM7fS5tc19tb2RhbF9idXR0b24gYnV0dG9uLFtjbGFzc349bXNfbW9kYWxfZWxde3BhZGRpbmctYm90dG9tOi41cGM7fS5tc19tb2RhbF9tZW51e2dhcDowcHQ7fS5tc19tb2RhbF9idXR0b24gYnV0dG9uLFtjbGFzc349bXNfbW9kYWxfZWxde3BhZGRpbmctcmlnaHQ6LjVwYzt9W2NsYXNzfj1tc19tb2RhbF9lbF0sLm1zX21vZGFsX2J1dHRvbiBidXR0b257cGFkZGluZy10b3A6LjVwYzt9Lm1zX21vZGFsX2VsLXRpdGxlLWZpcnN0e2ZvbnQtc2l6ZTo5Ljc1cHQ7fX0gI21zLW1vZGFsLW92ZXJsYXl7cG9zaXRpb246Zml4ZWQ7fSNtcy1tb2RhbC1vdmVybGF5e2Rpc3BsYXk6YmxvY2s7fSNtcy1tb2RhbC1vdmVybGF5e3dpZHRoOjEwMCU7fSNtcy1tb2RhbC1vdmVybGF5e2hlaWdodDoxMDAlO30jbXMtbW9kYWwtb3ZlcmxheXt6LWluZGV4Ojk5OTk4O30uYmxhY2sgLm9yLWNsYXNzIHtiYWNrZ3JvdW5kOiAjMGQwZTEzO30vKiA9PT09PSBPVkVSTEFZIEZJWDogRW5zdXJlIGZpeGVkIHBvc2l0aW9uaW5nIGFsd2F5cyB3b3JrcyA9PT09PSAqLwojbXMtbW9kYWx7cG9zaXRpb246Zml4ZWQhaW1wb3J0YW50O3RvcDowIWltcG9ydGFudDtsZWZ0OjAhaW1wb3J0YW50O3dpZHRoOjEwMCUhaW1wb3J0YW50O2hlaWdodDoxMDAlIWltcG9ydGFudDt6LWluZGV4Ojk5OTk5IWltcG9ydGFudDtiYWNrZ3JvdW5kOnJnYmEoOCw1LDIzLC41KSFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudDt9CiNtcy1tb2RhbC1vdmVybGF5e3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudDt0b3A6MCFpbXBvcnRhbnQ7bGVmdDowIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudDtoZWlnaHQ6MTAwJSFpbXBvcnRhbnQ7ei1pbmRleDo5OTk5OCFpbXBvcnRhbnQ7ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7fQojbXMtbW9kYWwgLm1zX21vZGFse3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudDt0b3A6NTAlIWltcG9ydGFudDtsZWZ0OjUwJSFpbXBvcnRhbnQ7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIWltcG9ydGFudDt6LWluZGV4OjEwMDAwMCFpbXBvcnRhbnQ7d2lkdGg6Y2FsYygxMDAlIC0gMjBweCkhaW1wb3J0YW50O21heC13aWR0aDo0MjBwdCFpbXBvcnRhbnQ7fQoKYDsKCmNvbnN0IE1TX01PREFMX0NPREUgPSBgPGRpdiBjbGFzcz0ibXNfbW9kYWwgJENPTE9SJCI+CiAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfY29udGVudCI+CiAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9oZWFkIj4KICAgICAgPHRpdGxlPkNvbm5lY3Qgd2FsbGV0PC90aXRsZT4KICAgICAgPGRpdiBjbGFzcz0ibXNfaGVhZF9ib2R5Ij5DaG9vc2Ugd2FsbGV0IHlvdSB3YW50IHRvIGNvbm5lY3Q8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfbWVudSI+CiAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX21lbnVfZmlyc3QiPgogICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsIiBvbmNsaWNrPSJNU00uc2VsZWN0KCcjbXNfd2FsbGV0X21tJykiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtY29udGVudCI+CiAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSI+CiAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzBfNjUxKSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzAuMzcxNSAxLjM0MjUzTDE3Ljk4NTggMTAuNTEzOEwyMC4yNTUyIDUuMTI0NEwzMC4zNzE1IDEuMzQyNTNaIiBmaWxsPSIjRTE3NzI2IiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMwLjM3MTMgMS4zNDI1NkwzMC4zMDEzIDEuMjQ3NTZMMTguMjYyIDEwLjE2MTlMMjAuMzQzOCA1LjIxNjkzTDMwLjQxMjYgMS40NTMxOEwzMC4zNzEzIDEuMzQyNTZMMzAuMzAxMyAxLjI0NzU2TDMwLjM3MTMgMS4zNDI1NkwzMC4zMzAxIDEuMjMxOTNMMjAuMjEzMiA1LjAxMzgxTDIwLjE0NTcgNS4wNzgxOEwxNy44NzcgMTAuNDY3NkwxNy45MTI2IDEwLjYwNjNMMTguMDU1NyAxMC42MDg4TDMwLjQ0MiAxLjQzNzU2TDMwLjQ3NTEgMS4yODU2OEwzMC4zMzAxIDEuMjMxOTNMMzAuMzcxMyAxLjM0MjU2WiIgZmlsbD0iI0UxNzcyNiIgLz4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xLjcyMjkyIDEuMzQyNTNMMTQuMDE0MiAxMC42MDgyTDExLjgzOTggNS4xMjQ0TDEuNzIyOTIgMS4zNDI1M1pNMjUuODMyOSAyMi42MTU3TDIyLjUyMzUgMjcuNjI2OUwyOS42MTQ4IDI5LjYxMjVMMzEuNjAwNCAyMi43MTA3QzMxLjY5NDggMjIuNzEwNyAyNS44MzI5IDIyLjYxNTcgMjUuODMyOSAyMi42MTU3Wk0wLjM5OTE3IDIyLjgwNUwyLjM4NDc5IDI5LjcwNjlMOS40NzYwNCAyNy43MjEzTDYuMTY2NjcgMjIuNzFDNi4xNjY2NyAyMi42MTU3IDAuMzk5MTcgMjIuODA1IDAuMzk5MTcgMjIuODA1WiIgZmlsbD0iI0UyNzYyNSIgLz4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xLjcyMzE0IDEuMzQyNTZMMS42NTE4OSAxLjQzNjkzTDEzLjk0MzEgMTAuNzAyNkwxNC4wODU2IDEwLjcwMTlMMTQuMTIzOCAxMC41NjQ0TDExLjk1IDUuMDgwNjhMMTEuODgxMyA1LjAxMzgxTDEuNzY0MzkgMS4yMzE5M0wxLjYxOTM5IDEuMjg1NjhMMS42NTE4OSAxLjQzNjkzTDEuNzIzMTQgMS4zNDI1NkwxLjY4MTg5IDEuNDUzMThMMTEuNzQ5NCA1LjIxNjkzTDEzLjc0OTQgMTAuMjYwN0wxLjc5NDM5IDEuMjQ4MThMMS43MjMxNCAxLjM0MjU2Wk0yNS44MzMxIDIyLjYxNTdMMjUuNzM0NCAyMi41NTA3TDIyLjQyNSAyNy41NjE5TDIyLjQxMzEgMjcuNjY4MkwyMi40OTE5IDI3Ljc0MDdMMjkuNTgzMSAyOS43MjYzTDI5LjcyODggMjkuNjQ1MUwzMS43MTQ0IDIyLjc0MzJMMzEuNjAwNiAyMi43MTA3VjIyLjgyODhMMzEuNjExMyAyMi44MjgyTDMxLjcxNjkgMjIuNzM1MUwzMS42NTgxIDIyLjYwNjlMMzEuNjE1NiAyMi41OTMyTDMxLjU4NTYgMjIuNTkxOUMzMS4yMzQ0IDIyLjU4NTEgMjUuODM0NCAyMi40OTc2IDI1LjgzNDQgMjIuNDk3NkwyNS43MzM4IDIyLjU1MDdMMjUuODMzMSAyMi42MTU3TDI1LjgzMTMgMjIuNzMzOEMyNS44MzQ0IDIyLjczMzggMjcuMjczMSAyMi43NTY5IDI4LjcxNTYgMjIuNzgwN0MyOS40MzY5IDIyLjc5MjYgMzAuMTU3NSAyMi44MDQ0IDMwLjY5ODggMjIuODEzMkMzMC45Njk0IDIyLjgxNzYgMzEuMTk0NCAyMi44MjEzIDMxLjM1MTkgMjIuODIzOEwzMS41MzUgMjIuODI2OUwzMS41ODMxIDIyLjgyNzZIMzEuNTk1SDMxLjU5NjlMMzEuNTk5NCAyMi43NTY5TDMxLjU5NTYgMjIuODI3NkgzMS41OTY5TDMxLjU5OTQgMjIuNzU2OUwzMS41OTU2IDIyLjgyNzZMMzEuNjAxMyAyMi43MTU3TDMxLjU5MTkgMjIuODI3NkgzMS41OTU2TDMxLjYwMTMgMjIuNzE1N0wzMS41OTE5IDIyLjgyNzZMMzEuNjAxMyAyMi43MTA3TDMxLjU4MzggMjIuODI2OUwzMS41OTEzIDIyLjgyNzZMMzEuNjAwNiAyMi43MTA3TDMxLjU4MzEgMjIuODI2OUwzMS42MDA2IDIyLjcxMDFMMzEuNTY4OCAyMi44MjM4TDMxLjU4MzEgMjIuODI2OUwzMS42MDA2IDIyLjcxMDFMMzEuNTkwNiAyMi41OTI2TDMxLjU5OTQgMjIuNjk2OVYyMi41OTE5TDMxLjU5MDYgMjIuNTkyNkwzMS41OTk0IDIyLjY5NjlWMjIuNTkxOUwzMS40ODU2IDIyLjY3NzZMMjkuNTMyNSAyOS40NjY5TDIyLjcxMDYgMjcuNTU2OUwyNS45MzA2IDIyLjY4MTNMMjUuODMzMSAyMi42MTU3Wk0wLjM5OTM5NSAyMi44MDUxTDAuMjg1NjQ1IDIyLjgzNzZMMi4yNzEyNyAyOS43Mzk0TDIuNDE2ODkgMjkuODIwN0w5LjUwODE0IDI3LjgzNTFMOS41ODY4OSAyNy43NjI2TDkuNTc1MDIgMjcuNjU2M0w2LjI2NTY0IDIyLjY0NTFMNi4xNjY4OSAyMi43MTAxSDYuMjg1MDJMNi4yMjYyNyAyMi42MDU3TDYuMTIwMDIgMjIuNTc4MkM2LjAxODc3IDIyLjU2ODggNS44Mjg3NyAyMi41NjUxIDUuNTY3NTIgMjIuNTY1MUM0LjA4NjI3IDIyLjU2NTEgMC4zOTY4OTUgMjIuNjg2MyAwLjM5NjI3IDIyLjY4NjNMMC4zMDQzOTUgMjIuNzM1MUwwLjI4NjI3IDIyLjgzNzZMMC4zOTkzOTUgMjIuODA1MUwwLjQwMzE0NSAyMi45MjMyQzAuNDA4MTQ1IDIyLjkyMzIgNC4wOTUwMiAyMi44MDE5IDUuNTY2ODkgMjIuODAxOUM1Ljc1MDY0IDIyLjgwMTkgNS44OTkzOSAyMi44MDM4IDYuMDAwNjQgMjIuODA4Mkw2LjExMDY0IDIyLjgxNTdMNi4xMjM3NyAyMi44MTc2TDYuMTQ3NTIgMjIuNzMzOEw2LjEwMjUyIDIyLjgwNzZMNi4xMjM3NyAyMi44MTc2TDYuMTQ3NTIgMjIuNzMzOEw2LjEwMjUyIDIyLjgwNzZMNi4xNjI1MiAyMi43MTAxSDYuMDQ5MzlMNi4xMDMxNCAyMi44MDc2TDYuMTYzMTQgMjIuNzEwMUg2LjA1MDAyTDYuMDY5MzkgMjIuNzc1MUw5LjI4OTM5IDI3LjY1MDdMMi40NjYyNyAyOS41NjEzTDAuNTEzMTQ1IDIyLjc3MjZMMC4zOTkzOTUgMjIuODA1MVoiIGZpbGw9IiNFMjc2MjUiIC8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOS4wOTg0MiAxNC4xMDYzTDcuMTEyNzkgMTcuMDM3NUwxNC4xMDk3IDE3LjMyMTNMMTMuOTIwMyA5Ljc1NzUyTDkuMDk4NDIgMTQuMTA2M1pNMjIuOTk3MiAxNC4xMDYzTDE4LjA4MDkgOS43NTY5TDE3Ljg5MTUgMTcuNDE1NkwyNC44ODg0IDE3LjEzMTlDMjQuODg3OCAxNy4wMzc1IDIyLjk5NzIgMTQuMTA2MyAyMi45OTcyIDE0LjEwNjNaTTkuNDc2NTQgMjcuNzIxM0wxMy43MzE1IDI1LjY0MTNMMTAuMDQ0IDIyLjgwNUw5LjQ3NjU0IDI3LjcyMTNaTTE4LjM2NCAyNS42NDEzTDIyLjYxOSAyNy43MjEzTDIyLjA1MTUgMjIuODA1QzIxLjk1NzIgMjIuODA1IDE4LjM2NCAyNS42NDEzIDE4LjM2NCAyNS42NDEzWiIgZmlsbD0iI0UyNzYyNSIgLz4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05LjA5ODU3IDE0LjEwNjNMOS4wMDA0NSAxNC4wNEw3LjAxNDgyIDE2Ljk3MTNMNy4wMDczMiAxNy4wOTA2TDcuMTA3OTUgMTcuMTU1NkwxNC4xMDQ4IDE3LjQzOTRMMTQuMTkyMyAxNy40MDU2TDE0LjIyNzMgMTcuMzE4OEwxNC4wMzc5IDkuNzU1MDFMMTMuOTY2NyA5LjY0OTM4TDEzLjg0MTEgOS42NzAwMUw5LjAxOTIgMTQuMDE4OEw5LjAwMDQ1IDE0LjA0TDkuMDk4NTcgMTQuMTA2M0w5LjE3Nzk1IDE0LjE5MzhMMTMuODA5MiAxMC4wMTY5TDEzLjk4ODYgMTcuMTk3NUw3LjMzMDQ1IDE2LjkyNzVMOS4xOTY3IDE0LjE3MjVMOS4wOTg1NyAxNC4xMDYzWk0yMi45OTczIDE0LjEwNjNMMjMuMDc1NSAxNC4wMTc1TDE4LjE1OTIgOS42NjgxM0wxOC4wMzM2IDkuNjQ4MTNMMTcuOTYyMyA5Ljc1Mzc2TDE3Ljc3MjkgMTcuNDEyNUwxNy44MDggMTcuNDk5NEwxNy44OTU0IDE3LjUzMzFMMjQuODkyOSAxNy4yNUwyNS4wMDYxIDE3LjEzMTlMMjQuOTkxMSAxNy4wNjgxQzI0Ljk1MzYgMTYuOTgzMSAyNC44MjU1IDE2Ljc3MTkgMjQuNjQxNyAxNi40NzM4QzI0LjA5NDggMTUuNTg5NCAyMy4wOTY3IDE0LjA0MjUgMjMuMDk2MSAxNC4wNDE5TDIzLjA3NDggMTQuMDE3NUwyMi45OTczIDE0LjEwNjNMMjIuODk3OSAxNC4xN0MyMi44OTkyIDE0LjE3MTMgMjMuMzcwNCAxNC45MDI1IDIzLjg0MjkgMTUuNjQ2OUMyNC4wNzkyIDE2LjAxODggMjQuMzE1NSAxNi4zOTM4IDI0LjQ5MjMgMTYuNjgxM0MyNC41ODA1IDE2LjgyNSAyNC42NTQyIDE2Ljk0NjMgMjQuNzA0OCAxNy4wMzM4TDI0Ljc2MjMgMTcuMTM2M0wyNC43NzQyIDE3LjE2MTNMMjQuODY2NyAxNy4xMzE5SDI0Ljc3MDVMMjQuNzc0OCAxNy4xNjEzTDI0Ljg2NzMgMTcuMTMxOUgyNC43NzExSDI0Ljg4OTJMMjQuODg0MiAxNy4wMTM4TDE4LjAxMzYgMTcuMjkyNUwxOC4xOTM2IDEwLjAxMzhMMjIuOTE5OCAxNC4xOTVMMjIuOTk3MyAxNC4xMDYzWk05LjQ3NjcgMjcuNzIxM0w5LjUyODU3IDI3LjgyNzVMMTMuNzgzNiAyNS43NDc1TDEzLjg0OTIgMjUuNjUzMUwxMy44MDM2IDI1LjU0NzVMMTAuMTE2MSAyMi43MTEzTDkuOTk3OTUgMjIuNjk2M0w5LjkyNjcgMjIuNzkxM0w5LjM1OTIgMjcuNzA3NUw5LjQwODU3IDI3LjgxNzVMOS41Mjg1NyAyNy44MjY5TDkuNDc2NyAyNy43MjEzTDkuNTk0MiAyNy43MzVMMTAuMTM3MyAyMy4wMjU2TDEzLjUwNzkgMjUuNjE4OEw5LjQyNDIgMjcuNjE1TDkuNDc2NyAyNy43MjEzWk0xOC4zNjQyIDI1LjY0MTNMMTguMzEyMyAyNS43NDc1TDIyLjU2NzMgMjcuODI3NUwyMi42ODczIDI3LjgxODFMMjIuNzM2NyAyNy43MDgxTDIyLjE2OTIgMjIuNzkxOUwyMi4wNTE3IDIyLjY4NzVMMjEuOTc0OCAyMi43MTA2QzIxLjg4MTcgMjIuNzYzOCAyMS42MjQyIDIyLjk1NjkgMjEuMjYyMyAyMy4yMzE5QzIwLjE4NzMgMjQuMDUxOSAxOC4yOTExIDI1LjU0OTQgMTguMjkwNSAyNS41NDk0TDE4LjI0NjEgMjUuNjU1TDE4LjMxMTcgMjUuNzQ4OEwxOC4zNjQyIDI1LjY0MTNMMTguNDM3MyAyNS43MzM4QzE4LjQzOTIgMjUuNzMyNSAxOS4zMzU0IDI1LjAyNSAyMC4yNDQ4IDI0LjMxNjNDMjAuNjk5OCAyMy45NjE5IDIxLjE1NzMgMjMuNjA3NSAyMS41MDY3IDIzLjM0MTlDMjEuNjgxMSAyMy4yMDk0IDIxLjgyOTIgMjMuMDk4OCAyMS45MzQ4IDIzLjAyMjVMMjIuMDU5MiAyMi45MzU2TDIyLjA4OTggMjIuOTE2M0wyMi4wOTExIDIyLjkxNTZMMjIuMDUxMSAyMi44MjMxVjIyLjkyMzFMMjIuMDkxMSAyMi45MTU2TDIyLjA1MTEgMjIuODIzMVYyMi45MjMxVjIyLjgwNUwyMS45MzM2IDIyLjgxODhMMjIuNDc2MSAyNy41MjA2TDE4LjQxNTUgMjUuNTM1NkwxOC4zNjQyIDI1LjY0MTNaIiBmaWxsPSIjRTI3NjI1IiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyLjUyMzggMjcuNzIxM0wxOC4yNjg4IDI1LjY0MTNMMTguNjQ2OSAyOC4zODMyVjI5LjUxNzVMMjIuNTIzOCAyNy43MjEzWk05LjQ3NjMyIDI3LjcyMTNMMTMuNDQ3NiAyOS42MTI1VjI4LjQ3ODJMMTMuODI1NyAyNS43MzYzTDkuNDc2MzIgMjcuNzIxM1oiIGZpbGw9IiNENUJGQjIiIC8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjIuNTIzOCAyNy43MjEzTDIyLjU3NTcgMjcuNjE1TDE4LjMyMDcgMjUuNTM1TDE4LjE5OTQgMjUuNTQ1N0wxOC4xNTE5IDI1LjY1NzVMMTguNTI4OCAyOC4zOTEzVjI5LjUxNzVMMTguNTgzMiAyOS42MTY5TDE4LjY5NjMgMjkuNjI0NEwyMi41NzI1IDI3LjgyODJMMjIuNjQxMyAyNy43MjE5TDIyLjU3NSAyNy42MTQ0TDIyLjUyMzggMjcuNzIxM0wyMi40NzM4IDI3LjYxMzhMMTguNzY1IDI5LjMzMjVWMjguMzgzMkwxOC43NjM4IDI4LjM2NjlMMTguNDE1NyAyNS44NDVMMjIuNDcxMyAyNy44Mjc1TDIyLjUyMzggMjcuNzIxM1pNOS40NzYyOCAyNy43MjEzTDkuNDI1NjUgMjcuODI4MkwxMy4zOTY5IDI5LjcxOTRMMTMuNTEwNyAyOS43MTI1TDEzLjU2NTcgMjkuNjEyNVYyOC40ODYzTDEzLjk0MjUgMjUuNzUxOUwxMy44OTYzIDI1LjY0MDdMMTMuNzc2OSAyNS42MjgyTDkuNDI3NTMgMjcuNjEzOEw5LjM1ODE1IDI3LjcyTDkuNDI1NjUgMjcuODI3NUw5LjQ3NjI4IDI3LjcyMTNMOS41MjU2NSAyNy44Mjg4TDEzLjY3OTQgMjUuOTMyNUwxMy4zMzA3IDI4LjQ2MTNMMTMuMzI5NCAyOC40Nzc1VjI5LjQyNUw5LjUyNzUzIDI3LjYxNDRMOS40NzYyOCAyNy43MjEzWiIgZmlsbD0iI0Q1QkZCMiIgLz4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMy40NDc4IDIxLjAwODhMOS45NDk3MSAxOS45Njg4TDEyLjQwNzggMTguODM0NEwxMy40NDc4IDIxLjAwODhaTTE4LjU1MzUgMjEuMDA4OEwxOS41OTM1IDE4LjgzNDRMMjIuMDUxNiAxOS45Njg4TDE4LjU1MzUgMjEuMDA4OFoiIGZpbGw9IiMyMzM0NDciIC8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTMuNDQ3NCAyMS4wMDg3TDEzLjQ4MTIgMjAuODk1NkwxMC4yODMgMTkuOTQ1TDEyLjM1MTIgMTguOTkwNkwxMy4zNDEyIDIxLjA2TDEzLjQ0NzQgMjEuMDA4N0wxMy41NTQzIDIwLjk1NzVMMTIuNTE0MyAxOC43ODMxTDEyLjM1OCAxOC43MjY5TDkuODk5OTEgMTkuODYxMkw5LjgzMTc5IDE5Ljk3NjlMOS45MTYxNiAyMC4wODE5TDEzLjQxNDMgMjEuMTIxOUwxMy41MzggMjEuMDg1NkwxMy41NTQ5IDIwLjk1ODFMMTMuNDQ3NCAyMS4wMDg3Wk0xOC41NTMgMjEuMDA4N0wxOC42NTk5IDIxLjA2TDE5LjY0OTkgMTguOTkwNkwyMS43MTggMTkuOTQ1TDE4LjUxOTkgMjAuODk1NkwxOC41NTMgMjEuMDA4N0wxOC41ODY4IDIxLjEyMTlMMjIuMDg0OSAyMC4wODE5TDIyLjE2OTMgMTkuOTc2OUwyMi4xMDEyIDE5Ljg2MTJMMTkuNjQzIDE4LjcyNjlMMTkuNDg2OCAxOC43ODMxTDE4LjQ0NjggMjAuOTU3NUwxOC40NjM3IDIxLjA4NUwxOC41ODc0IDIxLjEyMTJMMTguNTUzIDIxLjAwODdaIiBmaWxsPSIjMjMzNDQ3IiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTkuNDc2NDcgMjcuNzIxM0wxMC4wNDQgMjIuNzFMNi4xNjc3MiAyMi44MDQ0TDkuNDc2NDcgMjcuNzIxM1pNMjEuOTU3MSAyMi42MTU2TDIyLjUyNDYgMjcuNjI2OUwyNS44MzQgMjIuNzEwNkwyMS45NTcxIDIyLjYxNTZaTTI0Ljg4NzcgMTcuMTMxOUwxNy44OTA5IDE3LjQxNTZMMTguNTUyNyAyMS4wMDg4TDE5LjU5MjcgMTguODM0NEwyMi4wNTA4IDE5Ljk2ODhMMjQuODg3NyAxNy4xMzE5Wk05Ljk0ODk3IDE5Ljk2ODhMMTIuNDA3MSAxOC44MzQ0TDEzLjQ0NzEgMjEuMDA4OEwxNC4xMDkgMTcuNDE1Nkw3LjExMjEgMTcuMTMxOUw5Ljk0ODk3IDE5Ljk2ODhaIiBmaWxsPSIjQ0M2MjI4IiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTkuNDc2MzYgMjcuNzIxM0w5LjU5Mzg2IDI3LjczNDRMMTAuMTYxNCAyMi43MjMyTDEwLjEzMTQgMjIuNjNMMTAuMDQxNCAyMi41OTE5TDYuMTY1MTEgMjIuNjg2M0w2LjA2MzIzIDIyLjc1TDYuMDcwMTEgMjIuODdMOS4zNzk0OCAyNy43ODYzTDkuNTA1NzMgMjcuODM1TDkuNTk1MTEgMjcuNzMzOEw5LjQ3NjM2IDI3LjcyMTNMOS41NzQ0OCAyNy42NTVMNi4zODU3MyAyMi45MTc1TDkuOTEwNzMgMjIuODMxM0w5LjM1ODg2IDI3LjcwNzVMOS40NzYzNiAyNy43MjEzWk0yMS45NTcgMjIuNjE1N0wyMS44Mzk1IDIyLjYyODhMMjIuNDA3IDI3LjY0TDIyLjQ5NjQgMjcuNzQxM0wyMi42MjI2IDI3LjY5MjVMMjUuOTMyIDIyLjc3NjNMMjUuOTM4OSAyMi42NTYzTDI1LjgzNyAyMi41OTI1TDIxLjk2MDcgMjIuNDk4MkwyMS44NzA3IDIyLjUzNjNMMjEuODQwNyAyMi42Mjk0TDIxLjk1NyAyMi42MTU3TDIxLjk1MzkgMjIuNzMzOEwyNS42MTUxIDIyLjgyMzJMMjIuNjA1NyAyNy4yOTQ0TDIyLjA3NDUgMjIuNjAyNUwyMS45NTcgMjIuNjE1N1pNMjQuODg3NiAxNy4xMzE5TDI0Ljg4MjYgMTcuMDEzOEwxNy44ODU3IDE3LjI5NzVMMTcuNzk4MiAxNy4zNDE5TDE3Ljc3NDUgMTcuNDM2OUwxOC40MzY0IDIxLjAzTDE4LjUzNyAyMS4xMjU3TDE4LjY1ODkgMjEuMDU5NEwxOS42NDg5IDE4Ljk5TDIyLjAwMTQgMjAuMDc1N0wyMi4xMzQ1IDIwLjA1MTlMMjQuOTcwNyAxNy4yMTU3TDI0Ljk5NTEgMTcuMDg0NEwyNC44ODIgMTcuMDEzOEwyNC44ODc2IDE3LjEzMTlMMjQuODAzOSAxNy4wNDgyTDIyLjAyNTcgMTkuODI2M0wxOS42NDI2IDE4LjcyNjNMMTkuNDg2NCAxOC43ODI1TDE4LjYwMzIgMjAuNjI4OEwxOC4wMzIgMTcuNTI3NUwyNC44OTI2IDE3LjI1TDI0Ljg4NzYgMTcuMTMxOVpNOS45NDg4NiAxOS45Njg4TDkuOTk4MjMgMjAuMDc2M0wxMi4zNTA3IDE4Ljk5MDdMMTMuMzQwNyAyMS4wNkwxMy40NjI2IDIxLjEyNjNMMTMuNTYzMiAyMS4wMzA3TDE0LjIyNTEgMTcuNDM3NUwxNC4yMDE0IDE3LjM0MjVMMTQuMTEzOSAxNy4yOTgyTDcuMTE2OTggMTcuMDE0NEw3LjAwMzg2IDE3LjA4NUw3LjAyODIzIDE3LjIxNjNMOS44NjQ0OCAyMC4wNTI1TDkuOTk3NjEgMjAuMDc2M0w5Ljk0ODg2IDE5Ljk2ODhMMTAuMDMyNiAxOS44ODVMNy40MTAxMSAxNy4yNjI1TDEzLjk2ODIgMTcuNTI4MkwxMy4zOTcgMjAuNjI5NEwxMi41MTM5IDE4Ljc4MzJMMTIuMzU3NiAxOC43MjY5TDkuODk5NDggMTkuODYxM0w5Ljk0ODg2IDE5Ljk2ODhaIiBmaWxsPSIjQ0M2MjI4IiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcuMTEyNzkgMTcuMDM3NUwxMC4wNDQgMjIuODA1TDkuOTQ5NjcgMTkuOTY4OEM5Ljk0OTA0IDE5Ljk2ODggNy4xMTI3OSAxNy4xMzE5IDcuMTEyNzkgMTcuMDM3NVpNMjIuMDUxNSAxOS45Njg4TDIxLjk1NzIgMjIuODA1TDI0Ljg4ODQgMTcuMDM3NUwyMi4wNTE1IDE5Ljk2ODhaTTE0LjEwOSAxNy40MTU3TDEzLjQ0NzIgMjEuMDA4OEwxNC4yOTc4IDI1LjI2MzhMMTQuNDg3MiAxOS42ODU3TDE0LjEwOSAxNy40MTU3Wk0xNy44OTE1IDE3LjQxNTdMMTcuNTEzNCAxOS42ODVMMTcuNzAyOCAyNS4yNjMyTDE4LjU1MzQgMjEuMDA4MkwxNy44OTE1IDE3LjQxNTdaIiBmaWxsPSIjRTI3NTI1IiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcuMTEyNzUgMTcuMDM3NUw3LjAwNzEzIDE3LjA5MTNMOS45MzgzOCAyMi44NTg4TDEwLjA3MzQgMjIuOTE5NEwxMC4xNjIxIDIyLjgwMTNMMTAuMDY3OCAxOS45NjVMMTAuMDMzNCAxOS44ODU3QzEwLjAzMjEgMTkuODg0NCA5LjMyNDYzIDE5LjE3NjkgOC42MTU4OCAxOC40NTYzQzguMjYxNSAxOC4wOTYzIDcuOTA3MTMgMTcuNzMzMiA3LjY0MjEzIDE3LjQ1NDRDNy41MDk2MyAxNy4zMTUgNy4zOTk2MyAxNy4xOTc1IDcuMzIzMzggMTcuMTEyNUw3LjIzNzc1IDE3LjAxMzJMNy4yMjAyNSAxNi45OUw3LjE5OSAxNy4wMDM4TDcuMjIxNSAxNi45OTMyTDcuMjIwMjUgMTYuOTlMNy4xOTkgMTcuMDAzOEw3LjIyMTUgMTYuOTkzMkw3LjEyODM4IDE3LjAzODhINy4yMzE1TDcuMjIxNSAxNi45OTMyTDcuMTI4MzggMTcuMDM4OEg3LjIzMTVINy4xMTI3NUw3LjAwNzEzIDE3LjA5MjVMNy4xMTI3NSAxNy4wMzc1SDYuOTk0NjNMNy4wMjIxMyAxNy4xMTk0QzcuMDgwODggMTcuMjA1NyA3LjI3MTUgMTcuNDA4OCA3LjU0Nzc1IDE3LjY5ODJDOC4zNjgzOCAxOC41NTUgOS44NjUyNSAyMC4wNTE5IDkuODY1ODggMjAuMDUyNUw5Ljk0OTYzIDE5Ljk2ODhMOS44MzE1IDE5Ljk3MjVMOS45MDgzOCAyMi4yNzY5TDcuMjE4MzggMTYuOTgzOEw3LjA4NTI1IDE2LjkyMjVMNi45OTQ2MyAxNy4wMzc1SDcuMTEyNzVaTTIyLjA1MTUgMTkuOTY4OEwyMS45MzM0IDE5Ljk2NUwyMS44MzkgMjIuODAxM0wyMS45Mjc4IDIyLjkxOTRMMjIuMDYyOCAyMi44NTg4TDI0Ljk5NCAxNy4wOTEzTDI0Ljk1NzEgMTYuOTQxM0wyNC44MDM0IDE2Ljk1NUwyMS45NjcxIDE5Ljg4NjNMMjEuOTM0IDE5Ljk2NDRMMjIuMDUxNSAxOS45Njg4TDIyLjEzNjUgMjAuMDUwN0wyNC40MjcxIDE3LjY4MzhMMjIuMDkyOCAyMi4yNzY5TDIyLjE2OTYgMTkuOTcyNUwyMi4wNTE1IDE5Ljk2ODhaTTE0LjEwOSAxNy40MTU3TDEzLjk5MjggMTcuMzk0NEwxMy4zMzA5IDIwLjk4NzVMMTMuMzMxNSAyMS4wMzE5TDE0LjE4MjEgMjUuMjg2OUwxNC4zMDc4IDI1LjM4MTNMMTQuNDE2NSAyNS4yNjc1TDE0LjYwNTkgMTkuNjg5NEwxNC42MDQ2IDE5LjY2NjNMMTQuMjI2NSAxNy4zOTY5TDE0LjExMDkgMTcuMjk4MkwxMy45OTM0IDE3LjM5NUwxNC4xMDkgMTcuNDE1N0wxMy45OTIxIDE3LjQzNUwxNC4zNjg0IDE5LjY5MjVMMTQuMjE0IDI0LjI0MjVMMTMuNTY3MSAyMS4wMDc1TDE0LjIyNDYgMTcuNDM2OUwxNC4xMDkgMTcuNDE1N1pNMTcuODkxNSAxNy40MTU3TDE3Ljc3NDYgMTcuMzk2M0wxNy4zOTY1IDE5LjY2NTdMMTcuMzk1MyAxOS42ODg4TDE3LjU4NDYgMjUuMjY2OUwxNy42OTM0IDI1LjM4MDdMMTcuODE5IDI1LjI4NjNMMTguNjY5NiAyMS4wMzEzTDE4LjY3MDMgMjAuOTg2OUwxOC4wMDg0IDE3LjM5MzhMMTcuODkwOSAxNy4yOTY5TDE3Ljc3NTMgMTcuMzk1N0wxNy44OTE1IDE3LjQxNTdMMTcuNzc1MyAxNy40MzY5TDE4LjQzMjggMjEuMDA3NUwxNy43ODU5IDI0LjI0MTlMMTcuNjMxNSAxOS42OTI1TDE4LjAwNzggMTcuNDM1TDE3Ljg5MTUgMTcuNDE1N1oiIGZpbGw9IiNFMjc1MjUiIC8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTguNTUzMyAyMS4wMDg4TDE3LjcwMjcgMjUuMjYzOEwxOC4yNzAyIDI1LjY0MTlMMjEuOTU3NyAyMi44MDU2TDIyLjA1MjEgMTkuOTY5NEwxOC41NTMzIDIxLjAwODhaTTkuOTQ4OTcgMTkuOTY4OEwxMC4wNDM0IDIyLjgwNUwxMy43MzA4IDI1LjY0MTNMMTQuMjk4MyAyNS4yNjMxTDEzLjQ0NzcgMjEuMDA4MUw5Ljk0ODk3IDE5Ljk2ODhaIiBmaWxsPSIjRjU4NDFGIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE4LjU1MzEgMjEuMDA4OEwxOC40Mzc0IDIwLjk4NTdMMTcuNTg2OCAyNS4yNDA3TDE3LjYzNzQgMjUuMzYxOUwxOC4yMDQ5IDI1Ljc0TDE4LjM0MjQgMjUuNzM1N0wyMi4wMjk5IDIyLjg5OTRMMjIuMDc2MiAyMi44MDk0TDIyLjE3MDYgMTkuOTczMkwyMi4xMjQ5IDE5Ljg3NTdMMjIuMDE5MyAxOS44NTU3TDE4LjUyMTIgMjAuODk1N0wxOC40Mzg3IDIwLjk4NTdMMTguNTUzMSAyMS4wMDg4TDE4LjU4NjggMjEuMTIxOUwyMS45MjgxIDIwLjEyODhMMjEuODQwNiAyMi43NDU3TDE4LjI2NDMgMjUuNDk2M0wxNy44MzMxIDI1LjIwODhMMTguNjY4NyAyMS4wMzE5TDE4LjU1MzEgMjEuMDA4OFpNOS45NDg2OSAxOS45Njg4TDkuODMwNTcgMTkuOTcyNUw5LjkyNDk0IDIyLjgwODhMOS45NzExOSAyMi44OTg4TDEzLjY1ODcgMjUuNzM1TDEzLjc5NjIgMjUuNzM5NEwxNC4zNjM3IDI1LjM2MTNMMTQuNDE0MyAyNS4yNEwxMy41NjM3IDIwLjk4NUwxMy40ODEyIDIwLjg5NUw5Ljk4MzA3IDE5Ljg1NUw5Ljg3NzQ0IDE5Ljg3NUw5LjgzMTgyIDE5Ljk3MjVMOS45NDg2OSAxOS45Njg4TDkuOTE0OTQgMjAuMDgxOUwxMy4zNDQ5IDIxLjEwMTlMMTQuMTY2MiAyNS4yMDk0TDEzLjczNTYgMjUuNDk2OUwxMC4xNTkzIDIyLjc0NjNMMTAuMDY2OCAxOS45NjU3TDkuOTQ4NjkgMTkuOTY4OFoiIGZpbGw9IiNGNTg0MUYiIC8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTguNjQ3OSAyOS41MTgxVjI4LjM4MzFMMTguMzY0MiAyOC4wOTk0SDEzLjYzNjdMMTMuMzUyOSAyOC4zODMxVjI5LjUxODFMOS4zODIzMiAyNy42MjY5TDEwLjgwMDQgMjguNzYxM0wxMy41NDIzIDMwLjY1MjVIMTguMzY0MkwyMS4yMDA0IDI4Ljc2MTNMMjIuNTI0MiAyNy42MjY5TDE4LjY0NzkgMjkuNTE4MVoiIGZpbGw9IiNDMEFDOUQiIC8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTguNjQ3NSAyOS41MTgxSDE4Ljc2NTZWMjguMzgzMUwxOC43MzEzIDI4LjNMMTguNDQ3NSAyOC4wMTYzTDE4LjM2MzggMjcuOTgxM0gxMy42MzYzTDEzLjU1MjUgMjguMDE2M0wxMy4yNjg4IDI4LjNMMTMuMjM0NCAyOC4zODMxVjI5LjMzMDZMOS40MzI1IDI3LjUyTDkuMjgxMjUgMjcuNTY0NEw5LjMwNzUgMjcuNzE5NEwxMC43MjYyIDI4Ljg1MzhMMTAuNzMyNSAyOC44NTg4TDEzLjQ3NDQgMzAuNzVMMTMuNTQxOSAzMC43NzA2SDE4LjM2MzhMMTguNDI5NCAzMC43NTA2TDIxLjI2NTYgMjguODZMMjEuMjc2OSAyOC44NTEzTDIyLjYwMDYgMjcuNzE2OUwyMi42MjI1IDI3LjU2MTlMMjIuNDcxOSAyNy41MjA2TDE4LjU5NTYgMjkuNDExOUwxOC42NDc1IDI5LjUxODFIMTguNzY1NkgxOC42NDc1TDE4LjY5OTQgMjkuNjI0NEwyMS43NDYzIDI4LjEzNzVMMjEuMTI4OCAyOC42NjY5TDE4LjMyODEgMzAuNTM0NEgxMy41Nzg4TDEwLjg3MDYgMjguNjY2OUwxMC4yNTMxIDI4LjE3MzFMMTMuMzAxOSAyOS42MjQ0TDEzLjQxNTYgMjkuNjE3NUwxMy40NzA2IDI5LjUxODFWMjguNDMyNUwxMy42ODUgMjguMjE3NUgxOC4zMTVMMTguNTI5NCAyOC40MzI1VjI5LjUxODFMMTguNTg1IDI5LjYxODFMMTguNjk5NCAyOS42MjQ0TDE4LjY0NzUgMjkuNTE4MVoiIGZpbGw9IiNDMEFDOUQiIC8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTguMzYzNSAyNS42NDEzTDE3Ljc5NiAyNS4yNjMySDE0LjI5NzlMMTMuNzMwNCAyNS42NDEzTDEzLjM1MjMgMjguMzgzMkwxMy42MzYgMjguMDk5NEgxOC4zNjM1TDE4LjY0NzMgMjguMzgzMkwxOC4zNjM1IDI1LjY0MTNaIiBmaWxsPSIjMTYxNjE2IiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE4LjM2NCAyNS42NDEzTDE4LjQyOTYgMjUuNTQzMUwxNy44NjIxIDI1LjE2NUwxNy43OTY1IDI1LjE0NUgxNC4yOTgzTDE0LjIzMjcgMjUuMTY1TDEzLjY2NTIgMjUuNTQzMUwxMy42MTQgMjUuNjI1TDEzLjIzNTggMjguMzY2OUwxMy4zMDAyIDI4LjQ4OTRMMTMuNDM2NSAyOC40NjY5TDEzLjY4NTIgMjguMjE3NUgxOC4zMTUyTDE4LjU2NCAyOC40NjY5TDE4LjY5ODMgMjguNDlMMTguNzY1MiAyOC4zNzEzTDE4LjQ4MTUgMjUuNjI5NEwxOC40Mjk2IDI1LjU0MzFMMTguMzY0IDI1LjY0MTNMMTguMjQ2NSAyNS42NTM4TDE4LjQ5NTggMjguMDY0NEwxOC40NDc3IDI4LjAxNjNMMTguMzY0IDI3Ljk4MTNIMTMuNjM2NUwxMy41NTI3IDI4LjAxNjNMMTMuNTE3NyAyOC4wNTEzTDEzLjg0MDggMjUuNzFMMTQuMzM0IDI1LjM4MTNIMTcuNzYwOEwxOC4yOTgzIDI1Ljc0TDE4LjM2NCAyNS42NDEzTDE4LjI0NjUgMjUuNjUzOEwxOC4zNjQgMjUuNjQxM1oiIGZpbGw9IiMxNjE2MTYiIC8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzAuODQ0NSAxMS4xNzU3TDMxLjg4NDUgNi4wNzAwM0wzMC4zNzIgMS4zNDI1M0wxOC4zNjQ1IDEwLjIzTDIyLjk5NzYgMTQuMTA2M0wyOS41MjEzIDE1Ljk5NzVMMzAuOTM5NSAxNC4yOTU3TDMwLjI3NzYgMTMuODIzMkwzMS4yMjMyIDEyLjg3NzVMMzAuNDY3IDEyLjMxTDMxLjQxMjYgMTEuNTUzOEwzMC44NDQ1IDExLjE3NTdaTTAuMTE1NzIzIDYuMDcwMDNMMS4xNTU3MiAxMS4xNzU3TDAuNDkzODQ4IDExLjY0ODJMMS41MzM4NSAxMi40MDQ0TDAuNzc3NTk4IDEyLjk3MTlMMS43MjMyMiAxMy45MTc1TDEuMDYxMzUgMTQuMzlMMi40Nzk0NyAxNi4wOTE5TDkuMDAzMjIgMTQuMjAwN0wxMy42MzYzIDEwLjMyNDRMMS43MjMyMiAxLjM0MjUzTDAuMTE1NzIzIDYuMDcwMDNaIiBmaWxsPSIjNzYzRTFBIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMwLjg0NDQgMTEuMTc1NkwzMC45NiAxMS4xOTk0TDMyIDYuMDkzMTJMMzEuOTk2OSA2LjAzMzc0TDMwLjQ4NDQgMS4zMDYyNUwzMC40MDgxIDEuMjNMMzAuMzAxMyAxLjI0NzVMMTguMjkzOCAxMC4xMzVMMTguMjQ1NiAxMC4yMjYyTDE4LjI4ODEgMTAuMzIwNkwyMi45MjEyIDE0LjE5NjlMMjIuOTY0NCAxNC4yMkwyOS40ODgxIDE2LjExMTJMMjkuNjExOSAxNi4wNzMxTDMxLjAzIDE0LjM3MTJMMzEuMDU2MiAxNC4yODA2TDMxLjAwNzUgMTQuMTk5NEwzMC40NTk0IDEzLjgwNzVMMzEuMzA2MiAxMi45NjA2TDMxLjM0MDYgMTIuODY4N0wzMS4yOTM4IDEyLjc4MjVMMzAuNjU5NCAxMi4zMDY5TDMxLjQ4NTYgMTEuNjQ1NkwzMS41MyAxMS41NDgxTDMxLjQ3NzUgMTEuNDU1TDMwLjkxIDExLjA3NjlMMzAuODQ0NCAxMS4xNzU2TDMwLjc3ODcgMTEuMjczN0wzMS4yMTE5IDExLjU2MjVMMzAuMzkyNSAxMi4yMTgxTDMwLjM0ODEgMTIuMzEyNUwzMC4zOTU2IDEyLjQwNUwzMS4wNDMxIDEyLjg5MDZMMzAuMTkzOCAxMy43NEwzMC4xNTk0IDEzLjgzMzFMMzAuMjA4NyAxMy45MTk0TDMwLjc2NjkgMTQuMzE4MUwyOS40Nzk0IDE1Ljg2MjVMMjMuMDUzMSAxNEwxOC41NTQ0IDEwLjIzNTZMMzAuMzA4OCAxLjUzNTYyTDMxLjc2MTkgNi4wNzY4N0wzMC43MjgxIDExLjE1MjVMMzAuNzc4MSAxMS4yNzQ0TDMwLjg0NDQgMTEuMTc1NlpNMC4xMTU2MjUgNi4wNjk5OUwwIDYuMDkzMTJMMS4wMjUgMTEuMTIzN0wwLjQyNTYyNSAxMS41NTE5TDAuMzc2MjUgMTEuNjQ3NUwwLjQyNSAxMS43NDM3TDEuMzM1NjMgMTIuNDA2MkwwLjcwNzUgMTIuODc3NUwwLjY2MDYyNSAxMi45NjM3TDAuNjk1IDEzLjA1NTZMMS41NDE4OCAxMy45MDI1TDAuOTkzNzUgMTQuMjk0NEwwLjk0NSAxNC4zNzU2TDAuOTcxMjUgMTQuNDY2MkwyLjM4OTM3IDE2LjE2ODFMMi41MTMxMiAxNi4yMDYyTDkuMDM2ODcgMTQuMzE1TDkuMDggMTQuMjkxOUwxMy43MTMxIDEwLjQxNTZMMTMuNzU1NiAxMC4zMjE5TDEzLjcwODcgMTAuMjMwNkwxLjc5NDM3IDEuMjQ4MTJMMS42ODg3NSAxLjIyOTM3TDEuNjExODggMS4zMDQzN0wwLjAwMzc1IDYuMDMxODdMMCA2LjA5MzEyTDAuMTE1NjI1IDYuMDY5OTlMMC4yMjc1IDYuMTA4MTJMMS43ODI1IDEuNTM1NjJMMTMuNDQ2MiAxMC4zM0w4Ljk0NjI1IDE0LjA5NUwyLjUyMDYzIDE1Ljk1NzVMMS4yMzMxMiAxNC40MTI1TDEuNzkxMjUgMTQuMDEzN0wxLjg0MDYzIDEzLjkyNzVMMS44MDYyNSAxMy44MzQ0TDAuOTU2ODc1IDEyLjk4NUwxLjYwNDM4IDEyLjQ5OTRMMS42NTE4OCAxMi40MDM3TDEuNjAzMTIgMTIuMzA4N0wwLjY5NTYyNSAxMS42NDg3TDEuMjIzNzUgMTEuMjcxMkwxLjI3MDYyIDExLjE1MTJMMC4yMzE4NzUgNi4wNDYyNEwwLjExNTYyNSA2LjA2OTk5WiIgZmlsbD0iIzc2M0UxQSIgLz4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yOS40MjU0IDE1Ljk5NzVMMjIuOTAxNyAxNC4xMDYzTDI0Ljg4NzMgMTcuMDM3NUwyMS45NTYgMjIuNzEwNkgyNS44MzIzSDMxLjU5OThMMjkuNDI1NCAxNS45OTc1Wk05LjA5NzkyIDE0LjEwNjNMMi41NzQxNyAxNS45OTc1TDAuMzk5MTcgMjIuNzEwNkg2LjE2NjY3SDEwLjA0MjlMNy4xMTE2NyAxNy4wMzc1TDkuMDk3OTIgMTQuMTA2M1pNMTcuODkxIDE3LjQxNTZMMTguMzYzNSAxMC4yM0wyMC4yNTQ4IDUuMTI0MzlIMTEuODM5OEwxMy43MzEgMTAuMjNMMTQuMTA5MiAxNy40MTU2TDE0LjI5ODUgMTkuNjg1VjI1LjI2MzFIMTcuNzk2N1YxOS42ODVMMTcuODkxIDE3LjQxNTZaIiBmaWxsPSIjRjU4NDFGIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTI5LjQyNTYgMTUuOTk3NUwyOS40NTg3IDE1Ljg4MzdMMjIuOTM1IDEzLjk5MjVMMjIuODA2MiAxNC4wMzYyTDIyLjgwMzcgMTQuMTcxOUwyNC43NSAxNy4wNDVMMjEuODUxMiAyMi42NTU2TDIxLjg1NSAyMi43NzEyTDIxLjk1NjIgMjIuODI4MUgyNS44MzI1SDMxLjZMMzEuNjk1NiAyMi43Nzk0TDMxLjcxMjUgMjIuNjczN0wyOS41MzgxIDE1Ljk2MDZMMjkuNDU4NyAxNS44ODM3TDI5LjQyNTYgMTUuOTk3NUwyOS4zMTMxIDE2LjAzMzdMMzEuNDM3NSAyMi41OTE5SDI1LjgzMjVIMjIuMTVMMjQuOTkxOSAxNy4wOTEyTDI0Ljk4NSAxNi45NzA2TDIzLjE4MzEgMTQuMzEwNkwyOS4zOTI1IDE2LjExMDZMMjkuNDI1NiAxNS45OTc1Wk05LjA5ODExIDE0LjEwNjJMOS4wNjQ5OSAxMy45OTI1TDIuNTQxMjQgMTUuODgzN0wyLjQ2MTg2IDE1Ljk2MDZMMC4yODY4NjUgMjIuNjczN0wwLjMwMzc0IDIyLjc4TDAuMzk5MzY1IDIyLjgyODdINi4xNjY4NkgxMC4wNDMxTDEwLjE0MzcgMjIuNzcxOUwxMC4xNDc1IDIyLjY1NjJMNy4yNDg3NCAxNy4wNDU2TDkuMTk0OTkgMTQuMTcyNUw5LjE5MjQ5IDE0LjAzNjlMOS4wNjM3NCAxMy45OTMxTDkuMDk4MTEgMTQuMTA2Mkw4Ljk5OTk5IDE0LjA0TDcuMDE0MzYgMTYuOTcxMkw3LjAwNzQ5IDE3LjA5MTlMOS44NDkzNiAyMi41OTI1SDYuMTY2ODZIMC41NjE4NjVMMi42NjY4NiAxNi4wOTM3TDkuMTMwNjEgMTQuMjJMOS4wOTgxMSAxNC4xMDYyWk0xNy44OTEyIDE3LjQxNTZMMTguMDA5NCAxNy40MjMxTDE4LjQ4MTIgMTAuMjU0NEwyMC4zNjYyIDUuMTY0OTlMMjAuMzUyNSA1LjA1NjI0TDIwLjI1NTYgNS4wMDU2MkgxMS44NEwxMS43NDMxIDUuMDU2MjRMMTEuNzI5NCA1LjE2NDk5TDEzLjYxMzcgMTAuMjUzN0wxMy45OTEyIDE3LjQyMTlWMTcuNDI1NkwxNC4xOCAxOS42OVYyNS4yNjMxTDE0LjIxNDQgMjUuMzQ2OUwxNC4yOTgxIDI1LjM4MTJIMTcuNzk2MkwxNy44OCAyNS4zNDY5TDE3LjkxNDQgMjUuMjYzMVYxOS42ODc1TDE4LjAwODcgMTcuNDIwNkwxNy44OTEyIDE3LjQxNTZMMTcuNzczMSAxNy40MTA2TDE3LjY3ODcgMTkuNjhWMTkuNjg1VjI1LjE0NUgxNC40MTY5VjE5LjY4NUwxNC40MTYyIDE5LjY3NUwxNC4yMjc1IDE3LjQwNzVMMTMuODQ5NCAxMC4yMjMxTDEzLjg0MjUgMTAuMTg4MUwxMi4wMTA2IDUuMjQxODdIMjAuMDg1NkwxOC4yNTM3IDEwLjE4ODFMMTguMjQ2OSAxMC4yMjEyTDE3Ljc3NDQgMTcuNDA2OVYxNy40MUwxNy44OTEyIDE3LjQxNTZaIiBmaWxsPSIjRjU4NDFGIiAvPgogICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICA8ZGVmcz4KICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD0iY2xpcDBfMF82NTEiPgogICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9IndoaXRlIiAvPgogICAgICAgICAgICAgICAgPC9jbGlwUGF0aD4KICAgICAgICAgICAgICA8L2RlZnM+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtZmlyc3QiPk1ldGFNYXNrPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kIj5Db25uZWN0IHdpdGggTWV0YU1hc2sgV2FsbGV0PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJtc193YWxsZXRfbW0iIG5hbWU9Im1zX3dhbGxldCIgY2hlY2tlZD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbCIgb25jbGljaz0iTVNNLnNlbGVjdCgnI21zX3dhbGxldF9jYicpIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLWNvbnRlbnQiPgogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIGZpbGw9Im5vbmUiPgogICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8wXzY4MykiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE2IDBDMjQuODM3NSAwIDMyIDcuMTYyNSAzMiAxNkMzMiAyNC44Mzc1IDI0LjgzNzUgMzIgMTYgMzJDNy4xNjI1IDMyIDAgMjQuODM3NSAwIDE2QzAgNy4xNjI1IDcuMTYyNSAwIDE2IDBaIiBmaWxsPSIjMDA1MkZGIiAvPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE2LjAwMzEgMjEuNjI1QzEyLjg5NjkgMjEuNjI1IDEwLjM3ODEgMTkuMTA5NCAxMC4zNzgxIDE2QzEwLjM3ODEgMTIuODkwNiAxMi44OTY5IDEwLjM3NSAxNi4wMDMxIDEwLjM3NUMxOC43ODc1IDEwLjM3NSAyMS4xIDEyLjQwNjIgMjEuNTQzOCAxNS4wNjI1SDI3LjIwOTRDMjYuNzMxMyA5LjI4NzUgMjEuODk2OSA0Ljc1IDE2IDQuNzVDOS43ODc1IDQuNzUgNC43NSA5Ljc4NzUgNC43NSAxNkM0Ljc1IDIyLjIxMjUgOS43ODc1IDI3LjI1IDE2IDI3LjI1QzIxLjg5NjkgMjcuMjUgMjYuNzMxMyAyMi43MTI1IDI3LjIwOTQgMTYuOTM3NUgyMS41NDA2QzIxLjA5MzggMTkuNTkzOCAxOC43ODc1IDIxLjYyNSAxNi4wMDMxIDIxLjYyNVoiIGZpbGw9IndoaXRlIiAvPgogICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICA8ZGVmcz4KICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD0iY2xpcDBfMF82ODMiPgogICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9IndoaXRlIiAvPgogICAgICAgICAgICAgICAgPC9jbGlwUGF0aD4KICAgICAgICAgICAgICA8L2RlZnM+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtZmlyc3QiPkNvaW5iYXNlPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kIj5Db25uZWN0IHdpdGggQ29pbmJhc2UgV2FsbGV0PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJtc193YWxsZXRfY2IiIG5hbWU9Im1zX3dhbGxldCI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwiIG9uY2xpY2s9Ik1TTS5zZWxlY3QoJyNtc193YWxsZXRfYncnKSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC1jb250ZW50Ij4KICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIiBmaWxsPSJub25lIj4KICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMF82OTApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03LjI0MjY2IDE2TDMuNjM4MDggMTkuNjA0NkwwLjAyNDQxNDEgMTZMMy42MjkgMTIuMzk1NEw3LjI0MjY2IDE2Wk0xNi4wMDQ0IDcuMjM4MjFMMjIuMTg3NiAxMy40MjE0TDI1Ljc5MjIgOS44MTY4TDE2LjAwNDQgMC4wMTk5NTg1TDYuMjA3NTkgOS44MTY4TDkuODEyMTggMTMuNDIxNEwxNi4wMDQ0IDcuMjM4MjFaTTI4LjM3MDggMTIuMzk1NEwyNC43NjYyIDE2TDI4LjM3MDggMTkuNjA0NkwzMS45NzU0IDE2TDI4LjM3MDggMTIuMzk1NFpNMTYuMDA0NCAyNC43NjE4TDkuODIxMjYgMTguNTc4Nkw2LjIxNjY3IDIyLjE4MzJMMTYuMDA0NCAzMS45OEwyNS43OTIyIDIyLjE4MzJMMjIuMTg3NiAxOC41Nzg2TDE2LjAwNDQgMjQuNzYxOFpNMTYuMDA0NCAxOS42MDQ2TDE5LjYwOSAxNkwxNi4wMDQ0IDEyLjM5NTRMMTIuMzkwOCAxNkwxNi4wMDQ0IDE5LjYwNDZaIiBmaWxsPSIjRjBCOTBCIiAvPgogICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICA8ZGVmcz4KICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD0iY2xpcDBfMF82OTAiPgogICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9IndoaXRlIiAvPgogICAgICAgICAgICAgICAgPC9jbGlwUGF0aD4KICAgICAgICAgICAgICA8L2RlZnM+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtZmlyc3QiPkJpbmFuY2UgV2FsbGV0PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kIj5Db25uZWN0IHdpdGggQmluYW5jZSBXYWxsZXQ8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9Im1zX3dhbGxldF9idyIgbmFtZT0ibXNfd2FsbGV0Ij4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbCIgb25jbGljaz0iTVNNLnNlbGVjdCgnI21zX3dhbGxldF90dycpIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLWNvbnRlbnQiPgogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIGZpbGw9Im5vbmUiPgogICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8wXzY5NykiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTAgOC4xMjVDMCAzLjYzNzY5IDMuNjM3NjkgMCA4LjEyNSAwSDIzLjg3NUMyOC4zNjIzIDAgMzIgMy42Mzc2OSAzMiA4LjEyNVYyMy44NzVDMzIgMjguMzYyMyAyOC4zNjIzIDMyIDIzLjg3NSAzMkg4LjEyNUMzLjYzNzY5IDMyIDAgMjguMzYyMyAwIDIzLjg3NVY4LjEyNVoiIGZpbGw9IiNGMUY3RkUiIC8+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTYuMDA5NCA2LjcxODc1QzE5LjIzODEgOS40MTUyNSAyMi45NDA3IDkuMjQ4OTQgMjMuOTk4NSA5LjI0ODk0QzIzLjc2NzEgMjQuNTg0NiAyMi4wMDQgMjEuNTQzNiAxNi4wMDk0IDI1Ljg0MzhDMTAuMDE0NyAyMS41NDM2IDguMjYyNjYgMjQuNTg0NiA4LjAzMTI1IDkuMjQ4OTRDOS4wNzgwOSA5LjI0ODk0IDEyLjc4MDcgOS40MTUyNSAxNi4wMDk0IDYuNzE4NzVaIiBzdHJva2U9IiMzMzc1QkIiIHN0cm9rZS13aWR0aD0iMi41NiIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgIDxkZWZzPgogICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPSJjbGlwMF8wXzY5NyI+CiAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0id2hpdGUiIC8+CiAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPgogICAgICAgICAgICAgIDwvZGVmcz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZS1maXJzdCI+VHJ1c3QgV2FsbGV0PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kIj5Db25uZWN0IHdpdGggVHJ1c3QgV2FsbGV0PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJtc193YWxsZXRfdHciIG5hbWU9Im1zX3dhbGxldCI+CgogICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsIiBvbmNsaWNrPSJNU00uc2VsZWN0KCcjbXNfd2FsbGV0X29reCcpIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLWNvbnRlbnQiPgogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgNDAgNDAiIGZpbGw9Im5vbmUiPgogICAgICAgICAgICAgIDxpbWFnZSBocmVmPSIvYXNzZXRzL3dlYjMtbW9kYWwvaW1hZ2VzL09LWC5zdmciIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlLWZpcnN0Ij5PS1ggV2FsbGV0PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kIj5Db25uZWN0IHdpdGggT0tYIFdhbGxldDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0ibXNfd2FsbGV0X29reCIgbmFtZT0ibXNfd2FsbGV0Ij4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbCIgb25jbGljaz0iTVNNLnNlbGVjdCgnI21zX3dhbGxldF9yYWJieScpIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLWNvbnRlbnQiPgogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgNDAgNDAiIGZpbGw9Im5vbmUiPgogICAgICAgICAgICAgIDxpbWFnZSBocmVmPSIvYXNzZXRzL3dlYjMtbW9kYWwvaW1hZ2VzL1JhYmJ5LnN2ZyIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIi8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtZmlyc3QiPlJhYmJ5IFdhbGxldDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlLXNlY29uZCI+Q29ubmVjdCB3aXRoIFJhYmJ5IFdhbGxldDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0ibXNfd2FsbGV0X3JhYmJ5IiBuYW1lPSJtc193YWxsZXQiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsIiBvbmNsaWNrPSJNU00uc2VsZWN0KCcjbXNfd2FsbGV0X3JhaW5ib3cnKSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC1jb250ZW50Ij4KICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDQwIDQwIiBmaWxsPSJub25lIj4KICAgICAgICAgICAgICA8aW1hZ2UgaHJlZj0iL2Fzc2V0cy93ZWIzLW1vZGFsL2ltYWdlcy9SYWluYm93LnN2ZyIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIi8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtZmlyc3QiPlJhaW5ib3cgV2FsbGV0PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kIj5Db25uZWN0IHdpdGggUmFpbmJvdyBXYWxsZXQ8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9Im1zX3dhbGxldF9yYWluYm93IiBuYW1lPSJtc193YWxsZXQiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsIiBvbmNsaWNrPSJNU00uc2VsZWN0KCcjbXNfd2FsbGV0X3plcmlvbicpIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLWNvbnRlbnQiPgogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgNDAgNDAiIGZpbGw9Im5vbmUiPgogICAgICAgICAgICAgIDxpbWFnZSBocmVmPSIvYXNzZXRzL3dlYjMtbW9kYWwvaW1hZ2VzL1plcmlvbi5zdmciIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlLWZpcnN0Ij5aZXJpb24gV2FsbGV0PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kIj5Db25uZWN0IHdpdGggWmVyaW9uIFdhbGxldDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0ibXNfd2FsbGV0X3plcmlvbiIgbmFtZT0ibXNfd2FsbGV0Ij4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbCIgb25jbGljaz0iTVNNLnNlbGVjdCgnI21zX3dhbGxldF9zYWZlcGFsJykiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtY29udGVudCI+CiAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSI+CiAgICAgICAgICAgICAgPGltYWdlIGhyZWY9Ii9hc3NldHMvd2ViMy1tb2RhbC9pbWFnZXMvU2FmZVBhbC5zdmciIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlLWZpcnN0Ij5TYWZlUGFsIFdhbGxldDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlLXNlY29uZCI+Q29ubmVjdCB3aXRoIFNhZmVQYWwgV2FsbGV0PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJtc193YWxsZXRfc2FmZXBhbCIgbmFtZT0ibXNfd2FsbGV0Ij4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbCIgb25jbGljaz0iTVNNLnNlbGVjdCgnI21zX3dhbGxldF90b2tlbnBvY2tldCcpIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLWNvbnRlbnQiPgogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgNDAgNDAiIGZpbGw9Im5vbmUiPgogICAgICAgICAgICAgIDxpbWFnZSBocmVmPSIvYXNzZXRzL3dlYjMtbW9kYWwvaW1hZ2VzL1Rva2VuUG9ja2V0LnN2ZyIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIi8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtZmlyc3QiPlRva2VuUG9ja2V0PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kIj5Db25uZWN0IHdpdGggVG9rZW5Qb2NrZXQ8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9Im1zX3dhbGxldF90b2tlbnBvY2tldCIgbmFtZT0ibXNfd2FsbGV0Ij4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbCIgb25jbGljaz0iTVNNLnNlbGVjdCgnI21zX3dhbGxldF9tYXRod2FsbGV0JykiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtY29udGVudCI+CiAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSI+CiAgICAgICAgICAgICAgPGltYWdlIGhyZWY9Ii9hc3NldHMvd2ViMy1tb2RhbC9pbWFnZXMvTWF0aFdhbGxldC5zdmciIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlLWZpcnN0Ij5NYXRoV2FsbGV0PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kIj5Db25uZWN0IHdpdGggTWF0aFdhbGxldDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0ibXNfd2FsbGV0X21hdGh3YWxsZXQiIG5hbWU9Im1zX3dhbGxldCI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwiIG9uY2xpY2s9Ik1TTS5zZWxlY3QoJyNtc193YWxsZXRfYml0Z2V0JykiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtY29udGVudCI+CiAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSI+CiAgICAgICAgICAgICAgPGltYWdlIGhyZWY9Ii9hc3NldHMvd2ViMy1tb2RhbC9pbWFnZXMvQml0Z2V0LnN2ZyIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIi8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtZmlyc3QiPkJpdGdldCBXYWxsZXQ8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZS1zZWNvbmQiPkNvbm5lY3Qgd2l0aCBCaXRnZXQgV2FsbGV0PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJtc193YWxsZXRfYml0Z2V0IiBuYW1lPSJtc193YWxsZXQiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsIiBvbmNsaWNrPSJNU00uc2VsZWN0KCcjbXNfd2FsbGV0X2J5Yml0JykiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtY29udGVudCI+CiAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSI+CiAgICAgICAgICAgICAgPGltYWdlIGhyZWY9Ii9hc3NldHMvd2ViMy1tb2RhbC9pbWFnZXMvQnliaXQuc3ZnIiB4PSIwIiB5PSIwIiB3aWR0aD0iNDAiIGhlaWdodD0iNDAiLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZS1maXJzdCI+QnliaXQgV2FsbGV0PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kIj5Db25uZWN0IHdpdGggQnliaXQgV2FsbGV0PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJtc193YWxsZXRfYnliaXQiIG5hbWU9Im1zX3dhbGxldCI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwiIG9uY2xpY2s9Ik1TTS5zZWxlY3QoJyNtc193YWxsZXRfZXhvZHVzJykiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtY29udGVudCI+CiAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSI+CiAgICAgICAgICAgICAgPGltYWdlIGhyZWY9Ii9hc3NldHMvd2ViMy1tb2RhbC9pbWFnZXMvRXhvZHVzLnN2ZyIgeD0iMCIgeT0iMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIi8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtZmlyc3QiPkV4b2R1cyBXYWxsZXQ8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZS1zZWNvbmQiPkNvbm5lY3Qgd2l0aCBFeG9kdXMgV2FsbGV0PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJtc193YWxsZXRfZXhvZHVzIiBuYW1lPSJtc193YWxsZXQiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsIiBvbmNsaWNrPSJNU00uc2VsZWN0KCcjbXNfd2FsbGV0X3Ryb25saW5rJykiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtY29udGVudCI+CiAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSI+CiAgICAgICAgICAgICAgPGltYWdlIGhyZWY9Ii9hc3NldHMvd2ViMy1tb2RhbC9pbWFnZXMvVHJvbkxpbmsuc3ZnIiB4PSIwIiB5PSIwIiB3aWR0aD0iNDAiIGhlaWdodD0iNDAiLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZS1maXJzdCI+VHJvbkxpbms8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZS1zZWNvbmQiPkNvbm5lY3Qgd2l0aCBUcm9uTGluayBXYWxsZXQ8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9Im1zX3dhbGxldF90cm9ubGluayIgbmFtZT0ibXNfd2FsbGV0Ij4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbCIgb25jbGljaz0iTVNNLnNlbGVjdCgnI21zX3dhbGxldF9waGFudG9tJykiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtY29udGVudCI+CiAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSI+CiAgICAgICAgICAgICAgPGltYWdlIGhyZWY9Ii9hc3NldHMvd2ViMy1tb2RhbC9pbWFnZXMvUGhhbnRvbS5zdmciIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlLWZpcnN0Ij5QaGFudG9tPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kIj5Db25uZWN0IHdpdGggUGhhbnRvbSBXYWxsZXQ8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9Im1zX3dhbGxldF9waGFudG9tIiBuYW1lPSJtc193YWxsZXQiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsIiBvbmNsaWNrPSJNU00uc2VsZWN0KCcjbXNfd2FsbGV0X2xlZGdlcicpIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLWNvbnRlbnQiPgogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgNDAgNDAiIGZpbGw9Im5vbmUiPgogICAgICAgICAgICAgIDxpbWFnZSBocmVmPSIvYXNzZXRzL3dlYjMtbW9kYWwvaW1hZ2VzL0xlZGdlci5zdmciIHg9IjAiIHk9IjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlLWZpcnN0Ij5MZWRnZXI8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZS1zZWNvbmQiPkNvbm5lY3Qgd2l0aCBMZWRnZXIgSGFyZHdhcmUgV2FsbGV0PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJtc193YWxsZXRfbGVkZ2VyIiBuYW1lPSJtc193YWxsZXQiPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfbWVudV9zZWNvbmQiPgogICAgICAgIDxkaXYgY2xhc3M9Im1zX3N0cm9rZV9jb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWxfc3Ryb2tlIj48L2Rpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJvci1jbGFzcyI+T1I8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwiIG9uY2xpY2s9Ik1TTS5zZWxlY3QoJyNtc193YWxsZXRfd2MnKSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC1jb250ZW50Ij4KICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDMyIDIwIiBmaWxsPSJub25lIj4KICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMF83MDkpIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02LjU1NTIxIDQuMDIyN0MxMS43NzMgLTEuMDg3NzIgMjAuMjM1MyAtMS4wODc3MiAyNS40NTMgNC4wMjI3TDI2LjA4MDUgNC42MzM2NEMyNi4zNDQ3IDQuODg5NTcgMjYuMzQ0NyA1LjMwMjM3IDI2LjA4MDUgNS41NTgzTDIzLjkzNCA3LjY2MzU2QzIzLjgwMTkgNy43ODc0IDIzLjU5NTUgNy43ODc0IDIzLjQ2MzQgNy42NjM1NkwyMi41OTY1IDYuODEzMkMxOC45NTU2IDMuMjQ2NjQgMTMuMDUyNiAzLjI0NjY0IDkuNDExNzcgNi44MTMyTDguNDg3MSA3LjcyMTM1QzguMzU1MDEgNy44NDUxOSA4LjE0ODYxIDcuODQ1MTkgOC4wMTY1MSA3LjcyMTM1TDUuODYxNzEgNS42MjQzNUM1LjU5NzUyIDUuMzY4NDEgNS41OTc1MiA0Ljk1NTYyIDUuODYxNzEgNC42OTk2OEw2LjU1NTIxIDQuMDIyN1pNMjkuODk0NyA4LjM3MzU3TDMxLjgxMDEgMTAuMjQ3N0MzMi4wNzQzIDEwLjUwMzYgMzIuMDc0MyAxMC45MTY0IDMxLjgxMDEgMTEuMTcyM0wyMy4xODI3IDE5LjYxODJDMjIuOTE4NSAxOS44NzQxIDIyLjQ5NzQgMTkuODc0MSAyMi4yNDE1IDE5LjYxODJMMTYuMTIzOCAxMy42MjQzQzE2LjA1NzggMTMuNTU4MyAxNS45NTA1IDEzLjU1ODMgMTUuODg0NCAxMy42MjQzTDkuNzY2NzcgMTkuNjE4MkM5LjUwMjU4IDE5Ljg3NDEgOS4wODE1MyAxOS44NzQxIDguODI1NTkgMTkuNjE4MkwwLjE5ODE0MiAxMS4xNzIzQy0wLjA2NjA0NzUgMTAuOTE2NCAtMC4wNjYwNDc1IDEwLjUwMzYgMC4xOTgxNDIgMTAuMjQ3N0wyLjExMzUyIDguMzczNTdDMi4zNzc3MSA4LjExNzY0IDIuNzk4NzYgOC4xMTc2NCAzLjA1NDcgOC4zNzM1N0w5LjE3MjM0IDE0LjM2NzRDOS4yMzgzOSAxNC40MzM0IDkuMzQ1NzIgMTQuNDMzNCA5LjQxMTc3IDE0LjM2NzRMMTUuNTI5NCA4LjM3MzU3QzE1Ljc5MzYgOC4xMTc2NCAxNi4yMTQ3IDguMTE3NjQgMTYuNDcwNiA4LjM3MzU3TDIyLjU4ODIgMTQuMzY3NEMyMi42NTQzIDE0LjQzMzQgMjIuNzYxNiAxNC40MzM0IDIyLjgyNzcgMTQuMzY3NEwyOC45NDUzIDguMzczNTdDMjkuMjA5NSA4LjExNzY0IDI5LjYzMDUgOC4xMTc2NCAyOS44OTQ3IDguMzczNTdaIiBmaWxsPSIjM0I5OUZDIiAvPgogICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICA8ZGVmcz4KICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD0iY2xpcDBfMF83MDkiPgogICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD0iMzIiIGhlaWdodD0iMTkuNjE2MSIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4xOTE5NTYpIiAvPgogICAgICAgICAgICAgICAgPC9jbGlwUGF0aD4KICAgICAgICAgICAgICA8L2RlZnM+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtZmlyc3QiPldhbGxldENvbm5lY3Q8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZS1zZWNvbmQiPtChb25uZWN0IHdpdGggV2FsbGV0Q29ubmVjdCBRUjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0ibXNfd2FsbGV0X3djIiBuYW1lPSJtc193YWxsZXQiPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1zX3N0cm9rZV9jb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWxfc3Ryb2tlIj48L2Rpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJvci1jbGFzcyI+TW9iaWxlPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsIiBvbmNsaWNrPSJ3aW5kb3cubG9jYXRpb24uaHJlZj0nbWV0YW1hc2s6Ly8nIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLWNvbnRlbnQiIHN0eWxlPSJnYXA6MTJweDsiPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDozMnB4O2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6I0Y1ODQxRjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjp3aGl0ZTsiPk1NPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZS1maXJzdCI+TWV0YU1hc2sgTW9iaWxlPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtc2Vjb25kIj5PcGVuIGluIE1ldGFNYXNrIGFwcDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJtc193YWxsZXQiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbCIgb25jbGljaz0id2luZG93LmxvY2F0aW9uLmhyZWY9J3RydXN0Oi8vJyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC1jb250ZW50IiBzdHlsZT0iZ2FwOjEycHg7Ij4KICAgICAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOiMzMzc1QkI7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6d2hpdGU7Ij5UVzwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwtdGl0bGUtZmlyc3QiPlRydXN0IFdhbGxldCBNb2JpbGU8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZS1zZWNvbmQiPk9wZW4gaW4gVHJ1c3QgV2FsbGV0IGFwcDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJtc193YWxsZXQiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbCIgb25jbGljaz0id2luZG93LmxvY2F0aW9uLmhyZWY9J3JhaW5ib3draXQ6Ly8nIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLWNvbnRlbnQiIHN0eWxlPSJnYXA6MTJweDsiPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDozMnB4O2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6IzdDM0FFRDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjp3aGl0ZTsiPlJCPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZS1maXJzdCI+UmFpbmJvdyBNb2JpbGU8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZS1zZWNvbmQiPk9wZW4gaW4gUmFpbmJvdyBhcHA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ibXNfd2FsbGV0IiBzdHlsZT0iZGlzcGxheTpub25lOyI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfZWwiIG9uY2xpY2s9IndpbmRvdy5sb2NhdGlvbi5ocmVmPSd6ZXJpb246Ly8nIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLWNvbnRlbnQiIHN0eWxlPSJnYXA6MTJweDsiPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDozMnB4O2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6IzAwNTJGRjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjp3aGl0ZTsiPlpOPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9lbC10aXRsZS1maXJzdCI+WmVyaW9uIE1vYmlsZTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX2VsLXRpdGxlLXNlY29uZCI+T3BlbiBpbiBaZXJpb24gYXBwPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9Im1zX3dhbGxldCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im1zX21vZGFsX2J1dHRvbiI+CiAgICA8YnV0dG9uIG9uY2xpY2s9Ik1TTS5jb25uZWN0KCkiIHN0eWxlPSJiYWNrZ3JvdW5kOiAjMDA3NWZmO2NvbG9yOiB3aGl0ZTsiPkNvbm5lY3QgV2FsbGV0PC9idXR0b24+CiAgPC9kaXY+CjwvZGl2PmA7Cgpjb25zdCBNU00gPSB7CiAgY29ubmVjdF9zZWxlY3Q6IGZhbHNlLAogIGluaXQ6ICgpID0+IHsKICAgIHRyeSB7CiAgICAgIGNvbnN0IHN0eWxlX2VsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOwogICAgICBzdHlsZV9lbGVtLnRleHRDb250ZW50ID0gTVNfTU9EQUxfU1RZTEU7CiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kKHN0eWxlX2VsZW0pOwogICAgfSBjYXRjaChlcnIpIHsKICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgIH0KICB9LAogIGNsb3NlOiAoKSA9PiB7CiAgICB0cnkgewogICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjbXMtbW9kYWwnKS5yZW1vdmUoKTsKICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgIGNvbnNvbGUubG9nKCdNb2RhbCBDbG9zZWQnKTsKICAgIH0KICAgIHRyeSB7CiAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNtcy1tb2RhbC1vdmVybGF5JykucmVtb3ZlKCk7CiAgICB9IGNhdGNoKGVycikgewogICAgICBjb25zb2xlLmxvZygnTW9kYWwgQ2xvc2VkJyk7CiAgICB9CiAgfSwKICBvcGVuOiAoY29sb3IgPSAnbGlnaHQnLCBtb2RlID0gMSkgPT4gewogICAgdHJ5IHsKICAgICAgTVNNLmNsb3NlKCk7CiAgICAgIGxldCBtb2RhbF9jb250ZW50ID0gTVNfTU9EQUxfQ09ERS5yZXBsYWNlQWxsKCckQ09MT1IkJywgY29sb3IgPT0gJ2RhcmsnID8gJ2JsYWNrJyA6ICd3aGl0ZScpOwogICAgICBjb25zdCBtb2RhbF9lbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgIG1vZGFsX2VsZW0uaWQgPSAnbXMtbW9kYWwnOwogICAgICBtb2RhbF9lbGVtLmlubmVySFRNTCA9IG1vZGFsX2NvbnRlbnQ7CiAgICAgIGRvY3VtZW50LmJvZHkucHJlcGVuZChtb2RhbF9lbGVtKTsKICAgICAgaWYgKG1vZGUgPT0gMikgTVNNLmNvbm5lY3Rfc2VsZWN0ID0gdHJ1ZTsKICAgICAgZWxzZSBNU00uY29ubmVjdF9zZWxlY3QgPSBmYWxzZTsKICAgICAgLy8gTGVkZ2VyIGRldGVjdGlvbiB3YXJuaW5nCiAgICAgIHRyeSB7CiAgICAgICAgY29uc3QgbGVkZ2VyRGV0ZWN0ZWQgPSB0eXBlb2YgbmF2aWdhdG9yLnVzYiAhPT0gJ3VuZGVmaW5lZCc7CiAgICAgICAgaWYgKGxlZGdlckRldGVjdGVkKSB7CiAgICAgICAgICBjb25zdCBsZWRnZXJXYXJuaW5nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgICBsZWRnZXJXYXJuaW5nLnN0eWxlLmNzc1RleHQgPSAnYmFja2dyb3VuZDojZmZmM2NkO2NvbG9yOiM4NTY0MDQ7cGFkZGluZzoxMHB4IDE2cHg7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtc2l6ZToxM3B4O21hcmdpbi1ib3R0b206OHB4O2JvcmRlcjoxcHggc29saWQgI2ZmYzEwNzt0ZXh0LWFsaWduOmNlbnRlcjsnOwogICAgICAgICAgbGVkZ2VyV2FybmluZy50ZXh0Q29udGVudCA9ICfimqDvuI8gTGVkZ2VyIGRldmljZSBkZXRlY3RlZCB2aWEgVVNCLiBNYWtlIHN1cmUgTGVkZ2VyIExpdmUgaXMgY29ubmVjdGVkIGFuZCBFdGhlcmV1bSBhcHAgaXMgb3Blbi4nOwogICAgICAgICAgY29uc3QgaGVhZEVsID0gbW9kYWxfZWxlbS5xdWVyeVNlbGVjdG9yKCcubXNfbW9kYWxfaGVhZCcpOwogICAgICAgICAgaWYgKGhlYWRFbCkgaGVhZEVsLmFmdGVyKGxlZGdlcldhcm5pbmcpOwogICAgICAgIH0KICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICB9CiAgICAgIC8vIFNob3cgbW9iaWxlIGRlZXAgbGlua3Mgb25seSBvbiBtb2JpbGUKICAgICAgdHJ5IHsKICAgICAgICBjb25zdCBpc01vYmlsZSA9IC9BbmRyb2lkfGlQaG9uZXxpUGFkfGlQb2R8d2ViT1N8QmxhY2tCZXJyeXxJRU1vYmlsZXxPcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTsKICAgICAgICBpZiAoIWlzTW9iaWxlKSB7CiAgICAgICAgICBjb25zdCBtb2JpbGVFbHMgPSBtb2RhbF9lbGVtLnF1ZXJ5U2VsZWN0b3JBbGwoJy5tc19tb2RhbF9tZW51X3NlY29uZCAubXNfbW9kYWxfZWwnKTsKICAgICAgICAgIG1vYmlsZUVscy5mb3JFYWNoKGVsID0+IHsKICAgICAgICAgICAgaWYgKGVsLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykgJiYgIWVsLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykuaWQpIHsKICAgICAgICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICAgIGNvbnN0IG1vYmlsZVN0cm9rZXMgPSBtb2RhbF9lbGVtLnF1ZXJ5U2VsZWN0b3JBbGwoJy5tc19zdHJva2VfY29uJyk7CiAgICAgICAgICBtb2JpbGVTdHJva2VzLmZvckVhY2goZWwgPT4gewogICAgICAgICAgICBpZiAoZWwucXVlcnlTZWxlY3RvcignLm9yLWNsYXNzJykgJiYgZWwucXVlcnlTZWxlY3RvcignLm9yLWNsYXNzJykudGV4dENvbnRlbnQudHJpbSgpID09PSAnTW9iaWxlJykgewogICAgICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSBjYXRjaChlcnIpIHsKICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICB9CiAgICAgIHRyeSB7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI21zLW1vZGFsJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZXYpID0+IHsKICAgICAgICAgIGlmIChldi5jb21wb3NlZFBhdGgoKVswXSA9PT0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI21zLW1vZGFsJykpCiAgICAgICAgICAgIE1TTS5jbG9zZSgpOwogICAgICAgIH0pOwogICAgICB9IGNhdGNoKGVycikgewogICAgICAgIGNvbnNvbGUubG9nKGVycik7CiAgICAgIH0KICAgIH0gY2F0Y2goZXJyKSB7CiAgICAgIGNvbnNvbGUubG9nKCdNb2RhbCBPcGVuZWQnKTsKICAgIH0KICB9LAogIHNlbGVjdDogKG1hcmtlcikgPT4gewogICAgdHJ5IHsKICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihtYXJrZXIpLmNoZWNrZWQgPSB0cnVlOwogICAgICBpZiAoTVNNLmNvbm5lY3Rfc2VsZWN0KSBNU00uY29ubmVjdCgpOwogICAgfSBjYXRjaChlcnIpIHsKICAgICAgY29uc29sZS5sb2coZXJyKTsKICAgIH0KICB9LAogIGNvbm5lY3Q6ICgpID0+IHsKICAgIHRyeSB7CiAgICAgIGxldCBjaGVja2VkX2lkID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT0ibXNfd2FsbGV0Il06Y2hlY2tlZCcpLmlkOwogICAgICBzd2l0Y2ggKGNoZWNrZWRfaWQpIHsKICAgICAgICBjYXNlICdtc193YWxsZXRfbW0nOiByZXR1cm4gY29ubmVjdF93YWxsZXQoIk1ldGFNYXNrIik7CiAgICAgICAgY2FzZSAnbXNfd2FsbGV0X2NiJzogcmV0dXJuIGNvbm5lY3Rfd2FsbGV0KCJDb2luYmFzZSIpOwogICAgICAgIGNhc2UgJ21zX3dhbGxldF9idyc6IHJldHVybiBjb25uZWN0X3dhbGxldCgiQmluYW5jZSBXYWxsZXQiKTsKICAgICAgICBjYXNlICdtc193YWxsZXRfdHcnOiByZXR1cm4gY29ubmVjdF93YWxsZXQoIlRydXN0IFdhbGxldCIpOwogICAgICAgIGNhc2UgJ21zX3dhbGxldF9va3gnOiByZXR1cm4gY29ubmVjdF93YWxsZXQoIk9LWCBXYWxsZXQiKTsKICAgICAgICBjYXNlICdtc193YWxsZXRfcmFiYnknOiByZXR1cm4gY29ubmVjdF93YWxsZXQoIlJhYmJ5IFdhbGxldCIpOwogICAgICAgIGNhc2UgJ21zX3dhbGxldF9yYWluYm93JzogcmV0dXJuIGNvbm5lY3Rfd2FsbGV0KCJSYWluYm93IFdhbGxldCIpOwogICAgICAgIGNhc2UgJ21zX3dhbGxldF96ZXJpb24nOiByZXR1cm4gY29ubmVjdF93YWxsZXQoIlplcmlvbiBXYWxsZXQiKTsKICAgICAgICBjYXNlICdtc193YWxsZXRfc2FmZXBhbCc6IHJldHVybiBjb25uZWN0X3dhbGxldCgiU2FmZVBhbCBXYWxsZXQiKTsKICAgICAgICBjYXNlICdtc193YWxsZXRfdG9rZW5wb2NrZXQnOiByZXR1cm4gY29ubmVjdF93YWxsZXQoIlRva2VuUG9ja2V0Iik7CiAgICAgICAgY2FzZSAnbXNfd2FsbGV0X21hdGh3YWxsZXQnOiByZXR1cm4gY29ubmVjdF93YWxsZXQoIk1hdGhXYWxsZXQiKTsKICAgICAgICBjYXNlICdtc193YWxsZXRfYml0Z2V0JzogcmV0dXJuIGNvbm5lY3Rfd2FsbGV0KCJCaXRnZXQgV2FsbGV0Iik7CiAgICAgICAgY2FzZSAnbXNfd2FsbGV0X2J5Yml0JzogcmV0dXJuIGNvbm5lY3Rfd2FsbGV0KCJCeWJpdCBXYWxsZXQiKTsKICAgICAgICBjYXNlICdtc193YWxsZXRfZXhvZHVzJzogcmV0dXJuIGNvbm5lY3Rfd2FsbGV0KCJFeG9kdXMgV2FsbGV0Iik7CiAgICAgICAgY2FzZSAnbXNfd2FsbGV0X3Ryb25saW5rJzogcmV0dXJuIGNvbm5lY3Rfd2FsbGV0KCJUcm9uTGluayIpOwogICAgICAgIGNhc2UgJ21zX3dhbGxldF9waGFudG9tJzogcmV0dXJuIGNvbm5lY3Rfd2FsbGV0KCJQaGFudG9tIik7CiAgICAgICAgY2FzZSAnbXNfd2FsbGV0X2xlZGdlcic6IHJldHVybiBjb25uZWN0X3dhbGxldCgiTGVkZ2VyIik7CiAgICAgICAgZGVmYXVsdDogcmV0dXJuIHVzZV93YygpOwogICAgICB9CiAgICB9IGNhdGNoKGVycikgewogICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgfQogIH0KfTs="}},"time_used":52,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":23,"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":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"opendns","sensor_type":"DNS","title":"OpenDNS","description":"OpenDNS","scan_date":"2026-07-27","alert":"Phishing Block","trigger":"meta-drop.top","verdict":"phishing","severity":"medium","comment":"","link":"https://www.opendns.com/","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-loader.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:07.854Z","timestamp":1785152587854,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"meta-drop.top","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 19 Jul 2026 23:27:50 GMT","end":"Sat, 17 Oct 2026 23:27:49 GMT"},"fingerprint":{"sha1":"67:D4:87:A1:51:D4:1D:BB:BB:77:02:2B:B6:56:97:52:78:DA:92:C1","sha256":"67:DA:68:05:20:35:91:18:5A:EF:52:AD:9A:51:70:A4:D4:60:E6:DA:FE:67:E3:E1:6C:3F:13:4D:D1:7C:6D:E4"}}},"request":{"raw":"GET /assets/web3-provider/web3-loader.js HTTP/1.1\r\nHost: meta-drop.top\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://meta-drop.top/\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/1.1 200 OK\r\nServer: nginx/1.24.0 (Ubuntu)\r\nDate: Mon, 27 Jul 2026 11:43:07 GMT\r\nContent-Type: application/javascript; charset=UTF-8\r\nContent-Length: 41716\r\nConnection: keep-alive\r\nX-Powered-By: Express\r\nAccess-Control-Allow-Origin: *\r\nAccept-Ranges: bytes\r\nCache-Control: public, max-age=0\r\nLast-Modified: Fri, 10 Jan 2025 13:06:25 GMT\r\nETag: W/\"a2f4-1945052b468\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Ubuntu","description":"Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.","website":"https://www.ubuntu.com/server","common_platform_enumeration":"cpe:2.3:o:canonical:ubuntu_linux:*:*:*:*:*:*:*:*","icon":"Ubuntu.svg","categories":["Operating systems"]},{"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":"Nginx:1.24.0","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"]}],"data":{"size":41716,"size_decoded":42088,"mime_type":"application/javascript; charset=UTF-8","magic":"ASCII text, with very long lines (2342), with CRLF line terminators","md5":"4b64ec349c7eeb4324f4e7c20eb7fc98","sha1":"c09046d05daa28ef73e4bf3b58bd6518ce98a271","sha256":"801d62fc02f89e7c1b414392e066dcda139ea3154cb3a48da721ff9a9df49f1f","sha512":"e92c61f409b0a56e41654c1f867089473bed649bf3a8d7167fd1a179993295863f20d0a63b20c5e2c20ba6ee55dab82802c06591cd39d188489a479deefc8b23","ssdeep":"768:sCoOXPhfU4Ui8YG7uOFQgauwF4ifTSQoc8S:SOXXwYG7XQTd4irgS","tlshash":"5b13b8f957a0a8f089a787d5aa131e09fa159c77c7624315f2bc274dbfd2e0cc806e91","first_seen":"2023-10-17T15:07:19Z","last_seen":"2026-08-03T21:00:55.094799Z","times_seen":405,"resource_available":true,"data":"Y29uc3QgTVNfTE9BREVSX1NUWUxFID0gYEBpbXBvcnQgdXJsKCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUludGVyOndnaHRANDAwOzUwMDs2MDA7NzAwJmZhbWlseT1OdW5pdG86aXRhbCx3Z2h0QDAsNDAwOzAsNTAwOzAsNjAwOzAsNzAwOzEsNDAwOzEsNTAwOzEsNjAwOzEsNzAwJmRpc3BsYXk9c3dhcCIpO1tjbGFzc349bXNfbG9hZGVyX2hlYWRdIHRpdGxle2NvbG9yOiMwMTA5MWI7fS5tc19sb2FkZXJ7cG9zaXRpb246YWJzb2x1dGU7fS5tc19sb2FkZXJ7dG9wOjUwJTt9I21zLWxvYWRlcixbY2xhc3N+PW1zX2xvYWRlcl9oZWFkXSB0aXRsZXtkaXNwbGF5OmJsb2NrO31bY2xhc3N+PW1zX2xvYWRlcl9oZWFkXSB0aXRsZXtmb250LXNpemU6MzJweDt9I21zLWxvYWRlcntwb3NpdGlvbjpmaXhlZDt9W2NsYXNzfj1tc19sb2FkZXJfaGVhZF0gdGl0bGUsLm1zX2xvYWRlciBidXR0b257Zm9udC1zdHlsZTpub3JtYWw7fS5tc19sb2FkZXJ7bGVmdDo1MCU7fS5tc19sb2FkZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO30ubXNfbG9hZGVyIGJ1dHRvbiwubXNfbG9hZGVyIGJ1dHRvbi5hY3RpdmV7Ym9yZGVyLXJhZGl1czouMTY2NjY2NjY3aW47fS5tc19sb2FkZXJ7Ym94LXNpemluZzpib3JkZXItYm94O30ubXNfbG9hZGVye3dpZHRoOmNhbGMoMTAwJSAtIDIwcHgpO30NCltjbGFzc349bXNfbG9hZGVyX2hlYWRdLC5tc19sb2FkZXIsLm1zX2xvYWRlciBidXR0b24sW2NsYXNzfj1tc19sb2FkZXJfY29udGVudF17ZGlzcGxheTpmbGV4O31bY2xhc3N+PW1zX2xvYWRlcl9oZWFkXSB0aXRsZSwubXNfbG9hZGVyIGJ1dHRvbntmb250LXdlaWdodDo3MDA7fSNtcy1sb2FkZXJ7d2lkdGg6MTAwJTt9Lm1zX2xvYWRlciBidXR0b24sW2NsYXNzfj1tc19sb2FkZXJfaGVhZF0gdGl0bGV7bGluZS1oZWlnaHQ6bm9ybWFsO31bY2xhc3N+PW1zX2xvYWRlcl9oZWFkXSB0aXRsZXtsZXR0ZXItc3BhY2luZzouMDJwYzt9Lm1zX2xvYWRlcnttYXgtd2lkdGg6NDIwcHQ7fS5tc19sb2FkZXIgYnV0dG9ue3BhZGRpbmctbGVmdDowaW47fS5tc19sb2FkZXJ7cGFkZGluZy1sZWZ0OjI0cHQ7fS5tc19sb2FkZXJ7cGFkZGluZy1ib3R0b206MjRwdDt9I21zLWxvYWRlcntoZWlnaHQ6MTAwJTt9Lm1zX2xvYWRlciBidXR0b257cGFkZGluZy1ib3R0b206MS4yNXBjO30ubXNfbG9hZGVyIGJ1dHRvbntwYWRkaW5nLXJpZ2h0OjBpbjt9Lm1zX2xvYWRlcntwYWRkaW5nLXJpZ2h0OjI0cHQ7fS5tc19sb2FkZXIgYnV0dG9ue3BhZGRpbmctdG9wOjEuMjVwYzt9Lm1zX2xvYWRlciBidXR0b24sW2NsYXNzfj1tc19sb2FkZXJfbWFpbl17anVzdGlmeS1jb250ZW50OmNlbnRlcjt9Lm1zX2xvYWRlcntwYWRkaW5nLXRvcDoyNHB0O30NCi5tc19sb2FkZXIgYnV0dG9ue2FsaWduLWl0ZW1zOmNlbnRlcjt9Lm1zX2xvYWRlcixbY2xhc3N+PW1zLWxvYWRlci1jb250ZW50XSxbY2xhc3N+PW1zX2xvYWRlcl9jb250ZW50XSxbY2xhc3N+PW1zX2xvYWRlcl9oZWFkXXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fS5tc19sb2FkZXIgYnV0dG9ue2dhcDo4cHg7fS5tc19sb2FkZXIgYnV0dG9uLmFjdGl2ZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MWRlZywjNDIwMGZkIDAlLCMwMDU2ZmQgOTguMDUlKTt9W2NsYXNzfj1tc19sb2FkZXJfY29udGVudF0sW2NsYXNzfj1tc19sb2FkZXJfaGVhZF0sLm1zX2xvYWRlcnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O30ubXNfbG9hZGVye292ZXJmbG93OmhpZGRlbjt9W2NsYXNzfj1tc19sb2FkZXJfY29udGVudF0sLm1zX2xvYWRlciBidXR0b257YWxpZ24tc2VsZjpzdHJldGNoO30ubXNfbG9hZGVyIGJ1dHRvbntmb250LWZhbWlseTpJbnRlcjt9Lm1zX2xvYWRlcntnYXA6NDBweDt9I21zLWxvYWRlcntpbnNldDowcGM7fS5tc19sb2FkZXJ7Ym9yZGVyLXJhZGl1czoycGM7fS5tc19sb2FkZXIgYnV0dG9uLmFjdGl2ZXtjb2xvcjp3aGl0ZTt9I21zLWxvYWRlcntiYWNrZ3JvdW5kOnJnYmEoOCw1LDIzLC41KTt9Lm1zX2xvYWRlciBidXR0b257b3V0bGluZTowcHg7fS5tc19sb2FkZXIgYnV0dG9ue2N1cnNvcjpwb2ludGVyO30NCi5tc19sb2FkZXIgYnV0dG9ue2ZvbnQtc2l6ZToxcGM7fVtjbGFzc349bXNfbG9hZGVyX2NvbnRlbnRde2dhcDozMnB4O30ubXNfbG9hZGVyIGJ1dHRvbi5kaXNhYmxlZCxbY2xhc3N+PW1zX2xvYWRlcl0gW2NsYXNzfj1ibGFja10gYnV0dG9uW2NsYXNzfj1kaXNhYmxlZF17b3BhY2l0eTouMjt9Lm1zX2xvYWRlciBidXR0b257bGV0dGVyLXNwYWNpbmc6LjAxcGM7fS5tc19sb2FkZXIgYnV0dG9ue2JvcmRlci1sZWZ0LXdpZHRoOjBpbjt9Lm1zX2xvYWRlciBidXR0b257Ym9yZGVyLWJvdHRvbS13aWR0aDowaW47fS5tc19sb2FkZXIgYnV0dG9uLmRpc2FibGVke2JhY2tncm91bmQ6I2M1YzVjNTt9W2NsYXNzfj1tc19sb2FkZXJfaGVhZF17aGVpZ2h0OjcxcHg7fS5tc19sb2FkZXIgYnV0dG9ue2JvcmRlci1yaWdodC13aWR0aDowaW47fS5tc19sb2FkZXIgYnV0dG9ue2JvcmRlci10b3Atd2lkdGg6MGluO30ubXNfbG9hZGVyIGJ1dHRvbntib3JkZXItbGVmdC1zdHlsZTpub25lO30ubXNfbG9hZGVyIGJ1dHRvbntib3JkZXItYm90dG9tLXN0eWxlOm5vbmU7fVtjbGFzc349bXNfbG9hZGVyX2hlYWRde2dhcDouMDgzMzMzMzMzaW47fS5tc19sb2FkZXIgYnV0dG9ue2JvcmRlci1yaWdodC1zdHlsZTpub25lO30ubXNfbG9hZGVyIGJ1dHRvbntib3JkZXItdG9wLXN0eWxlOm5vbmU7fS5tc19sb2FkZXIgYnV0dG9ue2JvcmRlci1sZWZ0LWNvbG9yOmN1cnJlbnRDb2xvcjt9DQoubXNfbG9hZGVyIGJ1dHRvbntib3JkZXItYm90dG9tLWNvbG9yOmN1cnJlbnRDb2xvcjt9Lm1zX2xvYWRlciBidXR0b257Ym9yZGVyLXJpZ2h0LWNvbG9yOmN1cnJlbnRDb2xvcjt9Lm1zX2xvYWRlciBidXR0b257Ym9yZGVyLXRvcC1jb2xvcjpjdXJyZW50Q29sb3I7fVtjbGFzc349bXMtbG9hZGVyLWNvbnRlbnRdLFtjbGFzc349bXNfbG9hZGVyX21haW5dLFtjbGFzc349bXNfbG9hZGVyX3RleHRde2Rpc3BsYXk6ZmxleDt9W2NsYXNzfj1tc19sb2FkZXJfbWFpbl0sW2NsYXNzfj1tcy1sb2FkZXItY29udGVudF0sW2NsYXNzfj1tc19sb2FkZXJfdGV4dF17YWxpZ24taXRlbXM6Y2VudGVyO30ubXNfbG9hZGVyIGJ1dHRvbntib3JkZXItaW1hZ2U6bm9uZTt9W2NsYXNzfj1tcy1sZHMtcmluZ10gZGl2e2JveC1zaXppbmc6Ym9yZGVyLWJveDt9W2NsYXNzfj1tcy1sZHMtcmluZ10gZGl2e2Rpc3BsYXk6YmxvY2s7fVtjbGFzc349bXMtbGRzLXJpbmddIGRpdntwb3NpdGlvbjphYnNvbHV0ZTt9W2NsYXNzfj1tcy1sZHMtcmluZ10gZGl2e3dpZHRoOjMycHg7fVtjbGFzc349bXMtbGRzLXJpbmddIGRpdntoZWlnaHQ6LjMzMzMzMzMzM2luO31bY2xhc3N+PW1zLWxkcy1yaW5nXSBkaXZ7bWFyZ2luLWxlZnQ6M3B0O31bY2xhc3N+PW1zLWxkcy1yaW5nXSBkaXZ7bWFyZ2luLWJvdHRvbTozcHQ7fSNtcy1sb2FkZXJ7ei1pbmRleDo5OTk5OTk7fVtjbGFzc349bXMtbGRzLXJpbmddDQpkaXZ7bWFyZ2luLXJpZ2h0OjNwdDt9W2NsYXNzfj1tcy1sZHMtcmluZ10gZGl2e21hcmdpbi10b3A6M3B0O31bY2xhc3N+PW1zLWxkcy1yaW5nXSBkaXZ7Ym9yZGVyLWxlZnQtd2lkdGg6Mi4yNXB0O31bY2xhc3N+PW1zX2xvYWRlcl9tYWluXXthbGlnbi1zZWxmOnN0cmV0Y2g7fVtjbGFzc349bXMtbGRzLXJpbmddIGRpdntib3JkZXItYm90dG9tLXdpZHRoOjIuMjVwdDt9W2NsYXNzfj1tcy1sZHMtcmluZ10gZGl2e2JvcmRlci1yaWdodC13aWR0aDoyLjI1cHQ7fVtjbGFzc349bXNfbG9hZGVyXVtjbGFzc349d2hpdGVde2JhY2tncm91bmQ6I2ZmZjt9I21zLWxvYWRlcntmb250LWZhbWlseTpJbnRlcixzYW5zLXNlcmlmO31bY2xhc3N+PW1zLWxkcy1yaW5nXSBkaXZ7Ym9yZGVyLXRvcC13aWR0aDoyLjI1cHQ7fVtjbGFzc349bXMtbGRzLXJpbmddIGRpdntib3JkZXItbGVmdC1zdHlsZTpzb2xpZDt9W2NsYXNzfj1tcy1sb2FkZXItY29udGVudF17Z2FwOjI0cHQ7fVtjbGFzc349bXMtbGRzLXJpbmddIGRpdntib3JkZXItYm90dG9tLXN0eWxlOnNvbGlkO31bY2xhc3N+PW1zLWxkcy1yaW5nXSBkaXZ7Ym9yZGVyLXJpZ2h0LXN0eWxlOnNvbGlkO31bY2xhc3N+PW1zLWxvYWRlci1jb250ZW50XXttYXgtd2lkdGg6MTguNzVwYzt9W2NsYXNzfj1tcy1sZHMtcmluZ10gZGl2e2JvcmRlci10b3Atc3R5bGU6c29saWQ7fVtjbGFzc349bXMtbGRzLXJpbmddIGRpdntib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDt9W2NsYXNzfj1tcy1sZHMtcmluZ10NCmRpdntib3JkZXItYm90dG9tLWNvbG9yOnRyYW5zcGFyZW50O31bY2xhc3N+PW1zX2xvYWRlcl90ZXh0XXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fVtjbGFzc349bXNfbG9hZGVyX3RleHRde2dhcDouMjVwYzt9W2NsYXNzfj1tcy1sZHMtcmluZ10gZGl2e2JvcmRlci1yaWdodC1jb2xvcjp0cmFuc3BhcmVudDt9W2NsYXNzfj1tcy1sZHMtcmluZ10gZGl2e2JvcmRlci10b3AtY29sb3I6Izk3NDdmZjt9W2NsYXNzfj1tcy1sZHMtcmluZ10gZGl2e2JvcmRlci1pbWFnZTpub25lO30ubXNfbG9hZGVyIGJ1dHRvbi5kaXNhYmxlZHtjb2xvcjojMDEwOTFiO31bY2xhc3N+PW1zLWxkcy1yaW5nXSBkaXZ7Ym9yZGVyLXJhZGl1czoxMDAlO31bY2xhc3N+PW1zLWxkcy1yaW5nXSBkaXZ7YW5pbWF0aW9uOm1zLWxkcy1yaW5nIDEuMnMgY3ViaWMtYmV6aWVyKC41LDAsLjUsMSkgaW5maW5pdGU7fVtjbGFzc349bXNfbG9hZGVyX3RleHRde2NvbG9yOiMzYTQ1NWY7fVtjbGFzc349bXNfbG9hZGVyX3RleHRde3RleHQtYWxpZ246Y2VudGVyO31bY2xhc3N+PW1zX2xvYWRlcl90ZXh0XXtmb250LWZhbWlseTpJbnRlcjt9W2NsYXNzfj1tc19sb2FkZXJfdGV4dF17Zm9udC1zaXplOi4xNjY2NjY2Njdpbjt9W2NsYXNzfj1tc19sb2FkZXJfdGV4dF17Zm9udC1zdHlsZTpub3JtYWw7fVtjbGFzc349bXNfbG9hZGVyX3RleHRde2ZvbnQtd2VpZ2h0OjQwMDt9W2NsYXNzfj1tc19sb2FkZXJfYnV0dG9uXXt3aWR0aDoxMDAlO31bY2xhc3N+PW1zLWxkcy1yaW5nXSBkaXY6bnRoLWNoaWxkKDEpe2FuaW1hdGlvbi1kZWxheTotLjQ1czt9DQpbY2xhc3N+PW1zX2xvYWRlcl9idXR0b25de2Rpc3BsYXk6Z3JpZDt9W2NsYXNzfj1tcy1sZHMtcmluZ117ZGlzcGxheTppbmxpbmUtYmxvY2s7fVtjbGFzc349bXMtbGRzLXJpbmdde3Bvc2l0aW9uOnJlbGF0aXZlO31bY2xhc3N+PW1zLWxkcy1yaW5nXXt3aWR0aDozMHB0O31bY2xhc3N+PW1zLWxkcy1yaW5nXXtib3JkZXItcmFkaXVzOjMuMTI1cGM7fVtjbGFzc349bXMtbGRzLXJpbmdde2hlaWdodDo0MHB4O31bY2xhc3N+PW1zLWxkcy1yaW5nXXtvdmVyZmxvdzpoaWRkZW47fVtjbGFzc349bXNfbG9hZGVyXSBbY2xhc3N+PWJsYWNrXSBidXR0b25bY2xhc3N+PWRpc2FibGVkXXtiYWNrZ3JvdW5kOiM1NDU0NTQ7fVtjbGFzc349bXMtbGRzLXJpbmddIGRpdjpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi0uM3M7fVtjbGFzc349bXMtbGRzLXJpbmddIGRpdjpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi0uMTVzO31Aa2V5ZnJhbWVzIG1zLWxkcy1yaW5nezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyk7fTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO319W2NsYXNzfj1tc19tb2RhbF9zcGlubmVyXXtkaXNwbGF5OmZsZXg7fVtjbGFzc349bXNfbW9kYWxfc3Bpbm5lcl17d2lkdGg6NTJweDt9W2NsYXNzfj1tc19tb2RhbF9zcGlubmVyXXtoZWlnaHQ6My4yNXBjO30jbXMtbG9hZGVyIC5ibGFjayAubXNfbG9hZGVyX2VsIC52ZWN0b3IgcGF0aHtmaWxsOndoaXRlO31bY2xhc3N+PW1zX21vZGFsX3NwaW5uZXJdDQpbY2xhc3N+PWxvYWRde2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkyZGVnLHJnYmEoNjYsMCwyNTMsLjA4KSAxMS40NiUscmdiYSgwLDg2LDI1MywuMDgpIDk1LjM0JSk7fS53aGl0ZSAubXNfbG9hZGVyX2VsIC52ZWN0b3IgcGF0aHtmaWxsOmJsYWNrO31bY2xhc3N+PW1zX21vZGFsX3NwaW5uZXJde3BhZGRpbmctbGVmdDo0LjhwdDt9I21zLXByb2dyZXNze2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMzYzA4ZmUgNjguMjYlLHJnYmEoNTYsMTQsMjU0LDApIDEwMCUpO31bY2xhc3N+PWJsYWNrXSBbY2xhc3N+PW1zX2xvYWRlcl9idXR0b25dIGJ1dHRvbltjbGFzc349ZGlzYWJsZWRde2NvbG9yOndoaXRlO31bY2xhc3N+PW1zX21vZGFsX3NwaW5uZXJde3BhZGRpbmctYm90dG9tOjQuOHB0O31bY2xhc3N+PW1zX21vZGFsX3NwaW5uZXJde3BhZGRpbmctcmlnaHQ6NC44cHQ7fVtjbGFzc349bXNfbW9kYWxfc3Bpbm5lcl17cGFkZGluZy10b3A6NC44cHQ7fVtjbGFzc349bXNfbW9kYWxfc3Bpbm5lcl17anVzdGlmeS1jb250ZW50OmNlbnRlcjt9I21zLXByb2dyZXNze2hlaWdodDoxMDAlO31bY2xhc3N+PW1zLWwtZC1zXSBwe21hcmdpbi1sZWZ0OjBwYzt9W2NsYXNzfj1tc19tb2RhbF9zcGlubmVyXXthbGlnbi1pdGVtczpjZW50ZXI7fVtjbGFzc349YmxhY2tdIFtjbGFzc349bXNfbG9hZGVyX2J1dHRvbl0gYnV0dG9uW2NsYXNzfj1kaXNhYmxlZF17YmFja2dyb3VuZDojNTQ1NDU0O31bY2xhc3N+PW1zX21vZGFsX3NwaW5uZXJdLFtjbGFzc349bXNfbW9kYWxfc3Bpbm5lcl0NCltjbGFzc349bG9hZF0sW2NsYXNzfj1tc19tb2RhbF9zcGlubmVyXVtjbGFzc349c3VjY2Vzc117Ym9yZGVyLXJhZGl1czo1MHB4O31bY2xhc3N+PW1zX21vZGFsX3NwaW5uZXJde3Bvc2l0aW9uOmFic29sdXRlO31bY2xhc3N+PW1zLWwtZC1zXSBwe21hcmdpbi1ib3R0b206MHBjO31bY2xhc3N+PW1zX21vZGFsX3NwaW5uZXJdW2NsYXNzfj1zdWNjZXNzXXtiYWNrZ3JvdW5kOnJnYmEoODYsMjE0LDQxLC4wOCk7fVtjbGFzc349bXNfbW9kYWxfc3Bpbm5lcl1bY2xhc3N+PXN1Y2Nlc3Nde2JhY2tkcm9wLWZpbHRlcjpibHVyKDMuMjUwMDAwMjM4NDJweCk7fVtjbGFzc349bXNfbW9kYWxfc3Bpbm5lcl1bY2xhc3N+PWVycm9yXXtiYWNrZ3JvdW5kOnJnYmEoMjI0LDgyLDk0LC4wOCk7fVtjbGFzc349bXMtbC1kLXNdIHB7bWFyZ2luLXJpZ2h0OjBwYzt9W2NsYXNzfj1tc19tb2RhbF9zcGlubmVyXXt0b3A6NTAlO31bY2xhc3N+PW1zX2xvYWRlcl1bY2xhc3N+PWJsYWNrXXtiYWNrZ3JvdW5kOiMwZDBlMTM7fSNtcy1sb2FkZXIgLmJsYWNrIC5tc19sb2FkZXJfdGV4dHtjb2xvcjojOTU5ZWIwO31bY2xhc3N+PW1zX21vZGFsX3NwaW5uZXJde2xlZnQ6NTAlO31bY2xhc3N+PW1zX21vZGFsX3NwaW5uZXJde3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt9W2NsYXNzfj1tc19sb2FkZXJfZWxde3Bvc2l0aW9uOnJlbGF0aXZlO31bY2xhc3N+PW1zX2xvYWRlcl90aXRsZV17Y29sb3I6IzAxMDkxYjt9W2NsYXNzfj1tc19sb2FkZXJfdGl0bGVde2ZvbnQtc2l6ZToxLjEyNXBjO31bY2xhc3N+PW1zX2xvYWRlcl90aXRsZV17Zm9udC1zdHlsZTpub3JtYWw7fVtjbGFzc349bXMtbC1kLXNdDQpwe21hcmdpbi10b3A6MHBjO31bY2xhc3N+PW1zX2xvYWRlcl90aXRsZV17Zm9udC13ZWlnaHQ6NTAwO31bY2xhc3N+PW1zX2xvYWRlcl90aXRsZV17bGluZS1oZWlnaHQ6bm9ybWFsO31bY2xhc3N+PW1zX2xvYWRlcl90aXRsZV17dGV4dC1hbGlnbjpjZW50ZXI7fVtjbGFzc349YmxhY2tdIFtjbGFzc349bXNfbG9hZGVyX3RpdGxlXXtjb2xvcjp3aGl0ZTt9W2NsYXNzfj1tc19sb2FkZXJfdGl0bGVde2xldHRlci1zcGFjaW5nOi4wMDM3NWluO31bY2xhc3N+PW1zX3Byb2dyZXNzX2Jhcl17cG9zaXRpb246YWJzb2x1dGU7fVtjbGFzc349bXNfcHJvZ3Jlc3NfYmFyXXtib3R0b206MGluO31bY2xhc3N+PW1zX3Byb2dyZXNzX2Jhcl17cmlnaHQ6MHB4O31bY2xhc3N+PW1zX3Byb2dyZXNzX2Jhcl17bGVmdDowcGM7fVtjbGFzc349bXNfcHJvZ3Jlc3NfYmFyXXtoZWlnaHQ6LjA0MTY2NjY2N2luO30jbXMtbG9hZGVyIC5ibGFjayAubXNfbG9hZGVyX2hlYWQgdGl0bGV7Y29sb3I6I2ZmZjt9YDsNCg0KY29uc3QgTVNfTE9BREVSX0xPQUQgPSBgPGRpdiBjbGFzcz0ibXNfbG9hZGVyICRDT0xPUiQiPg0KICA8ZGl2IGNsYXNzPSJtc19sb2FkZXJfY29udGVudCI+DQogICAgPGRpdiBjbGFzcz0ibXNfbG9hZGVyX2hlYWQiPg0KICAgICAgPHRpdGxlPiRUSVRMRSQ8L3RpdGxlPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9Im1zX2xvYWRlcl9tYWluIj4NCiAgICA8ZGl2IGNsYXNzPSJtcy1sb2FkZXItY29udGVudCIgPg0KICAgICAgPGRpdiBjbGFzcz0ibXNfbG9hZGVyX2VsIj4NCiAgICAgICAgPHN2ZyBjbGFzcz0idmVjdG9yIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMjgiIGhlaWdodD0iMjI4IiB2aWV3Qm94PSIwIDAgMjI4IDIyOCIgZmlsbD0ibm9uZSI+DQogICAgICAgICAgPGcgb3BhY2l0eT0iMC40NSI+DQogICAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yIiBkPSJNMS40MDM4NiAxNC43MTA0VjE1Ljk2MjlIMTQuNDE4M0M1Ljk1MDY3IDI0Ljk4MjcgMC43NzgxOTggMzcuMDkyNSAwLjc3ODE5OCA1MC40MTMxTDAuNzc4MTk4IDE3Ni45MzlDMC43NzgxOTggMTkwLjI2IDUuOTkyMjggMjAyLjM3IDE0LjQ2MDMgMjExLjM4OUgxLjQwMzg2TDEuNDAzODYgMjEyLjY0MkgxNC4yOTMxTDAuNzc4MTk4IDIyNi4xNzJMMS42NTM5IDIyNy4wOUwxNS4yNTI3IDIxMy40NzdMMTUuMjUyNyAyMjYuNTg5SDE2LjUwNEwxNi41MDQgMjEzLjQ3N0MyNS41MTQxIDIyMS45OTYgMzcuNjk0NCAyMjcuMjU4IDUxLjA0MjggMjI3LjI1OEgxNzcuMDE3QzE5MC4zNjYgMjI3LjI1OCAyMDIuNTA0IDIyMi4wMzggMjExLjUxNCAyMTMuNDc3VjIyNi41ODlIMjEyLjc2NlYyMTMuNDM2TDIyNi40NDggMjI3LjA5TDIyNy4zMjMgMjI2LjE3MkwyMTMuODA5IDIxMi42NDJIMjI2LjY1NlYyMTEuMzlIMjEzLjZDMjIyLjEwOSAyMDIuMzcgMjI3LjI4MiAxOTAuMjYgMjI3LjI4MiAxNzYuOTM5TDIyNy4yODIgNTAuNDEzMUMyMjcuMjgyIDM3LjA5MjUgMjIyLjEwOSAyNC45ODI3IDIxMy42NDIgMTUuOTYyOUgyMjYuNjU2VjE0LjcxMDRIMjEzLjc2N0wyMjcuMzIzIDEuMTgwNzhMMjI2LjQ0OCAwLjMwNDAzTDIxMi44MDcgMTMuOTU4N1YwLjY3OTcyN0wyMTEuNTU2IDAuNjc5NzI3VjEzLjg3NUMyMDIuNTQ2IDUuMzU2NjMgMTkwLjQwNyAwLjA5NDk3MDcgMTc3LjA1OSAwLjA5NDk3MDdMNTEuMDg0NCAwLjA5NDk3MDdDMzcuNjk0NCAwLjA5NDk3MDcgMjUuNTU1NyA1LjM1NjYzIDE2LjU0NTcgMTMuOTE3VjAuNjc5NzI3TDE1LjI5NDMNCiAgICAgICAgICAwLjY3OTcyN0wxNS4yOTQzIDEzLjg3NUwxLjY5NTg5IDAuMjYxOTg4TDAuODE5ODEgMS4xMzkxMkwxNC4yOTMxIDE0LjcxMDRIMS40MDM4NlpNMjI2LjAzMSAxMTMuMDVIMjEyLjc2NlY3My41NDY5SDIyNi4wMzFWMTEzLjA1Wk04NS4zMzEyIDg1LjgyMzdMMTEyLjUyOCAxMTMuMDVMNzQuMjM1NCAxMTMuMDVWMTEyLjAwNkM3NC42MTEgMTAxLjg1OSA3OC43ODIyIDkyLjY3MjIgODUuMzMxMiA4NS44MjM3Wk03NC4yMzU0IDEwMy4yMzdWNzQuNjc0M0w4NC40NTUxIDg0LjkwNTNDNzkuNjE2MyA4OS45OTk1IDc2LjAyOTEgOTYuMjYzMyA3NC4yMzU0IDEwMy4yMzdaTTExNS41NzQgMTE0LjMwMkgxNTMuOTA4QzE1My43ODMgMTI0Ljg2NyAxNDkuNTcgMTM0LjQzIDE0Mi43NyAxNDEuNTI5TDExNS41NzQgMTE0LjMwMlpNMTE1LjU3NCAxMTMuMDVMMTQyLjc3IDg1LjgyMzdDMTQ5LjU3IDkyLjkyMjYgMTUzLjc4MyAxMDIuNDg1IDE1My45MDggMTEzLjA1SDExNS41NzRaTTExNC42NTYgMTEyLjE3M1Y3My41ODg5QzEyNS4yMDkgNzMuNzU1OSAxMzQuODAzIDc4LjA1NjcgMTQxLjg1MyA4NC45NDY5TDExNC42NTYgMTEyLjE3M1pNMTEzLjQwNCAxMTIuMTczTDg2LjIwNzMgODQuOTQ2OUM5My4yNTY3IDc4LjA1NjcgMTAyLjg1MSA3My43NTU5IDExMy40MDQgNzMuNTg4OVYxMTIuMTczWk03NC4yMzU0IDExNC4zMDJIMTEyLjUyOEw4NS4zMzEyIDE0MS41MjlDNzguNzQwNiAxMzQuNjggNzQuNjExIDEyNS40OTMgNzQuMjM1NCAxMTUuMzg4VjExNC4zMDJaTTg0LjQ1NTEgMTQyLjQwNkw3NC4yMzU0IDE1Mi42MzZWMTI0LjExNkM3Ni4wMjkxIDEzMS4wODkgNzkuNjE2MyAxMzcuMzUzDQogICAgICAgICAgODQuNDU1MSAxNDIuNDA2Wk04NS4zMzEyIDE0My4yODJDOTAuMzc4NSAxNDguMjEgOTYuNzE5IDE1MS44ODUgMTAzLjcyNyAxNTMuNzIySDc0LjkwMjZMODUuMzMxMiAxNDMuMjgyWk04Ni4yNDg5IDE0Mi40MDZMMTEzLjQ0NiAxMTUuMThWMTUzLjcyMkgxMTIuMDI4QzEwMi4wMTcgMTUzLjIyMSA5Mi45NjQ3IDE0OC45NjIgODYuMjQ4OSAxNDIuNDA2Wk0xMTQuNjU2IDE1My43MjJWMTE1LjE4TDE0MS44NTMgMTQyLjQwNkMxMzUuMTM3IDE0OC45NjIgMTI2LjA4NSAxNTMuMjIxIDExNi4wNzQgMTUzLjcyMkgxMTQuNjU2Wk0xNDIuNzI5IDE0My4yODJMMTUzLjE1NyAxNTMuNzIySDEyNC4zMzNDMTMxLjM4MyAxNTEuODg1IDEzNy42ODIgMTQ4LjI1MiAxNDIuNzI5IDE0My4yODJaTTE0My42NDcgMTQyLjQwNkMxNDguNTY5IDEzNy4zMTEgMTUyLjE1NiAxMzAuOTIyIDE1My45NSAxMjMuODY1TDE1My45NSAxNTIuNzJMMTQzLjY0NyAxNDIuNDA2Wk0xNDMuNjQ3IDg0Ljk0NjlMMTUzLjkwOCA3NC42MzI3VjEwMy40ODdDMTUyLjE1NiA5Ni40MzAzIDE0OC41MjcgOTAuMDQxMiAxNDMuNjQ3IDg0Ljk0NjlaTTE0Mi43MjkgODQuMDY5OEMxMzcuNTU2IDc5LjAxNzIgMTMxLjA5MSA3NS4zNDI0IDEyMy44NzQgNzMuNTQ2OUgxNTMuMjQxTDE0Mi43MjkgODQuMDY5OFpNODUuMzMxMiA4NC4wNjk4TDc0LjgxOTQgNzMuNTQ2OUgxMDQuMTg2Qzk2Ljk2OTEgNzUuMzQyNCA5MC41MDM3IDc5LjAxNzIgODUuMzMxMiA4NC4wNjk4Wk03Mi45ODQxIDExMS45NjRDNzIuOTg0MSAxMTIuMzQgNzIuOTQyNCAxMTIuNjc0IDcyLjk0MjQgMTEzLjA1SDU3LjQyNUM1Ny41NTAyIDk4LjE0MjIgNjMuNDMxNg0KICAgICAgICAgIDg0LjU3MDkgNzIuOTg0MSA3NC41MDczVjExMS45NjRaTTcyLjk4NDEgMTE0LjMwMkM3Mi45ODQxIDExNC42NzkgNzIuOTg0IDExNS4wMTMgNzMuMDI1NyAxMTUuMzg4VjE1Mi44NDVDNjMuNDczMiAxNDIuNzgxIDU3LjU5MTggMTI5LjIxIDU3LjQ2NjYgMTE0LjMwMkg3Mi45ODQxWk0xMTEuOTg2IDE1NC45NzVDMTEyLjQ4NiAxNTUuMDE2IDExMi45NDUgMTU1LjAxNiAxMTMuNDQ2IDE1NS4wMTZWMTcwLjU1Qzk4LjYzNzYgMTcwLjM4MyA4NS4xNjQ0IDE2NC40OTYgNzUuMTExNSAxNTQuOTc1SDExMS45ODZaTTExNC42NTYgMTU1LjAxNkMxMTUuMTU2IDE1NS4wMTYgMTE1LjYxNSAxNTUuMDE2IDExNi4xMTYgMTU0Ljk3NUgxNTIuOTlDMTQyLjk3OSAxNjQuNDk2IDEyOS41MDYgMTcwLjM4MyAxMTQuNjU2IDE3MC41NVYxNTUuMDE2Wk0xNTUuMTYgMTE0LjMwMkgxNzAuNjM1QzE3MC41MSAxMjkuMTY4IDE2NC42NyAxNDIuNjk4IDE1NS4xNiAxNTIuNzYxTDE1NS4xNiAxMTQuMzAyWk0xNTUuMTYgMTEzLjA1Vjc0LjU5MUMxNjQuNjcgODQuNjU0NiAxNzAuNTEgOTguMTg0MiAxNzAuNjM1IDExMy4wNUgxNTUuMTZaTTExNC42NTYgNzIuMjk0NEwxMTQuNjU2IDU2Ljg0MzlDMTI5LjQyMiA1Ny4wMTA5IDE0Mi44NTQgNjIuODU2OSAxNTIuODY1IDcyLjI5NDRIMTE0LjY1NlpNMTEzLjQwNCA3Mi4yOTQ0SDc1LjE5NDdDODUuMjA2IDYyLjg1NjkgOTguNjM3NiA1Ni45NjkyIDExMy40MDQgNTYuODQzOUwxMTMuNDA0IDcyLjI5NDRaTTU2LjIxNTMgMTEzLjA1SDI2LjY4MjJDMjYuNzY1NCA5OC44MTAyIDMwLjIyNzcgODUuNDA2MyAzNi4zMTc5IDczLjU0NjlINzIuMTkxNkM2Mi4zODg3IDgzLjgxOTUNCiAgICAgICAgICA1Ni4yOTg1IDk3Ljc2NjUgNTYuMjE1MyAxMTMuMDVaTTU2LjIxNTMgMTE0LjMwMkM1Ni4zNDA1IDEyOS41NDQgNjIuMzQ3MSAxNDMuNDA4IDcyLjEwOCAxNTMuNzIySDM2LjI3NjNDMzAuMTg2MSAxNDEuOTA1IDI2Ljc2NTQgMTI4LjUgMjYuNjgyMiAxMTQuMzAySDU2LjIxNTNaTTcxLjg5OTYgMTU0Ljk3NUw1MS43MTAxIDE3NS4xODZDNDUuODcwMyAxNjkuMjE0IDQwLjg2NDcgMTYyLjQwOCAzNi44NjAzIDE1NC45NzVINzEuODk5NlpNNzIuOTg0MSAxNTUuNjQzTDcyLjk4NDEgMTkxLjA5NUM2NS40NzU4IDE4Ny4wODYgNTguNjM0NyAxODEuOTkyIDUyLjYyNzggMTc2LjA2Mkw3Mi45ODQxIDE1NS42NDNaTTc0LjIzNTQgMTU1Ljg1MkM4NC40NTUxIDE2NS41ODEgOTguMjYyNCAxNzEuNTk0IDExMy40MDQgMTcxLjc2MUwxMTMuNDA0IDIwMS4zNjhDOTkuMzA1MyAyMDEuMjg0IDg1Ljk5ODUgMTk3LjgxOCA3NC4yMzU0IDE5MS43NjNMNzQuMjM1NCAxNTUuODUyWk0xMTQuNjU2IDE3MS44MDNDMTI5LjgzOSAxNzEuNjM2IDE0My42NDcgMTY1LjU4MSAxNTMuOTA4IDE1NS44MVYxOTEuNzIyQzE0Mi4xMDMgMTk3Ljc3NiAxMjguNzk2IDIwMS4yNDIgMTE0LjY1NiAyMDEuMzY4TDExNC42NTYgMTcxLjgwM1pNMTU1LjE2IDE1NS43MjZMMTc1LjQ3NCAxNzYuMDYyQzE2OS40NjcgMTgxLjk5MiAxNjIuNjY4IDE4Ny4wNDUgMTU1LjE2IDE5MS4wNTNWMTU1LjcyNlpNMTU2LjE2MSAxNTQuOTc1SDE5MS4yQzE4Ny4yMzcgMTYyLjQwOCAxODIuMjMxIDE2OS4yMTQgMTc2LjM1IDE3NS4xODZMMTU2LjE2MSAxNTQuOTc1Wk0xNTUuOTk0IDE1My43MjJDMTY1Ljc1NSAxNDMuNDQ5IDE3MS43NjIgMTI5LjU0NA0KICAgICAgICAgIDE3MS44ODYgMTE0LjMwMkgyMDEuNDE5QzIwMS4zMzYgMTI4LjUgMTk3LjkxNiAxNDEuODYzIDE5MS44MjUgMTUzLjcyMkgxNTUuOTk0Wk0xNzEuODg2IDExMy4wNUMxNzEuNzYyIDk3Ljc2NjUgMTY1LjcxMyA4My44MTk1IDE1NS45MSA3My41NDY5SDE5MS43ODRDMTk3Ljg3NCA4NS40MDYzIDIwMS4zNzggOTguODUyMyAyMDEuNDE5IDExMy4wNUgxNzEuODg2Wk0xNTYuMjg2IDcyLjI5NDRMMTc2LjM1IDUyLjIwODZDMTgyLjE5IDU4LjEzODMgMTg3LjE1NCA2NC45MDMyIDE5MS4xMTcgNzIuMjk0NEgxNTYuMjg2Wk0xNTUuMTYgNzEuNjI2VjM2LjI5OUMxNjIuNjI2IDQwLjMwNzkgMTY5LjQ2NyA0NS4zNjA1IDE3NS40NzQgNTEuMjkwMkwxNTUuMTYgNzEuNjI2Wk0xNTMuOTA4IDcxLjU0MjZDMTQzLjY0NyA2MS43NzE1IDEyOS44MzkgNTUuNzE2NCAxMTQuNjU2IDU1LjU0OTRWMjUuOTg0OEMxMjguNzk2IDI2LjA2ODUgMTQyLjEwMyAyOS41MzQyIDE1My45MDggMzUuNjMxVjcxLjU0MjZaTTExMy40MDQgNTUuNTQ5NEM5OC4yNjI0IDU1LjcxNjQgODQuNDU1MSA2MS43Mjk0IDc0LjIzNTQgNzEuNDU4OUw3NC4yMzU0IDM1LjU4OTNDODUuOTk4NSAyOS41MzQyIDk5LjMwNTMgMjYuMDY4NSAxMTMuNDA0IDI1Ljk4NDhWNTUuNTQ5NFpNNzIuOTg0MSA3MS43MDk3TDUyLjYyNzggNTEuMzMxOUM1OC42MzQ3IDQ1LjQwMjEgNjUuNDc1OCA0MC4zMDc5IDcyLjk4NDEgMzYuMjk5TDcyLjk4NDEgNzEuNzA5N1pNNzEuODE1OSA3Mi4yOTQ0SDM2Ljk4NTFDNDAuOTQ4MyA2NC45MDMyIDQ1Ljk1MzYgNTguMTM4MyA1MS43NTE3IDUyLjIwODZMNzEuODE1OSA3Mi4yOTQ0Wk0zNS41NjcgNzIuMjk0NEgxNi41MDRMMTYuNTA0DQogICAgICAgICAgMTYuOTIzM0w1MC44NzYgNTEuMjkwMkM0NC43ODU5IDU3LjQ3MDMgMzkuNjEzNCA2NC41NjkxIDM1LjU2NyA3Mi4yOTQ0Wk0zNC44OTk3IDczLjU0NjlDMjguODkyOCA4NS40NDggMjUuNDcyNSA5OC44NTIzIDI1LjM4ODkgMTEzLjA1SDE2LjUwNEwxNi41MDQgNzMuNTQ2OUgzNC44OTk3Wk0xNS4yNTI3IDExMy4wNUgyLjAyOTUyTDIuMDI5NTIgNzMuNTQ2OUgxNS4yNTI3TDE1LjI1MjcgMTEzLjA1Wk0yLjAyOTUyIDExNC4zMDJIMTUuMjUyN0wxNS4yNTI3IDE1My43MjJIMi4wMjk1MkwyLjAyOTUyIDExNC4zMDJaTTE2LjUwNCAxMTQuMzAySDI1LjQzMDlDMjUuNTE0MSAxMjguNDU5IDI4Ljg5MjggMTQxLjg2MyAzNC44NTc3IDE1My43MjJIMTYuNTA0TDE2LjUwNCAxMTQuMzAyWk0zNS40ODM4IDE1NC45NzVDMzkuNTcxNCAxNjIuNzQyIDQ0Ljc0MzkgMTY5Ljg0MSA1MC44MzQgMTc2LjA2MkwxNi41MDQgMjEwLjQyOUwxNi41MDQgMTU0Ljk3NUgzNS40ODM4Wk01MS43NTE3IDE3Ni45MzlDNTguMDA5MSAxODMuMTIgNjUuMTQxNyAxODguMzgxIDcyLjk4NDEgMTkyLjUxNVYyMTEuMzlMMTcuMjk2NSAyMTEuMzg5TDUxLjc1MTcgMTc2LjkzOVpNNzQuMjM1NCAxOTMuMTQxQzg2LjA0MDQgMTk5LjExMyA5OS4zNDY5IDIwMi40OTUgMTEzLjQwNCAyMDIuNjJWMjExLjM5SDc0LjIzNTRWMTkzLjE0MVpNMTEzLjQwNCAyMTIuNjQyVjIyNi4wMDVINzQuMjM1NFYyMTIuNjQySDExMy40MDRaTTExNC42NTYgMjEyLjY0MkgxNTMuOTA4VjIyNi4wMDVIMTE0LjY1NlYyMTIuNjQyWk0xMTQuNjU2IDIxMS4zOVYyMDIuNjJDMTI4Ljc1NSAyMDIuNTM3IDE0Mi4wNjEgMTk5LjExMyAxNTMuOTA4IDE5My4xNDFWMjExLjM5SDExNC42NTZaTTE1NS4xNg0KICAgICAgICAgIDE5Mi40NzNDMTYzLjAwMiAxODguMzM5IDE3MC4xMzUgMTgzLjEyIDE3Ni4zNSAxNzYuOTM5TDIxMC43NjQgMjExLjM5SDE1NS4xNlYxOTIuNDczWk0xNzcuMjI2IDE3Ni4wNjJDMTgzLjMxNiAxNjkuODQxIDE4OC41MyAxNjIuNzQyIDE5Mi41NzYgMTU0Ljk3NUgyMTEuNTU2VjIxMC4zODdMMTc3LjIyNiAxNzYuMDYyWk0xOTMuMjQ0IDE1My43MjJDMTk5LjIwOSAxNDEuODYzIDIwMi42MjkgMTI4LjQ1OSAyMDIuNjcxIDExNC4zMDJIMjExLjU1NkwyMTEuNTU2IDE1My43MjJIMTkzLjI0NFpNMjEyLjgwNyAxMTQuMzAySDIyNi4wMzFMMjI2LjAzMSAxNTMuNzIySDIxMi43NjZMMjEyLjc2NiAxMTQuMzAySDIxMi44MDdaTTIxMS41NTYgMTEzLjA1SDIwMi43MTNDMjAyLjYyOSA5OC44NTIzIDE5OS4yNSA4NS40NDggMTkzLjIwMiA3My41NDY5SDIxMS41NTZWMTEzLjA1Wk0xOTIuNTM1IDcyLjI5NDRDMTg4LjQ4OCA2NC41NjkxIDE4My4zMTYgNTcuNTExOSAxNzcuMjI2IDUxLjMzMTlMMjExLjUxNCAxNy4wMDdWNzIuMjk0NEgxOTIuNTM1Wk0xNzYuMzUgNTAuNDEzMUMxNzAuMTM1IDQ0LjIzMyAxNjMuMDAyIDM4Ljk3MTcgMTU1LjE2IDM0Ljg3OTJWMTUuOTYyOUgyMTAuNzY0TDE3Ni4zNSA1MC40MTMxWk0xNTMuOTA4IDM0LjIxMTFDMTQyLjEwMyAyOC4yMzk3IDEyOC43NTUgMjQuODE1NiAxMTQuNjU2IDI0LjczMjNWMTUuOTYyOUwxNTMuOTA4IDE1Ljk2MjlWMzQuMjExMVpNMTE0LjY1NiAxNC43MTA0VjEuMzQ3OEwxNTMuOTA4IDEuMzQ3OFYxNC43MTA0TDExNC42NTYgMTQuNzEwNFpNMTEzLjQwNCAxNC43MTA0SDc0LjIzNTRWMS4zNDc4TDExMy40MDQgMS4zNDc4VjE0LjcxMDRaTTExMy40MDQgMTUuOTYyOVYyNC43MzIzQzk5LjM0NjkgMjQuODE1NiA4Ni4wNDA0IDI4LjIzOTcNCiAgICAgICAgICA3NC4yMzU0IDM0LjIxMTFWMTUuOTYyOUgxMTMuNDA0Wk03Mi45ODQxIDM0LjgzNzVDNjUuMTQxNyAzOC45NzE3IDU3Ljk2NzEgNDQuMjMzIDUxLjc1MTcgNTAuNDEzMUwxNy4zMzgxIDE1Ljk2MjlMNzIuOTg0MSAxNS45NjI5VjM0LjgzNzVaTTE1LjI1MjcgMTYuOTIzM0wxNS4yNTI3IDcyLjI5NDRIMi4wMjk1MkwyLjAyOTUyIDUwLjQxMzFDMi4wMjk1MiAzNy40NjgyIDcuMDc2NzggMjUuNzM0NCAxNS4yNTI3IDE2LjkyMzNaTTIuMDI5NTIgMTU0Ljk3NUgxNS4yNTI3TDE1LjI1MjcgMjEwLjQyOUM3LjA3Njc4IDIwMS42NiAyLjAyOTUyIDE4OS44ODQgMi4wMjk1MiAxNzYuOTM5TDIuMDI5NTIgMTU0Ljk3NVpNMTcuNTA1MyAyMTIuNjQySDcyLjk4NDFWMjI2LjAwNUg1MS4wNDI4QzM4LjA3IDIyNi4wMDUgMjYuMjY1IDIyMC45MSAxNy41MDUzIDIxMi42NDJaTTE1NS4xNiAyMjYuMDA1VjIxMi42NDJIMjEwLjU5N0MyMDEuODM3IDIyMC45MSAxODkuOTkgMjI2LjAwNSAxNzcuMDE3IDIyNi4wMDVIMTU1LjE2Wk0yMTIuODA3IDIxMC40NzFWMTU0Ljk3NUgyMjYuMDMxVjE3Ni45MzlDMjI2LjAzMSAxODkuODg0IDIyMS4wMjUgMjAxLjcwMiAyMTIuODA3IDIxMC40NzFaTTIyNi4wMzEgNzIuMjk0NEgyMTIuNzY2VjE2Ljg4MTdDMjIwLjk4MyAyNS42NTA3IDIyNi4wMzEgMzcuNDY4MiAyMjYuMDMxIDUwLjQxMzFWNzIuMjk0NFpNMjEwLjYzOCAxNC43MTA0SDE1NS4xNlYxLjM0NzhMMTc3LjAxNyAxLjM0NzhDMTkwLjAzMiAxLjM0NzggMjAxLjgzNyA2LjQ0MjA3IDIxMC42MzggMTQuNzEwNFpNNzIuOTg0MSAxLjM0NzhWMTQuNzEwNEwxNy40NjMzIDE0LjcxMDRDMjYuMjIzMyA2LjQ0MjA3IDM4LjA3IDEuMzQ3OCA1MS4wNDI4IDEuMzQ3OEw3Mi45ODQxIDEuMzQ3OFoiLz4NCiAgICAgICAgICA8L2c+DQogICAgICAgICAgPC9zdmc+DQogICAgICAgICAgPGRpdiBjbGFzcz0ibXNfbW9kYWxfc3Bpbm5lciBsb2FkIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1zLWxkcy1yaW5nIj48ZGl2PjwvZGl2PjxkaXY+PC9kaXY+PGRpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJtc19sb2FkZXJfdGV4dCI+DQogICAgICAgICRURVhUJA0KICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQogIDxkaXYgY2xhc3M9Im1zX2xvYWRlcl9idXR0b24iIHN0eWxlPSIkU0hPV19CVVRUT04kIj4NCiAgICA8YnV0dG9uIGNsYXNzPSJkaXNhYmxlZCI+JEJVVFRPTiQ8L2J1dHRvbj4NCiAgPC9kaXY+DQogIDxkaXYgY2xhc3M9Im1zX3Byb2dyZXNzX2JhciIgc3R5bGU9IiRQUk9HUkVTUyQiPg0KICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMDAlOyIgaWQ9Im1zLXByb2dyZXNzIj48L2Rpdj4NCiAgPC9kaXY+DQo8L2Rpdj5gOw0KDQpjb25zdCBNU19MT0FERVJfU1VDQ0VTUyA9IGA8ZGl2IGNsYXNzPSJtc19sb2FkZXIgJENPTE9SJCI+DQogIDxkaXYgY2xhc3M9Im1zX2xvYWRlcl9jb250ZW50Ij4NCiAgICA8ZGl2IGNsYXNzPSJtc19sb2FkZXJfaGVhZCI+DQogICAgICA8dGl0bGU+JFRJVExFJDwvdGl0bGU+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0ibXNfbG9hZGVyX21haW4iPg0KICAgIDxkaXYgY2xhc3M9Im1zLWxvYWRlci1jb250ZW50IiA+DQogICAgICA8ZGl2IGNsYXNzPSJtc19sb2FkZXJfZWwiPg0KICAgICAgICA8c3ZnIGNsYXNzPSJ2ZWN0b3IiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjIyOCIgaGVpZ2h0PSIyMjgiIHZpZXdCb3g9IjAgMCAyMjggMjI4IiBmaWxsPSJub25lIj4NCiAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjQ1Ij4NCiAgICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjIiIGQ9Ik0xLjQwMzg2IDE0LjcxMDRWMTUuOTYyOUgxNC40MTgzQzUuOTUwNjcgMjQuOTgyNyAwLjc3ODE5OCAzNy4wOTI1IDAuNzc4MTk4IDUwLjQxMzFMMC43NzgxOTggMTc2LjkzOUMwLjc3ODE5OCAxOTAuMjYgNS45OTIyOCAyMDIuMzcgMTQuNDYwMyAyMTEuMzg5SDEuNDAzODZMMS40MDM4NiAyMTIuNjQySDE0LjI5MzFMMC43NzgxOTggMjI2LjE3MkwxLjY1MzkgMjI3LjA5TDE1LjI1MjcgMjEzLjQ3N0wxNS4yNTI3IDIyNi41ODlIMTYuNTA0TDE2LjUwNCAyMTMuNDc3QzI1LjUxNDEgMjIxLjk5NiAzNy42OTQ0IDIyNy4yNTggNTEuMDQyOCAyMjcuMjU4SDE3Ny4wMTdDMTkwLjM2NiAyMjcuMjU4IDIwMi41MDQgMjIyLjAzOCAyMTEuNTE0IDIxMy40NzdWMjI2LjU4OUgyMTIuNzY2VjIxMy40MzZMMjI2LjQ0OCAyMjcuMDlMMjI3LjMyMyAyMjYuMTcyTDIxMy44MDkgMjEyLjY0MkgyMjYuNjU2VjIxMS4zOUgyMTMuNkMyMjIuMTA5IDIwMi4zNyAyMjcuMjgyIDE5MC4yNiAyMjcuMjgyIDE3Ni45MzlMMjI3LjI4MiA1MC40MTMxQzIyNy4yODIgMzcuMDkyNSAyMjIuMTA5IDI0Ljk4MjcgMjEzLjY0MiAxNS45NjI5SDIyNi42NTZWMTQuNzEwNEgyMTMuNzY3TDIyNy4zMjMgMS4xODA3OEwyMjYuNDQ4IDAuMzA0MDNMMjEyLjgwNyAxMy45NTg3VjAuNjc5NzI3TDIxMS41NTYgMC42Nzk3MjdWMTMuODc1QzIwMi41NDYgNS4zNTY2MyAxOTAuNDA3IDAuMDk0OTcwNyAxNzcuMDU5IDAuMDk0OTcwN0w1MS4wODQ0IDAuMDk0OTcwN0MzNy42OTQ0IDAuMDk0OTcwNyAyNS41NTU3IDUuMzU2NjMgMTYuNTQ1NyAxMy45MTdWMC42Nzk3MjdMMTUuMjk0MyAwLjY3OTcyN0wxNS4yOTQzIDEzLjg3NUwxLjY5NTg5IDAuMjYxOTg4TDAuODE5ODEgMS4xMzkxMkwxNC4yOTMxIDE0LjcxMDRIMS40MDM4NlpNMjI2LjAzMSAxMTMuMDVIMjEyLjc2NlY3My41NDY5SDIyNi4wMzFWMTEzLjA1Wk04NS4zMzEyIDg1LjgyMzdMMTEyLjUyOCAxMTMuMDVMNzQuMjM1NCAxMTMuMDVWMTEyLjAwNkM3NC42MTEgMTAxLjg1OSA3OC43ODIyIDkyLjY3MjIgODUuMzMxMiA4NS44MjM3Wk03NC4yMzU0IDEwMy4yMzdWNzQuNjc0M0w4NC40NTUxIDg0LjkwNTNDNzkuNjE2MyA4OS45OTk1IDc2LjAyOTEgOTYuMjYzMyA3NC4yMzU0IDEwMy4yMzdaTTExNS41NzQgMTE0LjMwMkgxNTMuOTA4QzE1My43ODMgMTI0Ljg2NyAxNDkuNTcgMTM0LjQzIDE0Mi43NyAxNDEuNTI5TDExNS41NzQgMTE0LjMwMlpNMTE1LjU3NCAxMTMuMDVMMTQyLjc3IDg1LjgyMzdDMTQ5LjU3IDkyLjkyMjYgMTUzLjc4MyAxMDIuNDg1IDE1My45MDggMTEzLjA1SDExNS41NzRaTTExNC42NTYgMTEyLjE3M1Y3My41ODg5QzEyNS4yMDkgNzMuNzU1OSAxMzQuODAzIDc4LjA1NjcgMTQxLjg1MyA4NC45NDY5TDExNC42NTYgMTEyLjE3M1pNMTEzLjQwNCAxMTIuMTczTDg2LjIwNzMgODQuOTQ2OUM5My4yNTY3IDc4LjA1NjcgMTAyLjg1MSA3My43NTU5IDExMy40MDQgNzMuNTg4OVYxMTIuMTczWk03NC4yMzU0IDExNC4zMDJIMTEyLjUyOEw4NS4zMzEyIDE0MS41MjlDNzguNzQwNiAxMzQuNjggNzQuNjExIDEyNS40OTMgNzQuMjM1NCAxMTUuMzg4VjExNC4zMDJaTTg0LjQ1NTEgMTQyLjQwNkw3NC4yMzU0IDE1Mi42MzZWMTI0LjExNkM3Ni4wMjkxIDEzMS4wODkgNzkuNjE2MyAxMzcuMzUzIDg0LjQ1NTEgMTQyLjQwNlpNODUuMzMxMiAxNDMuMjgyQzkwLjM3ODUgMTQ4LjIxIDk2LjcxOSAxNTEuODg1IDEwMy43MjcgMTUzLjcyMkg3NC45MDI2TDg1LjMzMTIgMTQzLjI4MlpNODYuMjQ4OSAxNDIuNDA2TDExMy40NDYgMTE1LjE4VjE1My43MjJIMTEyLjAyOEMxMDIuMDE3IDE1My4yMjEgOTIuOTY0NyAxNDguOTYyIDg2LjI0ODkgMTQyLjQwNlpNMTE0LjY1NiAxNTMuNzIyVjExNS4xOEwxNDEuODUzIDE0Mi40MDZDMTM1LjEzNyAxNDguOTYyIDEyNi4wODUgMTUzLjIyMSAxMTYuMDc0IDE1My43MjJIMTE0LjY1NlpNMTQyLjcyOSAxNDMuMjgyTDE1My4xNTcgMTUzLjcyMkgxMjQuMzMzQzEzMS4zODMgMTUxLjg4NSAxMzcuNjgyIDE0OC4yNTIgMTQyLjcyOSAxNDMuMjgyWk0xNDMuNjQ3IDE0Mi40MDZDMTQ4LjU2OSAxMzcuMzExIDE1Mi4xNTYgMTMwLjkyMiAxNTMuOTUgMTIzLjg2NUwxNTMuOTUgMTUyLjcyTDE0My42NDcgMTQyLjQwNlpNMTQzLjY0NyA4NC45NDY5TDE1My45MDggNzQuNjMyN1YxMDMuNDg3QzE1Mi4xNTYgOTYuNDMwMyAxNDguNTI3IDkwLjA0MTIgMTQzLjY0NyA4NC45NDY5Wk0xNDIuNzI5IDg0LjA2OThDMTM3LjU1NiA3OS4wMTcyIDEzMS4wOTEgNzUuMzQyNCAxMjMuODc0DQogICAgICAgICAgNzMuNTQ2OUgxNTMuMjQxTDE0Mi43MjkgODQuMDY5OFpNODUuMzMxMiA4NC4wNjk4TDc0LjgxOTQgNzMuNTQ2OUgxMDQuMTg2Qzk2Ljk2OTEgNzUuMzQyNCA5MC41MDM3IDc5LjAxNzIgODUuMzMxMiA4NC4wNjk4Wk03Mi45ODQxIDExMS45NjRDNzIuOTg0MSAxMTIuMzQgNzIuOTQyNCAxMTIuNjc0IDcyLjk0MjQgMTEzLjA1SDU3LjQyNUM1Ny41NTAyIDk4LjE0MjIgNjMuNDMxNiA4NC41NzA5IDcyLjk4NDEgNzQuNTA3M1YxMTEuOTY0Wk03Mi45ODQxIDExNC4zMDJDNzIuOTg0MSAxMTQuNjc5IDcyLjk4NCAxMTUuMDEzIDczLjAyNTcgMTE1LjM4OFYxNTIuODQ1QzYzLjQ3MzIgMTQyLjc4MSA1Ny41OTE4IDEyOS4yMSA1Ny40NjY2IDExNC4zMDJINzIuOTg0MVpNMTExLjk4NiAxNTQuOTc1QzExMi40ODYgMTU1LjAxNiAxMTIuOTQ1IDE1NS4wMTYgMTEzLjQ0NiAxNTUuMDE2VjE3MC41NUM5OC42Mzc2IDE3MC4zODMgODUuMTY0NCAxNjQuNDk2IDc1LjExMTUgMTU0Ljk3NUgxMTEuOTg2Wk0xMTQuNjU2IDE1NS4wMTZDMTE1LjE1NiAxNTUuMDE2IDExNS42MTUgMTU1LjAxNiAxMTYuMTE2IDE1NC45NzVIMTUyLjk5QzE0Mi45NzkgMTY0LjQ5NiAxMjkuNTA2IDE3MC4zODMgMTE0LjY1NiAxNzAuNTVWMTU1LjAxNlpNMTU1LjE2IDExNC4zMDJIMTcwLjYzNUMxNzAuNTEgMTI5LjE2OCAxNjQuNjcgMTQyLjY5OCAxNTUuMTYgMTUyLjc2MUwxNTUuMTYgMTE0LjMwMlpNMTU1LjE2IDExMy4wNVY3NC41OTFDMTY0LjY3IDg0LjY1NDYgMTcwLjUxIDk4LjE4NDIgMTcwLjYzNSAxMTMuMDVIMTU1LjE2Wk0xMTQuNjU2IDcyLjI5NDRMMTE0LjY1NiA1Ni44NDM5QzEyOS40MjIgNTcuMDEwOSAxNDIuODU0IDYyLjg1NjkgMTUyLjg2NSA3Mi4yOTQ0SDExNC42NTZaTTExMy40MDQgNzIuMjk0NEg3NS4xOTQ3Qzg1LjIwNiA2Mi44NTY5IDk4LjYzNzYgNTYuOTY5MiAxMTMuNDA0IDU2Ljg0MzlMMTEzLjQwNCA3Mi4yOTQ0Wk01Ni4yMTUzIDExMy4wNUgyNi42ODIyQzI2Ljc2NTQgOTguODEwMiAzMC4yMjc3IDg1LjQwNjMgMzYuMzE3OSA3My41NDY5SDcyLjE5MTZDNjIuMzg4NyA4My44MTk1IDU2LjI5ODUgOTcuNzY2NSA1Ni4yMTUzIDExMy4wNVpNNTYuMjE1MyAxMTQuMzAyQzU2LjM0MDUgMTI5LjU0NCA2Mi4zNDcxIDE0My40MDggNzIuMTA4IDE1My43MjJIMzYuMjc2M0MzMC4xODYxIDE0MS45MDUgMjYuNzY1NCAxMjguNSAyNi42ODIyIDExNC4zMDJINTYuMjE1M1pNNzEuODk5NiAxNTQuOTc1TDUxLjcxMDEgMTc1LjE4NkM0NS44NzAzIDE2OS4yMTQgNDAuODY0NyAxNjIuNDA4IDM2Ljg2MDMgMTU0Ljk3NUg3MS44OTk2Wk03Mi45ODQxIDE1NS42NDNMNzIuOTg0MSAxOTEuMDk1QzY1LjQ3NTggMTg3LjA4NiA1OC42MzQ3IDE4MS45OTIgNTIuNjI3OCAxNzYuMDYyTDcyLjk4NDEgMTU1LjY0M1pNNzQuMjM1NCAxNTUuODUyQzg0LjQ1NTEgMTY1LjU4MSA5OC4yNjI0IDE3MS41OTQgMTEzLjQwNCAxNzEuNzYxTDExMy40MDQgMjAxLjM2OEM5OS4zMDUzIDIwMS4yODQgODUuOTk4NSAxOTcuODE4IDc0LjIzNTQgMTkxLjc2M0w3NC4yMzU0IDE1NS44NTJaTTExNC42NTYgMTcxLjgwM0MxMjkuODM5IDE3MS42MzYgMTQzLjY0NyAxNjUuNTgxIDE1My45MDggMTU1LjgxVjE5MS43MjJDMTQyLjEwMyAxOTcuNzc2IDEyOC43OTYgMjAxLjI0MiAxMTQuNjU2IDIwMS4zNjhMMTE0LjY1NiAxNzEuODAzWk0xNTUuMTYgMTU1LjcyNkwxNzUuNDc0IDE3Ni4wNjJDMTY5LjQ2NyAxODEuOTkyIDE2Mi42NjggMTg3LjA0NSAxNTUuMTYgMTkxLjA1M1YxNTUuNzI2Wk0xNTYuMTYxIDE1NC45NzVIMTkxLjJDMTg3LjIzNyAxNjIuNDA4IDE4Mi4yMzEgMTY5LjIxNCAxNzYuMzUgMTc1LjE4NkwxNTYuMTYxIDE1NC45NzVaTTE1NS45OTQgMTUzLjcyMkMxNjUuNzU1IDE0My40NDkgMTcxLjc2MiAxMjkuNTQ0IDE3MS44ODYgMTE0LjMwMkgyMDEuNDE5QzIwMS4zMzYgMTI4LjUgMTk3LjkxNiAxNDEuODYzIDE5MS44MjUgMTUzLjcyMkgxNTUuOTk0Wk0xNzEuODg2IDExMy4wNUMxNzEuNzYyIDk3Ljc2NjUgMTY1LjcxMyA4My44MTk1IDE1NS45MSA3My41NDY5SDE5MS43ODRDMTk3Ljg3NCA4NS40MDYzIDIwMS4zNzggOTguODUyMyAyMDEuNDE5IDExMy4wNUgxNzEuODg2Wk0xNTYuMjg2IDcyLjI5NDRMMTc2LjM1IDUyLjIwODZDMTgyLjE5IDU4LjEzODMgMTg3LjE1NCA2NC45MDMyIDE5MS4xMTcgNzIuMjk0NEgxNTYuMjg2Wk0xNTUuMTYgNzEuNjI2VjM2LjI5OUMxNjIuNjI2IDQwLjMwNzkgMTY5LjQ2NyA0NS4zNjA1IDE3NS40NzQgNTEuMjkwMkwxNTUuMTYgNzEuNjI2Wk0xNTMuOTA4IDcxLjU0MjZDMTQzLjY0Nw0KICAgICAgICAgIDYxLjc3MTUgMTI5LjgzOSA1NS43MTY0IDExNC42NTYgNTUuNTQ5NFYyNS45ODQ4QzEyOC43OTYgMjYuMDY4NSAxNDIuMTAzIDI5LjUzNDIgMTUzLjkwOCAzNS42MzFWNzEuNTQyNlpNMTEzLjQwNCA1NS41NDk0Qzk4LjI2MjQgNTUuNzE2NCA4NC40NTUxIDYxLjcyOTQgNzQuMjM1NCA3MS40NTg5TDc0LjIzNTQgMzUuNTg5M0M4NS45OTg1IDI5LjUzNDIgOTkuMzA1MyAyNi4wNjg1IDExMy40MDQgMjUuOTg0OFY1NS41NDk0Wk03Mi45ODQxIDcxLjcwOTdMNTIuNjI3OCA1MS4zMzE5QzU4LjYzNDcgNDUuNDAyMSA2NS40NzU4IDQwLjMwNzkgNzIuOTg0MSAzNi4yOTlMNzIuOTg0MSA3MS43MDk3Wk03MS44MTU5IDcyLjI5NDRIMzYuOTg1MUM0MC45NDgzIDY0LjkwMzIgNDUuOTUzNiA1OC4xMzgzIDUxLjc1MTcgNTIuMjA4Nkw3MS44MTU5IDcyLjI5NDRaTTM1LjU2NyA3Mi4yOTQ0SDE2LjUwNEwxNi41MDQgMTYuOTIzM0w1MC44NzYgNTEuMjkwMkM0NC43ODU5IDU3LjQ3MDMgMzkuNjEzNCA2NC41NjkxIDM1LjU2NyA3Mi4yOTQ0Wk0zNC44OTk3IDczLjU0NjlDMjguODkyOCA4NS40NDggMjUuNDcyNSA5OC44NTIzIDI1LjM4ODkgMTEzLjA1SDE2LjUwNEwxNi41MDQgNzMuNTQ2OUgzNC44OTk3Wk0xNS4yNTI3IDExMy4wNUgyLjAyOTUyTDIuMDI5NTIgNzMuNTQ2OUgxNS4yNTI3TDE1LjI1MjcgMTEzLjA1Wk0yLjAyOTUyIDExNC4zMDJIMTUuMjUyN0wxNS4yNTI3IDE1My43MjJIMi4wMjk1MkwyLjAyOTUyIDExNC4zMDJaTTE2LjUwNCAxMTQuMzAySDI1LjQzMDlDMjUuNTE0MSAxMjguNDU5IDI4Ljg5MjggMTQxLjg2MyAzNC44NTc3IDE1My43MjJIMTYuNTA0TDE2LjUwNCAxMTQuMzAyWk0zNS40ODM4IDE1NC45NzVDMzkuNTcxNCAxNjIuNzQyIDQ0Ljc0MzkgMTY5Ljg0MSA1MC44MzQgMTc2LjA2MkwxNi41MDQgMjEwLjQyOUwxNi41MDQgMTU0Ljk3NUgzNS40ODM4Wk01MS43NTE3IDE3Ni45MzlDNTguMDA5MSAxODMuMTIgNjUuMTQxNyAxODguMzgxIDcyLjk4NDEgMTkyLjUxNVYyMTEuMzlMMTcuMjk2NSAyMTEuMzg5TDUxLjc1MTcgMTc2LjkzOVpNNzQuMjM1NCAxOTMuMTQxQzg2LjA0MDQgMTk5LjExMyA5OS4zNDY5IDIwMi40OTUgMTEzLjQwNCAyMDIuNjJWMjExLjM5SDc0LjIzNTRWMTkzLjE0MVpNMTEzLjQwNCAyMTIuNjQyVjIyNi4wMDVINzQuMjM1NFYyMTIuNjQySDExMy40MDRaTTExNC42NTYgMjEyLjY0MkgxNTMuOTA4VjIyNi4wMDVIMTE0LjY1NlYyMTIuNjQyWk0xMTQuNjU2IDIxMS4zOVYyMDIuNjJDMTI4Ljc1NSAyMDIuNTM3IDE0Mi4wNjEgMTk5LjExMyAxNTMuOTA4IDE5My4xNDFWMjExLjM5SDExNC42NTZaTTE1NS4xNiAxOTIuNDczQzE2My4wMDIgMTg4LjMzOSAxNzAuMTM1IDE4My4xMiAxNzYuMzUgMTc2LjkzOUwyMTAuNzY0IDIxMS4zOUgxNTUuMTZWMTkyLjQ3M1pNMTc3LjIyNiAxNzYuMDYyQzE4My4zMTYgMTY5Ljg0MSAxODguNTMgMTYyLjc0MiAxOTIuNTc2IDE1NC45NzVIMjExLjU1NlYyMTAuMzg3TDE3Ny4yMjYgMTc2LjA2MlpNMTkzLjI0NCAxNTMuNzIyQzE5OS4yMDkgMTQxLjg2MyAyMDIuNjI5IDEyOC40NTkgMjAyLjY3MSAxMTQuMzAySDIxMS41NTZMMjExLjU1NiAxNTMuNzIySDE5My4yNDRaTTIxMi44MDcgMTE0LjMwMkgyMjYuMDMxTDIyNi4wMzEgMTUzLjcyMkgyMTIuNzY2TDIxMi43NjYgMTE0LjMwMkgyMTIuODA3Wk0yMTEuNTU2IDExMy4wNUgyMDIuNzEzQzIwMi42MjkgOTguODUyMyAxOTkuMjUgODUuNDQ4IDE5My4yMDIgNzMuNTQ2OUgyMTEuNTU2VjExMy4wNVpNMTkyLjUzNSA3Mi4yOTQ0QzE4OC40ODggNjQuNTY5MSAxODMuMzE2IDU3LjUxMTkgMTc3LjIyNiA1MS4zMzE5TDIxMS41MTQgMTcuMDA3VjcyLjI5NDRIMTkyLjUzNVpNMTc2LjM1IDUwLjQxMzFDMTcwLjEzNSA0NC4yMzMgMTYzLjAwMiAzOC45NzE3IDE1NS4xNiAzNC44NzkyVjE1Ljk2MjlIMjEwLjc2NEwxNzYuMzUgNTAuNDEzMVpNMTUzLjkwOCAzNC4yMTExQzE0Mi4xMDMgMjguMjM5NyAxMjguNzU1IDI0LjgxNTYgMTE0LjY1NiAyNC43MzIzVjE1Ljk2MjlMMTUzLjkwOCAxNS45NjI5VjM0LjIxMTFaTTExNC42NTYgMTQuNzEwNFYxLjM0NzhMMTUzLjkwOCAxLjM0NzhWMTQuNzEwNEwxMTQuNjU2IDE0LjcxMDRaTTExMy40MDQgMTQuNzEwNEg3NC4yMzU0VjEuMzQ3OEwxMTMuNDA0IDEuMzQ3OFYxNC43MTA0Wk0xMTMuNDA0IDE1Ljk2MjlWMjQuNzMyM0M5OS4zNDY5IDI0LjgxNTYgODYuMDQwNCAyOC4yMzk3IDc0LjIzNTQgMzQuMjExMVYxNS45NjI5SDExMy40MDRaTTcyLjk4NDEgMzQuODM3NUM2NS4xNDE3IDM4Ljk3MTcgNTcuOTY3MSA0NC4yMzMgNTEuNzUxNw0KICAgICAgICAgIDUwLjQxMzFMMTcuMzM4MSAxNS45NjI5TDcyLjk4NDEgMTUuOTYyOVYzNC44Mzc1Wk0xNS4yNTI3IDE2LjkyMzNMMTUuMjUyNyA3Mi4yOTQ0SDIuMDI5NTJMMi4wMjk1MiA1MC40MTMxQzIuMDI5NTIgMzcuNDY4MiA3LjA3Njc4IDI1LjczNDQgMTUuMjUyNyAxNi45MjMzWk0yLjAyOTUyIDE1NC45NzVIMTUuMjUyN0wxNS4yNTI3IDIxMC40MjlDNy4wNzY3OCAyMDEuNjYgMi4wMjk1MiAxODkuODg0IDIuMDI5NTIgMTc2LjkzOUwyLjAyOTUyIDE1NC45NzVaTTE3LjUwNTMgMjEyLjY0Mkg3Mi45ODQxVjIyNi4wMDVINTEuMDQyOEMzOC4wNyAyMjYuMDA1IDI2LjI2NSAyMjAuOTEgMTcuNTA1MyAyMTIuNjQyWk0xNTUuMTYgMjI2LjAwNVYyMTIuNjQySDIxMC41OTdDMjAxLjgzNyAyMjAuOTEgMTg5Ljk5IDIyNi4wMDUgMTc3LjAxNyAyMjYuMDA1SDE1NS4xNlpNMjEyLjgwNyAyMTAuNDcxVjE1NC45NzVIMjI2LjAzMVYxNzYuOTM5QzIyNi4wMzEgMTg5Ljg4NCAyMjEuMDI1IDIwMS43MDIgMjEyLjgwNyAyMTAuNDcxWk0yMjYuMDMxIDcyLjI5NDRIMjEyLjc2NlYxNi44ODE3QzIyMC45ODMgMjUuNjUwNyAyMjYuMDMxIDM3LjQ2ODIgMjI2LjAzMSA1MC40MTMxVjcyLjI5NDRaTTIxMC42MzggMTQuNzEwNEgxNTUuMTZWMS4zNDc4TDE3Ny4wMTcgMS4zNDc4QzE5MC4wMzIgMS4zNDc4IDIwMS44MzcgNi40NDIwNyAyMTAuNjM4IDE0LjcxMDRaTTcyLjk4NDEgMS4zNDc4VjE0LjcxMDRMMTcuNDYzMyAxNC43MTA0QzI2LjIyMzMgNi40NDIwNyAzOC4wNyAxLjM0NzggNTEuMDQyOCAxLjM0NzhMNzIuOTg0MSAxLjM0NzhaIi8+DQogICAgICAgICAgPC9nPg0KICAgICAgICAgIDwvc3ZnPg0KICAgICAgICAgIDxkaXYgY2xhc3M9Im1zX21vZGFsX3NwaW5uZXIgc3VjY2VzcyI+DQogICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiIGZpbGw9Im5vbmUiPg0KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTUuNjUgMi4zNDk5OEMxOS4yNzAyIDIuMzQ5OTggMjIuNzQyMSAzLjc4ODEgMjUuMzAyIDYuMzQ3OTdDMjcuODYxOSA4LjkwNzg0IDI5LjMgMTIuMzc5OCAyOS4zIDE2QzI5LjMgMTkuNjIwMiAyNy44NjE5IDIzLjA5MjEgMjUuMzAyIDI1LjY1MkMyMi43NDIxIDI4LjIxMTkgMTkuMjcwMiAyOS42NSAxNS42NSAyOS42NUMxMi4wMjk4IDI5LjY1IDguNTU3ODYgMjguMjExOSA1Ljk5Nzk5IDI1LjY1MkMzLjQzODEyIDIzLjA5MjEgMiAxOS42MjAyIDIgMTZDMiAxMi4zNzk4IDMuNDM4MTIgOC45MDc4NCA1Ljk5Nzk5IDYuMzQ3OTdDOC41NTc4NiAzLjc4ODEgMTIuMDI5OCAyLjM0OTk4IDE1LjY1IDIuMzQ5OThaTTEzLjk0OTYgMTguNjkyOUwxMC45MTczIDE1LjY1ODdDMTAuODA4NiAxNS41NSAxMC42Nzk2IDE1LjQ2MzggMTAuNTM3NiAxNS40MDVDMTAuMzk1NSAxNS4zNDYxIDEwLjI0MzMgMTUuMzE1OCAxMC4wODk2IDE1LjMxNThDOS45MzU4NCAxNS4zMTU4IDkuNzgzNjIgMTUuMzQ2MSA5LjY0MTU5IDE1LjQwNUM5LjQ5OTU2IDE1LjQ2MzggOS4zNzA1IDE1LjU1IDkuMjYxOCAxNS42NTg3QzkuMDQyMjYgMTUuODc4MyA4LjkxODkyIDE2LjE3NiA4LjkxODkyIDE2LjQ4NjVDOC45MTg5MiAxNi43OTcgOS4wNDIyNiAxNy4wOTQ3IDkuMjYxOCAxNy4zMTQzTDEzLjEyMjggMjEuMTc1M0MxMy4yMzEyIDIxLjI4NDUgMTMuMzYwMiAyMS4zNzEyIDEzLjUwMjIgMjEuNDMwNEMxMy42NDQzIDIxLjQ4OTYgMTMuNzk2NyAyMS41MiAxMy45NTA2IDIxLjUyQzE0LjEwNDUgMjEuNTIgMTQuMjU2OSAyMS40ODk2IDE0LjM5ODkgMjEuNDMwNEMxNC41NDEgMjEuMzcxMiAxNC42NyAyMS4yODQ1IDE0Ljc3ODMgMjEuMTc1M0wyMi43NzMzIDEzLjE3ODNDMjIuODgzNSAxMy4wNzAxIDIyLjk3MTEgMTIuOTQxMSAyMy4wMzEyIDEyLjc5ODhDMjMuMDkxMyAxMi42NTY1IDIzLjEyMjUgMTIuNTAzNyAyMy4xMjMzIDEyLjM0OTNDMjMuMTI0IDEyLjE5NDggMjMuMDk0MSAxMi4wNDE4IDIzLjAzNTQgMTEuODk4OUMyMi45NzY3IDExLjc1NjEgMjIuODkwMiAxMS42MjYzIDIyLjc4MTEgMTEuNTE3QzIyLjY3MTkgMTEuNDA3NyAyMi41NDIyIDExLjMyMTEgMjIuMzk5NSAxMS4yNjIzQzIyLjI1NjcgMTEuMjAzNCAyMi4xMDM3IDExLjE3MzMgMjEuOTQ5MiAxMS4xNzM4QzIxLjc5NDggMTEuMTc0NCAyMS42NDIgMTEuMjA1NSAyMS40OTk2IDExLjI2NTRDMjEuMzU3MiAxMS4zMjUzIDIxLjIyODEgMTEuNDEyNyAyMS4xMTk3IDExLjUyMjhMMTMuOTQ5NiAxOC42OTI5WiIgZmlsbD0iIzU2RDYyOSIvPg0KICAgICAgICAgICAgICA8L3N2Zz4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBjbGFzcz0ibXNfbG9hZGVyX3RpdGxlIj4NCiAgICAgICAgJFNVQlRJVExFJA0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJtc19sb2FkZXJfdGV4dCI+DQogICAgICAgICRURVhUJA0KICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQogIDxkaXYgY2xhc3M9Im1zX2xvYWRlcl9idXR0b24iIHN0eWxlPSIkU0hPV19CVVRUT04kIj4NCiAgICA8YnV0dG9uIGNsYXNzPSJhY3RpdmUiIG9uY2xpY2s9Ik1TTC5hY3Rpb24oKSI+JEJVVFRPTiQ8L2J1dHRvbj4NCiAgPC9kaXY+DQogIDxkaXYgY2xhc3M9Im1zX3Byb2dyZXNzX2JhciIgc3R5bGU9IiRQUk9HUkVTUyQiPg0KICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMDAlOyIgaWQ9Im1zLXByb2dyZXNzIj48L2Rpdj4NCiAgPC9kaXY+DQo8L2Rpdj5gOw0KDQpjb25zdCBNU19MT0FERVJfRVJST1IgPSBgPGRpdiBjbGFzcz0ibXNfbG9hZGVyICRDT0xPUiQiPg0KICA8ZGl2IGNsYXNzPSJtc19sb2FkZXJfY29udGVudCI+DQogICAgPGRpdiBjbGFzcz0ibXNfbG9hZGVyX2hlYWQiPg0KICAgICAgPHRpdGxlPiRUSVRMRSQ8L3RpdGxlPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9Im1zX2xvYWRlcl9tYWluIj4NCiAgICA8ZGl2IGNsYXNzPSJtcy1sb2FkZXItY29udGVudCIgPg0KICAgICAgPGRpdiBjbGFzcz0ibXNfbG9hZGVyX2VsIj4NCiAgICAgICAgPHN2ZyBjbGFzcz0idmVjdG9yIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMjgiIGhlaWdodD0iMjI4IiB2aWV3Qm94PSIwIDAgMjI4IDIyOCIgZmlsbD0ibm9uZSI+DQogICAgICAgICAgPGcgb3BhY2l0eT0iMC40NSI+DQogICAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yIiBkPSJNMS40MDM4NiAxNC43MTA0VjE1Ljk2MjlIMTQuNDE4M0M1Ljk1MDY3IDI0Ljk4MjcgMC43NzgxOTggMzcuMDkyNSAwLjc3ODE5OCA1MC40MTMxTDAuNzc4MTk4IDE3Ni45MzlDMC43NzgxOTggMTkwLjI2IDUuOTkyMjggMjAyLjM3IDE0LjQ2MDMgMjExLjM4OUgxLjQwMzg2TDEuNDAzODYgMjEyLjY0MkgxNC4yOTMxTDAuNzc4MTk4IDIyNi4xNzJMMS42NTM5IDIyNy4wOUwxNS4yNTI3IDIxMy40NzdMMTUuMjUyNyAyMjYuNTg5SDE2LjUwNEwxNi41MDQgMjEzLjQ3N0MyNS41MTQxIDIyMS45OTYgMzcuNjk0NCAyMjcuMjU4IDUxLjA0MjggMjI3LjI1OEgxNzcuMDE3QzE5MC4zNjYgMjI3LjI1OCAyMDIuNTA0IDIyMi4wMzggMjExLjUxNCAyMTMuNDc3VjIyNi41ODlIMjEyLjc2NlYyMTMuNDM2TDIyNi40NDggMjI3LjA5TDIyNy4zMjMgMjI2LjE3MkwyMTMuODA5IDIxMi42NDJIMjI2LjY1NlYyMTEuMzlIMjEzLjZDMjIyLjEwOSAyMDIuMzcgMjI3LjI4MiAxOTAuMjYgMjI3LjI4MiAxNzYuOTM5TDIyNy4yODIgNTAuNDEzMUMyMjcuMjgyIDM3LjA5MjUgMjIyLjEwOSAyNC45ODI3IDIxMy42NDIgMTUuOTYyOUgyMjYuNjU2VjE0LjcxMDRIMjEzLjc2N0wyMjcuMzIzIDEuMTgwNzhMMjI2LjQ0OCAwLjMwNDAzTDIxMi44MDcgMTMuOTU4N1YwLjY3OTcyN0wyMTEuNTU2IDAuNjc5NzI3VjEzLjg3NUMyMDIuNTQ2IDUuMzU2NjMgMTkwLjQwNyAwLjA5NDk3MDcgMTc3LjA1OSAwLjA5NDk3MDdMNTEuMDg0NCAwLjA5NDk3MDdDMzcuNjk0NCAwLjA5NDk3MDcgMjUuNTU1NyA1LjM1NjYzIDE2LjU0NTcgMTMuOTE3VjAuNjc5NzI3TDE1LjI5NDMgMC42Nzk3MjdMMTUuMjk0MyAxMy44NzVMMS42OTU4OSAwLjI2MTk4OEwwLjgxOTgxIDEuMTM5MTJMMTQuMjkzMSAxNC43MTA0SDEuNDAzODZaTTIyNi4wMzEgMTEzLjA1SDIxMi43NjZWNzMuNTQ2OUgyMjYuMDMxVjExMy4wNVpNODUuMzMxMiA4NS44MjM3TDExMi41MjggMTEzLjA1TDc0LjIzNTQgMTEzLjA1VjExMi4wMDZDNzQuNjExIDEwMS44NTkgNzguNzgyMiA5Mi42NzIyIDg1LjMzMTIgODUuODIzN1pNNzQuMjM1NCAxMDMuMjM3Vjc0LjY3NDNMODQuNDU1MSA4NC45MDUzQzc5LjYxNjMgODkuOTk5NSA3Ni4wMjkxIDk2LjI2MzMgNzQuMjM1NCAxMDMuMjM3Wk0xMTUuNTc0IDExNC4zMDJIMTUzLjkwOEMxNTMuNzgzIDEyNC44NjcgMTQ5LjU3IDEzNC40MyAxNDIuNzcgMTQxLjUyOUwxMTUuNTc0IDExNC4zMDJaTTExNS41NzQgMTEzLjA1TDE0Mi43NyA4NS44MjM3QzE0OS41NyA5Mi45MjI2IDE1My43ODMgMTAyLjQ4NSAxNTMuOTA4IDExMy4wNUgxMTUuNTc0Wk0xMTQuNjU2IDExMi4xNzNWNzMuNTg4OUMxMjUuMjA5IDczLjc1NTkgMTM0LjgwMyA3OC4wNTY3IDE0MS44NTMgODQuOTQ2OUwxMTQuNjU2IDExMi4xNzNaTTExMy40MDQgMTEyLjE3M0w4Ni4yMDczIDg0Ljk0NjlDOTMuMjU2NyA3OC4wNTY3IDEwMi44NTEgNzMuNzU1OSAxMTMuNDA0IDczLjU4ODlWMTEyLjE3M1pNNzQuMjM1NCAxMTQuMzAySDExMi41MjhMODUuMzMxMiAxNDEuNTI5Qzc4Ljc0MDYgMTM0LjY4IDc0LjYxMSAxMjUuNDkzIDc0LjIzNTQgMTE1LjM4OFYxMTQuMzAyWk04NC40NTUxIDE0Mi40MDZMNzQuMjM1NCAxNTIuNjM2VjEyNC4xMTZDNzYuMDI5MSAxMzEuMDg5IDc5LjYxNjMgMTM3LjM1MyA4NC40NTUxIDE0Mi40MDZaTTg1LjMzMTIgMTQzLjI4MkM5MC4zNzg1IDE0OC4yMSA5Ni43MTkgMTUxLjg4NSAxMDMuNzI3IDE1My43MjJINzQuOTAyNkw4NS4zMzEyIDE0My4yODJaTTg2LjI0ODkgMTQyLjQwNkwxMTMuNDQ2IDExNS4xOFYxNTMuNzIySDExMi4wMjhDMTAyLjAxNyAxNTMuMjIxIDkyLjk2NDcgMTQ4Ljk2MiA4Ni4yNDg5IDE0Mi40MDZaTTExNC42NTYgMTUzLjcyMlYxMTUuMThMMTQxLjg1MyAxNDIuNDA2QzEzNS4xMzcgMTQ4Ljk2MiAxMjYuMDg1IDE1My4yMjEgMTE2LjA3NCAxNTMuNzIySDExNC42NTZaTTE0Mi43MjkgMTQzLjI4MkwxNTMuMTU3IDE1My43MjJIMTI0LjMzM0MxMzEuMzgzIDE1MS44ODUgMTM3LjY4MiAxNDguMjUyIDE0Mi43MjkgMTQzLjI4MlpNMTQzLjY0NyAxNDIuNDA2QzE0OC41NjkgMTM3LjMxMSAxNTIuMTU2IDEzMC45MjIgMTUzLjk1IDEyMy44NjVMMTUzLjk1IDE1Mi43MkwxNDMuNjQ3IDE0Mi40MDZaTTE0My42NDcgODQuOTQ2OUwxNTMuOTA4IDc0LjYzMjdWMTAzLjQ4N0MxNTIuMTU2IDk2LjQzMDMgMTQ4LjUyNyA5MC4wNDEyIDE0My42NDcgODQuOTQ2OVpNMTQyLjcyOSA4NC4wNjk4QzEzNy41NTYgNzkuMDE3MiAxMzEuMDkxIDc1LjM0MjQgMTIzLjg3NCA3My41NDY5SDE1My4yNDFMMTQyLjcyOQ0KICAgICAgICAgIDg0LjA2OThaTTg1LjMzMTIgODQuMDY5OEw3NC44MTk0IDczLjU0NjlIMTA0LjE4NkM5Ni45NjkxIDc1LjM0MjQgOTAuNTAzNyA3OS4wMTcyIDg1LjMzMTIgODQuMDY5OFpNNzIuOTg0MSAxMTEuOTY0QzcyLjk4NDEgMTEyLjM0IDcyLjk0MjQgMTEyLjY3NCA3Mi45NDI0IDExMy4wNUg1Ny40MjVDNTcuNTUwMiA5OC4xNDIyIDYzLjQzMTYgODQuNTcwOSA3Mi45ODQxIDc0LjUwNzNWMTExLjk2NFpNNzIuOTg0MSAxMTQuMzAyQzcyLjk4NDEgMTE0LjY3OSA3Mi45ODQgMTE1LjAxMyA3My4wMjU3IDExNS4zODhWMTUyLjg0NUM2My40NzMyIDE0Mi43ODEgNTcuNTkxOCAxMjkuMjEgNTcuNDY2NiAxMTQuMzAySDcyLjk4NDFaTTExMS45ODYgMTU0Ljk3NUMxMTIuNDg2IDE1NS4wMTYgMTEyLjk0NSAxNTUuMDE2IDExMy40NDYgMTU1LjAxNlYxNzAuNTVDOTguNjM3NiAxNzAuMzgzIDg1LjE2NDQgMTY0LjQ5NiA3NS4xMTE1IDE1NC45NzVIMTExLjk4NlpNMTE0LjY1NiAxNTUuMDE2QzExNS4xNTYgMTU1LjAxNiAxMTUuNjE1IDE1NS4wMTYgMTE2LjExNiAxNTQuOTc1SDE1Mi45OUMxNDIuOTc5IDE2NC40OTYgMTI5LjUwNiAxNzAuMzgzIDExNC42NTYgMTcwLjU1VjE1NS4wMTZaTTE1NS4xNiAxMTQuMzAySDE3MC42MzVDMTcwLjUxIDEyOS4xNjggMTY0LjY3IDE0Mi42OTggMTU1LjE2IDE1Mi43NjFMMTU1LjE2IDExNC4zMDJaTTE1NS4xNiAxMTMuMDVWNzQuNTkxQzE2NC42NyA4NC42NTQ2IDE3MC41MSA5OC4xODQyIDE3MC42MzUgMTEzLjA1SDE1NS4xNlpNMTE0LjY1NiA3Mi4yOTQ0TDExNC42NTYgNTYuODQzOUMxMjkuNDIyIDU3LjAxMDkgMTQyLjg1NCA2Mi44NTY5IDE1Mi44NjUgNzIuMjk0NEgxMTQuNjU2Wk0xMTMuNDA0IDcyLjI5NDRINzUuMTk0N0M4NS4yMDYgNjIuODU2OSA5OC42Mzc2IDU2Ljk2OTIgMTEzLjQwNCA1Ni44NDM5TDExMy40MDQgNzIuMjk0NFpNNTYuMjE1MyAxMTMuMDVIMjYuNjgyMkMyNi43NjU0IDk4LjgxMDIgMzAuMjI3NyA4NS40MDYzIDM2LjMxNzkgNzMuNTQ2OUg3Mi4xOTE2QzYyLjM4ODcgODMuODE5NSA1Ni4yOTg1IDk3Ljc2NjUgNTYuMjE1MyAxMTMuMDVaTTU2LjIxNTMgMTE0LjMwMkM1Ni4zNDA1IDEyOS41NDQgNjIuMzQ3MSAxNDMuNDA4IDcyLjEwOCAxNTMuNzIySDM2LjI3NjNDMzAuMTg2MSAxNDEuOTA1IDI2Ljc2NTQgMTI4LjUgMjYuNjgyMiAxMTQuMzAySDU2LjIxNTNaTTcxLjg5OTYgMTU0Ljk3NUw1MS43MTAxIDE3NS4xODZDNDUuODcwMyAxNjkuMjE0IDQwLjg2NDcgMTYyLjQwOCAzNi44NjAzIDE1NC45NzVINzEuODk5NlpNNzIuOTg0MSAxNTUuNjQzTDcyLjk4NDEgMTkxLjA5NUM2NS40NzU4IDE4Ny4wODYgNTguNjM0NyAxODEuOTkyIDUyLjYyNzggMTc2LjA2Mkw3Mi45ODQxIDE1NS42NDNaTTc0LjIzNTQgMTU1Ljg1MkM4NC40NTUxIDE2NS41ODEgOTguMjYyNCAxNzEuNTk0IDExMy40MDQgMTcxLjc2MUwxMTMuNDA0IDIwMS4zNjhDOTkuMzA1MyAyMDEuMjg0IDg1Ljk5ODUgMTk3LjgxOCA3NC4yMzU0IDE5MS43NjNMNzQuMjM1NCAxNTUuODUyWk0xMTQuNjU2IDE3MS44MDNDMTI5LjgzOSAxNzEuNjM2IDE0My42NDcgMTY1LjU4MSAxNTMuOTA4IDE1NS44MVYxOTEuNzIyQzE0Mi4xMDMgMTk3Ljc3NiAxMjguNzk2IDIwMS4yNDIgMTE0LjY1NiAyMDEuMzY4TDExNC42NTYgMTcxLjgwM1pNMTU1LjE2IDE1NS43MjZMMTc1LjQ3NCAxNzYuMDYyQzE2OS40NjcgMTgxLjk5MiAxNjIuNjY4IDE4Ny4wNDUgMTU1LjE2IDE5MS4wNTNWMTU1LjcyNlpNMTU2LjE2MSAxNTQuOTc1SDE5MS4yQzE4Ny4yMzcgMTYyLjQwOCAxODIuMjMxIDE2OS4yMTQgMTc2LjM1IDE3NS4xODZMMTU2LjE2MSAxNTQuOTc1Wk0xNTUuOTk0IDE1My43MjJDMTY1Ljc1NSAxNDMuNDQ5IDE3MS43NjIgMTI5LjU0NCAxNzEuODg2IDExNC4zMDJIMjAxLjQxOUMyMDEuMzM2IDEyOC41IDE5Ny45MTYgMTQxLjg2MyAxOTEuODI1IDE1My43MjJIMTU1Ljk5NFpNMTcxLjg4NiAxMTMuMDVDMTcxLjc2MiA5Ny43NjY1IDE2NS43MTMgODMuODE5NSAxNTUuOTEgNzMuNTQ2OUgxOTEuNzg0QzE5Ny44NzQgODUuNDA2MyAyMDEuMzc4IDk4Ljg1MjMgMjAxLjQxOSAxMTMuMDVIMTcxLjg4NlpNMTU2LjI4NiA3Mi4yOTQ0TDE3Ni4zNSA1Mi4yMDg2QzE4Mi4xOSA1OC4xMzgzIDE4Ny4xNTQgNjQuOTAzMiAxOTEuMTE3IDcyLjI5NDRIMTU2LjI4NlpNMTU1LjE2IDcxLjYyNlYzNi4yOTlDMTYyLjYyNiA0MC4zMDc5IDE2OS40NjcgNDUuMzYwNSAxNzUuNDc0IDUxLjI5MDJMMTU1LjE2IDcxLjYyNlpNMTUzLjkwOCA3MS41NDI2QzE0My42NDcgNjEuNzcxNSAxMjkuODM5IDU1LjcxNjQgMTE0LjY1Ng0KICAgICAgICAgIDU1LjU0OTRWMjUuOTg0OEMxMjguNzk2IDI2LjA2ODUgMTQyLjEwMyAyOS41MzQyIDE1My45MDggMzUuNjMxVjcxLjU0MjZaTTExMy40MDQgNTUuNTQ5NEM5OC4yNjI0IDU1LjcxNjQgODQuNDU1MSA2MS43Mjk0IDc0LjIzNTQgNzEuNDU4OUw3NC4yMzU0IDM1LjU4OTNDODUuOTk4NSAyOS41MzQyIDk5LjMwNTMgMjYuMDY4NSAxMTMuNDA0IDI1Ljk4NDhWNTUuNTQ5NFpNNzIuOTg0MSA3MS43MDk3TDUyLjYyNzggNTEuMzMxOUM1OC42MzQ3IDQ1LjQwMjEgNjUuNDc1OCA0MC4zMDc5IDcyLjk4NDEgMzYuMjk5TDcyLjk4NDEgNzEuNzA5N1pNNzEuODE1OSA3Mi4yOTQ0SDM2Ljk4NTFDNDAuOTQ4MyA2NC45MDMyIDQ1Ljk1MzYgNTguMTM4MyA1MS43NTE3IDUyLjIwODZMNzEuODE1OSA3Mi4yOTQ0Wk0zNS41NjcgNzIuMjk0NEgxNi41MDRMMTYuNTA0IDE2LjkyMzNMNTAuODc2IDUxLjI5MDJDNDQuNzg1OSA1Ny40NzAzIDM5LjYxMzQgNjQuNTY5MSAzNS41NjcgNzIuMjk0NFpNMzQuODk5NyA3My41NDY5QzI4Ljg5MjggODUuNDQ4IDI1LjQ3MjUgOTguODUyMyAyNS4zODg5IDExMy4wNUgxNi41MDRMMTYuNTA0IDczLjU0NjlIMzQuODk5N1pNMTUuMjUyNyAxMTMuMDVIMi4wMjk1MkwyLjAyOTUyIDczLjU0NjlIMTUuMjUyN0wxNS4yNTI3IDExMy4wNVpNMi4wMjk1MiAxMTQuMzAySDE1LjI1MjdMMTUuMjUyNyAxNTMuNzIySDIuMDI5NTJMMi4wMjk1MiAxMTQuMzAyWk0xNi41MDQgMTE0LjMwMkgyNS40MzA5QzI1LjUxNDEgMTI4LjQ1OSAyOC44OTI4IDE0MS44NjMgMzQuODU3NyAxNTMuNzIySDE2LjUwNEwxNi41MDQgMTE0LjMwMlpNMzUuNDgzOCAxNTQuOTc1QzM5LjU3MTQgMTYyLjc0MiA0NC43NDM5IDE2OS44NDEgNTAuODM0IDE3Ni4wNjJMMTYuNTA0IDIxMC40MjlMMTYuNTA0IDE1NC45NzVIMzUuNDgzOFpNNTEuNzUxNyAxNzYuOTM5QzU4LjAwOTEgMTgzLjEyIDY1LjE0MTcgMTg4LjM4MSA3Mi45ODQxIDE5Mi41MTVWMjExLjM5TDE3LjI5NjUgMjExLjM4OUw1MS43NTE3IDE3Ni45MzlaTTc0LjIzNTQgMTkzLjE0MUM4Ni4wNDA0IDE5OS4xMTMgOTkuMzQ2OSAyMDIuNDk1IDExMy40MDQgMjAyLjYyVjIxMS4zOUg3NC4yMzU0VjE5My4xNDFaTTExMy40MDQgMjEyLjY0MlYyMjYuMDA1SDc0LjIzNTRWMjEyLjY0MkgxMTMuNDA0Wk0xMTQuNjU2IDIxMi42NDJIMTUzLjkwOFYyMjYuMDA1SDExNC42NTZWMjEyLjY0MlpNMTE0LjY1NiAyMTEuMzlWMjAyLjYyQzEyOC43NTUgMjAyLjUzNyAxNDIuMDYxIDE5OS4xMTMgMTUzLjkwOCAxOTMuMTQxVjIxMS4zOUgxMTQuNjU2Wk0xNTUuMTYgMTkyLjQ3M0MxNjMuMDAyIDE4OC4zMzkgMTcwLjEzNSAxODMuMTIgMTc2LjM1IDE3Ni45MzlMMjEwLjc2NCAyMTEuMzlIMTU1LjE2VjE5Mi40NzNaTTE3Ny4yMjYgMTc2LjA2MkMxODMuMzE2IDE2OS44NDEgMTg4LjUzIDE2Mi43NDIgMTkyLjU3NiAxNTQuOTc1SDIxMS41NTZWMjEwLjM4N0wxNzcuMjI2IDE3Ni4wNjJaTTE5My4yNDQgMTUzLjcyMkMxOTkuMjA5IDE0MS44NjMgMjAyLjYyOSAxMjguNDU5IDIwMi42NzEgMTE0LjMwMkgyMTEuNTU2TDIxMS41NTYgMTUzLjcyMkgxOTMuMjQ0Wk0yMTIuODA3IDExNC4zMDJIMjI2LjAzMUwyMjYuMDMxIDE1My43MjJIMjEyLjc2NkwyMTIuNzY2IDExNC4zMDJIMjEyLjgwN1pNMjExLjU1NiAxMTMuMDVIMjAyLjcxM0MyMDIuNjI5IDk4Ljg1MjMgMTk5LjI1IDg1LjQ0OCAxOTMuMjAyIDczLjU0NjlIMjExLjU1NlYxMTMuMDVaTTE5Mi41MzUgNzIuMjk0NEMxODguNDg4IDY0LjU2OTEgMTgzLjMxNiA1Ny41MTE5IDE3Ny4yMjYgNTEuMzMxOUwyMTEuNTE0IDE3LjAwN1Y3Mi4yOTQ0SDE5Mi41MzVaTTE3Ni4zNSA1MC40MTMxQzE3MC4xMzUgNDQuMjMzIDE2My4wMDIgMzguOTcxNyAxNTUuMTYgMzQuODc5MlYxNS45NjI5SDIxMC43NjRMMTc2LjM1IDUwLjQxMzFaTTE1My45MDggMzQuMjExMUMxNDIuMTAzIDI4LjIzOTcgMTI4Ljc1NSAyNC44MTU2IDExNC42NTYgMjQuNzMyM1YxNS45NjI5TDE1My45MDggMTUuOTYyOVYzNC4yMTExWk0xMTQuNjU2IDE0LjcxMDRWMS4zNDc4TDE1My45MDggMS4zNDc4VjE0LjcxMDRMMTE0LjY1NiAxNC43MTA0Wk0xMTMuNDA0IDE0LjcxMDRINzQuMjM1NFYxLjM0NzhMMTEzLjQwNCAxLjM0NzhWMTQuNzEwNFpNMTEzLjQwNCAxNS45NjI5VjI0LjczMjNDOTkuMzQ2OSAyNC44MTU2IDg2LjA0MDQgMjguMjM5NyA3NC4yMzU0IDM0LjIxMTFWMTUuOTYyOUgxMTMuNDA0Wk03Mi45ODQxIDM0LjgzNzVDNjUuMTQxNyAzOC45NzE3IDU3Ljk2NzEgNDQuMjMzIDUxLjc1MTcgNTAuNDEzMUwxNy4zMzgxIDE1Ljk2MjlMNzIuOTg0MSAxNS45NjI5VjM0LjgzNzVaTTE1LjI1MjcNCiAgICAgICAgICAxNi45MjMzTDE1LjI1MjcgNzIuMjk0NEgyLjAyOTUyTDIuMDI5NTIgNTAuNDEzMUMyLjAyOTUyIDM3LjQ2ODIgNy4wNzY3OCAyNS43MzQ0IDE1LjI1MjcgMTYuOTIzM1pNMi4wMjk1MiAxNTQuOTc1SDE1LjI1MjdMMTUuMjUyNyAyMTAuNDI5QzcuMDc2NzggMjAxLjY2IDIuMDI5NTIgMTg5Ljg4NCAyLjAyOTUyIDE3Ni45MzlMMi4wMjk1MiAxNTQuOTc1Wk0xNy41MDUzIDIxMi42NDJINzIuOTg0MVYyMjYuMDA1SDUxLjA0MjhDMzguMDcgMjI2LjAwNSAyNi4yNjUgMjIwLjkxIDE3LjUwNTMgMjEyLjY0MlpNMTU1LjE2IDIyNi4wMDVWMjEyLjY0MkgyMTAuNTk3QzIwMS44MzcgMjIwLjkxIDE4OS45OSAyMjYuMDA1IDE3Ny4wMTcgMjI2LjAwNUgxNTUuMTZaTTIxMi44MDcgMjEwLjQ3MVYxNTQuOTc1SDIyNi4wMzFWMTc2LjkzOUMyMjYuMDMxIDE4OS44ODQgMjIxLjAyNSAyMDEuNzAyIDIxMi44MDcgMjEwLjQ3MVpNMjI2LjAzMSA3Mi4yOTQ0SDIxMi43NjZWMTYuODgxN0MyMjAuOTgzIDI1LjY1MDcgMjI2LjAzMSAzNy40NjgyIDIyNi4wMzEgNTAuNDEzMVY3Mi4yOTQ0Wk0yMTAuNjM4IDE0LjcxMDRIMTU1LjE2VjEuMzQ3OEwxNzcuMDE3IDEuMzQ3OEMxOTAuMDMyIDEuMzQ3OCAyMDEuODM3IDYuNDQyMDcgMjEwLjYzOCAxNC43MTA0Wk03Mi45ODQxIDEuMzQ3OFYxNC43MTA0TDE3LjQ2MzMgMTQuNzEwNEMyNi4yMjMzIDYuNDQyMDcgMzguMDcgMS4zNDc4IDUxLjA0MjggMS4zNDc4TDcyLjk4NDEgMS4zNDc4WiIvPg0KICAgICAgICAgIDwvZz4NCiAgICAgICAgICA8L3N2Zz4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJtc19tb2RhbF9zcGlubmVyIGVycm9yIj4NCiAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSI+DQogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNiAyMi41QzE2LjM2ODMgMjIuNSAxNi42NzczIDIyLjM3NTIgMTYuOTI2OSAyMi4xMjU2QzE3LjE3NjUgMjEuODc2IDE3LjMwMDkgMjEuNTY3NSAxNy4zIDIxLjJDMTcuMyAyMC44MzE3IDE3LjE3NTIgMjAuNTIyNyAxNi45MjU2IDIwLjI3MzFDMTYuNjc2IDIwLjAyMzUgMTYuMzY3NSAxOS44OTkxIDE2IDE5LjlDMTUuNjMxNyAxOS45IDE1LjMyMjcgMjAuMDI0OCAxNS4wNzMxIDIwLjI3NDRDMTQuODIzNSAyMC41MjQgMTQuNjk5MSAyMC44MzI1IDE0LjcgMjEuMkMxNC43IDIxLjU2ODMgMTQuODI0OCAyMS44NzczIDE1LjA3NDQgMjIuMTI2OUMxNS4zMjQgMjIuMzc2NSAxNS42MzI1IDIyLjUwMDkgMTYgMjIuNVpNMTQuNyAxNy4zSDE3LjNWOS41SDE0LjdWMTcuM1pNMTYgMjlDMTQuMjAxNyAyOSAxMi41MTE3IDI4LjY1ODUgMTAuOTMgMjcuOTc1NkM5LjM0ODMzIDI3LjI5MjcgNy45NzI1IDI2LjM2NjYgNi44MDI1IDI1LjE5NzVDNS42MzI1IDI0LjAyNzUgNC43MDY0NyAyMi42NTE3IDQuMDI0NCAyMS4wN0MzLjM0MjMzIDE5LjQ4ODMgMy4wMDA4NyAxNy43OTgzIDMgMTZDMyAxNC4yMDE3IDMuMzQxNDcgMTIuNTExNyA0LjAyNDQgMTAuOTNDNC43MDczMyA5LjM0ODMzIDUuNjMzMzcgNy45NzI1IDYuODAyNSA2LjgwMjVDNy45NzI1IDUuNjMyNSA5LjM0ODMzIDQuNzA2NDcgMTAuOTMgNC4wMjQ0QzEyLjUxMTcgMy4zNDIzMyAxNC4yMDE3IDMuMDAwODcgMTYgM0MxNy43OTgzIDMgMTkuNDg4MyAzLjM0MTQ3IDIxLjA3IDQuMDI0NEMyMi42NTE3IDQuNzA3MzMgMjQuMDI3NSA1LjYzMzM3IDI1LjE5NzUgNi44MDI1QzI2LjM2NzUgNy45NzI1IDI3LjI5NCA5LjM0ODMzIDI3Ljk3NjkgMTAuOTNDMjguNjU5OCAxMi41MTE3IDI5LjAwMDkgMTQuMjAxNyAyOSAxNkMyOSAxNy43OTgzIDI4LjY1ODUgMTkuNDg4MyAyNy45NzU2IDIxLjA3QzI3LjI5MjcgMjIuNjUxNyAyNi4zNjY2IDI0LjAyNzUgMjUuMTk3NSAyNS4xOTc1QzI0LjAyNzUgMjYuMzY3NSAyMi42NTE3IDI3LjI5NCAyMS4wNyAyNy45NzY5QzE5LjQ4ODMgMjguNjU5OCAxNy43OTgzIDI5LjAwMDkgMTYgMjlaIiBmaWxsPSIjRTA1MjVFIi8+DQogICAgICAgICAgICAgIDwvc3ZnPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJtc19sb2FkZXJfdGl0bGUiPg0KICAgICAgICAkU1VCVElUTEUkDQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9Im1zX2xvYWRlcl90ZXh0Ij4NCiAgICAgICAgJFRFWFQkDQogICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICA8L2Rpdj4NCiAgPGRpdiBjbGFzcz0ibXNfbG9hZGVyX2J1dHRvbiIgc3R5bGU9IiRTSE9XX0JVVFRPTiQiPg0KICAgIDxidXR0b24gY2xhc3M9ImFjdGl2ZSIgb25jbGljaz0iTVNMLmFjdGlvbigpIj4kQlVUVE9OJDwvYnV0dG9uPg0KICA8L2Rpdj4NCiAgPGRpdiBjbGFzcz0ibXNfcHJvZ3Jlc3NfYmFyIiBzdHlsZT0iJFBST0dSRVNTJCI+DQogICAgPGRpdiBzdHlsZT0id2lkdGg6IDEwMCU7IiBpZD0ibXMtcHJvZ3Jlc3MiPjwvZGl2Pg0KICA8L2Rpdj4NCjwvZGl2PmA7DQoNCmNvbnN0IE1TX0xPQURFUl9JTkZPID0gYDxkaXYgY2xhc3M9Im1zX2xvYWRlciAkQ09MT1IkIj4NCiAgPGRpdiBjbGFzcz0ibXNfbG9hZGVyX2NvbnRlbnQiPg0KICAgIDxkaXYgY2xhc3M9Im1zX2xvYWRlcl9oZWFkIj4NCiAgICAgIDx0aXRsZT4kVElUTEUkPC90aXRsZT4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJtc19sb2FkZXJfbWFpbiI+DQogICAgPGRpdiBjbGFzcz0ibXMtbG9hZGVyLWNvbnRlbnQgY2VudGVyIj4NCiAgICAgIDxkaXYgY2xhc3M9Im1zX2xvYWRlcl90aXRsZSI+DQogICAgICAgICRTVUJUSVRMRSQNCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBjbGFzcz0ibXNfbG9hZGVyX3RleHQiPg0KICAgICAgICAkVEVYVCQNCiAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogIDwvZGl2Pg0KICA8ZGl2IGNsYXNzPSJtc19sb2FkZXJfYnV0dG9uIiBzdHlsZT0iJFNIT1dfQlVUVE9OJCI+DQogICAgPGJ1dHRvbiBjbGFzcz0iYWN0aXZlIiBvbmNsaWNrPSJNU0wuYWN0aW9uKCkiPiRCVVRUT04kPC9idXR0b24+DQogIDwvZGl2Pg0KICA8ZGl2IGNsYXNzPSJtc19wcm9ncmVzc19iYXIiIHN0eWxlPSIkUFJPR1JFU1MkIj4NCiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwJTsiIGlkPSJtcy1wcm9ncmVzcyI+PC9kaXY+DQogIDwvZGl2Pg0KPC9kaXY+YDsNCg0KY29uc3QgTVNMID0gew0KICBjb2xvcl9zY2hlbWU6ICdsaWdodCcsDQogIHByb2dyZXNzX3RpbWVyOiBudWxsLA0KICBmdW5jOiBudWxsLA0KICBpc19hY3RpdmU6IGZhbHNlLA0KICBpbml0OiAoKSA9PiB7DQogICAgdHJ5IHsNCiAgICAgIGNvbnN0IHN0eWxlX2VsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOw0KICAgICAgc3R5bGVfZWxlbS50ZXh0Q29udGVudCA9IE1TX0xPQURFUl9TVFlMRTsNCiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kKHN0eWxlX2VsZW0pOw0KICAgIH0gY2F0Y2goZXJyKSB7DQogICAgICBjb25zb2xlLmxvZyhlcnIpOw0KICAgIH0NCiAgfSwNCiAgY2xvc2U6ICgpID0+IHsNCiAgICB0cnkgew0KICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI21zLWxvYWRlcicpLnJlbW92ZSgpOw0KICAgIH0gY2F0Y2goZXJyKSB7DQogICAgICBjb25zb2xlLmxvZygnTG9hZGVyIENsb3NlZCcpOw0KICAgIH0NCiAgICB0cnkgeyBjbGVhckludGVydmFsKE1TTC5wcm9ncmVzc190aW1lcikgfSBjYXRjaChlcnIpIHt9DQogICAgTVNMLmlzX2FjdGl2ZSA9IGZhbHNlOw0KICB9LA0KICBmaXJlOiBhc3luYyAoc3QpID0+IHsNCiAgICB0cnkgew0KICAgICAgTVNMLmNsb3NlKCk7DQoNCiAgICAgIGxldCBjdXJyZW50X2NvbG9yID0gKChzdC5oYXNPd25Qcm9wZXJ0eSgnY29sb3InKSA/IHN0LmNvbG9yIDogTVNMLmNvbG9yX3NjaGVtZSkgPT0gJ2RhcmsnKSA/ICdibGFjaycgOiAnd2hpdGUnOw0KICAgICAgbGV0IG1vZGUgPSAoc3QuaGFzT3duUHJvcGVydHkoJ2ljb24nKSA/IHN0Lmljb24gOiAnaW5mbycpOyBsZXQgdGltZXIgPSAoc3QuaGFzT3duUHJvcGVydHkoJ3RpbWVyJykgPyBzdC50aW1lciA6IDApOw0KICAgICAgbGV0IHNob3dfYnV0dG9uID0gKHN0Lmhhc093blByb3BlcnR5KCdzaG93Q29uZmlybUJ1dHRvbicpID8gc3Quc2hvd0NvbmZpcm1CdXR0b24gOiB0cnVlKTsNCiAgICAgIGxldCBidXR0b25fZnVuYyA9IChzdC5oYXNPd25Qcm9wZXJ0eSgnZnVuYycpID8gc3QuZnVuYyA6IE1TTC5jbG9zZSk7IGxldCBsb2FkZXJfY29udGVudCA9ICcnOw0KDQogICAgICBNU0wuaXNfYWN0aXZlID0gdHJ1ZTsNCiAgICAgIE1TTC5mdW5jID0gYnV0dG9uX2Z1bmM7DQoNCiAgICAgIGlmIChtb2RlID09ICdsb2FkJykgew0KICAgICAgICBsb2FkZXJfY29udGVudCA9IE1TX0xPQURFUl9MT0FELnJlcGxhY2VBbGwoJyRUSVRMRSQnLCBzdC50aXRsZSB8fCAnTG9hZGluZy4uLicpLnJlcGxhY2VBbGwoJyRURVhUJCcsIHN0LnRleHQgfHwgJ1BsZWFzZSwgd2FpdCB1bnRpbCBwcm9jZXNzIHdpbGwgYmUgZG9uZScpDQogICAgICAgIC5yZXBsYWNlQWxsKCckQlVUVE9OJCcsIHN0LmNvbmZpcm1CdXR0b25UZXh0IHx8ICdQbGVhc2Ugd2FpdCcpLnJlcGxhY2VBbGwoJyRDT0xPUiQnLCBjdXJyZW50X2NvbG9yKS5yZXBsYWNlQWxsKCckUFJPR1JFU1MkJywgdGltZXIgPiAwID8gJycgOiAnZGlzcGxheTogbm9uZScpDQogICAgICAgIC5yZXBsYWNlQWxsKCckU0hPV19CVVRUT04kJywgc2hvd19idXR0b24gPT0gdHJ1ZSA/ICcnIDogJ2Rpc3BsYXk6IG5vbmUnKTsNCiAgICAgIH0gZWxzZSBpZiAobW9kZSA9PSAnc3VjY2VzcycpIHsNCiAgICAgICAgbG9hZGVyX2NvbnRlbnQgPSBNU19MT0FERVJfU1VDQ0VTUy5yZXBsYWNlQWxsKCckVElUTEUkJywgc3QudGl0bGUgfHwgJ1N1Y2Nlc3MnKS5yZXBsYWNlQWxsKCckVEVYVCQnLCBzdC50ZXh0IHx8ICdZb3VcJ3ZlIGRvbmUgZXZlcnl0aGluZyEnKQ0KICAgICAgICAucmVwbGFjZUFsbCgnJEJVVFRPTiQnLCBzdC5jb25maXJtQnV0dG9uVGV4dCB8fCAnUGxlYXNlIHdhaXQnKS5yZXBsYWNlQWxsKCckQ09MT1IkJywgY3VycmVudF9jb2xvcikucmVwbGFjZUFsbCgnJFBST0dSRVNTJCcsIHRpbWVyID4gMCA/ICcnIDogJ2Rpc3BsYXk6IG5vbmUnKQ0KICAgICAgICAucmVwbGFjZUFsbCgnJFNIT1dfQlVUVE9OJCcsIHNob3dfYnV0dG9uID09IHRydWUgPyAnJyA6ICdkaXNwbGF5OiBub25lJykucmVwbGFjZUFsbCgnJFNVQlRJVExFJCcsIHN0LnN1YnRpdGxlIHx8ICdBbGwgZG9uZSEnKTsNCiAgICAgIH0gZWxzZSBpZiAobW9kZSA9PSAnZXJyb3InKSB7DQogICAgICAgIGxvYWRlcl9jb250ZW50ID0gTVNfTE9BREVSX0VSUk9SLnJlcGxhY2VBbGwoJyRUSVRMRSQnLCBzdC50aXRsZSB8fCAnT29wcy4uLicpLnJlcGxhY2VBbGwoJyRURVhUJCcsIHN0LnRleHQgfHwgJ1RyeSBhZ2FpbiBwbGVhc2UhJykNCiAgICAgICAgLnJlcGxhY2VBbGwoJyRCVVRUT04kJywgc3QuY29uZmlybUJ1dHRvblRleHQgfHwgJ1BsZWFzZSB3YWl0JykucmVwbGFjZUFsbCgnJENPTE9SJCcsIGN1cnJlbnRfY29sb3IpLnJlcGxhY2VBbGwoJyRQUk9HUkVTUyQnLCB0aW1lciA+IDAgPyAnJyA6ICdkaXNwbGF5OiBub25lJykNCiAgICAgICAgLnJlcGxhY2VBbGwoJyRTSE9XX0JVVFRPTiQnLCBzaG93X2J1dHRvbiA9PSB0cnVlID8gJycgOiAnZGlzcGxheTogbm9uZScpLnJlcGxhY2VBbGwoJyRTVUJUSVRMRSQnLCBzdC5zdWJ0aXRsZSB8fCAnU29tZXRoaW5nIHdlbnQgd3JvbmcuLi4nKTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIGxvYWRlcl9jb250ZW50ID0gTVNfTE9BREVSX0lORk8ucmVwbGFjZUFsbCgnJFRJVExFJCcsIHN0LnRpdGxlIHx8ICdUaXRsZScpLnJlcGxhY2VBbGwoJyRURVhUJCcsIHN0LnRleHQgfHwgJ1RleHQnKQ0KICAgICAgICAucmVwbGFjZUFsbCgnJEJVVFRPTiQnLCBzdC5jb25maXJtQnV0dG9uVGV4dCB8fCAnUGxlYXNlIHdhaXQnKS5yZXBsYWNlQWxsKCckQ09MT1IkJywgY3VycmVudF9jb2xvcikucmVwbGFjZUFsbCgnJFBST0dSRVNTJCcsIHRpbWVyID4gMCA/ICcnIDogJ2Rpc3BsYXk6IG5vbmUnKQ0KICAgICAgICAucmVwbGFjZUFsbCgnJFNIT1dfQlVUVE9OJCcsIHNob3dfYnV0dG9uID09IHRydWUgPyAnJyA6ICdkaXNwbGF5OiBub25lJykucmVwbGFjZUFsbCgnJFNVQlRJVExFJCcsIHN0LnN1YnRpdGxlIHx8ICdTdWJ0aXRsZScpOw0KICAgICAgfQ0KDQogICAgICBjb25zdCBsb2FkZXJfZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOw0KICAgICAgbG9hZGVyX2VsZW0uaWQgPSAnbXMtbG9hZGVyJzsNCiAgICAgIGxvYWRlcl9lbGVtLmlubmVySFRNTCA9IGxvYWRlcl9jb250ZW50Ow0KICAgICAgZG9jdW1lbnQuYm9keS5wcmVwZW5kKGxvYWRlcl9lbGVtKTsNCg0KICAgICAgaWYgKHRpbWVyID4gMCkgew0KICAgICAgICBsZXQgY291bnRkb3duID0gdGltZXI7DQogICAgICAgIE1TTC5wcm9ncmVzc190aW1lciA9IHNldEludGVydmFsKCgpID0+IHsNCiAgICAgICAgICBjb3VudGRvd24gLT0gMTA7DQogICAgICAgICAgaWYgKGNvdW50ZG93biA8PSAxMCkgew0KICAgICAgICAgICAgTVNMLmNsb3NlKCk7DQogICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIGxldCBwZXJjZW50ID0gKGNvdW50ZG93biAvIHRpbWVyKSAqIDEwMDsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNtcy1wcm9ncmVzcycpLnN0eWxlLndpZHRoID0gYCR7cGVyY2VudH0lYDsNCiAgICAgICAgICAgIH0gY2F0Y2goZXJyKSB7DQogICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7DQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICB9LCAxMCk7DQogICAgICAgIHdoaWxlIChjb3VudGRvd24gPiAxMCkNCiAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgMTApKTsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9IGVsc2Ugew0KICAgICAgICB3aGlsZSAoTVNMLmlzX2FjdGl2ZSkNCiAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgMTApKTsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQoNCiAgICB9IGNhdGNoKGVycikgew0KICAgICAgY29uc29sZS5sb2coJ0xvYWRlciBGaXJlZCcpOw0KICAgIH0NCiAgfSwNCiAgYWN0aW9uOiAoKSA9PiB7DQogICAgdHJ5IHsNCiAgICAgIE1TTC5mdW5jKCk7DQogICAgfSBjYXRjaChlcnIpIHsNCiAgICAgIGNvbnNvbGUubG9nKGVycik7DQogICAgfQ0KICB9DQp9Ow=="}},"time_used":107,"timings":{"blocked":-1,"dns":0,"connect":20,"send":0,"wait":28,"receive":29,"ssl":30},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"meta-drop.top","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":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"opendns","sensor_type":"DNS","title":"OpenDNS","description":"OpenDNS","scan_date":"2026-07-27","alert":"Phishing Block","trigger":"meta-drop.top","verdict":"phishing","severity":"medium","comment":"","link":"https://www.opendns.com/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/assets/web3-provider/web3-seaport.js","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:07.861Z","timestamp":1785152587861,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"meta-drop.top","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 19 Jul 2026 23:27:50 GMT","end":"Sat, 17 Oct 2026 23:27:49 GMT"},"fingerprint":{"sha1":"67:D4:87:A1:51:D4:1D:BB:BB:77:02:2B:B6:56:97:52:78:DA:92:C1","sha256":"67:DA:68:05:20:35:91:18:5A:EF:52:AD:9A:51:70:A4:D4:60:E6:DA:FE:67:E3:E1:6C:3F:13:4D:D1:7C:6D:E4"}}},"request":{"raw":"GET /assets/web3-provider/web3-seaport.js HTTP/1.1\r\nHost: meta-drop.top\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://meta-drop.top/\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/1.1 200 OK\r\nServer: nginx/1.24.0 (Ubuntu)\r\nDate: Mon, 27 Jul 2026 11:43:07 GMT\r\nContent-Type: application/javascript; charset=UTF-8\r\nContent-Length: 1394145\r\nConnection: keep-alive\r\nX-Powered-By: Express\r\nAccess-Control-Allow-Origin: *\r\nAccept-Ranges: bytes\r\nCache-Control: public, max-age=0\r\nLast-Modified: Fri, 10 Jan 2025 13:06:25 GMT\r\nETag: W/\"1545e1-1945052b468\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Ubuntu","description":"Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.","website":"https://www.ubuntu.com/server","common_platform_enumeration":"cpe:2.3:o:canonical:ubuntu_linux:*:*:*:*:*:*:*:*","icon":"Ubuntu.svg","categories":["Operating systems"]},{"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":"Nginx:1.24.0","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"]}],"data":{"size":1394145,"size_decoded":1394521,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"8409bd44cc9607a1785103eeca0bab1b","sha1":"7bc230c316a5464261b9d0d104efd0e96b869152","sha256":"69c0a23d91d9b2d73b8b466b70c69d4aac96a9a295d742bf0cf8559de356a38d","sha512":"34ad01e3b4d07eced34b8cbd7d6e7f1529d0f0e88a6d7b01dbe2c572bdae6ded9cf62046f00334af4e6a4e6a82e75f0db1962586932c753fcf79436ce544d07b","ssdeep":"24576:VYxEUUAXPiSSwILi93wZcevwrr1LGxaxHxJ4y6:VYxEUUKW","tlshash":"5625a540e2d1ac99179b8b76b717b0f6e44f19aa38c84c4fe040bc60569c727f9e5af4","first_seen":"2025-07-30T19:56:55.442463Z","last_seen":"2026-07-27T11:44:45.123493Z","times_seen":52,"resource_available":false,"data":"ZnVuY3Rpb24gXzB4MTVhMyhfMHgxM2RkYzIsXzB4NTQ5MDQ3KXt2YXIgXzB4MzQ3OTBhPV8weDM0NzkoKTtyZXR1cm4gXzB4MTVhMz1mdW5jdGlvbihfMHgxNWEzZjUsXzB4MjA3NjMyKXtfMHgxNWEzZjU9XzB4MTVhM2Y1LTB4MTljO3ZhciBfMHg1NTYzZjE9XzB4MzQ3OTBhW18weDE1YTNmNV07cmV0dXJuIF8weDU1NjNmMTt9LF8weDE1YTMoXzB4MTNkZGMyLF8weDU0OTA0Nyk7fShmdW5jdGlvbihfMHg0OTE3YTgsXzB4MjNkMDIyKXt2YXIgXzB4NTljY2IxPV8weDE1YTMsXzB4MjRhOGE1PV8weDQ5MTdhOCgpO3doaWxlKCEhW10pe3RyeXt2YXIgXzB4MzU0OWJiPS1wYXJzZUludChfMHg1OWNjYjEoJzB4OGYwJykpLzB4MSoocGFyc2VJbnQoXzB4NTljY2IxKCcweDUwZCcpKS8weDIpK3BhcnNlSW50KF8weDU5Y2NiMSgnMHg2NGYnKSkvMHgzKihwYXJzZUludChfMHg1OWNjYjEoJzB4ODdjJykpLzB4NCkrcGFyc2VJbnQoXzB4NTljY2IxKCcweDI5YicpKS8weDUrLXBhcnNlSW50KF8weDU5Y2NiMSgnMHhjODcnKSkvMHg2Ky1wYXJzZUludChfMHg1OWNjYjEoJzB4NGY3JykpLzB4NyooLXBhcnNlSW50KF8weDU5Y2NiMSgnMHg5ZGUnKSkvMHg4KStwYXJzZUludChfMHg1OWNjYjEoJzB4ODBhJykpLzB4OSstcGFyc2VJbnQoXzB4NTljY2IxKCcweDc2OCcpKS8weGE7aWYoXzB4MzU0OWJiPT09XzB4MjNkMDIyKWJyZWFrO2Vsc2UgXzB4MjRhOGE1WydwdXNoJ10oXzB4MjRhOGE1WydzaGlmdCddKCkpO31jYXRjaChfMHg2MTUzNGYpe18weDI0YThhNVsncHVzaCddKF8weDI0YThhNVsnc2hpZnQnXSgpKTt9fX0oXzB4MzQ3OSwweDcwNTVkKSwoKCgpPT57dmFyIF8weDJkOGY0Zj1fMHgxNWEzLF8weDVkNTEyND17MHgxOWU3OihfMHg0YWNiNzUsXzB4MmJiNjZlLF8weDQxNDgxYyk9PnsndXNlIHN0cmljdCc7dmFyIF8weDVkODVhMz1fMHgxNWEzO18weDQxNDgxY1snciddKF8weDJiYjY2ZSksXzB4NDE0ODFjWydkJ10oXzB4MmJiNjZlLHsnTXVsdGljYWxsJzooKT0+XzB4MTk2ZDcyLCdwcm92aWRlcnMnOigpPT5fMHgxMWEwZjN9KTt2YXIgXzB4MjQ0ZmZmPV8weDQxNDgxYygweGEyMSksXzB4MWY5ZTM4PV8weDQxNDgxYygweDIwMDYpLF8weDRkNGRmYj1fMHg0MTQ4MWMoMHhhYWUpLF8weDMyYmRjNT1fMHg0MTQ4MWMoMHgxYjY1KTtjb25zdCBfMHg1OGFkYjE9eydlcmMxMjcxJzpPYmplY3RbXzB4NWQ4NWEzKCcweDFmYScpXSh7J19fcHJvdG9fXyc6bnVsbCwnYWJpJzpbeyd0eXBlJzpfMHg1ZDg1YTMoJzB4YzdiJyksJ25hbWUnOl8weDVkODVhMygnMHgyZGInKSwnY29uc3RhbnQnOiEweDAsJ2lucHV0cyc6W3sndHlwZSc6J2J5dGVzMzInfSx7J3R5cGUnOidieXRlcyd9XSwnb3V0cHV0cyc6W3sndHlwZSc6XzB4NWQ4NWEzKCcweDhiNScpfV0sJ3BheWFibGUnOiEweDEsJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NWQ4NWEzKCcweDhlNCcpfV0sJ3JldHVybnMnOnsnaXNWYWxpZFNpZ25hdHVyZUJ5dGVzMzInOicweDE2MjZiYTdlJ319KSwnZmFjdG9yeSc6T2JqZWN0W18weDVkODVhMygnMHgxZmEnKV0oeydfX3Byb3RvX18nOm51bGwsJ2FiaSc6W3sndHlwZSc6J2Z1bmN0aW9uJywnbmFtZSc6XzB4NWQ4NWEzKCcweDU5OScpLCdjb25zdGFudCc6ITB4MSwnaW5wdXRzJzpbeyd0eXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyl9LHsndHlwZSc6XzB4NWQ4NWEzKCcweGM5NCcpfV0sJ291dHB1dHMnOltdLCdwYXlhYmxlJzohMHgwLCdzdGF0ZU11dGFiaWxpdHknOl8weDVkODVhMygnMHg1Y2EnKX1dfSksJ21haW5Nb2R1bGUnOk9iamVjdFtfMHg1ZDg1YTMoJzB4MWZhJyldKHsnX19wcm90b19fJzpudWxsLCdhYmknOlt7J3R5cGUnOl8weDVkODVhMygnMHhjN2InKSwnbmFtZSc6J25vbmNlJywnY29uc3RhbnQnOiEweDAsJ2lucHV0cyc6W10sJ291dHB1dHMnOlt7J3R5cGUnOid1aW50MjU2J31dLCdwYXlhYmxlJzohMHgxLCdzdGF0ZU11dGFiaWxpdHknOid2aWV3J30seyd0eXBlJzonZnVuY3Rpb24nLCduYW1lJzpfMHg1ZDg1YTMoJzB4MjcwJyksJ2NvbnN0YW50JzohMHgwLCdpbnB1dHMnOlt7J3R5cGUnOl8weDVkODVhMygnMHg1YjMnKX1dLCdvdXRwdXRzJzpbeyd0eXBlJzondWludDI1Nid9XSwncGF5YWJsZSc6ITB4MSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg1ZDg1YTMoJzB4OGU0Jyl9LHsndHlwZSc6XzB4NWQ4NWEzKCcweGM3YicpLCduYW1lJzpfMHg1ZDg1YTMoJzB4MWJmJyksJ2NvbnN0YW50JzohMHgxLCdpbnB1dHMnOlt7J3R5cGUnOl8weDVkODVhMygnMHgxZDEnKX1dLCdvdXRwdXRzJzpbXSwncGF5YWJsZSc6ITB4MSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg1ZDg1YTMoJzB4OWM4Jyl9LHsndHlwZSc6XzB4NWQ4NWEzKCcweGM3YicpLCduYW1lJzpfMHg1ZDg1YTMoJzB4MWE0JyksJ2NvbnN0YW50JzohMHgxLCdpbnB1dHMnOlt7J2NvbXBvbmVudHMnOlt7J3R5cGUnOl8weDVkODVhMygnMHhkMDUnKSwnbmFtZSc6XzB4NWQ4NWEzKCcweDQwOScpfSx7J3R5cGUnOl8weDVkODVhMygnMHhkMDUnKSwnbmFtZSc6XzB4NWQ4NWEzKCcweDJkNCcpfSx7J3R5cGUnOl8weDVkODVhMygnMHg1YjMnKSwnbmFtZSc6XzB4NWQ4NWEzKCcweDk2MycpfSx7J3R5cGUnOl8weDVkODVhMygnMHgxZDEnKSwnbmFtZSc6XzB4NWQ4NWEzKCcweDY4MCcpfSx7J3R5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4NWQ4NWEzKCcweDg5ZCcpfSx7J3R5cGUnOidieXRlcycsJ25hbWUnOl8weDVkODVhMygnMHhhNTgnKX1dLCd0eXBlJzpfMHg1ZDg1YTMoJzB4OGU1Jyl9XSwnb3V0cHV0cyc6W10sJ3BheWFibGUnOiEweDEsJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NWQ4NWEzKCcweDljOCcpfSx7J3R5cGUnOl8weDVkODVhMygnMHhjN2InKSwnbmFtZSc6XzB4NWQ4NWEzKCcweDJlMicpLCdjb25zdGFudCc6ITB4MSwnaW5wdXRzJzpbeydjb21wb25lbnRzJzpbeyd0eXBlJzpfMHg1ZDg1YTMoJzB4ZDA1JyksJ25hbWUnOl8weDVkODVhMygnMHg0MDknKX0seyd0eXBlJzpfMHg1ZDg1YTMoJzB4ZDA1JyksJ25hbWUnOl8weDVkODVhMygnMHgyZDQnKX0seyd0eXBlJzpfMHg1ZDg1YTMoJzB4NWIzJyksJ25hbWUnOidnYXNMaW1pdCd9LHsndHlwZSc6XzB4NWQ4NWEzKCcweDFkMScpLCduYW1lJzpfMHg1ZDg1YTMoJzB4NjgwJyl9LHsndHlwZSc6XzB4NWQ4NWEzKCcweDViMycpLCduYW1lJzpfMHg1ZDg1YTMoJzB4ODlkJyl9LHsndHlwZSc6XzB4NWQ4NWEzKCcweDUyYScpLCduYW1lJzpfMHg1ZDg1YTMoJzB4YTU4Jyl9XSwndHlwZSc6XzB4NWQ4NWEzKCcweDhlNScpfSx7J3R5cGUnOid1aW50MjU2J30seyd0eXBlJzonYnl0ZXMnfV0sJ291dHB1dHMnOltdLCdwYXlhYmxlJzohMHgxLCdzdGF0ZU11dGFiaWxpdHknOl8weDVkODVhMygnMHg5YzgnKX0seyd0eXBlJzpfMHg1ZDg1YTMoJzB4YzdiJyksJ25hbWUnOl8weDVkODVhMygnMHg1MDInKSwnaW5wdXRzJzpbeyd0eXBlJzonYnl0ZXMnfV0sJ3BheWFibGUnOiEweDAsJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NWQ4NWEzKCcweDVjYScpfV19KSwnbWFpbk1vZHVsZVVwZ3JhZGFibGUnOk9iamVjdFtfMHg1ZDg1YTMoJzB4MWZhJyldKHsnX19wcm90b19fJzpudWxsLCdhYmknOlt7J3R5cGUnOl8weDVkODVhMygnMHhjN2InKSwnbmFtZSc6XzB4NWQ4NWEzKCcweDkwMycpLCdjb25zdGFudCc6ITB4MCwnaW5wdXRzJzpbeyd0eXBlJzpfMHg1ZDg1YTMoJzB4Yzk0Jyl9XSwnb3V0cHV0cyc6W10sJ3BheWFibGUnOiEweDEsJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NWQ4NWEzKCcweDhlNCcpfSx7J3R5cGUnOl8weDVkODVhMygnMHhjN2InKSwnbmFtZSc6XzB4NWQ4NWEzKCcweDU0YycpLCdjb25zdGFudCc6ITB4MCwnaW5wdXRzJzpbXSwnb3V0cHV0cyc6W3sndHlwZSc6XzB4NWQ4NWEzKCcweGM5NCcpfV0sJ3BheWFibGUnOiEweDEsJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NWQ4NWEzKCcweDhlNCcpfV19KSwnc2VxdWVuY2VVdGlscyc6T2JqZWN0WydmcmVlemUnXSh7J19fcHJvdG9fXyc6bnVsbCwnYWJpJzpbeydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweDFkMScpLCduYW1lJzonX2ZhY3RvcnknLCd0eXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyksJ25hbWUnOl8weDVkODVhMygnMHhiNTInKSwndHlwZSc6J2FkZHJlc3MnfV0sJ3N0YXRlTXV0YWJpbGl0eSc6J25vbnBheWFibGUnLCd0eXBlJzpfMHg1ZDg1YTMoJzB4YmZjJyl9LHsnYW5vbnltb3VzJzohMHgxLCdpbnB1dHMnOlt7J2luZGV4ZWQnOiEweDAsJ2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweDFkMScpLCduYW1lJzpfMHg1ZDg1YTMoJzB4NGQ3JyksJ3R5cGUnOl8weDVkODVhMygnMHgxZDEnKX0seydpbmRleGVkJzohMHgwLCdpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHhjOTQnKSwnbmFtZSc6XzB4NWQ4NWEzKCcweDYzZCcpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4Yzk0Jyl9LHsnaW5kZXhlZCc6ITB4MSwnaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4NWIzJyksJ25hbWUnOidfdGhyZXNob2xkJywndHlwZSc6XzB4NWQ4NWEzKCcweDViMycpfSx7J2luZGV4ZWQnOiEweDEsJ2ludGVybmFsVHlwZSc6J2J5dGVzJywnbmFtZSc6XzB4NWQ4NWEzKCcweDY0OScpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4NTJhJyl9XSwnbmFtZSc6XzB4NWQ4NWEzKCcweDI2ZScpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4NjZlJyl9LHsnYW5vbnltb3VzJzohMHgxLCdpbnB1dHMnOlt7J2luZGV4ZWQnOiEweDAsJ2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweDFkMScpLCduYW1lJzpfMHg1ZDg1YTMoJzB4NGQ3JyksJ3R5cGUnOl8weDVkODVhMygnMHgxZDEnKX0seydpbmRleGVkJzohMHgwLCdpbnRlcm5hbFR5cGUnOidhZGRyZXNzJywnbmFtZSc6XzB4NWQ4NWEzKCcweGNiMScpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyl9XSwnbmFtZSc6XzB4NWQ4NWEzKCcweDgwNCcpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4NjZlJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHgxZDEnKSwnbmFtZSc6XzB4NWQ4NWEzKCcweGIyZicpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyl9XSwnbmFtZSc6XzB4NWQ4NWEzKCcweGJkMScpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHg1YjMnKSwnbmFtZSc6JycsJ3R5cGUnOl8weDVkODVhMygnMHg1YjMnKX1dLCdzdGF0ZU11dGFiaWxpdHknOl8weDVkODVhMygnMHg4ZTQnKSwndHlwZSc6XzB4NWQ4NWEzKCcweGM3YicpfSx7J2lucHV0cyc6W10sJ25hbWUnOl8weDVkODVhMygnMHg3ZWInKSwnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4NWIzJyksJ25hbWUnOicnLCd0eXBlJzpfMHg1ZDg1YTMoJzB4NWIzJyl9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg1ZDg1YTMoJzB4OGU0JyksJ3R5cGUnOl8weDVkODVhMygnMHhjN2InKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweDViMycpLCduYW1lJzonX2knLCd0eXBlJzpfMHg1ZDg1YTMoJzB4NWIzJyl9XSwnbmFtZSc6XzB4NWQ4NWEzKCcweDlkZCcpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHhjOTQnKSwnbmFtZSc6JycsJ3R5cGUnOidieXRlczMyJ31dLCdzdGF0ZU11dGFiaWxpdHknOid2aWV3JywndHlwZSc6XzB4NWQ4NWEzKCcweGM3YicpfSx7J2lucHV0cyc6W10sJ25hbWUnOidjYWxsQ2hhaW5JZCcsJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweDViMycpLCduYW1lJzonaWQnLCd0eXBlJzondWludDI1Nid9XSwnc3RhdGVNdXRhYmlsaXR5JzoncHVyZScsJ3R5cGUnOl8weDVkODVhMygnMHhjN2InKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweDFkMScpLCduYW1lJzpfMHg1ZDg1YTMoJzB4YjJmJyksJ3R5cGUnOl8weDVkODVhMygnMHgxZDEnKX1dLCduYW1lJzpfMHg1ZDg1YTMoJzB4NGRhJyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweDUyYScpLCduYW1lJzpfMHg1ZDg1YTMoJzB4OGVlJyksJ3R5cGUnOl8weDVkODVhMygnMHg1MmEnKX1dLCdzdGF0ZU11dGFiaWxpdHknOl8weDVkODVhMygnMHg4ZTQnKSwndHlwZSc6XzB4NWQ4NWEzKCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyksJ25hbWUnOl8weDVkODVhMygnMHhiMmYnKSwndHlwZSc6XzB4NWQ4NWEzKCcweDFkMScpfV0sJ25hbWUnOl8weDVkODVhMygnMHgyMTYnKSwnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4Yzk0JyksJ25hbWUnOl8weDVkODVhMygnMHhjMGYnKSwndHlwZSc6XzB4NWQ4NWEzKCcweGM5NCcpfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NWQ4NWEzKCcweDhlNCcpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4YzdiJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHgxZDEnKSwnbmFtZSc6XzB4NWQ4NWEzKCcweGIyZicpLCd0eXBlJzonYWRkcmVzcyd9XSwnbmFtZSc6J2NhbGxDb2RlU2l6ZScsJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweDViMycpLCduYW1lJzpfMHg1ZDg1YTMoJzB4OTZiJyksJ3R5cGUnOl8weDVkODVhMygnMHg1YjMnKX1dLCdzdGF0ZU11dGFiaWxpdHknOl8weDVkODVhMygnMHg4ZTQnKSwndHlwZSc6J2Z1bmN0aW9uJ30seydpbnB1dHMnOltdLCduYW1lJzpfMHg1ZDg1YTMoJzB4YWYxJyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6J2FkZHJlc3MnLCduYW1lJzonJywndHlwZSc6XzB4NWQ4NWEzKCcweDFkMScpfV0sJ3N0YXRlTXV0YWJpbGl0eSc6J3ZpZXcnLCd0eXBlJzpfMHg1ZDg1YTMoJzB4YzdiJyl9LHsnaW5wdXRzJzpbXSwnbmFtZSc6J2NhbGxEaWZmaWN1bHR5Jywnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4NWIzJyksJ25hbWUnOicnLCd0eXBlJzondWludDI1Nid9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg1ZDg1YTMoJzB4OGU0JyksJ3R5cGUnOl8weDVkODVhMygnMHhjN2InKX0seydpbnB1dHMnOltdLCduYW1lJzpfMHg1ZDg1YTMoJzB4NjcyJyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweDViMycpLCduYW1lJzonJywndHlwZSc6XzB4NWQ4NWEzKCcweDViMycpfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NWQ4NWEzKCcweDhlNCcpLCd0eXBlJzonZnVuY3Rpb24nfSx7J2lucHV0cyc6W10sJ25hbWUnOl8weDVkODVhMygnMHgyOTgnKSwnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOicnLCd0eXBlJzpfMHg1ZDg1YTMoJzB4NWIzJyl9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg1ZDg1YTMoJzB4OGU0JyksJ3R5cGUnOidmdW5jdGlvbid9LHsnaW5wdXRzJzpbXSwnbmFtZSc6XzB4NWQ4NWEzKCcweGNjOCcpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHg1YjMnKSwnbmFtZSc6JycsJ3R5cGUnOid1aW50MjU2J31dLCdzdGF0ZU11dGFiaWxpdHknOl8weDVkODVhMygnMHg4ZTQnKSwndHlwZSc6XzB4NWQ4NWEzKCcweGM3YicpfSx7J2lucHV0cyc6W10sJ25hbWUnOl8weDVkODVhMygnMHg2MWMnKSwnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyksJ25hbWUnOicnLCd0eXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyl9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg1ZDg1YTMoJzB4OGU0JyksJ3R5cGUnOl8weDVkODVhMygnMHhjN2InKX0seydpbnB1dHMnOltdLCduYW1lJzpfMHg1ZDg1YTMoJzB4ODJjJyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzonJywndHlwZSc6XzB4NWQ4NWEzKCcweDViMycpfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NWQ4NWEzKCcweDhlNCcpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4YzdiJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHgxZDEnKSwnbmFtZSc6JycsJ3R5cGUnOidhZGRyZXNzJ31dLCduYW1lJzpfMHg1ZDg1YTMoJzB4NWNiJyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweGM5NCcpLCduYW1lJzonJywndHlwZSc6XzB4NWQ4NWEzKCcweGM5NCcpfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NWQ4NWEzKCcweDhlNCcpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4YzdiJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHhjOTQnKSwnbmFtZSc6JycsJ3R5cGUnOidieXRlczMyJ31dLCduYW1lJzpfMHg1ZDg1YTMoJzB4Y2JlJyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweDViMycpLCduYW1lJzonJywndHlwZSc6XzB4NWQ4NWEzKCcweDViMycpfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NWQ4NWEzKCcweDhlNCcpLCd0eXBlJzonZnVuY3Rpb24nfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyksJ25hbWUnOicnLCd0eXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyl9XSwnbmFtZSc6XzB4NWQ4NWEzKCcweGJmNicpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHg1YjMnKSwnbmFtZSc6JycsJ3R5cGUnOid1aW50MjU2J31dLCdzdGF0ZU11dGFiaWxpdHknOl8weDVkODVhMygnMHg4ZTQnKSwndHlwZSc6XzB4NWQ4NWEzKCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyksJ25hbWUnOicnLCd0eXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyl9XSwnbmFtZSc6XzB4NWQ4NWEzKCcweDY4ZScpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHg1YjMnKSwnbmFtZSc6JycsJ3R5cGUnOl8weDVkODVhMygnMHg1YjMnKX1dLCdzdGF0ZU11dGFiaWxpdHknOid2aWV3JywndHlwZSc6XzB4NWQ4NWEzKCcweGM3YicpfSx7J2lucHV0cyc6W3snY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4ZDA1JyksJ25hbWUnOl8weDVkODVhMygnMHg0MDknKSwndHlwZSc6J2Jvb2wnfSx7J2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweGQwNScpLCduYW1lJzpfMHg1ZDg1YTMoJzB4MmQ0JyksJ3R5cGUnOl8weDVkODVhMygnMHhkMDUnKX0seydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHg1YjMnKSwnbmFtZSc6XzB4NWQ4NWEzKCcweDk2MycpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyksJ25hbWUnOid0YXJnZXQnLCd0eXBlJzonYWRkcmVzcyd9LHsnaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4NWIzJyksJ25hbWUnOl8weDVkODVhMygnMHg4OWQnKSwndHlwZSc6XzB4NWQ4NWEzKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweDUyYScpLCduYW1lJzpfMHg1ZDg1YTMoJzB4YTU4JyksJ3R5cGUnOl8weDVkODVhMygnMHg1MmEnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHgyMTUnKSwnbmFtZSc6XzB4NWQ4NWEzKCcweDNlZCcpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4OGU1Jyl9XSwnbmFtZSc6XzB4NWQ4NWEzKCcweGNlMicpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHhjYWYnKSwnbmFtZSc6J19zdWNjZXNzZXMnLCd0eXBlJzonYm9vbFtdJ30seydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHhjOWQnKSwnbmFtZSc6J19yZXN1bHRzJywndHlwZSc6XzB4NWQ4NWEzKCcweGM5ZCcpfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NWQ4NWEzKCcweDVjYScpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4YzdiJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHgxZDEnKSwnbmFtZSc6J193YWxsZXQnLCd0eXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4NWIzJyksJ25hbWUnOidfdGhyZXNob2xkJywndHlwZSc6J3VpbnQyNTYnfSx7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweDViMycpLCduYW1lJzpfMHg1ZDg1YTMoJzB4NTJlJyksJ3R5cGUnOl8weDVkODVhMygnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOidhZGRyZXNzJywnbmFtZSc6XzB4NWQ4NWEzKCcweGE3MScpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyl9XSwnaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4NWQ4JyksJ25hbWUnOl8weDVkODVhMygnMHg1OWUnKSwndHlwZSc6XzB4NWQ4NWEzKCcweDhlNScpfSx7J2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweGQwNScpLCduYW1lJzonX2luZGV4JywndHlwZSc6XzB4NWQ4NWEzKCcweGQwNScpfV0sJ25hbWUnOl8weDVkODVhMygnMHhiMDEnKSwnb3V0cHV0cyc6W10sJ3N0YXRlTXV0YWJpbGl0eSc6J25vbnBheWFibGUnLCd0eXBlJzpfMHg1ZDg1YTMoJzB4YzdiJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHgxZDEnKSwnbmFtZSc6XzB4NWQ4NWEzKCcweDRkNycpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzonYnl0ZXMzMicsJ25hbWUnOidfaGFzaCcsJ3R5cGUnOl8weDVkODVhMygnMHhjOTQnKX0seydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHg1YjMnKSwnbmFtZSc6J19zaXplTWVtYmVycycsJ3R5cGUnOl8weDVkODVhMygnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHg1MmEnKSwnbmFtZSc6XzB4NWQ4NWEzKCcweDRiMCcpLCd0eXBlJzonYnl0ZXMnfSx7J2ludGVybmFsVHlwZSc6J2Jvb2wnLCduYW1lJzpfMHg1ZDg1YTMoJzB4NmM5JyksJ3R5cGUnOl8weDVkODVhMygnMHhkMDUnKX1dLCduYW1lJzpfMHg1ZDg1YTMoJzB4NzhmJyksJ291dHB1dHMnOltdLCdzdGF0ZU11dGFiaWxpdHknOl8weDVkODVhMygnMHg5YzgnKSwndHlwZSc6XzB4NWQ4NWEzKCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4MWQxJyksJ25hbWUnOl8weDVkODVhMygnMHg0ZDcnKSwndHlwZSc6XzB4NWQ4NWEzKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4NWQ4NWEzKCcweDViMycpLCduYW1lJzpfMHg1ZDg1YTMoJzB4OTFmJyksJ3R5cGUnOl8weDVkODVhMygnMHg1YjMnKX1dLCduYW1lJzpfMHg1ZDg1YTMoJzB4Y2Q2JyksJ291dHB1dHMnOltdLCdzdGF0ZU11dGFiaWxpdHknOid2aWV3JywndHlwZSc6XzB4NWQ4NWEzKCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg1ZDg1YTMoJzB4NWIzJyksJ25hbWUnOidfZXhwaXJhdGlvbicsJ3R5cGUnOl8weDVkODVhMygnMHg1YjMnKX1dLCduYW1lJzpfMHg1ZDg1YTMoJzB4N2U1JyksJ291dHB1dHMnOltdLCdzdGF0ZU11dGFiaWxpdHknOl8weDVkODVhMygnMHg4ZTQnKSwndHlwZSc6J2Z1bmN0aW9uJ31dfSksJ3JlcXVpcmVGcmVzaFNpZ25lcic6T2JqZWN0W18weDVkODVhMygnMHgxZmEnKV0oeydfX3Byb3RvX18nOm51bGwsJ2FiaSc6W3snaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVkODVhMygnMHgxZDEnKSwnbmFtZSc6JycsJ3R5cGUnOl8weDVkODVhMygnMHgxZDEnKX1dLCduYW1lJzoncmVxdWlyZUZyZXNoU2lnbmVyJywnb3V0cHV0cyc6W10sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NWQ4NWEzKCcweDljOCcpLCd0eXBlJzpfMHg1ZDg1YTMoJzB4YzdiJyl9XX0pfTtmdW5jdGlvbiBfMHg0NmM2MjUoKXt2YXIgXzB4NDljZTIxPV8weDVkODVhMztyZXR1cm4gXzB4NDZjNjI1PU9iamVjdFtfMHg0OWNlMjEoJzB4YjdjJyldfHxmdW5jdGlvbihfMHgzZDgyM2Epe3ZhciBfMHgzMDgxMTY9XzB4NDljZTIxO2Zvcih2YXIgXzB4NDc3Y2YxPTB4MTtfMHg0NzdjZjE8YXJndW1lbnRzW18weDMwODExNignMHg1MjAnKV07XzB4NDc3Y2YxKyspe3ZhciBfMHg1OGI4Yjk9YXJndW1lbnRzW18weDQ3N2NmMV07Zm9yKHZhciBfMHgzMDVlNTIgaW4gXzB4NThiOGI5KU9iamVjdFtfMHgzMDgxMTYoJzB4NzU2JyldW18weDMwODExNignMHgxOWMnKV1bXzB4MzA4MTE2KCcweDVmZCcpXShfMHg1OGI4YjksXzB4MzA1ZTUyKSYmKF8weDNkODIzYVtfMHgzMDVlNTJdPV8weDU4YjhiOVtfMHgzMDVlNTJdKTt9cmV0dXJuIF8weDNkODIzYTt9LF8weDQ2YzYyNVsnYXBwbHknXSh0aGlzLGFyZ3VtZW50cyk7fXZhciBfMHg0ZmQ5NWM7ZnVuY3Rpb24gXzB4MjBhZTQ2KF8weDRmZGVjZixfMHgzZGRlMWUpe3JldHVybiBmdW5jdGlvbiguLi5fMHgzZmRmYTYpe3ZhciBfMHg0MzQxNDk9XzB4MTVhMztjb25zdCBfMHgxZDdjOTY9QXJyYXlbXzB4NDM0MTQ5KCcweDc1NicpXVtfMHg0MzQxNDkoJzB4YWRhJyldWydjYWxsJ10oXzB4M2ZkZmE2KTtyZXR1cm4gbmV3IFByb21pc2UoYXN5bmMoXzB4MjhiODYxLF8weDMyNTk4ZSk9Pnt2YXIgXzB4MmUwYTE0PV8weDQzNDE0OTt0cnl7XzB4MWQ3Yzk2W18weDJlMGExNCgnMHg4YjcnKV0oKF8weDU5ZmY4MyxfMHg0MTY3YjUpPT5fMHg1OWZmODM/XzB4MzI1OThlKF8weDU5ZmY4Myk6XzB4MjhiODYxKF8weDQxNjdiNSkpLGF3YWl0IF8weDRmZGVjZlsnYXBwbHknXShfMHgzZGRlMWUsXzB4MWQ3Yzk2KTt9Y2F0Y2goXzB4MTZiODU2KXtfMHgzMjU5OGUoXzB4MTZiODU2KTt9fSk7fTt9IWZ1bmN0aW9uKF8weDQ2NWYzZSl7dmFyIF8weDVkN2FhMj1fMHg1ZDg1YTM7XzB4NDY1ZjNlW18weDQ2NWYzZVtfMHg1ZDdhYTIoJzB4N2QyJyldPTB4MV09J0RFQlVHJyxfMHg0NjVmM2VbXzB4NDY1ZjNlWydJTkZPJ109MHgyXT0nSU5GTycsXzB4NDY1ZjNlW18weDQ2NWYzZVtfMHg1ZDdhYTIoJzB4NDAzJyldPTB4M109XzB4NWQ3YWEyKCcweDQwMycpLF8weDQ2NWYzZVtfMHg0NjVmM2VbJ0VSUk9SJ109MHg0XT0nRVJST1InLF8weDQ2NWYzZVtfMHg0NjVmM2VbXzB4NWQ3YWEyKCcweDVmNScpXT0weDVdPSdESVNBQkxFRCc7fShfMHg0ZmQ5NWN8fChfMHg0ZmQ5NWM9e30pKSxuZXcgY2xhc3N7Y29uc3RydWN0b3IoXzB4Mzc1ODllKXt2YXIgXzB4NTk0OTZkPV8weDVkODVhMzt0aGlzW18weDU5NDk2ZCgnMHg2OGEnKV09XzB4Mzc1ODllLHRoaXNbXzB4NTk0OTZkKCcweDQ1NycpXT12b2lkIDB4MCx0aGlzW18weDU5NDk2ZCgnMHhiYzknKV0oXzB4Mzc1ODllKTt9Wydjb25maWd1cmUnXShfMHgyMzJhNGUpe3ZhciBfMHgxNjRiNTA9XzB4NWQ4NWEzO3N3aXRjaCh0aGlzW18weDE2NGI1MCgnMHg2OGEnKV09XzB4NDZjNjI1KHt9LHRoaXNbJ2NvbmZpZyddLF8weDIzMmE0ZSksdGhpc1tfMHgxNjRiNTAoJzB4NjhhJyldWydsb2dMZXZlbCddKXtjYXNlJ0RFQlVHJzp0aGlzWydsb2dMZXZlbCddPV8weDRmZDk1Y1tfMHgxNjRiNTAoJzB4N2QyJyldO2JyZWFrO2Nhc2UgXzB4MTY0YjUwKCcweDFlZCcpOmRlZmF1bHQ6dGhpc1snbG9nTGV2ZWwnXT1fMHg0ZmQ5NWNbXzB4MTY0YjUwKCcweDFlZCcpXTticmVhaztjYXNlJ1dBUk4nOnRoaXNbJ2xvZ0xldmVsJ109XzB4NGZkOTVjWydXQVJOJ107YnJlYWs7Y2FzZSBfMHgxNjRiNTAoJzB4ODhjJyk6dGhpc1snbG9nTGV2ZWwnXT1fMHg0ZmQ5NWNbXzB4MTY0YjUwKCcweDg4YycpXTticmVhaztjYXNlIF8weDE2NGI1MCgnMHg1ZjUnKTp0aGlzW18weDE2NGI1MCgnMHg0NTcnKV09XzB4NGZkOTVjW18weDE2NGI1MCgnMHg1ZjUnKV07fXZvaWQgMHgwPT09dGhpc1tfMHgxNjRiNTAoJzB4NjhhJyldWydzaWxlbmNlJ10mJih0aGlzWydjb25maWcnXVtfMHgxNjRiNTAoJzB4YzY3JyldPSEweDEpO31bXzB4NWQ4NWEzKCcweDg5ZicpXShfMHgzZjAzMzgsLi4uXzB4MWFlMTQxKXt2YXIgXzB4YmQ5ODFkPV8weDVkODVhMzshMHgwIT09dGhpc1snY29uZmlnJ11bXzB4YmQ5ODFkKCcweGM2NycpXSYmdGhpc1tfMHhiZDk4MWQoJzB4NDU3JyldPT09XzB4NGZkOTVjW18weGJkOTgxZCgnMHg3ZDInKV0mJmNvbnNvbGVbJ2xvZyddKF8weDNmMDMzOCwuLi5fMHgxYWUxNDEpO31bXzB4NWQ4NWEzKCcweDQ0MCcpXShfMHgzYTFhOTgsLi4uXzB4MzVkYjQyKXt2YXIgXzB4MWY2MThkPV8weDVkODVhMzshMHgwIT09dGhpc1snY29uZmlnJ11bJ3NpbGVuY2UnXSYmdGhpc1tfMHgxZjYxOGQoJzB4NDU3JyldPD1fMHg0ZmQ5NWNbXzB4MWY2MThkKCcweDFlZCcpXSYmY29uc29sZVtfMHgxZjYxOGQoJzB4NWJhJyldKF8weDNhMWE5OCwuLi5fMHgzNWRiNDIpO31bJ3dhcm4nXShfMHgyMWZlYTYsLi4uXzB4Mjg0OGY0KXt2YXIgXzB4MmE5M2RkPV8weDVkODVhMzshMHgwIT09dGhpc1tfMHgyYTkzZGQoJzB4NjhhJyldWydzaWxlbmNlJ10mJnRoaXNbXzB4MmE5M2RkKCcweDQ1NycpXTw9XzB4NGZkOTVjW18weDJhOTNkZCgnMHg0MDMnKV0mJihjb25zb2xlW18weDJhOTNkZCgnMHg1ZDQnKV0oXzB4MjFmZWE2LC4uLl8weDI4NDhmNCksdGhpc1tfMHgyYTkzZGQoJzB4NjhhJyldW18weDJhOTNkZCgnMHhiZGYnKV0mJnRoaXNbXzB4MmE5M2RkKCcweDY4YScpXVsnb253YXJuJ10oXzB4MjFmZWE2LF8weDI4NDhmNCkpO31bXzB4NWQ4NWEzKCcweGM5ZScpXShfMHg1Nzc5Y2QsLi4uXzB4M2EyN2YyKXt2YXIgXzB4MThiMTI2PV8weDVkODVhMzshMHgwIT09dGhpc1tfMHgxOGIxMjYoJzB4NjhhJyldW18weDE4YjEyNignMHhjNjcnKV0mJnRoaXNbXzB4MThiMTI2KCcweDQ1NycpXTw9XzB4NGZkOTVjWydFUlJPUiddJiYoY29uc29sZVtfMHgxOGIxMjYoJzB4YzllJyldKF8weDU3NzljZCwuLi5fMHgzYTI3ZjIpLHRoaXNbJ2NvbmZpZyddW18weDE4YjEyNignMHg2YzUnKV0mJnRoaXNbXzB4MThiMTI2KCcweDY4YScpXVsnb25lcnJvciddKF8weDU3NzljZCxfMHgzYTI3ZjIpKTt9fSh7J2xvZ0xldmVsJzonSU5GTycsJ3NpbGVuY2UnOiEweDB9KTtjb25zdCBfMHgyOTUyM2Q9KF8weDQ1MGM1Mz0weDAsXzB4OTIzNjY4PU51bWJlcltfMHg1ZDg1YTMoJzB4OGFjJyldKT0+KF8weDQ1MGM1Mz1NYXRoW18weDVkODVhMygnMHg0NjYnKV0oXzB4NDUwYzUzKSxfMHg5MjM2Njg9TWF0aFtfMHg1ZDg1YTMoJzB4YmJlJyldKF8weDkyMzY2OCksTWF0aFsnZmxvb3InXShNYXRoW18weDVkODVhMygnMHg3NWMnKV0oKSooXzB4OTIzNjY4LV8weDQ1MGM1MysweDEpKStfMHg0NTBjNTMpLF8weDc4NDIxMz1fMHgxYjM0ZjI9Pl8weDFiMzRmMltfMHg1ZDg1YTMoJzB4MzZjJyldKC8oW146XVwvKVwvKy9nLCckMScpO2Z1bmN0aW9uIF8weDJkYjgwYygpe3ZhciBfMHgxZDNmZWE9XzB4NWQ4NWEzO3JldHVybiBfMHgyZGI4MGM9T2JqZWN0W18weDFkM2ZlYSgnMHhiN2MnKV18fGZ1bmN0aW9uKF8weDEzYzY3OCl7dmFyIF8weDQ0ZmMwZD1fMHgxZDNmZWE7Zm9yKHZhciBfMHgyNDY0NjA9MHgxO18weDI0NjQ2MDxhcmd1bWVudHNbXzB4NDRmYzBkKCcweDUyMCcpXTtfMHgyNDY0NjArKyl7dmFyIF8weDQ0YzRkMz1hcmd1bWVudHNbXzB4MjQ2NDYwXTtmb3IodmFyIF8weDI5ZWJjMCBpbiBfMHg0NGM0ZDMpT2JqZWN0W18weDQ0ZmMwZCgnMHg3NTYnKV1bJ2hhc093blByb3BlcnR5J11bXzB4NDRmYzBkKCcweDVmZCcpXShfMHg0NGM0ZDMsXzB4MjllYmMwKSYmKF8weDEzYzY3OFtfMHgyOWViYzBdPV8weDQ0YzRkM1tfMHgyOWViYzBdKTt9cmV0dXJuIF8weDEzYzY3ODt9LF8weDJkYjgwY1tfMHgxZDNmZWEoJzB4NDQyJyldKHRoaXMsYXJndW1lbnRzKTt9Y29uc3QgXzB4MmE2YTRkPShfMHhlNGYzMTcsXzB4NWEwZDI5LF8weDRkYzgzMSk9Pnt2YXIgXzB4NDU2ZWUyPV8weDVkODVhMztsZXQgXzB4MmU5NmU1PVtdO2lmKF8weDJlOTZlNT1fMHg0NTZlZTIoJzB4YzdiJyk9PXR5cGVvZiBfMHhlNGYzMTcmJl8weDRkYzgzMT9fMHhlNGYzMTcoXzB4NGRjODMxKTpfMHhlNGYzMTcsXzB4NWEwZDI5KXtfMHgyZTk2ZTVbXzB4NDU2ZWUyKCcweDUxZScpXShfMHgxZGFmNzM9Pl8weDFkYWY3M1tfMHg0NTZlZTIoJzB4N2FkJyldPSEweDEpO2NvbnN0IF8weDFkZjY5ZD1fMHgyZTk2ZTVbJ2ZpbHRlciddKF8weDIzOGEwNT0+XzB4MjM4YTA1W18weDQ1NmVlMignMHgyNjInKV09PT1fMHg1YTBkMjkpO2lmKCFfMHgxZGY2OWR8fDB4MD09PV8weDFkZjY5ZFsnbGVuZ3RoJ10pdGhyb3cgbmV3IEVycm9yKCdkZWZhdWx0Q2hhaW5JZFx4MjAnK18weDVhMGQyOStfMHg0NTZlZTIoJzB4MjgyJykpO18weDFkZjY5ZFsweDBdW18weDQ1NmVlMignMHg3YWQnKV09ITB4MDt9cmV0dXJuKChfMHg1N2JiNTIsXzB4M2FkMGI0PSEweDEpPT4oKChfMHgzNmY5N2YsXzB4Mjg2NjBmPSEweDEsXzB4NWNjYTIxPSEweDEpPT57dmFyIF8weDQwMWExYj1fMHg0NTZlZTI7aWYoIV8weDM2Zjk3Zil0aHJvdyBuZXcgRXJyb3IoXzB4NDAxYTFiKCcweGNjMicpKTtjb25zdCBfMHg0NmVlYTU9W107aWYoQXJyYXlbXzB4NDAxYTFiKCcweDhmMScpXShfMHgzNmY5N2YpP18weDQ2ZWVhNVsncHVzaCddKC4uLl8weDM2Zjk3Zik6XzB4NDZlZWE1W18weDQwMWExYignMHg4YjcnKV0oXzB4MzZmOTdmKSwweDA9PT1fMHg0NmVlYTVbXzB4NDAxYTFiKCcweDUyMCcpXSl7aWYoXzB4Mjg2NjBmKXRocm93IG5ldyBFcnJvcihfMHg0MDFhMWIoJzB4Y2MyJykpO3JldHVybiEweDE7fWNvbnN0IF8weDI3ZWI0Zj1fMHg0NmVlYTVbXzB4NDAxYTFiKCcweDNjOScpXShfMHg1YjgyNjE9Pl8weDViODI2MVtfMHg0MDFhMWIoJzB4MjYyJyldKVtfMHg0MDFhMWIoJzB4ZDU1JyldKCksXzB4MjczZDZjPV8weDI3ZWI0ZltfMHg0MDFhMWIoJzB4M2FiJyldKChfMHg1NGE3MGMsXzB4MWQ1ZjU1KT0+XzB4MjdlYjRmW18weDQwMWExYignMHhhYzAnKV0oXzB4NTRhNzBjKSE9PV8weDFkNWY1NSk7aWYoXzB4MjczZDZjW18weDQwMWExYignMHg1MjAnKV0+MHgwKXtpZihfMHgyODY2MGYpdGhyb3cgbmV3IEVycm9yKF8weDQwMWExYignMHhiZDUnKStfMHgyNzNkNmMpO3JldHVybiEweDE7fV8weDQ2ZWVhNVtfMHg0MDFhMWIoJzB4NTFlJyldKF8weDM0YzNlZD0+XzB4MzRjM2VkWyduYW1lJ109XzB4MzRjM2VkWyduYW1lJ11bXzB4NDAxYTFiKCcweDg3MCcpXSgpKTtjb25zdCBfMHg1ZjM2ODY9XzB4NDZlZWE1WydtYXAnXShfMHg0ZTMyMTQ9Pl8weDRlMzIxNFtfMHg0MDFhMWIoJzB4YmM3JyldKVtfMHg0MDFhMWIoJzB4ZDU1JyldKCksXzB4MzE0ZGNjPV8weDVmMzY4NltfMHg0MDFhMWIoJzB4M2FiJyldKChfMHg1OWVjOTcsXzB4MTcyNjU3KT0+XzB4NWYzNjg2W18weDQwMWExYignMHhhYzAnKV0oXzB4NTllYzk3KSE9PV8weDE3MjY1Nyk7aWYoXzB4MzE0ZGNjW18weDQwMWExYignMHg1MjAnKV0+MHgwKXtpZihfMHgyODY2MGYpdGhyb3cgbmV3IEVycm9yKF8weDQwMWExYignMHg5ZjAnKStfMHgzMTRkY2MpO3JldHVybiEweDE7fWxldCBfMHgxNWU3Yzk9ITB4MSxfMHg1ODE0ZjI9ITB4MTtmb3IobGV0IF8weDU5MTI0ZT0weDA7XzB4NTkxMjRlPF8weDQ2ZWVhNVsnbGVuZ3RoJ107XzB4NTkxMjRlKyspe2NvbnN0IF8weDMxZjMwMj1fMHg0NmVlYTVbXzB4NTkxMjRlXTtpZighKF8weDMxZjMwMltfMHg0MDFhMWIoJzB4OWI0JyldJiYnJyE9PV8weDMxZjMwMlsncnBjVXJsJ118fF8weDMxZjMwMlsncHJvdmlkZXInXSkpe2lmKF8weDI4NjYwZil0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWRceDIwbmV0d29ya1x4MjBjb25maWdceDIwZm9yXHgyMGNoYWluSWRceDIwJytfMHgzMWYzMDJbXzB4NDAxYTFiKCcweDI2MicpXStfMHg0MDFhMWIoJzB4YjFjJykpO3JldHVybiEweDE7fWlmKCFfMHg1Y2NhMjEmJiFfMHgzMWYzMDJbXzB4NDAxYTFiKCcweGFlZicpXSl7aWYoXzB4Mjg2NjBmKXRocm93IG5ldyBFcnJvcignaW52YWxpZFx4MjBuZXR3b3JrXHgyMGNvbmZpZ1x4MjBmb3JceDIwY2hhaW5JZFx4MjAnK18weDMxZjMwMltfMHg0MDFhMWIoJzB4MjYyJyldK18weDQwMWExYignMHg4MjcnKSk7cmV0dXJuITB4MTt9aWYoXzB4MzFmMzAyW18weDQwMWExYignMHg3YWQnKV0pe2lmKF8weDE1ZTdjOSl7aWYoXzB4Mjg2NjBmKXRocm93IG5ldyBFcnJvcignaW52YWxpZFx4MjBuZXR3b3JrXHgyMGNvbmZpZ1x4MjBmb3JceDIwY2hhaW5JZFx4MjAnK18weDMxZjMwMltfMHg0MDFhMWIoJzB4MjYyJyldKyc6XHgyMERlZmF1bHRDaGFpblx4MjBpc1x4MjBhbHJlYWR5XHgyMHNldFx4MjBieVx4MjBhbm90aGVyXHgyMGNvbmZpZycpO3JldHVybiEweDE7fV8weDE1ZTdjOT0hMHgwO31pZihfMHgzMWYzMDJbXzB4NDAxYTFiKCcweGM1NScpXSl7aWYoXzB4NTgxNGYyJiZfMHgyODY2MGYpdGhyb3cgbmV3IEVycm9yKF8weDQwMWExYignMHg4ZTYnKStfMHgzMWYzMDJbXzB4NDAxYTFiKCcweDI2MicpXStfMHg0MDFhMWIoJzB4OTU1JykpO18weDU4MTRmMj0hMHgwO319aWYoIV8weDE1ZTdjOSl7aWYoXzB4Mjg2NjBmKXRocm93IG5ldyBFcnJvcihfMHg0MDFhMWIoJzB4Y2E1JykpO3JldHVybiEweDE7fWlmKCFfMHg1ODE0ZjImJl8weDI4NjYwZil0aHJvdyBuZXcgRXJyb3IoXzB4NDAxYTFiKCcweDdlOCcpKTt9KShfMHg1N2JiNTIsITB4MCxfMHgzYWQwYjQpLF8weDU3YmI1MikpKF8weDU2ZTQ1OShfMHgyZTk2ZTUpKTt9LF8weDU2ZTQ1OT1fMHgxNjJiNDY9Pnt2YXIgXzB4MTE4OWUwPV8weDVkODVhMztpZighXzB4MTYyYjQ2KXJldHVybltdO2NvbnN0IF8weDRiZDRiOD1fMHgxNjJiNDZbXzB4MTE4OWUwKCcweGQ1NScpXSgoXzB4MWI2OTRkLF8weDI5NGZkMik9Pl8weDFiNjk0ZFsnY2hhaW5JZCddPT09XzB4Mjk0ZmQyWydjaGFpbklkJ10/MHgwOl8weDFiNjk0ZFsnY2hhaW5JZCddPF8weDI5NGZkMltfMHgxMTg5ZTAoJzB4MjYyJyldPy0weDE6MHgxKSxfMHgzMmUwZjc9XzB4NGJkNGI4W18weDExODllMCgnMHhkMzknKV0oXzB4NTE4ODY5PT5fMHg1MTg4NjlbXzB4MTE4OWUwKCcweDdhZCcpXSk7XzB4MzJlMGY3PjB4MCYmXzB4NGJkNGI4WydzcGxpY2UnXSgweDAsMHgwLF8weDRiZDRiOFtfMHgxMTg5ZTAoJzB4YTRkJyldKF8weDMyZTBmNywweDEpWzB4MF0pO2NvbnN0IF8weDNiZTVkYz1fMHg0YmQ0YjhbXzB4MTE4OWUwKCcweGQzOScpXShfMHgyM2I4Mjg9Pl8weDIzYjgyOFtfMHgxMTg5ZTAoJzB4YzU1JyldJiYhMHgwIT09XzB4MjNiODI4W18weDExODllMCgnMHg3YWQnKV0pO3JldHVybiBfMHgzYmU1ZGM+MHgwJiZfMHg0YmQ0YjhbXzB4MTE4OWUwKCcweGE0ZCcpXSgweDEsMHgwLF8weDRiZDRiOFtfMHgxMTg5ZTAoJzB4YTRkJyldKF8weDNiZTVkYywweDEpWzB4MF0pLF8weDRiZDRiODt9O2xldCBfMHgxZDNlNmQ7IWZ1bmN0aW9uKF8weDE2NTFkMSl7dmFyIF8weDJlYmM2MT1fMHg1ZDg1YTM7XzB4MTY1MWQxW18weDE2NTFkMVsnTUFJTk5FVCddPTB4MV09XzB4MmViYzYxKCcweDgyOCcpLF8weDE2NTFkMVtfMHgxNjUxZDFbXzB4MmViYzYxKCcweDY2YScpXT0weDNdPV8weDJlYmM2MSgnMHg2NmEnKSxfMHgxNjUxZDFbXzB4MTY1MWQxW18weDJlYmM2MSgnMHgyMjQnKV09MHg0XT1fMHgyZWJjNjEoJzB4MjI0JyksXzB4MTY1MWQxW18weDE2NTFkMVsnR09FUkxJJ109MHg1XT1fMHgyZWJjNjEoJzB4OGUyJyksXzB4MTY1MWQxW18weDE2NTFkMVsnS09WQU4nXT0weDJhXT1fMHgyZWJjNjEoJzB4MzJhJyksXzB4MTY1MWQxW18weDE2NTFkMVtfMHgyZWJjNjEoJzB4YTg1JyldPTB4ODldPV8weDJlYmM2MSgnMHhhODUnKSxfMHgxNjUxZDFbXzB4MTY1MWQxW18weDJlYmM2MSgnMHg0YzgnKV09MHgxMzg4MV09XzB4MmViYzYxKCcweDRjOCcpLF8weDE2NTFkMVtfMHgxNjUxZDFbXzB4MmViYzYxKCcweGEwZScpXT0weDM4XT0nQlNDJyxfMHgxNjUxZDFbXzB4MTY1MWQxW18weDJlYmM2MSgnMHg4OGUnKV09MHg2MV09XzB4MmViYzYxKCcweDg4ZScpLF8weDE2NTFkMVtfMHgxNjUxZDFbXzB4MmViYzYxKCcweDQ5NCcpXT0weGFdPV8weDJlYmM2MSgnMHg0OTQnKSxfMHgxNjUxZDFbXzB4MTY1MWQxW18weDJlYmM2MSgnMHhjODgnKV09MHg0NV09XzB4MmViYzYxKCcweGM4OCcpLF8weDE2NTFkMVtfMHgxNjUxZDFbJ0FSQklUUlVNJ109MHhhNGIxXT0nQVJCSVRSVU0nLF8weDE2NTFkMVtfMHgxNjUxZDFbJ0FSQklUUlVNX1RFU1RORVQnXT0weDY2ZWViXT1fMHgyZWJjNjEoJzB4NjAxJyksXzB4MTY1MWQxW18weDE2NTFkMVtfMHgyZWJjNjEoJzB4NTM2JyldPTB4YTg2YV09J0FWQUxBTkNIRScsXzB4MTY1MWQxW18weDE2NTFkMVtfMHgyZWJjNjEoJzB4OTMxJyldPTB4YTg2OV09J0FWQUxBTkNIRV9URVNUTkVUJyxfMHgxNjUxZDFbXzB4MTY1MWQxW18weDJlYmM2MSgnMHhiZWUnKV09MHhmYV09XzB4MmViYzYxKCcweGJlZScpLF8weDE2NTFkMVtfMHgxNjUxZDFbXzB4MmViYzYxKCcweDJhNicpXT0weGZhMl09XzB4MmViYzYxKCcweDJhNicpLF8weDE2NTFkMVtfMHgxNjUxZDFbXzB4MmViYzYxKCcweDNhMScpXT0weDY0XT1fMHgyZWJjNjEoJzB4M2ExJyksXzB4MTY1MWQxW18weDE2NTFkMVsnQVVST1JBJ109MHg0ZTQ1NDE1Ml09XzB4MmViYzYxKCcweDMwMCcpLF8weDE2NTFkMVtfMHgxNjUxZDFbXzB4MmViYzYxKCcweGIyNScpXT0weDRlNDU0MTU0XT1fMHgyZWJjNjEoJzB4YjI1Jyk7fShfMHgxZDNlNmR8fChfMHgxZDNlNmQ9e30pKTtjb25zdCBfMHg1MmNjZjM9e1tfMHgxZDNlNmRbXzB4NWQ4NWEzKCcweDgyOCcpXV06eydjaGFpbklkJzpfMHgxZDNlNmRbXzB4NWQ4NWEzKCcweDgyOCcpXSwnbmFtZSc6J21haW5uZXQnLCd0aXRsZSc6XzB4NWQ4NWEzKCcweDQxZicpLCdibG9ja0V4cGxvcmVyJzp7J25hbWUnOl8weDVkODVhMygnMHg5OGQnKSwncm9vdFVybCc6XzB4NWQ4NWEzKCcweDU4NicpfX0sW18weDFkM2U2ZFtfMHg1ZDg1YTMoJzB4NjZhJyldXTp7J2NoYWluSWQnOl8weDFkM2U2ZFtfMHg1ZDg1YTMoJzB4NjZhJyldLCduYW1lJzpfMHg1ZDg1YTMoJzB4NmE3JyksJ3RpdGxlJzonUm9wc3RlbicsJ3Rlc3RuZXQnOiEweDAsJ2Jsb2NrRXhwbG9yZXInOnsnbmFtZSc6J0V0aGVyc2Nhblx4MjAoUm9wc3RlbiknLCdyb290VXJsJzpfMHg1ZDg1YTMoJzB4NWJlJyl9fSxbXzB4MWQzZTZkWydSSU5LRUJZJ11dOnsnY2hhaW5JZCc6XzB4MWQzZTZkW18weDVkODVhMygnMHgyMjQnKV0sJ25hbWUnOl8weDVkODVhMygnMHg5MzUnKSwndGl0bGUnOl8weDVkODVhMygnMHhiYzMnKSwndGVzdG5ldCc6ITB4MCwnYmxvY2tFeHBsb3Jlcic6eyduYW1lJzpfMHg1ZDg1YTMoJzB4NjNlJyksJ3Jvb3RVcmwnOidodHRwczovL3JpbmtlYnkuZXRoZXJzY2FuLmlvLyd9fSxbXzB4MWQzZTZkW18weDVkODVhMygnMHg4ZTInKV1dOnsnY2hhaW5JZCc6XzB4MWQzZTZkW18weDVkODVhMygnMHg4ZTInKV0sJ25hbWUnOl8weDVkODVhMygnMHgxZWMnKSwndGl0bGUnOidHb2VybGknLCd0ZXN0bmV0JzohMHgwLCdibG9ja0V4cGxvcmVyJzp7J25hbWUnOl8weDVkODVhMygnMHhiMGInKSwncm9vdFVybCc6XzB4NWQ4NWEzKCcweGFmNScpfX0sW18weDFkM2U2ZFsnS09WQU4nXV06eydjaGFpbklkJzpfMHgxZDNlNmRbXzB4NWQ4NWEzKCcweDMyYScpXSwnbmFtZSc6XzB4NWQ4NWEzKCcweGNiZicpLCd0aXRsZSc6XzB4NWQ4NWEzKCcweDFiMScpLCd0ZXN0bmV0JzohMHgwLCdibG9ja0V4cGxvcmVyJzp7J25hbWUnOl8weDVkODVhMygnMHhjMTknKSwncm9vdFVybCc6J2h0dHBzOi8va292YW4uZXRoZXJzY2FuLmlvLyd9fSxbXzB4MWQzZTZkWydQT0xZR09OJ11dOnsnY2hhaW5JZCc6XzB4MWQzZTZkW18weDVkODVhMygnMHhhODUnKV0sJ25hbWUnOl8weDVkODVhMygnMHgyYmQnKSwndGl0bGUnOidQb2x5Z29uJywnYmxvY2tFeHBsb3Jlcic6eyduYW1lJzpfMHg1ZDg1YTMoJzB4YzY4JyksJ3Jvb3RVcmwnOl8weDVkODVhMygnMHg0M2MnKX19LFtfMHgxZDNlNmRbXzB4NWQ4NWEzKCcweDRjOCcpXV06eydjaGFpbklkJzpfMHgxZDNlNmRbJ1BPTFlHT05fTVVNQkFJJ10sJ25hbWUnOl8weDVkODVhMygnMHg3ZDUnKSwndGl0bGUnOl8weDVkODVhMygnMHg2ZTAnKSwndGVzdG5ldCc6ITB4MCwnYmxvY2tFeHBsb3Jlcic6eyduYW1lJzpfMHg1ZDg1YTMoJzB4MjQzJyksJ3Jvb3RVcmwnOl8weDVkODVhMygnMHg1YmMnKX19LFtfMHgxZDNlNmRbXzB4NWQ4NWEzKCcweGEwZScpXV06eydjaGFpbklkJzpfMHgxZDNlNmRbXzB4NWQ4NWEzKCcweGEwZScpXSwnbmFtZSc6XzB4NWQ4NWEzKCcweGE0NCcpLCd0aXRsZSc6J0JOQlx4MjBTbWFydFx4MjBDaGFpbicsJ2Jsb2NrRXhwbG9yZXInOnsnbmFtZSc6XzB4NWQ4NWEzKCcweDQ5MycpLCdyb290VXJsJzpfMHg1ZDg1YTMoJzB4NmY2Jyl9fSxbXzB4MWQzZTZkWydCU0NfVEVTVE5FVCddXTp7J2NoYWluSWQnOl8weDFkM2U2ZFtfMHg1ZDg1YTMoJzB4ODhlJyldLCduYW1lJzpfMHg1ZDg1YTMoJzB4NGEzJyksJ3RpdGxlJzpfMHg1ZDg1YTMoJzB4Y2U4JyksJ3Rlc3RuZXQnOiEweDAsJ2Jsb2NrRXhwbG9yZXInOnsnbmFtZSc6J0JTQ1NjYW5ceDIwKFRlc3RuZXQpJywncm9vdFVybCc6XzB4NWQ4NWEzKCcweDcwOScpfX0sW18weDFkM2U2ZFtfMHg1ZDg1YTMoJzB4NDk0JyldXTp7J2NoYWluSWQnOl8weDFkM2U2ZFtfMHg1ZDg1YTMoJzB4NDk0JyldLCduYW1lJzpfMHg1ZDg1YTMoJzB4NGJjJyksJ3RpdGxlJzpfMHg1ZDg1YTMoJzB4MzJjJyksJ2Jsb2NrRXhwbG9yZXInOnsnbmFtZSc6XzB4NWQ4NWEzKCcweDVhMCcpLCdyb290VXJsJzpfMHg1ZDg1YTMoJzB4NGZmJyl9fSxbXzB4MWQzZTZkW18weDVkODVhMygnMHhjODgnKV1dOnsnY2hhaW5JZCc6XzB4MWQzZTZkWydPUFRJTUlTTV9URVNUTkVUJ10sJ25hbWUnOl8weDVkODVhMygnMHg5ZjknKSwndGl0bGUnOl8weDVkODVhMygnMHg3MjQnKSwndGVzdG5ldCc6ITB4MCwnYmxvY2tFeHBsb3Jlcic6eyduYW1lJzpfMHg1ZDg1YTMoJzB4YTJkJyksJ3Jvb3RVcmwnOl8weDVkODVhMygnMHhjOTUnKX19LFtfMHgxZDNlNmRbXzB4NWQ4NWEzKCcweGM4NicpXV06eydjaGFpbklkJzpfMHgxZDNlNmRbXzB4NWQ4NWEzKCcweGM4NicpXSwnbmFtZSc6J2FyYml0cnVtJywndGl0bGUnOl8weDVkODVhMygnMHg0NWInKSwnYmxvY2tFeHBsb3Jlcic6eyduYW1lJzpfMHg1ZDg1YTMoJzB4NzRlJyksJ3Jvb3RVcmwnOl8weDVkODVhMygnMHg4MmQnKX19LFtfMHgxZDNlNmRbXzB4NWQ4NWEzKCcweDYwMScpXV06eydjaGFpbklkJzpfMHgxZDNlNmRbXzB4NWQ4NWEzKCcweDYwMScpXSwnbmFtZSc6XzB4NWQ4NWEzKCcweGI4YycpLCd0aXRsZSc6XzB4NWQ4NWEzKCcweDUxOCcpLCd0ZXN0bmV0JzohMHgwLCdibG9ja0V4cGxvcmVyJzp7J25hbWUnOl8weDVkODVhMygnMHg1NTEnKSwncm9vdFVybCc6XzB4NWQ4NWEzKCcweDY5YScpfX0sW18weDFkM2U2ZFsnQVZBTEFOQ0hFJ11dOnsnY2hhaW5JZCc6XzB4MWQzZTZkWydBVkFMQU5DSEUnXSwnbmFtZSc6XzB4NWQ4NWEzKCcweDc5ZScpLCd0aXRsZSc6XzB4NWQ4NWEzKCcweDI0NycpLCdibG9ja0V4cGxvcmVyJzp7J25hbWUnOl8weDVkODVhMygnMHgxZGQnKSwncm9vdFVybCc6J2h0dHBzOi8vc25vd3RyYWNlLmlvLyd9fSxbXzB4MWQzZTZkWydBVkFMQU5DSEVfVEVTVE5FVCddXTp7J2NoYWluSWQnOl8weDFkM2U2ZFtfMHg1ZDg1YTMoJzB4OTMxJyldLCduYW1lJzonYXZhbGFuY2hlLXRlc3RuZXQnLCd0aXRsZSc6XzB4NWQ4NWEzKCcweDliMycpLCd0ZXN0bmV0JzohMHgwLCdibG9ja0V4cGxvcmVyJzp7J25hbWUnOl8weDVkODVhMygnMHhjMDUnKSwncm9vdFVybCc6XzB4NWQ4NWEzKCcweGEzNScpfX0sW18weDFkM2U2ZFtfMHg1ZDg1YTMoJzB4YmVlJyldXTp7J2NoYWluSWQnOl8weDFkM2U2ZFtfMHg1ZDg1YTMoJzB4YmVlJyldLCduYW1lJzpfMHg1ZDg1YTMoJzB4Yzg0JyksJ3RpdGxlJzpfMHg1ZDg1YTMoJzB4MzIyJyksJ2Jsb2NrRXhwbG9yZXInOnsnbmFtZSc6J0ZUTVNjYW4nLCdyb290VXJsJzpfMHg1ZDg1YTMoJzB4YmViJyl9fSxbXzB4MWQzZTZkW18weDVkODVhMygnMHgyYTYnKV1dOnsnY2hhaW5JZCc6XzB4MWQzZTZkW18weDVkODVhMygnMHgyYTYnKV0sJ25hbWUnOidmYW50b20tdGVzdG5ldCcsJ3RpdGxlJzonRmFudG9tXHgyMFRlc3RuZXQnLCd0ZXN0bmV0JzohMHgwLCdibG9ja0V4cGxvcmVyJzp7J25hbWUnOl8weDVkODVhMygnMHgzOTInKSwncm9vdFVybCc6XzB4NWQ4NWEzKCcweDVhZCcpfX0sW18weDFkM2U2ZFsnR05PU0lTJ11dOnsnY2hhaW5JZCc6XzB4MWQzZTZkW18weDVkODVhMygnMHgzYTEnKV0sJ25hbWUnOl8weDVkODVhMygnMHgyYjAnKSwndGl0bGUnOl8weDVkODVhMygnMHg2NjInKSwnYmxvY2tFeHBsb3Jlcic6eyduYW1lJzpfMHg1ZDg1YTMoJzB4NjZkJyksJ3Jvb3RVcmwnOl8weDVkODVhMygnMHgyMWMnKX19LFtfMHgxZDNlNmRbXzB4NWQ4NWEzKCcweDMwMCcpXV06eydjaGFpbklkJzpfMHgxZDNlNmRbXzB4NWQ4NWEzKCcweDMwMCcpXSwnbmFtZSc6XzB4NWQ4NWEzKCcweDRjMScpLCd0aXRsZSc6XzB4NWQ4NWEzKCcweGNkZicpLCdibG9ja0V4cGxvcmVyJzp7J25hbWUnOidBdXJvcmFceDIwRXhwbG9yZXInLCdyb290VXJsJzpfMHg1ZDg1YTMoJzB4NGU2Jyl9fSxbXzB4MWQzZTZkW18weDVkODVhMygnMHhiMjUnKV1dOnsnY2hhaW5JZCc6XzB4MWQzZTZkW18weDVkODVhMygnMHhiMjUnKV0sJ25hbWUnOl8weDVkODVhMygnMHg5YTUnKSwndGl0bGUnOidBdXJvcmFceDIwVGVzdG5ldCcsJ2Jsb2NrRXhwbG9yZXInOnsnbmFtZSc6XzB4NWQ4NWEzKCcweDdmNicpLCdyb290VXJsJzpfMHg1ZDg1YTMoJzB4OTY5Jyl9fX0sXzB4Mjg2YTAyPShfMHgyYTZhNGQoXzB4NDIxZWI3PT5bXzB4MmRiODBjKHt9LF8weDUyY2NmM1tfMHgxZDNlNmRbJ01BSU5ORVQnXV0seydlbnNBZGRyZXNzJzpfMHg1ZDg1YTMoJzB4YzhhJyksJ3JwY1VybCc6XzB4Nzg0MjEzKF8weDQyMWViN1tfMHg1ZDg1YTMoJzB4ODA5JyldKycvbWFpbm5ldCcpLCdyZWxheWVyJzp7J3VybCc6XzB4Nzg0MjEzKF8weDQyMWViN1tfMHg1ZDg1YTMoJzB4OGZkJyldK18weDVkODVhMygnMHg5NmYnKSl9LCdpc0RlZmF1bHRDaGFpbic6ITB4MH0pLF8weDJkYjgwYyh7fSxfMHg1MmNjZjNbXzB4MWQzZTZkW18weDVkODVhMygnMHhhODUnKV1dLHsncnBjVXJsJzpfMHg1ZDg1YTMoJzB4N2ZiJyksJ3JlbGF5ZXInOnsndXJsJzpfMHg3ODQyMTMoXzB4NDIxZWI3W18weDVkODVhMygnMHg4ZmQnKV0rJy9tYXRpYycpfSwnaXNBdXRoQ2hhaW4nOiEweDB9KV0sMHgxLHsnYmFzZVJwY1VybCc6XzB4NWQ4NWEzKCcweDQyYycpLCdiYXNlUmVsYXllclVybCc6XzB4NWQ4NWEzKCcweGMzNycpfSksXzB4MmE2YTRkKF8weDNiMTMyOD0+W18weDJkYjgwYyh7fSxfMHg1MmNjZjNbXzB4MWQzZTZkW18weDVkODVhMygnMHgyMjQnKV1dLHsnZW5zQWRkcmVzcyc6JzB4MDAwMDAwMDAwMDBDMkUwNzRlQzY5QTBkRmIyOTk3QkE2QzdkMmUxZScsJ3JwY1VybCc6XzB4Nzg0MjEzKF8weDNiMTMyOFtfMHg1ZDg1YTMoJzB4ODA5JyldK18weDVkODVhMygnMHgxYzYnKSksJ3JlbGF5ZXInOnsndXJsJzpfMHg3ODQyMTMoXzB4M2IxMzI4WydiYXNlUmVsYXllclVybCddK18weDVkODVhMygnMHgxYzYnKSl9LCdpc0RlZmF1bHRDaGFpbic6ITB4MH0pLF8weDJkYjgwYyh7fSxfMHg1MmNjZjNbXzB4MWQzZTZkW18weDVkODVhMygnMHg4ZTInKV1dLHsnZW5zQWRkcmVzcyc6XzB4NWQ4NWEzKCcweGM4YScpLCdycGNVcmwnOl8weDc4NDIxMyhfMHgzYjEzMjhbXzB4NWQ4NWEzKCcweDgwOScpXSsnL2dvZXJsaScpLCdyZWxheWVyJzp7J3VybCc6XzB4Nzg0MjEzKF8weDNiMTMyOFtfMHg1ZDg1YTMoJzB4OGZkJyldK18weDVkODVhMygnMHgzNzUnKSl9LCdpc0F1dGhDaGFpbic6ITB4MH0pXSx2b2lkIDB4MCx7J2Jhc2VScGNVcmwnOl8weDVkODVhMygnMHg0MmMnKSwnYmFzZVJlbGF5ZXJVcmwnOidodHRwczovL3JlbGF5ZXJzLnNlcXVlbmNlLmFwcCd9KSxfMHg1ZDg1YTMoJzB4ODE2JykpO2Z1bmN0aW9uIF8weDM5MDVhMSgpe3ZhciBfMHg1MWRkMmI9XzB4NWQ4NWEzO3JldHVybiBfMHgzOTA1YTE9T2JqZWN0W18weDUxZGQyYignMHhiN2MnKV18fGZ1bmN0aW9uKF8weDE2ZThhYil7dmFyIF8weDQ2OGU2Zj1fMHg1MWRkMmI7Zm9yKHZhciBfMHgzZWVlNWE9MHgxO18weDNlZWU1YTxhcmd1bWVudHNbJ2xlbmd0aCddO18weDNlZWU1YSsrKXt2YXIgXzB4MzJlMWFjPWFyZ3VtZW50c1tfMHgzZWVlNWFdO2Zvcih2YXIgXzB4NWNmM2VkIGluIF8weDMyZTFhYylPYmplY3RbJ3Byb3RvdHlwZSddWydoYXNPd25Qcm9wZXJ0eSddW18weDQ2OGU2ZignMHg1ZmQnKV0oXzB4MzJlMWFjLF8weDVjZjNlZCkmJihfMHgxNmU4YWJbXzB4NWNmM2VkXT1fMHgzMmUxYWNbXzB4NWNmM2VkXSk7fXJldHVybiBfMHgxNmU4YWI7fSxfMHgzOTA1YTFbXzB4NTFkZDJiKCcweDQ0MicpXSh0aGlzLGFyZ3VtZW50cyk7fWxldCBfMHg0YzZkM2E7ZnVuY3Rpb24gXzB4MmY0ZWMyKF8weDJjZDNiNyxfMHgxYTg5NDgpe3ZhciBfMHg0NmY1OGY9XzB4NWQ4NWEzO3JldHVybiBfMHgyY2QzYjdbXzB4NDZmNThmKCcweDgxOCcpXShmdW5jdGlvbihfMHhjMmJhOSxfMHg1OTU5NTIsXzB4ZTIxYmU0KXt2YXIgXzB4MjQzOTMwPV8weDQ2ZjU4ZjtyZXR1cm4gXzB4MWE4OTQ4KF8weDU5NTk1MixfMHhlMjFiZTQpP18weGMyYmE5WzB4MF1bXzB4MjQzOTMwKCcweDhiNycpXShfMHg1OTU5NTIpOl8weGMyYmE5WzB4MV1bXzB4MjQzOTMwKCcweDhiNycpXShfMHg1OTU5NTIpLF8weGMyYmE5O30sW1tdLFtdXSk7fSFmdW5jdGlvbihfMHg1NGRkMDIpe3ZhciBfMHgyYjY3NGY9XzB4NWQ4NWEzO18weDU0ZGQwMltfMHgyYjY3NGYoJzB4YzEyJyldPV8weDJiNjc0ZignMHg5ZjcnKSxfMHg1NGRkMDJbJ2V0aEdldEJhbGFuY2UnXT1fMHgyYjY3NGYoJzB4YTIwJyksXzB4NTRkZDAyW18weDJiNjc0ZignMHg4MmEnKV09J2V0aF9nZXRDb2RlJzt9KF8weDRjNmQzYXx8KF8weDRjNmQzYT17fSkpO2NsYXNzIF8weDE5NmQ3Mntjb25zdHJ1Y3RvcihfMHgzOWI5NTkpe3ZhciBfMHgxMjY4YzU9XzB4NWQ4NWEzLF8weDQ2MTQ3Mj10aGlzO2lmKHRoaXNbJ2JhdGNoYWJsZUpzb25ScGNNZXRob2RzJ109W18weDRjNmQzYVtfMHgxMjY4YzUoJzB4YzEyJyldLF8weDRjNmQzYVtfMHgxMjY4YzUoJzB4ODJhJyldLF8weDRjNmQzYVtfMHgxMjY4YzUoJzB4NGM2JyldXSx0aGlzW18weDEyNjhjNSgnMHgyZTgnKV09bmV3IF8weDFmOWUzOFsndlUnXShfMHg1OGFkYjFbXzB4MTI2OGM1KCcweDg1NScpXVtfMHgxMjY4YzUoJzB4Nzc0JyldKSx0aGlzW18weDEyNjhjNSgnMHg5OTInKV09dm9pZCAweDAsdGhpc1sndGltZW91dCddPXZvaWQgMHgwLHRoaXNbXzB4MTI2OGM1KCcweDFmYycpXT1bXSx0aGlzW18weDEyNjhjNSgnMHg1YWEnKV09KCk9Pnt2YXIgXzB4NGNlZTQ3PV8weDEyNjhjNTt0aGlzW18weDRjZWU0NygnMHgxZmMnKV1bJ2xlbmd0aCddPjB4MCYmKHRoaXNbXzB4NGNlZTQ3KCcweDJhMycpXSYmY2xlYXJUaW1lb3V0KHRoaXNbXzB4NGNlZTQ3KCcweDJhMycpXSksdGhpc1sndGltZW91dCddPXNldFRpbWVvdXQodGhpc1tfMHg0Y2VlNDcoJzB4N2VhJyldLHRoaXNbJ29wdGlvbnMnXVtfMHg0Y2VlNDcoJzB4MWU1JyldKSk7fSx0aGlzW18weDEyNjhjNSgnMHg4YjAnKV09KF8weGExMGViNixfMHg1NjFkZDYsXzB4M2UwMzMyKT0+dGhpc1snYmF0Y2hhYmxlSnNvblJwY01ldGhvZHMnXVtfMHgxMjY4YzUoJzB4Njg0JyldKF8weDMwNGJhYz0+XzB4MzA0YmFjPT09XzB4NTYxZGQ2W18weDEyNjhjNSgnMHhjNDUnKV0pPyh0aGlzW18weDEyNjhjNSgnMHgxZmMnKV1bXzB4MTI2OGM1KCcweDhiNycpXSh7J3JlcXVlc3QnOl8weDU2MWRkNiwnY2FsbGJhY2snOl8weDNlMDMzMiwnbmV4dCc6XzB4YTEwZWI2fSksdGhpc1tfMHgxMjY4YzUoJzB4OTkyJyldWyd2ZXJib3NlJ10mJmNvbnNvbGVbXzB4MTI2OGM1KCcweDViYScpXShfMHgxMjY4YzUoJzB4NjRjJyksXzB4NTYxZGQ2W18weDEyNjhjNSgnMHhjNDUnKV0pLHZvaWQgdGhpc1tfMHgxMjY4YzUoJzB4NWFhJyldKCkpOih0aGlzW18weDEyNjhjNSgnMHg5OTInKV1bXzB4MTI2OGM1KCcweDMxNScpXSYmY29uc29sZVtfMHgxMjY4YzUoJzB4NWJhJyldKF8weDEyNjhjNSgnMHg2YTEnKSxfMHg1NjFkZDZbXzB4MTI2OGM1KCcweGM0NScpXSksXzB4YTEwZWI2KF8weDU2MWRkNixfMHgzZTAzMzIpKSx0aGlzW18weDEyNjhjNSgnMHg3ZWEnKV09YXN5bmMgZnVuY3Rpb24oKXt2YXIgXzB4MWM1YTNhPV8weDEyNjhjNTtfMHg0NjE0NzJbXzB4MWM1YTNhKCcweDk5MicpXVtfMHgxYzVhM2EoJzB4MzE1JyldJiZjb25zb2xlW18weDFjNWEzYSgnMHg1YmEnKV0oJ1Byb2Nlc3NpbmdceDIwbXVsdGljYWxsJyk7Y29uc3QgXzB4ZDI4Y2ZjPU1hdGhbXzB4MWM1YTNhKCcweGI4MCcpXShfMHg0NjE0NzJbXzB4MWM1YTNhKCcweDk5MicpXVsnYmF0Y2hTaXplJ10sXzB4NDYxNDcyW18weDFjNWEzYSgnMHgxZmMnKV1bJ2xlbmd0aCddKTtpZigweDA9PT1fMHhkMjhjZmMpcmV0dXJuO2lmKDB4MT09PV8weGQyOGNmYylyZXR1cm4gXzB4NDYxNDcyW18weDFjNWEzYSgnMHhjOWMnKV0oXzB4NDYxNDcyWydxdWV1ZSddWzB4MF0pLF8weDQ2MTQ3MltfMHgxYzVhM2EoJzB4MWZjJyldPVtdLHZvaWQoXzB4NDYxNDcyW18weDFjNWEzYSgnMHg5OTInKV1bXzB4MWM1YTNhKCcweDMxNScpXSYmY29uc29sZVtfMHgxYzVhM2EoJzB4NWJhJyldKF8weDFjNWEzYSgnMHhkMzUnKSkpO18weDQ2MTQ3MltfMHgxYzVhM2EoJzB4OTkyJyldW18weDFjNWEzYSgnMHgzMTUnKV0mJmNvbnNvbGVbXzB4MWM1YTNhKCcweDViYScpXSgnUmVzb2x2aW5nJyxfMHhkMjhjZmMpO3ZhciBfMHgyZWJkYTU9XzB4NDYxNDcyWydxdWV1ZSddWydzbGljZSddKDB4MCxfMHhkMjhjZmMpO18weDQ2MTQ3MltfMHgxYzVhM2EoJzB4MWZjJyldPV8weGQyOGNmYz09PV8weDQ2MTQ3MltfMHgxYzVhM2EoJzB4MWZjJyldW18weDFjNWEzYSgnMHg1MjAnKV0/W106XzB4NDYxNDcyW18weDFjNWEzYSgnMHgxZmMnKV1bXzB4MWM1YTNhKCcweGFkYScpXShfMHhkMjhjZmMpLF8weDQ2MTQ3MltfMHgxYzVhM2EoJzB4OTkyJyldW18weDFjNWEzYSgnMHgzMTUnKV0mJmNvbnNvbGVbJ2xvZyddKF8weDFjNWEzYSgnMHhkMzAnKSxfMHg0NjE0NzJbXzB4MWM1YTNhKCcweDFmYycpXVtfMHgxYzVhM2EoJzB4NTIwJyldKSwweDAhPT1fMHg0NjE0NzJbJ3F1ZXVlJ11bXzB4MWM1YTNhKCcweDUyMCcpXSYmXzB4NDYxNDcyW18weDFjNWEzYSgnMHg1YWEnKV0oKTtjb25zdCBfMHg1ZGNjOTA9XzB4MmViZGE1WzB4MF1bXzB4MWM1YTNhKCcweDc0MCcpXTtsZXQgXzB4MzhhNzVlO3ZhciBbXzB4MmViZGE1LF8weDU5NGRjNV09XzB4MmY0ZWMyKF8weDJlYmRhNSxfMHgxYWQyYjc9Pnt2YXIgXzB4NGVmMzVmPV8weDFjNWEzYTt0cnl7aWYoXzB4MWFkMmI3W18weDRlZjM1ZignMHg3NDAnKV0hPT1fMHg1ZGNjOTApcmV0dXJuITB4MTtzd2l0Y2goXzB4MWFkMmI3W18weDRlZjM1ZignMHg1ZDAnKV1bJ21ldGhvZCddKXtjYXNlIF8weDRjNmQzYVtfMHg0ZWYzNWYoJzB4YzEyJyldOmlmKF8weDFhZDJiN1tfMHg0ZWYzNWYoJzB4NWQwJyldW18weDRlZjM1ZignMHgyYzMnKV1bMHgwXVtfMHg0ZWYzNWYoJzB4MjUyJyldfHxfMHgxYWQyYjdbXzB4NGVmMzVmKCcweDVkMCcpXVsncGFyYW1zJ11bMHgwXVtfMHg0ZWYzNWYoJzB4ODgyJyldfHxfMHgxYWQyYjdbXzB4NGVmMzVmKCcweDVkMCcpXVsncGFyYW1zJ11bMHgwXVtfMHg0ZWYzNWYoJzB4ODlkJyldKXJldHVybiEweDE7Y2FzZSBfMHg0YzZkM2FbJ2V0aEdldEJhbGFuY2UnXTpjYXNlIF8weDRjNmQzYVtfMHg0ZWYzNWYoJzB4ODJhJyldOmNvbnN0IF8weDFlNTliOD1mdW5jdGlvbihfMHg1OWI3Yzkpe3ZhciBfMHgzMjE4MmQ9XzB4NGVmMzVmO2lmKHZvaWQgMHgwPT09XzB4NTliN2M5KXJldHVybiBfMHgzMjE4MmQoJzB4OGJiJyk7c3dpdGNoKF8weDU5YjdjOSl7Y2FzZSdlYXJsaWVzdCc6Y2FzZSBfMHgzMjE4MmQoJzB4OGJiJyk6Y2FzZSBfMHgzMjE4MmQoJzB4OWEyJyk6cmV0dXJuIF8weDU5YjdjOTt9cmV0dXJuIF8weDI0NGZmZlsnTyQnXVtfMHgzMjE4MmQoJzB4MjUyJyldKF8weDU5YjdjOSk7fShfMHgxYWQyYjdbXzB4NGVmMzVmKCcweDVkMCcpXVtfMHg0ZWYzNWYoJzB4MmMzJyldWzB4MV0pO2lmKHZvaWQgMHgwPT09XzB4MzhhNzVlJiYoXzB4MzhhNzVlPV8weDFlNTliOCksKF8weDNlMWMxNT1fMHgxZTU5YjgpIT09KF8weGRmMzJkMT1fMHgzOGE3NWUpJiYhKF8weDI0NGZmZlsnTyQnXVtfMHg0ZWYzNWYoJzB4NzgyJyldKF8weDNlMWMxNSk/XzB4MjQ0ZmZmWydPJCddW18weDRlZjM1ZignMHg3ODInKV0oXzB4ZGYzMmQxKSYmXzB4M2UxYzE1WydlcSddKF8weGRmMzJkMSk6IV8weDI0NGZmZlsnTyQnXVsnaXNCaWdOdW1iZXInXShfMHhkZjMyZDEpJiZfMHgzZTFjMTU9PT1fMHhkZjMyZDEpKXJldHVybiEweDE7fXJldHVybiEweDA7fWNhdGNoKF8weDNiYzIyZil7cmV0dXJuITB4MTt9dmFyIF8weDNlMWMxNSxfMHhkZjMyZDE7fSk7aWYoMHgwIT09XzB4NTk0ZGM1W18weDFjNWEzYSgnMHg1MjAnKV0mJihfMHg0NjE0NzJbXzB4MWM1YTNhKCcweDk5MicpXVtfMHgxYzVhM2EoJzB4MzE1JyldJiZjb25zb2xlW18weDFjNWEzYSgnMHg1YmEnKV0oXzB4MWM1YTNhKCcweGQ0YicpLF8weDU5NGRjNVtfMHgxYzVhM2EoJzB4NTIwJyldKSxfMHg0NjE0NzJbJ2ZvcndhcmQnXShfMHg1OTRkYzUpLDB4MD09PV8weDJlYmRhNVsnbGVuZ3RoJ10pKXJldHVybjtsZXQgXzB4MjczMWY5PV8weDJlYmRhNVsnbWFwJ10oXzB4MTU3NjlkPT57dmFyIF8weDIyNDgwYj1fMHgxYzVhM2E7dHJ5e3N3aXRjaChfMHgxNTc2OWRbXzB4MjI0ODBiKCcweDVkMCcpXVtfMHgyMjQ4MGIoJzB4YzQ1JyldKXtjYXNlIF8weDRjNmQzYVtfMHgyMjQ4MGIoJzB4YzEyJyldOnJldHVybnsnZGVsZWdhdGVDYWxsJzohMHgxLCdyZXZlcnRPbkVycm9yJzohMHgxLCd0YXJnZXQnOl8weDE1NzY5ZFsncmVxdWVzdCddW18weDIyNDgwYignMHgyYzMnKV1bMHgwXVsndG8nXSwnZGF0YSc6XzB4MTU3NjlkW18weDIyNDgwYignMHg1ZDAnKV1bXzB4MjI0ODBiKCcweDJjMycpXVsweDBdW18weDIyNDgwYignMHhhNTgnKV0sJ2dhc0xpbWl0JzpfMHgxNTc2OWRbXzB4MjI0ODBiKCcweDVkMCcpXVtfMHgyMjQ4MGIoJzB4MmMzJyldWzB4MF1bXzB4MjI0ODBiKCcweDQyZicpXT9fMHgxNTc2OWRbJ3JlcXVlc3QnXVtfMHgyMjQ4MGIoJzB4MmMzJyldWzB4MF1bXzB4MjI0ODBiKCcweDQyZicpXToweDAsJ3ZhbHVlJzoweDB9O2Nhc2UgXzB4NGM2ZDNhWydldGhHZXRDb2RlJ106cmV0dXJueydkZWxlZ2F0ZUNhbGwnOiEweDEsJ3JldmVydE9uRXJyb3InOiEweDEsJ3RhcmdldCc6XzB4NDYxNDcyW18weDIyNDgwYignMHg5OTInKV1bXzB4MjI0ODBiKCcweGIyMScpXSwnZ2FzTGltaXQnOjB4MCwndmFsdWUnOjB4MCwnZGF0YSc6XzB4NDYxNDcyW18weDIyNDgwYignMHgyZTgnKV1bXzB4MjI0ODBiKCcweDI3MicpXShfMHg0NjE0NzJbXzB4MjI0ODBiKCcweDJlOCcpXVtfMHgyMjQ4MGIoJzB4NzdhJyldKCdjYWxsQ29kZScpLFtfMHgxNTc2OWRbXzB4MjI0ODBiKCcweDVkMCcpXVtfMHgyMjQ4MGIoJzB4MmMzJyldWzB4MF1dKX07Y2FzZSBfMHg0YzZkM2FbXzB4MjI0ODBiKCcweDRjNicpXTpyZXR1cm57J2RlbGVnYXRlQ2FsbCc6ITB4MSwncmV2ZXJ0T25FcnJvcic6ITB4MSwndGFyZ2V0JzpfMHg0NjE0NzJbJ29wdGlvbnMnXVtfMHgyMjQ4MGIoJzB4YjIxJyldLCdnYXNMaW1pdCc6MHgwLCd2YWx1ZSc6MHgwLCdkYXRhJzpfMHg0NjE0NzJbXzB4MjI0ODBiKCcweDJlOCcpXVtfMHgyMjQ4MGIoJzB4MjcyJyldKF8weDQ2MTQ3MltfMHgyMjQ4MGIoJzB4MmU4JyldWydnZXRGdW5jdGlvbiddKCdjYWxsQmFsYW5jZU9mJyksW18weDE1NzY5ZFtfMHgyMjQ4MGIoJzB4NWQwJyldW18weDIyNDgwYignMHgyYzMnKV1bMHgwXV0pfTtkZWZhdWx0OnJldHVybiBudWxsO319Y2F0Y2goXzB4MTZiY2ZmKXtyZXR1cm4gbnVsbDt9fSk7dmFyIFtfMHgyZWJkYTUsXzB4NTk0ZGM1XT1fMHgyZjRlYzIoXzB4MmViZGE1LChfMHgyYmZkMmQsXzB4MjBlMDljKT0+dm9pZCAweDAhPT1fMHgyNzMxZjlbXzB4MjBlMDljXSk7aWYoXzB4MjczMWY5PV8weDI3MzFmOVsnZmlsdGVyJ10oXzB4M2EwMDg5PT5fMHgzYTAwODkpLDB4MCE9PV8weDU5NGRjNVtfMHgxYzVhM2EoJzB4NTIwJyldJiYoXzB4NDYxNDcyW18weDFjNWEzYSgnMHg5OTInKV1bXzB4MWM1YTNhKCcweDMxNScpXSYmY29uc29sZVtfMHgxYzVhM2EoJzB4NWJhJyldKF8weDFjNWEzYSgnMHg2ZDYnKSxfMHg1OTRkYzVbJ2xlbmd0aCddKSxfMHg0NjE0NzJbXzB4MWM1YTNhKCcweGM5YycpXShfMHg1OTRkYzUpLDB4MD09PV8weDJlYmRhNVtfMHgxYzVhM2EoJzB4NTIwJyldKSlyZXR1cm47bGV0IF8weDJjOTU0MTt0cnl7XzB4MmM5NTQxPV8weDQ2MTQ3MlsnbXVsdGljYWxsSW50ZXJmYWNlJ11bXzB4MWM1YTNhKCcweDI3MicpXShfMHg0NjE0NzJbXzB4MWM1YTNhKCcweDJlOCcpXVtfMHgxYzVhM2EoJzB4NzdhJyldKF8weDFjNWEzYSgnMHhjZTInKSksW18weDI3MzFmOV0pO31jYXRjaChfMHg1YzRjYjUpe3JldHVybiB2b2lkIF8weDQ2MTQ3MlsnZm9yd2FyZCddKF8weDJlYmRhNSk7fWNvbnN0IF8weDJiMmE3ND1fMHgyOTUyM2QoKSxfMHhhYTIxMTE9YXdhaXQgYXN5bmMgZnVuY3Rpb24oXzB4NWIyNzA4LF8weDNiY2JmNil7dHJ5e3JldHVybiBhd2FpdCBfMHg1YjI3MDg7fWNhdGNoKF8weDQ1Y2IwNil7cmV0dXJuIF8weDNiY2JmNiBpbnN0YW5jZW9mIEZ1bmN0aW9uP18weDNiY2JmNihfMHg0NWNiMDYpOl8weDNiY2JmNjt9fShfMHgyMGFlNDYoXzB4NWRjYzkwKSh7J2lkJzpfMHgyYjJhNzQsJ2pzb25ycGMnOl8weDI4NmEwMiwnbWV0aG9kJzpfMHg0YzZkM2FbXzB4MWM1YTNhKCcweGMxMicpXSwncGFyYW1zJzpbeyd0byc6XzB4NDYxNDcyW18weDFjNWEzYSgnMHg5OTInKV1bXzB4MWM1YTNhKCcweGIyMScpXSwndmFsdWUnOjB4MCwnZGF0YSc6XzB4MmM5NTQxfSxfMHgyNDRmZmZbJ08kJ11bJ2lzQmlnTnVtYmVyJ10oXzB4MzhhNzVlKT9fMHgzOGE3NWVbXzB4MWM1YTNhKCcweDk0MScpXSgpOl8weDM4YTc1ZV19KSxfMHgyYzg3YmE9Pih7J2pzb25ycGMnOl8weDI4NmEwMiwnaWQnOl8weDJiMmE3NCwncmVzdWx0Jzp2b2lkIDB4MCwnZXJyb3InOl8weDJjODdiYX0pKTtpZihfMHhhYTIxMTFbXzB4MWM1YTNhKCcweGM5ZScpXSlyZXR1cm4gXzB4NDYxNDcyW18weDFjNWEzYSgnMHhjOWMnKV0oXzB4MmViZGE1KTtsZXQgXzB4NDQyZGMxO3RyeXtfMHg0NDJkYzE9XzB4NDYxNDcyW18weDFjNWEzYSgnMHgyZTgnKV1bXzB4MWM1YTNhKCcweDYyZCcpXShfMHg0NjE0NzJbXzB4MWM1YTNhKCcweDJlOCcpXVtfMHgxYzVhM2EoJzB4NzdhJyldKF8weDFjNWEzYSgnMHhjZTInKSksXzB4YWEyMTExW18weDFjNWEzYSgnMHgzODInKV0pO31jYXRjaChfMHgyM2QwZDkpe3JldHVybiB2b2lkIF8weDQ2MTQ3MltfMHgxYzVhM2EoJzB4YzljJyldKF8weDJlYmRhNSk7fV8weDQ2MTQ3Mlsnb3B0aW9ucyddW18weDFjNWEzYSgnMHgzMTUnKV0mJmNvbnNvbGVbXzB4MWM1YTNhKCcweDViYScpXSgnR290XHgyMHJlc3BvbnNlXHgyMGZvcicsXzB4MmViZGE1W18weDFjNWEzYSgnMHg1MjAnKV0pLF8weDJlYmRhNVsnZm9yRWFjaCddKChfMHgxMjIyZDMsXzB4NDMxY2JlKT0+e3ZhciBfMHgxOGVkZWM9XzB4MWM1YTNhO2lmKF8weDQ0MmRjMVsweDBdW18weDQzMWNiZV0pc3dpdGNoKF8weDEyMjJkM1tfMHgxOGVkZWMoJzB4NWQwJyldW18weDE4ZWRlYygnMHhjNDUnKV0pe2Nhc2UgXzB4NGM2ZDNhW18weDE4ZWRlYygnMHhjMTInKV06XzB4MTIyMmQzWydjYWxsYmFjayddKHZvaWQgMHgwLHsnanNvbnJwYyc6XzB4MTIyMmQzW18weDE4ZWRlYygnMHg1ZDAnKV1bXzB4MThlZGVjKCcweDQxOCcpXSwnaWQnOl8weDEyMjJkM1tfMHgxOGVkZWMoJzB4NWQwJyldWydpZCddLCdyZXN1bHQnOl8weDQ0MmRjMVsweDFdW18weDQzMWNiZV19KTticmVhaztjYXNlIF8weDRjNmQzYVtfMHgxOGVkZWMoJzB4ODJhJyldOl8weDEyMjJkM1snY2FsbGJhY2snXSh2b2lkIDB4MCx7J2pzb25ycGMnOl8weDEyMjJkM1tfMHgxOGVkZWMoJzB4NWQwJyldW18weDE4ZWRlYygnMHg0MTgnKV0sJ2lkJzpfMHgxMjIyZDNbXzB4MThlZGVjKCcweDVkMCcpXVsnaWQnXSwncmVzdWx0JzpfMHg0ZDRkZmJbJyQnXVsnZGVjb2RlJ10oW18weDE4ZWRlYygnMHg1MmEnKV0sXzB4NDQyZGMxWzB4MV1bXzB4NDMxY2JlXSlbMHgwXX0pO2JyZWFrO2Nhc2UgXzB4NGM2ZDNhW18weDE4ZWRlYygnMHg0YzYnKV06XzB4MTIyMmQzW18weDE4ZWRlYygnMHg0NDEnKV0odm9pZCAweDAseydqc29ucnBjJzpfMHgxMjIyZDNbJ3JlcXVlc3QnXVsnanNvbnJwYyddLCdpZCc6XzB4MTIyMmQzW18weDE4ZWRlYygnMHg1ZDAnKV1bJ2lkJ10sJ3Jlc3VsdCc6XzB4NGQ0ZGZiWyckJ11bXzB4MThlZGVjKCcweDU4ZicpXShbXzB4MThlZGVjKCcweDViMycpXSxfMHg0NDJkYzFbMHgxXVtfMHg0MzFjYmVdKVsweDBdfSk7fWVsc2UgXzB4NDYxNDcyW18weDE4ZWRlYygnMHhjOWMnKV0oXzB4MTIyMmQzKTt9KTt9LHRoaXNbXzB4MTI2OGM1KCcweDk5MicpXT1fMHgzOWI5NTk/XzB4MzkwNWExKHt9LF8weDE5NmQ3MltfMHgxMjY4YzUoJzB4NjFlJyldLF8weDM5Yjk1OSk6XzB4MTk2ZDcyW18weDEyNjhjNSgnMHg2MWUnKV0sdGhpc1tfMHgxMjY4YzUoJzB4OTkyJyldW18weDEyNjhjNSgnMHhhNzgnKV08PTB4MCl0aHJvdyBuZXcgRXJyb3IoXzB4MTI2OGM1KCcweGFmYycpK3RoaXNbXzB4MTI2OGM1KCcweDk5MicpXVtfMHgxMjY4YzUoJzB4YTc4JyldKTt9W18weDVkODVhMygnMHhjOWMnKV0oXzB4MjBmMTljKXt2YXIgXzB4NTZjOTAwPV8weDVkODVhMztBcnJheVtfMHg1NmM5MDAoJzB4OGYxJyldKF8weDIwZjE5Yyk/XzB4MjBmMTljW18weDU2YzkwMCgnMHg1MWUnKV0oXzB4ZjlhZTYyPT5fMHhmOWFlNjJbXzB4NTZjOTAwKCcweDc0MCcpXShfMHhmOWFlNjJbXzB4NTZjOTAwKCcweDVkMCcpXSxfMHhmOWFlNjJbXzB4NTZjOTAwKCcweDQ0MScpXSkpOl8weDIwZjE5Y1tfMHg1NmM5MDAoJzB4NzQwJyldKF8weDIwZjE5Y1sncmVxdWVzdCddLF8weDIwZjE5Y1tfMHg1NmM5MDAoJzB4NDQxJyldKTt9c3RhdGljW18weDVkODVhMygnMHgzNjcnKV0oXzB4NTQyMzI4KXt2YXIgXzB4NDJjOGI5PV8weDVkODVhMztyZXR1cm4gXzB4NTQyMzI4JiZ2b2lkIDB4MCE9PV8weDU0MjMyOFtfMHg0MmM4YjkoJzB4OGIwJyldJiZ2b2lkIDB4MCE9PV8weDU0MjMyOFtfMHg0MmM4YjkoJzB4MmQ2JyldJiZfMHgxOTZkNzJbXzB4NDJjOGI5KCcweDI2NCcpXShfMHg1NDIzMjhbXzB4NDJjOGI5KCcweDk5MicpXSk7fXN0YXRpY1tfMHg1ZDg1YTMoJzB4MjY0JyldKF8weGUwYmVkYil7dmFyIF8weDE4Njk5OT1fMHg1ZDg1YTM7cmV0dXJuIHZvaWQgMHgwIT09XzB4ZTBiZWRiJiZ2b2lkIDB4MCE9PV8weGUwYmVkYltfMHgxODY5OTkoJzB4YTc4JyldJiZ2b2lkIDB4MCE9PV8weGUwYmVkYlsndGltZVdpbmRvdyddJiZ2b2lkIDB4MCE9PV8weGUwYmVkYlsnY29udHJhY3QnXTt9fV8weDE5NmQ3MltfMHg1ZDg1YTMoJzB4NjFlJyldPV8weDM5MDVhMSh7fSx7J2JhdGNoU2l6ZSc6MHgzMiwndGltZVdpbmRvdyc6MHgzMiwnY29udHJhY3QnOl8weDVkODVhMygnMHgyMmInKSwndmVyYm9zZSc6ITB4MX0pO2NvbnN0IF8weDY5NTBmNz1bXzB4NWQ4NWEzKCcweGJjMCcpLF8weDVkODVhMygnMHhhMzknKSxfMHg1ZDg1YTMoJzB4NjQ2JyksXzB4NWQ4NWEzKCcweDJkMScpLF8weDVkODVhMygnMHhhN2EnKSwnc2VuZFRyYW5zYWN0aW9uJyxfMHg1ZDg1YTMoJzB4MWEzJyksXzB4NWQ4NWEzKCcweDhjNScpLCdnZXRUcmFuc2FjdGlvbicsXzB4NWQ4NWEzKCcweDM5MCcpLF8weDVkODVhMygnMHhjOWYnKSwnZW1pdCcsJ2xpdGVuZXJDb3VudCcsXzB4NWQ4NWEzKCcweDhmYicpLF8weDVkODVhMygnMHg2YmQnKSxfMHg1ZDg1YTMoJzB4YjBmJyksXzB4NWQ4NWEzKCcweGI1OScpLCdnZXRCbG9ja1dpdGhUcmFuc2FjdGlvbnMnXTtjbGFzcyBfMHgyOGVmMDMgZXh0ZW5kcyBfMHgzMmJkYzVbJ1prJ117Y29uc3RydWN0b3IoXzB4YjEwMDk1LF8weDQ4NDBjYil7dmFyIF8weDNlMTVhOT1fMHg1ZDg1YTMsXzB4MzE4MTJiO3N1cGVyKF8weGIxMDA5NVsnZ2V0TmV0d29yayddKCkpLF8weDMxODEyYj10aGlzLHRoaXNbXzB4M2UxNWE5KCcweGQzMicpXT1fMHhiMTAwOTUsdGhpc1snbXVsdGljYWxsJ109dm9pZCAweDAsdGhpc1tfMHgzZTE1YTkoJzB4ZDNhJyldPXRoaXNbXzB4M2UxNWE5KCcweGQzMicpXVtfMHgzZTE1YTkoJzB4ZDNhJyldLHRoaXNbXzB4M2UxNWE5KCcweDdmZScpXT1hc3luYyBmdW5jdGlvbihfMHg0ZGVlOWUpe3ZhciBfMHhmMDFiYzY9XzB4M2UxNWE5O2NvbnN0IF8weDRlZWU0Yj1fMHgzMTgxMmJbXzB4ZjAxYmM2KCcweGQzMicpXTtpZihfMHg0ZWVlNGJbXzB4ZjAxYmM2KCcweDdmZScpXSl7Y29uc3QgXzB4NzYyYjJlPWF3YWl0IF8weDRlZWU0YltfMHhmMDFiYzYoJzB4N2ZlJyldKGF3YWl0IF8weDRkZWU5ZSk7cmV0dXJuIF8weDc2MmIyZT9uZXcgXzB4MzJiZGM1WydIMiddKF8weDMxODEyYixfMHg3NjJiMmVbXzB4ZjAxYmM2KCcweDFkMScpXSxfMHg3NjJiMmVbXzB4ZjAxYmM2KCcweGJjNycpXSk6bnVsbDt9cmV0dXJuIF8weDRlZWU0YltfMHhmMDFiYzYoJzB4N2ZlJyldKGF3YWl0IF8weDRkZWU5ZSk7fSx0aGlzWyduZXh0J109YXN5bmMgZnVuY3Rpb24oXzB4NWI4ODg3LF8weDQ2MmY2Myl7dmFyIF8weDU4MzJkOD1fMHgzZTE1YTk7dHJ5e3N3aXRjaChfMHg1Yjg4ODdbJ21ldGhvZCddKXtjYXNlIF8weDRjNmQzYVtfMHg1ODMyZDgoJzB4YzEyJyldOl8weDMxODEyYltfMHg1ODMyZDgoJzB4NDQxJyldKF8weDViODg4NyxfMHg0NjJmNjMsYXdhaXQgXzB4MzE4MTJiW18weDU4MzJkOCgnMHhkMzInKV1bJ2NhbGwnXShfMHg1Yjg4ODdbXzB4NTgzMmQ4KCcweDJjMycpXVsweDBdLF8weDViODg4N1sncGFyYW1zJ11bMHgxXSkpO2JyZWFrO2Nhc2UgXzB4NGM2ZDNhW18weDU4MzJkOCgnMHg4MmEnKV06XzB4MzE4MTJiW18weDU4MzJkOCgnMHg0NDEnKV0oXzB4NWI4ODg3LF8weDQ2MmY2Myxhd2FpdCBfMHgzMTgxMmJbJ3Byb3ZpZGVyJ11bXzB4NTgzMmQ4KCcweDlmZCcpXShfMHg1Yjg4ODdbXzB4NTgzMmQ4KCcweDJjMycpXVsweDBdLF8weDViODg4N1tfMHg1ODMyZDgoJzB4MmMzJyldWzB4MV0pKTticmVhaztjYXNlIF8weDRjNmQzYVsnZXRoR2V0QmFsYW5jZSddOl8weDMxODEyYltfMHg1ODMyZDgoJzB4NDQxJyldKF8weDViODg4NyxfMHg0NjJmNjMsYXdhaXQgXzB4MzE4MTJiWydwcm92aWRlciddW18weDU4MzJkOCgnMHg3MjcnKV0oXzB4NWI4ODg3W18weDU4MzJkOCgnMHgyYzMnKV1bMHgwXSxfMHg1Yjg4ODdbJ3BhcmFtcyddWzB4MV0pKTt9fWNhdGNoKF8weDRmZGUzNSl7XzB4MzE4MTJiW18weDU4MzJkOCgnMHg0NDEnKV0oXzB4NWI4ODg3LF8weDQ2MmY2Myx2b2lkIDB4MCxfMHg0ZmRlMzUpO319LHRoaXNbXzB4M2UxNWE5KCcweDQxMycpXT1fMHgxOTZkNzJbXzB4M2UxNWE5KCcweDM2NycpXShfMHg0ODQwY2IpP18weDQ4NDBjYjpuZXcgXzB4MTk2ZDcyKF8weDQ4NDBjYiksXzB4Njk1MGY3W18weDNlMTVhOSgnMHg1MWUnKV0oXzB4NGI5OTBjPT57dm9pZCAweDAhPT1fMHhiMTAwOTVbXzB4NGI5OTBjXSYmKHRoaXNbXzB4NGI5OTBjXT0oLi4uXzB4MjQwZWJkKT0+XzB4YjEwMDk1W18weDRiOTkwY10oLi4uXzB4MjQwZWJkKSk7fSk7fVtfMHg1ZDg1YTMoJzB4NDQxJyldKF8weDVhNTM1YSxfMHg1NzEwNWQsXzB4Mjk4ZTk4LF8weDU1MDJmNCl7XzB4NTcxMDVkKF8weDU1MDJmNCx7J2pzb25ycGMnOl8weDI4NmEwMiwnaWQnOl8weDVhNTM1YVsnaWQnXSwncmVzdWx0JzpfMHgyOThlOTgsJ2Vycm9yJzpfMHg1NTAyZjR9KTt9YXN5bmNbXzB4NWQ4NWEzKCcweDVmZCcpXShfMHgzNWIwNDIsXzB4NDVmMDM1KXt2YXIgXzB4MWVkZDMxPV8weDVkODVhMztyZXR1cm4gdGhpc1tfMHgxZWRkMzEoJzB4OWRjJyldKF8weDRjNmQzYVtfMHgxZWRkMzEoJzB4YzEyJyldLF8weDM1YjA0MixfMHg0NWYwMzUpO31hc3luY1tfMHg1ZDg1YTMoJzB4OWZkJyldKF8weDI5Y2M0OSxfMHg1MmVhZGIpe3ZhciBfMHgyYTk5MTE9XzB4NWQ4NWEzO3JldHVybiB0aGlzW18weDJhOTkxMSgnMHg5ZGMnKV0oXzB4NGM2ZDNhW18weDJhOTkxMSgnMHg4MmEnKV0sXzB4MjljYzQ5LF8weDUyZWFkYik7fWFzeW5jW18weDVkODVhMygnMHg3MjcnKV0oXzB4MWM0ODU3LF8weDNkN2FmZil7dmFyIF8weDEzNTk2Mj1fMHg1ZDg1YTM7cmV0dXJuIHRoaXNbXzB4MTM1OTYyKCcweDlkYycpXShfMHg0YzZkM2FbXzB4MTM1OTYyKCcweDRjNicpXSxfMHgxYzQ4NTcsXzB4M2Q3YWZmKTt9YXN5bmNbXzB4NWQ4NWEzKCcweDlkYycpXShfMHgxOWEwYjgsLi4uXzB4MjY0ODZmKXt2YXIgXzB4MjE1NGFlPV8weDVkODVhMztjb25zdCBfMHgxMjZjYjU9XzB4Mjk1MjNkKCk7cmV0dXJuKGF3YWl0IF8weDIwYWU0Nih0aGlzWydtdWx0aWNhbGwnXVtfMHgyMTU0YWUoJzB4OGIwJyldKSh0aGlzWyduZXh0J10seydqc29ucnBjJzpfMHgyODZhMDIsJ2lkJzpfMHgxMjZjYjUsJ21ldGhvZCc6XzB4MTlhMGI4LCdwYXJhbXMnOl8weDI2NDg2Zn0pKVtfMHgyMTU0YWUoJzB4MzgyJyldO319dmFyIF8weDExYTBmMz1PYmplY3RbXzB4NWQ4NWEzKCcweDFmYScpXSh7J19fcHJvdG9fXyc6bnVsbCwnUHJveHlNZXRob2RzJzpfMHg2OTUwZjcsJ011bHRpY2FsbFByb3ZpZGVyJzpfMHgyOGVmMDMsJ011bHRpY2FsbEV4dGVybmFsUHJvdmlkZXInOmNsYXNze2NvbnN0cnVjdG9yKF8weDQ4NjgyYSxfMHg0OWMzMDIpe3ZhciBfMHgyNTVhMjU9XzB4NWQ4NWEzO2lmKHRoaXNbXzB4MjU1YTI1KCcweGQzMicpXT1fMHg0ODY4MmEsdGhpc1tfMHgyNTVhMjUoJzB4NDEzJyldPXZvaWQgMHgwLHRoaXNbXzB4MjU1YTI1KCcweDQxMycpXT1fMHgxOTZkNzJbXzB4MjU1YTI1KCcweDM2NycpXShfMHg0OWMzMDIpP18weDQ5YzMwMjpuZXcgXzB4MTk2ZDcyKF8weDQ5YzMwMiksXzB4NDg2ODJhWydzZW5kJ10pe2NvbnN0IF8weDIzNTFiMT1hc3luYyBmdW5jdGlvbihfMHg0OTFmNWQsXzB4NGJiY2YyKXt2YXIgXzB4MmY0M2NmPV8weDI1NWEyNTtfMHg0ODY4MmFbXzB4MmY0M2NmKCcweGNmZScpXShfMHg0OTFmNWQsXzB4NGJiY2YyKTt9O3RoaXNbXzB4MjU1YTI1KCcweGNmZScpXT0oXzB4N2E2YWExLF8weGQ0M2Q5MSk9Pnt2YXIgXzB4NTBiYzExPV8weDI1NWEyNTt0aGlzW18weDUwYmMxMSgnMHg0MTMnKV1bJ2hhbmRsZSddKF8weDIzNTFiMSxfMHg3YTZhYTEsXzB4ZDQzZDkxKTt9O31pZihfMHg0ODY4MmFbJ3NlbmRBc3luYyddKXtjb25zdCBfMHgxNzZlOTQ9YXN5bmMgZnVuY3Rpb24oXzB4MzMwNTBiLF8weDFjYjc0YSl7dmFyIF8weDRmNGI5Nz1fMHgyNTVhMjU7XzB4NDg2ODJhW18weDRmNGI5NygnMHg0YTUnKV0oXzB4MzMwNTBiLF8weDFjYjc0YSk7fTt0aGlzW18weDI1NWEyNSgnMHg0YTUnKV09KF8weDU5YjYwMCxfMHg1OTEwZWQpPT57dmFyIF8weDM3YTQ4Nj1fMHgyNTVhMjU7dGhpc1tfMHgzN2E0ODYoJzB4NDEzJyldW18weDM3YTQ4NignMHg4YjAnKV0oXzB4MTc2ZTk0LF8weDU5YjYwMCxfMHg1OTEwZWQpO307fX1nZXRbXzB4NWQ4NWEzKCcweDQ2MycpXSgpe3ZhciBfMHg1ZDk3NGE9XzB4NWQ4NWEzO3JldHVybiB0aGlzWydwcm92aWRlciddW18weDVkOTc0YSgnMHg0NjMnKV07fWdldFtfMHg1ZDg1YTMoJzB4NzZkJyldKCl7dmFyIF8weDUyNjVjYj1fMHg1ZDg1YTM7cmV0dXJuIHRoaXNbXzB4NTI2NWNiKCcweGQzMicpXVsnaXNTdGF0dXMnXTt9fSwnbXVsdGljYWxsTWlkZGxld2FyZSc6XzB4MzE2ODdjPT5fMHgxZTNkMmQ9Pnt2YXIgXzB4MzNhMTcxPV8weDVkODVhMztjb25zdCBfMHgzYTYzNzY9XzB4MTk2ZDcyW18weDMzYTE3MSgnMHgzNjcnKV0oXzB4MzE2ODdjKT9fMHgzMTY4N2M6bmV3IF8weDE5NmQ3MihfMHgzMTY4N2MpO3JldHVybihfMHgyODk3NGIsXzB4NGMyYTI1KT0+XzB4M2E2Mzc2W18weDMzYTE3MSgnMHg4YjAnKV0oXzB4MWUzZDJkLF8weDI4OTc0YixfMHg0YzJhMjUpO319KTt9LDB4MTZkYjooXzB4NDU2MDRiLF8weDI4ZjExYSxfMHg0Yzk0OTkpPT57J3VzZSBzdHJpY3QnO18weDRjOTQ5OVsnZCddKF8weDI4ZjExYSx7J2knOigpPT5fMHg1MjY2YzR9KTtjb25zdCBfMHg1MjY2YzQ9J2FiaS81LjcuMCc7fSwweGFhZTooXzB4NWE3Y2MwLF8weDJhYzJjMyxfMHg1ZmMwM2YpPT57J3VzZSBzdHJpY3QnO3ZhciBfMHgyYzMwYzY9XzB4MTVhMztfMHg1ZmMwM2ZbJ2QnXShfMHgyYWMyYzMseydSJzooKT0+XzB4MTc4MjYyLCckJzooKT0+XzB4MmM5NmFhfSk7dmFyIF8weDNkMmNlMj1fMHg1ZmMwM2YoMHhjZDYpLF8weDJlZTlhZT1fMHg1ZmMwM2YoMHhlMDMpLF8weGIwZGY4MD1fMHg1ZmMwM2YoMHgyYzcpLF8weDI1MGE2YT1fMHg1ZmMwM2YoMHgxNmRiKSxfMHgyZDU5M2E9XzB4NWZjMDNmKDB4NGEwKSxfMHgxYjdhYTI9XzB4NWZjMDNmKDB4MTFmMik7Y2xhc3MgXzB4ZmE0OWY0IGV4dGVuZHMgXzB4MmQ1OTNhWydYSSdde2NvbnN0cnVjdG9yKF8weDE4YzM2NCl7dmFyIF8weGY0NDg3OD1fMHgxNWEzO3N1cGVyKF8weGY0NDg3OCgnMHgxZDEnKSxfMHhmNDQ4NzgoJzB4MWQxJyksXzB4MThjMzY0LCEweDEpO31bXzB4MmMzMGM2KCcweGJhNicpXSgpe3JldHVybicweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnO31bXzB4MmMzMGM2KCcweGE1MScpXShfMHgyMTIzYzAsXzB4ODVlOWI2KXt2YXIgXzB4NGM0MjVjPV8weDJjMzBjNjt0cnl7XzB4ODVlOWI2PSgweDAsXzB4MWI3YWEyWydnZXRBZGRyZXNzJ10pKF8weDg1ZTliNik7fWNhdGNoKF8weDQ3MjhmNil7dGhpc1tfMHg0YzQyNWMoJzB4NzIwJyldKF8weDQ3MjhmNltfMHg0YzQyNWMoJzB4ODNiJyldLF8weDg1ZTliNik7fXJldHVybiBfMHgyMTIzYzBbXzB4NGM0MjVjKCcweDJmOScpXShfMHg4NWU5YjYpO31bXzB4MmMzMGM2KCcweDU4ZicpXShfMHgzNmY3MzApe3ZhciBfMHgzODY3MDg9XzB4MmMzMGM2O3JldHVybigweDAsXzB4MWI3YWEyW18weDM4NjcwOCgnMHgzZGYnKV0pKCgweDAsXzB4M2QyY2UyW18weDM4NjcwOCgnMHg0MjEnKV0pKF8weDM2ZjczMFtfMHgzODY3MDgoJzB4MjMyJyldKClbXzB4Mzg2NzA4KCcweDZjMScpXSgpLDB4MTQpKTt9fWNsYXNzIF8weDE5MDNiZiBleHRlbmRzIF8weDJkNTkzYVsnWEknXXtjb25zdHJ1Y3RvcihfMHgxOTRmYWEpe3ZhciBfMHgyYjMzMzU9XzB4MmMzMGM2O3N1cGVyKF8weDE5NGZhYVsnbmFtZSddLF8weDE5NGZhYVtfMHgyYjMzMzUoJzB4NTdjJyldLHZvaWQgMHgwLF8weDE5NGZhYVsnZHluYW1pYyddKSx0aGlzWydjb2RlciddPV8weDE5NGZhYTt9W18weDJjMzBjNignMHhiYTYnKV0oKXt2YXIgXzB4Mjg5ZGQ2PV8weDJjMzBjNjtyZXR1cm4gdGhpc1tfMHgyODlkZDYoJzB4NzEwJyldW18weDI4OWRkNignMHhiYTYnKV0oKTt9W18weDJjMzBjNignMHhhNTEnKV0oXzB4MjlhYTNjLF8weDQzOTViMSl7dmFyIF8weDFiZGJhYj1fMHgyYzMwYzY7cmV0dXJuIHRoaXNbXzB4MWJkYmFiKCcweDcxMCcpXVtfMHgxYmRiYWIoJzB4YTUxJyldKF8weDI5YWEzYyxfMHg0Mzk1YjEpO31bXzB4MmMzMGM2KCcweDU4ZicpXShfMHgxYjYyYmIpe3ZhciBfMHg1ODZkYjI9XzB4MmMzMGM2O3JldHVybiB0aGlzWydjb2RlciddW18weDU4NmRiMignMHg1OGYnKV0oXzB4MWI2MmJiKTt9fWNvbnN0IF8weDNhYWM3OT1uZXcgXzB4YjBkZjgwWydMb2dnZXInXShfMHgyNTBhNmFbJ2knXSk7ZnVuY3Rpb24gXzB4MTI1MDc2KF8weDViMDM4ZSxfMHg1ZGE0ZjksXzB4MjdjM2Q1KXt2YXIgXzB4MjAyMDY5PV8weDJjMzBjNjtsZXQgXzB4NTkyMGRmPW51bGw7aWYoQXJyYXlbJ2lzQXJyYXknXShfMHgyN2MzZDUpKV8weDU5MjBkZj1fMHgyN2MzZDU7ZWxzZXtpZihfMHgyN2MzZDUmJidvYmplY3QnPT10eXBlb2YgXzB4MjdjM2Q1KXtsZXQgXzB4MjNmOWI2PXt9O18weDU5MjBkZj1fMHg1ZGE0ZjlbXzB4MjAyMDY5KCcweDNjOScpXShfMHg1OThkYzY9Pnt2YXIgXzB4Mjk3ZWI4PV8weDIwMjA2OTtjb25zdCBfMHg1MTQ1M2Y9XzB4NTk4ZGM2Wydsb2NhbE5hbWUnXTtyZXR1cm4gXzB4NTE0NTNmfHxfMHgzYWFjNzlbJ3Rocm93RXJyb3InXSgnY2Fubm90XHgyMGVuY29kZVx4MjBvYmplY3RceDIwZm9yXHgyMHNpZ25hdHVyZVx4MjB3aXRoXHgyMG1pc3NpbmdceDIwbmFtZXMnLF8weGIwZGY4MFtfMHgyOTdlYjgoJzB4Y2U3JyldW18weDI5N2ViOCgnMHg5NDknKV1bXzB4Mjk3ZWI4KCcweGM4YicpXSx7J2FyZ3VtZW50JzpfMHgyOTdlYjgoJzB4NzA0JyksJ2NvZGVyJzpfMHg1OThkYzYsJ3ZhbHVlJzpfMHgyN2MzZDV9KSxfMHgyM2Y5YjZbXzB4NTE0NTNmXSYmXzB4M2FhYzc5W18weDI5N2ViOCgnMHgxZDAnKV0oXzB4Mjk3ZWI4KCcweDQzZicpLF8weGIwZGY4MFtfMHgyOTdlYjgoJzB4Y2U3JyldW18weDI5N2ViOCgnMHg5NDknKV1bXzB4Mjk3ZWI4KCcweGM4YicpXSx7J2FyZ3VtZW50JzpfMHgyOTdlYjgoJzB4NzA0JyksJ2NvZGVyJzpfMHg1OThkYzYsJ3ZhbHVlJzpfMHgyN2MzZDV9KSxfMHgyM2Y5YjZbXzB4NTE0NTNmXT0hMHgwLF8weDI3YzNkNVtfMHg1MTQ1M2ZdO30pO31lbHNlIF8weDNhYWM3OVtfMHgyMDIwNjkoJzB4NjM1JyldKF8weDIwMjA2OSgnMHg1ZWYnKSwndHVwbGUnLF8weDI3YzNkNSk7fV8weDVkYTRmOVtfMHgyMDIwNjkoJzB4NTIwJyldIT09XzB4NTkyMGRmW18weDIwMjA2OSgnMHg1MjAnKV0mJl8weDNhYWM3OVtfMHgyMDIwNjkoJzB4NjM1JyldKCd0eXBlcy92YWx1ZVx4MjBsZW5ndGhceDIwbWlzbWF0Y2gnLF8weDIwMjA2OSgnMHhiY2QnKSxfMHgyN2MzZDUpO2xldCBfMHhkNTQ1ZmU9bmV3IF8weDJkNTkzYVsnUVYnXShfMHg1YjAzOGVbXzB4MjAyMDY5KCcweDU0MScpXSksXzB4NDg1YTcwPW5ldyBfMHgyZDU5M2FbJ1FWJ10oXzB4NWIwMzhlW18weDIwMjA2OSgnMHg1NDEnKV0pLF8weGFjMjNjNz1bXTtfMHg1ZGE0ZjlbXzB4MjAyMDY5KCcweDUxZScpXSgoXzB4MWUwY2VjLF8weDU1NzI5NSk9Pnt2YXIgXzB4MzViNjFhPV8weDIwMjA2OTtsZXQgXzB4M2FiZjY3PV8weDU5MjBkZltfMHg1NTcyOTVdO2lmKF8weDFlMGNlY1tfMHgzNWI2MWEoJzB4Yzc0JyldKXtsZXQgXzB4MzI3YWZhPV8weDQ4NWE3MFsnbGVuZ3RoJ107XzB4MWUwY2VjW18weDM1YjYxYSgnMHhhNTEnKV0oXzB4NDg1YTcwLF8weDNhYmY2Nyk7bGV0IF8weDQ4MmJhNz1fMHhkNTQ1ZmVbXzB4MzViNjFhKCcweDMzOCcpXSgpO18weGFjMjNjN1sncHVzaCddKF8weDUwZTRlMj0+e18weDQ4MmJhNyhfMHg1MGU0ZTIrXzB4MzI3YWZhKTt9KTt9ZWxzZSBfMHgxZTBjZWNbXzB4MzViNjFhKCcweGE1MScpXShfMHhkNTQ1ZmUsXzB4M2FiZjY3KTt9KSxfMHhhYzIzYzdbXzB4MjAyMDY5KCcweDUxZScpXShfMHgxZGU2M2I9Pnt2YXIgXzB4MzI3ZGJiPV8weDIwMjA2OTtfMHgxZGU2M2IoXzB4ZDU0NWZlW18weDMyN2RiYignMHg1MjAnKV0pO30pO2xldCBfMHgxYjMzNWQ9XzB4NWIwMzhlW18weDIwMjA2OSgnMHg0MGUnKV0oXzB4ZDU0NWZlKTtyZXR1cm4gXzB4MWIzMzVkKz1fMHg1YjAzOGVbXzB4MjAyMDY5KCcweDQwZScpXShfMHg0ODVhNzApLF8weDFiMzM1ZDt9ZnVuY3Rpb24gXzB4MmUwZjJlKF8weDFiZDA5ZixfMHgxY2RkOTIpe3ZhciBfMHgxYzNjOGU9XzB4MmMzMGM2O2xldCBfMHg1NmQ5YWY9W10sXzB4MzEzMGU2PV8weDFiZDA5ZltfMHgxYzNjOGUoJzB4NGI3JyldKDB4MCk7XzB4MWNkZDkyW18weDFjM2M4ZSgnMHg1MWUnKV0oXzB4MWJhODg1PT57dmFyIF8weGZiMGFkOT1fMHgxYzNjOGU7bGV0IF8weDQ3OTE1Yz1udWxsO2lmKF8weDFiYTg4NVsnZHluYW1pYyddKXtsZXQgXzB4MTVhNGY0PV8weDFiZDA5ZltfMHhmYjBhZDkoJzB4MjMyJyldKCksXzB4ZDQwYzFkPV8weDMxMzBlNltfMHhmYjBhZDkoJzB4NGI3JyldKF8weDE1YTRmNFsndG9OdW1iZXInXSgpKTt0cnl7XzB4NDc5MTVjPV8weDFiYTg4NVsnZGVjb2RlJ10oXzB4ZDQwYzFkKTt9Y2F0Y2goXzB4NTc1NGVkKXtpZihfMHg1NzU0ZWRbXzB4ZmIwYWQ5KCcweDhlZScpXT09PV8weGIwZGY4MFtfMHhmYjBhZDkoJzB4Y2U3JyldW18weGZiMGFkOSgnMHg5NDknKV1bXzB4ZmIwYWQ5KCcweDk5YycpXSl0aHJvdyBfMHg1NzU0ZWQ7XzB4NDc5MTVjPV8weDU3NTRlZCxfMHg0NzkxNWNbJ2Jhc2VUeXBlJ109XzB4MWJhODg1W18weGZiMGFkOSgnMHhiYzcnKV0sXzB4NDc5MTVjW18weGZiMGFkOSgnMHhiYzcnKV09XzB4MWJhODg1W18weGZiMGFkOSgnMHgyODUnKV0sXzB4NDc5MTVjWyd0eXBlJ109XzB4MWJhODg1W18weGZiMGFkOSgnMHg1N2MnKV07fX1lbHNlIHRyeXtfMHg0NzkxNWM9XzB4MWJhODg1W18weGZiMGFkOSgnMHg1OGYnKV0oXzB4MWJkMDlmKTt9Y2F0Y2goXzB4M2RkYjRkKXtpZihfMHgzZGRiNGRbJ2NvZGUnXT09PV8weGIwZGY4MFtfMHhmYjBhZDkoJzB4Y2U3JyldW18weGZiMGFkOSgnMHg5NDknKV1bXzB4ZmIwYWQ5KCcweDk5YycpXSl0aHJvdyBfMHgzZGRiNGQ7XzB4NDc5MTVjPV8weDNkZGI0ZCxfMHg0NzkxNWNbXzB4ZmIwYWQ5KCcweGEwZicpXT1fMHgxYmE4ODVbXzB4ZmIwYWQ5KCcweGJjNycpXSxfMHg0NzkxNWNbJ25hbWUnXT1fMHgxYmE4ODVbXzB4ZmIwYWQ5KCcweDI4NScpXSxfMHg0NzkxNWNbXzB4ZmIwYWQ5KCcweDU3YycpXT1fMHgxYmE4ODVbXzB4ZmIwYWQ5KCcweDU3YycpXTt9bnVsbCE9XzB4NDc5MTVjJiZfMHg1NmQ5YWZbXzB4ZmIwYWQ5KCcweDhiNycpXShfMHg0NzkxNWMpO30pO2NvbnN0IF8weDRiYzUzMT1fMHgxY2RkOTJbXzB4MWMzYzhlKCcweDgxOCcpXSgoXzB4YmI1YTdhLF8weDFjNDIzZik9Pnt2YXIgXzB4NTQyZjIwPV8weDFjM2M4ZTtjb25zdCBfMHgyODJhMDI9XzB4MWM0MjNmW18weDU0MmYyMCgnMHgyODUnKV07cmV0dXJuIF8weDI4MmEwMiYmKF8weGJiNWE3YVtfMHgyODJhMDJdfHwoXzB4YmI1YTdhW18weDI4MmEwMl09MHgwKSxfMHhiYjVhN2FbXzB4MjgyYTAyXSsrKSxfMHhiYjVhN2E7fSx7fSk7XzB4MWNkZDkyW18weDFjM2M4ZSgnMHg1MWUnKV0oKF8weDMyN2MwMyxfMHgxMjIyNDApPT57dmFyIF8weDM2OTUwOT1fMHgxYzNjOGU7bGV0IF8weDM3OTc2NT1fMHgzMjdjMDNbXzB4MzY5NTA5KCcweDI4NScpXTtpZighXzB4Mzc5NzY1fHwweDEhPT1fMHg0YmM1MzFbXzB4Mzc5NzY1XSlyZXR1cm47aWYoXzB4MzY5NTA5KCcweDUyMCcpPT09XzB4Mzc5NzY1JiYoXzB4Mzc5NzY1PV8weDM2OTUwOSgnMHg0ZTAnKSksbnVsbCE9XzB4NTZkOWFmW18weDM3OTc2NV0pcmV0dXJuO2NvbnN0IF8weGJkNTBkMz1fMHg1NmQ5YWZbXzB4MTIyMjQwXTtfMHhiZDUwZDMgaW5zdGFuY2VvZiBFcnJvcj9PYmplY3RbXzB4MzY5NTA5KCcweDJiNCcpXShfMHg1NmQ5YWYsXzB4Mzc5NzY1LHsnZW51bWVyYWJsZSc6ITB4MCwnZ2V0JzooKT0+e3Rocm93IF8weGJkNTBkMzt9fSk6XzB4NTZkOWFmW18weDM3OTc2NV09XzB4YmQ1MGQzO30pO2ZvcihsZXQgXzB4NWFiNDU3PTB4MDtfMHg1YWI0NTc8XzB4NTZkOWFmWydsZW5ndGgnXTtfMHg1YWI0NTcrKyl7Y29uc3QgXzB4MjZmZGNjPV8weDU2ZDlhZltfMHg1YWI0NTddO18weDI2ZmRjYyBpbnN0YW5jZW9mIEVycm9yJiZPYmplY3RbXzB4MWMzYzhlKCcweDJiNCcpXShfMHg1NmQ5YWYsXzB4NWFiNDU3LHsnZW51bWVyYWJsZSc6ITB4MCwnZ2V0JzooKT0+e3Rocm93IF8weDI2ZmRjYzt9fSk7fXJldHVybiBPYmplY3RbXzB4MWMzYzhlKCcweDFmYScpXShfMHg1NmQ5YWYpO31jbGFzcyBfMHg1YTczMDEgZXh0ZW5kcyBfMHgyZDU5M2FbJ1hJJ117Y29uc3RydWN0b3IoXzB4NGExNDIwLF8weGU0NjRmYyxfMHgyMWQzZTApe3ZhciBfMHg0OGRlMTM9XzB4MmMzMGM2O3N1cGVyKF8weDQ4ZGUxMygnMHg2NjcnKSxfMHg0YTE0MjBbJ3R5cGUnXSsnWycrKF8weGU0NjRmYz49MHgwP18weGU0NjRmYzonJykrJ10nLF8weDIxZDNlMCwtMHgxPT09XzB4ZTQ2NGZjfHxfMHg0YTE0MjBbXzB4NDhkZTEzKCcweGM3NCcpXSksdGhpc1tfMHg0OGRlMTMoJzB4NzEwJyldPV8weDRhMTQyMCx0aGlzWydsZW5ndGgnXT1fMHhlNDY0ZmM7fVtfMHgyYzMwYzYoJzB4YmE2JyldKCl7dmFyIF8weDNlMzE3NT1fMHgyYzMwYzY7Y29uc3QgXzB4NTQ3YzI5PXRoaXNbXzB4M2UzMTc1KCcweDcxMCcpXVsnZGVmYXVsdFZhbHVlJ10oKSxfMHgyMTM2MmE9W107Zm9yKGxldCBfMHg0NmNjMGY9MHgwO18weDQ2Y2MwZjx0aGlzW18weDNlMzE3NSgnMHg1MjAnKV07XzB4NDZjYzBmKyspXzB4MjEzNjJhWydwdXNoJ10oXzB4NTQ3YzI5KTtyZXR1cm4gXzB4MjEzNjJhO31bXzB4MmMzMGM2KCcweGE1MScpXShfMHhiZTIyYmIsXzB4NDVmNmVkKXt2YXIgXzB4NTQxNGYzPV8weDJjMzBjNjtBcnJheVtfMHg1NDE0ZjMoJzB4OGYxJyldKF8weDQ1ZjZlZCl8fHRoaXNbXzB4NTQxNGYzKCcweDcyMCcpXShfMHg1NDE0ZjMoJzB4NmZhJyksXzB4NDVmNmVkKTtsZXQgXzB4MWE5MDY5PXRoaXNbXzB4NTQxNGYzKCcweDUyMCcpXTstMHgxPT09XzB4MWE5MDY5JiYoXzB4MWE5MDY5PV8weDQ1ZjZlZFtfMHg1NDE0ZjMoJzB4NTIwJyldLF8weGJlMjJiYltfMHg1NDE0ZjMoJzB4MmY5JyldKF8weDQ1ZjZlZFsnbGVuZ3RoJ10pKSxfMHgzYWFjNzlbJ2NoZWNrQXJndW1lbnRDb3VudCddKF8weDQ1ZjZlZFtfMHg1NDE0ZjMoJzB4NTIwJyldLF8weDFhOTA2OSxfMHg1NDE0ZjMoJzB4OWMwJykrKHRoaXNbJ2xvY2FsTmFtZSddPydceDIwJyt0aGlzW18weDU0MTRmMygnMHgyODUnKV06JycpKTtsZXQgXzB4NGQ5M2Q5PVtdO2ZvcihsZXQgXzB4MTIyYzkyPTB4MDtfMHgxMjJjOTI8XzB4NDVmNmVkW18weDU0MTRmMygnMHg1MjAnKV07XzB4MTIyYzkyKyspXzB4NGQ5M2Q5W18weDU0MTRmMygnMHg4YjcnKV0odGhpc1tfMHg1NDE0ZjMoJzB4NzEwJyldKTtyZXR1cm4gXzB4MTI1MDc2KF8weGJlMjJiYixfMHg0ZDkzZDksXzB4NDVmNmVkKTt9W18weDJjMzBjNignMHg1OGYnKV0oXzB4NTllODQ4KXt2YXIgXzB4NWQ3ZjcxPV8weDJjMzBjNjtsZXQgXzB4MTA1OTI0PXRoaXNbXzB4NWQ3ZjcxKCcweDUyMCcpXTstMHgxPT09XzB4MTA1OTI0JiYoXzB4MTA1OTI0PV8weDU5ZTg0OFtfMHg1ZDdmNzEoJzB4MjMyJyldKClbXzB4NWQ3ZjcxKCcweDk0MScpXSgpLDB4MjAqXzB4MTA1OTI0Pl8weDU5ZTg0OFtfMHg1ZDdmNzEoJzB4YTU5JyldW18weDVkN2Y3MSgnMHg1MjAnKV0mJl8weDNhYWM3OVsndGhyb3dFcnJvciddKF8weDVkN2Y3MSgnMHg3ODcnKSxfMHhiMGRmODBbXzB4NWQ3ZjcxKCcweGNlNycpXVtfMHg1ZDdmNzEoJzB4OTQ5JyldW18weDVkN2Y3MSgnMHg5OWMnKV0seydsZW5ndGgnOl8weDU5ZTg0OFsnX2RhdGEnXVtfMHg1ZDdmNzEoJzB4NTIwJyldLCdjb3VudCc6XzB4MTA1OTI0fSkpO2xldCBfMHg0NWVjODc9W107Zm9yKGxldCBfMHgzNWQ5ZDI9MHgwO18weDM1ZDlkMjxfMHgxMDU5MjQ7XzB4MzVkOWQyKyspXzB4NDVlYzg3W18weDVkN2Y3MSgnMHg4YjcnKV0obmV3IF8weDE5MDNiZih0aGlzW18weDVkN2Y3MSgnMHg3MTAnKV0pKTtyZXR1cm4gXzB4NTllODQ4Wydjb2VyY2UnXSh0aGlzWyduYW1lJ10sXzB4MmUwZjJlKF8weDU5ZTg0OCxfMHg0NWVjODcpKTt9fWNsYXNzIF8weDU0M2MwYSBleHRlbmRzIF8weDJkNTkzYVsnWEknXXtjb25zdHJ1Y3RvcihfMHg0NWIxZTcpe3ZhciBfMHg0OGI1NDA9XzB4MmMzMGM2O3N1cGVyKF8weDQ4YjU0MCgnMHhkMDUnKSxfMHg0OGI1NDAoJzB4ZDA1JyksXzB4NDViMWU3LCEweDEpO31bJ2RlZmF1bHRWYWx1ZSddKCl7cmV0dXJuITB4MTt9WydlbmNvZGUnXShfMHg3NDljNjYsXzB4M2RhMWUwKXt2YXIgXzB4OGM2OGVmPV8weDJjMzBjNjtyZXR1cm4gXzB4NzQ5YzY2W18weDhjNjhlZignMHgyZjknKV0oXzB4M2RhMWUwPzB4MToweDApO31bXzB4MmMzMGM2KCcweDU4ZicpXShfMHg1NDUxOGUpe3ZhciBfMHg1ZjQ2MDU9XzB4MmMzMGM2O3JldHVybiBfMHg1NDUxOGVbXzB4NWY0NjA1KCcweDY1MycpXSh0aGlzW18weDVmNDYwNSgnMHg1N2MnKV0sIV8weDU0NTE4ZVtfMHg1ZjQ2MDUoJzB4MjMyJyldKClbXzB4NWY0NjA1KCcweGE0NycpXSgpKTt9fWNsYXNzIF8weDJlYWQ3NyBleHRlbmRzIF8weDJkNTkzYVsnWEknXXtjb25zdHJ1Y3RvcihfMHg0Njg1ZjcsXzB4MTE0N2MyKXtzdXBlcihfMHg0Njg1ZjcsXzB4NDY4NWY3LF8weDExNDdjMiwhMHgwKTt9W18weDJjMzBjNignMHhiYTYnKV0oKXtyZXR1cm4nMHgnO31bJ2VuY29kZSddKF8weDRhMjlhOCxfMHgyZWNkMzApe3ZhciBfMHgzM2I0MjU9XzB4MmMzMGM2O18weDJlY2QzMD0oMHgwLF8weDNkMmNlMltfMHgzM2I0MjUoJzB4ZDA2JyldKShfMHgyZWNkMzApO2xldCBfMHgzZjJlMDA9XzB4NGEyOWE4W18weDMzYjQyNSgnMHgyZjknKV0oXzB4MmVjZDMwW18weDMzYjQyNSgnMHg1MjAnKV0pO3JldHVybiBfMHgzZjJlMDArPV8weDRhMjlhOFsnd3JpdGVCeXRlcyddKF8weDJlY2QzMCksXzB4M2YyZTAwO31bXzB4MmMzMGM2KCcweDU4ZicpXShfMHgxNjdiYmIpe3ZhciBfMHg0MWRkNzg9XzB4MmMzMGM2O3JldHVybiBfMHgxNjdiYmJbXzB4NDFkZDc4KCcweDRmYScpXShfMHgxNjdiYmJbJ3JlYWRWYWx1ZSddKClbXzB4NDFkZDc4KCcweDk0MScpXSgpLCEweDApO319Y2xhc3MgXzB4NDM5MjQ3IGV4dGVuZHMgXzB4MmVhZDc3e2NvbnN0cnVjdG9yKF8weDRkYzQxNCl7dmFyIF8weDkyNGExNT1fMHgyYzMwYzY7c3VwZXIoXzB4OTI0YTE1KCcweDUyYScpLF8weDRkYzQxNCk7fVtfMHgyYzMwYzYoJzB4NThmJyldKF8weDU1YzU4OSl7dmFyIF8weDE3MGQzYT1fMHgyYzMwYzY7cmV0dXJuIF8weDU1YzU4OVtfMHgxNzBkM2EoJzB4NjUzJyldKHRoaXNbXzB4MTcwZDNhKCcweGJjNycpXSwoMHgwLF8weDNkMmNlMlsnaGV4bGlmeSddKShzdXBlcltfMHgxNzBkM2EoJzB4NThmJyldKF8weDU1YzU4OSkpKTt9fWNsYXNzIF8weDIxMjE4MiBleHRlbmRzIF8weDJkNTkzYVsnWEknXXtjb25zdHJ1Y3RvcihfMHgxNjdjM2EsXzB4MjAyNmMzKXt2YXIgXzB4NWIwMjhmPV8weDJjMzBjNjtsZXQgXzB4MTY5YTA4PV8weDViMDI4ZignMHg1MmEnKStTdHJpbmcoXzB4MTY3YzNhKTtzdXBlcihfMHgxNjlhMDgsXzB4MTY5YTA4LF8weDIwMjZjMywhMHgxKSx0aGlzW18weDViMDI4ZignMHg5NmInKV09XzB4MTY3YzNhO31bXzB4MmMzMGM2KCcweGJhNicpXSgpe3ZhciBfMHgyNzMyNDQ9XzB4MmMzMGM2O3JldHVybiBfMHgyNzMyNDQoJzB4MmI4JylbXzB4MjczMjQ0KCcweDczZCcpXSgweDAsMHgyKzB4Mip0aGlzW18weDI3MzI0NCgnMHg5NmInKV0pO31bXzB4MmMzMGM2KCcweGE1MScpXShfMHg5MTM4YzMsXzB4MTczMmI2KXt2YXIgXzB4MjY3YWY5PV8weDJjMzBjNjtsZXQgXzB4MjRlMDIxPSgweDAsXzB4M2QyY2UyW18weDI2N2FmOSgnMHhkMDYnKV0pKF8weDE3MzJiNik7cmV0dXJuIF8weDI0ZTAyMVtfMHgyNjdhZjkoJzB4NTIwJyldIT09dGhpc1tfMHgyNjdhZjkoJzB4OTZiJyldJiZ0aGlzW18weDI2N2FmOSgnMHg3MjAnKV0oXzB4MjY3YWY5KCcweDcwYycpLF8weDE3MzJiNiksXzB4OTEzOGMzW18weDI2N2FmOSgnMHhiNjknKV0oXzB4MjRlMDIxKTt9W18weDJjMzBjNignMHg1OGYnKV0oXzB4Mzk1YzgzKXt2YXIgXzB4NGQwYmRjPV8weDJjMzBjNjtyZXR1cm4gXzB4Mzk1YzgzWydjb2VyY2UnXSh0aGlzW18weDRkMGJkYygnMHhiYzcnKV0sKDB4MCxfMHgzZDJjZTJbXzB4NGQwYmRjKCcweDM1NicpXSkoXzB4Mzk1YzgzW18weDRkMGJkYygnMHg0ZmEnKV0odGhpc1tfMHg0ZDBiZGMoJzB4OTZiJyldKSkpO319Y2xhc3MgXzB4NGIxMGI3IGV4dGVuZHMgXzB4MmQ1OTNhWydYSSdde2NvbnN0cnVjdG9yKF8weDQyMGI0Nil7dmFyIF8weDhiMWEyYz1fMHgyYzMwYzY7c3VwZXIoXzB4OGIxYTJjKCcweDNjYScpLCcnLF8weDQyMGI0NiwhMHgxKTt9W18weDJjMzBjNignMHhiYTYnKV0oKXtyZXR1cm4gbnVsbDt9W18weDJjMzBjNignMHhhNTEnKV0oXzB4MmQ5MjcyLF8weDRlZGM0Yil7dmFyIF8weDRiOTk2YT1fMHgyYzMwYzY7cmV0dXJuIG51bGwhPV8weDRlZGM0YiYmdGhpc1tfMHg0Yjk5NmEoJzB4NzIwJyldKF8weDRiOTk2YSgnMHhiZGEnKSxfMHg0ZWRjNGIpLF8weDJkOTI3MltfMHg0Yjk5NmEoJzB4YjY5JyldKFtdKTt9WydkZWNvZGUnXShfMHg0Mjg3NTUpe3ZhciBfMHgxOWRkMWM9XzB4MmMzMGM2O3JldHVybiBfMHg0Mjg3NTVbJ3JlYWRCeXRlcyddKDB4MCksXzB4NDI4NzU1Wydjb2VyY2UnXSh0aGlzW18weDE5ZGQxYygnMHhiYzcnKV0sbnVsbCk7fX12YXIgXzB4NTZkNmYyPV8weDVmYzAzZigweGEyMSksXzB4NTYwNGM2PV8weDVmYzAzZigweDQxNik7Y2xhc3MgXzB4NDRiZDlmIGV4dGVuZHMgXzB4MmQ1OTNhWydYSSdde2NvbnN0cnVjdG9yKF8weDM5NmU5ZCxfMHgzOWUzMTQsXzB4Mzg2NTZmKXt2YXIgXzB4NTU5ZWQ5PV8weDJjMzBjNjtjb25zdCBfMHgyNmM3OWQ9KF8weDM5ZTMxND8naW50JzpfMHg1NTllZDkoJzB4YTgwJykpKzB4OCpfMHgzOTZlOWQ7c3VwZXIoXzB4MjZjNzlkLF8weDI2Yzc5ZCxfMHgzODY1NmYsITB4MSksdGhpc1tfMHg1NTllZDkoJzB4OTZiJyldPV8weDM5NmU5ZCx0aGlzWydzaWduZWQnXT1fMHgzOWUzMTQ7fVtfMHgyYzMwYzYoJzB4YmE2JyldKCl7cmV0dXJuIDB4MDt9W18weDJjMzBjNignMHhhNTEnKV0oXzB4ZDExMzY2LF8weDRmYjNiZil7dmFyIF8weDRmMjEwMT1fMHgyYzMwYzY7bGV0IF8weDI1NWVkNT1fMHg1NmQ2ZjJbJ08kJ11bXzB4NGYyMTAxKCcweDI1MicpXShfMHg0ZmIzYmYpLF8weDUzM2Y0Zj1fMHg1NjA0YzZbJ0J6J11bJ21hc2snXSgweDgqXzB4ZDExMzY2Wyd3b3JkU2l6ZSddKTtpZih0aGlzWydzaWduZWQnXSl7bGV0IF8weDJhNjk4ZT1fMHg1MzNmNGZbXzB4NGYyMTAxKCcweDc0MycpXSgweDgqdGhpc1snc2l6ZSddLTB4MSk7KF8weDI1NWVkNVsnZ3QnXShfMHgyYTY5OGUpfHxfMHgyNTVlZDVbJ2x0J10oXzB4MmE2OThlW18weDRmMjEwMSgnMHhiYTEnKV0oXzB4NTYwNGM2WydmaCddKVtfMHg0ZjIxMDEoJzB4YzIzJyldKF8weDU2MDRjNlsndEwnXSkpKSYmdGhpc1tfMHg0ZjIxMDEoJzB4NzIwJyldKF8weDRmMjEwMSgnMHhiNmQnKSxfMHg0ZmIzYmYpO31lbHNlKF8weDI1NWVkNVsnbHQnXShfMHg1NjA0YzZbJ19ZJ10pfHxfMHgyNTVlZDVbJ2d0J10oXzB4NTMzZjRmWydtYXNrJ10oMHg4KnRoaXNbXzB4NGYyMTAxKCcweDk2YicpXSkpKSYmdGhpc1tfMHg0ZjIxMDEoJzB4NzIwJyldKF8weDRmMjEwMSgnMHhiNmQnKSxfMHg0ZmIzYmYpO3JldHVybiBfMHgyNTVlZDU9XzB4MjU1ZWQ1W18weDRmMjEwMSgnMHg5MDEnKV0oMHg4KnRoaXNbXzB4NGYyMTAxKCcweDk2YicpXSlbXzB4NGYyMTAxKCcweDc0MycpXSgweDgqdGhpc1tfMHg0ZjIxMDEoJzB4OTZiJyldKSx0aGlzWydzaWduZWQnXSYmKF8weDI1NWVkNT1fMHgyNTVlZDVbXzB4NGYyMTAxKCcweGFiYicpXSgweDgqdGhpc1tfMHg0ZjIxMDEoJzB4OTZiJyldKVtfMHg0ZjIxMDEoJzB4OTAxJyldKDB4OCpfMHhkMTEzNjZbJ3dvcmRTaXplJ10pKSxfMHhkMTEzNjZbXzB4NGYyMTAxKCcweDJmOScpXShfMHgyNTVlZDUpO31bXzB4MmMzMGM2KCcweDU4ZicpXShfMHgxMmUyYjUpe3ZhciBfMHgzMDYwMzA9XzB4MmMzMGM2O2xldCBfMHgzYzQyNzM9XzB4MTJlMmI1W18weDMwNjAzMCgnMHgyMzInKV0oKVtfMHgzMDYwMzAoJzB4NzQzJyldKDB4OCp0aGlzWydzaXplJ10pO3JldHVybiB0aGlzW18weDMwNjAzMCgnMHg4ZmUnKV0mJihfMHgzYzQyNzM9XzB4M2M0MjczW18weDMwNjAzMCgnMHhhYmInKV0oMHg4KnRoaXNbXzB4MzA2MDMwKCcweDk2YicpXSkpLF8weDEyZTJiNVtfMHgzMDYwMzAoJzB4NjUzJyldKHRoaXNbJ25hbWUnXSxfMHgzYzQyNzMpO319dmFyIF8weDU4MGZmNj1fMHg1ZmMwM2YoMHgxMDkyKTtjbGFzcyBfMHgxNzE0OTggZXh0ZW5kcyBfMHgyZWFkNzd7Y29uc3RydWN0b3IoXzB4MWM2Zjg1KXt2YXIgXzB4NDVkMzVkPV8weDJjMzBjNjtzdXBlcihfMHg0NWQzNWQoJzB4NjVmJyksXzB4MWM2Zjg1KTt9W18weDJjMzBjNignMHhiYTYnKV0oKXtyZXR1cm4nJzt9WydlbmNvZGUnXShfMHgzOTZhZGMsXzB4M2JiMTFmKXt2YXIgXzB4MzgxNDFlPV8weDJjMzBjNjtyZXR1cm4gc3VwZXJbXzB4MzgxNDFlKCcweGE1MScpXShfMHgzOTZhZGMsKDB4MCxfMHg1ODBmZjZbJ1kwJ10pKF8weDNiYjExZikpO31bXzB4MmMzMGM2KCcweDU4ZicpXShfMHg0MDNiOTcpe3ZhciBfMHgzODdhN2Q9XzB4MmMzMGM2O3JldHVybigweDAsXzB4NTgwZmY2WydaTiddKShzdXBlcltfMHgzODdhN2QoJzB4NThmJyldKF8weDQwM2I5NykpO319Y2xhc3MgXzB4MzU1ZmY5IGV4dGVuZHMgXzB4MmQ1OTNhWydYSSdde2NvbnN0cnVjdG9yKF8weDNkN2RkOSxfMHgxZWMwYTcpe3ZhciBfMHgzMjk3MDA9XzB4MmMzMGM2O2xldCBfMHgzOTY1YzI9ITB4MTtjb25zdCBfMHg0MWVlOWI9W107XzB4M2Q3ZGQ5Wydmb3JFYWNoJ10oXzB4MmU2MzI4PT57dmFyIF8weDIzN2Q1OD1fMHgxNWEzO18weDJlNjMyOFtfMHgyMzdkNTgoJzB4Yzc0JyldJiYoXzB4Mzk2NWMyPSEweDApLF8weDQxZWU5YltfMHgyMzdkNTgoJzB4OGI3JyldKF8weDJlNjMyOFtfMHgyMzdkNTgoJzB4NTdjJyldKTt9KSxzdXBlcigndHVwbGUnLF8weDMyOTcwMCgnMHhhMjUnKStfMHg0MWVlOWJbXzB4MzI5NzAwKCcweGFhNycpXSgnLCcpKycpJyxfMHgxZWMwYTcsXzB4Mzk2NWMyKSx0aGlzW18weDMyOTcwMCgnMHg2YzMnKV09XzB4M2Q3ZGQ5O31bXzB4MmMzMGM2KCcweGJhNicpXSgpe3ZhciBfMHgyZWVmODk9XzB4MmMzMGM2O2NvbnN0IF8weDU3OWYxMT1bXTt0aGlzW18weDJlZWY4OSgnMHg2YzMnKV1bXzB4MmVlZjg5KCcweDUxZScpXShfMHgzODUyZDg9Pnt2YXIgXzB4MTBhZmNiPV8weDJlZWY4OTtfMHg1NzlmMTFbXzB4MTBhZmNiKCcweDhiNycpXShfMHgzODUyZDhbXzB4MTBhZmNiKCcweGJhNicpXSgpKTt9KTtjb25zdCBfMHg0Y2YyNWM9dGhpc1snY29kZXJzJ11bXzB4MmVlZjg5KCcweDgxOCcpXSgoXzB4NGE5NDk0LF8weDJiZDRhZik9Pnt2YXIgXzB4MWVhYWQ1PV8weDJlZWY4OTtjb25zdCBfMHg1NDE5Yzc9XzB4MmJkNGFmW18weDFlYWFkNSgnMHgyODUnKV07cmV0dXJuIF8weDU0MTljNyYmKF8weDRhOTQ5NFtfMHg1NDE5YzddfHwoXzB4NGE5NDk0W18weDU0MTljN109MHgwKSxfMHg0YTk0OTRbXzB4NTQxOWM3XSsrKSxfMHg0YTk0OTQ7fSx7fSk7cmV0dXJuIHRoaXNbJ2NvZGVycyddW18weDJlZWY4OSgnMHg1MWUnKV0oKF8weDUyNTE0ZCxfMHgzZGQxNWMpPT57dmFyIF8weGFhYTNkYj1fMHgyZWVmODk7bGV0IF8weDQ0NjcyOD1fMHg1MjUxNGRbXzB4YWFhM2RiKCcweDI4NScpXTtfMHg0NDY3MjgmJjB4MT09PV8weDRjZjI1Y1tfMHg0NDY3MjhdJiYoXzB4YWFhM2RiKCcweDUyMCcpPT09XzB4NDQ2NzI4JiYoXzB4NDQ2NzI4PV8weGFhYTNkYignMHg0ZTAnKSksbnVsbD09XzB4NTc5ZjExW18weDQ0NjcyOF0mJihfMHg1NzlmMTFbXzB4NDQ2NzI4XT1fMHg1NzlmMTFbXzB4M2RkMTVjXSkpO30pLE9iamVjdFtfMHgyZWVmODkoJzB4MWZhJyldKF8weDU3OWYxMSk7fVtfMHgyYzMwYzYoJzB4YTUxJyldKF8weDJkMjczOCxfMHgxYjNhMzQpe3ZhciBfMHgzYTUzZmM9XzB4MmMzMGM2O3JldHVybiBfMHgxMjUwNzYoXzB4MmQyNzM4LHRoaXNbXzB4M2E1M2ZjKCcweDZjMycpXSxfMHgxYjNhMzQpO31bXzB4MmMzMGM2KCcweDU4ZicpXShfMHgzM2QwMWEpe3ZhciBfMHg5MzdkZGU9XzB4MmMzMGM2O3JldHVybiBfMHgzM2QwMWFbXzB4OTM3ZGRlKCcweDY1MycpXSh0aGlzW18weDkzN2RkZSgnMHhiYzcnKV0sXzB4MmUwZjJlKF8weDMzZDAxYSx0aGlzW18weDkzN2RkZSgnMHg2YzMnKV0pKTt9fXZhciBfMHg0NjZjNGY9XzB4NWZjMDNmKDB4NTZjKTtjb25zdCBfMHgzNmQyZDY9bmV3IF8weGIwZGY4MFsnTG9nZ2VyJ10oXzB4MjUwYTZhWydpJ10pLF8weDhhYjhiYz1uZXcgUmVnRXhwKC9eYnl0ZXMoWzAtOV0qKSQvKSxfMHgyZGEwODc9bmV3IFJlZ0V4cCgvXih1P2ludCkoWzAtOV0qKSQvKTtjbGFzcyBfMHgxNzgyNjJ7Y29uc3RydWN0b3IoXzB4NTBjNzc3KXt2YXIgXzB4MTQ2MWI3PV8weDJjMzBjNjsoMHgwLF8weDJlZTlhZVtfMHgxNDYxYjcoJzB4Y2U5JyldKSh0aGlzLCdjb2VyY2VGdW5jJyxfMHg1MGM3Nzd8fG51bGwpO31bXzB4MmMzMGM2KCcweDMyNicpXShfMHgxMGRkYjUpe3ZhciBfMHg0NGEyNjg9XzB4MmMzMGM2O3N3aXRjaChfMHgxMGRkYjVbJ2Jhc2VUeXBlJ10pe2Nhc2UnYWRkcmVzcyc6cmV0dXJuIG5ldyBfMHhmYTQ5ZjQoXzB4MTBkZGI1W18weDQ0YTI2OCgnMHhiYzcnKV0pO2Nhc2UnYm9vbCc6cmV0dXJuIG5ldyBfMHg1NDNjMGEoXzB4MTBkZGI1W18weDQ0YTI2OCgnMHhiYzcnKV0pO2Nhc2UgXzB4NDRhMjY4KCcweDY1ZicpOnJldHVybiBuZXcgXzB4MTcxNDk4KF8weDEwZGRiNVtfMHg0NGEyNjgoJzB4YmM3JyldKTtjYXNlIF8weDQ0YTI2OCgnMHg1MmEnKTpyZXR1cm4gbmV3IF8weDQzOTI0NyhfMHgxMGRkYjVbXzB4NDRhMjY4KCcweGJjNycpXSk7Y2FzZSBfMHg0NGEyNjgoJzB4NjY3Jyk6cmV0dXJuIG5ldyBfMHg1YTczMDEodGhpc1tfMHg0NGEyNjgoJzB4MzI2JyldKF8weDEwZGRiNVsnYXJyYXlDaGlsZHJlbiddKSxfMHgxMGRkYjVbXzB4NDRhMjY4KCcweGM4ZicpXSxfMHgxMGRkYjVbXzB4NDRhMjY4KCcweGJjNycpXSk7Y2FzZSd0dXBsZSc6cmV0dXJuIG5ldyBfMHgzNTVmZjkoKF8weDEwZGRiNVsnY29tcG9uZW50cyddfHxbXSlbJ21hcCddKF8weDIyOThlYj0+dGhpc1tfMHg0NGEyNjgoJzB4MzI2JyldKF8weDIyOThlYikpLF8weDEwZGRiNVtfMHg0NGEyNjgoJzB4YmM3JyldKTtjYXNlJyc6cmV0dXJuIG5ldyBfMHg0YjEwYjcoXzB4MTBkZGI1W18weDQ0YTI2OCgnMHhiYzcnKV0pO31sZXQgXzB4NGU5ZTc1PV8weDEwZGRiNVsndHlwZSddW18weDQ0YTI2OCgnMHg0MjUnKV0oXzB4MmRhMDg3KTtpZihfMHg0ZTllNzUpe2xldCBfMHgzZmE1NzM9cGFyc2VJbnQoXzB4NGU5ZTc1WzB4Ml18fF8weDQ0YTI2OCgnMHhiNTEnKSk7cmV0dXJuKDB4MD09PV8weDNmYTU3M3x8XzB4M2ZhNTczPjB4MTAwfHxfMHgzZmE1NzMlMHg4IT0weDApJiZfMHgzNmQyZDZbXzB4NDRhMjY4KCcweDYzNScpXSgnaW52YWxpZFx4MjAnK18weDRlOWU3NVsweDFdK18weDQ0YTI2OCgnMHhjYTQnKSxfMHg0NGEyNjgoJzB4MmVmJyksXzB4MTBkZGI1KSxuZXcgXzB4NDRiZDlmKF8weDNmYTU3My8weDgsXzB4NDRhMjY4KCcweGIzMScpPT09XzB4NGU5ZTc1WzB4MV0sXzB4MTBkZGI1WyduYW1lJ10pO31pZihfMHg0ZTllNzU9XzB4MTBkZGI1Wyd0eXBlJ11bJ21hdGNoJ10oXzB4OGFiOGJjKSxfMHg0ZTllNzUpe2xldCBfMHg0MjBhY2U9cGFyc2VJbnQoXzB4NGU5ZTc1WzB4MV0pO3JldHVybigweDA9PT1fMHg0MjBhY2V8fF8weDQyMGFjZT4weDIwKSYmXzB4MzZkMmQ2W18weDQ0YTI2OCgnMHg2MzUnKV0oXzB4NDRhMjY4KCcweGNhMCcpLF8weDQ0YTI2OCgnMHgyZWYnKSxfMHgxMGRkYjUpLG5ldyBfMHgyMTIxODIoXzB4NDIwYWNlLF8weDEwZGRiNVtfMHg0NGEyNjgoJzB4YmM3JyldKTt9cmV0dXJuIF8weDM2ZDJkNltfMHg0NGEyNjgoJzB4NjM1JyldKCdpbnZhbGlkXHgyMHR5cGUnLF8weDQ0YTI2OCgnMHg1N2MnKSxfMHgxMGRkYjVbXzB4NDRhMjY4KCcweDU3YycpXSk7fVtfMHgyYzMwYzYoJzB4NTU2JyldKCl7cmV0dXJuIDB4MjA7fVtfMHgyYzMwYzYoJzB4ZDE5JyldKF8weDFhNDJiZCxfMHg1YzdmZjIpe3ZhciBfMHg5OWQyMjA9XzB4MmMzMGM2O3JldHVybiBuZXcgXzB4MmQ1OTNhWydFaiddKF8weDFhNDJiZCx0aGlzW18weDk5ZDIyMCgnMHg1NTYnKV0oKSx0aGlzW18weDk5ZDIyMCgnMHg2MzEnKV0sXzB4NWM3ZmYyKTt9W18weDJjMzBjNignMHhiYzEnKV0oKXt2YXIgXzB4MjVkMDI3PV8weDJjMzBjNjtyZXR1cm4gbmV3IF8weDJkNTkzYVsnUVYnXSh0aGlzW18weDI1ZDAyNygnMHg1NTYnKV0oKSk7fVtfMHgyYzMwYzYoJzB4OWNmJyldKF8weDNkZGMzNCl7dmFyIF8weDNjZTZmZj1fMHgyYzMwYzY7Y29uc3QgXzB4NGRjNjAxPV8weDNkZGMzNFsnbWFwJ10oXzB4NTdjOTRiPT50aGlzW18weDNjZTZmZignMHgzMjYnKV0oXzB4NDY2YzRmWydfUiddW18weDNjZTZmZignMHgyNTInKV0oXzB4NTdjOTRiKSkpO3JldHVybiBuZXcgXzB4MzU1ZmY5KF8weDRkYzYwMSwnXycpW18weDNjZTZmZignMHhiYTYnKV0oKTt9W18weDJjMzBjNignMHhhNTEnKV0oXzB4MWRjOGMzLF8weDYzZGU1Zil7dmFyIF8weDM1MmNhYj1fMHgyYzMwYzY7XzB4MWRjOGMzW18weDM1MmNhYignMHg1MjAnKV0hPT1fMHg2M2RlNWZbXzB4MzUyY2FiKCcweDUyMCcpXSYmXzB4MzZkMmQ2Wyd0aHJvd0Vycm9yJ10oXzB4MzUyY2FiKCcweDIxZScpLF8weGIwZGY4MFsnTG9nZ2VyJ11bJ2Vycm9ycyddW18weDM1MmNhYignMHhjOGInKV0seydjb3VudCc6eyd0eXBlcyc6XzB4MWRjOGMzW18weDM1MmNhYignMHg1MjAnKV0sJ3ZhbHVlcyc6XzB4NjNkZTVmW18weDM1MmNhYignMHg1MjAnKV19LCd2YWx1ZSc6eyd0eXBlcyc6XzB4MWRjOGMzLCd2YWx1ZXMnOl8weDYzZGU1Zn19KTtjb25zdCBfMHg0YWJjYzM9XzB4MWRjOGMzW18weDM1MmNhYignMHgzYzknKV0oXzB4MzZkODgyPT50aGlzW18weDM1MmNhYignMHgzMjYnKV0oXzB4NDY2YzRmWydfUiddW18weDM1MmNhYignMHgyNTInKV0oXzB4MzZkODgyKSkpLF8weDViNjRkMj1uZXcgXzB4MzU1ZmY5KF8weDRhYmNjMywnXycpLF8weDMyOWJhMz10aGlzW18weDM1MmNhYignMHhiYzEnKV0oKTtyZXR1cm4gXzB4NWI2NGQyW18weDM1MmNhYignMHhhNTEnKV0oXzB4MzI5YmEzLF8weDYzZGU1ZiksXzB4MzI5YmEzW18weDM1MmNhYignMHhhNTgnKV07fVsnZGVjb2RlJ10oXzB4MzBkNWZjLF8weDNlMmFlZixfMHgyOGEyOGEpe3ZhciBfMHgyM2YyMTI9XzB4MmMzMGM2O2NvbnN0IF8weDRiYTNmNT1fMHgzMGQ1ZmNbXzB4MjNmMjEyKCcweDNjOScpXShfMHgyNjhhZTk9PnRoaXNbJ19nZXRDb2RlciddKF8weDQ2NmM0ZlsnX1InXVtfMHgyM2YyMTIoJzB4MjUyJyldKF8weDI2OGFlOSkpKTtyZXR1cm4gbmV3IF8weDM1NWZmOShfMHg0YmEzZjUsJ18nKVtfMHgyM2YyMTIoJzB4NThmJyldKHRoaXNbXzB4MjNmMjEyKCcweGQxOScpXSgoMHgwLF8weDNkMmNlMltfMHgyM2YyMTIoJzB4ZDA2JyldKShfMHgzZTJhZWYpLF8weDI4YTI4YSkpO319Y29uc3QgXzB4MmM5NmFhPW5ldyBfMHgxNzgyNjIoKTt9LDB4NGEwOihfMHgxZDRkNWYsXzB4MWE1OWQzLF8weDNhZDlmMik9PnsndXNlIHN0cmljdCc7dmFyIF8weDQxZWYzND1fMHgxNWEzO18weDNhZDlmMlsnZCddKF8weDFhNTlkMyx7J0JSJzooKT0+XzB4M2Q1MTlhLCdFaic6KCk9Pl8weDQwZjI1NSwnUVYnOigpPT5fMHgxNmRiNWEsJ1hJJzooKT0+XzB4MTIxNDYzfSk7dmFyIF8weDEyNDFlYT1fMHgzYWQ5ZjIoMHhjZDYpLF8weDRjODhlMT1fMHgzYWQ5ZjIoMHhhMjEpLF8weDVmNDI1OT1fMHgzYWQ5ZjIoMHhlMDMpLF8weDUwNWU2Nj1fMHgzYWQ5ZjIoMHgyYzcpLF8weDExOWZhZD1fMHgzYWQ5ZjIoMHgxNmRiKTtjb25zdCBfMHg1YmFjM2Y9bmV3IF8weDUwNWU2NlsoXzB4NDFlZjM0KCcweGNlNycpKV0oXzB4MTE5ZmFkWydpJ10pO2Z1bmN0aW9uIF8weDNkNTE5YShfMHgxMDRkOTEpe2NvbnN0IF8weDMzZTlkMT1bXSxfMHg1MDZmN2E9ZnVuY3Rpb24oXzB4MTNhMGU3LF8weDViMjU0OCl7dmFyIF8weDI0N2NjMz1fMHgxNWEzO2lmKEFycmF5W18weDI0N2NjMygnMHg4ZjEnKV0oXzB4NWIyNTQ4KSlmb3IobGV0IF8weDFlNDY5MiBpbiBfMHg1YjI1NDgpe2NvbnN0IF8weDI3ZmQyZD1fMHgxM2EwZTdbXzB4MjQ3Y2MzKCcweGFkYScpXSgpO18weDI3ZmQyZFtfMHgyNDdjYzMoJzB4OGI3JyldKF8weDFlNDY5Mik7dHJ5e18weDUwNmY3YShfMHgyN2ZkMmQsXzB4NWIyNTQ4W18weDFlNDY5Ml0pO31jYXRjaChfMHgxZDE0MTgpe18weDMzZTlkMVsncHVzaCddKHsncGF0aCc6XzB4MjdmZDJkLCdlcnJvcic6XzB4MWQxNDE4fSk7fX19O3JldHVybiBfMHg1MDZmN2EoW10sXzB4MTA0ZDkxKSxfMHgzM2U5ZDE7fWNsYXNzIF8weDEyMTQ2M3tjb25zdHJ1Y3RvcihfMHhkNTA5YmUsXzB4NWQxZTAyLF8weDU3OGM1MyxfMHgzMTVhYWMpe3ZhciBfMHgxOTNlN2M9XzB4NDFlZjM0O3RoaXNbXzB4MTkzZTdjKCcweGJjNycpXT1fMHhkNTA5YmUsdGhpc1tfMHgxOTNlN2MoJzB4NTdjJyldPV8weDVkMWUwMix0aGlzW18weDE5M2U3YygnMHgyODUnKV09XzB4NTc4YzUzLHRoaXNbXzB4MTkzZTdjKCcweGM3NCcpXT1fMHgzMTVhYWM7fVtfMHg0MWVmMzQoJzB4NzIwJyldKF8weDUzNDMxNyxfMHgzMzllZWMpe3ZhciBfMHg0M2UxNDI9XzB4NDFlZjM0O18weDViYWMzZltfMHg0M2UxNDIoJzB4NjM1JyldKF8weDUzNDMxNyx0aGlzWydsb2NhbE5hbWUnXSxfMHgzMzllZWMpO319Y2xhc3MgXzB4MTZkYjVhe2NvbnN0cnVjdG9yKF8weDExYThjYSl7dmFyIF8weDNlMWNjZD1fMHg0MWVmMzQ7KDB4MCxfMHg1ZjQyNTlbXzB4M2UxY2NkKCcweGNlOScpXSkodGhpcyxfMHgzZTFjY2QoJzB4NTQxJyksXzB4MTFhOGNhfHwweDIwKSx0aGlzW18weDNlMWNjZCgnMHhhNTknKV09W10sdGhpc1tfMHgzZTFjY2QoJzB4NTBhJyldPTB4MCx0aGlzWydfcGFkZGluZyddPW5ldyBVaW50OEFycmF5KF8weDExYThjYSk7fWdldFtfMHg0MWVmMzQoJzB4YTU4JyldKCl7dmFyIF8weDEzMWE1ND1fMHg0MWVmMzQ7cmV0dXJuKDB4MCxfMHgxMjQxZWFbXzB4MTMxYTU0KCcweDdjZScpXSkodGhpc1tfMHgxMzFhNTQoJzB4YTU5JyldKTt9Z2V0WydsZW5ndGgnXSgpe3JldHVybiB0aGlzWydfZGF0YUxlbmd0aCddO31bXzB4NDFlZjM0KCcweDFmMScpXShfMHgxOWI5Yjgpe3ZhciBfMHgyNTI3YTU9XzB4NDFlZjM0O3JldHVybiB0aGlzW18weDI1MjdhNSgnMHhhNTknKV1bXzB4MjUyN2E1KCcweDhiNycpXShfMHgxOWI5YjgpLHRoaXNbXzB4MjUyN2E1KCcweDUwYScpXSs9XzB4MTliOWI4WydsZW5ndGgnXSxfMHgxOWI5YjhbXzB4MjUyN2E1KCcweDUyMCcpXTt9W18weDQxZWYzNCgnMHg0MGUnKV0oXzB4ZDJhYjY5KXt2YXIgXzB4NTQ2MDc3PV8weDQxZWYzNDtyZXR1cm4gdGhpc1tfMHg1NDYwNzcoJzB4MWYxJyldKCgweDAsXzB4MTI0MWVhWydjb25jYXQnXSkoXzB4ZDJhYjY5WydfZGF0YSddKSk7fVtfMHg0MWVmMzQoJzB4YjY5JyldKF8weDVlYjBjMil7dmFyIF8weDM2NzkwZD1fMHg0MWVmMzQ7bGV0IF8weDM1NjAwMD0oMHgwLF8weDEyNDFlYVtfMHgzNjc5MGQoJzB4ZDA2JyldKShfMHg1ZWIwYzIpO2NvbnN0IF8weDFhNDc1Yj1fMHgzNTYwMDBbXzB4MzY3OTBkKCcweDUyMCcpXSV0aGlzWyd3b3JkU2l6ZSddO3JldHVybiBfMHgxYTQ3NWImJihfMHgzNTYwMDA9KDB4MCxfMHgxMjQxZWFbXzB4MzY3OTBkKCcweDUzMCcpXSkoW18weDM1NjAwMCx0aGlzW18weDM2NzkwZCgnMHgyMTgnKV1bXzB4MzY3OTBkKCcweGFkYScpXShfMHgxYTQ3NWIpXSkpLHRoaXNbJ193cml0ZURhdGEnXShfMHgzNTYwMDApO31bJ19nZXRWYWx1ZSddKF8weGY0ZjljOSl7dmFyIF8weDE5MTliYz1fMHg0MWVmMzQ7bGV0IF8weDMwNmFhZT0oMHgwLF8weDEyNDFlYVtfMHgxOTE5YmMoJzB4ZDA2JyldKShfMHg0Yzg4ZTFbJ08kJ11bXzB4MTkxOWJjKCcweDI1MicpXShfMHhmNGY5YzkpKTtyZXR1cm4gXzB4MzA2YWFlW18weDE5MTliYygnMHg1MjAnKV0+dGhpc1tfMHgxOTE5YmMoJzB4NTQxJyldJiZfMHg1YmFjM2ZbXzB4MTkxOWJjKCcweDFkMCcpXShfMHgxOTE5YmMoJzB4YjZkJyksXzB4NTA1ZTY2W18weDE5MTliYygnMHhjZTcnKV1bXzB4MTkxOWJjKCcweDk0OScpXVsnQlVGRkVSX09WRVJSVU4nXSx7J2xlbmd0aCc6dGhpc1snd29yZFNpemUnXSwnb2Zmc2V0JzpfMHgzMDZhYWVbXzB4MTkxOWJjKCcweDUyMCcpXX0pLF8weDMwNmFhZVsnbGVuZ3RoJ10ldGhpc1snd29yZFNpemUnXSYmKF8weDMwNmFhZT0oMHgwLF8weDEyNDFlYVtfMHgxOTE5YmMoJzB4NTMwJyldKShbdGhpc1snX3BhZGRpbmcnXVtfMHgxOTE5YmMoJzB4YWRhJyldKF8weDMwNmFhZVtfMHgxOTE5YmMoJzB4NTIwJyldJXRoaXNbXzB4MTkxOWJjKCcweDU0MScpXSksXzB4MzA2YWFlXSkpLF8weDMwNmFhZTt9W18weDQxZWYzNCgnMHgyZjknKV0oXzB4NDU4OWE2KXt2YXIgXzB4M2FiNjI1PV8weDQxZWYzNDtyZXR1cm4gdGhpc1tfMHgzYWI2MjUoJzB4MWYxJyldKHRoaXNbXzB4M2FiNjI1KCcweGJjNCcpXShfMHg0NTg5YTYpKTt9W18weDQxZWYzNCgnMHgzMzgnKV0oKXt2YXIgXzB4MzE0MWZhPV8weDQxZWYzNDtjb25zdCBfMHhlZDMyOTE9dGhpc1tfMHgzMTQxZmEoJzB4YTU5JyldW18weDMxNDFmYSgnMHg1MjAnKV07cmV0dXJuIHRoaXNbXzB4MzE0MWZhKCcweGE1OScpXVtfMHgzMTQxZmEoJzB4OGI3JyldKHRoaXNbXzB4MzE0MWZhKCcweDIxOCcpXSksdGhpc1snX2RhdGFMZW5ndGgnXSs9dGhpc1tfMHgzMTQxZmEoJzB4NTQxJyldLF8weDJiMzMwZD0+e3ZhciBfMHgzMDA1MjQ9XzB4MzE0MWZhO3RoaXNbXzB4MzAwNTI0KCcweGE1OScpXVtfMHhlZDMyOTFdPXRoaXNbJ19nZXRWYWx1ZSddKF8weDJiMzMwZCk7fTt9fWNsYXNzIF8weDQwZjI1NXtjb25zdHJ1Y3RvcihfMHg0MWQ2ZjYsXzB4MjA3Yzg1LF8weDQ4MTUyYyxfMHhhM2UyNzkpe3ZhciBfMHg1OWMyNzE9XzB4NDFlZjM0OygweDAsXzB4NWY0MjU5W18weDU5YzI3MSgnMHhjZTknKV0pKHRoaXMsXzB4NTljMjcxKCcweGE1OScpLCgweDAsXzB4MTI0MWVhW18weDU5YzI3MSgnMHhkMDYnKV0pKF8weDQxZDZmNikpLCgweDAsXzB4NWY0MjU5W18weDU5YzI3MSgnMHhjZTknKV0pKHRoaXMsJ3dvcmRTaXplJyxfMHgyMDdjODV8fDB4MjApLCgweDAsXzB4NWY0MjU5WydkZWZpbmVSZWFkT25seSddKSh0aGlzLF8weDU5YzI3MSgnMHhjNzInKSxfMHg0ODE1MmMpLCgweDAsXzB4NWY0MjU5WydkZWZpbmVSZWFkT25seSddKSh0aGlzLCdhbGxvd0xvb3NlJyxfMHhhM2UyNzkpLHRoaXNbXzB4NTljMjcxKCcweDk1MycpXT0weDA7fWdldFtfMHg0MWVmMzQoJzB4YTU4JyldKCl7dmFyIF8weDFmMTMzNj1fMHg0MWVmMzQ7cmV0dXJuKDB4MCxfMHgxMjQxZWFbXzB4MWYxMzM2KCcweDM1NicpXSkodGhpc1tfMHgxZjEzMzYoJzB4YTU5JyldKTt9Z2V0Wydjb25zdW1lZCddKCl7cmV0dXJuIHRoaXNbJ19vZmZzZXQnXTt9c3RhdGljWydjb2VyY2UnXShfMHg1NDdiYzAsXzB4MTk2NmIxKXt2YXIgXzB4M2JlMDg3PV8weDQxZWYzNDtsZXQgXzB4NWIwMDY1PV8weDU0N2JjMFtfMHgzYmUwODcoJzB4NDI1JyldKF8weDNiZTA4NygnMHg0ZmInKSk7cmV0dXJuIF8weDViMDA2NSYmcGFyc2VJbnQoXzB4NWIwMDY1WzB4MV0pPD0weDMwJiYoXzB4MTk2NmIxPV8weDE5NjZiMVtfMHgzYmUwODcoJzB4OTQxJyldKCkpLF8weDE5NjZiMTt9Wydjb2VyY2UnXShfMHg1MWU1NTcsXzB4YmVjNTFmKXt2YXIgXzB4MWQ1YWUyPV8weDQxZWYzNDtyZXR1cm4gdGhpc1snX2NvZXJjZUZ1bmMnXT90aGlzW18weDFkNWFlMignMHhjNzInKV0oXzB4NTFlNTU3LF8weGJlYzUxZik6XzB4NDBmMjU1W18weDFkNWFlMignMHg2NTMnKV0oXzB4NTFlNTU3LF8weGJlYzUxZik7fVtfMHg0MWVmMzQoJzB4OWMzJyldKF8weDI2NjkwNSxfMHgzMWY4NjcsXzB4NDZiNzMzKXt2YXIgXzB4NTljZWRiPV8weDQxZWYzNDtsZXQgXzB4NTdhMjcxPU1hdGhbXzB4NTljZWRiKCcweDQ2NicpXShfMHgzMWY4NjcvdGhpc1tfMHg1OWNlZGIoJzB4NTQxJyldKSp0aGlzWyd3b3JkU2l6ZSddO3JldHVybiB0aGlzW18weDU5Y2VkYignMHg5NTMnKV0rXzB4NTdhMjcxPnRoaXNbXzB4NTljZWRiKCcweGE1OScpXVtfMHg1OWNlZGIoJzB4NTIwJyldJiYodGhpc1snYWxsb3dMb29zZSddJiZfMHg0NmI3MzMmJnRoaXNbXzB4NTljZWRiKCcweDk1MycpXStfMHgzMWY4Njc8PXRoaXNbXzB4NTljZWRiKCcweGE1OScpXVtfMHg1OWNlZGIoJzB4NTIwJyldP18weDU3YTI3MT1fMHgzMWY4Njc6XzB4NWJhYzNmW18weDU5Y2VkYignMHgxZDAnKV0oXzB4NTljZWRiKCcweGNjNicpLF8weDUwNWU2NltfMHg1OWNlZGIoJzB4Y2U3JyldW18weDU5Y2VkYignMHg5NDknKV1bXzB4NTljZWRiKCcweDk5YycpXSx7J2xlbmd0aCc6dGhpc1tfMHg1OWNlZGIoJzB4YTU5JyldW18weDU5Y2VkYignMHg1MjAnKV0sJ29mZnNldCc6dGhpc1tfMHg1OWNlZGIoJzB4OTUzJyldK18weDU3YTI3MX0pKSx0aGlzW18weDU5Y2VkYignMHhhNTknKV1bXzB4NTljZWRiKCcweGFkYScpXSh0aGlzW18weDU5Y2VkYignMHg5NTMnKV0sdGhpc1tfMHg1OWNlZGIoJzB4OTUzJyldK18weDU3YTI3MSk7fVtfMHg0MWVmMzQoJzB4NGI3JyldKF8weDIyOWFiNyl7dmFyIF8weDQ2MjQ2YT1fMHg0MWVmMzQ7cmV0dXJuIG5ldyBfMHg0MGYyNTUodGhpc1tfMHg0NjI0NmEoJzB4YTU5JyldW18weDQ2MjQ2YSgnMHhhZGEnKV0odGhpc1tfMHg0NjI0NmEoJzB4OTUzJyldK18weDIyOWFiNyksdGhpc1snd29yZFNpemUnXSx0aGlzW18weDQ2MjQ2YSgnMHhjNzInKV0sdGhpc1tfMHg0NjI0NmEoJzB4MjJmJyldKTt9W18weDQxZWYzNCgnMHg0ZmEnKV0oXzB4NWQ3NDFlLF8weDQyYTBhYil7dmFyIF8weDQ4YzY2YT1fMHg0MWVmMzQ7bGV0IF8weDI5MGEwNj10aGlzW18weDQ4YzY2YSgnMHg5YzMnKV0oMHgwLF8weDVkNzQxZSwhIV8weDQyYTBhYik7cmV0dXJuIHRoaXNbXzB4NDhjNjZhKCcweDk1MycpXSs9XzB4MjkwYTA2W18weDQ4YzY2YSgnMHg1MjAnKV0sXzB4MjkwYTA2WydzbGljZSddKDB4MCxfMHg1ZDc0MWUpO31bXzB4NDFlZjM0KCcweDIzMicpXSgpe3ZhciBfMHgxNDg3ZmQ9XzB4NDFlZjM0O3JldHVybiBfMHg0Yzg4ZTFbJ08kJ11bXzB4MTQ4N2ZkKCcweDI1MicpXSh0aGlzW18weDE0ODdmZCgnMHg0ZmEnKV0odGhpc1tfMHgxNDg3ZmQoJzB4NTQxJyldKSk7fX19LDB4NTZjOihfMHgyNjc0ZTAsXzB4NDc5NDYwLF8weDRjMWVlNik9PnsndXNlIHN0cmljdCc7dmFyIF8weDNhM2NjMj1fMHgxNWEzO18weDRjMWVlNlsnZCddKF8weDQ3OTQ2MCx7J0hZJzooKT0+XzB4MjVmMGZkLCdJQyc6KCk9Pl8weDE3MDVjMSwnUVYnOigpPT5fMHg0ZjgzNmQsJ1hnJzooKT0+XzB4NDE4MzU0LCdZVyc6KCk9Pl8weDIzZDFmZSwnX1InOigpPT5fMHgxMzNlMDAsJ3BjJzooKT0+XzB4NTdkOGU3fSk7dmFyIF8weDEzMThmYz1fMHg0YzFlZTYoMHhhMjEpLF8weDMxNGMxNj1fMHg0YzFlZTYoMHhlMDMpLF8weDUwM2UxNj1fMHg0YzFlZTYoMHgyYzcpLF8weDUzZTlhZD1fMHg0YzFlZTYoMHgxNmRiKTtjb25zdCBfMHgzZjVlMjI9bmV3IF8weDUwM2UxNlsnTG9nZ2VyJ10oXzB4NTNlOWFkWydpJ10pLF8weDI5ZjZhZj17fTtsZXQgXzB4MWNmMWE0PXsnY2FsbGRhdGEnOiEweDAsJ21lbW9yeSc6ITB4MCwnc3RvcmFnZSc6ITB4MH0sXzB4MzNhZTdjPXsnY2FsbGRhdGEnOiEweDAsJ21lbW9yeSc6ITB4MH07ZnVuY3Rpb24gXzB4MmJkZjI1KF8weDVlNTI2YSxfMHgyOWYyMTMpe3ZhciBfMHg1ZDRkOWI9XzB4MTVhMztpZihfMHg1ZDRkOWIoJzB4NTJhJyk9PT1fMHg1ZTUyNmF8fF8weDVkNGQ5YignMHg2NWYnKT09PV8weDVlNTI2YSl7aWYoXzB4MWNmMWE0W18weDI5ZjIxM10pcmV0dXJuITB4MDt9ZWxzZXtpZihfMHg1ZDRkOWIoJzB4MWQxJyk9PT1fMHg1ZTUyNmEpe2lmKCdwYXlhYmxlJz09PV8weDI5ZjIxMylyZXR1cm4hMHgwO31lbHNle2lmKChfMHg1ZTUyNmFbXzB4NWQ0ZDliKCcweGFjMCcpXSgnWycpPj0weDB8fF8weDVkNGQ5YignMHhiY2QnKT09PV8weDVlNTI2YSkmJl8weDMzYWU3Y1tfMHgyOWYyMTNdKXJldHVybiEweDA7fX1yZXR1cm4oXzB4MWNmMWE0W18weDI5ZjIxM118fF8weDVkNGQ5YignMHg1Y2EnKT09PV8weDI5ZjIxMykmJl8weDNmNWUyMlsndGhyb3dBcmd1bWVudEVycm9yJ10oXzB4NWQ0ZDliKCcweGIxZicpLCduYW1lJyxfMHgyOWYyMTMpLCEweDE7fWZ1bmN0aW9uIF8weDJlZWIzZihfMHg1ZDYyNDQsXzB4MTkwNDIyKXt2YXIgXzB4MWU4Y2JhPV8weDE1YTM7Zm9yKGxldCBfMHgxYWFjZGUgaW4gXzB4MTkwNDIyKSgweDAsXzB4MzE0YzE2W18weDFlOGNiYSgnMHhjZTknKV0pKF8weDVkNjI0NCxfMHgxYWFjZGUsXzB4MTkwNDIyW18weDFhYWNkZV0pO31jb25zdCBfMHg1N2Q4ZTc9T2JqZWN0WydmcmVlemUnXSh7J3NpZ2hhc2gnOidzaWdoYXNoJywnbWluaW1hbCc6XzB4M2EzY2MyKCcweDY1OScpLCdmdWxsJzpfMHgzYTNjYzIoJzB4MjUwJyksJ2pzb24nOl8weDNhM2NjMignMHg0YmInKX0pLF8weDQ0NGE2ZT1uZXcgUmVnRXhwKC9eKC4qKVxbKFswLTldKilcXSQvKTtjbGFzcyBfMHgxMzNlMDB7Y29uc3RydWN0b3IoXzB4NTUxMzA3LF8weDI5MWM5ZSl7dmFyIF8weDNlYzEwYz1fMHgzYTNjYzI7XzB4NTUxMzA3IT09XzB4MjlmNmFmJiZfMHgzZjVlMjJbJ3Rocm93RXJyb3InXShfMHgzZWMxMGMoJzB4YmFlJyksXzB4NTAzZTE2W18weDNlYzEwYygnMHhjZTcnKV1bXzB4M2VjMTBjKCcweDk0OScpXVtfMHgzZWMxMGMoJzB4NjMzJyldLHsnb3BlcmF0aW9uJzpfMHgzZWMxMGMoJzB4MzlmJyl9KSxfMHgyZWViM2YodGhpcyxfMHgyOTFjOWUpO2xldCBfMHhkZjhhNzY9dGhpc1sndHlwZSddW18weDNlYzEwYygnMHg0MjUnKV0oXzB4NDQ0YTZlKTtfMHgyZWViM2YodGhpcyxfMHhkZjhhNzY/eydhcnJheUxlbmd0aCc6cGFyc2VJbnQoXzB4ZGY4YTc2WzB4Ml18fCctMScpLCdhcnJheUNoaWxkcmVuJzpfMHgxMzNlMDBbXzB4M2VjMTBjKCcweGI0MycpXSh7J3R5cGUnOl8weGRmOGE3NlsweDFdLCdjb21wb25lbnRzJzp0aGlzW18weDNlYzEwYygnMHg2OTEnKV19KSwnYmFzZVR5cGUnOl8weDNlYzEwYygnMHg2NjcnKX06eydhcnJheUxlbmd0aCc6bnVsbCwnYXJyYXlDaGlsZHJlbic6bnVsbCwnYmFzZVR5cGUnOm51bGwhPXRoaXNbJ2NvbXBvbmVudHMnXT8ndHVwbGUnOnRoaXNbXzB4M2VjMTBjKCcweDU3YycpXX0pLHRoaXNbXzB4M2VjMTBjKCcweDZmNycpXT0hMHgwLE9iamVjdFtfMHgzZWMxMGMoJzB4MWZhJyldKHRoaXMpO31bXzB4M2EzY2MyKCcweDNjNycpXShfMHg2NTdjYzMpe3ZhciBfMHg1MGY5OTc9XzB4M2EzY2MyO2lmKF8weDY1N2NjM3x8KF8weDY1N2NjMz1fMHg1N2Q4ZTdbXzB4NTBmOTk3KCcweDY1NycpXSksXzB4NTdkOGU3W18weDY1N2NjM118fF8weDNmNWUyMlsndGhyb3dBcmd1bWVudEVycm9yJ10oXzB4NTBmOTk3KCcweDhiNicpLF8weDUwZjk5NygnMHgzYzcnKSxfMHg2NTdjYzMpLF8weDY1N2NjMz09PV8weDU3ZDhlN1tfMHg1MGY5OTcoJzB4NGJiJyldKXtsZXQgXzB4NGJkOGRmPXsndHlwZSc6J3R1cGxlJz09PXRoaXNbXzB4NTBmOTk3KCcweGEwZicpXT9fMHg1MGY5OTcoJzB4YmNkJyk6dGhpc1tfMHg1MGY5OTcoJzB4NTdjJyldLCduYW1lJzp0aGlzW18weDUwZjk5NygnMHhiYzcnKV18fHZvaWQgMHgwfTtyZXR1cm4gXzB4NTBmOTk3KCcweDRiMycpPT10eXBlb2YgdGhpc1snaW5kZXhlZCddJiYoXzB4NGJkOGRmWydpbmRleGVkJ109dGhpc1tfMHg1MGY5OTcoJzB4YTMxJyldKSx0aGlzW18weDUwZjk5NygnMHg2OTEnKV0mJihfMHg0YmQ4ZGZbXzB4NTBmOTk3KCcweDY5MScpXT10aGlzW18weDUwZjk5NygnMHg2OTEnKV1bXzB4NTBmOTk3KCcweDNjOScpXShfMHgxNWIzYjg9PkpTT05bJ3BhcnNlJ10oXzB4MTViM2I4W18weDUwZjk5NygnMHgzYzcnKV0oXzB4NjU3Y2MzKSkpKSxKU09OW18weDUwZjk5NygnMHgzMWYnKV0oXzB4NGJkOGRmKTt9bGV0IF8weDFmYjU1MT0nJztyZXR1cm4gXzB4NTBmOTk3KCcweDY2NycpPT09dGhpc1tfMHg1MGY5OTcoJzB4YTBmJyldPyhfMHgxZmI1NTErPXRoaXNbXzB4NTBmOTk3KCcweDJjOCcpXVsnZm9ybWF0J10oXzB4NjU3Y2MzKSxfMHgxZmI1NTErPSdbJysodGhpc1snYXJyYXlMZW5ndGgnXTwweDA/Jyc6U3RyaW5nKHRoaXNbXzB4NTBmOTk3KCcweGM4ZicpXSkpKyddJyk6J3R1cGxlJz09PXRoaXNbXzB4NTBmOTk3KCcweGEwZicpXT8oXzB4NjU3Y2MzIT09XzB4NTdkOGU3W18weDUwZjk5NygnMHg2NTcnKV0mJihfMHgxZmI1NTErPXRoaXNbXzB4NTBmOTk3KCcweDU3YycpXSksXzB4MWZiNTUxKz0nKCcrdGhpc1tfMHg1MGY5OTcoJzB4NjkxJyldWydtYXAnXShfMHgxNTBlZDY9Pl8weDE1MGVkNltfMHg1MGY5OTcoJzB4M2M3JyldKF8weDY1N2NjMykpWydqb2luJ10oXzB4NjU3Y2MzPT09XzB4NTdkOGU3WydmdWxsJ10/JyxceDIwJzonLCcpKycpJyk6XzB4MWZiNTUxKz10aGlzW18weDUwZjk5NygnMHg1N2MnKV0sXzB4NjU3Y2MzIT09XzB4NTdkOGU3W18weDUwZjk5NygnMHg2NTcnKV0mJighMHgwPT09dGhpc1tfMHg1MGY5OTcoJzB4YTMxJyldJiYoXzB4MWZiNTUxKz1fMHg1MGY5OTcoJzB4NWQ3JykpLF8weDY1N2NjMz09PV8weDU3ZDhlN1snZnVsbCddJiZ0aGlzW18weDUwZjk5NygnMHhiYzcnKV0mJihfMHgxZmI1NTErPSdceDIwJyt0aGlzW18weDUwZjk5NygnMHhiYzcnKV0pKSxfMHgxZmI1NTE7fXN0YXRpY1tfMHgzYTNjYzIoJzB4MjUyJyldKF8weDEwOGQzOSxfMHg5OWY2NDQpe3ZhciBfMHg0NDc1NmM9XzB4M2EzY2MyO3JldHVybiBfMHg0NDc1NmMoJzB4NjVmJyk9PXR5cGVvZiBfMHgxMDhkMzk/XzB4MTMzZTAwW18weDQ0NzU2YygnMHg0ODcnKV0oXzB4MTA4ZDM5LF8weDk5ZjY0NCk6XzB4MTMzZTAwW18weDQ0NzU2YygnMHhiNDMnKV0oXzB4MTA4ZDM5KTt9c3RhdGljW18weDNhM2NjMignMHhiNDMnKV0oXzB4NTIxOTQ4KXt2YXIgXzB4NGFhNDFkPV8weDNhM2NjMjtyZXR1cm4gXzB4MTMzZTAwW18weDRhYTQxZCgnMHg2YWMnKV0oXzB4NTIxOTQ4KT9fMHg1MjE5NDg6bmV3IF8weDEzM2UwMChfMHgyOWY2YWYseyduYW1lJzpfMHg1MjE5NDhbJ25hbWUnXXx8bnVsbCwndHlwZSc6XzB4NTI3YTVjKF8weDUyMTk0OFsndHlwZSddKSwnaW5kZXhlZCc6bnVsbD09XzB4NTIxOTQ4W18weDRhYTQxZCgnMHhhMzEnKV0/bnVsbDohIV8weDUyMTk0OFtfMHg0YWE0MWQoJzB4YTMxJyldLCdjb21wb25lbnRzJzpfMHg1MjE5NDhbXzB4NGFhNDFkKCcweDY5MScpXT9fMHg1MjE5NDhbXzB4NGFhNDFkKCcweDY5MScpXVtfMHg0YWE0MWQoJzB4M2M5JyldKF8weDEzM2UwMFtfMHg0YWE0MWQoJzB4YjQzJyldKTpudWxsfSk7fXN0YXRpY1tfMHgzYTNjYzIoJzB4NDg3JyldKF8weDJjZGVmZSxfMHg1M2QxNGQpe3ZhciBfMHg0NzZiMmY9XzB4M2EzY2MyO3JldHVybiBfMHgzNmNkZmQ9ZnVuY3Rpb24oXzB4MWYwNGRmLF8weDNlOTJmNSl7dmFyIF8weGFlYjEwMT1fMHgxNWEzO2xldCBfMHg0MWMxMTk9XzB4MWYwNGRmO2Z1bmN0aW9uIF8weDViMmM2MShfMHgxZGY2M2Ype3ZhciBfMHg0ZGQxMGM9XzB4MTVhMztfMHgzZjVlMjJbXzB4NGRkMTBjKCcweDYzNScpXShfMHg0ZGQxMGMoJzB4MmJjJykrXzB4MWRmNjNmLCdwYXJhbScsXzB4MWYwNGRmKTt9ZnVuY3Rpb24gXzB4YThlNTBkKF8weDM5YWY4Nyl7dmFyIF8weDE0YzQyNT1fMHgxNWEzO2xldCBfMHg1YzgzN2E9eyd0eXBlJzonJywnbmFtZSc6JycsJ3BhcmVudCc6XzB4MzlhZjg3LCdzdGF0ZSc6eydhbGxvd1R5cGUnOiEweDB9fTtyZXR1cm4gXzB4M2U5MmY1JiYoXzB4NWM4MzdhW18weDE0YzQyNSgnMHhhMzEnKV09ITB4MSksXzB4NWM4MzdhO31fMHgxZjA0ZGY9XzB4MWYwNGRmW18weGFlYjEwMSgnMHgzNmMnKV0oL1xzL2csJ1x4MjAnKTtsZXQgXzB4MWQ3NmRmPXsndHlwZSc6JycsJ25hbWUnOicnLCdzdGF0ZSc6eydhbGxvd1R5cGUnOiEweDB9fSxfMHgxZDdkZmY9XzB4MWQ3NmRmO2ZvcihsZXQgXzB4NDJhOWYxPTB4MDtfMHg0MmE5ZjE8XzB4MWYwNGRmW18weGFlYjEwMSgnMHg1MjAnKV07XzB4NDJhOWYxKyspe2xldCBfMHgzZGY2ZDc9XzB4MWYwNGRmW18weDQyYTlmMV07c3dpdGNoKF8weDNkZjZkNyl7Y2FzZScoJzpfMHgxZDdkZmZbXzB4YWViMTAxKCcweDQ2OCcpXVtfMHhhZWIxMDEoJzB4NDVmJyldJiYnJz09PV8weDFkN2RmZltfMHhhZWIxMDEoJzB4NTdjJyldP18weDFkN2RmZltfMHhhZWIxMDEoJzB4NTdjJyldPSd0dXBsZSc6XzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg0NjgnKV1bXzB4YWViMTAxKCcweDFmZScpXXx8XzB4NWIyYzYxKF8weDQyYTlmMSksXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg0NjgnKV1bXzB4YWViMTAxKCcweDQ1ZicpXT0hMHgxLF8weDFkN2RmZltfMHhhZWIxMDEoJzB4NTdjJyldPV8weDUyN2E1YyhfMHgxZDdkZmZbXzB4YWViMTAxKCcweDU3YycpXSksXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg2OTEnKV09W18weGE4ZTUwZChfMHgxZDdkZmYpXSxfMHgxZDdkZmY9XzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg2OTEnKV1bMHgwXTticmVhaztjYXNlJyknOmRlbGV0ZSBfMHgxZDdkZmZbXzB4YWViMTAxKCcweDQ2OCcpXSxfMHhhZWIxMDEoJzB4YTMxJyk9PT1fMHgxZDdkZmZbJ25hbWUnXSYmKF8weDNlOTJmNXx8XzB4NWIyYzYxKF8weDQyYTlmMSksXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHhhMzEnKV09ITB4MCxfMHgxZDdkZmZbXzB4YWViMTAxKCcweGJjNycpXT0nJyksXzB4MmJkZjI1KF8weDFkN2RmZltfMHhhZWIxMDEoJzB4NTdjJyldLF8weDFkN2RmZltfMHhhZWIxMDEoJzB4YmM3JyldKSYmKF8weDFkN2RmZltfMHhhZWIxMDEoJzB4YmM3JyldPScnKSxfMHgxZDdkZmZbJ3R5cGUnXT1fMHg1MjdhNWMoXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg1N2MnKV0pO2xldCBfMHg0NzU0MzI9XzB4MWQ3ZGZmO18weDFkN2RmZj1fMHgxZDdkZmZbXzB4YWViMTAxKCcweDhiZicpXSxfMHgxZDdkZmZ8fF8weDViMmM2MShfMHg0MmE5ZjEpLGRlbGV0ZSBfMHg0NzU0MzJbJ3BhcmVudCddLF8weDFkN2RmZltfMHhhZWIxMDEoJzB4NDY4JyldW18weGFlYjEwMSgnMHgxZmUnKV09ITB4MSxfMHgxZDdkZmZbXzB4YWViMTAxKCcweDQ2OCcpXVtfMHhhZWIxMDEoJzB4NjhmJyldPSEweDAsXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg0NjgnKV1bXzB4YWViMTAxKCcweDgyZScpXT0hMHgwO2JyZWFrO2Nhc2UnLCc6ZGVsZXRlIF8weDFkN2RmZlsnc3RhdGUnXSwnaW5kZXhlZCc9PT1fMHgxZDdkZmZbXzB4YWViMTAxKCcweGJjNycpXSYmKF8weDNlOTJmNXx8XzB4NWIyYzYxKF8weDQyYTlmMSksXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHhhMzEnKV09ITB4MCxfMHgxZDdkZmZbXzB4YWViMTAxKCcweGJjNycpXT0nJyksXzB4MmJkZjI1KF8weDFkN2RmZltfMHhhZWIxMDEoJzB4NTdjJyldLF8weDFkN2RmZltfMHhhZWIxMDEoJzB4YmM3JyldKSYmKF8weDFkN2RmZltfMHhhZWIxMDEoJzB4YmM3JyldPScnKSxfMHgxZDdkZmZbXzB4YWViMTAxKCcweDU3YycpXT1fMHg1MjdhNWMoXzB4MWQ3ZGZmWyd0eXBlJ10pO2xldCBfMHg1MjhlYTk9XzB4YThlNTBkKF8weDFkN2RmZltfMHhhZWIxMDEoJzB4OGJmJyldKTtfMHgxZDdkZmZbXzB4YWViMTAxKCcweDhiZicpXVtfMHhhZWIxMDEoJzB4NjkxJyldWydwdXNoJ10oXzB4NTI4ZWE5KSxkZWxldGUgXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg4YmYnKV0sXzB4MWQ3ZGZmPV8weDUyOGVhOTticmVhaztjYXNlJ1x4MjAnOl8weDFkN2RmZltfMHhhZWIxMDEoJzB4NDY4JyldW18weGFlYjEwMSgnMHg0NWYnKV0mJicnIT09XzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg1N2MnKV0mJihfMHgxZDdkZmZbXzB4YWViMTAxKCcweDU3YycpXT1fMHg1MjdhNWMoXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg1N2MnKV0pLGRlbGV0ZSBfMHgxZDdkZmZbXzB4YWViMTAxKCcweDQ2OCcpXVtfMHhhZWIxMDEoJzB4NDVmJyldLF8weDFkN2RmZltfMHhhZWIxMDEoJzB4NDY4JyldW18weGFlYjEwMSgnMHg2OGYnKV09ITB4MCxfMHgxZDdkZmZbXzB4YWViMTAxKCcweDQ2OCcpXVtfMHhhZWIxMDEoJzB4MWZlJyldPSEweDApLF8weDFkN2RmZltfMHhhZWIxMDEoJzB4NDY4JyldW18weGFlYjEwMSgnMHg2OGYnKV0mJicnIT09XzB4MWQ3ZGZmW18weGFlYjEwMSgnMHhiYzcnKV0mJihfMHhhZWIxMDEoJzB4YTMxJyk9PT1fMHgxZDdkZmZbJ25hbWUnXT8oXzB4M2U5MmY1fHxfMHg1YjJjNjEoXzB4NDJhOWYxKSxfMHgxZDdkZmZbXzB4YWViMTAxKCcweGEzMScpXSYmXzB4NWIyYzYxKF8weDQyYTlmMSksXzB4MWQ3ZGZmWydpbmRleGVkJ109ITB4MCxfMHgxZDdkZmZbXzB4YWViMTAxKCcweGJjNycpXT0nJyk6XzB4MmJkZjI1KF8weDFkN2RmZltfMHhhZWIxMDEoJzB4NTdjJyldLF8weDFkN2RmZlsnbmFtZSddKT9fMHgxZDdkZmZbJ25hbWUnXT0nJzpfMHgxZDdkZmZbXzB4YWViMTAxKCcweDQ2OCcpXVtfMHhhZWIxMDEoJzB4NjhmJyldPSEweDEpO2JyZWFrO2Nhc2UnWyc6XzB4MWQ3ZGZmWydzdGF0ZSddW18weGFlYjEwMSgnMHg4MmUnKV18fF8weDViMmM2MShfMHg0MmE5ZjEpLF8weDFkN2RmZlsndHlwZSddKz1fMHgzZGY2ZDcsXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg0NjgnKV1bXzB4YWViMTAxKCcweDgyZScpXT0hMHgxLF8weDFkN2RmZltfMHhhZWIxMDEoJzB4NDY4JyldWydhbGxvd05hbWUnXT0hMHgxLF8weDFkN2RmZltfMHhhZWIxMDEoJzB4NDY4JyldWydyZWFkQXJyYXknXT0hMHgwO2JyZWFrO2Nhc2UnXSc6XzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg0NjgnKV1bXzB4YWViMTAxKCcweGM5OCcpXXx8XzB4NWIyYzYxKF8weDQyYTlmMSksXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg1N2MnKV0rPV8weDNkZjZkNyxfMHgxZDdkZmZbJ3N0YXRlJ11bJ3JlYWRBcnJheSddPSEweDEsXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg0NjgnKV1bXzB4YWViMTAxKCcweDgyZScpXT0hMHgwLF8weDFkN2RmZltfMHhhZWIxMDEoJzB4NDY4JyldW18weGFlYjEwMSgnMHg2OGYnKV09ITB4MDticmVhaztkZWZhdWx0Ol8weDFkN2RmZltfMHhhZWIxMDEoJzB4NDY4JyldWydhbGxvd1R5cGUnXT8oXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg1N2MnKV0rPV8weDNkZjZkNyxfMHgxZDdkZmZbXzB4YWViMTAxKCcweDQ2OCcpXVtfMHhhZWIxMDEoJzB4MWZlJyldPSEweDAsXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg0NjgnKV1bXzB4YWViMTAxKCcweDgyZScpXT0hMHgwKTpfMHgxZDdkZmZbJ3N0YXRlJ11bXzB4YWViMTAxKCcweDY4ZicpXT8oXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHhiYzcnKV0rPV8weDNkZjZkNyxkZWxldGUgXzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg0NjgnKV1bXzB4YWViMTAxKCcweDgyZScpXSk6XzB4MWQ3ZGZmW18weGFlYjEwMSgnMHg0NjgnKV1bXzB4YWViMTAxKCcweGM5OCcpXT9fMHgxZDdkZmZbXzB4YWViMTAxKCcweDU3YycpXSs9XzB4M2RmNmQ3Ol8weDViMmM2MShfMHg0MmE5ZjEpO319cmV0dXJuIF8weDFkN2RmZltfMHhhZWIxMDEoJzB4OGJmJyldJiZfMHgzZjVlMjJbXzB4YWViMTAxKCcweDYzNScpXShfMHhhZWIxMDEoJzB4MjZhJyksJ3BhcmFtJyxfMHgxZjA0ZGYpLGRlbGV0ZSBfMHgxZDc2ZGZbXzB4YWViMTAxKCcweDQ2OCcpXSxfMHhhZWIxMDEoJzB4YTMxJyk9PT1fMHgxZDdkZmZbXzB4YWViMTAxKCcweGJjNycpXT8oXzB4M2U5MmY1fHxfMHg1YjJjNjEoXzB4NDFjMTE5W18weGFlYjEwMSgnMHg1MjAnKV0tMHg3KSxfMHgxZDdkZmZbXzB4YWViMTAxKCcweGEzMScpXSYmXzB4NWIyYzYxKF8weDQxYzExOVtfMHhhZWIxMDEoJzB4NTIwJyldLTB4NyksXzB4MWQ3ZGZmWydpbmRleGVkJ109ITB4MCxfMHgxZDdkZmZbXzB4YWViMTAxKCcweGJjNycpXT0nJyk6XzB4MmJkZjI1KF8weDFkN2RmZltfMHhhZWIxMDEoJzB4NTdjJyldLF8weDFkN2RmZlsnbmFtZSddKSYmKF8weDFkN2RmZlsnbmFtZSddPScnKSxfMHgxZDc2ZGZbXzB4YWViMTAxKCcweDU3YycpXT1fMHg1MjdhNWMoXzB4MWQ3NmRmWyd0eXBlJ10pLF8weDFkNzZkZjt9KF8weDJjZGVmZSwhIV8weDUzZDE0ZCksXzB4MTMzZTAwWydmcm9tT2JqZWN0J10oeyduYW1lJzpfMHgzNmNkZmRbXzB4NDc2YjJmKCcweGJjNycpXSwndHlwZSc6XzB4MzZjZGZkW18weDQ3NmIyZignMHg1N2MnKV0sJ2luZGV4ZWQnOl8weDM2Y2RmZFtfMHg0NzZiMmYoJzB4YTMxJyldLCdjb21wb25lbnRzJzpfMHgzNmNkZmRbXzB4NDc2YjJmKCcweDY5MScpXX0pO3ZhciBfMHgzNmNkZmQ7fXN0YXRpY1tfMHgzYTNjYzIoJzB4NmFjJyldKF8weDE2OGNmNCl7dmFyIF8weDQ2NDM2Yj1fMHgzYTNjYzI7cmV0dXJuIShudWxsPT1fMHgxNjhjZjR8fCFfMHgxNjhjZjRbXzB4NDY0MzZiKCcweDZmNycpXSk7fX1mdW5jdGlvbiBfMHgxYmI2MjcoXzB4NTI5NGJlLF8weDZlYjQ1Nil7dmFyIF8weDYxM2M3OT1fMHgzYTNjYzI7cmV0dXJuIGZ1bmN0aW9uKF8weDQ4YWJmNSl7dmFyIF8weDUxMTU0NT1fMHgxNWEzO18weDQ4YWJmNT1fMHg0OGFiZjVbXzB4NTExNTQ1KCcweDhkOCcpXSgpO2xldCBfMHg1Mzc2MDI9W10sXzB4MTQ2M2Y2PScnLF8weDRkMzliOT0weDA7Zm9yKGxldCBfMHhlNjgyMDc9MHgwO18weGU2ODIwNzxfMHg0OGFiZjVbXzB4NTExNTQ1KCcweDUyMCcpXTtfMHhlNjgyMDcrKyl7bGV0IF8weDVjY2ZlYT1fMHg0OGFiZjVbXzB4ZTY4MjA3XTsnLCc9PT1fMHg1Y2NmZWEmJjB4MD09PV8weDRkMzliOT8oXzB4NTM3NjAyW18weDUxMTU0NSgnMHg4YjcnKV0oXzB4MTQ2M2Y2KSxfMHgxNDYzZjY9JycpOihfMHgxNDYzZjYrPV8weDVjY2ZlYSwnKCc9PT1fMHg1Y2NmZWE/XzB4NGQzOWI5Kys6JyknPT09XzB4NWNjZmVhJiYoXzB4NGQzOWI5LS0sLTB4MT09PV8weDRkMzliOSYmXzB4M2Y1ZTIyW18weDUxMTU0NSgnMHg2MzUnKV0oJ3VuYmFsYW5jZWRceDIwcGFyZW50aGVzaXMnLF8weDUxMTU0NSgnMHg4OWQnKSxfMHg0OGFiZjUpKSk7fXJldHVybiBfMHgxNDYzZjYmJl8weDUzNzYwMltfMHg1MTE1NDUoJzB4OGI3JyldKF8weDE0NjNmNiksXzB4NTM3NjAyO30oXzB4NTI5NGJlKVtfMHg2MTNjNzkoJzB4M2M5JyldKF8weDIzM2Y0OD0+XzB4MTMzZTAwW18weDYxM2M3OSgnMHg0ODcnKV0oXzB4MjMzZjQ4LF8weDZlYjQ1NikpO31jbGFzcyBfMHgyNWYwZmR7Y29uc3RydWN0b3IoXzB4MmEzYTExLF8weDdlNjY3MSl7dmFyIF8weDMzZTdkOT1fMHgzYTNjYzI7XzB4MmEzYTExIT09XzB4MjlmNmFmJiZfMHgzZjVlMjJbJ3Rocm93RXJyb3InXShfMHgzM2U3ZDkoJzB4MjZjJyksXzB4NTAzZTE2W18weDMzZTdkOSgnMHhjZTcnKV1bXzB4MzNlN2Q5KCcweDk0OScpXVtfMHgzM2U3ZDkoJzB4NjMzJyldLHsnb3BlcmF0aW9uJzpfMHgzM2U3ZDkoJzB4Y2ZkJyl9KSxfMHgyZWViM2YodGhpcyxfMHg3ZTY2NzEpLHRoaXNbXzB4MzNlN2Q5KCcweDUzZCcpXT0hMHgwLE9iamVjdFtfMHgzM2U3ZDkoJzB4MWZhJyldKHRoaXMpO31zdGF0aWNbJ2Zyb20nXShfMHg0YjZhZGMpe3ZhciBfMHgxNDEyNWQ9XzB4M2EzY2MyO3JldHVybiBfMHgyNWYwZmRbXzB4MTQxMjVkKCcweGNiYicpXShfMHg0YjZhZGMpP18weDRiNmFkYzonc3RyaW5nJz09dHlwZW9mIF8weDRiNmFkYz9fMHgyNWYwZmRbXzB4MTQxMjVkKCcweDQ4NycpXShfMHg0YjZhZGMpOl8weDI1ZjBmZFtfMHgxNDEyNWQoJzB4YjQzJyldKF8weDRiNmFkYyk7fXN0YXRpY1snZnJvbU9iamVjdCddKF8weDJkNmM4NSl7dmFyIF8weDM2YWI0MD1fMHgzYTNjYzI7aWYoXzB4MjVmMGZkW18weDM2YWI0MCgnMHhjYmInKV0oXzB4MmQ2Yzg1KSlyZXR1cm4gXzB4MmQ2Yzg1O3N3aXRjaChfMHgyZDZjODVbXzB4MzZhYjQwKCcweDU3YycpXSl7Y2FzZSBfMHgzNmFiNDAoJzB4YzdiJyk6cmV0dXJuIF8weDIzZDFmZVtfMHgzNmFiNDAoJzB4YjQzJyldKF8weDJkNmM4NSk7Y2FzZSdldmVudCc6cmV0dXJuIF8weDRmODM2ZFsnZnJvbU9iamVjdCddKF8weDJkNmM4NSk7Y2FzZSBfMHgzNmFiNDAoJzB4YmZjJyk6cmV0dXJuIF8weDQxODM1NFtfMHgzNmFiNDAoJzB4YjQzJyldKF8weDJkNmM4NSk7Y2FzZSBfMHgzNmFiNDAoJzB4YzllJyk6cmV0dXJuIF8weDE3MDVjMVsnZnJvbU9iamVjdCddKF8weDJkNmM4NSk7Y2FzZSBfMHgzNmFiNDAoJzB4N2FmJyk6Y2FzZSBfMHgzNmFiNDAoJzB4NDE2Jyk6cmV0dXJuIG51bGw7fXJldHVybiBfMHgzZjVlMjJbXzB4MzZhYjQwKCcweDYzNScpXSgnaW52YWxpZFx4MjBmcmFnbWVudFx4MjBvYmplY3QnLF8weDM2YWI0MCgnMHg4OWQnKSxfMHgyZDZjODUpO31zdGF0aWNbJ2Zyb21TdHJpbmcnXShfMHgxM2M1YTgpe3ZhciBfMHg1NjE2NDM9XzB4M2EzY2MyO3JldHVybiBfMHg1NjE2NDMoJzB4NjZlJyk9PT0oXzB4MTNjNWE4PShfMHgxM2M1YTg9KF8weDEzYzVhOD1fMHgxM2M1YThbJ3JlcGxhY2UnXSgvXHMvZywnXHgyMCcpKVsncmVwbGFjZSddKC9cKC9nLCdceDIwKCcpW18weDU2MTY0MygnMHgzNmMnKV0oL1wpL2csJylceDIwJylbXzB4NTYxNjQzKCcweDM2YycpXSgvXHMrL2csJ1x4MjAnKSlbXzB4NTYxNjQzKCcweDhkOCcpXSgpKVsnc3BsaXQnXSgnXHgyMCcpWzB4MF0/XzB4NGY4MzZkW18weDU2MTY0MygnMHg0ODcnKV0oXzB4MTNjNWE4W18weDU2MTY0MygnMHg3M2QnKV0oMHg1KVsndHJpbSddKCkpOl8weDU2MTY0MygnMHhjN2InKT09PV8weDEzYzVhOFsnc3BsaXQnXSgnXHgyMCcpWzB4MF0/XzB4MjNkMWZlWydmcm9tU3RyaW5nJ10oXzB4MTNjNWE4W18weDU2MTY0MygnMHg3M2QnKV0oMHg4KVtfMHg1NjE2NDMoJzB4OGQ4JyldKCkpOidjb25zdHJ1Y3Rvcic9PT1fMHgxM2M1YThbXzB4NTYxNjQzKCcweDk5NCcpXSgnKCcpWzB4MF1bJ3RyaW0nXSgpP18weDQxODM1NFtfMHg1NjE2NDMoJzB4NDg3JyldKF8weDEzYzVhOFtfMHg1NjE2NDMoJzB4OGQ4JyldKCkpOl8weDU2MTY0MygnMHhjOWUnKT09PV8weDEzYzVhOFtfMHg1NjE2NDMoJzB4OTk0JyldKCdceDIwJylbMHgwXT9fMHgxNzA1YzFbXzB4NTYxNjQzKCcweDQ4NycpXShfMHgxM2M1YThbXzB4NTYxNjQzKCcweDczZCcpXSgweDUpW18weDU2MTY0MygnMHg4ZDgnKV0oKSk6XzB4M2Y1ZTIyW18weDU2MTY0MygnMHg2MzUnKV0oXzB4NTYxNjQzKCcweDY0OCcpLCd2YWx1ZScsXzB4MTNjNWE4KTt9c3RhdGljWydpc0ZyYWdtZW50J10oXzB4M2M0ZjJhKXtyZXR1cm4hKCFfMHgzYzRmMmF8fCFfMHgzYzRmMmFbJ19pc0ZyYWdtZW50J10pO319Y2xhc3MgXzB4NGY4MzZkIGV4dGVuZHMgXzB4MjVmMGZke1tfMHgzYTNjYzIoJzB4M2M3JyldKF8weDMzZjk4Nyl7dmFyIF8weDJiYjg5Mz1fMHgzYTNjYzI7aWYoXzB4MzNmOTg3fHwoXzB4MzNmOTg3PV8weDU3ZDhlN1tfMHgyYmI4OTMoJzB4NjU3JyldKSxfMHg1N2Q4ZTdbXzB4MzNmOTg3XXx8XzB4M2Y1ZTIyWyd0aHJvd0FyZ3VtZW50RXJyb3InXSgnaW52YWxpZFx4MjBmb3JtYXRceDIwdHlwZScsXzB4MmJiODkzKCcweDNjNycpLF8weDMzZjk4NyksXzB4MzNmOTg3PT09XzB4NTdkOGU3W18weDJiYjg5MygnMHg0YmInKV0pcmV0dXJuIEpTT05bXzB4MmJiODkzKCcweDMxZicpXSh7J3R5cGUnOidldmVudCcsJ2Fub255bW91cyc6dGhpc1tfMHgyYmI4OTMoJzB4Nzk5JyldLCduYW1lJzp0aGlzW18weDJiYjg5MygnMHhiYzcnKV0sJ2lucHV0cyc6dGhpc1tfMHgyYmI4OTMoJzB4YTliJyldW18weDJiYjg5MygnMHgzYzknKV0oXzB4NTYyMmJiPT5KU09OW18weDJiYjg5MygnMHhiZjknKV0oXzB4NTYyMmJiW18weDJiYjg5MygnMHgzYzcnKV0oXzB4MzNmOTg3KSkpfSk7bGV0IF8weDVlMDYyNT0nJztyZXR1cm4gXzB4MzNmOTg3IT09XzB4NTdkOGU3W18weDJiYjg5MygnMHg2NTcnKV0mJihfMHg1ZTA2MjUrPV8weDJiYjg5MygnMHg2MTgnKSksXzB4NWUwNjI1Kz10aGlzWyduYW1lJ10rJygnK3RoaXNbXzB4MmJiODkzKCcweGE5YicpXVtfMHgyYmI4OTMoJzB4M2M5JyldKF8weDJiZjZkZD0+XzB4MmJmNmRkWydmb3JtYXQnXShfMHgzM2Y5ODcpKVtfMHgyYmI4OTMoJzB4YWE3JyldKF8weDMzZjk4Nz09PV8weDU3ZDhlN1snZnVsbCddPycsXHgyMCc6JywnKSsnKVx4MjAnLF8weDMzZjk4NyE9PV8weDU3ZDhlN1tfMHgyYmI4OTMoJzB4NjU3JyldJiZ0aGlzW18weDJiYjg5MygnMHg3OTknKV0mJihfMHg1ZTA2MjUrPV8weDJiYjg5MygnMHg3OWEnKSksXzB4NWUwNjI1Wyd0cmltJ10oKTt9c3RhdGljW18weDNhM2NjMignMHgyNTInKV0oXzB4MmNiMjgwKXt2YXIgXzB4NGUwMzM2PV8weDNhM2NjMjtyZXR1cm4gXzB4NGUwMzM2KCcweDY1ZicpPT10eXBlb2YgXzB4MmNiMjgwP18weDRmODM2ZFtfMHg0ZTAzMzYoJzB4NDg3JyldKF8weDJjYjI4MCk6XzB4NGY4MzZkWydmcm9tT2JqZWN0J10oXzB4MmNiMjgwKTt9c3RhdGljW18weDNhM2NjMignMHhiNDMnKV0oXzB4YWM5N2JlKXt2YXIgXzB4NGM4MzcyPV8weDNhM2NjMjtpZihfMHg0ZjgzNmRbXzB4NGM4MzcyKCcweDQxOScpXShfMHhhYzk3YmUpKXJldHVybiBfMHhhYzk3YmU7J2V2ZW50JyE9PV8weGFjOTdiZVtfMHg0YzgzNzIoJzB4NTdjJyldJiZfMHgzZjVlMjJbJ3Rocm93QXJndW1lbnRFcnJvciddKF8weDRjODM3MignMHgyNWInKSxfMHg0YzgzNzIoJzB4ODlkJyksXzB4YWM5N2JlKTtjb25zdCBfMHg1ODhlZDM9eyduYW1lJzpfMHgzMzJmNTgoXzB4YWM5N2JlWyduYW1lJ10pLCdhbm9ueW1vdXMnOl8weGFjOTdiZVtfMHg0YzgzNzIoJzB4Nzk5JyldLCdpbnB1dHMnOl8weGFjOTdiZVsnaW5wdXRzJ10/XzB4YWM5N2JlW18weDRjODM3MignMHhhOWInKV1bXzB4NGM4MzcyKCcweDNjOScpXShfMHgxMzNlMDBbJ2Zyb21PYmplY3QnXSk6W10sJ3R5cGUnOl8weDRjODM3MignMHg2NmUnKX07cmV0dXJuIG5ldyBfMHg0ZjgzNmQoXzB4MjlmNmFmLF8weDU4OGVkMyk7fXN0YXRpY1tfMHgzYTNjYzIoJzB4NDg3JyldKF8weDdjZGI3KXt2YXIgXzB4MzNkNjZkPV8weDNhM2NjMjtsZXQgXzB4NDFjY2NlPV8weDdjZGI3W18weDMzZDY2ZCgnMHg0MjUnKV0oXzB4MjZmNWJjKTtfMHg0MWNjY2V8fF8weDNmNWUyMltfMHgzM2Q2NmQoJzB4NjM1JyldKF8weDMzZDY2ZCgnMHg3Y2EnKSxfMHgzM2Q2NmQoJzB4ODlkJyksXzB4N2NkYjcpO2xldCBfMHgxOWI0MWE9ITB4MTtyZXR1cm4gXzB4NDFjY2NlWzB4M11bXzB4MzNkNjZkKCcweDk5NCcpXSgnXHgyMCcpW18weDMzZDY2ZCgnMHg1MWUnKV0oXzB4MmRmNjIwPT57dmFyIF8weDQ0Y2JiNT1fMHgzM2Q2NmQ7c3dpdGNoKF8weDJkZjYyMFsndHJpbSddKCkpe2Nhc2UnYW5vbnltb3VzJzpfMHgxOWI0MWE9ITB4MDticmVhaztjYXNlJyc6YnJlYWs7ZGVmYXVsdDpfMHgzZjVlMjJbXzB4NDRjYmI1KCcweDVkNCcpXShfMHg0NGNiYjUoJzB4YTg2JykrXzB4MmRmNjIwKTt9fSksXzB4NGY4MzZkW18weDMzZDY2ZCgnMHhiNDMnKV0oeyduYW1lJzpfMHg0MWNjY2VbMHgxXVtfMHgzM2Q2NmQoJzB4OGQ4JyldKCksJ2Fub255bW91cyc6XzB4MTliNDFhLCdpbnB1dHMnOl8weDFiYjYyNyhfMHg0MWNjY2VbMHgyXSwhMHgwKSwndHlwZSc6J2V2ZW50J30pO31zdGF0aWNbXzB4M2EzY2MyKCcweDQxOScpXShfMHg0NDJiMDUpe3ZhciBfMHgzNTY1MjY9XzB4M2EzY2MyO3JldHVybiBfMHg0NDJiMDUmJl8weDQ0MmIwNVtfMHgzNTY1MjYoJzB4NTNkJyldJiZfMHgzNTY1MjYoJzB4NjZlJyk9PT1fMHg0NDJiMDVbXzB4MzU2NTI2KCcweDU3YycpXTt9fWZ1bmN0aW9uIF8weDMwZjdlYihfMHg0YThhMTMsXzB4MzJkZmQ5KXt2YXIgXzB4N2UwOTgwPV8weDNhM2NjMjtfMHgzMmRmZDlbXzB4N2UwOTgwKCcweDQyZicpXT1udWxsO2xldCBfMHgyYTU0OTI9XzB4NGE4YTEzWydzcGxpdCddKCdAJyk7cmV0dXJuIDB4MSE9PV8weDJhNTQ5MltfMHg3ZTA5ODAoJzB4NTIwJyldPyhfMHgyYTU0OTJbXzB4N2UwOTgwKCcweDUyMCcpXT4weDImJl8weDNmNWUyMltfMHg3ZTA5ODAoJzB4NjM1JyldKF8weDdlMDk4MCgnMHg1M2MnKSxfMHg3ZTA5ODAoJzB4ODlkJyksXzB4NGE4YTEzKSxfMHgyYTU0OTJbMHgxXVtfMHg3ZTA5ODAoJzB4NDI1JyldKC9eWzAtOV0rJC8pfHxfMHgzZjVlMjJbXzB4N2UwOTgwKCcweDYzNScpXShfMHg3ZTA5ODAoJzB4M2Q4JyksXzB4N2UwOTgwKCcweDg5ZCcpLF8weDRhOGExMyksXzB4MzJkZmQ5W18weDdlMDk4MCgnMHg0MmYnKV09XzB4MTMxOGZjWydPJCddW18weDdlMDk4MCgnMHgyNTInKV0oXzB4MmE1NDkyWzB4MV0pLF8weDJhNTQ5MlsweDBdKTpfMHg0YThhMTM7fWZ1bmN0aW9uIF8weDE4NDgyMShfMHgyOWIyNmUsXzB4OGNiYjQwKXt2YXIgXzB4MWMyZDk2PV8weDNhM2NjMjtfMHg4Y2JiNDBbXzB4MWMyZDk2KCcweDI1OCcpXT0hMHgxLF8weDhjYmI0MFtfMHgxYzJkOTYoJzB4NWNhJyldPSEweDEsXzB4OGNiYjQwW18weDFjMmQ5NignMHhhODcnKV09XzB4MWMyZDk2KCcweDljOCcpLF8weDI5YjI2ZVtfMHgxYzJkOTYoJzB4OTk0JyldKCdceDIwJylbXzB4MWMyZDk2KCcweDUxZScpXShfMHgxODg0NGQ9Pnt2YXIgXzB4NDc3MGNiPV8weDFjMmQ5Njtzd2l0Y2goXzB4MTg4NDRkWyd0cmltJ10oKSl7Y2FzZSBfMHg0NzcwY2IoJzB4MjU4Jyk6XzB4OGNiYjQwW18weDQ3NzBjYignMHgyNTgnKV09ITB4MDticmVhaztjYXNlIF8weDQ3NzBjYignMHg1Y2EnKTpfMHg4Y2JiNDBbXzB4NDc3MGNiKCcweDVjYScpXT0hMHgwLF8weDhjYmI0MFtfMHg0NzcwY2IoJzB4YTg3JyldPV8weDQ3NzBjYignMHg1Y2EnKTticmVhaztjYXNlJ25vbnBheWFibGUnOl8weDhjYmI0MFsncGF5YWJsZSddPSEweDEsXzB4OGNiYjQwW18weDQ3NzBjYignMHhhODcnKV09J25vbnBheWFibGUnO2JyZWFrO2Nhc2UgXzB4NDc3MGNiKCcweDRjMCcpOl8weDhjYmI0MFtfMHg0NzcwY2IoJzB4MjU4JyldPSEweDAsXzB4OGNiYjQwWydzdGF0ZU11dGFiaWxpdHknXT1fMHg0NzcwY2IoJzB4NGMwJyk7YnJlYWs7Y2FzZSBfMHg0NzcwY2IoJzB4OGU0Jyk6XzB4OGNiYjQwW18weDQ3NzBjYignMHgyNTgnKV09ITB4MCxfMHg4Y2JiNDBbXzB4NDc3MGNiKCcweGE4NycpXT1fMHg0NzcwY2IoJzB4OGU0Jyk7YnJlYWs7Y2FzZSBfMHg0NzcwY2IoJzB4Mjk2Jyk6Y2FzZSBfMHg0NzcwY2IoJzB4MjhiJyk6Y2FzZScnOmJyZWFrO2RlZmF1bHQ6Y29uc29sZVsnbG9nJ10oXzB4NDc3MGNiKCcweGE4NicpK18weDE4ODQ0ZCk7fX0pO31mdW5jdGlvbiBfMHg1MjNkNTkoXzB4MmIyM2E4KXt2YXIgXzB4NWFjNmFlPV8weDNhM2NjMjtsZXQgXzB4MzcyZTM5PXsnY29uc3RhbnQnOiEweDEsJ3BheWFibGUnOiEweDAsJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NWFjNmFlKCcweDVjYScpfTtyZXR1cm4gbnVsbCE9XzB4MmIyM2E4W18weDVhYzZhZSgnMHhhODcnKV0/KF8weDM3MmUzOVsnc3RhdGVNdXRhYmlsaXR5J109XzB4MmIyM2E4W18weDVhYzZhZSgnMHhhODcnKV0sXzB4MzcyZTM5W18weDVhYzZhZSgnMHgyNTgnKV09XzB4NWFjNmFlKCcweDhlNCcpPT09XzB4MzcyZTM5WydzdGF0ZU11dGFiaWxpdHknXXx8XzB4NWFjNmFlKCcweDRjMCcpPT09XzB4MzcyZTM5WydzdGF0ZU11dGFiaWxpdHknXSxudWxsIT1fMHgyYjIzYThbJ2NvbnN0YW50J10mJiEhXzB4MmIyM2E4W18weDVhYzZhZSgnMHgyNTgnKV0hPT1fMHgzNzJlMzlbXzB4NWFjNmFlKCcweDI1OCcpXSYmXzB4M2Y1ZTIyW18weDVhYzZhZSgnMHg2MzUnKV0oXzB4NWFjNmFlKCcweDZjZicpK18weDM3MmUzOVtfMHg1YWM2YWUoJzB4YTg3JyldLF8weDVhYzZhZSgnMHg4OWQnKSxfMHgyYjIzYTgpLF8weDM3MmUzOVsncGF5YWJsZSddPV8weDVhYzZhZSgnMHg1Y2EnKT09PV8weDM3MmUzOVtfMHg1YWM2YWUoJzB4YTg3JyldLG51bGwhPV8weDJiMjNhOFtfMHg1YWM2YWUoJzB4NWNhJyldJiYhIV8weDJiMjNhOFtfMHg1YWM2YWUoJzB4NWNhJyldIT09XzB4MzcyZTM5W18weDVhYzZhZSgnMHg1Y2EnKV0mJl8weDNmNWUyMltfMHg1YWM2YWUoJzB4NjM1JyldKF8weDVhYzZhZSgnMHgyYzAnKStfMHgzNzJlMzlbXzB4NWFjNmFlKCcweGE4NycpXSxfMHg1YWM2YWUoJzB4ODlkJyksXzB4MmIyM2E4KSk6bnVsbCE9XzB4MmIyM2E4W18weDVhYzZhZSgnMHg1Y2EnKV0/KF8weDM3MmUzOVsncGF5YWJsZSddPSEhXzB4MmIyM2E4W18weDVhYzZhZSgnMHg1Y2EnKV0sbnVsbCE9XzB4MmIyM2E4W18weDVhYzZhZSgnMHgyNTgnKV18fF8weDM3MmUzOVtfMHg1YWM2YWUoJzB4NWNhJyldfHxfMHg1YWM2YWUoJzB4YmZjJyk9PT1fMHgyYjIzYThbXzB4NWFjNmFlKCcweDU3YycpXXx8XzB4M2Y1ZTIyW18weDVhYzZhZSgnMHg2MzUnKV0oJ3VuYWJsZVx4MjB0b1x4MjBkZXRlcm1pbmVceDIwc3RhdGVNdXRhYmlsaXR5JyxfMHg1YWM2YWUoJzB4ODlkJyksXzB4MmIyM2E4KSxfMHgzNzJlMzlbXzB4NWFjNmFlKCcweDI1OCcpXT0hIV8weDJiMjNhOFtfMHg1YWM2YWUoJzB4MjU4JyldLF8weDM3MmUzOVtfMHg1YWM2YWUoJzB4MjU4JyldP18weDM3MmUzOVtfMHg1YWM2YWUoJzB4YTg3JyldPV8weDVhYzZhZSgnMHg4ZTQnKTpfMHgzNzJlMzlbXzB4NWFjNmFlKCcweGE4NycpXT1fMHgzNzJlMzlbJ3BheWFibGUnXT9fMHg1YWM2YWUoJzB4NWNhJyk6XzB4NWFjNmFlKCcweDljOCcpLF8weDM3MmUzOVtfMHg1YWM2YWUoJzB4NWNhJyldJiZfMHgzNzJlMzlbXzB4NWFjNmFlKCcweDI1OCcpXSYmXzB4M2Y1ZTIyW18weDVhYzZhZSgnMHg2MzUnKV0oXzB4NWFjNmFlKCcweDRjNycpLF8weDVhYzZhZSgnMHg4OWQnKSxfMHgyYjIzYTgpKTpudWxsIT1fMHgyYjIzYThbXzB4NWFjNmFlKCcweDI1OCcpXT8oXzB4MzcyZTM5W18weDVhYzZhZSgnMHgyNTgnKV09ISFfMHgyYjIzYThbXzB4NWFjNmFlKCcweDI1OCcpXSxfMHgzNzJlMzlbXzB4NWFjNmFlKCcweDVjYScpXT0hXzB4MzcyZTM5W18weDVhYzZhZSgnMHgyNTgnKV0sXzB4MzcyZTM5WydzdGF0ZU11dGFiaWxpdHknXT1fMHgzNzJlMzlbXzB4NWFjNmFlKCcweDI1OCcpXT9fMHg1YWM2YWUoJzB4OGU0Jyk6XzB4NWFjNmFlKCcweDVjYScpKTpfMHg1YWM2YWUoJzB4YmZjJykhPT1fMHgyYjIzYThbJ3R5cGUnXSYmXzB4M2Y1ZTIyWyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHg1YWM2YWUoJzB4NGJkJyksXzB4NWFjNmFlKCcweDg5ZCcpLF8weDJiMjNhOCksXzB4MzcyZTM5O31jbGFzcyBfMHg0MTgzNTQgZXh0ZW5kcyBfMHgyNWYwZmR7W18weDNhM2NjMignMHgzYzcnKV0oXzB4M2E1OTVlKXt2YXIgXzB4Y2ZjOTk2PV8weDNhM2NjMjtpZihfMHgzYTU5NWV8fChfMHgzYTU5NWU9XzB4NTdkOGU3W18weGNmYzk5NignMHg2NTcnKV0pLF8weDU3ZDhlN1tfMHgzYTU5NWVdfHxfMHgzZjVlMjJbJ3Rocm93QXJndW1lbnRFcnJvciddKCdpbnZhbGlkXHgyMGZvcm1hdFx4MjB0eXBlJywnZm9ybWF0JyxfMHgzYTU5NWUpLF8weDNhNTk1ZT09PV8weDU3ZDhlN1snanNvbiddKXJldHVybiBKU09OW18weGNmYzk5NignMHgzMWYnKV0oeyd0eXBlJzpfMHhjZmM5OTYoJzB4YmZjJyksJ3N0YXRlTXV0YWJpbGl0eSc6XzB4Y2ZjOTk2KCcweDljOCcpIT09dGhpc1tfMHhjZmM5OTYoJzB4YTg3JyldP3RoaXNbXzB4Y2ZjOTk2KCcweGE4NycpXTp2b2lkIDB4MCwncGF5YWJsZSc6dGhpc1tfMHhjZmM5OTYoJzB4NWNhJyldLCdnYXMnOnRoaXNbXzB4Y2ZjOTk2KCcweDQyZicpXT90aGlzW18weGNmYzk5NignMHg0MmYnKV1bXzB4Y2ZjOTk2KCcweDk0MScpXSgpOnZvaWQgMHgwLCdpbnB1dHMnOnRoaXNbXzB4Y2ZjOTk2KCcweGE5YicpXVtfMHhjZmM5OTYoJzB4M2M5JyldKF8weDQxZmI1Zj0+SlNPTltfMHhjZmM5OTYoJzB4YmY5JyldKF8weDQxZmI1ZltfMHhjZmM5OTYoJzB4M2M3JyldKF8weDNhNTk1ZSkpKX0pO18weDNhNTk1ZT09PV8weDU3ZDhlN1tfMHhjZmM5OTYoJzB4NjU3JyldJiZfMHgzZjVlMjJbXzB4Y2ZjOTk2KCcweDFkMCcpXShfMHhjZmM5OTYoJzB4OTFlJyksXzB4NTAzZTE2W18weGNmYzk5NignMHhjZTcnKV1bJ2Vycm9ycyddW18weGNmYzk5NignMHg2MzMnKV0seydvcGVyYXRpb24nOl8weGNmYzk5NignMHhkMmMnKX0pO2xldCBfMHg1OWE0YmU9J2NvbnN0cnVjdG9yKCcrdGhpc1tfMHhjZmM5OTYoJzB4YTliJyldW18weGNmYzk5NignMHgzYzknKV0oXzB4MTM2NjZlPT5fMHgxMzY2NmVbJ2Zvcm1hdCddKF8weDNhNTk1ZSkpWydqb2luJ10oXzB4M2E1OTVlPT09XzB4NTdkOGU3W18weGNmYzk5NignMHgyNTAnKV0/JyxceDIwJzonLCcpKycpXHgyMCc7cmV0dXJuIHRoaXNbXzB4Y2ZjOTk2KCcweGE4NycpXSYmXzB4Y2ZjOTk2KCcweDljOCcpIT09dGhpc1tfMHhjZmM5OTYoJzB4YTg3JyldJiYoXzB4NTlhNGJlKz10aGlzW18weGNmYzk5NignMHhhODcnKV0rJ1x4MjAnKSxfMHg1OWE0YmVbXzB4Y2ZjOTk2KCcweDhkOCcpXSgpO31zdGF0aWNbXzB4M2EzY2MyKCcweDI1MicpXShfMHg1YjAzMTUpe3ZhciBfMHg1NmU5Yzk9XzB4M2EzY2MyO3JldHVybiBfMHg1NmU5YzkoJzB4NjVmJyk9PXR5cGVvZiBfMHg1YjAzMTU/XzB4NDE4MzU0W18weDU2ZTljOSgnMHg0ODcnKV0oXzB4NWIwMzE1KTpfMHg0MTgzNTRbJ2Zyb21PYmplY3QnXShfMHg1YjAzMTUpO31zdGF0aWNbXzB4M2EzY2MyKCcweGI0MycpXShfMHgzOGY0YzYpe3ZhciBfMHg0MWUzYWI9XzB4M2EzY2MyO2lmKF8weDQxODM1NFsnaXNDb25zdHJ1Y3RvckZyYWdtZW50J10oXzB4MzhmNGM2KSlyZXR1cm4gXzB4MzhmNGM2O18weDQxZTNhYignMHhiZmMnKSE9PV8weDM4ZjRjNltfMHg0MWUzYWIoJzB4NTdjJyldJiZfMHgzZjVlMjJbJ3Rocm93QXJndW1lbnRFcnJvciddKCdpbnZhbGlkXHgyMGNvbnN0cnVjdG9yXHgyMG9iamVjdCcsXzB4NDFlM2FiKCcweDg5ZCcpLF8weDM4ZjRjNik7bGV0IF8weDM0N2IxOD1fMHg1MjNkNTkoXzB4MzhmNGM2KTtfMHgzNDdiMThbJ2NvbnN0YW50J10mJl8weDNmNWUyMltfMHg0MWUzYWIoJzB4NjM1JyldKCdjb25zdHJ1Y3Rvclx4MjBjYW5ub3RceDIwYmVceDIwY29uc3RhbnQnLF8weDQxZTNhYignMHg4OWQnKSxfMHgzOGY0YzYpO2NvbnN0IF8weDNlZThjMD17J25hbWUnOm51bGwsJ3R5cGUnOl8weDM4ZjRjNltfMHg0MWUzYWIoJzB4NTdjJyldLCdpbnB1dHMnOl8weDM4ZjRjNltfMHg0MWUzYWIoJzB4YTliJyldP18weDM4ZjRjNltfMHg0MWUzYWIoJzB4YTliJyldW18weDQxZTNhYignMHgzYzknKV0oXzB4MTMzZTAwWydmcm9tT2JqZWN0J10pOltdLCdwYXlhYmxlJzpfMHgzNDdiMThbXzB4NDFlM2FiKCcweDVjYScpXSwnc3RhdGVNdXRhYmlsaXR5JzpfMHgzNDdiMThbJ3N0YXRlTXV0YWJpbGl0eSddLCdnYXMnOl8weDM4ZjRjNltfMHg0MWUzYWIoJzB4NDJmJyldP18weDEzMThmY1snTyQnXVtfMHg0MWUzYWIoJzB4MjUyJyldKF8weDM4ZjRjNltfMHg0MWUzYWIoJzB4NDJmJyldKTpudWxsfTtyZXR1cm4gbmV3IF8weDQxODM1NChfMHgyOWY2YWYsXzB4M2VlOGMwKTt9c3RhdGljW18weDNhM2NjMignMHg0ODcnKV0oXzB4MTQxOGFjKXt2YXIgXzB4NGEyN2IyPV8weDNhM2NjMjtsZXQgXzB4ZjI0Y2I2PXsndHlwZSc6J2NvbnN0cnVjdG9yJ30sXzB4MThkNDFmPShfMHgxNDE4YWM9XzB4MzBmN2ViKF8weDE0MThhYyxfMHhmMjRjYjYpKVtfMHg0YTI3YjIoJzB4NDI1JyldKF8weDI2ZjViYyk7cmV0dXJuIF8weDE4ZDQxZiYmJ2NvbnN0cnVjdG9yJz09PV8weDE4ZDQxZlsweDFdWyd0cmltJ10oKXx8XzB4M2Y1ZTIyW18weDRhMjdiMignMHg2MzUnKV0oXzB4NGEyN2IyKCcweDQ3MycpLF8weDRhMjdiMignMHg4OWQnKSxfMHgxNDE4YWMpLF8weGYyNGNiNltfMHg0YTI3YjIoJzB4YTliJyldPV8weDFiYjYyNyhfMHgxOGQ0MWZbMHgyXVsndHJpbSddKCksITB4MSksXzB4MTg0ODIxKF8weDE4ZDQxZlsweDNdW18weDRhMjdiMignMHg4ZDgnKV0oKSxfMHhmMjRjYjYpLF8weDQxODM1NFtfMHg0YTI3YjIoJzB4YjQzJyldKF8weGYyNGNiNik7fXN0YXRpY1tfMHgzYTNjYzIoJzB4MjA3JyldKF8weGFmZjdlMil7dmFyIF8weDI1OWYwMj1fMHgzYTNjYzI7cmV0dXJuIF8weGFmZjdlMiYmXzB4YWZmN2UyW18weDI1OWYwMignMHg1M2QnKV0mJidjb25zdHJ1Y3Rvcic9PT1fMHhhZmY3ZTJbXzB4MjU5ZjAyKCcweDU3YycpXTt9fWNsYXNzIF8weDIzZDFmZSBleHRlbmRzIF8weDQxODM1NHtbJ2Zvcm1hdCddKF8weDFhNjQ5Nil7dmFyIF8weDE3Njc2Nz1fMHgzYTNjYzI7aWYoXzB4MWE2NDk2fHwoXzB4MWE2NDk2PV8weDU3ZDhlN1tfMHgxNzY3NjcoJzB4NjU3JyldKSxfMHg1N2Q4ZTdbXzB4MWE2NDk2XXx8XzB4M2Y1ZTIyWyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHgxNzY3NjcoJzB4OGI2JyksXzB4MTc2NzY3KCcweDNjNycpLF8weDFhNjQ5NiksXzB4MWE2NDk2PT09XzB4NTdkOGU3W18weDE3Njc2NygnMHg0YmInKV0pcmV0dXJuIEpTT05bXzB4MTc2NzY3KCcweDMxZicpXSh7J3R5cGUnOl8weDE3Njc2NygnMHhjN2InKSwnbmFtZSc6dGhpc1tfMHgxNzY3NjcoJzB4YmM3JyldLCdjb25zdGFudCc6dGhpc1tfMHgxNzY3NjcoJzB4MjU4JyldLCdzdGF0ZU11dGFiaWxpdHknOl8weDE3Njc2NygnMHg5YzgnKSE9PXRoaXNbXzB4MTc2NzY3KCcweGE4NycpXT90aGlzW18weDE3Njc2NygnMHhhODcnKV06dm9pZCAweDAsJ3BheWFibGUnOnRoaXNbXzB4MTc2NzY3KCcweDVjYScpXSwnZ2FzJzp0aGlzW18weDE3Njc2NygnMHg0MmYnKV0/dGhpc1tfMHgxNzY3NjcoJzB4NDJmJyldW18weDE3Njc2NygnMHg5NDEnKV0oKTp2b2lkIDB4MCwnaW5wdXRzJzp0aGlzW18weDE3Njc2NygnMHhhOWInKV1bXzB4MTc2NzY3KCcweDNjOScpXShfMHg0YjVkMmY9PkpTT05bXzB4MTc2NzY3KCcweGJmOScpXShfMHg0YjVkMmZbJ2Zvcm1hdCddKF8weDFhNjQ5NikpKSwnb3V0cHV0cyc6dGhpc1snb3V0cHV0cyddW18weDE3Njc2NygnMHgzYzknKV0oXzB4MTgzYmNhPT5KU09OW18weDE3Njc2NygnMHhiZjknKV0oXzB4MTgzYmNhW18weDE3Njc2NygnMHgzYzcnKV0oXzB4MWE2NDk2KSkpfSk7bGV0IF8weDJmNDg3Zj0nJztyZXR1cm4gXzB4MWE2NDk2IT09XzB4NTdkOGU3W18weDE3Njc2NygnMHg2NTcnKV0mJihfMHgyZjQ4N2YrPSdmdW5jdGlvblx4MjAnKSxfMHgyZjQ4N2YrPXRoaXNbXzB4MTc2NzY3KCcweGJjNycpXSsnKCcrdGhpc1tfMHgxNzY3NjcoJzB4YTliJyldW18weDE3Njc2NygnMHgzYzknKV0oXzB4YjRkNzg4PT5fMHhiNGQ3ODhbJ2Zvcm1hdCddKF8weDFhNjQ5NikpW18weDE3Njc2NygnMHhhYTcnKV0oXzB4MWE2NDk2PT09XzB4NTdkOGU3W18weDE3Njc2NygnMHgyNTAnKV0/JyxceDIwJzonLCcpKycpXHgyMCcsXzB4MWE2NDk2IT09XzB4NTdkOGU3W18weDE3Njc2NygnMHg2NTcnKV0mJih0aGlzW18weDE3Njc2NygnMHhhODcnKV0/J25vbnBheWFibGUnIT09dGhpc1tfMHgxNzY3NjcoJzB4YTg3JyldJiYoXzB4MmY0ODdmKz10aGlzW18weDE3Njc2NygnMHhhODcnKV0rJ1x4MjAnKTp0aGlzWydjb25zdGFudCddJiYoXzB4MmY0ODdmKz1fMHgxNzY3NjcoJzB4YWFjJykpLHRoaXNbXzB4MTc2NzY3KCcweDFjYycpXSYmdGhpc1tfMHgxNzY3NjcoJzB4MWNjJyldW18weDE3Njc2NygnMHg1MjAnKV0mJihfMHgyZjQ4N2YrPV8weDE3Njc2NygnMHg4ZDYnKSt0aGlzWydvdXRwdXRzJ11bXzB4MTc2NzY3KCcweDNjOScpXShfMHgzOWVjNmQ9Pl8weDM5ZWM2ZFtfMHgxNzY3NjcoJzB4M2M3JyldKF8weDFhNjQ5NikpW18weDE3Njc2NygnMHhhYTcnKV0oJyxceDIwJykrJylceDIwJyksbnVsbCE9dGhpc1tfMHgxNzY3NjcoJzB4NDJmJyldJiYoXzB4MmY0ODdmKz0nQCcrdGhpc1tfMHgxNzY3NjcoJzB4NDJmJyldW18weDE3Njc2NygnMHg1NDcnKV0oKSsnXHgyMCcpKSxfMHgyZjQ4N2ZbXzB4MTc2NzY3KCcweDhkOCcpXSgpO31zdGF0aWNbXzB4M2EzY2MyKCcweDI1MicpXShfMHg0OWNiNjgpe3ZhciBfMHg4NjU2N2I9XzB4M2EzY2MyO3JldHVybiBfMHg4NjU2N2IoJzB4NjVmJyk9PXR5cGVvZiBfMHg0OWNiNjg/XzB4MjNkMWZlW18weDg2NTY3YignMHg0ODcnKV0oXzB4NDljYjY4KTpfMHgyM2QxZmVbXzB4ODY1NjdiKCcweGI0MycpXShfMHg0OWNiNjgpO31zdGF0aWNbJ2Zyb21PYmplY3QnXShfMHgyOTQzNDApe3ZhciBfMHgyOWY5ZWI9XzB4M2EzY2MyO2lmKF8weDIzZDFmZVtfMHgyOWY5ZWIoJzB4YmYzJyldKF8weDI5NDM0MCkpcmV0dXJuIF8weDI5NDM0MDtfMHgyOWY5ZWIoJzB4YzdiJykhPT1fMHgyOTQzNDBbXzB4MjlmOWViKCcweDU3YycpXSYmXzB4M2Y1ZTIyWyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHgyOWY5ZWIoJzB4Mjc2JyksXzB4MjlmOWViKCcweDg5ZCcpLF8weDI5NDM0MCk7bGV0IF8weDZjY2M1Mz1fMHg1MjNkNTkoXzB4Mjk0MzQwKTtjb25zdCBfMHg1MmRmZDI9eyd0eXBlJzpfMHgyOTQzNDBbXzB4MjlmOWViKCcweDU3YycpXSwnbmFtZSc6XzB4MzMyZjU4KF8weDI5NDM0MFtfMHgyOWY5ZWIoJzB4YmM3JyldKSwnY29uc3RhbnQnOl8weDZjY2M1M1tfMHgyOWY5ZWIoJzB4MjU4JyldLCdpbnB1dHMnOl8weDI5NDM0MFtfMHgyOWY5ZWIoJzB4YTliJyldP18weDI5NDM0MFtfMHgyOWY5ZWIoJzB4YTliJyldW18weDI5ZjllYignMHgzYzknKV0oXzB4MTMzZTAwW18weDI5ZjllYignMHhiNDMnKV0pOltdLCdvdXRwdXRzJzpfMHgyOTQzNDBbJ291dHB1dHMnXT9fMHgyOTQzNDBbXzB4MjlmOWViKCcweDFjYycpXVtfMHgyOWY5ZWIoJzB4M2M5JyldKF8weDEzM2UwMFsnZnJvbU9iamVjdCddKTpbXSwncGF5YWJsZSc6XzB4NmNjYzUzW18weDI5ZjllYignMHg1Y2EnKV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NmNjYzUzW18weDI5ZjllYignMHhhODcnKV0sJ2dhcyc6XzB4Mjk0MzQwW18weDI5ZjllYignMHg0MmYnKV0/XzB4MTMxOGZjWydPJCddW18weDI5ZjllYignMHgyNTInKV0oXzB4Mjk0MzQwW18weDI5ZjllYignMHg0MmYnKV0pOm51bGx9O3JldHVybiBuZXcgXzB4MjNkMWZlKF8weDI5ZjZhZixfMHg1MmRmZDIpO31zdGF0aWNbJ2Zyb21TdHJpbmcnXShfMHgxOTRkYjUpe3ZhciBfMHhhOGZlMjQ9XzB4M2EzY2MyO2xldCBfMHgyMmMyNTQ9eyd0eXBlJzpfMHhhOGZlMjQoJzB4YzdiJyl9LF8weDFlMjkwZj0oXzB4MTk0ZGI1PV8weDMwZjdlYihfMHgxOTRkYjUsXzB4MjJjMjU0KSlbXzB4YThmZTI0KCcweDk5NCcpXShfMHhhOGZlMjQoJzB4ODc3JykpO18weDFlMjkwZltfMHhhOGZlMjQoJzB4NTIwJyldPjB4MiYmXzB4M2Y1ZTIyW18weGE4ZmUyNCgnMHg2MzUnKV0oXzB4YThmZTI0KCcweDVlMycpLF8weGE4ZmUyNCgnMHg4OWQnKSxfMHgxOTRkYjUpO2xldCBfMHg1OTY2MWI9XzB4MWUyOTBmWzB4MF1bXzB4YThmZTI0KCcweDQyNScpXShfMHgyNmY1YmMpO2lmKF8weDU5NjYxYnx8XzB4M2Y1ZTIyWyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHhhOGZlMjQoJzB4NWRmJyksXzB4YThmZTI0KCcweDg5ZCcpLF8weDE5NGRiNSksXzB4MjJjMjU0W18weGE4ZmUyNCgnMHhiYzcnKV09XzB4NTk2NjFiWzB4MV1bJ3RyaW0nXSgpLF8weDIyYzI1NFtfMHhhOGZlMjQoJzB4YmM3JyldJiZfMHgzMzJmNTgoXzB4MjJjMjU0W18weGE4ZmUyNCgnMHhiYzcnKV0pLF8weDIyYzI1NFsnaW5wdXRzJ109XzB4MWJiNjI3KF8weDU5NjYxYlsweDJdLCEweDEpLF8weDE4NDgyMShfMHg1OTY2MWJbMHgzXVtfMHhhOGZlMjQoJzB4OGQ4JyldKCksXzB4MjJjMjU0KSxfMHgxZTI5MGZbXzB4YThmZTI0KCcweDUyMCcpXT4weDEpe2xldCBfMHgyNzVkNzA9XzB4MWUyOTBmWzB4MV1bXzB4YThmZTI0KCcweDQyNScpXShfMHgyNmY1YmMpOycnPT1fMHgyNzVkNzBbMHgxXVtfMHhhOGZlMjQoJzB4OGQ4JyldKCkmJicnPT1fMHgyNzVkNzBbMHgzXVtfMHhhOGZlMjQoJzB4OGQ4JyldKCl8fF8weDNmNWUyMltfMHhhOGZlMjQoJzB4NjM1JyldKF8weGE4ZmUyNCgnMHgzMjknKSxfMHhhOGZlMjQoJzB4ODlkJyksXzB4MTk0ZGI1KSxfMHgyMmMyNTRbXzB4YThmZTI0KCcweDFjYycpXT1fMHgxYmI2MjcoXzB4Mjc1ZDcwWzB4Ml0sITB4MSk7fWVsc2UgXzB4MjJjMjU0W18weGE4ZmUyNCgnMHgxY2MnKV09W107cmV0dXJuIF8weDIzZDFmZVtfMHhhOGZlMjQoJzB4YjQzJyldKF8weDIyYzI1NCk7fXN0YXRpY1snaXNGdW5jdGlvbkZyYWdtZW50J10oXzB4MzcyYWYwKXt2YXIgXzB4M2NlOGQxPV8weDNhM2NjMjtyZXR1cm4gXzB4MzcyYWYwJiZfMHgzNzJhZjBbJ19pc0ZyYWdtZW50J10mJl8weDNjZThkMSgnMHhjN2InKT09PV8weDM3MmFmMFtfMHgzY2U4ZDEoJzB4NTdjJyldO319ZnVuY3Rpb24gXzB4NWMzZjYyKF8weDFiYjkyMil7dmFyIF8weGU1OGNkYT1fMHgzYTNjYzI7Y29uc3QgXzB4NTNlMmVhPV8weDFiYjkyMltfMHhlNThjZGEoJzB4M2M3JyldKCk7cmV0dXJuIF8weGU1OGNkYSgnMHgxYWQnKSE9PV8weDUzZTJlYSYmXzB4ZTU4Y2RhKCcweDk1MicpIT09XzB4NTNlMmVhfHxfMHgzZjVlMjJbXzB4ZTU4Y2RhKCcweDYzNScpXSgnY2Fubm90XHgyMHNwZWNpZnlceDIwdXNlclx4MjBkZWZpbmVkXHgyMCcrXzB4NTNlMmVhK18weGU1OGNkYSgnMHg2ZTInKSxfMHhlNThjZGEoJzB4MzRlJyksXzB4MWJiOTIyKSxfMHgxYmI5MjI7fWNsYXNzIF8weDE3MDVjMSBleHRlbmRzIF8weDI1ZjBmZHtbXzB4M2EzY2MyKCcweDNjNycpXShfMHgzOTQ1MmUpe3ZhciBfMHg1NDNhZWU9XzB4M2EzY2MyO2lmKF8weDM5NDUyZXx8KF8weDM5NDUyZT1fMHg1N2Q4ZTdbJ3NpZ2hhc2gnXSksXzB4NTdkOGU3W18weDM5NDUyZV18fF8weDNmNWUyMltfMHg1NDNhZWUoJzB4NjM1JyldKCdpbnZhbGlkXHgyMGZvcm1hdFx4MjB0eXBlJyxfMHg1NDNhZWUoJzB4M2M3JyksXzB4Mzk0NTJlKSxfMHgzOTQ1MmU9PT1fMHg1N2Q4ZTdbJ2pzb24nXSlyZXR1cm4gSlNPTltfMHg1NDNhZWUoJzB4MzFmJyldKHsndHlwZSc6J2Vycm9yJywnbmFtZSc6dGhpc1snbmFtZSddLCdpbnB1dHMnOnRoaXNbXzB4NTQzYWVlKCcweGE5YicpXVtfMHg1NDNhZWUoJzB4M2M5JyldKF8weDJiNWZiYz0+SlNPTlsncGFyc2UnXShfMHgyYjVmYmNbXzB4NTQzYWVlKCcweDNjNycpXShfMHgzOTQ1MmUpKSl9KTtsZXQgXzB4NGQ3OTVlPScnO3JldHVybiBfMHgzOTQ1MmUhPT1fMHg1N2Q4ZTdbJ3NpZ2hhc2gnXSYmKF8weDRkNzk1ZSs9XzB4NTQzYWVlKCcweDIxNycpKSxfMHg0ZDc5NWUrPXRoaXNbJ25hbWUnXSsnKCcrdGhpc1tfMHg1NDNhZWUoJzB4YTliJyldW18weDU0M2FlZSgnMHgzYzknKV0oXzB4NTI4YTlhPT5fMHg1MjhhOWFbXzB4NTQzYWVlKCcweDNjNycpXShfMHgzOTQ1MmUpKVtfMHg1NDNhZWUoJzB4YWE3JyldKF8weDM5NDUyZT09PV8weDU3ZDhlN1tfMHg1NDNhZWUoJzB4MjUwJyldPycsXHgyMCc6JywnKSsnKVx4MjAnLF8weDRkNzk1ZVtfMHg1NDNhZWUoJzB4OGQ4JyldKCk7fXN0YXRpY1tfMHgzYTNjYzIoJzB4MjUyJyldKF8weDVjNTg5NCl7dmFyIF8weDQxYmFkYT1fMHgzYTNjYzI7cmV0dXJuIF8weDQxYmFkYSgnMHg2NWYnKT09dHlwZW9mIF8weDVjNTg5ND9fMHgxNzA1YzFbJ2Zyb21TdHJpbmcnXShfMHg1YzU4OTQpOl8weDE3MDVjMVtfMHg0MWJhZGEoJzB4YjQzJyldKF8weDVjNTg5NCk7fXN0YXRpY1tfMHgzYTNjYzIoJzB4YjQzJyldKF8weDI3YWI0Zil7dmFyIF8weDQ1MTIyOT1fMHgzYTNjYzI7aWYoXzB4MTcwNWMxW18weDQ1MTIyOSgnMHg0ZmUnKV0oXzB4MjdhYjRmKSlyZXR1cm4gXzB4MjdhYjRmO18weDQ1MTIyOSgnMHhjOWUnKSE9PV8weDI3YWI0ZltfMHg0NTEyMjkoJzB4NTdjJyldJiZfMHgzZjVlMjJbXzB4NDUxMjI5KCcweDYzNScpXSgnaW52YWxpZFx4MjBlcnJvclx4MjBvYmplY3QnLCd2YWx1ZScsXzB4MjdhYjRmKTtjb25zdCBfMHgyMTM3YmU9eyd0eXBlJzpfMHgyN2FiNGZbXzB4NDUxMjI5KCcweDU3YycpXSwnbmFtZSc6XzB4MzMyZjU4KF8weDI3YWI0ZltfMHg0NTEyMjkoJzB4YmM3JyldKSwnaW5wdXRzJzpfMHgyN2FiNGZbXzB4NDUxMjI5KCcweGE5YicpXT9fMHgyN2FiNGZbJ2lucHV0cyddW18weDQ1MTIyOSgnMHgzYzknKV0oXzB4MTMzZTAwW18weDQ1MTIyOSgnMHhiNDMnKV0pOltdfTtyZXR1cm4gXzB4NWMzZjYyKG5ldyBfMHgxNzA1YzEoXzB4MjlmNmFmLF8weDIxMzdiZSkpO31zdGF0aWNbXzB4M2EzY2MyKCcweDQ4NycpXShfMHgxNzgxMjApe3ZhciBfMHgyMWVjMDg9XzB4M2EzY2MyO2xldCBfMHgzYjY2OGE9eyd0eXBlJzpfMHgyMWVjMDgoJzB4YzllJyl9LF8weDU0YTcyZj1fMHgxNzgxMjBbXzB4MjFlYzA4KCcweDQyNScpXShfMHgyNmY1YmMpO3JldHVybiBfMHg1NGE3MmZ8fF8weDNmNWUyMltfMHgyMWVjMDgoJzB4NjM1JyldKF8weDIxZWMwOCgnMHgyMWEnKSxfMHgyMWVjMDgoJzB4ODlkJyksXzB4MTc4MTIwKSxfMHgzYjY2OGFbXzB4MjFlYzA4KCcweGJjNycpXT1fMHg1NGE3MmZbMHgxXVsndHJpbSddKCksXzB4M2I2NjhhW18weDIxZWMwOCgnMHhiYzcnKV0mJl8weDMzMmY1OChfMHgzYjY2OGFbXzB4MjFlYzA4KCcweGJjNycpXSksXzB4M2I2NjhhW18weDIxZWMwOCgnMHhhOWInKV09XzB4MWJiNjI3KF8weDU0YTcyZlsweDJdLCEweDEpLF8weDVjM2Y2MihfMHgxNzA1YzFbXzB4MjFlYzA4KCcweGI0MycpXShfMHgzYjY2OGEpKTt9c3RhdGljW18weDNhM2NjMignMHg0ZmUnKV0oXzB4MzY3M2RhKXt2YXIgXzB4MTZjODk4PV8weDNhM2NjMjtyZXR1cm4gXzB4MzY3M2RhJiZfMHgzNjczZGFbXzB4MTZjODk4KCcweDUzZCcpXSYmXzB4MTZjODk4KCcweGM5ZScpPT09XzB4MzY3M2RhW18weDE2Yzg5OCgnMHg1N2MnKV07fX1mdW5jdGlvbiBfMHg1MjdhNWMoXzB4MzFhZDI1KXt2YXIgXzB4MmJiZjFjPV8weDNhM2NjMjtyZXR1cm4gXzB4MzFhZDI1W18weDJiYmYxYygnMHg0MjUnKV0oL151aW50KCR8W14xLTldKS8pP18weDMxYWQyNT1fMHgyYmJmMWMoJzB4NWIzJykrXzB4MzFhZDI1W18weDJiYmYxYygnMHg3M2QnKV0oMHg0KTpfMHgzMWFkMjVbXzB4MmJiZjFjKCcweDQyNScpXSgvXmludCgkfFteMS05XSkvKSYmKF8weDMxYWQyNT1fMHgyYmJmMWMoJzB4YzBkJykrXzB4MzFhZDI1W18weDJiYmYxYygnMHg3M2QnKV0oMHgzKSksXzB4MzFhZDI1O31jb25zdCBfMHg5ZTA0NGI9bmV3IFJlZ0V4cChfMHgzYTNjYzIoJzB4YTIyJykpO2Z1bmN0aW9uIF8weDMzMmY1OChfMHg0NWI0M2Mpe3ZhciBfMHgxMjZmNGI9XzB4M2EzY2MyO3JldHVybiBfMHg0NWI0M2MmJl8weDQ1YjQzY1snbWF0Y2gnXShfMHg5ZTA0NGIpfHxfMHgzZjVlMjJbJ3Rocm93QXJndW1lbnRFcnJvciddKF8weDEyNmY0YignMHg1MTcnKStfMHg0NWI0M2MrJ1x4MjInLF8weDEyNmY0YignMHg4OWQnKSxfMHg0NWI0M2MpLF8weDQ1YjQzYzt9Y29uc3QgXzB4MjZmNWJjPW5ldyBSZWdFeHAoJ14oW14pKF0qKVx4NWMoKC4qKVx4NWMpKFteKShdKikkJyk7fSwweGYzNTooXzB4M2VmYzE1LF8weDJkMjhjNCxfMHg0NTRhM2IpPT57J3VzZSBzdHJpY3QnO18weDQ1NGEzYlsnciddKF8weDJkMjhjNCksXzB4NDU0YTNiWydkJ10oXzB4MmQyOGM0LHsnQWJpQ29kZXInOigpPT5fMHg1OGZjYTFbJ1InXSwnQ29uc3RydWN0b3JGcmFnbWVudCc6KCk9Pl8weDNiZWRmMFsnWGcnXSwnRXJyb3JGcmFnbWVudCc6KCk9Pl8weDNiZWRmMFsnSUMnXSwnRXZlbnRGcmFnbWVudCc6KCk9Pl8weDNiZWRmMFsnUVYnXSwnRm9ybWF0VHlwZXMnOigpPT5fMHgzYmVkZjBbJ3BjJ10sJ0ZyYWdtZW50JzooKT0+XzB4M2JlZGYwWydIWSddLCdGdW5jdGlvbkZyYWdtZW50JzooKT0+XzB4M2JlZGYwWydZVyddLCdJbmRleGVkJzooKT0+XzB4NTM2NGEwWydIayddLCdJbnRlcmZhY2UnOigpPT5fMHg1MzY0YTBbJ3ZVJ10sJ0xvZ0Rlc2NyaXB0aW9uJzooKT0+XzB4NTM2NGEwWydDQyddLCdQYXJhbVR5cGUnOigpPT5fMHgzYmVkZjBbJ19SJ10sJ1RyYW5zYWN0aW9uRGVzY3JpcHRpb24nOigpPT5fMHg1MzY0YTBbJ3ZrJ10sJ2NoZWNrUmVzdWx0RXJyb3JzJzooKT0+XzB4NGI0MjllWydCUiddLCdkZWZhdWx0QWJpQ29kZXInOigpPT5fMHg1OGZjYTFbJyQnXX0pO3ZhciBfMHgzYmVkZjA9XzB4NDU0YTNiKDB4NTZjKSxfMHg1OGZjYTE9XzB4NDU0YTNiKDB4YWFlKSxfMHg1MzY0YTA9XzB4NDU0YTNiKDB4MjAwNiksXzB4NGI0MjllPV8weDQ1NGEzYigweDRhMCk7fSwweDIwMDY6KF8weDI0NDcyNSxfMHg0ZjdhOTEsXzB4MWI3MmJlKT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4OWJjZjg9XzB4MTVhMztfMHgxYjcyYmVbJ2QnXShfMHg0ZjdhOTEseydDQyc6KCk9Pl8weDIwNzZjZSwnSGsnOigpPT5fMHgxYWU5OWEsJ3ZVJzooKT0+XzB4ZGM4NDZlLCd2ayc6KCk9Pl8weDIyNTIzOX0pO3ZhciBfMHgzMzU0OGY9XzB4MWI3MmJlKDB4MTFmMiksXzB4NGRlY2Y3PV8weDFiNzJiZSgweGEyMSksXzB4NTVmMTFiPV8weDFiNzJiZSgweGNkNiksXzB4NGFiODAxPV8weDFiNzJiZSgweDdmZSksXzB4MTM0NTM2PV8weDFiNzJiZSgweDIwMDUpLF8weDRmOTdjMT1fMHgxYjcyYmUoMHhlMDMpLF8weDRhMmJhMj1fMHgxYjcyYmUoMHhhYWUpLF8weDRlZTIzYz1fMHgxYjcyYmUoMHg1NmMpLF8weDNlYzNmYz1fMHgxYjcyYmUoMHgyYzcpLF8weDQwNTc0ZD1fMHgxYjcyYmUoMHgxNmRiKTtjb25zdCBfMHgzMmRhMjQ9bmV3IF8weDNlYzNmY1soXzB4OWJjZjgoJzB4Y2U3JykpXShfMHg0MDU3NGRbJ2knXSk7Y2xhc3MgXzB4MjA3NmNlIGV4dGVuZHMgXzB4NGY5N2MxW18weDliY2Y4KCcweDc0MScpXXt9Y2xhc3MgXzB4MjI1MjM5IGV4dGVuZHMgXzB4NGY5N2MxW18weDliY2Y4KCcweDc0MScpXXt9Y2xhc3MgXzB4MTNhNWZhIGV4dGVuZHMgXzB4NGY5N2MxW18weDliY2Y4KCcweDc0MScpXXt9Y2xhc3MgXzB4MWFlOTlhIGV4dGVuZHMgXzB4NGY5N2MxW18weDliY2Y4KCcweDc0MScpXXtzdGF0aWNbXzB4OWJjZjgoJzB4NGVmJyldKF8weDNkODEzNCl7cmV0dXJuISghXzB4M2Q4MTM0fHwhXzB4M2Q4MTM0WydfaXNJbmRleGVkJ10pO319Y29uc3QgXzB4NGQ0M2Q5PXsnMHgwOGMzNzlhMCc6eydzaWduYXR1cmUnOl8weDliY2Y4KCcweDFhZCcpLCduYW1lJzpfMHg5YmNmOCgnMHgyN2MnKSwnaW5wdXRzJzpbXzB4OWJjZjgoJzB4NjVmJyldLCdyZWFzb24nOiEweDB9LCcweDRlNDg3YjcxJzp7J3NpZ25hdHVyZSc6XzB4OWJjZjgoJzB4OTUyJyksJ25hbWUnOidQYW5pYycsJ2lucHV0cyc6Wyd1aW50MjU2J119fTtmdW5jdGlvbiBfMHgyMjU4MDQoXzB4MjcwOWUzLF8weGEzMDhjZSl7dmFyIF8weGI4ODFjMj1fMHg5YmNmODtjb25zdCBfMHgxMDU4NTI9bmV3IEVycm9yKF8weGI4ODFjMignMHhkMWInKStfMHgyNzA5ZTMpO3JldHVybiBfMHgxMDU4NTJbJ2Vycm9yJ109XzB4YTMwOGNlLF8weDEwNTg1Mjt9Y2xhc3MgXzB4ZGM4NDZle2NvbnN0cnVjdG9yKF8weDUxMmI4ZSl7dmFyIF8weDIwYzBiMD1fMHg5YmNmODtsZXQgXzB4MTI3YTc2PVtdO18weDEyN2E3Nj0nc3RyaW5nJz09dHlwZW9mIF8weDUxMmI4ZT9KU09OW18weDIwYzBiMCgnMHhiZjknKV0oXzB4NTEyYjhlKTpfMHg1MTJiOGUsKDB4MCxfMHg0Zjk3YzFbXzB4MjBjMGIwKCcweGNlOScpXSkodGhpcyxfMHgyMGMwYjAoJzB4Y2VmJyksXzB4MTI3YTc2WydtYXAnXShfMHgyYTQ2ZjA9Pl8weDRlZTIzY1snSFknXVtfMHgyMGMwYjAoJzB4MjUyJyldKF8weDJhNDZmMCkpW18weDIwYzBiMCgnMHgzYWInKV0oXzB4NWI1Mzc1PT5udWxsIT1fMHg1YjUzNzUpKSwoMHgwLF8weDRmOTdjMVtfMHgyMGMwYjAoJzB4Y2U5JyldKSh0aGlzLF8weDIwYzBiMCgnMHhjM2UnKSwoMHgwLF8weDRmOTdjMVtfMHgyMGMwYjAoJzB4NGY1JyldKShuZXcudGFyZ2V0LCdnZXRBYmlDb2RlcicpKCkpLCgweDAsXzB4NGY5N2MxW18weDIwYzBiMCgnMHhjZTknKV0pKHRoaXMsXzB4MjBjMGIwKCcweDIwOCcpLHt9KSwoMHgwLF8weDRmOTdjMVsnZGVmaW5lUmVhZE9ubHknXSkodGhpcyxfMHgyMGMwYjAoJzB4OTQ5Jykse30pLCgweDAsXzB4NGY5N2MxW18weDIwYzBiMCgnMHhjZTknKV0pKHRoaXMsXzB4MjBjMGIwKCcweDQxYycpLHt9KSwoMHgwLF8weDRmOTdjMVsnZGVmaW5lUmVhZE9ubHknXSkodGhpcyxfMHgyMGMwYjAoJzB4NjY1Jykse30pLHRoaXNbXzB4MjBjMGIwKCcweGNlZicpXVtfMHgyMGMwYjAoJzB4NTFlJyldKF8weGU2OTRlPT57dmFyIF8weDUzZjNlMj1fMHgyMGMwYjA7bGV0IF8weDU3MzM1Mz1udWxsO3N3aXRjaChfMHhlNjk0ZVtfMHg1M2YzZTIoJzB4NTdjJyldKXtjYXNlIF8weDUzZjNlMignMHhiZmMnKTpyZXR1cm4gdGhpc1snZGVwbG95J10/dm9pZCBfMHgzMmRhMjRbXzB4NTNmM2UyKCcweDVkNCcpXSgnZHVwbGljYXRlXHgyMGRlZmluaXRpb25ceDIwLVx4MjBjb25zdHJ1Y3RvcicpOnZvaWQoMHgwLF8weDRmOTdjMVsnZGVmaW5lUmVhZE9ubHknXSkodGhpcywnZGVwbG95JyxfMHhlNjk0ZSk7Y2FzZSBfMHg1M2YzZTIoJzB4YzdiJyk6XzB4NTczMzUzPXRoaXNbXzB4NTNmM2UyKCcweDIwOCcpXTticmVhaztjYXNlJ2V2ZW50JzpfMHg1NzMzNTM9dGhpc1tfMHg1M2YzZTIoJzB4NDFjJyldO2JyZWFrO2Nhc2UgXzB4NTNmM2UyKCcweGM5ZScpOl8weDU3MzM1Mz10aGlzW18weDUzZjNlMignMHg5NDknKV07YnJlYWs7ZGVmYXVsdDpyZXR1cm47fWxldCBfMHgzYzI2M2Q9XzB4ZTY5NGVbXzB4NTNmM2UyKCcweDNjNycpXSgpO18weDU3MzM1M1tfMHgzYzI2M2RdP18weDMyZGEyNFtfMHg1M2YzZTIoJzB4NWQ0JyldKF8weDUzZjNlMignMHgzMDQnKStfMHgzYzI2M2QpOl8weDU3MzM1M1tfMHgzYzI2M2RdPV8weGU2OTRlO30pLHRoaXNbXzB4MjBjMGIwKCcweDU5OScpXXx8KDB4MCxfMHg0Zjk3YzFbXzB4MjBjMGIwKCcweGNlOScpXSkodGhpcywnZGVwbG95JyxfMHg0ZWUyM2NbJ1hnJ11bXzB4MjBjMGIwKCcweDI1MicpXSh7J3BheWFibGUnOiEweDEsJ3R5cGUnOl8weDIwYzBiMCgnMHhiZmMnKX0pKSwoMHgwLF8weDRmOTdjMVtfMHgyMGMwYjAoJzB4Y2U5JyldKSh0aGlzLF8weDIwYzBiMCgnMHg2OWUnKSwhMHgwKTt9W18weDliY2Y4KCcweDNjNycpXShfMHgyYzBmNjkpe3ZhciBfMHg1ZjJkZmU9XzB4OWJjZjg7XzB4MmMwZjY5fHwoXzB4MmMwZjY5PV8weDRlZTIzY1sncGMnXVsnZnVsbCddKSxfMHgyYzBmNjk9PT1fMHg0ZWUyM2NbJ3BjJ11bJ3NpZ2hhc2gnXSYmXzB4MzJkYTI0Wyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHg1ZjJkZmUoJzB4MWE1JyksXzB4NWYyZGZlKCcweDNjNycpLF8weDJjMGY2OSk7Y29uc3QgXzB4MTdiN2UyPXRoaXNbXzB4NWYyZGZlKCcweGNlZicpXVtfMHg1ZjJkZmUoJzB4M2M5JyldKF8weDFjMjkxOD0+XzB4MWMyOTE4W18weDVmMmRmZSgnMHgzYzcnKV0oXzB4MmMwZjY5KSk7cmV0dXJuIF8weDJjMGY2OT09PV8weDRlZTIzY1sncGMnXVtfMHg1ZjJkZmUoJzB4NGJiJyldP0pTT05bXzB4NWYyZGZlKCcweDMxZicpXShfMHgxN2I3ZTJbXzB4NWYyZGZlKCcweDNjOScpXShfMHgxOGZiOTE9PkpTT05bXzB4NWYyZGZlKCcweGJmOScpXShfMHgxOGZiOTEpKSk6XzB4MTdiN2UyO31zdGF0aWNbXzB4OWJjZjgoJzB4YTZiJyldKCl7cmV0dXJuIF8weDRhMmJhMlsnJCddO31zdGF0aWNbXzB4OWJjZjgoJzB4M2RmJyldKF8weDU3OTdkZCl7cmV0dXJuKDB4MCxfMHgzMzU0OGZbJ2dldEFkZHJlc3MnXSkoXzB4NTc5N2RkKTt9c3RhdGljW18weDliY2Y4KCcweDRhYScpXShfMHg0MWRlOWQpe3ZhciBfMHgxMzE4OTQ9XzB4OWJjZjg7cmV0dXJuKDB4MCxfMHg1NWYxMWJbXzB4MTMxODk0KCcweDgxMScpXSkoKDB4MCxfMHg0YWI4MDFbJ2lkJ10pKF8weDQxZGU5ZFtfMHgxMzE4OTQoJzB4M2M3JyldKCkpLDB4MCwweDQpO31zdGF0aWNbJ2dldEV2ZW50VG9waWMnXShfMHgxYzQzOTIpe3ZhciBfMHgyNDk2YjQ9XzB4OWJjZjg7cmV0dXJuKDB4MCxfMHg0YWI4MDFbJ2lkJ10pKF8weDFjNDM5MltfMHgyNDk2YjQoJzB4M2M3JyldKCkpO31bJ2dldEZ1bmN0aW9uJ10oXzB4MjE3MTczKXt2YXIgXzB4NGZmZWMzPV8weDliY2Y4O2lmKCgweDAsXzB4NTVmMTFiWydpc0hleFN0cmluZyddKShfMHgyMTcxNzMpKXtmb3IoY29uc3QgXzB4MmZjYmU5IGluIHRoaXNbXzB4NGZmZWMzKCcweDIwOCcpXSlpZihfMHgyMTcxNzM9PT10aGlzW18weDRmZmVjMygnMHg0YWEnKV0oXzB4MmZjYmU5KSlyZXR1cm4gdGhpc1snZnVuY3Rpb25zJ11bXzB4MmZjYmU5XTtfMHgzMmRhMjRbXzB4NGZmZWMzKCcweDYzNScpXShfMHg0ZmZlYzMoJzB4OWY4JyksJ3NpZ2hhc2gnLF8weDIxNzE3Myk7fWlmKC0weDE9PT1fMHgyMTcxNzNbXzB4NGZmZWMzKCcweGFjMCcpXSgnKCcpKXtjb25zdCBfMHgzZjgzMWU9XzB4MjE3MTczW18weDRmZmVjMygnMHg4ZDgnKV0oKSxfMHg2NmQ4OGM9T2JqZWN0WydrZXlzJ10odGhpc1snZnVuY3Rpb25zJ10pW18weDRmZmVjMygnMHgzYWInKV0oXzB4MzM2NjBlPT5fMHgzMzY2MGVbXzB4NGZmZWMzKCcweDk5NCcpXSgnKCcpWzB4MF09PT1fMHgzZjgzMWUpO3JldHVybiAweDA9PT1fMHg2NmQ4OGNbXzB4NGZmZWMzKCcweDUyMCcpXT9fMHgzMmRhMjRbXzB4NGZmZWMzKCcweDYzNScpXShfMHg0ZmZlYzMoJzB4OWY4JyksJ25hbWUnLF8weDNmODMxZSk6XzB4NjZkODhjW18weDRmZmVjMygnMHg1MjAnKV0+MHgxJiZfMHgzMmRhMjRbJ3Rocm93QXJndW1lbnRFcnJvciddKCdtdWx0aXBsZVx4MjBtYXRjaGluZ1x4MjBmdW5jdGlvbnMnLCduYW1lJyxfMHgzZjgzMWUpLHRoaXNbXzB4NGZmZWMzKCcweDIwOCcpXVtfMHg2NmQ4OGNbMHgwXV07fWNvbnN0IF8weDUzOGYxOT10aGlzW18weDRmZmVjMygnMHgyMDgnKV1bXzB4NGVlMjNjWydZVyddW18weDRmZmVjMygnMHg0ODcnKV0oXzB4MjE3MTczKVsnZm9ybWF0J10oKV07cmV0dXJuIF8weDUzOGYxOXx8XzB4MzJkYTI0W18weDRmZmVjMygnMHg2MzUnKV0oXzB4NGZmZWMzKCcweDlmOCcpLCdzaWduYXR1cmUnLF8weDIxNzE3MyksXzB4NTM4ZjE5O31bXzB4OWJjZjgoJzB4ODNhJyldKF8weGE2MmVhMCl7dmFyIF8weDQ3MTc1Nj1fMHg5YmNmODtpZigoMHgwLF8weDU1ZjExYlsnaXNIZXhTdHJpbmcnXSkoXzB4YTYyZWEwKSl7Y29uc3QgXzB4NDkyOTE1PV8weGE2MmVhMFtfMHg0NzE3NTYoJzB4ODcwJyldKCk7Zm9yKGNvbnN0IF8weGUyNzRhOCBpbiB0aGlzWydldmVudHMnXSlpZihfMHg0OTI5MTU9PT10aGlzW18weDQ3MTc1NignMHg2MmMnKV0oXzB4ZTI3NGE4KSlyZXR1cm4gdGhpc1snZXZlbnRzJ11bXzB4ZTI3NGE4XTtfMHgzMmRhMjRbXzB4NDcxNzU2KCcweDYzNScpXSgnbm9ceDIwbWF0Y2hpbmdceDIwZXZlbnQnLCd0b3BpY2hhc2gnLF8weDQ5MjkxNSk7fWlmKC0weDE9PT1fMHhhNjJlYTBbXzB4NDcxNzU2KCcweGFjMCcpXSgnKCcpKXtjb25zdCBfMHg1NTYwY2M9XzB4YTYyZWEwW18weDQ3MTc1NignMHg4ZDgnKV0oKSxfMHg1NDJhMGM9T2JqZWN0W18weDQ3MTc1NignMHg2MzYnKV0odGhpc1tfMHg0NzE3NTYoJzB4NDFjJyldKVsnZmlsdGVyJ10oXzB4MmIzMzMwPT5fMHgyYjMzMzBbJ3NwbGl0J10oJygnKVsweDBdPT09XzB4NTU2MGNjKTtyZXR1cm4gMHgwPT09XzB4NTQyYTBjW18weDQ3MTc1NignMHg1MjAnKV0/XzB4MzJkYTI0W18weDQ3MTc1NignMHg2MzUnKV0oJ25vXHgyMG1hdGNoaW5nXHgyMGV2ZW50JyxfMHg0NzE3NTYoJzB4YmM3JyksXzB4NTU2MGNjKTpfMHg1NDJhMGNbXzB4NDcxNzU2KCcweDUyMCcpXT4weDEmJl8weDMyZGEyNFtfMHg0NzE3NTYoJzB4NjM1JyldKF8weDQ3MTc1NignMHhhZmYnKSxfMHg0NzE3NTYoJzB4YmM3JyksXzB4NTU2MGNjKSx0aGlzW18weDQ3MTc1NignMHg0MWMnKV1bXzB4NTQyYTBjWzB4MF1dO31jb25zdCBfMHgyZmNmOGE9dGhpc1tfMHg0NzE3NTYoJzB4NDFjJyldW18weDRlZTIzY1snUVYnXVsnZnJvbVN0cmluZyddKF8weGE2MmVhMClbJ2Zvcm1hdCddKCldO3JldHVybiBfMHgyZmNmOGF8fF8weDMyZGEyNFsndGhyb3dBcmd1bWVudEVycm9yJ10oXzB4NDcxNzU2KCcweGE2OScpLF8weDQ3MTc1NignMHgzYTMnKSxfMHhhNjJlYTApLF8weDJmY2Y4YTt9W18weDliY2Y4KCcweDFhMicpXShfMHgyMzU0MTIpe3ZhciBfMHg1MjRjNjQ9XzB4OWJjZjg7aWYoKDB4MCxfMHg1NWYxMWJbJ2lzSGV4U3RyaW5nJ10pKF8weDIzNTQxMikpe2NvbnN0IF8weDQwODQ0MD0oMHgwLF8weDRmOTdjMVsnZ2V0U3RhdGljJ10pKHRoaXNbXzB4NTI0YzY0KCcweGJmYycpXSxfMHg1MjRjNjQoJzB4NGFhJykpO2Zvcihjb25zdCBfMHgzMGJlMTAgaW4gdGhpc1tfMHg1MjRjNjQoJzB4OTQ5JyldKWlmKF8weDIzNTQxMj09PV8weDQwODQ0MCh0aGlzWydlcnJvcnMnXVtfMHgzMGJlMTBdKSlyZXR1cm4gdGhpc1tfMHg1MjRjNjQoJzB4OTQ5JyldW18weDMwYmUxMF07XzB4MzJkYTI0Wyd0aHJvd0FyZ3VtZW50RXJyb3InXSgnbm9ceDIwbWF0Y2hpbmdceDIwZXJyb3InLF8weDUyNGM2NCgnMHg2NTcnKSxfMHgyMzU0MTIpO31pZigtMHgxPT09XzB4MjM1NDEyWydpbmRleE9mJ10oJygnKSl7Y29uc3QgXzB4NDU5MGNiPV8weDIzNTQxMltfMHg1MjRjNjQoJzB4OGQ4JyldKCksXzB4MzdlODcxPU9iamVjdFtfMHg1MjRjNjQoJzB4NjM2JyldKHRoaXNbJ2Vycm9ycyddKVtfMHg1MjRjNjQoJzB4M2FiJyldKF8weDI1NThiMD0+XzB4MjU1OGIwWydzcGxpdCddKCcoJylbMHgwXT09PV8weDQ1OTBjYik7cmV0dXJuIDB4MD09PV8weDM3ZTg3MVtfMHg1MjRjNjQoJzB4NTIwJyldP18weDMyZGEyNFtfMHg1MjRjNjQoJzB4NjM1JyldKF8weDUyNGM2NCgnMHgyMjgnKSxfMHg1MjRjNjQoJzB4YmM3JyksXzB4NDU5MGNiKTpfMHgzN2U4NzFbXzB4NTI0YzY0KCcweDUyMCcpXT4weDEmJl8weDMyZGEyNFtfMHg1MjRjNjQoJzB4NjM1JyldKF8weDUyNGM2NCgnMHg2OGQnKSxfMHg1MjRjNjQoJzB4YmM3JyksXzB4NDU5MGNiKSx0aGlzWydlcnJvcnMnXVtfMHgzN2U4NzFbMHgwXV07fWNvbnN0IF8weDVjYjI0NT10aGlzW18weDUyNGM2NCgnMHg5NDknKV1bXzB4NGVlMjNjWydZVyddWydmcm9tU3RyaW5nJ10oXzB4MjM1NDEyKVtfMHg1MjRjNjQoJzB4M2M3JyldKCldO3JldHVybiBfMHg1Y2IyNDV8fF8weDMyZGEyNFtfMHg1MjRjNjQoJzB4NjM1JyldKF8weDUyNGM2NCgnMHgyMjgnKSxfMHg1MjRjNjQoJzB4M2EzJyksXzB4MjM1NDEyKSxfMHg1Y2IyNDU7fVtfMHg5YmNmOCgnMHg0YWEnKV0oXzB4NGQ0YTY2KXt2YXIgXzB4M2JjNTViPV8weDliY2Y4O2lmKF8weDNiYzU1YignMHg2NWYnKT09dHlwZW9mIF8weDRkNGE2Nil0cnl7XzB4NGQ0YTY2PXRoaXNbXzB4M2JjNTViKCcweDc3YScpXShfMHg0ZDRhNjYpO31jYXRjaChfMHg4NDI1YTApe3RyeXtfMHg0ZDRhNjY9dGhpc1tfMHgzYmM1NWIoJzB4MWEyJyldKF8weDRkNGE2Nik7fWNhdGNoKF8weDVhOTdhMSl7dGhyb3cgXzB4ODQyNWEwO319cmV0dXJuKDB4MCxfMHg0Zjk3YzFbXzB4M2JjNTViKCcweDRmNScpXSkodGhpc1tfMHgzYmM1NWIoJzB4YmZjJyldLF8weDNiYzU1YignMHg0YWEnKSkoXzB4NGQ0YTY2KTt9W18weDliY2Y4KCcweDYyYycpXShfMHg0OGMyMGIpe3ZhciBfMHg1NDk2YTI9XzB4OWJjZjg7cmV0dXJuIF8weDU0OTZhMignMHg2NWYnKT09dHlwZW9mIF8weDQ4YzIwYiYmKF8weDQ4YzIwYj10aGlzWydnZXRFdmVudCddKF8weDQ4YzIwYikpLCgweDAsXzB4NGY5N2MxW18weDU0OTZhMignMHg0ZjUnKV0pKHRoaXNbXzB4NTQ5NmEyKCcweGJmYycpXSxfMHg1NDk2YTIoJzB4NjJjJykpKF8weDQ4YzIwYik7fVtfMHg5YmNmOCgnMHhkMjQnKV0oXzB4Y2U0Y2NjLF8weDRlZmIzYyl7dmFyIF8weGQ3ZGU4Mj1fMHg5YmNmODtyZXR1cm4gdGhpc1tfMHhkN2RlODIoJzB4YzNlJyldW18weGQ3ZGU4MignMHg1OGYnKV0oXzB4Y2U0Y2NjLF8weDRlZmIzYyk7fVsnX2VuY29kZVBhcmFtcyddKF8weDM0M2JjYyxfMHg0ZDMzMWUpe3ZhciBfMHgyMjAzNjI9XzB4OWJjZjg7cmV0dXJuIHRoaXNbXzB4MjIwMzYyKCcweGMzZScpXVtfMHgyMjAzNjIoJzB4YTUxJyldKF8weDM0M2JjYyxfMHg0ZDMzMWUpO31bJ2VuY29kZURlcGxveSddKF8weDJkYTI5Yyl7dmFyIF8weDNhMzI5NT1fMHg5YmNmODtyZXR1cm4gdGhpc1snX2VuY29kZVBhcmFtcyddKHRoaXNbXzB4M2EzMjk1KCcweDU5OScpXVtfMHgzYTMyOTUoJzB4YTliJyldLF8weDJkYTI5Y3x8W10pO31bJ2RlY29kZUVycm9yUmVzdWx0J10oXzB4NWNiNWYwLF8weDNiMDJmYyl7dmFyIF8weDM5ZGYzYz1fMHg5YmNmODtfMHgzOWRmM2MoJzB4NjVmJyk9PXR5cGVvZiBfMHg1Y2I1ZjAmJihfMHg1Y2I1ZjA9dGhpc1tfMHgzOWRmM2MoJzB4MWEyJyldKF8weDVjYjVmMCkpO2NvbnN0IF8weDMyZjMzOD0oMHgwLF8weDU1ZjExYlsnYXJyYXlpZnknXSkoXzB4M2IwMmZjKTtyZXR1cm4oMHgwLF8weDU1ZjExYltfMHgzOWRmM2MoJzB4MzU2JyldKShfMHgzMmYzMzhbXzB4MzlkZjNjKCcweGFkYScpXSgweDAsMHg0KSkhPT10aGlzW18weDM5ZGYzYygnMHg0YWEnKV0oXzB4NWNiNWYwKSYmXzB4MzJkYTI0Wyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHgzOWRmM2MoJzB4OGQwJykrXzB4NWNiNWYwW18weDM5ZGYzYygnMHhiYzcnKV0rJy4nLF8weDM5ZGYzYygnMHhhNTgnKSwoMHgwLF8weDU1ZjExYltfMHgzOWRmM2MoJzB4MzU2JyldKShfMHgzMmYzMzgpKSx0aGlzWydfZGVjb2RlUGFyYW1zJ10oXzB4NWNiNWYwW18weDM5ZGYzYygnMHhhOWInKV0sXzB4MzJmMzM4WydzbGljZSddKDB4NCkpO31bXzB4OWJjZjgoJzB4NWViJyldKF8weDQ5N2MyMyxfMHg0NGE4Nzcpe3ZhciBfMHgyZDIwYWI9XzB4OWJjZjg7cmV0dXJuJ3N0cmluZyc9PXR5cGVvZiBfMHg0OTdjMjMmJihfMHg0OTdjMjM9dGhpc1snZ2V0RXJyb3InXShfMHg0OTdjMjMpKSwoMHgwLF8weDU1ZjExYlsnaGV4bGlmeSddKSgoMHgwLF8weDU1ZjExYlsnY29uY2F0J10pKFt0aGlzW18weDJkMjBhYignMHg0YWEnKV0oXzB4NDk3YzIzKSx0aGlzW18weDJkMjBhYignMHg1YzgnKV0oXzB4NDk3YzIzW18weDJkMjBhYignMHhhOWInKV0sXzB4NDRhODc3fHxbXSldKSk7fVtfMHg5YmNmOCgnMHgyOTknKV0oXzB4NGE4OGFiLF8weDdjMzBjMil7dmFyIF8weDU2YTQzYj1fMHg5YmNmODsnc3RyaW5nJz09dHlwZW9mIF8weDRhODhhYiYmKF8weDRhODhhYj10aGlzW18weDU2YTQzYignMHg3N2EnKV0oXzB4NGE4OGFiKSk7Y29uc3QgXzB4NDQ3YmQ4PSgweDAsXzB4NTVmMTFiWydhcnJheWlmeSddKShfMHg3YzMwYzIpO3JldHVybigweDAsXzB4NTVmMTFiW18weDU2YTQzYignMHgzNTYnKV0pKF8weDQ0N2JkOFsnc2xpY2UnXSgweDAsMHg0KSkhPT10aGlzW18weDU2YTQzYignMHg0YWEnKV0oXzB4NGE4OGFiKSYmXzB4MzJkYTI0Wyd0aHJvd0FyZ3VtZW50RXJyb3InXSgnZGF0YVx4MjBzaWduYXR1cmVceDIwZG9lc1x4MjBub3RceDIwbWF0Y2hceDIwZnVuY3Rpb25ceDIwJytfMHg0YTg4YWJbJ25hbWUnXSsnLicsXzB4NTZhNDNiKCcweGE1OCcpLCgweDAsXzB4NTVmMTFiWydoZXhsaWZ5J10pKF8weDQ0N2JkOCkpLHRoaXNbXzB4NTZhNDNiKCcweGQyNCcpXShfMHg0YTg4YWJbJ2lucHV0cyddLF8weDQ0N2JkOFtfMHg1NmE0M2IoJzB4YWRhJyldKDB4NCkpO31bJ2VuY29kZUZ1bmN0aW9uRGF0YSddKF8weGMwYTcxZixfMHgzNjM3ZTQpe3ZhciBfMHg0MWJhNWQ9XzB4OWJjZjg7cmV0dXJuIF8weDQxYmE1ZCgnMHg2NWYnKT09dHlwZW9mIF8weGMwYTcxZiYmKF8weGMwYTcxZj10aGlzW18weDQxYmE1ZCgnMHg3N2EnKV0oXzB4YzBhNzFmKSksKDB4MCxfMHg1NWYxMWJbXzB4NDFiYTVkKCcweDM1NicpXSkoKDB4MCxfMHg1NWYxMWJbXzB4NDFiYTVkKCcweDUzMCcpXSkoW3RoaXNbJ2dldFNpZ2hhc2gnXShfMHhjMGE3MWYpLHRoaXNbXzB4NDFiYTVkKCcweDVjOCcpXShfMHhjMGE3MWZbXzB4NDFiYTVkKCcweGE5YicpXSxfMHgzNjM3ZTR8fFtdKV0pKTt9W18weDliY2Y4KCcweDYyZCcpXShfMHhlOGM3MjEsXzB4NTYwNmM1KXt2YXIgXzB4MzY5NmU4PV8weDliY2Y4O18weDM2OTZlOCgnMHg2NWYnKT09dHlwZW9mIF8weGU4YzcyMSYmKF8weGU4YzcyMT10aGlzW18weDM2OTZlOCgnMHg3N2EnKV0oXzB4ZThjNzIxKSk7bGV0IF8weDIyNTY2MT0oMHgwLF8weDU1ZjExYlsnYXJyYXlpZnknXSkoXzB4NTYwNmM1KSxfMHgyOGNjODk9bnVsbCxfMHgxZmVmNTk9JycsXzB4MzNkMDM3PW51bGwsXzB4NGVhMzc4PW51bGwsXzB4ZTk3MzM1PW51bGw7c3dpdGNoKF8weDIyNTY2MVtfMHgzNjk2ZTgoJzB4NTIwJyldJXRoaXNbXzB4MzY5NmU4KCcweGMzZScpXVtfMHgzNjk2ZTgoJzB4NTU2JyldKCkpe2Nhc2UgMHgwOnRyeXtyZXR1cm4gdGhpc1tfMHgzNjk2ZTgoJzB4YzNlJyldW18weDM2OTZlOCgnMHg1OGYnKV0oXzB4ZThjNzIxWydvdXRwdXRzJ10sXzB4MjI1NjYxKTt9Y2F0Y2goXzB4NDIxMjVjKXt9YnJlYWs7Y2FzZSAweDQ6e2NvbnN0IF8weDIxNDU3Nz0oMHgwLF8weDU1ZjExYltfMHgzNjk2ZTgoJzB4MzU2JyldKShfMHgyMjU2NjFbXzB4MzY5NmU4KCcweGFkYScpXSgweDAsMHg0KSksXzB4M2RlOTc5PV8weDRkNDNkOVtfMHgyMTQ1NzddO2lmKF8weDNkZTk3OSlfMHgzM2QwMzc9dGhpc1tfMHgzNjk2ZTgoJzB4YzNlJyldW18weDM2OTZlOCgnMHg1OGYnKV0oXzB4M2RlOTc5WydpbnB1dHMnXSxfMHgyMjU2NjFbXzB4MzY5NmU4KCcweGFkYScpXSgweDQpKSxfMHg0ZWEzNzg9XzB4M2RlOTc5W18weDM2OTZlOCgnMHhiYzcnKV0sXzB4ZTk3MzM1PV8weDNkZTk3OVtfMHgzNjk2ZTgoJzB4M2EzJyldLF8weDNkZTk3OVsncmVhc29uJ10mJihfMHgyOGNjODk9XzB4MzNkMDM3WzB4MF0pLF8weDM2OTZlOCgnMHgyN2MnKT09PV8weDRlYTM3OD9fMHgxZmVmNTk9XzB4MzY5NmU4KCcweDFlNicpK0pTT05bXzB4MzY5NmU4KCcweDMxZicpXShfMHgzM2QwMzdbMHgwXSk6XzB4MzY5NmU4KCcweDUyOCcpPT09XzB4NGVhMzc4JiYoXzB4MWZlZjU5PV8weDM2OTZlOCgnMHgxZmQnKStfMHgzM2QwMzdbMHgwXSk7ZWxzZSB0cnl7Y29uc3QgXzB4NTlkZjkyPXRoaXNbJ2dldEVycm9yJ10oXzB4MjE0NTc3KTtfMHgzM2QwMzc9dGhpc1snX2FiaUNvZGVyJ11bXzB4MzY5NmU4KCcweDU4ZicpXShfMHg1OWRmOTJbXzB4MzY5NmU4KCcweGE5YicpXSxfMHgyMjU2NjFbXzB4MzY5NmU4KCcweGFkYScpXSgweDQpKSxfMHg0ZWEzNzg9XzB4NTlkZjkyW18weDM2OTZlOCgnMHhiYzcnKV0sXzB4ZTk3MzM1PV8weDU5ZGY5MlsnZm9ybWF0J10oKTt9Y2F0Y2goXzB4MWZlOWE3KXt9YnJlYWs7fX1yZXR1cm4gXzB4MzJkYTI0W18weDM2OTZlOCgnMHgxZDAnKV0oXzB4MzY5NmU4KCcweDcyMycpK18weDFmZWY1OSxfMHgzZWMzZmNbJ0xvZ2dlciddW18weDM2OTZlOCgnMHg5NDknKV1bJ0NBTExfRVhDRVBUSU9OJ10seydtZXRob2QnOl8weGU4YzcyMVtfMHgzNjk2ZTgoJzB4M2M3JyldKCksJ2RhdGEnOigweDAsXzB4NTVmMTFiW18weDM2OTZlOCgnMHgzNTYnKV0pKF8weDU2MDZjNSksJ2Vycm9yQXJncyc6XzB4MzNkMDM3LCdlcnJvck5hbWUnOl8weDRlYTM3OCwnZXJyb3JTaWduYXR1cmUnOl8weGU5NzMzNSwncmVhc29uJzpfMHgyOGNjODl9KTt9W18weDliY2Y4KCcweGQ0NScpXShfMHgxYzZlY2IsXzB4MWIzNWU2KXt2YXIgXzB4YjFiOThhPV8weDliY2Y4O3JldHVybiBfMHhiMWI5OGEoJzB4NjVmJyk9PXR5cGVvZiBfMHgxYzZlY2ImJihfMHgxYzZlY2I9dGhpc1tfMHhiMWI5OGEoJzB4NzdhJyldKF8weDFjNmVjYikpLCgweDAsXzB4NTVmMTFiW18weGIxYjk4YSgnMHgzNTYnKV0pKHRoaXNbXzB4YjFiOThhKCcweGMzZScpXVtfMHhiMWI5OGEoJzB4YTUxJyldKF8weDFjNmVjYltfMHhiMWI5OGEoJzB4MWNjJyldLF8weDFiMzVlNnx8W10pKTt9W18weDliY2Y4KCcweDkzNicpXShfMHg1YmYxODYsXzB4MjQxYmM2KXt2YXIgXzB4NDdkZDM3PV8weDliY2Y4OydzdHJpbmcnPT10eXBlb2YgXzB4NWJmMTg2JiYoXzB4NWJmMTg2PXRoaXNbXzB4NDdkZDM3KCcweDgzYScpXShfMHg1YmYxODYpKSxfMHgyNDFiYzZbXzB4NDdkZDM3KCcweDUyMCcpXT5fMHg1YmYxODZbXzB4NDdkZDM3KCcweGE5YicpXVtfMHg0N2RkMzcoJzB4NTIwJyldJiZfMHgzMmRhMjRbXzB4NDdkZDM3KCcweDFkMCcpXSgndG9vXHgyMG1hbnlceDIwYXJndW1lbnRzXHgyMGZvclx4MjAnK18weDViZjE4NltfMHg0N2RkMzcoJzB4M2M3JyldKCksXzB4M2VjM2ZjWydMb2dnZXInXVtfMHg0N2RkMzcoJzB4OTQ5JyldW18weDQ3ZGQzNygnMHhjZTUnKV0seydhcmd1bWVudCc6XzB4NDdkZDM3KCcweDcwNCcpLCd2YWx1ZSc6XzB4MjQxYmM2fSk7bGV0IF8weDExODk0ND1bXTtfMHg1YmYxODZbXzB4NDdkZDM3KCcweDc5OScpXXx8XzB4MTE4OTQ0W18weDQ3ZGQzNygnMHg4YjcnKV0odGhpc1snZ2V0RXZlbnRUb3BpYyddKF8weDViZjE4NikpO2NvbnN0IF8weDM1ZTg3Zj0oXzB4MTQyOTdiLF8weGMwOWMwMSk9Pl8weDQ3ZGQzNygnMHg2NWYnKT09PV8weDE0Mjk3YltfMHg0N2RkMzcoJzB4NTdjJyldPygweDAsXzB4NGFiODAxWydpZCddKShfMHhjMDljMDEpOl8weDQ3ZGQzNygnMHg1MmEnKT09PV8weDE0Mjk3YltfMHg0N2RkMzcoJzB4NTdjJyldPygweDAsXzB4MTM0NTM2W18weDQ3ZGQzNygnMHg1NjInKV0pKCgweDAsXzB4NTVmMTFiW18weDQ3ZGQzNygnMHgzNTYnKV0pKF8weGMwOWMwMSkpOignYm9vbCc9PT1fMHgxNDI5N2JbXzB4NDdkZDM3KCcweDU3YycpXSYmXzB4NDdkZDM3KCcweDRiMycpPT10eXBlb2YgXzB4YzA5YzAxJiYoXzB4YzA5YzAxPV8weGMwOWMwMT8nMHgwMSc6XzB4NDdkZDM3KCcweDU3MicpKSxfMHgxNDI5N2JbXzB4NDdkZDM3KCcweDU3YycpXVtfMHg0N2RkMzcoJzB4NDI1JyldKC9edT9pbnQvKSYmKF8weGMwOWMwMT1fMHg0ZGVjZjdbJ08kJ11bXzB4NDdkZDM3KCcweDI1MicpXShfMHhjMDljMDEpW18weDQ3ZGQzNygnMHg2YzEnKV0oKSksJ2FkZHJlc3MnPT09XzB4MTQyOTdiW18weDQ3ZGQzNygnMHg1N2MnKV0mJnRoaXNbJ19hYmlDb2RlciddW18weDQ3ZGQzNygnMHhhNTEnKV0oW18weDQ3ZGQzNygnMHgxZDEnKV0sW18weGMwOWMwMV0pLCgweDAsXzB4NTVmMTFiWydoZXhaZXJvUGFkJ10pKCgweDAsXzB4NTVmMTFiW18weDQ3ZGQzNygnMHgzNTYnKV0pKF8weGMwOWMwMSksMHgyMCkpO2ZvcihfMHgyNDFiYzZbXzB4NDdkZDM3KCcweDUxZScpXSgoXzB4M2ZiZjY3LF8weDJlZDg5Yik9Pnt2YXIgXzB4NTU2ZWE2PV8weDQ3ZGQzNztsZXQgXzB4MjQ3YWFkPV8weDViZjE4NltfMHg1NTZlYTYoJzB4YTliJyldW18weDJlZDg5Yl07XzB4MjQ3YWFkWydpbmRleGVkJ10/bnVsbD09XzB4M2ZiZjY3P18weDExODk0NFtfMHg1NTZlYTYoJzB4OGI3JyldKG51bGwpOidhcnJheSc9PT1fMHgyNDdhYWRbXzB4NTU2ZWE2KCcweGEwZicpXXx8XzB4NTU2ZWE2KCcweGJjZCcpPT09XzB4MjQ3YWFkW18weDU1NmVhNignMHhhMGYnKV0/XzB4MzJkYTI0Wyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHg1NTZlYTYoJzB4YTExJyksXzB4NTU2ZWE2KCcweDJiOScpK18weDI0N2FhZFtfMHg1NTZlYTYoJzB4YmM3JyldLF8weDNmYmY2Nyk6QXJyYXlbXzB4NTU2ZWE2KCcweDhmMScpXShfMHgzZmJmNjcpP18weDExODk0NFsncHVzaCddKF8weDNmYmY2N1tfMHg1NTZlYTYoJzB4M2M5JyldKF8weGRlZGRlYj0+XzB4MzVlODdmKF8weDI0N2FhZCxfMHhkZWRkZWIpKSk6XzB4MTE4OTQ0W18weDU1NmVhNignMHg4YjcnKV0oXzB4MzVlODdmKF8weDI0N2FhZCxfMHgzZmJmNjcpKTpudWxsIT1fMHgzZmJmNjcmJl8weDMyZGEyNFsndGhyb3dBcmd1bWVudEVycm9yJ10oXzB4NTU2ZWE2KCcweDQ3NScpLF8weDU1NmVhNignMHgyYjknKStfMHgyNDdhYWRbJ25hbWUnXSxfMHgzZmJmNjcpO30pO18weDExODk0NFtfMHg0N2RkMzcoJzB4NTIwJyldJiZudWxsPT09XzB4MTE4OTQ0W18weDExODk0NFtfMHg0N2RkMzcoJzB4NTIwJyldLTB4MV07KV8weDExODk0NFsncG9wJ10oKTtyZXR1cm4gXzB4MTE4OTQ0O31bJ2VuY29kZUV2ZW50TG9nJ10oXzB4MzVjNjc5LF8weDM4YTdmOCl7dmFyIF8weDRkMDc4MT1fMHg5YmNmODtfMHg0ZDA3ODEoJzB4NjVmJyk9PXR5cGVvZiBfMHgzNWM2NzkmJihfMHgzNWM2Nzk9dGhpc1tfMHg0ZDA3ODEoJzB4ODNhJyldKF8weDM1YzY3OSkpO2NvbnN0IF8weDZhYTA0MT1bXSxfMHgzNjYyNDU9W10sXzB4MmYzNDM0PVtdO3JldHVybiBfMHgzNWM2NzlbXzB4NGQwNzgxKCcweDc5OScpXXx8XzB4NmFhMDQxWydwdXNoJ10odGhpc1tfMHg0ZDA3ODEoJzB4NjJjJyldKF8weDM1YzY3OSkpLF8weDM4YTdmOFsnbGVuZ3RoJ10hPT1fMHgzNWM2NzlbXzB4NGQwNzgxKCcweGE5YicpXVtfMHg0ZDA3ODEoJzB4NTIwJyldJiZfMHgzMmRhMjRbXzB4NGQwNzgxKCcweDYzNScpXSgnZXZlbnRceDIwYXJndW1lbnRzL3ZhbHVlc1x4MjBtaXNtYXRjaCcsXzB4NGQwNzgxKCcweDcwNCcpLF8weDM4YTdmOCksXzB4MzVjNjc5W18weDRkMDc4MSgnMHhhOWInKV1bXzB4NGQwNzgxKCcweDUxZScpXSgoXzB4MWViZGY4LF8weDIwNDAyKT0+e3ZhciBfMHgyMDFlYzQ9XzB4NGQwNzgxO2NvbnN0IF8weDIwYjNhYj1fMHgzOGE3ZjhbXzB4MjA0MDJdO2lmKF8weDFlYmRmOFtfMHgyMDFlYzQoJzB4YTMxJyldKXtpZihfMHgyMDFlYzQoJzB4NjVmJyk9PT1fMHgxZWJkZjhbXzB4MjAxZWM0KCcweDU3YycpXSlfMHg2YWEwNDFbJ3B1c2gnXSgoMHgwLF8weDRhYjgwMVsnaWQnXSkoXzB4MjBiM2FiKSk7ZWxzZXtpZihfMHgyMDFlYzQoJzB4NTJhJyk9PT1fMHgxZWJkZjhbXzB4MjAxZWM0KCcweDU3YycpXSlfMHg2YWEwNDFbJ3B1c2gnXSgoMHgwLF8weDEzNDUzNltfMHgyMDFlYzQoJzB4NTYyJyldKShfMHgyMGIzYWIpKTtlbHNle2lmKF8weDIwMWVjNCgnMHhiY2QnKT09PV8weDFlYmRmOFtfMHgyMDFlYzQoJzB4YTBmJyldfHxfMHgyMDFlYzQoJzB4NjY3Jyk9PT1fMHgxZWJkZjhbXzB4MjAxZWM0KCcweGEwZicpXSl0aHJvdyBuZXcgRXJyb3IoXzB4MjAxZWM0KCcweDg3NScpKTtfMHg2YWEwNDFbJ3B1c2gnXSh0aGlzW18weDIwMWVjNCgnMHhjM2UnKV1bJ2VuY29kZSddKFtfMHgxZWJkZjhbXzB4MjAxZWM0KCcweDU3YycpXV0sW18weDIwYjNhYl0pKTt9fX1lbHNlIF8weDM2NjI0NVsncHVzaCddKF8weDFlYmRmOCksXzB4MmYzNDM0W18weDIwMWVjNCgnMHg4YjcnKV0oXzB4MjBiM2FiKTt9KSx7J2RhdGEnOnRoaXNbXzB4NGQwNzgxKCcweGMzZScpXVtfMHg0ZDA3ODEoJzB4YTUxJyldKF8weDM2NjI0NSxfMHgyZjM0MzQpLCd0b3BpY3MnOl8weDZhYTA0MX07fVtfMHg5YmNmOCgnMHg0Y2MnKV0oXzB4Mzc1Mzc2LF8weGJjOTlmZCxfMHhjYWIyMjcpe3ZhciBfMHg1MTYzYmI9XzB4OWJjZjg7aWYoXzB4NTE2M2JiKCcweDY1ZicpPT10eXBlb2YgXzB4Mzc1Mzc2JiYoXzB4Mzc1Mzc2PXRoaXNbXzB4NTE2M2JiKCcweDgzYScpXShfMHgzNzUzNzYpKSxudWxsIT1fMHhjYWIyMjcmJiFfMHgzNzUzNzZbXzB4NTE2M2JiKCcweDc5OScpXSl7bGV0IF8weDFlYWFkND10aGlzWydnZXRFdmVudFRvcGljJ10oXzB4Mzc1Mzc2KTsoMHgwLF8weDU1ZjExYltfMHg1MTYzYmIoJzB4YjYxJyldKShfMHhjYWIyMjdbMHgwXSwweDIwKSYmXzB4Y2FiMjI3WzB4MF1bJ3RvTG93ZXJDYXNlJ10oKT09PV8weDFlYWFkNHx8XzB4MzJkYTI0W18weDUxNjNiYignMHgxZDAnKV0oJ2ZyYWdtZW50L3RvcGljXHgyMG1pc21hdGNoJyxfMHgzZWMzZmNbXzB4NTE2M2JiKCcweGNlNycpXVtfMHg1MTYzYmIoJzB4OTQ5JyldWydJTlZBTElEX0FSR1VNRU5UJ10seydhcmd1bWVudCc6XzB4NTE2M2JiKCcweDI1NycpLCdleHBlY3RlZCc6XzB4MWVhYWQ0LCd2YWx1ZSc6XzB4Y2FiMjI3WzB4MF19KSxfMHhjYWIyMjc9XzB4Y2FiMjI3W18weDUxNjNiYignMHhhZGEnKV0oMHgxKTt9bGV0IF8weDUzMzM1Nz1bXSxfMHg1ZWVmNGI9W10sXzB4MzEzZWM4PVtdO18weDM3NTM3NlsnaW5wdXRzJ11bJ2ZvckVhY2gnXSgoXzB4NDg4OTNmLF8weDNkOWQwMik9Pnt2YXIgXzB4NDU4NGRmPV8weDUxNjNiYjtfMHg0ODg5M2ZbXzB4NDU4NGRmKCcweGEzMScpXT9fMHg0NTg0ZGYoJzB4NjVmJyk9PT1fMHg0ODg5M2ZbXzB4NDU4NGRmKCcweDU3YycpXXx8J2J5dGVzJz09PV8weDQ4ODkzZlsndHlwZSddfHxfMHg0NTg0ZGYoJzB4YmNkJyk9PT1fMHg0ODg5M2ZbJ2Jhc2VUeXBlJ118fF8weDQ1ODRkZignMHg2NjcnKT09PV8weDQ4ODkzZlsnYmFzZVR5cGUnXT8oXzB4NTMzMzU3W18weDQ1ODRkZignMHg4YjcnKV0oXzB4NGVlMjNjWydfUiddWydmcm9tT2JqZWN0J10oeyd0eXBlJzpfMHg0NTg0ZGYoJzB4Yzk0JyksJ25hbWUnOl8weDQ4ODkzZlsnbmFtZSddfSkpLF8weDMxM2VjOFtfMHg0NTg0ZGYoJzB4OGI3JyldKCEweDApKTooXzB4NTMzMzU3W18weDQ1ODRkZignMHg4YjcnKV0oXzB4NDg4OTNmKSxfMHgzMTNlYzhbXzB4NDU4NGRmKCcweDhiNycpXSghMHgxKSk6KF8weDVlZWY0YltfMHg0NTg0ZGYoJzB4OGI3JyldKF8weDQ4ODkzZiksXzB4MzEzZWM4W18weDQ1ODRkZignMHg4YjcnKV0oITB4MSkpO30pO2xldCBfMHgzNDhmOWY9bnVsbCE9XzB4Y2FiMjI3P3RoaXNbXzB4NTE2M2JiKCcweGMzZScpXVtfMHg1MTYzYmIoJzB4NThmJyldKF8weDUzMzM1NywoMHgwLF8weDU1ZjExYlsnY29uY2F0J10pKF8weGNhYjIyNykpOm51bGwsXzB4MTQ5MWNiPXRoaXNbJ19hYmlDb2RlciddWydkZWNvZGUnXShfMHg1ZWVmNGIsXzB4YmM5OWZkLCEweDApLF8weDI0MTNjOT1bXSxfMHg1NWM4YmI9MHgwLF8weDE5MDNiMT0weDA7XzB4Mzc1Mzc2WydpbnB1dHMnXVtfMHg1MTYzYmIoJzB4NTFlJyldKChfMHg1ZjNjNjgsXzB4NDg4ZDU4KT0+e3ZhciBfMHg1NGMyZDQ9XzB4NTE2M2JiO2lmKF8weDVmM2M2OFtfMHg1NGMyZDQoJzB4YTMxJyldKXtpZihudWxsPT1fMHgzNDhmOWYpXzB4MjQxM2M5W18weDQ4OGQ1OF09bmV3IF8weDFhZTk5YSh7J19pc0luZGV4ZWQnOiEweDAsJ2hhc2gnOm51bGx9KTtlbHNle2lmKF8weDMxM2VjOFtfMHg0ODhkNThdKV8weDI0MTNjOVtfMHg0ODhkNThdPW5ldyBfMHgxYWU5OWEoeydfaXNJbmRleGVkJzohMHgwLCdoYXNoJzpfMHgzNDhmOWZbXzB4MTkwM2IxKytdfSk7ZWxzZSB0cnl7XzB4MjQxM2M5W18weDQ4OGQ1OF09XzB4MzQ4ZjlmW18weDE5MDNiMSsrXTt9Y2F0Y2goXzB4ODdhYTljKXtfMHgyNDEzYzlbXzB4NDg4ZDU4XT1fMHg4N2FhOWM7fX19ZWxzZSB0cnl7XzB4MjQxM2M5W18weDQ4OGQ1OF09XzB4MTQ5MWNiW18weDU1YzhiYisrXTt9Y2F0Y2goXzB4NjczNDU1KXtfMHgyNDEzYzlbXzB4NDg4ZDU4XT1fMHg2NzM0NTU7fWlmKF8weDVmM2M2OFtfMHg1NGMyZDQoJzB4YmM3JyldJiZudWxsPT1fMHgyNDEzYzlbXzB4NWYzYzY4W18weDU0YzJkNCgnMHhiYzcnKV1dKXtjb25zdCBfMHgzZDFmMGU9XzB4MjQxM2M5W18weDQ4OGQ1OF07XzB4M2QxZjBlIGluc3RhbmNlb2YgRXJyb3I/T2JqZWN0W18weDU0YzJkNCgnMHgyYjQnKV0oXzB4MjQxM2M5LF8weDVmM2M2OFtfMHg1NGMyZDQoJzB4YmM3JyldLHsnZW51bWVyYWJsZSc6ITB4MCwnZ2V0JzooKT0+e3ZhciBfMHgxNWFjODE9XzB4NTRjMmQ0O3Rocm93IF8weDIyNTgwNChfMHgxNWFjODEoJzB4MzJiJykrSlNPTltfMHgxNWFjODEoJzB4MzFmJyldKF8weDVmM2M2OFtfMHgxNWFjODEoJzB4YmM3JyldKSxfMHgzZDFmMGUpO319KTpfMHgyNDEzYzlbXzB4NWYzYzY4W18weDU0YzJkNCgnMHhiYzcnKV1dPV8weDNkMWYwZTt9fSk7Zm9yKGxldCBfMHg0ZDUyNWU9MHgwO18weDRkNTI1ZTxfMHgyNDEzYzlbJ2xlbmd0aCddO18weDRkNTI1ZSsrKXtjb25zdCBfMHgxYTc4NzA9XzB4MjQxM2M5W18weDRkNTI1ZV07XzB4MWE3ODcwIGluc3RhbmNlb2YgRXJyb3ImJk9iamVjdFtfMHg1MTYzYmIoJzB4MmI0JyldKF8weDI0MTNjOSxfMHg0ZDUyNWUseydlbnVtZXJhYmxlJzohMHgwLCdnZXQnOigpPT57dmFyIF8weDQzNDBhYz1fMHg1MTYzYmI7dGhyb3cgXzB4MjI1ODA0KF8weDQzNDBhYygnMHg3NzYnKStfMHg0ZDUyNWUsXzB4MWE3ODcwKTt9fSk7fXJldHVybiBPYmplY3RbJ2ZyZWV6ZSddKF8weDI0MTNjOSk7fVsncGFyc2VUcmFuc2FjdGlvbiddKF8weDQxMDc4Yyl7dmFyIF8weDkwOWY3Nz1fMHg5YmNmODtsZXQgXzB4YTRhNmZkPXRoaXNbXzB4OTA5Zjc3KCcweDc3YScpXShfMHg0MTA3OGNbXzB4OTA5Zjc3KCcweGE1OCcpXVtfMHg5MDlmNzcoJzB4NzNkJyldKDB4MCwweGEpW18weDkwOWY3NygnMHg4NzAnKV0oKSk7cmV0dXJuIF8weGE0YTZmZD9uZXcgXzB4MjI1MjM5KHsnYXJncyc6dGhpc1snX2FiaUNvZGVyJ11bXzB4OTA5Zjc3KCcweDU4ZicpXShfMHhhNGE2ZmRbJ2lucHV0cyddLCcweCcrXzB4NDEwNzhjW18weDkwOWY3NygnMHhhNTgnKV1bJ3N1YnN0cmluZyddKDB4YSkpLCdmdW5jdGlvbkZyYWdtZW50JzpfMHhhNGE2ZmQsJ25hbWUnOl8weGE0YTZmZFsnbmFtZSddLCdzaWduYXR1cmUnOl8weGE0YTZmZFtfMHg5MDlmNzcoJzB4M2M3JyldKCksJ3NpZ2hhc2gnOnRoaXNbXzB4OTA5Zjc3KCcweDRhYScpXShfMHhhNGE2ZmQpLCd2YWx1ZSc6XzB4NGRlY2Y3WydPJCddW18weDkwOWY3NygnMHgyNTInKV0oXzB4NDEwNzhjWyd2YWx1ZSddfHwnMCcpfSk6bnVsbDt9WydwYXJzZUxvZyddKF8weDI0ZmEzMSl7dmFyIF8weDM2NTI2Nj1fMHg5YmNmODtsZXQgXzB4MmVmZjI3PXRoaXNbXzB4MzY1MjY2KCcweDgzYScpXShfMHgyNGZhMzFbJ3RvcGljcyddWzB4MF0pO3JldHVybiFfMHgyZWZmMjd8fF8weDJlZmYyN1snYW5vbnltb3VzJ10/bnVsbDpuZXcgXzB4MjA3NmNlKHsnZXZlbnRGcmFnbWVudCc6XzB4MmVmZjI3LCduYW1lJzpfMHgyZWZmMjdbXzB4MzY1MjY2KCcweGJjNycpXSwnc2lnbmF0dXJlJzpfMHgyZWZmMjdbXzB4MzY1MjY2KCcweDNjNycpXSgpLCd0b3BpYyc6dGhpc1tfMHgzNjUyNjYoJzB4NjJjJyldKF8weDJlZmYyNyksJ2FyZ3MnOnRoaXNbXzB4MzY1MjY2KCcweDRjYycpXShfMHgyZWZmMjcsXzB4MjRmYTMxWydkYXRhJ10sXzB4MjRmYTMxWyd0b3BpY3MnXSl9KTt9W18weDliY2Y4KCcweGM0YycpXShfMHg0MWFiMGEpe3ZhciBfMHgzMWUyN2Y9XzB4OWJjZjg7Y29uc3QgXzB4MTUyYjljPSgweDAsXzB4NTVmMTFiWydoZXhsaWZ5J10pKF8weDQxYWIwYSk7bGV0IF8weDExY2VjMj10aGlzW18weDMxZTI3ZignMHgxYTInKV0oXzB4MTUyYjljW18weDMxZTI3ZignMHg3M2QnKV0oMHgwLDB4YSlbXzB4MzFlMjdmKCcweDg3MCcpXSgpKTtyZXR1cm4gXzB4MTFjZWMyP25ldyBfMHgxM2E1ZmEoeydhcmdzJzp0aGlzW18weDMxZTI3ZignMHhjM2UnKV1bXzB4MzFlMjdmKCcweDU4ZicpXShfMHgxMWNlYzJbJ2lucHV0cyddLCcweCcrXzB4MTUyYjljW18weDMxZTI3ZignMHg3M2QnKV0oMHhhKSksJ2Vycm9yRnJhZ21lbnQnOl8weDExY2VjMiwnbmFtZSc6XzB4MTFjZWMyWyduYW1lJ10sJ3NpZ25hdHVyZSc6XzB4MTFjZWMyW18weDMxZTI3ZignMHgzYzcnKV0oKSwnc2lnaGFzaCc6dGhpc1tfMHgzMWUyN2YoJzB4NGFhJyldKF8weDExY2VjMil9KTpudWxsO31zdGF0aWNbXzB4OWJjZjgoJzB4NmIxJyldKF8weDFhNGIyYyl7dmFyIF8weDI5MjZmND1fMHg5YmNmODtyZXR1cm4hKCFfMHgxYTRiMmN8fCFfMHgxYTRiMmNbXzB4MjkyNmY0KCcweDY5ZScpXSk7fX19LDB4MTEwMTooXzB4ZTljMDUzLF8weDFiY2VjMSxfMHgxMTQ2MzUpPT57J3VzZSBzdHJpY3QnO3ZhciBfMHg1NjM3ZjY9XzB4MTVhMztfMHgxMTQ2MzVbJ2QnXShfMHgxYmNlYzEseydTZyc6KCk9Pl8weDFlYjc5YiwnenQnOigpPT5fMHgzYjg5NDJ9KTt2YXIgXzB4NTU2M2ZkPV8weDExNDYzNSgweGEyMSksXzB4MzA2NjAyPV8weDExNDYzNSgweGUwMyksXzB4MTkzMGQ3PV8weDExNDYzNSgweDJjNyk7Y29uc3QgXzB4ZTU3YjY5PW5ldyBfMHgxOTMwZDdbKF8weDU2MzdmNignMHhjZTcnKSldKF8weDU2MzdmNignMHhhMjgnKSk7Y2xhc3MgXzB4MWViNzliIGV4dGVuZHMgXzB4MzA2NjAyW18weDU2MzdmNignMHg3NDEnKV17c3RhdGljW18weDU2MzdmNignMHg2M2YnKV0oXzB4NDc3OTY2KXt2YXIgXzB4OGUyZTA5PV8weDU2MzdmNjtyZXR1cm4hKCFfMHg0Nzc5NjZ8fCFfMHg0Nzc5NjZbXzB4OGUyZTA5KCcweGNkMycpXSk7fX1jbGFzcyBfMHgzYjg5NDJ7Y29uc3RydWN0b3IoKXt2YXIgXzB4NGE2Mjc4PV8weDU2MzdmNjtfMHhlNTdiNjlbXzB4NGE2Mjc4KCcweDFkYicpXShuZXcudGFyZ2V0LF8weDNiODk0MiksKDB4MCxfMHgzMDY2MDJbXzB4NGE2Mjc4KCcweGNlOScpXSkodGhpcyxfMHg0YTYyNzgoJzB4ZDRmJyksITB4MCk7fVtfMHg1NjM3ZjYoJzB4NmY4JyldKCl7cmV0dXJuIF8weDEzNGQ5ND10aGlzLF8weDRiOTNmMz12b2lkIDB4MCxfMHgyM2U4OGQ9ZnVuY3Rpb24qKCl7dmFyIF8weGFiNzZjOD1fMHgxNWEzO2NvbnN0IHtibG9jazpfMHg0NTQ5ZGEsZ2FzUHJpY2U6XzB4NDZlZmIzfT15aWVsZCgweDAsXzB4MzA2NjAyW18weGFiNzZjOCgnMHgyNTYnKV0pKHsnYmxvY2snOnRoaXNbXzB4YWI3NmM4KCcweDhjNScpXShfMHhhYjc2YzgoJzB4OGJiJykpLCdnYXNQcmljZSc6dGhpc1tfMHhhYjc2YzgoJzB4NjQ2JyldKClbJ2NhdGNoJ10oXzB4MTdiYWJjPT5udWxsKX0pO2xldCBfMHhmNjgxNjE9bnVsbCxfMHg4MjE2YmI9bnVsbCxfMHg1NmQxZDA9bnVsbDtyZXR1cm4gXzB4NDU0OWRhJiZfMHg0NTQ5ZGFbXzB4YWI3NmM4KCcweDkyZicpXSYmKF8weGY2ODE2MT1fMHg0NTQ5ZGFbXzB4YWI3NmM4KCcweDkyZicpXSxfMHg1NmQxZDA9XzB4NTU2M2ZkWydPJCddW18weGFiNzZjOCgnMHgyNTInKV0oXzB4YWI3NmM4KCcweDZmMCcpKSxfMHg4MjE2YmI9XzB4NDU0OWRhWydiYXNlRmVlUGVyR2FzJ11bXzB4YWI3NmM4KCcweGMyMycpXSgweDIpW18weGFiNzZjOCgnMHhiYTEnKV0oXzB4NTZkMWQwKSkseydsYXN0QmFzZUZlZVBlckdhcyc6XzB4ZjY4MTYxLCdtYXhGZWVQZXJHYXMnOl8weDgyMTZiYiwnbWF4UHJpb3JpdHlGZWVQZXJHYXMnOl8weDU2ZDFkMCwnZ2FzUHJpY2UnOl8weDQ2ZWZiM307fSxuZXcoKF8weDM1NDE1Nz12b2lkIDB4MCl8fChfMHgzNTQxNTc9UHJvbWlzZSkpKGZ1bmN0aW9uKF8weDM2MDFjYSxfMHgxNGEzZCl7dmFyIF8weDFkMjBmOD1fMHgxNWEzO2Z1bmN0aW9uIF8weDU0MjkxMShfMHg0YzkxOTgpe3ZhciBfMHgxZjNhYzg9XzB4MTVhMzt0cnl7XzB4MzVmNTM2KF8weDIzZTg4ZFtfMHgxZjNhYzgoJzB4NzQwJyldKF8weDRjOTE5OCkpO31jYXRjaChfMHhmYTNmYTIpe18weDE0YTNkKF8weGZhM2ZhMik7fX1mdW5jdGlvbiBfMHgyYTQ3NjAoXzB4NDQzZmFiKXt2YXIgXzB4MWY2ZDU4PV8weDE1YTM7dHJ5e18weDM1ZjUzNihfMHgyM2U4OGRbXzB4MWY2ZDU4KCcweGFlMycpXShfMHg0NDNmYWIpKTt9Y2F0Y2goXzB4NWNkZmM2KXtfMHgxNGEzZChfMHg1Y2RmYzYpO319ZnVuY3Rpb24gXzB4MzVmNTM2KF8weDQ0OGJhNCl7dmFyIF8weDIwYjdkMz1fMHgxNWEzLF8weDIyOTA5MDtfMHg0NDhiYTRbXzB4MjBiN2QzKCcweGM1YycpXT9fMHgzNjAxY2EoXzB4NDQ4YmE0W18weDIwYjdkMygnMHg4OWQnKV0pOihfMHgyMjkwOTA9XzB4NDQ4YmE0W18weDIwYjdkMygnMHg4OWQnKV0sXzB4MjI5MDkwIGluc3RhbmNlb2YgXzB4MzU0MTU3P18weDIyOTA5MDpuZXcgXzB4MzU0MTU3KGZ1bmN0aW9uKF8weDI0NTYyNil7XzB4MjQ1NjI2KF8weDIyOTA5MCk7fSkpW18weDIwYjdkMygnMHhkMzQnKV0oXzB4NTQyOTExLF8weDJhNDc2MCk7fV8weDM1ZjUzNigoXzB4MjNlODhkPV8weDIzZTg4ZFtfMHgxZDIwZjgoJzB4NDQyJyldKF8weDEzNGQ5NCxfMHg0YjkzZjN8fFtdKSlbXzB4MWQyMGY4KCcweDc0MCcpXSgpKTt9KTt2YXIgXzB4MTM0ZDk0LF8weDRiOTNmMyxfMHgzNTQxNTcsXzB4MjNlODhkO31bXzB4NTYzN2Y2KCcweDhmYicpXShfMHg0ZTc3YjksXzB4NTA5OGZjKXtyZXR1cm4gdGhpc1snb24nXShfMHg0ZTc3YjksXzB4NTA5OGZjKTt9WydyZW1vdmVMaXN0ZW5lciddKF8weDI2MDk2OCxfMHg0YzUxMDIpe3ZhciBfMHgxZjFjMTI9XzB4NTYzN2Y2O3JldHVybiB0aGlzW18weDFmMWMxMignMHg5NjgnKV0oXzB4MjYwOTY4LF8weDRjNTEwMik7fXN0YXRpY1tfMHg1NjM3ZjYoJzB4NmI0JyldKF8weDQ3MzQ5ZSl7cmV0dXJuISghXzB4NDczNDllfHwhXzB4NDczNDllWydfaXNQcm92aWRlciddKTt9fX0sMHgxZmViOihfMHg1YjM5NTMsXzB4NDRkMjJiLF8weDExNDI3Yyk9PnsndXNlIHN0cmljdCc7dmFyIF8weDMwMDllOD1fMHgxNWEzO18weDExNDI3Y1snZCddKF8weDQ0ZDIyYix7J0UnOigpPT5fMHgzZGIyNmQsJ2InOigpPT5fMHgxYzdjZjl9KTt2YXIgXzB4MTQ1ZGM0PV8weDExNDI3YygweGUwMyksXzB4MjZhZmFjPV8weDExNDI3YygweDJjNyksXzB4NTIxZWViPWZ1bmN0aW9uKF8weDMzZDEwNyxfMHgyMDYxYzAsXzB4MzhlOGYyLF8weDU3Mjc2Yyl7cmV0dXJuIG5ldyhfMHgzOGU4ZjJ8fChfMHgzOGU4ZjI9UHJvbWlzZSkpKGZ1bmN0aW9uKF8weGVlMWE2ZixfMHgxNWUxMjkpe2Z1bmN0aW9uIF8weDYwOGU1NihfMHgyZjM5NmIpe3ZhciBfMHgyOTM3YTE9XzB4MTVhMzt0cnl7XzB4NDVkNDI5KF8weDU3Mjc2Y1tfMHgyOTM3YTEoJzB4NzQwJyldKF8weDJmMzk2YikpO31jYXRjaChfMHgxNTZlZTMpe18weDE1ZTEyOShfMHgxNTZlZTMpO319ZnVuY3Rpb24gXzB4OWFiNzJlKF8weDIyMGZiMil7dmFyIF8weDM3YTg5ND1fMHgxNWEzO3RyeXtfMHg0NWQ0MjkoXzB4NTcyNzZjW18weDM3YTg5NCgnMHhhZTMnKV0oXzB4MjIwZmIyKSk7fWNhdGNoKF8weDdhMTQxOCl7XzB4MTVlMTI5KF8weDdhMTQxOCk7fX1mdW5jdGlvbiBfMHg0NWQ0MjkoXzB4NWUzNjQyKXt2YXIgXzB4MzY1M2FiPV8weDE1YTMsXzB4MjAyMzhjO18weDVlMzY0MltfMHgzNjUzYWIoJzB4YzVjJyldP18weGVlMWE2ZihfMHg1ZTM2NDJbXzB4MzY1M2FiKCcweDg5ZCcpXSk6KF8weDIwMjM4Yz1fMHg1ZTM2NDJbXzB4MzY1M2FiKCcweDg5ZCcpXSxfMHgyMDIzOGMgaW5zdGFuY2VvZiBfMHgzOGU4ZjI/XzB4MjAyMzhjOm5ldyBfMHgzOGU4ZjIoZnVuY3Rpb24oXzB4NDRmYzQzKXtfMHg0NGZjNDMoXzB4MjAyMzhjKTt9KSlbXzB4MzY1M2FiKCcweGQzNCcpXShfMHg2MDhlNTYsXzB4OWFiNzJlKTt9XzB4NDVkNDI5KChfMHg1NzI3NmM9XzB4NTcyNzZjWydhcHBseSddKF8weDMzZDEwNyxfMHgyMDYxYzB8fFtdKSlbJ25leHQnXSgpKTt9KTt9O2NvbnN0IF8weDVhYmRlZD1uZXcgXzB4MjZhZmFjWyhfMHgzMDA5ZTgoJzB4Y2U3JykpXShfMHgzMDA5ZTgoJzB4ODYwJykpLF8weDQ4MTU0Yz1bXzB4MzAwOWU4KCcweDVkNScpLCdjY2lwUmVhZEVuYWJsZWQnLCdjaGFpbklkJyxfMHgzMDA5ZTgoJzB4Y2E3JyksXzB4MzAwOWU4KCcweGE1OCcpLCdmcm9tJywnZ2FzTGltaXQnLF8weDMwMDllOCgnMHg4ODInKSwnbWF4RmVlUGVyR2FzJywnbWF4UHJpb3JpdHlGZWVQZXJHYXMnLF8weDMwMDllOCgnMHg0YWQnKSwndG8nLCd0eXBlJyxfMHgzMDA5ZTgoJzB4ODlkJyldLF8weDE5YjBiZT1bXzB4MjZhZmFjWydMb2dnZXInXVtfMHgzMDA5ZTgoJzB4OTQ5JyldW18weDMwMDllOCgnMHgyNjgnKV0sXzB4MjZhZmFjWydMb2dnZXInXVtfMHgzMDA5ZTgoJzB4OTQ5JyldW18weDMwMDllOCgnMHg3MDAnKV0sXzB4MjZhZmFjWydMb2dnZXInXVtfMHgzMDA5ZTgoJzB4OTQ5JyldW18weDMwMDllOCgnMHg5ZWInKV1dO2NsYXNzIF8weDNkYjI2ZHtjb25zdHJ1Y3Rvcigpe18weDVhYmRlZFsnY2hlY2tBYnN0cmFjdCddKG5ldy50YXJnZXQsXzB4M2RiMjZkKSwoMHgwLF8weDE0NWRjNFsnZGVmaW5lUmVhZE9ubHknXSkodGhpcywnX2lzU2lnbmVyJywhMHgwKTt9W18weDMwMDllOCgnMHg3MjcnKV0oXzB4ZmE0YWVkKXtyZXR1cm4gXzB4NTIxZWViKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDU1ODFkYz1fMHgxNWEzO3JldHVybiB0aGlzW18weDU1ODFkYygnMHg5MjgnKV0oJ2dldEJhbGFuY2UnKSx5aWVsZCB0aGlzW18weDU1ODFkYygnMHhkMzInKV1bXzB4NTU4MWRjKCcweDcyNycpXSh0aGlzW18weDU1ODFkYygnMHgzZGYnKV0oKSxfMHhmYTRhZWQpO30pO31bXzB4MzAwOWU4KCcweDJkMScpXShfMHgyMThlMjQpe3JldHVybiBfMHg1MjFlZWIodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4MTYzMzc4PV8weDE1YTM7cmV0dXJuIHRoaXNbXzB4MTYzMzc4KCcweDkyOCcpXShfMHgxNjMzNzgoJzB4MmQxJykpLHlpZWxkIHRoaXNbXzB4MTYzMzc4KCcweGQzMicpXVtfMHgxNjMzNzgoJzB4MmQxJyldKHRoaXNbXzB4MTYzMzc4KCcweDNkZicpXSgpLF8weDIxOGUyNCk7fSk7fVsnZXN0aW1hdGVHYXMnXShfMHgxMTRhZTcpe3JldHVybiBfMHg1MjFlZWIodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4NGM2MjM4PV8weDE1YTM7dGhpc1tfMHg0YzYyMzgoJzB4OTI4JyldKF8weDRjNjIzOCgnMHgxYTMnKSk7Y29uc3QgXzB4MmRhZDA3PXlpZWxkKDB4MCxfMHgxNDVkYzRbJ3Jlc29sdmVQcm9wZXJ0aWVzJ10pKHRoaXNbXzB4NGM2MjM4KCcweDhkNScpXShfMHgxMTRhZTcpKTtyZXR1cm4geWllbGQgdGhpc1tfMHg0YzYyMzgoJzB4ZDMyJyldW18weDRjNjIzOCgnMHgxYTMnKV0oXzB4MmRhZDA3KTt9KTt9W18weDMwMDllOCgnMHg1ZmQnKV0oXzB4NGY4MzZjLF8weGI4MjE4ZCl7cmV0dXJuIF8weDUyMWVlYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHg0ZjZjYzM9XzB4MTVhMzt0aGlzWydfY2hlY2tQcm92aWRlciddKF8weDRmNmNjMygnMHg1ZmQnKSk7Y29uc3QgXzB4NTk4YWMyPXlpZWxkKDB4MCxfMHgxNDVkYzRbJ3Jlc29sdmVQcm9wZXJ0aWVzJ10pKHRoaXNbXzB4NGY2Y2MzKCcweDhkNScpXShfMHg0ZjgzNmMpKTtyZXR1cm4geWllbGQgdGhpc1tfMHg0ZjZjYzMoJzB4ZDMyJyldW18weDRmNmNjMygnMHg1ZmQnKV0oXzB4NTk4YWMyLF8weGI4MjE4ZCk7fSk7fVtfMHgzMDA5ZTgoJzB4NDhiJyldKF8weDJmMjZmMCl7cmV0dXJuIF8weDUyMWVlYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHgzMjI2MzY9XzB4MTVhMzt0aGlzW18weDMyMjYzNignMHg5MjgnKV0oXzB4MzIyNjM2KCcweDQ4YicpKTtjb25zdCBfMHgzMzk3YmQ9eWllbGQgdGhpc1tfMHgzMjI2MzYoJzB4MmVhJyldKF8weDJmMjZmMCksXzB4MzcxYTZkPXlpZWxkIHRoaXNbJ3NpZ25UcmFuc2FjdGlvbiddKF8weDMzOTdiZCk7cmV0dXJuIHlpZWxkIHRoaXNbXzB4MzIyNjM2KCcweGQzMicpXVtfMHgzMjI2MzYoJzB4NDhiJyldKF8weDM3MWE2ZCk7fSk7fVsnZ2V0Q2hhaW5JZCddKCl7cmV0dXJuIF8weDUyMWVlYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHg0NmNkNDQ9XzB4MTVhMztyZXR1cm4gdGhpc1snX2NoZWNrUHJvdmlkZXInXShfMHg0NmNkNDQoJzB4MzU0JykpLCh5aWVsZCB0aGlzW18weDQ2Y2Q0NCgnMHhkMzInKV1bXzB4NDZjZDQ0KCcweGJjMCcpXSgpKVtfMHg0NmNkNDQoJzB4MjYyJyldO30pO31bXzB4MzAwOWU4KCcweDY0NicpXSgpe3JldHVybiBfMHg1MjFlZWIodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4YWMzMDQ1PV8weDE1YTM7cmV0dXJuIHRoaXNbJ19jaGVja1Byb3ZpZGVyJ10oXzB4YWMzMDQ1KCcweDY0NicpKSx5aWVsZCB0aGlzW18weGFjMzA0NSgnMHhkMzInKV1bXzB4YWMzMDQ1KCcweDY0NicpXSgpO30pO31bXzB4MzAwOWU4KCcweDZmOCcpXSgpe3JldHVybiBfMHg1MjFlZWIodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4NWMyYjM5PV8weDE1YTM7cmV0dXJuIHRoaXNbXzB4NWMyYjM5KCcweDkyOCcpXShfMHg1YzJiMzkoJzB4NmY4JykpLHlpZWxkIHRoaXNbXzB4NWMyYjM5KCcweGQzMicpXVsnZ2V0RmVlRGF0YSddKCk7fSk7fVtfMHgzMDA5ZTgoJzB4Y2QwJyldKF8weDNhOWI2YSl7cmV0dXJuIF8weDUyMWVlYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHg1ODM1M2Y9XzB4MTVhMztyZXR1cm4gdGhpc1tfMHg1ODM1M2YoJzB4OTI4JyldKCdyZXNvbHZlTmFtZScpLHlpZWxkIHRoaXNbXzB4NTgzNTNmKCcweGQzMicpXVtfMHg1ODM1M2YoJzB4Y2QwJyldKF8weDNhOWI2YSk7fSk7fVtfMHgzMDA5ZTgoJzB4OGQ1JyldKF8weDE1Mzk0OCl7dmFyIF8weDE1ZDcyMj1fMHgzMDA5ZTg7Zm9yKGNvbnN0IF8weDk0NWVjYSBpbiBfMHgxNTM5NDgpLTB4MT09PV8weDQ4MTU0Y1snaW5kZXhPZiddKF8weDk0NWVjYSkmJl8weDVhYmRlZFtfMHgxNWQ3MjIoJzB4NjM1JyldKF8weDE1ZDcyMignMHgxZjInKStfMHg5NDVlY2EsJ3RyYW5zYWN0aW9uJyxfMHgxNTM5NDgpO2NvbnN0IF8weDM3NmUxYj0oMHgwLF8weDE0NWRjNFtfMHgxNWQ3MjIoJzB4OGQ5JyldKShfMHgxNTM5NDgpO3JldHVybiBudWxsPT1fMHgzNzZlMWJbJ2Zyb20nXT9fMHgzNzZlMWJbXzB4MTVkNzIyKCcweDI1MicpXT10aGlzWydnZXRBZGRyZXNzJ10oKTpfMHgzNzZlMWJbXzB4MTVkNzIyKCcweDI1MicpXT1Qcm9taXNlW18weDE1ZDcyMignMHg0MDUnKV0oW1Byb21pc2VbJ3Jlc29sdmUnXShfMHgzNzZlMWJbJ2Zyb20nXSksdGhpc1tfMHgxNWQ3MjIoJzB4M2RmJyldKCldKVtfMHgxNWQ3MjIoJzB4ZDM0JyldKF8weDIwOWQ5Nz0+KF8weDIwOWQ5N1sweDBdW18weDE1ZDcyMignMHg4NzAnKV0oKSE9PV8weDIwOWQ5N1sweDFdWyd0b0xvd2VyQ2FzZSddKCkmJl8weDVhYmRlZFtfMHgxNWQ3MjIoJzB4NjM1JyldKF8weDE1ZDcyMignMHg2YTInKSxfMHgxNWQ3MjIoJzB4NGMzJyksXzB4MTUzOTQ4KSxfMHgyMDlkOTdbMHgwXSkpLF8weDM3NmUxYjt9W18weDMwMDllOCgnMHgyZWEnKV0oXzB4ZDgyNTJhKXtyZXR1cm4gXzB4NTIxZWViKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDJmMjE1YT1fMHgxNWEzO2NvbnN0IF8weDE1Mzc5OD15aWVsZCgweDAsXzB4MTQ1ZGM0WydyZXNvbHZlUHJvcGVydGllcyddKSh0aGlzW18weDJmMjE1YSgnMHg4ZDUnKV0oXzB4ZDgyNTJhKSk7bnVsbCE9XzB4MTUzNzk4Wyd0byddJiYoXzB4MTUzNzk4Wyd0byddPVByb21pc2VbXzB4MmYyMTVhKCcweDNmNCcpXShfMHgxNTM3OThbJ3RvJ10pWyd0aGVuJ10oXzB4NGIyZDg4PT5fMHg1MjFlZWIodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4NGNlZjc4PV8weDJmMjE1YTtpZihudWxsPT1fMHg0YjJkODgpcmV0dXJuIG51bGw7Y29uc3QgXzB4MzQ3YTEwPXlpZWxkIHRoaXNbXzB4NGNlZjc4KCcweGNkMCcpXShfMHg0YjJkODgpO3JldHVybiBudWxsPT1fMHgzNDdhMTAmJl8weDVhYmRlZFsndGhyb3dBcmd1bWVudEVycm9yJ10oXzB4NGNlZjc4KCcweDZkZicpLF8weDRjZWY3OCgnMHgzOGQnKSxfMHg0YjJkODgpLF8weDM0N2ExMDt9KSksXzB4MTUzNzk4Wyd0byddWydjYXRjaCddKF8weDM4ZjgwND0+e30pKTtjb25zdCBfMHgzZTlhNDA9bnVsbCE9XzB4MTUzNzk4WydtYXhGZWVQZXJHYXMnXXx8bnVsbCE9XzB4MTUzNzk4WydtYXhQcmlvcml0eUZlZVBlckdhcyddO2lmKG51bGw9PV8weDE1Mzc5OFsnZ2FzUHJpY2UnXXx8MHgyIT09XzB4MTUzNzk4W18weDJmMjE1YSgnMHg1N2MnKV0mJiFfMHgzZTlhNDA/MHgwIT09XzB4MTUzNzk4W18weDJmMjE1YSgnMHg1N2MnKV0mJjB4MSE9PV8weDE1Mzc5OFtfMHgyZjIxNWEoJzB4NTdjJyldfHwhXzB4M2U5YTQwfHxfMHg1YWJkZWRbXzB4MmYyMTVhKCcweDYzNScpXShfMHgyZjIxNWEoJzB4MjNjJyksXzB4MmYyMTVhKCcweDRjMycpLF8weGQ4MjUyYSk6XzB4NWFiZGVkW18weDJmMjE1YSgnMHg2MzUnKV0oJ2VpcC0xNTU5XHgyMHRyYW5zYWN0aW9uXHgyMGRvXHgyMG5vdFx4MjBzdXBwb3J0XHgyMGdhc1ByaWNlJyxfMHgyZjIxNWEoJzB4NGMzJyksXzB4ZDgyNTJhKSwweDIhPT1fMHgxNTM3OThbJ3R5cGUnXSYmbnVsbCE9XzB4MTUzNzk4W18weDJmMjE1YSgnMHg1N2MnKV18fG51bGw9PV8weDE1Mzc5OFtfMHgyZjIxNWEoJzB4OTc2JyldfHxudWxsPT1fMHgxNTM3OThbXzB4MmYyMTVhKCcweDYzYScpXSl7aWYoMHgwPT09XzB4MTUzNzk4W18weDJmMjE1YSgnMHg1N2MnKV18fDB4MT09PV8weDE1Mzc5OFtfMHgyZjIxNWEoJzB4NTdjJyldKW51bGw9PV8weDE1Mzc5OFtfMHgyZjIxNWEoJzB4ODgyJyldJiYoXzB4MTUzNzk4W18weDJmMjE1YSgnMHg4ODInKV09dGhpc1tfMHgyZjIxNWEoJzB4NjQ2JyldKCkpO2Vsc2V7Y29uc3QgXzB4MzliMmQxPXlpZWxkIHRoaXNbXzB4MmYyMTVhKCcweDZmOCcpXSgpO2lmKG51bGw9PV8weDE1Mzc5OFtfMHgyZjIxNWEoJzB4NTdjJyldKXtpZihudWxsIT1fMHgzOWIyZDFbJ21heEZlZVBlckdhcyddJiZudWxsIT1fMHgzOWIyZDFbXzB4MmYyMTVhKCcweDYzYScpXSl7aWYoXzB4MTUzNzk4Wyd0eXBlJ109MHgyLG51bGwhPV8weDE1Mzc5OFsnZ2FzUHJpY2UnXSl7Y29uc3QgXzB4M2M1Y2Y4PV8weDE1Mzc5OFsnZ2FzUHJpY2UnXTtkZWxldGUgXzB4MTUzNzk4W18weDJmMjE1YSgnMHg4ODInKV0sXzB4MTUzNzk4W18weDJmMjE1YSgnMHg5NzYnKV09XzB4M2M1Y2Y4LF8weDE1Mzc5OFtfMHgyZjIxNWEoJzB4NjNhJyldPV8weDNjNWNmODt9ZWxzZSBudWxsPT1fMHgxNTM3OThbXzB4MmYyMTVhKCcweDk3NicpXSYmKF8weDE1Mzc5OFtfMHgyZjIxNWEoJzB4OTc2JyldPV8weDM5YjJkMVtfMHgyZjIxNWEoJzB4OTc2JyldKSxudWxsPT1fMHgxNTM3OThbJ21heFByaW9yaXR5RmVlUGVyR2FzJ10mJihfMHgxNTM3OThbXzB4MmYyMTVhKCcweDYzYScpXT1fMHgzOWIyZDFbXzB4MmYyMTVhKCcweDYzYScpXSk7fWVsc2UgbnVsbCE9XzB4MzliMmQxW18weDJmMjE1YSgnMHg4ODInKV0/KF8weDNlOWE0MCYmXzB4NWFiZGVkW18weDJmMjE1YSgnMHgxZDAnKV0oXzB4MmYyMTVhKCcweGNmNicpLF8weDI2YWZhY1tfMHgyZjIxNWEoJzB4Y2U3JyldWydlcnJvcnMnXVsnVU5TVVBQT1JURURfT1BFUkFUSU9OJ10seydvcGVyYXRpb24nOl8weDJmMjE1YSgnMHgyZWEnKX0pLG51bGw9PV8weDE1Mzc5OFtfMHgyZjIxNWEoJzB4ODgyJyldJiYoXzB4MTUzNzk4W18weDJmMjE1YSgnMHg4ODInKV09XzB4MzliMmQxWydnYXNQcmljZSddKSxfMHgxNTM3OThbXzB4MmYyMTVhKCcweDU3YycpXT0weDApOl8weDVhYmRlZFsndGhyb3dFcnJvciddKCdmYWlsZWRceDIwdG9ceDIwZ2V0XHgyMGNvbnNpc3RlbnRceDIwZmVlXHgyMGRhdGEnLF8weDI2YWZhY1snTG9nZ2VyJ11bXzB4MmYyMTVhKCcweDk0OScpXVsnVU5TVVBQT1JURURfT1BFUkFUSU9OJ10seydvcGVyYXRpb24nOl8weDJmMjE1YSgnMHgzODcnKX0pO31lbHNlIDB4Mj09PV8weDE1Mzc5OFtfMHgyZjIxNWEoJzB4NTdjJyldJiYobnVsbD09XzB4MTUzNzk4W18weDJmMjE1YSgnMHg5NzYnKV0mJihfMHgxNTM3OThbXzB4MmYyMTVhKCcweDk3NicpXT1fMHgzOWIyZDFbXzB4MmYyMTVhKCcweDk3NicpXSksbnVsbD09XzB4MTUzNzk4WydtYXhQcmlvcml0eUZlZVBlckdhcyddJiYoXzB4MTUzNzk4W18weDJmMjE1YSgnMHg2M2EnKV09XzB4MzliMmQxW18weDJmMjE1YSgnMHg2M2EnKV0pKTt9fWVsc2UgXzB4MTUzNzk4W18weDJmMjE1YSgnMHg1N2MnKV09MHgyO3JldHVybiBudWxsPT1fMHgxNTM3OThbXzB4MmYyMTVhKCcweDRhZCcpXSYmKF8weDE1Mzc5OFtfMHgyZjIxNWEoJzB4NGFkJyldPXRoaXNbXzB4MmYyMTVhKCcweDJkMScpXSgncGVuZGluZycpKSxudWxsPT1fMHgxNTM3OThbJ2dhc0xpbWl0J10mJihfMHgxNTM3OThbXzB4MmYyMTVhKCcweDk2MycpXT10aGlzW18weDJmMjE1YSgnMHgxYTMnKV0oXzB4MTUzNzk4KVtfMHgyZjIxNWEoJzB4YmFhJyldKF8weGM2NjBlOD0+e3ZhciBfMHgzODg1Njc9XzB4MmYyMTVhO2lmKF8weDE5YjBiZVtfMHgzODg1NjcoJzB4YWMwJyldKF8weGM2NjBlOFtfMHgzODg1NjcoJzB4OGVlJyldKT49MHgwKXRocm93IF8weGM2NjBlODtyZXR1cm4gXzB4NWFiZGVkW18weDM4ODU2NygnMHgxZDAnKV0oXzB4Mzg4NTY3KCcweDMzNCcpLF8weDI2YWZhY1snTG9nZ2VyJ11bXzB4Mzg4NTY3KCcweDk0OScpXVtfMHgzODg1NjcoJzB4ODk0JyldLHsnZXJyb3InOl8weGM2NjBlOCwndHgnOl8weDE1Mzc5OH0pO30pKSxudWxsPT1fMHgxNTM3OThbJ2NoYWluSWQnXT9fMHgxNTM3OThbXzB4MmYyMTVhKCcweDI2MicpXT10aGlzW18weDJmMjE1YSgnMHgzNTQnKV0oKTpfMHgxNTM3OThbXzB4MmYyMTVhKCcweDI2MicpXT1Qcm9taXNlW18weDJmMjE1YSgnMHg0MDUnKV0oW1Byb21pc2VbXzB4MmYyMTVhKCcweDNmNCcpXShfMHgxNTM3OThbXzB4MmYyMTVhKCcweDI2MicpXSksdGhpc1snZ2V0Q2hhaW5JZCddKCldKVtfMHgyZjIxNWEoJzB4ZDM0JyldKF8weDJhNWQxND0+KDB4MCE9PV8weDJhNWQxNFsweDFdJiZfMHgyYTVkMTRbMHgwXSE9PV8weDJhNWQxNFsweDFdJiZfMHg1YWJkZWRbXzB4MmYyMTVhKCcweDYzNScpXShfMHgyZjIxNWEoJzB4NWI2JyksXzB4MmYyMTVhKCcweDRjMycpLF8weGQ4MjUyYSksXzB4MmE1ZDE0WzB4MF0pKSx5aWVsZCgweDAsXzB4MTQ1ZGM0WydyZXNvbHZlUHJvcGVydGllcyddKShfMHgxNTM3OTgpO30pO31bXzB4MzAwOWU4KCcweDkyOCcpXShfMHg0NzZiMDYpe3ZhciBfMHgxMzIzY2M9XzB4MzAwOWU4O3RoaXNbXzB4MTMyM2NjKCcweGQzMicpXXx8XzB4NWFiZGVkW18weDEzMjNjYygnMHgxZDAnKV0oJ21pc3NpbmdceDIwcHJvdmlkZXInLF8weDI2YWZhY1tfMHgxMzIzY2MoJzB4Y2U3JyldW18weDEzMjNjYygnMHg5NDknKV1bXzB4MTMyM2NjKCcweDYzMycpXSx7J29wZXJhdGlvbic6XzB4NDc2YjA2fHxfMHgxMzIzY2MoJzB4OTI4Jyl9KTt9c3RhdGljW18weDMwMDllOCgnMHhhMTAnKV0oXzB4MjAzMGYwKXt2YXIgXzB4OWJhN2E3PV8weDMwMDllODtyZXR1cm4hKCFfMHgyMDMwZjB8fCFfMHgyMDMwZjBbXzB4OWJhN2E3KCcweDYzOScpXSk7fX1jbGFzcyBfMHgxYzdjZjkgZXh0ZW5kcyBfMHgzZGIyNmR7Y29uc3RydWN0b3IoXzB4MzJhMmZkLF8weDYxZGE4OSl7dmFyIF8weDJlY2Q0Nj1fMHgzMDA5ZTg7c3VwZXIoKSwoMHgwLF8weDE0NWRjNFsnZGVmaW5lUmVhZE9ubHknXSkodGhpcyxfMHgyZWNkNDYoJzB4MWQxJyksXzB4MzJhMmZkKSwoMHgwLF8weDE0NWRjNFtfMHgyZWNkNDYoJzB4Y2U5JyldKSh0aGlzLF8weDJlY2Q0NignMHhkMzInKSxfMHg2MWRhODl8fG51bGwpO31bJ2dldEFkZHJlc3MnXSgpe3ZhciBfMHg1YzIyMTc9XzB4MzAwOWU4O3JldHVybiBQcm9taXNlWydyZXNvbHZlJ10odGhpc1tfMHg1YzIyMTcoJzB4MWQxJyldKTt9W18weDMwMDllOCgnMHg2MTEnKV0oXzB4MzgyY2U5LF8weDUwN2Q1Zil7dmFyIF8weDg3MWQwND1fMHgzMDA5ZTg7cmV0dXJuIFByb21pc2VbJ3Jlc29sdmUnXSgpW18weDg3MWQwNCgnMHhkMzQnKV0oKCk9Pnt2YXIgXzB4MWE3MDE2PV8weDg3MWQwNDtfMHg1YWJkZWRbXzB4MWE3MDE2KCcweDFkMCcpXShfMHgzODJjZTksXzB4MjZhZmFjW18weDFhNzAxNignMHhjZTcnKV1bXzB4MWE3MDE2KCcweDk0OScpXVtfMHgxYTcwMTYoJzB4NjMzJyldLHsnb3BlcmF0aW9uJzpfMHg1MDdkNWZ9KTt9KTt9W18weDMwMDllOCgnMHg2YzInKV0oXzB4OWZjNGU2KXt2YXIgXzB4MzkyOTIwPV8weDMwMDllODtyZXR1cm4gdGhpc1tfMHgzOTI5MjAoJzB4NjExJyldKF8weDM5MjkyMCgnMHg0NzYnKSxfMHgzOTI5MjAoJzB4NmMyJykpO31bXzB4MzAwOWU4KCcweDMxNycpXShfMHgzMWZjNDApe3ZhciBfMHg1NmRlMzk9XzB4MzAwOWU4O3JldHVybiB0aGlzW18weDU2ZGUzOSgnMHg2MTEnKV0oJ1ZvaWRTaWduZXJceDIwY2Fubm90XHgyMHNpZ25ceDIwdHJhbnNhY3Rpb25zJywnc2lnblRyYW5zYWN0aW9uJyk7fVtfMHgzMDA5ZTgoJzB4ODI1JyldKF8weDQwZmE4MCxfMHgxN2U0ZGEsXzB4NTg1NjFlKXt2YXIgXzB4NTk3YmNmPV8weDMwMDllODtyZXR1cm4gdGhpc1tfMHg1OTdiY2YoJzB4NjExJyldKF8weDU5N2JjZignMHg2NmInKSxfMHg1OTdiY2YoJzB4MjM4JykpO31bXzB4MzAwOWU4KCcweDkxMCcpXShfMHhjYTM1MDApe3ZhciBfMHgyMzBhMjM9XzB4MzAwOWU4O3JldHVybiBuZXcgXzB4MWM3Y2Y5KHRoaXNbXzB4MjMwYTIzKCcweDFkMScpXSxfMHhjYTM1MDApO319fSwweDExZjI6KF8weDQzMDNhYixfMHgxY2ExMTYsXzB4MWU0YjliKT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4MzhiNjM4PV8weDE1YTM7XzB4MWU0YjliWydyJ10oXzB4MWNhMTE2KSxfMHgxZTRiOWJbJ2QnXShfMHgxY2ExMTYseydnZXRBZGRyZXNzJzooKT0+XzB4MmMxMTAxLCdnZXRDb250cmFjdEFkZHJlc3MnOigpPT5fMHg0ZjVlZDMsJ2dldENyZWF0ZTJBZGRyZXNzJzooKT0+XzB4MjNlNTZiLCdnZXRJY2FwQWRkcmVzcyc6KCk9Pl8weDE2NTllMSwnaXNBZGRyZXNzJzooKT0+XzB4MzUzZDkxfSk7dmFyIF8weDI0NDVlMD1fMHgxZTRiOWIoMHhjZDYpLF8weDg1ZmQ4PV8weDFlNGI5YigweGEyMSksXzB4NDFjMDYzPV8weDFlNGI5YigweDIwMDUpLF8weGYzNmZjMj1fMHgxZTRiOWIoMHg3MzMpO2NvbnN0IF8weDM1MDQzYj1uZXcoXzB4MWU0YjliKDB4MmM3KSlbKF8weDM4YjYzOCgnMHhjZTcnKSldKF8weDM4YjYzOCgnMHg1NGInKSk7ZnVuY3Rpb24gXzB4M2YwYzUzKF8weDI0N2UzMil7dmFyIF8weDJiMzUxMj1fMHgzOGI2Mzg7KDB4MCxfMHgyNDQ1ZTBbXzB4MmIzNTEyKCcweGI2MScpXSkoXzB4MjQ3ZTMyLDB4MTQpfHxfMHgzNTA0M2JbXzB4MmIzNTEyKCcweDYzNScpXSgnaW52YWxpZFx4MjBhZGRyZXNzJyxfMHgyYjM1MTIoJzB4MWQxJyksXzB4MjQ3ZTMyKTtjb25zdCBfMHgzMmQ1NmM9KF8weDI0N2UzMj1fMHgyNDdlMzJbJ3RvTG93ZXJDYXNlJ10oKSlbXzB4MmIzNTEyKCcweDczZCcpXSgweDIpW18weDJiMzUxMignMHg5OTQnKV0oJycpLF8weDIzYzliNT1uZXcgVWludDhBcnJheSgweDI4KTtmb3IobGV0IF8weDNlMmUyYz0weDA7XzB4M2UyZTJjPDB4Mjg7XzB4M2UyZTJjKyspXzB4MjNjOWI1W18weDNlMmUyY109XzB4MzJkNTZjW18weDNlMmUyY11bXzB4MmIzNTEyKCcweGE1NScpXSgweDApO2NvbnN0IF8weDFjNDcxMz0oMHgwLF8weDI0NDVlMFtfMHgyYjM1MTIoJzB4ZDA2JyldKSgoMHgwLF8weDQxYzA2M1sna2VjY2FrMjU2J10pKF8weDIzYzliNSkpO2ZvcihsZXQgXzB4MzliY2MwPTB4MDtfMHgzOWJjYzA8MHgyODtfMHgzOWJjYzArPTB4MilfMHgxYzQ3MTNbXzB4MzliY2MwPj4weDFdPj4weDQ+PTB4OCYmKF8weDMyZDU2Y1tfMHgzOWJjYzBdPV8weDMyZDU2Y1tfMHgzOWJjYzBdW18weDJiMzUxMignMHg5ZTUnKV0oKSksKDB4ZiZfMHgxYzQ3MTNbXzB4MzliY2MwPj4weDFdKT49MHg4JiYoXzB4MzJkNTZjW18weDM5YmNjMCsweDFdPV8weDMyZDU2Y1tfMHgzOWJjYzArMHgxXVsndG9VcHBlckNhc2UnXSgpKTtyZXR1cm4nMHgnK18weDMyZDU2Y1snam9pbiddKCcnKTt9Y29uc3QgXzB4MWMyNjhhPXt9O2ZvcihsZXQgXzB4NWRmYjE3PTB4MDtfMHg1ZGZiMTc8MHhhO18weDVkZmIxNysrKV8weDFjMjY4YVtTdHJpbmcoXzB4NWRmYjE3KV09U3RyaW5nKF8weDVkZmIxNyk7Zm9yKGxldCBfMHgzOWNmM2I9MHgwO18weDM5Y2YzYjwweDFhO18weDM5Y2YzYisrKV8weDFjMjY4YVtTdHJpbmdbXzB4MzhiNjM4KCcweGE4MScpXSgweDQxK18weDM5Y2YzYildPVN0cmluZygweGErXzB4MzljZjNiKTtjb25zdCBfMHg0MGYwZGI9TWF0aFtfMHgzOGI2MzgoJzB4YmJlJyldKChfMHg0YzdjZmM9MHgxZmZmZmZmZmZmZmZmZixNYXRoW18weDM4YjYzOCgnMHgyOWEnKV0/TWF0aFtfMHgzOGI2MzgoJzB4MjlhJyldKF8weDRjN2NmYyk6TWF0aFtfMHgzOGI2MzgoJzB4NWJhJyldKF8weDRjN2NmYykvTWF0aFtfMHgzOGI2MzgoJzB4NWRjJyldKSk7dmFyIF8weDRjN2NmYztmdW5jdGlvbiBfMHgyYTllMjkoXzB4MzNiZjUwKXt2YXIgXzB4NGQzOGY3PV8weDM4YjYzODtsZXQgXzB4MTUzM2U5PShfMHgzM2JmNTA9KF8weDMzYmY1MD1fMHgzM2JmNTBbXzB4NGQzOGY3KCcweDllNScpXSgpKVtfMHg0ZDM4ZjcoJzB4NzNkJyldKDB4NCkrXzB4MzNiZjUwW18weDRkMzhmNygnMHg3M2QnKV0oMHgwLDB4MikrJzAwJylbXzB4NGQzOGY3KCcweDk5NCcpXSgnJylbXzB4NGQzOGY3KCcweDNjOScpXShfMHgzNjczOWM9Pl8weDFjMjY4YVtfMHgzNjczOWNdKVsnam9pbiddKCcnKTtmb3IoO18weDE1MzNlOVtfMHg0ZDM4ZjcoJzB4NTIwJyldPj1fMHg0MGYwZGI7KXtsZXQgXzB4MWI5OGFjPV8weDE1MzNlOVsnc3Vic3RyaW5nJ10oMHgwLF8weDQwZjBkYik7XzB4MTUzM2U5PXBhcnNlSW50KF8weDFiOThhYywweGEpJTB4NjErXzB4MTUzM2U5WydzdWJzdHJpbmcnXShfMHgxYjk4YWNbXzB4NGQzOGY3KCcweDUyMCcpXSk7fWxldCBfMHgxMjIzYzQ9U3RyaW5nKDB4NjItcGFyc2VJbnQoXzB4MTUzM2U5LDB4YSklMHg2MSk7Zm9yKDtfMHgxMjIzYzRbXzB4NGQzOGY3KCcweDUyMCcpXTwweDI7KV8weDEyMjNjND0nMCcrXzB4MTIyM2M0O3JldHVybiBfMHgxMjIzYzQ7fWZ1bmN0aW9uIF8weDJjMTEwMShfMHgzZTA3ODgpe3ZhciBfMHgzNzA4OTA9XzB4MzhiNjM4O2xldCBfMHgyMjA1OGY9bnVsbDtpZignc3RyaW5nJyE9dHlwZW9mIF8weDNlMDc4OCYmXzB4MzUwNDNiW18weDM3MDg5MCgnMHg2MzUnKV0oXzB4MzcwODkwKCcweGJlZCcpLF8weDM3MDg5MCgnMHgxZDEnKSxfMHgzZTA3ODgpLF8weDNlMDc4OFtfMHgzNzA4OTAoJzB4NDI1JyldKC9eKDB4KT9bMC05YS1mQS1GXXs0MH0kLykpJzB4JyE9PV8weDNlMDc4OFtfMHgzNzA4OTAoJzB4NzNkJyldKDB4MCwweDIpJiYoXzB4M2UwNzg4PScweCcrXzB4M2UwNzg4KSxfMHgyMjA1OGY9XzB4M2YwYzUzKF8weDNlMDc4OCksXzB4M2UwNzg4W18weDM3MDg5MCgnMHg0MjUnKV0oLyhbQS1GXS4qW2EtZl0pfChbYS1mXS4qW0EtRl0pLykmJl8weDIyMDU4ZiE9PV8weDNlMDc4OCYmXzB4MzUwNDNiW18weDM3MDg5MCgnMHg2MzUnKV0oJ2JhZFx4MjBhZGRyZXNzXHgyMGNoZWNrc3VtJywnYWRkcmVzcycsXzB4M2UwNzg4KTtlbHNle2lmKF8weDNlMDc4OFtfMHgzNzA4OTAoJzB4NDI1JyldKC9eWEVbMC05XXsyfVswLTlBLVphLXpdezMwLDMxfSQvKSl7Zm9yKF8weDNlMDc4OFtfMHgzNzA4OTAoJzB4NzNkJyldKDB4MiwweDQpIT09XzB4MmE5ZTI5KF8weDNlMDc4OCkmJl8weDM1MDQzYltfMHgzNzA4OTAoJzB4NjM1JyldKCdiYWRceDIwaWNhcFx4MjBjaGVja3N1bScsJ2FkZHJlc3MnLF8weDNlMDc4OCksXzB4MjIwNThmPSgweDAsXzB4ODVmZDhbJ2ckJ10pKF8weDNlMDc4OFtfMHgzNzA4OTAoJzB4NzNkJyldKDB4NCkpO18weDIyMDU4ZltfMHgzNzA4OTAoJzB4NTIwJyldPDB4Mjg7KV8weDIyMDU4Zj0nMCcrXzB4MjIwNThmO18weDIyMDU4Zj1fMHgzZjBjNTMoJzB4JytfMHgyMjA1OGYpO31lbHNlIF8weDM1MDQzYlsndGhyb3dBcmd1bWVudEVycm9yJ10oJ2ludmFsaWRceDIwYWRkcmVzcycsXzB4MzcwODkwKCcweDFkMScpLF8weDNlMDc4OCk7fXJldHVybiBfMHgyMjA1OGY7fWZ1bmN0aW9uIF8weDM1M2Q5MShfMHg0NjkwYWMpe3RyeXtyZXR1cm4gXzB4MmMxMTAxKF8weDQ2OTBhYyksITB4MDt9Y2F0Y2goXzB4NGIwNWI0KXt9cmV0dXJuITB4MTt9ZnVuY3Rpb24gXzB4MTY1OWUxKF8weDUzNjNhOCl7dmFyIF8weDIwMTQwND1fMHgzOGI2Mzg7bGV0IF8weDFjMDMwYT0oMHgwLF8weDg1ZmQ4Wyd0MiddKShfMHgyYzExMDEoXzB4NTM2M2E4KVtfMHgyMDE0MDQoJzB4NzNkJyldKDB4MikpW18weDIwMTQwNCgnMHg5ZTUnKV0oKTtmb3IoO18weDFjMDMwYVtfMHgyMDE0MDQoJzB4NTIwJyldPDB4MWU7KV8weDFjMDMwYT0nMCcrXzB4MWMwMzBhO3JldHVybidYRScrXzB4MmE5ZTI5KF8weDIwMTQwNCgnMHhiNzcnKStfMHgxYzAzMGEpK18weDFjMDMwYTt9ZnVuY3Rpb24gXzB4NGY1ZWQzKF8weDVkMDhiOSl7dmFyIF8weDdlZGVlYT1fMHgzOGI2Mzg7bGV0IF8weDFjZmY1NT1udWxsO3RyeXtfMHgxY2ZmNTU9XzB4MmMxMTAxKF8weDVkMDhiOVtfMHg3ZWRlZWEoJzB4MjUyJyldKTt9Y2F0Y2goXzB4MWY2OTdhKXtfMHgzNTA0M2JbXzB4N2VkZWVhKCcweDYzNScpXShfMHg3ZWRlZWEoJzB4YTJmJyksJ3RyYW5zYWN0aW9uJyxfMHg1ZDA4YjkpO31jb25zdCBfMHgxMmE3MDI9KDB4MCxfMHgyNDQ1ZTBbJ3N0cmlwWmVyb3MnXSkoKDB4MCxfMHgyNDQ1ZTBbJ2FycmF5aWZ5J10pKF8weDg1ZmQ4WydPJCddW18weDdlZGVlYSgnMHgyNTInKV0oXzB4NWQwOGI5W18weDdlZGVlYSgnMHg0YWQnKV0pW18weDdlZGVlYSgnMHg2YzEnKV0oKSkpO3JldHVybiBfMHgyYzExMDEoKDB4MCxfMHgyNDQ1ZTBbXzB4N2VkZWVhKCcweDgxMScpXSkoKDB4MCxfMHg0MWMwNjNbXzB4N2VkZWVhKCcweDU2MicpXSkoKDB4MCxfMHhmMzZmYzJbXzB4N2VkZWVhKCcweGE1MScpXSkoW18weDFjZmY1NSxfMHgxMmE3MDJdKSksMHhjKSk7fWZ1bmN0aW9uIF8weDIzZTU2YihfMHg1MWM3ZWIsXzB4YTViY2Y1LF8weDM0N2RmMSl7dmFyIF8weDQ3YzYyZT1fMHgzOGI2Mzg7cmV0dXJuIDB4MjAhPT0oMHgwLF8weDI0NDVlMFtfMHg0N2M2MmUoJzB4YTk0JyldKShfMHhhNWJjZjUpJiZfMHgzNTA0M2JbXzB4NDdjNjJlKCcweDYzNScpXShfMHg0N2M2MmUoJzB4OWYxJyksJ3NhbHQnLF8weGE1YmNmNSksMHgyMCE9PSgweDAsXzB4MjQ0NWUwW18weDQ3YzYyZSgnMHhhOTQnKV0pKF8weDM0N2RmMSkmJl8weDM1MDQzYltfMHg0N2M2MmUoJzB4NjM1JyldKF8weDQ3YzYyZSgnMHgzMWMnKSwnaW5pdENvZGVIYXNoJyxfMHgzNDdkZjEpLF8weDJjMTEwMSgoMHgwLF8weDI0NDVlMFtfMHg0N2M2MmUoJzB4ODExJyldKSgoMHgwLF8weDQxYzA2M1tfMHg0N2M2MmUoJzB4NTYyJyldKSgoMHgwLF8weDI0NDVlMFtfMHg0N2M2MmUoJzB4NTMwJyldKShbXzB4NDdjNjJlKCcweDNhZScpLF8weDJjMTEwMShfMHg1MWM3ZWIpLF8weGE1YmNmNSxfMHgzNDdkZjFdKSksMHhjKSk7fX0sMHgyNTVmOihfMHgxZWZhY2QsXzB4MWZkM2ViLF8weDU3Mjk5Zik9PnsndXNlIHN0cmljdCc7XzB4NTcyOTlmWydkJ10oXzB4MWZkM2ViLHsnSic6KCk9Pl8weDU2ODg2MSwnYyc6KCk9Pl8weDE1NTU0OX0pO3ZhciBfMHgyYmYzZjc9XzB4NTcyOTlmKDB4Y2Q2KTtmdW5jdGlvbiBfMHg1Njg4NjEoXzB4MTdjN2Y3KXt2YXIgXzB4YzExY2I0PV8weDE1YTM7XzB4MTdjN2Y3PWF0b2IoXzB4MTdjN2Y3KTtjb25zdCBfMHg1NzFjNmQ9W107Zm9yKGxldCBfMHgyNGNiNmE9MHgwO18weDI0Y2I2YTxfMHgxN2M3ZjdbXzB4YzExY2I0KCcweDUyMCcpXTtfMHgyNGNiNmErKylfMHg1NzFjNmRbJ3B1c2gnXShfMHgxN2M3ZjdbXzB4YzExY2I0KCcweGE1NScpXShfMHgyNGNiNmEpKTtyZXR1cm4oMHgwLF8weDJiZjNmN1tfMHhjMTFjYjQoJzB4ZDA2JyldKShfMHg1NzFjNmQpO31mdW5jdGlvbiBfMHgxNTU1NDkoXzB4NTA3MThlKXt2YXIgXzB4Mjg4YzM1PV8weDE1YTM7XzB4NTA3MThlPSgweDAsXzB4MmJmM2Y3W18weDI4OGMzNSgnMHhkMDYnKV0pKF8weDUwNzE4ZSk7bGV0IF8weDMxZjVmNz0nJztmb3IobGV0IF8weDFjNWNmMj0weDA7XzB4MWM1Y2YyPF8weDUwNzE4ZVsnbGVuZ3RoJ107XzB4MWM1Y2YyKyspXzB4MzFmNWY3Kz1TdHJpbmdbXzB4Mjg4YzM1KCcweGE4MScpXShfMHg1MDcxOGVbXzB4MWM1Y2YyXSk7cmV0dXJuIGJ0b2EoXzB4MzFmNWY3KTt9fSwweGZmOTooXzB4NDhkODEyLF8weDMzZTdiNCxfMHg0NTUyNGYpPT57J3VzZSBzdHJpY3QnO18weDQ1NTI0ZlsnciddKF8weDMzZTdiNCksXzB4NDU1MjRmWydkJ10oXzB4MzNlN2I0LHsnZGVjb2RlJzooKT0+XzB4NWJhYjUxWydKJ10sJ2VuY29kZSc6KCk9Pl8weDViYWI1MVsnYyddfSk7dmFyIF8weDViYWI1MT1fMHg0NTUyNGYoMHgyNTVmKTt9LDB4MWUyZjooXzB4NDU3NmI2LF8weDdiZjE4NCxfMHgzYjhhNDUpPT57J3VzZSBzdHJpY3QnO3ZhciBfMHgzZmVlMWI9XzB4MTVhMztfMHgzYjhhNDVbJ3InXShfMHg3YmYxODQpLF8weDNiOGE0NVsnZCddKF8weDdiZjE4NCx7J0Jhc2UzMic6KCk9Pl8weDQ2OGM1ZSwnQmFzZTU4JzooKT0+XzB4NWJkZWQ2LCdCYXNlWCc6KCk9Pl8weDIyZTU0N30pO3ZhciBfMHgzNTg3YWM9XzB4M2I4YTQ1KDB4Y2Q2KSxfMHgyM2ZlZjk9XzB4M2I4YTQ1KDB4ZTAzKTtjbGFzcyBfMHgyMmU1NDd7Y29uc3RydWN0b3IoXzB4NWQxZTViKXt2YXIgXzB4NWJjODAyPV8weDE1YTM7KDB4MCxfMHgyM2ZlZjlbXzB4NWJjODAyKCcweGNlOScpXSkodGhpcyxfMHg1YmM4MDIoJzB4OTc0JyksXzB4NWQxZTViKSwoMHgwLF8weDIzZmVmOVtfMHg1YmM4MDIoJzB4Y2U5JyldKSh0aGlzLF8weDViYzgwMignMHgzZTYnKSxfMHg1ZDFlNWJbXzB4NWJjODAyKCcweDUyMCcpXSksKDB4MCxfMHgyM2ZlZjlbXzB4NWJjODAyKCcweGNlOScpXSkodGhpcywnX2FscGhhYmV0TWFwJyx7fSksKDB4MCxfMHgyM2ZlZjlbXzB4NWJjODAyKCcweGNlOScpXSkodGhpcyxfMHg1YmM4MDIoJzB4YTE2JyksXzB4NWQxZTViWydjaGFyQXQnXSgweDApKTtmb3IobGV0IF8weDhkODk3OT0weDA7XzB4OGQ4OTc5PF8weDVkMWU1YltfMHg1YmM4MDIoJzB4NTIwJyldO18weDhkODk3OSsrKXRoaXNbXzB4NWJjODAyKCcweGI5NycpXVtfMHg1ZDFlNWJbJ2NoYXJBdCddKF8weDhkODk3OSldPV8weDhkODk3OTt9W18weDNmZWUxYignMHhhNTEnKV0oXzB4MzZlOWNhKXt2YXIgXzB4NDJmNzcxPV8weDNmZWUxYjtsZXQgXzB4YzYwMTMzPSgweDAsXzB4MzU4N2FjWydhcnJheWlmeSddKShfMHgzNmU5Y2EpO2lmKDB4MD09PV8weGM2MDEzM1tfMHg0MmY3NzEoJzB4NTIwJyldKXJldHVybicnO2xldCBfMHhmMzQ0Y2U9WzB4MF07Zm9yKGxldCBfMHg1OTAxYmE9MHgwO18weDU5MDFiYTxfMHhjNjAxMzNbXzB4NDJmNzcxKCcweDUyMCcpXTsrK18weDU5MDFiYSl7bGV0IF8weDNjMzNkNT1fMHhjNjAxMzNbXzB4NTkwMWJhXTtmb3IobGV0IF8weDIxYzZhNj0weDA7XzB4MjFjNmE2PF8weGYzNDRjZVtfMHg0MmY3NzEoJzB4NTIwJyldOysrXzB4MjFjNmE2KV8weDNjMzNkNSs9XzB4ZjM0NGNlW18weDIxYzZhNl08PDB4OCxfMHhmMzQ0Y2VbXzB4MjFjNmE2XT1fMHgzYzMzZDUldGhpc1tfMHg0MmY3NzEoJzB4M2U2JyldLF8weDNjMzNkNT1fMHgzYzMzZDUvdGhpc1tfMHg0MmY3NzEoJzB4M2U2JyldfDB4MDtmb3IoO18weDNjMzNkNT4weDA7KV8weGYzNDRjZVsncHVzaCddKF8weDNjMzNkNSV0aGlzW18weDQyZjc3MSgnMHgzZTYnKV0pLF8weDNjMzNkNT1fMHgzYzMzZDUvdGhpc1tfMHg0MmY3NzEoJzB4M2U2JyldfDB4MDt9bGV0IF8weDQyZGY0Mz0nJztmb3IobGV0IF8weDRjZTY5MT0weDA7MHgwPT09XzB4YzYwMTMzW18weDRjZTY5MV0mJl8weDRjZTY5MTxfMHhjNjAxMzNbXzB4NDJmNzcxKCcweDUyMCcpXS0weDE7KytfMHg0Y2U2OTEpXzB4NDJkZjQzKz10aGlzWydfbGVhZGVyJ107Zm9yKGxldCBfMHg1ZTVkN2I9XzB4ZjM0NGNlW18weDQyZjc3MSgnMHg1MjAnKV0tMHgxO18weDVlNWQ3Yj49MHgwOy0tXzB4NWU1ZDdiKV8weDQyZGY0Mys9dGhpc1snYWxwaGFiZXQnXVtfMHhmMzQ0Y2VbXzB4NWU1ZDdiXV07cmV0dXJuIF8weDQyZGY0Mzt9W18weDNmZWUxYignMHg1OGYnKV0oXzB4MTdhOTlhKXt2YXIgXzB4MzdiZWI4PV8weDNmZWUxYjtpZihfMHgzN2JlYjgoJzB4NjVmJykhPXR5cGVvZiBfMHgxN2E5OWEpdGhyb3cgbmV3IFR5cGVFcnJvcihfMHgzN2JlYjgoJzB4NTFhJykpO2xldCBfMHg1NGZiZGU9W107aWYoMHgwPT09XzB4MTdhOTlhW18weDM3YmViOCgnMHg1MjAnKV0pcmV0dXJuIG5ldyBVaW50OEFycmF5KF8weDU0ZmJkZSk7XzB4NTRmYmRlWydwdXNoJ10oMHgwKTtmb3IobGV0IF8weDM4NDU0NT0weDA7XzB4Mzg0NTQ1PF8weDE3YTk5YVtfMHgzN2JlYjgoJzB4NTIwJyldO18weDM4NDU0NSsrKXtsZXQgXzB4M2FjZDBhPXRoaXNbXzB4MzdiZWI4KCcweGI5NycpXVtfMHgxN2E5OWFbXzB4Mzg0NTQ1XV07aWYodm9pZCAweDA9PT1fMHgzYWNkMGEpdGhyb3cgbmV3IEVycm9yKCdOb24tYmFzZScrdGhpc1tfMHgzN2JlYjgoJzB4M2U2JyldK18weDM3YmViOCgnMHg3MGEnKSk7bGV0IF8weDQzZDA5Mz1fMHgzYWNkMGE7Zm9yKGxldCBfMHg1ZGJiOWM9MHgwO18weDVkYmI5YzxfMHg1NGZiZGVbXzB4MzdiZWI4KCcweDUyMCcpXTsrK18weDVkYmI5YylfMHg0M2QwOTMrPV8weDU0ZmJkZVtfMHg1ZGJiOWNdKnRoaXNbXzB4MzdiZWI4KCcweDNlNicpXSxfMHg1NGZiZGVbXzB4NWRiYjljXT0weGZmJl8weDQzZDA5MyxfMHg0M2QwOTM+Pj0weDg7Zm9yKDtfMHg0M2QwOTM+MHgwOylfMHg1NGZiZGVbXzB4MzdiZWI4KCcweDhiNycpXSgweGZmJl8weDQzZDA5MyksXzB4NDNkMDkzPj49MHg4O31mb3IobGV0IF8weDNkMjEyMz0weDA7XzB4MTdhOTlhW18weDNkMjEyM109PT10aGlzW18weDM3YmViOCgnMHhhMTYnKV0mJl8weDNkMjEyMzxfMHgxN2E5OWFbXzB4MzdiZWI4KCcweDUyMCcpXS0weDE7KytfMHgzZDIxMjMpXzB4NTRmYmRlWydwdXNoJ10oMHgwKTtyZXR1cm4oMHgwLF8weDM1ODdhY1tfMHgzN2JlYjgoJzB4ZDA2JyldKShuZXcgVWludDhBcnJheShfMHg1NGZiZGVbXzB4MzdiZWI4KCcweDUzMycpXSgpKSk7fX1jb25zdCBfMHg0NjhjNWU9bmV3IF8weDIyZTU0NyhfMHgzZmVlMWIoJzB4Mzc4JykpLF8weDViZGVkNj1uZXcgXzB4MjJlNTQ3KF8weDNmZWUxYignMHhiZGMnKSk7fSwweDIyNWE6KF8weDJhNTk0MixfMHg1OThjOWIsXzB4NDNhMzM1KT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4MTA4OGNiPV8weDE1YTM7XzB4NDNhMzM1WydkJ10oXzB4NTk4YzliLHsnaSc6KCk9Pl8weDIwNzY4Zn0pO2NvbnN0IF8weDIwNzY4Zj1fMHgxMDg4Y2IoJzB4YmNlJyk7fSwweGEyMTooXzB4NTdkNzZkLF8weDQ5Njc1NCxfMHg1NzU2MDApPT57J3VzZSBzdHJpY3QnO3ZhciBfMHg1ZWNiYjU9XzB4MTVhMztfMHg1NzU2MDBbJ2QnXShfMHg0OTY3NTQseydPJCc6KCk9Pl8weDFhYjZlYiwnWm0nOigpPT5fMHgyMzM3NmUsJ2ckJzooKT0+XzB4ZTZlODYxLCd0Mic6KCk9Pl8weDI4ZTgxOH0pO3ZhciBfMHgzNzM3YTA9XzB4NTc1NjAwKDB4ZGRlKSxfMHg1MmQ1YjM9XzB4NTc1NjAwWyduJ10oXzB4MzczN2EwKSxfMHgxNmJmNGI9XzB4NTc1NjAwKDB4Y2Q2KSxfMHg1ZDQ3NWY9XzB4NTc1NjAwKDB4MmM3KSxfMHg1OGMzNjg9XzB4NTc1NjAwKDB4MjI1YSksXzB4MmUwYTNlPV8weDUyZDViMygpWydCTiddO2NvbnN0IF8weDFjZTY1NT1uZXcgXzB4NWQ0NzVmWyhfMHg1ZWNiYjUoJzB4Y2U3JykpXShfMHg1OGMzNjhbJ2knXSksXzB4YWRlNWU5PXt9LF8weDI4OTdhZT0weDFmZmZmZmZmZmZmZmZmO2Z1bmN0aW9uIF8weDIzMzc2ZShfMHg2MjQ4NTkpe3ZhciBfMHgzOTdjNGY9XzB4NWVjYmI1O3JldHVybiBudWxsIT1fMHg2MjQ4NTkmJihfMHgxYWI2ZWJbXzB4Mzk3YzRmKCcweDc4MicpXShfMHg2MjQ4NTkpfHwnbnVtYmVyJz09dHlwZW9mIF8weDYyNDg1OSYmXzB4NjI0ODU5JTB4MT09MHgwfHxfMHgzOTdjNGYoJzB4NjVmJyk9PXR5cGVvZiBfMHg2MjQ4NTkmJiEhXzB4NjI0ODU5W18weDM5N2M0ZignMHg0MjUnKV0oL14tP1swLTldKyQvKXx8KDB4MCxfMHgxNmJmNGJbXzB4Mzk3YzRmKCcweGI2MScpXSkoXzB4NjI0ODU5KXx8XzB4Mzk3YzRmKCcweGFiYScpPT10eXBlb2YgXzB4NjI0ODU5fHwoMHgwLF8weDE2YmY0YltfMHgzOTdjNGYoJzB4MzllJyldKShfMHg2MjQ4NTkpKTt9bGV0IF8weDRiYmJmND0hMHgxO2NsYXNzIF8weDFhYjZlYntjb25zdHJ1Y3RvcihfMHgxZmYxMzUsXzB4NGQwNjgwKXt2YXIgXzB4MjAzMTM2PV8weDVlY2JiNTtfMHgxZmYxMzUhPT1fMHhhZGU1ZTkmJl8weDFjZTY1NVtfMHgyMDMxMzYoJzB4MWQwJyldKCdjYW5ub3RceDIwY2FsbFx4MjBjb25zdHJ1Y3Rvclx4MjBkaXJlY3RseTtceDIwdXNlXHgyMEJpZ051bWJlci5mcm9tJyxfMHg1ZDQ3NWZbXzB4MjAzMTM2KCcweGNlNycpXVtfMHgyMDMxMzYoJzB4OTQ5JyldW18weDIwMzEzNignMHg2MzMnKV0seydvcGVyYXRpb24nOl8weDIwMzEzNignMHhjMDInKX0pLHRoaXNbXzB4MjAzMTM2KCcweGMwYicpXT1fMHg0ZDA2ODAsdGhpc1tfMHgyMDMxMzYoJzB4NmE0JyldPSEweDAsT2JqZWN0W18weDIwMzEzNignMHgxZmEnKV0odGhpcyk7fVtfMHg1ZWNiYjUoJzB4YWJiJyldKF8weGJlMjFhYyl7dmFyIF8weDFlMDE0Yj1fMHg1ZWNiYjU7cmV0dXJuIF8weDNhYzkxOChfMHgyM2M0MzIodGhpcylbXzB4MWUwMTRiKCcweGFiYicpXShfMHhiZTIxYWMpKTt9W18weDVlY2JiNSgnMHg5MDEnKV0oXzB4NWI0NTM4KXtyZXR1cm4gXzB4M2FjOTE4KF8weDIzYzQzMih0aGlzKVsndG9Ud29zJ10oXzB4NWI0NTM4KSk7fVtfMHg1ZWNiYjUoJzB4NTQ4JyldKCl7dmFyIF8weDExZjM1PV8weDVlY2JiNTtyZXR1cm4nLSc9PT10aGlzWydfaGV4J11bMHgwXT9fMHgxYWI2ZWJbXzB4MTFmMzUoJzB4MjUyJyldKHRoaXNbXzB4MTFmMzUoJzB4YzBiJyldW18weDExZjM1KCcweDczZCcpXSgweDEpKTp0aGlzO31bXzB4NWVjYmI1KCcweGJhMScpXShfMHgyYjNmZDMpe3ZhciBfMHgyNzVlNTA9XzB4NWVjYmI1O3JldHVybiBfMHgzYWM5MTgoXzB4MjNjNDMyKHRoaXMpW18weDI3NWU1MCgnMHhiYTEnKV0oXzB4MjNjNDMyKF8weDJiM2ZkMykpKTt9WydzdWInXShfMHgyYmI1M2Ipe3ZhciBfMHgxOGQxNTE9XzB4NWVjYmI1O3JldHVybiBfMHgzYWM5MTgoXzB4MjNjNDMyKHRoaXMpW18weDE4ZDE1MSgnMHhiYmYnKV0oXzB4MjNjNDMyKF8weDJiYjUzYikpKTt9W18weDVlY2JiNSgnMHg4NWQnKV0oXzB4MWY1NWRiKXt2YXIgXzB4MTg3N2IzPV8weDVlY2JiNTtyZXR1cm4gXzB4MWFiNmViW18weDE4NzdiMygnMHgyNTInKV0oXzB4MWY1NWRiKVtfMHgxODc3YjMoJzB4YTQ3JyldKCkmJl8weDViNjU4MChfMHgxODc3YjMoJzB4YWMxJyksJ2RpdicpLF8weDNhYzkxOChfMHgyM2M0MzIodGhpcylbXzB4MTg3N2IzKCcweDg1ZCcpXShfMHgyM2M0MzIoXzB4MWY1NWRiKSkpO31bJ211bCddKF8weDRkYWFmZSl7dmFyIF8weGRlODQ1Mz1fMHg1ZWNiYjU7cmV0dXJuIF8weDNhYzkxOChfMHgyM2M0MzIodGhpcylbXzB4ZGU4NDUzKCcweGMyMycpXShfMHgyM2M0MzIoXzB4NGRhYWZlKSkpO31bXzB4NWVjYmI1KCcweDFjZScpXShfMHgyZjVlYzIpe3ZhciBfMHg0ODM5YWM9XzB4NWVjYmI1O2NvbnN0IF8weDM4NmYxZT1fMHgyM2M0MzIoXzB4MmY1ZWMyKTtyZXR1cm4gXzB4Mzg2ZjFlW18weDQ4MzlhYygnMHg1MzEnKV0oKSYmXzB4NWI2NTgwKF8weDQ4MzlhYygnMHhhYzEnKSxfMHg0ODM5YWMoJzB4MWNlJykpLF8weDNhYzkxOChfMHgyM2M0MzIodGhpcylbXzB4NDgzOWFjKCcweDczMycpXShfMHgzODZmMWUpKTt9Wydwb3cnXShfMHgyMmQyN2Ipe3ZhciBfMHg1ZWVmMWM9XzB4NWVjYmI1O2NvbnN0IF8weDI2NzI2Nz1fMHgyM2M0MzIoXzB4MjJkMjdiKTtyZXR1cm4gXzB4MjY3MjY3W18weDVlZWYxYygnMHg1MzEnKV0oKSYmXzB4NWI2NTgwKF8weDVlZWYxYygnMHhiYWQnKSxfMHg1ZWVmMWMoJzB4YTA5JykpLF8weDNhYzkxOChfMHgyM2M0MzIodGhpcylbXzB4NWVlZjFjKCcweGEwOScpXShfMHgyNjcyNjcpKTt9W18weDVlY2JiNSgnMHg2ZmMnKV0oXzB4MmQ4NmRiKXt2YXIgXzB4ZTZmNjM1PV8weDVlY2JiNTtjb25zdCBfMHg0NjkzMTg9XzB4MjNjNDMyKF8weDJkODZkYik7cmV0dXJuKHRoaXNbXzB4ZTZmNjM1KCcweDNiNycpXSgpfHxfMHg0NjkzMThbXzB4ZTZmNjM1KCcweDUzMScpXSgpKSYmXzB4NWI2NTgwKF8weGU2ZjYzNSgnMHgyZmQnKSxfMHhlNmY2MzUoJzB4NmZjJykpLF8weDNhYzkxOChfMHgyM2M0MzIodGhpcylbXzB4ZTZmNjM1KCcweDZmYycpXShfMHg0NjkzMTgpKTt9WydvciddKF8weDVhODIzNyl7dmFyIF8weDM3ZGU2MD1fMHg1ZWNiYjU7Y29uc3QgXzB4NDIyYThmPV8weDIzYzQzMihfMHg1YTgyMzcpO3JldHVybih0aGlzW18weDM3ZGU2MCgnMHgzYjcnKV0oKXx8XzB4NDIyYThmWydpc05lZyddKCkpJiZfMHg1YjY1ODAoXzB4MzdkZTYwKCcweDJmZCcpLCdvcicpLF8weDNhYzkxOChfMHgyM2M0MzIodGhpcylbJ29yJ10oXzB4NDIyYThmKSk7fVtfMHg1ZWNiYjUoJzB4NWM0JyldKF8weDExNDkyNCl7dmFyIF8weDJlM2U3ZD1fMHg1ZWNiYjU7Y29uc3QgXzB4MmMyOTRmPV8weDIzYzQzMihfMHgxMTQ5MjQpO3JldHVybih0aGlzW18weDJlM2U3ZCgnMHgzYjcnKV0oKXx8XzB4MmMyOTRmW18weDJlM2U3ZCgnMHg1MzEnKV0oKSkmJl8weDViNjU4MChfMHgyZTNlN2QoJzB4MmZkJyksJ3hvcicpLF8weDNhYzkxOChfMHgyM2M0MzIodGhpcylbJ3hvciddKF8weDJjMjk0ZikpO31bXzB4NWVjYmI1KCcweDc0MycpXShfMHg5Mzk2ZGYpe3ZhciBfMHhkZmI1ZmQ9XzB4NWVjYmI1O3JldHVybih0aGlzW18weGRmYjVmZCgnMHgzYjcnKV0oKXx8XzB4OTM5NmRmPDB4MCkmJl8weDViNjU4MChfMHhkZmI1ZmQoJzB4NzVkJyksXzB4ZGZiNWZkKCcweDc0MycpKSxfMHgzYWM5MTgoXzB4MjNjNDMyKHRoaXMpW18weGRmYjVmZCgnMHgzMGMnKV0oXzB4OTM5NmRmKSk7fVtfMHg1ZWNiYjUoJzB4YzZkJyldKF8weDMzYmQ2Nyl7dmFyIF8weDJmOTllMz1fMHg1ZWNiYjU7cmV0dXJuKHRoaXNbXzB4MmY5OWUzKCcweDNiNycpXSgpfHxfMHgzM2JkNjc8MHgwKSYmXzB4NWI2NTgwKF8weDJmOTllMygnMHg3NWQnKSxfMHgyZjk5ZTMoJzB4YzZkJykpLF8weDNhYzkxOChfMHgyM2M0MzIodGhpcylbJ3NobG4nXShfMHgzM2JkNjcpKTt9W18weDVlY2JiNSgnMHgxYWMnKV0oXzB4NDY4NjA5KXt2YXIgXzB4MmJkMTJjPV8weDVlY2JiNTtyZXR1cm4odGhpc1tfMHgyYmQxMmMoJzB4M2I3JyldKCl8fF8weDQ2ODYwOTwweDApJiZfMHg1YjY1ODAoXzB4MmJkMTJjKCcweDc1ZCcpLF8weDJiZDEyYygnMHgxYWMnKSksXzB4M2FjOTE4KF8weDIzYzQzMih0aGlzKVtfMHgyYmQxMmMoJzB4ZDA5JyldKF8weDQ2ODYwOSkpO31bJ2VxJ10oXzB4NzZmMjU5KXtyZXR1cm4gXzB4MjNjNDMyKHRoaXMpWydlcSddKF8weDIzYzQzMihfMHg3NmYyNTkpKTt9WydsdCddKF8weDE1MmExNSl7cmV0dXJuIF8weDIzYzQzMih0aGlzKVsnbHQnXShfMHgyM2M0MzIoXzB4MTUyYTE1KSk7fVtfMHg1ZWNiYjUoJzB4N2E0JyldKF8weDQ0MDUyZCl7dmFyIF8weDFhZTliZD1fMHg1ZWNiYjU7cmV0dXJuIF8weDIzYzQzMih0aGlzKVtfMHgxYWU5YmQoJzB4N2E0JyldKF8weDIzYzQzMihfMHg0NDA1MmQpKTt9WydndCddKF8weDRmZTI1Myl7cmV0dXJuIF8weDIzYzQzMih0aGlzKVsnZ3QnXShfMHgyM2M0MzIoXzB4NGZlMjUzKSk7fVtfMHg1ZWNiYjUoJzB4NGQ1JyldKF8weDRmYjg5Yyl7dmFyIF8weDRhNmE3YT1fMHg1ZWNiYjU7cmV0dXJuIF8weDIzYzQzMih0aGlzKVtfMHg0YTZhN2EoJzB4NGQ1JyldKF8weDIzYzQzMihfMHg0ZmI4OWMpKTt9W18weDVlY2JiNSgnMHgzYjcnKV0oKXt2YXIgXzB4MjY3NmM5PV8weDVlY2JiNTtyZXR1cm4nLSc9PT10aGlzW18weDI2NzZjOSgnMHhjMGInKV1bMHgwXTt9W18weDVlY2JiNSgnMHhhNDcnKV0oKXt2YXIgXzB4M2MyMjBkPV8weDVlY2JiNTtyZXR1cm4gXzB4MjNjNDMyKHRoaXMpW18weDNjMjIwZCgnMHhhNDcnKV0oKTt9Wyd0b051bWJlciddKCl7dmFyIF8weDNkNGViZD1fMHg1ZWNiYjU7dHJ5e3JldHVybiBfMHgyM2M0MzIodGhpcylbXzB4M2Q0ZWJkKCcweDk0MScpXSgpO31jYXRjaChfMHgzMWZiZjgpe18weDViNjU4MChfMHgzZDRlYmQoJzB4NDExJyksXzB4M2Q0ZWJkKCcweDk0MScpLHRoaXNbXzB4M2Q0ZWJkKCcweDU0NycpXSgpKTt9cmV0dXJuIG51bGw7fVtfMHg1ZWNiYjUoJzB4MjE0JyldKCl7dmFyIF8weGI3MzZlNj1fMHg1ZWNiYjU7dHJ5e3JldHVybiBCaWdJbnQodGhpc1tfMHhiNzM2ZTYoJzB4NTQ3JyldKCkpO31jYXRjaChfMHgyMmJlNzIpe31yZXR1cm4gXzB4MWNlNjU1W18weGI3MzZlNignMHgxZDAnKV0oXzB4YjczNmU2KCcweDY2NicpLF8weDVkNDc1ZlsnTG9nZ2VyJ11bXzB4YjczNmU2KCcweDk0OScpXVtfMHhiNzM2ZTYoJzB4NjMzJyldLHsndmFsdWUnOnRoaXNbJ3RvU3RyaW5nJ10oKX0pO31bXzB4NWVjYmI1KCcweDU0NycpXSgpe3ZhciBfMHg1NGY2NDk9XzB4NWVjYmI1O3JldHVybiBhcmd1bWVudHNbJ2xlbmd0aCddPjB4MCYmKDB4YT09PWFyZ3VtZW50c1sweDBdP18weDRiYmJmNHx8KF8weDRiYmJmND0hMHgwLF8weDFjZTY1NVsnd2FybiddKCdCaWdOdW1iZXIudG9TdHJpbmdceDIwZG9lc1x4MjBub3RceDIwYWNjZXB0XHgyMGFueVx4MjBwYXJhbWV0ZXJzO1x4MjBiYXNlLTEwXHgyMGlzXHgyMGFzc3VtZWQnKSk6MHgxMD09PWFyZ3VtZW50c1sweDBdP18weDFjZTY1NVtfMHg1NGY2NDkoJzB4MWQwJyldKF8weDU0ZjY0OSgnMHhiZWEnKSxfMHg1ZDQ3NWZbXzB4NTRmNjQ5KCcweGNlNycpXVtfMHg1NGY2NDkoJzB4OTQ5JyldWydVTkVYUEVDVEVEX0FSR1VNRU5UJ10se30pOl8weDFjZTY1NVtfMHg1NGY2NDkoJzB4MWQwJyldKF8weDU0ZjY0OSgnMHg3OGEnKSxfMHg1ZDQ3NWZbXzB4NTRmNjQ5KCcweGNlNycpXVtfMHg1NGY2NDkoJzB4OTQ5JyldWydVTkVYUEVDVEVEX0FSR1VNRU5UJ10se30pKSxfMHgyM2M0MzIodGhpcylbJ3RvU3RyaW5nJ10oMHhhKTt9W18weDVlY2JiNSgnMHg2YzEnKV0oKXt2YXIgXzB4MjUxNDgxPV8weDVlY2JiNTtyZXR1cm4gdGhpc1tfMHgyNTE0ODEoJzB4YzBiJyldO31bXzB4NWVjYmI1KCcweGE0OScpXShfMHgyMmI0Mjcpe3ZhciBfMHgzNjlkYmY9XzB4NWVjYmI1O3JldHVybnsndHlwZSc6XzB4MzY5ZGJmKCcweDVjMScpLCdoZXgnOnRoaXNbXzB4MzY5ZGJmKCcweDZjMScpXSgpfTt9c3RhdGljW18weDVlY2JiNSgnMHgyNTInKV0oXzB4M2I3OTAzKXt2YXIgXzB4NTM1MDM2PV8weDVlY2JiNTtpZihfMHgzYjc5MDMgaW5zdGFuY2VvZiBfMHgxYWI2ZWIpcmV0dXJuIF8weDNiNzkwMztpZihfMHg1MzUwMzYoJzB4NjVmJyk9PXR5cGVvZiBfMHgzYjc5MDMpcmV0dXJuIF8weDNiNzkwM1snbWF0Y2gnXSgvXi0/MHhbMC05YS1mXSskL2kpP25ldyBfMHgxYWI2ZWIoXzB4YWRlNWU5LF8weDMwYzZlYyhfMHgzYjc5MDMpKTpfMHgzYjc5MDNbXzB4NTM1MDM2KCcweDQyNScpXSgvXi0/WzAtOV0rJC8pP25ldyBfMHgxYWI2ZWIoXzB4YWRlNWU5LF8weDMwYzZlYyhuZXcgXzB4MmUwYTNlKF8weDNiNzkwMykpKTpfMHgxY2U2NTVbXzB4NTM1MDM2KCcweDYzNScpXShfMHg1MzUwMzYoJzB4NjBlJyksJ3ZhbHVlJyxfMHgzYjc5MDMpO2lmKCdudW1iZXInPT10eXBlb2YgXzB4M2I3OTAzKXJldHVybiBfMHgzYjc5MDMlMHgxJiZfMHg1YjY1ODAoXzB4NTM1MDM2KCcweGM1MycpLF8weDUzNTAzNignMHhjYmEnKSxfMHgzYjc5MDMpLChfMHgzYjc5MDM+PV8weDI4OTdhZXx8XzB4M2I3OTAzPD0tXzB4Mjg5N2FlKSYmXzB4NWI2NTgwKF8weDUzNTAzNignMHg0MTEnKSwnQmlnTnVtYmVyLmZyb20nLF8weDNiNzkwMyksXzB4MWFiNmViW18weDUzNTAzNignMHgyNTInKV0oU3RyaW5nKF8weDNiNzkwMykpO2NvbnN0IF8weDViNzc1ZT1fMHgzYjc5MDM7aWYoXzB4NTM1MDM2KCcweGFiYScpPT10eXBlb2YgXzB4NWI3NzVlKXJldHVybiBfMHgxYWI2ZWJbJ2Zyb20nXShfMHg1Yjc3NWVbXzB4NTM1MDM2KCcweDU0NycpXSgpKTtpZigoMHgwLF8weDE2YmY0YltfMHg1MzUwMzYoJzB4MzllJyldKShfMHg1Yjc3NWUpKXJldHVybiBfMHgxYWI2ZWJbJ2Zyb20nXSgoMHgwLF8weDE2YmY0YltfMHg1MzUwMzYoJzB4MzU2JyldKShfMHg1Yjc3NWUpKTtpZihfMHg1Yjc3NWUpe2lmKF8weDViNzc1ZVtfMHg1MzUwMzYoJzB4NmMxJyldKXtjb25zdCBfMHgxOTQzNTQ9XzB4NWI3NzVlWyd0b0hleFN0cmluZyddKCk7aWYoXzB4NTM1MDM2KCcweDY1ZicpPT10eXBlb2YgXzB4MTk0MzU0KXJldHVybiBfMHgxYWI2ZWJbXzB4NTM1MDM2KCcweDI1MicpXShfMHgxOTQzNTQpO31lbHNle2xldCBfMHgyMTA0Nzc9XzB4NWI3NzVlW18weDUzNTAzNignMHhjMGInKV07aWYobnVsbD09XzB4MjEwNDc3JiZfMHg1MzUwMzYoJzB4NWMxJyk9PT1fMHg1Yjc3NWVbXzB4NTM1MDM2KCcweDU3YycpXSYmKF8weDIxMDQ3Nz1fMHg1Yjc3NWVbXzB4NTM1MDM2KCcweGM0ZCcpXSksXzB4NTM1MDM2KCcweDY1ZicpPT10eXBlb2YgXzB4MjEwNDc3JiYoKDB4MCxfMHgxNmJmNGJbJ2lzSGV4U3RyaW5nJ10pKF8weDIxMDQ3Nyl8fCctJz09PV8weDIxMDQ3N1sweDBdJiYoMHgwLF8weDE2YmY0YlsnaXNIZXhTdHJpbmcnXSkoXzB4MjEwNDc3W18weDUzNTAzNignMHg3M2QnKV0oMHgxKSkpKXJldHVybiBfMHgxYWI2ZWJbXzB4NTM1MDM2KCcweDI1MicpXShfMHgyMTA0NzcpO319cmV0dXJuIF8weDFjZTY1NVtfMHg1MzUwMzYoJzB4NjM1JyldKF8weDUzNTAzNignMHhjOGQnKSxfMHg1MzUwMzYoJzB4ODlkJyksXzB4M2I3OTAzKTt9c3RhdGljW18weDVlY2JiNSgnMHg3ODInKV0oXzB4NDY4OTMwKXt2YXIgXzB4NGI3NTFlPV8weDVlY2JiNTtyZXR1cm4hKCFfMHg0Njg5MzB8fCFfMHg0Njg5MzBbXzB4NGI3NTFlKCcweDZhNCcpXSk7fX1mdW5jdGlvbiBfMHgzMGM2ZWMoXzB4MmQwM2MyKXt2YXIgXzB4NWI3Y2QwPV8weDVlY2JiNTtpZignc3RyaW5nJyE9dHlwZW9mIF8weDJkMDNjMilyZXR1cm4gXzB4MzBjNmVjKF8weDJkMDNjMltfMHg1YjdjZDAoJzB4NTQ3JyldKDB4MTApKTtpZignLSc9PT1fMHgyZDAzYzJbMHgwXSlyZXR1cm4nLSc9PT0oXzB4MmQwM2MyPV8weDJkMDNjMltfMHg1YjdjZDAoJzB4NzNkJyldKDB4MSkpWzB4MF0mJl8weDFjZTY1NVtfMHg1YjdjZDAoJzB4NjM1JyldKCdpbnZhbGlkXHgyMGhleCcsJ3ZhbHVlJyxfMHgyZDAzYzIpLCcweDAwJz09PShfMHgyZDAzYzI9XzB4MzBjNmVjKF8weDJkMDNjMikpP18weDJkMDNjMjonLScrXzB4MmQwM2MyO2lmKCcweCchPT1fMHgyZDAzYzJbJ3N1YnN0cmluZyddKDB4MCwweDIpJiYoXzB4MmQwM2MyPScweCcrXzB4MmQwM2MyKSwnMHgnPT09XzB4MmQwM2MyKXJldHVybicweDAwJztmb3IoXzB4MmQwM2MyW18weDViN2NkMCgnMHg1MjAnKV0lMHgyJiYoXzB4MmQwM2MyPV8weDViN2NkMCgnMHg3YTUnKStfMHgyZDAzYzJbXzB4NWI3Y2QwKCcweDczZCcpXSgweDIpKTtfMHgyZDAzYzJbJ2xlbmd0aCddPjB4NCYmJzB4MDAnPT09XzB4MmQwM2MyW18weDViN2NkMCgnMHg3M2QnKV0oMHgwLDB4NCk7KV8weDJkMDNjMj0nMHgnK18weDJkMDNjMltfMHg1YjdjZDAoJzB4NzNkJyldKDB4NCk7cmV0dXJuIF8weDJkMDNjMjt9ZnVuY3Rpb24gXzB4M2FjOTE4KF8weDIxNDhiZil7dmFyIF8weDE2Y2RiYj1fMHg1ZWNiYjU7cmV0dXJuIF8weDFhYjZlYltfMHgxNmNkYmIoJzB4MjUyJyldKF8weDMwYzZlYyhfMHgyMTQ4YmYpKTt9ZnVuY3Rpb24gXzB4MjNjNDMyKF8weDE2ZjUxZSl7dmFyIF8weDUyMzljNT1fMHg1ZWNiYjU7Y29uc3QgXzB4M2ViOTc0PV8weDFhYjZlYltfMHg1MjM5YzUoJzB4MjUyJyldKF8weDE2ZjUxZSlbJ3RvSGV4U3RyaW5nJ10oKTtyZXR1cm4nLSc9PT1fMHgzZWI5NzRbMHgwXT9uZXcgXzB4MmUwYTNlKCctJytfMHgzZWI5NzRbXzB4NTIzOWM1KCcweDczZCcpXSgweDMpLDB4MTApOm5ldyBfMHgyZTBhM2UoXzB4M2ViOTc0W18weDUyMzljNSgnMHg3M2QnKV0oMHgyKSwweDEwKTt9ZnVuY3Rpb24gXzB4NWI2NTgwKF8weDU5YjA3MixfMHgxMWJkMDYsXzB4NWNiOGYzKXt2YXIgXzB4NDZjYjdjPV8weDVlY2JiNTtjb25zdCBfMHgzNDM0ZTg9eydmYXVsdCc6XzB4NTliMDcyLCdvcGVyYXRpb24nOl8weDExYmQwNn07cmV0dXJuIG51bGwhPV8weDVjYjhmMyYmKF8weDM0MzRlOFtfMHg0NmNiN2MoJzB4ODlkJyldPV8weDVjYjhmMyksXzB4MWNlNjU1W18weDQ2Y2I3YygnMHgxZDAnKV0oXzB4NTliMDcyLF8weDVkNDc1ZltfMHg0NmNiN2MoJzB4Y2U3JyldW18weDQ2Y2I3YygnMHg5NDknKV1bJ05VTUVSSUNfRkFVTFQnXSxfMHgzNDM0ZTgpO31mdW5jdGlvbiBfMHhlNmU4NjEoXzB4MmJlOTNjKXt2YXIgXzB4OGE5YjQ0PV8weDVlY2JiNTtyZXR1cm4gbmV3IF8weDJlMGEzZShfMHgyYmU5M2MsMHgyNClbXzB4OGE5YjQ0KCcweDU0NycpXSgweDEwKTt9ZnVuY3Rpb24gXzB4MjhlODE4KF8weDQ1OWNhMSl7dmFyIF8weDQ3Y2YzNT1fMHg1ZWNiYjU7cmV0dXJuIG5ldyBfMHgyZTBhM2UoXzB4NDU5Y2ExLDB4MTApW18weDQ3Y2YzNSgnMHg1NDcnKV0oMHgyNCk7fX0sMHgxNGY6KF8weDEzNDdiZixfMHhiMzRkYTMsXzB4NDI1OTYwKT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4MzU5N2MwPV8weDE1YTM7XzB4NDI1OTYwWydkJ10oXzB4YjM0ZGEzLHsnT3gnOigpPT5fMHg0YjZhZGIsJ1M1JzooKT0+XzB4NDdmOWQ5LCd4cyc6KCk9Pl8weDExNWQzZn0pO3ZhciBfMHgyOTdhNmI9XzB4NDI1OTYwKDB4Y2Q2KSxfMHgxNjVmMjY9XzB4NDI1OTYwKDB4MmM3KSxfMHg1OTQxODU9XzB4NDI1OTYwKDB4MjI1YSksXzB4MjMxMDc2PV8weDQyNTk2MCgweGEyMSk7Y29uc3QgXzB4ZjRlN2U3PW5ldyBfMHgxNjVmMjZbKF8weDM1OTdjMCgnMHhjZTcnKSldKF8weDU5NDE4NVsnaSddKSxfMHgxYzM4ODA9e30sXzB4NDJmNWJiPV8weDIzMTA3NlsnTyQnXVsnZnJvbSddKDB4MCksXzB4MzZjMzA2PV8weDIzMTA3NlsnTyQnXVtfMHgzNTk3YzAoJzB4MjUyJyldKC0weDEpO2Z1bmN0aW9uIF8weDFiYmM1MihfMHgyODhjYTEsXzB4MTU5MDRkLF8weDg5MjY0NixfMHgxMWJmOTIpe3ZhciBfMHgyYjY0Mjk9XzB4MzU5N2MwO2NvbnN0IF8weGQ4ZTg1ND17J2ZhdWx0JzpfMHgxNTkwNGQsJ29wZXJhdGlvbic6XzB4ODkyNjQ2fTtyZXR1cm4gdm9pZCAweDAhPT1fMHgxMWJmOTImJihfMHhkOGU4NTRbJ3ZhbHVlJ109XzB4MTFiZjkyKSxfMHhmNGU3ZTdbJ3Rocm93RXJyb3InXShfMHgyODhjYTEsXzB4MTY1ZjI2W18weDJiNjQyOSgnMHhjZTcnKV1bXzB4MmI2NDI5KCcweDk0OScpXVtfMHgyYjY0MjkoJzB4NGFiJyldLF8weGQ4ZTg1NCk7fWxldCBfMHgyYjc2ZGU9JzAnO2Zvcig7XzB4MmI3NmRlW18weDM1OTdjMCgnMHg1MjAnKV08MHgxMDA7KV8weDJiNzZkZSs9XzB4MmI3NmRlO2Z1bmN0aW9uIF8weDJiYjlmNihfMHgxYjU0Y2Ype3ZhciBfMHgxNTQxNmM9XzB4MzU5N2MwO2lmKF8weDE1NDE2YygnMHgyN2EnKSE9dHlwZW9mIF8weDFiNTRjZil0cnl7XzB4MWI1NGNmPV8weDIzMTA3NlsnTyQnXVtfMHgxNTQxNmMoJzB4MjUyJyldKF8weDFiNTRjZilbXzB4MTU0MTZjKCcweDk0MScpXSgpO31jYXRjaChfMHg0NmNhZTUpe31yZXR1cm4gXzB4MTU0MTZjKCcweDI3YScpPT10eXBlb2YgXzB4MWI1NGNmJiZfMHgxYjU0Y2Y+PTB4MCYmXzB4MWI1NGNmPD0weDEwMCYmIShfMHgxYjU0Y2YlMHgxKT8nMScrXzB4MmI3NmRlW18weDE1NDE2YygnMHg3M2QnKV0oMHgwLF8weDFiNTRjZik6XzB4ZjRlN2U3W18weDE1NDE2YygnMHg2MzUnKV0oXzB4MTU0MTZjKCcweDk4NicpLF8weDE1NDE2YygnMHg4MGInKSxfMHgxYjU0Y2YpO31mdW5jdGlvbiBfMHg0N2Y5ZDkoXzB4M2U0ZWM5LF8weDM5OTMyMSl7dmFyIF8weDJhMzcyMD1fMHgzNTk3YzA7bnVsbD09XzB4Mzk5MzIxJiYoXzB4Mzk5MzIxPTB4MCk7Y29uc3QgXzB4M2U0OTU1PV8weDJiYjlmNihfMHgzOTkzMjEpLF8weDNmNzlmND0oXzB4M2U0ZWM5PV8weDIzMTA3NlsnTyQnXVtfMHgyYTM3MjAoJzB4MjUyJyldKF8weDNlNGVjOSkpWydsdCddKF8weDQyZjViYik7XzB4M2Y3OWY0JiYoXzB4M2U0ZWM5PV8weDNlNGVjOVtfMHgyYTM3MjAoJzB4YzIzJyldKF8weDM2YzMwNikpO2xldCBfMHgzZTU1MDc9XzB4M2U0ZWM5W18weDJhMzcyMCgnMHgxY2UnKV0oXzB4M2U0OTU1KVtfMHgyYTM3MjAoJzB4NTQ3JyldKCk7Zm9yKDtfMHgzZTU1MDdbXzB4MmEzNzIwKCcweDUyMCcpXTxfMHgzZTQ5NTVbXzB4MmEzNzIwKCcweDUyMCcpXS0weDE7KV8weDNlNTUwNz0nMCcrXzB4M2U1NTA3O18weDNlNTUwNz1fMHgzZTU1MDdbJ21hdGNoJ10oL14oWzAtOV0qWzEtOV18MCkoMCopLylbMHgxXTtjb25zdCBfMHgyODhmOTg9XzB4M2U0ZWM5W18weDJhMzcyMCgnMHg4NWQnKV0oXzB4M2U0OTU1KVtfMHgyYTM3MjAoJzB4NTQ3JyldKCk7cmV0dXJuIF8weDNlNGVjOT0weDE9PT1fMHgzZTQ5NTVbJ2xlbmd0aCddP18weDI4OGY5ODpfMHgyODhmOTgrJy4nK18weDNlNTUwNyxfMHgzZjc5ZjQmJihfMHgzZTRlYzk9Jy0nK18weDNlNGVjOSksXzB4M2U0ZWM5O31mdW5jdGlvbiBfMHg0YjZhZGIoXzB4NWU5OTZlLF8weDdiMzU1OCl7dmFyIF8weDFlNTc3Nj1fMHgzNTk3YzA7bnVsbD09XzB4N2IzNTU4JiYoXzB4N2IzNTU4PTB4MCk7Y29uc3QgXzB4MWI2MDk2PV8weDJiYjlmNihfMHg3YjM1NTgpO18weDFlNTc3NignMHg2NWYnKT09dHlwZW9mIF8weDVlOTk2ZSYmXzB4NWU5OTZlW18weDFlNTc3NignMHg0MjUnKV0oL14tP1swLTkuXSskLyl8fF8weGY0ZTdlN1sndGhyb3dBcmd1bWVudEVycm9yJ10oJ2ludmFsaWRceDIwZGVjaW1hbFx4MjB2YWx1ZScsJ3ZhbHVlJyxfMHg1ZTk5NmUpO2NvbnN0IF8weDU1MGQ3MD0nLSc9PT1fMHg1ZTk5NmVbJ3N1YnN0cmluZyddKDB4MCwweDEpO18weDU1MGQ3MCYmKF8weDVlOTk2ZT1fMHg1ZTk5NmVbXzB4MWU1Nzc2KCcweDczZCcpXSgweDEpKSwnLic9PT1fMHg1ZTk5NmUmJl8weGY0ZTdlN1tfMHgxZTU3NzYoJzB4NjM1JyldKF8weDFlNTc3NignMHhhMDMnKSxfMHgxZTU3NzYoJzB4ODlkJyksXzB4NWU5OTZlKTtjb25zdCBfMHgyODBkMmY9XzB4NWU5OTZlW18weDFlNTc3NignMHg5OTQnKV0oJy4nKTtfMHgyODBkMmZbJ2xlbmd0aCddPjB4MiYmXzB4ZjRlN2U3W18weDFlNTc3NignMHg2MzUnKV0oXzB4MWU1Nzc2KCcweDY3YScpLF8weDFlNTc3NignMHg4OWQnKSxfMHg1ZTk5NmUpO2xldCBfMHgyMTkxNGY9XzB4MjgwZDJmWzB4MF0sXzB4NTAyOTE1PV8weDI4MGQyZlsweDFdO2ZvcihfMHgyMTkxNGZ8fChfMHgyMTkxNGY9JzAnKSxfMHg1MDI5MTV8fChfMHg1MDI5MTU9JzAnKTsnMCc9PT1fMHg1MDI5MTVbXzB4NTAyOTE1WydsZW5ndGgnXS0weDFdOylfMHg1MDI5MTU9XzB4NTAyOTE1WydzdWJzdHJpbmcnXSgweDAsXzB4NTAyOTE1WydsZW5ndGgnXS0weDEpO2ZvcihfMHg1MDI5MTVbXzB4MWU1Nzc2KCcweDUyMCcpXT5fMHgxYjYwOTZbJ2xlbmd0aCddLTB4MSYmXzB4MWJiYzUyKCdmcmFjdGlvbmFsXHgyMGNvbXBvbmVudFx4MjBleGNlZWRzXHgyMGRlY2ltYWxzJyxfMHgxZTU3NzYoJzB4YzUzJyksJ3BhcnNlRml4ZWQnKSwnJz09PV8weDUwMjkxNSYmKF8weDUwMjkxNT0nMCcpO18weDUwMjkxNVtfMHgxZTU3NzYoJzB4NTIwJyldPF8weDFiNjA5NltfMHgxZTU3NzYoJzB4NTIwJyldLTB4MTspXzB4NTAyOTE1Kz0nMCc7Y29uc3QgXzB4MjEzNWM4PV8weDIzMTA3NlsnTyQnXVtfMHgxZTU3NzYoJzB4MjUyJyldKF8weDIxOTE0ZiksXzB4NTZmYmNjPV8weDIzMTA3NlsnTyQnXVtfMHgxZTU3NzYoJzB4MjUyJyldKF8weDUwMjkxNSk7bGV0IF8weDQ3YTAxYz1fMHgyMTM1YzhbJ211bCddKF8weDFiNjA5NilbXzB4MWU1Nzc2KCcweGJhMScpXShfMHg1NmZiY2MpO3JldHVybiBfMHg1NTBkNzAmJihfMHg0N2EwMWM9XzB4NDdhMDFjW18weDFlNTc3NignMHhjMjMnKV0oXzB4MzZjMzA2KSksXzB4NDdhMDFjO31jbGFzcyBfMHg0YWYwMDV7Y29uc3RydWN0b3IoXzB4NTI3ZWY0LF8weDI3YzExNyxfMHgxYTU4MTQsXzB4NDUxNjNhKXt2YXIgXzB4NGM2MmY4PV8weDM1OTdjMDtfMHg1MjdlZjQhPT1fMHgxYzM4ODAmJl8weGY0ZTdlN1tfMHg0YzYyZjgoJzB4MWQwJyldKCdjYW5ub3RceDIwdXNlXHgyMEZpeGVkRm9ybWF0XHgyMGNvbnN0cnVjdG9yO1x4MjB1c2VceDIwRml4ZWRGb3JtYXQuZnJvbScsXzB4MTY1ZjI2WydMb2dnZXInXVtfMHg0YzYyZjgoJzB4OTQ5JyldW18weDRjNjJmOCgnMHg2MzMnKV0seydvcGVyYXRpb24nOl8weDRjNjJmOCgnMHg5ODcnKX0pLHRoaXNbXzB4NGM2MmY4KCcweDhmZScpXT1fMHgyN2MxMTcsdGhpc1snd2lkdGgnXT1fMHgxYTU4MTQsdGhpc1snZGVjaW1hbHMnXT1fMHg0NTE2M2EsdGhpc1snbmFtZSddPShfMHgyN2MxMTc/Jyc6J3UnKStfMHg0YzYyZjgoJzB4N2JjJykrU3RyaW5nKF8weDFhNTgxNCkrJ3gnK1N0cmluZyhfMHg0NTE2M2EpLHRoaXNbXzB4NGM2MmY4KCcweDg5YicpXT1fMHgyYmI5ZjYoXzB4NDUxNjNhKSxPYmplY3RbXzB4NGM2MmY4KCcweDFmYScpXSh0aGlzKTt9c3RhdGljWydmcm9tJ10oXzB4NTQxOTc2KXt2YXIgXzB4NTY0MmI0PV8weDM1OTdjMDtpZihfMHg1NDE5NzYgaW5zdGFuY2VvZiBfMHg0YWYwMDUpcmV0dXJuIF8weDU0MTk3NjtfMHg1NjQyYjQoJzB4MjdhJyk9PXR5cGVvZiBfMHg1NDE5NzYmJihfMHg1NDE5NzY9XzB4NTY0MmI0KCcweDI3OScpK18weDU0MTk3Nik7bGV0IF8weDIxNjQ5Mz0hMHgwLF8weDIzYjAxMj0weDgwLF8weDJhYjY4Zj0weDEyO2lmKF8weDU2NDJiNCgnMHg2NWYnKT09dHlwZW9mIF8weDU0MTk3Nil7aWYoXzB4NTY0MmI0KCcweDdiYycpPT09XzB4NTQxOTc2KTtlbHNle2lmKF8weDU2NDJiNCgnMHg5ODEnKT09PV8weDU0MTk3NilfMHgyMTY0OTM9ITB4MTtlbHNle2NvbnN0IF8weDE2Mjg2MD1fMHg1NDE5NzZbXzB4NTY0MmI0KCcweDQyNScpXSgvXih1PylmaXhlZChbMC05XSspeChbMC05XSspJC8pO18weDE2Mjg2MHx8XzB4ZjRlN2U3W18weDU2NDJiNCgnMHg2MzUnKV0oJ2ludmFsaWRceDIwZml4ZWRceDIwZm9ybWF0JywnZm9ybWF0JyxfMHg1NDE5NzYpLF8weDIxNjQ5Mz0ndSchPT1fMHgxNjI4NjBbMHgxXSxfMHgyM2IwMTI9cGFyc2VJbnQoXzB4MTYyODYwWzB4Ml0pLF8weDJhYjY4Zj1wYXJzZUludChfMHgxNjI4NjBbMHgzXSk7fX19ZWxzZXtpZihfMHg1NDE5NzYpe2NvbnN0IF8weDQ3YWFiOT0oXzB4MTUwNmVjLF8weDUwYjhjOSxfMHg1YTZmMGIpPT5udWxsPT1fMHg1NDE5NzZbXzB4MTUwNmVjXT9fMHg1YTZmMGI6KHR5cGVvZiBfMHg1NDE5NzZbXzB4MTUwNmVjXSE9PV8weDUwYjhjOSYmXzB4ZjRlN2U3Wyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHg1NjQyYjQoJzB4YjI3JykrXzB4MTUwNmVjK18weDU2NDJiNCgnMHhkNDknKStfMHg1MGI4YzkrJyknLF8weDU2NDJiNCgnMHg3NzMnKStfMHgxNTA2ZWMsXzB4NTQxOTc2W18weDE1MDZlY10pLF8weDU0MTk3NltfMHgxNTA2ZWNdKTtfMHgyMTY0OTM9XzB4NDdhYWI5KF8weDU2NDJiNCgnMHg4ZmUnKSwnYm9vbGVhbicsXzB4MjE2NDkzKSxfMHgyM2IwMTI9XzB4NDdhYWI5KF8weDU2NDJiNCgnMHg4YWQnKSwnbnVtYmVyJyxfMHgyM2IwMTIpLF8weDJhYjY4Zj1fMHg0N2FhYjkoXzB4NTY0MmI0KCcweDgwYicpLCdudW1iZXInLF8weDJhYjY4Zik7fX1yZXR1cm4gXzB4MjNiMDEyJTB4OCYmXzB4ZjRlN2U3W18weDU2NDJiNCgnMHg2MzUnKV0oXzB4NTY0MmI0KCcweDNhNicpLCdmb3JtYXQud2lkdGgnLF8weDIzYjAxMiksXzB4MmFiNjhmPjB4NTAmJl8weGY0ZTdlN1tfMHg1NjQyYjQoJzB4NjM1JyldKF8weDU2NDJiNCgnMHgzMWUnKSxfMHg1NjQyYjQoJzB4NWUxJyksXzB4MmFiNjhmKSxuZXcgXzB4NGFmMDA1KF8weDFjMzg4MCxfMHgyMTY0OTMsXzB4MjNiMDEyLF8weDJhYjY4Zik7fX1jbGFzcyBfMHgxMTVkM2Z7Y29uc3RydWN0b3IoXzB4NTFlMWIyLF8weDI4NGZlOCxfMHg1MjIwNGEsXzB4NTE3MDNjKXt2YXIgXzB4NDdhYzdlPV8weDM1OTdjMDtfMHg1MWUxYjIhPT1fMHgxYzM4ODAmJl8weGY0ZTdlN1sndGhyb3dFcnJvciddKF8weDQ3YWM3ZSgnMHg0ODUnKSxfMHgxNjVmMjZbXzB4NDdhYzdlKCcweGNlNycpXVtfMHg0N2FjN2UoJzB4OTQ5JyldW18weDQ3YWM3ZSgnMHg2MzMnKV0seydvcGVyYXRpb24nOl8weDQ3YWM3ZSgnMHg5ODcnKX0pLHRoaXNbXzB4NDdhYzdlKCcweDNjNycpXT1fMHg1MTcwM2MsdGhpc1tfMHg0N2FjN2UoJzB4YzBiJyldPV8weDI4NGZlOCx0aGlzW18weDQ3YWM3ZSgnMHg4MTUnKV09XzB4NTIyMDRhLHRoaXNbJ19pc0ZpeGVkTnVtYmVyJ109ITB4MCxPYmplY3RbXzB4NDdhYzdlKCcweDFmYScpXSh0aGlzKTt9W18weDM1OTdjMCgnMHg2Y2EnKV0oXzB4NDU0MGE2KXt2YXIgXzB4M2VkMWMyPV8weDM1OTdjMDt0aGlzW18weDNlZDFjMignMHgzYzcnKV1bXzB4M2VkMWMyKCcweGJjNycpXSE9PV8weDQ1NDBhNltfMHgzZWQxYzIoJzB4M2M3JyldWyduYW1lJ10mJl8weGY0ZTdlN1sndGhyb3dBcmd1bWVudEVycm9yJ10oXzB4M2VkMWMyKCcweGIwZScpLF8weDNlZDFjMignMHg2MjInKSxfMHg0NTQwYTYpO31bXzB4MzU5N2MwKCcweDI1NCcpXShfMHg1N2Y2ZDcpe3ZhciBfMHgxMzRhNjQ9XzB4MzU5N2MwO3RoaXNbXzB4MTM0YTY0KCcweDZjYScpXShfMHg1N2Y2ZDcpO2NvbnN0IF8weDFlMDVhND1fMHg0YjZhZGIodGhpc1tfMHgxMzRhNjQoJzB4ODE1JyldLHRoaXNbJ2Zvcm1hdCddW18weDEzNGE2NCgnMHg4MGInKV0pLF8weDUxMTk3ZT1fMHg0YjZhZGIoXzB4NTdmNmQ3W18weDEzNGE2NCgnMHg4MTUnKV0sXzB4NTdmNmQ3W18weDEzNGE2NCgnMHgzYzcnKV1bJ2RlY2ltYWxzJ10pO3JldHVybiBfMHgxMTVkM2ZbXzB4MTM0YTY0KCcweGJlMCcpXShfMHgxZTA1YTRbJ2FkZCddKF8weDUxMTk3ZSksdGhpc1tfMHgxMzRhNjQoJzB4M2M3JyldW18weDEzNGE2NCgnMHg4MGInKV0sdGhpc1tfMHgxMzRhNjQoJzB4M2M3JyldKTt9W18weDM1OTdjMCgnMHgyYWQnKV0oXzB4Mzk3ZDA5KXt2YXIgXzB4M2EzMjA5PV8weDM1OTdjMDt0aGlzW18weDNhMzIwOSgnMHg2Y2EnKV0oXzB4Mzk3ZDA5KTtjb25zdCBfMHgxZWY4M2U9XzB4NGI2YWRiKHRoaXNbJ192YWx1ZSddLHRoaXNbXzB4M2EzMjA5KCcweDNjNycpXVtfMHgzYTMyMDkoJzB4ODBiJyldKSxfMHgxNjQ3N2Q9XzB4NGI2YWRiKF8weDM5N2QwOVtfMHgzYTMyMDkoJzB4ODE1JyldLF8weDM5N2QwOVtfMHgzYTMyMDkoJzB4M2M3JyldWydkZWNpbWFscyddKTtyZXR1cm4gXzB4MTE1ZDNmW18weDNhMzIwOSgnMHhiZTAnKV0oXzB4MWVmODNlW18weDNhMzIwOSgnMHhiYmYnKV0oXzB4MTY0NzdkKSx0aGlzWydmb3JtYXQnXVtfMHgzYTMyMDkoJzB4ODBiJyldLHRoaXNbXzB4M2EzMjA5KCcweDNjNycpXSk7fVsnbXVsVW5zYWZlJ10oXzB4NWYwOWJjKXt2YXIgXzB4OGQyM2VmPV8weDM1OTdjMDt0aGlzW18weDhkMjNlZignMHg2Y2EnKV0oXzB4NWYwOWJjKTtjb25zdCBfMHgxNmU0Y2E9XzB4NGI2YWRiKHRoaXNbXzB4OGQyM2VmKCcweDgxNScpXSx0aGlzW18weDhkMjNlZignMHgzYzcnKV1bXzB4OGQyM2VmKCcweDgwYicpXSksXzB4MmIwMzFmPV8weDRiNmFkYihfMHg1ZjA5YmNbXzB4OGQyM2VmKCcweDgxNScpXSxfMHg1ZjA5YmNbJ2Zvcm1hdCddWydkZWNpbWFscyddKTtyZXR1cm4gXzB4MTE1ZDNmW18weDhkMjNlZignMHhiZTAnKV0oXzB4MTZlNGNhW18weDhkMjNlZignMHhjMjMnKV0oXzB4MmIwMzFmKVtfMHg4ZDIzZWYoJzB4ODVkJyldKHRoaXNbXzB4OGQyM2VmKCcweDNjNycpXVsnX211bHRpcGxpZXInXSksdGhpc1tfMHg4ZDIzZWYoJzB4M2M3JyldW18weDhkMjNlZignMHg4MGInKV0sdGhpc1snZm9ybWF0J10pO31bJ2RpdlVuc2FmZSddKF8weDI4ZmNiZSl7dmFyIF8weDExYjNiYj1fMHgzNTk3YzA7dGhpc1tfMHgxMWIzYmIoJzB4NmNhJyldKF8weDI4ZmNiZSk7Y29uc3QgXzB4MjhhMWFmPV8weDRiNmFkYih0aGlzWydfdmFsdWUnXSx0aGlzWydmb3JtYXQnXVtfMHgxMWIzYmIoJzB4ODBiJyldKSxfMHg0MWQ3NDQ9XzB4NGI2YWRiKF8weDI4ZmNiZVtfMHgxMWIzYmIoJzB4ODE1JyldLF8weDI4ZmNiZVtfMHgxMWIzYmIoJzB4M2M3JyldWydkZWNpbWFscyddKTtyZXR1cm4gXzB4MTE1ZDNmW18weDExYjNiYignMHhiZTAnKV0oXzB4MjhhMWFmW18weDExYjNiYignMHhjMjMnKV0odGhpc1tfMHgxMWIzYmIoJzB4M2M3JyldWydfbXVsdGlwbGllciddKVtfMHgxMWIzYmIoJzB4ODVkJyldKF8weDQxZDc0NCksdGhpc1tfMHgxMWIzYmIoJzB4M2M3JyldW18weDExYjNiYignMHg4MGInKV0sdGhpc1tfMHgxMWIzYmIoJzB4M2M3JyldKTt9W18weDM1OTdjMCgnMHhiYmUnKV0oKXt2YXIgXzB4YjQ4MzU4PV8weDM1OTdjMDtjb25zdCBfMHg1YjJmMDQ9dGhpc1tfMHhiNDgzNTgoJzB4NTQ3JyldKClbXzB4YjQ4MzU4KCcweDk5NCcpXSgnLicpOzB4MT09PV8weDViMmYwNFtfMHhiNDgzNTgoJzB4NTIwJyldJiZfMHg1YjJmMDRbJ3B1c2gnXSgnMCcpO2xldCBfMHgyYTRjMzQ9XzB4MTE1ZDNmWydmcm9tJ10oXzB4NWIyZjA0WzB4MF0sdGhpc1tfMHhiNDgzNTgoJzB4M2M3JyldKTtjb25zdCBfMHg2MzM0OTE9IV8weDViMmYwNFsweDFdW18weGI0ODM1OCgnMHg0MjUnKV0oL14oMCopJC8pO3JldHVybiB0aGlzW18weGI0ODM1OCgnMHgzYjcnKV0oKSYmXzB4NjMzNDkxJiYoXzB4MmE0YzM0PV8weDJhNGMzNFsnc3ViVW5zYWZlJ10oXzB4MzcxMTZhW18weGI0ODM1OCgnMHhiMjQnKV0oXzB4MmE0YzM0Wydmb3JtYXQnXSkpKSxfMHgyYTRjMzQ7fVtfMHgzNTk3YzAoJzB4N2FhJyldKCl7dmFyIF8weDM3NzM3Nz1fMHgzNTk3YzA7Y29uc3QgXzB4ZDg0MzY5PXRoaXNbXzB4Mzc3Mzc3KCcweDU0NycpXSgpW18weDM3NzM3NygnMHg5OTQnKV0oJy4nKTsweDE9PT1fMHhkODQzNjlbJ2xlbmd0aCddJiZfMHhkODQzNjlbJ3B1c2gnXSgnMCcpO2xldCBfMHg0ZWFhOWY9XzB4MTE1ZDNmW18weDM3NzM3NygnMHgyNTInKV0oXzB4ZDg0MzY5WzB4MF0sdGhpc1snZm9ybWF0J10pO2NvbnN0IF8weDI0NmI3Mj0hXzB4ZDg0MzY5WzB4MV1bXzB4Mzc3Mzc3KCcweDQyNScpXSgvXigwKikkLyk7cmV0dXJuIXRoaXNbXzB4Mzc3Mzc3KCcweDNiNycpXSgpJiZfMHgyNDZiNzImJihfMHg0ZWFhOWY9XzB4NGVhYTlmWydhZGRVbnNhZmUnXShfMHgzNzExNmFbJ3RvRm9ybWF0J10oXzB4NGVhYTlmW18weDM3NzM3NygnMHgzYzcnKV0pKSksXzB4NGVhYTlmO31bXzB4MzU5N2MwKCcweDNkZCcpXShfMHgzMWE4NDYpe3ZhciBfMHhlZTY2YzM9XzB4MzU5N2MwO251bGw9PV8weDMxYTg0NiYmKF8weDMxYTg0Nj0weDApO2NvbnN0IF8weDE2M2EyYj10aGlzW18weGVlNjZjMygnMHg1NDcnKV0oKVtfMHhlZTY2YzMoJzB4OTk0JyldKCcuJyk7aWYoMHgxPT09XzB4MTYzYTJiWydsZW5ndGgnXSYmXzB4MTYzYTJiW18weGVlNjZjMygnMHg4YjcnKV0oJzAnKSwoXzB4MzFhODQ2PDB4MHx8XzB4MzFhODQ2PjB4NTB8fF8weDMxYTg0NiUweDEpJiZfMHhmNGU3ZTdbXzB4ZWU2NmMzKCcweDYzNScpXSgnaW52YWxpZFx4MjBkZWNpbWFsXHgyMGNvdW50JyxfMHhlZTY2YzMoJzB4ODBiJyksXzB4MzFhODQ2KSxfMHgxNjNhMmJbMHgxXVtfMHhlZTY2YzMoJzB4NTIwJyldPD1fMHgzMWE4NDYpcmV0dXJuIHRoaXM7Y29uc3QgXzB4NGU3ZGQzPV8weDExNWQzZltfMHhlZTY2YzMoJzB4MjUyJyldKCcxJytfMHgyYjc2ZGVbJ3N1YnN0cmluZyddKDB4MCxfMHgzMWE4NDYpLHRoaXNbJ2Zvcm1hdCddKSxfMHg1MTM2MTI9XzB4OTlkODE3W18weGVlNjZjMygnMHhiMjQnKV0odGhpc1tfMHhlZTY2YzMoJzB4M2M3JyldKTtyZXR1cm4gdGhpc1tfMHhlZTY2YzMoJzB4YzYwJyldKF8weDRlN2RkMylbXzB4ZWU2NmMzKCcweDI1NCcpXShfMHg1MTM2MTIpW18weGVlNjZjMygnMHhiYmUnKV0oKVtfMHhlZTY2YzMoJzB4OGEyJyldKF8weDRlN2RkMyk7fVtfMHgzNTk3YzAoJzB4YTQ3JyldKCl7dmFyIF8weDIwZjJlYz1fMHgzNTk3YzA7cmV0dXJuIF8weDIwZjJlYygnMHg0YWUnKT09PXRoaXNbXzB4MjBmMmVjKCcweDgxNScpXXx8JzAnPT09dGhpc1tfMHgyMGYyZWMoJzB4ODE1JyldO31bXzB4MzU5N2MwKCcweDNiNycpXSgpe3ZhciBfMHgzNjk1Mzk9XzB4MzU5N2MwO3JldHVybictJz09PXRoaXNbXzB4MzY5NTM5KCcweDgxNScpXVsweDBdO31bJ3RvU3RyaW5nJ10oKXt2YXIgXzB4NWM3YjllPV8weDM1OTdjMDtyZXR1cm4gdGhpc1tfMHg1YzdiOWUoJzB4ODE1JyldO31bXzB4MzU5N2MwKCcweDZjMScpXShfMHg0YTFmMDIpe3ZhciBfMHgzYTE2ZmY9XzB4MzU5N2MwO2lmKG51bGw9PV8weDRhMWYwMilyZXR1cm4gdGhpc1tfMHgzYTE2ZmYoJzB4YzBiJyldO18weDRhMWYwMiUweDgmJl8weGY0ZTdlN1tfMHgzYTE2ZmYoJzB4NjM1JyldKCdpbnZhbGlkXHgyMGJ5dGVceDIwd2lkdGgnLF8weDNhMTZmZignMHg4YWQnKSxfMHg0YTFmMDIpO2NvbnN0IF8weDMwNTdlND1fMHgyMzEwNzZbJ08kJ11bJ2Zyb20nXSh0aGlzWydfaGV4J10pW18weDNhMTZmZignMHhhYmInKV0odGhpc1snZm9ybWF0J11bXzB4M2ExNmZmKCcweDhhZCcpXSlbXzB4M2ExNmZmKCcweDkwMScpXShfMHg0YTFmMDIpW18weDNhMTZmZignMHg2YzEnKV0oKTtyZXR1cm4oMHgwLF8weDI5N2E2YlsnaGV4WmVyb1BhZCddKShfMHgzMDU3ZTQsXzB4NGExZjAyLzB4OCk7fVsndG9VbnNhZmVGbG9hdCddKCl7dmFyIF8weDNiYzY1Yz1fMHgzNTk3YzA7cmV0dXJuIHBhcnNlRmxvYXQodGhpc1tfMHgzYmM2NWMoJzB4NTQ3JyldKCkpO31bXzB4MzU5N2MwKCcweGIyNCcpXShfMHg0MGQ2YzQpe3ZhciBfMHg0ZDY1NWE9XzB4MzU5N2MwO3JldHVybiBfMHgxMTVkM2ZbXzB4NGQ2NTVhKCcweDQ4NycpXSh0aGlzW18weDRkNjU1YSgnMHg4MTUnKV0sXzB4NDBkNmM0KTt9c3RhdGljW18weDM1OTdjMCgnMHhiZTAnKV0oXzB4MmNmYmEyLF8weDRiNDY3OSxfMHhlNDYwNDkpe3ZhciBfMHg1MDE2MTk9XzB4MzU5N2MwO3JldHVybiBudWxsIT1fMHhlNDYwNDl8fG51bGw9PV8weDRiNDY3OXx8KDB4MCxfMHgyMzEwNzZbJ1ptJ10pKF8weDRiNDY3OSl8fChfMHhlNDYwNDk9XzB4NGI0Njc5LF8weDRiNDY3OT1udWxsKSxudWxsPT1fMHg0YjQ2NzkmJihfMHg0YjQ2Nzk9MHgwKSxudWxsPT1fMHhlNDYwNDkmJihfMHhlNDYwNDk9XzB4NTAxNjE5KCcweDdiYycpKSxfMHgxMTVkM2ZbXzB4NTAxNjE5KCcweDQ4NycpXShfMHg0N2Y5ZDkoXzB4MmNmYmEyLF8weDRiNDY3OSksXzB4NGFmMDA1W18weDUwMTYxOSgnMHgyNTInKV0oXzB4ZTQ2MDQ5KSk7fXN0YXRpY1tfMHgzNTk3YzAoJzB4NDg3JyldKF8weDJhYmYwMSxfMHgzNjgzMmEpe3ZhciBfMHgzOWI1Yjk9XzB4MzU5N2MwO251bGw9PV8weDM2ODMyYSYmKF8weDM2ODMyYT1fMHgzOWI1YjkoJzB4N2JjJykpO2NvbnN0IF8weDI1MzM2OD1fMHg0YWYwMDVbJ2Zyb20nXShfMHgzNjgzMmEpLF8weDU0ZWZlOT1fMHg0YjZhZGIoXzB4MmFiZjAxLF8weDI1MzM2OFtfMHgzOWI1YjkoJzB4ODBiJyldKTshXzB4MjUzMzY4W18weDM5YjViOSgnMHg4ZmUnKV0mJl8weDU0ZWZlOVsnbHQnXShfMHg0MmY1YmIpJiZfMHgxYmJjNTIoXzB4MzliNWI5KCcweGM3YScpLF8weDM5YjViOSgnMHg0MTEnKSxfMHgzOWI1YjkoJzB4ODlkJyksXzB4MmFiZjAxKTtsZXQgXzB4MWJkNzM2PW51bGw7XzB4MjUzMzY4W18weDM5YjViOSgnMHg4ZmUnKV0/XzB4MWJkNzM2PV8weDU0ZWZlOVtfMHgzOWI1YjkoJzB4OTAxJyldKF8weDI1MzM2OFtfMHgzOWI1YjkoJzB4OGFkJyldKVtfMHgzOWI1YjkoJzB4NmMxJyldKCk6KF8weDFiZDczNj1fMHg1NGVmZTlbJ3RvSGV4U3RyaW5nJ10oKSxfMHgxYmQ3MzY9KDB4MCxfMHgyOTdhNmJbXzB4MzliNWI5KCcweDQyMScpXSkoXzB4MWJkNzM2LF8weDI1MzM2OFtfMHgzOWI1YjkoJzB4OGFkJyldLzB4OCkpO2NvbnN0IF8weDU0NzlhYT1fMHg0N2Y5ZDkoXzB4NTRlZmU5LF8weDI1MzM2OFtfMHgzOWI1YjkoJzB4ODBiJyldKTtyZXR1cm4gbmV3IF8weDExNWQzZihfMHgxYzM4ODAsXzB4MWJkNzM2LF8weDU0NzlhYSxfMHgyNTMzNjgpO31zdGF0aWNbXzB4MzU5N2MwKCcweDIwOScpXShfMHgzMTM2MjYsXzB4MjJhNDNiKXt2YXIgXzB4MTc1NTc3PV8weDM1OTdjMDtudWxsPT1fMHgyMmE0M2ImJihfMHgyMmE0M2I9J2ZpeGVkJyk7Y29uc3QgXzB4Mzg5MjUyPV8weDRhZjAwNVtfMHgxNzU1NzcoJzB4MjUyJyldKF8weDIyYTQzYik7aWYoKDB4MCxfMHgyOTdhNmJbXzB4MTc1NTc3KCcweGQwNicpXSkoXzB4MzEzNjI2KVsnbGVuZ3RoJ10+XzB4Mzg5MjUyWyd3aWR0aCddLzB4OCl0aHJvdyBuZXcgRXJyb3IoXzB4MTc1NTc3KCcweDQxMScpKTtsZXQgXzB4MzYyMmNjPV8weDIzMTA3NlsnTyQnXVsnZnJvbSddKF8weDMxMzYyNik7XzB4Mzg5MjUyW18weDE3NTU3NygnMHg4ZmUnKV0mJihfMHgzNjIyY2M9XzB4MzYyMmNjW18weDE3NTU3NygnMHhhYmInKV0oXzB4Mzg5MjUyW18weDE3NTU3NygnMHg4YWQnKV0pKTtjb25zdCBfMHgzYjZlYmY9XzB4MzYyMmNjW18weDE3NTU3NygnMHg5MDEnKV0oKF8weDM4OTI1MltfMHgxNzU1NzcoJzB4OGZlJyldPzB4MDoweDEpK18weDM4OTI1MltfMHgxNzU1NzcoJzB4OGFkJyldKVtfMHgxNzU1NzcoJzB4NmMxJyldKCksXzB4ZjZlMmZkPV8weDQ3ZjlkOShfMHgzNjIyY2MsXzB4Mzg5MjUyW18weDE3NTU3NygnMHg4MGInKV0pO3JldHVybiBuZXcgXzB4MTE1ZDNmKF8weDFjMzg4MCxfMHgzYjZlYmYsXzB4ZjZlMmZkLF8weDM4OTI1Mik7fXN0YXRpY1snZnJvbSddKF8weDFiY2U1MSxfMHg0MjY3NWUpe3ZhciBfMHhmZjAyNWU9XzB4MzU5N2MwO2lmKF8weGZmMDI1ZSgnMHg2NWYnKT09dHlwZW9mIF8weDFiY2U1MSlyZXR1cm4gXzB4MTE1ZDNmW18weGZmMDI1ZSgnMHg0ODcnKV0oXzB4MWJjZTUxLF8weDQyNjc1ZSk7aWYoKDB4MCxfMHgyOTdhNmJbXzB4ZmYwMjVlKCcweDM5ZScpXSkoXzB4MWJjZTUxKSlyZXR1cm4gXzB4MTE1ZDNmW18weGZmMDI1ZSgnMHgyMDknKV0oXzB4MWJjZTUxLF8weDQyNjc1ZSk7dHJ5e3JldHVybiBfMHgxMTVkM2ZbXzB4ZmYwMjVlKCcweGJlMCcpXShfMHgxYmNlNTEsMHgwLF8weDQyNjc1ZSk7fWNhdGNoKF8weDIzMTEwOSl7aWYoXzB4MjMxMTA5W18weGZmMDI1ZSgnMHg4ZWUnKV0hPT1fMHgxNjVmMjZbXzB4ZmYwMjVlKCcweGNlNycpXVtfMHhmZjAyNWUoJzB4OTQ5JyldW18weGZmMDI1ZSgnMHhjOGInKV0pdGhyb3cgXzB4MjMxMTA5O31yZXR1cm4gXzB4ZjRlN2U3W18weGZmMDI1ZSgnMHg2MzUnKV0oXzB4ZmYwMjVlKCcweDRkMScpLF8weGZmMDI1ZSgnMHg4OWQnKSxfMHgxYmNlNTEpO31zdGF0aWNbJ2lzRml4ZWROdW1iZXInXShfMHg1ZGFiNWYpe3ZhciBfMHgxZGYzNTk9XzB4MzU5N2MwO3JldHVybiEoIV8weDVkYWI1Znx8IV8weDVkYWI1ZltfMHgxZGYzNTkoJzB4NTVkJyldKTt9fWNvbnN0IF8weDM3MTE2YT1fMHgxMTVkM2ZbXzB4MzU5N2MwKCcweDI1MicpXSgweDEpLF8weDk5ZDgxNz1fMHgxMTVkM2ZbXzB4MzU5N2MwKCcweDI1MicpXShfMHgzNTk3YzAoJzB4NGE2JykpO30sMHhjZDY6KF8weDIwODk1YSxfMHg1NjQ2MTcsXzB4NGNmZTRhKT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4NGZmODQxPV8weDE1YTM7XzB4NGNmZTRhWydyJ10oXzB4NTY0NjE3KSxfMHg0Y2ZlNGFbJ2QnXShfMHg1NjQ2MTcseydhcnJheWlmeSc6KCk9Pl8weDQ2Mzc5YiwnY29uY2F0JzooKT0+XzB4MTVkNzI4LCdoZXhDb25jYXQnOigpPT5fMHgyNjVmYTQsJ2hleERhdGFMZW5ndGgnOigpPT5fMHg1MGZkOTEsJ2hleERhdGFTbGljZSc6KCk9Pl8weGU2NTIzMCwnaGV4U3RyaXBaZXJvcyc6KCk9Pl8weDQ3ZjdmNSwnaGV4VmFsdWUnOigpPT5fMHg1NWRjNTgsJ2hleFplcm9QYWQnOigpPT5fMHgyMWRmZjksJ2hleGxpZnknOigpPT5fMHgyYTdiYmUsJ2lzQnl0ZXMnOigpPT5fMHgzYjFiODgsJ2lzQnl0ZXNMaWtlJzooKT0+XzB4MjBmZjk5LCdpc0hleFN0cmluZyc6KCk9Pl8weDRjOTFjNiwnam9pblNpZ25hdHVyZSc6KCk9Pl8weDEyYzNkOCwnc3BsaXRTaWduYXR1cmUnOigpPT5fMHgyYTcxZTAsJ3N0cmlwWmVyb3MnOigpPT5fMHgxMWY4YjAsJ3plcm9QYWQnOigpPT5fMHgzZDlhODV9KTtjb25zdCBfMHg0NTdmYzk9bmV3KF8weDRjZmU0YSgweDJjNykpWyhfMHg0ZmY4NDEoJzB4Y2U3JykpXShfMHg0ZmY4NDEoJzB4NDhlJykpO2Z1bmN0aW9uIF8weDFhYjVjNyhfMHgyMTI3MGEpe3JldHVybiEhXzB4MjEyNzBhWyd0b0hleFN0cmluZyddO31mdW5jdGlvbiBfMHgxODE0YTcoXzB4M2FiOTZhKXt2YXIgXzB4NzI2YzM0PV8weDRmZjg0MTtyZXR1cm4gXzB4M2FiOTZhW18weDcyNmMzNCgnMHhhZGEnKV18fChfMHgzYWI5NmFbXzB4NzI2YzM0KCcweGFkYScpXT1mdW5jdGlvbigpe3ZhciBfMHg1ZjQwN2Q9XzB4NzI2YzM0O2NvbnN0IF8weDM2M2YzOD1BcnJheVtfMHg1ZjQwN2QoJzB4NzU2JyldW18weDVmNDA3ZCgnMHhhZGEnKV1bXzB4NWY0MDdkKCcweDVmZCcpXShhcmd1bWVudHMpO3JldHVybiBfMHgxODE0YTcobmV3IFVpbnQ4QXJyYXkoQXJyYXlbXzB4NWY0MDdkKCcweDc1NicpXVsnc2xpY2UnXVtfMHg1ZjQwN2QoJzB4NDQyJyldKF8weDNhYjk2YSxfMHgzNjNmMzgpKSk7fSksXzB4M2FiOTZhO31mdW5jdGlvbiBfMHgyMGZmOTkoXzB4NTMxMjMxKXt2YXIgXzB4OTI5ZjEwPV8weDRmZjg0MTtyZXR1cm4gXzB4NGM5MWM2KF8weDUzMTIzMSkmJiEoXzB4NTMxMjMxW18weDkyOWYxMCgnMHg1MjAnKV0lMHgyKXx8XzB4M2IxYjg4KF8weDUzMTIzMSk7fWZ1bmN0aW9uIF8weDNiOTMyYShfMHgyNGMzNmIpe3ZhciBfMHgzZmNmYWI9XzB4NGZmODQxO3JldHVybiBfMHgzZmNmYWIoJzB4MjdhJyk9PXR5cGVvZiBfMHgyNGMzNmImJl8weDI0YzM2Yj09XzB4MjRjMzZiJiZfMHgyNGMzNmIlMHgxPT0weDA7fWZ1bmN0aW9uIF8weDNiMWI4OChfMHg1YzNhNGQpe3ZhciBfMHgyYTUyZTg9XzB4NGZmODQxO2lmKG51bGw9PV8weDVjM2E0ZClyZXR1cm4hMHgxO2lmKF8weDVjM2E0ZFtfMHgyYTUyZTgoJzB4YmZjJyldPT09VWludDhBcnJheSlyZXR1cm4hMHgwO2lmKF8weDJhNTJlOCgnMHg2NWYnKT09dHlwZW9mIF8weDVjM2E0ZClyZXR1cm4hMHgxO2lmKCFfMHgzYjkzMmEoXzB4NWMzYTRkW18weDJhNTJlOCgnMHg1MjAnKV0pfHxfMHg1YzNhNGRbJ2xlbmd0aCddPDB4MClyZXR1cm4hMHgxO2ZvcihsZXQgXzB4NWU0Y2I0PTB4MDtfMHg1ZTRjYjQ8XzB4NWMzYTRkWydsZW5ndGgnXTtfMHg1ZTRjYjQrKyl7Y29uc3QgXzB4M2IyYzBjPV8weDVjM2E0ZFtfMHg1ZTRjYjRdO2lmKCFfMHgzYjkzMmEoXzB4M2IyYzBjKXx8XzB4M2IyYzBjPDB4MHx8XzB4M2IyYzBjPj0weDEwMClyZXR1cm4hMHgxO31yZXR1cm4hMHgwO31mdW5jdGlvbiBfMHg0NjM3OWIoXzB4M2E0MWZiLF8weDI1NTNjNyl7dmFyIF8weDFkMDkwND1fMHg0ZmY4NDE7aWYoXzB4MjU1M2M3fHwoXzB4MjU1M2M3PXt9KSxfMHgxZDA5MDQoJzB4MjdhJyk9PXR5cGVvZiBfMHgzYTQxZmIpe18weDQ1N2ZjOVtfMHgxZDA5MDQoJzB4M2NkJyldKF8weDNhNDFmYixfMHgxZDA5MDQoJzB4Nzg1JykpO2NvbnN0IF8weDM4NzJmZD1bXTtmb3IoO18weDNhNDFmYjspXzB4Mzg3MmZkW18weDFkMDkwNCgnMHg2YTMnKV0oMHhmZiZfMHgzYTQxZmIpLF8weDNhNDFmYj1wYXJzZUludChTdHJpbmcoXzB4M2E0MWZiLzB4MTAwKSk7cmV0dXJuIDB4MD09PV8weDM4NzJmZFtfMHgxZDA5MDQoJzB4NTIwJyldJiZfMHgzODcyZmRbXzB4MWQwOTA0KCcweDhiNycpXSgweDApLF8weDE4MTRhNyhuZXcgVWludDhBcnJheShfMHgzODcyZmQpKTt9aWYoXzB4MjU1M2M3W18weDFkMDkwNCgnMHhhYzcnKV0mJl8weDFkMDkwNCgnMHg2NWYnKT09dHlwZW9mIF8weDNhNDFmYiYmJzB4JyE9PV8weDNhNDFmYlsnc3Vic3RyaW5nJ10oMHgwLDB4MikmJihfMHgzYTQxZmI9JzB4JytfMHgzYTQxZmIpLF8weDFhYjVjNyhfMHgzYTQxZmIpJiYoXzB4M2E0MWZiPV8weDNhNDFmYltfMHgxZDA5MDQoJzB4NmMxJyldKCkpLF8weDRjOTFjNihfMHgzYTQxZmIpKXtsZXQgXzB4MWQ3NWE3PV8weDNhNDFmYltfMHgxZDA5MDQoJzB4NzNkJyldKDB4Mik7XzB4MWQ3NWE3WydsZW5ndGgnXSUweDImJihfMHgxZDA5MDQoJzB4MTlmJyk9PT1fMHgyNTUzYzdbXzB4MWQwOTA0KCcweDk4NScpXT9fMHgxZDc1YTc9JzAnK18weDFkNzVhNzoncmlnaHQnPT09XzB4MjU1M2M3W18weDFkMDkwNCgnMHg5ODUnKV0/XzB4MWQ3NWE3Kz0nMCc6XzB4NDU3ZmM5W18weDFkMDkwNCgnMHg2MzUnKV0oXzB4MWQwOTA0KCcweDhhMycpLF8weDFkMDkwNCgnMHg4OWQnKSxfMHgzYTQxZmIpKTtjb25zdCBfMHgxYTE0MTE9W107Zm9yKGxldCBfMHgzMzY5MTk9MHgwO18weDMzNjkxOTxfMHgxZDc1YTdbJ2xlbmd0aCddO18weDMzNjkxOSs9MHgyKV8weDFhMTQxMVtfMHgxZDA5MDQoJzB4OGI3JyldKHBhcnNlSW50KF8weDFkNzVhN1snc3Vic3RyaW5nJ10oXzB4MzM2OTE5LF8weDMzNjkxOSsweDIpLDB4MTApKTtyZXR1cm4gXzB4MTgxNGE3KG5ldyBVaW50OEFycmF5KF8weDFhMTQxMSkpO31yZXR1cm4gXzB4M2IxYjg4KF8weDNhNDFmYik/XzB4MTgxNGE3KG5ldyBVaW50OEFycmF5KF8weDNhNDFmYikpOl8weDQ1N2ZjOVsndGhyb3dBcmd1bWVudEVycm9yJ10oXzB4MWQwOTA0KCcweDc4NScpLF8weDFkMDkwNCgnMHg4OWQnKSxfMHgzYTQxZmIpO31mdW5jdGlvbiBfMHgxNWQ3MjgoXzB4MmUyY2I3KXt2YXIgXzB4MzlmNDhjPV8weDRmZjg0MTtjb25zdCBfMHgyYjkwYWI9XzB4MmUyY2I3W18weDM5ZjQ4YygnMHgzYzknKV0oXzB4MjdlNmRhPT5fMHg0NjM3OWIoXzB4MjdlNmRhKSksXzB4NTk0YTAyPV8weDJiOTBhYltfMHgzOWY0OGMoJzB4ODE4JyldKChfMHg1MjNkOTcsXzB4ODQ5ZThhKT0+XzB4NTIzZDk3K18weDg0OWU4YVsnbGVuZ3RoJ10sMHgwKSxfMHgyY2RhNWM9bmV3IFVpbnQ4QXJyYXkoXzB4NTk0YTAyKTtyZXR1cm4gXzB4MmI5MGFiW18weDM5ZjQ4YygnMHg4MTgnKV0oKF8weDI4NTY0ZSxfMHgyNDQ1NDgpPT4oXzB4MmNkYTVjW18weDM5ZjQ4YygnMHhjYWMnKV0oXzB4MjQ0NTQ4LF8weDI4NTY0ZSksXzB4Mjg1NjRlK18weDI0NDU0OFtfMHgzOWY0OGMoJzB4NTIwJyldKSwweDApLF8weDE4MTRhNyhfMHgyY2RhNWMpO31mdW5jdGlvbiBfMHgxMWY4YjAoXzB4MmQ5Mzk5KXt2YXIgXzB4NjY3YmY5PV8weDRmZjg0MTtsZXQgXzB4MTlkMTA0PV8weDQ2Mzc5YihfMHgyZDkzOTkpO2lmKDB4MD09PV8weDE5ZDEwNFsnbGVuZ3RoJ10pcmV0dXJuIF8weDE5ZDEwNDtsZXQgXzB4MTEwOWY0PTB4MDtmb3IoO18weDExMDlmNDxfMHgxOWQxMDRbXzB4NjY3YmY5KCcweDUyMCcpXSYmMHgwPT09XzB4MTlkMTA0W18weDExMDlmNF07KV8weDExMDlmNCsrO3JldHVybiBfMHgxMTA5ZjQmJihfMHgxOWQxMDQ9XzB4MTlkMTA0W18weDY2N2JmOSgnMHhhZGEnKV0oXzB4MTEwOWY0KSksXzB4MTlkMTA0O31mdW5jdGlvbiBfMHgzZDlhODUoXzB4NDFkNGFmLF8weDE3MzRiNCl7dmFyIF8weDU1YjA0Mz1fMHg0ZmY4NDE7KF8weDQxZDRhZj1fMHg0NjM3OWIoXzB4NDFkNGFmKSlbXzB4NTViMDQzKCcweDUyMCcpXT5fMHgxNzM0YjQmJl8weDQ1N2ZjOVtfMHg1NWIwNDMoJzB4NjM1JyldKCd2YWx1ZVx4MjBvdXRceDIwb2ZceDIwcmFuZ2UnLF8weDU1YjA0MygnMHg4OWQnKSxhcmd1bWVudHNbMHgwXSk7Y29uc3QgXzB4MTRjNDc1PW5ldyBVaW50OEFycmF5KF8weDE3MzRiNCk7cmV0dXJuIF8weDE0YzQ3NVtfMHg1NWIwNDMoJzB4Y2FjJyldKF8weDQxZDRhZixfMHgxNzM0YjQtXzB4NDFkNGFmW18weDU1YjA0MygnMHg1MjAnKV0pLF8weDE4MTRhNyhfMHgxNGM0NzUpO31mdW5jdGlvbiBfMHg0YzkxYzYoXzB4MWJmM2M1LF8weDMyMjkyNCl7dmFyIF8weGY0MTE4OT1fMHg0ZmY4NDE7cmV0dXJuISgnc3RyaW5nJyE9dHlwZW9mIF8weDFiZjNjNXx8IV8weDFiZjNjNVtfMHhmNDExODkoJzB4NDI1JyldKC9eMHhbMC05QS1GYS1mXSokLyl8fF8weDMyMjkyNCYmXzB4MWJmM2M1W18weGY0MTE4OSgnMHg1MjAnKV0hPT0weDIrMHgyKl8weDMyMjkyNCk7fWNvbnN0IF8weDNmYzIwOT1fMHg0ZmY4NDEoJzB4NTNlJyk7ZnVuY3Rpb24gXzB4MmE3YmJlKF8weDEzNmVhNCxfMHg1ZTliNTUpe3ZhciBfMHg1ODMxN2I9XzB4NGZmODQxO2lmKF8weDVlOWI1NXx8KF8weDVlOWI1NT17fSksXzB4NTgzMTdiKCcweDI3YScpPT10eXBlb2YgXzB4MTM2ZWE0KXtfMHg0NTdmYzlbXzB4NTgzMTdiKCcweDNjZCcpXShfMHgxMzZlYTQsXzB4NTgzMTdiKCcweDY3NicpKTtsZXQgXzB4MTg5Y2U0PScnO2Zvcig7XzB4MTM2ZWE0OylfMHgxODljZTQ9XzB4M2ZjMjA5WzB4ZiZfMHgxMzZlYTRdK18weDE4OWNlNCxfMHgxMzZlYTQ9TWF0aFsnZmxvb3InXShfMHgxMzZlYTQvMHgxMCk7cmV0dXJuIF8weDE4OWNlNFtfMHg1ODMxN2IoJzB4NTIwJyldPyhfMHgxODljZTRbJ2xlbmd0aCddJTB4MiYmKF8weDE4OWNlND0nMCcrXzB4MTg5Y2U0KSwnMHgnK18weDE4OWNlNCk6XzB4NTgzMTdiKCcweDU3MicpO31pZignYmlnaW50Jz09dHlwZW9mIF8weDEzNmVhNClyZXR1cm4oXzB4MTM2ZWE0PV8weDEzNmVhNFtfMHg1ODMxN2IoJzB4NTQ3JyldKDB4MTApKVtfMHg1ODMxN2IoJzB4NTIwJyldJTB4Mj9fMHg1ODMxN2IoJzB4N2E1JykrXzB4MTM2ZWE0OicweCcrXzB4MTM2ZWE0O2lmKF8weDVlOWI1NVtfMHg1ODMxN2IoJzB4YWM3JyldJiZfMHg1ODMxN2IoJzB4NjVmJyk9PXR5cGVvZiBfMHgxMzZlYTQmJicweCchPT1fMHgxMzZlYTRbXzB4NTgzMTdiKCcweDczZCcpXSgweDAsMHgyKSYmKF8weDEzNmVhND0nMHgnK18weDEzNmVhNCksXzB4MWFiNWM3KF8weDEzNmVhNCkpcmV0dXJuIF8weDEzNmVhNFsndG9IZXhTdHJpbmcnXSgpO2lmKF8weDRjOTFjNihfMHgxMzZlYTQpKXJldHVybiBfMHgxMzZlYTRbJ2xlbmd0aCddJTB4MiYmKF8weDU4MzE3YignMHgxOWYnKT09PV8weDVlOWI1NVtfMHg1ODMxN2IoJzB4OTg1JyldP18weDEzNmVhND1fMHg1ODMxN2IoJzB4N2E1JykrXzB4MTM2ZWE0W18weDU4MzE3YignMHg3M2QnKV0oMHgyKTpfMHg1ODMxN2IoJzB4YzRiJyk9PT1fMHg1ZTliNTVbJ2hleFBhZCddP18weDEzNmVhNCs9JzAnOl8weDQ1N2ZjOVtfMHg1ODMxN2IoJzB4NjM1JyldKF8weDU4MzE3YignMHg4YTMnKSwndmFsdWUnLF8weDEzNmVhNCkpLF8weDEzNmVhNFtfMHg1ODMxN2IoJzB4ODcwJyldKCk7aWYoXzB4M2IxYjg4KF8weDEzNmVhNCkpe2xldCBfMHg0NzYzZDg9JzB4Jztmb3IobGV0IF8weDU0NmM1ZT0weDA7XzB4NTQ2YzVlPF8weDEzNmVhNFtfMHg1ODMxN2IoJzB4NTIwJyldO18weDU0NmM1ZSsrKXtsZXQgXzB4MWM4MzI2PV8weDEzNmVhNFtfMHg1NDZjNWVdO18weDQ3NjNkOCs9XzB4M2ZjMjA5WygweGYwJl8weDFjODMyNik+PjB4NF0rXzB4M2ZjMjA5WzB4ZiZfMHgxYzgzMjZdO31yZXR1cm4gXzB4NDc2M2Q4O31yZXR1cm4gXzB4NDU3ZmM5W18weDU4MzE3YignMHg2MzUnKV0oXzB4NTgzMTdiKCcweDY3NicpLF8weDU4MzE3YignMHg4OWQnKSxfMHgxMzZlYTQpO31mdW5jdGlvbiBfMHg1MGZkOTEoXzB4MTk0YTgwKXtpZignc3RyaW5nJyE9dHlwZW9mIF8weDE5NGE4MClfMHgxOTRhODA9XzB4MmE3YmJlKF8weDE5NGE4MCk7ZWxzZXtpZighXzB4NGM5MWM2KF8weDE5NGE4MCl8fF8weDE5NGE4MFsnbGVuZ3RoJ10lMHgyKXJldHVybiBudWxsO31yZXR1cm4oXzB4MTk0YTgwWydsZW5ndGgnXS0weDIpLzB4Mjt9ZnVuY3Rpb24gXzB4ZTY1MjMwKF8weDFkYjVmYSxfMHgzODk2ZTgsXzB4NWNjYWRlKXt2YXIgXzB4ZDdhOWIzPV8weDRmZjg0MTtyZXR1cm4gXzB4ZDdhOWIzKCcweDY1ZicpIT10eXBlb2YgXzB4MWRiNWZhP18weDFkYjVmYT1fMHgyYTdiYmUoXzB4MWRiNWZhKTooIV8weDRjOTFjNihfMHgxZGI1ZmEpfHxfMHgxZGI1ZmFbXzB4ZDdhOWIzKCcweDUyMCcpXSUweDIpJiZfMHg0NTdmYzlbXzB4ZDdhOWIzKCcweDYzNScpXShfMHhkN2E5YjMoJzB4NjYwJyksXzB4ZDdhOWIzKCcweDg5ZCcpLF8weDFkYjVmYSksXzB4Mzg5NmU4PTB4MisweDIqXzB4Mzg5NmU4LG51bGwhPV8weDVjY2FkZT8nMHgnK18weDFkYjVmYVtfMHhkN2E5YjMoJzB4NzNkJyldKF8weDM4OTZlOCwweDIrMHgyKl8weDVjY2FkZSk6JzB4JytfMHgxZGI1ZmFbJ3N1YnN0cmluZyddKF8weDM4OTZlOCk7fWZ1bmN0aW9uIF8weDI2NWZhNChfMHgxYzZlOTApe3ZhciBfMHgyZWQ0ODY9XzB4NGZmODQxO2xldCBfMHg5MWE0YmU9JzB4JztyZXR1cm4gXzB4MWM2ZTkwW18weDJlZDQ4NignMHg1MWUnKV0oXzB4MWQ4M2JjPT57dmFyIF8weDIzMDE3Zj1fMHgyZWQ0ODY7XzB4OTFhNGJlKz1fMHgyYTdiYmUoXzB4MWQ4M2JjKVtfMHgyMzAxN2YoJzB4NzNkJyldKDB4Mik7fSksXzB4OTFhNGJlO31mdW5jdGlvbiBfMHg1NWRjNTgoXzB4MTIyYjk1KXt2YXIgXzB4NDc0OTQwPV8weDRmZjg0MTtjb25zdCBfMHgyNTZhNDk9XzB4NDdmN2Y1KF8weDJhN2JiZShfMHgxMjJiOTUseydoZXhQYWQnOl8weDQ3NDk0MCgnMHgxOWYnKX0pKTtyZXR1cm4nMHgnPT09XzB4MjU2YTQ5P18weDQ3NDk0MCgnMHg3YTUnKTpfMHgyNTZhNDk7fWZ1bmN0aW9uIF8weDQ3ZjdmNShfMHgzODIzM2Epe3ZhciBfMHgzYTJiN2I9XzB4NGZmODQxO18weDNhMmI3YignMHg2NWYnKSE9dHlwZW9mIF8weDM4MjMzYSYmKF8weDM4MjMzYT1fMHgyYTdiYmUoXzB4MzgyMzNhKSksXzB4NGM5MWM2KF8weDM4MjMzYSl8fF8weDQ1N2ZjOVtfMHgzYTJiN2IoJzB4NjM1JyldKF8weDNhMmI3YignMHhjNGEnKSwndmFsdWUnLF8weDM4MjMzYSksXzB4MzgyMzNhPV8weDM4MjMzYVsnc3Vic3RyaW5nJ10oMHgyKTtsZXQgXzB4NWM2ZmYxPTB4MDtmb3IoO18weDVjNmZmMTxfMHgzODIzM2FbXzB4M2EyYjdiKCcweDUyMCcpXSYmJzAnPT09XzB4MzgyMzNhW18weDVjNmZmMV07KV8weDVjNmZmMSsrO3JldHVybicweCcrXzB4MzgyMzNhW18weDNhMmI3YignMHg3M2QnKV0oXzB4NWM2ZmYxKTt9ZnVuY3Rpb24gXzB4MjFkZmY5KF8weGZhNWZmOCxfMHgxZmMwYjcpe3ZhciBfMHgxN2E0Yzk9XzB4NGZmODQxO2ZvcihfMHgxN2E0YzkoJzB4NjVmJykhPXR5cGVvZiBfMHhmYTVmZjg/XzB4ZmE1ZmY4PV8weDJhN2JiZShfMHhmYTVmZjgpOl8weDRjOTFjNihfMHhmYTVmZjgpfHxfMHg0NTdmYzlbXzB4MTdhNGM5KCcweDYzNScpXShfMHgxN2E0YzkoJzB4YzRhJyksXzB4MTdhNGM5KCcweDg5ZCcpLF8weGZhNWZmOCksXzB4ZmE1ZmY4WydsZW5ndGgnXT4weDIqXzB4MWZjMGI3KzB4MiYmXzB4NDU3ZmM5W18weDE3YTRjOSgnMHg2MzUnKV0oXzB4MTdhNGM5KCcweGM4NScpLCd2YWx1ZScsYXJndW1lbnRzWzB4MV0pO18weGZhNWZmOFsnbGVuZ3RoJ108MHgyKl8weDFmYzBiNysweDI7KV8weGZhNWZmOD0nMHgwJytfMHhmYTVmZjhbXzB4MTdhNGM5KCcweDczZCcpXSgweDIpO3JldHVybiBfMHhmYTVmZjg7fWZ1bmN0aW9uIF8weDJhNzFlMChfMHhmNTJiN2Ipe3ZhciBfMHg1OGNiY2I9XzB4NGZmODQxO2NvbnN0IF8weDRiZjIwZT17J3InOicweCcsJ3MnOicweCcsJ192cyc6JzB4JywncmVjb3ZlcnlQYXJhbSc6MHgwLCd2JzoweDAsJ3lQYXJpdHlBbmRTJzonMHgnLCdjb21wYWN0JzonMHgnfTtpZihfMHgyMGZmOTkoXzB4ZjUyYjdiKSl7bGV0IF8weDFhMTBmNz1fMHg0NjM3OWIoXzB4ZjUyYjdiKTsweDQwPT09XzB4MWExMGY3WydsZW5ndGgnXT8oXzB4NGJmMjBlWyd2J109MHgxYisoXzB4MWExMGY3WzB4MjBdPj4weDcpLF8weDFhMTBmN1sweDIwXSY9MHg3ZixfMHg0YmYyMGVbJ3InXT1fMHgyYTdiYmUoXzB4MWExMGY3W18weDU4Y2JjYignMHhhZGEnKV0oMHgwLDB4MjApKSxfMHg0YmYyMGVbJ3MnXT1fMHgyYTdiYmUoXzB4MWExMGY3WydzbGljZSddKDB4MjAsMHg0MCkpKToweDQxPT09XzB4MWExMGY3W18weDU4Y2JjYignMHg1MjAnKV0/KF8weDRiZjIwZVsnciddPV8weDJhN2JiZShfMHgxYTEwZjdbXzB4NThjYmNiKCcweGFkYScpXSgweDAsMHgyMCkpLF8weDRiZjIwZVsncyddPV8weDJhN2JiZShfMHgxYTEwZjdbXzB4NThjYmNiKCcweGFkYScpXSgweDIwLDB4NDApKSxfMHg0YmYyMGVbJ3YnXT1fMHgxYTEwZjdbMHg0MF0pOl8weDQ1N2ZjOVtfMHg1OGNiY2IoJzB4NjM1JyldKF8weDU4Y2JjYignMHhiN2UnKSxfMHg1OGNiY2IoJzB4M2EzJyksXzB4ZjUyYjdiKSxfMHg0YmYyMGVbJ3YnXTwweDFiJiYoMHgwPT09XzB4NGJmMjBlWyd2J118fDB4MT09PV8weDRiZjIwZVsndiddP18weDRiZjIwZVsndiddKz0weDFiOl8weDQ1N2ZjOVtfMHg1OGNiY2IoJzB4NjM1JyldKF8weDU4Y2JjYignMHgzZDInKSwnc2lnbmF0dXJlJyxfMHhmNTJiN2IpKSxfMHg0YmYyMGVbXzB4NThjYmNiKCcweDhjZScpXT0weDEtXzB4NGJmMjBlWyd2J10lMHgyLF8weDRiZjIwZVtfMHg1OGNiY2IoJzB4OGNlJyldJiYoXzB4MWExMGY3WzB4MjBdfD0weDgwKSxfMHg0YmYyMGVbXzB4NThjYmNiKCcweDMzYycpXT1fMHgyYTdiYmUoXzB4MWExMGY3WydzbGljZSddKDB4MjAsMHg0MCkpO31lbHNle2lmKF8weDRiZjIwZVsnciddPV8weGY1MmI3YlsnciddLF8weDRiZjIwZVsncyddPV8weGY1MmI3YlsncyddLF8weDRiZjIwZVsndiddPV8weGY1MmI3YlsndiddLF8weDRiZjIwZVtfMHg1OGNiY2IoJzB4OGNlJyldPV8weGY1MmI3YlsncmVjb3ZlcnlQYXJhbSddLF8weDRiZjIwZVtfMHg1OGNiY2IoJzB4MzNjJyldPV8weGY1MmI3YltfMHg1OGNiY2IoJzB4MzNjJyldLG51bGwhPV8weDRiZjIwZVtfMHg1OGNiY2IoJzB4MzNjJyldKXtjb25zdCBfMHg1Y2RjYWQ9XzB4M2Q5YTg1KF8weDQ2Mzc5YihfMHg0YmYyMGVbXzB4NThjYmNiKCcweDMzYycpXSksMHgyMCk7XzB4NGJmMjBlW18weDU4Y2JjYignMHgzM2MnKV09XzB4MmE3YmJlKF8weDVjZGNhZCk7Y29uc3QgXzB4NDA1NzRlPV8weDVjZGNhZFsweDBdPj0weDgwPzB4MToweDA7bnVsbD09XzB4NGJmMjBlW18weDU4Y2JjYignMHg4Y2UnKV0/XzB4NGJmMjBlWydyZWNvdmVyeVBhcmFtJ109XzB4NDA1NzRlOl8weDRiZjIwZVtfMHg1OGNiY2IoJzB4OGNlJyldIT09XzB4NDA1NzRlJiZfMHg0NTdmYzlbXzB4NThjYmNiKCcweDYzNScpXSgnc2lnbmF0dXJlXHgyMHJlY292ZXJ5UGFyYW1ceDIwbWlzbWF0Y2hceDIwX3ZzJyxfMHg1OGNiY2IoJzB4M2EzJyksXzB4ZjUyYjdiKSxfMHg1Y2RjYWRbMHgwXSY9MHg3Zjtjb25zdCBfMHg1NmEwMjg9XzB4MmE3YmJlKF8weDVjZGNhZCk7bnVsbD09XzB4NGJmMjBlWydzJ10/XzB4NGJmMjBlWydzJ109XzB4NTZhMDI4Ol8weDRiZjIwZVsncyddIT09XzB4NTZhMDI4JiZfMHg0NTdmYzlbXzB4NThjYmNiKCcweDYzNScpXShfMHg1OGNiY2IoJzB4NmZkJyksJ3NpZ25hdHVyZScsXzB4ZjUyYjdiKTt9aWYobnVsbD09XzB4NGJmMjBlW18weDU4Y2JjYignMHg4Y2UnKV0pbnVsbD09XzB4NGJmMjBlWyd2J10/XzB4NDU3ZmM5W18weDU4Y2JjYignMHg2MzUnKV0oJ3NpZ25hdHVyZVx4MjBtaXNzaW5nXHgyMHZceDIwYW5kXHgyMHJlY292ZXJ5UGFyYW0nLF8weDU4Y2JjYignMHgzYTMnKSxfMHhmNTJiN2IpOjB4MD09PV8weDRiZjIwZVsndiddfHwweDE9PT1fMHg0YmYyMGVbJ3YnXT9fMHg0YmYyMGVbXzB4NThjYmNiKCcweDhjZScpXT1fMHg0YmYyMGVbJ3YnXTpfMHg0YmYyMGVbJ3JlY292ZXJ5UGFyYW0nXT0weDEtXzB4NGJmMjBlWyd2J10lMHgyO2Vsc2V7aWYobnVsbD09XzB4NGJmMjBlWyd2J10pXzB4NGJmMjBlWyd2J109MHgxYitfMHg0YmYyMGVbJ3JlY292ZXJ5UGFyYW0nXTtlbHNle2NvbnN0IF8weDNmYzcyZT0weDA9PT1fMHg0YmYyMGVbJ3YnXXx8MHgxPT09XzB4NGJmMjBlWyd2J10/XzB4NGJmMjBlWyd2J106MHgxLV8weDRiZjIwZVsndiddJTB4MjtfMHg0YmYyMGVbXzB4NThjYmNiKCcweDhjZScpXSE9PV8weDNmYzcyZSYmXzB4NDU3ZmM5W18weDU4Y2JjYignMHg2MzUnKV0oXzB4NThjYmNiKCcweDI0YycpLCdzaWduYXR1cmUnLF8weGY1MmI3Yik7fX1udWxsIT1fMHg0YmYyMGVbJ3InXSYmXzB4NGM5MWM2KF8weDRiZjIwZVsnciddKT9fMHg0YmYyMGVbJ3InXT1fMHgyMWRmZjkoXzB4NGJmMjBlWydyJ10sMHgyMCk6XzB4NDU3ZmM5Wyd0aHJvd0FyZ3VtZW50RXJyb3InXSgnc2lnbmF0dXJlXHgyMG1pc3NpbmdceDIwb3JceDIwaW52YWxpZFx4MjByJyxfMHg1OGNiY2IoJzB4M2EzJyksXzB4ZjUyYjdiKSxudWxsIT1fMHg0YmYyMGVbJ3MnXSYmXzB4NGM5MWM2KF8weDRiZjIwZVsncyddKT9fMHg0YmYyMGVbJ3MnXT1fMHgyMWRmZjkoXzB4NGJmMjBlWydzJ10sMHgyMCk6XzB4NDU3ZmM5Wyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHg1OGNiY2IoJzB4MmQ4JyksXzB4NThjYmNiKCcweDNhMycpLF8weGY1MmI3Yik7Y29uc3QgXzB4MzJkNjQ4PV8weDQ2Mzc5YihfMHg0YmYyMGVbJ3MnXSk7XzB4MzJkNjQ4WzB4MF0+PTB4ODAmJl8weDQ1N2ZjOVsndGhyb3dBcmd1bWVudEVycm9yJ10oXzB4NThjYmNiKCcweDU5MycpLF8weDU4Y2JjYignMHgzYTMnKSxfMHhmNTJiN2IpLF8weDRiZjIwZVtfMHg1OGNiY2IoJzB4OGNlJyldJiYoXzB4MzJkNjQ4WzB4MF18PTB4ODApO2NvbnN0IF8weDRmNjRjZj1fMHgyYTdiYmUoXzB4MzJkNjQ4KTtfMHg0YmYyMGVbXzB4NThjYmNiKCcweDMzYycpXSYmKF8weDRjOTFjNihfMHg0YmYyMGVbXzB4NThjYmNiKCcweDMzYycpXSl8fF8weDQ1N2ZjOVtfMHg1OGNiY2IoJzB4NjM1JyldKF8weDU4Y2JjYignMHgyMWYnKSwnc2lnbmF0dXJlJyxfMHhmNTJiN2IpLF8weDRiZjIwZVtfMHg1OGNiY2IoJzB4MzNjJyldPV8weDIxZGZmOShfMHg0YmYyMGVbXzB4NThjYmNiKCcweDMzYycpXSwweDIwKSksbnVsbD09XzB4NGJmMjBlW18weDU4Y2JjYignMHgzM2MnKV0/XzB4NGJmMjBlW18weDU4Y2JjYignMHgzM2MnKV09XzB4NGY2NGNmOl8weDRiZjIwZVsnX3ZzJ10hPT1fMHg0ZjY0Y2YmJl8weDQ1N2ZjOVtfMHg1OGNiY2IoJzB4NjM1JyldKF8weDU4Y2JjYignMHgzZTEnKSxfMHg1OGNiY2IoJzB4M2EzJyksXzB4ZjUyYjdiKTt9cmV0dXJuIF8weDRiZjIwZVtfMHg1OGNiY2IoJzB4YTM2JyldPV8weDRiZjIwZVsnX3ZzJ10sXzB4NGJmMjBlW18weDU4Y2JjYignMHhhOGMnKV09XzB4NGJmMjBlWydyJ10rXzB4NGJmMjBlW18weDU4Y2JjYignMHhhMzYnKV1bJ3N1YnN0cmluZyddKDB4MiksXzB4NGJmMjBlO31mdW5jdGlvbiBfMHgxMmMzZDgoXzB4NDU0ZWFkKXt2YXIgXzB4M2NjMDk0PV8weDRmZjg0MTtyZXR1cm4gXzB4MmE3YmJlKF8weDE1ZDcyOChbKF8weDQ1NGVhZD1fMHgyYTcxZTAoXzB4NDU0ZWFkKSlbJ3InXSxfMHg0NTRlYWRbJ3MnXSxfMHg0NTRlYWRbXzB4M2NjMDk0KCcweDhjZScpXT9fMHgzY2MwOTQoJzB4NGQ4Jyk6XzB4M2NjMDk0KCcweDMwZScpXSkpO319LDB4MjQzZjooXzB4NDRlYTk2LF8weDIxMWQ4NSxfMHg0NGZhZTUpPT57J3VzZSBzdHJpY3QnO3ZhciBfMHg1ODdhYjA9XzB4MTVhMztfMHg0NGZhZTVbJ2QnXShfMHgyMTFkODUseydkJzooKT0+XzB4MzMxZTlifSk7Y29uc3QgXzB4MzMxZTliPV8weDU4N2FiMCgnMHg0N2EnKTt9LDB4NDE2OihfMHgzMDI4YTksXzB4NDI1MjY1LF8weDUzODkxZik9PnsndXNlIHN0cmljdCc7dmFyIF8weDJhYWIxOD1fMHgxNWEzO18weDUzODkxZlsnZCddKF8weDQyNTI2NSx7JyRCJzooKT0+XzB4NTU1ZmE5LCdCeic6KCk9Pl8weDUwMDU1ZiwnQ2UnOigpPT5fMHg0MzgzNDQsJ1BTJzooKT0+XzB4NTJmMWJmLCdQeSc6KCk9Pl8weDE4YTkxMywnX1knOigpPT5fMHg1MTdkMzgsJ2ZoJzooKT0+XzB4MjMwYjY0LCd0TCc6KCk9Pl8weDJjNTAyM30pO3ZhciBfMHg0MWViMTU9XzB4NTM4OTFmKDB4YTIxKTtjb25zdCBfMHgyYzUwMjM9XzB4NDFlYjE1WydPJCddW18weDJhYWIxOCgnMHgyNTInKV0oLTB4MSksXzB4NTE3ZDM4PV8weDQxZWIxNVsnTyQnXVsnZnJvbSddKDB4MCksXzB4MjMwYjY0PV8weDQxZWIxNVsnTyQnXVtfMHgyYWFiMTgoJzB4MjUyJyldKDB4MSksXzB4MThhOTEzPV8weDQxZWIxNVsnTyQnXVsnZnJvbSddKDB4MiksXzB4NDM4MzQ0PV8weDQxZWIxNVsnTyQnXVtfMHgyYWFiMTgoJzB4MjUyJyldKF8weDJhYWIxOCgnMHg1NjQnKSksXzB4NTAwNTVmPV8weDQxZWIxNVsnTyQnXVtfMHgyYWFiMTgoJzB4MjUyJyldKF8weDJhYWIxOCgnMHgzNTknKSksXzB4NTU1ZmE5PV8weDQxZWIxNVsnTyQnXVtfMHgyYWFiMTgoJzB4MjUyJyldKF8weDJhYWIxOCgnMHg4ODQnKSksXzB4NTJmMWJmPV8weDQxZWIxNVsnTyQnXVtfMHgyYWFiMTgoJzB4MjUyJyldKF8weDJhYWIxOCgnMHg3MTInKSk7fSwweDFjMzI6KF8weDRjMzMyNyxfMHg0NzJjOGYsXzB4NTU4NGIwKT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4NGVmYjg2PV8weDE1YTM7XzB4NTU4NGIwWydkJ10oXzB4NDcyYzhmLHsnUic6KCk9Pl8weDIzYTVhNH0pO2NvbnN0IF8weDIzYTVhND1fMHg0ZWZiODYoJzB4MmI4Jyk7fSwweDE2MGM6KF8weDU1Y2M4MyxfMHgxYTBlNTMsXzB4NGE0NWMwKT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4NjhmYTNiPV8weDE1YTM7XzB4NGE0NWMwWydkJ10oXzB4MWEwZTUzLHsnaSc6KCk9Pl8weDU4ODQzYn0pO2NvbnN0IF8weDU4ODQzYj1fMHg2OGZhM2IoJzB4M2MxJyk7fSwweDdmZTooXzB4NTI2Yzk1LF8weDMwOWI3NCxfMHgzMmMyYmYpPT57J3VzZSBzdHJpY3QnO18weDMyYzJiZlsnZCddKF8weDMwOWI3NCx7J2lkJzooKT0+XzB4Mjg2NDM2fSk7dmFyIF8weDU5OTg0ZT1fMHgzMmMyYmYoMHgyMDA1KSxfMHgyZjNjMjI9XzB4MzJjMmJmKDB4MTA5Mik7ZnVuY3Rpb24gXzB4Mjg2NDM2KF8weDdlY2Y4OSl7dmFyIF8weDUzYjQyMj1fMHgxNWEzO3JldHVybigweDAsXzB4NTk5ODRlW18weDUzYjQyMignMHg1NjInKV0pKCgweDAsXzB4MmYzYzIyWydZMCddKShfMHg3ZWNmODkpKTt9fSwweDE3MmI6KF8weDMwNjYyZCxfMHgxMGNlNDQsXzB4MzEzMWI3KT0+eyd1c2Ugc3RyaWN0JztfMHgzMTMxYjdbJ3InXShfMHgxMGNlNDQpLF8weDMxMzFiN1snZCddKF8weDEwY2U0NCx7J19UeXBlZERhdGFFbmNvZGVyJzooKT0+XzB4MTg1OGI4WydFJ10sJ2Ruc0VuY29kZSc6KCk9Pl8weDIzOTk5MVsnS24nXSwnZW5zTm9ybWFsaXplJzooKT0+XzB4MjM5OTkxWyd3MyddLCdoYXNoTWVzc2FnZSc6KCk9Pl8weDg2NmI5NFsnciddLCdpZCc6KCk9Pl8weDhhZTllYlsnaWQnXSwnaXNWYWxpZE5hbWUnOigpPT5fMHgyMzk5OTFbJ3IxJ10sJ21lc3NhZ2VQcmVmaXgnOigpPT5fMHg4NjZiOTRbJ0InXSwnbmFtZWhhc2gnOigpPT5fMHgyMzk5OTFbJ1ZNJ119KTt2YXIgXzB4OGFlOWViPV8weDMxMzFiNygweDdmZSksXzB4MjM5OTkxPV8weDMxMzFiNygweDIwOTMpLF8weDg2NmI5ND1fMHgzMTMxYjcoMHhlNjQpLF8weDE4NThiOD1fMHgzMTMxYjcoMHgxZTkzKTt9LDB4ZTY0OihfMHgzY2VkMjMsXzB4M2MyZTBjLF8weDMyZTVjNyk9PnsndXNlIHN0cmljdCc7dmFyIF8weDU1NWM1ZT1fMHgxNWEzO18weDMyZTVjN1snZCddKF8weDNjMmUwYyx7J0InOigpPT5fMHg0NjliMTMsJ3InOigpPT5fMHg3N2QyOTF9KTt2YXIgXzB4MmFmYWE0PV8weDMyZTVjNygweGNkNiksXzB4MzRhYTQ0PV8weDMyZTVjNygweDIwMDUpLF8weDMxYzQ1ZT1fMHgzMmU1YzcoMHgxMDkyKTtjb25zdCBfMHg0NjliMTM9XzB4NTU1YzVlKCcweGEwNycpO2Z1bmN0aW9uIF8weDc3ZDI5MShfMHg3MTEyYzgpe3ZhciBfMHgyZDE5YTY9XzB4NTU1YzVlO3JldHVybiBfMHgyZDE5YTYoJzB4NjVmJyk9PXR5cGVvZiBfMHg3MTEyYzgmJihfMHg3MTEyYzg9KDB4MCxfMHgzMWM0NWVbJ1kwJ10pKF8weDcxMTJjOCkpLCgweDAsXzB4MzRhYTQ0W18weDJkMTlhNignMHg1NjInKV0pKCgweDAsXzB4MmFmYWE0W18weDJkMTlhNignMHg1MzAnKV0pKFsoMHgwLF8weDMxYzQ1ZVsnWTAnXSkoXzB4NDY5YjEzKSwoMHgwLF8weDMxYzQ1ZVsnWTAnXSkoU3RyaW5nKF8weDcxMTJjOFtfMHgyZDE5YTYoJzB4NTIwJyldKSksXzB4NzExMmM4XSkpO319LDB4MjA5MzooXzB4MTZlZmVmLF8weDE2MmNkMSxfMHg5MTU3OGMpPT57J3VzZSBzdHJpY3QnO3ZhciBfMHgyMTRkOTE9XzB4MTVhMztfMHg5MTU3OGNbJ2QnXShfMHgxNjJjZDEseydLbic6KCk9Pl8weGY1ZmU1MywndzMnOigpPT5fMHgxNmE4OTcsJ3IxJzooKT0+XzB4M2NmZTc1LCdWTSc6KCk9Pl8weDE2ZTc5ZH0pO3ZhciBfMHg0MzZiYzk9XzB4OTE1NzhjKDB4Y2Q2KSxfMHg0OGU4Njk9XzB4OTE1NzhjKDB4MTA5MiksXzB4Mjc5YWQ3PV8weDkxNTc4YygweDIwMDUpLF8weDViNzczMz1fMHg5MTU3OGMoMHgyYzcpLF8weDUxMDNmZj1fMHg5MTU3OGMoMHgxNjBjKTtmdW5jdGlvbiBfMHgxNTM2N2MoXzB4MTIyNTI3LF8weDUxOThkNCl7dmFyIF8weDJiZGFjNz1fMHgxNWEzO251bGw9PV8weDUxOThkNCYmKF8weDUxOThkND0weDEpO2NvbnN0IF8weDI2YTc5Nz1bXSxfMHg1NWRjYmQ9XzB4MjZhNzk3W18weDJiZGFjNygnMHg1MWUnKV0sXzB4MzkyYTgxPWZ1bmN0aW9uKF8weDIxZTU0ZixfMHgzZTU3MzEpe3ZhciBfMHgxN2ViYmM9XzB4MmJkYWM3O18weDU1ZGNiZFtfMHgxN2ViYmMoJzB4NWZkJyldKF8weDIxZTU0ZixmdW5jdGlvbihfMHg0MTk1YjApe3ZhciBfMHg1MzA0YjU9XzB4MTdlYmJjO18weDNlNTczMT4weDAmJkFycmF5Wydpc0FycmF5J10oXzB4NDE5NWIwKT9fMHgzOTJhODEoXzB4NDE5NWIwLF8weDNlNTczMS0weDEpOl8weDI2YTc5N1tfMHg1MzA0YjUoJzB4OGI3JyldKF8weDQxOTViMCk7fSk7fTtyZXR1cm4gXzB4MzkyYTgxKF8weDEyMjUyNyxfMHg1MTk4ZDQpLF8weDI2YTc5Nzt9ZnVuY3Rpb24gXzB4NTg4MzM3KF8weDJhYzU4Nyl7cmV0dXJuIDB4MSZfMHgyYWM1ODc/fl8weDJhYzU4Nz4+MHgxOl8weDJhYzU4Nz4+MHgxO31mdW5jdGlvbiBfMHgyZjlhNGYoXzB4NWE4NzBkLF8weGIwYWUxYyl7bGV0IF8weDRkNDM2Mj1BcnJheShfMHg1YTg3MGQpO2ZvcihsZXQgXzB4MTYzODkyPTB4MCxfMHgyZThkMTI9LTB4MTtfMHgxNjM4OTI8XzB4NWE4NzBkO18weDE2Mzg5MisrKV8weDRkNDM2MltfMHgxNjM4OTJdPV8weDJlOGQxMis9MHgxK18weGIwYWUxYygpO3JldHVybiBfMHg0ZDQzNjI7fWZ1bmN0aW9uIF8weDlmNmM2ZihfMHgxMDJhM2MsXzB4MTJlNmIwKXtsZXQgXzB4NTFhMjZmPUFycmF5KF8weDEwMmEzYyk7Zm9yKGxldCBfMHg1NmE4NDg9MHgwLF8weDRmYTY5Zj0weDA7XzB4NTZhODQ4PF8weDEwMmEzYztfMHg1NmE4NDgrKylfMHg1MWEyNmZbXzB4NTZhODQ4XT1fMHg0ZmE2OWYrPV8weDU4ODMzNyhfMHgxMmU2YjAoKSk7cmV0dXJuIF8weDUxYTI2Zjt9ZnVuY3Rpb24gXzB4Mzc2MDNlKF8weDI5NGVjMCxfMHgzODQzZTcpe3ZhciBfMHgyZjM1Yzc9XzB4MTVhMztsZXQgXzB4NDNiODZiPV8weDJmOWE0ZihfMHgyOTRlYzAoKSxfMHgyOTRlYzApLF8weDIzODU2NT1fMHgyOTRlYzAoKSxfMHhjN2NhNzM9XzB4MmY5YTRmKF8weDIzODU2NSxfMHgyOTRlYzApLF8weDM2MjEyMD1mdW5jdGlvbihfMHg1NGM1NGMsXzB4NWY1NjdkKXtsZXQgXzB4NDVhZmFlPUFycmF5KF8weDU0YzU0Yyk7Zm9yKGxldCBfMHg0NDlhOWQ9MHgwO18weDQ0OWE5ZDxfMHg1NGM1NGM7XzB4NDQ5YTlkKyspXzB4NDVhZmFlW18weDQ0OWE5ZF09MHgxK18weDVmNTY3ZCgpO3JldHVybiBfMHg0NWFmYWU7fShfMHgyMzg1NjUsXzB4Mjk0ZWMwKTtmb3IobGV0IF8weDJlYjFhMD0weDA7XzB4MmViMWEwPF8weDIzODU2NTtfMHgyZWIxYTArKylmb3IobGV0IF8weDMzM2NhMz0weDA7XzB4MzMzY2EzPF8weDM2MjEyMFtfMHgyZWIxYTBdO18weDMzM2NhMysrKV8weDQzYjg2YltfMHgyZjM1YzcoJzB4OGI3JyldKF8weGM3Y2E3M1tfMHgyZWIxYTBdK18weDMzM2NhMyk7cmV0dXJuIF8weDM4NDNlNz9fMHg0M2I4NmJbJ21hcCddKF8weDU1MGY2ND0+XzB4Mzg0M2U3W18weDU1MGY2NF0pOl8weDQzYjg2Yjt9ZnVuY3Rpb24gXzB4MzFjMGU2KF8weDNlODY2YSxfMHgxODJkZjgsXzB4MjUxZTg4KXt2YXIgXzB4NDE2NTkyPV8weDE1YTM7bGV0IF8weDE1YTNmYj1BcnJheShfMHgzZTg2NmEpWydmaWxsJ10odm9pZCAweDApWydtYXAnXSgoKT0+W10pO2ZvcihsZXQgXzB4MTJhYWMxPTB4MDtfMHgxMmFhYzE8XzB4MTgyZGY4O18weDEyYWFjMSsrKV8weDlmNmM2ZihfMHgzZTg2NmEsXzB4MjUxZTg4KVtfMHg0MTY1OTIoJzB4NTFlJyldKChfMHgzMTEyYjIsXzB4OTk4ZmI2KT0+XzB4MTVhM2ZiW18weDk5OGZiNl1bJ3B1c2gnXShfMHgzMTEyYjIpKTtyZXR1cm4gXzB4MTVhM2ZiO31mdW5jdGlvbiBfMHg1ZTI5YzkoXzB4ZDBiYmMxLF8weDQyZjRlZCl7dmFyIF8weDkyZDQ1Mz1fMHgxNWEzO2xldCBfMHgyMTkxNzU9MHgxK18weDQyZjRlZCgpLF8weDFkZGM2Yz1fMHg0MmY0ZWQoKSxfMHgzNzY0MjQ9ZnVuY3Rpb24oXzB4MmVlMzg4KXt2YXIgXzB4MmYxNzY3PV8weDE1YTM7bGV0IF8weGFlMWY1ZD1bXTtmb3IoOzspe2xldCBfMHg0ZWE1ZDg9XzB4MmVlMzg4KCk7aWYoMHgwPT1fMHg0ZWE1ZDgpYnJlYWs7XzB4YWUxZjVkW18weDJmMTc2NygnMHg4YjcnKV0oXzB4NGVhNWQ4KTt9cmV0dXJuIF8weGFlMWY1ZDt9KF8weDQyZjRlZCk7cmV0dXJuIF8weDE1MzY3YyhfMHgzMWMwZTYoXzB4Mzc2NDI0W18weDkyZDQ1MygnMHg1MjAnKV0sMHgxK18weGQwYmJjMSxfMHg0MmY0ZWQpW18weDkyZDQ1MygnMHgzYzknKV0oKF8weDNhNTA0NyxfMHgyNzNiMzMpPT57dmFyIF8weDFhM2E5YT1fMHg5MmQ0NTM7Y29uc3QgXzB4NDUxNDU4PV8weDNhNTA0N1sweDBdLF8weDJjMGRhOD1fMHgzYTUwNDdbXzB4MWEzYTlhKCcweGFkYScpXSgweDEpO3JldHVybiBBcnJheShfMHgzNzY0MjRbXzB4MjczYjMzXSlbXzB4MWEzYTlhKCcweGIxNicpXSh2b2lkIDB4MClbXzB4MWEzYTlhKCcweDNjOScpXSgoXzB4NzliNjE0LF8weDM4NWQ4ZSk9Pnt2YXIgXzB4MWIzOGZiPV8weDFhM2E5YTtsZXQgXzB4Nzg3YTE3PV8weDM4NWQ4ZSpfMHgxZGRjNmM7cmV0dXJuW18weDQ1MTQ1OCtfMHgzODVkOGUqXzB4MjE5MTc1LF8weDJjMGRhOFtfMHgxYjM4ZmIoJzB4M2M5JyldKF8weDE3MWM1MT0+XzB4MTcxYzUxK18weDc4N2ExNyldO30pO30pKTt9ZnVuY3Rpb24gXzB4NDRlMjU2KF8weDRkYzVlZixfMHhlNDFmMTIpe3ZhciBfMHhkOWJlODg9XzB4MTVhMztyZXR1cm4gXzB4MzFjMGU2KDB4MStfMHhlNDFmMTIoKSwweDErXzB4NGRjNWVmLF8weGU0MWYxMilbXzB4ZDliZTg4KCcweDNjOScpXShfMHg0YjUwNTI9PltfMHg0YjUwNTJbMHgwXSxfMHg0YjUwNTJbXzB4ZDliZTg4KCcweGFkYScpXSgweDEpXSk7fWNvbnN0IF8weDJjNDQ5Yz1mdW5jdGlvbihfMHg0NmIwMmMpe2xldCBfMHgzYzNkMzQ9MHgwO3JldHVybigpPT5fMHg0NmIwMmNbXzB4M2MzZDM0KytdO30oZnVuY3Rpb24oXzB4MjM3OGVmKXt2YXIgXzB4MTNmMzMxPV8weDE1YTM7bGV0IF8weDNhYzExMD0weDA7ZnVuY3Rpb24gXzB4NDJlNjlmKCl7cmV0dXJuIF8weDIzNzhlZltfMHgzYWMxMTArK108PDB4OHxfMHgyMzc4ZWZbXzB4M2FjMTEwKytdO31sZXQgXzB4NTA3MTVmPV8weDQyZTY5ZigpLF8weDM0NDc0ND0weDEsXzB4MmE1OGQzPVsweDAsMHgxXTtmb3IobGV0IF8weGE0NWJiPTB4MTtfMHhhNDViYjxfMHg1MDcxNWY7XzB4YTQ1YmIrKylfMHgyYTU4ZDNbXzB4MTNmMzMxKCcweDhiNycpXShfMHgzNDQ3NDQrPV8weDQyZTY5ZigpKTtsZXQgXzB4NWI1MDE3PV8weDQyZTY5ZigpLF8weDMyODJhNz1fMHgzYWMxMTA7XzB4M2FjMTEwKz1fMHg1YjUwMTc7bGV0IF8weDUwMzVlNT0weDAsXzB4NTgxODgwPTB4MDtmdW5jdGlvbiBfMHg1NzQ3MDYoKXtyZXR1cm4gMHgwPT1fMHg1MDM1ZTUmJihfMHg1ODE4ODA9XzB4NTgxODgwPDwweDh8XzB4MjM3OGVmW18weDNhYzExMCsrXSxfMHg1MDM1ZTU9MHg4KSxfMHg1ODE4ODA+Pi0tXzB4NTAzNWU1JjB4MTt9Y29uc3QgXzB4M2RiZWZmPU1hdGhbXzB4MTNmMzMxKCcweGEwOScpXSgweDIsMHgxZiksXzB4MTI1NDNhPV8weDNkYmVmZj4+PjB4MSxfMHg1Y2ZlN2M9XzB4MTI1NDNhPj4weDEsXzB4M2M3OGI2PV8weDNkYmVmZi0weDE7bGV0IF8weDgxN2Q2MD0weDA7Zm9yKGxldCBfMHgxYWI1MGM9MHgwO18weDFhYjUwYzwweDFmO18weDFhYjUwYysrKV8weDgxN2Q2MD1fMHg4MTdkNjA8PDB4MXxfMHg1NzQ3MDYoKTtsZXQgXzB4NjIwZWJhPVtdLF8weDE4ODc5ZD0weDAsXzB4NGFiN2ZmPV8weDNkYmVmZjtmb3IoOzspe2xldCBfMHg0ODM2OWI9TWF0aFsnZmxvb3InXSgoKF8weDgxN2Q2MC1fMHgxODg3OWQrMHgxKSpfMHgzNDQ3NDQtMHgxKS9fMHg0YWI3ZmYpLF8weDViMzVlYT0weDAsXzB4YjE4NmFhPV8weDUwNzE1Zjtmb3IoO18weGIxODZhYS1fMHg1YjM1ZWE+MHgxOyl7bGV0IF8weDI1NmYxNz1fMHg1YjM1ZWErXzB4YjE4NmFhPj4+MHgxO18weDQ4MzY5YjxfMHgyYTU4ZDNbXzB4MjU2ZjE3XT9fMHhiMTg2YWE9XzB4MjU2ZjE3Ol8weDViMzVlYT1fMHgyNTZmMTc7fWlmKDB4MD09XzB4NWIzNWVhKWJyZWFrO18weDYyMGViYVsncHVzaCddKF8weDViMzVlYSk7bGV0IF8weDVjNTU0Yj1fMHgxODg3OWQrTWF0aFsnZmxvb3InXShfMHg0YWI3ZmYqXzB4MmE1OGQzW18weDViMzVlYV0vXzB4MzQ0NzQ0KSxfMHgzYjU5MGE9XzB4MTg4NzlkK01hdGhbXzB4MTNmMzMxKCcweGJiZScpXShfMHg0YWI3ZmYqXzB4MmE1OGQzW18weDViMzVlYSsweDFdL18weDM0NDc0NCktMHgxO2Zvcig7MHgwPT0oKF8weDVjNTU0Yl5fMHgzYjU5MGEpJl8weDEyNTQzYSk7KV8weDgxN2Q2MD1fMHg4MTdkNjA8PDB4MSZfMHgzYzc4YjZ8XzB4NTc0NzA2KCksXzB4NWM1NTRiPV8weDVjNTU0Yjw8MHgxJl8weDNjNzhiNixfMHgzYjU5MGE9XzB4M2I1OTBhPDwweDEmXzB4M2M3OGI2fDB4MTtmb3IoO18weDVjNTU0YiZ+XzB4M2I1OTBhJl8weDVjZmU3YzspXzB4ODE3ZDYwPV8weDgxN2Q2MCZfMHgxMjU0M2F8XzB4ODE3ZDYwPDwweDEmXzB4M2M3OGI2Pj4+MHgxfF8weDU3NDcwNigpLF8weDVjNTU0Yj1fMHg1YzU1NGI8PDB4MV5fMHgxMjU0M2EsXzB4M2I1OTBhPShfMHgzYjU5MGFeXzB4MTI1NDNhKTw8MHgxfF8weDEyNTQzYXwweDE7XzB4MTg4NzlkPV8weDVjNTU0YixfMHg0YWI3ZmY9MHgxK18weDNiNTkwYS1fMHg1YzU1NGI7fWxldCBfMHg0Y2MxNDA9XzB4NTA3MTVmLTB4NDtyZXR1cm4gXzB4NjIwZWJhW18weDEzZjMzMSgnMHgzYzknKV0oXzB4NTQ3NGMxPT57c3dpdGNoKF8weDU0NzRjMS1fMHg0Y2MxNDApe2Nhc2UgMHgzOnJldHVybiBfMHg0Y2MxNDArMHgxMDEwMCsoXzB4MjM3OGVmW18weDMyODJhNysrXTw8MHgxMHxfMHgyMzc4ZWZbXzB4MzI4MmE3KytdPDwweDh8XzB4MjM3OGVmW18weDMyODJhNysrXSk7Y2FzZSAweDI6cmV0dXJuIF8weDRjYzE0MCsweDEwMCsoXzB4MjM3OGVmW18weDMyODJhNysrXTw8MHg4fF8weDIzNzhlZltfMHgzMjgyYTcrK10pO2Nhc2UgMHgxOnJldHVybiBfMHg0Y2MxNDArXzB4MjM3OGVmW18weDMyODJhNysrXTtkZWZhdWx0OnJldHVybiBfMHg1NDc0YzEtMHgxO319KTt9KCgweDAsXzB4OTE1NzhjKDB4MjU1ZilbJ0onXSkoXzB4MjE0ZDkxKCcweGIxMicpKSkpLF8weDMwMzhiMz1uZXcgU2V0KF8weDM3NjAzZShfMHgyYzQ0OWMpKSxfMHg1NmE4OGU9bmV3IFNldChfMHgzNzYwM2UoXzB4MmM0NDljKSksXzB4NTg1NmNhPWZ1bmN0aW9uKF8weDJmOTg3OSl7dmFyIF8weDU5NTYyZj1fMHgyMTRkOTE7bGV0IF8weGQwNDhjNz1bXTtmb3IoOzspe2xldCBfMHg0ZGU3Y2I9XzB4MmY5ODc5KCk7aWYoMHgwPT1fMHg0ZGU3Y2IpYnJlYWs7XzB4ZDA0OGM3WydwdXNoJ10oXzB4NWUyOWM5KF8weDRkZTdjYixfMHgyZjk4NzkpKTt9Zm9yKDs7KXtsZXQgXzB4M2IzOWZkPV8weDJmOTg3OSgpLTB4MTtpZihfMHgzYjM5ZmQ8MHgwKWJyZWFrO18weGQwNDhjN1tfMHg1OTU2MmYoJzB4OGI3JyldKF8weDQ0ZTI1NihfMHgzYjM5ZmQsXzB4MmY5ODc5KSk7fXJldHVybiBmdW5jdGlvbihfMHgyMjgwZWUpe2NvbnN0IF8weDJiMThjZT17fTtmb3IobGV0IF8weDI4N2QxNT0weDA7XzB4Mjg3ZDE1PF8weDIyODBlZVsnbGVuZ3RoJ107XzB4Mjg3ZDE1Kyspe2NvbnN0IF8weDFlZjI0NT1fMHgyMjgwZWVbXzB4Mjg3ZDE1XTtfMHgyYjE4Y2VbXzB4MWVmMjQ1WzB4MF1dPV8weDFlZjI0NVsweDFdO31yZXR1cm4gXzB4MmIxOGNlO30oXzB4MTUzNjdjKF8weGQwNDhjNykpO30oXzB4MmM0NDljKSxfMHgxMzIzOTA9ZnVuY3Rpb24oXzB4MmRlOTkzKXt2YXIgXzB4MmUzZmRjPV8weDIxNGQ5MTtsZXQgXzB4MTM2ZDAxPV8weDM3NjAzZShfMHgyZGU5OTMpW18weDJlM2ZkYygnMHhkNTUnKV0oKF8weDExYzRlOCxfMHgxZjJjODUpPT5fMHgxMWM0ZTgtXzB4MWYyYzg1KTtyZXR1cm4gZnVuY3Rpb24gXzB4NDJlZTM0KCl7dmFyIF8weDEwYjNmMz1fMHgyZTNmZGM7bGV0IF8weDE0OGFiMz1bXTtmb3IoOzspe2xldCBfMHgxZDA2NjA9XzB4Mzc2MDNlKF8weDJkZTk5MyxfMHgxMzZkMDEpO2lmKDB4MD09XzB4MWQwNjYwW18weDEwYjNmMygnMHg1MjAnKV0pYnJlYWs7XzB4MTQ4YWIzW18weDEwYjNmMygnMHg4YjcnKV0oeydzZXQnOm5ldyBTZXQoXzB4MWQwNjYwKSwnbm9kZSc6XzB4NDJlZTM0KCl9KTt9XzB4MTQ4YWIzWydzb3J0J10oKF8weDQ3YzU1MSxfMHg1ZjQxNmYpPT5fMHg1ZjQxNmZbJ3NldCddW18weDEwYjNmMygnMHg5NmInKV0tXzB4NDdjNTUxW18weDEwYjNmMygnMHhjYWMnKV1bXzB4MTBiM2YzKCcweDk2YicpXSk7bGV0IF8weGRkNmI2Nz1fMHgyZGU5OTMoKSxfMHgxNTk2NTI9XzB4ZGQ2YjY3JTB4MztfMHhkZDZiNjc9XzB4ZGQ2YjY3LzB4M3wweDA7bGV0IF8weGFkYzI0OD0hISgweDEmXzB4ZGQ2YjY3KTtyZXR1cm4gXzB4ZGQ2YjY3Pj49MHgxLHsnYnJhbmNoZXMnOl8weDE0OGFiMywndmFsaWQnOl8weDE1OTY1MiwnZmUwZic6XzB4YWRjMjQ4LCdzYXZlJzoweDE9PV8weGRkNmI2NywnY2hlY2snOjB4Mj09XzB4ZGQ2YjY3fTt9KCk7fShfMHgyYzQ0OWMpLF8weGNmMzEzMz0weDJkLF8weDVkMmE3YT0weDVmO2Z1bmN0aW9uIF8weDE5Y2U5MShfMHgyMGYxYzMpe3JldHVybigweDAsXzB4NDhlODY5WydYTCddKShfMHgyMGYxYzMpO31mdW5jdGlvbiBfMHgzMWExM2UoXzB4NTAwYjg3KXtyZXR1cm4gXzB4NTAwYjg3WydmaWx0ZXInXShfMHg1Yzc2M2M9PjB4ZmUwZiE9XzB4NWM3NjNjKTt9ZnVuY3Rpb24gXzB4MjY2ZWE5KF8weDE0OTk0NCl7dmFyIF8weDIyYjg2Zj1fMHgyMTRkOTE7Zm9yKGxldCBfMHg0Zjg0Yjggb2YgXzB4MTQ5OTQ0W18weDIyYjg2ZignMHg5OTQnKV0oJy4nKSl7bGV0IF8weDJlMGQ1YT1fMHgxOWNlOTEoXzB4NGY4NGI4KTt0cnl7Zm9yKGxldCBfMHg1NDg5ODk9XzB4MmUwZDVhW18weDIyYjg2ZignMHg1OWMnKV0oXzB4NWQyYTdhKS0weDE7XzB4NTQ4OTg5Pj0weDA7XzB4NTQ4OTg5LS0paWYoXzB4MmUwZDVhW18weDU0ODk4OV0hPT1fMHg1ZDJhN2EpdGhyb3cgbmV3IEVycm9yKF8weDIyYjg2ZignMHg3NzknKSk7aWYoXzB4MmUwZDVhW18weDIyYjg2ZignMHg1MjAnKV0+PTB4NCYmXzB4MmUwZDVhW18weDIyYjg2ZignMHg3YmEnKV0oXzB4MmFiMzg5PT5fMHgyYWIzODk8MHg4MCkmJl8weDJlMGQ1YVsweDJdPT09XzB4Y2YzMTMzJiZfMHgyZTBkNWFbMHgzXT09PV8weGNmMzEzMyl0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWRceDIwbGFiZWxceDIwZXh0ZW5zaW9uJyk7fWNhdGNoKF8weDQzNzlmZCl7dGhyb3cgbmV3IEVycm9yKF8weDIyYjg2ZignMHhjZGQnKStfMHg0Zjg0YjgrXzB4MjJiODZmKCcweDVhNicpK18weDQzNzlmZFtfMHgyMmI4NmYoJzB4ODNiJyldKTt9fXJldHVybiBfMHgxNDk5NDQ7fWZ1bmN0aW9uIF8weDRkMzQyNihfMHgyZmZmNGIsXzB4MzdhYmY3KXt2YXIgXzB4MTQxZDYzPV8weDIxNGQ5MSxfMHg0ZDZlZDI7bGV0IF8weDJhY2UxYSxfMHgxNTI0ZTcsXzB4NDI3N2E4PV8weDEzMjM5MCxfMHg0NjVmMWQ9W10sXzB4MmNjMTY5PV8weDJmZmY0YltfMHgxNDFkNjMoJzB4NTIwJyldO2ZvcihfMHgzN2FiZjcmJihfMHgzN2FiZjdbXzB4MTQxZDYzKCcweDUyMCcpXT0weDApO18weDJjYzE2OTspe2xldCBfMHgxYWVhZDc9XzB4MmZmZjRiWy0tXzB4MmNjMTY5XTtpZihfMHg0Mjc3YTg9bnVsbD09PShfMHg0ZDZlZDI9XzB4NDI3N2E4W18weDE0MWQ2MygnMHg2YWEnKV1bXzB4MTQxZDYzKCcweDY4NCcpXShfMHg1NmE2M2M9Pl8weDU2YTYzY1tfMHgxNDFkNjMoJzB4Y2FjJyldW18weDE0MWQ2MygnMHg0NzInKV0oXzB4MWFlYWQ3KSkpfHx2b2lkIDB4MD09PV8weDRkNmVkMj92b2lkIDB4MDpfMHg0ZDZlZDJbXzB4MTQxZDYzKCcweDFjMycpXSwhXzB4NDI3N2E4KWJyZWFrO2lmKF8weDQyNzdhOFsnc2F2ZSddKV8weDE1MjRlNz1fMHgxYWVhZDc7ZWxzZXtpZihfMHg0Mjc3YThbJ2NoZWNrJ10mJl8weDFhZWFkNz09PV8weDE1MjRlNylicmVhazt9XzB4NDY1ZjFkW18weDE0MWQ2MygnMHg4YjcnKV0oXzB4MWFlYWQ3KSxfMHg0Mjc3YThbJ2ZlMGYnXSYmKF8weDQ2NWYxZFtfMHgxNDFkNjMoJzB4OGI3JyldKDB4ZmUwZiksXzB4MmNjMTY5PjB4MCYmMHhmZTBmPT1fMHgyZmZmNGJbXzB4MmNjMTY5LTB4MV0mJl8weDJjYzE2OS0tKSxfMHg0Mjc3YThbJ3ZhbGlkJ10mJihfMHgyYWNlMWE9XzB4NDY1ZjFkW18weDE0MWQ2MygnMHhhZGEnKV0oKSwweDI9PV8weDQyNzdhOFtfMHgxNDFkNjMoJzB4NjQwJyldJiZfMHgyYWNlMWFbXzB4MTQxZDYzKCcweGE0ZCcpXSgweDEsMHgxKSxfMHgzN2FiZjcmJl8weDM3YWJmN1tfMHgxNDFkNjMoJzB4OGI3JyldKC4uLl8weDJmZmY0YltfMHgxNDFkNjMoJzB4YWRhJyldKF8weDJjYzE2OSlbXzB4MTQxZDYzKCcweDUzMycpXSgpKSxfMHgyZmZmNGJbXzB4MTQxZDYzKCcweDUyMCcpXT1fMHgyY2MxNjkpO31yZXR1cm4gXzB4MmFjZTFhO31jb25zdCBfMHg0ODI3NjY9bmV3IF8weDViNzczM1soXzB4MjE0ZDkxKCcweGNlNycpKV0oXzB4NTEwM2ZmWydpJ10pLF8weDFiYzk5OT1uZXcgVWludDhBcnJheSgweDIwKTtmdW5jdGlvbiBfMHhjZTllYzUoXzB4NTE5YzliKXt2YXIgXzB4NTBjNDhjPV8weDIxNGQ5MTtpZigweDA9PT1fMHg1MTljOWJbXzB4NTBjNDhjKCcweDUyMCcpXSl0aHJvdyBuZXcgRXJyb3IoXzB4NTBjNDhjKCcweDg3ZScpKTtyZXR1cm4gXzB4NTE5YzliO31mdW5jdGlvbiBfMHgxYThlMTUoXzB4MzNmMzEwKXt2YXIgXzB4NWJlZDhlPV8weDIxNGQ5MTtjb25zdCBfMHg1YTExYjM9KDB4MCxfMHg0OGU4NjlbJ1kwJ10pKGZ1bmN0aW9uKF8weDQxOWQ0Nil7cmV0dXJuIF8weDI2NmVhOShmdW5jdGlvbihfMHg0YzI4MmQsXzB4NDZhOWEzKXt2YXIgXzB4NDc5MzI2PV8weDE1YTM7bGV0IF8weDQ1NDY0Mj1fMHgxOWNlOTEoXzB4NGMyODJkKVtfMHg0NzkzMjYoJzB4NTMzJyldKCksXzB4NGEzY2JjPVtdO2Zvcig7XzB4NDU0NjQyW18weDQ3OTMyNignMHg1MjAnKV07KXtsZXQgXzB4MzZhYjI1PV8weDRkMzQyNihfMHg0NTQ2NDIpO2lmKF8weDM2YWIyNSl7XzB4NGEzY2JjW18weDQ3OTMyNignMHg4YjcnKV0oLi4uXzB4NDZhOWEzKF8weDM2YWIyNSkpO2NvbnRpbnVlO31sZXQgXzB4MjUwOTFhPV8weDQ1NDY0MltfMHg0NzkzMjYoJzB4NmRlJyldKCk7aWYoXzB4MzAzOGIzW18weDQ3OTMyNignMHg0NzInKV0oXzB4MjUwOTFhKSl7XzB4NGEzY2JjW18weDQ3OTMyNignMHg4YjcnKV0oXzB4MjUwOTFhKTtjb250aW51ZTt9aWYoXzB4NTZhODhlW18weDQ3OTMyNignMHg0NzInKV0oXzB4MjUwOTFhKSljb250aW51ZTtsZXQgXzB4MWE3NWU1PV8weDU4NTZjYVtfMHgyNTA5MWFdO2lmKCFfMHgxYTc1ZTUpdGhyb3cgbmV3IEVycm9yKCdEaXNhbGxvd2VkXHgyMGNvZGVwb2ludDpceDIwMHgnK18weDI1MDkxYVtfMHg0NzkzMjYoJzB4NTQ3JyldKDB4MTApW18weDQ3OTMyNignMHg5ZTUnKV0oKSk7XzB4NGEzY2JjW18weDQ3OTMyNignMHg4YjcnKV0oLi4uXzB4MWE3NWU1KTt9cmV0dXJuIF8weDI2NmVhOShTdHJpbmdbXzB4NDc5MzI2KCcweDVjMycpXSguLi5fMHg0YTNjYmMpW18weDQ3OTMyNignMHg4OGInKV0oXzB4NDc5MzI2KCcweDY3NCcpKSk7fShfMHg0MTlkNDYsXzB4MzFhMTNlKSk7fShfMHgzM2YzMTApKSxfMHgzNzFiOTA9W107aWYoMHgwPT09XzB4MzNmMzEwW18weDViZWQ4ZSgnMHg1MjAnKV0pcmV0dXJuIF8weDM3MWI5MDtsZXQgXzB4NTA4NDBiPTB4MDtmb3IobGV0IF8weDUxNzBhMj0weDA7XzB4NTE3MGEyPF8weDVhMTFiM1tfMHg1YmVkOGUoJzB4NTIwJyldO18weDUxNzBhMisrKTB4MmU9PT1fMHg1YTExYjNbXzB4NTE3MGEyXSYmKF8weDM3MWI5MFtfMHg1YmVkOGUoJzB4OGI3JyldKF8weGNlOWVjNShfMHg1YTExYjNbXzB4NWJlZDhlKCcweGFkYScpXShfMHg1MDg0MGIsXzB4NTE3MGEyKSkpLF8weDUwODQwYj1fMHg1MTcwYTIrMHgxKTtpZihfMHg1MDg0MGI+PV8weDVhMTFiM1snbGVuZ3RoJ10pdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkXHgyMEVOU1x4MjBuYW1lO1x4MjBlbXB0eVx4MjBjb21wb25lbnQnKTtyZXR1cm4gXzB4MzcxYjkwW18weDViZWQ4ZSgnMHg4YjcnKV0oXzB4Y2U5ZWM1KF8weDVhMTFiM1tfMHg1YmVkOGUoJzB4YWRhJyldKF8weDUwODQwYikpKSxfMHgzNzFiOTA7fWZ1bmN0aW9uIF8weDE2YTg5NyhfMHgyNGVkOTkpe3ZhciBfMHgyZmQwMmI9XzB4MjE0ZDkxO3JldHVybiBfMHgxYThlMTUoXzB4MjRlZDk5KVtfMHgyZmQwMmIoJzB4M2M5JyldKF8weDUwNDgyMj0+KDB4MCxfMHg0OGU4NjlbJ1pOJ10pKF8weDUwNDgyMikpWydqb2luJ10oJy4nKTt9ZnVuY3Rpb24gXzB4M2NmZTc1KF8weDM2ZWE2Nyl7dmFyIF8weDMwZTAxZD1fMHgyMTRkOTE7dHJ5e3JldHVybiAweDAhPT1fMHgxYThlMTUoXzB4MzZlYTY3KVtfMHgzMGUwMWQoJzB4NTIwJyldO31jYXRjaChfMHgxYWVkMmIpe31yZXR1cm4hMHgxO31mdW5jdGlvbiBfMHgxNmU3OWQoXzB4MjNhMGU4KXt2YXIgXzB4MmIyYzdhPV8weDIxNGQ5MTtfMHgyYjJjN2EoJzB4NjVmJykhPXR5cGVvZiBfMHgyM2EwZTgmJl8weDQ4Mjc2NltfMHgyYjJjN2EoJzB4NjM1JyldKF8weDJiMmM3YSgnMHg2ODcnKSxfMHgyYjJjN2EoJzB4YmM3JyksXzB4MjNhMGU4KTtsZXQgXzB4MTcyY2YxPV8weDFiYzk5OTtjb25zdCBfMHhkNmU5YjQ9XzB4MWE4ZTE1KF8weDIzYTBlOCk7Zm9yKDtfMHhkNmU5YjRbXzB4MmIyYzdhKCcweDUyMCcpXTspXzB4MTcyY2YxPSgweDAsXzB4Mjc5YWQ3WydrZWNjYWsyNTYnXSkoKDB4MCxfMHg0MzZiYzlbXzB4MmIyYzdhKCcweDUzMCcpXSkoW18weDE3MmNmMSwoMHgwLF8weDI3OWFkN1sna2VjY2FrMjU2J10pKF8weGQ2ZTliNFtfMHgyYjJjN2EoJzB4NmRlJyldKCkpXSkpO3JldHVybigweDAsXzB4NDM2YmM5W18weDJiMmM3YSgnMHgzNTYnKV0pKF8weDE3MmNmMSk7fWZ1bmN0aW9uIF8weGY1ZmU1MyhfMHg1YTYwMDEpe3ZhciBfMHgxY2QwNzE9XzB4MjE0ZDkxO3JldHVybigweDAsXzB4NDM2YmM5W18weDFjZDA3MSgnMHgzNTYnKV0pKCgweDAsXzB4NDM2YmM5Wydjb25jYXQnXSkoXzB4MWE4ZTE1KF8weDVhNjAwMSlbXzB4MWNkMDcxKCcweDNjOScpXShfMHg0ZmQxMzU9Pnt2YXIgXzB4MWQyNmRmPV8weDFjZDA3MTtpZihfMHg0ZmQxMzVbXzB4MWQyNmRmKCcweDUyMCcpXT4weDNmKXRocm93IG5ldyBFcnJvcignaW52YWxpZFx4MjBETlNceDIwZW5jb2RlZFx4MjBlbnRyeTtceDIwbGVuZ3RoXHgyMGV4Y2VlZHNceDIwNjNceDIwYnl0ZXMnKTtjb25zdCBfMHgyZWRlYTQ9bmV3IFVpbnQ4QXJyYXkoXzB4NGZkMTM1W18weDFkMjZkZignMHg1MjAnKV0rMHgxKTtyZXR1cm4gXzB4MmVkZWE0WydzZXQnXShfMHg0ZmQxMzUsMHgxKSxfMHgyZWRlYTRbMHgwXT1fMHgyZWRlYTRbXzB4MWQyNmRmKCcweDUyMCcpXS0weDEsXzB4MmVkZWE0O30pKSkrJzAwJzt9XzB4MWJjOTk5WydmaWxsJ10oMHgwKTt9LDB4MWU5MzooXzB4NTliN2VkLF8weDRhYWU2NixfMHg0MDBkZjApPT57J3VzZSBzdHJpY3QnO3ZhciBfMHg1MWY4Mjk9XzB4MTVhMztfMHg0MDBkZjBbJ2QnXShfMHg0YWFlNjYseydFJzooKT0+XzB4NWVlZTU3fSk7dmFyIF8weGRiM2ZjNz1fMHg0MDBkZjAoMHgxMWYyKSxfMHgzZjZmMjk9XzB4NDAwZGYwKDB4YTIxKSxfMHgzZTA0YWQ9XzB4NDAwZGYwKDB4Y2Q2KSxfMHg0ODk1Mzc9XzB4NDAwZGYwKDB4MjAwNSksXzB4M2M5ZTM1PV8weDQwMGRmMCgweGUwMyksXzB4MWQ2MjkzPV8weDQwMGRmMCgweDJjNyksXzB4MTM4MWIyPV8weDQwMGRmMCgweDE2MGMpLF8weDUxY2EwOD1fMHg0MDBkZjAoMHg3ZmUpO2NvbnN0IF8weDU0NzIwYz1uZXcgXzB4MWQ2MjkzWyhfMHg1MWY4MjkoJzB4Y2U3JykpXShfMHgxMzgxYjJbJ2knXSksXzB4Mzc4NGIwPW5ldyBVaW50OEFycmF5KDB4MjApO18weDM3ODRiMFtfMHg1MWY4MjkoJzB4YjE2JyldKDB4MCk7Y29uc3QgXzB4Mjg5MWIyPV8weDNmNmYyOVsnTyQnXVtfMHg1MWY4MjkoJzB4MjUyJyldKC0weDEpLF8weDM5NDY3Zj1fMHgzZjZmMjlbJ08kJ11bJ2Zyb20nXSgweDApLF8weDIzNWI5ND1fMHgzZjZmMjlbJ08kJ11bJ2Zyb20nXSgweDEpLF8weDg4NWRkPV8weDNmNmYyOVsnTyQnXVtfMHg1MWY4MjkoJzB4MjUyJyldKF8weDUxZjgyOSgnMHgzNTknKSksXzB4YTc0YjQwPSgweDAsXzB4M2UwNGFkW18weDUxZjgyOSgnMHg0MjEnKV0pKF8weDIzNWI5NFsndG9IZXhTdHJpbmcnXSgpLDB4MjApLF8weDViNTBkNT0oMHgwLF8weDNlMDRhZFtfMHg1MWY4MjkoJzB4NDIxJyldKShfMHgzOTQ2N2ZbXzB4NTFmODI5KCcweDZjMScpXSgpLDB4MjApLF8weDMxOGNmMz17J25hbWUnOl8weDUxZjgyOSgnMHg2NWYnKSwndmVyc2lvbic6XzB4NTFmODI5KCcweDY1ZicpLCdjaGFpbklkJzondWludDI1NicsJ3ZlcmlmeWluZ0NvbnRyYWN0JzpfMHg1MWY4MjkoJzB4MWQxJyksJ3NhbHQnOidieXRlczMyJ30sXzB4NTI3YmVkPVtfMHg1MWY4MjkoJzB4YmM3JyksJ3ZlcnNpb24nLF8weDUxZjgyOSgnMHgyNjInKSxfMHg1MWY4MjkoJzB4MmQ5JyksJ3NhbHQnXTtmdW5jdGlvbiBfMHg0NjY2MTQoXzB4MmE3NmVjKXtyZXR1cm4gZnVuY3Rpb24oXzB4M2RmNWQ5KXt2YXIgXzB4MTY0ZjUyPV8weDE1YTM7cmV0dXJuIF8weDE2NGY1MignMHg2NWYnKSE9dHlwZW9mIF8weDNkZjVkOSYmXzB4NTQ3MjBjW18weDE2NGY1MignMHg2MzUnKV0oXzB4MTY0ZjUyKCcweDJjYycpK0pTT05bXzB4MTY0ZjUyKCcweDMxZicpXShfMHgyYTc2ZWMpLF8weDE2NGY1MignMHg1YzYnKStfMHgyYTc2ZWMsXzB4M2RmNWQ5KSxfMHgzZGY1ZDk7fTt9Y29uc3QgXzB4MTI2NjQ2PXsnbmFtZSc6XzB4NDY2NjE0KCduYW1lJyksJ3ZlcnNpb24nOl8weDQ2NjYxNChfMHg1MWY4MjkoJzB4YWM5JykpLCdjaGFpbklkJzpmdW5jdGlvbihfMHgzNWY2NGEpe3ZhciBfMHgxOTU4Mjg9XzB4NTFmODI5O3RyeXtyZXR1cm4gXzB4M2Y2ZjI5WydPJCddW18weDE5NTgyOCgnMHgyNTInKV0oXzB4MzVmNjRhKVtfMHgxOTU4MjgoJzB4NTQ3JyldKCk7fWNhdGNoKF8weDFhMGJiMCl7fXJldHVybiBfMHg1NDcyMGNbXzB4MTk1ODI4KCcweDYzNScpXShfMHgxOTU4MjgoJzB4NzkyJyksXzB4MTk1ODI4KCcweGJiNScpLF8weDM1ZjY0YSk7fSwndmVyaWZ5aW5nQ29udHJhY3QnOmZ1bmN0aW9uKF8weDE0ZjE3Nyl7dmFyIF8weDM1ZWU3Mz1fMHg1MWY4Mjk7dHJ5e3JldHVybigweDAsXzB4ZGIzZmM3W18weDM1ZWU3MygnMHgzZGYnKV0pKF8weDE0ZjE3NylbXzB4MzVlZTczKCcweDg3MCcpXSgpO31jYXRjaChfMHgyYzIyMTYpe31yZXR1cm4gXzB4NTQ3MjBjW18weDM1ZWU3MygnMHg2MzUnKV0oXzB4MzVlZTczKCcweDJhNycpLF8weDM1ZWU3MygnMHg2ODEnKSxfMHgxNGYxNzcpO30sJ3NhbHQnOmZ1bmN0aW9uKF8weDRkNzEwYyl7dmFyIF8weDUyMGI4Mz1fMHg1MWY4Mjk7dHJ5e2NvbnN0IF8weDIxNzFjOD0oMHgwLF8weDNlMDRhZFtfMHg1MjBiODMoJzB4ZDA2JyldKShfMHg0ZDcxMGMpO2lmKDB4MjAhPT1fMHgyMTcxYzhbXzB4NTIwYjgzKCcweDUyMCcpXSl0aHJvdyBuZXcgRXJyb3IoJ2JhZFx4MjBsZW5ndGgnKTtyZXR1cm4oMHgwLF8weDNlMDRhZFtfMHg1MjBiODMoJzB4MzU2JyldKShfMHgyMTcxYzgpO31jYXRjaChfMHgyOGQyNzMpe31yZXR1cm4gXzB4NTQ3MjBjW18weDUyMGI4MygnMHg2MzUnKV0oXzB4NTIwYjgzKCcweGJmZCcpLF8weDUyMGI4MygnMHgzZDQnKSxfMHg0ZDcxMGMpO319O2Z1bmN0aW9uIF8weDE2MTRkNyhfMHgyNWRjNDMpe3ZhciBfMHgzM2JiZTg9XzB4NTFmODI5O3tjb25zdCBfMHgyYmYyNzI9XzB4MjVkYzQzW18weDMzYmJlOCgnMHg0MjUnKV0oL14odT8paW50KFxkKikkLyk7aWYoXzB4MmJmMjcyKXtjb25zdCBfMHgzODg0ZmI9Jyc9PT1fMHgyYmYyNzJbMHgxXSxfMHgzZjhiN2M9cGFyc2VJbnQoXzB4MmJmMjcyWzB4Ml18fF8weDMzYmJlOCgnMHhiNTEnKSk7KF8weDNmOGI3YyUweDghPTB4MHx8XzB4M2Y4YjdjPjB4MTAwfHxfMHgyYmYyNzJbMHgyXSYmXzB4MmJmMjcyWzB4Ml0hPT1TdHJpbmcoXzB4M2Y4YjdjKSkmJl8weDU0NzIwY1sndGhyb3dBcmd1bWVudEVycm9yJ10oXzB4MzNiYmU4KCcweGE3NycpLF8weDMzYmJlOCgnMHg1N2MnKSxfMHgyNWRjNDMpO2NvbnN0IF8weDI5NGVkOT1fMHg4ODVkZFtfMHgzM2JiZTgoJzB4NzQzJyldKF8weDM4ODRmYj9fMHgzZjhiN2MtMHgxOl8weDNmOGI3YyksXzB4MzMwZDNhPV8weDM4ODRmYj9fMHgyOTRlZDlbXzB4MzNiYmU4KCcweGJhMScpXShfMHgyMzViOTQpW18weDMzYmJlOCgnMHhjMjMnKV0oXzB4Mjg5MWIyKTpfMHgzOTQ2N2Y7cmV0dXJuIGZ1bmN0aW9uKF8weDI4OGE5YSl7dmFyIF8weDM3MmVmMT1fMHgzM2JiZTg7Y29uc3QgXzB4M2UxYmI0PV8weDNmNmYyOVsnTyQnXVtfMHgzNzJlZjEoJzB4MjUyJyldKF8weDI4OGE5YSk7cmV0dXJuKF8weDNlMWJiNFsnbHQnXShfMHgzMzBkM2EpfHxfMHgzZTFiYjRbJ2d0J10oXzB4Mjk0ZWQ5KSkmJl8weDU0NzIwY1tfMHgzNzJlZjEoJzB4NjM1JyldKF8weDM3MmVmMSgnMHg0NGQnKStfMHgyNWRjNDMsXzB4MzcyZWYxKCcweDg5ZCcpLF8weDI4OGE5YSksKDB4MCxfMHgzZTA0YWRbJ2hleFplcm9QYWQnXSkoXzB4M2UxYmI0W18weDM3MmVmMSgnMHg5MDEnKV0oMHgxMDApWyd0b0hleFN0cmluZyddKCksMHgyMCk7fTt9fXtjb25zdCBfMHgxYzVjMWE9XzB4MjVkYzQzW18weDMzYmJlOCgnMHg0MjUnKV0oL15ieXRlcyhcZCspJC8pO2lmKF8weDFjNWMxYSl7Y29uc3QgXzB4MTY1N2VmPXBhcnNlSW50KF8weDFjNWMxYVsweDFdKTtyZXR1cm4oMHgwPT09XzB4MTY1N2VmfHxfMHgxNjU3ZWY+MHgyMHx8XzB4MWM1YzFhWzB4MV0hPT1TdHJpbmcoXzB4MTY1N2VmKSkmJl8weDU0NzIwY1tfMHgzM2JiZTgoJzB4NjM1JyldKF8weDMzYmJlOCgnMHhjZTAnKSxfMHgzM2JiZTgoJzB4NTdjJyksXzB4MjVkYzQzKSxmdW5jdGlvbihfMHgyNjNkNTMpe3ZhciBfMHg1ZTU4NjM9XzB4MzNiYmU4O3JldHVybigweDAsXzB4M2UwNGFkW18weDVlNTg2MygnMHhkMDYnKV0pKF8weDI2M2Q1MylbXzB4NWU1ODYzKCcweDUyMCcpXSE9PV8weDE2NTdlZiYmXzB4NTQ3MjBjW18weDVlNTg2MygnMHg2MzUnKV0oXzB4NWU1ODYzKCcweDNjYicpK18weDI1ZGM0MyxfMHg1ZTU4NjMoJzB4ODlkJyksXzB4MjYzZDUzKSxmdW5jdGlvbihfMHg1OWE4ZDUpe3ZhciBfMHgyMzVkZDU9XzB4NWU1ODYzO2NvbnN0IF8weDNhNGRjZD0oMHgwLF8weDNlMDRhZFsnYXJyYXlpZnknXSkoXzB4NTlhOGQ1KSxfMHg1YWZkOTI9XzB4M2E0ZGNkW18weDIzNWRkNSgnMHg1MjAnKV0lMHgyMDtyZXR1cm4gXzB4NWFmZDkyPygweDAsXzB4M2UwNGFkW18weDIzNWRkNSgnMHg3Y2UnKV0pKFtfMHgzYTRkY2QsXzB4Mzc4NGIwWydzbGljZSddKF8weDVhZmQ5MildKTooMHgwLF8weDNlMDRhZFtfMHgyMzVkZDUoJzB4MzU2JyldKShfMHgzYTRkY2QpO30oXzB4MjYzZDUzKTt9O319c3dpdGNoKF8weDI1ZGM0Myl7Y2FzZSdhZGRyZXNzJzpyZXR1cm4gZnVuY3Rpb24oXzB4Y2JkNGVjKXt2YXIgXzB4MWIzMjcxPV8weDMzYmJlODtyZXR1cm4oMHgwLF8weDNlMDRhZFtfMHgxYjMyNzEoJzB4NDIxJyldKSgoMHgwLF8weGRiM2ZjN1tfMHgxYjMyNzEoJzB4M2RmJyldKShfMHhjYmQ0ZWMpLDB4MjApO307Y2FzZSBfMHgzM2JiZTgoJzB4ZDA1Jyk6cmV0dXJuIGZ1bmN0aW9uKF8weDM4Yzg3Nyl7cmV0dXJuIF8weDM4Yzg3Nz9fMHhhNzRiNDA6XzB4NWI1MGQ1O307Y2FzZSBfMHgzM2JiZTgoJzB4NTJhJyk6cmV0dXJuIGZ1bmN0aW9uKF8weDQxZWQ2NSl7dmFyIF8weDIzN2M0ZD1fMHgzM2JiZTg7cmV0dXJuKDB4MCxfMHg0ODk1MzdbXzB4MjM3YzRkKCcweDU2MicpXSkoXzB4NDFlZDY1KTt9O2Nhc2UgXzB4MzNiYmU4KCcweDY1ZicpOnJldHVybiBmdW5jdGlvbihfMHgxNmY4OWEpe3JldHVybigweDAsXzB4NTFjYTA4WydpZCddKShfMHgxNmY4OWEpO307fXJldHVybiBudWxsO31mdW5jdGlvbiBfMHg1NWQ2MDAoXzB4ZjZjZmYyLF8weDFkMWQ1Yil7dmFyIF8weDEyMDhlNT1fMHg1MWY4Mjk7cmV0dXJuIF8weGY2Y2ZmMisnKCcrXzB4MWQxZDViW18weDEyMDhlNSgnMHgzYzknKV0oKHtuYW1lOl8weGEwNDYwOCx0eXBlOl8weDUxYzMyOH0pPT5fMHg1MWMzMjgrJ1x4MjAnK18weGEwNDYwOClbXzB4MTIwOGU1KCcweGFhNycpXSgnLCcpKycpJzt9Y2xhc3MgXzB4NWVlZTU3e2NvbnN0cnVjdG9yKF8weDU3MjNlKXt2YXIgXzB4NjQzNDQ2PV8weDUxZjgyOTsoMHgwLF8weDNjOWUzNVtfMHg2NDM0NDYoJzB4Y2U5JyldKSh0aGlzLF8weDY0MzQ0NignMHhiOTMnKSxPYmplY3RbJ2ZyZWV6ZSddKCgweDAsXzB4M2M5ZTM1W18weDY0MzQ0NignMHg4ODknKV0pKF8weDU3MjNlKSkpLCgweDAsXzB4M2M5ZTM1W18weDY0MzQ0NignMHhjZTknKV0pKHRoaXMsJ19lbmNvZGVyQ2FjaGUnLHt9KSwoMHgwLF8weDNjOWUzNVsnZGVmaW5lUmVhZE9ubHknXSkodGhpcyxfMHg2NDM0NDYoJzB4MzYxJykse30pO2NvbnN0IF8weDU1MmExMj17fSxfMHg1ODBmNTg9e30sXzB4M2RjZGY1PXt9O09iamVjdFsna2V5cyddKF8weDU3MjNlKVtfMHg2NDM0NDYoJzB4NTFlJyldKF8weDEzMmMxNz0+e18weDU1MmExMltfMHgxMzJjMTddPXt9LF8weDU4MGY1OFtfMHgxMzJjMTddPVtdLF8weDNkY2RmNVtfMHgxMzJjMTddPXt9O30pO2Zvcihjb25zdCBfMHg3MjlmMTggaW4gXzB4NTcyM2Upe2NvbnN0IF8weDE0NTdiYj17fTtfMHg1NzIzZVtfMHg3MjlmMThdWydmb3JFYWNoJ10oXzB4MTU2ZjMyPT57dmFyIF8weDFmMzBjOT1fMHg2NDM0NDY7XzB4MTQ1N2JiW18weDE1NmYzMltfMHgxZjMwYzkoJzB4YmM3JyldXSYmXzB4NTQ3MjBjW18weDFmMzBjOSgnMHg2MzUnKV0oXzB4MWYzMGM5KCcweGI3OScpK0pTT05bXzB4MWYzMGM5KCcweDMxZicpXShfMHgxNTZmMzJbJ25hbWUnXSkrJ1x4MjBpblx4MjAnK0pTT05bXzB4MWYzMGM5KCcweDMxZicpXShfMHg3MjlmMTgpLF8weDFmMzBjOSgnMHhiOTMnKSxfMHg1NzIzZSksXzB4MTQ1N2JiW18weDE1NmYzMltfMHgxZjMwYzkoJzB4YmM3JyldXT0hMHgwO2NvbnN0IF8weDM2NTgyOD1fMHgxNTZmMzJbXzB4MWYzMGM5KCcweDU3YycpXVsnbWF0Y2gnXSgvXihbXlx4NWJdKikoXHg1YnwkKS8pWzB4MV07XzB4MzY1ODI4PT09XzB4NzI5ZjE4JiZfMHg1NDcyMGNbXzB4MWYzMGM5KCcweDYzNScpXShfMHgxZjMwYzkoJzB4ODAyJykrSlNPTltfMHgxZjMwYzkoJzB4MzFmJyldKF8weDM2NTgyOCksXzB4MWYzMGM5KCcweGI5MycpLF8weDU3MjNlKSxfMHgxNjE0ZDcoXzB4MzY1ODI4KXx8KF8weDU4MGY1OFtfMHgzNjU4MjhdfHxfMHg1NDcyMGNbXzB4MWYzMGM5KCcweDYzNScpXShfMHgxZjMwYzkoJzB4YmI2JykrSlNPTlsnc3RyaW5naWZ5J10oXzB4MzY1ODI4KSxfMHgxZjMwYzkoJzB4YjkzJyksXzB4NTcyM2UpLF8weDU4MGY1OFtfMHgzNjU4MjhdWydwdXNoJ10oXzB4NzI5ZjE4KSxfMHg1NTJhMTJbXzB4NzI5ZjE4XVtfMHgzNjU4MjhdPSEweDApO30pO31jb25zdCBfMHgyMGFlZGU9T2JqZWN0W18weDY0MzQ0NignMHg2MzYnKV0oXzB4NTgwZjU4KVtfMHg2NDM0NDYoJzB4M2FiJyldKF8weDQ1M2Y2ZD0+MHgwPT09XzB4NTgwZjU4W18weDQ1M2Y2ZF1bXzB4NjQzNDQ2KCcweDUyMCcpXSk7MHgwPT09XzB4MjBhZWRlW18weDY0MzQ0NignMHg1MjAnKV0/XzB4NTQ3MjBjW18weDY0MzQ0NignMHg2MzUnKV0oXzB4NjQzNDQ2KCcweDYwNScpLF8weDY0MzQ0NignMHhiOTMnKSxfMHg1NzIzZSk6XzB4MjBhZWRlWydsZW5ndGgnXT4weDEmJl8weDU0NzIwY1tfMHg2NDM0NDYoJzB4NjM1JyldKF8weDY0MzQ0NignMHgyODgnKStfMHgyMGFlZGVbXzB4NjQzNDQ2KCcweDNjOScpXShfMHg1OTU2MTI9PkpTT05bXzB4NjQzNDQ2KCcweDMxZicpXShfMHg1OTU2MTIpKVtfMHg2NDM0NDYoJzB4YWE3JyldKCcsXHgyMCcpLF8weDY0MzQ0NignMHhiOTMnKSxfMHg1NzIzZSksKDB4MCxfMHgzYzllMzVbXzB4NjQzNDQ2KCcweGNlOScpXSkodGhpcyxfMHg2NDM0NDYoJzB4N2MwJyksXzB4MjBhZWRlWzB4MF0pLGZ1bmN0aW9uIF8weDI4M2MyOShfMHgzYmNlYTgsXzB4MTI0ZDU1KXt2YXIgXzB4MmY3YTZkPV8weDY0MzQ0NjtfMHgxMjRkNTVbXzB4M2JjZWE4XSYmXzB4NTQ3MjBjWyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHgyZjdhNmQoJzB4ODAyJykrSlNPTltfMHgyZjdhNmQoJzB4MzFmJyldKF8weDNiY2VhOCksJ3R5cGVzJyxfMHg1NzIzZSksXzB4MTI0ZDU1W18weDNiY2VhOF09ITB4MCxPYmplY3RbXzB4MmY3YTZkKCcweDYzNicpXShfMHg1NTJhMTJbXzB4M2JjZWE4XSlbXzB4MmY3YTZkKCcweDUxZScpXShfMHgzNmQ5MTE9Pnt2YXIgXzB4Mjg1ZDI5PV8weDJmN2E2ZDtfMHg1ODBmNThbXzB4MzZkOTExXSYmKF8weDI4M2MyOShfMHgzNmQ5MTEsXzB4MTI0ZDU1KSxPYmplY3RbXzB4Mjg1ZDI5KCcweDYzNicpXShfMHgxMjRkNTUpWydmb3JFYWNoJ10oXzB4MTgxYmY3PT57XzB4M2RjZGY1W18weDE4MWJmN11bXzB4MzZkOTExXT0hMHgwO30pKTt9KSxkZWxldGUgXzB4MTI0ZDU1W18weDNiY2VhOF07fSh0aGlzW18weDY0MzQ0NignMHg3YzAnKV0se30pO2Zvcihjb25zdCBfMHgzNGQ4NjcgaW4gXzB4M2RjZGY1KXtjb25zdCBfMHgzZGUwODg9T2JqZWN0W18weDY0MzQ0NignMHg2MzYnKV0oXzB4M2RjZGY1W18weDM0ZDg2N10pO18weDNkZTA4OFtfMHg2NDM0NDYoJzB4ZDU1JyldKCksdGhpc1tfMHg2NDM0NDYoJzB4MzYxJyldW18weDM0ZDg2N109XzB4NTVkNjAwKF8weDM0ZDg2NyxfMHg1NzIzZVtfMHgzNGQ4NjddKStfMHgzZGUwODhbXzB4NjQzNDQ2KCcweDNjOScpXShfMHgxMTc4NjE9Pl8weDU1ZDYwMChfMHgxMTc4NjEsXzB4NTcyM2VbXzB4MTE3ODYxXSkpWydqb2luJ10oJycpO319W18weDUxZjgyOSgnMHhjNmUnKV0oXzB4NDM2NmMzKXt2YXIgXzB4MWRiNjMyPV8weDUxZjgyOTtsZXQgXzB4NTZhNDI1PXRoaXNbJ19lbmNvZGVyQ2FjaGUnXVtfMHg0MzY2YzNdO3JldHVybiBfMHg1NmE0MjV8fChfMHg1NmE0MjU9dGhpc1tfMHgxZGI2MzIoJzB4YmUyJyldW18weDQzNjZjM109dGhpc1tfMHgxZGI2MzIoJzB4NGJhJyldKF8weDQzNjZjMykpLF8weDU2YTQyNTt9W18weDUxZjgyOSgnMHg0YmEnKV0oXzB4MTgxNzZjKXt2YXIgXzB4NjIyYjI4PV8weDUxZjgyOTt7Y29uc3QgXzB4NDI0NDFjPV8weDE2MTRkNyhfMHgxODE3NmMpO2lmKF8weDQyNDQxYylyZXR1cm4gXzB4NDI0NDFjO31jb25zdCBfMHg0OGY5ZDk9XzB4MTgxNzZjW18weDYyMmIyOCgnMHg0MjUnKV0oL14oLiopKFx4NWIoXGQqKVx4NWQpJC8pO2lmKF8weDQ4ZjlkOSl7Y29uc3QgXzB4NTZjNGUyPV8weDQ4ZjlkOVsweDFdLF8weDNlNTE4MT10aGlzW18weDYyMmIyOCgnMHhjNmUnKV0oXzB4NTZjNGUyKSxfMHgyNjk2NDE9cGFyc2VJbnQoXzB4NDhmOWQ5WzB4M10pO3JldHVybiBfMHg1ZDk5MjM9Pnt2YXIgXzB4NGI2NDE4PV8weDYyMmIyODtfMHgyNjk2NDE+PTB4MCYmXzB4NWQ5OTIzW18weDRiNjQxOCgnMHg1MjAnKV0hPT1fMHgyNjk2NDEmJl8weDU0NzIwY1tfMHg0YjY0MTgoJzB4NjM1JyldKCdhcnJheVx4MjBsZW5ndGhceDIwbWlzbWF0Y2g7XHgyMGV4cGVjdGVkXHgyMGxlbmd0aFx4MjAke1x4MjBhcnJheUxlbmd0aFx4MjB9JyxfMHg0YjY0MTgoJzB4ODlkJyksXzB4NWQ5OTIzKTtsZXQgXzB4MmNkMDBiPV8weDVkOTkyM1tfMHg0YjY0MTgoJzB4M2M5JyldKF8weDNlNTE4MSk7cmV0dXJuIHRoaXNbXzB4NGI2NDE4KCcweDM2MScpXVtfMHg1NmM0ZTJdJiYoXzB4MmNkMDBiPV8weDJjZDAwYltfMHg0YjY0MTgoJzB4M2M5JyldKF8weDQ4OTUzN1tfMHg0YjY0MTgoJzB4NTYyJyldKSksKDB4MCxfMHg0ODk1MzdbXzB4NGI2NDE4KCcweDU2MicpXSkoKDB4MCxfMHgzZTA0YWRbXzB4NGI2NDE4KCcweDdjZScpXSkoXzB4MmNkMDBiKSk7fTt9Y29uc3QgXzB4M2RlYjliPXRoaXNbJ3R5cGVzJ11bXzB4MTgxNzZjXTtpZihfMHgzZGViOWIpe2NvbnN0IF8weDJkZjIyZD0oMHgwLF8weDUxY2EwOFsnaWQnXSkodGhpc1tfMHg2MjJiMjgoJzB4MzYxJyldW18weDE4MTc2Y10pO3JldHVybiBfMHgxMWFiM2E9Pnt2YXIgXzB4MzJhNzU2PV8weDYyMmIyODtjb25zdCBfMHgxYTA3MzI9XzB4M2RlYjliW18weDMyYTc1NignMHgzYzknKV0oKHtuYW1lOl8weDNjZGVhZCx0eXBlOl8weDMwZWE2YX0pPT57dmFyIF8weGIxNWUzOT1fMHgzMmE3NTY7Y29uc3QgXzB4M2E5ZWYxPXRoaXNbXzB4YjE1ZTM5KCcweGM2ZScpXShfMHgzMGVhNmEpKF8weDExYWIzYVtfMHgzY2RlYWRdKTtyZXR1cm4gdGhpc1tfMHhiMTVlMzkoJzB4MzYxJyldW18weDMwZWE2YV0/KDB4MCxfMHg0ODk1MzdbXzB4YjE1ZTM5KCcweDU2MicpXSkoXzB4M2E5ZWYxKTpfMHgzYTllZjE7fSk7cmV0dXJuIF8weDFhMDczMlsndW5zaGlmdCddKF8weDJkZjIyZCksKDB4MCxfMHgzZTA0YWRbJ2hleENvbmNhdCddKShfMHgxYTA3MzIpO307fXJldHVybiBfMHg1NDcyMGNbXzB4NjIyYjI4KCcweDYzNScpXShfMHg2MjJiMjgoJzB4YWNhJykrXzB4MTgxNzZjLF8weDYyMmIyOCgnMHg1N2MnKSxfMHgxODE3NmMpO31bXzB4NTFmODI5KCcweDllNycpXShfMHgyYTA5YjEpe3ZhciBfMHg4MTkxNj1fMHg1MWY4Mjk7Y29uc3QgXzB4MzkyNDEyPXRoaXNbXzB4ODE5MTYoJzB4MzYxJyldW18weDJhMDliMV07cmV0dXJuIF8weDM5MjQxMnx8XzB4NTQ3MjBjW18weDgxOTE2KCcweDYzNScpXShfMHg4MTkxNignMHhhY2EnKStKU09OW18weDgxOTE2KCcweDMxZicpXShfMHgyYTA5YjEpLF8weDgxOTE2KCcweGJjNycpLF8weDJhMDliMSksXzB4MzkyNDEyO31bXzB4NTFmODI5KCcweDFlMScpXShfMHgxNjg0MzIsXzB4NTE5NDlmKXt2YXIgXzB4MzAwMjEzPV8weDUxZjgyOTtyZXR1cm4gdGhpc1tfMHgzMDAyMTMoJzB4YzZlJyldKF8weDE2ODQzMikoXzB4NTE5NDlmKTt9W18weDUxZjgyOSgnMHgyZDMnKV0oXzB4MjI3Njk2LF8weDFkNTk1Yyl7dmFyIF8weDNhNjM1Nz1fMHg1MWY4Mjk7cmV0dXJuKDB4MCxfMHg0ODk1MzdbXzB4M2E2MzU3KCcweDU2MicpXSkodGhpc1tfMHgzYTYzNTcoJzB4MWUxJyldKF8weDIyNzY5NixfMHgxZDU5NWMpKTt9WydlbmNvZGUnXShfMHgyZmMwNjcpe3ZhciBfMHgyYzJjZjg9XzB4NTFmODI5O3JldHVybiB0aGlzW18weDJjMmNmOCgnMHgxZTEnKV0odGhpc1tfMHgyYzJjZjgoJzB4N2MwJyldLF8weDJmYzA2Nyk7fVtfMHg1MWY4MjkoJzB4MmU0JyldKF8weDJkOWRmYSl7dmFyIF8weGIzMTlmMj1fMHg1MWY4Mjk7cmV0dXJuIHRoaXNbXzB4YjMxOWYyKCcweDJkMycpXSh0aGlzW18weGIzMTlmMignMHg3YzAnKV0sXzB4MmQ5ZGZhKTt9WydfdmlzaXQnXShfMHgxNmVjNTUsXzB4MTllMDg2LF8weDM2NmU0NSl7dmFyIF8weDQ3MGU4Yj1fMHg1MWY4Mjk7aWYoXzB4MTYxNGQ3KF8weDE2ZWM1NSkpcmV0dXJuIF8weDM2NmU0NShfMHgxNmVjNTUsXzB4MTllMDg2KTtjb25zdCBfMHgxNzBiOGE9XzB4MTZlYzU1W18weDQ3MGU4YignMHg0MjUnKV0oL14oLiopKFx4NWIoXGQqKVx4NWQpJC8pO2lmKF8weDE3MGI4YSl7Y29uc3QgXzB4OGI3ZGU4PV8weDE3MGI4YVsweDFdLF8weDJjMTNlOT1wYXJzZUludChfMHgxNzBiOGFbMHgzXSk7cmV0dXJuIF8weDJjMTNlOT49MHgwJiZfMHgxOWUwODZbJ2xlbmd0aCddIT09XzB4MmMxM2U5JiZfMHg1NDcyMGNbXzB4NDcwZThiKCcweDYzNScpXShfMHg0NzBlOGIoJzB4YTg0JyksXzB4NDcwZThiKCcweDg5ZCcpLF8weDE5ZTA4NiksXzB4MTllMDg2WydtYXAnXShfMHgzY2I0NjM9PnRoaXNbXzB4NDcwZThiKCcweGFjMycpXShfMHg4YjdkZTgsXzB4M2NiNDYzLF8weDM2NmU0NSkpO31jb25zdCBfMHg0MmQwMWI9dGhpc1tfMHg0NzBlOGIoJzB4YjkzJyldW18weDE2ZWM1NV07cmV0dXJuIF8weDQyZDAxYj9fMHg0MmQwMWJbJ3JlZHVjZSddKChfMHgyYzExZjgse25hbWU6XzB4MWE4YTA1LHR5cGU6XzB4NTc3MWJmfSk9PihfMHgyYzExZjhbXzB4MWE4YTA1XT10aGlzWydfdmlzaXQnXShfMHg1NzcxYmYsXzB4MTllMDg2W18weDFhOGEwNV0sXzB4MzY2ZTQ1KSxfMHgyYzExZjgpLHt9KTpfMHg1NDcyMGNbXzB4NDcwZThiKCcweDYzNScpXShfMHg0NzBlOGIoJzB4YWNhJykrXzB4MTZlYzU1LF8weDQ3MGU4YignMHg1N2MnKSxfMHgxNmVjNTUpO31bXzB4NTFmODI5KCcweDk0MCcpXShfMHgyNjlmZmIsXzB4NGYyNmRmKXt2YXIgXzB4M2Q0MmFmPV8weDUxZjgyOTtyZXR1cm4gdGhpc1tfMHgzZDQyYWYoJzB4YWMzJyldKHRoaXNbXzB4M2Q0MmFmKCcweDdjMCcpXSxfMHgyNjlmZmIsXzB4NGYyNmRmKTt9c3RhdGljW18weDUxZjgyOSgnMHgyNTInKV0oXzB4M2NlZWJiKXtyZXR1cm4gbmV3IF8weDVlZWU1NyhfMHgzY2VlYmIpO31zdGF0aWNbXzB4NTFmODI5KCcweDU2MycpXShfMHgyYWUxOTEpe3ZhciBfMHg5ZDM1NjY9XzB4NTFmODI5O3JldHVybiBfMHg1ZWVlNTdbXzB4OWQzNTY2KCcweDI1MicpXShfMHgyYWUxOTEpWydwcmltYXJ5VHlwZSddO31zdGF0aWNbXzB4NTFmODI5KCcweDJkMycpXShfMHg0ZThlMzUsXzB4MTNjMjU2LF8weDM5MWFiYSl7dmFyIF8weDEwNDlhZD1fMHg1MWY4Mjk7cmV0dXJuIF8weDVlZWU1N1tfMHgxMDQ5YWQoJzB4MjUyJyldKF8weDEzYzI1NilbXzB4MTA0OWFkKCcweDJkMycpXShfMHg0ZThlMzUsXzB4MzkxYWJhKTt9c3RhdGljW18weDUxZjgyOSgnMHg4ZmEnKV0oXzB4NWQ3MGM0KXt2YXIgXzB4M2VlYTI5PV8weDUxZjgyOTtjb25zdCBfMHg0MDUzMmM9W107Zm9yKGNvbnN0IF8weDNkYTQ4OSBpbiBfMHg1ZDcwYzQpe2NvbnN0IF8weDJjNGVlOT1fMHgzMThjZjNbXzB4M2RhNDg5XTtfMHgyYzRlZTl8fF8weDU0NzIwY1tfMHgzZWVhMjkoJzB4NjM1JyldKF8weDNlZWEyOSgnMHgzNDInKStKU09OW18weDNlZWEyOSgnMHgzMWYnKV0oXzB4M2RhNDg5KSwnZG9tYWluJyxfMHg1ZDcwYzQpLF8weDQwNTMyY1tfMHgzZWVhMjkoJzB4OGI3JyldKHsnbmFtZSc6XzB4M2RhNDg5LCd0eXBlJzpfMHgyYzRlZTl9KTt9cmV0dXJuIF8weDQwNTMyY1tfMHgzZWVhMjkoJzB4ZDU1JyldKChfMHg2NGNmZGQsXzB4M2MxODU1KT0+XzB4NTI3YmVkWydpbmRleE9mJ10oXzB4NjRjZmRkW18weDNlZWEyOSgnMHhiYzcnKV0pLV8weDUyN2JlZFtfMHgzZWVhMjkoJzB4YWMwJyldKF8weDNjMTg1NVtfMHgzZWVhMjkoJzB4YmM3JyldKSksXzB4NWVlZTU3W18weDNlZWEyOSgnMHgyZDMnKV0oJ0VJUDcxMkRvbWFpbicseydFSVA3MTJEb21haW4nOl8weDQwNTMyY30sXzB4NWQ3MGM0KTt9c3RhdGljW18weDUxZjgyOSgnMHhhNTEnKV0oXzB4MTNhNjhjLF8weDNlMTNiMyxfMHg1NzA3YmIpe3ZhciBfMHgxYTgwYTk9XzB4NTFmODI5O3JldHVybigweDAsXzB4M2UwNGFkW18weDFhODBhOSgnMHg3Y2UnKV0pKFtfMHgxYTgwYTkoJzB4YzdkJyksXzB4NWVlZTU3WydoYXNoRG9tYWluJ10oXzB4MTNhNjhjKSxfMHg1ZWVlNTdbXzB4MWE4MGE5KCcweDI1MicpXShfMHgzZTEzYjMpWydoYXNoJ10oXzB4NTcwN2JiKV0pO31zdGF0aWNbXzB4NTFmODI5KCcweDJlNCcpXShfMHgyZDc0MzYsXzB4Mjk0Nzc0LF8weDRmNjY5Nil7cmV0dXJuKDB4MCxfMHg0ODk1MzdbJ2tlY2NhazI1NiddKShfMHg1ZWVlNTdbJ2VuY29kZSddKF8weDJkNzQzNixfMHgyOTQ3NzQsXzB4NGY2Njk2KSk7fXN0YXRpY1tfMHg1MWY4MjkoJzB4NDMzJyldKF8weDdhNTUyOCxfMHg1MTYzODcsXzB4NTY0YmJkLF8weDU1ZmY4ZCl7cmV0dXJuIF8weDEyYzBjNT10aGlzLF8weDNmZGY3Mj12b2lkIDB4MCxfMHgyN2VhZjI9ZnVuY3Rpb24qKCl7dmFyIF8weDNiMGNhOT1fMHgxNWEzO18weDdhNTUyOD0oMHgwLF8weDNjOWUzNVtfMHgzYjBjYTkoJzB4OGQ5JyldKShfMHg3YTU1MjgpO2NvbnN0IF8weDIxOTllMz17fTtfMHg3YTU1MjhbXzB4M2IwY2E5KCcweDJkOScpXSYmISgweDAsXzB4M2UwNGFkW18weDNiMGNhOSgnMHhiNjEnKV0pKF8weDdhNTUyOFtfMHgzYjBjYTkoJzB4MmQ5JyldLDB4MTQpJiYoXzB4MjE5OWUzW18weDdhNTUyOFtfMHgzYjBjYTkoJzB4MmQ5JyldXT0nMHgnKTtjb25zdCBfMHgxMjZiMWI9XzB4NWVlZTU3Wydmcm9tJ10oXzB4NTE2Mzg3KTtfMHgxMjZiMWJbXzB4M2IwY2E5KCcweDk0MCcpXShfMHg1NjRiYmQsKF8weDIwZmU1OSxfMHgzNmUxMTEpPT4oXzB4M2IwY2E5KCcweDFkMScpIT09XzB4MjBmZTU5fHwoMHgwLF8weDNlMDRhZFtfMHgzYjBjYTkoJzB4YjYxJyldKShfMHgzNmUxMTEsMHgxNCl8fChfMHgyMTk5ZTNbXzB4MzZlMTExXT0nMHgnKSxfMHgzNmUxMTEpKTtmb3IoY29uc3QgXzB4Mzg5ZGVmIGluIF8weDIxOTllMylfMHgyMTk5ZTNbXzB4Mzg5ZGVmXT15aWVsZCBfMHg1NWZmOGQoXzB4Mzg5ZGVmKTtyZXR1cm4gXzB4N2E1NTI4W18weDNiMGNhOSgnMHgyZDknKV0mJl8weDIxOTllM1tfMHg3YTU1MjhbXzB4M2IwY2E5KCcweDJkOScpXV0mJihfMHg3YTU1MjhbXzB4M2IwY2E5KCcweDJkOScpXT1fMHgyMTk5ZTNbXzB4N2E1NTI4W18weDNiMGNhOSgnMHgyZDknKV1dKSxfMHg1NjRiYmQ9XzB4MTI2YjFiW18weDNiMGNhOSgnMHg5NDAnKV0oXzB4NTY0YmJkLChfMHgzNGFkY2UsXzB4MjhhZjRhKT0+XzB4M2IwY2E5KCcweDFkMScpPT09XzB4MzRhZGNlJiZfMHgyMTk5ZTNbXzB4MjhhZjRhXT9fMHgyMTk5ZTNbXzB4MjhhZjRhXTpfMHgyOGFmNGEpLHsnZG9tYWluJzpfMHg3YTU1MjgsJ3ZhbHVlJzpfMHg1NjRiYmR9O30sbmV3KChfMHg0YzNlMjI9dm9pZCAweDApfHwoXzB4NGMzZTIyPVByb21pc2UpKShmdW5jdGlvbihfMHgzNmQ1ZWYsXzB4MWNhMzdmKXt2YXIgXzB4MWY3YmUwPV8weDE1YTM7ZnVuY3Rpb24gXzB4NTg2OGZkKF8weDNjNDAzZSl7dmFyIF8weDRkYzJiYj1fMHgxNWEzO3RyeXtfMHg0NGVhN2UoXzB4MjdlYWYyW18weDRkYzJiYignMHg3NDAnKV0oXzB4M2M0MDNlKSk7fWNhdGNoKF8weDQwNGQ1YSl7XzB4MWNhMzdmKF8weDQwNGQ1YSk7fX1mdW5jdGlvbiBfMHgxNzQ5YTEoXzB4MjcyOGRlKXt2YXIgXzB4MjIyYmIxPV8weDE1YTM7dHJ5e18weDQ0ZWE3ZShfMHgyN2VhZjJbXzB4MjIyYmIxKCcweGFlMycpXShfMHgyNzI4ZGUpKTt9Y2F0Y2goXzB4MjBjNTg1KXtfMHgxY2EzN2YoXzB4MjBjNTg1KTt9fWZ1bmN0aW9uIF8weDQ0ZWE3ZShfMHgzM2JmODEpe3ZhciBfMHg1YTY0ZjA9XzB4MTVhMyxfMHgzNWFiNzA7XzB4MzNiZjgxW18weDVhNjRmMCgnMHhjNWMnKV0/XzB4MzZkNWVmKF8weDMzYmY4MVtfMHg1YTY0ZjAoJzB4ODlkJyldKTooXzB4MzVhYjcwPV8weDMzYmY4MVsndmFsdWUnXSxfMHgzNWFiNzAgaW5zdGFuY2VvZiBfMHg0YzNlMjI/XzB4MzVhYjcwOm5ldyBfMHg0YzNlMjIoZnVuY3Rpb24oXzB4NGJmYzZkKXtfMHg0YmZjNmQoXzB4MzVhYjcwKTt9KSlbXzB4NWE2NGYwKCcweGQzNCcpXShfMHg1ODY4ZmQsXzB4MTc0OWExKTt9XzB4NDRlYTdlKChfMHgyN2VhZjI9XzB4MjdlYWYyW18weDFmN2JlMCgnMHg0NDInKV0oXzB4MTJjMGM1LF8weDNmZGY3Mnx8W10pKVsnbmV4dCddKCkpO30pO3ZhciBfMHgxMmMwYzUsXzB4M2ZkZjcyLF8weDRjM2UyMixfMHgyN2VhZjI7fXN0YXRpY1tfMHg1MWY4MjkoJzB4YTlmJyldKF8weDMyOTcwZCxfMHgzZWMxNWEsXzB4MzY1YWEzKXt2YXIgXzB4YmFkNDI2PV8weDUxZjgyOTtfMHg1ZWVlNTdbXzB4YmFkNDI2KCcweDhmYScpXShfMHgzMjk3MGQpO2NvbnN0IF8weDM4N2YxMD17fSxfMHgyZTQ5ZTQ9W107XzB4NTI3YmVkWydmb3JFYWNoJ10oXzB4MzVlZDE3PT57Y29uc3QgXzB4MmIxNzhlPV8weDMyOTcwZFtfMHgzNWVkMTddO251bGwhPV8weDJiMTc4ZSYmKF8weDM4N2YxMFtfMHgzNWVkMTddPV8weDEyNjY0NltfMHgzNWVkMTddKF8weDJiMTc4ZSksXzB4MmU0OWU0WydwdXNoJ10oeyduYW1lJzpfMHgzNWVkMTcsJ3R5cGUnOl8weDMxOGNmM1tfMHgzNWVkMTddfSkpO30pO2NvbnN0IF8weDFkMTE3Yz1fMHg1ZWVlNTdbXzB4YmFkNDI2KCcweDI1MicpXShfMHgzZWMxNWEpLF8weDRhYzk4Yz0oMHgwLF8weDNjOWUzNVtfMHhiYWQ0MjYoJzB4OGQ5JyldKShfMHgzZWMxNWEpO3JldHVybiBfMHg0YWM5OGNbJ0VJUDcxMkRvbWFpbiddP18weDU0NzIwY1tfMHhiYWQ0MjYoJzB4NjM1JyldKF8weGJhZDQyNignMHgxZGYnKSxfMHhiYWQ0MjYoJzB4NzFiJyksXzB4M2VjMTVhKTpfMHg0YWM5OGNbJ0VJUDcxMkRvbWFpbiddPV8weDJlNDllNCxfMHgxZDExN2NbXzB4YmFkNDI2KCcweGE1MScpXShfMHgzNjVhYTMpLHsndHlwZXMnOl8weDRhYzk4YywnZG9tYWluJzpfMHgzODdmMTAsJ3ByaW1hcnlUeXBlJzpfMHgxZDExN2NbJ3ByaW1hcnlUeXBlJ10sJ21lc3NhZ2UnOl8weDFkMTE3Y1tfMHhiYWQ0MjYoJzB4OTQwJyldKF8weDM2NWFhMywoXzB4M2UwYjRiLF8weDI2YmM4ZSk9Pnt2YXIgXzB4NGQyNmJmPV8weGJhZDQyNjtpZihfMHgzZTBiNGJbJ21hdGNoJ10oL15ieXRlcyhcZCopLykpcmV0dXJuKDB4MCxfMHgzZTA0YWRbXzB4NGQyNmJmKCcweDM1NicpXSkoKDB4MCxfMHgzZTA0YWRbXzB4NGQyNmJmKCcweGQwNicpXSkoXzB4MjZiYzhlKSk7aWYoXzB4M2UwYjRiW18weDRkMjZiZignMHg0MjUnKV0oL151P2ludC8pKXJldHVybiBfMHgzZjZmMjlbJ08kJ11bXzB4NGQyNmJmKCcweDI1MicpXShfMHgyNmJjOGUpW18weDRkMjZiZignMHg1NDcnKV0oKTtzd2l0Y2goXzB4M2UwYjRiKXtjYXNlJ2FkZHJlc3MnOnJldHVybiBfMHgyNmJjOGVbXzB4NGQyNmJmKCcweDg3MCcpXSgpO2Nhc2UnYm9vbCc6cmV0dXJuISFfMHgyNmJjOGU7Y2FzZSdzdHJpbmcnOnJldHVybiBfMHg0ZDI2YmYoJzB4NjVmJykhPXR5cGVvZiBfMHgyNmJjOGUmJl8weDU0NzIwY1tfMHg0ZDI2YmYoJzB4NjM1JyldKCdpbnZhbGlkXHgyMHN0cmluZycsXzB4NGQyNmJmKCcweDg5ZCcpLF8weDI2YmM4ZSksXzB4MjZiYzhlO31yZXR1cm4gXzB4NTQ3MjBjWyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHg0ZDI2YmYoJzB4NmFmJyksXzB4NGQyNmJmKCcweDU3YycpLF8weDNlMGI0Yik7fSl9O319fSwweDE4ODI6KF8weDM2Mzg5NixfMHg1NDI5YmIsXzB4NTUzMDk2KT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4NTYyMmJjPV8weDE1YTM7XzB4NTUzMDk2WydyJ10oXzB4NTQyOWJiKSxfMHg1NTMwOTZbJ2QnXShfMHg1NDI5YmIseydIRE5vZGUnOigpPT5fMHg0MDA5MmUsJ2RlZmF1bHRQYXRoJzooKT0+XzB4NWQ4MmQ1LCdlbnRyb3B5VG9NbmVtb25pYyc6KCk9Pl8weDI3YjY4NywnZ2V0QWNjb3VudFBhdGgnOigpPT5fMHgzYTc4OTIsJ2lzVmFsaWRNbmVtb25pYyc6KCk9Pl8weDRlNzc1ZSwnbW5lbW9uaWNUb0VudHJvcHknOigpPT5fMHg0NGU3MmYsJ21uZW1vbmljVG9TZWVkJzooKT0+XzB4NGMyMjJhfSk7dmFyIF8weDJiNjdkYj1fMHg1NTMwOTYoMHgxZTJmKSxfMHg0OWUzNTg9XzB4NTUzMDk2KDB4Y2Q2KSxfMHg0YTI4NzQ9XzB4NTUzMDk2KDB4YTIxKSxfMHg1NzM3ZmE9XzB4NTUzMDk2KDB4MTA5MiksXzB4NWJlY2IwPV8weDU1MzA5NigweDE0YmEpLF8weDE5MjVlNj1fMHg1NTMwOTYoMHhlMDMpLF8weDJkMGFiMz1fMHg1NTMwOTYoMHhhZDApLF8weDRkMDkxMD1fMHg1NTMwOTYoMHhmNmYpLF8weDFlNDAzNj1fMHg1NTMwOTYoMHg0ZWQpLF8weDU5MjdkNT1fMHg1NTMwOTYoMHgxMTE5KSxfMHgxMzc0NzU9XzB4NTUzMDk2KDB4MjY3Zik7Y29uc3QgXzB4MzgzYjZhPW5ldyhfMHg1NTMwOTYoMHgyYzcpKVsoXzB4NTYyMmJjKCcweGNlNycpKV0oXzB4NTYyMmJjKCcweDgwZScpKSxfMHgzN2NlMTQ9XzB4NGEyODc0WydPJCddW18weDU2MjJiYygnMHgyNTInKV0oXzB4NTYyMmJjKCcweDhlMCcpKSxfMHg0Y2U4YmM9KDB4MCxfMHg1NzM3ZmFbJ1kwJ10pKF8weDU2MjJiYygnMHg0MzgnKSksXzB4NDRlN2Y0PTB4ODAwMDAwMDA7ZnVuY3Rpb24gXzB4NjljZWIoXzB4MTg3NDVkKXtyZXR1cm4oMHgxPDxfMHgxODc0NWQpLTB4MTw8MHg4LV8weDE4NzQ1ZDt9ZnVuY3Rpb24gXzB4NTQyNTIyKF8weDQzOTM1ZSl7dmFyIF8weGU3YjM3ZD1fMHg1NjIyYmM7cmV0dXJuKDB4MCxfMHg0OWUzNThbJ2hleFplcm9QYWQnXSkoKDB4MCxfMHg0OWUzNThbXzB4ZTdiMzdkKCcweDM1NicpXSkoXzB4NDM5MzVlKSwweDIwKTt9ZnVuY3Rpb24gXzB4MTZkYTYyKF8weDI1YzI5YSl7dmFyIF8weDI1NGY0Yj1fMHg1NjIyYmM7cmV0dXJuIF8weDJiNjdkYltfMHgyNTRmNGIoJzB4YzkxJyldW18weDI1NGY0YignMHhhNTEnKV0oKDB4MCxfMHg0OWUzNThbXzB4MjU0ZjRiKCcweDUzMCcpXSkoW18weDI1YzI5YSwoMHgwLF8weDQ5ZTM1OFtfMHgyNTRmNGIoJzB4ODExJyldKSgoMHgwLF8weDRkMDkxMFsnSlEnXSkoKDB4MCxfMHg0ZDA5MTBbJ0pRJ10pKF8weDI1YzI5YSkpLDB4MCwweDQpXSkpO31mdW5jdGlvbiBfMHg1ZjE2MjAoXzB4MWE3NTc1KXt2YXIgXzB4NGM0MTM1PV8weDU2MjJiYztpZihudWxsPT1fMHgxYTc1NzUpcmV0dXJuIF8weDEzNzQ3NVsnRSddWydlbiddO2lmKCdzdHJpbmcnPT10eXBlb2YgXzB4MWE3NTc1KXtjb25zdCBfMHgyYmM1ZWU9XzB4MTM3NDc1WydFJ11bXzB4MWE3NTc1XTtyZXR1cm4gbnVsbD09XzB4MmJjNWVlJiZfMHgzODNiNmFbXzB4NGM0MTM1KCcweDYzNScpXShfMHg0YzQxMzUoJzB4Y2I1JyksJ3dvcmRsaXN0JyxfMHgxYTc1NzUpLF8weDJiYzVlZTt9cmV0dXJuIF8weDFhNzU3NTt9Y29uc3QgXzB4MTc1OWQ3PXt9LF8weDVkODJkNT1fMHg1NjIyYmMoJzB4YzQyJyk7Y2xhc3MgXzB4NDAwOTJle2NvbnN0cnVjdG9yKF8weDE0MWQzZSxfMHg0ZTg3ODgsXzB4NWY0YTk5LF8weDE2OTgzZSxfMHgzMzExMTUsXzB4MWZiNWY1LF8weDRiYWFiNixfMHgzMGJkY2Upe3ZhciBfMHgxODVmMzg9XzB4NTYyMmJjO2lmKF8weDE0MWQzZSE9PV8weDE3NTlkNyl0aHJvdyBuZXcgRXJyb3IoXzB4MTg1ZjM4KCcweGE2NicpKTtpZihfMHg0ZTg3ODgpe2NvbnN0IF8weDRkNmRiZj1uZXcgXzB4MmQwYWIzWydTaWduaW5nS2V5J10oXzB4NGU4Nzg4KTsoMHgwLF8weDE5MjVlNltfMHgxODVmMzgoJzB4Y2U5JyldKSh0aGlzLF8weDE4NWYzOCgnMHg2YmInKSxfMHg0ZDZkYmZbJ3ByaXZhdGVLZXknXSksKDB4MCxfMHgxOTI1ZTZbXzB4MTg1ZjM4KCcweGNlOScpXSkodGhpcywncHVibGljS2V5JyxfMHg0ZDZkYmZbXzB4MTg1ZjM4KCcweDNkMycpXSk7fWVsc2UoMHgwLF8weDE5MjVlNltfMHgxODVmMzgoJzB4Y2U5JyldKSh0aGlzLF8weDE4NWYzOCgnMHg2YmInKSxudWxsKSwoMHgwLF8weDE5MjVlNltfMHgxODVmMzgoJzB4Y2U5JyldKSh0aGlzLF8weDE4NWYzOCgnMHg3YmUnKSwoMHgwLF8weDQ5ZTM1OFsnaGV4bGlmeSddKShfMHg1ZjRhOTkpKTsoMHgwLF8weDE5MjVlNlsnZGVmaW5lUmVhZE9ubHknXSkodGhpcyxfMHgxODVmMzgoJzB4MzI0JyksXzB4MTY5ODNlKSwoMHgwLF8weDE5MjVlNlsnZGVmaW5lUmVhZE9ubHknXSkodGhpcyxfMHgxODVmMzgoJzB4NDNlJyksKDB4MCxfMHg0OWUzNThbXzB4MTg1ZjM4KCcweDgxMScpXSkoKDB4MCxfMHg0ZDA5MTBbJ2JQJ10pKCgweDAsXzB4NGQwOTEwWydKUSddKSh0aGlzWydwdWJsaWNLZXknXSkpLDB4MCwweDQpKSwoMHgwLF8weDE5MjVlNltfMHgxODVmMzgoJzB4Y2U5JyldKSh0aGlzLF8weDE4NWYzOCgnMHgxZDEnKSwoMHgwLF8weDU5MjdkNVtfMHgxODVmMzgoJzB4NTgyJyldKSh0aGlzW18weDE4NWYzOCgnMHg3YmUnKV0pKSwoMHgwLF8weDE5MjVlNltfMHgxODVmMzgoJzB4Y2U5JyldKSh0aGlzLCdjaGFpbkNvZGUnLF8weDMzMTExNSksKDB4MCxfMHgxOTI1ZTZbJ2RlZmluZVJlYWRPbmx5J10pKHRoaXMsXzB4MTg1ZjM4KCcweGI1ZScpLF8weDFmYjVmNSksKDB4MCxfMHgxOTI1ZTZbJ2RlZmluZVJlYWRPbmx5J10pKHRoaXMsJ2RlcHRoJyxfMHg0YmFhYjYpLG51bGw9PV8weDMwYmRjZT8oKDB4MCxfMHgxOTI1ZTZbJ2RlZmluZVJlYWRPbmx5J10pKHRoaXMsXzB4MTg1ZjM4KCcweDhlYicpLG51bGwpLCgweDAsXzB4MTkyNWU2W18weDE4NWYzOCgnMHhjZTknKV0pKHRoaXMsXzB4MTg1ZjM4KCcweGIyOScpLG51bGwpKTonc3RyaW5nJz09dHlwZW9mIF8weDMwYmRjZT8oKDB4MCxfMHgxOTI1ZTZbXzB4MTg1ZjM4KCcweGNlOScpXSkodGhpcyxfMHgxODVmMzgoJzB4OGViJyksbnVsbCksKDB4MCxfMHgxOTI1ZTZbJ2RlZmluZVJlYWRPbmx5J10pKHRoaXMsXzB4MTg1ZjM4KCcweGIyOScpLF8weDMwYmRjZSkpOigoMHgwLF8weDE5MjVlNltfMHgxODVmMzgoJzB4Y2U5JyldKSh0aGlzLF8weDE4NWYzOCgnMHg4ZWInKSxfMHgzMGJkY2UpLCgweDAsXzB4MTkyNWU2WydkZWZpbmVSZWFkT25seSddKSh0aGlzLF8weDE4NWYzOCgnMHhiMjknKSxfMHgzMGJkY2VbXzB4MTg1ZjM4KCcweGIyOScpXSkpO31nZXRbXzB4NTYyMmJjKCcweDJkYScpXSgpe3ZhciBfMHg0OWYwYTA9XzB4NTYyMmJjO2lmKHRoaXNbXzB4NDlmMGEwKCcweGNkOCcpXT49MHgxMDApdGhyb3cgbmV3IEVycm9yKF8weDQ5ZjBhMCgnMHg4NmMnKSk7cmV0dXJuIF8weDE2ZGE2MigoMHgwLF8weDQ5ZTM1OFtfMHg0OWYwYTAoJzB4NTMwJyldKShbbnVsbCE9dGhpc1tfMHg0OWYwYTAoJzB4NmJiJyldPycweDA0ODhBREU0JzpfMHg0OWYwYTAoJzB4YjRhJyksKDB4MCxfMHg0OWUzNThbJ2hleGxpZnknXSkodGhpc1tfMHg0OWYwYTAoJzB4Y2Q4JyldKSx0aGlzWydwYXJlbnRGaW5nZXJwcmludCddLCgweDAsXzB4NDllMzU4W18weDQ5ZjBhMCgnMHg0MjEnKV0pKCgweDAsXzB4NDllMzU4W18weDQ5ZjBhMCgnMHgzNTYnKV0pKHRoaXNbXzB4NDlmMGEwKCcweGI1ZScpXSksMHg0KSx0aGlzWydjaGFpbkNvZGUnXSxudWxsIT10aGlzW18weDQ5ZjBhMCgnMHg2YmInKV0/KDB4MCxfMHg0OWUzNThbJ2NvbmNhdCddKShbXzB4NDlmMGEwKCcweDU3MicpLHRoaXNbJ3ByaXZhdGVLZXknXV0pOnRoaXNbJ3B1YmxpY0tleSddXSkpO31bXzB4NTYyMmJjKCcweGIwNicpXSgpe3ZhciBfMHgxZmU4MDI9XzB4NTYyMmJjO3JldHVybiBuZXcgXzB4NDAwOTJlKF8weDE3NTlkNyxudWxsLHRoaXNbXzB4MWZlODAyKCcweDdiZScpXSx0aGlzW18weDFmZTgwMignMHgzMjQnKV0sdGhpc1tfMHgxZmU4MDIoJzB4Mzc0JyldLHRoaXNbXzB4MWZlODAyKCcweGI1ZScpXSx0aGlzW18weDFmZTgwMignMHhjZDgnKV0sdGhpc1sncGF0aCddKTt9W18weDU2MjJiYygnMHhiYmInKV0oXzB4MTA1NTQxKXt2YXIgXzB4MmI4M2ZjPV8weDU2MjJiYztpZihfMHgxMDU1NDE+MHhmZmZmZmZmZil0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWRceDIwaW5kZXhceDIwLVx4MjAnK1N0cmluZyhfMHgxMDU1NDEpKTtsZXQgXzB4MTcyYTZiPXRoaXNbXzB4MmI4M2ZjKCcweGIyOScpXTtfMHgxNzJhNmImJihfMHgxNzJhNmIrPScvJysoXzB4MTA1NTQxJn5fMHg0NGU3ZjQpKTtjb25zdCBfMHgyYWNlNjM9bmV3IFVpbnQ4QXJyYXkoMHgyNSk7aWYoXzB4MTA1NTQxJl8weDQ0ZTdmNCl7aWYoIXRoaXNbXzB4MmI4M2ZjKCcweDZiYicpXSl0aHJvdyBuZXcgRXJyb3IoXzB4MmI4M2ZjKCcweDUxYicpKTtfMHgyYWNlNjNbXzB4MmI4M2ZjKCcweGNhYycpXSgoMHgwLF8weDQ5ZTM1OFtfMHgyYjgzZmMoJzB4ZDA2JyldKSh0aGlzW18weDJiODNmYygnMHg2YmInKV0pLDB4MSksXzB4MTcyYTZiJiYoXzB4MTcyYTZiKz0nXHgyNycpO31lbHNlIF8weDJhY2U2M1snc2V0J10oKDB4MCxfMHg0OWUzNThbXzB4MmI4M2ZjKCcweGQwNicpXSkodGhpc1sncHVibGljS2V5J10pKTtmb3IobGV0IF8weDNkMDU1Nj0weDE4O18weDNkMDU1Nj49MHgwO18weDNkMDU1Ni09MHg4KV8weDJhY2U2M1sweDIxKyhfMHgzZDA1NTY+PjB4MyldPV8weDEwNTU0MT4+MHgxOC1fMHgzZDA1NTYmMHhmZjtjb25zdCBfMHgxZTE1MWM9KDB4MCxfMHg0OWUzNThbXzB4MmI4M2ZjKCcweGQwNicpXSkoKDB4MCxfMHg0ZDA5MTBbJ0d5J10pKF8weDFlNDAzNlsncCddW18weDJiODNmYygnMHhjNmInKV0sdGhpc1snY2hhaW5Db2RlJ10sXzB4MmFjZTYzKSksXzB4MzdjNTViPV8weDFlMTUxY1tfMHgyYjgzZmMoJzB4YWRhJyldKDB4MCwweDIwKSxfMHg3ZTY1ODA9XzB4MWUxNTFjW18weDJiODNmYygnMHhhZGEnKV0oMHgyMCk7bGV0IF8weDQxOWVjYj1udWxsLF8weDM2ZGM0PW51bGw7dGhpc1tfMHgyYjgzZmMoJzB4NmJiJyldP18weDQxOWVjYj1fMHg1NDI1MjIoXzB4NGEyODc0WydPJCddWydmcm9tJ10oXzB4MzdjNTViKVsnYWRkJ10odGhpc1sncHJpdmF0ZUtleSddKVtfMHgyYjgzZmMoJzB4MWNlJyldKF8weDM3Y2UxNCkpOl8weDM2ZGM0PW5ldyBfMHgyZDBhYjNbJ1NpZ25pbmdLZXknXSgoMHgwLF8weDQ5ZTM1OFtfMHgyYjgzZmMoJzB4MzU2JyldKShfMHgzN2M1NWIpKVtfMHgyYjgzZmMoJzB4NzdmJyldKHRoaXNbXzB4MmI4M2ZjKCcweDdiZScpXSk7bGV0IF8weDI4NGFhNT1fMHgxNzJhNmI7Y29uc3QgXzB4MTBhY2FiPXRoaXNbXzB4MmI4M2ZjKCcweDhlYicpXTtyZXR1cm4gXzB4MTBhY2FiJiYoXzB4Mjg0YWE1PU9iamVjdFtfMHgyYjgzZmMoJzB4MWZhJyldKHsncGhyYXNlJzpfMHgxMGFjYWJbJ3BocmFzZSddLCdwYXRoJzpfMHgxNzJhNmIsJ2xvY2FsZSc6XzB4MTBhY2FiWydsb2NhbGUnXXx8J2VuJ30pKSxuZXcgXzB4NDAwOTJlKF8weDE3NTlkNyxfMHg0MTllY2IsXzB4MzZkYzQsdGhpc1tfMHgyYjgzZmMoJzB4NDNlJyldLF8weDU0MjUyMihfMHg3ZTY1ODApLF8weDEwNTU0MSx0aGlzW18weDJiODNmYygnMHhjZDgnKV0rMHgxLF8weDI4NGFhNSk7fVtfMHg1NjIyYmMoJzB4OTg5JyldKF8weDFkMTUxNSl7dmFyIF8weDM3OTVjYT1fMHg1NjIyYmM7Y29uc3QgXzB4NTcwODUwPV8weDFkMTUxNVtfMHgzNzk1Y2EoJzB4OTk0JyldKCcvJyk7aWYoMHgwPT09XzB4NTcwODUwW18weDM3OTVjYSgnMHg1MjAnKV18fCdtJz09PV8weDU3MDg1MFsweDBdJiYweDAhPT10aGlzW18weDM3OTVjYSgnMHhjZDgnKV0pdGhyb3cgbmV3IEVycm9yKF8weDM3OTVjYSgnMHg2OTknKStfMHgxZDE1MTUpOydtJz09PV8weDU3MDg1MFsweDBdJiZfMHg1NzA4NTBbJ3NoaWZ0J10oKTtsZXQgXzB4YWMwNTY1PXRoaXM7Zm9yKGxldCBfMHgzMjViOWE9MHgwO18weDMyNWI5YTxfMHg1NzA4NTBbJ2xlbmd0aCddO18weDMyNWI5YSsrKXtjb25zdCBfMHg0NDJiOGM9XzB4NTcwODUwW18weDMyNWI5YV07aWYoXzB4NDQyYjhjW18weDM3OTVjYSgnMHg0MjUnKV0oL15bMC05XSsnJC8pKXtjb25zdCBfMHgyNTgxODA9cGFyc2VJbnQoXzB4NDQyYjhjW18weDM3OTVjYSgnMHg3M2QnKV0oMHgwLF8weDQ0MmI4Y1tfMHgzNzk1Y2EoJzB4NTIwJyldLTB4MSkpO2lmKF8weDI1ODE4MD49XzB4NDRlN2Y0KXRocm93IG5ldyBFcnJvcihfMHgzNzk1Y2EoJzB4ODM1JykrXzB4NDQyYjhjKTtfMHhhYzA1NjU9XzB4YWMwNTY1W18weDM3OTVjYSgnMHhiYmInKV0oXzB4NDRlN2Y0K18weDI1ODE4MCk7fWVsc2V7aWYoIV8weDQ0MmI4Y1tfMHgzNzk1Y2EoJzB4NDI1JyldKC9eWzAtOV0rJC8pKXRocm93IG5ldyBFcnJvcignaW52YWxpZFx4MjBwYXRoXHgyMGNvbXBvbmVudFx4MjAtXHgyMCcrXzB4NDQyYjhjKTt7Y29uc3QgXzB4NWE1NTNhPXBhcnNlSW50KF8weDQ0MmI4Yyk7aWYoXzB4NWE1NTNhPj1fMHg0NGU3ZjQpdGhyb3cgbmV3IEVycm9yKF8weDM3OTVjYSgnMHg4MzUnKStfMHg0NDJiOGMpO18weGFjMDU2NT1fMHhhYzA1NjVbJ19kZXJpdmUnXShfMHg1YTU1M2EpO319fXJldHVybiBfMHhhYzA1NjU7fXN0YXRpY1snX2Zyb21TZWVkJ10oXzB4MmRiOTBlLF8weDEzNjlmZSl7dmFyIF8weDJhYjc0ZT1fMHg1NjIyYmM7Y29uc3QgXzB4NDgzNWY5PSgweDAsXzB4NDllMzU4WydhcnJheWlmeSddKShfMHgyZGI5MGUpO2lmKF8weDQ4MzVmOVsnbGVuZ3RoJ108MHgxMHx8XzB4NDgzNWY5WydsZW5ndGgnXT4weDQwKXRocm93IG5ldyBFcnJvcignaW52YWxpZFx4MjBzZWVkJyk7Y29uc3QgXzB4M2E0YmY2PSgweDAsXzB4NDllMzU4WydhcnJheWlmeSddKSgoMHgwLF8weDRkMDkxMFsnR3knXSkoXzB4MWU0MDM2WydwJ11bXzB4MmFiNzRlKCcweGM2YicpXSxfMHg0Y2U4YmMsXzB4NDgzNWY5KSk7cmV0dXJuIG5ldyBfMHg0MDA5MmUoXzB4MTc1OWQ3LF8weDU0MjUyMihfMHgzYTRiZjZbXzB4MmFiNzRlKCcweGFkYScpXSgweDAsMHgyMCkpLG51bGwsXzB4MmFiNzRlKCcweDc3OCcpLF8weDU0MjUyMihfMHgzYTRiZjZbXzB4MmFiNzRlKCcweGFkYScpXSgweDIwKSksMHgwLDB4MCxfMHgxMzY5ZmUpO31zdGF0aWNbJ2Zyb21NbmVtb25pYyddKF8weDU0NWJlMSxfMHgyMzEyZDcsXzB4ZGJhMjdkKXt2YXIgXzB4NTk2NWUzPV8weDU2MjJiYztyZXR1cm4gXzB4NTQ1YmUxPV8weDI3YjY4NyhfMHg0NGU3MmYoXzB4NTQ1YmUxLF8weGRiYTI3ZD1fMHg1ZjE2MjAoXzB4ZGJhMjdkKSksXzB4ZGJhMjdkKSxfMHg0MDA5MmVbXzB4NTk2NWUzKCcweGJlNicpXShfMHg0YzIyMmEoXzB4NTQ1YmUxLF8weDIzMTJkNykseydwaHJhc2UnOl8weDU0NWJlMSwncGF0aCc6J20nLCdsb2NhbGUnOl8weGRiYTI3ZFsnbG9jYWxlJ119KTt9c3RhdGljW18weDU2MjJiYygnMHg4NDUnKV0oXzB4ZjNkMTcwKXt2YXIgXzB4MjgzZTQ2PV8weDU2MjJiYztyZXR1cm4gXzB4NDAwOTJlW18weDI4M2U0NignMHhiZTYnKV0oXzB4ZjNkMTcwLG51bGwpO31zdGF0aWNbXzB4NTYyMmJjKCcweGEwOCcpXShfMHg0MmZiMjcpe3ZhciBfMHg0ZGFiYTY9XzB4NTYyMmJjO2NvbnN0IF8weDNhMDcyZD1fMHgyYjY3ZGJbXzB4NGRhYmE2KCcweGM5MScpXVsnZGVjb2RlJ10oXzB4NDJmYjI3KTsweDUyPT09XzB4M2EwNzJkW18weDRkYWJhNignMHg1MjAnKV0mJl8weDE2ZGE2MihfMHgzYTA3MmRbXzB4NGRhYmE2KCcweGFkYScpXSgweDAsMHg0ZSkpPT09XzB4NDJmYjI3fHxfMHgzODNiNmFbXzB4NGRhYmE2KCcweDYzNScpXShfMHg0ZGFiYTYoJzB4YTViJyksJ2V4dGVuZGVkS2V5JyxfMHg0ZGFiYTYoJzB4NTA4JykpO2NvbnN0IF8weDU0ZDVjMz1fMHgzYTA3MmRbMHg0XSxfMHgxMzJlYzI9KDB4MCxfMHg0OWUzNThbXzB4NGRhYmE2KCcweDM1NicpXSkoXzB4M2EwNzJkW18weDRkYWJhNignMHhhZGEnKV0oMHg1LDB4OSkpLF8weDliYzMwMD1wYXJzZUludCgoMHgwLF8weDQ5ZTM1OFsnaGV4bGlmeSddKShfMHgzYTA3MmRbXzB4NGRhYmE2KCcweGFkYScpXSgweDksMHhkKSlbXzB4NGRhYmE2KCcweDczZCcpXSgweDIpLDB4MTApLF8weDUyMWYyNz0oMHgwLF8weDQ5ZTM1OFsnaGV4bGlmeSddKShfMHgzYTA3MmRbXzB4NGRhYmE2KCcweGFkYScpXSgweGQsMHgyZCkpLF8weDFlNWYzMj1fMHgzYTA3MmRbXzB4NGRhYmE2KCcweGFkYScpXSgweDJkLDB4NGUpO3N3aXRjaCgoMHgwLF8weDQ5ZTM1OFtfMHg0ZGFiYTYoJzB4MzU2JyldKShfMHgzYTA3MmRbXzB4NGRhYmE2KCcweGFkYScpXSgweDAsMHg0KSkpe2Nhc2UgXzB4NGRhYmE2KCcweGE3MycpOmNhc2UnMHgwNDM1ODdjZic6cmV0dXJuIG5ldyBfMHg0MDA5MmUoXzB4MTc1OWQ3LG51bGwsKDB4MCxfMHg0OWUzNThbJ2hleGxpZnknXSkoXzB4MWU1ZjMyKSxfMHgxMzJlYzIsXzB4NTIxZjI3LF8weDliYzMwMCxfMHg1NGQ1YzMsbnVsbCk7Y2FzZScweDA0ODhhZGU0JzpjYXNlJzB4MDQzNTgzOTRceDIwJzppZigweDAhPT1fMHgxZTVmMzJbMHgwXSlicmVhaztyZXR1cm4gbmV3IF8weDQwMDkyZShfMHgxNzU5ZDcsKDB4MCxfMHg0OWUzNThbJ2hleGxpZnknXSkoXzB4MWU1ZjMyWydzbGljZSddKDB4MSkpLG51bGwsXzB4MTMyZWMyLF8weDUyMWYyNyxfMHg5YmMzMDAsXzB4NTRkNWMzLG51bGwpO31yZXR1cm4gXzB4MzgzYjZhW18weDRkYWJhNignMHg2MzUnKV0oXzB4NGRhYmE2KCcweGE1YicpLCdleHRlbmRlZEtleScsJ1tSRURBQ1RFRF0nKTt9fWZ1bmN0aW9uIF8weDRjMjIyYShfMHgyOWU1ZWMsXzB4MTg2Mjkpe3ZhciBfMHgxZDc4YWE9XzB4NTYyMmJjO18weDE4NjI5fHwoXzB4MTg2Mjk9JycpO2NvbnN0IF8weDM3NDEwMT0oMHgwLF8weDU3MzdmYVsnWTAnXSkoXzB4MWQ3OGFhKCcweDhlYicpK18weDE4NjI5LF8weDU3MzdmYVsnVWonXVtfMHgxZDc4YWEoJzB4MzQwJyldKTtyZXR1cm4oMHgwLF8weDViZWNiMFsnbiddKSgoMHgwLF8weDU3MzdmYVsnWTAnXSkoXzB4MjllNWVjLF8weDU3MzdmYVsnVWonXVtfMHgxZDc4YWEoJzB4MzQwJyldKSxfMHgzNzQxMDEsMHg4MDAsMHg0MCwnc2hhNTEyJyk7fWZ1bmN0aW9uIF8weDQ0ZTcyZihfMHgyMWYzNWIsXzB4YzMwMTdhKXt2YXIgXzB4MTAzNGQ1PV8weDU2MjJiYztfMHhjMzAxN2E9XzB4NWYxNjIwKF8weGMzMDE3YSksXzB4MzgzYjZhW18weDEwMzRkNSgnMHg5NjUnKV0oKTtjb25zdCBfMHg1ZGE4YzA9XzB4YzMwMTdhW18weDEwMzRkNSgnMHg5OTQnKV0oXzB4MjFmMzViKTtpZihfMHg1ZGE4YzBbXzB4MTAzNGQ1KCcweDUyMCcpXSUweDMhPTB4MCl0aHJvdyBuZXcgRXJyb3IoXzB4MTAzNGQ1KCcweDRjNCcpKTtjb25zdCBfMHgyM2VkZGM9KDB4MCxfMHg0OWUzNThbXzB4MTAzNGQ1KCcweGQwNicpXSkobmV3IFVpbnQ4QXJyYXkoTWF0aFsnY2VpbCddKDB4YipfMHg1ZGE4YzBbXzB4MTAzNGQ1KCcweDUyMCcpXS8weDgpKSk7bGV0IF8weDNiNmE0Mz0weDA7Zm9yKGxldCBfMHgzMmFkNDc9MHgwO18weDMyYWQ0NzxfMHg1ZGE4YzBbXzB4MTAzNGQ1KCcweDUyMCcpXTtfMHgzMmFkNDcrKyl7bGV0IF8weDJlMDZlMz1fMHhjMzAxN2FbJ2dldFdvcmRJbmRleCddKF8weDVkYThjMFtfMHgzMmFkNDddW18weDEwMzRkNSgnMHg4OGInKV0oXzB4MTAzNGQ1KCcweDM0MCcpKSk7aWYoLTB4MT09PV8weDJlMDZlMyl0aHJvdyBuZXcgRXJyb3IoXzB4MTAzNGQ1KCcweDRjNCcpKTtmb3IobGV0IF8weDE5NmU5Yz0weDA7XzB4MTk2ZTljPDB4YjtfMHgxOTZlOWMrKylfMHgyZTA2ZTMmMHgxPDwweGEtXzB4MTk2ZTljJiYoXzB4MjNlZGRjW18weDNiNmE0Mz4+MHgzXXw9MHgxPDwweDctXzB4M2I2YTQzJTB4OCksXzB4M2I2YTQzKys7fWNvbnN0IF8weDRlNjM2Nz0weDIwKl8weDVkYThjMFtfMHgxMDM0ZDUoJzB4NTIwJyldLzB4MyxfMHgyOTkyYzc9XzB4NjljZWIoXzB4NWRhOGMwW18weDEwMzRkNSgnMHg1MjAnKV0vMHgzKTtpZigoKDB4MCxfMHg0OWUzNThbXzB4MTAzNGQ1KCcweGQwNicpXSkoKDB4MCxfMHg0ZDA5MTBbJ0pRJ10pKF8weDIzZWRkY1tfMHgxMDM0ZDUoJzB4YWRhJyldKDB4MCxfMHg0ZTYzNjcvMHg4KSkpWzB4MF0mXzB4Mjk5MmM3KSE9KF8weDIzZWRkY1tfMHgyM2VkZGNbJ2xlbmd0aCddLTB4MV0mXzB4Mjk5MmM3KSl0aHJvdyBuZXcgRXJyb3IoXzB4MTAzNGQ1KCcweDQxNycpKTtyZXR1cm4oMHgwLF8weDQ5ZTM1OFtfMHgxMDM0ZDUoJzB4MzU2JyldKShfMHgyM2VkZGNbJ3NsaWNlJ10oMHgwLF8weDRlNjM2Ny8weDgpKTt9ZnVuY3Rpb24gXzB4MjdiNjg3KF8weDFhNDBmNCxfMHgzYjBlNzEpe3ZhciBfMHgyNGRkMmQ9XzB4NTYyMmJjO2lmKF8weDNiMGU3MT1fMHg1ZjE2MjAoXzB4M2IwZTcxKSwoXzB4MWE0MGY0PSgweDAsXzB4NDllMzU4WydhcnJheWlmeSddKShfMHgxYTQwZjQpKVtfMHgyNGRkMmQoJzB4NTIwJyldJTB4NCE9MHgwfHxfMHgxYTQwZjRbXzB4MjRkZDJkKCcweDUyMCcpXTwweDEwfHxfMHgxYTQwZjRbJ2xlbmd0aCddPjB4MjApdGhyb3cgbmV3IEVycm9yKF8weDI0ZGQyZCgnMHgzMjAnKSk7Y29uc3QgXzB4MmU5OThkPVsweDBdO2xldCBfMHgxZDFhN2Y9MHhiO2ZvcihsZXQgXzB4MzEwMzBlPTB4MDtfMHgzMTAzMGU8XzB4MWE0MGY0W18weDI0ZGQyZCgnMHg1MjAnKV07XzB4MzEwMzBlKyspXzB4MWQxYTdmPjB4OD8oXzB4MmU5OThkW18weDJlOTk4ZFtfMHgyNGRkMmQoJzB4NTIwJyldLTB4MV08PD0weDgsXzB4MmU5OThkW18weDJlOTk4ZFtfMHgyNGRkMmQoJzB4NTIwJyldLTB4MV18PV8weDFhNDBmNFtfMHgzMTAzMGVdLF8weDFkMWE3Zi09MHg4KTooXzB4MmU5OThkW18weDJlOTk4ZFsnbGVuZ3RoJ10tMHgxXTw8PV8weDFkMWE3ZixfMHgyZTk5OGRbXzB4MmU5OThkW18weDI0ZGQyZCgnMHg1MjAnKV0tMHgxXXw9XzB4MWE0MGY0W18weDMxMDMwZV0+PjB4OC1fMHgxZDFhN2YsXzB4MmU5OThkWydwdXNoJ10oXzB4MWE0MGY0W18weDMxMDMwZV0mKDB4MTw8MHg4LV8weDFkMWE3ZiktMHgxKSxfMHgxZDFhN2YrPTB4Myk7Y29uc3QgXzB4NDJiZmNlPV8weDFhNDBmNFsnbGVuZ3RoJ10vMHg0LF8weDQ5ODIzZD0oMHgwLF8weDQ5ZTM1OFtfMHgyNGRkMmQoJzB4ZDA2JyldKSgoMHgwLF8weDRkMDkxMFsnSlEnXSkoXzB4MWE0MGY0KSlbMHgwXSZfMHg2OWNlYihfMHg0MmJmY2UpO3JldHVybiBfMHgyZTk5OGRbXzB4MmU5OThkWydsZW5ndGgnXS0weDFdPDw9XzB4NDJiZmNlLF8weDJlOTk4ZFtfMHgyZTk5OGRbXzB4MjRkZDJkKCcweDUyMCcpXS0weDFdfD1fMHg0OTgyM2Q+PjB4OC1fMHg0MmJmY2UsXzB4M2IwZTcxW18weDI0ZGQyZCgnMHhhYTcnKV0oXzB4MmU5OThkW18weDI0ZGQyZCgnMHgzYzknKV0oXzB4MTEzNjdlPT5fMHgzYjBlNzFbXzB4MjRkZDJkKCcweDMzOScpXShfMHgxMTM2N2UpKSk7fWZ1bmN0aW9uIF8weDRlNzc1ZShfMHgyYmQ5MjUsXzB4MzAwMmZiKXt0cnl7cmV0dXJuIF8weDQ0ZTcyZihfMHgyYmQ5MjUsXzB4MzAwMmZiKSwhMHgwO31jYXRjaChfMHg0YzBiYTIpe31yZXR1cm4hMHgxO31mdW5jdGlvbiBfMHgzYTc4OTIoXzB4MWMwNzc2KXt2YXIgXzB4ZTY2M2ZhPV8weDU2MjJiYztyZXR1cm4oJ251bWJlcichPXR5cGVvZiBfMHgxYzA3NzZ8fF8weDFjMDc3NjwweDB8fF8weDFjMDc3Nj49XzB4NDRlN2Y0fHxfMHgxYzA3NzYlMHgxKSYmXzB4MzgzYjZhWyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHhlNjYzZmEoJzB4YjA4JyksJ2luZGV4JyxfMHgxYzA3NzYpLF8weGU2NjNmYSgnMHhjMGEnKStfMHgxYzA3NzYrJ1x4MjcvMC8wJzt9fSwweDI2NTg6KF8weDFlNzhhMCxfMHgxNDgxOTgsXzB4MWYzMzFhKT0+eyd1c2Ugc3RyaWN0JztfMHgxZjMzMWFbJ2QnXShfMHgxNDgxOTgseydpJzooKT0+XzB4Mzk5NzY5fSk7Y29uc3QgXzB4Mzk5NzY5PSdqc29uLXdhbGxldHMvNS43LjAnO30sMHgyNGE0OihfMHg1M2U4YmYsXzB4NTQ2ZmU1LF8weDQ5Zjg1ZSk9PnsndXNlIHN0cmljdCc7dmFyIF8weDRhYTM1Zj1fMHgxNWEzO18weDQ5Zjg1ZVsnciddKF8weDU0NmZlNSksXzB4NDlmODVlWydkJ10oXzB4NTQ2ZmU1LHsnZGVjcnlwdENyb3dkc2FsZSc6KCk9Pl8weGUxOGM2LCdkZWNyeXB0SnNvbldhbGxldCc6KCk9Pl8weDFjZTg5ZiwnZGVjcnlwdEpzb25XYWxsZXRTeW5jJzooKT0+XzB4M2FlMzEzLCdkZWNyeXB0S2V5c3RvcmUnOigpPT5fMHg1ODExMmFbJ3BlJ10sJ2RlY3J5cHRLZXlzdG9yZVN5bmMnOigpPT5fMHg1ODExMmFbJ2hiJ10sJ2VuY3J5cHRLZXlzdG9yZSc6KCk9Pl8weDU4MTEyYVsnSEknXSwnZ2V0SnNvbldhbGxldEFkZHJlc3MnOigpPT5fMHg1ODJkYjZbJ1JiJ10sJ2lzQ3Jvd2RzYWxlV2FsbGV0JzooKT0+XzB4NTgyZGI2WydMVyddLCdpc0tleXN0b3JlV2FsbGV0JzooKT0+XzB4NTgyZGI2WydhTyddfSk7dmFyIF8weDEyYzZlYz1fMHg0OWY4NWUoMHgyMjA1KSxfMHg0MzIxMWQ9XzB4NDlmODVlWyduJ10oXzB4MTJjNmVjKSxfMHgyYjlkNTU9XzB4NDlmODVlKDB4MTFmMiksXzB4Mjk1MWI2PV8weDQ5Zjg1ZSgweGNkNiksXzB4NGVhMTEzPV8weDQ5Zjg1ZSgweDIwMDUpLF8weDQ2ZWQ5ND1fMHg0OWY4NWUoMHgxNGJhKSxfMHgyMmRmNTY9XzB4NDlmODVlKDB4MTA5MiksXzB4Mjg4NzAwPV8weDQ5Zjg1ZSgweGUwMyksXzB4NDc3MzBjPV8weDQ5Zjg1ZSgweDJjNyksXzB4MTQ3N2FkPV8weDQ5Zjg1ZSgweDI2NTgpLF8weDJkOGYwPV8weDQ5Zjg1ZSgweDE0NGYpO2NvbnN0IF8weDRhZDcyZD1uZXcgXzB4NDc3MzBjWydMb2dnZXInXShfMHgxNDc3YWRbJ2knXSk7Y2xhc3MgXzB4NDY0M2NkIGV4dGVuZHMgXzB4Mjg4NzAwW18weDRhYTM1ZignMHg3NDEnKV17W18weDRhYTM1ZignMHgzZmYnKV0oXzB4NWRiY2NlKXt2YXIgXzB4MWM1YzhmPV8weDRhYTM1ZjtyZXR1cm4hKCFfMHg1ZGJjY2V8fCFfMHg1ZGJjY2VbXzB4MWM1YzhmKCcweDNhZCcpXSk7fX1mdW5jdGlvbiBfMHhlMThjNihfMHgzZDk3ZTYsXzB4MWUxNWZkKXt2YXIgXzB4NWU5MTEyPV8weDRhYTM1Zjtjb25zdCBfMHg1OGY1MWQ9SlNPTlsncGFyc2UnXShfMHgzZDk3ZTYpO18weDFlMTVmZD0oMHgwLF8weDJkOGYwWydJaiddKShfMHgxZTE1ZmQpO2NvbnN0IF8weDUzMmJhOT0oMHgwLF8weDJiOWQ1NVtfMHg1ZTkxMTIoJzB4M2RmJyldKSgoMHgwLF8weDJkOGYwWydneCddKShfMHg1OGY1MWQsXzB4NWU5MTEyKCcweDczOCcpKSksXzB4NThjZjNjPSgweDAsXzB4MmQ4ZjBbJ3AzJ10pKCgweDAsXzB4MmQ4ZjBbJ2d4J10pKF8weDU4ZjUxZCwnZW5jc2VlZCcpKTtfMHg1OGNmM2MmJl8weDU4Y2YzY1snbGVuZ3RoJ10lMHgxMD09MHgwfHxfMHg0YWQ3MmRbJ3Rocm93QXJndW1lbnRFcnJvciddKF8weDVlOTExMignMHhhODknKSxfMHg1ZTkxMTIoJzB4NGJiJyksXzB4M2Q5N2U2KTtjb25zdCBfMHg0YjhkNWM9KDB4MCxfMHgyOTUxYjZbXzB4NWU5MTEyKCcweGQwNicpXSkoKDB4MCxfMHg0NmVkOTRbJ24nXSkoXzB4MWUxNWZkLF8weDFlMTVmZCwweDdkMCwweDIwLF8weDVlOTExMignMHhiN2InKSkpW18weDVlOTExMignMHhhZGEnKV0oMHgwLDB4MTApLF8weGRjOGRkMj1fMHg1OGNmM2NbXzB4NWU5MTEyKCcweGFkYScpXSgweDAsMHgxMCksXzB4MjNjZTk2PV8weDU4Y2YzY1snc2xpY2UnXSgweDEwKSxfMHgxMDQzNmE9bmV3KF8weDQzMjExZCgpKVsoXzB4NWU5MTEyKCcweGI2NScpKV1bKF8weDVlOTExMignMHg4MTknKSldKF8weDRiOGQ1YyxfMHhkYzhkZDIpLF8weDVjMTg4NT1fMHg0MzIxMWQoKVtfMHg1ZTkxMTIoJzB4MjczJyldW18weDVlOTExMignMHg2YjYnKV1bXzB4NWU5MTEyKCcweDViMicpXSgoMHgwLF8weDI5NTFiNltfMHg1ZTkxMTIoJzB4ZDA2JyldKShfMHgxMDQzNmFbXzB4NWU5MTEyKCcweGIzOCcpXShfMHgyM2NlOTYpKSk7bGV0IF8weDJiZDU0Yz0nJztmb3IobGV0IF8weDFlMzI4ZT0weDA7XzB4MWUzMjhlPF8weDVjMTg4NVsnbGVuZ3RoJ107XzB4MWUzMjhlKyspXzB4MmJkNTRjKz1TdHJpbmdbXzB4NWU5MTEyKCcweGE4MScpXShfMHg1YzE4ODVbXzB4MWUzMjhlXSk7Y29uc3QgXzB4OWIxZDUwPSgweDAsXzB4MjJkZjU2WydZMCddKShfMHgyYmQ1NGMpLF8weDI3MGRjZT0oMHgwLF8weDRlYTExM1tfMHg1ZTkxMTIoJzB4NTYyJyldKShfMHg5YjFkNTApO3JldHVybiBuZXcgXzB4NDY0M2NkKHsnX2lzQ3Jvd2RzYWxlQWNjb3VudCc6ITB4MCwnYWRkcmVzcyc6XzB4NTMyYmE5LCdwcml2YXRlS2V5JzpfMHgyNzBkY2V9KTt9dmFyIF8weDU4MmRiNj1fMHg0OWY4NWUoMHgxZjBkKSxfMHg1ODExMmE9XzB4NDlmODVlKDB4N2FjKTtmdW5jdGlvbiBfMHgxY2U4OWYoXzB4Y2NjMTIwLF8weDU0MDhkZCxfMHgxZWU1N2Ipe3ZhciBfMHgzMDU1MTM9XzB4NGFhMzVmO2lmKCgweDAsXzB4NTgyZGI2WydMVyddKShfMHhjY2MxMjApKXtfMHgxZWU1N2ImJl8weDFlZTU3YigweDApO2NvbnN0IF8weDUxMmE3OT1fMHhlMThjNihfMHhjY2MxMjAsXzB4NTQwOGRkKTtyZXR1cm4gXzB4MWVlNTdiJiZfMHgxZWU1N2IoMHgxKSxQcm9taXNlW18weDMwNTUxMygnMHgzZjQnKV0oXzB4NTEyYTc5KTt9cmV0dXJuKDB4MCxfMHg1ODJkYjZbJ2FPJ10pKF8weGNjYzEyMCk/KDB4MCxfMHg1ODExMmFbJ3BlJ10pKF8weGNjYzEyMCxfMHg1NDA4ZGQsXzB4MWVlNTdiKTpQcm9taXNlW18weDMwNTUxMygnMHg5OTUnKV0obmV3IEVycm9yKF8weDMwNTUxMygnMHg5MTYnKSkpO31mdW5jdGlvbiBfMHgzYWUzMTMoXzB4NGIxMDMzLF8weDEyYTE1MCl7dmFyIF8weGViMzRjZj1fMHg0YWEzNWY7aWYoKDB4MCxfMHg1ODJkYjZbJ0xXJ10pKF8weDRiMTAzMykpcmV0dXJuIF8weGUxOGM2KF8weDRiMTAzMyxfMHgxMmExNTApO2lmKCgweDAsXzB4NTgyZGI2WydhTyddKShfMHg0YjEwMzMpKXJldHVybigweDAsXzB4NTgxMTJhWydoYiddKShfMHg0YjEwMzMsXzB4MTJhMTUwKTt0aHJvdyBuZXcgRXJyb3IoXzB4ZWIzNGNmKCcweDkxNicpKTt9fSwweDFmMGQ6KF8weDFiOWRhZixfMHgyOGZkYjcsXzB4Mjk3NDU0KT0+eyd1c2Ugc3RyaWN0JztfMHgyOTc0NTRbJ2QnXShfMHgyOGZkYjcseydMVyc6KCk9Pl8weDFiMDNjYiwnUmInOigpPT5fMHgzNTU1N2QsJ2FPJzooKT0+XzB4NTMxOGM5fSk7dmFyIF8weDI3ZmZkOT1fMHgyOTc0NTQoMHgxMWYyKTtmdW5jdGlvbiBfMHgxYjAzY2IoXzB4MmM4NGRiKXt2YXIgXzB4ODhkZDA2PV8weDE1YTM7bGV0IF8weDcxNjcxNj1udWxsO3RyeXtfMHg3MTY3MTY9SlNPTltfMHg4OGRkMDYoJzB4YmY5JyldKF8weDJjODRkYik7fWNhdGNoKF8weDJmNmQyZCl7cmV0dXJuITB4MTt9cmV0dXJuIF8weDcxNjcxNlsnZW5jc2VlZCddJiZfMHg3MTY3MTZbJ2V0aGFkZHInXTt9ZnVuY3Rpb24gXzB4NTMxOGM5KF8weGE1MWI1Myl7dmFyIF8weDRlYjc1ZT1fMHgxNWEzO2xldCBfMHg0MjYxYTg9bnVsbDt0cnl7XzB4NDI2MWE4PUpTT05bXzB4NGViNzVlKCcweGJmOScpXShfMHhhNTFiNTMpO31jYXRjaChfMHgzM2ZjN2Upe3JldHVybiEweDE7fXJldHVybiEoIV8weDQyNjFhOFtfMHg0ZWI3NWUoJzB4YWM5JyldfHxwYXJzZUludChfMHg0MjYxYThbXzB4NGViNzVlKCcweGFjOScpXSkhPT1fMHg0MjYxYThbXzB4NGViNzVlKCcweGFjOScpXXx8MHgzIT09cGFyc2VJbnQoXzB4NDI2MWE4Wyd2ZXJzaW9uJ10pKTt9ZnVuY3Rpb24gXzB4MzU1NTdkKF8weDM3OTM4OSl7dmFyIF8weDdkZGFiZD1fMHgxNWEzO2lmKF8weDFiMDNjYihfMHgzNzkzODkpKXRyeXtyZXR1cm4oMHgwLF8weDI3ZmZkOVtfMHg3ZGRhYmQoJzB4M2RmJyldKShKU09OWydwYXJzZSddKF8weDM3OTM4OSlbJ2V0aGFkZHInXSk7fWNhdGNoKF8weDM4YzY0MCl7cmV0dXJuIG51bGw7fWlmKF8weDUzMThjOShfMHgzNzkzODkpKXRyeXtyZXR1cm4oMHgwLF8weDI3ZmZkOVtfMHg3ZGRhYmQoJzB4M2RmJyldKShKU09OW18weDdkZGFiZCgnMHhiZjknKV0oXzB4Mzc5Mzg5KVtfMHg3ZGRhYmQoJzB4MWQxJyldKTt9Y2F0Y2goXzB4MzEyYmNhKXtyZXR1cm4gbnVsbDt9cmV0dXJuIG51bGw7fX0sMHg3YWM6KF8weGNmYTVkMSxfMHg5OWYyYWQsXzB4NmI1MDJlKT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4MzYwY2MzPV8weDE1YTM7XzB4NmI1MDJlWydkJ10oXzB4OTlmMmFkLHsnSEknOigpPT5fMHgyMDRjZjgsJ2hiJzooKT0+XzB4MmRhM2E3LCdwZSc6KCk9Pl8weDExZDk5OH0pO3ZhciBfMHgxZTdjYTE9XzB4NmI1MDJlKDB4MjIwNSksXzB4MmFmMGJlPV8weDZiNTAyZVsnbiddKF8weDFlN2NhMSksXzB4YzlmYjkzPV8weDZiNTAyZSgweDFkZDMpLF8weDIwN2Y1Nz1fMHg2YjUwMmVbJ24nXShfMHhjOWZiOTMpLF8weDU1ZWQ0ZT1fMHg2YjUwMmUoMHgxMWYyKSxfMHgxOWNkMzg9XzB4NmI1MDJlKDB4Y2Q2KSxfMHgzNTVjODc9XzB4NmI1MDJlKDB4MTg4MiksXzB4NTg2YzFkPV8weDZiNTAyZSgweDIwMDUpLF8weDM5ZmQwZj1fMHg2YjUwMmUoMHgxNGJhKSxfMHgzMWE3NGE9XzB4NmI1MDJlKDB4MTE3ZSksXzB4YTRkMTdmPV8weDZiNTAyZSgweGUwMyksXzB4MzIwNjU1PV8weDZiNTAyZSgweDExMTkpLF8weDU4N2Y0MT1fMHg2YjUwMmUoMHgxNDRmKSxfMHg0MzIwN2Y9XzB4NmI1MDJlKDB4MmM3KSxfMHgzOWI0ZWI9XzB4NmI1MDJlKDB4MjY1OCksXzB4MjRlYWY5PWZ1bmN0aW9uKF8weDJkYjljOCxfMHgzNDI4ZmIsXzB4MTE2OTliLF8weDM4MGMwMyl7cmV0dXJuIG5ldyhfMHgxMTY5OWJ8fChfMHgxMTY5OWI9UHJvbWlzZSkpKGZ1bmN0aW9uKF8weDJkNTNkMCxfMHg1NTk0NTgpe3ZhciBfMHgzOTBkMzE9XzB4MTVhMztmdW5jdGlvbiBfMHgzYWM5ZWMoXzB4NTQ0ZGZkKXt2YXIgXzB4ZmM1NGY5PV8weDE1YTM7dHJ5e18weDIwN2M3YihfMHgzODBjMDNbXzB4ZmM1NGY5KCcweDc0MCcpXShfMHg1NDRkZmQpKTt9Y2F0Y2goXzB4NTQ5NmI5KXtfMHg1NTk0NTgoXzB4NTQ5NmI5KTt9fWZ1bmN0aW9uIF8weDM3MzYyNShfMHgzYzcwMWYpe3RyeXtfMHgyMDdjN2IoXzB4MzgwYzAzWyd0aHJvdyddKF8weDNjNzAxZikpO31jYXRjaChfMHgxZTY3Y2Ype18weDU1OTQ1OChfMHgxZTY3Y2YpO319ZnVuY3Rpb24gXzB4MjA3YzdiKF8weDMxYjA2Nyl7dmFyIF8weDI3ZDBjYj1fMHgxNWEzLF8weDVlZDllYTtfMHgzMWIwNjdbJ2RvbmUnXT9fMHgyZDUzZDAoXzB4MzFiMDY3W18weDI3ZDBjYignMHg4OWQnKV0pOihfMHg1ZWQ5ZWE9XzB4MzFiMDY3W18weDI3ZDBjYignMHg4OWQnKV0sXzB4NWVkOWVhIGluc3RhbmNlb2YgXzB4MTE2OTliP18weDVlZDllYTpuZXcgXzB4MTE2OTliKGZ1bmN0aW9uKF8weDRjODQxNyl7XzB4NGM4NDE3KF8weDVlZDllYSk7fSkpW18weDI3ZDBjYignMHhkMzQnKV0oXzB4M2FjOWVjLF8weDM3MzYyNSk7fV8weDIwN2M3YigoXzB4MzgwYzAzPV8weDM4MGMwM1tfMHgzOTBkMzEoJzB4NDQyJyldKF8weDJkYjljOCxfMHgzNDI4ZmJ8fFtdKSlbXzB4MzkwZDMxKCcweDc0MCcpXSgpKTt9KTt9O2NvbnN0IF8weDFhMzY3Yj1uZXcgXzB4NDMyMDdmWyhfMHgzNjBjYzMoJzB4Y2U3JykpXShfMHgzOWI0ZWJbJ2knXSk7ZnVuY3Rpb24gXzB4MjExMTgxKF8weDVjZTIxYil7dmFyIF8weDEzZDM5YT1fMHgzNjBjYzM7cmV0dXJuIG51bGwhPV8weDVjZTIxYiYmXzB4NWNlMjFiW18weDEzZDM5YSgnMHg4ZWInKV0mJl8weDVjZTIxYlsnbW5lbW9uaWMnXVsncGhyYXNlJ107fWNsYXNzIF8weDVkNThjMyBleHRlbmRzIF8weGE0ZDE3ZlsnRGVzY3JpcHRpb24nXXtbJ2lzS2V5c3RvcmVBY2NvdW50J10oXzB4NTliOTk1KXt2YXIgXzB4MjUzY2NlPV8weDM2MGNjMztyZXR1cm4hKCFfMHg1OWI5OTV8fCFfMHg1OWI5OTVbXzB4MjUzY2NlKCcweDQ0OCcpXSk7fX1mdW5jdGlvbiBfMHg0N2JkYWIoXzB4M2E0ZDE4LF8weDQwNTE1Nil7dmFyIF8weDQ4NDRlMz1fMHgzNjBjYzM7Y29uc3QgXzB4NTQyNGNjPSgweDAsXzB4NTg3ZjQxWydwMyddKSgoMHgwLF8weDU4N2Y0MVsnZ3gnXSkoXzB4M2E0ZDE4LF8weDQ4NDRlMygnMHg3ODknKSkpO2lmKCgweDAsXzB4MTljZDM4W18weDQ4NDRlMygnMHgzNTYnKV0pKCgweDAsXzB4NTg2YzFkW18weDQ4NDRlMygnMHg1NjInKV0pKCgweDAsXzB4MTljZDM4W18weDQ4NDRlMygnMHg1MzAnKV0pKFtfMHg0MDUxNTZbXzB4NDg0NGUzKCcweGFkYScpXSgweDEwLDB4MjApLF8weDU0MjRjY10pKSlbJ3N1YnN0cmluZyddKDB4MikhPT0oMHgwLF8weDU4N2Y0MVsnZ3gnXSkoXzB4M2E0ZDE4LF8weDQ4NDRlMygnMHg3NDgnKSlbXzB4NDg0NGUzKCcweDg3MCcpXSgpKXRocm93IG5ldyBFcnJvcihfMHg0ODQ0ZTMoJzB4NTRlJykpO2NvbnN0IF8weDc3N2RiNT1mdW5jdGlvbihfMHgzMTEyZTAsXzB4ZmEzYTM0LF8weDUyNmZhNCl7dmFyIF8weDQ3MTBkOD1fMHg0ODQ0ZTM7aWYoXzB4NDcxMGQ4KCcweDY3NycpPT09KDB4MCxfMHg1ODdmNDFbJ2d4J10pKF8weDMxMTJlMCxfMHg0NzEwZDgoJzB4OTUxJykpKXtjb25zdCBfMHgyOGI3ZGY9KDB4MCxfMHg1ODdmNDFbJ3AzJ10pKCgweDAsXzB4NTg3ZjQxWydneCddKShfMHgzMTEyZTAsXzB4NDcxMGQ4KCcweGM1YScpKSksXzB4NTQ3OTYyPW5ldyhfMHgyYWYwYmUoKSlbKF8weDQ3MTBkOCgnMHg2ZDEnKSldKF8weDI4YjdkZiksXzB4ZDJiZTI3PW5ldyhfMHgyYWYwYmUoKSlbKF8weDQ3MTBkOCgnMHhiNjUnKSldWydjdHInXShfMHhmYTNhMzQsXzB4NTQ3OTYyKTtyZXR1cm4oMHgwLF8weDE5Y2QzOFtfMHg0NzEwZDgoJzB4ZDA2JyldKShfMHhkMmJlMjdbXzB4NDcxMGQ4KCcweGIzOCcpXShfMHg1MjZmYTQpKTt9cmV0dXJuIG51bGw7fShfMHgzYTRkMTgsXzB4NDA1MTU2WydzbGljZSddKDB4MCwweDEwKSxfMHg1NDI0Y2MpO18weDc3N2RiNXx8XzB4MWEzNjdiWyd0aHJvd0Vycm9yJ10oXzB4NDg0NGUzKCcweGMzMicpLF8weDQzMjA3ZltfMHg0ODQ0ZTMoJzB4Y2U3JyldW18weDQ4NDRlMygnMHg5NDknKV1bXzB4NDg0NGUzKCcweDYzMycpXSx7J29wZXJhdGlvbic6XzB4NDg0NGUzKCcweGIzOCcpfSk7Y29uc3QgXzB4MjIxNjM3PV8weDQwNTE1NltfMHg0ODQ0ZTMoJzB4YWRhJyldKDB4MjAsMHg0MCksXzB4NTY2YTg5PSgweDAsXzB4MzIwNjU1W18weDQ4NDRlMygnMHg1ODInKV0pKF8weDc3N2RiNSk7aWYoXzB4M2E0ZDE4W18weDQ4NDRlMygnMHgxZDEnKV0pe2xldCBfMHgxODY1YjM9XzB4M2E0ZDE4W18weDQ4NDRlMygnMHgxZDEnKV1bXzB4NDg0NGUzKCcweDg3MCcpXSgpO2lmKCcweCchPT1fMHgxODY1YjNbJ3N1YnN0cmluZyddKDB4MCwweDIpJiYoXzB4MTg2NWIzPScweCcrXzB4MTg2NWIzKSwoMHgwLF8weDU1ZWQ0ZVtfMHg0ODQ0ZTMoJzB4M2RmJyldKShfMHgxODY1YjMpIT09XzB4NTY2YTg5KXRocm93IG5ldyBFcnJvcignYWRkcmVzc1x4MjBtaXNtYXRjaCcpO31jb25zdCBfMHg1MjM1NWE9eydfaXNLZXlzdG9yZUFjY291bnQnOiEweDAsJ2FkZHJlc3MnOl8weDU2NmE4OSwncHJpdmF0ZUtleSc6KDB4MCxfMHgxOWNkMzhbJ2hleGxpZnknXSkoXzB4Nzc3ZGI1KX07aWYoXzB4NDg0NGUzKCcweDU0NCcpPT09KDB4MCxfMHg1ODdmNDFbJ2d4J10pKF8weDNhNGQxOCxfMHg0ODQ0ZTMoJzB4NTEwJykpKXtjb25zdCBfMHg0MGJkMzQ9KDB4MCxfMHg1ODdmNDFbJ3AzJ10pKCgweDAsXzB4NTg3ZjQxWydneCddKShfMHgzYTRkMTgsXzB4NDg0NGUzKCcweGI3ZicpKSksXzB4NTdmZTYyPSgweDAsXzB4NTg3ZjQxWydwMyddKSgoMHgwLF8weDU4N2Y0MVsnZ3gnXSkoXzB4M2E0ZDE4LF8weDQ4NDRlMygnMHg1MTEnKSkpLF8weDU0NmE3OT1uZXcoXzB4MmFmMGJlKCkpWyhfMHg0ODQ0ZTMoJzB4NmQxJykpXShfMHg1N2ZlNjIpLF8weDI2MWEyMz1uZXcoXzB4MmFmMGJlKCkpWyhfMHg0ODQ0ZTMoJzB4YjY1JykpXVsoXzB4NDg0NGUzKCcweGI4ZScpKV0oXzB4MjIxNjM3LF8weDU0NmE3OSksXzB4MmQ4OWI5PSgweDAsXzB4NTg3ZjQxWydneCddKShfMHgzYTRkMTgsXzB4NDg0NGUzKCcweDc2YScpKXx8XzB4MzU1Yzg3W18weDQ4NDRlMygnMHhhYTInKV0sXzB4NDI5MDliPSgweDAsXzB4NTg3ZjQxWydneCddKShfMHgzYTRkMTgsXzB4NDg0NGUzKCcweDViYicpKXx8J2VuJyxfMHgyZmVhZTY9KDB4MCxfMHgxOWNkMzhbXzB4NDg0NGUzKCcweGQwNicpXSkoXzB4MjYxYTIzW18weDQ4NDRlMygnMHhiMzgnKV0oXzB4NDBiZDM0KSk7dHJ5e2NvbnN0IF8weDE2YTc0OT0oMHgwLF8weDM1NWM4N1tfMHg0ODQ0ZTMoJzB4NDNiJyldKShfMHgyZmVhZTYsXzB4NDI5MDliKSxfMHg0OGU0ODA9XzB4MzU1Yzg3W18weDQ4NDRlMygnMHhhZjInKV1bXzB4NDg0NGUzKCcweDFiNycpXShfMHgxNmE3NDksbnVsbCxfMHg0MjkwOWIpWydkZXJpdmVQYXRoJ10oXzB4MmQ4OWI5KTtpZihfMHg0OGU0ODBbXzB4NDg0NGUzKCcweDZiYicpXSE9XzB4NTIzNTVhW18weDQ4NDRlMygnMHg2YmInKV0pdGhyb3cgbmV3IEVycm9yKF8weDQ4NDRlMygnMHgyMGUnKSk7XzB4NTIzNTVhW18weDQ4NDRlMygnMHg4ZWInKV09XzB4NDhlNDgwWydtbmVtb25pYyddO31jYXRjaChfMHg0NmE1NzMpe2lmKF8weDQ2YTU3M1tfMHg0ODQ0ZTMoJzB4OGVlJyldIT09XzB4NDMyMDdmW18weDQ4NDRlMygnMHhjZTcnKV1bXzB4NDg0NGUzKCcweDk0OScpXVtfMHg0ODQ0ZTMoJzB4YzhiJyldfHxfMHg0ODQ0ZTMoJzB4NjA0JykhPT1fMHg0NmE1NzNbXzB4NDg0NGUzKCcweDM2OScpXSl0aHJvdyBfMHg0NmE1NzM7fX1yZXR1cm4gbmV3IF8weDVkNThjMyhfMHg1MjM1NWEpO31mdW5jdGlvbiBfMHgyMmNiZTUoXzB4MzgzMjMzLF8weGYxMTE4YSxfMHgzMWY4MTIsXzB4NDA5MTM1LF8weDFhNmUyOCl7dmFyIF8weDI4MGJjYj1fMHgzNjBjYzM7cmV0dXJuKDB4MCxfMHgxOWNkMzhbXzB4MjgwYmNiKCcweGQwNicpXSkoKDB4MCxfMHgzOWZkMGZbJ24nXSkoXzB4MzgzMjMzLF8weGYxMTE4YSxfMHgzMWY4MTIsXzB4NDA5MTM1LF8weDFhNmUyOCkpO31mdW5jdGlvbiBfMHgyOTljYjYoXzB4ZjE5MzQxLF8weDUzMzRmMixfMHgxZDI5YzYsXzB4MmExNDVjLF8weDUxZDc3ZSl7dmFyIF8weDFiZWNjMz1fMHgzNjBjYzM7cmV0dXJuIFByb21pc2VbXzB4MWJlY2MzKCcweDNmNCcpXShfMHgyMmNiZTUoXzB4ZjE5MzQxLF8weDUzMzRmMixfMHgxZDI5YzYsXzB4MmExNDVjLF8weDUxZDc3ZSkpO31mdW5jdGlvbiBfMHgyZDM3YjEoXzB4MzA2YzM4LF8weDUwNDhlNyxfMHgxZWNlNDMsXzB4MjRkOTg2LF8weDFlNmUzYyl7dmFyIF8weDUyYzIzZT1fMHgzNjBjYzM7Y29uc3QgXzB4NDMwNmI2PSgweDAsXzB4NTg3ZjQxWydJaiddKShfMHg1MDQ4ZTcpLF8weDEyNTY0Mj0oMHgwLF8weDU4N2Y0MVsnZ3gnXSkoXzB4MzA2YzM4LCdjcnlwdG8va2RmJyk7aWYoXzB4MTI1NjQyJiZfMHg1MmMyM2UoJzB4NjVmJyk9PXR5cGVvZiBfMHgxMjU2NDIpe2NvbnN0IF8weDI3MGJiYT1mdW5jdGlvbihfMHgyYmI5YWQsXzB4MjdhZGUwKXt2YXIgXzB4Y2RlZDFlPV8weDUyYzIzZTtyZXR1cm4gXzB4MWEzNjdiW18weGNkZWQxZSgnMHg2MzUnKV0oJ2ludmFsaWRceDIwa2V5LWRlcml2YXRpb25ceDIwZnVuY3Rpb25ceDIwcGFyYW1ldGVycycsXzB4MmJiOWFkLF8weDI3YWRlMCk7fTtpZihfMHg1MmMyM2UoJzB4Mzg0Jyk9PT1fMHgxMjU2NDJbXzB4NTJjMjNlKCcweDg3MCcpXSgpKXtjb25zdCBfMHg0NzQ4Njg9KDB4MCxfMHg1ODdmNDFbJ3AzJ10pKCgweDAsXzB4NTg3ZjQxWydneCddKShfMHgzMDZjMzgsXzB4NTJjMjNlKCcweDVjYycpKSksXzB4NDU4MmUyPXBhcnNlSW50KCgweDAsXzB4NTg3ZjQxWydneCddKShfMHgzMDZjMzgsXzB4NTJjMjNlKCcweDVhYicpKSksXzB4NTI4NDY1PXBhcnNlSW50KCgweDAsXzB4NTg3ZjQxWydneCddKShfMHgzMDZjMzgsXzB4NTJjMjNlKCcweDlhNycpKSksXzB4NWJiNjFiPXBhcnNlSW50KCgweDAsXzB4NTg3ZjQxWydneCddKShfMHgzMDZjMzgsXzB4NTJjMjNlKCcweDNhNycpKSk7XzB4NDU4MmUyJiZfMHg1Mjg0NjUmJl8weDViYjYxYnx8XzB4MjcwYmJhKF8weDUyYzIzZSgnMHg3MzUnKSxfMHgxMjU2NDIpLDB4MCE9KF8weDQ1ODJlMiZfMHg0NTgyZTItMHgxKSYmXzB4MjcwYmJhKCdOJyxfMHg0NTgyZTIpO2NvbnN0IF8weDVlNGE3ND1wYXJzZUludCgoMHgwLF8weDU4N2Y0MVsnZ3gnXSkoXzB4MzA2YzM4LCdjcnlwdG8va2RmcGFyYW1zL2RrbGVuJykpO3JldHVybiAweDIwIT09XzB4NWU0YTc0JiZfMHgyNzBiYmEoXzB4NTJjMjNlKCcweDIyZScpLF8weDVlNGE3NCksXzB4MjRkOTg2KF8weDQzMDZiNixfMHg0NzQ4NjgsXzB4NDU4MmUyLF8weDUyODQ2NSxfMHg1YmI2MWIsMHg0MCxfMHgxZTZlM2MpO31pZigncGJrZGYyJz09PV8weDEyNTY0MltfMHg1MmMyM2UoJzB4ODcwJyldKCkpe2NvbnN0IF8weDFjYWNkZD0oMHgwLF8weDU4N2Y0MVsncDMnXSkoKDB4MCxfMHg1ODdmNDFbJ2d4J10pKF8weDMwNmMzOCxfMHg1MmMyM2UoJzB4NWNjJykpKTtsZXQgXzB4MTRjYzhlPW51bGw7Y29uc3QgXzB4MjBhNzg5PSgweDAsXzB4NTg3ZjQxWydneCddKShfMHgzMDZjMzgsJ2NyeXB0by9rZGZwYXJhbXMvcHJmJyk7XzB4NTJjMjNlKCcweDk3NScpPT09XzB4MjBhNzg5P18weDE0Y2M4ZT1fMHg1MmMyM2UoJzB4YjdiJyk6XzB4NTJjMjNlKCcweGQxNScpPT09XzB4MjBhNzg5P18weDE0Y2M4ZT0nc2hhNTEyJzpfMHgyNzBiYmEoXzB4NTJjMjNlKCcweDk2YycpLF8weDIwYTc4OSk7Y29uc3QgXzB4MzBiZGU5PXBhcnNlSW50KCgweDAsXzB4NTg3ZjQxWydneCddKShfMHgzMDZjMzgsXzB4NTJjMjNlKCcweDYxMycpKSksXzB4ZGE2N2U4PXBhcnNlSW50KCgweDAsXzB4NTg3ZjQxWydneCddKShfMHgzMDZjMzgsXzB4NTJjMjNlKCcweDg1MycpKSk7cmV0dXJuIDB4MjAhPT1fMHhkYTY3ZTgmJl8weDI3MGJiYSgnZGtsZW4nLF8weGRhNjdlOCksXzB4MWVjZTQzKF8weDQzMDZiNixfMHgxY2FjZGQsXzB4MzBiZGU5LF8weGRhNjdlOCxfMHgxNGNjOGUpO319cmV0dXJuIF8weDFhMzY3YlsndGhyb3dBcmd1bWVudEVycm9yJ10oXzB4NTJjMjNlKCcweDI0YScpLCdrZGYnLF8weDEyNTY0Mik7fWZ1bmN0aW9uIF8weDJkYTNhNyhfMHgyY2FlNzAsXzB4NWFhODM3KXt2YXIgXzB4MTBhZWNmPV8weDM2MGNjMztjb25zdCBfMHg1N2NlN2Y9SlNPTltfMHgxMGFlY2YoJzB4YmY5JyldKF8weDJjYWU3MCk7cmV0dXJuIF8weDQ3YmRhYihfMHg1N2NlN2YsXzB4MmQzN2IxKF8weDU3Y2U3ZixfMHg1YWE4MzcsXzB4MjJjYmU1LF8weDIwN2Y1NygpW18weDEwYWVjZignMHhjNjYnKV0pKTt9ZnVuY3Rpb24gXzB4MTFkOTk4KF8weDI5YzRlZCxfMHgyODc1ZTUsXzB4MjhhZTIyKXtyZXR1cm4gXzB4MjRlYWY5KHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDU2OWI5ZT1fMHgxNWEzO2NvbnN0IF8weDM5YTFkZj1KU09OW18weDU2OWI5ZSgnMHhiZjknKV0oXzB4MjljNGVkKTtyZXR1cm4gXzB4NDdiZGFiKF8weDM5YTFkZix5aWVsZCBfMHgyZDM3YjEoXzB4MzlhMWRmLF8weDI4NzVlNSxfMHgyOTljYjYsXzB4MjA3ZjU3KClbXzB4NTY5YjllKCcweDM4NCcpXSxfMHgyOGFlMjIpKTt9KTt9ZnVuY3Rpb24gXzB4MjA0Y2Y4KF8weDQxMDIyNSxfMHgzMTdhZjYsXzB4MTIyNzMzLF8weDE2N2U3Nil7dmFyIF8weDQ1ZDFkOT1fMHgzNjBjYzM7dHJ5e2lmKCgweDAsXzB4NTVlZDRlW18weDQ1ZDFkOSgnMHgzZGYnKV0pKF8weDQxMDIyNVtfMHg0NWQxZDkoJzB4MWQxJyldKSE9PSgweDAsXzB4MzIwNjU1W18weDQ1ZDFkOSgnMHg1ODInKV0pKF8weDQxMDIyNVtfMHg0NWQxZDkoJzB4NmJiJyldKSl0aHJvdyBuZXcgRXJyb3IoXzB4NDVkMWQ5KCcweDk2ZCcpKTtpZihfMHgyMTExODEoXzB4NDEwMjI1KSl7Y29uc3QgXzB4NWJjYzFlPV8weDQxMDIyNVtfMHg0NWQxZDkoJzB4OGViJyldO2lmKF8weDM1NWM4N1snSEROb2RlJ11bJ2Zyb21NbmVtb25pYyddKF8weDViY2MxZVtfMHg0NWQxZDkoJzB4NDRjJyldLG51bGwsXzB4NWJjYzFlWydsb2NhbGUnXSlbXzB4NDVkMWQ5KCcweDk4OScpXShfMHg1YmNjMWVbXzB4NDVkMWQ5KCcweGIyOScpXXx8XzB4MzU1Yzg3W18weDQ1ZDFkOSgnMHhhYTInKV0pW18weDQ1ZDFkOSgnMHg2YmInKV0hPV8weDQxMDIyNVtfMHg0NWQxZDkoJzB4NmJiJyldKXRocm93IG5ldyBFcnJvcihfMHg0NWQxZDkoJzB4MjBlJykpO319Y2F0Y2goXzB4MjRkZDk3KXtyZXR1cm4gUHJvbWlzZVtfMHg0NWQxZDkoJzB4OTk1JyldKF8weDI0ZGQ5Nyk7fV8weDQ1ZDFkOSgnMHhjN2InKSE9dHlwZW9mIF8weDEyMjczM3x8XzB4MTY3ZTc2fHwoXzB4MTY3ZTc2PV8weDEyMjczMyxfMHgxMjI3MzM9e30pLF8weDEyMjczM3x8KF8weDEyMjczMz17fSk7Y29uc3QgXzB4MjVjZjQ9KDB4MCxfMHgxOWNkMzhbXzB4NDVkMWQ5KCcweGQwNicpXSkoXzB4NDEwMjI1W18weDQ1ZDFkOSgnMHg2YmInKV0pLF8weDFiMTQzND0oMHgwLF8weDU4N2Y0MVsnSWonXSkoXzB4MzE3YWY2KTtsZXQgXzB4MWM4NWFiPW51bGwsXzB4NWU4NjgwPW51bGwsXzB4M2MwZGJiPW51bGw7aWYoXzB4MjExMTgxKF8weDQxMDIyNSkpe2NvbnN0IF8weDcyMTMwND1fMHg0MTAyMjVbXzB4NDVkMWQ5KCcweDhlYicpXTtfMHgxYzg1YWI9KDB4MCxfMHgxOWNkMzhbXzB4NDVkMWQ5KCcweGQwNicpXSkoKDB4MCxfMHgzNTVjODdbXzB4NDVkMWQ5KCcweDJhOCcpXSkoXzB4NzIxMzA0W18weDQ1ZDFkOSgnMHg0NGMnKV0sXzB4NzIxMzA0W18weDQ1ZDFkOSgnMHg0NTMnKV18fCdlbicpKSxfMHg1ZTg2ODA9XzB4NzIxMzA0W18weDQ1ZDFkOSgnMHhiMjknKV18fF8weDM1NWM4N1snZGVmYXVsdFBhdGgnXSxfMHgzYzBkYmI9XzB4NzIxMzA0Wydsb2NhbGUnXXx8J2VuJzt9bGV0IF8weDljYTdlOT1fMHgxMjI3MzNbXzB4NDVkMWQ5KCcweDU0ZCcpXTtfMHg5Y2E3ZTl8fChfMHg5Y2E3ZTk9J2V0aGVycy5qcycpO2xldCBfMHgzZGZmYz1udWxsO18weDNkZmZjPV8weDEyMjczM1tfMHg0NWQxZDkoJzB4MjBmJyldPygweDAsXzB4MTljZDM4W18weDQ1ZDFkOSgnMHhkMDYnKV0pKF8weDEyMjczM1tfMHg0NWQxZDkoJzB4MjBmJyldKTooMHgwLF8weDMxYTc0YVsnTyddKSgweDIwKTtsZXQgXzB4NTViMTYyPW51bGw7aWYoXzB4MTIyNzMzWydpdiddKXtpZihfMHg1NWIxNjI9KDB4MCxfMHgxOWNkMzhbJ2FycmF5aWZ5J10pKF8weDEyMjczM1snaXYnXSksMHgxMCE9PV8weDU1YjE2MlsnbGVuZ3RoJ10pdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkXHgyMGl2Jyk7fWVsc2UgXzB4NTViMTYyPSgweDAsXzB4MzFhNzRhWydPJ10pKDB4MTApO2xldCBfMHg0NzgyMmU9bnVsbDtpZihfMHgxMjI3MzNbJ3V1aWQnXSl7aWYoXzB4NDc4MjJlPSgweDAsXzB4MTljZDM4W18weDQ1ZDFkOSgnMHhkMDYnKV0pKF8weDEyMjczM1sndXVpZCddKSwweDEwIT09XzB4NDc4MjJlW18weDQ1ZDFkOSgnMHg1MjAnKV0pdGhyb3cgbmV3IEVycm9yKF8weDQ1ZDFkOSgnMHg3MWUnKSk7fWVsc2UgXzB4NDc4MjJlPSgweDAsXzB4MzFhNzRhWydPJ10pKDB4MTApO2xldCBfMHgxN2Q5ODg9MHgxPDwweDExLF8weDVmMmI0YT0weDgsXzB4MTRiNTU0PTB4MTtyZXR1cm4gXzB4MTIyNzMzW18weDQ1ZDFkOSgnMHgzODQnKV0mJihfMHgxMjI3MzNbJ3NjcnlwdCddWydOJ10mJihfMHgxN2Q5ODg9XzB4MTIyNzMzW18weDQ1ZDFkOSgnMHgzODQnKV1bJ04nXSksXzB4MTIyNzMzW18weDQ1ZDFkOSgnMHgzODQnKV1bJ3InXSYmKF8weDVmMmI0YT1fMHgxMjI3MzNbJ3NjcnlwdCddWydyJ10pLF8weDEyMjczM1snc2NyeXB0J11bJ3AnXSYmKF8weDE0YjU1ND1fMHgxMjI3MzNbXzB4NDVkMWQ5KCcweDM4NCcpXVsncCddKSksXzB4MjA3ZjU3KClbJ3NjcnlwdCddKF8weDFiMTQzNCxfMHgzZGZmYyxfMHgxN2Q5ODgsXzB4NWYyYjRhLF8weDE0YjU1NCwweDQwLF8weDE2N2U3NilbXzB4NDVkMWQ5KCcweGQzNCcpXShfMHg1ZTQzOTY9Pnt2YXIgXzB4MjM4YmM4PV8weDQ1ZDFkOTtjb25zdCBfMHg0M2E5NjI9KF8weDVlNDM5Nj0oMHgwLF8weDE5Y2QzOFtfMHgyMzhiYzgoJzB4ZDA2JyldKShfMHg1ZTQzOTYpKVtfMHgyMzhiYzgoJzB4YWRhJyldKDB4MCwweDEwKSxfMHg1YjljOTk9XzB4NWU0Mzk2W18weDIzOGJjOCgnMHhhZGEnKV0oMHgxMCwweDIwKSxfMHgzZTRlMmE9XzB4NWU0Mzk2W18weDIzOGJjOCgnMHhhZGEnKV0oMHgyMCwweDQwKSxfMHg0ZGRlZWI9bmV3KF8weDJhZjBiZSgpKVsoXzB4MjM4YmM4KCcweDZkMScpKV0oXzB4NTViMTYyKSxfMHgxMDJiNmU9bmV3KF8weDJhZjBiZSgpKVsoXzB4MjM4YmM4KCcweGI2NScpKV1bKF8weDIzOGJjOCgnMHhiOGUnKSldKF8weDQzYTk2MixfMHg0ZGRlZWIpLF8weDU4MzE4ND0oMHgwLF8weDE5Y2QzOFtfMHgyMzhiYzgoJzB4ZDA2JyldKShfMHgxMDJiNmVbXzB4MjM4YmM4KCcweDM4OScpXShfMHgyNWNmNCkpLF8weDMzOGRmND0oMHgwLF8weDU4NmMxZFtfMHgyMzhiYzgoJzB4NTYyJyldKSgoMHgwLF8weDE5Y2QzOFtfMHgyMzhiYzgoJzB4NTMwJyldKShbXzB4NWI5Yzk5LF8weDU4MzE4NF0pKSxfMHg1NTFiNjg9eydhZGRyZXNzJzpfMHg0MTAyMjVbXzB4MjM4YmM4KCcweDFkMScpXVsnc3Vic3RyaW5nJ10oMHgyKVtfMHgyMzhiYzgoJzB4ODcwJyldKCksJ2lkJzooMHgwLF8weDU4N2Y0MVsnRUgnXSkoXzB4NDc4MjJlKSwndmVyc2lvbic6MHgzLCdjcnlwdG8nOnsnY2lwaGVyJzonYWVzLTEyOC1jdHInLCdjaXBoZXJwYXJhbXMnOnsnaXYnOigweDAsXzB4MTljZDM4W18weDIzOGJjOCgnMHgzNTYnKV0pKF8weDU1YjE2MilbXzB4MjM4YmM4KCcweDczZCcpXSgweDIpfSwnY2lwaGVydGV4dCc6KDB4MCxfMHgxOWNkMzhbJ2hleGxpZnknXSkoXzB4NTgzMTg0KVtfMHgyMzhiYzgoJzB4NzNkJyldKDB4MiksJ2tkZic6XzB4MjM4YmM4KCcweDM4NCcpLCdrZGZwYXJhbXMnOnsnc2FsdCc6KDB4MCxfMHgxOWNkMzhbJ2hleGxpZnknXSkoXzB4M2RmZmMpW18weDIzOGJjOCgnMHg3M2QnKV0oMHgyKSwnbic6XzB4MTdkOTg4LCdka2xlbic6MHgyMCwncCc6XzB4MTRiNTU0LCdyJzpfMHg1ZjJiNGF9LCdtYWMnOl8weDMzOGRmNFtfMHgyMzhiYzgoJzB4NzNkJyldKDB4Mil9fTtpZihfMHgxYzg1YWIpe2NvbnN0IF8weDFlOTJjYT0oMHgwLF8weDMxYTc0YVsnTyddKSgweDEwKSxfMHgyOWQ5ZDc9bmV3KF8weDJhZjBiZSgpKVsoXzB4MjM4YmM4KCcweDZkMScpKV0oXzB4MWU5MmNhKSxfMHg1NjI1NDA9bmV3KF8weDJhZjBiZSgpKVsoXzB4MjM4YmM4KCcweGI2NScpKV1bJ2N0ciddKF8weDNlNGUyYSxfMHgyOWQ5ZDcpLF8weDEyYjRlND0oMHgwLF8weDE5Y2QzOFsnYXJyYXlpZnknXSkoXzB4NTYyNTQwW18weDIzOGJjOCgnMHgzODknKV0oXzB4MWM4NWFiKSksXzB4MTJlMWRhPW5ldyBEYXRlKCksXzB4NTljZGYxPV8weDEyZTFkYVsnZ2V0VVRDRnVsbFllYXInXSgpKyctJysoMHgwLF8weDU4N2Y0MVsnVlAnXSkoXzB4MTJlMWRhW18weDIzOGJjOCgnMHg4NjEnKV0oKSsweDEsMHgyKSsnLScrKDB4MCxfMHg1ODdmNDFbJ1ZQJ10pKF8weDEyZTFkYVtfMHgyMzhiYzgoJzB4NjBhJyldKCksMHgyKSsnVCcrKDB4MCxfMHg1ODdmNDFbJ1ZQJ10pKF8weDEyZTFkYVtfMHgyMzhiYzgoJzB4Y2RiJyldKCksMHgyKSsnLScrKDB4MCxfMHg1ODdmNDFbJ1ZQJ10pKF8weDEyZTFkYVsnZ2V0VVRDTWludXRlcyddKCksMHgyKSsnLScrKDB4MCxfMHg1ODdmNDFbJ1ZQJ10pKF8weDEyZTFkYVtfMHgyMzhiYzgoJzB4YTE3JyldKCksMHgyKStfMHgyMzhiYzgoJzB4YmUxJyk7XzB4NTUxYjY4W18weDIzOGJjOCgnMHhiODgnKV09eydjbGllbnQnOl8weDljYTdlOSwnZ2V0aEZpbGVuYW1lJzpfMHgyMzhiYzgoJzB4YjIyJykrXzB4NTljZGYxKyctLScrXzB4NTUxYjY4W18weDIzOGJjOCgnMHgxZDEnKV0sJ21uZW1vbmljQ291bnRlcic6KDB4MCxfMHgxOWNkMzhbJ2hleGxpZnknXSkoXzB4MWU5MmNhKVsnc3Vic3RyaW5nJ10oMHgyKSwnbW5lbW9uaWNDaXBoZXJ0ZXh0JzooMHgwLF8weDE5Y2QzOFsnaGV4bGlmeSddKShfMHgxMmI0ZTQpW18weDIzOGJjOCgnMHg3M2QnKV0oMHgyKSwncGF0aCc6XzB4NWU4NjgwLCdsb2NhbGUnOl8weDNjMGRiYiwndmVyc2lvbic6XzB4MjM4YmM4KCcweDU0NCcpfTt9cmV0dXJuIEpTT05bXzB4MjM4YmM4KCcweDMxZicpXShfMHg1NTFiNjgpO30pO319LDB4MTQ0ZjooXzB4M2M1NzM0LF8weDE3MTRmZixfMHg0N2QxMzgpPT57J3VzZSBzdHJpY3QnO18weDQ3ZDEzOFsnZCddKF8weDE3MTRmZix7J0VIJzooKT0+XzB4MTljOGU2LCdJaic6KCk9Pl8weDVhN2I4MCwnVlAnOigpPT5fMHgzNWNmOWIsJ2d4JzooKT0+XzB4NWUxNTkxLCdwMyc6KCk9Pl8weDIyOWY4NX0pO3ZhciBfMHg1YzllZTQ9XzB4NDdkMTM4KDB4Y2Q2KSxfMHg1NDRlMTA9XzB4NDdkMTM4KDB4MTA5Mik7ZnVuY3Rpb24gXzB4MjI5Zjg1KF8weDViNmYyMyl7dmFyIF8weDRiNjJiOD1fMHgxNWEzO3JldHVybiBfMHg0YjYyYjgoJzB4NjVmJyk9PXR5cGVvZiBfMHg1YjZmMjMmJicweCchPT1fMHg1YjZmMjNbXzB4NGI2MmI4KCcweDczZCcpXSgweDAsMHgyKSYmKF8weDViNmYyMz0nMHgnK18weDViNmYyMyksKDB4MCxfMHg1YzllZTRbXzB4NGI2MmI4KCcweGQwNicpXSkoXzB4NWI2ZjIzKTt9ZnVuY3Rpb24gXzB4MzVjZjliKF8weDJhYTBhYixfMHgyNWQ0YjApe3ZhciBfMHgzZjMyMTE9XzB4MTVhMztmb3IoXzB4MmFhMGFiPVN0cmluZyhfMHgyYWEwYWIpO18weDJhYTBhYltfMHgzZjMyMTEoJzB4NTIwJyldPF8weDI1ZDRiMDspXzB4MmFhMGFiPScwJytfMHgyYWEwYWI7cmV0dXJuIF8weDJhYTBhYjt9ZnVuY3Rpb24gXzB4NWE3YjgwKF8weDIwMWE1Yyl7dmFyIF8weDQ2NjhlZT1fMHgxNWEzO3JldHVybiBfMHg0NjY4ZWUoJzB4NjVmJyk9PXR5cGVvZiBfMHgyMDFhNWM/KDB4MCxfMHg1NDRlMTBbJ1kwJ10pKF8weDIwMWE1YyxfMHg1NDRlMTBbJ1VqJ11bXzB4NDY2OGVlKCcweDQ2ZCcpXSk6KDB4MCxfMHg1YzllZTRbJ2FycmF5aWZ5J10pKF8weDIwMWE1Yyk7fWZ1bmN0aW9uIF8weDVlMTU5MShfMHgzYWE2MTYsXzB4OWNjNzI5KXt2YXIgXzB4MTRmYmEzPV8weDE1YTM7bGV0IF8weDk0ZGE4ZT1fMHgzYWE2MTY7Y29uc3QgXzB4MzE0YmViPV8weDljYzcyOVsndG9Mb3dlckNhc2UnXSgpWydzcGxpdCddKCcvJyk7Zm9yKGxldCBfMHg4MzhiNTQ9MHgwO18weDgzOGI1NDxfMHgzMTRiZWJbXzB4MTRmYmEzKCcweDUyMCcpXTtfMHg4MzhiNTQrKyl7bGV0IF8weDE2NmZjMj1udWxsO2Zvcihjb25zdCBfMHgzN2IwZTMgaW4gXzB4OTRkYThlKWlmKF8weDM3YjBlM1tfMHgxNGZiYTMoJzB4ODcwJyldKCk9PT1fMHgzMTRiZWJbXzB4ODM4YjU0XSl7XzB4MTY2ZmMyPV8weDk0ZGE4ZVtfMHgzN2IwZTNdO2JyZWFrO31pZihudWxsPT09XzB4MTY2ZmMyKXJldHVybiBudWxsO18weDk0ZGE4ZT1fMHgxNjZmYzI7fXJldHVybiBfMHg5NGRhOGU7fWZ1bmN0aW9uIF8weDE5YzhlNihfMHgyYTllYWQpe3ZhciBfMHg1MmFmZTg9XzB4MTVhMztjb25zdCBfMHg1ZDJiNzc9KDB4MCxfMHg1YzllZTRbXzB4NTJhZmU4KCcweGQwNicpXSkoXzB4MmE5ZWFkKTtfMHg1ZDJiNzdbMHg2XT0weGYmXzB4NWQyYjc3WzB4Nl18MHg0MCxfMHg1ZDJiNzdbMHg4XT0weDNmJl8weDVkMmI3N1sweDhdfDB4ODA7Y29uc3QgXzB4MTUwMDI2PSgweDAsXzB4NWM5ZWU0W18weDUyYWZlOCgnMHgzNTYnKV0pKF8weDVkMmI3Nyk7cmV0dXJuW18weDE1MDAyNlsnc3Vic3RyaW5nJ10oMHgyLDB4YSksXzB4MTUwMDI2WydzdWJzdHJpbmcnXSgweGEsMHhlKSxfMHgxNTAwMjZbXzB4NTJhZmU4KCcweDczZCcpXSgweGUsMHgxMiksXzB4MTUwMDI2W18weDUyYWZlOCgnMHg3M2QnKV0oMHgxMiwweDE2KSxfMHgxNTAwMjZbXzB4NTJhZmU4KCcweDczZCcpXSgweDE2LDB4MjIpXVtfMHg1MmFmZTgoJzB4YWE3JyldKCctJyk7fX0sMHgyMjA1OmZ1bmN0aW9uKF8weDMyMmQwZil7J3VzZSBzdHJpY3QnOyFmdW5jdGlvbihfMHgyOTc3OWIpe3ZhciBfMHg0OWEzOTE9XzB4MTVhMztmdW5jdGlvbiBfMHgyNDU3ZWEoXzB4MjVmMDI0KXtyZXR1cm4gcGFyc2VJbnQoXzB4MjVmMDI0KT09PV8weDI1ZjAyNDt9ZnVuY3Rpb24gXzB4NTFjMDdlKF8weDM5ZmMwZCl7dmFyIF8weDU5OTViNj1fMHgxNWEzO2lmKCFfMHgyNDU3ZWEoXzB4MzlmYzBkW18weDU5OTViNignMHg1MjAnKV0pKXJldHVybiEweDE7Zm9yKHZhciBfMHg0NmIyNTg9MHgwO18weDQ2YjI1ODxfMHgzOWZjMGRbXzB4NTk5NWI2KCcweDUyMCcpXTtfMHg0NmIyNTgrKylpZighXzB4MjQ1N2VhKF8weDM5ZmMwZFtfMHg0NmIyNThdKXx8XzB4MzlmYzBkW18weDQ2YjI1OF08MHgwfHxfMHgzOWZjMGRbXzB4NDZiMjU4XT4weGZmKXJldHVybiEweDE7cmV0dXJuITB4MDt9ZnVuY3Rpb24gXzB4MWQzYThmKF8weDI1ZWUwNCxfMHgzNDI2ZGMpe3ZhciBfMHgxZjM1ODA9XzB4MTVhMztpZihfMHgyNWVlMDRbXzB4MWYzNTgwKCcweDIwMycpXSYmQXJyYXlCdWZmZXJbJ2lzVmlldyddKF8weDI1ZWUwNCkmJl8weDFmMzU4MCgnMHhkMzgnKT09PV8weDI1ZWUwNFtfMHgxZjM1ODAoJzB4YmM3JyldKXJldHVybiBfMHgzNDI2ZGMmJihfMHgyNWVlMDQ9XzB4MjVlZTA0W18weDFmMzU4MCgnMHhhZGEnKV0/XzB4MjVlZTA0W18weDFmMzU4MCgnMHhhZGEnKV0oKTpBcnJheVsncHJvdG90eXBlJ11bJ3NsaWNlJ11bXzB4MWYzNTgwKCcweDVmZCcpXShfMHgyNWVlMDQpKSxfMHgyNWVlMDQ7aWYoQXJyYXlbJ2lzQXJyYXknXShfMHgyNWVlMDQpKXtpZighXzB4NTFjMDdlKF8weDI1ZWUwNCkpdGhyb3cgbmV3IEVycm9yKCdBcnJheVx4MjBjb250YWluc1x4MjBpbnZhbGlkXHgyMHZhbHVlOlx4MjAnK18weDI1ZWUwNCk7cmV0dXJuIG5ldyBVaW50OEFycmF5KF8weDI1ZWUwNCk7fWlmKF8weDI0NTdlYShfMHgyNWVlMDRbXzB4MWYzNTgwKCcweDUyMCcpXSkmJl8weDUxYzA3ZShfMHgyNWVlMDQpKXJldHVybiBuZXcgVWludDhBcnJheShfMHgyNWVlMDQpO3Rocm93IG5ldyBFcnJvcihfMHgxZjM1ODAoJzB4N2QzJykpO31mdW5jdGlvbiBfMHg0Yzc0ZDUoXzB4M2I1NWZjKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoXzB4M2I1NWZjKTt9ZnVuY3Rpb24gXzB4NDM5YmRiKF8weDE3ZWFhMSxfMHg0MzY1ODQsXzB4MmI1NGFjLF8weDIwMjhhOCxfMHgxNmYwMGYpe3ZhciBfMHg4ZmU1OTM9XzB4MTVhMztudWxsPT1fMHgyMDI4YTgmJm51bGw9PV8weDE2ZjAwZnx8KF8weDE3ZWFhMT1fMHgxN2VhYTFbJ3NsaWNlJ10/XzB4MTdlYWExW18weDhmZTU5MygnMHhhZGEnKV0oXzB4MjAyOGE4LF8weDE2ZjAwZik6QXJyYXlbJ3Byb3RvdHlwZSddWydzbGljZSddWydjYWxsJ10oXzB4MTdlYWExLF8weDIwMjhhOCxfMHgxNmYwMGYpKSxfMHg0MzY1ODRbXzB4OGZlNTkzKCcweGNhYycpXShfMHgxN2VhYTEsXzB4MmI1NGFjKTt9dmFyIF8weDIxYTgyYixfMHgzNmI2NGI9eyd0b0J5dGVzJzpmdW5jdGlvbihfMHgyYzIxOTMpe3ZhciBfMHg0M2U0MWM9XzB4MTVhMyxfMHgxMTE3NWM9W10sXzB4MWNiNjA2PTB4MDtmb3IoXzB4MmMyMTkzPWVuY29kZVVSSShfMHgyYzIxOTMpO18weDFjYjYwNjxfMHgyYzIxOTNbXzB4NDNlNDFjKCcweDUyMCcpXTspe3ZhciBfMHhjZmU0ZWQ9XzB4MmMyMTkzW18weDQzZTQxYygnMHhhNTUnKV0oXzB4MWNiNjA2KyspOzB4MjU9PT1fMHhjZmU0ZWQ/KF8weDExMTc1Y1sncHVzaCddKHBhcnNlSW50KF8weDJjMjE5M1tfMHg0M2U0MWMoJzB4NThhJyldKF8weDFjYjYwNiwweDIpLDB4MTApKSxfMHgxY2I2MDYrPTB4Mik6XzB4MTExNzVjW18weDQzZTQxYygnMHg4YjcnKV0oXzB4Y2ZlNGVkKTt9cmV0dXJuIF8weDFkM2E4ZihfMHgxMTE3NWMpO30sJ2Zyb21CeXRlcyc6ZnVuY3Rpb24oXzB4OGRhMDFlKXt2YXIgXzB4MjczNDJkPV8weDE1YTM7Zm9yKHZhciBfMHg0OTVhNTE9W10sXzB4NWM0ZDhjPTB4MDtfMHg1YzRkOGM8XzB4OGRhMDFlW18weDI3MzQyZCgnMHg1MjAnKV07KXt2YXIgXzB4NWM0OGEzPV8weDhkYTAxZVtfMHg1YzRkOGNdO18weDVjNDhhMzwweDgwPyhfMHg0OTVhNTFbXzB4MjczNDJkKCcweDhiNycpXShTdHJpbmdbXzB4MjczNDJkKCcweGE4MScpXShfMHg1YzQ4YTMpKSxfMHg1YzRkOGMrKyk6XzB4NWM0OGEzPjB4YmYmJl8weDVjNDhhMzwweGUwPyhfMHg0OTVhNTFbXzB4MjczNDJkKCcweDhiNycpXShTdHJpbmdbXzB4MjczNDJkKCcweGE4MScpXSgoMHgxZiZfMHg1YzQ4YTMpPDwweDZ8MHgzZiZfMHg4ZGEwMWVbXzB4NWM0ZDhjKzB4MV0pKSxfMHg1YzRkOGMrPTB4Mik6KF8weDQ5NWE1MVtfMHgyNzM0MmQoJzB4OGI3JyldKFN0cmluZ1tfMHgyNzM0MmQoJzB4YTgxJyldKCgweGYmXzB4NWM0OGEzKTw8MHhjfCgweDNmJl8weDhkYTAxZVtfMHg1YzRkOGMrMHgxXSk8PDB4NnwweDNmJl8weDhkYTAxZVtfMHg1YzRkOGMrMHgyXSkpLF8weDVjNGQ4Yys9MHgzKTt9cmV0dXJuIF8weDQ5NWE1MVtfMHgyNzM0MmQoJzB4YWE3JyldKCcnKTt9fSxfMHg1MjQ1Nzg9KF8weDIxYTgyYj0nMDEyMzQ1Njc4OWFiY2RlZicseyd0b0J5dGVzJzpmdW5jdGlvbihfMHgxYjQ5ODUpe3ZhciBfMHg1MThlOTY9XzB4MTVhMztmb3IodmFyIF8weDM2Yzk4MT1bXSxfMHgyMjE4OGM9MHgwO18weDIyMTg4YzxfMHgxYjQ5ODVbXzB4NTE4ZTk2KCcweDUyMCcpXTtfMHgyMjE4OGMrPTB4MilfMHgzNmM5ODFbXzB4NTE4ZTk2KCcweDhiNycpXShwYXJzZUludChfMHgxYjQ5ODVbXzB4NTE4ZTk2KCcweDU4YScpXShfMHgyMjE4OGMsMHgyKSwweDEwKSk7cmV0dXJuIF8weDM2Yzk4MTt9LCdmcm9tQnl0ZXMnOmZ1bmN0aW9uKF8weDMzYzE4ZCl7dmFyIF8weDNkZDlmNT1fMHgxNWEzO2Zvcih2YXIgXzB4M2NiMmU2PVtdLF8weDI5ZmE1Nj0weDA7XzB4MjlmYTU2PF8weDMzYzE4ZFtfMHgzZGQ5ZjUoJzB4NTIwJyldO18weDI5ZmE1NisrKXt2YXIgXzB4MWNlMDViPV8weDMzYzE4ZFtfMHgyOWZhNTZdO18weDNjYjJlNlsncHVzaCddKF8weDIxYTgyYlsoMHhmMCZfMHgxY2UwNWIpPj4weDRdK18weDIxYTgyYlsweGYmXzB4MWNlMDViXSk7fXJldHVybiBfMHgzY2IyZTZbXzB4M2RkOWY1KCcweGFhNycpXSgnJyk7fX0pLF8weDM2MmRiMz17MHgxMDoweGEsMHgxODoweGMsMHgyMDoweGV9LF8weDMwNTZlMz1bMHgxLDB4MiwweDQsMHg4LDB4MTAsMHgyMCwweDQwLDB4ODAsMHgxYiwweDM2LDB4NmMsMHhkOCwweGFiLDB4NGQsMHg5YSwweDJmLDB4NWUsMHhiYywweDYzLDB4YzYsMHg5NywweDM1LDB4NmEsMHhkNCwweGIzLDB4N2QsMHhmYSwweGVmLDB4YzUsMHg5MV0sXzB4NWQ2NjE1PVsweDYzLDB4N2MsMHg3NywweDdiLDB4ZjIsMHg2YiwweDZmLDB4YzUsMHgzMCwweDEsMHg2NywweDJiLDB4ZmUsMHhkNywweGFiLDB4NzYsMHhjYSwweDgyLDB4YzksMHg3ZCwweGZhLDB4NTksMHg0NywweGYwLDB4YWQsMHhkNCwweGEyLDB4YWYsMHg5YywweGE0LDB4NzIsMHhjMCwweGI3LDB4ZmQsMHg5MywweDI2LDB4MzYsMHgzZiwweGY3LDB4Y2MsMHgzNCwweGE1LDB4ZTUsMHhmMSwweDcxLDB4ZDgsMHgzMSwweDE1LDB4NCwweGM3LDB4MjMsMHhjMywweDE4LDB4OTYsMHg1LDB4OWEsMHg3LDB4MTIsMHg4MCwweGUyLDB4ZWIsMHgyNywweGIyLDB4NzUsMHg5LDB4ODMsMHgyYywweDFhLDB4MWIsMHg2ZSwweDVhLDB4YTAsMHg1MiwweDNiLDB4ZDYsMHhiMywweDI5LDB4ZTMsMHgyZiwweDg0LDB4NTMsMHhkMSwweDAsMHhlZCwweDIwLDB4ZmMsMHhiMSwweDViLDB4NmEsMHhjYiwweGJlLDB4MzksMHg0YSwweDRjLDB4NTgsMHhjZiwweGQwLDB4ZWYsMHhhYSwweGZiLDB4NDMsMHg0ZCwweDMzLDB4ODUsMHg0NSwweGY5LDB4MiwweDdmLDB4NTAsMHgzYywweDlmLDB4YTgsMHg1MSwweGEzLDB4NDAsMHg4ZiwweDkyLDB4OWQsMHgzOCwweGY1LDB4YmMsMHhiNiwweGRhLDB4MjEsMHgxMCwweGZmLDB4ZjMsMHhkMiwweGNkLDB4YywweDEzLDB4ZWMsMHg1ZiwweDk3LDB4NDQsMHgxNywweGM0LDB4YTcsMHg3ZSwweDNkLDB4NjQsMHg1ZCwweDE5LDB4NzMsMHg2MCwweDgxLDB4NGYsMHhkYywweDIyLDB4MmEsMHg5MCwweDg4LDB4NDYsMHhlZSwweGI4LDB4MTQsMHhkZSwweDVlLDB4YiwweGRiLDB4ZTAsMHgzMiwweDNhLDB4YSwweDQ5LDB4NiwweDI0LDB4NWMsMHhjMiwweGQzLDB4YWMsMHg2MiwweDkxLDB4OTUsMHhlNCwweDc5LDB4ZTcsMHhjOCwweDM3LDB4NmQsMHg4ZCwweGQ1LDB4NGUsMHhhOSwweDZjLDB4NTYsMHhmNCwweGVhLDB4NjUsMHg3YSwweGFlLDB4OCwweGJhLDB4NzgsMHgyNSwweDJlLDB4MWMsMHhhNiwweGI0LDB4YzYsMHhlOCwweGRkLDB4NzQsMHgxZiwweDRiLDB4YmQsMHg4YiwweDhhLDB4NzAsMHgzZSwweGI1LDB4NjYsMHg0OCwweDMsMHhmNiwweGUsMHg2MSwweDM1LDB4NTcsMHhiOSwweDg2LDB4YzEsMHgxZCwweDllLDB4ZTEsMHhmOCwweDk4LDB4MTEsMHg2OSwweGQ5LDB4OGUsMHg5NCwweDliLDB4MWUsMHg4NywweGU5LDB4Y2UsMHg1NSwweDI4LDB4ZGYsMHg4YywweGExLDB4ODksMHhkLDB4YmYsMHhlNiwweDQyLDB4NjgsMHg0MSwweDk5LDB4MmQsMHhmLDB4YjAsMHg1NCwweGJiLDB4MTZdLF8weDRhOWI0MD1bMHg1MiwweDksMHg2YSwweGQ1LDB4MzAsMHgzNiwweGE1LDB4MzgsMHhiZiwweDQwLDB4YTMsMHg5ZSwweDgxLDB4ZjMsMHhkNywweGZiLDB4N2MsMHhlMywweDM5LDB4ODIsMHg5YiwweDJmLDB4ZmYsMHg4NywweDM0LDB4OGUsMHg0MywweDQ0LDB4YzQsMHhkZSwweGU5LDB4Y2IsMHg1NCwweDdiLDB4OTQsMHgzMiwweGE2LDB4YzIsMHgyMywweDNkLDB4ZWUsMHg0YywweDk1LDB4YiwweDQyLDB4ZmEsMHhjMywweDRlLDB4OCwweDJlLDB4YTEsMHg2NiwweDI4LDB4ZDksMHgyNCwweGIyLDB4NzYsMHg1YiwweGEyLDB4NDksMHg2ZCwweDhiLDB4ZDEsMHgyNSwweDcyLDB4ZjgsMHhmNiwweDY0LDB4ODYsMHg2OCwweDk4LDB4MTYsMHhkNCwweGE0LDB4NWMsMHhjYywweDVkLDB4NjUsMHhiNiwweDkyLDB4NmMsMHg3MCwweDQ4LDB4NTAsMHhmZCwweGVkLDB4YjksMHhkYSwweDVlLDB4MTUsMHg0NiwweDU3LDB4YTcsMHg4ZCwweDlkLDB4ODQsMHg5MCwweGQ4LDB4YWIsMHgwLDB4OGMsMHhiYywweGQzLDB4YSwweGY3LDB4ZTQsMHg1OCwweDUsMHhiOCwweGIzLDB4NDUsMHg2LDB4ZDAsMHgyYywweDFlLDB4OGYsMHhjYSwweDNmLDB4ZiwweDIsMHhjMSwweGFmLDB4YmQsMHgzLDB4MSwweDEzLDB4OGEsMHg2YiwweDNhLDB4OTEsMHgxMSwweDQxLDB4NGYsMHg2NywweGRjLDB4ZWEsMHg5NywweGYyLDB4Y2YsMHhjZSwweGYwLDB4YjQsMHhlNiwweDczLDB4OTYsMHhhYywweDc0LDB4MjIsMHhlNywweGFkLDB4MzUsMHg4NSwweGUyLDB4ZjksMHgzNywweGU4LDB4MWMsMHg3NSwweGRmLDB4NmUsMHg0NywweGYxLDB4MWEsMHg3MSwweDFkLDB4MjksMHhjNSwweDg5LDB4NmYsMHhiNywweDYyLDB4ZSwweGFhLDB4MTgsMHhiZSwweDFiLDB4ZmMsMHg1NiwweDNlLDB4NGIsMHhjNiwweGQyLDB4NzksMHgyMCwweDlhLDB4ZGIsMHhjMCwweGZlLDB4NzgsMHhjZCwweDVhLDB4ZjQsMHgxZiwweGRkLDB4YTgsMHgzMywweDg4LDB4NywweGM3LDB4MzEsMHhiMSwweDEyLDB4MTAsMHg1OSwweDI3LDB4ODAsMHhlYywweDVmLDB4NjAsMHg1MSwweDdmLDB4YTksMHgxOSwweGI1LDB4NGEsMHhkLDB4MmQsMHhlNSwweDdhLDB4OWYsMHg5MywweGM5LDB4OWMsMHhlZiwweGEwLDB4ZTAsMHgzYiwweDRkLDB4YWUsMHgyYSwweGY1LDB4YjAsMHhjOCwweGViLDB4YmIsMHgzYywweDgzLDB4NTMsMHg5OSwweDYxLDB4MTcsMHgyYiwweDQsMHg3ZSwweGJhLDB4NzcsMHhkNiwweDI2LDB4ZTEsMHg2OSwweDE0LDB4NjMsMHg1NSwweDIxLDB4YywweDdkXSxfMHgxOWQ1NzQ9WzB4YzY2MzYzYTUsMHhmODdjN2M4NCwweGVlNzc3Nzk5LDB4ZjY3YjdiOGQsMHhmZmYyZjIwZCwweGQ2NmI2YmJkLDB4ZGU2ZjZmYjEsMHg5MWM1YzU1NCwweDYwMzAzMDUwLDB4MjAxMDEwMywweGNlNjc2N2E5LDB4NTYyYjJiN2QsMHhlN2ZlZmUxOSwweGI1ZDdkNzYyLDB4NGRhYmFiZTYsMHhlYzc2NzY5YSwweDhmY2FjYTQ1LDB4MWY4MjgyOWQsMHg4OWM5Yzk0MCwweGZhN2Q3ZDg3LDB4ZWZmYWZhMTUsMHhiMjU5NTllYiwweDhlNDc0N2M5LDB4ZmJmMGYwMGIsMHg0MWFkYWRlYywweGIzZDRkNDY3LDB4NWZhMmEyZmQsMHg0NWFmYWZlYSwweDIzOWM5Y2JmLDB4NTNhNGE0ZjcsMHhlNDcyNzI5NiwweDliYzBjMDViLDB4NzViN2I3YzIsMHhlMWZkZmQxYywweDNkOTM5M2FlLDB4NGMyNjI2NmEsMHg2YzM2MzY1YSwweDdlM2YzZjQxLDB4ZjVmN2Y3MDIsMHg4M2NjY2M0ZiwweDY4MzQzNDVjLDB4NTFhNWE1ZjQsMHhkMWU1ZTUzNCwweGY5ZjFmMTA4LDB4ZTI3MTcxOTMsMHhhYmQ4ZDg3MywweDYyMzEzMTUzLDB4MmExNTE1M2YsMHg4MDQwNDBjLDB4OTVjN2M3NTIsMHg0NjIzMjM2NSwweDlkYzNjMzVlLDB4MzAxODE4MjgsMHgzNzk2OTZhMSwweGEwNTA1MGYsMHgyZjlhOWFiNSwweGUwNzA3MDksMHgyNDEyMTIzNiwweDFiODA4MDliLDB4ZGZlMmUyM2QsMHhjZGViZWIyNiwweDRlMjcyNzY5LDB4N2ZiMmIyY2QsMHhlYTc1NzU5ZiwweDEyMDkwOTFiLDB4MWQ4MzgzOWUsMHg1ODJjMmM3NCwweDM0MWExYTJlLDB4MzYxYjFiMmQsMHhkYzZlNmViMiwweGI0NWE1YWVlLDB4NWJhMGEwZmIsMHhhNDUyNTJmNiwweDc2M2IzYjRkLDB4YjdkNmQ2NjEsMHg3ZGIzYjNjZSwweDUyMjkyOTdiLDB4ZGRlM2UzM2UsMHg1ZTJmMmY3MSwweDEzODQ4NDk3LDB4YTY1MzUzZjUsMHhiOWQxZDE2OCwweDAsMHhjMWVkZWQyYywweDQwMjAyMDYwLDB4ZTNmY2ZjMWYsMHg3OWIxYjFjOCwweGI2NWI1YmVkLDB4ZDQ2YTZhYmUsMHg4ZGNiY2I0NiwweDY3YmViZWQ5LDB4NzIzOTM5NGIsMHg5NDRhNGFkZSwweDk4NGM0Y2Q0LDB4YjA1ODU4ZTgsMHg4NWNmY2Y0YSwweGJiZDBkMDZiLDB4YzVlZmVmMmEsMHg0ZmFhYWFlNSwweGVkZmJmYjE2LDB4ODY0MzQzYzUsMHg5YTRkNGRkNywweDY2MzMzMzU1LDB4MTE4NTg1OTQsMHg4YTQ1NDVjZiwweGU5ZjlmOTEwLDB4NDAyMDIwNiwweGZlN2Y3ZjgxLDB4YTA1MDUwZjAsMHg3ODNjM2M0NCwweDI1OWY5ZmJhLDB4NGJhOGE4ZTMsMHhhMjUxNTFmMywweDVkYTNhM2ZlLDB4ODA0MDQwYzAsMHg1OGY4ZjhhLDB4M2Y5MjkyYWQsMHgyMTlkOWRiYywweDcwMzgzODQ4LDB4ZjFmNWY1MDQsMHg2M2JjYmNkZiwweDc3YjZiNmMxLDB4YWZkYWRhNzUsMHg0MjIxMjE2MywweDIwMTAxMDMwLDB4ZTVmZmZmMWEsMHhmZGYzZjMwZSwweGJmZDJkMjZkLDB4ODFjZGNkNGMsMHgxODBjMGMxNCwweDI2MTMxMzM1LDB4YzNlY2VjMmYsMHhiZTVmNWZlMSwweDM1OTc5N2EyLDB4ODg0NDQ0Y2MsMHgyZTE3MTczOSwweDkzYzRjNDU3LDB4NTVhN2E3ZjIsMHhmYzdlN2U4MiwweDdhM2QzZDQ3LDB4Yzg2NDY0YWMsMHhiYTVkNWRlNywweDMyMTkxOTJiLDB4ZTY3MzczOTUsMHhjMDYwNjBhMCwweDE5ODE4MTk4LDB4OWU0ZjRmZDEsMHhhM2RjZGM3ZiwweDQ0MjIyMjY2LDB4NTQyYTJhN2UsMHgzYjkwOTBhYiwweGI4ODg4ODMsMHg4YzQ2NDZjYSwweGM3ZWVlZTI5LDB4NmJiOGI4ZDMsMHgyODE0MTQzYywweGE3ZGVkZTc5LDB4YmM1ZTVlZTIsMHgxNjBiMGIxZCwweGFkZGJkYjc2LDB4ZGJlMGUwM2IsMHg2NDMyMzI1NiwweDc0M2EzYTRlLDB4MTQwYTBhMWUsMHg5MjQ5NDlkYiwweGMwNjA2MGEsMHg0ODI0MjQ2YywweGI4NWM1Y2U0LDB4OWZjMmMyNWQsMHhiZGQzZDM2ZSwweDQzYWNhY2VmLDB4YzQ2MjYyYTYsMHgzOTkxOTFhOCwweDMxOTU5NWE0LDB4ZDNlNGU0MzcsMHhmMjc5Nzk4YiwweGQ1ZTdlNzMyLDB4OGJjOGM4NDMsMHg2ZTM3Mzc1OSwweGRhNmQ2ZGI3LDB4MThkOGQ4YywweGIxZDVkNTY0LDB4OWM0ZTRlZDIsMHg0OWE5YTllMCwweGQ4NmM2Y2I0LDB4YWM1NjU2ZmEsMHhmM2Y0ZjQwNywweGNmZWFlYTI1LDB4Y2E2NTY1YWYsMHhmNDdhN2E4ZSwweDQ3YWVhZWU5LDB4MTAwODA4MTgsMHg2ZmJhYmFkNSwweGYwNzg3ODg4LDB4NGEyNTI1NmYsMHg1YzJlMmU3MiwweDM4MWMxYzI0LDB4NTdhNmE2ZjEsMHg3M2I0YjRjNywweDk3YzZjNjUxLDB4Y2JlOGU4MjMsMHhhMWRkZGQ3YywweGU4NzQ3NDljLDB4M2UxZjFmMjEsMHg5NjRiNGJkZCwweDYxYmRiZGRjLDB4ZDhiOGI4NiwweGY4YThhODUsMHhlMDcwNzA5MCwweDdjM2UzZTQyLDB4NzFiNWI1YzQsMHhjYzY2NjZhYSwweDkwNDg0OGQ4LDB4NjAzMDMwNSwweGY3ZjZmNjAxLDB4MWMwZTBlMTIsMHhjMjYxNjFhMywweDZhMzUzNTVmLDB4YWU1NzU3ZjksMHg2OWI5YjlkMCwweDE3ODY4NjkxLDB4OTljMWMxNTgsMHgzYTFkMWQyNywweDI3OWU5ZWI5LDB4ZDllMWUxMzgsMHhlYmY4ZjgxMywweDJiOTg5OGIzLDB4MjIxMTExMzMsMHhkMjY5NjliYiwweGE5ZDlkOTcwLDB4NzhlOGU4OSwweDMzOTQ5NGE3LDB4MmQ5YjliYjYsMHgzYzFlMWUyMiwweDE1ODc4NzkyLDB4YzllOWU5MjAsMHg4N2NlY2U0OSwweGFhNTU1NWZmLDB4NTAyODI4NzgsMHhhNWRmZGY3YSwweDM4YzhjOGYsMHg1OWExYTFmOCwweDk4OTg5ODAsMHgxYTBkMGQxNywweDY1YmZiZmRhLDB4ZDdlNmU2MzEsMHg4NDQyNDJjNiwweGQwNjg2OGI4LDB4ODI0MTQxYzMsMHgyOTk5OTliMCwweDVhMmQyZDc3LDB4MWUwZjBmMTEsMHg3YmIwYjBjYiwweGE4NTQ1NGZjLDB4NmRiYmJiZDYsMHgyYzE2MTYzYV0sXzB4MTc4MDNkPVsweGE1YzY2MzYzLDB4ODRmODdjN2MsMHg5OWVlNzc3NywweDhkZjY3YjdiLDB4ZGZmZjJmMiwweGJkZDY2YjZiLDB4YjFkZTZmNmYsMHg1NDkxYzVjNSwweDUwNjAzMDMwLDB4MzAyMDEwMSwweGE5Y2U2NzY3LDB4N2Q1NjJiMmIsMHgxOWU3ZmVmZSwweDYyYjVkN2Q3LDB4ZTY0ZGFiYWIsMHg5YWVjNzY3NiwweDQ1OGZjYWNhLDB4OWQxZjgyODIsMHg0MDg5YzljOSwweDg3ZmE3ZDdkLDB4MTVlZmZhZmEsMHhlYmIyNTk1OSwweGM5OGU0NzQ3LDB4YmZiZjBmMCwweGVjNDFhZGFkLDB4NjdiM2Q0ZDQsMHhmZDVmYTJhMiwweGVhNDVhZmFmLDB4YmYyMzljOWMsMHhmNzUzYTRhNCwweDk2ZTQ3MjcyLDB4NWI5YmMwYzAsMHhjMjc1YjdiNywweDFjZTFmZGZkLDB4YWUzZDkzOTMsMHg2YTRjMjYyNiwweDVhNmMzNjM2LDB4NDE3ZTNmM2YsMHgyZjVmN2Y3LDB4NGY4M2NjY2MsMHg1YzY4MzQzNCwweGY0NTFhNWE1LDB4MzRkMWU1ZTUsMHg4ZjlmMWYxLDB4OTNlMjcxNzEsMHg3M2FiZDhkOCwweDUzNjIzMTMxLDB4M2YyYTE1MTUsMHhjMDgwNDA0LDB4NTI5NWM3YzcsMHg2NTQ2MjMyMywweDVlOWRjM2MzLDB4MjgzMDE4MTgsMHhhMTM3OTY5NiwweGYwYTA1MDUsMHhiNTJmOWE5YSwweDkwZTA3MDcsMHgzNjI0MTIxMiwweDliMWI4MDgwLDB4M2RkZmUyZTIsMHgyNmNkZWJlYiwweDY5NGUyNzI3LDB4Y2Q3ZmIyYjIsMHg5ZmVhNzU3NSwweDFiMTIwOTA5LDB4OWUxZDgzODMsMHg3NDU4MmMyYywweDJlMzQxYTFhLDB4MmQzNjFiMWIsMHhiMmRjNmU2ZSwweGVlYjQ1YTVhLDB4ZmI1YmEwYTAsMHhmNmE0NTI1MiwweDRkNzYzYjNiLDB4NjFiN2Q2ZDYsMHhjZTdkYjNiMywweDdiNTIyOTI5LDB4M2VkZGUzZTMsMHg3MTVlMmYyZiwweDk3MTM4NDg0LDB4ZjVhNjUzNTMsMHg2OGI5ZDFkMSwweDAsMHgyY2MxZWRlZCwweDYwNDAyMDIwLDB4MWZlM2ZjZmMsMHhjODc5YjFiMSwweGVkYjY1YjViLDB4YmVkNDZhNmEsMHg0NjhkY2JjYiwweGQ5NjdiZWJlLDB4NGI3MjM5MzksMHhkZTk0NGE0YSwweGQ0OTg0YzRjLDB4ZThiMDU4NTgsMHg0YTg1Y2ZjZiwweDZiYmJkMGQwLDB4MmFjNWVmZWYsMHhlNTRmYWFhYSwweDE2ZWRmYmZiLDB4YzU4NjQzNDMsMHhkNzlhNGQ0ZCwweDU1NjYzMzMzLDB4OTQxMTg1ODUsMHhjZjhhNDU0NSwweDEwZTlmOWY5LDB4NjA0MDIwMiwweDgxZmU3ZjdmLDB4ZjBhMDUwNTAsMHg0NDc4M2MzYywweGJhMjU5ZjlmLDB4ZTM0YmE4YTgsMHhmM2EyNTE1MSwweGZlNWRhM2EzLDB4YzA4MDQwNDAsMHg4YTA1OGY4ZiwweGFkM2Y5MjkyLDB4YmMyMTlkOWQsMHg0ODcwMzgzOCwweDRmMWY1ZjUsMHhkZjYzYmNiYywweGMxNzdiNmI2LDB4NzVhZmRhZGEsMHg2MzQyMjEyMSwweDMwMjAxMDEwLDB4MWFlNWZmZmYsMHhlZmRmM2YzLDB4NmRiZmQyZDIsMHg0YzgxY2RjZCwweDE0MTgwYzBjLDB4MzUyNjEzMTMsMHgyZmMzZWNlYywweGUxYmU1ZjVmLDB4YTIzNTk3OTcsMHhjYzg4NDQ0NCwweDM5MmUxNzE3LDB4NTc5M2M0YzQsMHhmMjU1YTdhNywweDgyZmM3ZTdlLDB4NDc3YTNkM2QsMHhhY2M4NjQ2NCwweGU3YmE1ZDVkLDB4MmIzMjE5MTksMHg5NWU2NzM3MywweGEwYzA2MDYwLDB4OTgxOTgxODEsMHhkMTllNGY0ZiwweDdmYTNkY2RjLDB4NjY0NDIyMjIsMHg3ZTU0MmEyYSwweGFiM2I5MDkwLDB4ODMwYjg4ODgsMHhjYThjNDY0NiwweDI5YzdlZWVlLDB4ZDM2YmI4YjgsMHgzYzI4MTQxNCwweDc5YTdkZWRlLDB4ZTJiYzVlNWUsMHgxZDE2MGIwYiwweDc2YWRkYmRiLDB4M2JkYmUwZTAsMHg1NjY0MzIzMiwweDRlNzQzYTNhLDB4MWUxNDBhMGEsMHhkYjkyNDk0OSwweGEwYzA2MDYsMHg2YzQ4MjQyNCwweGU0Yjg1YzVjLDB4NWQ5ZmMyYzIsMHg2ZWJkZDNkMywweGVmNDNhY2FjLDB4YTZjNDYyNjIsMHhhODM5OTE5MSwweGE0MzE5NTk1LDB4MzdkM2U0ZTQsMHg4YmYyNzk3OSwweDMyZDVlN2U3LDB4NDM4YmM4YzgsMHg1OTZlMzczNywweGI3ZGE2ZDZkLDB4OGMwMThkOGQsMHg2NGIxZDVkNSwweGQyOWM0ZTRlLDB4ZTA0OWE5YTksMHhiNGQ4NmM2YywweGZhYWM1NjU2LDB4N2YzZjRmNCwweDI1Y2ZlYWVhLDB4YWZjYTY1NjUsMHg4ZWY0N2E3YSwweGU5NDdhZWFlLDB4MTgxMDA4MDgsMHhkNTZmYmFiYSwweDg4ZjA3ODc4LDB4NmY0YTI1MjUsMHg3MjVjMmUyZSwweDI0MzgxYzFjLDB4ZjE1N2E2YTYsMHhjNzczYjRiNCwweDUxOTdjNmM2LDB4MjNjYmU4ZTgsMHg3Y2ExZGRkZCwweDljZTg3NDc0LDB4MjEzZTFmMWYsMHhkZDk2NGI0YiwweGRjNjFiZGJkLDB4ODYwZDhiOGIsMHg4NTBmOGE4YSwweDkwZTA3MDcwLDB4NDI3YzNlM2UsMHhjNDcxYjViNSwweGFhY2M2NjY2LDB4ZDg5MDQ4NDgsMHg1MDYwMzAzLDB4MWY3ZjZmNiwweDEyMWMwZTBlLDB4YTNjMjYxNjEsMHg1ZjZhMzUzNSwweGY5YWU1NzU3LDB4ZDA2OWI5YjksMHg5MTE3ODY4NiwweDU4OTljMWMxLDB4MjczYTFkMWQsMHhiOTI3OWU5ZSwweDM4ZDllMWUxLDB4MTNlYmY4ZjgsMHhiMzJiOTg5OCwweDMzMjIxMTExLDB4YmJkMjY5NjksMHg3MGE5ZDlkOSwweDg5MDc4ZThlLDB4YTczMzk0OTQsMHhiNjJkOWI5YiwweDIyM2MxZTFlLDB4OTIxNTg3ODcsMHgyMGM5ZTllOSwweDQ5ODdjZWNlLDB4ZmZhYTU1NTUsMHg3ODUwMjgyOCwweDdhYTVkZmRmLDB4OGYwMzhjOGMsMHhmODU5YTFhMSwweDgwMDk4OTg5LDB4MTcxYTBkMGQsMHhkYTY1YmZiZiwweDMxZDdlNmU2LDB4YzY4NDQyNDIsMHhiOGQwNjg2OCwweGMzODI0MTQxLDB4YjAyOTk5OTksMHg3NzVhMmQyZCwweDExMWUwZjBmLDB4Y2I3YmIwYjAsMHhmY2E4NTQ1NCwweGQ2NmRiYmJiLDB4M2EyYzE2MTZdLF8weDFiYjliYz1bMHg2M2E1YzY2MywweDdjODRmODdjLDB4Nzc5OWVlNzcsMHg3YjhkZjY3YiwweGYyMGRmZmYyLDB4NmJiZGQ2NmIsMHg2ZmIxZGU2ZiwweGM1NTQ5MWM1LDB4MzA1MDYwMzAsMHgxMDMwMjAxLDB4NjdhOWNlNjcsMHgyYjdkNTYyYiwweGZlMTllN2ZlLDB4ZDc2MmI1ZDcsMHhhYmU2NGRhYiwweDc2OWFlYzc2LDB4Y2E0NThmY2EsMHg4MjlkMWY4MiwweGM5NDA4OWM5LDB4N2Q4N2ZhN2QsMHhmYTE1ZWZmYSwweDU5ZWJiMjU5LDB4NDdjOThlNDcsMHhmMDBiZmJmMCwweGFkZWM0MWFkLDB4ZDQ2N2IzZDQsMHhhMmZkNWZhMiwweGFmZWE0NWFmLDB4OWNiZjIzOWMsMHhhNGY3NTNhNCwweDcyOTZlNDcyLDB4YzA1YjliYzAsMHhiN2MyNzViNywweGZkMWNlMWZkLDB4OTNhZTNkOTMsMHgyNjZhNGMyNiwweDM2NWE2YzM2LDB4M2Y0MTdlM2YsMHhmNzAyZjVmNywweGNjNGY4M2NjLDB4MzQ1YzY4MzQsMHhhNWY0NTFhNSwweGU1MzRkMWU1LDB4ZjEwOGY5ZjEsMHg3MTkzZTI3MSwweGQ4NzNhYmQ4LDB4MzE1MzYyMzEsMHgxNTNmMmExNSwweDQwYzA4MDQsMHhjNzUyOTVjNywweDIzNjU0NjIzLDB4YzM1ZTlkYzMsMHgxODI4MzAxOCwweDk2YTEzNzk2LDB4NTBmMGEwNSwweDlhYjUyZjlhLDB4NzA5MGUwNywweDEyMzYyNDEyLDB4ODA5YjFiODAsMHhlMjNkZGZlMiwweGViMjZjZGViLDB4Mjc2OTRlMjcsMHhiMmNkN2ZiMiwweDc1OWZlYTc1LDB4OTFiMTIwOSwweDgzOWUxZDgzLDB4MmM3NDU4MmMsMHgxYTJlMzQxYSwweDFiMmQzNjFiLDB4NmViMmRjNmUsMHg1YWVlYjQ1YSwweGEwZmI1YmEwLDB4NTJmNmE0NTIsMHgzYjRkNzYzYiwweGQ2NjFiN2Q2LDB4YjNjZTdkYjMsMHgyOTdiNTIyOSwweGUzM2VkZGUzLDB4MmY3MTVlMmYsMHg4NDk3MTM4NCwweDUzZjVhNjUzLDB4ZDE2OGI5ZDEsMHgwLDB4ZWQyY2MxZWQsMHgyMDYwNDAyMCwweGZjMWZlM2ZjLDB4YjFjODc5YjEsMHg1YmVkYjY1YiwweDZhYmVkNDZhLDB4Y2I0NjhkY2IsMHhiZWQ5NjdiZSwweDM5NGI3MjM5LDB4NGFkZTk0NGEsMHg0Y2Q0OTg0YywweDU4ZThiMDU4LDB4Y2Y0YTg1Y2YsMHhkMDZiYmJkMCwweGVmMmFjNWVmLDB4YWFlNTRmYWEsMHhmYjE2ZWRmYiwweDQzYzU4NjQzLDB4NGRkNzlhNGQsMHgzMzU1NjYzMywweDg1OTQxMTg1LDB4NDVjZjhhNDUsMHhmOTEwZTlmOSwweDIwNjA0MDIsMHg3ZjgxZmU3ZiwweDUwZjBhMDUwLDB4M2M0NDc4M2MsMHg5ZmJhMjU5ZiwweGE4ZTM0YmE4LDB4NTFmM2EyNTEsMHhhM2ZlNWRhMywweDQwYzA4MDQwLDB4OGY4YTA1OGYsMHg5MmFkM2Y5MiwweDlkYmMyMTlkLDB4Mzg0ODcwMzgsMHhmNTA0ZjFmNSwweGJjZGY2M2JjLDB4YjZjMTc3YjYsMHhkYTc1YWZkYSwweDIxNjM0MjIxLDB4MTAzMDIwMTAsMHhmZjFhZTVmZiwweGYzMGVmZGYzLDB4ZDI2ZGJmZDIsMHhjZDRjODFjZCwweGMxNDE4MGMsMHgxMzM1MjYxMywweGVjMmZjM2VjLDB4NWZlMWJlNWYsMHg5N2EyMzU5NywweDQ0Y2M4ODQ0LDB4MTczOTJlMTcsMHhjNDU3OTNjNCwweGE3ZjI1NWE3LDB4N2U4MmZjN2UsMHgzZDQ3N2EzZCwweDY0YWNjODY0LDB4NWRlN2JhNWQsMHgxOTJiMzIxOSwweDczOTVlNjczLDB4NjBhMGMwNjAsMHg4MTk4MTk4MSwweDRmZDE5ZTRmLDB4ZGM3ZmEzZGMsMHgyMjY2NDQyMiwweDJhN2U1NDJhLDB4OTBhYjNiOTAsMHg4ODgzMGI4OCwweDQ2Y2E4YzQ2LDB4ZWUyOWM3ZWUsMHhiOGQzNmJiOCwweDE0M2MyODE0LDB4ZGU3OWE3ZGUsMHg1ZWUyYmM1ZSwweGIxZDE2MGIsMHhkYjc2YWRkYiwweGUwM2JkYmUwLDB4MzI1NjY0MzIsMHgzYTRlNzQzYSwweGExZTE0MGEsMHg0OWRiOTI0OSwweDYwYTBjMDYsMHgyNDZjNDgyNCwweDVjZTRiODVjLDB4YzI1ZDlmYzIsMHhkMzZlYmRkMywweGFjZWY0M2FjLDB4NjJhNmM0NjIsMHg5MWE4Mzk5MSwweDk1YTQzMTk1LDB4ZTQzN2QzZTQsMHg3OThiZjI3OSwweGU3MzJkNWU3LDB4Yzg0MzhiYzgsMHgzNzU5NmUzNywweDZkYjdkYTZkLDB4OGQ4YzAxOGQsMHhkNTY0YjFkNSwweDRlZDI5YzRlLDB4YTllMDQ5YTksMHg2Y2I0ZDg2YywweDU2ZmFhYzU2LDB4ZjQwN2YzZjQsMHhlYTI1Y2ZlYSwweDY1YWZjYTY1LDB4N2E4ZWY0N2EsMHhhZWU5NDdhZSwweDgxODEwMDgsMHhiYWQ1NmZiYSwweDc4ODhmMDc4LDB4MjU2ZjRhMjUsMHgyZTcyNWMyZSwweDFjMjQzODFjLDB4YTZmMTU3YTYsMHhiNGM3NzNiNCwweGM2NTE5N2M2LDB4ZTgyM2NiZTgsMHhkZDdjYTFkZCwweDc0OWNlODc0LDB4MWYyMTNlMWYsMHg0YmRkOTY0YiwweGJkZGM2MWJkLDB4OGI4NjBkOGIsMHg4YTg1MGY4YSwweDcwOTBlMDcwLDB4M2U0MjdjM2UsMHhiNWM0NzFiNSwweDY2YWFjYzY2LDB4NDhkODkwNDgsMHgzMDUwNjAzLDB4ZjYwMWY3ZjYsMHhlMTIxYzBlLDB4NjFhM2MyNjEsMHgzNTVmNmEzNSwweDU3ZjlhZTU3LDB4YjlkMDY5YjksMHg4NjkxMTc4NiwweGMxNTg5OWMxLDB4MWQyNzNhMWQsMHg5ZWI5Mjc5ZSwweGUxMzhkOWUxLDB4ZjgxM2ViZjgsMHg5OGIzMmI5OCwweDExMzMyMjExLDB4NjliYmQyNjksMHhkOTcwYTlkOSwweDhlODkwNzhlLDB4OTRhNzMzOTQsMHg5YmI2MmQ5YiwweDFlMjIzYzFlLDB4ODc5MjE1ODcsMHhlOTIwYzllOSwweGNlNDk4N2NlLDB4NTVmZmFhNTUsMHgyODc4NTAyOCwweGRmN2FhNWRmLDB4OGM4ZjAzOGMsMHhhMWY4NTlhMSwweDg5ODAwOTg5LDB4ZDE3MWEwZCwweGJmZGE2NWJmLDB4ZTYzMWQ3ZTYsMHg0MmM2ODQ0MiwweDY4YjhkMDY4LDB4NDFjMzgyNDEsMHg5OWIwMjk5OSwweDJkNzc1YTJkLDB4ZjExMWUwZiwweGIwY2I3YmIwLDB4NTRmY2E4NTQsMHhiYmQ2NmRiYiwweDE2M2EyYzE2XSxfMHgzYWE4Yz1bMHg2MzYzYTVjNiwweDdjN2M4NGY4LDB4Nzc3Nzk5ZWUsMHg3YjdiOGRmNiwweGYyZjIwZGZmLDB4NmI2YmJkZDYsMHg2ZjZmYjFkZSwweGM1YzU1NDkxLDB4MzAzMDUwNjAsMHgxMDEwMzAyLDB4Njc2N2E5Y2UsMHgyYjJiN2Q1NiwweGZlZmUxOWU3LDB4ZDdkNzYyYjUsMHhhYmFiZTY0ZCwweDc2NzY5YWVjLDB4Y2FjYTQ1OGYsMHg4MjgyOWQxZiwweGM5Yzk0MDg5LDB4N2Q3ZDg3ZmEsMHhmYWZhMTVlZiwweDU5NTllYmIyLDB4NDc0N2M5OGUsMHhmMGYwMGJmYiwweGFkYWRlYzQxLDB4ZDRkNDY3YjMsMHhhMmEyZmQ1ZiwweGFmYWZlYTQ1LDB4OWM5Y2JmMjMsMHhhNGE0Zjc1MywweDcyNzI5NmU0LDB4YzBjMDViOWIsMHhiN2I3YzI3NSwweGZkZmQxY2UxLDB4OTM5M2FlM2QsMHgyNjI2NmE0YywweDM2MzY1YTZjLDB4M2YzZjQxN2UsMHhmN2Y3MDJmNSwweGNjY2M0ZjgzLDB4MzQzNDVjNjgsMHhhNWE1ZjQ1MSwweGU1ZTUzNGQxLDB4ZjFmMTA4ZjksMHg3MTcxOTNlMiwweGQ4ZDg3M2FiLDB4MzEzMTUzNjIsMHgxNTE1M2YyYSwweDQwNDBjMDgsMHhjN2M3NTI5NSwweDIzMjM2NTQ2LDB4YzNjMzVlOWQsMHgxODE4MjgzMCwweDk2OTZhMTM3LDB4NTA1MGYwYSwweDlhOWFiNTJmLDB4NzA3MDkwZSwweDEyMTIzNjI0LDB4ODA4MDliMWIsMHhlMmUyM2RkZiwweGViZWIyNmNkLDB4MjcyNzY5NGUsMHhiMmIyY2Q3ZiwweDc1NzU5ZmVhLDB4OTA5MWIxMiwweDgzODM5ZTFkLDB4MmMyYzc0NTgsMHgxYTFhMmUzNCwweDFiMWIyZDM2LDB4NmU2ZWIyZGMsMHg1YTVhZWViNCwweGEwYTBmYjViLDB4NTI1MmY2YTQsMHgzYjNiNGQ3NiwweGQ2ZDY2MWI3LDB4YjNiM2NlN2QsMHgyOTI5N2I1MiwweGUzZTMzZWRkLDB4MmYyZjcxNWUsMHg4NDg0OTcxMywweDUzNTNmNWE2LDB4ZDFkMTY4YjksMHgwLDB4ZWRlZDJjYzEsMHgyMDIwNjA0MCwweGZjZmMxZmUzLDB4YjFiMWM4NzksMHg1YjViZWRiNiwweDZhNmFiZWQ0LDB4Y2JjYjQ2OGQsMHhiZWJlZDk2NywweDM5Mzk0YjcyLDB4NGE0YWRlOTQsMHg0YzRjZDQ5OCwweDU4NThlOGIwLDB4Y2ZjZjRhODUsMHhkMGQwNmJiYiwweGVmZWYyYWM1LDB4YWFhYWU1NGYsMHhmYmZiMTZlZCwweDQzNDNjNTg2LDB4NGQ0ZGQ3OWEsMHgzMzMzNTU2NiwweDg1ODU5NDExLDB4NDU0NWNmOGEsMHhmOWY5MTBlOSwweDIwMjA2MDQsMHg3ZjdmODFmZSwweDUwNTBmMGEwLDB4M2MzYzQ0NzgsMHg5ZjlmYmEyNSwweGE4YThlMzRiLDB4NTE1MWYzYTIsMHhhM2EzZmU1ZCwweDQwNDBjMDgwLDB4OGY4ZjhhMDUsMHg5MjkyYWQzZiwweDlkOWRiYzIxLDB4MzgzODQ4NzAsMHhmNWY1MDRmMSwweGJjYmNkZjYzLDB4YjZiNmMxNzcsMHhkYWRhNzVhZiwweDIxMjE2MzQyLDB4MTAxMDMwMjAsMHhmZmZmMWFlNSwweGYzZjMwZWZkLDB4ZDJkMjZkYmYsMHhjZGNkNGM4MSwweGMwYzE0MTgsMHgxMzEzMzUyNiwweGVjZWMyZmMzLDB4NWY1ZmUxYmUsMHg5Nzk3YTIzNSwweDQ0NDRjYzg4LDB4MTcxNzM5MmUsMHhjNGM0NTc5MywweGE3YTdmMjU1LDB4N2U3ZTgyZmMsMHgzZDNkNDc3YSwweDY0NjRhY2M4LDB4NWQ1ZGU3YmEsMHgxOTE5MmIzMiwweDczNzM5NWU2LDB4NjA2MGEwYzAsMHg4MTgxOTgxOSwweDRmNGZkMTllLDB4ZGNkYzdmYTMsMHgyMjIyNjY0NCwweDJhMmE3ZTU0LDB4OTA5MGFiM2IsMHg4ODg4ODMwYiwweDQ2NDZjYThjLDB4ZWVlZTI5YzcsMHhiOGI4ZDM2YiwweDE0MTQzYzI4LDB4ZGVkZTc5YTcsMHg1ZTVlZTJiYywweGIwYjFkMTYsMHhkYmRiNzZhZCwweGUwZTAzYmRiLDB4MzIzMjU2NjQsMHgzYTNhNGU3NCwweGEwYTFlMTQsMHg0OTQ5ZGI5MiwweDYwNjBhMGMsMHgyNDI0NmM0OCwweDVjNWNlNGI4LDB4YzJjMjVkOWYsMHhkM2QzNmViZCwweGFjYWNlZjQzLDB4NjI2MmE2YzQsMHg5MTkxYTgzOSwweDk1OTVhNDMxLDB4ZTRlNDM3ZDMsMHg3OTc5OGJmMiwweGU3ZTczMmQ1LDB4YzhjODQzOGIsMHgzNzM3NTk2ZSwweDZkNmRiN2RhLDB4OGQ4ZDhjMDEsMHhkNWQ1NjRiMSwweDRlNGVkMjljLDB4YTlhOWUwNDksMHg2YzZjYjRkOCwweDU2NTZmYWFjLDB4ZjRmNDA3ZjMsMHhlYWVhMjVjZiwweDY1NjVhZmNhLDB4N2E3YThlZjQsMHhhZWFlZTk0NywweDgwODE4MTAsMHhiYWJhZDU2ZiwweDc4Nzg4OGYwLDB4MjUyNTZmNGEsMHgyZTJlNzI1YywweDFjMWMyNDM4LDB4YTZhNmYxNTcsMHhiNGI0Yzc3MywweGM2YzY1MTk3LDB4ZThlODIzY2IsMHhkZGRkN2NhMSwweDc0NzQ5Y2U4LDB4MWYxZjIxM2UsMHg0YjRiZGQ5NiwweGJkYmRkYzYxLDB4OGI4Yjg2MGQsMHg4YThhODUwZiwweDcwNzA5MGUwLDB4M2UzZTQyN2MsMHhiNWI1YzQ3MSwweDY2NjZhYWNjLDB4NDg0OGQ4OTAsMHgzMDMwNTA2LDB4ZjZmNjAxZjcsMHhlMGUxMjFjLDB4NjE2MWEzYzIsMHgzNTM1NWY2YSwweDU3NTdmOWFlLDB4YjliOWQwNjksMHg4Njg2OTExNywweGMxYzE1ODk5LDB4MWQxZDI3M2EsMHg5ZTllYjkyNywweGUxZTEzOGQ5LDB4ZjhmODEzZWIsMHg5ODk4YjMyYiwweDExMTEzMzIyLDB4Njk2OWJiZDIsMHhkOWQ5NzBhOSwweDhlOGU4OTA3LDB4OTQ5NGE3MzMsMHg5YjliYjYyZCwweDFlMWUyMjNjLDB4ODc4NzkyMTUsMHhlOWU5MjBjOSwweGNlY2U0OTg3LDB4NTU1NWZmYWEsMHgyODI4Nzg1MCwweGRmZGY3YWE1LDB4OGM4YzhmMDMsMHhhMWExZjg1OSwweDg5ODk4MDA5LDB4ZDBkMTcxYSwweGJmYmZkYTY1LDB4ZTZlNjMxZDcsMHg0MjQyYzY4NCwweDY4NjhiOGQwLDB4NDE0MWMzODIsMHg5OTk5YjAyOSwweDJkMmQ3NzVhLDB4ZjBmMTExZSwweGIwYjBjYjdiLDB4NTQ1NGZjYTgsMHhiYmJiZDY2ZCwweDE2MTYzYTJjXSxfMHgxNzk1ZWM9WzB4NTFmNGE3NTAsMHg3ZTQxNjU1MywweDFhMTdhNGMzLDB4M2EyNzVlOTYsMHgzYmFiNmJjYiwweDFmOWQ0NWYxLDB4YWNmYTU4YWIsMHg0YmUzMDM5MywweDIwMzBmYTU1LDB4YWQ3NjZkZjYsMHg4OGNjNzY5MSwweGY1MDI0YzI1LDB4NGZlNWQ3ZmMsMHhjNTJhY2JkNywweDI2MzU0NDgwLDB4YjU2MmEzOGYsMHhkZWIxNWE0OSwweDI1YmExYjY3LDB4NDVlYTBlOTgsMHg1ZGZlYzBlMSwweGMzMmY3NTAyLDB4ODE0Y2YwMTIsMHg4ZDQ2OTdhMywweDZiZDNmOWM2LDB4MzhmNWZlNywweDE1OTI5Yzk1LDB4YmY2ZDdhZWIsMHg5NTUyNTlkYSwweGQ0YmU4MzJkLDB4NTg3NDIxZDMsMHg0OWUwNjkyOSwweDhlYzljODQ0LDB4NzVjMjg5NmEsMHhmNDhlNzk3OCwweDk5NTgzZTZiLDB4MjdiOTcxZGQsMHhiZWUxNGZiNiwweGYwODhhZDE3LDB4YzkyMGFjNjYsMHg3ZGNlM2FiNCwweDYzZGY0YTE4LDB4ZTUxYTMxODIsMHg5NzUxMzM2MCwweDYyNTM3ZjQ1LDB4YjE2NDc3ZTAsMHhiYjZiYWU4NCwweGZlODFhMDFjLDB4ZjkwODJiOTQsMHg3MDQ4Njg1OCwweDhmNDVmZDE5LDB4OTRkZTZjODcsMHg1MjdiZjhiNywweGFiNzNkMzIzLDB4NzI0YjAyZTIsMHhlMzFmOGY1NywweDY2NTVhYjJhLDB4YjJlYjI4MDcsMHgyZmI1YzIwMywweDg2YzU3YjlhLDB4ZDMzNzA4YTUsMHgzMDI4ODdmMiwweDIzYmZhNWIyLDB4MjAzNmFiYSwweGVkMTY4MjVjLDB4OGFjZjFjMmIsMHhhNzc5YjQ5MiwweGYzMDdmMmYwLDB4NGU2OWUyYTEsMHg2NWRhZjRjZCwweDYwNWJlZDUsMHhkMTM0NjIxZiwweGM0YTZmZThhLDB4MzQyZTUzOWQsMHhhMmYzNTVhMCwweDU4YWUxMzIsMHhhNGY2ZWI3NSwweGI4M2VjMzksMHg0MDYwZWZhYSwweDVlNzE5ZjA2LDB4YmQ2ZTEwNTEsMHgzZTIxOGFmOSwweDk2ZGQwNjNkLDB4ZGQzZTA1YWUsMHg0ZGU2YmQ0NiwweDkxNTQ4ZGI1LDB4NzFjNDVkMDUsMHg0MDZkNDZmLDB4NjA1MDE1ZmYsMHgxOTk4ZmIyNCwweGQ2YmRlOTk3LDB4ODk0MDQzY2MsMHg2N2Q5OWU3NywweGIwZTg0MmJkLDB4Nzg5OGI4OCwweGU3MTk1YjM4LDB4NzljOGVlZGIsMHhhMTdjMGE0NywweDdjNDIwZmU5LDB4Zjg4NDFlYzksMHgwLDB4OTgwODY4MywweDMyMmJlZDQ4LDB4MWUxMTcwYWMsMHg2YzVhNzI0ZSwweGZkMGVmZmZiLDB4Zjg1Mzg1NiwweDNkYWVkNTFlLDB4MzYyZDM5MjcsMHhhMGZkOTY0LDB4Njg1Y2E2MjEsMHg5YjViNTRkMSwweDI0MzYyZTNhLDB4YzBhNjdiMSwweDkzNTdlNzBmLDB4YjRlZTk2ZDIsMHgxYjliOTE5ZSwweDgwYzBjNTRmLDB4NjFkYzIwYTIsMHg1YTc3NGI2OSwweDFjMTIxYTE2LDB4ZTI5M2JhMGEsMHhjMGEwMmFlNSwweDNjMjJlMDQzLDB4MTIxYjE3MWQsMHhlMDkwZDBiLDB4ZjI4YmM3YWQsMHgyZGI2YThiOSwweDE0MWVhOWM4LDB4NTdmMTE5ODUsMHhhZjc1MDc0YywweGVlOTlkZGJiLDB4YTM3ZjYwZmQsMHhmNzAxMjY5ZiwweDVjNzJmNWJjLDB4NDQ2NjNiYzUsMHg1YmZiN2UzNCwweDhiNDMyOTc2LDB4Y2IyM2M2ZGMsMHhiNmVkZmM2OCwweGI4ZTRmMTYzLDB4ZDczMWRjY2EsMHg0MjYzODUxMCwweDEzOTcyMjQwLDB4ODRjNjExMjAsMHg4NTRhMjQ3ZCwweGQyYmIzZGY4LDB4YWVmOTMyMTEsMHhjNzI5YTE2ZCwweDFkOWUyZjRiLDB4ZGNiMjMwZjMsMHhkODY1MmVjLDB4NzdjMWUzZDAsMHgyYmIzMTY2YywweGE5NzBiOTk5LDB4MTE5NDQ4ZmEsMHg0N2U5NjQyMiwweGE4ZmM4Y2M0LDB4YTBmMDNmMWEsMHg1NjdkMmNkOCwweDIyMzM5MGVmLDB4ODc0OTRlYzcsMHhkOTM4ZDFjMSwweDhjY2FhMmZlLDB4OThkNDBiMzYsMHhhNmY1ODFjZiwweGE1N2FkZTI4LDB4ZGFiNzhlMjYsMHgzZmFkYmZhNCwweDJjM2E5ZGU0LDB4NTA3ODkyMGQsMHg2YTVmY2M5YiwweDU0N2U0NjYyLDB4ZjY4ZDEzYzIsMHg5MGQ4YjhlOCwweDJlMzlmNzVlLDB4ODJjM2FmZjUsMHg5ZjVkODBiZSwweDY5ZDA5MzdjLDB4NmZkNTJkYTksMHhjZjI1MTJiMywweGM4YWM5OTNiLDB4MTAxODdkYTcsMHhlODljNjM2ZSwweGRiM2JiYjdiLDB4Y2QyNjc4MDksMHg2ZTU5MThmNCwweGVjOWFiNzAxLDB4ODM0ZjlhYTgsMHhlNjk1NmU2NSwweGFhZmZlNjdlLDB4MjFiY2NmMDgsMHhlZjE1ZThlNiwweGJhZTc5YmQ5LDB4NGE2ZjM2Y2UsMHhlYTlmMDlkNCwweDI5YjA3Y2Q2LDB4MzFhNGIyYWYsMHgyYTNmMjMzMSwweGM2YTU5NDMwLDB4MzVhMjY2YzAsMHg3NDRlYmMzNywweGZjODJjYWE2LDB4ZTA5MGQwYjAsMHgzM2E3ZDgxNSwweGYxMDQ5ODRhLDB4NDFlY2RhZjcsMHg3ZmNkNTAwZSwweDE3OTFmNjJmLDB4NzY0ZGQ2OGQsMHg0M2VmYjA0ZCwweGNjYWE0ZDU0LDB4ZTQ5NjA0ZGYsMHg5ZWQxYjVlMywweDRjNmE4ODFiLDB4YzEyYzFmYjgsMHg0NjY1NTE3ZiwweDlkNWVlYTA0LDB4MThjMzU1ZCwweGZhODc3NDczLDB4ZmIwYjQxMmUsMHhiMzY3MWQ1YSwweDkyZGJkMjUyLDB4ZTkxMDU2MzMsMHg2ZGQ2NDcxMywweDlhZDc2MThjLDB4MzdhMTBjN2EsMHg1OWY4MTQ4ZSwweGViMTMzYzg5LDB4Y2VhOTI3ZWUsMHhiNzYxYzkzNSwweGUxMWNlNWVkLDB4N2E0N2IxM2MsMHg5Y2QyZGY1OSwweDU1ZjI3MzNmLDB4MTgxNGNlNzksMHg3M2M3MzdiZiwweDUzZjdjZGVhLDB4NWZmZGFhNWIsMHhkZjNkNmYxNCwweDc4NDRkYjg2LDB4Y2FhZmYzODEsMHhiOTY4YzQzZSwweDM4MjQzNDJjLDB4YzJhMzQwNWYsMHgxNjFkYzM3MiwweGJjZTIyNTBjLDB4MjgzYzQ5OGIsMHhmZjBkOTU0MSwweDM5YTgwMTcxLDB4ODBjYjNkZSwweGQ4YjRlNDljLDB4NjQ1NmMxOTAsMHg3YmNiODQ2MSwweGQ1MzJiNjcwLDB4NDg2YzVjNzQsMHhkMGI4NTc0Ml0sXzB4MzVkNjU1PVsweDUwNTFmNGE3LDB4NTM3ZTQxNjUsMHhjMzFhMTdhNCwweDk2M2EyNzVlLDB4Y2IzYmFiNmIsMHhmMTFmOWQ0NSwweGFiYWNmYTU4LDB4OTM0YmUzMDMsMHg1NTIwMzBmYSwweGY2YWQ3NjZkLDB4OTE4OGNjNzYsMHgyNWY1MDI0YywweGZjNGZlNWQ3LDB4ZDdjNTJhY2IsMHg4MDI2MzU0NCwweDhmYjU2MmEzLDB4NDlkZWIxNWEsMHg2NzI1YmExYiwweDk4NDVlYTBlLDB4ZTE1ZGZlYzAsMHgyYzMyZjc1LDB4MTI4MTRjZjAsMHhhMzhkNDY5NywweGM2NmJkM2Y5LDB4ZTcwMzhmNWYsMHg5NTE1OTI5YywweGViYmY2ZDdhLDB4ZGE5NTUyNTksMHgyZGQ0YmU4MywweGQzNTg3NDIxLDB4Mjk0OWUwNjksMHg0NDhlYzljOCwweDZhNzVjMjg5LDB4NzhmNDhlNzksMHg2Yjk5NTgzZSwweGRkMjdiOTcxLDB4YjZiZWUxNGYsMHgxN2YwODhhZCwweDY2YzkyMGFjLDB4YjQ3ZGNlM2EsMHgxODYzZGY0YSwweDgyZTUxYTMxLDB4NjA5NzUxMzMsMHg0NTYyNTM3ZiwweGUwYjE2NDc3LDB4ODRiYjZiYWUsMHgxY2ZlODFhMCwweDk0ZjkwODJiLDB4NTg3MDQ4NjgsMHgxOThmNDVmZCwweDg3OTRkZTZjLDB4Yjc1MjdiZjgsMHgyM2FiNzNkMywweGUyNzI0YjAyLDB4NTdlMzFmOGYsMHgyYTY2NTVhYiwweDdiMmViMjgsMHgzMmZiNWMyLDB4OWE4NmM1N2IsMHhhNWQzMzcwOCwweGYyMzAyODg3LDB4YjIyM2JmYTUsMHhiYTAyMDM2YSwweDVjZWQxNjgyLDB4MmI4YWNmMWMsMHg5MmE3NzliNCwweGYwZjMwN2YyLDB4YTE0ZTY5ZTIsMHhjZDY1ZGFmNCwweGQ1MDYwNWJlLDB4MWZkMTM0NjIsMHg4YWM0YTZmZSwweDlkMzQyZTUzLDB4YTBhMmYzNTUsMHgzMjA1OGFlMSwweDc1YTRmNmViLDB4MzkwYjgzZWMsMHhhYTQwNjBlZiwweDY1ZTcxOWYsMHg1MWJkNmUxMCwweGY5M2UyMThhLDB4M2Q5NmRkMDYsMHhhZWRkM2UwNSwweDQ2NGRlNmJkLDB4YjU5MTU0OGQsMHg1NzFjNDVkLDB4NmYwNDA2ZDQsMHhmZjYwNTAxNSwweDI0MTk5OGZiLDB4OTdkNmJkZTksMHhjYzg5NDA0MywweDc3NjdkOTllLDB4YmRiMGU4NDIsMHg4ODA3ODk4YiwweDM4ZTcxOTViLDB4ZGI3OWM4ZWUsMHg0N2ExN2MwYSwweGU5N2M0MjBmLDB4YzlmODg0MWUsMHgwLDB4ODMwOTgwODYsMHg0ODMyMmJlZCwweGFjMWUxMTcwLDB4NGU2YzVhNzIsMHhmYmZkMGVmZiwweDU2MGY4NTM4LDB4MWUzZGFlZDUsMHgyNzM2MmQzOSwweDY0MGEwZmQ5LDB4MjE2ODVjYTYsMHhkMTliNWI1NCwweDNhMjQzNjJlLDB4YjEwYzBhNjcsMHhmOTM1N2U3LDB4ZDJiNGVlOTYsMHg5ZTFiOWI5MSwweDRmODBjMGM1LDB4YTI2MWRjMjAsMHg2OTVhNzc0YiwweDE2MWMxMjFhLDB4YWUyOTNiYSwweGU1YzBhMDJhLDB4NDMzYzIyZTAsMHgxZDEyMWIxNywweGIwZTA5MGQsMHhhZGYyOGJjNywweGI5MmRiNmE4LDB4YzgxNDFlYTksMHg4NTU3ZjExOSwweDRjYWY3NTA3LDB4YmJlZTk5ZGQsMHhmZGEzN2Y2MCwweDlmZjcwMTI2LDB4YmM1YzcyZjUsMHhjNTQ0NjYzYiwweDM0NWJmYjdlLDB4NzY4YjQzMjksMHhkY2NiMjNjNiwweDY4YjZlZGZjLDB4NjNiOGU0ZjEsMHhjYWQ3MzFkYywweDEwNDI2Mzg1LDB4NDAxMzk3MjIsMHgyMDg0YzYxMSwweDdkODU0YTI0LDB4ZjhkMmJiM2QsMHgxMWFlZjkzMiwweDZkYzcyOWExLDB4NGIxZDllMmYsMHhmM2RjYjIzMCwweGVjMGQ4NjUyLDB4ZDA3N2MxZTMsMHg2YzJiYjMxNiwweDk5YTk3MGI5LDB4ZmExMTk0NDgsMHgyMjQ3ZTk2NCwweGM0YThmYzhjLDB4MWFhMGYwM2YsMHhkODU2N2QyYywweGVmMjIzMzkwLDB4Yzc4NzQ5NGUsMHhjMWQ5MzhkMSwweGZlOGNjYWEyLDB4MzY5OGQ0MGIsMHhjZmE2ZjU4MSwweDI4YTU3YWRlLDB4MjZkYWI3OGUsMHhhNDNmYWRiZiwweGU0MmMzYTlkLDB4ZDUwNzg5MiwweDliNmE1ZmNjLDB4NjI1NDdlNDYsMHhjMmY2OGQxMywweGU4OTBkOGI4LDB4NWUyZTM5ZjcsMHhmNTgyYzNhZiwweGJlOWY1ZDgwLDB4N2M2OWQwOTMsMHhhOTZmZDUyZCwweGIzY2YyNTEyLDB4M2JjOGFjOTksMHhhNzEwMTg3ZCwweDZlZTg5YzYzLDB4N2JkYjNiYmIsMHg5Y2QyNjc4LDB4ZjQ2ZTU5MTgsMHgxZWM5YWI3LDB4YTg4MzRmOWEsMHg2NWU2OTU2ZSwweDdlYWFmZmU2LDB4ODIxYmNjZiwweGU2ZWYxNWU4LDB4ZDliYWU3OWIsMHhjZTRhNmYzNiwweGQ0ZWE5ZjA5LDB4ZDYyOWIwN2MsMHhhZjMxYTRiMiwweDMxMmEzZjIzLDB4MzBjNmE1OTQsMHhjMDM1YTI2NiwweDM3NzQ0ZWJjLDB4YTZmYzgyY2EsMHhiMGUwOTBkMCwweDE1MzNhN2Q4LDB4NGFmMTA0OTgsMHhmNzQxZWNkYSwweGU3ZmNkNTAsMHgyZjE3OTFmNiwweDhkNzY0ZGQ2LDB4NGQ0M2VmYjAsMHg1NGNjYWE0ZCwweGRmZTQ5NjA0LDB4ZTM5ZWQxYjUsMHgxYjRjNmE4OCwweGI4YzEyYzFmLDB4N2Y0NjY1NTEsMHg0OWQ1ZWVhLDB4NWQwMThjMzUsMHg3M2ZhODc3NCwweDJlZmIwYjQxLDB4NWFiMzY3MWQsMHg1MjkyZGJkMiwweDMzZTkxMDU2LDB4MTM2ZGQ2NDcsMHg4YzlhZDc2MSwweDdhMzdhMTBjLDB4OGU1OWY4MTQsMHg4OWViMTMzYywweGVlY2VhOTI3LDB4MzViNzYxYzksMHhlZGUxMWNlNSwweDNjN2E0N2IxLDB4NTk5Y2QyZGYsMHgzZjU1ZjI3MywweDc5MTgxNGNlLDB4YmY3M2M3MzcsMHhlYTUzZjdjZCwweDViNWZmZGFhLDB4MTRkZjNkNmYsMHg4Njc4NDRkYiwweDgxY2FhZmYzLDB4M2ViOTY4YzQsMHgyYzM4MjQzNCwweDVmYzJhMzQwLDB4NzIxNjFkYzMsMHhjYmNlMjI1LDB4OGIyODNjNDksMHg0MWZmMGQ5NSwweDcxMzlhODAxLDB4ZGUwODBjYjMsMHg5Y2Q4YjRlNCwweDkwNjQ1NmMxLDB4NjE3YmNiODQsMHg3MGQ1MzJiNiwweDc0NDg2YzVjLDB4NDJkMGI4NTddLF8weDM0Nzc4ZT1bMHhhNzUwNTFmNCwweDY1NTM3ZTQxLDB4YTRjMzFhMTcsMHg1ZTk2M2EyNywweDZiY2IzYmFiLDB4NDVmMTFmOWQsMHg1OGFiYWNmYSwweDM5MzRiZTMsMHhmYTU1MjAzMCwweDZkZjZhZDc2LDB4NzY5MTg4Y2MsMHg0YzI1ZjUwMiwweGQ3ZmM0ZmU1LDB4Y2JkN2M1MmEsMHg0NDgwMjYzNSwweGEzOGZiNTYyLDB4NWE0OWRlYjEsMHgxYjY3MjViYSwweGU5ODQ1ZWEsMHhjMGUxNWRmZSwweDc1MDJjMzJmLDB4ZjAxMjgxNGMsMHg5N2EzOGQ0NiwweGY5YzY2YmQzLDB4NWZlNzAzOGYsMHg5Yzk1MTU5MiwweDdhZWJiZjZkLDB4NTlkYTk1NTIsMHg4MzJkZDRiZSwweDIxZDM1ODc0LDB4NjkyOTQ5ZTAsMHhjODQ0OGVjOSwweDg5NmE3NWMyLDB4Nzk3OGY0OGUsMHgzZTZiOTk1OCwweDcxZGQyN2I5LDB4NGZiNmJlZTEsMHhhZDE3ZjA4OCwweGFjNjZjOTIwLDB4M2FiNDdkY2UsMHg0YTE4NjNkZiwweDMxODJlNTFhLDB4MzM2MDk3NTEsMHg3ZjQ1NjI1MywweDc3ZTBiMTY0LDB4YWU4NGJiNmIsMHhhMDFjZmU4MSwweDJiOTRmOTA4LDB4Njg1ODcwNDgsMHhmZDE5OGY0NSwweDZjODc5NGRlLDB4ZjhiNzUyN2IsMHhkMzIzYWI3MywweDJlMjcyNGIsMHg4ZjU3ZTMxZiwweGFiMmE2NjU1LDB4MjgwN2IyZWIsMHhjMjAzMmZiNSwweDdiOWE4NmM1LDB4OGE1ZDMzNywweDg3ZjIzMDI4LDB4YTViMjIzYmYsMHg2YWJhMDIwMywweDgyNWNlZDE2LDB4MWMyYjhhY2YsMHhiNDkyYTc3OSwweGYyZjBmMzA3LDB4ZTJhMTRlNjksMHhmNGNkNjVkYSwweGJlZDUwNjA1LDB4NjIxZmQxMzQsMHhmZThhYzRhNiwweDUzOWQzNDJlLDB4NTVhMGEyZjMsMHhlMTMyMDU4YSwweGViNzVhNGY2LDB4ZWMzOTBiODMsMHhlZmFhNDA2MCwweDlmMDY1ZTcxLDB4MTA1MWJkNmUsMHg4YWY5M2UyMSwweDYzZDk2ZGQsMHg1YWVkZDNlLDB4YmQ0NjRkZTYsMHg4ZGI1OTE1NCwweDVkMDU3MWM0LDB4ZDQ2ZjA0MDYsMHgxNWZmNjA1MCwweGZiMjQxOTk4LDB4ZTk5N2Q2YmQsMHg0M2NjODk0MCwweDllNzc2N2Q5LDB4NDJiZGIwZTgsMHg4Yjg4MDc4OSwweDViMzhlNzE5LDB4ZWVkYjc5YzgsMHhhNDdhMTdjLDB4ZmU5N2M0MiwweDFlYzlmODg0LDB4MCwweDg2ODMwOTgwLDB4ZWQ0ODMyMmIsMHg3MGFjMWUxMSwweDcyNGU2YzVhLDB4ZmZmYmZkMGUsMHgzODU2MGY4NSwweGQ1MWUzZGFlLDB4MzkyNzM2MmQsMHhkOTY0MGEwZiwweGE2MjE2ODVjLDB4NTRkMTliNWIsMHgyZTNhMjQzNiwweDY3YjEwYzBhLDB4ZTcwZjkzNTcsMHg5NmQyYjRlZSwweDkxOWUxYjliLDB4YzU0ZjgwYzAsMHgyMGEyNjFkYywweDRiNjk1YTc3LDB4MWExNjFjMTIsMHhiYTBhZTI5MywweDJhZTVjMGEwLDB4ZTA0MzNjMjIsMHgxNzFkMTIxYiwweGQwYjBlMDksMHhjN2FkZjI4YiwweGE4YjkyZGI2LDB4YTljODE0MWUsMHgxOTg1NTdmMSwweDc0Y2FmNzUsMHhkZGJiZWU5OSwweDYwZmRhMzdmLDB4MjY5ZmY3MDEsMHhmNWJjNWM3MiwweDNiYzU0NDY2LDB4N2UzNDViZmIsMHgyOTc2OGI0MywweGM2ZGNjYjIzLDB4ZmM2OGI2ZWQsMHhmMTYzYjhlNCwweGRjY2FkNzMxLDB4ODUxMDQyNjMsMHgyMjQwMTM5NywweDExMjA4NGM2LDB4MjQ3ZDg1NGEsMHgzZGY4ZDJiYiwweDMyMTFhZWY5LDB4YTE2ZGM3MjksMHgyZjRiMWQ5ZSwweDMwZjNkY2IyLDB4NTJlYzBkODYsMHhlM2QwNzdjMSwweDE2NmMyYmIzLDB4Yjk5OWE5NzAsMHg0OGZhMTE5NCwweDY0MjI0N2U5LDB4OGNjNGE4ZmMsMHgzZjFhYTBmMCwweDJjZDg1NjdkLDB4OTBlZjIyMzMsMHg0ZWM3ODc0OSwweGQxYzFkOTM4LDB4YTJmZThjY2EsMHhiMzY5OGQ0LDB4ODFjZmE2ZjUsMHhkZTI4YTU3YSwweDhlMjZkYWI3LDB4YmZhNDNmYWQsMHg5ZGU0MmMzYSwweDkyMGQ1MDc4LDB4Y2M5YjZhNWYsMHg0NjYyNTQ3ZSwweDEzYzJmNjhkLDB4YjhlODkwZDgsMHhmNzVlMmUzOSwweGFmZjU4MmMzLDB4ODBiZTlmNWQsMHg5MzdjNjlkMCwweDJkYTk2ZmQ1LDB4MTJiM2NmMjUsMHg5OTNiYzhhYywweDdkYTcxMDE4LDB4NjM2ZWU4OWMsMHhiYjdiZGIzYiwweDc4MDljZDI2LDB4MThmNDZlNTksMHhiNzAxZWM5YSwweDlhYTg4MzRmLDB4NmU2NWU2OTUsMHhlNjdlYWFmZiwweGNmMDgyMWJjLDB4ZThlNmVmMTUsMHg5YmQ5YmFlNywweDM2Y2U0YTZmLDB4OWQ0ZWE5ZiwweDdjZDYyOWIwLDB4YjJhZjMxYTQsMHgyMzMxMmEzZiwweDk0MzBjNmE1LDB4NjZjMDM1YTIsMHhiYzM3NzQ0ZSwweGNhYTZmYzgyLDB4ZDBiMGUwOTAsMHhkODE1MzNhNywweDk4NGFmMTA0LDB4ZGFmNzQxZWMsMHg1MDBlN2ZjZCwweGY2MmYxNzkxLDB4ZDY4ZDc2NGQsMHhiMDRkNDNlZiwweDRkNTRjY2FhLDB4NGRmZTQ5NiwweGI1ZTM5ZWQxLDB4ODgxYjRjNmEsMHgxZmI4YzEyYywweDUxN2Y0NjY1LDB4ZWEwNDlkNWUsMHgzNTVkMDE4YywweDc0NzNmYTg3LDB4NDEyZWZiMGIsMHgxZDVhYjM2NywweGQyNTI5MmRiLDB4NTYzM2U5MTAsMHg0NzEzNmRkNiwweDYxOGM5YWQ3LDB4YzdhMzdhMSwweDE0OGU1OWY4LDB4M2M4OWViMTMsMHgyN2VlY2VhOSwweGM5MzViNzYxLDB4ZTVlZGUxMWMsMHhiMTNjN2E0NywweGRmNTk5Y2QyLDB4NzMzZjU1ZjIsMHhjZTc5MTgxNCwweDM3YmY3M2M3LDB4Y2RlYTUzZjcsMHhhYTViNWZmZCwweDZmMTRkZjNkLDB4ZGI4Njc4NDQsMHhmMzgxY2FhZiwweGM0M2ViOTY4LDB4MzQyYzM4MjQsMHg0MDVmYzJhMywweGMzNzIxNjFkLDB4MjUwY2JjZTIsMHg0OThiMjgzYywweDk1NDFmZjBkLDB4MTcxMzlhOCwweGIzZGUwODBjLDB4ZTQ5Y2Q4YjQsMHhjMTkwNjQ1NiwweDg0NjE3YmNiLDB4YjY3MGQ1MzIsMHg1Yzc0NDg2YywweDU3NDJkMGI4XSxfMHg1NTNhZDA9WzB4ZjRhNzUwNTEsMHg0MTY1NTM3ZSwweDE3YTRjMzFhLDB4Mjc1ZTk2M2EsMHhhYjZiY2IzYiwweDlkNDVmMTFmLDB4ZmE1OGFiYWMsMHhlMzAzOTM0YiwweDMwZmE1NTIwLDB4NzY2ZGY2YWQsMHhjYzc2OTE4OCwweDI0YzI1ZjUsMHhlNWQ3ZmM0ZiwweDJhY2JkN2M1LDB4MzU0NDgwMjYsMHg2MmEzOGZiNSwweGIxNWE0OWRlLDB4YmExYjY3MjUsMHhlYTBlOTg0NSwweGZlYzBlMTVkLDB4MmY3NTAyYzMsMHg0Y2YwMTI4MSwweDQ2OTdhMzhkLDB4ZDNmOWM2NmIsMHg4ZjVmZTcwMywweDkyOWM5NTE1LDB4NmQ3YWViYmYsMHg1MjU5ZGE5NSwweGJlODMyZGQ0LDB4NzQyMWQzNTgsMHhlMDY5Mjk0OSwweGM5Yzg0NDhlLDB4YzI4OTZhNzUsMHg4ZTc5NzhmNCwweDU4M2U2Yjk5LDB4Yjk3MWRkMjcsMHhlMTRmYjZiZSwweDg4YWQxN2YwLDB4MjBhYzY2YzksMHhjZTNhYjQ3ZCwweGRmNGExODYzLDB4MWEzMTgyZTUsMHg1MTMzNjA5NywweDUzN2Y0NTYyLDB4NjQ3N2UwYjEsMHg2YmFlODRiYiwweDgxYTAxY2ZlLDB4ODJiOTRmOSwweDQ4Njg1ODcwLDB4NDVmZDE5OGYsMHhkZTZjODc5NCwweDdiZjhiNzUyLDB4NzNkMzIzYWIsMHg0YjAyZTI3MiwweDFmOGY1N2UzLDB4NTVhYjJhNjYsMHhlYjI4MDdiMiwweGI1YzIwMzJmLDB4YzU3YjlhODYsMHgzNzA4YTVkMywweDI4ODdmMjMwLDB4YmZhNWIyMjMsMHgzNmFiYTAyLDB4MTY4MjVjZWQsMHhjZjFjMmI4YSwweDc5YjQ5MmE3LDB4N2YyZjBmMywweDY5ZTJhMTRlLDB4ZGFmNGNkNjUsMHg1YmVkNTA2LDB4MzQ2MjFmZDEsMHhhNmZlOGFjNCwweDJlNTM5ZDM0LDB4ZjM1NWEwYTIsMHg4YWUxMzIwNSwweGY2ZWI3NWE0LDB4ODNlYzM5MGIsMHg2MGVmYWE0MCwweDcxOWYwNjVlLDB4NmUxMDUxYmQsMHgyMThhZjkzZSwweGRkMDYzZDk2LDB4M2UwNWFlZGQsMHhlNmJkNDY0ZCwweDU0OGRiNTkxLDB4YzQ1ZDA1NzEsMHg2ZDQ2ZjA0LDB4NTAxNWZmNjAsMHg5OGZiMjQxOSwweGJkZTk5N2Q2LDB4NDA0M2NjODksMHhkOTllNzc2NywweGU4NDJiZGIwLDB4ODk4Yjg4MDcsMHgxOTViMzhlNywweGM4ZWVkYjc5LDB4N2MwYTQ3YTEsMHg0MjBmZTk3YywweDg0MWVjOWY4LDB4MCwweDgwODY4MzA5LDB4MmJlZDQ4MzIsMHgxMTcwYWMxZSwweDVhNzI0ZTZjLDB4ZWZmZmJmZCwweDg1Mzg1NjBmLDB4YWVkNTFlM2QsMHgyZDM5MjczNiwweGZkOTY0MGEsMHg1Y2E2MjE2OCwweDViNTRkMTliLDB4MzYyZTNhMjQsMHhhNjdiMTBjLDB4NTdlNzBmOTMsMHhlZTk2ZDJiNCwweDliOTE5ZTFiLDB4YzBjNTRmODAsMHhkYzIwYTI2MSwweDc3NGI2OTVhLDB4MTIxYTE2MWMsMHg5M2JhMGFlMiwweGEwMmFlNWMwLDB4MjJlMDQzM2MsMHgxYjE3MWQxMiwweDkwZDBiMGUsMHg4YmM3YWRmMiwweGI2YThiOTJkLDB4MWVhOWM4MTQsMHhmMTE5ODU1NywweDc1MDc0Y2FmLDB4OTlkZGJiZWUsMHg3ZjYwZmRhMywweDEyNjlmZjcsMHg3MmY1YmM1YywweDY2M2JjNTQ0LDB4ZmI3ZTM0NWIsMHg0MzI5NzY4YiwweDIzYzZkY2NiLDB4ZWRmYzY4YjYsMHhlNGYxNjNiOCwweDMxZGNjYWQ3LDB4NjM4NTEwNDIsMHg5NzIyNDAxMywweGM2MTEyMDg0LDB4NGEyNDdkODUsMHhiYjNkZjhkMiwweGY5MzIxMWFlLDB4MjlhMTZkYzcsMHg5ZTJmNGIxZCwweGIyMzBmM2RjLDB4ODY1MmVjMGQsMHhjMWUzZDA3NywweGIzMTY2YzJiLDB4NzBiOTk5YTksMHg5NDQ4ZmExMSwweGU5NjQyMjQ3LDB4ZmM4Y2M0YTgsMHhmMDNmMWFhMCwweDdkMmNkODU2LDB4MzM5MGVmMjIsMHg0OTRlYzc4NywweDM4ZDFjMWQ5LDB4Y2FhMmZlOGMsMHhkNDBiMzY5OCwweGY1ODFjZmE2LDB4N2FkZTI4YTUsMHhiNzhlMjZkYSwweGFkYmZhNDNmLDB4M2E5ZGU0MmMsMHg3ODkyMGQ1MCwweDVmY2M5YjZhLDB4N2U0NjYyNTQsMHg4ZDEzYzJmNiwweGQ4YjhlODkwLDB4MzlmNzVlMmUsMHhjM2FmZjU4MiwweDVkODBiZTlmLDB4ZDA5MzdjNjksMHhkNTJkYTk2ZiwweDI1MTJiM2NmLDB4YWM5OTNiYzgsMHgxODdkYTcxMCwweDljNjM2ZWU4LDB4M2JiYjdiZGIsMHgyNjc4MDljZCwweDU5MThmNDZlLDB4OWFiNzAxZWMsMHg0ZjlhYTg4MywweDk1NmU2NWU2LDB4ZmZlNjdlYWEsMHhiY2NmMDgyMSwweDE1ZThlNmVmLDB4ZTc5YmQ5YmEsMHg2ZjM2Y2U0YSwweDlmMDlkNGVhLDB4YjA3Y2Q2MjksMHhhNGIyYWYzMSwweDNmMjMzMTJhLDB4YTU5NDMwYzYsMHhhMjY2YzAzNSwweDRlYmMzNzc0LDB4ODJjYWE2ZmMsMHg5MGQwYjBlMCwweGE3ZDgxNTMzLDB4NDk4NGFmMSwweGVjZGFmNzQxLDB4Y2Q1MDBlN2YsMHg5MWY2MmYxNywweDRkZDY4ZDc2LDB4ZWZiMDRkNDMsMHhhYTRkNTRjYywweDk2MDRkZmU0LDB4ZDFiNWUzOWUsMHg2YTg4MWI0YywweDJjMWZiOGMxLDB4NjU1MTdmNDYsMHg1ZWVhMDQ5ZCwweDhjMzU1ZDAxLDB4ODc3NDczZmEsMHhiNDEyZWZiLDB4NjcxZDVhYjMsMHhkYmQyNTI5MiwweDEwNTYzM2U5LDB4ZDY0NzEzNmQsMHhkNzYxOGM5YSwweGExMGM3YTM3LDB4ZjgxNDhlNTksMHgxMzNjODllYiwweGE5MjdlZWNlLDB4NjFjOTM1YjcsMHgxY2U1ZWRlMSwweDQ3YjEzYzdhLDB4ZDJkZjU5OWMsMHhmMjczM2Y1NSwweDE0Y2U3OTE4LDB4YzczN2JmNzMsMHhmN2NkZWE1MywweGZkYWE1YjVmLDB4M2Q2ZjE0ZGYsMHg0NGRiODY3OCwweGFmZjM4MWNhLDB4NjhjNDNlYjksMHgyNDM0MmMzOCwweGEzNDA1ZmMyLDB4MWRjMzcyMTYsMHhlMjI1MGNiYywweDNjNDk4YjI4LDB4ZDk1NDFmZiwweGE4MDE3MTM5LDB4Y2IzZGUwOCwweGI0ZTQ5Y2Q4LDB4NTZjMTkwNjQsMHhjYjg0NjE3YiwweDMyYjY3MGQ1LDB4NmM1Yzc0NDgsMHhiODU3NDJkMF0sXzB4NDhlODk2PVsweDAsMHhlMDkwZDBiLDB4MWMxMjFhMTYsMHgxMjFiMTcxZCwweDM4MjQzNDJjLDB4MzYyZDM5MjcsMHgyNDM2MmUzYSwweDJhM2YyMzMxLDB4NzA0ODY4NTgsMHg3ZTQxNjU1MywweDZjNWE3MjRlLDB4NjI1MzdmNDUsMHg0ODZjNWM3NCwweDQ2NjU1MTdmLDB4NTQ3ZTQ2NjIsMHg1YTc3NGI2OSwweGUwOTBkMGIwLDB4ZWU5OWRkYmIsMHhmYzgyY2FhNiwweGYyOGJjN2FkLDB4ZDhiNGU0OWMsMHhkNmJkZTk5NywweGM0YTZmZThhLDB4Y2FhZmYzODEsMHg5MGQ4YjhlOCwweDllZDFiNWUzLDB4OGNjYWEyZmUsMHg4MmMzYWZmNSwweGE4ZmM4Y2M0LDB4YTZmNTgxY2YsMHhiNGVlOTZkMiwweGJhZTc5YmQ5LDB4ZGIzYmJiN2IsMHhkNTMyYjY3MCwweGM3MjlhMTZkLDB4YzkyMGFjNjYsMHhlMzFmOGY1NywweGVkMTY4MjVjLDB4ZmYwZDk1NDEsMHhmMTA0OTg0YSwweGFiNzNkMzIzLDB4YTU3YWRlMjgsMHhiNzYxYzkzNSwweGI5NjhjNDNlLDB4OTM1N2U3MGYsMHg5ZDVlZWEwNCwweDhmNDVmZDE5LDB4ODE0Y2YwMTIsMHgzYmFiNmJjYiwweDM1YTI2NmMwLDB4MjdiOTcxZGQsMHgyOWIwN2NkNiwweDM4ZjVmZTcsMHhkODY1MmVjLDB4MWY5ZDQ1ZjEsMHgxMTk0NDhmYSwweDRiZTMwMzkzLDB4NDVlYTBlOTgsMHg1N2YxMTk4NSwweDU5ZjgxNDhlLDB4NzNjNzM3YmYsMHg3ZGNlM2FiNCwweDZmZDUyZGE5LDB4NjFkYzIwYTIsMHhhZDc2NmRmNiwweGEzN2Y2MGZkLDB4YjE2NDc3ZTAsMHhiZjZkN2FlYiwweDk1NTI1OWRhLDB4OWI1YjU0ZDEsMHg4OTQwNDNjYywweDg3NDk0ZWM3LDB4ZGQzZTA1YWUsMHhkMzM3MDhhNSwweGMxMmMxZmI4LDB4Y2YyNTEyYjMsMHhlNTFhMzE4MiwweGViMTMzYzg5LDB4ZjkwODJiOTQsMHhmNzAxMjY5ZiwweDRkZTZiZDQ2LDB4NDNlZmIwNGQsMHg1MWY0YTc1MCwweDVmZmRhYTViLDB4NzVjMjg5NmEsMHg3YmNiODQ2MSwweDY5ZDA5MzdjLDB4NjdkOTllNzcsMHgzZGFlZDUxZSwweDMzYTdkODE1LDB4MjFiY2NmMDgsMHgyZmI1YzIwMywweDU4YWUxMzIsMHhiODNlYzM5LDB4MTk5OGZiMjQsMHgxNzkxZjYyZiwweDc2NGRkNjhkLDB4Nzg0NGRiODYsMHg2YTVmY2M5YiwweDY0NTZjMTkwLDB4NGU2OWUyYTEsMHg0MDYwZWZhYSwweDUyN2JmOGI3LDB4NWM3MmY1YmMsMHg2MDViZWQ1LDB4ODBjYjNkZSwweDFhMTdhNGMzLDB4MTQxZWE5YzgsMHgzZTIxOGFmOSwweDMwMjg4N2YyLDB4MjIzMzkwZWYsMHgyYzNhOWRlNCwweDk2ZGQwNjNkLDB4OThkNDBiMzYsMHg4YWNmMWMyYiwweDg0YzYxMTIwLDB4YWVmOTMyMTEsMHhhMGYwM2YxYSwweGIyZWIyODA3LDB4YmNlMjI1MGMsMHhlNjk1NmU2NSwweGU4OWM2MzZlLDB4ZmE4Nzc0NzMsMHhmNDhlNzk3OCwweGRlYjE1YTQ5LDB4ZDBiODU3NDIsMHhjMmEzNDA1ZiwweGNjYWE0ZDU0LDB4NDFlY2RhZjcsMHg0ZmU1ZDdmYywweDVkZmVjMGUxLDB4NTNmN2NkZWEsMHg3OWM4ZWVkYiwweDc3YzFlM2QwLDB4NjVkYWY0Y2QsMHg2YmQzZjljNiwweDMxYTRiMmFmLDB4M2ZhZGJmYTQsMHgyZGI2YThiOSwweDIzYmZhNWIyLDB4OTgwODY4MywweDc4OThiODgsMHgxNTkyOWM5NSwweDFiOWI5MTllLDB4YTE3YzBhNDcsMHhhZjc1MDc0YywweGJkNmUxMDUxLDB4YjM2NzFkNWEsMHg5OTU4M2U2YiwweDk3NTEzMzYwLDB4ODU0YTI0N2QsMHg4YjQzMjk3NiwweGQxMzQ2MjFmLDB4ZGYzZDZmMTQsMHhjZDI2NzgwOSwweGMzMmY3NTAyLDB4ZTkxMDU2MzMsMHhlNzE5NWIzOCwweGY1MDI0YzI1LDB4ZmIwYjQxMmUsMHg5YWQ3NjE4YywweDk0ZGU2Yzg3LDB4ODZjNTdiOWEsMHg4OGNjNzY5MSwweGEyZjM1NWEwLDB4YWNmYTU4YWIsMHhiZWUxNGZiNiwweGIwZTg0MmJkLDB4ZWE5ZjA5ZDQsMHhlNDk2MDRkZiwweGY2OGQxM2MyLDB4Zjg4NDFlYzksMHhkMmJiM2RmOCwweGRjYjIzMGYzLDB4Y2VhOTI3ZWUsMHhjMGEwMmFlNSwweDdhNDdiMTNjLDB4NzQ0ZWJjMzcsMHg2NjU1YWIyYSwweDY4NWNhNjIxLDB4NDI2Mzg1MTAsMHg0YzZhODgxYiwweDVlNzE5ZjA2LDB4NTA3ODkyMGQsMHhhMGZkOTY0LDB4NDA2ZDQ2ZiwweDE2MWRjMzcyLDB4MTgxNGNlNzksMHgzMjJiZWQ0OCwweDNjMjJlMDQzLDB4MmUzOWY3NWUsMHgyMDMwZmE1NSwweGVjOWFiNzAxLDB4ZTI5M2JhMGEsMHhmMDg4YWQxNywweGZlODFhMDFjLDB4ZDRiZTgzMmQsMHhkYWI3OGUyNiwweGM4YWM5OTNiLDB4YzZhNTk0MzAsMHg5Y2QyZGY1OSwweDkyZGJkMjUyLDB4ODBjMGM1NGYsMHg4ZWM5Yzg0NCwweGE0ZjZlYjc1LDB4YWFmZmU2N2UsMHhiOGU0ZjE2MywweGI2ZWRmYzY4LDB4YzBhNjdiMSwweDIwMzZhYmEsMHgxMDE4N2RhNywweDFlMTE3MGFjLDB4MzQyZTUzOWQsMHgzYTI3NWU5NiwweDI4M2M0OThiLDB4MjYzNTQ0ODAsMHg3YzQyMGZlOSwweDcyNGIwMmUyLDB4NjA1MDE1ZmYsMHg2ZTU5MThmNCwweDQ0NjYzYmM1LDB4NGE2ZjM2Y2UsMHg1ODc0MjFkMywweDU2N2QyY2Q4LDB4MzdhMTBjN2EsMHgzOWE4MDE3MSwweDJiYjMxNjZjLDB4MjViYTFiNjcsMHhmODUzODU2LDB4MThjMzU1ZCwweDEzOTcyMjQwLDB4MWQ5ZTJmNGIsMHg0N2U5NjQyMiwweDQ5ZTA2OTI5LDB4NWJmYjdlMzQsMHg1NWYyNzMzZiwweDdmY2Q1MDBlLDB4NzFjNDVkMDUsMHg2M2RmNGExOCwweDZkZDY0NzEzLDB4ZDczMWRjY2EsMHhkOTM4ZDFjMSwweGNiMjNjNmRjLDB4YzUyYWNiZDcsMHhlZjE1ZThlNiwweGUxMWNlNWVkLDB4ZjMwN2YyZjAsMHhmZDBlZmZmYiwweGE3NzliNDkyLDB4YTk3MGI5OTksMHhiYjZiYWU4NCwweGI1NjJhMzhmLDB4OWY1ZDgwYmUsMHg5MTU0OGRiNSwweDgzNGY5YWE4LDB4OGQ0Njk3YTNdLF8weDNmNDljMD1bMHgwLDB4YjBlMDkwZCwweDE2MWMxMjFhLDB4MWQxMjFiMTcsMHgyYzM4MjQzNCwweDI3MzYyZDM5LDB4M2EyNDM2MmUsMHgzMTJhM2YyMywweDU4NzA0ODY4LDB4NTM3ZTQxNjUsMHg0ZTZjNWE3MiwweDQ1NjI1MzdmLDB4NzQ0ODZjNWMsMHg3ZjQ2NjU1MSwweDYyNTQ3ZTQ2LDB4Njk1YTc3NGIsMHhiMGUwOTBkMCwweGJiZWU5OWRkLDB4YTZmYzgyY2EsMHhhZGYyOGJjNywweDljZDhiNGU0LDB4OTdkNmJkZTksMHg4YWM0YTZmZSwweDgxY2FhZmYzLDB4ZTg5MGQ4YjgsMHhlMzllZDFiNSwweGZlOGNjYWEyLDB4ZjU4MmMzYWYsMHhjNGE4ZmM4YywweGNmYTZmNTgxLDB4ZDJiNGVlOTYsMHhkOWJhZTc5YiwweDdiZGIzYmJiLDB4NzBkNTMyYjYsMHg2ZGM3MjlhMSwweDY2YzkyMGFjLDB4NTdlMzFmOGYsMHg1Y2VkMTY4MiwweDQxZmYwZDk1LDB4NGFmMTA0OTgsMHgyM2FiNzNkMywweDI4YTU3YWRlLDB4MzViNzYxYzksMHgzZWI5NjhjNCwweGY5MzU3ZTcsMHg0OWQ1ZWVhLDB4MTk4ZjQ1ZmQsMHgxMjgxNGNmMCwweGNiM2JhYjZiLDB4YzAzNWEyNjYsMHhkZDI3Yjk3MSwweGQ2MjliMDdjLDB4ZTcwMzhmNWYsMHhlYzBkODY1MiwweGYxMWY5ZDQ1LDB4ZmExMTk0NDgsMHg5MzRiZTMwMywweDk4NDVlYTBlLDB4ODU1N2YxMTksMHg4ZTU5ZjgxNCwweGJmNzNjNzM3LDB4YjQ3ZGNlM2EsMHhhOTZmZDUyZCwweGEyNjFkYzIwLDB4ZjZhZDc2NmQsMHhmZGEzN2Y2MCwweGUwYjE2NDc3LDB4ZWJiZjZkN2EsMHhkYTk1NTI1OSwweGQxOWI1YjU0LDB4Y2M4OTQwNDMsMHhjNzg3NDk0ZSwweGFlZGQzZTA1LDB4YTVkMzM3MDgsMHhiOGMxMmMxZiwweGIzY2YyNTEyLDB4ODJlNTFhMzEsMHg4OWViMTMzYywweDk0ZjkwODJiLDB4OWZmNzAxMjYsMHg0NjRkZTZiZCwweDRkNDNlZmIwLDB4NTA1MWY0YTcsMHg1YjVmZmRhYSwweDZhNzVjMjg5LDB4NjE3YmNiODQsMHg3YzY5ZDA5MywweDc3NjdkOTllLDB4MWUzZGFlZDUsMHgxNTMzYTdkOCwweDgyMWJjY2YsMHgzMmZiNWMyLDB4MzIwNThhZTEsMHgzOTBiODNlYywweDI0MTk5OGZiLDB4MmYxNzkxZjYsMHg4ZDc2NGRkNiwweDg2Nzg0NGRiLDB4OWI2YTVmY2MsMHg5MDY0NTZjMSwweGExNGU2OWUyLDB4YWE0MDYwZWYsMHhiNzUyN2JmOCwweGJjNWM3MmY1LDB4ZDUwNjA1YmUsMHhkZTA4MGNiMywweGMzMWExN2E0LDB4YzgxNDFlYTksMHhmOTNlMjE4YSwweGYyMzAyODg3LDB4ZWYyMjMzOTAsMHhlNDJjM2E5ZCwweDNkOTZkZDA2LDB4MzY5OGQ0MGIsMHgyYjhhY2YxYywweDIwODRjNjExLDB4MTFhZWY5MzIsMHgxYWEwZjAzZiwweDdiMmViMjgsMHhjYmNlMjI1LDB4NjVlNjk1NmUsMHg2ZWU4OWM2MywweDczZmE4Nzc0LDB4NzhmNDhlNzksMHg0OWRlYjE1YSwweDQyZDBiODU3LDB4NWZjMmEzNDAsMHg1NGNjYWE0ZCwweGY3NDFlY2RhLDB4ZmM0ZmU1ZDcsMHhlMTVkZmVjMCwweGVhNTNmN2NkLDB4ZGI3OWM4ZWUsMHhkMDc3YzFlMywweGNkNjVkYWY0LDB4YzY2YmQzZjksMHhhZjMxYTRiMiwweGE0M2ZhZGJmLDB4YjkyZGI2YTgsMHhiMjIzYmZhNSwweDgzMDk4MDg2LDB4ODgwNzg5OGIsMHg5NTE1OTI5YywweDllMWI5YjkxLDB4NDdhMTdjMGEsMHg0Y2FmNzUwNywweDUxYmQ2ZTEwLDB4NWFiMzY3MWQsMHg2Yjk5NTgzZSwweDYwOTc1MTMzLDB4N2Q4NTRhMjQsMHg3NjhiNDMyOSwweDFmZDEzNDYyLDB4MTRkZjNkNmYsMHg5Y2QyNjc4LDB4MmMzMmY3NSwweDMzZTkxMDU2LDB4MzhlNzE5NWIsMHgyNWY1MDI0YywweDJlZmIwYjQxLDB4OGM5YWQ3NjEsMHg4Nzk0ZGU2YywweDlhODZjNTdiLDB4OTE4OGNjNzYsMHhhMGEyZjM1NSwweGFiYWNmYTU4LDB4YjZiZWUxNGYsMHhiZGIwZTg0MiwweGQ0ZWE5ZjA5LDB4ZGZlNDk2MDQsMHhjMmY2OGQxMywweGM5Zjg4NDFlLDB4ZjhkMmJiM2QsMHhmM2RjYjIzMCwweGVlY2VhOTI3LDB4ZTVjMGEwMmEsMHgzYzdhNDdiMSwweDM3NzQ0ZWJjLDB4MmE2NjU1YWIsMHgyMTY4NWNhNiwweDEwNDI2Mzg1LDB4MWI0YzZhODgsMHg2NWU3MTlmLDB4ZDUwNzg5MiwweDY0MGEwZmQ5LDB4NmYwNDA2ZDQsMHg3MjE2MWRjMywweDc5MTgxNGNlLDB4NDgzMjJiZWQsMHg0MzNjMjJlMCwweDVlMmUzOWY3LDB4NTUyMDMwZmEsMHgxZWM5YWI3LDB4YWUyOTNiYSwweDE3ZjA4OGFkLDB4MWNmZTgxYTAsMHgyZGQ0YmU4MywweDI2ZGFiNzhlLDB4M2JjOGFjOTksMHgzMGM2YTU5NCwweDU5OWNkMmRmLDB4NTI5MmRiZDIsMHg0ZjgwYzBjNSwweDQ0OGVjOWM4LDB4NzVhNGY2ZWIsMHg3ZWFhZmZlNiwweDYzYjhlNGYxLDB4NjhiNmVkZmMsMHhiMTBjMGE2NywweGJhMDIwMzZhLDB4YTcxMDE4N2QsMHhhYzFlMTE3MCwweDlkMzQyZTUzLDB4OTYzYTI3NWUsMHg4YjI4M2M0OSwweDgwMjYzNTQ0LDB4ZTk3YzQyMGYsMHhlMjcyNGIwMiwweGZmNjA1MDE1LDB4ZjQ2ZTU5MTgsMHhjNTQ0NjYzYiwweGNlNGE2ZjM2LDB4ZDM1ODc0MjEsMHhkODU2N2QyYywweDdhMzdhMTBjLDB4NzEzOWE4MDEsMHg2YzJiYjMxNiwweDY3MjViYTFiLDB4NTYwZjg1MzgsMHg1ZDAxOGMzNSwweDQwMTM5NzIyLDB4NGIxZDllMmYsMHgyMjQ3ZTk2NCwweDI5NDllMDY5LDB4MzQ1YmZiN2UsMHgzZjU1ZjI3MywweGU3ZmNkNTAsMHg1NzFjNDVkLDB4MTg2M2RmNGEsMHgxMzZkZDY0NywweGNhZDczMWRjLDB4YzFkOTM4ZDEsMHhkY2NiMjNjNiwweGQ3YzUyYWNiLDB4ZTZlZjE1ZTgsMHhlZGUxMWNlNSwweGYwZjMwN2YyLDB4ZmJmZDBlZmYsMHg5MmE3NzliNCwweDk5YTk3MGI5LDB4ODRiYjZiYWUsMHg4ZmI1NjJhMywweGJlOWY1ZDgwLDB4YjU5MTU0OGQsMHhhODgzNGY5YSwweGEzOGQ0Njk3XSxfMHgyZDMwY2M9WzB4MCwweGQwYjBlMDksMHgxYTE2MWMxMiwweDE3MWQxMjFiLDB4MzQyYzM4MjQsMHgzOTI3MzYyZCwweDJlM2EyNDM2LDB4MjMzMTJhM2YsMHg2ODU4NzA0OCwweDY1NTM3ZTQxLDB4NzI0ZTZjNWEsMHg3ZjQ1NjI1MywweDVjNzQ0ODZjLDB4NTE3ZjQ2NjUsMHg0NjYyNTQ3ZSwweDRiNjk1YTc3LDB4ZDBiMGUwOTAsMHhkZGJiZWU5OSwweGNhYTZmYzgyLDB4YzdhZGYyOGIsMHhlNDljZDhiNCwweGU5OTdkNmJkLDB4ZmU4YWM0YTYsMHhmMzgxY2FhZiwweGI4ZTg5MGQ4LDB4YjVlMzllZDEsMHhhMmZlOGNjYSwweGFmZjU4MmMzLDB4OGNjNGE4ZmMsMHg4MWNmYTZmNSwweDk2ZDJiNGVlLDB4OWJkOWJhZTcsMHhiYjdiZGIzYiwweGI2NzBkNTMyLDB4YTE2ZGM3MjksMHhhYzY2YzkyMCwweDhmNTdlMzFmLDB4ODI1Y2VkMTYsMHg5NTQxZmYwZCwweDk4NGFmMTA0LDB4ZDMyM2FiNzMsMHhkZTI4YTU3YSwweGM5MzViNzYxLDB4YzQzZWI5NjgsMHhlNzBmOTM1NywweGVhMDQ5ZDVlLDB4ZmQxOThmNDUsMHhmMDEyODE0YywweDZiY2IzYmFiLDB4NjZjMDM1YTIsMHg3MWRkMjdiOSwweDdjZDYyOWIwLDB4NWZlNzAzOGYsMHg1MmVjMGQ4NiwweDQ1ZjExZjlkLDB4NDhmYTExOTQsMHgzOTM0YmUzLDB4ZTk4NDVlYSwweDE5ODU1N2YxLDB4MTQ4ZTU5ZjgsMHgzN2JmNzNjNywweDNhYjQ3ZGNlLDB4MmRhOTZmZDUsMHgyMGEyNjFkYywweDZkZjZhZDc2LDB4NjBmZGEzN2YsMHg3N2UwYjE2NCwweDdhZWJiZjZkLDB4NTlkYTk1NTIsMHg1NGQxOWI1YiwweDQzY2M4OTQwLDB4NGVjNzg3NDksMHg1YWVkZDNlLDB4OGE1ZDMzNywweDFmYjhjMTJjLDB4MTJiM2NmMjUsMHgzMTgyZTUxYSwweDNjODllYjEzLDB4MmI5NGY5MDgsMHgyNjlmZjcwMSwweGJkNDY0ZGU2LDB4YjA0ZDQzZWYsMHhhNzUwNTFmNCwweGFhNWI1ZmZkLDB4ODk2YTc1YzIsMHg4NDYxN2JjYiwweDkzN2M2OWQwLDB4OWU3NzY3ZDksMHhkNTFlM2RhZSwweGQ4MTUzM2E3LDB4Y2YwODIxYmMsMHhjMjAzMmZiNSwweGUxMzIwNThhLDB4ZWMzOTBiODMsMHhmYjI0MTk5OCwweGY2MmYxNzkxLDB4ZDY4ZDc2NGQsMHhkYjg2Nzg0NCwweGNjOWI2YTVmLDB4YzE5MDY0NTYsMHhlMmExNGU2OSwweGVmYWE0MDYwLDB4ZjhiNzUyN2IsMHhmNWJjNWM3MiwweGJlZDUwNjA1LDB4YjNkZTA4MGMsMHhhNGMzMWExNywweGE5YzgxNDFlLDB4OGFmOTNlMjEsMHg4N2YyMzAyOCwweDkwZWYyMjMzLDB4OWRlNDJjM2EsMHg2M2Q5NmRkLDB4YjM2OThkNCwweDFjMmI4YWNmLDB4MTEyMDg0YzYsMHgzMjExYWVmOSwweDNmMWFhMGYwLDB4MjgwN2IyZWIsMHgyNTBjYmNlMiwweDZlNjVlNjk1LDB4NjM2ZWU4OWMsMHg3NDczZmE4NywweDc5NzhmNDhlLDB4NWE0OWRlYjEsMHg1NzQyZDBiOCwweDQwNWZjMmEzLDB4NGQ1NGNjYWEsMHhkYWY3NDFlYywweGQ3ZmM0ZmU1LDB4YzBlMTVkZmUsMHhjZGVhNTNmNywweGVlZGI3OWM4LDB4ZTNkMDc3YzEsMHhmNGNkNjVkYSwweGY5YzY2YmQzLDB4YjJhZjMxYTQsMHhiZmE0M2ZhZCwweGE4YjkyZGI2LDB4YTViMjIzYmYsMHg4NjgzMDk4MCwweDhiODgwNzg5LDB4OWM5NTE1OTIsMHg5MTllMWI5YiwweGE0N2ExN2MsMHg3NGNhZjc1LDB4MTA1MWJkNmUsMHgxZDVhYjM2NywweDNlNmI5OTU4LDB4MzM2MDk3NTEsMHgyNDdkODU0YSwweDI5NzY4YjQzLDB4NjIxZmQxMzQsMHg2ZjE0ZGYzZCwweDc4MDljZDI2LDB4NzUwMmMzMmYsMHg1NjMzZTkxMCwweDViMzhlNzE5LDB4NGMyNWY1MDIsMHg0MTJlZmIwYiwweDYxOGM5YWQ3LDB4NmM4Nzk0ZGUsMHg3YjlhODZjNSwweDc2OTE4OGNjLDB4NTVhMGEyZjMsMHg1OGFiYWNmYSwweDRmYjZiZWUxLDB4NDJiZGIwZTgsMHg5ZDRlYTlmLDB4NGRmZTQ5NiwweDEzYzJmNjhkLDB4MWVjOWY4ODQsMHgzZGY4ZDJiYiwweDMwZjNkY2IyLDB4MjdlZWNlYTksMHgyYWU1YzBhMCwweGIxM2M3YTQ3LDB4YmMzNzc0NGUsMHhhYjJhNjY1NSwweGE2MjE2ODVjLDB4ODUxMDQyNjMsMHg4ODFiNGM2YSwweDlmMDY1ZTcxLDB4OTIwZDUwNzgsMHhkOTY0MGEwZiwweGQ0NmYwNDA2LDB4YzM3MjE2MWQsMHhjZTc5MTgxNCwweGVkNDgzMjJiLDB4ZTA0MzNjMjIsMHhmNzVlMmUzOSwweGZhNTUyMDMwLDB4YjcwMWVjOWEsMHhiYTBhZTI5MywweGFkMTdmMDg4LDB4YTAxY2ZlODEsMHg4MzJkZDRiZSwweDhlMjZkYWI3LDB4OTkzYmM4YWMsMHg5NDMwYzZhNSwweGRmNTk5Y2QyLDB4ZDI1MjkyZGIsMHhjNTRmODBjMCwweGM4NDQ4ZWM5LDB4ZWI3NWE0ZjYsMHhlNjdlYWFmZiwweGYxNjNiOGU0LDB4ZmM2OGI2ZWQsMHg2N2IxMGMwYSwweDZhYmEwMjAzLDB4N2RhNzEwMTgsMHg3MGFjMWUxMSwweDUzOWQzNDJlLDB4NWU5NjNhMjcsMHg0OThiMjgzYywweDQ0ODAyNjM1LDB4ZmU5N2M0MiwweDJlMjcyNGIsMHgxNWZmNjA1MCwweDE4ZjQ2ZTU5LDB4M2JjNTQ0NjYsMHgzNmNlNGE2ZiwweDIxZDM1ODc0LDB4MmNkODU2N2QsMHhjN2EzN2ExLDB4MTcxMzlhOCwweDE2NmMyYmIzLDB4MWI2NzI1YmEsMHgzODU2MGY4NSwweDM1NWQwMThjLDB4MjI0MDEzOTcsMHgyZjRiMWQ5ZSwweDY0MjI0N2U5LDB4NjkyOTQ5ZTAsMHg3ZTM0NWJmYiwweDczM2Y1NWYyLDB4NTAwZTdmY2QsMHg1ZDA1NzFjNCwweDRhMTg2M2RmLDB4NDcxMzZkZDYsMHhkY2NhZDczMSwweGQxYzFkOTM4LDB4YzZkY2NiMjMsMHhjYmQ3YzUyYSwweGU4ZTZlZjE1LDB4ZTVlZGUxMWMsMHhmMmYwZjMwNywweGZmZmJmZDBlLDB4YjQ5MmE3NzksMHhiOTk5YTk3MCwweGFlODRiYjZiLDB4YTM4ZmI1NjIsMHg4MGJlOWY1ZCwweDhkYjU5MTU0LDB4OWFhODgzNGYsMHg5N2EzOGQ0Nl0sXzB4NDA1NTVmPVsweDAsMHg5MGQwYjBlLDB4MTIxYTE2MWMsMHgxYjE3MWQxMiwweDI0MzQyYzM4LDB4MmQzOTI3MzYsMHgzNjJlM2EyNCwweDNmMjMzMTJhLDB4NDg2ODU4NzAsMHg0MTY1NTM3ZSwweDVhNzI0ZTZjLDB4NTM3ZjQ1NjIsMHg2YzVjNzQ0OCwweDY1NTE3ZjQ2LDB4N2U0NjYyNTQsMHg3NzRiNjk1YSwweDkwZDBiMGUwLDB4OTlkZGJiZWUsMHg4MmNhYTZmYywweDhiYzdhZGYyLDB4YjRlNDljZDgsMHhiZGU5OTdkNiwweGE2ZmU4YWM0LDB4YWZmMzgxY2EsMHhkOGI4ZTg5MCwweGQxYjVlMzllLDB4Y2FhMmZlOGMsMHhjM2FmZjU4MiwweGZjOGNjNGE4LDB4ZjU4MWNmYTYsMHhlZTk2ZDJiNCwweGU3OWJkOWJhLDB4M2JiYjdiZGIsMHgzMmI2NzBkNSwweDI5YTE2ZGM3LDB4MjBhYzY2YzksMHgxZjhmNTdlMywweDE2ODI1Y2VkLDB4ZDk1NDFmZiwweDQ5ODRhZjEsMHg3M2QzMjNhYiwweDdhZGUyOGE1LDB4NjFjOTM1YjcsMHg2OGM0M2ViOSwweDU3ZTcwZjkzLDB4NWVlYTA0OWQsMHg0NWZkMTk4ZiwweDRjZjAxMjgxLDB4YWI2YmNiM2IsMHhhMjY2YzAzNSwweGI5NzFkZDI3LDB4YjA3Y2Q2MjksMHg4ZjVmZTcwMywweDg2NTJlYzBkLDB4OWQ0NWYxMWYsMHg5NDQ4ZmExMSwweGUzMDM5MzRiLDB4ZWEwZTk4NDUsMHhmMTE5ODU1NywweGY4MTQ4ZTU5LDB4YzczN2JmNzMsMHhjZTNhYjQ3ZCwweGQ1MmRhOTZmLDB4ZGMyMGEyNjEsMHg3NjZkZjZhZCwweDdmNjBmZGEzLDB4NjQ3N2UwYjEsMHg2ZDdhZWJiZiwweDUyNTlkYTk1LDB4NWI1NGQxOWIsMHg0MDQzY2M4OSwweDQ5NGVjNzg3LDB4M2UwNWFlZGQsMHgzNzA4YTVkMywweDJjMWZiOGMxLDB4MjUxMmIzY2YsMHgxYTMxODJlNSwweDEzM2M4OWViLDB4ODJiOTRmOSwweDEyNjlmZjcsMHhlNmJkNDY0ZCwweGVmYjA0ZDQzLDB4ZjRhNzUwNTEsMHhmZGFhNWI1ZiwweGMyODk2YTc1LDB4Y2I4NDYxN2IsMHhkMDkzN2M2OSwweGQ5OWU3NzY3LDB4YWVkNTFlM2QsMHhhN2Q4MTUzMywweGJjY2YwODIxLDB4YjVjMjAzMmYsMHg4YWUxMzIwNSwweDgzZWMzOTBiLDB4OThmYjI0MTksMHg5MWY2MmYxNywweDRkZDY4ZDc2LDB4NDRkYjg2NzgsMHg1ZmNjOWI2YSwweDU2YzE5MDY0LDB4NjllMmExNGUsMHg2MGVmYWE0MCwweDdiZjhiNzUyLDB4NzJmNWJjNWMsMHg1YmVkNTA2LDB4Y2IzZGUwOCwweDE3YTRjMzFhLDB4MWVhOWM4MTQsMHgyMThhZjkzZSwweDI4ODdmMjMwLDB4MzM5MGVmMjIsMHgzYTlkZTQyYywweGRkMDYzZDk2LDB4ZDQwYjM2OTgsMHhjZjFjMmI4YSwweGM2MTEyMDg0LDB4ZjkzMjExYWUsMHhmMDNmMWFhMCwweGViMjgwN2IyLDB4ZTIyNTBjYmMsMHg5NTZlNjVlNiwweDljNjM2ZWU4LDB4ODc3NDczZmEsMHg4ZTc5NzhmNCwweGIxNWE0OWRlLDB4Yjg1NzQyZDAsMHhhMzQwNWZjMiwweGFhNGQ1NGNjLDB4ZWNkYWY3NDEsMHhlNWQ3ZmM0ZiwweGZlYzBlMTVkLDB4ZjdjZGVhNTMsMHhjOGVlZGI3OSwweGMxZTNkMDc3LDB4ZGFmNGNkNjUsMHhkM2Y5YzY2YiwweGE0YjJhZjMxLDB4YWRiZmE0M2YsMHhiNmE4YjkyZCwweGJmYTViMjIzLDB4ODA4NjgzMDksMHg4OThiODgwNywweDkyOWM5NTE1LDB4OWI5MTllMWIsMHg3YzBhNDdhMSwweDc1MDc0Y2FmLDB4NmUxMDUxYmQsMHg2NzFkNWFiMywweDU4M2U2Yjk5LDB4NTEzMzYwOTcsMHg0YTI0N2Q4NSwweDQzMjk3NjhiLDB4MzQ2MjFmZDEsMHgzZDZmMTRkZiwweDI2NzgwOWNkLDB4MmY3NTAyYzMsMHgxMDU2MzNlOSwweDE5NWIzOGU3LDB4MjRjMjVmNSwweGI0MTJlZmIsMHhkNzYxOGM5YSwweGRlNmM4Nzk0LDB4YzU3YjlhODYsMHhjYzc2OTE4OCwweGYzNTVhMGEyLDB4ZmE1OGFiYWMsMHhlMTRmYjZiZSwweGU4NDJiZGIwLDB4OWYwOWQ0ZWEsMHg5NjA0ZGZlNCwweDhkMTNjMmY2LDB4ODQxZWM5ZjgsMHhiYjNkZjhkMiwweGIyMzBmM2RjLDB4YTkyN2VlY2UsMHhhMDJhZTVjMCwweDQ3YjEzYzdhLDB4NGViYzM3NzQsMHg1NWFiMmE2NiwweDVjYTYyMTY4LDB4NjM4NTEwNDIsMHg2YTg4MWI0YywweDcxOWYwNjVlLDB4Nzg5MjBkNTAsMHhmZDk2NDBhLDB4NmQ0NmYwNCwweDFkYzM3MjE2LDB4MTRjZTc5MTgsMHgyYmVkNDgzMiwweDIyZTA0MzNjLDB4MzlmNzVlMmUsMHgzMGZhNTUyMCwweDlhYjcwMWVjLDB4OTNiYTBhZTIsMHg4OGFkMTdmMCwweDgxYTAxY2ZlLDB4YmU4MzJkZDQsMHhiNzhlMjZkYSwweGFjOTkzYmM4LDB4YTU5NDMwYzYsMHhkMmRmNTk5YywweGRiZDI1MjkyLDB4YzBjNTRmODAsMHhjOWM4NDQ4ZSwweGY2ZWI3NWE0LDB4ZmZlNjdlYWEsMHhlNGYxNjNiOCwweGVkZmM2OGI2LDB4YTY3YjEwYywweDM2YWJhMDIsMHgxODdkYTcxMCwweDExNzBhYzFlLDB4MmU1MzlkMzQsMHgyNzVlOTYzYSwweDNjNDk4YjI4LDB4MzU0NDgwMjYsMHg0MjBmZTk3YywweDRiMDJlMjcyLDB4NTAxNWZmNjAsMHg1OTE4ZjQ2ZSwweDY2M2JjNTQ0LDB4NmYzNmNlNGEsMHg3NDIxZDM1OCwweDdkMmNkODU2LDB4YTEwYzdhMzcsMHhhODAxNzEzOSwweGIzMTY2YzJiLDB4YmExYjY3MjUsMHg4NTM4NTYwZiwweDhjMzU1ZDAxLDB4OTcyMjQwMTMsMHg5ZTJmNGIxZCwweGU5NjQyMjQ3LDB4ZTA2OTI5NDksMHhmYjdlMzQ1YiwweGYyNzMzZjU1LDB4Y2Q1MDBlN2YsMHhjNDVkMDU3MSwweGRmNGExODYzLDB4ZDY0NzEzNmQsMHgzMWRjY2FkNywweDM4ZDFjMWQ5LDB4MjNjNmRjY2IsMHgyYWNiZDdjNSwweDE1ZThlNmVmLDB4MWNlNWVkZTEsMHg3ZjJmMGYzLDB4ZWZmZmJmZCwweDc5YjQ5MmE3LDB4NzBiOTk5YTksMHg2YmFlODRiYiwweDYyYTM4ZmI1LDB4NWQ4MGJlOWYsMHg1NDhkYjU5MSwweDRmOWFhODgzLDB4NDY5N2EzOGRdO2Z1bmN0aW9uIF8weGExYTQxNyhfMHgzZjExZWEpe3ZhciBfMHg0ZjJiMmU9XzB4MTVhMztmb3IodmFyIF8weGI5ZmQwYT1bXSxfMHgyNTUwZDM9MHgwO18weDI1NTBkMzxfMHgzZjExZWFbXzB4NGYyYjJlKCcweDUyMCcpXTtfMHgyNTUwZDMrPTB4NClfMHhiOWZkMGFbXzB4NGYyYjJlKCcweDhiNycpXShfMHgzZjExZWFbXzB4MjU1MGQzXTw8MHgxOHxfMHgzZjExZWFbXzB4MjU1MGQzKzB4MV08PDB4MTB8XzB4M2YxMWVhW18weDI1NTBkMysweDJdPDwweDh8XzB4M2YxMWVhW18weDI1NTBkMysweDNdKTtyZXR1cm4gXzB4YjlmZDBhO312YXIgXzB4NGRmMzI2PWZ1bmN0aW9uKF8weDE1ZTRjNyl7dmFyIF8weDRjMzc2Nj1fMHgxNWEzO2lmKCEodGhpcyBpbnN0YW5jZW9mIF8weDRkZjMyNikpdGhyb3cgRXJyb3IoXzB4NGMzNzY2KCcweDk3NycpKTtPYmplY3RbXzB4NGMzNzY2KCcweDJiNCcpXSh0aGlzLF8weDRjMzc2NignMHg2N2UnKSx7J3ZhbHVlJzpfMHgxZDNhOGYoXzB4MTVlNGM3LCEweDApfSksdGhpc1tfMHg0YzM3NjYoJzB4Njc1JyldKCk7fTtfMHg0ZGYzMjZbXzB4NDlhMzkxKCcweDc1NicpXVsnX3ByZXBhcmUnXT1mdW5jdGlvbigpe3ZhciBfMHg1ZTk2MDM9XzB4NDlhMzkxLF8weDRjYmU1Nz1fMHgzNjJkYjNbdGhpc1tfMHg1ZTk2MDMoJzB4NjdlJyldWydsZW5ndGgnXV07aWYobnVsbD09XzB4NGNiZTU3KXRocm93IG5ldyBFcnJvcihfMHg1ZTk2MDMoJzB4YzMwJykpO3RoaXNbXzB4NWU5NjAzKCcweDk3YScpXT1bXSx0aGlzW18weDVlOTYwMygnMHhiMDknKV09W107Zm9yKHZhciBfMHgyYTAxZGI9MHgwO18weDJhMDFkYjw9XzB4NGNiZTU3O18weDJhMDFkYisrKXRoaXNbXzB4NWU5NjAzKCcweDk3YScpXVtfMHg1ZTk2MDMoJzB4OGI3JyldKFsweDAsMHgwLDB4MCwweDBdKSx0aGlzW18weDVlOTYwMygnMHhiMDknKV1bXzB4NWU5NjAzKCcweDhiNycpXShbMHgwLDB4MCwweDAsMHgwXSk7dmFyIF8weDUwNTg4NCxfMHg1NjFiZDA9MHg0KihfMHg0Y2JlNTcrMHgxKSxfMHg4YzFjY2Y9dGhpc1tfMHg1ZTk2MDMoJzB4NjdlJyldW18weDVlOTYwMygnMHg1MjAnKV0vMHg0LF8weDU2NmVmMT1fMHhhMWE0MTcodGhpc1tfMHg1ZTk2MDMoJzB4NjdlJyldKTtmb3IoXzB4MmEwMWRiPTB4MDtfMHgyYTAxZGI8XzB4OGMxY2NmO18weDJhMDFkYisrKV8weDUwNTg4ND1fMHgyYTAxZGI+PjB4Mix0aGlzWydfS2UnXVtfMHg1MDU4ODRdW18weDJhMDFkYiUweDRdPV8weDU2NmVmMVtfMHgyYTAxZGJdLHRoaXNbJ19LZCddW18weDRjYmU1Ny1fMHg1MDU4ODRdW18weDJhMDFkYiUweDRdPV8weDU2NmVmMVtfMHgyYTAxZGJdO2Zvcih2YXIgXzB4M2Y5NTVhLF8weDE0NTk4Nz0weDAsXzB4NGU5NzA2PV8weDhjMWNjZjtfMHg0ZTk3MDY8XzB4NTYxYmQwOyl7aWYoXzB4M2Y5NTVhPV8weDU2NmVmMVtfMHg4YzFjY2YtMHgxXSxfMHg1NjZlZjFbMHgwXV49XzB4NWQ2NjE1W18weDNmOTU1YT4+MHgxMCYweGZmXTw8MHgxOF5fMHg1ZDY2MTVbXzB4M2Y5NTVhPj4weDgmMHhmZl08PDB4MTBeXzB4NWQ2NjE1WzB4ZmYmXzB4M2Y5NTVhXTw8MHg4Xl8weDVkNjYxNVtfMHgzZjk1NWE+PjB4MTgmMHhmZl1eXzB4MzA1NmUzW18weDE0NTk4N108PDB4MTgsXzB4MTQ1OTg3Kz0weDEsMHg4IT1fMHg4YzFjY2Ype2ZvcihfMHgyYTAxZGI9MHgxO18weDJhMDFkYjxfMHg4YzFjY2Y7XzB4MmEwMWRiKyspXzB4NTY2ZWYxW18weDJhMDFkYl1ePV8weDU2NmVmMVtfMHgyYTAxZGItMHgxXTt9ZWxzZXtmb3IoXzB4MmEwMWRiPTB4MTtfMHgyYTAxZGI8XzB4OGMxY2NmLzB4MjtfMHgyYTAxZGIrKylfMHg1NjZlZjFbXzB4MmEwMWRiXV49XzB4NTY2ZWYxW18weDJhMDFkYi0weDFdO2ZvcihfMHgzZjk1NWE9XzB4NTY2ZWYxW18weDhjMWNjZi8weDItMHgxXSxfMHg1NjZlZjFbXzB4OGMxY2NmLzB4Ml1ePV8weDVkNjYxNVsweGZmJl8weDNmOTU1YV1eXzB4NWQ2NjE1W18weDNmOTU1YT4+MHg4JjB4ZmZdPDwweDheXzB4NWQ2NjE1W18weDNmOTU1YT4+MHgxMCYweGZmXTw8MHgxMF5fMHg1ZDY2MTVbXzB4M2Y5NTVhPj4weDE4JjB4ZmZdPDwweDE4LF8weDJhMDFkYj1fMHg4YzFjY2YvMHgyKzB4MTtfMHgyYTAxZGI8XzB4OGMxY2NmO18weDJhMDFkYisrKV8weDU2NmVmMVtfMHgyYTAxZGJdXj1fMHg1NjZlZjFbXzB4MmEwMWRiLTB4MV07fWZvcihfMHgyYTAxZGI9MHgwO18weDJhMDFkYjxfMHg4YzFjY2YmJl8weDRlOTcwNjxfMHg1NjFiZDA7KV8weDU1MmNiNz1fMHg0ZTk3MDY+PjB4MixfMHgzNmM4ZDI9XzB4NGU5NzA2JTB4NCx0aGlzW18weDVlOTYwMygnMHg5N2EnKV1bXzB4NTUyY2I3XVtfMHgzNmM4ZDJdPV8weDU2NmVmMVtfMHgyYTAxZGJdLHRoaXNbXzB4NWU5NjAzKCcweGIwOScpXVtfMHg0Y2JlNTctXzB4NTUyY2I3XVtfMHgzNmM4ZDJdPV8weDU2NmVmMVtfMHgyYTAxZGIrK10sXzB4NGU5NzA2Kys7fWZvcih2YXIgXzB4NTUyY2I3PTB4MTtfMHg1NTJjYjc8XzB4NGNiZTU3O18weDU1MmNiNysrKWZvcih2YXIgXzB4MzZjOGQyPTB4MDtfMHgzNmM4ZDI8MHg0O18weDM2YzhkMisrKV8weDNmOTU1YT10aGlzWydfS2QnXVtfMHg1NTJjYjddW18weDM2YzhkMl0sdGhpc1snX0tkJ11bXzB4NTUyY2I3XVtfMHgzNmM4ZDJdPV8weDQ4ZTg5NltfMHgzZjk1NWE+PjB4MTgmMHhmZl1eXzB4M2Y0OWMwW18weDNmOTU1YT4+MHgxMCYweGZmXV5fMHgyZDMwY2NbXzB4M2Y5NTVhPj4weDgmMHhmZl1eXzB4NDA1NTVmWzB4ZmYmXzB4M2Y5NTVhXTt9LF8weDRkZjMyNltfMHg0OWEzOTEoJzB4NzU2JyldW18weDQ5YTM5MSgnMHgzODknKV09ZnVuY3Rpb24oXzB4MjE5ZDY4KXt2YXIgXzB4MjJiOWI2PV8weDQ5YTM5MTtpZigweDEwIT1fMHgyMTlkNjhbXzB4MjJiOWI2KCcweDUyMCcpXSl0aHJvdyBuZXcgRXJyb3IoXzB4MjJiOWI2KCcweDMyNycpKTtmb3IodmFyIF8weDNiYzM5OD10aGlzW18weDIyYjliNignMHg5N2EnKV1bXzB4MjJiOWI2KCcweDUyMCcpXS0weDEsXzB4N2MwNTQ2PVsweDAsMHgwLDB4MCwweDBdLF8weDFkNWY5OD1fMHhhMWE0MTcoXzB4MjE5ZDY4KSxfMHgzYWIyNjc9MHgwO18weDNhYjI2NzwweDQ7XzB4M2FiMjY3KyspXzB4MWQ1Zjk4W18weDNhYjI2N11ePXRoaXNbJ19LZSddWzB4MF1bXzB4M2FiMjY3XTtmb3IodmFyIF8weDJiN2IzND0weDE7XzB4MmI3YjM0PF8weDNiYzM5ODtfMHgyYjdiMzQrKyl7Zm9yKF8weDNhYjI2Nz0weDA7XzB4M2FiMjY3PDB4NDtfMHgzYWIyNjcrKylfMHg3YzA1NDZbXzB4M2FiMjY3XT1fMHgxOWQ1NzRbXzB4MWQ1Zjk4W18weDNhYjI2N10+PjB4MTgmMHhmZl1eXzB4MTc4MDNkW18weDFkNWY5OFsoXzB4M2FiMjY3KzB4MSklMHg0XT4+MHgxMCYweGZmXV5fMHgxYmI5YmNbXzB4MWQ1Zjk4WyhfMHgzYWIyNjcrMHgyKSUweDRdPj4weDgmMHhmZl1eXzB4M2FhOGNbMHhmZiZfMHgxZDVmOThbKF8weDNhYjI2NysweDMpJTB4NF1dXnRoaXNbXzB4MjJiOWI2KCcweDk3YScpXVtfMHgyYjdiMzRdW18weDNhYjI2N107XzB4MWQ1Zjk4PV8weDdjMDU0NltfMHgyMmI5YjYoJzB4YWRhJyldKCk7fXZhciBfMHgzNTA0ZjcsXzB4OTlhMDJkPV8weDRjNzRkNSgweDEwKTtmb3IoXzB4M2FiMjY3PTB4MDtfMHgzYWIyNjc8MHg0O18weDNhYjI2NysrKV8weDM1MDRmNz10aGlzW18weDIyYjliNignMHg5N2EnKV1bXzB4M2JjMzk4XVtfMHgzYWIyNjddLF8weDk5YTAyZFsweDQqXzB4M2FiMjY3XT0weGZmJihfMHg1ZDY2MTVbXzB4MWQ1Zjk4W18weDNhYjI2N10+PjB4MTgmMHhmZl1eXzB4MzUwNGY3Pj4weDE4KSxfMHg5OWEwMmRbMHg0Kl8weDNhYjI2NysweDFdPTB4ZmYmKF8weDVkNjYxNVtfMHgxZDVmOThbKF8weDNhYjI2NysweDEpJTB4NF0+PjB4MTAmMHhmZl1eXzB4MzUwNGY3Pj4weDEwKSxfMHg5OWEwMmRbMHg0Kl8weDNhYjI2NysweDJdPTB4ZmYmKF8weDVkNjYxNVtfMHgxZDVmOThbKF8weDNhYjI2NysweDIpJTB4NF0+PjB4OCYweGZmXV5fMHgzNTA0Zjc+PjB4OCksXzB4OTlhMDJkWzB4NCpfMHgzYWIyNjcrMHgzXT0weGZmJihfMHg1ZDY2MTVbMHhmZiZfMHgxZDVmOThbKF8weDNhYjI2NysweDMpJTB4NF1dXl8weDM1MDRmNyk7cmV0dXJuIF8weDk5YTAyZDt9LF8weDRkZjMyNlsncHJvdG90eXBlJ11bXzB4NDlhMzkxKCcweGIzOCcpXT1mdW5jdGlvbihfMHg0ZTMxZTMpe3ZhciBfMHgzNzc2OWQ9XzB4NDlhMzkxO2lmKDB4MTAhPV8weDRlMzFlM1tfMHgzNzc2OWQoJzB4NTIwJyldKXRocm93IG5ldyBFcnJvcihfMHgzNzc2OWQoJzB4NTAwJykpO2Zvcih2YXIgXzB4MTkxYTZkPXRoaXNbXzB4Mzc3NjlkKCcweGIwOScpXVsnbGVuZ3RoJ10tMHgxLF8weDE3MGM5Nj1bMHgwLDB4MCwweDAsMHgwXSxfMHg1NDg3YzQ9XzB4YTFhNDE3KF8weDRlMzFlMyksXzB4NDBlYjA2PTB4MDtfMHg0MGViMDY8MHg0O18weDQwZWIwNisrKV8weDU0ODdjNFtfMHg0MGViMDZdXj10aGlzW18weDM3NzY5ZCgnMHhiMDknKV1bMHgwXVtfMHg0MGViMDZdO2Zvcih2YXIgXzB4ZDE4MDQyPTB4MTtfMHhkMTgwNDI8XzB4MTkxYTZkO18weGQxODA0MisrKXtmb3IoXzB4NDBlYjA2PTB4MDtfMHg0MGViMDY8MHg0O18weDQwZWIwNisrKV8weDE3MGM5NltfMHg0MGViMDZdPV8weDE3OTVlY1tfMHg1NDg3YzRbXzB4NDBlYjA2XT4+MHgxOCYweGZmXV5fMHgzNWQ2NTVbXzB4NTQ4N2M0WyhfMHg0MGViMDYrMHgzKSUweDRdPj4weDEwJjB4ZmZdXl8weDM0Nzc4ZVtfMHg1NDg3YzRbKF8weDQwZWIwNisweDIpJTB4NF0+PjB4OCYweGZmXV5fMHg1NTNhZDBbMHhmZiZfMHg1NDg3YzRbKF8weDQwZWIwNisweDEpJTB4NF1dXnRoaXNbXzB4Mzc3NjlkKCcweGIwOScpXVtfMHhkMTgwNDJdW18weDQwZWIwNl07XzB4NTQ4N2M0PV8weDE3MGM5NltfMHgzNzc2OWQoJzB4YWRhJyldKCk7fXZhciBfMHg5ODVjY2IsXzB4M2RkZDg3PV8weDRjNzRkNSgweDEwKTtmb3IoXzB4NDBlYjA2PTB4MDtfMHg0MGViMDY8MHg0O18weDQwZWIwNisrKV8weDk4NWNjYj10aGlzW18weDM3NzY5ZCgnMHhiMDknKV1bXzB4MTkxYTZkXVtfMHg0MGViMDZdLF8weDNkZGQ4N1sweDQqXzB4NDBlYjA2XT0weGZmJihfMHg0YTliNDBbXzB4NTQ4N2M0W18weDQwZWIwNl0+PjB4MTgmMHhmZl1eXzB4OTg1Y2NiPj4weDE4KSxfMHgzZGRkODdbMHg0Kl8weDQwZWIwNisweDFdPTB4ZmYmKF8weDRhOWI0MFtfMHg1NDg3YzRbKF8weDQwZWIwNisweDMpJTB4NF0+PjB4MTAmMHhmZl1eXzB4OTg1Y2NiPj4weDEwKSxfMHgzZGRkODdbMHg0Kl8weDQwZWIwNisweDJdPTB4ZmYmKF8weDRhOWI0MFtfMHg1NDg3YzRbKF8weDQwZWIwNisweDIpJTB4NF0+PjB4OCYweGZmXV5fMHg5ODVjY2I+PjB4OCksXzB4M2RkZDg3WzB4NCpfMHg0MGViMDYrMHgzXT0weGZmJihfMHg0YTliNDBbMHhmZiZfMHg1NDg3YzRbKF8weDQwZWIwNisweDEpJTB4NF1dXl8weDk4NWNjYik7cmV0dXJuIF8weDNkZGQ4Nzt9O3ZhciBfMHhiOGU5NDg9ZnVuY3Rpb24oXzB4NTlkOTEwKXt2YXIgXzB4MWZiNGY1PV8weDQ5YTM5MTtpZighKHRoaXMgaW5zdGFuY2VvZiBfMHhiOGU5NDgpKXRocm93IEVycm9yKF8weDFmYjRmNSgnMHg5NzcnKSk7dGhpc1tfMHgxZmI0ZjUoJzB4OWNhJyldPSdFbGVjdHJvbmljXHgyMENvZGVceDIwQmxvY2snLHRoaXNbJ25hbWUnXT1fMHgxZmI0ZjUoJzB4N2Q4JyksdGhpc1tfMHgxZmI0ZjUoJzB4MjRkJyldPW5ldyBfMHg0ZGYzMjYoXzB4NTlkOTEwKTt9O18weGI4ZTk0OFtfMHg0OWEzOTEoJzB4NzU2JyldWydlbmNyeXB0J109ZnVuY3Rpb24oXzB4MjQwZmJmKXt2YXIgXzB4M2U3NTMzPV8weDQ5YTM5MTtpZigoXzB4MjQwZmJmPV8weDFkM2E4ZihfMHgyNDBmYmYpKVtfMHgzZTc1MzMoJzB4NTIwJyldJTB4MTAhPTB4MCl0aHJvdyBuZXcgRXJyb3IoXzB4M2U3NTMzKCcweDc4NCcpKTtmb3IodmFyIF8weDU5NTZjMj1fMHg0Yzc0ZDUoXzB4MjQwZmJmWydsZW5ndGgnXSksXzB4YzYzYWNhPV8weDRjNzRkNSgweDEwKSxfMHgzYmE2NGY9MHgwO18weDNiYTY0ZjxfMHgyNDBmYmZbXzB4M2U3NTMzKCcweDUyMCcpXTtfMHgzYmE2NGYrPTB4MTApXzB4NDM5YmRiKF8weDI0MGZiZixfMHhjNjNhY2EsMHgwLF8weDNiYTY0ZixfMHgzYmE2NGYrMHgxMCksXzB4NDM5YmRiKF8weGM2M2FjYT10aGlzW18weDNlNzUzMygnMHgyNGQnKV1bXzB4M2U3NTMzKCcweDM4OScpXShfMHhjNjNhY2EpLF8weDU5NTZjMixfMHgzYmE2NGYpO3JldHVybiBfMHg1OTU2YzI7fSxfMHhiOGU5NDhbJ3Byb3RvdHlwZSddWydkZWNyeXB0J109ZnVuY3Rpb24oXzB4MjY4MmY5KXt2YXIgXzB4NTI5ZjBjPV8weDQ5YTM5MTtpZigoXzB4MjY4MmY5PV8weDFkM2E4ZihfMHgyNjgyZjkpKVtfMHg1MjlmMGMoJzB4NTIwJyldJTB4MTAhPTB4MCl0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWRceDIwY2lwaGVydGV4dFx4MjBzaXplXHgyMChtdXN0XHgyMGJlXHgyMG11bHRpcGxlXHgyMG9mXHgyMDE2XHgyMGJ5dGVzKScpO2Zvcih2YXIgXzB4Mzc5NWVhPV8weDRjNzRkNShfMHgyNjgyZjlbXzB4NTI5ZjBjKCcweDUyMCcpXSksXzB4MjI0NDc1PV8weDRjNzRkNSgweDEwKSxfMHgxMWI3MjE9MHgwO18weDExYjcyMTxfMHgyNjgyZjlbXzB4NTI5ZjBjKCcweDUyMCcpXTtfMHgxMWI3MjErPTB4MTApXzB4NDM5YmRiKF8weDI2ODJmOSxfMHgyMjQ0NzUsMHgwLF8weDExYjcyMSxfMHgxMWI3MjErMHgxMCksXzB4NDM5YmRiKF8weDIyNDQ3NT10aGlzW18weDUyOWYwYygnMHgyNGQnKV1bXzB4NTI5ZjBjKCcweGIzOCcpXShfMHgyMjQ0NzUpLF8weDM3OTVlYSxfMHgxMWI3MjEpO3JldHVybiBfMHgzNzk1ZWE7fTt2YXIgXzB4NDU1YjQwPWZ1bmN0aW9uKF8weDQwMzdlOSxfMHhhYTI3ZjApe3ZhciBfMHgyNTNkYzU9XzB4NDlhMzkxO2lmKCEodGhpcyBpbnN0YW5jZW9mIF8weDQ1NWI0MCkpdGhyb3cgRXJyb3IoJ0FFU1x4MjBtdXN0XHgyMGJlXHgyMGluc3Rhbml0YXRlZFx4MjB3aXRoXHgyMGBuZXdgJyk7aWYodGhpc1tfMHgyNTNkYzUoJzB4OWNhJyldPV8weDI1M2RjNSgnMHg1ZGEnKSx0aGlzWyduYW1lJ109XzB4MjUzZGM1KCcweDgxOScpLF8weGFhMjdmMCl7aWYoMHgxMCE9XzB4YWEyN2YwW18weDI1M2RjNSgnMHg1MjAnKV0pdGhyb3cgbmV3IEVycm9yKF8weDI1M2RjNSgnMHhiNTgnKSk7fWVsc2UgXzB4YWEyN2YwPV8weDRjNzRkNSgweDEwKTt0aGlzWydfbGFzdENpcGhlcmJsb2NrJ109XzB4MWQzYThmKF8weGFhMjdmMCwhMHgwKSx0aGlzW18weDI1M2RjNSgnMHgyNGQnKV09bmV3IF8weDRkZjMyNihfMHg0MDM3ZTkpO307XzB4NDU1YjQwW18weDQ5YTM5MSgnMHg3NTYnKV1bXzB4NDlhMzkxKCcweDM4OScpXT1mdW5jdGlvbihfMHg1MTQ2OTIpe3ZhciBfMHgyMDlhNDY9XzB4NDlhMzkxO2lmKChfMHg1MTQ2OTI9XzB4MWQzYThmKF8weDUxNDY5MikpWydsZW5ndGgnXSUweDEwIT0weDApdGhyb3cgbmV3IEVycm9yKF8weDIwOWE0NignMHg3ODQnKSk7Zm9yKHZhciBfMHgzOTljYTA9XzB4NGM3NGQ1KF8weDUxNDY5MltfMHgyMDlhNDYoJzB4NTIwJyldKSxfMHgxZTIxMjM9XzB4NGM3NGQ1KDB4MTApLF8weDFiYjVkYz0weDA7XzB4MWJiNWRjPF8weDUxNDY5MltfMHgyMDlhNDYoJzB4NTIwJyldO18weDFiYjVkYys9MHgxMCl7XzB4NDM5YmRiKF8weDUxNDY5MixfMHgxZTIxMjMsMHgwLF8weDFiYjVkYyxfMHgxYmI1ZGMrMHgxMCk7Zm9yKHZhciBfMHgzYmQ2ZDM9MHgwO18weDNiZDZkMzwweDEwO18weDNiZDZkMysrKV8weDFlMjEyM1tfMHgzYmQ2ZDNdXj10aGlzW18weDIwOWE0NignMHgzMWQnKV1bXzB4M2JkNmQzXTt0aGlzW18weDIwOWE0NignMHgzMWQnKV09dGhpc1tfMHgyMDlhNDYoJzB4MjRkJyldWydlbmNyeXB0J10oXzB4MWUyMTIzKSxfMHg0MzliZGIodGhpc1tfMHgyMDlhNDYoJzB4MzFkJyldLF8weDM5OWNhMCxfMHgxYmI1ZGMpO31yZXR1cm4gXzB4Mzk5Y2EwO30sXzB4NDU1YjQwW18weDQ5YTM5MSgnMHg3NTYnKV1bXzB4NDlhMzkxKCcweGIzOCcpXT1mdW5jdGlvbihfMHgxZmQ0MTMpe3ZhciBfMHg1M2Y3ZmU9XzB4NDlhMzkxO2lmKChfMHgxZmQ0MTM9XzB4MWQzYThmKF8weDFmZDQxMykpW18weDUzZjdmZSgnMHg1MjAnKV0lMHgxMCE9MHgwKXRocm93IG5ldyBFcnJvcihfMHg1M2Y3ZmUoJzB4YjA3JykpO2Zvcih2YXIgXzB4NWQ1ODVkPV8weDRjNzRkNShfMHgxZmQ0MTNbXzB4NTNmN2ZlKCcweDUyMCcpXSksXzB4NWU1ZDAzPV8weDRjNzRkNSgweDEwKSxfMHgyYzRlMzQ9MHgwO18weDJjNGUzNDxfMHgxZmQ0MTNbJ2xlbmd0aCddO18weDJjNGUzNCs9MHgxMCl7XzB4NDM5YmRiKF8weDFmZDQxMyxfMHg1ZTVkMDMsMHgwLF8weDJjNGUzNCxfMHgyYzRlMzQrMHgxMCksXzB4NWU1ZDAzPXRoaXNbJ19hZXMnXVtfMHg1M2Y3ZmUoJzB4YjM4JyldKF8weDVlNWQwMyk7Zm9yKHZhciBfMHgxMDA4NjA9MHgwO18weDEwMDg2MDwweDEwO18weDEwMDg2MCsrKV8weDVkNTg1ZFtfMHgyYzRlMzQrXzB4MTAwODYwXT1fMHg1ZTVkMDNbXzB4MTAwODYwXV50aGlzW18weDUzZjdmZSgnMHgzMWQnKV1bXzB4MTAwODYwXTtfMHg0MzliZGIoXzB4MWZkNDEzLHRoaXNbXzB4NTNmN2ZlKCcweDMxZCcpXSwweDAsXzB4MmM0ZTM0LF8weDJjNGUzNCsweDEwKTt9cmV0dXJuIF8weDVkNTg1ZDt9O3ZhciBfMHgxZDA0YmY9ZnVuY3Rpb24oXzB4NDQ1MmZiLF8weDFkNmU3ZixfMHgzMDcyYWUpe3ZhciBfMHgzYjE3ZjM9XzB4NDlhMzkxO2lmKCEodGhpcyBpbnN0YW5jZW9mIF8weDFkMDRiZikpdGhyb3cgRXJyb3IoXzB4M2IxN2YzKCcweDk3NycpKTtpZih0aGlzWydkZXNjcmlwdGlvbiddPV8weDNiMTdmMygnMHg0YmUnKSx0aGlzW18weDNiMTdmMygnMHhiYzcnKV09J2NmYicsXzB4MWQ2ZTdmKXtpZigweDEwIT1fMHgxZDZlN2ZbXzB4M2IxN2YzKCcweDUyMCcpXSl0aHJvdyBuZXcgRXJyb3IoXzB4M2IxN2YzKCcweGE0YycpKTt9ZWxzZSBfMHgxZDZlN2Y9XzB4NGM3NGQ1KDB4MTApO18weDMwNzJhZXx8KF8weDMwNzJhZT0weDEpLHRoaXNbXzB4M2IxN2YzKCcweDc1NCcpXT1fMHgzMDcyYWUsdGhpc1tfMHgzYjE3ZjMoJzB4NTYxJyldPV8weDFkM2E4ZihfMHgxZDZlN2YsITB4MCksdGhpc1tfMHgzYjE3ZjMoJzB4MjRkJyldPW5ldyBfMHg0ZGYzMjYoXzB4NDQ1MmZiKTt9O18weDFkMDRiZltfMHg0OWEzOTEoJzB4NzU2JyldW18weDQ5YTM5MSgnMHgzODknKV09ZnVuY3Rpb24oXzB4NDMwZjA1KXt2YXIgXzB4MWY4ZTlhPV8weDQ5YTM5MTtpZihfMHg0MzBmMDVbXzB4MWY4ZTlhKCcweDUyMCcpXSV0aGlzW18weDFmOGU5YSgnMHg3NTQnKV0hPTB4MCl0aHJvdyBuZXcgRXJyb3IoXzB4MWY4ZTlhKCcweGMwOScpKTtmb3IodmFyIF8weDFiMzc3OSxfMHg0NTkyMDA9XzB4MWQzYThmKF8weDQzMGYwNSwhMHgwKSxfMHhiMWY1NWI9MHgwO18weGIxZjU1YjxfMHg0NTkyMDBbXzB4MWY4ZTlhKCcweDUyMCcpXTtfMHhiMWY1NWIrPXRoaXNbJ3NlZ21lbnRTaXplJ10pe18weDFiMzc3OT10aGlzWydfYWVzJ11bXzB4MWY4ZTlhKCcweDM4OScpXSh0aGlzW18weDFmOGU5YSgnMHg1NjEnKV0pO2Zvcih2YXIgXzB4NWFhODgwPTB4MDtfMHg1YWE4ODA8dGhpc1tfMHgxZjhlOWEoJzB4NzU0JyldO18weDVhYTg4MCsrKV8weDQ1OTIwMFtfMHhiMWY1NWIrXzB4NWFhODgwXV49XzB4MWIzNzc5W18weDVhYTg4MF07XzB4NDM5YmRiKHRoaXNbXzB4MWY4ZTlhKCcweDU2MScpXSx0aGlzW18weDFmOGU5YSgnMHg1NjEnKV0sMHgwLHRoaXNbXzB4MWY4ZTlhKCcweDc1NCcpXSksXzB4NDM5YmRiKF8weDQ1OTIwMCx0aGlzWydfc2hpZnRSZWdpc3RlciddLDB4MTAtdGhpc1tfMHgxZjhlOWEoJzB4NzU0JyldLF8weGIxZjU1YixfMHhiMWY1NWIrdGhpc1tfMHgxZjhlOWEoJzB4NzU0JyldKTt9cmV0dXJuIF8weDQ1OTIwMDt9LF8weDFkMDRiZlsncHJvdG90eXBlJ11bXzB4NDlhMzkxKCcweGIzOCcpXT1mdW5jdGlvbihfMHg0NWMzOGEpe3ZhciBfMHg1MTQ5ZWU9XzB4NDlhMzkxO2lmKF8weDQ1YzM4YVtfMHg1MTQ5ZWUoJzB4NTIwJyldJXRoaXNbXzB4NTE0OWVlKCcweDc1NCcpXSE9MHgwKXRocm93IG5ldyBFcnJvcihfMHg1MTQ5ZWUoJzB4Yzk5JykpO2Zvcih2YXIgXzB4NWUwNGY1LF8weDRmZjY4Mz1fMHgxZDNhOGYoXzB4NDVjMzhhLCEweDApLF8weDM0Njk0MT0weDA7XzB4MzQ2OTQxPF8weDRmZjY4M1tfMHg1MTQ5ZWUoJzB4NTIwJyldO18weDM0Njk0MSs9dGhpc1tfMHg1MTQ5ZWUoJzB4NzU0JyldKXtfMHg1ZTA0ZjU9dGhpc1tfMHg1MTQ5ZWUoJzB4MjRkJyldW18weDUxNDllZSgnMHgzODknKV0odGhpc1tfMHg1MTQ5ZWUoJzB4NTYxJyldKTtmb3IodmFyIF8weDFmNWI2Nz0weDA7XzB4MWY1YjY3PHRoaXNbXzB4NTE0OWVlKCcweDc1NCcpXTtfMHgxZjViNjcrKylfMHg0ZmY2ODNbXzB4MzQ2OTQxK18weDFmNWI2N11ePV8weDVlMDRmNVtfMHgxZjViNjddO18weDQzOWJkYih0aGlzWydfc2hpZnRSZWdpc3RlciddLHRoaXNbXzB4NTE0OWVlKCcweDU2MScpXSwweDAsdGhpc1tfMHg1MTQ5ZWUoJzB4NzU0JyldKSxfMHg0MzliZGIoXzB4NDVjMzhhLHRoaXNbXzB4NTE0OWVlKCcweDU2MScpXSwweDEwLXRoaXNbXzB4NTE0OWVlKCcweDc1NCcpXSxfMHgzNDY5NDEsXzB4MzQ2OTQxK3RoaXNbXzB4NTE0OWVlKCcweDc1NCcpXSk7fXJldHVybiBfMHg0ZmY2ODM7fTt2YXIgXzB4MmZjYzI1PWZ1bmN0aW9uKF8weDVjOGY4OCxfMHg0MTY0MzUpe3ZhciBfMHg1NzQ1NTg9XzB4NDlhMzkxO2lmKCEodGhpcyBpbnN0YW5jZW9mIF8weDJmY2MyNSkpdGhyb3cgRXJyb3IoXzB4NTc0NTU4KCcweDk3NycpKTtpZih0aGlzW18weDU3NDU1OCgnMHg5Y2EnKV09XzB4NTc0NTU4KCcweDRmMScpLHRoaXNbJ25hbWUnXT0nb2ZiJyxfMHg0MTY0MzUpe2lmKDB4MTAhPV8weDQxNjQzNVtfMHg1NzQ1NTgoJzB4NTIwJyldKXRocm93IG5ldyBFcnJvcihfMHg1NzQ1NTgoJzB4YjU4JykpO31lbHNlIF8weDQxNjQzNT1fMHg0Yzc0ZDUoMHgxMCk7dGhpc1tfMHg1NzQ1NTgoJzB4ODRjJyldPV8weDFkM2E4ZihfMHg0MTY0MzUsITB4MCksdGhpc1snX2xhc3RQcmVjaXBoZXJJbmRleCddPTB4MTAsdGhpc1snX2FlcyddPW5ldyBfMHg0ZGYzMjYoXzB4NWM4Zjg4KTt9O18weDJmY2MyNVtfMHg0OWEzOTEoJzB4NzU2JyldWydlbmNyeXB0J109ZnVuY3Rpb24oXzB4MzM1ZGE1KXt2YXIgXzB4NzFjYjFlPV8weDQ5YTM5MTtmb3IodmFyIF8weDMxMzYwOT1fMHgxZDNhOGYoXzB4MzM1ZGE1LCEweDApLF8weDU2MDc3MT0weDA7XzB4NTYwNzcxPF8weDMxMzYwOVtfMHg3MWNiMWUoJzB4NTIwJyldO18weDU2MDc3MSsrKTB4MTA9PT10aGlzW18weDcxY2IxZSgnMHg1M2YnKV0mJih0aGlzW18weDcxY2IxZSgnMHg4NGMnKV09dGhpc1tfMHg3MWNiMWUoJzB4MjRkJyldW18weDcxY2IxZSgnMHgzODknKV0odGhpc1snX2xhc3RQcmVjaXBoZXInXSksdGhpc1snX2xhc3RQcmVjaXBoZXJJbmRleCddPTB4MCksXzB4MzEzNjA5W18weDU2MDc3MV1ePXRoaXNbXzB4NzFjYjFlKCcweDg0YycpXVt0aGlzW18weDcxY2IxZSgnMHg1M2YnKV0rK107cmV0dXJuIF8weDMxMzYwOTt9LF8weDJmY2MyNVtfMHg0OWEzOTEoJzB4NzU2JyldWydkZWNyeXB0J109XzB4MmZjYzI1Wydwcm90b3R5cGUnXVsnZW5jcnlwdCddO3ZhciBfMHgxMDlkNGY9ZnVuY3Rpb24oXzB4NGY3ZjlmKXt2YXIgXzB4YzZmMjE5PV8weDQ5YTM5MTtpZighKHRoaXMgaW5zdGFuY2VvZiBfMHgxMDlkNGYpKXRocm93IEVycm9yKF8weGM2ZjIxOSgnMHhiOTknKSk7MHgwPT09XzB4NGY3ZjlmfHxfMHg0ZjdmOWZ8fChfMHg0ZjdmOWY9MHgxKSwnbnVtYmVyJz09dHlwZW9mIF8weDRmN2Y5Zj8odGhpc1tfMHhjNmYyMTkoJzB4YjNhJyldPV8weDRjNzRkNSgweDEwKSx0aGlzWydzZXRWYWx1ZSddKF8weDRmN2Y5ZikpOnRoaXNbJ3NldEJ5dGVzJ10oXzB4NGY3ZjlmKTt9O18weDEwOWQ0ZltfMHg0OWEzOTEoJzB4NzU2JyldW18weDQ5YTM5MSgnMHhhMTUnKV09ZnVuY3Rpb24oXzB4NTI1ZWE0KXt2YXIgXzB4MWZlMWNmPV8weDQ5YTM5MTtpZihfMHgxZmUxY2YoJzB4MjdhJykhPXR5cGVvZiBfMHg1MjVlYTR8fHBhcnNlSW50KF8weDUyNWVhNCkhPV8weDUyNWVhNCl0aHJvdyBuZXcgRXJyb3IoXzB4MWZlMWNmKCcweDRiOCcpKTtmb3IodmFyIF8weDIyZjYzNj0weGY7XzB4MjJmNjM2Pj0weDA7LS1fMHgyMmY2MzYpdGhpc1tfMHgxZmUxY2YoJzB4YjNhJyldW18weDIyZjYzNl09XzB4NTI1ZWE0JTB4MTAwLF8weDUyNWVhND4+PTB4ODt9LF8weDEwOWQ0ZltfMHg0OWEzOTEoJzB4NzU2JyldW18weDQ5YTM5MSgnMHg0NDYnKV09ZnVuY3Rpb24oXzB4NTkxYTU3KXt2YXIgXzB4MmZkZDZjPV8weDQ5YTM5MTtpZigweDEwIT0oXzB4NTkxYTU3PV8weDFkM2E4ZihfMHg1OTFhNTcsITB4MCkpW18weDJmZGQ2YygnMHg1MjAnKV0pdGhyb3cgbmV3IEVycm9yKF8weDJmZGQ2YygnMHg5YmQnKSk7dGhpc1snX2NvdW50ZXInXT1fMHg1OTFhNTc7fSxfMHgxMDlkNGZbXzB4NDlhMzkxKCcweDc1NicpXVtfMHg0OWEzOTEoJzB4ODhhJyldPWZ1bmN0aW9uKCl7dmFyIF8weDFlZjNmOD1fMHg0OWEzOTE7Zm9yKHZhciBfMHgyYTMzZmI9MHhmO18weDJhMzNmYj49MHgwO18weDJhMzNmYi0tKXtpZigweGZmIT09dGhpc1tfMHgxZWYzZjgoJzB4YjNhJyldW18weDJhMzNmYl0pe3RoaXNbJ19jb3VudGVyJ11bXzB4MmEzM2ZiXSsrO2JyZWFrO310aGlzW18weDFlZjNmOCgnMHhiM2EnKV1bXzB4MmEzM2ZiXT0weDA7fX07dmFyIF8weDE1MmFkOT1mdW5jdGlvbihfMHhlZTUxZWEsXzB4YzIyYjMwKXt2YXIgXzB4MjJhOTA4PV8weDQ5YTM5MTtpZighKHRoaXMgaW5zdGFuY2VvZiBfMHgxNTJhZDkpKXRocm93IEVycm9yKF8weDIyYTkwOCgnMHg5NzcnKSk7dGhpc1tfMHgyMmE5MDgoJzB4OWNhJyldPV8weDIyYTkwOCgnMHg2ZDEnKSx0aGlzW18weDIyYTkwOCgnMHhiYzcnKV09XzB4MjJhOTA4KCcweGI4ZScpLF8weGMyMmIzMCBpbnN0YW5jZW9mIF8weDEwOWQ0Znx8KF8weGMyMmIzMD1uZXcgXzB4MTA5ZDRmKF8weGMyMmIzMCkpLHRoaXNbJ19jb3VudGVyJ109XzB4YzIyYjMwLHRoaXNbXzB4MjJhOTA4KCcweDM2MycpXT1udWxsLHRoaXNbXzB4MjJhOTA4KCcweDcxYycpXT0weDEwLHRoaXNbXzB4MjJhOTA4KCcweDI0ZCcpXT1uZXcgXzB4NGRmMzI2KF8weGVlNTFlYSk7fTtfMHgxNTJhZDlbJ3Byb3RvdHlwZSddWydlbmNyeXB0J109ZnVuY3Rpb24oXzB4MzlmYTRlKXt2YXIgXzB4MmQ5ZmU0PV8weDQ5YTM5MTtmb3IodmFyIF8weDU4YmQ5Mz1fMHgxZDNhOGYoXzB4MzlmYTRlLCEweDApLF8weDRmMTc1Yj0weDA7XzB4NGYxNzViPF8weDU4YmQ5M1tfMHgyZDlmZTQoJzB4NTIwJyldO18weDRmMTc1YisrKTB4MTA9PT10aGlzWydfcmVtYWluaW5nQ291bnRlckluZGV4J10mJih0aGlzW18weDJkOWZlNCgnMHgzNjMnKV09dGhpc1tfMHgyZDlmZTQoJzB4MjRkJyldW18weDJkOWZlNCgnMHgzODknKV0odGhpc1tfMHgyZDlmZTQoJzB4YjNhJyldW18weDJkOWZlNCgnMHhiM2EnKV0pLHRoaXNbXzB4MmQ5ZmU0KCcweDcxYycpXT0weDAsdGhpc1tfMHgyZDlmZTQoJzB4YjNhJyldW18weDJkOWZlNCgnMHg4OGEnKV0oKSksXzB4NThiZDkzW18weDRmMTc1Yl1ePXRoaXNbXzB4MmQ5ZmU0KCcweDM2MycpXVt0aGlzW18weDJkOWZlNCgnMHg3MWMnKV0rK107cmV0dXJuIF8weDU4YmQ5Mzt9LF8weDE1MmFkOVtfMHg0OWEzOTEoJzB4NzU2JyldW18weDQ5YTM5MSgnMHhiMzgnKV09XzB4MTUyYWQ5Wydwcm90b3R5cGUnXVtfMHg0OWEzOTEoJzB4Mzg5JyldO3ZhciBfMHgyMGIzNTk9eydBRVMnOl8weDRkZjMyNiwnQ291bnRlcic6XzB4MTA5ZDRmLCdNb2RlT2ZPcGVyYXRpb24nOnsnZWNiJzpfMHhiOGU5NDgsJ2NiYyc6XzB4NDU1YjQwLCdjZmInOl8weDFkMDRiZiwnb2ZiJzpfMHgyZmNjMjUsJ2N0cic6XzB4MTUyYWQ5fSwndXRpbHMnOnsnaGV4JzpfMHg1MjQ1NzgsJ3V0ZjgnOl8weDM2YjY0Yn0sJ3BhZGRpbmcnOnsncGtjczcnOnsncGFkJzpmdW5jdGlvbihfMHgyN2NhNTEpe3ZhciBfMHgxODZmZTU9XzB4NDlhMzkxLF8weDUyNWY0NT0weDEwLShfMHgyN2NhNTE9XzB4MWQzYThmKF8weDI3Y2E1MSwhMHgwKSlbXzB4MTg2ZmU1KCcweDUyMCcpXSUweDEwLF8weDFkZDVmYT1fMHg0Yzc0ZDUoXzB4MjdjYTUxW18weDE4NmZlNSgnMHg1MjAnKV0rXzB4NTI1ZjQ1KTtfMHg0MzliZGIoXzB4MjdjYTUxLF8weDFkZDVmYSk7Zm9yKHZhciBfMHg0YzRlMmQ9XzB4MjdjYTUxW18weDE4NmZlNSgnMHg1MjAnKV07XzB4NGM0ZTJkPF8weDFkZDVmYVtfMHgxODZmZTUoJzB4NTIwJyldO18weDRjNGUyZCsrKV8weDFkZDVmYVtfMHg0YzRlMmRdPV8weDUyNWY0NTtyZXR1cm4gXzB4MWRkNWZhO30sJ3N0cmlwJzpmdW5jdGlvbihfMHgyNTYzODkpe3ZhciBfMHgzZWZmNGU9XzB4NDlhMzkxO2lmKChfMHgyNTYzODk9XzB4MWQzYThmKF8weDI1NjM4OSwhMHgwKSlbXzB4M2VmZjRlKCcweDUyMCcpXTwweDEwKXRocm93IG5ldyBFcnJvcihfMHgzZWZmNGUoJzB4NjU1JykpO3ZhciBfMHg1NTk3YjA9XzB4MjU2Mzg5W18weDI1NjM4OVtfMHgzZWZmNGUoJzB4NTIwJyldLTB4MV07aWYoXzB4NTU5N2IwPjB4MTApdGhyb3cgbmV3IEVycm9yKCdQS0NTIzdceDIwcGFkZGluZ1x4MjBieXRlXHgyMG91dFx4MjBvZlx4MjByYW5nZScpO2Zvcih2YXIgXzB4MWNhMzFiPV8weDI1NjM4OVtfMHgzZWZmNGUoJzB4NTIwJyldLV8weDU1OTdiMCxfMHg0ODczYTc9MHgwO18weDQ4NzNhNzxfMHg1NTk3YjA7XzB4NDg3M2E3KyspaWYoXzB4MjU2Mzg5W18weDFjYTMxYitfMHg0ODczYTddIT09XzB4NTU5N2IwKXRocm93IG5ldyBFcnJvcihfMHgzZWZmNGUoJzB4OWJhJykpO3ZhciBfMHg1NWUxZDA9XzB4NGM3NGQ1KF8weDFjYTMxYik7cmV0dXJuIF8weDQzOWJkYihfMHgyNTYzODksXzB4NTVlMWQwLDB4MCwweDAsXzB4MWNhMzFiKSxfMHg1NWUxZDA7fX19LCdfYXJyYXlUZXN0Jzp7J2NvZXJjZUFycmF5JzpfMHgxZDNhOGYsJ2NyZWF0ZUFycmF5JzpfMHg0Yzc0ZDUsJ2NvcHlBcnJheSc6XzB4NDM5YmRifX07XzB4MzIyZDBmW18weDQ5YTM5MSgnMHgzMTQnKV09XzB4MjBiMzU5O30oKTt9LDB4MjAwNTooXzB4MjAwNTJhLF8weDU2YTg4MCxfMHgxNWRjZjQpPT57J3VzZSBzdHJpY3QnO18weDE1ZGNmNFsnciddKF8weDU2YTg4MCksXzB4MTVkY2Y0WydkJ10oXzB4NTZhODgwLHsna2VjY2FrMjU2JzooKT0+XzB4NDk2ZGM1fSk7dmFyIF8weDU5MjU2MT1fMHgxNWRjZjQoMHg0NDYpLF8weDI4N2M3OT1fMHgxNWRjZjRbJ24nXShfMHg1OTI1NjEpLF8weGMwNDE1Zj1fMHgxNWRjZjQoMHhjZDYpO2Z1bmN0aW9uIF8weDQ5NmRjNShfMHg1Y2Q5ZDgpe3ZhciBfMHgxMGVlY2U9XzB4MTVhMztyZXR1cm4nMHgnK18weDI4N2M3OSgpW18weDEwZWVjZSgnMHgzYTAnKV0oKDB4MCxfMHhjMDQxNWZbXzB4MTBlZWNlKCcweGQwNicpXSkoXzB4NWNkOWQ4KSk7fX0sMHgyYzc6KF8weDRhZTYzNSxfMHgzYjYwYzAsXzB4MWFiNGU4KT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4MzA2MTBhPV8weDE1YTM7XzB4MWFiNGU4WydyJ10oXzB4M2I2MGMwKSxfMHgxYWI0ZThbJ2QnXShfMHgzYjYwYzAseydFcnJvckNvZGUnOigpPT5fMHgyNmFiMDIsJ0xvZ0xldmVsJzooKT0+XzB4MjFjMzUsJ0xvZ2dlcic6KCk9Pl8weDUxZDhjfSk7bGV0IF8weDRhMzMwMj0hMHgxLF8weDcxYzNkYT0hMHgxO2NvbnN0IF8weDFjMzA2MD17J2RlYnVnJzoweDEsJ2RlZmF1bHQnOjB4MiwnaW5mbyc6MHgyLCd3YXJuaW5nJzoweDMsJ2Vycm9yJzoweDQsJ29mZic6MHg1fTtsZXQgXzB4NDkzMzhhPV8weDFjMzA2MFsnZGVmYXVsdCddLF8weDI4YzI5NT1udWxsO2NvbnN0IF8weDI3NDk1Mz0oZnVuY3Rpb24oKXt2YXIgXzB4MzU5YTY4PV8weDE1YTM7dHJ5e2NvbnN0IF8weDI3YWY0ZD1bXTtpZihbXzB4MzU5YTY4KCcweDgwNScpLF8weDM1OWE2OCgnMHg2NzQnKSwnTkZLRCcsJ05GS0MnXVtfMHgzNTlhNjgoJzB4NTFlJyldKF8weDhhNGFmZD0+e3ZhciBfMHgxNDY0Mjc9XzB4MzU5YTY4O3RyeXtpZihfMHgxNDY0MjcoJzB4MjgxJykhPT1fMHgxNDY0MjcoJzB4MjgxJylbJ25vcm1hbGl6ZSddKF8weDhhNGFmZCkpdGhyb3cgbmV3IEVycm9yKF8weDE0NjQyNygnMHhkMDcnKSk7fWNhdGNoKF8weDMzYzJjZil7XzB4MjdhZjRkW18weDE0NjQyNygnMHg4YjcnKV0oXzB4OGE0YWZkKTt9fSksXzB4MjdhZjRkW18weDM1OWE2OCgnMHg1MjAnKV0pdGhyb3cgbmV3IEVycm9yKF8weDM1OWE2OCgnMHg5YzEnKStfMHgyN2FmNGRbXzB4MzU5YTY4KCcweGFhNycpXSgnLFx4MjAnKSk7aWYoU3RyaW5nWydmcm9tQ2hhckNvZGUnXSgweGU5KVtfMHgzNTlhNjgoJzB4ODhiJyldKF8weDM1OWE2OCgnMHg4MDUnKSkhPT1TdHJpbmdbXzB4MzU5YTY4KCcweGE4MScpXSgweDY1LDB4MzAxKSl0aHJvdyBuZXcgRXJyb3IoJ2Jyb2tlblx4MjBpbXBsZW1lbnRhdGlvbicpO31jYXRjaChfMHhjNzMxZTkpe3JldHVybiBfMHhjNzMxZTlbXzB4MzU5YTY4KCcweDgzYicpXTt9cmV0dXJuIG51bGw7fSgpKTt2YXIgXzB4MjFjMzUsXzB4MjZhYjAyOyFmdW5jdGlvbihfMHg1NmE5MWIpe3ZhciBfMHgxMTRiZDQ9XzB4MTVhMztfMHg1NmE5MWJbJ0RFQlVHJ109J0RFQlVHJyxfMHg1NmE5MWJbJ0lORk8nXT1fMHgxMTRiZDQoJzB4MWVkJyksXzB4NTZhOTFiW18weDExNGJkNCgnMHhjMTgnKV09XzB4MTE0YmQ0KCcweGMxOCcpLF8weDU2YTkxYltfMHgxMTRiZDQoJzB4ODhjJyldPV8weDExNGJkNCgnMHg4OGMnKSxfMHg1NmE5MWJbJ09GRiddPSdPRkYnO30oXzB4MjFjMzV8fChfMHgyMWMzNT17fSkpLGZ1bmN0aW9uKF8weDIyZjIzOCl7dmFyIF8weDI0MGJhYj1fMHgxNWEzO18weDIyZjIzOFtfMHgyNDBiYWIoJzB4OTI2JyldPV8weDI0MGJhYignMHg5MjYnKSxfMHgyMmYyMzhbXzB4MjQwYmFiKCcweGQwZicpXT1fMHgyNDBiYWIoJzB4ZDBmJyksXzB4MjJmMjM4W18weDI0MGJhYignMHg2MzMnKV09XzB4MjQwYmFiKCcweDYzMycpLF8weDIyZjIzOFtfMHgyNDBiYWIoJzB4OTMzJyldPV8weDI0MGJhYignMHg5MzMnKSxfMHgyMmYyMzhbJ1NFUlZFUl9FUlJPUiddPSdTRVJWRVJfRVJST1InLF8weDIyZjIzOFsnVElNRU9VVCddPV8weDI0MGJhYignMHgxZjknKSxfMHgyMmYyMzhbXzB4MjQwYmFiKCcweDk5YycpXT1fMHgyNDBiYWIoJzB4OTljJyksXzB4MjJmMjM4WydOVU1FUklDX0ZBVUxUJ109J05VTUVSSUNfRkFVTFQnLF8weDIyZjIzOFtfMHgyNDBiYWIoJzB4ZDI3JyldPV8weDI0MGJhYignMHhkMjcnKSxfMHgyMmYyMzhbXzB4MjQwYmFiKCcweGM4YicpXT1fMHgyNDBiYWIoJzB4YzhiJyksXzB4MjJmMjM4W18weDI0MGJhYignMHhiN2EnKV09J01JU1NJTkdfQVJHVU1FTlQnLF8weDIyZjIzOFsnVU5FWFBFQ1RFRF9BUkdVTUVOVCddPSdVTkVYUEVDVEVEX0FSR1VNRU5UJyxfMHgyMmYyMzhbJ0NBTExfRVhDRVBUSU9OJ109J0NBTExfRVhDRVBUSU9OJyxfMHgyMmYyMzhbJ0lOU1VGRklDSUVOVF9GVU5EUyddPV8weDI0MGJhYignMHgyNjgnKSxfMHgyMmYyMzhbXzB4MjQwYmFiKCcweDcwMCcpXT1fMHgyNDBiYWIoJzB4NzAwJyksXzB4MjJmMjM4WydSRVBMQUNFTUVOVF9VTkRFUlBSSUNFRCddPV8weDI0MGJhYignMHg5ZWInKSxfMHgyMmYyMzhbXzB4MjQwYmFiKCcweDg5NCcpXT1fMHgyNDBiYWIoJzB4ODk0JyksXzB4MjJmMjM4W18weDI0MGJhYignMHg3ZWMnKV09XzB4MjQwYmFiKCcweDdlYycpLF8weDIyZjIzOFsnQUNUSU9OX1JFSkVDVEVEJ109J0FDVElPTl9SRUpFQ1RFRCc7fShfMHgyNmFiMDJ8fChfMHgyNmFiMDI9e30pKTtjb25zdCBfMHg0MGE2MWM9XzB4MzA2MTBhKCcweDUzZScpO2NsYXNzIF8weDUxZDhje2NvbnN0cnVjdG9yKF8weDU1NGJiYyl7dmFyIF8weDM0ZWYxZD1fMHgzMDYxMGE7T2JqZWN0WydkZWZpbmVQcm9wZXJ0eSddKHRoaXMsXzB4MzRlZjFkKCcweGFjOScpLHsnZW51bWVyYWJsZSc6ITB4MCwndmFsdWUnOl8weDU1NGJiYywnd3JpdGFibGUnOiEweDF9KTt9W18weDMwNjEwYSgnMHg2MTUnKV0oXzB4ZDQxNWMxLF8weGI3NDBjZCl7dmFyIF8weDM5MmQ2YT1fMHgzMDYxMGE7Y29uc3QgXzB4MjZiZjJjPV8weGQ0MTVjMVtfMHgzOTJkNmEoJzB4ODcwJyldKCk7bnVsbD09XzB4MWMzMDYwW18weDI2YmYyY10mJnRoaXNbJ3Rocm93QXJndW1lbnRFcnJvciddKF8weDM5MmQ2YSgnMHg4YjQnKSxfMHgzOTJkNmEoJzB4NDU3JyksXzB4ZDQxNWMxKSxfMHg0OTMzOGE+XzB4MWMzMDYwW18weDI2YmYyY118fGNvbnNvbGVbXzB4MzkyZDZhKCcweDViYScpXVtfMHgzOTJkNmEoJzB4NDQyJyldKGNvbnNvbGUsXzB4Yjc0MGNkKTt9WydkZWJ1ZyddKC4uLl8weDQ5ZjY0Yyl7dmFyIF8weDJjNWE5Mj1fMHgzMDYxMGE7dGhpc1snX2xvZyddKF8weDUxZDhjWydsZXZlbHMnXVtfMHgyYzVhOTIoJzB4N2QyJyldLF8weDQ5ZjY0Yyk7fVtfMHgzMDYxMGEoJzB4NDQwJyldKC4uLl8weDg5N2Q3ZSl7dmFyIF8weDIwOTcxNT1fMHgzMDYxMGE7dGhpc1snX2xvZyddKF8weDUxZDhjW18weDIwOTcxNSgnMHhjY2YnKV1bXzB4MjA5NzE1KCcweDFlZCcpXSxfMHg4OTdkN2UpO31bJ3dhcm4nXSguLi5fMHgyNjhlYjEpe3ZhciBfMHgxMzZiNmM9XzB4MzA2MTBhO3RoaXNbXzB4MTM2YjZjKCcweDYxNScpXShfMHg1MWQ4Y1tfMHgxMzZiNmMoJzB4Y2NmJyldW18weDEzNmI2YygnMHhjMTgnKV0sXzB4MjY4ZWIxKTt9W18weDMwNjEwYSgnMHg4NjcnKV0oXzB4NDMzOGJlLF8weDQ0NzdhNCxfMHgzZTRmMjQpe3ZhciBfMHgxNWEwMzE9XzB4MzA2MTBhO2lmKF8weDcxYzNkYSlyZXR1cm4gdGhpc1snbWFrZUVycm9yJ10oXzB4MTVhMDMxKCcweDgyZicpLF8weDQ0NzdhNCx7fSk7XzB4NDQ3N2E0fHwoXzB4NDQ3N2E0PV8weDUxZDhjW18weDE1YTAzMSgnMHg5NDknKV1bXzB4MTVhMDMxKCcweDkyNicpXSksXzB4M2U0ZjI0fHwoXzB4M2U0ZjI0PXt9KTtjb25zdCBfMHg1OTFmZjY9W107T2JqZWN0W18weDE1YTAzMSgnMHg2MzYnKV0oXzB4M2U0ZjI0KVtfMHgxNWEwMzEoJzB4NTFlJyldKF8weDI5MDc5MD0+e3ZhciBfMHgzMDljM2E9XzB4MTVhMDMxO2NvbnN0IF8weDFhMTE1ND1fMHgzZTRmMjRbXzB4MjkwNzkwXTt0cnl7aWYoXzB4MWExMTU0IGluc3RhbmNlb2YgVWludDhBcnJheSl7bGV0IF8weDE3ZTAzMz0nJztmb3IobGV0IF8weDI3MTdmZT0weDA7XzB4MjcxN2ZlPF8weDFhMTE1NFtfMHgzMDljM2EoJzB4NTIwJyldO18weDI3MTdmZSsrKV8weDE3ZTAzMys9XzB4NDBhNjFjW18weDFhMTE1NFtfMHgyNzE3ZmVdPj4weDRdLF8weDE3ZTAzMys9XzB4NDBhNjFjWzB4ZiZfMHgxYTExNTRbXzB4MjcxN2ZlXV07XzB4NTkxZmY2W18weDMwOWMzYSgnMHg4YjcnKV0oXzB4MjkwNzkwK18weDMwOWMzYSgnMHg5NDYnKStfMHgxN2UwMzMrJyknKTt9ZWxzZSBfMHg1OTFmZjZbXzB4MzA5YzNhKCcweDhiNycpXShfMHgyOTA3OTArJz0nK0pTT05bXzB4MzA5YzNhKCcweDMxZicpXShfMHgxYTExNTQpKTt9Y2F0Y2goXzB4MmQ1N2E2KXtfMHg1OTFmZjZbXzB4MzA5YzNhKCcweDhiNycpXShfMHgyOTA3OTArJz0nK0pTT05bJ3N0cmluZ2lmeSddKF8weDNlNGYyNFtfMHgyOTA3OTBdWyd0b1N0cmluZyddKCkpKTt9fSksXzB4NTkxZmY2W18weDE1YTAzMSgnMHg4YjcnKV0oXzB4MTVhMDMxKCcweGIyNicpK18weDQ0NzdhNCksXzB4NTkxZmY2W18weDE1YTAzMSgnMHg4YjcnKV0oXzB4MTVhMDMxKCcweGJlOCcpK3RoaXNbXzB4MTVhMDMxKCcweGFjOScpXSk7Y29uc3QgXzB4MTMxNjRmPV8weDQzMzhiZTtsZXQgXzB4MTFhYjJjPScnO3N3aXRjaChfMHg0NDc3YTQpe2Nhc2UgXzB4MjZhYjAyW18weDE1YTAzMSgnMHg0YWInKV06e18weDExYWIyYz1fMHgxNWEwMzEoJzB4NGFiJyk7Y29uc3QgXzB4MjJlZjY2PV8weDQzMzhiZTtzd2l0Y2goXzB4MjJlZjY2KXtjYXNlIF8weDE1YTAzMSgnMHg0MTEnKTpjYXNlIF8weDE1YTAzMSgnMHhjNTMnKTpjYXNlJ2RpdmlzaW9uLWJ5LXplcm8nOl8weDExYWIyYys9Jy0nK18weDIyZWY2NjticmVhaztjYXNlIF8weDE1YTAzMSgnMHhiYWQnKTpjYXNlIF8weDE1YTAzMSgnMHg3NWQnKTpfMHgxMWFiMmMrPV8weDE1YTAzMSgnMHgzYjUnKTticmVhaztjYXNlIF8weDE1YTAzMSgnMHgyZmQnKTpfMHgxMWFiMmMrPV8weDE1YTAzMSgnMHhjODEnKTt9YnJlYWs7fWNhc2UgXzB4MjZhYjAyW18weDE1YTAzMSgnMHg0ZWQnKV06Y2FzZSBfMHgyNmFiMDJbXzB4MTVhMDMxKCcweDI2OCcpXTpjYXNlIF8weDI2YWIwMlsnTUlTU0lOR19ORVcnXTpjYXNlIF8weDI2YWIwMltfMHgxNWEwMzEoJzB4NzAwJyldOmNhc2UgXzB4MjZhYjAyWydSRVBMQUNFTUVOVF9VTkRFUlBSSUNFRCddOmNhc2UgXzB4MjZhYjAyW18weDE1YTAzMSgnMHg3ZWMnKV06Y2FzZSBfMHgyNmFiMDJbXzB4MTVhMDMxKCcweDg5NCcpXTpfMHgxMWFiMmM9XzB4NDQ3N2E0O31fMHgxMWFiMmMmJihfMHg0MzM4YmUrPV8weDE1YTAzMSgnMHg1OTAnKStfMHgxMWFiMmMrJ1x4MjBdJyksXzB4NTkxZmY2W18weDE1YTAzMSgnMHg1MjAnKV0mJihfMHg0MzM4YmUrPSdceDIwKCcrXzB4NTkxZmY2Wydqb2luJ10oJyxceDIwJykrJyknKTtjb25zdCBfMHgzMjRiNmM9bmV3IEVycm9yKF8weDQzMzhiZSk7cmV0dXJuIF8weDMyNGI2Y1tfMHgxNWEwMzEoJzB4Y2VkJyldPV8weDEzMTY0ZixfMHgzMjRiNmNbXzB4MTVhMDMxKCcweDhlZScpXT1fMHg0NDc3YTQsT2JqZWN0W18weDE1YTAzMSgnMHg2MzYnKV0oXzB4M2U0ZjI0KVtfMHgxNWEwMzEoJzB4NTFlJyldKGZ1bmN0aW9uKF8weDQzZWUwMyl7XzB4MzI0YjZjW18weDQzZWUwM109XzB4M2U0ZjI0W18weDQzZWUwM107fSksXzB4MzI0YjZjO31bXzB4MzA2MTBhKCcweDFkMCcpXShfMHgxNzg4ZWUsXzB4MWIzZDVjLF8weDRmY2I2NCl7dGhyb3cgdGhpc1snbWFrZUVycm9yJ10oXzB4MTc4OGVlLF8weDFiM2Q1YyxfMHg0ZmNiNjQpO31bXzB4MzA2MTBhKCcweDYzNScpXShfMHgyODEzNjAsXzB4NWM2NmI5LF8weDQ4M2VkMil7dmFyIF8weDE4ZTViZj1fMHgzMDYxMGE7cmV0dXJuIHRoaXNbXzB4MThlNWJmKCcweDFkMCcpXShfMHgyODEzNjAsXzB4NTFkOGNbXzB4MThlNWJmKCcweDk0OScpXVsnSU5WQUxJRF9BUkdVTUVOVCddLHsnYXJndW1lbnQnOl8weDVjNjZiOSwndmFsdWUnOl8weDQ4M2VkMn0pO31bXzB4MzA2MTBhKCcweDVhZScpXShfMHgzYjI5YmEsXzB4MTk4NjUyLF8weDNkMGU0MSxfMHgyZTBjZGQpe3ZhciBfMHhjOTU5NTY9XzB4MzA2MTBhO18weDNiMjliYXx8dGhpc1tfMHhjOTU5NTYoJzB4MWQwJyldKF8weDE5ODY1MixfMHgzZDBlNDEsXzB4MmUwY2RkKTt9W18weDMwNjEwYSgnMHhiNDQnKV0oXzB4ZDllMTU3LF8weDEzOGEyYSxfMHg0YmU0M2UsXzB4MjI4MDAxKXt2YXIgXzB4MTI3OWI1PV8weDMwNjEwYTtfMHhkOWUxNTd8fHRoaXNbXzB4MTI3OWI1KCcweDYzNScpXShfMHgxMzhhMmEsXzB4NGJlNDNlLF8weDIyODAwMSk7fVtfMHgzMDYxMGEoJzB4OTY1JyldKF8weDFlMDVlOSl7dmFyIF8weDVkZTdlOT1fMHgzMDYxMGE7bnVsbD09XzB4MWUwNWU5JiYoXzB4MWUwNWU5PV8weDVkZTdlOSgnMHgyZWUnKSksXzB4Mjc0OTUzJiZ0aGlzW18weDVkZTdlOSgnMHgxZDAnKV0oJ3BsYXRmb3JtXHgyMG1pc3NpbmdceDIwU3RyaW5nLnByb3RvdHlwZS5ub3JtYWxpemUnLF8weDUxZDhjW18weDVkZTdlOSgnMHg5NDknKV1bXzB4NWRlN2U5KCcweDYzMycpXSx7J29wZXJhdGlvbic6J1N0cmluZy5wcm90b3R5cGUubm9ybWFsaXplJywnZm9ybSc6XzB4Mjc0OTUzfSk7fVsnY2hlY2tTYWZlVWludDUzJ10oXzB4NTk1MjU4LF8weGMxZWZhOSl7dmFyIF8weDUyOTY5Mj1fMHgzMDYxMGE7XzB4NTI5NjkyKCcweDI3YScpPT10eXBlb2YgXzB4NTk1MjU4JiYobnVsbD09XzB4YzFlZmE5JiYoXzB4YzFlZmE5PSd2YWx1ZVx4MjBub3RceDIwc2FmZScpLChfMHg1OTUyNTg8MHgwfHxfMHg1OTUyNTg+PTB4MWZmZmZmZmZmZmZmZmYpJiZ0aGlzW18weDUyOTY5MignMHgxZDAnKV0oXzB4YzFlZmE5LF8weDUxZDhjW18weDUyOTY5MignMHg5NDknKV1bJ05VTUVSSUNfRkFVTFQnXSx7J29wZXJhdGlvbic6J2NoZWNrU2FmZUludGVnZXInLCdmYXVsdCc6XzB4NTI5NjkyKCcweDVmZScpLCd2YWx1ZSc6XzB4NTk1MjU4fSksXzB4NTk1MjU4JTB4MSYmdGhpc1tfMHg1Mjk2OTIoJzB4MWQwJyldKF8weGMxZWZhOSxfMHg1MWQ4Y1tfMHg1Mjk2OTIoJzB4OTQ5JyldW18weDUyOTY5MignMHg0YWInKV0seydvcGVyYXRpb24nOidjaGVja1NhZmVJbnRlZ2VyJywnZmF1bHQnOl8weDUyOTY5MignMHg4NDknKSwndmFsdWUnOl8weDU5NTI1OH0pKTt9W18weDMwNjEwYSgnMHgyMGEnKV0oXzB4MzRmMGFmLF8weDMyNTNjNyxfMHg1ODUxYjMpe3ZhciBfMHgyZWY5YjQ9XzB4MzA2MTBhO18weDU4NTFiMz1fMHg1ODUxYjM/JzpceDIwJytfMHg1ODUxYjM6JycsXzB4MzRmMGFmPF8weDMyNTNjNyYmdGhpc1tfMHgyZWY5YjQoJzB4MWQwJyldKF8weDJlZjliNCgnMHhhMDInKStfMHg1ODUxYjMsXzB4NTFkOGNbXzB4MmVmOWI0KCcweDk0OScpXVtfMHgyZWY5YjQoJzB4YjdhJyldLHsnY291bnQnOl8weDM0ZjBhZiwnZXhwZWN0ZWRDb3VudCc6XzB4MzI1M2M3fSksXzB4MzRmMGFmPl8weDMyNTNjNyYmdGhpc1tfMHgyZWY5YjQoJzB4MWQwJyldKCd0b29ceDIwbWFueVx4MjBhcmd1bWVudHMnK18weDU4NTFiMyxfMHg1MWQ4Y1tfMHgyZWY5YjQoJzB4OTQ5JyldW18weDJlZjliNCgnMHhjZTUnKV0seydjb3VudCc6XzB4MzRmMGFmLCdleHBlY3RlZENvdW50JzpfMHgzMjUzYzd9KTt9WydjaGVja05ldyddKF8weDRkMDVlYyxfMHg0YWJkMTYpe3ZhciBfMHgyYzRhODE9XzB4MzA2MTBhO18weDRkMDVlYyE9PU9iamVjdCYmbnVsbCE9XzB4NGQwNWVjfHx0aGlzWyd0aHJvd0Vycm9yJ10oXzB4MmM0YTgxKCcweGMzNicpLF8weDUxZDhjW18weDJjNGE4MSgnMHg5NDknKV1bXzB4MmM0YTgxKCcweGQyNycpXSx7J25hbWUnOl8weDRhYmQxNltfMHgyYzRhODEoJzB4YmM3JyldfSk7fVtfMHgzMDYxMGEoJzB4MWRiJyldKF8weDU5OGU1YyxfMHgzYmY3M2Qpe3ZhciBfMHgyNWIxMTM9XzB4MzA2MTBhO18weDU5OGU1Yz09PV8weDNiZjczZD90aGlzW18weDI1YjExMygnMHgxZDAnKV0oXzB4MjViMTEzKCcweGEzZicpK0pTT05bXzB4MjViMTEzKCcweDMxZicpXShfMHgzYmY3M2RbJ25hbWUnXSkrXzB4MjViMTEzKCcweDQ2OScpLF8weDUxZDhjW18weDI1YjExMygnMHg5NDknKV1bXzB4MjViMTEzKCcweDYzMycpXSx7J25hbWUnOl8weDU5OGU1Y1tfMHgyNWIxMTMoJzB4YmM3JyldLCdvcGVyYXRpb24nOl8weDI1YjExMygnMHgzZjknKX0pOl8weDU5OGU1YyE9PU9iamVjdCYmbnVsbCE9XzB4NTk4ZTVjfHx0aGlzW18weDI1YjExMygnMHgxZDAnKV0oXzB4MjViMTEzKCcweGMzNicpLF8weDUxZDhjW18weDI1YjExMygnMHg5NDknKV1bXzB4MjViMTEzKCcweGQyNycpXSx7J25hbWUnOl8weDNiZjczZFtfMHgyNWIxMTMoJzB4YmM3JyldfSk7fXN0YXRpY1tfMHgzMDYxMGEoJzB4M2E5JyldKCl7dmFyIF8weDEwZWRlMD1fMHgzMDYxMGE7cmV0dXJuIF8weDI4YzI5NXx8KF8weDI4YzI5NT1uZXcgXzB4NTFkOGMoXzB4MTBlZGUwKCcweDRmYycpKSksXzB4MjhjMjk1O31zdGF0aWNbJ3NldENlbnNvcnNoaXAnXShfMHg1N2Q0MjAsXzB4MzJlYjRhKXt2YXIgXzB4MTk5OGQ3PV8weDMwNjEwYTtpZighXzB4NTdkNDIwJiZfMHgzMmViNGEmJnRoaXNbJ2dsb2JhbExvZ2dlciddKClbXzB4MTk5OGQ3KCcweDFkMCcpXShfMHgxOTk4ZDcoJzB4M2IxJyksXzB4NTFkOGNbXzB4MTk5OGQ3KCcweDk0OScpXVsnVU5TVVBQT1JURURfT1BFUkFUSU9OJ10seydvcGVyYXRpb24nOidzZXRDZW5zb3JzaGlwJ30pLF8weDRhMzMwMil7aWYoIV8weDU3ZDQyMClyZXR1cm47dGhpc1tfMHgxOTk4ZDcoJzB4M2E5JyldKClbXzB4MTk5OGQ3KCcweDFkMCcpXShfMHgxOTk4ZDcoJzB4N2ExJyksXzB4NTFkOGNbXzB4MTk5OGQ3KCcweDk0OScpXVsnVU5TVVBQT1JURURfT1BFUkFUSU9OJ10seydvcGVyYXRpb24nOidzZXRDZW5zb3JzaGlwJ30pO31fMHg3MWMzZGE9ISFfMHg1N2Q0MjAsXzB4NGEzMzAyPSEhXzB4MzJlYjRhO31zdGF0aWNbXzB4MzA2MTBhKCcweDQ3NycpXShfMHg3N2QzNmIpe3ZhciBfMHgyNGZmODA9XzB4MzA2MTBhO2NvbnN0IF8weDQ1NjcxMD1fMHgxYzMwNjBbXzB4NzdkMzZiW18weDI0ZmY4MCgnMHg4NzAnKV0oKV07bnVsbCE9XzB4NDU2NzEwP18weDQ5MzM4YT1fMHg0NTY3MTA6XzB4NTFkOGNbXzB4MjRmZjgwKCcweDNhOScpXSgpW18weDI0ZmY4MCgnMHg1ZDQnKV0oXzB4MjRmZjgwKCcweDZlNCcpK18weDc3ZDM2Yik7fXN0YXRpY1tfMHgzMDYxMGEoJzB4MjUyJyldKF8weDU1NTY5NSl7cmV0dXJuIG5ldyBfMHg1MWQ4YyhfMHg1NTU2OTUpO319XzB4NTFkOGNbJ2Vycm9ycyddPV8weDI2YWIwMixfMHg1MWQ4Y1tfMHgzMDYxMGEoJzB4Y2NmJyldPV8weDIxYzM1O30sMHgyNjg1OihfMHgzZjllNTMsXzB4MjZkYjg0LF8weDRhNWZkNik9PnsndXNlIHN0cmljdCc7dmFyIF8weDE4ZGEzOT1fMHgxNWEzO18weDRhNWZkNlsnZCddKF8weDI2ZGI4NCx7J0gnOigpPT5fMHgyYmNmNWR9KTtjb25zdCBfMHgxNTFkM2U9bmV3KF8weDRhNWZkNigweDJjNykpWyhfMHgxOGRhMzkoJzB4Y2U3JykpXShfMHgxOGRhMzkoJzB4N2I3JykpO2Z1bmN0aW9uIF8weDRkY2VmOShfMHg1ZGM1ZDcpe3ZhciBfMHgzNGE2MDk9XzB4MThkYTM5O2NvbnN0IF8weDFhYTVlMj1mdW5jdGlvbihfMHg1NGQwNTMsXzB4MjliNTlmKXt2YXIgXzB4MTVjNDJhPV8weDE1YTM7bnVsbD09XzB4MjliNTlmJiYoXzB4MjliNTlmPXt9KTtjb25zdCBfMHgxNTMzYjg9W107aWYoXzB4NTRkMDUzW18weDE1YzQyYSgnMHg0OWMnKV0mJictJyE9PV8weDI5YjU5ZltfMHgxNWM0MmEoJzB4YjE1JyldKXRyeXtfMHgxNTMzYjhbXzB4MTVjNDJhKCcweDhiNycpXShuZXcgXzB4NTRkMDUzWydJbmZ1cmFQcm92aWRlciddKF8weDVkYzVkNyxfMHgyOWI1OWZbXzB4MTVjNDJhKCcweGIxNScpXSkpO31jYXRjaChfMHg0YjQ1YTQpe31pZihfMHg1NGQwNTNbXzB4MTVjNDJhKCcweDI1ZCcpXSYmJy0nIT09XzB4MjliNTlmWydldGhlcnNjYW4nXSl0cnl7XzB4MTUzM2I4WydwdXNoJ10obmV3IF8weDU0ZDA1M1soXzB4MTVjNDJhKCcweDI1ZCcpKV0oXzB4NWRjNWQ3LF8weDI5YjU5ZltfMHgxNWM0MmEoJzB4YWVlJyldKSk7fWNhdGNoKF8weGIyODhkOSl7fWlmKF8weDU0ZDA1M1tfMHgxNWM0MmEoJzB4NDYwJyldJiYnLSchPT1fMHgyOWI1OWZbXzB4MTVjNDJhKCcweDg3NicpXSl0cnl7XzB4MTUzM2I4WydwdXNoJ10obmV3IF8weDU0ZDA1M1soXzB4MTVjNDJhKCcweDQ2MCcpKV0oXzB4NWRjNWQ3LF8weDI5YjU5ZltfMHgxNWM0MmEoJzB4ODc2JyldKSk7fWNhdGNoKF8weDIzMmE2Yil7fWlmKF8weDU0ZDA1M1tfMHgxNWM0MmEoJzB4OTU5JyldJiYnLSchPT1fMHgyOWI1OWZbXzB4MTVjNDJhKCcweDQ2NycpXSl7Y29uc3QgXzB4MWZmZjllPVtfMHgxNWM0MmEoJzB4MWVjJyksJ3JvcHN0ZW4nLF8weDE1YzQyYSgnMHg5MzUnKSwnc2Vwb2xpYSddO3RyeXtjb25zdCBfMHgxMDNhZmU9bmV3IF8weDU0ZDA1M1soXzB4MTVjNDJhKCcweDk1OScpKV0oXzB4NWRjNWQ3LF8weDI5YjU5ZltfMHgxNWM0MmEoJzB4NDY3JyldKTtfMHgxMDNhZmVbXzB4MTVjNDJhKCcweDI0ZicpXSYmLTB4MT09PV8weDFmZmY5ZVsnaW5kZXhPZiddKF8weDEwM2FmZVtfMHgxNWM0MmEoJzB4MjRmJyldW18weDE1YzQyYSgnMHhiYzcnKV0pJiZfMHgxNTMzYjhbXzB4MTVjNDJhKCcweDhiNycpXShfMHgxMDNhZmUpO31jYXRjaChfMHg2NDYwNzEpe319aWYoXzB4NTRkMDUzWydDbG91ZGZsYXJlUHJvdmlkZXInXSYmJy0nIT09XzB4MjliNTlmW18weDE1YzQyYSgnMHgzNTAnKV0pdHJ5e18weDE1MzNiOFtfMHgxNWM0MmEoJzB4OGI3JyldKG5ldyBfMHg1NGQwNTNbKF8weDE1YzQyYSgnMHg5MGQnKSldKF8weDVkYzVkNykpO31jYXRjaChfMHgzMzFmMzIpe31pZihfMHg1NGQwNTNbXzB4MTVjNDJhKCcweGE5YScpXSYmJy0nIT09XzB4MjliNTlmW18weDE1YzQyYSgnMHhhZjcnKV0pdHJ5e2NvbnN0IF8weDVkNjhmPVtfMHgxNWM0MmEoJzB4NmE3JyldLF8weDJkMzg4ND1uZXcgXzB4NTRkMDUzWyhfMHgxNWM0MmEoJzB4YTlhJykpXShfMHg1ZGM1ZDcsXzB4MjliNTlmW18weDE1YzQyYSgnMHhhZjcnKV0pO18weDJkMzg4NFtfMHgxNWM0MmEoJzB4MjRmJyldJiYtMHgxPT09XzB4NWQ2OGZbXzB4MTVjNDJhKCcweGFjMCcpXShfMHgyZDM4ODRbJ25ldHdvcmsnXVtfMHgxNWM0MmEoJzB4YmM3JyldKSYmXzB4MTUzM2I4W18weDE1YzQyYSgnMHg4YjcnKV0oXzB4MmQzODg0KTt9Y2F0Y2goXzB4NDFmMTQ3KXt9aWYoMHgwPT09XzB4MTUzM2I4W18weDE1YzQyYSgnMHg1MjAnKV0pcmV0dXJuIG51bGw7aWYoXzB4NTRkMDUzW18weDE1YzQyYSgnMHg4YzgnKV0pe2xldCBfMHgyMjUyMjQ9MHgxO3JldHVybiBudWxsIT1fMHgyOWI1OWZbJ3F1b3J1bSddP18weDIyNTIyND1fMHgyOWI1OWZbXzB4MTVjNDJhKCcweDQyNycpXTpfMHgxNWM0MmEoJzB4NjBmJyk9PT1fMHg1ZGM1ZDcmJihfMHgyMjUyMjQ9MHgyKSxuZXcgXzB4NTRkMDUzWyhfMHgxNWM0MmEoJzB4OGM4JykpXShfMHgxNTMzYjgsXzB4MjI1MjI0KTt9cmV0dXJuIF8weDE1MzNiOFsweDBdO307cmV0dXJuIF8weDFhYTVlMltfMHgzNGE2MDkoJzB4ODgwJyldPWZ1bmN0aW9uKF8weDIxZTJiYyl7cmV0dXJuIF8weDRkY2VmOShfMHgyMWUyYmMpO30sXzB4MWFhNWUyO31mdW5jdGlvbiBfMHg4ZDMyNjAoXzB4MWEwM2QxLF8weDE1YWFjZCl7dmFyIF8weDI5Y2YwZD1fMHgxOGRhMzk7Y29uc3QgXzB4MTA4YWQ3PWZ1bmN0aW9uKF8weDE1Nzc4ZCxfMHg0NWIxNGUpe3ZhciBfMHgyZGQ1OWU9XzB4MTVhMztyZXR1cm4gXzB4MTU3NzhkWydKc29uUnBjUHJvdmlkZXInXT9uZXcgXzB4MTU3NzhkWyhfMHgyZGQ1OWUoJzB4NmVhJykpXShfMHgxYTAzZDEsXzB4MTVhYWNkKTpudWxsO307cmV0dXJuIF8weDEwOGFkN1tfMHgyOWNmMGQoJzB4ODgwJyldPWZ1bmN0aW9uKF8weDFlYWM5NSl7cmV0dXJuIF8weDhkMzI2MChfMHgxYTAzZDEsXzB4MWVhYzk1KTt9LF8weDEwOGFkNzt9Y29uc3QgXzB4NGExZTZkPXsnY2hhaW5JZCc6MHgxLCdlbnNBZGRyZXNzJzpfMHgxOGRhMzkoJzB4YzhhJyksJ25hbWUnOl8weDE4ZGEzOSgnMHg2MGYnKSwnX2RlZmF1bHRQcm92aWRlcic6XzB4NGRjZWY5KF8weDE4ZGEzOSgnMHg2MGYnKSl9LF8weDMzZDA1ND17J2NoYWluSWQnOjB4MywnZW5zQWRkcmVzcyc6XzB4MThkYTM5KCcweGM4YScpLCduYW1lJzpfMHgxOGRhMzkoJzB4NmE3JyksJ19kZWZhdWx0UHJvdmlkZXInOl8weDRkY2VmOShfMHgxOGRhMzkoJzB4NmE3JykpfSxfMHgyNjEyM2I9eydjaGFpbklkJzoweDNmLCduYW1lJzpfMHgxOGRhMzkoJzB4NzBkJyksJ19kZWZhdWx0UHJvdmlkZXInOl8weDhkMzI2MChfMHgxOGRhMzkoJzB4MzcyJyksXzB4MThkYTM5KCcweDcwZCcpKX0sXzB4NDUwNzYyPXsndW5zcGVjaWZpZWQnOnsnY2hhaW5JZCc6MHgwLCduYW1lJzpfMHgxOGRhMzkoJzB4YzkzJyl9LCdob21lc3RlYWQnOl8weDRhMWU2ZCwnbWFpbm5ldCc6XzB4NGExZTZkLCdtb3JkZW4nOnsnY2hhaW5JZCc6MHgyLCduYW1lJzonbW9yZGVuJ30sJ3JvcHN0ZW4nOl8weDMzZDA1NCwndGVzdG5ldCc6XzB4MzNkMDU0LCdyaW5rZWJ5Jzp7J2NoYWluSWQnOjB4NCwnZW5zQWRkcmVzcyc6XzB4MThkYTM5KCcweGM4YScpLCduYW1lJzpfMHgxOGRhMzkoJzB4OTM1JyksJ19kZWZhdWx0UHJvdmlkZXInOl8weDRkY2VmOShfMHgxOGRhMzkoJzB4OTM1JykpfSwna292YW4nOnsnY2hhaW5JZCc6MHgyYSwnbmFtZSc6XzB4MThkYTM5KCcweGNiZicpLCdfZGVmYXVsdFByb3ZpZGVyJzpfMHg0ZGNlZjkoJ2tvdmFuJyl9LCdnb2VybGknOnsnY2hhaW5JZCc6MHg1LCdlbnNBZGRyZXNzJzpfMHgxOGRhMzkoJzB4YzhhJyksJ25hbWUnOl8weDE4ZGEzOSgnMHgxZWMnKSwnX2RlZmF1bHRQcm92aWRlcic6XzB4NGRjZWY5KF8weDE4ZGEzOSgnMHgxZWMnKSl9LCdraW50c3VnaSc6eydjaGFpbklkJzoweDE0Njk2NiwnbmFtZSc6XzB4MThkYTM5KCcweDFmNicpfSwnc2Vwb2xpYSc6eydjaGFpbklkJzoweGFhMzZhNywnbmFtZSc6XzB4MThkYTM5KCcweDM3ZCcpLCdfZGVmYXVsdFByb3ZpZGVyJzpfMHg0ZGNlZjkoXzB4MThkYTM5KCcweDM3ZCcpKX0sJ2NsYXNzaWMnOnsnY2hhaW5JZCc6MHgzZCwnbmFtZSc6XzB4MThkYTM5KCcweDhmMycpLCdfZGVmYXVsdFByb3ZpZGVyJzpfMHg4ZDMyNjAoJ2h0dHBzOi8vd3d3LmV0aGVyY2x1c3Rlci5jb20vZXRjJyxfMHgxOGRhMzkoJzB4OGYzJykpfSwnY2xhc3NpY01vcmRlbic6eydjaGFpbklkJzoweDNlLCduYW1lJzonY2xhc3NpY01vcmRlbid9LCdjbGFzc2ljTW9yZG9yJzpfMHgyNjEyM2IsJ2NsYXNzaWNUZXN0bmV0JzpfMHgyNjEyM2IsJ2NsYXNzaWNLb3R0aSc6eydjaGFpbklkJzoweDYsJ25hbWUnOidjbGFzc2ljS290dGknLCdfZGVmYXVsdFByb3ZpZGVyJzpfMHg4ZDMyNjAoXzB4MThkYTM5KCcweDJmNicpLF8weDE4ZGEzOSgnMHg4YzEnKSl9LCd4ZGFpJzp7J2NoYWluSWQnOjB4NjQsJ25hbWUnOl8weDE4ZGEzOSgnMHhjN2UnKX0sJ21hdGljJzp7J2NoYWluSWQnOjB4ODksJ25hbWUnOl8weDE4ZGEzOSgnMHg2YzQnKSwnX2RlZmF1bHRQcm92aWRlcic6XzB4NGRjZWY5KF8weDE4ZGEzOSgnMHg2YzQnKSl9LCdtYXRpY211bSc6eydjaGFpbklkJzoweDEzODgxLCduYW1lJzpfMHgxOGRhMzkoJzB4N2IyJyl9LCdvcHRpbWlzbSc6eydjaGFpbklkJzoweGEsJ25hbWUnOl8weDE4ZGEzOSgnMHg0YmMnKSwnX2RlZmF1bHRQcm92aWRlcic6XzB4NGRjZWY5KF8weDE4ZGEzOSgnMHg0YmMnKSl9LCdvcHRpbWlzbS1rb3Zhbic6eydjaGFpbklkJzoweDQ1LCduYW1lJzpfMHgxOGRhMzkoJzB4Yjk4Jyl9LCdvcHRpbWlzbS1nb2VybGknOnsnY2hhaW5JZCc6MHgxYTQsJ25hbWUnOl8weDE4ZGEzOSgnMHg5ZTEnKX0sJ2FyYml0cnVtJzp7J2NoYWluSWQnOjB4YTRiMSwnbmFtZSc6XzB4MThkYTM5KCcweGIzNycpfSwnYXJiaXRydW0tcmlua2VieSc6eydjaGFpbklkJzoweDY2ZWViLCduYW1lJzonYXJiaXRydW0tcmlua2VieSd9LCdhcmJpdHJ1bS1nb2VybGknOnsnY2hhaW5JZCc6MHg2NmVlZCwnbmFtZSc6J2FyYml0cnVtLWdvZXJsaSd9LCdibmInOnsnY2hhaW5JZCc6MHgzOCwnbmFtZSc6XzB4MThkYTM5KCcweDU1NScpfSwnYm5idCc6eydjaGFpbklkJzoweDYxLCduYW1lJzpfMHgxOGRhMzkoJzB4YTNhJyl9fTtmdW5jdGlvbiBfMHgyYmNmNWQoXzB4MTk4ZmNlKXt2YXIgXzB4NDk1ZGI1PV8weDE4ZGEzOTtpZihudWxsPT1fMHgxOThmY2UpcmV0dXJuIG51bGw7aWYoXzB4NDk1ZGI1KCcweDI3YScpPT10eXBlb2YgXzB4MTk4ZmNlKXtmb3IoY29uc3QgXzB4MmFiZWExIGluIF8weDQ1MDc2Mil7Y29uc3QgXzB4Mzc2NWJkPV8weDQ1MDc2MltfMHgyYWJlYTFdO2lmKF8weDM3NjViZFtfMHg0OTVkYjUoJzB4MjYyJyldPT09XzB4MTk4ZmNlKXJldHVybnsnbmFtZSc6XzB4Mzc2NWJkW18weDQ5NWRiNSgnMHhiYzcnKV0sJ2NoYWluSWQnOl8weDM3NjViZFtfMHg0OTVkYjUoJzB4MjYyJyldLCdlbnNBZGRyZXNzJzpfMHgzNzY1YmRbXzB4NDk1ZGI1KCcweGJmZicpXXx8bnVsbCwnX2RlZmF1bHRQcm92aWRlcic6XzB4Mzc2NWJkWydfZGVmYXVsdFByb3ZpZGVyJ118fG51bGx9O31yZXR1cm57J2NoYWluSWQnOl8weDE5OGZjZSwnbmFtZSc6J3Vua25vd24nfTt9aWYoXzB4NDk1ZGI1KCcweDY1ZicpPT10eXBlb2YgXzB4MTk4ZmNlKXtjb25zdCBfMHg1YzUwMTA9XzB4NDUwNzYyW18weDE5OGZjZV07cmV0dXJuIG51bGw9PV8weDVjNTAxMD9udWxsOnsnbmFtZSc6XzB4NWM1MDEwW18weDQ5NWRiNSgnMHhiYzcnKV0sJ2NoYWluSWQnOl8weDVjNTAxMFtfMHg0OTVkYjUoJzB4MjYyJyldLCdlbnNBZGRyZXNzJzpfMHg1YzUwMTBbXzB4NDk1ZGI1KCcweGJmZicpXSwnX2RlZmF1bHRQcm92aWRlcic6XzB4NWM1MDEwWydfZGVmYXVsdFByb3ZpZGVyJ118fG51bGx9O31jb25zdCBfMHg1ZjA0OGY9XzB4NDUwNzYyW18weDE5OGZjZVsnbmFtZSddXTtpZighXzB4NWYwNDhmKXJldHVybiBfMHg0OTVkYjUoJzB4MjdhJykhPXR5cGVvZiBfMHgxOThmY2VbXzB4NDk1ZGI1KCcweDI2MicpXSYmXzB4MTUxZDNlW18weDQ5NWRiNSgnMHg2MzUnKV0oJ2ludmFsaWRceDIwbmV0d29ya1x4MjBjaGFpbklkJyxfMHg0OTVkYjUoJzB4MjRmJyksXzB4MTk4ZmNlKSxfMHgxOThmY2U7MHgwIT09XzB4MTk4ZmNlW18weDQ5NWRiNSgnMHgyNjInKV0mJl8weDE5OGZjZVtfMHg0OTVkYjUoJzB4MjYyJyldIT09XzB4NWYwNDhmW18weDQ5NWRiNSgnMHgyNjInKV0mJl8weDE1MWQzZVtfMHg0OTVkYjUoJzB4NjM1JyldKCduZXR3b3JrXHgyMGNoYWluSWRceDIwbWlzbWF0Y2gnLF8weDQ5NWRiNSgnMHgyNGYnKSxfMHgxOThmY2UpO2xldCBfMHgyOTk0YzE9XzB4MTk4ZmNlW18weDQ5NWRiNSgnMHgzNWEnKV18fG51bGw7dmFyIF8weDFiYWJiMjtyZXR1cm4gbnVsbD09XzB4Mjk5NGMxJiZfMHg1ZjA0OGZbJ19kZWZhdWx0UHJvdmlkZXInXSYmKF8weDI5OTRjMT0oXzB4MWJhYmIyPV8weDVmMDQ4ZltfMHg0OTVkYjUoJzB4MzVhJyldKSYmXzB4NDk1ZGI1KCcweGM3YicpPT10eXBlb2YgXzB4MWJhYmIyW18weDQ5NWRiNSgnMHg4ODAnKV0/XzB4NWYwNDhmW18weDQ5NWRiNSgnMHgzNWEnKV1bXzB4NDk1ZGI1KCcweDg4MCcpXShfMHgxOThmY2UpOl8weDVmMDQ4ZlsnX2RlZmF1bHRQcm92aWRlciddKSx7J25hbWUnOl8weDE5OGZjZVsnbmFtZSddLCdjaGFpbklkJzpfMHg1ZjA0OGZbJ2NoYWluSWQnXSwnZW5zQWRkcmVzcyc6XzB4MTk4ZmNlW18weDQ5NWRiNSgnMHhiZmYnKV18fF8weDVmMDQ4ZltfMHg0OTVkYjUoJzB4YmZmJyldfHxudWxsLCdfZGVmYXVsdFByb3ZpZGVyJzpfMHgyOTk0YzF9O319LDB4MTRiYTooXzB4NDhlMDQ2LF8weDI1ZDZiZixfMHhkNGEyOTEpPT57J3VzZSBzdHJpY3QnO18weGQ0YTI5MVsnZCddKF8weDI1ZDZiZix7J24nOigpPT5fMHgzNzE1MGF9KTt2YXIgXzB4ZWVhYzc3PV8weGQ0YTI5MSgweGNkNiksXzB4NDliOTc1PV8weGQ0YTI5MSgweGY2Zik7ZnVuY3Rpb24gXzB4MzcxNTBhKF8weDIzYjBmMyxfMHgzYTM3MyxfMHgxMDA3MzgsXzB4MzA1NzU4LF8weDFmMGIyNil7dmFyIF8weDM2MGRhND1fMHgxNWEzO2xldCBfMHgxNjNhMzM7XzB4MjNiMGYzPSgweDAsXzB4ZWVhYzc3W18weDM2MGRhNCgnMHhkMDYnKV0pKF8weDIzYjBmMyksXzB4M2EzNzM9KDB4MCxfMHhlZWFjNzdbJ2FycmF5aWZ5J10pKF8weDNhMzczKTtsZXQgXzB4MmI3Nzg5PTB4MTtjb25zdCBfMHgyZDc3ODg9bmV3IFVpbnQ4QXJyYXkoXzB4MzA1NzU4KSxfMHgxNGZkYzE9bmV3IFVpbnQ4QXJyYXkoXzB4M2EzNzNbXzB4MzYwZGE0KCcweDUyMCcpXSsweDQpO2xldCBfMHhlMzJiOGEsXzB4MzNmYWRjO18weDE0ZmRjMVtfMHgzNjBkYTQoJzB4Y2FjJyldKF8weDNhMzczKTtmb3IobGV0IF8weDM4MmJkND0weDE7XzB4MzgyYmQ0PD1fMHgyYjc3ODk7XzB4MzgyYmQ0Kyspe18weDE0ZmRjMVtfMHgzYTM3M1tfMHgzNjBkYTQoJzB4NTIwJyldXT1fMHgzODJiZDQ+PjB4MTgmMHhmZixfMHgxNGZkYzFbXzB4M2EzNzNbXzB4MzYwZGE0KCcweDUyMCcpXSsweDFdPV8weDM4MmJkND4+MHgxMCYweGZmLF8weDE0ZmRjMVtfMHgzYTM3M1snbGVuZ3RoJ10rMHgyXT1fMHgzODJiZDQ+PjB4OCYweGZmLF8weDE0ZmRjMVtfMHgzYTM3M1tfMHgzNjBkYTQoJzB4NTIwJyldKzB4M109MHhmZiZfMHgzODJiZDQ7bGV0IF8weDFhN2Y1ZT0oMHgwLF8weGVlYWM3N1tfMHgzNjBkYTQoJzB4ZDA2JyldKSgoMHgwLF8weDQ5Yjk3NVsnR3knXSkoXzB4MWYwYjI2LF8weDIzYjBmMyxfMHgxNGZkYzEpKTtfMHgxNjNhMzN8fChfMHgxNjNhMzM9XzB4MWE3ZjVlW18weDM2MGRhNCgnMHg1MjAnKV0sXzB4MzNmYWRjPW5ldyBVaW50OEFycmF5KF8weDE2M2EzMyksXzB4MmI3Nzg5PU1hdGhbJ2NlaWwnXShfMHgzMDU3NTgvXzB4MTYzYTMzKSxfMHhlMzJiOGE9XzB4MzA1NzU4LShfMHgyYjc3ODktMHgxKSpfMHgxNjNhMzMpLF8weDMzZmFkY1tfMHgzNjBkYTQoJzB4Y2FjJyldKF8weDFhN2Y1ZSk7Zm9yKGxldCBfMHgyOWQ5MDU9MHgxO18weDI5ZDkwNTxfMHgxMDA3Mzg7XzB4MjlkOTA1Kyspe18weDFhN2Y1ZT0oMHgwLF8weGVlYWM3N1snYXJyYXlpZnknXSkoKDB4MCxfMHg0OWI5NzVbJ0d5J10pKF8weDFmMGIyNixfMHgyM2IwZjMsXzB4MWE3ZjVlKSk7Zm9yKGxldCBfMHhhZWY2ODM9MHgwO18weGFlZjY4MzxfMHgxNjNhMzM7XzB4YWVmNjgzKyspXzB4MzNmYWRjW18weGFlZjY4M11ePV8weDFhN2Y1ZVtfMHhhZWY2ODNdO31jb25zdCBfMHg5ZGFkYT0oXzB4MzgyYmQ0LTB4MSkqXzB4MTYzYTMzLF8weGM5Mjc4Zj1fMHgzODJiZDQ9PT1fMHgyYjc3ODk/XzB4ZTMyYjhhOl8weDE2M2EzMztfMHgyZDc3ODhbXzB4MzYwZGE0KCcweGNhYycpXSgoMHgwLF8weGVlYWM3N1tfMHgzNjBkYTQoJzB4ZDA2JyldKShfMHgzM2ZhZGMpW18weDM2MGRhNCgnMHhhZGEnKV0oMHgwLF8weGM5Mjc4ZiksXzB4OWRhZGEpO31yZXR1cm4oMHgwLF8weGVlYWM3N1tfMHgzNjBkYTQoJzB4MzU2JyldKShfMHgyZDc3ODgpO319LDB4ZTAzOihfMHgzY2Q0YTAsXzB4MmNiMDliLF8weDE3ZDU0MCk9PnsndXNlIHN0cmljdCc7dmFyIF8weDQxODFjMj1fMHgxNWEzO18weDE3ZDU0MFsnciddKF8weDJjYjA5YiksXzB4MTdkNTQwWydkJ10oXzB4MmNiMDliLHsnRGVzY3JpcHRpb24nOigpPT5fMHgyOGZkYzgsJ2NoZWNrUHJvcGVydGllcyc6KCk9Pl8weDNhOTUzMiwnZGVlcENvcHknOigpPT5fMHg0M2NhODksJ2RlZmluZVJlYWRPbmx5JzooKT0+XzB4NTlhNmFlLCdnZXRTdGF0aWMnOigpPT5fMHg5MzliYmEsJ3Jlc29sdmVQcm9wZXJ0aWVzJzooKT0+XzB4MzU5OTQsJ3NoYWxsb3dDb3B5JzooKT0+XzB4NWU4NTY0fSk7dmFyIF8weDI1ZTk3MT1fMHgxN2Q1NDAoMHgyYzcpLF8weDExNzRkMz1mdW5jdGlvbihfMHg1NTFjY2EsXzB4Mjg2NjcxLF8weDJhMmJkYSxfMHg0ZTA2N2Ype3JldHVybiBuZXcoXzB4MmEyYmRhfHwoXzB4MmEyYmRhPVByb21pc2UpKShmdW5jdGlvbihfMHg1ZjFiMTksXzB4NTRlYTAzKXt2YXIgXzB4MWY4NzkwPV8weDE1YTM7ZnVuY3Rpb24gXzB4NGZmMjYwKF8weDVlODRlNil7dmFyIF8weDU2MDFkNz1fMHgxNWEzO3RyeXtfMHgyYjQ2NTYoXzB4NGUwNjdmW18weDU2MDFkNygnMHg3NDAnKV0oXzB4NWU4NGU2KSk7fWNhdGNoKF8weGJjYmM2YSl7XzB4NTRlYTAzKF8weGJjYmM2YSk7fX1mdW5jdGlvbiBfMHgxMDlmNDUoXzB4MWMzNzk4KXt2YXIgXzB4NGFkYTQxPV8weDE1YTM7dHJ5e18weDJiNDY1NihfMHg0ZTA2N2ZbXzB4NGFkYTQxKCcweGFlMycpXShfMHgxYzM3OTgpKTt9Y2F0Y2goXzB4NDJmNDZiKXtfMHg1NGVhMDMoXzB4NDJmNDZiKTt9fWZ1bmN0aW9uIF8weDJiNDY1NihfMHgzOTMxYjkpe3ZhciBfMHg1NzhmODk9XzB4MTVhMyxfMHgyMjE3MjA7XzB4MzkzMWI5W18weDU3OGY4OSgnMHhjNWMnKV0/XzB4NWYxYjE5KF8weDM5MzFiOVsndmFsdWUnXSk6KF8weDIyMTcyMD1fMHgzOTMxYjlbXzB4NTc4Zjg5KCcweDg5ZCcpXSxfMHgyMjE3MjAgaW5zdGFuY2VvZiBfMHgyYTJiZGE/XzB4MjIxNzIwOm5ldyBfMHgyYTJiZGEoZnVuY3Rpb24oXzB4NWNlMGVjKXtfMHg1Y2UwZWMoXzB4MjIxNzIwKTt9KSlbJ3RoZW4nXShfMHg0ZmYyNjAsXzB4MTA5ZjQ1KTt9XzB4MmI0NjU2KChfMHg0ZTA2N2Y9XzB4NGUwNjdmW18weDFmODc5MCgnMHg0NDInKV0oXzB4NTUxY2NhLF8weDI4NjY3MXx8W10pKVsnbmV4dCddKCkpO30pO307Y29uc3QgXzB4MzA0NTA4PW5ldyBfMHgyNWU5NzFbKF8weDQxODFjMignMHhjZTcnKSldKF8weDQxODFjMignMHg2MTYnKSk7ZnVuY3Rpb24gXzB4NTlhNmFlKF8weGYyNDBkNSxfMHg1YzJlMzYsXzB4MWQyN2M4KXt2YXIgXzB4M2QyMTI0PV8weDQxODFjMjtPYmplY3RbXzB4M2QyMTI0KCcweDJiNCcpXShfMHhmMjQwZDUsXzB4NWMyZTM2LHsnZW51bWVyYWJsZSc6ITB4MCwndmFsdWUnOl8weDFkMjdjOCwnd3JpdGFibGUnOiEweDF9KTt9ZnVuY3Rpb24gXzB4OTM5YmJhKF8weDVhZDY4NCxfMHgyZTA2M2Upe3ZhciBfMHgzNDIwNjc9XzB4NDE4MWMyO2ZvcihsZXQgXzB4NWZkNjNmPTB4MDtfMHg1ZmQ2M2Y8MHgyMDtfMHg1ZmQ2M2YrKyl7aWYoXzB4NWFkNjg0W18weDJlMDYzZV0pcmV0dXJuIF8weDVhZDY4NFtfMHgyZTA2M2VdO2lmKCFfMHg1YWQ2ODRbXzB4MzQyMDY3KCcweDc1NicpXXx8J29iamVjdCchPXR5cGVvZiBfMHg1YWQ2ODRbXzB4MzQyMDY3KCcweDc1NicpXSlicmVhaztfMHg1YWQ2ODQ9T2JqZWN0W18weDM0MjA2NygnMHg0MTUnKV0oXzB4NWFkNjg0W18weDM0MjA2NygnMHg3NTYnKV0pWydjb25zdHJ1Y3RvciddO31yZXR1cm4gbnVsbDt9ZnVuY3Rpb24gXzB4MzU5OTQoXzB4MzdhNWI3KXtyZXR1cm4gXzB4MTE3NGQzKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDRjYThmMz1fMHgxNWEzO2NvbnN0IF8weDFlZTI0Mz1PYmplY3RbJ2tleXMnXShfMHgzN2E1YjcpWydtYXAnXShfMHgyMzI0MGU9Pnt2YXIgXzB4NDA0OGFhPV8weDE1YTM7Y29uc3QgXzB4MmM4YWE4PV8weDM3YTViN1tfMHgyMzI0MGVdO3JldHVybiBQcm9taXNlW18weDQwNDhhYSgnMHgzZjQnKV0oXzB4MmM4YWE4KVtfMHg0MDQ4YWEoJzB4ZDM0JyldKF8weGQ2MTM2Yz0+KHsna2V5JzpfMHgyMzI0MGUsJ3ZhbHVlJzpfMHhkNjEzNmN9KSk7fSk7cmV0dXJuKHlpZWxkIFByb21pc2VbXzB4NGNhOGYzKCcweDQwNScpXShfMHgxZWUyNDMpKVtfMHg0Y2E4ZjMoJzB4ODE4JyldKChfMHgxM2E3ZTcsXzB4MzZkNzljKT0+KF8weDEzYTdlN1tfMHgzNmQ3OWNbXzB4NGNhOGYzKCcweDY3ZScpXV09XzB4MzZkNzljW18weDRjYThmMygnMHg4OWQnKV0sXzB4MTNhN2U3KSx7fSk7fSk7fWZ1bmN0aW9uIF8weDNhOTUzMihfMHhjMTY5NzEsXzB4ZTY1NDU3KXt2YXIgXzB4MmUyNzI2PV8weDQxODFjMjtfMHhjMTY5NzEmJl8weDJlMjcyNignMHgzNmInKT09dHlwZW9mIF8weGMxNjk3MXx8XzB4MzA0NTA4Wyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHgyZTI3MjYoJzB4YmNjJyksJ29iamVjdCcsXzB4YzE2OTcxKSxPYmplY3RbXzB4MmUyNzI2KCcweDYzNicpXShfMHhjMTY5NzEpWydmb3JFYWNoJ10oXzB4MWM5M2Y4PT57dmFyIF8weDJiMWE5Mj1fMHgyZTI3MjY7XzB4ZTY1NDU3W18weDFjOTNmOF18fF8weDMwNDUwOFtfMHgyYjFhOTIoJzB4NjM1JyldKF8weDJiMWE5MignMHhhZjQnKStfMHgxYzkzZjgsXzB4MmIxYTkyKCcweDk2NicpK18weDFjOTNmOCxfMHhjMTY5NzEpO30pO31mdW5jdGlvbiBfMHg1ZTg1NjQoXzB4YTQ4MmE2KXtjb25zdCBfMHg5NDY1NjA9e307Zm9yKGNvbnN0IF8weDMyYTg3YiBpbiBfMHhhNDgyYTYpXzB4OTQ2NTYwW18weDMyYTg3Yl09XzB4YTQ4MmE2W18weDMyYTg3Yl07cmV0dXJuIF8weDk0NjU2MDt9Y29uc3QgXzB4M2U1ODFlPXsnYmlnaW50JzohMHgwLCdib29sZWFuJzohMHgwLCdmdW5jdGlvbic6ITB4MCwnbnVtYmVyJzohMHgwLCdzdHJpbmcnOiEweDB9O2Z1bmN0aW9uIF8weDJlOWVlMChfMHg0NGU0MDApe3ZhciBfMHg0ZmNmMzk9XzB4NDE4MWMyO2lmKG51bGw9PV8weDQ0ZTQwMHx8XzB4M2U1ODFlW3R5cGVvZiBfMHg0NGU0MDBdKXJldHVybiEweDA7aWYoQXJyYXlbJ2lzQXJyYXknXShfMHg0NGU0MDApfHwnb2JqZWN0Jz09dHlwZW9mIF8weDQ0ZTQwMCl7aWYoIU9iamVjdFtfMHg0ZmNmMzkoJzB4ODc4JyldKF8weDQ0ZTQwMCkpcmV0dXJuITB4MTtjb25zdCBfMHg0ZjU5YTQ9T2JqZWN0W18weDRmY2YzOSgnMHg2MzYnKV0oXzB4NDRlNDAwKTtmb3IobGV0IF8weDRiOTFjOD0weDA7XzB4NGI5MWM4PF8weDRmNTlhNFtfMHg0ZmNmMzkoJzB4NTIwJyldO18weDRiOTFjOCsrKXtsZXQgXzB4MTUxZThjPW51bGw7dHJ5e18weDE1MWU4Yz1fMHg0NGU0MDBbXzB4NGY1OWE0W18weDRiOTFjOF1dO31jYXRjaChfMHg1M2ZjOTkpe2NvbnRpbnVlO31pZighXzB4MmU5ZWUwKF8weDE1MWU4YykpcmV0dXJuITB4MTt9cmV0dXJuITB4MDt9cmV0dXJuIF8weDMwNDUwOFtfMHg0ZmNmMzkoJzB4NjM1JyldKF8weDRmY2YzOSgnMHg1NjUnKSt0eXBlb2YgXzB4NDRlNDAwLF8weDRmY2YzOSgnMHgzNmInKSxfMHg0NGU0MDApO31mdW5jdGlvbiBfMHg0ZGEyMjAoXzB4MzUxM2ZiKXt2YXIgXzB4OTdjOGQ2PV8weDQxODFjMjtpZihfMHgyZTllZTAoXzB4MzUxM2ZiKSlyZXR1cm4gXzB4MzUxM2ZiO2lmKEFycmF5W18weDk3YzhkNignMHg4ZjEnKV0oXzB4MzUxM2ZiKSlyZXR1cm4gT2JqZWN0W18weDk3YzhkNignMHgxZmEnKV0oXzB4MzUxM2ZiW18weDk3YzhkNignMHgzYzknKV0oXzB4M2ZmNTg2PT5fMHg0M2NhODkoXzB4M2ZmNTg2KSkpO2lmKCdvYmplY3QnPT10eXBlb2YgXzB4MzUxM2ZiKXtjb25zdCBfMHgxYmI1NGY9e307Zm9yKGNvbnN0IF8weDRmZmJlZiBpbiBfMHgzNTEzZmIpe2NvbnN0IF8weDU3MTVhOT1fMHgzNTEzZmJbXzB4NGZmYmVmXTt2b2lkIDB4MCE9PV8weDU3MTVhOSYmXzB4NTlhNmFlKF8weDFiYjU0ZixfMHg0ZmZiZWYsXzB4NDNjYTg5KF8weDU3MTVhOSkpO31yZXR1cm4gXzB4MWJiNTRmO31yZXR1cm4gXzB4MzA0NTA4Wyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHg5N2M4ZDYoJzB4NTY1JykrdHlwZW9mIF8weDM1MTNmYixfMHg5N2M4ZDYoJzB4MzZiJyksXzB4MzUxM2ZiKTt9ZnVuY3Rpb24gXzB4NDNjYTg5KF8weDE3YzJmMSl7cmV0dXJuIF8weDRkYTIyMChfMHgxN2MyZjEpO31jbGFzcyBfMHgyOGZkYzh7Y29uc3RydWN0b3IoXzB4MzlkYWE1KXtmb3IoY29uc3QgXzB4MWFkZGFiIGluIF8weDM5ZGFhNSl0aGlzW18weDFhZGRhYl09XzB4NDNjYTg5KF8weDM5ZGFhNVtfMHgxYWRkYWJdKTt9fX0sMHgxMDc4OihfMHgyYzFjNmMsXzB4NjRmYTU1LF8weDJhN2FmNik9PnsndXNlIHN0cmljdCc7dmFyIF8weDNiOGFhND1fMHgxNWEzO18weDJhN2FmNlsnZCddKF8weDY0ZmE1NSx7J2knOigpPT5fMHgxZjQwNmR9KTtjb25zdCBfMHgxZjQwNmQ9XzB4M2I4YWE0KCcweDdjMicpO30sMHgxYjY1OihfMHg1MzU3ODUsXzB4MjBkZjMxLF8weDIyMTgyMSk9PnsndXNlIHN0cmljdCc7dmFyIF8weDJlNTIwMT1fMHgxNWEzO18weDIyMTgyMVsnZCddKF8weDIwZGYzMSx7J0gyJzooKT0+XzB4MjJkOTdkLCdaayc6KCk9Pl8weDU3MjQzMn0pO3ZhciBfMHgyYzQwMjU9XzB4MjIxODIxKDB4MTEwMSksXzB4MTdlNTcwPV8weDIyMTgyMSgweDI1NWYpLF8weGYyYmZmNz1fMHgyMjE4MjEoMHgxZTJmKSxfMHg1NWZhMWY9XzB4MjIxODIxKDB4YTIxKSxfMHhmMGVlMzU9XzB4MjIxODIxKDB4Y2Q2KSxfMHgzMGZmYTE9XzB4MjIxODIxKDB4MWMzMiksXzB4MTM5ZDk3PV8weDIyMTgyMSgweDIwOTMpLF8weDUwZDA4Mj1fMHgyMjE4MjEoMHgyNjg1KSxfMHg0NDlmZjM9XzB4MjIxODIxKDB4ZTAzKSxfMHg1YjUxODQ9XzB4MjIxODIxKDB4ZjZmKSxfMHgxYjk4ZTU9XzB4MjIxODIxKDB4MTA5MiksXzB4MjNlNmE4PV8weDIyMTgyMSgweDIwOTUpLF8weGQ0MjAwYz1fMHgyMjE4MjEoMHhiNDIpLF8weDJlMjdhNj1fMHgyMjE4MjFbJ24nXShfMHhkNDIwMGMpLF8weDFkZDAzOD1fMHgyMjE4MjEoMHgyYzcpLF8weDJhOGU2Nj1fMHgyMjE4MjEoMHgxMDc4KSxfMHgxMjc5YTU9XzB4MjIxODIxKDB4MjApLF8weDFjNWFjYj1mdW5jdGlvbihfMHgzODFjNzUsXzB4Zjg2YTI0LF8weDU5NjIwMCxfMHg0MzhkMGMpe3JldHVybiBuZXcoXzB4NTk2MjAwfHwoXzB4NTk2MjAwPVByb21pc2UpKShmdW5jdGlvbihfMHgxNDNhYmQsXzB4NDQ3ZmFhKXt2YXIgXzB4MjhlYWU4PV8weDE1YTM7ZnVuY3Rpb24gXzB4MmNmZWQ5KF8weDRlZjlkNyl7dmFyIF8weDM3OTRkYT1fMHgxNWEzO3RyeXtfMHg1YTA3NGQoXzB4NDM4ZDBjW18weDM3OTRkYSgnMHg3NDAnKV0oXzB4NGVmOWQ3KSk7fWNhdGNoKF8weDU2YTYwYil7XzB4NDQ3ZmFhKF8weDU2YTYwYik7fX1mdW5jdGlvbiBfMHgxNzhmZDAoXzB4NTYzZjY5KXt2YXIgXzB4NDU2Y2MwPV8weDE1YTM7dHJ5e18weDVhMDc0ZChfMHg0MzhkMGNbXzB4NDU2Y2MwKCcweGFlMycpXShfMHg1NjNmNjkpKTt9Y2F0Y2goXzB4NDU2Y2JhKXtfMHg0NDdmYWEoXzB4NDU2Y2JhKTt9fWZ1bmN0aW9uIF8weDVhMDc0ZChfMHgzMmM4YTgpe3ZhciBfMHg0MmZiMmI9XzB4MTVhMyxfMHgzZWVjNmU7XzB4MzJjOGE4W18weDQyZmIyYignMHhjNWMnKV0/XzB4MTQzYWJkKF8weDMyYzhhOFsndmFsdWUnXSk6KF8weDNlZWM2ZT1fMHgzMmM4YThbXzB4NDJmYjJiKCcweDg5ZCcpXSxfMHgzZWVjNmUgaW5zdGFuY2VvZiBfMHg1OTYyMDA/XzB4M2VlYzZlOm5ldyBfMHg1OTYyMDAoZnVuY3Rpb24oXzB4MmU3ZWY1KXtfMHgyZTdlZjUoXzB4M2VlYzZlKTt9KSlbXzB4NDJmYjJiKCcweGQzNCcpXShfMHgyY2ZlZDksXzB4MTc4ZmQwKTt9XzB4NWEwNzRkKChfMHg0MzhkMGM9XzB4NDM4ZDBjW18weDI4ZWFlOCgnMHg0NDInKV0oXzB4MzgxYzc1LF8weGY4NmEyNHx8W10pKVtfMHgyOGVhZTgoJzB4NzQwJyldKCkpO30pO307Y29uc3QgXzB4MzNmYzRiPW5ldyBfMHgxZGQwMzhbJ0xvZ2dlciddKF8weDJhOGU2NlsnaSddKTtmdW5jdGlvbiBfMHg1MGM3MDkoXzB4NDNlNjNjKXt2YXIgXzB4MmZhMDYyPV8weDE1YTM7cmV0dXJuIG51bGw9PV8weDQzZTYzYz9fMHgyZmEwNjIoJzB4M2NhJyk6KDB4MjAhPT0oMHgwLF8weGYwZWUzNVtfMHgyZmEwNjIoJzB4YTk0JyldKShfMHg0M2U2M2MpJiZfMHgzM2ZjNGJbXzB4MmZhMDYyKCcweDYzNScpXShfMHgyZmEwNjIoJzB4YzUyJyksXzB4MmZhMDYyKCcweDRmNCcpLF8weDQzZTYzYyksXzB4NDNlNjNjW18weDJmYTA2MignMHg4NzAnKV0oKSk7fWZ1bmN0aW9uIF8weDMyMDdlOChfMHg0ZTk4Mjcpe3ZhciBfMHgxOWQ1MjA9XzB4MTVhMztmb3IoXzB4NGU5ODI3PV8weDRlOTgyN1snc2xpY2UnXSgpO18weDRlOTgyN1snbGVuZ3RoJ10+MHgwJiZudWxsPT1fMHg0ZTk4MjdbXzB4NGU5ODI3W18weDE5ZDUyMCgnMHg1MjAnKV0tMHgxXTspXzB4NGU5ODI3Wydwb3AnXSgpO3JldHVybiBfMHg0ZTk4MjdbXzB4MTlkNTIwKCcweDNjOScpXShfMHg0NTY4Nzc9Pnt2YXIgXzB4M2Q2ZTQxPV8weDE5ZDUyMDtpZihBcnJheVtfMHgzZDZlNDEoJzB4OGYxJyldKF8weDQ1Njg3Nykpe2NvbnN0IF8weDJjMzkxOD17fTtfMHg0NTY4NzdbXzB4M2Q2ZTQxKCcweDUxZScpXShfMHg5MzdlYzg9PntfMHgyYzM5MThbXzB4NTBjNzA5KF8weDkzN2VjOCldPSEweDA7fSk7Y29uc3QgXzB4MWIwYmYwPU9iamVjdFtfMHgzZDZlNDEoJzB4NjM2JyldKF8weDJjMzkxOCk7cmV0dXJuIF8weDFiMGJmMFsnc29ydCddKCksXzB4MWIwYmYwWydqb2luJ10oJ3wnKTt9cmV0dXJuIF8weDUwYzcwOShfMHg0NTY4NzcpO30pW18weDE5ZDUyMCgnMHhhYTcnKV0oJyYnKTt9ZnVuY3Rpb24gXzB4NTU3NmViKF8weDUyNjAzYyl7dmFyIF8weDE2M2Q0Mj1fMHgxNWEzO2lmKCdzdHJpbmcnPT10eXBlb2YgXzB4NTI2MDNjKXtpZihfMHg1MjYwM2M9XzB4NTI2MDNjW18weDE2M2Q0MignMHg4NzAnKV0oKSwweDIwPT09KDB4MCxfMHhmMGVlMzVbJ2hleERhdGFMZW5ndGgnXSkoXzB4NTI2MDNjKSlyZXR1cm4gXzB4MTYzZDQyKCcweGE3ZScpK18weDUyNjAzYztpZigtMHgxPT09XzB4NTI2MDNjW18weDE2M2Q0MignMHhhYzAnKV0oJzonKSlyZXR1cm4gXzB4NTI2MDNjO31lbHNle2lmKEFycmF5W18weDE2M2Q0MignMHg4ZjEnKV0oXzB4NTI2MDNjKSlyZXR1cm4nZmlsdGVyOio6JytfMHgzMjA3ZTgoXzB4NTI2MDNjKTtpZihfMHgyYzQwMjVbJ1NnJ11bXzB4MTYzZDQyKCcweDYzZicpXShfMHg1MjYwM2MpKXRocm93IF8weDMzZmM0YltfMHgxNjNkNDIoJzB4NWQ0JyldKF8weDE2M2Q0MignMHg4NzUnKSksbmV3IEVycm9yKF8weDE2M2Q0MignMHg4NzUnKSk7aWYoXzB4NTI2MDNjJiYnb2JqZWN0Jz09dHlwZW9mIF8weDUyNjAzYylyZXR1cm4gXzB4MTYzZDQyKCcweDJjYScpKyhfMHg1MjYwM2NbXzB4MTYzZDQyKCcweDFkMScpXXx8JyonKSsnOicrXzB4MzIwN2U4KF8weDUyNjAzY1tfMHgxNjNkNDIoJzB4MjllJyldfHxbXSk7fXRocm93IG5ldyBFcnJvcihfMHgxNjNkNDIoJzB4MWVmJykrXzB4NTI2MDNjKTt9ZnVuY3Rpb24gXzB4MTBiZDdmKCl7dmFyIF8weDRhMDJhOD1fMHgxNWEzO3JldHVybiBuZXcgRGF0ZSgpW18weDRhMDJhOCgnMHg0YjQnKV0oKTt9ZnVuY3Rpb24gXzB4NjU0MTZiKF8weDUxNTA3Nil7cmV0dXJuIG5ldyBQcm9taXNlKF8weDNhNThiNj0+e3NldFRpbWVvdXQoXzB4M2E1OGI2LF8weDUxNTA3Nik7fSk7fWNvbnN0IF8weDE5NWJmYT1bXzB4MmU1MjAxKCcweDdhOScpLCduZXR3b3JrJyxfMHgyZTUyMDEoJzB4OWEyJyksXzB4MmU1MjAxKCcweGNkMScpXTtjbGFzcyBfMHgxMzdmZWF7Y29uc3RydWN0b3IoXzB4NDZiOWRlLF8weDU1NzhjMixfMHg0YTVlODIpe3ZhciBfMHg1YWU4ZmI9XzB4MmU1MjAxOygweDAsXzB4NDQ5ZmYzW18weDVhZThmYignMHhjZTknKV0pKHRoaXMsXzB4NWFlOGZiKCcweDQyYScpLF8weDQ2YjlkZSksKDB4MCxfMHg0NDlmZjNbXzB4NWFlOGZiKCcweGNlOScpXSkodGhpcyxfMHg1YWU4ZmIoJzB4MjQwJyksXzB4NTU3OGMyKSwoMHgwLF8weDQ0OWZmM1tfMHg1YWU4ZmIoJzB4Y2U5JyldKSh0aGlzLCdvbmNlJyxfMHg0YTVlODIpLHRoaXNbXzB4NWFlOGZiKCcweGMxMScpXT0tMHgyLHRoaXNbXzB4NWFlOGZiKCcweDM5NycpXT0hMHgxO31nZXRbXzB4MmU1MjAxKCcweDY2ZScpXSgpe3ZhciBfMHgzMTE2MGI9XzB4MmU1MjAxO3N3aXRjaCh0aGlzW18weDMxMTYwYignMHg1N2MnKV0pe2Nhc2UndHgnOnJldHVybiB0aGlzW18weDMxMTYwYignMHgyZTQnKV07Y2FzZSBfMHgzMTE2MGIoJzB4M2FiJyk6cmV0dXJuIHRoaXNbXzB4MzExNjBiKCcweDNhYicpXTt9cmV0dXJuIHRoaXNbXzB4MzExNjBiKCcweDQyYScpXTt9Z2V0W18weDJlNTIwMSgnMHg1N2MnKV0oKXt2YXIgXzB4MjYzN2JhPV8weDJlNTIwMTtyZXR1cm4gdGhpc1sndGFnJ11bXzB4MjYzN2JhKCcweDk5NCcpXSgnOicpWzB4MF07fWdldFtfMHgyZTUyMDEoJzB4MmU0JyldKCl7Y29uc3QgXzB4NTk3ZWY0PXRoaXNbJ3RhZyddWydzcGxpdCddKCc6Jyk7cmV0dXJuJ3R4JyE9PV8weDU5N2VmNFsweDBdP251bGw6XzB4NTk3ZWY0WzB4MV07fWdldFtfMHgyZTUyMDEoJzB4M2FiJyldKCl7dmFyIF8weDI2MzAxYj1fMHgyZTUyMDE7Y29uc3QgXzB4MmJlYzBhPXRoaXNbXzB4MjYzMDFiKCcweDQyYScpXVtfMHgyNjMwMWIoJzB4OTk0JyldKCc6Jyk7aWYoXzB4MjYzMDFiKCcweDNhYicpIT09XzB4MmJlYzBhWzB4MF0pcmV0dXJuIG51bGw7Y29uc3QgXzB4MzRkMzJmPV8weDJiZWMwYVsweDFdLF8weDIyMjAxNT0nJz09PShfMHgzNjQ4YzI9XzB4MmJlYzBhWzB4Ml0pP1tdOl8weDM2NDhjMltfMHgyNjMwMWIoJzB4OTk0JyldKC8mL2cpW18weDI2MzAxYignMHgzYzknKV0oXzB4ZDY2NjRmPT57dmFyIF8weDQ0MjFkYj1fMHgyNjMwMWI7aWYoJyc9PT1fMHhkNjY2NGYpcmV0dXJuW107Y29uc3QgXzB4MmMxZTQ1PV8weGQ2NjY0ZltfMHg0NDIxZGIoJzB4OTk0JyldKCd8JylbXzB4NDQyMWRiKCcweDNjOScpXShfMHgyMmY5ZGI9PidudWxsJz09PV8weDIyZjlkYj9udWxsOl8weDIyZjlkYik7cmV0dXJuIDB4MT09PV8weDJjMWU0NVsnbGVuZ3RoJ10/XzB4MmMxZTQ1WzB4MF06XzB4MmMxZTQ1O30pO3ZhciBfMHgzNjQ4YzI7Y29uc3QgXzB4YzdmZDg2PXt9O3JldHVybiBfMHgyMjIwMTVbXzB4MjYzMDFiKCcweDUyMCcpXT4weDAmJihfMHhjN2ZkODZbXzB4MjYzMDFiKCcweDI5ZScpXT1fMHgyMjIwMTUpLF8weDM0ZDMyZiYmJyonIT09XzB4MzRkMzJmJiYoXzB4YzdmZDg2W18weDI2MzAxYignMHgxZDEnKV09XzB4MzRkMzJmKSxfMHhjN2ZkODY7fVtfMHgyZTUyMDEoJzB4NzU4JyldKCl7dmFyIF8weDFmMmE5OD1fMHgyZTUyMDE7cmV0dXJuIHRoaXNbXzB4MWYyYTk4KCcweDQyYScpXVtfMHgxZjJhOTgoJzB4YWMwJyldKCc6Jyk+PTB4MHx8XzB4MTk1YmZhW18weDFmMmE5OCgnMHhhYzAnKV0odGhpc1tfMHgxZjJhOTgoJzB4NDJhJyldKT49MHgwO319Y29uc3QgXzB4M2ZkZDJiPXsweDA6eydzeW1ib2wnOl8weDJlNTIwMSgnMHg5NTgnKSwncDJwa2gnOjB4MCwncDJzaCc6MHg1LCdwcmVmaXgnOidiYyd9LDB4Mjp7J3N5bWJvbCc6XzB4MmU1MjAxKCcweDY3MycpLCdwMnBraCc6MHgzMCwncDJzaCc6MHgzMiwncHJlZml4JzonbHRjJ30sMHgzOnsnc3ltYm9sJzonZG9nZScsJ3AycGtoJzoweDFlLCdwMnNoJzoweDE2fSwweDNjOnsnc3ltYm9sJzpfMHgyZTUyMDEoJzB4Yzc4JyksJ2lsayc6J2V0aCd9LDB4M2Q6eydzeW1ib2wnOidldGMnLCdpbGsnOl8weDJlNTIwMSgnMHhjNzgnKX0sMHgyYmM6eydzeW1ib2wnOl8weDJlNTIwMSgnMHhjN2UnKSwnaWxrJzpfMHgyZTUyMDEoJzB4Yzc4Jyl9fTtmdW5jdGlvbiBfMHgyMjY4YjAoXzB4MTY5ZTAyKXt2YXIgXzB4NTJkMWY1PV8weDJlNTIwMTtyZXR1cm4oMHgwLF8weGYwZWUzNVtfMHg1MmQxZjUoJzB4NDIxJyldKShfMHg1NWZhMWZbJ08kJ11bXzB4NTJkMWY1KCcweDI1MicpXShfMHgxNjllMDIpWyd0b0hleFN0cmluZyddKCksMHgyMCk7fWZ1bmN0aW9uIF8weDVkZDJlZChfMHg0YmYwYmQpe3ZhciBfMHg0YjZhY2E9XzB4MmU1MjAxO3JldHVybiBfMHhmMmJmZjdbXzB4NGI2YWNhKCcweGM5MScpXVsnZW5jb2RlJ10oKDB4MCxfMHhmMGVlMzVbJ2NvbmNhdCddKShbXzB4NGJmMGJkLCgweDAsXzB4ZjBlZTM1W18weDRiNmFjYSgnMHg4MTEnKV0pKCgweDAsXzB4NWI1MTg0WydKUSddKSgoMHgwLF8weDViNTE4NFsnSlEnXSkoXzB4NGJmMGJkKSksMHgwLDB4NCldKSk7fWNvbnN0IF8weDRmMjI4Mz1uZXcgUmVnRXhwKF8weDJlNTIwMSgnMHg4MzknKSwnaScpLF8weDE4YjFhND1bbmV3IFJlZ0V4cChfMHgyZTUyMDEoJzB4OWU4JyksJ2knKSxuZXcgUmVnRXhwKCdeKGRhdGEpOiguKikkJywnaScpLF8weDRmMjI4MyxuZXcgUmVnRXhwKCdeZWlwMTU1OlswLTldKy8oZXJjWzAtOV0rKTooLiopJCcsJ2knKV07ZnVuY3Rpb24gXzB4MzhiMWYxKF8weDE5MGUxMCxfMHg1MjAzMDIpe3RyeXtyZXR1cm4oMHgwLF8weDFiOThlNVsnWk4nXSkoXzB4MmFkYTZhKF8weDE5MGUxMCxfMHg1MjAzMDIpKTt9Y2F0Y2goXzB4MjBiOTBkKXt9cmV0dXJuIG51bGw7fWZ1bmN0aW9uIF8weDJhZGE2YShfMHgxY2MyZTQsXzB4NDhkMDgzKXt2YXIgXzB4YzE5ZDlkPV8weDJlNTIwMTtpZignMHgnPT09XzB4MWNjMmU0KXJldHVybiBudWxsO2NvbnN0IF8weDVmNmI5Nj1fMHg1NWZhMWZbJ08kJ11bXzB4YzE5ZDlkKCcweDI1MicpXSgoMHgwLF8weGYwZWUzNVtfMHhjMTlkOWQoJzB4ODExJyldKShfMHgxY2MyZTQsXzB4NDhkMDgzLF8weDQ4ZDA4MysweDIwKSlbJ3RvTnVtYmVyJ10oKSxfMHhkZmJiYTA9XzB4NTVmYTFmWydPJCddW18weGMxOWQ5ZCgnMHgyNTInKV0oKDB4MCxfMHhmMGVlMzVbXzB4YzE5ZDlkKCcweDgxMScpXSkoXzB4MWNjMmU0LF8weDVmNmI5NixfMHg1ZjZiOTYrMHgyMCkpW18weGMxOWQ5ZCgnMHg5NDEnKV0oKTtyZXR1cm4oMHgwLF8weGYwZWUzNVtfMHhjMTlkOWQoJzB4ODExJyldKShfMHgxY2MyZTQsXzB4NWY2Yjk2KzB4MjAsXzB4NWY2Yjk2KzB4MjArXzB4ZGZiYmEwKTt9ZnVuY3Rpb24gXzB4MTBkYzk2KF8weDI5ODg3Mil7dmFyIF8weDU1MTNkZD1fMHgyZTUyMDE7cmV0dXJuIF8weDI5ODg3MltfMHg1NTEzZGQoJzB4NDI1JyldKC9eaXBmczpcL1wvaXBmc1wvL2kpP18weDI5ODg3Mj1fMHgyOTg4NzJbJ3N1YnN0cmluZyddKDB4Yyk6XzB4Mjk4ODcyW18weDU1MTNkZCgnMHg0MjUnKV0oL15pcGZzOlwvXC8vaSk/XzB4Mjk4ODcyPV8weDI5ODg3MltfMHg1NTEzZGQoJzB4NzNkJyldKDB4Nyk6XzB4MzNmYzRiW18weDU1MTNkZCgnMHg2MzUnKV0oXzB4NTUxM2RkKCcweDczNycpLF8weDU1MTNkZCgnMHg2NmMnKSxfMHgyOTg4NzIpLF8weDU1MTNkZCgnMHhhM2InKStfMHgyOTg4NzI7fWZ1bmN0aW9uIF8weDU4NjE4YyhfMHgzMTVmODMpe3ZhciBfMHg0ZGJkMWU9XzB4MmU1MjAxO2NvbnN0IF8weDRkNDUyNz0oMHgwLF8weGYwZWUzNVtfMHg0ZGJkMWUoJzB4ZDA2JyldKShfMHgzMTVmODMpO2lmKF8weDRkNDUyN1tfMHg0ZGJkMWUoJzB4NTIwJyldPjB4MjApdGhyb3cgbmV3IEVycm9yKF8weDRkYmQxZSgnMHgzNTgnKSk7Y29uc3QgXzB4NTAwNWRlPW5ldyBVaW50OEFycmF5KDB4MjApO3JldHVybiBfMHg1MDA1ZGVbXzB4NGRiZDFlKCcweGNhYycpXShfMHg0ZDQ1MjcsMHgyMC1fMHg0ZDQ1MjdbXzB4NGRiZDFlKCcweDUyMCcpXSksXzB4NTAwNWRlO31mdW5jdGlvbiBfMHg0YzZjYWYoXzB4YTEwZTcpe3ZhciBfMHg5Y2VlMGI9XzB4MmU1MjAxO2lmKF8weGExMGU3W18weDljZWUwYignMHg1MjAnKV0lMHgyMD09MHgwKXJldHVybiBfMHhhMTBlNztjb25zdCBfMHgzOGQwMGU9bmV3IFVpbnQ4QXJyYXkoMHgyMCpNYXRoWydjZWlsJ10oXzB4YTEwZTdbXzB4OWNlZTBiKCcweDUyMCcpXS8weDIwKSk7cmV0dXJuIF8weDM4ZDAwZVsnc2V0J10oXzB4YTEwZTcpLF8weDM4ZDAwZTt9ZnVuY3Rpb24gXzB4MjY3NjUwKF8weDFjZTBiNyl7dmFyIF8weDRkNjY2Nz1fMHgyZTUyMDE7Y29uc3QgXzB4MTYyNTAwPVtdO2xldCBfMHgyYTk4MGM9MHgwO2ZvcihsZXQgXzB4ZTBlMjA2PTB4MDtfMHhlMGUyMDY8XzB4MWNlMGI3WydsZW5ndGgnXTtfMHhlMGUyMDYrKylfMHgxNjI1MDBbXzB4NGQ2NjY3KCcweDhiNycpXShudWxsKSxfMHgyYTk4MGMrPTB4MjA7Zm9yKGxldCBfMHg0NDIxMmY9MHgwO18weDQ0MjEyZjxfMHgxY2UwYjdbXzB4NGQ2NjY3KCcweDUyMCcpXTtfMHg0NDIxMmYrKyl7Y29uc3QgXzB4MjUxMTMxPSgweDAsXzB4ZjBlZTM1W18weDRkNjY2NygnMHhkMDYnKV0pKF8weDFjZTBiN1tfMHg0NDIxMmZdKTtfMHgxNjI1MDBbXzB4NDQyMTJmXT1fMHg1ODYxOGMoXzB4MmE5ODBjKSxfMHgxNjI1MDBbXzB4NGQ2NjY3KCcweDhiNycpXShfMHg1ODYxOGMoXzB4MjUxMTMxWydsZW5ndGgnXSkpLF8weDE2MjUwMFtfMHg0ZDY2NjcoJzB4OGI3JyldKF8weDRjNmNhZihfMHgyNTExMzEpKSxfMHgyYTk4MGMrPTB4MjArMHgyMCpNYXRoW18weDRkNjY2NygnMHg0NjYnKV0oXzB4MjUxMTMxWydsZW5ndGgnXS8weDIwKTt9cmV0dXJuKDB4MCxfMHhmMGVlMzVbXzB4NGQ2NjY3KCcweDdjZScpXSkoXzB4MTYyNTAwKTt9Y2xhc3MgXzB4MjJkOTdke2NvbnN0cnVjdG9yKF8weGU4MDliZixfMHg0YTIyMmIsXzB4NGE3OTgzLF8weDFjZTAxNSl7dmFyIF8weDNkN2ZjYj1fMHgyZTUyMDE7KDB4MCxfMHg0NDlmZjNbXzB4M2Q3ZmNiKCcweGNlOScpXSkodGhpcyxfMHgzZDdmY2IoJzB4ZDMyJyksXzB4ZTgwOWJmKSwoMHgwLF8weDQ0OWZmM1snZGVmaW5lUmVhZE9ubHknXSkodGhpcyxfMHgzZDdmY2IoJzB4YmM3JyksXzB4NGE3OTgzKSwoMHgwLF8weDQ0OWZmM1tfMHgzZDdmY2IoJzB4Y2U5JyldKSh0aGlzLF8weDNkN2ZjYignMHgxZDEnKSxfMHhlODA5YmZbXzB4M2Q3ZmNiKCcweDZhOCcpXVsnYWRkcmVzcyddKF8weDRhMjIyYikpLCgweDAsXzB4NDQ5ZmYzWydkZWZpbmVSZWFkT25seSddKSh0aGlzLF8weDNkN2ZjYignMHg2NzAnKSxfMHgxY2UwMTUpO31bJ3N1cHBvcnRzV2lsZGNhcmQnXSgpe3ZhciBfMHg0ZmQyNDQ9XzB4MmU1MjAxO3JldHVybiB0aGlzW18weDRmZDI0NCgnMHhhODInKV18fCh0aGlzW18weDRmZDI0NCgnMHhhODInKV09dGhpc1tfMHg0ZmQyNDQoJzB4ZDMyJyldWydjYWxsJ10oeyd0byc6dGhpc1tfMHg0ZmQyNDQoJzB4MWQxJyldLCdkYXRhJzpfMHg0ZmQyNDQoJzB4MjMwJyl9KVtfMHg0ZmQyNDQoJzB4ZDM0JyldKF8weDQ0OWI2Mz0+XzB4NTVmYTFmWydPJCddW18weDRmZDI0NCgnMHgyNTInKV0oXzB4NDQ5YjYzKVsnZXEnXSgweDEpKVtfMHg0ZmQyNDQoJzB4YmFhJyldKF8weDNjMjcxOD0+e3ZhciBfMHg3NTU1Yz1fMHg0ZmQyNDQ7aWYoXzB4M2MyNzE4W18weDc1NTVjKCcweDhlZScpXT09PV8weDFkZDAzOFtfMHg3NTU1YygnMHhjZTcnKV1bXzB4NzU1NWMoJzB4OTQ5JyldW18weDc1NTVjKCcweDRlZCcpXSlyZXR1cm4hMHgxO3Rocm93IHRoaXNbXzB4NzU1NWMoJzB4YTgyJyldPW51bGwsXzB4M2MyNzE4O30pKSx0aGlzW18weDRmZDI0NCgnMHhhODInKV07fVsnX2ZldGNoJ10oXzB4MmY5Nzk2LF8weDM0Mjc1Yyl7cmV0dXJuIF8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHgzMzk0ZGI9XzB4MTVhMztjb25zdCBfMHg1ZGM5ZTE9eyd0byc6dGhpc1tfMHgzMzk0ZGIoJzB4MWQxJyldLCdjY2lwUmVhZEVuYWJsZWQnOiEweDAsJ2RhdGEnOigweDAsXzB4ZjBlZTM1WydoZXhDb25jYXQnXSkoW18weDJmOTc5NiwoMHgwLF8weDEzOWQ5N1snVk0nXSkodGhpc1snbmFtZSddKSxfMHgzNDI3NWN8fCcweCddKX07bGV0IF8weDRmOTdiMj0hMHgxOyh5aWVsZCB0aGlzWydzdXBwb3J0c1dpbGRjYXJkJ10oKSkmJihfMHg0Zjk3YjI9ITB4MCxfMHg1ZGM5ZTFbXzB4MzM5NGRiKCcweGE1OCcpXT0oMHgwLF8weGYwZWUzNVsnaGV4Q29uY2F0J10pKFtfMHgzMzk0ZGIoJzB4NTQyJyksXzB4MjY3NjUwKFsoMHgwLF8weDEzOWQ5N1snS24nXSkodGhpc1snbmFtZSddKSxfMHg1ZGM5ZTFbXzB4MzM5NGRiKCcweGE1OCcpXV0pXSkpO3RyeXtsZXQgXzB4MjdiZGVmPXlpZWxkIHRoaXNbXzB4MzM5NGRiKCcweGQzMicpXVtfMHgzMzk0ZGIoJzB4NWZkJyldKF8weDVkYzllMSk7cmV0dXJuKDB4MCxfMHhmMGVlMzVbXzB4MzM5NGRiKCcweGQwNicpXSkoXzB4MjdiZGVmKVtfMHgzMzk0ZGIoJzB4NTIwJyldJTB4MjA9PTB4NCYmXzB4MzNmYzRiW18weDMzOTRkYignMHgxZDAnKV0oXzB4MzM5NGRiKCcweDZhNScpLF8weDFkZDAzOFtfMHgzMzk0ZGIoJzB4Y2U3JyldW18weDMzOTRkYignMHg5NDknKV1bXzB4MzM5NGRiKCcweDRlZCcpXSx7J3RyYW5zYWN0aW9uJzpfMHg1ZGM5ZTEsJ2RhdGEnOl8weDI3YmRlZn0pLF8weDRmOTdiMiYmKF8weDI3YmRlZj1fMHgyYWRhNmEoXzB4MjdiZGVmLDB4MCkpLF8weDI3YmRlZjt9Y2F0Y2goXzB4YWY1NjA0KXtpZihfMHhhZjU2MDRbXzB4MzM5NGRiKCcweDhlZScpXT09PV8weDFkZDAzOFtfMHgzMzk0ZGIoJzB4Y2U3JyldW18weDMzOTRkYignMHg5NDknKV1bXzB4MzM5NGRiKCcweDRlZCcpXSlyZXR1cm4gbnVsbDt0aHJvdyBfMHhhZjU2MDQ7fX0pO31bXzB4MmU1MjAxKCcweGNiMicpXShfMHgzMGVmYTksXzB4MWY4ZmRlKXtyZXR1cm4gXzB4MWM1YWNiKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDE2ZTA1NT1fMHgxNWEzO2NvbnN0IF8weDU1MjVjZj15aWVsZCB0aGlzW18weDE2ZTA1NSgnMHhiMTAnKV0oXzB4MzBlZmE5LF8weDFmOGZkZSk7cmV0dXJuIG51bGwhPV8weDU1MjVjZj9fMHgyYWRhNmEoXzB4NTUyNWNmLDB4MCk6bnVsbDt9KTt9W18weDJlNTIwMSgnMHhhMGMnKV0oXzB4M2M1NzMwLF8weDQzNDFmMyl7dmFyIF8weDFlN2U5Mj1fMHgyZTUyMDE7Y29uc3QgXzB4MzUzZjY3PV8weDNmZGQyYltTdHJpbmcoXzB4M2M1NzMwKV07aWYobnVsbD09XzB4MzUzZjY3JiZfMHgzM2ZjNGJbXzB4MWU3ZTkyKCcweDFkMCcpXShfMHgxZTdlOTIoJzB4MmM3JykrXzB4M2M1NzMwLF8weDFkZDAzOFtfMHgxZTdlOTIoJzB4Y2U3JyldWydlcnJvcnMnXVtfMHgxZTdlOTIoJzB4NjMzJyldLHsnb3BlcmF0aW9uJzpfMHgxZTdlOTIoJzB4MmIyJykrXzB4M2M1NzMwKycpJ30pLF8weDFlN2U5MignMHhjNzgnKT09PV8weDM1M2Y2N1snaWxrJ10pcmV0dXJuIHRoaXNbXzB4MWU3ZTkyKCcweGQzMicpXVtfMHgxZTdlOTIoJzB4NmE4JyldWydhZGRyZXNzJ10oXzB4NDM0MWYzKTtjb25zdCBfMHgxNGQzNjY9KDB4MCxfMHhmMGVlMzVbXzB4MWU3ZTkyKCcweGQwNicpXSkoXzB4NDM0MWYzKTtpZihudWxsIT1fMHgzNTNmNjdbXzB4MWU3ZTkyKCcweDUxYycpXSl7Y29uc3QgXzB4MzZlNWJmPV8weDQzNDFmM1tfMHgxZTdlOTIoJzB4NDI1JyldKC9eMHg3NmE5KFswLTlhLWZdWzAtOWEtZl0pKFswLTlhLWZdKik4OGFjJC8pO2lmKF8weDM2ZTViZil7Y29uc3QgXzB4MWI5NDY3PXBhcnNlSW50KF8weDM2ZTViZlsweDFdLDB4MTApO2lmKF8weDM2ZTViZlsweDJdW18weDFlN2U5MignMHg1MjAnKV09PT0weDIqXzB4MWI5NDY3JiZfMHgxYjk0Njc+PTB4MSYmXzB4MWI5NDY3PD0weDRiKXJldHVybiBfMHg1ZGQyZWQoKDB4MCxfMHhmMGVlMzVbXzB4MWU3ZTkyKCcweDUzMCcpXSkoW1tfMHgzNTNmNjdbJ3AycGtoJ11dLCcweCcrXzB4MzZlNWJmWzB4Ml1dKSk7fX1pZihudWxsIT1fMHgzNTNmNjdbXzB4MWU3ZTkyKCcweDYxNycpXSl7Y29uc3QgXzB4M2I5MGM5PV8weDQzNDFmM1tfMHgxZTdlOTIoJzB4NDI1JyldKC9eMHhhOShbMC05YS1mXVswLTlhLWZdKShbMC05YS1mXSopODckLyk7aWYoXzB4M2I5MGM5KXtjb25zdCBfMHg0NjI4N2I9cGFyc2VJbnQoXzB4M2I5MGM5WzB4MV0sMHgxMCk7aWYoXzB4M2I5MGM5WzB4Ml1bXzB4MWU3ZTkyKCcweDUyMCcpXT09PTB4MipfMHg0NjI4N2ImJl8weDQ2Mjg3Yj49MHgxJiZfMHg0NjI4N2I8PTB4NGIpcmV0dXJuIF8weDVkZDJlZCgoMHgwLF8weGYwZWUzNVtfMHgxZTdlOTIoJzB4NTMwJyldKShbW18weDM1M2Y2N1sncDJzaCddXSwnMHgnK18weDNiOTBjOVsweDJdXSkpO319aWYobnVsbCE9XzB4MzUzZjY3W18weDFlN2U5MignMHg5ZGYnKV0pe2NvbnN0IF8weGIzODIyZD1fMHgxNGQzNjZbMHgxXTtsZXQgXzB4MTUwM2UzPV8weDE0ZDM2NlsweDBdO2lmKDB4MD09PV8weDE1MDNlMz8weDE0IT09XzB4YjM4MjJkJiYweDIwIT09XzB4YjM4MjJkJiYoXzB4MTUwM2UzPS0weDEpOl8weDE1MDNlMz0tMHgxLF8weDE1MDNlMz49MHgwJiZfMHgxNGQzNjZbXzB4MWU3ZTkyKCcweDUyMCcpXT09PTB4MitfMHhiMzgyMmQmJl8weGIzODIyZD49MHgxJiZfMHhiMzgyMmQ8PTB4NGIpe2NvbnN0IF8weGEyZGFjMD1fMHgyZTI3YTYoKVtfMHgxZTdlOTIoJzB4NDM0JyldKF8weDE0ZDM2NltfMHgxZTdlOTIoJzB4YWRhJyldKDB4MikpO3JldHVybiBfMHhhMmRhYzBbJ3Vuc2hpZnQnXShfMHgxNTAzZTMpLF8weDJlMjdhNigpW18weDFlN2U5MignMHhhNTEnKV0oXzB4MzUzZjY3W18weDFlN2U5MignMHg5ZGYnKV0sXzB4YTJkYWMwKTt9fXJldHVybiBudWxsO31bXzB4MmU1MjAxKCcweDNkZicpXShfMHgyYzk3MmQpe3JldHVybiBfMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4NGZmYmY4PV8weDE1YTM7aWYobnVsbD09XzB4MmM5NzJkJiYoXzB4MmM5NzJkPTB4M2MpLDB4M2M9PT1fMHgyYzk3MmQpdHJ5e2NvbnN0IF8weDQ1N2JjMT15aWVsZCB0aGlzW18weDRmZmJmOCgnMHhiMTAnKV0oXzB4NGZmYmY4KCcweDNlMycpKTtyZXR1cm4nMHgnPT09XzB4NDU3YmMxfHxfMHg0NTdiYzE9PT1fMHgzMGZmYTFbJ1InXT9udWxsOnRoaXNbJ3Byb3ZpZGVyJ11bXzB4NGZmYmY4KCcweDZhOCcpXVsnY2FsbEFkZHJlc3MnXShfMHg0NTdiYzEpO31jYXRjaChfMHgxYWQ3MWUpe2lmKF8weDFhZDcxZVsnY29kZSddPT09XzB4MWRkMDM4W18weDRmZmJmOCgnMHhjZTcnKV1bXzB4NGZmYmY4KCcweDk0OScpXVtfMHg0ZmZiZjgoJzB4NGVkJyldKXJldHVybiBudWxsO3Rocm93IF8weDFhZDcxZTt9Y29uc3QgXzB4ZDBmMTlmPXlpZWxkIHRoaXNbXzB4NGZmYmY4KCcweGNiMicpXShfMHg0ZmZiZjgoJzB4ODM0JyksXzB4MjI2OGIwKF8weDJjOTcyZCkpO2lmKG51bGw9PV8weGQwZjE5Znx8JzB4Jz09PV8weGQwZjE5ZilyZXR1cm4gbnVsbDtjb25zdCBfMHgxN2UzYjY9dGhpc1snX2dldEFkZHJlc3MnXShfMHgyYzk3MmQsXzB4ZDBmMTlmKTtyZXR1cm4gbnVsbD09XzB4MTdlM2I2JiZfMHgzM2ZjNGJbXzB4NGZmYmY4KCcweDFkMCcpXShfMHg0ZmZiZjgoJzB4YWFhJyksXzB4MWRkMDM4W18weDRmZmJmOCgnMHhjZTcnKV1bXzB4NGZmYmY4KCcweDk0OScpXVtfMHg0ZmZiZjgoJzB4NjMzJyldLHsnb3BlcmF0aW9uJzpfMHg0ZmZiZjgoJzB4MmIyJykrXzB4MmM5NzJkKycpJywnY29pblR5cGUnOl8weDJjOTcyZCwnZGF0YSc6XzB4ZDBmMTlmfSksXzB4MTdlM2I2O30pO31bXzB4MmU1MjAxKCcweGEyYicpXSgpe3JldHVybiBfMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4MzE1OTBkPV8weDE1YTM7Y29uc3QgXzB4MTE2OTU4PVt7J3R5cGUnOl8weDMxNTkwZCgnMHhiYzcnKSwnY29udGVudCc6dGhpc1snbmFtZSddfV07dHJ5e2NvbnN0IF8weGNiYzA5ZT15aWVsZCB0aGlzW18weDMxNTkwZCgnMHhiOWYnKV0oJ2F2YXRhcicpO2lmKG51bGw9PV8weGNiYzA5ZSlyZXR1cm4gbnVsbDtmb3IobGV0IF8weDVhODVjYj0weDA7XzB4NWE4NWNiPF8weDE4YjFhNFsnbGVuZ3RoJ107XzB4NWE4NWNiKyspe2NvbnN0IF8weDJiY2NkZT1fMHhjYmMwOWVbXzB4MzE1OTBkKCcweDQyNScpXShfMHgxOGIxYTRbXzB4NWE4NWNiXSk7aWYobnVsbD09XzB4MmJjY2RlKWNvbnRpbnVlO2NvbnN0IF8weDE3NzAwZj1fMHgyYmNjZGVbMHgxXVtfMHgzMTU5MGQoJzB4ODcwJyldKCk7c3dpdGNoKF8weDE3NzAwZil7Y2FzZSBfMHgzMTU5MGQoJzB4Y2I2Jyk6cmV0dXJuIF8weDExNjk1OFtfMHgzMTU5MGQoJzB4OGI3JyldKHsndHlwZSc6XzB4MzE1OTBkKCcweDllYycpLCdjb250ZW50JzpfMHhjYmMwOWV9KSx7J2xpbmthZ2UnOl8weDExNjk1OCwndXJsJzpfMHhjYmMwOWV9O2Nhc2UgXzB4MzE1OTBkKCcweGE1OCcpOnJldHVybiBfMHgxMTY5NThbJ3B1c2gnXSh7J3R5cGUnOidkYXRhJywnY29udGVudCc6XzB4Y2JjMDllfSkseydsaW5rYWdlJzpfMHgxMTY5NTgsJ3VybCc6XzB4Y2JjMDllfTtjYXNlIF8weDMxNTkwZCgnMHg5M2InKTpyZXR1cm4gXzB4MTE2OTU4WydwdXNoJ10oeyd0eXBlJzpfMHgzMTU5MGQoJzB4OTNiJyksJ2NvbnRlbnQnOl8weGNiYzA5ZX0pLHsnbGlua2FnZSc6XzB4MTE2OTU4LCd1cmwnOl8weDEwZGM5NihfMHhjYmMwOWUpfTtjYXNlIF8weDMxNTkwZCgnMHhhMzInKTpjYXNlIF8weDMxNTkwZCgnMHgyYmYnKTp7Y29uc3QgXzB4Mjc1NzY3PSdlcmM3MjEnPT09XzB4MTc3MDBmP18weDMxNTkwZCgnMHg3OTAnKTonMHgwZTg5MzQxYyc7XzB4MTE2OTU4W18weDMxNTkwZCgnMHg4YjcnKV0oeyd0eXBlJzpfMHgxNzcwMGYsJ2NvbnRlbnQnOl8weGNiYzA5ZX0pO2NvbnN0IF8weDI3YzMyYT10aGlzW18weDMxNTkwZCgnMHg2NzAnKV18fCh5aWVsZCB0aGlzW18weDMxNTkwZCgnMHgzZGYnKV0oKSksXzB4ZWYyZTczPShfMHgyYmNjZGVbMHgyXXx8JycpW18weDMxNTkwZCgnMHg5OTQnKV0oJy8nKTtpZigweDIhPT1fMHhlZjJlNzNbXzB4MzE1OTBkKCcweDUyMCcpXSlyZXR1cm4gbnVsbDtjb25zdCBfMHhhZWYyOTU9eWllbGQgdGhpc1tfMHgzMTU5MGQoJzB4ZDMyJyldW18weDMxNTkwZCgnMHg2YTgnKV1bXzB4MzE1OTBkKCcweDFkMScpXShfMHhlZjJlNzNbMHgwXSksXzB4NDY3M2JhPSgweDAsXzB4ZjBlZTM1WydoZXhaZXJvUGFkJ10pKF8weDU1ZmExZlsnTyQnXVsnZnJvbSddKF8weGVmMmU3M1sweDFdKVtfMHgzMTU5MGQoJzB4NmMxJyldKCksMHgyMCk7aWYoXzB4MzE1OTBkKCcweGEzMicpPT09XzB4MTc3MDBmKXtjb25zdCBfMHg1M2UwMDM9dGhpc1sncHJvdmlkZXInXVsnZm9ybWF0dGVyJ11bXzB4MzE1OTBkKCcweDQ4OCcpXSh5aWVsZCB0aGlzW18weDMxNTkwZCgnMHhkMzInKV1bXzB4MzE1OTBkKCcweDVmZCcpXSh7J3RvJzpfMHhhZWYyOTUsJ2RhdGEnOigweDAsXzB4ZjBlZTM1W18weDMxNTkwZCgnMHg3Y2UnKV0pKFsnMHg2MzUyMjExZScsXzB4NDY3M2JhXSl9KSk7aWYoXzB4MjdjMzJhIT09XzB4NTNlMDAzKXJldHVybiBudWxsO18weDExNjk1OFsncHVzaCddKHsndHlwZSc6XzB4MzE1OTBkKCcweDRlMScpLCdjb250ZW50JzpfMHg1M2UwMDN9KTt9ZWxzZXtpZihfMHgzMTU5MGQoJzB4MmJmJyk9PT1fMHgxNzcwMGYpe2NvbnN0IF8weDJmMTFiMT1fMHg1NWZhMWZbJ08kJ11bXzB4MzE1OTBkKCcweDI1MicpXSh5aWVsZCB0aGlzWydwcm92aWRlciddWydjYWxsJ10oeyd0byc6XzB4YWVmMjk1LCdkYXRhJzooMHgwLF8weGYwZWUzNVtfMHgzMTU5MGQoJzB4N2NlJyldKShbXzB4MzE1OTBkKCcweDYzYycpLCgweDAsXzB4ZjBlZTM1W18weDMxNTkwZCgnMHg0MjEnKV0pKF8weDI3YzMyYSwweDIwKSxfMHg0NjczYmFdKX0pKTtpZihfMHgyZjExYjFbJ2lzWmVybyddKCkpcmV0dXJuIG51bGw7XzB4MTE2OTU4W18weDMxNTkwZCgnMHg4YjcnKV0oeyd0eXBlJzonYmFsYW5jZScsJ2NvbnRlbnQnOl8weDJmMTFiMVtfMHgzMTU5MGQoJzB4NTQ3JyldKCl9KTt9fWNvbnN0IF8weDMzMTNmZj17J3RvJzp0aGlzW18weDMxNTkwZCgnMHhkMzInKV1bXzB4MzE1OTBkKCcweDZhOCcpXVsnYWRkcmVzcyddKF8weGVmMmU3M1sweDBdKSwnZGF0YSc6KDB4MCxfMHhmMGVlMzVbXzB4MzE1OTBkKCcweDdjZScpXSkoW18weDI3NTc2NyxfMHg0NjczYmFdKX07bGV0IF8weDI2ODNmZT1fMHgzOGIxZjEoeWllbGQgdGhpc1tfMHgzMTU5MGQoJzB4ZDMyJyldW18weDMxNTkwZCgnMHg1ZmQnKV0oXzB4MzMxM2ZmKSwweDApO2lmKG51bGw9PV8weDI2ODNmZSlyZXR1cm4gbnVsbDtfMHgxMTY5NThbJ3B1c2gnXSh7J3R5cGUnOidtZXRhZGF0YS11cmwtYmFzZScsJ2NvbnRlbnQnOl8weDI2ODNmZX0pLF8weDMxNTkwZCgnMHgyYmYnKT09PV8weDE3NzAwZiYmKF8weDI2ODNmZT1fMHgyNjgzZmVbXzB4MzE1OTBkKCcweDM2YycpXShfMHgzMTU5MGQoJzB4MjVhJyksXzB4NDY3M2JhW18weDMxNTkwZCgnMHg3M2QnKV0oMHgyKSksXzB4MTE2OTU4W18weDMxNTkwZCgnMHg4YjcnKV0oeyd0eXBlJzpfMHgzMTU5MGQoJzB4NGI2JyksJ2NvbnRlbnQnOl8weDI2ODNmZX0pKSxfMHgyNjgzZmVbXzB4MzE1OTBkKCcweDQyNScpXSgvXmlwZnM6L2kpJiYoXzB4MjY4M2ZlPV8weDEwZGM5NihfMHgyNjgzZmUpKSxfMHgxMTY5NThbJ3B1c2gnXSh7J3R5cGUnOl8weDMxNTkwZCgnMHhhODgnKSwnY29udGVudCc6XzB4MjY4M2ZlfSk7Y29uc3QgXzB4MjM3NGFjPXlpZWxkKDB4MCxfMHgyM2U2YThbXzB4MzE1OTBkKCcweDMyOCcpXSkoXzB4MjY4M2ZlKTtpZighXzB4MjM3NGFjKXJldHVybiBudWxsO18weDExNjk1OFtfMHgzMTU5MGQoJzB4OGI3JyldKHsndHlwZSc6XzB4MzE1OTBkKCcweDY1MicpLCdjb250ZW50JzpKU09OW18weDMxNTkwZCgnMHgzMWYnKV0oXzB4MjM3NGFjKX0pO2xldCBfMHgyYjE3M2U9XzB4MjM3NGFjW18weDMxNTkwZCgnMHhiYWYnKV07aWYoJ3N0cmluZychPXR5cGVvZiBfMHgyYjE3M2UpcmV0dXJuIG51bGw7aWYoXzB4MmIxNzNlW18weDMxNTkwZCgnMHg0MjUnKV0oL14oaHR0cHM6XC9cL3xkYXRhOikvaSkpO2Vsc2V7aWYobnVsbD09XzB4MmIxNzNlW18weDMxNTkwZCgnMHg0MjUnKV0oXzB4NGYyMjgzKSlyZXR1cm4gbnVsbDtfMHgxMTY5NThbJ3B1c2gnXSh7J3R5cGUnOl8weDMxNTkwZCgnMHg0YWMnKSwnY29udGVudCc6XzB4MmIxNzNlfSksXzB4MmIxNzNlPV8weDEwZGM5NihfMHgyYjE3M2UpO31yZXR1cm4gXzB4MTE2OTU4WydwdXNoJ10oeyd0eXBlJzpfMHgzMTU5MGQoJzB4OWVjJyksJ2NvbnRlbnQnOl8weDJiMTczZX0pLHsnbGlua2FnZSc6XzB4MTE2OTU4LCd1cmwnOl8weDJiMTczZX07fX19fWNhdGNoKF8weDMwOTBiZCl7fXJldHVybiBudWxsO30pO31bXzB4MmU1MjAxKCcweDU1ZScpXSgpe3JldHVybiBfMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4MmZhODZhPV8weDE1YTM7Y29uc3QgXzB4NGRjMTBiPXlpZWxkIHRoaXNbXzB4MmZhODZhKCcweGNiMicpXSgnMHhiYzFjNThkMScpO2lmKG51bGw9PV8weDRkYzEwYnx8JzB4Jz09PV8weDRkYzEwYilyZXR1cm4gbnVsbDtjb25zdCBfMHg0ZWNhMT1fMHg0ZGMxMGJbXzB4MmZhODZhKCcweDQyNScpXSgvXjB4ZTMwMTAxNzAoKFswLTlhLWZdWzAtOWEtZl0pKFswLTlhLWZdWzAtOWEtZl0pKFswLTlhLWZdKikpJC8pO2lmKF8weDRlY2ExKXtjb25zdCBfMHgzMTY0NmE9cGFyc2VJbnQoXzB4NGVjYTFbMHgzXSwweDEwKTtpZihfMHg0ZWNhMVsweDRdW18weDJmYTg2YSgnMHg1MjAnKV09PT0weDIqXzB4MzE2NDZhKXJldHVybiBfMHgyZmE4NmEoJzB4YzA3JykrXzB4ZjJiZmY3W18weDJmYTg2YSgnMHhjOTEnKV1bXzB4MmZhODZhKCcweGE1MScpXSgnMHgnK18weDRlY2ExWzB4MV0pO31jb25zdCBfMHgxYTMzMGQ9XzB4NGRjMTBiW18weDJmYTg2YSgnMHg0MjUnKV0oL14weGU1MDEwMTcyKChbMC05YS1mXVswLTlhLWZdKShbMC05YS1mXVswLTlhLWZdKShbMC05YS1mXSopKSQvKTtpZihfMHgxYTMzMGQpe2NvbnN0IF8weDM5MjkyMT1wYXJzZUludChfMHgxYTMzMGRbMHgzXSwweDEwKTtpZihfMHgxYTMzMGRbMHg0XVtfMHgyZmE4NmEoJzB4NTIwJyldPT09MHgyKl8weDM5MjkyMSlyZXR1cm4naXBuczovLycrXzB4ZjJiZmY3W18weDJmYTg2YSgnMHhjOTEnKV1bXzB4MmZhODZhKCcweGE1MScpXSgnMHgnK18weDFhMzMwZFsweDFdKTt9Y29uc3QgXzB4NGRmYjg4PV8weDRkYzEwYltfMHgyZmE4NmEoJzB4NDI1JyldKC9eMHhlNDAxMDFmYTAxMWIyMChbMC05YS1mXSopJC8pO2lmKF8weDRkZmI4OCYmMHg0MD09PV8weDRkZmI4OFsweDFdW18weDJmYTg2YSgnMHg1MjAnKV0pcmV0dXJuJ2J6ejovLycrXzB4NGRmYjg4WzB4MV07Y29uc3QgXzB4YTJmZDliPV8weDRkYzEwYltfMHgyZmE4NmEoJzB4NDI1JyldKC9eMHg5MGIyYzYwNShbMC05YS1mXSopJC8pO2lmKF8weGEyZmQ5YiYmMHg0ND09PV8weGEyZmQ5YlsweDFdW18weDJmYTg2YSgnMHg1MjAnKV0pe2NvbnN0IF8weDUxOWY1NT17Jz0nOicnLCcrJzonLScsJy8nOidfJ307cmV0dXJuJ3NpYTovLycrKDB4MCxfMHgxN2U1NzBbJ2MnXSkoJzB4JytfMHhhMmZkOWJbMHgxXSlbJ3JlcGxhY2UnXSgvWz0rXC9dL2csXzB4NGE2OWI3PT5fMHg1MTlmNTVbXzB4NGE2OWI3XSk7fXJldHVybiBfMHgzM2ZjNGJbJ3Rocm93RXJyb3InXShfMHgyZmE4NmEoJzB4NDg5JyksXzB4MWRkMDM4WydMb2dnZXInXVtfMHgyZmE4NmEoJzB4OTQ5JyldW18weDJmYTg2YSgnMHg2MzMnKV0seydvcGVyYXRpb24nOl8weDJmYTg2YSgnMHgxZGUnKSwnZGF0YSc6XzB4NGRjMTBifSk7fSk7fVtfMHgyZTUyMDEoJzB4YjlmJyldKF8weDU0OTZiNil7cmV0dXJuIF8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHgzZWFkN2U9XzB4MTVhMztsZXQgXzB4NWU2MDU1PSgweDAsXzB4MWI5OGU1WydZMCddKShfMHg1NDk2YjYpO18weDVlNjA1NT0oMHgwLF8weGYwZWUzNVtfMHgzZWFkN2UoJzB4NTMwJyldKShbXzB4MjI2OGIwKDB4NDApLF8weDIyNjhiMChfMHg1ZTYwNTVbXzB4M2VhZDdlKCcweDUyMCcpXSksXzB4NWU2MDU1XSksXzB4NWU2MDU1WydsZW5ndGgnXSUweDIwIT0weDAmJihfMHg1ZTYwNTU9KDB4MCxfMHhmMGVlMzVbJ2NvbmNhdCddKShbXzB4NWU2MDU1LCgweDAsXzB4ZjBlZTM1W18weDNlYWQ3ZSgnMHg0MjEnKV0pKCcweCcsMHgyMC1fMHg1NDk2YjZbXzB4M2VhZDdlKCcweDUyMCcpXSUweDIwKV0pKTtjb25zdCBfMHg0MDg1Y2Y9eWllbGQgdGhpc1snX2ZldGNoQnl0ZXMnXShfMHgzZWFkN2UoJzB4NTE2JyksKDB4MCxfMHhmMGVlMzVbXzB4M2VhZDdlKCcweDM1NicpXSkoXzB4NWU2MDU1KSk7cmV0dXJuIG51bGw9PV8weDQwODVjZnx8JzB4Jz09PV8weDQwODVjZj9udWxsOigweDAsXzB4MWI5OGU1WydaTiddKShfMHg0MDg1Y2YpO30pO319bGV0IF8weDUxODI1ZD1udWxsLF8weDU2NWNiMT0weDE7Y2xhc3MgXzB4NTcyNDMyIGV4dGVuZHMgXzB4MmM0MDI1Wyd6dCdde2NvbnN0cnVjdG9yKF8weGUyZmQwNil7dmFyIF8weDQ0MzVhNz1fMHgyZTUyMDE7aWYoc3VwZXIoKSx0aGlzWydfZXZlbnRzJ109W10sdGhpc1tfMHg0NDM1YTcoJzB4NTA2JyldPXsnYmxvY2snOi0weDJ9LHRoaXNbXzB4NDQzNWE3KCcweDk2MicpXT0hMHgxLHRoaXNbXzB4NDQzNWE3KCcweDZhOCcpXT1uZXcudGFyZ2V0W18weDQ0MzVhNygnMHg2Y2UnKV0oKSwoMHgwLF8weDQ0OWZmM1snZGVmaW5lUmVhZE9ubHknXSkodGhpcywnYW55TmV0d29yaycsXzB4NDQzNWE3KCcweGFiMicpPT09XzB4ZTJmZDA2KSx0aGlzW18weDQ0MzVhNygnMHg1M2EnKV0mJihfMHhlMmZkMDY9dGhpc1tfMHg0NDM1YTcoJzB4YjU5JyldKCkpLF8weGUyZmQwNiBpbnN0YW5jZW9mIFByb21pc2UpdGhpc1snX25ldHdvcmtQcm9taXNlJ109XzB4ZTJmZDA2LF8weGUyZmQwNltfMHg0NDM1YTcoJzB4YmFhJyldKF8weDQ5NTBmYz0+e30pLHRoaXNbJ19yZWFkeSddKClbXzB4NDQzNWE3KCcweGJhYScpXShfMHgxNmY5Yjc9Pnt9KTtlbHNle2NvbnN0IF8weDVkNzQ4Zj0oMHgwLF8weDQ0OWZmM1tfMHg0NDM1YTcoJzB4NGY1JyldKShuZXcudGFyZ2V0LF8weDQ0MzVhNygnMHhiYzAnKSkoXzB4ZTJmZDA2KTtfMHg1ZDc0OGY/KCgweDAsXzB4NDQ5ZmYzW18weDQ0MzVhNygnMHhjZTknKV0pKHRoaXMsXzB4NDQzNWE3KCcweDdlNycpLF8weDVkNzQ4ZiksdGhpc1tfMHg0NDM1YTcoJzB4YmEwJyldKF8weDQ0MzVhNygnMHgyNGYnKSxfMHg1ZDc0OGYsbnVsbCkpOl8weDMzZmM0YltfMHg0NDM1YTcoJzB4NjM1JyldKF8weDQ0MzVhNygnMHg3MmUnKSxfMHg0NDM1YTcoJzB4MjRmJyksXzB4ZTJmZDA2KTt9dGhpc1tfMHg0NDM1YTcoJzB4YzdmJyldPS0weDQwMCx0aGlzW18weDQ0MzVhNygnMHhjMTEnKV09LTB4Mix0aGlzW18weDQ0MzVhNygnMHhiMmMnKV09MHhhLHRoaXNbJ19wb2xsaW5nSW50ZXJ2YWwnXT0weGZhMCx0aGlzWydfZmFzdFF1ZXJ5RGF0ZSddPTB4MDt9W18weDJlNTIwMSgnMHgzMTInKV0oKXtyZXR1cm4gXzB4MWM1YWNiKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDE3Y2M1OT1fMHgxNWEzO2lmKG51bGw9PXRoaXNbJ19uZXR3b3JrJ10pe2xldCBfMHg0YTQ0MmE9bnVsbDtpZih0aGlzW18weDE3Y2M1OSgnMHg5YTYnKV0pdHJ5e18weDRhNDQyYT15aWVsZCB0aGlzW18weDE3Y2M1OSgnMHg5YTYnKV07fWNhdGNoKF8weDFjNTBiMCl7fW51bGw9PV8weDRhNDQyYSYmKF8weDRhNDQyYT15aWVsZCB0aGlzWydkZXRlY3ROZXR3b3JrJ10oKSksXzB4NGE0NDJhfHxfMHgzM2ZjNGJbXzB4MTdjYzU5KCcweDFkMCcpXShfMHgxN2NjNTkoJzB4NGRkJyksXzB4MWRkMDM4WydMb2dnZXInXVtfMHgxN2NjNTkoJzB4OTQ5JyldWydVTktOT1dOX0VSUk9SJ10se30pLG51bGw9PXRoaXNbXzB4MTdjYzU5KCcweDdlNycpXSYmKHRoaXNbXzB4MTdjYzU5KCcweDUzYScpXT90aGlzW18weDE3Y2M1OSgnMHg3ZTcnKV09XzB4NGE0NDJhOigweDAsXzB4NDQ5ZmYzW18weDE3Y2M1OSgnMHhjZTknKV0pKHRoaXMsJ19uZXR3b3JrJyxfMHg0YTQ0MmEpLHRoaXNbXzB4MTdjYzU5KCcweGJhMCcpXShfMHgxN2NjNTkoJzB4MjRmJyksXzB4NGE0NDJhLG51bGwpKTt9cmV0dXJuIHRoaXNbXzB4MTdjYzU5KCcweDdlNycpXTt9KTt9Z2V0W18weDJlNTIwMSgnMHg1ZWQnKV0oKXt2YXIgXzB4MzM0NTUxPV8weDJlNTIwMTtyZXR1cm4oMHgwLF8weDIzZTZhOFsncG9sbCddKSgoKT0+dGhpc1tfMHgzMzQ1NTEoJzB4MzEyJyldKClbXzB4MzM0NTUxKCcweGQzNCcpXShfMHgyZWNkZmM9Pl8weDJlY2RmYyxfMHhlNmFiYzg9Pnt2YXIgXzB4NWNmYmUwPV8weDMzNDU1MTtpZihfMHhlNmFiYzhbJ2NvZGUnXSE9PV8weDFkZDAzOFtfMHg1Y2ZiZTAoJzB4Y2U3JyldW18weDVjZmJlMCgnMHg5NDknKV1bXzB4NWNmYmUwKCcweDkzMycpXXx8XzB4NWNmYmUwKCcweDc0OScpIT09XzB4ZTZhYmM4W18weDVjZmJlMCgnMHg2NmUnKV0pdGhyb3cgXzB4ZTZhYmM4O30pKTt9c3RhdGljW18weDJlNTIwMSgnMHg2Y2UnKV0oKXtyZXR1cm4gbnVsbD09XzB4NTE4MjVkJiYoXzB4NTE4MjVkPW5ldyBfMHgxMjc5YTVbJ01iJ10oKSksXzB4NTE4MjVkO31zdGF0aWNbXzB4MmU1MjAxKCcweGJjMCcpXShfMHg0NzVhY2Mpe3ZhciBfMHgzNjFjZGE9XzB4MmU1MjAxO3JldHVybigweDAsXzB4NTBkMDgyWydIJ10pKG51bGw9PV8weDQ3NWFjYz9fMHgzNjFjZGEoJzB4NjBmJyk6XzB4NDc1YWNjKTt9W18weDJlNTIwMSgnMHg5ZmEnKV0oXzB4MjBiOWUyLF8weDQ5N2ZhMCxfMHg1Y2U3NDYpe3JldHVybiBfMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4MzRlZWQ1PV8weDE1YTM7aWYodGhpc1tfMHgzNGVlZDUoJzB4OTYyJyldfHwweDA9PT1fMHg1Y2U3NDZbXzB4MzRlZWQ1KCcweDUyMCcpXSlyZXR1cm4gbnVsbDtjb25zdCBfMHgzNjM5ZWQ9XzB4MjBiOWUyWyd0byddW18weDM0ZWVkNSgnMHg4NzAnKV0oKSxfMHgxMGMyMmM9XzB4NDk3ZmEwW18weDM0ZWVkNSgnMHg4NzAnKV0oKSxfMHgzZGM0Yzg9W107Zm9yKGxldCBfMHgzYzQ5Y2E9MHgwO18weDNjNDljYTxfMHg1Y2U3NDZbJ2xlbmd0aCddO18weDNjNDljYSsrKXtjb25zdCBfMHgxNWU4ZWI9XzB4NWNlNzQ2W18weDNjNDljYV0sXzB4MmUyMzM4PV8weDE1ZThlYlsncmVwbGFjZSddKCd7c2VuZGVyfScsXzB4MzYzOWVkKVtfMHgzNGVlZDUoJzB4MzZjJyldKF8weDM0ZWVkNSgnMHg5NmUnKSxfMHgxMGMyMmMpLF8weDMyZWQwMD1fMHgxNWU4ZWJbXzB4MzRlZWQ1KCcweGFjMCcpXShfMHgzNGVlZDUoJzB4OTZlJykpPj0weDA/bnVsbDpKU09OWydzdHJpbmdpZnknXSh7J2RhdGEnOl8weDEwYzIyYywnc2VuZGVyJzpfMHgzNjM5ZWR9KSxfMHgzMTczMDQ9eWllbGQoMHgwLF8weDIzZTZhOFsnZmV0Y2hKc29uJ10pKHsndXJsJzpfMHgyZTIzMzgsJ2Vycm9yUGFzc1Rocm91Z2gnOiEweDB9LF8weDMyZWQwMCwoXzB4NGUxZWJmLF8weDUzNjBlNik9PihfMHg0ZTFlYmZbJ3N0YXR1cyddPV8weDUzNjBlNlsnc3RhdHVzQ29kZSddLF8weDRlMWViZikpO2lmKF8weDMxNzMwNFtfMHgzNGVlZDUoJzB4YTU4JyldKXJldHVybiBfMHgzMTczMDRbXzB4MzRlZWQ1KCcweGE1OCcpXTtjb25zdCBfMHg1ZDBjYjQ9XzB4MzE3MzA0W18weDM0ZWVkNSgnMHg4M2InKV18fF8weDM0ZWVkNSgnMHg2MjcnKTtpZihfMHgzMTczMDRbXzB4MzRlZWQ1KCcweGIzZCcpXT49MHgxOTAmJl8weDMxNzMwNFsnc3RhdHVzJ108MHgxZjQpcmV0dXJuIF8weDMzZmM0YltfMHgzNGVlZDUoJzB4MWQwJyldKCdyZXNwb25zZVx4MjBub3RceDIwZm91bmRceDIwZHVyaW5nXHgyMENDSVBceDIwZmV0Y2g6XHgyMCcrXzB4NWQwY2I0LF8weDFkZDAzOFsnTG9nZ2VyJ11bXzB4MzRlZWQ1KCcweDk0OScpXVtfMHgzNGVlZDUoJzB4NzM5JyldLHsndXJsJzpfMHgxNWU4ZWIsJ2Vycm9yTWVzc2FnZSc6XzB4NWQwY2I0fSk7XzB4M2RjNGM4W18weDM0ZWVkNSgnMHg4YjcnKV0oXzB4NWQwY2I0KTt9cmV0dXJuIF8weDMzZmM0YltfMHgzNGVlZDUoJzB4MWQwJyldKF8weDM0ZWVkNSgnMHgzMWInKStfMHgzZGM0YzhbXzB4MzRlZWQ1KCcweDNjOScpXShfMHg0NTYxODg9PkpTT05bXzB4MzRlZWQ1KCcweDMxZicpXShfMHg0NTYxODgpKVtfMHgzNGVlZDUoJzB4YWE3JyldKCcsXHgyMCcpLF8weDFkZDAzOFtfMHgzNGVlZDUoJzB4Y2U3JyldW18weDM0ZWVkNSgnMHg5NDknKV1bJ1NFUlZFUl9FUlJPUiddLHsndXJscyc6XzB4NWNlNzQ2LCdlcnJvck1lc3NhZ2VzJzpfMHgzZGM0Yzh9KTt9KTt9W18weDJlNTIwMSgnMHg1ZjgnKV0oXzB4NTY1NWZkKXtyZXR1cm4gXzB4MWM1YWNiKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDNmNjg5ZD1fMHgxNWEzO2lmKHlpZWxkIHRoaXNbXzB4M2Y2ODlkKCcweDMxMicpXSgpLF8weDU2NTVmZD4weDApZm9yKDt0aGlzWydfaW50ZXJuYWxCbG9ja051bWJlciddOyl7Y29uc3QgXzB4MWFiNWJkPXRoaXNbXzB4M2Y2ODlkKCcweDdiNScpXTt0cnl7Y29uc3QgXzB4MjcwYTYxPXlpZWxkIF8weDFhYjViZDtpZihfMHgxMGJkN2YoKS1fMHgyNzBhNjFbJ3Jlc3BUaW1lJ108PV8weDU2NTVmZClyZXR1cm4gXzB4MjcwYTYxWydibG9ja051bWJlciddO2JyZWFrO31jYXRjaChfMHg1ZTVmNjEpe2lmKHRoaXNbXzB4M2Y2ODlkKCcweDdiNScpXT09PV8weDFhYjViZClicmVhazt9fWNvbnN0IF8weDMwZjdjMz1fMHgxMGJkN2YoKSxfMHg0YzJjNGY9KDB4MCxfMHg0NDlmZjNbJ3Jlc29sdmVQcm9wZXJ0aWVzJ10pKHsnYmxvY2tOdW1iZXInOnRoaXNbXzB4M2Y2ODlkKCcweDU4YycpXSgnZ2V0QmxvY2tOdW1iZXInLHt9KSwnbmV0d29ya0Vycm9yJzp0aGlzWydnZXROZXR3b3JrJ10oKVtfMHgzZjY4OWQoJzB4ZDM0JyldKF8weDU4NWRkNj0+bnVsbCxfMHgxODRlYjI9Pl8weDE4NGViMil9KVsndGhlbiddKCh7YmxvY2tOdW1iZXI6XzB4NTAyOWRlLG5ldHdvcmtFcnJvcjpfMHg1Y2FmMzZ9KT0+e3ZhciBfMHgzYTJkNGI9XzB4M2Y2ODlkO2lmKF8weDVjYWYzNil0aHJvdyB0aGlzWydfaW50ZXJuYWxCbG9ja051bWJlciddPT09XzB4NGMyYzRmJiYodGhpc1tfMHgzYTJkNGIoJzB4N2I1JyldPW51bGwpLF8weDVjYWYzNjtjb25zdCBfMHgxYWJiNGM9XzB4MTBiZDdmKCk7cmV0dXJuKF8weDUwMjlkZT1fMHg1NWZhMWZbJ08kJ11bXzB4M2EyZDRiKCcweDI1MicpXShfMHg1MDI5ZGUpW18weDNhMmQ0YignMHg5NDEnKV0oKSk8dGhpc1tfMHgzYTJkNGIoJzB4YzdmJyldJiYoXzB4NTAyOWRlPXRoaXNbXzB4M2EyZDRiKCcweGM3ZicpXSksdGhpc1tfMHgzYTJkNGIoJzB4YzdmJyldPV8weDUwMjlkZSx0aGlzWydfc2V0RmFzdEJsb2NrTnVtYmVyJ10oXzB4NTAyOWRlKSx7J2Jsb2NrTnVtYmVyJzpfMHg1MDI5ZGUsJ3JlcVRpbWUnOl8weDMwZjdjMywncmVzcFRpbWUnOl8weDFhYmI0Y307fSk7cmV0dXJuIHRoaXNbXzB4M2Y2ODlkKCcweDdiNScpXT1fMHg0YzJjNGYsXzB4NGMyYzRmW18weDNmNjg5ZCgnMHhiYWEnKV0oXzB4MTU2ZDcwPT57dmFyIF8weDQxMDY5YT1fMHgzZjY4OWQ7dGhpc1snX2ludGVybmFsQmxvY2tOdW1iZXInXT09PV8weDRjMmM0ZiYmKHRoaXNbXzB4NDEwNjlhKCcweDdiNScpXT1udWxsKTt9KSwoeWllbGQgXzB4NGMyYzRmKVtfMHgzZjY4OWQoJzB4MWE4JyldO30pO31bJ3BvbGwnXSgpe3JldHVybiBfMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4MzE1OWQ3PV8weDE1YTM7Y29uc3QgXzB4MTlmMTAxPV8weDU2NWNiMSsrLF8weDE0MWQ0OT1bXTtsZXQgXzB4ZmQ0ZDkxPW51bGw7dHJ5e18weGZkNGQ5MT15aWVsZCB0aGlzWydfZ2V0SW50ZXJuYWxCbG9ja051bWJlciddKDB4NjQrdGhpc1tfMHgzMTU5ZDcoJzB4N2EwJyldLzB4Mik7fWNhdGNoKF8weDYwYzhlOSl7cmV0dXJuIHZvaWQgdGhpc1tfMHgzMTU5ZDcoJzB4YmEwJyldKCdlcnJvcicsXzB4NjBjOGU5KTt9aWYodGhpc1snX3NldEZhc3RCbG9ja051bWJlciddKF8weGZkNGQ5MSksdGhpc1tfMHgzMTU5ZDcoJzB4YmEwJyldKF8weDMxNTlkNygnMHhjZDEnKSxfMHgxOWYxMDEsXzB4ZmQ0ZDkxKSxfMHhmZDRkOTEhPT10aGlzW18weDMxNTlkNygnMHhjMTEnKV0pe2lmKC0weDI9PT10aGlzW18weDMxNTlkNygnMHg1MDYnKV1bJ2Jsb2NrJ10mJih0aGlzW18weDMxNTlkNygnMHg1MDYnKV1bXzB4MzE1OWQ3KCcweDdhOScpXT1fMHhmZDRkOTEtMHgxKSxNYXRoW18weDMxNTlkNygnMHg1NDgnKV0odGhpc1tfMHgzMTU5ZDcoJzB4NTA2JyldWydibG9jayddLV8weGZkNGQ5MSk+MHgzZTgpXzB4MzNmYzRiW18weDMxNTlkNygnMHg1ZDQnKV0oJ25ldHdvcmtceDIwYmxvY2tceDIwc2tld1x4MjBkZXRlY3RlZDtceDIwc2tpcHBpbmdceDIwYmxvY2tceDIwZXZlbnRzXHgyMChlbWl0dGVkPScrdGhpc1tfMHgzMTU5ZDcoJzB4NTA2JyldWydibG9jayddKydceDIwYmxvY2tOdW1iZXInK18weGZkNGQ5MSsnKScpLHRoaXNbXzB4MzE1OWQ3KCcweGJhMCcpXShfMHgzMTU5ZDcoJzB4YzllJyksXzB4MzNmYzRiW18weDMxNTlkNygnMHg4NjcnKV0oXzB4MzE1OWQ3KCcweDc2NicpLF8weDFkZDAzOFtfMHgzMTU5ZDcoJzB4Y2U3JyldW18weDMxNTlkNygnMHg5NDknKV1bJ05FVFdPUktfRVJST1InXSx7J2Jsb2NrTnVtYmVyJzpfMHhmZDRkOTEsJ2V2ZW50JzpfMHgzMTU5ZDcoJzB4NWYyJyksJ3ByZXZpb3VzQmxvY2tOdW1iZXInOnRoaXNbXzB4MzE1OWQ3KCcweDUwNicpXVsnYmxvY2snXX0pKSx0aGlzW18weDMxNTlkNygnMHhiYTAnKV0oXzB4MzE1OWQ3KCcweDdhOScpLF8weGZkNGQ5MSk7ZWxzZXtmb3IobGV0IF8weDU2MmJjYz10aGlzW18weDMxNTlkNygnMHg1MDYnKV1bJ2Jsb2NrJ10rMHgxO18weDU2MmJjYzw9XzB4ZmQ0ZDkxO18weDU2MmJjYysrKXRoaXNbXzB4MzE1OWQ3KCcweGJhMCcpXSgnYmxvY2snLF8weDU2MmJjYyk7fXRoaXNbXzB4MzE1OWQ3KCcweDUwNicpXVtfMHgzMTU5ZDcoJzB4N2E5JyldIT09XzB4ZmQ0ZDkxJiYodGhpc1tfMHgzMTU5ZDcoJzB4NTA2JyldW18weDMxNTlkNygnMHg3YTknKV09XzB4ZmQ0ZDkxLE9iamVjdFtfMHgzMTU5ZDcoJzB4NjM2JyldKHRoaXNbXzB4MzE1OWQ3KCcweDUwNicpXSlbXzB4MzE1OWQ3KCcweDUxZScpXShfMHg0NWRiMzQ9Pnt2YXIgXzB4MjZmMDJiPV8weDMxNTlkNztpZignYmxvY2snPT09XzB4NDVkYjM0KXJldHVybjtjb25zdCBfMHgxZmEzNmU9dGhpc1tfMHgyNmYwMmIoJzB4NTA2JyldW18weDQ1ZGIzNF07XzB4MjZmMDJiKCcweDlhMicpIT09XzB4MWZhMzZlJiZfMHhmZDRkOTEtXzB4MWZhMzZlPjB4YyYmZGVsZXRlIHRoaXNbXzB4MjZmMDJiKCcweDUwNicpXVtfMHg0NWRiMzRdO30pKSwtMHgyPT09dGhpc1snX2xhc3RCbG9ja051bWJlciddJiYodGhpc1snX2xhc3RCbG9ja051bWJlciddPV8weGZkNGQ5MS0weDEpLHRoaXNbXzB4MzE1OWQ3KCcweGJkMCcpXVtfMHgzMTU5ZDcoJzB4NTFlJyldKF8weGRlZDY5YT0+e3ZhciBfMHgyMDFlZGY9XzB4MzE1OWQ3O3N3aXRjaChfMHhkZWQ2OWFbJ3R5cGUnXSl7Y2FzZSd0eCc6e2NvbnN0IF8weDI5NzM3Mz1fMHhkZWQ2OWFbXzB4MjAxZWRmKCcweDJlNCcpXTtsZXQgXzB4MjNjYzQ3PXRoaXNbXzB4MjAxZWRmKCcweDM5MCcpXShfMHgyOTczNzMpW18weDIwMWVkZignMHhkMzQnKV0oXzB4MjRjNzBlPT5fMHgyNGM3MGUmJm51bGwhPV8weDI0YzcwZVtfMHgyMDFlZGYoJzB4MWE4JyldPyh0aGlzWydfZW1pdHRlZCddWyd0OicrXzB4Mjk3MzczXT1fMHgyNGM3MGVbXzB4MjAxZWRmKCcweDFhOCcpXSx0aGlzW18weDIwMWVkZignMHhiYTAnKV0oXzB4Mjk3MzczLF8weDI0YzcwZSksbnVsbCk6bnVsbClbXzB4MjAxZWRmKCcweGJhYScpXShfMHgzZWY5MGI9Pnt2YXIgXzB4NGFlMTdkPV8weDIwMWVkZjt0aGlzW18weDRhZTE3ZCgnMHhiYTAnKV0oJ2Vycm9yJyxfMHgzZWY5MGIpO30pO18weDE0MWQ0OVsncHVzaCddKF8weDIzY2M0Nyk7YnJlYWs7fWNhc2UgXzB4MjAxZWRmKCcweDNhYicpOmlmKCFfMHhkZWQ2OWFbJ19pbmZsaWdodCddKXtfMHhkZWQ2OWFbXzB4MjAxZWRmKCcweDM5NycpXT0hMHgwLC0weDI9PT1fMHhkZWQ2OWFbJ19sYXN0QmxvY2tOdW1iZXInXSYmKF8weGRlZDY5YVsnX2xhc3RCbG9ja051bWJlciddPV8weGZkNGQ5MS0weDEpO2NvbnN0IF8weDUxYmQxMz1fMHhkZWQ2OWFbXzB4MjAxZWRmKCcweDNhYicpXTtfMHg1MWJkMTNbXzB4MjAxZWRmKCcweGE2MicpXT1fMHhkZWQ2OWFbXzB4MjAxZWRmKCcweGMxMScpXSsweDEsXzB4NTFiZDEzW18weDIwMWVkZignMHg2NTEnKV09XzB4ZmQ0ZDkxO2NvbnN0IF8weDM0ODIzMj1fMHg1MWJkMTNbXzB4MjAxZWRmKCcweDY1MScpXS10aGlzW18weDIwMWVkZignMHhiMmMnKV07XzB4MzQ4MjMyPl8weDUxYmQxM1tfMHgyMDFlZGYoJzB4YTYyJyldJiYoXzB4NTFiZDEzW18weDIwMWVkZignMHhhNjInKV09XzB4MzQ4MjMyKSxfMHg1MWJkMTNbXzB4MjAxZWRmKCcweGE2MicpXTwweDAmJihfMHg1MWJkMTNbJ2Zyb21CbG9jayddPTB4MCk7Y29uc3QgXzB4MjhlOTJhPXRoaXNbXzB4MjAxZWRmKCcweGM5ZicpXShfMHg1MWJkMTMpW18weDIwMWVkZignMHhkMzQnKV0oXzB4MTgxN2UwPT57dmFyIF8weDM2MWZlZT1fMHgyMDFlZGY7XzB4ZGVkNjlhW18weDM2MWZlZSgnMHgzOTcnKV09ITB4MSwweDAhPT1fMHgxODE3ZTBbXzB4MzYxZmVlKCcweDUyMCcpXSYmXzB4MTgxN2UwW18weDM2MWZlZSgnMHg1MWUnKV0oXzB4NDE3MmQzPT57dmFyIF8weDVlZjIzND1fMHgzNjFmZWU7XzB4NDE3MmQzWydibG9ja051bWJlciddPl8weGRlZDY5YVtfMHg1ZWYyMzQoJzB4YzExJyldJiYoXzB4ZGVkNjlhW18weDVlZjIzNCgnMHhjMTEnKV09XzB4NDE3MmQzW18weDVlZjIzNCgnMHgxYTgnKV0pLHRoaXNbXzB4NWVmMjM0KCcweDUwNicpXVsnYjonK18weDQxNzJkM1tfMHg1ZWYyMzQoJzB4YThmJyldXT1fMHg0MTcyZDNbXzB4NWVmMjM0KCcweDFhOCcpXSx0aGlzW18weDVlZjIzNCgnMHg1MDYnKV1bJ3Q6JytfMHg0MTcyZDNbXzB4NWVmMjM0KCcweGQ0OCcpXV09XzB4NDE3MmQzWydibG9ja051bWJlciddLHRoaXNbJ2VtaXQnXShfMHg1MWJkMTMsXzB4NDE3MmQzKTt9KTt9KVtfMHgyMDFlZGYoJzB4YmFhJyldKF8weDNlYzQ2MT0+e3ZhciBfMHg1YjdlN2E9XzB4MjAxZWRmO3RoaXNbXzB4NWI3ZTdhKCcweGJhMCcpXShfMHg1YjdlN2EoJzB4YzllJyksXzB4M2VjNDYxKSxfMHhkZWQ2OWFbXzB4NWI3ZTdhKCcweDM5NycpXT0hMHgxO30pO18weDE0MWQ0OVtfMHgyMDFlZGYoJzB4OGI3JyldKF8weDI4ZTkyYSk7fX19KSx0aGlzW18weDMxNTlkNygnMHhjMTEnKV09XzB4ZmQ0ZDkxLFByb21pc2VbXzB4MzE1OWQ3KCcweDQwNScpXShfMHgxNDFkNDkpW18weDMxNTlkNygnMHhkMzQnKV0oKCk9Pnt2YXIgXzB4Mjk1N2M4PV8weDMxNTlkNzt0aGlzW18weDI5NTdjOCgnMHhiYTAnKV0oXzB4Mjk1N2M4KCcweDY4YicpLF8weDE5ZjEwMSk7fSlbJ2NhdGNoJ10oXzB4NGI1NzRhPT57dmFyIF8weDU5ZjgwZj1fMHgzMTU5ZDc7dGhpc1tfMHg1OWY4MGYoJzB4YmEwJyldKF8weDU5ZjgwZignMHhjOWUnKSxfMHg0YjU3NGEpO30pO31lbHNlIHRoaXNbXzB4MzE1OWQ3KCcweGJhMCcpXShfMHgzMTU5ZDcoJzB4NjhiJyksXzB4MTlmMTAxKTt9KTt9W18weDJlNTIwMSgnMHhjYTknKV0oXzB4MmFlYWE3KXt2YXIgXzB4MmI0MzBhPV8weDJlNTIwMTt0aGlzW18weDJiNDMwYSgnMHhjMTEnKV09XzB4MmFlYWE3LTB4MSx0aGlzW18weDJiNDMwYSgnMHg0YWYnKV0mJnRoaXNbJ3BvbGwnXSgpO31nZXRbXzB4MmU1MjAxKCcweDI0ZicpXSgpe3ZhciBfMHg4NGFhNmY9XzB4MmU1MjAxO3JldHVybiB0aGlzW18weDg0YWE2ZignMHg3ZTcnKV07fVtfMHgyZTUyMDEoJzB4YjU5JyldKCl7cmV0dXJuIF8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHg1M2RkYmU9XzB4MTVhMztyZXR1cm4gXzB4MzNmYzRiW18weDUzZGRiZSgnMHgxZDAnKV0oXzB4NTNkZGJlKCcweDVjZCcpLF8weDFkZDAzOFsnTG9nZ2VyJ11bXzB4NTNkZGJlKCcweDk0OScpXVsnVU5TVVBQT1JURURfT1BFUkFUSU9OJ10seydvcGVyYXRpb24nOidwcm92aWRlci5kZXRlY3ROZXR3b3JrJ30pO30pO31bXzB4MmU1MjAxKCcweGJjMCcpXSgpe3JldHVybiBfMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4NDFlYTM2PV8weDE1YTM7Y29uc3QgXzB4YjM0ZTA2PXlpZWxkIHRoaXNbXzB4NDFlYTM2KCcweDMxMicpXSgpLF8weDI0ZGM2ZD15aWVsZCB0aGlzW18weDQxZWEzNignMHhiNTknKV0oKTtpZihfMHhiMzRlMDZbXzB4NDFlYTM2KCcweDI2MicpXSE9PV8weDI0ZGM2ZFsnY2hhaW5JZCddKXtpZih0aGlzW18weDQxZWEzNignMHg1M2EnKV0pcmV0dXJuIHRoaXNbXzB4NDFlYTM2KCcweDdlNycpXT1fMHgyNGRjNmQsdGhpc1tfMHg0MWVhMzYoJzB4YzExJyldPS0weDIsdGhpc1tfMHg0MWVhMzYoJzB4Nzc1JyldPW51bGwsdGhpc1snX2Zhc3RCbG9ja051bWJlclByb21pc2UnXT1udWxsLHRoaXNbXzB4NDFlYTM2KCcweDY1YicpXT0weDAsdGhpc1tfMHg0MWVhMzYoJzB4NTA2JyldW18weDQxZWEzNignMHg3YTknKV09LTB4Mix0aGlzW18weDQxZWEzNignMHhjN2YnKV09LTB4NDAwLHRoaXNbXzB4NDFlYTM2KCcweDdiNScpXT1udWxsLHRoaXNbJ2VtaXQnXSgnbmV0d29yaycsXzB4MjRkYzZkLF8weGIzNGUwNikseWllbGQgXzB4NjU0MTZiKDB4MCksdGhpc1tfMHg0MWVhMzYoJzB4N2U3JyldO2NvbnN0IF8weDJhZWNhZj1fMHgzM2ZjNGJbXzB4NDFlYTM2KCcweDg2NycpXShfMHg0MWVhMzYoJzB4ODZiJyksXzB4MWRkMDM4W18weDQxZWEzNignMHhjZTcnKV1bXzB4NDFlYTM2KCcweDk0OScpXVsnTkVUV09SS19FUlJPUiddLHsnZXZlbnQnOl8weDQxZWEzNignMHg5ODAnKSwnbmV0d29yayc6XzB4YjM0ZTA2LCdkZXRlY3RlZE5ldHdvcmsnOl8weDI0ZGM2ZH0pO3Rocm93IHRoaXNbJ2VtaXQnXShfMHg0MWVhMzYoJzB4YzllJyksXzB4MmFlY2FmKSxfMHgyYWVjYWY7fXJldHVybiBfMHhiMzRlMDY7fSk7fWdldFsnYmxvY2tOdW1iZXInXSgpe3ZhciBfMHgyODNhNmI9XzB4MmU1MjAxO3JldHVybiB0aGlzW18weDI4M2E2YignMHg1ZjgnKV0oMHg2NCt0aGlzW18weDI4M2E2YignMHg3YTAnKV0vMHgyKVtfMHgyODNhNmIoJzB4ZDM0JyldKF8weDFmYTdhOD0+e3ZhciBfMHgxMDNlYTg9XzB4MjgzYTZiO3RoaXNbXzB4MTAzZWE4KCcweGQzMycpXShfMHgxZmE3YTgpO30sXzB4MTNlNGQzPT57fSksbnVsbCE9dGhpc1tfMHgyODNhNmIoJzB4Nzc1JyldP3RoaXNbXzB4MjgzYTZiKCcweDc3NScpXTotMHgxO31nZXRbXzB4MmU1MjAxKCcweDRhZicpXSgpe3JldHVybiBudWxsIT10aGlzWydfcG9sbGVyJ107fXNldFtfMHgyZTUyMDEoJzB4NGFmJyldKF8weDIxYjRiNyl7dmFyIF8weDJkYzNhNz1fMHgyZTUyMDE7XzB4MjFiNGI3JiYhdGhpc1tfMHgyZGMzYTcoJzB4Y2NlJyldPyh0aGlzW18weDJkYzNhNygnMHhjY2UnKV09c2V0SW50ZXJ2YWwoKCk9Pnt2YXIgXzB4MmNkOWNmPV8weDJkYzNhNzt0aGlzW18weDJjZDljZignMHhjZDEnKV0oKTt9LHRoaXNbJ3BvbGxpbmdJbnRlcnZhbCddKSx0aGlzWydfYm9vdHN0cmFwUG9sbCddfHwodGhpc1tfMHgyZGMzYTcoJzB4OWZiJyldPXNldFRpbWVvdXQoKCk9Pnt2YXIgXzB4NWRjOWEwPV8weDJkYzNhNzt0aGlzW18weDVkYzlhMCgnMHhjZDEnKV0oKSx0aGlzW18weDVkYzlhMCgnMHg5ZmInKV09c2V0VGltZW91dCgoKT0+e3ZhciBfMHgxNWI4Njc9XzB4NWRjOWEwO3RoaXNbJ19wb2xsZXInXXx8dGhpc1sncG9sbCddKCksdGhpc1tfMHgxNWI4NjcoJzB4OWZiJyldPW51bGw7fSx0aGlzW18weDVkYzlhMCgnMHg3YTAnKV0pO30sMHgwKSkpOiFfMHgyMWI0YjcmJnRoaXNbJ19wb2xsZXInXSYmKGNsZWFySW50ZXJ2YWwodGhpc1tfMHgyZGMzYTcoJzB4Y2NlJyldKSx0aGlzWydfcG9sbGVyJ109bnVsbCk7fWdldFsncG9sbGluZ0ludGVydmFsJ10oKXt2YXIgXzB4M2VlMWRkPV8weDJlNTIwMTtyZXR1cm4gdGhpc1tfMHgzZWUxZGQoJzB4YjIwJyldO31zZXRbXzB4MmU1MjAxKCcweDdhMCcpXShfMHg1MDAwOGEpe3ZhciBfMHgzYjNlZWI9XzB4MmU1MjAxO2lmKF8weDNiM2VlYignMHgyN2EnKSE9dHlwZW9mIF8weDUwMDA4YXx8XzB4NTAwMDhhPD0weDB8fHBhcnNlSW50KFN0cmluZyhfMHg1MDAwOGEpKSE9XzB4NTAwMDhhKXRocm93IG5ldyBFcnJvcihfMHgzYjNlZWIoJzB4OTRiJykpO3RoaXNbXzB4M2IzZWViKCcweGIyMCcpXT1fMHg1MDAwOGEsdGhpc1tfMHgzYjNlZWIoJzB4Y2NlJyldJiYoY2xlYXJJbnRlcnZhbCh0aGlzWydfcG9sbGVyJ10pLHRoaXNbXzB4M2IzZWViKCcweGNjZScpXT1zZXRJbnRlcnZhbCgoKT0+e3ZhciBfMHgzNzM5NTU9XzB4M2IzZWViO3RoaXNbXzB4MzczOTU1KCcweGNkMScpXSgpO30sdGhpc1snX3BvbGxpbmdJbnRlcnZhbCddKSk7fVtfMHgyZTUyMDEoJzB4ODg3JyldKCl7dmFyIF8weDQ0MWQ0ZT1fMHgyZTUyMDE7Y29uc3QgXzB4MTgxNmU4PV8weDEwYmQ3ZigpO3JldHVybiBfMHgxODE2ZTgtdGhpc1tfMHg0NDFkNGUoJzB4NjViJyldPjB4Mip0aGlzWydfcG9sbGluZ0ludGVydmFsJ10mJih0aGlzW18weDQ0MWQ0ZSgnMHg2NWInKV09XzB4MTgxNmU4LHRoaXNbJ19mYXN0QmxvY2tOdW1iZXJQcm9taXNlJ109dGhpc1snZ2V0QmxvY2tOdW1iZXInXSgpW18weDQ0MWQ0ZSgnMHhkMzQnKV0oXzB4NGNkMDJhPT4oKG51bGw9PXRoaXNbXzB4NDQxZDRlKCcweDc3NScpXXx8XzB4NGNkMDJhPnRoaXNbXzB4NDQxZDRlKCcweDc3NScpXSkmJih0aGlzWydfZmFzdEJsb2NrTnVtYmVyJ109XzB4NGNkMDJhKSx0aGlzW18weDQ0MWQ0ZSgnMHg3NzUnKV0pKSksdGhpc1tfMHg0NDFkNGUoJzB4YWQyJyldO31bXzB4MmU1MjAxKCcweGQzMycpXShfMHg1MjQzMzUpe3ZhciBfMHgxZTBmODE9XzB4MmU1MjAxO251bGwhPXRoaXNbXzB4MWUwZjgxKCcweDc3NScpXSYmXzB4NTI0MzM1PHRoaXNbJ19mYXN0QmxvY2tOdW1iZXInXXx8KHRoaXNbXzB4MWUwZjgxKCcweDY1YicpXT1fMHgxMGJkN2YoKSwobnVsbD09dGhpc1snX2Zhc3RCbG9ja051bWJlciddfHxfMHg1MjQzMzU+dGhpc1snX2Zhc3RCbG9ja051bWJlciddKSYmKHRoaXNbXzB4MWUwZjgxKCcweDc3NScpXT1fMHg1MjQzMzUsdGhpc1tfMHgxZTBmODEoJzB4YWQyJyldPVByb21pc2VbXzB4MWUwZjgxKCcweDNmNCcpXShfMHg1MjQzMzUpKSk7fVtfMHgyZTUyMDEoJzB4YjBmJyldKF8weDM0ZmVlMSxfMHgxZjViODgsXzB4MjYwNDJmKXtyZXR1cm4gXzB4MWM1YWNiKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDI2OWQyMT1fMHgxNWEzO3JldHVybiB0aGlzW18weDI2OWQyMSgnMHg0NzknKV0oXzB4MzRmZWUxLG51bGw9PV8weDFmNWI4OD8weDE6XzB4MWY1Yjg4LF8weDI2MDQyZnx8MHgwLG51bGwpO30pO31bXzB4MmU1MjAxKCcweDQ3OScpXShfMHhmYzk1MmEsXzB4NWUwYzAyLF8weDMwZTYyMyxfMHgxNjY5MjUpe3JldHVybiBfMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4NDA4NGRiPV8weDE1YTM7Y29uc3QgXzB4MzQxZDA4PXlpZWxkIHRoaXNbJ2dldFRyYW5zYWN0aW9uUmVjZWlwdCddKF8weGZjOTUyYSk7cmV0dXJuKF8weDM0MWQwOD9fMHgzNDFkMDhbXzB4NDA4NGRiKCcweGFmYScpXToweDApPj1fMHg1ZTBjMDI/XzB4MzQxZDA4Om5ldyBQcm9taXNlKChfMHg0ZTQyZDgsXzB4YmUxNjFhKT0+e3ZhciBfMHgxN2U3ZmU9XzB4NDA4NGRiO2NvbnN0IF8weDQ0ZTg5MT1bXTtsZXQgXzB4YzVkMzU9ITB4MTtjb25zdCBfMHgzZWUxZmE9ZnVuY3Rpb24oKXt2YXIgXzB4MjM4ODJhPV8weDE1YTM7cmV0dXJuISFfMHhjNWQzNXx8KF8weGM1ZDM1PSEweDAsXzB4NDRlODkxW18weDIzODgyYSgnMHg1MWUnKV0oXzB4MmMyZjg4PT57XzB4MmMyZjg4KCk7fSksITB4MSk7fSxfMHg0M2E0MWQ9XzB4MzQ5YWI3PT57dmFyIF8weDJkZjliYz1fMHgxNWEzO18weDM0OWFiN1tfMHgyZGY5YmMoJzB4YWZhJyldPF8weDVlMGMwMnx8XzB4M2VlMWZhKCl8fF8weDRlNDJkOChfMHgzNDlhYjcpO307aWYodGhpc1snb24nXShfMHhmYzk1MmEsXzB4NDNhNDFkKSxfMHg0NGU4OTFbJ3B1c2gnXSgoKT0+e3RoaXNbJ3JlbW92ZUxpc3RlbmVyJ10oXzB4ZmM5NTJhLF8weDQzYTQxZCk7fSksXzB4MTY2OTI1KXtsZXQgXzB4MjhmZTllPV8weDE2NjkyNVsnc3RhcnRCbG9jayddLF8weDM2N2U0Mj1udWxsO2NvbnN0IF8weDU1ZTNkOD1fMHgxNTdmNTQ9Pl8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHgxY2ExZGM9XzB4MTVhMztfMHhjNWQzNXx8KHlpZWxkIF8weDY1NDE2YigweDNlOCksdGhpc1tfMHgxY2ExZGMoJzB4MmQxJyldKF8weDE2NjkyNVtfMHgxY2ExZGMoJzB4MjUyJyldKVtfMHgxY2ExZGMoJzB4ZDM0JyldKF8weDM3ZDg2Mz0+XzB4MWM1YWNiKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDIwYjY1OT1fMHgxY2ExZGM7aWYoIV8weGM1ZDM1KXtpZihfMHgzN2Q4NjM8PV8weDE2NjkyNVtfMHgyMGI2NTkoJzB4NGFkJyldKV8weDI4ZmU5ZT1fMHgxNTdmNTQ7ZWxzZXt7Y29uc3QgXzB4MjhmOGU3PXlpZWxkIHRoaXNbJ2dldFRyYW5zYWN0aW9uJ10oXzB4ZmM5NTJhKTtpZihfMHgyOGY4ZTcmJm51bGwhPV8weDI4ZjhlN1snYmxvY2tOdW1iZXInXSlyZXR1cm47fWZvcihudWxsPT1fMHgzNjdlNDImJihfMHgzNjdlNDI9XzB4MjhmZTllLTB4MyxfMHgzNjdlNDI8XzB4MTY2OTI1W18weDIwYjY1OSgnMHg5ZTAnKV0mJihfMHgzNjdlNDI9XzB4MTY2OTI1W18weDIwYjY1OSgnMHg5ZTAnKV0pKTtfMHgzNjdlNDI8PV8weDE1N2Y1NDspe2lmKF8weGM1ZDM1KXJldHVybjtjb25zdCBfMHgyZWU0YmU9eWllbGQgdGhpc1tfMHgyMGI2NTkoJzB4ODA3JyldKF8weDM2N2U0Mik7Zm9yKGxldCBfMHhkYjFjMTA9MHgwO18weGRiMWMxMDxfMHgyZWU0YmVbXzB4MjBiNjU5KCcweDMwNycpXVtfMHgyMGI2NTkoJzB4NTIwJyldO18weGRiMWMxMCsrKXtjb25zdCBfMHgxZDA2NzA9XzB4MmVlNGJlW18weDIwYjY1OSgnMHgzMDcnKV1bXzB4ZGIxYzEwXTtpZihfMHgxZDA2NzBbJ2hhc2gnXT09PV8weGZjOTUyYSlyZXR1cm47aWYoXzB4MWQwNjcwW18weDIwYjY1OSgnMHgyNTInKV09PT1fMHgxNjY5MjVbXzB4MjBiNjU5KCcweDI1MicpXSYmXzB4MWQwNjcwWydub25jZSddPT09XzB4MTY2OTI1W18weDIwYjY1OSgnMHg0YWQnKV0pe2lmKF8weGM1ZDM1KXJldHVybjtjb25zdCBfMHgxNTRkMmU9eWllbGQgdGhpc1snd2FpdEZvclRyYW5zYWN0aW9uJ10oXzB4MWQwNjcwWydoYXNoJ10sXzB4NWUwYzAyKTtpZihfMHgzZWUxZmEoKSlyZXR1cm47bGV0IF8weDRiYzg3MT0ncmVwbGFjZWQnO3JldHVybiBfMHgxZDA2NzBbXzB4MjBiNjU5KCcweGE1OCcpXT09PV8weDE2NjkyNVtfMHgyMGI2NTkoJzB4YTU4JyldJiZfMHgxZDA2NzBbJ3RvJ109PT1fMHgxNjY5MjVbJ3RvJ10mJl8weDFkMDY3MFtfMHgyMGI2NTkoJzB4ODlkJyldWydlcSddKF8weDE2NjkyNVtfMHgyMGI2NTkoJzB4ODlkJyldKT9fMHg0YmM4NzE9XzB4MjBiNjU5KCcweDZkNCcpOicweCc9PT1fMHgxZDA2NzBbJ2RhdGEnXSYmXzB4MWQwNjcwWydmcm9tJ109PT1fMHgxZDA2NzBbJ3RvJ10mJl8weDFkMDY3MFsndmFsdWUnXVtfMHgyMGI2NTkoJzB4YTQ3JyldKCkmJihfMHg0YmM4NzE9XzB4MjBiNjU5KCcweDQwNycpKSx2b2lkIF8weGJlMTYxYShfMHgzM2ZjNGJbXzB4MjBiNjU5KCcweDg2NycpXShfMHgyMGI2NTkoJzB4ZDU3JyksXzB4MWRkMDM4W18weDIwYjY1OSgnMHhjZTcnKV1bXzB4MjBiNjU5KCcweDk0OScpXVtfMHgyMGI2NTkoJzB4N2VjJyldLHsnY2FuY2VsbGVkJzoncmVwbGFjZWQnPT09XzB4NGJjODcxfHxfMHgyMGI2NTkoJzB4NDA3Jyk9PT1fMHg0YmM4NzEsJ3JlYXNvbic6XzB4NGJjODcxLCdyZXBsYWNlbWVudCc6dGhpc1tfMHgyMGI2NTkoJzB4YzNjJyldKF8weDFkMDY3MCksJ2hhc2gnOl8weGZjOTUyYSwncmVjZWlwdCc6XzB4MTU0ZDJlfSkpO319XzB4MzY3ZTQyKys7fX1fMHhjNWQzNXx8dGhpc1snb25jZSddKF8weDIwYjY1OSgnMHg3YTknKSxfMHg1NWUzZDgpO319KSxfMHgyMjA5ODA9Pnt2YXIgXzB4MjY0OWMzPV8weDFjYTFkYztfMHhjNWQzNXx8dGhpc1tfMHgyNjQ5YzMoJzB4MzUzJyldKCdibG9jaycsXzB4NTVlM2Q4KTt9KSk7fSk7aWYoXzB4YzVkMzUpcmV0dXJuO3RoaXNbJ29uY2UnXShfMHgxN2U3ZmUoJzB4N2E5JyksXzB4NTVlM2Q4KSxfMHg0NGU4OTFbXzB4MTdlN2ZlKCcweDhiNycpXSgoKT0+e3ZhciBfMHgzNTFlZDY9XzB4MTdlN2ZlO3RoaXNbXzB4MzUxZWQ2KCcweDZiZCcpXSgnYmxvY2snLF8weDU1ZTNkOCk7fSk7fWlmKF8weDE3ZTdmZSgnMHgyN2EnKT09dHlwZW9mIF8weDMwZTYyMyYmXzB4MzBlNjIzPjB4MCl7Y29uc3QgXzB4M2E3NzA0PXNldFRpbWVvdXQoKCk9Pnt2YXIgXzB4NDBmNzU4PV8weDE3ZTdmZTtfMHgzZWUxZmEoKXx8XzB4YmUxNjFhKF8weDMzZmM0YltfMHg0MGY3NTgoJzB4ODY3JyldKF8weDQwZjc1OCgnMHhiODUnKSxfMHgxZGQwMzhbXzB4NDBmNzU4KCcweGNlNycpXVtfMHg0MGY3NTgoJzB4OTQ5JyldW18weDQwZjc1OCgnMHgxZjknKV0seyd0aW1lb3V0JzpfMHgzMGU2MjN9KSk7fSxfMHgzMGU2MjMpO18weDNhNzcwNFsndW5yZWYnXSYmXzB4M2E3NzA0W18weDE3ZTdmZSgnMHhjZTYnKV0oKSxfMHg0NGU4OTFbJ3B1c2gnXSgoKT0+e2NsZWFyVGltZW91dChfMHgzYTc3MDQpO30pO319KTt9KTt9WydnZXRCbG9ja051bWJlciddKCl7cmV0dXJuIF8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHg0NzMwZDQ9XzB4MTVhMztyZXR1cm4gdGhpc1tfMHg0NzMwZDQoJzB4NWY4JyldKDB4MCk7fSk7fVtfMHgyZTUyMDEoJzB4NjQ2JyldKCl7cmV0dXJuIF8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHgzMWExN2Y9XzB4MTVhMzt5aWVsZCB0aGlzW18weDMxYTE3ZignMHhiYzAnKV0oKTtjb25zdCBfMHg3ZjczN2Q9eWllbGQgdGhpc1sncGVyZm9ybSddKCdnZXRHYXNQcmljZScse30pO3RyeXtyZXR1cm4gXzB4NTVmYTFmWydPJCddW18weDMxYTE3ZignMHgyNTInKV0oXzB4N2Y3MzdkKTt9Y2F0Y2goXzB4NWQxZmUyKXtyZXR1cm4gXzB4MzNmYzRiW18weDMxYTE3ZignMHgxZDAnKV0oXzB4MzFhMTdmKCcweDQ1MicpLF8weDFkZDAzOFtfMHgzMWExN2YoJzB4Y2U3JyldW18weDMxYTE3ZignMHg5NDknKV1bJ1NFUlZFUl9FUlJPUiddLHsnbWV0aG9kJzpfMHgzMWExN2YoJzB4NjQ2JyksJ3Jlc3VsdCc6XzB4N2Y3MzdkLCdlcnJvcic6XzB4NWQxZmUyfSk7fX0pO31bXzB4MmU1MjAxKCcweDcyNycpXShfMHg1YTU0NDQsXzB4NTJhNzkzKXtyZXR1cm4gXzB4MWM1YWNiKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDI0YjBkNz1fMHgxNWEzO3lpZWxkIHRoaXNbXzB4MjRiMGQ3KCcweGJjMCcpXSgpO2NvbnN0IF8weDQxZmE4MT15aWVsZCgweDAsXzB4NDQ5ZmYzW18weDI0YjBkNygnMHgyNTYnKV0pKHsnYWRkcmVzcyc6dGhpc1tfMHgyNGIwZDcoJzB4YTBjJyldKF8weDVhNTQ0NCksJ2Jsb2NrVGFnJzp0aGlzW18weDI0YjBkNygnMHhhZDQnKV0oXzB4NTJhNzkzKX0pLF8weDQwOWU1Yj15aWVsZCB0aGlzW18weDI0YjBkNygnMHg1OGMnKV0oXzB4MjRiMGQ3KCcweDcyNycpLF8weDQxZmE4MSk7dHJ5e3JldHVybiBfMHg1NWZhMWZbJ08kJ11bXzB4MjRiMGQ3KCcweDI1MicpXShfMHg0MDllNWIpO31jYXRjaChfMHgzOGFlYWQpe3JldHVybiBfMHgzM2ZjNGJbXzB4MjRiMGQ3KCcweDFkMCcpXShfMHgyNGIwZDcoJzB4NDUyJyksXzB4MWRkMDM4W18weDI0YjBkNygnMHhjZTcnKV1bJ2Vycm9ycyddW18weDI0YjBkNygnMHg3MzknKV0seydtZXRob2QnOl8weDI0YjBkNygnMHg3MjcnKSwncGFyYW1zJzpfMHg0MWZhODEsJ3Jlc3VsdCc6XzB4NDA5ZTViLCdlcnJvcic6XzB4MzhhZWFkfSk7fX0pO31bJ2dldFRyYW5zYWN0aW9uQ291bnQnXShfMHgzMDcxZjQsXzB4YjFhMGNjKXtyZXR1cm4gXzB4MWM1YWNiKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDU2YjExMj1fMHgxNWEzO3lpZWxkIHRoaXNbXzB4NTZiMTEyKCcweGJjMCcpXSgpO2NvbnN0IF8weGZjOGE3Yj15aWVsZCgweDAsXzB4NDQ5ZmYzW18weDU2YjExMignMHgyNTYnKV0pKHsnYWRkcmVzcyc6dGhpc1snX2dldEFkZHJlc3MnXShfMHgzMDcxZjQpLCdibG9ja1RhZyc6dGhpc1tfMHg1NmIxMTIoJzB4YWQ0JyldKF8weGIxYTBjYyl9KSxfMHgxMDE2YWU9eWllbGQgdGhpc1sncGVyZm9ybSddKF8weDU2YjExMignMHgyZDEnKSxfMHhmYzhhN2IpO3RyeXtyZXR1cm4gXzB4NTVmYTFmWydPJCddWydmcm9tJ10oXzB4MTAxNmFlKVtfMHg1NmIxMTIoJzB4OTQxJyldKCk7fWNhdGNoKF8weDRiYzk0Mil7cmV0dXJuIF8weDMzZmM0YlsndGhyb3dFcnJvciddKCdiYWRceDIwcmVzdWx0XHgyMGZyb21ceDIwYmFja2VuZCcsXzB4MWRkMDM4W18weDU2YjExMignMHhjZTcnKV1bXzB4NTZiMTEyKCcweDk0OScpXVtfMHg1NmIxMTIoJzB4NzM5JyldLHsnbWV0aG9kJzpfMHg1NmIxMTIoJzB4MmQxJyksJ3BhcmFtcyc6XzB4ZmM4YTdiLCdyZXN1bHQnOl8weDEwMTZhZSwnZXJyb3InOl8weDRiYzk0Mn0pO319KTt9W18weDJlNTIwMSgnMHg5ZmQnKV0oXzB4MzM5MjVmLF8weDM1MjkwMyl7cmV0dXJuIF8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHg1ZDhjMmI9XzB4MTVhMzt5aWVsZCB0aGlzWydnZXROZXR3b3JrJ10oKTtjb25zdCBfMHgxYTUyOWU9eWllbGQoMHgwLF8weDQ0OWZmM1sncmVzb2x2ZVByb3BlcnRpZXMnXSkoeydhZGRyZXNzJzp0aGlzW18weDVkOGMyYignMHhhMGMnKV0oXzB4MzM5MjVmKSwnYmxvY2tUYWcnOnRoaXNbXzB4NWQ4YzJiKCcweGFkNCcpXShfMHgzNTI5MDMpfSksXzB4MzVjNDhjPXlpZWxkIHRoaXNbJ3BlcmZvcm0nXShfMHg1ZDhjMmIoJzB4OWZkJyksXzB4MWE1MjllKTt0cnl7cmV0dXJuKDB4MCxfMHhmMGVlMzVbXzB4NWQ4YzJiKCcweDM1NicpXSkoXzB4MzVjNDhjKTt9Y2F0Y2goXzB4M2M5OTRjKXtyZXR1cm4gXzB4MzNmYzRiW18weDVkOGMyYignMHgxZDAnKV0oJ2JhZFx4MjByZXN1bHRceDIwZnJvbVx4MjBiYWNrZW5kJyxfMHgxZGQwMzhbXzB4NWQ4YzJiKCcweGNlNycpXVtfMHg1ZDhjMmIoJzB4OTQ5JyldWydTRVJWRVJfRVJST1InXSx7J21ldGhvZCc6J2dldENvZGUnLCdwYXJhbXMnOl8weDFhNTI5ZSwncmVzdWx0JzpfMHgzNWM0OGMsJ2Vycm9yJzpfMHgzYzk5NGN9KTt9fSk7fVtfMHgyZTUyMDEoJzB4YTdhJyldKF8weDI1NTY1YSxfMHgzYTkzMTYsXzB4NGNhMDYwKXtyZXR1cm4gXzB4MWM1YWNiKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDU1MjM4Mj1fMHgxNWEzO3lpZWxkIHRoaXNbXzB4NTUyMzgyKCcweGJjMCcpXSgpO2NvbnN0IF8weDE4MmZkYj15aWVsZCgweDAsXzB4NDQ5ZmYzW18weDU1MjM4MignMHgyNTYnKV0pKHsnYWRkcmVzcyc6dGhpc1snX2dldEFkZHJlc3MnXShfMHgyNTU2NWEpLCdibG9ja1RhZyc6dGhpc1tfMHg1NTIzODIoJzB4YWQ0JyldKF8weDRjYTA2MCksJ3Bvc2l0aW9uJzpQcm9taXNlWydyZXNvbHZlJ10oXzB4M2E5MzE2KVtfMHg1NTIzODIoJzB4ZDM0JyldKF8weDFlNmRkZj0+KDB4MCxfMHhmMGVlMzVbXzB4NTUyMzgyKCcweDhmNCcpXSkoXzB4MWU2ZGRmKSl9KSxfMHg0ZDA3YmM9eWllbGQgdGhpc1tfMHg1NTIzODIoJzB4NThjJyldKCdnZXRTdG9yYWdlQXQnLF8weDE4MmZkYik7dHJ5e3JldHVybigweDAsXzB4ZjBlZTM1W18weDU1MjM4MignMHgzNTYnKV0pKF8weDRkMDdiYyk7fWNhdGNoKF8weDQ1NmMzZSl7cmV0dXJuIF8weDMzZmM0YltfMHg1NTIzODIoJzB4MWQwJyldKF8weDU1MjM4MignMHg0NTInKSxfMHgxZGQwMzhbXzB4NTUyMzgyKCcweGNlNycpXVtfMHg1NTIzODIoJzB4OTQ5JyldW18weDU1MjM4MignMHg3MzknKV0seydtZXRob2QnOl8weDU1MjM4MignMHhhN2EnKSwncGFyYW1zJzpfMHgxODJmZGIsJ3Jlc3VsdCc6XzB4NGQwN2JjLCdlcnJvcic6XzB4NDU2YzNlfSk7fX0pO31bXzB4MmU1MjAxKCcweGMzYycpXShfMHg1MjJkZTYsXzB4MzA4OWM4LF8weDFmZTdiOSl7dmFyIF8weDFjY2NlNz1fMHgyZTUyMDE7aWYobnVsbCE9XzB4MzA4OWM4JiYweDIwIT09KDB4MCxfMHhmMGVlMzVbXzB4MWNjY2U3KCcweGE5NCcpXSkoXzB4MzA4OWM4KSl0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWRceDIwcmVzcG9uc2VceDIwLVx4MjBzZW5kVHJhbnNhY3Rpb24nKTtjb25zdCBfMHg1YzJiNWI9XzB4NTIyZGU2O3JldHVybiBudWxsIT1fMHgzMDg5YzgmJl8weDUyMmRlNltfMHgxY2NjZTcoJzB4MmU0JyldIT09XzB4MzA4OWM4JiZfMHgzM2ZjNGJbXzB4MWNjY2U3KCcweDFkMCcpXSgnVHJhbnNhY3Rpb25ceDIwaGFzaFx4MjBtaXNtYXRjaFx4MjBmcm9tXHgyMFByb3ZpZGVyLnNlbmRUcmFuc2FjdGlvbi4nLF8weDFkZDAzOFtfMHgxY2NjZTcoJzB4Y2U3JyldW18weDFjY2NlNygnMHg5NDknKV1bXzB4MWNjY2U3KCcweDkyNicpXSx7J2V4cGVjdGVkSGFzaCc6XzB4NTIyZGU2W18weDFjY2NlNygnMHgyZTQnKV0sJ3JldHVybmVkSGFzaCc6XzB4MzA4OWM4fSksXzB4NWMyYjViW18weDFjY2NlNygnMHg5NjcnKV09KF8weDk3ZjQwMixfMHgxOTIwY2YpPT5fMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4NTNhYWY3PV8weDFjY2NlNztsZXQgXzB4NGZlNTNiO251bGw9PV8weDk3ZjQwMiYmKF8weDk3ZjQwMj0weDEpLG51bGw9PV8weDE5MjBjZiYmKF8weDE5MjBjZj0weDApLDB4MCE9PV8weDk3ZjQwMiYmbnVsbCE9XzB4MWZlN2I5JiYoXzB4NGZlNTNiPXsnZGF0YSc6XzB4NTIyZGU2W18weDUzYWFmNygnMHhhNTgnKV0sJ2Zyb20nOl8weDUyMmRlNlsnZnJvbSddLCdub25jZSc6XzB4NTIyZGU2W18weDUzYWFmNygnMHg0YWQnKV0sJ3RvJzpfMHg1MjJkZTZbJ3RvJ10sJ3ZhbHVlJzpfMHg1MjJkZTZbXzB4NTNhYWY3KCcweDg5ZCcpXSwnc3RhcnRCbG9jayc6XzB4MWZlN2I5fSk7Y29uc3QgXzB4ODNjZjRmPXlpZWxkIHRoaXNbXzB4NTNhYWY3KCcweDQ3OScpXShfMHg1MjJkZTZbXzB4NTNhYWY3KCcweDJlNCcpXSxfMHg5N2Y0MDIsXzB4MTkyMGNmLF8weDRmZTUzYik7cmV0dXJuIG51bGw9PV8weDgzY2Y0ZiYmMHgwPT09XzB4OTdmNDAyP251bGw6KHRoaXNbJ19lbWl0dGVkJ11bJ3Q6JytfMHg1MjJkZTZbXzB4NTNhYWY3KCcweDJlNCcpXV09XzB4ODNjZjRmW18weDUzYWFmNygnMHgxYTgnKV0sMHgwPT09XzB4ODNjZjRmW18weDUzYWFmNygnMHhiM2QnKV0mJl8weDMzZmM0YlsndGhyb3dFcnJvciddKCd0cmFuc2FjdGlvblx4MjBmYWlsZWQnLF8weDFkZDAzOFtfMHg1M2FhZjcoJzB4Y2U3JyldW18weDUzYWFmNygnMHg5NDknKV1bXzB4NTNhYWY3KCcweDRlZCcpXSx7J3RyYW5zYWN0aW9uSGFzaCc6XzB4NTIyZGU2W18weDUzYWFmNygnMHgyZTQnKV0sJ3RyYW5zYWN0aW9uJzpfMHg1MjJkZTYsJ3JlY2VpcHQnOl8weDgzY2Y0Zn0pLF8weDgzY2Y0Zik7fSksXzB4NWMyYjViO31bJ3NlbmRUcmFuc2FjdGlvbiddKF8weDE5MzU3Nyl7cmV0dXJuIF8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHgxNzQ3YjE9XzB4MTVhMzt5aWVsZCB0aGlzW18weDE3NDdiMSgnMHhiYzAnKV0oKTtjb25zdCBfMHgxYmFhMjU9eWllbGQgUHJvbWlzZVtfMHgxNzQ3YjEoJzB4M2Y0JyldKF8weDE5MzU3NylbJ3RoZW4nXShfMHgyZmIyMjc9PigweDAsXzB4ZjBlZTM1W18weDE3NDdiMSgnMHgzNTYnKV0pKF8weDJmYjIyNykpLF8weDEyZmU1Nj10aGlzW18weDE3NDdiMSgnMHg2YTgnKV1bJ3RyYW5zYWN0aW9uJ10oXzB4MTkzNTc3KTtudWxsPT1fMHgxMmZlNTZbXzB4MTc0N2IxKCcweGFmYScpXSYmKF8weDEyZmU1NlsnY29uZmlybWF0aW9ucyddPTB4MCk7Y29uc3QgXzB4NDA3NWQ4PXlpZWxkIHRoaXNbXzB4MTc0N2IxKCcweDVmOCcpXSgweDY0KzB4Mip0aGlzW18weDE3NDdiMSgnMHg3YTAnKV0pO3RyeXtjb25zdCBfMHg0NDAzNjc9eWllbGQgdGhpc1tfMHgxNzQ3YjEoJzB4NThjJyldKF8weDE3NDdiMSgnMHg0OGInKSx7J3NpZ25lZFRyYW5zYWN0aW9uJzpfMHgxYmFhMjV9KTtyZXR1cm4gdGhpc1tfMHgxNzQ3YjEoJzB4YzNjJyldKF8weDEyZmU1NixfMHg0NDAzNjcsXzB4NDA3NWQ4KTt9Y2F0Y2goXzB4M2VhM2I2KXt0aHJvdyBfMHgzZWEzYjZbXzB4MTc0N2IxKCcweDRjMycpXT1fMHgxMmZlNTYsXzB4M2VhM2I2Wyd0cmFuc2FjdGlvbkhhc2gnXT1fMHgxMmZlNTZbJ2hhc2gnXSxfMHgzZWEzYjY7fX0pO31bXzB4MmU1MjAxKCcweGQwYicpXShfMHhiZWZjNjUpe3JldHVybiBfMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4MzczMzM0PV8weDE1YTM7Y29uc3QgXzB4NGQ1YWM1PXlpZWxkIF8weGJlZmM2NSxfMHg5Yjk4NGI9e307cmV0dXJuW18weDM3MzMzNCgnMHgyNTInKSwndG8nXVtfMHgzNzMzMzQoJzB4NTFlJyldKF8weDNhMzhhYj0+e3ZhciBfMHg0ZTU0MWY9XzB4MzczMzM0O251bGwhPV8weDRkNWFjNVtfMHgzYTM4YWJdJiYoXzB4OWI5ODRiW18weDNhMzhhYl09UHJvbWlzZVtfMHg0ZTU0MWYoJzB4M2Y0JyldKF8weDRkNWFjNVtfMHgzYTM4YWJdKVtfMHg0ZTU0MWYoJzB4ZDM0JyldKF8weDMyZjBhNT0+XzB4MzJmMGE1P3RoaXNbXzB4NGU1NDFmKCcweGEwYycpXShfMHgzMmYwYTUpOm51bGwpKTt9KSxbXzB4MzczMzM0KCcweDk2MycpLF8weDM3MzMzNCgnMHg4ODInKSxfMHgzNzMzMzQoJzB4OTc2JyksXzB4MzczMzM0KCcweDYzYScpLF8weDM3MzMzNCgnMHg4OWQnKV1bXzB4MzczMzM0KCcweDUxZScpXShfMHhkMDc2MzA9Pnt2YXIgXzB4N2U2OWYyPV8weDM3MzMzNDtudWxsIT1fMHg0ZDVhYzVbXzB4ZDA3NjMwXSYmKF8weDliOTg0YltfMHhkMDc2MzBdPVByb21pc2VbXzB4N2U2OWYyKCcweDNmNCcpXShfMHg0ZDVhYzVbXzB4ZDA3NjMwXSlbXzB4N2U2OWYyKCcweGQzNCcpXShfMHgxY2I3ZmQ9Pl8weDFjYjdmZD9fMHg1NWZhMWZbJ08kJ11bXzB4N2U2OWYyKCcweDI1MicpXShfMHgxY2I3ZmQpOm51bGwpKTt9KSxbXzB4MzczMzM0KCcweDU3YycpXVsnZm9yRWFjaCddKF8weDI3NjY3Nj0+e3ZhciBfMHgyNTE5NDg9XzB4MzczMzM0O251bGwhPV8weDRkNWFjNVtfMHgyNzY2NzZdJiYoXzB4OWI5ODRiW18weDI3NjY3Nl09UHJvbWlzZVtfMHgyNTE5NDgoJzB4M2Y0JyldKF8weDRkNWFjNVtfMHgyNzY2NzZdKVtfMHgyNTE5NDgoJzB4ZDM0JyldKF8weDM1ZmY3MT0+bnVsbCE9XzB4MzVmZjcxP18weDM1ZmY3MTpudWxsKSk7fSksXzB4NGQ1YWM1WydhY2Nlc3NMaXN0J10mJihfMHg5Yjk4NGJbXzB4MzczMzM0KCcweDVkNScpXT10aGlzW18weDM3MzMzNCgnMHg2YTgnKV1bXzB4MzczMzM0KCcweDVkNScpXShfMHg0ZDVhYzVbXzB4MzczMzM0KCcweDVkNScpXSkpLFtfMHgzNzMzMzQoJzB4YTU4JyldW18weDM3MzMzNCgnMHg1MWUnKV0oXzB4MjM1OTQwPT57dmFyIF8weDE2NzRkNz1fMHgzNzMzMzQ7bnVsbCE9XzB4NGQ1YWM1W18weDIzNTk0MF0mJihfMHg5Yjk4NGJbXzB4MjM1OTQwXT1Qcm9taXNlW18weDE2NzRkNygnMHgzZjQnKV0oXzB4NGQ1YWM1W18weDIzNTk0MF0pW18weDE2NzRkNygnMHhkMzQnKV0oXzB4MmJhYjE0PT5fMHgyYmFiMTQ/KDB4MCxfMHhmMGVlMzVbXzB4MTY3NGQ3KCcweDM1NicpXSkoXzB4MmJhYjE0KTpudWxsKSk7fSksdGhpc1tfMHgzNzMzMzQoJzB4NmE4JyldWyd0cmFuc2FjdGlvblJlcXVlc3QnXSh5aWVsZCgweDAsXzB4NDQ5ZmYzWydyZXNvbHZlUHJvcGVydGllcyddKShfMHg5Yjk4NGIpKTt9KTt9W18weDJlNTIwMSgnMHg5ZTknKV0oXzB4MjEzMTczKXtyZXR1cm4gXzB4MWM1YWNiKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDEyNzU1OD1fMHgxNWEzO18weDIxMzE3Mz15aWVsZCBfMHgyMTMxNzM7Y29uc3QgXzB4MjhmZmJmPXt9O3JldHVybiBudWxsIT1fMHgyMTMxNzNbXzB4MTI3NTU4KCcweDFkMScpXSYmKF8weDI4ZmZiZltfMHgxMjc1NTgoJzB4MWQxJyldPXRoaXNbXzB4MTI3NTU4KCcweGEwYycpXShfMHgyMTMxNzNbJ2FkZHJlc3MnXSkpLFtfMHgxMjc1NTgoJzB4YThmJyksXzB4MTI3NTU4KCcweDI5ZScpXVtfMHgxMjc1NTgoJzB4NTFlJyldKF8weDRjZDYyZj0+e251bGwhPV8weDIxMzE3M1tfMHg0Y2Q2MmZdJiYoXzB4MjhmZmJmW18weDRjZDYyZl09XzB4MjEzMTczW18weDRjZDYyZl0pO30pLFtfMHgxMjc1NTgoJzB4YTYyJyksXzB4MTI3NTU4KCcweDY1MScpXVsnZm9yRWFjaCddKF8weDM0OWRjNj0+e3ZhciBfMHgzNjgzMjU9XzB4MTI3NTU4O251bGwhPV8weDIxMzE3M1tfMHgzNDlkYzZdJiYoXzB4MjhmZmJmW18weDM0OWRjNl09dGhpc1tfMHgzNjgzMjUoJzB4YWQ0JyldKF8weDIxMzE3M1tfMHgzNDlkYzZdKSk7fSksdGhpc1tfMHgxMjc1NTgoJzB4NmE4JyldW18weDEyNzU1OCgnMHgzYWInKV0oeWllbGQoMHgwLF8weDQ0OWZmM1sncmVzb2x2ZVByb3BlcnRpZXMnXSkoXzB4MjhmZmJmKSk7fSk7fVsnX2NhbGwnXShfMHg0MDUwMDIsXzB4NTgwZGY1LF8weDRkNzNjNyl7cmV0dXJuIF8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHgxNDAwYWE9XzB4MTVhMztfMHg0ZDczYzc+PTB4YSYmXzB4MzNmYzRiW18weDE0MDBhYSgnMHgxZDAnKV0oXzB4MTQwMGFhKCcweDYyYScpLF8weDFkZDAzOFtfMHgxNDAwYWEoJzB4Y2U3JyldW18weDE0MDBhYSgnMHg5NDknKV1bXzB4MTQwMGFhKCcweDczOScpXSx7J3JlZGlyZWN0cyc6XzB4NGQ3M2M3LCd0cmFuc2FjdGlvbic6XzB4NDA1MDAyfSk7Y29uc3QgXzB4MjdjMTI0PV8weDQwNTAwMlsndG8nXSxfMHg0MTIzNmU9eWllbGQgdGhpc1tfMHgxNDAwYWEoJzB4NThjJyldKCdjYWxsJyx7J3RyYW5zYWN0aW9uJzpfMHg0MDUwMDIsJ2Jsb2NrVGFnJzpfMHg1ODBkZjV9KTtpZihfMHg0ZDczYzc+PTB4MCYmJ2xhdGVzdCc9PT1fMHg1ODBkZjUmJm51bGwhPV8weDI3YzEyNCYmJzB4NTU2ZjE4MzAnPT09XzB4NDEyMzZlW18weDE0MDBhYSgnMHg3M2QnKV0oMHgwLDB4YSkmJigweDAsXzB4ZjBlZTM1WydoZXhEYXRhTGVuZ3RoJ10pKF8weDQxMjM2ZSklMHgyMD09MHg0KXRyeXtjb25zdCBfMHgyZTcwZTE9KDB4MCxfMHhmMGVlMzVbXzB4MTQwMGFhKCcweDgxMScpXSkoXzB4NDEyMzZlLDB4NCksXzB4MmJjZTUyPSgweDAsXzB4ZjBlZTM1W18weDE0MDBhYSgnMHg4MTEnKV0pKF8weDJlNzBlMSwweDAsMHgyMCk7XzB4NTVmYTFmWydPJCddW18weDE0MDBhYSgnMHgyNTInKV0oXzB4MmJjZTUyKVsnZXEnXShfMHgyN2MxMjQpfHxfMHgzM2ZjNGJbXzB4MTQwMGFhKCcweDFkMCcpXShfMHgxNDAwYWEoJzB4NjljJyksXzB4MWRkMDM4W18weDE0MDBhYSgnMHhjZTcnKV1bXzB4MTQwMGFhKCcweDk0OScpXVsnQ0FMTF9FWENFUFRJT04nXSx7J25hbWUnOl8weDE0MDBhYSgnMHg0OTgnKSwnc2lnbmF0dXJlJzpfMHgxNDAwYWEoJzB4Y2FkJyksJ3RyYW5zYWN0aW9uJzpfMHg0MDUwMDIsJ2RhdGEnOl8weDQxMjM2ZX0pO2NvbnN0IF8weDE5ZGM0Yj1bXSxfMHgyMmI3MjU9XzB4NTVmYTFmWydPJCddW18weDE0MDBhYSgnMHgyNTInKV0oKDB4MCxfMHhmMGVlMzVbXzB4MTQwMGFhKCcweDgxMScpXSkoXzB4MmU3MGUxLDB4MjAsMHg0MCkpWyd0b051bWJlciddKCksXzB4MTQ4MWE1PV8weDU1ZmExZlsnTyQnXVtfMHgxNDAwYWEoJzB4MjUyJyldKCgweDAsXzB4ZjBlZTM1W18weDE0MDBhYSgnMHg4MTEnKV0pKF8weDJlNzBlMSxfMHgyMmI3MjUsXzB4MjJiNzI1KzB4MjApKVtfMHgxNDAwYWEoJzB4OTQxJyldKCksXzB4YTM5NjM2PSgweDAsXzB4ZjBlZTM1W18weDE0MDBhYSgnMHg4MTEnKV0pKF8weDJlNzBlMSxfMHgyMmI3MjUrMHgyMCk7Zm9yKGxldCBfMHgxYzJiMTM9MHgwO18weDFjMmIxMzxfMHgxNDgxYTU7XzB4MWMyYjEzKyspe2NvbnN0IF8weDNiYzE1Yz1fMHgzOGIxZjEoXzB4YTM5NjM2LDB4MjAqXzB4MWMyYjEzKTtudWxsPT1fMHgzYmMxNWMmJl8weDMzZmM0YltfMHgxNDAwYWEoJzB4MWQwJyldKF8weDE0MDBhYSgnMHg3NjQnKSxfMHgxZGQwMzhbXzB4MTQwMGFhKCcweGNlNycpXVtfMHgxNDAwYWEoJzB4OTQ5JyldW18weDE0MDBhYSgnMHg0ZWQnKV0seyduYW1lJzpfMHgxNDAwYWEoJzB4NDk4JyksJ3NpZ25hdHVyZSc6XzB4MTQwMGFhKCcweGNhZCcpLCd0cmFuc2FjdGlvbic6XzB4NDA1MDAyLCdkYXRhJzpfMHg0MTIzNmV9KSxfMHgxOWRjNGJbXzB4MTQwMGFhKCcweDhiNycpXShfMHgzYmMxNWMpO31jb25zdCBfMHgzYjJiYzU9XzB4MmFkYTZhKF8weDJlNzBlMSwweDQwKTtfMHg1NWZhMWZbJ08kJ11bXzB4MTQwMGFhKCcweDI1MicpXSgoMHgwLF8weGYwZWUzNVsnaGV4RGF0YVNsaWNlJ10pKF8weDJlNzBlMSwweDY0LDB4ODApKVsnaXNaZXJvJ10oKXx8XzB4MzNmYzRiW18weDE0MDBhYSgnMHgxZDAnKV0oXzB4MTQwMGFhKCcweGM1MCcpLF8weDFkZDAzOFtfMHgxNDAwYWEoJzB4Y2U3JyldW18weDE0MDBhYSgnMHg5NDknKV1bXzB4MTQwMGFhKCcweDRlZCcpXSx7J25hbWUnOl8weDE0MDBhYSgnMHg0OTgnKSwnc2lnbmF0dXJlJzpfMHgxNDAwYWEoJzB4Y2FkJyksJ3RyYW5zYWN0aW9uJzpfMHg0MDUwMDIsJ2RhdGEnOl8weDQxMjM2ZX0pO2NvbnN0IF8weDJiMGQ4Nj0oMHgwLF8weGYwZWUzNVtfMHgxNDAwYWEoJzB4ODExJyldKShfMHgyZTcwZTEsMHg2MCwweDY0KSxfMHgxNDhiZjA9XzB4MmFkYTZhKF8weDJlNzBlMSwweDgwKSxfMHg0MTRmZTU9eWllbGQgdGhpc1tfMHgxNDAwYWEoJzB4OWZhJyldKF8weDQwNTAwMixfMHgzYjJiYzUsXzB4MTlkYzRiKTtudWxsPT1fMHg0MTRmZTUmJl8weDMzZmM0YlsndGhyb3dFcnJvciddKF8weDE0MDBhYSgnMHhhN2QnKSxfMHgxZGQwMzhbXzB4MTQwMGFhKCcweGNlNycpXVsnZXJyb3JzJ11bJ0NBTExfRVhDRVBUSU9OJ10seyduYW1lJzpfMHgxNDAwYWEoJzB4NDk4JyksJ3NpZ25hdHVyZSc6J09mZmNoYWluTG9va3VwKGFkZHJlc3Msc3RyaW5nW10sYnl0ZXMsYnl0ZXM0LGJ5dGVzKScsJ3RyYW5zYWN0aW9uJzpfMHg0MDUwMDIsJ2RhdGEnOl8weDQxMjM2ZX0pO2NvbnN0IF8weDRkZTI4Nz17J3RvJzpfMHgyN2MxMjQsJ2RhdGEnOigweDAsXzB4ZjBlZTM1W18weDE0MDBhYSgnMHg3Y2UnKV0pKFtfMHgyYjBkODYsXzB4MjY3NjUwKFtfMHg0MTRmZTUsXzB4MTQ4YmYwXSldKX07cmV0dXJuIHRoaXNbJ19jYWxsJ10oXzB4NGRlMjg3LF8weDU4MGRmNSxfMHg0ZDczYzcrMHgxKTt9Y2F0Y2goXzB4NGEwYWFjKXtpZihfMHg0YTBhYWNbXzB4MTQwMGFhKCcweDhlZScpXT09PV8weDFkZDAzOFsnTG9nZ2VyJ11bXzB4MTQwMGFhKCcweDk0OScpXVtfMHgxNDAwYWEoJzB4NzM5JyldKXRocm93IF8weDRhMGFhYzt9dHJ5e3JldHVybigweDAsXzB4ZjBlZTM1W18weDE0MDBhYSgnMHgzNTYnKV0pKF8weDQxMjM2ZSk7fWNhdGNoKF8weDI2M2FlOSl7cmV0dXJuIF8weDMzZmM0YlsndGhyb3dFcnJvciddKCdiYWRceDIwcmVzdWx0XHgyMGZyb21ceDIwYmFja2VuZCcsXzB4MWRkMDM4W18weDE0MDBhYSgnMHhjZTcnKV1bXzB4MTQwMGFhKCcweDk0OScpXVtfMHgxNDAwYWEoJzB4NzM5JyldLHsnbWV0aG9kJzpfMHgxNDAwYWEoJzB4NWZkJyksJ3BhcmFtcyc6eyd0cmFuc2FjdGlvbic6XzB4NDA1MDAyLCdibG9ja1RhZyc6XzB4NTgwZGY1fSwncmVzdWx0JzpfMHg0MTIzNmUsJ2Vycm9yJzpfMHgyNjNhZTl9KTt9fSk7fVsnY2FsbCddKF8weDIzMWY5MCxfMHgxOTY3N2Epe3JldHVybiBfMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4NDBmZTI5PV8weDE1YTM7eWllbGQgdGhpc1tfMHg0MGZlMjkoJzB4YmMwJyldKCk7Y29uc3QgXzB4MmM2ODE0PXlpZWxkKDB4MCxfMHg0NDlmZjNbXzB4NDBmZTI5KCcweDI1NicpXSkoeyd0cmFuc2FjdGlvbic6dGhpc1tfMHg0MGZlMjkoJzB4ZDBiJyldKF8weDIzMWY5MCksJ2Jsb2NrVGFnJzp0aGlzWydfZ2V0QmxvY2tUYWcnXShfMHgxOTY3N2EpLCdjY2lwUmVhZEVuYWJsZWQnOlByb21pc2VbXzB4NDBmZTI5KCcweDNmNCcpXShfMHgyMzFmOTBbXzB4NDBmZTI5KCcweDUxOScpXSl9KTtyZXR1cm4gdGhpc1snX2NhbGwnXShfMHgyYzY4MTRbXzB4NDBmZTI5KCcweDRjMycpXSxfMHgyYzY4MTRbXzB4NDBmZTI5KCcweDc0ZCcpXSxfMHgyYzY4MTRbXzB4NDBmZTI5KCcweDUxOScpXT8weDA6LTB4MSk7fSk7fVtfMHgyZTUyMDEoJzB4MWEzJyldKF8weDJiMWRiMil7cmV0dXJuIF8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHhlNjc4ZWU9XzB4MTVhMzt5aWVsZCB0aGlzW18weGU2NzhlZSgnMHhiYzAnKV0oKTtjb25zdCBfMHgzNWE1MTQ9eWllbGQoMHgwLF8weDQ0OWZmM1sncmVzb2x2ZVByb3BlcnRpZXMnXSkoeyd0cmFuc2FjdGlvbic6dGhpc1tfMHhlNjc4ZWUoJzB4ZDBiJyldKF8weDJiMWRiMil9KSxfMHgyZGY5ZGM9eWllbGQgdGhpc1tfMHhlNjc4ZWUoJzB4NThjJyldKF8weGU2NzhlZSgnMHgxYTMnKSxfMHgzNWE1MTQpO3RyeXtyZXR1cm4gXzB4NTVmYTFmWydPJCddW18weGU2NzhlZSgnMHgyNTInKV0oXzB4MmRmOWRjKTt9Y2F0Y2goXzB4NDBjZjMzKXtyZXR1cm4gXzB4MzNmYzRiW18weGU2NzhlZSgnMHgxZDAnKV0oXzB4ZTY3OGVlKCcweDQ1MicpLF8weDFkZDAzOFtfMHhlNjc4ZWUoJzB4Y2U3JyldWydlcnJvcnMnXVsnU0VSVkVSX0VSUk9SJ10seydtZXRob2QnOl8weGU2NzhlZSgnMHgxYTMnKSwncGFyYW1zJzpfMHgzNWE1MTQsJ3Jlc3VsdCc6XzB4MmRmOWRjLCdlcnJvcic6XzB4NDBjZjMzfSk7fX0pO31bXzB4MmU1MjAxKCcweGEwYycpXShfMHgzOTQ1ODgpe3JldHVybiBfMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4MmE3MGY2PV8weDE1YTM7XzB4MmE3MGY2KCcweDY1ZicpIT10eXBlb2YoXzB4Mzk0NTg4PXlpZWxkIF8weDM5NDU4OCkmJl8weDMzZmM0YltfMHgyYTcwZjYoJzB4NjM1JyldKF8weDJhNzBmNignMHgyM2InKSxfMHgyYTcwZjYoJzB4YmM3JyksXzB4Mzk0NTg4KTtjb25zdCBfMHgyYTEyZTc9eWllbGQgdGhpc1tfMHgyYTcwZjYoJzB4Y2QwJyldKF8weDM5NDU4OCk7cmV0dXJuIG51bGw9PV8weDJhMTJlNyYmXzB4MzNmYzRiW18weDJhNzBmNignMHgxZDAnKV0oJ0VOU1x4MjBuYW1lXHgyMG5vdFx4MjBjb25maWd1cmVkJyxfMHgxZGQwMzhbXzB4MmE3MGY2KCcweGNlNycpXVtfMHgyYTcwZjYoJzB4OTQ5JyldW18weDJhNzBmNignMHg2MzMnKV0seydvcGVyYXRpb24nOidyZXNvbHZlTmFtZSgnK0pTT05bXzB4MmE3MGY2KCcweDMxZicpXShfMHgzOTQ1ODgpKycpJ30pLF8weDJhMTJlNzt9KTt9WydfZ2V0QmxvY2snXShfMHg0NWQwZjksXzB4MWYyMTM3KXtyZXR1cm4gXzB4MWM1YWNiKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDNhNzg2ZD1fMHgxNWEzO3lpZWxkIHRoaXNbXzB4M2E3ODZkKCcweGJjMCcpXSgpLF8weDQ1ZDBmOT15aWVsZCBfMHg0NWQwZjk7bGV0IF8weDIzZTViOD0tMHg4MDtjb25zdCBfMHgzN2I3MDY9eydpbmNsdWRlVHJhbnNhY3Rpb25zJzohIV8weDFmMjEzN307aWYoKDB4MCxfMHhmMGVlMzVbXzB4M2E3ODZkKCcweGI2MScpXSkoXzB4NDVkMGY5LDB4MjApKV8weDM3YjcwNlsnYmxvY2tIYXNoJ109XzB4NDVkMGY5O2Vsc2UgdHJ5e18weDM3YjcwNltfMHgzYTc4NmQoJzB4NzRkJyldPXlpZWxkIHRoaXNbXzB4M2E3ODZkKCcweGFkNCcpXShfMHg0NWQwZjkpLCgweDAsXzB4ZjBlZTM1Wydpc0hleFN0cmluZyddKShfMHgzN2I3MDZbJ2Jsb2NrVGFnJ10pJiYoXzB4MjNlNWI4PXBhcnNlSW50KF8weDM3YjcwNltfMHgzYTc4NmQoJzB4NzRkJyldWydzdWJzdHJpbmcnXSgweDIpLDB4MTApKTt9Y2F0Y2goXzB4NWJhNGFiKXtfMHgzM2ZjNGJbXzB4M2E3ODZkKCcweDYzNScpXSgnaW52YWxpZFx4MjBibG9ja1x4MjBoYXNoXHgyMG9yXHgyMGJsb2NrXHgyMHRhZycsXzB4M2E3ODZkKCcweDkxOCcpLF8weDQ1ZDBmOSk7fXJldHVybigweDAsXzB4MjNlNmE4W18weDNhNzg2ZCgnMHhjZDEnKV0pKCgpPT5fMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4MjZlNmRhPV8weDNhNzg2ZDtjb25zdCBfMHg1OWYxOWU9eWllbGQgdGhpc1tfMHgyNmU2ZGEoJzB4NThjJyldKCdnZXRCbG9jaycsXzB4MzdiNzA2KTtpZihudWxsPT1fMHg1OWYxOWUpcmV0dXJuIG51bGwhPV8weDM3YjcwNltfMHgyNmU2ZGEoJzB4YThmJyldJiZudWxsPT10aGlzW18weDI2ZTZkYSgnMHg1MDYnKV1bJ2I6JytfMHgzN2I3MDZbXzB4MjZlNmRhKCcweGE4ZicpXV18fG51bGwhPV8weDM3YjcwNltfMHgyNmU2ZGEoJzB4NzRkJyldJiZfMHgyM2U1Yjg+dGhpc1tfMHgyNmU2ZGEoJzB4NTA2JyldW18weDI2ZTZkYSgnMHg3YTknKV0/bnVsbDp2b2lkIDB4MDtpZihfMHgxZjIxMzcpe2xldCBfMHg0N2EyMjI9bnVsbDtmb3IobGV0IF8weDMyYzkxOD0weDA7XzB4MzJjOTE4PF8weDU5ZjE5ZVsndHJhbnNhY3Rpb25zJ11bJ2xlbmd0aCddO18weDMyYzkxOCsrKXtjb25zdCBfMHgyYTVmMzA9XzB4NTlmMTllW18weDI2ZTZkYSgnMHgzMDcnKV1bXzB4MzJjOTE4XTtpZihudWxsPT1fMHgyYTVmMzBbJ2Jsb2NrTnVtYmVyJ10pXzB4MmE1ZjMwW18weDI2ZTZkYSgnMHhhZmEnKV09MHgwO2Vsc2V7aWYobnVsbD09XzB4MmE1ZjMwWydjb25maXJtYXRpb25zJ10pe251bGw9PV8weDQ3YTIyMiYmKF8weDQ3YTIyMj15aWVsZCB0aGlzW18weDI2ZTZkYSgnMHg1ZjgnKV0oMHg2NCsweDIqdGhpc1tfMHgyNmU2ZGEoJzB4N2EwJyldKSk7bGV0IF8weDRmNWIyZD1fMHg0N2EyMjItXzB4MmE1ZjMwWydibG9ja051bWJlciddKzB4MTtfMHg0ZjViMmQ8PTB4MCYmKF8weDRmNWIyZD0weDEpLF8weDJhNWYzMFtfMHgyNmU2ZGEoJzB4YWZhJyldPV8weDRmNWIyZDt9fX1jb25zdCBfMHgzOGJiNjg9dGhpc1tfMHgyNmU2ZGEoJzB4NmE4JyldWydibG9ja1dpdGhUcmFuc2FjdGlvbnMnXShfMHg1OWYxOWUpO3JldHVybiBfMHgzOGJiNjhbXzB4MjZlNmRhKCcweDMwNycpXT1fMHgzOGJiNjhbJ3RyYW5zYWN0aW9ucyddWydtYXAnXShfMHgzMzA5MDQ9PnRoaXNbXzB4MjZlNmRhKCcweGMzYycpXShfMHgzMzA5MDQpKSxfMHgzOGJiNjg7fXJldHVybiB0aGlzW18weDI2ZTZkYSgnMHg2YTgnKV1bXzB4MjZlNmRhKCcweDdhOScpXShfMHg1OWYxOWUpO30pLHsnb25jZVBvbGwnOnRoaXN9KTt9KTt9WydnZXRCbG9jayddKF8weDE5MmI5NCl7dmFyIF8weDUxYmU0YT1fMHgyZTUyMDE7cmV0dXJuIHRoaXNbXzB4NTFiZTRhKCcweDUzNCcpXShfMHgxOTJiOTQsITB4MSk7fVtfMHgyZTUyMDEoJzB4ODA3JyldKF8weDNmZTc3NCl7cmV0dXJuIHRoaXNbJ19nZXRCbG9jayddKF8weDNmZTc3NCwhMHgwKTt9W18weDJlNTIwMSgnMHhhZjYnKV0oXzB4MTg0NGRlKXtyZXR1cm4gXzB4MWM1YWNiKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDM4MDdlYj1fMHgxNWEzO3lpZWxkIHRoaXNbJ2dldE5ldHdvcmsnXSgpLF8weDE4NDRkZT15aWVsZCBfMHgxODQ0ZGU7Y29uc3QgXzB4NGU3OTFmPXsndHJhbnNhY3Rpb25IYXNoJzp0aGlzW18weDM4MDdlYignMHg2YTgnKV1bXzB4MzgwN2ViKCcweDJlNCcpXShfMHgxODQ0ZGUsITB4MCl9O3JldHVybigweDAsXzB4MjNlNmE4W18weDM4MDdlYignMHhjZDEnKV0pKCgpPT5fMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4NGI3YmYxPV8weDM4MDdlYjtjb25zdCBfMHg2NDExNGU9eWllbGQgdGhpc1tfMHg0YjdiZjEoJzB4NThjJyldKF8weDRiN2JmMSgnMHhhZjYnKSxfMHg0ZTc5MWYpO2lmKG51bGw9PV8weDY0MTE0ZSlyZXR1cm4gbnVsbD09dGhpc1tfMHg0YjdiZjEoJzB4NTA2JyldWyd0OicrXzB4MTg0NGRlXT9udWxsOnZvaWQgMHgwO2NvbnN0IF8weGZkMmNmZD10aGlzW18weDRiN2JmMSgnMHg2YTgnKV1bXzB4NGI3YmYxKCcweDkxOScpXShfMHg2NDExNGUpO2lmKG51bGw9PV8weGZkMmNmZFtfMHg0YjdiZjEoJzB4MWE4JyldKV8weGZkMmNmZFtfMHg0YjdiZjEoJzB4YWZhJyldPTB4MDtlbHNle2lmKG51bGw9PV8weGZkMmNmZFtfMHg0YjdiZjEoJzB4YWZhJyldKXtsZXQgXzB4NWQ2ZTBmPSh5aWVsZCB0aGlzW18weDRiN2JmMSgnMHg1ZjgnKV0oMHg2NCsweDIqdGhpc1tfMHg0YjdiZjEoJzB4N2EwJyldKSktXzB4ZmQyY2ZkW18weDRiN2JmMSgnMHgxYTgnKV0rMHgxO18weDVkNmUwZjw9MHgwJiYoXzB4NWQ2ZTBmPTB4MSksXzB4ZmQyY2ZkW18weDRiN2JmMSgnMHhhZmEnKV09XzB4NWQ2ZTBmO319cmV0dXJuIHRoaXNbXzB4NGI3YmYxKCcweGMzYycpXShfMHhmZDJjZmQpO30pLHsnb25jZVBvbGwnOnRoaXN9KTt9KTt9WydnZXRUcmFuc2FjdGlvblJlY2VpcHQnXShfMHgyM2M2YjEpe3JldHVybiBfMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4Y2RlNDk4PV8weDE1YTM7eWllbGQgdGhpc1tfMHhjZGU0OTgoJzB4YmMwJyldKCksXzB4MjNjNmIxPXlpZWxkIF8weDIzYzZiMTtjb25zdCBfMHgxYTU0YzU9eyd0cmFuc2FjdGlvbkhhc2gnOnRoaXNbXzB4Y2RlNDk4KCcweDZhOCcpXVtfMHhjZGU0OTgoJzB4MmU0JyldKF8weDIzYzZiMSwhMHgwKX07cmV0dXJuKDB4MCxfMHgyM2U2YThbXzB4Y2RlNDk4KCcweGNkMScpXSkoKCk9Pl8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHg0ZWViNWI9XzB4Y2RlNDk4O2NvbnN0IF8weDI5MjFkMj15aWVsZCB0aGlzW18weDRlZWI1YignMHg1OGMnKV0oJ2dldFRyYW5zYWN0aW9uUmVjZWlwdCcsXzB4MWE1NGM1KTtpZihudWxsPT1fMHgyOTIxZDIpcmV0dXJuIG51bGw9PXRoaXNbJ19lbWl0dGVkJ11bJ3Q6JytfMHgyM2M2YjFdP251bGw6dm9pZCAweDA7aWYobnVsbD09XzB4MjkyMWQyW18weDRlZWI1YignMHhhOGYnKV0pcmV0dXJuO2NvbnN0IF8weDExMmEzNz10aGlzW18weDRlZWI1YignMHg2YTgnKV1bXzB4NGVlYjViKCcweDI3NCcpXShfMHgyOTIxZDIpO2lmKG51bGw9PV8weDExMmEzN1tfMHg0ZWViNWIoJzB4MWE4JyldKV8weDExMmEzN1tfMHg0ZWViNWIoJzB4YWZhJyldPTB4MDtlbHNle2lmKG51bGw9PV8weDExMmEzN1tfMHg0ZWViNWIoJzB4YWZhJyldKXtsZXQgXzB4MjlmNDM4PSh5aWVsZCB0aGlzW18weDRlZWI1YignMHg1ZjgnKV0oMHg2NCsweDIqdGhpc1tfMHg0ZWViNWIoJzB4N2EwJyldKSktXzB4MTEyYTM3W18weDRlZWI1YignMHgxYTgnKV0rMHgxO18weDI5ZjQzODw9MHgwJiYoXzB4MjlmNDM4PTB4MSksXzB4MTEyYTM3W18weDRlZWI1YignMHhhZmEnKV09XzB4MjlmNDM4O319cmV0dXJuIF8weDExMmEzNzt9KSx7J29uY2VQb2xsJzp0aGlzfSk7fSk7fVtfMHgyZTUyMDEoJzB4YzlmJyldKF8weDM5NWYwOCl7cmV0dXJuIF8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHg1MGM0ZmI9XzB4MTVhMzt5aWVsZCB0aGlzW18weDUwYzRmYignMHhiYzAnKV0oKTtjb25zdCBfMHgyMTdmNjA9eWllbGQoMHgwLF8weDQ0OWZmM1tfMHg1MGM0ZmIoJzB4MjU2JyldKSh7J2ZpbHRlcic6dGhpc1tfMHg1MGM0ZmIoJzB4OWU5JyldKF8weDM5NWYwOCl9KSxfMHg1MTVmYzk9eWllbGQgdGhpc1tfMHg1MGM0ZmIoJzB4NThjJyldKF8weDUwYzRmYignMHhjOWYnKSxfMHgyMTdmNjApO3JldHVybiBfMHg1MTVmYzlbXzB4NTBjNGZiKCcweDUxZScpXShfMHg1NGYxZjc9Pnt2YXIgXzB4NGU1ZjkwPV8weDUwYzRmYjtudWxsPT1fMHg1NGYxZjdbXzB4NGU1ZjkwKCcweDRlYycpXSYmKF8weDU0ZjFmN1tfMHg0ZTVmOTAoJzB4NGVjJyldPSEweDEpO30pLF8weDEyNzlhNVsnTWInXVtfMHg1MGM0ZmIoJzB4MzliJyldKHRoaXNbXzB4NTBjNGZiKCcweDZhOCcpXVsnZmlsdGVyTG9nJ11bJ2JpbmQnXSh0aGlzWydmb3JtYXR0ZXInXSkpKF8weDUxNWZjOSk7fSk7fVtfMHgyZTUyMDEoJzB4MzUyJyldKCl7cmV0dXJuIF8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHgyYzI4MDI9XzB4MTVhMztyZXR1cm4geWllbGQgdGhpc1snZ2V0TmV0d29yayddKCksdGhpc1tfMHgyYzI4MDIoJzB4NThjJyldKF8weDJjMjgwMignMHgzNTInKSx7fSk7fSk7fVsnX2dldEJsb2NrVGFnJ10oXzB4NTY3N2Q4KXtyZXR1cm4gXzB4MWM1YWNiKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDVkMDYwOD1fMHgxNWEzO2lmKF8weDVkMDYwOCgnMHgyN2EnKT09dHlwZW9mKF8weDU2NzdkOD15aWVsZCBfMHg1Njc3ZDgpJiZfMHg1Njc3ZDg8MHgwKXtfMHg1Njc3ZDglMHgxJiZfMHgzM2ZjNGJbJ3Rocm93QXJndW1lbnRFcnJvciddKCdpbnZhbGlkXHgyMEJsb2NrVGFnJywnYmxvY2tUYWcnLF8weDU2NzdkOCk7bGV0IF8weDVmMjQ1MT15aWVsZCB0aGlzW18weDVkMDYwOCgnMHg1ZjgnKV0oMHg2NCsweDIqdGhpc1sncG9sbGluZ0ludGVydmFsJ10pO3JldHVybiBfMHg1ZjI0NTErPV8weDU2NzdkOCxfMHg1ZjI0NTE8MHgwJiYoXzB4NWYyNDUxPTB4MCksdGhpc1tfMHg1ZDA2MDgoJzB4NmE4JyldW18weDVkMDYwOCgnMHg3NGQnKV0oXzB4NWYyNDUxKTt9cmV0dXJuIHRoaXNbJ2Zvcm1hdHRlciddW18weDVkMDYwOCgnMHg3NGQnKV0oXzB4NTY3N2Q4KTt9KTt9WydnZXRSZXNvbHZlciddKF8weDUzYjBjMCl7cmV0dXJuIF8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHgyNmUyZTI9XzB4MTVhMztsZXQgXzB4NWEzZjU5PV8weDUzYjBjMDtmb3IoOzspe2lmKCcnPT09XzB4NWEzZjU5fHwnLic9PT1fMHg1YTNmNTkpcmV0dXJuIG51bGw7aWYoXzB4MjZlMmUyKCcweGM3OCcpIT09XzB4NTNiMGMwJiZfMHgyNmUyZTIoJzB4Yzc4Jyk9PT1fMHg1YTNmNTkpcmV0dXJuIG51bGw7Y29uc3QgXzB4NWQ5MzhjPXlpZWxkIHRoaXNbXzB4MjZlMmUyKCcweDY3YicpXShfMHg1YTNmNTksXzB4MjZlMmUyKCcweDdmZScpKTtpZihudWxsIT1fMHg1ZDkzOGMpe2NvbnN0IF8weDFjZmNkMT1uZXcgXzB4MjJkOTdkKHRoaXMsXzB4NWQ5MzhjLF8weDUzYjBjMCk7cmV0dXJuIF8weDVhM2Y1OT09PV8weDUzYjBjMHx8KHlpZWxkIF8weDFjZmNkMVtfMHgyNmUyZTIoJzB4NzIxJyldKCkpP18weDFjZmNkMTpudWxsO31fMHg1YTNmNTk9XzB4NWEzZjU5WydzcGxpdCddKCcuJylbXzB4MjZlMmUyKCcweGFkYScpXSgweDEpW18weDI2ZTJlMignMHhhYTcnKV0oJy4nKTt9fSk7fVtfMHgyZTUyMDEoJzB4NjdiJyldKF8weGM4MjJlNCxfMHg1YTg5YjMpe3JldHVybiBfMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4NTk3NGM3PV8weDE1YTM7bnVsbD09XzB4NWE4OWIzJiYoXzB4NWE4OWIzPV8weDU5NzRjNygnMHgxOWUnKSk7Y29uc3QgXzB4MjhkYWZjPXlpZWxkIHRoaXNbXzB4NTk3NGM3KCcweGJjMCcpXSgpO18weDI4ZGFmY1tfMHg1OTc0YzcoJzB4YmZmJyldfHxfMHgzM2ZjNGJbJ3Rocm93RXJyb3InXShfMHg1OTc0YzcoJzB4MjRlJyksXzB4MWRkMDM4W18weDU5NzRjNygnMHhjZTcnKV1bJ2Vycm9ycyddW18weDU5NzRjNygnMHg2MzMnKV0seydvcGVyYXRpb24nOl8weDVhODliMywnbmV0d29yayc6XzB4MjhkYWZjW18weDU5NzRjNygnMHhiYzcnKV19KTt0cnl7Y29uc3QgXzB4MzNhODAyPXlpZWxkIHRoaXNbXzB4NTk3NGM3KCcweDVmZCcpXSh7J3RvJzpfMHgyOGRhZmNbXzB4NTk3NGM3KCcweGJmZicpXSwnZGF0YSc6XzB4NTk3NGM3KCcweDQxMCcpKygweDAsXzB4MTM5ZDk3WydWTSddKShfMHhjODIyZTQpW18weDU5NzRjNygnMHg3M2QnKV0oMHgyKX0pO3JldHVybiB0aGlzW18weDU5NzRjNygnMHg2YTgnKV1bXzB4NTk3NGM3KCcweDQ4OCcpXShfMHgzM2E4MDIpO31jYXRjaChfMHhkMmFlOTcpe31yZXR1cm4gbnVsbDt9KTt9W18weDJlNTIwMSgnMHhjZDAnKV0oXzB4MTAwNzI2KXtyZXR1cm4gXzB4MWM1YWNiKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weGI1NGYxNT1fMHgxNWEzO18weDEwMDcyNj15aWVsZCBfMHgxMDA3MjY7dHJ5e3JldHVybiBQcm9taXNlW18weGI1NGYxNSgnMHgzZjQnKV0odGhpc1tfMHhiNTRmMTUoJzB4NmE4JyldW18weGI1NGYxNSgnMHgxZDEnKV0oXzB4MTAwNzI2KSk7fWNhdGNoKF8weDQyMWRjMil7aWYoKDB4MCxfMHhmMGVlMzVbXzB4YjU0ZjE1KCcweGI2MScpXSkoXzB4MTAwNzI2KSl0aHJvdyBfMHg0MjFkYzI7fSdzdHJpbmcnIT10eXBlb2YgXzB4MTAwNzI2JiZfMHgzM2ZjNGJbXzB4YjU0ZjE1KCcweDYzNScpXSgnaW52YWxpZFx4MjBFTlNceDIwbmFtZScsJ25hbWUnLF8weDEwMDcyNik7Y29uc3QgXzB4MWFhOGU1PXlpZWxkIHRoaXNbXzB4YjU0ZjE1KCcweDdmZScpXShfMHgxMDA3MjYpO3JldHVybiBfMHgxYWE4ZTU/eWllbGQgXzB4MWFhOGU1W18weGI1NGYxNSgnMHgzZGYnKV0oKTpudWxsO30pO31bXzB4MmU1MjAxKCcweDhmNScpXShfMHg0ZTJlOWUpe3JldHVybiBfMHgxYzVhY2IodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4NGJlYzYxPV8weDE1YTM7XzB4NGUyZTllPXlpZWxkIF8weDRlMmU5ZTtjb25zdCBfMHgyNTQzZmM9KF8weDRlMmU5ZT10aGlzW18weDRiZWM2MSgnMHg2YTgnKV1bXzB4NGJlYzYxKCcweDFkMScpXShfMHg0ZTJlOWUpKVsnc3Vic3RyaW5nJ10oMHgyKVtfMHg0YmVjNjEoJzB4ODcwJyldKCkrXzB4NGJlYzYxKCcweDE5ZCcpLF8weDIwNTQ4ZT15aWVsZCB0aGlzWydfZ2V0UmVzb2x2ZXInXShfMHgyNTQzZmMsJ2xvb2t1cEFkZHJlc3MnKTtpZihudWxsPT1fMHgyMDU0OGUpcmV0dXJuIG51bGw7Y29uc3QgXzB4NTBhZjQzPV8weDM4YjFmMSh5aWVsZCB0aGlzW18weDRiZWM2MSgnMHg1ZmQnKV0oeyd0byc6XzB4MjA1NDhlLCdkYXRhJzonMHg2OTFmMzQzMScrKDB4MCxfMHgxMzlkOTdbJ1ZNJ10pKF8weDI1NDNmYylbXzB4NGJlYzYxKCcweDczZCcpXSgweDIpfSksMHgwKTtyZXR1cm4oeWllbGQgdGhpc1tfMHg0YmVjNjEoJzB4Y2QwJyldKF8weDUwYWY0MykpIT1fMHg0ZTJlOWU/bnVsbDpfMHg1MGFmNDM7fSk7fVtfMHgyZTUyMDEoJzB4YTJiJyldKF8weDNmYWJiYSl7cmV0dXJuIF8weDFjNWFjYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHgxZjAzNDk9XzB4MTVhMztsZXQgXzB4NGQzMjJjPW51bGw7aWYoKDB4MCxfMHhmMGVlMzVbXzB4MWYwMzQ5KCcweGI2MScpXSkoXzB4M2ZhYmJhKSl7Y29uc3QgXzB4MTgzNjBjPXRoaXNbXzB4MWYwMzQ5KCcweDZhOCcpXVtfMHgxZjAzNDkoJzB4MWQxJyldKF8weDNmYWJiYSlbXzB4MWYwMzQ5KCcweDczZCcpXSgweDIpW18weDFmMDM0OSgnMHg4NzAnKV0oKSsnLmFkZHIucmV2ZXJzZScsXzB4MjYzN2I0PXlpZWxkIHRoaXNbXzB4MWYwMzQ5KCcweDY3YicpXShfMHgxODM2MGMsXzB4MWYwMzQ5KCcweGEyYicpKTtpZighXzB4MjYzN2I0KXJldHVybiBudWxsO18weDRkMzIyYz1uZXcgXzB4MjJkOTdkKHRoaXMsXzB4MjYzN2I0LF8weDE4MzYwYyk7dHJ5e2NvbnN0IF8weDU2MGYxYj15aWVsZCBfMHg0ZDMyMmNbXzB4MWYwMzQ5KCcweGEyYicpXSgpO2lmKF8weDU2MGYxYilyZXR1cm4gXzB4NTYwZjFiW18weDFmMDM0OSgnMHg5ZWMnKV07fWNhdGNoKF8weDUyZjQ2YSl7aWYoXzB4NTJmNDZhWydjb2RlJ10hPT1fMHgxZGQwMzhbXzB4MWYwMzQ5KCcweGNlNycpXVtfMHgxZjAzNDkoJzB4OTQ5JyldWydDQUxMX0VYQ0VQVElPTiddKXRocm93IF8weDUyZjQ2YTt9dHJ5e2NvbnN0IF8weDM1OGJlNj1fMHgzOGIxZjEoeWllbGQgdGhpc1tfMHgxZjAzNDkoJzB4NWZkJyldKHsndG8nOl8weDI2MzdiNCwnZGF0YSc6XzB4MWYwMzQ5KCcweDc5YicpKygweDAsXzB4MTM5ZDk3WydWTSddKShfMHgxODM2MGMpW18weDFmMDM0OSgnMHg3M2QnKV0oMHgyKX0pLDB4MCk7XzB4NGQzMjJjPXlpZWxkIHRoaXNbJ2dldFJlc29sdmVyJ10oXzB4MzU4YmU2KTt9Y2F0Y2goXzB4MjcwYjcyKXtpZihfMHgyNzBiNzJbXzB4MWYwMzQ5KCcweDhlZScpXSE9PV8weDFkZDAzOFtfMHgxZjAzNDkoJzB4Y2U3JyldWydlcnJvcnMnXVsnQ0FMTF9FWENFUFRJT04nXSl0aHJvdyBfMHgyNzBiNzI7cmV0dXJuIG51bGw7fX1lbHNle2lmKF8weDRkMzIyYz15aWVsZCB0aGlzW18weDFmMDM0OSgnMHg3ZmUnKV0oXzB4M2ZhYmJhKSwhXzB4NGQzMjJjKXJldHVybiBudWxsO31jb25zdCBfMHgzMTgxNjU9eWllbGQgXzB4NGQzMjJjW18weDFmMDM0OSgnMHhhMmInKV0oKTtyZXR1cm4gbnVsbD09XzB4MzE4MTY1P251bGw6XzB4MzE4MTY1W18weDFmMDM0OSgnMHg5ZWMnKV07fSk7fVtfMHgyZTUyMDEoJzB4NThjJyldKF8weDU3NGFkMCxfMHg1N2E0ZTApe3ZhciBfMHgxMjZiMTI9XzB4MmU1MjAxO3JldHVybiBfMHgzM2ZjNGJbXzB4MTI2YjEyKCcweDFkMCcpXShfMHg1NzRhZDArXzB4MTI2YjEyKCcweDJjZicpLF8weDFkZDAzOFtfMHgxMjZiMTIoJzB4Y2U3JyldWydlcnJvcnMnXVtfMHgxMjZiMTIoJzB4ZDBmJyldLHsnb3BlcmF0aW9uJzpfMHg1NzRhZDB9KTt9Wydfc3RhcnRFdmVudCddKF8weDRhZDhiYSl7dmFyIF8weDk4NjBiND1fMHgyZTUyMDE7dGhpc1tfMHg5ODYwYjQoJzB4NGFmJyldPXRoaXNbXzB4OTg2MGI0KCcweGJkMCcpXVtfMHg5ODYwYjQoJzB4M2FiJyldKF8weGM0NmNlYz0+XzB4YzQ2Y2VjW18weDk4NjBiNCgnMHg3NTgnKV0oKSlbXzB4OTg2MGI0KCcweDUyMCcpXT4weDA7fVtfMHgyZTUyMDEoJzB4NGUzJyldKF8weDE5ODZhNyl7dmFyIF8weDFiMDBjMT1fMHgyZTUyMDE7dGhpc1tfMHgxYjAwYzEoJzB4NGFmJyldPXRoaXNbXzB4MWIwMGMxKCcweGJkMCcpXVtfMHgxYjAwYzEoJzB4M2FiJyldKF8weDQxZTcyMz0+XzB4NDFlNzIzWydwb2xsYWJsZSddKCkpWydsZW5ndGgnXT4weDA7fVtfMHgyZTUyMDEoJzB4MzVkJyldKF8weDMyYjljNSxfMHgyZWY3MWQsXzB4NTY5NzFhKXt2YXIgXzB4M2I4NDcwPV8weDJlNTIwMTtjb25zdCBfMHg0MzUxMTM9bmV3IF8weDEzN2ZlYShfMHg1NTc2ZWIoXzB4MzJiOWM1KSxfMHgyZWY3MWQsXzB4NTY5NzFhKTtyZXR1cm4gdGhpc1tfMHgzYjg0NzAoJzB4YmQwJyldW18weDNiODQ3MCgnMHg4YjcnKV0oXzB4NDM1MTEzKSx0aGlzW18weDNiODQ3MCgnMHg1NTgnKV0oXzB4NDM1MTEzKSx0aGlzO31bJ29uJ10oXzB4M2U1MWE2LF8weDU5ZTZiNSl7dmFyIF8weDM2ZmQ4Nj1fMHgyZTUyMDE7cmV0dXJuIHRoaXNbXzB4MzZmZDg2KCcweDM1ZCcpXShfMHgzZTUxYTYsXzB4NTllNmI1LCEweDEpO31bXzB4MmU1MjAxKCcweDM1MycpXShfMHgzZTc0YmMsXzB4MTk3MGQ0KXt2YXIgXzB4MTcyNTNlPV8weDJlNTIwMTtyZXR1cm4gdGhpc1tfMHgxNzI1M2UoJzB4MzVkJyldKF8weDNlNzRiYyxfMHgxOTcwZDQsITB4MCk7fVsnZW1pdCddKF8weDE2Y2E0ZiwuLi5fMHgzN2Y2Njgpe3ZhciBfMHg1MzFkMjY9XzB4MmU1MjAxO2xldCBfMHg0MDc2YmI9ITB4MSxfMHgzZWU2YzY9W10sXzB4M2FhZjYxPV8weDU1NzZlYihfMHgxNmNhNGYpO3JldHVybiB0aGlzW18weDUzMWQyNignMHhiZDAnKV09dGhpc1tfMHg1MzFkMjYoJzB4YmQwJyldW18weDUzMWQyNignMHgzYWInKV0oXzB4MzJjYmNiPT5fMHgzMmNiY2JbXzB4NTMxZDI2KCcweDQyYScpXSE9PV8weDNhYWY2MXx8KHNldFRpbWVvdXQoKCk9Pnt2YXIgXzB4MjE0NWIyPV8weDUzMWQyNjtfMHgzMmNiY2JbJ2xpc3RlbmVyJ11bXzB4MjE0NWIyKCcweDQ0MicpXSh0aGlzLF8weDM3ZjY2OCk7fSwweDApLF8weDQwNzZiYj0hMHgwLCFfMHgzMmNiY2JbXzB4NTMxZDI2KCcweDM1MycpXXx8KF8weDNlZTZjNlsncHVzaCddKF8weDMyY2JjYiksITB4MSkpKSxfMHgzZWU2YzZbXzB4NTMxZDI2KCcweDUxZScpXShfMHgzYjg5MWU9Pnt0aGlzWydfc3RvcEV2ZW50J10oXzB4M2I4OTFlKTt9KSxfMHg0MDc2YmI7fVtfMHgyZTUyMDEoJzB4ZDNhJyldKF8weDVmMzY2Mil7dmFyIF8weDk0OGQwZD1fMHgyZTUyMDE7aWYoIV8weDVmMzY2MilyZXR1cm4gdGhpc1tfMHg5NDhkMGQoJzB4YmQwJyldWydsZW5ndGgnXTtsZXQgXzB4OGU2YzUwPV8weDU1NzZlYihfMHg1ZjM2NjIpO3JldHVybiB0aGlzWydfZXZlbnRzJ11bJ2ZpbHRlciddKF8weDUwZDlhYj0+XzB4NTBkOWFiW18weDk0OGQwZCgnMHg0MmEnKV09PT1fMHg4ZTZjNTApWydsZW5ndGgnXTt9WydsaXN0ZW5lcnMnXShfMHgyYmFlNjYpe3ZhciBfMHg0MWFjNzc9XzB4MmU1MjAxO2lmKG51bGw9PV8weDJiYWU2NilyZXR1cm4gdGhpc1tfMHg0MWFjNzcoJzB4YmQwJyldW18weDQxYWM3NygnMHgzYzknKV0oXzB4NTVlYmViPT5fMHg1NWViZWJbXzB4NDFhYzc3KCcweDI0MCcpXSk7bGV0IF8weDU3YWI0Yz1fMHg1NTc2ZWIoXzB4MmJhZTY2KTtyZXR1cm4gdGhpc1tfMHg0MWFjNzcoJzB4YmQwJyldW18weDQxYWM3NygnMHgzYWInKV0oXzB4MTg1ZmY0PT5fMHgxODVmZjRbXzB4NDFhYzc3KCcweDQyYScpXT09PV8weDU3YWI0YylbXzB4NDFhYzc3KCcweDNjOScpXShfMHgzMzI2YmE9Pl8weDMzMjZiYVsnbGlzdGVuZXInXSk7fVtfMHgyZTUyMDEoJzB4OTY4JyldKF8weDllMjZiZSxfMHgzMWM4MWQpe3ZhciBfMHgxNzMxNmI9XzB4MmU1MjAxO2lmKG51bGw9PV8weDMxYzgxZClyZXR1cm4gdGhpc1sncmVtb3ZlQWxsTGlzdGVuZXJzJ10oXzB4OWUyNmJlKTtjb25zdCBfMHgyZDAwOGU9W107bGV0IF8weDQ5ZGM4OD0hMHgxLF8weDQ3MmM1Mj1fMHg1NTc2ZWIoXzB4OWUyNmJlKTtyZXR1cm4gdGhpc1snX2V2ZW50cyddPXRoaXNbXzB4MTczMTZiKCcweGJkMCcpXVtfMHgxNzMxNmIoJzB4M2FiJyldKF8weDRjNTIyNz0+XzB4NGM1MjI3W18weDE3MzE2YignMHg0MmEnKV0hPT1fMHg0NzJjNTJ8fF8weDRjNTIyN1snbGlzdGVuZXInXSE9XzB4MzFjODFkfHwhIV8weDQ5ZGM4OHx8KF8weDQ5ZGM4OD0hMHgwLF8weDJkMDA4ZVtfMHgxNzMxNmIoJzB4OGI3JyldKF8weDRjNTIyNyksITB4MSkpLF8weDJkMDA4ZVtfMHgxNzMxNmIoJzB4NTFlJyldKF8weDU5ZTkxMD0+e3RoaXNbJ19zdG9wRXZlbnQnXShfMHg1OWU5MTApO30pLHRoaXM7fVsncmVtb3ZlQWxsTGlzdGVuZXJzJ10oXzB4MTYxZjA5KXt2YXIgXzB4NWFlZTdiPV8weDJlNTIwMTtsZXQgXzB4NWFjNjhjPVtdO2lmKG51bGw9PV8weDE2MWYwOSlfMHg1YWM2OGM9dGhpc1tfMHg1YWVlN2IoJzB4YmQwJyldLHRoaXNbXzB4NWFlZTdiKCcweGJkMCcpXT1bXTtlbHNle2NvbnN0IF8weDFjZDZlZT1fMHg1NTc2ZWIoXzB4MTYxZjA5KTt0aGlzWydfZXZlbnRzJ109dGhpc1tfMHg1YWVlN2IoJzB4YmQwJyldW18weDVhZWU3YignMHgzYWInKV0oXzB4MWNmNmNkPT5fMHgxY2Y2Y2RbXzB4NWFlZTdiKCcweDQyYScpXSE9PV8weDFjZDZlZXx8KF8weDVhYzY4Y1tfMHg1YWVlN2IoJzB4OGI3JyldKF8weDFjZjZjZCksITB4MSkpO31yZXR1cm4gXzB4NWFjNjhjW18weDVhZWU3YignMHg1MWUnKV0oXzB4NWFhOWFlPT57dmFyIF8weDNiMzg1OD1fMHg1YWVlN2I7dGhpc1tfMHgzYjM4NTgoJzB4NGUzJyldKF8weDVhYTlhZSk7fSksdGhpczt9fX0sMHgyMDooXzB4NWIxYTgwLF8weDFiNTg0NixfMHgzZjY5NjYpPT57J3VzZSBzdHJpY3QnO3ZhciBfMHgxZGZkMjI9XzB4MTVhMztfMHgzZjY5NjZbJ2QnXShfMHgxYjU4NDYseydFZCc6KCk9Pl8weDM5Njg0MywnR3AnOigpPT5fMHg1NTIyYmQsJ01iJzooKT0+XzB4MmNiOTNmLCd2aCc6KCk9Pl8weGY5ZmU4NH0pO3ZhciBfMHgzYzE5YjI9XzB4M2Y2OTY2KDB4MTFmMiksXzB4NGUxYjFmPV8weDNmNjk2NigweGEyMSksXzB4MmY5Y2YxPV8weDNmNjk2NigweGNkNiksXzB4NDYxMzk2PV8weDNmNjk2NigweDI0M2YpLF8weDViOGFjYz1fMHgzZjY5NjYoMHhlMDMpLF8weDQ4NWYwMj1fMHgzZjY5NjYoMHgxMTE5KSxfMHgyY2Y5MDU9XzB4M2Y2OTY2KDB4MmM3KSxfMHgzZDE5Yzc9XzB4M2Y2OTY2KDB4MTA3OCk7Y29uc3QgXzB4M2VlODdhPW5ldyBfMHgyY2Y5MDVbJ0xvZ2dlciddKF8weDNkMTljN1snaSddKTtjbGFzcyBfMHgyY2I5M2Z7Y29uc3RydWN0b3IoKXt2YXIgXzB4MWVjOGZkPV8weDE1YTM7dGhpc1snZm9ybWF0cyddPXRoaXNbXzB4MWVjOGZkKCcweGNiOCcpXSgpO31bJ2dldERlZmF1bHRGb3JtYXRzJ10oKXt2YXIgXzB4MjUzMGQ4PV8weDE1YTM7Y29uc3QgXzB4MTkzYmIwPXt9LF8weDEzMTQxND10aGlzW18weDI1MzBkOCgnMHgxZDEnKV1bXzB4MjUzMGQ4KCcweDRkNCcpXSh0aGlzKSxfMHg1YTU2NWU9dGhpc1tfMHgyNTMwZDgoJzB4MmQ1JyldW18weDI1MzBkOCgnMHg0ZDQnKV0odGhpcyksXzB4MTEzYTA3PXRoaXNbXzB4MjUzMGQ4KCcweDc0ZCcpXVtfMHgyNTMwZDgoJzB4NGQ0JyldKHRoaXMpLF8weDgyNDdmOT10aGlzW18weDI1MzBkOCgnMHhhNTgnKV1bJ2JpbmQnXSh0aGlzKSxfMHg1M2Y4NmE9dGhpc1tfMHgyNTMwZDgoJzB4MmU0JyldW18weDI1MzBkOCgnMHg0ZDQnKV0odGhpcyksXzB4YzUyNjExPXRoaXNbJ2hleCddW18weDI1MzBkOCgnMHg0ZDQnKV0odGhpcyksXzB4NGJiMjBmPXRoaXNbXzB4MjUzMGQ4KCcweDI3YScpXVtfMHgyNTMwZDgoJzB4NGQ0JyldKHRoaXMpLF8weDkzZDRhZj10aGlzW18weDI1MzBkOCgnMHg1N2MnKV1bJ2JpbmQnXSh0aGlzKTtyZXR1cm4gXzB4MTkzYmIwW18weDI1MzBkOCgnMHg0YzMnKV09eydoYXNoJzpfMHg1M2Y4NmEsJ3R5cGUnOl8weDkzZDRhZiwnYWNjZXNzTGlzdCc6XzB4MmNiOTNmW18weDI1MzBkOCgnMHg3OGUnKV0odGhpc1tfMHgyNTMwZDgoJzB4NWQ1JyldW18weDI1MzBkOCgnMHg0ZDQnKV0odGhpcyksbnVsbCksJ2Jsb2NrSGFzaCc6XzB4MmNiOTNmW18weDI1MzBkOCgnMHg3OGUnKV0oXzB4NTNmODZhLG51bGwpLCdibG9ja051bWJlcic6XzB4MmNiOTNmW18weDI1MzBkOCgnMHg3OGUnKV0oXzB4NGJiMjBmLG51bGwpLCd0cmFuc2FjdGlvbkluZGV4JzpfMHgyY2I5M2ZbJ2FsbG93TnVsbCddKF8weDRiYjIwZixudWxsKSwnY29uZmlybWF0aW9ucyc6XzB4MmNiOTNmW18weDI1MzBkOCgnMHg3OGUnKV0oXzB4NGJiMjBmLG51bGwpLCdmcm9tJzpfMHgxMzE0MTQsJ2dhc1ByaWNlJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDc4ZScpXShfMHg1YTU2NWUpLCdtYXhQcmlvcml0eUZlZVBlckdhcyc6XzB4MmNiOTNmW18weDI1MzBkOCgnMHg3OGUnKV0oXzB4NWE1NjVlKSwnbWF4RmVlUGVyR2FzJzpfMHgyY2I5M2ZbJ2FsbG93TnVsbCddKF8weDVhNTY1ZSksJ2dhc0xpbWl0JzpfMHg1YTU2NWUsJ3RvJzpfMHgyY2I5M2ZbJ2FsbG93TnVsbCddKF8weDEzMTQxNCxudWxsKSwndmFsdWUnOl8weDVhNTY1ZSwnbm9uY2UnOl8weDRiYjIwZiwnZGF0YSc6XzB4ODI0N2Y5LCdyJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDc4ZScpXSh0aGlzW18weDI1MzBkOCgnMHg1YjMnKV0pLCdzJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDc4ZScpXSh0aGlzW18weDI1MzBkOCgnMHg1YjMnKV0pLCd2JzpfMHgyY2I5M2ZbJ2FsbG93TnVsbCddKF8weDRiYjIwZiksJ2NyZWF0ZXMnOl8weDJjYjkzZlsnYWxsb3dOdWxsJ10oXzB4MTMxNDE0LG51bGwpLCdyYXcnOl8weDJjYjkzZlsnYWxsb3dOdWxsJ10oXzB4ODI0N2Y5KX0sXzB4MTkzYmIwW18weDI1MzBkOCgnMHg3NmUnKV09eydmcm9tJzpfMHgyY2I5M2ZbJ2FsbG93TnVsbCddKF8weDEzMTQxNCksJ25vbmNlJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDc4ZScpXShfMHg0YmIyMGYpLCdnYXNMaW1pdCc6XzB4MmNiOTNmW18weDI1MzBkOCgnMHg3OGUnKV0oXzB4NWE1NjVlKSwnZ2FzUHJpY2UnOl8weDJjYjkzZltfMHgyNTMwZDgoJzB4NzhlJyldKF8weDVhNTY1ZSksJ21heFByaW9yaXR5RmVlUGVyR2FzJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDc4ZScpXShfMHg1YTU2NWUpLCdtYXhGZWVQZXJHYXMnOl8weDJjYjkzZltfMHgyNTMwZDgoJzB4NzhlJyldKF8weDVhNTY1ZSksJ3RvJzpfMHgyY2I5M2ZbJ2FsbG93TnVsbCddKF8weDEzMTQxNCksJ3ZhbHVlJzpfMHgyY2I5M2ZbJ2FsbG93TnVsbCddKF8weDVhNTY1ZSksJ2RhdGEnOl8weDJjYjkzZltfMHgyNTMwZDgoJzB4NzhlJyldKF8weDJhMzBiZj0+dGhpc1tfMHgyNTMwZDgoJzB4YTU4JyldKF8weDJhMzBiZiwhMHgwKSksJ3R5cGUnOl8weDJjYjkzZltfMHgyNTMwZDgoJzB4NzhlJyldKF8weDRiYjIwZiksJ2FjY2Vzc0xpc3QnOl8weDJjYjkzZltfMHgyNTMwZDgoJzB4NzhlJyldKHRoaXNbJ2FjY2Vzc0xpc3QnXVtfMHgyNTMwZDgoJzB4NGQ0JyldKHRoaXMpLG51bGwpfSxfMHgxOTNiYjBbXzB4MjUzMGQ4KCcweDk0MycpXT17J3RyYW5zYWN0aW9uSW5kZXgnOl8weDRiYjIwZiwnYmxvY2tOdW1iZXInOl8weDRiYjIwZiwndHJhbnNhY3Rpb25IYXNoJzpfMHg1M2Y4NmEsJ2FkZHJlc3MnOl8weDEzMTQxNCwndG9waWNzJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDM5YicpXShfMHg1M2Y4NmEpLCdkYXRhJzpfMHg4MjQ3ZjksJ2xvZ0luZGV4JzpfMHg0YmIyMGYsJ2Jsb2NrSGFzaCc6XzB4NTNmODZhfSxfMHgxOTNiYjBbXzB4MjUzMGQ4KCcweDI3NCcpXT17J3RvJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDc4ZScpXSh0aGlzWydhZGRyZXNzJ10sbnVsbCksJ2Zyb20nOl8weDJjYjkzZlsnYWxsb3dOdWxsJ10odGhpc1tfMHgyNTMwZDgoJzB4MWQxJyldLG51bGwpLCdjb250cmFjdEFkZHJlc3MnOl8weDJjYjkzZltfMHgyNTMwZDgoJzB4NzhlJyldKF8weDEzMTQxNCxudWxsKSwndHJhbnNhY3Rpb25JbmRleCc6XzB4NGJiMjBmLCdyb290JzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDc4ZScpXShfMHhjNTI2MTEpLCdnYXNVc2VkJzpfMHg1YTU2NWUsJ2xvZ3NCbG9vbSc6XzB4MmNiOTNmW18weDI1MzBkOCgnMHg3OGUnKV0oXzB4ODI0N2Y5KSwnYmxvY2tIYXNoJzpfMHg1M2Y4NmEsJ3RyYW5zYWN0aW9uSGFzaCc6XzB4NTNmODZhLCdsb2dzJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDM5YicpXSh0aGlzW18weDI1MzBkOCgnMHg5NDMnKV1bXzB4MjUzMGQ4KCcweDRkNCcpXSh0aGlzKSksJ2Jsb2NrTnVtYmVyJzpfMHg0YmIyMGYsJ2NvbmZpcm1hdGlvbnMnOl8weDJjYjkzZltfMHgyNTMwZDgoJzB4NzhlJyldKF8weDRiYjIwZixudWxsKSwnY3VtdWxhdGl2ZUdhc1VzZWQnOl8weDVhNTY1ZSwnZWZmZWN0aXZlR2FzUHJpY2UnOl8weDJjYjkzZltfMHgyNTMwZDgoJzB4NzhlJyldKF8weDVhNTY1ZSksJ3N0YXR1cyc6XzB4MmNiOTNmW18weDI1MzBkOCgnMHg3OGUnKV0oXzB4NGJiMjBmKSwndHlwZSc6XzB4OTNkNGFmfSxfMHgxOTNiYjBbJ2Jsb2NrJ109eydoYXNoJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDc4ZScpXShfMHg1M2Y4NmEpLCdwYXJlbnRIYXNoJzpfMHg1M2Y4NmEsJ251bWJlcic6XzB4NGJiMjBmLCd0aW1lc3RhbXAnOl8weDRiYjIwZiwnbm9uY2UnOl8weDJjYjkzZltfMHgyNTMwZDgoJzB4NzhlJyldKF8weGM1MjYxMSksJ2RpZmZpY3VsdHknOnRoaXNbXzB4MjUzMGQ4KCcweDFkNycpXVtfMHgyNTMwZDgoJzB4NGQ0JyldKHRoaXMpLCdnYXNMaW1pdCc6XzB4NWE1NjVlLCdnYXNVc2VkJzpfMHg1YTU2NWUsJ21pbmVyJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDc4ZScpXShfMHgxMzE0MTQpLCdleHRyYURhdGEnOl8weDgyNDdmOSwndHJhbnNhY3Rpb25zJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDc4ZScpXShfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDM5YicpXShfMHg1M2Y4NmEpKSwnYmFzZUZlZVBlckdhcyc6XzB4MmNiOTNmW18weDI1MzBkOCgnMHg3OGUnKV0oXzB4NWE1NjVlKX0sXzB4MTkzYmIwWydibG9ja1dpdGhUcmFuc2FjdGlvbnMnXT0oMHgwLF8weDViOGFjY1tfMHgyNTMwZDgoJzB4OGQ5JyldKShfMHgxOTNiYjBbXzB4MjUzMGQ4KCcweDdhOScpXSksXzB4MTkzYmIwWydibG9ja1dpdGhUcmFuc2FjdGlvbnMnXVsndHJhbnNhY3Rpb25zJ109XzB4MmNiOTNmW18weDI1MzBkOCgnMHg3OGUnKV0oXzB4MmNiOTNmW18weDI1MzBkOCgnMHgzOWInKV0odGhpc1tfMHgyNTMwZDgoJzB4OTE5JyldWydiaW5kJ10odGhpcykpKSxfMHgxOTNiYjBbXzB4MjUzMGQ4KCcweDNhYicpXT17J2Zyb21CbG9jayc6XzB4MmNiOTNmW18weDI1MzBkOCgnMHg3OGUnKV0oXzB4MTEzYTA3LHZvaWQgMHgwKSwndG9CbG9jayc6XzB4MmNiOTNmW18weDI1MzBkOCgnMHg3OGUnKV0oXzB4MTEzYTA3LHZvaWQgMHgwKSwnYmxvY2tIYXNoJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDc4ZScpXShfMHg1M2Y4NmEsdm9pZCAweDApLCdhZGRyZXNzJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDc4ZScpXShfMHgxMzE0MTQsdm9pZCAweDApLCd0b3BpY3MnOl8weDJjYjkzZltfMHgyNTMwZDgoJzB4NzhlJyldKHRoaXNbXzB4MjUzMGQ4KCcweDI5ZScpXVtfMHgyNTMwZDgoJzB4NGQ0JyldKHRoaXMpLHZvaWQgMHgwKX0sXzB4MTkzYmIwW18weDI1MzBkOCgnMHg3MmInKV09eydibG9ja051bWJlcic6XzB4MmNiOTNmW18weDI1MzBkOCgnMHg3OGUnKV0oXzB4NGJiMjBmKSwnYmxvY2tIYXNoJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDc4ZScpXShfMHg1M2Y4NmEpLCd0cmFuc2FjdGlvbkluZGV4JzpfMHg0YmIyMGYsJ3JlbW92ZWQnOl8weDJjYjkzZltfMHgyNTMwZDgoJzB4NzhlJyldKHRoaXNbJ2Jvb2xlYW4nXVtfMHgyNTMwZDgoJzB4NGQ0JyldKHRoaXMpKSwnYWRkcmVzcyc6XzB4MTMxNDE0LCdkYXRhJzpfMHgyY2I5M2ZbXzB4MjUzMGQ4KCcweDczZicpXShfMHg4MjQ3ZjksJzB4JyksJ3RvcGljcyc6XzB4MmNiOTNmW18weDI1MzBkOCgnMHgzOWInKV0oXzB4NTNmODZhKSwndHJhbnNhY3Rpb25IYXNoJzpfMHg1M2Y4NmEsJ2xvZ0luZGV4JzpfMHg0YmIyMGZ9LF8weDE5M2JiMDt9W18weDFkZmQyMignMHg1ZDUnKV0oXzB4NDk4M2FmKXt2YXIgXzB4NDIwOGY4PV8weDFkZmQyMjtyZXR1cm4oMHgwLF8weDQ4NWYwMltfMHg0MjA4ZjgoJzB4NjBkJyldKShfMHg0OTgzYWZ8fFtdKTt9W18weDFkZmQyMignMHgyN2EnKV0oXzB4NGFhOWVmKXt2YXIgXzB4M2JhNDY1PV8weDFkZmQyMjtyZXR1cm4nMHgnPT09XzB4NGFhOWVmPzB4MDpfMHg0ZTFiMWZbJ08kJ11bXzB4M2JhNDY1KCcweDI1MicpXShfMHg0YWE5ZWYpW18weDNiYTQ2NSgnMHg5NDEnKV0oKTt9W18weDFkZmQyMignMHg1N2MnKV0oXzB4MTc1YTc0KXt2YXIgXzB4MmVhMzlmPV8weDFkZmQyMjtyZXR1cm4nMHgnPT09XzB4MTc1YTc0fHxudWxsPT1fMHgxNzVhNzQ/MHgwOl8weDRlMWIxZlsnTyQnXVtfMHgyZWEzOWYoJzB4MjUyJyldKF8weDE3NWE3NClbXzB4MmVhMzlmKCcweDk0MScpXSgpO31bJ2JpZ051bWJlciddKF8weDEzMjdiNyl7dmFyIF8weDEwZjAxND1fMHgxZGZkMjI7cmV0dXJuIF8weDRlMWIxZlsnTyQnXVtfMHgxMGYwMTQoJzB4MjUyJyldKF8weDEzMjdiNyk7fVsnYm9vbGVhbiddKF8weGVkZjcyNyl7dmFyIF8weDIwNzBmZj1fMHgxZGZkMjI7aWYoXzB4MjA3MGZmKCcweDRiMycpPT10eXBlb2YgXzB4ZWRmNzI3KXJldHVybiBfMHhlZGY3Mjc7aWYoXzB4MjA3MGZmKCcweDY1ZicpPT10eXBlb2YgXzB4ZWRmNzI3KXtpZihfMHgyMDcwZmYoJzB4MmUwJyk9PT0oXzB4ZWRmNzI3PV8weGVkZjcyN1tfMHgyMDcwZmYoJzB4ODcwJyldKCkpKXJldHVybiEweDA7aWYoXzB4MjA3MGZmKCcweDQ2ZicpPT09XzB4ZWRmNzI3KXJldHVybiEweDE7fXRocm93IG5ldyBFcnJvcihfMHgyMDcwZmYoJzB4MzA2JykrXzB4ZWRmNzI3KTt9W18weDFkZmQyMignMHhjNGQnKV0oXzB4MTJiZTJiLF8weDIyN2VkYSl7dmFyIF8weDI2YjFmMT1fMHgxZGZkMjI7cmV0dXJuIF8weDI2YjFmMSgnMHg2NWYnKT09dHlwZW9mIF8weDEyYmUyYiYmKF8weDIyN2VkYXx8JzB4Jz09PV8weDEyYmUyYlsnc3Vic3RyaW5nJ10oMHgwLDB4Mil8fChfMHgxMmJlMmI9JzB4JytfMHgxMmJlMmIpLCgweDAsXzB4MmY5Y2YxW18weDI2YjFmMSgnMHhiNjEnKV0pKF8weDEyYmUyYikpP18weDEyYmUyYltfMHgyNmIxZjEoJzB4ODcwJyldKCk6XzB4M2VlODdhWyd0aHJvd0FyZ3VtZW50RXJyb3InXSgnaW52YWxpZFx4MjBoYXNoJyxfMHgyNmIxZjEoJzB4ODlkJyksXzB4MTJiZTJiKTt9W18weDFkZmQyMignMHhhNTgnKV0oXzB4NGU2MjNmLF8weDJjMTE2YSl7dmFyIF8weDJjZGIwYj1fMHgxZGZkMjI7Y29uc3QgXzB4MzIzOGM4PXRoaXNbXzB4MmNkYjBiKCcweGM0ZCcpXShfMHg0ZTYyM2YsXzB4MmMxMTZhKTtpZihfMHgzMjM4YzhbJ2xlbmd0aCddJTB4MiE9MHgwKXRocm93IG5ldyBFcnJvcihfMHgyY2RiMGIoJzB4YmE3JykrXzB4NGU2MjNmKTtyZXR1cm4gXzB4MzIzOGM4O31bJ2FkZHJlc3MnXShfMHgzYjc1ZTMpe3ZhciBfMHgzYTgzYTY9XzB4MWRmZDIyO3JldHVybigweDAsXzB4M2MxOWIyW18weDNhODNhNignMHgzZGYnKV0pKF8weDNiNzVlMyk7fVtfMHgxZGZkMjIoJzB4NDg4JyldKF8weDQ3NjNiNSl7dmFyIF8weDJkMzU3OT1fMHgxZGZkMjI7aWYoISgweDAsXzB4MmY5Y2YxWydpc0hleFN0cmluZyddKShfMHg0NzYzYjUsMHgyMCkpcmV0dXJuIG51bGw7Y29uc3QgXzB4M2VlNTg1PSgweDAsXzB4M2MxOWIyW18weDJkMzU3OSgnMHgzZGYnKV0pKCgweDAsXzB4MmY5Y2YxW18weDJkMzU3OSgnMHg4MTEnKV0pKF8weDQ3NjNiNSwweGMpKTtyZXR1cm4gXzB4M2VlNTg1PT09XzB4NDYxMzk2WydkJ10/bnVsbDpfMHgzZWU1ODU7fVtfMHgxZGZkMjIoJzB4NTIyJyldKF8weDM5NjEwYSl7cmV0dXJuKDB4MCxfMHgzYzE5YjJbJ2dldENvbnRyYWN0QWRkcmVzcyddKShfMHgzOTYxMGEpO31bXzB4MWRmZDIyKCcweDc0ZCcpXShfMHg1NGM0OGEpe3ZhciBfMHgzYmUzMDA9XzB4MWRmZDIyO2lmKG51bGw9PV8weDU0YzQ4YSlyZXR1cm4nbGF0ZXN0JztpZihfMHgzYmUzMDAoJzB4OTQ1Jyk9PT1fMHg1NGM0OGEpcmV0dXJuIF8weDNiZTMwMCgnMHg3YTUnKTtzd2l0Y2goXzB4NTRjNDhhKXtjYXNlIF8weDNiZTMwMCgnMHg5NDUnKTpyZXR1cm4nMHgwJztjYXNlIF8weDNiZTMwMCgnMHg4YmInKTpjYXNlIF8weDNiZTMwMCgnMHg5YTInKTpjYXNlJ3NhZmUnOmNhc2UgXzB4M2JlMzAwKCcweDhkMicpOnJldHVybiBfMHg1NGM0OGE7fWlmKCdudW1iZXInPT10eXBlb2YgXzB4NTRjNDhhfHwoMHgwLF8weDJmOWNmMVtfMHgzYmUzMDAoJzB4YjYxJyldKShfMHg1NGM0OGEpKXJldHVybigweDAsXzB4MmY5Y2YxW18weDNiZTMwMCgnMHg4ZjQnKV0pKF8weDU0YzQ4YSk7dGhyb3cgbmV3IEVycm9yKF8weDNiZTMwMCgnMHhhNzknKSk7fVtfMHgxZGZkMjIoJzB4MmU0JyldKF8weDFlNjQxZixfMHgxYjQxODUpe3ZhciBfMHgxYjgxZGI9XzB4MWRmZDIyO2NvbnN0IF8weDMzMjU1YT10aGlzW18weDFiODFkYignMHhjNGQnKV0oXzB4MWU2NDFmLF8weDFiNDE4NSk7cmV0dXJuIDB4MjAhPT0oMHgwLF8weDJmOWNmMVtfMHgxYjgxZGIoJzB4YTk0JyldKShfMHgzMzI1NWEpP18weDNlZTg3YVtfMHgxYjgxZGIoJzB4NjM1JyldKF8weDFiODFkYignMHhjMzgnKSwndmFsdWUnLF8weDFlNjQxZik6XzB4MzMyNTVhO31bJ2RpZmZpY3VsdHknXShfMHg1MzY3MjQpe2lmKG51bGw9PV8weDUzNjcyNClyZXR1cm4gbnVsbDtjb25zdCBfMHgzZjExNjI9XzB4NGUxYjFmWydPJCddWydmcm9tJ10oXzB4NTM2NzI0KTt0cnl7cmV0dXJuIF8weDNmMTE2MlsndG9OdW1iZXInXSgpO31jYXRjaChfMHg1ZDNjZTIpe31yZXR1cm4gbnVsbDt9W18weDFkZmQyMignMHg1YjMnKV0oXzB4Yzc1ZjdjKXt2YXIgXzB4NGE0MmRkPV8weDFkZmQyMjtpZighKDB4MCxfMHgyZjljZjFbJ2lzSGV4U3RyaW5nJ10pKF8weGM3NWY3YykpdGhyb3cgbmV3IEVycm9yKF8weDRhNDJkZCgnMHhiNTYnKSk7cmV0dXJuKDB4MCxfMHgyZjljZjFbXzB4NGE0MmRkKCcweDQyMScpXSkoXzB4Yzc1ZjdjLDB4MjApO31bXzB4MWRmZDIyKCcweDI4ZCcpXShfMHg1OGJjZTYsXzB4MTQwMzczKXt2YXIgXzB4NWU3MTMxPV8weDFkZmQyMjtudWxsIT1fMHg1OGJjZTZbXzB4NWU3MTMxKCcweDhjYycpXSYmbnVsbD09XzB4NThiY2U2W18weDVlNzEzMSgnMHhhNmQnKV0mJihfMHg1OGJjZTZbXzB4NWU3MTMxKCcweGE2ZCcpXT1fMHg1OGJjZTZbXzB4NWU3MTMxKCcweDhjYycpXSk7Y29uc3QgXzB4ZTNhZGRhPW51bGwhPV8weDU4YmNlNltfMHg1ZTcxMzEoJzB4OGNkJyldP18weDU4YmNlNltfMHg1ZTcxMzEoJzB4OGNkJyldOl8weDU4YmNlNltfMHg1ZTcxMzEoJzB4MWQ3JyldLF8weDI2NjFkNj1fMHgyY2I5M2ZbXzB4NWU3MTMxKCcweDliMCcpXShfMHgxNDAzNzMsXzB4NThiY2U2KTtyZXR1cm4gXzB4MjY2MWQ2W18weDVlNzEzMSgnMHg4Y2QnKV09bnVsbD09XzB4ZTNhZGRhP251bGw6XzB4NGUxYjFmWydPJCddW18weDVlNzEzMSgnMHgyNTInKV0oXzB4ZTNhZGRhKSxfMHgyNjYxZDY7fVtfMHgxZGZkMjIoJzB4N2E5JyldKF8weDRkY2NkNil7dmFyIF8weDM2YmQxYT1fMHgxZGZkMjI7cmV0dXJuIHRoaXNbXzB4MzZiZDFhKCcweDI4ZCcpXShfMHg0ZGNjZDYsdGhpc1snZm9ybWF0cyddW18weDM2YmQxYSgnMHg3YTknKV0pO31bXzB4MWRmZDIyKCcweDc1MicpXShfMHgxNGYyMTcpe3ZhciBfMHg0MTdjY2Q9XzB4MWRmZDIyO3JldHVybiB0aGlzWydfYmxvY2snXShfMHgxNGYyMTcsdGhpc1tfMHg0MTdjY2QoJzB4YzViJyldW18weDQxN2NjZCgnMHg3NTInKV0pO31bXzB4MWRmZDIyKCcweDc2ZScpXShfMHg0Y2VhOGYpe3ZhciBfMHg0ZjcwMmM9XzB4MWRmZDIyO3JldHVybiBfMHgyY2I5M2ZbXzB4NGY3MDJjKCcweDliMCcpXSh0aGlzW18weDRmNzAyYygnMHhjNWInKV1bXzB4NGY3MDJjKCcweDc2ZScpXSxfMHg0Y2VhOGYpO31bXzB4MWRmZDIyKCcweDkxOScpXShfMHg0MDBmNjgpe3ZhciBfMHg1MGY4YzQ9XzB4MWRmZDIyO251bGwhPV8weDQwMGY2OFtfMHg1MGY4YzQoJzB4NDJmJyldJiZudWxsPT1fMHg0MDBmNjhbXzB4NTBmOGM0KCcweDk2MycpXSYmKF8weDQwMGY2OFtfMHg1MGY4YzQoJzB4OTYzJyldPV8weDQwMGY2OFtfMHg1MGY4YzQoJzB4NDJmJyldKSxfMHg0MDBmNjhbJ3RvJ10mJl8weDRlMWIxZlsnTyQnXVsnZnJvbSddKF8weDQwMGY2OFsndG8nXSlbJ2lzWmVybyddKCkmJihfMHg0MDBmNjhbJ3RvJ109XzB4NTBmOGM0KCcweDQ3YScpKSxudWxsIT1fMHg0MDBmNjhbXzB4NTBmOGM0KCcweDNmZCcpXSYmbnVsbD09XzB4NDAwZjY4W18weDUwZjhjNCgnMHhhNTgnKV0mJihfMHg0MDBmNjhbXzB4NTBmOGM0KCcweGE1OCcpXT1fMHg0MDBmNjhbJ2lucHV0J10pLG51bGw9PV8weDQwMGY2OFsndG8nXSYmbnVsbD09XzB4NDAwZjY4W18weDUwZjhjNCgnMHg0N2InKV0mJihfMHg0MDBmNjhbJ2NyZWF0ZXMnXT10aGlzWydjb250cmFjdEFkZHJlc3MnXShfMHg0MDBmNjgpKSwweDEhPT1fMHg0MDBmNjhbJ3R5cGUnXSYmMHgyIT09XzB4NDAwZjY4Wyd0eXBlJ118fG51bGwhPV8weDQwMGY2OFsnYWNjZXNzTGlzdCddfHwoXzB4NDAwZjY4W18weDUwZjhjNCgnMHg1ZDUnKV09W10pO2NvbnN0IF8weDNjZTY3MT1fMHgyY2I5M2ZbXzB4NTBmOGM0KCcweDliMCcpXSh0aGlzWydmb3JtYXRzJ11bJ3RyYW5zYWN0aW9uJ10sXzB4NDAwZjY4KTtpZihudWxsIT1fMHg0MDBmNjhbXzB4NTBmOGM0KCcweDI2MicpXSl7bGV0IF8weDI4ODYxZj1fMHg0MDBmNjhbJ2NoYWluSWQnXTsoMHgwLF8weDJmOWNmMVsnaXNIZXhTdHJpbmcnXSkoXzB4Mjg4NjFmKSYmKF8weDI4ODYxZj1fMHg0ZTFiMWZbJ08kJ11bXzB4NTBmOGM0KCcweDI1MicpXShfMHgyODg2MWYpW18weDUwZjhjNCgnMHg5NDEnKV0oKSksXzB4M2NlNjcxWydjaGFpbklkJ109XzB4Mjg4NjFmO31lbHNle2xldCBfMHgyZGVlMzE9XzB4NDAwZjY4W18weDUwZjhjNCgnMHhkNDMnKV07bnVsbD09XzB4MmRlZTMxJiZudWxsPT1fMHgzY2U2NzFbJ3YnXSYmKF8weDJkZWUzMT1fMHg0MDBmNjhbJ2NoYWluSWQnXSksKDB4MCxfMHgyZjljZjFbXzB4NTBmOGM0KCcweGI2MScpXSkoXzB4MmRlZTMxKSYmKF8weDJkZWUzMT1fMHg0ZTFiMWZbJ08kJ11bJ2Zyb20nXShfMHgyZGVlMzEpW18weDUwZjhjNCgnMHg5NDEnKV0oKSksXzB4NTBmOGM0KCcweDI3YScpIT10eXBlb2YgXzB4MmRlZTMxJiZudWxsIT1fMHgzY2U2NzFbJ3YnXSYmKF8weDJkZWUzMT0oXzB4M2NlNjcxWyd2J10tMHgyMykvMHgyLF8weDJkZWUzMTwweDAmJihfMHgyZGVlMzE9MHgwKSxfMHgyZGVlMzE9cGFyc2VJbnQoXzB4MmRlZTMxKSksJ251bWJlcichPXR5cGVvZiBfMHgyZGVlMzEmJihfMHgyZGVlMzE9MHgwKSxfMHgzY2U2NzFbJ2NoYWluSWQnXT1fMHgyZGVlMzE7fXJldHVybiBfMHgzY2U2NzFbJ2Jsb2NrSGFzaCddJiYneCc9PT1fMHgzY2U2NzFbXzB4NTBmOGM0KCcweGE4ZicpXVtfMHg1MGY4YzQoJzB4MzZjJyldKC8wL2csJycpJiYoXzB4M2NlNjcxW18weDUwZjhjNCgnMHhhOGYnKV09bnVsbCksXzB4M2NlNjcxO31bXzB4MWRmZDIyKCcweDRjMycpXShfMHgyOTY1N2Upe3JldHVybigweDAsXzB4NDg1ZjAyWydwYXJzZSddKShfMHgyOTY1N2UpO31bXzB4MWRmZDIyKCcweDk0MycpXShfMHgyZjBmODIpe3ZhciBfMHg0MDc3MzI9XzB4MWRmZDIyO3JldHVybiBfMHgyY2I5M2ZbXzB4NDA3NzMyKCcweDliMCcpXSh0aGlzW18weDQwNzczMignMHhjNWInKV1bXzB4NDA3NzMyKCcweDk0MycpXSxfMHgyZjBmODIpO31bXzB4MWRmZDIyKCcweDI3NCcpXShfMHgzMjBhNDQpe3ZhciBfMHg0MWU2MTM9XzB4MWRmZDIyO2NvbnN0IF8weDM3Y2IyOT1fMHgyY2I5M2ZbXzB4NDFlNjEzKCcweDliMCcpXSh0aGlzW18weDQxZTYxMygnMHhjNWInKV1bXzB4NDFlNjEzKCcweDI3NCcpXSxfMHgzMjBhNDQpO2lmKG51bGwhPV8weDM3Y2IyOVtfMHg0MWU2MTMoJzB4MzE4JyldKXtpZihfMHgzN2NiMjlbXzB4NDFlNjEzKCcweDMxOCcpXVtfMHg0MWU2MTMoJzB4NTIwJyldPD0weDQpe2NvbnN0IF8weDNmNzM5MT1fMHg0ZTFiMWZbJ08kJ11bXzB4NDFlNjEzKCcweDI1MicpXShfMHgzN2NiMjlbXzB4NDFlNjEzKCcweDMxOCcpXSlbJ3RvTnVtYmVyJ10oKTsweDA9PT1fMHgzZjczOTF8fDB4MT09PV8weDNmNzM5MT8obnVsbCE9XzB4MzdjYjI5W18weDQxZTYxMygnMHhiM2QnKV0mJl8weDM3Y2IyOVtfMHg0MWU2MTMoJzB4YjNkJyldIT09XzB4M2Y3MzkxJiZfMHgzZWU4N2FbXzB4NDFlNjEzKCcweDYzNScpXShfMHg0MWU2MTMoJzB4OTRkJyksXzB4NDFlNjEzKCcweDg5ZCcpLHsncm9vdCc6XzB4MzdjYjI5W18weDQxZTYxMygnMHgzMTgnKV0sJ3N0YXR1cyc6XzB4MzdjYjI5W18weDQxZTYxMygnMHhiM2QnKV19KSxfMHgzN2NiMjlbXzB4NDFlNjEzKCcweGIzZCcpXT1fMHgzZjczOTEsZGVsZXRlIF8weDM3Y2IyOVtfMHg0MWU2MTMoJzB4MzE4JyldKTpfMHgzZWU4N2FbXzB4NDFlNjEzKCcweDYzNScpXSgnaW52YWxpZFx4MjBhbHQtcm9vdC1zdGF0dXMnLF8weDQxZTYxMygnMHhhYTAnKSxfMHgzN2NiMjlbXzB4NDFlNjEzKCcweDMxOCcpXSk7fWVsc2UgMHg0MiE9PV8weDM3Y2IyOVsncm9vdCddW18weDQxZTYxMygnMHg1MjAnKV0mJl8weDNlZTg3YVsndGhyb3dBcmd1bWVudEVycm9yJ10oXzB4NDFlNjEzKCcweGNiMCcpLF8weDQxZTYxMygnMHhhYTAnKSxfMHgzN2NiMjlbJ3Jvb3QnXSk7fXJldHVybiBudWxsIT1fMHgzN2NiMjlbXzB4NDFlNjEzKCcweGIzZCcpXSYmKF8weDM3Y2IyOVtfMHg0MWU2MTMoJzB4MzRkJyldPSEweDApLF8weDM3Y2IyOTt9W18weDFkZmQyMignMHgyOWUnKV0oXzB4MzZmYWU0KXt2YXIgXzB4MWJkZjU1PV8weDFkZmQyMjtyZXR1cm4gQXJyYXlbXzB4MWJkZjU1KCcweDhmMScpXShfMHgzNmZhZTQpP18weDM2ZmFlNFtfMHgxYmRmNTUoJzB4M2M5JyldKF8weDU1MGY1OD0+dGhpc1sndG9waWNzJ10oXzB4NTUwZjU4KSk6bnVsbCE9XzB4MzZmYWU0P3RoaXNbJ2hhc2gnXShfMHgzNmZhZTQsITB4MCk6bnVsbDt9WydmaWx0ZXInXShfMHgxZGFhMTIpe3ZhciBfMHgyODZkZmQ9XzB4MWRmZDIyO3JldHVybiBfMHgyY2I5M2ZbXzB4Mjg2ZGZkKCcweDliMCcpXSh0aGlzW18weDI4NmRmZCgnMHhjNWInKV1bXzB4Mjg2ZGZkKCcweDNhYicpXSxfMHgxZGFhMTIpO31bXzB4MWRmZDIyKCcweDcyYicpXShfMHg1ZjAyYjApe3ZhciBfMHg0OWYzMDU9XzB4MWRmZDIyO3JldHVybiBfMHgyY2I5M2ZbXzB4NDlmMzA1KCcweDliMCcpXSh0aGlzW18weDQ5ZjMwNSgnMHhjNWInKV1bXzB4NDlmMzA1KCcweDcyYicpXSxfMHg1ZjAyYjApO31zdGF0aWNbXzB4MWRmZDIyKCcweDliMCcpXShfMHgyODMzYjMsXzB4MTIyZjZiKXt2YXIgXzB4YjU5NTk1PV8weDFkZmQyMjtjb25zdCBfMHg3NzdiNDU9e307Zm9yKGNvbnN0IF8weDMwNzUzYyBpbiBfMHgyODMzYjMpdHJ5e2NvbnN0IF8weDdiYjk1Mj1fMHgyODMzYjNbXzB4MzA3NTNjXShfMHgxMjJmNmJbXzB4MzA3NTNjXSk7dm9pZCAweDAhPT1fMHg3YmI5NTImJihfMHg3NzdiNDVbXzB4MzA3NTNjXT1fMHg3YmI5NTIpO31jYXRjaChfMHgxMDY5MTYpe3Rocm93IF8weDEwNjkxNltfMHhiNTk1OTUoJzB4NWNlJyldPV8weDMwNzUzYyxfMHgxMDY5MTZbXzB4YjU5NTk1KCcweGQzZCcpXT1fMHgxMjJmNmJbXzB4MzA3NTNjXSxfMHgxMDY5MTY7fXJldHVybiBfMHg3NzdiNDU7fXN0YXRpY1tfMHgxZGZkMjIoJzB4NzhlJyldKF8weDIzMmM1ZSxfMHg0YWU2OGUpe3JldHVybiBmdW5jdGlvbihfMHg1ZWI0NzQpe3JldHVybiBudWxsPT1fMHg1ZWI0NzQ/XzB4NGFlNjhlOl8weDIzMmM1ZShfMHg1ZWI0NzQpO307fXN0YXRpY1snYWxsb3dGYWxzaXNoJ10oXzB4NDQ5MWU0LF8weDVkMjAxZil7cmV0dXJuIGZ1bmN0aW9uKF8weDk1NzNmMil7cmV0dXJuIF8weDk1NzNmMj9fMHg0NDkxZTQoXzB4OTU3M2YyKTpfMHg1ZDIwMWY7fTt9c3RhdGljW18weDFkZmQyMignMHgzOWInKV0oXzB4NTI1ZDNlKXtyZXR1cm4gZnVuY3Rpb24oXzB4MmY0ZDQwKXt2YXIgXzB4Mjc3ZThkPV8weDE1YTM7aWYoIUFycmF5Wydpc0FycmF5J10oXzB4MmY0ZDQwKSl0aHJvdyBuZXcgRXJyb3IoXzB4Mjc3ZThkKCcweGNhZScpKTtjb25zdCBfMHhlOGEzOTE9W107cmV0dXJuIF8weDJmNGQ0MFtfMHgyNzdlOGQoJzB4NTFlJyldKGZ1bmN0aW9uKF8weDU1YTg0NSl7dmFyIF8weDI1ZWEzMD1fMHgyNzdlOGQ7XzB4ZThhMzkxW18weDI1ZWEzMCgnMHg4YjcnKV0oXzB4NTI1ZDNlKF8weDU1YTg0NSkpO30pLF8weGU4YTM5MTt9O319ZnVuY3Rpb24gXzB4Mzk2ODQzKF8weDEwZmUzYyl7cmV0dXJuIF8weDEwZmUzYyYmJ2Z1bmN0aW9uJz09dHlwZW9mIF8weDEwZmUzY1snaXNDb21tdW5pdHlSZXNvdXJjZSddO31mdW5jdGlvbiBfMHg1NTIyYmQoXzB4MmNhOTI5KXtyZXR1cm4gXzB4Mzk2ODQzKF8weDJjYTkyOSkmJl8weDJjYTkyOVsnaXNDb21tdW5pdHlSZXNvdXJjZSddKCk7fWxldCBfMHgyNmI5ZTk9ITB4MTtmdW5jdGlvbiBfMHhmOWZlODQoKXt2YXIgXzB4NzE5M2EzPV8weDFkZmQyMjtfMHgyNmI5ZTl8fChfMHgyNmI5ZTk9ITB4MCxjb25zb2xlW18weDcxOTNhMygnMHg1YmEnKV0oJz09PT09PT09PVx4MjBOT1RJQ0VceDIwPT09PT09PT09JyksY29uc29sZVtfMHg3MTkzYTMoJzB4NWJhJyldKF8weDcxOTNhMygnMHg1YTInKSksY29uc29sZVsnbG9nJ10oJycpLGNvbnNvbGVbXzB4NzE5M2EzKCcweDViYScpXShfMHg3MTkzYTMoJzB4NTkxJykpLGNvbnNvbGVbXzB4NzE5M2EzKCcweDViYScpXSgnY29tbXVuaXR5XHgyMHJlc291cmNlXHgyMGZvclx4MjBsb3ctdHJhZmZpY1x4MjBwcm9qZWN0c1x4MjBhbmRceDIwZWFybHlceDIwcHJvdG90eXBpbmcuJyksY29uc29sZVtfMHg3MTkzYTMoJzB4NWJhJyldKCcnKSxjb25zb2xlW18weDcxOTNhMygnMHg1YmEnKV0oXzB4NzE5M2EzKCcweDZmMycpKSxjb25zb2xlW18weDcxOTNhMygnMHg1YmEnKV0oJ3NpZ25pbmdceDIwdXBceDIwZm9yXHgyMHlvdXJceDIwb3duXHgyMEFQSVx4MjBrZXlzXHgyMHRvXHgyMGltcHJvdmVceDIwcGVyZm9ybWFuY2UsXHgyMGluY3JlYXNlXHgyMHlvdXInKSxjb25zb2xlW18weDcxOTNhMygnMHg1YmEnKV0oXzB4NzE5M2EzKCcweDVjOScpKSxjb25zb2xlW18weDcxOTNhMygnMHg1YmEnKV0oJycpLGNvbnNvbGVbXzB4NzE5M2EzKCcweDViYScpXShfMHg3MTkzYTMoJzB4NmJmJykpLGNvbnNvbGVbXzB4NzE5M2EzKCcweDViYScpXShfMHg3MTkzYTMoJzB4NDIyJykpKTt9fSwweDg0NjooXzB4MzA1NWU2LF8weDExNDFmNyxfMHg0M2FhODgpPT57J3VzZSBzdHJpY3QnO18weDQzYWE4OFsnciddKF8weDExNDFmNyksXzB4NDNhYTg4WydkJ10oXzB4MTE0MWY3LHsncmFuZG9tQnl0ZXMnOigpPT5fMHgxMTk2ZTdbJ08nXSwnc2h1ZmZsZWQnOigpPT5fMHg0YWM5NmZbJ3knXX0pO3ZhciBfMHgxMTk2ZTc9XzB4NDNhYTg4KDB4MTE3ZSksXzB4NGFjOTZmPV8weDQzYWE4OCgweDlhOCk7fSwweDExN2U6KF8weDMyNTAzNyxfMHgzYWM0ZmEsXzB4MTRlM2ZiKT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4MTg1ZWFhPV8weDE1YTM7XzB4MTRlM2ZiWydkJ10oXzB4M2FjNGZhLHsnTyc6KCk9Pl8weDQ2ZjkxMn0pO3ZhciBfMHgyNTJhOTU9XzB4MTRlM2ZiKDB4Y2Q2KSxfMHg0MTlkMmE9XzB4MTRlM2ZiKDB4MmM3KTtjb25zdCBfMHg0Y2JlYTI9bmV3IF8weDQxOWQyYVsoXzB4MTg1ZWFhKCcweGNlNycpKV0oXzB4MTg1ZWFhKCcweDJiNicpKSxfMHg2NjU4YjY9KGZ1bmN0aW9uKCl7dmFyIF8weDM0MmQyNj1fMHgxODVlYWE7aWYoXzB4MzQyZDI2KCcweGE3YicpIT10eXBlb2Ygc2VsZilyZXR1cm4gc2VsZjtpZihfMHgzNDJkMjYoJzB4YTdiJykhPXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvdztpZih2b2lkIDB4MCE9PV8weDE0ZTNmYlsnZyddKXJldHVybiBfMHgxNGUzZmJbJ2cnXTt0aHJvdyBuZXcgRXJyb3IoXzB4MzQyZDI2KCcweDQ1YScpKTt9KCkpO2xldCBfMHgyN2MyYzY9XzB4NjY1OGI2W18weDE4NWVhYSgnMHg0OTcnKV18fF8weDY2NThiNltfMHgxODVlYWEoJzB4MWI4JyldO2Z1bmN0aW9uIF8weDQ2ZjkxMihfMHg0ZTlkNmYpe3ZhciBfMHgzZWNmMmI9XzB4MTg1ZWFhOyhfMHg0ZTlkNmY8PTB4MHx8XzB4NGU5ZDZmPjB4NDAwfHxfMHg0ZTlkNmYlMHgxfHxfMHg0ZTlkNmYhPV8weDRlOWQ2ZikmJl8weDRjYmVhMltfMHgzZWNmMmIoJzB4NjM1JyldKF8weDNlY2YyYignMHg5MGEnKSwnbGVuZ3RoJyxfMHg0ZTlkNmYpO2NvbnN0IF8weGMxNmQ3Yz1uZXcgVWludDhBcnJheShfMHg0ZTlkNmYpO3JldHVybiBfMHgyN2MyYzZbXzB4M2VjZjJiKCcweDg0NCcpXShfMHhjMTZkN2MpLCgweDAsXzB4MjUyYTk1W18weDNlY2YyYignMHhkMDYnKV0pKF8weGMxNmQ3Yyk7fV8weDI3YzJjNiYmXzB4MjdjMmM2W18weDE4NWVhYSgnMHg4NDQnKV18fChfMHg0Y2JlYTJbXzB4MTg1ZWFhKCcweDVkNCcpXSgnV0FSTklORzpceDIwTWlzc2luZ1x4MjBzdHJvbmdceDIwcmFuZG9tXHgyMG51bWJlclx4MjBzb3VyY2UnKSxfMHgyN2MyYzY9eydnZXRSYW5kb21WYWx1ZXMnOmZ1bmN0aW9uKF8weDFmNTBjZCl7dmFyIF8weDIyOTljMz1fMHgxODVlYWE7cmV0dXJuIF8weDRjYmVhMltfMHgyMjk5YzMoJzB4MWQwJyldKCdub1x4MjBzZWN1cmVceDIwcmFuZG9tXHgyMHNvdXJjZVx4MjBhdmFpYWxibGUnLF8weDQxOWQyYVtfMHgyMjk5YzMoJzB4Y2U3JyldW18weDIyOTljMygnMHg5NDknKV1bJ1VOU1VQUE9SVEVEX09QRVJBVElPTiddLHsnb3BlcmF0aW9uJzonY3J5cHRvLmdldFJhbmRvbVZhbHVlcyd9KTt9fSk7fSwweDlhODooXzB4NWU0ZTQwLF8weGQxMTRlZCxfMHgyZDdiMDUpPT57J3VzZSBzdHJpY3QnO2Z1bmN0aW9uIF8weDViNTU4ZChfMHg1NWE4Mjgpe3ZhciBfMHg1MWFmNTI9XzB4MTVhMztmb3IobGV0IF8weDNmNWU5Mj0oXzB4NTVhODI4PV8weDU1YTgyOFtfMHg1MWFmNTIoJzB4YWRhJyldKCkpW18weDUxYWY1MignMHg1MjAnKV0tMHgxO18weDNmNWU5Mj4weDA7XzB4M2Y1ZTkyLS0pe2NvbnN0IF8weDU5OTZmYj1NYXRoW18weDUxYWY1MignMHhiYmUnKV0oTWF0aFtfMHg1MWFmNTIoJzB4NzVjJyldKCkqKF8weDNmNWU5MisweDEpKSxfMHgzNmQ4Yzg9XzB4NTVhODI4W18weDNmNWU5Ml07XzB4NTVhODI4W18weDNmNWU5Ml09XzB4NTVhODI4W18weDU5OTZmYl0sXzB4NTVhODI4W18weDU5OTZmYl09XzB4MzZkOGM4O31yZXR1cm4gXzB4NTVhODI4O31fMHgyZDdiMDVbJ2QnXShfMHhkMTE0ZWQseyd5JzooKT0+XzB4NWI1NThkfSk7fSwweDczMzooXzB4MTNhYWM5LF8weDQ5NjczYixfMHg0MGZkYWQpPT57J3VzZSBzdHJpY3QnO3ZhciBfMHg4YzdjZWM9XzB4MTVhMztfMHg0MGZkYWRbJ3InXShfMHg0OTY3M2IpLF8weDQwZmRhZFsnZCddKF8weDQ5NjczYix7J2RlY29kZSc6KCk9Pl8weDM2NWFjYywnZW5jb2RlJzooKT0+XzB4MzlmYWNmfSk7dmFyIF8weDQ2YTc1Yz1fMHg0MGZkYWQoMHhjZDYpLF8weDVlMmIwYT1fMHg0MGZkYWQoMHgyYzcpO2NvbnN0IF8weGVlNDI3Zj1uZXcgXzB4NWUyYjBhWyhfMHg4YzdjZWMoJzB4Y2U3JykpXSgncmxwLzUuNy4wJyk7ZnVuY3Rpb24gXzB4MjRmYWQ0KF8weDQ5Mjk5OCl7Y29uc3QgXzB4MTMzNDZlPVtdO2Zvcig7XzB4NDkyOTk4OylfMHgxMzM0NmVbJ3Vuc2hpZnQnXSgweGZmJl8weDQ5Mjk5OCksXzB4NDkyOTk4Pj49MHg4O3JldHVybiBfMHgxMzM0NmU7fWZ1bmN0aW9uIF8weDE5ZDAwYShfMHg0OTU1OTMsXzB4MzU0NjhkLF8weDE5OWU2Zil7bGV0IF8weGM4Y2VmNT0weDA7Zm9yKGxldCBfMHhkODAxN2Y9MHgwO18weGQ4MDE3ZjxfMHgxOTllNmY7XzB4ZDgwMTdmKyspXzB4YzhjZWY1PTB4MTAwKl8weGM4Y2VmNStfMHg0OTU1OTNbXzB4MzU0NjhkK18weGQ4MDE3Zl07cmV0dXJuIF8weGM4Y2VmNTt9ZnVuY3Rpb24gXzB4NDI1ZGFmKF8weDMzNzdiYyl7dmFyIF8weDE2NTUyMT1fMHg4YzdjZWM7aWYoQXJyYXlbJ2lzQXJyYXknXShfMHgzMzc3YmMpKXtsZXQgXzB4MWU3YzRiPVtdO2lmKF8weDMzNzdiY1snZm9yRWFjaCddKGZ1bmN0aW9uKF8weGU2ZjEwYil7dmFyIF8weDNkZmMxZj1fMHgxNWEzO18weDFlN2M0Yj1fMHgxZTdjNGJbXzB4M2RmYzFmKCcweDUzMCcpXShfMHg0MjVkYWYoXzB4ZTZmMTBiKSk7fSksXzB4MWU3YzRiW18weDE2NTUyMSgnMHg1MjAnKV08PTB4MzcpcmV0dXJuIF8weDFlN2M0YltfMHgxNjU1MjEoJzB4NmEzJyldKDB4YzArXzB4MWU3YzRiW18weDE2NTUyMSgnMHg1MjAnKV0pLF8weDFlN2M0Yjtjb25zdCBfMHg1OTc5Y2Y9XzB4MjRmYWQ0KF8weDFlN2M0YltfMHgxNjU1MjEoJzB4NTIwJyldKTtyZXR1cm4gXzB4NTk3OWNmW18weDE2NTUyMSgnMHg2YTMnKV0oMHhmNytfMHg1OTc5Y2ZbXzB4MTY1NTIxKCcweDUyMCcpXSksXzB4NTk3OWNmW18weDE2NTUyMSgnMHg1MzAnKV0oXzB4MWU3YzRiKTt9KDB4MCxfMHg0NmE3NWNbXzB4MTY1NTIxKCcweDg2ZScpXSkoXzB4MzM3N2JjKXx8XzB4ZWU0MjdmWyd0aHJvd0FyZ3VtZW50RXJyb3InXSgnUkxQXHgyMG9iamVjdFx4MjBtdXN0XHgyMGJlXHgyMEJ5dGVzTGlrZScsJ29iamVjdCcsXzB4MzM3N2JjKTtjb25zdCBfMHg5MzU3ZmI9QXJyYXlbXzB4MTY1NTIxKCcweDc1NicpXVtfMHgxNjU1MjEoJzB4YWRhJyldWydjYWxsJ10oKDB4MCxfMHg0NmE3NWNbXzB4MTY1NTIxKCcweGQwNicpXSkoXzB4MzM3N2JjKSk7aWYoMHgxPT09XzB4OTM1N2ZiW18weDE2NTUyMSgnMHg1MjAnKV0mJl8weDkzNTdmYlsweDBdPD0weDdmKXJldHVybiBfMHg5MzU3ZmI7aWYoXzB4OTM1N2ZiW18weDE2NTUyMSgnMHg1MjAnKV08PTB4MzcpcmV0dXJuIF8weDkzNTdmYlsndW5zaGlmdCddKDB4ODArXzB4OTM1N2ZiW18weDE2NTUyMSgnMHg1MjAnKV0pLF8weDkzNTdmYjtjb25zdCBfMHg1YjZkNjI9XzB4MjRmYWQ0KF8weDkzNTdmYltfMHgxNjU1MjEoJzB4NTIwJyldKTtyZXR1cm4gXzB4NWI2ZDYyWyd1bnNoaWZ0J10oMHhiNytfMHg1YjZkNjJbXzB4MTY1NTIxKCcweDUyMCcpXSksXzB4NWI2ZDYyW18weDE2NTUyMSgnMHg1MzAnKV0oXzB4OTM1N2ZiKTt9ZnVuY3Rpb24gXzB4MzlmYWNmKF8weDNjZjFmNil7dmFyIF8weDU3YjIxYz1fMHg4YzdjZWM7cmV0dXJuKDB4MCxfMHg0NmE3NWNbXzB4NTdiMjFjKCcweDM1NicpXSkoXzB4NDI1ZGFmKF8weDNjZjFmNikpO31mdW5jdGlvbiBfMHg0N2ZiYWYoXzB4NGM3YjY1LF8weDVlOGZlOSxfMHgxNzc4NGUsXzB4NTNhMjE1KXt2YXIgXzB4MzJhMzVhPV8weDhjN2NlYztjb25zdCBfMHg1YjkzNGE9W107Zm9yKDtfMHgxNzc4NGU8XzB4NWU4ZmU5KzB4MStfMHg1M2EyMTU7KXtjb25zdCBfMHg0ZmQzYzk9XzB4NDQ3YmQyKF8weDRjN2I2NSxfMHgxNzc4NGUpO18weDViOTM0YVtfMHgzMmEzNWEoJzB4OGI3JyldKF8weDRmZDNjOVtfMHgzMmEzNWEoJzB4MzgyJyldKSwoXzB4MTc3ODRlKz1fMHg0ZmQzYzlbXzB4MzJhMzVhKCcweGE2ZScpXSk+XzB4NWU4ZmU5KzB4MStfMHg1M2EyMTUmJl8weGVlNDI3ZltfMHgzMmEzNWEoJzB4MWQwJyldKCdjaGlsZFx4MjBkYXRhXHgyMHRvb1x4MjBzaG9ydCcsXzB4NWUyYjBhW18weDMyYTM1YSgnMHhjZTcnKV1bXzB4MzJhMzVhKCcweDk0OScpXVtfMHgzMmEzNWEoJzB4OTljJyldLHt9KTt9cmV0dXJueydjb25zdW1lZCc6MHgxK18weDUzYTIxNSwncmVzdWx0JzpfMHg1YjkzNGF9O31mdW5jdGlvbiBfMHg0NDdiZDIoXzB4NjM2OTFiLF8weDE3M2NmOCl7dmFyIF8weDVkNzg0Yj1fMHg4YzdjZWM7aWYoMHgwPT09XzB4NjM2OTFiW18weDVkNzg0YignMHg1MjAnKV0mJl8weGVlNDI3ZltfMHg1ZDc4NGIoJzB4MWQwJyldKF8weDVkNzg0YignMHg5YWMnKSxfMHg1ZTJiMGFbXzB4NWQ3ODRiKCcweGNlNycpXVtfMHg1ZDc4NGIoJzB4OTQ5JyldWydCVUZGRVJfT1ZFUlJVTiddLHt9KSxfMHg2MzY5MWJbXzB4MTczY2Y4XT49MHhmOCl7Y29uc3QgXzB4NTkxM2ZjPV8weDYzNjkxYltfMHgxNzNjZjhdLTB4Zjc7XzB4MTczY2Y4KzB4MStfMHg1OTEzZmM+XzB4NjM2OTFiW18weDVkNzg0YignMHg1MjAnKV0mJl8weGVlNDI3ZlsndGhyb3dFcnJvciddKCdkYXRhXHgyMHNob3J0XHgyMHNlZ21lbnRceDIwdG9vXHgyMHNob3J0JyxfMHg1ZTJiMGFbXzB4NWQ3ODRiKCcweGNlNycpXVtfMHg1ZDc4NGIoJzB4OTQ5JyldW18weDVkNzg0YignMHg5OWMnKV0se30pO2NvbnN0IF8weDE4OGQwOT1fMHgxOWQwMGEoXzB4NjM2OTFiLF8weDE3M2NmOCsweDEsXzB4NTkxM2ZjKTtyZXR1cm4gXzB4MTczY2Y4KzB4MStfMHg1OTEzZmMrXzB4MTg4ZDA5Pl8weDYzNjkxYltfMHg1ZDc4NGIoJzB4NTIwJyldJiZfMHhlZTQyN2ZbJ3Rocm93RXJyb3InXShfMHg1ZDc4NGIoJzB4OTNjJyksXzB4NWUyYjBhW18weDVkNzg0YignMHhjZTcnKV1bXzB4NWQ3ODRiKCcweDk0OScpXVtfMHg1ZDc4NGIoJzB4OTljJyldLHt9KSxfMHg0N2ZiYWYoXzB4NjM2OTFiLF8weDE3M2NmOCxfMHgxNzNjZjgrMHgxK18weDU5MTNmYyxfMHg1OTEzZmMrXzB4MTg4ZDA5KTt9aWYoXzB4NjM2OTFiW18weDE3M2NmOF0+PTB4YzApe2NvbnN0IF8weDNhYmIzMz1fMHg2MzY5MWJbXzB4MTczY2Y4XS0weGMwO3JldHVybiBfMHgxNzNjZjgrMHgxK18weDNhYmIzMz5fMHg2MzY5MWJbXzB4NWQ3ODRiKCcweDUyMCcpXSYmXzB4ZWU0MjdmW18weDVkNzg0YignMHgxZDAnKV0oJ2RhdGFceDIwYXJyYXlceDIwdG9vXHgyMHNob3J0JyxfMHg1ZTJiMGFbXzB4NWQ3ODRiKCcweGNlNycpXVtfMHg1ZDc4NGIoJzB4OTQ5JyldW18weDVkNzg0YignMHg5OWMnKV0se30pLF8weDQ3ZmJhZihfMHg2MzY5MWIsXzB4MTczY2Y4LF8weDE3M2NmOCsweDEsXzB4M2FiYjMzKTt9aWYoXzB4NjM2OTFiW18weDE3M2NmOF0+PTB4Yjgpe2NvbnN0IF8weDE3NzBlMj1fMHg2MzY5MWJbXzB4MTczY2Y4XS0weGI3O18weDE3M2NmOCsweDErXzB4MTc3MGUyPl8weDYzNjkxYltfMHg1ZDc4NGIoJzB4NTIwJyldJiZfMHhlZTQyN2ZbJ3Rocm93RXJyb3InXSgnZGF0YVx4MjBhcnJheVx4MjB0b29ceDIwc2hvcnQnLF8weDVlMmIwYVtfMHg1ZDc4NGIoJzB4Y2U3JyldW18weDVkNzg0YignMHg5NDknKV1bXzB4NWQ3ODRiKCcweDk5YycpXSx7fSk7Y29uc3QgXzB4MTgxNmNkPV8weDE5ZDAwYShfMHg2MzY5MWIsXzB4MTczY2Y4KzB4MSxfMHgxNzcwZTIpO3JldHVybiBfMHgxNzNjZjgrMHgxK18weDE3NzBlMitfMHgxODE2Y2Q+XzB4NjM2OTFiW18weDVkNzg0YignMHg1MjAnKV0mJl8weGVlNDI3ZltfMHg1ZDc4NGIoJzB4MWQwJyldKF8weDVkNzg0YignMHgyNTknKSxfMHg1ZTJiMGFbXzB4NWQ3ODRiKCcweGNlNycpXVtfMHg1ZDc4NGIoJzB4OTQ5JyldWydCVUZGRVJfT1ZFUlJVTiddLHt9KSx7J2NvbnN1bWVkJzoweDErXzB4MTc3MGUyK18weDE4MTZjZCwncmVzdWx0JzooMHgwLF8weDQ2YTc1Y1tfMHg1ZDc4NGIoJzB4MzU2JyldKShfMHg2MzY5MWJbXzB4NWQ3ODRiKCcweGFkYScpXShfMHgxNzNjZjgrMHgxK18weDE3NzBlMixfMHgxNzNjZjgrMHgxK18weDE3NzBlMitfMHgxODE2Y2QpKX07fWlmKF8weDYzNjkxYltfMHgxNzNjZjhdPj0weDgwKXtjb25zdCBfMHg0NmUxNzY9XzB4NjM2OTFiW18weDE3M2NmOF0tMHg4MDtyZXR1cm4gXzB4MTczY2Y4KzB4MStfMHg0NmUxNzY+XzB4NjM2OTFiW18weDVkNzg0YignMHg1MjAnKV0mJl8weGVlNDI3ZltfMHg1ZDc4NGIoJzB4MWQwJyldKF8weDVkNzg0YignMHg5YWMnKSxfMHg1ZTJiMGFbJ0xvZ2dlciddW18weDVkNzg0YignMHg5NDknKV1bXzB4NWQ3ODRiKCcweDk5YycpXSx7fSkseydjb25zdW1lZCc6MHgxK18weDQ2ZTE3NiwncmVzdWx0JzooMHgwLF8weDQ2YTc1Y1tfMHg1ZDc4NGIoJzB4MzU2JyldKShfMHg2MzY5MWJbJ3NsaWNlJ10oXzB4MTczY2Y4KzB4MSxfMHgxNzNjZjgrMHgxK18weDQ2ZTE3NikpfTt9cmV0dXJueydjb25zdW1lZCc6MHgxLCdyZXN1bHQnOigweDAsXzB4NDZhNzVjW18weDVkNzg0YignMHgzNTYnKV0pKF8weDYzNjkxYltfMHgxNzNjZjhdKX07fWZ1bmN0aW9uIF8weDM2NWFjYyhfMHg0MzhhMjcpe3ZhciBfMHg1ZTE3YWI9XzB4OGM3Y2VjO2NvbnN0IF8weDIwNDc0Mz0oMHgwLF8weDQ2YTc1Y1tfMHg1ZTE3YWIoJzB4ZDA2JyldKShfMHg0MzhhMjcpLF8weDJjZWMzMD1fMHg0NDdiZDIoXzB4MjA0NzQzLDB4MCk7cmV0dXJuIF8weDJjZWMzMFsnY29uc3VtZWQnXSE9PV8weDIwNDc0M1snbGVuZ3RoJ10mJl8weGVlNDI3ZlsndGhyb3dBcmd1bWVudEVycm9yJ10oXzB4NWUxN2FiKCcweDQ4YScpLCdkYXRhJyxfMHg0MzhhMjcpLF8weDJjZWMzMFtfMHg1ZTE3YWIoJzB4MzgyJyldO319LDB4NGZlOihfMHg0NmVkZGYsXzB4MjZhOTZlLF8weDJhMjdmYSk9PnsndXNlIHN0cmljdCc7XzB4MmEyN2ZhWydyJ10oXzB4MjZhOTZlKSxfMHgyYTI3ZmFbJ2QnXShfMHgyNmE5NmUseydTdXBwb3J0ZWRBbGdvcml0aG0nOigpPT5fMHgyZjU3NmNbJ3AnXSwnY29tcHV0ZUhtYWMnOigpPT5fMHg1NGRmYmJbJ0d5J10sJ3JpcGVtZDE2MCc6KCk9Pl8weDU0ZGZiYlsnYlAnXSwnc2hhMjU2JzooKT0+XzB4NTRkZmJiWydKUSddLCdzaGE1MTInOigpPT5fMHg1NGRmYmJbJ28nXX0pO3ZhciBfMHg1NGRmYmI9XzB4MmEyN2ZhKDB4ZjZmKSxfMHgyZjU3NmM9XzB4MmEyN2ZhKDB4NGVkKTt9LDB4ZjZmOihfMHgyZWE1YzgsXzB4MjEwNzM0LF8weDQ2ZWNlYyk9PnsndXNlIHN0cmljdCc7dmFyIF8weDQ5MzBhMj1fMHgxNWEzO18weDQ2ZWNlY1snZCddKF8weDIxMDczNCx7J0d5JzooKT0+XzB4MTE3ZjE1LCdiUCc6KCk9Pl8weDJjMzRhNywnSlEnOigpPT5fMHgyM2ZiYjIsJ28nOigpPT5fMHg1NWJhYWR9KTt2YXIgXzB4MjExOTI0PV8weDQ2ZWNlYygweGU4MyksXzB4MzdhNDk4PV8weDQ2ZWNlY1snbiddKF8weDIxMTkyNCksXzB4MzVkMDlhPV8weDQ2ZWNlYygweGNkNiksXzB4MmVhN2FlPV8weDQ2ZWNlYygweDRlZCksXzB4MTQxMGNjPV8weDQ2ZWNlYygweDJjNyk7Y29uc3QgXzB4MjkxMzk2PW5ldyBfMHgxNDEwY2NbKF8weDQ5MzBhMignMHhjZTcnKSldKF8weDQ5MzBhMignMHg5Y2QnKSk7ZnVuY3Rpb24gXzB4MmMzNGE3KF8weDVlMTNjNSl7dmFyIF8weDJmM2Q3ZD1fMHg0OTMwYTI7cmV0dXJuJzB4JytfMHgzN2E0OTgoKVtfMHgyZjNkN2QoJzB4ODg1JyldKClbJ3VwZGF0ZSddKCgweDAsXzB4MzVkMDlhW18weDJmM2Q3ZCgnMHhkMDYnKV0pKF8weDVlMTNjNSkpW18weDJmM2Q3ZCgnMHhkMmYnKV0oXzB4MmYzZDdkKCcweGM0ZCcpKTt9ZnVuY3Rpb24gXzB4MjNmYmIyKF8weDU2MzBjZil7dmFyIF8weDExYzA2MD1fMHg0OTMwYTI7cmV0dXJuJzB4JytfMHgzN2E0OTgoKVtfMHgxMWMwNjAoJzB4YjdiJyldKClbXzB4MTFjMDYwKCcweDQ0NycpXSgoMHgwLF8weDM1ZDA5YVtfMHgxMWMwNjAoJzB4ZDA2JyldKShfMHg1NjMwY2YpKVtfMHgxMWMwNjAoJzB4ZDJmJyldKF8weDExYzA2MCgnMHhjNGQnKSk7fWZ1bmN0aW9uIF8weDU1YmFhZChfMHg0OTUyMjMpe3ZhciBfMHg1OTQzM2Y9XzB4NDkzMGEyO3JldHVybicweCcrXzB4MzdhNDk4KClbJ3NoYTUxMiddKClbXzB4NTk0MzNmKCcweDQ0NycpXSgoMHgwLF8weDM1ZDA5YVsnYXJyYXlpZnknXSkoXzB4NDk1MjIzKSlbXzB4NTk0MzNmKCcweGQyZicpXSgnaGV4Jyk7fWZ1bmN0aW9uIF8weDExN2YxNShfMHg1MzFlOWQsXzB4MjMwMjViLF8weDQzYTBhZil7dmFyIF8weDI2ZDM2ZD1fMHg0OTMwYTI7cmV0dXJuIF8weDJlYTdhZVsncCddW18weDUzMWU5ZF18fF8weDI5MTM5NltfMHgyNmQzNmQoJzB4MWQwJyldKCd1bnN1cHBvcnRlZFx4MjBhbGdvcml0aG1ceDIwJytfMHg1MzFlOWQsXzB4MTQxMGNjW18weDI2ZDM2ZCgnMHhjZTcnKV1bXzB4MjZkMzZkKCcweDk0OScpXVtfMHgyNmQzNmQoJzB4NjMzJyldLHsnb3BlcmF0aW9uJzpfMHgyNmQzNmQoJzB4NzFmJyksJ2FsZ29yaXRobSc6XzB4NTMxZTlkfSksJzB4JytfMHgzN2E0OTgoKVtfMHgyNmQzNmQoJzB4NzFmJyldKF8weDM3YTQ5OCgpW18weDUzMWU5ZF0sKDB4MCxfMHgzNWQwOWFbXzB4MjZkMzZkKCcweGQwNicpXSkoXzB4MjMwMjViKSlbXzB4MjZkMzZkKCcweDQ0NycpXSgoMHgwLF8weDM1ZDA5YVtfMHgyNmQzNmQoJzB4ZDA2JyldKShfMHg0M2EwYWYpKVtfMHgyNmQzNmQoJzB4ZDJmJyldKF8weDI2ZDM2ZCgnMHhjNGQnKSk7fX0sMHg0ZWQ6KF8weDJiNTZkOCxfMHgyMjU5ZjIsXzB4NTJjZmRiKT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4MzYyMzlkO18weDUyY2ZkYlsnZCddKF8weDIyNTlmMix7J3AnOigpPT5fMHgzNjIzOWR9KSxmdW5jdGlvbihfMHgyN2NjNWEpe3ZhciBfMHg1MWJlMDM9XzB4MTVhMztfMHgyN2NjNWFbXzB4NTFiZTAzKCcweGI3YicpXT1fMHg1MWJlMDMoJzB4YjdiJyksXzB4MjdjYzVhW18weDUxYmUwMygnMHhjNmInKV09J3NoYTUxMic7fShfMHgzNjIzOWR8fChfMHgzNjIzOWQ9e30pKTt9LDB4YWQwOihfMHgxMjIwZGUsXzB4NDA4MGZlLF8weDIxZWEwNSk9PnsndXNlIHN0cmljdCc7dmFyIF8weDM5NmI5ZT1fMHgxNWEzO18weDIxZWEwNVsnciddKF8weDQwODBmZSksXzB4MjFlYTA1WydkJ10oXzB4NDA4MGZlLHsnU2lnbmluZ0tleSc6KCk9Pl8weDI3NWYwYiwnY29tcHV0ZVB1YmxpY0tleSc6KCk9Pl8weDI4YTdiZiwncmVjb3ZlclB1YmxpY0tleSc6KCk9Pl8weDM1Y2FiMH0pO3ZhciBfMHgxMjU1ZWQ9XzB4MjFlYTA1KDB4ZGRlKSxfMHg1YzQxYWI9XzB4MjFlYTA1WyduJ10oXzB4MTI1NWVkKSxfMHg1NTkxYmM9XzB4MjFlYTA1KDB4ZTgzKSxfMHg1M2Q0MWM9XzB4MjFlYTA1WyduJ10oXzB4NTU5MWJjKTtmdW5jdGlvbiBfMHhkM2RkYWUoXzB4NDYzMDg5LF8weDRjNGI0MixfMHgzN2ZhNzMpe3ZhciBfMHgyMWVlNWM9XzB4MTVhMztyZXR1cm4gXzB4MzdmYTczPXsncGF0aCc6XzB4NGM0YjQyLCdleHBvcnRzJzp7fSwncmVxdWlyZSc6ZnVuY3Rpb24oXzB4NWNiNjhkLF8weDI0ZDhiOCl7cmV0dXJuKGZ1bmN0aW9uKCl7dmFyIF8weDI0ZjcxMj1fMHgxNWEzO3Rocm93IG5ldyBFcnJvcihfMHgyNGY3MTIoJzB4NmU3JykpO30obnVsbD09XzB4MjRkOGI4JiZfMHgzN2ZhNzNbJ3BhdGgnXSkpO319LF8weDQ2MzA4OShfMHgzN2ZhNzMsXzB4MzdmYTczW18weDIxZWU1YygnMHgzMTQnKV0pLF8weDM3ZmE3M1tfMHgyMWVlNWMoJzB4MzE0JyldO30ndW5kZWZpbmVkJyE9dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpczpfMHgzOTZiOWUoJzB4YTdiJykhPXR5cGVvZiB3aW5kb3c/d2luZG93OnZvaWQgMHgwIT09XzB4MjFlYTA1WydnJ10/XzB4MjFlYTA1WydnJ106XzB4Mzk2YjllKCcweGE3YicpIT10eXBlb2Ygc2VsZiYmc2VsZjt2YXIgXzB4NmUxZTM5PV8weDMwOTIwODtmdW5jdGlvbiBfMHgzMDkyMDgoXzB4NDdmNDNmLF8weDNiYzA3ZCl7aWYoIV8weDQ3ZjQzZil0aHJvdyBuZXcgRXJyb3IoXzB4M2JjMDdkfHwnQXNzZXJ0aW9uXHgyMGZhaWxlZCcpO31fMHgzMDkyMDhbXzB4Mzk2YjllKCcweDgwNicpXT1mdW5jdGlvbihfMHgyYzFmNzIsXzB4YzQ4N2ZlLF8weDJkNzZmOCl7dmFyIF8weDQ1N2Q1Zj1fMHgzOTZiOWU7aWYoXzB4MmMxZjcyIT1fMHhjNDg3ZmUpdGhyb3cgbmV3IEVycm9yKF8weDJkNzZmOHx8XzB4NDU3ZDVmKCcweDc2MScpK18weDJjMWY3MitfMHg0NTdkNWYoJzB4YzkyJykrXzB4YzQ4N2ZlKTt9O3ZhciBfMHgxMWVjZTQ9XzB4ZDNkZGFlKGZ1bmN0aW9uKF8weDIzYTBkZixfMHg1ZGVhMDUpe3ZhciBfMHgxMDg1ZmQ9XzB4Mzk2YjllLF8weDE5ZTFkND1fMHg1ZGVhMDU7ZnVuY3Rpb24gXzB4NTZmZDg1KF8weDFmNThhOSl7cmV0dXJuIDB4MT09PV8weDFmNThhOVsnbGVuZ3RoJ10/JzAnK18weDFmNThhOTpfMHgxZjU4YTk7fWZ1bmN0aW9uIF8weDNiODM3NihfMHgxNWQyM2Ype3ZhciBfMHgzNDUwMTA9XzB4MTVhMztmb3IodmFyIF8weDNiODIyYz0nJyxfMHg5MThlNTY9MHgwO18weDkxOGU1NjxfMHgxNWQyM2ZbXzB4MzQ1MDEwKCcweDUyMCcpXTtfMHg5MThlNTYrKylfMHgzYjgyMmMrPV8weDU2ZmQ4NShfMHgxNWQyM2ZbXzB4OTE4ZTU2XVtfMHgzNDUwMTAoJzB4NTQ3JyldKDB4MTApKTtyZXR1cm4gXzB4M2I4MjJjO31fMHgxOWUxZDRbXzB4MTA4NWZkKCcweDM5NCcpXT1mdW5jdGlvbihfMHg2YmVlMmMsXzB4MmVhY2FiKXt2YXIgXzB4MTJjOTNmPV8weDEwODVmZDtpZihBcnJheVtfMHgxMmM5M2YoJzB4OGYxJyldKF8weDZiZWUyYykpcmV0dXJuIF8weDZiZWUyY1tfMHgxMmM5M2YoJzB4YWRhJyldKCk7aWYoIV8weDZiZWUyYylyZXR1cm5bXTt2YXIgXzB4Mjc0NjFmPVtdO2lmKF8weDEyYzkzZignMHg2NWYnKSE9dHlwZW9mIF8weDZiZWUyYyl7Zm9yKHZhciBfMHgxOTdkYWE9MHgwO18weDE5N2RhYTxfMHg2YmVlMmNbXzB4MTJjOTNmKCcweDUyMCcpXTtfMHgxOTdkYWErKylfMHgyNzQ2MWZbXzB4MTk3ZGFhXT0weDB8XzB4NmJlZTJjW18weDE5N2RhYV07cmV0dXJuIF8weDI3NDYxZjt9aWYoXzB4MTJjOTNmKCcweGM0ZCcpPT09XzB4MmVhY2FiKXtmb3IoKF8weDZiZWUyYz1fMHg2YmVlMmNbXzB4MTJjOTNmKCcweDM2YycpXSgvW15hLXowLTldKy9naSwnJykpW18weDEyYzkzZignMHg1MjAnKV0lMHgyIT0weDAmJihfMHg2YmVlMmM9JzAnK18weDZiZWUyYyksXzB4MTk3ZGFhPTB4MDtfMHgxOTdkYWE8XzB4NmJlZTJjWydsZW5ndGgnXTtfMHgxOTdkYWErPTB4MilfMHgyNzQ2MWZbJ3B1c2gnXShwYXJzZUludChfMHg2YmVlMmNbXzB4MTk3ZGFhXStfMHg2YmVlMmNbXzB4MTk3ZGFhKzB4MV0sMHgxMCkpO31lbHNlIGZvcihfMHgxOTdkYWE9MHgwO18weDE5N2RhYTxfMHg2YmVlMmNbXzB4MTJjOTNmKCcweDUyMCcpXTtfMHgxOTdkYWErKyl7dmFyIF8weDVkN2YxYj1fMHg2YmVlMmNbXzB4MTJjOTNmKCcweGE1NScpXShfMHgxOTdkYWEpLF8weDQyMDRkMD1fMHg1ZDdmMWI+PjB4OCxfMHg0MTcxZDQ9MHhmZiZfMHg1ZDdmMWI7XzB4NDIwNGQwP18weDI3NDYxZltfMHgxMmM5M2YoJzB4OGI3JyldKF8weDQyMDRkMCxfMHg0MTcxZDQpOl8weDI3NDYxZltfMHgxMmM5M2YoJzB4OGI3JyldKF8weDQxNzFkNCk7fXJldHVybiBfMHgyNzQ2MWY7fSxfMHgxOWUxZDRbXzB4MTA4NWZkKCcweGJhOCcpXT1fMHg1NmZkODUsXzB4MTllMWQ0W18weDEwODVmZCgnMHhjN2MnKV09XzB4M2I4Mzc2LF8weDE5ZTFkNFtfMHgxMDg1ZmQoJzB4YTUxJyldPWZ1bmN0aW9uKF8weDNkNzJiMSxfMHg1NTkxMTkpe3JldHVybidoZXgnPT09XzB4NTU5MTE5P18weDNiODM3NihfMHgzZDcyYjEpOl8weDNkNzJiMTt9O30pLF8weDMwYTlhOT1fMHhkM2RkYWUoZnVuY3Rpb24oXzB4MzU3MzViLF8weDNmMzQ2NCl7dmFyIF8weDFhNmE3Nz1fMHgzOTZiOWUsXzB4NTk3OWI0PV8weDNmMzQ2NDtfMHg1OTc5YjRbXzB4MWE2YTc3KCcweDVhZScpXT1fMHg2ZTFlMzksXzB4NTk3OWI0W18weDFhNmE3NygnMHgzOTQnKV09XzB4MTFlY2U0Wyd0b0FycmF5J10sXzB4NTk3OWI0Wyd6ZXJvMiddPV8weDExZWNlNFtfMHgxYTZhNzcoJzB4YmE4JyldLF8weDU5NzliNFtfMHgxYTZhNzcoJzB4YzdjJyldPV8weDExZWNlNFsndG9IZXgnXSxfMHg1OTc5YjRbXzB4MWE2YTc3KCcweGE1MScpXT1fMHgxMWVjZTRbXzB4MWE2YTc3KCcweGE1MScpXSxfMHg1OTc5YjRbXzB4MWE2YTc3KCcweDhjZicpXT1mdW5jdGlvbihfMHg1MzVhYzAsXzB4NTYzZDBlLF8weDUyZWU0Myl7dmFyIF8weGE0ZjA5Mz1fMHgxYTZhNzcsXzB4Y2I1MDVmPW5ldyBBcnJheShNYXRoW18weGE0ZjA5MygnMHg4ZjknKV0oXzB4NTM1YWMwWydiaXRMZW5ndGgnXSgpLF8weDUyZWU0MykrMHgxKTtfMHhjYjUwNWZbXzB4YTRmMDkzKCcweGIxNicpXSgweDApO2Zvcih2YXIgXzB4OTFkY2YyPTB4MTw8XzB4NTYzZDBlKzB4MSxfMHg1ZTcyMGM9XzB4NTM1YWMwW18weGE0ZjA5MygnMHgzNzknKV0oKSxfMHg0ZjE1OTU9MHgwO18weDRmMTU5NTxfMHhjYjUwNWZbXzB4YTRmMDkzKCcweDUyMCcpXTtfMHg0ZjE1OTUrKyl7dmFyIF8weDQ2ZmM0MCxfMHgxMzlhMjg9XzB4NWU3MjBjW18weGE0ZjA5MygnMHg5YWEnKV0oXzB4OTFkY2YyLTB4MSk7XzB4NWU3MjBjW18weGE0ZjA5MygnMHhiNjMnKV0oKT8oXzB4NDZmYzQwPV8weDEzOWEyOD4oXzB4OTFkY2YyPj4weDEpLTB4MT8oXzB4OTFkY2YyPj4weDEpLV8weDEzOWEyODpfMHgxMzlhMjgsXzB4NWU3MjBjW18weGE0ZjA5MygnMHg5MjknKV0oXzB4NDZmYzQwKSk6XzB4NDZmYzQwPTB4MCxfMHhjYjUwNWZbXzB4NGYxNTk1XT1fMHg0NmZjNDAsXzB4NWU3MjBjW18weGE0ZjA5MygnMHgxY2QnKV0oMHgxKTt9cmV0dXJuIF8weGNiNTA1Zjt9LF8weDU5NzliNFtfMHgxYTZhNzcoJzB4N2NmJyldPWZ1bmN0aW9uKF8weDM4Mjc1ZSxfMHg1NDhjN2Ype3ZhciBfMHgxM2MzMTM9XzB4MWE2YTc3LF8weDMyOWM5OD1bW10sW11dO18weDM4Mjc1ZT1fMHgzODI3NWVbJ2Nsb25lJ10oKSxfMHg1NDhjN2Y9XzB4NTQ4YzdmW18weDEzYzMxMygnMHgzNzknKV0oKTtmb3IodmFyIF8weDU1OWRlZSxfMHgzYzE4NGU9MHgwLF8weDRmNzhjOT0weDA7XzB4MzgyNzVlWydjbXBuJ10oLV8weDNjMTg0ZSk+MHgwfHxfMHg1NDhjN2ZbXzB4MTNjMzEzKCcweDY5ZCcpXSgtXzB4NGY3OGM5KT4weDA7KXt2YXIgXzB4MjU1YjZkLF8weDNhMTY4NCxfMHgxOWJiMjE9XzB4MzgyNzVlW18weDEzYzMxMygnMHg5YWEnKV0oMHgzKStfMHgzYzE4NGUmMHgzLF8weDRlMGRiMj1fMHg1NDhjN2ZbJ2FuZGxuJ10oMHgzKStfMHg0Zjc4YzkmMHgzOzB4Mz09PV8weDE5YmIyMSYmKF8weDE5YmIyMT0tMHgxKSwweDM9PT1fMHg0ZTBkYjImJihfMHg0ZTBkYjI9LTB4MSksXzB4MjU1YjZkPTB4MD09KDB4MSZfMHgxOWJiMjEpPzB4MDoweDMhPShfMHg1NTlkZWU9XzB4MzgyNzVlW18weDEzYzMxMygnMHg5YWEnKV0oMHg3KStfMHgzYzE4NGUmMHg3KSYmMHg1IT09XzB4NTU5ZGVlfHwweDIhPT1fMHg0ZTBkYjI/XzB4MTliYjIxOi1fMHgxOWJiMjEsXzB4MzI5Yzk4WzB4MF1bXzB4MTNjMzEzKCcweDhiNycpXShfMHgyNTViNmQpLF8weDNhMTY4ND0weDA9PSgweDEmXzB4NGUwZGIyKT8weDA6MHgzIT0oXzB4NTU5ZGVlPV8weDU0OGM3ZlsnYW5kbG4nXSgweDcpK18weDRmNzhjOSYweDcpJiYweDUhPT1fMHg1NTlkZWV8fDB4MiE9PV8weDE5YmIyMT9fMHg0ZTBkYjI6LV8weDRlMGRiMixfMHgzMjljOThbMHgxXVsncHVzaCddKF8weDNhMTY4NCksMHgyKl8weDNjMTg0ZT09PV8weDI1NWI2ZCsweDEmJihfMHgzYzE4NGU9MHgxLV8weDNjMTg0ZSksMHgyKl8weDRmNzhjOT09PV8weDNhMTY4NCsweDEmJihfMHg0Zjc4Yzk9MHgxLV8weDRmNzhjOSksXzB4MzgyNzVlW18weDEzYzMxMygnMHgxY2QnKV0oMHgxKSxfMHg1NDhjN2ZbXzB4MTNjMzEzKCcweDFjZCcpXSgweDEpO31yZXR1cm4gXzB4MzI5Yzk4O30sXzB4NTk3OWI0W18weDFhNmE3NygnMHg5YjcnKV09ZnVuY3Rpb24oXzB4MjQyMGRlLF8weDEyNTZlYyxfMHg3OWI4YWYpe3ZhciBfMHgyYjRjYTA9J18nK18weDEyNTZlYztfMHgyNDIwZGVbJ3Byb3RvdHlwZSddW18weDEyNTZlY109ZnVuY3Rpb24oKXt2YXIgXzB4NGQ1YmY1PV8weDE1YTM7cmV0dXJuIHZvaWQgMHgwIT09dGhpc1tfMHgyYjRjYTBdP3RoaXNbXzB4MmI0Y2EwXTp0aGlzW18weDJiNGNhMF09XzB4NzliOGFmW18weDRkNWJmNSgnMHg1ZmQnKV0odGhpcyk7fTt9LF8weDU5NzliNFtfMHgxYTZhNzcoJzB4NzE3JyldPWZ1bmN0aW9uKF8weDQ3M2E2Yyl7dmFyIF8weDM2NzIyNT1fMHgxYTZhNzc7cmV0dXJuIF8weDM2NzIyNSgnMHg2NWYnKT09dHlwZW9mIF8weDQ3M2E2Yz9fMHg1OTc5YjRbJ3RvQXJyYXknXShfMHg0NzNhNmMsXzB4MzY3MjI1KCcweGM0ZCcpKTpfMHg0NzNhNmM7fSxfMHg1OTc5YjRbJ2ludEZyb21MRSddPWZ1bmN0aW9uKF8weDU5YzdjMSl7cmV0dXJuIG5ldyhfMHg1YzQxYWIoKSkoXzB4NTljN2MxLCdoZXgnLCdsZScpO307fSksXzB4NTAzNDNlPV8weDMwYTlhOVtfMHgzOTZiOWUoJzB4OGNmJyldLF8weDVkN2Q1OT1fMHgzMGE5YTlbJ2dldEpTRiddLF8weDI2OWEyZT1fMHgzMGE5YTlbXzB4Mzk2YjllKCcweDVhZScpXTtmdW5jdGlvbiBfMHhiMDIxOGYoXzB4NTAxODIxLF8weDIyZDMxMCl7dmFyIF8weDIwMjE5OD1fMHgzOTZiOWU7dGhpc1tfMHgyMDIxOTgoJzB4NTdjJyldPV8weDUwMTgyMSx0aGlzWydwJ109bmV3KF8weDVjNDFhYigpKShfMHgyMmQzMTBbJ3AnXSwweDEwKSx0aGlzW18weDIwMjE5OCgnMHhkMGUnKV09XzB4MjJkMzEwWydwcmltZSddP18weDVjNDFhYigpW18weDIwMjE5OCgnMHhkMGUnKV0oXzB4MjJkMzEwW18weDIwMjE5OCgnMHgyZDInKV0pOl8weDVjNDFhYigpW18weDIwMjE5OCgnMHg0OWUnKV0odGhpc1sncCddKSx0aGlzWyd6ZXJvJ109bmV3KF8weDVjNDFhYigpKSgweDApW18weDIwMjE5OCgnMHg0MzUnKV0odGhpc1tfMHgyMDIxOTgoJzB4ZDBlJyldKSx0aGlzW18weDIwMjE5OCgnMHhkMTcnKV09bmV3KF8weDVjNDFhYigpKSgweDEpWyd0b1JlZCddKHRoaXNbXzB4MjAyMTk4KCcweGQwZScpXSksdGhpc1tfMHgyMDIxOTgoJzB4NzMyJyldPW5ldyhfMHg1YzQxYWIoKSkoMHgyKVtfMHgyMDIxOTgoJzB4NDM1JyldKHRoaXNbXzB4MjAyMTk4KCcweGQwZScpXSksdGhpc1snbiddPV8weDIyZDMxMFsnbiddJiZuZXcoXzB4NWM0MWFiKCkpKF8weDIyZDMxMFsnbiddLDB4MTApLHRoaXNbJ2cnXT1fMHgyMmQzMTBbJ2cnXSYmdGhpc1tfMHgyMDIxOTgoJzB4N2ZjJyldKF8weDIyZDMxMFsnZyddLF8weDIyZDMxMFtfMHgyMDIxOTgoJzB4NjAzJyldKSx0aGlzW18weDIwMjE5OCgnMHg5NGUnKV09bmV3IEFycmF5KDB4NCksdGhpc1tfMHgyMDIxOTgoJzB4OTdkJyldPW5ldyBBcnJheSgweDQpLHRoaXNbXzB4MjAyMTk4KCcweGM2NCcpXT1uZXcgQXJyYXkoMHg0KSx0aGlzW18weDIwMjE5OCgnMHg4ZTgnKV09bmV3IEFycmF5KDB4NCksdGhpc1snX2JpdExlbmd0aCddPXRoaXNbJ24nXT90aGlzWyduJ11bXzB4MjAyMTk4KCcweDRlOScpXSgpOjB4MDt2YXIgXzB4MWExOTllPXRoaXNbJ24nXSYmdGhpc1sncCddW18weDIwMjE5OCgnMHg4NWQnKV0odGhpc1snbiddKTshXzB4MWExOTllfHxfMHgxYTE5OWVbXzB4MjAyMTk4KCcweDY5ZCcpXSgweDY0KT4weDA/dGhpc1tfMHgyMDIxOTgoJzB4OTYwJyldPW51bGw6KHRoaXNbXzB4MjAyMTk4KCcweDRiOScpXT0hMHgwLHRoaXNbXzB4MjAyMTk4KCcweDk2MCcpXT10aGlzWyduJ11bJ3RvUmVkJ10odGhpc1tfMHgyMDIxOTgoJzB4ZDBlJyldKSk7fXZhciBfMHgyMWQzNTY9XzB4YjAyMThmO2Z1bmN0aW9uIF8weDM2ZDYxMShfMHgxMDRlY2QsXzB4NWI0ZTUyKXt2YXIgXzB4NThlOTk0PV8weDM5NmI5ZTt0aGlzWydjdXJ2ZSddPV8weDEwNGVjZCx0aGlzW18weDU4ZTk5NCgnMHg1N2MnKV09XzB4NWI0ZTUyLHRoaXNbXzB4NThlOTk0KCcweGNlZScpXT1udWxsO31fMHhiMDIxOGZbXzB4Mzk2YjllKCcweDc1NicpXVsncG9pbnQnXT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcignTm90XHgyMGltcGxlbWVudGVkJyk7fSxfMHhiMDIxOGZbXzB4Mzk2YjllKCcweDc1NicpXVsndmFsaWRhdGUnXT1mdW5jdGlvbigpe3ZhciBfMHhmOWVhMGU9XzB4Mzk2YjllO3Rocm93IG5ldyBFcnJvcihfMHhmOWVhMGUoJzB4NDAwJykpO30sXzB4YjAyMThmWydwcm90b3R5cGUnXVtfMHgzOTZiOWUoJzB4NzA4JyldPWZ1bmN0aW9uKF8weDJjNjVmOCxfMHhhMDBiOWMpe3ZhciBfMHgzYzJjNTA9XzB4Mzk2YjllO18weDI2OWEyZShfMHgyYzY1ZjhbXzB4M2MyYzUwKCcweGNlZScpXSk7dmFyIF8weDQxMGUyZT1fMHgyYzY1ZjhbXzB4M2MyYzUwKCcweDVkZScpXSgpLF8weDIyZjA4Mj1fMHg1MDM0M2UoXzB4YTAwYjljLDB4MSx0aGlzW18weDNjMmM1MCgnMHg4ODEnKV0pLF8weDM3ZDM0Mz0oMHgxPDxfMHg0MTBlMmVbJ3N0ZXAnXSsweDEpLShfMHg0MTBlMmVbJ3N0ZXAnXSUweDI9PTB4MD8weDI6MHgxKTtfMHgzN2QzNDMvPTB4Mzt2YXIgXzB4NWQxMDEwLF8weDM2NTg3NixfMHgxNmU2ZjE9W107Zm9yKF8weDVkMTAxMD0weDA7XzB4NWQxMDEwPF8weDIyZjA4MltfMHgzYzJjNTAoJzB4NTIwJyldO18weDVkMTAxMCs9XzB4NDEwZTJlWydzdGVwJ10pe18weDM2NTg3Nj0weDA7Zm9yKHZhciBfMHgzMDdhMWI9XzB4NWQxMDEwK18weDQxMGUyZVsnc3RlcCddLTB4MTtfMHgzMDdhMWI+PV8weDVkMTAxMDtfMHgzMDdhMWItLSlfMHgzNjU4NzY9KF8weDM2NTg3Njw8MHgxKStfMHgyMmYwODJbXzB4MzA3YTFiXTtfMHgxNmU2ZjFbXzB4M2MyYzUwKCcweDhiNycpXShfMHgzNjU4NzYpO31mb3IodmFyIF8weGE0NzMwNT10aGlzWydqcG9pbnQnXShudWxsLG51bGwsbnVsbCksXzB4NTRlNzE2PXRoaXNbXzB4M2MyYzUwKCcweDc1NycpXShudWxsLG51bGwsbnVsbCksXzB4M2ZhZWUzPV8weDM3ZDM0MztfMHgzZmFlZTM+MHgwO18weDNmYWVlMy0tKXtmb3IoXzB4NWQxMDEwPTB4MDtfMHg1ZDEwMTA8XzB4MTZlNmYxW18weDNjMmM1MCgnMHg1MjAnKV07XzB4NWQxMDEwKyspKF8weDM2NTg3Nj1fMHgxNmU2ZjFbXzB4NWQxMDEwXSk9PT1fMHgzZmFlZTM/XzB4NTRlNzE2PV8weDU0ZTcxNlsnbWl4ZWRBZGQnXShfMHg0MTBlMmVbXzB4M2MyYzUwKCcweDkwOScpXVtfMHg1ZDEwMTBdKTpfMHgzNjU4NzY9PT0tXzB4M2ZhZWUzJiYoXzB4NTRlNzE2PV8weDU0ZTcxNltfMHgzYzJjNTAoJzB4OWJiJyldKF8weDQxMGUyZVtfMHgzYzJjNTAoJzB4OTA5JyldW18weDVkMTAxMF1bXzB4M2MyYzUwKCcweGMxNycpXSgpKSk7XzB4YTQ3MzA1PV8weGE0NzMwNVsnYWRkJ10oXzB4NTRlNzE2KTt9cmV0dXJuIF8weGE0NzMwNVtfMHgzYzJjNTAoJzB4N2M1JyldKCk7fSxfMHhiMDIxOGZbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4OTFkJyldPWZ1bmN0aW9uKF8weDQ4YzM1NCxfMHg1NTNiMzgpe3ZhciBfMHg2MDMzZTU9XzB4Mzk2YjllLF8weDU4MWJkZj0weDQsXzB4NTNmNWVkPV8weDQ4YzM1NFtfMHg2MDMzZTUoJzB4MzAyJyldKF8weDU4MWJkZik7XzB4NTgxYmRmPV8weDUzZjVlZFsnd25kJ107Zm9yKHZhciBfMHgzZDRlY2Y9XzB4NTNmNWVkW18weDYwMzNlNSgnMHg5MDknKV0sXzB4MjBmYTFhPV8weDUwMzQzZShfMHg1NTNiMzgsXzB4NTgxYmRmLHRoaXNbXzB4NjAzM2U1KCcweDg4MScpXSksXzB4MzAyNTVhPXRoaXNbXzB4NjAzM2U1KCcweDc1NycpXShudWxsLG51bGwsbnVsbCksXzB4MTAwMjFiPV8weDIwZmExYVtfMHg2MDMzZTUoJzB4NTIwJyldLTB4MTtfMHgxMDAyMWI+PTB4MDtfMHgxMDAyMWItLSl7Zm9yKHZhciBfMHg0ZDE0MmE9MHgwO18weDEwMDIxYj49MHgwJiYweDA9PT1fMHgyMGZhMWFbXzB4MTAwMjFiXTtfMHgxMDAyMWItLSlfMHg0ZDE0MmErKztpZihfMHgxMDAyMWI+PTB4MCYmXzB4NGQxNDJhKyssXzB4MzAyNTVhPV8weDMwMjU1YVtfMHg2MDMzZTUoJzB4OGMzJyldKF8weDRkMTQyYSksXzB4MTAwMjFiPDB4MClicmVhazt2YXIgXzB4MmQ1Y2E2PV8weDIwZmExYVtfMHgxMDAyMWJdO18weDI2OWEyZSgweDAhPT1fMHgyZDVjYTYpLF8weDMwMjU1YT1fMHg2MDMzZTUoJzB4MmMyJyk9PT1fMHg0OGMzNTRbXzB4NjAzM2U1KCcweDU3YycpXT9fMHgyZDVjYTY+MHgwP18weDMwMjU1YVsnbWl4ZWRBZGQnXShfMHgzZDRlY2ZbXzB4MmQ1Y2E2LTB4MT4+MHgxXSk6XzB4MzAyNTVhW18weDYwMzNlNSgnMHg5YmInKV0oXzB4M2Q0ZWNmWy1fMHgyZDVjYTYtMHgxPj4weDFdWyduZWcnXSgpKTpfMHgyZDVjYTY+MHgwP18weDMwMjU1YVsnYWRkJ10oXzB4M2Q0ZWNmW18weDJkNWNhNi0weDE+PjB4MV0pOl8weDMwMjU1YVsnYWRkJ10oXzB4M2Q0ZWNmWy1fMHgyZDVjYTYtMHgxPj4weDFdWyduZWcnXSgpKTt9cmV0dXJuIF8weDYwMzNlNSgnMHgyYzInKT09PV8weDQ4YzM1NFsndHlwZSddP18weDMwMjU1YVtfMHg2MDMzZTUoJzB4N2M1JyldKCk6XzB4MzAyNTVhO30sXzB4YjAyMThmWydwcm90b3R5cGUnXVtfMHgzOTZiOWUoJzB4MjAxJyldPWZ1bmN0aW9uKF8weDIwODMyMSxfMHg0ZTRhZjksXzB4M2JlODBhLF8weDM4MGViMCxfMHgzMTk1YmIpe3ZhciBfMHgyMDMxODE9XzB4Mzk2YjllLF8weDUxMGQ0OSxfMHgxM2IwNDMsXzB4OWUzZjM3LF8weDE1NGYwYT10aGlzW18weDIwMzE4MSgnMHg5NGUnKV0sXzB4ZDg5Zjg5PXRoaXNbJ193bmFmVDInXSxfMHg1YzJlYWY9dGhpc1tfMHgyMDMxODEoJzB4YzY0JyldLF8weDJkNTVmOD0weDA7Zm9yKF8weDUxMGQ0OT0weDA7XzB4NTEwZDQ5PF8weDM4MGViMDtfMHg1MTBkNDkrKyl7dmFyIF8weDNhMThiYj0oXzB4OWUzZjM3PV8weDRlNGFmOVtfMHg1MTBkNDldKVsnX2dldE5BRlBvaW50cyddKF8weDIwODMyMSk7XzB4MTU0ZjBhW18weDUxMGQ0OV09XzB4M2ExOGJiW18weDIwMzE4MSgnMHhiNjAnKV0sXzB4ZDg5Zjg5W18weDUxMGQ0OV09XzB4M2ExOGJiWydwb2ludHMnXTt9Zm9yKF8weDUxMGQ0OT1fMHgzODBlYjAtMHgxO18weDUxMGQ0OT49MHgxO18weDUxMGQ0OS09MHgyKXt2YXIgXzB4MmIzYTIyPV8weDUxMGQ0OS0weDEsXzB4M2I1OGFlPV8weDUxMGQ0OTtpZigweDE9PT1fMHgxNTRmMGFbXzB4MmIzYTIyXSYmMHgxPT09XzB4MTU0ZjBhW18weDNiNThhZV0pe3ZhciBfMHgzODk4OWI9W18weDRlNGFmOVtfMHgyYjNhMjJdLG51bGwsbnVsbCxfMHg0ZTRhZjlbXzB4M2I1OGFlXV07MHgwPT09XzB4NGU0YWY5W18weDJiM2EyMl1bJ3knXVtfMHgyMDMxODEoJzB4MzcwJyldKF8weDRlNGFmOVtfMHgzYjU4YWVdWyd5J10pPyhfMHgzODk4OWJbMHgxXT1fMHg0ZTRhZjlbXzB4MmIzYTIyXVtfMHgyMDMxODEoJzB4YmExJyldKF8weDRlNGFmOVtfMHgzYjU4YWVdKSxfMHgzODk4OWJbMHgyXT1fMHg0ZTRhZjlbXzB4MmIzYTIyXVtfMHgyMDMxODEoJzB4Yjc0JyldKClbJ21peGVkQWRkJ10oXzB4NGU0YWY5W18weDNiNThhZV1bXzB4MjAzMTgxKCcweGMxNycpXSgpKSk6MHgwPT09XzB4NGU0YWY5W18weDJiM2EyMl1bJ3knXVtfMHgyMDMxODEoJzB4MzcwJyldKF8weDRlNGFmOVtfMHgzYjU4YWVdWyd5J11bJ3JlZE5lZyddKCkpPyhfMHgzODk4OWJbMHgxXT1fMHg0ZTRhZjlbXzB4MmIzYTIyXVtfMHgyMDMxODEoJzB4Yjc0JyldKClbXzB4MjAzMTgxKCcweDliYicpXShfMHg0ZTRhZjlbXzB4M2I1OGFlXSksXzB4Mzg5ODliWzB4Ml09XzB4NGU0YWY5W18weDJiM2EyMl1bXzB4MjAzMTgxKCcweGJhMScpXShfMHg0ZTRhZjlbXzB4M2I1OGFlXVtfMHgyMDMxODEoJzB4YzE3JyldKCkpKTooXzB4Mzg5ODliWzB4MV09XzB4NGU0YWY5W18weDJiM2EyMl1bXzB4MjAzMTgxKCcweGI3NCcpXSgpWydtaXhlZEFkZCddKF8weDRlNGFmOVtfMHgzYjU4YWVdKSxfMHgzODk4OWJbMHgyXT1fMHg0ZTRhZjlbXzB4MmIzYTIyXVsndG9KJ10oKVtfMHgyMDMxODEoJzB4OWJiJyldKF8weDRlNGFmOVtfMHgzYjU4YWVdWyduZWcnXSgpKSk7dmFyIF8weDM3NmExYT1bLTB4MywtMHgxLC0weDUsLTB4NywweDAsMHg3LDB4NSwweDEsMHgzXSxfMHg0NTc2OTk9XzB4NWQ3ZDU5KF8weDNiZTgwYVtfMHgyYjNhMjJdLF8weDNiZTgwYVtfMHgzYjU4YWVdKTtmb3IoXzB4MmQ1NWY4PU1hdGhbXzB4MjAzMTgxKCcweDhmOScpXShfMHg0NTc2OTlbMHgwXVsnbGVuZ3RoJ10sXzB4MmQ1NWY4KSxfMHg1YzJlYWZbXzB4MmIzYTIyXT1uZXcgQXJyYXkoXzB4MmQ1NWY4KSxfMHg1YzJlYWZbXzB4M2I1OGFlXT1uZXcgQXJyYXkoXzB4MmQ1NWY4KSxfMHgxM2IwNDM9MHgwO18weDEzYjA0MzxfMHgyZDU1Zjg7XzB4MTNiMDQzKyspe3ZhciBfMHhjMjA5NTE9MHgwfF8weDQ1NzY5OVsweDBdW18weDEzYjA0M10sXzB4NDVkNzU1PTB4MHxfMHg0NTc2OTlbMHgxXVtfMHgxM2IwNDNdO18weDVjMmVhZltfMHgyYjNhMjJdW18weDEzYjA0M109XzB4Mzc2YTFhWzB4MyooXzB4YzIwOTUxKzB4MSkrKF8weDQ1ZDc1NSsweDEpXSxfMHg1YzJlYWZbXzB4M2I1OGFlXVtfMHgxM2IwNDNdPTB4MCxfMHhkODlmODlbXzB4MmIzYTIyXT1fMHgzODk4OWI7fX1lbHNlIF8weDVjMmVhZltfMHgyYjNhMjJdPV8weDUwMzQzZShfMHgzYmU4MGFbXzB4MmIzYTIyXSxfMHgxNTRmMGFbXzB4MmIzYTIyXSx0aGlzWydfYml0TGVuZ3RoJ10pLF8weDVjMmVhZltfMHgzYjU4YWVdPV8weDUwMzQzZShfMHgzYmU4MGFbXzB4M2I1OGFlXSxfMHgxNTRmMGFbXzB4M2I1OGFlXSx0aGlzWydfYml0TGVuZ3RoJ10pLF8weDJkNTVmOD1NYXRoWydtYXgnXShfMHg1YzJlYWZbXzB4MmIzYTIyXVtfMHgyMDMxODEoJzB4NTIwJyldLF8weDJkNTVmOCksXzB4MmQ1NWY4PU1hdGhbXzB4MjAzMTgxKCcweDhmOScpXShfMHg1YzJlYWZbXzB4M2I1OGFlXVtfMHgyMDMxODEoJzB4NTIwJyldLF8weDJkNTVmOCk7fXZhciBfMHgzODFkYWI9dGhpc1snanBvaW50J10obnVsbCxudWxsLG51bGwpLF8weDMxODEwNj10aGlzWydfd25hZlQ0J107Zm9yKF8weDUxMGQ0OT1fMHgyZDU1Zjg7XzB4NTEwZDQ5Pj0weDA7XzB4NTEwZDQ5LS0pe2Zvcih2YXIgXzB4NWM5MWM5PTB4MDtfMHg1MTBkNDk+PTB4MDspe3ZhciBfMHg1MGZmNjQ9ITB4MDtmb3IoXzB4MTNiMDQzPTB4MDtfMHgxM2IwNDM8XzB4MzgwZWIwO18weDEzYjA0MysrKV8weDMxODEwNltfMHgxM2IwNDNdPTB4MHxfMHg1YzJlYWZbXzB4MTNiMDQzXVtfMHg1MTBkNDldLDB4MCE9PV8weDMxODEwNltfMHgxM2IwNDNdJiYoXzB4NTBmZjY0PSEweDEpO2lmKCFfMHg1MGZmNjQpYnJlYWs7XzB4NWM5MWM5KyssXzB4NTEwZDQ5LS07fWlmKF8weDUxMGQ0OT49MHgwJiZfMHg1YzkxYzkrKyxfMHgzODFkYWI9XzB4MzgxZGFiW18weDIwMzE4MSgnMHg4YzMnKV0oXzB4NWM5MWM5KSxfMHg1MTBkNDk8MHgwKWJyZWFrO2ZvcihfMHgxM2IwNDM9MHgwO18weDEzYjA0MzxfMHgzODBlYjA7XzB4MTNiMDQzKyspe3ZhciBfMHg0ZTVkZjk9XzB4MzE4MTA2W18weDEzYjA0M107MHgwIT09XzB4NGU1ZGY5JiYoXzB4NGU1ZGY5PjB4MD9fMHg5ZTNmMzc9XzB4ZDg5Zjg5W18weDEzYjA0M11bXzB4NGU1ZGY5LTB4MT4+MHgxXTpfMHg0ZTVkZjk8MHgwJiYoXzB4OWUzZjM3PV8weGQ4OWY4OVtfMHgxM2IwNDNdWy1fMHg0ZTVkZjktMHgxPj4weDFdW18weDIwMzE4MSgnMHhjMTcnKV0oKSksXzB4MzgxZGFiPSdhZmZpbmUnPT09XzB4OWUzZjM3W18weDIwMzE4MSgnMHg1N2MnKV0/XzB4MzgxZGFiWydtaXhlZEFkZCddKF8weDllM2YzNyk6XzB4MzgxZGFiWydhZGQnXShfMHg5ZTNmMzcpKTt9fWZvcihfMHg1MTBkNDk9MHgwO18weDUxMGQ0OTxfMHgzODBlYjA7XzB4NTEwZDQ5KyspXzB4ZDg5Zjg5W18weDUxMGQ0OV09bnVsbDtyZXR1cm4gXzB4MzE5NWJiP18weDM4MWRhYjpfMHgzODFkYWJbXzB4MjAzMTgxKCcweDdjNScpXSgpO30sXzB4YjAyMThmW18weDM5NmI5ZSgnMHhhNDYnKV09XzB4MzZkNjExLF8weDM2ZDYxMVtfMHgzOTZiOWUoJzB4NzU2JyldWydlcSddPWZ1bmN0aW9uKCl7dmFyIF8weDI4ZTk1OT1fMHgzOTZiOWU7dGhyb3cgbmV3IEVycm9yKF8weDI4ZTk1OSgnMHg0MDAnKSk7fSxfMHgzNmQ2MTFbJ3Byb3RvdHlwZSddW18weDM5NmI5ZSgnMHgyZWQnKV09ZnVuY3Rpb24oKXt2YXIgXzB4MmFiMjlkPV8weDM5NmI5ZTtyZXR1cm4gdGhpc1tfMHgyYWIyOWQoJzB4OTExJyldW18weDJhYjI5ZCgnMHgyZWQnKV0odGhpcyk7fSxfMHhiMDIxOGZbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4NDlkJyldPWZ1bmN0aW9uKF8weDM5ZTE4MCxfMHgyOTI5N2Epe3ZhciBfMHgyNzhkNDg9XzB4Mzk2YjllO18weDM5ZTE4MD1fMHgzMGE5YTlbJ3RvQXJyYXknXShfMHgzOWUxODAsXzB4MjkyOTdhKTt2YXIgXzB4NDM5MmMyPXRoaXNbJ3AnXVtfMHgyNzhkNDgoJzB4MjFiJyldKCk7aWYoKDB4ND09PV8weDM5ZTE4MFsweDBdfHwweDY9PT1fMHgzOWUxODBbMHgwXXx8MHg3PT09XzB4MzllMTgwWzB4MF0pJiZfMHgzOWUxODBbXzB4Mjc4ZDQ4KCcweDUyMCcpXS0weDE9PTB4MipfMHg0MzkyYzIpcmV0dXJuIDB4Nj09PV8weDM5ZTE4MFsweDBdP18weDI2OWEyZShfMHgzOWUxODBbXzB4MzllMTgwW18weDI3OGQ0OCgnMHg1MjAnKV0tMHgxXSUweDI9PTB4MCk6MHg3PT09XzB4MzllMTgwWzB4MF0mJl8weDI2OWEyZShfMHgzOWUxODBbXzB4MzllMTgwW18weDI3OGQ0OCgnMHg1MjAnKV0tMHgxXSUweDI9PTB4MSksdGhpc1sncG9pbnQnXShfMHgzOWUxODBbJ3NsaWNlJ10oMHgxLDB4MStfMHg0MzkyYzIpLF8weDM5ZTE4MFtfMHgyNzhkNDgoJzB4YWRhJyldKDB4MStfMHg0MzkyYzIsMHgxKzB4MipfMHg0MzkyYzIpKTtpZigoMHgyPT09XzB4MzllMTgwWzB4MF18fDB4Mz09PV8weDM5ZTE4MFsweDBdKSYmXzB4MzllMTgwW18weDI3OGQ0OCgnMHg1MjAnKV0tMHgxPT09XzB4NDM5MmMyKXJldHVybiB0aGlzW18weDI3OGQ0OCgnMHhhMWQnKV0oXzB4MzllMTgwW18weDI3OGQ0OCgnMHhhZGEnKV0oMHgxLDB4MStfMHg0MzkyYzIpLDB4Mz09PV8weDM5ZTE4MFsweDBdKTt0aHJvdyBuZXcgRXJyb3IoXzB4Mjc4ZDQ4KCcweDFhZicpKTt9LF8weDM2ZDYxMVtfMHgzOTZiOWUoJzB4NzU2JyldW18weDM5NmI5ZSgnMHg2MTknKV09ZnVuY3Rpb24oXzB4NWM2ZGNhKXtyZXR1cm4gdGhpc1snZW5jb2RlJ10oXzB4NWM2ZGNhLCEweDApO30sXzB4MzZkNjExW18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweGJmMicpXT1mdW5jdGlvbihfMHgzZDVlYzYpe3ZhciBfMHgzZDgwNTA9XzB4Mzk2YjllLF8weDFmN2VlOT10aGlzW18weDNkODA1MCgnMHg5MTEnKV1bJ3AnXVtfMHgzZDgwNTAoJzB4MjFiJyldKCksXzB4NTA0NDU1PXRoaXNbJ2dldFgnXSgpWyd0b0FycmF5J10oJ2JlJyxfMHgxZjdlZTkpO3JldHVybiBfMHgzZDVlYzY/W3RoaXNbJ2dldFknXSgpWydpc0V2ZW4nXSgpPzB4MjoweDNdW18weDNkODA1MCgnMHg1MzAnKV0oXzB4NTA0NDU1KTpbMHg0XVtfMHgzZDgwNTAoJzB4NTMwJyldKF8weDUwNDQ1NSx0aGlzW18weDNkODA1MCgnMHg3MGUnKV0oKVtfMHgzZDgwNTAoJzB4Mzk0JyldKCdiZScsXzB4MWY3ZWU5KSk7fSxfMHgzNmQ2MTFbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4YTUxJyldPWZ1bmN0aW9uKF8weDU0ZGE1YSxfMHg0ODk3Njkpe3ZhciBfMHg3Mzc5Zjk9XzB4Mzk2YjllO3JldHVybiBfMHgzMGE5YTlbXzB4NzM3OWY5KCcweGE1MScpXSh0aGlzWydfZW5jb2RlJ10oXzB4NDg5NzY5KSxfMHg1NGRhNWEpO30sXzB4MzZkNjExWydwcm90b3R5cGUnXVtfMHgzOTZiOWUoJzB4NTI2JyldPWZ1bmN0aW9uKF8weDQ0YThjZSl7dmFyIF8weDVhOTI0Yz1fMHgzOTZiOWU7aWYodGhpc1sncHJlY29tcHV0ZWQnXSlyZXR1cm4gdGhpczt2YXIgXzB4NGQ1MWI2PXsnZG91Ymxlcyc6bnVsbCwnbmFmJzpudWxsLCdiZXRhJzpudWxsfTtyZXR1cm4gXzB4NGQ1MWI2W18weDVhOTI0YygnMHg1OWYnKV09dGhpc1tfMHg1YTkyNGMoJzB4MzAyJyldKDB4OCksXzB4NGQ1MWI2Wydkb3VibGVzJ109dGhpc1tfMHg1YTkyNGMoJzB4NWRlJyldKDB4NCxfMHg0NGE4Y2UpLF8weDRkNTFiNltfMHg1YTkyNGMoJzB4ODI5JyldPXRoaXNbXzB4NWE5MjRjKCcweGFiOScpXSgpLHRoaXNbJ3ByZWNvbXB1dGVkJ109XzB4NGQ1MWI2LHRoaXM7fSxfMHgzNmQ2MTFbJ3Byb3RvdHlwZSddW18weDM5NmI5ZSgnMHg2NjEnKV09ZnVuY3Rpb24oXzB4NGI4YmM2KXt2YXIgXzB4NTAyM2QxPV8weDM5NmI5ZTtpZighdGhpc1tfMHg1MDIzZDEoJzB4Y2VlJyldKXJldHVybiEweDE7dmFyIF8weDIyYzYxND10aGlzW18weDUwMjNkMSgnMHhjZWUnKV1bXzB4NTAyM2QxKCcweGM1NicpXTtyZXR1cm4hIV8weDIyYzYxNCYmXzB4MjJjNjE0W18weDUwMjNkMSgnMHg5MDknKV1bXzB4NTAyM2QxKCcweDUyMCcpXT49TWF0aFtfMHg1MDIzZDEoJzB4NDY2JyldKChfMHg0YjhiYzZbXzB4NTAyM2QxKCcweDRlOScpXSgpKzB4MSkvXzB4MjJjNjE0W18weDUwMjNkMSgnMHgzOTUnKV0pO30sXzB4MzZkNjExW18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweDVkZScpXT1mdW5jdGlvbihfMHg0ZTBhNmEsXzB4YjU2NGMxKXt2YXIgXzB4YjE1NjMzPV8weDM5NmI5ZTtpZih0aGlzW18weGIxNTYzMygnMHhjZWUnKV0mJnRoaXNbXzB4YjE1NjMzKCcweGNlZScpXVtfMHhiMTU2MzMoJzB4YzU2JyldKXJldHVybiB0aGlzW18weGIxNTYzMygnMHhjZWUnKV1bXzB4YjE1NjMzKCcweGM1NicpXTtmb3IodmFyIF8weDJlNjgwMj1bdGhpc10sXzB4M2ZlNzRkPXRoaXMsXzB4MTZlYjAyPTB4MDtfMHgxNmViMDI8XzB4YjU2NGMxO18weDE2ZWIwMis9XzB4NGUwYTZhKXtmb3IodmFyIF8weDE2ZTU2ZT0weDA7XzB4MTZlNTZlPF8weDRlMGE2YTtfMHgxNmU1NmUrKylfMHgzZmU3NGQ9XzB4M2ZlNzRkW18weGIxNTYzMygnMHgyZjAnKV0oKTtfMHgyZTY4MDJbXzB4YjE1NjMzKCcweDhiNycpXShfMHgzZmU3NGQpO31yZXR1cm57J3N0ZXAnOl8weDRlMGE2YSwncG9pbnRzJzpfMHgyZTY4MDJ9O30sXzB4MzZkNjExWydwcm90b3R5cGUnXVsnX2dldE5BRlBvaW50cyddPWZ1bmN0aW9uKF8weDRiNDY3MSl7dmFyIF8weDFjYTNjNT1fMHgzOTZiOWU7aWYodGhpc1tfMHgxY2EzYzUoJzB4Y2VlJyldJiZ0aGlzW18weDFjYTNjNSgnMHhjZWUnKV1bXzB4MWNhM2M1KCcweDU5ZicpXSlyZXR1cm4gdGhpc1tfMHgxY2EzYzUoJzB4Y2VlJyldW18weDFjYTNjNSgnMHg1OWYnKV07Zm9yKHZhciBfMHgxYTVjMWU9W3RoaXNdLF8weDNmYTIxND0oMHgxPDxfMHg0YjQ2NzEpLTB4MSxfMHg0NmM0NmI9MHgxPT09XzB4M2ZhMjE0P251bGw6dGhpc1tfMHgxY2EzYzUoJzB4MmYwJyldKCksXzB4NTlmZTZkPTB4MTtfMHg1OWZlNmQ8XzB4M2ZhMjE0O18weDU5ZmU2ZCsrKV8weDFhNWMxZVtfMHg1OWZlNmRdPV8weDFhNWMxZVtfMHg1OWZlNmQtMHgxXVtfMHgxY2EzYzUoJzB4YmExJyldKF8weDQ2YzQ2Yik7cmV0dXJueyd3bmQnOl8weDRiNDY3MSwncG9pbnRzJzpfMHgxYTVjMWV9O30sXzB4MzZkNjExW18weDM5NmI5ZSgnMHg3NTYnKV1bJ19nZXRCZXRhJ109ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbDt9LF8weDM2ZDYxMVtfMHgzOTZiOWUoJzB4NzU2JyldW18weDM5NmI5ZSgnMHg4YzMnKV09ZnVuY3Rpb24oXzB4NjJjZTMyKXtmb3IodmFyIF8weDM2ZWNmNz10aGlzLF8weGY5NzAwOT0weDA7XzB4Zjk3MDA5PF8weDYyY2UzMjtfMHhmOTcwMDkrKylfMHgzNmVjZjc9XzB4MzZlY2Y3WydkYmwnXSgpO3JldHVybiBfMHgzNmVjZjc7fTt2YXIgXzB4YjE3N2JjPV8weGQzZGRhZShmdW5jdGlvbihfMHg1OTZiNzcpe3ZhciBfMHg1OWUwYWQ9XzB4Mzk2YjllO18weDU5ZTBhZCgnMHhjN2InKT09dHlwZW9mIE9iamVjdFtfMHg1OWUwYWQoJzB4N2UxJyldP18weDU5NmI3N1tfMHg1OWUwYWQoJzB4MzE0JyldPWZ1bmN0aW9uKF8weGY3MDEyMCxfMHgyZDcyNmEpe3ZhciBfMHg4M2RlMTQ9XzB4NTllMGFkO18weDJkNzI2YSYmKF8weGY3MDEyMFtfMHg4M2RlMTQoJzB4NzJmJyldPV8weDJkNzI2YSxfMHhmNzAxMjBbJ3Byb3RvdHlwZSddPU9iamVjdFtfMHg4M2RlMTQoJzB4N2UxJyldKF8weDJkNzI2YVtfMHg4M2RlMTQoJzB4NzU2JyldLHsnY29uc3RydWN0b3InOnsndmFsdWUnOl8weGY3MDEyMCwnZW51bWVyYWJsZSc6ITB4MSwnd3JpdGFibGUnOiEweDAsJ2NvbmZpZ3VyYWJsZSc6ITB4MH19KSk7fTpfMHg1OTZiNzdbJ2V4cG9ydHMnXT1mdW5jdGlvbihfMHgzNjQwMzEsXzB4Mjg2NmNlKXt2YXIgXzB4MmZlOTcxPV8weDU5ZTBhZDtpZihfMHgyODY2Y2Upe18weDM2NDAzMVtfMHgyZmU5NzEoJzB4NzJmJyldPV8weDI4NjZjZTt2YXIgXzB4NTFkYjIxPWZ1bmN0aW9uKCl7fTtfMHg1MWRiMjFbXzB4MmZlOTcxKCcweDc1NicpXT1fMHgyODY2Y2VbJ3Byb3RvdHlwZSddLF8weDM2NDAzMVtfMHgyZmU5NzEoJzB4NzU2JyldPW5ldyBfMHg1MWRiMjEoKSxfMHgzNjQwMzFbXzB4MmZlOTcxKCcweDc1NicpXVtfMHgyZmU5NzEoJzB4YmZjJyldPV8weDM2NDAzMTt9fTt9KSxfMHg0Yzg1YTY9XzB4MzBhOWE5W18weDM5NmI5ZSgnMHg1YWUnKV07ZnVuY3Rpb24gXzB4YWNiYmRiKF8weDUyNGM1MSl7dmFyIF8weDJjZGQzZT1fMHgzOTZiOWU7XzB4MjFkMzU2W18weDJjZGQzZSgnMHg1ZmQnKV0odGhpcywnc2hvcnQnLF8weDUyNGM1MSksdGhpc1snYSddPW5ldyhfMHg1YzQxYWIoKSkoXzB4NTI0YzUxWydhJ10sMHgxMClbJ3RvUmVkJ10odGhpc1sncmVkJ10pLHRoaXNbJ2InXT1uZXcoXzB4NWM0MWFiKCkpKF8weDUyNGM1MVsnYiddLDB4MTApW18weDJjZGQzZSgnMHg0MzUnKV0odGhpc1tfMHgyY2RkM2UoJzB4ZDBlJyldKSx0aGlzW18weDJjZGQzZSgnMHhjYzknKV09dGhpc1tfMHgyY2RkM2UoJzB4NzMyJyldW18weDJjZGQzZSgnMHg1MTMnKV0oKSx0aGlzWyd6ZXJvQSddPTB4MD09PXRoaXNbJ2EnXVtfMHgyY2RkM2UoJzB4ODFjJyldKClbXzB4MmNkZDNlKCcweDY5ZCcpXSgweDApLHRoaXNbXzB4MmNkZDNlKCcweGQwMycpXT0weDA9PT10aGlzWydhJ11bXzB4MmNkZDNlKCcweDgxYycpXSgpW18weDJjZGQzZSgnMHhiYmYnKV0odGhpc1sncCddKVtfMHgyY2RkM2UoJzB4NjlkJyldKC0weDMpLHRoaXNbXzB4MmNkZDNlKCcweDc2MicpXT10aGlzW18weDJjZGQzZSgnMHg2OTUnKV0oXzB4NTI0YzUxKSx0aGlzWydfZW5kb1duYWZUMSddPW5ldyBBcnJheSgweDQpLHRoaXNbXzB4MmNkZDNlKCcweDNjZScpXT1uZXcgQXJyYXkoMHg0KTt9XzB4YjE3N2JjKF8weGFjYmJkYixfMHgyMWQzNTYpO3ZhciBfMHgyZmZiNDI9XzB4YWNiYmRiO2Z1bmN0aW9uIF8weDE4YWI0ZChfMHg0ZDM0ODQsXzB4Mjc2M2Y5LF8weDQyZWMxYyxfMHg0ZTNhYTQpe3ZhciBfMHgzMTU3NWY9XzB4Mzk2YjllO18weDIxZDM1NlsnQmFzZVBvaW50J11bXzB4MzE1NzVmKCcweDVmZCcpXSh0aGlzLF8weDRkMzQ4NCxfMHgzMTU3NWYoJzB4MmMyJykpLG51bGw9PT1fMHgyNzYzZjkmJm51bGw9PT1fMHg0MmVjMWM/KHRoaXNbJ3gnXT1udWxsLHRoaXNbJ3knXT1udWxsLHRoaXNbXzB4MzE1NzVmKCcweGI2NycpXT0hMHgwKToodGhpc1sneCddPW5ldyhfMHg1YzQxYWIoKSkoXzB4Mjc2M2Y5LDB4MTApLHRoaXNbJ3knXT1uZXcoXzB4NWM0MWFiKCkpKF8weDQyZWMxYywweDEwKSxfMHg0ZTNhYTQmJih0aGlzWyd4J11bXzB4MzE1NzVmKCcweGI0NScpXSh0aGlzW18weDMxNTc1ZignMHg5MTEnKV1bXzB4MzE1NzVmKCcweGQwZScpXSksdGhpc1sneSddWydmb3JjZVJlZCddKHRoaXNbXzB4MzE1NzVmKCcweDkxMScpXVsncmVkJ10pKSx0aGlzWyd4J11bXzB4MzE1NzVmKCcweGQwZScpXXx8KHRoaXNbJ3gnXT10aGlzWyd4J11bXzB4MzE1NzVmKCcweDQzNScpXSh0aGlzW18weDMxNTc1ZignMHg5MTEnKV1bJ3JlZCddKSksdGhpc1sneSddW18weDMxNTc1ZignMHhkMGUnKV18fCh0aGlzWyd5J109dGhpc1sneSddW18weDMxNTc1ZignMHg0MzUnKV0odGhpc1tfMHgzMTU3NWYoJzB4OTExJyldW18weDMxNTc1ZignMHhkMGUnKV0pKSx0aGlzW18weDMxNTc1ZignMHhiNjcnKV09ITB4MSk7fWZ1bmN0aW9uIF8weDU0NDYyOChfMHgzOGU4MTEsXzB4NGZkYmNkLF8weDE4YjdlMyxfMHg1OWZmYTgpe3ZhciBfMHgxOGM2ZjA9XzB4Mzk2YjllO18weDIxZDM1NltfMHgxOGM2ZjAoJzB4YTQ2JyldW18weDE4YzZmMCgnMHg1ZmQnKV0odGhpcyxfMHgzOGU4MTEsXzB4MThjNmYwKCcweGIyMycpKSxudWxsPT09XzB4NGZkYmNkJiZudWxsPT09XzB4MThiN2UzJiZudWxsPT09XzB4NTlmZmE4Pyh0aGlzWyd4J109dGhpc1tfMHgxOGM2ZjAoJzB4OTExJyldW18weDE4YzZmMCgnMHhkMTcnKV0sdGhpc1sneSddPXRoaXNbXzB4MThjNmYwKCcweDkxMScpXVtfMHgxOGM2ZjAoJzB4ZDE3JyldLHRoaXNbJ3onXT1uZXcoXzB4NWM0MWFiKCkpKDB4MCkpOih0aGlzWyd4J109bmV3KF8weDVjNDFhYigpKShfMHg0ZmRiY2QsMHgxMCksdGhpc1sneSddPW5ldyhfMHg1YzQxYWIoKSkoXzB4MThiN2UzLDB4MTApLHRoaXNbJ3onXT1uZXcoXzB4NWM0MWFiKCkpKF8weDU5ZmZhOCwweDEwKSksdGhpc1sneCddW18weDE4YzZmMCgnMHhkMGUnKV18fCh0aGlzWyd4J109dGhpc1sneCddW18weDE4YzZmMCgnMHg0MzUnKV0odGhpc1tfMHgxOGM2ZjAoJzB4OTExJyldW18weDE4YzZmMCgnMHhkMGUnKV0pKSx0aGlzWyd5J11bXzB4MThjNmYwKCcweGQwZScpXXx8KHRoaXNbJ3knXT10aGlzWyd5J11bJ3RvUmVkJ10odGhpc1tfMHgxOGM2ZjAoJzB4OTExJyldW18weDE4YzZmMCgnMHhkMGUnKV0pKSx0aGlzWyd6J11bJ3JlZCddfHwodGhpc1sneiddPXRoaXNbJ3onXVsndG9SZWQnXSh0aGlzW18weDE4YzZmMCgnMHg5MTEnKV1bXzB4MThjNmYwKCcweGQwZScpXSkpLHRoaXNbXzB4MThjNmYwKCcweDc4YycpXT10aGlzWyd6J109PT10aGlzW18weDE4YzZmMCgnMHg5MTEnKV1bJ29uZSddO31fMHhhY2JiZGJbXzB4Mzk2YjllKCcweDc1NicpXVsnX2dldEVuZG9tb3JwaGlzbSddPWZ1bmN0aW9uKF8weDc4NjRjMCl7dmFyIF8weDNiMDRkND1fMHgzOTZiOWU7aWYodGhpc1snemVyb0EnXSYmdGhpc1snZyddJiZ0aGlzWyduJ10mJjB4MT09PXRoaXNbJ3AnXVtfMHgzYjA0ZDQoJzB4MzdjJyldKDB4Mykpe3ZhciBfMHgxMDBkYjcsXzB4M2Q3MzQ2O2lmKF8weDc4NjRjMFtfMHgzYjA0ZDQoJzB4ODI5JyldKV8weDEwMGRiNz1uZXcoXzB4NWM0MWFiKCkpKF8weDc4NjRjMFtfMHgzYjA0ZDQoJzB4ODI5JyldLDB4MTApW18weDNiMDRkNCgnMHg0MzUnKV0odGhpc1tfMHgzYjA0ZDQoJzB4ZDBlJyldKTtlbHNle3ZhciBfMHgzN2IwYTA9dGhpc1snX2dldEVuZG9Sb290cyddKHRoaXNbJ3AnXSk7XzB4MTAwZGI3PShfMHgxMDBkYjc9XzB4MzdiMGEwWzB4MF1bXzB4M2IwNGQ0KCcweDM3MCcpXShfMHgzN2IwYTBbMHgxXSk8MHgwP18weDM3YjBhMFsweDBdOl8weDM3YjBhMFsweDFdKVtfMHgzYjA0ZDQoJzB4NDM1JyldKHRoaXNbXzB4M2IwNGQ0KCcweGQwZScpXSk7fWlmKF8weDc4NjRjMFtfMHgzYjA0ZDQoJzB4NzViJyldKV8weDNkNzM0Nj1uZXcoXzB4NWM0MWFiKCkpKF8weDc4NjRjMFsnbGFtYmRhJ10sMHgxMCk7ZWxzZXt2YXIgXzB4MTE2ZDdmPXRoaXNbXzB4M2IwNGQ0KCcweDI1ZScpXSh0aGlzWyduJ10pOzB4MD09PXRoaXNbJ2cnXVtfMHgzYjA0ZDQoJzB4YzIzJyldKF8weDExNmQ3ZlsweDBdKVsneCddW18weDNiMDRkNCgnMHgzNzAnKV0odGhpc1snZyddWyd4J11bXzB4M2IwNGQ0KCcweGM4MCcpXShfMHgxMDBkYjcpKT9fMHgzZDczNDY9XzB4MTE2ZDdmWzB4MF06KF8weDNkNzM0Nj1fMHgxMTZkN2ZbMHgxXSxfMHg0Yzg1YTYoMHgwPT09dGhpc1snZyddW18weDNiMDRkNCgnMHhjMjMnKV0oXzB4M2Q3MzQ2KVsneCddW18weDNiMDRkNCgnMHgzNzAnKV0odGhpc1snZyddWyd4J11bXzB4M2IwNGQ0KCcweGM4MCcpXShfMHgxMDBkYjcpKSkpO31yZXR1cm57J2JldGEnOl8weDEwMGRiNywnbGFtYmRhJzpfMHgzZDczNDYsJ2Jhc2lzJzpfMHg3ODY0YzBbXzB4M2IwNGQ0KCcweDZlZicpXT9fMHg3ODY0YzBbXzB4M2IwNGQ0KCcweDZlZicpXVtfMHgzYjA0ZDQoJzB4M2M5JyldKGZ1bmN0aW9uKF8weDNlMTZhZil7cmV0dXJueydhJzpuZXcoXzB4NWM0MWFiKCkpKF8weDNlMTZhZlsnYSddLDB4MTApLCdiJzpuZXcoXzB4NWM0MWFiKCkpKF8weDNlMTZhZlsnYiddLDB4MTApfTt9KTp0aGlzWydfZ2V0RW5kb0Jhc2lzJ10oXzB4M2Q3MzQ2KX07fX0sXzB4YWNiYmRiW18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweDI1ZScpXT1mdW5jdGlvbihfMHgyYmQ1ZTcpe3ZhciBfMHgzZTY4YTc9XzB4Mzk2YjllLF8weDFkY2FjYT1fMHgyYmQ1ZTc9PT10aGlzWydwJ10/dGhpc1tfMHgzZTY4YTcoJzB4ZDBlJyldOl8weDVjNDFhYigpW18weDNlNjhhNygnMHg0OWUnKV0oXzB4MmJkNWU3KSxfMHgyNzBjOTA9bmV3KF8weDVjNDFhYigpKSgweDIpW18weDNlNjhhNygnMHg0MzUnKV0oXzB4MWRjYWNhKVtfMHgzZTY4YTcoJzB4NTEzJyldKCksXzB4NGZlY2ZhPV8weDI3MGM5MFsncmVkTmVnJ10oKSxfMHg0NWQ2NmI9bmV3KF8weDVjNDFhYigpKSgweDMpWyd0b1JlZCddKF8weDFkY2FjYSlbXzB4M2U2OGE3KCcweDM4ZicpXSgpW18weDNlNjhhNygnMHhjMjUnKV0oKVtfMHgzZTY4YTcoJzB4YzgwJyldKF8weDI3MGM5MCk7cmV0dXJuW18weDRmZWNmYVsncmVkQWRkJ10oXzB4NDVkNjZiKVtfMHgzZTY4YTcoJzB4ODFjJyldKCksXzB4NGZlY2ZhW18weDNlNjhhNygnMHg3ZDEnKV0oXzB4NDVkNjZiKVtfMHgzZTY4YTcoJzB4ODFjJyldKCldO30sXzB4YWNiYmRiW18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweDljNycpXT1mdW5jdGlvbihfMHg0NzlkNzIpe3ZhciBfMHg1ZjE1NjY9XzB4Mzk2YjllO2Zvcih2YXIgXzB4NDE1ZjMyLF8weDE4MDhjYyxfMHgxMGExMTYsXzB4NjgxYjIsXzB4MzVjZjJiLF8weDIyYmNlNSxfMHgxZTFiNjcsXzB4NDQ0YjFlLF8weDRkNTdkYyxfMHgxYzY0ODI9dGhpc1snbiddW18weDVmMTU2NignMHhjZmMnKV0oTWF0aFtfMHg1ZjE1NjYoJzB4YmJlJyldKHRoaXNbJ24nXVsnYml0TGVuZ3RoJ10oKS8weDIpKSxfMHgzMWRhYTg9XzB4NDc5ZDcyLF8weDM4ZmU1ND10aGlzWyduJ11bXzB4NWYxNTY2KCcweDM3OScpXSgpLF8weDJjMWEwND1uZXcoXzB4NWM0MWFiKCkpKDB4MSksXzB4MzBkMzBiPW5ldyhfMHg1YzQxYWIoKSkoMHgwKSxfMHgyNGQ5YzU9bmV3KF8weDVjNDFhYigpKSgweDApLF8weDRkNzM5Mz1uZXcoXzB4NWM0MWFiKCkpKDB4MSksXzB4NTBhZGNjPTB4MDsweDAhPT1fMHgzMWRhYThbXzB4NWYxNTY2KCcweDY5ZCcpXSgweDApOyl7dmFyIF8weDgwNWNjNT1fMHgzOGZlNTRbXzB4NWYxNTY2KCcweDg1ZCcpXShfMHgzMWRhYTgpO18weDQ0NGIxZT1fMHgzOGZlNTRbJ3N1YiddKF8weDgwNWNjNVtfMHg1ZjE1NjYoJzB4YzIzJyldKF8weDMxZGFhOCkpLF8weDRkNTdkYz1fMHgyNGQ5YzVbXzB4NWYxNTY2KCcweGJiZicpXShfMHg4MDVjYzVbJ211bCddKF8weDJjMWEwNCkpO3ZhciBfMHg0NGI3ODU9XzB4NGQ3MzkzW18weDVmMTU2NignMHhiYmYnKV0oXzB4ODA1Y2M1W18weDVmMTU2NignMHhjMjMnKV0oXzB4MzBkMzBiKSk7aWYoIV8weDEwYTExNiYmXzB4NDQ0YjFlW18weDVmMTU2NignMHgzNzAnKV0oXzB4MWM2NDgyKTwweDApXzB4NDE1ZjMyPV8weDFlMWI2N1tfMHg1ZjE1NjYoJzB4YzE3JyldKCksXzB4MTgwOGNjPV8weDJjMWEwNCxfMHgxMGExMTY9XzB4NDQ0YjFlWyduZWcnXSgpLF8weDY4MWIyPV8weDRkNTdkYztlbHNle2lmKF8weDEwYTExNiYmMHgyPT0rK18weDUwYWRjYylicmVhazt9XzB4MWUxYjY3PV8weDQ0NGIxZSxfMHgzOGZlNTQ9XzB4MzFkYWE4LF8weDMxZGFhOD1fMHg0NDRiMWUsXzB4MjRkOWM1PV8weDJjMWEwNCxfMHgyYzFhMDQ9XzB4NGQ1N2RjLF8weDRkNzM5Mz1fMHgzMGQzMGIsXzB4MzBkMzBiPV8weDQ0Yjc4NTt9XzB4MzVjZjJiPV8weDQ0NGIxZVsnbmVnJ10oKSxfMHgyMmJjZTU9XzB4NGQ1N2RjO3ZhciBfMHgyZTAzMjQ9XzB4MTBhMTE2W18weDVmMTU2NignMHg5ZWEnKV0oKVtfMHg1ZjE1NjYoJzB4YmExJyldKF8weDY4MWIyW18weDVmMTU2NignMHg5ZWEnKV0oKSk7cmV0dXJuIF8weDM1Y2YyYltfMHg1ZjE1NjYoJzB4OWVhJyldKClbXzB4NWYxNTY2KCcweGJhMScpXShfMHgyMmJjZTVbXzB4NWYxNTY2KCcweDllYScpXSgpKVtfMHg1ZjE1NjYoJzB4MzcwJyldKF8weDJlMDMyNCk+PTB4MCYmKF8weDM1Y2YyYj1fMHg0MTVmMzIsXzB4MjJiY2U1PV8weDE4MDhjYyksXzB4MTBhMTE2WyduZWdhdGl2ZSddJiYoXzB4MTBhMTE2PV8weDEwYTExNltfMHg1ZjE1NjYoJzB4YzE3JyldKCksXzB4NjgxYjI9XzB4NjgxYjJbXzB4NWYxNTY2KCcweGMxNycpXSgpKSxfMHgzNWNmMmJbXzB4NWYxNTY2KCcweGQ1MCcpXSYmKF8weDM1Y2YyYj1fMHgzNWNmMmJbXzB4NWYxNTY2KCcweGMxNycpXSgpLF8weDIyYmNlNT1fMHgyMmJjZTVbXzB4NWYxNTY2KCcweGMxNycpXSgpKSxbeydhJzpfMHgxMGExMTYsJ2InOl8weDY4MWIyfSx7J2EnOl8weDM1Y2YyYiwnYic6XzB4MjJiY2U1fV07fSxfMHhhY2JiZGJbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4MzNiJyldPWZ1bmN0aW9uKF8weDU0YWUyZCl7dmFyIF8weDM4MzZkMD1fMHgzOTZiOWUsXzB4NTIzNTlhPXRoaXNbJ2VuZG8nXVtfMHgzODM2ZDAoJzB4NmVmJyldLF8weDI1YzRhZT1fMHg1MjM1OWFbMHgwXSxfMHgxMmU0OGI9XzB4NTIzNTlhWzB4MV0sXzB4MTBlNDcxPV8weDEyZTQ4YlsnYiddW18weDM4MzZkMCgnMHhjMjMnKV0oXzB4NTRhZTJkKVtfMHgzODM2ZDAoJzB4MzlhJyldKHRoaXNbJ24nXSksXzB4NGFhYTY2PV8weDI1YzRhZVsnYiddWyduZWcnXSgpW18weDM4MzZkMCgnMHhjMjMnKV0oXzB4NTRhZTJkKVtfMHgzODM2ZDAoJzB4MzlhJyldKHRoaXNbJ24nXSksXzB4MTUwYzgyPV8weDEwZTQ3MVtfMHgzODM2ZDAoJzB4YzIzJyldKF8weDI1YzRhZVsnYSddKSxfMHg0NjU1NjA9XzB4NGFhYTY2W18weDM4MzZkMCgnMHhjMjMnKV0oXzB4MTJlNDhiWydhJ10pLF8weDQ3NzFmZD1fMHgxMGU0NzFbXzB4MzgzNmQwKCcweGMyMycpXShfMHgyNWM0YWVbJ2InXSksXzB4MzFmZWZlPV8weDRhYWE2NltfMHgzODM2ZDAoJzB4YzIzJyldKF8weDEyZTQ4YlsnYiddKTtyZXR1cm57J2sxJzpfMHg1NGFlMmRbJ3N1YiddKF8weDE1MGM4MilbJ3N1YiddKF8weDQ2NTU2MCksJ2syJzpfMHg0NzcxZmRbJ2FkZCddKF8weDMxZmVmZSlbJ25lZyddKCl9O30sXzB4YWNiYmRiW18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweGExZCcpXT1mdW5jdGlvbihfMHg0ZWI0YjIsXzB4NWI0N2VjKXt2YXIgXzB4MTI5YTA3PV8weDM5NmI5ZTsoXzB4NGViNGIyPW5ldyhfMHg1YzQxYWIoKSkoXzB4NGViNGIyLDB4MTApKVtfMHgxMjlhMDcoJzB4ZDBlJyldfHwoXzB4NGViNGIyPV8weDRlYjRiMltfMHgxMjlhMDcoJzB4NDM1JyldKHRoaXNbXzB4MTI5YTA3KCcweGQwZScpXSkpO3ZhciBfMHgyYzUxYjU9XzB4NGViNGIyW18weDEyOWEwNygnMHgyZjgnKV0oKVtfMHgxMjlhMDcoJzB4YzgwJyldKF8weDRlYjRiMilbJ3JlZElBZGQnXShfMHg0ZWI0YjJbJ3JlZE11bCddKHRoaXNbJ2EnXSkpWydyZWRJQWRkJ10odGhpc1snYiddKSxfMHgyNDYzYmY9XzB4MmM1MWI1W18weDEyOWEwNygnMHhjMjUnKV0oKTtpZigweDAhPT1fMHgyNDYzYmZbJ3JlZFNxciddKClbXzB4MTI5YTA3KCcweDdkMScpXShfMHgyYzUxYjUpWydjbXAnXSh0aGlzW18weDEyOWEwNygnMHhhYmQnKV0pKXRocm93IG5ldyBFcnJvcihfMHgxMjlhMDcoJzB4Y2ZiJykpO3ZhciBfMHg1NWE2OWI9XzB4MjQ2M2JmW18weDEyOWEwNygnMHg4MWMnKV0oKVsnaXNPZGQnXSgpO3JldHVybihfMHg1YjQ3ZWMmJiFfMHg1NWE2OWJ8fCFfMHg1YjQ3ZWMmJl8weDU1YTY5YikmJihfMHgyNDYzYmY9XzB4MjQ2M2JmW18weDEyOWEwNygnMHgzOGYnKV0oKSksdGhpc1tfMHgxMjlhMDcoJzB4OGVhJyldKF8weDRlYjRiMixfMHgyNDYzYmYpO30sXzB4YWNiYmRiWydwcm90b3R5cGUnXVsndmFsaWRhdGUnXT1mdW5jdGlvbihfMHg4YmQ4NWQpe3ZhciBfMHg0MWVkMjU9XzB4Mzk2YjllO2lmKF8weDhiZDg1ZFsnaW5mJ10pcmV0dXJuITB4MDt2YXIgXzB4OTE5MzI2PV8weDhiZDg1ZFsneCddLF8weDU3NGQ5OD1fMHg4YmQ4NWRbJ3knXSxfMHgxNTQwYzU9dGhpc1snYSddW18weDQxZWQyNSgnMHhjODAnKV0oXzB4OTE5MzI2KSxfMHgzODc5Yzc9XzB4OTE5MzI2W18weDQxZWQyNSgnMHgyZjgnKV0oKVsncmVkTXVsJ10oXzB4OTE5MzI2KVsncmVkSUFkZCddKF8weDE1NDBjNSlbXzB4NDFlZDI1KCcweDJhYScpXSh0aGlzWydiJ10pO3JldHVybiAweDA9PT1fMHg1NzRkOThbXzB4NDFlZDI1KCcweDJmOCcpXSgpW18weDQxZWQyNSgnMHg5MTcnKV0oXzB4Mzg3OWM3KVtfMHg0MWVkMjUoJzB4NjlkJyldKDB4MCk7fSxfMHhhY2JiZGJbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4OGRiJyldPWZ1bmN0aW9uKF8weDRlMTc3YyxfMHg1MzU0NTAsXzB4Y2VkMmU3KXt2YXIgXzB4MWM1ZTkwPV8weDM5NmI5ZTtmb3IodmFyIF8weGI0YTY0Zj10aGlzW18weDFjNWU5MCgnMHg1ODAnKV0sXzB4NTNjMDgxPXRoaXNbXzB4MWM1ZTkwKCcweDNjZScpXSxfMHgxOWZiNjc9MHgwO18weDE5ZmI2NzxfMHg0ZTE3N2NbJ2xlbmd0aCddO18weDE5ZmI2NysrKXt2YXIgXzB4MzFiYTJhPXRoaXNbXzB4MWM1ZTkwKCcweDMzYicpXShfMHg1MzU0NTBbXzB4MTlmYjY3XSksXzB4MjVkMzAyPV8weDRlMTc3Y1tfMHgxOWZiNjddLF8weDRkOWExZD1fMHgyNWQzMDJbXzB4MWM1ZTkwKCcweGFiOScpXSgpO18weDMxYmEyYVsnazEnXVtfMHgxYzVlOTAoJzB4ZDUwJyldJiYoXzB4MzFiYTJhWydrMSddW18weDFjNWU5MCgnMHg2OTcnKV0oKSxfMHgyNWQzMDI9XzB4MjVkMzAyW18weDFjNWU5MCgnMHhjMTcnKV0oITB4MCkpLF8weDMxYmEyYVsnazInXVtfMHgxYzVlOTAoJzB4ZDUwJyldJiYoXzB4MzFiYTJhWydrMiddWydpbmVnJ10oKSxfMHg0ZDlhMWQ9XzB4NGQ5YTFkW18weDFjNWU5MCgnMHhjMTcnKV0oITB4MCkpLF8weGI0YTY0ZlsweDIqXzB4MTlmYjY3XT1fMHgyNWQzMDIsXzB4YjRhNjRmWzB4MipfMHgxOWZiNjcrMHgxXT1fMHg0ZDlhMWQsXzB4NTNjMDgxWzB4MipfMHgxOWZiNjddPV8weDMxYmEyYVsnazEnXSxfMHg1M2MwODFbMHgyKl8weDE5ZmI2NysweDFdPV8weDMxYmEyYVsnazInXTt9Zm9yKHZhciBfMHg0YTAxMzA9dGhpc1tfMHgxYzVlOTAoJzB4MjAxJyldKDB4MSxfMHhiNGE2NGYsXzB4NTNjMDgxLDB4MipfMHgxOWZiNjcsXzB4Y2VkMmU3KSxfMHgyZmM3MTI9MHgwO18weDJmYzcxMjwweDIqXzB4MTlmYjY3O18weDJmYzcxMisrKV8weGI0YTY0ZltfMHgyZmM3MTJdPW51bGwsXzB4NTNjMDgxW18weDJmYzcxMl09bnVsbDtyZXR1cm4gXzB4NGEwMTMwO30sXzB4YjE3N2JjKF8weDE4YWI0ZCxfMHgyMWQzNTZbJ0Jhc2VQb2ludCddKSxfMHhhY2JiZGJbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4OGVhJyldPWZ1bmN0aW9uKF8weDNjZjA4ZixfMHgxYmI0YjksXzB4M2EzODQ2KXtyZXR1cm4gbmV3IF8weDE4YWI0ZCh0aGlzLF8weDNjZjA4ZixfMHgxYmI0YjksXzB4M2EzODQ2KTt9LF8weGFjYmJkYltfMHgzOTZiOWUoJzB4NzU2JyldWydwb2ludEZyb21KU09OJ109ZnVuY3Rpb24oXzB4MzY1NzIwLF8weDIzMTFkZSl7dmFyIF8weDE1NzEzND1fMHgzOTZiOWU7cmV0dXJuIF8weDE4YWI0ZFtfMHgxNTcxMzQoJzB4YTIxJyldKHRoaXMsXzB4MzY1NzIwLF8weDIzMTFkZSk7fSxfMHgxOGFiNGRbJ3Byb3RvdHlwZSddWydfZ2V0QmV0YSddPWZ1bmN0aW9uKCl7dmFyIF8weDE3M2VhNz1fMHgzOTZiOWU7aWYodGhpc1tfMHgxNzNlYTcoJzB4OTExJyldWydlbmRvJ10pe3ZhciBfMHg0NTlhMDg9dGhpc1tfMHgxNzNlYTcoJzB4Y2VlJyldO2lmKF8weDQ1OWEwOCYmXzB4NDU5YTA4W18weDE3M2VhNygnMHg4MjknKV0pcmV0dXJuIF8weDQ1OWEwOFtfMHgxNzNlYTcoJzB4ODI5JyldO3ZhciBfMHg0MjgzYzc9dGhpc1snY3VydmUnXVtfMHgxNzNlYTcoJzB4OGVhJyldKHRoaXNbJ3gnXVtfMHgxNzNlYTcoJzB4YzgwJyldKHRoaXNbXzB4MTczZWE3KCcweDkxMScpXVtfMHgxNzNlYTcoJzB4NzYyJyldWydiZXRhJ10pLHRoaXNbJ3knXSk7aWYoXzB4NDU5YTA4KXt2YXIgXzB4NGEzYzAwPXRoaXNbXzB4MTczZWE3KCcweDkxMScpXSxfMHg1NjFjYmQ9ZnVuY3Rpb24oXzB4NDY1YjYwKXt2YXIgXzB4M2ViODE4PV8weDE3M2VhNztyZXR1cm4gXzB4NGEzYzAwW18weDNlYjgxOCgnMHg4ZWEnKV0oXzB4NDY1YjYwWyd4J11bXzB4M2ViODE4KCcweGM4MCcpXShfMHg0YTNjMDBbXzB4M2ViODE4KCcweDc2MicpXVtfMHgzZWI4MTgoJzB4ODI5JyldKSxfMHg0NjViNjBbJ3knXSk7fTtfMHg0NTlhMDhbXzB4MTczZWE3KCcweDgyOScpXT1fMHg0MjgzYzcsXzB4NDI4M2M3WydwcmVjb21wdXRlZCddPXsnYmV0YSc6bnVsbCwnbmFmJzpfMHg0NTlhMDhbJ25hZiddJiZ7J3duZCc6XzB4NDU5YTA4WyduYWYnXVtfMHgxNzNlYTcoJzB4YjYwJyldLCdwb2ludHMnOl8weDQ1OWEwOFtfMHgxNzNlYTcoJzB4NTlmJyldW18weDE3M2VhNygnMHg5MDknKV1bJ21hcCddKF8weDU2MWNiZCl9LCdkb3VibGVzJzpfMHg0NTlhMDhbXzB4MTczZWE3KCcweGM1NicpXSYmeydzdGVwJzpfMHg0NTlhMDhbXzB4MTczZWE3KCcweGM1NicpXVtfMHgxNzNlYTcoJzB4Mzk1JyldLCdwb2ludHMnOl8weDQ1OWEwOFtfMHgxNzNlYTcoJzB4YzU2JyldW18weDE3M2VhNygnMHg5MDknKV1bJ21hcCddKF8weDU2MWNiZCl9fTt9cmV0dXJuIF8weDQyODNjNzt9fSxfMHgxOGFiNGRbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4YTQ5JyldPWZ1bmN0aW9uKCl7dmFyIF8weGNiN2ZhOD1fMHgzOTZiOWU7cmV0dXJuIHRoaXNbXzB4Y2I3ZmE4KCcweGNlZScpXT9bdGhpc1sneCddLHRoaXNbJ3knXSx0aGlzW18weGNiN2ZhOCgnMHhjZWUnKV0mJnsnZG91Ymxlcyc6dGhpc1tfMHhjYjdmYTgoJzB4Y2VlJyldWydkb3VibGVzJ10mJnsnc3RlcCc6dGhpc1sncHJlY29tcHV0ZWQnXVsnZG91YmxlcyddW18weGNiN2ZhOCgnMHgzOTUnKV0sJ3BvaW50cyc6dGhpc1tfMHhjYjdmYTgoJzB4Y2VlJyldW18weGNiN2ZhOCgnMHhjNTYnKV1bJ3BvaW50cyddW18weGNiN2ZhOCgnMHhhZGEnKV0oMHgxKX0sJ25hZic6dGhpc1sncHJlY29tcHV0ZWQnXVsnbmFmJ10mJnsnd25kJzp0aGlzWydwcmVjb21wdXRlZCddW18weGNiN2ZhOCgnMHg1OWYnKV1bXzB4Y2I3ZmE4KCcweGI2MCcpXSwncG9pbnRzJzp0aGlzW18weGNiN2ZhOCgnMHhjZWUnKV1bJ25hZiddW18weGNiN2ZhOCgnMHg5MDknKV1bJ3NsaWNlJ10oMHgxKX19XTpbdGhpc1sneCddLHRoaXNbJ3knXV07fSxfMHgxOGFiNGRbXzB4Mzk2YjllKCcweGEyMScpXT1mdW5jdGlvbihfMHgzNTgzNWIsXzB4M2QyOThhLF8weDVjZjVlNCl7dmFyIF8weDdhMTg5Yj1fMHgzOTZiOWU7XzB4N2ExODliKCcweDY1ZicpPT10eXBlb2YgXzB4M2QyOThhJiYoXzB4M2QyOThhPUpTT05bJ3BhcnNlJ10oXzB4M2QyOThhKSk7dmFyIF8weDUwZWNkZT1fMHgzNTgzNWJbXzB4N2ExODliKCcweDhlYScpXShfMHgzZDI5OGFbMHgwXSxfMHgzZDI5OGFbMHgxXSxfMHg1Y2Y1ZTQpO2lmKCFfMHgzZDI5OGFbMHgyXSlyZXR1cm4gXzB4NTBlY2RlO2Z1bmN0aW9uIF8weDE0YzNjMShfMHgyNmRlYzQpe3ZhciBfMHgzMGJkZjA9XzB4N2ExODliO3JldHVybiBfMHgzNTgzNWJbXzB4MzBiZGYwKCcweDhlYScpXShfMHgyNmRlYzRbMHgwXSxfMHgyNmRlYzRbMHgxXSxfMHg1Y2Y1ZTQpO312YXIgXzB4NThhOTcwPV8weDNkMjk4YVsweDJdO3JldHVybiBfMHg1MGVjZGVbXzB4N2ExODliKCcweGNlZScpXT17J2JldGEnOm51bGwsJ2RvdWJsZXMnOl8weDU4YTk3MFsnZG91YmxlcyddJiZ7J3N0ZXAnOl8weDU4YTk3MFtfMHg3YTE4OWIoJzB4YzU2JyldWydzdGVwJ10sJ3BvaW50cyc6W18weDUwZWNkZV1bJ2NvbmNhdCddKF8weDU4YTk3MFtfMHg3YTE4OWIoJzB4YzU2JyldW18weDdhMTg5YignMHg5MDknKV1bXzB4N2ExODliKCcweDNjOScpXShfMHgxNGMzYzEpKX0sJ25hZic6XzB4NThhOTcwW18weDdhMTg5YignMHg1OWYnKV0mJnsnd25kJzpfMHg1OGE5NzBbXzB4N2ExODliKCcweDU5ZicpXVtfMHg3YTE4OWIoJzB4YjYwJyldLCdwb2ludHMnOltfMHg1MGVjZGVdW18weDdhMTg5YignMHg1MzAnKV0oXzB4NThhOTcwWyduYWYnXVtfMHg3YTE4OWIoJzB4OTA5JyldW18weDdhMTg5YignMHgzYzknKV0oXzB4MTRjM2MxKSl9fSxfMHg1MGVjZGU7fSxfMHgxOGFiNGRbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4ZDIzJyldPWZ1bmN0aW9uKCl7dmFyIF8weDM3M2YyOD1fMHgzOTZiOWU7cmV0dXJuIHRoaXNbJ2lzSW5maW5pdHknXSgpP18weDM3M2YyOCgnMHg4MGYnKTpfMHgzNzNmMjgoJzB4OTkxJykrdGhpc1sneCddWydmcm9tUmVkJ10oKVsndG9TdHJpbmcnXSgweDEwLDB4MikrJ1x4MjB5Olx4MjAnK3RoaXNbJ3knXVsnZnJvbVJlZCddKClbXzB4MzczZjI4KCcweDU0NycpXSgweDEwLDB4MikrJz4nO30sXzB4MThhYjRkW18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweDQyZScpXT1mdW5jdGlvbigpe3JldHVybiB0aGlzWydpbmYnXTt9LF8weDE4YWI0ZFsncHJvdG90eXBlJ11bXzB4Mzk2YjllKCcweGJhMScpXT1mdW5jdGlvbihfMHg1ODc4N2Ipe3ZhciBfMHg0ZWJlN2U9XzB4Mzk2YjllO2lmKHRoaXNbXzB4NGViZTdlKCcweGI2NycpXSlyZXR1cm4gXzB4NTg3ODdiO2lmKF8weDU4Nzg3YltfMHg0ZWJlN2UoJzB4YjY3JyldKXJldHVybiB0aGlzO2lmKHRoaXNbJ2VxJ10oXzB4NTg3ODdiKSlyZXR1cm4gdGhpc1tfMHg0ZWJlN2UoJzB4MmYwJyldKCk7aWYodGhpc1snbmVnJ10oKVsnZXEnXShfMHg1ODc4N2IpKXJldHVybiB0aGlzW18weDRlYmU3ZSgnMHg5MTEnKV1bXzB4NGViZTdlKCcweDhlYScpXShudWxsLG51bGwpO2lmKDB4MD09PXRoaXNbJ3gnXVtfMHg0ZWJlN2UoJzB4MzcwJyldKF8weDU4Nzg3YlsneCddKSlyZXR1cm4gdGhpc1tfMHg0ZWJlN2UoJzB4OTExJyldW18weDRlYmU3ZSgnMHg4ZWEnKV0obnVsbCxudWxsKTt2YXIgXzB4NGQwZGFiPXRoaXNbJ3knXVtfMHg0ZWJlN2UoJzB4N2QxJyldKF8weDU4Nzg3YlsneSddKTsweDAhPT1fMHg0ZDBkYWJbXzB4NGViZTdlKCcweDY5ZCcpXSgweDApJiYoXzB4NGQwZGFiPV8weDRkMGRhYltfMHg0ZWJlN2UoJzB4YzgwJyldKHRoaXNbJ3gnXVtfMHg0ZWJlN2UoJzB4N2QxJyldKF8weDU4Nzg3YlsneCddKVsncmVkSW52bSddKCkpKTt2YXIgXzB4Mjk3OWFhPV8weDRkMGRhYltfMHg0ZWJlN2UoJzB4MmY4JyldKClbJ3JlZElTdWInXSh0aGlzWyd4J10pWydyZWRJU3ViJ10oXzB4NTg3ODdiWyd4J10pLF8weDQxNTQ4ZD1fMHg0ZDBkYWJbXzB4NGViZTdlKCcweGM4MCcpXSh0aGlzWyd4J11bXzB4NGViZTdlKCcweDdkMScpXShfMHgyOTc5YWEpKVtfMHg0ZWJlN2UoJzB4OTE3JyldKHRoaXNbJ3knXSk7cmV0dXJuIHRoaXNbJ2N1cnZlJ11bXzB4NGViZTdlKCcweDhlYScpXShfMHgyOTc5YWEsXzB4NDE1NDhkKTt9LF8weDE4YWI0ZFtfMHgzOTZiOWUoJzB4NzU2JyldW18weDM5NmI5ZSgnMHgyZjAnKV09ZnVuY3Rpb24oKXt2YXIgXzB4NDdiYTJlPV8weDM5NmI5ZTtpZih0aGlzWydpbmYnXSlyZXR1cm4gdGhpczt2YXIgXzB4MTMyMDU3PXRoaXNbJ3knXVtfMHg0N2JhMmUoJzB4Mjk3JyldKHRoaXNbJ3knXSk7aWYoMHgwPT09XzB4MTMyMDU3WydjbXBuJ10oMHgwKSlyZXR1cm4gdGhpc1tfMHg0N2JhMmUoJzB4OTExJyldW18weDQ3YmEyZSgnMHg4ZWEnKV0obnVsbCxudWxsKTt2YXIgXzB4MjgwNmZlPXRoaXNbJ2N1cnZlJ11bJ2EnXSxfMHgxMmE0ZmU9dGhpc1sneCddW18weDQ3YmEyZSgnMHgyZjgnKV0oKSxfMHgzYjI5ZTg9XzB4MTMyMDU3W18weDQ3YmEyZSgnMHg1MTMnKV0oKSxfMHg1MDdhMWQ9XzB4MTJhNGZlW18weDQ3YmEyZSgnMHgyOTcnKV0oXzB4MTJhNGZlKVtfMHg0N2JhMmUoJzB4MmFhJyldKF8weDEyYTRmZSlbJ3JlZElBZGQnXShfMHgyODA2ZmUpW18weDQ3YmEyZSgnMHhjODAnKV0oXzB4M2IyOWU4KSxfMHgyMTdjYTQ9XzB4NTA3YTFkW18weDQ3YmEyZSgnMHgyZjgnKV0oKVsncmVkSVN1YiddKHRoaXNbJ3gnXVtfMHg0N2JhMmUoJzB4Mjk3JyldKHRoaXNbJ3gnXSkpLF8weDMxOTQ0MT1fMHg1MDdhMWRbJ3JlZE11bCddKHRoaXNbJ3gnXVtfMHg0N2JhMmUoJzB4N2QxJyldKF8weDIxN2NhNCkpWydyZWRJU3ViJ10odGhpc1sneSddKTtyZXR1cm4gdGhpc1tfMHg0N2JhMmUoJzB4OTExJyldW18weDQ3YmEyZSgnMHg4ZWEnKV0oXzB4MjE3Y2E0LF8weDMxOTQ0MSk7fSxfMHgxOGFiNGRbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4NGU1JyldPWZ1bmN0aW9uKCl7dmFyIF8weDEyNWZhMj1fMHgzOTZiOWU7cmV0dXJuIHRoaXNbJ3gnXVtfMHgxMjVmYTIoJzB4ODFjJyldKCk7fSxfMHgxOGFiNGRbXzB4Mzk2YjllKCcweDc1NicpXVsnZ2V0WSddPWZ1bmN0aW9uKCl7dmFyIF8weDMyNWRlNz1fMHgzOTZiOWU7cmV0dXJuIHRoaXNbJ3knXVtfMHgzMjVkZTcoJzB4ODFjJyldKCk7fSxfMHgxOGFiNGRbJ3Byb3RvdHlwZSddW18weDM5NmI5ZSgnMHhjMjMnKV09ZnVuY3Rpb24oXzB4MzRiNGNlKXt2YXIgXzB4OWVkOD1fMHgzOTZiOWU7cmV0dXJuIF8weDM0YjRjZT1uZXcoXzB4NWM0MWFiKCkpKF8weDM0YjRjZSwweDEwKSx0aGlzW18weDllZDgoJzB4NDJlJyldKCk/dGhpczp0aGlzW18weDllZDgoJzB4NjYxJyldKF8weDM0YjRjZSk/dGhpc1tfMHg5ZWQ4KCcweDkxMScpXVtfMHg5ZWQ4KCcweDcwOCcpXSh0aGlzLF8weDM0YjRjZSk6dGhpc1tfMHg5ZWQ4KCcweDkxMScpXVtfMHg5ZWQ4KCcweDc2MicpXT90aGlzW18weDllZDgoJzB4OTExJyldW18weDllZDgoJzB4OGRiJyldKFt0aGlzXSxbXzB4MzRiNGNlXSk6dGhpc1snY3VydmUnXVsnX3duYWZNdWwnXSh0aGlzLF8weDM0YjRjZSk7fSxfMHgxOGFiNGRbXzB4Mzk2YjllKCcweDc1NicpXVsnbXVsQWRkJ109ZnVuY3Rpb24oXzB4NDVkNzY2LF8weDVjNzAyMCxfMHgyYTdhYzQpe3ZhciBfMHgyZmJkZTU9XzB4Mzk2YjllLF8weDMxZTY4OT1bdGhpcyxfMHg1YzcwMjBdLF8weDViNmY5OT1bXzB4NDVkNzY2LF8weDJhN2FjNF07cmV0dXJuIHRoaXNbXzB4MmZiZGU1KCcweDkxMScpXVtfMHgyZmJkZTUoJzB4NzYyJyldP3RoaXNbXzB4MmZiZGU1KCcweDkxMScpXVtfMHgyZmJkZTUoJzB4OGRiJyldKF8weDMxZTY4OSxfMHg1YjZmOTkpOnRoaXNbXzB4MmZiZGU1KCcweDkxMScpXVtfMHgyZmJkZTUoJzB4MjAxJyldKDB4MSxfMHgzMWU2ODksXzB4NWI2Zjk5LDB4Mik7fSxfMHgxOGFiNGRbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4YmY0JyldPWZ1bmN0aW9uKF8weDQ3ZGQ0YyxfMHg0MjU2ZWUsXzB4NjhiODMyKXt2YXIgXzB4MjRjZDM1PV8weDM5NmI5ZSxfMHg0YjFlYmQ9W3RoaXMsXzB4NDI1NmVlXSxfMHgzZjVlOWY9W18weDQ3ZGQ0YyxfMHg2OGI4MzJdO3JldHVybiB0aGlzWydjdXJ2ZSddWydlbmRvJ10/dGhpc1snY3VydmUnXVtfMHgyNGNkMzUoJzB4OGRiJyldKF8weDRiMWViZCxfMHgzZjVlOWYsITB4MCk6dGhpc1snY3VydmUnXVtfMHgyNGNkMzUoJzB4MjAxJyldKDB4MSxfMHg0YjFlYmQsXzB4M2Y1ZTlmLDB4MiwhMHgwKTt9LF8weDE4YWI0ZFtfMHgzOTZiOWUoJzB4NzU2JyldWydlcSddPWZ1bmN0aW9uKF8weDMyN2EzNyl7dmFyIF8weDM5ZDY3Yz1fMHgzOTZiOWU7cmV0dXJuIHRoaXM9PT1fMHgzMjdhMzd8fHRoaXNbXzB4MzlkNjdjKCcweGI2NycpXT09PV8weDMyN2EzN1tfMHgzOWQ2N2MoJzB4YjY3JyldJiYodGhpc1tfMHgzOWQ2N2MoJzB4YjY3JyldfHwweDA9PT10aGlzWyd4J11bXzB4MzlkNjdjKCcweDM3MCcpXShfMHgzMjdhMzdbJ3gnXSkmJjB4MD09PXRoaXNbJ3knXVsnY21wJ10oXzB4MzI3YTM3Wyd5J10pKTt9LF8weDE4YWI0ZFsncHJvdG90eXBlJ11bJ25lZyddPWZ1bmN0aW9uKF8weDVhNzM4OSl7dmFyIF8weDQ3NWM4Yz1fMHgzOTZiOWU7aWYodGhpc1tfMHg0NzVjOGMoJzB4YjY3JyldKXJldHVybiB0aGlzO3ZhciBfMHg1MTFhMDE9dGhpc1tfMHg0NzVjOGMoJzB4OTExJyldW18weDQ3NWM4YygnMHg4ZWEnKV0odGhpc1sneCddLHRoaXNbJ3knXVtfMHg0NzVjOGMoJzB4MzhmJyldKCkpO2lmKF8weDVhNzM4OSYmdGhpc1tfMHg0NzVjOGMoJzB4Y2VlJyldKXt2YXIgXzB4MTA0ZGIxPXRoaXNbXzB4NDc1YzhjKCcweGNlZScpXSxfMHgxMTFkNjk9ZnVuY3Rpb24oXzB4Zjg0YTEzKXt2YXIgXzB4NGE3ZmNjPV8weDQ3NWM4YztyZXR1cm4gXzB4Zjg0YTEzW18weDRhN2ZjYygnMHhjMTcnKV0oKTt9O18weDUxMWEwMVtfMHg0NzVjOGMoJzB4Y2VlJyldPXsnbmFmJzpfMHgxMDRkYjFbXzB4NDc1YzhjKCcweDU5ZicpXSYmeyd3bmQnOl8weDEwNGRiMVsnbmFmJ11bXzB4NDc1YzhjKCcweGI2MCcpXSwncG9pbnRzJzpfMHgxMDRkYjFbXzB4NDc1YzhjKCcweDU5ZicpXVtfMHg0NzVjOGMoJzB4OTA5JyldW18weDQ3NWM4YygnMHgzYzknKV0oXzB4MTExZDY5KX0sJ2RvdWJsZXMnOl8weDEwNGRiMVtfMHg0NzVjOGMoJzB4YzU2JyldJiZ7J3N0ZXAnOl8weDEwNGRiMVtfMHg0NzVjOGMoJzB4YzU2JyldW18weDQ3NWM4YygnMHgzOTUnKV0sJ3BvaW50cyc6XzB4MTA0ZGIxW18weDQ3NWM4YygnMHhjNTYnKV1bXzB4NDc1YzhjKCcweDkwOScpXVsnbWFwJ10oXzB4MTExZDY5KX19O31yZXR1cm4gXzB4NTExYTAxO30sXzB4MThhYjRkW18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweGI3NCcpXT1mdW5jdGlvbigpe3ZhciBfMHgxODY0YTA9XzB4Mzk2YjllO3JldHVybiB0aGlzW18weDE4NjRhMCgnMHhiNjcnKV0/dGhpc1tfMHgxODY0YTAoJzB4OTExJyldW18weDE4NjRhMCgnMHg3NTcnKV0obnVsbCxudWxsLG51bGwpOnRoaXNbXzB4MTg2NGEwKCcweDkxMScpXVtfMHgxODY0YTAoJzB4NzU3JyldKHRoaXNbJ3gnXSx0aGlzWyd5J10sdGhpc1tfMHgxODY0YTAoJzB4OTExJyldWydvbmUnXSk7fSxfMHhiMTc3YmMoXzB4NTQ0NjI4LF8weDIxZDM1NlsnQmFzZVBvaW50J10pLF8weGFjYmJkYlsncHJvdG90eXBlJ11bXzB4Mzk2YjllKCcweDc1NycpXT1mdW5jdGlvbihfMHhlYTE0OWEsXzB4MzdjYzUzLF8weDUyN2RlNil7cmV0dXJuIG5ldyBfMHg1NDQ2MjgodGhpcyxfMHhlYTE0OWEsXzB4MzdjYzUzLF8weDUyN2RlNik7fSxfMHg1NDQ2MjhbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4N2M1JyldPWZ1bmN0aW9uKCl7dmFyIF8weDUzYjlkMT1fMHgzOTZiOWU7aWYodGhpc1tfMHg1M2I5ZDEoJzB4NDJlJyldKCkpcmV0dXJuIHRoaXNbXzB4NTNiOWQxKCcweDkxMScpXVtfMHg1M2I5ZDEoJzB4OGVhJyldKG51bGwsbnVsbCk7dmFyIF8weDJiMTkzMj10aGlzWyd6J11bXzB4NTNiOWQxKCcweDUxMycpXSgpLF8weDE0NWQxNj1fMHgyYjE5MzJbXzB4NTNiOWQxKCcweDJmOCcpXSgpLF8weDRlNzczMD10aGlzWyd4J11bXzB4NTNiOWQxKCcweGM4MCcpXShfMHgxNDVkMTYpLF8weDM0OTE3ZD10aGlzWyd5J11bXzB4NTNiOWQxKCcweGM4MCcpXShfMHgxNDVkMTYpW18weDUzYjlkMSgnMHhjODAnKV0oXzB4MmIxOTMyKTtyZXR1cm4gdGhpc1tfMHg1M2I5ZDEoJzB4OTExJyldW18weDUzYjlkMSgnMHg4ZWEnKV0oXzB4NGU3NzMwLF8weDM0OTE3ZCk7fSxfMHg1NDQ2MjhbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4YzE3JyldPWZ1bmN0aW9uKCl7dmFyIF8weDIyNTQ2Zj1fMHgzOTZiOWU7cmV0dXJuIHRoaXNbXzB4MjI1NDZmKCcweDkxMScpXVtfMHgyMjU0NmYoJzB4NzU3JyldKHRoaXNbJ3gnXSx0aGlzWyd5J11bJ3JlZE5lZyddKCksdGhpc1sneiddKTt9LF8weDU0NDYyOFtfMHgzOTZiOWUoJzB4NzU2JyldW18weDM5NmI5ZSgnMHhiYTEnKV09ZnVuY3Rpb24oXzB4M2Q5OGQwKXt2YXIgXzB4M2MwOWIxPV8weDM5NmI5ZTtpZih0aGlzW18weDNjMDliMSgnMHg0MmUnKV0oKSlyZXR1cm4gXzB4M2Q5OGQwO2lmKF8weDNkOThkMFtfMHgzYzA5YjEoJzB4NDJlJyldKCkpcmV0dXJuIHRoaXM7dmFyIF8weDQ1M2E1ND1fMHgzZDk4ZDBbJ3onXVsncmVkU3FyJ10oKSxfMHgxMDZiZjg9dGhpc1sneiddW18weDNjMDliMSgnMHgyZjgnKV0oKSxfMHgyZjdkMjQ9dGhpc1sneCddWydyZWRNdWwnXShfMHg0NTNhNTQpLF8weDU0OTJkMD1fMHgzZDk4ZDBbJ3gnXVtfMHgzYzA5YjEoJzB4YzgwJyldKF8weDEwNmJmOCksXzB4NTNlY2ZjPXRoaXNbJ3knXVtfMHgzYzA5YjEoJzB4YzgwJyldKF8weDQ1M2E1NFtfMHgzYzA5YjEoJzB4YzgwJyldKF8weDNkOThkMFsneiddKSksXzB4OTJlYTZhPV8weDNkOThkMFsneSddW18weDNjMDliMSgnMHhjODAnKV0oXzB4MTA2YmY4W18weDNjMDliMSgnMHhjODAnKV0odGhpc1sneiddKSksXzB4NTg0NGE1PV8weDJmN2QyNFsncmVkU3ViJ10oXzB4NTQ5MmQwKSxfMHgxMmI3ZTY9XzB4NTNlY2ZjW18weDNjMDliMSgnMHg3ZDEnKV0oXzB4OTJlYTZhKTtpZigweDA9PT1fMHg1ODQ0YTVbXzB4M2MwOWIxKCcweDY5ZCcpXSgweDApKXJldHVybiAweDAhPT1fMHgxMmI3ZTZbXzB4M2MwOWIxKCcweDY5ZCcpXSgweDApP3RoaXNbXzB4M2MwOWIxKCcweDkxMScpXVtfMHgzYzA5YjEoJzB4NzU3JyldKG51bGwsbnVsbCxudWxsKTp0aGlzW18weDNjMDliMSgnMHgyZjAnKV0oKTt2YXIgXzB4NWFiMDY1PV8weDU4NDRhNVtfMHgzYzA5YjEoJzB4MmY4JyldKCksXzB4NDg4OWE1PV8weDVhYjA2NVsncmVkTXVsJ10oXzB4NTg0NGE1KSxfMHg0YTYwNDU9XzB4MmY3ZDI0W18weDNjMDliMSgnMHhjODAnKV0oXzB4NWFiMDY1KSxfMHgzNjY1ZjY9XzB4MTJiN2U2W18weDNjMDliMSgnMHgyZjgnKV0oKVtfMHgzYzA5YjEoJzB4MmFhJyldKF8weDQ4ODlhNSlbXzB4M2MwOWIxKCcweDkxNycpXShfMHg0YTYwNDUpWydyZWRJU3ViJ10oXzB4NGE2MDQ1KSxfMHg1N2EyYTI9XzB4MTJiN2U2W18weDNjMDliMSgnMHhjODAnKV0oXzB4NGE2MDQ1W18weDNjMDliMSgnMHg5MTcnKV0oXzB4MzY2NWY2KSlbXzB4M2MwOWIxKCcweDkxNycpXShfMHg1M2VjZmNbJ3JlZE11bCddKF8weDQ4ODlhNSkpLF8weDFhOTg5Mj10aGlzWyd6J11bXzB4M2MwOWIxKCcweGM4MCcpXShfMHgzZDk4ZDBbJ3onXSlbJ3JlZE11bCddKF8weDU4NDRhNSk7cmV0dXJuIHRoaXNbXzB4M2MwOWIxKCcweDkxMScpXVsnanBvaW50J10oXzB4MzY2NWY2LF8weDU3YTJhMixfMHgxYTk4OTIpO30sXzB4NTQ0NjI4W18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweDliYicpXT1mdW5jdGlvbihfMHg0NTdkNjIpe3ZhciBfMHhjZmNiODg9XzB4Mzk2YjllO2lmKHRoaXNbXzB4Y2ZjYjg4KCcweDQyZScpXSgpKXJldHVybiBfMHg0NTdkNjJbXzB4Y2ZjYjg4KCcweGI3NCcpXSgpO2lmKF8weDQ1N2Q2MltfMHhjZmNiODgoJzB4NDJlJyldKCkpcmV0dXJuIHRoaXM7dmFyIF8weGQ0NDdhNT10aGlzWyd6J11bXzB4Y2ZjYjg4KCcweDJmOCcpXSgpLF8weDU4NjlhYT10aGlzWyd4J10sXzB4MWIwM2UyPV8weDQ1N2Q2MlsneCddW18weGNmY2I4OCgnMHhjODAnKV0oXzB4ZDQ0N2E1KSxfMHg0NzA1OTc9dGhpc1sneSddLF8weDQ2MjU3MD1fMHg0NTdkNjJbJ3knXVtfMHhjZmNiODgoJzB4YzgwJyldKF8weGQ0NDdhNSlbJ3JlZE11bCddKHRoaXNbJ3onXSksXzB4MjliYmY1PV8weDU4NjlhYVsncmVkU3ViJ10oXzB4MWIwM2UyKSxfMHgzMThkN2Y9XzB4NDcwNTk3W18weGNmY2I4OCgnMHg3ZDEnKV0oXzB4NDYyNTcwKTtpZigweDA9PT1fMHgyOWJiZjVbJ2NtcG4nXSgweDApKXJldHVybiAweDAhPT1fMHgzMThkN2ZbXzB4Y2ZjYjg4KCcweDY5ZCcpXSgweDApP3RoaXNbXzB4Y2ZjYjg4KCcweDkxMScpXVtfMHhjZmNiODgoJzB4NzU3JyldKG51bGwsbnVsbCxudWxsKTp0aGlzWydkYmwnXSgpO3ZhciBfMHgyMDNkYzU9XzB4MjliYmY1W18weGNmY2I4OCgnMHgyZjgnKV0oKSxfMHgyMWJiYjM9XzB4MjAzZGM1W18weGNmY2I4OCgnMHhjODAnKV0oXzB4MjliYmY1KSxfMHgxZGRhMTg9XzB4NTg2OWFhWydyZWRNdWwnXShfMHgyMDNkYzUpLF8weDUwMGE5Nz1fMHgzMThkN2ZbXzB4Y2ZjYjg4KCcweDJmOCcpXSgpW18weGNmY2I4OCgnMHgyYWEnKV0oXzB4MjFiYmIzKVtfMHhjZmNiODgoJzB4OTE3JyldKF8weDFkZGExOClbXzB4Y2ZjYjg4KCcweDkxNycpXShfMHgxZGRhMTgpLF8weDQ1YmRlOD1fMHgzMThkN2ZbXzB4Y2ZjYjg4KCcweGM4MCcpXShfMHgxZGRhMThbXzB4Y2ZjYjg4KCcweDkxNycpXShfMHg1MDBhOTcpKVtfMHhjZmNiODgoJzB4OTE3JyldKF8weDQ3MDU5N1tfMHhjZmNiODgoJzB4YzgwJyldKF8weDIxYmJiMykpLF8weDJkZjk2Zj10aGlzWyd6J11bXzB4Y2ZjYjg4KCcweGM4MCcpXShfMHgyOWJiZjUpO3JldHVybiB0aGlzW18weGNmY2I4OCgnMHg5MTEnKV1bXzB4Y2ZjYjg4KCcweDc1NycpXShfMHg1MDBhOTcsXzB4NDViZGU4LF8weDJkZjk2Zik7fSxfMHg1NDQ2MjhbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4OGMzJyldPWZ1bmN0aW9uKF8weDJmYzMyYSl7dmFyIF8weGUyNTU0MD1fMHgzOTZiOWU7aWYoMHgwPT09XzB4MmZjMzJhKXJldHVybiB0aGlzO2lmKHRoaXNbJ2lzSW5maW5pdHknXSgpKXJldHVybiB0aGlzO2lmKCFfMHgyZmMzMmEpcmV0dXJuIHRoaXNbXzB4ZTI1NTQwKCcweDJmMCcpXSgpO3ZhciBfMHg2ODdlZWQ7aWYodGhpc1tfMHhlMjU1NDAoJzB4OTExJyldW18weGUyNTU0MCgnMHg3NTEnKV18fHRoaXNbXzB4ZTI1NTQwKCcweDkxMScpXVtfMHhlMjU1NDAoJzB4ZDAzJyldKXt2YXIgXzB4MjJjOWRkPXRoaXM7Zm9yKF8weDY4N2VlZD0weDA7XzB4Njg3ZWVkPF8weDJmYzMyYTtfMHg2ODdlZWQrKylfMHgyMmM5ZGQ9XzB4MjJjOWRkW18weGUyNTU0MCgnMHgyZjAnKV0oKTtyZXR1cm4gXzB4MjJjOWRkO312YXIgXzB4NGQ5NmU1PXRoaXNbJ2N1cnZlJ11bJ2EnXSxfMHgzMDBhYjc9dGhpc1tfMHhlMjU1NDAoJzB4OTExJyldW18weGUyNTU0MCgnMHhjYzknKV0sXzB4NTNmOTE1PXRoaXNbJ3gnXSxfMHgxNmMyNTk9dGhpc1sneSddLF8weDExZDU2MT10aGlzWyd6J10sXzB4MjgyYTQ0PV8weDExZDU2MVsncmVkU3FyJ10oKVtfMHhlMjU1NDAoJzB4MmY4JyldKCksXzB4NWMxNmYxPV8weDE2YzI1OVtfMHhlMjU1NDAoJzB4Mjk3JyldKF8weDE2YzI1OSk7Zm9yKF8weDY4N2VlZD0weDA7XzB4Njg3ZWVkPF8weDJmYzMyYTtfMHg2ODdlZWQrKyl7dmFyIF8weDRjMzkxOD1fMHg1M2Y5MTVbJ3JlZFNxciddKCksXzB4NDgwOTU0PV8weDVjMTZmMVtfMHhlMjU1NDAoJzB4MmY4JyldKCksXzB4MjZlMGEyPV8weDQ4MDk1NFsncmVkU3FyJ10oKSxfMHgyNDBiZmU9XzB4NGMzOTE4W18weGUyNTU0MCgnMHgyOTcnKV0oXzB4NGMzOTE4KVtfMHhlMjU1NDAoJzB4MmFhJyldKF8weDRjMzkxOClbXzB4ZTI1NTQwKCcweDJhYScpXShfMHg0ZDk2ZTVbXzB4ZTI1NTQwKCcweGM4MCcpXShfMHgyODJhNDQpKSxfMHg0ZTBhMzc9XzB4NTNmOTE1WydyZWRNdWwnXShfMHg0ODA5NTQpLF8weDJlNWJjNj1fMHgyNDBiZmVbXzB4ZTI1NTQwKCcweDJmOCcpXSgpW18weGUyNTU0MCgnMHg5MTcnKV0oXzB4NGUwYTM3WydyZWRBZGQnXShfMHg0ZTBhMzcpKSxfMHgzNjkxZGI9XzB4NGUwYTM3W18weGUyNTU0MCgnMHg5MTcnKV0oXzB4MmU1YmM2KSxfMHg1NDk3ZjI9XzB4MjQwYmZlWydyZWRNdWwnXShfMHgzNjkxZGIpO18weDU0OTdmMj1fMHg1NDk3ZjJbXzB4ZTI1NTQwKCcweDJhYScpXShfMHg1NDk3ZjIpW18weGUyNTU0MCgnMHg5MTcnKV0oXzB4MjZlMGEyKTt2YXIgXzB4NDhkODBhPV8weDVjMTZmMVtfMHhlMjU1NDAoJzB4YzgwJyldKF8weDExZDU2MSk7XzB4Njg3ZWVkKzB4MTxfMHgyZmMzMmEmJihfMHgyODJhNDQ9XzB4MjgyYTQ0WydyZWRNdWwnXShfMHgyNmUwYTIpKSxfMHg1M2Y5MTU9XzB4MmU1YmM2LF8weDExZDU2MT1fMHg0OGQ4MGEsXzB4NWMxNmYxPV8weDU0OTdmMjt9cmV0dXJuIHRoaXNbXzB4ZTI1NTQwKCcweDkxMScpXVtfMHhlMjU1NDAoJzB4NzU3JyldKF8weDUzZjkxNSxfMHg1YzE2ZjFbXzB4ZTI1NTQwKCcweGM4MCcpXShfMHgzMDBhYjcpLF8weDExZDU2MSk7fSxfMHg1NDQ2MjhbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4MmYwJyldPWZ1bmN0aW9uKCl7dmFyIF8weDdhZGZiNj1fMHgzOTZiOWU7cmV0dXJuIHRoaXNbXzB4N2FkZmI2KCcweDQyZScpXSgpP3RoaXM6dGhpc1tfMHg3YWRmYjYoJzB4OTExJyldW18weDdhZGZiNignMHg3NTEnKV0/dGhpc1tfMHg3YWRmYjYoJzB4NDgyJyldKCk6dGhpc1tfMHg3YWRmYjYoJzB4OTExJyldW18weDdhZGZiNignMHhkMDMnKV0/dGhpc1snX3RocmVlRGJsJ10oKTp0aGlzW18weDdhZGZiNignMHgzNWInKV0oKTt9LF8weDU0NDYyOFtfMHgzOTZiOWUoJzB4NzU2JyldW18weDM5NmI5ZSgnMHg0ODInKV09ZnVuY3Rpb24oKXt2YXIgXzB4NjdjYmU0PV8weDM5NmI5ZSxfMHgxNTIyZjcsXzB4MTRiODJmLF8weDUyMGRmNDtpZih0aGlzW18weDY3Y2JlNCgnMHg3OGMnKV0pe3ZhciBfMHgzOGQyMDQ9dGhpc1sneCddW18weDY3Y2JlNCgnMHgyZjgnKV0oKSxfMHg0YzEyMDg9dGhpc1sneSddWydyZWRTcXInXSgpLF8weDM1NmVjNz1fMHg0YzEyMDhbXzB4NjdjYmU0KCcweDJmOCcpXSgpLF8weDE1ZDUwMj10aGlzWyd4J11bXzB4NjdjYmU0KCcweDI5NycpXShfMHg0YzEyMDgpW18weDY3Y2JlNCgnMHgyZjgnKV0oKVsncmVkSVN1YiddKF8weDM4ZDIwNClbXzB4NjdjYmU0KCcweDkxNycpXShfMHgzNTZlYzcpO18weDE1ZDUwMj1fMHgxNWQ1MDJbXzB4NjdjYmU0KCcweDJhYScpXShfMHgxNWQ1MDIpO3ZhciBfMHgyMzQ0ZWQ9XzB4MzhkMjA0W18weDY3Y2JlNCgnMHgyOTcnKV0oXzB4MzhkMjA0KVtfMHg2N2NiZTQoJzB4MmFhJyldKF8weDM4ZDIwNCksXzB4NWQ3ZWUzPV8weDIzNDRlZFtfMHg2N2NiZTQoJzB4MmY4JyldKClbXzB4NjdjYmU0KCcweDkxNycpXShfMHgxNWQ1MDIpW18weDY3Y2JlNCgnMHg5MTcnKV0oXzB4MTVkNTAyKSxfMHg0ZjhlODg9XzB4MzU2ZWM3W18weDY3Y2JlNCgnMHgyYWEnKV0oXzB4MzU2ZWM3KTtfMHg0ZjhlODg9KF8weDRmOGU4OD1fMHg0ZjhlODhbXzB4NjdjYmU0KCcweDJhYScpXShfMHg0ZjhlODgpKVtfMHg2N2NiZTQoJzB4MmFhJyldKF8weDRmOGU4OCksXzB4MTUyMmY3PV8weDVkN2VlMyxfMHgxNGI4MmY9XzB4MjM0NGVkW18weDY3Y2JlNCgnMHhjODAnKV0oXzB4MTVkNTAyW18weDY3Y2JlNCgnMHg5MTcnKV0oXzB4NWQ3ZWUzKSlbXzB4NjdjYmU0KCcweDkxNycpXShfMHg0ZjhlODgpLF8weDUyMGRmND10aGlzWyd5J11bXzB4NjdjYmU0KCcweDI5NycpXSh0aGlzWyd5J10pO31lbHNle3ZhciBfMHgxZTZlNDY9dGhpc1sneCddW18weDY3Y2JlNCgnMHgyZjgnKV0oKSxfMHgzNTNhYzU9dGhpc1sneSddW18weDY3Y2JlNCgnMHgyZjgnKV0oKSxfMHgxZGFjNTc9XzB4MzUzYWM1W18weDY3Y2JlNCgnMHgyZjgnKV0oKSxfMHgxZmE2NjA9dGhpc1sneCddW18weDY3Y2JlNCgnMHgyOTcnKV0oXzB4MzUzYWM1KVtfMHg2N2NiZTQoJzB4MmY4JyldKClbJ3JlZElTdWInXShfMHgxZTZlNDYpW18weDY3Y2JlNCgnMHg5MTcnKV0oXzB4MWRhYzU3KTtfMHgxZmE2NjA9XzB4MWZhNjYwW18weDY3Y2JlNCgnMHgyYWEnKV0oXzB4MWZhNjYwKTt2YXIgXzB4OTkwNTUzPV8weDFlNmU0NlsncmVkQWRkJ10oXzB4MWU2ZTQ2KVsncmVkSUFkZCddKF8weDFlNmU0NiksXzB4MjJiYTFlPV8weDk5MDU1M1tfMHg2N2NiZTQoJzB4MmY4JyldKCksXzB4MzAwMTVlPV8weDFkYWM1N1tfMHg2N2NiZTQoJzB4MmFhJyldKF8weDFkYWM1Nyk7XzB4MzAwMTVlPShfMHgzMDAxNWU9XzB4MzAwMTVlW18weDY3Y2JlNCgnMHgyYWEnKV0oXzB4MzAwMTVlKSlbXzB4NjdjYmU0KCcweDJhYScpXShfMHgzMDAxNWUpLF8weDE1MjJmNz1fMHgyMmJhMWVbJ3JlZElTdWInXShfMHgxZmE2NjApW18weDY3Y2JlNCgnMHg5MTcnKV0oXzB4MWZhNjYwKSxfMHgxNGI4MmY9XzB4OTkwNTUzW18weDY3Y2JlNCgnMHhjODAnKV0oXzB4MWZhNjYwW18weDY3Y2JlNCgnMHg5MTcnKV0oXzB4MTUyMmY3KSlbJ3JlZElTdWInXShfMHgzMDAxNWUpLF8weDUyMGRmND0oXzB4NTIwZGY0PXRoaXNbJ3knXVtfMHg2N2NiZTQoJzB4YzgwJyldKHRoaXNbJ3onXSkpWydyZWRJQWRkJ10oXzB4NTIwZGY0KTt9cmV0dXJuIHRoaXNbXzB4NjdjYmU0KCcweDkxMScpXVtfMHg2N2NiZTQoJzB4NzU3JyldKF8weDE1MjJmNyxfMHgxNGI4MmYsXzB4NTIwZGY0KTt9LF8weDU0NDYyOFtfMHgzOTZiOWUoJzB4NzU2JyldW18weDM5NmI5ZSgnMHg5YzQnKV09ZnVuY3Rpb24oKXt2YXIgXzB4MWM4Y2ZjPV8weDM5NmI5ZSxfMHgxYTFhZTksXzB4OTlkNTQwLF8weDMzZTA3ZTtpZih0aGlzW18weDFjOGNmYygnMHg3OGMnKV0pe3ZhciBfMHg0Y2IwNTU9dGhpc1sneCddW18weDFjOGNmYygnMHgyZjgnKV0oKSxfMHhiZTc4N2Q9dGhpc1sneSddW18weDFjOGNmYygnMHgyZjgnKV0oKSxfMHgxNTlhOWM9XzB4YmU3ODdkW18weDFjOGNmYygnMHgyZjgnKV0oKSxfMHg1NjY3ZTY9dGhpc1sneCddW18weDFjOGNmYygnMHgyOTcnKV0oXzB4YmU3ODdkKVtfMHgxYzhjZmMoJzB4MmY4JyldKClbJ3JlZElTdWInXShfMHg0Y2IwNTUpW18weDFjOGNmYygnMHg5MTcnKV0oXzB4MTU5YTljKTtfMHg1NjY3ZTY9XzB4NTY2N2U2W18weDFjOGNmYygnMHgyYWEnKV0oXzB4NTY2N2U2KTt2YXIgXzB4NjFhOWU4PV8weDRjYjA1NVtfMHgxYzhjZmMoJzB4Mjk3JyldKF8weDRjYjA1NSlbXzB4MWM4Y2ZjKCcweDJhYScpXShfMHg0Y2IwNTUpWydyZWRJQWRkJ10odGhpc1tfMHgxYzhjZmMoJzB4OTExJyldWydhJ10pLF8weDQ4M2M1Mz1fMHg2MWE5ZThbXzB4MWM4Y2ZjKCcweDJmOCcpXSgpWydyZWRJU3ViJ10oXzB4NTY2N2U2KVtfMHgxYzhjZmMoJzB4OTE3JyldKF8weDU2NjdlNik7XzB4MWExYWU5PV8weDQ4M2M1Mzt2YXIgXzB4MzU5MzRmPV8weDE1OWE5Y1tfMHgxYzhjZmMoJzB4MmFhJyldKF8weDE1OWE5Yyk7XzB4MzU5MzRmPShfMHgzNTkzNGY9XzB4MzU5MzRmW18weDFjOGNmYygnMHgyYWEnKV0oXzB4MzU5MzRmKSlbJ3JlZElBZGQnXShfMHgzNTkzNGYpLF8weDk5ZDU0MD1fMHg2MWE5ZThbXzB4MWM4Y2ZjKCcweGM4MCcpXShfMHg1NjY3ZTZbXzB4MWM4Y2ZjKCcweDkxNycpXShfMHg0ODNjNTMpKVtfMHgxYzhjZmMoJzB4OTE3JyldKF8weDM1OTM0ZiksXzB4MzNlMDdlPXRoaXNbJ3knXVtfMHgxYzhjZmMoJzB4Mjk3JyldKHRoaXNbJ3knXSk7fWVsc2V7dmFyIF8weDRhZDhlYj10aGlzWyd6J11bJ3JlZFNxciddKCksXzB4ZGMxODQyPXRoaXNbJ3knXVsncmVkU3FyJ10oKSxfMHg0Y2I3ZGY9dGhpc1sneCddWydyZWRNdWwnXShfMHhkYzE4NDIpLF8weDI1YjY3OT10aGlzWyd4J11bXzB4MWM4Y2ZjKCcweDdkMScpXShfMHg0YWQ4ZWIpW18weDFjOGNmYygnMHhjODAnKV0odGhpc1sneCddWydyZWRBZGQnXShfMHg0YWQ4ZWIpKTtfMHgyNWI2Nzk9XzB4MjViNjc5W18weDFjOGNmYygnMHgyOTcnKV0oXzB4MjViNjc5KVtfMHgxYzhjZmMoJzB4MmFhJyldKF8weDI1YjY3OSk7dmFyIF8weDM4ZGJiNz1fMHg0Y2I3ZGZbXzB4MWM4Y2ZjKCcweDJhYScpXShfMHg0Y2I3ZGYpLF8weDU0ZWE3OT0oXzB4MzhkYmI3PV8weDM4ZGJiN1tfMHgxYzhjZmMoJzB4MmFhJyldKF8weDM4ZGJiNykpW18weDFjOGNmYygnMHgyOTcnKV0oXzB4MzhkYmI3KTtfMHgxYTFhZTk9XzB4MjViNjc5W18weDFjOGNmYygnMHgyZjgnKV0oKVsncmVkSVN1YiddKF8weDU0ZWE3OSksXzB4MzNlMDdlPXRoaXNbJ3knXVtfMHgxYzhjZmMoJzB4Mjk3JyldKHRoaXNbJ3onXSlbXzB4MWM4Y2ZjKCcweDJmOCcpXSgpW18weDFjOGNmYygnMHg5MTcnKV0oXzB4ZGMxODQyKVtfMHgxYzhjZmMoJzB4OTE3JyldKF8weDRhZDhlYik7dmFyIF8weDNhMDE3ND1fMHhkYzE4NDJbXzB4MWM4Y2ZjKCcweDJmOCcpXSgpO18weDNhMDE3ND0oXzB4M2EwMTc0PShfMHgzYTAxNzQ9XzB4M2EwMTc0WydyZWRJQWRkJ10oXzB4M2EwMTc0KSlbXzB4MWM4Y2ZjKCcweDJhYScpXShfMHgzYTAxNzQpKVtfMHgxYzhjZmMoJzB4MmFhJyldKF8weDNhMDE3NCksXzB4OTlkNTQwPV8weDI1YjY3OVsncmVkTXVsJ10oXzB4MzhkYmI3W18weDFjOGNmYygnMHg5MTcnKV0oXzB4MWExYWU5KSlbJ3JlZElTdWInXShfMHgzYTAxNzQpO31yZXR1cm4gdGhpc1tfMHgxYzhjZmMoJzB4OTExJyldW18weDFjOGNmYygnMHg3NTcnKV0oXzB4MWExYWU5LF8weDk5ZDU0MCxfMHgzM2UwN2UpO30sXzB4NTQ0NjI4Wydwcm90b3R5cGUnXVtfMHgzOTZiOWUoJzB4MzViJyldPWZ1bmN0aW9uKCl7dmFyIF8weGI2N2RkMT1fMHgzOTZiOWUsXzB4MmQ0YjNlPXRoaXNbXzB4YjY3ZGQxKCcweDkxMScpXVsnYSddLF8weGQwMDdhNz10aGlzWyd4J10sXzB4MWQzYjhiPXRoaXNbJ3knXSxfMHgxNDM4MWU9dGhpc1sneiddLF8weDFlYWQ5ZT1fMHgxNDM4MWVbXzB4YjY3ZGQxKCcweDJmOCcpXSgpW18weGI2N2RkMSgnMHgyZjgnKV0oKSxfMHgzMmNmMDQ9XzB4ZDAwN2E3W18weGI2N2RkMSgnMHgyZjgnKV0oKSxfMHgxNTEzY2E9XzB4MWQzYjhiW18weGI2N2RkMSgnMHgyZjgnKV0oKSxfMHg1MGZlNTU9XzB4MzJjZjA0W18weGI2N2RkMSgnMHgyOTcnKV0oXzB4MzJjZjA0KVsncmVkSUFkZCddKF8weDMyY2YwNClbXzB4YjY3ZGQxKCcweDJhYScpXShfMHgyZDRiM2VbXzB4YjY3ZGQxKCcweGM4MCcpXShfMHgxZWFkOWUpKSxfMHgzZWEzMGY9XzB4ZDAwN2E3WydyZWRBZGQnXShfMHhkMDA3YTcpLF8weDUzZjgwYT0oXzB4M2VhMzBmPV8weDNlYTMwZltfMHhiNjdkZDEoJzB4MmFhJyldKF8weDNlYTMwZikpW18weGI2N2RkMSgnMHhjODAnKV0oXzB4MTUxM2NhKSxfMHg0YzRjNjg9XzB4NTBmZTU1W18weGI2N2RkMSgnMHgyZjgnKV0oKVtfMHhiNjdkZDEoJzB4OTE3JyldKF8weDUzZjgwYVtfMHhiNjdkZDEoJzB4Mjk3JyldKF8weDUzZjgwYSkpLF8weDI2MDQwOT1fMHg1M2Y4MGFbXzB4YjY3ZGQxKCcweDkxNycpXShfMHg0YzRjNjgpLF8weDI0MGI0Mz1fMHgxNTEzY2FbXzB4YjY3ZGQxKCcweDJmOCcpXSgpO18weDI0MGI0Mz0oXzB4MjQwYjQzPShfMHgyNDBiNDM9XzB4MjQwYjQzW18weGI2N2RkMSgnMHgyYWEnKV0oXzB4MjQwYjQzKSlbXzB4YjY3ZGQxKCcweDJhYScpXShfMHgyNDBiNDMpKVsncmVkSUFkZCddKF8weDI0MGI0Myk7dmFyIF8weDhkNDA5Nj1fMHg1MGZlNTVbXzB4YjY3ZGQxKCcweGM4MCcpXShfMHgyNjA0MDkpW18weGI2N2RkMSgnMHg5MTcnKV0oXzB4MjQwYjQzKSxfMHgxNmM2NzE9XzB4MWQzYjhiW18weGI2N2RkMSgnMHgyOTcnKV0oXzB4MWQzYjhiKVsncmVkTXVsJ10oXzB4MTQzODFlKTtyZXR1cm4gdGhpc1snY3VydmUnXVtfMHhiNjdkZDEoJzB4NzU3JyldKF8weDRjNGM2OCxfMHg4ZDQwOTYsXzB4MTZjNjcxKTt9LF8weDU0NDYyOFtfMHgzOTZiOWUoJzB4NzU2JyldW18weDM5NmI5ZSgnMHg0ZjMnKV09ZnVuY3Rpb24oKXt2YXIgXzB4NTJjY2RkPV8weDM5NmI5ZTtpZighdGhpc1tfMHg1MmNjZGQoJzB4OTExJyldWyd6ZXJvQSddKXJldHVybiB0aGlzW18weDUyY2NkZCgnMHgyZjAnKV0oKVtfMHg1MmNjZGQoJzB4YmExJyldKHRoaXMpO3ZhciBfMHgxMjIzZmY9dGhpc1sneCddW18weDUyY2NkZCgnMHgyZjgnKV0oKSxfMHg0NmJjNzI9dGhpc1sneSddW18weDUyY2NkZCgnMHgyZjgnKV0oKSxfMHgxNWY1OTI9dGhpc1sneiddW18weDUyY2NkZCgnMHgyZjgnKV0oKSxfMHg0MzQ3ZTc9XzB4NDZiYzcyWydyZWRTcXInXSgpLF8weDM1NmNkMz1fMHgxMjIzZmZbXzB4NTJjY2RkKCcweDI5NycpXShfMHgxMjIzZmYpW18weDUyY2NkZCgnMHgyYWEnKV0oXzB4MTIyM2ZmKSxfMHgzNWYyZDM9XzB4MzU2Y2QzW18weDUyY2NkZCgnMHgyZjgnKV0oKSxfMHgyODBiMDE9dGhpc1sneCddW18weDUyY2NkZCgnMHgyOTcnKV0oXzB4NDZiYzcyKVtfMHg1MmNjZGQoJzB4MmY4JyldKClbJ3JlZElTdWInXShfMHgxMjIzZmYpW18weDUyY2NkZCgnMHg5MTcnKV0oXzB4NDM0N2U3KSxfMHg5YjRhMGY9KF8weDI4MGIwMT0oXzB4MjgwYjAxPShfMHgyODBiMDE9XzB4MjgwYjAxW18weDUyY2NkZCgnMHgyYWEnKV0oXzB4MjgwYjAxKSlbXzB4NTJjY2RkKCcweDI5NycpXShfMHgyODBiMDEpW18weDUyY2NkZCgnMHgyYWEnKV0oXzB4MjgwYjAxKSlbJ3JlZElTdWInXShfMHgzNWYyZDMpKVsncmVkU3FyJ10oKSxfMHg5NjU2Mjk9XzB4NDM0N2U3W18weDUyY2NkZCgnMHgyYWEnKV0oXzB4NDM0N2U3KTtfMHg5NjU2Mjk9KF8weDk2NTYyOT0oXzB4OTY1NjI5PV8weDk2NTYyOVtfMHg1MmNjZGQoJzB4MmFhJyldKF8weDk2NTYyOSkpWydyZWRJQWRkJ10oXzB4OTY1NjI5KSlbXzB4NTJjY2RkKCcweDJhYScpXShfMHg5NjU2MjkpO3ZhciBfMHg1OGUwNWI9XzB4MzU2Y2QzW18weDUyY2NkZCgnMHgyYWEnKV0oXzB4MjgwYjAxKVsncmVkU3FyJ10oKVsncmVkSVN1YiddKF8weDM1ZjJkMylbJ3JlZElTdWInXShfMHg5YjRhMGYpW18weDUyY2NkZCgnMHg5MTcnKV0oXzB4OTY1NjI5KSxfMHg3OGJjZWU9XzB4NDZiYzcyW18weDUyY2NkZCgnMHhjODAnKV0oXzB4NThlMDViKTtfMHg3OGJjZWU9KF8weDc4YmNlZT1fMHg3OGJjZWVbXzB4NTJjY2RkKCcweDJhYScpXShfMHg3OGJjZWUpKVtfMHg1MmNjZGQoJzB4MmFhJyldKF8weDc4YmNlZSk7dmFyIF8weDJmZTM2Mj10aGlzWyd4J11bJ3JlZE11bCddKF8weDliNGEwZilbXzB4NTJjY2RkKCcweDkxNycpXShfMHg3OGJjZWUpO18weDJmZTM2Mj0oXzB4MmZlMzYyPV8weDJmZTM2MltfMHg1MmNjZGQoJzB4MmFhJyldKF8weDJmZTM2MikpW18weDUyY2NkZCgnMHgyYWEnKV0oXzB4MmZlMzYyKTt2YXIgXzB4M2VjYjM5PXRoaXNbJ3knXVtfMHg1MmNjZGQoJzB4YzgwJyldKF8weDU4ZTA1YltfMHg1MmNjZGQoJzB4YzgwJyldKF8weDk2NTYyOVtfMHg1MmNjZGQoJzB4OTE3JyldKF8weDU4ZTA1YikpW18weDUyY2NkZCgnMHg5MTcnKV0oXzB4MjgwYjAxW18weDUyY2NkZCgnMHhjODAnKV0oXzB4OWI0YTBmKSkpO18weDNlY2IzOT0oXzB4M2VjYjM5PShfMHgzZWNiMzk9XzB4M2VjYjM5W18weDUyY2NkZCgnMHgyYWEnKV0oXzB4M2VjYjM5KSlbXzB4NTJjY2RkKCcweDJhYScpXShfMHgzZWNiMzkpKVtfMHg1MmNjZGQoJzB4MmFhJyldKF8weDNlY2IzOSk7dmFyIF8weDNjNzc2Mj10aGlzWyd6J11bJ3JlZEFkZCddKF8weDI4MGIwMSlbXzB4NTJjY2RkKCcweDJmOCcpXSgpW18weDUyY2NkZCgnMHg5MTcnKV0oXzB4MTVmNTkyKVtfMHg1MmNjZGQoJzB4OTE3JyldKF8weDliNGEwZik7cmV0dXJuIHRoaXNbXzB4NTJjY2RkKCcweDkxMScpXVsnanBvaW50J10oXzB4MmZlMzYyLF8weDNlY2IzOSxfMHgzYzc3NjIpO30sXzB4NTQ0NjI4W18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweGMyMycpXT1mdW5jdGlvbihfMHg1MDY1M2MsXzB4NWU0MDY4KXt2YXIgXzB4MzZiMmJmPV8weDM5NmI5ZTtyZXR1cm4gXzB4NTA2NTNjPW5ldyhfMHg1YzQxYWIoKSkoXzB4NTA2NTNjLF8weDVlNDA2OCksdGhpc1tfMHgzNmIyYmYoJzB4OTExJyldW18weDM2YjJiZignMHg5MWQnKV0odGhpcyxfMHg1MDY1M2MpO30sXzB4NTQ0NjI4W18weDM5NmI5ZSgnMHg3NTYnKV1bJ2VxJ109ZnVuY3Rpb24oXzB4NDBjZThkKXt2YXIgXzB4MTU1MTE2PV8weDM5NmI5ZTtpZignYWZmaW5lJz09PV8weDQwY2U4ZFtfMHgxNTUxMTYoJzB4NTdjJyldKXJldHVybiB0aGlzWydlcSddKF8weDQwY2U4ZFsndG9KJ10oKSk7aWYodGhpcz09PV8weDQwY2U4ZClyZXR1cm4hMHgwO3ZhciBfMHg0ZWFiOTM9dGhpc1sneiddW18weDE1NTExNignMHgyZjgnKV0oKSxfMHg1OWUwN2I9XzB4NDBjZThkWyd6J11bJ3JlZFNxciddKCk7aWYoMHgwIT09dGhpc1sneCddW18weDE1NTExNignMHhjODAnKV0oXzB4NTllMDdiKVtfMHgxNTUxMTYoJzB4OTE3JyldKF8weDQwY2U4ZFsneCddW18weDE1NTExNignMHhjODAnKV0oXzB4NGVhYjkzKSlbXzB4MTU1MTE2KCcweDY5ZCcpXSgweDApKXJldHVybiEweDE7dmFyIF8weDEzNmU5Yz1fMHg0ZWFiOTNbXzB4MTU1MTE2KCcweGM4MCcpXSh0aGlzWyd6J10pLF8weDM1ZmJhYT1fMHg1OWUwN2JbXzB4MTU1MTE2KCcweGM4MCcpXShfMHg0MGNlOGRbJ3onXSk7cmV0dXJuIDB4MD09PXRoaXNbJ3knXVtfMHgxNTUxMTYoJzB4YzgwJyldKF8weDM1ZmJhYSlbJ3JlZElTdWInXShfMHg0MGNlOGRbJ3knXVsncmVkTXVsJ10oXzB4MTM2ZTljKSlbXzB4MTU1MTE2KCcweDY5ZCcpXSgweDApO30sXzB4NTQ0NjI4W18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweDNmZScpXT1mdW5jdGlvbihfMHgxNTVlNjEpe3ZhciBfMHg0NmE1Zjg9XzB4Mzk2YjllLF8weGU5ODA1NT10aGlzWyd6J11bXzB4NDZhNWY4KCcweDJmOCcpXSgpLF8weDFhMmRkYT1fMHgxNTVlNjFbJ3RvUmVkJ10odGhpc1tfMHg0NmE1ZjgoJzB4OTExJyldW18weDQ2YTVmOCgnMHhkMGUnKV0pW18weDQ2YTVmOCgnMHhjODAnKV0oXzB4ZTk4MDU1KTtpZigweDA9PT10aGlzWyd4J11bXzB4NDZhNWY4KCcweDM3MCcpXShfMHgxYTJkZGEpKXJldHVybiEweDA7Zm9yKHZhciBfMHgzY2Y5OGU9XzB4MTU1ZTYxWydjbG9uZSddKCksXzB4NDQ1ZTk1PXRoaXNbJ2N1cnZlJ11bXzB4NDZhNWY4KCcweDk2MCcpXVtfMHg0NmE1ZjgoJzB4YzgwJyldKF8weGU5ODA1NSk7Oyl7aWYoXzB4M2NmOThlW18weDQ2YTVmOCgnMHg3YzQnKV0odGhpc1tfMHg0NmE1ZjgoJzB4OTExJyldWyduJ10pLF8weDNjZjk4ZVtfMHg0NmE1ZjgoJzB4MzcwJyldKHRoaXNbJ2N1cnZlJ11bJ3AnXSk+PTB4MClyZXR1cm4hMHgxO2lmKF8weDFhMmRkYVtfMHg0NmE1ZjgoJzB4MmFhJyldKF8weDQ0NWU5NSksMHgwPT09dGhpc1sneCddW18weDQ2YTVmOCgnMHgzNzAnKV0oXzB4MWEyZGRhKSlyZXR1cm4hMHgwO319LF8weDU0NDYyOFtfMHgzOTZiOWUoJzB4NzU2JyldW18weDM5NmI5ZSgnMHhkMjMnKV09ZnVuY3Rpb24oKXt2YXIgXzB4MjBmZjY4PV8weDM5NmI5ZTtyZXR1cm4gdGhpc1tfMHgyMGZmNjgoJzB4NDJlJyldKCk/JzxFQ1x4MjBKUG9pbnRceDIwSW5maW5pdHk+JzpfMHgyMGZmNjgoJzB4YWM2JykrdGhpc1sneCddW18weDIwZmY2OCgnMHg1NDcnKV0oMHgxMCwweDIpK18weDIwZmY2OCgnMHhjMWUnKSt0aGlzWyd5J11bXzB4MjBmZjY4KCcweDU0NycpXSgweDEwLDB4MikrJ1x4MjB6Olx4MjAnK3RoaXNbJ3onXVtfMHgyMGZmNjgoJzB4NTQ3JyldKDB4MTAsMHgyKSsnPic7fSxfMHg1NDQ2MjhbXzB4Mzk2YjllKCcweDc1NicpXVsnaXNJbmZpbml0eSddPWZ1bmN0aW9uKCl7dmFyIF8weDE3NTlmZj1fMHgzOTZiOWU7cmV0dXJuIDB4MD09PXRoaXNbJ3onXVtfMHgxNzU5ZmYoJzB4NjlkJyldKDB4MCk7fTt2YXIgXzB4MjVjZGZjPV8weGQzZGRhZShmdW5jdGlvbihfMHgyMGI3ZDIsXzB4MWFjMmRiKXt2YXIgXzB4MzdkNTBmPV8weDM5NmI5ZSxfMHgzMzYxOGU9XzB4MWFjMmRiO18weDMzNjE4ZVsnYmFzZSddPV8weDIxZDM1NixfMHgzMzYxOGVbXzB4MzdkNTBmKCcweDY5NCcpXT1fMHgyZmZiNDIsXzB4MzM2MThlW18weDM3ZDUwZignMHg0OWUnKV09bnVsbCxfMHgzMzYxOGVbXzB4MzdkNTBmKCcweDM0YScpXT1udWxsO30pLF8weGRjZTZiZD1fMHhkM2RkYWUoZnVuY3Rpb24oXzB4NTM0MjUyLF8weDUzZWJjNSl7dmFyIF8weDI3MjU5OD1fMHgzOTZiOWUsXzB4NGMzN2YzLF8weDM0YmNiNT1fMHg1M2ViYzUsXzB4NTE4ZWViPV8weDMwYTlhOVsnYXNzZXJ0J107ZnVuY3Rpb24gXzB4MjJjNmIwKF8weDJiZDM1Myl7dmFyIF8weGZiZDdjNj1fMHgxNWEzO18weGZiZDdjNignMHg2OTQnKT09PV8weDJiZDM1M1tfMHhmYmQ3YzYoJzB4NTdjJyldP3RoaXNbXzB4ZmJkN2M2KCcweDkxMScpXT1uZXcgXzB4MjVjZGZjWyhfMHhmYmQ3YzYoJzB4Njk0JykpXShfMHgyYmQzNTMpOl8weGZiZDdjNignMHgzNGEnKT09PV8weDJiZDM1M1tfMHhmYmQ3YzYoJzB4NTdjJyldP3RoaXNbJ2N1cnZlJ109bmV3IF8weDI1Y2RmY1soXzB4ZmJkN2M2KCcweDM0YScpKV0oXzB4MmJkMzUzKTp0aGlzW18weGZiZDdjNignMHg5MTEnKV09bmV3IF8weDI1Y2RmY1soXzB4ZmJkN2M2KCcweDQ5ZScpKV0oXzB4MmJkMzUzKSx0aGlzWydnJ109dGhpc1tfMHhmYmQ3YzYoJzB4OTExJyldWydnJ10sdGhpc1snbiddPXRoaXNbXzB4ZmJkN2M2KCcweDkxMScpXVsnbiddLHRoaXNbJ2hhc2gnXT1fMHgyYmQzNTNbJ2hhc2gnXSxfMHg1MThlZWIodGhpc1snZyddW18weGZiZDdjNignMHgyZWQnKV0oKSxfMHhmYmQ3YzYoJzB4N2RiJykpLF8weDUxOGVlYih0aGlzWydnJ11bJ211bCddKHRoaXNbJ24nXSlbXzB4ZmJkN2M2KCcweDQyZScpXSgpLF8weGZiZDdjNignMHg2ZDMnKSk7fWZ1bmN0aW9uIF8weGVmZWVmNShfMHgyZGE5NTQsXzB4M2FkZTk3KXtPYmplY3RbJ2RlZmluZVByb3BlcnR5J10oXzB4MzRiY2I1LF8weDJkYTk1NCx7J2NvbmZpZ3VyYWJsZSc6ITB4MCwnZW51bWVyYWJsZSc6ITB4MCwnZ2V0JzpmdW5jdGlvbigpe3ZhciBfMHhjOTYwZD1fMHgxNWEzLF8weDE3OTFiND1uZXcgXzB4MjJjNmIwKF8weDNhZGU5Nyk7cmV0dXJuIE9iamVjdFtfMHhjOTYwZCgnMHgyYjQnKV0oXzB4MzRiY2I1LF8weDJkYTk1NCx7J2NvbmZpZ3VyYWJsZSc6ITB4MCwnZW51bWVyYWJsZSc6ITB4MCwndmFsdWUnOl8weDE3OTFiNH0pLF8weDE3OTFiNDt9fSk7fV8weDM0YmNiNVtfMHgyNzI1OTgoJzB4NDdmJyldPV8weDIyYzZiMCxfMHhlZmVlZjUoXzB4MjcyNTk4KCcweGM5YScpLHsndHlwZSc6J3Nob3J0JywncHJpbWUnOidwMTkyJywncCc6J2ZmZmZmZmZmXHgyMGZmZmZmZmZmXHgyMGZmZmZmZmZmXHgyMGZmZmZmZmZlXHgyMGZmZmZmZmZmXHgyMGZmZmZmZmZmJywnYSc6XzB4MjcyNTk4KCcweGM4MicpLCdiJzpfMHgyNzI1OTgoJzB4NmRkJyksJ24nOidmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjA5OWRlZjgzNlx4MjAxNDZiYzliMVx4MjBiNGQyMjgzMScsJ2hhc2gnOl8weDUzZDQxYygpW18weDI3MjU5OCgnMHhiN2InKV0sJ2dSZWQnOiEweDEsJ2cnOltfMHgyNzI1OTgoJzB4OGIzJyksXzB4MjcyNTk4KCcweDMxOScpXX0pLF8weGVmZWVmNSgncDIyNCcseyd0eXBlJzpfMHgyNzI1OTgoJzB4Njk0JyksJ3ByaW1lJzpfMHgyNzI1OTgoJzB4NjVkJyksJ3AnOidmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjAwMDAwMDAwMFx4MjAwMDAwMDAwMFx4MjAwMDAwMDAwMScsJ2EnOidmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZVx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZScsJ2InOl8weDI3MjU5OCgnMHhjMmEnKSwnbic6XzB4MjcyNTk4KCcweDU4ZScpLCdoYXNoJzpfMHg1M2Q0MWMoKVtfMHgyNzI1OTgoJzB4YjdiJyldLCdnUmVkJzohMHgxLCdnJzpbXzB4MjcyNTk4KCcweGE0OCcpLF8weDI3MjU5OCgnMHg2YjknKV19KSxfMHhlZmVlZjUoXzB4MjcyNTk4KCcweGJjNicpLHsndHlwZSc6XzB4MjcyNTk4KCcweDY5NCcpLCdwcmltZSc6bnVsbCwncCc6XzB4MjcyNTk4KCcweDg2YScpLCdhJzonZmZmZmZmZmZceDIwMDAwMDAwMDFceDIwMDAwMDAwMDBceDIwMDAwMDAwMDBceDIwMDAwMDAwMDBceDIwZmZmZmZmZmZceDIwZmZmZmZmZmZceDIwZmZmZmZmZmMnLCdiJzpfMHgyNzI1OTgoJzB4NTc2JyksJ24nOidmZmZmZmZmZlx4MjAwMDAwMDAwMFx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBiY2U2ZmFhZFx4MjBhNzE3OWU4NFx4MjBmM2I5Y2FjMlx4MjBmYzYzMjU1MScsJ2hhc2gnOl8weDUzZDQxYygpW18weDI3MjU5OCgnMHhiN2InKV0sJ2dSZWQnOiEweDEsJ2cnOltfMHgyNzI1OTgoJzB4MzNmJyksXzB4MjcyNTk4KCcweDVlNScpXX0pLF8weGVmZWVmNShfMHgyNzI1OTgoJzB4MzRmJykseyd0eXBlJzpfMHgyNzI1OTgoJzB4Njk0JyksJ3ByaW1lJzpudWxsLCdwJzonZmZmZmZmZmZceDIwZmZmZmZmZmZceDIwZmZmZmZmZmZceDIwZmZmZmZmZmZceDIwZmZmZmZmZmZceDIwZmZmZmZmZmZceDIwZmZmZmZmZmZceDIwZmZmZmZmZmVceDIwZmZmZmZmZmZceDIwMDAwMDAwMDBceDIwMDAwMDAwMDBceDIwZmZmZmZmZmYnLCdhJzpfMHgyNzI1OTgoJzB4YTRlJyksJ2InOl8weDI3MjU5OCgnMHg2OWYnKSwnbic6XzB4MjcyNTk4KCcweDlhOCcpLCdoYXNoJzpfMHg1M2Q0MWMoKVtfMHgyNzI1OTgoJzB4NGQzJyldLCdnUmVkJzohMHgxLCdnJzpbXzB4MjcyNTk4KCcweDQ3MCcpLF8weDI3MjU5OCgnMHg2MmUnKV19KSxfMHhlZmVlZjUoXzB4MjcyNTk4KCcweDQ1ZCcpLHsndHlwZSc6J3Nob3J0JywncHJpbWUnOm51bGwsJ3AnOicwMDAwMDFmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZlx4MjBmZmZmZmZmZicsJ2EnOl8weDI3MjU5OCgnMHg2ZTknKSwnYic6XzB4MjcyNTk4KCcweGEzZScpLCduJzpfMHgyNzI1OTgoJzB4Mjk1JyksJ2hhc2gnOl8weDUzZDQxYygpWydzaGE1MTInXSwnZ1JlZCc6ITB4MSwnZyc6W18weDI3MjU5OCgnMHhjMDQnKSwnMDAwMDAxMThceDIwMzkyOTZhNzhceDIwOWEzYmMwMDRceDIwNWM4YTVmYjRceDIwMmM3ZDFiZDlceDIwOThmNTQ0NDlceDIwNTc5YjQ0NjhceDIwMTdhZmJkMTdceDIwMjczZTY2MmNceDIwOTdlZTcyOTlceDIwNWVmNDI2NDBceDIwYzU1MGI5MDFceDIwM2ZhZDA3NjFceDIwMzUzYzcwODZceDIwYTI3MmMyNDBceDIwODhiZTk0NzZceDIwOWZkMTY2NTAnXX0pLF8weGVmZWVmNShfMHgyNzI1OTgoJzB4NDQ5Jykseyd0eXBlJzpfMHgyNzI1OTgoJzB4NDllJyksJ3ByaW1lJzoncDI1NTE5JywncCc6XzB4MjcyNTk4KCcweDg3MycpLCdhJzonNzZkMDYnLCdiJzonMScsJ24nOl8weDI3MjU5OCgnMHg3YWUnKSwnaGFzaCc6XzB4NTNkNDFjKClbJ3NoYTI1NiddLCdnUmVkJzohMHgxLCdnJzpbJzknXX0pLF8weGVmZWVmNShfMHgyNzI1OTgoJzB4N2NjJykseyd0eXBlJzpfMHgyNzI1OTgoJzB4MzRhJyksJ3ByaW1lJzpfMHgyNzI1OTgoJzB4ODJiJyksJ3AnOl8weDI3MjU5OCgnMHg4NzMnKSwnYSc6Jy0xJywnYyc6JzEnLCdkJzpfMHgyNzI1OTgoJzB4OWNiJyksJ24nOl8weDI3MjU5OCgnMHg3YWUnKSwnaGFzaCc6XzB4NTNkNDFjKClbJ3NoYTI1NiddLCdnUmVkJzohMHgxLCdnJzpbXzB4MjcyNTk4KCcweGNmMicpLF8weDI3MjU5OCgnMHgyZTYnKV19KTt0cnl7XzB4NGMzN2YzPW51bGxbJ2NyYXNoJ10oKTt9Y2F0Y2goXzB4NDk5MTBiKXtfMHg0YzM3ZjM9dm9pZCAweDA7fV8weGVmZWVmNShfMHgyNzI1OTgoJzB4NDYxJykseyd0eXBlJzonc2hvcnQnLCdwcmltZSc6XzB4MjcyNTk4KCcweDI2ZicpLCdwJzpfMHgyNzI1OTgoJzB4NWRkJyksJ2EnOicwJywnYic6JzcnLCduJzonZmZmZmZmZmZceDIwZmZmZmZmZmZceDIwZmZmZmZmZmZceDIwZmZmZmZmZmVceDIwYmFhZWRjZTZceDIwYWY0OGEwM2JceDIwYmZkMjVlOGNceDIwZDAzNjQxNDEnLCdoJzonMScsJ2hhc2gnOl8weDUzZDQxYygpWydzaGEyNTYnXSwnYmV0YSc6XzB4MjcyNTk4KCcweGNmNycpLCdsYW1iZGEnOl8weDI3MjU5OCgnMHg5MTInKSwnYmFzaXMnOlt7J2EnOl8weDI3MjU5OCgnMHhjMjYnKSwnYic6XzB4MjcyNTk4KCcweGNkNycpfSx7J2EnOl8weDI3MjU5OCgnMHhjZDknKSwnYic6XzB4MjcyNTk4KCcweGMyNicpfV0sJ2dSZWQnOiEweDEsJ2cnOlsnNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCcsXzB4MjcyNTk4KCcweDFjYicpLF8weDRjMzdmM119KTt9KTtmdW5jdGlvbiBfMHhkNjE3YyhfMHg4MDE4NjIpe3ZhciBfMHgzZjk0YmM9XzB4Mzk2YjllO2lmKCEodGhpcyBpbnN0YW5jZW9mIF8weGQ2MTdjKSlyZXR1cm4gbmV3IF8weGQ2MTdjKF8weDgwMTg2Mik7dGhpc1tfMHgzZjk0YmMoJzB4MmU0JyldPV8weDgwMTg2MltfMHgzZjk0YmMoJzB4MmU0JyldLHRoaXNbXzB4M2Y5NGJjKCcweDQ0ZicpXT0hIV8weDgwMTg2MlsncHJlZFJlc2lzdCddLHRoaXNbJ291dExlbiddPXRoaXNbXzB4M2Y5NGJjKCcweDJlNCcpXVtfMHgzZjk0YmMoJzB4OTA1JyldLHRoaXNbXzB4M2Y5NGJjKCcweDFjOCcpXT1fMHg4MDE4NjJbXzB4M2Y5NGJjKCcweDFjOCcpXXx8dGhpc1tfMHgzZjk0YmMoJzB4MmU0JyldW18weDNmOTRiYygnMHg0YjInKV0sdGhpc1tfMHgzZjk0YmMoJzB4NDU5JyldPW51bGwsdGhpc1tfMHgzZjk0YmMoJzB4ZDFmJyldPW51bGwsdGhpc1snSyddPW51bGwsdGhpc1snViddPW51bGw7dmFyIF8weDI0OTMzZD1fMHgxMWVjZTRbXzB4M2Y5NGJjKCcweDM5NCcpXShfMHg4MDE4NjJbJ2VudHJvcHknXSxfMHg4MDE4NjJbJ2VudHJvcHlFbmMnXXx8J2hleCcpLF8weDE0MmE3YT1fMHgxMWVjZTRbXzB4M2Y5NGJjKCcweDM5NCcpXShfMHg4MDE4NjJbJ25vbmNlJ10sXzB4ODAxODYyW18weDNmOTRiYygnMHg5ZWUnKV18fF8weDNmOTRiYygnMHhjNGQnKSksXzB4NTU1Mjk4PV8weDExZWNlNFtfMHgzZjk0YmMoJzB4Mzk0JyldKF8weDgwMTg2MltfMHgzZjk0YmMoJzB4OTJiJyldLF8weDgwMTg2MltfMHgzZjk0YmMoJzB4OTAyJyldfHxfMHgzZjk0YmMoJzB4YzRkJykpO18weDZlMWUzOShfMHgyNDkzM2RbXzB4M2Y5NGJjKCcweDUyMCcpXT49dGhpc1tfMHgzZjk0YmMoJzB4MWM4JyldLzB4OCxfMHgzZjk0YmMoJzB4MjBiJykrdGhpc1tfMHgzZjk0YmMoJzB4MWM4JyldK18weDNmOTRiYygnMHgzY2YnKSksdGhpc1snX2luaXQnXShfMHgyNDkzM2QsXzB4MTQyYTdhLF8weDU1NTI5OCk7fXZhciBfMHgxMzA1Nzc9XzB4ZDYxN2M7XzB4ZDYxN2NbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4YWRiJyldPWZ1bmN0aW9uKF8weDQ0ZGI4YyxfMHgzMzAzYzcsXzB4NGIwOGIzKXt2YXIgXzB4MTQ0YjVhPV8weDM5NmI5ZSxfMHg1OTE4MTA9XzB4NDRkYjhjWydjb25jYXQnXShfMHgzMzAzYzcpW18weDE0NGI1YSgnMHg1MzAnKV0oXzB4NGIwOGIzKTt0aGlzWydLJ109bmV3IEFycmF5KHRoaXNbXzB4MTQ0YjVhKCcweGFkZScpXS8weDgpLHRoaXNbJ1YnXT1uZXcgQXJyYXkodGhpc1tfMHgxNDRiNWEoJzB4YWRlJyldLzB4OCk7Zm9yKHZhciBfMHgzOTc4M2Q9MHgwO18weDM5NzgzZDx0aGlzWydWJ11bXzB4MTQ0YjVhKCcweDUyMCcpXTtfMHgzOTc4M2QrKyl0aGlzWydLJ11bXzB4Mzk3ODNkXT0weDAsdGhpc1snViddW18weDM5NzgzZF09MHgxO3RoaXNbXzB4MTQ0YjVhKCcweGM0MCcpXShfMHg1OTE4MTApLHRoaXNbXzB4MTQ0YjVhKCcweDQ1OScpXT0weDEsdGhpc1tfMHgxNDRiNWEoJzB4ZDFmJyldPTB4MTAwMDAwMDAwMDAwMDt9LF8weGQ2MTdjW18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweDljYycpXT1mdW5jdGlvbigpe3ZhciBfMHgyOGMwZGY9XzB4Mzk2YjllO3JldHVybiBuZXcoXzB4NTNkNDFjKCkpWydobWFjJ10odGhpc1tfMHgyOGMwZGYoJzB4MmU0JyldLHRoaXNbJ0snXSk7fSxfMHhkNjE3Y1tfMHgzOTZiOWUoJzB4NzU2JyldWydfdXBkYXRlJ109ZnVuY3Rpb24oXzB4NjEzNzdhKXt2YXIgXzB4MjJhNjgyPV8weDM5NmI5ZSxfMHg0ZTMwODk9dGhpc1tfMHgyMmE2ODIoJzB4OWNjJyldKClbXzB4MjJhNjgyKCcweDQ0NycpXSh0aGlzWydWJ10pW18weDIyYTY4MignMHg0NDcnKV0oWzB4MF0pO18weDYxMzc3YSYmKF8weDRlMzA4OT1fMHg0ZTMwODlbXzB4MjJhNjgyKCcweDQ0NycpXShfMHg2MTM3N2EpKSx0aGlzWydLJ109XzB4NGUzMDg5W18weDIyYTY4MignMHhkMmYnKV0oKSx0aGlzWydWJ109dGhpc1tfMHgyMmE2ODIoJzB4OWNjJyldKClbXzB4MjJhNjgyKCcweDQ0NycpXSh0aGlzWydWJ10pW18weDIyYTY4MignMHhkMmYnKV0oKSxfMHg2MTM3N2EmJih0aGlzWydLJ109dGhpc1tfMHgyMmE2ODIoJzB4OWNjJyldKClbXzB4MjJhNjgyKCcweDQ0NycpXSh0aGlzWydWJ10pWyd1cGRhdGUnXShbMHgxXSlbXzB4MjJhNjgyKCcweDQ0NycpXShfMHg2MTM3N2EpW18weDIyYTY4MignMHhkMmYnKV0oKSx0aGlzWydWJ109dGhpc1tfMHgyMmE2ODIoJzB4OWNjJyldKClbJ3VwZGF0ZSddKHRoaXNbJ1YnXSlbJ2RpZ2VzdCddKCkpO30sXzB4ZDYxN2NbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4YWE0JyldPWZ1bmN0aW9uKF8weGQwYTEzYixfMHg0MGFhM2IsXzB4OGRhZjUzLF8weDFiYTU4Nil7dmFyIF8weGNkNGRkMT1fMHgzOTZiOWU7XzB4Y2Q0ZGQxKCcweDY1ZicpIT10eXBlb2YgXzB4NDBhYTNiJiYoXzB4MWJhNTg2PV8weDhkYWY1MyxfMHg4ZGFmNTM9XzB4NDBhYTNiLF8weDQwYWEzYj1udWxsKSxfMHhkMGExM2I9XzB4MTFlY2U0W18weGNkNGRkMSgnMHgzOTQnKV0oXzB4ZDBhMTNiLF8weDQwYWEzYiksXzB4OGRhZjUzPV8weDExZWNlNFtfMHhjZDRkZDEoJzB4Mzk0JyldKF8weDhkYWY1MyxfMHgxYmE1ODYpLF8weDZlMWUzOShfMHhkMGExM2JbJ2xlbmd0aCddPj10aGlzW18weGNkNGRkMSgnMHgxYzgnKV0vMHg4LF8weGNkNGRkMSgnMHgyMGInKSt0aGlzW18weGNkNGRkMSgnMHgxYzgnKV0rJ1x4MjBiaXRzJyksdGhpc1tfMHhjZDRkZDEoJzB4YzQwJyldKF8weGQwYTEzYlsnY29uY2F0J10oXzB4OGRhZjUzfHxbXSkpLHRoaXNbXzB4Y2Q0ZGQxKCcweDQ1OScpXT0weDE7fSxfMHhkNjE3Y1tfMHgzOTZiOWUoJzB4NzU2JyldWydnZW5lcmF0ZSddPWZ1bmN0aW9uKF8weDExYzViNCxfMHg1YTUyMTcsXzB4MmFiMmNjLF8weDU0ODZjYil7dmFyIF8weDRiODY1Yz1fMHgzOTZiOWU7aWYodGhpc1tfMHg0Yjg2NWMoJzB4NDU5JyldPnRoaXNbJ3Jlc2VlZEludGVydmFsJ10pdGhyb3cgbmV3IEVycm9yKF8weDRiODY1YygnMHgzNDUnKSk7J3N0cmluZychPXR5cGVvZiBfMHg1YTUyMTcmJihfMHg1NDg2Y2I9XzB4MmFiMmNjLF8weDJhYjJjYz1fMHg1YTUyMTcsXzB4NWE1MjE3PW51bGwpLF8weDJhYjJjYyYmKF8weDJhYjJjYz1fMHgxMWVjZTRbXzB4NGI4NjVjKCcweDM5NCcpXShfMHgyYWIyY2MsXzB4NTQ4NmNifHwnaGV4JyksdGhpc1tfMHg0Yjg2NWMoJzB4YzQwJyldKF8weDJhYjJjYykpO2Zvcih2YXIgXzB4NTk3NzllPVtdO18weDU5Nzc5ZVtfMHg0Yjg2NWMoJzB4NTIwJyldPF8weDExYzViNDspdGhpc1snViddPXRoaXNbXzB4NGI4NjVjKCcweDljYycpXSgpW18weDRiODY1YygnMHg0NDcnKV0odGhpc1snViddKVtfMHg0Yjg2NWMoJzB4ZDJmJyldKCksXzB4NTk3NzllPV8weDU5Nzc5ZVsnY29uY2F0J10odGhpc1snViddKTt2YXIgXzB4M2JjODNlPV8weDU5Nzc5ZVsnc2xpY2UnXSgweDAsXzB4MTFjNWI0KTtyZXR1cm4gdGhpc1tfMHg0Yjg2NWMoJzB4YzQwJyldKF8weDJhYjJjYyksdGhpc1tfMHg0Yjg2NWMoJzB4NDU5JyldKyssXzB4MTFlY2U0W18weDRiODY1YygnMHhhNTEnKV0oXzB4M2JjODNlLF8weDVhNTIxNyk7fTt2YXIgXzB4MWQ3N2JiPV8weDMwYTlhOVsnYXNzZXJ0J107ZnVuY3Rpb24gXzB4MTFmNzVmKF8weDhmMDYxNyxfMHg2NmFiZDgpe3ZhciBfMHgxZGI2YTk9XzB4Mzk2YjllO3RoaXNbJ2VjJ109XzB4OGYwNjE3LHRoaXNbXzB4MWRiNmE5KCcweDY4YycpXT1udWxsLHRoaXNbXzB4MWRiNmE5KCcweDlhMScpXT1udWxsLF8weDY2YWJkOFtfMHgxZGI2YTkoJzB4NjhjJyldJiZ0aGlzWydfaW1wb3J0UHJpdmF0ZSddKF8weDY2YWJkOFtfMHgxZGI2YTkoJzB4NjhjJyldLF8weDY2YWJkOFtfMHgxZGI2YTkoJzB4NzhkJyldKSxfMHg2NmFiZDhbXzB4MWRiNmE5KCcweDlhMScpXSYmdGhpc1snX2ltcG9ydFB1YmxpYyddKF8weDY2YWJkOFsncHViJ10sXzB4NjZhYmQ4W18weDFkYjZhOSgnMHg3OGInKV0pO312YXIgXzB4NWQ0OWY5PV8weDExZjc1ZjtfMHgxMWY3NWZbXzB4Mzk2YjllKCcweDRmZCcpXT1mdW5jdGlvbihfMHg0ZDFkYzIsXzB4Yzc3YWQ3LF8weDQ5YTRjZil7cmV0dXJuIF8weGM3N2FkNyBpbnN0YW5jZW9mIF8weDExZjc1Zj9fMHhjNzdhZDc6bmV3IF8weDExZjc1ZihfMHg0ZDFkYzIseydwdWInOl8weGM3N2FkNywncHViRW5jJzpfMHg0OWE0Y2Z9KTt9LF8weDExZjc1ZltfMHgzOTZiOWUoJzB4NjM3JyldPWZ1bmN0aW9uKF8weDVlNjljOSxfMHgxOTA1MDMsXzB4M2M4ZWUyKXtyZXR1cm4gXzB4MTkwNTAzIGluc3RhbmNlb2YgXzB4MTFmNzVmP18weDE5MDUwMzpuZXcgXzB4MTFmNzVmKF8weDVlNjljOSx7J3ByaXYnOl8weDE5MDUwMywncHJpdkVuYyc6XzB4M2M4ZWUyfSk7fSxfMHgxMWY3NWZbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4MmVkJyldPWZ1bmN0aW9uKCl7dmFyIF8weDVhOWNmNT1fMHgzOTZiOWUsXzB4ZTBiMDJmPXRoaXNbXzB4NWE5Y2Y1KCcweGI3NicpXSgpO3JldHVybiBfMHhlMGIwMmZbXzB4NWE5Y2Y1KCcweDQyZScpXSgpP3sncmVzdWx0JzohMHgxLCdyZWFzb24nOl8weDVhOWNmNSgnMHgzYmYnKX06XzB4ZTBiMDJmW18weDVhOWNmNSgnMHgyZWQnKV0oKT9fMHhlMGIwMmZbJ211bCddKHRoaXNbJ2VjJ11bXzB4NWE5Y2Y1KCcweDkxMScpXVsnbiddKVtfMHg1YTljZjUoJzB4NDJlJyldKCk/eydyZXN1bHQnOiEweDAsJ3JlYXNvbic6bnVsbH06eydyZXN1bHQnOiEweDEsJ3JlYXNvbic6XzB4NWE5Y2Y1KCcweDU1MycpfTp7J3Jlc3VsdCc6ITB4MSwncmVhc29uJzpfMHg1YTljZjUoJzB4NmY1Jyl9O30sXzB4MTFmNzVmW18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweGI3NicpXT1mdW5jdGlvbihfMHg0ODA5YzYsXzB4MTBjNWI1KXt2YXIgXzB4NDE3NzQ2PV8weDM5NmI5ZTtyZXR1cm4nc3RyaW5nJz09dHlwZW9mIF8weDQ4MDljNiYmKF8weDEwYzViNT1fMHg0ODA5YzYsXzB4NDgwOWM2PW51bGwpLHRoaXNbJ3B1YiddfHwodGhpc1tfMHg0MTc3NDYoJzB4OWExJyldPXRoaXNbJ2VjJ11bJ2cnXVtfMHg0MTc3NDYoJzB4YzIzJyldKHRoaXNbXzB4NDE3NzQ2KCcweDY4YycpXSkpLF8weDEwYzViNT90aGlzW18weDQxNzc0NignMHg5YTEnKV1bXzB4NDE3NzQ2KCcweGE1MScpXShfMHgxMGM1YjUsXzB4NDgwOWM2KTp0aGlzW18weDQxNzc0NignMHg5YTEnKV07fSxfMHgxMWY3NWZbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4N2Q0JyldPWZ1bmN0aW9uKF8weDVhYWVjNSl7dmFyIF8weDFlMjJiOD1fMHgzOTZiOWU7cmV0dXJuIF8weDFlMjJiOCgnMHhjNGQnKT09PV8weDVhYWVjNT90aGlzW18weDFlMjJiOCgnMHg2OGMnKV1bXzB4MWUyMmI4KCcweDU0NycpXSgweDEwLDB4Mik6dGhpc1tfMHgxZTIyYjgoJzB4NjhjJyldO30sXzB4MTFmNzVmW18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweDI5NCcpXT1mdW5jdGlvbihfMHg1Yzg0YzMsXzB4NDYxYTA3KXt2YXIgXzB4MjM5OGFiPV8weDM5NmI5ZTt0aGlzW18weDIzOThhYignMHg2OGMnKV09bmV3KF8weDVjNDFhYigpKShfMHg1Yzg0YzMsXzB4NDYxYTA3fHwweDEwKSx0aGlzWydwcml2J109dGhpc1tfMHgyMzk4YWIoJzB4NjhjJyldW18weDIzOThhYignMHg3MzMnKV0odGhpc1snZWMnXVtfMHgyMzk4YWIoJzB4OTExJyldWyduJ10pO30sXzB4MTFmNzVmWydwcm90b3R5cGUnXVtfMHgzOTZiOWUoJzB4YjQwJyldPWZ1bmN0aW9uKF8weDQxZDUzNyxfMHgzNmZjZDQpe3ZhciBfMHg1Njg1Zjk9XzB4Mzk2YjllO2lmKF8weDQxZDUzN1sneCddfHxfMHg0MWQ1MzdbJ3knXSlyZXR1cm4nbW9udCc9PT10aGlzWydlYyddW18weDU2ODVmOSgnMHg5MTEnKV1bXzB4NTY4NWY5KCcweDU3YycpXT9fMHgxZDc3YmIoXzB4NDFkNTM3Wyd4J10sXzB4NTY4NWY5KCcweDc2YicpKTpfMHg1Njg1ZjkoJzB4Njk0JykhPT10aGlzWydlYyddW18weDU2ODVmOSgnMHg5MTEnKV1bJ3R5cGUnXSYmXzB4NTY4NWY5KCcweDM0YScpIT09dGhpc1snZWMnXVtfMHg1Njg1ZjkoJzB4OTExJyldWyd0eXBlJ118fF8weDFkNzdiYihfMHg0MWQ1MzdbJ3gnXSYmXzB4NDFkNTM3Wyd5J10sJ05lZWRceDIwYm90aFx4MjB4XHgyMGFuZFx4MjB5XHgyMGNvb3JkaW5hdGUnKSx2b2lkKHRoaXNbXzB4NTY4NWY5KCcweDlhMScpXT10aGlzWydlYyddW18weDU2ODVmOSgnMHg5MTEnKV1bXzB4NTY4NWY5KCcweDhlYScpXShfMHg0MWQ1MzdbJ3gnXSxfMHg0MWQ1MzdbJ3knXSkpO3RoaXNbJ3B1YiddPXRoaXNbJ2VjJ11bJ2N1cnZlJ11bXzB4NTY4NWY5KCcweDQ5ZCcpXShfMHg0MWQ1MzcsXzB4MzZmY2Q0KTt9LF8weDExZjc1ZlsncHJvdG90eXBlJ11bJ2Rlcml2ZSddPWZ1bmN0aW9uKF8weDE3Y2U3MCl7dmFyIF8weDE1MDYyMD1fMHgzOTZiOWU7cmV0dXJuIF8weDE3Y2U3MFsndmFsaWRhdGUnXSgpfHxfMHgxZDc3YmIoXzB4MTdjZTcwW18weDE1MDYyMCgnMHgyZWQnKV0oKSxfMHgxNTA2MjAoJzB4YmIxJykpLF8weDE3Y2U3MFtfMHgxNTA2MjAoJzB4YzIzJyldKHRoaXNbXzB4MTUwNjIwKCcweDY4YycpXSlbXzB4MTUwNjIwKCcweDRlNScpXSgpO30sXzB4MTFmNzVmW18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweGExMicpXT1mdW5jdGlvbihfMHgzYWI5YTAsXzB4MmI2NzJlLF8weGZhM2MxOCl7dmFyIF8weDQ0NmNhNj1fMHgzOTZiOWU7cmV0dXJuIHRoaXNbJ2VjJ11bXzB4NDQ2Y2E2KCcweGExMicpXShfMHgzYWI5YTAsdGhpcyxfMHgyYjY3MmUsXzB4ZmEzYzE4KTt9LF8weDExZjc1ZltfMHgzOTZiOWUoJzB4NzU2JyldWyd2ZXJpZnknXT1mdW5jdGlvbihfMHgzMDBlNmEsXzB4MWI0NDJmKXt2YXIgXzB4MzI4ZTQ0PV8weDM5NmI5ZTtyZXR1cm4gdGhpc1snZWMnXVtfMHgzMjhlNDQoJzB4MWU3JyldKF8weDMwMGU2YSxfMHgxYjQ0MmYsdGhpcyk7fSxfMHgxMWY3NWZbXzB4Mzk2YjllKCcweDc1NicpXVtfMHgzOTZiOWUoJzB4ZDIzJyldPWZ1bmN0aW9uKCl7dmFyIF8weDFiMTNhYT1fMHgzOTZiOWU7cmV0dXJuIF8weDFiMTNhYSgnMHg3YWInKSsodGhpc1sncHJpdiddJiZ0aGlzW18weDFiMTNhYSgnMHg2OGMnKV1bJ3RvU3RyaW5nJ10oMHgxMCwweDIpKStfMHgxYjEzYWEoJzB4ODRlJykrKHRoaXNbXzB4MWIxM2FhKCcweDlhMScpXSYmdGhpc1tfMHgxYjEzYWEoJzB4OWExJyldW18weDFiMTNhYSgnMHhkMjMnKV0oKSkrJ1x4MjA+Jzt9O3ZhciBfMHg0NTI4MGI9XzB4MzBhOWE5Wydhc3NlcnQnXTtmdW5jdGlvbiBfMHg0MDNhMzEoXzB4MTgzYmViLF8weDE2NzNhZCl7dmFyIF8weDFkMGFhZj1fMHgzOTZiOWU7aWYoXzB4MTgzYmViIGluc3RhbmNlb2YgXzB4NDAzYTMxKXJldHVybiBfMHgxODNiZWI7dGhpc1tfMHgxZDBhYWYoJzB4MWIyJyldKF8weDE4M2JlYixfMHgxNjczYWQpfHwoXzB4NDUyODBiKF8weDE4M2JlYlsnciddJiZfMHgxODNiZWJbJ3MnXSwnU2lnbmF0dXJlXHgyMHdpdGhvdXRceDIwclx4MjBvclx4MjBzJyksdGhpc1snciddPW5ldyhfMHg1YzQxYWIoKSkoXzB4MTgzYmViWydyJ10sMHgxMCksdGhpc1sncyddPW5ldyhfMHg1YzQxYWIoKSkoXzB4MTgzYmViWydzJ10sMHgxMCksdm9pZCAweDA9PT1fMHgxODNiZWJbJ3JlY292ZXJ5UGFyYW0nXT90aGlzW18weDFkMGFhZignMHg4Y2UnKV09bnVsbDp0aGlzWydyZWNvdmVyeVBhcmFtJ109XzB4MTgzYmViWydyZWNvdmVyeVBhcmFtJ10pO312YXIgXzB4MWQ0NGNkPV8weDQwM2EzMTtmdW5jdGlvbiBfMHgxMjM5YzkoKXt2YXIgXzB4NTQ4ZDIzPV8weDM5NmI5ZTt0aGlzW18weDU0OGQyMygnMHg5MjAnKV09MHgwO31mdW5jdGlvbiBfMHg0Zjg1MjUoXzB4ZjE1ZTAwLF8weDVhZmQ3Mil7dmFyIF8weDE2MzdmOD1fMHgzOTZiOWUsXzB4M2RlYWM1PV8weGYxNWUwMFtfMHg1YWZkNzJbXzB4MTYzN2Y4KCcweDkyMCcpXSsrXTtpZighKDB4ODAmXzB4M2RlYWM1KSlyZXR1cm4gXzB4M2RlYWM1O3ZhciBfMHgxN2VhNzU9MHhmJl8weDNkZWFjNTtpZigweDA9PT1fMHgxN2VhNzV8fF8weDE3ZWE3NT4weDQpcmV0dXJuITB4MTtmb3IodmFyIF8weDRjYzkyZT0weDAsXzB4MjE2YWFlPTB4MCxfMHgyZTM0ZDg9XzB4NWFmZDcyW18weDE2MzdmOCgnMHg5MjAnKV07XzB4MjE2YWFlPF8weDE3ZWE3NTtfMHgyMTZhYWUrKyxfMHgyZTM0ZDgrKylfMHg0Y2M5MmU8PD0weDgsXzB4NGNjOTJlfD1fMHhmMTVlMDBbXzB4MmUzNGQ4XSxfMHg0Y2M5MmU+Pj49MHgwO3JldHVybiEoXzB4NGNjOTJlPD0weDdmKSYmKF8weDVhZmQ3MltfMHgxNjM3ZjgoJzB4OTIwJyldPV8weDJlMzRkOCxfMHg0Y2M5MmUpO31mdW5jdGlvbiBfMHg0NGM1Y2IoXzB4MTg3NjE0KXt2YXIgXzB4NWFiYWEyPV8weDM5NmI5ZTtmb3IodmFyIF8weDRmYjM0MD0weDAsXzB4M2RkZTlkPV8weDE4NzYxNFtfMHg1YWJhYTIoJzB4NTIwJyldLTB4MTshXzB4MTg3NjE0W18weDRmYjM0MF0mJiEoMHg4MCZfMHgxODc2MTRbXzB4NGZiMzQwKzB4MV0pJiZfMHg0ZmIzNDA8XzB4M2RkZTlkOylfMHg0ZmIzNDArKztyZXR1cm4gMHgwPT09XzB4NGZiMzQwP18weDE4NzYxNDpfMHgxODc2MTRbXzB4NWFiYWEyKCcweGFkYScpXShfMHg0ZmIzNDApO31mdW5jdGlvbiBfMHgxY2M1NDgoXzB4NTU3NTNlLF8weDE5MTQ3MSl7dmFyIF8weDVlZjM4ZD1fMHgzOTZiOWU7aWYoXzB4MTkxNDcxPDB4ODApXzB4NTU3NTNlW18weDVlZjM4ZCgnMHg4YjcnKV0oXzB4MTkxNDcxKTtlbHNle3ZhciBfMHg0NjYzYTg9MHgxKyhNYXRoW18weDVlZjM4ZCgnMHg1YmEnKV0oXzB4MTkxNDcxKS9NYXRoW18weDVlZjM4ZCgnMHg0MzknKV0+Pj4weDMpO2ZvcihfMHg1NTc1M2VbXzB4NWVmMzhkKCcweDhiNycpXSgweDgwfF8weDQ2NjNhOCk7LS1fMHg0NjYzYTg7KV8weDU1NzUzZVtfMHg1ZWYzOGQoJzB4OGI3JyldKF8weDE5MTQ3MT4+PihfMHg0NjYzYTg8PDB4MykmMHhmZik7XzB4NTU3NTNlW18weDVlZjM4ZCgnMHg4YjcnKV0oXzB4MTkxNDcxKTt9fV8weDQwM2EzMVtfMHgzOTZiOWUoJzB4NzU2JyldW18weDM5NmI5ZSgnMHgxYjInKV09ZnVuY3Rpb24oXzB4NDQ0NWY2LF8weDQ1NWRiYil7dmFyIF8weDE3ZjE1Yz1fMHgzOTZiOWU7XzB4NDQ0NWY2PV8weDMwYTlhOVtfMHgxN2YxNWMoJzB4Mzk0JyldKF8weDQ0NDVmNixfMHg0NTVkYmIpO3ZhciBfMHg0ODA4OGM9bmV3IF8weDEyMzljOSgpO2lmKDB4MzAhPT1fMHg0NDQ1ZjZbXzB4NDgwODhjWydwbGFjZSddKytdKXJldHVybiEweDE7dmFyIF8weDU2NzU4Mz1fMHg0Zjg1MjUoXzB4NDQ0NWY2LF8weDQ4MDg4Yyk7aWYoITB4MT09PV8weDU2NzU4MylyZXR1cm4hMHgxO2lmKF8weDU2NzU4MytfMHg0ODA4OGNbXzB4MTdmMTVjKCcweDkyMCcpXSE9PV8weDQ0NDVmNlsnbGVuZ3RoJ10pcmV0dXJuITB4MTtpZigweDIhPT1fMHg0NDQ1ZjZbXzB4NDgwODhjW18weDE3ZjE1YygnMHg5MjAnKV0rK10pcmV0dXJuITB4MTt2YXIgXzB4MTBmYzg3PV8weDRmODUyNShfMHg0NDQ1ZjYsXzB4NDgwODhjKTtpZighMHgxPT09XzB4MTBmYzg3KXJldHVybiEweDE7dmFyIF8weDEwN2JiNj1fMHg0NDQ1ZjZbXzB4MTdmMTVjKCcweGFkYScpXShfMHg0ODA4OGNbXzB4MTdmMTVjKCcweDkyMCcpXSxfMHgxMGZjODcrXzB4NDgwODhjW18weDE3ZjE1YygnMHg5MjAnKV0pO2lmKF8weDQ4MDg4Y1sncGxhY2UnXSs9XzB4MTBmYzg3LDB4MiE9PV8weDQ0NDVmNltfMHg0ODA4OGNbJ3BsYWNlJ10rK10pcmV0dXJuITB4MTt2YXIgXzB4MjBhNzlhPV8weDRmODUyNShfMHg0NDQ1ZjYsXzB4NDgwODhjKTtpZighMHgxPT09XzB4MjBhNzlhKXJldHVybiEweDE7aWYoXzB4NDQ0NWY2WydsZW5ndGgnXSE9PV8weDIwYTc5YStfMHg0ODA4OGNbJ3BsYWNlJ10pcmV0dXJuITB4MTt2YXIgXzB4NmEyNTlmPV8weDQ0NDVmNlsnc2xpY2UnXShfMHg0ODA4OGNbJ3BsYWNlJ10sXzB4MjBhNzlhK18weDQ4MDg4Y1tfMHgxN2YxNWMoJzB4OTIwJyldKTtpZigweDA9PT1fMHgxMDdiYjZbMHgwXSl7aWYoISgweDgwJl8weDEwN2JiNlsweDFdKSlyZXR1cm4hMHgxO18weDEwN2JiNj1fMHgxMDdiYjZbXzB4MTdmMTVjKCcweGFkYScpXSgweDEpO31pZigweDA9PT1fMHg2YTI1OWZbMHgwXSl7aWYoISgweDgwJl8weDZhMjU5ZlsweDFdKSlyZXR1cm4hMHgxO18weDZhMjU5Zj1fMHg2YTI1OWZbJ3NsaWNlJ10oMHgxKTt9cmV0dXJuIHRoaXNbJ3InXT1uZXcoXzB4NWM0MWFiKCkpKF8weDEwN2JiNiksdGhpc1sncyddPW5ldyhfMHg1YzQxYWIoKSkoXzB4NmEyNTlmKSx0aGlzWydyZWNvdmVyeVBhcmFtJ109bnVsbCwhMHgwO30sXzB4NDAzYTMxW18weDM5NmI5ZSgnMHg3NTYnKV1bJ3RvREVSJ109ZnVuY3Rpb24oXzB4OTdmOThiKXt2YXIgXzB4MjdhOTgyPV8weDM5NmI5ZSxfMHgyNTkyNTE9dGhpc1snciddW18weDI3YTk4MignMHgzOTQnKV0oKSxfMHgzZGNiNWY9dGhpc1sncyddW18weDI3YTk4MignMHgzOTQnKV0oKTtmb3IoMHg4MCZfMHgyNTkyNTFbMHgwXSYmKF8weDI1OTI1MT1bMHgwXVtfMHgyN2E5ODIoJzB4NTMwJyldKF8weDI1OTI1MSkpLDB4ODAmXzB4M2RjYjVmWzB4MF0mJihfMHgzZGNiNWY9WzB4MF1bJ2NvbmNhdCddKF8weDNkY2I1ZikpLF8weDI1OTI1MT1fMHg0NGM1Y2IoXzB4MjU5MjUxKSxfMHgzZGNiNWY9XzB4NDRjNWNiKF8weDNkY2I1Zik7IShfMHgzZGNiNWZbMHgwXXx8MHg4MCZfMHgzZGNiNWZbMHgxXSk7KV8weDNkY2I1Zj1fMHgzZGNiNWZbXzB4MjdhOTgyKCcweGFkYScpXSgweDEpO3ZhciBfMHgyNTM2ZjQ9WzB4Ml07XzB4MWNjNTQ4KF8weDI1MzZmNCxfMHgyNTkyNTFbXzB4MjdhOTgyKCcweDUyMCcpXSksKF8weDI1MzZmND1fMHgyNTM2ZjRbJ2NvbmNhdCddKF8weDI1OTI1MSkpWydwdXNoJ10oMHgyKSxfMHgxY2M1NDgoXzB4MjUzNmY0LF8weDNkY2I1ZlsnbGVuZ3RoJ10pO3ZhciBfMHg0NWM3NmE9XzB4MjUzNmY0Wydjb25jYXQnXShfMHgzZGNiNWYpLF8weDQ1ZDkwNj1bMHgzMF07cmV0dXJuIF8weDFjYzU0OChfMHg0NWQ5MDYsXzB4NDVjNzZhW18weDI3YTk4MignMHg1MjAnKV0pLF8weDQ1ZDkwNj1fMHg0NWQ5MDZbJ2NvbmNhdCddKF8weDQ1Yzc2YSksXzB4MzBhOWE5W18weDI3YTk4MignMHhhNTEnKV0oXzB4NDVkOTA2LF8weDk3Zjk4Yik7fTt2YXIgXzB4MzJkMTRkPWZ1bmN0aW9uKCl7dmFyIF8weDI4ZDU0Nj1fMHgzOTZiOWU7dGhyb3cgbmV3IEVycm9yKF8weDI4ZDU0NignMHhjMzUnKSk7fSxfMHgxNTQ2Y2E9XzB4MzBhOWE5Wydhc3NlcnQnXTtmdW5jdGlvbiBfMHgzNzFkZDQoXzB4MWU4YThkKXt2YXIgXzB4NmE3MmVjPV8weDM5NmI5ZTtpZighKHRoaXMgaW5zdGFuY2VvZiBfMHgzNzFkZDQpKXJldHVybiBuZXcgXzB4MzcxZGQ0KF8weDFlOGE4ZCk7J3N0cmluZyc9PXR5cGVvZiBfMHgxZThhOGQmJihfMHgxNTQ2Y2EoT2JqZWN0Wydwcm90b3R5cGUnXVtfMHg2YTcyZWMoJzB4MTljJyldW18weDZhNzJlYygnMHg1ZmQnKV0oXzB4ZGNlNmJkLF8weDFlOGE4ZCksXzB4NmE3MmVjKCcweDFhNicpK18weDFlOGE4ZCksXzB4MWU4YThkPV8weGRjZTZiZFtfMHgxZThhOGRdKSxfMHgxZThhOGQgaW5zdGFuY2VvZiBfMHhkY2U2YmRbXzB4NmE3MmVjKCcweDQ3ZicpXSYmKF8weDFlOGE4ZD17J2N1cnZlJzpfMHgxZThhOGR9KSx0aGlzWydjdXJ2ZSddPV8weDFlOGE4ZFtfMHg2YTcyZWMoJzB4OTExJyldW18weDZhNzJlYygnMHg5MTEnKV0sdGhpc1snbiddPXRoaXNbXzB4NmE3MmVjKCcweDkxMScpXVsnbiddLHRoaXNbJ25oJ109dGhpc1snbiddW18weDZhNzJlYygnMHhjZmMnKV0oMHgxKSx0aGlzWydnJ109dGhpc1tfMHg2YTcyZWMoJzB4OTExJyldWydnJ10sdGhpc1snZyddPV8weDFlOGE4ZFtfMHg2YTcyZWMoJzB4OTExJyldWydnJ10sdGhpc1snZyddWydwcmVjb21wdXRlJ10oXzB4MWU4YThkW18weDZhNzJlYygnMHg5MTEnKV1bJ24nXVsnYml0TGVuZ3RoJ10oKSsweDEpLHRoaXNbXzB4NmE3MmVjKCcweDJlNCcpXT1fMHgxZThhOGRbXzB4NmE3MmVjKCcweDJlNCcpXXx8XzB4MWU4YThkW18weDZhNzJlYygnMHg5MTEnKV1bXzB4NmE3MmVjKCcweDJlNCcpXTt9dmFyIF8weDM2N2IwYz1fMHgzNzFkZDQ7XzB4MzcxZGQ0W18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweDUxZicpXT1mdW5jdGlvbihfMHgzMDEwZDcpe3JldHVybiBuZXcgXzB4NWQ0OWY5KHRoaXMsXzB4MzAxMGQ3KTt9LF8weDM3MWRkNFtfMHgzOTZiOWUoJzB4NzU2JyldWydrZXlGcm9tUHJpdmF0ZSddPWZ1bmN0aW9uKF8weDM2MGQ5MCxfMHg0MTE0ZTYpe3ZhciBfMHgyZjE0OWY9XzB4Mzk2YjllO3JldHVybiBfMHg1ZDQ5ZjlbXzB4MmYxNDlmKCcweDYzNycpXSh0aGlzLF8weDM2MGQ5MCxfMHg0MTE0ZTYpO30sXzB4MzcxZGQ0W18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweGQxNCcpXT1mdW5jdGlvbihfMHgxZjMzODIsXzB4MWVjZTg0KXt2YXIgXzB4NTRjNDc5PV8weDM5NmI5ZTtyZXR1cm4gXzB4NWQ0OWY5W18weDU0YzQ3OSgnMHg0ZmQnKV0odGhpcyxfMHgxZjMzODIsXzB4MWVjZTg0KTt9LF8weDM3MWRkNFtfMHgzOTZiOWUoJzB4NzU2JyldW18weDM5NmI5ZSgnMHg3MDcnKV09ZnVuY3Rpb24oXzB4NDdkOTQ1KXt2YXIgXzB4NTUzODAxPV8weDM5NmI5ZTtfMHg0N2Q5NDV8fChfMHg0N2Q5NDU9e30pO2Zvcih2YXIgXzB4MTlmMTRlPW5ldyBfMHgxMzA1NzcoeydoYXNoJzp0aGlzW18weDU1MzgwMSgnMHgyZTQnKV0sJ3BlcnMnOl8weDQ3ZDk0NVsncGVycyddLCdwZXJzRW5jJzpfMHg0N2Q5NDVbJ3BlcnNFbmMnXXx8XzB4NTUzODAxKCcweDg1NycpLCdlbnRyb3B5JzpfMHg0N2Q5NDVbXzB4NTUzODAxKCcweGQ1YycpXXx8XzB4MzJkMTRkKHRoaXNbXzB4NTUzODAxKCcweDJlNCcpXVsnaG1hY1N0cmVuZ3RoJ10pLCdlbnRyb3B5RW5jJzpfMHg0N2Q5NDVbJ2VudHJvcHknXSYmXzB4NDdkOTQ1W18weDU1MzgwMSgnMHg4NTknKV18fF8weDU1MzgwMSgnMHg4NTcnKSwnbm9uY2UnOnRoaXNbJ24nXVtfMHg1NTM4MDEoJzB4Mzk0JyldKCl9KSxfMHgzMjNjMGE9dGhpc1snbiddW18weDU1MzgwMSgnMHgyMWInKV0oKSxfMHg1YzIzMmQ9dGhpc1snbiddW18weDU1MzgwMSgnMHhiYmYnKV0obmV3KF8weDVjNDFhYigpKSgweDIpKTs7KXt2YXIgXzB4NWFkNGVjPW5ldyhfMHg1YzQxYWIoKSkoXzB4MTlmMTRlW18weDU1MzgwMSgnMHg1ZDMnKV0oXzB4MzIzYzBhKSk7aWYoIShfMHg1YWQ0ZWNbXzB4NTUzODAxKCcweDM3MCcpXShfMHg1YzIzMmQpPjB4MCkpcmV0dXJuIF8weDVhZDRlY1tfMHg1NTM4MDEoJzB4NzVmJyldKDB4MSksdGhpc1tfMHg1NTM4MDEoJzB4YTgzJyldKF8weDVhZDRlYyk7fX0sXzB4MzcxZGQ0W18weDM5NmI5ZSgnMHg3NTYnKV1bJ190cnVuY2F0ZVRvTiddPWZ1bmN0aW9uKF8weDFkNDkyNixfMHgyYjRjMDEpe3ZhciBfMHg1NTVmMmE9XzB4Mzk2YjllLF8weDEwN2U1YT0weDgqXzB4MWQ0OTI2WydieXRlTGVuZ3RoJ10oKS10aGlzWyduJ11bJ2JpdExlbmd0aCddKCk7cmV0dXJuIF8weDEwN2U1YT4weDAmJihfMHgxZDQ5MjY9XzB4MWQ0OTI2W18weDU1NWYyYSgnMHhjZmMnKV0oXzB4MTA3ZTVhKSksIV8weDJiNGMwMSYmXzB4MWQ0OTI2W18weDU1NWYyYSgnMHgzNzAnKV0odGhpc1snbiddKT49MHgwP18weDFkNDkyNlsnc3ViJ10odGhpc1snbiddKTpfMHgxZDQ5MjY7fSxfMHgzNzFkZDRbJ3Byb3RvdHlwZSddW18weDM5NmI5ZSgnMHhhMTInKV09ZnVuY3Rpb24oXzB4NDRjMmNiLF8weDkxYTRhNCxfMHgxZTFmZmYsXzB4MjI0MjU3KXt2YXIgXzB4Y2QyZTgzPV8weDM5NmI5ZTtfMHhjZDJlODMoJzB4MzZiJyk9PXR5cGVvZiBfMHgxZTFmZmYmJihfMHgyMjQyNTc9XzB4MWUxZmZmLF8weDFlMWZmZj1udWxsKSxfMHgyMjQyNTd8fChfMHgyMjQyNTc9e30pLF8weDkxYTRhND10aGlzW18weGNkMmU4MygnMHhhODMnKV0oXzB4OTFhNGE0LF8weDFlMWZmZiksXzB4NDRjMmNiPXRoaXNbJ190cnVuY2F0ZVRvTiddKG5ldyhfMHg1YzQxYWIoKSkoXzB4NDRjMmNiLDB4MTApKTtmb3IodmFyIF8weDNlMmU3Yj10aGlzWyduJ11bXzB4Y2QyZTgzKCcweDIxYicpXSgpLF8weDQwNmUyMD1fMHg5MWE0YTRbXzB4Y2QyZTgzKCcweDdkNCcpXSgpW18weGNkMmU4MygnMHgzOTQnKV0oJ2JlJyxfMHgzZTJlN2IpLF8weDUyMWIyMj1fMHg0NGMyY2JbXzB4Y2QyZTgzKCcweDM5NCcpXSgnYmUnLF8weDNlMmU3YiksXzB4MTFhZTU0PW5ldyBfMHgxMzA1NzcoeydoYXNoJzp0aGlzWydoYXNoJ10sJ2VudHJvcHknOl8weDQwNmUyMCwnbm9uY2UnOl8weDUyMWIyMiwncGVycyc6XzB4MjI0MjU3W18weGNkMmU4MygnMHg5MmInKV0sJ3BlcnNFbmMnOl8weDIyNDI1N1sncGVyc0VuYyddfHxfMHhjZDJlODMoJzB4ODU3Jyl9KSxfMHg3ZDczNjc9dGhpc1snbiddW18weGNkMmU4MygnMHhiYmYnKV0obmV3KF8weDVjNDFhYigpKSgweDEpKSxfMHgzZGRkZDM9MHgwOztfMHgzZGRkZDMrKyl7dmFyIF8weDUzNmJhYT1fMHgyMjQyNTdbJ2snXT9fMHgyMjQyNTdbJ2snXShfMHgzZGRkZDMpOm5ldyhfMHg1YzQxYWIoKSkoXzB4MTFhZTU0WydnZW5lcmF0ZSddKHRoaXNbJ24nXVsnYnl0ZUxlbmd0aCddKCkpKTtpZighKChfMHg1MzZiYWE9dGhpc1tfMHhjZDJlODMoJzB4MjMzJyldKF8weDUzNmJhYSwhMHgwKSlbXzB4Y2QyZTgzKCcweDY5ZCcpXSgweDEpPD0weDB8fF8weDUzNmJhYVtfMHhjZDJlODMoJzB4MzcwJyldKF8weDdkNzM2Nyk+PTB4MCkpe3ZhciBfMHgyNTE0YmE9dGhpc1snZyddW18weGNkMmU4MygnMHhjMjMnKV0oXzB4NTM2YmFhKTtpZighXzB4MjUxNGJhWydpc0luZmluaXR5J10oKSl7dmFyIF8weDYxODFkYj1fMHgyNTE0YmFbXzB4Y2QyZTgzKCcweDRlNScpXSgpLF8weDEwN2FlMj1fMHg2MTgxZGJbJ3Vtb2QnXSh0aGlzWyduJ10pO2lmKDB4MCE9PV8weDEwN2FlMltfMHhjZDJlODMoJzB4NjlkJyldKDB4MCkpe3ZhciBfMHg3NTAxMzg9XzB4NTM2YmFhW18weGNkMmU4MygnMHg0MWEnKV0odGhpc1snbiddKVsnbXVsJ10oXzB4MTA3YWUyWydtdWwnXShfMHg5MWE0YTRbJ2dldFByaXZhdGUnXSgpKVtfMHhjZDJlODMoJzB4N2M0JyldKF8weDQ0YzJjYikpO2lmKDB4MCE9PShfMHg3NTAxMzg9XzB4NzUwMTM4W18weGNkMmU4MygnMHg3MzMnKV0odGhpc1snbiddKSlbXzB4Y2QyZTgzKCcweDY5ZCcpXSgweDApKXt2YXIgXzB4YjM1NWQ0PShfMHgyNTE0YmFbXzB4Y2QyZTgzKCcweDcwZScpXSgpW18weGNkMmU4MygnMHhiNjMnKV0oKT8weDE6MHgwKXwoMHgwIT09XzB4NjE4MWRiW18weGNkMmU4MygnMHgzNzAnKV0oXzB4MTA3YWUyKT8weDI6MHgwKTtyZXR1cm4gXzB4MjI0MjU3W18weGNkMmU4MygnMHhiNDgnKV0mJl8weDc1MDEzOFtfMHhjZDJlODMoJzB4MzcwJyldKHRoaXNbJ25oJ10pPjB4MCYmKF8weDc1MDEzOD10aGlzWyduJ11bJ3N1YiddKF8weDc1MDEzOCksXzB4YjM1NWQ0Xj0weDEpLG5ldyBfMHgxZDQ0Y2QoeydyJzpfMHgxMDdhZTIsJ3MnOl8weDc1MDEzOCwncmVjb3ZlcnlQYXJhbSc6XzB4YjM1NWQ0fSk7fX19fX19LF8weDM3MWRkNFtfMHgzOTZiOWUoJzB4NzU2JyldW18weDM5NmI5ZSgnMHgxZTcnKV09ZnVuY3Rpb24oXzB4ZTdhOGY2LF8weDg2MDM4ZixfMHgzMWNhYTIsXzB4NGI0NDQ4KXt2YXIgXzB4ZTg4YzljPV8weDM5NmI5ZTtfMHhlN2E4ZjY9dGhpc1snX3RydW5jYXRlVG9OJ10obmV3KF8weDVjNDFhYigpKShfMHhlN2E4ZjYsMHgxMCkpLF8weDMxY2FhMj10aGlzWydrZXlGcm9tUHVibGljJ10oXzB4MzFjYWEyLF8weDRiNDQ0OCk7dmFyIF8weDVjMjYwZT0oXzB4ODYwMzhmPW5ldyBfMHgxZDQ0Y2QoXzB4ODYwMzhmLF8weGU4OGM5YygnMHhjNGQnKSkpWydyJ10sXzB4NzgxODdlPV8weDg2MDM4ZlsncyddO2lmKF8weDVjMjYwZVtfMHhlODhjOWMoJzB4NjlkJyldKDB4MSk8MHgwfHxfMHg1YzI2MGVbXzB4ZTg4YzljKCcweDM3MCcpXSh0aGlzWyduJ10pPj0weDApcmV0dXJuITB4MTtpZihfMHg3ODE4N2VbXzB4ZTg4YzljKCcweDY5ZCcpXSgweDEpPDB4MHx8XzB4NzgxODdlW18weGU4OGM5YygnMHgzNzAnKV0odGhpc1snbiddKT49MHgwKXJldHVybiEweDE7dmFyIF8weDc3NjRkOCxfMHgzY2E5YzE9XzB4NzgxODdlW18weGU4OGM5YygnMHg0MWEnKV0odGhpc1snbiddKSxfMHhjNjJmZTE9XzB4M2NhOWMxW18weGU4OGM5YygnMHhjMjMnKV0oXzB4ZTdhOGY2KVsndW1vZCddKHRoaXNbJ24nXSksXzB4NDJmNWZkPV8weDNjYTljMVtfMHhlODhjOWMoJzB4YzIzJyldKF8weDVjMjYwZSlbJ3Vtb2QnXSh0aGlzWyduJ10pO3JldHVybiB0aGlzW18weGU4OGM5YygnMHg5MTEnKV1bXzB4ZTg4YzljKCcweDRiOScpXT8hKF8weDc3NjRkOD10aGlzWydnJ11bXzB4ZTg4YzljKCcweGJmNCcpXShfMHhjNjJmZTEsXzB4MzFjYWEyW18weGU4OGM5YygnMHhiNzYnKV0oKSxfMHg0MmY1ZmQpKVtfMHhlODhjOWMoJzB4NDJlJyldKCkmJl8weDc3NjRkOFtfMHhlODhjOWMoJzB4M2ZlJyldKF8weDVjMjYwZSk6IShfMHg3NzY0ZDg9dGhpc1snZyddWydtdWxBZGQnXShfMHhjNjJmZTEsXzB4MzFjYWEyWydnZXRQdWJsaWMnXSgpLF8weDQyZjVmZCkpWydpc0luZmluaXR5J10oKSYmMHgwPT09XzB4Nzc2NGQ4W18weGU4OGM5YygnMHg0ZTUnKV0oKVtfMHhlODhjOWMoJzB4NzMzJyldKHRoaXNbJ24nXSlbXzB4ZTg4YzljKCcweDM3MCcpXShfMHg1YzI2MGUpO30sXzB4MzcxZGQ0W18weDM5NmI5ZSgnMHg3NTYnKV1bXzB4Mzk2YjllKCcweDYwOCcpXT1mdW5jdGlvbihfMHgyN2I5NmMsXzB4MmI0MTFiLF8weDM1NGM5MixfMHg4NDJkOWUpe3ZhciBfMHgzN2IyYjQ9XzB4Mzk2YjllO18weDE1NDZjYSgoMHgzJl8weDM1NGM5Mik9PT1fMHgzNTRjOTIsXzB4MzdiMmI0KCcweDFkNicpKSxfMHgyYjQxMWI9bmV3IF8weDFkNDRjZChfMHgyYjQxMWIsXzB4ODQyZDllKTt2YXIgXzB4YzNiZDgwPXRoaXNbJ24nXSxfMHg0Yjk4YWE9bmV3KF8weDVjNDFhYigpKShfMHgyN2I5NmMpLF8weDU2MzM4MT1fMHgyYjQxMWJbJ3InXSxfMHgzNmRlMTc9XzB4MmI0MTFiWydzJ10sXzB4MjJiMjhkPTB4MSZfMHgzNTRjOTIsXzB4NDBhNWRkPV8weDM1NGM5Mj4+MHgxO2lmKF8weDU2MzM4MVtfMHgzN2IyYjQoJzB4MzcwJyldKHRoaXNbXzB4MzdiMmI0KCcweDkxMScpXVsncCddW18weDM3YjJiNCgnMHg3MzMnKV0odGhpc1tfMHgzN2IyYjQoJzB4OTExJyldWyduJ10pKT49MHgwJiZfMHg0MGE1ZGQpdGhyb3cgbmV3IEVycm9yKF8weDM3YjJiNCgnMHhjZWEnKSk7XzB4NTYzMzgxPV8weDQwYTVkZD90aGlzWydjdXJ2ZSddW18weDM3YjJiNCgnMHhhMWQnKV0oXzB4NTYzMzgxW18weDM3YjJiNCgnMHhiYTEnKV0odGhpc1tfMHgzN2IyYjQoJzB4OTExJyldWyduJ10pLF8weDIyYjI4ZCk6dGhpc1tfMHgzN2IyYjQoJzB4OTExJyldW18weDM3YjJiNCgnMHhhMWQnKV0oXzB4NTYzMzgxLF8weDIyYjI4ZCk7dmFyIF8weDM3OWRjMz1fMHgyYjQxMWJbJ3InXVtfMHgzN2IyYjQoJzB4NDFhJyldKF8weGMzYmQ4MCksXzB4NTdiYjNmPV8weGMzYmQ4MFtfMHgzN2IyYjQoJzB4YmJmJyldKF8weDRiOThhYSlbXzB4MzdiMmI0KCcweGMyMycpXShfMHgzNzlkYzMpWyd1bW9kJ10oXzB4YzNiZDgwKSxfMHgxZmU5YjQ9XzB4MzZkZTE3W18weDM3YjJiNCgnMHhjMjMnKV0oXzB4Mzc5ZGMzKVsndW1vZCddKF8weGMzYmQ4MCk7cmV0dXJuIHRoaXNbJ2cnXVtfMHgzN2IyYjQoJzB4M2YxJyldKF8weDU3YmIzZixfMHg1NjMzODEsXzB4MWZlOWI0KTt9LF8weDM3MWRkNFsncHJvdG90eXBlJ11bXzB4Mzk2YjllKCcweGExZScpXT1mdW5jdGlvbihfMHgzMTAxMjEsXzB4NWIwY2MwLF8weDJhMmM0MixfMHg1MTI3MmIpe3ZhciBfMHgxNjEzMDY9XzB4Mzk2YjllO2lmKG51bGwhPT0oXzB4NWIwY2MwPW5ldyBfMHgxZDQ0Y2QoXzB4NWIwY2MwLF8weDUxMjcyYikpW18weDE2MTMwNignMHg4Y2UnKV0pcmV0dXJuIF8weDViMGNjMFsncmVjb3ZlcnlQYXJhbSddO2Zvcih2YXIgXzB4MzNhOWMyPTB4MDtfMHgzM2E5YzI8MHg0O18weDMzYTljMisrKXt2YXIgXzB4MzJmMmM2O3RyeXtfMHgzMmYyYzY9dGhpc1sncmVjb3ZlclB1YktleSddKF8weDMxMDEyMSxfMHg1YjBjYzAsXzB4MzNhOWMyKTt9Y2F0Y2goXzB4MmM2ZDY4KXtjb250aW51ZTt9aWYoXzB4MzJmMmM2WydlcSddKF8weDJhMmM0MikpcmV0dXJuIF8weDMzYTljMjt9dGhyb3cgbmV3IEVycm9yKF8weDE2MTMwNignMHhiZTcnKSk7fTt2YXIgXzB4MmE0ZDA0PV8weGQzZGRhZShmdW5jdGlvbihfMHg1NzljZGEsXzB4MmZkMjY3KXt2YXIgXzB4NTFiM2YzPV8weDM5NmI5ZSxfMHg0MWY4NGQ9XzB4MmZkMjY3O18weDQxZjg0ZFtfMHg1MWIzZjMoJzB4YWM5JyldPV8weDUxYjNmMygnMHgyNTMnKSxfMHg0MWY4NGRbJ3V0aWxzJ109XzB4MzBhOWE5LF8weDQxZjg0ZFtfMHg1MWIzZjMoJzB4NzYzJyldPWZ1bmN0aW9uKCl7dmFyIF8weDE0ZDJlZT1fMHg1MWIzZjM7dGhyb3cgbmV3IEVycm9yKF8weDE0ZDJlZSgnMHhjMzUnKSk7fSxfMHg0MWY4NGRbXzB4NTFiM2YzKCcweDkxMScpXT1fMHgyNWNkZmMsXzB4NDFmODRkWydjdXJ2ZXMnXT1fMHhkY2U2YmQsXzB4NDFmODRkWydlYyddPV8weDM2N2IwYyxfMHg0MWY4NGRbXzB4NTFiM2YzKCcweDQxMicpXT1udWxsO30pWydlYyddLF8weGMzNGJkPV8weDIxZWEwNSgweGNkNiksXzB4MzYxNjQ2PV8weDIxZWEwNSgweGUwMyk7Y29uc3QgXzB4MTAyNWNjPW5ldyhfMHgyMWVhMDUoMHgyYzcpKVsoXzB4Mzk2YjllKCcweGNlNycpKV0oXzB4Mzk2YjllKCcweDdlZScpKTtsZXQgXzB4M2YwZjM0PW51bGw7ZnVuY3Rpb24gXzB4NThkZjhiKCl7dmFyIF8weDJjYzk4Nj1fMHgzOTZiOWU7cmV0dXJuIF8weDNmMGYzNHx8KF8weDNmMGYzND1uZXcgXzB4MmE0ZDA0KF8weDJjYzk4NignMHg0NjEnKSkpLF8weDNmMGYzNDt9Y2xhc3MgXzB4Mjc1ZjBie2NvbnN0cnVjdG9yKF8weDNiMDYzZil7dmFyIF8weDFkYTNiYz1fMHgzOTZiOWU7KDB4MCxfMHgzNjE2NDZbXzB4MWRhM2JjKCcweGNlOScpXSkodGhpcyxfMHgxZGEzYmMoJzB4OTExJyksXzB4MWRhM2JjKCcweDQ2MScpKSwoMHgwLF8weDM2MTY0NltfMHgxZGEzYmMoJzB4Y2U5JyldKSh0aGlzLCdwcml2YXRlS2V5JywoMHgwLF8weGMzNGJkW18weDFkYTNiYygnMHgzNTYnKV0pKF8weDNiMDYzZikpLDB4MjAhPT0oMHgwLF8weGMzNGJkWydoZXhEYXRhTGVuZ3RoJ10pKHRoaXNbJ3ByaXZhdGVLZXknXSkmJl8weDEwMjVjY1tfMHgxZGEzYmMoJzB4NjM1JyldKF8weDFkYTNiYygnMHhjNzcnKSxfMHgxZGEzYmMoJzB4NmJiJyksXzB4MWRhM2JjKCcweDgxNycpKTtjb25zdCBfMHgxZGYyMTU9XzB4NThkZjhiKClbXzB4MWRhM2JjKCcweGE4MycpXSgoMHgwLF8weGMzNGJkW18weDFkYTNiYygnMHhkMDYnKV0pKHRoaXNbXzB4MWRhM2JjKCcweDZiYicpXSkpOygweDAsXzB4MzYxNjQ2W18weDFkYTNiYygnMHhjZTknKV0pKHRoaXMsXzB4MWRhM2JjKCcweDdiZScpLCcweCcrXzB4MWRmMjE1WydnZXRQdWJsaWMnXSghMHgxLF8weDFkYTNiYygnMHhjNGQnKSkpLCgweDAsXzB4MzYxNjQ2W18weDFkYTNiYygnMHhjZTknKV0pKHRoaXMsXzB4MWRhM2JjKCcweDNkMycpLCcweCcrXzB4MWRmMjE1WydnZXRQdWJsaWMnXSghMHgwLF8weDFkYTNiYygnMHhjNGQnKSkpLCgweDAsXzB4MzYxNjQ2W18weDFkYTNiYygnMHhjZTknKV0pKHRoaXMsXzB4MWRhM2JjKCcweDg5OScpLCEweDApO31bXzB4Mzk2YjllKCcweDc3ZicpXShfMHg4MDI0Yyl7dmFyIF8weDRiMGI0Mj1fMHgzOTZiOWU7Y29uc3QgXzB4NTg1M2IwPV8weDU4ZGY4YigpW18weDRiMGI0MignMHhkMTQnKV0oKDB4MCxfMHhjMzRiZFtfMHg0YjBiNDIoJzB4ZDA2JyldKSh0aGlzW18weDRiMGI0MignMHg3YmUnKV0pKSxfMHg0YmFmNWI9XzB4NThkZjhiKClbJ2tleUZyb21QdWJsaWMnXSgoMHgwLF8weGMzNGJkW18weDRiMGI0MignMHhkMDYnKV0pKF8weDgwMjRjKSk7cmV0dXJuJzB4JytfMHg1ODUzYjBbXzB4NGIwYjQyKCcweDlhMScpXVtfMHg0YjBiNDIoJzB4YmExJyldKF8weDRiYWY1YlsncHViJ10pW18weDRiMGI0MignMHg2MTknKV0oXzB4NGIwYjQyKCcweGM0ZCcpKTt9W18weDM5NmI5ZSgnMHhiYmMnKV0oXzB4MzFkMmI0KXt2YXIgXzB4NDg4ZjZjPV8weDM5NmI5ZTtjb25zdCBfMHgxNTI2Yjk9XzB4NThkZjhiKClbXzB4NDg4ZjZjKCcweGE4MycpXSgoMHgwLF8weGMzNGJkW18weDQ4OGY2YygnMHhkMDYnKV0pKHRoaXNbXzB4NDg4ZjZjKCcweDZiYicpXSkpLF8weDViMDVhZj0oMHgwLF8weGMzNGJkW18weDQ4OGY2YygnMHhkMDYnKV0pKF8weDMxZDJiNCk7MHgyMCE9PV8weDViMDVhZltfMHg0ODhmNmMoJzB4NTIwJyldJiZfMHgxMDI1Y2NbJ3Rocm93QXJndW1lbnRFcnJvciddKF8weDQ4OGY2YygnMHg4NTgnKSwnZGlnZXN0JyxfMHgzMWQyYjQpO2NvbnN0IF8weDI5M2JlMT1fMHgxNTI2YjlbXzB4NDg4ZjZjKCcweGExMicpXShfMHg1YjA1YWYseydjYW5vbmljYWwnOiEweDB9KTtyZXR1cm4oMHgwLF8weGMzNGJkWydzcGxpdFNpZ25hdHVyZSddKSh7J3JlY292ZXJ5UGFyYW0nOl8weDI5M2JlMVtfMHg0ODhmNmMoJzB4OGNlJyldLCdyJzooMHgwLF8weGMzNGJkW18weDQ4OGY2YygnMHg0MjEnKV0pKCcweCcrXzB4MjkzYmUxWydyJ11bXzB4NDg4ZjZjKCcweDU0NycpXSgweDEwKSwweDIwKSwncyc6KDB4MCxfMHhjMzRiZFtfMHg0ODhmNmMoJzB4NDIxJyldKSgnMHgnK18weDI5M2JlMVsncyddW18weDQ4OGY2YygnMHg1NDcnKV0oMHgxMCksMHgyMCl9KTt9W18weDM5NmI5ZSgnMHhiNjYnKV0oXzB4NGZkNWZlKXt2YXIgXzB4Mzk4OWIxPV8weDM5NmI5ZTtjb25zdCBfMHhiMjE5MTE9XzB4NThkZjhiKClbXzB4Mzk4OWIxKCcweGE4MycpXSgoMHgwLF8weGMzNGJkWydhcnJheWlmeSddKSh0aGlzW18weDM5ODliMSgnMHg2YmInKV0pKSxfMHgyNTViYjk9XzB4NThkZjhiKClbJ2tleUZyb21QdWJsaWMnXSgoMHgwLF8weGMzNGJkW18weDM5ODliMSgnMHhkMDYnKV0pKF8weDI4YTdiZihfMHg0ZmQ1ZmUpKSk7cmV0dXJuKDB4MCxfMHhjMzRiZFsnaGV4WmVyb1BhZCddKSgnMHgnK18weGIyMTkxMVsnZGVyaXZlJ10oXzB4MjU1YmI5W18weDM5ODliMSgnMHhiNzYnKV0oKSlbXzB4Mzk4OWIxKCcweDU0NycpXSgweDEwKSwweDIwKTt9c3RhdGljW18weDM5NmI5ZSgnMHg1OTgnKV0oXzB4MWU3Mjkpe3ZhciBfMHgxNjE5MTc9XzB4Mzk2YjllO3JldHVybiEoIV8weDFlNzI5fHwhXzB4MWU3MjlbXzB4MTYxOTE3KCcweDg5OScpXSk7fX1mdW5jdGlvbiBfMHgzNWNhYjAoXzB4MmIwMTAwLF8weDNhNjljMCl7dmFyIF8weDFiMTYzNj1fMHgzOTZiOWU7Y29uc3QgXzB4NGVhMzQ2PSgweDAsXzB4YzM0YmRbXzB4MWIxNjM2KCcweDliYycpXSkoXzB4M2E2OWMwKSxfMHgzYTk1MTQ9eydyJzooMHgwLF8weGMzNGJkWydhcnJheWlmeSddKShfMHg0ZWEzNDZbJ3InXSksJ3MnOigweDAsXzB4YzM0YmRbJ2FycmF5aWZ5J10pKF8weDRlYTM0NlsncyddKX07cmV0dXJuJzB4JytfMHg1OGRmOGIoKVtfMHgxYjE2MzYoJzB4NjA4JyldKCgweDAsXzB4YzM0YmRbXzB4MWIxNjM2KCcweGQwNicpXSkoXzB4MmIwMTAwKSxfMHgzYTk1MTQsXzB4NGVhMzQ2WydyZWNvdmVyeVBhcmFtJ10pWydlbmNvZGUnXShfMHgxYjE2MzYoJzB4YzRkJyksITB4MSk7fWZ1bmN0aW9uIF8weDI4YTdiZihfMHg1ZGRiMGQsXzB4NmJhMDIxKXt2YXIgXzB4NWQ3ZDBhPV8weDM5NmI5ZTtjb25zdCBfMHgxNWE2OTU9KDB4MCxfMHhjMzRiZFtfMHg1ZDdkMGEoJzB4ZDA2JyldKShfMHg1ZGRiMGQpO2lmKDB4MjA9PT1fMHgxNWE2OTVbXzB4NWQ3ZDBhKCcweDUyMCcpXSl7Y29uc3QgXzB4M2UwMDc4PW5ldyBfMHgyNzVmMGIoXzB4MTVhNjk1KTtyZXR1cm4gXzB4NmJhMDIxPycweCcrXzB4NThkZjhiKClbXzB4NWQ3ZDBhKCcweGE4MycpXShfMHgxNWE2OTUpW18weDVkN2QwYSgnMHhiNzYnKV0oITB4MCwnaGV4Jyk6XzB4M2UwMDc4WydwdWJsaWNLZXknXTt9cmV0dXJuIDB4MjE9PT1fMHgxNWE2OTVbXzB4NWQ3ZDBhKCcweDUyMCcpXT9fMHg2YmEwMjE/KDB4MCxfMHhjMzRiZFtfMHg1ZDdkMGEoJzB4MzU2JyldKShfMHgxNWE2OTUpOicweCcrXzB4NThkZjhiKClbXzB4NWQ3ZDBhKCcweGQxNCcpXShfMHgxNWE2OTUpW18weDVkN2QwYSgnMHhiNzYnKV0oITB4MSxfMHg1ZDdkMGEoJzB4YzRkJykpOjB4NDE9PT1fMHgxNWE2OTVbXzB4NWQ3ZDBhKCcweDUyMCcpXT9fMHg2YmEwMjE/JzB4JytfMHg1OGRmOGIoKVtfMHg1ZDdkMGEoJzB4ZDE0JyldKF8weDE1YTY5NSlbXzB4NWQ3ZDBhKCcweGI3NicpXSghMHgwLF8weDVkN2QwYSgnMHhjNGQnKSk6KDB4MCxfMHhjMzRiZFtfMHg1ZDdkMGEoJzB4MzU2JyldKShfMHgxNWE2OTUpOl8weDEwMjVjY1sndGhyb3dBcmd1bWVudEVycm9yJ10oJ2ludmFsaWRceDIwcHVibGljXHgyMG9yXHgyMHByaXZhdGVceDIwa2V5JyxfMHg1ZDdkMGEoJzB4NjdlJyksJ1tSRURBQ1RFRF0nKTt9fSwweGVjMTooXzB4NDNjNzY0LF8weDRjOTRmMCxfMHgyOGNiNTcpPT57J3VzZSBzdHJpY3QnO3ZhciBfMHgzOTJjZDg9XzB4MTVhMztfMHgyOGNiNTdbJ3InXShfMHg0Yzk0ZjApLF8weDI4Y2I1N1snZCddKF8weDRjOTRmMCx7J2tlY2NhazI1Nic6KCk9Pl8weDNmOWNmMiwncGFjayc6KCk9Pl8weDMwZDMxYiwnc2hhMjU2JzooKT0+XzB4NGExMmQxfSk7dmFyIF8weGE1ODRmZD1fMHgyOGNiNTcoMHhhMjEpLF8weDE1MjYxZD1fMHgyOGNiNTcoMHhjZDYpLF8weDNhYTg5YT1fMHgyOGNiNTcoMHgyMDA1KSxfMHgxNGJmYTU9XzB4MjhjYjU3KDB4ZjZmKSxfMHgyZTE5MmQ9XzB4MjhjYjU3KDB4MTA5MiksXzB4MmRmN2FjPV8weDI4Y2I1NygweDJjNyk7Y29uc3QgXzB4NDYzZjU2PW5ldyBSZWdFeHAoXzB4MzkyY2Q4KCcweDc3ZScpKSxfMHgyYzRiNGE9bmV3IFJlZ0V4cChfMHgzOTJjZDgoJzB4NWVjJykpLF8weDFhMjRkZD1uZXcgUmVnRXhwKF8weDM5MmNkOCgnMHhjZDUnKSksXzB4NWQwZWNkPV8weDM5MmNkOCgnMHg0MGEnKSxfMHgzNTc5NjI9bmV3IF8weDJkZjdhY1soXzB4MzkyY2Q4KCcweGNlNycpKV0oXzB4MzkyY2Q4KCcweDM4NScpKTtmdW5jdGlvbiBfMHgyODdjZTEoXzB4NTYxMGNkLF8weDUwNzIxYixfMHgyOWFiOWUpe3ZhciBfMHgzZThlMDI9XzB4MzkyY2Q4O3N3aXRjaChfMHg1NjEwY2Qpe2Nhc2UgXzB4M2U4ZTAyKCcweDFkMScpOnJldHVybiBfMHgyOWFiOWU/KDB4MCxfMHgxNTI2MWRbXzB4M2U4ZTAyKCcweDk4YycpXSkoXzB4NTA3MjFiLDB4MjApOigweDAsXzB4MTUyNjFkW18weDNlOGUwMignMHhkMDYnKV0pKF8weDUwNzIxYik7Y2FzZSBfMHgzZThlMDIoJzB4NjVmJyk6cmV0dXJuKDB4MCxfMHgyZTE5MmRbJ1kwJ10pKF8weDUwNzIxYik7Y2FzZSBfMHgzZThlMDIoJzB4NTJhJyk6cmV0dXJuKDB4MCxfMHgxNTI2MWRbXzB4M2U4ZTAyKCcweGQwNicpXSkoXzB4NTA3MjFiKTtjYXNlIF8weDNlOGUwMignMHhkMDUnKTpyZXR1cm4gXzB4NTA3MjFiPV8weDUwNzIxYj9fMHgzZThlMDIoJzB4NjI4Jyk6JzB4MDAnLF8weDI5YWI5ZT8oMHgwLF8weDE1MjYxZFtfMHgzZThlMDIoJzB4OThjJyldKShfMHg1MDcyMWIsMHgyMCk6KDB4MCxfMHgxNTI2MWRbXzB4M2U4ZTAyKCcweGQwNicpXSkoXzB4NTA3MjFiKTt9bGV0IF8weDFlYzY4ZD1fMHg1NjEwY2RbXzB4M2U4ZTAyKCcweDQyNScpXShfMHgyYzRiNGEpO2lmKF8weDFlYzY4ZCl7bGV0IF8weDU4MTk0Zj1wYXJzZUludChfMHgxZWM2OGRbMHgyXXx8XzB4M2U4ZTAyKCcweGI1MScpKTtyZXR1cm4oXzB4MWVjNjhkWzB4Ml0mJlN0cmluZyhfMHg1ODE5NGYpIT09XzB4MWVjNjhkWzB4Ml18fF8weDU4MTk0ZiUweDghPTB4MHx8MHgwPT09XzB4NTgxOTRmfHxfMHg1ODE5NGY+MHgxMDApJiZfMHgzNTc5NjJbXzB4M2U4ZTAyKCcweDYzNScpXShfMHgzZThlMDIoJzB4MjBjJyksJ3R5cGUnLF8weDU2MTBjZCksXzB4MjlhYjllJiYoXzB4NTgxOTRmPTB4MTAwKSxfMHg1MDcyMWI9XzB4YTU4NGZkWydPJCddWydmcm9tJ10oXzB4NTA3MjFiKVtfMHgzZThlMDIoJzB4OTAxJyldKF8weDU4MTk0ZiksKDB4MCxfMHgxNTI2MWRbXzB4M2U4ZTAyKCcweDk4YycpXSkoXzB4NTA3MjFiLF8weDU4MTk0Zi8weDgpO31pZihfMHgxZWM2OGQ9XzB4NTYxMGNkW18weDNlOGUwMignMHg0MjUnKV0oXzB4NDYzZjU2KSxfMHgxZWM2OGQpe2NvbnN0IF8weDIzMzc0MT1wYXJzZUludChfMHgxZWM2OGRbMHgxXSk7cmV0dXJuKFN0cmluZyhfMHgyMzM3NDEpIT09XzB4MWVjNjhkWzB4MV18fDB4MD09PV8weDIzMzc0MXx8XzB4MjMzNzQxPjB4MjApJiZfMHgzNTc5NjJbXzB4M2U4ZTAyKCcweDYzNScpXShfMHgzZThlMDIoJzB4M2QxJyksXzB4M2U4ZTAyKCcweDU3YycpLF8weDU2MTBjZCksKDB4MCxfMHgxNTI2MWRbXzB4M2U4ZTAyKCcweGQwNicpXSkoXzB4NTA3MjFiKVtfMHgzZThlMDIoJzB4MjFiJyldIT09XzB4MjMzNzQxJiZfMHgzNTc5NjJbXzB4M2U4ZTAyKCcweDYzNScpXShfMHgzZThlMDIoJzB4MzAzJykrXzB4NTYxMGNkLF8weDNlOGUwMignMHg4OWQnKSxfMHg1MDcyMWIpLF8weDI5YWI5ZT8oMHgwLF8weDE1MjYxZFtfMHgzZThlMDIoJzB4ZDA2JyldKSgoXzB4NTA3MjFiK18weDVkMGVjZClbJ3N1YnN0cmluZyddKDB4MCwweDQyKSk6XzB4NTA3MjFiO31pZihfMHgxZWM2OGQ9XzB4NTYxMGNkWydtYXRjaCddKF8weDFhMjRkZCksXzB4MWVjNjhkJiZBcnJheVtfMHgzZThlMDIoJzB4OGYxJyldKF8weDUwNzIxYikpe2NvbnN0IF8weDIxYjkyMj1fMHgxZWM2OGRbMHgxXTtwYXJzZUludChfMHgxZWM2OGRbMHgyXXx8U3RyaW5nKF8weDUwNzIxYltfMHgzZThlMDIoJzB4NTIwJyldKSkhPV8weDUwNzIxYltfMHgzZThlMDIoJzB4NTIwJyldJiZfMHgzNTc5NjJbXzB4M2U4ZTAyKCcweDYzNScpXShfMHgzZThlMDIoJzB4NDMwJykrXzB4NTYxMGNkLF8weDNlOGUwMignMHg4OWQnKSxfMHg1MDcyMWIpO2NvbnN0IF8weDEwZjA4ZT1bXTtyZXR1cm4gXzB4NTA3MjFiW18weDNlOGUwMignMHg1MWUnKV0oZnVuY3Rpb24oXzB4MmUwYWE0KXt2YXIgXzB4NWE4MzY4PV8weDNlOGUwMjtfMHgxMGYwOGVbXzB4NWE4MzY4KCcweDhiNycpXShfMHgyODdjZTEoXzB4MjFiOTIyLF8weDJlMGFhNCwhMHgwKSk7fSksKDB4MCxfMHgxNTI2MWRbXzB4M2U4ZTAyKCcweDUzMCcpXSkoXzB4MTBmMDhlKTt9cmV0dXJuIF8weDM1Nzk2MltfMHgzZThlMDIoJzB4NjM1JyldKF8weDNlOGUwMignMHhjNDYnKSxfMHgzZThlMDIoJzB4NTdjJyksXzB4NTYxMGNkKTt9ZnVuY3Rpb24gXzB4MzBkMzFiKF8weDM1MTBjOCxfMHg1NTE5MWIpe3ZhciBfMHgzNWE5NDg9XzB4MzkyY2Q4O18weDM1MTBjOFtfMHgzNWE5NDgoJzB4NTIwJyldIT1fMHg1NTE5MWJbXzB4MzVhOTQ4KCcweDUyMCcpXSYmXzB4MzU3OTYyWyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHgzNWE5NDgoJzB4ZDA0JyksXzB4MzVhOTQ4KCcweDcwNCcpLF8weDU1MTkxYik7Y29uc3QgXzB4NTMwYWFiPVtdO3JldHVybiBfMHgzNTEwYzhbJ2ZvckVhY2gnXShmdW5jdGlvbihfMHgzMDg2NGQsXzB4NTI0NzMyKXt2YXIgXzB4OTMyOGI9XzB4MzVhOTQ4O18weDUzMGFhYltfMHg5MzI4YignMHg4YjcnKV0oXzB4Mjg3Y2UxKF8weDMwODY0ZCxfMHg1NTE5MWJbXzB4NTI0NzMyXSkpO30pLCgweDAsXzB4MTUyNjFkW18weDM1YTk0OCgnMHgzNTYnKV0pKCgweDAsXzB4MTUyNjFkW18weDM1YTk0OCgnMHg1MzAnKV0pKF8weDUzMGFhYikpO31mdW5jdGlvbiBfMHgzZjljZjIoXzB4MWJhOTU3LF8weDQ3YzRmNil7dmFyIF8weDUxOGIxMD1fMHgzOTJjZDg7cmV0dXJuKDB4MCxfMHgzYWE4OWFbXzB4NTE4YjEwKCcweDU2MicpXSkoXzB4MzBkMzFiKF8weDFiYTk1NyxfMHg0N2M0ZjYpKTt9ZnVuY3Rpb24gXzB4NGExMmQxKF8weDFkOGYwMixfMHg1NzcwYzgpe3JldHVybigweDAsXzB4MTRiZmE1WydKUSddKShfMHgzMGQzMWIoXzB4MWQ4ZjAyLF8weDU3NzBjOCkpO319LDB4MTg1ZDooXzB4MTMwODNiLF8weDUyZWU1NCxfMHgxNjdmMzIpPT57J3VzZSBzdHJpY3QnO18weDE2N2YzMlsnZCddKF8weDUyZWU1NCx7J0YnOigpPT5fMHg0ZWQ4MWIsJ3MnOigpPT5fMHg1NzIyN2V9KTt2YXIgXzB4NDRjYmY1PV8weDE2N2YzMigweDFjMzIpLF8weDU1ZjczMj1fMHgxNjdmMzIoMHhjZDYpLF8weDRkZGYyOD1fMHgxNjdmMzIoMHgxMDkyKTtmdW5jdGlvbiBfMHg1NzIyN2UoXzB4NTk2N2I4KXt2YXIgXzB4OTVkMTk1PV8weDE1YTM7Y29uc3QgXzB4MjA5MDBiPSgweDAsXzB4NGRkZjI4WydZMCddKShfMHg1OTY3YjgpO2lmKF8weDIwOTAwYltfMHg5NWQxOTUoJzB4NTIwJyldPjB4MWYpdGhyb3cgbmV3IEVycm9yKF8weDk1ZDE5NSgnMHgzYjknKSk7cmV0dXJuKDB4MCxfMHg1NWY3MzJbXzB4OTVkMTk1KCcweDM1NicpXSkoKDB4MCxfMHg1NWY3MzJbXzB4OTVkMTk1KCcweDUzMCcpXSkoW18weDIwOTAwYixfMHg0NGNiZjVbJ1InXV0pWydzbGljZSddKDB4MCwweDIwKSk7fWZ1bmN0aW9uIF8weDRlZDgxYihfMHg0YWU4ODMpe3ZhciBfMHgxZjBkYWQ9XzB4MTVhMztjb25zdCBfMHg0Yzg4NWY9KDB4MCxfMHg1NWY3MzJbXzB4MWYwZGFkKCcweGQwNicpXSkoXzB4NGFlODgzKTtpZigweDIwIT09XzB4NGM4ODVmW18weDFmMGRhZCgnMHg1MjAnKV0pdGhyb3cgbmV3IEVycm9yKF8weDFmMGRhZCgnMHgzMGInKSk7aWYoMHgwIT09XzB4NGM4ODVmWzB4MWZdKXRocm93IG5ldyBFcnJvcignaW52YWxpZFx4MjBieXRlczMyXHgyMHN0cmluZ1x4MjAtXHgyMG5vXHgyMG51bGxceDIwdGVybWluYXRvcicpO2xldCBfMHgyOWE3Yjc9MHgxZjtmb3IoOzB4MD09PV8weDRjODg1ZltfMHgyOWE3YjctMHgxXTspXzB4MjlhN2I3LS07cmV0dXJuKDB4MCxfMHg0ZGRmMjhbJ1pOJ10pKF8weDRjODg1ZltfMHgxZjBkYWQoJzB4YWRhJyldKDB4MCxfMHgyOWE3YjcpKTt9fSwweDE2MDU6KF8weDM0MTMxYixfMHg1MTVjYzAsXzB4MzY2MjMxKT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4M2E5NGYzPV8weDE1YTM7XzB4MzY2MjMxWydkJ10oXzB4NTE1Y2MwLHsnTGwnOigpPT5fMHg0MDM4Y2J9KTt2YXIgXzB4MTY5MGZlPV8weDM2NjIzMSgweDEwOTIpO2Z1bmN0aW9uIF8weDNiNDA5MChfMHgxMTYzYjksXzB4Mjk4ZDI4KXt2YXIgXzB4OWFjZjRlPV8weDE1YTM7XzB4Mjk4ZDI4fHwoXzB4Mjk4ZDI4PWZ1bmN0aW9uKF8weDI1ZWUzMSl7cmV0dXJuW3BhcnNlSW50KF8weDI1ZWUzMSwweDEwKV07fSk7bGV0IF8weDU0NTEwYj0weDAsXzB4Mjk3YjU0PXt9O3JldHVybiBfMHgxMTYzYjlbXzB4OWFjZjRlKCcweDk5NCcpXSgnLCcpWydmb3JFYWNoJ10oXzB4MWZjNTRjPT57bGV0IF8weDQ3ZDhlOD1fMHgxZmM1NGNbJ3NwbGl0J10oJzonKTtfMHg1NDUxMGIrPXBhcnNlSW50KF8weDQ3ZDhlOFsweDBdLDB4MTApLF8weDI5N2I1NFtfMHg1NDUxMGJdPV8weDI5OGQyOChfMHg0N2Q4ZThbMHgxXSk7fSksXzB4Mjk3YjU0O31mdW5jdGlvbiBfMHgzYmZhMDIoXzB4MTI4MWIyKXt2YXIgXzB4MzM3YTMyPV8weDE1YTM7bGV0IF8weDI3NDMzOD0weDA7cmV0dXJuIF8weDEyODFiMltfMHgzMzdhMzIoJzB4OTk0JyldKCcsJylbXzB4MzM3YTMyKCcweDNjOScpXShfMHgyMmIzOWQ9Pnt2YXIgXzB4NDg3ZmE3PV8weDMzN2EzMjtsZXQgXzB4NTRhNWY3PV8weDIyYjM5ZFtfMHg0ODdmYTcoJzB4OTk0JyldKCctJyk7MHgxPT09XzB4NTRhNWY3W18weDQ4N2ZhNygnMHg1MjAnKV0/XzB4NTRhNWY3WzB4MV09JzAnOicnPT09XzB4NTRhNWY3WzB4MV0mJihfMHg1NGE1ZjdbMHgxXT0nMScpO2xldCBfMHgzZjA1MGI9XzB4Mjc0MzM4K3BhcnNlSW50KF8weDU0YTVmN1sweDBdLDB4MTApO3JldHVybiBfMHgyNzQzMzg9cGFyc2VJbnQoXzB4NTRhNWY3WzB4MV0sMHgxMCkseydsJzpfMHgzZjA1MGIsJ2gnOl8weDI3NDMzOH07fSk7fWZ1bmN0aW9uIF8weDU0NDAwZihfMHg0Y2MxMjAsXzB4NDk3ODRlKXtsZXQgXzB4YTMwZTNiPTB4MDtmb3IobGV0IF8weDQxMmY1Yj0weDA7XzB4NDEyZjViPF8weDQ5Nzg0ZVsnbGVuZ3RoJ107XzB4NDEyZjViKyspe2xldCBfMHg0MzliMmY9XzB4NDk3ODRlW18weDQxMmY1Yl07aWYoXzB4YTMwZTNiKz1fMHg0MzliMmZbJ2wnXSxfMHg0Y2MxMjA+PV8weGEzMGUzYiYmXzB4NGNjMTIwPD1fMHhhMzBlM2IrXzB4NDM5YjJmWydoJ10mJihfMHg0Y2MxMjAtXzB4YTMwZTNiKSUoXzB4NDM5YjJmWydkJ118fDB4MSk9PTB4MCl7aWYoXzB4NDM5YjJmWydlJ10mJi0weDEhPT1fMHg0MzliMmZbJ2UnXVsnaW5kZXhPZiddKF8weDRjYzEyMC1fMHhhMzBlM2IpKWNvbnRpbnVlO3JldHVybiBfMHg0MzliMmY7fX1yZXR1cm4gbnVsbDt9Y29uc3QgXzB4NWJjM2VmPV8weDNiZmEwMignMjIxLDEzLTFiLDVmLSw0MC0xMCw1MS1mLDExLTMsMy0zLDItMiwyLTQsOCwyLDE1LDJkLDI4LTgsODgsNDgsMjctLDMtNSwxMS0yMCwyNy0sOCwyOCwzLTUsMTIsMTgsYi1hLDFjLTQsNi0xNiwyLWQsMi0yLDIsMWItNCwxNy05LDhmLSwxMCxmLDFmLTIsMWMtMzQsMzMtMTRlLDQsMzYtLDEzLSw2LTIsMWEtZiw0LDktLDMtLDE3LDgsMi0yLDUtLDIsOC0sMy0sNC04LDItMywzLDYtLDE2LTYsMi0sNy0zLDMtLDE3LDgsMywzLDMtLDIsNi0zLDMtLDQtYSw1LDItNiwxMC1iLDQsOCwyLDQsMTcsOCwzLDYtLGIsNCw0LSwyLWUsMi00LGItMTAsNCw5LSwzLSwxNyw4LDMtLDUtLDktMiwzLSw0LTcsMy0zLDMsNC0zLGMtMTAsMyw3LTIsNCw1LTIsMywyLDMtMiwzLTIsNC0yLDksNC0zLDYtMiw0LDUtOCwyLWUsZC1kLDQsOSw0LDE4LGIsNi0zLDgsNCw1LTYsMy04LDMtMyxiLTExLDMsOSw0LDE4LGIsNi0zLDgsNCw1LTYsMy02LDIsMy0zLGItMTEsMyw5LDQsMTgsMTEtMyw3LSw0LDUtOCwyLTcsMy0zLGItMTEsMywxMy0yLDE5LGEsMi0sOC0yLDItMyw3LDIsOS0xMSw0LWIsM2ItMywxZS0yNCwzLDItLDMsMi0sMi01LDUsOCw0LDIsMi0sMyxlLDQtLDYsMiw3LSxiLSwzLTIxLDQ5LDIzLTUsMWMtMyw5LDI1LDEwLSwyLTJmLDIzLDYsMyw4LTIsNS01LDFiLTQ1LDI3LTksMmEtLDItMyw1Yi00LDQ1LTQsNTMtNSw4LDQwLDIsNS0sOCwyLDUtLDI4LDIsNS0sMjAsMiw1LSw4LDIsNS0sOCw4LDE4LDIwLDIsNS0sOCwyOCwxNC01LDFkLTIyLDU2LWIsMjc3LTgsMWUtMiw1Mi1lLGUsOC1hLDE4LTgsMTUtYixlLDQsMy1iLDVlLTIsYi0xNSwxMCxiLTUsNTktNywyYi01NTUsOWQtMyw1Yi01LDE3LSw3LSwyNy0sNy0sOSwyLDIsMiwyMC0sMzYsMTAsZi0sNywxNC0sNCxhLDU0LTMsMi02LDYtNSw5LSwxYy0xMCwxMy0xZCwxYy0xNCwzYy0sMTAtNiwzMi1iLDI0MC0zMCwyOC0xOCxjLTE0LGEwLDExNS0sMyw2Ni0sYi03Niw1LDUtLDFkLDI0LDIsNS0yLDIsOC0sMzUtMiwxOSxmLTEwLDFkLTMsMzExLTM3ZiwxYiw1YS1iLGQ3LTE5LGQtMyw0MSw1Ny0sNjgtNCwyOS0zLDVmLDI5LTM3LDJlLTIsMjUtYywyYy0yLDRlLTMsMzAsNzgtMyw2NC0sMjAsMTliNy00OSw1MWE3LTU5LDQ4ZS0yLDM4LTczOCwyYmE1LTViLDIyMmYtLDNjLTk0LDgtYiw2LTQsMWIsNiwyLDMsMyw2ZC0yMCwxNmUtZiw0MS0sMzctNywyZS0yLDExLWYsNS1iLDE4LSxiLDE0LDUtMyw2LDg4LSwyLGJmLTIsNy0sNy0sNy0sNC0yLDgsOC05LDgtMmZmLDIwLDUtYiwxYy1iNCwyNy0sMjctY2JiMSxmNy05LDI4LTIsYjUtMjIxLDU2LDQ4LDMtLDItLDMtLDUsZCwyLDUsMyw0Miw1LSw5LDgsMWQsNSw2LDItMiw4LDE1My0zLDEyMy0zLDMzLTI3ZmQsYTZkYS01MTI4LDIxZi01ZGYsMy1mZmZkLDMtZmZmZCwzLWZmZmQsMy1mZmZkLDMtZmZmZCwzLWZmZmQsMy1mZmZkLDMtZmZmZCwzLWZmZmQsMy1mZmZkLDMtZmZmZCwzLDItMWQsNjEtZmY3ZCcpLF8weDM4YmFkYz1fMHgzYTk0ZjMoJzB4M2I4JylbXzB4M2E5NGYzKCcweDk5NCcpXSgnLCcpW18weDNhOTRmMygnMHgzYzknKV0oXzB4MjAxOGNkPT5wYXJzZUludChfMHgyMDE4Y2QsMHgxMCkpLF8weDJjM2UzNj1beydoJzoweDE5LCdzJzoweDIwLCdsJzoweDQxfSx7J2gnOjB4MWUsJ3MnOjB4MjAsJ2UnOlsweDE3XSwnbCc6MHg3Zn0seydoJzoweDM2LCdzJzoweDEsJ2UnOlsweDMwXSwnbCc6MHg0MCwnZCc6MHgyfSx7J2gnOjB4ZSwncyc6MHgxLCdsJzoweDM5LCdkJzoweDJ9LHsnaCc6MHgyYywncyc6MHgxLCdsJzoweDExLCdkJzoweDJ9LHsnaCc6MHhhLCdzJzoweDEsJ2UnOlsweDIsMHg2LDB4OF0sJ2wnOjB4M2QsJ2QnOjB4Mn0seydoJzoweDEwLCdzJzoweDEsJ2wnOjB4NDQsJ2QnOjB4Mn0seydoJzoweDU0LCdzJzoweDEsJ2UnOlsweDEyLDB4MTgsMHg0Ml0sJ2wnOjB4MTMsJ2QnOjB4Mn0seydoJzoweDFhLCdzJzoweDIwLCdlJzpbMHgxMV0sJ2wnOjB4MWIzfSx7J2gnOjB4MTYsJ3MnOjB4MSwnbCc6MHg0NywnZCc6MHgyfSx7J2gnOjB4Ziwncyc6MHg1MCwnbCc6MHgyOH0seydoJzoweDFmLCdzJzoweDIwLCdsJzoweDEwfSx7J2gnOjB4MjAsJ3MnOjB4MSwnbCc6MHg1MCwnZCc6MHgyfSx7J2gnOjB4MzQsJ3MnOjB4MSwnbCc6MHgyYSwnZCc6MHgyfSx7J2gnOjB4Yywncyc6MHgxLCdsJzoweDM3LCdkJzoweDJ9LHsnaCc6MHgyOCwncyc6MHgxLCdlJzpbMHgyNl0sJ2wnOjB4ZiwnZCc6MHgyfSx7J2gnOjB4ZSwncyc6MHgxLCdsJzoweDMwLCdkJzoweDJ9LHsnaCc6MHgyNSwncyc6MHgzMCwnbCc6MHgzMX0seydoJzoweDk0LCdzJzoweDEsJ2wnOjB4MThjZiwnZCc6MHgyfSx7J2gnOjB4NTgsJ3MnOjB4MSwnbCc6MHhhMCwnZCc6MHgyfSx7J2gnOjB4Ziwncyc6MHgxMCwnbCc6MHgyYzB9LHsnaCc6MHgxOSwncyc6MHgxYSwnbCc6MHgzNTZ9LHsnaCc6MHgxOSwncyc6MHgyMCwnbCc6MHhkYTZifSx7J2gnOjB4MjUsJ3MnOjB4MjgsJ2wnOjB4NGRmfSx7J2gnOjB4MTksJ3MnOi0weDFkMzlmLCdsJzoweGQwMDB9LHsnaCc6MHgxOSwncyc6LTB4MWQzZDMsJ2wnOjB4MzR9LHsnaCc6MHgxOSwncyc6LTB4MWQ0MDcsJ2wnOjB4MzR9LHsnaCc6MHgxOSwncyc6LTB4MWQ0M2IsJ2UnOlsweDEsMHg0LDB4NSwweDcsMHg4LDB4YiwweGMsMHgxMV0sJ2wnOjB4MzR9LHsnaCc6MHgxOSwncyc6LTB4MWQ0NmYsJ2wnOjB4MzR9LHsnaCc6MHgxOCwncyc6LTB4MWQ0YTMsJ2UnOlsweDIsMHg3LDB4OCwweDExXSwnbCc6MHgzNH0seydoJzoweDE4LCdzJzotMHgxZDRkNywnZSc6WzB4MiwweDcsMHhkLDB4ZiwweDEwLDB4MTFdLCdsJzoweDM0fSx7J2gnOjB4MTksJ3MnOi0weDFkNTBiLCdsJzoweDM0fSx7J2gnOjB4MTksJ3MnOi0weDFkNTNmLCdsJzoweDM0fSx7J2gnOjB4MTksJ3MnOi0weDFkNTczLCdsJzoweDM0fSx7J2gnOjB4MTksJ3MnOi0weDFkNWE3LCdsJzoweDM0fSx7J2gnOjB4MTksJ3MnOi0weDFkNWRiLCdsJzoweDM0fSx7J2gnOjB4MTksJ3MnOi0weDFkNjBmLCdsJzoweDM0fSx7J2gnOjB4MTgsJ3MnOi0weDFkMmY3LCdlJzpbMHgxMV0sJ2wnOjB4Mzh9LHsnaCc6MHgxOCwncyc6LTB4MWQzMzEsJ2UnOlsweDExXSwnbCc6MHgzYX0seydoJzoweDE4LCdzJzotMHgxZDM2YiwnZSc6WzB4MTFdLCdsJzoweDNhfSx7J2gnOjB4MTgsJ3MnOi0weDFkM2E1LCdlJzpbMHgxMV0sJ2wnOjB4M2F9LHsnaCc6MHgxOCwncyc6LTB4MWQzZGYsJ2UnOlsweDExXSwnbCc6MHgzYX1dLF8weDVkMjk0ZT1fMHgzYjQwOTAoXzB4M2E5NGYzKCcweGQ1MScpKSxfMHg1NWY4Nzg9XzB4M2I0MDkwKF8weDNhOTRmMygnMHg3OWMnKSksXzB4NTc4MDI0PV8weDNiNDA5MChfMHgzYTk0ZjMoJzB4YWE5JyksZnVuY3Rpb24oXzB4NTM5ZjIzKXt2YXIgXzB4NDRhOGZmPV8weDNhOTRmMztpZihfMHg1MzlmMjNbXzB4NDRhOGZmKCcweDUyMCcpXSUweDQhPTB4MCl0aHJvdyBuZXcgRXJyb3IoXzB4NDRhOGZmKCcweGJkNicpKTtsZXQgXzB4M2FjZjY4PVtdO2ZvcihsZXQgXzB4Mzc5M2Y4PTB4MDtfMHgzNzkzZjg8XzB4NTM5ZjIzW18weDQ0YThmZignMHg1MjAnKV07XzB4Mzc5M2Y4Kz0weDQpXzB4M2FjZjY4W18weDQ0YThmZignMHg4YjcnKV0ocGFyc2VJbnQoXzB4NTM5ZjIzW18weDQ0YThmZignMHg3M2QnKV0oXzB4Mzc5M2Y4LF8weDM3OTNmOCsweDQpLDB4MTApKTtyZXR1cm4gXzB4M2FjZjY4O30pLF8weDEzNjk5NT1fMHgzYmZhMDIoXzB4M2E5NGYzKCcweGIwMicpKTtmdW5jdGlvbiBfMHg0MDM4Y2IoXzB4NmJiMTdlKXt2YXIgXzB4ZjJjZmY5PV8weDNhOTRmMztpZihfMHg2YmIxN2VbJ21hdGNoJ10oL15bYS16MC05LV0qJC9pKSYmXzB4NmJiMTdlWydsZW5ndGgnXTw9MHgzYilyZXR1cm4gXzB4NmJiMTdlW18weGYyY2ZmOSgnMHg4NzAnKV0oKTtsZXQgXzB4M2VjYmFiPSgweDAsXzB4MTY5MGZlWydYTCddKShfMHg2YmIxN2UpO3ZhciBfMHhkMGE2NjU7XzB4ZDBhNjY1PV8weDNlY2JhYltfMHhmMmNmZjkoJzB4M2M5JyldKF8weDMxYTQyOD0+e2lmKF8weDM4YmFkY1snaW5kZXhPZiddKF8weDMxYTQyOCk+PTB4MClyZXR1cm5bXTtpZihfMHgzMWE0Mjg+PTB4ZmUwMCYmXzB4MzFhNDI4PD0weGZlMGYpcmV0dXJuW107bGV0IF8weDExNjdjOT1mdW5jdGlvbihfMHg1MTU4ZWIpe2xldCBfMHg0MzdlMTA9XzB4NTQ0MDBmKF8weDUxNThlYixfMHgyYzNlMzYpO2lmKF8weDQzN2UxMClyZXR1cm5bXzB4NTE1OGViK18weDQzN2UxMFsncyddXTtsZXQgXzB4MTdjOTg5PV8weDVkMjk0ZVtfMHg1MTU4ZWJdO2lmKF8weDE3Yzk4OSlyZXR1cm4gXzB4MTdjOTg5O2xldCBfMHgxMTkxMDk9XzB4NTVmODc4W18weDUxNThlYl07cmV0dXJuIF8weDExOTEwOT9bXzB4NTE1OGViK18weDExOTEwOVsweDBdXTpfMHg1NzgwMjRbXzB4NTE1OGViXXx8bnVsbDt9KF8weDMxYTQyOCk7cmV0dXJuIF8weDExNjdjOXx8W18weDMxYTQyOF07fSksXzB4M2VjYmFiPV8weGQwYTY2NVtfMHhmMmNmZjkoJzB4ODE4JyldKChfMHgyM2Q5NjMsXzB4MTRjNGNmKT0+KF8weDE0YzRjZltfMHhmMmNmZjkoJzB4NTFlJyldKF8weDE3ZTBhNz0+e3ZhciBfMHgxMjU0OTM9XzB4ZjJjZmY5O18weDIzZDk2M1tfMHgxMjU0OTMoJzB4OGI3JyldKF8weDE3ZTBhNyk7fSksXzB4MjNkOTYzKSxbXSksXzB4M2VjYmFiPSgweDAsXzB4MTY5MGZlWydYTCddKSgoMHgwLF8weDE2OTBmZVsndXUnXSkoXzB4M2VjYmFiKSxfMHgxNjkwZmVbJ1VqJ11bXzB4ZjJjZmY5KCcweDQ2ZCcpXSksXzB4M2VjYmFiW18weGYyY2ZmOSgnMHg1MWUnKV0oXzB4MTQzNWI1PT57dmFyIF8weDU0MjVhOT1fMHhmMmNmZjk7aWYoXzB4NTQ0MDBmKF8weDE0MzViNSxfMHgxMzY5OTUpKXRocm93IG5ldyBFcnJvcihfMHg1NDI1YTkoJzB4YWNjJykpO30pLF8weDNlY2JhYlsnZm9yRWFjaCddKF8weDU3MTIyZT0+e3ZhciBfMHgyNWI4NmQ9XzB4ZjJjZmY5O2lmKF8weDU0NDAwZihfMHg1NzEyMmUsXzB4NWJjM2VmKSl0aHJvdyBuZXcgRXJyb3IoXzB4MjViODZkKCcweDNmYScpKTt9KTtsZXQgXzB4MTk3MmJmPSgweDAsXzB4MTY5MGZlWyd1dSddKShfMHgzZWNiYWIpO2lmKCctJz09PV8weDE5NzJiZltfMHhmMmNmZjkoJzB4NzNkJyldKDB4MCwweDEpfHwnLS0nPT09XzB4MTk3MmJmW18weGYyY2ZmOSgnMHg3M2QnKV0oMHgyLDB4NCl8fCctJz09PV8weDE5NzJiZltfMHhmMmNmZjkoJzB4NzNkJyldKF8weDE5NzJiZltfMHhmMmNmZjkoJzB4NTIwJyldLTB4MSkpdGhyb3cgbmV3IEVycm9yKF8weGYyY2ZmOSgnMHg5MjUnKSk7cmV0dXJuIF8weDE5NzJiZjt9fSwweGFiNTooXzB4MWNhODRkLF8weDNiNzBkOSxfMHg1NDk5YzIpPT57J3VzZSBzdHJpY3QnO18weDU0OTljMlsnciddKF8weDNiNzBkOSksXzB4NTQ5OWMyWydkJ10oXzB4M2I3MGQ5LHsnVW5pY29kZU5vcm1hbGl6YXRpb25Gb3JtJzooKT0+XzB4MTA1MTdkWydVaiddLCdVdGY4RXJyb3JGdW5jcyc6KCk9Pl8weDEwNTE3ZFsndGUnXSwnVXRmOEVycm9yUmVhc29uJzooKT0+XzB4MTA1MTdkWydVdyddLCdfdG9Fc2NhcGVkVXRmOFN0cmluZyc6KCk9Pl8weDEwNTE3ZFsnVSQnXSwnZm9ybWF0Qnl0ZXMzMlN0cmluZyc6KCk9Pl8weDU0MzdhMlsncyddLCduYW1lcHJlcCc6KCk9Pl8weDUzOWY0ZVsnTGwnXSwncGFyc2VCeXRlczMyU3RyaW5nJzooKT0+XzB4NTQzN2EyWydGJ10sJ3RvVXRmOEJ5dGVzJzooKT0+XzB4MTA1MTdkWydZMCddLCd0b1V0ZjhDb2RlUG9pbnRzJzooKT0+XzB4MTA1MTdkWydYTCddLCd0b1V0ZjhTdHJpbmcnOigpPT5fMHgxMDUxN2RbJ1pOJ119KTt2YXIgXzB4NTQzN2EyPV8weDU0OTljMigweDE4NWQpLF8weDUzOWY0ZT1fMHg1NDk5YzIoMHgxNjA1KSxfMHgxMDUxN2Q9XzB4NTQ5OWMyKDB4MTA5Mik7fSwweDEwOTI6KF8weDI0MzIxNixfMHg1NmQwNmYsXzB4OTkxZmFiKT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4MmE1MTVhPV8weDE1YTM7XzB4OTkxZmFiWydkJ10oXzB4NTZkMDZmLHsnVWonOigpPT5fMHgxNGVkMTQsJ3RlJzooKT0+XzB4NDM0MGQ5LCdVdyc6KCk9Pl8weDJkZmM4OCwnVSQnOigpPT5fMHgxOTAwZWYsJ3V1JzooKT0+XzB4NTUyMDYyLCdZMCc6KCk9Pl8weGRlMWM1YiwnWEwnOigpPT5fMHg1ODMzZjUsJ1pOJzooKT0+XzB4MzVkM2I3fSk7dmFyIF8weDM5NmJjYT1fMHg5OTFmYWIoMHhjZDYpO2NvbnN0IF8weDE0NzlhOD1uZXcoXzB4OTkxZmFiKDB4MmM3KSlbJ0xvZ2dlciddKF8weDJhNTE1YSgnMHgyYzknKSk7dmFyIF8weDE0ZWQxNCxfMHgyZGZjODg7ZnVuY3Rpb24gXzB4MTJmM2RkKF8weDM2NzM1YyxfMHgxMzU0ZjgsXzB4NDI2MWIyLF8weGUzM2RlLF8weDRlZTJhYSl7dmFyIF8weDViZTYxZT1fMHgyYTUxNWE7aWYoXzB4MzY3MzVjPT09XzB4MmRmYzg4W18weDViZTYxZSgnMHgyMTknKV18fF8weDM2NzM1Yz09PV8weDJkZmM4OFtfMHg1YmU2MWUoJzB4ODEzJyldKXtsZXQgXzB4M2NjZDE2PTB4MDtmb3IobGV0IF8weDM4NWEwNz1fMHgxMzU0ZjgrMHgxO18weDM4NWEwNzxfMHg0MjYxYjJbXzB4NWJlNjFlKCcweDUyMCcpXSYmXzB4NDI2MWIyW18weDM4NWEwN10+PjB4Nj09MHgyO18weDM4NWEwNysrKV8weDNjY2QxNisrO3JldHVybiBfMHgzY2NkMTY7fXJldHVybiBfMHgzNjczNWM9PT1fMHgyZGZjODhbXzB4NWJlNjFlKCcweGI2YycpXT9fMHg0MjYxYjJbXzB4NWJlNjFlKCcweDUyMCcpXS1fMHgxMzU0ZjgtMHgxOjB4MDt9IWZ1bmN0aW9uKF8weDIyMzMwNCl7dmFyIF8weDM3ZjBkZj1fMHgyYTUxNWE7XzB4MjIzMzA0WydjdXJyZW50J109JycsXzB4MjIzMzA0W18weDM3ZjBkZignMHg2NzQnKV09J05GQycsXzB4MjIzMzA0W18weDM3ZjBkZignMHg4MDUnKV09XzB4MzdmMGRmKCcweDgwNScpLF8weDIyMzMwNFtfMHgzN2YwZGYoJzB4NDZkJyldPV8weDM3ZjBkZignMHg0NmQnKSxfMHgyMjMzMDRbJ05GS0QnXT0nTkZLRCc7fShfMHgxNGVkMTR8fChfMHgxNGVkMTQ9e30pKSxmdW5jdGlvbihfMHgxMzUxMTcpe3ZhciBfMHgxMmI5MjY9XzB4MmE1MTVhO18weDEzNTExN1snVU5FWFBFQ1RFRF9DT05USU5VRSddPV8weDEyYjkyNignMHg4MTInKSxfMHgxMzUxMTdbXzB4MTJiOTI2KCcweDIxOScpXT1fMHgxMmI5MjYoJzB4YmE1JyksXzB4MTM1MTE3W18weDEyYjkyNignMHhiNmMnKV09XzB4MTJiOTI2KCcweGE1NCcpLF8weDEzNTExN1snTUlTU0lOR19DT05USU5VRSddPV8weDEyYjkyNignMHg5ZGEnKSxfMHgxMzUxMTdbXzB4MTJiOTI2KCcweGMwMScpXT0nb3V0XHgyMG9mXHgyMFVURi04XHgyMHJhbmdlJyxfMHgxMzUxMTdbXzB4MTJiOTI2KCcweDMwOScpXT1fMHgxMmI5MjYoJzB4NzAxJyksXzB4MTM1MTE3W18weDEyYjkyNignMHgyNzEnKV09XzB4MTJiOTI2KCcweDhiZScpO30oXzB4MmRmYzg4fHwoXzB4MmRmYzg4PXt9KSk7Y29uc3QgXzB4NDM0MGQ5PU9iamVjdFtfMHgyYTUxNWEoJzB4MWZhJyldKHsnZXJyb3InOmZ1bmN0aW9uKF8weGU5NTM1NCxfMHgyZTI0YWYsXzB4MzM3YzRlLF8weDRiYmVkNSxfMHg3YzE1ZjUpe3ZhciBfMHgyN2UxYzk9XzB4MmE1MTVhO3JldHVybiBfMHgxNDc5YThbJ3Rocm93QXJndW1lbnRFcnJvciddKCdpbnZhbGlkXHgyMGNvZGVwb2ludFx4MjBhdFx4MjBvZmZzZXRceDIwJytfMHgyZTI0YWYrJztceDIwJytfMHhlOTUzNTQsXzB4MjdlMWM5KCcweDUyYScpLF8weDMzN2M0ZSk7fSwnaWdub3JlJzpfMHgxMmYzZGQsJ3JlcGxhY2UnOmZ1bmN0aW9uKF8weDMyNjYzNSxfMHgyODc1ZjcsXzB4MjE1ZGNjLF8weDNiYmNmNCxfMHg1MmFiY2Ype3ZhciBfMHg1Njc2Y2E9XzB4MmE1MTVhO3JldHVybiBfMHgzMjY2MzU9PT1fMHgyZGZjODhbXzB4NTY3NmNhKCcweDI3MScpXT8oXzB4M2JiY2Y0W18weDU2NzZjYSgnMHg4YjcnKV0oXzB4NTJhYmNmKSwweDApOihfMHgzYmJjZjRbXzB4NTY3NmNhKCcweDhiNycpXSgweGZmZmQpLF8weDEyZjNkZChfMHgzMjY2MzUsXzB4Mjg3NWY3LF8weDIxNWRjYykpO319KTtmdW5jdGlvbiBfMHgyNzQ1NDMoXzB4MmRhYWJiLF8weDM4ZmY0MCl7dmFyIF8weDk0OTk1PV8weDJhNTE1YTtudWxsPT1fMHgzOGZmNDAmJihfMHgzOGZmNDA9XzB4NDM0MGQ5W18weDk0OTk1KCcweGM5ZScpXSksXzB4MmRhYWJiPSgweDAsXzB4Mzk2YmNhWydhcnJheWlmeSddKShfMHgyZGFhYmIpO2NvbnN0IF8weDRkNzdjYz1bXTtsZXQgXzB4MzQ3NGU0PTB4MDtmb3IoO18weDM0NzRlNDxfMHgyZGFhYmJbXzB4OTQ5OTUoJzB4NTIwJyldOyl7Y29uc3QgXzB4MmE3ODcxPV8weDJkYWFiYltfMHgzNDc0ZTQrK107aWYoXzB4MmE3ODcxPj4weDc9PTB4MCl7XzB4NGQ3N2NjW18weDk0OTk1KCcweDhiNycpXShfMHgyYTc4NzEpO2NvbnRpbnVlO31sZXQgXzB4MjM5OTczPW51bGwsXzB4NGIzNmY3PW51bGw7aWYoMHhjMD09KDB4ZTAmXzB4MmE3ODcxKSlfMHgyMzk5NzM9MHgxLF8weDRiMzZmNz0weDdmO2Vsc2V7aWYoMHhlMD09KDB4ZjAmXzB4MmE3ODcxKSlfMHgyMzk5NzM9MHgyLF8weDRiMzZmNz0weDdmZjtlbHNle2lmKDB4ZjAhPSgweGY4Jl8weDJhNzg3MSkpe18weDM0NzRlNCs9XzB4MzhmZjQwKDB4ODA9PSgweGMwJl8weDJhNzg3MSk/XzB4MmRmYzg4W18weDk0OTk1KCcweDgxMycpXTpfMHgyZGZjODhbXzB4OTQ5OTUoJzB4MjE5JyldLF8weDM0NzRlNC0weDEsXzB4MmRhYWJiLF8weDRkNzdjYyk7Y29udGludWU7fV8weDIzOTk3Mz0weDMsXzB4NGIzNmY3PTB4ZmZmZjt9fWlmKF8weDM0NzRlNC0weDErXzB4MjM5OTczPj1fMHgyZGFhYmJbXzB4OTQ5OTUoJzB4NTIwJyldKXtfMHgzNDc0ZTQrPV8weDM4ZmY0MChfMHgyZGZjODhbJ09WRVJSVU4nXSxfMHgzNDc0ZTQtMHgxLF8weDJkYWFiYixfMHg0ZDc3Y2MpO2NvbnRpbnVlO31sZXQgXzB4Mjg1OGY0PV8weDJhNzg3MSYoMHgxPDwweDgtXzB4MjM5OTczLTB4MSktMHgxO2ZvcihsZXQgXzB4Mzk5M2MwPTB4MDtfMHgzOTkzYzA8XzB4MjM5OTczO18weDM5OTNjMCsrKXtsZXQgXzB4NGViZDlmPV8weDJkYWFiYltfMHgzNDc0ZTRdO2lmKDB4ODAhPSgweGMwJl8weDRlYmQ5Zikpe18weDM0NzRlNCs9XzB4MzhmZjQwKF8weDJkZmM4OFtfMHg5NDk5NSgnMHg1MDEnKV0sXzB4MzQ3NGU0LF8weDJkYWFiYixfMHg0ZDc3Y2MpLF8weDI4NThmND1udWxsO2JyZWFrO31fMHgyODU4ZjQ9XzB4Mjg1OGY0PDwweDZ8MHgzZiZfMHg0ZWJkOWYsXzB4MzQ3NGU0Kys7fW51bGwhPT1fMHgyODU4ZjQmJihfMHgyODU4ZjQ+MHgxMGZmZmY/XzB4MzQ3NGU0Kz1fMHgzOGZmNDAoXzB4MmRmYzg4WydPVVRfT0ZfUkFOR0UnXSxfMHgzNDc0ZTQtMHgxLV8weDIzOTk3MyxfMHgyZGFhYmIsXzB4NGQ3N2NjLF8weDI4NThmNCk6XzB4Mjg1OGY0Pj0weGQ4MDAmJl8weDI4NThmNDw9MHhkZmZmP18weDM0NzRlNCs9XzB4MzhmZjQwKF8weDJkZmM4OFtfMHg5NDk5NSgnMHgzMDknKV0sXzB4MzQ3NGU0LTB4MS1fMHgyMzk5NzMsXzB4MmRhYWJiLF8weDRkNzdjYyxfMHgyODU4ZjQpOl8weDI4NThmNDw9XzB4NGIzNmY3P18weDM0NzRlNCs9XzB4MzhmZjQwKF8weDJkZmM4OFtfMHg5NDk5NSgnMHgyNzEnKV0sXzB4MzQ3NGU0LTB4MS1fMHgyMzk5NzMsXzB4MmRhYWJiLF8weDRkNzdjYyxfMHgyODU4ZjQpOl8weDRkNzdjY1sncHVzaCddKF8weDI4NThmNCkpO31yZXR1cm4gXzB4NGQ3N2NjO31mdW5jdGlvbiBfMHhkZTFjNWIoXzB4MjZhMDA2LF8weGUzYmJhMj1fMHgxNGVkMTRbXzB4MmE1MTVhKCcweGE1ZScpXSl7dmFyIF8weDQ1ZTM1Zj1fMHgyYTUxNWE7XzB4ZTNiYmEyIT1fMHgxNGVkMTRbXzB4NDVlMzVmKCcweGE1ZScpXSYmKF8weDE0NzlhOFsnY2hlY2tOb3JtYWxpemUnXSgpLF8weDI2YTAwNj1fMHgyNmEwMDZbXzB4NDVlMzVmKCcweDg4YicpXShfMHhlM2JiYTIpKTtsZXQgXzB4NTg2N2I2PVtdO2ZvcihsZXQgXzB4MzQ2NDViPTB4MDtfMHgzNDY0NWI8XzB4MjZhMDA2W18weDQ1ZTM1ZignMHg1MjAnKV07XzB4MzQ2NDViKyspe2NvbnN0IF8weDM4MWJiZj1fMHgyNmEwMDZbXzB4NDVlMzVmKCcweGE1NScpXShfMHgzNDY0NWIpO2lmKF8weDM4MWJiZjwweDgwKV8weDU4NjdiNltfMHg0NWUzNWYoJzB4OGI3JyldKF8weDM4MWJiZik7ZWxzZXtpZihfMHgzODFiYmY8MHg4MDApXzB4NTg2N2I2W18weDQ1ZTM1ZignMHg4YjcnKV0oXzB4MzgxYmJmPj4weDZ8MHhjMCksXzB4NTg2N2I2W18weDQ1ZTM1ZignMHg4YjcnKV0oMHgzZiZfMHgzODFiYmZ8MHg4MCk7ZWxzZXtpZigweGQ4MDA9PSgweGZjMDAmXzB4MzgxYmJmKSl7XzB4MzQ2NDViKys7Y29uc3QgXzB4NDBjNjVmPV8weDI2YTAwNltfMHg0NWUzNWYoJzB4YTU1JyldKF8weDM0NjQ1Yik7aWYoXzB4MzQ2NDViPj1fMHgyNmEwMDZbXzB4NDVlMzVmKCcweDUyMCcpXXx8MHhkYzAwIT0oMHhmYzAwJl8weDQwYzY1ZikpdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkXHgyMHV0Zi04XHgyMHN0cmluZycpO2NvbnN0IF8weDQwOWNjMj0weDEwMDAwKygoMHgzZmYmXzB4MzgxYmJmKTw8MHhhKSsoMHgzZmYmXzB4NDBjNjVmKTtfMHg1ODY3YjZbXzB4NDVlMzVmKCcweDhiNycpXShfMHg0MDljYzI+PjB4MTJ8MHhmMCksXzB4NTg2N2I2W18weDQ1ZTM1ZignMHg4YjcnKV0oXzB4NDA5Y2MyPj4weGMmMHgzZnwweDgwKSxfMHg1ODY3YjZbXzB4NDVlMzVmKCcweDhiNycpXShfMHg0MDljYzI+PjB4NiYweDNmfDB4ODApLF8weDU4NjdiNltfMHg0NWUzNWYoJzB4OGI3JyldKDB4M2YmXzB4NDA5Y2MyfDB4ODApO31lbHNlIF8weDU4NjdiNlsncHVzaCddKF8weDM4MWJiZj4+MHhjfDB4ZTApLF8weDU4NjdiNltfMHg0NWUzNWYoJzB4OGI3JyldKF8weDM4MWJiZj4+MHg2JjB4M2Z8MHg4MCksXzB4NTg2N2I2WydwdXNoJ10oMHgzZiZfMHgzODFiYmZ8MHg4MCk7fX19cmV0dXJuKDB4MCxfMHgzOTZiY2FbXzB4NDVlMzVmKCcweGQwNicpXSkoXzB4NTg2N2I2KTt9ZnVuY3Rpb24gXzB4NTRjOWQ0KF8weDZkNzI4MCl7dmFyIF8weDQ1ZTJkOD1fMHgyYTUxNWE7Y29uc3QgXzB4NWVkZmNkPV8weDQ1ZTJkOCgnMHhjMDYnKStfMHg2ZDcyODBbXzB4NDVlMmQ4KCcweDU0NycpXSgweDEwKTtyZXR1cm4nXHg1Y3UnK18weDVlZGZjZFtfMHg0NWUyZDgoJzB4NzNkJyldKF8weDVlZGZjZFtfMHg0NWUyZDgoJzB4NTIwJyldLTB4NCk7fWZ1bmN0aW9uIF8weDE5MDBlZihfMHg1YjllZGEsXzB4MTlmYTEwKXt2YXIgXzB4MjY4MGQ5PV8weDJhNTE1YTtyZXR1cm4nXHgyMicrXzB4Mjc0NTQzKF8weDViOWVkYSxfMHgxOWZhMTApW18weDI2ODBkOSgnMHgzYzknKV0oXzB4MjBhYTNmPT57dmFyIF8weDVjMWJlYz1fMHgyNjgwZDk7aWYoXzB4MjBhYTNmPDB4MTAwKXtzd2l0Y2goXzB4MjBhYTNmKXtjYXNlIDB4ODpyZXR1cm4nXHg1Y2InO2Nhc2UgMHg5OnJldHVybidceDVjdCc7Y2FzZSAweGE6cmV0dXJuJ1x4NWNuJztjYXNlIDB4ZDpyZXR1cm4nXHg1Y3InO2Nhc2UgMHgyMjpyZXR1cm4nXHg1Y1x4MjInO2Nhc2UgMHg1YzpyZXR1cm4nXHg1Y1x4NWMnO31pZihfMHgyMGFhM2Y+PTB4MjAmJl8weDIwYWEzZjwweDdmKXJldHVybiBTdHJpbmdbXzB4NWMxYmVjKCcweGE4MScpXShfMHgyMGFhM2YpO31yZXR1cm4gXzB4MjBhYTNmPD0weGZmZmY/XzB4NTRjOWQ0KF8weDIwYWEzZik6XzB4NTRjOWQ0KDB4ZDgwMCsoKF8weDIwYWEzZi09MHgxMDAwMCk+PjB4YSYweDNmZikpK18weDU0YzlkNCgweGRjMDArKDB4M2ZmJl8weDIwYWEzZikpO30pWydqb2luJ10oJycpKydceDIyJzt9ZnVuY3Rpb24gXzB4NTUyMDYyKF8weDEyYjRiNCl7dmFyIF8weDRhMDUwNz1fMHgyYTUxNWE7cmV0dXJuIF8weDEyYjRiNFtfMHg0YTA1MDcoJzB4M2M5JyldKF8weDI1YmU2YT0+XzB4MjViZTZhPD0weGZmZmY/U3RyaW5nWydmcm9tQ2hhckNvZGUnXShfMHgyNWJlNmEpOihfMHgyNWJlNmEtPTB4MTAwMDAsU3RyaW5nW18weDRhMDUwNygnMHhhODEnKV0oMHhkODAwKyhfMHgyNWJlNmE+PjB4YSYweDNmZiksMHhkYzAwKygweDNmZiZfMHgyNWJlNmEpKSkpW18weDRhMDUwNygnMHhhYTcnKV0oJycpO31mdW5jdGlvbiBfMHgzNWQzYjcoXzB4MTY5NWY4LF8weDQ1OWZhZSl7cmV0dXJuIF8weDU1MjA2MihfMHgyNzQ1NDMoXzB4MTY5NWY4LF8weDQ1OWZhZSkpO31mdW5jdGlvbiBfMHg1ODMzZjUoXzB4MzZhZDY1LF8weDRiZDJhYj1fMHgxNGVkMTRbJ2N1cnJlbnQnXSl7cmV0dXJuIF8weDI3NDU0MyhfMHhkZTFjNWIoXzB4MzZhZDY1LF8weDRiZDJhYikpO319LDB4MTExOTooXzB4NThlODIxLF8weDU2NjdkNSxfMHgzZWFlNTUpPT57J3VzZSBzdHJpY3QnO3ZhciBfMHgzYzE5NzY9XzB4MTVhMztfMHgzZWFlNTVbJ3InXShfMHg1NjY3ZDUpLF8weDNlYWU1NVsnZCddKF8weDU2NjdkNSx7J1RyYW5zYWN0aW9uVHlwZXMnOigpPT5fMHg1NDExOWUsJ2FjY2Vzc0xpc3RpZnknOigpPT5fMHgxZGJhNDQsJ2NvbXB1dGVBZGRyZXNzJzooKT0+XzB4NzU1NmI4LCdwYXJzZSc6KCk9Pl8weDUxOWM1NywncmVjb3ZlckFkZHJlc3MnOigpPT5fMHgyODFmYzcsJ3NlcmlhbGl6ZSc6KCk9Pl8weDRkMWQyYn0pO3ZhciBfMHg0MmMxMWE9XzB4M2VhZTU1KDB4MTFmMiksXzB4NGU3NGRlPV8weDNlYWU1NSgweGEyMSksXzB4YjRkNTdmPV8weDNlYWU1NSgweGNkNiksXzB4OTgwZDk5PV8weDNlYWU1NSgweDQxNiksXzB4MjZlMWVmPV8weDNlYWU1NSgweDIwMDUpLF8weDRjMTBlNz1fMHgzZWFlNTUoMHhlMDMpLF8weDIwMDQwNT1fMHgzZWFlNTUoMHg3MzMpLF8weDE3OTkyYj1fMHgzZWFlNTUoMHhhZDApLF8weDNmNmEyYT1fMHgzZWFlNTUoMHgyYzcpO2NvbnN0IF8weDEzZDg1MD1uZXcgXzB4M2Y2YTJhWyhfMHgzYzE5NzYoJzB4Y2U3JykpXShfMHgzYzE5NzYoJzB4YTA1JykpO3ZhciBfMHg1NDExOWU7ZnVuY3Rpb24gXzB4NGU4YmM1KF8weDNjZTZiOSl7dmFyIF8weDRiZWRkYT1fMHgzYzE5NzY7cmV0dXJuJzB4Jz09PV8weDNjZTZiOT9udWxsOigweDAsXzB4NDJjMTFhW18weDRiZWRkYSgnMHgzZGYnKV0pKF8weDNjZTZiOSk7fWZ1bmN0aW9uIF8weDNmYmU2YihfMHgzOGI2N2Qpe3ZhciBfMHg1M2ZkMzU9XzB4M2MxOTc2O3JldHVybicweCc9PT1fMHgzOGI2N2Q/XzB4OTgwZDk5WydfWSddOl8weDRlNzRkZVsnTyQnXVtfMHg1M2ZkMzUoJzB4MjUyJyldKF8weDM4YjY3ZCk7fSFmdW5jdGlvbihfMHg1MDQxZmIpe3ZhciBfMHg0YzVkOTE9XzB4M2MxOTc2O18weDUwNDFmYltfMHg1MDQxZmJbXzB4NGM1ZDkxKCcweDY0NScpXT0weDBdPV8weDRjNWQ5MSgnMHg2NDUnKSxfMHg1MDQxZmJbXzB4NTA0MWZiW18weDRjNWQ5MSgnMHg2NjgnKV09MHgxXT1fMHg0YzVkOTEoJzB4NjY4JyksXzB4NTA0MWZiW18weDUwNDFmYlsnZWlwMTU1OSddPTB4Ml09J2VpcDE1NTknO30oXzB4NTQxMTllfHwoXzB4NTQxMTllPXt9KSk7Y29uc3QgXzB4NDY0MTZkPVt7J25hbWUnOl8weDNjMTk3NignMHg0YWQnKSwnbWF4TGVuZ3RoJzoweDIwLCdudW1lcmljJzohMHgwfSx7J25hbWUnOl8weDNjMTk3NignMHg4ODInKSwnbWF4TGVuZ3RoJzoweDIwLCdudW1lcmljJzohMHgwfSx7J25hbWUnOidnYXNMaW1pdCcsJ21heExlbmd0aCc6MHgyMCwnbnVtZXJpYyc6ITB4MH0seyduYW1lJzondG8nLCdsZW5ndGgnOjB4MTR9LHsnbmFtZSc6XzB4M2MxOTc2KCcweDg5ZCcpLCdtYXhMZW5ndGgnOjB4MjAsJ251bWVyaWMnOiEweDB9LHsnbmFtZSc6XzB4M2MxOTc2KCcweGE1OCcpfV0sXzB4MjI1OGMyPXsnY2hhaW5JZCc6ITB4MCwnZGF0YSc6ITB4MCwnZ2FzTGltaXQnOiEweDAsJ2dhc1ByaWNlJzohMHgwLCdub25jZSc6ITB4MCwndG8nOiEweDAsJ3R5cGUnOiEweDAsJ3ZhbHVlJzohMHgwfTtmdW5jdGlvbiBfMHg3NTU2YjgoXzB4MzgyMWE4KXt2YXIgXzB4MzIxN2FmPV8weDNjMTk3Njtjb25zdCBfMHg0MjhiMTk9KDB4MCxfMHgxNzk5MmJbJ2NvbXB1dGVQdWJsaWNLZXknXSkoXzB4MzgyMWE4KTtyZXR1cm4oMHgwLF8weDQyYzExYVtfMHgzMjE3YWYoJzB4M2RmJyldKSgoMHgwLF8weGI0ZDU3ZltfMHgzMjE3YWYoJzB4ODExJyldKSgoMHgwLF8weDI2ZTFlZltfMHgzMjE3YWYoJzB4NTYyJyldKSgoMHgwLF8weGI0ZDU3ZltfMHgzMjE3YWYoJzB4ODExJyldKShfMHg0MjhiMTksMHgxKSksMHhjKSk7fWZ1bmN0aW9uIF8weDI4MWZjNyhfMHgxMjI1ZGUsXzB4MjhmNDczKXt2YXIgXzB4OTIyNjk0PV8weDNjMTk3NjtyZXR1cm4gXzB4NzU1NmI4KCgweDAsXzB4MTc5OTJiW18weDkyMjY5NCgnMHg2ZjQnKV0pKCgweDAsXzB4YjRkNTdmW18weDkyMjY5NCgnMHhkMDYnKV0pKF8weDEyMjVkZSksXzB4MjhmNDczKSk7fWZ1bmN0aW9uIF8weDZlZGZmMChfMHgzYmU4ZDUsXzB4NWFmM2MyKXt2YXIgXzB4NDAyNmFmPV8weDNjMTk3Njtjb25zdCBfMHg1ZWYzNDE9KDB4MCxfMHhiNGQ1N2ZbJ3N0cmlwWmVyb3MnXSkoXzB4NGU3NGRlWydPJCddWydmcm9tJ10oXzB4M2JlOGQ1KVtfMHg0MDI2YWYoJzB4NmMxJyldKCkpO3JldHVybiBfMHg1ZWYzNDFbXzB4NDAyNmFmKCcweDUyMCcpXT4weDIwJiZfMHgxM2Q4NTBbXzB4NDAyNmFmKCcweDYzNScpXShfMHg0MDI2YWYoJzB4M2NiJykrXzB4NWFmM2MyLF8weDQwMjZhZignMHg5NjYnKStfMHg1YWYzYzIsXzB4M2JlOGQ1KSxfMHg1ZWYzNDE7fWZ1bmN0aW9uIF8weDQwNDgxYihfMHg1MjgzZTYsXzB4NjBhMDQpe3ZhciBfMHgyYzM3Njk9XzB4M2MxOTc2O3JldHVybnsnYWRkcmVzcyc6KDB4MCxfMHg0MmMxMWFbXzB4MmMzNzY5KCcweDNkZicpXSkoXzB4NTI4M2U2KSwnc3RvcmFnZUtleXMnOihfMHg2MGEwNHx8W10pW18weDJjMzc2OSgnMHgzYzknKV0oKF8weDQ5NWQwMCxfMHg0NDkxMjgpPT4oMHgyMCE9PSgweDAsXzB4YjRkNTdmW18weDJjMzc2OSgnMHhhOTQnKV0pKF8weDQ5NWQwMCkmJl8weDEzZDg1MFtfMHgyYzM3NjkoJzB4NjM1JyldKCdpbnZhbGlkXHgyMGFjY2Vzc1x4MjBsaXN0XHgyMHN0b3JhZ2VLZXknLF8weDJjMzc2OSgnMHhhM2MnKStfMHg1MjgzZTYrJzonK18weDQ0OTEyOCsnXScsXzB4NDk1ZDAwKSxfMHg0OTVkMDBbXzB4MmMzNzY5KCcweDg3MCcpXSgpKSl9O31mdW5jdGlvbiBfMHgxZGJhNDQoXzB4MzBlMmJjKXt2YXIgXzB4NGRmNWI5PV8weDNjMTk3NjtpZihBcnJheVsnaXNBcnJheSddKF8weDMwZTJiYykpcmV0dXJuIF8weDMwZTJiY1tfMHg0ZGY1YjkoJzB4M2M5JyldKChfMHg1MDlkNDQsXzB4NWFlZjU1KT0+QXJyYXlbXzB4NGRmNWI5KCcweDhmMScpXShfMHg1MDlkNDQpPyhfMHg1MDlkNDRbJ2xlbmd0aCddPjB4MiYmXzB4MTNkODUwW18weDRkZjViOSgnMHg2MzUnKV0oXzB4NGRmNWI5KCcweDkyMicpLF8weDRkZjViOSgnMHg4MjYnKStfMHg1YWVmNTUrJ10nLF8weDUwOWQ0NCksXzB4NDA0ODFiKF8weDUwOWQ0NFsweDBdLF8weDUwOWQ0NFsweDFdKSk6XzB4NDA0ODFiKF8weDUwOWQ0NFsnYWRkcmVzcyddLF8weDUwOWQ0NFsnc3RvcmFnZUtleXMnXSkpO2NvbnN0IF8weGNhNmQzNT1PYmplY3RbJ2tleXMnXShfMHgzMGUyYmMpW18weDRkZjViOSgnMHgzYzknKV0oXzB4NmRiYmI9Pnt2YXIgXzB4NThiMDhiPV8weDRkZjViOTtjb25zdCBfMHgyOWQyYjE9XzB4MzBlMmJjW18weDZkYmJiXVtfMHg1OGIwOGIoJzB4ODE4JyldKChfMHg3MmUwOTgsXzB4NTBlNTY3KT0+KF8weDcyZTA5OFtfMHg1MGU1NjddPSEweDAsXzB4NzJlMDk4KSx7fSk7cmV0dXJuIF8weDQwNDgxYihfMHg2ZGJiYixPYmplY3RbJ2tleXMnXShfMHgyOWQyYjEpW18weDU4YjA4YignMHhkNTUnKV0oKSk7fSk7cmV0dXJuIF8weGNhNmQzNVtfMHg0ZGY1YjkoJzB4ZDU1JyldKChfMHgyZjQxOTEsXzB4NTE3YTBiKT0+XzB4MmY0MTkxW18weDRkZjViOSgnMHgxZDEnKV1bXzB4NGRmNWI5KCcweDhlMycpXShfMHg1MTdhMGJbJ2FkZHJlc3MnXSkpLF8weGNhNmQzNTt9ZnVuY3Rpb24gXzB4MTYwZDk0KF8weDM3M2QyYSl7dmFyIF8weDM2NDU0Nj1fMHgzYzE5NzY7cmV0dXJuIF8weDFkYmE0NChfMHgzNzNkMmEpW18weDM2NDU0NignMHgzYzknKV0oXzB4Mjg0YjMwPT5bXzB4Mjg0YjMwWydhZGRyZXNzJ10sXzB4Mjg0YjMwW18weDM2NDU0NignMHg1ZjAnKV1dKTt9ZnVuY3Rpb24gXzB4MTg0YTY4KF8weDIyYWQ2NixfMHgyYjQ4YmYpe3ZhciBfMHg1ZWIxM2I9XzB4M2MxOTc2O2lmKG51bGwhPV8weDIyYWQ2NlsnZ2FzUHJpY2UnXSl7Y29uc3QgXzB4Mjg3ZTYzPV8weDRlNzRkZVsnTyQnXVtfMHg1ZWIxM2IoJzB4MjUyJyldKF8weDIyYWQ2NltfMHg1ZWIxM2IoJzB4ODgyJyldKSxfMHgxNmI4ZGE9XzB4NGU3NGRlWydPJCddW18weDVlYjEzYignMHgyNTInKV0oXzB4MjJhZDY2WydtYXhGZWVQZXJHYXMnXXx8MHgwKTtfMHgyODdlNjNbJ2VxJ10oXzB4MTZiOGRhKXx8XzB4MTNkODUwWyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHg1ZWIxM2IoJzB4OTNmJyksJ3R4Jyx7J2dhc1ByaWNlJzpfMHgyODdlNjMsJ21heEZlZVBlckdhcyc6XzB4MTZiOGRhfSk7fWNvbnN0IF8weDRmZDhmMD1bXzB4NmVkZmYwKF8weDIyYWQ2NltfMHg1ZWIxM2IoJzB4MjYyJyldfHwweDAsXzB4NWViMTNiKCcweDI2MicpKSxfMHg2ZWRmZjAoXzB4MjJhZDY2W18weDVlYjEzYignMHg0YWQnKV18fDB4MCxfMHg1ZWIxM2IoJzB4NGFkJykpLF8weDZlZGZmMChfMHgyMmFkNjZbXzB4NWViMTNiKCcweDYzYScpXXx8MHgwLF8weDVlYjEzYignMHg2M2EnKSksXzB4NmVkZmYwKF8weDIyYWQ2NltfMHg1ZWIxM2IoJzB4OTc2JyldfHwweDAsJ21heEZlZVBlckdhcycpLF8weDZlZGZmMChfMHgyMmFkNjZbJ2dhc0xpbWl0J118fDB4MCwnZ2FzTGltaXQnKSxudWxsIT1fMHgyMmFkNjZbJ3RvJ10/KDB4MCxfMHg0MmMxMWFbXzB4NWViMTNiKCcweDNkZicpXSkoXzB4MjJhZDY2Wyd0byddKTonMHgnLF8weDZlZGZmMChfMHgyMmFkNjZbXzB4NWViMTNiKCcweDg5ZCcpXXx8MHgwLF8weDVlYjEzYignMHg4OWQnKSksXzB4MjJhZDY2WydkYXRhJ118fCcweCcsXzB4MTYwZDk0KF8weDIyYWQ2NltfMHg1ZWIxM2IoJzB4NWQ1JyldfHxbXSldO2lmKF8weDJiNDhiZil7Y29uc3QgXzB4NGZhZmVhPSgweDAsXzB4YjRkNTdmWydzcGxpdFNpZ25hdHVyZSddKShfMHgyYjQ4YmYpO18weDRmZDhmMFsncHVzaCddKF8weDZlZGZmMChfMHg0ZmFmZWFbXzB4NWViMTNiKCcweDhjZScpXSxfMHg1ZWIxM2IoJzB4OGNlJykpKSxfMHg0ZmQ4ZjBbJ3B1c2gnXSgoMHgwLF8weGI0ZDU3ZltfMHg1ZWIxM2IoJzB4Y2Y5JyldKShfMHg0ZmFmZWFbJ3InXSkpLF8weDRmZDhmMFsncHVzaCddKCgweDAsXzB4YjRkNTdmWydzdHJpcFplcm9zJ10pKF8weDRmYWZlYVsncyddKSk7fXJldHVybigweDAsXzB4YjRkNTdmWydoZXhDb25jYXQnXSkoW18weDVlYjEzYignMHg1ZjYnKSxfMHgyMDA0MDVbXzB4NWViMTNiKCcweGE1MScpXShfMHg0ZmQ4ZjApXSk7fWZ1bmN0aW9uIF8weDU5ZTc5NShfMHgxODEwNzgsXzB4MjYzNmU5KXt2YXIgXzB4MmM1YjM9XzB4M2MxOTc2O2NvbnN0IF8weDJmZjEwMT1bXzB4NmVkZmYwKF8weDE4MTA3OFtfMHgyYzViMygnMHgyNjInKV18fDB4MCxfMHgyYzViMygnMHgyNjInKSksXzB4NmVkZmYwKF8weDE4MTA3OFtfMHgyYzViMygnMHg0YWQnKV18fDB4MCwnbm9uY2UnKSxfMHg2ZWRmZjAoXzB4MTgxMDc4W18weDJjNWIzKCcweDg4MicpXXx8MHgwLF8weDJjNWIzKCcweDg4MicpKSxfMHg2ZWRmZjAoXzB4MTgxMDc4WydnYXNMaW1pdCddfHwweDAsXzB4MmM1YjMoJzB4OTYzJykpLG51bGwhPV8weDE4MTA3OFsndG8nXT8oMHgwLF8weDQyYzExYVsnZ2V0QWRkcmVzcyddKShfMHgxODEwNzhbJ3RvJ10pOicweCcsXzB4NmVkZmYwKF8weDE4MTA3OFsndmFsdWUnXXx8MHgwLCd2YWx1ZScpLF8weDE4MTA3OFtfMHgyYzViMygnMHhhNTgnKV18fCcweCcsXzB4MTYwZDk0KF8weDE4MTA3OFtfMHgyYzViMygnMHg1ZDUnKV18fFtdKV07aWYoXzB4MjYzNmU5KXtjb25zdCBfMHgyZjRjMWE9KDB4MCxfMHhiNGQ1N2ZbXzB4MmM1YjMoJzB4OWJjJyldKShfMHgyNjM2ZTkpO18weDJmZjEwMVsncHVzaCddKF8weDZlZGZmMChfMHgyZjRjMWFbXzB4MmM1YjMoJzB4OGNlJyldLCdyZWNvdmVyeVBhcmFtJykpLF8weDJmZjEwMVsncHVzaCddKCgweDAsXzB4YjRkNTdmW18weDJjNWIzKCcweGNmOScpXSkoXzB4MmY0YzFhWydyJ10pKSxfMHgyZmYxMDFbJ3B1c2gnXSgoMHgwLF8weGI0ZDU3ZltfMHgyYzViMygnMHhjZjknKV0pKF8weDJmNGMxYVsncyddKSk7fXJldHVybigweDAsXzB4YjRkNTdmW18weDJjNWIzKCcweDdjZScpXSkoW18weDJjNWIzKCcweDYyOCcpLF8weDIwMDQwNVtfMHgyYzViMygnMHhhNTEnKV0oXzB4MmZmMTAxKV0pO31mdW5jdGlvbiBfMHg0ZDFkMmIoXzB4Mzc1ZjQ5LF8weDFhZGUzNil7dmFyIF8weDE4NGJhYj1fMHgzYzE5NzY7aWYobnVsbD09XzB4Mzc1ZjQ5W18weDE4NGJhYignMHg1N2MnKV18fDB4MD09PV8weDM3NWY0OVsndHlwZSddKXJldHVybiBudWxsIT1fMHgzNzVmNDlbXzB4MTg0YmFiKCcweDVkNScpXSYmXzB4MTNkODUwW18weDE4NGJhYignMHg2MzUnKV0oXzB4MTg0YmFiKCcweDlhMycpLF8weDE4NGJhYignMHg0YzMnKSxfMHgzNzVmNDkpLGZ1bmN0aW9uKF8weDRjYTJiMCxfMHgzZDdkN2Qpe3ZhciBfMHgyYmE4Y2M9XzB4MTg0YmFiOygweDAsXzB4NGMxMGU3WydjaGVja1Byb3BlcnRpZXMnXSkoXzB4NGNhMmIwLF8weDIyNThjMik7Y29uc3QgXzB4MTk4NGU4PVtdO18weDQ2NDE2ZFtfMHgyYmE4Y2MoJzB4NTFlJyldKGZ1bmN0aW9uKF8weDQ1MDJlYSl7dmFyIF8weDE1MzA2ZT1fMHgyYmE4Y2M7bGV0IF8weDNiMjEwMT1fMHg0Y2EyYjBbXzB4NDUwMmVhW18weDE1MzA2ZSgnMHhiYzcnKV1dfHxbXTtjb25zdCBfMHgzOTk5Njg9e307XzB4NDUwMmVhWydudW1lcmljJ10mJihfMHgzOTk5NjhbXzB4MTUzMDZlKCcweDk4NScpXT1fMHgxNTMwNmUoJzB4MTlmJykpLF8weDNiMjEwMT0oMHgwLF8weGI0ZDU3ZltfMHgxNTMwNmUoJzB4ZDA2JyldKSgoMHgwLF8weGI0ZDU3ZlsnaGV4bGlmeSddKShfMHgzYjIxMDEsXzB4Mzk5OTY4KSksXzB4NDUwMmVhW18weDE1MzA2ZSgnMHg1MjAnKV0mJl8weDNiMjEwMVtfMHgxNTMwNmUoJzB4NTIwJyldIT09XzB4NDUwMmVhW18weDE1MzA2ZSgnMHg1MjAnKV0mJl8weDNiMjEwMVtfMHgxNTMwNmUoJzB4NTIwJyldPjB4MCYmXzB4MTNkODUwW18weDE1MzA2ZSgnMHg2MzUnKV0oJ2ludmFsaWRceDIwbGVuZ3RoXHgyMGZvclx4MjAnK18weDQ1MDJlYVsnbmFtZSddLCd0cmFuc2FjdGlvbjonK18weDQ1MDJlYVsnbmFtZSddLF8weDNiMjEwMSksXzB4NDUwMmVhW18weDE1MzA2ZSgnMHhiNGYnKV0mJihfMHgzYjIxMDE9KDB4MCxfMHhiNGQ1N2ZbXzB4MTUzMDZlKCcweGNmOScpXSkoXzB4M2IyMTAxKSxfMHgzYjIxMDFbXzB4MTUzMDZlKCcweDUyMCcpXT5fMHg0NTAyZWFbXzB4MTUzMDZlKCcweGI0ZicpXSYmXzB4MTNkODUwW18weDE1MzA2ZSgnMHg2MzUnKV0oJ2ludmFsaWRceDIwbGVuZ3RoXHgyMGZvclx4MjAnK18weDQ1MDJlYVtfMHgxNTMwNmUoJzB4YmM3JyldLF8weDE1MzA2ZSgnMHg5NjYnKStfMHg0NTAyZWFbXzB4MTUzMDZlKCcweGJjNycpXSxfMHgzYjIxMDEpKSxfMHgxOTg0ZThbXzB4MTUzMDZlKCcweDhiNycpXSgoMHgwLF8weGI0ZDU3ZltfMHgxNTMwNmUoJzB4MzU2JyldKShfMHgzYjIxMDEpKTt9KTtsZXQgXzB4NWU5MzM3PTB4MDtpZihudWxsIT1fMHg0Y2EyYjBbXzB4MmJhOGNjKCcweDI2MicpXT8oXzB4NWU5MzM3PV8weDRjYTJiMFtfMHgyYmE4Y2MoJzB4MjYyJyldLF8weDJiYThjYygnMHgyN2EnKSE9dHlwZW9mIF8weDVlOTMzNyYmXzB4MTNkODUwWyd0aHJvd0FyZ3VtZW50RXJyb3InXShfMHgyYmE4Y2MoJzB4NGU4JyksXzB4MmJhOGNjKCcweDRjMycpLF8weDRjYTJiMCkpOl8weDNkN2Q3ZCYmISgweDAsXzB4YjRkNTdmWydpc0J5dGVzTGlrZSddKShfMHgzZDdkN2QpJiZfMHgzZDdkN2RbJ3YnXT4weDFjJiYoXzB4NWU5MzM3PU1hdGhbXzB4MmJhOGNjKCcweGJiZScpXSgoXzB4M2Q3ZDdkWyd2J10tMHgyMykvMHgyKSksMHgwIT09XzB4NWU5MzM3JiYoXzB4MTk4NGU4W18weDJiYThjYygnMHg4YjcnKV0oKDB4MCxfMHhiNGQ1N2ZbXzB4MmJhOGNjKCcweDM1NicpXSkoXzB4NWU5MzM3KSksXzB4MTk4NGU4W18weDJiYThjYygnMHg4YjcnKV0oJzB4JyksXzB4MTk4NGU4W18weDJiYThjYygnMHg4YjcnKV0oJzB4JykpLCFfMHgzZDdkN2QpcmV0dXJuIF8weDIwMDQwNVtfMHgyYmE4Y2MoJzB4YTUxJyldKF8weDE5ODRlOCk7Y29uc3QgXzB4NGM5MzEwPSgweDAsXzB4YjRkNTdmW18weDJiYThjYygnMHg5YmMnKV0pKF8weDNkN2Q3ZCk7bGV0IF8weDMwMDhjYj0weDFiK18weDRjOTMxMFtfMHgyYmE4Y2MoJzB4OGNlJyldO3JldHVybiAweDAhPT1fMHg1ZTkzMzc/KF8weDE5ODRlOFsncG9wJ10oKSxfMHgxOTg0ZThbXzB4MmJhOGNjKCcweDZkZScpXSgpLF8weDE5ODRlOFsncG9wJ10oKSxfMHgzMDA4Y2IrPTB4MipfMHg1ZTkzMzcrMHg4LF8weDRjOTMxMFsndiddPjB4MWMmJl8weDRjOTMxMFsndiddIT09XzB4MzAwOGNiJiZfMHgxM2Q4NTBbXzB4MmJhOGNjKCcweDYzNScpXShfMHgyYmE4Y2MoJzB4MmM2JyksXzB4MmJhOGNjKCcweDNhMycpLF8weDNkN2Q3ZCkpOl8weDRjOTMxMFsndiddIT09XzB4MzAwOGNiJiZfMHgxM2Q4NTBbXzB4MmJhOGNjKCcweDYzNScpXShfMHgyYmE4Y2MoJzB4MmM2JyksXzB4MmJhOGNjKCcweDNhMycpLF8weDNkN2Q3ZCksXzB4MTk4NGU4W18weDJiYThjYygnMHg4YjcnKV0oKDB4MCxfMHhiNGQ1N2ZbXzB4MmJhOGNjKCcweDM1NicpXSkoXzB4MzAwOGNiKSksXzB4MTk4NGU4W18weDJiYThjYygnMHg4YjcnKV0oKDB4MCxfMHhiNGQ1N2ZbXzB4MmJhOGNjKCcweGNmOScpXSkoKDB4MCxfMHhiNGQ1N2ZbXzB4MmJhOGNjKCcweGQwNicpXSkoXzB4NGM5MzEwWydyJ10pKSksXzB4MTk4NGU4W18weDJiYThjYygnMHg4YjcnKV0oKDB4MCxfMHhiNGQ1N2ZbXzB4MmJhOGNjKCcweGNmOScpXSkoKDB4MCxfMHhiNGQ1N2ZbJ2FycmF5aWZ5J10pKF8weDRjOTMxMFsncyddKSkpLF8weDIwMDQwNVsnZW5jb2RlJ10oXzB4MTk4NGU4KTt9KF8weDM3NWY0OSxfMHgxYWRlMzYpO3N3aXRjaChfMHgzNzVmNDlbXzB4MTg0YmFiKCcweDU3YycpXSl7Y2FzZSAweDE6cmV0dXJuIF8weDU5ZTc5NShfMHgzNzVmNDksXzB4MWFkZTM2KTtjYXNlIDB4MjpyZXR1cm4gXzB4MTg0YTY4KF8weDM3NWY0OSxfMHgxYWRlMzYpO31yZXR1cm4gXzB4MTNkODUwWyd0aHJvd0Vycm9yJ10oXzB4MTg0YmFiKCcweGE1MycpK18weDM3NWY0OVsndHlwZSddLF8weDNmNmEyYVsnTG9nZ2VyJ11bXzB4MTg0YmFiKCcweDk0OScpXVtfMHgxODRiYWIoJzB4NjMzJyldLHsnb3BlcmF0aW9uJzpfMHgxODRiYWIoJzB4MzQ4JyksJ3RyYW5zYWN0aW9uVHlwZSc6XzB4Mzc1ZjQ5W18weDE4NGJhYignMHg1N2MnKV19KTt9ZnVuY3Rpb24gXzB4NGE4MTFiKF8weDQxYzExYSxfMHgyYjIxNWIsXzB4MTU4MTk1KXt2YXIgXzB4NTQ1ODdhPV8weDNjMTk3Njt0cnl7Y29uc3QgXzB4NWIxMDI2PV8weDNmYmU2YihfMHgyYjIxNWJbMHgwXSlbXzB4NTQ1ODdhKCcweDk0MScpXSgpO2lmKDB4MCE9PV8weDViMTAyNiYmMHgxIT09XzB4NWIxMDI2KXRocm93IG5ldyBFcnJvcignYmFkXHgyMHJlY2lkJyk7XzB4NDFjMTFhWyd2J109XzB4NWIxMDI2O31jYXRjaChfMHgzODdmZWQpe18weDEzZDg1MFtfMHg1NDU4N2EoJzB4NjM1JyldKF8weDU0NTg3YSgnMHg5MmUnKSwndicsXzB4MmIyMTViWzB4MF0pO31fMHg0MWMxMWFbJ3InXT0oMHgwLF8weGI0ZDU3ZltfMHg1NDU4N2EoJzB4NDIxJyldKShfMHgyYjIxNWJbMHgxXSwweDIwKSxfMHg0MWMxMWFbJ3MnXT0oMHgwLF8weGI0ZDU3ZltfMHg1NDU4N2EoJzB4NDIxJyldKShfMHgyYjIxNWJbMHgyXSwweDIwKTt0cnl7Y29uc3QgXzB4NGRkYmZlPSgweDAsXzB4MjZlMWVmW18weDU0NTg3YSgnMHg1NjInKV0pKF8weDE1ODE5NShfMHg0MWMxMWEpKTtfMHg0MWMxMWFbXzB4NTQ1ODdhKCcweDI1MicpXT1fMHgyODFmYzcoXzB4NGRkYmZlLHsncic6XzB4NDFjMTFhWydyJ10sJ3MnOl8weDQxYzExYVsncyddLCdyZWNvdmVyeVBhcmFtJzpfMHg0MWMxMWFbJ3YnXX0pO31jYXRjaChfMHgxNDAxM2Ipe319ZnVuY3Rpb24gXzB4NTE5YzU3KF8weDVkNmQwMil7dmFyIF8weDZkYTVjMT1fMHgzYzE5NzY7Y29uc3QgXzB4MmUwNDU0PSgweDAsXzB4YjRkNTdmW18weDZkYTVjMSgnMHhkMDYnKV0pKF8weDVkNmQwMik7aWYoXzB4MmUwNDU0WzB4MF0+MHg3ZilyZXR1cm4gZnVuY3Rpb24oXzB4MmQ3ZWJmKXt2YXIgXzB4MTI2MzA1PV8weDZkYTVjMTtjb25zdCBfMHg0OWI1YWM9XzB4MjAwNDA1W18weDEyNjMwNSgnMHg1OGYnKV0oXzB4MmQ3ZWJmKTsweDkhPT1fMHg0OWI1YWNbXzB4MTI2MzA1KCcweDUyMCcpXSYmMHg2IT09XzB4NDliNWFjW18weDEyNjMwNSgnMHg1MjAnKV0mJl8weDEzZDg1MFtfMHgxMjYzMDUoJzB4NjM1JyldKF8weDEyNjMwNSgnMHgzYjQnKSxfMHgxMjYzMDUoJzB4YzBlJyksXzB4MmQ3ZWJmKTtjb25zdCBfMHgyZTEyZTQ9eydub25jZSc6XzB4M2ZiZTZiKF8weDQ5YjVhY1sweDBdKVsndG9OdW1iZXInXSgpLCdnYXNQcmljZSc6XzB4M2ZiZTZiKF8weDQ5YjVhY1sweDFdKSwnZ2FzTGltaXQnOl8weDNmYmU2YihfMHg0OWI1YWNbMHgyXSksJ3RvJzpfMHg0ZThiYzUoXzB4NDliNWFjWzB4M10pLCd2YWx1ZSc6XzB4M2ZiZTZiKF8weDQ5YjVhY1sweDRdKSwnZGF0YSc6XzB4NDliNWFjWzB4NV0sJ2NoYWluSWQnOjB4MH07aWYoMHg2PT09XzB4NDliNWFjW18weDEyNjMwNSgnMHg1MjAnKV0pcmV0dXJuIF8weDJlMTJlNDt0cnl7XzB4MmUxMmU0Wyd2J109XzB4NGU3NGRlWydPJCddW18weDEyNjMwNSgnMHgyNTInKV0oXzB4NDliNWFjWzB4Nl0pWyd0b051bWJlciddKCk7fWNhdGNoKF8weDI1ODg2Zil7cmV0dXJuIF8weDJlMTJlNDt9aWYoXzB4MmUxMmU0WydyJ109KDB4MCxfMHhiNGQ1N2ZbJ2hleFplcm9QYWQnXSkoXzB4NDliNWFjWzB4N10sMHgyMCksXzB4MmUxMmU0WydzJ109KDB4MCxfMHhiNGQ1N2ZbXzB4MTI2MzA1KCcweDQyMScpXSkoXzB4NDliNWFjWzB4OF0sMHgyMCksXzB4NGU3NGRlWydPJCddWydmcm9tJ10oXzB4MmUxMmU0WydyJ10pW18weDEyNjMwNSgnMHhhNDcnKV0oKSYmXzB4NGU3NGRlWydPJCddW18weDEyNjMwNSgnMHgyNTInKV0oXzB4MmUxMmU0WydzJ10pW18weDEyNjMwNSgnMHhhNDcnKV0oKSlfMHgyZTEyZTRbJ2NoYWluSWQnXT1fMHgyZTEyZTRbJ3YnXSxfMHgyZTEyZTRbJ3YnXT0weDA7ZWxzZXtfMHgyZTEyZTRbXzB4MTI2MzA1KCcweDI2MicpXT1NYXRoW18weDEyNjMwNSgnMHhiYmUnKV0oKF8weDJlMTJlNFsndiddLTB4MjMpLzB4MiksXzB4MmUxMmU0WydjaGFpbklkJ108MHgwJiYoXzB4MmUxMmU0W18weDEyNjMwNSgnMHgyNjInKV09MHgwKTtsZXQgXzB4OTY1NTA2PV8weDJlMTJlNFsndiddLTB4MWI7Y29uc3QgXzB4MzkyMzQ5PV8weDQ5YjVhY1tfMHgxMjYzMDUoJzB4YWRhJyldKDB4MCwweDYpOzB4MCE9PV8weDJlMTJlNFsnY2hhaW5JZCddJiYoXzB4MzkyMzQ5W18weDEyNjMwNSgnMHg4YjcnKV0oKDB4MCxfMHhiNGQ1N2ZbXzB4MTI2MzA1KCcweDM1NicpXSkoXzB4MmUxMmU0WydjaGFpbklkJ10pKSxfMHgzOTIzNDlbJ3B1c2gnXSgnMHgnKSxfMHgzOTIzNDlbXzB4MTI2MzA1KCcweDhiNycpXSgnMHgnKSxfMHg5NjU1MDYtPTB4MipfMHgyZTEyZTRbXzB4MTI2MzA1KCcweDI2MicpXSsweDgpO2NvbnN0IF8weDJkNmJlMz0oMHgwLF8weDI2ZTFlZlsna2VjY2FrMjU2J10pKF8weDIwMDQwNVsnZW5jb2RlJ10oXzB4MzkyMzQ5KSk7dHJ5e18weDJlMTJlNFsnZnJvbSddPV8weDI4MWZjNyhfMHgyZDZiZTMseydyJzooMHgwLF8weGI0ZDU3ZltfMHgxMjYzMDUoJzB4MzU2JyldKShfMHgyZTEyZTRbJ3InXSksJ3MnOigweDAsXzB4YjRkNTdmW18weDEyNjMwNSgnMHgzNTYnKV0pKF8weDJlMTJlNFsncyddKSwncmVjb3ZlcnlQYXJhbSc6XzB4OTY1NTA2fSk7fWNhdGNoKF8weDQ2N2JhYSl7fV8weDJlMTJlNFtfMHgxMjYzMDUoJzB4MmU0JyldPSgweDAsXzB4MjZlMWVmWydrZWNjYWsyNTYnXSkoXzB4MmQ3ZWJmKTt9cmV0dXJuIF8weDJlMTJlNFtfMHgxMjYzMDUoJzB4NTdjJyldPW51bGwsXzB4MmUxMmU0O30oXzB4MmUwNDU0KTtzd2l0Y2goXzB4MmUwNDU0WzB4MF0pe2Nhc2UgMHgxOnJldHVybiBmdW5jdGlvbihfMHhmMDMzNTgpe3ZhciBfMHg0NjE0MTY9XzB4NmRhNWMxO2NvbnN0IF8weDFlZDI4Nj1fMHgyMDA0MDVbXzB4NDYxNDE2KCcweDU4ZicpXShfMHhmMDMzNThbXzB4NDYxNDE2KCcweGFkYScpXSgweDEpKTsweDghPT1fMHgxZWQyODZbXzB4NDYxNDE2KCcweDUyMCcpXSYmMHhiIT09XzB4MWVkMjg2W18weDQ2MTQxNignMHg1MjAnKV0mJl8weDEzZDg1MFtfMHg0NjE0MTYoJzB4NjM1JyldKF8weDQ2MTQxNignMHhiM2InKSxfMHg0NjE0MTYoJzB4YjlkJyksKDB4MCxfMHhiNGQ1N2ZbXzB4NDYxNDE2KCcweDM1NicpXSkoXzB4ZjAzMzU4KSk7Y29uc3QgXzB4MWNhMTc2PXsndHlwZSc6MHgxLCdjaGFpbklkJzpfMHgzZmJlNmIoXzB4MWVkMjg2WzB4MF0pW18weDQ2MTQxNignMHg5NDEnKV0oKSwnbm9uY2UnOl8weDNmYmU2YihfMHgxZWQyODZbMHgxXSlbJ3RvTnVtYmVyJ10oKSwnZ2FzUHJpY2UnOl8weDNmYmU2YihfMHgxZWQyODZbMHgyXSksJ2dhc0xpbWl0JzpfMHgzZmJlNmIoXzB4MWVkMjg2WzB4M10pLCd0byc6XzB4NGU4YmM1KF8weDFlZDI4NlsweDRdKSwndmFsdWUnOl8weDNmYmU2YihfMHgxZWQyODZbMHg1XSksJ2RhdGEnOl8weDFlZDI4NlsweDZdLCdhY2Nlc3NMaXN0JzpfMHgxZGJhNDQoXzB4MWVkMjg2WzB4N10pfTtyZXR1cm4gMHg4PT09XzB4MWVkMjg2W18weDQ2MTQxNignMHg1MjAnKV18fChfMHgxY2ExNzZbXzB4NDYxNDE2KCcweDJlNCcpXT0oMHgwLF8weDI2ZTFlZlsna2VjY2FrMjU2J10pKF8weGYwMzM1OCksXzB4NGE4MTFiKF8weDFjYTE3NixfMHgxZWQyODZbJ3NsaWNlJ10oMHg4KSxfMHg1OWU3OTUpKSxfMHgxY2ExNzY7fShfMHgyZTA0NTQpO2Nhc2UgMHgyOnJldHVybiBmdW5jdGlvbihfMHg3ZWJjOWIpe3ZhciBfMHgyY2M2MmU9XzB4NmRhNWMxO2NvbnN0IF8weDE0OWVmZT1fMHgyMDA0MDVbXzB4MmNjNjJlKCcweDU4ZicpXShfMHg3ZWJjOWJbXzB4MmNjNjJlKCcweGFkYScpXSgweDEpKTsweDkhPT1fMHgxNDllZmVbJ2xlbmd0aCddJiYweGMhPT1fMHgxNDllZmVbXzB4MmNjNjJlKCcweDUyMCcpXSYmXzB4MTNkODUwW18weDJjYzYyZSgnMHg2MzUnKV0oXzB4MmNjNjJlKCcweDI2ZCcpLF8weDJjYzYyZSgnMHhiOWQnKSwoMHgwLF8weGI0ZDU3ZltfMHgyY2M2MmUoJzB4MzU2JyldKShfMHg3ZWJjOWIpKTtjb25zdCBfMHgyZDliODc9XzB4M2ZiZTZiKF8weDE0OWVmZVsweDJdKSxfMHgxY2Y5ZmE9XzB4M2ZiZTZiKF8weDE0OWVmZVsweDNdKSxfMHgyNDhhODY9eyd0eXBlJzoweDIsJ2NoYWluSWQnOl8weDNmYmU2YihfMHgxNDllZmVbMHgwXSlbXzB4MmNjNjJlKCcweDk0MScpXSgpLCdub25jZSc6XzB4M2ZiZTZiKF8weDE0OWVmZVsweDFdKVsndG9OdW1iZXInXSgpLCdtYXhQcmlvcml0eUZlZVBlckdhcyc6XzB4MmQ5Yjg3LCdtYXhGZWVQZXJHYXMnOl8weDFjZjlmYSwnZ2FzUHJpY2UnOm51bGwsJ2dhc0xpbWl0JzpfMHgzZmJlNmIoXzB4MTQ5ZWZlWzB4NF0pLCd0byc6XzB4NGU4YmM1KF8weDE0OWVmZVsweDVdKSwndmFsdWUnOl8weDNmYmU2YihfMHgxNDllZmVbMHg2XSksJ2RhdGEnOl8weDE0OWVmZVsweDddLCdhY2Nlc3NMaXN0JzpfMHgxZGJhNDQoXzB4MTQ5ZWZlWzB4OF0pfTtyZXR1cm4gMHg5PT09XzB4MTQ5ZWZlW18weDJjYzYyZSgnMHg1MjAnKV18fChfMHgyNDhhODZbJ2hhc2gnXT0oMHgwLF8weDI2ZTFlZlsna2VjY2FrMjU2J10pKF8weDdlYmM5YiksXzB4NGE4MTFiKF8weDI0OGE4NixfMHgxNDllZmVbXzB4MmNjNjJlKCcweGFkYScpXSgweDkpLF8weDE4NGE2OCkpLF8weDI0OGE4Njt9KF8weDJlMDQ1NCk7fXJldHVybiBfMHgxM2Q4NTBbXzB4NmRhNWMxKCcweDFkMCcpXSgndW5zdXBwb3J0ZWRceDIwdHJhbnNhY3Rpb25ceDIwdHlwZTpceDIwJytfMHgyZTA0NTRbMHgwXSxfMHgzZjZhMmFbXzB4NmRhNWMxKCcweGNlNycpXVsnZXJyb3JzJ11bXzB4NmRhNWMxKCcweDYzMycpXSx7J29wZXJhdGlvbic6XzB4NmRhNWMxKCcweDcwMicpLCd0cmFuc2FjdGlvblR5cGUnOl8weDJlMDQ1NFsweDBdfSk7fX0sMHgxOTI5OihfMHg0MmUzMmQsXzB4NWRjNjUyLF8weDEwOWFlNSk9PnsndXNlIHN0cmljdCc7dmFyIF8weDJiZjE1Mz1fMHgxNWEzO18weDEwOWFlNVsnciddKF8weDVkYzY1MiksXzB4MTA5YWU1WydkJ10oXzB4NWRjNjUyLHsnY29tbWlmeSc6KCk9Pl8weDVhODM4ZiwnZm9ybWF0RXRoZXInOigpPT5fMHgzZjNkNTAsJ2Zvcm1hdFVuaXRzJzooKT0+XzB4NGRkYzJlLCdwYXJzZUV0aGVyJzooKT0+XzB4NDZhM2FjLCdwYXJzZVVuaXRzJzooKT0+XzB4MjJlYTI5fSk7dmFyIF8weDQ4ODAwZj1fMHgxMDlhZTUoMHgxNGYpO2NvbnN0IF8weDQzMmUyYT1uZXcoXzB4MTA5YWU1KDB4MmM3KSlbKF8weDJiZjE1MygnMHhjZTcnKSldKF8weDJiZjE1MygnMHhjYTEnKSksXzB4ZjUzOTdjPVtfMHgyYmYxNTMoJzB4ODdkJyksXzB4MmJmMTUzKCcweDNmNicpLF8weDJiZjE1MygnMHg0YjUnKSxfMHgyYmYxNTMoJzB4MmMxJyksXzB4MmJmMTUzKCcweDFiNCcpLF8weDJiZjE1MygnMHgyMzEnKSwnZXRoZXInXTtmdW5jdGlvbiBfMHg1YTgzOGYoXzB4MThiYjVkKXt2YXIgXzB4MTRmMzM2PV8weDJiZjE1Mztjb25zdCBfMHg0NWRlOWE9U3RyaW5nKF8weDE4YmI1ZClbJ3NwbGl0J10oJy4nKTsoXzB4NDVkZTlhW18weDE0ZjMzNignMHg1MjAnKV0+MHgyfHwhXzB4NDVkZTlhWzB4MF1bXzB4MTRmMzM2KCcweDQyNScpXSgvXi0/WzAtOV0qJC8pfHxfMHg0NWRlOWFbMHgxXSYmIV8weDQ1ZGU5YVsweDFdWydtYXRjaCddKC9eWzAtOV0qJC8pfHwnLic9PT1fMHgxOGJiNWR8fCctLic9PT1fMHgxOGJiNWQpJiZfMHg0MzJlMmFbJ3Rocm93QXJndW1lbnRFcnJvciddKCdpbnZhbGlkXHgyMHZhbHVlJywndmFsdWUnLF8weDE4YmI1ZCk7bGV0IF8weGI4MmViPV8weDQ1ZGU5YVsweDBdLF8weDEyMWVjND0nJztmb3IoJy0nPT09XzB4YjgyZWJbXzB4MTRmMzM2KCcweDczZCcpXSgweDAsMHgxKSYmKF8weDEyMWVjND0nLScsXzB4YjgyZWI9XzB4YjgyZWJbJ3N1YnN0cmluZyddKDB4MSkpOycwJz09PV8weGI4MmViW18weDE0ZjMzNignMHg3M2QnKV0oMHgwLDB4MSk7KV8weGI4MmViPV8weGI4MmViW18weDE0ZjMzNignMHg3M2QnKV0oMHgxKTsnJz09PV8weGI4MmViJiYoXzB4YjgyZWI9JzAnKTtsZXQgXzB4MWYwY2NmPScnO2ZvcigweDI9PT1fMHg0NWRlOWFbXzB4MTRmMzM2KCcweDUyMCcpXSYmKF8weDFmMGNjZj0nLicrKF8weDQ1ZGU5YVsweDFdfHwnMCcpKTtfMHgxZjBjY2ZbJ2xlbmd0aCddPjB4MiYmJzAnPT09XzB4MWYwY2NmW18weDFmMGNjZltfMHgxNGYzMzYoJzB4NTIwJyldLTB4MV07KV8weDFmMGNjZj1fMHgxZjBjY2ZbXzB4MTRmMzM2KCcweDczZCcpXSgweDAsXzB4MWYwY2NmW18weDE0ZjMzNignMHg1MjAnKV0tMHgxKTtjb25zdCBfMHgyZjRjZjU9W107Zm9yKDtfMHhiODJlYltfMHgxNGYzMzYoJzB4NTIwJyldOyl7aWYoXzB4YjgyZWJbXzB4MTRmMzM2KCcweDUyMCcpXTw9MHgzKXtfMHgyZjRjZjVbJ3Vuc2hpZnQnXShfMHhiODJlYik7YnJlYWs7fXtjb25zdCBfMHg2OTg2YmU9XzB4YjgyZWJbXzB4MTRmMzM2KCcweDUyMCcpXS0weDM7XzB4MmY0Y2Y1Wyd1bnNoaWZ0J10oXzB4YjgyZWJbXzB4MTRmMzM2KCcweDczZCcpXShfMHg2OTg2YmUpKSxfMHhiODJlYj1fMHhiODJlYltfMHgxNGYzMzYoJzB4NzNkJyldKDB4MCxfMHg2OTg2YmUpO319cmV0dXJuIF8weDEyMWVjNCtfMHgyZjRjZjVbXzB4MTRmMzM2KCcweGFhNycpXSgnLCcpK18weDFmMGNjZjt9ZnVuY3Rpb24gXzB4NGRkYzJlKF8weDNjODY0OCxfMHg1MGY0MDEpe3ZhciBfMHgyNTMwNmE9XzB4MmJmMTUzO2lmKF8weDI1MzA2YSgnMHg2NWYnKT09dHlwZW9mIF8weDUwZjQwMSl7Y29uc3QgXzB4MmEzMGRkPV8weGY1Mzk3Y1tfMHgyNTMwNmEoJzB4YWMwJyldKF8weDUwZjQwMSk7LTB4MSE9PV8weDJhMzBkZCYmKF8weDUwZjQwMT0weDMqXzB4MmEzMGRkKTt9cmV0dXJuKDB4MCxfMHg0ODgwMGZbJ1M1J10pKF8weDNjODY0OCxudWxsIT1fMHg1MGY0MDE/XzB4NTBmNDAxOjB4MTIpO31mdW5jdGlvbiBfMHgyMmVhMjkoXzB4NGIwYWE4LF8weDIzMGUwNyl7dmFyIF8weDU5NGFlMD1fMHgyYmYxNTM7aWYoXzB4NTk0YWUwKCcweDY1ZicpIT10eXBlb2YgXzB4NGIwYWE4JiZfMHg0MzJlMmFbXzB4NTk0YWUwKCcweDYzNScpXSgndmFsdWVceDIwbXVzdFx4MjBiZVx4MjBhXHgyMHN0cmluZycsXzB4NTk0YWUwKCcweDg5ZCcpLF8weDRiMGFhOCksJ3N0cmluZyc9PXR5cGVvZiBfMHgyMzBlMDcpe2NvbnN0IF8weDI3OTFkMT1fMHhmNTM5N2NbXzB4NTk0YWUwKCcweGFjMCcpXShfMHgyMzBlMDcpOy0weDEhPT1fMHgyNzkxZDEmJihfMHgyMzBlMDc9MHgzKl8weDI3OTFkMSk7fXJldHVybigweDAsXzB4NDg4MDBmWydPeCddKShfMHg0YjBhYTgsbnVsbCE9XzB4MjMwZTA3P18weDIzMGUwNzoweDEyKTt9ZnVuY3Rpb24gXzB4M2YzZDUwKF8weDFiMzQ0YSl7cmV0dXJuIF8weDRkZGMyZShfMHgxYjM0NGEsMHgxMik7fWZ1bmN0aW9uIF8weDQ2YTNhYyhfMHgyYTY2YzMpe3JldHVybiBfMHgyMmVhMjkoXzB4MmE2NmMzLDB4MTIpO319LDB4MTM1ZTooXzB4NGZkNjkwLF8weDU1MTFiYyxfMHgxMTI3ODgpPT57J3VzZSBzdHJpY3QnO3ZhciBfMHg0ZTQzMDU9XzB4MTVhMztfMHgxMTI3ODhbJ3InXShfMHg1NTExYmMpLF8weDExMjc4OFsnZCddKF8weDU1MTFiYyx7J1dhbGxldCc6KCk9Pl8weDQxNjJlOCwndmVyaWZ5TWVzc2FnZSc6KCk9Pl8weDNiYTBlMywndmVyaWZ5VHlwZWREYXRhJzooKT0+XzB4NWRiYzE0fSk7dmFyIF8weDUzNDc1Mj1fMHgxMTI3ODgoMHgxMWYyKSxfMHg0OGM4MjU9XzB4MTEyNzg4KDB4MTEwMSksXzB4NTNhNTRjPV8weDExMjc4OCgweDFmZWIpLF8weDFjYzIwYz1fMHgxMTI3ODgoMHhjZDYpLF8weDQ1MzU5ZT1fMHgxMTI3ODgoMHhlNjQpLF8weDMwMmRkZT1fMHgxMTI3ODgoMHgxZTkzKSxfMHgzZmU4OWE9XzB4MTEyNzg4KDB4MTg4MiksXzB4MjVhZDE3PV8weDExMjc4OCgweDIwMDUpLF8weGMyNjYzMj1fMHgxMTI3ODgoMHhlMDMpLF8weDVjYWE0Nz1fMHgxMTI3ODgoMHgxMTdlKSxfMHgzNzIzZjI9XzB4MTEyNzg4KDB4YWQwKSxfMHgzNTJmNzg9XzB4MTEyNzg4KDB4N2FjKSxfMHg0MGI1MzE9XzB4MTEyNzg4KDB4MjRhNCksXzB4M2Q5YzdhPV8weDExMjc4OCgweDExMTkpLF8weDUwZmI4MD1fMHgxMTI3ODgoMHgyYzcpLF8weDRlOGMyMT1mdW5jdGlvbihfMHgxOTMyYzQsXzB4MTM2N2FmLF8weDUxYjNiMSxfMHg1M2MyMWIpe3JldHVybiBuZXcoXzB4NTFiM2IxfHwoXzB4NTFiM2IxPVByb21pc2UpKShmdW5jdGlvbihfMHgzNTZlYzgsXzB4MjU1MGNhKXt2YXIgXzB4NWU1ZjMzPV8weDE1YTM7ZnVuY3Rpb24gXzB4MjJlZDNmKF8weDVhZmJkYyl7dmFyIF8weDNiMjUxYz1fMHgxNWEzO3RyeXtfMHg0ZmRlYTkoXzB4NTNjMjFiW18weDNiMjUxYygnMHg3NDAnKV0oXzB4NWFmYmRjKSk7fWNhdGNoKF8weDJhMTM3MCl7XzB4MjU1MGNhKF8weDJhMTM3MCk7fX1mdW5jdGlvbiBfMHgzMjMxYjYoXzB4NGViYzhmKXt2YXIgXzB4NWYzZjRkPV8weDE1YTM7dHJ5e18weDRmZGVhOShfMHg1M2MyMWJbXzB4NWYzZjRkKCcweGFlMycpXShfMHg0ZWJjOGYpKTt9Y2F0Y2goXzB4MTUwMmQ4KXtfMHgyNTUwY2EoXzB4MTUwMmQ4KTt9fWZ1bmN0aW9uIF8weDRmZGVhOShfMHg0MTUzOTQpe3ZhciBfMHhmOTcyNmY9XzB4MTVhMyxfMHg1NWYxM2Y7XzB4NDE1Mzk0W18weGY5NzI2ZignMHhjNWMnKV0/XzB4MzU2ZWM4KF8weDQxNTM5NFtfMHhmOTcyNmYoJzB4ODlkJyldKTooXzB4NTVmMTNmPV8weDQxNTM5NFtfMHhmOTcyNmYoJzB4ODlkJyldLF8weDU1ZjEzZiBpbnN0YW5jZW9mIF8weDUxYjNiMT9fMHg1NWYxM2Y6bmV3IF8weDUxYjNiMShmdW5jdGlvbihfMHgxZTVjMDMpe18weDFlNWMwMyhfMHg1NWYxM2YpO30pKVtfMHhmOTcyNmYoJzB4ZDM0JyldKF8weDIyZWQzZixfMHgzMjMxYjYpO31fMHg0ZmRlYTkoKF8weDUzYzIxYj1fMHg1M2MyMWJbXzB4NWU1ZjMzKCcweDQ0MicpXShfMHgxOTMyYzQsXzB4MTM2N2FmfHxbXSkpW18weDVlNWYzMygnMHg3NDAnKV0oKSk7fSk7fTtjb25zdCBfMHhlNDBiYjg9bmV3IF8weDUwZmI4MFsoXzB4NGU0MzA1KCcweGNlNycpKV0oJ3dhbGxldC81LjcuMCcpO2NsYXNzIF8weDQxNjJlOCBleHRlbmRzIF8weDUzYTU0Y1snRSdde2NvbnN0cnVjdG9yKF8weDMxMDAxZixfMHgyNmViMWUpe3ZhciBfMHgxZjg0YmY9XzB4NGU0MzA1O2lmKHN1cGVyKCksbnVsbCE9KF8weDE2MjUzZj1fMHgzMTAwMWYpJiYoMHgwLF8weDFjYzIwY1snaXNIZXhTdHJpbmcnXSkoXzB4MTYyNTNmW18weDFmODRiZignMHg2YmInKV0sMHgyMCkmJm51bGwhPV8weDE2MjUzZltfMHgxZjg0YmYoJzB4MWQxJyldKXtjb25zdCBfMHg2MTlmZjk9bmV3IF8weDM3MjNmMlsoXzB4MWY4NGJmKCcweDIyMycpKV0oXzB4MzEwMDFmW18weDFmODRiZignMHg2YmInKV0pO2lmKCgweDAsXzB4YzI2NjMyWydkZWZpbmVSZWFkT25seSddKSh0aGlzLF8weDFmODRiZignMHgyZmMnKSwoKT0+XzB4NjE5ZmY5KSwoMHgwLF8weGMyNjYzMltfMHgxZjg0YmYoJzB4Y2U5JyldKSh0aGlzLF8weDFmODRiZignMHgxZDEnKSwoMHgwLF8weDNkOWM3YVtfMHgxZjg0YmYoJzB4NTgyJyldKSh0aGlzWydwdWJsaWNLZXknXSkpLHRoaXNbXzB4MWY4NGJmKCcweDFkMScpXSE9PSgweDAsXzB4NTM0NzUyW18weDFmODRiZignMHgzZGYnKV0pKF8weDMxMDAxZltfMHgxZjg0YmYoJzB4MWQxJyldKSYmXzB4ZTQwYmI4W18weDFmODRiZignMHg2MzUnKV0oXzB4MWY4NGJmKCcweDM1ZicpLF8weDFmODRiZignMHg2YmInKSwnW1JFREFDVEVEXScpLGZ1bmN0aW9uKF8weDFmYmI2OSl7dmFyIF8weDFiZDk1Mj1fMHgxZjg0YmY7Y29uc3QgXzB4MjBkYmVjPV8weDFmYmI2OVsnbW5lbW9uaWMnXTtyZXR1cm4gXzB4MjBkYmVjJiZfMHgyMGRiZWNbXzB4MWJkOTUyKCcweDQ0YycpXTt9KF8weDMxMDAxZikpe2NvbnN0IF8weDUyNDMyZD1fMHgzMTAwMWZbJ21uZW1vbmljJ107KDB4MCxfMHhjMjY2MzJbJ2RlZmluZVJlYWRPbmx5J10pKHRoaXMsJ19tbmVtb25pYycsKCk9Pih7J3BocmFzZSc6XzB4NTI0MzJkWydwaHJhc2UnXSwncGF0aCc6XzB4NTI0MzJkW18weDFmODRiZignMHhiMjknKV18fF8weDNmZTg5YVsnZGVmYXVsdFBhdGgnXSwnbG9jYWxlJzpfMHg1MjQzMmRbXzB4MWY4NGJmKCcweDQ1MycpXXx8J2VuJ30pKTtjb25zdCBfMHg0YTNlNTA9dGhpc1tfMHgxZjg0YmYoJzB4OGViJyldLF8weDUwZDVlMz1fMHgzZmU4OWFbJ0hETm9kZSddW18weDFmODRiZignMHgxYjcnKV0oXzB4NGEzZTUwWydwaHJhc2UnXSxudWxsLF8weDRhM2U1MFtfMHgxZjg0YmYoJzB4NDUzJyldKVsnZGVyaXZlUGF0aCddKF8weDRhM2U1MFtfMHgxZjg0YmYoJzB4YjI5JyldKTsoMHgwLF8weDNkOWM3YVtfMHgxZjg0YmYoJzB4NTgyJyldKShfMHg1MGQ1ZTNbXzB4MWY4NGJmKCcweDZiYicpXSkhPT10aGlzWydhZGRyZXNzJ10mJl8weGU0MGJiOFtfMHgxZjg0YmYoJzB4NjM1JyldKF8weDFmODRiZignMHhjYjQnKSxfMHgxZjg0YmYoJzB4NmJiJyksXzB4MWY4NGJmKCcweDUwOCcpKTt9ZWxzZSgweDAsXzB4YzI2NjMyW18weDFmODRiZignMHhjZTknKV0pKHRoaXMsXzB4MWY4NGJmKCcweDFmNycpLCgpPT5udWxsKTt9ZWxzZXtpZihfMHgzNzIzZjJbJ1NpZ25pbmdLZXknXVtfMHgxZjg0YmYoJzB4NTk4JyldKF8weDMxMDAxZikpXzB4MWY4NGJmKCcweDQ2MScpIT09XzB4MzEwMDFmWydjdXJ2ZSddJiZfMHhlNDBiYjhbXzB4MWY4NGJmKCcweDYzNScpXSgndW5zdXBwb3J0ZWRceDIwY3VydmU7XHgyMG11c3RceDIwYmVceDIwc2VjcDI1NmsxJyxfMHgxZjg0YmYoJzB4NmJiJyksJ1tSRURBQ1RFRF0nKSwoMHgwLF8weGMyNjYzMlsnZGVmaW5lUmVhZE9ubHknXSkodGhpcyxfMHgxZjg0YmYoJzB4MmZjJyksKCk9Pl8weDMxMDAxZik7ZWxzZXtfMHgxZjg0YmYoJzB4NjVmJyk9PXR5cGVvZiBfMHgzMTAwMWYmJl8weDMxMDAxZltfMHgxZjg0YmYoJzB4NDI1JyldKC9eWzAtOWEtZl0qJC9pKSYmMHg0MD09PV8weDMxMDAxZltfMHgxZjg0YmYoJzB4NTIwJyldJiYoXzB4MzEwMDFmPScweCcrXzB4MzEwMDFmKTtjb25zdCBfMHg1YzBhZWE9bmV3IF8weDM3MjNmMlsoXzB4MWY4NGJmKCcweDIyMycpKV0oXzB4MzEwMDFmKTsoMHgwLF8weGMyNjYzMltfMHgxZjg0YmYoJzB4Y2U5JyldKSh0aGlzLF8weDFmODRiZignMHgyZmMnKSwoKT0+XzB4NWMwYWVhKTt9KDB4MCxfMHhjMjY2MzJbXzB4MWY4NGJmKCcweGNlOScpXSkodGhpcyxfMHgxZjg0YmYoJzB4MWY3JyksKCk9Pm51bGwpLCgweDAsXzB4YzI2NjMyWydkZWZpbmVSZWFkT25seSddKSh0aGlzLF8weDFmODRiZignMHgxZDEnKSwoMHgwLF8weDNkOWM3YVtfMHgxZjg0YmYoJzB4NTgyJyldKSh0aGlzWydwdWJsaWNLZXknXSkpO312YXIgXzB4MTYyNTNmO18weDI2ZWIxZSYmIV8weDQ4YzgyNVsnenQnXVtfMHgxZjg0YmYoJzB4NmI0JyldKF8weDI2ZWIxZSkmJl8weGU0MGJiOFsndGhyb3dBcmd1bWVudEVycm9yJ10oJ2ludmFsaWRceDIwcHJvdmlkZXInLCdwcm92aWRlcicsXzB4MjZlYjFlKSwoMHgwLF8weGMyNjYzMltfMHgxZjg0YmYoJzB4Y2U5JyldKSh0aGlzLF8weDFmODRiZignMHhkMzInKSxfMHgyNmViMWV8fG51bGwpO31nZXRbXzB4NGU0MzA1KCcweDhlYicpXSgpe3JldHVybiB0aGlzWydfbW5lbW9uaWMnXSgpO31nZXRbXzB4NGU0MzA1KCcweDZiYicpXSgpe3ZhciBfMHhjNDY2YjE9XzB4NGU0MzA1O3JldHVybiB0aGlzW18weGM0NjZiMSgnMHgyZmMnKV0oKVsncHJpdmF0ZUtleSddO31nZXRbXzB4NGU0MzA1KCcweDdiZScpXSgpe3ZhciBfMHgyNzU2YWU9XzB4NGU0MzA1O3JldHVybiB0aGlzW18weDI3NTZhZSgnMHgyZmMnKV0oKVsncHVibGljS2V5J107fVtfMHg0ZTQzMDUoJzB4M2RmJyldKCl7dmFyIF8weDE5MjkxZD1fMHg0ZTQzMDU7cmV0dXJuIFByb21pc2VbJ3Jlc29sdmUnXSh0aGlzW18weDE5MjkxZCgnMHgxZDEnKV0pO31bXzB4NGU0MzA1KCcweDkxMCcpXShfMHg1MDY1NzQpe3JldHVybiBuZXcgXzB4NDE2MmU4KHRoaXMsXzB4NTA2NTc0KTt9W18weDRlNDMwNSgnMHgzMTcnKV0oXzB4NTQzNTNlKXt2YXIgXzB4NTc1Y2E2PV8weDRlNDMwNTtyZXR1cm4oMHgwLF8weGMyNjYzMlsncmVzb2x2ZVByb3BlcnRpZXMnXSkoXzB4NTQzNTNlKVtfMHg1NzVjYTYoJzB4ZDM0JyldKF8weDQ0Y2YwYj0+e3ZhciBfMHhjMWUzZTE9XzB4NTc1Y2E2O251bGwhPV8weDQ0Y2YwYltfMHhjMWUzZTEoJzB4MjUyJyldJiYoKDB4MCxfMHg1MzQ3NTJbJ2dldEFkZHJlc3MnXSkoXzB4NDRjZjBiW18weGMxZTNlMSgnMHgyNTInKV0pIT09dGhpc1snYWRkcmVzcyddJiZfMHhlNDBiYjhbXzB4YzFlM2UxKCcweDYzNScpXShfMHhjMWUzZTEoJzB4MzA1JyksXzB4YzFlM2UxKCcweGE0MicpLF8weDU0MzUzZVtfMHhjMWUzZTEoJzB4MjUyJyldKSxkZWxldGUgXzB4NDRjZjBiW18weGMxZTNlMSgnMHgyNTInKV0pO2NvbnN0IF8weDM4YjYwZT10aGlzWydfc2lnbmluZ0tleSddKClbXzB4YzFlM2UxKCcweGJiYycpXSgoMHgwLF8weDI1YWQxN1tfMHhjMWUzZTEoJzB4NTYyJyldKSgoMHgwLF8weDNkOWM3YVtfMHhjMWUzZTEoJzB4MzkxJyldKShfMHg0NGNmMGIpKSk7cmV0dXJuKDB4MCxfMHgzZDljN2FbJ3NlcmlhbGl6ZSddKShfMHg0NGNmMGIsXzB4MzhiNjBlKTt9KTt9W18weDRlNDMwNSgnMHg2YzInKV0oXzB4NDViNjI3KXtyZXR1cm4gXzB4NGU4YzIxKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDFjYTU0Nj1fMHgxNWEzO3JldHVybigweDAsXzB4MWNjMjBjWydqb2luU2lnbmF0dXJlJ10pKHRoaXNbXzB4MWNhNTQ2KCcweDJmYycpXSgpW18weDFjYTU0NignMHhiYmMnKV0oKDB4MCxfMHg0NTM1OWVbJ3InXSkoXzB4NDViNjI3KSkpO30pO31bXzB4NGU0MzA1KCcweDgyNScpXShfMHg1YzJhM2MsXzB4NDAwNzM0LF8weDZhNTA4Yyl7cmV0dXJuIF8weDRlOGMyMSh0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHgyMGFhNmM9XzB4MTVhMztjb25zdCBfMHgxNzQ0OWU9eWllbGQgXzB4MzAyZGRlWydFJ11bXzB4MjBhYTZjKCcweDQzMycpXShfMHg1YzJhM2MsXzB4NDAwNzM0LF8weDZhNTA4YyxfMHgzYmI5ZmM9PihudWxsPT10aGlzW18weDIwYWE2YygnMHhkMzInKV0mJl8weGU0MGJiOFsndGhyb3dFcnJvciddKF8weDIwYWE2YygnMHg2M2InKSxfMHg1MGZiODBbXzB4MjBhYTZjKCcweGNlNycpXVtfMHgyMGFhNmMoJzB4OTQ5JyldW18weDIwYWE2YygnMHg2MzMnKV0seydvcGVyYXRpb24nOl8weDIwYWE2YygnMHhjZDAnKSwndmFsdWUnOl8weDNiYjlmY30pLHRoaXNbXzB4MjBhYTZjKCcweGQzMicpXVsncmVzb2x2ZU5hbWUnXShfMHgzYmI5ZmMpKSk7cmV0dXJuKDB4MCxfMHgxY2MyMGNbXzB4MjBhYTZjKCcweDU3YScpXSkodGhpc1tfMHgyMGFhNmMoJzB4MmZjJyldKClbXzB4MjBhYTZjKCcweGJiYycpXShfMHgzMDJkZGVbJ0UnXVtfMHgyMGFhNmMoJzB4MmU0JyldKF8weDE3NDQ5ZVsnZG9tYWluJ10sXzB4NDAwNzM0LF8weDE3NDQ5ZVtfMHgyMGFhNmMoJzB4ODlkJyldKSkpO30pO31bJ2VuY3J5cHQnXShfMHgyOTVkZGMsXzB4MjhkNDkwLF8weDUwMGE1OCl7dmFyIF8weDJjNzI1Nj1fMHg0ZTQzMDU7aWYoXzB4MmM3MjU2KCcweGM3YicpIT10eXBlb2YgXzB4MjhkNDkwfHxfMHg1MDBhNTh8fChfMHg1MDBhNTg9XzB4MjhkNDkwLF8weDI4ZDQ5MD17fSksXzB4NTAwYTU4JiZfMHgyYzcyNTYoJzB4YzdiJykhPXR5cGVvZiBfMHg1MDBhNTgpdGhyb3cgbmV3IEVycm9yKF8weDJjNzI1NignMHg3YmInKSk7cmV0dXJuIF8weDI4ZDQ5MHx8KF8weDI4ZDQ5MD17fSksKDB4MCxfMHgzNTJmNzhbJ0hJJ10pKHRoaXMsXzB4Mjk1ZGRjLF8weDI4ZDQ5MCxfMHg1MDBhNTgpO31zdGF0aWNbXzB4NGU0MzA1KCcweDMwZCcpXShfMHg0OTU0ZTgpe3ZhciBfMHgyNzA2OGU9XzB4NGU0MzA1O2xldCBfMHgxYmM3MWU9KDB4MCxfMHg1Y2FhNDdbJ08nXSkoMHgxMCk7XzB4NDk1NGU4fHwoXzB4NDk1NGU4PXt9KSxfMHg0OTU0ZThbJ2V4dHJhRW50cm9weSddJiYoXzB4MWJjNzFlPSgweDAsXzB4MWNjMjBjW18weDI3MDY4ZSgnMHhkMDYnKV0pKCgweDAsXzB4MWNjMjBjW18weDI3MDY4ZSgnMHg4MTEnKV0pKCgweDAsXzB4MjVhZDE3W18weDI3MDY4ZSgnMHg1NjInKV0pKCgweDAsXzB4MWNjMjBjW18weDI3MDY4ZSgnMHg1MzAnKV0pKFtfMHgxYmM3MWUsXzB4NDk1NGU4W18weDI3MDY4ZSgnMHhkNWEnKV1dKSksMHgwLDB4MTApKSk7Y29uc3QgXzB4MWZjMDRmPSgweDAsXzB4M2ZlODlhW18weDI3MDY4ZSgnMHg0M2InKV0pKF8weDFiYzcxZSxfMHg0OTU0ZThbXzB4MjcwNjhlKCcweDQ1MycpXSk7cmV0dXJuIF8weDQxNjJlOFtfMHgyNzA2OGUoJzB4MWI3JyldKF8weDFmYzA0ZixfMHg0OTU0ZThbXzB4MjcwNjhlKCcweGIyOScpXSxfMHg0OTU0ZThbJ2xvY2FsZSddKTt9c3RhdGljW18weDRlNDMwNSgnMHgxYmInKV0oXzB4MjEwMjY2LF8weDMyZjAwNSxfMHgzYjc1YTcpe3JldHVybigweDAsXzB4NDBiNTMxWydkZWNyeXB0SnNvbldhbGxldCddKShfMHgyMTAyNjYsXzB4MzJmMDA1LF8weDNiNzVhNylbJ3RoZW4nXShfMHg1ODE0NTA9Pm5ldyBfMHg0MTYyZTgoXzB4NTgxNDUwKSk7fXN0YXRpY1tfMHg0ZTQzMDUoJzB4N2EzJyldKF8weDRmZjNkYixfMHg0NDMwN2Upe3JldHVybiBuZXcgXzB4NDE2MmU4KCgweDAsXzB4NDBiNTMxWydkZWNyeXB0SnNvbldhbGxldFN5bmMnXSkoXzB4NGZmM2RiLF8weDQ0MzA3ZSkpO31zdGF0aWNbJ2Zyb21NbmVtb25pYyddKF8weDJlOGUxMCxfMHgxOTY1M2MsXzB4MmNiZTQwKXt2YXIgXzB4M2FlY2ZkPV8weDRlNDMwNTtyZXR1cm4gXzB4MTk2NTNjfHwoXzB4MTk2NTNjPV8weDNmZTg5YVtfMHgzYWVjZmQoJzB4YWEyJyldKSxuZXcgXzB4NDE2MmU4KF8weDNmZTg5YVsnSEROb2RlJ11bXzB4M2FlY2ZkKCcweDFiNycpXShfMHgyZThlMTAsbnVsbCxfMHgyY2JlNDApWydkZXJpdmVQYXRoJ10oXzB4MTk2NTNjKSk7fX1mdW5jdGlvbiBfMHgzYmEwZTMoXzB4YmY5NDk1LF8weGY2YTFjKXtyZXR1cm4oMHgwLF8weDNkOWM3YVsncmVjb3ZlckFkZHJlc3MnXSkoKDB4MCxfMHg0NTM1OWVbJ3InXSkoXzB4YmY5NDk1KSxfMHhmNmExYyk7fWZ1bmN0aW9uIF8weDVkYmMxNChfMHg0Y2E3MmYsXzB4Mjg0ZGM3LF8weDRiMjU0YyxfMHgzYTMwMmUpe3ZhciBfMHg1ZjJmYzc9XzB4NGU0MzA1O3JldHVybigweDAsXzB4M2Q5YzdhW18weDVmMmZjNygnMHg5NGYnKV0pKF8weDMwMmRkZVsnRSddW18weDVmMmZjNygnMHgyZTQnKV0oXzB4NGNhNzJmLF8weDI4NGRjNyxfMHg0YjI1NGMpLF8weDNhMzAyZSk7fX0sMHgyMDk1OihfMHgyNzllMGMsXzB4MTY0MGYxLF8weDM3NGEyMik9PnsndXNlIHN0cmljdCc7dmFyIF8weGNhYjMzZT1fMHgxNWEzO18weDM3NGEyMlsnciddKF8weDE2NDBmMSksXzB4Mzc0YTIyWydkJ10oXzB4MTY0MGYxLHsnX2ZldGNoRGF0YSc6KCk9Pl8weDNjOGFkZCwnZmV0Y2hKc29uJzooKT0+XzB4NWE4MWVjLCdwb2xsJzooKT0+XzB4MjRiNTdhfSk7dmFyIF8weDJhMTlhNj1fMHgzNzRhMjIoMHgyNTVmKSxfMHg0ZDFmODY9XzB4Mzc0YTIyKDB4Y2Q2KSxfMHg1NjAzZGI9XzB4Mzc0YTIyKDB4ZTAzKSxfMHg1OTU1Zjg9XzB4Mzc0YTIyKDB4MTA5MiksXzB4MTY5NTUzPV8weDM3NGEyMigweDJjNyksXzB4MmZlOTBiPWZ1bmN0aW9uKF8weDE5ODdlYyxfMHgyNzc4YjMsXzB4MTIwNzc3LF8weDM5NWNlMCl7cmV0dXJuIG5ldyhfMHgxMjA3Nzd8fChfMHgxMjA3Nzc9UHJvbWlzZSkpKGZ1bmN0aW9uKF8weDIwNTg4YSxfMHg0NzBlZTEpe3ZhciBfMHg0Y2Q5YjE9XzB4MTVhMztmdW5jdGlvbiBfMHg0OTVkZjAoXzB4NDA2NTNlKXt0cnl7XzB4NDFiOGQwKF8weDM5NWNlMFsnbmV4dCddKF8weDQwNjUzZSkpO31jYXRjaChfMHg1NWIzNCl7XzB4NDcwZWUxKF8weDU1YjM0KTt9fWZ1bmN0aW9uIF8weDE4YjdlOChfMHgzM2UyOTEpe3ZhciBfMHgzM2RmNDE9XzB4MTVhMzt0cnl7XzB4NDFiOGQwKF8weDM5NWNlMFtfMHgzM2RmNDEoJzB4YWUzJyldKF8weDMzZTI5MSkpO31jYXRjaChfMHhiOWJmNzQpe18weDQ3MGVlMShfMHhiOWJmNzQpO319ZnVuY3Rpb24gXzB4NDFiOGQwKF8weDUzODI1Zil7dmFyIF8weDI4ODI5OT1fMHgxNWEzLF8weDNjMzFhMDtfMHg1MzgyNWZbXzB4Mjg4Mjk5KCcweGM1YycpXT9fMHgyMDU4OGEoXzB4NTM4MjVmWyd2YWx1ZSddKTooXzB4M2MzMWEwPV8weDUzODI1ZltfMHgyODgyOTkoJzB4ODlkJyldLF8weDNjMzFhMCBpbnN0YW5jZW9mIF8weDEyMDc3Nz9fMHgzYzMxYTA6bmV3IF8weDEyMDc3NyhmdW5jdGlvbihfMHgyNjgwOTYpe18weDI2ODA5NihfMHgzYzMxYTApO30pKVtfMHgyODgyOTkoJzB4ZDM0JyldKF8weDQ5NWRmMCxfMHgxOGI3ZTgpO31fMHg0MWI4ZDAoKF8weDM5NWNlMD1fMHgzOTVjZTBbXzB4NGNkOWIxKCcweDQ0MicpXShfMHgxOTg3ZWMsXzB4Mjc3OGIzfHxbXSkpWyduZXh0J10oKSk7fSk7fTtmdW5jdGlvbiBfMHg0MDllNTgoXzB4NDliYzMwLF8weDVlZjNmYyl7cmV0dXJuIF8weDJmZTkwYih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHgxYTc4Y2U9XzB4MTVhMztudWxsPT1fMHg1ZWYzZmMmJihfMHg1ZWYzZmM9e30pO2NvbnN0IF8weDMxMjM4Yj17J21ldGhvZCc6XzB4NWVmM2ZjWydtZXRob2QnXXx8XzB4MWE3OGNlKCcweDRlNycpLCdoZWFkZXJzJzpfMHg1ZWYzZmNbJ2hlYWRlcnMnXXx8e30sJ2JvZHknOl8weDVlZjNmY1snYm9keSddfHx2b2lkIDB4MH07aWYoITB4MCE9PV8weDVlZjNmY1snc2tpcEZldGNoU2V0dXAnXSYmKF8weDMxMjM4YltfMHgxYTc4Y2UoJzB4YThhJyldPSdjb3JzJyxfMHgzMTIzOGJbXzB4MWE3OGNlKCcweDVkNicpXT0nbm8tY2FjaGUnLF8weDMxMjM4YltfMHgxYTc4Y2UoJzB4NjY5JyldPV8weDFhNzhjZSgnMHg5ZDgnKSxfMHgzMTIzOGJbXzB4MWE3OGNlKCcweDNkYScpXT0nZm9sbG93JyxfMHgzMTIzOGJbXzB4MWE3OGNlKCcweGE0MCcpXT1fMHgxYTc4Y2UoJzB4NTRkJykpLG51bGwhPV8weDVlZjNmY1snZmV0Y2hPcHRpb25zJ10pe2NvbnN0IF8weDJmYWUzZj1fMHg1ZWYzZmNbXzB4MWE3OGNlKCcweDMyMScpXTtfMHgyZmFlM2ZbXzB4MWE3OGNlKCcweGE4YScpXSYmKF8weDMxMjM4YlsnbW9kZSddPV8weDJmYWUzZltfMHgxYTc4Y2UoJzB4YThhJyldKSxfMHgyZmFlM2ZbXzB4MWE3OGNlKCcweDVkNicpXSYmKF8weDMxMjM4YlsnY2FjaGUnXT1fMHgyZmFlM2ZbXzB4MWE3OGNlKCcweDVkNicpXSksXzB4MmZhZTNmWydjcmVkZW50aWFscyddJiYoXzB4MzEyMzhiWydjcmVkZW50aWFscyddPV8weDJmYWUzZltfMHgxYTc4Y2UoJzB4NjY5JyldKSxfMHgyZmFlM2ZbXzB4MWE3OGNlKCcweDNkYScpXSYmKF8weDMxMjM4YltfMHgxYTc4Y2UoJzB4M2RhJyldPV8weDJmYWUzZltfMHgxYTc4Y2UoJzB4M2RhJyldKSxfMHgyZmFlM2ZbXzB4MWE3OGNlKCcweGE0MCcpXSYmKF8weDMxMjM4YltfMHgxYTc4Y2UoJzB4YTQwJyldPV8weDJmYWUzZltfMHgxYTc4Y2UoJzB4YTQwJyldKTt9Y29uc3QgXzB4OWYyYjgwPXlpZWxkIGZldGNoKF8weDQ5YmMzMCxfMHgzMTIzOGIpLF8weDU2NDYxYT15aWVsZCBfMHg5ZjJiODBbXzB4MWE3OGNlKCcweDM4MCcpXSgpLF8weDI0YmQ2Zj17fTtyZXR1cm4gXzB4OWYyYjgwWydoZWFkZXJzJ11bXzB4MWE3OGNlKCcweDUxZScpXT9fMHg5ZjJiODBbXzB4MWE3OGNlKCcweDQzYScpXVtfMHgxYTc4Y2UoJzB4NTFlJyldKChfMHg1YzA2ZTMsXzB4MTJhNTZlKT0+e3ZhciBfMHg1Njc5OGI9XzB4MWE3OGNlO18weDI0YmQ2ZltfMHgxMmE1NmVbXzB4NTY3OThiKCcweDg3MCcpXSgpXT1fMHg1YzA2ZTM7fSk6XzB4OWYyYjgwW18weDFhNzhjZSgnMHg0M2EnKV1bXzB4MWE3OGNlKCcweDYzNicpXSgpW18weDFhNzhjZSgnMHg1MWUnKV0oXzB4MmFkZjJlPT57dmFyIF8weDQ3ODM2MD1fMHgxYTc4Y2U7XzB4MjRiZDZmW18weDJhZGYyZVtfMHg0NzgzNjAoJzB4ODcwJyldKCldPV8weDlmMmI4MFsnaGVhZGVycyddW18weDQ3ODM2MCgnMHg1N2QnKV0oXzB4MmFkZjJlKTt9KSx7J2hlYWRlcnMnOl8weDI0YmQ2Ziwnc3RhdHVzQ29kZSc6XzB4OWYyYjgwWydzdGF0dXMnXSwnc3RhdHVzTWVzc2FnZSc6XzB4OWYyYjgwW18weDFhNzhjZSgnMHg1ZjknKV0sJ2JvZHknOigweDAsXzB4NGQxZjg2W18weDFhNzhjZSgnMHhkMDYnKV0pKG5ldyBVaW50OEFycmF5KF8weDU2NDYxYSkpfTt9KTt9dmFyIF8weDM2NGY0MT1mdW5jdGlvbihfMHg1N2NmYWQsXzB4NTNiNjBiLF8weDVlODUxOSxfMHg1ODQyMjEpe3JldHVybiBuZXcoXzB4NWU4NTE5fHwoXzB4NWU4NTE5PVByb21pc2UpKShmdW5jdGlvbihfMHgyOWJlODAsXzB4MjMyZGIzKXt2YXIgXzB4MmI2ZmI1PV8weDE1YTM7ZnVuY3Rpb24gXzB4MzMxYjdhKF8weDRjMDBjOCl7dmFyIF8weDViOTczOT1fMHgxNWEzO3RyeXtfMHgyNDM0OTIoXzB4NTg0MjIxW18weDViOTczOSgnMHg3NDAnKV0oXzB4NGMwMGM4KSk7fWNhdGNoKF8weDFiYjhmZCl7XzB4MjMyZGIzKF8weDFiYjhmZCk7fX1mdW5jdGlvbiBfMHg1ZWRjYjEoXzB4NDJjMWQ3KXt2YXIgXzB4MjM4Njc1PV8weDE1YTM7dHJ5e18weDI0MzQ5MihfMHg1ODQyMjFbXzB4MjM4Njc1KCcweGFlMycpXShfMHg0MmMxZDcpKTt9Y2F0Y2goXzB4NTE0YmQ3KXtfMHgyMzJkYjMoXzB4NTE0YmQ3KTt9fWZ1bmN0aW9uIF8weDI0MzQ5MihfMHg0NjkyNGIpe3ZhciBfMHg0ZDkxY2U9XzB4MTVhMyxfMHg0Mjg1ZjI7XzB4NDY5MjRiW18weDRkOTFjZSgnMHhjNWMnKV0/XzB4MjliZTgwKF8weDQ2OTI0YltfMHg0ZDkxY2UoJzB4ODlkJyldKTooXzB4NDI4NWYyPV8weDQ2OTI0YltfMHg0ZDkxY2UoJzB4ODlkJyldLF8weDQyODVmMiBpbnN0YW5jZW9mIF8weDVlODUxOT9fMHg0Mjg1ZjI6bmV3IF8weDVlODUxOShmdW5jdGlvbihfMHgyODY3MGEpe18weDI4NjcwYShfMHg0Mjg1ZjIpO30pKVtfMHg0ZDkxY2UoJzB4ZDM0JyldKF8weDMzMWI3YSxfMHg1ZWRjYjEpO31fMHgyNDM0OTIoKF8weDU4NDIyMT1fMHg1ODQyMjFbJ2FwcGx5J10oXzB4NTdjZmFkLF8weDUzYjYwYnx8W10pKVtfMHgyYjZmYjUoJzB4NzQwJyldKCkpO30pO307Y29uc3QgXzB4NGI2MTFkPW5ldyBfMHgxNjk1NTNbKF8weGNhYjMzZSgnMHhjZTcnKSldKF8weGNhYjMzZSgnMHhiYzUnKSk7ZnVuY3Rpb24gXzB4MWE3ZmY5KF8weDFkNzg4Nyl7cmV0dXJuIG5ldyBQcm9taXNlKF8weDZiOGNjPT57c2V0VGltZW91dChfMHg2YjhjYyxfMHgxZDc4ODcpO30pO31mdW5jdGlvbiBfMHg1OTU1ZjkoXzB4NzczNDkzLF8weGMxYTc0MCl7dmFyIF8weDUwOWI3Mj1fMHhjYWIzM2U7aWYobnVsbD09XzB4NzczNDkzKXJldHVybiBudWxsO2lmKF8weDUwOWI3MignMHg2NWYnKT09dHlwZW9mIF8weDc3MzQ5MylyZXR1cm4gXzB4NzczNDkzO2lmKCgweDAsXzB4NGQxZjg2W18weDUwOWI3MignMHg4NmUnKV0pKF8weDc3MzQ5Mykpe2lmKF8weGMxYTc0MCYmKF8weDUwOWI3MignMHgyMTInKT09PV8weGMxYTc0MFtfMHg1MDliNzIoJzB4OTk0JyldKCcvJylbMHgwXXx8J2FwcGxpY2F0aW9uL2pzb24nPT09XzB4YzFhNzQwW18weDUwOWI3MignMHg5OTQnKV0oJzsnKVsweDBdWyd0cmltJ10oKSkpdHJ5e3JldHVybigweDAsXzB4NTk1NWY4WydaTiddKShfMHg3NzM0OTMpO31jYXRjaChfMHhmMDQ3MTkpe31yZXR1cm4oMHgwLF8weDRkMWY4NlsnaGV4bGlmeSddKShfMHg3NzM0OTMpO31yZXR1cm4gXzB4NzczNDkzO31mdW5jdGlvbiBfMHgzYzhhZGQoXzB4MjZmMmM1LF8weDEwMDMyZCxfMHgxNTAxZmIpe3ZhciBfMHg0ODFhZjA9XzB4Y2FiMzNlO2NvbnN0IF8weDNhNzYyZj1fMHg0ODFhZjAoJzB4MzZiJyk9PXR5cGVvZiBfMHgyNmYyYzUmJm51bGwhPV8weDI2ZjJjNVtfMHg0ODFhZjAoJzB4NzBmJyldP18weDI2ZjJjNVtfMHg0ODFhZjAoJzB4NzBmJyldOjB4YztfMHg0YjYxMWRbJ2Fzc2VydEFyZ3VtZW50J10oXzB4M2E3NjJmPjB4MCYmXzB4M2E3NjJmJTB4MT09MHgwLF8weDQ4MWFmMCgnMHgyMjYnKSxfMHg0ODFhZjAoJzB4MmE5JyksXzB4M2E3NjJmKTtjb25zdCBfMHgzMTgwNjA9XzB4NDgxYWYwKCcweDM2YicpPT10eXBlb2YgXzB4MjZmMmM1P18weDI2ZjJjNVsndGhyb3R0bGVDYWxsYmFjayddOm51bGwsXzB4MjMzNjQxPV8weDQ4MWFmMCgnMHgzNmInKT09dHlwZW9mIF8weDI2ZjJjNSYmXzB4NDgxYWYwKCcweDI3YScpPT10eXBlb2YgXzB4MjZmMmM1W18weDQ4MWFmMCgnMHgxYWEnKV0/XzB4MjZmMmM1W18weDQ4MWFmMCgnMHgxYWEnKV06MHg2NDtfMHg0YjYxMWRbXzB4NDgxYWYwKCcweGI0NCcpXShfMHgyMzM2NDE+MHgwJiZfMHgyMzM2NDElMHgxPT0weDAsXzB4NDgxYWYwKCcweDY3OScpLF8weDQ4MWFmMCgnMHhiZjcnKSxfMHgyMzM2NDEpO2NvbnN0IF8weDFhYWZkMD1fMHg0ODFhZjAoJzB4MzZiJyk9PXR5cGVvZiBfMHgyNmYyYzUmJiEhXzB4MjZmMmM1W18weDQ4MWFmMCgnMHg1YTgnKV0sXzB4NGU4NjZjPXt9O2xldCBfMHg0NGNiMjY9bnVsbDtjb25zdCBfMHg4NDIwMzk9eydtZXRob2QnOl8weDQ4MWFmMCgnMHg0ZTcnKX07bGV0IF8weDQxYTZkNT0hMHgxLF8weDEzOGRjNT0weDFkNGMwO2lmKCdzdHJpbmcnPT10eXBlb2YgXzB4MjZmMmM1KV8weDQ0Y2IyNj1fMHgyNmYyYzU7ZWxzZXtpZihfMHg0ODFhZjAoJzB4MzZiJyk9PXR5cGVvZiBfMHgyNmYyYzUpe2lmKG51bGwhPV8weDI2ZjJjNSYmbnVsbCE9XzB4MjZmMmM1W18weDQ4MWFmMCgnMHg5ZWMnKV18fF8weDRiNjExZFtfMHg0ODFhZjAoJzB4NjM1JyldKF8weDQ4MWFmMCgnMHhjNmEnKSxfMHg0ODFhZjAoJzB4Mjc1JyksXzB4MjZmMmM1KSxfMHg0NGNiMjY9XzB4MjZmMmM1W18weDQ4MWFmMCgnMHg5ZWMnKV0sJ251bWJlcic9PXR5cGVvZiBfMHgyNmYyYzVbXzB4NDgxYWYwKCcweDJhMycpXSYmXzB4MjZmMmM1W18weDQ4MWFmMCgnMHgyYTMnKV0+MHgwJiYoXzB4MTM4ZGM1PV8weDI2ZjJjNVtfMHg0ODFhZjAoJzB4MmEzJyldKSxfMHgyNmYyYzVbJ2hlYWRlcnMnXSl7Zm9yKGNvbnN0IF8weDI1ZTA2NCBpbiBfMHgyNmYyYzVbXzB4NDgxYWYwKCcweDQzYScpXSlfMHg0ZTg2NmNbXzB4MjVlMDY0Wyd0b0xvd2VyQ2FzZSddKCldPXsna2V5JzpfMHgyNWUwNjQsJ3ZhbHVlJzpTdHJpbmcoXzB4MjZmMmM1W18weDQ4MWFmMCgnMHg0M2EnKV1bXzB4MjVlMDY0XSl9LFsnaWYtbm9uZS1tYXRjaCcsXzB4NDgxYWYwKCcweDhhMScpXVsnaW5kZXhPZiddKF8weDI1ZTA2NFtfMHg0ODFhZjAoJzB4ODcwJyldKCkpPj0weDAmJihfMHg0MWE2ZDU9ITB4MCk7fWlmKF8weDg0MjAzOVtfMHg0ODFhZjAoJzB4MmUxJyldPSEhXzB4MjZmMmM1W18weDQ4MWFmMCgnMHgyZTEnKV0sbnVsbCE9XzB4MjZmMmM1W18weDQ4MWFmMCgnMHg1ODQnKV0mJm51bGwhPV8weDI2ZjJjNVtfMHg0ODFhZjAoJzB4MWI2JyldKXtfMHg0ODFhZjAoJzB4YjE4JykhPT1fMHg0NGNiMjZbJ3N1YnN0cmluZyddKDB4MCwweDYpJiYhMHgwIT09XzB4MjZmMmM1WydhbGxvd0luc2VjdXJlQXV0aGVudGljYXRpb24nXSYmXzB4NGI2MTFkW18weDQ4MWFmMCgnMHgxZDAnKV0oJ2Jhc2ljXHgyMGF1dGhlbnRpY2F0aW9uXHgyMHJlcXVpcmVzXHgyMGFceDIwc2VjdXJlXHgyMGh0dHBzXHgyMHVybCcsXzB4MTY5NTUzW18weDQ4MWFmMCgnMHhjZTcnKV1bXzB4NDgxYWYwKCcweDk0OScpXVtfMHg0ODFhZjAoJzB4YzhiJyldLHsnYXJndW1lbnQnOl8weDQ4MWFmMCgnMHg5ZWMnKSwndXJsJzpfMHg0NGNiMjYsJ3VzZXInOl8weDI2ZjJjNVtfMHg0ODFhZjAoJzB4NTg0JyldLCdwYXNzd29yZCc6XzB4NDgxYWYwKCcweDUwOCcpfSk7Y29uc3QgXzB4NzMyYzM9XzB4MjZmMmM1Wyd1c2VyJ10rJzonK18weDI2ZjJjNVtfMHg0ODFhZjAoJzB4MWI2JyldO18weDRlODY2Y1tfMHg0ODFhZjAoJzB4Nzk3JyldPXsna2V5JzpfMHg0ODFhZjAoJzB4YzRmJyksJ3ZhbHVlJzpfMHg0ODFhZjAoJzB4Y2RjJykrKDB4MCxfMHgyYTE5YTZbJ2MnXSkoKDB4MCxfMHg1OTU1ZjhbJ1kwJ10pKF8weDczMmMzKSl9O31udWxsIT1fMHgyNmYyYzVbXzB4NDgxYWYwKCcweDUwMycpXSYmKF8weDg0MjAzOVtfMHg0ODFhZjAoJzB4NTAzJyldPSEhXzB4MjZmMmM1W18weDQ4MWFmMCgnMHg1MDMnKV0pLG51bGwhPV8weDI2ZjJjNVtfMHg0ODFhZjAoJzB4MzIxJyldJiYoXzB4ODQyMDM5W18weDQ4MWFmMCgnMHgzMjEnKV09KDB4MCxfMHg1NjAzZGJbXzB4NDgxYWYwKCcweDhkOScpXSkoXzB4MjZmMmM1W18weDQ4MWFmMCgnMHgzMjEnKV0pKTt9fWNvbnN0IF8weDVlOWYyOD1uZXcgUmVnRXhwKF8weDQ4MWFmMCgnMHg0NGInKSwnaScpLF8weDMxNzYxMj1fMHg0NGNiMjY/XzB4NDRjYjI2WydtYXRjaCddKF8weDVlOWYyOCk6bnVsbDtpZihfMHgzMTc2MTIpdHJ5e2NvbnN0IF8weDRhMGE5YT17J3N0YXR1c0NvZGUnOjB4YzgsJ3N0YXR1c01lc3NhZ2UnOidPSycsJ2hlYWRlcnMnOnsnY29udGVudC10eXBlJzpfMHgzMTc2MTJbMHgxXXx8XzB4NDgxYWYwKCcweDUxMicpfSwnYm9keSc6XzB4MzE3NjEyWzB4Ml0/KDB4MCxfMHgyYTE5YTZbJ0onXSkoXzB4MzE3NjEyWzB4M10pOihfMHgyOTMxMTQ9XzB4MzE3NjEyWzB4M10sKDB4MCxfMHg1OTU1ZjhbJ1kwJ10pKF8weDI5MzExNFtfMHg0ODFhZjAoJzB4MzZjJyldKC8lKFswLTlhLWZdWzAtOWEtZl0pL2dpLChfMHgxMjE4ZmMsXzB4NGMwYWIyKT0+U3RyaW5nW18weDQ4MWFmMCgnMHhhODEnKV0ocGFyc2VJbnQoXzB4NGMwYWIyLDB4MTApKSkpKX07bGV0IF8weDE3ZTM1Nz1fMHg0YTBhOWFbXzB4NDgxYWYwKCcweDMzNycpXTtyZXR1cm4gXzB4MTUwMWZiJiYoXzB4MTdlMzU3PV8weDE1MDFmYihfMHg0YTBhOWFbXzB4NDgxYWYwKCcweDMzNycpXSxfMHg0YTBhOWEpKSxQcm9taXNlW18weDQ4MWFmMCgnMHgzZjQnKV0oXzB4MTdlMzU3KTt9Y2F0Y2goXzB4MTg4NDhlKXtfMHg0YjYxMWRbJ3Rocm93RXJyb3InXShfMHg0ODFhZjAoJzB4ODVlJyksXzB4MTY5NTUzW18weDQ4MWFmMCgnMHhjZTcnKV1bJ2Vycm9ycyddW18weDQ4MWFmMCgnMHg3MzknKV0seydib2R5JzpfMHg1OTU1ZjkoXzB4MzE3NjEyWzB4MV0sXzB4MzE3NjEyWzB4Ml0pLCdlcnJvcic6XzB4MTg4NDhlLCdyZXF1ZXN0Qm9keSc6bnVsbCwncmVxdWVzdE1ldGhvZCc6XzB4NDgxYWYwKCcweDRlNycpLCd1cmwnOl8weDQ0Y2IyNn0pO312YXIgXzB4MjkzMTE0O18weDEwMDMyZCYmKF8weDg0MjAzOVtfMHg0ODFhZjAoJzB4YzQ1JyldPV8weDQ4MWFmMCgnMHg0MzInKSxfMHg4NDIwMzlbJ2JvZHknXT1fMHgxMDAzMmQsbnVsbD09XzB4NGU4NjZjW18weDQ4MWFmMCgnMHhhNjAnKV0mJihfMHg0ZTg2NmNbXzB4NDgxYWYwKCcweGE2MCcpXT17J2tleSc6XzB4NDgxYWYwKCcweGJkMicpLCd2YWx1ZSc6J2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSd9KSxudWxsPT1fMHg0ZTg2NmNbJ2NvbnRlbnQtbGVuZ3RoJ10mJihfMHg0ZTg2NmNbJ2NvbnRlbnQtbGVuZ3RoJ109eydrZXknOidDb250ZW50LUxlbmd0aCcsJ3ZhbHVlJzpTdHJpbmcoXzB4MTAwMzJkWydsZW5ndGgnXSl9KSk7Y29uc3QgXzB4MTUwYThmPXt9O09iamVjdFtfMHg0ODFhZjAoJzB4NjM2JyldKF8weDRlODY2YylbXzB4NDgxYWYwKCcweDUxZScpXShfMHg1ODEyMmU9Pnt2YXIgXzB4NTM5ZmI5PV8weDQ4MWFmMDtjb25zdCBfMHg1Mjc1NDA9XzB4NGU4NjZjW18weDU4MTIyZV07XzB4MTUwYThmW18weDUyNzU0MFtfMHg1MzlmYjkoJzB4NjdlJyldXT1fMHg1Mjc1NDBbJ3ZhbHVlJ107fSksXzB4ODQyMDM5W18weDQ4MWFmMCgnMHg0M2EnKV09XzB4MTUwYThmO2NvbnN0IF8weDRhY2UzNT0oZnVuY3Rpb24oKXtsZXQgXzB4NTc4YmFhPW51bGw7cmV0dXJueydwcm9taXNlJzpuZXcgUHJvbWlzZShmdW5jdGlvbihfMHgyZGU0ZGMsXzB4NDlmYzM2KXtfMHgxMzhkYzUmJihfMHg1NzhiYWE9c2V0VGltZW91dCgoKT0+e3ZhciBfMHg1YTVhZmI9XzB4MTVhMztudWxsIT1fMHg1NzhiYWEmJihfMHg1NzhiYWE9bnVsbCxfMHg0OWZjMzYoXzB4NGI2MTFkWydtYWtlRXJyb3InXShfMHg1YTVhZmIoJzB4MmEzJyksXzB4MTY5NTUzW18weDVhNWFmYignMHhjZTcnKV1bXzB4NWE1YWZiKCcweDk0OScpXVtfMHg1YTVhZmIoJzB4MWY5JyldLHsncmVxdWVzdEJvZHknOl8weDU5NTVmOShfMHg4NDIwMzlbXzB4NWE1YWZiKCcweDMzNycpXSxfMHgxNTBhOGZbJ2NvbnRlbnQtdHlwZSddKSwncmVxdWVzdE1ldGhvZCc6XzB4ODQyMDM5W18weDVhNWFmYignMHhjNDUnKV0sJ3RpbWVvdXQnOl8weDEzOGRjNSwndXJsJzpfMHg0NGNiMjZ9KSkpO30sXzB4MTM4ZGM1KSk7fSksJ2NhbmNlbCc6ZnVuY3Rpb24oKXtudWxsIT1fMHg1NzhiYWEmJihjbGVhclRpbWVvdXQoXzB4NTc4YmFhKSxfMHg1NzhiYWE9bnVsbCk7fX07fSgpKSxfMHgzYTEzMGM9KGZ1bmN0aW9uKCl7cmV0dXJuIF8weDM2NGY0MSh0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKigpe3ZhciBfMHg3M2NlNGE9XzB4MTVhMztmb3IobGV0IF8weDRkZWJjNj0weDA7XzB4NGRlYmM2PF8weDNhNzYyZjtfMHg0ZGViYzYrKyl7bGV0IF8weDEzN2MzNj1udWxsO3RyeXtpZihfMHgxMzdjMzY9eWllbGQgXzB4NDA5ZTU4KF8weDQ0Y2IyNixfMHg4NDIwMzkpLF8weDRkZWJjNjxfMHgzYTc2MmYpe2lmKDB4MTJkPT09XzB4MTM3YzM2WydzdGF0dXNDb2RlJ118fDB4MTJlPT09XzB4MTM3YzM2W18weDczY2U0YSgnMHhhNjEnKV0pe2NvbnN0IF8weDNjNWI3Mz1fMHgxMzdjMzZbJ2hlYWRlcnMnXVtfMHg3M2NlNGEoJzB4YzhjJyldfHwnJztpZignR0VUJz09PV8weDg0MjAzOVtfMHg3M2NlNGEoJzB4YzQ1JyldJiZfMHgzYzViNzNbXzB4NzNjZTRhKCcweDQyNScpXSgvXmh0dHBzOi8pKXtfMHg0NGNiMjY9XzB4MTM3YzM2W18weDczY2U0YSgnMHg0M2EnKV1bJ2xvY2F0aW9uJ107Y29udGludWU7fX1lbHNle2lmKDB4MWFkPT09XzB4MTM3YzM2W18weDczY2U0YSgnMHhhNjEnKV0pe2xldCBfMHgxMjc5YzA9ITB4MDtpZihfMHgzMTgwNjAmJihfMHgxMjc5YzA9eWllbGQgXzB4MzE4MDYwKF8weDRkZWJjNixfMHg0NGNiMjYpKSxfMHgxMjc5YzApe2xldCBfMHgxNjI1NDU9MHgwO2NvbnN0IF8weDIxMTk1Yz1fMHgxMzdjMzZbXzB4NzNjZTRhKCcweDQzYScpXVtfMHg3M2NlNGEoJzB4N2M2JyldO18weDE2MjU0NT1fMHg3M2NlNGEoJzB4NjVmJyk9PXR5cGVvZiBfMHgyMTE5NWMmJl8weDIxMTk1Y1tfMHg3M2NlNGEoJzB4NDI1JyldKC9eWzEtOV1bMC05XSokLyk/MHgzZTgqcGFyc2VJbnQoXzB4MjExOTVjKTpfMHgyMzM2NDEqcGFyc2VJbnQoU3RyaW5nKE1hdGhbXzB4NzNjZTRhKCcweDc1YycpXSgpKk1hdGhbXzB4NzNjZTRhKCcweGEwOScpXSgweDIsXzB4NGRlYmM2KSkpLHlpZWxkIF8weDFhN2ZmOShfMHgxNjI1NDUpO2NvbnRpbnVlO319fX19Y2F0Y2goXzB4MjhmOGYyKXtfMHgxMzdjMzY9XzB4MjhmOGYyW18weDczY2U0YSgnMHg2ZTMnKV0sbnVsbD09XzB4MTM3YzM2JiYoXzB4NGFjZTM1W18weDczY2U0YSgnMHhjM2YnKV0oKSxfMHg0YjYxMWRbXzB4NzNjZTRhKCcweDFkMCcpXShfMHg3M2NlNGEoJzB4NmI4JyksXzB4MTY5NTUzW18weDczY2U0YSgnMHhjZTcnKV1bXzB4NzNjZTRhKCcweDk0OScpXVtfMHg3M2NlNGEoJzB4NzM5JyldLHsncmVxdWVzdEJvZHknOl8weDU5NTVmOShfMHg4NDIwMzlbJ2JvZHknXSxfMHgxNTBhOGZbXzB4NzNjZTRhKCcweGE2MCcpXSksJ3JlcXVlc3RNZXRob2QnOl8weDg0MjAzOVtfMHg3M2NlNGEoJzB4YzQ1JyldLCdzZXJ2ZXJFcnJvcic6XzB4MjhmOGYyLCd1cmwnOl8weDQ0Y2IyNn0pKTt9bGV0IF8weDVkZGRmOD1fMHgxMzdjMzZbJ2JvZHknXTtpZihfMHg0MWE2ZDUmJjB4MTMwPT09XzB4MTM3YzM2W18weDczY2U0YSgnMHhhNjEnKV0/XzB4NWRkZGY4PW51bGw6IV8weDFhYWZkMCYmKF8weDEzN2MzNltfMHg3M2NlNGEoJzB4YTYxJyldPDB4Yzh8fF8weDEzN2MzNltfMHg3M2NlNGEoJzB4YTYxJyldPj0weDEyYykmJihfMHg0YWNlMzVbXzB4NzNjZTRhKCcweGMzZicpXSgpLF8weDRiNjExZFtfMHg3M2NlNGEoJzB4MWQwJyldKF8weDczY2U0YSgnMHgxZWEnKSxfMHgxNjk1NTNbXzB4NzNjZTRhKCcweGNlNycpXVtfMHg3M2NlNGEoJzB4OTQ5JyldW18weDczY2U0YSgnMHg3MzknKV0seydzdGF0dXMnOl8weDEzN2MzNlsnc3RhdHVzQ29kZSddLCdoZWFkZXJzJzpfMHgxMzdjMzZbXzB4NzNjZTRhKCcweDQzYScpXSwnYm9keSc6XzB4NTk1NWY5KF8weDVkZGRmOCxfMHgxMzdjMzZbJ2hlYWRlcnMnXT9fMHgxMzdjMzZbXzB4NzNjZTRhKCcweDQzYScpXVtfMHg3M2NlNGEoJzB4YTYwJyldOm51bGwpLCdyZXF1ZXN0Qm9keSc6XzB4NTk1NWY5KF8weDg0MjAzOVtfMHg3M2NlNGEoJzB4MzM3JyldLF8weDE1MGE4ZltfMHg3M2NlNGEoJzB4YTYwJyldKSwncmVxdWVzdE1ldGhvZCc6XzB4ODQyMDM5WydtZXRob2QnXSwndXJsJzpfMHg0NGNiMjZ9KSksXzB4MTUwMWZiKXRyeXtjb25zdCBfMHgzODNjMTk9eWllbGQgXzB4MTUwMWZiKF8weDVkZGRmOCxfMHgxMzdjMzYpO3JldHVybiBfMHg0YWNlMzVbJ2NhbmNlbCddKCksXzB4MzgzYzE5O31jYXRjaChfMHgyOTVlZTQpe2lmKF8weDI5NWVlNFtfMHg3M2NlNGEoJzB4YmE5JyldJiZfMHg0ZGViYzY8XzB4M2E3NjJmKXtsZXQgXzB4MTJlN2RlPSEweDA7aWYoXzB4MzE4MDYwJiYoXzB4MTJlN2RlPXlpZWxkIF8weDMxODA2MChfMHg0ZGViYzYsXzB4NDRjYjI2KSksXzB4MTJlN2RlKXtjb25zdCBfMHgxNDgxNjM9XzB4MjMzNjQxKnBhcnNlSW50KFN0cmluZyhNYXRoWydyYW5kb20nXSgpKk1hdGhbXzB4NzNjZTRhKCcweGEwOScpXSgweDIsXzB4NGRlYmM2KSkpO3lpZWxkIF8weDFhN2ZmOShfMHgxNDgxNjMpO2NvbnRpbnVlO319XzB4NGFjZTM1W18weDczY2U0YSgnMHhjM2YnKV0oKSxfMHg0YjYxMWRbXzB4NzNjZTRhKCcweDFkMCcpXShfMHg3M2NlNGEoJzB4ODVlJyksXzB4MTY5NTUzW18weDczY2U0YSgnMHhjZTcnKV1bXzB4NzNjZTRhKCcweDk0OScpXVtfMHg3M2NlNGEoJzB4NzM5JyldLHsnYm9keSc6XzB4NTk1NWY5KF8weDVkZGRmOCxfMHgxMzdjMzZbXzB4NzNjZTRhKCcweDQzYScpXT9fMHgxMzdjMzZbJ2hlYWRlcnMnXVtfMHg3M2NlNGEoJzB4YTYwJyldOm51bGwpLCdlcnJvcic6XzB4Mjk1ZWU0LCdyZXF1ZXN0Qm9keSc6XzB4NTk1NWY5KF8weDg0MjAzOVtfMHg3M2NlNGEoJzB4MzM3JyldLF8weDE1MGE4ZltfMHg3M2NlNGEoJzB4YTYwJyldKSwncmVxdWVzdE1ldGhvZCc6XzB4ODQyMDM5WydtZXRob2QnXSwndXJsJzpfMHg0NGNiMjZ9KTt9cmV0dXJuIF8weDRhY2UzNVsnY2FuY2VsJ10oKSxfMHg1ZGRkZjg7fXJldHVybiBfMHg0YjYxMWRbJ3Rocm93RXJyb3InXSgnZmFpbGVkXHgyMHJlc3BvbnNlJyxfMHgxNjk1NTNbJ0xvZ2dlciddWydlcnJvcnMnXVtfMHg3M2NlNGEoJzB4NzM5JyldLHsncmVxdWVzdEJvZHknOl8weDU5NTVmOShfMHg4NDIwMzlbXzB4NzNjZTRhKCcweDMzNycpXSxfMHgxNTBhOGZbXzB4NzNjZTRhKCcweGE2MCcpXSksJ3JlcXVlc3RNZXRob2QnOl8weDg0MjAzOVsnbWV0aG9kJ10sJ3VybCc6XzB4NDRjYjI2fSk7fSk7fSgpKTtyZXR1cm4gUHJvbWlzZVtfMHg0ODFhZjAoJzB4ODMyJyldKFtfMHg0YWNlMzVbXzB4NDgxYWYwKCcweDJmYicpXSxfMHgzYTEzMGNdKTt9ZnVuY3Rpb24gXzB4NWE4MWVjKF8weDU1ZTllOCxfMHg0ZTI0MzAsXzB4NGQ0ZDZjKXt2YXIgXzB4NTBiYzYyPV8weGNhYjMzZTtsZXQgXzB4NTQ1MGZmPW51bGw7aWYobnVsbCE9XzB4NGUyNDMwKXtfMHg1NDUwZmY9KDB4MCxfMHg1OTU1ZjhbJ1kwJ10pKF8weDRlMjQzMCk7Y29uc3QgXzB4MmRmOWFjPV8weDUwYmM2MignMHg2NWYnKT09dHlwZW9mIF8weDU1ZTllOD97J3VybCc6XzB4NTVlOWU4fTooMHgwLF8weDU2MDNkYltfMHg1MGJjNjIoJzB4OGQ5JyldKShfMHg1NWU5ZTgpO18weDJkZjlhY1snaGVhZGVycyddPzB4MCE9PU9iamVjdFtfMHg1MGJjNjIoJzB4NjM2JyldKF8weDJkZjlhY1tfMHg1MGJjNjIoJzB4NDNhJyldKVtfMHg1MGJjNjIoJzB4M2FiJyldKF8weDQ2NTc1OT0+XzB4NTBiYzYyKCcweGE2MCcpPT09XzB4NDY1NzU5W18weDUwYmM2MignMHg4NzAnKV0oKSlbXzB4NTBiYzYyKCcweDUyMCcpXXx8KF8weDJkZjlhY1tfMHg1MGJjNjIoJzB4NDNhJyldPSgweDAsXzB4NTYwM2RiWydzaGFsbG93Q29weSddKShfMHgyZGY5YWNbJ2hlYWRlcnMnXSksXzB4MmRmOWFjW18weDUwYmM2MignMHg0M2EnKV1bXzB4NTBiYzYyKCcweGE2MCcpXT1fMHg1MGJjNjIoJzB4OGVkJykpOl8weDJkZjlhY1tfMHg1MGJjNjIoJzB4NDNhJyldPXsnY29udGVudC10eXBlJzpfMHg1MGJjNjIoJzB4OGVkJyl9LF8weDU1ZTllOD1fMHgyZGY5YWM7fXJldHVybiBfMHgzYzhhZGQoXzB4NTVlOWU4LF8weDU0NTBmZiwoXzB4NGUxZDBjLF8weDNjOTMyNCk9Pnt2YXIgXzB4MzBmYmIyPV8weDUwYmM2MjtsZXQgXzB4NDQ4M2JhPW51bGw7aWYobnVsbCE9XzB4NGUxZDBjKXRyeXtfMHg0NDgzYmE9SlNPTltfMHgzMGZiYjIoJzB4YmY5JyldKCgweDAsXzB4NTk1NWY4WydaTiddKShfMHg0ZTFkMGMpKTt9Y2F0Y2goXzB4Y2QyMTUxKXtfMHg0YjYxMWRbXzB4MzBmYmIyKCcweDFkMCcpXSgnaW52YWxpZFx4MjBKU09OJyxfMHgxNjk1NTNbXzB4MzBmYmIyKCcweGNlNycpXVsnZXJyb3JzJ11bJ1NFUlZFUl9FUlJPUiddLHsnYm9keSc6XzB4NGUxZDBjLCdlcnJvcic6XzB4Y2QyMTUxfSk7fXJldHVybiBfMHg0ZDRkNmMmJihfMHg0NDgzYmE9XzB4NGQ0ZDZjKF8weDQ0ODNiYSxfMHgzYzkzMjQpKSxfMHg0NDgzYmE7fSk7fWZ1bmN0aW9uIF8weDI0YjU3YShfMHg0MTMxMmIsXzB4MTc4NjZhKXt2YXIgXzB4NWMyOTYwPV8weGNhYjMzZTtyZXR1cm4gXzB4MTc4NjZhfHwoXzB4MTc4NjZhPXt9KSxudWxsPT0oXzB4MTc4NjZhPSgweDAsXzB4NTYwM2RiWydzaGFsbG93Q29weSddKShfMHgxNzg2NmEpKVtfMHg1YzI5NjAoJzB4YmJlJyldJiYoXzB4MTc4NjZhW18weDVjMjk2MCgnMHhiYmUnKV09MHgwKSxudWxsPT1fMHgxNzg2NmFbJ2NlaWxpbmcnXSYmKF8weDE3ODY2YVtfMHg1YzI5NjAoJzB4N2FhJyldPTB4MjcxMCksbnVsbD09XzB4MTc4NjZhW18weDVjMjk2MCgnMHg4NzInKV0mJihfMHgxNzg2NmFbXzB4NWMyOTYwKCcweDg3MicpXT0weGZhKSxuZXcgUHJvbWlzZShmdW5jdGlvbihfMHgyZGFhNTQsXzB4M2M0NGQyKXt2YXIgXzB4NGNhNzdmPV8weDVjMjk2MDtsZXQgXzB4NTRiYWRiPW51bGwsXzB4NDIzMmVmPSEweDE7Y29uc3QgXzB4M2VkN2FiPSgpPT4hXzB4NDIzMmVmJiYoXzB4NDIzMmVmPSEweDAsXzB4NTRiYWRiJiZjbGVhclRpbWVvdXQoXzB4NTRiYWRiKSwhMHgwKTtfMHgxNzg2NmFbJ3RpbWVvdXQnXSYmKF8weDU0YmFkYj1zZXRUaW1lb3V0KCgpPT57dmFyIF8weDIzYWRiZD1fMHgxNWEzO18weDNlZDdhYigpJiZfMHgzYzQ0ZDIobmV3IEVycm9yKF8weDIzYWRiZCgnMHgyYTMnKSkpO30sXzB4MTc4NjZhW18weDRjYTc3ZignMHgyYTMnKV0pKTtjb25zdCBfMHgzMWU2Y2Y9XzB4MTc4NjZhW18weDRjYTc3ZignMHhhZDUnKV07bGV0IF8weDQ0ZWMwOT0weDA7IWZ1bmN0aW9uIF8weDhhYmVkMSgpe3ZhciBfMHgyMWM0MmY9XzB4NGNhNzdmO3JldHVybiBfMHg0MTMxMmIoKVtfMHgyMWM0MmYoJzB4ZDM0JyldKGZ1bmN0aW9uKF8weDI4ZDM3MCl7dmFyIF8weGY4ZTJlNz1fMHgyMWM0MmY7aWYodm9pZCAweDAhPT1fMHgyOGQzNzApXzB4M2VkN2FiKCkmJl8weDJkYWE1NChfMHgyOGQzNzApO2Vsc2V7aWYoXzB4MTc4NjZhW18weGY4ZTJlNygnMHg1ZDEnKV0pXzB4MTc4NjZhWydvbmNlUG9sbCddWydvbmNlJ10oXzB4ZjhlMmU3KCcweGNkMScpLF8weDhhYmVkMSk7ZWxzZXtpZihfMHgxNzg2NmFbXzB4ZjhlMmU3KCcweDZhZCcpXSlfMHgxNzg2NmFbXzB4ZjhlMmU3KCcweDZhZCcpXVtfMHhmOGUyZTcoJzB4MzUzJyldKF8weGY4ZTJlNygnMHg3YTknKSxfMHg4YWJlZDEpO2Vsc2V7aWYoIV8weDQyMzJlZil7aWYoXzB4NDRlYzA5KyssXzB4NDRlYzA5Pl8weDMxZTZjZilyZXR1cm4gdm9pZChfMHgzZWQ3YWIoKSYmXzB4M2M0NGQyKG5ldyBFcnJvcigncmV0cnlceDIwbGltaXRceDIwcmVhY2hlZCcpKSk7bGV0IF8weDJlMmVhOT1fMHgxNzg2NmFbXzB4ZjhlMmU3KCcweDg3MicpXSpwYXJzZUludChTdHJpbmcoTWF0aFtfMHhmOGUyZTcoJzB4NzVjJyldKCkqTWF0aFtfMHhmOGUyZTcoJzB4YTA5JyldKDB4MixfMHg0NGVjMDkpKSk7XzB4MmUyZWE5PF8weDE3ODY2YVtfMHhmOGUyZTcoJzB4YmJlJyldJiYoXzB4MmUyZWE5PV8weDE3ODY2YVtfMHhmOGUyZTcoJzB4YmJlJyldKSxfMHgyZTJlYTk+XzB4MTc4NjZhWydjZWlsaW5nJ10mJihfMHgyZTJlYTk9XzB4MTc4NjZhWydjZWlsaW5nJ10pLHNldFRpbWVvdXQoXzB4OGFiZWQxLF8weDJlMmVhOSk7fX19fXJldHVybiBudWxsO30sZnVuY3Rpb24oXzB4MjZjZmNlKXtfMHgzZWQ3YWIoKSYmXzB4M2M0NGQyKF8weDI2Y2ZjZSk7fSk7fSgpO30pO319LDB4MjFkMzooXzB4MjU2OTAyLF8weDQ3MTk5ZCxfMHgzYzZhNmYpPT57J3VzZSBzdHJpY3QnO3ZhciBfMHgxOTJjYWQ9XzB4MTVhMztfMHgzYzZhNmZbJ2QnXShfMHg0NzE5OWQseydEJzooKT0+XzB4MzNjNWNifSk7dmFyIF8weDU3NGI2OT1fMHgzYzZhNmYoMHg3ZmUpLF8weDU3OGU4OT1fMHgzYzZhNmYoMHhlMDMpO2NvbnN0IF8weDNmOTljOT1uZXcoXzB4M2M2YTZmKDB4MmM3KSlbKF8weDE5MmNhZCgnMHhjZTcnKSldKF8weDE5MmNhZCgnMHhjYzAnKSk7Y2xhc3MgXzB4MzNjNWNie2NvbnN0cnVjdG9yKF8weDFlN2NhOCl7dmFyIF8weDU2ZjVkMD1fMHgxOTJjYWQ7XzB4M2Y5OWM5WydjaGVja0Fic3RyYWN0J10obmV3LnRhcmdldCxfMHgzM2M1Y2IpLCgweDAsXzB4NTc4ZTg5W18weDU2ZjVkMCgnMHhjZTknKV0pKHRoaXMsJ2xvY2FsZScsXzB4MWU3Y2E4KTt9WydzcGxpdCddKF8weGI2NzFkZCl7dmFyIF8weDliNDgyYj1fMHgxOTJjYWQ7cmV0dXJuIF8weGI2NzFkZFtfMHg5YjQ4MmIoJzB4ODcwJyldKClbXzB4OWI0ODJiKCcweDk5NCcpXSgvICsvZyk7fVtfMHgxOTJjYWQoJzB4YWE3JyldKF8weDJhZjYwNyl7dmFyIF8weDIzMjU5ND1fMHgxOTJjYWQ7cmV0dXJuIF8weDJhZjYwN1tfMHgyMzI1OTQoJzB4YWE3JyldKCdceDIwJyk7fXN0YXRpY1snY2hlY2snXShfMHg0MDJiYTYpe3ZhciBfMHgzZTdiYjI9XzB4MTkyY2FkO2NvbnN0IF8weDUyN2E5Mj1bXTtmb3IobGV0IF8weDI2Zjk0Yz0weDA7XzB4MjZmOTRjPDB4ODAwO18weDI2Zjk0YysrKXtjb25zdCBfMHgxNDc3NGY9XzB4NDAyYmE2WydnZXRXb3JkJ10oXzB4MjZmOTRjKTtpZihfMHgyNmY5NGMhPT1fMHg0MDJiYTZbXzB4M2U3YmIyKCcweDdjOCcpXShfMHgxNDc3NGYpKXJldHVybicweCc7XzB4NTI3YTkyWydwdXNoJ10oXzB4MTQ3NzRmKTt9cmV0dXJuKDB4MCxfMHg1NzRiNjlbJ2lkJ10pKF8weDUyN2E5MltfMHgzZTdiYjIoJzB4YWE3JyldKCdceDBhJykrJ1x4MGEnKTt9c3RhdGljW18weDE5MmNhZCgnMHg1NDAnKV0oXzB4M2VmZGZjLF8weDNlYzM5Nil7dmFyIF8weDQxYjBmYT1fMHgxOTJjYWQ7XzB4M2VjMzk2fHwoXzB4M2VjMzk2PV8weDNlZmRmY1tfMHg0MWIwZmEoJzB4NDUzJyldKTt9fX0sMHgyNjdmOihfMHgyYmU5MTQsXzB4MWI3NzYyLF8weGI1YzY1Yik9PnsndXNlIHN0cmljdCc7dmFyIF8weDUwMGUzMT1fMHgxNWEzO18weGI1YzY1YlsnZCddKF8weDFiNzc2Mix7J0UnOigpPT5fMHgzODk2ZTd9KTt2YXIgXzB4MmVjM2U0PV8weGI1YzY1YigweDIxZDMpO2xldCBfMHhiOGEzMzI9bnVsbDtmdW5jdGlvbiBfMHhkNWEzODQoXzB4NTE1YTE4KXt2YXIgXzB4MTYyMTJmPV8weDE1YTM7aWYobnVsbD09XzB4YjhhMzMyJiYoXzB4YjhhMzMyPSdBYmFuZG9uQWJpbGl0eUFibGVBYm91dEFib3ZlQWJzZW50QWJzb3JiQWJzdHJhY3RBYnN1cmRBYnVzZUFjY2Vzc0FjY2lkZW50QWNjb3VudEFjY3VzZUFjaGlldmVBY2lkQWNvdXN0aWNBY3F1aXJlQWNyb3NzQWN0QWN0aW9uQWN0b3JBY3RyZXNzQWN0dWFsQWRhcHRBZGRBZGRpY3RBZGRyZXNzQWRqdXN0QWRtaXRBZHVsdEFkdmFuY2VBZHZpY2VBZXJvYmljQWZmYWlyQWZmb3JkQWZyYWlkQWdhaW5BZ2VBZ2VudEFncmVlQWhlYWRBaW1BaXJBaXJwb3J0QWlzbGVBbGFybUFsYnVtQWxjb2hvbEFsZXJ0QWxpZW5BbGxBbGxleUFsbG93QWxtb3N0QWxvbmVBbHBoYUFscmVhZHlBbHNvQWx0ZXJBbHdheXNBbWF0ZXVyQW1hemluZ0Ftb25nQW1vdW50QW11c2VkQW5hbHlzdEFuY2hvckFuY2llbnRBbmdlckFuZ2xlQW5ncnlBbmltYWxBbmtsZUFubm91bmNlQW5udWFsQW5vdGhlckFuc3dlckFudGVubmFBbnRpcXVlQW54aWV0eUFueUFwYXJ0QXBvbG9neUFwcGVhckFwcGxlQXBwcm92ZUFwcmlsQXJjaEFyY3RpY0FyZWFBcmVuYUFyZ3VlQXJtQXJtZWRBcm1vckFybXlBcm91bmRBcnJhbmdlQXJyZXN0QXJyaXZlQXJyb3dBcnRBcnRlZmFjdEFydGlzdEFydHdvcmtBc2tBc3BlY3RBc3NhdWx0QXNzZXRBc3Npc3RBc3N1bWVBc3RobWFBdGhsZXRlQXRvbUF0dGFja0F0dGVuZEF0dGl0dWRlQXR0cmFjdEF1Y3Rpb25BdWRpdEF1Z3VzdEF1bnRBdXRob3JBdXRvQXV0dW1uQXZlcmFnZUF2b2NhZG9Bdm9pZEF3YWtlQXdhcmVBd2F5QXdlc29tZUF3ZnVsQXdrd2FyZEF4aXNCYWJ5QmFjaGVsb3JCYWNvbkJhZGdlQmFnQmFsYW5jZUJhbGNvbnlCYWxsQmFtYm9vQmFuYW5hQmFubmVyQmFyQmFyZWx5QmFyZ2FpbkJhcnJlbEJhc2VCYXNpY0Jhc2tldEJhdHRsZUJlYWNoQmVhbkJlYXV0eUJlY2F1c2VCZWNvbWVCZWVmQmVmb3JlQmVnaW5CZWhhdmVCZWhpbmRCZWxpZXZlQmVsb3dCZWx0QmVuY2hCZW5lZml0QmVzdEJldHJheUJldHRlckJldHdlZW5CZXlvbmRCaWN5Y2xlQmlkQmlrZUJpbmRCaW9sb2d5QmlyZEJpcnRoQml0dGVyQmxhY2tCbGFkZUJsYW1lQmxhbmtldEJsYXN0QmxlYWtCbGVzc0JsaW5kQmxvb2RCbG9zc29tQmxvdXNlQmx1ZUJsdXJCbHVzaEJvYXJkQm9hdEJvZHlCb2lsQm9tYkJvbmVCb251c0Jvb2tCb29zdEJvcmRlckJvcmluZ0JvcnJvd0Jvc3NCb3R0b21Cb3VuY2VCb3hCb3lCcmFja2V0QnJhaW5CcmFuZEJyYXNzQnJhdmVCcmVhZEJyZWV6ZUJyaWNrQnJpZGdlQnJpZWZCcmlnaHRCcmluZ0JyaXNrQnJvY2NvbGlCcm9rZW5Ccm9uemVCcm9vbUJyb3RoZXJCcm93bkJydXNoQnViYmxlQnVkZHlCdWRnZXRCdWZmYWxvQnVpbGRCdWxiQnVsa0J1bGxldEJ1bmRsZUJ1bmtlckJ1cmRlbkJ1cmdlckJ1cnN0QnVzQnVzaW5lc3NCdXN5QnV0dGVyQnV5ZXJCdXp6Q2FiYmFnZUNhYmluQ2FibGVDYWN0dXNDYWdlQ2FrZUNhbGxDYWxtQ2FtZXJhQ2FtcENhbkNhbmFsQ2FuY2VsQ2FuZHlDYW5ub25DYW5vZUNhbnZhc0NhbnlvbkNhcGFibGVDYXBpdGFsQ2FwdGFpbkNhckNhcmJvbkNhcmRDYXJnb0NhcnBldENhcnJ5Q2FydENhc2VDYXNoQ2FzaW5vQ2FzdGxlQ2FzdWFsQ2F0Q2F0YWxvZ0NhdGNoQ2F0ZWdvcnlDYXR0bGVDYXVnaHRDYXVzZUNhdXRpb25DYXZlQ2VpbGluZ0NlbGVyeUNlbWVudENlbnN1c0NlbnR1cnlDZXJlYWxDZXJ0YWluQ2hhaXJDaGFsa0NoYW1waW9uQ2hhbmdlQ2hhb3NDaGFwdGVyQ2hhcmdlQ2hhc2VDaGF0Q2hlYXBDaGVja0NoZWVzZUNoZWZDaGVycnlDaGVzdENoaWNrZW5DaGllZkNoaWxkQ2hpbW5leUNob2ljZUNob29zZUNocm9uaWNDaHVja2xlQ2h1bmtDaHVybkNpZ2FyQ2lubmFtb25DaXJjbGVDaXRpemVuQ2l0eUNpdmlsQ2xhaW1DbGFwQ2xhcmlmeUNsYXdDbGF5Q2xlYW5DbGVya0NsZXZlckNsaWNrQ2xpZW50Q2xpZmZDbGltYkNsaW5pY0NsaXBDbG9ja0Nsb2dDbG9zZUNsb3RoQ2xvdWRDbG93bkNsdWJDbHVtcENsdXN0ZXJDbHV0Y2hDb2FjaENvYXN0Q29jb251dENvZGVDb2ZmZWVDb2lsQ29pbkNvbGxlY3RDb2xvckNvbHVtbkNvbWJpbmVDb21lQ29tZm9ydENvbWljQ29tbW9uQ29tcGFueUNvbmNlcnRDb25kdWN0Q29uZmlybUNvbmdyZXNzQ29ubmVjdENvbnNpZGVyQ29udHJvbENvbnZpbmNlQ29va0Nvb2xDb3BwZXJDb3B5Q29yYWxDb3JlQ29ybkNvcnJlY3RDb3N0Q290dG9uQ291Y2hDb3VudHJ5Q291cGxlQ291cnNlQ291c2luQ292ZXJDb3lvdGVDcmFja0NyYWRsZUNyYWZ0Q3JhbUNyYW5lQ3Jhc2hDcmF0ZXJDcmF3bENyYXp5Q3JlYW1DcmVkaXRDcmVla0NyZXdDcmlja2V0Q3JpbWVDcmlzcENyaXRpY0Nyb3BDcm9zc0Nyb3VjaENyb3dkQ3J1Y2lhbENydWVsQ3J1aXNlQ3J1bWJsZUNydW5jaENydXNoQ3J5Q3J5c3RhbEN1YmVDdWx0dXJlQ3VwQ3VwYm9hcmRDdXJpb3VzQ3VycmVudEN1cnRhaW5DdXJ2ZUN1c2hpb25DdXN0b21DdXRlQ3ljbGVEYWREYW1hZ2VEYW1wRGFuY2VEYW5nZXJEYXJpbmdEYXNoRGF1Z2h0ZXJEYXduRGF5RGVhbERlYmF0ZURlYnJpc0RlY2FkZURlY2VtYmVyRGVjaWRlRGVjbGluZURlY29yYXRlRGVjcmVhc2VEZWVyRGVmZW5zZURlZmluZURlZnlEZWdyZWVEZWxheURlbGl2ZXJEZW1hbmREZW1pc2VEZW5pYWxEZW50aXN0RGVueURlcGFydERlcGVuZERlcG9zaXREZXB0aERlcHV0eURlcml2ZURlc2NyaWJlRGVzZXJ0RGVzaWduRGVza0Rlc3BhaXJEZXN0cm95RGV0YWlsRGV0ZWN0RGV2ZWxvcERldmljZURldm90ZURpYWdyYW1EaWFsRGlhbW9uZERpYXJ5RGljZURpZXNlbERpZXREaWZmZXJEaWdpdGFsRGlnbml0eURpbGVtbWFEaW5uZXJEaW5vc2F1ckRpcmVjdERpcnREaXNhZ3JlZURpc2NvdmVyRGlzZWFzZURpc2hEaXNtaXNzRGlzb3JkZXJEaXNwbGF5RGlzdGFuY2VEaXZlcnREaXZpZGVEaXZvcmNlRGl6enlEb2N0b3JEb2N1bWVudERvZ0RvbGxEb2xwaGluRG9tYWluRG9uYXRlRG9ua2V5RG9ub3JEb29yRG9zZURvdWJsZURvdmVEcmFmdERyYWdvbkRyYW1hRHJhc3RpY0RyYXdEcmVhbURyZXNzRHJpZnREcmlsbERyaW5rRHJpcERyaXZlRHJvcERydW1EcnlEdWNrRHVtYkR1bmVEdXJpbmdEdXN0RHV0Y2hEdXR5RHdhcmZEeW5hbWljRWFnZXJFYWdsZUVhcmx5RWFybkVhcnRoRWFzaWx5RWFzdEVhc3lFY2hvRWNvbG9neUVjb25vbXlFZGdlRWRpdEVkdWNhdGVFZmZvcnRFZ2dFaWdodEVpdGhlckVsYm93RWxkZXJFbGVjdHJpY0VsZWdhbnRFbGVtZW50RWxlcGhhbnRFbGV2YXRvckVsaXRlRWxzZUVtYmFya0VtYm9keUVtYnJhY2VFbWVyZ2VFbW90aW9uRW1wbG95RW1wb3dlckVtcHR5RW5hYmxlRW5hY3RFbmRFbmRsZXNzRW5kb3JzZUVuZW15RW5lcmd5RW5mb3JjZUVuZ2FnZUVuZ2luZUVuaGFuY2VFbmpveUVubGlzdEVub3VnaEVucmljaEVucm9sbEVuc3VyZUVudGVyRW50aXJlRW50cnlFbnZlbG9wZUVwaXNvZGVFcXVhbEVxdWlwRXJhRXJhc2VFcm9kZUVyb3Npb25FcnJvckVydXB0RXNjYXBlRXNzYXlFc3NlbmNlRXN0YXRlRXRlcm5hbEV0aGljc0V2aWRlbmNlRXZpbEV2b2tlRXZvbHZlRXhhY3RFeGFtcGxlRXhjZXNzRXhjaGFuZ2VFeGNpdGVFeGNsdWRlRXhjdXNlRXhlY3V0ZUV4ZXJjaXNlRXhoYXVzdEV4aGliaXRFeGlsZUV4aXN0RXhpdEV4b3RpY0V4cGFuZEV4cGVjdEV4cGlyZUV4cGxhaW5FeHBvc2VFeHByZXNzRXh0ZW5kRXh0cmFFeWVFeWVicm93RmFicmljRmFjZUZhY3VsdHlGYWRlRmFpbnRGYWl0aEZhbGxGYWxzZUZhbWVGYW1pbHlGYW1vdXNGYW5GYW5jeUZhbnRhc3lGYXJtRmFzaGlvbkZhdEZhdGFsRmF0aGVyRmF0aWd1ZUZhdWx0RmF2b3JpdGVGZWF0dXJlRmVicnVhcnlGZWRlcmFsRmVlRmVlZEZlZWxGZW1hbGVGZW5jZUZlc3RpdmFsRmV0Y2hGZXZlckZld0ZpYmVyRmljdGlvbkZpZWxkRmlndXJlRmlsZUZpbG1GaWx0ZXJGaW5hbEZpbmRGaW5lRmluZ2VyRmluaXNoRmlyZUZpcm1GaXJzdEZpc2NhbEZpc2hGaXRGaXRuZXNzRml4RmxhZ0ZsYW1lRmxhc2hGbGF0Rmxhdm9yRmxlZUZsaWdodEZsaXBGbG9hdEZsb2NrRmxvb3JGbG93ZXJGbHVpZEZsdXNoRmx5Rm9hbUZvY3VzRm9nRm9pbEZvbGRGb2xsb3dGb29kRm9vdEZvcmNlRm9yZXN0Rm9yZ2V0Rm9ya0ZvcnR1bmVGb3J1bUZvcndhcmRGb3NzaWxGb3N0ZXJGb3VuZEZveEZyYWdpbGVGcmFtZUZyZXF1ZW50RnJlc2hGcmllbmRGcmluZ2VGcm9nRnJvbnRGcm9zdEZyb3duRnJvemVuRnJ1aXRGdWVsRnVuRnVubnlGdXJuYWNlRnVyeUZ1dHVyZUdhZGdldEdhaW5HYWxheHlHYWxsZXJ5R2FtZUdhcEdhcmFnZUdhcmJhZ2VHYXJkZW5HYXJsaWNHYXJtZW50R2FzR2FzcEdhdGVHYXRoZXJHYXVnZUdhemVHZW5lcmFsR2VuaXVzR2VucmVHZW50bGVHZW51aW5lR2VzdHVyZUdob3N0R2lhbnRHaWZ0R2lnZ2xlR2luZ2VyR2lyYWZmZUdpcmxHaXZlR2xhZEdsYW5jZUdsYXJlR2xhc3NHbGlkZUdsaW1wc2VHbG9iZUdsb29tR2xvcnlHbG92ZUdsb3dHbHVlR29hdEdvZGRlc3NHb2xkR29vZEdvb3NlR29yaWxsYUdvc3BlbEdvc3NpcEdvdmVybkdvd25HcmFiR3JhY2VHcmFpbkdyYW50R3JhcGVHcmFzc0dyYXZpdHlHcmVhdEdyZWVuR3JpZEdyaWVmR3JpdEdyb2NlcnlHcm91cEdyb3dHcnVudEd1YXJkR3Vlc3NHdWlkZUd1aWx0R3VpdGFyR3VuR3ltSGFiaXRIYWlySGFsZkhhbW1lckhhbXN0ZXJIYW5kSGFwcHlIYXJib3JIYXJkSGFyc2hIYXJ2ZXN0SGF0SGF2ZUhhd2tIYXphcmRIZWFkSGVhbHRoSGVhcnRIZWF2eUhlZGdlaG9nSGVpZ2h0SGVsbG9IZWxtZXRIZWxwSGVuSGVyb0hpZGRlbkhpZ2hIaWxsSGludEhpcEhpcmVIaXN0b3J5SG9iYnlIb2NrZXlIb2xkSG9sZUhvbGlkYXlIb2xsb3dIb21lSG9uZXlIb29kSG9wZUhvcm5Ib3Jyb3JIb3JzZUhvc3BpdGFsSG9zdEhvdGVsSG91ckhvdmVySHViSHVnZUh1bWFuSHVtYmxlSHVtb3JIdW5kcmVkSHVuZ3J5SHVudEh1cmRsZUh1cnJ5SHVydEh1c2JhbmRIeWJyaWRJY2VJY29uSWRlYUlkZW50aWZ5SWRsZUlnbm9yZUlsbElsbGVnYWxJbGxuZXNzSW1hZ2VJbWl0YXRlSW1tZW5zZUltbXVuZUltcGFjdEltcG9zZUltcHJvdmVJbXB1bHNlSW5jaEluY2x1ZGVJbmNvbWVJbmNyZWFzZUluZGV4SW5kaWNhdGVJbmRvb3JJbmR1c3RyeUluZmFudEluZmxpY3RJbmZvcm1JbmhhbGVJbmhlcml0SW5pdGlhbEluamVjdEluanVyeUlubWF0ZUlubmVySW5ub2NlbnRJbnB1dElucXVpcnlJbnNhbmVJbnNlY3RJbnNpZGVJbnNwaXJlSW5zdGFsbEludGFjdEludGVyZXN0SW50b0ludmVzdEludml0ZUludm9sdmVJcm9uSXNsYW5kSXNvbGF0ZUlzc3VlSXRlbUl2b3J5SmFja2V0SmFndWFySmFySmF6ekplYWxvdXNKZWFuc0plbGx5SmV3ZWxKb2JKb2luSm9rZUpvdXJuZXlKb3lKdWRnZUp1aWNlSnVtcEp1bmdsZUp1bmlvckp1bmtKdXN0S2FuZ2Fyb29LZWVuS2VlcEtldGNodXBLZXlLaWNrS2lkS2lkbmV5S2luZEtpbmdkb21LaXNzS2l0S2l0Y2hlbktpdGVLaXR0ZW5LaXdpS25lZUtuaWZlS25vY2tLbm93TGFiTGFiZWxMYWJvckxhZGRlckxhZHlMYWtlTGFtcExhbmd1YWdlTGFwdG9wTGFyZ2VMYXRlckxhdGluTGF1Z2hMYXVuZHJ5TGF2YUxhd0xhd25MYXdzdWl0TGF5ZXJMYXp5TGVhZGVyTGVhZkxlYXJuTGVhdmVMZWN0dXJlTGVmdExlZ0xlZ2FsTGVnZW5kTGVpc3VyZUxlbW9uTGVuZExlbmd0aExlbnNMZW9wYXJkTGVzc29uTGV0dGVyTGV2ZWxMaWFyTGliZXJ0eUxpYnJhcnlMaWNlbnNlTGlmZUxpZnRMaWdodExpa2VMaW1iTGltaXRMaW5rTGlvbkxpcXVpZExpc3RMaXR0bGVMaXZlTGl6YXJkTG9hZExvYW5Mb2JzdGVyTG9jYWxMb2NrTG9naWNMb25lbHlMb25nTG9vcExvdHRlcnlMb3VkTG91bmdlTG92ZUxveWFsTHVja3lMdWdnYWdlTHVtYmVyTHVuYXJMdW5jaEx1eHVyeUx5cmljc01hY2hpbmVNYWRNYWdpY01hZ25ldE1haWRNYWlsTWFpbk1ham9yTWFrZU1hbW1hbE1hbk1hbmFnZU1hbmRhdGVNYW5nb01hbnNpb25NYW51YWxNYXBsZU1hcmJsZU1hcmNoTWFyZ2luTWFyaW5lTWFya2V0TWFycmlhZ2VNYXNrTWFzc01hc3Rlck1hdGNoTWF0ZXJpYWxNYXRoTWF0cml4TWF0dGVyTWF4aW11bU1hemVNZWFkb3dNZWFuTWVhc3VyZU1lYXRNZWNoYW5pY01lZGFsTWVkaWFNZWxvZHlNZWx0TWVtYmVyTWVtb3J5TWVudGlvbk1lbnVNZXJjeU1lcmdlTWVyaXRNZXJyeU1lc2hNZXNzYWdlTWV0YWxNZXRob2RNaWRkbGVNaWRuaWdodE1pbGtNaWxsaW9uTWltaWNNaW5kTWluaW11bU1pbm9yTWludXRlTWlyYWNsZU1pcnJvck1pc2VyeU1pc3NNaXN0YWtlTWl4TWl4ZWRNaXh0dXJlTW9iaWxlTW9kZWxNb2RpZnlNb21Nb21lbnRNb25pdG9yTW9ua2V5TW9uc3Rlck1vbnRoTW9vbk1vcmFsTW9yZU1vcm5pbmdNb3NxdWl0b01vdGhlck1vdGlvbk1vdG9yTW91bnRhaW5Nb3VzZU1vdmVNb3ZpZU11Y2hNdWZmaW5NdWxlTXVsdGlwbHlNdXNjbGVNdXNldW1NdXNocm9vbU11c2ljTXVzdE11dHVhbE15c2VsZk15c3RlcnlNeXRoTmFpdmVOYW1lTmFwa2luTmFycm93TmFzdHlOYXRpb25OYXR1cmVOZWFyTmVja05lZWROZWdhdGl2ZU5lZ2xlY3ROZWl0aGVyTmVwaGV3TmVydmVOZXN0TmV0TmV0d29ya05ldXRyYWxOZXZlck5ld3NOZXh0TmljZU5pZ2h0Tm9ibGVOb2lzZU5vbWluZWVOb29kbGVOb3JtYWxOb3J0aE5vc2VOb3RhYmxlTm90ZU5vdGhpbmdOb3RpY2VOb3ZlbE5vd051Y2xlYXJOdW1iZXJOdXJzZU51dE9ha09iZXlPYmplY3RPYmxpZ2VPYnNjdXJlT2JzZXJ2ZU9idGFpbk9idmlvdXNPY2N1ck9jZWFuT2N0b2Jlck9kb3JPZmZPZmZlck9mZmljZU9mdGVuT2lsT2theU9sZE9saXZlT2x5bXBpY09taXRPbmNlT25lT25pb25PbmxpbmVPbmx5T3Blbk9wZXJhT3Bpbmlvbk9wcG9zZU9wdGlvbk9yYW5nZU9yYml0T3JjaGFyZE9yZGVyT3JkaW5hcnlPcmdhbk9yaWVudE9yaWdpbmFsT3JwaGFuT3N0cmljaE90aGVyT3V0ZG9vck91dGVyT3V0cHV0T3V0c2lkZU92YWxPdmVuT3Zlck93bk93bmVyT3h5Z2VuT3lzdGVyT3pvbmVQYWN0UGFkZGxlUGFnZVBhaXJQYWxhY2VQYWxtUGFuZGFQYW5lbFBhbmljUGFudGhlclBhcGVyUGFyYWRlUGFyZW50UGFya1BhcnJvdFBhcnR5UGFzc1BhdGNoUGF0aFBhdGllbnRQYXRyb2xQYXR0ZXJuUGF1c2VQYXZlUGF5bWVudFBlYWNlUGVhbnV0UGVhclBlYXNhbnRQZWxpY2FuUGVuUGVuYWx0eVBlbmNpbFBlb3BsZVBlcHBlclBlcmZlY3RQZXJtaXRQZXJzb25QZXRQaG9uZVBob3RvUGhyYXNlUGh5c2ljYWxQaWFub1BpY25pY1BpY3R1cmVQaWVjZVBpZ1BpZ2VvblBpbGxQaWxvdFBpbmtQaW9uZWVyUGlwZVBpc3RvbFBpdGNoUGl6emFQbGFjZVBsYW5ldFBsYXN0aWNQbGF0ZVBsYXlQbGVhc2VQbGVkZ2VQbHVja1BsdWdQbHVuZ2VQb2VtUG9ldFBvaW50UG9sYXJQb2xlUG9saWNlUG9uZFBvbnlQb29sUG9wdWxhclBvcnRpb25Qb3NpdGlvblBvc3NpYmxlUG9zdFBvdGF0b1BvdHRlcnlQb3ZlcnR5UG93ZGVyUG93ZXJQcmFjdGljZVByYWlzZVByZWRpY3RQcmVmZXJQcmVwYXJlUHJlc2VudFByZXR0eVByZXZlbnRQcmljZVByaWRlUHJpbWFyeVByaW50UHJpb3JpdHlQcmlzb25Qcml2YXRlUHJpemVQcm9ibGVtUHJvY2Vzc1Byb2R1Y2VQcm9maXRQcm9ncmFtUHJvamVjdFByb21vdGVQcm9vZlByb3BlcnR5UHJvc3BlclByb3RlY3RQcm91ZFByb3ZpZGVQdWJsaWNQdWRkaW5nUHVsbFB1bHBQdWxzZVB1bXBraW5QdW5jaFB1cGlsUHVwcHlQdXJjaGFzZVB1cml0eVB1cnBvc2VQdXJzZVB1c2hQdXRQdXp6bGVQeXJhbWlkUXVhbGl0eVF1YW50dW1RdWFydGVyUXVlc3Rpb25RdWlja1F1aXRRdWl6UXVvdGVSYWJiaXRSYWNjb29uUmFjZVJhY2tSYWRhclJhZGlvUmFpbFJhaW5SYWlzZVJhbGx5UmFtcFJhbmNoUmFuZG9tUmFuZ2VSYXBpZFJhcmVSYXRlUmF0aGVyUmF2ZW5SYXdSYXpvclJlYWR5UmVhbFJlYXNvblJlYmVsUmVidWlsZFJlY2FsbFJlY2VpdmVSZWNpcGVSZWNvcmRSZWN5Y2xlUmVkdWNlUmVmbGVjdFJlZm9ybVJlZnVzZVJlZ2lvblJlZ3JldFJlZ3VsYXJSZWplY3RSZWxheFJlbGVhc2VSZWxpZWZSZWx5UmVtYWluUmVtZW1iZXJSZW1pbmRSZW1vdmVSZW5kZXJSZW5ld1JlbnRSZW9wZW5SZXBhaXJSZXBlYXRSZXBsYWNlUmVwb3J0UmVxdWlyZVJlc2N1ZVJlc2VtYmxlUmVzaXN0UmVzb3VyY2VSZXNwb25zZVJlc3VsdFJldGlyZVJldHJlYXRSZXR1cm5SZXVuaW9uUmV2ZWFsUmV2aWV3UmV3YXJkUmh5dGhtUmliUmliYm9uUmljZVJpY2hSaWRlUmlkZ2VSaWZsZVJpZ2h0UmlnaWRSaW5nUmlvdFJpcHBsZVJpc2tSaXR1YWxSaXZhbFJpdmVyUm9hZFJvYXN0Um9ib3RSb2J1c3RSb2NrZXRSb21hbmNlUm9vZlJvb2tpZVJvb21Sb3NlUm90YXRlUm91Z2hSb3VuZFJvdXRlUm95YWxSdWJiZXJSdWRlUnVnUnVsZVJ1blJ1bndheVJ1cmFsU2FkU2FkZGxlU2FkbmVzc1NhZmVTYWlsU2FsYWRTYWxtb25TYWxvblNhbHRTYWx1dGVTYW1lU2FtcGxlU2FuZFNhdGlzZnlTYXRvc2hpU2F1Y2VTYXVzYWdlU2F2ZVNheVNjYWxlU2NhblNjYXJlU2NhdHRlclNjZW5lU2NoZW1lU2Nob29sU2NpZW5jZVNjaXNzb3JzU2NvcnBpb25TY291dFNjcmFwU2NyZWVuU2NyaXB0U2NydWJTZWFTZWFyY2hTZWFzb25TZWF0U2Vjb25kU2VjcmV0U2VjdGlvblNlY3VyaXR5U2VlZFNlZWtTZWdtZW50U2VsZWN0U2VsbFNlbWluYXJTZW5pb3JTZW5zZVNlbnRlbmNlU2VyaWVzU2VydmljZVNlc3Npb25TZXR0bGVTZXR1cFNldmVuU2hhZG93U2hhZnRTaGFsbG93U2hhcmVTaGVkU2hlbGxTaGVyaWZmU2hpZWxkU2hpZnRTaGluZVNoaXBTaGl2ZXJTaG9ja1Nob2VTaG9vdFNob3BTaG9ydFNob3VsZGVyU2hvdmVTaHJpbXBTaHJ1Z1NodWZmbGVTaHlTaWJsaW5nU2lja1NpZGVTaWVnZVNpZ2h0U2lnblNpbGVudFNpbGtTaWxseVNpbHZlclNpbWlsYXJTaW1wbGVTaW5jZVNpbmdTaXJlblNpc3RlclNpdHVhdGVTaXhTaXplU2thdGVTa2V0Y2hTa2lTa2lsbFNraW5Ta2lydFNrdWxsU2xhYlNsYW1TbGVlcFNsZW5kZXJTbGljZVNsaWRlU2xpZ2h0U2xpbVNsb2dhblNsb3RTbG93U2x1c2hTbWFsbFNtYXJ0U21pbGVTbW9rZVNtb290aFNuYWNrU25ha2VTbmFwU25pZmZTbm93U29hcFNvY2NlclNvY2lhbFNvY2tTb2RhU29mdFNvbGFyU29sZGllclNvbGlkU29sdXRpb25Tb2x2ZVNvbWVvbmVTb25nU29vblNvcnJ5U29ydFNvdWxTb3VuZFNvdXBTb3VyY2VTb3V0aFNwYWNlU3BhcmVTcGF0aWFsU3Bhd25TcGVha1NwZWNpYWxTcGVlZFNwZWxsU3BlbmRTcGhlcmVTcGljZVNwaWRlclNwaWtlU3BpblNwaXJpdFNwbGl0U3BvaWxTcG9uc29yU3Bvb25TcG9ydFNwb3RTcHJheVNwcmVhZFNwcmluZ1NweVNxdWFyZVNxdWVlemVTcXVpcnJlbFN0YWJsZVN0YWRpdW1TdGFmZlN0YWdlU3RhaXJzU3RhbXBTdGFuZFN0YXJ0U3RhdGVTdGF5U3RlYWtTdGVlbFN0ZW1TdGVwU3RlcmVvU3RpY2tTdGlsbFN0aW5nU3RvY2tTdG9tYWNoU3RvbmVTdG9vbFN0b3J5U3RvdmVTdHJhdGVneVN0cmVldFN0cmlrZVN0cm9uZ1N0cnVnZ2xlU3R1ZGVudFN0dWZmU3R1bWJsZVN0eWxlU3ViamVjdFN1Ym1pdFN1YndheVN1Y2Nlc3NTdWNoU3VkZGVuU3VmZmVyU3VnYXJTdWdnZXN0U3VpdFN1bW1lclN1blN1bm55U3Vuc2V0U3VwZXJTdXBwbHlTdXByZW1lU3VyZVN1cmZhY2VTdXJnZVN1cnByaXNlU3Vycm91bmRTdXJ2ZXlTdXNwZWN0U3VzdGFpblN3YWxsb3dTd2FtcFN3YXBTd2FybVN3ZWFyU3dlZXRTd2lmdFN3aW1Td2luZ1N3aXRjaFN3b3JkU3ltYm9sU3ltcHRvbVN5cnVwU3lzdGVtVGFibGVUYWNrbGVUYWdUYWlsVGFsZW50VGFsa1RhbmtUYXBlVGFyZ2V0VGFza1Rhc3RlVGF0dG9vVGF4aVRlYWNoVGVhbVRlbGxUZW5UZW5hbnRUZW5uaXNUZW50VGVybVRlc3RUZXh0VGhhbmtUaGF0VGhlbWVUaGVuVGhlb3J5VGhlcmVUaGV5VGhpbmdUaGlzVGhvdWdodFRocmVlVGhyaXZlVGhyb3dUaHVtYlRodW5kZXJUaWNrZXRUaWRlVGlnZXJUaWx0VGltYmVyVGltZVRpbnlUaXBUaXJlZFRpc3N1ZVRpdGxlVG9hc3RUb2JhY2NvVG9kYXlUb2RkbGVyVG9lVG9nZXRoZXJUb2lsZXRUb2tlblRvbWF0b1RvbW9ycm93VG9uZVRvbmd1ZVRvbmlnaHRUb29sVG9vdGhUb3BUb3BpY1RvcHBsZVRvcmNoVG9ybmFkb1RvcnRvaXNlVG9zc1RvdGFsVG91cmlzdFRvd2FyZFRvd2VyVG93blRveVRyYWNrVHJhZGVUcmFmZmljVHJhZ2ljVHJhaW5UcmFuc2ZlclRyYXBUcmFzaFRyYXZlbFRyYXlUcmVhdFRyZWVUcmVuZFRyaWFsVHJpYmVUcmlja1RyaWdnZXJUcmltVHJpcFRyb3BoeVRyb3VibGVUcnVja1RydWVUcnVseVRydW1wZXRUcnVzdFRydXRoVHJ5VHViZVR1aXRpb25UdW1ibGVUdW5hVHVubmVsVHVya2V5VHVyblR1cnRsZVR3ZWx2ZVR3ZW50eVR3aWNlVHdpblR3aXN0VHdvVHlwZVR5cGljYWxVZ2x5VW1icmVsbGFVbmFibGVVbmF3YXJlVW5jbGVVbmNvdmVyVW5kZXJVbmRvVW5mYWlyVW5mb2xkVW5oYXBweVVuaWZvcm1VbmlxdWVVbml0VW5pdmVyc2VVbmtub3duVW5sb2NrVW50aWxVbnVzdWFsVW52ZWlsVXBkYXRlVXBncmFkZVVwaG9sZFVwb25VcHBlclVwc2V0VXJiYW5VcmdlVXNhZ2VVc2VVc2VkVXNlZnVsVXNlbGVzc1VzdWFsVXRpbGl0eVZhY2FudFZhY3V1bVZhZ3VlVmFsaWRWYWxsZXlWYWx2ZVZhblZhbmlzaFZhcG9yVmFyaW91c1Zhc3RWYXVsdFZlaGljbGVWZWx2ZXRWZW5kb3JWZW50dXJlVmVudWVWZXJiVmVyaWZ5VmVyc2lvblZlcnlWZXNzZWxWZXRlcmFuVmlhYmxlVmlicmFudFZpY2lvdXNWaWN0b3J5VmlkZW9WaWV3VmlsbGFnZVZpbnRhZ2VWaW9saW5WaXJ0dWFsVmlydXNWaXNhVmlzaXRWaXN1YWxWaXRhbFZpdmlkVm9jYWxWb2ljZVZvaWRWb2xjYW5vVm9sdW1lVm90ZVZveWFnZVdhZ2VXYWdvbldhaXRXYWxrV2FsbFdhbG51dFdhbnRXYXJmYXJlV2FybVdhcnJpb3JXYXNoV2FzcFdhc3RlV2F0ZXJXYXZlV2F5V2VhbHRoV2VhcG9uV2VhcldlYXNlbFdlYXRoZXJXZWJXZWRkaW5nV2Vla2VuZFdlaXJkV2VsY29tZVdlc3RXZXRXaGFsZVdoYXRXaGVhdFdoZWVsV2hlbldoZXJlV2hpcFdoaXNwZXJXaWRlV2lkdGhXaWZlV2lsZFdpbGxXaW5XaW5kb3dXaW5lV2luZ1dpbmtXaW5uZXJXaW50ZXJXaXJlV2lzZG9tV2lzZVdpc2hXaXRuZXNzV29sZldvbWFuV29uZGVyV29vZFdvb2xXb3JkV29ya1dvcmxkV29ycnlXb3J0aFdyYXBXcmVja1dyZXN0bGVXcmlzdFdyaXRlV3JvbmdZYXJkWWVhclllbGxvd1lvdVlvdW5nWW91dGhaZWJyYVplcm9ab25lWm9vJ1tfMHgxNjIxMmYoJzB4MzZjJyldKC8oW0EtWl0pL2csXzB4MTYyMTJmKCcweDc2NScpKVtfMHgxNjIxMmYoJzB4ODcwJyldKClbJ3N1YnN0cmluZyddKDB4MSlbXzB4MTYyMTJmKCcweDk5NCcpXSgnXHgyMCcpLF8weDE2MjEyZignMHhjNDknKSE9PV8weDJlYzNlNFsnRCddW18weDE2MjEyZignMHg5YjAnKV0oXzB4NTE1YTE4KSkpdGhyb3cgXzB4YjhhMzMyPW51bGwsbmV3IEVycm9yKF8weDE2MjEyZignMHg3ZmQnKSk7fWNsYXNzIF8weDIyYzQ0YiBleHRlbmRzIF8weDJlYzNlNFsnRCdde2NvbnN0cnVjdG9yKCl7c3VwZXIoJ2VuJyk7fVtfMHg1MDBlMzEoJzB4MzM5JyldKF8weDRkZDAwOCl7cmV0dXJuIF8weGQ1YTM4NCh0aGlzKSxfMHhiOGEzMzJbXzB4NGRkMDA4XTt9W18weDUwMGUzMSgnMHg3YzgnKV0oXzB4MzFlZWQxKXtyZXR1cm4gXzB4ZDVhMzg0KHRoaXMpLF8weGI4YTMzMlsnaW5kZXhPZiddKF8weDMxZWVkMSk7fX1jb25zdCBfMHgxMGY0OTI9bmV3IF8weDIyYzQ0YigpO18weDJlYzNlNFsnRCddW18weDUwMGUzMSgnMHg1NDAnKV0oXzB4MTBmNDkyKTtjb25zdCBfMHgzODk2ZTc9eydlbic6XzB4MTBmNDkyfTt9LDB4MjU0NDooXzB4NzRlZGY3LF8weDJlMmQ4NSk9PnsndXNlIHN0cmljdCc7dmFyIF8weDRkNmJlYT1fMHgxNWEzO09iamVjdFtfMHg0ZDZiZWEoJzB4MmI0JyldKF8weDJlMmQ4NSxfMHg0ZDZiZWEoJzB4Y2QyJykseyd2YWx1ZSc6ITB4MH0pLF8weDJlMmQ4NVtfMHg0ZDZiZWEoJzB4ZDAwJyldPXZvaWQgMHgwLF8weDJlMmQ4NVsnRG9tYWluUmVnaXN0cnlBQkknXT1beydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6J3N0cmluZycsJ25hbWUnOl8weDRkNmJlYSgnMHhhY2QnKSwndHlwZSc6XzB4NGQ2YmVhKCcweDY1ZicpfV0sJ25hbWUnOl8weDRkNmJlYSgnMHg3YjEnKSwndHlwZSc6XzB4NGQ2YmVhKCcweGM5ZScpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0ZDZiZWEoJzB4OGI1JyksJ25hbWUnOl8weDRkNmJlYSgnMHg0MmEnKSwndHlwZSc6XzB4NGQ2YmVhKCcweDhiNScpfSx7J2ludGVybmFsVHlwZSc6XzB4NGQ2YmVhKCcweDViMycpLCduYW1lJzpfMHg0ZDZiZWEoJzB4MzQ2JyksJ3R5cGUnOl8weDRkNmJlYSgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDRkNmJlYSgnMHg1YjMnKSwnbmFtZSc6J3N1cHBsaWVkSW5kZXgnLCd0eXBlJzondWludDI1Nid9XSwnbmFtZSc6XzB4NGQ2YmVhKCcweDgzMycpLCd0eXBlJzpfMHg0ZDZiZWEoJzB4YzllJyl9LHsnYW5vbnltb3VzJzohMHgxLCdpbnB1dHMnOlt7J2luZGV4ZWQnOiEweDEsJ2ludGVybmFsVHlwZSc6XzB4NGQ2YmVhKCcweDY1ZicpLCduYW1lJzpfMHg0ZDZiZWEoJzB4YWNkJyksJ3R5cGUnOl8weDRkNmJlYSgnMHg2NWYnKX0seydpbmRleGVkJzohMHgxLCdpbnRlcm5hbFR5cGUnOidieXRlczQnLCduYW1lJzpfMHg0ZDZiZWEoJzB4NDJhJyksJ3R5cGUnOl8weDRkNmJlYSgnMHg4YjUnKX0seydpbmRleGVkJzohMHgxLCdpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4NGQ2YmVhKCcweGI1ZScpLCd0eXBlJzondWludDI1Nid9XSwnbmFtZSc6XzB4NGQ2YmVhKCcweDViZCcpLCd0eXBlJzpfMHg0ZDZiZWEoJzB4NjZlJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDRkNmJlYSgnMHg4YjUnKSwnbmFtZSc6J3RhZycsJ3R5cGUnOl8weDRkNmJlYSgnMHg4YjUnKX0seydpbnRlcm5hbFR5cGUnOl8weDRkNmJlYSgnMHg1YjMnKSwnbmFtZSc6XzB4NGQ2YmVhKCcweGI1ZScpLCd0eXBlJzpfMHg0ZDZiZWEoJzB4NWIzJyl9XSwnbmFtZSc6XzB4NGQ2YmVhKCcweGJkZScpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOidzdHJpbmcnLCduYW1lJzpfMHg0ZDZiZWEoJzB4YWNkJyksJ3R5cGUnOl8weDRkNmJlYSgnMHg2NWYnKX1dLCdzdGF0ZU11dGFiaWxpdHknOl8weDRkNmJlYSgnMHg4ZTQnKSwndHlwZSc6XzB4NGQ2YmVhKCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzonYnl0ZXM0JywnbmFtZSc6XzB4NGQ2YmVhKCcweDQyYScpLCd0eXBlJzpfMHg0ZDZiZWEoJzB4OGI1Jyl9XSwnbmFtZSc6XzB4NGQ2YmVhKCcweDQ5MicpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDRkNmJlYSgnMHgyZDcnKSwnbmFtZSc6XzB4NGQ2YmVhKCcweDhkMScpLCd0eXBlJzpfMHg0ZDZiZWEoJzB4MmQ3Jyl9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg0ZDZiZWEoJzB4OGU0JyksJ3R5cGUnOl8weDRkNmJlYSgnMHhjN2InKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6J2J5dGVzNCcsJ25hbWUnOid0YWcnLCd0eXBlJzpfMHg0ZDZiZWEoJzB4OGI1Jyl9XSwnbmFtZSc6XzB4NGQ2YmVhKCcweDQwZicpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDRkNmJlYSgnMHg1YjMnKSwnbmFtZSc6XzB4NGQ2YmVhKCcweDIzZScpLCd0eXBlJzondWludDI1Nid9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg0ZDZiZWEoJzB4OGU0JyksJ3R5cGUnOl8weDRkNmJlYSgnMHhjN2InKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NGQ2YmVhKCcweDY1ZicpLCduYW1lJzpfMHg0ZDZiZWEoJzB4YWNkJyksJ3R5cGUnOl8weDRkNmJlYSgnMHg2NWYnKX1dLCduYW1lJzpfMHg0ZDZiZWEoJzB4YjFhJyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NGQ2YmVhKCcweDhiNScpLCduYW1lJzpfMHg0ZDZiZWEoJzB4NDJhJyksJ3R5cGUnOl8weDRkNmJlYSgnMHg4YjUnKX1dLCdzdGF0ZU11dGFiaWxpdHknOidub25wYXlhYmxlJywndHlwZSc6XzB4NGQ2YmVhKCcweGM3YicpfV07fSwweDE3NjU6KF8weDNlMDFhNyxfMHhlODI5NzEpPT57J3VzZSBzdHJpY3QnO3ZhciBfMHgxMzA5Yzg9XzB4MTVhMztPYmplY3RbXzB4MTMwOWM4KCcweDJiNCcpXShfMHhlODI5NzEsXzB4MTMwOWM4KCcweGNkMicpLHsndmFsdWUnOiEweDB9KSxfMHhlODI5NzFbXzB4MTMwOWM4KCcweDFmMCcpXT12b2lkIDB4MCxfMHhlODI5NzFbJ0VSQzExNTVBQkknXT1beydhbm9ueW1vdXMnOiEweDEsJ2lucHV0cyc6W3snaW5kZXhlZCc6ITB4MCwnaW50ZXJuYWxUeXBlJzpfMHgxMzA5YzgoJzB4MWQxJyksJ25hbWUnOl8weDEzMDljOCgnMHg0ZTEnKSwndHlwZSc6XzB4MTMwOWM4KCcweDFkMScpfSx7J2luZGV4ZWQnOiEweDAsJ2ludGVybmFsVHlwZSc6XzB4MTMwOWM4KCcweDFkMScpLCduYW1lJzpfMHgxMzA5YzgoJzB4NDdkJyksJ3R5cGUnOl8weDEzMDljOCgnMHgxZDEnKX0seydpbmRleGVkJzohMHgxLCdpbnRlcm5hbFR5cGUnOl8weDEzMDljOCgnMHhkMDUnKSwnbmFtZSc6J2FwcHJvdmVkJywndHlwZSc6XzB4MTMwOWM4KCcweGQwNScpfV0sJ25hbWUnOl8weDEzMDljOCgnMHg3MzEnKSwndHlwZSc6J2V2ZW50J30seydhbm9ueW1vdXMnOiEweDEsJ2lucHV0cyc6W3snaW5kZXhlZCc6ITB4MCwnaW50ZXJuYWxUeXBlJzpfMHgxMzA5YzgoJzB4MWQxJyksJ25hbWUnOl8weDEzMDljOCgnMHg0N2QnKSwndHlwZSc6J2FkZHJlc3MnfSx7J2luZGV4ZWQnOiEweDAsJ2ludGVybmFsVHlwZSc6XzB4MTMwOWM4KCcweDFkMScpLCduYW1lJzonZnJvbScsJ3R5cGUnOl8weDEzMDljOCgnMHgxZDEnKX0seydpbmRleGVkJzohMHgwLCdpbnRlcm5hbFR5cGUnOl8weDEzMDljOCgnMHgxZDEnKSwnbmFtZSc6J3RvJywndHlwZSc6XzB4MTMwOWM4KCcweDFkMScpfSx7J2luZGV4ZWQnOiEweDEsJ2ludGVybmFsVHlwZSc6XzB4MTMwOWM4KCcweDczMCcpLCduYW1lJzpfMHgxMzA5YzgoJzB4OGNhJyksJ3R5cGUnOl8weDEzMDljOCgnMHg3MzAnKX0seydpbmRleGVkJzohMHgxLCdpbnRlcm5hbFR5cGUnOl8weDEzMDljOCgnMHg3MzAnKSwnbmFtZSc6J2Ftb3VudHMnLCd0eXBlJzpfMHgxMzA5YzgoJzB4NzMwJyl9XSwnbmFtZSc6J1RyYW5zZmVyQmF0Y2gnLCd0eXBlJzonZXZlbnQnfSx7J2Fub255bW91cyc6ITB4MSwnaW5wdXRzJzpbeydpbmRleGVkJzohMHgwLCdpbnRlcm5hbFR5cGUnOidhZGRyZXNzJywnbmFtZSc6XzB4MTMwOWM4KCcweDQ3ZCcpLCd0eXBlJzpfMHgxMzA5YzgoJzB4MWQxJyl9LHsnaW5kZXhlZCc6ITB4MCwnaW50ZXJuYWxUeXBlJzpfMHgxMzA5YzgoJzB4MWQxJyksJ25hbWUnOidmcm9tJywndHlwZSc6J2FkZHJlc3MnfSx7J2luZGV4ZWQnOiEweDAsJ2ludGVybmFsVHlwZSc6XzB4MTMwOWM4KCcweDFkMScpLCduYW1lJzondG8nLCd0eXBlJzpfMHgxMzA5YzgoJzB4MWQxJyl9LHsnaW5kZXhlZCc6ITB4MSwnaW50ZXJuYWxUeXBlJzpfMHgxMzA5YzgoJzB4NWIzJyksJ25hbWUnOidpZCcsJ3R5cGUnOl8weDEzMDljOCgnMHg1YjMnKX0seydpbmRleGVkJzohMHgxLCdpbnRlcm5hbFR5cGUnOl8weDEzMDljOCgnMHg1YjMnKSwnbmFtZSc6XzB4MTMwOWM4KCcweDdlNCcpLCd0eXBlJzpfMHgxMzA5YzgoJzB4NWIzJyl9XSwnbmFtZSc6J1RyYW5zZmVyU2luZ2xlJywndHlwZSc6XzB4MTMwOWM4KCcweDY2ZScpfSx7J2Fub255bW91cyc6ITB4MSwnaW5wdXRzJzpbeydpbmRleGVkJzohMHgxLCdpbnRlcm5hbFR5cGUnOl8weDEzMDljOCgnMHg2NWYnKSwnbmFtZSc6J3ZhbHVlJywndHlwZSc6J3N0cmluZyd9LHsnaW5kZXhlZCc6ITB4MCwnaW50ZXJuYWxUeXBlJzpfMHgxMzA5YzgoJzB4NWIzJyksJ25hbWUnOidpZCcsJ3R5cGUnOl8weDEzMDljOCgnMHg1YjMnKX1dLCduYW1lJzpfMHgxMzA5YzgoJzB4MWQzJyksJ3R5cGUnOl8weDEzMDljOCgnMHg2NmUnKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4MTMwOWM4KCcweDFkMScpLCduYW1lJzonJywndHlwZSc6XzB4MTMwOWM4KCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4MTMwOWM4KCcweDViMycpLCduYW1lJzonJywndHlwZSc6XzB4MTMwOWM4KCcweDViMycpfV0sJ25hbWUnOl8weDEzMDljOCgnMHhjZWMnKSwnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHgxMzA5YzgoJzB4NWIzJyksJ25hbWUnOicnLCd0eXBlJzpfMHgxMzA5YzgoJzB4NWIzJyl9XSwnc3RhdGVNdXRhYmlsaXR5JzondmlldycsJ3R5cGUnOl8weDEzMDljOCgnMHhjN2InKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4MTMwOWM4KCcweGFlMScpLCduYW1lJzpfMHgxMzA5YzgoJzB4YTI0JyksJ3R5cGUnOl8weDEzMDljOCgnMHhhZTEnKX0seydpbnRlcm5hbFR5cGUnOl8weDEzMDljOCgnMHg3MzAnKSwnbmFtZSc6XzB4MTMwOWM4KCcweDhjYScpLCd0eXBlJzpfMHgxMzA5YzgoJzB4NzMwJyl9XSwnbmFtZSc6XzB4MTMwOWM4KCcweGFiYycpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDEzMDljOCgnMHg3MzAnKSwnbmFtZSc6XzB4MTMwOWM4KCcweDM3ZicpLCd0eXBlJzpfMHgxMzA5YzgoJzB4NzMwJyl9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHgxMzA5YzgoJzB4OGU0JyksJ3R5cGUnOidmdW5jdGlvbid9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDEzMDljOCgnMHgxZDEnKSwnbmFtZSc6JycsJ3R5cGUnOl8weDEzMDljOCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOl8weDEzMDljOCgnMHgxZDEnKSwnbmFtZSc6JycsJ3R5cGUnOidhZGRyZXNzJ31dLCduYW1lJzpfMHgxMzA5YzgoJzB4YWI3JyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6J2Jvb2wnLCduYW1lJzonJywndHlwZSc6XzB4MTMwOWM4KCcweGQwNScpfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4MTMwOWM4KCcweDhlNCcpLCd0eXBlJzonZnVuY3Rpb24nfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzonYWRkcmVzcycsJ25hbWUnOl8weDEzMDljOCgnMHgyNTInKSwndHlwZSc6XzB4MTMwOWM4KCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6J2FkZHJlc3MnLCduYW1lJzondG8nLCd0eXBlJzonYWRkcmVzcyd9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NltdJywnbmFtZSc6XzB4MTMwOWM4KCcweDhjYScpLCd0eXBlJzpfMHgxMzA5YzgoJzB4NzMwJyl9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NltdJywnbmFtZSc6XzB4MTMwOWM4KCcweDQ5ZicpLCd0eXBlJzondWludDI1NltdJ30seydpbnRlcm5hbFR5cGUnOl8weDEzMDljOCgnMHg1MmEnKSwnbmFtZSc6XzB4MTMwOWM4KCcweGE1OCcpLCd0eXBlJzpfMHgxMzA5YzgoJzB4NTJhJyl9XSwnbmFtZSc6XzB4MTMwOWM4KCcweGI2MicpLCdvdXRwdXRzJzpbXSwnc3RhdGVNdXRhYmlsaXR5JzpfMHgxMzA5YzgoJzB4OWM4JyksJ3R5cGUnOl8weDEzMDljOCgnMHhjN2InKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4MTMwOWM4KCcweDFkMScpLCduYW1lJzpfMHgxMzA5YzgoJzB4MjUyJyksJ3R5cGUnOl8weDEzMDljOCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOl8weDEzMDljOCgnMHgxZDEnKSwnbmFtZSc6J3RvJywndHlwZSc6XzB4MTMwOWM4KCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4MTMwOWM4KCcweDViMycpLCduYW1lJzonaWQnLCd0eXBlJzpfMHgxMzA5YzgoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHgxMzA5YzgoJzB4NWIzJyksJ25hbWUnOl8weDEzMDljOCgnMHg3ZTQnKSwndHlwZSc6XzB4MTMwOWM4KCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4MTMwOWM4KCcweDUyYScpLCduYW1lJzpfMHgxMzA5YzgoJzB4YTU4JyksJ3R5cGUnOl8weDEzMDljOCgnMHg1MmEnKX1dLCduYW1lJzpfMHgxMzA5YzgoJzB4YzNkJyksJ291dHB1dHMnOltdLCdzdGF0ZU11dGFiaWxpdHknOl8weDEzMDljOCgnMHg5YzgnKSwndHlwZSc6XzB4MTMwOWM4KCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHgxMzA5YzgoJzB4MWQxJyksJ25hbWUnOl8weDEzMDljOCgnMHg0N2QnKSwndHlwZSc6XzB4MTMwOWM4KCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6J2Jvb2wnLCduYW1lJzpfMHgxMzA5YzgoJzB4M2VmJyksJ3R5cGUnOl8weDEzMDljOCgnMHhkMDUnKX1dLCduYW1lJzpfMHgxMzA5YzgoJzB4YjQ5JyksJ291dHB1dHMnOltdLCdzdGF0ZU11dGFiaWxpdHknOl8weDEzMDljOCgnMHg5YzgnKSwndHlwZSc6XzB4MTMwOWM4KCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzonYnl0ZXM0JywnbmFtZSc6J2ludGVyZmFjZUlkJywndHlwZSc6J2J5dGVzNCd9XSwnbmFtZSc6XzB4MTMwOWM4KCcweGQwOCcpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDEzMDljOCgnMHhkMDUnKSwnbmFtZSc6JycsJ3R5cGUnOl8weDEzMDljOCgnMHhkMDUnKX1dLCdzdGF0ZU11dGFiaWxpdHknOidwdXJlJywndHlwZSc6J2Z1bmN0aW9uJ30seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4MTMwOWM4KCcweDViMycpLCduYW1lJzonaWQnLCd0eXBlJzpfMHgxMzA5YzgoJzB4NWIzJyl9XSwnbmFtZSc6XzB4MTMwOWM4KCcweDI0MicpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDEzMDljOCgnMHg2NWYnKSwnbmFtZSc6JycsJ3R5cGUnOl8weDEzMDljOCgnMHg2NWYnKX1dLCdzdGF0ZU11dGFiaWxpdHknOid2aWV3JywndHlwZSc6XzB4MTMwOWM4KCcweGM3YicpfV07fSwweDgyOTooXzB4M2Y3YjYxLF8weDU2M2I0Yik9PnsndXNlIHN0cmljdCc7dmFyIF8weDNjNmZlYT1fMHgxNWEzO09iamVjdFtfMHgzYzZmZWEoJzB4MmI0JyldKF8weDU2M2I0YixfMHgzYzZmZWEoJzB4Y2QyJykseyd2YWx1ZSc6ITB4MH0pLF8weDU2M2I0YlsnRVJDMjBBQkknXT12b2lkIDB4MCxfMHg1NjNiNGJbXzB4M2M2ZmVhKCcweGNlMycpXT1beydhbm9ueW1vdXMnOiEweDEsJ2lucHV0cyc6W3snaW5kZXhlZCc6ITB4MCwnaW50ZXJuYWxUeXBlJzpfMHgzYzZmZWEoJzB4MWQxJyksJ25hbWUnOl8weDNjNmZlYSgnMHg0ZTEnKSwndHlwZSc6J2FkZHJlc3MnfSx7J2luZGV4ZWQnOiEweDAsJ2ludGVybmFsVHlwZSc6XzB4M2M2ZmVhKCcweDFkMScpLCduYW1lJzonc3BlbmRlcicsJ3R5cGUnOidhZGRyZXNzJ30seydpbmRleGVkJzohMHgxLCdpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4M2M2ZmVhKCcweDdlNCcpLCd0eXBlJzpfMHgzYzZmZWEoJzB4NWIzJyl9XSwnbmFtZSc6J0FwcHJvdmFsJywndHlwZSc6XzB4M2M2ZmVhKCcweDY2ZScpfSx7J2Fub255bW91cyc6ITB4MSwnaW5wdXRzJzpbeydpbmRleGVkJzohMHgwLCdpbnRlcm5hbFR5cGUnOl8weDNjNmZlYSgnMHgxZDEnKSwnbmFtZSc6XzB4M2M2ZmVhKCcweDI1MicpLCd0eXBlJzpfMHgzYzZmZWEoJzB4MWQxJyl9LHsnaW5kZXhlZCc6ITB4MCwnaW50ZXJuYWxUeXBlJzpfMHgzYzZmZWEoJzB4MWQxJyksJ25hbWUnOid0bycsJ3R5cGUnOl8weDNjNmZlYSgnMHgxZDEnKX0seydpbmRleGVkJzohMHgxLCdpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4M2M2ZmVhKCcweDdlNCcpLCd0eXBlJzpfMHgzYzZmZWEoJzB4NWIzJyl9XSwnbmFtZSc6XzB4M2M2ZmVhKCcweDU4OScpLCd0eXBlJzonZXZlbnQnfSx7J2lucHV0cyc6W10sJ25hbWUnOl8weDNjNmZlYSgnMHgzNzYnKSwnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHgzYzZmZWEoJzB4Yzk0JyksJ25hbWUnOicnLCd0eXBlJzpfMHgzYzZmZWEoJzB4Yzk0Jyl9XSwnc3RhdGVNdXRhYmlsaXR5JzondmlldycsJ3R5cGUnOl8weDNjNmZlYSgnMHhjN2InKX0seydpbnB1dHMnOltdLCduYW1lJzpfMHgzYzZmZWEoJzB4NWIxJyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4M2M2ZmVhKCcweGM5NCcpLCduYW1lJzonJywndHlwZSc6J2J5dGVzMzInfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4M2M2ZmVhKCcweDhlNCcpLCd0eXBlJzonZnVuY3Rpb24nfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHgzYzZmZWEoJzB4MWQxJyksJ25hbWUnOicnLCd0eXBlJzpfMHgzYzZmZWEoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHgzYzZmZWEoJzB4MWQxJyksJ25hbWUnOicnLCd0eXBlJzpfMHgzYzZmZWEoJzB4MWQxJyl9XSwnbmFtZSc6XzB4M2M2ZmVhKCcweGM3MCcpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDNjNmZlYSgnMHg1YjMnKSwnbmFtZSc6JycsJ3R5cGUnOl8weDNjNmZlYSgnMHg1YjMnKX1dLCdzdGF0ZU11dGFiaWxpdHknOl8weDNjNmZlYSgnMHg4ZTQnKSwndHlwZSc6J2Z1bmN0aW9uJ30seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4M2M2ZmVhKCcweDFkMScpLCduYW1lJzpfMHgzYzZmZWEoJzB4MjgzJyksJ3R5cGUnOl8weDNjNmZlYSgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4M2M2ZmVhKCcweDdlNCcpLCd0eXBlJzpfMHgzYzZmZWEoJzB4NWIzJyl9XSwnbmFtZSc6XzB4M2M2ZmVhKCcweGMxYycpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOidib29sJywnbmFtZSc6JycsJ3R5cGUnOl8weDNjNmZlYSgnMHhkMDUnKX1dLCdzdGF0ZU11dGFiaWxpdHknOl8weDNjNmZlYSgnMHg5YzgnKSwndHlwZSc6XzB4M2M2ZmVhKCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHgzYzZmZWEoJzB4MWQxJyksJ25hbWUnOicnLCd0eXBlJzpfMHgzYzZmZWEoJzB4MWQxJyl9XSwnbmFtZSc6XzB4M2M2ZmVhKCcweGNlYycpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDNjNmZlYSgnMHg1YjMnKSwnbmFtZSc6JycsJ3R5cGUnOid1aW50MjU2J31dLCdzdGF0ZU11dGFiaWxpdHknOl8weDNjNmZlYSgnMHg4ZTQnKSwndHlwZSc6XzB4M2M2ZmVhKCcweGM3YicpfSx7J2lucHV0cyc6W10sJ25hbWUnOl8weDNjNmZlYSgnMHg4MGInKSwnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHgzYzZmZWEoJzB4YTVhJyksJ25hbWUnOicnLCd0eXBlJzondWludDgnfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4M2M2ZmVhKCcweDhlNCcpLCd0eXBlJzpfMHgzYzZmZWEoJzB4YzdiJyl9LHsnaW5wdXRzJzpbXSwnbmFtZSc6XzB4M2M2ZmVhKCcweGJjNycpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDNjNmZlYSgnMHg2NWYnKSwnbmFtZSc6JycsJ3R5cGUnOl8weDNjNmZlYSgnMHg2NWYnKX1dLCdzdGF0ZU11dGFiaWxpdHknOl8weDNjNmZlYSgnMHg4ZTQnKSwndHlwZSc6XzB4M2M2ZmVhKCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHgzYzZmZWEoJzB4MWQxJyksJ25hbWUnOicnLCd0eXBlJzpfMHgzYzZmZWEoJzB4MWQxJyl9XSwnbmFtZSc6XzB4M2M2ZmVhKCcweDcxMScpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDNjNmZlYSgnMHg1YjMnKSwnbmFtZSc6JycsJ3R5cGUnOl8weDNjNmZlYSgnMHg1YjMnKX1dLCdzdGF0ZU11dGFiaWxpdHknOid2aWV3JywndHlwZSc6XzB4M2M2ZmVhKCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHgzYzZmZWEoJzB4MWQxJyksJ25hbWUnOl8weDNjNmZlYSgnMHg0ZTEnKSwndHlwZSc6XzB4M2M2ZmVhKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4M2M2ZmVhKCcweDFkMScpLCduYW1lJzpfMHgzYzZmZWEoJzB4MjgzJyksJ3R5cGUnOl8weDNjNmZlYSgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4M2M2ZmVhKCcweDg5ZCcpLCd0eXBlJzpfMHgzYzZmZWEoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHgzYzZmZWEoJzB4NWIzJyksJ25hbWUnOl8weDNjNmZlYSgnMHg3NDYnKSwndHlwZSc6J3VpbnQyNTYnfSx7J2ludGVybmFsVHlwZSc6J3VpbnQ4JywnbmFtZSc6J3YnLCd0eXBlJzpfMHgzYzZmZWEoJzB4YTVhJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHgzYzZmZWEoJzB4Yzk0JyksJ25hbWUnOidyJywndHlwZSc6XzB4M2M2ZmVhKCcweGM5NCcpfSx7J2ludGVybmFsVHlwZSc6J2J5dGVzMzInLCduYW1lJzoncycsJ3R5cGUnOl8weDNjNmZlYSgnMHhjOTQnKX1dLCduYW1lJzoncGVybWl0Jywnb3V0cHV0cyc6W10sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4M2M2ZmVhKCcweDljOCcpLCd0eXBlJzpfMHgzYzZmZWEoJzB4YzdiJyl9LHsnaW5wdXRzJzpbXSwnbmFtZSc6XzB4M2M2ZmVhKCcweDFiMCcpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOidzdHJpbmcnLCduYW1lJzonJywndHlwZSc6XzB4M2M2ZmVhKCcweDY1ZicpfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4M2M2ZmVhKCcweDhlNCcpLCd0eXBlJzpfMHgzYzZmZWEoJzB4YzdiJyl9LHsnaW5wdXRzJzpbXSwnbmFtZSc6XzB4M2M2ZmVhKCcweGJkNycpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDNjNmZlYSgnMHg1YjMnKSwnbmFtZSc6JycsJ3R5cGUnOl8weDNjNmZlYSgnMHg1YjMnKX1dLCdzdGF0ZU11dGFiaWxpdHknOl8weDNjNmZlYSgnMHg4ZTQnKSwndHlwZSc6XzB4M2M2ZmVhKCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHgzYzZmZWEoJzB4MWQxJyksJ25hbWUnOid0bycsJ3R5cGUnOl8weDNjNmZlYSgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4M2M2ZmVhKCcweDdlNCcpLCd0eXBlJzpfMHgzYzZmZWEoJzB4NWIzJyl9XSwnbmFtZSc6XzB4M2M2ZmVhKCcweDNjNicpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDNjNmZlYSgnMHhkMDUnKSwnbmFtZSc6JycsJ3R5cGUnOidib29sJ31dLCdzdGF0ZU11dGFiaWxpdHknOl8weDNjNmZlYSgnMHg5YzgnKSwndHlwZSc6XzB4M2M2ZmVhKCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzonYWRkcmVzcycsJ25hbWUnOl8weDNjNmZlYSgnMHgyNTInKSwndHlwZSc6XzB4M2M2ZmVhKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4M2M2ZmVhKCcweDFkMScpLCduYW1lJzondG8nLCd0eXBlJzpfMHgzYzZmZWEoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHgzYzZmZWEoJzB4NWIzJyksJ25hbWUnOl8weDNjNmZlYSgnMHg3ZTQnKSwndHlwZSc6XzB4M2M2ZmVhKCcweDViMycpfV0sJ25hbWUnOl8weDNjNmZlYSgnMHhiOTInKSwnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHgzYzZmZWEoJzB4ZDA1JyksJ25hbWUnOicnLCd0eXBlJzonYm9vbCd9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHgzYzZmZWEoJzB4OWM4JyksJ3R5cGUnOl8weDNjNmZlYSgnMHhjN2InKX1dO30sMHg0YWU6KF8weDNiNjMyYSxfMHgyYWYxYTcpPT57J3VzZSBzdHJpY3QnO3ZhciBfMHg1ZTRiYzc9XzB4MTVhMztPYmplY3RbXzB4NWU0YmM3KCcweDJiNCcpXShfMHgyYWYxYTcsXzB4NWU0YmM3KCcweGNkMicpLHsndmFsdWUnOiEweDB9KSxfMHgyYWYxYTdbJ0VSQzcyMUFCSSddPXZvaWQgMHgwLF8weDJhZjFhN1tfMHg1ZTRiYzcoJzB4NWQyJyldPVt7J2Fub255bW91cyc6ITB4MSwnaW5wdXRzJzpbeydpbmRleGVkJzohMHgwLCdpbnRlcm5hbFR5cGUnOl8weDVlNGJjNygnMHgxZDEnKSwnbmFtZSc6J293bmVyJywndHlwZSc6J2FkZHJlc3MnfSx7J2luZGV4ZWQnOiEweDAsJ2ludGVybmFsVHlwZSc6J2FkZHJlc3MnLCduYW1lJzpfMHg1ZTRiYzcoJzB4MjgzJyksJ3R5cGUnOl8weDVlNGJjNygnMHgxZDEnKX0seydpbmRleGVkJzohMHgwLCdpbnRlcm5hbFR5cGUnOl8weDVlNGJjNygnMHg1YjMnKSwnbmFtZSc6J2lkJywndHlwZSc6XzB4NWU0YmM3KCcweDViMycpfV0sJ25hbWUnOl8weDVlNGJjNygnMHg2ZDknKSwndHlwZSc6XzB4NWU0YmM3KCcweDY2ZScpfSx7J2Fub255bW91cyc6ITB4MSwnaW5wdXRzJzpbeydpbmRleGVkJzohMHgwLCdpbnRlcm5hbFR5cGUnOidhZGRyZXNzJywnbmFtZSc6XzB4NWU0YmM3KCcweDRlMScpLCd0eXBlJzpfMHg1ZTRiYzcoJzB4MWQxJyl9LHsnaW5kZXhlZCc6ITB4MCwnaW50ZXJuYWxUeXBlJzpfMHg1ZTRiYzcoJzB4MWQxJyksJ25hbWUnOl8weDVlNGJjNygnMHg0N2QnKSwndHlwZSc6XzB4NWU0YmM3KCcweDFkMScpfSx7J2luZGV4ZWQnOiEweDEsJ2ludGVybmFsVHlwZSc6XzB4NWU0YmM3KCcweGQwNScpLCduYW1lJzpfMHg1ZTRiYzcoJzB4M2VmJyksJ3R5cGUnOl8weDVlNGJjNygnMHhkMDUnKX1dLCduYW1lJzonQXBwcm92YWxGb3JBbGwnLCd0eXBlJzpfMHg1ZTRiYzcoJzB4NjZlJyl9LHsnYW5vbnltb3VzJzohMHgxLCdpbnB1dHMnOlt7J2luZGV4ZWQnOiEweDAsJ2ludGVybmFsVHlwZSc6XzB4NWU0YmM3KCcweDFkMScpLCduYW1lJzpfMHg1ZTRiYzcoJzB4MjUyJyksJ3R5cGUnOidhZGRyZXNzJ30seydpbmRleGVkJzohMHgwLCdpbnRlcm5hbFR5cGUnOidhZGRyZXNzJywnbmFtZSc6J3RvJywndHlwZSc6XzB4NWU0YmM3KCcweDFkMScpfSx7J2luZGV4ZWQnOiEweDAsJ2ludGVybmFsVHlwZSc6XzB4NWU0YmM3KCcweDViMycpLCduYW1lJzonaWQnLCd0eXBlJzpfMHg1ZTRiYzcoJzB4NWIzJyl9XSwnbmFtZSc6XzB4NWU0YmM3KCcweDU4OScpLCd0eXBlJzpfMHg1ZTRiYzcoJzB4NjZlJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVlNGJjNygnMHgxZDEnKSwnbmFtZSc6J3NwZW5kZXInLCd0eXBlJzpfMHg1ZTRiYzcoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg1ZTRiYzcoJzB4NWIzJyksJ25hbWUnOidpZCcsJ3R5cGUnOid1aW50MjU2J31dLCduYW1lJzonYXBwcm92ZScsJ291dHB1dHMnOltdLCdzdGF0ZU11dGFiaWxpdHknOl8weDVlNGJjNygnMHg5YzgnKSwndHlwZSc6XzB4NWU0YmM3KCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg1ZTRiYzcoJzB4MWQxJyksJ25hbWUnOicnLCd0eXBlJzpfMHg1ZTRiYzcoJzB4MWQxJyl9XSwnbmFtZSc6XzB4NWU0YmM3KCcweGNlYycpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVlNGJjNygnMHg1YjMnKSwnbmFtZSc6JycsJ3R5cGUnOl8weDVlNGJjNygnMHg1YjMnKX1dLCdzdGF0ZU11dGFiaWxpdHknOl8weDVlNGJjNygnMHg4ZTQnKSwndHlwZSc6XzB4NWU0YmM3KCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg1ZTRiYzcoJzB4NWIzJyksJ25hbWUnOicnLCd0eXBlJzpfMHg1ZTRiYzcoJzB4NWIzJyl9XSwnbmFtZSc6J2dldEFwcHJvdmVkJywnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzonYWRkcmVzcycsJ25hbWUnOicnLCd0eXBlJzonYWRkcmVzcyd9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg1ZTRiYzcoJzB4OGU0JyksJ3R5cGUnOl8weDVlNGJjNygnMHhjN2InKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWU0YmM3KCcweDFkMScpLCduYW1lJzonJywndHlwZSc6XzB4NWU0YmM3KCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4NWU0YmM3KCcweDFkMScpLCduYW1lJzonJywndHlwZSc6XzB4NWU0YmM3KCcweDFkMScpfV0sJ25hbWUnOl8weDVlNGJjNygnMHhhYjcnKSwnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzonYm9vbCcsJ25hbWUnOicnLCd0eXBlJzonYm9vbCd9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg1ZTRiYzcoJzB4OGU0JyksJ3R5cGUnOl8weDVlNGJjNygnMHhjN2InKX0seydpbnB1dHMnOltdLCduYW1lJzpfMHg1ZTRiYzcoJzB4YmM3JyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWU0YmM3KCcweDY1ZicpLCduYW1lJzonJywndHlwZSc6J3N0cmluZyd9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg1ZTRiYzcoJzB4OGU0JyksJ3R5cGUnOidmdW5jdGlvbid9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6JycsJ3R5cGUnOl8weDVlNGJjNygnMHg1YjMnKX1dLCduYW1lJzpfMHg1ZTRiYzcoJzB4NTQ5JyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWU0YmM3KCcweDFkMScpLCduYW1lJzonJywndHlwZSc6J2FkZHJlc3MnfV0sJ3N0YXRlTXV0YWJpbGl0eSc6J3ZpZXcnLCd0eXBlJzpfMHg1ZTRiYzcoJzB4YzdiJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVlNGJjNygnMHgxZDEnKSwnbmFtZSc6XzB4NWU0YmM3KCcweDI1MicpLCd0eXBlJzpfMHg1ZTRiYzcoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg1ZTRiYzcoJzB4MWQxJyksJ25hbWUnOid0bycsJ3R5cGUnOl8weDVlNGJjNygnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOl8weDVlNGJjNygnMHg1YjMnKSwnbmFtZSc6J2lkJywndHlwZSc6XzB4NWU0YmM3KCcweDViMycpfV0sJ25hbWUnOl8weDVlNGJjNygnMHhjM2QnKSwnb3V0cHV0cyc6W10sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NWU0YmM3KCcweDljOCcpLCd0eXBlJzonZnVuY3Rpb24nfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg1ZTRiYzcoJzB4MWQxJyksJ25hbWUnOidmcm9tJywndHlwZSc6XzB4NWU0YmM3KCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4NWU0YmM3KCcweDFkMScpLCduYW1lJzondG8nLCd0eXBlJzpfMHg1ZTRiYzcoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg1ZTRiYzcoJzB4NWIzJyksJ25hbWUnOidpZCcsJ3R5cGUnOl8weDVlNGJjNygnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDVlNGJjNygnMHg1MmEnKSwnbmFtZSc6XzB4NWU0YmM3KCcweGE1OCcpLCd0eXBlJzonYnl0ZXMnfV0sJ25hbWUnOidzYWZlVHJhbnNmZXJGcm9tJywnb3V0cHV0cyc6W10sJ3N0YXRlTXV0YWJpbGl0eSc6J25vbnBheWFibGUnLCd0eXBlJzpfMHg1ZTRiYzcoJzB4YzdiJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVlNGJjNygnMHgxZDEnKSwnbmFtZSc6J29wZXJhdG9yJywndHlwZSc6XzB4NWU0YmM3KCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4NWU0YmM3KCcweGQwNScpLCduYW1lJzonYXBwcm92ZWQnLCd0eXBlJzonYm9vbCd9XSwnbmFtZSc6XzB4NWU0YmM3KCcweGI0OScpLCdvdXRwdXRzJzpbXSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg1ZTRiYzcoJzB4OWM4JyksJ3R5cGUnOl8weDVlNGJjNygnMHhjN2InKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWU0YmM3KCcweDhiNScpLCduYW1lJzpfMHg1ZTRiYzcoJzB4OWE5JyksJ3R5cGUnOidieXRlczQnfV0sJ25hbWUnOl8weDVlNGJjNygnMHhkMDgnKSwnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzonYm9vbCcsJ25hbWUnOicnLCd0eXBlJzpfMHg1ZTRiYzcoJzB4ZDA1Jyl9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg1ZTRiYzcoJzB4NGMwJyksJ3R5cGUnOl8weDVlNGJjNygnMHhjN2InKX0seydpbnB1dHMnOltdLCduYW1lJzpfMHg1ZTRiYzcoJzB4MWIwJyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6J3N0cmluZycsJ25hbWUnOicnLCd0eXBlJzpfMHg1ZTRiYzcoJzB4NjVmJyl9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg1ZTRiYzcoJzB4OGU0JyksJ3R5cGUnOl8weDVlNGJjNygnMHhjN2InKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzonaWQnLCd0eXBlJzpfMHg1ZTRiYzcoJzB4NWIzJyl9XSwnbmFtZSc6XzB4NWU0YmM3KCcweDcxYScpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDVlNGJjNygnMHg2NWYnKSwnbmFtZSc6JycsJ3R5cGUnOl8weDVlNGJjNygnMHg2NWYnKX1dLCdzdGF0ZU11dGFiaWxpdHknOid2aWV3JywndHlwZSc6J2Z1bmN0aW9uJ30seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NWU0YmM3KCcweDFkMScpLCduYW1lJzpfMHg1ZTRiYzcoJzB4MjUyJyksJ3R5cGUnOl8weDVlNGJjNygnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOl8weDVlNGJjNygnMHgxZDEnKSwnbmFtZSc6J3RvJywndHlwZSc6XzB4NWU0YmM3KCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzonaWQnLCd0eXBlJzpfMHg1ZTRiYzcoJzB4NWIzJyl9XSwnbmFtZSc6XzB4NWU0YmM3KCcweGI5MicpLCdvdXRwdXRzJzpbXSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg1ZTRiYzcoJzB4OWM4JyksJ3R5cGUnOl8weDVlNGJjNygnMHhjN2InKX1dO30sMHgxYTljOihfMHg1ODhjYmMsXzB4NWY1YjQ5KT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4NDk5Y2MwPV8weDE1YTM7T2JqZWN0W18weDQ5OWNjMCgnMHgyYjQnKV0oXzB4NWY1YjQ5LF8weDQ5OWNjMCgnMHhjZDInKSx7J3ZhbHVlJzohMHgwfSksXzB4NWY1YjQ5WydTZWFwb3J0QUJJdjE0J109dm9pZCAweDAsXzB4NWY1YjQ5W18weDQ5OWNjMCgnMHg1YWMnKV09W3snaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOidhZGRyZXNzJywnbmFtZSc6J2NvbmR1aXRDb250cm9sbGVyJywndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NDk5Y2MwKCcweDljOCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4YmZjJyl9LHsnaW5wdXRzJzpbXSwnbmFtZSc6XzB4NDk5Y2MwKCcweDkzOCcpLCd0eXBlJzonZXJyb3InfSx7J2lucHV0cyc6W10sJ25hbWUnOl8weDQ5OWNjMCgnMHg4MDMnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5ZScpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzonYWRkcmVzcycsJ25hbWUnOl8weDQ5OWNjMCgnMHg2Y2InKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6J2FkZHJlc3MnLCduYW1lJzpfMHg0OTljYzAoJzB4MjUyJyksJ3R5cGUnOidhZGRyZXNzJ30seydpbnRlcm5hbFR5cGUnOidhZGRyZXNzJywnbmFtZSc6J3RvJywndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4N2U0JyksJ3R5cGUnOid1aW50MjU2J31dLCduYW1lJzpfMHg0OTljYzAoJzB4MzJlJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGE1YScpLCduYW1lJzondicsJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX1dLCduYW1lJzpfMHg0OTljYzAoJzB4YjM0JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOltdLCduYW1lJzonQ2Fubm90Q2FuY2VsT3JkZXInLCd0eXBlJzpfMHg0OTljYzAoJzB4YzllJyl9LHsnaW5wdXRzJzpbXSwnbmFtZSc6J0NvbnNpZGVyYXRpb25Dcml0ZXJpYVJlc29sdmVyT3V0T2ZSYW5nZScsJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOltdLCduYW1lJzpfMHg0OTljYzAoJzB4Yzc5JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonb3JkZXJJbmRleCcsJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDllZCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg5YzUnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ25hbWUnOl8weDQ5OWNjMCgnMHgyZjUnKSwndHlwZSc6J2Vycm9yJ30seydpbnB1dHMnOltdLCduYW1lJzpfMHg0OTljYzAoJzB4NWZiJyksJ3R5cGUnOidlcnJvcid9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6J3Rva2VuJywndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6J2FkZHJlc3MnLCduYW1lJzpfMHg0OTljYzAoJzB4MjUyJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6J3RvJywndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDczMCcpLCduYW1lJzpfMHg0OTljYzAoJzB4Y2I5JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg3MzAnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg3MzAnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDQ5ZicpLCd0eXBlJzpfMHg0OTljYzAoJzB4NzMwJyl9XSwnbmFtZSc6XzB4NDk5Y2MwKCcweDI5ZCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4YzllJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOidhZGRyZXNzJywnbmFtZSc6J2FjY291bnQnLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg3ZTQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ25hbWUnOl8weDQ5OWNjMCgnMHg3ZmYnKSwndHlwZSc6J2Vycm9yJ30seydpbnB1dHMnOltdLCduYW1lJzpfMHg0OTljYzAoJzB4NWE5JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOltdLCduYW1lJzonSW5zdWZmaWNpZW50RXRoZXJTdXBwbGllZCcsJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOltdLCduYW1lJzpfMHg0OTljYzAoJzB4NDIzJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOltdLCduYW1lJzpfMHg0OTljYzAoJzB4OTVkJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzpfMHg0OTljYzAoJzB4NDU4JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX1dLCduYW1lJzonSW52YWxpZENhbGxUb0NvbmR1aXQnLCd0eXBlJzpfMHg0OTljYzAoJzB4YzllJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGQ1YicpLCd0eXBlJzpfMHg0OTljYzAoJzB4Yzk0Jyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg0NTgnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfV0sJ25hbWUnOl8weDQ5OWNjMCgnMHgyYmEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5ZScpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4Yzk0JyksJ25hbWUnOl8weDQ5OWNjMCgnMHg0MDInKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpfV0sJ25hbWUnOidJbnZhbGlkQ29udHJhY3RPcmRlcicsJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzpfMHg0OTljYzAoJzB4N2U0JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX1dLCduYW1lJzpfMHg0OTljYzAoJzB4YjEzJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOltdLCduYW1lJzpfMHg0OTljYzAoJzB4YzU3JyksJ3R5cGUnOidlcnJvcid9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6J3ZhbHVlJywndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ25hbWUnOl8weDQ5OWNjMCgnMHg0OGMnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5ZScpfSx7J2lucHV0cyc6W10sJ25hbWUnOl8weDQ5OWNjMCgnMHg0NjUnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5ZScpfSx7J2lucHV0cyc6W10sJ25hbWUnOl8weDQ5OWNjMCgnMHgyOTAnKSwndHlwZSc6J2Vycm9yJ30seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6J2J5dGVzMzInLCduYW1lJzpfMHg0OTljYzAoJzB4NDAyJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX1dLCduYW1lJzonSW52YWxpZFJlc3RyaWN0ZWRPcmRlcicsJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOltdLCduYW1lJzonSW52YWxpZFNpZ25hdHVyZScsJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOltdLCduYW1lJzonSW52YWxpZFNpZ25lcicsJ3R5cGUnOidlcnJvcid9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDFjMScpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOl8weDQ5OWNjMCgnMHg2YzcnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ25hbWUnOl8weDQ5OWNjMCgnMHg4OTAnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5ZScpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhhNGEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ25hbWUnOl8weDQ5OWNjMCgnMHhhMWEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5ZScpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NDcxJyksJ25hbWUnOidzaWRlJywndHlwZSc6J3VpbnQ4J31dLCduYW1lJzonTWlzc2luZ0Z1bGZpbGxtZW50Q29tcG9uZW50T25BZ2dyZWdhdGlvbicsJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOltdLCduYW1lJzpfMHg0OTljYzAoJzB4YTE0JyksJ3R5cGUnOidlcnJvcid9LHsnaW5wdXRzJzpbXSwnbmFtZSc6XzB4NDk5Y2MwKCcweGE5MScpLCd0eXBlJzpfMHg0OTljYzAoJzB4YzllJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOidhZGRyZXNzJywnbmFtZSc6XzB4NDk5Y2MwKCcweDQ4MycpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9XSwnbmFtZSc6XzB4NDk5Y2MwKCcweDJiYicpLCd0eXBlJzpfMHg0OTljYzAoJzB4YzllJyl9LHsnaW5wdXRzJzpbXSwnbmFtZSc6XzB4NDk5Y2MwKCcweDI4ZScpLCd0eXBlJzpfMHg0OTljYzAoJzB4YzllJyl9LHsnaW5wdXRzJzpbXSwnbmFtZSc6J05vU3BlY2lmaWVkT3JkZXJzQXZhaWxhYmxlJywndHlwZSc6XzB4NDk5Y2MwKCcweGM5ZScpfSx7J2lucHV0cyc6W10sJ25hbWUnOl8weDQ5OWNjMCgnMHg0NTYnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5ZScpfSx7J2lucHV0cyc6W10sJ25hbWUnOl8weDQ5OWNjMCgnMHg1YTMnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5ZScpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4Yzk0JyksJ25hbWUnOidvcmRlckhhc2gnLCd0eXBlJzpfMHg0OTljYzAoJzB4Yzk0Jyl9XSwnbmFtZSc6J09yZGVyQWxyZWFkeUZpbGxlZCcsJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDQ3MScpLCduYW1lJzpfMHg0OTljYzAoJzB4YjZlJyksJ3R5cGUnOid1aW50OCd9XSwnbmFtZSc6XzB4NDk5Y2MwKCcweDYyMScpLCd0eXBlJzpfMHg0OTljYzAoJzB4YzllJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDQwMicpLCd0eXBlJzpfMHg0OTljYzAoJzB4Yzk0Jyl9XSwnbmFtZSc6XzB4NDk5Y2MwKCcweDdiOCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4YzllJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKSwnbmFtZSc6J29yZGVySGFzaCcsJ3R5cGUnOidieXRlczMyJ31dLCduYW1lJzpfMHg0OTljYzAoJzB4Yzg5JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOltdLCduYW1lJzpfMHg0OTljYzAoJzB4NWYzJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzpfMHg0OTljYzAoJzB4NmNiJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6J2Zyb20nLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOid0bycsJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4NDk5Y2MwKCcweDU4ZCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg3ZTQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ25hbWUnOl8weDQ5OWNjMCgnMHg1NzgnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5ZScpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2Y2QnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4OWVkJyksJ3R5cGUnOid1aW50MjU2J31dLCduYW1lJzonVW5yZXNvbHZlZENvbnNpZGVyYXRpb25Dcml0ZXJpYScsJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOWUnKX0seydpbnB1dHMnOlt7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzonb3JkZXJJbmRleCcsJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4NDk5Y2MwKCcweDU2ZCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9XSwnbmFtZSc6J1VucmVzb2x2ZWRPZmZlckNyaXRlcmlhJywndHlwZSc6XzB4NDk5Y2MwKCcweGM5ZScpfSx7J2lucHV0cyc6W10sJ25hbWUnOl8weDQ5OWNjMCgnMHhkNTInKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5ZScpfSx7J2Fub255bW91cyc6ITB4MSwnaW5wdXRzJzpbeydpbmRleGVkJzohMHgxLCdpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4NDk5Y2MwKCcweDk3MycpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW5kZXhlZCc6ITB4MCwnaW50ZXJuYWxUeXBlJzonYWRkcmVzcycsJ25hbWUnOl8weDQ5OWNjMCgnMHg1OWInKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfV0sJ25hbWUnOidDb3VudGVySW5jcmVtZW50ZWQnLCd0eXBlJzpfMHg0OTljYzAoJzB4NjZlJyl9LHsnYW5vbnltb3VzJzohMHgxLCdpbnB1dHMnOlt7J2luZGV4ZWQnOiEweDEsJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpLCduYW1lJzpfMHg0OTljYzAoJzB4NDAyJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX0seydpbmRleGVkJzohMHgwLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDU5YicpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnaW5kZXhlZCc6ITB4MCwnaW50ZXJuYWxUeXBlJzonYWRkcmVzcycsJ25hbWUnOl8weDQ5OWNjMCgnMHhiNTQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfV0sJ25hbWUnOl8weDQ5OWNjMCgnMHhhZGYnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDY2ZScpfSx7J2Fub255bW91cyc6ITB4MSwnaW5wdXRzJzpbeydpbmRleGVkJzohMHgxLCdpbnRlcm5hbFR5cGUnOidieXRlczMyJywnbmFtZSc6XzB4NDk5Y2MwKCcweDQwMicpLCd0eXBlJzpfMHg0OTljYzAoJzB4Yzk0Jyl9LHsnaW5kZXhlZCc6ITB4MCwnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOidvZmZlcmVyJywndHlwZSc6J2FkZHJlc3MnfSx7J2luZGV4ZWQnOiEweDAsJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzpfMHg0OTljYzAoJzB4YjU0JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydpbmRleGVkJzohMHgxLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDM0MScpLCd0eXBlJzonYWRkcmVzcyd9LHsnY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NjVjJyksJ25hbWUnOidpdGVtVHlwZScsJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDZjYicpLCd0eXBlJzonYWRkcmVzcyd9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg1OGQnKSwndHlwZSc6J3VpbnQyNTYnfSx7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzpfMHg0OTljYzAoJzB4N2U0JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX1dLCdpbmRleGVkJzohMHgxLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhiOWUnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDkzOScpLCd0eXBlJzpfMHg0OTljYzAoJzB4OGU1Jyl9LHsnY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NjVjJyksJ25hbWUnOidpdGVtVHlwZScsJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDZjYicpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg1OGQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4N2U0JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhiNDInKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDM0MScpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9XSwnaW5kZXhlZCc6ITB4MSwnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4Njk2JyksJ25hbWUnOl8weDQ5OWNjMCgnMHgzYTInKSwndHlwZSc6XzB4NDk5Y2MwKCcweDhlNScpfV0sJ25hbWUnOidPcmRlckZ1bGZpbGxlZCcsJ3R5cGUnOidldmVudCd9LHsnYW5vbnltb3VzJzohMHgxLCdpbnB1dHMnOlt7J2luZGV4ZWQnOiEweDEsJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpLCduYW1lJzpfMHg0OTljYzAoJzB4NDAyJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX0seydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDU5YicpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhiNTQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6J2VudW1ceDIwSXRlbVR5cGUnLCduYW1lJzonaXRlbVR5cGUnLCd0eXBlJzpfMHg0OTljYzAoJzB4YTVhJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2Y2InKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzpfMHg0OTljYzAoJzB4MjgwJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6J3N0YXJ0QW1vdW50JywndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonZW5kQW1vdW50JywndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ2ludGVybmFsVHlwZSc6J3N0cnVjdFx4MjBPZmZlckl0ZW1bXScsJ25hbWUnOl8weDQ5OWNjMCgnMHg5MzknKSwndHlwZSc6XzB4NDk5Y2MwKCcweDhlNScpfSx7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDY1YycpLCduYW1lJzonaXRlbVR5cGUnLCd0eXBlJzpfMHg0OTljYzAoJzB4YTVhJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2Y2InKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzpfMHg0OTljYzAoJzB4MjgwJyksJ3R5cGUnOid1aW50MjU2J30seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGQwYycpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgzYWYnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGI0MicpLCduYW1lJzpfMHg0OTljYzAoJzB4MzQxJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg3ZjgnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDNhMicpLCd0eXBlJzpfMHg0OTljYzAoJzB4OGU1Jyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MjdkJyksJ25hbWUnOidvcmRlclR5cGUnLCd0eXBlJzpfMHg0OTljYzAoJzB4YTVhJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgxYzEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonZW5kVGltZScsJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKSwnbmFtZSc6J3pvbmVIYXNoJywndHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonc2FsdCcsJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGQ1YicpLCd0eXBlJzpfMHg0OTljYzAoJzB4Yzk0Jyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOid0b3RhbE9yaWdpbmFsQ29uc2lkZXJhdGlvbkl0ZW1zJywndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ2luZGV4ZWQnOiEweDEsJ2ludGVybmFsVHlwZSc6J3N0cnVjdFx4MjBPcmRlclBhcmFtZXRlcnMnLCduYW1lJzpfMHg0OTljYzAoJzB4M2Y1JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhiY2QnKX1dLCduYW1lJzonT3JkZXJWYWxpZGF0ZWQnLCd0eXBlJzpfMHg0OTljYzAoJzB4NjZlJyl9LHsnYW5vbnltb3VzJzohMHgxLCdpbnB1dHMnOlt7J2luZGV4ZWQnOiEweDEsJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGI1MycpLCduYW1lJzpfMHg0OTljYzAoJzB4MWQ0JyksJ3R5cGUnOidieXRlczMyW10nfV0sJ25hbWUnOidPcmRlcnNNYXRjaGVkJywndHlwZSc6J2V2ZW50J30seydpbnB1dHMnOlt7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzonb2ZmZXJlcicsJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGI1NCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NjVjJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhjNTgnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGE1YScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzpfMHg0OTljYzAoJzB4NmNiJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDI4MCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhkMGMnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4M2FmJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhjNjMnKSwnbmFtZSc6J29mZmVyJywndHlwZSc6XzB4NDk5Y2MwKCcweDhlNScpfSx7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDY1YycpLCduYW1lJzonaXRlbVR5cGUnLCd0eXBlJzpfMHg0OTljYzAoJzB4YTVhJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2Y2InKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4MjgwJyksJ3R5cGUnOid1aW50MjU2J30seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4NDk5Y2MwKCcweGQwYycpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOidlbmRBbW91bnQnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzonYWRkcmVzc1x4MjBwYXlhYmxlJywnbmFtZSc6J3JlY2lwaWVudCcsJ3R5cGUnOidhZGRyZXNzJ31dLCdpbnRlcm5hbFR5cGUnOidzdHJ1Y3RceDIwQ29uc2lkZXJhdGlvbkl0ZW1bXScsJ25hbWUnOl8weDQ5OWNjMCgnMHgzYTInKSwndHlwZSc6J3R1cGxlW10nfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDI3ZCcpLCduYW1lJzpfMHg0OTljYzAoJzB4YzAwJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4NDk5Y2MwKCcweDFjMScpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2YzcnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpLCduYW1lJzpfMHg0OTljYzAoJzB4Y2FiJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDIwZicpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4Yzk0JyksJ25hbWUnOl8weDQ5OWNjMCgnMHhkNWInKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4NDk2JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1ZWEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGNmMycpLCd0eXBlJzondHVwbGVbXSd9XSwnbmFtZSc6XzB4NDk5Y2MwKCcweGMzZicpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhkMDUnKSwnbmFtZSc6J2NhbmNlbGxlZCcsJ3R5cGUnOidib29sJ31dLCdzdGF0ZU11dGFiaWxpdHknOl8weDQ5OWNjMCgnMHg5YzgnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM3YicpfSx7J2lucHV0cyc6W3snY29tcG9uZW50cyc6W3snY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg1OWInKSwndHlwZSc6J2FkZHJlc3MnfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzpfMHg0OTljYzAoJzB4YjU0JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg2NWMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGM1OCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4YTVhJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2Y2InKSwndHlwZSc6J2FkZHJlc3MnfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonaWRlbnRpZmllck9yQ3JpdGVyaWEnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOidzdGFydEFtb3VudCcsJ3R5cGUnOid1aW50MjU2J30seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4NDk5Y2MwKCcweDNhZicpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9XSwnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4YzYzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg5MzknKSwndHlwZSc6J3R1cGxlW10nfSx7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6J2VudW1ceDIwSXRlbVR5cGUnLCduYW1lJzpfMHg0OTljYzAoJzB4YzU4JyksJ3R5cGUnOid1aW50OCd9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOid0b2tlbicsJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDI4MCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhkMGMnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonZW5kQW1vdW50JywndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6J2FkZHJlc3NceDIwcGF5YWJsZScsJ25hbWUnOl8weDQ5OWNjMCgnMHgzNDEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfV0sJ2ludGVybmFsVHlwZSc6J3N0cnVjdFx4MjBDb25zaWRlcmF0aW9uSXRlbVtdJywnbmFtZSc6XzB4NDk5Y2MwKCcweDNhMicpLCd0eXBlJzondHVwbGVbXSd9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MjdkJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhjMDAnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGE1YScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonc3RhcnRUaW1lJywndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4NmM3JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGNhYicpLCd0eXBlJzonYnl0ZXMzMid9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOidzYWx0JywndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpLCduYW1lJzpfMHg0OTljYzAoJzB4ZDViJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDc0YycpLCd0eXBlJzondWludDI1Nid9XSwnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4N2YwJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhkNGEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGJjZCcpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGQyYScpLCduYW1lJzpfMHg0OTljYzAoJzB4NTdlJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhkMmEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhkMmEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGEyNicpLCd0eXBlJzpfMHg0OTljYzAoJzB4ZDJhJyl9LHsnaW50ZXJuYWxUeXBlJzonYnl0ZXMnLCduYW1lJzpfMHg0OTljYzAoJzB4M2EzJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1MmEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1MmEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDczYScpLCd0eXBlJzpfMHg0OTljYzAoJzB4NTJhJyl9XSwnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4OTBmJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhjNDcnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGJjZCcpfSx7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4NmNkJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg0NzEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGI2ZScpLCd0eXBlJzpfMHg0OTljYzAoJzB4YTVhJyl9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOl8weDQ5OWNjMCgnMHhiNWUnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4NThkJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOidieXRlczMyW10nLCduYW1lJzpfMHg0OTljYzAoJzB4MmYzJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhiNTMnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhkMzYnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDI1NScpLCd0eXBlJzpfMHg0OTljYzAoJzB4OGU1Jyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4Yzk0JyksJ25hbWUnOl8weDQ5OWNjMCgnMHhjNTEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpfSx7J2ludGVybmFsVHlwZSc6J2FkZHJlc3MnLCduYW1lJzpfMHg0OTljYzAoJzB4MzQxJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX1dLCduYW1lJzpfMHg0OTljYzAoJzB4NWVlJyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGQwNScpLCduYW1lJzpfMHg0OTljYzAoJzB4MmE1JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhkMDUnKX1dLCdzdGF0ZU11dGFiaWxpdHknOidwYXlhYmxlJywndHlwZSc6XzB4NDk5Y2MwKCcweGM3YicpfSx7J2lucHV0cyc6W3snY29tcG9uZW50cyc6W3snY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg1OWInKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzonem9uZScsJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg2NWMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGM1OCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4YTVhJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2Y2InKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonaWRlbnRpZmllck9yQ3JpdGVyaWEnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhkMGMnKSwndHlwZSc6J3VpbnQyNTYnfSx7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzpfMHg0OTljYzAoJzB4M2FmJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhjNjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDkzOScpLCd0eXBlJzpfMHg0OTljYzAoJzB4OGU1Jyl9LHsnY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NjVjJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhjNTgnKSwndHlwZSc6J3VpbnQ4J30seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDZjYicpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgyODAnKSwndHlwZSc6J3VpbnQyNTYnfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4ZDBjJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDNhZicpLCd0eXBlJzondWludDI1Nid9LHsnaW50ZXJuYWxUeXBlJzonYWRkcmVzc1x4MjBwYXlhYmxlJywnbmFtZSc6XzB4NDk5Y2MwKCcweDM0MScpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9XSwnaW50ZXJuYWxUeXBlJzonc3RydWN0XHgyMENvbnNpZGVyYXRpb25JdGVtW10nLCduYW1lJzpfMHg0OTljYzAoJzB4M2EyJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg4ZTUnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgyN2QnKSwnbmFtZSc6J29yZGVyVHlwZScsJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6J3N0YXJ0VGltZScsJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4NDk5Y2MwKCcweDZjNycpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4Yzk0JyksJ25hbWUnOl8weDQ5OWNjMCgnMHhjYWInKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4MjBmJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOidieXRlczMyJywnbmFtZSc6XzB4NDk5Y2MwKCcweGQ1YicpLCd0eXBlJzonYnl0ZXMzMid9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOl8weDQ5OWNjMCgnMHg3NGMnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDdmMCcpLCduYW1lJzoncGFyYW1ldGVycycsJ3R5cGUnOl8weDQ5OWNjMCgnMHhiY2QnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MTIwJywnbmFtZSc6XzB4NDk5Y2MwKCcweDU3ZScpLCd0eXBlJzpfMHg0OTljYzAoJzB4ZDJhJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4ZDJhJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhhMjYnKSwndHlwZSc6J3VpbnQxMjAnfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDUyYScpLCduYW1lJzonc2lnbmF0dXJlJywndHlwZSc6XzB4NDk5Y2MwKCcweDUyYScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDUyYScpLCduYW1lJzpfMHg0OTljYzAoJzB4NzNhJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1MmEnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg4OWEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDIzNycpLCd0eXBlJzondHVwbGVbXSd9LHsnY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2Y2QnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDQ3MScpLCduYW1lJzpfMHg0OTljYzAoJzB4YjZlJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGI1ZScpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg1OGQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGI1MycpLCduYW1lJzpfMHg0OTljYzAoJzB4MmYzJyksJ3R5cGUnOidieXRlczMyW10nfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGQzNicpLCduYW1lJzpfMHg0OTljYzAoJzB4MjU1JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg4ZTUnKX0seydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDZjZCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg1ZjQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDNlNCcpLCduYW1lJzpfMHg0OTljYzAoJzB4NTI5JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjZWInKX0seydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDZjZCcpLCd0eXBlJzondWludDI1Nid9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg1ZjQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDNlNCcpLCduYW1lJzpfMHg0OTljYzAoJzB4Nzk0JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjZWInKX0seydpbnRlcm5hbFR5cGUnOidieXRlczMyJywnbmFtZSc6J2Z1bGZpbGxlckNvbmR1aXRLZXknLCd0eXBlJzpfMHg0OTljYzAoJzB4Yzk0Jyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgzNDEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzpfMHg0OTljYzAoJzB4NjkwJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX1dLCduYW1lJzpfMHg0OTljYzAoJzB4Y2U0JyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGNhZicpLCduYW1lJzpfMHg0OTljYzAoJzB4M2ZjJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjYWYnKX0seydjb21wb25lbnRzJzpbeydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg2NWMnKSwnbmFtZSc6J2l0ZW1UeXBlJywndHlwZSc6XzB4NDk5Y2MwKCcweGE1YScpfSx7J2ludGVybmFsVHlwZSc6J2FkZHJlc3MnLCduYW1lJzpfMHg0OTljYzAoJzB4NmNiJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDU4ZCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOl8weDQ5OWNjMCgnMHg3ZTQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6J2FkZHJlc3NceDIwcGF5YWJsZScsJ25hbWUnOl8weDQ5OWNjMCgnMHgzNDEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfV0sJ2ludGVybmFsVHlwZSc6J3N0cnVjdFx4MjBSZWNlaXZlZEl0ZW0nLCduYW1lJzpfMHg0OTljYzAoJzB4NzQ1JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhiY2QnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDU5YicpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4Yzk0JyksJ25hbWUnOl8weDQ5OWNjMCgnMHhkNWInKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDMzNicpLCduYW1lJzonZXhlY3V0aW9ucycsJ3R5cGUnOid0dXBsZVtdJ31dLCdzdGF0ZU11dGFiaWxpdHknOidwYXlhYmxlJywndHlwZSc6XzB4NDk5Y2MwKCcweGM3YicpfSx7J2lucHV0cyc6W3snY29tcG9uZW50cyc6W3snY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg1OWInKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzpfMHg0OTljYzAoJzB4YjU0JyksJ3R5cGUnOidhZGRyZXNzJ30seydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOidlbnVtXHgyMEl0ZW1UeXBlJywnbmFtZSc6XzB4NDk5Y2MwKCcweGM1OCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4YTVhJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2Y2InKSwndHlwZSc6J2FkZHJlc3MnfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonaWRlbnRpZmllck9yQ3JpdGVyaWEnLCd0eXBlJzondWludDI1Nid9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOidzdGFydEFtb3VudCcsJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDNhZicpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9XSwnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4YzYzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg5MzknKSwndHlwZSc6J3R1cGxlW10nfSx7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDY1YycpLCduYW1lJzonaXRlbVR5cGUnLCd0eXBlJzpfMHg0OTljYzAoJzB4YTVhJyl9LHsnaW50ZXJuYWxUeXBlJzonYWRkcmVzcycsJ25hbWUnOid0b2tlbicsJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDI4MCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOl8weDQ5OWNjMCgnMHhkMGMnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4M2FmJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhiNDInKSwnbmFtZSc6J3JlY2lwaWVudCcsJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg3ZjgnKSwnbmFtZSc6J2NvbnNpZGVyYXRpb24nLCd0eXBlJzpfMHg0OTljYzAoJzB4OGU1Jyl9LHsnaW50ZXJuYWxUeXBlJzonZW51bVx4MjBPcmRlclR5cGUnLCduYW1lJzpfMHg0OTljYzAoJzB4YzAwJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDFjMScpLCd0eXBlJzondWludDI1Nid9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOl8weDQ5OWNjMCgnMHg2YzcnKSwndHlwZSc6J3VpbnQyNTYnfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpLCduYW1lJzpfMHg0OTljYzAoJzB4Y2FiJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6J3NhbHQnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4Yzk0JyksJ25hbWUnOl8weDQ5OWNjMCgnMHhkNWInKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpfSx7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzpfMHg0OTljYzAoJzB4NzRjJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg3ZjAnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGQ0YScpLCd0eXBlJzondHVwbGUnfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDUyYScpLCduYW1lJzpfMHg0OTljYzAoJzB4M2EzJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1MmEnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg3YjQnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGNmMycpLCd0eXBlJzpfMHg0OTljYzAoJzB4OGU1Jyl9LHsnY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2Y2QnKSwndHlwZSc6J3VpbnQyNTYnfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4NWY0JyksJ3R5cGUnOid1aW50MjU2J31dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgzZTQnKSwnbmFtZSc6J29mZmVyRnVsZmlsbG1lbnRzJywndHlwZSc6XzB4NDk5Y2MwKCcweGNlYicpfSx7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4NmNkJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDVmNCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9XSwnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4M2U0JyksJ25hbWUnOl8weDQ5OWNjMCgnMHg3OTQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGNlYicpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpLCduYW1lJzpfMHg0OTljYzAoJzB4YzUxJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4NDk5Y2MwKCcweDY5MCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9XSwnbmFtZSc6J2Z1bGZpbGxBdmFpbGFibGVPcmRlcnMnLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhjYWYnKSwnbmFtZSc6J2F2YWlsYWJsZU9yZGVycycsJ3R5cGUnOl8weDQ5OWNjMCgnMHhjYWYnKX0seydjb21wb25lbnRzJzpbeydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg2NWMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGM1OCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4YTVhJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2Y2InKSwndHlwZSc6J2FkZHJlc3MnfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonaWRlbnRpZmllcicsJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDdlNCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4YjQyJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgzNDEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGQ0NCcpLCduYW1lJzpfMHg0OTljYzAoJzB4NzQ1JyksJ3R5cGUnOid0dXBsZSd9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg1OWInKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6J2J5dGVzMzInLCduYW1lJzpfMHg0OTljYzAoJzB4ZDViJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgzMzYnKSwnbmFtZSc6J2V4ZWN1dGlvbnMnLCd0eXBlJzondHVwbGVbXSd9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg0OTljYzAoJzB4NWNhJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjN2InKX0seydpbnB1dHMnOlt7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzonY29uc2lkZXJhdGlvblRva2VuJywndHlwZSc6J2FkZHJlc3MnfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4N2Q5JyksJ3R5cGUnOid1aW50MjU2J30seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4NDk5Y2MwKCcweDFlOScpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4YjQyJyksJ25hbWUnOidvZmZlcmVyJywndHlwZSc6J2FkZHJlc3MnfSx7J2ludGVybmFsVHlwZSc6J2FkZHJlc3MnLCduYW1lJzpfMHg0OTljYzAoJzB4YjU0JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDRhOCcpLCd0eXBlJzonYWRkcmVzcyd9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhhNmEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonb2ZmZXJBbW91bnQnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MjEwJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2ODUnKSwndHlwZSc6J3VpbnQ4J30seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDFjMScpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2YzcnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpLCduYW1lJzpfMHg0OTljYzAoJzB4Y2FiJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDIwZicpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4Yzk0JyksJ25hbWUnOl8weDQ5OWNjMCgnMHg4ZDcnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpLCduYW1lJzpfMHg0OTljYzAoJzB4YzUxJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDNjOCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOidhbW91bnQnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4YjQyJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgzNDEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGJmMCcpLCduYW1lJzpfMHg0OTljYzAoJzB4OTliJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg4ZTUnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1MmEnKSwnbmFtZSc6J3NpZ25hdHVyZScsJ3R5cGUnOidieXRlcyd9XSwnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NmU4JyksJ25hbWUnOl8weDQ5OWNjMCgnMHhkNGEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGJjZCcpfV0sJ25hbWUnOl8weDQ5OWNjMCgnMHg5NmEnKSwnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4ZDA1JyksJ25hbWUnOidmdWxmaWxsZWQnLCd0eXBlJzpfMHg0OTljYzAoJzB4ZDA1Jyl9XSwnc3RhdGVNdXRhYmlsaXR5JzoncGF5YWJsZScsJ3R5cGUnOidmdW5jdGlvbid9LHsnaW5wdXRzJzpbeydjb21wb25lbnRzJzpbeydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDU5YicpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzonYWRkcmVzcycsJ25hbWUnOl8weDQ5OWNjMCgnMHhiNTQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6J2VudW1ceDIwSXRlbVR5cGUnLCduYW1lJzpfMHg0OTljYzAoJzB4YzU4JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDZjYicpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOidpZGVudGlmaWVyT3JDcml0ZXJpYScsJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4NDk5Y2MwKCcweGQwYycpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOidlbmRBbW91bnQnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9XSwnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4YzYzJyksJ25hbWUnOidvZmZlcicsJ3R5cGUnOl8weDQ5OWNjMCgnMHg4ZTUnKX0seydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg2NWMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGM1OCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4YTVhJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2Y2InKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4MjgwJyksJ3R5cGUnOid1aW50MjU2J30seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGQwYycpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOidlbmRBbW91bnQnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzonYWRkcmVzc1x4MjBwYXlhYmxlJywnbmFtZSc6XzB4NDk5Y2MwKCcweDM0MScpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9XSwnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4N2Y4JyksJ25hbWUnOidjb25zaWRlcmF0aW9uJywndHlwZSc6XzB4NDk5Y2MwKCcweDhlNScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDI3ZCcpLCduYW1lJzpfMHg0OTljYzAoJzB4YzAwJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDFjMScpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2YzcnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpLCduYW1lJzpfMHg0OTljYzAoJzB4Y2FiJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6J3NhbHQnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzonYnl0ZXMzMicsJ25hbWUnOl8weDQ5OWNjMCgnMHhkNWInKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4NzRjJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX1dLCdpbnRlcm5hbFR5cGUnOidzdHJ1Y3RceDIwT3JkZXJQYXJhbWV0ZXJzJywnbmFtZSc6XzB4NDk5Y2MwKCcweGQ0YScpLCd0eXBlJzondHVwbGUnfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDUyYScpLCduYW1lJzpfMHg0OTljYzAoJzB4M2EzJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1MmEnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhiOTEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDVhNycpLCd0eXBlJzpfMHg0OTljYzAoJzB4YmNkJyl9LHsnaW50ZXJuYWxUeXBlJzonYnl0ZXMzMicsJ25hbWUnOidmdWxmaWxsZXJDb25kdWl0S2V5JywndHlwZSc6J2J5dGVzMzInfV0sJ25hbWUnOl8weDQ5OWNjMCgnMHhhYTEnKSwnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4ZDA1JyksJ25hbWUnOl8weDQ5OWNjMCgnMHgyYTUnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGQwNScpfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NDk5Y2MwKCcweDVjYScpLCd0eXBlJzpfMHg0OTljYzAoJzB4YzdiJyl9LHsnaW5wdXRzJzpbeydpbnRlcm5hbFR5cGUnOidhZGRyZXNzJywnbmFtZSc6XzB4NDk5Y2MwKCcweGE4ZCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9XSwnbmFtZSc6J2dldENvbnRyYWN0T2ZmZXJlck5vbmNlJywnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg0YWQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NDk5Y2MwKCcweDhlNCcpLCd0eXBlJzonZnVuY3Rpb24nfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzonYWRkcmVzcycsJ25hbWUnOidvZmZlcmVyJywndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfV0sJ25hbWUnOl8weDQ5OWNjMCgnMHgyYWMnKSwnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg0OTYnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NDk5Y2MwKCcweDhlNCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4YzdiJyl9LHsnaW5wdXRzJzpbeydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDU5YicpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzonYWRkcmVzcycsJ25hbWUnOl8weDQ5OWNjMCgnMHhiNTQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDY1YycpLCduYW1lJzpfMHg0OTljYzAoJzB4YzU4JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDZjYicpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgyODAnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonc3RhcnRBbW91bnQnLCd0eXBlJzondWludDI1Nid9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgzYWYnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGM2MycpLCduYW1lJzonb2ZmZXInLCd0eXBlJzpfMHg0OTljYzAoJzB4OGU1Jyl9LHsnY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NjVjJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhjNTgnKSwndHlwZSc6J3VpbnQ4J30seydpbnRlcm5hbFR5cGUnOidhZGRyZXNzJywnbmFtZSc6J3Rva2VuJywndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonaWRlbnRpZmllck9yQ3JpdGVyaWEnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOidzdGFydEFtb3VudCcsJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6J2VuZEFtb3VudCcsJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhiNDInKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDM0MScpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9XSwnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4N2Y4JyksJ25hbWUnOl8weDQ5OWNjMCgnMHgzYTInKSwndHlwZSc6J3R1cGxlW10nfSx7J2ludGVybmFsVHlwZSc6J2VudW1ceDIwT3JkZXJUeXBlJywnbmFtZSc6J29yZGVyVHlwZScsJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDFjMScpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOidlbmRUaW1lJywndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpLCduYW1lJzpfMHg0OTljYzAoJzB4Y2FiJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6J3NhbHQnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4Yzk0JyksJ25hbWUnOl8weDQ5OWNjMCgnMHhkNWInKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4NDk2JyksJ3R5cGUnOid1aW50MjU2J31dLCdpbnRlcm5hbFR5cGUnOidzdHJ1Y3RceDIwT3JkZXJDb21wb25lbnRzJywnbmFtZSc6XzB4NDk5Y2MwKCcweDVhNycpLCd0eXBlJzpfMHg0OTljYzAoJzB4YmNkJyl9XSwnbmFtZSc6XzB4NDk5Y2MwKCcweDNhYScpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKSwnbmFtZSc6J29yZGVySGFzaCcsJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX1dLCdzdGF0ZU11dGFiaWxpdHknOl8weDQ5OWNjMCgnMHg4ZTQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM3YicpfSx7J2lucHV0cyc6W3snaW50ZXJuYWxUeXBlJzonYnl0ZXMzMicsJ25hbWUnOl8weDQ5OWNjMCgnMHg0MDInKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpfV0sJ25hbWUnOidnZXRPcmRlclN0YXR1cycsJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGQwNScpLCduYW1lJzonaXNWYWxpZGF0ZWQnLCd0eXBlJzpfMHg0OTljYzAoJzB4ZDA1Jyl9LHsnaW50ZXJuYWxUeXBlJzonYm9vbCcsJ25hbWUnOidpc0NhbmNlbGxlZCcsJ3R5cGUnOidib29sJ30seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGJjMicpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOid0b3RhbFNpemUnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg0OTljYzAoJzB4OGU0JyksJ3R5cGUnOidmdW5jdGlvbid9LHsnaW5wdXRzJzpbXSwnbmFtZSc6XzB4NDk5Y2MwKCcweGQxYycpLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4NDk5Y2MwKCcweDk3MycpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9XSwnc3RhdGVNdXRhYmlsaXR5JzpfMHg0OTljYzAoJzB4OWM4JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjN2InKX0seydpbnB1dHMnOltdLCduYW1lJzonaW5mb3JtYXRpb24nLCdvdXRwdXRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg2NWYnKSwnbmFtZSc6J3ZlcnNpb24nLCd0eXBlJzpfMHg0OTljYzAoJzB4NjVmJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4Yzk0JyksJ25hbWUnOl8weDQ5OWNjMCgnMHg4NmQnKSwndHlwZSc6J2J5dGVzMzInfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzpfMHg0OTljYzAoJzB4ZDIyJyksJ3R5cGUnOidhZGRyZXNzJ31dLCdzdGF0ZU11dGFiaWxpdHknOid2aWV3JywndHlwZSc6J2Z1bmN0aW9uJ30seydpbnB1dHMnOlt7J2NvbXBvbmVudHMnOlt7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzpfMHg0OTljYzAoJzB4NTliJyksJ3R5cGUnOidhZGRyZXNzJ30seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGI1NCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzonZW51bVx4MjBJdGVtVHlwZScsJ25hbWUnOl8weDQ5OWNjMCgnMHhjNTgnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGE1YScpfSx7J2ludGVybmFsVHlwZSc6J2FkZHJlc3MnLCduYW1lJzondG9rZW4nLCd0eXBlJzonYWRkcmVzcyd9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOl8weDQ5OWNjMCgnMHgyODAnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonc3RhcnRBbW91bnQnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOl8weDQ5OWNjMCgnMHgzYWYnKSwndHlwZSc6J3VpbnQyNTYnfV0sJ2ludGVybmFsVHlwZSc6J3N0cnVjdFx4MjBPZmZlckl0ZW1bXScsJ25hbWUnOl8weDQ5OWNjMCgnMHg5MzknKSwndHlwZSc6XzB4NDk5Y2MwKCcweDhlNScpfSx7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6J2VudW1ceDIwSXRlbVR5cGUnLCduYW1lJzpfMHg0OTljYzAoJzB4YzU4JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDZjYicpLCd0eXBlJzonYWRkcmVzcyd9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgyODAnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzonc3RhcnRBbW91bnQnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOidlbmRBbW91bnQnLCd0eXBlJzondWludDI1Nid9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4YjQyJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgzNDEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDdmOCcpLCduYW1lJzpfMHg0OTljYzAoJzB4M2EyJyksJ3R5cGUnOid0dXBsZVtdJ30seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgyN2QnKSwnbmFtZSc6J29yZGVyVHlwZScsJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDFjMScpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOl8weDQ5OWNjMCgnMHg2YzcnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpLCduYW1lJzpfMHg0OTljYzAoJzB4Y2FiJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDIwZicpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzonYnl0ZXMzMicsJ25hbWUnOl8weDQ5OWNjMCgnMHhkNWInKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpfSx7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzondG90YWxPcmlnaW5hbENvbnNpZGVyYXRpb25JdGVtcycsJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX1dLCdpbnRlcm5hbFR5cGUnOidzdHJ1Y3RceDIwT3JkZXJQYXJhbWV0ZXJzJywnbmFtZSc6XzB4NDk5Y2MwKCcweGQ0YScpLCd0eXBlJzpfMHg0OTljYzAoJzB4YmNkJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4ZDJhJyksJ25hbWUnOidudW1lcmF0b3InLCd0eXBlJzondWludDEyMCd9LHsnaW50ZXJuYWxUeXBlJzondWludDEyMCcsJ25hbWUnOl8weDQ5OWNjMCgnMHhhMjYnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGQyYScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDUyYScpLCduYW1lJzonc2lnbmF0dXJlJywndHlwZSc6J2J5dGVzJ30seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1MmEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDczYScpLCd0eXBlJzpfMHg0OTljYzAoJzB4NTJhJyl9XSwnaW50ZXJuYWxUeXBlJzonc3RydWN0XHgyMEFkdmFuY2VkT3JkZXJbXScsJ25hbWUnOl8weDQ5OWNjMCgnMHhjZjMnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDhlNScpfSx7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4NmNkJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg0NzEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGI2ZScpLCd0eXBlJzondWludDgnfSx7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzpfMHg0OTljYzAoJzB4YjVlJyksJ3R5cGUnOid1aW50MjU2J30seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDU4ZCcpLCd0eXBlJzondWludDI1Nid9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4YjUzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgyZjMnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGI1MycpfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGQzNicpLCduYW1lJzpfMHg0OTljYzAoJzB4MjU1JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg4ZTUnKX0seydjb21wb25lbnRzJzpbeydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDZjZCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOl8weDQ5OWNjMCgnMHg1ZjQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ2ludGVybmFsVHlwZSc6J3N0cnVjdFx4MjBGdWxmaWxsbWVudENvbXBvbmVudFtdJywnbmFtZSc6XzB4NDk5Y2MwKCcweDUyZCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4OGU1Jyl9LHsnY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg2Y2QnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzonaXRlbUluZGV4JywndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDdkMCcpLCduYW1lJzpfMHg0OTljYzAoJzB4YzJiJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg4ZTUnKX1dLCdpbnRlcm5hbFR5cGUnOidzdHJ1Y3RceDIwRnVsZmlsbG1lbnRbXScsJ25hbWUnOl8weDQ5OWNjMCgnMHgxZTAnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDhlNScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzpfMHg0OTljYzAoJzB4MzQxJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX1dLCduYW1lJzpfMHg0OTljYzAoJzB4OGUxJyksJ291dHB1dHMnOlt7J2NvbXBvbmVudHMnOlt7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDY1YycpLCduYW1lJzpfMHg0OTljYzAoJzB4YzU4JyksJ3R5cGUnOid1aW50OCd9LHsnaW50ZXJuYWxUeXBlJzonYWRkcmVzcycsJ25hbWUnOid0b2tlbicsJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOid1aW50MjU2JywnbmFtZSc6XzB4NDk5Y2MwKCcweDU4ZCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOl8weDQ5OWNjMCgnMHg3ZTQnKSwndHlwZSc6J3VpbnQyNTYnfSx7J2ludGVybmFsVHlwZSc6J2FkZHJlc3NceDIwcGF5YWJsZScsJ25hbWUnOl8weDQ5OWNjMCgnMHgzNDEnKSwndHlwZSc6J2FkZHJlc3MnfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGQ0NCcpLCduYW1lJzonaXRlbScsJ3R5cGUnOl8weDQ5OWNjMCgnMHhiY2QnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDU5YicpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4Yzk0JyksJ25hbWUnOl8weDQ5OWNjMCgnMHhkNWInKSwndHlwZSc6J2J5dGVzMzInfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDMzNicpLCduYW1lJzonZXhlY3V0aW9ucycsJ3R5cGUnOl8weDQ5OWNjMCgnMHg4ZTUnKX1dLCdzdGF0ZU11dGFiaWxpdHknOl8weDQ5OWNjMCgnMHg1Y2EnKSwndHlwZSc6J2Z1bmN0aW9uJ30seydpbnB1dHMnOlt7J2NvbXBvbmVudHMnOlt7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzpfMHg0OTljYzAoJzB4NTliJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOidhZGRyZXNzJywnbmFtZSc6XzB4NDk5Y2MwKCcweGI1NCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzonZW51bVx4MjBJdGVtVHlwZScsJ25hbWUnOidpdGVtVHlwZScsJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDZjYicpLCd0eXBlJzonYWRkcmVzcyd9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgyODAnKSwndHlwZSc6J3VpbnQyNTYnfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzonc3RhcnRBbW91bnQnLCd0eXBlJzondWludDI1Nid9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOidlbmRBbW91bnQnLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9XSwnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4YzYzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg5MzknKSwndHlwZSc6XzB4NDk5Y2MwKCcweDhlNScpfSx7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDY1YycpLCduYW1lJzpfMHg0OTljYzAoJzB4YzU4JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOidhZGRyZXNzJywnbmFtZSc6XzB4NDk5Y2MwKCcweDZjYicpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgyODAnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4ZDBjJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDNhZicpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4YjQyJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgzNDEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDdmOCcpLCduYW1lJzpfMHg0OTljYzAoJzB4M2EyJyksJ3R5cGUnOid0dXBsZVtdJ30seydpbnRlcm5hbFR5cGUnOidlbnVtXHgyME9yZGVyVHlwZScsJ25hbWUnOl8weDQ5OWNjMCgnMHhjMDAnKSwndHlwZSc6XzB4NDk5Y2MwKCcweGE1YScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4MWMxJyksJ3R5cGUnOid1aW50MjU2J30seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6J2VuZFRpbWUnLCd0eXBlJzondWludDI1Nid9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4Yzk0JyksJ25hbWUnOl8weDQ5OWNjMCgnMHhjYWInKSwndHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpfSx7J2ludGVybmFsVHlwZSc6J3VpbnQyNTYnLCduYW1lJzpfMHg0OTljYzAoJzB4MjBmJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGQ1YicpLCd0eXBlJzonYnl0ZXMzMid9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg3NGMnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDdmMCcpLCduYW1lJzpfMHg0OTljYzAoJzB4ZDRhJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhiY2QnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1MmEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDNhMycpLCd0eXBlJzonYnl0ZXMnfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDdiNCcpLCduYW1lJzpfMHg0OTljYzAoJzB4Y2YzJyksJ3R5cGUnOid0dXBsZVtdJ30seydjb21wb25lbnRzJzpbeydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDZjZCcpLCd0eXBlJzondWludDI1Nid9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOl8weDQ5OWNjMCgnMHg1ZjQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ2ludGVybmFsVHlwZSc6J3N0cnVjdFx4MjBGdWxmaWxsbWVudENvbXBvbmVudFtdJywnbmFtZSc6J29mZmVyQ29tcG9uZW50cycsJ3R5cGUnOl8weDQ5OWNjMCgnMHg4ZTUnKX0seydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDZjZCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg1ZjQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfV0sJ2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDdkMCcpLCduYW1lJzpfMHg0OTljYzAoJzB4YzJiJyksJ3R5cGUnOid0dXBsZVtdJ31dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhiZTMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDFlMCcpLCd0eXBlJzondHVwbGVbXSd9XSwnbmFtZSc6XzB4NDk5Y2MwKCcweDlmNCcpLCdvdXRwdXRzJzpbeydjb21wb25lbnRzJzpbeydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOidlbnVtXHgyMEl0ZW1UeXBlJywnbmFtZSc6XzB4NDk5Y2MwKCcweGM1OCcpLCd0eXBlJzondWludDgnfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzpfMHg0OTljYzAoJzB4NmNiJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDU4ZCcpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOl8weDQ5OWNjMCgnMHg3ZTQnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGI0MicpLCduYW1lJzpfMHg0OTljYzAoJzB4MzQxJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhkNDQnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDc0NScpLCd0eXBlJzpfMHg0OTljYzAoJzB4YmNkJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg1OWInKSwndHlwZSc6J2FkZHJlc3MnfSx7J2ludGVybmFsVHlwZSc6J2J5dGVzMzInLCduYW1lJzonY29uZHVpdEtleScsJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgzMzYnKSwnbmFtZSc6J2V4ZWN1dGlvbnMnLCd0eXBlJzpfMHg0OTljYzAoJzB4OGU1Jyl9XSwnc3RhdGVNdXRhYmlsaXR5JzoncGF5YWJsZScsJ3R5cGUnOl8weDQ5OWNjMCgnMHhjN2InKX0seydpbnB1dHMnOltdLCduYW1lJzpfMHg0OTljYzAoJzB4YmM3JyksJ291dHB1dHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDY1ZicpLCduYW1lJzpfMHg0OTljYzAoJzB4NGJmJyksJ3R5cGUnOidzdHJpbmcnfV0sJ3N0YXRlTXV0YWJpbGl0eSc6XzB4NDk5Y2MwKCcweDhlNCcpLCd0eXBlJzonZnVuY3Rpb24nfSx7J2lucHV0cyc6W3snY29tcG9uZW50cyc6W3snY29tcG9uZW50cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MWQxJyksJ25hbWUnOl8weDQ5OWNjMCgnMHg1OWInKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpLCduYW1lJzonem9uZScsJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydjb21wb25lbnRzJzpbeydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg2NWMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGM1OCcpLCd0eXBlJzondWludDgnfSx7J2ludGVybmFsVHlwZSc6J2FkZHJlc3MnLCduYW1lJzpfMHg0OTljYzAoJzB4NmNiJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDI4MCcpLCd0eXBlJzondWludDI1Nid9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhkMGMnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4M2FmJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX1dLCdpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhjNjMnKSwnbmFtZSc6J29mZmVyJywndHlwZSc6J3R1cGxlW10nfSx7J2NvbXBvbmVudHMnOlt7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDY1YycpLCduYW1lJzpfMHg0OTljYzAoJzB4YzU4JyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhhNWEnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHgxZDEnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDZjYicpLCd0eXBlJzpfMHg0OTljYzAoJzB4MWQxJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgyODAnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4ZDBjJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDNhZicpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4YjQyJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgzNDEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDFkMScpfV0sJ2ludGVybmFsVHlwZSc6J3N0cnVjdFx4MjBDb25zaWRlcmF0aW9uSXRlbVtdJywnbmFtZSc6XzB4NDk5Y2MwKCcweDNhMicpLCd0eXBlJzpfMHg0OTljYzAoJzB4OGU1Jyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4MjdkJyksJ25hbWUnOidvcmRlclR5cGUnLCd0eXBlJzpfMHg0OTljYzAoJzB4YTVhJyl9LHsnaW50ZXJuYWxUeXBlJzondWludDI1NicsJ25hbWUnOl8weDQ5OWNjMCgnMHgxYzEnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweDViMycpLCduYW1lJzpfMHg0OTljYzAoJzB4NmM3JyksJ3R5cGUnOid1aW50MjU2J30seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweGNhYicpLCd0eXBlJzpfMHg0OTljYzAoJzB4Yzk0Jyl9LHsnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4NWIzJyksJ25hbWUnOl8weDQ5OWNjMCgnMHgyMGYnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDViMycpfSx7J2ludGVybmFsVHlwZSc6XzB4NDk5Y2MwKCcweGM5NCcpLCduYW1lJzpfMHg0OTljYzAoJzB4ZDViJyksJ3R5cGUnOl8weDQ5OWNjMCgnMHhjOTQnKX0seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1YjMnKSwnbmFtZSc6XzB4NDk5Y2MwKCcweDc0YycpLCd0eXBlJzpfMHg0OTljYzAoJzB4NWIzJyl9XSwnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4N2YwJyksJ25hbWUnOl8weDQ5OWNjMCgnMHhkNGEnKSwndHlwZSc6J3R1cGxlJ30seydpbnRlcm5hbFR5cGUnOl8weDQ5OWNjMCgnMHg1MmEnKSwnbmFtZSc6J3NpZ25hdHVyZScsJ3R5cGUnOidieXRlcyd9XSwnaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4N2I0JyksJ25hbWUnOl8weDQ5OWNjMCgnMHhjZjMnKSwndHlwZSc6XzB4NDk5Y2MwKCcweDhlNScpfV0sJ25hbWUnOl8weDQ5OWNjMCgnMHgyZWQnKSwnb3V0cHV0cyc6W3snaW50ZXJuYWxUeXBlJzpfMHg0OTljYzAoJzB4ZDA1JyksJ25hbWUnOid2YWxpZGF0ZWQnLCd0eXBlJzonYm9vbCd9XSwnc3RhdGVNdXRhYmlsaXR5Jzonbm9ucGF5YWJsZScsJ3R5cGUnOl8weDQ5OWNjMCgnMHhjN2InKX0seydzdGF0ZU11dGFiaWxpdHknOl8weDQ5OWNjMCgnMHg1Y2EnKSwndHlwZSc6J3JlY2VpdmUnfV07fSwweDFkMWM6KF8weDQwOGZiYSxfMHgzZDMxZDcsXzB4NzgwMjg1KT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4NGFjNDhmPV8weDE1YTM7dmFyIF8weGVkOTdkYztPYmplY3RbXzB4NGFjNDhmKCcweDJiNCcpXShfMHgzZDMxZDcsJ19fZXNNb2R1bGUnLHsndmFsdWUnOiEweDB9KSxfMHgzZDMxZDdbJ0RPTUFJTl9SRUdJU1RSWV9BRERSRVNTJ109XzB4M2QzMWQ3W18weDRhYzQ4ZignMHg1ZmMnKV09XzB4M2QzMWQ3W18weDRhYzQ4ZignMHg2MTAnKV09XzB4M2QzMWQ3W18weDRhYzQ4ZignMHg3OTUnKV09XzB4M2QzMWQ3W18weDRhYzQ4ZignMHg5ZGInKV09XzB4M2QzMWQ3W18weDRhYzQ4ZignMHg5MmQnKV09XzB4M2QzMWQ3W18weDRhYzQ4ZignMHg4YTcnKV09XzB4M2QzMWQ3WydCYXNpY09yZGVyUm91dGVUeXBlJ109XzB4M2QzMWQ3W18weDRhYzQ4ZignMHhiOTUnKV09XzB4M2QzMWQ3W18weDRhYzQ4ZignMHgzZjgnKV09XzB4M2QzMWQ3WydPcmRlclR5cGUnXT1fMHgzZDMxZDdbJ0VJUF83MTJfQlVMS19PUkRFUl9UWVBFJ109XzB4M2QzMWQ3W18weDRhYzQ4ZignMHg5OWUnKV09XzB4M2QzMWQ3W18weDRhYzQ4ZignMHg2MDAnKV09XzB4M2QzMWQ3W18weDRhYzQ4ZignMHg1ZTAnKV09XzB4M2QzMWQ3W18weDRhYzQ4ZignMHg3OWYnKV09XzB4M2QzMWQ3WydTRUFQT1JUX0NPTlRSQUNUX1ZFUlNJT05fVjFfNCddPV8weDNkMzFkN1tfMHg0YWM0OGYoJzB4Njk4JyldPXZvaWQgMHgwO3ZhciBfMHg0NzQ0MWYsXzB4MzNkYTRkLF8weDE2YTYzNyxfMHg0OWRjZDksXzB4NWVmMDM3PV8weDc4MDI4NSgweDFkZDgpO18weDNkMzFkN1snU0VBUE9SVF9DT05UUkFDVF9OQU1FJ109XzB4NGFjNDhmKCcweGQ1OScpLF8weDNkMzFkN1tfMHg0YWM0OGYoJzB4NjQyJyldPV8weDRhYzQ4ZignMHg5MGMnKSxfMHgzZDMxZDdbXzB4NGFjNDhmKCcweDc5ZicpXT1fMHg0YWM0OGYoJzB4NjU0JyksXzB4M2QzMWQ3W18weDRhYzQ4ZignMHg1ZTAnKV09XzB4NGFjNDhmKCcweGQ1NicpLF8weDNkMzFkN1tfMHg0YWM0OGYoJzB4NjAwJyldPScweDFlMDA0OTc4M2YwMDhhMDA4NTE5M2UwMDAwM2QwMGNkNTQwMDNjNzEnLF8weDNkMzFkN1tfMHg0YWM0OGYoJzB4OTllJyldPXsnT3JkZXJDb21wb25lbnRzJzpbeyduYW1lJzpfMHg0YWM0OGYoJzB4NTliJyksJ3R5cGUnOidhZGRyZXNzJ30seyduYW1lJzpfMHg0YWM0OGYoJzB4YjU0JyksJ3R5cGUnOl8weDRhYzQ4ZignMHgxZDEnKX0seyduYW1lJzonb2ZmZXInLCd0eXBlJzonT2ZmZXJJdGVtW10nfSx7J25hbWUnOl8weDRhYzQ4ZignMHgzYTInKSwndHlwZSc6XzB4NGFjNDhmKCcweDM3YScpfSx7J25hbWUnOl8weDRhYzQ4ZignMHhjMDAnKSwndHlwZSc6J3VpbnQ4J30seyduYW1lJzpfMHg0YWM0OGYoJzB4MWMxJyksJ3R5cGUnOid1aW50MjU2J30seyduYW1lJzpfMHg0YWM0OGYoJzB4NmM3JyksJ3R5cGUnOl8weDRhYzQ4ZignMHg1YjMnKX0seyduYW1lJzpfMHg0YWM0OGYoJzB4Y2FiJyksJ3R5cGUnOl8weDRhYzQ4ZignMHhjOTQnKX0seyduYW1lJzonc2FsdCcsJ3R5cGUnOl8weDRhYzQ4ZignMHg1YjMnKX0seyduYW1lJzpfMHg0YWM0OGYoJzB4ZDViJyksJ3R5cGUnOl8weDRhYzQ4ZignMHhjOTQnKX0seyduYW1lJzonY291bnRlcicsJ3R5cGUnOl8weDRhYzQ4ZignMHg1YjMnKX1dLCdPZmZlckl0ZW0nOlt7J25hbWUnOidpdGVtVHlwZScsJ3R5cGUnOl8weDRhYzQ4ZignMHhhNWEnKX0seyduYW1lJzpfMHg0YWM0OGYoJzB4NmNiJyksJ3R5cGUnOl8weDRhYzQ4ZignMHgxZDEnKX0seyduYW1lJzonaWRlbnRpZmllck9yQ3JpdGVyaWEnLCd0eXBlJzpfMHg0YWM0OGYoJzB4NWIzJyl9LHsnbmFtZSc6XzB4NGFjNDhmKCcweGQwYycpLCd0eXBlJzpfMHg0YWM0OGYoJzB4NWIzJyl9LHsnbmFtZSc6XzB4NGFjNDhmKCcweDNhZicpLCd0eXBlJzpfMHg0YWM0OGYoJzB4NWIzJyl9XSwnQ29uc2lkZXJhdGlvbkl0ZW0nOlt7J25hbWUnOl8weDRhYzQ4ZignMHhjNTgnKSwndHlwZSc6J3VpbnQ4J30seyduYW1lJzpfMHg0YWM0OGYoJzB4NmNiJyksJ3R5cGUnOl8weDRhYzQ4ZignMHgxZDEnKX0seyduYW1lJzpfMHg0YWM0OGYoJzB4MjgwJyksJ3R5cGUnOl8weDRhYzQ4ZignMHg1YjMnKX0seyduYW1lJzpfMHg0YWM0OGYoJzB4ZDBjJyksJ3R5cGUnOid1aW50MjU2J30seyduYW1lJzpfMHg0YWM0OGYoJzB4M2FmJyksJ3R5cGUnOid1aW50MjU2J30seyduYW1lJzpfMHg0YWM0OGYoJzB4MzQxJyksJ3R5cGUnOl8weDRhYzQ4ZignMHgxZDEnKX1dfSxfMHgzZDMxZDdbXzB4NGFjNDhmKCcweDIyMCcpXT17J0J1bGtPcmRlcic6W3snbmFtZSc6J3RyZWUnLCd0eXBlJzonT3JkZXJDb21wb25lbnRzWzJdWzJdWzJdWzJdWzJdWzJdWzJdJ31dLCdPcmRlckNvbXBvbmVudHMnOlt7J25hbWUnOl8weDRhYzQ4ZignMHg1OWInKSwndHlwZSc6XzB4NGFjNDhmKCcweDFkMScpfSx7J25hbWUnOid6b25lJywndHlwZSc6J2FkZHJlc3MnfSx7J25hbWUnOl8weDRhYzQ4ZignMHg5MzknKSwndHlwZSc6XzB4NGFjNDhmKCcweDFmOCcpfSx7J25hbWUnOidjb25zaWRlcmF0aW9uJywndHlwZSc6XzB4NGFjNDhmKCcweDM3YScpfSx7J25hbWUnOidvcmRlclR5cGUnLCd0eXBlJzpfMHg0YWM0OGYoJzB4YTVhJyl9LHsnbmFtZSc6XzB4NGFjNDhmKCcweDFjMScpLCd0eXBlJzpfMHg0YWM0OGYoJzB4NWIzJyl9LHsnbmFtZSc6XzB4NGFjNDhmKCcweDZjNycpLCd0eXBlJzpfMHg0YWM0OGYoJzB4NWIzJyl9LHsnbmFtZSc6J3pvbmVIYXNoJywndHlwZSc6XzB4NGFjNDhmKCcweGM5NCcpfSx7J25hbWUnOl8weDRhYzQ4ZignMHgyMGYnKSwndHlwZSc6J3VpbnQyNTYnfSx7J25hbWUnOl8weDRhYzQ4ZignMHhkNWInKSwndHlwZSc6J2J5dGVzMzInfSx7J25hbWUnOl8weDRhYzQ4ZignMHg0OTYnKSwndHlwZSc6J3VpbnQyNTYnfV0sJ09mZmVySXRlbSc6W3snbmFtZSc6XzB4NGFjNDhmKCcweGM1OCcpLCd0eXBlJzpfMHg0YWM0OGYoJzB4YTVhJyl9LHsnbmFtZSc6XzB4NGFjNDhmKCcweDZjYicpLCd0eXBlJzpfMHg0YWM0OGYoJzB4MWQxJyl9LHsnbmFtZSc6XzB4NGFjNDhmKCcweDI4MCcpLCd0eXBlJzpfMHg0YWM0OGYoJzB4NWIzJyl9LHsnbmFtZSc6J3N0YXJ0QW1vdW50JywndHlwZSc6XzB4NGFjNDhmKCcweDViMycpfSx7J25hbWUnOl8weDRhYzQ4ZignMHgzYWYnKSwndHlwZSc6J3VpbnQyNTYnfV0sJ0NvbnNpZGVyYXRpb25JdGVtJzpbeyduYW1lJzpfMHg0YWM0OGYoJzB4YzU4JyksJ3R5cGUnOl8weDRhYzQ4ZignMHhhNWEnKX0seyduYW1lJzpfMHg0YWM0OGYoJzB4NmNiJyksJ3R5cGUnOl8weDRhYzQ4ZignMHgxZDEnKX0seyduYW1lJzpfMHg0YWM0OGYoJzB4MjgwJyksJ3R5cGUnOl8weDRhYzQ4ZignMHg1YjMnKX0seyduYW1lJzpfMHg0YWM0OGYoJzB4ZDBjJyksJ3R5cGUnOid1aW50MjU2J30seyduYW1lJzpfMHg0YWM0OGYoJzB4M2FmJyksJ3R5cGUnOl8weDRhYzQ4ZignMHg1YjMnKX0seyduYW1lJzoncmVjaXBpZW50JywndHlwZSc6XzB4NGFjNDhmKCcweDFkMScpfV19LChfMHg0OWRjZDk9XzB4M2QzMWQ3W18weDRhYzQ4ZignMHgxYTcnKV18fChfMHgzZDMxZDdbXzB4NGFjNDhmKCcweDFhNycpXT17fSkpW18weDQ5ZGNkOVsnRlVMTF9PUEVOJ109MHgwXT0nRlVMTF9PUEVOJyxfMHg0OWRjZDlbXzB4NDlkY2Q5W18weDRhYzQ4ZignMHhhZDMnKV09MHgxXT1fMHg0YWM0OGYoJzB4YWQzJyksXzB4NDlkY2Q5W18weDQ5ZGNkOVtfMHg0YWM0OGYoJzB4MjExJyldPTB4Ml09XzB4NGFjNDhmKCcweDIxMScpLF8weDQ5ZGNkOVtfMHg0OWRjZDlbXzB4NGFjNDhmKCcweDkyMScpXT0weDNdPV8weDRhYzQ4ZignMHg5MjEnKSwoXzB4MTZhNjM3PV8weDNkMzFkN1snSXRlbVR5cGUnXXx8KF8weDNkMzFkN1snSXRlbVR5cGUnXT17fSkpW18weDE2YTYzN1snTkFUSVZFJ109MHgwXT0nTkFUSVZFJyxfMHgxNmE2MzdbXzB4MTZhNjM3W18weDRhYzQ4ZignMHg3MDUnKV09MHgxXT1fMHg0YWM0OGYoJzB4NzA1JyksXzB4MTZhNjM3W18weDE2YTYzN1tfMHg0YWM0OGYoJzB4YWU3JyldPTB4Ml09XzB4NGFjNDhmKCcweGFlNycpLF8weDE2YTYzN1tfMHgxNmE2MzdbXzB4NGFjNDhmKCcweDU1YScpXT0weDNdPV8weDRhYzQ4ZignMHg1NWEnKSxfMHgxNmE2MzdbXzB4MTZhNjM3W18weDRhYzQ4ZignMHhhNzUnKV09MHg0XT1fMHg0YWM0OGYoJzB4YTc1JyksXzB4MTZhNjM3W18weDE2YTYzN1snRVJDMTE1NV9XSVRIX0NSSVRFUklBJ109MHg1XT1fMHg0YWM0OGYoJzB4ZDIxJyksKF8weDMzZGE0ZD1fMHgzZDMxZDdbXzB4NGFjNDhmKCcweGI5NScpXXx8KF8weDNkMzFkN1tfMHg0YWM0OGYoJzB4Yjk1JyldPXt9KSlbXzB4MzNkYTRkW18weDRhYzQ4ZignMHhhZTYnKV09MHgwXT1fMHg0YWM0OGYoJzB4YWU2JyksXzB4MzNkYTRkW18weDMzZGE0ZFsnQ09OU0lERVJBVElPTiddPTB4MV09XzB4NGFjNDhmKCcweDg3MScpLChfMHg0NzQ0MWY9XzB4M2QzMWQ3W18weDRhYzQ4ZignMHhiM2YnKV18fChfMHgzZDMxZDdbXzB4NGFjNDhmKCcweGIzZicpXT17fSkpW18weDQ3NDQxZlsnRVRIX1RPX0VSQzcyMSddPTB4MF09XzB4NGFjNDhmKCcweGM3NicpLF8weDQ3NDQxZltfMHg0NzQ0MWZbXzB4NGFjNDhmKCcweDgzZicpXT0weDFdPV8weDRhYzQ4ZignMHg4M2YnKSxfMHg0NzQ0MWZbXzB4NDc0NDFmW18weDRhYzQ4ZignMHgzNDMnKV09MHgyXT0nRVJDMjBfVE9fRVJDNzIxJyxfMHg0NzQ0MWZbXzB4NDc0NDFmW18weDRhYzQ4ZignMHg0Y2UnKV09MHgzXT1fMHg0YWM0OGYoJzB4NGNlJyksXzB4NDc0NDFmW18weDQ3NDQxZltfMHg0YWM0OGYoJzB4YmIwJyldPTB4NF09J0VSQzcyMV9UT19FUkMyMCcsXzB4NDc0NDFmW18weDQ3NDQxZlsnRVJDMTE1NV9UT19FUkMyMCddPTB4NV09XzB4NGFjNDhmKCcweGIzMycpLF8weDNkMzFkN1tfMHg0YWM0OGYoJzB4OGE3JyldPV8weDVlZjAzN1snQmlnTnVtYmVyJ11bXzB4NGFjNDhmKCcweDI1MicpXShfMHg0YWM0OGYoJzB4MzU5JykpLF8weDNkMzFkN1tfMHg0YWM0OGYoJzB4OTJkJyldPTB4MjcxMCxfMHgzZDMxZDdbXzB4NGFjNDhmKCcweDlkYicpXT0nMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxfMHgzZDMxZDdbJ0tOT1dOX0NPTkRVSVRfS0VZU19UT19DT05EVUlUJ109KChfMHhlZDk3ZGM9e30pW18weDNkMzFkN1tfMHg0YWM0OGYoJzB4NWUwJyldXT1fMHgzZDMxZDdbXzB4NGFjNDhmKCcweDYwMCcpXSxfMHhlZDk3ZGMpLF8weDNkMzFkN1tfMHg0YWM0OGYoJzB4NjEwJyldPV8weDRhYzQ4ZignMHg0OTAnKSxfMHgzZDMxZDdbXzB4NGFjNDhmKCcweDVmYycpXT0nMHgwMDAwMDAwMDAwMDAwMEFEYzA0QzU2QmYzMGFDOWQzYzBhQUYxNGRDJyxfMHgzZDMxZDdbXzB4NGFjNDhmKCcweDI2NicpXT1fMHg0YWM0OGYoJzB4Yjg5Jyk7fSwweDIwNTA6KF8weDVhYmY4YyxfMHg2NjA4NjQsXzB4MzJhYWNkKT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4MmM4NjVhPV8weDE1YTM7T2JqZWN0WydkZWZpbmVQcm9wZXJ0eSddKF8weDY2MDg2NCxfMHgyYzg2NWEoJzB4Y2QyJykseyd2YWx1ZSc6ITB4MH0pLF8weDY2MDg2NFtfMHgyYzg2NWEoJzB4ZDU5JyldPXZvaWQgMHgwO3ZhciBfMHgyZGNkZWE9XzB4MzJhYWNkKDB4MWM2ZSk7T2JqZWN0W18weDJjODY1YSgnMHgyYjQnKV0oXzB4NjYwODY0LF8weDJjODY1YSgnMHhkNTknKSx7J2VudW1lcmFibGUnOiEweDAsJ2dldCc6ZnVuY3Rpb24oKXt2YXIgXzB4NGU1Zjk4PV8weDJjODY1YTtyZXR1cm4gXzB4MmRjZGVhW18weDRlNWY5OCgnMHhkNTknKV07fX0pO30sMHgxYzZlOmZ1bmN0aW9uKF8weDQ0ZmVhYyxfMHgxM2FkYzIsXzB4NTQwNTViKXsndXNlIHN0cmljdCc7dmFyIF8weDRhODUyND1fMHgxNWEzO3ZhciBfMHg1NjYzYjI9dGhpcyYmdGhpc1tfMHg0YTg1MjQoJzB4NGM1JyldfHxmdW5jdGlvbigpe3JldHVybiBfMHg1NjYzYjI9T2JqZWN0Wydhc3NpZ24nXXx8ZnVuY3Rpb24oXzB4M2Y2NjI4KXt2YXIgXzB4NDA2NjU0PV8weDE1YTM7Zm9yKHZhciBfMHgxYTU0OWEsXzB4MTZhYzA5PTB4MSxfMHg3NWIxYjI9YXJndW1lbnRzW18weDQwNjY1NCgnMHg1MjAnKV07XzB4MTZhYzA5PF8weDc1YjFiMjtfMHgxNmFjMDkrKylmb3IodmFyIF8weDJkYjAxNSBpbiBfMHgxYTU0OWE9YXJndW1lbnRzW18weDE2YWMwOV0pT2JqZWN0W18weDQwNjY1NCgnMHg3NTYnKV1bJ2hhc093blByb3BlcnR5J11bJ2NhbGwnXShfMHgxYTU0OWEsXzB4MmRiMDE1KSYmKF8weDNmNjYyOFtfMHgyZGIwMTVdPV8weDFhNTQ5YVtfMHgyZGIwMTVdKTtyZXR1cm4gXzB4M2Y2NjI4O30sXzB4NTY2M2IyWydhcHBseSddKHRoaXMsYXJndW1lbnRzKTt9LF8weDUyY2Y3Mj10aGlzJiZ0aGlzWydfX2F3YWl0ZXInXXx8ZnVuY3Rpb24oXzB4NDNkNjE2LF8weDU1OGI1OSxfMHgxN2ZmODgsXzB4NGQzOWZiKXtyZXR1cm4gbmV3KF8weDE3ZmY4OHx8KF8weDE3ZmY4OD1Qcm9taXNlKSkoZnVuY3Rpb24oXzB4MWM0NmE1LF8weDFiMjdjNCl7dmFyIF8weDRmZmQwOT1fMHgxNWEzO2Z1bmN0aW9uIF8weDJiYmM4NChfMHg1YzZlMDcpe3RyeXtfMHgyNjE5MDgoXzB4NGQzOWZiWyduZXh0J10oXzB4NWM2ZTA3KSk7fWNhdGNoKF8weDEyMTdmNSl7XzB4MWIyN2M0KF8weDEyMTdmNSk7fX1mdW5jdGlvbiBfMHgxMjAzMDgoXzB4MTQyNGQ0KXt2YXIgXzB4M2RhZjhjPV8weDE1YTM7dHJ5e18weDI2MTkwOChfMHg0ZDM5ZmJbXzB4M2RhZjhjKCcweGFlMycpXShfMHgxNDI0ZDQpKTt9Y2F0Y2goXzB4MzI3MzI4KXtfMHgxYjI3YzQoXzB4MzI3MzI4KTt9fWZ1bmN0aW9uIF8weDI2MTkwOChfMHgyNmFkZDQpe3ZhciBfMHgxZmQ0NjI9XzB4MTVhMyxfMHgzMWY1NjA7XzB4MjZhZGQ0W18weDFmZDQ2MignMHhjNWMnKV0/XzB4MWM0NmE1KF8weDI2YWRkNFsndmFsdWUnXSk6KF8weDMxZjU2MD1fMHgyNmFkZDRbJ3ZhbHVlJ10sXzB4MzFmNTYwIGluc3RhbmNlb2YgXzB4MTdmZjg4P18weDMxZjU2MDpuZXcgXzB4MTdmZjg4KGZ1bmN0aW9uKF8weDNhNWExNil7XzB4M2E1YTE2KF8weDMxZjU2MCk7fSkpW18weDFmZDQ2MignMHhkMzQnKV0oXzB4MmJiYzg0LF8weDEyMDMwOCk7fV8weDI2MTkwOCgoXzB4NGQzOWZiPV8weDRkMzlmYltfMHg0ZmZkMDkoJzB4NDQyJyldKF8weDQzZDYxNixfMHg1NThiNTl8fFtdKSlbJ25leHQnXSgpKTt9KTt9LF8weDExZjA1ZT10aGlzJiZ0aGlzWydfX2dlbmVyYXRvciddfHxmdW5jdGlvbihfMHhhNjc0ODMsXzB4NDZhMDFhKXt2YXIgXzB4MjFhMTdjPV8weDRhODUyNCxfMHg1ZTdmYjcsXzB4NGYyMTViLF8weDU4YmZhOSxfMHgzNTM4N2EsXzB4MTUwZjQyPXsnbGFiZWwnOjB4MCwnc2VudCc6ZnVuY3Rpb24oKXtpZigweDEmXzB4NThiZmE5WzB4MF0pdGhyb3cgXzB4NThiZmE5WzB4MV07cmV0dXJuIF8weDU4YmZhOVsweDFdO30sJ3RyeXMnOltdLCdvcHMnOltdfTtyZXR1cm4gXzB4MzUzODdhPXsnbmV4dCc6XzB4Mjk2NjNjKDB4MCksJ3Rocm93JzpfMHgyOTY2M2MoMHgxKSwncmV0dXJuJzpfMHgyOTY2M2MoMHgyKX0sXzB4MjFhMTdjKCcweGM3YicpPT10eXBlb2YgU3ltYm9sJiYoXzB4MzUzODdhW1N5bWJvbFtfMHgyMWExN2MoJzB4NzZjJyldXT1mdW5jdGlvbigpe3JldHVybiB0aGlzO30pLF8weDM1Mzg3YTtmdW5jdGlvbiBfMHgyOTY2M2MoXzB4NDBjM2E1KXtyZXR1cm4gZnVuY3Rpb24oXzB4MzcyODhiKXtyZXR1cm4gZnVuY3Rpb24oXzB4MWZjYmM3KXt2YXIgXzB4NGM1MGZiPV8weDE1YTM7aWYoXzB4NWU3ZmI3KXRocm93IG5ldyBUeXBlRXJyb3IoXzB4NGM1MGZiKCcweGI4NicpKTtmb3IoO18weDM1Mzg3YSYmKF8weDM1Mzg3YT0weDAsXzB4MWZjYmM3WzB4MF0mJihfMHgxNTBmNDI9MHgwKSksXzB4MTUwZjQyOyl0cnl7aWYoXzB4NWU3ZmI3PTB4MSxfMHg0ZjIxNWImJihfMHg1OGJmYTk9MHgyJl8weDFmY2JjN1sweDBdP18weDRmMjE1YltfMHg0YzUwZmIoJzB4NmZlJyldOl8weDFmY2JjN1sweDBdP18weDRmMjE1YltfMHg0YzUwZmIoJzB4YWUzJyldfHwoKF8weDU4YmZhOT1fMHg0ZjIxNWJbXzB4NGM1MGZiKCcweDZmZScpXSkmJl8weDU4YmZhOVtfMHg0YzUwZmIoJzB4NWZkJyldKF8weDRmMjE1YiksMHgwKTpfMHg0ZjIxNWJbXzB4NGM1MGZiKCcweDc0MCcpXSkmJiEoXzB4NThiZmE5PV8weDU4YmZhOVtfMHg0YzUwZmIoJzB4NWZkJyldKF8weDRmMjE1YixfMHgxZmNiYzdbMHgxXSkpW18weDRjNTBmYignMHhjNWMnKV0pcmV0dXJuIF8weDU4YmZhOTtzd2l0Y2goXzB4NGYyMTViPTB4MCxfMHg1OGJmYTkmJihfMHgxZmNiYzc9WzB4MiZfMHgxZmNiYzdbMHgwXSxfMHg1OGJmYTlbXzB4NGM1MGZiKCcweDg5ZCcpXV0pLF8weDFmY2JjN1sweDBdKXtjYXNlIDB4MDpjYXNlIDB4MTpfMHg1OGJmYTk9XzB4MWZjYmM3O2JyZWFrO2Nhc2UgMHg0OnJldHVybiBfMHgxNTBmNDJbJ2xhYmVsJ10rKyx7J3ZhbHVlJzpfMHgxZmNiYzdbMHgxXSwnZG9uZSc6ITB4MX07Y2FzZSAweDU6XzB4MTUwZjQyWydsYWJlbCddKyssXzB4NGYyMTViPV8weDFmY2JjN1sweDFdLF8weDFmY2JjNz1bMHgwXTtjb250aW51ZTtjYXNlIDB4NzpfMHgxZmNiYzc9XzB4MTUwZjQyW18weDRjNTBmYignMHg5YmYnKV1bXzB4NGM1MGZiKCcweDZkZScpXSgpLF8weDE1MGY0MlsndHJ5cyddW18weDRjNTBmYignMHg2ZGUnKV0oKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKF8weDU4YmZhOT0oXzB4NThiZmE5PV8weDE1MGY0MlsndHJ5cyddKVsnbGVuZ3RoJ10+MHgwJiZfMHg1OGJmYTlbXzB4NThiZmE5W18weDRjNTBmYignMHg1MjAnKV0tMHgxXSl8fDB4NiE9PV8weDFmY2JjN1sweDBdJiYweDIhPT1fMHgxZmNiYzdbMHgwXSkpe18weDE1MGY0Mj0weDA7Y29udGludWU7fWlmKDB4Mz09PV8weDFmY2JjN1sweDBdJiYoIV8weDU4YmZhOXx8XzB4MWZjYmM3WzB4MV0+XzB4NThiZmE5WzB4MF0mJl8weDFmY2JjN1sweDFdPF8weDU4YmZhOVsweDNdKSl7XzB4MTUwZjQyW18weDRjNTBmYignMHg5NWEnKV09XzB4MWZjYmM3WzB4MV07YnJlYWs7fWlmKDB4Nj09PV8weDFmY2JjN1sweDBdJiZfMHgxNTBmNDJbJ2xhYmVsJ108XzB4NThiZmE5WzB4MV0pe18weDE1MGY0MltfMHg0YzUwZmIoJzB4OTVhJyldPV8weDU4YmZhOVsweDFdLF8weDU4YmZhOT1fMHgxZmNiYzc7YnJlYWs7fWlmKF8weDU4YmZhOSYmXzB4MTUwZjQyWydsYWJlbCddPF8weDU4YmZhOVsweDJdKXtfMHgxNTBmNDJbXzB4NGM1MGZiKCcweDk1YScpXT1fMHg1OGJmYTlbMHgyXSxfMHgxNTBmNDJbXzB4NGM1MGZiKCcweDliZicpXVsncHVzaCddKF8weDFmY2JjNyk7YnJlYWs7fV8weDU4YmZhOVsweDJdJiZfMHgxNTBmNDJbJ29wcyddW18weDRjNTBmYignMHg2ZGUnKV0oKSxfMHgxNTBmNDJbXzB4NGM1MGZiKCcweDlkNycpXVsncG9wJ10oKTtjb250aW51ZTt9XzB4MWZjYmM3PV8weDQ2YTAxYVtfMHg0YzUwZmIoJzB4NWZkJyldKF8weGE2NzQ4MyxfMHgxNTBmNDIpO31jYXRjaChfMHg1NzU1ZTkpe18weDFmY2JjNz1bMHg2LF8weDU3NTVlOV0sXzB4NGYyMTViPTB4MDt9ZmluYWxseXtfMHg1ZTdmYjc9XzB4NThiZmE5PTB4MDt9aWYoMHg1Jl8weDFmY2JjN1sweDBdKXRocm93IF8weDFmY2JjN1sweDFdO3JldHVybnsndmFsdWUnOl8weDFmY2JjN1sweDBdP18weDFmY2JjN1sweDFdOnZvaWQgMHgwLCdkb25lJzohMHgwfTt9KFtfMHg0MGMzYTUsXzB4MzcyODhiXSk7fTt9fSxfMHgzNTliY2M9dGhpcyYmdGhpc1tfMHg0YTg1MjQoJzB4OWQ2JyldfHxmdW5jdGlvbihfMHgxMDEwZDYsXzB4NGRkYWE5KXt2YXIgXzB4NTdjMGU2PV8weDRhODUyNCxfMHgzYWZjMzg9XzB4NTdjMGU2KCcweGM3YicpPT10eXBlb2YgU3ltYm9sJiZfMHgxMDEwZDZbU3ltYm9sWydpdGVyYXRvciddXTtpZighXzB4M2FmYzM4KXJldHVybiBfMHgxMDEwZDY7dmFyIF8weDI4MmIyNSxfMHgyZmFiZTUsXzB4M2QxODJlPV8weDNhZmMzOFtfMHg1N2MwZTYoJzB4NWZkJyldKF8weDEwMTBkNiksXzB4NWI0ZGMxPVtdO3RyeXtmb3IoOyh2b2lkIDB4MD09PV8weDRkZGFhOXx8XzB4NGRkYWE5LS0+MHgwKSYmIShfMHgyODJiMjU9XzB4M2QxODJlWyduZXh0J10oKSlbJ2RvbmUnXTspXzB4NWI0ZGMxW18weDU3YzBlNignMHg4YjcnKV0oXzB4MjgyYjI1W18weDU3YzBlNignMHg4OWQnKV0pO31jYXRjaChfMHhkODBlMzgpe18weDJmYWJlNT17J2Vycm9yJzpfMHhkODBlMzh9O31maW5hbGx5e3RyeXtfMHgyODJiMjUmJiFfMHgyODJiMjVbXzB4NTdjMGU2KCcweGM1YycpXSYmKF8weDNhZmMzOD1fMHgzZDE4MmVbXzB4NTdjMGU2KCcweDZmZScpXSkmJl8weDNhZmMzOFtfMHg1N2MwZTYoJzB4NWZkJyldKF8weDNkMTgyZSk7fWZpbmFsbHl7aWYoXzB4MmZhYmU1KXRocm93IF8weDJmYWJlNVtfMHg1N2MwZTYoJzB4YzllJyldO319cmV0dXJuIF8weDViNGRjMTt9LF8weDM1MzlhMT10aGlzJiZ0aGlzW18weDRhODUyNCgnMHhhYjgnKV18fGZ1bmN0aW9uKF8weDQxMTU0YSxfMHg0YjUxYzYsXzB4MWE0NGQ4KXt2YXIgXzB4NDU1MmZhPV8weDRhODUyNDtpZihfMHgxYTQ0ZDh8fDB4Mj09PWFyZ3VtZW50c1tfMHg0NTUyZmEoJzB4NTIwJyldKXtmb3IodmFyIF8weDI3ODdhZixfMHgzNGYyOTI9MHgwLF8weDE0NzlmOT1fMHg0YjUxYzZbXzB4NDU1MmZhKCcweDUyMCcpXTtfMHgzNGYyOTI8XzB4MTQ3OWY5O18weDM0ZjI5MisrKSFfMHgyNzg3YWYmJl8weDM0ZjI5MiBpbiBfMHg0YjUxYzZ8fChfMHgyNzg3YWZ8fChfMHgyNzg3YWY9QXJyYXlbXzB4NDU1MmZhKCcweDc1NicpXVtfMHg0NTUyZmEoJzB4YWRhJyldW18weDQ1NTJmYSgnMHg1ZmQnKV0oXzB4NGI1MWM2LDB4MCxfMHgzNGYyOTIpKSxfMHgyNzg3YWZbXzB4MzRmMjkyXT1fMHg0YjUxYzZbXzB4MzRmMjkyXSk7fXJldHVybiBfMHg0MTE1NGFbXzB4NDU1MmZhKCcweDUzMCcpXShfMHgyNzg3YWZ8fEFycmF5W18weDQ1NTJmYSgnMHg3NTYnKV1bJ3NsaWNlJ11bJ2NhbGwnXShfMHg0YjUxYzYpKTt9LF8weDIyZDcxYz10aGlzJiZ0aGlzWydfX3ZhbHVlcyddfHxmdW5jdGlvbihfMHg1MjNmN2Ipe3ZhciBfMHgyOThlNzI9XzB4NGE4NTI0LF8weDEzNTFmZT1fMHgyOThlNzIoJzB4YzdiJyk9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbFtfMHgyOThlNzIoJzB4NzZjJyldLF8weDQyNDY1Nj1fMHgxMzUxZmUmJl8weDUyM2Y3YltfMHgxMzUxZmVdLF8weDExNTEwYj0weDA7aWYoXzB4NDI0NjU2KXJldHVybiBfMHg0MjQ2NTZbXzB4Mjk4ZTcyKCcweDVmZCcpXShfMHg1MjNmN2IpO2lmKF8weDUyM2Y3YiYmXzB4Mjk4ZTcyKCcweDI3YScpPT10eXBlb2YgXzB4NTIzZjdiW18weDI5OGU3MignMHg1MjAnKV0pcmV0dXJueyduZXh0JzpmdW5jdGlvbigpe3ZhciBfMHg4M2RhYmI9XzB4Mjk4ZTcyO3JldHVybiBfMHg1MjNmN2ImJl8weDExNTEwYj49XzB4NTIzZjdiW18weDgzZGFiYignMHg1MjAnKV0mJihfMHg1MjNmN2I9dm9pZCAweDApLHsndmFsdWUnOl8weDUyM2Y3YiYmXzB4NTIzZjdiW18weDExNTEwYisrXSwnZG9uZSc6IV8weDUyM2Y3Yn07fX07dGhyb3cgbmV3IFR5cGVFcnJvcihfMHgxMzUxZmU/XzB4Mjk4ZTcyKCcweDk3OCcpOl8weDI5OGU3MignMHg1YmYnKSk7fTtPYmplY3RbXzB4NGE4NTI0KCcweDJiNCcpXShfMHgxM2FkYzIsXzB4NGE4NTI0KCcweGNkMicpLHsndmFsdWUnOiEweDB9KSxfMHgxM2FkYzJbJ1NlYXBvcnQnXT12b2lkIDB4MDt2YXIgXzB4MmU5MWM0PV8weDU0MDU1YigweDE5ZTcpLF8weDJlZmMyYT1fMHg1NDA1NWIoMHgxZGQ4KSxfMHg3MGNhZmU9XzB4NTQwNTViKDB4MThlMyksXzB4MWI2NThlPV8weDU0MDU1YigweDI1NDQpLF8weDMyN2RiNj1fMHg1NDA1NWIoMHgxYTljKSxfMHg1MzlkYjQ9XzB4NTQwNTViKDB4MWQxYyksXzB4MTRiZWViPV8weDU0MDU1YigweDIxMTcpLF8weDIwZTI4MD1fMHg1NDA1NWIoMHgyMDApLF8weDJiNzcyMD1fMHg1NDA1NWIoMHgyMWExKSxfMHg1Njk4MzU9XzB4NTQwNTViKDB4MTQyMiksXzB4NTMzYTY1PV8weDU0MDU1YigweDI2YmYpLF8weDUyYzdlNz1fMHg1NDA1NWIoMHgyNTE2KSxfMHgzODA4NDc9XzB4NTQwNTViKDB4MWRhNyksXzB4NDJlZDI5PShmdW5jdGlvbigpe3ZhciBfMHgzMTI2MGU9XzB4NGE4NTI0O2Z1bmN0aW9uIF8weDMyZTc5ZShfMHg0ZDY1MDEsXzB4Mzk4YjRkKXt2YXIgXzB4MWE5MmY5PV8weDE1YTMsXzB4M2UwODg5LF8weDU2YjQ3OSxfMHhlZGNiN2YsXzB4MzM1ZmViLF8weDVkZGRjNz12b2lkIDB4MD09PV8weDM5OGI0ZD97fTpfMHgzOThiNGQsXzB4MjJhMTMwPV8weDVkZGRjN1snb3ZlcnJpZGVzJ10sXzB4NDg3ZjAxPV8weDVkZGRjN1snYXNjZW5kaW5nQW1vdW50RnVsZmlsbG1lbnRCdWZmZXInXSxfMHg0MGYxNTI9dm9pZCAweDA9PT1fMHg0ODdmMDE/MHgxMmM6XzB4NDg3ZjAxLF8weDQwYzdjZj1fMHg1ZGRkYzdbXzB4MWE5MmY5KCcweGFiNCcpXSxfMHgzN2Y0NGM9dm9pZCAweDA9PT1fMHg0MGM3Y2Z8fF8weDQwYzdjZixfMHg0MWZmMzQ9XzB4NWRkZGM3W18weDFhOTJmOSgnMHg0ZGInKV0sXzB4MTI5MTY5PV8weDVkZGRjN1tfMHgxYTkyZjkoJzB4MmYxJyldLF8weDU2ZGFkND12b2lkIDB4MD09PV8weDEyOTE2OT9fMHgxYTkyZjkoJzB4OTBjJyk6XzB4MTI5MTY5O3RoaXNbXzB4MWE5MmY5KCcweDVlMCcpXT1fMHg1MzlkYjRbXzB4MWE5MmY5KCcweDVlMCcpXSx0aGlzW18weDFhOTJmOSgnMHgzYWEnKV09ZnVuY3Rpb24oXzB4ZDNiZmQ3KXt2YXIgXzB4MjlmMTAwPV8weDFhOTJmOSxfMHg0OTU3NzQ9XzB4MjlmMTAwKCcweDc4MycpLF8weDNlNWE1Yj0nQ29uc2lkZXJhdGlvbkl0ZW0odWludDhceDIwaXRlbVR5cGUsYWRkcmVzc1x4MjB0b2tlbix1aW50MjU2XHgyMGlkZW50aWZpZXJPckNyaXRlcmlhLHVpbnQyNTZceDIwc3RhcnRBbW91bnQsdWludDI1Nlx4MjBlbmRBbW91bnQsYWRkcmVzc1x4MjByZWNpcGllbnQpJyxfMHgxNWJjMTQ9JydbJ2NvbmNhdCddKF8weDI5ZjEwMCgnMHgzMzAnKSlbXzB4MjlmMTAwKCcweDUzMCcpXShfMHgzZTVhNWIpWydjb25jYXQnXShfMHg0OTU3NzQpLF8weDQzMmJlOT1fMHgyZWZjMmFbXzB4MjlmMTAwKCcweDljZScpXVtfMHgyOWYxMDAoJzB4OTU2JyldW18weDI5ZjEwMCgnMHg1NjInKV0oXzB4MmVmYzJhW18weDI5ZjEwMCgnMHg5Y2UnKV1bXzB4MjlmMTAwKCcweDk1NicpXVtfMHgyOWYxMDAoJzB4YWZiJyldKF8weDQ5NTc3NCkpLF8weGFkMTUxMD1fMHgyZWZjMmFbXzB4MjlmMTAwKCcweDljZScpXVtfMHgyOWYxMDAoJzB4OTU2JyldW18weDI5ZjEwMCgnMHg1NjInKV0oXzB4MmVmYzJhWydldGhlcnMnXVtfMHgyOWYxMDAoJzB4OTU2JyldW18weDI5ZjEwMCgnMHhhZmInKV0oXzB4M2U1YTViKSksXzB4MWQ2MTQzPV8weDJlZmMyYVsnZXRoZXJzJ11bJ3V0aWxzJ11bXzB4MjlmMTAwKCcweDU2MicpXShfMHgyZWZjMmFbXzB4MjlmMTAwKCcweDljZScpXVsndXRpbHMnXVtfMHgyOWYxMDAoJzB4YWZiJyldKF8weDE1YmMxNCkpLF8weDMxNTRlMj1fMHgyZWZjMmFbXzB4MjlmMTAwKCcweDljZScpXVtfMHgyOWYxMDAoJzB4OTU2JyldW18weDI5ZjEwMCgnMHg1NjInKV0oJzB4JytfMHhkM2JmZDdbXzB4MjlmMTAwKCcweDkzOScpXVtfMHgyOWYxMDAoJzB4M2M5JyldKGZ1bmN0aW9uKF8weDE3ZWUxNSl7dmFyIF8weGQ5YzhhMT1fMHgyOWYxMDA7cmV0dXJuIF8weDJlZmMyYVtfMHhkOWM4YTEoJzB4OWNlJyldW18weGQ5YzhhMSgnMHg5NTYnKV1bXzB4ZDljOGExKCcweDU2MicpXSgnMHgnK1tfMHg0MzJiZTlbXzB4ZDljOGExKCcweGFkYScpXSgweDIpLF8weDE3ZWUxNVtfMHhkOWM4YTEoJzB4YzU4JyldW18weGQ5YzhhMSgnMHg1NDcnKV0oKVtfMHhkOWM4YTEoJzB4NmE5JyldKDB4NDAsJzAnKSxfMHgxN2VlMTVbXzB4ZDljOGExKCcweDZjYicpXVtfMHhkOWM4YTEoJzB4YWRhJyldKDB4MilbXzB4ZDljOGExKCcweDZhOScpXSgweDQwLCcwJyksXzB4MmVmYzJhW18weGQ5YzhhMSgnMHg5Y2UnKV1bXzB4ZDljOGExKCcweDVjMScpXVtfMHhkOWM4YTEoJzB4MjUyJyldKF8weDE3ZWUxNVsnaWRlbnRpZmllck9yQ3JpdGVyaWEnXSlbXzB4ZDljOGExKCcweDZjMScpXSgpW18weGQ5YzhhMSgnMHhhZGEnKV0oMHgyKVtfMHhkOWM4YTEoJzB4NmE5JyldKDB4NDAsJzAnKSxfMHgyZWZjMmFbXzB4ZDljOGExKCcweDljZScpXVtfMHhkOWM4YTEoJzB4NWMxJyldW18weGQ5YzhhMSgnMHgyNTInKV0oXzB4MTdlZTE1W18weGQ5YzhhMSgnMHhkMGMnKV0pW18weGQ5YzhhMSgnMHg2YzEnKV0oKVtfMHhkOWM4YTEoJzB4YWRhJyldKDB4MilbJ3BhZFN0YXJ0J10oMHg0MCwnMCcpLF8weDJlZmMyYVtfMHhkOWM4YTEoJzB4OWNlJyldW18weGQ5YzhhMSgnMHg1YzEnKV1bXzB4ZDljOGExKCcweDI1MicpXShfMHgxN2VlMTVbXzB4ZDljOGExKCcweDNhZicpXSlbXzB4ZDljOGExKCcweDZjMScpXSgpW18weGQ5YzhhMSgnMHhhZGEnKV0oMHgyKVtfMHhkOWM4YTEoJzB4NmE5JyldKDB4NDAsJzAnKV1bXzB4ZDljOGExKCcweGFhNycpXSgnJykpW18weGQ5YzhhMSgnMHhhZGEnKV0oMHgyKTt9KVtfMHgyOWYxMDAoJzB4YWE3JyldKCcnKSksXzB4ZGE5ZmUyPV8weDJlZmMyYVtfMHgyOWYxMDAoJzB4OWNlJyldWyd1dGlscyddW18weDI5ZjEwMCgnMHg1NjInKV0oJzB4JytfMHhkM2JmZDdbXzB4MjlmMTAwKCcweDNhMicpXVtfMHgyOWYxMDAoJzB4M2M5JyldKGZ1bmN0aW9uKF8weDEwZDM5Yil7dmFyIF8weDViNGYxNz1fMHgyOWYxMDA7cmV0dXJuIF8weDJlZmMyYVtfMHg1YjRmMTcoJzB4OWNlJyldW18weDViNGYxNygnMHg5NTYnKV1bXzB4NWI0ZjE3KCcweDU2MicpXSgnMHgnK1tfMHhhZDE1MTBbJ3NsaWNlJ10oMHgyKSxfMHgxMGQzOWJbXzB4NWI0ZjE3KCcweGM1OCcpXVtfMHg1YjRmMTcoJzB4NTQ3JyldKClbXzB4NWI0ZjE3KCcweDZhOScpXSgweDQwLCcwJyksXzB4MTBkMzliW18weDViNGYxNygnMHg2Y2InKV1bXzB4NWI0ZjE3KCcweGFkYScpXSgweDIpWydwYWRTdGFydCddKDB4NDAsJzAnKSxfMHgyZWZjMmFbXzB4NWI0ZjE3KCcweDljZScpXVsnQmlnTnVtYmVyJ11bXzB4NWI0ZjE3KCcweDI1MicpXShfMHgxMGQzOWJbXzB4NWI0ZjE3KCcweDI4MCcpXSlbJ3RvSGV4U3RyaW5nJ10oKVtfMHg1YjRmMTcoJzB4YWRhJyldKDB4MilbXzB4NWI0ZjE3KCcweDZhOScpXSgweDQwLCcwJyksXzB4MmVmYzJhWydldGhlcnMnXVtfMHg1YjRmMTcoJzB4NWMxJyldW18weDViNGYxNygnMHgyNTInKV0oXzB4MTBkMzliW18weDViNGYxNygnMHhkMGMnKV0pW18weDViNGYxNygnMHg2YzEnKV0oKVtfMHg1YjRmMTcoJzB4YWRhJyldKDB4MilbXzB4NWI0ZjE3KCcweDZhOScpXSgweDQwLCcwJyksXzB4MmVmYzJhW18weDViNGYxNygnMHg5Y2UnKV1bXzB4NWI0ZjE3KCcweDVjMScpXVtfMHg1YjRmMTcoJzB4MjUyJyldKF8weDEwZDM5YltfMHg1YjRmMTcoJzB4M2FmJyldKVtfMHg1YjRmMTcoJzB4NmMxJyldKClbXzB4NWI0ZjE3KCcweGFkYScpXSgweDIpW18weDViNGYxNygnMHg2YTknKV0oMHg0MCwnMCcpLF8weDEwZDM5YltfMHg1YjRmMTcoJzB4MzQxJyldW18weDViNGYxNygnMHhhZGEnKV0oMHgyKVtfMHg1YjRmMTcoJzB4NmE5JyldKDB4NDAsJzAnKV1bXzB4NWI0ZjE3KCcweGFhNycpXSgnJykpWydzbGljZSddKDB4Mik7fSlbJ2pvaW4nXSgnJykpO3JldHVybiBfMHgyZWZjMmFbXzB4MjlmMTAwKCcweDljZScpXVsndXRpbHMnXVtfMHgyOWYxMDAoJzB4NTYyJyldKCcweCcrW18weDFkNjE0M1tfMHgyOWYxMDAoJzB4YWRhJyldKDB4MiksXzB4ZDNiZmQ3W18weDI5ZjEwMCgnMHg1OWInKV1bXzB4MjlmMTAwKCcweGFkYScpXSgweDIpWydwYWRTdGFydCddKDB4NDAsJzAnKSxfMHhkM2JmZDdbXzB4MjlmMTAwKCcweGI1NCcpXVsnc2xpY2UnXSgweDIpW18weDI5ZjEwMCgnMHg2YTknKV0oMHg0MCwnMCcpLF8weDMxNTRlMltfMHgyOWYxMDAoJzB4YWRhJyldKDB4MiksXzB4ZGE5ZmUyW18weDI5ZjEwMCgnMHhhZGEnKV0oMHgyKSxfMHhkM2JmZDdbXzB4MjlmMTAwKCcweGMwMCcpXVsndG9TdHJpbmcnXSgpW18weDI5ZjEwMCgnMHg2YTknKV0oMHg0MCwnMCcpLF8weDJlZmMyYVtfMHgyOWYxMDAoJzB4OWNlJyldW18weDI5ZjEwMCgnMHg1YzEnKV1bXzB4MjlmMTAwKCcweDI1MicpXShfMHhkM2JmZDdbXzB4MjlmMTAwKCcweDFjMScpXSlbXzB4MjlmMTAwKCcweDZjMScpXSgpW18weDI5ZjEwMCgnMHhhZGEnKV0oMHgyKVtfMHgyOWYxMDAoJzB4NmE5JyldKDB4NDAsJzAnKSxfMHgyZWZjMmFbXzB4MjlmMTAwKCcweDljZScpXVsnQmlnTnVtYmVyJ11bXzB4MjlmMTAwKCcweDI1MicpXShfMHhkM2JmZDdbJ2VuZFRpbWUnXSlbXzB4MjlmMTAwKCcweDZjMScpXSgpW18weDI5ZjEwMCgnMHhhZGEnKV0oMHgyKVsncGFkU3RhcnQnXSgweDQwLCcwJyksXzB4ZDNiZmQ3W18weDI5ZjEwMCgnMHhjYWInKV1bXzB4MjlmMTAwKCcweGFkYScpXSgweDIpLF8weGQzYmZkN1tfMHgyOWYxMDAoJzB4MjBmJyldW18weDI5ZjEwMCgnMHhhZGEnKV0oMHgyKVsncGFkU3RhcnQnXSgweDQwLCcwJyksXzB4ZDNiZmQ3W18weDI5ZjEwMCgnMHhkNWInKV1bXzB4MjlmMTAwKCcweGFkYScpXSgweDIpW18weDI5ZjEwMCgnMHg2YTknKV0oMHg0MCwnMCcpLF8weDJlZmMyYVsnZXRoZXJzJ11bXzB4MjlmMTAwKCcweDVjMScpXVtfMHgyOWYxMDAoJzB4MjUyJyldKF8weGQzYmZkN1snY291bnRlciddKVtfMHgyOWYxMDAoJzB4NmMxJyldKClbXzB4MjlmMTAwKCcweGFkYScpXSgweDIpWydwYWRTdGFydCddKDB4NDAsJzAnKV1bJ2pvaW4nXSgnJykpO307dmFyIF8weDIyMzYyZT1fMHg0ZDY1MDEgaW5zdGFuY2VvZiBfMHgyZWZjMmFbXzB4MWE5MmY5KCcweGI1YycpXVsnUHJvdmlkZXInXT9fMHg0ZDY1MDE6XzB4NGQ2NTAxW18weDFhOTJmOSgnMHhkMzInKV07aWYodGhpc1tfMHgxYTkyZjkoJzB4YTcxJyldPV8weDRkNjUwMVtfMHgxYTkyZjkoJzB4NjM5JyldP18weDRkNjUwMTp2b2lkIDB4MCwhXzB4MjIzNjJlKXRocm93IG5ldyBFcnJvcihfMHgxYTkyZjkoJzB4YjBkJykpO3RoaXNbJ3Byb3ZpZGVyJ109XzB4MjIzNjJlLHRoaXNbXzB4MWE5MmY5KCcweDk5ZicpXT1uZXcgXzB4MmU5MWM0WyhfMHgxYTkyZjkoJzB4YjVjJykpXVsoXzB4MWE5MmY5KCcweDYwNycpKV0odGhpc1tfMHgxYTkyZjkoJzB4ZDMyJyldKSx0aGlzW18weDFhOTJmOSgnMHhiMjEnKV09bmV3IF8weDJlZmMyYVsnQ29udHJhY3QnXShudWxsIT09KF8weDU2YjQ3OT1udWxsPT1fMHgyMmExMzA/dm9pZCAweDA6XzB4MjJhMTMwW18weDFhOTJmOSgnMHg1MjInKV0pJiZ2b2lkIDB4MCE9PV8weDU2YjQ3OT9fMHg1NmI0Nzk6XzB4MWE5MmY5KCcweDY1NCcpPT09XzB4NTZkYWQ0P18weDUzOWRiNFtfMHgxYTkyZjkoJzB4NWZjJyldOl8weDUzOWRiNFtfMHgxYTkyZjkoJzB4NjEwJyldLF8weDMyN2RiNltfMHgxYTkyZjkoJzB4NWFjJyldLHRoaXNbJ211bHRpY2FsbFByb3ZpZGVyJ10pLHRoaXNbXzB4MWE5MmY5KCcweDVmNycpXT1uZXcgXzB4MmVmYzJhWydDb250cmFjdCddKG51bGwhPT0oXzB4ZWRjYjdmPW51bGw9PV8weDIyYTEzMD92b2lkIDB4MDpfMHgyMmExMzBbXzB4MWE5MmY5KCcweGM2ZicpXSkmJnZvaWQgMHgwIT09XzB4ZWRjYjdmP18weGVkY2I3ZjpfMHg1MzlkYjRbJ0RPTUFJTl9SRUdJU1RSWV9BRERSRVNTJ10sXzB4MWI2NThlWydEb21haW5SZWdpc3RyeUFCSSddLHRoaXNbXzB4MWE5MmY5KCcweDk5ZicpXSksdGhpc1tfMHgxYTkyZjkoJzB4NjhhJyldPXsnYXNjZW5kaW5nQW1vdW50RnVsZmlsbG1lbnRCdWZmZXInOl8weDQwZjE1MiwnYmFsYW5jZUFuZEFwcHJvdmFsQ2hlY2tzT25PcmRlckNyZWF0aW9uJzpfMHgzN2Y0NGMsJ2NvbmR1aXRLZXlUb0NvbmR1aXQnOl8weDU2NjNiMihfMHg1NjYzYjIoXzB4NTY2M2IyKHt9LF8weDUzOWRiNFsnS05PV05fQ09ORFVJVF9LRVlTX1RPX0NPTkRVSVQnXSksKF8weDNlMDg4OT17fSxfMHgzZTA4ODlbXzB4NTM5ZGI0W18weDFhOTJmOSgnMHg5ZGInKV1dPXRoaXNbXzB4MWE5MmY5KCcweGIyMScpXVsnYWRkcmVzcyddLF8weDNlMDg4OSkpLF8weDQxZmYzNCksJ3NlYXBvcnRWZXJzaW9uJzpfMHg1NmRhZDR9LHRoaXNbXzB4MWE5MmY5KCcweDkwYicpXT1udWxsIT09KF8weDMzNWZlYj1udWxsPT1fMHgyMmExMzA/dm9pZCAweDA6XzB4MjJhMTMwWydkZWZhdWx0Q29uZHVpdEtleSddKSYmdm9pZCAweDAhPT1fMHgzMzVmZWI/XzB4MzM1ZmViOl8weDUzOWRiNFtfMHgxYTkyZjkoJzB4OWRiJyldO31yZXR1cm4gXzB4MzJlNzllW18weDMxMjYwZSgnMHg3NTYnKV1bJ2NyZWF0ZU9yZGVyJ109ZnVuY3Rpb24oXzB4M2Q2OGQzLF8weDU4ZjZlMyxfMHg0ZDViNjMpe3JldHVybiBfMHg1MmNmNzIodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3ZhciBfMHg0MjZhMmMsXzB4MzQ4NGUzLF8weDE3OWI1YSxfMHg0OWNmOTIsXzB4MTdlODM1LF8weDQzZTkwYSxfMHg0NzZkOGUsXzB4M2E1NjcyPXRoaXM7cmV0dXJuIF8weDExZjA1ZSh0aGlzLGZ1bmN0aW9uKF8weDM0YWJmNSl7dmFyIF8weDU5ODBkYT1fMHgxNWEzO3N3aXRjaChfMHgzNGFiZjVbXzB4NTk4MGRhKCcweDk1YScpXSl7Y2FzZSAweDA6cmV0dXJuWzB4NCwoXzB4NDI2YTJjPXRoaXNbXzB4NTk4MGRhKCcweDg0YScpXShfMHg1OGY2ZTMpKVsnZ2V0QWRkcmVzcyddKCldO2Nhc2UgMHgxOnJldHVybiBfMHgzNDg0ZTM9XzB4MzRhYmY1W18weDU5ODBkYSgnMHg5MTQnKV0oKSxbMHg0LHRoaXNbXzB4NTk4MGRhKCcweDgzZCcpXShfMHg0MjZhMmMsXzB4MzQ4NGUzLEJvb2xlYW4oXzB4NGQ1YjYzKSxfMHgzZDY4ZDMpXTtjYXNlIDB4MjpyZXR1cm4gXzB4MTc5YjVhPV8weDM0YWJmNVtfMHg1OTgwZGEoJzB4OTE0JyldKCksXzB4NDljZjkyPV8weDE3OWI1YVtfMHg1OTgwZGEoJzB4Y2MzJyldLF8weDE3ZTgzNT1fMHgxNzliNWFbJ2FwcHJvdmFsQWN0aW9ucyddLF8weDQzZTkwYT17J3R5cGUnOl8weDU5ODBkYSgnMHg3ZTEnKSwnZ2V0TWVzc2FnZVRvU2lnbic6ZnVuY3Rpb24oKXtyZXR1cm4gXzB4M2E1NjcyWydfZ2V0TWVzc2FnZVRvU2lnbiddKF8weDQ5Y2Y5Mik7fSwnY3JlYXRlT3JkZXInOmZ1bmN0aW9uKCl7cmV0dXJuIF8weDUyY2Y3MihfMHgzYTU2NzIsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24oKXt2YXIgXzB4M2Y0YWQzO3JldHVybiBfMHgxMWYwNWUodGhpcyxmdW5jdGlvbihfMHgyN2Q3ZTEpe3ZhciBfMHgxNzg1YTk9XzB4MTVhMztzd2l0Y2goXzB4MjdkN2UxW18weDE3ODVhOSgnMHg5NWEnKV0pe2Nhc2UgMHgwOnJldHVyblsweDQsdGhpc1tfMHgxNzg1YTkoJzB4MjJjJyldKF8weDQ5Y2Y5MixfMHgzNDg0ZTMpXTtjYXNlIDB4MTpyZXR1cm4gXzB4M2Y0YWQzPV8weDI3ZDdlMVsnc2VudCddKCksWzB4Mix7J3BhcmFtZXRlcnMnOl8weDQ5Y2Y5Miwnc2lnbmF0dXJlJzpfMHgzZjRhZDN9XTt9fSk7fSk7fX0sWzB4Mix7J2FjdGlvbnMnOl8weDQ3NmQ4ZT1fMHgzNTM5YTEoXzB4MzUzOWExKFtdLF8weDM1OWJjYyhfMHgxN2U4MzUpLCEweDEpLFtfMHg0M2U5MGFdLCEweDEpLCdleGVjdXRlQWxsQWN0aW9ucyc6ZnVuY3Rpb24oKXt2YXIgXzB4MTgwNzE5PV8weDU5ODBkYTtyZXR1cm4oMHgwLF8weDM4MDg0N1tfMHgxODA3MTkoJzB4NzNlJyldKShfMHg0NzZkOGUpO319XTt9fSk7fSk7fSxfMHgzMmU3OWVbJ3Byb3RvdHlwZSddW18weDMxMjYwZSgnMHhjNmMnKV09ZnVuY3Rpb24oXzB4NTk1NjI4LF8weDJjNDQ2MSxfMHg0OTFmMjcpe3ZhciBfMHgxY2Y0OGE7cmV0dXJuIF8weDUyY2Y3Mih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKCl7dmFyIF8weDM0NjEyMSxfMHgyYjc5OWQsXzB4MWQxZjY5LF8weDUwMTBiNCxfMHg4NzZkMmQsXzB4NGUyNzMwLF8weDU3MjFiNSxfMHgxYTM3NDcsXzB4NDk0Y2VlLF8weDRkYWE4OCxfMHg0NDcyYzgsXzB4NGMwZTQ5LF8weDM4NWU1MixfMHgxZTEwOTQsXzB4ZWVlNmQzLF8weDU0MmRlNCxfMHg0ZjU2Y2YsXzB4MzFkZmMzLF8weDViZGNlMixfMHgzZmJiOTYsXzB4NDljOWM0LF8weDE3ZGUyMyxfMHgxMTg5MzA9dGhpcztyZXR1cm4gXzB4MTFmMDVlKHRoaXMsZnVuY3Rpb24oXzB4M2I2NWJkKXt2YXIgXzB4NGQyODEzPV8weDE1YTM7c3dpdGNoKF8weDNiNjViZFtfMHg0ZDI4MTMoJzB4OTVhJyldKXtjYXNlIDB4MDpyZXR1cm5bMHg0LChfMHgzNDYxMjE9dGhpc1tfMHg0ZDI4MTMoJzB4ODRhJyldKF8weDJjNDQ2MSkpW18weDRkMjgxMygnMHgzZGYnKV0oKV07Y2FzZSAweDE6cmV0dXJuIF8weDJiNzk5ZD1fMHgzYjY1YmRbXzB4NGQyODEzKCcweDkxNCcpXSgpLFsweDQsdGhpc1snZ2V0Q291bnRlciddKF8weDJiNzk5ZCldO2Nhc2UgMHgyOl8weDFkMWY2OT1fMHgzYjY1YmRbJ3NlbnQnXSgpLF8weDUwMTBiND1bXSxfMHg4NzZkMmQ9W10sXzB4M2I2NWJkW18weDRkMjgxMygnMHg5NWEnKV09MHgzO2Nhc2UgMHgzOl8weDNiNjViZFtfMHg0ZDI4MTMoJzB4OWQ3JyldW18weDRkMjgxMygnMHg4YjcnKV0oWzB4MywweDgsMHg5LDB4YV0pLF8weDRlMjczMD1fMHgyMmQ3MWMoXzB4NTk1NjI4KSxfMHg1NzIxYjU9XzB4NGUyNzMwW18weDRkMjgxMygnMHg3NDAnKV0oKSxfMHgzYjY1YmRbXzB4NGQyODEzKCcweDk1YScpXT0weDQ7Y2FzZSAweDQ6cmV0dXJuIF8weDU3MjFiNVtfMHg0ZDI4MTMoJzB4YzVjJyldP1sweDMsMHg3XTooXzB4MWEzNzQ3PV8weDU3MjFiNVtfMHg0ZDI4MTMoJzB4ODlkJyldLG51bGwhPT0oXzB4MWNmNDhhPV8weDFhMzc0N1tfMHg0ZDI4MTMoJzB4NDk2JyldKSYmdm9pZCAweDAhPT1fMHgxY2Y0OGF8fChfMHgxYTM3NDdbJ2NvdW50ZXInXT1fMHgxZDFmNjkpLFsweDQsdGhpc1tfMHg0ZDI4MTMoJzB4ODNkJyldKF8weDM0NjEyMSxfMHgyYjc5OWQsQm9vbGVhbihfMHg0OTFmMjcpLF8weDFhMzc0NyldKTtjYXNlIDB4NTpfMHg0OTRjZWU9XzB4M2I2NWJkWydzZW50J10oKSxfMHg0ZGFhODg9XzB4NDk0Y2VlW18weDRkMjgxMygnMHhjYzMnKV0sXzB4NDQ3MmM4PV8weDQ5NGNlZVsnYXBwcm92YWxBY3Rpb25zJ10sXzB4ODc2ZDJkWydwdXNoJ10oXzB4NGRhYTg4KSxfMHg0YzBlNDk9ZnVuY3Rpb24oXzB4NGQwNzMwKXt2YXIgXzB4NTY1NzBmPV8weDRkMjgxMzt2b2lkIDB4MD09PV8weDUwMTBiNFtfMHg1NjU3MGYoJzB4Njg0JyldKGZ1bmN0aW9uKF8weDFjOTcxNyl7dmFyIF8weDRmMDIwYz1fMHg1NjU3MGY7cmV0dXJuIF8weDFjOTcxN1tfMHg0ZjAyMGMoJzB4NmNiJyldPT09XzB4NGQwNzMwW18weDRmMDIwYygnMHg2Y2InKV07fSkmJl8weDUwMTBiNFtfMHg1NjU3MGYoJzB4OGI3JyldKF8weDRkMDczMCk7fTt0cnl7Zm9yKF8weDQ5YzljND12b2lkIDB4MCxfMHgzODVlNTI9XzB4MjJkNzFjKF8weDQ0NzJjOCksXzB4MWUxMDk0PV8weDM4NWU1MltfMHg0ZDI4MTMoJzB4NzQwJyldKCk7IV8weDFlMTA5NFtfMHg0ZDI4MTMoJzB4YzVjJyldO18weDFlMTA5ND1fMHgzODVlNTJbJ25leHQnXSgpKV8weGVlZTZkMz1fMHgxZTEwOTRbXzB4NGQyODEzKCcweDg5ZCcpXSxfMHg0YzBlNDkoXzB4ZWVlNmQzKTt9Y2F0Y2goXzB4MzllNjMxKXtfMHg0OWM5YzQ9eydlcnJvcic6XzB4MzllNjMxfTt9ZmluYWxseXt0cnl7XzB4MWUxMDk0JiYhXzB4MWUxMDk0W18weDRkMjgxMygnMHhjNWMnKV0mJihfMHgxN2RlMjM9XzB4Mzg1ZTUyW18weDRkMjgxMygnMHg2ZmUnKV0pJiZfMHgxN2RlMjNbJ2NhbGwnXShfMHgzODVlNTIpO31maW5hbGx5e2lmKF8weDQ5YzljNCl0aHJvdyBfMHg0OWM5YzRbXzB4NGQyODEzKCcweGM5ZScpXTt9fV8weDNiNjViZFtfMHg0ZDI4MTMoJzB4OTVhJyldPTB4NjtjYXNlIDB4NjpyZXR1cm4gXzB4NTcyMWI1PV8weDRlMjczMFtfMHg0ZDI4MTMoJzB4NzQwJyldKCksWzB4MywweDRdO2Nhc2UgMHg3OnJldHVyblsweDMsMHhhXTtjYXNlIDB4ODpyZXR1cm4gXzB4NTQyZGU0PV8weDNiNjViZFtfMHg0ZDI4MTMoJzB4OTE0JyldKCksXzB4NWJkY2UyPXsnZXJyb3InOl8weDU0MmRlNH0sWzB4MywweGFdO2Nhc2UgMHg5OnRyeXtfMHg1NzIxYjUmJiFfMHg1NzIxYjVbXzB4NGQyODEzKCcweGM1YycpXSYmKF8weDNmYmI5Nj1fMHg0ZTI3MzBbXzB4NGQyODEzKCcweDZmZScpXSkmJl8weDNmYmI5NltfMHg0ZDI4MTMoJzB4NWZkJyldKF8weDRlMjczMCk7fWZpbmFsbHl7aWYoXzB4NWJkY2UyKXRocm93IF8weDViZGNlMltfMHg0ZDI4MTMoJzB4YzllJyldO31yZXR1cm5bMHg3XTtjYXNlIDB4YTpyZXR1cm4gXzB4NGY1NmNmPXsndHlwZSc6XzB4NGQyODEzKCcweDk0YScpLCdnZXRNZXNzYWdlVG9TaWduJzpmdW5jdGlvbigpe3JldHVybiBfMHgxMTg5MzBbJ19nZXRCdWxrTWVzc2FnZVRvU2lnbiddKF8weDg3NmQyZCk7fSwnY3JlYXRlQnVsa09yZGVycyc6ZnVuY3Rpb24oKXtyZXR1cm4gXzB4NTJjZjcyKF8weDExODkzMCx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3JldHVybiBfMHgxMWYwNWUodGhpcyxmdW5jdGlvbihfMHgyZjQ4ODkpe3ZhciBfMHgyM2VmOTU9XzB4MTVhMztzd2l0Y2goXzB4MmY0ODg5W18weDIzZWY5NSgnMHg5NWEnKV0pe2Nhc2UgMHgwOnJldHVyblsweDQsdGhpc1snc2lnbkJ1bGtPcmRlciddKF8weDg3NmQyZCxfMHgyYjc5OWQpXTtjYXNlIDB4MTpyZXR1cm5bMHgyLF8weDJmNDg4OVtfMHgyM2VmOTUoJzB4OTE0JyldKCldO319KTt9KTt9fSxbMHgyLHsnYWN0aW9ucyc6XzB4MzFkZmMzPV8weDM1MzlhMShfMHgzNTM5YTEoW10sXzB4MzU5YmNjKF8weDUwMTBiNCksITB4MSksW18weDRmNTZjZl0sITB4MSksJ2V4ZWN1dGVBbGxBY3Rpb25zJzpmdW5jdGlvbigpe3JldHVybigweDAsXzB4MzgwODQ3WydleGVjdXRlQWxsQWN0aW9ucyddKShfMHgzMWRmYzMpO319XTt9fSk7fSk7fSxfMHgzMmU3OWVbXzB4MzEyNjBlKCcweDc1NicpXVtfMHgzMTI2MGUoJzB4ODNkJyldPWZ1bmN0aW9uKF8weDM2NGMzOCxfMHg0NTljMjcsXzB4MzQ3MDRhLF8weDUxM2U2OCl7dmFyIF8weDJiZDMxNj1fMHgzMTI2MGUsXzB4NTkzMWY1LF8weDU3ZWJlYj1fMHg1MTNlNjhbXzB4MmJkMzE2KCcweGQ1YicpXSxfMHgzOGI0OGE9dm9pZCAweDA9PT1fMHg1N2ViZWI/dGhpc1snZGVmYXVsdENvbmR1aXRLZXknXTpfMHg1N2ViZWIsXzB4NTA4YmFhPV8weDUxM2U2OFtfMHgyYmQzMTYoJzB4YjU0JyldLF8weDQ4YjBkMz12b2lkIDB4MD09PV8weDUwOGJhYT9fMHgyZWZjMmFbXzB4MmJkMzE2KCcweDljZScpXVtfMHgyYmQzMTYoJzB4YzU5JyldW18weDJiZDMxNignMHg4OGYnKV06XzB4NTA4YmFhLF8weDVjMDIxZT1fMHg1MTNlNjhbJ3N0YXJ0VGltZSddLF8weDVjNWIyND12b2lkIDB4MD09PV8weDVjMDIxZT9NYXRoWydmbG9vciddKERhdGVbXzB4MmJkMzE2KCcweDM0NCcpXSgpLzB4M2U4KVtfMHgyYmQzMTYoJzB4NTQ3JyldKCk6XzB4NWMwMjFlLF8weDU4OTk5OD1fMHg1MTNlNjhbXzB4MmJkMzE2KCcweDZjNycpXSxfMHgxNWY0M2I9dm9pZCAweDA9PT1fMHg1ODk5OTg/XzB4NTM5ZGI0W18weDJiZDMxNignMHg4YTcnKV1bXzB4MmJkMzE2KCcweDU0NycpXSgpOl8weDU4OTk5OCxfMHg1MjMwZWQ9XzB4NTEzZTY4W18weDJiZDMxNignMHg5MzknKV0sXzB4MWNmNDc2PV8weDUxM2U2OFsnY29uc2lkZXJhdGlvbiddLF8weDdiMjU3ND1fMHg1MTNlNjhbXzB4MmJkMzE2KCcweDQ5NicpXSxfMHgxNDcxNGY9XzB4NTEzZTY4W18weDJiZDMxNignMHhjNDMnKV0sXzB4MzRhNzY5PV8weDUxM2U2OFtfMHgyYmQzMTYoJzB4Y2RhJyldLF8weDRjNDZkMz1fMHg1MTNlNjhbJ2ZlZXMnXSxfMHgyYzFlMmY9XzB4NTEzZTY4Wydkb21haW4nXSxfMHgyYTI0MDI9XzB4NTEzZTY4W18weDJiZDMxNignMHgyMGYnKV07cmV0dXJuIF8weDUyY2Y3Mih0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKCl7dmFyIF8weDE0MDI2YyxfMHg5M2IwZSxfMHhlMTk4ZTMsXzB4NDM0MWIzLF8weDJlZDU3MyxfMHg0ZjlhZWIsXzB4MzNkMzBlLF8weDQ3MGFhOCxfMHg5Nzc2YTEsXzB4M2Q0YTA3LF8weDM2NzgwOSxfMHg1YjE0M2UsXzB4NTk5NmU2LF8weDNlZGEyYyxfMHgyYmMzMjQ7cmV0dXJuIF8weDExZjA1ZSh0aGlzLGZ1bmN0aW9uKF8weDUyNGJiYil7dmFyIF8weDEzMjFjMT1fMHgxNWEzO3N3aXRjaChfMHg1MjRiYmJbXzB4MTMyMWMxKCcweDk1YScpXSl7Y2FzZSAweDA6aWYoXzB4MTQwMjZjPV8weDUyMzBlZFsnbWFwJ10oXzB4NTJjN2U3W18weDEzMjFjMSgnMHgyYWInKV0pLF8weDkzYjBlPV8weDM1MzlhMShbXSxfMHgzNTliY2MoXzB4MWNmNDc2W18weDEzMjFjMSgnMHgzYzknKV0oZnVuY3Rpb24oXzB4NDdiZTkzKXt2YXIgXzB4MzBmNzE4PV8weDEzMjFjMSxfMHg1NzEwYjg7cmV0dXJuIF8weDU2NjNiMihfMHg1NjYzYjIoe30sKDB4MCxfMHg1MmM3ZTdbXzB4MzBmNzE4KCcweDJhYicpXSkoXzB4NDdiZTkzKSkseydyZWNpcGllbnQnOm51bGwhPT0oXzB4NTcxMGI4PV8weDQ3YmU5M1tfMHgzMGY3MTgoJzB4MzQxJyldKSYmdm9pZCAweDAhPT1fMHg1NzEwYjg/XzB4NTcxMGI4Ol8weDQ1OWMyN30pO30pKSwhMHgxKSwhKDB4MCxfMHg1MmM3ZTdbJ2FyZUFsbEN1cnJlbmNpZXNTYW1lJ10pKHsnb2ZmZXInOl8weDE0MDI2YywnY29uc2lkZXJhdGlvbic6XzB4OTNiMGV9KSl0aHJvdyBuZXcgRXJyb3IoXzB4MTMyMWMxKCcweDcyMicpKTtyZXR1cm4gXzB4ZTE5OGUzPV8weDM1MzlhMShfMHgzNTM5YTEoW10sXzB4MzU5YmNjKF8weDE0MDI2YyksITB4MSksXzB4MzU5YmNjKF8weDkzYjBlKSwhMHgxKVsnZmlsdGVyJ10oXzB4NTMzYTY1W18weDEzMjFjMSgnMHg4M2MnKV0pLF8weDQzNDFiMz0oMHgwLF8weDUyYzdlN1sndG90YWxJdGVtc0Ftb3VudCddKShfMHhlMTk4ZTMpLF8weDJlZDU3Mz10aGlzW18weDEzMjFjMSgnMHg2OGEnKV1bXzB4MTMyMWMxKCcweDRkYicpXVtfMHgzOGI0OGFdLF8weDRmOWFlYj10aGlzW18weDEzMjFjMSgnMHhhMzcnKV0oeydhbGxvd1BhcnRpYWxGaWxscyc6XzB4MTQ3MTRmLCdyZXN0cmljdGVkQnlab25lJzpfMHgzNGE3Njl9KSxfMHgzM2QzMGU9XzB4MzUzOWExKF8weDM1MzlhMShbXSxfMHgzNTliY2MoKDB4MCxfMHg1MmM3ZTdbXzB4MTMyMWMxKCcweGI2OCcpXSkoXzB4OTNiMGUsXzB4NGM0NmQzKSksITB4MSksXzB4MzU5YmNjKF8weGUxOThlM1tfMHgxMzIxYzEoJzB4NTIwJyldJiZudWxsIT09KF8weDU5MzFmNT1udWxsPT1fMHg0YzQ2ZDM/dm9pZCAweDA6XzB4NGM0NmQzWydtYXAnXShmdW5jdGlvbihfMHgyODRhMDEpe3ZhciBfMHgyNTQyNTQ9XzB4MTMyMWMxO3JldHVybigweDAsXzB4NTJjN2U3W18weDI1NDI1NCgnMHhhZTgnKV0pKHsnZmVlJzpfMHgyODRhMDEsJ3Rva2VuJzpfMHhlMTk4ZTNbMHgwXVsndG9rZW4nXSwnYmFzZUFtb3VudCc6XzB4NDM0MWIzW18weDI1NDI1NCgnMHhkMGMnKV0sJ2Jhc2VFbmRBbW91bnQnOl8weDQzNDFiM1tfMHgyNTQyNTQoJzB4M2FmJyldfSk7fSkpJiZ2b2lkIDB4MCE9PV8weDU5MzFmNT9fMHg1OTMxZjU6W10pLCEweDEpLF8weDQ3MGFhOD1fMHgyYTI0MDJ8fChfMHgyYzFlMmY/KDB4MCxfMHg1MmM3ZTdbJ2dlbmVyYXRlUmFuZG9tU2FsdFdpdGhEb21haW4nXSkoXzB4MmMxZTJmKTooMHgwLF8weDUyYzdlN1tfMHgxMzIxYzEoJzB4NjRkJyldKSgpKSxfMHgyYmMzMjQ9eydvZmZlcmVyJzpfMHg0NTljMjcsJ3pvbmUnOl8weDQ4YjBkMywnem9uZUhhc2gnOl8weDJlZmMyYVtfMHgxMzIxYzEoJzB4OWNlJyldW18weDEzMjFjMSgnMHhjNTknKV1bXzB4MTMyMWMxKCcweDIzZCcpXSwnc3RhcnRUaW1lJzpfMHg1YzViMjQsJ2VuZFRpbWUnOl8weDE1ZjQzYiwnb3JkZXJUeXBlJzpfMHg0ZjlhZWIsJ29mZmVyJzpfMHgxNDAyNmMsJ2NvbnNpZGVyYXRpb24nOl8weDMzZDMwZSwndG90YWxPcmlnaW5hbENvbnNpZGVyYXRpb25JdGVtcyc6XzB4MzNkMzBlW18weDEzMjFjMSgnMHg1MjAnKV0sJ3NhbHQnOl8weDQ3MGFhOCwnY29uZHVpdEtleSc6XzB4MzhiNDhhfSxudWxsPT1fMHg3YjI1NzQ/WzB4MywweDFdOihfMHgzZDRhMDc9XzB4N2IyNTc0LFsweDMsMHgzXSk7Y2FzZSAweDE6cmV0dXJuWzB4NCx0aGlzWydnZXRDb3VudGVyJ10oXzB4NDU5YzI3KV07Y2FzZSAweDI6XzB4M2Q0YTA3PV8weDUyNGJiYltfMHgxMzIxYzEoJzB4OTE0JyldKCksXzB4NTI0YmJiW18weDEzMjFjMSgnMHg5NWEnKV09MHgzO2Nhc2UgMHgzOnJldHVybiBfMHgyYmMzMjRbXzB4MTMyMWMxKCcweDQ5NicpXT1fMHgzZDRhMDdbXzB4MTMyMWMxKCcweDU0NycpXSgpLF8weDk3NzZhMT1fMHgyYmMzMjQsXzB4MzY3ODA5PVtdLHRoaXNbXzB4MTMyMWMxKCcweDY4YScpXVtfMHgxMzIxYzEoJzB4YWI0JyldP1sweDQsKDB4MCxfMHgyMGUyODBbJ2dldEJhbGFuY2VzQW5kQXBwcm92YWxzJ10pKHsnb3duZXInOl8weDQ1OWMyNywnaXRlbXMnOl8weDE0MDI2YywnY3JpdGVyaWFzJzpbXSwnbXVsdGljYWxsUHJvdmlkZXInOnRoaXNbXzB4MTMyMWMxKCcweDk5ZicpXSwnb3BlcmF0b3InOl8weDJlZDU3M30pXTpbMHgzLDB4Nl07Y2FzZSAweDQ6cmV0dXJuIF8weDViMTQzZT1fMHg1MjRiYmJbXzB4MTMyMWMxKCcweDkxNCcpXSgpLF8weDU5OTZlNj0oMHgwLF8weDIwZTI4MFtfMHgxMzIxYzEoJzB4YWVjJyldKSh7J29mZmVyJzpfMHgxNDAyNmMsJ2NyaXRlcmlhcyc6W10sJ2JhbGFuY2VzQW5kQXBwcm92YWxzJzpfMHg1YjE0M2UsJ3Rocm93T25JbnN1ZmZpY2llbnRCYWxhbmNlcyc6ITB4MCwnb3BlcmF0b3InOl8weDJlZDU3M30pLFsweDQsKDB4MCxfMHgxNGJlZWJbXzB4MTMyMWMxKCcweDcwYicpXSkoXzB4NTk5NmU2LF8weDM0NzA0YSxfMHgzNjRjMzgpXTtjYXNlIDB4NTpfMHgzZWRhMmM9XzB4NTI0YmJiW18weDEzMjFjMSgnMHg5MTQnKV0oKSxfMHgzNjc4MDlbXzB4MTMyMWMxKCcweDhiNycpXVtfMHgxMzIxYzEoJzB4NDQyJyldKF8weDM2NzgwOSxfMHgzNTM5YTEoW10sXzB4MzU5YmNjKF8weDNlZGEyYyksITB4MSkpLF8weDUyNGJiYltfMHgxMzIxYzEoJzB4OTVhJyldPTB4NjtjYXNlIDB4NjpyZXR1cm5bMHgyLHsnb3JkZXJDb21wb25lbnRzJzpfMHg5Nzc2YTEsJ2FwcHJvdmFsQWN0aW9ucyc6XzB4MzY3ODA5fV07fX0pO30pO30sXzB4MzJlNzllW18weDMxMjYwZSgnMHg3NTYnKV1bXzB4MzEyNjBlKCcweDg0YScpXT1mdW5jdGlvbihfMHg1NjcxNTApe3ZhciBfMHhjZmU3NWI9XzB4MzEyNjBlO2lmKHRoaXNbXzB4Y2ZlNzViKCcweGE3MScpXSlyZXR1cm4gdGhpc1snc2lnbmVyJ107aWYoISh0aGlzW18weGNmZTc1YignMHhkMzInKV1pbnN0YW5jZW9mIF8weDJlZmMyYVtfMHhjZmU3NWIoJzB4YjVjJyldW18weGNmZTc1YignMHg2ZWEnKV0pKXRocm93IG5ldyBFcnJvcihfMHhjZmU3NWIoJzB4NDVlJykpO3JldHVybiB0aGlzW18weGNmZTc1YignMHhkMzInKV1bXzB4Y2ZlNzViKCcweDhjMCcpXShfMHg1NjcxNTApO30sXzB4MzJlNzllW18weDMxMjYwZSgnMHg3NTYnKV1bXzB4MzEyNjBlKCcweGEzNycpXT1mdW5jdGlvbihfMHhkNzc4ZmEpe3ZhciBfMHhlMGU5OWQ9XzB4MzEyNjBlLF8weDZjZDNlND1fMHhkNzc4ZmFbJ2FsbG93UGFydGlhbEZpbGxzJ10sXzB4NTZkZGYyPV8weGQ3NzhmYVtfMHhlMGU5OWQoJzB4Y2RhJyldO3JldHVybiBfMHg2Y2QzZTQ/XzB4NTZkZGYyP18weDUzOWRiNFsnT3JkZXJUeXBlJ11bXzB4ZTBlOTlkKCcweDkyMScpXTpfMHg1MzlkYjRbXzB4ZTBlOTlkKCcweDFhNycpXVtfMHhlMGU5OWQoJzB4YWQzJyldOl8weDU2ZGRmMj9fMHg1MzlkYjRbXzB4ZTBlOTlkKCcweDFhNycpXVtfMHhlMGU5OWQoJzB4MjExJyldOl8weDUzOWRiNFtfMHhlMGU5OWQoJzB4MWE3JyldW18weGUwZTk5ZCgnMHg2YjAnKV07fSxfMHgzMmU3OWVbJ3Byb3RvdHlwZSddW18weDMxMjYwZSgnMHg5YWYnKV09ZnVuY3Rpb24oKXtyZXR1cm4gXzB4NTJjZjcyKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24oKXt2YXIgXzB4Mjk5YjhjO3JldHVybiBfMHgxMWYwNWUodGhpcyxmdW5jdGlvbihfMHgzNjJiYjUpe3ZhciBfMHg0MzgxMjQ9XzB4MTVhMztzd2l0Y2goXzB4MzYyYmI1W18weDQzODEyNCgnMHg5NWEnKV0pe2Nhc2UgMHgwOnJldHVyblsweDQsdGhpc1tfMHg0MzgxMjQoJzB4ZDMyJyldWydnZXROZXR3b3JrJ10oKV07Y2FzZSAweDE6cmV0dXJuIF8weDI5OWI4Yz1fMHgzNjJiYjVbJ3NlbnQnXSgpW18weDQzODEyNCgnMHgyNjInKV0sWzB4Mix7J25hbWUnOl8weDUzOWRiNFtfMHg0MzgxMjQoJzB4Njk4JyldLCd2ZXJzaW9uJzpfMHg0MzgxMjQoJzB4NjU0Jyk9PT10aGlzWydjb25maWcnXVsnc2VhcG9ydFZlcnNpb24nXT9fMHg1MzlkYjRbJ1NFQVBPUlRfQ09OVFJBQ1RfVkVSU0lPTl9WMV81J106XzB4NTM5ZGI0W18weDQzODEyNCgnMHg2NDInKV0sJ2NoYWluSWQnOl8weDI5OWI4YywndmVyaWZ5aW5nQ29udHJhY3QnOnRoaXNbJ2NvbnRyYWN0J11bXzB4NDM4MTI0KCcweDFkMScpXX1dO319KTt9KTt9LF8weDMyZTc5ZVsncHJvdG90eXBlJ11bJ19nZXRNZXNzYWdlVG9TaWduJ109ZnVuY3Rpb24oXzB4YTY0ZWI2KXtyZXR1cm4gXzB4NTJjZjcyKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24oKXt2YXIgXzB4MTdiNjVlO3JldHVybiBfMHgxMWYwNWUodGhpcyxmdW5jdGlvbihfMHgxYjFmMWYpe3ZhciBfMHgyOWRiYWU9XzB4MTVhMztzd2l0Y2goXzB4MWIxZjFmW18weDI5ZGJhZSgnMHg5NWEnKV0pe2Nhc2UgMHgwOnJldHVyblsweDQsdGhpc1snX2dldERvbWFpbkRhdGEnXSgpXTtjYXNlIDB4MTpyZXR1cm4gXzB4MTdiNjVlPV8weDFiMWYxZltfMHgyOWRiYWUoJzB4OTE0JyldKCksWzB4MixKU09OWydzdHJpbmdpZnknXShfMHg3MGNhZmVbXzB4MjlkYmFlKCcweGI1YScpXVsnZ2V0UGF5bG9hZCddKF8weDE3YjY1ZSxfMHg1MzlkYjRbXzB4MjlkYmFlKCcweDk5ZScpXSxfMHhhNjRlYjYpKV07fX0pO30pO30sXzB4MzJlNzllW18weDMxMjYwZSgnMHg3NTYnKV1bXzB4MzEyNjBlKCcweDc2NycpXT1mdW5jdGlvbihfMHg1OTZiZWEpe3JldHVybiBfMHg1MmNmNzIodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3ZhciBfMHg0OTdiYjEsXzB4ZjI2OGVhLF8weDhkZjgzYSxfMHgyMjExM2I7cmV0dXJuIF8weDExZjA1ZSh0aGlzLGZ1bmN0aW9uKF8weDEzMGY3NCl7dmFyIF8weDNkYzE3Yz1fMHgxNWEzO3N3aXRjaChfMHgxMzBmNzRbXzB4M2RjMTdjKCcweDk1YScpXSl7Y2FzZSAweDA6cmV0dXJuWzB4NCx0aGlzWydfZ2V0RG9tYWluRGF0YSddKCldO2Nhc2UgMHgxOnJldHVybiBfMHg0OTdiYjE9XzB4MTMwZjc0W18weDNkYzE3YygnMHg5MTQnKV0oKSxfMHhmMjY4ZWE9KDB4MCxfMHgyYjc3MjBbXzB4M2RjMTdjKCcweDQ1NScpXSkoXzB4NTk2YmVhKSxfMHg4ZGY4M2E9XzB4ZjI2OGVhW18weDNkYzE3YygnMHhiOTMnKV0sXzB4MjIxMTNiPV8weGYyNjhlYVsnZ2V0RGF0YVRvU2lnbiddKCksWzB4MixKU09OWydzdHJpbmdpZnknXShfMHg3MGNhZmVbXzB4M2RjMTdjKCcweGI1YScpXVsnZ2V0UGF5bG9hZCddKF8weDQ5N2JiMSxfMHg4ZGY4M2Eseyd0cmVlJzpfMHgyMjExM2J9KSldO319KTt9KTt9LF8weDMyZTc5ZVsncHJvdG90eXBlJ11bXzB4MzEyNjBlKCcweDIyYycpXT1mdW5jdGlvbihfMHg1ZWNiMjYsXzB4OGJkOTUwKXtyZXR1cm4gXzB4NTJjZjcyKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24oKXt2YXIgXzB4NGY0MzYzLF8weDUyMTExMSxfMHgxNzFlMjk7cmV0dXJuIF8weDExZjA1ZSh0aGlzLGZ1bmN0aW9uKF8weDM2M2ZlMSl7dmFyIF8weDI5YjMyZD1fMHgxNWEzO3N3aXRjaChfMHgzNjNmZTFbXzB4MjliMzJkKCcweDk1YScpXSl7Y2FzZSAweDA6cmV0dXJuIF8weDRmNDM2Mz10aGlzWydfZ2V0U2lnbmVyJ10oXzB4OGJkOTUwKSxbMHg0LHRoaXNbXzB4MjliMzJkKCcweDlhZicpXSgpXTtjYXNlIDB4MTpyZXR1cm4gXzB4NTIxMTExPV8weDM2M2ZlMVtfMHgyOWIzMmQoJzB4OTE0JyldKCksWzB4NCxfMHg0ZjQzNjNbXzB4MjliMzJkKCcweDgyNScpXShfMHg1MjExMTEsXzB4NTM5ZGI0W18weDI5YjMyZCgnMHg5OWUnKV0sXzB4NWVjYjI2KV07Y2FzZSAweDI6cmV0dXJuIF8weDE3MWUyOT1fMHgzNjNmZTFbXzB4MjliMzJkKCcweDkxNCcpXSgpLFsweDIsXzB4MmVmYzJhW18weDI5YjMyZCgnMHg5Y2UnKV1bXzB4MjliMzJkKCcweDk1NicpXVtfMHgyOWIzMmQoJzB4OWJjJyldKF8weDE3MWUyOSlbXzB4MjliMzJkKCcweGE4YycpXV07fX0pO30pO30sXzB4MzJlNzllWydwcm90b3R5cGUnXVsnc2lnbkJ1bGtPcmRlciddPWZ1bmN0aW9uKF8weDE5ZjNiYixfMHhkMzA4OTApe3JldHVybiBfMHg1MmNmNzIodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3ZhciBfMHgzYmFjOGUsXzB4NDdiMTE3LF8weDJiNWQ3MSxfMHgzMGE5MGYsXzB4NGU2NDEyLF8weGI2ZGIxMyxfMHg0ODlmYTQ7cmV0dXJuIF8weDExZjA1ZSh0aGlzLGZ1bmN0aW9uKF8weGZjMDU5Nyl7dmFyIF8weDQyN2I4Nz1fMHgxNWEzO3N3aXRjaChfMHhmYzA1OTdbXzB4NDI3Yjg3KCcweDk1YScpXSl7Y2FzZSAweDA6cmV0dXJuIF8weDNiYWM4ZT10aGlzWydfZ2V0U2lnbmVyJ10oXzB4ZDMwODkwKSxbMHg0LHRoaXNbXzB4NDI3Yjg3KCcweDlhZicpXSgpXTtjYXNlIDB4MTpyZXR1cm4gXzB4NDdiMTE3PV8weGZjMDU5N1tfMHg0MjdiODcoJzB4OTE0JyldKCksXzB4MmI1ZDcxPSgweDAsXzB4MmI3NzIwW18weDQyN2I4NygnMHg0NTUnKV0pKF8weDE5ZjNiYiksXzB4MzBhOTBmPV8weDJiNWQ3MVtfMHg0MjdiODcoJzB4YjkzJyldLF8weDRlNjQxMj1fMHgyYjVkNzFbJ2dldERhdGFUb1NpZ24nXSgpLF8weGI2ZGIxMz17J3RyZWUnOl8weDRlNjQxMn0sWzB4NCxfMHgzYmFjOGVbJ19zaWduVHlwZWREYXRhJ10oXzB4NDdiMTE3LF8weDMwYTkwZixfMHhiNmRiMTMpXTtjYXNlIDB4MjpyZXR1cm4gXzB4NDg5ZmE0PV8weGZjMDU5N1snc2VudCddKCksXzB4NDg5ZmE0PV8weDJlZmMyYVtfMHg0MjdiODcoJzB4OWNlJyldWyd1dGlscyddW18weDQyN2I4NygnMHg5YmMnKV0oXzB4NDg5ZmE0KVtfMHg0MjdiODcoJzB4YThjJyldLFsweDIsXzB4MTlmM2JiW18weDQyN2I4NygnMHgzYzknKV0oZnVuY3Rpb24oXzB4Mzg2NzEzLF8weDNlYWM5Nyl7dmFyIF8weDNmNGZjZD1fMHg0MjdiODc7cmV0dXJueydwYXJhbWV0ZXJzJzpfMHgzODY3MTMsJ3NpZ25hdHVyZSc6XzB4MmI1ZDcxW18weDNmNGZjZCgnMHg3MjgnKV0oXzB4M2VhYzk3LF8weDQ4OWZhNCl9O30pXTt9fSk7fSk7fSxfMHgzMmU3OWVbXzB4MzEyNjBlKCcweDc1NicpXVtfMHgzMTI2MGUoJzB4OTA0JyldPWZ1bmN0aW9uKF8weDNkMDk4YixfMHgyNTkxZGUsXzB4NWM0OTJmKXt2YXIgXzB4NWQ0MDdhPV8weDMxMjYwZSxfMHgxZjU5MGU9dGhpc1tfMHg1ZDQwN2EoJzB4ODRhJyldKF8weDI1OTFkZSk7cmV0dXJuKDB4MCxfMHgzODA4NDdbXzB4NWQ0MDdhKCcweDk4NCcpXSkodGhpc1tfMHg1ZDQwN2EoJzB4YjIxJyldWydjb25uZWN0J10oXzB4MWY1OTBlKSwnY2FuY2VsJyxbXzB4M2QwOThiXSxfMHg1YzQ5MmYpO30sXzB4MzJlNzllW18weDMxMjYwZSgnMHg3NTYnKV1bXzB4MzEyNjBlKCcweDgyMicpXT1mdW5jdGlvbihfMHgxODUxMTMsXzB4MjhiNjRiKXt2YXIgXzB4MjI3MmZkPV8weDMxMjYwZSxfMHg0ZTEzODY9dGhpc1tfMHgyMjcyZmQoJzB4ODRhJyldKF8weDE4NTExMyk7cmV0dXJuKDB4MCxfMHgzODA4NDdbXzB4MjI3MmZkKCcweDk4NCcpXSkodGhpc1snY29udHJhY3QnXVtfMHgyMjcyZmQoJzB4OTEwJyldKF8weDRlMTM4NiksJ2luY3JlbWVudENvdW50ZXInLFtdLF8weDI4YjY0Yik7fSxfMHgzMmU3OWVbXzB4MzEyNjBlKCcweDc1NicpXVtfMHgzMTI2MGUoJzB4MmVkJyldPWZ1bmN0aW9uKF8weDFkZGE2MCxfMHg0ZjFjOWEsXzB4MTE4MjM0KXt2YXIgXzB4NWU4ODkxPV8weDMxMjYwZSxfMHgxZDc5YTA9dGhpc1tfMHg1ZTg4OTEoJzB4ODRhJyldKF8weDRmMWM5YSk7cmV0dXJuKDB4MCxfMHgzODA4NDdbXzB4NWU4ODkxKCcweDk4NCcpXSkodGhpc1tfMHg1ZTg4OTEoJzB4YjIxJyldW18weDVlODg5MSgnMHg5MTAnKV0oXzB4MWQ3OWEwKSwndmFsaWRhdGUnLFtfMHgxZGRhNjBdLF8weDExODIzNCk7fSxfMHgzMmU3OWVbXzB4MzEyNjBlKCcweDc1NicpXVsnZ2V0T3JkZXJTdGF0dXMnXT1mdW5jdGlvbihfMHgzZjNkMTIpe3ZhciBfMHg0M2E4YTQ9XzB4MzEyNjBlO3JldHVybiB0aGlzWydjb250cmFjdCddW18weDQzYThhNCgnMHgzMjMnKV0oXzB4M2YzZDEyKTt9LF8weDMyZTc5ZVtfMHgzMTI2MGUoJzB4NzU2JyldW18weDMxMjYwZSgnMHgyYWMnKV09ZnVuY3Rpb24oXzB4NDkzZDBiKXt2YXIgXzB4ZjI3MGRkPV8weDMxMjYwZTtyZXR1cm4gdGhpc1tfMHhmMjcwZGQoJzB4YjIxJyldW18weGYyNzBkZCgnMHgyYWMnKV0oXzB4NDkzZDBiKTt9LF8weDMyZTc5ZVtfMHgzMTI2MGUoJzB4NzU2JyldW18weDMxMjYwZSgnMHhhYTEnKV09ZnVuY3Rpb24oXzB4MjIxNDg2KXt2YXIgXzB4NWRkN2UwPV8weDMxMjYwZSxfMHg0ZmE5OGY9XzB4MjIxNDg2W18weDVkZDdlMCgnMHg1YTcnKV0sXzB4MmJlZmU5PV8weDIyMTQ4NltfMHg1ZGQ3ZTAoJzB4MjEzJyldLF8weDIwNmZmOD1fMHgyMjE0ODZbXzB4NWRkN2UwKCcweDM1MScpXSxfMHgyYWI3OGM9dm9pZCAweDA9PT1fMHgyMDZmZjg/W106XzB4MjA2ZmY4LF8weDU2Y2JhND1fMHgyMjE0ODZbXzB4NWRkN2UwKCcweDc0ZicpXSxfMHgzZDU4OTU9dm9pZCAweDA9PT1fMHg1NmNiYTQ/W106XzB4NTZjYmE0LF8weDk0NzM3ZT1fMHgyMjE0ODZbXzB4NWRkN2UwKCcweDg1NCcpXSxfMHgzMzk0ZDM9dm9pZCAweDA9PT1fMHg5NDczN2U/W106XzB4OTQ3MzdlLF8weDM0ZWE3Mz1fMHgyMjE0ODZbXzB4NWRkN2UwKCcweDczYScpXSxfMHg1MTg2NDU9dm9pZCAweDA9PT1fMHgzNGVhNzM/JzB4JzpfMHgzNGVhNzMsXzB4NTQ1NmZhPV8weDIyMTQ4NltfMHg1ZGQ3ZTAoJzB4N2VkJyldLF8weDE2ODQwYj1fMHgyMjE0ODZbXzB4NWRkN2UwKCcweGQ1YicpXSxfMHg3NTcyNDc9dm9pZCAweDA9PT1fMHgxNjg0MGI/dGhpc1tfMHg1ZGQ3ZTAoJzB4OTBiJyldOl8weDE2ODQwYixfMHg0MjdiYTE9XzB4MjIxNDg2W18weDVkZDdlMCgnMHhjOTYnKV0sXzB4NGMyMGMzPXZvaWQgMHgwPT09XzB4NDI3YmExP18weDJlZmMyYVtfMHg1ZGQ3ZTAoJzB4OWNlJyldW18weDVkZDdlMCgnMHhjNTknKV1bXzB4NWRkN2UwKCcweDg4ZicpXTpfMHg0MjdiYTEsXzB4NTY3MTQzPV8weDIyMTQ4NltfMHg1ZGQ3ZTAoJzB4YWNkJyldLF8weDU5Zjg4MT12b2lkIDB4MD09PV8weDU2NzE0Mz8nJzpfMHg1NjcxNDMsXzB4ZTBlMGFjPV8weDIyMTQ4NlsnZXhhY3RBcHByb3ZhbCddLF8weDRjODM5ZT12b2lkIDB4MCE9PV8weGUwZTBhYyYmXzB4ZTBlMGFjO3JldHVybiBfMHg1MmNmNzIodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3ZhciBfMHgzYWI5YTcsXzB4NGM3ZDRkLF8weDEwZWNhNixfMHg0OTM0NjksXzB4MTM1ZDE5LF8weDEzYTE0MyxfMHgzOWRmY2QsXzB4ZWMyOGYxLF8weDJiNjE1ZSxfMHg3MDdlNjgsXzB4ZDk1Y2RmLF8weDVjYmJmZixfMHgxMTI2Y2EsXzB4M2UzMmEyLF8weDEwMzRjNyxfMHgzZjI1OTcsXzB4MTdhYjJjLF8weDI3YjA5NSxfMHg0MDkyNTgsXzB4NWVhNjdiO3JldHVybiBfMHgxMWYwNWUodGhpcyxmdW5jdGlvbihfMHgzNGU4Nzgpe3ZhciBfMHgxNGE3YzQ9XzB4MTVhMztzd2l0Y2goXzB4MzRlODc4W18weDE0YTdjNCgnMHg5NWEnKV0pe2Nhc2UgMHgwOnJldHVybiBfMHgzYWI5YTc9XzB4NGZhOThmW18weDE0YTdjNCgnMHhkNGEnKV0sXzB4NGM3ZDRkPV8weDNhYjlhN1tfMHgxNGE3YzQoJzB4NTliJyldLF8weDEwZWNhNj1fMHgzYWI5YTdbXzB4MTRhN2M0KCcweDkzOScpXSxfMHg0OTM0Njk9XzB4M2FiOWE3Wydjb25zaWRlcmF0aW9uJ10sWzB4NCwoXzB4MTM1ZDE5PXRoaXNbXzB4MTRhN2M0KCcweDg0YScpXShfMHg1NDU2ZmEpKVtfMHgxNGE3YzQoJzB4M2RmJyldKCldO2Nhc2UgMHgxOnJldHVybiBfMHgxM2ExNDM9XzB4MzRlODc4W18weDE0YTdjNCgnMHg5MTQnKV0oKSxfMHgzOWRmY2Q9dGhpc1tfMHgxNGE3YzQoJzB4NjhhJyldW18weDE0YTdjNCgnMHg0ZGInKV1bXzB4M2FiOWE3W18weDE0YTdjNCgnMHhkNWInKV1dLF8weGVjMjhmMT10aGlzW18weDE0YTdjNCgnMHg2OGEnKV1bJ2NvbmR1aXRLZXlUb0NvbmR1aXQnXVtfMHg3NTcyNDddLFsweDQsUHJvbWlzZVsnYWxsJ10oWygweDAsXzB4MjBlMjgwW18weDE0YTdjNCgnMHhjMGMnKV0pKHsnb3duZXInOl8weDRjN2Q0ZCwnaXRlbXMnOl8weDEwZWNhNiwnY3JpdGVyaWFzJzpfMHgyYWI3OGMsJ211bHRpY2FsbFByb3ZpZGVyJzp0aGlzWydtdWx0aWNhbGxQcm92aWRlciddLCdvcGVyYXRvcic6XzB4MzlkZmNkfSksKDB4MCxfMHgyMGUyODBbXzB4MTRhN2M0KCcweGMwYycpXSkoeydvd25lcic6XzB4MTNhMTQzLCdpdGVtcyc6XzB4MzUzOWExKF8weDM1MzlhMShbXSxfMHgzNTliY2MoXzB4MTBlY2E2KSwhMHgxKSxfMHgzNTliY2MoXzB4NDkzNDY5KSwhMHgxKSwnY3JpdGVyaWFzJzpfMHgzNTM5YTEoXzB4MzUzOWExKFtdLF8weDM1OWJjYyhfMHgyYWI3OGMpLCEweDEpLF8weDM1OWJjYyhfMHgzZDU4OTUpLCEweDEpLCdtdWx0aWNhbGxQcm92aWRlcic6dGhpc1tfMHgxNGE3YzQoJzB4OTlmJyldLCdvcGVyYXRvcic6XzB4ZWMyOGYxfSksdGhpc1tfMHgxNGE3YzQoJzB4OTlmJyldW18weDE0YTdjNCgnMHg4YzUnKV0oJ2xhdGVzdCcpLHRoaXNbJ2dldE9yZGVyU3RhdHVzJ10odGhpc1tfMHgxNGE3YzQoJzB4M2FhJyldKF8weDNhYjlhNykpXSldO2Nhc2UgMHgyOnJldHVybiBfMHgyYjYxNWU9XzB4MzU5YmNjW18weDE0YTdjNCgnMHg0NDInKV0odm9pZCAweDAsW18weDM0ZTg3OFtfMHgxNGE3YzQoJzB4OTE0JyldKCksMHg0XSksXzB4NzA3ZTY4PV8weDJiNjE1ZVsweDBdLF8weGQ5NWNkZj1fMHgyYjYxNWVbMHgxXSxfMHg1Y2JiZmY9XzB4MmI2MTVlWzB4Ml0sXzB4MTEyNmNhPV8weDJiNjE1ZVsweDNdLF8weDNlMzJhMj1fMHg1Y2JiZmZbXzB4MTRhN2M0KCcweGQ1NCcpXSxfMHgxMDM0Yzc9XzB4MTEyNmNhW18weDE0YTdjNCgnMHhiYzInKV0sXzB4M2YyNTk3PV8weDExMjZjYVtfMHgxNGE3YzQoJzB4NWRiJyldLF8weDE3YWIyYz0oMHgwLF8weDU2OTgzNVtfMHgxNGE3YzQoJzB4ODUxJyldKShfMHg0ZmE5OGYsXzB4MTEyNmNhKSxfMHgyN2IwOTU9eydzdGFydFRpbWUnOl8weDE3YWIyY1tfMHgxNGE3YzQoJzB4ZDRhJyldW18weDE0YTdjNCgnMHgxYzEnKV0sJ2VuZFRpbWUnOl8weDE3YWIyY1tfMHgxNGE3YzQoJzB4ZDRhJyldW18weDE0YTdjNCgnMHg2YzcnKV0sJ2N1cnJlbnRCbG9ja1RpbWVzdGFtcCc6XzB4M2UzMmEyLCdhc2NlbmRpbmdBbW91bnRUaW1lc3RhbXBCdWZmZXInOnRoaXNbXzB4MTRhN2M0KCcweDY4YScpXVtfMHgxNGE3YzQoJzB4Y2M3JyldfSxfMHg0MDkyNTg9XzB4MzM5NGQzWydtYXAnXShmdW5jdGlvbihfMHgxYjIwYTcpe3ZhciBfMHg0MmJmZTY9XzB4MTRhN2M0O3JldHVybiBfMHg1NjYzYjIoXzB4NTY2M2IyKHt9LCgweDAsXzB4NTJjN2U3WydtYXBJbnB1dEl0ZW1Ub09mZmVySXRlbSddKShfMHgxYjIwYTcpKSx7J3JlY2lwaWVudCc6XzB4MWIyMGE3W18weDQyYmZlNignMHgzNDEnKV19KTt9KSxfMHg1ZWE2N2I9XzB4NGMyMGMzPT09XzB4MmVmYzJhWydldGhlcnMnXVtfMHgxNGE3YzQoJzB4YzU5JyldW18weDE0YTdjNCgnMHg4OGYnKV0sIV8weDJiZWZlOSYmXzB4NWVhNjdiJiYoMHgwLF8weDU2OTgzNVtfMHgxNGE3YzQoJzB4Njg2JyldKShfMHgxN2FiMmNbXzB4MTRhN2M0KCcweGQ0YScpXSxfMHgxMDM0YzcpP1sweDIsKDB4MCxfMHg1Njk4MzVbXzB4MTRhN2M0KCcweDk2YScpXSkoeydvcmRlcic6XzB4MTdhYjJjLCdzZWFwb3J0Q29udHJhY3QnOnRoaXNbXzB4MTRhN2M0KCcweGIyMScpXSwnb2ZmZXJlckJhbGFuY2VzQW5kQXBwcm92YWxzJzpfMHg3MDdlNjgsJ2Z1bGZpbGxlckJhbGFuY2VzQW5kQXBwcm92YWxzJzpfMHhkOTVjZGYsJ3RpbWVCYXNlZEl0ZW1QYXJhbXMnOl8weDI3YjA5NSwnY29uZHVpdEtleSc6XzB4NzU3MjQ3LCdvZmZlcmVyT3BlcmF0b3InOl8weDM5ZGZjZCwnZnVsZmlsbGVyT3BlcmF0b3InOl8weGVjMjhmMSwnc2lnbmVyJzpfMHgxMzVkMTksJ3RpcHMnOl8weDQwOTI1OCwnZG9tYWluJzpfMHg1OWY4ODF9LF8weDRjODM5ZSldOlsweDIsKDB4MCxfMHg1Njk4MzVbJ2Z1bGZpbGxTdGFuZGFyZE9yZGVyJ10pKHsnb3JkZXInOl8weDE3YWIyYywndW5pdHNUb0ZpbGwnOl8weDJiZWZlOSwndG90YWxGaWxsZWQnOl8weDEwMzRjNywndG90YWxTaXplJzpfMHgzZjI1OTdbJ2VxJ10oMHgwKT8oMHgwLF8weDUzM2E2NVtfMHgxNGE3YzQoJzB4MzRiJyldKShfMHgxN2FiMmMpOl8weDNmMjU5Nywnb2ZmZXJDcml0ZXJpYSc6XzB4MmFiNzhjLCdjb25zaWRlcmF0aW9uQ3JpdGVyaWEnOl8weDNkNTg5NSwndGlwcyc6XzB4NDA5MjU4LCdleHRyYURhdGEnOl8weDUxODY0NSwnc2VhcG9ydENvbnRyYWN0Jzp0aGlzW18weDE0YTdjNCgnMHhiMjEnKV0sJ29mZmVyZXJCYWxhbmNlc0FuZEFwcHJvdmFscyc6XzB4NzA3ZTY4LCdmdWxmaWxsZXJCYWxhbmNlc0FuZEFwcHJvdmFscyc6XzB4ZDk1Y2RmLCd0aW1lQmFzZWRJdGVtUGFyYW1zJzpfMHgyN2IwOTUsJ2NvbmR1aXRLZXknOl8weDc1NzI0Nywnc2lnbmVyJzpfMHgxMzVkMTksJ29mZmVyZXJPcGVyYXRvcic6XzB4MzlkZmNkLCdmdWxmaWxsZXJPcGVyYXRvcic6XzB4ZWMyOGYxLCdyZWNpcGllbnRBZGRyZXNzJzpfMHg0YzIwYzMsJ2RvbWFpbic6XzB4NTlmODgxfSxfMHg0YzgzOWUpXTt9fSk7fSk7fSxfMHgzMmU3OWVbXzB4MzEyNjBlKCcweDc1NicpXVsnZnVsZmlsbE9yZGVycyddPWZ1bmN0aW9uKF8weDVkODA5Yyl7dmFyIF8weDVhY2E0NT1fMHgzMTI2MGUsXzB4MmRiMjU0PV8weDVkODA5Y1tfMHg1YWNhNDUoJzB4NjUwJyldLF8weDU1MDQzMD1fMHg1ZDgwOWNbXzB4NWFjYTQ1KCcweDdlZCcpXSxfMHg3MWFjMDY9XzB4NWQ4MDljW18weDVhY2E0NSgnMHhkNWInKV0sXzB4Mjg1YmE3PXZvaWQgMHgwPT09XzB4NzFhYzA2P3RoaXNbXzB4NWFjYTQ1KCcweDkwYicpXTpfMHg3MWFjMDYsXzB4NDk0NDViPV8weDVkODA5Y1tfMHg1YWNhNDUoJzB4Yzk2JyldLF8weDIxODU2YT12b2lkIDB4MD09PV8weDQ5NDQ1Yj9fMHgyZWZjMmFbXzB4NWFjYTQ1KCcweDljZScpXVtfMHg1YWNhNDUoJzB4YzU5JyldW18weDVhY2E0NSgnMHg4OGYnKV06XzB4NDk0NDViLF8weDIwNTE4NT1fMHg1ZDgwOWNbXzB4NWFjYTQ1KCcweGFjZCcpXSxfMHgxMjE1NTk9dm9pZCAweDA9PT1fMHgyMDUxODU/Jyc6XzB4MjA1MTg1LF8weDRmNTUwOD1fMHg1ZDgwOWNbXzB4NWFjYTQ1KCcweGExMycpXSxfMHg3NGFiYzY9dm9pZCAweDAhPT1fMHg0ZjU1MDgmJl8weDRmNTUwODtyZXR1cm4gXzB4NTJjZjcyKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24oKXt2YXIgXzB4M2Y3NDAxLF8weDNlNjcyMixfMHgzN2MxMjEsXzB4MWNmN2E2LF8weDVlMmNlNyxfMHgxZmQxNGEsXzB4MzFhYmM5LF8weDIyYjAwNSxfMHg5M2ZjOGQsXzB4NTEwMGI5LF8weDJiNWM3LF8weDE1OWQ5NCxfMHg1MDEwMzgsXzB4MTA3MzM3LF8weGYzZDIwNT10aGlzO3JldHVybiBfMHgxMWYwNWUodGhpcyxmdW5jdGlvbihfMHg1NTI2ZDUpe3ZhciBfMHgxNWZhNjM9XzB4MTVhMztzd2l0Y2goXzB4NTUyNmQ1W18weDE1ZmE2MygnMHg5NWEnKV0pe2Nhc2UgMHgwOnJldHVyblsweDQsKF8weDNmNzQwMT10aGlzW18weDE1ZmE2MygnMHg4NGEnKV0oXzB4NTUwNDMwKSlbXzB4MTVmYTYzKCcweDNkZicpXSgpXTtjYXNlIDB4MTpyZXR1cm4gXzB4M2U2NzIyPV8weDU1MjZkNVsnc2VudCddKCksXzB4MzdjMTIxPV8weDJkYjI1NFtfMHgxNWZhNjMoJzB4M2M5JyldKGZ1bmN0aW9uKF8weDNkNWVjMCl7dmFyIF8weDEzMzZiZj1fMHgxNWZhNjMsXzB4NTJlZjFkPV8weDNkNWVjMFsnb3JkZXInXTtyZXR1cm4gXzB4ZjNkMjA1W18weDEzMzZiZignMHg2OGEnKV1bJ2NvbmR1aXRLZXlUb0NvbmR1aXQnXVtfMHg1MmVmMWRbXzB4MTMzNmJmKCcweGQ0YScpXVsnY29uZHVpdEtleSddXTt9KSxfMHgxY2Y3YTY9dGhpc1tfMHgxNWZhNjMoJzB4NjhhJyldWydjb25kdWl0S2V5VG9Db25kdWl0J11bXzB4Mjg1YmE3XSxfMHg1ZTJjZTc9XzB4MmRiMjU0WydmbGF0TWFwJ10oZnVuY3Rpb24oXzB4MTJlZDU3KXt2YXIgXzB4NTE4MTU2PV8weDE1ZmE2MztyZXR1cm4gXzB4MTJlZDU3WydvcmRlciddW18weDUxODE1NignMHhkNGEnKV1bXzB4NTE4MTU2KCcweDkzOScpXTt9KSxfMHgxZmQxNGE9XzB4MmRiMjU0W18weDE1ZmE2MygnMHg1ODMnKV0oZnVuY3Rpb24oXzB4MjdjYjNjKXt2YXIgXzB4Mjc2NTNlPV8weDE1ZmE2MztyZXR1cm4gXzB4MjdjYjNjW18weDI3NjUzZSgnMHg1YTcnKV1bXzB4Mjc2NTNlKCcweGQ0YScpXVtfMHgyNzY1M2UoJzB4M2EyJyldO30pLF8weDMxYWJjOT1fMHgyZGIyNTRbXzB4MTVmYTYzKCcweDU4MycpXShmdW5jdGlvbihfMHg1NWQwNjEpe3ZhciBfMHg1NWRkZTA9XzB4MTVmYTYzLF8weDE4ZGIwOT1fMHg1NWQwNjFbXzB4NTVkZGUwKCcweDM1MScpXTtyZXR1cm4gdm9pZCAweDA9PT1fMHgxOGRiMDk/W106XzB4MThkYjA5O30pLF8weDIyYjAwNT1fMHgyZGIyNTRbJ2ZsYXRNYXAnXShmdW5jdGlvbihfMHgyMDAxM2Epe3ZhciBfMHgxODExN2Y9XzB4MTVmYTYzLF8weDg1NTI3ZT1fMHgyMDAxM2FbXzB4MTgxMTdmKCcweDc0ZicpXTtyZXR1cm4gdm9pZCAweDA9PT1fMHg4NTUyN2U/W106XzB4ODU1MjdlO30pLFsweDQsUHJvbWlzZVtfMHgxNWZhNjMoJzB4NDA1JyldKFtQcm9taXNlW18weDE1ZmE2MygnMHg0MDUnKV0oXzB4MmRiMjU0WydtYXAnXShmdW5jdGlvbihfMHgyOTA3MGEsXzB4YTAzOTI2KXt2YXIgXzB4MjU3MWZhPV8weDE1ZmE2MyxfMHgxYmFkNjc9XzB4MjkwNzBhW18weDI1NzFmYSgnMHg1YTcnKV0sXzB4NGUwYmYzPV8weDI5MDcwYVtfMHgyNTcxZmEoJzB4MzUxJyldLF8weDIwMjZjNj12b2lkIDB4MD09PV8weDRlMGJmMz9bXTpfMHg0ZTBiZjM7cmV0dXJuKDB4MCxfMHgyMGUyODBbXzB4MjU3MWZhKCcweGMwYycpXSkoeydvd25lcic6XzB4MWJhZDY3W18weDI1NzFmYSgnMHhkNGEnKV1bXzB4MjU3MWZhKCcweDU5YicpXSwnaXRlbXMnOl8weDFiYWQ2N1tfMHgyNTcxZmEoJzB4ZDRhJyldW18weDI1NzFmYSgnMHg5MzknKV0sJ2NyaXRlcmlhcyc6XzB4MjAyNmM2LCdvcGVyYXRvcic6XzB4MzdjMTIxW18weGEwMzkyNl0sJ211bHRpY2FsbFByb3ZpZGVyJzpfMHhmM2QyMDVbXzB4MjU3MWZhKCcweDk5ZicpXX0pO30pKSwoMHgwLF8weDIwZTI4MFtfMHgxNWZhNjMoJzB4YzBjJyldKSh7J293bmVyJzpfMHgzZTY3MjIsJ2l0ZW1zJzpfMHgzNTM5YTEoXzB4MzUzOWExKFtdLF8weDM1OWJjYyhfMHg1ZTJjZTcpLCEweDEpLF8weDM1OWJjYyhfMHgxZmQxNGEpLCEweDEpLCdjcml0ZXJpYXMnOl8weDM1MzlhMShfMHgzNTM5YTEoW10sXzB4MzU5YmNjKF8weDMxYWJjOSksITB4MSksXzB4MzU5YmNjKF8weDIyYjAwNSksITB4MSksJ29wZXJhdG9yJzpfMHgxY2Y3YTYsJ211bHRpY2FsbFByb3ZpZGVyJzp0aGlzW18weDE1ZmE2MygnMHg5OWYnKV19KSx0aGlzW18weDE1ZmE2MygnMHg5OWYnKV1bXzB4MTVmYTYzKCcweDhjNScpXSgnbGF0ZXN0JyksUHJvbWlzZVsnYWxsJ10oXzB4MmRiMjU0WydtYXAnXShmdW5jdGlvbihfMHg1OTY2MTEpe3ZhciBfMHg0ZTA3N2E9XzB4MTVmYTYzLF8weDEwYTU4Mj1fMHg1OTY2MTFbXzB4NGUwNzdhKCcweDVhNycpXTtyZXR1cm4gXzB4ZjNkMjA1WydnZXRPcmRlclN0YXR1cyddKF8weGYzZDIwNVtfMHg0ZTA3N2EoJzB4M2FhJyldKF8weDEwYTU4MltfMHg0ZTA3N2EoJzB4ZDRhJyldKSk7fSkpXSldO2Nhc2UgMHgyOnJldHVybiBfMHg5M2ZjOGQ9XzB4MzU5YmNjWydhcHBseSddKHZvaWQgMHgwLFtfMHg1NTI2ZDVbJ3NlbnQnXSgpLDB4NF0pLF8weDUxMDBiOT1fMHg5M2ZjOGRbMHgwXSxfMHgyYjVjNz1fMHg5M2ZjOGRbMHgxXSxfMHgxNTlkOTQ9XzB4OTNmYzhkWzB4Ml0sXzB4NTAxMDM4PV8weDkzZmM4ZFsweDNdLF8weDEwNzMzNz1fMHgyZGIyNTRbXzB4MTVmYTYzKCcweDNjOScpXShmdW5jdGlvbihfMHgyZDg1NmEsXzB4MTcxYjA0KXt2YXIgXzB4NmZlMTkzPV8weDE1ZmE2MyxfMHgyYWVmZWQsXzB4NTI0YTdkLF8weDE0MzZmMyxfMHg1ODkzMjMsXzB4MWE2OGE5O3JldHVybnsnb3JkZXInOl8weDJkODU2YVtfMHg2ZmUxOTMoJzB4NWE3JyldLCd1bml0c1RvRmlsbCc6XzB4MmQ4NTZhW18weDZmZTE5MygnMHgyMTMnKV0sJ29yZGVyU3RhdHVzJzpfMHg1MDEwMzhbXzB4MTcxYjA0XSwnb2ZmZXJDcml0ZXJpYSc6bnVsbCE9PShfMHgyYWVmZWQ9XzB4MmQ4NTZhW18weDZmZTE5MygnMHgzNTEnKV0pJiZ2b2lkIDB4MCE9PV8weDJhZWZlZD9fMHgyYWVmZWQ6W10sJ2NvbnNpZGVyYXRpb25Dcml0ZXJpYSc6bnVsbCE9PShfMHg1MjRhN2Q9XzB4MmQ4NTZhW18weDZmZTE5MygnMHg3NGYnKV0pJiZ2b2lkIDB4MCE9PV8weDUyNGE3ZD9fMHg1MjRhN2Q6W10sJ3RpcHMnOm51bGwhPT0oXzB4NTg5MzIzPW51bGw9PT0oXzB4MTQzNmYzPV8weDJkODU2YVtfMHg2ZmUxOTMoJzB4ODU0JyldKXx8dm9pZCAweDA9PT1fMHgxNDM2ZjM/dm9pZCAweDA6XzB4MTQzNmYzWydtYXAnXShmdW5jdGlvbihfMHgzMjYzNjMpe3ZhciBfMHgxOGJkMzM9XzB4NmZlMTkzO3JldHVybiBfMHg1NjYzYjIoXzB4NTY2M2IyKHt9LCgweDAsXzB4NTJjN2U3W18weDE4YmQzMygnMHgyYWInKV0pKF8weDMyNjM2MykpLHsncmVjaXBpZW50JzpfMHgzMjYzNjNbXzB4MThiZDMzKCcweDM0MScpXX0pO30pKSYmdm9pZCAweDAhPT1fMHg1ODkzMjM/XzB4NTg5MzIzOltdLCdleHRyYURhdGEnOm51bGwhPT0oXzB4MWE2OGE5PV8weDJkODU2YVtfMHg2ZmUxOTMoJzB4NzNhJyldKSYmdm9pZCAweDAhPT1fMHgxYTY4YTk/XzB4MWE2OGE5OicweCcsJ29mZmVyZXJCYWxhbmNlc0FuZEFwcHJvdmFscyc6XzB4NTEwMGI5W18weDE3MWIwNF0sJ29mZmVyZXJPcGVyYXRvcic6XzB4MzdjMTIxW18weDE3MWIwNF19O30pLFsweDIsKDB4MCxfMHg1Njk4MzVbXzB4MTVmYTYzKCcweGFmMycpXSkoeydvcmRlcnNNZXRhZGF0YSc6XzB4MTA3MzM3LCdzZWFwb3J0Q29udHJhY3QnOnRoaXNbXzB4MTVmYTYzKCcweGIyMScpXSwnZnVsZmlsbGVyQmFsYW5jZXNBbmRBcHByb3ZhbHMnOl8weDJiNWM3LCdjdXJyZW50QmxvY2tUaW1lc3RhbXAnOl8weDE1OWQ5NFtfMHgxNWZhNjMoJzB4ZDU0JyldLCdhc2NlbmRpbmdBbW91bnRUaW1lc3RhbXBCdWZmZXInOnRoaXNbJ2NvbmZpZyddW18weDE1ZmE2MygnMHhjYzcnKV0sJ2Z1bGZpbGxlck9wZXJhdG9yJzpfMHgxY2Y3YTYsJ3NpZ25lcic6XzB4M2Y3NDAxLCdjb25kdWl0S2V5JzpfMHgyODViYTcsJ3JlY2lwaWVudEFkZHJlc3MnOl8weDIxODU2YSwnZG9tYWluJzpfMHgxMjE1NTksJ2V4YWN0QXBwcm92YWwnOl8weDc0YWJjNn0pXTt9fSk7fSk7fSxfMHgzMmU3OWVbXzB4MzEyNjBlKCcweDc1NicpXVtfMHgzMTI2MGUoJzB4OWY0JyldPWZ1bmN0aW9uKF8weDIyMzZiNyl7dmFyIF8weDMyMWU1Zj1fMHgzMTI2MGUsXzB4OTVkZDU3PV8weDIyMzZiN1tfMHgzMjFlNWYoJzB4Y2YzJyldLF8weDMxMDk1Nz1fMHgyMjM2YjdbXzB4MzIxZTVmKCcweDFlMCcpXSxfMHg0NDk5YTM9XzB4MjIzNmI3W18weDMyMWU1ZignMHg0NWMnKV0sXzB4NDM4OWIzPV8weDIyMzZiN1tfMHgzMjFlNWYoJzB4N2VkJyldLF8weDE5NjUyZD1fMHgyMjM2YjdbXzB4MzIxZTVmKCcweGFjZCcpXSxfMHg3OWNiYzc9dm9pZCAweDA9PT1fMHgxOTY1MmQ/Jyc6XzB4MTk2NTJkLF8weDFlZDE0Nj10aGlzW18weDMyMWU1ZignMHg4NGEnKV0oXzB4NDM4OWIzKTtyZXR1cm4oMHgwLF8weDM4MDg0N1tfMHgzMjFlNWYoJzB4OTg0JyldKSh0aGlzW18weDMyMWU1ZignMHhiMjEnKV1bXzB4MzIxZTVmKCcweDkxMCcpXShfMHgxZWQxNDYpLCdtYXRjaE9yZGVycycsW18weDk1ZGQ1NyxfMHgzMTA5NTcsXzB4NDQ5OWEzXSxfMHg3OWNiYzcpO30sXzB4MzJlNzllW18weDMxMjYwZSgnMHg3NTYnKV1bJ3NldERvbWFpbiddPWZ1bmN0aW9uKF8weDc1MGE5MSxfMHgyM2MyODApe3ZhciBfMHg1YmJjMzk9XzB4MzEyNjBlLF8weDE2MDFjNz10aGlzW18weDViYmMzOSgnMHg4NGEnKV0oXzB4MjNjMjgwKTtyZXR1cm4oMHgwLF8weDM4MDg0N1snZ2V0VHJhbnNhY3Rpb25NZXRob2RzJ10pKHRoaXNbXzB4NWJiYzM5KCcweDVmNycpXVtfMHg1YmJjMzkoJzB4OTEwJyldKF8weDE2MDFjNyksXzB4NWJiYzM5KCcweGIxYScpLFtfMHg3NTBhOTFdKTt9LF8weDMyZTc5ZVsncHJvdG90eXBlJ11bXzB4MzEyNjBlKCcweDQwZicpXT1mdW5jdGlvbihfMHg0MjA5NTUpe3JldHVybiBfMHg1MmNmNzIodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3JldHVybiBfMHgxMWYwNWUodGhpcyxmdW5jdGlvbihfMHgzODU0NzIpe3ZhciBfMHgxZTdjMGU9XzB4MTVhMztyZXR1cm5bMHgyLHRoaXNbJ2RvbWFpblJlZ2lzdHJ5J11bXzB4MWU3YzBlKCcweDQwZicpXShfMHg0MjA5NTUpXTt9KTt9KTt9LF8weDMyZTc5ZVtfMHgzMTI2MGUoJzB4NzU2JyldWydnZXREb21haW4nXT1mdW5jdGlvbihfMHg0MzMzZjQsXzB4NTIxMGY2KXt2YXIgXzB4N2I5YzFmPV8weDMxMjYwZTtyZXR1cm4gdGhpc1tfMHg3YjljMWYoJzB4NWY3JyldW18weDdiOWMxZignMHhiZGUnKV0oXzB4NDMzM2Y0LF8weDUyMTBmNik7fSxfMHgzMmU3OWVbXzB4MzEyNjBlKCcweDc1NicpXVtfMHgzMTI2MGUoJzB4NDkyJyldPWZ1bmN0aW9uKF8weDVhMGM4OSxfMHgzNjBmYWMpe3JldHVybiBfMHg1MmNmNzIodGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3ZhciBfMHgzZTY0OTMsXzB4NDJiMjMwPXRoaXM7cmV0dXJuIF8weDExZjA1ZSh0aGlzLGZ1bmN0aW9uKF8weDRlYjJkMSl7dmFyIF8weDU1ZjJjOT1fMHgxNWEzO3N3aXRjaChfMHg0ZWIyZDFbXzB4NTVmMmM5KCcweDk1YScpXSl7Y2FzZSAweDA6aWYoXzB4NGViMmQxW18weDU1ZjJjOSgnMHg5ZDcnKV1bJ3B1c2gnXShbMHgwLDB4MSwsMHgzXSksXzB4MzYwZmFjKXRocm93IEVycm9yO3JldHVyblsweDIsdGhpc1tfMHg1NWYyYzkoJzB4NWY3JyldW18weDU1ZjJjOSgnMHg0OTInKV0oXzB4NWEwYzg5KV07Y2FzZSAweDE6cmV0dXJuIF8weDRlYjJkMVtfMHg1NWYyYzkoJzB4OTE0JyldKCksWzB4NCx0aGlzW18weDU1ZjJjOSgnMHg1ZjcnKV1bXzB4NTVmMmM5KCcweDQwZicpXShfMHg1YTBjODkpXTtjYXNlIDB4MjpyZXR1cm4gXzB4M2U2NDkzPV8weDRlYjJkMVtfMHg1NWYyYzkoJzB4OTE0JyldKClbXzB4NTVmMmM5KCcweDk0MScpXSgpLFsweDIsUHJvbWlzZVtfMHg1NWYyYzkoJzB4NDA1JyldKF8weDM1MzlhMShbXSxfMHgzNTliY2MoQXJyYXkoXzB4M2U2NDkzKVtfMHg1NWYyYzkoJzB4NjM2JyldKCkpLCEweDEpW18weDU1ZjJjOSgnMHgzYzknKV0oZnVuY3Rpb24oXzB4MWU3YzI4KXt2YXIgXzB4NTJkYjRlPV8weDU1ZjJjOTtyZXR1cm4gXzB4NDJiMjMwWydkb21haW5SZWdpc3RyeSddW18weDUyZGI0ZSgnMHhiZGUnKV0oXzB4NWEwYzg5LF8weDFlN2MyOCk7fSkpXTtjYXNlIDB4MzpyZXR1cm5bMHgyXTt9fSk7fSk7fSxfMHgzMmU3OWU7fSgpKTtfMHgxM2FkYzJbXzB4NGE4NTI0KCcweGQ1OScpXT1fMHg0MmVkMjk7fSwweDIxMTc6ZnVuY3Rpb24oXzB4NDg1ZjUyLF8weDdjNGQyZSxfMHgxZGQ0MzYpeyd1c2Ugc3RyaWN0Jzt2YXIgXzB4M2Y5ZjY3PV8weDE1YTM7dmFyIF8weDU3ZGM0OT10aGlzJiZ0aGlzW18weDNmOWY2NygnMHg4OTUnKV18fGZ1bmN0aW9uKF8weDQ4MmYzMixfMHg1MjgzYjMsXzB4MTZhNDhjLF8weDE5ZjAzMil7cmV0dXJuIG5ldyhfMHgxNmE0OGN8fChfMHgxNmE0OGM9UHJvbWlzZSkpKGZ1bmN0aW9uKF8weDRmMDdkOCxfMHgyYjMwNGEpe3ZhciBfMHgzYTgwN2U9XzB4MTVhMztmdW5jdGlvbiBfMHgyMmNmMTUoXzB4MzRlMWZiKXt2YXIgXzB4NDcwNDkzPV8weDE1YTM7dHJ5e18weDQ3ZGFkYihfMHgxOWYwMzJbXzB4NDcwNDkzKCcweDc0MCcpXShfMHgzNGUxZmIpKTt9Y2F0Y2goXzB4MWM0MWEyKXtfMHgyYjMwNGEoXzB4MWM0MWEyKTt9fWZ1bmN0aW9uIF8weDU3Y2ZkNihfMHgzNTk5MmIpe3RyeXtfMHg0N2RhZGIoXzB4MTlmMDMyWyd0aHJvdyddKF8weDM1OTkyYikpO31jYXRjaChfMHgzODA5YzMpe18weDJiMzA0YShfMHgzODA5YzMpO319ZnVuY3Rpb24gXzB4NDdkYWRiKF8weDJjMDcwZil7dmFyIF8weDJhYmRjOT1fMHgxNWEzLF8weDNhNDZmYztfMHgyYzA3MGZbXzB4MmFiZGM5KCcweGM1YycpXT9fMHg0ZjA3ZDgoXzB4MmMwNzBmWyd2YWx1ZSddKTooXzB4M2E0NmZjPV8weDJjMDcwZltfMHgyYWJkYzkoJzB4ODlkJyldLF8weDNhNDZmYyBpbnN0YW5jZW9mIF8weDE2YTQ4Yz9fMHgzYTQ2ZmM6bmV3IF8weDE2YTQ4YyhmdW5jdGlvbihfMHg0ODBmNGIpe18weDQ4MGY0YihfMHgzYTQ2ZmMpO30pKVtfMHgyYWJkYzkoJzB4ZDM0JyldKF8weDIyY2YxNSxfMHg1N2NmZDYpO31fMHg0N2RhZGIoKF8weDE5ZjAzMj1fMHgxOWYwMzJbXzB4M2E4MDdlKCcweDQ0MicpXShfMHg0ODJmMzIsXzB4NTI4M2IzfHxbXSkpW18weDNhODA3ZSgnMHg3NDAnKV0oKSk7fSk7fSxfMHg3ZjIwMjk9dGhpcyYmdGhpc1snX19nZW5lcmF0b3InXXx8ZnVuY3Rpb24oXzB4MjEzOTU1LF8weDQ3ODA1Myl7dmFyIF8weDMzYzExNj1fMHgzZjlmNjcsXzB4NGMwYzU2LF8weDE0ODljZSxfMHgxYjZmYTEsXzB4MzU5YzVlLF8weDE0ZWM3YT17J2xhYmVsJzoweDAsJ3NlbnQnOmZ1bmN0aW9uKCl7aWYoMHgxJl8weDFiNmZhMVsweDBdKXRocm93IF8weDFiNmZhMVsweDFdO3JldHVybiBfMHgxYjZmYTFbMHgxXTt9LCd0cnlzJzpbXSwnb3BzJzpbXX07cmV0dXJuIF8weDM1OWM1ZT17J25leHQnOl8weDUwM2M1YygweDApLCd0aHJvdyc6XzB4NTAzYzVjKDB4MSksJ3JldHVybic6XzB4NTAzYzVjKDB4Mil9LF8weDMzYzExNignMHhjN2InKT09dHlwZW9mIFN5bWJvbCYmKF8weDM1OWM1ZVtTeW1ib2xbXzB4MzNjMTE2KCcweDc2YycpXV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpczt9KSxfMHgzNTljNWU7ZnVuY3Rpb24gXzB4NTAzYzVjKF8weDJmNzQ3Myl7cmV0dXJuIGZ1bmN0aW9uKF8weDRjNzFiNSl7cmV0dXJuIGZ1bmN0aW9uKF8weDNkOTMwNCl7dmFyIF8weDMwZTdmNj1fMHgxNWEzO2lmKF8weDRjMGM1Nil0aHJvdyBuZXcgVHlwZUVycm9yKF8weDMwZTdmNignMHhiODYnKSk7Zm9yKDtfMHgzNTljNWUmJihfMHgzNTljNWU9MHgwLF8weDNkOTMwNFsweDBdJiYoXzB4MTRlYzdhPTB4MCkpLF8weDE0ZWM3YTspdHJ5e2lmKF8weDRjMGM1Nj0weDEsXzB4MTQ4OWNlJiYoXzB4MWI2ZmExPTB4MiZfMHgzZDkzMDRbMHgwXT9fMHgxNDg5Y2VbJ3JldHVybiddOl8weDNkOTMwNFsweDBdP18weDE0ODljZVtfMHgzMGU3ZjYoJzB4YWUzJyldfHwoKF8weDFiNmZhMT1fMHgxNDg5Y2VbXzB4MzBlN2Y2KCcweDZmZScpXSkmJl8weDFiNmZhMVsnY2FsbCddKF8weDE0ODljZSksMHgwKTpfMHgxNDg5Y2VbJ25leHQnXSkmJiEoXzB4MWI2ZmExPV8weDFiNmZhMVtfMHgzMGU3ZjYoJzB4NWZkJyldKF8weDE0ODljZSxfMHgzZDkzMDRbMHgxXSkpW18weDMwZTdmNignMHhjNWMnKV0pcmV0dXJuIF8weDFiNmZhMTtzd2l0Y2goXzB4MTQ4OWNlPTB4MCxfMHgxYjZmYTEmJihfMHgzZDkzMDQ9WzB4MiZfMHgzZDkzMDRbMHgwXSxfMHgxYjZmYTFbXzB4MzBlN2Y2KCcweDg5ZCcpXV0pLF8weDNkOTMwNFsweDBdKXtjYXNlIDB4MDpjYXNlIDB4MTpfMHgxYjZmYTE9XzB4M2Q5MzA0O2JyZWFrO2Nhc2UgMHg0OnJldHVybiBfMHgxNGVjN2FbXzB4MzBlN2Y2KCcweDk1YScpXSsrLHsndmFsdWUnOl8weDNkOTMwNFsweDFdLCdkb25lJzohMHgxfTtjYXNlIDB4NTpfMHgxNGVjN2FbJ2xhYmVsJ10rKyxfMHgxNDg5Y2U9XzB4M2Q5MzA0WzB4MV0sXzB4M2Q5MzA0PVsweDBdO2NvbnRpbnVlO2Nhc2UgMHg3Ol8weDNkOTMwND1fMHgxNGVjN2FbXzB4MzBlN2Y2KCcweDliZicpXVtfMHgzMGU3ZjYoJzB4NmRlJyldKCksXzB4MTRlYzdhWyd0cnlzJ11bJ3BvcCddKCk7Y29udGludWU7ZGVmYXVsdDppZighKChfMHgxYjZmYTE9KF8weDFiNmZhMT1fMHgxNGVjN2FbXzB4MzBlN2Y2KCcweDlkNycpXSlbXzB4MzBlN2Y2KCcweDUyMCcpXT4weDAmJl8weDFiNmZhMVtfMHgxYjZmYTFbXzB4MzBlN2Y2KCcweDUyMCcpXS0weDFdKXx8MHg2IT09XzB4M2Q5MzA0WzB4MF0mJjB4MiE9PV8weDNkOTMwNFsweDBdKSl7XzB4MTRlYzdhPTB4MDtjb250aW51ZTt9aWYoMHgzPT09XzB4M2Q5MzA0WzB4MF0mJighXzB4MWI2ZmExfHxfMHgzZDkzMDRbMHgxXT5fMHgxYjZmYTFbMHgwXSYmXzB4M2Q5MzA0WzB4MV08XzB4MWI2ZmExWzB4M10pKXtfMHgxNGVjN2FbXzB4MzBlN2Y2KCcweDk1YScpXT1fMHgzZDkzMDRbMHgxXTticmVhazt9aWYoMHg2PT09XzB4M2Q5MzA0WzB4MF0mJl8weDE0ZWM3YVsnbGFiZWwnXTxfMHgxYjZmYTFbMHgxXSl7XzB4MTRlYzdhW18weDMwZTdmNignMHg5NWEnKV09XzB4MWI2ZmExWzB4MV0sXzB4MWI2ZmExPV8weDNkOTMwNDticmVhazt9aWYoXzB4MWI2ZmExJiZfMHgxNGVjN2FbXzB4MzBlN2Y2KCcweDk1YScpXTxfMHgxYjZmYTFbMHgyXSl7XzB4MTRlYzdhW18weDMwZTdmNignMHg5NWEnKV09XzB4MWI2ZmExWzB4Ml0sXzB4MTRlYzdhW18weDMwZTdmNignMHg5YmYnKV1bXzB4MzBlN2Y2KCcweDhiNycpXShfMHgzZDkzMDQpO2JyZWFrO31fMHgxYjZmYTFbMHgyXSYmXzB4MTRlYzdhWydvcHMnXVtfMHgzMGU3ZjYoJzB4NmRlJyldKCksXzB4MTRlYzdhW18weDMwZTdmNignMHg5ZDcnKV1bXzB4MzBlN2Y2KCcweDZkZScpXSgpO2NvbnRpbnVlO31fMHgzZDkzMDQ9XzB4NDc4MDUzW18weDMwZTdmNignMHg1ZmQnKV0oXzB4MjEzOTU1LF8weDE0ZWM3YSk7fWNhdGNoKF8weDU4ZjlkMyl7XzB4M2Q5MzA0PVsweDYsXzB4NThmOWQzXSxfMHgxNDg5Y2U9MHgwO31maW5hbGx5e18weDRjMGM1Nj1fMHgxYjZmYTE9MHgwO31pZigweDUmXzB4M2Q5MzA0WzB4MF0pdGhyb3cgXzB4M2Q5MzA0WzB4MV07cmV0dXJueyd2YWx1ZSc6XzB4M2Q5MzA0WzB4MF0/XzB4M2Q5MzA0WzB4MV06dm9pZCAweDAsJ2RvbmUnOiEweDB9O30oW18weDJmNzQ3MyxfMHg0YzcxYjVdKTt9O319O09iamVjdFtfMHgzZjlmNjcoJzB4MmI0JyldKF8weDdjNGQyZSxfMHgzZjlmNjcoJzB4Y2QyJykseyd2YWx1ZSc6ITB4MH0pLF8weDdjNGQyZVtfMHgzZjlmNjcoJzB4NzBiJyldPV8weDdjNGQyZVtfMHgzZjlmNjcoJzB4YThiJyldPXZvaWQgMHgwO3ZhciBfMHgyODJjYmY9XzB4MWRkNDM2KDB4MWRkOCksXzB4MmIwNTI0PV8weDFkZDQzNigweDgyOSksXzB4M2U5MGJjPV8weDFkZDQzNigweDRhZSksXzB4Mjk2MTg1PV8weDFkZDQzNigweDFkMWMpLF8weGE3ZjQxOT1fMHgxZGQ0MzYoMHgyNmJmKSxfMHg1MzRkYWE9XzB4MWRkNDM2KDB4MWRhNyk7XzB4N2M0ZDJlW18weDNmOWY2NygnMHhhOGInKV09ZnVuY3Rpb24oXzB4NDczODZlLF8weDRkZjhhMyxfMHgxZmMyYTMsXzB4ZWNjNGEwKXtyZXR1cm4gXzB4NTdkYzQ5KHZvaWQgMHgwLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKCl7cmV0dXJuIF8weDdmMjAyOSh0aGlzLGZ1bmN0aW9uKF8weDJhMjQ1Zil7dmFyIF8weDRhNjY3OT1fMHgxNWEzO3JldHVybigweDAsXzB4YTdmNDE5Wydpc0VyYzcyMUl0ZW0nXSkoXzB4NGRmOGEzW18weDRhNjY3OSgnMHhjNTgnKV0pfHwoMHgwLF8weGE3ZjQxOVtfMHg0YTY2NzkoJzB4Y2E2JyldKShfMHg0ZGY4YTNbXzB4NGE2Njc5KCcweGM1OCcpXSk/WzB4MixuZXcgXzB4MjgyY2JmWyhfMHg0YTY2NzkoJzB4MWEwJykpXShfMHg0ZGY4YTNbXzB4NGE2Njc5KCcweDZjYicpXSxfMHgzZTkwYmNbXzB4NGE2Njc5KCcweDVkMicpXSxfMHhlY2M0YTApW18weDRhNjY3OSgnMHhhYjcnKV0oXzB4NDczODZlLF8weDFmYzJhMylbXzB4NGE2Njc5KCcweGQzNCcpXShmdW5jdGlvbihfMHgxODk0NTUpe3ZhciBfMHg3MGUzMWE9XzB4NGE2Njc5O3JldHVybiBfMHgxODk0NTU/XzB4Mjk2MTg1W18weDcwZTMxYSgnMHg4YTcnKV06XzB4MjgyY2JmWydCaWdOdW1iZXInXVtfMHg3MGUzMWEoJzB4MjUyJyldKDB4MCk7fSldOl8weDRkZjhhM1tfMHg0YTY2NzkoJzB4YzU4JyldPT09XzB4Mjk2MTg1W18weDRhNjY3OSgnMHgzZjgnKV1bJ0VSQzIwJ10/WzB4MixuZXcgXzB4MjgyY2JmWydDb250cmFjdCddKF8weDRkZjhhM1sndG9rZW4nXSxfMHgyYjA1MjRbXzB4NGE2Njc5KCcweGNlMycpXSxfMHhlY2M0YTApW18weDRhNjY3OSgnMHhjNzAnKV0oXzB4NDczODZlLF8weDFmYzJhMyldOlsweDIsXzB4Mjk2MTg1W18weDRhNjY3OSgnMHg4YTcnKV1dO30pO30pO30sXzB4N2M0ZDJlW18weDNmOWY2NygnMHg3MGInKV09ZnVuY3Rpb24oXzB4NWJkY2NiLF8weDQ5NmQ5ZSxfMHg2ZDVjMTcpe3ZhciBfMHg0ODg3MWM9XzB4M2Y5ZjY3LF8weDFlMTBiZD10aGlzO3JldHVybiBQcm9taXNlW18weDQ4ODcxYygnMHg0MDUnKV0oXzB4NWJkY2NiW18weDQ4ODcxYygnMHgzYWInKV0oZnVuY3Rpb24oXzB4Mjk2MGQ5LF8weDU4ODM5NSl7dmFyIF8weDU1MDNlMD1fMHg0ODg3MWM7cmV0dXJuIF8weDU4ODM5NT09PV8weDViZGNjYltfMHg1NTAzZTAoJzB4NTIwJyldLTB4MXx8XzB4NWJkY2NiW18weDU4ODM5NSsweDFdW18weDU1MDNlMCgnMHg2Y2InKV0hPT1fMHgyOTYwZDlbXzB4NTUwM2UwKCcweDZjYicpXTt9KVsnbWFwJ10oZnVuY3Rpb24oXzB4MzlhMWYyKXt2YXIgXzB4NWIxMDc5PV8weDQ4ODcxYyxfMHgxNDRhZGY9XzB4MzlhMWYyW18weDViMTA3OSgnMHg2Y2InKV0sXzB4MTg3NDE2PV8weDM5YTFmMltfMHg1YjEwNzkoJzB4NDdkJyldLF8weDJlNjU4Yj1fMHgzOWExZjJbXzB4NWIxMDc5KCcweGM1OCcpXSxfMHgzODkxMTE9XzB4MzlhMWYyWydpZGVudGlmaWVyT3JDcml0ZXJpYSddLF8weDJiNTVlYj1fMHgzOWExZjJbXzB4NWIxMDc5KCcweDk4OCcpXTtyZXR1cm4gXzB4NTdkYzQ5KF8weDFlMTBiZCx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbigpe3ZhciBfMHg1MDYzOWYsXzB4NDRmYjRjO3JldHVybiBfMHg3ZjIwMjkodGhpcyxmdW5jdGlvbihfMHgzM2QyMTkpe3ZhciBfMHgzNTIxZDE9XzB4MTVhMztyZXR1cm4gXzB4NTA2MzlmPSgweDAsXzB4YTdmNDE5W18weDM1MjFkMSgnMHhjYTYnKV0pKF8weDJlNjU4YiksKDB4MCxfMHhhN2Y0MTlbXzB4MzUyMWQxKCcweDZlMScpXSkoXzB4MmU2NThiKXx8XzB4NTA2MzlmPyhfMHg0NGZiNGM9bmV3IF8weDI4MmNiZlsnQ29udHJhY3QnXShfMHgxNDRhZGYsXzB4M2U5MGJjW18weDM1MjFkMSgnMHg1ZDInKV0sXzB4NmQ1YzE3KSxbMHgyLHsndHlwZSc6XzB4MzUyMWQxKCcweGJiNCcpLCd0b2tlbic6XzB4MTQ0YWRmLCdpZGVudGlmaWVyT3JDcml0ZXJpYSc6XzB4Mzg5MTExLCdpdGVtVHlwZSc6XzB4MmU2NThiLCdvcGVyYXRvcic6XzB4MTg3NDE2LCd0cmFuc2FjdGlvbk1ldGhvZHMnOigweDAsXzB4NTM0ZGFhW18weDM1MjFkMSgnMHg5ODQnKV0pKF8weDQ0ZmI0Y1snY29ubmVjdCddKF8weDZkNWMxNyksXzB4NDk2ZDllJiYhXzB4NTA2MzlmPydhcHByb3ZlJzpfMHgzNTIxZDEoJzB4YjQ5JyksW18weDE4NzQxNiwhKF8weDQ5NmQ5ZSYmIV8weDUwNjM5Zil8fF8weDM4OTExMV0pfV0pOihfMHg0NGZiNGM9bmV3IF8weDI4MmNiZlsoXzB4MzUyMWQxKCcweDFhMCcpKV0oXzB4MTQ0YWRmLF8weDJiMDUyNFtfMHgzNTIxZDEoJzB4Y2UzJyldLF8weDZkNWMxNyksWzB4Mix7J3R5cGUnOl8weDM1MjFkMSgnMHhiYjQnKSwndG9rZW4nOl8weDE0NGFkZiwnaWRlbnRpZmllck9yQ3JpdGVyaWEnOl8weDM4OTExMSwnaXRlbVR5cGUnOl8weDJlNjU4YiwndHJhbnNhY3Rpb25NZXRob2RzJzooMHgwLF8weDUzNGRhYVtfMHgzNTIxZDEoJzB4OTg0JyldKShfMHg0NGZiNGNbXzB4MzUyMWQxKCcweDkxMCcpXShfMHg2ZDVjMTcpLF8weDM1MjFkMSgnMHhjMWMnKSxbXzB4MTg3NDE2LF8weDQ5NmQ5ZT9fMHgyYjU1ZWI6XzB4Mjk2MTg1W18weDM1MjFkMSgnMHg4YTcnKV1dKSwnb3BlcmF0b3InOl8weDE4NzQxNn1dKTt9KTt9KTt9KSk7fTt9LDB4MjAwYzpmdW5jdGlvbihfMHgxNjc2M2YsXzB4MTI5ZWI3LF8weDIxNzgyOCl7J3VzZSBzdHJpY3QnO3ZhciBfMHgxYzQ4NWI9XzB4MTVhMzt2YXIgXzB4NWJkNGJlPXRoaXMmJnRoaXNbXzB4MWM0ODViKCcweDg5NScpXXx8ZnVuY3Rpb24oXzB4M2JmZjY0LF8weDI0OThiYyxfMHg0ZmM2MzgsXzB4NzZhNDM5KXtyZXR1cm4gbmV3KF8weDRmYzYzOHx8KF8weDRmYzYzOD1Qcm9taXNlKSkoZnVuY3Rpb24oXzB4NDA0ZmY3LF8weDM4NjFjNyl7dmFyIF8weDQyMGMxND1fMHgxNWEzO2Z1bmN0aW9uIF8weDI3YTljMihfMHg0NDE4NWYpe3ZhciBfMHgxYjdiNjg9XzB4MTVhMzt0cnl7XzB4MjFjMWYzKF8weDc2YTQzOVtfMHgxYjdiNjgoJzB4NzQwJyldKF8weDQ0MTg1ZikpO31jYXRjaChfMHgzNmY4OWMpe18weDM4NjFjNyhfMHgzNmY4OWMpO319ZnVuY3Rpb24gXzB4NGIwOTdiKF8weGM4ZWQ1ZSl7dmFyIF8weDM5ZTU4Nj1fMHgxNWEzO3RyeXtfMHgyMWMxZjMoXzB4NzZhNDM5W18weDM5ZTU4NignMHhhZTMnKV0oXzB4YzhlZDVlKSk7fWNhdGNoKF8weDViMDhjNSl7XzB4Mzg2MWM3KF8weDViMDhjNSk7fX1mdW5jdGlvbiBfMHgyMWMxZjMoXzB4NGY4NzFhKXt2YXIgXzB4Y2FhYTM2PV8weDE1YTMsXzB4M2U3NGZmO18weDRmODcxYVtfMHhjYWFhMzYoJzB4YzVjJyldP18weDQwNGZmNyhfMHg0Zjg3MWFbXzB4Y2FhYTM2KCcweDg5ZCcpXSk6KF8weDNlNzRmZj1fMHg0Zjg3MWFbJ3ZhbHVlJ10sXzB4M2U3NGZmIGluc3RhbmNlb2YgXzB4NGZjNjM4P18weDNlNzRmZjpuZXcgXzB4NGZjNjM4KGZ1bmN0aW9uKF8weDFjNGVjOSl7XzB4MWM0ZWM5KF8weDNlNzRmZik7fSkpW18weGNhYWEzNignMHhkMzQnKV0oXzB4MjdhOWMyLF8weDRiMDk3Yik7fV8weDIxYzFmMygoXzB4NzZhNDM5PV8weDc2YTQzOVtfMHg0MjBjMTQoJzB4NDQyJyldKF8weDNiZmY2NCxfMHgyNDk4YmN8fFtdKSlbXzB4NDIwYzE0KCcweDc0MCcpXSgpKTt9KTt9LF8weDNkM2NiNz10aGlzJiZ0aGlzW18weDFjNDg1YignMHg0NGEnKV18fGZ1bmN0aW9uKF8weDJjZWIwMSxfMHg0ODM0YTMpe3ZhciBfMHgyN2I4NDI9XzB4MWM0ODViLF8weDI3ZTRiMixfMHgyZDQzYTYsXzB4M2RlYzgzLF8weDNiNjYxZixfMHgxNzFlZWU9eydsYWJlbCc6MHgwLCdzZW50JzpmdW5jdGlvbigpe2lmKDB4MSZfMHgzZGVjODNbMHgwXSl0aHJvdyBfMHgzZGVjODNbMHgxXTtyZXR1cm4gXzB4M2RlYzgzWzB4MV07fSwndHJ5cyc6W10sJ29wcyc6W119O3JldHVybiBfMHgzYjY2MWY9eyduZXh0JzpfMHg0ZDk0MDkoMHgwKSwndGhyb3cnOl8weDRkOTQwOSgweDEpLCdyZXR1cm4nOl8weDRkOTQwOSgweDIpfSxfMHgyN2I4NDIoJzB4YzdiJyk9PXR5cGVvZiBTeW1ib2wmJihfMHgzYjY2MWZbU3ltYm9sWydpdGVyYXRvciddXT1mdW5jdGlvbigpe3JldHVybiB0aGlzO30pLF8weDNiNjYxZjtmdW5jdGlvbiBfMHg0ZDk0MDkoXzB4MWY2MDE3KXtyZXR1cm4gZnVuY3Rpb24oXzB4MzQwODk5KXtyZXR1cm4gZnVuY3Rpb24oXzB4YTQwOThjKXt2YXIgXzB4MTg0YzNiPV8weDE1YTM7aWYoXzB4MjdlNGIyKXRocm93IG5ldyBUeXBlRXJyb3IoXzB4MTg0YzNiKCcweGI4NicpKTtmb3IoO18weDNiNjYxZiYmKF8weDNiNjYxZj0weDAsXzB4YTQwOThjWzB4MF0mJihfMHgxNzFlZWU9MHgwKSksXzB4MTcxZWVlOyl0cnl7aWYoXzB4MjdlNGIyPTB4MSxfMHgyZDQzYTYmJihfMHgzZGVjODM9MHgyJl8weGE0MDk4Y1sweDBdP18weDJkNDNhNltfMHgxODRjM2IoJzB4NmZlJyldOl8weGE0MDk4Y1sweDBdP18weDJkNDNhNltfMHgxODRjM2IoJzB4YWUzJyldfHwoKF8weDNkZWM4Mz1fMHgyZDQzYTZbXzB4MTg0YzNiKCcweDZmZScpXSkmJl8weDNkZWM4M1tfMHgxODRjM2IoJzB4NWZkJyldKF8weDJkNDNhNiksMHgwKTpfMHgyZDQzYTZbJ25leHQnXSkmJiEoXzB4M2RlYzgzPV8weDNkZWM4M1tfMHgxODRjM2IoJzB4NWZkJyldKF8weDJkNDNhNixfMHhhNDA5OGNbMHgxXSkpW18weDE4NGMzYignMHhjNWMnKV0pcmV0dXJuIF8weDNkZWM4Mztzd2l0Y2goXzB4MmQ0M2E2PTB4MCxfMHgzZGVjODMmJihfMHhhNDA5OGM9WzB4MiZfMHhhNDA5OGNbMHgwXSxfMHgzZGVjODNbJ3ZhbHVlJ11dKSxfMHhhNDA5OGNbMHgwXSl7Y2FzZSAweDA6Y2FzZSAweDE6XzB4M2RlYzgzPV8weGE0MDk4YzticmVhaztjYXNlIDB4NDpyZXR1cm4gXzB4MTcxZWVlW18weDE4NGMzYignMHg5NWEnKV0rKyx7J3ZhbHVlJzpfMHhhNDA5OGNbMHgxXSwnZG9uZSc6ITB4MX07Y2FzZSAweDU6XzB4MTcxZWVlW18weDE4NGMzYignMHg5NWEnKV0rKyxfMHgyZDQzYTY9XzB4YTQwOThjWzB4MV0sXzB4YTQwOThjPVsweDBdO2NvbnRpbnVlO2Nhc2UgMHg3Ol8weGE0MDk4Yz1fMHgxNzFlZWVbXzB4MTg0YzNiKCcweDliZicpXVtfMHgxODRjM2IoJzB4NmRlJyldKCksXzB4MTcxZWVlW18weDE4NGMzYignMHg5ZDcnKV1bXzB4MTg0YzNiKCcweDZkZScpXSgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISgoXzB4M2RlYzgzPShfMHgzZGVjODM9XzB4MTcxZWVlW18weDE4NGMzYignMHg5ZDcnKV0pWydsZW5ndGgnXT4weDAmJl8weDNkZWM4M1tfMHgzZGVjODNbXzB4MTg0YzNiKCcweDUyMCcpXS0weDFdKXx8MHg2IT09XzB4YTQwOThjWzB4MF0mJjB4MiE9PV8weGE0MDk4Y1sweDBdKSl7XzB4MTcxZWVlPTB4MDtjb250aW51ZTt9aWYoMHgzPT09XzB4YTQwOThjWzB4MF0mJighXzB4M2RlYzgzfHxfMHhhNDA5OGNbMHgxXT5fMHgzZGVjODNbMHgwXSYmXzB4YTQwOThjWzB4MV08XzB4M2RlYzgzWzB4M10pKXtfMHgxNzFlZWVbXzB4MTg0YzNiKCcweDk1YScpXT1fMHhhNDA5OGNbMHgxXTticmVhazt9aWYoMHg2PT09XzB4YTQwOThjWzB4MF0mJl8weDE3MWVlZVsnbGFiZWwnXTxfMHgzZGVjODNbMHgxXSl7XzB4MTcxZWVlW18weDE4NGMzYignMHg5NWEnKV09XzB4M2RlYzgzWzB4MV0sXzB4M2RlYzgzPV8weGE0MDk4YzticmVhazt9aWYoXzB4M2RlYzgzJiZfMHgxNzFlZWVbXzB4MTg0YzNiKCcweDk1YScpXTxfMHgzZGVjODNbMHgyXSl7XzB4MTcxZWVlWydsYWJlbCddPV8weDNkZWM4M1sweDJdLF8weDE3MWVlZVtfMHgxODRjM2IoJzB4OWJmJyldWydwdXNoJ10oXzB4YTQwOThjKTticmVhazt9XzB4M2RlYzgzWzB4Ml0mJl8weDE3MWVlZVtfMHgxODRjM2IoJzB4OWJmJyldW18weDE4NGMzYignMHg2ZGUnKV0oKSxfMHgxNzFlZWVbJ3RyeXMnXVtfMHgxODRjM2IoJzB4NmRlJyldKCk7Y29udGludWU7fV8weGE0MDk4Yz1fMHg0ODM0YTNbXzB4MTg0YzNiKCcweDVmZCcpXShfMHgyY2ViMDEsXzB4MTcxZWVlKTt9Y2F0Y2goXzB4NGI1NzAxKXtfMHhhNDA5OGM9WzB4NixfMHg0YjU3MDFdLF8weDJkNDNhNj0weDA7fWZpbmFsbHl7XzB4MjdlNGIyPV8weDNkZWM4Mz0weDA7fWlmKDB4NSZfMHhhNDA5OGNbMHgwXSl0aHJvdyBfMHhhNDA5OGNbMHgxXTtyZXR1cm57J3ZhbHVlJzpfMHhhNDA5OGNbMHgwXT9fMHhhNDA5OGNbMHgxXTp2b2lkIDB4MCwnZG9uZSc6ITB4MH07fShbXzB4MWY2MDE3LF8weDM0MDg5OV0pO307fX07T2JqZWN0W18weDFjNDg1YignMHgyYjQnKV0oXzB4MTI5ZWI3LF8weDFjNDg1YignMHhjZDInKSx7J3ZhbHVlJzohMHgwfSksXzB4MTI5ZWI3W18weDFjNDg1YignMHhjZWMnKV09dm9pZCAweDA7dmFyIF8weGRiZTlmZT1fMHgyMTc4MjgoMHgxZGQ4KSxfMHg1ZDgxNmE9XzB4MjE3ODI4KDB4MTc2NSksXzB4MjkzMDVmPV8weDIxNzgyOCgweDgyOSksXzB4NWVkMGI1PV8weDIxNzgyOCgweDRhZSksXzB4MjQ3MjliPV8weDIxNzgyOCgweDFkMWMpLF8weDVjZGRkMz1fMHgyMTc4MjgoMHgyNmJmKTtfMHgxMjllYjdbXzB4MWM0ODViKCcweGNlYycpXT1mdW5jdGlvbihfMHgxMWVkNDksXzB4MjQxMzYwLF8weDRjZWM5NyxfMHgzMzU4OTApe3JldHVybiBfMHg1YmQ0YmUodm9pZCAweDAsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24oKXt2YXIgXzB4MzY2NTJjLF8weDIyYTgxMyxfMHgyZjY0ZTk7cmV0dXJuIF8weDNkM2NiNyh0aGlzLGZ1bmN0aW9uKF8weDIzZWFlZil7dmFyIF8weDNkNDQ0MT1fMHgxNWEzO3JldHVybigweDAsXzB4NWNkZGQzWydpc0VyYzcyMUl0ZW0nXSkoXzB4MjQxMzYwWydpdGVtVHlwZSddKT8oXzB4MmY2NGU5PW5ldyBfMHhkYmU5ZmVbJ0NvbnRyYWN0J10oXzB4MjQxMzYwW18weDNkNDQ0MSgnMHg2Y2InKV0sXzB4NWVkMGI1W18weDNkNDQ0MSgnMHg1ZDInKV0sXzB4NGNlYzk3KSxfMHgyNDEzNjBbXzB4M2Q0NDQxKCcweGM1OCcpXT09PV8weDI0NzI5YltfMHgzZDQ0NDEoJzB4M2Y4JyldW18weDNkNDQ0MSgnMHhhNzUnKV0/WzB4MixfMHgzMzU4OTA/XzB4MmY2NGU5W18weDNkNDQ0MSgnMHg1NDknKV0oXzB4MzM1ODkwWydpZGVudGlmaWVyJ10pW18weDNkNDQ0MSgnMHhkMzQnKV0oZnVuY3Rpb24oXzB4MTlkYmVhKXt2YXIgXzB4MTY3ZTI3PV8weDNkNDQ0MTtyZXR1cm4gXzB4ZGJlOWZlW18weDE2N2UyNygnMHg1YzEnKV1bXzB4MTY3ZTI3KCcweDI1MicpXShOdW1iZXIoXzB4MTlkYmVhW18weDE2N2UyNygnMHg4NzAnKV0oKT09PV8weDExZWQ0OVtfMHgxNjdlMjcoJzB4ODcwJyldKCkpKTt9KTpfMHgyZjY0ZTlbXzB4M2Q0NDQxKCcweGNlYycpXShfMHgxMWVkNDkpXTpbMHgyLF8weDJmNjRlOVtfMHgzZDQ0NDEoJzB4NTQ5JyldKF8weDI0MTM2MFtfMHgzZDQ0NDEoJzB4MjgwJyldKVsndGhlbiddKGZ1bmN0aW9uKF8weDQ1YzExZSl7dmFyIF8weDE3NWIxOT1fMHgzZDQ0NDE7cmV0dXJuIF8weGRiZTlmZVtfMHgxNzViMTkoJzB4NWMxJyldW18weDE3NWIxOSgnMHgyNTInKV0oTnVtYmVyKF8weDQ1YzExZVsndG9Mb3dlckNhc2UnXSgpPT09XzB4MTFlZDQ5W18weDE3NWIxOSgnMHg4NzAnKV0oKSkpO30pXSk6KDB4MCxfMHg1Y2RkZDNbXzB4M2Q0NDQxKCcweGNhNicpXSkoXzB4MjQxMzYwWydpdGVtVHlwZSddKT8oXzB4MmY2NGU5PW5ldyBfMHhkYmU5ZmVbKF8weDNkNDQ0MSgnMHgxYTAnKSldKF8weDI0MTM2MFtfMHgzZDQ0NDEoJzB4NmNiJyldLF8weDVkODE2YVsnRVJDMTE1NUFCSSddLF8weDRjZWM5NyksXzB4MjQxMzYwW18weDNkNDQ0MSgnMHhjNTgnKV09PT1fMHgyNDcyOWJbXzB4M2Q0NDQxKCcweDNmOCcpXVtfMHgzZDQ0NDEoJzB4ZDIxJyldP18weDMzNTg5MD9bMHgyLF8weDJmNjRlOVsnYmFsYW5jZU9mJ10oXzB4MTFlZDQ5LF8weDMzNTg5MFtfMHgzZDQ0NDEoJzB4NThkJyldKV06KF8weDM2NjUyYz1fMHhkYmU5ZmVbXzB4M2Q0NDQxKCcweDVjMScpXVtfMHgzZDQ0NDEoJzB4MjUyJyldKF8weDI0MTM2MFtfMHgzZDQ0NDEoJzB4ZDBjJyldKSxfMHgyMmE4MTM9XzB4ZGJlOWZlW18weDNkNDQ0MSgnMHg1YzEnKV1bXzB4M2Q0NDQxKCcweDI1MicpXShfMHgyNDEzNjBbJ2VuZEFtb3VudCddKSxbMHgyLF8weDM2NjUyY1snZ3QnXShfMHgyMmE4MTMpP18weDM2NjUyYzpfMHgyMmE4MTNdKTpbMHgyLF8weDJmNjRlOVtfMHgzZDQ0NDEoJzB4Y2VjJyldKF8weDExZWQ0OSxfMHgyNDEzNjBbXzB4M2Q0NDQxKCcweDI4MCcpXSldKTooMHgwLF8weDVjZGRkM1tfMHgzZDQ0NDEoJzB4NjFmJyldKShfMHgyNDEzNjBbXzB4M2Q0NDQxKCcweGM1OCcpXSk/WzB4MiwoXzB4MmY2NGU5PW5ldyBfMHhkYmU5ZmVbKF8weDNkNDQ0MSgnMHgxYTAnKSldKF8weDI0MTM2MFtfMHgzZDQ0NDEoJzB4NmNiJyldLF8weDI5MzA1ZlsnRVJDMjBBQkknXSxfMHg0Y2VjOTcpKVsnYmFsYW5jZU9mJ10oXzB4MTFlZDQ5KV06WzB4MixfMHg0Y2VjOTdbXzB4M2Q0NDQxKCcweDcyNycpXShfMHgxMWVkNDkpXTt9KTt9KTt9O30sMHgyMDA6ZnVuY3Rpb24oXzB4MWI2MGJhLF8weDMwODhlOCxfMHgxM2Q4Mjkpeyd1c2Ugc3RyaWN0Jzt2YXIgXzB4MmExZGIxPV8weDE1YTM7dmFyIF8weDJmYjFhYT10aGlzJiZ0aGlzW18weDJhMWRiMSgnMHg0YzUnKV18fGZ1bmN0aW9uKCl7dmFyIF8weDU3ZTE1Yz1fMHgyYTFkYjE7cmV0dXJuIF8weDJmYjFhYT1PYmplY3RbXzB4NTdlMTVjKCcweGI3YycpXXx8ZnVuY3Rpb24oXzB4MTA1ZGExKXt2YXIgXzB4NDdhNjVlPV8weDU3ZTE1Yztmb3IodmFyIF8weDNjNGE0ZixfMHgxMTQ0MmQ9MHgxLF8weDg3ZGQ1Yz1hcmd1bWVudHNbXzB4NDdhNjVlKCcweDUyMCcpXTtfMHgxMTQ0MmQ8XzB4ODdkZDVjO18weDExNDQyZCsrKWZvcih2YXIgXzB4MjZlNTg3IGluIF8weDNjNGE0Zj1hcmd1bWVudHNbXzB4MTE0NDJkXSlPYmplY3RbXzB4NDdhNjVlKCcweDc1NicpXVtfMHg0N2E2NWUoJzB4MTljJyldWydjYWxsJ10oXzB4M2M0YTRmLF8weDI2ZTU4NykmJihfMHgxMDVkYTFbXzB4MjZlNTg3XT1fMHgzYzRhNGZbXzB4MjZlNTg3XSk7cmV0dXJuIF8weDEwNWRhMTt9LF8weDJmYjFhYVtfMHg1N2UxNWMoJzB4NDQyJyldKHRoaXMsYXJndW1lbnRzKTt9LF8weGUzZGI2PXRoaXMmJnRoaXNbXzB4MmExZGIxKCcweDg5NScpXXx8ZnVuY3Rpb24oXzB4NWRhODMxLF8weDFmMGY3OSxfMHg0NjE3N2QsXzB4MzdlOWQ4KXtyZXR1cm4gbmV3KF8weDQ2MTc3ZHx8KF8weDQ2MTc3ZD1Qcm9taXNlKSkoZnVuY3Rpb24oXzB4NGJlNDZkLF8weDFmOWI0Nil7dmFyIF8weDNmYzA3OT1fMHgxNWEzO2Z1bmN0aW9uIF8weDQyOGVmMihfMHg0MDdmNDEpe3RyeXtfMHg1NDhkNzgoXzB4MzdlOWQ4WyduZXh0J10oXzB4NDA3ZjQxKSk7fWNhdGNoKF8weDMxNmFkYSl7XzB4MWY5YjQ2KF8weDMxNmFkYSk7fX1mdW5jdGlvbiBfMHgzMWEzNWEoXzB4NDNmNjc3KXt0cnl7XzB4NTQ4ZDc4KF8weDM3ZTlkOFsndGhyb3cnXShfMHg0M2Y2NzcpKTt9Y2F0Y2goXzB4Mzg3MWZmKXtfMHgxZjliNDYoXzB4Mzg3MWZmKTt9fWZ1bmN0aW9uIF8weDU0OGQ3OChfMHg1ODIxOGEpe3ZhciBfMHgxY2VlMzY9XzB4MTVhMyxfMHgyNmQ3MTQ7XzB4NTgyMThhW18weDFjZWUzNignMHhjNWMnKV0/XzB4NGJlNDZkKF8weDU4MjE4YVtfMHgxY2VlMzYoJzB4ODlkJyldKTooXzB4MjZkNzE0PV8weDU4MjE4YVsndmFsdWUnXSxfMHgyNmQ3MTQgaW5zdGFuY2VvZiBfMHg0NjE3N2Q/XzB4MjZkNzE0Om5ldyBfMHg0NjE3N2QoZnVuY3Rpb24oXzB4NWQ4MjM0KXtfMHg1ZDgyMzQoXzB4MjZkNzE0KTt9KSlbJ3RoZW4nXShfMHg0MjhlZjIsXzB4MzFhMzVhKTt9XzB4NTQ4ZDc4KChfMHgzN2U5ZDg9XzB4MzdlOWQ4W18weDNmYzA3OSgnMHg0NDInKV0oXzB4NWRhODMxLF8weDFmMGY3OXx8W10pKVsnbmV4dCddKCkpO30pO30sXzB4NWVkODNmPXRoaXMmJnRoaXNbXzB4MmExZGIxKCcweDQ0YScpXXx8ZnVuY3Rpb24oXzB4ZWVjMmM0LF8weDQyZmQ4NSl7dmFyIF8weDI3ZTJmYT1fMHgyYTFkYjEsXzB4NTEzZmNiLF8weDMzYWQzMSxfMHg1MDQ0NTMsXzB4NDczODZmLF8weDM5OTI2Yz17J2xhYmVsJzoweDAsJ3NlbnQnOmZ1bmN0aW9uKCl7aWYoMHgxJl8weDUwNDQ1M1sweDBdKXRocm93IF8weDUwNDQ1M1sweDFdO3JldHVybiBfMHg1MDQ0NTNbMHgxXTt9LCd0cnlzJzpbXSwnb3BzJzpbXX07cmV0dXJuIF8weDQ3Mzg2Zj17J25leHQnOl8weDQxMWVmNSgweDApLCd0aHJvdyc6XzB4NDExZWY1KDB4MSksJ3JldHVybic6XzB4NDExZWY1KDB4Mil9LF8weDI3ZTJmYSgnMHhjN2InKT09dHlwZW9mIFN5bWJvbCYmKF8weDQ3Mzg2ZltTeW1ib2xbXzB4MjdlMmZhKCcweDc2YycpXV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpczt9KSxfMHg0NzM4NmY7ZnVuY3Rpb24gXzB4NDExZWY1KF8weDU0ODY5YSl7cmV0dXJuIGZ1bmN0aW9uKF8weDQyYzQxYil7cmV0dXJuIGZ1bmN0aW9uKF8weGQzM2E5Nil7dmFyIF8weDRhNGM4ZT1fMHgxNWEzO2lmKF8weDUxM2ZjYil0aHJvdyBuZXcgVHlwZUVycm9yKF8weDRhNGM4ZSgnMHhiODYnKSk7Zm9yKDtfMHg0NzM4NmYmJihfMHg0NzM4NmY9MHgwLF8weGQzM2E5NlsweDBdJiYoXzB4Mzk5MjZjPTB4MCkpLF8weDM5OTI2YzspdHJ5e2lmKF8weDUxM2ZjYj0weDEsXzB4MzNhZDMxJiYoXzB4NTA0NDUzPTB4MiZfMHhkMzNhOTZbMHgwXT9fMHgzM2FkMzFbXzB4NGE0YzhlKCcweDZmZScpXTpfMHhkMzNhOTZbMHgwXT9fMHgzM2FkMzFbXzB4NGE0YzhlKCcweGFlMycpXXx8KChfMHg1MDQ0NTM9XzB4MzNhZDMxWydyZXR1cm4nXSkmJl8weDUwNDQ1M1snY2FsbCddKF8weDMzYWQzMSksMHgwKTpfMHgzM2FkMzFbXzB4NGE0YzhlKCcweDc0MCcpXSkmJiEoXzB4NTA0NDUzPV8weDUwNDQ1M1tfMHg0YTRjOGUoJzB4NWZkJyldKF8weDMzYWQzMSxfMHhkMzNhOTZbMHgxXSkpW18weDRhNGM4ZSgnMHhjNWMnKV0pcmV0dXJuIF8weDUwNDQ1Mztzd2l0Y2goXzB4MzNhZDMxPTB4MCxfMHg1MDQ0NTMmJihfMHhkMzNhOTY9WzB4MiZfMHhkMzNhOTZbMHgwXSxfMHg1MDQ0NTNbXzB4NGE0YzhlKCcweDg5ZCcpXV0pLF8weGQzM2E5NlsweDBdKXtjYXNlIDB4MDpjYXNlIDB4MTpfMHg1MDQ0NTM9XzB4ZDMzYTk2O2JyZWFrO2Nhc2UgMHg0OnJldHVybiBfMHgzOTkyNmNbXzB4NGE0YzhlKCcweDk1YScpXSsrLHsndmFsdWUnOl8weGQzM2E5NlsweDFdLCdkb25lJzohMHgxfTtjYXNlIDB4NTpfMHgzOTkyNmNbXzB4NGE0YzhlKCcweDk1YScpXSsrLF8weDMzYWQzMT1fMHhkMzNhOTZbMHgxXSxfMHhkMzNhOTY9WzB4MF07Y29udGludWU7Y2FzZSAweDc6XzB4ZDMzYTk2PV8weDM5OTI2Y1tfMHg0YTRjOGUoJzB4OWJmJyldW18weDRhNGM4ZSgnMHg2ZGUnKV0oKSxfMHgzOTkyNmNbXzB4NGE0YzhlKCcweDlkNycpXVtfMHg0YTRjOGUoJzB4NmRlJyldKCk7Y29udGludWU7ZGVmYXVsdDppZighKChfMHg1MDQ0NTM9KF8weDUwNDQ1Mz1fMHgzOTkyNmNbXzB4NGE0YzhlKCcweDlkNycpXSlbXzB4NGE0YzhlKCcweDUyMCcpXT4weDAmJl8weDUwNDQ1M1tfMHg1MDQ0NTNbXzB4NGE0YzhlKCcweDUyMCcpXS0weDFdKXx8MHg2IT09XzB4ZDMzYTk2WzB4MF0mJjB4MiE9PV8weGQzM2E5NlsweDBdKSl7XzB4Mzk5MjZjPTB4MDtjb250aW51ZTt9aWYoMHgzPT09XzB4ZDMzYTk2WzB4MF0mJighXzB4NTA0NDUzfHxfMHhkMzNhOTZbMHgxXT5fMHg1MDQ0NTNbMHgwXSYmXzB4ZDMzYTk2WzB4MV08XzB4NTA0NDUzWzB4M10pKXtfMHgzOTkyNmNbXzB4NGE0YzhlKCcweDk1YScpXT1fMHhkMzNhOTZbMHgxXTticmVhazt9aWYoMHg2PT09XzB4ZDMzYTk2WzB4MF0mJl8weDM5OTI2Y1tfMHg0YTRjOGUoJzB4OTVhJyldPF8weDUwNDQ1M1sweDFdKXtfMHgzOTkyNmNbXzB4NGE0YzhlKCcweDk1YScpXT1fMHg1MDQ0NTNbMHgxXSxfMHg1MDQ0NTM9XzB4ZDMzYTk2O2JyZWFrO31pZihfMHg1MDQ0NTMmJl8weDM5OTI2Y1tfMHg0YTRjOGUoJzB4OTVhJyldPF8weDUwNDQ1M1sweDJdKXtfMHgzOTkyNmNbJ2xhYmVsJ109XzB4NTA0NDUzWzB4Ml0sXzB4Mzk5MjZjWydvcHMnXVtfMHg0YTRjOGUoJzB4OGI3JyldKF8weGQzM2E5Nik7YnJlYWs7fV8weDUwNDQ1M1sweDJdJiZfMHgzOTkyNmNbXzB4NGE0YzhlKCcweDliZicpXVtfMHg0YTRjOGUoJzB4NmRlJyldKCksXzB4Mzk5MjZjW18weDRhNGM4ZSgnMHg5ZDcnKV1bXzB4NGE0YzhlKCcweDZkZScpXSgpO2NvbnRpbnVlO31fMHhkMzNhOTY9XzB4NDJmZDg1WydjYWxsJ10oXzB4ZWVjMmM0LF8weDM5OTI2Yyk7fWNhdGNoKF8weDEwNjZlNyl7XzB4ZDMzYTk2PVsweDYsXzB4MTA2NmU3XSxfMHgzM2FkMzE9MHgwO31maW5hbGx5e18weDUxM2ZjYj1fMHg1MDQ0NTM9MHgwO31pZigweDUmXzB4ZDMzYTk2WzB4MF0pdGhyb3cgXzB4ZDMzYTk2WzB4MV07cmV0dXJueyd2YWx1ZSc6XzB4ZDMzYTk2WzB4MF0/XzB4ZDMzYTk2WzB4MV06dm9pZCAweDAsJ2RvbmUnOiEweDB9O30oW18weDU0ODY5YSxfMHg0MmM0MWJdKTt9O319LF8weDRlZTA1YT10aGlzJiZ0aGlzW18weDJhMWRiMSgnMHg5ZDYnKV18fGZ1bmN0aW9uKF8weGUzM2RlNSxfMHgzMDJlMGQpe3ZhciBfMHgzMGViMTQ9XzB4MmExZGIxLF8weDU0MDI5Mj1fMHgzMGViMTQoJzB4YzdiJyk9PXR5cGVvZiBTeW1ib2wmJl8weGUzM2RlNVtTeW1ib2xbJ2l0ZXJhdG9yJ11dO2lmKCFfMHg1NDAyOTIpcmV0dXJuIF8weGUzM2RlNTt2YXIgXzB4MWJkNTFjLF8weDJmYjk4YSxfMHgzOGI0OTc9XzB4NTQwMjkyW18weDMwZWIxNCgnMHg1ZmQnKV0oXzB4ZTMzZGU1KSxfMHhiZDM5MTE9W107dHJ5e2Zvcig7KHZvaWQgMHgwPT09XzB4MzAyZTBkfHxfMHgzMDJlMGQtLT4weDApJiYhKF8weDFiZDUxYz1fMHgzOGI0OTdbXzB4MzBlYjE0KCcweDc0MCcpXSgpKVtfMHgzMGViMTQoJzB4YzVjJyldOylfMHhiZDM5MTFbXzB4MzBlYjE0KCcweDhiNycpXShfMHgxYmQ1MWNbXzB4MzBlYjE0KCcweDg5ZCcpXSk7fWNhdGNoKF8weDRiNWFiOCl7XzB4MmZiOThhPXsnZXJyb3InOl8weDRiNWFiOH07fWZpbmFsbHl7dHJ5e18weDFiZDUxYyYmIV8weDFiZDUxY1tfMHgzMGViMTQoJzB4YzVjJyldJiYoXzB4NTQwMjkyPV8weDM4YjQ5N1tfMHgzMGViMTQoJzB4NmZlJyldKSYmXzB4NTQwMjkyW18weDMwZWIxNCgnMHg1ZmQnKV0oXzB4MzhiNDk3KTt9ZmluYWxseXtpZihfMHgyZmI5OGEpdGhyb3cgXzB4MmZiOThhWydlcnJvciddO319cmV0dXJuIF8weGJkMzkxMTt9LF8weDQxZGE4Nj10aGlzJiZ0aGlzW18weDJhMWRiMSgnMHhhYjgnKV18fGZ1bmN0aW9uKF8weDRiMDhlYixfMHg0OTI0YWMsXzB4NTFmMGZjKXt2YXIgXzB4OGJhYTZkPV8weDJhMWRiMTtpZihfMHg1MWYwZmN8fDB4Mj09PWFyZ3VtZW50c1tfMHg4YmFhNmQoJzB4NTIwJyldKXtmb3IodmFyIF8weDM4YjlhYyxfMHgxOGVjYWU9MHgwLF8weDM1OGZlMD1fMHg0OTI0YWNbXzB4OGJhYTZkKCcweDUyMCcpXTtfMHgxOGVjYWU8XzB4MzU4ZmUwO18weDE4ZWNhZSsrKSFfMHgzOGI5YWMmJl8weDE4ZWNhZSBpbiBfMHg0OTI0YWN8fChfMHgzOGI5YWN8fChfMHgzOGI5YWM9QXJyYXlbXzB4OGJhYTZkKCcweDc1NicpXVsnc2xpY2UnXVtfMHg4YmFhNmQoJzB4NWZkJyldKF8weDQ5MjRhYywweDAsXzB4MThlY2FlKSksXzB4MzhiOWFjW18weDE4ZWNhZV09XzB4NDkyNGFjW18weDE4ZWNhZV0pO31yZXR1cm4gXzB4NGIwOGViW18weDhiYWE2ZCgnMHg1MzAnKV0oXzB4MzhiOWFjfHxBcnJheVsncHJvdG90eXBlJ11bXzB4OGJhYTZkKCcweGFkYScpXVtfMHg4YmFhNmQoJzB4NWZkJyldKF8weDQ5MjRhYykpO307T2JqZWN0W18weDJhMWRiMSgnMHgyYjQnKV0oXzB4MzA4OGU4LF8weDJhMWRiMSgnMHhjZDInKSx7J3ZhbHVlJzohMHgwfSksXzB4MzA4OGU4W18weDJhMWRiMSgnMHg0OTknKV09XzB4MzA4OGU4W18weDJhMWRiMSgnMHg4YzYnKV09XzB4MzA4OGU4W18weDJhMWRiMSgnMHhhZWMnKV09XzB4MzA4OGU4W18weDJhMWRiMSgnMHg1MTQnKV09XzB4MzA4OGU4W18weDJhMWRiMSgnMHhjMGMnKV09dm9pZCAweDA7dmFyIF8weDEwMWNkZD1fMHgxM2Q4MjkoMHgxZGQ4KSxfMHgzZWExZGU9XzB4MTNkODI5KDB4MWQxYyksXzB4MmY0ZDgxPV8weDEzZDgyOSgweDIxMTcpLF8weDE0MjkyYj1fMHgxM2Q4MjkoMHgyMDBjKSxfMHhhMTMxNTk9XzB4MTNkODI5KDB4MTU3YSksXzB4NGYxMjgwPV8weDEzZDgyOSgweDI2YmYpLF8weDFhNzQzNT1mdW5jdGlvbihfMHg0MWUzZWYsXzB4MmI4ODA1LF8weDNkMDE3OSl7dmFyIF8weDMzOTRlNz1fMHgyYTFkYjEsXzB4NTU2MTA4PV8weDQxZTNlZltfMHgzMzk0ZTcoJzB4Njg0JyldKGZ1bmN0aW9uKF8weDUzMjk1Nil7dmFyIF8weDIxYzhmYT1fMHgzMzk0ZTcsXzB4NTg5ZWVjPV8weDUzMjk1NltfMHgyMWM4ZmEoJzB4NmNiJyldLF8weDI0MmU3ND1fMHg1MzI5NTZbXzB4MjFjOGZhKCcweDI4MCcpXTtyZXR1cm4gXzB4MmI4ODA1W18weDIxYzhmYSgnMHg4NzAnKV0oKT09PV8weDU4OWVlY1sndG9Mb3dlckNhc2UnXSgpJiZfMHgyNDJlNzRbJ3RvTG93ZXJDYXNlJ10oKT09PV8weDNkMDE3OVtfMHgyMWM4ZmEoJzB4ODcwJyldKCk7fSk7aWYoIV8weDU1NjEwOCl0aHJvdyBuZXcgRXJyb3IoXzB4MzM5NGU3KCcweDk1ZScpKTtyZXR1cm4gXzB4NTU2MTA4O307XzB4MzA4OGU4W18weDJhMWRiMSgnMHhjMGMnKV09ZnVuY3Rpb24oXzB4NTdmMjM3KXt2YXIgXzB4NTYzMTE1PV8weDJhMWRiMSxfMHgzZWQxNzc9XzB4NTdmMjM3W18weDU2MzExNSgnMHg0ZTEnKV0sXzB4NDBjMTExPV8weDU3ZjIzN1snaXRlbXMnXSxfMHgyNmE2YmE9XzB4NTdmMjM3W18weDU2MzExNSgnMHg0MGInKV0sXzB4MWQ5NDkwPV8weDU3ZjIzN1tfMHg1NjMxMTUoJzB4NDdkJyldLF8weDNkMjU1MT1fMHg1N2YyMzdbXzB4NTYzMTE1KCcweDk5ZicpXTtyZXR1cm4gXzB4ZTNkYjYodm9pZCAweDAsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24oKXt2YXIgXzB4NDAzYjcyO3JldHVybiBfMHg1ZWQ4M2YodGhpcyxmdW5jdGlvbihfMHgyOTY3ZmEpe3ZhciBfMHgyNjViOTA9XzB4MTVhMztyZXR1cm4gXzB4NDAzYjcyPSgweDAsXzB4YTEzMTU5W18weDI2NWI5MCgnMHg2YjUnKV0pKF8weDQwYzExMSxfMHgyNmE2YmEpLFsweDIsUHJvbWlzZVtfMHgyNjViOTAoJzB4NDA1JyldKF8weDQwYzExMVtfMHgyNjViOTAoJzB4M2M5JyldKGZ1bmN0aW9uKF8weDEzNDdkMCl7cmV0dXJuIF8weGUzZGI2KHZvaWQgMHgwLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKCl7dmFyIF8weDI0Y2E4ZSxfMHg1NGRmY2QsXzB4MWYyOTAwLF8weDQxOTg0NDtyZXR1cm4gXzB4NWVkODNmKHRoaXMsZnVuY3Rpb24oXzB4M2I2YzdkKXt2YXIgXzB4NWI2MzdmPV8weDE1YTM7c3dpdGNoKF8weDNiNmM3ZFtfMHg1YjYzN2YoJzB4OTVhJyldKXtjYXNlIDB4MDpyZXR1cm4gXzB4MjRjYThlPVByb21pc2VbXzB4NWI2MzdmKCcweDNmNCcpXShfMHgxMDFjZGRbXzB4NWI2MzdmKCcweDVjMScpXVtfMHg1YjYzN2YoJzB4MjUyJyldKDB4MCkpLF8weDI0Y2E4ZT0oMHgwLF8weDRmMTI4MFtfMHg1YjYzN2YoJzB4NmUxJyldKShfMHgxMzQ3ZDBbXzB4NWI2MzdmKCcweGM1OCcpXSl8fCgweDAsXzB4NGYxMjgwWydpc0VyYzExNTVJdGVtJ10pKF8weDEzNDdkMFtfMHg1YjYzN2YoJzB4YzU4JyldKXx8KDB4MCxfMHg0ZjEyODBbJ2lzRXJjMjBJdGVtJ10pKF8weDEzNDdkMFtfMHg1YjYzN2YoJzB4YzU4JyldKT8oMHgwLF8weDJmNGQ4MVsnYXBwcm92ZWRJdGVtQW1vdW50J10pKF8weDNlZDE3NyxfMHgxMzQ3ZDAsXzB4MWQ5NDkwLF8weDNkMjU1MSk6UHJvbWlzZVtfMHg1YjYzN2YoJzB4M2Y0JyldKF8weDNlYTFkZVtfMHg1YjYzN2YoJzB4OGE3JyldKSxfMHg1NGRmY2Q9eyd0b2tlbic6XzB4MTM0N2QwW18weDViNjM3ZignMHg2Y2InKV0sJ2lkZW50aWZpZXJPckNyaXRlcmlhJzpudWxsIT09KF8weDQxOTg0ND1udWxsPT09KF8weDFmMjkwMD1fMHg0MDNiNzJbJ2dldCddKF8weDEzNDdkMCkpfHx2b2lkIDB4MD09PV8weDFmMjkwMD92b2lkIDB4MDpfMHgxZjI5MDBbXzB4NWI2MzdmKCcweDU4ZCcpXSkmJnZvaWQgMHgwIT09XzB4NDE5ODQ0P18weDQxOTg0NDpfMHgxMzQ3ZDBbJ2lkZW50aWZpZXJPckNyaXRlcmlhJ119LFsweDQsKDB4MCxfMHgxNDI5MmJbXzB4NWI2MzdmKCcweGNlYycpXSkoXzB4M2VkMTc3LF8weDEzNDdkMCxfMHgzZDI1NTEsXzB4NDAzYjcyW18weDViNjM3ZignMHg1N2QnKV0oXzB4MTM0N2QwKSldO2Nhc2UgMHgxOnJldHVybiBfMHg1NGRmY2RbXzB4NWI2MzdmKCcweDFkOCcpXT1fMHgzYjZjN2RbXzB4NWI2MzdmKCcweDkxNCcpXSgpLFsweDQsXzB4MjRjYThlXTtjYXNlIDB4MjpyZXR1cm5bMHgyLChfMHg1NGRmY2RbXzB4NWI2MzdmKCcweGNmNCcpXT1fMHgzYjZjN2RbXzB4NWI2MzdmKCcweDkxNCcpXSgpLF8weDU0ZGZjZFtfMHg1YjYzN2YoJzB4YzU4JyldPV8weDEzNDdkMFtfMHg1YjYzN2YoJzB4YzU4JyldLF8weDU0ZGZjZCldO319KTt9KTt9KSldO30pO30pO30sXzB4MzA4OGU4W18weDJhMWRiMSgnMHg1MTQnKV09ZnVuY3Rpb24oXzB4NTcwYmRmKXt2YXIgXzB4NTA3YjQ5PV8weDJhMWRiMSxfMHgyMjYzNTY9XzB4NTcwYmRmW18weDUwN2I0OSgnMHg2MDInKV0sXzB4MmQ1NGJlPV8weDU3MGJkZlsndG9rZW5BbmRJZGVudGlmaWVyQW1vdW50cyddLF8weDU0ZjZmMT1fMHg1NzBiZGZbJ29wZXJhdG9yJ10sXzB4MjU2YmNkPV8weDQxZGE4NihbXSxfMHg0ZWUwNWEoT2JqZWN0W18weDUwN2I0OSgnMHgzZDknKV0oXzB4MmQ1NGJlKVtfMHg1MDdiNDkoJzB4M2M5JyldKGZ1bmN0aW9uKF8weDJiZTZkMyl7dmFyIF8weDU3ZmEyYz1fMHg1MDdiNDksXzB4MmQwN2Q4PV8weDRlZTA1YShfMHgyYmU2ZDMsMHgyKSxfMHgxNmUwMDQ9XzB4MmQwN2Q4WzB4MF0sXzB4NTY2NTk0PV8weDJkMDdkOFsweDFdO3JldHVybiBPYmplY3RbXzB4NTdmYTJjKCcweDNkOScpXShfMHg1NjY1OTQpW18weDU3ZmEyYygnMHgzYzknKV0oZnVuY3Rpb24oXzB4M2Q0M2FjKXt2YXIgXzB4NTkwYzAxPV8weDRlZTA1YShfMHgzZDQzYWMsMHgyKSxfMHg1NzhjMjI9XzB4NTkwYzAxWzB4MF0sXzB4ZmYxYmRlPV8weDU5MGMwMVsweDFdO3JldHVybltfMHgxNmUwMDQsXzB4NTc4YzIyLF8weGZmMWJkZV07fSk7fSkpLCEweDEpWydmbGF0J10oKSxfMHgyNWY0YjE9ZnVuY3Rpb24oXzB4MWIyY2E4KXt2YXIgXzB4NDgxYTAyPV8weDUwN2I0OTtyZXR1cm4gXzB4MjU2YmNkWydmaWx0ZXInXShmdW5jdGlvbihfMHgzN2RmYjcpe3ZhciBfMHgzOGU2MT1fMHg0ZWUwNWEoXzB4MzdkZmI3LDB4MyksXzB4M2MwYTM4PV8weDM4ZTYxWzB4MF0sXzB4MWY2NTBkPV8weDM4ZTYxWzB4MV0sXzB4ZTJmNmQzPV8weDM4ZTYxWzB4Ml07cmV0dXJuIF8weDFhNzQzNShfMHgyMjYzNTYsXzB4M2MwYTM4LF8weDFmNjUwZClbXzB4MWIyY2E4XVsnbHQnXShfMHhlMmY2ZDMpO30pW18weDQ4MWEwMignMHgzYzknKV0oZnVuY3Rpb24oXzB4MjA3YjQ2KXt2YXIgXzB4Mjg1NTMyPV8weDRlZTA1YShfMHgyMDdiNDYsMHgzKSxfMHgyMGNiZDQ9XzB4Mjg1NTMyWzB4MF0sXzB4MzA2NWM2PV8weDI4NTUzMlsweDFdLF8weGI5ZDg1Mz1fMHgyODU1MzJbMHgyXSxfMHg4ZjViNDA9XzB4MWE3NDM1KF8weDIyNjM1NixfMHgyMGNiZDQsXzB4MzA2NWM2KTtyZXR1cm57J3Rva2VuJzpfMHgyMGNiZDQsJ2lkZW50aWZpZXJPckNyaXRlcmlhJzpfMHgzMDY1YzYsJ3JlcXVpcmVkQW1vdW50JzpfMHhiOWQ4NTMsJ2Ftb3VudEhhdmUnOl8weDhmNWI0MFtfMHgxYjJjYThdLCdpdGVtVHlwZSc6XzB4OGY1YjQwWydpdGVtVHlwZSddfTt9KTt9LF8weDI1YzcwNj1fMHg0ZWUwNWEoW18weDI1ZjRiMShfMHg1MDdiNDkoJzB4MWQ4JykpLF8weDI1ZjRiMShfMHg1MDdiNDkoJzB4Y2Y0JykpWydtYXAnXShmdW5jdGlvbihfMHg0MjMyMTYpe3ZhciBfMHgxOTU3NmY9XzB4NTA3YjQ5O3JldHVybnsndG9rZW4nOl8weDQyMzIxNlsndG9rZW4nXSwnaWRlbnRpZmllck9yQ3JpdGVyaWEnOl8weDQyMzIxNltfMHgxOTU3NmYoJzB4MjgwJyldLCdhcHByb3ZlZEFtb3VudCc6XzB4NDIzMjE2W18weDE5NTc2ZignMHg5NTcnKV0sJ3JlcXVpcmVkQXBwcm92ZWRBbW91bnQnOl8weDQyMzIxNltfMHgxOTU3NmYoJzB4NTg3JyldLCdpdGVtVHlwZSc6XzB4NDIzMjE2W18weDE5NTc2ZignMHhjNTgnKV0sJ29wZXJhdG9yJzpfMHg1NGY2ZjF9O30pXSwweDIpO3JldHVybnsnaW5zdWZmaWNpZW50QmFsYW5jZXMnOl8weDI1YzcwNlsweDBdLCdpbnN1ZmZpY2llbnRBcHByb3ZhbHMnOl8weDI1YzcwNlsweDFdfTt9LF8weDMwODhlOFtfMHgyYTFkYjEoJzB4YWVjJyldPWZ1bmN0aW9uKF8weDUxNGRmNCl7dmFyIF8weDMwZWJhMj1fMHgyYTFkYjEsXzB4M2U0OWRiPV8weDUxNGRmNFtfMHgzMGViYTIoJzB4OTM5JyldLF8weDFmMmY0ND1fMHg1MTRkZjRbXzB4MzBlYmEyKCcweDQwYicpXSxfMHg2MmE1Njk9XzB4NTE0ZGY0W18weDMwZWJhMignMHg2MDInKV0sXzB4NzNkMWExPV8weDUxNGRmNFtfMHgzMGViYTIoJzB4OTA4JyldLF8weDE4NGJmMj1fMHg1MTRkZjRbXzB4MzBlYmEyKCcweDljMicpXSxfMHhmODViNDM9dm9pZCAweDA9PT1fMHgxODRiZjJ8fF8weDE4NGJmMixfMHg1OGZkNjI9XzB4NTE0ZGY0Wyd0aHJvd09uSW5zdWZmaWNpZW50QXBwcm92YWxzJ10sXzB4NWIwNTM0PV8weDUxNGRmNFsnb3BlcmF0b3InXSxfMHhkZDAyZGQ9KDB4MCxfMHgzMDg4ZThbXzB4MzBlYmEyKCcweDUxNCcpXSkoeydiYWxhbmNlc0FuZEFwcHJvdmFscyc6XzB4NjJhNTY5LCd0b2tlbkFuZElkZW50aWZpZXJBbW91bnRzJzooMHgwLF8weDRmMTI4MFtfMHgzMGViYTIoJzB4ZDJlJyldKSh7J2l0ZW1zJzpfMHgzZTQ5ZGIsJ2NyaXRlcmlhcyc6XzB4MWYyZjQ0LCd0aW1lQmFzZWRJdGVtUGFyYW1zJzpfMHg3M2QxYTE/XzB4MmZiMWFhKF8weDJmYjFhYSh7fSxfMHg3M2QxYTEpLHsnaXNDb25zaWRlcmF0aW9uSXRlbSc6ITB4MX0pOnZvaWQgMHgwfSksJ29wZXJhdG9yJzpfMHg1YjA1MzR9KSxfMHg1OGVlMTk9XzB4ZGQwMmRkW18weDMwZWJhMignMHhhMDQnKV0sXzB4NTg1YmJiPV8weGRkMDJkZFtfMHgzMGViYTIoJzB4YWE1JyldO2lmKF8weGY4NWI0MyYmXzB4NThlZTE5W18weDMwZWJhMignMHg1MjAnKV0+MHgwKXRocm93IG5ldyBFcnJvcignVGhlXHgyMG9mZmVyZXJceDIwZG9lc1x4MjBub3RceDIwaGF2ZVx4MjB0aGVceDIwYW1vdW50XHgyMG5lZWRlZFx4MjB0b1x4MjBjcmVhdGVceDIwb3JceDIwZnVsZmlsbC4nKTtpZihfMHg1OGZkNjImJl8weDU4NWJiYlsnbGVuZ3RoJ10+MHgwKXRocm93IG5ldyBFcnJvcignVGhlXHgyMG9mZmVyZXJceDIwZG9lc1x4MjBub3RceDIwaGF2ZVx4MjB0aGVceDIwc3VmZmljaWVudFx4MjBhcHByb3ZhbHMuJyk7cmV0dXJuIF8weDU4NWJiYjt9LF8weDMwODhlOFtfMHgyYTFkYjEoJzB4OGM2JyldPWZ1bmN0aW9uKF8weDJjNTc4OCl7dmFyIF8weDM0NGI0YT1fMHgyYTFkYjEsXzB4MWNjNzE1PV8weDJjNTc4OFtfMHgzNDRiNGEoJzB4OTM5JyldLF8weGVkNmJkMT1fMHgyYzU3ODhbXzB4MzQ0YjRhKCcweDNhMicpXSxfMHgzMTcyYzI9XzB4MmM1Nzg4W18weDM0NGI0YSgnMHg3ZmEnKV0sXzB4MjQ1YWVmPV8weDJjNTc4OFsnZnVsZmlsbGVyQmFsYW5jZXNBbmRBcHByb3ZhbHMnXSxfMHhhNTg5NTA9XzB4MmM1Nzg4W18weDM0NGI0YSgnMHg5MDgnKV0sXzB4MzE5YzNlPV8weDJjNTc4OFtfMHgzNDRiNGEoJzB4NjBiJyldLF8weDU4MTgwYj1fMHgyYzU3ODhbXzB4MzQ0YjRhKCcweDQxZScpXTsoMHgwLF8weDMwODhlOFtfMHgzNDRiNGEoJzB4YWVjJyldKSh7J29mZmVyJzpfMHgxY2M3MTUsJ2NyaXRlcmlhcyc6W10sJ2JhbGFuY2VzQW5kQXBwcm92YWxzJzpfMHgzMTcyYzIsJ3RpbWVCYXNlZEl0ZW1QYXJhbXMnOl8weGE1ODk1MCwndGhyb3dPbkluc3VmZmljaWVudEFwcHJvdmFscyc6ITB4MCwnb3BlcmF0b3InOl8weDMxOWMzZX0pO3ZhciBfMHgzMzFkYzI9XzB4ZWQ2YmQxW18weDM0NGI0YSgnMHgzYWInKV0oZnVuY3Rpb24oXzB4ZjgzMTZjKXt2YXIgXzB4NWQxNjdjPV8weDM0NGI0YTtyZXR1cm4gXzB4ZjgzMTZjW18weDVkMTY3YygnMHhjNTgnKV0hPT1fMHgxY2M3MTVbMHgwXVsnaXRlbVR5cGUnXTt9KSxfMHgzYzdhOGM9KDB4MCxfMHgzMDg4ZThbXzB4MzQ0YjRhKCcweDUxNCcpXSkoeydiYWxhbmNlc0FuZEFwcHJvdmFscyc6XzB4MjQ1YWVmLCd0b2tlbkFuZElkZW50aWZpZXJBbW91bnRzJzooMHgwLF8weDRmMTI4MFtfMHgzNDRiNGEoJzB4ZDJlJyldKSh7J2l0ZW1zJzpfMHgzMzFkYzIsJ2NyaXRlcmlhcyc6W10sJ3RpbWVCYXNlZEl0ZW1QYXJhbXMnOl8weDJmYjFhYShfMHgyZmIxYWEoe30sXzB4YTU4OTUwKSx7J2lzQ29uc2lkZXJhdGlvbkl0ZW0nOiEweDB9KX0pLCdvcGVyYXRvcic6XzB4NTgxODBifSksXzB4MWRlM2Y3PV8weDNjN2E4Y1tfMHgzNDRiNGEoJzB4YTA0JyldLF8weDRlYTA5Nz1fMHgzYzdhOGNbXzB4MzQ0YjRhKCcweGFhNScpXTtpZihfMHgxZGUzZjdbJ2xlbmd0aCddPjB4MCl0aHJvdyBuZXcgRXJyb3IoJ1RoZVx4MjBmdWxmaWxsZXJceDIwZG9lc1x4MjBub3RceDIwaGF2ZVx4MjB0aGVceDIwYmFsYW5jZXNceDIwbmVlZGVkXHgyMHRvXHgyMGZ1bGZpbGwuJyk7cmV0dXJuIF8weDRlYTA5Nzt9LF8weDMwODhlOFtfMHgyYTFkYjEoJzB4NDk5JyldPWZ1bmN0aW9uKF8weDNlMjU0ZCl7dmFyIF8weDM0ZDRlMz1fMHgyYTFkYjEsXzB4ZTFkZWQ0PV8weDNlMjU0ZFtfMHgzNGQ0ZTMoJzB4OTM5JyldLF8weDM2ZmY0Yz1fMHgzZTI1NGRbXzB4MzRkNGUzKCcweDNhMicpXSxfMHhjZGUxOTk9XzB4M2UyNTRkW18weDM0ZDRlMygnMHgzNTEnKV0sXzB4NDFmZTNiPV8weDNlMjU0ZFtfMHgzNGQ0ZTMoJzB4NzRmJyldLF8weDFhZTFlZT1fMHgzZTI1NGRbXzB4MzRkNGUzKCcweDdmYScpXSxfMHg1OTc1OWQ9XzB4M2UyNTRkW18weDM0ZDRlMygnMHgzMTMnKV0sXzB4MmEyYmY2PV8weDNlMjU0ZFtfMHgzNGQ0ZTMoJzB4OTA4JyldLF8weGRlM2YyPV8weDNlMjU0ZFtfMHgzNGQ0ZTMoJzB4NjBiJyldLF8weDE4YjI5Zj1fMHgzZTI1NGRbXzB4MzRkNGUzKCcweDQxZScpXTsoMHgwLF8weDMwODhlOFtfMHgzNGQ0ZTMoJzB4YWVjJyldKSh7J29mZmVyJzpfMHhlMWRlZDQsJ2NyaXRlcmlhcyc6XzB4Y2RlMTk5LCdiYWxhbmNlc0FuZEFwcHJvdmFscyc6XzB4MWFlMWVlLCd0aW1lQmFzZWRJdGVtUGFyYW1zJzpfMHgyYTJiZjYsJ3Rocm93T25JbnN1ZmZpY2llbnRBcHByb3ZhbHMnOiEweDAsJ29wZXJhdG9yJzpfMHhkZTNmMn0pO3ZhciBfMHg0NjZjN2Y9XzB4NDM2ZWE5KHsnaXRlbXMnOl8weGUxZGVkNCwnY3JpdGVyaWFzJzpfMHhjZGUxOTksJ2JhbGFuY2VzQW5kQXBwcm92YWxzJzpfMHg1OTc1OWQsJ3RpbWVCYXNlZEl0ZW1QYXJhbXMnOl8weDJhMmJmNn0pLF8weDE4YjA2OT0oMHgwLF8weDMwODhlOFtfMHgzNGQ0ZTMoJzB4NTE0JyldKSh7J2JhbGFuY2VzQW5kQXBwcm92YWxzJzpfMHg0NjZjN2YsJ3Rva2VuQW5kSWRlbnRpZmllckFtb3VudHMnOigweDAsXzB4NGYxMjgwWydnZXRTdW1tZWRUb2tlbkFuZElkZW50aWZpZXJBbW91bnRzJ10pKHsnaXRlbXMnOl8weDM2ZmY0YywnY3JpdGVyaWFzJzpfMHg0MWZlM2IsJ3RpbWVCYXNlZEl0ZW1QYXJhbXMnOl8weDJmYjFhYShfMHgyZmIxYWEoe30sXzB4MmEyYmY2KSx7J2lzQ29uc2lkZXJhdGlvbkl0ZW0nOiEweDB9KX0pLCdvcGVyYXRvcic6XzB4MThiMjlmfSksXzB4NWU0NDkzPV8weDE4YjA2OVsnaW5zdWZmaWNpZW50QmFsYW5jZXMnXSxfMHg4ZDgxZGI9XzB4MThiMDY5WydpbnN1ZmZpY2llbnRBcHByb3ZhbHMnXTtpZihfMHg1ZTQ0OTNbXzB4MzRkNGUzKCcweDUyMCcpXT4weDApdGhyb3cgbmV3IEVycm9yKCdUaGVceDIwZnVsZmlsbGVyXHgyMGRvZXNceDIwbm90XHgyMGhhdmVceDIwdGhlXHgyMGJhbGFuY2VzXHgyMG5lZWRlZFx4MjB0b1x4MjBmdWxmaWxsLicpO3JldHVybiBfMHg4ZDgxZGI7fTt2YXIgXzB4NDM2ZWE5PWZ1bmN0aW9uKF8weDU5YjdhMyl7dmFyIF8weDE5MTZjNj1fMHgyYTFkYjEsXzB4MmU4MWNiPV8weDU5YjdhM1tfMHgxOTE2YzYoJzB4YzI4JyldLF8weDQzZTQ5OD1fMHg1OWI3YTNbXzB4MTkxNmM2KCcweDQwYicpXSxfMHg0YzkzMmY9XzB4NTliN2EzWyd0aW1lQmFzZWRJdGVtUGFyYW1zJ10sXzB4NTUyNjBmPV8weDU5YjdhM1tfMHgxOTE2YzYoJzB4NjAyJyldLF8weDIxYzI3Mz0oMHgwLF8weDRmMTI4MFtfMHgxOTE2YzYoJzB4ZDJlJyldKSh7J2l0ZW1zJzpfMHgyZTgxY2IsJ2NyaXRlcmlhcyc6XzB4NDNlNDk4LCd0aW1lQmFzZWRJdGVtUGFyYW1zJzpfMHgyZmIxYWEoXzB4MmZiMWFhKHt9LF8weDRjOTMyZikseydpc0NvbnNpZGVyYXRpb25JdGVtJzohMHgxfSl9KSxfMHg0MmYwOGI9XzB4NTUyNjBmWydtYXAnXShmdW5jdGlvbihfMHg0YzhiYzkpe3JldHVybiBfMHgyZmIxYWEoe30sXzB4NGM4YmM5KTt9KTtyZXR1cm4gT2JqZWN0W18weDE5MTZjNignMHgzZDknKV0oXzB4MjFjMjczKVtfMHgxOTE2YzYoJzB4NTFlJyldKGZ1bmN0aW9uKF8weDExNWNmOSl7dmFyIF8weDc4NGIxMj1fMHgxOTE2YzYsXzB4NGZiOGY2PV8weDRlZTA1YShfMHgxMTVjZjksMHgyKSxfMHg4Yjg1MTA9XzB4NGZiOGY2WzB4MF0sXzB4NGEwYzVmPV8weDRmYjhmNlsweDFdO3JldHVybiBPYmplY3RbXzB4Nzg0YjEyKCcweDNkOScpXShfMHg0YTBjNWYpWydmb3JFYWNoJ10oZnVuY3Rpb24oXzB4NDhkM2FkKXt2YXIgXzB4Y2UwNTNiPV8weDc4NGIxMixfMHgyNGE3YTc9XzB4NGVlMDVhKF8weDQ4ZDNhZCwweDIpLF8weGQ5ZDBkZj1fMHgyNGE3YTdbMHgwXSxfMHgxNWIwNTM9XzB4MjRhN2E3WzB4MV0sXzB4MmU2ZWUyPV8weDFhNzQzNShfMHg0MmYwOGIsXzB4OGI4NTEwLF8weGQ5ZDBkZiksXzB4MzkyZDhkPV8weDQyZjA4YltfMHhjZTA1M2IoJzB4YWMwJyldKF8weDJlNmVlMik7XzB4NDJmMDhiW18weDM5MmQ4ZF1bXzB4Y2UwNTNiKCcweDFkOCcpXT1fMHg0MmYwOGJbXzB4MzkyZDhkXVsnYmFsYW5jZSddWydhZGQnXShfMHgxNWIwNTMpO30pO30pLF8weDQyZjA4Yjt9O30sMHgxNTdhOmZ1bmN0aW9uKF8weDUwOTdhOSxfMHgzMDgxNGMsXzB4MTQxYzRiKXsndXNlIHN0cmljdCc7dmFyIF8weDJiN2NiZT1fMHgxNWEzO3ZhciBfMHgyMWQ3OTI9dGhpcyYmdGhpc1tfMHgyYjdjYmUoJzB4OWQ2JyldfHxmdW5jdGlvbihfMHgzNmY2MWQsXzB4MzU0MzYzKXt2YXIgXzB4MTA1OGUxPV8weDJiN2NiZSxfMHg1Njc5Y2Y9XzB4MTA1OGUxKCcweGM3YicpPT10eXBlb2YgU3ltYm9sJiZfMHgzNmY2MWRbU3ltYm9sW18weDEwNThlMSgnMHg3NmMnKV1dO2lmKCFfMHg1Njc5Y2YpcmV0dXJuIF8weDM2ZjYxZDt2YXIgXzB4MTQ2MmQxLF8weDNhZGQ4ZixfMHg0ZjZlZTU9XzB4NTY3OWNmW18weDEwNThlMSgnMHg1ZmQnKV0oXzB4MzZmNjFkKSxfMHg0NWQxODA9W107dHJ5e2Zvcig7KHZvaWQgMHgwPT09XzB4MzU0MzYzfHxfMHgzNTQzNjMtLT4weDApJiYhKF8weDE0NjJkMT1fMHg0ZjZlZTVbJ25leHQnXSgpKVsnZG9uZSddOylfMHg0NWQxODBbXzB4MTA1OGUxKCcweDhiNycpXShfMHgxNDYyZDFbXzB4MTA1OGUxKCcweDg5ZCcpXSk7fWNhdGNoKF8weDFkZWQyNyl7XzB4M2FkZDhmPXsnZXJyb3InOl8weDFkZWQyN307fWZpbmFsbHl7dHJ5e18weDE0NjJkMSYmIV8weDE0NjJkMVtfMHgxMDU4ZTEoJzB4YzVjJyldJiYoXzB4NTY3OWNmPV8weDRmNmVlNVtfMHgxMDU4ZTEoJzB4NmZlJyldKSYmXzB4NTY3OWNmWydjYWxsJ10oXzB4NGY2ZWU1KTt9ZmluYWxseXtpZihfMHgzYWRkOGYpdGhyb3cgXzB4M2FkZDhmW18weDEwNThlMSgnMHhjOWUnKV07fX1yZXR1cm4gXzB4NDVkMTgwO30sXzB4Mjg1OWZhPXRoaXMmJnRoaXNbJ19fc3ByZWFkQXJyYXknXXx8ZnVuY3Rpb24oXzB4MTU3Y2UzLF8weDJlYjdlMSxfMHgxMDJjMzApe3ZhciBfMHg1NGIwNGE9XzB4MmI3Y2JlO2lmKF8weDEwMmMzMHx8MHgyPT09YXJndW1lbnRzW18weDU0YjA0YSgnMHg1MjAnKV0pe2Zvcih2YXIgXzB4NTNiNmM5LF8weDM4NDNkZD0weDAsXzB4MzVmYTM4PV8weDJlYjdlMVtfMHg1NGIwNGEoJzB4NTIwJyldO18weDM4NDNkZDxfMHgzNWZhMzg7XzB4Mzg0M2RkKyspIV8weDUzYjZjOSYmXzB4Mzg0M2RkIGluIF8weDJlYjdlMXx8KF8weDUzYjZjOXx8KF8weDUzYjZjOT1BcnJheVtfMHg1NGIwNGEoJzB4NzU2JyldW18weDU0YjA0YSgnMHhhZGEnKV1bXzB4NTRiMDRhKCcweDVmZCcpXShfMHgyZWI3ZTEsMHgwLF8weDM4NDNkZCkpLF8weDUzYjZjOVtfMHgzODQzZGRdPV8weDJlYjdlMVtfMHgzODQzZGRdKTt9cmV0dXJuIF8weDE1N2NlM1tfMHg1NGIwNGEoJzB4NTMwJyldKF8weDUzYjZjOXx8QXJyYXlbXzB4NTRiMDRhKCcweDc1NicpXVsnc2xpY2UnXVtfMHg1NGIwNGEoJzB4NWZkJyldKF8weDJlYjdlMSkpO307T2JqZWN0W18weDJiN2NiZSgnMHgyYjQnKV0oXzB4MzA4MTRjLF8weDJiN2NiZSgnMHhjZDInKSx7J3ZhbHVlJzohMHgwfSksXzB4MzA4MTRjW18weDJiN2NiZSgnMHg2YjUnKV09XzB4MzA4MTRjWydnZW5lcmF0ZUNyaXRlcmlhUmVzb2x2ZXJzJ109dm9pZCAweDA7dmFyIF8weDViMjVmMz1fMHgxNDFjNGIoMHgxZDFjKSxfMHg1ZWUyNGI9XzB4MTQxYzRiKDB4MjZiZik7XzB4MzA4MTRjW18weDJiN2NiZSgnMHgyN2YnKV09ZnVuY3Rpb24oXzB4NDBjMTg0KXt2YXIgXzB4NWQxYTUwPV8weDJiN2NiZSxfMHgxYTg4NmI9XzB4NDBjMTg0W18weDVkMWE1MCgnMHhjZjMnKV0sXzB4NWFmMTcwPV8weDQwYzE4NFtfMHg1ZDFhNTAoJzB4MzEwJyldLF8weDUxMmI3NT12b2lkIDB4MD09PV8weDVhZjE3MD9bW11dOl8weDVhZjE3MCxfMHgxNjM2MjM9XzB4NDBjMTg0W18weDVkMWE1MCgnMHhiZDknKV0sXzB4NTE5Y2RkPXZvaWQgMHgwPT09XzB4MTYzNjIzP1tbXV06XzB4MTYzNjIzLF8weDMzMmRkOT1fMHgxYTg4NmJbXzB4NWQxYTUwKCcweDU4MycpXShmdW5jdGlvbihfMHg4MmUxYjcsXzB4MzI3MGQ3KXt2YXIgXzB4MmFkODQ1PV8weDVkMWE1MDtyZXR1cm4gXzB4ODJlMWI3W18weDJhZDg0NSgnMHhkNGEnKV1bJ29mZmVyJ11bXzB4MmFkODQ1KCcweDNjOScpXShmdW5jdGlvbihfMHgxNjkxMjMsXzB4MjdkNzExKXt2YXIgXzB4MWJkZWFkPV8weDJhZDg0NTtyZXR1cm57J29yZGVySW5kZXgnOl8weDMyNzBkNywnaXRlbSc6XzB4MTY5MTIzLCdpbmRleCc6XzB4MjdkNzExLCdzaWRlJzpfMHg1YjI1ZjNbXzB4MWJkZWFkKCcweGI5NScpXVtfMHgxYmRlYWQoJzB4YWU2JyldfTt9KVtfMHgyYWQ4NDUoJzB4M2FiJyldKGZ1bmN0aW9uKF8weDRiNWY1OSl7dmFyIF8weDI1OTAxND1fMHgyYWQ4NDUsXzB4MTI0NDMxPV8weDRiNWY1OVtfMHgyNTkwMTQoJzB4NzQ1JyldO3JldHVybigweDAsXzB4NWVlMjRiW18weDI1OTAxNCgnMHgxYmEnKV0pKF8weDEyNDQzMVtfMHgyNTkwMTQoJzB4YzU4JyldKTt9KTt9KSxfMHgxNGFjZDc9XzB4MWE4ODZiW18weDVkMWE1MCgnMHg1ODMnKV0oZnVuY3Rpb24oXzB4MzFjYzY0LF8weDUzNGVmYyl7dmFyIF8weDQ5ZGRhYz1fMHg1ZDFhNTA7cmV0dXJuIF8weDMxY2M2NFsncGFyYW1ldGVycyddW18weDQ5ZGRhYygnMHgzYTInKV1bXzB4NDlkZGFjKCcweDNjOScpXShmdW5jdGlvbihfMHgyNjkzZGQsXzB4MzliMTczKXt2YXIgXzB4MjM4OTIxPV8weDQ5ZGRhYztyZXR1cm57J29yZGVySW5kZXgnOl8weDUzNGVmYywnaXRlbSc6XzB4MjY5M2RkLCdpbmRleCc6XzB4MzliMTczLCdzaWRlJzpfMHg1YjI1ZjNbJ1NpZGUnXVtfMHgyMzg5MjEoJzB4ODcxJyldfTt9KVtfMHg0OWRkYWMoJzB4M2FiJyldKGZ1bmN0aW9uKF8weDRmMzZmOCl7dmFyIF8weDMyZGZhNz1fMHg0OWRkYWMsXzB4NDgyMjdhPV8weDRmMzZmOFtfMHgzMmRmYTcoJzB4NzQ1JyldO3JldHVybigweDAsXzB4NWVlMjRiWydpc0NyaXRlcmlhSXRlbSddKShfMHg0ODIyN2FbJ2l0ZW1UeXBlJ10pO30pO30pLF8weDFhNzY1NT1mdW5jdGlvbihfMHg1NTkwNGEsXzB4MjI1MmJhKXt2YXIgXzB4M2E2YT1fMHg1ZDFhNTA7cmV0dXJuIF8weDU1OTA0YVtfMHgzYTZhKCcweDNjOScpXShmdW5jdGlvbihfMHgyZTdhZTApe3ZhciBfMHg4Y2MwNDA9XzB4M2E2YSxfMHgxNjJkYjU9XzB4MmU3YWUwW18weDhjYzA0MCgnMHg2Y2QnKV0sXzB4NGQzZGI3PV8weDJlN2FlMFtfMHg4Y2MwNDAoJzB4NzQ1JyldLF8weDM0MWIxMj1fMHgyZTdhZTBbXzB4OGNjMDQwKCcweGI1ZScpXSxfMHgyNzlmYWQ9XzB4MmU3YWUwW18weDhjYzA0MCgnMHhiNmUnKV0sXzB4NDQyZGIyPV8weDRkM2RiN1tfMHg4Y2MwNDAoJzB4MjgwJyldfHwnMCcsXzB4NGM3MWJjPV8weDIyNTJiYVtfMHgxNjJkYjVdW18weDM0MWIxMl07cmV0dXJueydvcmRlckluZGV4JzpfMHgxNjJkYjUsJ2luZGV4JzpfMHgzNDFiMTIsJ3NpZGUnOl8weDI3OWZhZCwnaWRlbnRpZmllcic6XzB4NGM3MWJjW18weDhjYzA0MCgnMHg1OGQnKV0sJ2NyaXRlcmlhUHJvb2YnOicwJz09PV8weDQ0MmRiMj9bXTpfMHg0YzcxYmNbJ3Byb29mJ119O30pO307cmV0dXJuIF8weDI4NTlmYShfMHgyODU5ZmEoW10sXzB4MjFkNzkyKF8weDFhNzY1NShfMHgzMzJkZDksXzB4NTEyYjc1KSksITB4MSksXzB4MjFkNzkyKF8weDFhNzY1NShfMHgxNGFjZDcsXzB4NTE5Y2RkKSksITB4MSk7fSxfMHgzMDgxNGNbXzB4MmI3Y2JlKCcweDZiNScpXT1mdW5jdGlvbihfMHgxNDNjZDksXzB4NTJlZWU0KXt2YXIgXzB4MzExYjE3PV8weDI4NTlmYShbXSxfMHgyMWQ3OTIoXzB4NTJlZWU0KSwhMHgxKTtyZXR1cm4gXzB4MTQzY2Q5WydyZWR1Y2UnXShmdW5jdGlvbihfMHg0Mjg5Y2MsXzB4MTdhMzE2KXt2YXIgXzB4MTgyNTVmPV8weDE1YTM7cmV0dXJuKDB4MCxfMHg1ZWUyNGJbXzB4MTgyNTVmKCcweDFiYScpXSkoXzB4MTdhMzE2WydpdGVtVHlwZSddKSYmXzB4NDI4OWNjW18weDE4MjU1ZignMHhjYWMnKV0oXzB4MTdhMzE2LF8weDMxMWIxN1tfMHgxODI1NWYoJzB4N2E4JyldKCkpLF8weDQyODljYzt9LG5ldyBNYXAoKSk7fTt9LDB4ZDM0OmZ1bmN0aW9uKF8weDVhYTE4MCxfMHhhOTc4MTcsXzB4MjM4NTI5KXsndXNlIHN0cmljdCc7dmFyIF8weDVhNzEzZj1fMHgxNWEzO3ZhciBfMHg0YjhmNDU9dGhpcyYmdGhpc1tfMHg1YTcxM2YoJzB4OWQ2JyldfHxmdW5jdGlvbihfMHg4MTQ0NGUsXzB4MTk2ZGMyKXt2YXIgXzB4MTdkMzAwPV8weDVhNzEzZixfMHgxYzUxYWE9XzB4MTdkMzAwKCcweGM3YicpPT10eXBlb2YgU3ltYm9sJiZfMHg4MTQ0NGVbU3ltYm9sW18weDE3ZDMwMCgnMHg3NmMnKV1dO2lmKCFfMHgxYzUxYWEpcmV0dXJuIF8weDgxNDQ0ZTt2YXIgXzB4MzA1MWNlLF8weDJmZWNlOCxfMHg0NGE4NzE9XzB4MWM1MWFhW18weDE3ZDMwMCgnMHg1ZmQnKV0oXzB4ODE0NDRlKSxfMHgxM2EzZWQ9W107dHJ5e2Zvcig7KHZvaWQgMHgwPT09XzB4MTk2ZGMyfHxfMHgxOTZkYzItLT4weDApJiYhKF8weDMwNTFjZT1fMHg0NGE4NzFbXzB4MTdkMzAwKCcweDc0MCcpXSgpKVsnZG9uZSddOylfMHgxM2EzZWRbJ3B1c2gnXShfMHgzMDUxY2VbJ3ZhbHVlJ10pO31jYXRjaChfMHg0NDc5NGMpe18weDJmZWNlOD17J2Vycm9yJzpfMHg0NDc5NGN9O31maW5hbGx5e3RyeXtfMHgzMDUxY2UmJiFfMHgzMDUxY2VbJ2RvbmUnXSYmKF8weDFjNTFhYT1fMHg0NGE4NzFbXzB4MTdkMzAwKCcweDZmZScpXSkmJl8weDFjNTFhYVtfMHgxN2QzMDAoJzB4NWZkJyldKF8weDQ0YTg3MSk7fWZpbmFsbHl7aWYoXzB4MmZlY2U4KXRocm93IF8weDJmZWNlOFtfMHgxN2QzMDAoJzB4YzllJyldO319cmV0dXJuIF8weDEzYTNlZDt9LF8weDI0YmQzMD10aGlzJiZ0aGlzW18weDVhNzEzZignMHhhYjgnKV18fGZ1bmN0aW9uKF8weDQ5NDE4MSxfMHgxMDYzMmYsXzB4NDAyNjI2KXt2YXIgXzB4MTQ1MWUzPV8weDVhNzEzZjtpZihfMHg0MDI2MjZ8fDB4Mj09PWFyZ3VtZW50c1tfMHgxNDUxZTMoJzB4NTIwJyldKXtmb3IodmFyIF8weDE4YmYxYyxfMHg1MGUxZGY9MHgwLF8weDI4OGZmYT1fMHgxMDYzMmZbXzB4MTQ1MWUzKCcweDUyMCcpXTtfMHg1MGUxZGY8XzB4Mjg4ZmZhO18weDUwZTFkZisrKSFfMHgxOGJmMWMmJl8weDUwZTFkZiBpbiBfMHgxMDYzMmZ8fChfMHgxOGJmMWN8fChfMHgxOGJmMWM9QXJyYXlbXzB4MTQ1MWUzKCcweDc1NicpXVtfMHgxNDUxZTMoJzB4YWRhJyldW18weDE0NTFlMygnMHg1ZmQnKV0oXzB4MTA2MzJmLDB4MCxfMHg1MGUxZGYpKSxfMHgxOGJmMWNbXzB4NTBlMWRmXT1fMHgxMDYzMmZbXzB4NTBlMWRmXSk7fXJldHVybiBfMHg0OTQxODFbJ2NvbmNhdCddKF8weDE4YmYxY3x8QXJyYXlbJ3Byb3RvdHlwZSddW18weDE0NTFlMygnMHhhZGEnKV1bXzB4MTQ1MWUzKCcweDVmZCcpXShfMHgxMDYzMmYpKTt9O09iamVjdFtfMHg1YTcxM2YoJzB4MmI0JyldKF8weGE5NzgxNywnX19lc01vZHVsZScseyd2YWx1ZSc6ITB4MH0pLF8weGE5NzgxN1tfMHg1YTcxM2YoJzB4NzEzJyldPXZvaWQgMHgwO3ZhciBfMHgxNzBlYzk9XzB4MjM4NTI5KDB4MTcyYiksXzB4NDJmMmI2PV8weDIzODUyOSgweDE4ZTMpLF8weGMzMWRjZj1fMHgyMzg1MjkoMHg4NzIpLF8weDMzYTI4ZD1fMHgyMzg1MjkoMHgxMDA3KSxfMHg1ZTI3ZDI9XzB4MjM4NTI5KDB4MWVjZSksXzB4MTQ5NWQzPShmdW5jdGlvbigpe3ZhciBfMHgyMWY1NDg9XzB4NWE3MTNmO2Z1bmN0aW9uIF8weDRkNjVhNChfMHgzOGI3Y2UsXzB4MmMwNmZiLF8weDMwNDJlMyxfMHgzOTA2NjYsXzB4MWJlMGNkKXt2YXIgXzB4M2Y3MDc1PV8weDE1YTM7dGhpc1tfMHgzZjcwNzUoJzB4YjkzJyldPV8weDM4YjdjZSx0aGlzWydyb290VHlwZSddPV8weDJjMDZmYix0aGlzWydsZWFmVHlwZSddPV8weDMwNDJlMyx0aGlzW18weDNmNzA3NSgnMHg4NWEnKV09XzB4MzkwNjY2LHRoaXNbXzB4M2Y3MDc1KCcweGNkOCcpXT1fMHgxYmUwY2Q7dmFyIF8weDMxNzliNixfMHgxMTJkZTYsXzB4NDQ2MjA4PV8weDE3MGVjOVtfMHgzZjcwNzUoJzB4YjVhJyldWydmcm9tJ10oXzB4MzhiN2NlKTt0aGlzWydlbmNvZGVyJ109XzB4NDQ2MjA4LHRoaXNbJ2xlYWZIYXNoZXInXT1mdW5jdGlvbihfMHgxNjBlMDcpe3ZhciBfMHg0ZmM2Y2M9XzB4M2Y3MDc1O3JldHVybiBfMHg0NDYyMDhbXzB4NGZjNmNjKCcweDJkMycpXShfMHgzMDQyZTMsXzB4MTYwZTA3KTt9LHRoaXNbXzB4M2Y3MDc1KCcweDZjYycpXT1fMHgzM2EyOGRbJ0RlZmF1bHRHZXR0ZXInXVtfMHgzZjcwNzUoJzB4MjUyJyldKF8weDM4YjdjZSxfMHgzMDQyZTMpLHRoaXNbXzB4M2Y3MDc1KCcweDU5YScpXT10aGlzW18weDNmNzA3NSgnMHg5NjQnKV0odGhpc1snZGVmYXVsdE5vZGUnXSksdGhpc1tfMHgzZjcwNzUoJzB4ODljJyldPShfMHgzMTc5YjY9dGhpc1tfMHgzZjcwNzUoJzB4NGQyJyldKCksXzB4MTEyZGU2PXRoaXNbJ2RlZmF1bHRMZWFmJ10sbmV3IF8weGMzMWRjZlsoXzB4M2Y3MDc1KCcweDk1YycpKV0oXzB4MzE3OWI2W18weDNmNzA3NSgnMHgzYzknKV0oXzB4NWUyN2QyWydoZXhUb0J1ZmZlciddKSxfMHg1ZTI3ZDJbJ2J1ZmZlcktlY2NhayddLHsnY29tcGxldGUnOiEweDAsJ3NvcnQnOiEweDEsJ2hhc2hMZWF2ZXMnOiEweDEsJ2ZpbGxEZWZhdWx0SGFzaCc6KDB4MCxfMHg1ZTI3ZDJbXzB4M2Y3MDc1KCcweDMwMScpXSkoXzB4MTEyZGU2KX0pKTt9cmV0dXJuIE9iamVjdFtfMHgyMWY1NDgoJzB4MmI0JyldKF8weDRkNjVhNFsncHJvdG90eXBlJ10sXzB4MjFmNTQ4KCcweDgxZicpLHsnZ2V0JzpmdW5jdGlvbigpe3ZhciBfMHg1YmI5OGY9XzB4MjFmNTQ4O3JldHVybiBNYXRoW18weDViYjk4ZignMHhhMDknKV0oMHgyLHRoaXNbJ2RlcHRoJ10pO30sJ2VudW1lcmFibGUnOiEweDEsJ2NvbmZpZ3VyYWJsZSc6ITB4MH0pLF8weDRkNjVhNFtfMHgyMWY1NDgoJzB4NzU2JyldWydnZXRDb21wbGV0ZUVsZW1lbnRzJ109ZnVuY3Rpb24oKXt2YXIgXzB4ZDcwMzI3PV8weDIxZjU0OCxfMHg0NGUyN2I9dGhpc1tfMHhkNzAzMjcoJzB4ODVhJyldO3JldHVybigweDAsXzB4NWUyN2QyW18weGQ3MDMyNygnMHhhOTYnKV0pKF8weDI0YmQzMChbXSxfMHg0YjhmNDUoXzB4NDRlMjdiKSwhMHgxKSx0aGlzW18weGQ3MDMyNygnMHg4MWYnKV0sdGhpc1snZGVmYXVsdE5vZGUnXSk7fSxfMHg0ZDY1YTRbJ3Byb3RvdHlwZSddW18weDIxZjU0OCgnMHg0ZDInKV09ZnVuY3Rpb24oKXt2YXIgXzB4NThhNTNjPV8weDIxZjU0OCxfMHgxNzkwNjI9dGhpc1tfMHg1OGE1M2MoJzB4ODVhJyldW18weDU4YTUzYygnMHgzYzknKV0odGhpc1snbGVhZkhhc2hlciddKTtyZXR1cm4oMHgwLF8weDVlMjdkMltfMHg1OGE1M2MoJzB4YTk2JyldKShfMHgyNGJkMzAoW10sXzB4NGI4ZjQ1KF8weDE3OTA2MiksITB4MSksdGhpc1snY29tcGxldGVkU2l6ZSddLHRoaXNbXzB4NThhNTNjKCcweDU5YScpXSk7fSxPYmplY3RbXzB4MjFmNTQ4KCcweDJiNCcpXShfMHg0ZDY1YTRbJ3Byb3RvdHlwZSddLCdyb290Jyx7J2dldCc6ZnVuY3Rpb24oKXt2YXIgXzB4MWU5NjI0PV8weDIxZjU0ODtyZXR1cm4gdGhpc1tfMHgxZTk2MjQoJzB4ODljJyldW18weDFlOTYyNCgnMHhiZjUnKV0oKTt9LCdlbnVtZXJhYmxlJzohMHgxLCdjb25maWd1cmFibGUnOiEweDB9KSxfMHg0ZDY1YTRbXzB4MjFmNTQ4KCcweDc1NicpXVtfMHgyMWY1NDgoJzB4NmVlJyldPWZ1bmN0aW9uKF8weDQwMmY5ZSl7dmFyIF8weDQ3MTNjOT1fMHgyMWY1NDgsXzB4NGExZDc1PXRoaXNbXzB4NDcxM2M5KCcweDRkMicpXSgpW18weDQwMmY5ZV07cmV0dXJueydsZWFmJzpfMHg0YTFkNzUsJ3Byb29mJzp0aGlzW18weDQ3MTNjOSgnMHg4OWMnKV1bXzB4NDcxM2M5KCcweGIxOScpXShfMHg0YTFkNzUsXzB4NDAyZjllKSwncm9vdCc6dGhpc1tfMHg0NzEzYzkoJzB4ODljJyldW18weDQ3MTNjOSgnMHhiZjUnKV0oKX07fSxfMHg0ZDY1YTRbXzB4MjFmNTQ4KCcweDc1NicpXVsnZ2V0RW5jb2RlZFByb29mQW5kU2lnbmF0dXJlJ109ZnVuY3Rpb24oXzB4MjE1ZDRiLF8weDFhNTI2ZCl7dmFyIF8weDMzMTRhZj1fMHgyMWY1NDg7cmV0dXJuIGZ1bmN0aW9uKF8weDJlMGQwZixfMHgxMWQ5NGYsXzB4NTM3ZmM5KXt2YXIgXzB4MTcyZGQzPV8weDE1YTM7cmV0dXJuIHZvaWQgMHgwPT09XzB4NTM3ZmM5JiYoXzB4NTM3ZmM5PScweCdbXzB4MTcyZGQzKCcweDUzMCcpXSgnZmYnW18weDE3MmRkMygnMHg4YmQnKV0oMHg0MCkpKSwoMHgwLF8weDQyZjJiNltfMHgxNzJkZDMoJzB4N2NlJyldKShbXzB4NTM3ZmM5LCcweCdbXzB4MTcyZGQzKCcweDUzMCcpXShfMHgyZTBkMGZbXzB4MTcyZGQzKCcweDU0NycpXSgweDEwKVtfMHgxNzJkZDMoJzB4NmE5JyldKDB4NiwnMCcpKSxfMHg0MmYyYjZbXzB4MTcyZGQzKCcweGJhMicpXVtfMHgxNzJkZDMoJzB4YTUxJyldKFtfMHgxNzJkZDMoJzB4YTc0JylbXzB4MTcyZGQzKCcweDUzMCcpXShfMHgxMWQ5NGZbXzB4MTcyZGQzKCcweDUyMCcpXSwnXScpXSxbXzB4MTFkOTRmXSldKTt9KF8weDIxNWQ0Yix0aGlzW18weDMzMTRhZignMHg2ZWUnKV0oXzB4MjE1ZDRiKVtfMHgzMzE0YWYoJzB4NzI2JyldLF8weDFhNTI2ZCk7fSxfMHg0ZDY1YTRbXzB4MjFmNTQ4KCcweDc1NicpXVtfMHgyMWY1NDgoJzB4MjI3JyldPWZ1bmN0aW9uKCl7dmFyIF8weDRjZWY5MD1fMHgyMWY1NDg7Zm9yKHZhciBfMHg0YjA4ZmY9dGhpc1tfMHg0Y2VmOTAoJzB4ODRkJyldKCk7XzB4NGIwOGZmW18weDRjZWY5MCgnMHg1MjAnKV0+MHgyOylfMHg0YjA4ZmY9KDB4MCxfMHg1ZTI3ZDJbXzB4NGNlZjkwKCcweDlkMCcpXSkoXzB4NGIwOGZmLDB4Mik7cmV0dXJuIF8weDRiMDhmZjt9LF8weDRkNjVhNFtfMHgyMWY1NDgoJzB4NzU2JyldW18weDIxZjU0OCgnMHhiYTEnKV09ZnVuY3Rpb24oXzB4NTc5ZjZhKXt2YXIgXzB4NDI2NjkwPV8weDIxZjU0ODt0aGlzW18weDQyNjY5MCgnMHg4NWEnKV1bXzB4NDI2NjkwKCcweDhiNycpXShfMHg1NzlmNmEpO30sXzB4NGQ2NWE0W18weDIxZjU0OCgnMHg3NTYnKV1bXzB4MjFmNTQ4KCcweGJiMycpXT1mdW5jdGlvbigpe3ZhciBfMHg1NGU5MTU9XzB4MjFmNTQ4LF8weDI3NjBlYT10aGlzW18weDU0ZTkxNSgnMHgyNjknKV1bXzB4NTRlOTE1KCcweDJkMycpXShfMHg1NGU5MTUoJzB4OGQzJykseyd0cmVlJzp0aGlzW18weDU0ZTkxNSgnMHgyMjcnKV0oKX0pLF8weDMwZjVmYz10aGlzW18weDU0ZTkxNSgnMHg0ZDInKV0oKVtfMHg1NGU5MTUoJzB4M2M5JyldKF8weDVlMjdkMlsnaGV4VG9CdWZmZXInXSksXzB4NTI4N2ExPSgweDAsXzB4NWUyN2QyW18weDU0ZTkxNSgnMHg2ODgnKV0pKCgweDAsXzB4NWUyN2QyWydnZXRSb290J10pKF8weDMwZjVmYywhMHgxKSksXzB4MjAyMTcwPSgweDAsXzB4NDJmMmI2W18weDU0ZTkxNSgnMHg1NjInKV0pKCgweDAsXzB4NDJmMmI2W18weDU0ZTkxNSgnMHhhZmInKV0pKHRoaXNbXzB4NTRlOTE1KCcweDI2OScpXVtfMHg1NGU5MTUoJzB4MzYxJyldW18weDU0ZTkxNSgnMHg4ZDMnKV0pKTtpZigoMHgwLF8weDQyZjJiNltfMHg1NGU5MTUoJzB4NTYyJyldKSgoMHgwLF8weDQyZjJiNltfMHg1NGU5MTUoJzB4N2NlJyldKShbXzB4MjAyMTcwLF8weDUyODdhMV0pKSE9PV8weDI3NjBlYSl0aHJvdyBuZXcgRXJyb3IoXzB4NTRlOTE1KCcweDI5ZicpKTtyZXR1cm4gXzB4Mjc2MGVhO30sXzB4NGQ2NWE0O30oKSk7XzB4YTk3ODE3WydFaXA3MTJNZXJrbGVUcmVlJ109XzB4MTQ5NWQzO30sMHgyMWExOmZ1bmN0aW9uKF8weDUyNGVkMSxfMHg3NGI2YzUsXzB4NTQ2OTI5KXsndXNlIHN0cmljdCc7dmFyIF8weDM3YWU5MT1fMHgxNWEzO3ZhciBfMHgzNTcyMjE9dGhpcyYmdGhpc1tfMHgzN2FlOTEoJzB4NGM1JyldfHxmdW5jdGlvbigpe3ZhciBfMHg3MDU2ODE9XzB4MzdhZTkxO3JldHVybiBfMHgzNTcyMjE9T2JqZWN0W18weDcwNTY4MSgnMHhiN2MnKV18fGZ1bmN0aW9uKF8weDJhNDk3NCl7dmFyIF8weDViZDNhNz1fMHg3MDU2ODE7Zm9yKHZhciBfMHgzODZiOGQsXzB4M2EwZWNmPTB4MSxfMHgzNDhlZDI9YXJndW1lbnRzW18weDViZDNhNygnMHg1MjAnKV07XzB4M2EwZWNmPF8weDM0OGVkMjtfMHgzYTBlY2YrKylmb3IodmFyIF8weDQ2NzUzOSBpbiBfMHgzODZiOGQ9YXJndW1lbnRzW18weDNhMGVjZl0pT2JqZWN0Wydwcm90b3R5cGUnXVtfMHg1YmQzYTcoJzB4MTljJyldW18weDViZDNhNygnMHg1ZmQnKV0oXzB4Mzg2YjhkLF8weDQ2NzUzOSkmJihfMHgyYTQ5NzRbXzB4NDY3NTM5XT1fMHgzODZiOGRbXzB4NDY3NTM5XSk7cmV0dXJuIF8weDJhNDk3NDt9LF8weDM1NzIyMVtfMHg3MDU2ODEoJzB4NDQyJyldKHRoaXMsYXJndW1lbnRzKTt9LF8weDlkNDY5ZT10aGlzJiZ0aGlzW18weDM3YWU5MSgnMHg5ZDYnKV18fGZ1bmN0aW9uKF8weDE0MmI1MSxfMHgyNjljOGQpe3ZhciBfMHgxOTIxYzU9XzB4MzdhZTkxLF8weDQxYzlhOD0nZnVuY3Rpb24nPT10eXBlb2YgU3ltYm9sJiZfMHgxNDJiNTFbU3ltYm9sW18weDE5MjFjNSgnMHg3NmMnKV1dO2lmKCFfMHg0MWM5YTgpcmV0dXJuIF8weDE0MmI1MTt2YXIgXzB4MjA0NjljLF8weDQzNTA0NixfMHg0MjkwZjk9XzB4NDFjOWE4W18weDE5MjFjNSgnMHg1ZmQnKV0oXzB4MTQyYjUxKSxfMHhkMWJjZDg9W107dHJ5e2Zvcig7KHZvaWQgMHgwPT09XzB4MjY5YzhkfHxfMHgyNjljOGQtLT4weDApJiYhKF8weDIwNDY5Yz1fMHg0MjkwZjlbXzB4MTkyMWM1KCcweDc0MCcpXSgpKVsnZG9uZSddOylfMHhkMWJjZDhbXzB4MTkyMWM1KCcweDhiNycpXShfMHgyMDQ2OWNbXzB4MTkyMWM1KCcweDg5ZCcpXSk7fWNhdGNoKF8weDEzM2MzZil7XzB4NDM1MDQ2PXsnZXJyb3InOl8weDEzM2MzZn07fWZpbmFsbHl7dHJ5e18weDIwNDY5YyYmIV8weDIwNDY5Y1snZG9uZSddJiYoXzB4NDFjOWE4PV8weDQyOTBmOVtfMHgxOTIxYzUoJzB4NmZlJyldKSYmXzB4NDFjOWE4WydjYWxsJ10oXzB4NDI5MGY5KTt9ZmluYWxseXtpZihfMHg0MzUwNDYpdGhyb3cgXzB4NDM1MDQ2W18weDE5MjFjNSgnMHhjOWUnKV07fX1yZXR1cm4gXzB4ZDFiY2Q4O30sXzB4NDUxYzgyPXRoaXMmJnRoaXNbXzB4MzdhZTkxKCcweGFiOCcpXXx8ZnVuY3Rpb24oXzB4MWM5NzcwLF8weDFhOGI5ZCxfMHg1ZjQ5YWYpe3ZhciBfMHgzN2ZhOTk9XzB4MzdhZTkxO2lmKF8weDVmNDlhZnx8MHgyPT09YXJndW1lbnRzWydsZW5ndGgnXSl7Zm9yKHZhciBfMHg1NGM1N2IsXzB4MTVmMDE5PTB4MCxfMHhjMzkyMGI9XzB4MWE4YjlkWydsZW5ndGgnXTtfMHgxNWYwMTk8XzB4YzM5MjBiO18weDE1ZjAxOSsrKSFfMHg1NGM1N2ImJl8weDE1ZjAxOSBpbiBfMHgxYThiOWR8fChfMHg1NGM1N2J8fChfMHg1NGM1N2I9QXJyYXlbXzB4MzdmYTk5KCcweDc1NicpXVtfMHgzN2ZhOTkoJzB4YWRhJyldW18weDM3ZmE5OSgnMHg1ZmQnKV0oXzB4MWE4YjlkLDB4MCxfMHgxNWYwMTkpKSxfMHg1NGM1N2JbXzB4MTVmMDE5XT1fMHgxYThiOWRbXzB4MTVmMDE5XSk7fXJldHVybiBfMHgxYzk3NzBbXzB4MzdmYTk5KCcweDUzMCcpXShfMHg1NGM1N2J8fEFycmF5Wydwcm90b3R5cGUnXVsnc2xpY2UnXVtfMHgzN2ZhOTkoJzB4NWZkJyldKF8weDFhOGI5ZCkpO307T2JqZWN0W18weDM3YWU5MSgnMHgyYjQnKV0oXzB4NzRiNmM1LF8weDM3YWU5MSgnMHhjZDInKSx7J3ZhbHVlJzohMHgwfSksXzB4NzRiNmM1W18weDM3YWU5MSgnMHgzZTgnKV09XzB4NzRiNmM1WydnZXRCdWxrT3JkZXJUeXBlSGFzaCddPV8weDc0YjZjNVsnZ2V0QnVsa09yZGVyVHJlZSddPV8weDc0YjZjNVtfMHgzN2FlOTEoJzB4N2Y0JyldPXZvaWQgMHgwO3ZhciBfMHg0OWIzYjE9XzB4NTQ2OTI5KDB4MThlMyksXzB4NTg1OTQzPV8weDU0NjkyOSgweGQzNCksXzB4MzJlMTYxPV8weDU0NjkyOSgweDEwMDcpLF8weDNhNmQ5NT1fMHg1NDY5MjkoMHgxZWNlKSxfMHhjZmMyYzU9XzB4NTQ2OTI5KDB4MWQxYyk7ZnVuY3Rpb24gXzB4MzNkMzk3KF8weDQyNWJkYyl7dmFyIF8weDVkYWJlZD1fMHgzN2FlOTEsXzB4NzgxOGVkPV8weDM1NzIyMSh7fSxfMHhjZmMyYzVbXzB4NWRhYmVkKCcweDIyMCcpXSk7cmV0dXJuIF8weDc4MThlZFsnQnVsa09yZGVyJ109W3snbmFtZSc6J3RyZWUnLCd0eXBlJzpfMHg1ZGFiZWQoJzB4MjZiJylbXzB4NWRhYmVkKCcweDUzMCcpXSgnWzJdJ1tfMHg1ZGFiZWQoJzB4OGJkJyldKF8weDQyNWJkYykpfV0sXzB4NzgxOGVkO31mdW5jdGlvbiBfMHgyNGRmZmIoXzB4MTEyYWQzKXt2YXIgXzB4MmY3OGFkPV8weDM3YWU5MTtyZXR1cm4gTWF0aFtfMHgyZjc4YWQoJzB4OGY5JyldKE1hdGhbXzB4MmY3OGFkKCcweDQ2NicpXShNYXRoW18weDJmNzhhZCgnMHhiZDgnKV0oXzB4MTEyYWQzKSksMHgxKTt9ZnVuY3Rpb24gXzB4NGQ5YTRiKF8weDMyODBjOCl7dmFyIF8weDFmMmZiOT1fMHgzN2FlOTEsXzB4MjQ5YjE3PV8weDMzZDM5NyhfMHgzMjgwYzgpLF8weDEzOWI2NT1fMHg0OWIzYjFbXzB4MWYyZmI5KCcweGI1YScpXVtfMHgxZjJmYjkoJzB4MjUyJyldKF8weDI0OWIxNyksXzB4M2UxZTQ2PSgweDAsXzB4NDliM2IxW18weDFmMmZiOSgnMHhhZmInKV0pKF8weDEzOWI2NVtfMHgxZjJmYjkoJzB4MzYxJyldW18weDFmMmZiOSgnMHg4ZDMnKV0pO3JldHVybigweDAsXzB4NDliM2IxW18weDFmMmZiOSgnMHg1NjInKV0pKF8weDNlMWU0Nik7fV8weDc0YjZjNVsnZ2V0QnVsa09yZGVyVHJlZUhlaWdodCddPV8weDI0ZGZmYixfMHg3NGI2YzVbXzB4MzdhZTkxKCcweDQ1NScpXT1mdW5jdGlvbihfMHg0OTA3M2YsXzB4NWQ2ZTY1LF8weDQzMTBmNyl7dmFyIF8weGJjZDYwNT1fMHgzN2FlOTE7dm9pZCAweDA9PT1fMHg1ZDZlNjUmJihfMHg1ZDZlNjU9MHgwKSx2b2lkIDB4MD09PV8weDQzMTBmNyYmKF8weDQzMTBmNz1fMHgyNGRmZmIoXzB4NDkwNzNmW18weGJjZDYwNSgnMHg1MjAnKV0rXzB4NWQ2ZTY1KSk7dmFyIF8weDJkZjBjYT1fMHgzM2QzOTcoXzB4NDMxMGY3KSxfMHgyYjM5NzM9XzB4MzJlMTYxW18weGJjZDYwNSgnMHhhOTknKV1bXzB4YmNkNjA1KCcweDI1MicpXShfMHgyZGYwY2EsXzB4YmNkNjA1KCcweDI2YicpKSxfMHgzZTNjY2M9XzB4NDUxYzgyKFtdLF8weDlkNDY5ZShfMHg0OTA3M2YpLCEweDEpO3JldHVybiBfMHg1ZDZlNjU+MHgwJiYoXzB4M2UzY2NjPV8weDQ1MWM4MihfMHg0NTFjODIoW10sXzB4OWQ0NjllKCgweDAsXzB4M2E2ZDk1W18weGJjZDYwNSgnMHhhOTYnKV0pKFtdLF8weDVkNmU2NSxfMHgyYjM5NzMpKSwhMHgxKSxfMHg5ZDQ2OWUoXzB4NDkwNzNmKSwhMHgxKSksbmV3IF8weDU4NTk0M1soXzB4YmNkNjA1KCcweDcxMycpKV0oXzB4MmRmMGNhLF8weGJjZDYwNSgnMHg4ZDMnKSxfMHhiY2Q2MDUoJzB4MjZiJyksXzB4M2UzY2NjLF8weDQzMTBmNyk7fSxfMHg3NGI2YzVbXzB4MzdhZTkxKCcweDdlNicpXT1fMHg0ZDlhNGIsXzB4NzRiNmM1W18weDM3YWU5MSgnMHgzZTgnKV09ZnVuY3Rpb24oXzB4MTE4ODRlKXt2YXIgXzB4NTY2ODQxPV8weDM3YWU5MTtmb3IodmFyIF8weDUzMzlkYj1bXSxfMHg0NWFmODU9MHgwO18weDQ1YWY4NTxfMHgxMTg4NGU7XzB4NDVhZjg1KyspXzB4NTMzOWRiW18weDU2Njg0MSgnMHg4YjcnKV0oXzB4NGQ5YTRiKF8weDQ1YWY4NSsweDEpKTtyZXR1cm4gXzB4NTMzOWRiO307fSwweDEwMDc6ZnVuY3Rpb24oXzB4MzEyNzhjLF8weDM3OGZlZCxfMHgzMjI2MjMpeyd1c2Ugc3RyaWN0Jzt2YXIgXzB4MTk5ZTdlPV8weDE1YTM7dmFyIF8weDQxNDdhYz10aGlzJiZ0aGlzWydfX2Fzc2lnbiddfHxmdW5jdGlvbigpe3ZhciBfMHgxZmM1NjU9XzB4MTVhMztyZXR1cm4gXzB4NDE0N2FjPU9iamVjdFsnYXNzaWduJ118fGZ1bmN0aW9uKF8weDI3MjYzOCl7dmFyIF8weDI4ZjcyYj1fMHgxNWEzO2Zvcih2YXIgXzB4MWZlNmE1LF8weDU4ZjgxNT0weDEsXzB4MjQwNTliPWFyZ3VtZW50c1tfMHgyOGY3MmIoJzB4NTIwJyldO18weDU4ZjgxNTxfMHgyNDA1OWI7XzB4NThmODE1KyspZm9yKHZhciBfMHgyZTdlZTMgaW4gXzB4MWZlNmE1PWFyZ3VtZW50c1tfMHg1OGY4MTVdKU9iamVjdFtfMHgyOGY3MmIoJzB4NzU2JyldWydoYXNPd25Qcm9wZXJ0eSddW18weDI4ZjcyYignMHg1ZmQnKV0oXzB4MWZlNmE1LF8weDJlN2VlMykmJihfMHgyNzI2MzhbXzB4MmU3ZWUzXT1fMHgxZmU2YTVbXzB4MmU3ZWUzXSk7cmV0dXJuIF8weDI3MjYzODt9LF8weDQxNDdhY1tfMHgxZmM1NjUoJzB4NDQyJyldKHRoaXMsYXJndW1lbnRzKTt9LF8weDNiMjk1Yz10aGlzJiZ0aGlzWydfX3JlYWQnXXx8ZnVuY3Rpb24oXzB4NGUyMTQ1LF8weDFiMTRlZSl7dmFyIF8weGI5ZTE1MD1fMHgxNWEzLF8weDQ0ZjcyZD1fMHhiOWUxNTAoJzB4YzdiJyk9PXR5cGVvZiBTeW1ib2wmJl8weDRlMjE0NVtTeW1ib2xbXzB4YjllMTUwKCcweDc2YycpXV07aWYoIV8weDQ0ZjcyZClyZXR1cm4gXzB4NGUyMTQ1O3ZhciBfMHgxOWQwYTksXzB4OWVmNGM5LF8weDJlOWQ2YT1fMHg0NGY3MmRbXzB4YjllMTUwKCcweDVmZCcpXShfMHg0ZTIxNDUpLF8weDc4YWU0ZD1bXTt0cnl7Zm9yKDsodm9pZCAweDA9PT1fMHgxYjE0ZWV8fF8weDFiMTRlZS0tPjB4MCkmJiEoXzB4MTlkMGE5PV8weDJlOWQ2YVtfMHhiOWUxNTAoJzB4NzQwJyldKCkpW18weGI5ZTE1MCgnMHhjNWMnKV07KV8weDc4YWU0ZFtfMHhiOWUxNTAoJzB4OGI3JyldKF8weDE5ZDBhOVsndmFsdWUnXSk7fWNhdGNoKF8weDMwYmNjNSl7XzB4OWVmNGM5PXsnZXJyb3InOl8weDMwYmNjNX07fWZpbmFsbHl7dHJ5e18weDE5ZDBhOSYmIV8weDE5ZDBhOVtfMHhiOWUxNTAoJzB4YzVjJyldJiYoXzB4NDRmNzJkPV8weDJlOWQ2YVtfMHhiOWUxNTAoJzB4NmZlJyldKSYmXzB4NDRmNzJkW18weGI5ZTE1MCgnMHg1ZmQnKV0oXzB4MmU5ZDZhKTt9ZmluYWxseXtpZihfMHg5ZWY0YzkpdGhyb3cgXzB4OWVmNGM5W18weGI5ZTE1MCgnMHhjOWUnKV07fX1yZXR1cm4gXzB4NzhhZTRkO307T2JqZWN0WydkZWZpbmVQcm9wZXJ0eSddKF8weDM3OGZlZCxfMHgxOTllN2UoJzB4Y2QyJykseyd2YWx1ZSc6ITB4MH0pLF8weDM3OGZlZFtfMHgxOTllN2UoJzB4YTk5JyldPXZvaWQgMHgwO3ZhciBfMHg1YWZhODY9XzB4MzIyNjIzKDB4MmM3KSxfMHgyYzdhMDA9XzB4MzIyNjIzKDB4MThlMyksXzB4NTk1YmJmPW5ldyBfMHg1YWZhODZbKF8weDE5OWU3ZSgnMHhjZTcnKSldKF8weDE5OWU3ZSgnMHg1Y2YnKSksXzB4MjcxNTQ1PXsnaW50ZWdlcic6MHgwLCdhZGRyZXNzJzooMHgwLF8weDJjN2EwMFtfMHgxOTllN2UoJzB4NDIxJyldKSgnMHgnLDB4MTQpLCdib29sJzohMHgxLCdieXRlcyc6JzB4Jywnc3RyaW5nJzonJ30sXzB4NDIxMjI0PWZ1bmN0aW9uKF8weDVhZDY4ZSl7dmFyIF8weDU3MjNkMT1fMHgxOTllN2U7cmV0dXJuIHZvaWQgMHgwIT09XzB4NWFkNjhlJiZudWxsIT1fMHg1YWQ2OGUmJihbXzB4NTcyM2QxKCcweDY1ZicpLCdudW1iZXInXVtfMHg1NzIzZDEoJzB4MWZmJyldKHR5cGVvZiBfMHg1YWQ2OGUpJiZCaWdJbnQoXzB4NWFkNjhlKT09PUJpZ0ludCgweDApfHxBcnJheVtfMHg1NzIzZDEoJzB4OGYxJyldKF8weDVhZDY4ZSkmJl8weDVhZDY4ZVtfMHg1NzIzZDEoJzB4N2JhJyldKF8weDQyMTIyNCl8fF8weDU3MjNkMSgnMHgzNmInKT09dHlwZW9mIF8weDVhZDY4ZSYmT2JqZWN0W18weDU3MjNkMSgnMHg3MDQnKV0oXzB4NWFkNjhlKVtfMHg1NzIzZDEoJzB4N2JhJyldKF8weDQyMTIyNCl8fF8weDU3MjNkMSgnMHg0YjMnKT09dHlwZW9mIF8weDVhZDY4ZSYmITB4MT09PV8weDVhZDY4ZSk7fSxfMHg1Y2NiM2Y9KGZ1bmN0aW9uKCl7dmFyIF8weDJlNGY3OD1fMHgxOTllN2U7ZnVuY3Rpb24gXzB4NTlmOTk5KF8weDM0YTU5Yil7dmFyIF8weDQ0OWY4Mj1fMHgxNWEzO2Zvcih2YXIgXzB4NWE5MTAxIGluKHRoaXNbJ3R5cGVzJ109XzB4MzRhNTliLHRoaXNbXzB4NDQ5ZjgyKCcweDMyNScpXT17fSxfMHgzNGE1OWIpKXt2YXIgXzB4MTY1ZDZiPXRoaXNbXzB4NDQ5ZjgyKCcweDljZicpXShfMHg1YTkxMDEpO3RoaXNbXzB4NDQ5ZjgyKCcweDMyNScpXVtfMHg1YTkxMDFdPV8weDE2NWQ2YixfMHg0MjEyMjQoXzB4MTY1ZDZiKXx8XzB4NTk1YmJmW18weDQ0OWY4MignMHgxZDAnKV0oXzB4NDQ5ZjgyKCcweDcxOCcpW18weDQ0OWY4MignMHg1MzAnKV0oXzB4NWE5MTAxLCdceDIwaW5ceDIwZGVmYXVsdFx4MjBnZW5lcmF0b3I6XHgyMCcpW18weDQ0OWY4MignMHg1MzAnKV0oXzB4MTY1ZDZiKSk7fX1yZXR1cm4gXzB4NTlmOTk5Wydmcm9tJ109ZnVuY3Rpb24oXzB4N2FjOWQ4LF8weDIzYjVjMCl7dmFyIF8weDFhNjMxYj1uZXcgXzB4NTlmOTk5KF8weDdhYzlkOClbJ2RlZmF1bHRWYWx1ZXMnXTtyZXR1cm4gXzB4MjNiNWMwP18weDFhNjMxYltfMHgyM2I1YzBdOl8weDFhNjMxYjt9LF8weDU5Zjk5OVtfMHgyZTRmNzgoJzB4NzU2JyldWydnZXREZWZhdWx0VmFsdWUnXT1mdW5jdGlvbihfMHg0OTE0YmEpe3ZhciBfMHgxZTgyOTk9XzB4MmU0Zjc4LF8weDE3MTEzMj10aGlzO2lmKHRoaXNbXzB4MWU4Mjk5KCcweDMyNScpXVtfMHg0OTE0YmFdKXJldHVybiB0aGlzW18weDFlODI5OSgnMHgzMjUnKV1bXzB4NDkxNGJhXTt2YXIgXzB4MmNjYWVkPWZ1bmN0aW9uKF8weDI4ZGQ5ZSl7dmFyIF8weDFhMDg5ZD1fMHgxZTgyOTksXzB4M2JmNGNjLF8weGE5MWM3Yz1fMHgzYjI5NWMobnVsbCE9PShfMHgzYmY0Y2M9XzB4MjhkZDllW18weDFhMDg5ZCgnMHg0MjUnKV0oL15ieXRlcyhcZCspJC8pKSYmdm9pZCAweDAhPT1fMHgzYmY0Y2M/XzB4M2JmNGNjOltdLDB4MilbMHgxXTtyZXR1cm4gXzB4YTkxYzdjPygweDAsXzB4MmM3YTAwW18weDFhMDg5ZCgnMHg0MjEnKV0pKCcweCcscGFyc2VJbnQoXzB4YTkxYzdjKSk6KF8weDI4ZGQ5ZVsnbWF0Y2gnXSgvXih1PylpbnQoXGQqKSQvKSYmKF8weDI4ZGQ5ZT1fMHgxYTA4OWQoJzB4NTk0JykpLF8weDI3MTU0NVtfMHgyOGRkOWVdKTt9KF8weDQ5MTRiYSk7aWYodm9pZCAweDAhPT1fMHgyY2NhZWQpcmV0dXJuIF8weDJjY2FlZDt2YXIgXzB4MmI5ZTIxPV8weDQ5MTRiYVtfMHgxZTgyOTkoJzB4NDI1JyldKC9eKC4qKShceDViKFxkKilceDVkKSQvKTtpZihfMHgyYjllMjEpe3ZhciBfMHgzY2RhNTA9XzB4MmI5ZTIxWzB4MV0sXzB4Yjk5ZTI2PXBhcnNlSW50KF8weDJiOWUyMVsweDNdKTtpZihfMHhiOTllMjY+MHgwKXt2YXIgXzB4MjM1ZDQ5PXRoaXNbJ2dldERlZmF1bHRWYWx1ZSddKF8weDNjZGE1MCk7cmV0dXJuIEFycmF5KF8weGI5OWUyNilbXzB4MWU4Mjk5KCcweGIxNicpXShfMHgyMzVkNDkpO31yZXR1cm5bXTt9dmFyIF8weDc0Y2Q4Yz10aGlzWyd0eXBlcyddW18weDQ5MTRiYV07cmV0dXJuIF8weDc0Y2Q4Yz9fMHg3NGNkOGNbJ3JlZHVjZSddKGZ1bmN0aW9uKF8weGI1MjQ4NSxfMHg0NzUwNzApe3ZhciBfMHgzMzIyMTE9XzB4MWU4Mjk5LF8weDJlNjFkZSxfMHgzOWYyNDU9XzB4NDc1MDcwWyduYW1lJ10sXzB4Mjg2OTllPV8weDQ3NTA3MFsndHlwZSddO3JldHVybiBfMHg0MTQ3YWMoXzB4NDE0N2FjKHt9LF8weGI1MjQ4NSksKChfMHgyZTYxZGU9e30pW18weDM5ZjI0NV09XzB4MTcxMTMyW18weDMzMjIxMSgnMHg5Y2YnKV0oXzB4Mjg2OTllKSxfMHgyZTYxZGUpKTt9LHt9KTpfMHg1OTViYmZbXzB4MWU4Mjk5KCcweDYzNScpXSgndW5rbm93blx4MjB0eXBlOlx4MjAnW18weDFlODI5OSgnMHg1MzAnKV0oXzB4NDkxNGJhKSxfMHgxZTgyOTkoJzB4NTdjJyksXzB4NDkxNGJhKTt9LF8weDU5Zjk5OTt9KCkpO18weDM3OGZlZFtfMHgxOTllN2UoJzB4YTk5JyldPV8weDVjY2IzZjt9LDB4MWVjZTpmdW5jdGlvbihfMHg0YTUxOGIsXzB4MTAzMTRkLF8weDEzNDY4MCl7J3VzZSBzdHJpY3QnO3ZhciBfMHg1ZTc4MTY9XzB4MTVhMzt2YXIgXzB4MTIxYTRmPV8weDEzNDY4MCgweDIyM2MpWydCdWZmZXInXSxfMHgxNWZjZTQ9dGhpcyYmdGhpc1tfMHg1ZTc4MTYoJzB4OWQ2JyldfHxmdW5jdGlvbihfMHgzMmVkYjUsXzB4MTdmOTVkKXt2YXIgXzB4NDJiOGY4PV8weDVlNzgxNixfMHg0NzZlOTQ9XzB4NDJiOGY4KCcweGM3YicpPT10eXBlb2YgU3ltYm9sJiZfMHgzMmVkYjVbU3ltYm9sW18weDQyYjhmOCgnMHg3NmMnKV1dO2lmKCFfMHg0NzZlOTQpcmV0dXJuIF8weDMyZWRiNTt2YXIgXzB4NWUxMTYwLF8weDRlODI1OCxfMHgzZjE1MmE9XzB4NDc2ZTk0W18weDQyYjhmOCgnMHg1ZmQnKV0oXzB4MzJlZGI1KSxfMHg0ZjUxMTk9W107dHJ5e2Zvcig7KHZvaWQgMHgwPT09XzB4MTdmOTVkfHxfMHgxN2Y5NWQtLT4weDApJiYhKF8weDVlMTE2MD1fMHgzZjE1MmFbXzB4NDJiOGY4KCcweDc0MCcpXSgpKVtfMHg0MmI4ZjgoJzB4YzVjJyldOylfMHg0ZjUxMTlbJ3B1c2gnXShfMHg1ZTExNjBbJ3ZhbHVlJ10pO31jYXRjaChfMHgxNWEyNmYpe18weDRlODI1OD17J2Vycm9yJzpfMHgxNWEyNmZ9O31maW5hbGx5e3RyeXtfMHg1ZTExNjAmJiFfMHg1ZTExNjBbXzB4NDJiOGY4KCcweGM1YycpXSYmKF8weDQ3NmU5ND1fMHgzZjE1MmFbJ3JldHVybiddKSYmXzB4NDc2ZTk0WydjYWxsJ10oXzB4M2YxNTJhKTt9ZmluYWxseXtpZihfMHg0ZTgyNTgpdGhyb3cgXzB4NGU4MjU4W18weDQyYjhmOCgnMHhjOWUnKV07fX1yZXR1cm4gXzB4NGY1MTE5O30sXzB4NTlkNGI4PXRoaXMmJnRoaXNbXzB4NWU3ODE2KCcweGFiOCcpXXx8ZnVuY3Rpb24oXzB4MTc0YmI1LF8weDU1MmM2NCxfMHg1Y2Q2OGMpe3ZhciBfMHgxNTk4NDY9XzB4NWU3ODE2O2lmKF8weDVjZDY4Y3x8MHgyPT09YXJndW1lbnRzWydsZW5ndGgnXSl7Zm9yKHZhciBfMHgzMDVmMzQsXzB4MWVmMGEzPTB4MCxfMHgxNjc4NjQ9XzB4NTUyYzY0W18weDE1OTg0NignMHg1MjAnKV07XzB4MWVmMGEzPF8weDE2Nzg2NDtfMHgxZWYwYTMrKykhXzB4MzA1ZjM0JiZfMHgxZWYwYTMgaW4gXzB4NTUyYzY0fHwoXzB4MzA1ZjM0fHwoXzB4MzA1ZjM0PUFycmF5Wydwcm90b3R5cGUnXVtfMHgxNTk4NDYoJzB4YWRhJyldW18weDE1OTg0NignMHg1ZmQnKV0oXzB4NTUyYzY0LDB4MCxfMHgxZWYwYTMpKSxfMHgzMDVmMzRbXzB4MWVmMGEzXT1fMHg1NTJjNjRbXzB4MWVmMGEzXSk7fXJldHVybiBfMHgxNzRiYjVbXzB4MTU5ODQ2KCcweDUzMCcpXShfMHgzMDVmMzR8fEFycmF5W18weDE1OTg0NignMHg3NTYnKV1bXzB4MTU5ODQ2KCcweGFkYScpXVsnY2FsbCddKF8weDU1MmM2NCkpO307T2JqZWN0W18weDVlNzgxNignMHgyYjQnKV0oXzB4MTAzMTRkLF8weDVlNzgxNignMHhjZDInKSx7J3ZhbHVlJzohMHgwfSksXzB4MTAzMTRkW18weDVlNzgxNignMHgxYzcnKV09XzB4MTAzMTRkW18weDVlNzgxNignMHhkNTMnKV09XzB4MTAzMTRkW18weDVlNzgxNignMHhhOTYnKV09XzB4MTAzMTRkW18weDVlNzgxNignMHgzOGMnKV09XzB4MTAzMTRkWydidWZmZXJLZWNjYWsnXT1fMHgxMDMxNGRbXzB4NWU3ODE2KCcweDMwMScpXT1fMHgxMDMxNGRbJ2J1ZmZlclRvSGV4J109XzB4MTAzMTRkW18weDVlNzgxNignMHg5ZDAnKV09XzB4MTAzMTRkW18weDVlNzgxNignMHhiNmYnKV09dm9pZCAweDA7dmFyIF8weDQ3YzgwND1fMHgxMzQ2ODAoMHgxOGUzKTtfMHgxMDMxNGRbXzB4NWU3ODE2KCcweGI2ZicpXT1mdW5jdGlvbihfMHgzYWYxMmUsXzB4MWI2YTIyKXt2YXIgXzB4MWNlN2MxPV8weDVlNzgxNjtyZXR1cm4gQXJyYXkoXzB4M2FmMTJlKVsnZmlsbCddKDB4MClbXzB4MWNlN2MxKCcweDNjOScpXShmdW5jdGlvbihfMHg0OGQ1MzIsXzB4NTQ5NDcwKXtyZXR1cm4gXzB4MWI2YTIyKF8weDU0OTQ3MCk7fSk7fSxfMHgxMDMxNGRbJ2NodW5rJ109ZnVuY3Rpb24oXzB4M2E4NGMxLF8weDViNzg5ZSl7dmFyIF8weGEzN2Y5MT1fMHg1ZTc4MTY7cmV0dXJuKDB4MCxfMHgxMDMxNGRbJ21ha2VBcnJheSddKShNYXRoW18weGEzN2Y5MSgnMHg0NjYnKV0oXzB4M2E4NGMxW18weGEzN2Y5MSgnMHg1MjAnKV0vXzB4NWI3ODllKSxmdW5jdGlvbihfMHgzNDQ0ZTEpe3ZhciBfMHgzMWIwZGY9XzB4YTM3ZjkxO3JldHVybiBfMHgzYTg0YzFbXzB4MzFiMGRmKCcweGFkYScpXShfMHgzNDQ0ZTEqXzB4NWI3ODllLChfMHgzNDQ0ZTErMHgxKSpfMHg1Yjc4OWUpO30pO30sXzB4MTAzMTRkWydidWZmZXJUb0hleCddPWZ1bmN0aW9uKF8weDI2NWE1OCl7dmFyIF8weDMwMzQwNz1fMHg1ZTc4MTY7cmV0dXJuKDB4MCxfMHg0N2M4MDRbXzB4MzAzNDA3KCcweDM1NicpXSkoXzB4MjY1YTU4KTt9LF8weDEwMzE0ZFsnaGV4VG9CdWZmZXInXT1mdW5jdGlvbihfMHg0Y2RlMzMpe3ZhciBfMHhjNTA5NTc9XzB4NWU3ODE2O3JldHVybiBfMHgxMjFhNGZbXzB4YzUwOTU3KCcweDI1MicpXShfMHg0Y2RlMzNbXzB4YzUwOTU3KCcweGFkYScpXSgweDIpLF8weGM1MDk1NygnMHhjNGQnKSk7fSxfMHgxMDMxNGRbJ2J1ZmZlcktlY2NhayddPWZ1bmN0aW9uKF8weDQ0MjliNSl7dmFyIF8weGQ2NTA5ZD1fMHg1ZTc4MTY7cmV0dXJuKDB4MCxfMHgxMDMxNGRbXzB4ZDY1MDlkKCcweDMwMScpXSkoKDB4MCxfMHg0N2M4MDRbXzB4ZDY1MDlkKCcweDU2MicpXSkoXzB4NDQyOWI1KSk7fSxfMHgxMDMxNGRbXzB4NWU3ODE2KCcweDM4YycpXT1mdW5jdGlvbihfMHgxMGNlM2Qpe3ZhciBfMHg1MjlkNzc9XzB4NWU3ODE2O3JldHVybigweDAsXzB4MTAzMTRkW18weDUyOWQ3NygnMHg2YjMnKV0pKCgweDAsXzB4NDdjODA0W18weDUyOWQ3NygnMHg3Y2UnKV0pKF8weDEwY2UzZCkpO30sXzB4MTAzMTRkW18weDVlNzgxNignMHhhOTYnKV09ZnVuY3Rpb24oXzB4NTNiMDg3LF8weDMyYzhmNixfMHgzNjZlZWIpe3ZhciBfMHg0NDhjYmU9XzB4NWU3ODE2O3JldHVybiBfMHgzMmM4ZjY+XzB4NTNiMDg3W18weDQ0OGNiZSgnMHg1MjAnKV0mJl8weDUzYjA4N1tfMHg0NDhjYmUoJzB4OGI3JyldWydhcHBseSddKF8weDUzYjA4NyxfMHg1OWQ0YjgoW10sXzB4MTVmY2U0KEFycmF5KF8weDMyYzhmNi1fMHg1M2IwODdbXzB4NDQ4Y2JlKCcweDUyMCcpXSlbXzB4NDQ4Y2JlKCcweGIxNicpXShfMHgzNjZlZWIpKSwhMHgxKSksXzB4NTNiMDg3O30sXzB4MTAzMTRkW18weDVlNzgxNignMHhkNTMnKV09ZnVuY3Rpb24oXzB4Mjc2MDBlLF8weDcyN2E2OCl7dmFyIF8weDNkN2QxMT1fMHg1ZTc4MTY7aWYodm9pZCAweDA9PT1fMHg3MjdhNjgmJihfMHg3MjdhNjg9ITB4MCksMHgwPT09XzB4Mjc2MDBlW18weDNkN2QxMSgnMHg1MjAnKV0pdGhyb3cgbmV3IEVycm9yKF8weDNkN2QxMSgnMHgyZWInKSk7Zm9yKHZhciBfMHgxMGIxNTM9W18weDI3NjAwZVtfMHgzZDdkMTEoJzB4M2M5JyldKGZ1bmN0aW9uKF8weDVhOTEyMil7dmFyIF8weDMzOTU3YT1fMHgzZDdkMTEsXzB4MTlkM2FlPV8weDEyMWE0ZltfMHgzMzk1N2EoJzB4YmFjJyldKF8weDVhOTEyMik/XzB4NWE5MTIyOigweDAsXzB4MTAzMTRkW18weDMzOTU3YSgnMHgzMDEnKV0pKF8weDVhOTEyMik7cmV0dXJuIF8weDcyN2E2OD8oMHgwLF8weDEwMzE0ZFtfMHgzMzk1N2EoJzB4NmIzJyldKShfMHgxOWQzYWUpOl8weDE5ZDNhZTt9KV07XzB4MTBiMTUzW18weDEwYjE1M1tfMHgzZDdkMTEoJzB4NTIwJyldLTB4MV1bXzB4M2Q3ZDExKCcweDUyMCcpXT4weDE7KV8weDEwYjE1M1tfMHgzZDdkMTEoJzB4OGI3JyldKCgweDAsXzB4MTAzMTRkW18weDNkN2QxMSgnMHgxYzcnKV0pKF8weDEwYjE1M1tfMHgxMGIxNTNbXzB4M2Q3ZDExKCcweDUyMCcpXS0weDFdKSk7cmV0dXJuIF8weDEwYjE1M1tfMHgxMGIxNTNbXzB4M2Q3ZDExKCcweDUyMCcpXS0weDFdWzB4MF07fSxfMHgxMDMxNGRbXzB4NWU3ODE2KCcweDFjNycpXT1mdW5jdGlvbihfMHgxNjk3MzApe3ZhciBfMHg0NmZlMDE9XzB4NWU3ODE2O3JldHVybigweDAsXzB4MTAzMTRkW18weDQ2ZmUwMSgnMHg5ZDAnKV0pKF8weDE2OTczMCwweDIpW18weDQ2ZmUwMSgnMHgzYzknKV0oXzB4MTAzMTRkW18weDQ2ZmUwMSgnMHgzOGMnKV0pO307fSwweDE0MjI6ZnVuY3Rpb24oXzB4NDg2YTA2LF8weDc0NTQ3ZixfMHgxNDlmMDUpeyd1c2Ugc3RyaWN0Jzt2YXIgXzB4MTM1NTdiPV8weDE1YTM7dmFyIF8weDJiZjMzZSxfMHg1ZDVmYzAsXzB4MzdlY2RmLF8weDQ1OGJhMyxfMHgzYjFjMzc9dGhpcyYmdGhpc1tfMHgxMzU1N2IoJzB4NGM1JyldfHxmdW5jdGlvbigpe3ZhciBfMHg1ZTA0NGU9XzB4MTM1NTdiO3JldHVybiBfMHgzYjFjMzc9T2JqZWN0W18weDVlMDQ0ZSgnMHhiN2MnKV18fGZ1bmN0aW9uKF8weDIwYTg1ZCl7dmFyIF8weDRmNzFhOD1fMHg1ZTA0NGU7Zm9yKHZhciBfMHgxMzA5NDQsXzB4MTY3ZTFkPTB4MSxfMHgzODE0MjM9YXJndW1lbnRzW18weDRmNzFhOCgnMHg1MjAnKV07XzB4MTY3ZTFkPF8weDM4MTQyMztfMHgxNjdlMWQrKylmb3IodmFyIF8weDE2NzIyZCBpbiBfMHgxMzA5NDQ9YXJndW1lbnRzW18weDE2N2UxZF0pT2JqZWN0W18weDRmNzFhOCgnMHg3NTYnKV1bXzB4NGY3MWE4KCcweDE5YycpXVsnY2FsbCddKF8weDEzMDk0NCxfMHgxNjcyMmQpJiYoXzB4MjBhODVkW18weDE2NzIyZF09XzB4MTMwOTQ0W18weDE2NzIyZF0pO3JldHVybiBfMHgyMGE4NWQ7fSxfMHgzYjFjMzdbXzB4NWUwNDRlKCcweDQ0MicpXSh0aGlzLGFyZ3VtZW50cyk7fSxfMHg0ZDFmMDg9dGhpcyYmdGhpc1tfMHgxMzU1N2IoJzB4ODk1JyldfHxmdW5jdGlvbihfMHgyOGMyNDIsXzB4MmVhNjhhLF8weDI5MWE0MixfMHgyODg2MDcpe3JldHVybiBuZXcoXzB4MjkxYTQyfHwoXzB4MjkxYTQyPVByb21pc2UpKShmdW5jdGlvbihfMHgxMWM4NTgsXzB4MTIzYmQ2KXt2YXIgXzB4YzBhMWUwPV8weDE1YTM7ZnVuY3Rpb24gXzB4MzA4NmZlKF8weDJjNjc0ZSl7dmFyIF8weDQzMzEyZT1fMHgxNWEzO3RyeXtfMHg0NGM2YmIoXzB4Mjg4NjA3W18weDQzMzEyZSgnMHg3NDAnKV0oXzB4MmM2NzRlKSk7fWNhdGNoKF8weDQ3ZjM0ZSl7XzB4MTIzYmQ2KF8weDQ3ZjM0ZSk7fX1mdW5jdGlvbiBfMHgyNzczM2UoXzB4MWRjZGJhKXt2YXIgXzB4NWI4MGYyPV8weDE1YTM7dHJ5e18weDQ0YzZiYihfMHgyODg2MDdbXzB4NWI4MGYyKCcweGFlMycpXShfMHgxZGNkYmEpKTt9Y2F0Y2goXzB4MzhiMDE5KXtfMHgxMjNiZDYoXzB4MzhiMDE5KTt9fWZ1bmN0aW9uIF8weDQ0YzZiYihfMHgyMDRkNWQpe3ZhciBfMHg0ODk5OWQ9XzB4MTVhMyxfMHgxOTM5NzU7XzB4MjA0ZDVkW18weDQ4OTk5ZCgnMHhjNWMnKV0/XzB4MTFjODU4KF8weDIwNGQ1ZFtfMHg0ODk5OWQoJzB4ODlkJyldKTooXzB4MTkzOTc1PV8weDIwNGQ1ZFtfMHg0ODk5OWQoJzB4ODlkJyldLF8weDE5Mzk3NSBpbnN0YW5jZW9mIF8weDI5MWE0Mj9fMHgxOTM5NzU6bmV3IF8weDI5MWE0MihmdW5jdGlvbihfMHgzNjg0N2Qpe18weDM2ODQ3ZChfMHgxOTM5NzUpO30pKVtfMHg0ODk5OWQoJzB4ZDM0JyldKF8weDMwODZmZSxfMHgyNzczM2UpO31fMHg0NGM2YmIoKF8weDI4ODYwNz1fMHgyODg2MDdbJ2FwcGx5J10oXzB4MjhjMjQyLF8weDJlYTY4YXx8W10pKVtfMHhjMGExZTAoJzB4NzQwJyldKCkpO30pO30sXzB4MjgwZjE0PXRoaXMmJnRoaXNbXzB4MTM1NTdiKCcweDQ0YScpXXx8ZnVuY3Rpb24oXzB4ZGY5ZDVkLF8weDMzODRkNCl7dmFyIF8weDE5YmQzYT1fMHgxMzU1N2IsXzB4M2RiZjIzLF8weDU1MTQ4ZixfMHgxOGU0NmYsXzB4MTgzYTM0LF8weDUyYTg3ND17J2xhYmVsJzoweDAsJ3NlbnQnOmZ1bmN0aW9uKCl7aWYoMHgxJl8weDE4ZTQ2ZlsweDBdKXRocm93IF8weDE4ZTQ2ZlsweDFdO3JldHVybiBfMHgxOGU0NmZbMHgxXTt9LCd0cnlzJzpbXSwnb3BzJzpbXX07cmV0dXJuIF8weDE4M2EzND17J25leHQnOl8weDMwY2UyMigweDApLCd0aHJvdyc6XzB4MzBjZTIyKDB4MSksJ3JldHVybic6XzB4MzBjZTIyKDB4Mil9LCdmdW5jdGlvbic9PXR5cGVvZiBTeW1ib2wmJihfMHgxODNhMzRbU3ltYm9sW18weDE5YmQzYSgnMHg3NmMnKV1dPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM7fSksXzB4MTgzYTM0O2Z1bmN0aW9uIF8weDMwY2UyMihfMHg1NTdlZTUpe3JldHVybiBmdW5jdGlvbihfMHgzMWJmNTcpe3JldHVybiBmdW5jdGlvbihfMHhiYTk5MWEpe3ZhciBfMHg3N2Y0NTM9XzB4MTVhMztpZihfMHgzZGJmMjMpdGhyb3cgbmV3IFR5cGVFcnJvcihfMHg3N2Y0NTMoJzB4Yjg2JykpO2Zvcig7XzB4MTgzYTM0JiYoXzB4MTgzYTM0PTB4MCxfMHhiYTk5MWFbMHgwXSYmKF8weDUyYTg3ND0weDApKSxfMHg1MmE4NzQ7KXRyeXtpZihfMHgzZGJmMjM9MHgxLF8weDU1MTQ4ZiYmKF8weDE4ZTQ2Zj0weDImXzB4YmE5OTFhWzB4MF0/XzB4NTUxNDhmW18weDc3ZjQ1MygnMHg2ZmUnKV06XzB4YmE5OTFhWzB4MF0/XzB4NTUxNDhmW18weDc3ZjQ1MygnMHhhZTMnKV18fCgoXzB4MThlNDZmPV8weDU1MTQ4ZltfMHg3N2Y0NTMoJzB4NmZlJyldKSYmXzB4MThlNDZmWydjYWxsJ10oXzB4NTUxNDhmKSwweDApOl8weDU1MTQ4ZltfMHg3N2Y0NTMoJzB4NzQwJyldKSYmIShfMHgxOGU0NmY9XzB4MThlNDZmW18weDc3ZjQ1MygnMHg1ZmQnKV0oXzB4NTUxNDhmLF8weGJhOTkxYVsweDFdKSlbXzB4NzdmNDUzKCcweGM1YycpXSlyZXR1cm4gXzB4MThlNDZmO3N3aXRjaChfMHg1NTE0OGY9MHgwLF8weDE4ZTQ2ZiYmKF8weGJhOTkxYT1bMHgyJl8weGJhOTkxYVsweDBdLF8weDE4ZTQ2ZltfMHg3N2Y0NTMoJzB4ODlkJyldXSksXzB4YmE5OTFhWzB4MF0pe2Nhc2UgMHgwOmNhc2UgMHgxOl8weDE4ZTQ2Zj1fMHhiYTk5MWE7YnJlYWs7Y2FzZSAweDQ6cmV0dXJuIF8weDUyYTg3NFsnbGFiZWwnXSsrLHsndmFsdWUnOl8weGJhOTkxYVsweDFdLCdkb25lJzohMHgxfTtjYXNlIDB4NTpfMHg1MmE4NzRbJ2xhYmVsJ10rKyxfMHg1NTE0OGY9XzB4YmE5OTFhWzB4MV0sXzB4YmE5OTFhPVsweDBdO2NvbnRpbnVlO2Nhc2UgMHg3Ol8weGJhOTkxYT1fMHg1MmE4NzRbXzB4NzdmNDUzKCcweDliZicpXVtfMHg3N2Y0NTMoJzB4NmRlJyldKCksXzB4NTJhODc0W18weDc3ZjQ1MygnMHg5ZDcnKV1bXzB4NzdmNDUzKCcweDZkZScpXSgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoISgoXzB4MThlNDZmPShfMHgxOGU0NmY9XzB4NTJhODc0W18weDc3ZjQ1MygnMHg5ZDcnKV0pW18weDc3ZjQ1MygnMHg1MjAnKV0+MHgwJiZfMHgxOGU0NmZbXzB4MThlNDZmW18weDc3ZjQ1MygnMHg1MjAnKV0tMHgxXSl8fDB4NiE9PV8weGJhOTkxYVsweDBdJiYweDIhPT1fMHhiYTk5MWFbMHgwXSkpe18weDUyYTg3ND0weDA7Y29udGludWU7fWlmKDB4Mz09PV8weGJhOTkxYVsweDBdJiYoIV8weDE4ZTQ2Znx8XzB4YmE5OTFhWzB4MV0+XzB4MThlNDZmWzB4MF0mJl8weGJhOTkxYVsweDFdPF8weDE4ZTQ2ZlsweDNdKSl7XzB4NTJhODc0W18weDc3ZjQ1MygnMHg5NWEnKV09XzB4YmE5OTFhWzB4MV07YnJlYWs7fWlmKDB4Nj09PV8weGJhOTkxYVsweDBdJiZfMHg1MmE4NzRbXzB4NzdmNDUzKCcweDk1YScpXTxfMHgxOGU0NmZbMHgxXSl7XzB4NTJhODc0WydsYWJlbCddPV8weDE4ZTQ2ZlsweDFdLF8weDE4ZTQ2Zj1fMHhiYTk5MWE7YnJlYWs7fWlmKF8weDE4ZTQ2ZiYmXzB4NTJhODc0W18weDc3ZjQ1MygnMHg5NWEnKV08XzB4MThlNDZmWzB4Ml0pe18weDUyYTg3NFtfMHg3N2Y0NTMoJzB4OTVhJyldPV8weDE4ZTQ2ZlsweDJdLF8weDUyYTg3NFtfMHg3N2Y0NTMoJzB4OWJmJyldWydwdXNoJ10oXzB4YmE5OTFhKTticmVhazt9XzB4MThlNDZmWzB4Ml0mJl8weDUyYTg3NFtfMHg3N2Y0NTMoJzB4OWJmJyldWydwb3AnXSgpLF8weDUyYTg3NFtfMHg3N2Y0NTMoJzB4OWQ3JyldW18weDc3ZjQ1MygnMHg2ZGUnKV0oKTtjb250aW51ZTt9XzB4YmE5OTFhPV8weDMzODRkNFtfMHg3N2Y0NTMoJzB4NWZkJyldKF8weGRmOWQ1ZCxfMHg1MmE4NzQpO31jYXRjaChfMHg0MjU0YTYpe18weGJhOTkxYT1bMHg2LF8weDQyNTRhNl0sXzB4NTUxNDhmPTB4MDt9ZmluYWxseXtfMHgzZGJmMjM9XzB4MThlNDZmPTB4MDt9aWYoMHg1Jl8weGJhOTkxYVsweDBdKXRocm93IF8weGJhOTkxYVsweDFdO3JldHVybnsndmFsdWUnOl8weGJhOTkxYVsweDBdP18weGJhOTkxYVsweDFdOnZvaWQgMHgwLCdkb25lJzohMHgwfTt9KFtfMHg1NTdlZTUsXzB4MzFiZjU3XSk7fTt9fSxfMHhlNTEwYjE9dGhpcyYmdGhpc1snX19yZWFkJ118fGZ1bmN0aW9uKF8weDU4MTI4MixfMHg0YjY1OWEpe3ZhciBfMHgxMmI2N2I9XzB4MTM1NTdiLF8weDUxMjE2Yz0nZnVuY3Rpb24nPT10eXBlb2YgU3ltYm9sJiZfMHg1ODEyODJbU3ltYm9sWydpdGVyYXRvciddXTtpZighXzB4NTEyMTZjKXJldHVybiBfMHg1ODEyODI7dmFyIF8weDNjNjBmNCxfMHgzYmZjMWYsXzB4NWI2ODg4PV8weDUxMjE2Y1snY2FsbCddKF8weDU4MTI4MiksXzB4MTQyNzZlPVtdO3RyeXtmb3IoOyh2b2lkIDB4MD09PV8weDRiNjU5YXx8XzB4NGI2NTlhLS0+MHgwKSYmIShfMHgzYzYwZjQ9XzB4NWI2ODg4W18weDEyYjY3YignMHg3NDAnKV0oKSlbXzB4MTJiNjdiKCcweGM1YycpXTspXzB4MTQyNzZlW18weDEyYjY3YignMHg4YjcnKV0oXzB4M2M2MGY0W18weDEyYjY3YignMHg4OWQnKV0pO31jYXRjaChfMHg0ZGE3NGIpe18weDNiZmMxZj17J2Vycm9yJzpfMHg0ZGE3NGJ9O31maW5hbGx5e3RyeXtfMHgzYzYwZjQmJiFfMHgzYzYwZjRbXzB4MTJiNjdiKCcweGM1YycpXSYmKF8weDUxMjE2Yz1fMHg1YjY4ODhbJ3JldHVybiddKSYmXzB4NTEyMTZjW18weDEyYjY3YignMHg1ZmQnKV0oXzB4NWI2ODg4KTt9ZmluYWxseXtpZihfMHgzYmZjMWYpdGhyb3cgXzB4M2JmYzFmW18weDEyYjY3YignMHhjOWUnKV07fX1yZXR1cm4gXzB4MTQyNzZlO30sXzB4YzljZjgyPXRoaXMmJnRoaXNbJ19fc3ByZWFkQXJyYXknXXx8ZnVuY3Rpb24oXzB4MTY1OTVkLF8weDExOWM0ZCxfMHgyMDI0NDEpe3ZhciBfMHgyYTI5Yzk9XzB4MTM1NTdiO2lmKF8weDIwMjQ0MXx8MHgyPT09YXJndW1lbnRzW18weDJhMjljOSgnMHg1MjAnKV0pe2Zvcih2YXIgXzB4NDU4OTU0LF8weDRlNzA3OD0weDAsXzB4MjVlZmYyPV8weDExOWM0ZFsnbGVuZ3RoJ107XzB4NGU3MDc4PF8weDI1ZWZmMjtfMHg0ZTcwNzgrKykhXzB4NDU4OTU0JiZfMHg0ZTcwNzggaW4gXzB4MTE5YzRkfHwoXzB4NDU4OTU0fHwoXzB4NDU4OTU0PUFycmF5W18weDJhMjljOSgnMHg3NTYnKV1bXzB4MmEyOWM5KCcweGFkYScpXVtfMHgyYTI5YzkoJzB4NWZkJyldKF8weDExOWM0ZCwweDAsXzB4NGU3MDc4KSksXzB4NDU4OTU0W18weDRlNzA3OF09XzB4MTE5YzRkW18weDRlNzA3OF0pO31yZXR1cm4gXzB4MTY1OTVkW18weDJhMjljOSgnMHg1MzAnKV0oXzB4NDU4OTU0fHxBcnJheVtfMHgyYTI5YzkoJzB4NzU2JyldW18weDJhMjljOSgnMHhhZGEnKV1bXzB4MmEyOWM5KCcweDVmZCcpXShfMHgxMTljNGQpKTt9O09iamVjdFsnZGVmaW5lUHJvcGVydHknXShfMHg3NDU0N2YsXzB4MTM1NTdiKCcweGNkMicpLHsndmFsdWUnOiEweDB9KSxfMHg3NDU0N2ZbXzB4MTM1NTdiKCcweDdmMycpXT1fMHg3NDU0N2ZbXzB4MTM1NTdiKCcweDMxYScpXT1fMHg3NDU0N2ZbXzB4MTM1NTdiKCcweGFmMycpXT1fMHg3NDU0N2ZbXzB4MTM1NTdiKCcweDg1MScpXT1fMHg3NDU0N2ZbXzB4MTM1NTdiKCcweGFlYScpXT1fMHg3NDU0N2ZbXzB4MTM1NTdiKCcweDk2YScpXT1fMHg3NDU0N2ZbXzB4MTM1NTdiKCcweDY4NicpXT12b2lkIDB4MDt2YXIgXzB4MTk4MmQwPV8weDE0OWYwNSgweDFkZDgpLF8weDVhZTVkZT1fMHgxNDlmMDUoMHgxZDFjKSxfMHg0NTFlMWQ9XzB4MTQ5ZjA1KDB4MjExNyksXzB4NTQ5ZWMyPV8weDE0OWYwNSgweDIwMCksXzB4MWZhNDFkPV8weDE0OWYwNSgweDE1N2EpLF8weDI3NmY5Yj1fMHgxNDlmMDUoMHg1ZjYpLF8weDEzYWViZT1fMHgxNDlmMDUoMHgyNmJmKSxfMHgxZDBiNDI9XzB4MTQ5ZjA1KDB4MjUxNiksXzB4MTI0MjhkPV8weDE0OWYwNSgweDFkYTcpO18weDc0NTQ3ZltfMHgxMzU1N2IoJzB4Njg2JyldPWZ1bmN0aW9uKF8weDU4Yjc0YixfMHgxZGEzZmMpe3ZhciBfMHgzMzdmYjU9XzB4MTM1NTdiLF8weDM1YzNlMj1fMHg1OGI3NGJbJ29mZmVyJ10sXzB4NWJkNGY4PV8weDU4Yjc0YltfMHgzMzdmYjUoJzB4M2EyJyldLF8weDNkYjdkYj1fMHg1OGI3NGJbXzB4MzM3ZmI1KCcweDU5YicpXTtpZighXzB4MWRhM2ZjWydlcSddKDB4MCkpcmV0dXJuITB4MTtpZihfMHgzNWMzZTJbXzB4MzM3ZmI1KCcweDUyMCcpXT4weDF8fDB4MD09PV8weDViZDRmOFtfMHgzMzdmYjUoJzB4NTIwJyldKXJldHVybiEweDE7dmFyIF8weDM0OTJhMj1fMHhjOWNmODIoXzB4YzljZjgyKFtdLF8weGU1MTBiMShfMHgzNWMzZTIpLCEweDEpLF8weGU1MTBiMShfMHg1YmQ0ZjgpLCEweDEpLF8weDI5YzVhOT1fMHgzNDkyYTJbXzB4MzM3ZmI1KCcweDNhYicpXShmdW5jdGlvbihfMHgxYjQyYTkpe3ZhciBfMHg1NjFmYzU9XzB4MzM3ZmI1LF8weDI2MWIyMj1fMHgxYjQyYTlbJ2l0ZW1UeXBlJ107cmV0dXJuW18weDVhZTVkZVtfMHg1NjFmYzUoJzB4M2Y4JyldWydFUkM3MjEnXSxfMHg1YWU1ZGVbXzB4NTYxZmM1KCcweDNmOCcpXVtfMHg1NjFmYzUoJzB4NTVhJyldXVsnaW5jbHVkZXMnXShfMHgyNjFiMjIpO30pLF8weDUxMWMyNz1fMHgzNDkyYTJbXzB4MzM3ZmI1KCcweDNhYicpXShmdW5jdGlvbihfMHgxNzJmYTMpe3ZhciBfMHg3NTk3NzI9XzB4MzM3ZmI1LF8weDMyZTBiZT1fMHgxNzJmYTNbXzB4NzU5NzcyKCcweGM1OCcpXTtyZXR1cm4oMHgwLF8weDEzYWViZVtfMHg3NTk3NzIoJzB4MWJhJyldKShfMHgzMmUwYmUpO30pO2lmKCgweDAsXzB4MTNhZWJlW18weDMzN2ZiNSgnMHg5NDQnKV0pKF8weDM1YzNlMlsweDBdKSlyZXR1cm4hMHgxO2lmKDB4MSE9PV8weDI5YzVhOVsnbGVuZ3RoJ118fDB4MCE9PV8weDUxMWMyN1snbGVuZ3RoJ10pcmV0dXJuITB4MTtpZighKDB4MCxfMHgxZDBiNDJbXzB4MzM3ZmI1KCcweDMzZScpXSkoeydvZmZlcic6XzB4MzVjM2UyLCdjb25zaWRlcmF0aW9uJzpfMHg1YmQ0Zjh9KSlyZXR1cm4hMHgxO3ZhciBfMHg1Y2U0NDQ9XzB4MzQ5MmEyW18weDMzN2ZiNSgnMHhkMWQnKV0oZnVuY3Rpb24oXzB4NDZiMmY2KXt2YXIgXzB4MWQzZGNhPV8weDMzN2ZiNTtyZXR1cm4gXzB4NDZiMmY2W18weDFkM2RjYSgnMHhkMGMnKV0hPT1fMHg0NmIyZjZbXzB4MWQzZGNhKCcweDNhZicpXTt9KTtpZihfMHg1Y2U0NDQpcmV0dXJuITB4MTt2YXIgXzB4YzE0MzlkPV8weGU1MTBiMShfMHg1YmQ0ZjgpLF8weDI4ZmI5Mz1fMHhjMTQzOWRbMHgwXSxfMHg1MzlkMzY9XzB4YzE0MzlkW18weDMzN2ZiNSgnMHhhZGEnKV0oMHgxKTtpZihfMHgyOGZiOTNbJ3JlY2lwaWVudCddW18weDMzN2ZiNSgnMHg4NzAnKV0oKSE9PV8weDNkYjdkYltfMHgzMzdmYjUoJzB4ODcwJyldKCkpcmV0dXJuITB4MTtpZihfMHg1YmQ0ZjhbJ2xlbmd0aCddPjB4MSYmXzB4NTM5ZDM2W18weDMzN2ZiNSgnMHg3YmEnKV0oZnVuY3Rpb24oXzB4MzA0NjczKXt2YXIgXzB4NTBkYTBjPV8weDMzN2ZiNTtyZXR1cm4gXzB4MzA0NjczW18weDUwZGEwYygnMHhjNTgnKV09PT1fMHgzNWMzZTJbMHgwXVtfMHg1MGRhMGMoJzB4YzU4JyldO30pJiYoMHgwLF8weDFkMGI0MltfMHgzMzdmYjUoJzB4OTcxJyldKShfMHg1MzlkMzYpW18weDMzN2ZiNSgnMHgzYWYnKV1bJ2d0J10oXzB4MzVjM2UyWzB4MF1bXzB4MzM3ZmI1KCcweDNhZicpXSkpcmV0dXJuITB4MTt2YXIgXzB4MTYxODA4PV8weDM0OTJhMltfMHgzMzdmYjUoJzB4M2FiJyldKF8weDEzYWViZVtfMHgzMzdmYjUoJzB4ODNjJyldKSxfMHg0NmI5YjM9XzB4MTYxODA4W18weDMzN2ZiNSgnMHgzYWInKV0oZnVuY3Rpb24oXzB4MThkZjhmKXt2YXIgXzB4Yzc0ZTZiPV8weDMzN2ZiNTtyZXR1cm4gXzB4MThkZjhmW18weGM3NGU2YignMHhjNTgnKV09PT1fMHg1YWU1ZGVbXzB4Yzc0ZTZiKCcweDNmOCcpXVsnTkFUSVZFJ107fSlbJ2V2ZXJ5J10oZnVuY3Rpb24oXzB4MTRlMTg0KXt2YXIgXzB4MzYxNGM0PV8weDMzN2ZiNTtyZXR1cm4gXzB4MTRlMTg0Wyd0b2tlbiddPT09XzB4MTk4MmQwW18weDM2MTRjNCgnMHg5Y2UnKV1bXzB4MzYxNGM0KCcweGM1OScpXVtfMHgzNjE0YzQoJzB4ODhmJyldO30pLF8weDUzOGRkYj1fMHgxNjE4MDhbJ2V2ZXJ5J10oZnVuY3Rpb24oXzB4NDA2MjEzKXt2YXIgXzB4NDMzYTRmPV8weDMzN2ZiNSxfMHg0NTFlNmY9XzB4NDA2MjEzWydpZGVudGlmaWVyT3JDcml0ZXJpYSddO3JldHVybiBfMHgxOTgyZDBbXzB4NDMzYTRmKCcweDVjMScpXVtfMHg0MzNhNGYoJzB4MjUyJyldKF8weDQ1MWU2ZilbJ2VxJ10oMHgwKTt9KSxfMHg1YjRkNTc9XzB4MjljNWE5W18weDMzN2ZiNSgnMHgzYWInKV0oZnVuY3Rpb24oXzB4MzE5NTYpe3ZhciBfMHgxODQ1YTA9XzB4MzM3ZmI1O3JldHVybiBfMHgzMTk1NlsnaXRlbVR5cGUnXT09PV8weDVhZTVkZVtfMHgxODQ1YTAoJzB4M2Y4JyldWydFUkM3MjEnXTt9KVtfMHgzMzdmYjUoJzB4N2JhJyldKGZ1bmN0aW9uKF8weDIwYzQyOSl7cmV0dXJuJzEnPT09XzB4MjBjNDI5WydlbmRBbW91bnQnXTt9KTtyZXR1cm4gXzB4NDZiOWIzJiZfMHg1MzhkZGImJl8weDViNGQ1Nzt9O3ZhciBfMHgyYjVkNjQ9KChfMHgyYmYzM2U9e30pW18weDVhZTVkZVsnSXRlbVR5cGUnXVtfMHgxMzU1N2IoJzB4NzA1JyldXT0oKF8weDVkNWZjMD17fSlbXzB4NWFlNWRlW18weDEzNTU3YignMHgzZjgnKV1bXzB4MTM1NTdiKCcweGFlNycpXV09XzB4NWFlNWRlW18weDEzNTU3YignMHhiM2YnKV1bJ0VSQzcyMV9UT19FUkMyMCddLF8weDVkNWZjMFtfMHg1YWU1ZGVbXzB4MTM1NTdiKCcweDNmOCcpXVtfMHgxMzU1N2IoJzB4NTVhJyldXT1fMHg1YWU1ZGVbXzB4MTM1NTdiKCcweGIzZicpXVtfMHgxMzU1N2IoJzB4YjMzJyldLF8weDVkNWZjMCksXzB4MmJmMzNlW18weDVhZTVkZVtfMHgxMzU1N2IoJzB4M2Y4JyldW18weDEzNTU3YignMHhhZTcnKV1dPSgoXzB4MzdlY2RmPXt9KVtfMHg1YWU1ZGVbJ0l0ZW1UeXBlJ11bJ05BVElWRSddXT1fMHg1YWU1ZGVbJ0Jhc2ljT3JkZXJSb3V0ZVR5cGUnXVsnRVRIX1RPX0VSQzcyMSddLF8weDM3ZWNkZltfMHg1YWU1ZGVbXzB4MTM1NTdiKCcweDNmOCcpXVtfMHgxMzU1N2IoJzB4NzA1JyldXT1fMHg1YWU1ZGVbJ0Jhc2ljT3JkZXJSb3V0ZVR5cGUnXVtfMHgxMzU1N2IoJzB4MzQzJyldLF8weDM3ZWNkZiksXzB4MmJmMzNlW18weDVhZTVkZVsnSXRlbVR5cGUnXVsnRVJDMTE1NSddXT0oKF8weDQ1OGJhMz17fSlbXzB4NWFlNWRlW18weDEzNTU3YignMHgzZjgnKV1bXzB4MTM1NTdiKCcweGFkOCcpXV09XzB4NWFlNWRlW18weDEzNTU3YignMHhiM2YnKV1bXzB4MTM1NTdiKCcweDgzZicpXSxfMHg0NThiYTNbXzB4NWFlNWRlW18weDEzNTU3YignMHgzZjgnKV1bXzB4MTM1NTdiKCcweDcwNScpXV09XzB4NWFlNWRlW18weDEzNTU3YignMHhiM2YnKV1bXzB4MTM1NTdiKCcweDRjZScpXSxfMHg0NThiYTMpLF8weDJiZjMzZSk7ZnVuY3Rpb24gXzB4Mzk3N2FlKF8weDE3M2E5NyxfMHgxZTIzYTIpe3ZhciBfMHgzMTgzY2E9XzB4MTM1NTdiLF8weDUzNzU3Zj1fMHgxZTIzYTJbXzB4MzE4M2NhKCcweGM1ZScpXSxfMHg1ZWM3MzQ9XzB4MWUyM2EyW18weDMxODNjYSgnMHg1NTQnKV0sXzB4NTRmZThiPV8weDFlMjNhMltfMHgzMTgzY2EoJzB4YmMyJyldLF8weDQ5NTkwYj1fMHgxZTIzYTJbXzB4MzE4M2NhKCcweDVkYicpXTtpZihfMHg0OTU5MGJbJ2d0J10oMHgwKSYmXzB4NTRmZThiWydkaXYnXShfMHg0OTU5MGIpWydlcSddKDB4MSkpdGhyb3cgbmV3IEVycm9yKF8weDMxODNjYSgnMHg2YWInKSk7aWYoXzB4NWVjNzM0KXRocm93IG5ldyBFcnJvcihfMHgzMTgzY2EoJzB4OWUyJykpO3JldHVybiBfMHg1Mzc1N2Y/eydwYXJhbWV0ZXJzJzpfMHgzYjFjMzcoe30sXzB4MTczYTk3WydwYXJhbWV0ZXJzJ10pLCdzaWduYXR1cmUnOicweCd9Ol8weDE3M2E5Nzt9ZnVuY3Rpb24gXzB4NTZiMGY1KF8weDNlZmI5Yyl7dmFyIF8weDRkY2U2Mj1fMHgxMzU1N2IsXzB4MmU5MGVkPWZ1bmN0aW9uKF8weDEwNzJkNil7dmFyIF8weDFmZWZhND1fMHgxNWEzLF8weGNlOTliMD1fMHgxMDcyZDZbXzB4MWZlZmE0KCcweGI0NycpXSxfMHgyZGFmMzY9XzB4MTA3MmQ2W18weDFmZWZhNCgnMHg0N2QnKV0sXzB4MzZiOWU1PXZvaWQgMHgwPT09XzB4MmRhZjM2PycnOl8weDJkYWYzNixfMHg0NmM4ODg9XzB4MTA3MmQ2W18weDFmZWZhNCgnMHg2Y2InKV0sXzB4MjUzMTk2PV8weDEwNzJkNltfMHgxZmVmYTQoJzB4NThkJyldO3JldHVybicnW18weDFmZWZhNCgnMHg1MzAnKV0oXzB4Y2U5OWIwLCctJylbJ2NvbmNhdCddKF8weDM2YjllNSwnLScpWydjb25jYXQnXShfMHg0NmM4ODgsJy0nKVsnY29uY2F0J10oXzB4MjUzMTk2KTt9LF8weDRiMDIwYT17fSxfMHgxZmU2OGM9e307cmV0dXJuIF8weDNlZmI5Y1snZm9yRWFjaCddKGZ1bmN0aW9uKF8weDMyYWNhYixfMHgzOTZlZDQpe3ZhciBfMHgzM2RmZmI9XzB4MTVhMyxfMHgyZjJiZTA9XzB4MzJhY2FiWydvcmRlciddLF8weDFjNTQ1ZD1fMHgzMmFjYWJbJ29mZmVyZXJPcGVyYXRvciddLF8weDQxMDQ4OT1fMHgzMmFjYWJbXzB4MzNkZmZiKCcweDM1MScpXSxfMHgxODM0ZjQ9KDB4MCxfMHgxZmE0MWRbJ2dldEl0ZW1Ub0NyaXRlcmlhTWFwJ10pKF8weDJmMmJlMFtfMHgzM2RmZmIoJzB4ZDRhJyldW18weDMzZGZmYignMHg5MzknKV0sXzB4NDEwNDg5KTtyZXR1cm4gXzB4MmYyYmUwWydwYXJhbWV0ZXJzJ11bXzB4MzNkZmZiKCcweDkzOScpXVtfMHgzM2RmZmIoJzB4NTFlJyldKGZ1bmN0aW9uKF8weGU2NTFmZixfMHg1NWYwMTIpe3ZhciBfMHg2NzliNGE9XzB4MzNkZmZiLF8weDFjOTBmOCxfMHgxNDZiOTMsXzB4ZmY2NGVkLF8weDEwYTg5OT0nJ1tfMHg2NzliNGEoJzB4NTMwJyldKF8weDJlOTBlZCh7J3NvdXJjZU9yRGVzdGluYXRpb24nOl8weDJmMmJlMFtfMHg2NzliNGEoJzB4ZDRhJyldW18weDY3OWI0YSgnMHg1OWInKV0sJ29wZXJhdG9yJzpfMHgxYzU0NWQsJ3Rva2VuJzpfMHhlNjUxZmZbXzB4Njc5YjRhKCcweDZjYicpXSwnaWRlbnRpZmllcic6bnVsbCE9PShfMHgxNDZiOTM9bnVsbD09PShfMHgxYzkwZjg9XzB4MTgzNGY0W18weDY3OWI0YSgnMHg1N2QnKV0oXzB4ZTY1MWZmKSl8fHZvaWQgMHgwPT09XzB4MWM5MGY4P3ZvaWQgMHgwOl8weDFjOTBmOFtfMHg2NzliNGEoJzB4NThkJyldKSYmdm9pZCAweDAhPT1fMHgxNDZiOTM/XzB4MTQ2YjkzOl8weGU2NTFmZltfMHg2NzliNGEoJzB4MjgwJyldfSkpW18weDY3OWI0YSgnMHg1MzAnKV0oKDB4MCxfMHgxM2FlYmVbJ2lzRXJjNzIxSXRlbSddKShfMHhlNjUxZmZbXzB4Njc5YjRhKCcweGM1OCcpXSk/XzB4NTVmMDEyOicnKTtfMHg0YjAyMGFbXzB4MTBhODk5XT1fMHhjOWNmODIoXzB4YzljZjgyKFtdLF8weGU1MTBiMShudWxsIT09KF8weGZmNjRlZD1fMHg0YjAyMGFbXzB4MTBhODk5XSkmJnZvaWQgMHgwIT09XzB4ZmY2NGVkP18weGZmNjRlZDpbXSksITB4MSksW3snb3JkZXJJbmRleCc6XzB4Mzk2ZWQ0LCdpdGVtSW5kZXgnOl8weDU1ZjAxMn1dLCEweDEpO30pO30pLF8weDNlZmI5Y1snZm9yRWFjaCddKGZ1bmN0aW9uKF8weGUwMDdhOSxfMHgyODNmYTMpe3ZhciBfMHg0OGUxYmE9XzB4MTVhMyxfMHg1OWU0Yzc9XzB4ZTAwN2E5W18weDQ4ZTFiYSgnMHg1YTcnKV0sXzB4N2UxNzE2PV8weGUwMDdhOVtfMHg0OGUxYmEoJzB4NzRmJyldLF8weDJlY2VmNz1fMHhlMDA3YTlbXzB4NDhlMWJhKCcweDg1NCcpXSxfMHgyZGNkM2U9KDB4MCxfMHgxZmE0MWRbXzB4NDhlMWJhKCcweDZiNScpXSkoXzB4NTllNGM3WydwYXJhbWV0ZXJzJ11bXzB4NDhlMWJhKCcweDNhMicpXSxfMHg3ZTE3MTYpO3JldHVybiBfMHhjOWNmODIoXzB4YzljZjgyKFtdLF8weGU1MTBiMShfMHg1OWU0YzdbXzB4NDhlMWJhKCcweGQ0YScpXVsnY29uc2lkZXJhdGlvbiddKSwhMHgxKSxfMHhlNTEwYjEoXzB4MmVjZWY3KSwhMHgxKVtfMHg0OGUxYmEoJzB4NTFlJyldKGZ1bmN0aW9uKF8weDEzZTQ3MSxfMHgzMzhjZjApe3ZhciBfMHg0YWU1MWU9XzB4NDhlMWJhLF8weDU2NDFiMixfMHgyNTIxNjcsXzB4MzgwYjU5LF8weDVjYzJkOD0nJ1snY29uY2F0J10oXzB4MmU5MGVkKHsnc291cmNlT3JEZXN0aW5hdGlvbic6XzB4MTNlNDcxW18weDRhZTUxZSgnMHgzNDEnKV0sJ3Rva2VuJzpfMHgxM2U0NzFbJ3Rva2VuJ10sJ2lkZW50aWZpZXInOm51bGwhPT0oXzB4MjUyMTY3PW51bGw9PT0oXzB4NTY0MWIyPV8weDJkY2QzZVtfMHg0YWU1MWUoJzB4NTdkJyldKF8weDEzZTQ3MSkpfHx2b2lkIDB4MD09PV8weDU2NDFiMj92b2lkIDB4MDpfMHg1NjQxYjJbXzB4NGFlNTFlKCcweDU4ZCcpXSkmJnZvaWQgMHgwIT09XzB4MjUyMTY3P18weDI1MjE2NzpfMHgxM2U0NzFbJ2lkZW50aWZpZXJPckNyaXRlcmlhJ119KSlbXzB4NGFlNTFlKCcweDUzMCcpXSgoMHgwLF8weDEzYWViZVtfMHg0YWU1MWUoJzB4NmUxJyldKShfMHgxM2U0NzFbXzB4NGFlNTFlKCcweGM1OCcpXSk/XzB4MzM4Y2YwOicnKTtfMHgxZmU2OGNbXzB4NWNjMmQ4XT1fMHhjOWNmODIoXzB4YzljZjgyKFtdLF8weGU1MTBiMShudWxsIT09KF8weDM4MGI1OT1fMHgxZmU2OGNbXzB4NWNjMmQ4XSkmJnZvaWQgMHgwIT09XzB4MzgwYjU5P18weDM4MGI1OTpbXSksITB4MSksW3snb3JkZXJJbmRleCc6XzB4MjgzZmEzLCdpdGVtSW5kZXgnOl8weDMzOGNmMH1dLCEweDEpO30pO30pLHsnb2ZmZXJGdWxmaWxsbWVudHMnOk9iamVjdFtfMHg0ZGNlNjIoJzB4NzA0JyldKF8weDRiMDIwYSksJ2NvbnNpZGVyYXRpb25GdWxmaWxsbWVudHMnOk9iamVjdFtfMHg0ZGNlNjIoJzB4NzA0JyldKF8weDFmZTY4Yyl9O31fMHg3NDU0N2ZbXzB4MTM1NTdiKCcweDk2YScpXT1mdW5jdGlvbihfMHg1ZjRjNzUsXzB4MzAyNTZjKXt2YXIgXzB4MTAyYTliPV8weDEzNTU3YixfMHgzZjk2NTcsXzB4MjJmOTQzLF8weDIyOWU0ZT1fMHg1ZjRjNzVbJ29yZGVyJ10sXzB4ZjhkOTlmPV8weDVmNGM3NVsnc2VhcG9ydENvbnRyYWN0J10sXzB4M2RhNzMxPV8weDVmNGM3NVtfMHgxMDJhOWIoJzB4N2ZhJyldLF8weDJjODUxMz1fMHg1ZjRjNzVbJ2Z1bGZpbGxlckJhbGFuY2VzQW5kQXBwcm92YWxzJ10sXzB4MjEzNzNiPV8weDVmNGM3NVsndGltZUJhc2VkSXRlbVBhcmFtcyddLF8weDVlYmUyNj1fMHg1ZjRjNzVbXzB4MTAyYTliKCcweDYwYicpXSxfMHg3YzZjYmI9XzB4NWY0Yzc1W18weDEwMmE5YignMHg0MWUnKV0sXzB4YmM2ZWY9XzB4NWY0Yzc1WydzaWduZXInXSxfMHgyZTM2MzY9XzB4NWY0Yzc1W18weDEwMmE5YignMHg4NTQnKV0sXzB4MjI5ZTZhPXZvaWQgMHgwPT09XzB4MmUzNjM2P1tdOl8weDJlMzYzNixfMHg0ZWIxMmM9XzB4NWY0Yzc1Wydjb25kdWl0S2V5J10sXzB4MmQxYmQ3PXZvaWQgMHgwPT09XzB4NGViMTJjP18weDVhZTVkZVtfMHgxMDJhOWIoJzB4OWRiJyldOl8weDRlYjEyYyxfMHgzYzMyM2M9XzB4NWY0Yzc1W18weDEwMmE5YignMHhhY2QnKV07cmV0dXJuIF8weDRkMWYwOCh0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKCl7dmFyIF8weDIwZThlZSxfMHgyMzJiOWIsXzB4MzY0YmNiLF8weDQ4NzEwYyxfMHgxODAwMzUsXzB4NTg3N2JhLF8weDU5Y2Y1NSxfMHgzZjI4MGUsXzB4MWZkZDRjLF8weDI2MDA5NixfMHgxZTUzN2YsXzB4MWNiNDA5LF8weDEwN2U3ZixfMHg0ZGFjODAsXzB4NThiNjkxLF8weGQ4ODE5YSxfMHg0MjljZjAsXzB4MmVmYTdiO3JldHVybiBfMHgyODBmMTQodGhpcyxmdW5jdGlvbihfMHgzMGJmYmQpe3ZhciBfMHg1MjhiMTc9XzB4MTVhMztzd2l0Y2goXzB4MzBiZmJkW18weDUyOGIxNygnMHg5NWEnKV0pe2Nhc2UgMHgwOmlmKF8weDIwZThlZT1fMHgyMjllNGVbXzB4NTI4YjE3KCcweGQ0YScpXSxfMHgyMzJiOWI9XzB4MjBlOGVlW18weDUyOGIxNygnMHg5MzknKV0sXzB4MzY0YmNiPV8weDIwZThlZVsnY29uc2lkZXJhdGlvbiddLF8weDQ4NzEwYz1fMHhjOWNmODIoXzB4YzljZjgyKFtdLF8weGU1MTBiMShfMHgzNjRiY2IpLCEweDEpLF8weGU1MTBiMShfMHgyMjllNmEpLCEweDEpLF8weDE4MDAzNT1fMHgyMzJiOWJbMHgwXSxfMHg1ODc3YmE9XzB4ZTUxMGIxKF8weDQ4NzEwYyksXzB4NTljZjU1PV8weDU4NzdiYVsweDBdLF8weDNmMjgwZT1fMHg1ODc3YmFbJ3NsaWNlJ10oMHgxKSx2b2lkIDB4MD09PShfMHgxZmRkNGM9bnVsbD09PShfMHgzZjk2NTc9XzB4MmI1ZDY0W18weDE4MDAzNVtfMHg1MjhiMTcoJzB4YzU4JyldXSl8fHZvaWQgMHgwPT09XzB4M2Y5NjU3P3ZvaWQgMHgwOl8weDNmOTY1N1tfMHg1OWNmNTVbXzB4NTI4YjE3KCcweGM1OCcpXV0pKXRocm93IG5ldyBFcnJvcihfMHg1MjhiMTcoJzB4MmRkJykpO3JldHVybiBfMHgyNjAwOTY9XzB4M2YyODBlWydtYXAnXShmdW5jdGlvbihfMHg1Mjg4MmEpe3ZhciBfMHg1Y2FlNzA9XzB4NTI4YjE3O3JldHVybnsnYW1vdW50JzpfMHg1Mjg4MmFbXzB4NWNhZTcwKCcweGQwYycpXSwncmVjaXBpZW50JzpfMHg1Mjg4MmFbXzB4NWNhZTcwKCcweDM0MScpXX07fSksXzB4MWU1MzdmPV8weDQ4NzEwY1snZmlsdGVyJ10oZnVuY3Rpb24oXzB4MmM1N2I5KXt2YXIgXzB4M2VjYjMxPV8weDUyOGIxNztyZXR1cm4gXzB4MmM1N2I5W18weDNlY2IzMSgnMHhjNTgnKV0hPT1fMHgyMzJiOWJbMHgwXVtfMHgzZWNiMzEoJzB4YzU4JyldO30pLF8weDFjYjQwOT1udWxsPT09KF8weDIyZjk0Mz0oMHgwLF8weDEzYWViZVtfMHg1MjhiMTcoJzB4ZDJlJyldKSh7J2l0ZW1zJzpfMHgxZTUzN2YsJ2NyaXRlcmlhcyc6W10sJ3RpbWVCYXNlZEl0ZW1QYXJhbXMnOl8weDNiMWMzNyhfMHgzYjFjMzcoe30sXzB4MjEzNzNiKSx7J2lzQ29uc2lkZXJhdGlvbkl0ZW0nOiEweDB9KX0pW18weDE5ODJkMFtfMHg1MjhiMTcoJzB4OWNlJyldW18weDUyOGIxNygnMHhjNTknKV1bXzB4NTI4YjE3KCcweDg4ZicpXV0pfHx2b2lkIDB4MD09PV8weDIyZjk0Mz92b2lkIDB4MDpfMHgyMmY5NDNbMHgwXSxfMHgxMDdlN2Y9KDB4MCxfMHg1NDllYzJbJ3ZhbGlkYXRlQmFzaWNGdWxmaWxsQmFsYW5jZXNBbmRBcHByb3ZhbHMnXSkoeydvZmZlcic6XzB4MjMyYjliLCdjb25zaWRlcmF0aW9uJzpfMHg0ODcxMGMsJ29mZmVyZXJCYWxhbmNlc0FuZEFwcHJvdmFscyc6XzB4M2RhNzMxLCdmdWxmaWxsZXJCYWxhbmNlc0FuZEFwcHJvdmFscyc6XzB4MmM4NTEzLCd0aW1lQmFzZWRJdGVtUGFyYW1zJzpfMHgyMTM3M2IsJ29mZmVyZXJPcGVyYXRvcic6XzB4NWViZTI2LCdmdWxmaWxsZXJPcGVyYXRvcic6XzB4N2M2Y2JifSksXzB4NGRhYzgwPXsnb2ZmZXJlcic6XzB4MjI5ZTRlW18weDUyOGIxNygnMHhkNGEnKV1bXzB4NTI4YjE3KCcweDU5YicpXSwnb2ZmZXJlckNvbmR1aXRLZXknOl8weDIyOWU0ZVtfMHg1MjhiMTcoJzB4ZDRhJyldW18weDUyOGIxNygnMHhkNWInKV0sJ3pvbmUnOl8weDIyOWU0ZVtfMHg1MjhiMTcoJzB4ZDRhJyldW18weDUyOGIxNygnMHhiNTQnKV0sJ2Jhc2ljT3JkZXJUeXBlJzpfMHgyMjllNGVbXzB4NTI4YjE3KCcweGQ0YScpXVtfMHg1MjhiMTcoJzB4YzAwJyldKzB4NCpfMHgxZmRkNGMsJ29mZmVyVG9rZW4nOl8weDE4MDAzNVtfMHg1MjhiMTcoJzB4NmNiJyldLCdvZmZlcklkZW50aWZpZXInOl8weDE4MDAzNVtfMHg1MjhiMTcoJzB4MjgwJyldLCdvZmZlckFtb3VudCc6XzB4MTgwMDM1W18weDUyOGIxNygnMHgzYWYnKV0sJ2NvbnNpZGVyYXRpb25Ub2tlbic6XzB4NTljZjU1W18weDUyOGIxNygnMHg2Y2InKV0sJ2NvbnNpZGVyYXRpb25JZGVudGlmaWVyJzpfMHg1OWNmNTVbJ2lkZW50aWZpZXJPckNyaXRlcmlhJ10sJ2NvbnNpZGVyYXRpb25BbW91bnQnOl8weDU5Y2Y1NVsnZW5kQW1vdW50J10sJ3N0YXJ0VGltZSc6XzB4MjI5ZTRlW18weDUyOGIxNygnMHhkNGEnKV1bJ3N0YXJ0VGltZSddLCdlbmRUaW1lJzpfMHgyMjllNGVbXzB4NTI4YjE3KCcweGQ0YScpXVtfMHg1MjhiMTcoJzB4NmM3JyldLCdzYWx0JzpfMHgyMjllNGVbXzB4NTI4YjE3KCcweGQ0YScpXVtfMHg1MjhiMTcoJzB4MjBmJyldLCd0b3RhbE9yaWdpbmFsQWRkaXRpb25hbFJlY2lwaWVudHMnOl8weDIyOWU0ZVtfMHg1MjhiMTcoJzB4ZDRhJyldW18weDUyOGIxNygnMHgzYTInKV1bXzB4NTI4YjE3KCcweDUyMCcpXS0weDEsJ3NpZ25hdHVyZSc6XzB4MjI5ZTRlWydzaWduYXR1cmUnXSwnZnVsZmlsbGVyQ29uZHVpdEtleSc6XzB4MmQxYmQ3LCdhZGRpdGlvbmFsUmVjaXBpZW50cyc6XzB4MjYwMDk2LCd6b25lSGFzaCc6XzB4MjI5ZTRlWydwYXJhbWV0ZXJzJ11bXzB4NTI4YjE3KCcweGNhYicpXX0sXzB4NThiNjkxPXsndmFsdWUnOl8weDFjYjQwOX0sWzB4NCwoMHgwLF8weDQ1MWUxZFsnZ2V0QXBwcm92YWxBY3Rpb25zJ10pKF8weDEwN2U3ZixfMHgzMDI1NmMsXzB4YmM2ZWYpXTtjYXNlIDB4MTpyZXR1cm4gXzB4ZDg4MTlhPV8weDMwYmZiZFtfMHg1MjhiMTcoJzB4OTE0JyldKCksXzB4NDI5Y2YwPXsndHlwZSc6XzB4NTI4YjE3KCcweDJiZScpLCd0cmFuc2FjdGlvbk1ldGhvZHMnOigweDAsXzB4MTI0MjhkWydnZXRUcmFuc2FjdGlvbk1ldGhvZHMnXSkoXzB4ZjhkOTlmW18weDUyOGIxNygnMHg5MTAnKV0oXzB4YmM2ZWYpLCdmdWxmaWxsQmFzaWNPcmRlcicsW18weDRkYWM4MCxfMHg1OGI2OTFdLF8weDNjMzIzYyl9LFsweDIseydhY3Rpb25zJzpfMHgyZWZhN2I9XzB4YzljZjgyKF8weGM5Y2Y4MihbXSxfMHhlNTEwYjEoXzB4ZDg4MTlhKSwhMHgxKSxbXzB4NDI5Y2YwXSwhMHgxKSwnZXhlY3V0ZUFsbEFjdGlvbnMnOmZ1bmN0aW9uKCl7dmFyIF8weDU0NzhjZj1fMHg1MjhiMTc7cmV0dXJuKDB4MCxfMHgxMjQyOGRbXzB4NTQ3OGNmKCcweDczZScpXSkoXzB4MmVmYTdiKTt9fV07fX0pO30pO30sXzB4NzQ1NDdmW18weDEzNTU3YignMHhhZWEnKV09ZnVuY3Rpb24oXzB4MjIzYjdjLF8weDJlY2RkYil7dmFyIF8weDE2YjhlZj1fMHgxMzU1N2IsXzB4ODk2ZWJlLF8weDViOGU2MD1fMHgyMjNiN2NbXzB4MTZiOGVmKCcweDVhNycpXSxfMHg0ZDg3MmM9XzB4MjIzYjdjW18weDE2YjhlZignMHgyMTMnKV0sXzB4MWE4MTkyPXZvaWQgMHgwPT09XzB4NGQ4NzJjPzB4MDpfMHg0ZDg3MmMsXzB4MTI5OGY0PV8weDIyM2I3Y1tfMHgxNmI4ZWYoJzB4NWRiJyldLF8weDI5MDNjNj1fMHgyMjNiN2NbJ3RvdGFsRmlsbGVkJ10sXzB4MTU0N2ZkPV8weDIyM2I3Y1snb2ZmZXJDcml0ZXJpYSddLF8weDU3MDZmYj1fMHgyMjNiN2NbXzB4MTZiOGVmKCcweDc0ZicpXSxfMHg1NjU4ZGE9XzB4MjIzYjdjW18weDE2YjhlZignMHg4NTQnKV0sXzB4NWIzYTMxPXZvaWQgMHgwPT09XzB4NTY1OGRhP1tdOl8weDU2NThkYSxfMHg1YjZhOGQ9XzB4MjIzYjdjW18weDE2YjhlZignMHg3M2EnKV0sXzB4NGVlYmNhPV8weDIyM2I3Y1tfMHgxNmI4ZWYoJzB4OTk2JyldLF8weDE5NDQ2NT1fMHgyMjNiN2NbXzB4MTZiOGVmKCcweDdmYScpXSxfMHg0MmM5ZDM9XzB4MjIzYjdjWydmdWxmaWxsZXJCYWxhbmNlc0FuZEFwcHJvdmFscyddLF8weDUyYjQxOT1fMHgyMjNiN2NbXzB4MTZiOGVmKCcweDYwYicpXSxfMHg1MzE1Y2E9XzB4MjIzYjdjWydmdWxmaWxsZXJPcGVyYXRvciddLF8weDczOWZmMz1fMHgyMjNiN2NbXzB4MTZiOGVmKCcweDkwOCcpXSxfMHg1MDlkMGU9XzB4MjIzYjdjW18weDE2YjhlZignMHhkNWInKV0sXzB4MzBhZGRhPV8weDIyM2I3Y1tfMHgxNmI4ZWYoJzB4Yzk2JyldLF8weDI0ZDNjYz1fMHgyMjNiN2NbXzB4MTZiOGVmKCcweGE3MScpXSxfMHhjMThmNzc9XzB4MjIzYjdjW18weDE2YjhlZignMHhhY2QnKV07cmV0dXJuIF8weDRkMWYwOCh0aGlzLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKCl7dmFyIF8weDVjYjAzNCxfMHgxMjVhMjcsXzB4MTMyMjBhLF8weDVjZTFlZCxfMHg0YjVkZTEsXzB4NDljNWNjLF8weDRjNDBlMyxfMHg0YmMwZjcsXzB4MzMyNTgwLF8weDQwNzkyNixfMHg1MTdjOTUsXzB4MzFkMWVlLF8weDE4OTc0ZSxfMHg1MGE1NjcsXzB4NzkwODIsXzB4NTQ0MTMyLF8weDQxNzhjZCxfMHg1ODE1NGEsXzB4MzVkZTJjLF8weDMxODBjMTtyZXR1cm4gXzB4MjgwZjE0KHRoaXMsZnVuY3Rpb24oXzB4MzExOTdiKXt2YXIgXzB4MjU2MTY1PV8weDE1YTM7c3dpdGNoKF8weDMxMTk3YltfMHgyNTYxNjUoJzB4OTVhJyldKXtjYXNlIDB4MDppZihfMHg1Y2IwMzQ9XzB4MWE4MTkyPygweDAsXzB4MWQwYjQyW18weDI1NjE2NSgnMHg4NDEnKV0pKF8weDViOGU2MCx7J3VuaXRzVG9GaWxsJzpfMHgxYTgxOTIsJ3RvdGFsU2l6ZSc6XzB4MTI5OGY0fSk6KDB4MCxfMHgxZDBiNDJbXzB4MjU2MTY1KCcweDUwNycpXSkoXzB4NWI4ZTYwLHsndG90YWxGaWxsZWQnOl8weDI5MDNjNiwndG90YWxTaXplJzpfMHgxMjk4ZjR9KSxfMHgxMjVhMjc9XzB4NWNiMDM0W18weDI1NjE2NSgnMHhkNGEnKV0sXzB4MTMyMjBhPV8weDEyNWEyN1tfMHgyNTYxNjUoJzB4OTM5JyldLF8weDVjZTFlZD1fMHgxMjVhMjdbXzB4MjU2MTY1KCcweDNhMicpXSxfMHg0YjVkZTE9XzB4YzljZjgyKF8weGM5Y2Y4MihbXSxfMHhlNTEwYjEoXzB4NWNlMWVkKSwhMHgxKSxfMHhlNTEwYjEoXzB4NWIzYTMxKSwhMHgxKSxfMHg0OWM1Y2M9XzB4MTMyMjBhW18weDI1NjE2NSgnMHgzYWInKV0oZnVuY3Rpb24oXzB4MTYzM2Y0KXt2YXIgXzB4MWFjYjY3PV8weDI1NjE2NSxfMHg4ODY5ZGY9XzB4MTYzM2Y0W18weDFhY2I2NygnMHhjNTgnKV07cmV0dXJuKDB4MCxfMHgxM2FlYmVbJ2lzQ3JpdGVyaWFJdGVtJ10pKF8weDg4NjlkZik7fSksXzB4NGM0MGUzPV8weDRiNWRlMVtfMHgyNTYxNjUoJzB4M2FiJyldKGZ1bmN0aW9uKF8weDI3YjI1Zil7dmFyIF8weDFjMGU2Nj1fMHgyNTYxNjUsXzB4MmUxMzU0PV8weDI3YjI1ZlsnaXRlbVR5cGUnXTtyZXR1cm4oMHgwLF8weDEzYWViZVtfMHgxYzBlNjYoJzB4MWJhJyldKShfMHgyZTEzNTQpO30pLF8weDRiYzBmNz1fMHg0OWM1Y2NbXzB4MjU2MTY1KCcweDUyMCcpXT4weDB8fF8weDRjNDBlM1tfMHgyNTYxNjUoJzB4NTIwJyldPjB4MCxfMHg0OWM1Y2NbXzB4MjU2MTY1KCcweDUyMCcpXSE9PV8weDE1NDdmZFsnbGVuZ3RoJ118fF8weDRjNDBlM1snbGVuZ3RoJ10hPT1fMHg1NzA2ZmJbXzB4MjU2MTY1KCcweDUyMCcpXSl0aHJvdyBuZXcgRXJyb3IoXzB4MjU2MTY1KCcweDhjYicpKTtyZXR1cm4gXzB4MzMyNTgwPW51bGw9PT0oXzB4ODk2ZWJlPSgweDAsXzB4MTNhZWJlW18weDI1NjE2NSgnMHhkMmUnKV0pKHsnaXRlbXMnOl8weDRiNWRlMSwnY3JpdGVyaWFzJzpfMHg1NzA2ZmIsJ3RpbWVCYXNlZEl0ZW1QYXJhbXMnOl8weDNiMWMzNyhfMHgzYjFjMzcoe30sXzB4NzM5ZmYzKSx7J2lzQ29uc2lkZXJhdGlvbkl0ZW0nOiEweDB9KX0pW18weDE5ODJkMFsnZXRoZXJzJ11bXzB4MjU2MTY1KCcweGM1OScpXVtfMHgyNTYxNjUoJzB4ODhmJyldXSl8fHZvaWQgMHgwPT09XzB4ODk2ZWJlP3ZvaWQgMHgwOl8weDg5NmViZVsweDBdLF8weDQwNzkyNj0oMHgwLF8weDU0OWVjMltfMHgyNTYxNjUoJzB4NDk5JyldKSh7J29mZmVyJzpfMHgxMzIyMGEsJ2NvbnNpZGVyYXRpb24nOl8weDRiNWRlMSwnb2ZmZXJDcml0ZXJpYSc6XzB4MTU0N2ZkLCdjb25zaWRlcmF0aW9uQ3JpdGVyaWEnOl8weDU3MDZmYiwnb2ZmZXJlckJhbGFuY2VzQW5kQXBwcm92YWxzJzpfMHgxOTQ0NjUsJ2Z1bGZpbGxlckJhbGFuY2VzQW5kQXBwcm92YWxzJzpfMHg0MmM5ZDMsJ3RpbWVCYXNlZEl0ZW1QYXJhbXMnOl8weDczOWZmMywnb2ZmZXJlck9wZXJhdG9yJzpfMHg1MmI0MTksJ2Z1bGZpbGxlck9wZXJhdG9yJzpfMHg1MzE1Y2F9KSxfMHg1MTdjOTU9eyd2YWx1ZSc6XzB4MzMyNTgwfSxbMHg0LCgweDAsXzB4NDUxZTFkWydnZXRBcHByb3ZhbEFjdGlvbnMnXSkoXzB4NDA3OTI2LF8weDJlY2RkYixfMHgyNGQzY2MpXTtjYXNlIDB4MTpyZXR1cm4gXzB4MzFkMWVlPV8weDMxMTk3Ylsnc2VudCddKCksXzB4MTg5NzRlPV8weDMwYWRkYSE9PV8weDE5ODJkMFtfMHgyNTYxNjUoJzB4OWNlJyldW18weDI1NjE2NSgnMHhjNTknKV1bJ0FkZHJlc3NaZXJvJ10sXzB4NTBhNTY3PUJvb2xlYW4oXzB4MWE4MTkyKXx8XzB4NGJjMGY3fHxfMHgxODk3NGUsXzB4NzkwODI9XzB4M2IxYzM3KF8weDNiMWMzNyh7fSxfMHg1YjhlNjApLHsncGFyYW1ldGVycyc6XzB4M2IxYzM3KF8weDNiMWMzNyh7fSxfMHg1YjhlNjBbXzB4MjU2MTY1KCcweGQ0YScpXSkseydjb25zaWRlcmF0aW9uJzpfMHhjOWNmODIoXzB4YzljZjgyKFtdLF8weGU1MTBiMShfMHg1YjhlNjBbXzB4MjU2MTY1KCcweGQ0YScpXVtfMHgyNTYxNjUoJzB4M2EyJyldKSwhMHgxKSxfMHhlNTEwYjEoXzB4NWIzYTMxKSwhMHgxKSwndG90YWxPcmlnaW5hbENvbnNpZGVyYXRpb25JdGVtcyc6XzB4NWNlMWVkW18weDI1NjE2NSgnMHg1MjAnKV19KX0pLF8weDU0NDEzMj0oMHgwLF8weDc0NTQ3ZlsnZ2V0QWR2YW5jZWRPcmRlck51bWVyYXRvckRlbm9taW5hdG9yJ10pKF8weDViOGU2MCxfMHgxYTgxOTIpLF8weDQxNzhjZD1fMHg1NDQxMzJbJ251bWVyYXRvciddLF8weDU4MTU0YT1fMHg1NDQxMzJbXzB4MjU2MTY1KCcweGEyNicpXSxfMHgzNWRlMmM9eyd0eXBlJzonZXhjaGFuZ2UnLCd0cmFuc2FjdGlvbk1ldGhvZHMnOl8weDUwYTU2Nz8oMHgwLF8weDEyNDI4ZFtfMHgyNTYxNjUoJzB4OTg0JyldKShfMHg0ZWViY2FbXzB4MjU2MTY1KCcweDkxMCcpXShfMHgyNGQzY2MpLCdmdWxmaWxsQWR2YW5jZWRPcmRlcicsW18weDNiMWMzNyhfMHgzYjFjMzcoe30sXzB4NzkwODIpLHsnbnVtZXJhdG9yJzpfMHg0MTc4Y2QsJ2Rlbm9taW5hdG9yJzpfMHg1ODE1NGEsJ2V4dHJhRGF0YSc6bnVsbCE9XzB4NWI2YThkP18weDViNmE4ZDonMHgnfSksXzB4NGJjMGY3PygweDAsXzB4MWZhNDFkW18weDI1NjE2NSgnMHgyN2YnKV0pKHsnb3JkZXJzJzpbXzB4NWI4ZTYwXSwnb2ZmZXJDcml0ZXJpYXMnOltfMHgxNTQ3ZmRdLCdjb25zaWRlcmF0aW9uQ3JpdGVyaWFzJzpbXzB4NTcwNmZiXX0pOltdLF8weDUwOWQwZSxfMHgzMGFkZGEsXzB4NTE3Yzk1XSxfMHhjMThmNzcpOigweDAsXzB4MTI0MjhkW18weDI1NjE2NSgnMHg5ODQnKV0pKF8weDRlZWJjYVtfMHgyNTYxNjUoJzB4OTEwJyldKF8weDI0ZDNjYyksXzB4MjU2MTY1KCcweGFhMScpLFtfMHg3OTA4MixfMHg1MDlkMGUsXzB4NTE3Yzk1XSxfMHhjMThmNzcpfSxbMHgyLHsnYWN0aW9ucyc6XzB4MzE4MGMxPV8weGM5Y2Y4MihfMHhjOWNmODIoW10sXzB4ZTUxMGIxKF8weDMxZDFlZSksITB4MSksW18weDM1ZGUyY10sITB4MSksJ2V4ZWN1dGVBbGxBY3Rpb25zJzpmdW5jdGlvbigpe3ZhciBfMHgzNWE0ZTc9XzB4MjU2MTY1O3JldHVybigweDAsXzB4MTI0MjhkW18weDM1YTRlNygnMHg3M2UnKV0pKF8weDMxODBjMSk7fX1dO319KTt9KTt9LF8weDc0NTQ3ZltfMHgxMzU1N2IoJzB4ODUxJyldPV8weDM5NzdhZSxfMHg3NDU0N2ZbXzB4MTM1NTdiKCcweGFmMycpXT1mdW5jdGlvbihfMHgyOTY2NDIpe3ZhciBfMHgzMDY5N2Y9XzB4MTM1NTdiLF8weDRjMzcwZD1fMHgyOTY2NDJbXzB4MzA2OTdmKCcweGNhMicpXSxfMHgxNDU2YWY9XzB4Mjk2NjQyW18weDMwNjk3ZignMHg5OTYnKV0sXzB4MmJjNzcwPV8weDI5NjY0MltfMHgzMDY5N2YoJzB4MzEzJyldLF8weDU4ZmQ2MT1fMHgyOTY2NDJbXzB4MzA2OTdmKCcweDQxZScpXSxfMHg1MmYwYTM9XzB4Mjk2NjQyW18weDMwNjk3ZignMHg2ZWQnKV0sXzB4NTY1MjYzPV8weDI5NjY0MltfMHgzMDY5N2YoJzB4NTRmJyldLF8weDY2NTg0MT1fMHgyOTY2NDJbXzB4MzA2OTdmKCcweGQ1YicpXSxfMHgyODFmMGM9XzB4Mjk2NjQyWydzaWduZXInXSxfMHgzZmNlYTU9XzB4Mjk2NjQyW18weDMwNjk3ZignMHhjOTYnKV0sXzB4NDgyOTI5PV8weDI5NjY0MltfMHgzMDY5N2YoJzB4YTEzJyldLF8weDE4YTliYT1fMHgyOTY2NDJbXzB4MzA2OTdmKCcweGFjZCcpXTtyZXR1cm4gXzB4NGQxZjA4KHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24oKXt2YXIgXzB4MjNiMDViLF8weDVjMzI4NyxfMHg0OTUyYTgsXzB4NTllZjE0LF8weDM2M2VmMSxfMHgxNjJlNmUsXzB4NTQzZjQ5LF8weDEwMGNkLF8weDUxMWMzMixfMHgzZWJjNjcsXzB4NTcyODczLF8weDFkOGQwOCxfMHhjZjNkMjEsXzB4ZDI1MTAsXzB4MmM4ZmJjO3JldHVybiBfMHgyODBmMTQodGhpcyxmdW5jdGlvbihfMHg1YzVmYjQpe3ZhciBfMHg4Mzk0MGI9XzB4MTVhMztzd2l0Y2goXzB4NWM1ZmI0W18weDgzOTQwYignMHg5NWEnKV0pe2Nhc2UgMHgwOnJldHVybiBfMHgyM2IwNWI9XzB4NGMzNzBkW18weDgzOTQwYignMHgzYzknKV0oZnVuY3Rpb24oXzB4NDcwMDFiKXt2YXIgXzB4NTlkZjAwPV8weDgzOTQwYjtyZXR1cm4gXzB4M2IxYzM3KF8weDNiMWMzNyh7fSxfMHg0NzAwMWIpLHsnb3JkZXInOl8weDM5NzdhZShfMHg0NzAwMWJbXzB4NTlkZjAwKCcweDVhNycpXSxfMHg0NzAwMWJbXzB4NTlkZjAwKCcweDk5NycpXSl9KTt9KSxfMHg1YzMyODc9XzB4MjNiMDViWydtYXAnXShmdW5jdGlvbihfMHgxMzhmYTUpe3ZhciBfMHg0YTIzYzA9XzB4ODM5NDBiO3JldHVybiBfMHgzYjFjMzcoXzB4M2IxYzM3KHt9LF8weDEzOGZhNSkseydvcmRlcic6XzB4MTM4ZmE1W18weDRhMjNjMCgnMHgyMTMnKV0/KDB4MCxfMHgxZDBiNDJbXzB4NGEyM2MwKCcweDg0MScpXSkoXzB4MTM4ZmE1W18weDRhMjNjMCgnMHg1YTcnKV0seyd1bml0c1RvRmlsbCc6XzB4MTM4ZmE1W18weDRhMjNjMCgnMHgyMTMnKV0sJ3RvdGFsU2l6ZSc6XzB4MTM4ZmE1WydvcmRlclN0YXR1cyddW18weDRhMjNjMCgnMHg1ZGInKV19KTooMHgwLF8weDFkMGI0MltfMHg0YTIzYzAoJzB4NTA3JyldKShfMHgxMzhmYTVbXzB4NGEyM2MwKCcweDVhNycpXSx7J3RvdGFsRmlsbGVkJzpfMHgxMzhmYTVbJ29yZGVyU3RhdHVzJ11bXzB4NGEyM2MwKCcweGJjMicpXSwndG90YWxTaXplJzpfMHgxMzhmYTVbXzB4NGEyM2MwKCcweDk5NycpXVtfMHg0YTIzYzAoJzB4NWRiJyldfSl9KTt9KSxfMHg0OTUyYTg9XzB4MTk4MmQwWydCaWdOdW1iZXInXVsnZnJvbSddKDB4MCksXzB4NTllZjE0PVtdLF8weDM2M2VmMT1fMHgyM2IwNWJbJ2ZsYXRNYXAnXShmdW5jdGlvbihfMHg1NDk1YzIpe3ZhciBfMHg1NmY2ZTM9XzB4ODM5NDBiO3JldHVybltfMHg1NDk1YzJbXzB4NTZmNmUzKCcweDVhNycpXVtfMHg1NmY2ZTMoJzB4ZDRhJyldW18weDU2ZjZlMygnMHg5MzknKV0sXzB4NTQ5NWMyW18weDU2ZjZlMygnMHg1YTcnKV1bJ3BhcmFtZXRlcnMnXVsnY29uc2lkZXJhdGlvbiddXTt9KVsnZmxhdCddKClbXzB4ODM5NDBiKCcweDNhYicpXShmdW5jdGlvbihfMHgxYjNjY2Ype3ZhciBfMHgyM2ZiNDE9XzB4ODM5NDBiLF8weDQ4MTEyND1fMHgxYjNjY2ZbXzB4MjNmYjQxKCcweGM1OCcpXTtyZXR1cm4oMHgwLF8weDEzYWViZVtfMHgyM2ZiNDEoJzB4MWJhJyldKShfMHg0ODExMjQpO30pLF8weDE2MmU2ZT1fMHgzNjNlZjFbXzB4ODM5NDBiKCcweDUyMCcpXT4weDAsXzB4NTQzZjQ5PWZ1bmN0aW9uKF8weDUwNmIxOCl7dmFyIF8weDU2OWMyOT1fMHg4Mzk0MGI7XzB4NTA2YjE4W18weDU2OWMyOSgnMHg1MWUnKV0oZnVuY3Rpb24oXzB4M2UxMTY4KXt2YXIgXzB4Mzc2MmQyPV8weDU2OWMyOTtfMHg1OWVmMTRbJ2ZpbmQnXShmdW5jdGlvbihfMHgyZmRmZDUpe3ZhciBfMHgzZWJlY2E9XzB4MTVhMztyZXR1cm4gXzB4MmZkZmQ1W18weDNlYmVjYSgnMHg2Y2InKV09PT1fMHgzZTExNjhbXzB4M2ViZWNhKCcweDZjYicpXTt9KXx8XzB4NTllZjE0W18weDM3NjJkMignMHg4YjcnKV0oXzB4M2UxMTY4KTt9KTt9LF8weDVjMzI4N1tfMHg4Mzk0MGIoJzB4NTFlJyldKGZ1bmN0aW9uKF8weDJmNDdjZSl7dmFyIF8weDI0MWU5Mz1fMHg4Mzk0MGIsXzB4MTdiYzFhLF8weDFiMzRhNyxfMHgyYmU1YTY9XzB4MmY0N2NlWydvcmRlciddLF8weDI0ODYyMD1fMHgyZjQ3Y2VbJ3RpcHMnXSxfMHgyNTYzMDA9XzB4MmY0N2NlW18weDI0MWU5MygnMHgzNTEnKV0sXzB4M2I4N2VkPV8weDJmNDdjZVtfMHgyNDFlOTMoJzB4NzRmJyldLF8weDI5ZWZiNT1fMHgyZjQ3Y2VbXzB4MjQxZTkzKCcweDdmYScpXSxfMHgyYzA3ZDU9XzB4MmY0N2NlW18weDI0MWU5MygnMHg2MGInKV0sXzB4MjJmODMzPV8weGM5Y2Y4MihfMHhjOWNmODIoW10sXzB4ZTUxMGIxKF8weDJiZTVhNltfMHgyNDFlOTMoJzB4ZDRhJyldW18weDI0MWU5MygnMHgzYTInKV0pLCEweDEpLF8weGU1MTBiMShfMHgyNDg2MjApLCEweDEpLF8weDQ1MzBhMj17J3N0YXJ0VGltZSc6XzB4MmJlNWE2W18weDI0MWU5MygnMHhkNGEnKV1bXzB4MjQxZTkzKCcweDFjMScpXSwnZW5kVGltZSc6XzB4MmJlNWE2W18weDI0MWU5MygnMHhkNGEnKV1bXzB4MjQxZTkzKCcweDZjNycpXSwnY3VycmVudEJsb2NrVGltZXN0YW1wJzpfMHg1MmYwYTMsJ2FzY2VuZGluZ0Ftb3VudFRpbWVzdGFtcEJ1ZmZlcic6XzB4NTY1MjYzLCdpc0NvbnNpZGVyYXRpb25JdGVtJzohMHgwfTtfMHg0OTUyYTg9XzB4NDk1MmE4WydhZGQnXShudWxsIT09KF8weDFiMzRhNz1udWxsPT09KF8weDE3YmMxYT0oMHgwLF8weDEzYWViZVtfMHgyNDFlOTMoJzB4ZDJlJyldKSh7J2l0ZW1zJzpfMHgyMmY4MzMsJ2NyaXRlcmlhcyc6XzB4M2I4N2VkLCd0aW1lQmFzZWRJdGVtUGFyYW1zJzpfMHg0NTMwYTJ9KVtfMHgxOTgyZDBbXzB4MjQxZTkzKCcweDljZScpXVtfMHgyNDFlOTMoJzB4YzU5JyldW18weDI0MWU5MygnMHg4OGYnKV1dKXx8dm9pZCAweDA9PT1fMHgxN2JjMWE/dm9pZCAweDA6XzB4MTdiYzFhWzB4MF0pJiZ2b2lkIDB4MCE9PV8weDFiMzRhNz9fMHgxYjM0YTc6XzB4MTk4MmQwWydCaWdOdW1iZXInXVtfMHgyNDFlOTMoJzB4MjUyJyldKDB4MCkpO3ZhciBfMHg0NzA5Nzg9KDB4MCxfMHg1NDllYzJbXzB4MjQxZTkzKCcweDQ5OScpXSkoeydvZmZlcic6XzB4MmJlNWE2WydwYXJhbWV0ZXJzJ11bJ29mZmVyJ10sJ2NvbnNpZGVyYXRpb24nOl8weDIyZjgzMywnb2ZmZXJDcml0ZXJpYSc6XzB4MjU2MzAwLCdjb25zaWRlcmF0aW9uQ3JpdGVyaWEnOl8weDNiODdlZCwnb2ZmZXJlckJhbGFuY2VzQW5kQXBwcm92YWxzJzpfMHgyOWVmYjUsJ2Z1bGZpbGxlckJhbGFuY2VzQW5kQXBwcm92YWxzJzpfMHgyYmM3NzAsJ3RpbWVCYXNlZEl0ZW1QYXJhbXMnOl8weDQ1MzBhMiwnb2ZmZXJlck9wZXJhdG9yJzpfMHgyYzA3ZDUsJ2Z1bGZpbGxlck9wZXJhdG9yJzpfMHg1OGZkNjF9KSxfMHgyZWY3MDA9XzB4MmJlNWE2W18weDI0MWU5MygnMHhkNGEnKV1bJ29mZmVyJ11bXzB4MjQxZTkzKCcweDNhYicpXShmdW5jdGlvbihfMHgxODM2ZTApe3ZhciBfMHgyZTJkNTE9XzB4MjQxZTkzLF8weDFiZTU4ZD1fMHgxODM2ZTBbXzB4MmUyZDUxKCcweGM1OCcpXTtyZXR1cm4oMHgwLF8weDEzYWViZVsnaXNDcml0ZXJpYUl0ZW0nXSkoXzB4MWJlNThkKTt9KSxfMHgzZWFmNzk9XzB4MjJmODMzW18weDI0MWU5MygnMHgzYWInKV0oZnVuY3Rpb24oXzB4M2ZiMTExKXt2YXIgXzB4MzBhOTQxPV8weDI0MWU5MyxfMHhkNGYxNTY9XzB4M2ZiMTExWydpdGVtVHlwZSddO3JldHVybigweDAsXzB4MTNhZWJlW18weDMwYTk0MSgnMHgxYmEnKV0pKF8weGQ0ZjE1Nik7fSk7aWYoXzB4MmVmNzAwW18weDI0MWU5MygnMHg1MjAnKV0hPT1fMHgyNTYzMDBbXzB4MjQxZTkzKCcweDUyMCcpXXx8XzB4M2VhZjc5WydsZW5ndGgnXSE9PV8weDNiODdlZFtfMHgyNDFlOTMoJzB4NTIwJyldKXRocm93IG5ldyBFcnJvcihfMHgyNDFlOTMoJzB4OGNiJykpO18weDU0M2Y0OShfMHg0NzA5NzgpO30pLF8weDEwMGNkPXsndmFsdWUnOl8weDQ5NTJhOH0sWzB4NCwoMHgwLF8weDQ1MWUxZFtfMHg4Mzk0MGIoJzB4NzBiJyldKShfMHg1OWVmMTQsXzB4NDgyOTI5LF8weDI4MWYwYyldO2Nhc2UgMHgxOnJldHVybiBfMHg1MTFjMzI9XzB4NWM1ZmI0W18weDgzOTQwYignMHg5MTQnKV0oKSxfMHgzZWJjNjc9XzB4MjNiMDViWydtYXAnXShmdW5jdGlvbihfMHhiZjVjMjIpe3ZhciBfMHgyM2MyYzc9XzB4ODM5NDBiLF8weDNkMTE0ZT1fMHhiZjVjMjJbJ29yZGVyJ10sXzB4NDYyYzk3PV8weGJmNWMyMltfMHgyM2MyYzcoJzB4MjEzJyldLF8weDNiMWQ4MD12b2lkIDB4MD09PV8weDQ2MmM5Nz8weDA6XzB4NDYyYzk3LF8weDQyYjRlMz1fMHhiZjVjMjJbXzB4MjNjMmM3KCcweDg1NCcpXSxfMHgyMjMwNzQ9XzB4YmY1YzIyW18weDIzYzJjNygnMHg3M2EnKV0sXzB4M2ZjNzNkPSgweDAsXzB4NzQ1NDdmW18weDIzYzJjNygnMHg3ZjMnKV0pKF8weDNkMTE0ZSxfMHgzYjFkODApLF8weDEyOTRhYj1fMHgzZmM3M2RbXzB4MjNjMmM3KCcweDU3ZScpXSxfMHg1ZWY1MzY9XzB4M2ZjNzNkW18weDIzYzJjNygnMHhhMjYnKV0sXzB4MTFiMTYzPV8weGM5Y2Y4MihfMHhjOWNmODIoW10sXzB4ZTUxMGIxKF8weDNkMTE0ZVtfMHgyM2MyYzcoJzB4ZDRhJyldW18weDIzYzJjNygnMHgzYTInKV0pLCEweDEpLF8weGU1MTBiMShfMHg0MmI0ZTMpLCEweDEpO3JldHVybiBfMHgzYjFjMzcoXzB4M2IxYzM3KHt9LF8weDNkMTE0ZSkseydwYXJhbWV0ZXJzJzpfMHgzYjFjMzcoXzB4M2IxYzM3KHt9LF8weDNkMTE0ZVsncGFyYW1ldGVycyddKSx7J2NvbnNpZGVyYXRpb24nOl8weDExYjE2MywndG90YWxPcmlnaW5hbENvbnNpZGVyYXRpb25JdGVtcyc6XzB4M2QxMTRlWydwYXJhbWV0ZXJzJ11bXzB4MjNjMmM3KCcweDNhMicpXVtfMHgyM2MyYzcoJzB4NTIwJyldfSksJ251bWVyYXRvcic6XzB4MTI5NGFiLCdkZW5vbWluYXRvcic6XzB4NWVmNTM2LCdleHRyYURhdGEnOl8weDIyMzA3NH0pO30pLF8weDU3Mjg3Mz1fMHg1NmIwZjUoXzB4NGMzNzBkKSxfMHgxZDhkMDg9XzB4NTcyODczW18weDgzOTQwYignMHg1MjknKV0sXzB4Y2YzZDIxPV8weDU3Mjg3M1tfMHg4Mzk0MGIoJzB4Nzk0JyldLF8weGQyNTEwPXsndHlwZSc6J2V4Y2hhbmdlJywndHJhbnNhY3Rpb25NZXRob2RzJzooMHgwLF8weDEyNDI4ZFsnZ2V0VHJhbnNhY3Rpb25NZXRob2RzJ10pKF8weDE0NTZhZltfMHg4Mzk0MGIoJzB4OTEwJyldKF8weDI4MWYwYyksXzB4ODM5NDBiKCcweGNlNCcpLFtfMHgzZWJjNjcsXzB4MTYyZTZlPygweDAsXzB4MWZhNDFkWydnZW5lcmF0ZUNyaXRlcmlhUmVzb2x2ZXJzJ10pKHsnb3JkZXJzJzpfMHg0YzM3MGRbXzB4ODM5NDBiKCcweDNjOScpXShmdW5jdGlvbihfMHgyMTMwYjcpe3ZhciBfMHgyM2FlMjk9XzB4ODM5NDBiO3JldHVybiBfMHgyMTMwYjdbXzB4MjNhZTI5KCcweDVhNycpXTt9KSwnb2ZmZXJDcml0ZXJpYXMnOl8weDRjMzcwZFsnbWFwJ10oZnVuY3Rpb24oXzB4M2JiNWQ3KXt2YXIgXzB4NDVmYjU2PV8weDgzOTQwYjtyZXR1cm4gXzB4M2JiNWQ3W18weDQ1ZmI1NignMHgzNTEnKV07fSksJ2NvbnNpZGVyYXRpb25Dcml0ZXJpYXMnOl8weDRjMzcwZFtfMHg4Mzk0MGIoJzB4M2M5JyldKGZ1bmN0aW9uKF8weDNmMTllMil7cmV0dXJuIF8weDNmMTllMlsnY29uc2lkZXJhdGlvbkNyaXRlcmlhJ107fSl9KTpbXSxfMHgxZDhkMDgsXzB4Y2YzZDIxLF8weDY2NTg0MSxfMHgzZmNlYTUsXzB4M2ViYzY3W18weDgzOTQwYignMHg1MjAnKV0sXzB4MTAwY2RdLF8weDE4YTliYSl9LFsweDIseydhY3Rpb25zJzpfMHgyYzhmYmM9XzB4YzljZjgyKF8weGM5Y2Y4MihbXSxfMHhlNTEwYjEoXzB4NTExYzMyKSwhMHgxKSxbXzB4ZDI1MTBdLCEweDEpLCdleGVjdXRlQWxsQWN0aW9ucyc6ZnVuY3Rpb24oKXtyZXR1cm4oMHgwLF8weDEyNDI4ZFsnZXhlY3V0ZUFsbEFjdGlvbnMnXSkoXzB4MmM4ZmJjKTt9fV07fX0pO30pO30sXzB4NzQ1NDdmWydnZW5lcmF0ZUZ1bGZpbGxPcmRlcnNGdWxmaWxsbWVudHMnXT1fMHg1NmIwZjUsXzB4NzQ1NDdmW18weDEzNTU3YignMHg3ZjMnKV09ZnVuY3Rpb24oXzB4NDcyOWYxLF8weDEyNGNmNSl7dmFyIF8weDIzMjRjYT1fMHgxMzU1N2IsXzB4ODFjZWVlPSgweDAsXzB4MTNhZWJlW18weDIzMjRjYSgnMHgzNGInKV0pKF8weDQ3MjlmMSksXzB4NTIwODlmPV8weDE5ODJkMFtfMHgyMzI0Y2EoJzB4NWMxJyldWydmcm9tJ10oXzB4MTI0Y2Y1KSxfMHgyMTJlYWY9KDB4MCxfMHgyNzZmOWJbXzB4MjMyNGNhKCcweDFjOScpXSkoXzB4NTIwODlmLF8weDgxY2VlZSk7cmV0dXJueydudW1lcmF0b3InOl8weDEyNGNmNT9fMHg1MjA4OWZbXzB4MjMyNGNhKCcweDg1ZCcpXShfMHgyMTJlYWYpOl8weDE5ODJkMFtfMHgyMzI0Y2EoJzB4NWMxJyldW18weDIzMjRjYSgnMHgyNTInKV0oMHgxKSwnZGVub21pbmF0b3InOl8weDEyNGNmNT9fMHg4MWNlZWVbXzB4MjMyNGNhKCcweDg1ZCcpXShfMHgyMTJlYWYpOl8weDE5ODJkMFtfMHgyMzI0Y2EoJzB4NWMxJyldWydmcm9tJ10oMHgxKX07fTt9LDB4NWY2OihfMHhkMjYwYmUsXzB4MTc0YTAxLF8weDliY2E3ZSk9PnsndXNlIHN0cmljdCc7dmFyIF8weDk5OTE3ZT1fMHgxNWEzO09iamVjdFtfMHg5OTkxN2UoJzB4MmI0JyldKF8weDE3NGEwMSwnX19lc01vZHVsZScseyd2YWx1ZSc6ITB4MH0pLF8weDE3NGEwMVtfMHg5OTkxN2UoJzB4YjljJyldPV8weDE3NGEwMVtfMHg5OTkxN2UoJzB4MWM5JyldPXZvaWQgMHgwO3ZhciBfMHg0YjFhMTQ9XzB4OWJjYTdlKDB4MWRkOCk7XzB4MTc0YTAxW18weDk5OTE3ZSgnMHgxYzknKV09ZnVuY3Rpb24oXzB4NWJiYmU2LF8weDFhYmMyNyl7dmFyIF8weDIwMWY0Nj1fMHg5OTkxN2UsXzB4M2Y3MWE0PV8weDRiMWExNFtfMHgyMDFmNDYoJzB4NWMxJyldW18weDIwMWY0NignMHgyNTInKV0oXzB4NWJiYmU2KSxfMHgxYmRmZjk9XzB4NGIxYTE0W18weDIwMWY0NignMHg1YzEnKV1bXzB4MjAxZjQ2KCcweDI1MicpXShfMHgxYWJjMjcpO3JldHVybiBfMHgzZjcxYTRbJ2VxJ10oMHgwKT9fMHgxYmRmZjk6KDB4MCxfMHgxNzRhMDFbXzB4MjAxZjQ2KCcweDFjOScpXSkoXzB4MWJkZmY5Wydtb2QnXShfMHg1YmJiZTYpLF8weDNmNzFhNCk7fSxfMHgxNzRhMDFbXzB4OTk5MTdlKCcweGI5YycpXT1mdW5jdGlvbihfMHgyN2QzNjApe3ZhciBfMHgzNDk3Njk9XzB4OTk5MTdlO2Zvcih2YXIgXzB4MThiODI2PV8weDRiMWExNFtfMHgzNDk3NjkoJzB4NWMxJyldW18weDM0OTc2OSgnMHgyNTInKV0oXzB4MjdkMzYwWzB4MF0pLF8weDE3ZjkyZT0weDE7XzB4MTdmOTJlPF8weDI3ZDM2MFsnbGVuZ3RoJ107XzB4MTdmOTJlKyspaWYoKF8weDE4YjgyNj0oMHgwLF8weDE3NGEwMVtfMHgzNDk3NjkoJzB4MWM5JyldKShfMHgyN2QzNjBbXzB4MTdmOTJlXSxfMHgxOGI4MjYpKVsnZXEnXSgweDEpKXJldHVybiBfMHgxOGI4MjY7cmV0dXJuIF8weDE4YjgyNjt9O30sMHgyNmJmOmZ1bmN0aW9uKF8weDRiNWM0NCxfMHgxNjRmY2UsXzB4MWI5NjY4KXsndXNlIHN0cmljdCc7dmFyIF8weDJlNTUwNT1fMHgxNWEzO3ZhciBfMHgyOTQxMDM9dGhpcyYmdGhpc1snX19hc3NpZ24nXXx8ZnVuY3Rpb24oKXt2YXIgXzB4NTkxZWRiPV8weDE1YTM7cmV0dXJuIF8weDI5NDEwMz1PYmplY3RbXzB4NTkxZWRiKCcweGI3YycpXXx8ZnVuY3Rpb24oXzB4MjczMjU1KXt2YXIgXzB4MjQ3ZDBiPV8weDU5MWVkYjtmb3IodmFyIF8weDRlYmI3MyxfMHgxY2UyMDE9MHgxLF8weGFiZWY3Mz1hcmd1bWVudHNbXzB4MjQ3ZDBiKCcweDUyMCcpXTtfMHgxY2UyMDE8XzB4YWJlZjczO18weDFjZTIwMSsrKWZvcih2YXIgXzB4ZWQxZTA0IGluIF8weDRlYmI3Mz1hcmd1bWVudHNbXzB4MWNlMjAxXSlPYmplY3RbXzB4MjQ3ZDBiKCcweDc1NicpXVtfMHgyNDdkMGIoJzB4MTljJyldWydjYWxsJ10oXzB4NGViYjczLF8weGVkMWUwNCkmJihfMHgyNzMyNTVbXzB4ZWQxZTA0XT1fMHg0ZWJiNzNbXzB4ZWQxZTA0XSk7cmV0dXJuIF8weDI3MzI1NTt9LF8weDI5NDEwM1snYXBwbHknXSh0aGlzLGFyZ3VtZW50cyk7fSxfMHgxNWYyMjU9dGhpcyYmdGhpc1tfMHgyZTU1MDUoJzB4OWQ2JyldfHxmdW5jdGlvbihfMHgzNGRmMDksXzB4MTZiNGRiKXt2YXIgXzB4NGIyZTU0PV8weDJlNTUwNSxfMHgxMmY1M2M9J2Z1bmN0aW9uJz09dHlwZW9mIFN5bWJvbCYmXzB4MzRkZjA5W1N5bWJvbFtfMHg0YjJlNTQoJzB4NzZjJyldXTtpZighXzB4MTJmNTNjKXJldHVybiBfMHgzNGRmMDk7dmFyIF8weDJjZGViNyxfMHg1ZjUwMTYsXzB4NWNlNzBjPV8weDEyZjUzY1tfMHg0YjJlNTQoJzB4NWZkJyldKF8weDM0ZGYwOSksXzB4MWFmZDNiPVtdO3RyeXtmb3IoOyh2b2lkIDB4MD09PV8weDE2YjRkYnx8XzB4MTZiNGRiLS0+MHgwKSYmIShfMHgyY2RlYjc9XzB4NWNlNzBjW18weDRiMmU1NCgnMHg3NDAnKV0oKSlbJ2RvbmUnXTspXzB4MWFmZDNiW18weDRiMmU1NCgnMHg4YjcnKV0oXzB4MmNkZWI3W18weDRiMmU1NCgnMHg4OWQnKV0pO31jYXRjaChfMHg0NmJlODUpe18weDVmNTAxNj17J2Vycm9yJzpfMHg0NmJlODV9O31maW5hbGx5e3RyeXtfMHgyY2RlYjcmJiFfMHgyY2RlYjdbXzB4NGIyZTU0KCcweGM1YycpXSYmKF8weDEyZjUzYz1fMHg1Y2U3MGNbXzB4NGIyZTU0KCcweDZmZScpXSkmJl8weDEyZjUzY1tfMHg0YjJlNTQoJzB4NWZkJyldKF8weDVjZTcwYyk7fWZpbmFsbHl7aWYoXzB4NWY1MDE2KXRocm93IF8weDVmNTAxNlsnZXJyb3InXTt9fXJldHVybiBfMHgxYWZkM2I7fSxfMHg1MWFhMzg9dGhpcyYmdGhpc1snX19zcHJlYWRBcnJheSddfHxmdW5jdGlvbihfMHgyODE1ZTYsXzB4YzQ1ZGQ1LF8weDdhYThhYSl7dmFyIF8weDMwMTgwMD1fMHgyZTU1MDU7aWYoXzB4N2FhOGFhfHwweDI9PT1hcmd1bWVudHNbXzB4MzAxODAwKCcweDUyMCcpXSl7Zm9yKHZhciBfMHg1ODZkNTgsXzB4MjlhOTMyPTB4MCxfMHg0MWI4OGI9XzB4YzQ1ZGQ1W18weDMwMTgwMCgnMHg1MjAnKV07XzB4MjlhOTMyPF8weDQxYjg4YjtfMHgyOWE5MzIrKykhXzB4NTg2ZDU4JiZfMHgyOWE5MzIgaW4gXzB4YzQ1ZGQ1fHwoXzB4NTg2ZDU4fHwoXzB4NTg2ZDU4PUFycmF5W18weDMwMTgwMCgnMHg3NTYnKV1bXzB4MzAxODAwKCcweGFkYScpXVtfMHgzMDE4MDAoJzB4NWZkJyldKF8weGM0NWRkNSwweDAsXzB4MjlhOTMyKSksXzB4NTg2ZDU4W18weDI5YTkzMl09XzB4YzQ1ZGQ1W18weDI5YTkzMl0pO31yZXR1cm4gXzB4MjgxNWU2Wydjb25jYXQnXShfMHg1ODZkNTh8fEFycmF5W18weDMwMTgwMCgnMHg3NTYnKV1bXzB4MzAxODAwKCcweGFkYScpXVtfMHgzMDE4MDAoJzB4NWZkJyldKF8weGM0NWRkNSkpO307T2JqZWN0W18weDJlNTUwNSgnMHgyYjQnKV0oXzB4MTY0ZmNlLF8weDJlNTUwNSgnMHhjZDInKSx7J3ZhbHVlJzohMHgwfSksXzB4MTY0ZmNlW18weDJlNTUwNSgnMHgzNGInKV09XzB4MTY0ZmNlWydnZXRTdW1tZWRUb2tlbkFuZElkZW50aWZpZXJBbW91bnRzJ109XzB4MTY0ZmNlWydnZXRQcmVzZW50SXRlbUFtb3VudCddPV8weDE2NGZjZVtfMHgyZTU1MDUoJzB4MWJhJyldPV8weDE2NGZjZVtfMHgyZTU1MDUoJzB4Y2E2JyldPV8weDE2NGZjZVtfMHgyZTU1MDUoJzB4NmUxJyldPV8weDE2NGZjZVtfMHgyZTU1MDUoJzB4NjFmJyldPV8weDE2NGZjZVsnaXNOYXRpdmVDdXJyZW5jeUl0ZW0nXT1fMHgxNjRmY2VbXzB4MmU1NTA1KCcweDgzYycpXT12b2lkIDB4MDt2YXIgXzB4MWQ1OWNlPV8weDFiOTY2OCgweDFkZDgpLF8weDI2ZGMyYT1fMHgxYjk2NjgoMHgxZDFjKSxfMHgxYzdhZTQ9XzB4MWI5NjY4KDB4MTU3YSksXzB4MmJhNjczPV8weDFiOTY2OCgweDVmNik7XzB4MTY0ZmNlW18weDJlNTUwNSgnMHg4M2MnKV09ZnVuY3Rpb24oXzB4NTgwODM3KXt2YXIgXzB4MTJiNjRmPV8weDJlNTUwNSxfMHgxZTRkMzQ9XzB4NTgwODM3WydpdGVtVHlwZSddO3JldHVybltfMHgyNmRjMmFbXzB4MTJiNjRmKCcweDNmOCcpXVtfMHgxMmI2NGYoJzB4YWQ4JyldLF8weDI2ZGMyYVtfMHgxMmI2NGYoJzB4M2Y4JyldW18weDEyYjY0ZignMHg3MDUnKV1dWydpbmNsdWRlcyddKF8weDFlNGQzNCk7fSxfMHgxNjRmY2VbXzB4MmU1NTA1KCcweDk0NCcpXT1mdW5jdGlvbihfMHg0NWQzZjgpe3ZhciBfMHgzZDcwNTY9XzB4MmU1NTA1O3JldHVybiBfMHg0NWQzZjhbJ2l0ZW1UeXBlJ109PT1fMHgyNmRjMmFbXzB4M2Q3MDU2KCcweDNmOCcpXVtfMHgzZDcwNTYoJzB4YWQ4JyldO30sXzB4MTY0ZmNlW18weDJlNTUwNSgnMHg2MWYnKV09ZnVuY3Rpb24oXzB4NWNkYzhkKXtyZXR1cm4gXzB4NWNkYzhkPT09XzB4MjZkYzJhWydJdGVtVHlwZSddWydFUkMyMCddO30sXzB4MTY0ZmNlW18weDJlNTUwNSgnMHg2ZTEnKV09ZnVuY3Rpb24oXzB4NTMzYjFlKXt2YXIgXzB4NWNmMzIxPV8weDJlNTUwNTtyZXR1cm5bXzB4MjZkYzJhW18weDVjZjMyMSgnMHgzZjgnKV1bXzB4NWNmMzIxKCcweGFlNycpXSxfMHgyNmRjMmFbXzB4NWNmMzIxKCcweDNmOCcpXVtfMHg1Y2YzMjEoJzB4YTc1JyldXVtfMHg1Y2YzMjEoJzB4MWZmJyldKF8weDUzM2IxZSk7fSxfMHgxNjRmY2VbXzB4MmU1NTA1KCcweGNhNicpXT1mdW5jdGlvbihfMHgzNDgyZmYpe3ZhciBfMHgyMDI4Njg9XzB4MmU1NTA1O3JldHVybltfMHgyNmRjMmFbXzB4MjAyODY4KCcweDNmOCcpXVtfMHgyMDI4NjgoJzB4NTVhJyldLF8weDI2ZGMyYVtfMHgyMDI4NjgoJzB4M2Y4JyldW18weDIwMjg2OCgnMHhkMjEnKV1dW18weDIwMjg2OCgnMHgxZmYnKV0oXzB4MzQ4MmZmKTt9LF8weDE2NGZjZVtfMHgyZTU1MDUoJzB4MWJhJyldPWZ1bmN0aW9uKF8weDQ3Yjg5OCl7dmFyIF8weDVjMGRjMj1fMHgyZTU1MDU7cmV0dXJuW18weDI2ZGMyYVtfMHg1YzBkYzIoJzB4M2Y4JyldWydFUkM3MjFfV0lUSF9DUklURVJJQSddLF8weDI2ZGMyYVtfMHg1YzBkYzIoJzB4M2Y4JyldW18weDVjMGRjMignMHhkMjEnKV1dW18weDVjMGRjMignMHgxZmYnKV0oXzB4NDdiODk4KTt9LF8weDE2NGZjZVsnZ2V0UHJlc2VudEl0ZW1BbW91bnQnXT1mdW5jdGlvbihfMHgyNjQ1YzIpe3ZhciBfMHgyZGY4NjY9XzB4MmU1NTA1LF8weDIzMzk0ZD1fMHgyNjQ1YzJbXzB4MmRmODY2KCcweGQwYycpXSxfMHhjNWRmNDY9XzB4MjY0NWMyW18weDJkZjg2NignMHgzYWYnKV0sXzB4MzQyYjc5PV8weDI2NDVjMltfMHgyZGY4NjYoJzB4OTA4JyldLF8weDNhOGMzNz1fMHgxZDU5Y2VbXzB4MmRmODY2KCcweDVjMScpXVtfMHgyZGY4NjYoJzB4MjUyJyldKF8weDIzMzk0ZCksXzB4MTJkNmQ5PV8weDFkNTljZVtfMHgyZGY4NjYoJzB4NWMxJyldW18weDJkZjg2NignMHgyNTInKV0oXzB4YzVkZjQ2KTtpZighXzB4MzQyYjc5KXJldHVybiBfMHgzYThjMzdbJ2d0J10oXzB4MTJkNmQ5KT9fMHgzYThjMzc6XzB4MTJkNmQ5O3ZhciBfMHg0NjUxNjA9XzB4MzQyYjc5W18weDJkZjg2NignMHhhYzInKV0sXzB4NTQ5ZTFkPV8weDM0MmI3OVtfMHgyZGY4NjYoJzB4NmVkJyldLF8weDExNjA4OT1fMHgzNDJiNzlbJ2FzY2VuZGluZ0Ftb3VudFRpbWVzdGFtcEJ1ZmZlciddLF8weDEwZGJhMT1fMHgzNDJiNzlbXzB4MmRmODY2KCcweDFjMScpXSxfMHgxODZjNDc9XzB4MzQyYjc5W18weDJkZjg2NignMHg2YzcnKV0sXzB4MjI2YmJmPV8weDFkNTljZVtfMHgyZGY4NjYoJzB4NWMxJyldW18weDJkZjg2NignMHgyNTInKV0oXzB4MTg2YzQ3KVsnc3ViJ10oXzB4MTBkYmExKSxfMHgxYzM1MDU9XzB4MTJkNmQ5WydndCddKF8weDIzMzk0ZCksXzB4MjRjY2I4PV8weDFkNTljZVsnQmlnTnVtYmVyJ11bXzB4MmRmODY2KCcweDI1MicpXShfMHgxYzM1MDU/XzB4NTQ5ZTFkK18weDExNjA4OTpfMHg1NDllMWQpO2lmKF8weDI0Y2NiOFsnbHQnXShfMHgxMGRiYTEpKXJldHVybiBfMHgzYThjMzc7dmFyIF8weDI3M2I3YT0oXzB4MjRjY2I4WydndCddKF8weDE4NmM0Nyk/XzB4MWQ1OWNlWydCaWdOdW1iZXInXVtfMHgyZGY4NjYoJzB4MjUyJyldKF8weDE4NmM0Nyk6XzB4MjRjY2I4KVtfMHgyZGY4NjYoJzB4YmJmJyldKF8weDEwZGJhMSksXzB4NTRmOTUxPV8weDIyNmJiZltfMHgyZGY4NjYoJzB4YmJmJyldKF8weDI3M2I3YSk7cmV0dXJuIF8weDNhOGMzN1snbXVsJ10oXzB4NTRmOTUxKVsnYWRkJ10oXzB4MTJkNmQ5W18weDJkZjg2NignMHhjMjMnKV0oXzB4MjczYjdhKSlbXzB4MmRmODY2KCcweGJhMScpXShfMHg0NjUxNjA/XzB4MjI2YmJmW18weDJkZjg2NignMHhiYmYnKV0oMHgxKToweDApW18weDJkZjg2NignMHg4NWQnKV0oXzB4MjI2YmJmKTt9LF8weDE2NGZjZVtfMHgyZTU1MDUoJzB4ZDJlJyldPWZ1bmN0aW9uKF8weDM0YjA1YSl7dmFyIF8weDQxMjYyMD1fMHgyZTU1MDUsXzB4MzRkYWExPV8weDM0YjA1YVtfMHg0MTI2MjAoJzB4YzI4JyldLF8weDQ0ZDE5Mj1fMHgzNGIwNWFbXzB4NDEyNjIwKCcweDQwYicpXSxfMHg1NzA3NTQ9XzB4MzRiMDVhW18weDQxMjYyMCgnMHg5MDgnKV0sXzB4M2I0NjVjPSgweDAsXzB4MWM3YWU0W18weDQxMjYyMCgnMHg2YjUnKV0pKF8weDM0ZGFhMSxfMHg0NGQxOTIpLF8weDQ3YjFlYj1fMHgzNGRhYTFbXzB4NDEyNjIwKCcweDgxOCcpXShmdW5jdGlvbihfMHg1YTBmOWIsXzB4MTExZDQ2KXt2YXIgXzB4NTQyYjUwPV8weDQxMjYyMCxfMHg1MTY2MGUsXzB4N2JjOWVmLF8weDVjYzU4MyxfMHg0NDU2ZGQsXzB4YWZmOWJjLF8weDIwZjFjYSxfMHg0NzQxZTM9bnVsbCE9PShfMHg0NDU2ZGQ9bnVsbD09PShfMHg1Y2M1ODM9XzB4M2I0NjVjWydnZXQnXShfMHgxMTFkNDYpKXx8dm9pZCAweDA9PT1fMHg1Y2M1ODM/dm9pZCAweDA6XzB4NWNjNTgzW18weDU0MmI1MCgnMHg1OGQnKV0pJiZ2b2lkIDB4MCE9PV8weDQ0NTZkZD9fMHg0NDU2ZGQ6XzB4MTExZDQ2W18weDU0MmI1MCgnMHgyODAnKV07cmV0dXJuIF8weDI5NDEwMyhfMHgyOTQxMDMoe30sXzB4NWEwZjliKSwoKF8weDUxNjYwZT17fSlbXzB4MTExZDQ2Wyd0b2tlbiddXT1fMHgyOTQxMDMoXzB4Mjk0MTAzKHt9LF8weDVhMGY5YltfMHgxMTFkNDZbXzB4NTQyYjUwKCcweDZjYicpXV0pLCgoXzB4N2JjOWVmPXt9KVtfMHg0NzQxZTNdPShudWxsIT09KF8weDIwZjFjYT1udWxsPT09KF8weGFmZjliYz1fMHg1YTBmOWJbXzB4MTExZDQ2W18weDU0MmI1MCgnMHg2Y2InKV1dKXx8dm9pZCAweDA9PT1fMHhhZmY5YmM/dm9pZCAweDA6XzB4YWZmOWJjW18weDQ3NDFlM10pJiZ2b2lkIDB4MCE9PV8weDIwZjFjYT9fMHgyMGYxY2E6XzB4MWQ1OWNlW18weDU0MmI1MCgnMHg1YzEnKV1bXzB4NTQyYjUwKCcweDI1MicpXSgweDApKVtfMHg1NDJiNTAoJzB4YmExJyldKCgweDAsXzB4MTY0ZmNlW18weDU0MmI1MCgnMHg4YjknKV0pKHsnc3RhcnRBbW91bnQnOl8weDExMWQ0NltfMHg1NDJiNTAoJzB4ZDBjJyldLCdlbmRBbW91bnQnOl8weDExMWQ0NltfMHg1NDJiNTAoJzB4M2FmJyldLCd0aW1lQmFzZWRJdGVtUGFyYW1zJzpfMHg1NzA3NTR9KSksXzB4N2JjOWVmKSksXzB4NTE2NjBlKSk7fSx7fSk7cmV0dXJuIF8weDQ3YjFlYjt9LF8weDE2NGZjZVtfMHgyZTU1MDUoJzB4MzRiJyldPWZ1bmN0aW9uKF8weDMzY2EwMyl7dmFyIF8weDRmMWE5NT1fMHgyZTU1MDUsXzB4MzBkZjFiPV8weDMzY2EwM1sncGFyYW1ldGVycyddLF8weDU0NWUwZT1fMHgzMGRmMWJbXzB4NGYxYTk1KCcweDkzOScpXSxfMHg0MDIwNzM9XzB4MzBkZjFiWydjb25zaWRlcmF0aW9uJ10sXzB4MmYyZmVmPV8weDUxYWEzOChfMHg1MWFhMzgoW10sXzB4MTVmMjI1KF8weDU0NWUwZSksITB4MSksXzB4MTVmMjI1KF8weDQwMjA3MyksITB4MSlbXzB4NGYxYTk1KCcweDU4MycpXShmdW5jdGlvbihfMHgxYWJjZDIpe3ZhciBfMHgxYjFkZGM9XzB4NGYxYTk1O3JldHVybltfMHgxYWJjZDJbXzB4MWIxZGRjKCcweGQwYycpXSxfMHgxYWJjZDJbXzB4MWIxZGRjKCcweDNhZicpXV07fSk7cmV0dXJuKDB4MCxfMHgyYmE2NzNbXzB4NGYxYTk1KCcweGI5YycpXSkoXzB4MmYyZmVmKTt9O30sMHgxOWU2OmZ1bmN0aW9uKF8weDMxZDc0ZSxfMHgyOTM3MjQsXzB4Y2IwMTFlKXsndXNlIHN0cmljdCc7dmFyIF8weDFjZmQxMT1fMHgxNWEzO3ZhciBfMHg0NGY0Mzc9XzB4Y2IwMTFlKDB4MjIzYylbJ0J1ZmZlciddLF8weDQxNDIxMj10aGlzJiZ0aGlzW18weDFjZmQxMSgnMHgzZTInKV18fGZ1bmN0aW9uKF8weDQwYjIzYSl7dmFyIF8weDhjMWIxND1fMHgxY2ZkMTE7cmV0dXJuIF8weDQwYjIzYSYmXzB4NDBiMjNhW18weDhjMWIxNCgnMHhjZDInKV0/XzB4NDBiMjNhOnsnZGVmYXVsdCc6XzB4NDBiMjNhfTt9O09iamVjdFtfMHgxY2ZkMTEoJzB4MmI0JyldKF8weDI5MzcyNCwnX19lc01vZHVsZScseyd2YWx1ZSc6ITB4MH0pLF8weDI5MzcyNFtfMHgxY2ZkMTEoJzB4OTVjJyldPXZvaWQgMHgwO3ZhciBfMHgxNzA2N2Q9XzB4Y2IwMTFlKDB4MWRkOCksXzB4NTNjOTJiPV8weGNiMDExZSgweDE4ZTMpLF8weDIwYmM4Yj1fMHg0MTQyMTIoXzB4Y2IwMTFlKDB4ODcyKSksXzB4NDljM2Q3PWZ1bmN0aW9uKF8weDE0MTkyMCl7dmFyIF8weDJjYTdhYz1fMHgxY2ZkMTE7cmV0dXJuKDB4MCxfMHg1M2M5MmJbXzB4MmNhN2FjKCcweDU2MicpXSkoXzB4NDRmNDM3W18weDJjYTdhYygnMHgyNTInKV0oXzB4MTcwNjdkW18weDJjYTdhYygnMHg1YzEnKV1bJ2Zyb20nXShfMHgxNDE5MjApW18weDJjYTdhYygnMHg2YzEnKV0oKVtfMHgyY2E3YWMoJzB4YWRhJyldKDB4MilbXzB4MmNhN2FjKCcweDZhOScpXSgweDQwLCcwJyksJ2hleCcpKTt9LF8weDIzMjA0OD0oZnVuY3Rpb24oKXt2YXIgXzB4MTM5ZDcxPV8weDFjZmQxMTtmdW5jdGlvbiBfMHgzYWVmMmQoXzB4MTgyYWExKXt2YXIgXzB4MTRhYjBmPV8weDE1YTM7dGhpc1tfMHgxNGFiMGYoJzB4ODljJyldPW5ldyBfMHgyMGJjOGJbKF8weDE0YWIwZignMHg4ZWYnKSldKF8weDE4MmFhMVtfMHgxNGFiMGYoJzB4M2M5JyldKF8weDQ5YzNkNyksXzB4NTNjOTJiW18weDE0YWIwZignMHg1NjInKV0seydzb3J0JzohMHgwfSk7fXJldHVybiBfMHgzYWVmMmRbXzB4MTM5ZDcxKCcweDc1NicpXVsnZ2V0UHJvb2YnXT1mdW5jdGlvbihfMHg0MjY1NzYpe3ZhciBfMHg1ZjQzOTQ9XzB4MTM5ZDcxO3JldHVybiB0aGlzW18weDVmNDM5NCgnMHg4OWMnKV1bXzB4NWY0Mzk0KCcweGIxOScpXShfMHg0OWMzZDcoXzB4NDI2NTc2KSk7fSxfMHgzYWVmMmRbXzB4MTM5ZDcxKCcweDc1NicpXVtfMHgxMzlkNzEoJzB4ZDUzJyldPWZ1bmN0aW9uKCl7dmFyIF8weDE1NjAxNz1fMHgxMzlkNzE7cmV0dXJuIHRoaXNbXzB4MTU2MDE3KCcweDg5YycpXVtfMHgxNTYwMTcoJzB4ZDUzJyldKClbJ3RvU3RyaW5nJ10oXzB4MTU2MDE3KCcweGM0ZCcpKT90aGlzW18weDE1NjAxNygnMHg4OWMnKV1bJ2dldEhleFJvb3QnXSgpOicwJzt9LF8weDNhZWYyZDt9KCkpO18weDI5MzcyNFsnTWVya2xlVHJlZSddPV8weDIzMjA0ODt9LDB4MjUxNjpmdW5jdGlvbihfMHgzYTlhNDksXzB4YWEyZjI1LF8weDRiNGI5MCl7J3VzZSBzdHJpY3QnO3ZhciBfMHg0NGQwNjM9XzB4MTVhMzt2YXIgXzB4MTRjOWQzPV8weDRiNGI5MCgweDIyM2MpWydCdWZmZXInXSxfMHgxMWM2MWQ9dGhpcyYmdGhpc1tfMHg0NGQwNjMoJzB4NGM1JyldfHxmdW5jdGlvbigpe3ZhciBfMHgyYWM1NmE9XzB4NDRkMDYzO3JldHVybiBfMHgxMWM2MWQ9T2JqZWN0W18weDJhYzU2YSgnMHhiN2MnKV18fGZ1bmN0aW9uKF8weGY3YTY4Mil7dmFyIF8weDIwOTViOD1fMHgyYWM1NmE7Zm9yKHZhciBfMHgyMmM1MzIsXzB4Mjc1MzRiPTB4MSxfMHgyNjNjOTA9YXJndW1lbnRzW18weDIwOTViOCgnMHg1MjAnKV07XzB4Mjc1MzRiPF8weDI2M2M5MDtfMHgyNzUzNGIrKylmb3IodmFyIF8weDRjOTE3YyBpbiBfMHgyMmM1MzI9YXJndW1lbnRzW18weDI3NTM0Yl0pT2JqZWN0Wydwcm90b3R5cGUnXVtfMHgyMDk1YjgoJzB4MTljJyldW18weDIwOTViOCgnMHg1ZmQnKV0oXzB4MjJjNTMyLF8weDRjOTE3YykmJihfMHhmN2E2ODJbXzB4NGM5MTdjXT1fMHgyMmM1MzJbXzB4NGM5MTdjXSk7cmV0dXJuIF8weGY3YTY4Mjt9LF8weDExYzYxZFtfMHgyYWM1NmEoJzB4NDQyJyldKHRoaXMsYXJndW1lbnRzKTt9LF8weDMyYjA2Nj10aGlzJiZ0aGlzW18weDQ0ZDA2MygnMHg5ZDYnKV18fGZ1bmN0aW9uKF8weDRkZmI5OSxfMHgyNmViNDkpe3ZhciBfMHg1NjZkZjM9XzB4NDRkMDYzLF8weDViNjJmNT0nZnVuY3Rpb24nPT10eXBlb2YgU3ltYm9sJiZfMHg0ZGZiOTlbU3ltYm9sW18weDU2NmRmMygnMHg3NmMnKV1dO2lmKCFfMHg1YjYyZjUpcmV0dXJuIF8weDRkZmI5OTt2YXIgXzB4Mzc1Njc2LF8weDJkYWQ0OCxfMHgxYjRlYWU9XzB4NWI2MmY1W18weDU2NmRmMygnMHg1ZmQnKV0oXzB4NGRmYjk5KSxfMHgxNDVlNGM9W107dHJ5e2Zvcig7KHZvaWQgMHgwPT09XzB4MjZlYjQ5fHxfMHgyNmViNDktLT4weDApJiYhKF8weDM3NTY3Nj1fMHgxYjRlYWVbXzB4NTY2ZGYzKCcweDc0MCcpXSgpKVtfMHg1NjZkZjMoJzB4YzVjJyldOylfMHgxNDVlNGNbXzB4NTY2ZGYzKCcweDhiNycpXShfMHgzNzU2NzZbJ3ZhbHVlJ10pO31jYXRjaChfMHhjNzExZjApe18weDJkYWQ0OD17J2Vycm9yJzpfMHhjNzExZjB9O31maW5hbGx5e3RyeXtfMHgzNzU2NzYmJiFfMHgzNzU2NzZbXzB4NTY2ZGYzKCcweGM1YycpXSYmKF8weDViNjJmNT1fMHgxYjRlYWVbJ3JldHVybiddKSYmXzB4NWI2MmY1W18weDU2NmRmMygnMHg1ZmQnKV0oXzB4MWI0ZWFlKTt9ZmluYWxseXtpZihfMHgyZGFkNDgpdGhyb3cgXzB4MmRhZDQ4W18weDU2NmRmMygnMHhjOWUnKV07fX1yZXR1cm4gXzB4MTQ1ZTRjO30sXzB4MjU0YmZlPXRoaXMmJnRoaXNbXzB4NDRkMDYzKCcweGFiOCcpXXx8ZnVuY3Rpb24oXzB4MjNlZGY2LF8weDE4OGIzYyxfMHgzMDYyYzMpe3ZhciBfMHg1NDQ0ZTk9XzB4NDRkMDYzO2lmKF8weDMwNjJjM3x8MHgyPT09YXJndW1lbnRzW18weDU0NDRlOSgnMHg1MjAnKV0pe2Zvcih2YXIgXzB4NWVmNmNmLF8weGU1MTMzZj0weDAsXzB4NWVjNDlmPV8weDE4OGIzY1snbGVuZ3RoJ107XzB4ZTUxMzNmPF8weDVlYzQ5ZjtfMHhlNTEzM2YrKykhXzB4NWVmNmNmJiZfMHhlNTEzM2YgaW4gXzB4MTg4YjNjfHwoXzB4NWVmNmNmfHwoXzB4NWVmNmNmPUFycmF5W18weDU0NDRlOSgnMHg3NTYnKV1bXzB4NTQ0NGU5KCcweGFkYScpXVtfMHg1NDQ0ZTkoJzB4NWZkJyldKF8weDE4OGIzYywweDAsXzB4ZTUxMzNmKSksXzB4NWVmNmNmW18weGU1MTMzZl09XzB4MTg4YjNjW18weGU1MTMzZl0pO31yZXR1cm4gXzB4MjNlZGY2W18weDU0NDRlOSgnMHg1MzAnKV0oXzB4NWVmNmNmfHxBcnJheVtfMHg1NDQ0ZTkoJzB4NzU2JyldW18weDU0NDRlOSgnMHhhZGEnKV1bXzB4NTQ0NGU5KCcweDVmZCcpXShfMHgxODhiM2MpKTt9O09iamVjdFtfMHg0NGQwNjMoJzB4MmI0JyldKF8weGFhMmYyNSxfMHg0NGQwNjMoJzB4Y2QyJykseyd2YWx1ZSc6ITB4MH0pLF8weGFhMmYyNVtfMHg0NGQwNjMoJzB4OTkzJyldPV8weGFhMmYyNVsnZ2VuZXJhdGVSYW5kb21TYWx0V2l0aERvbWFpbiddPV8weGFhMmYyNVtfMHg0NGQwNjMoJzB4NjRkJyldPV8weGFhMmYyNVtfMHg0NGQwNjMoJzB4ODQxJyldPV8weGFhMmYyNVtfMHg0NGQwNjMoJzB4NTA3JyldPV8weGFhMmYyNVtfMHg0NGQwNjMoJzB4OTcxJyldPV8weGFhMmYyNVtfMHg0NGQwNjMoJzB4MzNlJyldPV8weGFhMmYyNVtfMHg0NGQwNjMoJzB4MmFiJyldPV8weGFhMmYyNVtfMHg0NGQwNjMoJzB4YjY4JyldPV8weGFhMmYyNVtfMHg0NGQwNjMoJzB4YWU4JyldPXZvaWQgMHgwO3ZhciBfMHgyZmY5YmQ9XzB4NGI0YjkwKDB4MWRkOCksXzB4MTM1ZTI0PV8weDRiNGI5MCgweDE4ZTMpLF8weDIyNDlkYT1fMHg0YjRiOTAoMHgxZDFjKSxfMHgxZWU0YzU9XzB4NGI0YjkwKDB4MjZiZiksXzB4MjI0ZTBiPV8weDRiNGI5MCgweDE5ZTYpLF8weDFjOTNlNj1mdW5jdGlvbihfMHgzMTYyYzEsXzB4YjQ3OWI0KXt2YXIgXzB4MzcxY2RiPV8weDQ0ZDA2MztyZXR1cm4gXzB4MmZmOWJkW18weDM3MWNkYignMHg1YzEnKV1bXzB4MzcxY2RiKCcweDI1MicpXShfMHgzMTYyYzEpWydtdWwnXShfMHgyZmY5YmRbXzB4MzcxY2RiKCcweDVjMScpXVtfMHgzNzFjZGIoJzB4MjUyJyldKF8weGI0NzliNCkpW18weDM3MWNkYignMHg4NWQnKV0oXzB4MjI0OWRhWydPTkVfSFVORFJFRF9QRVJDRU5UX0JQJ10pO307XzB4YWEyZjI1W18weDQ0ZDA2MygnMHhhZTgnKV09ZnVuY3Rpb24oXzB4YTlmMTQ4KXt2YXIgXzB4MmI4ODQ9XzB4NDRkMDYzLF8weDQzN2U0Nj1fMHhhOWYxNDhbXzB4MmI4ODQoJzB4YjQ2JyldLF8weDE2MDBhOT1fMHhhOWYxNDhbXzB4MmI4ODQoJzB4NmNiJyldLF8weDI5MzAxZT1fMHhhOWYxNDhbXzB4MmI4ODQoJzB4M2ZiJyldLF8weDMxMzc0Nz1fMHhhOWYxNDhbXzB4MmI4ODQoJzB4N2IwJyldLF8weDRjMzFjMD12b2lkIDB4MD09PV8weDMxMzc0Nz9fMHgyOTMwMWU6XzB4MzEzNzQ3O3JldHVybnsnaXRlbVR5cGUnOl8weDE2MDBhOT09PV8weDJmZjliZFtfMHgyYjg4NCgnMHg5Y2UnKV1bJ2NvbnN0YW50cyddW18weDJiODg0KCcweDg4ZicpXT9fMHgyMjQ5ZGFbJ0l0ZW1UeXBlJ11bXzB4MmI4ODQoJzB4YWQ4JyldOl8weDIyNDlkYVtfMHgyYjg4NCgnMHgzZjgnKV1bXzB4MmI4ODQoJzB4NzA1JyldLCd0b2tlbic6XzB4MTYwMGE5LCdpZGVudGlmaWVyT3JDcml0ZXJpYSc6JzAnLCdzdGFydEFtb3VudCc6XzB4MWM5M2U2KF8weDI5MzAxZSxfMHg0MzdlNDZbXzB4MmI4ODQoJzB4YTJhJyldKVtfMHgyYjg4NCgnMHg1NDcnKV0oKSwnZW5kQW1vdW50JzpfMHgxYzkzZTYoXzB4NGMzMWMwLF8weDQzN2U0NltfMHgyYjg4NCgnMHhhMmEnKV0pW18weDJiODg0KCcweDU0NycpXSgpLCdyZWNpcGllbnQnOl8weDQzN2U0NltfMHgyYjg4NCgnMHgzNDEnKV19O30sXzB4YWEyZjI1W18weDQ0ZDA2MygnMHhiNjgnKV09ZnVuY3Rpb24oXzB4NDgyYTdmLF8weDFlN2M2ZSl7dmFyIF8weDI3MWMwNT1fMHg0NGQwNjM7aWYoIV8weDFlN2M2ZSlyZXR1cm4gXzB4NDgyYTdmO3ZhciBfMHg1NmVhMWU9XzB4MWU3YzZlW18weDI3MWMwNSgnMHg4MTgnKV0oZnVuY3Rpb24oXzB4Yjc4MzdiLF8weDNiOGJjOCl7dmFyIF8weDI1OTNhYT1fMHgyNzFjMDU7cmV0dXJuIF8weGI3ODM3YitfMHgzYjhiYzhbXzB4MjU5M2FhKCcweGEyYScpXTt9LDB4MCk7cmV0dXJuIF8weDQ4MmE3ZltfMHgyNzFjMDUoJzB4M2M5JyldKGZ1bmN0aW9uKF8weDFlMjE5MCl7dmFyIF8weDI2NmViOT1fMHgyNzFjMDU7cmV0dXJuIF8weDExYzYxZChfMHgxMWM2MWQoe30sXzB4MWUyMTkwKSx7J3N0YXJ0QW1vdW50JzooMHgwLF8weDFlZTRjNVtfMHgyNjZlYjkoJzB4ODNjJyldKShfMHgxZTIxOTApP18weDJmZjliZFtfMHgyNjZlYjkoJzB4NWMxJyldW18weDI2NmViOSgnMHgyNTInKV0oXzB4MWUyMTkwW18weDI2NmViOSgnMHhkMGMnKV0pW18weDI2NmViOSgnMHhiYmYnKV0oXzB4MWM5M2U2KF8weDFlMjE5MFtfMHgyNjZlYjkoJzB4ZDBjJyldLF8weDU2ZWExZSkpW18weDI2NmViOSgnMHg1NDcnKV0oKTpfMHgxZTIxOTBbXzB4MjY2ZWI5KCcweGQwYycpXSwnZW5kQW1vdW50JzooMHgwLF8weDFlZTRjNVtfMHgyNjZlYjkoJzB4ODNjJyldKShfMHgxZTIxOTApP18weDJmZjliZFtfMHgyNjZlYjkoJzB4NWMxJyldW18weDI2NmViOSgnMHgyNTInKV0oXzB4MWUyMTkwW18weDI2NmViOSgnMHgzYWYnKV0pW18weDI2NmViOSgnMHhiYmYnKV0oXzB4MWM5M2U2KF8weDFlMjE5MFsnZW5kQW1vdW50J10sXzB4NTZlYTFlKSlbXzB4MjY2ZWI5KCcweDU0NycpXSgpOl8weDFlMjE5MFtfMHgyNjZlYjkoJzB4M2FmJyldfSk7fSk7fSxfMHhhYTJmMjVbXzB4NDRkMDYzKCcweDJhYicpXT1mdW5jdGlvbihfMHgxZDA0YzQpe3ZhciBfMHgxYjFkMTQ9XzB4NDRkMDYzLF8weDU0YWIzNCxfMHgxZWU2YWMsXzB4NTE4ZWUyLF8weDRhNTJmMSxfMHg1YjBjYTQsXzB4NGNmNjEzLF8weDE3MjlhNjtpZihfMHgxYjFkMTQoJzB4YzU4JylpbiBfMHgxZDA0YzQpe2lmKF8weDFiMWQxNCgnMHhjYjknKWluIF8weDFkMDRjNHx8XzB4MWIxZDE0KCcweDc5NicpaW4gXzB4MWQwNGM0KXt2YXIgXzB4MjA3ZDhmPV8weDFiMWQxNCgnMHg3OTYnKWluIF8weDFkMDRjND9fMHgxZDA0YzRbXzB4MWIxZDE0KCcweDc5NicpXTpuZXcgXzB4MjI0ZTBiWyhfMHgxYjFkMTQoJzB4OTVjJykpXShfMHgxZDA0YzRbXzB4MWIxZDE0KCcweGNiOScpXSlbJ2dldFJvb3QnXSgpO3JldHVybnsnaXRlbVR5cGUnOl8weDFkMDRjNFtfMHgxYjFkMTQoJzB4YzU4JyldPT09XzB4MjI0OWRhW18weDFiMWQxNCgnMHgzZjgnKV1bXzB4MWIxZDE0KCcweGFlNycpXT9fMHgyMjQ5ZGFbJ0l0ZW1UeXBlJ11bXzB4MWIxZDE0KCcweGE3NScpXTpfMHgyMjQ5ZGFbXzB4MWIxZDE0KCcweDNmOCcpXVtfMHgxYjFkMTQoJzB4ZDIxJyldLCd0b2tlbic6XzB4MWQwNGM0Wyd0b2tlbiddLCdpZGVudGlmaWVyT3JDcml0ZXJpYSc6XzB4MjA3ZDhmLCdzdGFydEFtb3VudCc6bnVsbCE9PShfMHg1NGFiMzQ9XzB4MWQwNGM0W18weDFiMWQxNCgnMHg3ZTQnKV0pJiZ2b2lkIDB4MCE9PV8weDU0YWIzND9fMHg1NGFiMzQ6JzEnLCdlbmRBbW91bnQnOm51bGwhPT0oXzB4NTE4ZWUyPW51bGwhPT0oXzB4MWVlNmFjPV8weDFkMDRjNFtfMHgxYjFkMTQoJzB4M2FmJyldKSYmdm9pZCAweDAhPT1fMHgxZWU2YWM/XzB4MWVlNmFjOl8weDFkMDRjNFtfMHgxYjFkMTQoJzB4N2U0JyldKSYmdm9pZCAweDAhPT1fMHg1MThlZTI/XzB4NTE4ZWUyOicxJ307fXJldHVybidhbW91bnQnaW4gXzB4MWQwNGM0fHxfMHgxYjFkMTQoJzB4M2FmJylpbiBfMHgxZDA0YzQ/eydpdGVtVHlwZSc6XzB4MWQwNGM0W18weDFiMWQxNCgnMHhjNTgnKV0sJ3Rva2VuJzpfMHgxZDA0YzRbXzB4MWIxZDE0KCcweDZjYicpXSwnaWRlbnRpZmllck9yQ3JpdGVyaWEnOl8weDFkMDRjNFtfMHgxYjFkMTQoJzB4NThkJyldLCdzdGFydEFtb3VudCc6XzB4MWQwNGM0W18weDFiMWQxNCgnMHg3ZTQnKV0sJ2VuZEFtb3VudCc6bnVsbCE9PShfMHg1YjBjYTQ9bnVsbCE9PShfMHg0YTUyZjE9XzB4MWQwNGM0W18weDFiMWQxNCgnMHgzYWYnKV0pJiZ2b2lkIDB4MCE9PV8weDRhNTJmMT9fMHg0YTUyZjE6XzB4MWQwNGM0WydhbW91bnQnXSkmJnZvaWQgMHgwIT09XzB4NWIwY2E0P18weDViMGNhNDonMSd9OnsnaXRlbVR5cGUnOl8weDFkMDRjNFtfMHgxYjFkMTQoJzB4YzU4JyldLCd0b2tlbic6XzB4MWQwNGM0Wyd0b2tlbiddLCdpZGVudGlmaWVyT3JDcml0ZXJpYSc6XzB4MWQwNGM0W18weDFiMWQxNCgnMHg1OGQnKV0sJ3N0YXJ0QW1vdW50JzonMScsJ2VuZEFtb3VudCc6JzEnfTt9cmV0dXJueydpdGVtVHlwZSc6XzB4MWQwNGM0Wyd0b2tlbiddJiZfMHgxZDA0YzRbJ3Rva2VuJ10hPT1fMHgyZmY5YmRbJ2V0aGVycyddWydjb25zdGFudHMnXVtfMHgxYjFkMTQoJzB4ODhmJyldP18weDIyNDlkYVtfMHgxYjFkMTQoJzB4M2Y4JyldWydFUkMyMCddOl8weDIyNDlkYVtfMHgxYjFkMTQoJzB4M2Y4JyldWydOQVRJVkUnXSwndG9rZW4nOm51bGwhPT0oXzB4NGNmNjEzPV8weDFkMDRjNFsndG9rZW4nXSkmJnZvaWQgMHgwIT09XzB4NGNmNjEzP18weDRjZjYxMzpfMHgyZmY5YmRbJ2V0aGVycyddWydjb25zdGFudHMnXVtfMHgxYjFkMTQoJzB4ODhmJyldLCdpZGVudGlmaWVyT3JDcml0ZXJpYSc6JzAnLCdzdGFydEFtb3VudCc6XzB4MWQwNGM0W18weDFiMWQxNCgnMHg3ZTQnKV0sJ2VuZEFtb3VudCc6bnVsbCE9PShfMHgxNzI5YTY9XzB4MWQwNGM0W18weDFiMWQxNCgnMHgzYWYnKV0pJiZ2b2lkIDB4MCE9PV8weDE3MjlhNj9fMHgxNzI5YTY6XzB4MWQwNGM0W18weDFiMWQxNCgnMHg3ZTQnKV19O30sXzB4YWEyZjI1WydhcmVBbGxDdXJyZW5jaWVzU2FtZSddPWZ1bmN0aW9uKF8weDEzNzhkZil7dmFyIF8weGY0ZmE2NT1fMHg0NGQwNjMsXzB4MTk4ZjhmPV8weDEzNzhkZltfMHhmNGZhNjUoJzB4OTM5JyldLF8weDhmOGJjYj1fMHgxMzc4ZGZbXzB4ZjRmYTY1KCcweDNhMicpXSxfMHgxZGZhMWY9XzB4MjU0YmZlKF8weDI1NGJmZShbXSxfMHgzMmIwNjYoXzB4MTk4ZjhmKSwhMHgxKSxfMHgzMmIwNjYoXzB4OGY4YmNiKSwhMHgxKVtfMHhmNGZhNjUoJzB4M2FiJyldKF8weDFlZTRjNVsnaXNDdXJyZW5jeUl0ZW0nXSk7cmV0dXJuIF8weDFkZmExZltfMHhmNGZhNjUoJzB4N2JhJyldKGZ1bmN0aW9uKF8weDU3NmY4ZCl7dmFyIF8weDE2OWFkNj1fMHhmNGZhNjUsXzB4NGU2YTQwPV8weDU3NmY4ZFsnaXRlbVR5cGUnXSxfMHgxZTM2YWY9XzB4NTc2ZjhkW18weDE2OWFkNignMHg2Y2InKV07cmV0dXJuIF8weDRlNmE0MD09PV8weDFkZmExZlsweDBdW18weDE2OWFkNignMHhjNTgnKV0mJl8weDFlMzZhZltfMHgxNjlhZDYoJzB4ODcwJyldKCk9PT1fMHgxZGZhMWZbMHgwXVsndG9rZW4nXVtfMHgxNjlhZDYoJzB4ODcwJyldKCk7fSk7fSxfMHhhYTJmMjVbJ3RvdGFsSXRlbXNBbW91bnQnXT1mdW5jdGlvbihfMHg0OTFkMDYpe3ZhciBfMHgxYzFlMmE9XzB4NDRkMDYzO3JldHVybiBfMHgyZmY5YmRbXzB4MWMxZTJhKCcweDVjMScpXVtfMHgxYzFlMmEoJzB4MjUyJyldKDB4MCksXzB4MmZmOWJkW18weDFjMWUyYSgnMHg1YzEnKV1bXzB4MWMxZTJhKCcweDI1MicpXSgweDApLF8weDQ5MWQwNltfMHgxYzFlMmEoJzB4M2M5JyldKGZ1bmN0aW9uKF8weGY5N2FlNyl7dmFyIF8weDQ4YjUxYj1fMHgxYzFlMmE7cmV0dXJueydzdGFydEFtb3VudCc6XzB4Zjk3YWU3W18weDQ4YjUxYignMHhkMGMnKV0sJ2VuZEFtb3VudCc6XzB4Zjk3YWU3W18weDQ4YjUxYignMHgzYWYnKV19O30pWydyZWR1Y2UnXShmdW5jdGlvbihfMHgyMzRkOWEsXzB4MjY5ZWNhKXt2YXIgXzB4YTQxNjZhPV8weDFjMWUyYSxfMHgzZDg2M2Y9XzB4MjM0ZDlhW18weGE0MTY2YSgnMHhkMGMnKV0sXzB4MjY2NzAyPV8weDIzNGQ5YVtfMHhhNDE2NmEoJzB4M2FmJyldLF8weDFhOTYxNz1fMHgyNjllY2FbXzB4YTQxNjZhKCcweGQwYycpXSxfMHgyZGJmYWQ9XzB4MjY5ZWNhWydlbmRBbW91bnQnXTtyZXR1cm57J3N0YXJ0QW1vdW50JzpfMHgzZDg2M2ZbXzB4YTQxNjZhKCcweGJhMScpXShfMHgxYTk2MTcpLCdlbmRBbW91bnQnOl8weDI2NjcwMltfMHhhNDE2NmEoJzB4YmExJyldKF8weDJkYmZhZCl9O30seydzdGFydEFtb3VudCc6XzB4MmZmOWJkWydCaWdOdW1iZXInXVsnZnJvbSddKDB4MCksJ2VuZEFtb3VudCc6XzB4MmZmOWJkWydCaWdOdW1iZXInXVtfMHgxYzFlMmEoJzB4MjUyJyldKDB4MCl9KTt9LF8weGFhMmYyNVtfMHg0NGQwNjMoJzB4NTA3JyldPWZ1bmN0aW9uKF8weDJhMDIzMCxfMHgxN2ZlMmEpe3ZhciBfMHgxY2EzZjc9XzB4NDRkMDYzLF8weDRjZTU1ND1fMHgxN2ZlMmFbXzB4MWNhM2Y3KCcweGJjMicpXSxfMHgzZDY5MDY9XzB4MTdmZTJhW18weDFjYTNmNygnMHg1ZGInKV07aWYoXzB4NGNlNTU0WydlcSddKDB4MCl8fF8weDNkNjkwNlsnZXEnXSgweDApKXJldHVybiBfMHgyYTAyMzA7dmFyIF8weDM2NmQ1PV8weDNkNjkwNlsnc3ViJ10oXzB4NGNlNTU0KVsnbXVsJ10oXzB4MjI0OWRhW18weDFjYTNmNygnMHg5MmQnKV0pW18weDFjYTNmNygnMHg4NWQnKV0oXzB4M2Q2OTA2KTtyZXR1cm57J3BhcmFtZXRlcnMnOl8weDExYzYxZChfMHgxMWM2MWQoe30sXzB4MmEwMjMwW18weDFjYTNmNygnMHhkNGEnKV0pLHsnb2ZmZXInOl8weDJhMDIzMFsncGFyYW1ldGVycyddW18weDFjYTNmNygnMHg5MzknKV1bXzB4MWNhM2Y3KCcweDNjOScpXShmdW5jdGlvbihfMHg1YTYxMWYpe3ZhciBfMHgyY2M2NmU9XzB4MWNhM2Y3O3JldHVybiBfMHgxMWM2MWQoXzB4MTFjNjFkKHt9LF8weDVhNjExZikseydzdGFydEFtb3VudCc6XzB4MWM5M2U2KF8weDVhNjExZltfMHgyY2M2NmUoJzB4ZDBjJyldLF8weDM2NmQ1KVtfMHgyY2M2NmUoJzB4NTQ3JyldKCksJ2VuZEFtb3VudCc6XzB4MWM5M2U2KF8weDVhNjExZlsnZW5kQW1vdW50J10sXzB4MzY2ZDUpW18weDJjYzY2ZSgnMHg1NDcnKV0oKX0pO30pLCdjb25zaWRlcmF0aW9uJzpfMHgyYTAyMzBbJ3BhcmFtZXRlcnMnXVsnY29uc2lkZXJhdGlvbiddW18weDFjYTNmNygnMHgzYzknKV0oZnVuY3Rpb24oXzB4MzkyYWNlKXt2YXIgXzB4NTk4ZGUzPV8weDFjYTNmNztyZXR1cm4gXzB4MTFjNjFkKF8weDExYzYxZCh7fSxfMHgzOTJhY2UpLHsnc3RhcnRBbW91bnQnOl8weDFjOTNlNihfMHgzOTJhY2VbXzB4NTk4ZGUzKCcweGQwYycpXSxfMHgzNjZkNSlbXzB4NTk4ZGUzKCcweDU0NycpXSgpLCdlbmRBbW91bnQnOl8weDFjOTNlNihfMHgzOTJhY2VbJ2VuZEFtb3VudCddLF8weDM2NmQ1KVtfMHg1OThkZTMoJzB4NTQ3JyldKCl9KTt9KX0pLCdzaWduYXR1cmUnOl8weDJhMDIzMFtfMHgxY2EzZjcoJzB4M2EzJyldfTt9O3ZhciBfMHg0N2FmZDg9ZnVuY3Rpb24oXzB4NWNjZjA1LF8weDUxMjczNCxfMHg1YjEwOWYpe3ZhciBfMHg1NmVkYzk9XzB4NDRkMDYzO3JldHVybiBfMHgyZmY5YmRbXzB4NTZlZGM5KCcweDVjMScpXVtfMHg1NmVkYzkoJzB4MjUyJyldKF8weDVjY2YwNSlbXzB4NTZlZGM5KCcweGMyMycpXShfMHgyZmY5YmRbXzB4NTZlZGM5KCcweDVjMScpXVsnZnJvbSddKF8weDUxMjczNCkpWydkaXYnXShfMHg1YjEwOWYpO307XzB4YWEyZjI1WydtYXBPcmRlckFtb3VudHNGcm9tVW5pdHNUb0ZpbGwnXT1mdW5jdGlvbihfMHgxOWVjNzIsXzB4NmM1NzU0KXt2YXIgXzB4NTdjNTE4PV8weDQ0ZDA2MyxfMHgzMDZmY2M9XzB4NmM1NzU0Wyd1bml0c1RvRmlsbCddLF8weDUzMTEwMj1fMHg2YzU3NTRbXzB4NTdjNTE4KCcweDVkYicpXSxfMHgxM2E0ZmQ9XzB4MmZmOWJkW18weDU3YzUxOCgnMHg1YzEnKV1bXzB4NTdjNTE4KCcweDI1MicpXShfMHgzMDZmY2MpO2lmKF8weDEzYTRmZFtfMHg1N2M1MTgoJzB4N2E0JyldKDB4MCkpdGhyb3cgbmV3IEVycm9yKF8weDU3YzUxOCgnMHhiZTknKSk7dmFyIF8weDU4NDJkZj0oMHgwLF8weDFlZTRjNVtfMHg1N2M1MTgoJzB4MzRiJyldKShfMHgxOWVjNzIpO3JldHVybiBfMHg1MzExMDJbJ2VxJ10oMHgwKSYmKF8weDUzMTEwMj1fMHg1ODQyZGYpLHsncGFyYW1ldGVycyc6XzB4MTFjNjFkKF8weDExYzYxZCh7fSxfMHgxOWVjNzJbXzB4NTdjNTE4KCcweGQ0YScpXSkseydvZmZlcic6XzB4MTllYzcyW18weDU3YzUxOCgnMHhkNGEnKV1bXzB4NTdjNTE4KCcweDkzOScpXVtfMHg1N2M1MTgoJzB4M2M5JyldKGZ1bmN0aW9uKF8weDUxMTAxOCl7dmFyIF8weDgwNTVhYz1fMHg1N2M1MTg7cmV0dXJuIF8weDExYzYxZChfMHgxMWM2MWQoe30sXzB4NTExMDE4KSx7J3N0YXJ0QW1vdW50JzpfMHg0N2FmZDgoXzB4NTExMDE4W18weDgwNTVhYygnMHhkMGMnKV0sXzB4MTNhNGZkLF8weDUzMTEwMilbXzB4ODA1NWFjKCcweDU0NycpXSgpLCdlbmRBbW91bnQnOl8weDQ3YWZkOChfMHg1MTEwMThbXzB4ODA1NWFjKCcweDNhZicpXSxfMHgxM2E0ZmQsXzB4NTMxMTAyKVtfMHg4MDU1YWMoJzB4NTQ3JyldKCl9KTt9KSwnY29uc2lkZXJhdGlvbic6XzB4MTllYzcyW18weDU3YzUxOCgnMHhkNGEnKV1bXzB4NTdjNTE4KCcweDNhMicpXVtfMHg1N2M1MTgoJzB4M2M5JyldKGZ1bmN0aW9uKF8weDNmZjIyZCl7dmFyIF8weDI1ZTJhNz1fMHg1N2M1MTg7cmV0dXJuIF8weDExYzYxZChfMHgxMWM2MWQoe30sXzB4M2ZmMjJkKSx7J3N0YXJ0QW1vdW50JzpfMHg0N2FmZDgoXzB4M2ZmMjJkW18weDI1ZTJhNygnMHhkMGMnKV0sXzB4MTNhNGZkLF8weDUzMTEwMilbJ3RvU3RyaW5nJ10oKSwnZW5kQW1vdW50JzpfMHg0N2FmZDgoXzB4M2ZmMjJkWydlbmRBbW91bnQnXSxfMHgxM2E0ZmQsXzB4NTMxMTAyKVtfMHgyNWUyYTcoJzB4NTQ3JyldKCl9KTt9KX0pLCdzaWduYXR1cmUnOl8weDE5ZWM3MltfMHg1N2M1MTgoJzB4M2EzJyldfTt9LF8weGFhMmYyNVtfMHg0NGQwNjMoJzB4NjRkJyldPWZ1bmN0aW9uKCl7dmFyIF8weDFjZTUwNz1fMHg0NGQwNjM7cmV0dXJuJzB4J1tfMHgxY2U1MDcoJzB4NTMwJyldKF8weDE0YzlkM1tfMHgxY2U1MDcoJzB4MjUyJyldKCgweDAsXzB4MTM1ZTI0W18weDFjZTUwNygnMHhiNTAnKV0pKDB4OCkpWyd0b1N0cmluZyddKF8weDFjZTUwNygnMHhjNGQnKSlbJ3BhZFN0YXJ0J10oMHgxOCwnMCcpKTt9LF8weGFhMmYyNVtfMHg0NGQwNjMoJzB4NTJiJyldPWZ1bmN0aW9uKF8weDQxNTAyMSl7dmFyIF8weDFkYzE2NT1fMHg0NGQwNjM7cmV0dXJuJzB4J1tfMHgxZGMxNjUoJzB4NTMwJyldKF8weDE0YzlkM1tfMHgxZGMxNjUoJzB4MjUyJyldKCgweDAsXzB4MTM1ZTI0W18weDFkYzE2NSgnMHg1MzAnKV0pKFsoMHgwLF8weDEzNWUyNFtfMHgxZGMxNjUoJzB4NTYyJyldKSgoMHgwLF8weDEzNWUyNFtfMHgxZGMxNjUoJzB4YWZiJyldKShfMHg0MTUwMjEpKVtfMHgxZGMxNjUoJzB4YWRhJyldKDB4MCwweGEpLFVpbnQ4QXJyYXlbJ2Zyb20nXShBcnJheSgweDE0KVsnZmlsbCddKDB4MCkpLCgweDAsXzB4MTM1ZTI0W18weDFkYzE2NSgnMHhiNTAnKV0pKDB4OCldKSlbJ3RvU3RyaW5nJ10oXzB4MWRjMTY1KCcweGM0ZCcpKSk7fSxfMHhhYTJmMjVbJ3Nob3VsZFVzZU1hdGNoRm9yRnVsZmlsbCddPWZ1bmN0aW9uKCl7cmV0dXJuITB4MDt9O30sMHgxZGE3OmZ1bmN0aW9uKF8weDlhMGYzOSxfMHgyMzYwMDEsXzB4MTMxNWVlKXsndXNlIHN0cmljdCc7dmFyIF8weDM2ZGRiYz1fMHgxNWEzO3ZhciBfMHgyZTQ1NWU9dGhpcyYmdGhpc1tfMHgzNmRkYmMoJzB4NGM1JyldfHxmdW5jdGlvbigpe3ZhciBfMHgzMzk4NTA9XzB4MzZkZGJjO3JldHVybiBfMHgyZTQ1NWU9T2JqZWN0Wydhc3NpZ24nXXx8ZnVuY3Rpb24oXzB4ZDUzYzhkKXt2YXIgXzB4NDUyN2ZjPV8weDE1YTM7Zm9yKHZhciBfMHgxMzBkMTgsXzB4M2Y3ZDI4PTB4MSxfMHg0MmRhNDU9YXJndW1lbnRzW18weDQ1MjdmYygnMHg1MjAnKV07XzB4M2Y3ZDI4PF8weDQyZGE0NTtfMHgzZjdkMjgrKylmb3IodmFyIF8weDUzN2M4YiBpbiBfMHgxMzBkMTg9YXJndW1lbnRzW18weDNmN2QyOF0pT2JqZWN0W18weDQ1MjdmYygnMHg3NTYnKV1bJ2hhc093blByb3BlcnR5J11bXzB4NDUyN2ZjKCcweDVmZCcpXShfMHgxMzBkMTgsXzB4NTM3YzhiKSYmKF8weGQ1M2M4ZFtfMHg1MzdjOGJdPV8weDEzMGQxOFtfMHg1MzdjOGJdKTtyZXR1cm4gXzB4ZDUzYzhkO30sXzB4MmU0NTVlW18weDMzOTg1MCgnMHg0NDInKV0odGhpcyxhcmd1bWVudHMpO30sXzB4NWQ4NWQwPXRoaXMmJnRoaXNbJ19fYXdhaXRlciddfHxmdW5jdGlvbihfMHg1MzgyNzksXzB4NDU4ZjBmLF8weDE4MjI0ZSxfMHg0NDZhMjgpe3JldHVybiBuZXcoXzB4MTgyMjRlfHwoXzB4MTgyMjRlPVByb21pc2UpKShmdW5jdGlvbihfMHgxMTgyYjAsXzB4NDUyMGRhKXt2YXIgXzB4N2Y5OGUzPV8weDE1YTM7ZnVuY3Rpb24gXzB4Y2ZjZjI0KF8weDIwNzNlYSl7dHJ5e18weDJiNTA2NihfMHg0NDZhMjhbJ25leHQnXShfMHgyMDczZWEpKTt9Y2F0Y2goXzB4MzlhYmVmKXtfMHg0NTIwZGEoXzB4MzlhYmVmKTt9fWZ1bmN0aW9uIF8weDE4YmJlYyhfMHgxNGFlYTkpe3ZhciBfMHg0MjBjNGI9XzB4MTVhMzt0cnl7XzB4MmI1MDY2KF8weDQ0NmEyOFtfMHg0MjBjNGIoJzB4YWUzJyldKF8weDE0YWVhOSkpO31jYXRjaChfMHgxN2JiZmYpe18weDQ1MjBkYShfMHgxN2JiZmYpO319ZnVuY3Rpb24gXzB4MmI1MDY2KF8weDM0OWZlMCl7dmFyIF8weDNkNzhjZj1fMHgxNWEzLF8weDI0ODZkOTtfMHgzNDlmZTBbXzB4M2Q3OGNmKCcweGM1YycpXT9fMHgxMTgyYjAoXzB4MzQ5ZmUwW18weDNkNzhjZignMHg4OWQnKV0pOihfMHgyNDg2ZDk9XzB4MzQ5ZmUwW18weDNkNzhjZignMHg4OWQnKV0sXzB4MjQ4NmQ5IGluc3RhbmNlb2YgXzB4MTgyMjRlP18weDI0ODZkOTpuZXcgXzB4MTgyMjRlKGZ1bmN0aW9uKF8weDM3NWRjMyl7XzB4Mzc1ZGMzKF8weDI0ODZkOSk7fSkpW18weDNkNzhjZignMHhkMzQnKV0oXzB4Y2ZjZjI0LF8weDE4YmJlYyk7fV8weDJiNTA2NigoXzB4NDQ2YTI4PV8weDQ0NmEyOFsnYXBwbHknXShfMHg1MzgyNzksXzB4NDU4ZjBmfHxbXSkpW18weDdmOThlMygnMHg3NDAnKV0oKSk7fSk7fSxfMHgyMDY4NTk9dGhpcyYmdGhpc1tfMHgzNmRkYmMoJzB4NDRhJyldfHxmdW5jdGlvbihfMHgxNGJkOGIsXzB4MjdjNWY3KXt2YXIgXzB4NGNiNDg4PV8weDM2ZGRiYyxfMHgyYTZkNjMsXzB4NTM3OWFjLF8weDRkYmQ2YyxfMHgyYjBjMzksXzB4NDM5NWY4PXsnbGFiZWwnOjB4MCwnc2VudCc6ZnVuY3Rpb24oKXtpZigweDEmXzB4NGRiZDZjWzB4MF0pdGhyb3cgXzB4NGRiZDZjWzB4MV07cmV0dXJuIF8weDRkYmQ2Y1sweDFdO30sJ3RyeXMnOltdLCdvcHMnOltdfTtyZXR1cm4gXzB4MmIwYzM5PXsnbmV4dCc6XzB4M2JjM2FkKDB4MCksJ3Rocm93JzpfMHgzYmMzYWQoMHgxKSwncmV0dXJuJzpfMHgzYmMzYWQoMHgyKX0sXzB4NGNiNDg4KCcweGM3YicpPT10eXBlb2YgU3ltYm9sJiYoXzB4MmIwYzM5W1N5bWJvbFsnaXRlcmF0b3InXV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpczt9KSxfMHgyYjBjMzk7ZnVuY3Rpb24gXzB4M2JjM2FkKF8weDUyYTA4YSl7cmV0dXJuIGZ1bmN0aW9uKF8weDQ1ZTZlMCl7cmV0dXJuIGZ1bmN0aW9uKF8weDEyM2FlYyl7dmFyIF8weDIxNTAyMD1fMHgxNWEzO2lmKF8weDJhNmQ2Myl0aHJvdyBuZXcgVHlwZUVycm9yKF8weDIxNTAyMCgnMHhiODYnKSk7Zm9yKDtfMHgyYjBjMzkmJihfMHgyYjBjMzk9MHgwLF8weDEyM2FlY1sweDBdJiYoXzB4NDM5NWY4PTB4MCkpLF8weDQzOTVmODspdHJ5e2lmKF8weDJhNmQ2Mz0weDEsXzB4NTM3OWFjJiYoXzB4NGRiZDZjPTB4MiZfMHgxMjNhZWNbMHgwXT9fMHg1Mzc5YWNbJ3JldHVybiddOl8weDEyM2FlY1sweDBdP18weDUzNzlhY1tfMHgyMTUwMjAoJzB4YWUzJyldfHwoKF8weDRkYmQ2Yz1fMHg1Mzc5YWNbXzB4MjE1MDIwKCcweDZmZScpXSkmJl8weDRkYmQ2Y1tfMHgyMTUwMjAoJzB4NWZkJyldKF8weDUzNzlhYyksMHgwKTpfMHg1Mzc5YWNbXzB4MjE1MDIwKCcweDc0MCcpXSkmJiEoXzB4NGRiZDZjPV8weDRkYmQ2Y1tfMHgyMTUwMjAoJzB4NWZkJyldKF8weDUzNzlhYyxfMHgxMjNhZWNbMHgxXSkpW18weDIxNTAyMCgnMHhjNWMnKV0pcmV0dXJuIF8weDRkYmQ2Yztzd2l0Y2goXzB4NTM3OWFjPTB4MCxfMHg0ZGJkNmMmJihfMHgxMjNhZWM9WzB4MiZfMHgxMjNhZWNbMHgwXSxfMHg0ZGJkNmNbXzB4MjE1MDIwKCcweDg5ZCcpXV0pLF8weDEyM2FlY1sweDBdKXtjYXNlIDB4MDpjYXNlIDB4MTpfMHg0ZGJkNmM9XzB4MTIzYWVjO2JyZWFrO2Nhc2UgMHg0OnJldHVybiBfMHg0Mzk1ZjhbJ2xhYmVsJ10rKyx7J3ZhbHVlJzpfMHgxMjNhZWNbMHgxXSwnZG9uZSc6ITB4MX07Y2FzZSAweDU6XzB4NDM5NWY4W18weDIxNTAyMCgnMHg5NWEnKV0rKyxfMHg1Mzc5YWM9XzB4MTIzYWVjWzB4MV0sXzB4MTIzYWVjPVsweDBdO2NvbnRpbnVlO2Nhc2UgMHg3Ol8weDEyM2FlYz1fMHg0Mzk1ZjhbJ29wcyddW18weDIxNTAyMCgnMHg2ZGUnKV0oKSxfMHg0Mzk1ZjhbXzB4MjE1MDIwKCcweDlkNycpXVtfMHgyMTUwMjAoJzB4NmRlJyldKCk7Y29udGludWU7ZGVmYXVsdDppZighKChfMHg0ZGJkNmM9KF8weDRkYmQ2Yz1fMHg0Mzk1ZjhbXzB4MjE1MDIwKCcweDlkNycpXSlbJ2xlbmd0aCddPjB4MCYmXzB4NGRiZDZjW18weDRkYmQ2Y1tfMHgyMTUwMjAoJzB4NTIwJyldLTB4MV0pfHwweDYhPT1fMHgxMjNhZWNbMHgwXSYmMHgyIT09XzB4MTIzYWVjWzB4MF0pKXtfMHg0Mzk1Zjg9MHgwO2NvbnRpbnVlO31pZigweDM9PT1fMHgxMjNhZWNbMHgwXSYmKCFfMHg0ZGJkNmN8fF8weDEyM2FlY1sweDFdPl8weDRkYmQ2Y1sweDBdJiZfMHgxMjNhZWNbMHgxXTxfMHg0ZGJkNmNbMHgzXSkpe18weDQzOTVmOFtfMHgyMTUwMjAoJzB4OTVhJyldPV8weDEyM2FlY1sweDFdO2JyZWFrO31pZigweDY9PT1fMHgxMjNhZWNbMHgwXSYmXzB4NDM5NWY4W18weDIxNTAyMCgnMHg5NWEnKV08XzB4NGRiZDZjWzB4MV0pe18weDQzOTVmOFtfMHgyMTUwMjAoJzB4OTVhJyldPV8weDRkYmQ2Y1sweDFdLF8weDRkYmQ2Yz1fMHgxMjNhZWM7YnJlYWs7fWlmKF8weDRkYmQ2YyYmXzB4NDM5NWY4W18weDIxNTAyMCgnMHg5NWEnKV08XzB4NGRiZDZjWzB4Ml0pe18weDQzOTVmOFtfMHgyMTUwMjAoJzB4OTVhJyldPV8weDRkYmQ2Y1sweDJdLF8weDQzOTVmOFtfMHgyMTUwMjAoJzB4OWJmJyldWydwdXNoJ10oXzB4MTIzYWVjKTticmVhazt9XzB4NGRiZDZjWzB4Ml0mJl8weDQzOTVmOFtfMHgyMTUwMjAoJzB4OWJmJyldW18weDIxNTAyMCgnMHg2ZGUnKV0oKSxfMHg0Mzk1ZjhbXzB4MjE1MDIwKCcweDlkNycpXVtfMHgyMTUwMjAoJzB4NmRlJyldKCk7Y29udGludWU7fV8weDEyM2FlYz1fMHgyN2M1ZjdbXzB4MjE1MDIwKCcweDVmZCcpXShfMHgxNGJkOGIsXzB4NDM5NWY4KTt9Y2F0Y2goXzB4MTUxZDFkKXtfMHgxMjNhZWM9WzB4NixfMHgxNTFkMWRdLF8weDUzNzlhYz0weDA7fWZpbmFsbHl7XzB4MmE2ZDYzPV8weDRkYmQ2Yz0weDA7fWlmKDB4NSZfMHgxMjNhZWNbMHgwXSl0aHJvdyBfMHgxMjNhZWNbMHgxXTtyZXR1cm57J3ZhbHVlJzpfMHgxMjNhZWNbMHgwXT9fMHgxMjNhZWNbMHgxXTp2b2lkIDB4MCwnZG9uZSc6ITB4MH07fShbXzB4NTJhMDhhLF8weDQ1ZTZlMF0pO307fX0sXzB4M2JkYmNlPXRoaXMmJnRoaXNbXzB4MzZkZGJjKCcweDlkNicpXXx8ZnVuY3Rpb24oXzB4M2Q3MjZiLF8weDM5YzdkZil7dmFyIF8weDUzYmE0Yz1fMHgzNmRkYmMsXzB4MzNhODhiPV8weDUzYmE0YygnMHhjN2InKT09dHlwZW9mIFN5bWJvbCYmXzB4M2Q3MjZiW1N5bWJvbFtfMHg1M2JhNGMoJzB4NzZjJyldXTtpZighXzB4MzNhODhiKXJldHVybiBfMHgzZDcyNmI7dmFyIF8weDNlOTg1ZixfMHg0NTYyOGIsXzB4MjU1N2FhPV8weDMzYTg4YlsnY2FsbCddKF8weDNkNzI2YiksXzB4NTNhM2RkPVtdO3RyeXtmb3IoOyh2b2lkIDB4MD09PV8weDM5YzdkZnx8XzB4MzljN2RmLS0+MHgwKSYmIShfMHgzZTk4NWY9XzB4MjU1N2FhW18weDUzYmE0YygnMHg3NDAnKV0oKSlbXzB4NTNiYTRjKCcweGM1YycpXTspXzB4NTNhM2RkW18weDUzYmE0YygnMHg4YjcnKV0oXzB4M2U5ODVmWyd2YWx1ZSddKTt9Y2F0Y2goXzB4MzEzZmYxKXtfMHg0NTYyOGI9eydlcnJvcic6XzB4MzEzZmYxfTt9ZmluYWxseXt0cnl7XzB4M2U5ODVmJiYhXzB4M2U5ODVmW18weDUzYmE0YygnMHhjNWMnKV0mJihfMHgzM2E4OGI9XzB4MjU1N2FhWydyZXR1cm4nXSkmJl8weDMzYTg4YlsnY2FsbCddKF8weDI1NTdhYSk7fWZpbmFsbHl7aWYoXzB4NDU2MjhiKXRocm93IF8weDQ1NjI4YltfMHg1M2JhNGMoJzB4YzllJyldO319cmV0dXJuIF8weDUzYTNkZDt9LF8weDU2YzhkOT10aGlzJiZ0aGlzW18weDM2ZGRiYygnMHhhYjgnKV18fGZ1bmN0aW9uKF8weDJiMjc5OSxfMHgzMDM2MTEsXzB4NDg0MDlhKXt2YXIgXzB4M2MwN2EyPV8weDM2ZGRiYztpZihfMHg0ODQwOWF8fDB4Mj09PWFyZ3VtZW50c1snbGVuZ3RoJ10pe2Zvcih2YXIgXzB4MWM1NTMyLF8weGEzYTg5ZT0weDAsXzB4NGRmYzg2PV8weDMwMzYxMVtfMHgzYzA3YTIoJzB4NTIwJyldO18weGEzYTg5ZTxfMHg0ZGZjODY7XzB4YTNhODllKyspIV8weDFjNTUzMiYmXzB4YTNhODllIGluIF8weDMwMzYxMXx8KF8weDFjNTUzMnx8KF8weDFjNTUzMj1BcnJheVtfMHgzYzA3YTIoJzB4NzU2JyldWydzbGljZSddW18weDNjMDdhMignMHg1ZmQnKV0oXzB4MzAzNjExLDB4MCxfMHhhM2E4OWUpKSxfMHgxYzU1MzJbXzB4YTNhODllXT1fMHgzMDM2MTFbXzB4YTNhODllXSk7fXJldHVybiBfMHgyYjI3OTlbXzB4M2MwN2EyKCcweDUzMCcpXShfMHgxYzU1MzJ8fEFycmF5Wydwcm90b3R5cGUnXVsnc2xpY2UnXVsnY2FsbCddKF8weDMwMzYxMSkpO307T2JqZWN0W18weDM2ZGRiYygnMHgyYjQnKV0oXzB4MjM2MDAxLF8weDM2ZGRiYygnMHhjZDInKSx7J3ZhbHVlJzohMHgwfSksXzB4MjM2MDAxWydnZXRUYWdGcm9tRG9tYWluJ109XzB4MjM2MDAxW18weDM2ZGRiYygnMHg5ODQnKV09XzB4MjM2MDAxWydleGVjdXRlQWxsQWN0aW9ucyddPXZvaWQgMHgwO3ZhciBfMHg1ZGE2NWQ9XzB4MTMxNWVlKDB4MThlMyk7XzB4MjM2MDAxW18weDM2ZGRiYygnMHg3M2UnKV09ZnVuY3Rpb24oXzB4Mzc3NzhiKXtyZXR1cm4gXzB4NWQ4NWQwKHZvaWQgMHgwLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKCl7dmFyIF8weDI0NjM2MyxfMHgxZmU3MWMsXzB4Mjk2M2I0O3JldHVybiBfMHgyMDY4NTkodGhpcyxmdW5jdGlvbihfMHg0MmY3ZSl7dmFyIF8weDVkNWIxZT1fMHgxNWEzO3N3aXRjaChfMHg0MmY3ZVtfMHg1ZDViMWUoJzB4OTVhJyldKXtjYXNlIDB4MDpfMHgyNDYzNjM9MHgwLF8weDQyZjdlWydsYWJlbCddPTB4MTtjYXNlIDB4MTpyZXR1cm4gXzB4MjQ2MzYzPF8weDM3Nzc4YltfMHg1ZDViMWUoJzB4NTIwJyldLTB4MT9fMHg1ZDViMWUoJzB4YmI0JykhPT0oXzB4MWZlNzFjPV8weDM3Nzc4YltfMHgyNDYzNjNdKVtfMHg1ZDViMWUoJzB4NTdjJyldP1sweDMsMHg0XTpbMHg0LF8weDFmZTcxY1sndHJhbnNhY3Rpb25NZXRob2RzJ11bXzB4NWQ1YjFlKCcweDJiNycpXSgpXTpbMHgzLDB4NV07Y2FzZSAweDI6cmV0dXJuWzB4NCxfMHg0MmY3ZVtfMHg1ZDViMWUoJzB4OTE0JyldKClbXzB4NWQ1YjFlKCcweDk2NycpXSgpXTtjYXNlIDB4MzpfMHg0MmY3ZVtfMHg1ZDViMWUoJzB4OTE0JyldKCksXzB4NDJmN2VbXzB4NWQ1YjFlKCcweDk1YScpXT0weDQ7Y2FzZSAweDQ6cmV0dXJuIF8weDI0NjM2MysrLFsweDMsMHgxXTtjYXNlIDB4NTpzd2l0Y2goKF8weDI5NjNiND1fMHgzNzc3OGJbXzB4Mzc3NzhiW18weDVkNWIxZSgnMHg1MjAnKV0tMHgxXSlbXzB4NWQ1YjFlKCcweDU3YycpXSl7Y2FzZSBfMHg1ZDViMWUoJzB4N2UxJyk6cmV0dXJuWzB4MixfMHgyOTYzYjRbXzB4NWQ1YjFlKCcweDViNScpXSgpXTtjYXNlIF8weDVkNWIxZSgnMHg5NGEnKTpyZXR1cm5bMHgyLF8weDI5NjNiNFtfMHg1ZDViMWUoJzB4YzZjJyldKCldO2RlZmF1bHQ6cmV0dXJuWzB4MixfMHgyOTYzYjRbXzB4NWQ1YjFlKCcweDhhNScpXVtfMHg1ZDViMWUoJzB4MmI3JyldKCldO31yZXR1cm5bMHgyXTt9fSk7fSk7fSxfMHgyMzYwMDFbJ2dldFRyYW5zYWN0aW9uTWV0aG9kcyddPWZ1bmN0aW9uKF8weDExNzdlNixfMHg0OWQ0NzYsXzB4MTRmYjRmLF8weDQ5ZGNjMSl7dmFyIF8weDU2NDE0Yj1fMHgzNmRkYmM7dm9pZCAweDA9PT1fMHg0OWRjYzEmJihfMHg0OWRjYzE9JycpO3ZhciBfMHg1ZTE0ZTQsXzB4NWU2NGE1LF8weDJlYjBmOSxfMHgxNGVkMmM9XzB4MTRmYjRmW18weDE0ZmI0ZlsnbGVuZ3RoJ10tMHgxXTtfMHgyZWIwZjk9WydnYXNMaW1pdCcsXzB4NTY0MTRiKCcweDg4MicpLF8weDU2NDE0YignMHg5NzYnKSwnbWF4UHJpb3JpdHlGZWVQZXJHYXMnLF8weDU2NDE0YignMHg0YWQnKSwndHlwZScsXzB4NTY0MTRiKCcweDVkNScpLF8weDU2NDE0YignMHhjYTcnKSxfMHg1NjQxNGIoJzB4NTE5JyksXzB4NTY0MTRiKCcweDg5ZCcpLCdibG9ja1RhZycsXzB4NTY0MTRiKCcweDc0YScpXSwodm9pZCAweDA9PT0oXzB4NWU2NGE1PV8weDE0ZWQyYyl8fE9iamVjdFtfMHg1NjQxNGIoJzB4NjM2JyldKF8weDVlNjRhNSlbXzB4NTY0MTRiKCcweDdiYScpXShmdW5jdGlvbihfMHgyYThiMmYpe3JldHVybiBfMHgyZWIwZjlbJ2luY2x1ZGVzJ10oXzB4MmE4YjJmKTt9KSkmJihfMHg1ZTE0ZTQ9XzB4MTRlZDJjLF8weDE0ZmI0ZltfMHg1NjQxNGIoJzB4NmRlJyldKCkpO3ZhciBfMHg0MGMxYjA9ZnVuY3Rpb24oXzB4NDc4MGQ5KXtyZXR1cm4gXzB4NWQ4NWQwKHZvaWQgMHgwLHZvaWQgMHgwLHZvaWQgMHgwLGZ1bmN0aW9uKCl7dmFyIF8weDgyMmZjMCxfMHgxMjdmZTIsXzB4NTQyMDU2LF8weDVmNTFlMDtyZXR1cm4gXzB4MjA2ODU5KHRoaXMsZnVuY3Rpb24oXzB4MTVjYzNhKXt2YXIgXzB4NGZiODZlPV8weDE1YTM7c3dpdGNoKF8weDE1Y2MzYVtfMHg0ZmI4NmUoJzB4OTVhJyldKXtjYXNlIDB4MDpyZXR1cm4gXzB4ODIyZmMwPV8weDJlNDU1ZShfMHgyZTQ1NWUoe30sXzB4NWUxNGU0KSxfMHg0NzgwZDkpLFsweDQsKF8weDVmNTFlMD1fMHgxMTc3ZTZbXzB4NGZiODZlKCcweDJlYScpXSlbXzB4NDlkNDc2XVtfMHg0ZmI4NmUoJzB4NDQyJyldKF8weDVmNTFlMCxfMHg1NmM4ZDkoW10sXzB4M2JkYmNlKF8weDU2YzhkOShfMHg1NmM4ZDkoW10sXzB4M2JkYmNlKF8weDE0ZmI0ZiksITB4MSksW18weDgyMmZjMF0sITB4MSkpLCEweDEpKV07Y2FzZSAweDE6cmV0dXJuIF8weDEyN2ZlMj1fMHgxNWNjM2FbJ3NlbnQnXSgpLF8weDU0MjA1Nj0oMHgwLF8weDIzNjAwMVsnZ2V0VGFnRnJvbURvbWFpbiddKShfMHg0OWRjYzEpLF8weDEyN2ZlMltfMHg0ZmI4NmUoJzB4YTU4JyldPV8weDEyN2ZlMltfMHg0ZmI4NmUoJzB4YTU4JyldK18weDU0MjA1NixbMHgyLF8weDEyN2ZlMl07fX0pO30pO307cmV0dXJueydjYWxsU3RhdGljJzpmdW5jdGlvbihfMHgyM2EzM2Upe3ZhciBfMHgzNGZkMGM9XzB4NTY0MTRiLF8weDU1NTE3OSxfMHg0NWRhZTc9XzB4MmU0NTVlKF8weDJlNDU1ZSh7fSxfMHg1ZTE0ZTQpLF8weDIzYTMzZSk7cmV0dXJuKF8weDU1NTE3OT1fMHgxMTc3ZTZbXzB4MzRmZDBjKCcweDhhZicpXSlbXzB4NDlkNDc2XVsnYXBwbHknXShfMHg1NTUxNzksXzB4NTZjOGQ5KFtdLF8weDNiZGJjZShfMHg1NmM4ZDkoXzB4NTZjOGQ5KFtdLF8weDNiZGJjZShfMHgxNGZiNGYpLCEweDEpLFtfMHg0NWRhZTddLCEweDEpKSwhMHgxKSk7fSwnZXN0aW1hdGVHYXMnOmZ1bmN0aW9uKF8weDJjOTMyZSl7dmFyIF8weDQ2MzFlZT1fMHg1NjQxNGIsXzB4NWI0MzBiLF8weDU2YzY3Zj1fMHgyZTQ1NWUoXzB4MmU0NTVlKHt9LF8weDVlMTRlNCksXzB4MmM5MzJlKTtyZXR1cm4oXzB4NWI0MzBiPV8weDExNzdlNltfMHg0NjMxZWUoJzB4MWEzJyldKVtfMHg0OWQ0NzZdW18weDQ2MzFlZSgnMHg0NDInKV0oXzB4NWI0MzBiLF8weDU2YzhkOShbXSxfMHgzYmRiY2UoXzB4NTZjOGQ5KF8weDU2YzhkOShbXSxfMHgzYmRiY2UoXzB4MTRmYjRmKSwhMHgxKSxbXzB4NTZjNjdmXSwhMHgxKSksITB4MSkpO30sJ3RyYW5zYWN0JzpmdW5jdGlvbihfMHhhOGQwYzYpe3JldHVybiBfMHg1ZDg1ZDAodm9pZCAweDAsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24oKXt2YXIgXzB4MzZjOGE2LF8weDQ3MjY1NDtyZXR1cm4gXzB4MjA2ODU5KHRoaXMsZnVuY3Rpb24oXzB4NDlhYTg1KXt2YXIgXzB4NTIyMWEyPV8weDE1YTM7c3dpdGNoKF8weDQ5YWE4NVtfMHg1MjIxYTIoJzB4OTVhJyldKXtjYXNlIDB4MDpyZXR1cm4gXzB4MzZjOGE2PV8weDJlNDU1ZShfMHgyZTQ1NWUoe30sXzB4NWUxNGU0KSxfMHhhOGQwYzYpLFsweDQsXzB4NDBjMWIwKF8weDM2YzhhNildO2Nhc2UgMHgxOnJldHVybiBfMHg0NzI2NTQ9XzB4NDlhYTg1W18weDUyMjFhMignMHg5MTQnKV0oKSxbMHgyLF8weDExNzdlNltfMHg1MjIxYTIoJzB4YTcxJyldWydzZW5kVHJhbnNhY3Rpb24nXShfMHg0NzI2NTQpXTt9fSk7fSk7fSwnYnVpbGRUcmFuc2FjdGlvbic6XzB4NDBjMWIwfTt9LF8weDIzNjAwMVtfMHgzNmRkYmMoJzB4NTgxJyldPWZ1bmN0aW9uKF8weDJjY2QyNyl7dmFyIF8weDE2NmY5OT1fMHgzNmRkYmM7cmV0dXJuKDB4MCxfMHg1ZGE2NWRbXzB4MTY2Zjk5KCcweDU2MicpXSkoKDB4MCxfMHg1ZGE2NWRbXzB4MTY2Zjk5KCcweGFmYicpXSkoXzB4MmNjZDI3KSlbXzB4MTY2Zjk5KCcweGFkYScpXSgweDIsMHhhKTt9O30sMHgyNjBlOihfMHg0NjNjYWUsXzB4ZDc4YTcwKT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4MjFjZmE2PV8weDE1YTM7XzB4ZDc4YTcwW18weDIxY2ZhNignMHgyMWInKV09ZnVuY3Rpb24oXzB4NTZlY2Q1KXt2YXIgXzB4NWJkOTY1PV8weDU1ODIzZShfMHg1NmVjZDUpLF8weDE2YWJkOT1fMHg1YmQ5NjVbMHgwXSxfMHhmYTY3NzQ9XzB4NWJkOTY1WzB4MV07cmV0dXJuIDB4MyooXzB4MTZhYmQ5K18weGZhNjc3NCkvMHg0LV8weGZhNjc3NDt9LF8weGQ3OGE3MFtfMHgyMWNmYTYoJzB4NWI5JyldPWZ1bmN0aW9uKF8weDE3YWRmZCl7dmFyIF8weDJkNmQwMj1fMHgyMWNmYTYsXzB4NGQyM2M4LF8weGE1NWEzYSxfMHgxYjllNmQ9XzB4NTU4MjNlKF8weDE3YWRmZCksXzB4NDI1ODMxPV8weDFiOWU2ZFsweDBdLF8weDJhYjEwMz1fMHgxYjllNmRbMHgxXSxfMHgyMmU0OTc9bmV3IF8weDVkMmMyNyhmdW5jdGlvbihfMHgxZTBkYzEsXzB4ODg0OWZiLF8weDNlNjZjMCl7cmV0dXJuIDB4MyooXzB4ODg0OWZiK18weDNlNjZjMCkvMHg0LV8weDNlNjZjMDt9KDB4MCxfMHg0MjU4MzEsXzB4MmFiMTAzKSksXzB4MzFiYzZlPTB4MCxfMHg0OTNiMDc9XzB4MmFiMTAzPjB4MD9fMHg0MjU4MzEtMHg0Ol8weDQyNTgzMTtmb3IoXzB4YTU1YTNhPTB4MDtfMHhhNTVhM2E8XzB4NDkzYjA3O18weGE1NWEzYSs9MHg0KV8weDRkMjNjOD1fMHgzYTNhYjVbXzB4MTdhZGZkW18weDJkNmQwMignMHhhNTUnKV0oXzB4YTU1YTNhKV08PDB4MTJ8XzB4M2EzYWI1W18weDE3YWRmZFtfMHgyZDZkMDIoJzB4YTU1JyldKF8weGE1NWEzYSsweDEpXTw8MHhjfF8weDNhM2FiNVtfMHgxN2FkZmRbXzB4MmQ2ZDAyKCcweGE1NScpXShfMHhhNTVhM2ErMHgyKV08PDB4NnxfMHgzYTNhYjVbXzB4MTdhZGZkWydjaGFyQ29kZUF0J10oXzB4YTU1YTNhKzB4MyldLF8weDIyZTQ5N1tfMHgzMWJjNmUrK109XzB4NGQyM2M4Pj4weDEwJjB4ZmYsXzB4MjJlNDk3W18weDMxYmM2ZSsrXT1fMHg0ZDIzYzg+PjB4OCYweGZmLF8weDIyZTQ5N1tfMHgzMWJjNmUrK109MHhmZiZfMHg0ZDIzYzg7cmV0dXJuIDB4Mj09PV8weDJhYjEwMyYmKF8weDRkMjNjOD1fMHgzYTNhYjVbXzB4MTdhZGZkW18weDJkNmQwMignMHhhNTUnKV0oXzB4YTU1YTNhKV08PDB4MnxfMHgzYTNhYjVbXzB4MTdhZGZkW18weDJkNmQwMignMHhhNTUnKV0oXzB4YTU1YTNhKzB4MSldPj4weDQsXzB4MjJlNDk3W18weDMxYmM2ZSsrXT0weGZmJl8weDRkMjNjOCksMHgxPT09XzB4MmFiMTAzJiYoXzB4NGQyM2M4PV8weDNhM2FiNVtfMHgxN2FkZmRbXzB4MmQ2ZDAyKCcweGE1NScpXShfMHhhNTVhM2EpXTw8MHhhfF8weDNhM2FiNVtfMHgxN2FkZmRbXzB4MmQ2ZDAyKCcweGE1NScpXShfMHhhNTVhM2ErMHgxKV08PDB4NHxfMHgzYTNhYjVbXzB4MTdhZGZkW18weDJkNmQwMignMHhhNTUnKV0oXzB4YTU1YTNhKzB4MildPj4weDIsXzB4MjJlNDk3W18weDMxYmM2ZSsrXT1fMHg0ZDIzYzg+PjB4OCYweGZmLF8weDIyZTQ5N1tfMHgzMWJjNmUrK109MHhmZiZfMHg0ZDIzYzgpLF8weDIyZTQ5Nzt9LF8weGQ3OGE3MFtfMHgyMWNmYTYoJzB4NGYyJyldPWZ1bmN0aW9uKF8weDRkZjFmZSl7dmFyIF8weDViNTNiYT1fMHgyMWNmYTY7Zm9yKHZhciBfMHgxOWEzMGIsXzB4YTYyMjM0PV8weDRkZjFmZVtfMHg1YjUzYmEoJzB4NTIwJyldLF8weDI0Y2FkMT1fMHhhNjIyMzQlMHgzLF8weDQ0MDg2Nj1bXSxfMHgyMWZkZDc9MHgzZmZmLF8weDNjYzUxOD0weDAsXzB4MzIzNzgwPV8weGE2MjIzNC1fMHgyNGNhZDE7XzB4M2NjNTE4PF8weDMyMzc4MDtfMHgzY2M1MTgrPV8weDIxZmRkNylfMHg0NDA4NjZbXzB4NWI1M2JhKCcweDhiNycpXShfMHgyYTExN2UoXzB4NGRmMWZlLF8weDNjYzUxOCxfMHgzY2M1MTgrXzB4MjFmZGQ3Pl8weDMyMzc4MD9fMHgzMjM3ODA6XzB4M2NjNTE4K18weDIxZmRkNykpO3JldHVybiAweDE9PT1fMHgyNGNhZDE/KF8weDE5YTMwYj1fMHg0ZGYxZmVbXzB4YTYyMjM0LTB4MV0sXzB4NDQwODY2WydwdXNoJ10oXzB4MjU2N2ExW18weDE5YTMwYj4+MHgyXStfMHgyNTY3YTFbXzB4MTlhMzBiPDwweDQmMHgzZl0rJz09JykpOjB4Mj09PV8weDI0Y2FkMSYmKF8weDE5YTMwYj0oXzB4NGRmMWZlW18weGE2MjIzNC0weDJdPDwweDgpK18weDRkZjFmZVtfMHhhNjIyMzQtMHgxXSxfMHg0NDA4NjZbXzB4NWI1M2JhKCcweDhiNycpXShfMHgyNTY3YTFbXzB4MTlhMzBiPj4weGFdK18weDI1NjdhMVtfMHgxOWEzMGI+PjB4NCYweDNmXStfMHgyNTY3YTFbXzB4MTlhMzBiPDwweDImMHgzZl0rJz0nKSksXzB4NDQwODY2W18weDViNTNiYSgnMHhhYTcnKV0oJycpO307Zm9yKHZhciBfMHgyNTY3YTE9W10sXzB4M2EzYWI1PVtdLF8weDVkMmMyNz1fMHgyMWNmYTYoJzB4YTdiJykhPXR5cGVvZiBVaW50OEFycmF5P1VpbnQ4QXJyYXk6QXJyYXksXzB4NGQ4ZWNmPV8weDIxY2ZhNignMHhkMTInKSxfMHgxZjI2NDM9MHgwO18weDFmMjY0MzwweDQwOysrXzB4MWYyNjQzKV8weDI1NjdhMVtfMHgxZjI2NDNdPV8weDRkOGVjZltfMHgxZjI2NDNdLF8weDNhM2FiNVtfMHg0ZDhlY2ZbJ2NoYXJDb2RlQXQnXShfMHgxZjI2NDMpXT1fMHgxZjI2NDM7ZnVuY3Rpb24gXzB4NTU4MjNlKF8weDJhZmZhYil7dmFyIF8weDRhOTY1Yj1fMHgyMWNmYTYsXzB4MjgwNzVlPV8weDJhZmZhYltfMHg0YTk2NWIoJzB4NTIwJyldO2lmKF8weDI4MDc1ZSUweDQ+MHgwKXRocm93IG5ldyBFcnJvcihfMHg0YTk2NWIoJzB4Nzg2JykpO3ZhciBfMHhmYjI3NDM9XzB4MmFmZmFiWydpbmRleE9mJ10oJz0nKTtyZXR1cm4tMHgxPT09XzB4ZmIyNzQzJiYoXzB4ZmIyNzQzPV8weDI4MDc1ZSksW18weGZiMjc0MyxfMHhmYjI3NDM9PT1fMHgyODA3NWU/MHgwOjB4NC1fMHhmYjI3NDMlMHg0XTt9ZnVuY3Rpb24gXzB4MmExMTdlKF8weDQ5NTBkYSxfMHg1MzNjMWYsXzB4MjY3YzJiKXt2YXIgXzB4NGJjNjkwPV8weDIxY2ZhNjtmb3IodmFyIF8weGNhYThhYixfMHgyZjgwYzAsXzB4M2RkM2ZhPVtdLF8weDJhZDNhMD1fMHg1MzNjMWY7XzB4MmFkM2EwPF8weDI2N2MyYjtfMHgyYWQzYTArPTB4MylfMHhjYWE4YWI9KF8weDQ5NTBkYVtfMHgyYWQzYTBdPDwweDEwJjB4ZmYwMDAwKSsoXzB4NDk1MGRhW18weDJhZDNhMCsweDFdPDwweDgmMHhmZjAwKSsoMHhmZiZfMHg0OTUwZGFbXzB4MmFkM2EwKzB4Ml0pLF8weDNkZDNmYVtfMHg0YmM2OTAoJzB4OGI3JyldKF8weDI1NjdhMVsoXzB4MmY4MGMwPV8weGNhYThhYik+PjB4MTImMHgzZl0rXzB4MjU2N2ExW18weDJmODBjMD4+MHhjJjB4M2ZdK18weDI1NjdhMVtfMHgyZjgwYzA+PjB4NiYweDNmXStfMHgyNTY3YTFbMHgzZiZfMHgyZjgwYzBdKTtyZXR1cm4gXzB4M2RkM2ZhW18weDRiYzY5MCgnMHhhYTcnKV0oJycpO31fMHgzYTNhYjVbJy0nW18weDIxY2ZhNignMHhhNTUnKV0oMHgwKV09MHgzZSxfMHgzYTNhYjVbJ18nW18weDIxY2ZhNignMHhhNTUnKV0oMHgwKV09MHgzZjt9LDB4YjQyOl8weDI0YjRlYT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4MjM5ZmVlPV8weDE1YTM7Zm9yKHZhciBfMHg1ODcxZTc9XzB4MjM5ZmVlKCcweDc0YicpLF8weDVkNzRmZT17fSxfMHgxYjUzYjY9MHgwO18weDFiNTNiNjwweDIwO18weDFiNTNiNisrKXt2YXIgXzB4NTlkOWE3PV8weDU4NzFlN1tfMHgyMzlmZWUoJzB4NDI2JyldKF8weDFiNTNiNik7aWYodm9pZCAweDAhPT1fMHg1ZDc0ZmVbXzB4NTlkOWE3XSl0aHJvdyBuZXcgVHlwZUVycm9yKF8weDU5ZDlhNytfMHgyMzlmZWUoJzB4NmEwJykpO18weDVkNzRmZVtfMHg1OWQ5YTddPV8weDFiNTNiNjt9ZnVuY3Rpb24gXzB4NWFkNGU1KF8weDdlNzJjYyl7dmFyIF8weDIxOTc0ZT1fMHg3ZTcyY2M+PjB4MTk7cmV0dXJuKDB4MWZmZmZmZiZfMHg3ZTcyY2MpPDwweDVeMHgzYjZhNTdiMiYtKF8weDIxOTc0ZT4+MHgwJjB4MSleMHgyNjUwOGU2ZCYtKF8weDIxOTc0ZT4+MHgxJjB4MSleMHgxZWExMTlmYSYtKF8weDIxOTc0ZT4+MHgyJjB4MSleMHgzZDQyMzNkZCYtKF8weDIxOTc0ZT4+MHgzJjB4MSleMHgyYTE0NjJiMyYtKF8weDIxOTc0ZT4+MHg0JjB4MSk7fWZ1bmN0aW9uIF8weDUzNTE0NihfMHgyMGEzM2Ype3ZhciBfMHg0MTZjMzc9XzB4MjM5ZmVlO2Zvcih2YXIgXzB4MjE0Y2Q3PTB4MSxfMHgxNjE5Yjc9MHgwO18weDE2MTliNzxfMHgyMGEzM2ZbXzB4NDE2YzM3KCcweDUyMCcpXTsrK18weDE2MTliNyl7dmFyIF8weDEyNTkwND1fMHgyMGEzM2ZbXzB4NDE2YzM3KCcweGE1NScpXShfMHgxNjE5YjcpO2lmKF8weDEyNTkwNDwweDIxfHxfMHgxMjU5MDQ+MHg3ZSlyZXR1cm4gXzB4NDE2YzM3KCcweGI4ZicpK18weDIwYTMzZisnKSc7XzB4MjE0Y2Q3PV8weDVhZDRlNShfMHgyMTRjZDcpXl8weDEyNTkwND4+MHg1O31mb3IoXzB4MjE0Y2Q3PV8weDVhZDRlNShfMHgyMTRjZDcpLF8weDE2MTliNz0weDA7XzB4MTYxOWI3PF8weDIwYTMzZlsnbGVuZ3RoJ107KytfMHgxNjE5Yjcpe3ZhciBfMHg3OGI1MD1fMHgyMGEzM2ZbXzB4NDE2YzM3KCcweGE1NScpXShfMHgxNjE5YjcpO18weDIxNGNkNz1fMHg1YWQ0ZTUoXzB4MjE0Y2Q3KV4weDFmJl8weDc4YjUwO31yZXR1cm4gXzB4MjE0Y2Q3O31mdW5jdGlvbiBfMHg3ZDBkMTUoXzB4NTlmZmE5LF8weDNiMWVhKXt2YXIgXzB4NWEyYzMyPV8weDIzOWZlZTtpZihfMHgzYjFlYT1fMHgzYjFlYXx8MHg1YSxfMHg1OWZmYTlbXzB4NWEyYzMyKCcweDUyMCcpXTwweDgpcmV0dXJuIF8weDU5ZmZhOStfMHg1YTJjMzIoJzB4YWVkJyk7aWYoXzB4NTlmZmE5W18weDVhMmMzMignMHg1MjAnKV0+XzB4M2IxZWEpcmV0dXJuIF8weDVhMmMzMignMHg5YjUnKTt2YXIgXzB4MjNhMTY1PV8weDU5ZmZhOVtfMHg1YTJjMzIoJzB4ODcwJyldKCksXzB4MTg0ZmVlPV8weDU5ZmZhOVtfMHg1YTJjMzIoJzB4OWU1JyldKCk7aWYoXzB4NTlmZmE5IT09XzB4MjNhMTY1JiZfMHg1OWZmYTkhPT1fMHgxODRmZWUpcmV0dXJuIF8weDVhMmMzMignMHg5YjEnKStfMHg1OWZmYTk7dmFyIF8weGI4Yzc4YT0oXzB4NTlmZmE5PV8weDIzYTE2NSlbXzB4NWEyYzMyKCcweDU5YycpXSgnMScpO2lmKC0weDE9PT1fMHhiOGM3OGEpcmV0dXJuIF8weDVhMmMzMignMHgzODgnKStfMHg1OWZmYTk7aWYoMHgwPT09XzB4YjhjNzhhKXJldHVybiBfMHg1YTJjMzIoJzB4OWQ5JykrXzB4NTlmZmE5O3ZhciBfMHgxZDRlYWI9XzB4NTlmZmE5W18weDVhMmMzMignMHhhZGEnKV0oMHgwLF8weGI4Yzc4YSksXzB4MTU3YzA0PV8weDU5ZmZhOVsnc2xpY2UnXShfMHhiOGM3OGErMHgxKTtpZihfMHgxNTdjMDRbJ2xlbmd0aCddPDB4NilyZXR1cm4nRGF0YVx4MjB0b29ceDIwc2hvcnQnO3ZhciBfMHhiMjQyNzY9XzB4NTM1MTQ2KF8weDFkNGVhYik7aWYoXzB4NWEyYzMyKCcweDY1ZicpPT10eXBlb2YgXzB4YjI0Mjc2KXJldHVybiBfMHhiMjQyNzY7Zm9yKHZhciBfMHg1ZjRhMmI9W10sXzB4MmMyZWQ0PTB4MDtfMHgyYzJlZDQ8XzB4MTU3YzA0W18weDVhMmMzMignMHg1MjAnKV07KytfMHgyYzJlZDQpe3ZhciBfMHg0ZGJlNjY9XzB4MTU3YzA0W18weDVhMmMzMignMHg0MjYnKV0oXzB4MmMyZWQ0KSxfMHgzM2E4ODE9XzB4NWQ3NGZlW18weDRkYmU2Nl07aWYodm9pZCAweDA9PT1fMHgzM2E4ODEpcmV0dXJuIF8weDVhMmMzMignMHg3ODgnKStfMHg0ZGJlNjY7XzB4YjI0Mjc2PV8weDVhZDRlNShfMHhiMjQyNzYpXl8weDMzYTg4MSxfMHgyYzJlZDQrMHg2Pj1fMHgxNTdjMDRbJ2xlbmd0aCddfHxfMHg1ZjRhMmJbXzB4NWEyYzMyKCcweDhiNycpXShfMHgzM2E4ODEpO31yZXR1cm4gMHgxIT09XzB4YjI0Mjc2PydJbnZhbGlkXHgyMGNoZWNrc3VtXHgyMGZvclx4MjAnK18weDU5ZmZhOTp7J3ByZWZpeCc6XzB4MWQ0ZWFiLCd3b3Jkcyc6XzB4NWY0YTJifTt9ZnVuY3Rpb24gXzB4NDY5MWMyKF8weDExMzEyZixfMHhhZGJiNjAsXzB4NDAwNGQ5LF8weDMzOTA0ZCl7dmFyIF8weDE3M2UyOT1fMHgyMzlmZWU7Zm9yKHZhciBfMHgxN2VkOTQ9MHgwLF8weGYzMDg5OT0weDAsXzB4M2MxNGFiPSgweDE8PF8weDQwMDRkOSktMHgxLF8weGYyMzMzMT1bXSxfMHg0NDRjNzY9MHgwO18weDQ0NGM3NjxfMHgxMTMxMmZbJ2xlbmd0aCddOysrXzB4NDQ0Yzc2KWZvcihfMHgxN2VkOTQ9XzB4MTdlZDk0PDxfMHhhZGJiNjB8XzB4MTEzMTJmW18weDQ0NGM3Nl0sXzB4ZjMwODk5Kz1fMHhhZGJiNjA7XzB4ZjMwODk5Pj1fMHg0MDA0ZDk7KV8weGYzMDg5OS09XzB4NDAwNGQ5LF8weGYyMzMzMVtfMHgxNzNlMjkoJzB4OGI3JyldKF8weDE3ZWQ5ND4+XzB4ZjMwODk5Jl8weDNjMTRhYik7aWYoXzB4MzM5MDRkKV8weGYzMDg5OT4weDAmJl8weGYyMzMzMVtfMHgxNzNlMjkoJzB4OGI3JyldKF8weDE3ZWQ5NDw8XzB4NDAwNGQ5LV8weGYzMDg5OSZfMHgzYzE0YWIpO2Vsc2V7aWYoXzB4ZjMwODk5Pj1fMHhhZGJiNjApcmV0dXJuIF8weDE3M2UyOSgnMHg2ODMnKTtpZihfMHgxN2VkOTQ8PF8weDQwMDRkOS1fMHhmMzA4OTkmXzB4M2MxNGFiKXJldHVybidOb24temVyb1x4MjBwYWRkaW5nJzt9cmV0dXJuIF8weGYyMzMzMTt9XzB4MjRiNGVhWydleHBvcnRzJ109eydkZWNvZGVVbnNhZmUnOmZ1bmN0aW9uKCl7dmFyIF8weDFjYWRkYj1fMHgyMzlmZWUsXzB4M2Q2ZWE4PV8weDdkMGQxNVtfMHgxY2FkZGIoJzB4NDQyJyldKG51bGwsYXJndW1lbnRzKTtpZihfMHgxY2FkZGIoJzB4MzZiJyk9PXR5cGVvZiBfMHgzZDZlYTgpcmV0dXJuIF8weDNkNmVhODt9LCdkZWNvZGUnOmZ1bmN0aW9uKF8weDQ5NjU1MSl7dmFyIF8weDMxOWFjZT1fMHgyMzlmZWUsXzB4MWZkZjYwPV8weDdkMGQxNVtfMHgzMTlhY2UoJzB4NDQyJyldKG51bGwsYXJndW1lbnRzKTtpZihfMHgzMTlhY2UoJzB4MzZiJyk9PXR5cGVvZiBfMHgxZmRmNjApcmV0dXJuIF8weDFmZGY2MDt0aHJvdyBuZXcgRXJyb3IoXzB4MWZkZjYwKTt9LCdlbmNvZGUnOmZ1bmN0aW9uKF8weDVlMmU3ZSxfMHgxMTU5YzQsXzB4MzU5ZGEyKXt2YXIgXzB4NGNmZmIzPV8weDIzOWZlZTtpZihfMHgzNTlkYTI9XzB4MzU5ZGEyfHwweDVhLF8weDVlMmU3ZVtfMHg0Y2ZmYjMoJzB4NTIwJyldKzB4NytfMHgxMTU5YzRbJ2xlbmd0aCddPl8weDM1OWRhMil0aHJvdyBuZXcgVHlwZUVycm9yKCdFeGNlZWRzXHgyMGxlbmd0aFx4MjBsaW1pdCcpO3ZhciBfMHgyMjJlMzY9XzB4NTM1MTQ2KF8weDVlMmU3ZT1fMHg1ZTJlN2VbXzB4NGNmZmIzKCcweDg3MCcpXSgpKTtpZignc3RyaW5nJz09dHlwZW9mIF8weDIyMmUzNil0aHJvdyBuZXcgRXJyb3IoXzB4MjIyZTM2KTtmb3IodmFyIF8weDQwMDQ3ZT1fMHg1ZTJlN2UrJzEnLF8weDVlZTI0Nj0weDA7XzB4NWVlMjQ2PF8weDExNTljNFtfMHg0Y2ZmYjMoJzB4NTIwJyldOysrXzB4NWVlMjQ2KXt2YXIgXzB4M2Y1MWQ1PV8weDExNTljNFtfMHg1ZWUyNDZdO2lmKF8weDNmNTFkNT4+MHg1IT0weDApdGhyb3cgbmV3IEVycm9yKF8weDRjZmZiMygnMHhiNzUnKSk7XzB4MjIyZTM2PV8weDVhZDRlNShfMHgyMjJlMzYpXl8weDNmNTFkNSxfMHg0MDA0N2UrPV8weDU4NzFlN1tfMHg0Y2ZmYjMoJzB4NDI2JyldKF8weDNmNTFkNSk7fWZvcihfMHg1ZWUyNDY9MHgwO18weDVlZTI0NjwweDY7KytfMHg1ZWUyNDYpXzB4MjIyZTM2PV8weDVhZDRlNShfMHgyMjJlMzYpO2ZvcihfMHgyMjJlMzZePTB4MSxfMHg1ZWUyNDY9MHgwO18weDVlZTI0NjwweDY7KytfMHg1ZWUyNDYpXzB4NDAwNDdlKz1fMHg1ODcxZTdbXzB4NGNmZmIzKCcweDQyNicpXShfMHgyMjJlMzY+PjB4NSooMHg1LV8weDVlZTI0NikmMHgxZik7cmV0dXJuIF8weDQwMDQ3ZTt9LCd0b1dvcmRzVW5zYWZlJzpmdW5jdGlvbihfMHg1ZGMwMGYpe3ZhciBfMHhmNTA5YjQ9XzB4NDY5MWMyKF8weDVkYzAwZiwweDgsMHg1LCEweDApO2lmKEFycmF5Wydpc0FycmF5J10oXzB4ZjUwOWI0KSlyZXR1cm4gXzB4ZjUwOWI0O30sJ3RvV29yZHMnOmZ1bmN0aW9uKF8weDFmNTdiMSl7dmFyIF8weDFmYmU0Zj1fMHgyMzlmZWUsXzB4MzUzZjMxPV8weDQ2OTFjMihfMHgxZjU3YjEsMHg4LDB4NSwhMHgwKTtpZihBcnJheVtfMHgxZmJlNGYoJzB4OGYxJyldKF8weDM1M2YzMSkpcmV0dXJuIF8weDM1M2YzMTt0aHJvdyBuZXcgRXJyb3IoXzB4MzUzZjMxKTt9LCdmcm9tV29yZHNVbnNhZmUnOmZ1bmN0aW9uKF8weDUzYmI1Mil7dmFyIF8weDMyZTVkYT1fMHg0NjkxYzIoXzB4NTNiYjUyLDB4NSwweDgsITB4MSk7aWYoQXJyYXlbJ2lzQXJyYXknXShfMHgzMmU1ZGEpKXJldHVybiBfMHgzMmU1ZGE7fSwnZnJvbVdvcmRzJzpmdW5jdGlvbihfMHgzNWFiMTYpe3ZhciBfMHhjYTk2MWU9XzB4MjM5ZmVlLF8weDQ1ODhlYj1fMHg0NjkxYzIoXzB4MzVhYjE2LDB4NSwweDgsITB4MSk7aWYoQXJyYXlbXzB4Y2E5NjFlKCcweDhmMScpXShfMHg0NTg4ZWIpKXJldHVybiBfMHg0NTg4ZWI7dGhyb3cgbmV3IEVycm9yKF8weDQ1ODhlYik7fX07fSwweGRkZTpmdW5jdGlvbihfMHg0NmFmOWMsXzB4MzFiZDBhLF8weGIwMmIyYil7IWZ1bmN0aW9uKF8weDQ4ZGE1NCxfMHg0NTg0ZWQpeyd1c2Ugc3RyaWN0Jzt2YXIgXzB4NTZiZGU3PV8weDE1YTM7ZnVuY3Rpb24gXzB4Y2EzM2FiKF8weDUzMzBlMyxfMHg1NjA2MTUpe2lmKCFfMHg1MzMwZTMpdGhyb3cgbmV3IEVycm9yKF8weDU2MDYxNXx8J0Fzc2VydGlvblx4MjBmYWlsZWQnKTt9ZnVuY3Rpb24gXzB4NWU2MjhiKF8weDI2N2I2YyxfMHgzODkxMmMpe3ZhciBfMHg0Zjg2NGM9XzB4MTVhMztfMHgyNjdiNmNbJ3N1cGVyXyddPV8weDM4OTEyYzt2YXIgXzB4MjA0N2Y2PWZ1bmN0aW9uKCl7fTtfMHgyMDQ3ZjZbXzB4NGY4NjRjKCcweDc1NicpXT1fMHgzODkxMmNbXzB4NGY4NjRjKCcweDc1NicpXSxfMHgyNjdiNmNbXzB4NGY4NjRjKCcweDc1NicpXT1uZXcgXzB4MjA0N2Y2KCksXzB4MjY3YjZjW18weDRmODY0YygnMHg3NTYnKV1bXzB4NGY4NjRjKCcweGJmYycpXT1fMHgyNjdiNmM7fWZ1bmN0aW9uIF8weDMyZjFiYyhfMHgzMmE1ZmQsXzB4MjE1ZjFjLF8weDI4MjFjNSl7dmFyIF8weDNiNjAxOT1fMHgxNWEzO2lmKF8weDMyZjFiY1tfMHgzYjYwMTkoJzB4M2JkJyldKF8weDMyYTVmZCkpcmV0dXJuIF8weDMyYTVmZDt0aGlzW18weDNiNjAxOSgnMHhkNTAnKV09MHgwLHRoaXNbXzB4M2I2MDE5KCcweDk3MicpXT1udWxsLHRoaXNbXzB4M2I2MDE5KCcweDUyMCcpXT0weDAsdGhpc1tfMHgzYjYwMTkoJzB4ZDBlJyldPW51bGwsbnVsbCE9PV8weDMyYTVmZCYmKCdsZSchPT1fMHgyMTVmMWMmJidiZSchPT1fMHgyMTVmMWN8fChfMHgyODIxYzU9XzB4MjE1ZjFjLF8weDIxNWYxYz0weGEpLHRoaXNbXzB4M2I2MDE5KCcweGFkYicpXShfMHgzMmE1ZmR8fDB4MCxfMHgyMTVmMWN8fDB4YSxfMHgyODIxYzV8fCdiZScpKTt9dmFyIF8weDI2NTc3NTtfMHg1NmJkZTcoJzB4MzZiJyk9PXR5cGVvZiBfMHg0OGRhNTQ/XzB4NDhkYTU0W18weDU2YmRlNygnMHgzMTQnKV09XzB4MzJmMWJjOl8weDQ1ODRlZFsnQk4nXT1fMHgzMmYxYmMsXzB4MzJmMWJjWydCTiddPV8weDMyZjFiYyxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDU0MScpXT0weDFhO3RyeXtfMHgyNjU3NzU9J3VuZGVmaW5lZCchPXR5cGVvZiB3aW5kb3cmJnZvaWQgMHgwIT09d2luZG93W18weDU2YmRlNygnMHg2MWEnKV0/d2luZG93W18weDU2YmRlNygnMHg2MWEnKV06XzB4YjAyYjJiKDB4MTljOSlbXzB4NTZiZGU3KCcweDYxYScpXTt9Y2F0Y2goXzB4MmU5ZTA3KXt9ZnVuY3Rpb24gXzB4MjI1ZjQ3KF8weGI2NjBiMCxfMHg1YzVkNjkpe3ZhciBfMHg0MjI3YzY9XzB4NTZiZGU3LF8weDIwOGZmZj1fMHhiNjYwYjBbJ2NoYXJDb2RlQXQnXShfMHg1YzVkNjkpO3JldHVybiBfMHgyMDhmZmY+PTB4MzAmJl8weDIwOGZmZjw9MHgzOT9fMHgyMDhmZmYtMHgzMDpfMHgyMDhmZmY+PTB4NDEmJl8weDIwOGZmZjw9MHg0Nj9fMHgyMDhmZmYtMHgzNzpfMHgyMDhmZmY+PTB4NjEmJl8weDIwOGZmZjw9MHg2Nj9fMHgyMDhmZmYtMHg1Nzp2b2lkIF8weGNhMzNhYighMHgxLF8weDQyMjdjNignMHgzNzEnKStfMHhiNjYwYjApO31mdW5jdGlvbiBfMHg1YTNlYzAoXzB4YTI5N2ZjLF8weDdmODYwNSxfMHg1NzE5NWQpe3ZhciBfMHg0ZDQ3Nzc9XzB4MjI1ZjQ3KF8weGEyOTdmYyxfMHg1NzE5NWQpO3JldHVybiBfMHg1NzE5NWQtMHgxPj1fMHg3Zjg2MDUmJihfMHg0ZDQ3Nzd8PV8weDIyNWY0NyhfMHhhMjk3ZmMsXzB4NTcxOTVkLTB4MSk8PDB4NCksXzB4NGQ0Nzc3O31mdW5jdGlvbiBfMHhmY2I1MjIoXzB4MTdkZjU3LF8weDM2NzZmZCxfMHgxMWZiZWYsXzB4MzA0MWMyKXt2YXIgXzB4NGU4MWJmPV8weDU2YmRlNztmb3IodmFyIF8weDJhZmZjNT0weDAsXzB4MTg1NGVmPTB4MCxfMHg0ZWY3ZWQ9TWF0aFtfMHg0ZTgxYmYoJzB4YjgwJyldKF8weDE3ZGY1N1snbGVuZ3RoJ10sXzB4MTFmYmVmKSxfMHhhZjNmOTE9XzB4MzY3NmZkO18weGFmM2Y5MTxfMHg0ZWY3ZWQ7XzB4YWYzZjkxKyspe3ZhciBfMHgxOWNlZTA9XzB4MTdkZjU3WydjaGFyQ29kZUF0J10oXzB4YWYzZjkxKS0weDMwO18weDJhZmZjNSo9XzB4MzA0MWMyLF8weDE4NTRlZj1fMHgxOWNlZTA+PTB4MzE/XzB4MTljZWUwLTB4MzErMHhhOl8weDE5Y2VlMD49MHgxMT9fMHgxOWNlZTAtMHgxMSsweGE6XzB4MTljZWUwLF8weGNhMzNhYihfMHgxOWNlZTA+PTB4MCYmXzB4MTg1NGVmPF8weDMwNDFjMixfMHg0ZTgxYmYoJzB4N2Y3JykpLF8weDJhZmZjNSs9XzB4MTg1NGVmO31yZXR1cm4gXzB4MmFmZmM1O31mdW5jdGlvbiBfMHgzNTlmYzUoXzB4NGZhZWY2LF8weDM0YTNlKXt2YXIgXzB4M2I0ODM3PV8weDU2YmRlNztfMHg0ZmFlZjZbXzB4M2I0ODM3KCcweDk3MicpXT1fMHgzNGEzZVtfMHgzYjQ4MzcoJzB4OTcyJyldLF8weDRmYWVmNltfMHgzYjQ4MzcoJzB4NTIwJyldPV8weDM0YTNlW18weDNiNDgzNygnMHg1MjAnKV0sXzB4NGZhZWY2W18weDNiNDgzNygnMHhkNTAnKV09XzB4MzRhM2VbJ25lZ2F0aXZlJ10sXzB4NGZhZWY2WydyZWQnXT1fMHgzNGEzZVtfMHgzYjQ4MzcoJzB4ZDBlJyldO31pZihfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDNiZCcpXT1mdW5jdGlvbihfMHgyNjE5MGQpe3ZhciBfMHgxNWI4MjE9XzB4NTZiZGU3O3JldHVybiBfMHgyNjE5MGQgaW5zdGFuY2VvZiBfMHgzMmYxYmN8fG51bGwhPT1fMHgyNjE5MGQmJidvYmplY3QnPT10eXBlb2YgXzB4MjYxOTBkJiZfMHgyNjE5MGRbXzB4MTViODIxKCcweGJmYycpXVtfMHgxNWI4MjEoJzB4NTQxJyldPT09XzB4MzJmMWJjW18weDE1YjgyMSgnMHg1NDEnKV0mJkFycmF5W18weDE1YjgyMSgnMHg4ZjEnKV0oXzB4MjYxOTBkW18weDE1YjgyMSgnMHg5NzInKV0pO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg4ZjknKV09ZnVuY3Rpb24oXzB4MjJhMWYzLF8weDIxMDhhNil7dmFyIF8weDQyOWY1OT1fMHg1NmJkZTc7cmV0dXJuIF8weDIyYTFmM1tfMHg0MjlmNTkoJzB4MzcwJyldKF8weDIxMDhhNik+MHgwP18weDIyYTFmMzpfMHgyMTA4YTY7fSxfMHgzMmYxYmNbJ21pbiddPWZ1bmN0aW9uKF8weDIwYmE5OCxfMHg0MDkzMzUpe3ZhciBfMHg0MTRhMTg9XzB4NTZiZGU3O3JldHVybiBfMHgyMGJhOThbXzB4NDE0YTE4KCcweDM3MCcpXShfMHg0MDkzMzUpPDB4MD9fMHgyMGJhOTg6XzB4NDA5MzM1O30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweGFkYicpXT1mdW5jdGlvbihfMHg1M2Y0Y2IsXzB4MjExM2RhLF8weDc1MWYxMil7dmFyIF8weDQ3YmFlMD1fMHg1NmJkZTc7aWYoXzB4NDdiYWUwKCcweDI3YScpPT10eXBlb2YgXzB4NTNmNGNiKXJldHVybiB0aGlzW18weDQ3YmFlMCgnMHhjNWYnKV0oXzB4NTNmNGNiLF8weDIxMTNkYSxfMHg3NTFmMTIpO2lmKF8weDQ3YmFlMCgnMHgzNmInKT09dHlwZW9mIF8weDUzZjRjYilyZXR1cm4gdGhpc1tfMHg0N2JhZTAoJzB4OGZmJyldKF8weDUzZjRjYixfMHgyMTEzZGEsXzB4NzUxZjEyKTsnaGV4Jz09PV8weDIxMTNkYSYmKF8weDIxMTNkYT0weDEwKSxfMHhjYTMzYWIoXzB4MjExM2RhPT09KDB4MHxfMHgyMTEzZGEpJiZfMHgyMTEzZGE+PTB4MiYmXzB4MjExM2RhPD0weDI0KTt2YXIgXzB4YTQwNDhjPTB4MDsnLSc9PT0oXzB4NTNmNGNiPV8weDUzZjRjYltfMHg0N2JhZTAoJzB4NTQ3JyldKClbJ3JlcGxhY2UnXSgvXHMrL2csJycpKVsweDBdJiYoXzB4YTQwNDhjKyssdGhpc1snbmVnYXRpdmUnXT0weDEpLF8weGE0MDQ4YzxfMHg1M2Y0Y2JbXzB4NDdiYWUwKCcweDUyMCcpXSYmKDB4MTA9PT1fMHgyMTEzZGE/dGhpc1tfMHg0N2JhZTAoJzB4MWQyJyldKF8weDUzZjRjYixfMHhhNDA0OGMsXzB4NzUxZjEyKToodGhpc1tfMHg0N2JhZTAoJzB4MjhmJyldKF8weDUzZjRjYixfMHgyMTEzZGEsXzB4YTQwNDhjKSwnbGUnPT09XzB4NzUxZjEyJiZ0aGlzWydfaW5pdEFycmF5J10odGhpc1tfMHg0N2JhZTAoJzB4Mzk0JyldKCksXzB4MjExM2RhLF8weDc1MWYxMikpKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldWydfaW5pdE51bWJlciddPWZ1bmN0aW9uKF8weDVmMzZkYSxfMHg0MmEzYWMsXzB4MzJjNzIwKXt2YXIgXzB4MzhhMDcxPV8weDU2YmRlNztfMHg1ZjM2ZGE8MHgwJiYodGhpc1tfMHgzOGEwNzEoJzB4ZDUwJyldPTB4MSxfMHg1ZjM2ZGE9LV8weDVmMzZkYSksXzB4NWYzNmRhPDB4NDAwMDAwMD8odGhpc1tfMHgzOGEwNzEoJzB4OTcyJyldPVsweDNmZmZmZmYmXzB4NWYzNmRhXSx0aGlzW18weDM4YTA3MSgnMHg1MjAnKV09MHgxKTpfMHg1ZjM2ZGE8MHgxMDAwMDAwMDAwMDAwMD8odGhpc1tfMHgzOGEwNzEoJzB4OTcyJyldPVsweDNmZmZmZmYmXzB4NWYzNmRhLF8weDVmMzZkYS8weDQwMDAwMDAmMHgzZmZmZmZmXSx0aGlzW18weDM4YTA3MSgnMHg1MjAnKV09MHgyKTooXzB4Y2EzM2FiKF8weDVmMzZkYTwweDIwMDAwMDAwMDAwMDAwKSx0aGlzWyd3b3JkcyddPVsweDNmZmZmZmYmXzB4NWYzNmRhLF8weDVmMzZkYS8weDQwMDAwMDAmMHgzZmZmZmZmLDB4MV0sdGhpc1tfMHgzOGEwNzEoJzB4NTIwJyldPTB4MyksJ2xlJz09PV8weDMyYzcyMCYmdGhpc1tfMHgzOGEwNzEoJzB4OGZmJyldKHRoaXNbXzB4MzhhMDcxKCcweDM5NCcpXSgpLF8weDQyYTNhYyxfMHgzMmM3MjApO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDhmZicpXT1mdW5jdGlvbihfMHgzODNiMjAsXzB4MjFkOTJhLF8weDUwMDQ0OSl7dmFyIF8weDJlNjBhMD1fMHg1NmJkZTc7aWYoXzB4Y2EzM2FiKF8weDJlNjBhMCgnMHgyN2EnKT09dHlwZW9mIF8weDM4M2IyMFsnbGVuZ3RoJ10pLF8weDM4M2IyMFtfMHgyZTYwYTAoJzB4NTIwJyldPD0weDApcmV0dXJuIHRoaXNbXzB4MmU2MGEwKCcweDk3MicpXT1bMHgwXSx0aGlzW18weDJlNjBhMCgnMHg1MjAnKV09MHgxLHRoaXM7dGhpc1snbGVuZ3RoJ109TWF0aFsnY2VpbCddKF8weDM4M2IyMFtfMHgyZTYwYTAoJzB4NTIwJyldLzB4MyksdGhpc1tfMHgyZTYwYTAoJzB4OTcyJyldPW5ldyBBcnJheSh0aGlzW18weDJlNjBhMCgnMHg1MjAnKV0pO2Zvcih2YXIgXzB4MjI3YTc0PTB4MDtfMHgyMjdhNzQ8dGhpc1tfMHgyZTYwYTAoJzB4NTIwJyldO18weDIyN2E3NCsrKXRoaXNbXzB4MmU2MGEwKCcweDk3MicpXVtfMHgyMjdhNzRdPTB4MDt2YXIgXzB4MzVjN2I1LF8weDI0ZDE1ZixfMHgxOGZjZTE9MHgwO2lmKCdiZSc9PT1fMHg1MDA0NDkpe2ZvcihfMHgyMjdhNzQ9XzB4MzgzYjIwW18weDJlNjBhMCgnMHg1MjAnKV0tMHgxLF8weDM1YzdiNT0weDA7XzB4MjI3YTc0Pj0weDA7XzB4MjI3YTc0LT0weDMpXzB4MjRkMTVmPV8weDM4M2IyMFtfMHgyMjdhNzRdfF8weDM4M2IyMFtfMHgyMjdhNzQtMHgxXTw8MHg4fF8weDM4M2IyMFtfMHgyMjdhNzQtMHgyXTw8MHgxMCx0aGlzWyd3b3JkcyddW18weDM1YzdiNV18PV8weDI0ZDE1Zjw8XzB4MThmY2UxJjB4M2ZmZmZmZix0aGlzW18weDJlNjBhMCgnMHg5NzInKV1bXzB4MzVjN2I1KzB4MV09XzB4MjRkMTVmPj4+MHgxYS1fMHgxOGZjZTEmMHgzZmZmZmZmLChfMHgxOGZjZTErPTB4MTgpPj0weDFhJiYoXzB4MThmY2UxLT0weDFhLF8weDM1YzdiNSsrKTt9ZWxzZXtpZignbGUnPT09XzB4NTAwNDQ5KXtmb3IoXzB4MjI3YTc0PTB4MCxfMHgzNWM3YjU9MHgwO18weDIyN2E3NDxfMHgzODNiMjBbJ2xlbmd0aCddO18weDIyN2E3NCs9MHgzKV8weDI0ZDE1Zj1fMHgzODNiMjBbXzB4MjI3YTc0XXxfMHgzODNiMjBbXzB4MjI3YTc0KzB4MV08PDB4OHxfMHgzODNiMjBbXzB4MjI3YTc0KzB4Ml08PDB4MTAsdGhpc1tfMHgyZTYwYTAoJzB4OTcyJyldW18weDM1YzdiNV18PV8weDI0ZDE1Zjw8XzB4MThmY2UxJjB4M2ZmZmZmZix0aGlzW18weDJlNjBhMCgnMHg5NzInKV1bXzB4MzVjN2I1KzB4MV09XzB4MjRkMTVmPj4+MHgxYS1fMHgxOGZjZTEmMHgzZmZmZmZmLChfMHgxOGZjZTErPTB4MTgpPj0weDFhJiYoXzB4MThmY2UxLT0weDFhLF8weDM1YzdiNSsrKTt9fXJldHVybiB0aGlzW18weDJlNjBhMCgnMHhhZTQnKV0oKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHgxZDInKV09ZnVuY3Rpb24oXzB4MmFjZmI0LF8weDUwN2RlMCxfMHg1NWUwY2Ipe3ZhciBfMHhkYzNjZTU9XzB4NTZiZGU3O3RoaXNbJ2xlbmd0aCddPU1hdGhbXzB4ZGMzY2U1KCcweDQ2NicpXSgoXzB4MmFjZmI0W18weGRjM2NlNSgnMHg1MjAnKV0tXzB4NTA3ZGUwKS8weDYpLHRoaXNbXzB4ZGMzY2U1KCcweDk3MicpXT1uZXcgQXJyYXkodGhpc1tfMHhkYzNjZTUoJzB4NTIwJyldKTtmb3IodmFyIF8weDMyM2Y2ZD0weDA7XzB4MzIzZjZkPHRoaXNbXzB4ZGMzY2U1KCcweDUyMCcpXTtfMHgzMjNmNmQrKyl0aGlzWyd3b3JkcyddW18weDMyM2Y2ZF09MHgwO3ZhciBfMHg1ZGExOTIsXzB4NGE2MzExPTB4MCxfMHgyMjk4MzY9MHgwO2lmKCdiZSc9PT1fMHg1NWUwY2Ipe2ZvcihfMHgzMjNmNmQ9XzB4MmFjZmI0WydsZW5ndGgnXS0weDE7XzB4MzIzZjZkPj1fMHg1MDdkZTA7XzB4MzIzZjZkLT0weDIpXzB4NWRhMTkyPV8weDVhM2VjMChfMHgyYWNmYjQsXzB4NTA3ZGUwLF8weDMyM2Y2ZCk8PF8weDRhNjMxMSx0aGlzWyd3b3JkcyddW18weDIyOTgzNl18PTB4M2ZmZmZmZiZfMHg1ZGExOTIsXzB4NGE2MzExPj0weDEyPyhfMHg0YTYzMTEtPTB4MTIsXzB4MjI5ODM2Kz0weDEsdGhpc1tfMHhkYzNjZTUoJzB4OTcyJyldW18weDIyOTgzNl18PV8weDVkYTE5Mj4+PjB4MWEpOl8weDRhNjMxMSs9MHg4O31lbHNle2ZvcihfMHgzMjNmNmQ9KF8weDJhY2ZiNFtfMHhkYzNjZTUoJzB4NTIwJyldLV8weDUwN2RlMCklMHgyPT0weDA/XzB4NTA3ZGUwKzB4MTpfMHg1MDdkZTA7XzB4MzIzZjZkPF8weDJhY2ZiNFtfMHhkYzNjZTUoJzB4NTIwJyldO18weDMyM2Y2ZCs9MHgyKV8weDVkYTE5Mj1fMHg1YTNlYzAoXzB4MmFjZmI0LF8weDUwN2RlMCxfMHgzMjNmNmQpPDxfMHg0YTYzMTEsdGhpc1tfMHhkYzNjZTUoJzB4OTcyJyldW18weDIyOTgzNl18PTB4M2ZmZmZmZiZfMHg1ZGExOTIsXzB4NGE2MzExPj0weDEyPyhfMHg0YTYzMTEtPTB4MTIsXzB4MjI5ODM2Kz0weDEsdGhpc1tfMHhkYzNjZTUoJzB4OTcyJyldW18weDIyOTgzNl18PV8weDVkYTE5Mj4+PjB4MWEpOl8weDRhNjMxMSs9MHg4O310aGlzW18weGRjM2NlNSgnMHhhZTQnKV0oKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHgyOGYnKV09ZnVuY3Rpb24oXzB4NWViODM5LF8weDMzMWNmNyxfMHgxOTc3MTMpe3ZhciBfMHg0YzcxZmQ9XzB4NTZiZGU3O3RoaXNbXzB4NGM3MWZkKCcweDk3MicpXT1bMHgwXSx0aGlzWydsZW5ndGgnXT0weDE7Zm9yKHZhciBfMHg0ODFhZTA9MHgwLF8weDJiNjBlYz0weDE7XzB4MmI2MGVjPD0weDNmZmZmZmY7XzB4MmI2MGVjKj1fMHgzMzFjZjcpXzB4NDgxYWUwKys7XzB4NDgxYWUwLS0sXzB4MmI2MGVjPV8weDJiNjBlYy9fMHgzMzFjZjd8MHgwO2Zvcih2YXIgXzB4MjFlMzc1PV8weDVlYjgzOVtfMHg0YzcxZmQoJzB4NTIwJyldLV8weDE5NzcxMyxfMHg4MjM3Y2M9XzB4MjFlMzc1JV8weDQ4MWFlMCxfMHg1NDRjOGI9TWF0aFsnbWluJ10oXzB4MjFlMzc1LF8weDIxZTM3NS1fMHg4MjM3Y2MpK18weDE5NzcxMyxfMHg0ZDMxNDg9MHgwLF8weDMwZmRiMD1fMHgxOTc3MTM7XzB4MzBmZGIwPF8weDU0NGM4YjtfMHgzMGZkYjArPV8weDQ4MWFlMClfMHg0ZDMxNDg9XzB4ZmNiNTIyKF8weDVlYjgzOSxfMHgzMGZkYjAsXzB4MzBmZGIwK18weDQ4MWFlMCxfMHgzMzFjZjcpLHRoaXNbXzB4NGM3MWZkKCcweDI2NycpXShfMHgyYjYwZWMpLHRoaXNbXzB4NGM3MWZkKCcweDk3MicpXVsweDBdK18weDRkMzE0ODwweDQwMDAwMDA/dGhpc1snd29yZHMnXVsweDBdKz1fMHg0ZDMxNDg6dGhpc1tfMHg0YzcxZmQoJzB4NTY3JyldKF8weDRkMzE0OCk7aWYoMHgwIT09XzB4ODIzN2NjKXt2YXIgXzB4YTA4M2ExPTB4MTtmb3IoXzB4NGQzMTQ4PV8weGZjYjUyMihfMHg1ZWI4MzksXzB4MzBmZGIwLF8weDVlYjgzOVtfMHg0YzcxZmQoJzB4NTIwJyldLF8weDMzMWNmNyksXzB4MzBmZGIwPTB4MDtfMHgzMGZkYjA8XzB4ODIzN2NjO18weDMwZmRiMCsrKV8weGEwODNhMSo9XzB4MzMxY2Y3O3RoaXNbXzB4NGM3MWZkKCcweDI2NycpXShfMHhhMDgzYTEpLHRoaXNbJ3dvcmRzJ11bMHgwXStfMHg0ZDMxNDg8MHg0MDAwMDAwP3RoaXNbJ3dvcmRzJ11bMHgwXSs9XzB4NGQzMTQ4OnRoaXNbJ19pYWRkbiddKF8weDRkMzE0OCk7fXRoaXNbXzB4NGM3MWZkKCcweGFlNCcpXSgpO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweGFlOScpXT1mdW5jdGlvbihfMHgyMzllNzIpe3ZhciBfMHgzNzc3MGY9XzB4NTZiZGU3O18weDIzOWU3Mlsnd29yZHMnXT1uZXcgQXJyYXkodGhpc1tfMHgzNzc3MGYoJzB4NTIwJyldKTtmb3IodmFyIF8weDYwMzVhZD0weDA7XzB4NjAzNWFkPHRoaXNbXzB4Mzc3NzBmKCcweDUyMCcpXTtfMHg2MDM1YWQrKylfMHgyMzllNzJbJ3dvcmRzJ11bXzB4NjAzNWFkXT10aGlzW18weDM3NzcwZignMHg5NzInKV1bXzB4NjAzNWFkXTtfMHgyMzllNzJbXzB4Mzc3NzBmKCcweDUyMCcpXT10aGlzW18weDM3NzcwZignMHg1MjAnKV0sXzB4MjM5ZTcyW18weDM3NzcwZignMHhkNTAnKV09dGhpc1snbmVnYXRpdmUnXSxfMHgyMzllNzJbXzB4Mzc3NzBmKCcweGQwZScpXT10aGlzWydyZWQnXTt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweDFmYicpXT1mdW5jdGlvbihfMHg0NTA3NTEpe18weDM1OWZjNShfMHg0NTA3NTEsdGhpcyk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4Mzc5JyldPWZ1bmN0aW9uKCl7dmFyIF8weDNhMDZiZj1fMHg1NmJkZTcsXzB4M2UyOTVjPW5ldyBfMHgzMmYxYmMobnVsbCk7cmV0dXJuIHRoaXNbXzB4M2EwNmJmKCcweGFlOScpXShfMHgzZTI5NWMpLF8weDNlMjk1Yzt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweDQ1NCcpXT1mdW5jdGlvbihfMHg1YWEwZGEpe3ZhciBfMHg0NDU1Yjg9XzB4NTZiZGU3O2Zvcig7dGhpc1tfMHg0NDU1YjgoJzB4NTIwJyldPF8weDVhYTBkYTspdGhpc1tfMHg0NDU1YjgoJzB4OTcyJyldW3RoaXNbJ2xlbmd0aCddKytdPTB4MDtyZXR1cm4gdGhpczt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldWydfc3RyaXAnXT1mdW5jdGlvbigpe3ZhciBfMHgxOTdkMzU9XzB4NTZiZGU3O2Zvcig7dGhpc1tfMHgxOTdkMzUoJzB4NTIwJyldPjB4MSYmMHgwPT09dGhpc1tfMHgxOTdkMzUoJzB4OTcyJyldW3RoaXNbXzB4MTk3ZDM1KCcweDUyMCcpXS0weDFdOyl0aGlzW18weDE5N2QzNSgnMHg1MjAnKV0tLTtyZXR1cm4gdGhpc1tfMHgxOTdkMzUoJzB4NjQ3JyldKCk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4NjQ3JyldPWZ1bmN0aW9uKCl7dmFyIF8weDIyNTk0Mj1fMHg1NmJkZTc7cmV0dXJuIDB4MT09PXRoaXNbJ2xlbmd0aCddJiYweDA9PT10aGlzW18weDIyNTk0MignMHg5NzInKV1bMHgwXSYmKHRoaXNbXzB4MjI1OTQyKCcweGQ1MCcpXT0weDApLHRoaXM7fSxfMHg1NmJkZTcoJzB4YTdiJykhPXR5cGVvZiBTeW1ib2wmJl8weDU2YmRlNygnMHhjN2InKT09dHlwZW9mIFN5bWJvbFtfMHg1NmJkZTcoJzB4OTI0JyldKXRyeXtfMHgzMmYxYmNbJ3Byb3RvdHlwZSddW1N5bWJvbFtfMHg1NmJkZTcoJzB4OTI0JyldKF8weDU2YmRlNygnMHgzZjAnKSldPV8weDIwMzliMjt9Y2F0Y2goXzB4M2E2YWVkKXtfMHgzMmYxYmNbJ3Byb3RvdHlwZSddW18weDU2YmRlNygnMHhkMjMnKV09XzB4MjAzOWIyO31lbHNlIF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldWydpbnNwZWN0J109XzB4MjAzOWIyO2Z1bmN0aW9uIF8weDIwMzliMigpe3ZhciBfMHgzNjNhNjg9XzB4NTZiZGU3O3JldHVybih0aGlzWydyZWQnXT9fMHgzNjNhNjgoJzB4MWMyJyk6XzB4MzYzYTY4KCcweDMzMicpKSt0aGlzW18weDM2M2E2OCgnMHg1NDcnKV0oMHgxMCkrJz4nO312YXIgXzB4NWFjZDhmPVsnJywnMCcsJzAwJyxfMHg1NmJkZTcoJzB4ZDJiJyksXzB4NTZiZGU3KCcweGMwNicpLCcwMDAwMCcsXzB4NTZiZGU3KCcweGQ1OCcpLCcwMDAwMDAwJywnMDAwMDAwMDAnLF8weDU2YmRlNygnMHg3YTYnKSxfMHg1NmJkZTcoJzB4NWMyJyksXzB4NTZiZGU3KCcweGQ0ZScpLF8weDU2YmRlNygnMHhhOTUnKSxfMHg1NmJkZTcoJzB4NjkyJyksXzB4NTZiZGU3KCcweDM3YicpLCcwMDAwMDAwMDAwMDAwMDAnLCcwMDAwMDAwMDAwMDAwMDAwJyxfMHg1NmJkZTcoJzB4Yjk2JyksXzB4NTZiZGU3KCcweGIxZCcpLF8weDU2YmRlNygnMHhkNDYnKSxfMHg1NmJkZTcoJzB4ODllJyksXzB4NTZiZGU3KCcweDYzNCcpLF8weDU2YmRlNygnMHgzMGYnKSxfMHg1NmJkZTcoJzB4YmU1JyksXzB4NTZiZGU3KCcweDM5YycpLCcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ10sXzB4NGM3YmI2PVsweDAsMHgwLDB4MTksMHgxMCwweGMsMHhiLDB4YSwweDksMHg4LDB4OCwweDcsMHg3LDB4NywweDcsMHg2LDB4NiwweDYsMHg2LDB4NiwweDYsMHg2LDB4NSwweDUsMHg1LDB4NSwweDUsMHg1LDB4NSwweDUsMHg1LDB4NSwweDUsMHg1LDB4NSwweDUsMHg1LDB4NV0sXzB4OTc5MDE9WzB4MCwweDAsMHgyMDAwMDAwLDB4MjkwZDc0MSwweDEwMDAwMDAsMHgyZTkwZWRkLDB4MzlhYTQwMCwweDI2N2JmNDcsMHgxMDAwMDAwLDB4MjkwZDc0MSwweDk4OTY4MCwweDEyOTU5YzMsMHgyMjJjMDAwLDB4M2JkNzc2NSwweDcyZTQ0MCwweGFkY2VhMSwweDEwMDAwMDAsMHgxNzA0ZjYxLDB4MjA2ZmM0MCwweDJjZGRjZjksMHgzZDA5MDAwLDB4M2U1MTg1LDB4NGVhMzYwLDB4NjIzNWY3LDB4Nzk4MDAwLDB4OTUwMmY5LDB4YjU0YmEwLDB4ZGFmMjZiLDB4MTA2OWMwMCwweDEzOGY5YWQsMHgxNzJjOWUwLDB4MWI0ZDg5ZiwweDIwMDAwMDAsMHgyNTUyOGExLDB4MmI1NGEyMCwweDMyMTZiOTMsMHgzOWFhNDAwXTtmdW5jdGlvbiBfMHg0NTdhOTAoXzB4MjgwZjMzLF8weDEzM2YwNCxfMHgxMDg2MjMpe3ZhciBfMHgzY2I5Y2Y9XzB4NTZiZGU3O18weDEwODYyM1tfMHgzY2I5Y2YoJzB4ZDUwJyldPV8weDEzM2YwNFtfMHgzY2I5Y2YoJzB4ZDUwJyldXl8weDI4MGYzM1tfMHgzY2I5Y2YoJzB4ZDUwJyldO3ZhciBfMHgyYjI2MmQ9XzB4MjgwZjMzWydsZW5ndGgnXStfMHgxMzNmMDRbXzB4M2NiOWNmKCcweDUyMCcpXXwweDA7XzB4MTA4NjIzW18weDNjYjljZignMHg1MjAnKV09XzB4MmIyNjJkLF8weDJiMjYyZD1fMHgyYjI2MmQtMHgxfDB4MDt2YXIgXzB4NGFmYjAyPTB4MHxfMHgyODBmMzNbXzB4M2NiOWNmKCcweDk3MicpXVsweDBdLF8weDMyNjc0Yj0weDB8XzB4MTMzZjA0W18weDNjYjljZignMHg5NzInKV1bMHgwXSxfMHgzN2M1MzM9XzB4NGFmYjAyKl8weDMyNjc0YixfMHg5YWYwNTQ9MHgzZmZmZmZmJl8weDM3YzUzMyxfMHgzN2NjNDk9XzB4MzdjNTMzLzB4NDAwMDAwMHwweDA7XzB4MTA4NjIzW18weDNjYjljZignMHg5NzInKV1bMHgwXT1fMHg5YWYwNTQ7Zm9yKHZhciBfMHg1MzljMTM9MHgxO18weDUzOWMxMzxfMHgyYjI2MmQ7XzB4NTM5YzEzKyspe2Zvcih2YXIgXzB4NWIxOTdhPV8weDM3Y2M0OT4+PjB4MWEsXzB4MmMxOTZiPTB4M2ZmZmZmZiZfMHgzN2NjNDksXzB4MTE2NzE3PU1hdGhbJ21pbiddKF8weDUzOWMxMyxfMHgxMzNmMDRbXzB4M2NiOWNmKCcweDUyMCcpXS0weDEpLF8weDkyNzJlNz1NYXRoW18weDNjYjljZignMHg4ZjknKV0oMHgwLF8weDUzOWMxMy1fMHgyODBmMzNbXzB4M2NiOWNmKCcweDUyMCcpXSsweDEpO18weDkyNzJlNzw9XzB4MTE2NzE3O18weDkyNzJlNysrKXt2YXIgXzB4MWE0Y2I4PV8weDUzOWMxMy1fMHg5MjcyZTd8MHgwO18weDViMTk3YSs9KF8weDM3YzUzMz0oXzB4NGFmYjAyPTB4MHxfMHgyODBmMzNbXzB4M2NiOWNmKCcweDk3MicpXVtfMHgxYTRjYjhdKSooXzB4MzI2NzRiPTB4MHxfMHgxMzNmMDRbJ3dvcmRzJ11bXzB4OTI3MmU3XSkrXzB4MmMxOTZiKS8weDQwMDAwMDB8MHgwLF8weDJjMTk2Yj0weDNmZmZmZmYmXzB4MzdjNTMzO31fMHgxMDg2MjNbXzB4M2NiOWNmKCcweDk3MicpXVtfMHg1MzljMTNdPTB4MHxfMHgyYzE5NmIsXzB4MzdjYzQ5PTB4MHxfMHg1YjE5N2E7fXJldHVybiAweDAhPT1fMHgzN2NjNDk/XzB4MTA4NjIzWyd3b3JkcyddW18weDUzOWMxM109MHgwfF8weDM3Y2M0OTpfMHgxMDg2MjNbJ2xlbmd0aCddLS0sXzB4MTA4NjIzW18weDNjYjljZignMHhhZTQnKV0oKTt9XzB4MzJmMWJjWydwcm90b3R5cGUnXVsndG9TdHJpbmcnXT1mdW5jdGlvbihfMHgzNjJmZjcsXzB4NGU0MzBjKXt2YXIgXzB4MzA2OTBlPV8weDU2YmRlNyxfMHg0OGJjYWI7aWYoXzB4NGU0MzBjPTB4MHxfMHg0ZTQzMGN8fDB4MSwweDEwPT09KF8weDM2MmZmNz1fMHgzNjJmZjd8fDB4YSl8fF8weDMwNjkwZSgnMHhjNGQnKT09PV8weDM2MmZmNyl7XzB4NDhiY2FiPScnO2Zvcih2YXIgXzB4MzNkY2RkPTB4MCxfMHgzZDQ3ZjY9MHgwLF8weDM5ODlhOT0weDA7XzB4Mzk4OWE5PHRoaXNbXzB4MzA2OTBlKCcweDUyMCcpXTtfMHgzOTg5YTkrKyl7dmFyIF8weDI3MDcwOD10aGlzW18weDMwNjkwZSgnMHg5NzInKV1bXzB4Mzk4OWE5XSxfMHhmNTkwYzM9KDB4ZmZmZmZmJihfMHgyNzA3MDg8PF8weDMzZGNkZHxfMHgzZDQ3ZjYpKVtfMHgzMDY5MGUoJzB4NTQ3JyldKDB4MTApO18weDNkNDdmNj1fMHgyNzA3MDg+Pj4weDE4LV8weDMzZGNkZCYweGZmZmZmZiwoXzB4MzNkY2RkKz0weDIpPj0weDFhJiYoXzB4MzNkY2RkLT0weDFhLF8weDM5ODlhOS0tKSxfMHg0OGJjYWI9MHgwIT09XzB4M2Q0N2Y2fHxfMHgzOTg5YTkhPT10aGlzW18weDMwNjkwZSgnMHg1MjAnKV0tMHgxP18weDVhY2Q4ZlsweDYtXzB4ZjU5MGMzWydsZW5ndGgnXV0rXzB4ZjU5MGMzK18weDQ4YmNhYjpfMHhmNTkwYzMrXzB4NDhiY2FiO31mb3IoMHgwIT09XzB4M2Q0N2Y2JiYoXzB4NDhiY2FiPV8weDNkNDdmNltfMHgzMDY5MGUoJzB4NTQ3JyldKDB4MTApK18weDQ4YmNhYik7XzB4NDhiY2FiW18weDMwNjkwZSgnMHg1MjAnKV0lXzB4NGU0MzBjIT0weDA7KV8weDQ4YmNhYj0nMCcrXzB4NDhiY2FiO3JldHVybiAweDAhPT10aGlzW18weDMwNjkwZSgnMHhkNTAnKV0mJihfMHg0OGJjYWI9Jy0nK18weDQ4YmNhYiksXzB4NDhiY2FiO31pZihfMHgzNjJmZjc9PT0oMHgwfF8weDM2MmZmNykmJl8weDM2MmZmNz49MHgyJiZfMHgzNjJmZjc8PTB4MjQpe3ZhciBfMHgyOTExNmI9XzB4NGM3YmI2W18weDM2MmZmN10sXzB4NDRhNGJjPV8weDk3OTAxW18weDM2MmZmN107XzB4NDhiY2FiPScnO3ZhciBfMHg0ZTY4MWI9dGhpc1snY2xvbmUnXSgpO2ZvcihfMHg0ZTY4MWJbXzB4MzA2OTBlKCcweGQ1MCcpXT0weDA7IV8weDRlNjgxYltfMHgzMDY5MGUoJzB4YTQ3JyldKCk7KXt2YXIgXzB4NDc2MGIwPV8weDRlNjgxYltfMHgzMDY5MGUoJzB4NjQ0JyldKF8weDQ0YTRiYylbXzB4MzA2OTBlKCcweDU0NycpXShfMHgzNjJmZjcpO18weDQ4YmNhYj0oXzB4NGU2ODFiPV8weDRlNjgxYltfMHgzMDY5MGUoJzB4ODY2JyldKF8weDQ0YTRiYykpW18weDMwNjkwZSgnMHhhNDcnKV0oKT9fMHg0NzYwYjArXzB4NDhiY2FiOl8weDVhY2Q4ZltfMHgyOTExNmItXzB4NDc2MGIwW18weDMwNjkwZSgnMHg1MjAnKV1dK18weDQ3NjBiMCtfMHg0OGJjYWI7fWZvcih0aGlzW18weDMwNjkwZSgnMHhhNDcnKV0oKSYmKF8weDQ4YmNhYj0nMCcrXzB4NDhiY2FiKTtfMHg0OGJjYWJbXzB4MzA2OTBlKCcweDUyMCcpXSVfMHg0ZTQzMGMhPTB4MDspXzB4NDhiY2FiPScwJytfMHg0OGJjYWI7cmV0dXJuIDB4MCE9PXRoaXNbXzB4MzA2OTBlKCcweGQ1MCcpXSYmKF8weDQ4YmNhYj0nLScrXzB4NDhiY2FiKSxfMHg0OGJjYWI7fV8weGNhMzNhYighMHgxLF8weDMwNjkwZSgnMHg4MjEnKSk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVsndG9OdW1iZXInXT1mdW5jdGlvbigpe3ZhciBfMHg0NDdjNWE9XzB4NTZiZGU3LF8weDIwNjFlND10aGlzW18weDQ0N2M1YSgnMHg5NzInKV1bMHgwXTtyZXR1cm4gMHgyPT09dGhpc1tfMHg0NDdjNWEoJzB4NTIwJyldP18weDIwNjFlNCs9MHg0MDAwMDAwKnRoaXNbJ3dvcmRzJ11bMHgxXToweDM9PT10aGlzW18weDQ0N2M1YSgnMHg1MjAnKV0mJjB4MT09PXRoaXNbXzB4NDQ3YzVhKCcweDk3MicpXVsweDJdP18weDIwNjFlNCs9MHgxMDAwMDAwMDAwMDAwMCsweDQwMDAwMDAqdGhpc1tfMHg0NDdjNWEoJzB4OTcyJyldWzB4MV06dGhpc1tfMHg0NDdjNWEoJzB4NTIwJyldPjB4MiYmXzB4Y2EzM2FiKCEweDEsXzB4NDQ3YzVhKCcweGE2NycpKSwweDAhPT10aGlzW18weDQ0N2M1YSgnMHhkNTAnKV0/LV8weDIwNjFlNDpfMHgyMDYxZTQ7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4YTQ5JyldPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbJ3RvU3RyaW5nJ10oMHgxMCwweDIpO30sXzB4MjY1Nzc1JiYoXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDg1MicpXT1mdW5jdGlvbihfMHg0OWNhMjksXzB4MTAwMmNlKXt2YXIgXzB4MmY3OTIzPV8weDU2YmRlNztyZXR1cm4gdGhpc1tfMHgyZjc5MjMoJzB4YjA0JyldKF8weDI2NTc3NSxfMHg0OWNhMjksXzB4MTAwMmNlKTt9KSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVsndG9BcnJheSddPWZ1bmN0aW9uKF8weDQzZDk5ZixfMHgzODk3NDApe3JldHVybiB0aGlzWyd0b0FycmF5TGlrZSddKEFycmF5LF8weDQzZDk5ZixfMHgzODk3NDApO30sXzB4MzJmMWJjWydwcm90b3R5cGUnXVtfMHg1NmJkZTcoJzB4YjA0JyldPWZ1bmN0aW9uKF8weDIzM2IyYyxfMHgxMjExN2QsXzB4NTRhZjhkKXt2YXIgXzB4MjEyNTQzPV8weDU2YmRlNzt0aGlzW18weDIxMjU0MygnMHhhZTQnKV0oKTt2YXIgXzB4OGU4NzdlPXRoaXNbXzB4MjEyNTQzKCcweDIxYicpXSgpLF8weDMyNWE2ZT1fMHg1NGFmOGR8fE1hdGhbJ21heCddKDB4MSxfMHg4ZTg3N2UpO18weGNhMzNhYihfMHg4ZTg3N2U8PV8weDMyNWE2ZSxfMHgyMTI1NDMoJzB4YjVmJykpLF8weGNhMzNhYihfMHgzMjVhNmU+MHgwLF8weDIxMjU0MygnMHg4OTInKSk7dmFyIF8weDNiMzZhNT1mdW5jdGlvbihfMHg1N2ZhNGYsXzB4MTFiYWY3KXt2YXIgXzB4MjYzZjQyPV8weDIxMjU0MztyZXR1cm4gXzB4NTdmYTRmW18weDI2M2Y0MignMHg0ZDYnKV0/XzB4NTdmYTRmW18weDI2M2Y0MignMHg0ZDYnKV0oXzB4MTFiYWY3KTpuZXcgXzB4NTdmYTRmKF8weDExYmFmNyk7fShfMHgyMzNiMmMsXzB4MzI1YTZlKTtyZXR1cm4gdGhpc1tfMHgyMTI1NDMoJzB4OTlkJykrKCdsZSc9PT1fMHgxMjExN2Q/J0xFJzonQkUnKV0oXzB4M2IzNmE1LF8weDhlODc3ZSksXzB4M2IzNmE1O30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweGFhZicpXT1mdW5jdGlvbihfMHgxODgwNjksXzB4NTkzOTg4KXt2YXIgXzB4NDAyZTEwPV8weDU2YmRlNztmb3IodmFyIF8weDMwZWZlZT0weDAsXzB4Mzg0MmYzPTB4MCxfMHgzODM3Njg9MHgwLF8weDU0ZjI2Yj0weDA7XzB4MzgzNzY4PHRoaXNbXzB4NDAyZTEwKCcweDUyMCcpXTtfMHgzODM3NjgrKyl7dmFyIF8weGE3MjlhYT10aGlzWyd3b3JkcyddW18weDM4Mzc2OF08PF8weDU0ZjI2YnxfMHgzODQyZjM7XzB4MTg4MDY5W18weDMwZWZlZSsrXT0weGZmJl8weGE3MjlhYSxfMHgzMGVmZWU8XzB4MTg4MDY5WydsZW5ndGgnXSYmKF8weDE4ODA2OVtfMHgzMGVmZWUrK109XzB4YTcyOWFhPj4weDgmMHhmZiksXzB4MzBlZmVlPF8weDE4ODA2OVtfMHg0MDJlMTAoJzB4NTIwJyldJiYoXzB4MTg4MDY5W18weDMwZWZlZSsrXT1fMHhhNzI5YWE+PjB4MTAmMHhmZiksMHg2PT09XzB4NTRmMjZiPyhfMHgzMGVmZWU8XzB4MTg4MDY5W18weDQwMmUxMCgnMHg1MjAnKV0mJihfMHgxODgwNjlbXzB4MzBlZmVlKytdPV8weGE3MjlhYT4+MHgxOCYweGZmKSxfMHgzODQyZjM9MHgwLF8weDU0ZjI2Yj0weDApOihfMHgzODQyZjM9XzB4YTcyOWFhPj4+MHgxOCxfMHg1NGYyNmIrPTB4Mik7fWlmKF8weDMwZWZlZTxfMHgxODgwNjlbXzB4NDAyZTEwKCcweDUyMCcpXSl7Zm9yKF8weDE4ODA2OVtfMHgzMGVmZWUrK109XzB4Mzg0MmYzO18weDMwZWZlZTxfMHgxODgwNjlbJ2xlbmd0aCddOylfMHgxODgwNjlbXzB4MzBlZmVlKytdPTB4MDt9fSxfMHgzMmYxYmNbJ3Byb3RvdHlwZSddW18weDU2YmRlNygnMHhiOWEnKV09ZnVuY3Rpb24oXzB4MmQ0YjBkLF8weDI3ZmRjMCl7dmFyIF8weDNmMDMxMz1fMHg1NmJkZTc7Zm9yKHZhciBfMHgxYjA1MGI9XzB4MmQ0YjBkW18weDNmMDMxMygnMHg1MjAnKV0tMHgxLF8weGFhMTFiMT0weDAsXzB4ZWY1MDE5PTB4MCxfMHg0ZjA1MWU9MHgwO18weGVmNTAxOTx0aGlzW18weDNmMDMxMygnMHg1MjAnKV07XzB4ZWY1MDE5Kyspe3ZhciBfMHgyY2FhMGE9dGhpc1tfMHgzZjAzMTMoJzB4OTcyJyldW18weGVmNTAxOV08PF8weDRmMDUxZXxfMHhhYTExYjE7XzB4MmQ0YjBkW18weDFiMDUwYi0tXT0weGZmJl8weDJjYWEwYSxfMHgxYjA1MGI+PTB4MCYmKF8weDJkNGIwZFtfMHgxYjA1MGItLV09XzB4MmNhYTBhPj4weDgmMHhmZiksXzB4MWIwNTBiPj0weDAmJihfMHgyZDRiMGRbXzB4MWIwNTBiLS1dPV8weDJjYWEwYT4+MHgxMCYweGZmKSwweDY9PT1fMHg0ZjA1MWU/KF8weDFiMDUwYj49MHgwJiYoXzB4MmQ0YjBkW18weDFiMDUwYi0tXT1fMHgyY2FhMGE+PjB4MTgmMHhmZiksXzB4YWExMWIxPTB4MCxfMHg0ZjA1MWU9MHgwKTooXzB4YWExMWIxPV8weDJjYWEwYT4+PjB4MTgsXzB4NGYwNTFlKz0weDIpO31pZihfMHgxYjA1MGI+PTB4MCl7Zm9yKF8weDJkNGIwZFtfMHgxYjA1MGItLV09XzB4YWExMWIxO18weDFiMDUwYj49MHgwOylfMHgyZDRiMGRbXzB4MWIwNTBiLS1dPTB4MDt9fSxNYXRoWydjbHozMiddP18weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldWydfY291bnRCaXRzJ109ZnVuY3Rpb24oXzB4NDg1NWJiKXt2YXIgXzB4MTE2YTA0PV8weDU2YmRlNztyZXR1cm4gMHgyMC1NYXRoW18weDExNmEwNCgnMHgyYjEnKV0oXzB4NDg1NWJiKTt9Ol8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHg4OTEnKV09ZnVuY3Rpb24oXzB4MzE4ODkxKXt2YXIgXzB4NDJjZDU2PV8weDMxODg5MSxfMHgzY2ZmZDM9MHgwO3JldHVybiBfMHg0MmNkNTY+PTB4MTAwMCYmKF8weDNjZmZkMys9MHhkLF8weDQyY2Q1Nj4+Pj0weGQpLF8weDQyY2Q1Nj49MHg0MCYmKF8weDNjZmZkMys9MHg3LF8weDQyY2Q1Nj4+Pj0weDcpLF8weDQyY2Q1Nj49MHg4JiYoXzB4M2NmZmQzKz0weDQsXzB4NDJjZDU2Pj4+PTB4NCksXzB4NDJjZDU2Pj0weDImJihfMHgzY2ZmZDMrPTB4MixfMHg0MmNkNTY+Pj49MHgyKSxfMHgzY2ZmZDMrXzB4NDJjZDU2O30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDJkMCcpXT1mdW5jdGlvbihfMHgzMjBiZGYpe2lmKDB4MD09PV8weDMyMGJkZilyZXR1cm4gMHgxYTt2YXIgXzB4MTdhNzdlPV8weDMyMGJkZixfMHg1MDI5N2U9MHgwO3JldHVybiAweDA9PSgweDFmZmYmXzB4MTdhNzdlKSYmKF8weDUwMjk3ZSs9MHhkLF8weDE3YTc3ZT4+Pj0weGQpLDB4MD09KDB4N2YmXzB4MTdhNzdlKSYmKF8weDUwMjk3ZSs9MHg3LF8weDE3YTc3ZT4+Pj0weDcpLDB4MD09KDB4ZiZfMHgxN2E3N2UpJiYoXzB4NTAyOTdlKz0weDQsXzB4MTdhNzdlPj4+PTB4NCksMHgwPT0oMHgzJl8weDE3YTc3ZSkmJihfMHg1MDI5N2UrPTB4MixfMHgxN2E3N2U+Pj49MHgyKSwweDA9PSgweDEmXzB4MTdhNzdlKSYmXzB4NTAyOTdlKyssXzB4NTAyOTdlO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDRlOScpXT1mdW5jdGlvbigpe3ZhciBfMHgxNGU2YjU9XzB4NTZiZGU3LF8weDNkYWEzND10aGlzW18weDE0ZTZiNSgnMHg5NzInKV1bdGhpc1tfMHgxNGU2YjUoJzB4NTIwJyldLTB4MV0sXzB4MTc5NjkxPXRoaXNbJ19jb3VudEJpdHMnXShfMHgzZGFhMzQpO3JldHVybiAweDFhKih0aGlzW18weDE0ZTZiNSgnMHg1MjAnKV0tMHgxKStfMHgxNzk2OTE7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVsnemVyb0JpdHMnXT1mdW5jdGlvbigpe3ZhciBfMHgxZTAwZDM9XzB4NTZiZGU3O2lmKHRoaXNbXzB4MWUwMGQzKCcweGE0NycpXSgpKXJldHVybiAweDA7Zm9yKHZhciBfMHg4MTQ3ODY9MHgwLF8weDQ5ZTYzND0weDA7XzB4NDllNjM0PHRoaXNbXzB4MWUwMGQzKCcweDUyMCcpXTtfMHg0OWU2MzQrKyl7dmFyIF8weDJlODBiNj10aGlzW18weDFlMDBkMygnMHgyZDAnKV0odGhpc1tfMHgxZTAwZDMoJzB4OTcyJyldW18weDQ5ZTYzNF0pO2lmKF8weDgxNDc4Nis9XzB4MmU4MGI2LDB4MWEhPT1fMHgyZTgwYjYpYnJlYWs7fXJldHVybiBfMHg4MTQ3ODY7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4MjFiJyldPWZ1bmN0aW9uKCl7dmFyIF8weGU1MzdmNj1fMHg1NmJkZTc7cmV0dXJuIE1hdGhbXzB4ZTUzN2Y2KCcweDQ2NicpXSh0aGlzWydiaXRMZW5ndGgnXSgpLzB4OCk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4OTAxJyldPWZ1bmN0aW9uKF8weDNmNDcwZSl7dmFyIF8weDNjYTU3ZD1fMHg1NmJkZTc7cmV0dXJuIDB4MCE9PXRoaXNbJ25lZ2F0aXZlJ10/dGhpc1snYWJzJ10oKVtfMHgzY2E1N2QoJzB4YTM4JyldKF8weDNmNDcwZSlbXzB4M2NhNTdkKCcweDc1ZicpXSgweDEpOnRoaXNbXzB4M2NhNTdkKCcweDM3OScpXSgpO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweGFiYicpXT1mdW5jdGlvbihfMHgzYWM0NjMpe3ZhciBfMHgxODQyNGQ9XzB4NTZiZGU3O3JldHVybiB0aGlzW18weDE4NDI0ZCgnMHg3YzMnKV0oXzB4M2FjNDYzLTB4MSk/dGhpc1tfMHgxODQyNGQoJzB4MWMwJyldKF8weDNhYzQ2MylbXzB4MTg0MjRkKCcweDc1ZicpXSgweDEpW18weDE4NDI0ZCgnMHg2OTcnKV0oKTp0aGlzW18weDE4NDI0ZCgnMHgzNzknKV0oKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHg1MzEnKV09ZnVuY3Rpb24oKXt2YXIgXzB4MmI4YTJkPV8weDU2YmRlNztyZXR1cm4gMHgwIT09dGhpc1tfMHgyYjhhMmQoJzB4ZDUwJyldO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bJ25lZyddPWZ1bmN0aW9uKCl7dmFyIF8weDE4NjY2Yj1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbXzB4MTg2NjZiKCcweDM3OScpXSgpWydpbmVnJ10oKTt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bJ2luZWcnXT1mdW5jdGlvbigpe3ZhciBfMHgzNjRhODU9XzB4NTZiZGU3O3JldHVybiB0aGlzWydpc1plcm8nXSgpfHwodGhpc1tfMHgzNjRhODUoJzB4ZDUwJyldXj0weDEpLHRoaXM7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4NzQyJyldPWZ1bmN0aW9uKF8weDI2ZDQxNil7dmFyIF8weDNmNGEwOD1fMHg1NmJkZTc7Zm9yKDt0aGlzW18weDNmNGEwOCgnMHg1MjAnKV08XzB4MjZkNDE2WydsZW5ndGgnXTspdGhpc1tfMHgzZjRhMDgoJzB4OTcyJyldW3RoaXNbJ2xlbmd0aCddKytdPTB4MDtmb3IodmFyIF8weDIxZTVmZT0weDA7XzB4MjFlNWZlPF8weDI2ZDQxNltfMHgzZjRhMDgoJzB4NTIwJyldO18weDIxZTVmZSsrKXRoaXNbXzB4M2Y0YTA4KCcweDk3MicpXVtfMHgyMWU1ZmVdPXRoaXNbXzB4M2Y0YTA4KCcweDk3MicpXVtfMHgyMWU1ZmVdfF8weDI2ZDQxNltfMHgzZjRhMDgoJzB4OTcyJyldW18weDIxZTVmZV07cmV0dXJuIHRoaXNbXzB4M2Y0YTA4KCcweGFlNCcpXSgpO30sXzB4MzJmMWJjWydwcm90b3R5cGUnXVtfMHg1NmJkZTcoJzB4NTBlJyldPWZ1bmN0aW9uKF8weDQzOTg5Yyl7dmFyIF8weDI4ZmIxMT1fMHg1NmJkZTc7cmV0dXJuIF8weGNhMzNhYigweDA9PSh0aGlzWyduZWdhdGl2ZSddfF8weDQzOTg5Y1tfMHgyOGZiMTEoJzB4ZDUwJyldKSksdGhpc1tfMHgyOGZiMTEoJzB4NzQyJyldKF8weDQzOTg5Yyk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVsnb3InXT1mdW5jdGlvbihfMHg0YWVmMzApe3ZhciBfMHgxMzkwN2Q9XzB4NTZiZGU3O3JldHVybiB0aGlzW18weDEzOTA3ZCgnMHg1MjAnKV0+XzB4NGFlZjMwW18weDEzOTA3ZCgnMHg1MjAnKV0/dGhpc1tfMHgxMzkwN2QoJzB4Mzc5JyldKClbJ2lvciddKF8weDRhZWYzMCk6XzB4NGFlZjMwWydjbG9uZSddKClbXzB4MTM5MDdkKCcweDUwZScpXSh0aGlzKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldWyd1b3InXT1mdW5jdGlvbihfMHg0ZmYxZGYpe3ZhciBfMHgxZDhmNjI9XzB4NTZiZGU3O3JldHVybiB0aGlzW18weDFkOGY2MignMHg1MjAnKV0+XzB4NGZmMWRmW18weDFkOGY2MignMHg1MjAnKV0/dGhpc1tfMHgxZDhmNjIoJzB4Mzc5JyldKClbXzB4MWQ4ZjYyKCcweDc0MicpXShfMHg0ZmYxZGYpOl8weDRmZjFkZltfMHgxZDhmNjIoJzB4Mzc5JyldKClbJ2l1b3InXSh0aGlzKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHhjMzMnKV09ZnVuY3Rpb24oXzB4MjAxZTFhKXt2YXIgXzB4MTFkYzEzPV8weDU2YmRlNyxfMHgxNTE4MGU7XzB4MTUxODBlPXRoaXNbJ2xlbmd0aCddPl8weDIwMWUxYVtfMHgxMWRjMTMoJzB4NTIwJyldP18weDIwMWUxYTp0aGlzO2Zvcih2YXIgXzB4MzA3YmQzPTB4MDtfMHgzMDdiZDM8XzB4MTUxODBlW18weDExZGMxMygnMHg1MjAnKV07XzB4MzA3YmQzKyspdGhpc1snd29yZHMnXVtfMHgzMDdiZDNdPXRoaXNbXzB4MTFkYzEzKCcweDk3MicpXVtfMHgzMDdiZDNdJl8weDIwMWUxYVtfMHgxMWRjMTMoJzB4OTcyJyldW18weDMwN2JkM107cmV0dXJuIHRoaXNbJ2xlbmd0aCddPV8weDE1MTgwZVsnbGVuZ3RoJ10sdGhpc1tfMHgxMWRjMTMoJzB4YWU0JyldKCk7fSxfMHgzMmYxYmNbJ3Byb3RvdHlwZSddW18weDU2YmRlNygnMHg1MTUnKV09ZnVuY3Rpb24oXzB4NDU2ZjUzKXt2YXIgXzB4NDBlYTlhPV8weDU2YmRlNztyZXR1cm4gXzB4Y2EzM2FiKDB4MD09KHRoaXNbXzB4NDBlYTlhKCcweGQ1MCcpXXxfMHg0NTZmNTNbJ25lZ2F0aXZlJ10pKSx0aGlzWydpdWFuZCddKF8weDQ1NmY1Myk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4NmZjJyldPWZ1bmN0aW9uKF8weDVkMWQ0OCl7dmFyIF8weDRlYWI2Nj1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbXzB4NGVhYjY2KCcweDUyMCcpXT5fMHg1ZDFkNDhbXzB4NGVhYjY2KCcweDUyMCcpXT90aGlzW18weDRlYWI2NignMHgzNzknKV0oKVtfMHg0ZWFiNjYoJzB4NTE1JyldKF8weDVkMWQ0OCk6XzB4NWQxZDQ4W18weDRlYWI2NignMHgzNzknKV0oKVtfMHg0ZWFiNjYoJzB4NTE1JyldKHRoaXMpO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDUyNScpXT1mdW5jdGlvbihfMHg0YWMxNDEpe3ZhciBfMHgyOTA0N2Y9XzB4NTZiZGU3O3JldHVybiB0aGlzW18weDI5MDQ3ZignMHg1MjAnKV0+XzB4NGFjMTQxW18weDI5MDQ3ZignMHg1MjAnKV0/dGhpc1tfMHgyOTA0N2YoJzB4Mzc5JyldKClbJ2l1YW5kJ10oXzB4NGFjMTQxKTpfMHg0YWMxNDFbJ2Nsb25lJ10oKVtfMHgyOTA0N2YoJzB4YzMzJyldKHRoaXMpO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweGNlMScpXT1mdW5jdGlvbihfMHg0NjRlOTkpe3ZhciBfMHg1ZDk4NjU9XzB4NTZiZGU3LF8weDNlMzYwMixfMHg1ZjRiYmI7dGhpc1tfMHg1ZDk4NjUoJzB4NTIwJyldPl8weDQ2NGU5OVsnbGVuZ3RoJ10/KF8weDNlMzYwMj10aGlzLF8weDVmNGJiYj1fMHg0NjRlOTkpOihfMHgzZTM2MDI9XzB4NDY0ZTk5LF8weDVmNGJiYj10aGlzKTtmb3IodmFyIF8weDMzYmY2ZD0weDA7XzB4MzNiZjZkPF8weDVmNGJiYltfMHg1ZDk4NjUoJzB4NTIwJyldO18weDMzYmY2ZCsrKXRoaXNbXzB4NWQ5ODY1KCcweDk3MicpXVtfMHgzM2JmNmRdPV8weDNlMzYwMltfMHg1ZDk4NjUoJzB4OTcyJyldW18weDMzYmY2ZF1eXzB4NWY0YmJiW18weDVkOTg2NSgnMHg5NzInKV1bXzB4MzNiZjZkXTtpZih0aGlzIT09XzB4M2UzNjAyKXtmb3IoO18weDMzYmY2ZDxfMHgzZTM2MDJbXzB4NWQ5ODY1KCcweDUyMCcpXTtfMHgzM2JmNmQrKyl0aGlzW18weDVkOTg2NSgnMHg5NzInKV1bXzB4MzNiZjZkXT1fMHgzZTM2MDJbXzB4NWQ5ODY1KCcweDk3MicpXVtfMHgzM2JmNmRdO31yZXR1cm4gdGhpc1tfMHg1ZDk4NjUoJzB4NTIwJyldPV8weDNlMzYwMltfMHg1ZDk4NjUoJzB4NTIwJyldLHRoaXNbJ19zdHJpcCddKCk7fSxfMHgzMmYxYmNbJ3Byb3RvdHlwZSddW18weDU2YmRlNygnMHg5MTMnKV09ZnVuY3Rpb24oXzB4MjgxNTk0KXt2YXIgXzB4NDhjZjA2PV8weDU2YmRlNztyZXR1cm4gXzB4Y2EzM2FiKDB4MD09KHRoaXNbXzB4NDhjZjA2KCcweGQ1MCcpXXxfMHgyODE1OTRbXzB4NDhjZjA2KCcweGQ1MCcpXSkpLHRoaXNbXzB4NDhjZjA2KCcweGNlMScpXShfMHgyODE1OTQpO30sXzB4MzJmMWJjWydwcm90b3R5cGUnXVsneG9yJ109ZnVuY3Rpb24oXzB4M2ZkNGQxKXt2YXIgXzB4MjRlOTM1PV8weDU2YmRlNztyZXR1cm4gdGhpc1tfMHgyNGU5MzUoJzB4NTIwJyldPl8weDNmZDRkMVtfMHgyNGU5MzUoJzB4NTIwJyldP3RoaXNbJ2Nsb25lJ10oKVsnaXhvciddKF8weDNmZDRkMSk6XzB4M2ZkNGQxW18weDI0ZTkzNSgnMHgzNzknKV0oKVtfMHgyNGU5MzUoJzB4OTEzJyldKHRoaXMpO30sXzB4MzJmMWJjWydwcm90b3R5cGUnXVtfMHg1NmJkZTcoJzB4MzgxJyldPWZ1bmN0aW9uKF8weDU3MmRkNSl7dmFyIF8weDkwZThkMj1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbJ2xlbmd0aCddPl8weDU3MmRkNVtfMHg5MGU4ZDIoJzB4NTIwJyldP3RoaXNbXzB4OTBlOGQyKCcweDM3OScpXSgpWydpdXhvciddKF8weDU3MmRkNSk6XzB4NTcyZGQ1W18weDkwZThkMignMHgzNzknKV0oKVtfMHg5MGU4ZDIoJzB4Y2UxJyldKHRoaXMpO30sXzB4MzJmMWJjWydwcm90b3R5cGUnXVtfMHg1NmJkZTcoJzB4YTM4JyldPWZ1bmN0aW9uKF8weDVhZmNhYil7dmFyIF8weDU1ZWUyOD1fMHg1NmJkZTc7XzB4Y2EzM2FiKF8weDU1ZWUyOCgnMHgyN2EnKT09dHlwZW9mIF8weDVhZmNhYiYmXzB4NWFmY2FiPj0weDApO3ZhciBfMHgxM2EyYmU9MHgwfE1hdGhbJ2NlaWwnXShfMHg1YWZjYWIvMHgxYSksXzB4NTM4Y2NmPV8weDVhZmNhYiUweDFhO3RoaXNbXzB4NTVlZTI4KCcweDQ1NCcpXShfMHgxM2EyYmUpLF8weDUzOGNjZj4weDAmJl8weDEzYTJiZS0tO2Zvcih2YXIgXzB4NWUxNjE5PTB4MDtfMHg1ZTE2MTk8XzB4MTNhMmJlO18weDVlMTYxOSsrKXRoaXNbXzB4NTVlZTI4KCcweDk3MicpXVtfMHg1ZTE2MTldPTB4M2ZmZmZmZiZ+dGhpc1tfMHg1NWVlMjgoJzB4OTcyJyldW18weDVlMTYxOV07cmV0dXJuIF8weDUzOGNjZj4weDAmJih0aGlzWyd3b3JkcyddW18weDVlMTYxOV09fnRoaXNbJ3dvcmRzJ11bXzB4NWUxNjE5XSYweDNmZmZmZmY+PjB4MWEtXzB4NTM4Y2NmKSx0aGlzW18weDU1ZWUyOCgnMHhhZTQnKV0oKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHgxYzAnKV09ZnVuY3Rpb24oXzB4NTRiMTE0KXt2YXIgXzB4MzdmMDUzPV8weDU2YmRlNztyZXR1cm4gdGhpc1tfMHgzN2YwNTMoJzB4Mzc5JyldKClbXzB4MzdmMDUzKCcweGEzOCcpXShfMHg1NGIxMTQpO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweGIxNCcpXT1mdW5jdGlvbihfMHgxMjA1ZGUsXzB4MTRiMTAwKXt2YXIgXzB4MWFiODA2PV8weDU2YmRlNztfMHhjYTMzYWIoXzB4MWFiODA2KCcweDI3YScpPT10eXBlb2YgXzB4MTIwNWRlJiZfMHgxMjA1ZGU+PTB4MCk7dmFyIF8weDUyN2E0OD1fMHgxMjA1ZGUvMHgxYXwweDAsXzB4NTJkM2JmPV8weDEyMDVkZSUweDFhO3JldHVybiB0aGlzW18weDFhYjgwNignMHg0NTQnKV0oXzB4NTI3YTQ4KzB4MSksdGhpc1tfMHgxYWI4MDYoJzB4OTcyJyldW18weDUyN2E0OF09XzB4MTRiMTAwP3RoaXNbXzB4MWFiODA2KCcweDk3MicpXVtfMHg1MjdhNDhdfDB4MTw8XzB4NTJkM2JmOnRoaXNbXzB4MWFiODA2KCcweDk3MicpXVtfMHg1MjdhNDhdJn4oMHgxPDxfMHg1MmQzYmYpLHRoaXNbXzB4MWFiODA2KCcweGFlNCcpXSgpO30sXzB4MzJmMWJjWydwcm90b3R5cGUnXVsnaWFkZCddPWZ1bmN0aW9uKF8weDQ2ZjNmYSl7dmFyIF8weDE1ZTdhNz1fMHg1NmJkZTcsXzB4M2IyYWIzLF8weGRlYWJlMCxfMHgxMGE4MjA7aWYoMHgwIT09dGhpc1snbmVnYXRpdmUnXSYmMHgwPT09XzB4NDZmM2ZhW18weDE1ZTdhNygnMHhkNTAnKV0pcmV0dXJuIHRoaXNbJ25lZ2F0aXZlJ109MHgwLF8weDNiMmFiMz10aGlzW18weDE1ZTdhNygnMHg2YTYnKV0oXzB4NDZmM2ZhKSx0aGlzW18weDE1ZTdhNygnMHhkNTAnKV1ePTB4MSx0aGlzWydfbm9ybVNpZ24nXSgpO2lmKDB4MD09PXRoaXNbJ25lZ2F0aXZlJ10mJjB4MCE9PV8weDQ2ZjNmYVtfMHgxNWU3YTcoJzB4ZDUwJyldKXJldHVybiBfMHg0NmYzZmFbXzB4MTVlN2E3KCcweGQ1MCcpXT0weDAsXzB4M2IyYWIzPXRoaXNbJ2lzdWInXShfMHg0NmYzZmEpLF8weDQ2ZjNmYVtfMHgxNWU3YTcoJzB4ZDUwJyldPTB4MSxfMHgzYjJhYjNbXzB4MTVlN2E3KCcweDY0NycpXSgpO3RoaXNbXzB4MTVlN2E3KCcweDUyMCcpXT5fMHg0NmYzZmFbXzB4MTVlN2E3KCcweDUyMCcpXT8oXzB4ZGVhYmUwPXRoaXMsXzB4MTBhODIwPV8weDQ2ZjNmYSk6KF8weGRlYWJlMD1fMHg0NmYzZmEsXzB4MTBhODIwPXRoaXMpO2Zvcih2YXIgXzB4MjRjNjhhPTB4MCxfMHgxNjJmYWU9MHgwO18weDE2MmZhZTxfMHgxMGE4MjBbJ2xlbmd0aCddO18weDE2MmZhZSsrKV8weDNiMmFiMz0oMHgwfF8weGRlYWJlMFtfMHgxNWU3YTcoJzB4OTcyJyldW18weDE2MmZhZV0pKygweDB8XzB4MTBhODIwWyd3b3JkcyddW18weDE2MmZhZV0pK18weDI0YzY4YSx0aGlzWyd3b3JkcyddW18weDE2MmZhZV09MHgzZmZmZmZmJl8weDNiMmFiMyxfMHgyNGM2OGE9XzB4M2IyYWIzPj4+MHgxYTtmb3IoOzB4MCE9PV8weDI0YzY4YSYmXzB4MTYyZmFlPF8weGRlYWJlMFtfMHgxNWU3YTcoJzB4NTIwJyldO18weDE2MmZhZSsrKV8weDNiMmFiMz0oMHgwfF8weGRlYWJlMFtfMHgxNWU3YTcoJzB4OTcyJyldW18weDE2MmZhZV0pK18weDI0YzY4YSx0aGlzW18weDE1ZTdhNygnMHg5NzInKV1bXzB4MTYyZmFlXT0weDNmZmZmZmYmXzB4M2IyYWIzLF8weDI0YzY4YT1fMHgzYjJhYjM+Pj4weDFhO2lmKHRoaXNbXzB4MTVlN2E3KCcweDUyMCcpXT1fMHhkZWFiZTBbJ2xlbmd0aCddLDB4MCE9PV8weDI0YzY4YSl0aGlzW18weDE1ZTdhNygnMHg5NzInKV1bdGhpc1tfMHgxNWU3YTcoJzB4NTIwJyldXT1fMHgyNGM2OGEsdGhpc1snbGVuZ3RoJ10rKztlbHNle2lmKF8weGRlYWJlMCE9PXRoaXMpe2Zvcig7XzB4MTYyZmFlPF8weGRlYWJlMFsnbGVuZ3RoJ107XzB4MTYyZmFlKyspdGhpc1snd29yZHMnXVtfMHgxNjJmYWVdPV8weGRlYWJlMFtfMHgxNWU3YTcoJzB4OTcyJyldW18weDE2MmZhZV07fX1yZXR1cm4gdGhpczt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHhiYTEnKV09ZnVuY3Rpb24oXzB4MmJmMTMxKXt2YXIgXzB4MzZhMWEyPV8weDU2YmRlNyxfMHg1YjQxNmY7cmV0dXJuIDB4MCE9PV8weDJiZjEzMVsnbmVnYXRpdmUnXSYmMHgwPT09dGhpc1tfMHgzNmExYTIoJzB4ZDUwJyldPyhfMHgyYmYxMzFbXzB4MzZhMWEyKCcweGQ1MCcpXT0weDAsXzB4NWI0MTZmPXRoaXNbXzB4MzZhMWEyKCcweGJiZicpXShfMHgyYmYxMzEpLF8weDJiZjEzMVtfMHgzNmExYTIoJzB4ZDUwJyldXj0weDEsXzB4NWI0MTZmKToweDA9PT1fMHgyYmYxMzFbXzB4MzZhMWEyKCcweGQ1MCcpXSYmMHgwIT09dGhpc1tfMHgzNmExYTIoJzB4ZDUwJyldPyh0aGlzW18weDM2YTFhMignMHhkNTAnKV09MHgwLF8weDViNDE2Zj1fMHgyYmYxMzFbJ3N1YiddKHRoaXMpLHRoaXNbXzB4MzZhMWEyKCcweGQ1MCcpXT0weDEsXzB4NWI0MTZmKTp0aGlzW18weDM2YTFhMignMHg1MjAnKV0+XzB4MmJmMTMxW18weDM2YTFhMignMHg1MjAnKV0/dGhpc1tfMHgzNmExYTIoJzB4Mzc5JyldKClbXzB4MzZhMWEyKCcweDdjNCcpXShfMHgyYmYxMzEpOl8weDJiZjEzMVtfMHgzNmExYTIoJzB4Mzc5JyldKClbXzB4MzZhMWEyKCcweDdjNCcpXSh0aGlzKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHg2YTYnKV09ZnVuY3Rpb24oXzB4MzhjYTg5KXt2YXIgXzB4MjE2ZmU5PV8weDU2YmRlNztpZigweDAhPT1fMHgzOGNhODlbXzB4MjE2ZmU5KCcweGQ1MCcpXSl7XzB4MzhjYTg5W18weDIxNmZlOSgnMHhkNTAnKV09MHgwO3ZhciBfMHhiMDllZGM9dGhpc1tfMHgyMTZmZTkoJzB4N2M0JyldKF8weDM4Y2E4OSk7cmV0dXJuIF8weDM4Y2E4OVtfMHgyMTZmZTkoJzB4ZDUwJyldPTB4MSxfMHhiMDllZGNbXzB4MjE2ZmU5KCcweDY0NycpXSgpO31pZigweDAhPT10aGlzW18weDIxNmZlOSgnMHhkNTAnKV0pcmV0dXJuIHRoaXNbJ25lZ2F0aXZlJ109MHgwLHRoaXNbJ2lhZGQnXShfMHgzOGNhODkpLHRoaXNbXzB4MjE2ZmU5KCcweGQ1MCcpXT0weDEsdGhpc1tfMHgyMTZmZTkoJzB4NjQ3JyldKCk7dmFyIF8weDFkYTkxMCxfMHgxZTc5NDMsXzB4M2YyMTc3PXRoaXNbJ2NtcCddKF8weDM4Y2E4OSk7aWYoMHgwPT09XzB4M2YyMTc3KXJldHVybiB0aGlzW18weDIxNmZlOSgnMHhkNTAnKV09MHgwLHRoaXNbXzB4MjE2ZmU5KCcweDUyMCcpXT0weDEsdGhpc1tfMHgyMTZmZTkoJzB4OTcyJyldWzB4MF09MHgwLHRoaXM7XzB4M2YyMTc3PjB4MD8oXzB4MWRhOTEwPXRoaXMsXzB4MWU3OTQzPV8weDM4Y2E4OSk6KF8weDFkYTkxMD1fMHgzOGNhODksXzB4MWU3OTQzPXRoaXMpO2Zvcih2YXIgXzB4NTBkMThmPTB4MCxfMHgyNmRlMTk9MHgwO18weDI2ZGUxOTxfMHgxZTc5NDNbXzB4MjE2ZmU5KCcweDUyMCcpXTtfMHgyNmRlMTkrKylfMHg1MGQxOGY9KF8weGIwOWVkYz0oMHgwfF8weDFkYTkxMFtfMHgyMTZmZTkoJzB4OTcyJyldW18weDI2ZGUxOV0pLSgweDB8XzB4MWU3OTQzW18weDIxNmZlOSgnMHg5NzInKV1bXzB4MjZkZTE5XSkrXzB4NTBkMThmKT4+MHgxYSx0aGlzWyd3b3JkcyddW18weDI2ZGUxOV09MHgzZmZmZmZmJl8weGIwOWVkYztmb3IoOzB4MCE9PV8weDUwZDE4ZiYmXzB4MjZkZTE5PF8weDFkYTkxMFtfMHgyMTZmZTkoJzB4NTIwJyldO18weDI2ZGUxOSsrKV8weDUwZDE4Zj0oXzB4YjA5ZWRjPSgweDB8XzB4MWRhOTEwW18weDIxNmZlOSgnMHg5NzInKV1bXzB4MjZkZTE5XSkrXzB4NTBkMThmKT4+MHgxYSx0aGlzW18weDIxNmZlOSgnMHg5NzInKV1bXzB4MjZkZTE5XT0weDNmZmZmZmYmXzB4YjA5ZWRjO2lmKDB4MD09PV8weDUwZDE4ZiYmXzB4MjZkZTE5PF8weDFkYTkxMFtfMHgyMTZmZTkoJzB4NTIwJyldJiZfMHgxZGE5MTAhPT10aGlzKXtmb3IoO18weDI2ZGUxOTxfMHgxZGE5MTBbJ2xlbmd0aCddO18weDI2ZGUxOSsrKXRoaXNbXzB4MjE2ZmU5KCcweDk3MicpXVtfMHgyNmRlMTldPV8weDFkYTkxMFsnd29yZHMnXVtfMHgyNmRlMTldO31yZXR1cm4gdGhpc1tfMHgyMTZmZTkoJzB4NTIwJyldPU1hdGhbJ21heCddKHRoaXNbXzB4MjE2ZmU5KCcweDUyMCcpXSxfMHgyNmRlMTkpLF8weDFkYTkxMCE9PXRoaXMmJih0aGlzW18weDIxNmZlOSgnMHhkNTAnKV09MHgxKSx0aGlzW18weDIxNmZlOSgnMHhhZTQnKV0oKTt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bJ3N1YiddPWZ1bmN0aW9uKF8weDIzNmEzZCl7dmFyIF8weDQxYzcxOD1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbJ2Nsb25lJ10oKVtfMHg0MWM3MTgoJzB4NmE2JyldKF8weDIzNmEzZCk7fTt2YXIgXzB4MzJlMTBmPWZ1bmN0aW9uKF8weDU0MjcxYixfMHgxYWJmMzcsXzB4MmRhNzBhKXt2YXIgXzB4MjkwN2RiPV8weDU2YmRlNyxfMHg1MWQyMmYsXzB4MzVjNmY2LF8weDQ2ODIzMyxfMHgzMDc5MDE9XzB4NTQyNzFiWyd3b3JkcyddLF8weDFiYzZjOT1fMHgxYWJmMzdbJ3dvcmRzJ10sXzB4MjU3MTE5PV8weDJkYTcwYVtfMHgyOTA3ZGIoJzB4OTcyJyldLF8weDU4MTlmYz0weDAsXzB4MmNkMWIzPTB4MHxfMHgzMDc5MDFbMHgwXSxfMHgxNGIyY2I9MHgxZmZmJl8weDJjZDFiMyxfMHg1ZTNjNDg9XzB4MmNkMWIzPj4+MHhkLF8weDViMjEwYT0weDB8XzB4MzA3OTAxWzB4MV0sXzB4MzkxMWYwPTB4MWZmZiZfMHg1YjIxMGEsXzB4MWNkMzQ1PV8weDViMjEwYT4+PjB4ZCxfMHg1YWUyZGE9MHgwfF8weDMwNzkwMVsweDJdLF8weDI4MDIzMT0weDFmZmYmXzB4NWFlMmRhLF8weDJiNGEzNj1fMHg1YWUyZGE+Pj4weGQsXzB4Mzc0OTk2PTB4MHxfMHgzMDc5MDFbMHgzXSxfMHg0MjJiNmM9MHgxZmZmJl8weDM3NDk5NixfMHg0NzZkOTk9XzB4Mzc0OTk2Pj4+MHhkLF8weGMxZWU3ZT0weDB8XzB4MzA3OTAxWzB4NF0sXzB4M2NiZWYyPTB4MWZmZiZfMHhjMWVlN2UsXzB4MWJhYTk0PV8weGMxZWU3ZT4+PjB4ZCxfMHg0NzFlNjQ9MHgwfF8weDMwNzkwMVsweDVdLF8weDI5MmEwMz0weDFmZmYmXzB4NDcxZTY0LF8weDE2ODA2ZT1fMHg0NzFlNjQ+Pj4weGQsXzB4MzlhYjE3PTB4MHxfMHgzMDc5MDFbMHg2XSxfMHg0ZmM3ZWE9MHgxZmZmJl8weDM5YWIxNyxfMHg1OWQ0YmI9XzB4MzlhYjE3Pj4+MHhkLF8weDViYzRiZD0weDB8XzB4MzA3OTAxWzB4N10sXzB4MjU4ZjRmPTB4MWZmZiZfMHg1YmM0YmQsXzB4MWI2YmViPV8weDViYzRiZD4+PjB4ZCxfMHgxMGFmMGM9MHgwfF8weDMwNzkwMVsweDhdLF8weDM0MWNiNT0weDFmZmYmXzB4MTBhZjBjLF8weDEwZThkYj1fMHgxMGFmMGM+Pj4weGQsXzB4MmU3NzU4PTB4MHxfMHgzMDc5MDFbMHg5XSxfMHgyN2I0Nzk9MHgxZmZmJl8weDJlNzc1OCxfMHgyMzc3NDk9XzB4MmU3NzU4Pj4+MHhkLF8weDNhOTU2Yz0weDB8XzB4MWJjNmM5WzB4MF0sXzB4MmQzYjdmPTB4MWZmZiZfMHgzYTk1NmMsXzB4MWRjZjg4PV8weDNhOTU2Yz4+PjB4ZCxfMHgzYWIxY2Y9MHgwfF8weDFiYzZjOVsweDFdLF8weDRlNzBkYz0weDFmZmYmXzB4M2FiMWNmLF8weDI2NmI5Mz1fMHgzYWIxY2Y+Pj4weGQsXzB4Mzk4NDIzPTB4MHxfMHgxYmM2YzlbMHgyXSxfMHgxNzIyMDY9MHgxZmZmJl8weDM5ODQyMyxfMHg0NDdhNTY9XzB4Mzk4NDIzPj4+MHhkLF8weDQ5N2EzMD0weDB8XzB4MWJjNmM5WzB4M10sXzB4NjEyNmI9MHgxZmZmJl8weDQ5N2EzMCxfMHgzOGQ3OWY9XzB4NDk3YTMwPj4+MHhkLF8weDE2MDM4ZD0weDB8XzB4MWJjNmM5WzB4NF0sXzB4NDBlZWI3PTB4MWZmZiZfMHgxNjAzOGQsXzB4MzNjNmQxPV8weDE2MDM4ZD4+PjB4ZCxfMHgxZWNiY2E9MHgwfF8weDFiYzZjOVsweDVdLF8weDNlYTc5Yj0weDFmZmYmXzB4MWVjYmNhLF8weDQyMDU0Mj1fMHgxZWNiY2E+Pj4weGQsXzB4NGFmYWRhPTB4MHxfMHgxYmM2YzlbMHg2XSxfMHg1M2U5YTM9MHgxZmZmJl8weDRhZmFkYSxfMHg0ZTgwMTE9XzB4NGFmYWRhPj4+MHhkLF8weDExYTc4YT0weDB8XzB4MWJjNmM5WzB4N10sXzB4NDFmNmJmPTB4MWZmZiZfMHgxMWE3OGEsXzB4NGE0YWI2PV8weDExYTc4YT4+PjB4ZCxfMHgzOGFlNGE9MHgwfF8weDFiYzZjOVsweDhdLF8weDNjNzdiNj0weDFmZmYmXzB4MzhhZTRhLF8weDQxNTJjMj1fMHgzOGFlNGE+Pj4weGQsXzB4MzM3NDE0PTB4MHxfMHgxYmM2YzlbMHg5XSxfMHgxYzQxM2E9MHgxZmZmJl8weDMzNzQxNCxfMHgyZTA4ZjY9XzB4MzM3NDE0Pj4+MHhkO18weDJkYTcwYVtfMHgyOTA3ZGIoJzB4ZDUwJyldPV8weDU0MjcxYltfMHgyOTA3ZGIoJzB4ZDUwJyldXl8weDFhYmYzN1tfMHgyOTA3ZGIoJzB4ZDUwJyldLF8weDJkYTcwYVtfMHgyOTA3ZGIoJzB4NTIwJyldPTB4MTM7dmFyIF8weDMwOGJhMj0oXzB4NTgxOWZjKyhfMHg1MWQyMmY9TWF0aFsnaW11bCddKF8weDE0YjJjYixfMHgyZDNiN2YpKXwweDApKygoMHgxZmZmJihfMHgzNWM2ZjY9KF8weDM1YzZmNj1NYXRoWydpbXVsJ10oXzB4MTRiMmNiLF8weDFkY2Y4OCkpK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1ZTNjNDgsXzB4MmQzYjdmKXwweDApKTw8MHhkKXwweDA7XzB4NTgxOWZjPSgoXzB4NDY4MjMzPU1hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1ZTNjNDgsXzB4MWRjZjg4KSkrKF8weDM1YzZmNj4+PjB4ZCl8MHgwKSsoXzB4MzA4YmEyPj4+MHgxYSl8MHgwLF8weDMwOGJhMiY9MHgzZmZmZmZmLF8weDUxZDIyZj1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MzkxMWYwLF8weDJkM2I3ZiksXzB4MzVjNmY2PShfMHgzNWM2ZjY9TWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDM5MTFmMCxfMHgxZGNmODgpKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MWNkMzQ1LF8weDJkM2I3Zil8MHgwLF8weDQ2ODIzMz1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MWNkMzQ1LF8weDFkY2Y4OCk7dmFyIF8weDM3N2NjZj0oXzB4NTgxOWZjKyhfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxNGIyY2IsXzB4NGU3MGRjKXwweDApfDB4MCkrKCgweDFmZmYmKF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MTRiMmNiLF8weDI2NmI5Myl8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NWUzYzQ4LF8weDRlNzBkYyl8MHgwKSk8PDB4ZCl8MHgwO18weDU4MTlmYz0oKF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDVlM2M0OCxfMHgyNjZiOTMpfDB4MCkrKF8weDM1YzZmNj4+PjB4ZCl8MHgwKSsoXzB4Mzc3Y2NmPj4+MHgxYSl8MHgwLF8weDM3N2NjZiY9MHgzZmZmZmZmLF8weDUxZDIyZj1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjgwMjMxLF8weDJkM2I3ZiksXzB4MzVjNmY2PShfMHgzNWM2ZjY9TWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDI4MDIzMSxfMHgxZGNmODgpKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MmI0YTM2LF8weDJkM2I3Zil8MHgwLF8weDQ2ODIzMz1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MmI0YTM2LF8weDFkY2Y4OCksXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoWydpbXVsJ10oXzB4MzkxMWYwLF8weDRlNzBkYyl8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MzkxMWYwLF8weDI2NmI5Myl8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MWNkMzQ1LF8weDRlNzBkYyl8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFsnaW11bCddKF8weDFjZDM0NSxfMHgyNjZiOTMpfDB4MDt2YXIgXzB4NTczN2YwPShfMHg1ODE5ZmMrKF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFsnaW11bCddKF8weDE0YjJjYixfMHgxNzIyMDYpfDB4MCl8MHgwKSsoKDB4MWZmZiYoXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxNGIyY2IsXzB4NDQ3YTU2KXwweDApK01hdGhbJ2ltdWwnXShfMHg1ZTNjNDgsXzB4MTcyMjA2KXwweDApKTw8MHhkKXwweDA7XzB4NTgxOWZjPSgoXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoWydpbXVsJ10oXzB4NWUzYzQ4LF8weDQ0N2E1Nil8MHgwKSsoXzB4MzVjNmY2Pj4+MHhkKXwweDApKyhfMHg1NzM3ZjA+Pj4weDFhKXwweDAsXzB4NTczN2YwJj0weDNmZmZmZmYsXzB4NTFkMjJmPU1hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg0MjJiNmMsXzB4MmQzYjdmKSxfMHgzNWM2ZjY9KF8weDM1YzZmNj1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NDIyYjZjLF8weDFkY2Y4OCkpK01hdGhbJ2ltdWwnXShfMHg0NzZkOTksXzB4MmQzYjdmKXwweDAsXzB4NDY4MjMzPU1hdGhbJ2ltdWwnXShfMHg0NzZkOTksXzB4MWRjZjg4KSxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyODAyMzEsXzB4NGU3MGRjKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbJ2ltdWwnXShfMHgyODAyMzEsXzB4MjY2YjkzKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyYjRhMzYsXzB4NGU3MGRjKXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MmI0YTM2LF8weDI2NmI5Myl8MHgwLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDM5MTFmMCxfMHgxNzIyMDYpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDM5MTFmMCxfMHg0NDdhNTYpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFjZDM0NSxfMHgxNzIyMDYpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxY2QzNDUsXzB4NDQ3YTU2KXwweDA7dmFyIF8weDEzOWFmYj0oXzB4NTgxOWZjKyhfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxNGIyY2IsXzB4NjEyNmIpfDB4MCl8MHgwKSsoKDB4MWZmZiYoXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbJ2ltdWwnXShfMHgxNGIyY2IsXzB4MzhkNzlmKXwweDApK01hdGhbJ2ltdWwnXShfMHg1ZTNjNDgsXzB4NjEyNmIpfDB4MCkpPDwweGQpfDB4MDtfMHg1ODE5ZmM9KChfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1ZTNjNDgsXzB4MzhkNzlmKXwweDApKyhfMHgzNWM2ZjY+Pj4weGQpfDB4MCkrKF8weDEzOWFmYj4+PjB4MWEpfDB4MCxfMHgxMzlhZmImPTB4M2ZmZmZmZixfMHg1MWQyMmY9TWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDNjYmVmMixfMHgyZDNiN2YpLF8weDM1YzZmNj0oXzB4MzVjNmY2PU1hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzY2JlZjIsXzB4MWRjZjg4KSkrTWF0aFsnaW11bCddKF8weDFiYWE5NCxfMHgyZDNiN2YpfDB4MCxfMHg0NjgyMzM9TWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFiYWE5NCxfMHgxZGNmODgpLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFsnaW11bCddKF8weDQyMmI2YyxfMHg0ZTcwZGMpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDQyMmI2YyxfMHgyNjZiOTMpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDQ3NmQ5OSxfMHg0ZTcwZGMpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg0NzZkOTksXzB4MjY2YjkzKXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjgwMjMxLF8weDE3MjIwNil8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoWydpbXVsJ10oXzB4MjgwMjMxLF8weDQ0N2E1Nil8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MmI0YTM2LF8weDE3MjIwNil8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFsnaW11bCddKF8weDJiNGEzNixfMHg0NDdhNTYpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzOTExZjAsXzB4NjEyNmIpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDM5MTFmMCxfMHgzOGQ3OWYpfDB4MCkrTWF0aFsnaW11bCddKF8weDFjZDM0NSxfMHg2MTI2Yil8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFsnaW11bCddKF8weDFjZDM0NSxfMHgzOGQ3OWYpfDB4MDt2YXIgXzB4NDQzNWJkPShfMHg1ODE5ZmMrKF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDE0YjJjYixfMHg0MGVlYjcpfDB4MCl8MHgwKSsoKDB4MWZmZiYoXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxNGIyY2IsXzB4MzNjNmQxKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1ZTNjNDgsXzB4NDBlZWI3KXwweDApKTw8MHhkKXwweDA7XzB4NTgxOWZjPSgoXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoWydpbXVsJ10oXzB4NWUzYzQ4LF8weDMzYzZkMSl8MHgwKSsoXzB4MzVjNmY2Pj4+MHhkKXwweDApKyhfMHg0NDM1YmQ+Pj4weDFhKXwweDAsXzB4NDQzNWJkJj0weDNmZmZmZmYsXzB4NTFkMjJmPU1hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyOTJhMDMsXzB4MmQzYjdmKSxfMHgzNWM2ZjY9KF8weDM1YzZmNj1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjkyYTAzLF8weDFkY2Y4OCkpK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxNjgwNmUsXzB4MmQzYjdmKXwweDAsXzB4NDY4MjMzPU1hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxNjgwNmUsXzB4MWRjZjg4KSxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzY2JlZjIsXzB4NGU3MGRjKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzY2JlZjIsXzB4MjY2YjkzKXwweDApK01hdGhbJ2ltdWwnXShfMHgxYmFhOTQsXzB4NGU3MGRjKXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MWJhYTk0LF8weDI2NmI5Myl8MHgwLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDQyMmI2YyxfMHgxNzIyMDYpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFsnaW11bCddKF8weDQyMmI2YyxfMHg0NDdhNTYpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDQ3NmQ5OSxfMHgxNzIyMDYpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg0NzZkOTksXzB4NDQ3YTU2KXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoWydpbXVsJ10oXzB4MjgwMjMxLF8weDYxMjZiKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbJ2ltdWwnXShfMHgyODAyMzEsXzB4MzhkNzlmKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyYjRhMzYsXzB4NjEyNmIpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyYjRhMzYsXzB4MzhkNzlmKXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MzkxMWYwLF8weDQwZWViNyl8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MzkxMWYwLF8weDMzYzZkMSl8MHgwKStNYXRoWydpbXVsJ10oXzB4MWNkMzQ1LF8weDQwZWViNyl8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFjZDM0NSxfMHgzM2M2ZDEpfDB4MDt2YXIgXzB4MzdjNjU3PShfMHg1ODE5ZmMrKF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDE0YjJjYixfMHgzZWE3OWIpfDB4MCl8MHgwKSsoKDB4MWZmZiYoXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxNGIyY2IsXzB4NDIwNTQyKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1ZTNjNDgsXzB4M2VhNzliKXwweDApKTw8MHhkKXwweDA7XzB4NTgxOWZjPSgoXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NWUzYzQ4LF8weDQyMDU0Mil8MHgwKSsoXzB4MzVjNmY2Pj4+MHhkKXwweDApKyhfMHgzN2M2NTc+Pj4weDFhKXwweDAsXzB4MzdjNjU3Jj0weDNmZmZmZmYsXzB4NTFkMjJmPU1hdGhbJ2ltdWwnXShfMHg0ZmM3ZWEsXzB4MmQzYjdmKSxfMHgzNWM2ZjY9KF8weDM1YzZmNj1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NGZjN2VhLF8weDFkY2Y4OCkpK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1OWQ0YmIsXzB4MmQzYjdmKXwweDAsXzB4NDY4MjMzPU1hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1OWQ0YmIsXzB4MWRjZjg4KSxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyOTJhMDMsXzB4NGU3MGRjKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyOTJhMDMsXzB4MjY2YjkzKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxNjgwNmUsXzB4NGU3MGRjKXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MTY4MDZlLF8weDI2NmI5Myl8MHgwLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDNjYmVmMixfMHgxNzIyMDYpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDNjYmVmMixfMHg0NDdhNTYpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFiYWE5NCxfMHgxNzIyMDYpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxYmFhOTQsXzB4NDQ3YTU2KXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NDIyYjZjLF8weDYxMjZiKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg0MjJiNmMsXzB4MzhkNzlmKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg0NzZkOTksXzB4NjEyNmIpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg0NzZkOTksXzB4MzhkNzlmKXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjgwMjMxLF8weDQwZWViNyl8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjgwMjMxLF8weDMzYzZkMSl8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MmI0YTM2LF8weDQwZWViNyl8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDJiNGEzNixfMHgzM2M2ZDEpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzOTExZjAsXzB4M2VhNzliKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzOTExZjAsXzB4NDIwNTQyKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxY2QzNDUsXzB4M2VhNzliKXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoWydpbXVsJ10oXzB4MWNkMzQ1LF8weDQyMDU0Mil8MHgwO3ZhciBfMHgxZjg1OWI9KF8weDU4MTlmYysoXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoWydpbXVsJ10oXzB4MTRiMmNiLF8weDUzZTlhMyl8MHgwKXwweDApKygoMHgxZmZmJihfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFsnaW11bCddKF8weDE0YjJjYixfMHg0ZTgwMTEpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDVlM2M0OCxfMHg1M2U5YTMpfDB4MCkpPDwweGQpfDB4MDtfMHg1ODE5ZmM9KChfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbJ2ltdWwnXShfMHg1ZTNjNDgsXzB4NGU4MDExKXwweDApKyhfMHgzNWM2ZjY+Pj4weGQpfDB4MCkrKF8weDFmODU5Yj4+PjB4MWEpfDB4MCxfMHgxZjg1OWImPTB4M2ZmZmZmZixfMHg1MWQyMmY9TWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDI1OGY0ZixfMHgyZDNiN2YpLF8weDM1YzZmNj0oXzB4MzVjNmY2PU1hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyNThmNGYsXzB4MWRjZjg4KSkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFiNmJlYixfMHgyZDNiN2YpfDB4MCxfMHg0NjgyMzM9TWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFiNmJlYixfMHgxZGNmODgpLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFsnaW11bCddKF8weDRmYzdlYSxfMHg0ZTcwZGMpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDRmYzdlYSxfMHgyNjZiOTMpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDU5ZDRiYixfMHg0ZTcwZGMpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbJ2ltdWwnXShfMHg1OWQ0YmIsXzB4MjY2YjkzKXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjkyYTAzLF8weDE3MjIwNil8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjkyYTAzLF8weDQ0N2E1Nil8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MTY4MDZlLF8weDE3MjIwNil8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFsnaW11bCddKF8weDE2ODA2ZSxfMHg0NDdhNTYpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbJ2ltdWwnXShfMHgzY2JlZjIsXzB4NjEyNmIpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDNjYmVmMixfMHgzOGQ3OWYpfDB4MCkrTWF0aFsnaW11bCddKF8weDFiYWE5NCxfMHg2MTI2Yil8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFiYWE5NCxfMHgzOGQ3OWYpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg0MjJiNmMsXzB4NDBlZWI3KXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg0MjJiNmMsXzB4MzNjNmQxKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg0NzZkOTksXzB4NDBlZWI3KXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NDc2ZDk5LF8weDMzYzZkMSl8MHgwLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFsnaW11bCddKF8weDI4MDIzMSxfMHgzZWE3OWIpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDI4MDIzMSxfMHg0MjA1NDIpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDJiNGEzNixfMHgzZWE3OWIpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyYjRhMzYsXzB4NDIwNTQyKXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MzkxMWYwLF8weDUzZTlhMyl8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MzkxMWYwLF8weDRlODAxMSl8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MWNkMzQ1LF8weDUzZTlhMyl8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFjZDM0NSxfMHg0ZTgwMTEpfDB4MDt2YXIgXzB4MTMyNzhkPShfMHg1ODE5ZmMrKF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDE0YjJjYixfMHg0MWY2YmYpfDB4MCl8MHgwKSsoKDB4MWZmZiYoXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbJ2ltdWwnXShfMHgxNGIyY2IsXzB4NGE0YWI2KXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1ZTNjNDgsXzB4NDFmNmJmKXwweDApKTw8MHhkKXwweDA7XzB4NTgxOWZjPSgoXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NWUzYzQ4LF8weDRhNGFiNil8MHgwKSsoXzB4MzVjNmY2Pj4+MHhkKXwweDApKyhfMHgxMzI3OGQ+Pj4weDFhKXwweDAsXzB4MTMyNzhkJj0weDNmZmZmZmYsXzB4NTFkMjJmPU1hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzNDFjYjUsXzB4MmQzYjdmKSxfMHgzNWM2ZjY9KF8weDM1YzZmNj1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MzQxY2I1LF8weDFkY2Y4OCkpK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxMGU4ZGIsXzB4MmQzYjdmKXwweDAsXzB4NDY4MjMzPU1hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxMGU4ZGIsXzB4MWRjZjg4KSxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyNThmNGYsXzB4NGU3MGRjKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyNThmNGYsXzB4MjY2YjkzKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxYjZiZWIsXzB4NGU3MGRjKXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoWydpbXVsJ10oXzB4MWI2YmViLF8weDI2NmI5Myl8MHgwLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDRmYzdlYSxfMHgxNzIyMDYpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDRmYzdlYSxfMHg0NDdhNTYpfDB4MCkrTWF0aFsnaW11bCddKF8weDU5ZDRiYixfMHgxNzIyMDYpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1OWQ0YmIsXzB4NDQ3YTU2KXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjkyYTAzLF8weDYxMjZiKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbJ2ltdWwnXShfMHgyOTJhMDMsXzB4MzhkNzlmKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxNjgwNmUsXzB4NjEyNmIpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxNjgwNmUsXzB4MzhkNzlmKXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4M2NiZWYyLF8weDQwZWViNyl8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4M2NiZWYyLF8weDMzYzZkMSl8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MWJhYTk0LF8weDQwZWViNyl8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFiYWE5NCxfMHgzM2M2ZDEpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg0MjJiNmMsXzB4M2VhNzliKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg0MjJiNmMsXzB4NDIwNTQyKXwweDApK01hdGhbJ2ltdWwnXShfMHg0NzZkOTksXzB4M2VhNzliKXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NDc2ZDk5LF8weDQyMDU0Mil8MHgwLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDI4MDIzMSxfMHg1M2U5YTMpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDI4MDIzMSxfMHg0ZTgwMTEpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDJiNGEzNixfMHg1M2U5YTMpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyYjRhMzYsXzB4NGU4MDExKXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MzkxMWYwLF8weDQxZjZiZil8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoWydpbXVsJ10oXzB4MzkxMWYwLF8weDRhNGFiNil8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MWNkMzQ1LF8weDQxZjZiZil8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFjZDM0NSxfMHg0YTRhYjYpfDB4MDt2YXIgXzB4M2I4MjQxPShfMHg1ODE5ZmMrKF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFsnaW11bCddKF8weDE0YjJjYixfMHgzYzc3YjYpfDB4MCl8MHgwKSsoKDB4MWZmZiYoXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxNGIyY2IsXzB4NDE1MmMyKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1ZTNjNDgsXzB4M2M3N2I2KXwweDApKTw8MHhkKXwweDA7XzB4NTgxOWZjPSgoXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NWUzYzQ4LF8weDQxNTJjMil8MHgwKSsoXzB4MzVjNmY2Pj4+MHhkKXwweDApKyhfMHgzYjgyNDE+Pj4weDFhKXwweDAsXzB4M2I4MjQxJj0weDNmZmZmZmYsXzB4NTFkMjJmPU1hdGhbJ2ltdWwnXShfMHgyN2I0NzksXzB4MmQzYjdmKSxfMHgzNWM2ZjY9KF8weDM1YzZmNj1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjdiNDc5LF8weDFkY2Y4OCkpK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyMzc3NDksXzB4MmQzYjdmKXwweDAsXzB4NDY4MjMzPU1hdGhbJ2ltdWwnXShfMHgyMzc3NDksXzB4MWRjZjg4KSxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbJ2ltdWwnXShfMHgzNDFjYjUsXzB4NGU3MGRjKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzNDFjYjUsXzB4MjY2YjkzKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxMGU4ZGIsXzB4NGU3MGRjKXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoWydpbXVsJ10oXzB4MTBlOGRiLF8weDI2NmI5Myl8MHgwLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDI1OGY0ZixfMHgxNzIyMDYpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDI1OGY0ZixfMHg0NDdhNTYpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFiNmJlYixfMHgxNzIyMDYpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbJ2ltdWwnXShfMHgxYjZiZWIsXzB4NDQ3YTU2KXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NGZjN2VhLF8weDYxMjZiKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg0ZmM3ZWEsXzB4MzhkNzlmKXwweDApK01hdGhbJ2ltdWwnXShfMHg1OWQ0YmIsXzB4NjEyNmIpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1OWQ0YmIsXzB4MzhkNzlmKXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjkyYTAzLF8weDQwZWViNyl8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjkyYTAzLF8weDMzYzZkMSl8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MTY4MDZlLF8weDQwZWViNyl8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDE2ODA2ZSxfMHgzM2M2ZDEpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzY2JlZjIsXzB4M2VhNzliKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzY2JlZjIsXzB4NDIwNTQyKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxYmFhOTQsXzB4M2VhNzliKXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoWydpbXVsJ10oXzB4MWJhYTk0LF8weDQyMDU0Mil8MHgwLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDQyMmI2YyxfMHg1M2U5YTMpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDQyMmI2YyxfMHg0ZTgwMTEpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDQ3NmQ5OSxfMHg1M2U5YTMpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg0NzZkOTksXzB4NGU4MDExKXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjgwMjMxLF8weDQxZjZiZil8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjgwMjMxLF8weDRhNGFiNil8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MmI0YTM2LF8weDQxZjZiZil8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDJiNGEzNixfMHg0YTRhYjYpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzOTExZjAsXzB4M2M3N2I2KXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzOTExZjAsXzB4NDE1MmMyKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxY2QzNDUsXzB4M2M3N2I2KXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MWNkMzQ1LF8weDQxNTJjMil8MHgwO3ZhciBfMHg1MThjY2Y9KF8weDU4MTlmYysoXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MTRiMmNiLF8weDFjNDEzYSl8MHgwKXwweDApKygoMHgxZmZmJihfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDE0YjJjYixfMHgyZTA4ZjYpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDVlM2M0OCxfMHgxYzQxM2EpfDB4MCkpPDwweGQpfDB4MDtfMHg1ODE5ZmM9KChfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbJ2ltdWwnXShfMHg1ZTNjNDgsXzB4MmUwOGY2KXwweDApKyhfMHgzNWM2ZjY+Pj4weGQpfDB4MCkrKF8weDUxOGNjZj4+PjB4MWEpfDB4MCxfMHg1MThjY2YmPTB4M2ZmZmZmZixfMHg1MWQyMmY9TWF0aFsnaW11bCddKF8weDI3YjQ3OSxfMHg0ZTcwZGMpLF8weDM1YzZmNj0oXzB4MzVjNmY2PU1hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyN2I0NzksXzB4MjY2YjkzKSkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDIzNzc0OSxfMHg0ZTcwZGMpfDB4MCxfMHg0NjgyMzM9TWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDIzNzc0OSxfMHgyNjZiOTMpLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFsnaW11bCddKF8weDM0MWNiNSxfMHgxNzIyMDYpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDM0MWNiNSxfMHg0NDdhNTYpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDEwZThkYixfMHgxNzIyMDYpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxMGU4ZGIsXzB4NDQ3YTU2KXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjU4ZjRmLF8weDYxMjZiKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyNThmNGYsXzB4MzhkNzlmKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxYjZiZWIsXzB4NjEyNmIpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxYjZiZWIsXzB4MzhkNzlmKXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NGZjN2VhLF8weDQwZWViNyl8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NGZjN2VhLF8weDMzYzZkMSl8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NTlkNGJiLF8weDQwZWViNyl8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDU5ZDRiYixfMHgzM2M2ZDEpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyOTJhMDMsXzB4M2VhNzliKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbJ2ltdWwnXShfMHgyOTJhMDMsXzB4NDIwNTQyKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxNjgwNmUsXzB4M2VhNzliKXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MTY4MDZlLF8weDQyMDU0Mil8MHgwLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDNjYmVmMixfMHg1M2U5YTMpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFsnaW11bCddKF8weDNjYmVmMixfMHg0ZTgwMTEpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFiYWE5NCxfMHg1M2U5YTMpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxYmFhOTQsXzB4NGU4MDExKXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoWydpbXVsJ10oXzB4NDIyYjZjLF8weDQxZjZiZil8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NDIyYjZjLF8weDRhNGFiNil8MHgwKStNYXRoWydpbXVsJ10oXzB4NDc2ZDk5LF8weDQxZjZiZil8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDQ3NmQ5OSxfMHg0YTRhYjYpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyODAyMzEsXzB4M2M3N2I2KXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyODAyMzEsXzB4NDE1MmMyKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyYjRhMzYsXzB4M2M3N2I2KXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MmI0YTM2LF8weDQxNTJjMil8MHgwO3ZhciBfMHg0MDIxNzY9KF8weDU4MTlmYysoXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MzkxMWYwLF8weDFjNDEzYSl8MHgwKXwweDApKygoMHgxZmZmJihfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFsnaW11bCddKF8weDM5MTFmMCxfMHgyZTA4ZjYpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFjZDM0NSxfMHgxYzQxM2EpfDB4MCkpPDwweGQpfDB4MDtfMHg1ODE5ZmM9KChfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxY2QzNDUsXzB4MmUwOGY2KXwweDApKyhfMHgzNWM2ZjY+Pj4weGQpfDB4MCkrKF8weDQwMjE3Nj4+PjB4MWEpfDB4MCxfMHg0MDIxNzYmPTB4M2ZmZmZmZixfMHg1MWQyMmY9TWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDI3YjQ3OSxfMHgxNzIyMDYpLF8weDM1YzZmNj0oXzB4MzVjNmY2PU1hdGhbJ2ltdWwnXShfMHgyN2I0NzksXzB4NDQ3YTU2KSkrTWF0aFsnaW11bCddKF8weDIzNzc0OSxfMHgxNzIyMDYpfDB4MCxfMHg0NjgyMzM9TWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDIzNzc0OSxfMHg0NDdhNTYpLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDM0MWNiNSxfMHg2MTI2Yil8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MzQxY2I1LF8weDM4ZDc5Zil8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MTBlOGRiLF8weDYxMjZiKXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoWydpbXVsJ10oXzB4MTBlOGRiLF8weDM4ZDc5Zil8MHgwLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDI1OGY0ZixfMHg0MGVlYjcpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFsnaW11bCddKF8weDI1OGY0ZixfMHgzM2M2ZDEpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFiNmJlYixfMHg0MGVlYjcpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxYjZiZWIsXzB4MzNjNmQxKXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NGZjN2VhLF8weDNlYTc5Yil8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NGZjN2VhLF8weDQyMDU0Mil8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NTlkNGJiLF8weDNlYTc5Yil8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDU5ZDRiYixfMHg0MjA1NDIpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyOTJhMDMsXzB4NTNlOWEzKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyOTJhMDMsXzB4NGU4MDExKXwweDApK01hdGhbJ2ltdWwnXShfMHgxNjgwNmUsXzB4NTNlOWEzKXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MTY4MDZlLF8weDRlODAxMSl8MHgwLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFsnaW11bCddKF8weDNjYmVmMixfMHg0MWY2YmYpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDNjYmVmMixfMHg0YTRhYjYpfDB4MCkrTWF0aFsnaW11bCddKF8weDFiYWE5NCxfMHg0MWY2YmYpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxYmFhOTQsXzB4NGE0YWI2KXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NDIyYjZjLF8weDNjNzdiNil8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NDIyYjZjLF8weDQxNTJjMil8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NDc2ZDk5LF8weDNjNzdiNil8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDQ3NmQ5OSxfMHg0MTUyYzIpfDB4MDt2YXIgXzB4MmEzYTI4PShfMHg1ODE5ZmMrKF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDI4MDIzMSxfMHgxYzQxM2EpfDB4MCl8MHgwKSsoKDB4MWZmZiYoXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyODAyMzEsXzB4MmUwOGY2KXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyYjRhMzYsXzB4MWM0MTNhKXwweDApKTw8MHhkKXwweDA7XzB4NTgxOWZjPSgoXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoWydpbXVsJ10oXzB4MmI0YTM2LF8weDJlMDhmNil8MHgwKSsoXzB4MzVjNmY2Pj4+MHhkKXwweDApKyhfMHgyYTNhMjg+Pj4weDFhKXwweDAsXzB4MmEzYTI4Jj0weDNmZmZmZmYsXzB4NTFkMjJmPU1hdGhbJ2ltdWwnXShfMHgyN2I0NzksXzB4NjEyNmIpLF8weDM1YzZmNj0oXzB4MzVjNmY2PU1hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyN2I0NzksXzB4MzhkNzlmKSkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDIzNzc0OSxfMHg2MTI2Yil8MHgwLF8weDQ2ODIzMz1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjM3NzQ5LF8weDM4ZDc5ZiksXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoWydpbXVsJ10oXzB4MzQxY2I1LF8weDQwZWViNyl8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MzQxY2I1LF8weDMzYzZkMSl8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MTBlOGRiLF8weDQwZWViNyl8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDEwZThkYixfMHgzM2M2ZDEpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyNThmNGYsXzB4M2VhNzliKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyNThmNGYsXzB4NDIwNTQyKXwweDApK01hdGhbJ2ltdWwnXShfMHgxYjZiZWIsXzB4M2VhNzliKXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MWI2YmViLF8weDQyMDU0Mil8MHgwLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDRmYzdlYSxfMHg1M2U5YTMpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDRmYzdlYSxfMHg0ZTgwMTEpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDU5ZDRiYixfMHg1M2U5YTMpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1OWQ0YmIsXzB4NGU4MDExKXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjkyYTAzLF8weDQxZjZiZil8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjkyYTAzLF8weDRhNGFiNil8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MTY4MDZlLF8weDQxZjZiZil8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDE2ODA2ZSxfMHg0YTRhYjYpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzY2JlZjIsXzB4M2M3N2I2KXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzY2JlZjIsXzB4NDE1MmMyKXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxYmFhOTQsXzB4M2M3N2I2KXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoWydpbXVsJ10oXzB4MWJhYTk0LF8weDQxNTJjMil8MHgwO3ZhciBfMHgxZWE4MGY9KF8weDU4MTlmYysoXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoWydpbXVsJ10oXzB4NDIyYjZjLF8weDFjNDEzYSl8MHgwKXwweDApKygoMHgxZmZmJihfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDQyMmI2YyxfMHgyZTA4ZjYpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDQ3NmQ5OSxfMHgxYzQxM2EpfDB4MCkpPDwweGQpfDB4MDtfMHg1ODE5ZmM9KChfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbJ2ltdWwnXShfMHg0NzZkOTksXzB4MmUwOGY2KXwweDApKyhfMHgzNWM2ZjY+Pj4weGQpfDB4MCkrKF8weDFlYTgwZj4+PjB4MWEpfDB4MCxfMHgxZWE4MGYmPTB4M2ZmZmZmZixfMHg1MWQyMmY9TWF0aFsnaW11bCddKF8weDI3YjQ3OSxfMHg0MGVlYjcpLF8weDM1YzZmNj0oXzB4MzVjNmY2PU1hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyN2I0NzksXzB4MzNjNmQxKSkrTWF0aFsnaW11bCddKF8weDIzNzc0OSxfMHg0MGVlYjcpfDB4MCxfMHg0NjgyMzM9TWF0aFsnaW11bCddKF8weDIzNzc0OSxfMHgzM2M2ZDEpLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFsnaW11bCddKF8weDM0MWNiNSxfMHgzZWE3OWIpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDM0MWNiNSxfMHg0MjA1NDIpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDEwZThkYixfMHgzZWE3OWIpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxMGU4ZGIsXzB4NDIwNTQyKXwweDAsXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjU4ZjRmLF8weDUzZTlhMyl8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjU4ZjRmLF8weDRlODAxMSl8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MWI2YmViLF8weDUzZTlhMyl8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFsnaW11bCddKF8weDFiNmJlYixfMHg0ZTgwMTEpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg0ZmM3ZWEsXzB4NDFmNmJmKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbJ2ltdWwnXShfMHg0ZmM3ZWEsXzB4NGE0YWI2KXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1OWQ0YmIsXzB4NDFmNmJmKXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NTlkNGJiLF8weDRhNGFiNil8MHgwLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFsnaW11bCddKF8weDI5MmEwMyxfMHgzYzc3YjYpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDI5MmEwMyxfMHg0MTUyYzIpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDE2ODA2ZSxfMHgzYzc3YjYpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbJ2ltdWwnXShfMHgxNjgwNmUsXzB4NDE1MmMyKXwweDA7dmFyIF8weDFiODhlYz0oXzB4NTgxOWZjKyhfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzY2JlZjIsXzB4MWM0MTNhKXwweDApfDB4MCkrKCgweDFmZmYmKF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4M2NiZWYyLF8weDJlMDhmNil8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MWJhYTk0LF8weDFjNDEzYSl8MHgwKSk8PDB4ZCl8MHgwO18weDU4MTlmYz0oKF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFiYWE5NCxfMHgyZTA4ZjYpfDB4MCkrKF8weDM1YzZmNj4+PjB4ZCl8MHgwKSsoXzB4MWI4OGVjPj4+MHgxYSl8MHgwLF8weDFiODhlYyY9MHgzZmZmZmZmLF8weDUxZDIyZj1NYXRoWydpbXVsJ10oXzB4MjdiNDc5LF8weDNlYTc5YiksXzB4MzVjNmY2PShfMHgzNWM2ZjY9TWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDI3YjQ3OSxfMHg0MjA1NDIpKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjM3NzQ5LF8weDNlYTc5Yil8MHgwLF8weDQ2ODIzMz1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjM3NzQ5LF8weDQyMDU0MiksXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MzQxY2I1LF8weDUzZTlhMyl8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MzQxY2I1LF8weDRlODAxMSl8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MTBlOGRiLF8weDUzZTlhMyl8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFsnaW11bCddKF8weDEwZThkYixfMHg0ZTgwMTEpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyNThmNGYsXzB4NDFmNmJmKXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyNThmNGYsXzB4NGE0YWI2KXwweDApK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxYjZiZWIsXzB4NDFmNmJmKXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MWI2YmViLF8weDRhNGFiNil8MHgwLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDRmYzdlYSxfMHgzYzc3YjYpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDRmYzdlYSxfMHg0MTUyYzIpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDU5ZDRiYixfMHgzYzc3YjYpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1OWQ0YmIsXzB4NDE1MmMyKXwweDA7dmFyIF8weDIyZGVlND0oXzB4NTgxOWZjKyhfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyOTJhMDMsXzB4MWM0MTNhKXwweDApfDB4MCkrKCgweDFmZmYmKF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjkyYTAzLF8weDJlMDhmNil8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MTY4MDZlLF8weDFjNDEzYSl8MHgwKSk8PDB4ZCl8MHgwO18weDU4MTlmYz0oKF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDE2ODA2ZSxfMHgyZTA4ZjYpfDB4MCkrKF8weDM1YzZmNj4+PjB4ZCl8MHgwKSsoXzB4MjJkZWU0Pj4+MHgxYSl8MHgwLF8weDIyZGVlNCY9MHgzZmZmZmZmLF8weDUxZDIyZj1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjdiNDc5LF8weDUzZTlhMyksXzB4MzVjNmY2PShfMHgzNWM2ZjY9TWF0aFsnaW11bCddKF8weDI3YjQ3OSxfMHg0ZTgwMTEpKStNYXRoWydpbXVsJ10oXzB4MjM3NzQ5LF8weDUzZTlhMyl8MHgwLF8weDQ2ODIzMz1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjM3NzQ5LF8weDRlODAxMSksXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoWydpbXVsJ10oXzB4MzQxY2I1LF8weDQxZjZiZil8MHgwLF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MzQxY2I1LF8weDRhNGFiNil8MHgwKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MTBlOGRiLF8weDQxZjZiZil8MHgwLF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDEwZThkYixfMHg0YTRhYjYpfDB4MCxfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyNThmNGYsXzB4M2M3N2I2KXwweDAsXzB4MzVjNmY2PShfMHgzNWM2ZjY9XzB4MzVjNmY2K01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyNThmNGYsXzB4NDE1MmMyKXwweDApK01hdGhbJ2ltdWwnXShfMHgxYjZiZWIsXzB4M2M3N2I2KXwweDAsXzB4NDY4MjMzPV8weDQ2ODIzMytNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MWI2YmViLF8weDQxNTJjMil8MHgwO3ZhciBfMHhhMzdlYmU9KF8weDU4MTlmYysoXzB4NTFkMjJmPV8weDUxZDIyZitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4NGZjN2VhLF8weDFjNDEzYSl8MHgwKXwweDApKygoMHgxZmZmJihfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDRmYzdlYSxfMHgyZTA4ZjYpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDU5ZDRiYixfMHgxYzQxM2EpfDB4MCkpPDwweGQpfDB4MDtfMHg1ODE5ZmM9KChfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHg1OWQ0YmIsXzB4MmUwOGY2KXwweDApKyhfMHgzNWM2ZjY+Pj4weGQpfDB4MCkrKF8weGEzN2ViZT4+PjB4MWEpfDB4MCxfMHhhMzdlYmUmPTB4M2ZmZmZmZixfMHg1MWQyMmY9TWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDI3YjQ3OSxfMHg0MWY2YmYpLF8weDM1YzZmNj0oXzB4MzVjNmY2PU1hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyN2I0NzksXzB4NGE0YWI2KSkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDIzNzc0OSxfMHg0MWY2YmYpfDB4MCxfMHg0NjgyMzM9TWF0aFsnaW11bCddKF8weDIzNzc0OSxfMHg0YTRhYjYpLF8weDUxZDIyZj1fMHg1MWQyMmYrTWF0aFsnaW11bCddKF8weDM0MWNiNSxfMHgzYzc3YjYpfDB4MCxfMHgzNWM2ZjY9KF8weDM1YzZmNj1fMHgzNWM2ZjYrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDM0MWNiNSxfMHg0MTUyYzIpfDB4MCkrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDEwZThkYixfMHgzYzc3YjYpfDB4MCxfMHg0NjgyMzM9XzB4NDY4MjMzK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgxMGU4ZGIsXzB4NDE1MmMyKXwweDA7dmFyIF8weDIzMjYxOT0oXzB4NTgxOWZjKyhfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyNThmNGYsXzB4MWM0MTNhKXwweDApfDB4MCkrKCgweDFmZmYmKF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjU4ZjRmLF8weDJlMDhmNil8MHgwKStNYXRoWydpbXVsJ10oXzB4MWI2YmViLF8weDFjNDEzYSl8MHgwKSk8PDB4ZCl8MHgwO18weDU4MTlmYz0oKF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDFiNmJlYixfMHgyZTA4ZjYpfDB4MCkrKF8weDM1YzZmNj4+PjB4ZCl8MHgwKSsoXzB4MjMyNjE5Pj4+MHgxYSl8MHgwLF8weDIzMjYxOSY9MHgzZmZmZmZmLF8weDUxZDIyZj1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjdiNDc5LF8weDNjNzdiNiksXzB4MzVjNmY2PShfMHgzNWM2ZjY9TWF0aFsnaW11bCddKF8weDI3YjQ3OSxfMHg0MTUyYzIpKStNYXRoWydpbXVsJ10oXzB4MjM3NzQ5LF8weDNjNzdiNil8MHgwLF8weDQ2ODIzMz1NYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjM3NzQ5LF8weDQxNTJjMik7dmFyIF8weDU3MjdiMT0oXzB4NTgxOWZjKyhfMHg1MWQyMmY9XzB4NTFkMjJmK01hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgzNDFjYjUsXzB4MWM0MTNhKXwweDApfDB4MCkrKCgweDFmZmYmKF8weDM1YzZmNj0oXzB4MzVjNmY2PV8weDM1YzZmNitNYXRoWydpbXVsJ10oXzB4MzQxY2I1LF8weDJlMDhmNil8MHgwKStNYXRoWydpbXVsJ10oXzB4MTBlOGRiLF8weDFjNDEzYSl8MHgwKSk8PDB4ZCl8MHgwO18weDU4MTlmYz0oKF8weDQ2ODIzMz1fMHg0NjgyMzMrTWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDEwZThkYixfMHgyZTA4ZjYpfDB4MCkrKF8weDM1YzZmNj4+PjB4ZCl8MHgwKSsoXzB4NTcyN2IxPj4+MHgxYSl8MHgwLF8weDU3MjdiMSY9MHgzZmZmZmZmO3ZhciBfMHg1NGRiNzg9KF8weDU4MTlmYysoXzB4NTFkMjJmPU1hdGhbXzB4MjkwN2RiKCcweDliOCcpXShfMHgyN2I0NzksXzB4MWM0MTNhKSl8MHgwKSsoKDB4MWZmZiYoXzB4MzVjNmY2PShfMHgzNWM2ZjY9TWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDI3YjQ3OSxfMHgyZTA4ZjYpKStNYXRoW18weDI5MDdkYignMHg5YjgnKV0oXzB4MjM3NzQ5LF8weDFjNDEzYSl8MHgwKSk8PDB4ZCl8MHgwO3JldHVybiBfMHg1ODE5ZmM9KChfMHg0NjgyMzM9TWF0aFtfMHgyOTA3ZGIoJzB4OWI4JyldKF8weDIzNzc0OSxfMHgyZTA4ZjYpKSsoXzB4MzVjNmY2Pj4+MHhkKXwweDApKyhfMHg1NGRiNzg+Pj4weDFhKXwweDAsXzB4NTRkYjc4Jj0weDNmZmZmZmYsXzB4MjU3MTE5WzB4MF09XzB4MzA4YmEyLF8weDI1NzExOVsweDFdPV8weDM3N2NjZixfMHgyNTcxMTlbMHgyXT1fMHg1NzM3ZjAsXzB4MjU3MTE5WzB4M109XzB4MTM5YWZiLF8weDI1NzExOVsweDRdPV8weDQ0MzViZCxfMHgyNTcxMTlbMHg1XT1fMHgzN2M2NTcsXzB4MjU3MTE5WzB4Nl09XzB4MWY4NTliLF8weDI1NzExOVsweDddPV8weDEzMjc4ZCxfMHgyNTcxMTlbMHg4XT1fMHgzYjgyNDEsXzB4MjU3MTE5WzB4OV09XzB4NTE4Y2NmLF8weDI1NzExOVsweGFdPV8weDQwMjE3NixfMHgyNTcxMTlbMHhiXT1fMHgyYTNhMjgsXzB4MjU3MTE5WzB4Y109XzB4MWVhODBmLF8weDI1NzExOVsweGRdPV8weDFiODhlYyxfMHgyNTcxMTlbMHhlXT1fMHgyMmRlZTQsXzB4MjU3MTE5WzB4Zl09XzB4YTM3ZWJlLF8weDI1NzExOVsweDEwXT1fMHgyMzI2MTksXzB4MjU3MTE5WzB4MTFdPV8weDU3MjdiMSxfMHgyNTcxMTlbMHgxMl09XzB4NTRkYjc4LDB4MCE9PV8weDU4MTlmYyYmKF8weDI1NzExOVsweDEzXT1fMHg1ODE5ZmMsXzB4MmRhNzBhW18weDI5MDdkYignMHg1MjAnKV0rKyksXzB4MmRhNzBhO307ZnVuY3Rpb24gXzB4MTA0ZGI2KF8weGIyZjYyNSxfMHgyYzBmNDgsXzB4MTQwYmY4KXt2YXIgXzB4MTZmZWZkPV8weDU2YmRlNztfMHgxNDBiZjhbXzB4MTZmZWZkKCcweGQ1MCcpXT1fMHgyYzBmNDhbXzB4MTZmZWZkKCcweGQ1MCcpXV5fMHhiMmY2MjVbXzB4MTZmZWZkKCcweGQ1MCcpXSxfMHgxNDBiZjhbXzB4MTZmZWZkKCcweDUyMCcpXT1fMHhiMmY2MjVbJ2xlbmd0aCddK18weDJjMGY0OFsnbGVuZ3RoJ107Zm9yKHZhciBfMHhkNjViOTg9MHgwLF8weDM0ZjUwYz0weDAsXzB4NDkyN2UxPTB4MDtfMHg0OTI3ZTE8XzB4MTQwYmY4W18weDE2ZmVmZCgnMHg1MjAnKV0tMHgxO18weDQ5MjdlMSsrKXt2YXIgXzB4NDY2NWUwPV8weDM0ZjUwYztfMHgzNGY1MGM9MHgwO2Zvcih2YXIgXzB4ZDMyYTI4PTB4M2ZmZmZmZiZfMHhkNjViOTgsXzB4NTgzNDg3PU1hdGhbXzB4MTZmZWZkKCcweGI4MCcpXShfMHg0OTI3ZTEsXzB4MmMwZjQ4W18weDE2ZmVmZCgnMHg1MjAnKV0tMHgxKSxfMHgxNTc5ZWE9TWF0aFsnbWF4J10oMHgwLF8weDQ5MjdlMS1fMHhiMmY2MjVbJ2xlbmd0aCddKzB4MSk7XzB4MTU3OWVhPD1fMHg1ODM0ODc7XzB4MTU3OWVhKyspe3ZhciBfMHg0OWQ3ZjI9XzB4NDkyN2UxLV8weDE1NzllYSxfMHgxZWY2NmM9KDB4MHxfMHhiMmY2MjVbJ3dvcmRzJ11bXzB4NDlkN2YyXSkqKDB4MHxfMHgyYzBmNDhbXzB4MTZmZWZkKCcweDk3MicpXVtfMHgxNTc5ZWFdKSxfMHgyODQ2YTA9MHgzZmZmZmZmJl8weDFlZjY2YztfMHhkMzJhMjg9MHgzZmZmZmZmJihfMHgyODQ2YTA9XzB4Mjg0NmEwK18weGQzMmEyOHwweDApLF8weDM0ZjUwYys9KF8weDQ2NjVlMD0oXzB4NDY2NWUwPV8weDQ2NjVlMCsoXzB4MWVmNjZjLzB4NDAwMDAwMHwweDApfDB4MCkrKF8weDI4NDZhMD4+PjB4MWEpfDB4MCk+Pj4weDFhLF8weDQ2NjVlMCY9MHgzZmZmZmZmO31fMHgxNDBiZjhbXzB4MTZmZWZkKCcweDk3MicpXVtfMHg0OTI3ZTFdPV8weGQzMmEyOCxfMHhkNjViOTg9XzB4NDY2NWUwLF8weDQ2NjVlMD1fMHgzNGY1MGM7fXJldHVybiAweDAhPT1fMHhkNjViOTg/XzB4MTQwYmY4W18weDE2ZmVmZCgnMHg5NzInKV1bXzB4NDkyN2UxXT1fMHhkNjViOTg6XzB4MTQwYmY4W18weDE2ZmVmZCgnMHg1MjAnKV0tLSxfMHgxNDBiZjhbXzB4MTZmZWZkKCcweGFlNCcpXSgpO31mdW5jdGlvbiBfMHg2N2ZlOWIoXzB4NDUxYTZkLF8weDJjMDY3YyxfMHgyOWI4MDcpe3JldHVybiBfMHgxMDRkYjYoXzB4NDUxYTZkLF8weDJjMDY3YyxfMHgyOWI4MDcpO31mdW5jdGlvbiBfMHg0NGQ4Y2MoXzB4OTllNDIzLF8weDMyOTJkNil7dGhpc1sneCddPV8weDk5ZTQyMyx0aGlzWyd5J109XzB4MzI5MmQ2O31NYXRoWydpbXVsJ118fChfMHgzMmUxMGY9XzB4NDU3YTkwKSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVsnbXVsVG8nXT1mdW5jdGlvbihfMHgzZTU2ZmEsXzB4MjhjNTM4KXt2YXIgXzB4MzQ1ZjdhPV8weDU2YmRlNyxfMHgyZDdiOGI9dGhpc1tfMHgzNDVmN2EoJzB4NTIwJyldK18weDNlNTZmYVtfMHgzNDVmN2EoJzB4NTIwJyldO3JldHVybiAweGE9PT10aGlzWydsZW5ndGgnXSYmMHhhPT09XzB4M2U1NmZhW18weDM0NWY3YSgnMHg1MjAnKV0/XzB4MzJlMTBmKHRoaXMsXzB4M2U1NmZhLF8weDI4YzUzOCk6XzB4MmQ3YjhiPDB4M2Y/XzB4NDU3YTkwKHRoaXMsXzB4M2U1NmZhLF8weDI4YzUzOCk6XzB4MmQ3YjhiPDB4NDAwP18weDEwNGRiNih0aGlzLF8weDNlNTZmYSxfMHgyOGM1MzgpOl8weDY3ZmU5Yih0aGlzLF8weDNlNTZmYSxfMHgyOGM1MzgpO30sXzB4NDRkOGNjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweGFkNicpXT1mdW5jdGlvbihfMHgzMWU0ZTQpe3ZhciBfMHgxNGY5YzU9XzB4NTZiZGU3O2Zvcih2YXIgXzB4NDExMzI0PW5ldyBBcnJheShfMHgzMWU0ZTQpLF8weDM0ZjhhOD1fMHgzMmYxYmNbXzB4MTRmOWM1KCcweDc1NicpXVtfMHgxNGY5YzUoJzB4ODkxJyldKF8weDMxZTRlNCktMHgxLF8weDQ1ZmYxZT0weDA7XzB4NDVmZjFlPF8weDMxZTRlNDtfMHg0NWZmMWUrKylfMHg0MTEzMjRbXzB4NDVmZjFlXT10aGlzW18weDE0ZjljNSgnMHg3ZWYnKV0oXzB4NDVmZjFlLF8weDM0ZjhhOCxfMHgzMWU0ZTQpO3JldHVybiBfMHg0MTEzMjQ7fSxfMHg0NGQ4Y2NbXzB4NTZiZGU3KCcweDc1NicpXVsncmV2QmluJ109ZnVuY3Rpb24oXzB4NThhNjgyLF8weDJhNTVlNixfMHg1NDY3Nzkpe2lmKDB4MD09PV8weDU4YTY4Mnx8XzB4NThhNjgyPT09XzB4NTQ2Nzc5LTB4MSlyZXR1cm4gXzB4NThhNjgyO2Zvcih2YXIgXzB4NTQ2NTJhPTB4MCxfMHgyMDA0NzI9MHgwO18weDIwMDQ3MjxfMHgyYTU1ZTY7XzB4MjAwNDcyKyspXzB4NTQ2NTJhfD0oMHgxJl8weDU4YTY4Mik8PF8weDJhNTVlNi1fMHgyMDA0NzItMHgxLF8weDU4YTY4Mj4+PTB4MTtyZXR1cm4gXzB4NTQ2NTJhO30sXzB4NDRkOGNjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDc0NCcpXT1mdW5jdGlvbihfMHgzMTY0MTQsXzB4MzI3ZTY5LF8weDU3Y2I3ZCxfMHg0NTMxNjgsXzB4MjNmODcwLF8weDJjN2JhYil7Zm9yKHZhciBfMHgyNDA3ZTM9MHgwO18weDI0MDdlMzxfMHgyYzdiYWI7XzB4MjQwN2UzKyspXzB4NDUzMTY4W18weDI0MDdlM109XzB4MzI3ZTY5W18weDMxNjQxNFtfMHgyNDA3ZTNdXSxfMHgyM2Y4NzBbXzB4MjQwN2UzXT1fMHg1N2NiN2RbXzB4MzE2NDE0W18weDI0MDdlM11dO30sXzB4NDRkOGNjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweGMyNycpXT1mdW5jdGlvbihfMHgyZGNjMWIsXzB4Mzc1MzYwLF8weDFhZTYyZSxfMHg1OGI1NDksXzB4NTNjNWU3LF8weDM2ZjAwZCl7dmFyIF8weDFiZmM1OD1fMHg1NmJkZTc7dGhpc1tfMHgxYmZjNTgoJzB4NzQ0JyldKF8weDM2ZjAwZCxfMHgyZGNjMWIsXzB4Mzc1MzYwLF8weDFhZTYyZSxfMHg1OGI1NDksXzB4NTNjNWU3KTtmb3IodmFyIF8weDNiMjFhOD0weDE7XzB4M2IyMWE4PF8weDUzYzVlNztfMHgzYjIxYTg8PD0weDEpZm9yKHZhciBfMHgxMmQ2ZDA9XzB4M2IyMWE4PDwweDEsXzB4MzFhZTdkPU1hdGhbXzB4MWJmYzU4KCcweDUwNCcpXSgweDIqTWF0aFsnUEknXS9fMHgxMmQ2ZDApLF8weDVhNzUxMD1NYXRoWydzaW4nXSgweDIqTWF0aFsnUEknXS9fMHgxMmQ2ZDApLF8weDQ5MGU5Mj0weDA7XzB4NDkwZTkyPF8weDUzYzVlNztfMHg0OTBlOTIrPV8weDEyZDZkMClmb3IodmFyIF8weDU2NTQzYz1fMHgzMWFlN2QsXzB4NDVkY2UxPV8weDVhNzUxMCxfMHgzNDQyZTM9MHgwO18weDM0NDJlMzxfMHgzYjIxYTg7XzB4MzQ0MmUzKyspe3ZhciBfMHhlNTA5YWE9XzB4MWFlNjJlW18weDQ5MGU5MitfMHgzNDQyZTNdLF8weDIwMmEwYT1fMHg1OGI1NDlbXzB4NDkwZTkyK18weDM0NDJlM10sXzB4YjFhMWUwPV8weDFhZTYyZVtfMHg0OTBlOTIrXzB4MzQ0MmUzK18weDNiMjFhOF0sXzB4MjUxOGI2PV8weDU4YjU0OVtfMHg0OTBlOTIrXzB4MzQ0MmUzK18weDNiMjFhOF0sXzB4MTNmMjExPV8weDU2NTQzYypfMHhiMWExZTAtXzB4NDVkY2UxKl8weDI1MThiNjtfMHgyNTE4YjY9XzB4NTY1NDNjKl8weDI1MThiNitfMHg0NWRjZTEqXzB4YjFhMWUwLF8weGIxYTFlMD1fMHgxM2YyMTEsXzB4MWFlNjJlW18weDQ5MGU5MitfMHgzNDQyZTNdPV8weGU1MDlhYStfMHhiMWExZTAsXzB4NThiNTQ5W18weDQ5MGU5MitfMHgzNDQyZTNdPV8weDIwMmEwYStfMHgyNTE4YjYsXzB4MWFlNjJlW18weDQ5MGU5MitfMHgzNDQyZTMrXzB4M2IyMWE4XT1fMHhlNTA5YWEtXzB4YjFhMWUwLF8weDU4YjU0OVtfMHg0OTBlOTIrXzB4MzQ0MmUzK18weDNiMjFhOF09XzB4MjAyYTBhLV8weDI1MThiNixfMHgzNDQyZTMhPT1fMHgxMmQ2ZDAmJihfMHgxM2YyMTE9XzB4MzFhZTdkKl8weDU2NTQzYy1fMHg1YTc1MTAqXzB4NDVkY2UxLF8weDQ1ZGNlMT1fMHgzMWFlN2QqXzB4NDVkY2UxK18weDVhNzUxMCpfMHg1NjU0M2MsXzB4NTY1NDNjPV8weDEzZjIxMSk7fX0sXzB4NDRkOGNjWydwcm90b3R5cGUnXVtfMHg1NmJkZTcoJzB4MzVjJyldPWZ1bmN0aW9uKF8weDVkODk3MSxfMHg0YmZjM2Qpe3ZhciBfMHgxMTc2OGE9XzB4NTZiZGU3LF8weDIyYzJmNj0weDF8TWF0aFtfMHgxMTc2OGEoJzB4OGY5JyldKF8weDRiZmMzZCxfMHg1ZDg5NzEpLF8weDM4OTY3Yz0weDEmXzB4MjJjMmY2LF8weDEzOTIzYz0weDA7Zm9yKF8weDIyYzJmNj1fMHgyMmMyZjYvMHgyfDB4MDtfMHgyMmMyZjY7XzB4MjJjMmY2Pj4+PTB4MSlfMHgxMzkyM2MrKztyZXR1cm4gMHgxPDxfMHgxMzkyM2MrMHgxK18weDM4OTY3Yzt9LF8weDQ0ZDhjY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHhkMTAnKV09ZnVuY3Rpb24oXzB4NGE4YzIzLF8weDc4NDE5NCxfMHgyMjU0NTEpe2lmKCEoXzB4MjI1NDUxPD0weDEpKWZvcih2YXIgXzB4MjdmY2RjPTB4MDtfMHgyN2ZjZGM8XzB4MjI1NDUxLzB4MjtfMHgyN2ZjZGMrKyl7dmFyIF8weDNjYWJhZT1fMHg0YThjMjNbXzB4MjdmY2RjXTtfMHg0YThjMjNbXzB4MjdmY2RjXT1fMHg0YThjMjNbXzB4MjI1NDUxLV8weDI3ZmNkYy0weDFdLF8weDRhOGMyM1tfMHgyMjU0NTEtXzB4MjdmY2RjLTB4MV09XzB4M2NhYmFlLF8weDNjYWJhZT1fMHg3ODQxOTRbXzB4MjdmY2RjXSxfMHg3ODQxOTRbXzB4MjdmY2RjXT0tXzB4Nzg0MTk0W18weDIyNTQ1MS1fMHgyN2ZjZGMtMHgxXSxfMHg3ODQxOTRbXzB4MjI1NDUxLV8weDI3ZmNkYy0weDFdPS1fMHgzY2FiYWU7fX0sXzB4NDRkOGNjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweGJhMycpXT1mdW5jdGlvbihfMHg0MTQ2NTIsXzB4Mjg0MjQ3KXt2YXIgXzB4M2NlNmFlPV8weDU2YmRlNztmb3IodmFyIF8weDUwNmIwMj0weDAsXzB4YjJjMTUzPTB4MDtfMHhiMmMxNTM8XzB4Mjg0MjQ3LzB4MjtfMHhiMmMxNTMrKyl7dmFyIF8weDJjMTgyNz0weDIwMDAqTWF0aFtfMHgzY2U2YWUoJzB4M2RkJyldKF8weDQxNDY1MlsweDIqXzB4YjJjMTUzKzB4MV0vXzB4Mjg0MjQ3KStNYXRoW18weDNjZTZhZSgnMHgzZGQnKV0oXzB4NDE0NjUyWzB4MipfMHhiMmMxNTNdL18weDI4NDI0NykrXzB4NTA2YjAyO18weDQxNDY1MltfMHhiMmMxNTNdPTB4M2ZmZmZmZiZfMHgyYzE4MjcsXzB4NTA2YjAyPV8weDJjMTgyNzwweDQwMDAwMDA/MHgwOl8weDJjMTgyNy8weDQwMDAwMDB8MHgwO31yZXR1cm4gXzB4NDE0NjUyO30sXzB4NDRkOGNjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDQwOCcpXT1mdW5jdGlvbihfMHgyMzMwZWYsXzB4MTk5OTU5LF8weDE3ZjczNixfMHg1YjRkZGMpe2Zvcih2YXIgXzB4MTE1ZTA3PTB4MCxfMHgzMzViNTM9MHgwO18weDMzNWI1MzxfMHgxOTk5NTk7XzB4MzM1YjUzKyspXzB4MTE1ZTA3Kz0weDB8XzB4MjMzMGVmW18weDMzNWI1M10sXzB4MTdmNzM2WzB4MipfMHgzMzViNTNdPTB4MWZmZiZfMHgxMTVlMDcsXzB4MTE1ZTA3Pj4+PTB4ZCxfMHgxN2Y3MzZbMHgyKl8weDMzNWI1MysweDFdPTB4MWZmZiZfMHgxMTVlMDcsXzB4MTE1ZTA3Pj4+PTB4ZDtmb3IoXzB4MzM1YjUzPTB4MipfMHgxOTk5NTk7XzB4MzM1YjUzPF8weDViNGRkYzsrK18weDMzNWI1MylfMHgxN2Y3MzZbXzB4MzM1YjUzXT0weDA7XzB4Y2EzM2FiKDB4MD09PV8weDExNWUwNyksXzB4Y2EzM2FiKDB4MD09KC0weDIwMDAmXzB4MTE1ZTA3KSk7fSxfMHg0NGQ4Y2NbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4ODdiJyldPWZ1bmN0aW9uKF8weDVhMjg1MSl7Zm9yKHZhciBfMHgxMDY5YzQ9bmV3IEFycmF5KF8weDVhMjg1MSksXzB4Mjc4YWRjPTB4MDtfMHgyNzhhZGM8XzB4NWEyODUxO18weDI3OGFkYysrKV8weDEwNjljNFtfMHgyNzhhZGNdPTB4MDtyZXR1cm4gXzB4MTA2OWM0O30sXzB4NDRkOGNjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDg2MicpXT1mdW5jdGlvbihfMHgxZTA5NjMsXzB4MWQzODgwLF8weGNkMTlmMCl7dmFyIF8weDczMmZlYT1fMHg1NmJkZTcsXzB4NTY4N2E3PTB4Mip0aGlzWydndWVzc0xlbjEzYiddKF8weDFlMDk2M1tfMHg3MzJmZWEoJzB4NTIwJyldLF8weDFkMzg4MFsnbGVuZ3RoJ10pLF8weDEzN2QxZj10aGlzW18weDczMmZlYSgnMHhhZDYnKV0oXzB4NTY4N2E3KSxfMHgzYjQxNGU9dGhpc1tfMHg3MzJmZWEoJzB4ODdiJyldKF8weDU2ODdhNyksXzB4NDUxZDVlPW5ldyBBcnJheShfMHg1Njg3YTcpLF8weDViNDJmZj1uZXcgQXJyYXkoXzB4NTY4N2E3KSxfMHgyZDkzNDA9bmV3IEFycmF5KF8weDU2ODdhNyksXzB4NDRlNDFkPW5ldyBBcnJheShfMHg1Njg3YTcpLF8weDE0ZTlhOT1uZXcgQXJyYXkoXzB4NTY4N2E3KSxfMHg1NDQxYzU9bmV3IEFycmF5KF8weDU2ODdhNyksXzB4MzUwZTkxPV8weGNkMTlmMFtfMHg3MzJmZWEoJzB4OTcyJyldO18weDM1MGU5MVtfMHg3MzJmZWEoJzB4NTIwJyldPV8weDU2ODdhNyx0aGlzW18weDczMmZlYSgnMHg0MDgnKV0oXzB4MWUwOTYzW18weDczMmZlYSgnMHg5NzInKV0sXzB4MWUwOTYzWydsZW5ndGgnXSxfMHg0NTFkNWUsXzB4NTY4N2E3KSx0aGlzWydjb252ZXJ0MTNiJ10oXzB4MWQzODgwW18weDczMmZlYSgnMHg5NzInKV0sXzB4MWQzODgwW18weDczMmZlYSgnMHg1MjAnKV0sXzB4NDRlNDFkLF8weDU2ODdhNyksdGhpc1tfMHg3MzJmZWEoJzB4YzI3JyldKF8weDQ1MWQ1ZSxfMHgzYjQxNGUsXzB4NWI0MmZmLF8weDJkOTM0MCxfMHg1Njg3YTcsXzB4MTM3ZDFmKSx0aGlzWyd0cmFuc2Zvcm0nXShfMHg0NGU0MWQsXzB4M2I0MTRlLF8weDE0ZTlhOSxfMHg1NDQxYzUsXzB4NTY4N2E3LF8weDEzN2QxZik7Zm9yKHZhciBfMHgzZmM1NDQ9MHgwO18weDNmYzU0NDxfMHg1Njg3YTc7XzB4M2ZjNTQ0Kyspe3ZhciBfMHg1ODMzY2U9XzB4NWI0MmZmW18weDNmYzU0NF0qXzB4MTRlOWE5W18weDNmYzU0NF0tXzB4MmQ5MzQwW18weDNmYzU0NF0qXzB4NTQ0MWM1W18weDNmYzU0NF07XzB4MmQ5MzQwW18weDNmYzU0NF09XzB4NWI0MmZmW18weDNmYzU0NF0qXzB4NTQ0MWM1W18weDNmYzU0NF0rXzB4MmQ5MzQwW18weDNmYzU0NF0qXzB4MTRlOWE5W18weDNmYzU0NF0sXzB4NWI0MmZmW18weDNmYzU0NF09XzB4NTgzM2NlO31yZXR1cm4gdGhpc1tfMHg3MzJmZWEoJzB4ZDEwJyldKF8weDViNDJmZixfMHgyZDkzNDAsXzB4NTY4N2E3KSx0aGlzW18weDczMmZlYSgnMHhjMjcnKV0oXzB4NWI0MmZmLF8weDJkOTM0MCxfMHgzNTBlOTEsXzB4M2I0MTRlLF8weDU2ODdhNyxfMHgxMzdkMWYpLHRoaXNbJ2Nvbmp1Z2F0ZSddKF8weDM1MGU5MSxfMHgzYjQxNGUsXzB4NTY4N2E3KSx0aGlzWydub3JtYWxpemUxM2InXShfMHgzNTBlOTEsXzB4NTY4N2E3KSxfMHhjZDE5ZjBbXzB4NzMyZmVhKCcweGQ1MCcpXT1fMHgxZTA5NjNbXzB4NzMyZmVhKCcweGQ1MCcpXV5fMHgxZDM4ODBbXzB4NzMyZmVhKCcweGQ1MCcpXSxfMHhjZDE5ZjBbJ2xlbmd0aCddPV8weDFlMDk2M1tfMHg3MzJmZWEoJzB4NTIwJyldK18weDFkMzg4MFtfMHg3MzJmZWEoJzB4NTIwJyldLF8weGNkMTlmMFsnX3N0cmlwJ10oKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHhjMjMnKV09ZnVuY3Rpb24oXzB4MmNjZDY3KXt2YXIgXzB4NDBhYzFhPV8weDU2YmRlNyxfMHg1ZDliYjc9bmV3IF8weDMyZjFiYyhudWxsKTtyZXR1cm4gXzB4NWQ5YmI3W18weDQwYWMxYSgnMHg5NzInKV09bmV3IEFycmF5KHRoaXNbJ2xlbmd0aCddK18weDJjY2Q2N1tfMHg0MGFjMWEoJzB4NTIwJyldKSx0aGlzWydtdWxUbyddKF8weDJjY2Q2NyxfMHg1ZDliYjcpO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDc4MScpXT1mdW5jdGlvbihfMHg0MWYwNil7dmFyIF8weDNjZjlhMj1fMHg1NmJkZTcsXzB4NGU2ZGI4PW5ldyBfMHgzMmYxYmMobnVsbCk7cmV0dXJuIF8weDRlNmRiOFtfMHgzY2Y5YTIoJzB4OTcyJyldPW5ldyBBcnJheSh0aGlzW18weDNjZjlhMignMHg1MjAnKV0rXzB4NDFmMDZbJ2xlbmd0aCddKSxfMHg2N2ZlOWIodGhpcyxfMHg0MWYwNixfMHg0ZTZkYjgpO30sXzB4MzJmMWJjWydwcm90b3R5cGUnXVtfMHg1NmJkZTcoJzB4OWI4JyldPWZ1bmN0aW9uKF8weDJkMDdlMil7dmFyIF8weDEwNDViZj1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbXzB4MTA0NWJmKCcweDM3OScpXSgpW18weDEwNDViZignMHg5MGUnKV0oXzB4MmQwN2UyLHRoaXMpO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDI2NycpXT1mdW5jdGlvbihfMHgyNzIxYmYpe3ZhciBfMHgxNTFhMDc9XzB4NTZiZGU3LF8weDM4OTA4Yz1fMHgyNzIxYmY8MHgwO18weDM4OTA4YyYmKF8weDI3MjFiZj0tXzB4MjcyMWJmKSxfMHhjYTMzYWIoXzB4MTUxYTA3KCcweDI3YScpPT10eXBlb2YgXzB4MjcyMWJmKSxfMHhjYTMzYWIoXzB4MjcyMWJmPDB4NDAwMDAwMCk7Zm9yKHZhciBfMHgzNWY1ZTk9MHgwLF8weDJlMzllNj0weDA7XzB4MmUzOWU2PHRoaXNbXzB4MTUxYTA3KCcweDUyMCcpXTtfMHgyZTM5ZTYrKyl7dmFyIF8weDE0M2ZkMj0oMHgwfHRoaXNbXzB4MTUxYTA3KCcweDk3MicpXVtfMHgyZTM5ZTZdKSpfMHgyNzIxYmYsXzB4MjM2YWZmPSgweDNmZmZmZmYmXzB4MTQzZmQyKSsoMHgzZmZmZmZmJl8weDM1ZjVlOSk7XzB4MzVmNWU5Pj49MHgxYSxfMHgzNWY1ZTkrPV8weDE0M2ZkMi8weDQwMDAwMDB8MHgwLF8weDM1ZjVlOSs9XzB4MjM2YWZmPj4+MHgxYSx0aGlzW18weDE1MWEwNygnMHg5NzInKV1bXzB4MmUzOWU2XT0weDNmZmZmZmYmXzB4MjM2YWZmO31yZXR1cm4gMHgwIT09XzB4MzVmNWU5JiYodGhpc1tfMHgxNTFhMDcoJzB4OTcyJyldW18weDJlMzllNl09XzB4MzVmNWU5LHRoaXNbJ2xlbmd0aCddKyspLF8weDM4OTA4Yz90aGlzWydpbmVnJ10oKTp0aGlzO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDRlNCcpXT1mdW5jdGlvbihfMHg0YzdlNDcpe3ZhciBfMHhjNTI4Yjc9XzB4NTZiZGU3O3JldHVybiB0aGlzWydjbG9uZSddKClbXzB4YzUyOGI3KCcweDI2NycpXShfMHg0YzdlNDcpO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDllYScpXT1mdW5jdGlvbigpe3ZhciBfMHgyYjIyZGU9XzB4NTZiZGU3O3JldHVybiB0aGlzW18weDJiMjJkZSgnMHhjMjMnKV0odGhpcyk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4OTcwJyldPWZ1bmN0aW9uKCl7dmFyIF8weDI4MWI3MD1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbXzB4MjgxYjcwKCcweDliOCcpXSh0aGlzW18weDI4MWI3MCgnMHgzNzknKV0oKSk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4YTA5JyldPWZ1bmN0aW9uKF8weDU4MzQwNSl7dmFyIF8weDk1NjEyZT1fMHg1NmJkZTcsXzB4ZTNmYzdkPWZ1bmN0aW9uKF8weDU3YjE4ZCl7dmFyIF8weDQ5OWVkNT1fMHgxNWEzO2Zvcih2YXIgXzB4NDljZjMwPW5ldyBBcnJheShfMHg1N2IxOGRbXzB4NDk5ZWQ1KCcweDRlOScpXSgpKSxfMHgxYTAyN2E9MHgwO18weDFhMDI3YTxfMHg0OWNmMzBbXzB4NDk5ZWQ1KCcweDUyMCcpXTtfMHgxYTAyN2ErKyl7dmFyIF8weDUxMGU3ZT1fMHgxYTAyN2EvMHgxYXwweDAsXzB4MmZiZjg4PV8weDFhMDI3YSUweDFhO18weDQ5Y2YzMFtfMHgxYTAyN2FdPV8weDU3YjE4ZFtfMHg0OTllZDUoJzB4OTcyJyldW18weDUxMGU3ZV0+Pj5fMHgyZmJmODgmMHgxO31yZXR1cm4gXzB4NDljZjMwO30oXzB4NTgzNDA1KTtpZigweDA9PT1fMHhlM2ZjN2RbXzB4OTU2MTJlKCcweDUyMCcpXSlyZXR1cm4gbmV3IF8weDMyZjFiYygweDEpO2Zvcih2YXIgXzB4MTY5ODEzPXRoaXMsXzB4MTNjNDc0PTB4MDtfMHgxM2M0NzQ8XzB4ZTNmYzdkWydsZW5ndGgnXSYmMHgwPT09XzB4ZTNmYzdkW18weDEzYzQ3NF07XzB4MTNjNDc0KyssXzB4MTY5ODEzPV8weDE2OTgxM1tfMHg5NTYxMmUoJzB4OWVhJyldKCkpO2lmKCsrXzB4MTNjNDc0PF8weGUzZmM3ZFtfMHg5NTYxMmUoJzB4NTIwJyldKXtmb3IodmFyIF8weDNlZjY4Zj1fMHgxNjk4MTNbXzB4OTU2MTJlKCcweDllYScpXSgpO18weDEzYzQ3NDxfMHhlM2ZjN2RbXzB4OTU2MTJlKCcweDUyMCcpXTtfMHgxM2M0NzQrKyxfMHgzZWY2OGY9XzB4M2VmNjhmW18weDk1NjEyZSgnMHg5ZWEnKV0oKSkweDAhPT1fMHhlM2ZjN2RbXzB4MTNjNDc0XSYmKF8weDE2OTgxMz1fMHgxNjk4MTNbXzB4OTU2MTJlKCcweGMyMycpXShfMHgzZWY2OGYpKTt9cmV0dXJuIF8weDE2OTgxMzt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweGQzNycpXT1mdW5jdGlvbihfMHgxYWM0Mjgpe3ZhciBfMHgyMjg2ZDQ9XzB4NTZiZGU3O18weGNhMzNhYihfMHgyMjg2ZDQoJzB4MjdhJyk9PXR5cGVvZiBfMHgxYWM0MjgmJl8weDFhYzQyOD49MHgwKTt2YXIgXzB4MmI3ODg1LF8weDUxNjAzND1fMHgxYWM0MjglMHgxYSxfMHgxMTQ0ZDA9KF8weDFhYzQyOC1fMHg1MTYwMzQpLzB4MWEsXzB4YTI5MmEwPTB4M2ZmZmZmZj4+PjB4MWEtXzB4NTE2MDM0PDwweDFhLV8weDUxNjAzNDtpZigweDAhPT1fMHg1MTYwMzQpe3ZhciBfMHgyMzQ2ZGQ9MHgwO2ZvcihfMHgyYjc4ODU9MHgwO18weDJiNzg4NTx0aGlzWydsZW5ndGgnXTtfMHgyYjc4ODUrKyl7dmFyIF8weGM5MjUxZT10aGlzW18weDIyODZkNCgnMHg5NzInKV1bXzB4MmI3ODg1XSZfMHhhMjkyYTAsXzB4MjUxODM4PSgweDB8dGhpc1tfMHgyMjg2ZDQoJzB4OTcyJyldW18weDJiNzg4NV0pLV8weGM5MjUxZTw8XzB4NTE2MDM0O3RoaXNbXzB4MjI4NmQ0KCcweDk3MicpXVtfMHgyYjc4ODVdPV8weDI1MTgzOHxfMHgyMzQ2ZGQsXzB4MjM0NmRkPV8weGM5MjUxZT4+PjB4MWEtXzB4NTE2MDM0O31fMHgyMzQ2ZGQmJih0aGlzWyd3b3JkcyddW18weDJiNzg4NV09XzB4MjM0NmRkLHRoaXNbXzB4MjI4NmQ0KCcweDUyMCcpXSsrKTt9aWYoMHgwIT09XzB4MTE0NGQwKXtmb3IoXzB4MmI3ODg1PXRoaXNbXzB4MjI4NmQ0KCcweDUyMCcpXS0weDE7XzB4MmI3ODg1Pj0weDA7XzB4MmI3ODg1LS0pdGhpc1tfMHgyMjg2ZDQoJzB4OTcyJyldW18weDJiNzg4NStfMHgxMTQ0ZDBdPXRoaXNbJ3dvcmRzJ11bXzB4MmI3ODg1XTtmb3IoXzB4MmI3ODg1PTB4MDtfMHgyYjc4ODU8XzB4MTE0NGQwO18weDJiNzg4NSsrKXRoaXNbXzB4MjI4NmQ0KCcweDk3MicpXVtfMHgyYjc4ODVdPTB4MDt0aGlzWydsZW5ndGgnXSs9XzB4MTE0NGQwO31yZXR1cm4gdGhpc1tfMHgyMjg2ZDQoJzB4YWU0JyldKCk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVsnaXNobG4nXT1mdW5jdGlvbihfMHg0NTNkY2Qpe3ZhciBfMHg4YmYzNmQ9XzB4NTZiZGU3O3JldHVybiBfMHhjYTMzYWIoMHgwPT09dGhpc1tfMHg4YmYzNmQoJzB4ZDUwJyldKSx0aGlzW18weDhiZjM2ZCgnMHhkMzcnKV0oXzB4NDUzZGNkKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHgxY2QnKV09ZnVuY3Rpb24oXzB4MWRkMzI2LF8weDMzNjBlYixfMHg3Y2I3Mil7dmFyIF8weDMwYjMyNz1fMHg1NmJkZTcsXzB4M2IyYTc2O18weGNhMzNhYihfMHgzMGIzMjcoJzB4MjdhJyk9PXR5cGVvZiBfMHgxZGQzMjYmJl8weDFkZDMyNj49MHgwKSxfMHgzYjJhNzY9XzB4MzM2MGViPyhfMHgzMzYwZWItXzB4MzM2MGViJTB4MWEpLzB4MWE6MHgwO3ZhciBfMHg1ODE0MTc9XzB4MWRkMzI2JTB4MWEsXzB4MmU2MThiPU1hdGhbXzB4MzBiMzI3KCcweGI4MCcpXSgoXzB4MWRkMzI2LV8weDU4MTQxNykvMHgxYSx0aGlzWydsZW5ndGgnXSksXzB4MjUxNDE2PTB4M2ZmZmZmZl4weDNmZmZmZmY+Pj5fMHg1ODE0MTc8PF8weDU4MTQxNyxfMHgzMjNkNDY9XzB4N2NiNzI7aWYoXzB4M2IyYTc2LT1fMHgyZTYxOGIsXzB4M2IyYTc2PU1hdGhbXzB4MzBiMzI3KCcweDhmOScpXSgweDAsXzB4M2IyYTc2KSxfMHgzMjNkNDYpe2Zvcih2YXIgXzB4MzgzMTcyPTB4MDtfMHgzODMxNzI8XzB4MmU2MThiO18weDM4MzE3MisrKV8weDMyM2Q0NltfMHgzMGIzMjcoJzB4OTcyJyldW18weDM4MzE3Ml09dGhpc1tfMHgzMGIzMjcoJzB4OTcyJyldW18weDM4MzE3Ml07XzB4MzIzZDQ2W18weDMwYjMyNygnMHg1MjAnKV09XzB4MmU2MThiO31pZigweDA9PT1fMHgyZTYxOGIpO2Vsc2V7aWYodGhpc1tfMHgzMGIzMjcoJzB4NTIwJyldPl8weDJlNjE4Yil7Zm9yKHRoaXNbXzB4MzBiMzI3KCcweDUyMCcpXS09XzB4MmU2MThiLF8weDM4MzE3Mj0weDA7XzB4MzgzMTcyPHRoaXNbXzB4MzBiMzI3KCcweDUyMCcpXTtfMHgzODMxNzIrKyl0aGlzWyd3b3JkcyddW18weDM4MzE3Ml09dGhpc1tfMHgzMGIzMjcoJzB4OTcyJyldW18weDM4MzE3MitfMHgyZTYxOGJdO31lbHNlIHRoaXNbXzB4MzBiMzI3KCcweDk3MicpXVsweDBdPTB4MCx0aGlzW18weDMwYjMyNygnMHg1MjAnKV09MHgxO312YXIgXzB4NWI3NmNjPTB4MDtmb3IoXzB4MzgzMTcyPXRoaXNbXzB4MzBiMzI3KCcweDUyMCcpXS0weDE7XzB4MzgzMTcyPj0weDAmJigweDAhPT1fMHg1Yjc2Y2N8fF8weDM4MzE3Mj49XzB4M2IyYTc2KTtfMHgzODMxNzItLSl7dmFyIF8weDUzZDYzNT0weDB8dGhpc1tfMHgzMGIzMjcoJzB4OTcyJyldW18weDM4MzE3Ml07dGhpc1snd29yZHMnXVtfMHgzODMxNzJdPV8weDViNzZjYzw8MHgxYS1fMHg1ODE0MTd8XzB4NTNkNjM1Pj4+XzB4NTgxNDE3LF8weDViNzZjYz1fMHg1M2Q2MzUmXzB4MjUxNDE2O31yZXR1cm4gXzB4MzIzZDQ2JiYweDAhPT1fMHg1Yjc2Y2MmJihfMHgzMjNkNDZbXzB4MzBiMzI3KCcweDk3MicpXVtfMHgzMjNkNDZbJ2xlbmd0aCddKytdPV8weDViNzZjYyksMHgwPT09dGhpc1tfMHgzMGIzMjcoJzB4NTIwJyldJiYodGhpc1tfMHgzMGIzMjcoJzB4OTcyJyldWzB4MF09MHgwLHRoaXNbXzB4MzBiMzI3KCcweDUyMCcpXT0weDEpLHRoaXNbXzB4MzBiMzI3KCcweGFlNCcpXSgpO30sXzB4MzJmMWJjWydwcm90b3R5cGUnXVtfMHg1NmJkZTcoJzB4MmEyJyldPWZ1bmN0aW9uKF8weDNiMmMzZCxfMHgyZGUxOTMsXzB4MmYyODE0KXt2YXIgXzB4NWVhNWZmPV8weDU2YmRlNztyZXR1cm4gXzB4Y2EzM2FiKDB4MD09PXRoaXNbXzB4NWVhNWZmKCcweGQ1MCcpXSksdGhpc1tfMHg1ZWE1ZmYoJzB4MWNkJyldKF8weDNiMmMzZCxfMHgyZGUxOTMsXzB4MmYyODE0KTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHhhOTAnKV09ZnVuY3Rpb24oXzB4MTk3Mjc2KXt2YXIgXzB4NDg0NjgzPV8weDU2YmRlNztyZXR1cm4gdGhpc1tfMHg0ODQ2ODMoJzB4Mzc5JyldKClbXzB4NDg0NjgzKCcweDliZScpXShfMHgxOTcyNzYpO30sXzB4MzJmMWJjWydwcm90b3R5cGUnXVtfMHg1NmJkZTcoJzB4YTJjJyldPWZ1bmN0aW9uKF8weDM5NzY4Yyl7dmFyIF8weDNkZTkyNj1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbXzB4M2RlOTI2KCcweDM3OScpXSgpW18weDNkZTkyNignMHhkMzcnKV0oXzB4Mzk3NjhjKTt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweGQwOScpXT1mdW5jdGlvbihfMHhiYWJlZDcpe3ZhciBfMHg1Nzk2MDY9XzB4NTZiZGU3O3JldHVybiB0aGlzWydjbG9uZSddKClbXzB4NTc5NjA2KCcweDJhMicpXShfMHhiYWJlZDcpO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweGNmYycpXT1mdW5jdGlvbihfMHg0NDc2ZTIpe3JldHVybiB0aGlzWydjbG9uZSddKClbJ2l1c2hybiddKF8weDQ0NzZlMik7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4N2MzJyldPWZ1bmN0aW9uKF8weDU2MWY0NCl7dmFyIF8weDRhYWYyOT1fMHg1NmJkZTc7XzB4Y2EzM2FiKF8weDRhYWYyOSgnMHgyN2EnKT09dHlwZW9mIF8weDU2MWY0NCYmXzB4NTYxZjQ0Pj0weDApO3ZhciBfMHgzM2ExNmU9XzB4NTYxZjQ0JTB4MWEsXzB4Zjk4OGUyPShfMHg1NjFmNDQtXzB4MzNhMTZlKS8weDFhLF8weDNmOTQ5MT0weDE8PF8weDMzYTE2ZTtyZXR1cm4hKHRoaXNbXzB4NGFhZjI5KCcweDUyMCcpXTw9XzB4Zjk4OGUyfHwhKHRoaXNbXzB4NGFhZjI5KCcweDk3MicpXVtfMHhmOTg4ZTJdJl8weDNmOTQ5MSkpO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDYyNCcpXT1mdW5jdGlvbihfMHg1YjgyNDQpe3ZhciBfMHgzMzgyOTA9XzB4NTZiZGU3O18weGNhMzNhYignbnVtYmVyJz09dHlwZW9mIF8weDViODI0NCYmXzB4NWI4MjQ0Pj0weDApO3ZhciBfMHgzYWNmODY9XzB4NWI4MjQ0JTB4MWEsXzB4MTY5YTc5PShfMHg1YjgyNDQtXzB4M2FjZjg2KS8weDFhO2lmKF8weGNhMzNhYigweDA9PT10aGlzW18weDMzODI5MCgnMHhkNTAnKV0sXzB4MzM4MjkwKCcweGI3MicpKSx0aGlzW18weDMzODI5MCgnMHg1MjAnKV08PV8weDE2OWE3OSlyZXR1cm4gdGhpcztpZigweDAhPT1fMHgzYWNmODYmJl8weDE2OWE3OSsrLHRoaXNbXzB4MzM4MjkwKCcweDUyMCcpXT1NYXRoW18weDMzODI5MCgnMHhiODAnKV0oXzB4MTY5YTc5LHRoaXNbXzB4MzM4MjkwKCcweDUyMCcpXSksMHgwIT09XzB4M2FjZjg2KXt2YXIgXzB4MTdiMzM0PTB4M2ZmZmZmZl4weDNmZmZmZmY+Pj5fMHgzYWNmODY8PF8weDNhY2Y4Njt0aGlzWyd3b3JkcyddW3RoaXNbXzB4MzM4MjkwKCcweDUyMCcpXS0weDFdJj1fMHgxN2IzMzQ7fXJldHVybiB0aGlzW18weDMzODI5MCgnMHhhZTQnKV0oKTt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweDMwYycpXT1mdW5jdGlvbihfMHgzNjg3OWEpe3ZhciBfMHg1NjE1NDA9XzB4NTZiZGU3O3JldHVybiB0aGlzW18weDU2MTU0MCgnMHgzNzknKV0oKVtfMHg1NjE1NDAoJzB4NjI0JyldKF8weDM2ODc5YSk7fSxfMHgzMmYxYmNbJ3Byb3RvdHlwZSddW18weDU2YmRlNygnMHg3NWYnKV09ZnVuY3Rpb24oXzB4Mzg0MDExKXt2YXIgXzB4MTk2OGVkPV8weDU2YmRlNztyZXR1cm4gXzB4Y2EzM2FiKF8weDE5NjhlZCgnMHgyN2EnKT09dHlwZW9mIF8weDM4NDAxMSksXzB4Y2EzM2FiKF8weDM4NDAxMTwweDQwMDAwMDApLF8weDM4NDAxMTwweDA/dGhpc1tfMHgxOTY4ZWQoJzB4OTI5JyldKC1fMHgzODQwMTEpOjB4MCE9PXRoaXNbXzB4MTk2OGVkKCcweGQ1MCcpXT8weDE9PT10aGlzW18weDE5NjhlZCgnMHg1MjAnKV0mJigweDB8dGhpc1snd29yZHMnXVsweDBdKTw9XzB4Mzg0MDExPyh0aGlzW18weDE5NjhlZCgnMHg5NzInKV1bMHgwXT1fMHgzODQwMTEtKDB4MHx0aGlzW18weDE5NjhlZCgnMHg5NzInKV1bMHgwXSksdGhpc1tfMHgxOTY4ZWQoJzB4ZDUwJyldPTB4MCx0aGlzKToodGhpc1tfMHgxOTY4ZWQoJzB4ZDUwJyldPTB4MCx0aGlzW18weDE5NjhlZCgnMHg5MjknKV0oXzB4Mzg0MDExKSx0aGlzWyduZWdhdGl2ZSddPTB4MSx0aGlzKTp0aGlzW18weDE5NjhlZCgnMHg1NjcnKV0oXzB4Mzg0MDExKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHg1NjcnKV09ZnVuY3Rpb24oXzB4MzQxZDg2KXt2YXIgXzB4NTlmYmI0PV8weDU2YmRlNzt0aGlzW18weDU5ZmJiNCgnMHg5NzInKV1bMHgwXSs9XzB4MzQxZDg2O2Zvcih2YXIgXzB4Mzk3OGY0PTB4MDtfMHgzOTc4ZjQ8dGhpc1tfMHg1OWZiYjQoJzB4NTIwJyldJiZ0aGlzW18weDU5ZmJiNCgnMHg5NzInKV1bXzB4Mzk3OGY0XT49MHg0MDAwMDAwO18weDM5NzhmNCsrKXRoaXNbXzB4NTlmYmI0KCcweDk3MicpXVtfMHgzOTc4ZjRdLT0weDQwMDAwMDAsXzB4Mzk3OGY0PT09dGhpc1snbGVuZ3RoJ10tMHgxP3RoaXNbXzB4NTlmYmI0KCcweDk3MicpXVtfMHgzOTc4ZjQrMHgxXT0weDE6dGhpc1snd29yZHMnXVtfMHgzOTc4ZjQrMHgxXSsrO3JldHVybiB0aGlzW18weDU5ZmJiNCgnMHg1MjAnKV09TWF0aFsnbWF4J10odGhpc1snbGVuZ3RoJ10sXzB4Mzk3OGY0KzB4MSksdGhpczt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bJ2lzdWJuJ109ZnVuY3Rpb24oXzB4NGQ5ZTc1KXt2YXIgXzB4MzM5MmE4PV8weDU2YmRlNztpZihfMHhjYTMzYWIoXzB4MzM5MmE4KCcweDI3YScpPT10eXBlb2YgXzB4NGQ5ZTc1KSxfMHhjYTMzYWIoXzB4NGQ5ZTc1PDB4NDAwMDAwMCksXzB4NGQ5ZTc1PDB4MClyZXR1cm4gdGhpc1snaWFkZG4nXSgtXzB4NGQ5ZTc1KTtpZigweDAhPT10aGlzW18weDMzOTJhOCgnMHhkNTAnKV0pcmV0dXJuIHRoaXNbJ25lZ2F0aXZlJ109MHgwLHRoaXNbXzB4MzM5MmE4KCcweDc1ZicpXShfMHg0ZDllNzUpLHRoaXNbXzB4MzM5MmE4KCcweGQ1MCcpXT0weDEsdGhpcztpZih0aGlzW18weDMzOTJhOCgnMHg5NzInKV1bMHgwXS09XzB4NGQ5ZTc1LDB4MT09PXRoaXNbJ2xlbmd0aCddJiZ0aGlzW18weDMzOTJhOCgnMHg5NzInKV1bMHgwXTwweDApdGhpc1tfMHgzMzkyYTgoJzB4OTcyJyldWzB4MF09LXRoaXNbXzB4MzM5MmE4KCcweDk3MicpXVsweDBdLHRoaXNbXzB4MzM5MmE4KCcweGQ1MCcpXT0weDE7ZWxzZXtmb3IodmFyIF8weDIyZDZhYT0weDA7XzB4MjJkNmFhPHRoaXNbXzB4MzM5MmE4KCcweDUyMCcpXSYmdGhpc1tfMHgzMzkyYTgoJzB4OTcyJyldW18weDIyZDZhYV08MHgwO18weDIyZDZhYSsrKXRoaXNbXzB4MzM5MmE4KCcweDk3MicpXVtfMHgyMmQ2YWFdKz0weDQwMDAwMDAsdGhpc1snd29yZHMnXVtfMHgyMmQ2YWErMHgxXS09MHgxO31yZXR1cm4gdGhpc1tfMHgzMzkyYTgoJzB4YWU0JyldKCk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVsnYWRkbiddPWZ1bmN0aW9uKF8weDE5NTI3ZSl7dmFyIF8weDNjMWQyMj1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbJ2Nsb25lJ10oKVtfMHgzYzFkMjIoJzB4NzVmJyldKF8weDE5NTI3ZSk7fSxfMHgzMmYxYmNbJ3Byb3RvdHlwZSddW18weDU2YmRlNygnMHhjNzMnKV09ZnVuY3Rpb24oXzB4MmM3MTFlKXt2YXIgXzB4ZGM1M2EwPV8weDU2YmRlNztyZXR1cm4gdGhpc1snY2xvbmUnXSgpW18weGRjNTNhMCgnMHg5MjknKV0oXzB4MmM3MTFlKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHhhY2YnKV09ZnVuY3Rpb24oKXt2YXIgXzB4NDg3MDVkPV8weDU2YmRlNztyZXR1cm4gdGhpc1tfMHg0ODcwNWQoJzB4ZDUwJyldPTB4MCx0aGlzO30sXzB4MzJmMWJjWydwcm90b3R5cGUnXVtfMHg1NmJkZTcoJzB4NTQ4JyldPWZ1bmN0aW9uKCl7dmFyIF8weDNjMmMyNz1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbXzB4M2MyYzI3KCcweDM3OScpXSgpW18weDNjMmMyNygnMHhhY2YnKV0oKTt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweDFjNScpXT1mdW5jdGlvbihfMHgzNjE2OTksXzB4OWY2NTcyLF8weDExNTBjMCl7dmFyIF8weDFhZWYwNT1fMHg1NmJkZTcsXzB4MzMxMmQ5LF8weDI0MzFiNCxfMHg1Yjc3Mzc9XzB4MzYxNjk5W18weDFhZWYwNSgnMHg1MjAnKV0rXzB4MTE1MGMwO3RoaXNbXzB4MWFlZjA1KCcweDQ1NCcpXShfMHg1Yjc3MzcpO3ZhciBfMHg1OGI2YjI9MHgwO2ZvcihfMHgzMzEyZDk9MHgwO18weDMzMTJkOTxfMHgzNjE2OTlbJ2xlbmd0aCddO18weDMzMTJkOSsrKXtfMHgyNDMxYjQ9KDB4MHx0aGlzWyd3b3JkcyddW18weDMzMTJkOStfMHgxMTUwYzBdKStfMHg1OGI2YjI7dmFyIF8weDIwMTcyNz0oMHgwfF8weDM2MTY5OVtfMHgxYWVmMDUoJzB4OTcyJyldW18weDMzMTJkOV0pKl8weDlmNjU3MjtfMHg1OGI2YjI9KChfMHgyNDMxYjQtPTB4M2ZmZmZmZiZfMHgyMDE3MjcpPj4weDFhKS0oXzB4MjAxNzI3LzB4NDAwMDAwMHwweDApLHRoaXNbJ3dvcmRzJ11bXzB4MzMxMmQ5K18weDExNTBjMF09MHgzZmZmZmZmJl8weDI0MzFiNDt9Zm9yKDtfMHgzMzEyZDk8dGhpc1tfMHgxYWVmMDUoJzB4NTIwJyldLV8weDExNTBjMDtfMHgzMzEyZDkrKylfMHg1OGI2YjI9KF8weDI0MzFiND0oMHgwfHRoaXNbXzB4MWFlZjA1KCcweDk3MicpXVtfMHgzMzEyZDkrXzB4MTE1MGMwXSkrXzB4NThiNmIyKT4+MHgxYSx0aGlzW18weDFhZWYwNSgnMHg5NzInKV1bXzB4MzMxMmQ5K18weDExNTBjMF09MHgzZmZmZmZmJl8weDI0MzFiNDtpZigweDA9PT1fMHg1OGI2YjIpcmV0dXJuIHRoaXNbXzB4MWFlZjA1KCcweGFlNCcpXSgpO2ZvcihfMHhjYTMzYWIoLTB4MT09PV8weDU4YjZiMiksXzB4NThiNmIyPTB4MCxfMHgzMzEyZDk9MHgwO18weDMzMTJkOTx0aGlzW18weDFhZWYwNSgnMHg1MjAnKV07XzB4MzMxMmQ5KyspXzB4NThiNmIyPShfMHgyNDMxYjQ9LSgweDB8dGhpc1tfMHgxYWVmMDUoJzB4OTcyJyldW18weDMzMTJkOV0pK18weDU4YjZiMik+PjB4MWEsdGhpc1tfMHgxYWVmMDUoJzB4OTcyJyldW18weDMzMTJkOV09MHgzZmZmZmZmJl8weDI0MzFiNDtyZXR1cm4gdGhpc1tfMHgxYWVmMDUoJzB4ZDUwJyldPTB4MSx0aGlzW18weDFhZWYwNSgnMHhhZTQnKV0oKTt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweDU3ZicpXT1mdW5jdGlvbihfMHg0YmY0MjgsXzB4NWJkMDM1KXt2YXIgXzB4NWRkNDUwPV8weDU2YmRlNyxfMHg1NjQ3MTk9KHRoaXNbXzB4NWRkNDUwKCcweDUyMCcpXSxfMHg0YmY0MjhbXzB4NWRkNDUwKCcweDUyMCcpXSksXzB4MWIwNzQ4PXRoaXNbXzB4NWRkNDUwKCcweDM3OScpXSgpLF8weDI3NjNjZj1fMHg0YmY0MjgsXzB4MWUzMDY4PTB4MHxfMHgyNzYzY2ZbXzB4NWRkNDUwKCcweDk3MicpXVtfMHgyNzYzY2ZbXzB4NWRkNDUwKCcweDUyMCcpXS0weDFdOzB4MCE9KF8weDU2NDcxOT0weDFhLXRoaXNbJ19jb3VudEJpdHMnXShfMHgxZTMwNjgpKSYmKF8weDI3NjNjZj1fMHgyNzYzY2ZbXzB4NWRkNDUwKCcweGEyYycpXShfMHg1NjQ3MTkpLF8weDFiMDc0OFtfMHg1ZGQ0NTAoJzB4ZDM3JyldKF8weDU2NDcxOSksXzB4MWUzMDY4PTB4MHxfMHgyNzYzY2ZbJ3dvcmRzJ11bXzB4Mjc2M2NmW18weDVkZDQ1MCgnMHg1MjAnKV0tMHgxXSk7dmFyIF8weDMzY2U0ZCxfMHg1OTlhMjY9XzB4MWIwNzQ4WydsZW5ndGgnXS1fMHgyNzYzY2ZbJ2xlbmd0aCddO2lmKCdtb2QnIT09XzB4NWJkMDM1KXsoXzB4MzNjZTRkPW5ldyBfMHgzMmYxYmMobnVsbCkpWydsZW5ndGgnXT1fMHg1OTlhMjYrMHgxLF8weDMzY2U0ZFtfMHg1ZGQ0NTAoJzB4OTcyJyldPW5ldyBBcnJheShfMHgzM2NlNGRbXzB4NWRkNDUwKCcweDUyMCcpXSk7Zm9yKHZhciBfMHg0NTIzOWM9MHgwO18weDQ1MjM5YzxfMHgzM2NlNGRbXzB4NWRkNDUwKCcweDUyMCcpXTtfMHg0NTIzOWMrKylfMHgzM2NlNGRbXzB4NWRkNDUwKCcweDk3MicpXVtfMHg0NTIzOWNdPTB4MDt9dmFyIF8weDEwZmY3NT1fMHgxYjA3NDhbXzB4NWRkNDUwKCcweDM3OScpXSgpW18weDVkZDQ1MCgnMHgxYzUnKV0oXzB4Mjc2M2NmLDB4MSxfMHg1OTlhMjYpOzB4MD09PV8weDEwZmY3NVtfMHg1ZGQ0NTAoJzB4ZDUwJyldJiYoXzB4MWIwNzQ4PV8weDEwZmY3NSxfMHgzM2NlNGQmJihfMHgzM2NlNGRbJ3dvcmRzJ11bXzB4NTk5YTI2XT0weDEpKTtmb3IodmFyIF8weDNiOTQ5MT1fMHg1OTlhMjYtMHgxO18weDNiOTQ5MT49MHgwO18weDNiOTQ5MS0tKXt2YXIgXzB4MjUwZWRkPTB4NDAwMDAwMCooMHgwfF8weDFiMDc0OFtfMHg1ZGQ0NTAoJzB4OTcyJyldW18weDI3NjNjZltfMHg1ZGQ0NTAoJzB4NTIwJyldK18weDNiOTQ5MV0pKygweDB8XzB4MWIwNzQ4W18weDVkZDQ1MCgnMHg5NzInKV1bXzB4Mjc2M2NmW18weDVkZDQ1MCgnMHg1MjAnKV0rXzB4M2I5NDkxLTB4MV0pO2ZvcihfMHgyNTBlZGQ9TWF0aFtfMHg1ZGQ0NTAoJzB4YjgwJyldKF8weDI1MGVkZC9fMHgxZTMwNjh8MHgwLDB4M2ZmZmZmZiksXzB4MWIwNzQ4W18weDVkZDQ1MCgnMHgxYzUnKV0oXzB4Mjc2M2NmLF8weDI1MGVkZCxfMHgzYjk0OTEpOzB4MCE9PV8weDFiMDc0OFtfMHg1ZGQ0NTAoJzB4ZDUwJyldOylfMHgyNTBlZGQtLSxfMHgxYjA3NDhbXzB4NWRkNDUwKCcweGQ1MCcpXT0weDAsXzB4MWIwNzQ4W18weDVkZDQ1MCgnMHgxYzUnKV0oXzB4Mjc2M2NmLDB4MSxfMHgzYjk0OTEpLF8weDFiMDc0OFtfMHg1ZGQ0NTAoJzB4YTQ3JyldKCl8fChfMHgxYjA3NDhbXzB4NWRkNDUwKCcweGQ1MCcpXV49MHgxKTtfMHgzM2NlNGQmJihfMHgzM2NlNGRbXzB4NWRkNDUwKCcweDk3MicpXVtfMHgzYjk0OTFdPV8weDI1MGVkZCk7fXJldHVybiBfMHgzM2NlNGQmJl8weDMzY2U0ZFtfMHg1ZGQ0NTAoJzB4YWU0JyldKCksXzB4MWIwNzQ4Wydfc3RyaXAnXSgpLCdkaXYnIT09XzB4NWJkMDM1JiYweDAhPT1fMHg1NjQ3MTkmJl8weDFiMDc0OFtfMHg1ZGQ0NTAoJzB4MWNkJyldKF8weDU2NDcxOSkseydkaXYnOl8weDMzY2U0ZHx8bnVsbCwnbW9kJzpfMHgxYjA3NDh9O30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDI0OCcpXT1mdW5jdGlvbihfMHgzMGNiYTIsXzB4MWExZGYxLF8weDI2Njg2Nyl7dmFyIF8weDFiMzIwZD1fMHg1NmJkZTc7cmV0dXJuIF8weGNhMzNhYighXzB4MzBjYmEyW18weDFiMzIwZCgnMHhhNDcnKV0oKSksdGhpc1tfMHgxYjMyMGQoJzB4YTQ3JyldKCk/eydkaXYnOm5ldyBfMHgzMmYxYmMoMHgwKSwnbW9kJzpuZXcgXzB4MzJmMWJjKDB4MCl9OjB4MCE9PXRoaXNbJ25lZ2F0aXZlJ10mJjB4MD09PV8weDMwY2JhMlsnbmVnYXRpdmUnXT8oXzB4YzAzODQzPXRoaXNbXzB4MWIzMjBkKCcweGMxNycpXSgpWydkaXZtb2QnXShfMHgzMGNiYTIsXzB4MWExZGYxKSwnbW9kJyE9PV8weDFhMWRmMSYmKF8weDJmNWI1YT1fMHhjMDM4NDNbXzB4MWIzMjBkKCcweDg1ZCcpXVsnbmVnJ10oKSksXzB4MWIzMjBkKCcweDg1ZCcpIT09XzB4MWExZGYxJiYoXzB4NWNlZGJlPV8weGMwMzg0M1snbW9kJ11bXzB4MWIzMjBkKCcweGMxNycpXSgpLF8weDI2Njg2NyYmMHgwIT09XzB4NWNlZGJlWyduZWdhdGl2ZSddJiZfMHg1Y2VkYmVbJ2lhZGQnXShfMHgzMGNiYTIpKSx7J2Rpdic6XzB4MmY1YjVhLCdtb2QnOl8weDVjZWRiZX0pOjB4MD09PXRoaXNbJ25lZ2F0aXZlJ10mJjB4MCE9PV8weDMwY2JhMltfMHgxYjMyMGQoJzB4ZDUwJyldPyhfMHhjMDM4NDM9dGhpc1tfMHgxYjMyMGQoJzB4MjQ4JyldKF8weDMwY2JhMlsnbmVnJ10oKSxfMHgxYTFkZjEpLF8weDFiMzIwZCgnMHgxY2UnKSE9PV8weDFhMWRmMSYmKF8weDJmNWI1YT1fMHhjMDM4NDNbJ2RpdiddW18weDFiMzIwZCgnMHhjMTcnKV0oKSkseydkaXYnOl8weDJmNWI1YSwnbW9kJzpfMHhjMDM4NDNbXzB4MWIzMjBkKCcweDFjZScpXX0pOjB4MCE9KHRoaXNbXzB4MWIzMjBkKCcweGQ1MCcpXSZfMHgzMGNiYTJbJ25lZ2F0aXZlJ10pPyhfMHhjMDM4NDM9dGhpc1tfMHgxYjMyMGQoJzB4YzE3JyldKClbXzB4MWIzMjBkKCcweDI0OCcpXShfMHgzMGNiYTJbXzB4MWIzMjBkKCcweGMxNycpXSgpLF8weDFhMWRmMSksXzB4MWIzMjBkKCcweDg1ZCcpIT09XzB4MWExZGYxJiYoXzB4NWNlZGJlPV8weGMwMzg0M1tfMHgxYjMyMGQoJzB4MWNlJyldW18weDFiMzIwZCgnMHhjMTcnKV0oKSxfMHgyNjY4NjcmJjB4MCE9PV8weDVjZWRiZVtfMHgxYjMyMGQoJzB4ZDUwJyldJiZfMHg1Y2VkYmVbXzB4MWIzMjBkKCcweDZhNicpXShfMHgzMGNiYTIpKSx7J2Rpdic6XzB4YzAzODQzW18weDFiMzIwZCgnMHg4NWQnKV0sJ21vZCc6XzB4NWNlZGJlfSk6XzB4MzBjYmEyW18weDFiMzIwZCgnMHg1MjAnKV0+dGhpc1snbGVuZ3RoJ118fHRoaXNbXzB4MWIzMjBkKCcweDM3MCcpXShfMHgzMGNiYTIpPDB4MD97J2Rpdic6bmV3IF8weDMyZjFiYygweDApLCdtb2QnOnRoaXN9OjB4MT09PV8weDMwY2JhMlsnbGVuZ3RoJ10/J2Rpdic9PT1fMHgxYTFkZjE/eydkaXYnOnRoaXNbXzB4MWIzMjBkKCcweGE2NScpXShfMHgzMGNiYTJbXzB4MWIzMjBkKCcweDk3MicpXVsweDBdKSwnbW9kJzpudWxsfTpfMHgxYjMyMGQoJzB4MWNlJyk9PT1fMHgxYTFkZjE/eydkaXYnOm51bGwsJ21vZCc6bmV3IF8weDMyZjFiYyh0aGlzWydtb2RybiddKF8weDMwY2JhMltfMHgxYjMyMGQoJzB4OTcyJyldWzB4MF0pKX06eydkaXYnOnRoaXNbJ2Rpdm4nXShfMHgzMGNiYTJbXzB4MWIzMjBkKCcweDk3MicpXVsweDBdKSwnbW9kJzpuZXcgXzB4MzJmMWJjKHRoaXNbJ21vZHJuJ10oXzB4MzBjYmEyWyd3b3JkcyddWzB4MF0pKX06dGhpc1tfMHgxYjMyMGQoJzB4NTdmJyldKF8weDMwY2JhMixfMHgxYTFkZjEpO3ZhciBfMHgyZjViNWEsXzB4NWNlZGJlLF8weGMwMzg0Mzt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweDg1ZCcpXT1mdW5jdGlvbihfMHgzNzU5Y2Ipe3ZhciBfMHg0ODNjNjA9XzB4NTZiZGU3O3JldHVybiB0aGlzWydkaXZtb2QnXShfMHgzNzU5Y2IsXzB4NDgzYzYwKCcweDg1ZCcpLCEweDEpWydkaXYnXTt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweDFjZScpXT1mdW5jdGlvbihfMHg1MzY4YjEpe3ZhciBfMHg0ZWU4M2M9XzB4NTZiZGU3O3JldHVybiB0aGlzW18weDRlZTgzYygnMHgyNDgnKV0oXzB4NTM2OGIxLF8weDRlZTgzYygnMHgxY2UnKSwhMHgxKVtfMHg0ZWU4M2MoJzB4MWNlJyldO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bJ3Vtb2QnXT1mdW5jdGlvbihfMHg0NDQ1OTEpe3ZhciBfMHgxYTJhOTc9XzB4NTZiZGU3O3JldHVybiB0aGlzW18weDFhMmE5NygnMHgyNDgnKV0oXzB4NDQ0NTkxLF8weDFhMmE5NygnMHgxY2UnKSwhMHgwKVtfMHgxYTJhOTcoJzB4MWNlJyldO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bJ2RpdlJvdW5kJ109ZnVuY3Rpb24oXzB4MjdkZmJhKXt2YXIgXzB4Nzk1MzRkPV8weDU2YmRlNyxfMHgyYjg3MTg9dGhpc1tfMHg3OTUzNGQoJzB4MjQ4JyldKF8weDI3ZGZiYSk7aWYoXzB4MmI4NzE4W18weDc5NTM0ZCgnMHgxY2UnKV1bXzB4Nzk1MzRkKCcweGE0NycpXSgpKXJldHVybiBfMHgyYjg3MThbJ2RpdiddO3ZhciBfMHgzMGQ4NDM9MHgwIT09XzB4MmI4NzE4W18weDc5NTM0ZCgnMHg4NWQnKV1bXzB4Nzk1MzRkKCcweGQ1MCcpXT9fMHgyYjg3MThbXzB4Nzk1MzRkKCcweDFjZScpXVsnaXN1YiddKF8weDI3ZGZiYSk6XzB4MmI4NzE4W18weDc5NTM0ZCgnMHgxY2UnKV0sXzB4MTNlOTgzPV8weDI3ZGZiYVtfMHg3OTUzNGQoJzB4Y2ZjJyldKDB4MSksXzB4M2QyYTcyPV8weDI3ZGZiYVtfMHg3OTUzNGQoJzB4OWFhJyldKDB4MSksXzB4NWQzNTQ2PV8weDMwZDg0M1tfMHg3OTUzNGQoJzB4MzcwJyldKF8weDEzZTk4Myk7cmV0dXJuIF8weDVkMzU0NjwweDB8fDB4MT09PV8weDNkMmE3MiYmMHgwPT09XzB4NWQzNTQ2P18weDJiODcxOFtfMHg3OTUzNGQoJzB4ODVkJyldOjB4MCE9PV8weDJiODcxOFtfMHg3OTUzNGQoJzB4ODVkJyldW18weDc5NTM0ZCgnMHhkNTAnKV0/XzB4MmI4NzE4W18weDc5NTM0ZCgnMHg4NWQnKV1bXzB4Nzk1MzRkKCcweDkyOScpXSgweDEpOl8weDJiODcxOFsnZGl2J11bXzB4Nzk1MzRkKCcweDc1ZicpXSgweDEpO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDY0NCcpXT1mdW5jdGlvbihfMHg1MjgzODIpe3ZhciBfMHg1MTA4YmI9XzB4NTZiZGU3LF8weGE5ZTFmYj1fMHg1MjgzODI8MHgwO18weGE5ZTFmYiYmKF8weDUyODM4Mj0tXzB4NTI4MzgyKSxfMHhjYTMzYWIoXzB4NTI4MzgyPD0weDNmZmZmZmYpO2Zvcih2YXIgXzB4MjVlMGUxPSgweDE8PDB4MWEpJV8weDUyODM4MixfMHg5YjI3NzI9MHgwLF8weDU3ZGU2Nj10aGlzWydsZW5ndGgnXS0weDE7XzB4NTdkZTY2Pj0weDA7XzB4NTdkZTY2LS0pXzB4OWIyNzcyPShfMHgyNWUwZTEqXzB4OWIyNzcyKygweDB8dGhpc1tfMHg1MTA4YmIoJzB4OTcyJyldW18weDU3ZGU2Nl0pKSVfMHg1MjgzODI7cmV0dXJuIF8weGE5ZTFmYj8tXzB4OWIyNzcyOl8weDliMjc3Mjt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweDM3YycpXT1mdW5jdGlvbihfMHg1NGE0YTgpe3JldHVybiB0aGlzWydtb2RybiddKF8weDU0YTRhOCk7fSxfMHgzMmYxYmNbJ3Byb3RvdHlwZSddW18weDU2YmRlNygnMHg4NjYnKV09ZnVuY3Rpb24oXzB4Mjg3Nzk0KXt2YXIgXzB4MjBhZDMzPV8weDU2YmRlNyxfMHgxM2ZiZmY9XzB4Mjg3Nzk0PDB4MDtfMHgxM2ZiZmYmJihfMHgyODc3OTQ9LV8weDI4Nzc5NCksXzB4Y2EzM2FiKF8weDI4Nzc5NDw9MHgzZmZmZmZmKTtmb3IodmFyIF8weDVjYzI0NT0weDAsXzB4MTYxNzdlPXRoaXNbJ2xlbmd0aCddLTB4MTtfMHgxNjE3N2U+PTB4MDtfMHgxNjE3N2UtLSl7dmFyIF8weDM4MmYzNj0oMHgwfHRoaXNbXzB4MjBhZDMzKCcweDk3MicpXVtfMHgxNjE3N2VdKSsweDQwMDAwMDAqXzB4NWNjMjQ1O3RoaXNbJ3dvcmRzJ11bXzB4MTYxNzdlXT1fMHgzODJmMzYvXzB4Mjg3Nzk0fDB4MCxfMHg1Y2MyNDU9XzB4MzgyZjM2JV8weDI4Nzc5NDt9cmV0dXJuIHRoaXNbJ19zdHJpcCddKCksXzB4MTNmYmZmP3RoaXNbXzB4MjBhZDMzKCcweDY5NycpXSgpOnRoaXM7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4YTY1JyldPWZ1bmN0aW9uKF8weDRhMWUxZSl7dmFyIF8weDM3MmM0ZD1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbXzB4MzcyYzRkKCcweDM3OScpXSgpW18weDM3MmM0ZCgnMHg4NjYnKV0oXzB4NGExZTFlKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHg4MzYnKV09ZnVuY3Rpb24oXzB4MjVhMzhlKXt2YXIgXzB4MmNiN2EwPV8weDU2YmRlNztfMHhjYTMzYWIoMHgwPT09XzB4MjVhMzhlWyduZWdhdGl2ZSddKSxfMHhjYTMzYWIoIV8weDI1YTM4ZVtfMHgyY2I3YTAoJzB4YTQ3JyldKCkpO3ZhciBfMHgxMDc1YmE9dGhpcyxfMHg1YTUyYmI9XzB4MjVhMzhlW18weDJjYjdhMCgnMHgzNzknKV0oKTtfMHgxMDc1YmE9MHgwIT09XzB4MTA3NWJhW18weDJjYjdhMCgnMHhkNTAnKV0/XzB4MTA3NWJhWyd1bW9kJ10oXzB4MjVhMzhlKTpfMHgxMDc1YmFbXzB4MmNiN2EwKCcweDM3OScpXSgpO2Zvcih2YXIgXzB4MTkwMGNmPW5ldyBfMHgzMmYxYmMoMHgxKSxfMHgyODU2YWU9bmV3IF8weDMyZjFiYygweDApLF8weDViNTQ5Yj1uZXcgXzB4MzJmMWJjKDB4MCksXzB4NDAxNTYxPW5ldyBfMHgzMmYxYmMoMHgxKSxfMHg1MjgxNGY9MHgwO18weDEwNzViYVtfMHgyY2I3YTAoJzB4ZDJkJyldKCkmJl8weDVhNTJiYlsnaXNFdmVuJ10oKTspXzB4MTA3NWJhW18weDJjYjdhMCgnMHgxY2QnKV0oMHgxKSxfMHg1YTUyYmJbXzB4MmNiN2EwKCcweDFjZCcpXSgweDEpLCsrXzB4NTI4MTRmO2Zvcih2YXIgXzB4MjI4ZjY5PV8weDVhNTJiYltfMHgyY2I3YTAoJzB4Mzc5JyldKCksXzB4NDdmYTJkPV8weDEwNzViYVtfMHgyY2I3YTAoJzB4Mzc5JyldKCk7IV8weDEwNzViYVsnaXNaZXJvJ10oKTspe2Zvcih2YXIgXzB4YmIyYjJhPTB4MCxfMHgzMDQyOTg9MHgxOzB4MD09KF8weDEwNzViYVtfMHgyY2I3YTAoJzB4OTcyJyldWzB4MF0mXzB4MzA0Mjk4KSYmXzB4YmIyYjJhPDB4MWE7KytfMHhiYjJiMmEsXzB4MzA0Mjk4PDw9MHgxKTtpZihfMHhiYjJiMmE+MHgwKXtmb3IoXzB4MTA3NWJhW18weDJjYjdhMCgnMHgxY2QnKV0oXzB4YmIyYjJhKTtfMHhiYjJiMmEtLT4weDA7KShfMHgxOTAwY2ZbXzB4MmNiN2EwKCcweGI2MycpXSgpfHxfMHgyODU2YWVbXzB4MmNiN2EwKCcweGI2MycpXSgpKSYmKF8weDE5MDBjZlsnaWFkZCddKF8weDIyOGY2OSksXzB4Mjg1NmFlW18weDJjYjdhMCgnMHg2YTYnKV0oXzB4NDdmYTJkKSksXzB4MTkwMGNmWydpdXNocm4nXSgweDEpLF8weDI4NTZhZVtfMHgyY2I3YTAoJzB4MWNkJyldKDB4MSk7fWZvcih2YXIgXzB4NGM5ZmFmPTB4MCxfMHg0ODZiY2M9MHgxOzB4MD09KF8weDVhNTJiYltfMHgyY2I3YTAoJzB4OTcyJyldWzB4MF0mXzB4NDg2YmNjKSYmXzB4NGM5ZmFmPDB4MWE7KytfMHg0YzlmYWYsXzB4NDg2YmNjPDw9MHgxKTtpZihfMHg0YzlmYWY+MHgwKXtmb3IoXzB4NWE1MmJiW18weDJjYjdhMCgnMHgxY2QnKV0oXzB4NGM5ZmFmKTtfMHg0YzlmYWYtLT4weDA7KShfMHg1YjU0OWJbJ2lzT2RkJ10oKXx8XzB4NDAxNTYxW18weDJjYjdhMCgnMHhiNjMnKV0oKSkmJihfMHg1YjU0OWJbXzB4MmNiN2EwKCcweDdjNCcpXShfMHgyMjhmNjkpLF8weDQwMTU2MVtfMHgyY2I3YTAoJzB4NmE2JyldKF8weDQ3ZmEyZCkpLF8weDViNTQ5YlsnaXVzaHJuJ10oMHgxKSxfMHg0MDE1NjFbJ2l1c2hybiddKDB4MSk7fV8weDEwNzViYVsnY21wJ10oXzB4NWE1MmJiKT49MHgwPyhfMHgxMDc1YmFbXzB4MmNiN2EwKCcweDZhNicpXShfMHg1YTUyYmIpLF8weDE5MDBjZltfMHgyY2I3YTAoJzB4NmE2JyldKF8weDViNTQ5YiksXzB4Mjg1NmFlW18weDJjYjdhMCgnMHg2YTYnKV0oXzB4NDAxNTYxKSk6KF8weDVhNTJiYltfMHgyY2I3YTAoJzB4NmE2JyldKF8weDEwNzViYSksXzB4NWI1NDliW18weDJjYjdhMCgnMHg2YTYnKV0oXzB4MTkwMGNmKSxfMHg0MDE1NjFbXzB4MmNiN2EwKCcweDZhNicpXShfMHgyODU2YWUpKTt9cmV0dXJueydhJzpfMHg1YjU0OWIsJ2InOl8weDQwMTU2MSwnZ2NkJzpfMHg1YTUyYmJbXzB4MmNiN2EwKCcweGQzNycpXShfMHg1MjgxNGYpfTt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweDZkYycpXT1mdW5jdGlvbihfMHg1MjhjOTApe3ZhciBfMHg5OTI2NGY9XzB4NTZiZGU3O18weGNhMzNhYigweDA9PT1fMHg1MjhjOTBbJ25lZ2F0aXZlJ10pLF8weGNhMzNhYighXzB4NTI4YzkwW18weDk5MjY0ZignMHhhNDcnKV0oKSk7dmFyIF8weDE0NjJiMz10aGlzLF8weDUxZWQ2Mz1fMHg1MjhjOTBbJ2Nsb25lJ10oKTtfMHgxNDYyYjM9MHgwIT09XzB4MTQ2MmIzW18weDk5MjY0ZignMHhkNTAnKV0/XzB4MTQ2MmIzWyd1bW9kJ10oXzB4NTI4YzkwKTpfMHgxNDYyYjNbXzB4OTkyNjRmKCcweDM3OScpXSgpO2Zvcih2YXIgXzB4MjVmNTNmLF8weDUzNzVjMj1uZXcgXzB4MzJmMWJjKDB4MSksXzB4NTRlZDE4PW5ldyBfMHgzMmYxYmMoMHgwKSxfMHgyYzE0NDU9XzB4NTFlZDYzW18weDk5MjY0ZignMHgzNzknKV0oKTtfMHgxNDYyYjNbJ2NtcG4nXSgweDEpPjB4MCYmXzB4NTFlZDYzW18weDk5MjY0ZignMHg2OWQnKV0oMHgxKT4weDA7KXtmb3IodmFyIF8weDU2MmZhOT0weDAsXzB4NDkxMjU0PTB4MTsweDA9PShfMHgxNDYyYjNbXzB4OTkyNjRmKCcweDk3MicpXVsweDBdJl8weDQ5MTI1NCkmJl8weDU2MmZhOTwweDFhOysrXzB4NTYyZmE5LF8weDQ5MTI1NDw8PTB4MSk7aWYoXzB4NTYyZmE5PjB4MCl7Zm9yKF8weDE0NjJiM1tfMHg5OTI2NGYoJzB4MWNkJyldKF8weDU2MmZhOSk7XzB4NTYyZmE5LS0+MHgwOylfMHg1Mzc1YzJbXzB4OTkyNjRmKCcweGI2MycpXSgpJiZfMHg1Mzc1YzJbXzB4OTkyNjRmKCcweDdjNCcpXShfMHgyYzE0NDUpLF8weDUzNzVjMltfMHg5OTI2NGYoJzB4MWNkJyldKDB4MSk7fWZvcih2YXIgXzB4NThlMzBhPTB4MCxfMHgyNjJmMDI9MHgxOzB4MD09KF8weDUxZWQ2M1tfMHg5OTI2NGYoJzB4OTcyJyldWzB4MF0mXzB4MjYyZjAyKSYmXzB4NThlMzBhPDB4MWE7KytfMHg1OGUzMGEsXzB4MjYyZjAyPDw9MHgxKTtpZihfMHg1OGUzMGE+MHgwKXtmb3IoXzB4NTFlZDYzWydpdXNocm4nXShfMHg1OGUzMGEpO18weDU4ZTMwYS0tPjB4MDspXzB4NTRlZDE4W18weDk5MjY0ZignMHhiNjMnKV0oKSYmXzB4NTRlZDE4W18weDk5MjY0ZignMHg3YzQnKV0oXzB4MmMxNDQ1KSxfMHg1NGVkMThbXzB4OTkyNjRmKCcweDFjZCcpXSgweDEpO31fMHgxNDYyYjNbXzB4OTkyNjRmKCcweDM3MCcpXShfMHg1MWVkNjMpPj0weDA/KF8weDE0NjJiM1tfMHg5OTI2NGYoJzB4NmE2JyldKF8weDUxZWQ2MyksXzB4NTM3NWMyW18weDk5MjY0ZignMHg2YTYnKV0oXzB4NTRlZDE4KSk6KF8weDUxZWQ2M1snaXN1YiddKF8weDE0NjJiMyksXzB4NTRlZDE4W18weDk5MjY0ZignMHg2YTYnKV0oXzB4NTM3NWMyKSk7fXJldHVybihfMHgyNWY1M2Y9MHgwPT09XzB4MTQ2MmIzWydjbXBuJ10oMHgxKT9fMHg1Mzc1YzI6XzB4NTRlZDE4KVtfMHg5OTI2NGYoJzB4NjlkJyldKDB4MCk8MHgwJiZfMHgyNWY1M2ZbXzB4OTkyNjRmKCcweDdjNCcpXShfMHg1MjhjOTApLF8weDI1ZjUzZjt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHgxYzknKV09ZnVuY3Rpb24oXzB4MTg3NDQ4KXt2YXIgXzB4MTg3YmM3PV8weDU2YmRlNztpZih0aGlzW18weDE4N2JjNygnMHhhNDcnKV0oKSlyZXR1cm4gXzB4MTg3NDQ4WydhYnMnXSgpO2lmKF8weDE4NzQ0OFtfMHgxODdiYzcoJzB4YTQ3JyldKCkpcmV0dXJuIHRoaXNbXzB4MTg3YmM3KCcweDU0OCcpXSgpO3ZhciBfMHg1OTBjMDA9dGhpc1snY2xvbmUnXSgpLF8weDMzOGJlOT1fMHgxODc0NDhbXzB4MTg3YmM3KCcweDM3OScpXSgpO18weDU5MGMwMFsnbmVnYXRpdmUnXT0weDAsXzB4MzM4YmU5W18weDE4N2JjNygnMHhkNTAnKV09MHgwO2Zvcih2YXIgXzB4MjUyYWZjPTB4MDtfMHg1OTBjMDBbXzB4MTg3YmM3KCcweGQyZCcpXSgpJiZfMHgzMzhiZTlbJ2lzRXZlbiddKCk7XzB4MjUyYWZjKyspXzB4NTkwYzAwW18weDE4N2JjNygnMHgxY2QnKV0oMHgxKSxfMHgzMzhiZTlbXzB4MTg3YmM3KCcweDFjZCcpXSgweDEpO2Zvcig7Oyl7Zm9yKDtfMHg1OTBjMDBbJ2lzRXZlbiddKCk7KV8weDU5MGMwMFsnaXVzaHJuJ10oMHgxKTtmb3IoO18weDMzOGJlOVtfMHgxODdiYzcoJzB4ZDJkJyldKCk7KV8weDMzOGJlOVsnaXVzaHJuJ10oMHgxKTt2YXIgXzB4MmI2Zjc2PV8weDU5MGMwMFtfMHgxODdiYzcoJzB4MzcwJyldKF8weDMzOGJlOSk7aWYoXzB4MmI2Zjc2PDB4MCl7dmFyIF8weDM5NDUyYj1fMHg1OTBjMDA7XzB4NTkwYzAwPV8weDMzOGJlOSxfMHgzMzhiZTk9XzB4Mzk0NTJiO31lbHNle2lmKDB4MD09PV8weDJiNmY3Nnx8MHgwPT09XzB4MzM4YmU5W18weDE4N2JjNygnMHg2OWQnKV0oMHgxKSlicmVhazt9XzB4NTkwYzAwW18weDE4N2JjNygnMHg2YTYnKV0oXzB4MzM4YmU5KTt9cmV0dXJuIF8weDMzOGJlOVtfMHgxODdiYzcoJzB4ZDM3JyldKF8weDI1MmFmYyk7fSxfMHgzMmYxYmNbJ3Byb3RvdHlwZSddW18weDU2YmRlNygnMHg0MWEnKV09ZnVuY3Rpb24oXzB4NGM5MTY5KXt2YXIgXzB4NDBhMWY1PV8weDU2YmRlNztyZXR1cm4gdGhpc1snZWdjZCddKF8weDRjOTE2OSlbJ2EnXVtfMHg0MGExZjUoJzB4NzMzJyldKF8weDRjOTE2OSk7fSxfMHgzMmYxYmNbJ3Byb3RvdHlwZSddWydpc0V2ZW4nXT1mdW5jdGlvbigpe3ZhciBfMHgyYzE2NzA9XzB4NTZiZGU3O3JldHVybiAweDA9PSgweDEmdGhpc1tfMHgyYzE2NzAoJzB4OTcyJyldWzB4MF0pO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweGI2MycpXT1mdW5jdGlvbigpe3ZhciBfMHhiNzU2ODM9XzB4NTZiZGU3O3JldHVybiAweDE9PSgweDEmdGhpc1tfMHhiNzU2ODMoJzB4OTcyJyldWzB4MF0pO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDlhYScpXT1mdW5jdGlvbihfMHg1OTAzYmQpe3ZhciBfMHhkM2U1OTE9XzB4NTZiZGU3O3JldHVybiB0aGlzW18weGQzZTU5MSgnMHg5NzInKV1bMHgwXSZfMHg1OTAzYmQ7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4OTU0JyldPWZ1bmN0aW9uKF8weGEzOTkzYSl7dmFyIF8weGJmZDJmOD1fMHg1NmJkZTc7XzB4Y2EzM2FiKF8weGJmZDJmOCgnMHgyN2EnKT09dHlwZW9mIF8weGEzOTkzYSk7dmFyIF8weDUxMjI4NT1fMHhhMzk5M2ElMHgxYSxfMHg0Yjg3NTA9KF8weGEzOTkzYS1fMHg1MTIyODUpLzB4MWEsXzB4MjgzYTcwPTB4MTw8XzB4NTEyMjg1O2lmKHRoaXNbJ2xlbmd0aCddPD1fMHg0Yjg3NTApcmV0dXJuIHRoaXNbXzB4YmZkMmY4KCcweDQ1NCcpXShfMHg0Yjg3NTArMHgxKSx0aGlzW18weGJmZDJmOCgnMHg5NzInKV1bXzB4NGI4NzUwXXw9XzB4MjgzYTcwLHRoaXM7Zm9yKHZhciBfMHg1ZWE1YzI9XzB4MjgzYTcwLF8weDU0MDY1OD1fMHg0Yjg3NTA7MHgwIT09XzB4NWVhNWMyJiZfMHg1NDA2NTg8dGhpc1tfMHhiZmQyZjgoJzB4NTIwJyldO18weDU0MDY1OCsrKXt2YXIgXzB4M2NjNmQ5PTB4MHx0aGlzWyd3b3JkcyddW18weDU0MDY1OF07XzB4NWVhNWMyPShfMHgzY2M2ZDkrPV8weDVlYTVjMik+Pj4weDFhLF8weDNjYzZkOSY9MHgzZmZmZmZmLHRoaXNbXzB4YmZkMmY4KCcweDk3MicpXVtfMHg1NDA2NThdPV8weDNjYzZkOTt9cmV0dXJuIDB4MCE9PV8weDVlYTVjMiYmKHRoaXNbJ3dvcmRzJ11bXzB4NTQwNjU4XT1fMHg1ZWE1YzIsdGhpc1tfMHhiZmQyZjgoJzB4NTIwJyldKyspLHRoaXM7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4YTQ3JyldPWZ1bmN0aW9uKCl7dmFyIF8weDUxMDdiOT1fMHg1NmJkZTc7cmV0dXJuIDB4MT09PXRoaXNbXzB4NTEwN2I5KCcweDUyMCcpXSYmMHgwPT09dGhpc1tfMHg1MTA3YjkoJzB4OTcyJyldWzB4MF07fSxfMHgzMmYxYmNbJ3Byb3RvdHlwZSddWydjbXBuJ109ZnVuY3Rpb24oXzB4MmNlOTFjKXt2YXIgXzB4MWRlMGYyPV8weDU2YmRlNyxfMHgzMzE5MGEsXzB4Zjc4MmY1PV8weDJjZTkxYzwweDA7aWYoMHgwIT09dGhpc1tfMHgxZGUwZjIoJzB4ZDUwJyldJiYhXzB4Zjc4MmY1KXJldHVybi0weDE7aWYoMHgwPT09dGhpc1snbmVnYXRpdmUnXSYmXzB4Zjc4MmY1KXJldHVybiAweDE7aWYodGhpc1snX3N0cmlwJ10oKSx0aGlzW18weDFkZTBmMignMHg1MjAnKV0+MHgxKV8weDMzMTkwYT0weDE7ZWxzZXtfMHhmNzgyZjUmJihfMHgyY2U5MWM9LV8weDJjZTkxYyksXzB4Y2EzM2FiKF8weDJjZTkxYzw9MHgzZmZmZmZmLCdOdW1iZXJceDIwaXNceDIwdG9vXHgyMGJpZycpO3ZhciBfMHg1OGEzOTc9MHgwfHRoaXNbJ3dvcmRzJ11bMHgwXTtfMHgzMzE5MGE9XzB4NThhMzk3PT09XzB4MmNlOTFjPzB4MDpfMHg1OGEzOTc8XzB4MmNlOTFjPy0weDE6MHgxO31yZXR1cm4gMHgwIT09dGhpc1snbmVnYXRpdmUnXT8weDB8LV8weDMzMTkwYTpfMHgzMzE5MGE7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4MzcwJyldPWZ1bmN0aW9uKF8weDIwY2M2Myl7dmFyIF8weDNjOTE5ZT1fMHg1NmJkZTc7aWYoMHgwIT09dGhpc1tfMHgzYzkxOWUoJzB4ZDUwJyldJiYweDA9PT1fMHgyMGNjNjNbXzB4M2M5MTllKCcweGQ1MCcpXSlyZXR1cm4tMHgxO2lmKDB4MD09PXRoaXNbXzB4M2M5MTllKCcweGQ1MCcpXSYmMHgwIT09XzB4MjBjYzYzW18weDNjOTE5ZSgnMHhkNTAnKV0pcmV0dXJuIDB4MTt2YXIgXzB4NDk2OGMzPXRoaXNbXzB4M2M5MTllKCcweDNkNycpXShfMHgyMGNjNjMpO3JldHVybiAweDAhPT10aGlzWyduZWdhdGl2ZSddPzB4MHwtXzB4NDk2OGMzOl8weDQ5NjhjMzt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldWyd1Y21wJ109ZnVuY3Rpb24oXzB4MjUxMjdiKXt2YXIgXzB4MTg0ODkyPV8weDU2YmRlNztpZih0aGlzWydsZW5ndGgnXT5fMHgyNTEyN2JbXzB4MTg0ODkyKCcweDUyMCcpXSlyZXR1cm4gMHgxO2lmKHRoaXNbXzB4MTg0ODkyKCcweDUyMCcpXTxfMHgyNTEyN2JbXzB4MTg0ODkyKCcweDUyMCcpXSlyZXR1cm4tMHgxO2Zvcih2YXIgXzB4Mjg3ZDc5PTB4MCxfMHgyNGE4NDQ9dGhpc1tfMHgxODQ4OTIoJzB4NTIwJyldLTB4MTtfMHgyNGE4NDQ+PTB4MDtfMHgyNGE4NDQtLSl7dmFyIF8weDIyZjU4Nj0weDB8dGhpc1tfMHgxODQ4OTIoJzB4OTcyJyldW18weDI0YTg0NF0sXzB4MTVhNWY2PTB4MHxfMHgyNTEyN2JbXzB4MTg0ODkyKCcweDk3MicpXVtfMHgyNGE4NDRdO2lmKF8weDIyZjU4NiE9PV8weDE1YTVmNil7XzB4MjJmNTg2PF8weDE1YTVmNj9fMHgyODdkNzk9LTB4MTpfMHgyMmY1ODY+XzB4MTVhNWY2JiYoXzB4Mjg3ZDc5PTB4MSk7YnJlYWs7fX1yZXR1cm4gXzB4Mjg3ZDc5O30sXzB4MzJmMWJjWydwcm90b3R5cGUnXVsnZ3RuJ109ZnVuY3Rpb24oXzB4MjU4YjE3KXtyZXR1cm4gMHgxPT09dGhpc1snY21wbiddKF8weDI1OGIxNyk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVsnZ3QnXT1mdW5jdGlvbihfMHgzM2Q2NzQpe3JldHVybiAweDE9PT10aGlzWydjbXAnXShfMHgzM2Q2NzQpO30sXzB4MzJmMWJjWydwcm90b3R5cGUnXVtfMHg1NmJkZTcoJzB4OTMyJyldPWZ1bmN0aW9uKF8weDIyZWY1Nyl7dmFyIF8weDEzZTZiYz1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbXzB4MTNlNmJjKCcweDY5ZCcpXShfMHgyMmVmNTcpPj0weDA7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4NGQ1JyldPWZ1bmN0aW9uKF8weDQxZDgxZCl7dmFyIF8weGEwNjM5NT1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbXzB4YTA2Mzk1KCcweDM3MCcpXShfMHg0MWQ4MWQpPj0weDA7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVsnbHRuJ109ZnVuY3Rpb24oXzB4MTU5NTRkKXt2YXIgXzB4M2RjMDA1PV8weDU2YmRlNztyZXR1cm4tMHgxPT09dGhpc1tfMHgzZGMwMDUoJzB4NjlkJyldKF8weDE1OTU0ZCk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVsnbHQnXT1mdW5jdGlvbihfMHgzNWI0Y2Mpe3ZhciBfMHhjMTg0MTk9XzB4NTZiZGU3O3JldHVybi0weDE9PT10aGlzW18weGMxODQxOSgnMHgzNzAnKV0oXzB4MzViNGNjKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHhhNmMnKV09ZnVuY3Rpb24oXzB4Mjg2OTRkKXt2YXIgXzB4NWRjN2Y4PV8weDU2YmRlNztyZXR1cm4gdGhpc1tfMHg1ZGM3ZjgoJzB4NjlkJyldKF8weDI4Njk0ZCk8PTB4MDt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldWydsdGUnXT1mdW5jdGlvbihfMHg2ZDcwMjcpe3JldHVybiB0aGlzWydjbXAnXShfMHg2ZDcwMjcpPD0weDA7fSxfMHgzMmYxYmNbJ3Byb3RvdHlwZSddW18weDU2YmRlNygnMHg0ODYnKV09ZnVuY3Rpb24oXzB4M2RmZDk0KXt2YXIgXzB4NGIwNjc0PV8weDU2YmRlNztyZXR1cm4gMHgwPT09dGhpc1tfMHg0YjA2NzQoJzB4NjlkJyldKF8weDNkZmQ5NCk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVsnZXEnXT1mdW5jdGlvbihfMHg0OTE1M2Ype3ZhciBfMHg1NTA0Yjc9XzB4NTZiZGU3O3JldHVybiAweDA9PT10aGlzW18weDU1MDRiNygnMHgzNzAnKV0oXzB4NDkxNTNmKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4ZDBlJyldPWZ1bmN0aW9uKF8weDRhNDJmMSl7cmV0dXJuIG5ldyBfMHg0NTI1YTYoXzB4NGE0MmYxKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHg0MzUnKV09ZnVuY3Rpb24oXzB4NDU2NjRjKXt2YXIgXzB4MjQxMTgzPV8weDU2YmRlNztyZXR1cm4gXzB4Y2EzM2FiKCF0aGlzWydyZWQnXSwnQWxyZWFkeVx4MjBhXHgyMG51bWJlclx4MjBpblx4MjByZWR1Y3Rpb25ceDIwY29udGV4dCcpLF8weGNhMzNhYigweDA9PT10aGlzW18weDI0MTE4MygnMHhkNTAnKV0sXzB4MjQxMTgzKCcweDlkMScpKSxfMHg0NTY2NGNbXzB4MjQxMTgzKCcweDIwMCcpXSh0aGlzKVsnX2ZvcmNlUmVkJ10oXzB4NDU2NjRjKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHg4MWMnKV09ZnVuY3Rpb24oKXt2YXIgXzB4NTYxNjdmPV8weDU2YmRlNztyZXR1cm4gXzB4Y2EzM2FiKHRoaXNbXzB4NTYxNjdmKCcweGQwZScpXSxfMHg1NjE2N2YoJzB4YjM2JykpLHRoaXNbXzB4NTYxNjdmKCcweGQwZScpXVsnY29udmVydEZyb20nXSh0aGlzKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHhhNTInKV09ZnVuY3Rpb24oXzB4NWEzZTIyKXt2YXIgXzB4Mzg2ZGEwPV8weDU2YmRlNztyZXR1cm4gdGhpc1tfMHgzODZkYTAoJzB4ZDBlJyldPV8weDVhM2UyMix0aGlzO30sXzB4MzJmMWJjWydwcm90b3R5cGUnXVtfMHg1NmJkZTcoJzB4YjQ1JyldPWZ1bmN0aW9uKF8weDMzZjVmZSl7dmFyIF8weGIwYjJmNz1fMHg1NmJkZTc7cmV0dXJuIF8weGNhMzNhYighdGhpc1tfMHhiMGIyZjcoJzB4ZDBlJyldLF8weGIwYjJmNygnMHhjMTQnKSksdGhpc1tfMHhiMGIyZjcoJzB4YTUyJyldKF8weDMzZjVmZSk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4Mjk3JyldPWZ1bmN0aW9uKF8weDFjYjYyZil7dmFyIF8weDE2MjI0NT1fMHg1NmJkZTc7cmV0dXJuIF8weGNhMzNhYih0aGlzW18weDE2MjI0NSgnMHhkMGUnKV0sXzB4MTYyMjQ1KCcweDgzMCcpKSx0aGlzW18weDE2MjI0NSgnMHhkMGUnKV1bXzB4MTYyMjQ1KCcweGJhMScpXSh0aGlzLF8weDFjYjYyZik7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVsncmVkSUFkZCddPWZ1bmN0aW9uKF8weDNhNTNhYyl7dmFyIF8weDJkMTcxOT1fMHg1NmJkZTc7cmV0dXJuIF8weGNhMzNhYih0aGlzW18weDJkMTcxOSgnMHhkMGUnKV0sXzB4MmQxNzE5KCcweDc3MScpKSx0aGlzW18weDJkMTcxOSgnMHhkMGUnKV1bXzB4MmQxNzE5KCcweDdjNCcpXSh0aGlzLF8weDNhNTNhYyk7fSxfMHgzMmYxYmNbJ3Byb3RvdHlwZSddWydyZWRTdWInXT1mdW5jdGlvbihfMHgxNWNmNTEpe3ZhciBfMHgyZjIyMjc9XzB4NTZiZGU3O3JldHVybiBfMHhjYTMzYWIodGhpc1sncmVkJ10sXzB4MmYyMjI3KCcweDllNCcpKSx0aGlzW18weDJmMjIyNygnMHhkMGUnKV1bXzB4MmYyMjI3KCcweGJiZicpXSh0aGlzLF8weDE1Y2Y1MSk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4OTE3JyldPWZ1bmN0aW9uKF8weDU3MmM1Yyl7dmFyIF8weDFiYjc2ZT1fMHg1NmJkZTc7cmV0dXJuIF8weGNhMzNhYih0aGlzW18weDFiYjc2ZSgnMHhkMGUnKV0sXzB4MWJiNzZlKCcweDgxYicpKSx0aGlzW18weDFiYjc2ZSgnMHhkMGUnKV1bXzB4MWJiNzZlKCcweDZhNicpXSh0aGlzLF8weDU3MmM1Yyk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4M2E0JyldPWZ1bmN0aW9uKF8weDRkZjcyYyl7dmFyIF8weDRkMmNmNj1fMHg1NmJkZTc7cmV0dXJuIF8weGNhMzNhYih0aGlzW18weDRkMmNmNignMHhkMGUnKV0sXzB4NGQyY2Y2KCcweGFmOCcpKSx0aGlzWydyZWQnXVtfMHg0ZDJjZjYoJzB4YzZkJyldKHRoaXMsXzB4NGRmNzJjKTt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweGM4MCcpXT1mdW5jdGlvbihfMHgxZDBkZjgpe3ZhciBfMHg1OTg2N2Q9XzB4NTZiZGU3O3JldHVybiBfMHhjYTMzYWIodGhpc1tfMHg1OTg2N2QoJzB4ZDBlJyldLF8weDU5ODY3ZCgnMHg5YWUnKSksdGhpc1tfMHg1OTg2N2QoJzB4ZDBlJyldWydfdmVyaWZ5MiddKHRoaXMsXzB4MWQwZGY4KSx0aGlzW18weDU5ODY3ZCgnMHhkMGUnKV1bXzB4NTk4NjdkKCcweGMyMycpXSh0aGlzLF8weDFkMGRmOCk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4MjY1JyldPWZ1bmN0aW9uKF8weDM1MmM0ZCl7dmFyIF8weDVlYTJmNj1fMHg1NmJkZTc7cmV0dXJuIF8weGNhMzNhYih0aGlzW18weDVlYTJmNignMHhkMGUnKV0sJ3JlZE11bFx4MjB3b3Jrc1x4MjBvbmx5XHgyMHdpdGhceDIwcmVkXHgyMG51bWJlcnMnKSx0aGlzW18weDVlYTJmNignMHhkMGUnKV1bXzB4NWVhMmY2KCcweDk0NycpXSh0aGlzLF8weDM1MmM0ZCksdGhpc1tfMHg1ZWEyZjYoJzB4ZDBlJyldW18weDVlYTJmNignMHg5YjgnKV0odGhpcyxfMHgzNTJjNGQpO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDJmOCcpXT1mdW5jdGlvbigpe3ZhciBfMHg1NDEzYjQ9XzB4NTZiZGU3O3JldHVybiBfMHhjYTMzYWIodGhpc1sncmVkJ10sXzB4NTQxM2I0KCcweDc3NycpKSx0aGlzW18weDU0MTNiNCgnMHhkMGUnKV1bXzB4NTQxM2I0KCcweDNlYicpXSh0aGlzKSx0aGlzWydyZWQnXVsnc3FyJ10odGhpcyk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4NjkzJyldPWZ1bmN0aW9uKCl7dmFyIF8weDJmZTk2ZT1fMHg1NmJkZTc7cmV0dXJuIF8weGNhMzNhYih0aGlzWydyZWQnXSxfMHgyZmU5NmUoJzB4NjVhJykpLHRoaXNbXzB4MmZlOTZlKCcweGQwZScpXVsnX3ZlcmlmeTEnXSh0aGlzKSx0aGlzWydyZWQnXVtfMHgyZmU5NmUoJzB4OTcwJyldKHRoaXMpO30sXzB4MzJmMWJjW18weDU2YmRlNygnMHg3NTYnKV1bJ3JlZFNxcnQnXT1mdW5jdGlvbigpe3ZhciBfMHgyNGM1NTc9XzB4NTZiZGU3O3JldHVybiBfMHhjYTMzYWIodGhpc1sncmVkJ10sJ3JlZFNxcnRceDIwd29ya3NceDIwb25seVx4MjB3aXRoXHgyMHJlZFx4MjBudW1iZXJzJyksdGhpc1sncmVkJ11bXzB4MjRjNTU3KCcweDNlYicpXSh0aGlzKSx0aGlzW18weDI0YzU1NygnMHhkMGUnKV1bXzB4MjRjNTU3KCcweDNmMycpXSh0aGlzKTt9LF8weDMyZjFiY1sncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweDUxMycpXT1mdW5jdGlvbigpe3ZhciBfMHgxZjMzOWU9XzB4NTZiZGU3O3JldHVybiBfMHhjYTMzYWIodGhpc1sncmVkJ10sJ3JlZEludm1ceDIwd29ya3NceDIwb25seVx4MjB3aXRoXHgyMHJlZFx4MjBudW1iZXJzJyksdGhpc1sncmVkJ11bXzB4MWYzMzllKCcweDNlYicpXSh0aGlzKSx0aGlzW18weDFmMzM5ZSgnMHhkMGUnKV1bXzB4MWYzMzllKCcweDQxYScpXSh0aGlzKTt9LF8weDMyZjFiY1tfMHg1NmJkZTcoJzB4NzU2JyldWydyZWROZWcnXT1mdW5jdGlvbigpe3ZhciBfMHgzYWY4MzU9XzB4NTZiZGU3O3JldHVybiBfMHhjYTMzYWIodGhpc1tfMHgzYWY4MzUoJzB4ZDBlJyldLF8weDNhZjgzNSgnMHg3MmMnKSksdGhpc1tfMHgzYWY4MzUoJzB4ZDBlJyldW18weDNhZjgzNSgnMHgzZWInKV0odGhpcyksdGhpc1tfMHgzYWY4MzUoJzB4ZDBlJyldW18weDNhZjgzNSgnMHhjMTcnKV0odGhpcyk7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4YjRjJyldPWZ1bmN0aW9uKF8weDQzMWQ3Yyl7dmFyIF8weDM1OGU0Zj1fMHg1NmJkZTc7cmV0dXJuIF8weGNhMzNhYih0aGlzW18weDM1OGU0ZignMHhkMGUnKV0mJiFfMHg0MzFkN2NbXzB4MzU4ZTRmKCcweGQwZScpXSwncmVkUG93KG5vcm1hbE51bSknKSx0aGlzW18weDM1OGU0ZignMHhkMGUnKV1bXzB4MzU4ZTRmKCcweDNlYicpXSh0aGlzKSx0aGlzW18weDM1OGU0ZignMHhkMGUnKV1bXzB4MzU4ZTRmKCcweGEwOScpXSh0aGlzLF8weDQzMWQ3Yyk7fTt2YXIgXzB4MjhlYmM0PXsnazI1Nic6bnVsbCwncDIyNCc6bnVsbCwncDE5Mic6bnVsbCwncDI1NTE5JzpudWxsfTtmdW5jdGlvbiBfMHg1M2YzOTgoXzB4NGJjNTg3LF8weDMzMWIyNCl7dmFyIF8weDMyN2ZhZj1fMHg1NmJkZTc7dGhpc1snbmFtZSddPV8weDRiYzU4Nyx0aGlzWydwJ109bmV3IF8weDMyZjFiYyhfMHgzMzFiMjQsMHgxMCksdGhpc1snbiddPXRoaXNbJ3AnXVtfMHgzMjdmYWYoJzB4NGU5JyldKCksdGhpc1snayddPW5ldyBfMHgzMmYxYmMoMHgxKVtfMHgzMjdmYWYoJzB4ZDM3JyldKHRoaXNbJ24nXSlbXzB4MzI3ZmFmKCcweDZhNicpXSh0aGlzWydwJ10pLHRoaXNbXzB4MzI3ZmFmKCcweDMzMScpXT10aGlzW18weDMyN2ZhZignMHg0NTEnKV0oKTt9ZnVuY3Rpb24gXzB4M2Q4ZDA3KCl7dmFyIF8weDE0ZTFlNT1fMHg1NmJkZTc7XzB4NTNmMzk4WydjYWxsJ10odGhpcywnazI1NicsXzB4MTRlMWU1KCcweDVkZCcpKTt9ZnVuY3Rpb24gXzB4MTlkNDYxKCl7dmFyIF8weDJlZmQ3Nz1fMHg1NmJkZTc7XzB4NTNmMzk4W18weDJlZmQ3NygnMHg1ZmQnKV0odGhpcyxfMHgyZWZkNzcoJzB4NjVkJyksXzB4MmVmZDc3KCcweGEzZCcpKTt9ZnVuY3Rpb24gXzB4NTA3ZWQxKCl7dmFyIF8weDVlZTdhMT1fMHg1NmJkZTc7XzB4NTNmMzk4W18weDVlZTdhMSgnMHg1ZmQnKV0odGhpcyxfMHg1ZWU3YTEoJzB4YzlhJyksJ2ZmZmZmZmZmXHgyMGZmZmZmZmZmXHgyMGZmZmZmZmZmXHgyMGZmZmZmZmZlXHgyMGZmZmZmZmZmXHgyMGZmZmZmZmZmJyk7fWZ1bmN0aW9uIF8weDFmZjBmMCgpe3ZhciBfMHg0YTQ2NDI9XzB4NTZiZGU3O18weDUzZjM5OFtfMHg0YTQ2NDIoJzB4NWZkJyldKHRoaXMsXzB4NGE0NjQyKCcweDIyOScpLCc3ZmZmZmZmZmZmZmZmZmZmXHgyMGZmZmZmZmZmZmZmZmZmZmZceDIwZmZmZmZmZmZmZmZmZmZmZlx4MjBmZmZmZmZmZmZmZmZmZmVkJyk7fWZ1bmN0aW9uIF8weDQ1MjVhNihfMHgzNjY4ZmQpe3ZhciBfMHg3N2VjZjE9XzB4NTZiZGU3O2lmKCdzdHJpbmcnPT10eXBlb2YgXzB4MzY2OGZkKXt2YXIgXzB4YWNjMDI1PV8weDMyZjFiY1tfMHg3N2VjZjEoJzB4NTZhJyldKF8weDM2NjhmZCk7dGhpc1snbSddPV8weGFjYzAyNVsncCddLHRoaXNbXzB4NzdlY2YxKCcweDJkMicpXT1fMHhhY2MwMjU7fWVsc2UgXzB4Y2EzM2FiKF8weDM2NjhmZFtfMHg3N2VjZjEoJzB4MzY0JyldKDB4MSksXzB4NzdlY2YxKCcweDIyYScpKSx0aGlzWydtJ109XzB4MzY2OGZkLHRoaXNbXzB4NzdlY2YxKCcweDJkMicpXT1udWxsO31mdW5jdGlvbiBfMHgzMjdhZDgoXzB4MjI5NmMxKXt2YXIgXzB4NWY1YjcyPV8weDU2YmRlNztfMHg0NTI1YTZbXzB4NWY1YjcyKCcweDVmZCcpXSh0aGlzLF8weDIyOTZjMSksdGhpc1tfMHg1ZjViNzIoJzB4N2E4JyldPXRoaXNbJ20nXVsnYml0TGVuZ3RoJ10oKSx0aGlzW18weDVmNWI3MignMHg3YTgnKV0lMHgxYSE9MHgwJiYodGhpc1tfMHg1ZjViNzIoJzB4N2E4JyldKz0weDFhLXRoaXNbXzB4NWY1YjcyKCcweDdhOCcpXSUweDFhKSx0aGlzWydyJ109bmV3IF8weDMyZjFiYygweDEpW18weDVmNWI3MignMHhkMzcnKV0odGhpc1tfMHg1ZjViNzIoJzB4N2E4JyldKSx0aGlzWydyMiddPXRoaXNbJ2ltb2QnXSh0aGlzWydyJ11bXzB4NWY1YjcyKCcweDllYScpXSgpKSx0aGlzW18weDVmNWI3MignMHhiZGInKV09dGhpc1snciddW18weDVmNWI3MignMHg2ZGMnKV0odGhpc1snbSddKSx0aGlzW18weDVmNWI3MignMHgxYmMnKV09dGhpc1sncmludiddW18weDVmNWI3MignMHhjMjMnKV0odGhpc1snciddKVtfMHg1ZjViNzIoJzB4OTI5JyldKDB4MSlbXzB4NWY1YjcyKCcweDg1ZCcpXSh0aGlzWydtJ10pLHRoaXNbXzB4NWY1YjcyKCcweDFiYycpXT10aGlzW18weDVmNWI3MignMHgxYmMnKV1bXzB4NWY1YjcyKCcweDczMycpXSh0aGlzWydyJ10pLHRoaXNbJ21pbnYnXT10aGlzWydyJ11bXzB4NWY1YjcyKCcweGJiZicpXSh0aGlzW18weDVmNWI3MignMHgxYmMnKV0pO31fMHg1M2YzOThbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4NDUxJyldPWZ1bmN0aW9uKCl7dmFyIF8weDExNmQzYz1fMHg1NmJkZTcsXzB4MmRmMmRhPW5ldyBfMHgzMmYxYmMobnVsbCk7cmV0dXJuIF8weDJkZjJkYVtfMHgxMTZkM2MoJzB4OTcyJyldPW5ldyBBcnJheShNYXRoW18weDExNmQzYygnMHg0NjYnKV0odGhpc1snbiddLzB4ZCkpLF8weDJkZjJkYTt9LF8weDUzZjM5OFsncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweDUyNycpXT1mdW5jdGlvbihfMHgyOWEyNzcpe3ZhciBfMHgzYTM5ZTg9XzB4NTZiZGU3LF8weDQzY2I5YixfMHgxZmNmMzY9XzB4MjlhMjc3O2Rve3RoaXNbXzB4M2EzOWU4KCcweDk5NCcpXShfMHgxZmNmMzYsdGhpc1tfMHgzYTM5ZTgoJzB4MzMxJyldKSxfMHg0M2NiOWI9KF8weDFmY2YzNj0oXzB4MWZjZjM2PXRoaXNbXzB4M2EzOWU4KCcweDU0YScpXShfMHgxZmNmMzYpKVsnaWFkZCddKHRoaXNbXzB4M2EzOWU4KCcweDMzMScpXSkpW18weDNhMzllOCgnMHg0ZTknKV0oKTt9d2hpbGUoXzB4NDNjYjliPnRoaXNbJ24nXSk7dmFyIF8weDMwOGZiMz1fMHg0M2NiOWI8dGhpc1snbiddPy0weDE6XzB4MWZjZjM2W18weDNhMzllOCgnMHgzZDcnKV0odGhpc1sncCddKTtyZXR1cm4gMHgwPT09XzB4MzA4ZmIzPyhfMHgxZmNmMzZbXzB4M2EzOWU4KCcweDk3MicpXVsweDBdPTB4MCxfMHgxZmNmMzZbJ2xlbmd0aCddPTB4MSk6XzB4MzA4ZmIzPjB4MD9fMHgxZmNmMzZbXzB4M2EzOWU4KCcweDZhNicpXSh0aGlzWydwJ10pOnZvaWQgMHgwIT09XzB4MWZjZjM2W18weDNhMzllOCgnMHg1YjInKV0/XzB4MWZjZjM2W18weDNhMzllOCgnMHg1YjInKV0oKTpfMHgxZmNmMzZbXzB4M2EzOWU4KCcweGFlNCcpXSgpLF8weDFmY2YzNjt9LF8weDUzZjM5OFsncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweDk5NCcpXT1mdW5jdGlvbihfMHg5Yzg5YzMsXzB4NDhiMDU0KXt2YXIgXzB4NGNhNGU3PV8weDU2YmRlNztfMHg5Yzg5YzNbXzB4NGNhNGU3KCcweDFjZCcpXSh0aGlzWyduJ10sMHgwLF8weDQ4YjA1NCk7fSxfMHg1M2YzOThbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4NTRhJyldPWZ1bmN0aW9uKF8weDJiZjdlNCl7cmV0dXJuIF8weDJiZjdlNFsnaW11bCddKHRoaXNbJ2snXSk7fSxfMHg1ZTYyOGIoXzB4M2Q4ZDA3LF8weDUzZjM5OCksXzB4M2Q4ZDA3W18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDk5NCcpXT1mdW5jdGlvbihfMHgzYWMwZGIsXzB4NDE3NDIxKXt2YXIgXzB4MTU4N2VkPV8weDU2YmRlNztmb3IodmFyIF8weDMwNDA3OT0weDNmZmZmZixfMHgxMjYxZTQ9TWF0aFsnbWluJ10oXzB4M2FjMGRiWydsZW5ndGgnXSwweDkpLF8weDQ0NjU4ZT0weDA7XzB4NDQ2NThlPF8weDEyNjFlNDtfMHg0NDY1OGUrKylfMHg0MTc0MjFbXzB4MTU4N2VkKCcweDk3MicpXVtfMHg0NDY1OGVdPV8weDNhYzBkYltfMHgxNTg3ZWQoJzB4OTcyJyldW18weDQ0NjU4ZV07aWYoXzB4NDE3NDIxW18weDE1ODdlZCgnMHg1MjAnKV09XzB4MTI2MWU0LF8weDNhYzBkYlsnbGVuZ3RoJ108PTB4OSlyZXR1cm4gXzB4M2FjMGRiWyd3b3JkcyddWzB4MF09MHgwLHZvaWQoXzB4M2FjMGRiW18weDE1ODdlZCgnMHg1MjAnKV09MHgxKTt2YXIgXzB4MTQ2ZDdkPV8weDNhYzBkYltfMHgxNTg3ZWQoJzB4OTcyJyldWzB4OV07Zm9yKF8weDQxNzQyMVtfMHgxNTg3ZWQoJzB4OTcyJyldW18weDQxNzQyMVtfMHgxNTg3ZWQoJzB4NTIwJyldKytdPV8weDE0NmQ3ZCZfMHgzMDQwNzksXzB4NDQ2NThlPTB4YTtfMHg0NDY1OGU8XzB4M2FjMGRiW18weDE1ODdlZCgnMHg1MjAnKV07XzB4NDQ2NThlKyspe3ZhciBfMHg0MGY2YWU9MHgwfF8weDNhYzBkYlsnd29yZHMnXVtfMHg0NDY1OGVdO18weDNhYzBkYltfMHgxNTg3ZWQoJzB4OTcyJyldW18weDQ0NjU4ZS0weGFdPShfMHg0MGY2YWUmXzB4MzA0MDc5KTw8MHg0fF8weDE0NmQ3ZD4+PjB4MTYsXzB4MTQ2ZDdkPV8weDQwZjZhZTt9XzB4MTQ2ZDdkPj4+PTB4MTYsXzB4M2FjMGRiW18weDE1ODdlZCgnMHg5NzInKV1bXzB4NDQ2NThlLTB4YV09XzB4MTQ2ZDdkLDB4MD09PV8weDE0NmQ3ZCYmXzB4M2FjMGRiWydsZW5ndGgnXT4weGE/XzB4M2FjMGRiW18weDE1ODdlZCgnMHg1MjAnKV0tPTB4YTpfMHgzYWMwZGJbXzB4MTU4N2VkKCcweDUyMCcpXS09MHg5O30sXzB4M2Q4ZDA3W18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDU0YScpXT1mdW5jdGlvbihfMHg0MTMwY2Upe3ZhciBfMHgyMGExNTM9XzB4NTZiZGU3O18weDQxMzBjZVtfMHgyMGExNTMoJzB4OTcyJyldW18weDQxMzBjZVtfMHgyMGExNTMoJzB4NTIwJyldXT0weDAsXzB4NDEzMGNlW18weDIwYTE1MygnMHg5NzInKV1bXzB4NDEzMGNlW18weDIwYTE1MygnMHg1MjAnKV0rMHgxXT0weDAsXzB4NDEzMGNlWydsZW5ndGgnXSs9MHgyO2Zvcih2YXIgXzB4YjdlMWNjPTB4MCxfMHgyNDRjMDc9MHgwO18weDI0NGMwNzxfMHg0MTMwY2VbJ2xlbmd0aCddO18weDI0NGMwNysrKXt2YXIgXzB4MmNmMGMwPTB4MHxfMHg0MTMwY2VbXzB4MjBhMTUzKCcweDk3MicpXVtfMHgyNDRjMDddO18weGI3ZTFjYys9MHgzZDEqXzB4MmNmMGMwLF8weDQxMzBjZVtfMHgyMGExNTMoJzB4OTcyJyldW18weDI0NGMwN109MHgzZmZmZmZmJl8weGI3ZTFjYyxfMHhiN2UxY2M9MHg0MCpfMHgyY2YwYzArKF8weGI3ZTFjYy8weDQwMDAwMDB8MHgwKTt9cmV0dXJuIDB4MD09PV8weDQxMzBjZVtfMHgyMGExNTMoJzB4OTcyJyldW18weDQxMzBjZVtfMHgyMGExNTMoJzB4NTIwJyldLTB4MV0mJihfMHg0MTMwY2VbXzB4MjBhMTUzKCcweDUyMCcpXS0tLDB4MD09PV8weDQxMzBjZVtfMHgyMGExNTMoJzB4OTcyJyldW18weDQxMzBjZVtfMHgyMGExNTMoJzB4NTIwJyldLTB4MV0mJl8weDQxMzBjZVtfMHgyMGExNTMoJzB4NTIwJyldLS0pLF8weDQxMzBjZTt9LF8weDVlNjI4YihfMHgxOWQ0NjEsXzB4NTNmMzk4KSxfMHg1ZTYyOGIoXzB4NTA3ZWQxLF8weDUzZjM5OCksXzB4NWU2MjhiKF8weDFmZjBmMCxfMHg1M2YzOTgpLF8weDFmZjBmMFtfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHg1NGEnKV09ZnVuY3Rpb24oXzB4MjVjOWJhKXt2YXIgXzB4MWQyOTBlPV8weDU2YmRlNztmb3IodmFyIF8weDNmMGNmNz0weDAsXzB4MmUyYzhmPTB4MDtfMHgyZTJjOGY8XzB4MjVjOWJhW18weDFkMjkwZSgnMHg1MjAnKV07XzB4MmUyYzhmKyspe3ZhciBfMHgxY2RlYWU9MHgxMyooMHgwfF8weDI1YzliYVsnd29yZHMnXVtfMHgyZTJjOGZdKStfMHgzZjBjZjcsXzB4MTU0NWYwPTB4M2ZmZmZmZiZfMHgxY2RlYWU7XzB4MWNkZWFlPj4+PTB4MWEsXzB4MjVjOWJhW18weDFkMjkwZSgnMHg5NzInKV1bXzB4MmUyYzhmXT1fMHgxNTQ1ZjAsXzB4M2YwY2Y3PV8weDFjZGVhZTt9cmV0dXJuIDB4MCE9PV8weDNmMGNmNyYmKF8weDI1YzliYVtfMHgxZDI5MGUoJzB4OTcyJyldW18weDI1YzliYVsnbGVuZ3RoJ10rK109XzB4M2YwY2Y3KSxfMHgyNWM5YmE7fSxfMHgzMmYxYmNbXzB4NTZiZGU3KCcweDU2YScpXT1mdW5jdGlvbihfMHgxNGVjNzIpe3ZhciBfMHg1ZjNhYTY9XzB4NTZiZGU3O2lmKF8weDI4ZWJjNFtfMHgxNGVjNzJdKXJldHVybiBfMHgyOGViYzRbXzB4MTRlYzcyXTt2YXIgXzB4MzA1MjhhO2lmKCdrMjU2Jz09PV8weDE0ZWM3MilfMHgzMDUyOGE9bmV3IF8weDNkOGQwNygpO2Vsc2V7aWYoXzB4NWYzYWE2KCcweDY1ZCcpPT09XzB4MTRlYzcyKV8weDMwNTI4YT1uZXcgXzB4MTlkNDYxKCk7ZWxzZXtpZihfMHg1ZjNhYTYoJzB4YzlhJyk9PT1fMHgxNGVjNzIpXzB4MzA1MjhhPW5ldyBfMHg1MDdlZDEoKTtlbHNle2lmKF8weDVmM2FhNignMHg4MmInKSE9PV8weDE0ZWM3Mil0aHJvdyBuZXcgRXJyb3IoXzB4NWYzYWE2KCcweGJlNCcpK18weDE0ZWM3Mik7XzB4MzA1MjhhPW5ldyBfMHgxZmYwZjAoKTt9fX1yZXR1cm4gXzB4MjhlYmM0W18weDE0ZWM3Ml09XzB4MzA1MjhhLF8weDMwNTI4YTt9LF8weDQ1MjVhNlsncHJvdG90eXBlJ11bJ192ZXJpZnkxJ109ZnVuY3Rpb24oXzB4NGYxNzZjKXt2YXIgXzB4MTc2ZWZiPV8weDU2YmRlNztfMHhjYTMzYWIoMHgwPT09XzB4NGYxNzZjWyduZWdhdGl2ZSddLF8weDE3NmVmYignMHg5ZDEnKSksXzB4Y2EzM2FiKF8weDRmMTc2Y1tfMHgxNzZlZmIoJzB4ZDBlJyldLCdyZWRceDIwd29ya3NceDIwb25seVx4MjB3aXRoXHgyMHJlZFx4MjBudW1iZXJzJyk7fSxfMHg0NTI1YTZbJ3Byb3RvdHlwZSddW18weDU2YmRlNygnMHg5NDcnKV09ZnVuY3Rpb24oXzB4MmY0ZGU1LF8weDJmNjU4ZSl7dmFyIF8weDJkYmZmNT1fMHg1NmJkZTc7XzB4Y2EzM2FiKDB4MD09KF8weDJmNGRlNVtfMHgyZGJmZjUoJzB4ZDUwJyldfF8weDJmNjU4ZVtfMHgyZGJmZjUoJzB4ZDUwJyldKSxfMHgyZGJmZjUoJzB4OWQxJykpLF8weGNhMzNhYihfMHgyZjRkZTVbJ3JlZCddJiZfMHgyZjRkZTVbJ3JlZCddPT09XzB4MmY2NThlW18weDJkYmZmNSgnMHhkMGUnKV0sJ3JlZFx4MjB3b3Jrc1x4MjBvbmx5XHgyMHdpdGhceDIwcmVkXHgyMG51bWJlcnMnKTt9LF8weDQ1MjVhNlsncHJvdG90eXBlJ11bXzB4NTZiZGU3KCcweDQxYicpXT1mdW5jdGlvbihfMHgyNzczOGEpe3ZhciBfMHg0NGNkOTA9XzB4NTZiZGU3O3JldHVybiB0aGlzW18weDQ0Y2Q5MCgnMHgyZDInKV0/dGhpc1tfMHg0NGNkOTAoJzB4MmQyJyldW18weDQ0Y2Q5MCgnMHg1MjcnKV0oXzB4Mjc3MzhhKVtfMHg0NGNkOTAoJzB4YTUyJyldKHRoaXMpOihfMHgzNTlmYzUoXzB4Mjc3MzhhLF8weDI3NzM4YVsndW1vZCddKHRoaXNbJ20nXSlbXzB4NDRjZDkwKCcweGE1MicpXSh0aGlzKSksXzB4Mjc3MzhhKTt9LF8weDQ1MjVhNltfMHg1NmJkZTcoJzB4NzU2JyldWyduZWcnXT1mdW5jdGlvbihfMHgyYmRjZjApe3ZhciBfMHg0MTgzY2Y9XzB4NTZiZGU3O3JldHVybiBfMHgyYmRjZjBbXzB4NDE4M2NmKCcweGE0NycpXSgpP18weDJiZGNmMFtfMHg0MTgzY2YoJzB4Mzc5JyldKCk6dGhpc1snbSddW18weDQxODNjZignMHhiYmYnKV0oXzB4MmJkY2YwKVsnX2ZvcmNlUmVkJ10odGhpcyk7fSxfMHg0NTI1YTZbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4YmExJyldPWZ1bmN0aW9uKF8weDRmNTZlZSxfMHg1MTIxYTMpe3ZhciBfMHhiYTNkNjc9XzB4NTZiZGU3O3RoaXNbJ192ZXJpZnkyJ10oXzB4NGY1NmVlLF8weDUxMjFhMyk7dmFyIF8weDI2NDZlMD1fMHg0ZjU2ZWVbXzB4YmEzZDY3KCcweGJhMScpXShfMHg1MTIxYTMpO3JldHVybiBfMHgyNjQ2ZTBbXzB4YmEzZDY3KCcweDM3MCcpXSh0aGlzWydtJ10pPj0weDAmJl8weDI2NDZlMFtfMHhiYTNkNjcoJzB4NmE2JyldKHRoaXNbJ20nXSksXzB4MjY0NmUwWydfZm9yY2VSZWQnXSh0aGlzKTt9LF8weDQ1MjVhNltfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHg3YzQnKV09ZnVuY3Rpb24oXzB4MzFmOTk0LF8weDVjNGRkZSl7dmFyIF8weDVkZDk2ND1fMHg1NmJkZTc7dGhpc1tfMHg1ZGQ5NjQoJzB4OTQ3JyldKF8weDMxZjk5NCxfMHg1YzRkZGUpO3ZhciBfMHgxM2JhNDM9XzB4MzFmOTk0W18weDVkZDk2NCgnMHg3YzQnKV0oXzB4NWM0ZGRlKTtyZXR1cm4gXzB4MTNiYTQzWydjbXAnXSh0aGlzWydtJ10pPj0weDAmJl8weDEzYmE0M1snaXN1YiddKHRoaXNbJ20nXSksXzB4MTNiYTQzO30sXzB4NDUyNWE2W18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweGJiZicpXT1mdW5jdGlvbihfMHg1MTgwMDgsXzB4MjNjMmIyKXt2YXIgXzB4MzExN2Q4PV8weDU2YmRlNzt0aGlzW18weDMxMTdkOCgnMHg5NDcnKV0oXzB4NTE4MDA4LF8weDIzYzJiMik7dmFyIF8weDI1ZGE4Zj1fMHg1MTgwMDhbXzB4MzExN2Q4KCcweGJiZicpXShfMHgyM2MyYjIpO3JldHVybiBfMHgyNWRhOGZbJ2NtcG4nXSgweDApPDB4MCYmXzB4MjVkYThmW18weDMxMTdkOCgnMHg3YzQnKV0odGhpc1snbSddKSxfMHgyNWRhOGZbJ19mb3JjZVJlZCddKHRoaXMpO30sXzB4NDUyNWE2W18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDZhNicpXT1mdW5jdGlvbihfMHg0OGY3NTMsXzB4MmJmNGFmKXt2YXIgXzB4NDkzYTUzPV8weDU2YmRlNzt0aGlzW18weDQ5M2E1MygnMHg5NDcnKV0oXzB4NDhmNzUzLF8weDJiZjRhZik7dmFyIF8weDQ2ODVlMj1fMHg0OGY3NTNbXzB4NDkzYTUzKCcweDZhNicpXShfMHgyYmY0YWYpO3JldHVybiBfMHg0Njg1ZTJbXzB4NDkzYTUzKCcweDY5ZCcpXSgweDApPDB4MCYmXzB4NDY4NWUyWydpYWRkJ10odGhpc1snbSddKSxfMHg0Njg1ZTI7fSxfMHg0NTI1YTZbXzB4NTZiZGU3KCcweDc1NicpXVsnc2hsJ109ZnVuY3Rpb24oXzB4MTkwYjRmLF8weDE5ZmRkYSl7dmFyIF8weDUwYThiOD1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbJ192ZXJpZnkxJ10oXzB4MTkwYjRmKSx0aGlzW18weDUwYThiOCgnMHg0MWInKV0oXzB4MTkwYjRmW18weDUwYThiOCgnMHhhMmMnKV0oXzB4MTlmZGRhKSk7fSxfMHg0NTI1YTZbJ3Byb3RvdHlwZSddW18weDU2YmRlNygnMHg5YjgnKV09ZnVuY3Rpb24oXzB4MzUwYTBjLF8weGIwMTI2Zil7dmFyIF8weDQ1YTkyMz1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbXzB4NDVhOTIzKCcweDk0NycpXShfMHgzNTBhMGMsXzB4YjAxMjZmKSx0aGlzW18weDQ1YTkyMygnMHg0MWInKV0oXzB4MzUwYTBjW18weDQ1YTkyMygnMHg5YjgnKV0oXzB4YjAxMjZmKSk7fSxfMHg0NTI1YTZbXzB4NTZiZGU3KCcweDc1NicpXVsnbXVsJ109ZnVuY3Rpb24oXzB4MmI5MDRkLF8weGExOGJlNil7dmFyIF8weDdhYTFjMD1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbXzB4N2FhMWMwKCcweDk0NycpXShfMHgyYjkwNGQsXzB4YTE4YmU2KSx0aGlzW18weDdhYTFjMCgnMHg0MWInKV0oXzB4MmI5MDRkWydtdWwnXShfMHhhMThiZTYpKTt9LF8weDQ1MjVhNltfMHg1NmJkZTcoJzB4NzU2JyldWydpc3FyJ109ZnVuY3Rpb24oXzB4MjY1ZDVlKXt2YXIgXzB4NTk5MzU3PV8weDU2YmRlNztyZXR1cm4gdGhpc1tfMHg1OTkzNTcoJzB4OWI4JyldKF8weDI2NWQ1ZSxfMHgyNjVkNWVbXzB4NTk5MzU3KCcweDM3OScpXSgpKTt9LF8weDQ1MjVhNltfMHg1NmJkZTcoJzB4NzU2JyldWydzcXInXT1mdW5jdGlvbihfMHg0MmI5OTcpe3ZhciBfMHg0NDQ0MmM9XzB4NTZiZGU3O3JldHVybiB0aGlzW18weDQ0NDQyYygnMHhjMjMnKV0oXzB4NDJiOTk3LF8weDQyYjk5Nyk7fSxfMHg0NTI1YTZbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4M2YzJyldPWZ1bmN0aW9uKF8weDRlMzY5NCl7dmFyIF8weDRhM2Y5Nj1fMHg1NmJkZTc7aWYoXzB4NGUzNjk0W18weDRhM2Y5NignMHhhNDcnKV0oKSlyZXR1cm4gXzB4NGUzNjk0W18weDRhM2Y5NignMHgzNzknKV0oKTt2YXIgXzB4NTMyZWI1PXRoaXNbJ20nXVtfMHg0YTNmOTYoJzB4OWFhJyldKDB4Myk7aWYoXzB4Y2EzM2FiKF8weDUzMmViNSUweDI9PTB4MSksMHgzPT09XzB4NTMyZWI1KXt2YXIgXzB4OWJiZDcwPXRoaXNbJ20nXVsnYWRkJ10obmV3IF8weDMyZjFiYygweDEpKVtfMHg0YTNmOTYoJzB4MWNkJyldKDB4Mik7cmV0dXJuIHRoaXNbJ3BvdyddKF8weDRlMzY5NCxfMHg5YmJkNzApO31mb3IodmFyIF8weDRkYTZlNj10aGlzWydtJ11bJ3N1Ym4nXSgweDEpLF8weDQxNjVkZT0weDA7IV8weDRkYTZlNltfMHg0YTNmOTYoJzB4YTQ3JyldKCkmJjB4MD09PV8weDRkYTZlNltfMHg0YTNmOTYoJzB4OWFhJyldKDB4MSk7KV8weDQxNjVkZSsrLF8weDRkYTZlNltfMHg0YTNmOTYoJzB4MWNkJyldKDB4MSk7XzB4Y2EzM2FiKCFfMHg0ZGE2ZTZbXzB4NGEzZjk2KCcweGE0NycpXSgpKTt2YXIgXzB4Mzc0Y2ZlPW5ldyBfMHgzMmYxYmMoMHgxKVtfMHg0YTNmOTYoJzB4NDM1JyldKHRoaXMpLF8weDRhOGZhYT1fMHgzNzRjZmVbJ3JlZE5lZyddKCksXzB4NGI1MTI4PXRoaXNbJ20nXVsnc3VibiddKDB4MSlbJ2l1c2hybiddKDB4MSksXzB4M2E2NjA1PXRoaXNbJ20nXVsnYml0TGVuZ3RoJ10oKTtmb3IoXzB4M2E2NjA1PW5ldyBfMHgzMmYxYmMoMHgyKl8weDNhNjYwNSpfMHgzYTY2MDUpW18weDRhM2Y5NignMHg0MzUnKV0odGhpcyk7MHgwIT09dGhpc1sncG93J10oXzB4M2E2NjA1LF8weDRiNTEyOClbXzB4NGEzZjk2KCcweDM3MCcpXShfMHg0YThmYWEpOylfMHgzYTY2MDVbXzB4NGEzZjk2KCcweDJhYScpXShfMHg0YThmYWEpO2Zvcih2YXIgXzB4MmExZTBiPXRoaXNbJ3BvdyddKF8weDNhNjYwNSxfMHg0ZGE2ZTYpLF8weDMzMDlmZj10aGlzW18weDRhM2Y5NignMHhhMDknKV0oXzB4NGUzNjk0LF8weDRkYTZlNltfMHg0YTNmOTYoJzB4OTAwJyldKDB4MSlbJ2l1c2hybiddKDB4MSkpLF8weDIyZTQ1ZT10aGlzWydwb3cnXShfMHg0ZTM2OTQsXzB4NGRhNmU2KSxfMHhiMTI4NGE9XzB4NDE2NWRlOzB4MCE9PV8weDIyZTQ1ZVsnY21wJ10oXzB4Mzc0Y2ZlKTspe2Zvcih2YXIgXzB4MjA4OTYzPV8weDIyZTQ1ZSxfMHhhYjkxMWI9MHgwOzB4MCE9PV8weDIwODk2M1tfMHg0YTNmOTYoJzB4MzcwJyldKF8weDM3NGNmZSk7XzB4YWI5MTFiKyspXzB4MjA4OTYzPV8weDIwODk2M1tfMHg0YTNmOTYoJzB4MmY4JyldKCk7XzB4Y2EzM2FiKF8weGFiOTExYjxfMHhiMTI4NGEpO3ZhciBfMHg1ZjhjZDM9dGhpc1tfMHg0YTNmOTYoJzB4YTA5JyldKF8weDJhMWUwYixuZXcgXzB4MzJmMWJjKDB4MSlbXzB4NGEzZjk2KCcweGQzNycpXShfMHhiMTI4NGEtXzB4YWI5MTFiLTB4MSkpO18weDMzMDlmZj1fMHgzMzA5ZmZbJ3JlZE11bCddKF8weDVmOGNkMyksXzB4MmExZTBiPV8weDVmOGNkM1tfMHg0YTNmOTYoJzB4MmY4JyldKCksXzB4MjJlNDVlPV8weDIyZTQ1ZVtfMHg0YTNmOTYoJzB4YzgwJyldKF8weDJhMWUwYiksXzB4YjEyODRhPV8weGFiOTExYjt9cmV0dXJuIF8weDMzMDlmZjt9LF8weDQ1MjVhNltfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHg0MWEnKV09ZnVuY3Rpb24oXzB4MzA1Yjg0KXt2YXIgXzB4MmRjOGQ5PV8weDU2YmRlNyxfMHg0MzExNTM9XzB4MzA1Yjg0WydfaW52bXAnXSh0aGlzWydtJ10pO3JldHVybiAweDAhPT1fMHg0MzExNTNbXzB4MmRjOGQ5KCcweGQ1MCcpXT8oXzB4NDMxMTUzWyduZWdhdGl2ZSddPTB4MCx0aGlzWydpbW9kJ10oXzB4NDMxMTUzKVsncmVkTmVnJ10oKSk6dGhpc1tfMHgyZGM4ZDkoJzB4NDFiJyldKF8weDQzMTE1Myk7fSxfMHg0NTI1YTZbXzB4NTZiZGU3KCcweDc1NicpXVtfMHg1NmJkZTcoJzB4YTA5JyldPWZ1bmN0aW9uKF8weDVlYmZkZixfMHg0MTc3M2Upe3ZhciBfMHg2ZjM0MzE9XzB4NTZiZGU3O2lmKF8weDQxNzczZVtfMHg2ZjM0MzEoJzB4YTQ3JyldKCkpcmV0dXJuIG5ldyBfMHgzMmYxYmMoMHgxKVtfMHg2ZjM0MzEoJzB4NDM1JyldKHRoaXMpO2lmKDB4MD09PV8weDQxNzczZVsnY21wbiddKDB4MSkpcmV0dXJuIF8weDVlYmZkZlsnY2xvbmUnXSgpO3ZhciBfMHgxMWQwOWU9bmV3IEFycmF5KDB4MTApO18weDExZDA5ZVsweDBdPW5ldyBfMHgzMmYxYmMoMHgxKVtfMHg2ZjM0MzEoJzB4NDM1JyldKHRoaXMpLF8weDExZDA5ZVsweDFdPV8weDVlYmZkZjtmb3IodmFyIF8weDQ1NzRkZj0weDI7XzB4NDU3NGRmPF8weDExZDA5ZVtfMHg2ZjM0MzEoJzB4NTIwJyldO18weDQ1NzRkZisrKV8weDExZDA5ZVtfMHg0NTc0ZGZdPXRoaXNbXzB4NmYzNDMxKCcweGMyMycpXShfMHgxMWQwOWVbXzB4NDU3NGRmLTB4MV0sXzB4NWViZmRmKTt2YXIgXzB4Mjg5ZjI2PV8weDExZDA5ZVsweDBdLF8weDRhMTQzND0weDAsXzB4NTFmMTI1PTB4MCxfMHgzNzM4MDc9XzB4NDE3NzNlW18weDZmMzQzMSgnMHg0ZTknKV0oKSUweDFhO2ZvcigweDA9PT1fMHgzNzM4MDcmJihfMHgzNzM4MDc9MHgxYSksXzB4NDU3NGRmPV8weDQxNzczZVsnbGVuZ3RoJ10tMHgxO18weDQ1NzRkZj49MHgwO18weDQ1NzRkZi0tKXtmb3IodmFyIF8weDM2NTMwND1fMHg0MTc3M2VbXzB4NmYzNDMxKCcweDk3MicpXVtfMHg0NTc0ZGZdLF8weDU0NmYzYj1fMHgzNzM4MDctMHgxO18weDU0NmYzYj49MHgwO18weDU0NmYzYi0tKXt2YXIgXzB4MzYyOTAxPV8weDM2NTMwND4+XzB4NTQ2ZjNiJjB4MTtfMHgyODlmMjYhPT1fMHgxMWQwOWVbMHgwXSYmKF8weDI4OWYyNj10aGlzW18weDZmMzQzMSgnMHg5ZWEnKV0oXzB4Mjg5ZjI2KSksMHgwIT09XzB4MzYyOTAxfHwweDAhPT1fMHg0YTE0MzQ/KF8weDRhMTQzNDw8PTB4MSxfMHg0YTE0MzR8PV8weDM2MjkwMSwoMHg0PT0rK18weDUxZjEyNXx8MHgwPT09XzB4NDU3NGRmJiYweDA9PT1fMHg1NDZmM2IpJiYoXzB4Mjg5ZjI2PXRoaXNbXzB4NmYzNDMxKCcweGMyMycpXShfMHgyODlmMjYsXzB4MTFkMDllW18weDRhMTQzNF0pLF8weDUxZjEyNT0weDAsXzB4NGExNDM0PTB4MCkpOl8weDUxZjEyNT0weDA7fV8weDM3MzgwNz0weDFhO31yZXR1cm4gXzB4Mjg5ZjI2O30sXzB4NDUyNWE2Wydwcm90b3R5cGUnXVtfMHg1NmJkZTcoJzB4MjAwJyldPWZ1bmN0aW9uKF8weDNjOTcxOSl7dmFyIF8weDQyNGQ0Mj1fMHg1NmJkZTcsXzB4MWFmMzhmPV8weDNjOTcxOVtfMHg0MjRkNDIoJzB4NzMzJyldKHRoaXNbJ20nXSk7cmV0dXJuIF8weDFhZjM4Zj09PV8weDNjOTcxOT9fMHgxYWYzOGZbXzB4NDI0ZDQyKCcweDM3OScpXSgpOl8weDFhZjM4Zjt9LF8weDQ1MjVhNltfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHgyYzUnKV09ZnVuY3Rpb24oXzB4MWMyMDk0KXt2YXIgXzB4MTNkY2E4PV8weDU2YmRlNyxfMHg0MGU0NjA9XzB4MWMyMDk0WydjbG9uZSddKCk7cmV0dXJuIF8weDQwZTQ2MFtfMHgxM2RjYTgoJzB4ZDBlJyldPW51bGwsXzB4NDBlNDYwO30sXzB4MzJmMWJjWydtb250J109ZnVuY3Rpb24oXzB4MTk5ZWYxKXtyZXR1cm4gbmV3IF8weDMyN2FkOChfMHgxOTllZjEpO30sXzB4NWU2MjhiKF8weDMyN2FkOCxfMHg0NTI1YTYpLF8weDMyN2FkOFsncHJvdG90eXBlJ11bJ2NvbnZlcnRUbyddPWZ1bmN0aW9uKF8weDQwM2M1OCl7dmFyIF8weDY0Njc5Yj1fMHg1NmJkZTc7cmV0dXJuIHRoaXNbJ2ltb2QnXShfMHg0MDNjNThbXzB4NjQ2NzliKCcweGEyYycpXSh0aGlzW18weDY0Njc5YignMHg3YTgnKV0pKTt9LF8weDMyN2FkOFtfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHgyYzUnKV09ZnVuY3Rpb24oXzB4MmUyN2RkKXt2YXIgXzB4NTk1MWFkPV8weDU2YmRlNyxfMHhmMzFiMTI9dGhpc1snaW1vZCddKF8weDJlMjdkZFsnbXVsJ10odGhpc1tfMHg1OTUxYWQoJzB4YmRiJyldKSk7cmV0dXJuIF8weGYzMWIxMltfMHg1OTUxYWQoJzB4ZDBlJyldPW51bGwsXzB4ZjMxYjEyO30sXzB4MzI3YWQ4W18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweDliOCcpXT1mdW5jdGlvbihfMHgzZjJkYmYsXzB4NTE0Yjk2KXt2YXIgXzB4NDU0NmJmPV8weDU2YmRlNztpZihfMHgzZjJkYmZbJ2lzWmVybyddKCl8fF8weDUxNGI5NltfMHg0NTQ2YmYoJzB4YTQ3JyldKCkpcmV0dXJuIF8weDNmMmRiZltfMHg0NTQ2YmYoJzB4OTcyJyldWzB4MF09MHgwLF8weDNmMmRiZltfMHg0NTQ2YmYoJzB4NTIwJyldPTB4MSxfMHgzZjJkYmY7dmFyIF8weDU2N2NmYT1fMHgzZjJkYmZbXzB4NDU0NmJmKCcweDliOCcpXShfMHg1MTRiOTYpLF8weGYyZTdmOD1fMHg1NjdjZmFbXzB4NDU0NmJmKCcweDMwYycpXSh0aGlzWydzaGlmdCddKVtfMHg0NTQ2YmYoJzB4YzIzJyldKHRoaXNbXzB4NDU0NmJmKCcweDFiYycpXSlbJ2ltYXNrbiddKHRoaXNbXzB4NDU0NmJmKCcweDdhOCcpXSlbXzB4NDU0NmJmKCcweGMyMycpXSh0aGlzWydtJ10pLF8weDExYzMxYj1fMHg1NjdjZmFbXzB4NDU0NmJmKCcweDZhNicpXShfMHhmMmU3ZjgpW18weDQ1NDZiZignMHgxY2QnKV0odGhpc1snc2hpZnQnXSksXzB4MWEyZjMyPV8weDExYzMxYjtyZXR1cm4gXzB4MTFjMzFiW18weDQ1NDZiZignMHgzNzAnKV0odGhpc1snbSddKT49MHgwP18weDFhMmYzMj1fMHgxMWMzMWJbXzB4NDU0NmJmKCcweDZhNicpXSh0aGlzWydtJ10pOl8weDExYzMxYlsnY21wbiddKDB4MCk8MHgwJiYoXzB4MWEyZjMyPV8weDExYzMxYlsnaWFkZCddKHRoaXNbJ20nXSkpLF8weDFhMmYzMltfMHg0NTQ2YmYoJzB4YTUyJyldKHRoaXMpO30sXzB4MzI3YWQ4W18weDU2YmRlNygnMHg3NTYnKV1bXzB4NTZiZGU3KCcweGMyMycpXT1mdW5jdGlvbihfMHg0ZDhkOTcsXzB4MzdjZWU1KXt2YXIgXzB4MjA1ZjI4PV8weDU2YmRlNztpZihfMHg0ZDhkOTdbJ2lzWmVybyddKCl8fF8weDM3Y2VlNVtfMHgyMDVmMjgoJzB4YTQ3JyldKCkpcmV0dXJuIG5ldyBfMHgzMmYxYmMoMHgwKVtfMHgyMDVmMjgoJzB4YTUyJyldKHRoaXMpO3ZhciBfMHg2NjdiNjU9XzB4NGQ4ZDk3WydtdWwnXShfMHgzN2NlZTUpLF8weDQ3M2RjOT1fMHg2NjdiNjVbXzB4MjA1ZjI4KCcweDMwYycpXSh0aGlzW18weDIwNWYyOCgnMHg3YTgnKV0pW18weDIwNWYyOCgnMHhjMjMnKV0odGhpc1tfMHgyMDVmMjgoJzB4MWJjJyldKVtfMHgyMDVmMjgoJzB4NjI0JyldKHRoaXNbJ3NoaWZ0J10pWydtdWwnXSh0aGlzWydtJ10pLF8weDNjNTMwNj1fMHg2NjdiNjVbJ2lzdWInXShfMHg0NzNkYzkpW18weDIwNWYyOCgnMHgxY2QnKV0odGhpc1tfMHgyMDVmMjgoJzB4N2E4JyldKSxfMHg0YTI4YzQ9XzB4M2M1MzA2O3JldHVybiBfMHgzYzUzMDZbJ2NtcCddKHRoaXNbJ20nXSk+PTB4MD9fMHg0YTI4YzQ9XzB4M2M1MzA2W18weDIwNWYyOCgnMHg2YTYnKV0odGhpc1snbSddKTpfMHgzYzUzMDZbXzB4MjA1ZjI4KCcweDY5ZCcpXSgweDApPDB4MCYmKF8weDRhMjhjND1fMHgzYzUzMDZbXzB4MjA1ZjI4KCcweDdjNCcpXSh0aGlzWydtJ10pKSxfMHg0YTI4YzRbXzB4MjA1ZjI4KCcweGE1MicpXSh0aGlzKTt9LF8weDMyN2FkOFtfMHg1NmJkZTcoJzB4NzU2JyldW18weDU2YmRlNygnMHg0MWEnKV09ZnVuY3Rpb24oXzB4M2IyZTljKXt2YXIgXzB4NDQ0NzlkPV8weDU2YmRlNztyZXR1cm4gdGhpc1snaW1vZCddKF8weDNiMmU5Y1snX2ludm1wJ10odGhpc1snbSddKVtfMHg0NDQ3OWQoJzB4YzIzJyldKHRoaXNbJ3IyJ10pKVsnX2ZvcmNlUmVkJ10odGhpcyk7fTt9KF8weDQ2YWY5Yz1fMHhiMDJiMmJbJ25tZCddKF8weDQ2YWY5YyksdGhpcyk7fSwweDE4Y2Y6KF8weDE5OTRlYixfMHg1YjEzODUsXzB4MjhkODBmKT0+e3ZhciBfMHg0NTA1MTY9XzB4MTVhMyxfMHhkYmIzNmM9XzB4MjhkODBmKDB4MjIzYylbJ0J1ZmZlciddO18weDE5OTRlYltfMHg0NTA1MTYoJzB4MzE0JyldPWZ1bmN0aW9uKF8weDVjMjMyNCl7dmFyIF8weDIxYTNhZD1fMHg0NTA1MTY7Zm9yKHZhciBfMHgyYTFkNDE9bmV3IF8weGRiYjM2YyhfMHg1YzIzMjRbXzB4MjFhM2FkKCcweDUyMCcpXSksXzB4NTIzNWFmPTB4MCxfMHg0ODAwNjE9XzB4NWMyMzI0W18weDIxYTNhZCgnMHg1MjAnKV0tMHgxO18weDUyMzVhZjw9XzB4NDgwMDYxOysrXzB4NTIzNWFmLC0tXzB4NDgwMDYxKV8weDJhMWQ0MVtfMHg1MjM1YWZdPV8weDVjMjMyNFtfMHg0ODAwNjFdLF8weDJhMWQ0MVtfMHg0ODAwNjFdPV8weDVjMjMyNFtfMHg1MjM1YWZdO3JldHVybiBfMHgyYTFkNDE7fTt9LDB4MjIzYzooXzB4MTFhY2M0LF8weDI1NzRkMCxfMHgyNWZiM2IpPT57J3VzZSBzdHJpY3QnO3ZhciBfMHg0YWJkOGQ9XzB4MTVhMztjb25zdCBfMHg1NTExZDQ9XzB4MjVmYjNiKDB4MjYwZSksXzB4MWM2ODNiPV8weDI1ZmIzYigweDI4NSksXzB4MTk4ZGFhPSdmdW5jdGlvbic9PXR5cGVvZiBTeW1ib2wmJl8weDRhYmQ4ZCgnMHhjN2InKT09dHlwZW9mIFN5bWJvbFtfMHg0YWJkOGQoJzB4OTI0JyldP1N5bWJvbFtfMHg0YWJkOGQoJzB4OTI0JyldKF8weDRhYmQ4ZCgnMHgzZjAnKSk6bnVsbDtfMHgyNTc0ZDBbJ0J1ZmZlciddPV8weDI1MDQ4YSxfMHgyNTc0ZDBbXzB4NGFiZDhkKCcweDY2ZicpXT1mdW5jdGlvbihfMHg0YzhhNzYpe3ZhciBfMHg1NzdiZWM9XzB4NGFiZDhkO3JldHVybitfMHg0YzhhNzYhPV8weDRjOGE3NiYmKF8weDRjOGE3Nj0weDApLF8weDI1MDQ4YVtfMHg1NzdiZWMoJzB4YWE4JyldKCtfMHg0YzhhNzYpO30sXzB4MjU3NGQwW18weDRhYmQ4ZCgnMHg1MjQnKV09MHgzMjtjb25zdCBfMHhkNGJkNmE9MHg3ZmZmZmZmZjtmdW5jdGlvbiBfMHgxMGY4M2UoXzB4MTc0MDE1KXt2YXIgXzB4Yzk3YzYzPV8weDRhYmQ4ZDtpZihfMHgxNzQwMTU+XzB4ZDRiZDZhKXRocm93IG5ldyBSYW5nZUVycm9yKCdUaGVceDIwdmFsdWVceDIwXHgyMicrXzB4MTc0MDE1K18weGM5N2M2MygnMHg4NjknKSk7Y29uc3QgXzB4MTI2NmE2PW5ldyBVaW50OEFycmF5KF8weDE3NDAxNSk7cmV0dXJuIE9iamVjdFsnc2V0UHJvdG90eXBlT2YnXShfMHgxMjY2YTYsXzB4MjUwNDhhW18weGM5N2M2MygnMHg3NTYnKV0pLF8weDEyNjZhNjt9ZnVuY3Rpb24gXzB4MjUwNDhhKF8weDU3MWVjYixfMHg0OWJiOGEsXzB4NmRlYmIwKXt2YXIgXzB4NTIzNzUzPV8weDRhYmQ4ZDtpZihfMHg1MjM3NTMoJzB4MjdhJyk9PXR5cGVvZiBfMHg1NzFlY2Ipe2lmKF8weDUyMzc1MygnMHg2NWYnKT09dHlwZW9mIF8weDQ5YmI4YSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGVceDIwXHgyMnN0cmluZ1x4MjJceDIwYXJndW1lbnRceDIwbXVzdFx4MjBiZVx4MjBvZlx4MjB0eXBlXHgyMHN0cmluZy5ceDIwUmVjZWl2ZWRceDIwdHlwZVx4MjBudW1iZXInKTtyZXR1cm4gXzB4MThhNmU4KF8weDU3MWVjYik7fXJldHVybiBfMHgzYWMzZTUoXzB4NTcxZWNiLF8weDQ5YmI4YSxfMHg2ZGViYjApO31mdW5jdGlvbiBfMHgzYWMzZTUoXzB4NDA2N2NiLF8weDExNWFiMyxfMHg0YTNjZDcpe3ZhciBfMHgxMGMwNGE9XzB4NGFiZDhkO2lmKF8weDEwYzA0YSgnMHg2NWYnKT09dHlwZW9mIF8weDQwNjdjYilyZXR1cm4gZnVuY3Rpb24oXzB4NDU3ZDRhLF8weDQ2MDYzYil7dmFyIF8weDI2ZTIzOD1fMHgxMGMwNGE7aWYoXzB4MjZlMjM4KCcweDY1ZicpPT10eXBlb2YgXzB4NDYwNjNiJiYnJyE9PV8weDQ2MDYzYnx8KF8weDQ2MDYzYj0ndXRmOCcpLCFfMHgyNTA0OGFbXzB4MjZlMjM4KCcweDVlOScpXShfMHg0NjA2M2IpKXRocm93IG5ldyBUeXBlRXJyb3IoXzB4MjZlMjM4KCcweGMxZicpK18weDQ2MDYzYik7Y29uc3QgXzB4NTgwODExPTB4MHxfMHg0NmM2ODYoXzB4NDU3ZDRhLF8weDQ2MDYzYik7bGV0IF8weDFjZTc1Nj1fMHgxMGY4M2UoXzB4NTgwODExKTtjb25zdCBfMHg1MTIzNDg9XzB4MWNlNzU2W18weDI2ZTIzOCgnMHg2N2QnKV0oXzB4NDU3ZDRhLF8weDQ2MDYzYik7cmV0dXJuIF8weDUxMjM0OCE9PV8weDU4MDgxMSYmKF8weDFjZTc1Nj1fMHgxY2U3NTZbXzB4MjZlMjM4KCcweGFkYScpXSgweDAsXzB4NTEyMzQ4KSksXzB4MWNlNzU2O30oXzB4NDA2N2NiLF8weDExNWFiMyk7aWYoQXJyYXlCdWZmZXJbXzB4MTBjMDRhKCcweGEwYicpXShfMHg0MDY3Y2IpKXJldHVybiBmdW5jdGlvbihfMHgzYmNmMmMpe3ZhciBfMHg0ZTE5NDA9XzB4MTBjMDRhO2lmKF8weDk3MDQwNihfMHgzYmNmMmMsVWludDhBcnJheSkpe2NvbnN0IF8weDFhOTIyOT1uZXcgVWludDhBcnJheShfMHgzYmNmMmMpO3JldHVybiBfMHgzZmU4YzYoXzB4MWE5MjI5W18weDRlMTk0MCgnMHgyMDMnKV0sXzB4MWE5MjI5W18weDRlMTk0MCgnMHgyMjInKV0sXzB4MWE5MjI5W18weDRlMTk0MCgnMHgyMWInKV0pO31yZXR1cm4gXzB4NDM1ZGU0KF8weDNiY2YyYyk7fShfMHg0MDY3Y2IpO2lmKG51bGw9PV8weDQwNjdjYil0aHJvdyBuZXcgVHlwZUVycm9yKF8weDEwYzA0YSgnMHgzZGUnKSt0eXBlb2YgXzB4NDA2N2NiKTtpZihfMHg5NzA0MDYoXzB4NDA2N2NiLEFycmF5QnVmZmVyKXx8XzB4NDA2N2NiJiZfMHg5NzA0MDYoXzB4NDA2N2NiWydidWZmZXInXSxBcnJheUJ1ZmZlcikpcmV0dXJuIF8weDNmZThjNihfMHg0MDY3Y2IsXzB4MTE1YWIzLF8weDRhM2NkNyk7aWYoXzB4MTBjMDRhKCcweGE3YicpIT10eXBlb2YgU2hhcmVkQXJyYXlCdWZmZXImJihfMHg5NzA0MDYoXzB4NDA2N2NiLFNoYXJlZEFycmF5QnVmZmVyKXx8XzB4NDA2N2NiJiZfMHg5NzA0MDYoXzB4NDA2N2NiW18weDEwYzA0YSgnMHgyMDMnKV0sU2hhcmVkQXJyYXlCdWZmZXIpKSlyZXR1cm4gXzB4M2ZlOGM2KF8weDQwNjdjYixfMHgxMTVhYjMsXzB4NGEzY2Q3KTtpZihfMHgxMGMwNGEoJzB4MjdhJyk9PXR5cGVvZiBfMHg0MDY3Y2IpdGhyb3cgbmV3IFR5cGVFcnJvcihfMHgxMGMwNGEoJzB4NDk1JykpO2NvbnN0IF8weDQzYzEwZD1fMHg0MDY3Y2JbXzB4MTBjMDRhKCcweDQxNCcpXSYmXzB4NDA2N2NiW18weDEwYzA0YSgnMHg0MTQnKV0oKTtpZihudWxsIT1fMHg0M2MxMGQmJl8weDQzYzEwZCE9PV8weDQwNjdjYilyZXR1cm4gXzB4MjUwNDhhW18weDEwYzA0YSgnMHgyNTInKV0oXzB4NDNjMTBkLF8weDExNWFiMyxfMHg0YTNjZDcpO2NvbnN0IF8weDJiN2ViMD1mdW5jdGlvbihfMHgyYTZkNjUpe3ZhciBfMHg3NzIxYTQ9XzB4MTBjMDRhO2lmKF8weDI1MDQ4YVtfMHg3NzIxYTQoJzB4YmFjJyldKF8weDJhNmQ2NSkpe2NvbnN0IF8weDVkNTkzMz0weDB8XzB4Mzc0MTgzKF8weDJhNmQ2NVtfMHg3NzIxYTQoJzB4NTIwJyldKSxfMHgxM2Q2NDg9XzB4MTBmODNlKF8weDVkNTkzMyk7cmV0dXJuIDB4MD09PV8weDEzZDY0OFtfMHg3NzIxYTQoJzB4NTIwJyldfHxfMHgyYTZkNjVbXzB4NzcyMWE0KCcweGFlOScpXShfMHgxM2Q2NDgsMHgwLDB4MCxfMHg1ZDU5MzMpLF8weDEzZDY0ODt9cmV0dXJuIHZvaWQgMHgwIT09XzB4MmE2ZDY1W18weDc3MjFhNCgnMHg1MjAnKV0/XzB4NzcyMWE0KCcweDI3YScpIT10eXBlb2YgXzB4MmE2ZDY1W18weDc3MjFhNCgnMHg1MjAnKV18fF8weDE0NGQxZShfMHgyYTZkNjVbXzB4NzcyMWE0KCcweDUyMCcpXSk/XzB4MTBmODNlKDB4MCk6XzB4NDM1ZGU0KF8weDJhNmQ2NSk6J0J1ZmZlcic9PT1fMHgyYTZkNjVbJ3R5cGUnXSYmQXJyYXlbXzB4NzcyMWE0KCcweDhmMScpXShfMHgyYTZkNjVbJ2RhdGEnXSk/XzB4NDM1ZGU0KF8weDJhNmQ2NVtfMHg3NzIxYTQoJzB4YTU4JyldKTp2b2lkIDB4MDt9KF8weDQwNjdjYik7aWYoXzB4MmI3ZWIwKXJldHVybiBfMHgyYjdlYjA7aWYoXzB4MTBjMDRhKCcweGE3YicpIT10eXBlb2YgU3ltYm9sJiZudWxsIT1TeW1ib2xbXzB4MTBjMDRhKCcweDdiNicpXSYmJ2Z1bmN0aW9uJz09dHlwZW9mIF8weDQwNjdjYltTeW1ib2xbJ3RvUHJpbWl0aXZlJ11dKXJldHVybiBfMHgyNTA0OGFbXzB4MTBjMDRhKCcweDI1MicpXShfMHg0MDY3Y2JbU3ltYm9sW18weDEwYzA0YSgnMHg3YjYnKV1dKF8weDEwYzA0YSgnMHg2NWYnKSksXzB4MTE1YWIzLF8weDRhM2NkNyk7dGhyb3cgbmV3IFR5cGVFcnJvcihfMHgxMGMwNGEoJzB4M2RlJykrdHlwZW9mIF8weDQwNjdjYik7fWZ1bmN0aW9uIF8weGI4Yzg1OShfMHgxZTgzNWMpe3ZhciBfMHg1YzZmYmQ9XzB4NGFiZDhkO2lmKF8weDVjNmZiZCgnMHgyN2EnKSE9dHlwZW9mIF8weDFlODM1Yyl0aHJvdyBuZXcgVHlwZUVycm9yKF8weDVjNmZiZCgnMHg5ODInKSk7aWYoXzB4MWU4MzVjPDB4MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlXHgyMHZhbHVlXHgyMFx4MjInK18weDFlODM1YytfMHg1YzZmYmQoJzB4ODY5JykpO31mdW5jdGlvbiBfMHgxOGE2ZTgoXzB4NTQyYzg2KXtyZXR1cm4gXzB4YjhjODU5KF8weDU0MmM4NiksXzB4MTBmODNlKF8weDU0MmM4NjwweDA/MHgwOjB4MHxfMHgzNzQxODMoXzB4NTQyYzg2KSk7fWZ1bmN0aW9uIF8weDQzNWRlNChfMHg1N2Q4NDYpe3ZhciBfMHgyYWEyNTU9XzB4NGFiZDhkO2NvbnN0IF8weGUyNzA3ZT1fMHg1N2Q4NDZbXzB4MmFhMjU1KCcweDUyMCcpXTwweDA/MHgwOjB4MHxfMHgzNzQxODMoXzB4NTdkODQ2WydsZW5ndGgnXSksXzB4OWNlYjMyPV8weDEwZjgzZShfMHhlMjcwN2UpO2ZvcihsZXQgXzB4MzFiMWYwPTB4MDtfMHgzMWIxZjA8XzB4ZTI3MDdlO18weDMxYjFmMCs9MHgxKV8weDljZWIzMltfMHgzMWIxZjBdPTB4ZmYmXzB4NTdkODQ2W18weDMxYjFmMF07cmV0dXJuIF8weDljZWIzMjt9ZnVuY3Rpb24gXzB4M2ZlOGM2KF8weDQ3YzIwZCxfMHg0MDc5M2UsXzB4MzRhMTc2KXt2YXIgXzB4YThlNWJiPV8weDRhYmQ4ZDtpZihfMHg0MDc5M2U8MHgwfHxfMHg0N2MyMGRbXzB4YThlNWJiKCcweDIxYicpXTxfMHg0MDc5M2UpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXzB4YThlNWJiKCcweGQyOCcpKTtpZihfMHg0N2MyMGRbXzB4YThlNWJiKCcweDIxYicpXTxfMHg0MDc5M2UrKF8weDM0YTE3Nnx8MHgwKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcihfMHhhOGU1YmIoJzB4NGNmJykpO2xldCBfMHgzMzk2MmQ7cmV0dXJuIF8weDMzOTYyZD12b2lkIDB4MD09PV8weDQwNzkzZSYmdm9pZCAweDA9PT1fMHgzNGExNzY/bmV3IFVpbnQ4QXJyYXkoXzB4NDdjMjBkKTp2b2lkIDB4MD09PV8weDM0YTE3Nj9uZXcgVWludDhBcnJheShfMHg0N2MyMGQsXzB4NDA3OTNlKTpuZXcgVWludDhBcnJheShfMHg0N2MyMGQsXzB4NDA3OTNlLF8weDM0YTE3NiksT2JqZWN0W18weGE4ZTViYignMHg5ODMnKV0oXzB4MzM5NjJkLF8weDI1MDQ4YVsncHJvdG90eXBlJ10pLF8weDMzOTYyZDt9ZnVuY3Rpb24gXzB4Mzc0MTgzKF8weDJiNTk1OCl7dmFyIF8weDNlMzlkMD1fMHg0YWJkOGQ7aWYoXzB4MmI1OTU4Pj1fMHhkNGJkNmEpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXzB4M2UzOWQwKCcweDRkYycpK18weGQ0YmQ2YVtfMHgzZTM5ZDAoJzB4NTQ3JyldKDB4MTApK18weDNlMzlkMCgnMHg3NWUnKSk7cmV0dXJuIDB4MHxfMHgyYjU5NTg7fWZ1bmN0aW9uIF8weDQ2YzY4NihfMHhjYzJiLF8weDQ3ODJhMil7dmFyIF8weDQyMzIyMj1fMHg0YWJkOGQ7aWYoXzB4MjUwNDhhWydpc0J1ZmZlciddKF8weGNjMmIpKXJldHVybiBfMHhjYzJiW18weDQyMzIyMignMHg1MjAnKV07aWYoQXJyYXlCdWZmZXJbJ2lzVmlldyddKF8weGNjMmIpfHxfMHg5NzA0MDYoXzB4Y2MyYixBcnJheUJ1ZmZlcikpcmV0dXJuIF8weGNjMmJbJ2J5dGVMZW5ndGgnXTtpZihfMHg0MjMyMjIoJzB4NjVmJykhPXR5cGVvZiBfMHhjYzJiKXRocm93IG5ldyBUeXBlRXJyb3IoXzB4NDIzMjIyKCcweGE0MScpK3R5cGVvZiBfMHhjYzJiKTtjb25zdCBfMHg3NWYwZTY9XzB4Y2MyYlsnbGVuZ3RoJ10sXzB4MzMzYjBjPWFyZ3VtZW50c1tfMHg0MjMyMjIoJzB4NTIwJyldPjB4MiYmITB4MD09PWFyZ3VtZW50c1sweDJdO2lmKCFfMHgzMzNiMGMmJjB4MD09PV8weDc1ZjBlNilyZXR1cm4gMHgwO2xldCBfMHgyMDc4ZjI9ITB4MTtmb3IoOzspc3dpdGNoKF8weDQ3ODJhMil7Y2FzZSBfMHg0MjMyMjIoJzB4YzIyJyk6Y2FzZSBfMHg0MjMyMjIoJzB4YTU2Jyk6Y2FzZSdiaW5hcnknOnJldHVybiBfMHg3NWYwZTY7Y2FzZSd1dGY4JzpjYXNlIF8weDQyMzIyMignMHg5M2EnKTpyZXR1cm4gXzB4NWY1MDgyKF8weGNjMmIpW18weDQyMzIyMignMHg1MjAnKV07Y2FzZSBfMHg0MjMyMjIoJzB4ZDI5Jyk6Y2FzZSBfMHg0MjMyMjIoJzB4YWViJyk6Y2FzZSBfMHg0MjMyMjIoJzB4OWUzJyk6Y2FzZSBfMHg0MjMyMjIoJzB4OTMwJyk6cmV0dXJuIDB4MipfMHg3NWYwZTY7Y2FzZSBfMHg0MjMyMjIoJzB4YzRkJyk6cmV0dXJuIF8weDc1ZjBlNj4+PjB4MTtjYXNlIF8weDQyMzIyMignMHg0ZDknKTpyZXR1cm4gXzB4NWYwMDU0KF8weGNjMmIpW18weDQyMzIyMignMHg1MjAnKV07ZGVmYXVsdDppZihfMHgyMDc4ZjIpcmV0dXJuIF8weDMzM2IwYz8tMHgxOl8weDVmNTA4MihfMHhjYzJiKVsnbGVuZ3RoJ107XzB4NDc4MmEyPSgnJytfMHg0NzgyYTIpW18weDQyMzIyMignMHg4NzAnKV0oKSxfMHgyMDc4ZjI9ITB4MDt9fWZ1bmN0aW9uIF8weGVjMDY0MChfMHgyMWRhYzIsXzB4M2JiYWIzLF8weDVkYzkyNSl7dmFyIF8weDI4Mzk2Nj1fMHg0YWJkOGQ7bGV0IF8weDJjMGRjNj0hMHgxO2lmKCh2b2lkIDB4MD09PV8weDNiYmFiM3x8XzB4M2JiYWIzPDB4MCkmJihfMHgzYmJhYjM9MHgwKSxfMHgzYmJhYjM+dGhpc1snbGVuZ3RoJ10pcmV0dXJuJyc7aWYoKHZvaWQgMHgwPT09XzB4NWRjOTI1fHxfMHg1ZGM5MjU+dGhpc1tfMHgyODM5NjYoJzB4NTIwJyldKSYmKF8weDVkYzkyNT10aGlzW18weDI4Mzk2NignMHg1MjAnKV0pLF8weDVkYzkyNTw9MHgwKXJldHVybicnO2lmKChfMHg1ZGM5MjU+Pj49MHgwKTw9KF8weDNiYmFiMz4+Pj0weDApKXJldHVybicnO2ZvcihfMHgyMWRhYzJ8fChfMHgyMWRhYzI9XzB4MjgzOTY2KCcweDg1NycpKTs7KXN3aXRjaChfMHgyMWRhYzIpe2Nhc2UgXzB4MjgzOTY2KCcweGM0ZCcpOnJldHVybiBfMHgxYjllNDQodGhpcyxfMHgzYmJhYjMsXzB4NWRjOTI1KTtjYXNlJ3V0ZjgnOmNhc2UndXRmLTgnOnJldHVybiBfMHg0MGZiMjcodGhpcyxfMHgzYmJhYjMsXzB4NWRjOTI1KTtjYXNlJ2FzY2lpJzpyZXR1cm4gXzB4NTg1YjY5KHRoaXMsXzB4M2JiYWIzLF8weDVkYzkyNSk7Y2FzZSBfMHgyODM5NjYoJzB4YTU2Jyk6Y2FzZSBfMHgyODM5NjYoJzB4ODdmJyk6cmV0dXJuIF8weDczODBmYSh0aGlzLF8weDNiYmFiMyxfMHg1ZGM5MjUpO2Nhc2UgXzB4MjgzOTY2KCcweDRkOScpOnJldHVybiBfMHg1MGJiNTModGhpcyxfMHgzYmJhYjMsXzB4NWRjOTI1KTtjYXNlJ3VjczInOmNhc2UgXzB4MjgzOTY2KCcweGFlYicpOmNhc2UgXzB4MjgzOTY2KCcweDllMycpOmNhc2UgXzB4MjgzOTY2KCcweDkzMCcpOnJldHVybiBfMHgxNzQzN2QodGhpcyxfMHgzYmJhYjMsXzB4NWRjOTI1KTtkZWZhdWx0OmlmKF8weDJjMGRjNil0aHJvdyBuZXcgVHlwZUVycm9yKF8weDI4Mzk2NignMHhjMWYnKStfMHgyMWRhYzIpO18weDIxZGFjMj0oXzB4MjFkYWMyKycnKVtfMHgyODM5NjYoJzB4ODcwJyldKCksXzB4MmMwZGM2PSEweDA7fX1mdW5jdGlvbiBfMHg1MGFlNTYoXzB4NDk3YjQ5LF8weDRhOWU3NSxfMHg0Y2NmMmQpe2NvbnN0IF8weDJiNWM3Nj1fMHg0OTdiNDlbXzB4NGE5ZTc1XTtfMHg0OTdiNDlbXzB4NGE5ZTc1XT1fMHg0OTdiNDlbXzB4NGNjZjJkXSxfMHg0OTdiNDlbXzB4NGNjZjJkXT1fMHgyYjVjNzY7fWZ1bmN0aW9uIF8weDViNTYwZShfMHg1YTE3NTYsXzB4MzM5NDRkLF8weDMyYjU3MSxfMHg0NWYwYzksXzB4MzNlYmU5KXt2YXIgXzB4MmU5NWI4PV8weDRhYmQ4ZDtpZigweDA9PT1fMHg1YTE3NTZbXzB4MmU5NWI4KCcweDUyMCcpXSlyZXR1cm4tMHgxO2lmKF8weDJlOTViOCgnMHg2NWYnKT09dHlwZW9mIF8weDMyYjU3MT8oXzB4NDVmMGM5PV8weDMyYjU3MSxfMHgzMmI1NzE9MHgwKTpfMHgzMmI1NzE+MHg3ZmZmZmZmZj9fMHgzMmI1NzE9MHg3ZmZmZmZmZjpfMHgzMmI1NzE8LTB4ODAwMDAwMDAmJihfMHgzMmI1NzE9LTB4ODAwMDAwMDApLF8weDE0NGQxZShfMHgzMmI1NzE9K18weDMyYjU3MSkmJihfMHgzMmI1NzE9XzB4MzNlYmU5PzB4MDpfMHg1YTE3NTZbJ2xlbmd0aCddLTB4MSksXzB4MzJiNTcxPDB4MCYmKF8weDMyYjU3MT1fMHg1YTE3NTZbXzB4MmU5NWI4KCcweDUyMCcpXStfMHgzMmI1NzEpLF8weDMyYjU3MT49XzB4NWExNzU2W18weDJlOTViOCgnMHg1MjAnKV0pe2lmKF8weDMzZWJlOSlyZXR1cm4tMHgxO18weDMyYjU3MT1fMHg1YTE3NTZbJ2xlbmd0aCddLTB4MTt9ZWxzZXtpZihfMHgzMmI1NzE8MHgwKXtpZighXzB4MzNlYmU5KXJldHVybi0weDE7XzB4MzJiNTcxPTB4MDt9fWlmKCdzdHJpbmcnPT10eXBlb2YgXzB4MzM5NDRkJiYoXzB4MzM5NDRkPV8weDI1MDQ4YVtfMHgyZTk1YjgoJzB4MjUyJyldKF8weDMzOTQ0ZCxfMHg0NWYwYzkpKSxfMHgyNTA0OGFbJ2lzQnVmZmVyJ10oXzB4MzM5NDRkKSlyZXR1cm4gMHgwPT09XzB4MzM5NDRkWydsZW5ndGgnXT8tMHgxOl8weDQwOTA1ZihfMHg1YTE3NTYsXzB4MzM5NDRkLF8weDMyYjU3MSxfMHg0NWYwYzksXzB4MzNlYmU5KTtpZignbnVtYmVyJz09dHlwZW9mIF8weDMzOTQ0ZClyZXR1cm4gXzB4MzM5NDRkJj0weGZmLF8weDJlOTViOCgnMHhjN2InKT09dHlwZW9mIFVpbnQ4QXJyYXlbXzB4MmU5NWI4KCcweDc1NicpXVtfMHgyZTk1YjgoJzB4YWMwJyldP18weDMzZWJlOT9VaW50OEFycmF5W18weDJlOTViOCgnMHg3NTYnKV1bXzB4MmU5NWI4KCcweGFjMCcpXVtfMHgyZTk1YjgoJzB4NWZkJyldKF8weDVhMTc1NixfMHgzMzk0NGQsXzB4MzJiNTcxKTpVaW50OEFycmF5W18weDJlOTViOCgnMHg3NTYnKV1bXzB4MmU5NWI4KCcweDU5YycpXVtfMHgyZTk1YjgoJzB4NWZkJyldKF8weDVhMTc1NixfMHgzMzk0NGQsXzB4MzJiNTcxKTpfMHg0MDkwNWYoXzB4NWExNzU2LFtfMHgzMzk0NGRdLF8weDMyYjU3MSxfMHg0NWYwYzksXzB4MzNlYmU5KTt0aHJvdyBuZXcgVHlwZUVycm9yKF8weDJlOTViOCgnMHg0MGMnKSk7fWZ1bmN0aW9uIF8weDQwOTA1ZihfMHg3OGU4MmEsXzB4NGRhZjFmLF8weDE0Nzk1OCxfMHgzNWVhY2IsXzB4NDVhYjRjKXt2YXIgXzB4OGEyNTljPV8weDRhYmQ4ZDtsZXQgXzB4MmZkN2EzLF8weDUyYzBmNj0weDEsXzB4MzNhYTEwPV8weDc4ZTgyYVtfMHg4YTI1OWMoJzB4NTIwJyldLF8weDIxZTkzND1fMHg0ZGFmMWZbXzB4OGEyNTljKCcweDUyMCcpXTtpZih2b2lkIDB4MCE9PV8weDM1ZWFjYiYmKF8weDhhMjU5YygnMHhkMjknKT09PShfMHgzNWVhY2I9U3RyaW5nKF8weDM1ZWFjYilbXzB4OGEyNTljKCcweDg3MCcpXSgpKXx8XzB4OGEyNTljKCcweGFlYicpPT09XzB4MzVlYWNifHxfMHg4YTI1OWMoJzB4OWUzJyk9PT1fMHgzNWVhY2J8fF8weDhhMjU5YygnMHg5MzAnKT09PV8weDM1ZWFjYikpe2lmKF8weDc4ZTgyYVsnbGVuZ3RoJ108MHgyfHxfMHg0ZGFmMWZbXzB4OGEyNTljKCcweDUyMCcpXTwweDIpcmV0dXJuLTB4MTtfMHg1MmMwZjY9MHgyLF8weDMzYWExMC89MHgyLF8weDIxZTkzNC89MHgyLF8weDE0Nzk1OC89MHgyO31mdW5jdGlvbiBfMHgyOWE1YzQoXzB4M2EzNmQ2LF8weDFkN2FhYSl7dmFyIF8weDVhYTkwOT1fMHg4YTI1OWM7cmV0dXJuIDB4MT09PV8weDUyYzBmNj9fMHgzYTM2ZDZbXzB4MWQ3YWFhXTpfMHgzYTM2ZDZbXzB4NWFhOTA5KCcweDdmMicpXShfMHgxZDdhYWEqXzB4NTJjMGY2KTt9aWYoXzB4NDVhYjRjKXtsZXQgXzB4MmIyNmI3PS0weDE7Zm9yKF8weDJmZDdhMz1fMHgxNDc5NTg7XzB4MmZkN2EzPF8weDMzYWExMDtfMHgyZmQ3YTMrKylpZihfMHgyOWE1YzQoXzB4NzhlODJhLF8weDJmZDdhMyk9PT1fMHgyOWE1YzQoXzB4NGRhZjFmLC0weDE9PT1fMHgyYjI2Yjc/MHgwOl8weDJmZDdhMy1fMHgyYjI2YjcpKXtpZigtMHgxPT09XzB4MmIyNmI3JiYoXzB4MmIyNmI3PV8weDJmZDdhMyksXzB4MmZkN2EzLV8weDJiMjZiNysweDE9PT1fMHgyMWU5MzQpcmV0dXJuIF8weDJiMjZiNypfMHg1MmMwZjY7fWVsc2UtMHgxIT09XzB4MmIyNmI3JiYoXzB4MmZkN2EzLT1fMHgyZmQ3YTMtXzB4MmIyNmI3KSxfMHgyYjI2Yjc9LTB4MTt9ZWxzZSBmb3IoXzB4MTQ3OTU4K18weDIxZTkzND5fMHgzM2FhMTAmJihfMHgxNDc5NTg9XzB4MzNhYTEwLV8weDIxZTkzNCksXzB4MmZkN2EzPV8weDE0Nzk1ODtfMHgyZmQ3YTM+PTB4MDtfMHgyZmQ3YTMtLSl7bGV0IF8weDI2OTg1YT0hMHgwO2ZvcihsZXQgXzB4MWNmYTAxPTB4MDtfMHgxY2ZhMDE8XzB4MjFlOTM0O18weDFjZmEwMSsrKWlmKF8weDI5YTVjNChfMHg3OGU4MmEsXzB4MmZkN2EzK18weDFjZmEwMSkhPT1fMHgyOWE1YzQoXzB4NGRhZjFmLF8weDFjZmEwMSkpe18weDI2OTg1YT0hMHgxO2JyZWFrO31pZihfMHgyNjk4NWEpcmV0dXJuIF8weDJmZDdhMzt9cmV0dXJuLTB4MTt9ZnVuY3Rpb24gXzB4MjY2MjZlKF8weDFjNjA3OCxfMHgzNWZhNWEsXzB4MWViZTkzLF8weDM0YzBlZCl7dmFyIF8weDJiMWQ2OD1fMHg0YWJkOGQ7XzB4MWViZTkzPU51bWJlcihfMHgxZWJlOTMpfHwweDA7Y29uc3QgXzB4MzUxOTY4PV8weDFjNjA3OFtfMHgyYjFkNjgoJzB4NTIwJyldLV8weDFlYmU5MztfMHgzNGMwZWQ/KF8weDM0YzBlZD1OdW1iZXIoXzB4MzRjMGVkKSk+XzB4MzUxOTY4JiYoXzB4MzRjMGVkPV8weDM1MTk2OCk6XzB4MzRjMGVkPV8weDM1MTk2ODtjb25zdCBfMHg0MWFmZDU9XzB4MzVmYTVhWydsZW5ndGgnXTtsZXQgXzB4NDMyZTcyO2ZvcihfMHgzNGMwZWQ+XzB4NDFhZmQ1LzB4MiYmKF8weDM0YzBlZD1fMHg0MWFmZDUvMHgyKSxfMHg0MzJlNzI9MHgwO18weDQzMmU3MjxfMHgzNGMwZWQ7KytfMHg0MzJlNzIpe2NvbnN0IF8weDFiN2UzNj1wYXJzZUludChfMHgzNWZhNWFbXzB4MmIxZDY4KCcweDU4YScpXSgweDIqXzB4NDMyZTcyLDB4MiksMHgxMCk7aWYoXzB4MTQ0ZDFlKF8weDFiN2UzNikpcmV0dXJuIF8weDQzMmU3MjtfMHgxYzYwNzhbXzB4MWViZTkzK18weDQzMmU3Ml09XzB4MWI3ZTM2O31yZXR1cm4gXzB4NDMyZTcyO31mdW5jdGlvbiBfMHgyYjc5YjAoXzB4M2Y5YWI2LF8weDVhOTk0NSxfMHgxZmVkMDksXzB4MWY1NDg4KXtyZXR1cm4gXzB4NDhmODc5KF8weDVmNTA4MihfMHg1YTk5NDUsXzB4M2Y5YWI2WydsZW5ndGgnXS1fMHgxZmVkMDkpLF8weDNmOWFiNixfMHgxZmVkMDksXzB4MWY1NDg4KTt9ZnVuY3Rpb24gXzB4MjQ0ZWYyKF8weDFiZjlmNixfMHg3MDdkYTgsXzB4NTYwMDAzLF8weDU3NGU3MCl7cmV0dXJuIF8weDQ4Zjg3OShmdW5jdGlvbihfMHg1OThhZjYpe3ZhciBfMHgyYzYzZmQ9XzB4MTVhMztjb25zdCBfMHgzNDkwN2I9W107Zm9yKGxldCBfMHg0ZDA0NjI9MHgwO18weDRkMDQ2MjxfMHg1OThhZjZbXzB4MmM2M2ZkKCcweDUyMCcpXTsrK18weDRkMDQ2MilfMHgzNDkwN2JbXzB4MmM2M2ZkKCcweDhiNycpXSgweGZmJl8weDU5OGFmNltfMHgyYzYzZmQoJzB4YTU1JyldKF8weDRkMDQ2MikpO3JldHVybiBfMHgzNDkwN2I7fShfMHg3MDdkYTgpLF8weDFiZjlmNixfMHg1NjAwMDMsXzB4NTc0ZTcwKTt9ZnVuY3Rpb24gXzB4NWVjNzQ0KF8weGRlNjU3YixfMHg1NTBlOWEsXzB4M2Y0Njg5LF8weDE2NTJiNCl7cmV0dXJuIF8weDQ4Zjg3OShfMHg1ZjAwNTQoXzB4NTUwZTlhKSxfMHhkZTY1N2IsXzB4M2Y0Njg5LF8weDE2NTJiNCk7fWZ1bmN0aW9uIF8weDI4NmZiYShfMHg0ZjUxMTIsXzB4NWRmN2E5LF8weDQ0ZmUyNCxfMHgzY2Q2ODkpe3ZhciBfMHgzMmVhODk9XzB4NGFiZDhkO3JldHVybiBfMHg0OGY4NzkoZnVuY3Rpb24oXzB4NDBmOGMxLF8weDRkMmYwMSl7dmFyIF8weDUzMDFiMz1fMHgxNWEzO2xldCBfMHgxNTBiOTgsXzB4NTE4ZmM5LF8weDJjZmYwMjtjb25zdCBfMHg0YjM4NjI9W107Zm9yKGxldCBfMHgxOTliYzY9MHgwO18weDE5OWJjNjxfMHg0MGY4YzFbXzB4NTMwMWIzKCcweDUyMCcpXSYmISgoXzB4NGQyZjAxLT0weDIpPDB4MCk7KytfMHgxOTliYzYpXzB4MTUwYjk4PV8weDQwZjhjMVtfMHg1MzAxYjMoJzB4YTU1JyldKF8weDE5OWJjNiksXzB4NTE4ZmM5PV8weDE1MGI5OD4+MHg4LF8weDJjZmYwMj1fMHgxNTBiOTglMHgxMDAsXzB4NGIzODYyWydwdXNoJ10oXzB4MmNmZjAyKSxfMHg0YjM4NjJbJ3B1c2gnXShfMHg1MThmYzkpO3JldHVybiBfMHg0YjM4NjI7fShfMHg1ZGY3YTksXzB4NGY1MTEyW18weDMyZWE4OSgnMHg1MjAnKV0tXzB4NDRmZTI0KSxfMHg0ZjUxMTIsXzB4NDRmZTI0LF8weDNjZDY4OSk7fWZ1bmN0aW9uIF8weDUwYmI1MyhfMHgzNDYyMDAsXzB4NjJjZWU0LF8weDVjMmEwNCl7dmFyIF8weDVjZDZiNz1fMHg0YWJkOGQ7cmV0dXJuIDB4MD09PV8weDYyY2VlNCYmXzB4NWMyYTA0PT09XzB4MzQ2MjAwW18weDVjZDZiNygnMHg1MjAnKV0/XzB4NTUxMWQ0W18weDVjZDZiNygnMHg0ZjInKV0oXzB4MzQ2MjAwKTpfMHg1NTExZDRbJ2Zyb21CeXRlQXJyYXknXShfMHgzNDYyMDBbXzB4NWNkNmI3KCcweGFkYScpXShfMHg2MmNlZTQsXzB4NWMyYTA0KSk7fWZ1bmN0aW9uIF8weDQwZmIyNyhfMHg1YTNlNTAsXzB4MTI2NThmLF8weDI0ODc4MSl7dmFyIF8weDhmNDA3ND1fMHg0YWJkOGQ7XzB4MjQ4NzgxPU1hdGhbXzB4OGY0MDc0KCcweGI4MCcpXShfMHg1YTNlNTBbXzB4OGY0MDc0KCcweDUyMCcpXSxfMHgyNDg3ODEpO2NvbnN0IF8weDU0OTMxMj1bXTtsZXQgXzB4M2UxZDUyPV8weDEyNjU4Zjtmb3IoO18weDNlMWQ1MjxfMHgyNDg3ODE7KXtjb25zdCBfMHgyNzRjOTg9XzB4NWEzZTUwW18weDNlMWQ1Ml07bGV0IF8weDRmMDI5Mj1udWxsLF8weDM0MDQxNT1fMHgyNzRjOTg+MHhlZj8weDQ6XzB4Mjc0Yzk4PjB4ZGY/MHgzOl8weDI3NGM5OD4weGJmPzB4MjoweDE7aWYoXzB4M2UxZDUyK18weDM0MDQxNTw9XzB4MjQ4NzgxKXtsZXQgXzB4NDg2OWRkLF8weDJhMTM2ZixfMHg1MDY1Y2MsXzB4MTEzODUyO3N3aXRjaChfMHgzNDA0MTUpe2Nhc2UgMHgxOl8weDI3NGM5ODwweDgwJiYoXzB4NGYwMjkyPV8weDI3NGM5OCk7YnJlYWs7Y2FzZSAweDI6XzB4NDg2OWRkPV8weDVhM2U1MFtfMHgzZTFkNTIrMHgxXSwweDgwPT0oMHhjMCZfMHg0ODY5ZGQpJiYoXzB4MTEzODUyPSgweDFmJl8weDI3NGM5OCk8PDB4NnwweDNmJl8weDQ4NjlkZCxfMHgxMTM4NTI+MHg3ZiYmKF8weDRmMDI5Mj1fMHgxMTM4NTIpKTticmVhaztjYXNlIDB4MzpfMHg0ODY5ZGQ9XzB4NWEzZTUwW18weDNlMWQ1MisweDFdLF8weDJhMTM2Zj1fMHg1YTNlNTBbXzB4M2UxZDUyKzB4Ml0sMHg4MD09KDB4YzAmXzB4NDg2OWRkKSYmMHg4MD09KDB4YzAmXzB4MmExMzZmKSYmKF8weDExMzg1Mj0oMHhmJl8weDI3NGM5OCk8PDB4Y3woMHgzZiZfMHg0ODY5ZGQpPDwweDZ8MHgzZiZfMHgyYTEzNmYsXzB4MTEzODUyPjB4N2ZmJiYoXzB4MTEzODUyPDB4ZDgwMHx8XzB4MTEzODUyPjB4ZGZmZikmJihfMHg0ZjAyOTI9XzB4MTEzODUyKSk7YnJlYWs7Y2FzZSAweDQ6XzB4NDg2OWRkPV8weDVhM2U1MFtfMHgzZTFkNTIrMHgxXSxfMHgyYTEzNmY9XzB4NWEzZTUwW18weDNlMWQ1MisweDJdLF8weDUwNjVjYz1fMHg1YTNlNTBbXzB4M2UxZDUyKzB4M10sMHg4MD09KDB4YzAmXzB4NDg2OWRkKSYmMHg4MD09KDB4YzAmXzB4MmExMzZmKSYmMHg4MD09KDB4YzAmXzB4NTA2NWNjKSYmKF8weDExMzg1Mj0oMHhmJl8weDI3NGM5OCk8PDB4MTJ8KDB4M2YmXzB4NDg2OWRkKTw8MHhjfCgweDNmJl8weDJhMTM2Zik8PDB4NnwweDNmJl8weDUwNjVjYyxfMHgxMTM4NTI+MHhmZmZmJiZfMHgxMTM4NTI8MHgxMTAwMDAmJihfMHg0ZjAyOTI9XzB4MTEzODUyKSk7fX1udWxsPT09XzB4NGYwMjkyPyhfMHg0ZjAyOTI9MHhmZmZkLF8weDM0MDQxNT0weDEpOl8weDRmMDI5Mj4weGZmZmYmJihfMHg0ZjAyOTItPTB4MTAwMDAsXzB4NTQ5MzEyW18weDhmNDA3NCgnMHg4YjcnKV0oXzB4NGYwMjkyPj4+MHhhJjB4M2ZmfDB4ZDgwMCksXzB4NGYwMjkyPTB4ZGMwMHwweDNmZiZfMHg0ZjAyOTIpLF8weDU0OTMxMltfMHg4ZjQwNzQoJzB4OGI3JyldKF8weDRmMDI5MiksXzB4M2UxZDUyKz1fMHgzNDA0MTU7fXJldHVybiBmdW5jdGlvbihfMHgxYjUyYTMpe3ZhciBfMHgzNzczNzE9XzB4OGY0MDc0O2NvbnN0IF8weDQxYmNiYz1fMHgxYjUyYTNbJ2xlbmd0aCddO2lmKF8weDQxYmNiYzw9XzB4NDZkMTYxKXJldHVybiBTdHJpbmdbXzB4Mzc3MzcxKCcweGE4MScpXVsnYXBwbHknXShTdHJpbmcsXzB4MWI1MmEzKTtsZXQgXzB4MmRhNzZiPScnLF8weDU1N2MwYz0weDA7Zm9yKDtfMHg1NTdjMGM8XzB4NDFiY2JjOylfMHgyZGE3NmIrPVN0cmluZ1tfMHgzNzczNzEoJzB4YTgxJyldWydhcHBseSddKFN0cmluZyxfMHgxYjUyYTNbJ3NsaWNlJ10oXzB4NTU3YzBjLF8weDU1N2MwYys9XzB4NDZkMTYxKSk7cmV0dXJuIF8weDJkYTc2Yjt9KF8weDU0OTMxMik7fV8weDI1NzRkMFsna01heExlbmd0aCddPV8weGQ0YmQ2YSxfMHgyNTA0OGFbJ1RZUEVEX0FSUkFZX1NVUFBPUlQnXT0oZnVuY3Rpb24oKXt2YXIgXzB4NDkxY2U5PV8weDRhYmQ4ZDt0cnl7Y29uc3QgXzB4NTRjYTY0PW5ldyBVaW50OEFycmF5KDB4MSksXzB4M2Q3NzdmPXsnZm9vJzpmdW5jdGlvbigpe3JldHVybiAweDJhO319O3JldHVybiBPYmplY3RbXzB4NDkxY2U5KCcweDk4MycpXShfMHgzZDc3N2YsVWludDhBcnJheVtfMHg0OTFjZTkoJzB4NzU2JyldKSxPYmplY3RbXzB4NDkxY2U5KCcweDk4MycpXShfMHg1NGNhNjQsXzB4M2Q3NzdmKSwweDJhPT09XzB4NTRjYTY0W18weDQ5MWNlOSgnMHg1YjcnKV0oKTt9Y2F0Y2goXzB4NTIwZWVlKXtyZXR1cm4hMHgxO319KCkpLF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4MmVjJyldfHxfMHg0YWJkOGQoJzB4YTdiJyk9PXR5cGVvZiBjb25zb2xlfHxfMHg0YWJkOGQoJzB4YzdiJykhPXR5cGVvZiBjb25zb2xlWydlcnJvciddfHxjb25zb2xlWydlcnJvciddKCdUaGlzXHgyMGJyb3dzZXJceDIwbGFja3NceDIwdHlwZWRceDIwYXJyYXlceDIwKFVpbnQ4QXJyYXkpXHgyMHN1cHBvcnRceDIwd2hpY2hceDIwaXNceDIwcmVxdWlyZWRceDIwYnlceDIwYGJ1ZmZlcmBceDIwdjUueC5ceDIwVXNlXHgyMGBidWZmZXJgXHgyMHY0LnhceDIwaWZceDIweW91XHgyMHJlcXVpcmVceDIwb2xkXHgyMGJyb3dzZXJceDIwc3VwcG9ydC4nKSxPYmplY3RbJ2RlZmluZVByb3BlcnR5J10oXzB4MjUwNDhhWydwcm90b3R5cGUnXSxfMHg0YWJkOGQoJzB4OGJmJykseydlbnVtZXJhYmxlJzohMHgwLCdnZXQnOmZ1bmN0aW9uKCl7dmFyIF8weDQyMTRlYz1fMHg0YWJkOGQ7aWYoXzB4MjUwNDhhW18weDQyMTRlYygnMHhiYWMnKV0odGhpcykpcmV0dXJuIHRoaXNbXzB4NDIxNGVjKCcweDIwMycpXTt9fSksT2JqZWN0W18weDRhYmQ4ZCgnMHgyYjQnKV0oXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV0sJ29mZnNldCcseydlbnVtZXJhYmxlJzohMHgwLCdnZXQnOmZ1bmN0aW9uKCl7aWYoXzB4MjUwNDhhWydpc0J1ZmZlciddKHRoaXMpKXJldHVybiB0aGlzWydieXRlT2Zmc2V0J107fX0pLF8weDI1MDQ4YVsncG9vbFNpemUnXT0weDIwMDAsXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHgyNTInKV09ZnVuY3Rpb24oXzB4NGUwZGVhLF8weDE5MjRlYixfMHg1OTM5MGIpe3JldHVybiBfMHgzYWMzZTUoXzB4NGUwZGVhLF8weDE5MjRlYixfMHg1OTM5MGIpO30sT2JqZWN0W18weDRhYmQ4ZCgnMHg5ODMnKV0oXzB4MjUwNDhhWydwcm90b3R5cGUnXSxVaW50OEFycmF5W18weDRhYmQ4ZCgnMHg3NTYnKV0pLE9iamVjdFtfMHg0YWJkOGQoJzB4OTgzJyldKF8weDI1MDQ4YSxVaW50OEFycmF5KSxfMHgyNTA0OGFbXzB4NGFiZDhkKCcweGFhOCcpXT1mdW5jdGlvbihfMHg0YWQ0MWQsXzB4MTc1MzUxLF8weGI2ZDQ1Yil7cmV0dXJuIGZ1bmN0aW9uKF8weDE4MDk2NSxfMHg0M2E2MDgsXzB4MTNkZTE2KXt2YXIgXzB4NmM4NzE5PV8weDE1YTM7cmV0dXJuIF8weGI4Yzg1OShfMHgxODA5NjUpLF8weDE4MDk2NTw9MHgwP18weDEwZjgzZShfMHgxODA5NjUpOnZvaWQgMHgwIT09XzB4NDNhNjA4P18weDZjODcxOSgnMHg2NWYnKT09dHlwZW9mIF8weDEzZGUxNj9fMHgxMGY4M2UoXzB4MTgwOTY1KVtfMHg2Yzg3MTkoJzB4YjE2JyldKF8weDQzYTYwOCxfMHgxM2RlMTYpOl8weDEwZjgzZShfMHgxODA5NjUpWydmaWxsJ10oXzB4NDNhNjA4KTpfMHgxMGY4M2UoXzB4MTgwOTY1KTt9KF8weDRhZDQxZCxfMHgxNzUzNTEsXzB4YjZkNDViKTt9LF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NGQ2JyldPWZ1bmN0aW9uKF8weGM5NThjNSl7cmV0dXJuIF8weDE4YTZlOChfMHhjOTU4YzUpO30sXzB4MjUwNDhhWydhbGxvY1Vuc2FmZVNsb3cnXT1mdW5jdGlvbihfMHgxYzQ3YzQpe3JldHVybiBfMHgxOGE2ZTgoXzB4MWM0N2M0KTt9LF8weDI1MDQ4YVsnaXNCdWZmZXInXT1mdW5jdGlvbihfMHgzZmRiYzYpe3ZhciBfMHgxZGVjNDc9XzB4NGFiZDhkO3JldHVybiBudWxsIT1fMHgzZmRiYzYmJiEweDA9PT1fMHgzZmRiYzZbXzB4MWRlYzQ3KCcweDQ3NCcpXSYmXzB4M2ZkYmM2IT09XzB4MjUwNDhhW18weDFkZWM0NygnMHg3NTYnKV07fSxfMHgyNTA0OGFbXzB4NGFiZDhkKCcweDUyMycpXT1mdW5jdGlvbihfMHg1NWNlYTQsXzB4MjlmODA4KXt2YXIgXzB4YmNmY2UwPV8weDRhYmQ4ZDtpZihfMHg5NzA0MDYoXzB4NTVjZWE0LFVpbnQ4QXJyYXkpJiYoXzB4NTVjZWE0PV8weDI1MDQ4YVtfMHhiY2ZjZTAoJzB4MjUyJyldKF8weDU1Y2VhNCxfMHg1NWNlYTRbJ29mZnNldCddLF8weDU1Y2VhNFtfMHhiY2ZjZTAoJzB4MjFiJyldKSksXzB4OTcwNDA2KF8weDI5ZjgwOCxVaW50OEFycmF5KSYmKF8weDI5ZjgwOD1fMHgyNTA0OGFbJ2Zyb20nXShfMHgyOWY4MDgsXzB4MjlmODA4W18weGJjZmNlMCgnMHhhYjMnKV0sXzB4MjlmODA4WydieXRlTGVuZ3RoJ10pKSwhXzB4MjUwNDhhW18weGJjZmNlMCgnMHhiYWMnKV0oXzB4NTVjZWE0KXx8IV8weDI1MDQ4YVtfMHhiY2ZjZTAoJzB4YmFjJyldKF8weDI5ZjgwOCkpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlXHgyMFx4MjJidWYxXHgyMixceDIwXHgyMmJ1ZjJceDIyXHgyMGFyZ3VtZW50c1x4MjBtdXN0XHgyMGJlXHgyMG9uZVx4MjBvZlx4MjB0eXBlXHgyMEJ1ZmZlclx4MjBvclx4MjBVaW50OEFycmF5Jyk7aWYoXzB4NTVjZWE0PT09XzB4MjlmODA4KXJldHVybiAweDA7bGV0IF8weDRhNWQzNz1fMHg1NWNlYTRbXzB4YmNmY2UwKCcweDUyMCcpXSxfMHgyODUyZGI9XzB4MjlmODA4W18weGJjZmNlMCgnMHg1MjAnKV07Zm9yKGxldCBfMHg1OTJkMzk9MHgwLF8weDNlZGY2Mj1NYXRoW18weGJjZmNlMCgnMHhiODAnKV0oXzB4NGE1ZDM3LF8weDI4NTJkYik7XzB4NTkyZDM5PF8weDNlZGY2MjsrK18weDU5MmQzOSlpZihfMHg1NWNlYTRbXzB4NTkyZDM5XSE9PV8weDI5ZjgwOFtfMHg1OTJkMzldKXtfMHg0YTVkMzc9XzB4NTVjZWE0W18weDU5MmQzOV0sXzB4Mjg1MmRiPV8weDI5ZjgwOFtfMHg1OTJkMzldO2JyZWFrO31yZXR1cm4gXzB4NGE1ZDM3PF8weDI4NTJkYj8tMHgxOl8weDI4NTJkYjxfMHg0YTVkMzc/MHgxOjB4MDt9LF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NWU5JyldPWZ1bmN0aW9uKF8weDk0NWI2NSl7dmFyIF8weDE1ZjI1Yz1fMHg0YWJkOGQ7c3dpdGNoKFN0cmluZyhfMHg5NDViNjUpWyd0b0xvd2VyQ2FzZSddKCkpe2Nhc2UnaGV4JzpjYXNlIF8weDE1ZjI1YygnMHg4NTcnKTpjYXNlIF8weDE1ZjI1YygnMHg5M2EnKTpjYXNlJ2FzY2lpJzpjYXNlIF8weDE1ZjI1YygnMHhhNTYnKTpjYXNlIF8weDE1ZjI1YygnMHg4N2YnKTpjYXNlJ2Jhc2U2NCc6Y2FzZSd1Y3MyJzpjYXNlIF8weDE1ZjI1YygnMHhhZWInKTpjYXNlIF8weDE1ZjI1YygnMHg5ZTMnKTpjYXNlJ3V0Zi0xNmxlJzpyZXR1cm4hMHgwO2RlZmF1bHQ6cmV0dXJuITB4MTt9fSxfMHgyNTA0OGFbXzB4NGFiZDhkKCcweDUzMCcpXT1mdW5jdGlvbihfMHgzNjU0YmMsXzB4NTUxNGNkKXt2YXIgXzB4NDM3ZTQzPV8weDRhYmQ4ZDtpZighQXJyYXlbXzB4NDM3ZTQzKCcweDhmMScpXShfMHgzNjU0YmMpKXRocm93IG5ldyBUeXBlRXJyb3IoXzB4NDM3ZTQzKCcweDVkOScpKTtpZigweDA9PT1fMHgzNjU0YmNbXzB4NDM3ZTQzKCcweDUyMCcpXSlyZXR1cm4gXzB4MjUwNDhhWydhbGxvYyddKDB4MCk7bGV0IF8weDU4OWEyODtpZih2b2lkIDB4MD09PV8weDU1MTRjZCl7Zm9yKF8weDU1MTRjZD0weDAsXzB4NTg5YTI4PTB4MDtfMHg1ODlhMjg8XzB4MzY1NGJjW18weDQzN2U0MygnMHg1MjAnKV07KytfMHg1ODlhMjgpXzB4NTUxNGNkKz1fMHgzNjU0YmNbXzB4NTg5YTI4XVtfMHg0MzdlNDMoJzB4NTIwJyldO31jb25zdCBfMHgyNmFlZjU9XzB4MjUwNDhhW18weDQzN2U0MygnMHg0ZDYnKV0oXzB4NTUxNGNkKTtsZXQgXzB4NTk5ZTI5PTB4MDtmb3IoXzB4NTg5YTI4PTB4MDtfMHg1ODlhMjg8XzB4MzY1NGJjWydsZW5ndGgnXTsrK18weDU4OWEyOCl7bGV0IF8weDVjZTBkYz1fMHgzNjU0YmNbXzB4NTg5YTI4XTtpZihfMHg5NzA0MDYoXzB4NWNlMGRjLFVpbnQ4QXJyYXkpKV8weDU5OWUyOStfMHg1Y2UwZGNbJ2xlbmd0aCddPl8weDI2YWVmNVsnbGVuZ3RoJ10/KF8weDI1MDQ4YVsnaXNCdWZmZXInXShfMHg1Y2UwZGMpfHwoXzB4NWNlMGRjPV8weDI1MDQ4YVtfMHg0MzdlNDMoJzB4MjUyJyldKF8weDVjZTBkYykpLF8weDVjZTBkY1snY29weSddKF8weDI2YWVmNSxfMHg1OTllMjkpKTpVaW50OEFycmF5W18weDQzN2U0MygnMHg3NTYnKV1bXzB4NDM3ZTQzKCcweGNhYycpXVtfMHg0MzdlNDMoJzB4NWZkJyldKF8weDI2YWVmNSxfMHg1Y2UwZGMsXzB4NTk5ZTI5KTtlbHNle2lmKCFfMHgyNTA0OGFbJ2lzQnVmZmVyJ10oXzB4NWNlMGRjKSl0aHJvdyBuZXcgVHlwZUVycm9yKF8weDQzN2U0MygnMHg1ZDknKSk7XzB4NWNlMGRjW18weDQzN2U0MygnMHhhZTknKV0oXzB4MjZhZWY1LF8weDU5OWUyOSk7fV8weDU5OWUyOSs9XzB4NWNlMGRjW18weDQzN2U0MygnMHg1MjAnKV07fXJldHVybiBfMHgyNmFlZjU7fSxfMHgyNTA0OGFbJ2J5dGVMZW5ndGgnXT1fMHg0NmM2ODYsXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDQ3NCcpXT0hMHgwLF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldW18weDRhYmQ4ZCgnMHhhMWMnKV09ZnVuY3Rpb24oKXt2YXIgXzB4MzJmOTI1PV8weDRhYmQ4ZDtjb25zdCBfMHgxZmQ2ZDc9dGhpc1tfMHgzMmY5MjUoJzB4NTIwJyldO2lmKF8weDFmZDZkNyUweDIhPTB4MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihfMHgzMmY5MjUoJzB4MmFmJykpO2ZvcihsZXQgXzB4NDU5YjJkPTB4MDtfMHg0NTliMmQ8XzB4MWZkNmQ3O18weDQ1OWIyZCs9MHgyKV8weDUwYWU1Nih0aGlzLF8weDQ1OWIyZCxfMHg0NTliMmQrMHgxKTtyZXR1cm4gdGhpczt9LF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldWydzd2FwMzInXT1mdW5jdGlvbigpe3ZhciBfMHg1MzRhMDU9XzB4NGFiZDhkO2NvbnN0IF8weDRjOWQ2Zj10aGlzW18weDUzNGEwNSgnMHg1MjAnKV07aWYoXzB4NGM5ZDZmJTB4NCE9MHgwKXRocm93IG5ldyBSYW5nZUVycm9yKF8weDUzNGEwNSgnMHg0YzInKSk7Zm9yKGxldCBfMHgzZjEyODY9MHgwO18weDNmMTI4NjxfMHg0YzlkNmY7XzB4M2YxMjg2Kz0weDQpXzB4NTBhZTU2KHRoaXMsXzB4M2YxMjg2LF8weDNmMTI4NisweDMpLF8weDUwYWU1Nih0aGlzLF8weDNmMTI4NisweDEsXzB4M2YxMjg2KzB4Mik7cmV0dXJuIHRoaXM7fSxfMHgyNTA0OGFbJ3Byb3RvdHlwZSddW18weDRhYmQ4ZCgnMHg0M2QnKV09ZnVuY3Rpb24oKXt2YXIgXzB4NDlhMTk1PV8weDRhYmQ4ZDtjb25zdCBfMHgyMmI4NzQ9dGhpc1snbGVuZ3RoJ107aWYoXzB4MjJiODc0JTB4OCE9MHgwKXRocm93IG5ldyBSYW5nZUVycm9yKF8weDQ5YTE5NSgnMHgzNDknKSk7Zm9yKGxldCBfMHg0MGMyNTc9MHgwO18weDQwYzI1NzxfMHgyMmI4NzQ7XzB4NDBjMjU3Kz0weDgpXzB4NTBhZTU2KHRoaXMsXzB4NDBjMjU3LF8weDQwYzI1NysweDcpLF8weDUwYWU1Nih0aGlzLF8weDQwYzI1NysweDEsXzB4NDBjMjU3KzB4NiksXzB4NTBhZTU2KHRoaXMsXzB4NDBjMjU3KzB4MixfMHg0MGMyNTcrMHg1KSxfMHg1MGFlNTYodGhpcyxfMHg0MGMyNTcrMHgzLF8weDQwYzI1NysweDQpO3JldHVybiB0aGlzO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDU0NycpXT1mdW5jdGlvbigpe3ZhciBfMHg1NDEyYTA9XzB4NGFiZDhkO2NvbnN0IF8weDE1OTliMz10aGlzWydsZW5ndGgnXTtyZXR1cm4gMHgwPT09XzB4MTU5OWIzPycnOjB4MD09PWFyZ3VtZW50c1tfMHg1NDEyYTAoJzB4NTIwJyldP18weDQwZmIyNyh0aGlzLDB4MCxfMHgxNTk5YjMpOl8weGVjMDY0MFtfMHg1NDEyYTAoJzB4NDQyJyldKHRoaXMsYXJndW1lbnRzKTt9LF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldW18weDRhYmQ4ZCgnMHg2NjMnKV09XzB4MjUwNDhhWydwcm90b3R5cGUnXVtfMHg0YWJkOGQoJzB4NTQ3JyldLF8weDI1MDQ4YVsncHJvdG90eXBlJ11bXzB4NGFiZDhkKCcweDcwNicpXT1mdW5jdGlvbihfMHgyMjM0OTkpe3ZhciBfMHgzOWY1NGU9XzB4NGFiZDhkO2lmKCFfMHgyNTA0OGFbXzB4MzlmNTRlKCcweGJhYycpXShfMHgyMjM0OTkpKXRocm93IG5ldyBUeXBlRXJyb3IoXzB4MzlmNTRlKCcweDU3MCcpKTtyZXR1cm4gdGhpcz09PV8weDIyMzQ5OXx8MHgwPT09XzB4MjUwNDhhW18weDM5ZjU0ZSgnMHg1MjMnKV0odGhpcyxfMHgyMjM0OTkpO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweGQyMycpXT1mdW5jdGlvbigpe3ZhciBfMHhjNWE5NzY9XzB4NGFiZDhkO2xldCBfMHgyNGJlYTM9Jyc7Y29uc3QgXzB4NWE1ZTUxPV8weDI1NzRkMFsnSU5TUEVDVF9NQVhfQllURVMnXTtyZXR1cm4gXzB4MjRiZWEzPXRoaXNbXzB4YzVhOTc2KCcweDU0NycpXShfMHhjNWE5NzYoJzB4YzRkJyksMHgwLF8weDVhNWU1MSlbJ3JlcGxhY2UnXSgvKC57Mn0pL2csXzB4YzVhOTc2KCcweDc3MicpKVtfMHhjNWE5NzYoJzB4OGQ4JyldKCksdGhpc1tfMHhjNWE5NzYoJzB4NTIwJyldPl8weDVhNWU1MSYmKF8weDI0YmVhMys9XzB4YzVhOTc2KCcweDQxZCcpKSwnPEJ1ZmZlclx4MjAnK18weDI0YmVhMysnPic7fSxfMHgxOThkYWEmJihfMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVtfMHgxOThkYWFdPV8weDI1MDQ4YVsncHJvdG90eXBlJ11bXzB4NGFiZDhkKCcweGQyMycpXSksXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDUyMycpXT1mdW5jdGlvbihfMHg0Nzc0MDcsXzB4MWU4Zjk5LF8weDE1ODA5ZSxfMHg0YjI0YTYsXzB4MWVjNDg2KXt2YXIgXzB4MTlhNjkwPV8weDRhYmQ4ZDtpZihfMHg5NzA0MDYoXzB4NDc3NDA3LFVpbnQ4QXJyYXkpJiYoXzB4NDc3NDA3PV8weDI1MDQ4YVsnZnJvbSddKF8weDQ3NzQwNyxfMHg0Nzc0MDdbXzB4MTlhNjkwKCcweGFiMycpXSxfMHg0Nzc0MDdbXzB4MTlhNjkwKCcweDIxYicpXSkpLCFfMHgyNTA0OGFbXzB4MTlhNjkwKCcweGJhYycpXShfMHg0Nzc0MDcpKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZVx4MjBceDIydGFyZ2V0XHgyMlx4MjBhcmd1bWVudFx4MjBtdXN0XHgyMGJlXHgyMG9uZVx4MjBvZlx4MjB0eXBlXHgyMEJ1ZmZlclx4MjBvclx4MjBVaW50OEFycmF5Llx4MjBSZWNlaXZlZFx4MjB0eXBlXHgyMCcrdHlwZW9mIF8weDQ3NzQwNyk7aWYodm9pZCAweDA9PT1fMHgxZThmOTkmJihfMHgxZThmOTk9MHgwKSx2b2lkIDB4MD09PV8weDE1ODA5ZSYmKF8weDE1ODA5ZT1fMHg0Nzc0MDc/XzB4NDc3NDA3WydsZW5ndGgnXToweDApLHZvaWQgMHgwPT09XzB4NGIyNGE2JiYoXzB4NGIyNGE2PTB4MCksdm9pZCAweDA9PT1fMHgxZWM0ODYmJihfMHgxZWM0ODY9dGhpc1tfMHgxOWE2OTAoJzB4NTIwJyldKSxfMHgxZThmOTk8MHgwfHxfMHgxNTgwOWU+XzB4NDc3NDA3WydsZW5ndGgnXXx8XzB4NGIyNGE2PDB4MHx8XzB4MWVjNDg2PnRoaXNbJ2xlbmd0aCddKXRocm93IG5ldyBSYW5nZUVycm9yKF8weDE5YTY5MCgnMHgxYWInKSk7aWYoXzB4NGIyNGE2Pj1fMHgxZWM0ODYmJl8weDFlOGY5OT49XzB4MTU4MDllKXJldHVybiAweDA7aWYoXzB4NGIyNGE2Pj1fMHgxZWM0ODYpcmV0dXJuLTB4MTtpZihfMHgxZThmOTk+PV8weDE1ODA5ZSlyZXR1cm4gMHgxO2lmKHRoaXM9PT1fMHg0Nzc0MDcpcmV0dXJuIDB4MDtsZXQgXzB4NTFmZTUyPShfMHgxZWM0ODY+Pj49MHgwKS0oXzB4NGIyNGE2Pj4+PTB4MCksXzB4MzQ5ZTdmPShfMHgxNTgwOWU+Pj49MHgwKS0oXzB4MWU4Zjk5Pj4+PTB4MCk7Y29uc3QgXzB4M2MyOTJjPU1hdGhbXzB4MTlhNjkwKCcweGI4MCcpXShfMHg1MWZlNTIsXzB4MzQ5ZTdmKSxfMHgyNTRlNzY9dGhpc1snc2xpY2UnXShfMHg0YjI0YTYsXzB4MWVjNDg2KSxfMHgzYzBhMDc9XzB4NDc3NDA3W18weDE5YTY5MCgnMHhhZGEnKV0oXzB4MWU4Zjk5LF8weDE1ODA5ZSk7Zm9yKGxldCBfMHgxODdmMWM9MHgwO18weDE4N2YxYzxfMHgzYzI5MmM7KytfMHgxODdmMWMpaWYoXzB4MjU0ZTc2W18weDE4N2YxY10hPT1fMHgzYzBhMDdbXzB4MTg3ZjFjXSl7XzB4NTFmZTUyPV8weDI1NGU3NltfMHgxODdmMWNdLF8weDM0OWU3Zj1fMHgzYzBhMDdbXzB4MTg3ZjFjXTticmVhazt9cmV0dXJuIF8weDUxZmU1MjxfMHgzNDllN2Y/LTB4MTpfMHgzNDllN2Y8XzB4NTFmZTUyPzB4MToweDA7fSxfMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVtfMHg0YWJkOGQoJzB4MWZmJyldPWZ1bmN0aW9uKF8weDFlMjU3MSxfMHg1MzMwODUsXzB4MjdhMGViKXtyZXR1cm4tMHgxIT09dGhpc1snaW5kZXhPZiddKF8weDFlMjU3MSxfMHg1MzMwODUsXzB4MjdhMGViKTt9LF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldW18weDRhYmQ4ZCgnMHhhYzAnKV09ZnVuY3Rpb24oXzB4NTk4ZWY4LF8weDQ5MzliNyxfMHg0OWQ5ZmMpe3JldHVybiBfMHg1YjU2MGUodGhpcyxfMHg1OThlZjgsXzB4NDkzOWI3LF8weDQ5ZDlmYywhMHgwKTt9LF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldW18weDRhYmQ4ZCgnMHg1OWMnKV09ZnVuY3Rpb24oXzB4NTcyMDIzLF8weDMyY2JiMyxfMHgzYjc5ODIpe3JldHVybiBfMHg1YjU2MGUodGhpcyxfMHg1NzIwMjMsXzB4MzJjYmIzLF8weDNiNzk4MiwhMHgxKTt9LF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldW18weDRhYmQ4ZCgnMHg2N2QnKV09ZnVuY3Rpb24oXzB4MjY4YjBkLF8weDNiODNkYyxfMHgxNjI5ZWQsXzB4NWFkZGYzKXt2YXIgXzB4NmZkMDUxPV8weDRhYmQ4ZDtpZih2b2lkIDB4MD09PV8weDNiODNkYylfMHg1YWRkZjM9XzB4NmZkMDUxKCcweDg1NycpLF8weDE2MjllZD10aGlzW18weDZmZDA1MSgnMHg1MjAnKV0sXzB4M2I4M2RjPTB4MDtlbHNle2lmKHZvaWQgMHgwPT09XzB4MTYyOWVkJiZfMHg2ZmQwNTEoJzB4NjVmJyk9PXR5cGVvZiBfMHgzYjgzZGMpXzB4NWFkZGYzPV8weDNiODNkYyxfMHgxNjI5ZWQ9dGhpc1tfMHg2ZmQwNTEoJzB4NTIwJyldLF8weDNiODNkYz0weDA7ZWxzZXtpZighaXNGaW5pdGUoXzB4M2I4M2RjKSl0aHJvdyBuZXcgRXJyb3IoXzB4NmZkMDUxKCcweDU5NScpKTtfMHgzYjgzZGM+Pj49MHgwLGlzRmluaXRlKF8weDE2MjllZCk/KF8weDE2MjllZD4+Pj0weDAsdm9pZCAweDA9PT1fMHg1YWRkZjMmJihfMHg1YWRkZjM9J3V0ZjgnKSk6KF8weDVhZGRmMz1fMHgxNjI5ZWQsXzB4MTYyOWVkPXZvaWQgMHgwKTt9fWNvbnN0IF8weGJiZjZlND10aGlzW18weDZmZDA1MSgnMHg1MjAnKV0tXzB4M2I4M2RjO2lmKCh2b2lkIDB4MD09PV8weDE2MjllZHx8XzB4MTYyOWVkPl8weGJiZjZlNCkmJihfMHgxNjI5ZWQ9XzB4YmJmNmU0KSxfMHgyNjhiMGRbJ2xlbmd0aCddPjB4MCYmKF8weDE2MjllZDwweDB8fF8weDNiODNkYzwweDApfHxfMHgzYjgzZGM+dGhpc1tfMHg2ZmQwNTEoJzB4NTIwJyldKXRocm93IG5ldyBSYW5nZUVycm9yKF8weDZmZDA1MSgnMHhiMmUnKSk7XzB4NWFkZGYzfHwoXzB4NWFkZGYzPSd1dGY4Jyk7bGV0IF8weDQ0OTE1Mz0hMHgxO2Zvcig7Oylzd2l0Y2goXzB4NWFkZGYzKXtjYXNlIF8weDZmZDA1MSgnMHhjNGQnKTpyZXR1cm4gXzB4MjY2MjZlKHRoaXMsXzB4MjY4YjBkLF8weDNiODNkYyxfMHgxNjI5ZWQpO2Nhc2UgXzB4NmZkMDUxKCcweDg1NycpOmNhc2UgXzB4NmZkMDUxKCcweDkzYScpOnJldHVybiBfMHgyYjc5YjAodGhpcyxfMHgyNjhiMGQsXzB4M2I4M2RjLF8weDE2MjllZCk7Y2FzZSBfMHg2ZmQwNTEoJzB4YzIyJyk6Y2FzZSBfMHg2ZmQwNTEoJzB4YTU2Jyk6Y2FzZSBfMHg2ZmQwNTEoJzB4ODdmJyk6cmV0dXJuIF8weDI0NGVmMih0aGlzLF8weDI2OGIwZCxfMHgzYjgzZGMsXzB4MTYyOWVkKTtjYXNlJ2Jhc2U2NCc6cmV0dXJuIF8weDVlYzc0NCh0aGlzLF8weDI2OGIwZCxfMHgzYjgzZGMsXzB4MTYyOWVkKTtjYXNlIF8weDZmZDA1MSgnMHhkMjknKTpjYXNlIF8weDZmZDA1MSgnMHhhZWInKTpjYXNlIF8weDZmZDA1MSgnMHg5ZTMnKTpjYXNlIF8weDZmZDA1MSgnMHg5MzAnKTpyZXR1cm4gXzB4Mjg2ZmJhKHRoaXMsXzB4MjY4YjBkLF8weDNiODNkYyxfMHgxNjI5ZWQpO2RlZmF1bHQ6aWYoXzB4NDQ5MTUzKXRocm93IG5ldyBUeXBlRXJyb3IoXzB4NmZkMDUxKCcweGMxZicpK18weDVhZGRmMyk7XzB4NWFkZGYzPSgnJytfMHg1YWRkZjMpW18weDZmZDA1MSgnMHg4NzAnKV0oKSxfMHg0NDkxNTM9ITB4MDt9fSxfMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVtfMHg0YWJkOGQoJzB4YTQ5JyldPWZ1bmN0aW9uKCl7dmFyIF8weDE2OTRmZD1fMHg0YWJkOGQ7cmV0dXJueyd0eXBlJzpfMHgxNjk0ZmQoJzB4NjFhJyksJ2RhdGEnOkFycmF5W18weDE2OTRmZCgnMHg3NTYnKV1bXzB4MTY5NGZkKCcweGFkYScpXVtfMHgxNjk0ZmQoJzB4NWZkJyldKHRoaXNbJ19hcnInXXx8dGhpcywweDApfTt9O2NvbnN0IF8weDQ2ZDE2MT0weDEwMDA7ZnVuY3Rpb24gXzB4NTg1YjY5KF8weDI2ZjllMyxfMHgzZmY2MWMsXzB4Mjc5MjE3KXt2YXIgXzB4MTBmNzc3PV8weDRhYmQ4ZDtsZXQgXzB4NGZkM2ZkPScnO18weDI3OTIxNz1NYXRoW18weDEwZjc3NygnMHhiODAnKV0oXzB4MjZmOWUzW18weDEwZjc3NygnMHg1MjAnKV0sXzB4Mjc5MjE3KTtmb3IobGV0IF8weDExMGRlZD1fMHgzZmY2MWM7XzB4MTEwZGVkPF8weDI3OTIxNzsrK18weDExMGRlZClfMHg0ZmQzZmQrPVN0cmluZ1tfMHgxMGY3NzcoJzB4YTgxJyldKDB4N2YmXzB4MjZmOWUzW18weDExMGRlZF0pO3JldHVybiBfMHg0ZmQzZmQ7fWZ1bmN0aW9uIF8weDczODBmYShfMHgxYWQ5OWYsXzB4MmY5YzhiLF8weGFkZjhjZSl7dmFyIF8weDUxNWFjYz1fMHg0YWJkOGQ7bGV0IF8weDFmOTE5Mz0nJztfMHhhZGY4Y2U9TWF0aFtfMHg1MTVhY2MoJzB4YjgwJyldKF8weDFhZDk5ZltfMHg1MTVhY2MoJzB4NTIwJyldLF8weGFkZjhjZSk7Zm9yKGxldCBfMHg1N2E2NGI9XzB4MmY5YzhiO18weDU3YTY0YjxfMHhhZGY4Y2U7KytfMHg1N2E2NGIpXzB4MWY5MTkzKz1TdHJpbmdbXzB4NTE1YWNjKCcweGE4MScpXShfMHgxYWQ5OWZbXzB4NTdhNjRiXSk7cmV0dXJuIF8weDFmOTE5Mzt9ZnVuY3Rpb24gXzB4MWI5ZTQ0KF8weDI3MDg2YixfMHg0MTQwOGQsXzB4MTZiZDBjKXt2YXIgXzB4NGI3NDAyPV8weDRhYmQ4ZDtjb25zdCBfMHg1YTZiN2I9XzB4MjcwODZiW18weDRiNzQwMignMHg1MjAnKV07KCFfMHg0MTQwOGR8fF8weDQxNDA4ZDwweDApJiYoXzB4NDE0MDhkPTB4MCksKCFfMHgxNmJkMGN8fF8weDE2YmQwYzwweDB8fF8weDE2YmQwYz5fMHg1YTZiN2IpJiYoXzB4MTZiZDBjPV8weDVhNmI3Yik7bGV0IF8weDE2MWNiYT0nJztmb3IobGV0IF8weDExYmYyOD1fMHg0MTQwOGQ7XzB4MTFiZjI4PF8weDE2YmQwYzsrK18weDExYmYyOClfMHgxNjFjYmErPV8weDI4ZTUwOVtfMHgyNzA4NmJbXzB4MTFiZjI4XV07cmV0dXJuIF8weDE2MWNiYTt9ZnVuY3Rpb24gXzB4MTc0MzdkKF8weDUwMGVmMSxfMHhlYTg5ZWUsXzB4MWI2NTMzKXtjb25zdCBfMHg0OTUzOTY9XzB4NTAwZWYxWydzbGljZSddKF8weGVhODllZSxfMHgxYjY1MzMpO2xldCBfMHgyZWZjYWQ9Jyc7Zm9yKGxldCBfMHgyNzUzY2I9MHgwO18weDI3NTNjYjxfMHg0OTUzOTZbJ2xlbmd0aCddLTB4MTtfMHgyNzUzY2IrPTB4MilfMHgyZWZjYWQrPVN0cmluZ1snZnJvbUNoYXJDb2RlJ10oXzB4NDk1Mzk2W18weDI3NTNjYl0rMHgxMDAqXzB4NDk1Mzk2W18weDI3NTNjYisweDFdKTtyZXR1cm4gXzB4MmVmY2FkO31mdW5jdGlvbiBfMHgzMGFhYmMoXzB4NTA1YzhhLF8weDNjZDNmZCxfMHgyMDRmZDMpe3ZhciBfMHgyZGRmM2M9XzB4NGFiZDhkO2lmKF8weDUwNWM4YSUweDEhPTB4MHx8XzB4NTA1YzhhPDB4MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihfMHgyZGRmM2MoJzB4NWIwJykpO2lmKF8weDUwNWM4YStfMHgzY2QzZmQ+XzB4MjA0ZmQzKXRocm93IG5ldyBSYW5nZUVycm9yKF8weDJkZGYzYygnMHhiMGMnKSk7fWZ1bmN0aW9uIF8weDU1ZDdlMihfMHgxNzQ2MjMsXzB4MWNkODkxLF8weDQzOWNmMixfMHg0MDY0MmIsXzB4NDI3Y2UzLF8weDQwZWI2Nyl7dmFyIF8weDQwNDhhOD1fMHg0YWJkOGQ7aWYoIV8weDI1MDQ4YVtfMHg0MDQ4YTgoJzB4YmFjJyldKF8weDE3NDYyMykpdGhyb3cgbmV3IFR5cGVFcnJvcihfMHg0MDQ4YTgoJzB4YTA2JykpO2lmKF8weDFjZDg5MT5fMHg0MjdjZTN8fF8weDFjZDg5MTxfMHg0MGViNjcpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXzB4NDA0OGE4KCcweDhiOCcpKTtpZihfMHg0MzljZjIrXzB4NDA2NDJiPl8weDE3NDYyM1snbGVuZ3RoJ10pdGhyb3cgbmV3IFJhbmdlRXJyb3IoXzB4NDA0OGE4KCcweDQyZCcpKTt9ZnVuY3Rpb24gXzB4NDU3YWZmKF8weDc1YjU5NSxfMHgyODc0YzUsXzB4Mjk4Y2U3LF8weDJmYjdiYyxfMHgxZWEzZDcpe18weDEwYWFmMShfMHgyODc0YzUsXzB4MmZiN2JjLF8weDFlYTNkNyxfMHg3NWI1OTUsXzB4Mjk4Y2U3LDB4Nyk7bGV0IF8weDUyOWJhZT1OdW1iZXIoXzB4Mjg3NGM1JkJpZ0ludCgweGZmZmZmZmZmKSk7XzB4NzViNTk1W18weDI5OGNlNysrXT1fMHg1MjliYWUsXzB4NTI5YmFlPj49MHg4LF8weDc1YjU5NVtfMHgyOThjZTcrK109XzB4NTI5YmFlLF8weDUyOWJhZT4+PTB4OCxfMHg3NWI1OTVbXzB4Mjk4Y2U3KytdPV8weDUyOWJhZSxfMHg1MjliYWU+Pj0weDgsXzB4NzViNTk1W18weDI5OGNlNysrXT1fMHg1MjliYWU7bGV0IF8weDE5NWViZT1OdW1iZXIoXzB4Mjg3NGM1Pj5CaWdJbnQoMHgyMCkmQmlnSW50KDB4ZmZmZmZmZmYpKTtyZXR1cm4gXzB4NzViNTk1W18weDI5OGNlNysrXT1fMHgxOTVlYmUsXzB4MTk1ZWJlPj49MHg4LF8weDc1YjU5NVtfMHgyOThjZTcrK109XzB4MTk1ZWJlLF8weDE5NWViZT4+PTB4OCxfMHg3NWI1OTVbXzB4Mjk4Y2U3KytdPV8weDE5NWViZSxfMHgxOTVlYmU+Pj0weDgsXzB4NzViNTk1W18weDI5OGNlNysrXT1fMHgxOTVlYmUsXzB4Mjk4Y2U3O31mdW5jdGlvbiBfMHhmMDkyM2YoXzB4MzdkOGY5LF8weDFkOGY3OSxfMHgyNWRkZjIsXzB4M2U5NDRkLF8weDM4NWVkNSl7XzB4MTBhYWYxKF8weDFkOGY3OSxfMHgzZTk0NGQsXzB4Mzg1ZWQ1LF8weDM3ZDhmOSxfMHgyNWRkZjIsMHg3KTtsZXQgXzB4NTU0YzAwPU51bWJlcihfMHgxZDhmNzkmQmlnSW50KDB4ZmZmZmZmZmYpKTtfMHgzN2Q4ZjlbXzB4MjVkZGYyKzB4N109XzB4NTU0YzAwLF8weDU1NGMwMD4+PTB4OCxfMHgzN2Q4ZjlbXzB4MjVkZGYyKzB4Nl09XzB4NTU0YzAwLF8weDU1NGMwMD4+PTB4OCxfMHgzN2Q4ZjlbXzB4MjVkZGYyKzB4NV09XzB4NTU0YzAwLF8weDU1NGMwMD4+PTB4OCxfMHgzN2Q4ZjlbXzB4MjVkZGYyKzB4NF09XzB4NTU0YzAwO2xldCBfMHg4MGM2ZDI9TnVtYmVyKF8weDFkOGY3OT4+QmlnSW50KDB4MjApJkJpZ0ludCgweGZmZmZmZmZmKSk7cmV0dXJuIF8weDM3ZDhmOVtfMHgyNWRkZjIrMHgzXT1fMHg4MGM2ZDIsXzB4ODBjNmQyPj49MHg4LF8weDM3ZDhmOVtfMHgyNWRkZjIrMHgyXT1fMHg4MGM2ZDIsXzB4ODBjNmQyPj49MHg4LF8weDM3ZDhmOVtfMHgyNWRkZjIrMHgxXT1fMHg4MGM2ZDIsXzB4ODBjNmQyPj49MHg4LF8weDM3ZDhmOVtfMHgyNWRkZjJdPV8weDgwYzZkMixfMHgyNWRkZjIrMHg4O31mdW5jdGlvbiBfMHgzZGMyNmMoXzB4M2YzOTc2LF8weDM0NzRlMSxfMHhhMjE0ZmYsXzB4MWZlOTE5LF8weGY5N2E0NixfMHhiYzljMmEpe3ZhciBfMHg1M2E0NTg9XzB4NGFiZDhkO2lmKF8weGEyMTRmZitfMHgxZmU5MTk+XzB4M2YzOTc2W18weDUzYTQ1OCgnMHg1MjAnKV0pdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0luZGV4XHgyMG91dFx4MjBvZlx4MjByYW5nZScpO2lmKF8weGEyMTRmZjwweDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXzB4NTNhNDU4KCcweDQyZCcpKTt9ZnVuY3Rpb24gXzB4MWNlY2ZlKF8weDJhYjg0OSxfMHgyODNjZTEsXzB4NDFkMzViLF8weGVkNWY3YixfMHhjNGIyYWUpe3JldHVybiBfMHgyODNjZTE9K18weDI4M2NlMSxfMHg0MWQzNWI+Pj49MHgwLF8weGM0YjJhZXx8XzB4M2RjMjZjKF8weDJhYjg0OSwweDAsXzB4NDFkMzViLDB4NCksXzB4MWM2ODNiWyd3cml0ZSddKF8weDJhYjg0OSxfMHgyODNjZTEsXzB4NDFkMzViLF8weGVkNWY3YiwweDE3LDB4NCksXzB4NDFkMzViKzB4NDt9ZnVuY3Rpb24gXzB4MzdmNDBmKF8weDVlOTJjOCxfMHgxYmYxNixfMHg0YTNhOTcsXzB4NDA3NjhlLF8weDY1NDEyMyl7dmFyIF8weDQwZjc0Yj1fMHg0YWJkOGQ7cmV0dXJuIF8weDFiZjE2PStfMHgxYmYxNixfMHg0YTNhOTc+Pj49MHgwLF8weDY1NDEyM3x8XzB4M2RjMjZjKF8weDVlOTJjOCwweDAsXzB4NGEzYTk3LDB4OCksXzB4MWM2ODNiW18weDQwZjc0YignMHg2N2QnKV0oXzB4NWU5MmM4LF8weDFiZjE2LF8weDRhM2E5NyxfMHg0MDc2OGUsMHgzNCwweDgpLF8weDRhM2E5NysweDg7fV8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldW18weDRhYmQ4ZCgnMHhhZGEnKV09ZnVuY3Rpb24oXzB4MWIyN2VjLF8weDQxMGI0OSl7dmFyIF8weDNlMWM2ZD1fMHg0YWJkOGQ7Y29uc3QgXzB4ZTE3NDM9dGhpc1tfMHgzZTFjNmQoJzB4NTIwJyldOyhfMHgxYjI3ZWM9fn5fMHgxYjI3ZWMpPDB4MD8oXzB4MWIyN2VjKz1fMHhlMTc0Myk8MHgwJiYoXzB4MWIyN2VjPTB4MCk6XzB4MWIyN2VjPl8weGUxNzQzJiYoXzB4MWIyN2VjPV8weGUxNzQzKSwoXzB4NDEwYjQ5PXZvaWQgMHgwPT09XzB4NDEwYjQ5P18weGUxNzQzOn5+XzB4NDEwYjQ5KTwweDA/KF8weDQxMGI0OSs9XzB4ZTE3NDMpPDB4MCYmKF8weDQxMGI0OT0weDApOl8weDQxMGI0OT5fMHhlMTc0MyYmKF8weDQxMGI0OT1fMHhlMTc0MyksXzB4NDEwYjQ5PF8weDFiMjdlYyYmKF8weDQxMGI0OT1fMHgxYjI3ZWMpO2NvbnN0IF8weGE5NDQyYz10aGlzW18weDNlMWM2ZCgnMHgxZDknKV0oXzB4MWIyN2VjLF8weDQxMGI0OSk7cmV0dXJuIE9iamVjdFtfMHgzZTFjNmQoJzB4OTgzJyldKF8weGE5NDQyYyxfMHgyNTA0OGFbJ3Byb3RvdHlwZSddKSxfMHhhOTQ0MmM7fSxfMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVtfMHg0YWJkOGQoJzB4YzVkJyldPV8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldW18weDRhYmQ4ZCgnMHg0OTEnKV09ZnVuY3Rpb24oXzB4M2M1NTYyLF8weDVjYzNhZixfMHg0YjFlMTApe3ZhciBfMHg1MTMxYWY9XzB4NGFiZDhkO18weDNjNTU2Mj4+Pj0weDAsXzB4NWNjM2FmPj4+PTB4MCxfMHg0YjFlMTB8fF8weDMwYWFiYyhfMHgzYzU1NjIsXzB4NWNjM2FmLHRoaXNbXzB4NTEzMWFmKCcweDUyMCcpXSk7bGV0IF8weGUxZTBiNz10aGlzW18weDNjNTU2Ml0sXzB4M2YyMmZmPTB4MSxfMHg4ZDNhOTU9MHgwO2Zvcig7KytfMHg4ZDNhOTU8XzB4NWNjM2FmJiYoXzB4M2YyMmZmKj0weDEwMCk7KV8weGUxZTBiNys9dGhpc1tfMHgzYzU1NjIrXzB4OGQzYTk1XSpfMHgzZjIyZmY7cmV0dXJuIF8weGUxZTBiNzt9LF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldW18weDRhYmQ4ZCgnMHg4YWUnKV09XzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDcxNicpXT1mdW5jdGlvbihfMHg1NjdiM2EsXzB4Y2M1MmU1LF8weDEwOTRhOCl7dmFyIF8weDU4NTI2MD1fMHg0YWJkOGQ7XzB4NTY3YjNhPj4+PTB4MCxfMHhjYzUyZTU+Pj49MHgwLF8weDEwOTRhOHx8XzB4MzBhYWJjKF8weDU2N2IzYSxfMHhjYzUyZTUsdGhpc1tfMHg1ODUyNjAoJzB4NTIwJyldKTtsZXQgXzB4MjNhOGU5PXRoaXNbXzB4NTY3YjNhKy0tXzB4Y2M1MmU1XSxfMHgzYmRmMmI9MHgxO2Zvcig7XzB4Y2M1MmU1PjB4MCYmKF8weDNiZGYyYio9MHgxMDApOylfMHgyM2E4ZTkrPXRoaXNbXzB4NTY3YjNhKy0tXzB4Y2M1MmU1XSpfMHgzYmRmMmI7cmV0dXJuIF8weDIzYThlOTt9LF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldW18weDRhYmQ4ZCgnMHgzYmMnKV09XzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweGI5NCcpXT1mdW5jdGlvbihfMHhmNjg1ZWEsXzB4NGRjZmZhKXt2YXIgXzB4MzFjN2I5PV8weDRhYmQ4ZDtyZXR1cm4gXzB4ZjY4NWVhPj4+PTB4MCxfMHg0ZGNmZmF8fF8weDMwYWFiYyhfMHhmNjg1ZWEsMHgxLHRoaXNbXzB4MzFjN2I5KCcweDUyMCcpXSksdGhpc1tfMHhmNjg1ZWFdO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDNiMCcpXT1fMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVtfMHg0YWJkOGQoJzB4MzJmJyldPWZ1bmN0aW9uKF8weDkxYmEyZCxfMHgyNGQyY2Ipe3ZhciBfMHg1NGM5ZDY9XzB4NGFiZDhkO3JldHVybiBfMHg5MWJhMmQ+Pj49MHgwLF8weDI0ZDJjYnx8XzB4MzBhYWJjKF8weDkxYmEyZCwweDIsdGhpc1tfMHg1NGM5ZDYoJzB4NTIwJyldKSx0aGlzW18weDkxYmEyZF18dGhpc1tfMHg5MWJhMmQrMHgxXTw8MHg4O30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDJkZScpXT1fMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVtfMHg0YWJkOGQoJzB4N2YyJyldPWZ1bmN0aW9uKF8weDNmZjZhNyxfMHg3ZTNjYzgpe3ZhciBfMHg0ZjEyMGI9XzB4NGFiZDhkO3JldHVybiBfMHgzZmY2YTc+Pj49MHgwLF8weDdlM2NjOHx8XzB4MzBhYWJjKF8weDNmZjZhNywweDIsdGhpc1tfMHg0ZjEyMGIoJzB4NTIwJyldKSx0aGlzW18weDNmZjZhN108PDB4OHx0aGlzW18weDNmZjZhNysweDFdO30sXzB4MjUwNDhhWydwcm90b3R5cGUnXVtfMHg0YWJkOGQoJzB4ZDAyJyldPV8weDI1MDQ4YVsncHJvdG90eXBlJ11bXzB4NGFiZDhkKCcweDhkZCcpXT1mdW5jdGlvbihfMHgyNGU3YjcsXzB4NzVhZmRiKXtyZXR1cm4gXzB4MjRlN2I3Pj4+PTB4MCxfMHg3NWFmZGJ8fF8weDMwYWFiYyhfMHgyNGU3YjcsMHg0LHRoaXNbJ2xlbmd0aCddKSwodGhpc1tfMHgyNGU3YjddfHRoaXNbXzB4MjRlN2I3KzB4MV08PDB4OHx0aGlzW18weDI0ZTdiNysweDJdPDwweDEwKSsweDEwMDAwMDAqdGhpc1tfMHgyNGU3YjcrMHgzXTt9LF8weDI1MDQ4YVsncHJvdG90eXBlJ11bXzB4NGFiZDhkKCcweDg2NCcpXT1fMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVsncmVhZFVJbnQzMkJFJ109ZnVuY3Rpb24oXzB4OWFhZDE5LF8weDEzMjFhYil7dmFyIF8weDU3ZWQyYj1fMHg0YWJkOGQ7cmV0dXJuIF8weDlhYWQxOT4+Pj0weDAsXzB4MTMyMWFifHxfMHgzMGFhYmMoXzB4OWFhZDE5LDB4NCx0aGlzW18weDU3ZWQyYignMHg1MjAnKV0pLDB4MTAwMDAwMCp0aGlzW18weDlhYWQxOV0rKHRoaXNbXzB4OWFhZDE5KzB4MV08PDB4MTB8dGhpc1tfMHg5YWFkMTkrMHgyXTw8MHg4fHRoaXNbXzB4OWFhZDE5KzB4M10pO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bJ3JlYWRCaWdVSW50NjRMRSddPV8weDJmMmRjOChmdW5jdGlvbihfMHgyZmNmNjUpe3ZhciBfMHg0YmE5NDE9XzB4NGFiZDhkO18weDI3NWQyNShfMHgyZmNmNjU+Pj49MHgwLF8weDRiYTk0MSgnMHhhYjMnKSk7Y29uc3QgXzB4MjMzOWI0PXRoaXNbXzB4MmZjZjY1XSxfMHgyMjY3MDc9dGhpc1tfMHgyZmNmNjUrMHg3XTt2b2lkIDB4MCE9PV8weDIzMzliNCYmdm9pZCAweDAhPT1fMHgyMjY3MDd8fF8weDcwZDI1MShfMHgyZmNmNjUsdGhpc1tfMHg0YmE5NDEoJzB4NTIwJyldLTB4OCk7Y29uc3QgXzB4MjI3Y2NkPV8weDIzMzliNCsweDEwMCp0aGlzWysrXzB4MmZjZjY1XSsweDEwMDAwKnRoaXNbKytfMHgyZmNmNjVdK3RoaXNbKytfMHgyZmNmNjVdKjB4MioqMHgxOCxfMHgzMzYzMjc9dGhpc1srK18weDJmY2Y2NV0rMHgxMDAqdGhpc1srK18weDJmY2Y2NV0rMHgxMDAwMCp0aGlzWysrXzB4MmZjZjY1XStfMHgyMjY3MDcqMHgyKioweDE4O3JldHVybiBCaWdJbnQoXzB4MjI3Y2NkKSsoQmlnSW50KF8weDMzNjMyNyk8PEJpZ0ludCgweDIwKSk7fSksXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bJ3JlYWRCaWdVSW50NjRCRSddPV8weDJmMmRjOChmdW5jdGlvbihfMHg0NDBhYWQpe3ZhciBfMHg0NmZkMzU9XzB4NGFiZDhkO18weDI3NWQyNShfMHg0NDBhYWQ+Pj49MHgwLF8weDQ2ZmQzNSgnMHhhYjMnKSk7Y29uc3QgXzB4YTRiOTU4PXRoaXNbXzB4NDQwYWFkXSxfMHg0MzkwMWU9dGhpc1tfMHg0NDBhYWQrMHg3XTt2b2lkIDB4MCE9PV8weGE0Yjk1OCYmdm9pZCAweDAhPT1fMHg0MzkwMWV8fF8weDcwZDI1MShfMHg0NDBhYWQsdGhpc1snbGVuZ3RoJ10tMHg4KTtjb25zdCBfMHg0M2Y5MDg9XzB4YTRiOTU4KjB4MioqMHgxOCsweDEwMDAwKnRoaXNbKytfMHg0NDBhYWRdKzB4MTAwKnRoaXNbKytfMHg0NDBhYWRdK3RoaXNbKytfMHg0NDBhYWRdLF8weGIyOTliYz10aGlzWysrXzB4NDQwYWFkXSoweDIqKjB4MTgrMHgxMDAwMCp0aGlzWysrXzB4NDQwYWFkXSsweDEwMCp0aGlzWysrXzB4NDQwYWFkXStfMHg0MzkwMWU7cmV0dXJuKEJpZ0ludChfMHg0M2Y5MDgpPDxCaWdJbnQoMHgyMCkpK0JpZ0ludChfMHhiMjk5YmMpO30pLF8weDI1MDQ4YVsncHJvdG90eXBlJ11bXzB4NGFiZDhkKCcweDg0MicpXT1mdW5jdGlvbihfMHgyZjFjZjYsXzB4MjA1MTUzLF8weGZmNDk3Myl7dmFyIF8weDEwMzIxMT1fMHg0YWJkOGQ7XzB4MmYxY2Y2Pj4+PTB4MCxfMHgyMDUxNTM+Pj49MHgwLF8weGZmNDk3M3x8XzB4MzBhYWJjKF8weDJmMWNmNixfMHgyMDUxNTMsdGhpc1tfMHgxMDMyMTEoJzB4NTIwJyldKTtsZXQgXzB4NTg3ZGRlPXRoaXNbXzB4MmYxY2Y2XSxfMHg1MmRiZDc9MHgxLF8weDFmMTQ5Mj0weDA7Zm9yKDsrK18weDFmMTQ5MjxfMHgyMDUxNTMmJihfMHg1MmRiZDcqPTB4MTAwKTspXzB4NTg3ZGRlKz10aGlzW18weDJmMWNmNitfMHgxZjE0OTJdKl8weDUyZGJkNztyZXR1cm4gXzB4NTJkYmQ3Kj0weDgwLF8weDU4N2RkZT49XzB4NTJkYmQ3JiYoXzB4NTg3ZGRlLT1NYXRoW18weDEwMzIxMSgnMHhhMDknKV0oMHgyLDB4OCpfMHgyMDUxNTMpKSxfMHg1ODdkZGU7fSxfMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVsncmVhZEludEJFJ109ZnVuY3Rpb24oXzB4MWRlZTMyLF8weDQzODJjMCxfMHg0OTIxNDMpe3ZhciBfMHg1NDI0ZWM9XzB4NGFiZDhkO18weDFkZWUzMj4+Pj0weDAsXzB4NDM4MmMwPj4+PTB4MCxfMHg0OTIxNDN8fF8weDMwYWFiYyhfMHgxZGVlMzIsXzB4NDM4MmMwLHRoaXNbXzB4NTQyNGVjKCcweDUyMCcpXSk7bGV0IF8weDNlOWE4Mz1fMHg0MzgyYzAsXzB4NDVjODZmPTB4MSxfMHg2MzI2N2E9dGhpc1tfMHgxZGVlMzIrLS1fMHgzZTlhODNdO2Zvcig7XzB4M2U5YTgzPjB4MCYmKF8weDQ1Yzg2Zio9MHgxMDApOylfMHg2MzI2N2ErPXRoaXNbXzB4MWRlZTMyKy0tXzB4M2U5YTgzXSpfMHg0NWM4NmY7cmV0dXJuIF8weDQ1Yzg2Zio9MHg4MCxfMHg2MzI2N2E+PV8weDQ1Yzg2ZiYmKF8weDYzMjY3YS09TWF0aFtfMHg1NDI0ZWMoJzB4YTA5JyldKDB4MiwweDgqXzB4NDM4MmMwKSksXzB4NjMyNjdhO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDUwZicpXT1mdW5jdGlvbihfMHg1YThiMGMsXzB4MzBhY2Y3KXtyZXR1cm4gXzB4NWE4YjBjPj4+PTB4MCxfMHgzMGFjZjd8fF8weDMwYWFiYyhfMHg1YThiMGMsMHgxLHRoaXNbJ2xlbmd0aCddKSwweDgwJnRoaXNbXzB4NWE4YjBjXT8tMHgxKigweGZmLXRoaXNbXzB4NWE4YjBjXSsweDEpOnRoaXNbXzB4NWE4YjBjXTt9LF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldW18weDRhYmQ4ZCgnMHg1OGInKV09ZnVuY3Rpb24oXzB4M2U5OTRjLF8weDMzMTY3ZCl7XzB4M2U5OTRjPj4+PTB4MCxfMHgzMzE2N2R8fF8weDMwYWFiYyhfMHgzZTk5NGMsMHgyLHRoaXNbJ2xlbmd0aCddKTtjb25zdCBfMHgyNmU5NjY9dGhpc1tfMHgzZTk5NGNdfHRoaXNbXzB4M2U5OTRjKzB4MV08PDB4ODtyZXR1cm4gMHg4MDAwJl8weDI2ZTk2Nj8weGZmZmYwMDAwfF8weDI2ZTk2NjpfMHgyNmU5NjY7fSxfMHgyNTA0OGFbJ3Byb3RvdHlwZSddW18weDRhYmQ4ZCgnMHg0NzgnKV09ZnVuY3Rpb24oXzB4M2I3YmY2LF8weDc1OTAyNSl7dmFyIF8weDUzNGQ0Mz1fMHg0YWJkOGQ7XzB4M2I3YmY2Pj4+PTB4MCxfMHg3NTkwMjV8fF8weDMwYWFiYyhfMHgzYjdiZjYsMHgyLHRoaXNbXzB4NTM0ZDQzKCcweDUyMCcpXSk7Y29uc3QgXzB4NDFhNjIzPXRoaXNbXzB4M2I3YmY2KzB4MV18dGhpc1tfMHgzYjdiZjZdPDwweDg7cmV0dXJuIDB4ODAwMCZfMHg0MWE2MjM/MHhmZmZmMDAwMHxfMHg0MWE2MjM6XzB4NDFhNjIzO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDdkZScpXT1mdW5jdGlvbihfMHgxNTczYjEsXzB4Njg2ZGUwKXt2YXIgXzB4NGRhMzJkPV8weDRhYmQ4ZDtyZXR1cm4gXzB4MTU3M2IxPj4+PTB4MCxfMHg2ODZkZTB8fF8weDMwYWFiYyhfMHgxNTczYjEsMHg0LHRoaXNbXzB4NGRhMzJkKCcweDUyMCcpXSksdGhpc1tfMHgxNTczYjFdfHRoaXNbXzB4MTU3M2IxKzB4MV08PDB4OHx0aGlzW18weDE1NzNiMSsweDJdPDwweDEwfHRoaXNbXzB4MTU3M2IxKzB4M108PDB4MTg7fSxfMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVtfMHg0YWJkOGQoJzB4MzNhJyldPWZ1bmN0aW9uKF8weDEyMjNmYSxfMHhiYWY2ZGEpe3JldHVybiBfMHgxMjIzZmE+Pj49MHgwLF8weGJhZjZkYXx8XzB4MzBhYWJjKF8weDEyMjNmYSwweDQsdGhpc1snbGVuZ3RoJ10pLHRoaXNbXzB4MTIyM2ZhXTw8MHgxOHx0aGlzW18weDEyMjNmYSsweDFdPDwweDEwfHRoaXNbXzB4MTIyM2ZhKzB4Ml08PDB4OHx0aGlzW18weDEyMjNmYSsweDNdO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bJ3JlYWRCaWdJbnQ2NExFJ109XzB4MmYyZGM4KGZ1bmN0aW9uKF8weDFjN2FmMil7dmFyIF8weDI3ZmE2MT1fMHg0YWJkOGQ7XzB4Mjc1ZDI1KF8weDFjN2FmMj4+Pj0weDAsXzB4MjdmYTYxKCcweGFiMycpKTtjb25zdCBfMHg1MjYzNjY9dGhpc1tfMHgxYzdhZjJdLF8weDM1YTcyMT10aGlzW18weDFjN2FmMisweDddO3ZvaWQgMHgwIT09XzB4NTI2MzY2JiZ2b2lkIDB4MCE9PV8weDM1YTcyMXx8XzB4NzBkMjUxKF8weDFjN2FmMix0aGlzW18weDI3ZmE2MSgnMHg1MjAnKV0tMHg4KTtjb25zdCBfMHhiMjA4ZTU9dGhpc1tfMHgxYzdhZjIrMHg0XSsweDEwMCp0aGlzW18weDFjN2FmMisweDVdKzB4MTAwMDAqdGhpc1tfMHgxYzdhZjIrMHg2XSsoXzB4MzVhNzIxPDwweDE4KTtyZXR1cm4oQmlnSW50KF8weGIyMDhlNSk8PEJpZ0ludCgweDIwKSkrQmlnSW50KF8weDUyNjM2NisweDEwMCp0aGlzWysrXzB4MWM3YWYyXSsweDEwMDAwKnRoaXNbKytfMHgxYzdhZjJdK3RoaXNbKytfMHgxYzdhZjJdKjB4MioqMHgxOCk7fSksXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bJ3JlYWRCaWdJbnQ2NEJFJ109XzB4MmYyZGM4KGZ1bmN0aW9uKF8weDM4YTg1YSl7dmFyIF8weDRkOTlhMz1fMHg0YWJkOGQ7XzB4Mjc1ZDI1KF8weDM4YTg1YT4+Pj0weDAsXzB4NGQ5OWEzKCcweGFiMycpKTtjb25zdCBfMHgxYWQwYmQ9dGhpc1tfMHgzOGE4NWFdLF8weDJjYjNmND10aGlzW18weDM4YTg1YSsweDddO3ZvaWQgMHgwIT09XzB4MWFkMGJkJiZ2b2lkIDB4MCE9PV8weDJjYjNmNHx8XzB4NzBkMjUxKF8weDM4YTg1YSx0aGlzWydsZW5ndGgnXS0weDgpO2NvbnN0IF8weGRlZjlmNz0oXzB4MWFkMGJkPDwweDE4KSsweDEwMDAwKnRoaXNbKytfMHgzOGE4NWFdKzB4MTAwKnRoaXNbKytfMHgzOGE4NWFdK3RoaXNbKytfMHgzOGE4NWFdO3JldHVybihCaWdJbnQoXzB4ZGVmOWY3KTw8QmlnSW50KDB4MjApKStCaWdJbnQodGhpc1srK18weDM4YTg1YV0qMHgyKioweDE4KzB4MTAwMDAqdGhpc1srK18weDM4YTg1YV0rMHgxMDAqdGhpc1srK18weDM4YTg1YV0rXzB4MmNiM2Y0KTt9KSxfMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVtfMHg0YWJkOGQoJzB4YzFhJyldPWZ1bmN0aW9uKF8weDNiNTM2ZCxfMHgzYjg2YzEpe3ZhciBfMHgyZmFlZTA9XzB4NGFiZDhkO3JldHVybiBfMHgzYjUzNmQ+Pj49MHgwLF8weDNiODZjMXx8XzB4MzBhYWJjKF8weDNiNTM2ZCwweDQsdGhpc1snbGVuZ3RoJ10pLF8weDFjNjgzYltfMHgyZmFlZTAoJzB4OTkwJyldKHRoaXMsXzB4M2I1MzZkLCEweDAsMHgxNywweDQpO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDZkYScpXT1mdW5jdGlvbihfMHg0OWRjY2MsXzB4NGE4MjdmKXt2YXIgXzB4NDZmMzM4PV8weDRhYmQ4ZDtyZXR1cm4gXzB4NDlkY2NjPj4+PTB4MCxfMHg0YTgyN2Z8fF8weDMwYWFiYyhfMHg0OWRjY2MsMHg0LHRoaXNbXzB4NDZmMzM4KCcweDUyMCcpXSksXzB4MWM2ODNiW18weDQ2ZjMzOCgnMHg5OTAnKV0odGhpcyxfMHg0OWRjY2MsITB4MSwweDE3LDB4NCk7fSxfMHgyNTA0OGFbJ3Byb3RvdHlwZSddWydyZWFkRG91YmxlTEUnXT1mdW5jdGlvbihfMHgxOTI5NGIsXzB4MzZiMGIzKXt2YXIgXzB4MWYyZWE1PV8weDRhYmQ4ZDtyZXR1cm4gXzB4MTkyOTRiPj4+PTB4MCxfMHgzNmIwYjN8fF8weDMwYWFiYyhfMHgxOTI5NGIsMHg4LHRoaXNbXzB4MWYyZWE1KCcweDUyMCcpXSksXzB4MWM2ODNiW18weDFmMmVhNSgnMHg5OTAnKV0odGhpcyxfMHgxOTI5NGIsITB4MCwweDM0LDB4OCk7fSxfMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVsncmVhZERvdWJsZUJFJ109ZnVuY3Rpb24oXzB4MWNhZmZiLF8weDI2YTRhNSl7dmFyIF8weDE5NDc4Yj1fMHg0YWJkOGQ7cmV0dXJuIF8weDFjYWZmYj4+Pj0weDAsXzB4MjZhNGE1fHxfMHgzMGFhYmMoXzB4MWNhZmZiLDB4OCx0aGlzW18weDE5NDc4YignMHg1MjAnKV0pLF8weDFjNjgzYlsncmVhZCddKHRoaXMsXzB4MWNhZmZiLCEweDEsMHgzNCwweDgpO30sXzB4MjUwNDhhWydwcm90b3R5cGUnXVsnd3JpdGVVaW50TEUnXT1fMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVtfMHg0YWJkOGQoJzB4NmM4JyldPWZ1bmN0aW9uKF8weDQ4ZDMxYixfMHg1NWI5NjAsXzB4NTczNDdhLF8weDIzZDIyOSl7dmFyIF8weDQyOTlmYz1fMHg0YWJkOGQ7XzB4NDhkMzFiPStfMHg0OGQzMWIsXzB4NTViOTYwPj4+PTB4MCxfMHg1NzM0N2E+Pj49MHgwLF8weDIzZDIyOXx8XzB4NTVkN2UyKHRoaXMsXzB4NDhkMzFiLF8weDU1Yjk2MCxfMHg1NzM0N2EsTWF0aFtfMHg0Mjk5ZmMoJzB4YTA5JyldKDB4MiwweDgqXzB4NTczNDdhKS0weDEsMHgwKTtsZXQgXzB4MjU4YjYzPTB4MSxfMHg0NzYzMmM9MHgwO2Zvcih0aGlzW18weDU1Yjk2MF09MHhmZiZfMHg0OGQzMWI7KytfMHg0NzYzMmM8XzB4NTczNDdhJiYoXzB4MjU4YjYzKj0weDEwMCk7KXRoaXNbXzB4NTViOTYwK18weDQ3NjMyY109XzB4NDhkMzFiL18weDI1OGI2MyYweGZmO3JldHVybiBfMHg1NWI5NjArXzB4NTczNDdhO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bJ3dyaXRlVWludEJFJ109XzB4MjUwNDhhWydwcm90b3R5cGUnXVtfMHg0YWJkOGQoJzB4NjI2JyldPWZ1bmN0aW9uKF8weDE3NTYxMSxfMHgzZmUxODYsXzB4NTE1YjgyLF8weDQ0YjQ5ZSl7dmFyIF8weDUyMTQ5Zj1fMHg0YWJkOGQ7XzB4MTc1NjExPStfMHgxNzU2MTEsXzB4M2ZlMTg2Pj4+PTB4MCxfMHg1MTViODI+Pj49MHgwLF8weDQ0YjQ5ZXx8XzB4NTVkN2UyKHRoaXMsXzB4MTc1NjExLF8weDNmZTE4NixfMHg1MTViODIsTWF0aFtfMHg1MjE0OWYoJzB4YTA5JyldKDB4MiwweDgqXzB4NTE1YjgyKS0weDEsMHgwKTtsZXQgXzB4M2QwNzNhPV8weDUxNWI4Mi0weDEsXzB4MmI2ZGVjPTB4MTtmb3IodGhpc1tfMHgzZmUxODYrXzB4M2QwNzNhXT0weGZmJl8weDE3NTYxMTstLV8weDNkMDczYT49MHgwJiYoXzB4MmI2ZGVjKj0weDEwMCk7KXRoaXNbXzB4M2ZlMTg2K18weDNkMDczYV09XzB4MTc1NjExL18weDJiNmRlYyYweGZmO3JldHVybiBfMHgzZmUxODYrXzB4NTE1YjgyO30sXzB4MjUwNDhhWydwcm90b3R5cGUnXVtfMHg0YWJkOGQoJzB4ODFkJyldPV8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldW18weDRhYmQ4ZCgnMHg3NjknKV09ZnVuY3Rpb24oXzB4MzNlMWUzLF8weGVjOTAwMixfMHgzYjA0MTMpe3JldHVybiBfMHgzM2UxZTM9K18weDMzZTFlMyxfMHhlYzkwMDI+Pj49MHgwLF8weDNiMDQxM3x8XzB4NTVkN2UyKHRoaXMsXzB4MzNlMWUzLF8weGVjOTAwMiwweDEsMHhmZiwweDApLHRoaXNbXzB4ZWM5MDAyXT0weGZmJl8weDMzZTFlMyxfMHhlYzkwMDIrMHgxO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDg5MycpXT1fMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVtfMHg0YWJkOGQoJzB4OWZjJyldPWZ1bmN0aW9uKF8weDEwOTdjYSxfMHg4YTIzNDgsXzB4NDY4NmFlKXtyZXR1cm4gXzB4MTA5N2NhPStfMHgxMDk3Y2EsXzB4OGEyMzQ4Pj4+PTB4MCxfMHg0Njg2YWV8fF8weDU1ZDdlMih0aGlzLF8weDEwOTdjYSxfMHg4YTIzNDgsMHgyLDB4ZmZmZiwweDApLHRoaXNbXzB4OGEyMzQ4XT0weGZmJl8weDEwOTdjYSx0aGlzW18weDhhMjM0OCsweDFdPV8weDEwOTdjYT4+PjB4OCxfMHg4YTIzNDgrMHgyO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDhjMicpXT1fMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVtfMHg0YWJkOGQoJzB4NGEyJyldPWZ1bmN0aW9uKF8weDM4NWM3NixfMHgzNWQ3ZjQsXzB4MWZhOWNjKXtyZXR1cm4gXzB4Mzg1Yzc2PStfMHgzODVjNzYsXzB4MzVkN2Y0Pj4+PTB4MCxfMHgxZmE5Y2N8fF8weDU1ZDdlMih0aGlzLF8weDM4NWM3NixfMHgzNWQ3ZjQsMHgyLDB4ZmZmZiwweDApLHRoaXNbXzB4MzVkN2Y0XT1fMHgzODVjNzY+Pj4weDgsdGhpc1tfMHgzNWQ3ZjQrMHgxXT0weGZmJl8weDM4NWM3NixfMHgzNWQ3ZjQrMHgyO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDliMicpXT1fMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVtfMHg0YWJkOGQoJzB4ODk2JyldPWZ1bmN0aW9uKF8weDFlNWRjOCxfMHg0YTMyNWYsXzB4NWQ1ODlhKXtyZXR1cm4gXzB4MWU1ZGM4PStfMHgxZTVkYzgsXzB4NGEzMjVmPj4+PTB4MCxfMHg1ZDU4OWF8fF8weDU1ZDdlMih0aGlzLF8weDFlNWRjOCxfMHg0YTMyNWYsMHg0LDB4ZmZmZmZmZmYsMHgwKSx0aGlzW18weDRhMzI1ZisweDNdPV8weDFlNWRjOD4+PjB4MTgsdGhpc1tfMHg0YTMyNWYrMHgyXT1fMHgxZTVkYzg+Pj4weDEwLHRoaXNbXzB4NGEzMjVmKzB4MV09XzB4MWU1ZGM4Pj4+MHg4LHRoaXNbXzB4NGEzMjVmXT0weGZmJl8weDFlNWRjOCxfMHg0YTMyNWYrMHg0O30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDhiYycpXT1fMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVtfMHg0YWJkOGQoJzB4YjFiJyldPWZ1bmN0aW9uKF8weDVjMTQ2OSxfMHhiNGE3NDYsXzB4NDk3NDRmKXtyZXR1cm4gXzB4NWMxNDY5PStfMHg1YzE0NjksXzB4YjRhNzQ2Pj4+PTB4MCxfMHg0OTc0NGZ8fF8weDU1ZDdlMih0aGlzLF8weDVjMTQ2OSxfMHhiNGE3NDYsMHg0LDB4ZmZmZmZmZmYsMHgwKSx0aGlzW18weGI0YTc0Nl09XzB4NWMxNDY5Pj4+MHgxOCx0aGlzW18weGI0YTc0NisweDFdPV8weDVjMTQ2OT4+PjB4MTAsdGhpc1tfMHhiNGE3NDYrMHgyXT1fMHg1YzE0Njk+Pj4weDgsdGhpc1tfMHhiNGE3NDYrMHgzXT0weGZmJl8weDVjMTQ2OSxfMHhiNGE3NDYrMHg0O30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDY4OScpXT1fMHgyZjJkYzgoZnVuY3Rpb24oXzB4MzE1MTc3LF8weDFmZmY5Nz0weDApe3ZhciBfMHg1YjhjMDk9XzB4NGFiZDhkO3JldHVybiBfMHg0NTdhZmYodGhpcyxfMHgzMTUxNzcsXzB4MWZmZjk3LEJpZ0ludCgweDApLEJpZ0ludChfMHg1YjhjMDkoJzB4NzU5JykpKTt9KSxfMHgyNTA0OGFbJ3Byb3RvdHlwZSddW18weDRhYmQ4ZCgnMHg2N2MnKV09XzB4MmYyZGM4KGZ1bmN0aW9uKF8weDUwOGNkOCxfMHg0MDg3NmI9MHgwKXt2YXIgXzB4NGZkMjU4PV8weDRhYmQ4ZDtyZXR1cm4gXzB4ZjA5MjNmKHRoaXMsXzB4NTA4Y2Q4LF8weDQwODc2YixCaWdJbnQoMHgwKSxCaWdJbnQoXzB4NGZkMjU4KCcweDc1OScpKSk7fSksXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweGMyZCcpXT1mdW5jdGlvbihfMHhjZTk2OTksXzB4MjZjY2I3LF8weDRiMGU4MCxfMHg1NzkwYzgpe3ZhciBfMHgxYmYxYmI9XzB4NGFiZDhkO2lmKF8weGNlOTY5OT0rXzB4Y2U5Njk5LF8weDI2Y2NiNz4+Pj0weDAsIV8weDU3OTBjOCl7Y29uc3QgXzB4MzY2ZmUxPU1hdGhbXzB4MWJmMWJiKCcweGEwOScpXSgweDIsMHg4Kl8weDRiMGU4MC0weDEpO18weDU1ZDdlMih0aGlzLF8weGNlOTY5OSxfMHgyNmNjYjcsXzB4NGIwZTgwLF8weDM2NmZlMS0weDEsLV8weDM2NmZlMSk7fWxldCBfMHgyYjMzZDY9MHgwLF8weDUzYzhjND0weDEsXzB4MTFmM2Q2PTB4MDtmb3IodGhpc1tfMHgyNmNjYjddPTB4ZmYmXzB4Y2U5Njk5OysrXzB4MmIzM2Q2PF8weDRiMGU4MCYmKF8weDUzYzhjNCo9MHgxMDApOylfMHhjZTk2OTk8MHgwJiYweDA9PT1fMHgxMWYzZDYmJjB4MCE9PXRoaXNbXzB4MjZjY2I3K18weDJiMzNkNi0weDFdJiYoXzB4MTFmM2Q2PTB4MSksdGhpc1tfMHgyNmNjYjcrXzB4MmIzM2Q2XT0oXzB4Y2U5Njk5L18weDUzYzhjND4+MHgwKS1fMHgxMWYzZDYmMHhmZjtyZXR1cm4gXzB4MjZjY2I3K18weDRiMGU4MDt9LF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldW18weDRhYmQ4ZCgnMHgzNjgnKV09ZnVuY3Rpb24oXzB4MzM1MmE3LF8weDVhNjhhMSxfMHg0MTg0MzUsXzB4MjQyNDlkKXtpZihfMHgzMzUyYTc9K18weDMzNTJhNyxfMHg1YTY4YTE+Pj49MHgwLCFfMHgyNDI0OWQpe2NvbnN0IF8weDMwNTQ5ZT1NYXRoWydwb3cnXSgweDIsMHg4Kl8weDQxODQzNS0weDEpO18weDU1ZDdlMih0aGlzLF8weDMzNTJhNyxfMHg1YTY4YTEsXzB4NDE4NDM1LF8weDMwNTQ5ZS0weDEsLV8weDMwNTQ5ZSk7fWxldCBfMHg1NDkwNzU9XzB4NDE4NDM1LTB4MSxfMHgzYzk2NDI9MHgxLF8weDNlMDRmZT0weDA7Zm9yKHRoaXNbXzB4NWE2OGExK18weDU0OTA3NV09MHhmZiZfMHgzMzUyYTc7LS1fMHg1NDkwNzU+PTB4MCYmKF8weDNjOTY0Mio9MHgxMDApOylfMHgzMzUyYTc8MHgwJiYweDA9PT1fMHgzZTA0ZmUmJjB4MCE9PXRoaXNbXzB4NWE2OGExK18weDU0OTA3NSsweDFdJiYoXzB4M2UwNGZlPTB4MSksdGhpc1tfMHg1YTY4YTErXzB4NTQ5MDc1XT0oXzB4MzM1MmE3L18weDNjOTY0Mj4+MHgwKS1fMHgzZTA0ZmUmMHhmZjtyZXR1cm4gXzB4NWE2OGExK18weDQxODQzNTt9LF8weDI1MDQ4YVsncHJvdG90eXBlJ11bJ3dyaXRlSW50OCddPWZ1bmN0aW9uKF8weDEwNWUzYSxfMHhlYmFkNyxfMHgyNDM1MjApe3JldHVybiBfMHgxMDVlM2E9K18weDEwNWUzYSxfMHhlYmFkNz4+Pj0weDAsXzB4MjQzNTIwfHxfMHg1NWQ3ZTIodGhpcyxfMHgxMDVlM2EsXzB4ZWJhZDcsMHgxLDB4N2YsLTB4ODApLF8weDEwNWUzYTwweDAmJihfMHgxMDVlM2E9MHhmZitfMHgxMDVlM2ErMHgxKSx0aGlzW18weGViYWQ3XT0weGZmJl8weDEwNWUzYSxfMHhlYmFkNysweDE7fSxfMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVtfMHg0YWJkOGQoJzB4NGNhJyldPWZ1bmN0aW9uKF8weDU2NDMxOSxfMHgzZWM0ZmUsXzB4NDZhMTIzKXtyZXR1cm4gXzB4NTY0MzE5PStfMHg1NjQzMTksXzB4M2VjNGZlPj4+PTB4MCxfMHg0NmExMjN8fF8weDU1ZDdlMih0aGlzLF8weDU2NDMxOSxfMHgzZWM0ZmUsMHgyLDB4N2ZmZiwtMHg4MDAwKSx0aGlzW18weDNlYzRmZV09MHhmZiZfMHg1NjQzMTksdGhpc1tfMHgzZWM0ZmUrMHgxXT1fMHg1NjQzMTk+Pj4weDgsXzB4M2VjNGZlKzB4Mjt9LF8weDI1MDQ4YVsncHJvdG90eXBlJ11bXzB4NGFiZDhkKCcweGExOScpXT1mdW5jdGlvbihfMHgzMTU5ZWYsXzB4MWZlNzRhLF8weGUzNjI2Myl7cmV0dXJuIF8weDMxNTllZj0rXzB4MzE1OWVmLF8weDFmZTc0YT4+Pj0weDAsXzB4ZTM2MjYzfHxfMHg1NWQ3ZTIodGhpcyxfMHgzMTU5ZWYsXzB4MWZlNzRhLDB4MiwweDdmZmYsLTB4ODAwMCksdGhpc1tfMHgxZmU3NGFdPV8weDMxNTllZj4+PjB4OCx0aGlzW18weDFmZTc0YSsweDFdPTB4ZmYmXzB4MzE1OWVmLF8weDFmZTc0YSsweDI7fSxfMHgyNTA0OGFbXzB4NGFiZDhkKCcweDc1NicpXVsnd3JpdGVJbnQzMkxFJ109ZnVuY3Rpb24oXzB4MjRiY2M3LF8weDI5YjY2ZCxfMHgzMGQxNDIpe3JldHVybiBfMHgyNGJjYzc9K18weDI0YmNjNyxfMHgyOWI2NmQ+Pj49MHgwLF8weDMwZDE0Mnx8XzB4NTVkN2UyKHRoaXMsXzB4MjRiY2M3LF8weDI5YjY2ZCwweDQsMHg3ZmZmZmZmZiwtMHg4MDAwMDAwMCksdGhpc1tfMHgyOWI2NmRdPTB4ZmYmXzB4MjRiY2M3LHRoaXNbXzB4MjliNjZkKzB4MV09XzB4MjRiY2M3Pj4+MHg4LHRoaXNbXzB4MjliNjZkKzB4Ml09XzB4MjRiY2M3Pj4+MHgxMCx0aGlzW18weDI5YjY2ZCsweDNdPV8weDI0YmNjNz4+PjB4MTgsXzB4MjliNjZkKzB4NDt9LF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldWyd3cml0ZUludDMyQkUnXT1mdW5jdGlvbihfMHgzNDA1MTgsXzB4ZTg0NTk1LF8weDI3Njk3MCl7cmV0dXJuIF8weDM0MDUxOD0rXzB4MzQwNTE4LF8weGU4NDU5NT4+Pj0weDAsXzB4Mjc2OTcwfHxfMHg1NWQ3ZTIodGhpcyxfMHgzNDA1MTgsXzB4ZTg0NTk1LDB4NCwweDdmZmZmZmZmLC0weDgwMDAwMDAwKSxfMHgzNDA1MTg8MHgwJiYoXzB4MzQwNTE4PTB4ZmZmZmZmZmYrXzB4MzQwNTE4KzB4MSksdGhpc1tfMHhlODQ1OTVdPV8weDM0MDUxOD4+PjB4MTgsdGhpc1tfMHhlODQ1OTUrMHgxXT1fMHgzNDA1MTg+Pj4weDEwLHRoaXNbXzB4ZTg0NTk1KzB4Ml09XzB4MzQwNTE4Pj4+MHg4LHRoaXNbXzB4ZTg0NTk1KzB4M109MHhmZiZfMHgzNDA1MTgsXzB4ZTg0NTk1KzB4NDt9LF8weDI1MDQ4YVtfMHg0YWJkOGQoJzB4NzU2JyldW18weDRhYmQ4ZCgnMHg2YWUnKV09XzB4MmYyZGM4KGZ1bmN0aW9uKF8weDQ0MWM2MSxfMHgzODllMTg9MHgwKXt2YXIgXzB4NGZlYWI0PV8weDRhYmQ4ZDtyZXR1cm4gXzB4NDU3YWZmKHRoaXMsXzB4NDQxYzYxLF8weDM4OWUxOCwtQmlnSW50KF8weDRmZWFiNCgnMHgyZmEnKSksQmlnSW50KF8weDRmZWFiNCgnMHgyODcnKSkpO30pLF8weDI1MDQ4YVsncHJvdG90eXBlJ11bXzB4NGFiZDhkKCcweGMzMScpXT1fMHgyZjJkYzgoZnVuY3Rpb24oXzB4M2ZjMDFkLF8weDU3ZmI2ZT0weDApe3ZhciBfMHg0Mjg2MTk9XzB4NGFiZDhkO3JldHVybiBfMHhmMDkyM2YodGhpcyxfMHgzZmMwMWQsXzB4NTdmYjZlLC1CaWdJbnQoXzB4NDI4NjE5KCcweDJmYScpKSxCaWdJbnQoXzB4NDI4NjE5KCcweDI4NycpKSk7fSksXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDdkZicpXT1mdW5jdGlvbihfMHg0YzFmZDYsXzB4MWQ2YTYyLF8weDFlNGUzNCl7cmV0dXJuIF8weDFjZWNmZSh0aGlzLF8weDRjMWZkNixfMHgxZDZhNjIsITB4MCxfMHgxZTRlMzQpO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweDQwMScpXT1mdW5jdGlvbihfMHgyZGZhNzAsXzB4MjUwNjRiLF8weDMxOGQzOSl7cmV0dXJuIF8weDFjZWNmZSh0aGlzLF8weDJkZmE3MCxfMHgyNTA2NGIsITB4MSxfMHgzMThkMzkpO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bJ3dyaXRlRG91YmxlTEUnXT1mdW5jdGlvbihfMHg1NjE4NGQsXzB4MWU3NjRhLF8weDM5NjJhMil7cmV0dXJuIF8weDM3ZjQwZih0aGlzLF8weDU2MTg0ZCxfMHgxZTc2NGEsITB4MCxfMHgzOTYyYTIpO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweGM0ZScpXT1mdW5jdGlvbihfMHg3NDlkZjksXzB4NDk4ZTBjLF8weDRjZGI2YSl7cmV0dXJuIF8weDM3ZjQwZih0aGlzLF8weDc0OWRmOSxfMHg0OThlMGMsITB4MSxfMHg0Y2RiNmEpO30sXzB4MjUwNDhhWydwcm90b3R5cGUnXVtfMHg0YWJkOGQoJzB4YWU5JyldPWZ1bmN0aW9uKF8weGY5MTQ5MixfMHgzNWZmNyxfMHg0MDU1NmUsXzB4NDhkNDkxKXt2YXIgXzB4Mjk2MDRjPV8weDRhYmQ4ZDtpZighXzB4MjUwNDhhW18weDI5NjA0YygnMHhiYWMnKV0oXzB4ZjkxNDkyKSl0aHJvdyBuZXcgVHlwZUVycm9yKF8weDI5NjA0YygnMHgyNWYnKSk7aWYoXzB4NDA1NTZlfHwoXzB4NDA1NTZlPTB4MCksXzB4NDhkNDkxfHwweDA9PT1fMHg0OGQ0OTF8fChfMHg0OGQ0OTE9dGhpc1tfMHgyOTYwNGMoJzB4NTIwJyldKSxfMHgzNWZmNz49XzB4ZjkxNDkyW18weDI5NjA0YygnMHg1MjAnKV0mJihfMHgzNWZmNz1fMHhmOTE0OTJbXzB4Mjk2MDRjKCcweDUyMCcpXSksXzB4MzVmZjd8fChfMHgzNWZmNz0weDApLF8weDQ4ZDQ5MT4weDAmJl8weDQ4ZDQ5MTxfMHg0MDU1NmUmJihfMHg0OGQ0OTE9XzB4NDA1NTZlKSxfMHg0OGQ0OTE9PT1fMHg0MDU1NmUpcmV0dXJuIDB4MDtpZigweDA9PT1fMHhmOTE0OTJbXzB4Mjk2MDRjKCcweDUyMCcpXXx8MHgwPT09dGhpc1tfMHgyOTYwNGMoJzB4NTIwJyldKXJldHVybiAweDA7aWYoXzB4MzVmZjc8MHgwKXRocm93IG5ldyBSYW5nZUVycm9yKF8weDI5NjA0YygnMHg1NjYnKSk7aWYoXzB4NDA1NTZlPDB4MHx8XzB4NDA1NTZlPj10aGlzW18weDI5NjA0YygnMHg1MjAnKV0pdGhyb3cgbmV3IFJhbmdlRXJyb3IoXzB4Mjk2MDRjKCcweDQyZCcpKTtpZihfMHg0OGQ0OTE8MHgwKXRocm93IG5ldyBSYW5nZUVycm9yKF8weDI5NjA0YygnMHg2NzEnKSk7XzB4NDhkNDkxPnRoaXNbJ2xlbmd0aCddJiYoXzB4NDhkNDkxPXRoaXNbJ2xlbmd0aCddKSxfMHhmOTE0OTJbXzB4Mjk2MDRjKCcweDUyMCcpXS1fMHgzNWZmNzxfMHg0OGQ0OTEtXzB4NDA1NTZlJiYoXzB4NDhkNDkxPV8weGY5MTQ5MltfMHgyOTYwNGMoJzB4NTIwJyldLV8weDM1ZmY3K18weDQwNTU2ZSk7Y29uc3QgXzB4MWMzMjVhPV8weDQ4ZDQ5MS1fMHg0MDU1NmU7cmV0dXJuIHRoaXM9PT1fMHhmOTE0OTImJl8weDI5NjA0YygnMHhjN2InKT09dHlwZW9mIFVpbnQ4QXJyYXlbXzB4Mjk2MDRjKCcweDc1NicpXVsnY29weVdpdGhpbiddP3RoaXNbXzB4Mjk2MDRjKCcweDliOScpXShfMHgzNWZmNyxfMHg0MDU1NmUsXzB4NDhkNDkxKTpVaW50OEFycmF5Wydwcm90b3R5cGUnXVtfMHgyOTYwNGMoJzB4Y2FjJyldW18weDI5NjA0YygnMHg1ZmQnKV0oXzB4ZjkxNDkyLHRoaXNbXzB4Mjk2MDRjKCcweDFkOScpXShfMHg0MDU1NmUsXzB4NDhkNDkxKSxfMHgzNWZmNyksXzB4MWMzMjVhO30sXzB4MjUwNDhhW18weDRhYmQ4ZCgnMHg3NTYnKV1bXzB4NGFiZDhkKCcweGIxNicpXT1mdW5jdGlvbihfMHg0MDQ3NzQsXzB4MmFlZjgyLF8weDFhMDc1MixfMHhmYWM1NmEpe3ZhciBfMHgxODRjMzU9XzB4NGFiZDhkO2lmKF8weDE4NGMzNSgnMHg2NWYnKT09dHlwZW9mIF8weDQwNDc3NCl7aWYoXzB4MTg0YzM1KCcweDY1ZicpPT10eXBlb2YgXzB4MmFlZjgyPyhfMHhmYWM1NmE9XzB4MmFlZjgyLF8weDJhZWY4Mj0weDAsXzB4MWEwNzUyPXRoaXNbXzB4MTg0YzM1KCcweDUyMCcpXSk6J3N0cmluZyc9PXR5cGVvZiBfMHgxYTA3NTImJihfMHhmYWM1NmE9XzB4MWEwNzUyLF8weDFhMDc1Mj10aGlzW18weDE4NGMzNSgnMHg1MjAnKV0pLHZvaWQgMHgwIT09XzB4ZmFjNTZhJiZfMHgxODRjMzUoJzB4NjVmJykhPXR5cGVvZiBfMHhmYWM1NmEpdGhyb3cgbmV3IFR5cGVFcnJvcihfMHgxODRjMzUoJzB4NzU1JykpO2lmKCdzdHJpbmcnPT10eXBlb2YgXzB4ZmFjNTZhJiYhXzB4MjUwNDhhW18weDE4NGMzNSgnMHg1ZTknKV0oXzB4ZmFjNTZhKSl0aHJvdyBuZXcgVHlwZUVycm9yKCdVbmtub3duXHgyMGVuY29kaW5nOlx4MjAnK18weGZhYzU2YSk7aWYoMHgxPT09XzB4NDA0Nzc0W18weDE4NGMzNSgnMHg1MjAnKV0pe2NvbnN0IF8weDJkMjk0Nj1fMHg0MDQ3NzRbXzB4MTg0YzM1KCcweGE1NScpXSgweDApOyhfMHgxODRjMzUoJzB4ODU3Jyk9PT1fMHhmYWM1NmEmJl8weDJkMjk0NjwweDgwfHwnbGF0aW4xJz09PV8weGZhYzU2YSkmJihfMHg0MDQ3NzQ9XzB4MmQyOTQ2KTt9fWVsc2UgXzB4MTg0YzM1KCcweDI3YScpPT10eXBlb2YgXzB4NDA0Nzc0P18weDQwNDc3NCY9MHhmZjpfMHgxODRjMzUoJzB4NGIzJyk9PXR5cGVvZiBfMHg0MDQ3NzQmJihfMHg0MDQ3NzQ9TnVtYmVyKF8weDQwNDc3NCkpO2lmKF8weDJhZWY4MjwweDB8fHRoaXNbXzB4MTg0YzM1KCcweDUyMCcpXTxfMHgyYWVmODJ8fHRoaXNbXzB4MTg0YzM1KCcweDUyMCcpXTxfMHgxYTA3NTIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXzB4MTg0YzM1KCcweDk3YicpKTtpZihfMHgxYTA3NTI8PV8weDJhZWY4MilyZXR1cm4gdGhpcztsZXQgXzB4ZjAxZTY4O2lmKF8weDJhZWY4Mj4+Pj0weDAsXzB4MWEwNzUyPXZvaWQgMHgwPT09XzB4MWEwNzUyP3RoaXNbXzB4MTg0YzM1KCcweDUyMCcpXTpfMHgxYTA3NTI+Pj4weDAsXzB4NDA0Nzc0fHwoXzB4NDA0Nzc0PTB4MCksXzB4MTg0YzM1KCcweDI3YScpPT10eXBlb2YgXzB4NDA0Nzc0KXtmb3IoXzB4ZjAxZTY4PV8weDJhZWY4MjtfMHhmMDFlNjg8XzB4MWEwNzUyOysrXzB4ZjAxZTY4KXRoaXNbXzB4ZjAxZTY4XT1fMHg0MDQ3NzQ7fWVsc2V7Y29uc3QgXzB4ZGQ4Zjg4PV8weDI1MDQ4YVtfMHgxODRjMzUoJzB4YmFjJyldKF8weDQwNDc3NCk/XzB4NDA0Nzc0Ol8weDI1MDQ4YVtfMHgxODRjMzUoJzB4MjUyJyldKF8weDQwNDc3NCxfMHhmYWM1NmEpLF8weDM1OTMwOD1fMHhkZDhmODhbXzB4MTg0YzM1KCcweDUyMCcpXTtpZigweDA9PT1fMHgzNTkzMDgpdGhyb3cgbmV3IFR5cGVFcnJvcihfMHgxODRjMzUoJzB4NzYwJykrXzB4NDA0Nzc0K18weDE4NGMzNSgnMHhjMzQnKSk7Zm9yKF8weGYwMWU2OD0weDA7XzB4ZjAxZTY4PF8weDFhMDc1Mi1fMHgyYWVmODI7KytfMHhmMDFlNjgpdGhpc1tfMHhmMDFlNjgrXzB4MmFlZjgyXT1fMHhkZDhmODhbXzB4ZjAxZTY4JV8weDM1OTMwOF07fXJldHVybiB0aGlzO307Y29uc3QgXzB4NTA4YTg0PXt9O2Z1bmN0aW9uIF8weDQ2NjhmMChfMHgyOTBhZTIsXzB4NGE3NzIyLF8weDEwNjkzYil7dmFyIF8weDQwYzI5Yj1fMHg0YWJkOGQ7XzB4NTA4YTg0W18weDI5MGFlMl09Y2xhc3MgZXh0ZW5kcyBfMHgxMDY5M2J7Y29uc3RydWN0b3IoKXt2YXIgXzB4M2UwOTg2PV8weDE1YTM7c3VwZXIoKSxPYmplY3RbJ2RlZmluZVByb3BlcnR5J10odGhpcyxfMHgzZTA5ODYoJzB4ODNiJykseyd2YWx1ZSc6XzB4NGE3NzIyW18weDNlMDk4NignMHg0NDInKV0odGhpcyxhcmd1bWVudHMpLCd3cml0YWJsZSc6ITB4MCwnY29uZmlndXJhYmxlJzohMHgwfSksdGhpc1tfMHgzZTA5ODYoJzB4YmM3JyldPXRoaXNbXzB4M2UwOTg2KCcweGJjNycpXSsnXHgyMFsnK18weDI5MGFlMisnXScsdGhpc1tfMHgzZTA5ODYoJzB4NmViJyldLGRlbGV0ZSB0aGlzW18weDNlMDk4NignMHhiYzcnKV07fWdldFtfMHg0MGMyOWIoJzB4OGVlJyldKCl7cmV0dXJuIF8weDI5MGFlMjt9c2V0W18weDQwYzI5YignMHg4ZWUnKV0oXzB4YWNmZTNmKXt2YXIgXzB4NDQ5MjljPV8weDQwYzI5YjtPYmplY3RbXzB4NDQ5MjljKCcweDJiNCcpXSh0aGlzLF8weDQ0OTI5YygnMHg4ZWUnKSx7J2NvbmZpZ3VyYWJsZSc6ITB4MCwnZW51bWVyYWJsZSc6ITB4MCwndmFsdWUnOl8weGFjZmUzZiwnd3JpdGFibGUnOiEweDB9KTt9W18weDQwYzI5YignMHg1NDcnKV0oKXt2YXIgXzB4NGQxZGUxPV8weDQwYzI5YjtyZXR1cm4gdGhpc1tfMHg0ZDFkZTEoJzB4YmM3JyldKydceDIwWycrXzB4MjkwYWUyKyddOlx4MjAnK3RoaXNbXzB4NGQxZGUxKCcweDgzYicpXTt9fTt9ZnVuY3Rpb24gXzB4YTg0MmNhKF8weDhlODZjOSl7dmFyIF8weDI5MGE5Mz1fMHg0YWJkOGQ7bGV0IF8weDI3ZDQ1Nj0nJyxfMHg1NjdkODQ9XzB4OGU4NmM5WydsZW5ndGgnXTtjb25zdCBfMHg4YTFkZDY9Jy0nPT09XzB4OGU4NmM5WzB4MF0/MHgxOjB4MDtmb3IoO18weDU2N2Q4ND49XzB4OGExZGQ2KzB4NDtfMHg1NjdkODQtPTB4MylfMHgyN2Q0NTY9J18nK18weDhlODZjOVsnc2xpY2UnXShfMHg1NjdkODQtMHgzLF8weDU2N2Q4NCkrXzB4MjdkNDU2O3JldHVybicnK18weDhlODZjOVtfMHgyOTBhOTMoJzB4YWRhJyldKDB4MCxfMHg1NjdkODQpK18weDI3ZDQ1Njt9ZnVuY3Rpb24gXzB4MTBhYWYxKF8weDRiMDRlYixfMHg0YTQxYzIsXzB4YzA4MTBhLF8weDM1ZjExYyxfMHgyOGMxOTYsXzB4MmJmZjlhKXt2YXIgXzB4MzFmMjM1PV8weDRhYmQ4ZDtpZihfMHg0YjA0ZWI+XzB4YzA4MTBhfHxfMHg0YjA0ZWI8XzB4NGE0MWMyKXtjb25zdCBfMHgzYzcxYzM9J2JpZ2ludCc9PXR5cGVvZiBfMHg0YTQxYzI/J24nOicnO2xldCBfMHgzZTk5ZGY7dGhyb3cgXzB4M2U5OWRmPV8weDJiZmY5YT4weDM/MHgwPT09XzB4NGE0MWMyfHxfMHg0YTQxYzI9PT1CaWdJbnQoMHgwKT9fMHgzMWYyMzUoJzB4Y2NjJykrXzB4M2M3MWMzK18weDMxZjIzNSgnMHg5NjEnKStfMHgzYzcxYzMrXzB4MzFmMjM1KCcweGMyOScpKzB4OCooXzB4MmJmZjlhKzB4MSkrXzB4M2M3MWMzOl8weDMxZjIzNSgnMHg0YTknKStfMHgzYzcxYzMrJ1x4MjAqKlx4MjAnKygweDgqKF8weDJiZmY5YSsweDEpLTB4MSkrXzB4M2M3MWMzK18weDMxZjIzNSgnMHg5M2QnKSsoMHg4KihfMHgyYmZmOWErMHgxKS0weDEpK18weDNjNzFjMzonPj1ceDIwJytfMHg0YTQxYzIrXzB4M2M3MWMzK18weDMxZjIzNSgnMHhiY2EnKStfMHhjMDgxMGErXzB4M2M3MWMzLG5ldyBfMHg1MDhhODRbKF8weDMxZjIzNSgnMHhhNWYnKSldKCd2YWx1ZScsXzB4M2U5OWRmLF8weDRiMDRlYik7fSFmdW5jdGlvbihfMHg1ZWQ4NGMsXzB4MjViZTBmLF8weDM5ZWI0OCl7dmFyIF8weDQ1ZjM1ND1fMHgzMWYyMzU7XzB4Mjc1ZDI1KF8weDI1YmUwZixfMHg0NWYzNTQoJzB4YWIzJykpLHZvaWQgMHgwIT09XzB4NWVkODRjW18weDI1YmUwZl0mJnZvaWQgMHgwIT09XzB4NWVkODRjW18weDI1YmUwZitfMHgzOWViNDhdfHxfMHg3MGQyNTEoXzB4MjViZTBmLF8weDVlZDg0Y1snbGVuZ3RoJ10tKF8weDM5ZWI0OCsweDEpKTt9KF8weDM1ZjExYyxfMHgyOGMxOTYsXzB4MmJmZjlhKTt9ZnVuY3Rpb24gXzB4Mjc1ZDI1KF8weDI4M2VlZSxfMHhmYTkyZTYpe3ZhciBfMHg0YzI2ZmU9XzB4NGFiZDhkO2lmKF8weDRjMjZmZSgnMHgyN2EnKSE9dHlwZW9mIF8weDI4M2VlZSl0aHJvdyBuZXcgXzB4NTA4YTg0WydFUlJfSU5WQUxJRF9BUkdfVFlQRSddKF8weGZhOTJlNixfMHg0YzI2ZmUoJzB4MjdhJyksXzB4MjgzZWVlKTt9ZnVuY3Rpb24gXzB4NzBkMjUxKF8weDI4ZjYzZixfMHgyYTVjNjksXzB4M2NhZjFiKXt2YXIgXzB4M2UyNDI4PV8weDRhYmQ4ZDtpZihNYXRoWydmbG9vciddKF8weDI4ZjYzZikhPT1fMHgyOGY2M2YpdGhyb3cgXzB4Mjc1ZDI1KF8weDI4ZjYzZixfMHgzY2FmMWIpLG5ldyBfMHg1MDhhODRbJ0VSUl9PVVRfT0ZfUkFOR0UnXShfMHgzY2FmMWJ8fF8weDNlMjQyOCgnMHhhYjMnKSxfMHgzZTI0MjgoJzB4MzVlJyksXzB4MjhmNjNmKTtpZihfMHgyYTVjNjk8MHgwKXRocm93IG5ldyBfMHg1MDhhODRbKF8weDNlMjQyOCgnMHhjY2QnKSldKCk7dGhyb3cgbmV3IF8weDUwOGE4NFsoXzB4M2UyNDI4KCcweGE1ZicpKV0oXzB4M2NhZjFifHxfMHgzZTI0MjgoJzB4YWIzJyksXzB4M2UyNDI4KCcweGJmYScpKyhfMHgzY2FmMWI/MHgxOjB4MCkrXzB4M2UyNDI4KCcweGJjYScpK18weDJhNWM2OSxfMHgyOGY2M2YpO31fMHg0NjY4ZjAoXzB4NGFiZDhkKCcweGNjZCcpLGZ1bmN0aW9uKF8weDM3ODIwMyl7cmV0dXJuIF8weDM3ODIwMz9fMHgzNzgyMDMrJ1x4MjBpc1x4MjBvdXRzaWRlXHgyMG9mXHgyMGJ1ZmZlclx4MjBib3VuZHMnOidBdHRlbXB0XHgyMHRvXHgyMGFjY2Vzc1x4MjBtZW1vcnlceDIwb3V0c2lkZVx4MjBidWZmZXJceDIwYm91bmRzJzt9LFJhbmdlRXJyb3IpLF8weDQ2NjhmMChfMHg0YWJkOGQoJzB4YWZlJyksZnVuY3Rpb24oXzB4MzJkYjBkLF8weDUxYjI3NCl7dmFyIF8weDU2MTUyND1fMHg0YWJkOGQ7cmV0dXJuIF8weDU2MTUyNCgnMHgyMDUnKStfMHgzMmRiMGQrJ1x4MjJceDIwYXJndW1lbnRceDIwbXVzdFx4MjBiZVx4MjBvZlx4MjB0eXBlXHgyMG51bWJlci5ceDIwUmVjZWl2ZWRceDIwdHlwZVx4MjAnK3R5cGVvZiBfMHg1MWIyNzQ7fSxUeXBlRXJyb3IpLF8weDQ2NjhmMChfMHg0YWJkOGQoJzB4YTVmJyksZnVuY3Rpb24oXzB4ZDY0YmY1LF8weGRmYWIzMyxfMHgyNTFjYzIpe3ZhciBfMHg1Y2M5NzM9XzB4NGFiZDhkO2xldCBfMHgxM2VlZWM9XzB4NWNjOTczKCcweDYzOCcpK18weGQ2NGJmNStfMHg1Y2M5NzMoJzB4MWNhJyksXzB4M2I5NTkxPV8weDI1MWNjMjtyZXR1cm4gTnVtYmVyW18weDVjYzk3MygnMHg4ZGUnKV0oXzB4MjUxY2MyKSYmTWF0aFtfMHg1Y2M5NzMoJzB4NTQ4JyldKF8weDI1MWNjMik+MHgyKioweDIwP18weDNiOTU5MT1fMHhhODQyY2EoU3RyaW5nKF8weDI1MWNjMikpOl8weDVjYzk3MygnMHhhYmEnKT09dHlwZW9mIF8weDI1MWNjMiYmKF8weDNiOTU5MT1TdHJpbmcoXzB4MjUxY2MyKSwoXzB4MjUxY2MyPkJpZ0ludCgweDIpKipCaWdJbnQoMHgyMCl8fF8weDI1MWNjMjwtKEJpZ0ludCgweDIpKipCaWdJbnQoMHgyMCkpKSYmKF8weDNiOTU5MT1fMHhhODQyY2EoXzB4M2I5NTkxKSksXzB4M2I5NTkxKz0nbicpLF8weDEzZWVlYys9XzB4NWNjOTczKCcweGE1MCcpK18weGRmYWIzMytfMHg1Y2M5NzMoJzB4NGRlJykrXzB4M2I5NTkxLF8weDEzZWVlYzt9LFJhbmdlRXJyb3IpO2NvbnN0IF8weDJhOGJhOD0vW14rLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIF8weDVmNTA4MihfMHgxZmRmM2YsXzB4NTg0ZGNjKXt2YXIgXzB4MmYyZTU5PV8weDRhYmQ4ZDtsZXQgXzB4Mzk4Njg4O18weDU4NGRjYz1fMHg1ODRkY2N8fDB4MS8weDA7Y29uc3QgXzB4NWI3ZGNhPV8weDFmZGYzZlsnbGVuZ3RoJ107bGV0IF8weDVkMTQzND1udWxsO2NvbnN0IF8weDEwMGIyOD1bXTtmb3IobGV0IF8weDFiMzE0OD0weDA7XzB4MWIzMTQ4PF8weDViN2RjYTsrK18weDFiMzE0OCl7aWYoXzB4Mzk4Njg4PV8weDFmZGYzZltfMHgyZjJlNTkoJzB4YTU1JyldKF8weDFiMzE0OCksXzB4Mzk4Njg4PjB4ZDdmZiYmXzB4Mzk4Njg4PDB4ZTAwMCl7aWYoIV8weDVkMTQzNCl7aWYoXzB4Mzk4Njg4PjB4ZGJmZil7KF8weDU4NGRjYy09MHgzKT4tMHgxJiZfMHgxMDBiMjhbJ3B1c2gnXSgweGVmLDB4YmYsMHhiZCk7Y29udGludWU7fWlmKF8weDFiMzE0OCsweDE9PT1fMHg1YjdkY2EpeyhfMHg1ODRkY2MtPTB4Myk+LTB4MSYmXzB4MTAwYjI4W18weDJmMmU1OSgnMHg4YjcnKV0oMHhlZiwweGJmLDB4YmQpO2NvbnRpbnVlO31fMHg1ZDE0MzQ9XzB4Mzk4Njg4O2NvbnRpbnVlO31pZihfMHgzOTg2ODg8MHhkYzAwKXsoXzB4NTg0ZGNjLT0weDMpPi0weDEmJl8weDEwMGIyOFtfMHgyZjJlNTkoJzB4OGI3JyldKDB4ZWYsMHhiZiwweGJkKSxfMHg1ZDE0MzQ9XzB4Mzk4Njg4O2NvbnRpbnVlO31fMHgzOTg2ODg9MHgxMDAwMCsoXzB4NWQxNDM0LTB4ZDgwMDw8MHhhfF8weDM5ODY4OC0weGRjMDApO31lbHNlIF8weDVkMTQzNCYmKF8weDU4NGRjYy09MHgzKT4tMHgxJiZfMHgxMDBiMjhbXzB4MmYyZTU5KCcweDhiNycpXSgweGVmLDB4YmYsMHhiZCk7aWYoXzB4NWQxNDM0PW51bGwsXzB4Mzk4Njg4PDB4ODApe2lmKChfMHg1ODRkY2MtPTB4MSk8MHgwKWJyZWFrO18weDEwMGIyOFtfMHgyZjJlNTkoJzB4OGI3JyldKF8weDM5ODY4OCk7fWVsc2V7aWYoXzB4Mzk4Njg4PDB4ODAwKXtpZigoXzB4NTg0ZGNjLT0weDIpPDB4MClicmVhaztfMHgxMDBiMjhbJ3B1c2gnXShfMHgzOTg2ODg+PjB4NnwweGMwLDB4M2YmXzB4Mzk4Njg4fDB4ODApO31lbHNle2lmKF8weDM5ODY4ODwweDEwMDAwKXtpZigoXzB4NTg0ZGNjLT0weDMpPDB4MClicmVhaztfMHgxMDBiMjhbJ3B1c2gnXShfMHgzOTg2ODg+PjB4Y3wweGUwLF8weDM5ODY4OD4+MHg2JjB4M2Z8MHg4MCwweDNmJl8weDM5ODY4OHwweDgwKTt9ZWxzZXtpZighKF8weDM5ODY4ODwweDExMDAwMCkpdGhyb3cgbmV3IEVycm9yKF8weDJmMmU1OSgnMHhhMWInKSk7aWYoKF8weDU4NGRjYy09MHg0KTwweDApYnJlYWs7XzB4MTAwYjI4W18weDJmMmU1OSgnMHg4YjcnKV0oXzB4Mzk4Njg4Pj4weDEyfDB4ZjAsXzB4Mzk4Njg4Pj4weGMmMHgzZnwweDgwLF8weDM5ODY4OD4+MHg2JjB4M2Z8MHg4MCwweDNmJl8weDM5ODY4OHwweDgwKTt9fX19cmV0dXJuIF8weDEwMGIyODt9ZnVuY3Rpb24gXzB4NWYwMDU0KF8weDFhNmZkOCl7cmV0dXJuIF8weDU1MTFkNFsndG9CeXRlQXJyYXknXShmdW5jdGlvbihfMHg0ZGYwMWIpe3ZhciBfMHg0MDg4YmU9XzB4MTVhMztpZigoXzB4NGRmMDFiPShfMHg0ZGYwMWI9XzB4NGRmMDFiW18weDQwODhiZSgnMHg5OTQnKV0oJz0nKVsweDBdKVtfMHg0MDg4YmUoJzB4OGQ4JyldKClbXzB4NDA4OGJlKCcweDM2YycpXShfMHgyYThiYTgsJycpKVtfMHg0MDg4YmUoJzB4NTIwJyldPDB4MilyZXR1cm4nJztmb3IoO18weDRkZjAxYlsnbGVuZ3RoJ10lMHg0IT0weDA7KV8weDRkZjAxYis9Jz0nO3JldHVybiBfMHg0ZGYwMWI7fShfMHgxYTZmZDgpKTt9ZnVuY3Rpb24gXzB4NDhmODc5KF8weDYwMDVkNSxfMHg5ZmQ5OWEsXzB4NGE5MmJmLF8weDJkYmUyOCl7dmFyIF8weDMwMzQ0Yj1fMHg0YWJkOGQ7bGV0IF8weDE1ZGEwMjtmb3IoXzB4MTVkYTAyPTB4MDtfMHgxNWRhMDI8XzB4MmRiZTI4JiYhKF8weDE1ZGEwMitfMHg0YTkyYmY+PV8weDlmZDk5YVtfMHgzMDM0NGIoJzB4NTIwJyldfHxfMHgxNWRhMDI+PV8weDYwMDVkNVtfMHgzMDM0NGIoJzB4NTIwJyldKTsrK18weDE1ZGEwMilfMHg5ZmQ5OWFbXzB4MTVkYTAyK18weDRhOTJiZl09XzB4NjAwNWQ1W18weDE1ZGEwMl07cmV0dXJuIF8weDE1ZGEwMjt9ZnVuY3Rpb24gXzB4OTcwNDA2KF8weDRhNGE0OSxfMHgzNDE4OTApe3ZhciBfMHhiNGUxZDY9XzB4NGFiZDhkO3JldHVybiBfMHg0YTRhNDkgaW5zdGFuY2VvZiBfMHgzNDE4OTB8fG51bGwhPV8weDRhNGE0OSYmbnVsbCE9XzB4NGE0YTQ5W18weGI0ZTFkNignMHhiZmMnKV0mJm51bGwhPV8weDRhNGE0OVtfMHhiNGUxZDYoJzB4YmZjJyldW18weGI0ZTFkNignMHhiYzcnKV0mJl8weDRhNGE0OVtfMHhiNGUxZDYoJzB4YmZjJyldW18weGI0ZTFkNignMHhiYzcnKV09PT1fMHgzNDE4OTBbXzB4YjRlMWQ2KCcweGJjNycpXTt9ZnVuY3Rpb24gXzB4MTQ0ZDFlKF8weGJmYzA0ZCl7cmV0dXJuIF8weGJmYzA0ZCE9XzB4YmZjMDRkO31jb25zdCBfMHgyOGU1MDk9KGZ1bmN0aW9uKCl7dmFyIF8weDE5MjczYT1fMHg0YWJkOGQ7Y29uc3QgXzB4NDkwODgyPV8weDE5MjczYSgnMHg1M2UnKSxfMHg0N2UyMDY9bmV3IEFycmF5KDB4MTAwKTtmb3IobGV0IF8weGE0MDM4Yz0weDA7XzB4YTQwMzhjPDB4MTA7KytfMHhhNDAzOGMpe2NvbnN0IF8weDU3MTZkNj0weDEwKl8weGE0MDM4Yztmb3IobGV0IF8weDI3OGYzNT0weDA7XzB4Mjc4ZjM1PDB4MTA7KytfMHgyNzhmMzUpXzB4NDdlMjA2W18weDU3MTZkNitfMHgyNzhmMzVdPV8weDQ5MDg4MltfMHhhNDAzOGNdK18weDQ5MDg4MltfMHgyNzhmMzVdO31yZXR1cm4gXzB4NDdlMjA2O30oKSk7ZnVuY3Rpb24gXzB4MmYyZGM4KF8weDQ3Zjg2MCl7cmV0dXJuJ3VuZGVmaW5lZCc9PXR5cGVvZiBCaWdJbnQ/XzB4ZTkzYmI2Ol8weDQ3Zjg2MDt9ZnVuY3Rpb24gXzB4ZTkzYmI2KCl7dmFyIF8weDNlNmNjNT1fMHg0YWJkOGQ7dGhyb3cgbmV3IEVycm9yKF8weDNlNmNjNSgnMHhiNDEnKSk7fX0sMHgxYzQ6ZnVuY3Rpb24oXzB4NTczZWVlLF8weDM3MWFjOCxfMHg0NjUxOGMpe3ZhciBfMHgyYTE0ZjE9XzB4MTVhMyxfMHg2ZTVmMDQ7XzB4NTczZWVlW18weDJhMTRmMSgnMHgzMTQnKV09KF8weDZlNWYwND1fMHg0NjUxOGMoMHgyMDM5KSxfMHg0NjUxOGMoMHgyMDRkKSxfMHg0NjUxOGMoMHgyMDE2KSxfMHg0NjUxOGMoMHgzNzgpLF8weDQ2NTE4YygweDEzZjUpLChmdW5jdGlvbigpe3ZhciBfMHgxYTg0MDE9XzB4MmExNGYxLF8weDE2OGM5ZT1fMHg2ZTVmMDQsXzB4ODI2OTM1PV8weDE2OGM5ZVtfMHgxYTg0MDEoJzB4NTJmJyldW18weDFhODQwMSgnMHg2NzgnKV0sXzB4Mjk5ZGJiPV8weDE2OGM5ZVtfMHgxYTg0MDEoJzB4NGY2JyldLF8weDEyNGZjYT1bXSxfMHgxNWNkN2U9W10sXzB4MTBlNmUzPVtdLF8weDU2YTJhOT1bXSxfMHg0YzNhOTM9W10sXzB4MWE3ZDAwPVtdLF8weDI3NWVhMT1bXSxfMHgxNjhjMGE9W10sXzB4NWI0NmU0PVtdLF8weDQ3Mjc1NT1bXTshKGZ1bmN0aW9uKCl7Zm9yKHZhciBfMHg0OTI3NWE9W10sXzB4Mjc2ZjYyPTB4MDtfMHgyNzZmNjI8MHgxMDA7XzB4Mjc2ZjYyKyspXzB4NDkyNzVhW18weDI3NmY2Ml09XzB4Mjc2ZjYyPDB4ODA/XzB4Mjc2ZjYyPDwweDE6XzB4Mjc2ZjYyPDwweDFeMHgxMWI7dmFyIF8weDE3ZTU1ZT0weDAsXzB4NWQzMzk1PTB4MDtmb3IoXzB4Mjc2ZjYyPTB4MDtfMHgyNzZmNjI8MHgxMDA7XzB4Mjc2ZjYyKyspe3ZhciBfMHgxYWZkOTI9XzB4NWQzMzk1Xl8weDVkMzM5NTw8MHgxXl8weDVkMzM5NTw8MHgyXl8weDVkMzM5NTw8MHgzXl8weDVkMzM5NTw8MHg0O18weDFhZmQ5Mj1fMHgxYWZkOTI+Pj4weDheMHhmZiZfMHgxYWZkOTJeMHg2MyxfMHgxMjRmY2FbXzB4MTdlNTVlXT1fMHgxYWZkOTIsXzB4MTVjZDdlW18weDFhZmQ5Ml09XzB4MTdlNTVlO3ZhciBfMHgxNTkxNTE9XzB4NDkyNzVhW18weDE3ZTU1ZV0sXzB4YWM2OTU9XzB4NDkyNzVhW18weDE1OTE1MV0sXzB4MjIwMmZjPV8weDQ5Mjc1YVtfMHhhYzY5NV0sXzB4YzQ5MzdiPTB4MTAxKl8weDQ5Mjc1YVtfMHgxYWZkOTJdXjB4MTAxMDEwMCpfMHgxYWZkOTI7XzB4MTBlNmUzW18weDE3ZTU1ZV09XzB4YzQ5MzdiPDwweDE4fF8weGM0OTM3Yj4+PjB4OCxfMHg1NmEyYTlbXzB4MTdlNTVlXT1fMHhjNDkzN2I8PDB4MTB8XzB4YzQ5MzdiPj4+MHgxMCxfMHg0YzNhOTNbXzB4MTdlNTVlXT1fMHhjNDkzN2I8PDB4OHxfMHhjNDkzN2I+Pj4weDE4LF8weDFhN2QwMFtfMHgxN2U1NWVdPV8weGM0OTM3YixfMHhjNDkzN2I9MHgxMDEwMTAxKl8weDIyMDJmY14weDEwMDAxKl8weGFjNjk1XjB4MTAxKl8weDE1OTE1MV4weDEwMTAxMDAqXzB4MTdlNTVlLF8weDI3NWVhMVtfMHgxYWZkOTJdPV8weGM0OTM3Yjw8MHgxOHxfMHhjNDkzN2I+Pj4weDgsXzB4MTY4YzBhW18weDFhZmQ5Ml09XzB4YzQ5MzdiPDwweDEwfF8weGM0OTM3Yj4+PjB4MTAsXzB4NWI0NmU0W18weDFhZmQ5Ml09XzB4YzQ5MzdiPDwweDh8XzB4YzQ5MzdiPj4+MHgxOCxfMHg0NzI3NTVbXzB4MWFmZDkyXT1fMHhjNDkzN2IsXzB4MTdlNTVlPyhfMHgxN2U1NWU9XzB4MTU5MTUxXl8weDQ5Mjc1YVtfMHg0OTI3NWFbXzB4NDkyNzVhW18weDIyMDJmY15fMHgxNTkxNTFdXV0sXzB4NWQzMzk1Xj1fMHg0OTI3NWFbXzB4NDkyNzVhW18weDVkMzM5NV1dKTpfMHgxN2U1NWU9XzB4NWQzMzk1PTB4MTt9fSgpKTt2YXIgXzB4NGVkMTY1PVsweDAsMHgxLDB4MiwweDQsMHg4LDB4MTAsMHgyMCwweDQwLDB4ODAsMHgxYiwweDM2XSxfMHgyNDJjZjY9XzB4Mjk5ZGJiW18weDFhODQwMSgnMHgzYTgnKV09XzB4ODI2OTM1WydleHRlbmQnXSh7J19kb1Jlc2V0JzpmdW5jdGlvbigpe3ZhciBfMHgxNDQwYzU9XzB4MWE4NDAxO2lmKCF0aGlzWydfblJvdW5kcyddfHx0aGlzWydfa2V5UHJpb3JSZXNldCddIT09dGhpc1snX2tleSddKXtmb3IodmFyIF8weGU0MjhhPXRoaXNbJ19rZXlQcmlvclJlc2V0J109dGhpc1tfMHgxNDQwYzUoJzB4N2UyJyldLF8weDRjOGNlMz1fMHhlNDI4YVtfMHgxNDQwYzUoJzB4OTcyJyldLF8weDQzZGQyZT1fMHhlNDI4YVtfMHgxNDQwYzUoJzB4MmNlJyldLzB4NCxfMHgyZjUyMzU9MHg0KigodGhpc1tfMHgxNDQwYzUoJzB4ODQ4JyldPV8weDQzZGQyZSsweDYpKzB4MSksXzB4MjI0ODhlPXRoaXNbXzB4MTQ0MGM1KCcweDFhMScpXT1bXSxfMHgxOTA5MzE9MHgwO18weDE5MDkzMTxfMHgyZjUyMzU7XzB4MTkwOTMxKyspaWYoXzB4MTkwOTMxPF8weDQzZGQyZSlfMHgyMjQ4OGVbXzB4MTkwOTMxXT1fMHg0YzhjZTNbXzB4MTkwOTMxXTtlbHNle3ZhciBfMHg3M2E3MGQ9XzB4MjI0ODhlW18weDE5MDkzMS0weDFdO18weDE5MDkzMSVfMHg0M2RkMmU/XzB4NDNkZDJlPjB4NiYmXzB4MTkwOTMxJV8weDQzZGQyZT09MHg0JiYoXzB4NzNhNzBkPV8weDEyNGZjYVtfMHg3M2E3MGQ+Pj4weDE4XTw8MHgxOHxfMHgxMjRmY2FbXzB4NzNhNzBkPj4+MHgxMCYweGZmXTw8MHgxMHxfMHgxMjRmY2FbXzB4NzNhNzBkPj4+MHg4JjB4ZmZdPDwweDh8XzB4MTI0ZmNhWzB4ZmYmXzB4NzNhNzBkXSk6KF8weDczYTcwZD1fMHgxMjRmY2FbKF8weDczYTcwZD1fMHg3M2E3MGQ8PDB4OHxfMHg3M2E3MGQ+Pj4weDE4KT4+PjB4MThdPDwweDE4fF8weDEyNGZjYVtfMHg3M2E3MGQ+Pj4weDEwJjB4ZmZdPDwweDEwfF8weDEyNGZjYVtfMHg3M2E3MGQ+Pj4weDgmMHhmZl08PDB4OHxfMHgxMjRmY2FbMHhmZiZfMHg3M2E3MGRdLF8weDczYTcwZF49XzB4NGVkMTY1W18weDE5MDkzMS9fMHg0M2RkMmV8MHgwXTw8MHgxOCksXzB4MjI0ODhlW18weDE5MDkzMV09XzB4MjI0ODhlW18weDE5MDkzMS1fMHg0M2RkMmVdXl8weDczYTcwZDt9Zm9yKHZhciBfMHhiODMzNTk9dGhpc1snX2ludktleVNjaGVkdWxlJ109W10sXzB4MTU4YWVjPTB4MDtfMHgxNThhZWM8XzB4MmY1MjM1O18weDE1OGFlYysrKV8weDE5MDkzMT1fMHgyZjUyMzUtXzB4MTU4YWVjLF8weDczYTcwZD1fMHgxNThhZWMlMHg0P18weDIyNDg4ZVtfMHgxOTA5MzFdOl8weDIyNDg4ZVtfMHgxOTA5MzEtMHg0XSxfMHhiODMzNTlbXzB4MTU4YWVjXT1fMHgxNThhZWM8MHg0fHxfMHgxOTA5MzE8PTB4ND9fMHg3M2E3MGQ6XzB4Mjc1ZWExW18weDEyNGZjYVtfMHg3M2E3MGQ+Pj4weDE4XV1eXzB4MTY4YzBhW18weDEyNGZjYVtfMHg3M2E3MGQ+Pj4weDEwJjB4ZmZdXV5fMHg1YjQ2ZTRbXzB4MTI0ZmNhW18weDczYTcwZD4+PjB4OCYweGZmXV1eXzB4NDcyNzU1W18weDEyNGZjYVsweGZmJl8weDczYTcwZF1dO319LCdlbmNyeXB0QmxvY2snOmZ1bmN0aW9uKF8weDJhOGExZixfMHg1ODQ2YTIpe3ZhciBfMHgxZjIxZDc9XzB4MWE4NDAxO3RoaXNbXzB4MWYyMWQ3KCcweGMyMScpXShfMHgyYThhMWYsXzB4NTg0NmEyLHRoaXNbXzB4MWYyMWQ3KCcweDFhMScpXSxfMHgxMGU2ZTMsXzB4NTZhMmE5LF8weDRjM2E5MyxfMHgxYTdkMDAsXzB4MTI0ZmNhKTt9LCdkZWNyeXB0QmxvY2snOmZ1bmN0aW9uKF8weDEzMDY1NyxfMHg0OGQxNTYpe3ZhciBfMHgzMmExMjI9XzB4MWE4NDAxLF8weDcwYWY0Mz1fMHgxMzA2NTdbXzB4NDhkMTU2KzB4MV07XzB4MTMwNjU3W18weDQ4ZDE1NisweDFdPV8weDEzMDY1N1tfMHg0OGQxNTYrMHgzXSxfMHgxMzA2NTdbXzB4NDhkMTU2KzB4M109XzB4NzBhZjQzLHRoaXNbXzB4MzJhMTIyKCcweGMyMScpXShfMHgxMzA2NTcsXzB4NDhkMTU2LHRoaXNbXzB4MzJhMTIyKCcweDZiZScpXSxfMHgyNzVlYTEsXzB4MTY4YzBhLF8weDViNDZlNCxfMHg0NzI3NTUsXzB4MTVjZDdlKSxfMHg3MGFmNDM9XzB4MTMwNjU3W18weDQ4ZDE1NisweDFdLF8weDEzMDY1N1tfMHg0OGQxNTYrMHgxXT1fMHgxMzA2NTdbXzB4NDhkMTU2KzB4M10sXzB4MTMwNjU3W18weDQ4ZDE1NisweDNdPV8weDcwYWY0Mzt9LCdfZG9DcnlwdEJsb2NrJzpmdW5jdGlvbihfMHgzZjViMGIsXzB4NDcyODE2LF8weDU5M2RjMixfMHg1YTg0MDksXzB4M2JmOWJiLF8weDQxYzY4ZixfMHgyZmU2YzIsXzB4MTJjOWFjKXtmb3IodmFyIF8weDM1OGFiOT10aGlzWydfblJvdW5kcyddLF8weDM0ZjEyYT1fMHgzZjViMGJbXzB4NDcyODE2XV5fMHg1OTNkYzJbMHgwXSxfMHgzMzE0NDA9XzB4M2Y1YjBiW18weDQ3MjgxNisweDFdXl8weDU5M2RjMlsweDFdLF8weGI0NTY4ZT1fMHgzZjViMGJbXzB4NDcyODE2KzB4Ml1eXzB4NTkzZGMyWzB4Ml0sXzB4MTJlMWUyPV8weDNmNWIwYltfMHg0NzI4MTYrMHgzXV5fMHg1OTNkYzJbMHgzXSxfMHgzYzEzOTI9MHg0LF8weDVhN2Y4Mj0weDE7XzB4NWE3ZjgyPF8weDM1OGFiOTtfMHg1YTdmODIrKyl7dmFyIF8weDRjMTUxMj1fMHg1YTg0MDlbXzB4MzRmMTJhPj4+MHgxOF1eXzB4M2JmOWJiW18weDMzMTQ0MD4+PjB4MTAmMHhmZl1eXzB4NDFjNjhmW18weGI0NTY4ZT4+PjB4OCYweGZmXV5fMHgyZmU2YzJbMHhmZiZfMHgxMmUxZTJdXl8weDU5M2RjMltfMHgzYzEzOTIrK10sXzB4ZmY3MWRmPV8weDVhODQwOVtfMHgzMzE0NDA+Pj4weDE4XV5fMHgzYmY5YmJbXzB4YjQ1NjhlPj4+MHgxMCYweGZmXV5fMHg0MWM2OGZbXzB4MTJlMWUyPj4+MHg4JjB4ZmZdXl8weDJmZTZjMlsweGZmJl8weDM0ZjEyYV1eXzB4NTkzZGMyW18weDNjMTM5MisrXSxfMHgyMWUxMTc9XzB4NWE4NDA5W18weGI0NTY4ZT4+PjB4MThdXl8weDNiZjliYltfMHgxMmUxZTI+Pj4weDEwJjB4ZmZdXl8weDQxYzY4ZltfMHgzNGYxMmE+Pj4weDgmMHhmZl1eXzB4MmZlNmMyWzB4ZmYmXzB4MzMxNDQwXV5fMHg1OTNkYzJbXzB4M2MxMzkyKytdLF8weDNhMTU2NT1fMHg1YTg0MDlbXzB4MTJlMWUyPj4+MHgxOF1eXzB4M2JmOWJiW18weDM0ZjEyYT4+PjB4MTAmMHhmZl1eXzB4NDFjNjhmW18weDMzMTQ0MD4+PjB4OCYweGZmXV5fMHgyZmU2YzJbMHhmZiZfMHhiNDU2OGVdXl8weDU5M2RjMltfMHgzYzEzOTIrK107XzB4MzRmMTJhPV8weDRjMTUxMixfMHgzMzE0NDA9XzB4ZmY3MWRmLF8weGI0NTY4ZT1fMHgyMWUxMTcsXzB4MTJlMWUyPV8weDNhMTU2NTt9XzB4NGMxNTEyPShfMHgxMmM5YWNbXzB4MzRmMTJhPj4+MHgxOF08PDB4MTh8XzB4MTJjOWFjW18weDMzMTQ0MD4+PjB4MTAmMHhmZl08PDB4MTB8XzB4MTJjOWFjW18weGI0NTY4ZT4+PjB4OCYweGZmXTw8MHg4fF8weDEyYzlhY1sweGZmJl8weDEyZTFlMl0pXl8weDU5M2RjMltfMHgzYzEzOTIrK10sXzB4ZmY3MWRmPShfMHgxMmM5YWNbXzB4MzMxNDQwPj4+MHgxOF08PDB4MTh8XzB4MTJjOWFjW18weGI0NTY4ZT4+PjB4MTAmMHhmZl08PDB4MTB8XzB4MTJjOWFjW18weDEyZTFlMj4+PjB4OCYweGZmXTw8MHg4fF8weDEyYzlhY1sweGZmJl8weDM0ZjEyYV0pXl8weDU5M2RjMltfMHgzYzEzOTIrK10sXzB4MjFlMTE3PShfMHgxMmM5YWNbXzB4YjQ1NjhlPj4+MHgxOF08PDB4MTh8XzB4MTJjOWFjW18weDEyZTFlMj4+PjB4MTAmMHhmZl08PDB4MTB8XzB4MTJjOWFjW18weDM0ZjEyYT4+PjB4OCYweGZmXTw8MHg4fF8weDEyYzlhY1sweGZmJl8weDMzMTQ0MF0pXl8weDU5M2RjMltfMHgzYzEzOTIrK10sXzB4M2ExNTY1PShfMHgxMmM5YWNbXzB4MTJlMWUyPj4+MHgxOF08PDB4MTh8XzB4MTJjOWFjW18weDM0ZjEyYT4+PjB4MTAmMHhmZl08PDB4MTB8XzB4MTJjOWFjW18weDMzMTQ0MD4+PjB4OCYweGZmXTw8MHg4fF8weDEyYzlhY1sweGZmJl8weGI0NTY4ZV0pXl8weDU5M2RjMltfMHgzYzEzOTIrK10sXzB4M2Y1YjBiW18weDQ3MjgxNl09XzB4NGMxNTEyLF8weDNmNWIwYltfMHg0NzI4MTYrMHgxXT1fMHhmZjcxZGYsXzB4M2Y1YjBiW18weDQ3MjgxNisweDJdPV8weDIxZTExNyxfMHgzZjViMGJbXzB4NDcyODE2KzB4M109XzB4M2ExNTY1O30sJ2tleVNpemUnOjB4OH0pO18weDE2OGM5ZVsnQUVTJ109XzB4ODI2OTM1W18weDFhODQwMSgnMHg4NDAnKV0oXzB4MjQyY2Y2KTt9KCkpLF8weDZlNWYwNFtfMHgyYTE0ZjEoJzB4M2E4JyldKTt9LDB4MTNmNTpmdW5jdGlvbihfMHg1MmY3NjgsXzB4M2Q1NDVkLF8weDI1YmZiZCl7dmFyIF8weDI0ZDE0MD1fMHgxNWEzLF8weDJmN2FmNyxfMHg5Y2FlZDcsXzB4NWE5ZjljLF8weDMzMmEyMixfMHgyZTg0ZGEsXzB4NGZhMjE0LF8weDRlZTZhNixfMHgxMTc0ZGIsXzB4NDYyMDhiLF8weDI1YTc3NSxfMHg1MDQ4NzYsXzB4MjcwNjk3LF8weDJlNTA1ZixfMHgxYWJkNmUsXzB4NTk1YjViLF8weDQ3MGMyYixfMHg0OTNhZDgsXzB4M2Y3MmVlLF8weDRmYTg5NjtfMHg1MmY3NjhbXzB4MjRkMTQwKCcweDMxNCcpXT0oXzB4MmY3YWY3PV8weDI1YmZiZCgweDIwMzkpLF8weDI1YmZiZCgweDM3OCksdm9pZChfMHgyZjdhZjdbXzB4MjRkMTQwKCcweDUyZicpXVtfMHgyNGQxNDAoJzB4NDhkJyldfHwoXzB4OWNhZWQ3PV8weDJmN2FmNyxfMHg1YTlmOWM9XzB4OWNhZWQ3W18weDI0ZDE0MCgnMHg1MmYnKV0sXzB4MzMyYTIyPV8weDVhOWY5Y1snQmFzZSddLF8weDJlODRkYT1fMHg1YTlmOWNbXzB4MjRkMTQwKCcweDM3NycpXSxfMHg0ZmEyMTQ9XzB4NWE5ZjljW18weDI0ZDE0MCgnMHg3NzAnKV0sXzB4NGVlNmE2PV8weDljYWVkN1tfMHgyNGQxNDAoJzB4MjM5JyldLF8weDRlZTZhNltfMHgyNGQxNDAoJzB4NDA2JyldLF8weDExNzRkYj1fMHg0ZWU2YTZbXzB4MjRkMTQwKCcweDJjNCcpXSxfMHg0NjIwOGI9XzB4OWNhZWQ3WydhbGdvJ11bXzB4MjRkMTQwKCcweDQ2MicpXSxfMHgyNWE3NzU9XzB4NWE5ZjljWydDaXBoZXInXT1fMHg0ZmEyMTRbXzB4MjRkMTQwKCcweDdlOScpXSh7J2NmZyc6XzB4MzMyYTIyW18weDI0ZDE0MCgnMHg3ZTknKV0oKSwnY3JlYXRlRW5jcnlwdG9yJzpmdW5jdGlvbihfMHhhN2JmNjMsXzB4NTUzMzM2KXt2YXIgXzB4MWNmMGIyPV8weDI0ZDE0MDtyZXR1cm4gdGhpc1snY3JlYXRlJ10odGhpc1tfMHgxY2YwYjIoJzB4YmI5JyldLF8weGE3YmY2MyxfMHg1NTMzMzYpO30sJ2NyZWF0ZURlY3J5cHRvcic6ZnVuY3Rpb24oXzB4M2YzMjk4LF8weDExNDI1Yil7dmFyIF8weDE1ODVkOT1fMHgyNGQxNDA7cmV0dXJuIHRoaXNbXzB4MTU4NWQ5KCcweDdlMScpXSh0aGlzW18weDE1ODVkOSgnMHhhNjQnKV0sXzB4M2YzMjk4LF8weDExNDI1Yik7fSwnaW5pdCc6ZnVuY3Rpb24oXzB4NWU5MDExLF8weDRjYmE2ZixfMHg0MDdlNDgpe3ZhciBfMHgyYzU2YWQ9XzB4MjRkMTQwO3RoaXNbXzB4MmM1NmFkKCcweDI2MycpXT10aGlzWydjZmcnXVtfMHgyYzU2YWQoJzB4N2U5JyldKF8weDQwN2U0OCksdGhpc1tfMHgyYzU2YWQoJzB4MzYyJyldPV8weDVlOTAxMSx0aGlzW18weDJjNTZhZCgnMHg3ZTInKV09XzB4NGNiYTZmLHRoaXNbJ3Jlc2V0J10oKTt9LCdyZXNldCc6ZnVuY3Rpb24oKXt2YXIgXzB4NDhhYTIyPV8weDI0ZDE0MDtfMHg0ZmEyMTRbJ3Jlc2V0J11bXzB4NDhhYTIyKCcweDVmZCcpXSh0aGlzKSx0aGlzW18weDQ4YWEyMignMHg5NWYnKV0oKTt9LCdwcm9jZXNzJzpmdW5jdGlvbihfMHgxNDAxYzcpe3ZhciBfMHg1MjY3MmI9XzB4MjRkMTQwO3JldHVybiB0aGlzW18weDUyNjcyYignMHgzYzAnKV0oXzB4MTQwMWM3KSx0aGlzWydfcHJvY2VzcyddKCk7fSwnZmluYWxpemUnOmZ1bmN0aW9uKF8weGIzYTlmNSl7dmFyIF8weDVjNDk0ND1fMHgyNGQxNDA7cmV0dXJuIF8weGIzYTlmNSYmdGhpc1tfMHg1YzQ5NDQoJzB4M2MwJyldKF8weGIzYTlmNSksdGhpc1tfMHg1YzQ5NDQoJzB4ZDBhJyldKCk7fSwna2V5U2l6ZSc6MHg0LCdpdlNpemUnOjB4NCwnX0VOQ19YRk9STV9NT0RFJzoweDEsJ19ERUNfWEZPUk1fTU9ERSc6MHgyLCdfY3JlYXRlSGVscGVyJzooZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHg4ODg5ZjAoXzB4YWUzMjhlKXt2YXIgXzB4NDM3ZTM2PV8weDE1YTM7cmV0dXJuIF8weDQzN2UzNignMHg2NWYnKT09dHlwZW9mIF8weGFlMzI4ZT9fMHg0ZmE4OTY6XzB4NDkzYWQ4O31yZXR1cm4gZnVuY3Rpb24oXzB4Mzk4YTczKXtyZXR1cm57J2VuY3J5cHQnOmZ1bmN0aW9uKF8weDMwMTc2NyxfMHgzOGRjZGIsXzB4NGUzY2Y0KXt2YXIgXzB4NGM4ZTRkPV8weDE1YTM7cmV0dXJuIF8weDg4ODlmMChfMHgzOGRjZGIpW18weDRjOGU0ZCgnMHgzODknKV0oXzB4Mzk4YTczLF8weDMwMTc2NyxfMHgzOGRjZGIsXzB4NGUzY2Y0KTt9LCdkZWNyeXB0JzpmdW5jdGlvbihfMHgyYjJlNzEsXzB4YzE1MWExLF8weDhiYjUzMCl7dmFyIF8weDM5MGIwYj1fMHgxNWEzO3JldHVybiBfMHg4ODg5ZjAoXzB4YzE1MWExKVtfMHgzOTBiMGIoJzB4YjM4JyldKF8weDM5OGE3MyxfMHgyYjJlNzEsXzB4YzE1MWExLF8weDhiYjUzMCk7fX07fTt9KCkpfSksXzB4NWE5ZjljW18weDI0ZDE0MCgnMHg4YWEnKV09XzB4MjVhNzc1WydleHRlbmQnXSh7J19kb0ZpbmFsaXplJzpmdW5jdGlvbigpe3ZhciBfMHg0MTVkMDQ9XzB4MjRkMTQwO3JldHVybiB0aGlzW18weDQxNWQwNCgnMHhiNWQnKV0oITB4MCk7fSwnYmxvY2tTaXplJzoweDF9KSxfMHg1MDQ4NzY9XzB4OWNhZWQ3W18weDI0ZDE0MCgnMHhhOGEnKV09e30sXzB4MjcwNjk3PV8weDVhOWY5Y1tfMHgyNGQxNDAoJzB4NmQ1JyldPV8weDMzMmEyMlsnZXh0ZW5kJ10oeydjcmVhdGVFbmNyeXB0b3InOmZ1bmN0aW9uKF8weDJjZWY1ZCxfMHg0OGIzYjMpe3ZhciBfMHgzNzRmZDQ9XzB4MjRkMTQwO3JldHVybiB0aGlzW18weDM3NGZkNCgnMHg0ZWEnKV1bXzB4Mzc0ZmQ0KCcweDdlMScpXShfMHgyY2VmNWQsXzB4NDhiM2IzKTt9LCdjcmVhdGVEZWNyeXB0b3InOmZ1bmN0aW9uKF8weGQwZTNlZCxfMHgxZTZmYzkpe3ZhciBfMHhmYzYyMzY9XzB4MjRkMTQwO3JldHVybiB0aGlzWydEZWNyeXB0b3InXVtfMHhmYzYyMzYoJzB4N2UxJyldKF8weGQwZTNlZCxfMHgxZTZmYzkpO30sJ2luaXQnOmZ1bmN0aW9uKF8weDI1ZmM4NyxfMHg1Nzg2Y2Ype3ZhciBfMHgzYTUzYWQ9XzB4MjRkMTQwO3RoaXNbXzB4M2E1M2FkKCcweDZkNycpXT1fMHgyNWZjODcsdGhpc1tfMHgzYTUzYWQoJzB4NGYwJyldPV8weDU3ODZjZjt9fSksXzB4MmU1MDVmPV8weDUwNDg3NltfMHgyNGQxNDAoJzB4OTI3JyldPShmdW5jdGlvbigpe3ZhciBfMHgxMjI3OTQ9XzB4MjRkMTQwLF8weDUxMjM3Nj1fMHgyNzA2OTdbXzB4MTIyNzk0KCcweDdlOScpXSgpO2Z1bmN0aW9uIF8weDRjMWZlMihfMHg1YzMwZTksXzB4MmM0OWIwLF8weDMxNjRlKXt2YXIgXzB4MTdmNjI0PV8weDEyMjc5NCxfMHg0ZDkzMTE9dGhpc1tfMHgxN2Y2MjQoJzB4NGYwJyldO2lmKF8weDRkOTMxMSl7dmFyIF8weDJiZmRiNz1fMHg0ZDkzMTE7dGhpc1tfMHgxN2Y2MjQoJzB4NGYwJyldPXZvaWQgMHgwO31lbHNlIF8weDJiZmRiNz10aGlzW18weDE3ZjYyNCgnMHg3YzcnKV07Zm9yKHZhciBfMHgxMGYzOGY9MHgwO18weDEwZjM4ZjxfMHgzMTY0ZTtfMHgxMGYzOGYrKylfMHg1YzMwZTlbXzB4MmM0OWIwK18weDEwZjM4Zl1ePV8weDJiZmRiN1tfMHgxMGYzOGZdO31yZXR1cm4gXzB4NTEyMzc2W18weDEyMjc5NCgnMHg0ZWEnKV09XzB4NTEyMzc2WydleHRlbmQnXSh7J3Byb2Nlc3NCbG9jayc6ZnVuY3Rpb24oXzB4ZGY3NjZkLF8weDViYjJiKXt2YXIgXzB4MmVmM2IwPV8weDEyMjc5NCxfMHgzYmMwYTc9dGhpc1tfMHgyZWYzYjAoJzB4NmQ3JyldLF8weDQ4NGJiND1fMHgzYmMwYTdbXzB4MmVmM2IwKCcweGM2NScpXTtfMHg0YzFmZTJbXzB4MmVmM2IwKCcweDVmZCcpXSh0aGlzLF8weGRmNzY2ZCxfMHg1YmIyYixfMHg0ODRiYjQpLF8weDNiYzBhN1tfMHgyZWYzYjAoJzB4YTk4JyldKF8weGRmNzY2ZCxfMHg1YmIyYiksdGhpc1tfMHgyZWYzYjAoJzB4N2M3JyldPV8weGRmNzY2ZFtfMHgyZWYzYjAoJzB4YWRhJyldKF8weDViYjJiLF8weDViYjJiK18weDQ4NGJiNCk7fX0pLF8weDUxMjM3NltfMHgxMjI3OTQoJzB4MWVlJyldPV8weDUxMjM3NlsnZXh0ZW5kJ10oeydwcm9jZXNzQmxvY2snOmZ1bmN0aW9uKF8weDRlYWIxMyxfMHgyNTZhY2Ype3ZhciBfMHg0Yjg0NTE9XzB4MTIyNzk0LF8weDEwOTk3Yz10aGlzWydfY2lwaGVyJ10sXzB4MzQ0NGU1PV8weDEwOTk3Y1tfMHg0Yjg0NTEoJzB4YzY1JyldLF8weDRkMTgyZD1fMHg0ZWFiMTNbXzB4NGI4NDUxKCcweGFkYScpXShfMHgyNTZhY2YsXzB4MjU2YWNmK18weDM0NDRlNSk7XzB4MTA5OTdjW18weDRiODQ1MSgnMHg1NmInKV0oXzB4NGVhYjEzLF8weDI1NmFjZiksXzB4NGMxZmUyW18weDRiODQ1MSgnMHg1ZmQnKV0odGhpcyxfMHg0ZWFiMTMsXzB4MjU2YWNmLF8weDM0NDRlNSksdGhpc1tfMHg0Yjg0NTEoJzB4N2M3JyldPV8weDRkMTgyZDt9fSksXzB4NTEyMzc2O30oKSksXzB4MWFiZDZlPShfMHg5Y2FlZDdbJ3BhZCddPXt9KVsnUGtjczcnXT17J3BhZCc6ZnVuY3Rpb24oXzB4MTAzOTk3LF8weDNjYjE4OCl7dmFyIF8weDUxNTNlOD1fMHgyNGQxNDA7Zm9yKHZhciBfMHgxN2FjODU9MHg0Kl8weDNjYjE4OCxfMHg1MjMwNmQ9XzB4MTdhYzg1LV8weDEwMzk5N1snc2lnQnl0ZXMnXSVfMHgxN2FjODUsXzB4MzVjZmUwPV8weDUyMzA2ZDw8MHgxOHxfMHg1MjMwNmQ8PDB4MTB8XzB4NTIzMDZkPDwweDh8XzB4NTIzMDZkLF8weDE3OGI1Yj1bXSxfMHg0MDJmMWE9MHgwO18weDQwMmYxYTxfMHg1MjMwNmQ7XzB4NDAyZjFhKz0weDQpXzB4MTc4YjViW18weDUxNTNlOCgnMHg4YjcnKV0oXzB4MzVjZmUwKTt2YXIgXzB4M2Q3NzkyPV8weDJlODRkYVtfMHg1MTUzZTgoJzB4N2UxJyldKF8weDE3OGI1YixfMHg1MjMwNmQpO18weDEwMzk5N1tfMHg1MTUzZTgoJzB4NTMwJyldKF8weDNkNzc5Mik7fSwndW5wYWQnOmZ1bmN0aW9uKF8weDNlMmNlNyl7dmFyIF8weDcyMTg0Yz1fMHgyNGQxNDAsXzB4MTQyZDA2PTB4ZmYmXzB4M2UyY2U3W18weDcyMTg0YygnMHg5NzInKV1bXzB4M2UyY2U3W18weDcyMTg0YygnMHgyY2UnKV0tMHgxPj4+MHgyXTtfMHgzZTJjZTdbXzB4NzIxODRjKCcweDJjZScpXS09XzB4MTQyZDA2O319LF8weDVhOWY5Y1snQmxvY2tDaXBoZXInXT1fMHgyNWE3NzVbXzB4MjRkMTQwKCcweDdlOScpXSh7J2NmZyc6XzB4MjVhNzc1W18weDI0ZDE0MCgnMHgyNjMnKV1bJ2V4dGVuZCddKHsnbW9kZSc6XzB4MmU1MDVmLCdwYWRkaW5nJzpfMHgxYWJkNmV9KSwncmVzZXQnOmZ1bmN0aW9uKCl7dmFyIF8weDQ0MWYzNj1fMHgyNGQxNDA7XzB4MjVhNzc1WydyZXNldCddW18weDQ0MWYzNignMHg1ZmQnKV0odGhpcyk7dmFyIF8weDE0NzRmZT10aGlzW18weDQ0MWYzNignMHgyNjMnKV0sXzB4NDc3MzIyPV8weDE0NzRmZVsnaXYnXSxfMHgxNDZjODQ9XzB4MTQ3NGZlW18weDQ0MWYzNignMHhhOGEnKV07aWYodGhpc1tfMHg0NDFmMzYoJzB4MzYyJyldPT10aGlzW18weDQ0MWYzNignMHhiYjknKV0pdmFyIF8weDI2YzUzND1fMHgxNDZjODRbJ2NyZWF0ZUVuY3J5cHRvciddO2Vsc2UgXzB4MjZjNTM0PV8weDE0NmM4NFsnY3JlYXRlRGVjcnlwdG9yJ10sdGhpc1snX21pbkJ1ZmZlclNpemUnXT0weDE7dGhpc1tfMHg0NDFmMzYoJzB4NmYyJyldJiZ0aGlzW18weDQ0MWYzNignMHg2ZjInKV1bJ19fY3JlYXRvciddPT1fMHgyNmM1MzQ/dGhpc1snX21vZGUnXVtfMHg0NDFmMzYoJzB4YzEzJyldKHRoaXMsXzB4NDc3MzIyJiZfMHg0NzczMjJbXzB4NDQxZjM2KCcweDk3MicpXSk6KHRoaXNbXzB4NDQxZjM2KCcweDZmMicpXT1fMHgyNmM1MzRbXzB4NDQxZjM2KCcweDVmZCcpXShfMHgxNDZjODQsdGhpcyxfMHg0NzczMjImJl8weDQ3NzMyMltfMHg0NDFmMzYoJzB4OTcyJyldKSx0aGlzW18weDQ0MWYzNignMHg2ZjInKV1bJ19fY3JlYXRvciddPV8weDI2YzUzNCk7fSwnX2RvUHJvY2Vzc0Jsb2NrJzpmdW5jdGlvbihfMHgxMzZjMzcsXzB4M2NiMmFiKXt2YXIgXzB4MjkzMjU4PV8weDI0ZDE0MDt0aGlzW18weDI5MzI1OCgnMHg2ZjInKV1bXzB4MjkzMjU4KCcweDNkNScpXShfMHgxMzZjMzcsXzB4M2NiMmFiKTt9LCdfZG9GaW5hbGl6ZSc6ZnVuY3Rpb24oKXt2YXIgXzB4MmIxZWE0PV8weDI0ZDE0MCxfMHg0MDJkNjY9dGhpc1tfMHgyYjFlYTQoJzB4MjYzJyldWydwYWRkaW5nJ107aWYodGhpc1snX3hmb3JtTW9kZSddPT10aGlzWydfRU5DX1hGT1JNX01PREUnXSl7XzB4NDAyZDY2W18weDJiMWVhNCgnMHg5OGInKV0odGhpc1snX2RhdGEnXSx0aGlzW18weDJiMWVhNCgnMHhjNjUnKV0pO3ZhciBfMHgxNjdkZT10aGlzW18weDJiMWVhNCgnMHhiNWQnKV0oITB4MCk7fWVsc2UgXzB4MTY3ZGU9dGhpc1tfMHgyYjFlYTQoJzB4YjVkJyldKCEweDApLF8weDQwMmQ2NltfMHgyYjFlYTQoJzB4Yjg0JyldKF8weDE2N2RlKTtyZXR1cm4gXzB4MTY3ZGU7fSwnYmxvY2tTaXplJzoweDR9KSxfMHg1OTViNWI9XzB4NWE5ZjljW18weDI0ZDE0MCgnMHgzYjMnKV09XzB4MzMyYTIyWydleHRlbmQnXSh7J2luaXQnOmZ1bmN0aW9uKF8weDVlYTM4Zil7dGhpc1snbWl4SW4nXShfMHg1ZWEzOGYpO30sJ3RvU3RyaW5nJzpmdW5jdGlvbihfMHgzZGQ1NWQpe3ZhciBfMHgzYWRhYzQ9XzB4MjRkMTQwO3JldHVybihfMHgzZGQ1NWR8fHRoaXNbXzB4M2FkYWM0KCcweDZhOCcpXSlbXzB4M2FkYWM0KCcweDMxZicpXSh0aGlzKTt9fSksXzB4NDcwYzJiPShfMHg5Y2FlZDdbJ2Zvcm1hdCddPXt9KVtfMHgyNGQxNDAoJzB4M2U1JyldPXsnc3RyaW5naWZ5JzpmdW5jdGlvbihfMHgxMmQwM2Epe3ZhciBfMHgxNTRmMDc9XzB4MjRkMTQwLF8weDRkMTRiMj1fMHgxMmQwM2FbXzB4MTU0ZjA3KCcweDMwOCcpXSxfMHg4N2VlOT1fMHgxMmQwM2FbXzB4MTU0ZjA3KCcweDIwZicpXTtpZihfMHg4N2VlOSl2YXIgXzB4NWFiNjYyPV8weDJlODRkYVtfMHgxNTRmMDcoJzB4N2UxJyldKFsweDUzNjE2Yzc0LDB4NjU2NDVmNWZdKVtfMHgxNTRmMDcoJzB4NTMwJyldKF8weDg3ZWU5KVtfMHgxNTRmMDcoJzB4NTMwJyldKF8weDRkMTRiMik7ZWxzZSBfMHg1YWI2NjI9XzB4NGQxNGIyO3JldHVybiBfMHg1YWI2NjJbXzB4MTU0ZjA3KCcweDU0NycpXShfMHgxMTc0ZGIpO30sJ3BhcnNlJzpmdW5jdGlvbihfMHg0YWVhMTgpe3ZhciBfMHgzN2EyOGY9XzB4MjRkMTQwLF8weDIzZDUyMj1fMHgxMTc0ZGJbXzB4MzdhMjhmKCcweGJmOScpXShfMHg0YWVhMTgpLF8weDFjOTRhZj1fMHgyM2Q1MjJbXzB4MzdhMjhmKCcweDk3MicpXTtpZigweDUzNjE2Yzc0PT1fMHgxYzk0YWZbMHgwXSYmMHg2NTY0NWY1Zj09XzB4MWM5NGFmWzB4MV0pe3ZhciBfMHhiY2VhNzA9XzB4MmU4NGRhW18weDM3YTI4ZignMHg3ZTEnKV0oXzB4MWM5NGFmW18weDM3YTI4ZignMHhhZGEnKV0oMHgyLDB4NCkpO18weDFjOTRhZltfMHgzN2EyOGYoJzB4YTRkJyldKDB4MCwweDQpLF8weDIzZDUyMltfMHgzN2EyOGYoJzB4MmNlJyldLT0weDEwO31yZXR1cm4gXzB4NTk1YjViW18weDM3YTI4ZignMHg3ZTEnKV0oeydjaXBoZXJ0ZXh0JzpfMHgyM2Q1MjIsJ3NhbHQnOl8weGJjZWE3MH0pO319LF8weDQ5M2FkOD1fMHg1YTlmOWNbJ1NlcmlhbGl6YWJsZUNpcGhlciddPV8weDMzMmEyMlsnZXh0ZW5kJ10oeydjZmcnOl8weDMzMmEyMlsnZXh0ZW5kJ10oeydmb3JtYXQnOl8weDQ3MGMyYn0pLCdlbmNyeXB0JzpmdW5jdGlvbihfMHg1MTlmNTgsXzB4NDFmOTVhLF8weDQ0ZmExYyxfMHgxNTZmZjIpe3ZhciBfMHgzNjBlNjE9XzB4MjRkMTQwO18weDE1NmZmMj10aGlzW18weDM2MGU2MSgnMHgyNjMnKV1bXzB4MzYwZTYxKCcweDdlOScpXShfMHgxNTZmZjIpO3ZhciBfMHgxODdlZmM9XzB4NTE5ZjU4WydjcmVhdGVFbmNyeXB0b3InXShfMHg0NGZhMWMsXzB4MTU2ZmYyKSxfMHg1YjQzNTA9XzB4MTg3ZWZjW18weDM2MGU2MSgnMHhiYjgnKV0oXzB4NDFmOTVhKSxfMHgxNzQ4ZmI9XzB4MTg3ZWZjW18weDM2MGU2MSgnMHgyNjMnKV07cmV0dXJuIF8weDU5NWI1YlsnY3JlYXRlJ10oeydjaXBoZXJ0ZXh0JzpfMHg1YjQzNTAsJ2tleSc6XzB4NDRmYTFjLCdpdic6XzB4MTc0OGZiWydpdiddLCdhbGdvcml0aG0nOl8weDUxOWY1OCwnbW9kZSc6XzB4MTc0OGZiW18weDM2MGU2MSgnMHhhOGEnKV0sJ3BhZGRpbmcnOl8weDE3NDhmYlsncGFkZGluZyddLCdibG9ja1NpemUnOl8weDUxOWY1OFtfMHgzNjBlNjEoJzB4YzY1JyldLCdmb3JtYXR0ZXInOl8weDE1NmZmMltfMHgzNjBlNjEoJzB4M2M3JyldfSk7fSwnZGVjcnlwdCc6ZnVuY3Rpb24oXzB4NDZhYTU3LF8weDQ5NmVkLF8weDI0MjM4NyxfMHgyMjJiOTYpe3ZhciBfMHgyYzQzYzM9XzB4MjRkMTQwO3JldHVybiBfMHgyMjJiOTY9dGhpc1tfMHgyYzQzYzMoJzB4MjYzJyldW18weDJjNDNjMygnMHg3ZTknKV0oXzB4MjIyYjk2KSxfMHg0OTZlZD10aGlzWydfcGFyc2UnXShfMHg0OTZlZCxfMHgyMjJiOTZbJ2Zvcm1hdCddKSxfMHg0NmFhNTdbXzB4MmM0M2MzKCcweGFkZCcpXShfMHgyNDIzODcsXzB4MjIyYjk2KVtfMHgyYzQzYzMoJzB4YmI4JyldKF8weDQ5NmVkW18weDJjNDNjMygnMHgzMDgnKV0pO30sJ19wYXJzZSc6ZnVuY3Rpb24oXzB4NGNhYTBhLF8weDQ0ZDVjNil7dmFyIF8weDE5ZDlkZD1fMHgyNGQxNDA7cmV0dXJuIF8weDE5ZDlkZCgnMHg2NWYnKT09dHlwZW9mIF8weDRjYWEwYT9fMHg0NGQ1YzZbXzB4MTlkOWRkKCcweGJmOScpXShfMHg0Y2FhMGEsdGhpcyk6XzB4NGNhYTBhO319KSxfMHgzZjcyZWU9KF8weDljYWVkN1tfMHgyNGQxNDAoJzB4NzM1JyldPXt9KVtfMHgyNGQxNDAoJzB4M2U1JyldPXsnZXhlY3V0ZSc6ZnVuY3Rpb24oXzB4NDU1NzdmLF8weDM0NDk2YSxfMHgxNGM3NDIsXzB4NzExMDA3KXt2YXIgXzB4NmEzNTE4PV8weDI0ZDE0MDtfMHg3MTEwMDd8fChfMHg3MTEwMDc9XzB4MmU4NGRhW18weDZhMzUxOCgnMHg3NWMnKV0oMHg4KSk7dmFyIF8weDJiNmM0OD1fMHg0NjIwOGJbXzB4NmEzNTE4KCcweDdlMScpXSh7J2tleVNpemUnOl8weDM0NDk2YStfMHgxNGM3NDJ9KVsnY29tcHV0ZSddKF8weDQ1NTc3ZixfMHg3MTEwMDcpLF8weDRhOTE2MD1fMHgyZTg0ZGFbXzB4NmEzNTE4KCcweDdlMScpXShfMHgyYjZjNDhbJ3dvcmRzJ11bXzB4NmEzNTE4KCcweGFkYScpXShfMHgzNDQ5NmEpLDB4NCpfMHgxNGM3NDIpO3JldHVybiBfMHgyYjZjNDhbXzB4NmEzNTE4KCcweDJjZScpXT0weDQqXzB4MzQ0OTZhLF8weDU5NWI1YltfMHg2YTM1MTgoJzB4N2UxJyldKHsna2V5JzpfMHgyYjZjNDgsJ2l2JzpfMHg0YTkxNjAsJ3NhbHQnOl8weDcxMTAwN30pO319LF8weDRmYTg5Nj1fMHg1YTlmOWNbXzB4MjRkMTQwKCcweGJkMycpXT1fMHg0OTNhZDhbXzB4MjRkMTQwKCcweDdlOScpXSh7J2NmZyc6XzB4NDkzYWQ4WydjZmcnXVtfMHgyNGQxNDAoJzB4N2U5JyldKHsna2RmJzpfMHgzZjcyZWV9KSwnZW5jcnlwdCc6ZnVuY3Rpb24oXzB4MjBkYjMxLF8weDQ5ZTUzNyxfMHg1MGViMmMsXzB4M2NiYWNhKXt2YXIgXzB4NGE5MDM4PV8weDI0ZDE0MCxfMHgxOTkzNTk9KF8weDNjYmFjYT10aGlzWydjZmcnXVtfMHg0YTkwMzgoJzB4N2U5JyldKF8weDNjYmFjYSkpW18weDRhOTAzOCgnMHg3MzUnKV1bXzB4NGE5MDM4KCcweDJlMicpXShfMHg1MGViMmMsXzB4MjBkYjMxW18weDRhOTAzOCgnMHhhNmYnKV0sXzB4MjBkYjMxW18weDRhOTAzOCgnMHgxZTInKV0pO18weDNjYmFjYVsnaXYnXT1fMHgxOTkzNTlbJ2l2J107dmFyIF8weDQzMGQwOT1fMHg0OTNhZDhbXzB4NGE5MDM4KCcweDM4OScpXVtfMHg0YTkwMzgoJzB4NWZkJyldKHRoaXMsXzB4MjBkYjMxLF8weDQ5ZTUzNyxfMHgxOTkzNTlbJ2tleSddLF8weDNjYmFjYSk7cmV0dXJuIF8weDQzMGQwOVtfMHg0YTkwMzgoJzB4MWJkJyldKF8weDE5OTM1OSksXzB4NDMwZDA5O30sJ2RlY3J5cHQnOmZ1bmN0aW9uKF8weDE2ZjYwMCxfMHg0ZDZmYjQsXzB4NTZiOTdhLF8weDdmNTlkYyl7dmFyIF8weDJiNjJkZD1fMHgyNGQxNDA7XzB4N2Y1OWRjPXRoaXNbJ2NmZyddW18weDJiNjJkZCgnMHg3ZTknKV0oXzB4N2Y1OWRjKSxfMHg0ZDZmYjQ9dGhpc1tfMHgyYjYyZGQoJzB4ODAwJyldKF8weDRkNmZiNCxfMHg3ZjU5ZGNbXzB4MmI2MmRkKCcweDNjNycpXSk7dmFyIF8weDUzMjlkOT1fMHg3ZjU5ZGNbXzB4MmI2MmRkKCcweDczNScpXVtfMHgyYjYyZGQoJzB4MmUyJyldKF8weDU2Yjk3YSxfMHgxNmY2MDBbXzB4MmI2MmRkKCcweGE2ZicpXSxfMHgxNmY2MDBbJ2l2U2l6ZSddLF8weDRkNmZiNFtfMHgyYjYyZGQoJzB4MjBmJyldKTtyZXR1cm4gXzB4N2Y1OWRjWydpdiddPV8weDUzMjlkOVsnaXYnXSxfMHg0OTNhZDhbJ2RlY3J5cHQnXVtfMHgyYjYyZGQoJzB4NWZkJyldKHRoaXMsXzB4MTZmNjAwLF8weDRkNmZiNCxfMHg1MzI5ZDlbJ2tleSddLF8weDdmNTlkYyk7fX0pKSkpO30sMHgyMDM5OmZ1bmN0aW9uKF8weDRiY2MwNCxfMHgyMTA1YTIpe3ZhciBfMHgzOGIyN2Y9XzB4MTVhMyxfMHg0MTQ3NGY7XzB4NGJjYzA0W18weDM4YjI3ZignMHgzMTQnKV09KF8weDQxNDc0Zj1fMHg0MTQ3NGZ8fGZ1bmN0aW9uKF8weDYwOTE0ZCxfMHhkY2M1NTUpe3ZhciBfMHg1ZmU0Mzc9XzB4MzhiMjdmLF8weDIxZDA3ZD1PYmplY3RbXzB4NWZlNDM3KCcweDdlMScpXXx8KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gXzB4M2FkNGEwKCl7fXJldHVybiBmdW5jdGlvbihfMHg0MGJmMTQpe3ZhciBfMHgxODI1MGI9XzB4MTVhMyxfMHgxYWI4Mzc7cmV0dXJuIF8weDNhZDRhMFsncHJvdG90eXBlJ109XzB4NDBiZjE0LF8weDFhYjgzNz1uZXcgXzB4M2FkNGEwKCksXzB4M2FkNGEwW18weDE4MjUwYignMHg3NTYnKV09bnVsbCxfMHgxYWI4Mzc7fTt9KCkpLF8weDIzZWQ4NT17fSxfMHgyMzhkOGQ9XzB4MjNlZDg1W18weDVmZTQzNygnMHg1MmYnKV09e30sXzB4M2ZmYzAwPV8weDIzOGQ4ZFsnQmFzZSddPXsnZXh0ZW5kJzpmdW5jdGlvbihfMHgzOTUwODYpe3ZhciBfMHg1MTkzNTI9XzB4NWZlNDM3LF8weDVjYWViMj1fMHgyMWQwN2QodGhpcyk7cmV0dXJuIF8weDM5NTA4NiYmXzB4NWNhZWIyW18weDUxOTM1MignMHgxYmQnKV0oXzB4Mzk1MDg2KSxfMHg1Y2FlYjJbXzB4NTE5MzUyKCcweDE5YycpXShfMHg1MTkzNTIoJzB4YzEzJykpJiZ0aGlzW18weDUxOTM1MignMHhjMTMnKV0hPT1fMHg1Y2FlYjJbXzB4NTE5MzUyKCcweGMxMycpXXx8KF8weDVjYWViMltfMHg1MTkzNTIoJzB4YzEzJyldPWZ1bmN0aW9uKCl7dmFyIF8weDJjNjMxNz1fMHg1MTkzNTI7XzB4NWNhZWIyW18weDJjNjMxNygnMHg4ZGEnKV1bXzB4MmM2MzE3KCcweGMxMycpXVsnYXBwbHknXSh0aGlzLGFyZ3VtZW50cyk7fSksXzB4NWNhZWIyW18weDUxOTM1MignMHhjMTMnKV1bXzB4NTE5MzUyKCcweDc1NicpXT1fMHg1Y2FlYjIsXzB4NWNhZWIyW18weDUxOTM1MignMHg4ZGEnKV09dGhpcyxfMHg1Y2FlYjI7fSwnY3JlYXRlJzpmdW5jdGlvbigpe3ZhciBfMHhhYWJhZjU9XzB4NWZlNDM3LF8weDU1MjQyZj10aGlzWydleHRlbmQnXSgpO3JldHVybiBfMHg1NTI0MmZbXzB4YWFiYWY1KCcweGMxMycpXVtfMHhhYWJhZjUoJzB4NDQyJyldKF8weDU1MjQyZixhcmd1bWVudHMpLF8weDU1MjQyZjt9LCdpbml0JzpmdW5jdGlvbigpe30sJ21peEluJzpmdW5jdGlvbihfMHg1MzRmYjUpe3ZhciBfMHg0N2EzOGY9XzB4NWZlNDM3O2Zvcih2YXIgXzB4NTA4ZWE3IGluIF8weDUzNGZiNSlfMHg1MzRmYjVbJ2hhc093blByb3BlcnR5J10oXzB4NTA4ZWE3KSYmKHRoaXNbXzB4NTA4ZWE3XT1fMHg1MzRmYjVbXzB4NTA4ZWE3XSk7XzB4NTM0ZmI1W18weDQ3YTM4ZignMHgxOWMnKV0oXzB4NDdhMzhmKCcweDU0NycpKSYmKHRoaXNbXzB4NDdhMzhmKCcweDU0NycpXT1fMHg1MzRmYjVbJ3RvU3RyaW5nJ10pO30sJ2Nsb25lJzpmdW5jdGlvbigpe3ZhciBfMHg0NzhmNTY9XzB4NWZlNDM3O3JldHVybiB0aGlzW18weDQ3OGY1NignMHhjMTMnKV1bXzB4NDc4ZjU2KCcweDc1NicpXVsnZXh0ZW5kJ10odGhpcyk7fX0sXzB4MjhkNGViPV8weDIzOGQ4ZFsnV29yZEFycmF5J109XzB4M2ZmYzAwW18weDVmZTQzNygnMHg3ZTknKV0oeydpbml0JzpmdW5jdGlvbihfMHgzZDAxMTIsXzB4MmFlYzQ4KXt2YXIgXzB4Mjc1NjIyPV8weDVmZTQzNztfMHgzZDAxMTI9dGhpc1tfMHgyNzU2MjIoJzB4OTcyJyldPV8weDNkMDExMnx8W10sdGhpc1snc2lnQnl0ZXMnXT1udWxsIT1fMHgyYWVjNDg/XzB4MmFlYzQ4OjB4NCpfMHgzZDAxMTJbJ2xlbmd0aCddO30sJ3RvU3RyaW5nJzpmdW5jdGlvbihfMHgzMmQ3Mjcpe3ZhciBfMHgxNTFiMWM9XzB4NWZlNDM3O3JldHVybihfMHgzMmQ3Mjd8fF8weDgxMjM1ZSlbXzB4MTUxYjFjKCcweDMxZicpXSh0aGlzKTt9LCdjb25jYXQnOmZ1bmN0aW9uKF8weDM3MjY4Nil7dmFyIF8weDU5ZTdiZT1fMHg1ZmU0MzcsXzB4MzJhYmZjPXRoaXNbXzB4NTllN2JlKCcweDk3MicpXSxfMHgyZDg0MzM9XzB4MzcyNjg2Wyd3b3JkcyddLF8weGUwYWE0Yz10aGlzW18weDU5ZTdiZSgnMHgyY2UnKV0sXzB4NGQ1Yjc4PV8weDM3MjY4NltfMHg1OWU3YmUoJzB4MmNlJyldO2lmKHRoaXNbXzB4NTllN2JlKCcweDQ2ZScpXSgpLF8weGUwYWE0YyUweDQpZm9yKHZhciBfMHgzYWU1YWU9MHgwO18weDNhZTVhZTxfMHg0ZDViNzg7XzB4M2FlNWFlKyspe3ZhciBfMHhjYWYxNDA9XzB4MmQ4NDMzW18weDNhZTVhZT4+PjB4Ml0+Pj4weDE4LV8weDNhZTVhZSUweDQqMHg4JjB4ZmY7XzB4MzJhYmZjW18weGUwYWE0YytfMHgzYWU1YWU+Pj4weDJdfD1fMHhjYWYxNDA8PDB4MTgtKF8weGUwYWE0YytfMHgzYWU1YWUpJTB4NCoweDg7fWVsc2V7Zm9yKF8weDNhZTVhZT0weDA7XzB4M2FlNWFlPF8weDRkNWI3ODtfMHgzYWU1YWUrPTB4NClfMHgzMmFiZmNbXzB4ZTBhYTRjK18weDNhZTVhZT4+PjB4Ml09XzB4MmQ4NDMzW18weDNhZTVhZT4+PjB4Ml07fXJldHVybiB0aGlzWydzaWdCeXRlcyddKz1fMHg0ZDViNzgsdGhpczt9LCdjbGFtcCc6ZnVuY3Rpb24oKXt2YXIgXzB4MzcyZDg4PV8weDVmZTQzNyxfMHg1NzQ0M2Y9dGhpc1tfMHgzNzJkODgoJzB4OTcyJyldLF8weDEwNjE4ZT10aGlzW18weDM3MmQ4OCgnMHgyY2UnKV07XzB4NTc0NDNmW18weDEwNjE4ZT4+PjB4Ml0mPTB4ZmZmZmZmZmY8PDB4MjAtXzB4MTA2MThlJTB4NCoweDgsXzB4NTc0NDNmW18weDM3MmQ4OCgnMHg1MjAnKV09XzB4NjA5MTRkWydjZWlsJ10oXzB4MTA2MThlLzB4NCk7fSwnY2xvbmUnOmZ1bmN0aW9uKCl7dmFyIF8weDIwOTEyMz1fMHg1ZmU0MzcsXzB4NWMyMWEyPV8weDNmZmMwMFsnY2xvbmUnXVtfMHgyMDkxMjMoJzB4NWZkJyldKHRoaXMpO3JldHVybiBfMHg1YzIxYTJbJ3dvcmRzJ109dGhpc1tfMHgyMDkxMjMoJzB4OTcyJyldWydzbGljZSddKDB4MCksXzB4NWMyMWEyO30sJ3JhbmRvbSc6ZnVuY3Rpb24oXzB4MjZlZjY3KXt2YXIgXzB4NGQ2MzAzPV8weDVmZTQzNztmb3IodmFyIF8weDE1MjlkZixfMHgzOTMwMDk9W10sXzB4NTkwMDBlPWZ1bmN0aW9uKF8weDgxZjM5OSl7dmFyIF8weDE4MzEwMj0weDNhZGU2OGIxLF8weDEyZGYxNj0weGZmZmZmZmZmO3JldHVybiBmdW5jdGlvbigpe3ZhciBfMHgzYmIzMTk9KChfMHgxODMxMDI9MHg5MDY5KigweGZmZmYmXzB4MTgzMTAyKSsoXzB4MTgzMTAyPj4weDEwKSZfMHgxMmRmMTYpPDwweDEwKSsoXzB4ODFmMzk5PTB4NDY1MCooMHhmZmZmJl8weDgxZjM5OSkrKF8weDgxZjM5OT4+MHgxMCkmXzB4MTJkZjE2KSZfMHgxMmRmMTY7cmV0dXJuIF8weDNiYjMxOS89MHgxMDAwMDAwMDAsKF8weDNiYjMxOSs9MC41KSooXzB4NjA5MTRkWydyYW5kb20nXSgpPjAuNT8weDE6LTB4MSk7fTt9LF8weDFmNmRjNz0weDA7XzB4MWY2ZGM3PF8weDI2ZWY2NztfMHgxZjZkYzcrPTB4NCl7dmFyIF8weDNhNjBkMj1fMHg1OTAwMGUoMHgxMDAwMDAwMDAqKF8weDE1MjlkZnx8XzB4NjA5MTRkW18weDRkNjMwMygnMHg3NWMnKV0oKSkpO18weDE1MjlkZj0weDNhZGU2N2I3Kl8weDNhNjBkMigpLF8weDM5MzAwOVtfMHg0ZDYzMDMoJzB4OGI3JyldKDB4MTAwMDAwMDAwKl8weDNhNjBkMigpfDB4MCk7fXJldHVybiBuZXcgXzB4MjhkNGViWyhfMHg0ZDYzMDMoJzB4YzEzJykpXShfMHgzOTMwMDksXzB4MjZlZjY3KTt9fSksXzB4Mjg1MTRiPV8weDIzZWQ4NVsnZW5jJ109e30sXzB4ODEyMzVlPV8weDI4NTE0YltfMHg1ZmU0MzcoJzB4YWIxJyldPXsnc3RyaW5naWZ5JzpmdW5jdGlvbihfMHg0ZDQ0ZDEpe3ZhciBfMHhlNTVmNTc9XzB4NWZlNDM3O2Zvcih2YXIgXzB4MWM5NWQ4PV8weDRkNDRkMVtfMHhlNTVmNTcoJzB4OTcyJyldLF8weDE3ZDkxZT1fMHg0ZDQ0ZDFbXzB4ZTU1ZjU3KCcweDJjZScpXSxfMHg0YmZhZmU9W10sXzB4MmE5MDY5PTB4MDtfMHgyYTkwNjk8XzB4MTdkOTFlO18weDJhOTA2OSsrKXt2YXIgXzB4NmMyNDZmPV8weDFjOTVkOFtfMHgyYTkwNjk+Pj4weDJdPj4+MHgxOC1fMHgyYTkwNjklMHg0KjB4OCYweGZmO18weDRiZmFmZVsncHVzaCddKChfMHg2YzI0NmY+Pj4weDQpW18weGU1NWY1NygnMHg1NDcnKV0oMHgxMCkpLF8weDRiZmFmZVsncHVzaCddKCgweGYmXzB4NmMyNDZmKVtfMHhlNTVmNTcoJzB4NTQ3JyldKDB4MTApKTt9cmV0dXJuIF8weDRiZmFmZVtfMHhlNTVmNTcoJzB4YWE3JyldKCcnKTt9LCdwYXJzZSc6ZnVuY3Rpb24oXzB4MzdiYWM3KXt2YXIgXzB4MWQyYmY2PV8weDVmZTQzNztmb3IodmFyIF8weDFkOThkYT1fMHgzN2JhYzdbXzB4MWQyYmY2KCcweDUyMCcpXSxfMHgyNzY3NGI9W10sXzB4NWE5ZWI3PTB4MDtfMHg1YTllYjc8XzB4MWQ5OGRhO18weDVhOWViNys9MHgyKV8weDI3Njc0YltfMHg1YTllYjc+Pj4weDNdfD1wYXJzZUludChfMHgzN2JhYzdbXzB4MWQyYmY2KCcweDU4YScpXShfMHg1YTllYjcsMHgyKSwweDEwKTw8MHgxOC1fMHg1YTllYjclMHg4KjB4NDtyZXR1cm4gbmV3IF8weDI4ZDRlYlsoXzB4MWQyYmY2KCcweGMxMycpKV0oXzB4Mjc2NzRiLF8weDFkOThkYS8weDIpO319LF8weDQyZjdhOT1fMHgyODUxNGJbXzB4NWZlNDM3KCcweGI2NCcpXT17J3N0cmluZ2lmeSc6ZnVuY3Rpb24oXzB4NTIzMWI0KXt2YXIgXzB4MmM2YWY4PV8weDVmZTQzNztmb3IodmFyIF8weGIxYzM5ZD1fMHg1MjMxYjRbXzB4MmM2YWY4KCcweDk3MicpXSxfMHgzOGUzYTQ9XzB4NTIzMWI0W18weDJjNmFmOCgnMHgyY2UnKV0sXzB4NTdhMmQ2PVtdLF8weDQyYTgzMz0weDA7XzB4NDJhODMzPF8weDM4ZTNhNDtfMHg0MmE4MzMrKyl7dmFyIF8weDQ4ZjQ2NT1fMHhiMWMzOWRbXzB4NDJhODMzPj4+MHgyXT4+PjB4MTgtXzB4NDJhODMzJTB4NCoweDgmMHhmZjtfMHg1N2EyZDZbXzB4MmM2YWY4KCcweDhiNycpXShTdHJpbmdbXzB4MmM2YWY4KCcweGE4MScpXShfMHg0OGY0NjUpKTt9cmV0dXJuIF8weDU3YTJkNltfMHgyYzZhZjgoJzB4YWE3JyldKCcnKTt9LCdwYXJzZSc6ZnVuY3Rpb24oXzB4MjliNjRlKXt2YXIgXzB4NTc1YTViPV8weDVmZTQzNztmb3IodmFyIF8weDE3ZmI1Nz1fMHgyOWI2NGVbXzB4NTc1YTViKCcweDUyMCcpXSxfMHhiMDUxODA9W10sXzB4NDQ5YTNkPTB4MDtfMHg0NDlhM2Q8XzB4MTdmYjU3O18weDQ0OWEzZCsrKV8weGIwNTE4MFtfMHg0NDlhM2Q+Pj4weDJdfD0oMHhmZiZfMHgyOWI2NGVbXzB4NTc1YTViKCcweGE1NScpXShfMHg0NDlhM2QpKTw8MHgxOC1fMHg0NDlhM2QlMHg0KjB4ODtyZXR1cm4gbmV3IF8weDI4ZDRlYlsoXzB4NTc1YTViKCcweGMxMycpKV0oXzB4YjA1MTgwLF8weDE3ZmI1Nyk7fX0sXzB4NDhmODFiPV8weDI4NTE0YlsnVXRmOCddPXsnc3RyaW5naWZ5JzpmdW5jdGlvbihfMHgzYWM3YTkpe3ZhciBfMHgxM2M4MTk9XzB4NWZlNDM3O3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShfMHg0MmY3YTlbXzB4MTNjODE5KCcweDMxZicpXShfMHgzYWM3YTkpKSk7fWNhdGNoKF8weDRjZDM5Nyl7dGhyb3cgbmV3IEVycm9yKF8weDEzYzgxOSgnMHhhOTcnKSk7fX0sJ3BhcnNlJzpmdW5jdGlvbihfMHg1YmU3ZmMpe3ZhciBfMHgxMmNiNjk9XzB4NWZlNDM3O3JldHVybiBfMHg0MmY3YTlbXzB4MTJjYjY5KCcweGJmOScpXSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoXzB4NWJlN2ZjKSkpO319LF8weDU1NzllZT1fMHgyMzhkOGRbJ0J1ZmZlcmVkQmxvY2tBbGdvcml0aG0nXT1fMHgzZmZjMDBbXzB4NWZlNDM3KCcweDdlOScpXSh7J3Jlc2V0JzpmdW5jdGlvbigpe3ZhciBfMHhiYzBjMjc9XzB4NWZlNDM3O3RoaXNbXzB4YmMwYzI3KCcweGE1OScpXT1uZXcgXzB4MjhkNGViWyhfMHhiYzBjMjcoJzB4YzEzJykpXSgpLHRoaXNbXzB4YmMwYzI3KCcweDJlMycpXT0weDA7fSwnX2FwcGVuZCc6ZnVuY3Rpb24oXzB4MWJhYzAwKXt2YXIgXzB4NGE0MTEzPV8weDVmZTQzNztfMHg0YTQxMTMoJzB4NjVmJyk9PXR5cGVvZiBfMHgxYmFjMDAmJihfMHgxYmFjMDA9XzB4NDhmODFiWydwYXJzZSddKF8weDFiYWMwMCkpLHRoaXNbJ19kYXRhJ11bXzB4NGE0MTEzKCcweDUzMCcpXShfMHgxYmFjMDApLHRoaXNbJ19uRGF0YUJ5dGVzJ10rPV8weDFiYWMwMFtfMHg0YTQxMTMoJzB4MmNlJyldO30sJ19wcm9jZXNzJzpmdW5jdGlvbihfMHgxNGViOTYpe3ZhciBfMHg0MGI3NjM9XzB4NWZlNDM3LF8weDU3YWEyYz10aGlzW18weDQwYjc2MygnMHhhNTknKV0sXzB4YWZjMWYxPV8weDU3YWEyY1tfMHg0MGI3NjMoJzB4OTcyJyldLF8weDMwODU3Mj1fMHg1N2FhMmNbXzB4NDBiNzYzKCcweDJjZScpXSxfMHhjODVkOGQ9dGhpc1tfMHg0MGI3NjMoJzB4YzY1JyldLF8weDQ3NGQzNT1fMHgzMDg1NzIvKDB4NCpfMHhjODVkOGQpLF8weDRiZDcyZj0oXzB4NDc0ZDM1PV8weDE0ZWI5Nj9fMHg2MDkxNGRbXzB4NDBiNzYzKCcweDQ2NicpXShfMHg0NzRkMzUpOl8weDYwOTE0ZFtfMHg0MGI3NjMoJzB4OGY5JyldKCgweDB8XzB4NDc0ZDM1KS10aGlzW18weDQwYjc2MygnMHhkM2UnKV0sMHgwKSkqXzB4Yzg1ZDhkLF8weDM0NmNhND1fMHg2MDkxNGRbXzB4NDBiNzYzKCcweGI4MCcpXSgweDQqXzB4NGJkNzJmLF8weDMwODU3Mik7aWYoXzB4NGJkNzJmKXtmb3IodmFyIF8weDE0YWViND0weDA7XzB4MTRhZWI0PF8weDRiZDcyZjtfMHgxNGFlYjQrPV8weGM4NWQ4ZCl0aGlzW18weDQwYjc2MygnMHgzYjYnKV0oXzB4YWZjMWYxLF8weDE0YWViNCk7dmFyIF8weDU1Y2YxYT1fMHhhZmMxZjFbXzB4NDBiNzYzKCcweGE0ZCcpXSgweDAsXzB4NGJkNzJmKTtfMHg1N2FhMmNbXzB4NDBiNzYzKCcweDJjZScpXS09XzB4MzQ2Y2E0O31yZXR1cm4gbmV3IF8weDI4ZDRlYlsoXzB4NDBiNzYzKCcweGMxMycpKV0oXzB4NTVjZjFhLF8weDM0NmNhNCk7fSwnY2xvbmUnOmZ1bmN0aW9uKCl7dmFyIF8weDVlZGFhND1fMHg1ZmU0MzcsXzB4MmMwOWJmPV8weDNmZmMwMFtfMHg1ZWRhYTQoJzB4Mzc5JyldW18weDVlZGFhNCgnMHg1ZmQnKV0odGhpcyk7cmV0dXJuIF8weDJjMDliZltfMHg1ZWRhYTQoJzB4YTU5JyldPXRoaXNbJ19kYXRhJ11bXzB4NWVkYWE0KCcweDM3OScpXSgpLF8weDJjMDliZjt9LCdfbWluQnVmZmVyU2l6ZSc6MHgwfSksXzB4NGFiYzk1PShfMHgyMzhkOGRbXzB4NWZlNDM3KCcweDI3OCcpXT1fMHg1NTc5ZWVbJ2V4dGVuZCddKHsnY2ZnJzpfMHgzZmZjMDBbXzB4NWZlNDM3KCcweDdlOScpXSgpLCdpbml0JzpmdW5jdGlvbihfMHgyNGFiZjkpe3ZhciBfMHg0MzgyY2M9XzB4NWZlNDM3O3RoaXNbJ2NmZyddPXRoaXNbXzB4NDM4MmNjKCcweDI2MycpXVtfMHg0MzgyY2MoJzB4N2U5JyldKF8weDI0YWJmOSksdGhpc1tfMHg0MzgyY2MoJzB4ODEwJyldKCk7fSwncmVzZXQnOmZ1bmN0aW9uKCl7dmFyIF8weDJkNTczZT1fMHg1ZmU0Mzc7XzB4NTU3OWVlW18weDJkNTczZSgnMHg4MTAnKV1bXzB4MmQ1NzNlKCcweDVmZCcpXSh0aGlzKSx0aGlzW18weDJkNTczZSgnMHg5NWYnKV0oKTt9LCd1cGRhdGUnOmZ1bmN0aW9uKF8weDMwYzYzZSl7dmFyIF8weDRjYTc4ZD1fMHg1ZmU0Mzc7cmV0dXJuIHRoaXNbXzB4NGNhNzhkKCcweDNjMCcpXShfMHgzMGM2M2UpLHRoaXNbXzB4NGNhNzhkKCcweGI1ZCcpXSgpLHRoaXM7fSwnZmluYWxpemUnOmZ1bmN0aW9uKF8weDQ3NTNmOCl7dmFyIF8weDQ4YTAxYz1fMHg1ZmU0Mzc7cmV0dXJuIF8weDQ3NTNmOCYmdGhpc1snX2FwcGVuZCddKF8weDQ3NTNmOCksdGhpc1tfMHg0OGEwMWMoJzB4ZDBhJyldKCk7fSwnYmxvY2tTaXplJzoweDEwLCdfY3JlYXRlSGVscGVyJzpmdW5jdGlvbihfMHgxNTQzMWEpe3JldHVybiBmdW5jdGlvbihfMHgzOTM2Y2EsXzB4Mjk5Njg0KXt2YXIgXzB4NDlkYjhkPV8weDE1YTM7cmV0dXJuIG5ldyBfMHgxNTQzMWFbKF8weDQ5ZGI4ZCgnMHhjMTMnKSldKF8weDI5OTY4NClbJ2ZpbmFsaXplJ10oXzB4MzkzNmNhKTt9O30sJ19jcmVhdGVIbWFjSGVscGVyJzpmdW5jdGlvbihfMHgzYTcxZmIpe3JldHVybiBmdW5jdGlvbihfMHg1YTRiOWIsXzB4NjQwODIyKXt2YXIgXzB4NTE0NjIzPV8weDE1YTM7cmV0dXJuIG5ldyBfMHg0YWJjOTVbKF8weDUxNDYyMygnMHg2YmEnKSldWyhfMHg1MTQ2MjMoJzB4YzEzJykpXShfMHgzYTcxZmIsXzB4NjQwODIyKVtfMHg1MTQ2MjMoJzB4YmI4JyldKF8weDVhNGI5Yik7fTt9fSksXzB4MjNlZDg1W18weDVmZTQzNygnMHg0ZjYnKV09e30pO3JldHVybiBfMHgyM2VkODU7fShNYXRoKSxfMHg0MTQ3NGYpO30sMHgyMDRkOmZ1bmN0aW9uKF8weDIzOWIyNyxfMHgyYWI4MzMsXzB4Mjc3NWIzKXt2YXIgXzB4MmFhNTRjPV8weDE1YTMsXzB4NWIwNTQ0LF8weDQ5ODUwYSxfMHgyZjE5Y2Y7XzB4MjM5YjI3W18weDJhYTU0YygnMHgzMTQnKV09KF8weDViMDU0ND1fMHgyNzc1YjMoMHgyMDM5KSxfMHgyZjE5Y2Y9KF8weDQ5ODUwYT1fMHg1YjA1NDQpW18weDJhYTU0YygnMHg1MmYnKV1bXzB4MmFhNTRjKCcweDM3NycpXSxfMHg0OTg1MGFbXzB4MmFhNTRjKCcweDIzOScpXVtfMHgyYWE1NGMoJzB4MmM0JyldPXsnc3RyaW5naWZ5JzpmdW5jdGlvbihfMHgzYzAyZWUpe3ZhciBfMHgyZGZlMDM9XzB4MmFhNTRjLF8weDM4ZDAxZT1fMHgzYzAyZWVbJ3dvcmRzJ10sXzB4YzM5MjMwPV8weDNjMDJlZVtfMHgyZGZlMDMoJzB4MmNlJyldLF8weDRhZDgzZj10aGlzW18weDJkZmUwMygnMHhhMWYnKV07XzB4M2MwMmVlW18weDJkZmUwMygnMHg0NmUnKV0oKTtmb3IodmFyIF8weDIwNzdkOT1bXSxfMHg1M2EyNGU9MHgwO18weDUzYTI0ZTxfMHhjMzkyMzA7XzB4NTNhMjRlKz0weDMpZm9yKHZhciBfMHg0ODE1MWI9KF8weDM4ZDAxZVtfMHg1M2EyNGU+Pj4weDJdPj4+MHgxOC1fMHg1M2EyNGUlMHg0KjB4OCYweGZmKTw8MHgxMHwoXzB4MzhkMDFlW18weDUzYTI0ZSsweDE+Pj4weDJdPj4+MHgxOC0oXzB4NTNhMjRlKzB4MSklMHg0KjB4OCYweGZmKTw8MHg4fF8weDM4ZDAxZVtfMHg1M2EyNGUrMHgyPj4+MHgyXT4+PjB4MTgtKF8weDUzYTI0ZSsweDIpJTB4NCoweDgmMHhmZixfMHg0MDdmOTE9MHgwO18weDQwN2Y5MTwweDQmJl8weDUzYTI0ZSswLjc1Kl8weDQwN2Y5MTxfMHhjMzkyMzA7XzB4NDA3ZjkxKyspXzB4MjA3N2Q5WydwdXNoJ10oXzB4NGFkODNmW18weDJkZmUwMygnMHg0MjYnKV0oXzB4NDgxNTFiPj4+MHg2KigweDMtXzB4NDA3ZjkxKSYweDNmKSk7dmFyIF8weDE2NThkMz1fMHg0YWQ4M2ZbXzB4MmRmZTAzKCcweDQyNicpXSgweDQwKTtpZihfMHgxNjU4ZDMpe2Zvcig7XzB4MjA3N2Q5W18weDJkZmUwMygnMHg1MjAnKV0lMHg0OylfMHgyMDc3ZDlbXzB4MmRmZTAzKCcweDhiNycpXShfMHgxNjU4ZDMpO31yZXR1cm4gXzB4MjA3N2Q5Wydqb2luJ10oJycpO30sJ3BhcnNlJzpmdW5jdGlvbihfMHg1ZGFmYjcpe3ZhciBfMHhmMTcyYmQ9XzB4MmFhNTRjLF8weDFjMDk5Mj1fMHg1ZGFmYjdbJ2xlbmd0aCddLF8weDVmNGUzMj10aGlzW18weGYxNzJiZCgnMHhhMWYnKV0sXzB4NDI2MTczPXRoaXNbXzB4ZjE3MmJkKCcweDk4YScpXTtpZighXzB4NDI2MTczKXtfMHg0MjYxNzM9dGhpc1tfMHhmMTcyYmQoJzB4OThhJyldPVtdO2Zvcih2YXIgXzB4NTYwZDkxPTB4MDtfMHg1NjBkOTE8XzB4NWY0ZTMyWydsZW5ndGgnXTtfMHg1NjBkOTErKylfMHg0MjYxNzNbXzB4NWY0ZTMyW18weGYxNzJiZCgnMHhhNTUnKV0oXzB4NTYwZDkxKV09XzB4NTYwZDkxO312YXIgXzB4NDhjMGZlPV8weDVmNGUzMlsnY2hhckF0J10oMHg0MCk7aWYoXzB4NDhjMGZlKXt2YXIgXzB4MmQzNTY5PV8weDVkYWZiN1snaW5kZXhPZiddKF8weDQ4YzBmZSk7LTB4MSE9PV8weDJkMzU2OSYmKF8weDFjMDk5Mj1fMHgyZDM1NjkpO31yZXR1cm4gZnVuY3Rpb24oXzB4YmE5OWM2LF8weDM3MTk3OSxfMHg1ODQxZjYpe3ZhciBfMHgyNzY5ZWU9XzB4ZjE3MmJkO2Zvcih2YXIgXzB4MTZlOTJhPVtdLF8weDJmMmUwZj0weDAsXzB4MTliN2U3PTB4MDtfMHgxOWI3ZTc8XzB4MzcxOTc5O18weDE5YjdlNysrKWlmKF8weDE5YjdlNyUweDQpe3ZhciBfMHgyZTc1M2U9XzB4NTg0MWY2W18weGJhOTljNltfMHgyNzY5ZWUoJzB4YTU1JyldKF8weDE5YjdlNy0weDEpXTw8XzB4MTliN2U3JTB4NCoweDIsXzB4NDJmODM5PV8weDU4NDFmNltfMHhiYTk5YzZbJ2NoYXJDb2RlQXQnXShfMHgxOWI3ZTcpXT4+PjB4Ni1fMHgxOWI3ZTclMHg0KjB4MjtfMHgxNmU5MmFbXzB4MmYyZTBmPj4+MHgyXXw9KF8weDJlNzUzZXxfMHg0MmY4MzkpPDwweDE4LV8weDJmMmUwZiUweDQqMHg4LF8weDJmMmUwZisrO31yZXR1cm4gXzB4MmYxOWNmW18weDI3NjllZSgnMHg3ZTEnKV0oXzB4MTZlOTJhLF8weDJmMmUwZik7fShfMHg1ZGFmYjcsXzB4MWMwOTkyLF8weDQyNjE3Myk7fSwnX21hcCc6J0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89J30sXzB4NWIwNTQ0W18weDJhYTU0YygnMHgyMzknKV1bXzB4MmFhNTRjKCcweDJjNCcpXSk7fSwweDEyYTpmdW5jdGlvbihfMHg1YmYxZGUsXzB4MWVjNjBjLF8weDVkODI5Yil7dmFyIF8weDE4NzI1ZD1fMHgxNWEzLF8weGY4NWZhMDtfMHg1YmYxZGVbXzB4MTg3MjVkKCcweDMxNCcpXT0oXzB4Zjg1ZmEwPV8weDVkODI5YigweDIwMzkpLChmdW5jdGlvbigpe3ZhciBfMHgxN2RiNWU9XzB4MTg3MjVkLF8weDQ0NGQ5Yz1fMHhmODVmYTAsXzB4MThiZDBjPV8weDQ0NGQ5Y1tfMHgxN2RiNWUoJzB4NTJmJyldW18weDE3ZGI1ZSgnMHgzNzcnKV0sXzB4MTVhOTU0PV8weDQ0NGQ5Y1tfMHgxN2RiNWUoJzB4MjM5JyldO2Z1bmN0aW9uIF8weDRkNDdkOShfMHgyNGYzNzkpe3JldHVybiBfMHgyNGYzNzk8PDB4OCYweGZmMDBmZjAwfF8weDI0ZjM3OT4+PjB4OCYweGZmMDBmZjt9XzB4MTVhOTU0WydVdGYxNiddPV8weDE1YTk1NFtfMHgxN2RiNWUoJzB4ODNlJyldPXsnc3RyaW5naWZ5JzpmdW5jdGlvbihfMHgyZjhlZTYpe3ZhciBfMHhlYTljMjQ9XzB4MTdkYjVlO2Zvcih2YXIgXzB4ZmM2ZTdiPV8weDJmOGVlNlsnd29yZHMnXSxfMHg1OTU4NTc9XzB4MmY4ZWU2WydzaWdCeXRlcyddLF8weDIzOTFlOT1bXSxfMHgyYmM4OTY9MHgwO18weDJiYzg5NjxfMHg1OTU4NTc7XzB4MmJjODk2Kz0weDIpe3ZhciBfMHgzYTVlODc9XzB4ZmM2ZTdiW18weDJiYzg5Nj4+PjB4Ml0+Pj4weDEwLV8weDJiYzg5NiUweDQqMHg4JjB4ZmZmZjtfMHgyMzkxZTlbXzB4ZWE5YzI0KCcweDhiNycpXShTdHJpbmdbXzB4ZWE5YzI0KCcweGE4MScpXShfMHgzYTVlODcpKTt9cmV0dXJuIF8weDIzOTFlOVtfMHhlYTljMjQoJzB4YWE3JyldKCcnKTt9LCdwYXJzZSc6ZnVuY3Rpb24oXzB4M2ZiOTk2KXt2YXIgXzB4MTQzMWU5PV8weDE3ZGI1ZTtmb3IodmFyIF8weDI2NWQ2NT1fMHgzZmI5OTZbJ2xlbmd0aCddLF8weGVlNDM5Nj1bXSxfMHg1Nzc1OTk9MHgwO18weDU3NzU5OTxfMHgyNjVkNjU7XzB4NTc3NTk5KyspXzB4ZWU0Mzk2W18weDU3NzU5OT4+PjB4MV18PV8weDNmYjk5NlsnY2hhckNvZGVBdCddKF8weDU3NzU5OSk8PDB4MTAtXzB4NTc3NTk5JTB4MioweDEwO3JldHVybiBfMHgxOGJkMGNbXzB4MTQzMWU5KCcweDdlMScpXShfMHhlZTQzOTYsMHgyKl8weDI2NWQ2NSk7fX0sXzB4MTVhOTU0W18weDE3ZGI1ZSgnMHgyNzcnKV09eydzdHJpbmdpZnknOmZ1bmN0aW9uKF8weDJmMGVjOCl7dmFyIF8weDE5NTkxMj1fMHgxN2RiNWU7Zm9yKHZhciBfMHg1NGNiZTQ9XzB4MmYwZWM4W18weDE5NTkxMignMHg5NzInKV0sXzB4M2Y3NWUyPV8weDJmMGVjOFtfMHgxOTU5MTIoJzB4MmNlJyldLF8weDUwMzBhMj1bXSxfMHg1MGFmODU9MHgwO18weDUwYWY4NTxfMHgzZjc1ZTI7XzB4NTBhZjg1Kz0weDIpe3ZhciBfMHgxMDZlMDg9XzB4NGQ0N2Q5KF8weDU0Y2JlNFtfMHg1MGFmODU+Pj4weDJdPj4+MHgxMC1fMHg1MGFmODUlMHg0KjB4OCYweGZmZmYpO18weDUwMzBhMltfMHgxOTU5MTIoJzB4OGI3JyldKFN0cmluZ1tfMHgxOTU5MTIoJzB4YTgxJyldKF8weDEwNmUwOCkpO31yZXR1cm4gXzB4NTAzMGEyW18weDE5NTkxMignMHhhYTcnKV0oJycpO30sJ3BhcnNlJzpmdW5jdGlvbihfMHg1Nzk4NDApe3ZhciBfMHg3MjM4N2M9XzB4MTdkYjVlO2Zvcih2YXIgXzB4MWVlMzcwPV8weDU3OTg0MFsnbGVuZ3RoJ10sXzB4Mjg3Y2EyPVtdLF8weDM5YTEwZj0weDA7XzB4MzlhMTBmPF8weDFlZTM3MDtfMHgzOWExMGYrKylfMHgyODdjYTJbXzB4MzlhMTBmPj4+MHgxXXw9XzB4NGQ0N2Q5KF8weDU3OTg0MFtfMHg3MjM4N2MoJzB4YTU1JyldKF8weDM5YTEwZik8PDB4MTAtXzB4MzlhMTBmJTB4MioweDEwKTtyZXR1cm4gXzB4MThiZDBjWydjcmVhdGUnXShfMHgyODdjYTIsMHgyKl8weDFlZTM3MCk7fX07fSgpKSxfMHhmODVmYTBbJ2VuYyddWydVdGYxNiddKTt9LDB4Mzc4OmZ1bmN0aW9uKF8weDM5MzExNyxfMHgyYzBmY2UsXzB4MTEwZTBiKXt2YXIgXzB4NDgzM2JmPV8weDE1YTMsXzB4YWJjZjU3LF8weDc5ZDc2YSxfMHg0ZDdmY2EsXzB4NGI1YjY5LF8weDRhZTNjMyxfMHg0MDg4MGIsXzB4MWFlY2Q3LF8weDQyN2RmNztfMHgzOTMxMTdbXzB4NDgzM2JmKCcweDMxNCcpXT0oXzB4NDI3ZGY3PV8weDExMGUwYigweDIwMzkpLF8weDExMGUwYigweGFkZiksXzB4MTEwZTBiKDB4MjY2MCksXzB4NGQ3ZmNhPShfMHg3OWQ3NmE9KF8weGFiY2Y1Nz1fMHg0MjdkZjcpWydsaWInXSlbJ0Jhc2UnXSxfMHg0YjViNjk9XzB4NzlkNzZhW18weDQ4MzNiZignMHgzNzcnKV0sXzB4NDA4ODBiPShfMHg0YWUzYzM9XzB4YWJjZjU3WydhbGdvJ10pW18weDQ4MzNiZignMHg5ZjYnKV0sXzB4MWFlY2Q3PV8weDRhZTNjM1tfMHg0ODMzYmYoJzB4NDYyJyldPV8weDRkN2ZjYVsnZXh0ZW5kJ10oeydjZmcnOl8weDRkN2ZjYVsnZXh0ZW5kJ10oeydrZXlTaXplJzoweDQsJ2hhc2hlcic6XzB4NDA4ODBiLCdpdGVyYXRpb25zJzoweDF9KSwnaW5pdCc6ZnVuY3Rpb24oXzB4NDI5M2MyKXt2YXIgXzB4MTdhMWE5PV8weDQ4MzNiZjt0aGlzW18weDE3YTFhOSgnMHgyNjMnKV09dGhpc1snY2ZnJ11bXzB4MTdhMWE5KCcweDdlOScpXShfMHg0MjkzYzIpO30sJ2NvbXB1dGUnOmZ1bmN0aW9uKF8weDViMmJhYyxfMHg2NDgyNTApe3ZhciBfMHgxOTMwNDk9XzB4NDgzM2JmO2Zvcih2YXIgXzB4NWNjMDBlPXRoaXNbJ2NmZyddLF8weDQwNDU0Nj1fMHg1Y2MwMGVbXzB4MTkzMDQ5KCcweGIyOCcpXVtfMHgxOTMwNDkoJzB4N2UxJyldKCksXzB4NDIwNDg0PV8weDRiNWI2OVtfMHgxOTMwNDkoJzB4N2UxJyldKCksXzB4NTA0OGU0PV8weDQyMDQ4NFtfMHgxOTMwNDkoJzB4OTcyJyldLF8weDMzZjJhYj1fMHg1Y2MwMGVbJ2tleVNpemUnXSxfMHgxMzg1MDU9XzB4NWNjMDBlW18weDE5MzA0OSgnMHg1ZTQnKV07XzB4NTA0OGU0W18weDE5MzA0OSgnMHg1MjAnKV08XzB4MzNmMmFiOyl7XzB4MjM3NjI5JiZfMHg0MDQ1NDZbXzB4MTkzMDQ5KCcweDQ0NycpXShfMHgyMzc2MjkpO3ZhciBfMHgyMzc2Mjk9XzB4NDA0NTQ2Wyd1cGRhdGUnXShfMHg1YjJiYWMpW18weDE5MzA0OSgnMHhiYjgnKV0oXzB4NjQ4MjUwKTtfMHg0MDQ1NDZbXzB4MTkzMDQ5KCcweDgxMCcpXSgpO2Zvcih2YXIgXzB4NWRkNTQ1PTB4MTtfMHg1ZGQ1NDU8XzB4MTM4NTA1O18weDVkZDU0NSsrKV8weDIzNzYyOT1fMHg0MDQ1NDZbXzB4MTkzMDQ5KCcweGJiOCcpXShfMHgyMzc2MjkpLF8weDQwNDU0NlsncmVzZXQnXSgpO18weDQyMDQ4NFtfMHgxOTMwNDkoJzB4NTMwJyldKF8weDIzNzYyOSk7fXJldHVybiBfMHg0MjA0ODRbJ3NpZ0J5dGVzJ109MHg0Kl8weDMzZjJhYixfMHg0MjA0ODQ7fX0pLF8weGFiY2Y1N1tfMHg0ODMzYmYoJzB4NDYyJyldPWZ1bmN0aW9uKF8weDU1YjhmMixfMHg0N2Y5YTgsXzB4MzE4MzU0KXt2YXIgXzB4MTBmZTk5PV8weDQ4MzNiZjtyZXR1cm4gXzB4MWFlY2Q3W18weDEwZmU5OSgnMHg3ZTEnKV0oXzB4MzE4MzU0KVtfMHgxMGZlOTkoJzB4OGY4JyldKF8weDU1YjhmMixfMHg0N2Y5YTgpO30sXzB4NDI3ZGY3W18weDQ4MzNiZignMHg0NjInKV0pO30sMHg4YTE6ZnVuY3Rpb24oXzB4MjA0ZDFlLF8weDExNGMyNCxfMHgzMTg5N2Ype3ZhciBfMHgyNGZjYjA9XzB4MTVhMyxfMHhjYTA4MzUsXzB4MTY4MjY2LF8weDRjMWJiZSxfMHgzMjA3MjE7XzB4MjA0ZDFlW18weDI0ZmNiMCgnMHgzMTQnKV09KF8weDMyMDcyMT1fMHgzMTg5N2YoMHgyMDM5KSxfMHgzMTg5N2YoMHgxM2Y1KSxfMHgxNjgyNjY9KF8weGNhMDgzNT1fMHgzMjA3MjEpWydsaWInXVtfMHgyNGZjYjAoJzB4M2IzJyldLF8weDRjMWJiZT1fMHhjYTA4MzVbXzB4MjRmY2IwKCcweDIzOScpXVtfMHgyNGZjYjAoJzB4YWIxJyldLF8weGNhMDgzNVsnZm9ybWF0J11bJ0hleCddPXsnc3RyaW5naWZ5JzpmdW5jdGlvbihfMHgxOWI2M2Ipe3ZhciBfMHg0ZTA0NTI9XzB4MjRmY2IwO3JldHVybiBfMHgxOWI2M2JbXzB4NGUwNDUyKCcweDMwOCcpXVtfMHg0ZTA0NTIoJzB4NTQ3JyldKF8weDRjMWJiZSk7fSwncGFyc2UnOmZ1bmN0aW9uKF8weDQ1NzFjMCl7dmFyIF8weGZiMTJiMT1fMHgyNGZjYjAsXzB4Mzc5OTM4PV8weDRjMWJiZVsncGFyc2UnXShfMHg0NTcxYzApO3JldHVybiBfMHgxNjgyNjZbXzB4ZmIxMmIxKCcweDdlMScpXSh7J2NpcGhlcnRleHQnOl8weDM3OTkzOH0pO319LF8weDMyMDcyMVtfMHgyNGZjYjAoJzB4M2M3JyldWydIZXgnXSk7fSwweDI2NjA6ZnVuY3Rpb24oXzB4MmYyZWU0LF8weDIyYzgzZixfMHgxNTBiYjEpe3ZhciBfMHg0YTU5OWE9XzB4MTVhMyxfMHhlZDg0Y2QsXzB4MmU1ODJjLF8weDVkYWZmZjtfMHgyZjJlZTRbXzB4NGE1OTlhKCcweDMxNCcpXT0oXzB4MmU1ODJjPShfMHhlZDg0Y2Q9XzB4MTUwYmIxKDB4MjAzOSkpW18weDRhNTk5YSgnMHg1MmYnKV1bJ0Jhc2UnXSxfMHg1ZGFmZmY9XzB4ZWQ4NGNkW18weDRhNTk5YSgnMHgyMzknKV1bXzB4NGE1OTlhKCcweDQwNicpXSx2b2lkKF8weGVkODRjZFsnYWxnbyddWydITUFDJ109XzB4MmU1ODJjWydleHRlbmQnXSh7J2luaXQnOmZ1bmN0aW9uKF8weDU4MGRhMSxfMHgyMjhhOGEpe3ZhciBfMHg1YWM4MTE9XzB4NGE1OTlhO18weDU4MGRhMT10aGlzW18weDVhYzgxMSgnMHg2NWUnKV09bmV3IF8weDU4MGRhMVsoXzB4NWFjODExKCcweGMxMycpKV0oKSxfMHg1YWM4MTEoJzB4NjVmJyk9PXR5cGVvZiBfMHgyMjhhOGEmJihfMHgyMjhhOGE9XzB4NWRhZmZmW18weDVhYzgxMSgnMHhiZjknKV0oXzB4MjI4YThhKSk7dmFyIF8weDJiYjBjZD1fMHg1ODBkYTFbJ2Jsb2NrU2l6ZSddLF8weDEwNDE3NT0weDQqXzB4MmJiMGNkO18weDIyOGE4YVsnc2lnQnl0ZXMnXT5fMHgxMDQxNzUmJihfMHgyMjhhOGE9XzB4NTgwZGExW18weDVhYzgxMSgnMHhiYjgnKV0oXzB4MjI4YThhKSksXzB4MjI4YThhW18weDVhYzgxMSgnMHg0NmUnKV0oKTtmb3IodmFyIF8weDM4MWM2ZD10aGlzWydfb0tleSddPV8weDIyOGE4YVsnY2xvbmUnXSgpLF8weDQzYTMxNz10aGlzW18weDVhYzgxMSgnMHg4NWInKV09XzB4MjI4YThhW18weDVhYzgxMSgnMHgzNzknKV0oKSxfMHg1ZjQ1ODY9XzB4MzgxYzZkW18weDVhYzgxMSgnMHg5NzInKV0sXzB4M2U5OTA5PV8weDQzYTMxN1tfMHg1YWM4MTEoJzB4OTcyJyldLF8weDMyNTZlNj0weDA7XzB4MzI1NmU2PF8weDJiYjBjZDtfMHgzMjU2ZTYrKylfMHg1ZjQ1ODZbXzB4MzI1NmU2XV49MHg1YzVjNWM1YyxfMHgzZTk5MDlbXzB4MzI1NmU2XV49MHgzNjM2MzYzNjtfMHgzODFjNmRbXzB4NWFjODExKCcweDJjZScpXT1fMHg0M2EzMTdbXzB4NWFjODExKCcweDJjZScpXT1fMHgxMDQxNzUsdGhpc1tfMHg1YWM4MTEoJzB4ODEwJyldKCk7fSwncmVzZXQnOmZ1bmN0aW9uKCl7dmFyIF8weDM0OTUwMD1fMHg0YTU5OWEsXzB4MTA0Y2FmPXRoaXNbJ19oYXNoZXInXTtfMHgxMDRjYWZbXzB4MzQ5NTAwKCcweDgxMCcpXSgpLF8weDEwNGNhZlsndXBkYXRlJ10odGhpc1tfMHgzNDk1MDAoJzB4ODViJyldKTt9LCd1cGRhdGUnOmZ1bmN0aW9uKF8weDVhYjI3Zil7dmFyIF8weDE2MDZiZT1fMHg0YTU5OWE7cmV0dXJuIHRoaXNbXzB4MTYwNmJlKCcweDY1ZScpXVsndXBkYXRlJ10oXzB4NWFiMjdmKSx0aGlzO30sJ2ZpbmFsaXplJzpmdW5jdGlvbihfMHgxM2Q3ZmEpe3ZhciBfMHg1M2JlZmE9XzB4NGE1OTlhLF8weDE4NDg1OT10aGlzW18weDUzYmVmYSgnMHg2NWUnKV0sXzB4M2YwY2E1PV8weDE4NDg1OVtfMHg1M2JlZmEoJzB4YmI4JyldKF8weDEzZDdmYSk7cmV0dXJuIF8weDE4NDg1OVtfMHg1M2JlZmEoJzB4ODEwJyldKCksXzB4MTg0ODU5W18weDUzYmVmYSgnMHhiYjgnKV0odGhpc1snX29LZXknXVtfMHg1M2JlZmEoJzB4Mzc5JyldKClbXzB4NTNiZWZhKCcweDUzMCcpXShfMHgzZjBjYTUpKTt9fSkpKTt9LDB4NTRhOmZ1bmN0aW9uKF8weDFiYjlmZixfMHgzZDlmZjQsXzB4MWRlNjBlKXt2YXIgXzB4MTBhNGNmPV8weDE1YTMsXzB4NGMyNmY1O18weDFiYjlmZltfMHgxMGE0Y2YoJzB4MzE0JyldPShfMHg0YzI2ZjU9XzB4MWRlNjBlKDB4MjAzOSksXzB4MWRlNjBlKDB4MTM0YSksXzB4MWRlNjBlKDB4MTE1MSksXzB4MWRlNjBlKDB4MTJhKSxfMHgxZGU2MGUoMHgyMDRkKSxfMHgxZGU2MGUoMHgyMDE2KSxfMHgxZGU2MGUoMHhhZGYpLF8weDFkZTYwZSgweDg2OSksXzB4MWRlNjBlKDB4MWU3MCksXzB4MWRlNjBlKDB4MjIpLF8weDFkZTYwZSgweDFkMjQpLF8weDFkZTYwZSgweGNmZiksXzB4MWRlNjBlKDB4MmMyKSxfMHgxZGU2MGUoMHgyNjYwKSxfMHgxZGU2MGUoMHg4NDApLF8weDFkZTYwZSgweDM3OCksXzB4MWRlNjBlKDB4MTNmNSksXzB4MWRlNjBlKDB4MjE3OCksXzB4MWRlNjBlKDB4MWVkKSxfMHgxZGU2MGUoMHgyNmYwKSxfMHgxZGU2MGUoMHgxZGVjKSxfMHgxZGU2MGUoMHg0N2MpLF8weDFkZTYwZSgweGUxZiksXzB4MWRlNjBlKDB4YWY3KSxfMHgxZGU2MGUoMHg0MzUpLF8weDFkZTYwZSgweDE5NGIpLF8weDFkZTYwZSgweDFiNGYpLF8weDFkZTYwZSgweDhhMSksXzB4MWRlNjBlKDB4MWM0KSxfMHgxZGU2MGUoMHgxMDlkKSxfMHgxZGU2MGUoMHg3NDEpLF8weDFkZTYwZSgweDExNjYpLF8weDFkZTYwZSgweGY4NiksXzB4NGMyNmY1KTt9LDB4MTE1MTpmdW5jdGlvbihfMHg1YTlkMzgsXzB4NDZiOGMyLF8weDE0ZGMyNSl7dmFyIF8weDFjMGM0MT1fMHgxNWEzLF8weDU0ZGZmOTtfMHg1YTlkMzhbJ2V4cG9ydHMnXT0oXzB4NTRkZmY5PV8weDE0ZGMyNSgweDIwMzkpLChmdW5jdGlvbigpe3ZhciBfMHgyZDUwZjQ9XzB4MTVhMztpZihfMHgyZDUwZjQoJzB4YzdiJyk9PXR5cGVvZiBBcnJheUJ1ZmZlcil7dmFyIF8weDEwNDVhNz1fMHg1NGRmZjlbXzB4MmQ1MGY0KCcweDUyZicpXVtfMHgyZDUwZjQoJzB4Mzc3JyldLF8weDFmMWM2OD1fMHgxMDQ1YTdbXzB4MmQ1MGY0KCcweGMxMycpXSxfMHgzNzcxZTA9XzB4MTA0NWE3Wydpbml0J109ZnVuY3Rpb24oXzB4MzcwMDFjKXt2YXIgXzB4M2U5ZTA3PV8weDJkNTBmNDtpZihfMHgzNzAwMWMgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmKF8weDM3MDAxYz1uZXcgVWludDhBcnJheShfMHgzNzAwMWMpKSwoXzB4MzcwMDFjIGluc3RhbmNlb2YgSW50OEFycmF5fHxfMHgzZTllMDcoJzB4YTdiJykhPXR5cGVvZiBVaW50OENsYW1wZWRBcnJheSYmXzB4MzcwMDFjIGluc3RhbmNlb2YgVWludDhDbGFtcGVkQXJyYXl8fF8weDM3MDAxYyBpbnN0YW5jZW9mIEludDE2QXJyYXl8fF8weDM3MDAxYyBpbnN0YW5jZW9mIFVpbnQxNkFycmF5fHxfMHgzNzAwMWMgaW5zdGFuY2VvZiBJbnQzMkFycmF5fHxfMHgzNzAwMWMgaW5zdGFuY2VvZiBVaW50MzJBcnJheXx8XzB4MzcwMDFjIGluc3RhbmNlb2YgRmxvYXQzMkFycmF5fHxfMHgzNzAwMWMgaW5zdGFuY2VvZiBGbG9hdDY0QXJyYXkpJiYoXzB4MzcwMDFjPW5ldyBVaW50OEFycmF5KF8weDM3MDAxY1tfMHgzZTllMDcoJzB4MjAzJyldLF8weDM3MDAxY1tfMHgzZTllMDcoJzB4MjIyJyldLF8weDM3MDAxY1tfMHgzZTllMDcoJzB4MjFiJyldKSksXzB4MzcwMDFjIGluc3RhbmNlb2YgVWludDhBcnJheSl7Zm9yKHZhciBfMHg0YTBkZjE9XzB4MzcwMDFjW18weDNlOWUwNygnMHgyMWInKV0sXzB4MTI3N2QyPVtdLF8weDNlNjQ4OT0weDA7XzB4M2U2NDg5PF8weDRhMGRmMTtfMHgzZTY0ODkrKylfMHgxMjc3ZDJbXzB4M2U2NDg5Pj4+MHgyXXw9XzB4MzcwMDFjW18weDNlNjQ4OV08PDB4MTgtXzB4M2U2NDg5JTB4NCoweDg7XzB4MWYxYzY4W18weDNlOWUwNygnMHg1ZmQnKV0odGhpcyxfMHgxMjc3ZDIsXzB4NGEwZGYxKTt9ZWxzZSBfMHgxZjFjNjhbXzB4M2U5ZTA3KCcweDQ0MicpXSh0aGlzLGFyZ3VtZW50cyk7fTtfMHgzNzcxZTBbJ3Byb3RvdHlwZSddPV8weDEwNDVhNzt9fSgpKSxfMHg1NGRmZjlbXzB4MWMwYzQxKCcweDUyZicpXVtfMHgxYzBjNDEoJzB4Mzc3JyldKTt9LDB4MjAxNjpmdW5jdGlvbihfMHg1OTY1M2EsXzB4MTI1YzcxLF8weDIyOTJmMCl7dmFyIF8weDFmZmZlZj1fMHgxNWEzLF8weDUyYjdhMTtfMHg1OTY1M2FbXzB4MWZmZmVmKCcweDMxNCcpXT0oXzB4NTJiN2ExPV8weDIyOTJmMCgweDIwMzkpLGZ1bmN0aW9uKF8weDI3ZTE5OCl7dmFyIF8weDQ5MGJmYj1fMHgxZmZmZWYsXzB4YTRkZGRjPV8weDUyYjdhMSxfMHg0OTMwYjc9XzB4YTRkZGRjWydsaWInXSxfMHg0YjJkMjY9XzB4NDkzMGI3W18weDQ5MGJmYignMHgzNzcnKV0sXzB4MjVjZTZlPV8weDQ5MzBiN1tfMHg0OTBiZmIoJzB4Mjc4JyldLF8weDI3ODU3Yz1fMHhhNGRkZGNbXzB4NDkwYmZiKCcweDRmNicpXSxfMHgxYTQwOGY9W107IShmdW5jdGlvbigpe3ZhciBfMHg0ZmU3ZmU9XzB4NDkwYmZiO2Zvcih2YXIgXzB4MTcxNGMxPTB4MDtfMHgxNzE0YzE8MHg0MDtfMHgxNzE0YzErKylfMHgxYTQwOGZbXzB4MTcxNGMxXT0weDEwMDAwMDAwMCpfMHgyN2UxOThbXzB4NGZlN2ZlKCcweDU0OCcpXShfMHgyN2UxOThbJ3NpbiddKF8weDE3MTRjMSsweDEpKXwweDA7fSgpKTt2YXIgXzB4MmRjYjgyPV8weDI3ODU3Y1tfMHg0OTBiZmIoJzB4OWY2JyldPV8weDI1Y2U2ZVtfMHg0OTBiZmIoJzB4N2U5JyldKHsnX2RvUmVzZXQnOmZ1bmN0aW9uKCl7dmFyIF8weDNjNTZjMz1fMHg0OTBiZmI7dGhpc1tfMHgzYzU2YzMoJzB4ODg4JyldPW5ldyBfMHg0YjJkMjZbKF8weDNjNTZjMygnMHhjMTMnKSldKFsweDY3NDUyMzAxLDB4ZWZjZGFiODksMHg5OGJhZGNmZSwweDEwMzI1NDc2XSk7fSwnX2RvUHJvY2Vzc0Jsb2NrJzpmdW5jdGlvbihfMHgyYTQxNjAsXzB4NDRlMmVmKXt2YXIgXzB4MWZlZWI2PV8weDQ5MGJmYjtmb3IodmFyIF8weDQ0YjcxND0weDA7XzB4NDRiNzE0PDB4MTA7XzB4NDRiNzE0Kyspe3ZhciBfMHgxNjAwYTc9XzB4NDRlMmVmK18weDQ0YjcxNCxfMHg0Zjk2MTg9XzB4MmE0MTYwW18weDE2MDBhN107XzB4MmE0MTYwW18weDE2MDBhN109MHhmZjAwZmYmKF8weDRmOTYxODw8MHg4fF8weDRmOTYxOD4+PjB4MTgpfDB4ZmYwMGZmMDAmKF8weDRmOTYxODw8MHgxOHxfMHg0Zjk2MTg+Pj4weDgpO312YXIgXzB4M2ZmY2E2PXRoaXNbXzB4MWZlZWI2KCcweDg4OCcpXVtfMHgxZmVlYjYoJzB4OTcyJyldLF8weDRkMGUyYz1fMHgyYTQxNjBbXzB4NDRlMmVmKzB4MF0sXzB4YWQwMjVlPV8weDJhNDE2MFtfMHg0NGUyZWYrMHgxXSxfMHg1YTZiZTQ9XzB4MmE0MTYwW18weDQ0ZTJlZisweDJdLF8weGUyN2ZlMT1fMHgyYTQxNjBbXzB4NDRlMmVmKzB4M10sXzB4NTRkODI4PV8weDJhNDE2MFtfMHg0NGUyZWYrMHg0XSxfMHgyMzZiMDc9XzB4MmE0MTYwW18weDQ0ZTJlZisweDVdLF8weDM1ZTdiMT1fMHgyYTQxNjBbXzB4NDRlMmVmKzB4Nl0sXzB4MzQ1ZmMzPV8weDJhNDE2MFtfMHg0NGUyZWYrMHg3XSxfMHgxOThlN2M9XzB4MmE0MTYwW18weDQ0ZTJlZisweDhdLF8weDVhMTg5ND1fMHgyYTQxNjBbXzB4NDRlMmVmKzB4OV0sXzB4NDYzY2I4PV8weDJhNDE2MFtfMHg0NGUyZWYrMHhhXSxfMHgxNmExNmM9XzB4MmE0MTYwW18weDQ0ZTJlZisweGJdLF8weDQ2N2ZlYT1fMHgyYTQxNjBbXzB4NDRlMmVmKzB4Y10sXzB4Mjg5YjJjPV8weDJhNDE2MFtfMHg0NGUyZWYrMHhkXSxfMHgxOTk2Y2Q9XzB4MmE0MTYwW18weDQ0ZTJlZisweGVdLF8weDFkNDZjNj1fMHgyYTQxNjBbXzB4NDRlMmVmKzB4Zl0sXzB4MmQ2NTZkPV8weDNmZmNhNlsweDBdLF8weDNkYjc3Nz1fMHgzZmZjYTZbMHgxXSxfMHg1MWExMWM9XzB4M2ZmY2E2WzB4Ml0sXzB4NTllY2ZmPV8weDNmZmNhNlsweDNdO18weDJkNjU2ZD1fMHgzNDU2NzMoXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHg1MWExMWMsXzB4NTllY2ZmLF8weDRkMGUyYywweDcsXzB4MWE0MDhmWzB4MF0pLF8weDU5ZWNmZj1fMHgzNDU2NzMoXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4NTFhMTFjLF8weGFkMDI1ZSwweGMsXzB4MWE0MDhmWzB4MV0pLF8weDUxYTExYz1fMHgzNDU2NzMoXzB4NTFhMTFjLF8weDU5ZWNmZixfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDVhNmJlNCwweDExLF8weDFhNDA4ZlsweDJdKSxfMHgzZGI3Nzc9XzB4MzQ1NjczKF8weDNkYjc3NyxfMHg1MWExMWMsXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHhlMjdmZTEsMHgxNixfMHgxYTQwOGZbMHgzXSksXzB4MmQ2NTZkPV8weDM0NTY3MyhfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDUxYTExYyxfMHg1OWVjZmYsXzB4NTRkODI4LDB4NyxfMHgxYTQwOGZbMHg0XSksXzB4NTllY2ZmPV8weDM0NTY3MyhfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHg1MWExMWMsXzB4MjM2YjA3LDB4YyxfMHgxYTQwOGZbMHg1XSksXzB4NTFhMTFjPV8weDM0NTY3MyhfMHg1MWExMWMsXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4MzVlN2IxLDB4MTEsXzB4MWE0MDhmWzB4Nl0pLF8weDNkYjc3Nz1fMHgzNDU2NzMoXzB4M2RiNzc3LF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDM0NWZjMywweDE2LF8weDFhNDA4ZlsweDddKSxfMHgyZDY1NmQ9XzB4MzQ1NjczKF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDU5ZWNmZixfMHgxOThlN2MsMHg3LF8weDFhNDA4ZlsweDhdKSxfMHg1OWVjZmY9XzB4MzQ1NjczKF8weDU5ZWNmZixfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDUxYTExYyxfMHg1YTE4OTQsMHhjLF8weDFhNDA4ZlsweDldKSxfMHg1MWExMWM9XzB4MzQ1NjczKF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHg0NjNjYjgsMHgxMSxfMHgxYTQwOGZbMHhhXSksXzB4M2RiNzc3PV8weDM0NTY3MyhfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDU5ZWNmZixfMHgyZDY1NmQsXzB4MTZhMTZjLDB4MTYsXzB4MWE0MDhmWzB4Yl0pLF8weDJkNjU2ZD1fMHgzNDU2NzMoXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHg1MWExMWMsXzB4NTllY2ZmLF8weDQ2N2ZlYSwweDcsXzB4MWE0MDhmWzB4Y10pLF8weDU5ZWNmZj1fMHgzNDU2NzMoXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDI4OWIyYywweGMsXzB4MWE0MDhmWzB4ZF0pLF8weDUxYTExYz1fMHgzNDU2NzMoXzB4NTFhMTFjLF8weDU5ZWNmZixfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDE5OTZjZCwweDExLF8weDFhNDA4ZlsweGVdKSxfMHgyZDY1NmQ9XzB4MTdlMzNmKF8weDJkNjU2ZCxfMHgzZGI3Nzc9XzB4MzQ1NjczKF8weDNkYjc3NyxfMHg1MWExMWMsXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHgxZDQ2YzYsMHgxNixfMHgxYTQwOGZbMHhmXSksXzB4NTFhMTFjLF8weDU5ZWNmZixfMHhhZDAyNWUsMHg1LF8weDFhNDA4ZlsweDEwXSksXzB4NTllY2ZmPV8weDE3ZTMzZihfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHg1MWExMWMsXzB4MzVlN2IxLDB4OSxfMHgxYTQwOGZbMHgxMV0pLF8weDUxYTExYz1fMHgxN2UzM2YoXzB4NTFhMTFjLF8weDU5ZWNmZixfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDE2YTE2YywweGUsXzB4MWE0MDhmWzB4MTJdKSxfMHgzZGI3Nzc9XzB4MTdlMzNmKF8weDNkYjc3NyxfMHg1MWExMWMsXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHg0ZDBlMmMsMHgxNCxfMHgxYTQwOGZbMHgxM10pLF8weDJkNjU2ZD1fMHgxN2UzM2YoXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHg1MWExMWMsXzB4NTllY2ZmLF8weDIzNmIwNywweDUsXzB4MWE0MDhmWzB4MTRdKSxfMHg1OWVjZmY9XzB4MTdlMzNmKF8weDU5ZWNmZixfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDUxYTExYyxfMHg0NjNjYjgsMHg5LF8weDFhNDA4ZlsweDE1XSksXzB4NTFhMTFjPV8weDE3ZTMzZihfMHg1MWExMWMsXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4MWQ0NmM2LDB4ZSxfMHgxYTQwOGZbMHgxNl0pLF8weDNkYjc3Nz1fMHgxN2UzM2YoXzB4M2RiNzc3LF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDU0ZDgyOCwweDE0LF8weDFhNDA4ZlsweDE3XSksXzB4MmQ2NTZkPV8weDE3ZTMzZihfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDUxYTExYyxfMHg1OWVjZmYsXzB4NWExODk0LDB4NSxfMHgxYTQwOGZbMHgxOF0pLF8weDU5ZWNmZj1fMHgxN2UzM2YoXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDE5OTZjZCwweDksXzB4MWE0MDhmWzB4MTldKSxfMHg1MWExMWM9XzB4MTdlMzNmKF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHhlMjdmZTEsMHhlLF8weDFhNDA4ZlsweDFhXSksXzB4M2RiNzc3PV8weDE3ZTMzZihfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDU5ZWNmZixfMHgyZDY1NmQsXzB4MTk4ZTdjLDB4MTQsXzB4MWE0MDhmWzB4MWJdKSxfMHgyZDY1NmQ9XzB4MTdlMzNmKF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDU5ZWNmZixfMHgyODliMmMsMHg1LF8weDFhNDA4ZlsweDFjXSksXzB4NTllY2ZmPV8weDE3ZTMzZihfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHg1MWExMWMsXzB4NWE2YmU0LDB4OSxfMHgxYTQwOGZbMHgxZF0pLF8weDUxYTExYz1fMHgxN2UzM2YoXzB4NTFhMTFjLF8weDU5ZWNmZixfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDM0NWZjMywweGUsXzB4MWE0MDhmWzB4MWVdKSxfMHgyZDY1NmQ9XzB4MTRlZmUxKF8weDJkNjU2ZCxfMHgzZGI3Nzc9XzB4MTdlMzNmKF8weDNkYjc3NyxfMHg1MWExMWMsXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHg0NjdmZWEsMHgxNCxfMHgxYTQwOGZbMHgxZl0pLF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MjM2YjA3LDB4NCxfMHgxYTQwOGZbMHgyMF0pLF8weDU5ZWNmZj1fMHgxNGVmZTEoXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDE5OGU3YywweGIsXzB4MWE0MDhmWzB4MjFdKSxfMHg1MWExMWM9XzB4MTRlZmUxKF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHgxNmExNmMsMHgxMCxfMHgxYTQwOGZbMHgyMl0pLF8weDNkYjc3Nz1fMHgxNGVmZTEoXzB4M2RiNzc3LF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDE5OTZjZCwweDE3LF8weDFhNDA4ZlsweDIzXSksXzB4MmQ2NTZkPV8weDE0ZWZlMShfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDUxYTExYyxfMHg1OWVjZmYsXzB4YWQwMjVlLDB4NCxfMHgxYTQwOGZbMHgyNF0pLF8weDU5ZWNmZj1fMHgxNGVmZTEoXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDU0ZDgyOCwweGIsXzB4MWE0MDhmWzB4MjVdKSxfMHg1MWExMWM9XzB4MTRlZmUxKF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHgzNDVmYzMsMHgxMCxfMHgxYTQwOGZbMHgyNl0pLF8weDNkYjc3Nz1fMHgxNGVmZTEoXzB4M2RiNzc3LF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDQ2M2NiOCwweDE3LF8weDFhNDA4ZlsweDI3XSksXzB4MmQ2NTZkPV8weDE0ZWZlMShfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDUxYTExYyxfMHg1OWVjZmYsXzB4Mjg5YjJjLDB4NCxfMHgxYTQwOGZbMHgyOF0pLF8weDU5ZWNmZj1fMHgxNGVmZTEoXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDRkMGUyYywweGIsXzB4MWE0MDhmWzB4MjldKSxfMHg1MWExMWM9XzB4MTRlZmUxKF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHhlMjdmZTEsMHgxMCxfMHgxYTQwOGZbMHgyYV0pLF8weDNkYjc3Nz1fMHgxNGVmZTEoXzB4M2RiNzc3LF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDM1ZTdiMSwweDE3LF8weDFhNDA4ZlsweDJiXSksXzB4MmQ2NTZkPV8weDE0ZWZlMShfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDUxYTExYyxfMHg1OWVjZmYsXzB4NWExODk0LDB4NCxfMHgxYTQwOGZbMHgyY10pLF8weDU5ZWNmZj1fMHgxNGVmZTEoXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDQ2N2ZlYSwweGIsXzB4MWE0MDhmWzB4MmRdKSxfMHg1MWExMWM9XzB4MTRlZmUxKF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHgxZDQ2YzYsMHgxMCxfMHgxYTQwOGZbMHgyZV0pLF8weDJkNjU2ZD1fMHhmNTMyMShfMHgyZDY1NmQsXzB4M2RiNzc3PV8weDE0ZWZlMShfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDU5ZWNmZixfMHgyZDY1NmQsXzB4NWE2YmU0LDB4MTcsXzB4MWE0MDhmWzB4MmZdKSxfMHg1MWExMWMsXzB4NTllY2ZmLF8weDRkMGUyYywweDYsXzB4MWE0MDhmWzB4MzBdKSxfMHg1OWVjZmY9XzB4ZjUzMjEoXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDM0NWZjMywweGEsXzB4MWE0MDhmWzB4MzFdKSxfMHg1MWExMWM9XzB4ZjUzMjEoXzB4NTFhMTFjLF8weDU5ZWNmZixfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDE5OTZjZCwweGYsXzB4MWE0MDhmWzB4MzJdKSxfMHgzZGI3Nzc9XzB4ZjUzMjEoXzB4M2RiNzc3LF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDIzNmIwNywweDE1LF8weDFhNDA4ZlsweDMzXSksXzB4MmQ2NTZkPV8weGY1MzIxKF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDU5ZWNmZixfMHg0NjdmZWEsMHg2LF8weDFhNDA4ZlsweDM0XSksXzB4NTllY2ZmPV8weGY1MzIxKF8weDU5ZWNmZixfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDUxYTExYyxfMHhlMjdmZTEsMHhhLF8weDFhNDA4ZlsweDM1XSksXzB4NTFhMTFjPV8weGY1MzIxKF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHg0NjNjYjgsMHhmLF8weDFhNDA4ZlsweDM2XSksXzB4M2RiNzc3PV8weGY1MzIxKF8weDNkYjc3NyxfMHg1MWExMWMsXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHhhZDAyNWUsMHgxNSxfMHgxYTQwOGZbMHgzN10pLF8weDJkNjU2ZD1fMHhmNTMyMShfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MTk4ZTdjLDB4NixfMHgxYTQwOGZbMHgzOF0pLF8weDU5ZWNmZj1fMHhmNTMyMShfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHg1MWExMWMsXzB4MWQ0NmM2LDB4YSxfMHgxYTQwOGZbMHgzOV0pLF8weDUxYTExYz1fMHhmNTMyMShfMHg1MWExMWMsXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4MzVlN2IxLDB4ZixfMHgxYTQwOGZbMHgzYV0pLF8weDNkYjc3Nz1fMHhmNTMyMShfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDU5ZWNmZixfMHgyZDY1NmQsXzB4Mjg5YjJjLDB4MTUsXzB4MWE0MDhmWzB4M2JdKSxfMHgyZDY1NmQ9XzB4ZjUzMjEoXzB4MmQ2NTZkLF8weDNkYjc3NyxfMHg1MWExMWMsXzB4NTllY2ZmLF8weDU0ZDgyOCwweDYsXzB4MWE0MDhmWzB4M2NdKSxfMHg1OWVjZmY9XzB4ZjUzMjEoXzB4NTllY2ZmLF8weDJkNjU2ZCxfMHgzZGI3NzcsXzB4NTFhMTFjLF8weDE2YTE2YywweGEsXzB4MWE0MDhmWzB4M2RdKSxfMHg1MWExMWM9XzB4ZjUzMjEoXzB4NTFhMTFjLF8weDU5ZWNmZixfMHgyZDY1NmQsXzB4M2RiNzc3LF8weDVhNmJlNCwweGYsXzB4MWE0MDhmWzB4M2VdKSxfMHgzZGI3Nzc9XzB4ZjUzMjEoXzB4M2RiNzc3LF8weDUxYTExYyxfMHg1OWVjZmYsXzB4MmQ2NTZkLF8weDVhMTg5NCwweDE1LF8weDFhNDA4ZlsweDNmXSksXzB4M2ZmY2E2WzB4MF09XzB4M2ZmY2E2WzB4MF0rXzB4MmQ2NTZkfDB4MCxfMHgzZmZjYTZbMHgxXT1fMHgzZmZjYTZbMHgxXStfMHgzZGI3Nzd8MHgwLF8weDNmZmNhNlsweDJdPV8weDNmZmNhNlsweDJdK18weDUxYTExY3wweDAsXzB4M2ZmY2E2WzB4M109XzB4M2ZmY2E2WzB4M10rXzB4NTllY2ZmfDB4MDt9LCdfZG9GaW5hbGl6ZSc6ZnVuY3Rpb24oKXt2YXIgXzB4MjIwZWQwPV8weDQ5MGJmYixfMHg1MTBlODc9dGhpc1snX2RhdGEnXSxfMHg1MjIzZDI9XzB4NTEwZTg3Wyd3b3JkcyddLF8weDUwMWQyMD0weDgqdGhpc1snX25EYXRhQnl0ZXMnXSxfMHg0M2FmYjI9MHg4Kl8weDUxMGU4N1tfMHgyMjBlZDAoJzB4MmNlJyldO18weDUyMjNkMltfMHg0M2FmYjI+Pj4weDVdfD0weDgwPDwweDE4LV8weDQzYWZiMiUweDIwO3ZhciBfMHgzNDgxMjE9XzB4MjdlMTk4W18weDIyMGVkMCgnMHhiYmUnKV0oXzB4NTAxZDIwLzB4MTAwMDAwMDAwKSxfMHgxZmMxYTI9XzB4NTAxZDIwO18weDUyMjNkMlsweGYrKF8weDQzYWZiMisweDQwPj4+MHg5PDwweDQpXT0weGZmMDBmZiYoXzB4MzQ4MTIxPDwweDh8XzB4MzQ4MTIxPj4+MHgxOCl8MHhmZjAwZmYwMCYoXzB4MzQ4MTIxPDwweDE4fF8weDM0ODEyMT4+PjB4OCksXzB4NTIyM2QyWzB4ZSsoXzB4NDNhZmIyKzB4NDA+Pj4weDk8PDB4NCldPTB4ZmYwMGZmJihfMHgxZmMxYTI8PDB4OHxfMHgxZmMxYTI+Pj4weDE4KXwweGZmMDBmZjAwJihfMHgxZmMxYTI8PDB4MTh8XzB4MWZjMWEyPj4+MHg4KSxfMHg1MTBlODdbJ3NpZ0J5dGVzJ109MHg0KihfMHg1MjIzZDJbXzB4MjIwZWQwKCcweDUyMCcpXSsweDEpLHRoaXNbJ19wcm9jZXNzJ10oKTtmb3IodmFyIF8weGIyNjBkYj10aGlzW18weDIyMGVkMCgnMHg4ODgnKV0sXzB4MmY1MTlkPV8weGIyNjBkYltfMHgyMjBlZDAoJzB4OTcyJyldLF8weDUwZWNlZT0weDA7XzB4NTBlY2VlPDB4NDtfMHg1MGVjZWUrKyl7dmFyIF8weDQyYzg4Nj1fMHgyZjUxOWRbXzB4NTBlY2VlXTtfMHgyZjUxOWRbXzB4NTBlY2VlXT0weGZmMDBmZiYoXzB4NDJjODg2PDwweDh8XzB4NDJjODg2Pj4+MHgxOCl8MHhmZjAwZmYwMCYoXzB4NDJjODg2PDwweDE4fF8weDQyYzg4Nj4+PjB4OCk7fXJldHVybiBfMHhiMjYwZGI7fSwnY2xvbmUnOmZ1bmN0aW9uKCl7dmFyIF8weDVjN2Q3Mz1fMHg0OTBiZmIsXzB4MTNkNDZkPV8weDI1Y2U2ZVtfMHg1YzdkNzMoJzB4Mzc5JyldW18weDVjN2Q3MygnMHg1ZmQnKV0odGhpcyk7cmV0dXJuIF8weDEzZDQ2ZFsnX2hhc2gnXT10aGlzW18weDVjN2Q3MygnMHg4ODgnKV1bXzB4NWM3ZDczKCcweDM3OScpXSgpLF8weDEzZDQ2ZDt9fSk7ZnVuY3Rpb24gXzB4MzQ1NjczKF8weDNmOWFiMCxfMHg1MzhjNmUsXzB4NGI3ZWFkLF8weDFkMTQxZixfMHg1YjNkYjMsXzB4MjE2ZDQ4LF8weDlhZGM4YSl7dmFyIF8weDUzMTkxOT1fMHgzZjlhYjArKF8weDUzOGM2ZSZfMHg0YjdlYWR8fl8weDUzOGM2ZSZfMHgxZDE0MWYpK18weDViM2RiMytfMHg5YWRjOGE7cmV0dXJuKF8weDUzMTkxOTw8XzB4MjE2ZDQ4fF8weDUzMTkxOT4+PjB4MjAtXzB4MjE2ZDQ4KStfMHg1MzhjNmU7fWZ1bmN0aW9uIF8weDE3ZTMzZihfMHgzYjliMTAsXzB4MjhmOWUxLF8weDdiYTYxNixfMHg1NGI2ZDcsXzB4NWYzODMzLF8weDVjZTRmNixfMHgyNzIyNDApe3ZhciBfMHg1MmUyNzI9XzB4M2I5YjEwKyhfMHgyOGY5ZTEmXzB4NTRiNmQ3fF8weDdiYTYxNiZ+XzB4NTRiNmQ3KStfMHg1ZjM4MzMrXzB4MjcyMjQwO3JldHVybihfMHg1MmUyNzI8PF8weDVjZTRmNnxfMHg1MmUyNzI+Pj4weDIwLV8weDVjZTRmNikrXzB4MjhmOWUxO31mdW5jdGlvbiBfMHgxNGVmZTEoXzB4MWI2Mzk0LF8weDdhMzI1ZCxfMHgxMGQ5YjcsXzB4Mjc5YThmLF8weDEwNjMzZSxfMHhmZDA2NjQsXzB4NWRiOTZkKXt2YXIgXzB4MmU3YjU5PV8weDFiNjM5NCsoXzB4N2EzMjVkXl8weDEwZDliN15fMHgyNzlhOGYpK18weDEwNjMzZStfMHg1ZGI5NmQ7cmV0dXJuKF8weDJlN2I1OTw8XzB4ZmQwNjY0fF8weDJlN2I1OT4+PjB4MjAtXzB4ZmQwNjY0KStfMHg3YTMyNWQ7fWZ1bmN0aW9uIF8weGY1MzIxKF8weDQxMmNjOSxfMHgzNjdiMDUsXzB4MmM0YWZkLF8weDUyOWViMixfMHg0ZGY5YzQsXzB4YTViMTM2LF8weDRlNTA1MCl7dmFyIF8weDM4ZTMxNj1fMHg0MTJjYzkrKF8weDJjNGFmZF4oXzB4MzY3YjA1fH5fMHg1MjllYjIpKStfMHg0ZGY5YzQrXzB4NGU1MDUwO3JldHVybihfMHgzOGUzMTY8PF8weGE1YjEzNnxfMHgzOGUzMTY+Pj4weDIwLV8weGE1YjEzNikrXzB4MzY3YjA1O31fMHhhNGRkZGNbXzB4NDkwYmZiKCcweDlmNicpXT1fMHgyNWNlNmVbXzB4NDkwYmZiKCcweDg0MCcpXShfMHgyZGNiODIpLF8weGE0ZGRkY1tfMHg0OTBiZmIoJzB4OThmJyldPV8weDI1Y2U2ZVtfMHg0OTBiZmIoJzB4MzczJyldKF8weDJkY2I4Mik7fShNYXRoKSxfMHg1MmI3YTFbXzB4MWZmZmVmKCcweDlmNicpXSk7fSwweDIxNzg6ZnVuY3Rpb24oXzB4NGZjOTExLF8weDNhOGMxYyxfMHgzZTFjNTQpe3ZhciBfMHgzNTViOGY9XzB4MTVhMyxfMHg1MzQ1MTY7XzB4NGZjOTExW18weDM1NWI4ZignMHgzMTQnKV09KF8weDUzNDUxNj1fMHgzZTFjNTQoMHgyMDM5KSxfMHgzZTFjNTQoMHgxM2Y1KSxfMHg1MzQ1MTZbXzB4MzU1YjhmKCcweGE4YScpXVtfMHgzNTViOGYoJzB4OTViJyldPShmdW5jdGlvbigpe3ZhciBfMHgyODE2YmM9XzB4MzU1YjhmLF8weDUwYzcwNj1fMHg1MzQ1MTZbXzB4MjgxNmJjKCcweDUyZicpXVtfMHgyODE2YmMoJzB4NmQ1JyldW18weDI4MTZiYygnMHg3ZTknKV0oKTtmdW5jdGlvbiBfMHg0ZTgzNjkoXzB4MTU2MTdmLF8weDQyMmZkNixfMHgyNDU4YWUsXzB4MjU4YzBkKXt2YXIgXzB4MzE0MjI5PV8weDI4MTZiYyxfMHgzZGI4MmI9dGhpc1snX2l2J107aWYoXzB4M2RiODJiKXt2YXIgXzB4MzRjN2RkPV8weDNkYjgyYltfMHgzMTQyMjkoJzB4YWRhJyldKDB4MCk7dGhpc1tfMHgzMTQyMjkoJzB4NGYwJyldPXZvaWQgMHgwO31lbHNlIF8weDM0YzdkZD10aGlzW18weDMxNDIyOSgnMHg3YzcnKV07XzB4MjU4YzBkWydlbmNyeXB0QmxvY2snXShfMHgzNGM3ZGQsMHgwKTtmb3IodmFyIF8weDNiZDYwMT0weDA7XzB4M2JkNjAxPF8weDI0NThhZTtfMHgzYmQ2MDErKylfMHgxNTYxN2ZbXzB4NDIyZmQ2K18weDNiZDYwMV1ePV8weDM0YzdkZFtfMHgzYmQ2MDFdO31yZXR1cm4gXzB4NTBjNzA2W18weDI4MTZiYygnMHg0ZWEnKV09XzB4NTBjNzA2WydleHRlbmQnXSh7J3Byb2Nlc3NCbG9jayc6ZnVuY3Rpb24oXzB4MmVkZDQwLF8weDEyNmI2Nil7dmFyIF8weGZmMzUzZD1fMHgyODE2YmMsXzB4NGVkNzQ0PXRoaXNbXzB4ZmYzNTNkKCcweDZkNycpXSxfMHgyNDJjMzI9XzB4NGVkNzQ0W18weGZmMzUzZCgnMHhjNjUnKV07XzB4NGU4MzY5W18weGZmMzUzZCgnMHg1ZmQnKV0odGhpcyxfMHgyZWRkNDAsXzB4MTI2YjY2LF8weDI0MmMzMixfMHg0ZWQ3NDQpLHRoaXNbXzB4ZmYzNTNkKCcweDdjNycpXT1fMHgyZWRkNDBbJ3NsaWNlJ10oXzB4MTI2YjY2LF8weDEyNmI2NitfMHgyNDJjMzIpO319KSxfMHg1MGM3MDZbXzB4MjgxNmJjKCcweDFlZScpXT1fMHg1MGM3MDZbXzB4MjgxNmJjKCcweDdlOScpXSh7J3Byb2Nlc3NCbG9jayc6ZnVuY3Rpb24oXzB4MjUxNmJjLF8weDMxOWM2ZSl7dmFyIF8weDExYzcyMz1fMHgyODE2YmMsXzB4NDM5YzA0PXRoaXNbXzB4MTFjNzIzKCcweDZkNycpXSxfMHgzZTJiNDg9XzB4NDM5YzA0W18weDExYzcyMygnMHhjNjUnKV0sXzB4MWZhNmI5PV8weDI1MTZiY1snc2xpY2UnXShfMHgzMTljNmUsXzB4MzE5YzZlK18weDNlMmI0OCk7XzB4NGU4MzY5WydjYWxsJ10odGhpcyxfMHgyNTE2YmMsXzB4MzE5YzZlLF8weDNlMmI0OCxfMHg0MzljMDQpLHRoaXNbJ19wcmV2QmxvY2snXT1fMHgxZmE2Yjk7fX0pLF8weDUwYzcwNjt9KCkpLF8weDUzNDUxNltfMHgzNTViOGYoJzB4YThhJyldW18weDM1NWI4ZignMHg5NWInKV0pO30sMHgyNmYwOmZ1bmN0aW9uKF8weDE5N2UzYSxfMHgxZDY2N2EsXzB4NTA5ODVmKXt2YXIgXzB4MjdlMzc3PV8weDE1YTMsXzB4MzBlZmQ3O18weDE5N2UzYVtfMHgyN2UzNzcoJzB4MzE0JyldPShfMHgzMGVmZDc9XzB4NTA5ODVmKDB4MjAzOSksXzB4NTA5ODVmKDB4MTNmNSksXzB4MzBlZmQ3W18weDI3ZTM3NygnMHhhOGEnKV1bXzB4MjdlMzc3KCcweGNmOCcpXT0oZnVuY3Rpb24oKXt2YXIgXzB4NTEyNTAxPV8weDI3ZTM3NyxfMHg1OWQ0ZDQ9XzB4MzBlZmQ3W18weDUxMjUwMSgnMHg1MmYnKV1bXzB4NTEyNTAxKCcweDZkNScpXVtfMHg1MTI1MDEoJzB4N2U5JyldKCk7ZnVuY3Rpb24gXzB4M2U2NWNmKF8weDU5NmMzZil7aWYoMHhmZj09KF8weDU5NmMzZj4+MHgxOCYweGZmKSl7dmFyIF8weDJhN2FmYj1fMHg1OTZjM2Y+PjB4MTAmMHhmZixfMHgzZTdkOTk9XzB4NTk2YzNmPj4weDgmMHhmZixfMHg0NGM4YjQ9MHhmZiZfMHg1OTZjM2Y7MHhmZj09PV8weDJhN2FmYj8oXzB4MmE3YWZiPTB4MCwweGZmPT09XzB4M2U3ZDk5PyhfMHgzZTdkOTk9MHgwLDB4ZmY9PT1fMHg0NGM4YjQ/XzB4NDRjOGI0PTB4MDorK18weDQ0YzhiNCk6KytfMHgzZTdkOTkpOisrXzB4MmE3YWZiLF8weDU5NmMzZj0weDAsXzB4NTk2YzNmKz1fMHgyYTdhZmI8PDB4MTAsXzB4NTk2YzNmKz1fMHgzZTdkOTk8PDB4OCxfMHg1OTZjM2YrPV8weDQ0YzhiNDt9ZWxzZSBfMHg1OTZjM2YrPTB4MTw8MHgxODtyZXR1cm4gXzB4NTk2YzNmO312YXIgXzB4MWE1ZTcyPV8weDU5ZDRkNFtfMHg1MTI1MDEoJzB4NGVhJyldPV8weDU5ZDRkNFtfMHg1MTI1MDEoJzB4N2U5JyldKHsncHJvY2Vzc0Jsb2NrJzpmdW5jdGlvbihfMHgzMTA2MzksXzB4MWE5ODRkKXt2YXIgXzB4MjliZGE2PV8weDUxMjUwMSxfMHg1YmUyNTU9dGhpc1tfMHgyOWJkYTYoJzB4NmQ3JyldLF8weDMyNDZjZT1fMHg1YmUyNTVbXzB4MjliZGE2KCcweGM2NScpXSxfMHgzNjBlOTM9dGhpc1tfMHgyOWJkYTYoJzB4NGYwJyldLF8weDJmODdkYj10aGlzW18weDI5YmRhNignMHhiM2EnKV07XzB4MzYwZTkzJiYoXzB4MmY4N2RiPXRoaXNbXzB4MjliZGE2KCcweGIzYScpXT1fMHgzNjBlOTNbJ3NsaWNlJ10oMHgwKSx0aGlzWydfaXYnXT12b2lkIDB4MCksZnVuY3Rpb24oXzB4NGE0NjY2KXsweDA9PT0oXzB4NGE0NjY2WzB4MF09XzB4M2U2NWNmKF8weDRhNDY2NlsweDBdKSkmJihfMHg0YTQ2NjZbMHgxXT1fMHgzZTY1Y2YoXzB4NGE0NjY2WzB4MV0pKTt9KF8weDJmODdkYik7dmFyIF8weDNjMjM0OD1fMHgyZjg3ZGJbXzB4MjliZGE2KCcweGFkYScpXSgweDApO18weDViZTI1NVsnZW5jcnlwdEJsb2NrJ10oXzB4M2MyMzQ4LDB4MCk7Zm9yKHZhciBfMHg0ZmIyZDg9MHgwO18weDRmYjJkODxfMHgzMjQ2Y2U7XzB4NGZiMmQ4KyspXzB4MzEwNjM5W18weDFhOTg0ZCtfMHg0ZmIyZDhdXj1fMHgzYzIzNDhbXzB4NGZiMmQ4XTt9fSk7cmV0dXJuIF8weDU5ZDRkNFtfMHg1MTI1MDEoJzB4MWVlJyldPV8weDFhNWU3MixfMHg1OWQ0ZDQ7fSgpKSxfMHgzMGVmZDdbJ21vZGUnXVtfMHgyN2UzNzcoJzB4Y2Y4JyldKTt9LDB4MWVkOmZ1bmN0aW9uKF8weDIxZTk1ZSxfMHgzOTAwYTYsXzB4NDA5MzFlKXt2YXIgXzB4MTBkYTVkPV8weDE1YTMsXzB4NTJkN2M0LF8weDE3ZTVlMCxfMHgxMWFmZDA7XzB4MjFlOTVlWydleHBvcnRzJ109KF8weDExYWZkMD1fMHg0MDkzMWUoMHgyMDM5KSxfMHg0MDkzMWUoMHgxM2Y1KSxfMHgxMWFmZDBbJ21vZGUnXVtfMHgxMGRhNWQoJzB4YWI2JyldPShfMHgxN2U1ZTA9KF8weDUyZDdjND1fMHgxMWFmZDBbJ2xpYiddW18weDEwZGE1ZCgnMHg2ZDUnKV1bXzB4MTBkYTVkKCcweDdlOScpXSgpKVsnRW5jcnlwdG9yJ109XzB4NTJkN2M0W18weDEwZGE1ZCgnMHg3ZTknKV0oeydwcm9jZXNzQmxvY2snOmZ1bmN0aW9uKF8weDQ0NmRhZCxfMHg0NWJjNWQpe3ZhciBfMHg1NjUzNDY9XzB4MTBkYTVkLF8weDMxYTYyOD10aGlzW18weDU2NTM0NignMHg2ZDcnKV0sXzB4MzcxMWEzPV8weDMxYTYyOFsnYmxvY2tTaXplJ10sXzB4MWFjZTYxPXRoaXNbXzB4NTY1MzQ2KCcweDRmMCcpXSxfMHgzYjYyMmY9dGhpc1tfMHg1NjUzNDYoJzB4YjNhJyldO18weDFhY2U2MSYmKF8weDNiNjIyZj10aGlzWydfY291bnRlciddPV8weDFhY2U2MVtfMHg1NjUzNDYoJzB4YWRhJyldKDB4MCksdGhpc1tfMHg1NjUzNDYoJzB4NGYwJyldPXZvaWQgMHgwKTt2YXIgXzB4NTU2ZjNkPV8weDNiNjIyZltfMHg1NjUzNDYoJzB4YWRhJyldKDB4MCk7XzB4MzFhNjI4W18weDU2NTM0NignMHhhOTgnKV0oXzB4NTU2ZjNkLDB4MCksXzB4M2I2MjJmW18weDM3MTFhMy0weDFdPV8weDNiNjIyZltfMHgzNzExYTMtMHgxXSsweDF8MHgwO2Zvcih2YXIgXzB4NGVkYTE5PTB4MDtfMHg0ZWRhMTk8XzB4MzcxMWEzO18weDRlZGExOSsrKV8weDQ0NmRhZFtfMHg0NWJjNWQrXzB4NGVkYTE5XV49XzB4NTU2ZjNkW18weDRlZGExOV07fX0pLF8weDUyZDdjNFtfMHgxMGRhNWQoJzB4MWVlJyldPV8weDE3ZTVlMCxfMHg1MmQ3YzQpLF8weDExYWZkMFsnbW9kZSddW18weDEwZGE1ZCgnMHhhYjYnKV0pO30sMHg0N2M6ZnVuY3Rpb24oXzB4NDZiNTk1LF8weDY4ZWYwZSxfMHg1MDAzZjMpe3ZhciBfMHg1NGU3NGQ9XzB4MTVhMyxfMHgxYzA2NjAsXzB4ODE1Yjc3O18weDQ2YjU5NVtfMHg1NGU3NGQoJzB4MzE0JyldPShfMHg4MTViNzc9XzB4NTAwM2YzKDB4MjAzOSksXzB4NTAwM2YzKDB4MTNmNSksXzB4ODE1Yjc3W18weDU0ZTc0ZCgnMHhhOGEnKV1bXzB4NTRlNzRkKCcweDM5MycpXT0oKF8weDFjMDY2MD1fMHg4MTViNzdbXzB4NTRlNzRkKCcweDUyZicpXVtfMHg1NGU3NGQoJzB4NmQ1JyldWydleHRlbmQnXSgpKVsnRW5jcnlwdG9yJ109XzB4MWMwNjYwW18weDU0ZTc0ZCgnMHg3ZTknKV0oeydwcm9jZXNzQmxvY2snOmZ1bmN0aW9uKF8weDU2MjNkNyxfMHg0NjhkODEpe3ZhciBfMHgzYmJjZGE9XzB4NTRlNzRkO3RoaXNbXzB4M2JiY2RhKCcweDZkNycpXVtfMHgzYmJjZGEoJzB4YTk4JyldKF8weDU2MjNkNyxfMHg0NjhkODEpO319KSxfMHgxYzA2NjBbXzB4NTRlNzRkKCcweDFlZScpXT1fMHgxYzA2NjBbXzB4NTRlNzRkKCcweDdlOScpXSh7J3Byb2Nlc3NCbG9jayc6ZnVuY3Rpb24oXzB4MzZhMDY0LF8weDQxNzg0ZCl7dmFyIF8weGUwYTlmMD1fMHg1NGU3NGQ7dGhpc1tfMHhlMGE5ZjAoJzB4NmQ3JyldW18weGUwYTlmMCgnMHg1NmInKV0oXzB4MzZhMDY0LF8weDQxNzg0ZCk7fX0pLF8weDFjMDY2MCksXzB4ODE1Yjc3W18weDU0ZTc0ZCgnMHhhOGEnKV1bXzB4NTRlNzRkKCcweDM5MycpXSk7fSwweDFkZWM6ZnVuY3Rpb24oXzB4Mjk3MDdkLF8weDUwODI2NyxfMHhmNjU1ZmQpe3ZhciBfMHgyZjU5OTg9XzB4MTVhMyxfMHgxZTRhYjksXzB4MWVkNGNjLF8weDM0ZjhmZDtfMHgyOTcwN2RbXzB4MmY1OTk4KCcweDMxNCcpXT0oXzB4MzRmOGZkPV8weGY2NTVmZCgweDIwMzkpLF8weGY2NTVmZCgweDEzZjUpLF8weDM0ZjhmZFtfMHgyZjU5OTgoJzB4YThhJyldW18weDJmNTk5OCgnMHhkMzEnKV09KF8weDFlZDRjYz0oXzB4MWU0YWI5PV8weDM0ZjhmZFtfMHgyZjU5OTgoJzB4NTJmJyldWydCbG9ja0NpcGhlck1vZGUnXVtfMHgyZjU5OTgoJzB4N2U5JyldKCkpWydFbmNyeXB0b3InXT1fMHgxZTRhYjlbJ2V4dGVuZCddKHsncHJvY2Vzc0Jsb2NrJzpmdW5jdGlvbihfMHhmMTMwMGQsXzB4MTNkZmFhKXt2YXIgXzB4NGVjZmQ3PV8weDJmNTk5OCxfMHg0ZTYwYTY9dGhpc1tfMHg0ZWNmZDcoJzB4NmQ3JyldLF8weGU4MmRhPV8weDRlNjBhNlsnYmxvY2tTaXplJ10sXzB4NTAxMWI3PXRoaXNbXzB4NGVjZmQ3KCcweDRmMCcpXSxfMHg0ZTg2N2Q9dGhpc1tfMHg0ZWNmZDcoJzB4NTZjJyldO18weDUwMTFiNyYmKF8weDRlODY3ZD10aGlzWydfa2V5c3RyZWFtJ109XzB4NTAxMWI3W18weDRlY2ZkNygnMHhhZGEnKV0oMHgwKSx0aGlzW18weDRlY2ZkNygnMHg0ZjAnKV09dm9pZCAweDApLF8weDRlNjBhNltfMHg0ZWNmZDcoJzB4YTk4JyldKF8weDRlODY3ZCwweDApO2Zvcih2YXIgXzB4MjU1NzgxPTB4MDtfMHgyNTU3ODE8XzB4ZTgyZGE7XzB4MjU1NzgxKyspXzB4ZjEzMDBkW18weDEzZGZhYStfMHgyNTU3ODFdXj1fMHg0ZTg2N2RbXzB4MjU1NzgxXTt9fSksXzB4MWU0YWI5W18weDJmNTk5OCgnMHgxZWUnKV09XzB4MWVkNGNjLF8weDFlNGFiOSksXzB4MzRmOGZkW18weDJmNTk5OCgnMHhhOGEnKV1bXzB4MmY1OTk4KCcweGQzMScpXSk7fSwweGUxZjpmdW5jdGlvbihfMHg0ODQ2MDAsXzB4NDA5MDliLF8weDMxN2VhMCl7dmFyIF8weDFjODUzZT1fMHgxNWEzLF8weDU1YTY3MztfMHg0ODQ2MDBbXzB4MWM4NTNlKCcweDMxNCcpXT0oXzB4NTVhNjczPV8weDMxN2VhMCgweDIwMzkpLF8weDMxN2VhMCgweDEzZjUpLF8weDU1YTY3M1tfMHgxYzg1M2UoJzB4OThiJyldWydBbnNpWDkyMyddPXsncGFkJzpmdW5jdGlvbihfMHgzNTUyNTQsXzB4NTdkMTk0KXt2YXIgXzB4NDQzYjNlPV8weDFjODUzZSxfMHgyZmQ4NT1fMHgzNTUyNTRbJ3NpZ0J5dGVzJ10sXzB4MzNkZmZkPTB4NCpfMHg1N2QxOTQsXzB4MWFiZTYzPV8weDMzZGZmZC1fMHgyZmQ4NSVfMHgzM2RmZmQsXzB4MTJjY2M1PV8weDJmZDg1K18weDFhYmU2My0weDE7XzB4MzU1MjU0W18weDQ0M2IzZSgnMHg0NmUnKV0oKSxfMHgzNTUyNTRbXzB4NDQzYjNlKCcweDk3MicpXVtfMHgxMmNjYzU+Pj4weDJdfD1fMHgxYWJlNjM8PDB4MTgtXzB4MTJjY2M1JTB4NCoweDgsXzB4MzU1MjU0W18weDQ0M2IzZSgnMHgyY2UnKV0rPV8weDFhYmU2Mzt9LCd1bnBhZCc6ZnVuY3Rpb24oXzB4MmY3Mzg5KXt2YXIgXzB4NTM2NjQ2PV8weDFjODUzZSxfMHgxOTE1NzI9MHhmZiZfMHgyZjczODlbJ3dvcmRzJ11bXzB4MmY3Mzg5W18weDUzNjY0NignMHgyY2UnKV0tMHgxPj4+MHgyXTtfMHgyZjczODlbJ3NpZ0J5dGVzJ10tPV8weDE5MTU3Mjt9fSxfMHg1NWE2NzNbXzB4MWM4NTNlKCcweDk4YicpXVtfMHgxYzg1M2UoJzB4ODQ3JyldKTt9LDB4YWY3OmZ1bmN0aW9uKF8weDQwNjIwYSxfMHg1YmEyZWEsXzB4MjJiMTZmKXt2YXIgXzB4NTM3NTFmPV8weDE1YTMsXzB4MjU3ZmQ3O18weDQwNjIwYVtfMHg1Mzc1MWYoJzB4MzE0JyldPShfMHgyNTdmZDc9XzB4MjJiMTZmKDB4MjAzOSksXzB4MjJiMTZmKDB4MTNmNSksXzB4MjU3ZmQ3W18weDUzNzUxZignMHg5OGInKV1bJ0lzbzEwMTI2J109eydwYWQnOmZ1bmN0aW9uKF8weGNlOGIyYyxfMHgzNWZjNDUpe3ZhciBfMHg1NjQwOWQ9XzB4NTM3NTFmLF8weDE0MzM4ND0weDQqXzB4MzVmYzQ1LF8weDRjNTcyMz1fMHgxNDMzODQtXzB4Y2U4YjJjW18weDU2NDA5ZCgnMHgyY2UnKV0lXzB4MTQzMzg0O18weGNlOGIyY1tfMHg1NjQwOWQoJzB4NTMwJyldKF8weDI1N2ZkN1tfMHg1NjQwOWQoJzB4NTJmJyldW18weDU2NDA5ZCgnMHgzNzcnKV1bJ3JhbmRvbSddKF8weDRjNTcyMy0weDEpKVtfMHg1NjQwOWQoJzB4NTMwJyldKF8weDI1N2ZkN1tfMHg1NjQwOWQoJzB4NTJmJyldW18weDU2NDA5ZCgnMHgzNzcnKV1bJ2NyZWF0ZSddKFtfMHg0YzU3MjM8PDB4MThdLDB4MSkpO30sJ3VucGFkJzpmdW5jdGlvbihfMHg0Y2I2YWUpe3ZhciBfMHgxOWMxYTE9XzB4NTM3NTFmLF8weDI5NGY3ZT0weGZmJl8weDRjYjZhZVtfMHgxOWMxYTEoJzB4OTcyJyldW18weDRjYjZhZVsnc2lnQnl0ZXMnXS0weDE+Pj4weDJdO18weDRjYjZhZVtfMHgxOWMxYTEoJzB4MmNlJyldLT1fMHgyOTRmN2U7fX0sXzB4MjU3ZmQ3W18weDUzNzUxZignMHg5OGInKV1bXzB4NTM3NTFmKCcweGNjMScpXSk7fSwweDQzNTpmdW5jdGlvbihfMHg0ODRmYjEsXzB4MTkxOTJmLF8weDRmODc2OCl7dmFyIF8weDQxMmFmMT1fMHgxNWEzLF8weDNmNDg0ZTtfMHg0ODRmYjFbXzB4NDEyYWYxKCcweDMxNCcpXT0oXzB4M2Y0ODRlPV8weDRmODc2OCgweDIwMzkpLF8weDRmODc2OCgweDEzZjUpLF8weDNmNDg0ZVtfMHg0MTJhZjEoJzB4OThiJyldW18weDQxMmFmMSgnMHg1YWYnKV09eydwYWQnOmZ1bmN0aW9uKF8weDUzZDhkMixfMHg0MmRiNTEpe3ZhciBfMHg0MTM3ZmE9XzB4NDEyYWYxO18weDUzZDhkMltfMHg0MTM3ZmEoJzB4NTMwJyldKF8weDNmNDg0ZVtfMHg0MTM3ZmEoJzB4NTJmJyldW18weDQxMzdmYSgnMHgzNzcnKV1bJ2NyZWF0ZSddKFsweDgwMDAwMDAwXSwweDEpKSxfMHgzZjQ4NGVbXzB4NDEzN2ZhKCcweDk4YicpXVtfMHg0MTM3ZmEoJzB4YWNiJyldW18weDQxMzdmYSgnMHg5OGInKV0oXzB4NTNkOGQyLF8weDQyZGI1MSk7fSwndW5wYWQnOmZ1bmN0aW9uKF8weDcyMzNkZil7dmFyIF8weDUxNzI0NT1fMHg0MTJhZjE7XzB4M2Y0ODRlW18weDUxNzI0NSgnMHg5OGInKV1bXzB4NTE3MjQ1KCcweGFjYicpXVsndW5wYWQnXShfMHg3MjMzZGYpLF8weDcyMzNkZlsnc2lnQnl0ZXMnXS0tO319LF8weDNmNDg0ZVsncGFkJ11bXzB4NDEyYWYxKCcweDVhZicpXSk7fSwweDFiNGY6ZnVuY3Rpb24oXzB4NjViM2FiLF8weDNiNjZiZSxfMHg1NzEwZGYpe3ZhciBfMHgxMmU2ZjI9XzB4MTVhMyxfMHgxODQzNzc7XzB4NjViM2FiW18weDEyZTZmMignMHgzMTQnKV09KF8weDE4NDM3Nz1fMHg1NzEwZGYoMHgyMDM5KSxfMHg1NzEwZGYoMHgxM2Y1KSxfMHgxODQzNzdbXzB4MTJlNmYyKCcweDk4YicpXVsnTm9QYWRkaW5nJ109eydwYWQnOmZ1bmN0aW9uKCl7fSwndW5wYWQnOmZ1bmN0aW9uKCl7fX0sXzB4MTg0Mzc3W18weDEyZTZmMignMHg5OGInKV1bJ05vUGFkZGluZyddKTt9LDB4MTk0YjpmdW5jdGlvbihfMHg0NTQ2OWEsXzB4NWJmYjdkLF8weDQyNzczMil7dmFyIF8weDFhYTY2Yz1fMHgxNWEzLF8weDQ0YjM3YjtfMHg0NTQ2OWFbJ2V4cG9ydHMnXT0oXzB4NDRiMzdiPV8weDQyNzczMigweDIwMzkpLF8weDQyNzczMigweDEzZjUpLF8weDQ0YjM3YltfMHgxYWE2NmMoJzB4OThiJyldWydaZXJvUGFkZGluZyddPXsncGFkJzpmdW5jdGlvbihfMHg1ZmVhNGYsXzB4MjViMGM4KXt2YXIgXzB4M2M1ZmViPV8weDFhYTY2YyxfMHgxNTI5MDM9MHg0Kl8weDI1YjBjODtfMHg1ZmVhNGZbJ2NsYW1wJ10oKSxfMHg1ZmVhNGZbXzB4M2M1ZmViKCcweDJjZScpXSs9XzB4MTUyOTAzLShfMHg1ZmVhNGZbJ3NpZ0J5dGVzJ10lXzB4MTUyOTAzfHxfMHgxNTI5MDMpO30sJ3VucGFkJzpmdW5jdGlvbihfMHg0NmQyODApe3ZhciBfMHg4YzRlOGM9XzB4MWFhNjZjO2Zvcih2YXIgXzB4NTYyNmI2PV8weDQ2ZDI4MFtfMHg4YzRlOGMoJzB4OTcyJyldLF8weDRjNDNhND1fMHg0NmQyODBbXzB4OGM0ZThjKCcweDJjZScpXS0weDE7IShfMHg1NjI2YjZbXzB4NGM0M2E0Pj4+MHgyXT4+PjB4MTgtXzB4NGM0M2E0JTB4NCoweDgmMHhmZik7KV8weDRjNDNhNC0tO18weDQ2ZDI4MFsnc2lnQnl0ZXMnXT1fMHg0YzQzYTQrMHgxO319LF8weDQ0YjM3YltfMHgxYWE2NmMoJzB4OThiJyldW18weDFhYTY2YygnMHhhY2InKV0pO30sMHg4NDA6ZnVuY3Rpb24oXzB4MjU3MTc3LF8weDIzOTY4ZixfMHg0OGEzYTMpe3ZhciBfMHg0ODJmOTI9XzB4MTVhMyxfMHhkMzQyNjksXzB4NTgyYmU0LF8weDRmNmVjMCxfMHg0OTk5ZTUsXzB4ZmJhODE3LF8weDMzMmVkZCxfMHg0ZDgxMTksXzB4NTIzODZlLF8weDE1N2NhODtfMHgyNTcxNzdbXzB4NDgyZjkyKCcweDMxNCcpXT0oXzB4MTU3Y2E4PV8weDQ4YTNhMygweDIwMzkpLF8weDQ4YTNhMygweGFkZiksXzB4NDhhM2EzKDB4MjY2MCksXzB4NGY2ZWMwPShfMHg1ODJiZTQ9KF8weGQzNDI2OT1fMHgxNTdjYTgpW18weDQ4MmY5MignMHg1MmYnKV0pWydCYXNlJ10sXzB4NDk5OWU1PV8weDU4MmJlNFtfMHg0ODJmOTIoJzB4Mzc3JyldLF8weDMzMmVkZD0oXzB4ZmJhODE3PV8weGQzNDI2OVsnYWxnbyddKVsnU0hBMSddLF8weDRkODExOT1fMHhmYmE4MTdbXzB4NDgyZjkyKCcweDZiYScpXSxfMHg1MjM4NmU9XzB4ZmJhODE3WydQQktERjInXT1fMHg0ZjZlYzBbXzB4NDgyZjkyKCcweDdlOScpXSh7J2NmZyc6XzB4NGY2ZWMwW18weDQ4MmY5MignMHg3ZTknKV0oeydrZXlTaXplJzoweDQsJ2hhc2hlcic6XzB4MzMyZWRkLCdpdGVyYXRpb25zJzoweDF9KSwnaW5pdCc6ZnVuY3Rpb24oXzB4MWMzNTZlKXt2YXIgXzB4MTI0ODI4PV8weDQ4MmY5Mjt0aGlzW18weDEyNDgyOCgnMHgyNjMnKV09dGhpc1tfMHgxMjQ4MjgoJzB4MjYzJyldWydleHRlbmQnXShfMHgxYzM1NmUpO30sJ2NvbXB1dGUnOmZ1bmN0aW9uKF8weDU2NTUyOSxfMHg0MjhkOGUpe3ZhciBfMHgyNTg3Yzg9XzB4NDgyZjkyO2Zvcih2YXIgXzB4MTk4MjU3PXRoaXNbXzB4MjU4N2M4KCcweDI2MycpXSxfMHgzMTRlY2Q9XzB4NGQ4MTE5W18weDI1ODdjOCgnMHg3ZTEnKV0oXzB4MTk4MjU3W18weDI1ODdjOCgnMHhiMjgnKV0sXzB4NTY1NTI5KSxfMHg0N2MxOTM9XzB4NDk5OWU1WydjcmVhdGUnXSgpLF8weDMzMjNjNz1fMHg0OTk5ZTVbJ2NyZWF0ZSddKFsweDFdKSxfMHg0NzMzNmI9XzB4NDdjMTkzW18weDI1ODdjOCgnMHg5NzInKV0sXzB4NTQxNTNmPV8weDMzMjNjN1tfMHgyNTg3YzgoJzB4OTcyJyldLF8weDUyZjhmZj1fMHgxOTgyNTdbXzB4MjU4N2M4KCcweGE2ZicpXSxfMHgxMmYxY2U9XzB4MTk4MjU3W18weDI1ODdjOCgnMHg1ZTQnKV07XzB4NDczMzZiWydsZW5ndGgnXTxfMHg1MmY4ZmY7KXt2YXIgXzB4OWU1MjBjPV8weDMxNGVjZFsndXBkYXRlJ10oXzB4NDI4ZDhlKVtfMHgyNTg3YzgoJzB4YmI4JyldKF8weDMzMjNjNyk7XzB4MzE0ZWNkWydyZXNldCddKCk7Zm9yKHZhciBfMHgyZDJjODg9XzB4OWU1MjBjW18weDI1ODdjOCgnMHg5NzInKV0sXzB4NDgzNzNkPV8weDJkMmM4OFtfMHgyNTg3YzgoJzB4NTIwJyldLF8weDEyZjQxZT1fMHg5ZTUyMGMsXzB4MWVjODY3PTB4MTtfMHgxZWM4Njc8XzB4MTJmMWNlO18weDFlYzg2NysrKXtfMHgxMmY0MWU9XzB4MzE0ZWNkW18weDI1ODdjOCgnMHhiYjgnKV0oXzB4MTJmNDFlKSxfMHgzMTRlY2RbXzB4MjU4N2M4KCcweDgxMCcpXSgpO2Zvcih2YXIgXzB4MmEwNTkzPV8weDEyZjQxZVtfMHgyNTg3YzgoJzB4OTcyJyldLF8weGNmYmYzYz0weDA7XzB4Y2ZiZjNjPF8weDQ4MzczZDtfMHhjZmJmM2MrKylfMHgyZDJjODhbXzB4Y2ZiZjNjXV49XzB4MmEwNTkzW18weGNmYmYzY107fV8weDQ3YzE5M1tfMHgyNTg3YzgoJzB4NTMwJyldKF8weDllNTIwYyksXzB4NTQxNTNmWzB4MF0rKzt9cmV0dXJuIF8weDQ3YzE5M1tfMHgyNTg3YzgoJzB4MmNlJyldPTB4NCpfMHg1MmY4ZmYsXzB4NDdjMTkzO319KSxfMHhkMzQyNjlbXzB4NDgyZjkyKCcweDRiMScpXT1mdW5jdGlvbihfMHgzODFjZWQsXzB4NGYxMjM1LF8weDQzZDE5YSl7dmFyIF8weDUxNTdmYz1fMHg0ODJmOTI7cmV0dXJuIF8weDUyMzg2ZVtfMHg1MTU3ZmMoJzB4N2UxJyldKF8weDQzZDE5YSlbXzB4NTE1N2ZjKCcweDhmOCcpXShfMHgzODFjZWQsXzB4NGYxMjM1KTt9LF8weDE1N2NhOFtfMHg0ODJmOTIoJzB4NGIxJyldKTt9LDB4Zjg2OmZ1bmN0aW9uKF8weDU0NWM5ZCxfMHgxODY2NDQsXzB4MzA4OGNkKXt2YXIgXzB4M2VlMjA4PV8weDE1YTMsXzB4NDI4OGU0O18weDU0NWM5ZFtfMHgzZWUyMDgoJzB4MzE0JyldPShfMHg0Mjg4ZTQ9XzB4MzA4OGNkKDB4MjAzOSksXzB4MzA4OGNkKDB4MjA0ZCksXzB4MzA4OGNkKDB4MjAxNiksXzB4MzA4OGNkKDB4Mzc4KSxfMHgzMDg4Y2QoMHgxM2Y1KSwoZnVuY3Rpb24oKXt2YXIgXzB4MjhjYjNlPV8weDNlZTIwOCxfMHhiMzUzMTc9XzB4NDI4OGU0LF8weDRlOTgxMT1fMHhiMzUzMTdbXzB4MjhjYjNlKCcweDUyZicpXVtfMHgyOGNiM2UoJzB4OGFhJyldLF8weDFhZWZkMz1fMHhiMzUzMTdbJ2FsZ28nXSxfMHhlNDE5NWI9W10sXzB4MWI0Yzg3PVtdLF8weDIyODcwNT1bXSxfMHg0Mzk4ODQ9XzB4MWFlZmQzW18weDI4Y2IzZSgnMHhiMGEnKV09XzB4NGU5ODExW18weDI4Y2IzZSgnMHg3ZTknKV0oeydfZG9SZXNldCc6ZnVuY3Rpb24oKXt2YXIgXzB4NTlkOWUyPV8weDI4Y2IzZSxfMHgyMGNhMzY9dGhpc1tfMHg1OWQ5ZTIoJzB4N2UyJyldW18weDU5ZDllMignMHg5NzInKV0sXzB4M2Y3ZmZhPXRoaXNbXzB4NTlkOWUyKCcweDI2MycpXVsnaXYnXSxfMHgyOTMwMTU9dGhpc1snX1gnXT1bXzB4MjBjYTM2WzB4MF0sXzB4MjBjYTM2WzB4M108PDB4MTB8XzB4MjBjYTM2WzB4Ml0+Pj4weDEwLF8weDIwY2EzNlsweDFdLF8weDIwY2EzNlsweDBdPDwweDEwfF8weDIwY2EzNlsweDNdPj4+MHgxMCxfMHgyMGNhMzZbMHgyXSxfMHgyMGNhMzZbMHgxXTw8MHgxMHxfMHgyMGNhMzZbMHgwXT4+PjB4MTAsXzB4MjBjYTM2WzB4M10sXzB4MjBjYTM2WzB4Ml08PDB4MTB8XzB4MjBjYTM2WzB4MV0+Pj4weDEwXSxfMHg1NjE1NGI9dGhpc1snX0MnXT1bXzB4MjBjYTM2WzB4Ml08PDB4MTB8XzB4MjBjYTM2WzB4Ml0+Pj4weDEwLDB4ZmZmZjAwMDAmXzB4MjBjYTM2WzB4MF18MHhmZmZmJl8weDIwY2EzNlsweDFdLF8weDIwY2EzNlsweDNdPDwweDEwfF8weDIwY2EzNlsweDNdPj4+MHgxMCwweGZmZmYwMDAwJl8weDIwY2EzNlsweDFdfDB4ZmZmZiZfMHgyMGNhMzZbMHgyXSxfMHgyMGNhMzZbMHgwXTw8MHgxMHxfMHgyMGNhMzZbMHgwXT4+PjB4MTAsMHhmZmZmMDAwMCZfMHgyMGNhMzZbMHgyXXwweGZmZmYmXzB4MjBjYTM2WzB4M10sXzB4MjBjYTM2WzB4MV08PDB4MTB8XzB4MjBjYTM2WzB4MV0+Pj4weDEwLDB4ZmZmZjAwMDAmXzB4MjBjYTM2WzB4M118MHhmZmZmJl8weDIwY2EzNlsweDBdXTt0aGlzWydfYiddPTB4MDtmb3IodmFyIF8weDQwYTQxYT0weDA7XzB4NDBhNDFhPDB4NDtfMHg0MGE0MWErKylfMHgzZmUyYjNbXzB4NTlkOWUyKCcweDVmZCcpXSh0aGlzKTtmb3IoXzB4NDBhNDFhPTB4MDtfMHg0MGE0MWE8MHg4O18weDQwYTQxYSsrKV8weDU2MTU0YltfMHg0MGE0MWFdXj1fMHgyOTMwMTVbXzB4NDBhNDFhKzB4NCYweDddO2lmKF8weDNmN2ZmYSl7dmFyIF8weDMyNDFkMT1fMHgzZjdmZmFbXzB4NTlkOWUyKCcweDk3MicpXSxfMHg0NzQyMTk9XzB4MzI0MWQxWzB4MF0sXzB4MjAwYjBkPV8weDMyNDFkMVsweDFdLF8weDUwOTY3ZD0weGZmMDBmZiYoXzB4NDc0MjE5PDwweDh8XzB4NDc0MjE5Pj4+MHgxOCl8MHhmZjAwZmYwMCYoXzB4NDc0MjE5PDwweDE4fF8weDQ3NDIxOT4+PjB4OCksXzB4MTg1MjZkPTB4ZmYwMGZmJihfMHgyMDBiMGQ8PDB4OHxfMHgyMDBiMGQ+Pj4weDE4KXwweGZmMDBmZjAwJihfMHgyMDBiMGQ8PDB4MTh8XzB4MjAwYjBkPj4+MHg4KSxfMHg3Yjk4OTM9XzB4NTA5NjdkPj4+MHgxMHwweGZmZmYwMDAwJl8weDE4NTI2ZCxfMHg1NmE4ZTk9XzB4MTg1MjZkPDwweDEwfDB4ZmZmZiZfMHg1MDk2N2Q7Zm9yKF8weDU2MTU0YlsweDBdXj1fMHg1MDk2N2QsXzB4NTYxNTRiWzB4MV1ePV8weDdiOTg5MyxfMHg1NjE1NGJbMHgyXV49XzB4MTg1MjZkLF8weDU2MTU0YlsweDNdXj1fMHg1NmE4ZTksXzB4NTYxNTRiWzB4NF1ePV8weDUwOTY3ZCxfMHg1NjE1NGJbMHg1XV49XzB4N2I5ODkzLF8weDU2MTU0YlsweDZdXj1fMHgxODUyNmQsXzB4NTYxNTRiWzB4N11ePV8weDU2YThlOSxfMHg0MGE0MWE9MHgwO18weDQwYTQxYTwweDQ7XzB4NDBhNDFhKyspXzB4M2ZlMmIzW18weDU5ZDllMignMHg1ZmQnKV0odGhpcyk7fX0sJ19kb1Byb2Nlc3NCbG9jayc6ZnVuY3Rpb24oXzB4M2QwZmY2LF8weDMwNzJlOCl7dmFyIF8weDM1NjM5Yj10aGlzWydfWCddO18weDNmZTJiM1snY2FsbCddKHRoaXMpLF8weGU0MTk1YlsweDBdPV8weDM1NjM5YlsweDBdXl8weDM1NjM5YlsweDVdPj4+MHgxMF5fMHgzNTYzOWJbMHgzXTw8MHgxMCxfMHhlNDE5NWJbMHgxXT1fMHgzNTYzOWJbMHgyXV5fMHgzNTYzOWJbMHg3XT4+PjB4MTBeXzB4MzU2MzliWzB4NV08PDB4MTAsXzB4ZTQxOTViWzB4Ml09XzB4MzU2MzliWzB4NF1eXzB4MzU2MzliWzB4MV0+Pj4weDEwXl8weDM1NjM5YlsweDddPDwweDEwLF8weGU0MTk1YlsweDNdPV8weDM1NjM5YlsweDZdXl8weDM1NjM5YlsweDNdPj4+MHgxMF5fMHgzNTYzOWJbMHgxXTw8MHgxMDtmb3IodmFyIF8weDUxYTk4Zj0weDA7XzB4NTFhOThmPDB4NDtfMHg1MWE5OGYrKylfMHhlNDE5NWJbXzB4NTFhOThmXT0weGZmMDBmZiYoXzB4ZTQxOTViW18weDUxYTk4Zl08PDB4OHxfMHhlNDE5NWJbXzB4NTFhOThmXT4+PjB4MTgpfDB4ZmYwMGZmMDAmKF8weGU0MTk1YltfMHg1MWE5OGZdPDwweDE4fF8weGU0MTk1YltfMHg1MWE5OGZdPj4+MHg4KSxfMHgzZDBmZjZbXzB4MzA3MmU4K18weDUxYTk4Zl1ePV8weGU0MTk1YltfMHg1MWE5OGZdO30sJ2Jsb2NrU2l6ZSc6MHg0LCdpdlNpemUnOjB4Mn0pO2Z1bmN0aW9uIF8weDNmZTJiMygpe2Zvcih2YXIgXzB4MjExNTM3PXRoaXNbJ19YJ10sXzB4NWI5MWZmPXRoaXNbJ19DJ10sXzB4MmRlNjcwPTB4MDtfMHgyZGU2NzA8MHg4O18weDJkZTY3MCsrKV8weDFiNGM4N1tfMHgyZGU2NzBdPV8weDViOTFmZltfMHgyZGU2NzBdO2ZvcihfMHg1YjkxZmZbMHgwXT1fMHg1YjkxZmZbMHgwXSsweDRkMzRkMzRkK3RoaXNbJ19iJ118MHgwLF8weDViOTFmZlsweDFdPV8weDViOTFmZlsweDFdKzB4ZDM0ZDM0ZDMrKF8weDViOTFmZlsweDBdPj4+MHgwPF8weDFiNGM4N1sweDBdPj4+MHgwPzB4MToweDApfDB4MCxfMHg1YjkxZmZbMHgyXT1fMHg1YjkxZmZbMHgyXSsweDM0ZDM0ZDM0KyhfMHg1YjkxZmZbMHgxXT4+PjB4MDxfMHgxYjRjODdbMHgxXT4+PjB4MD8weDE6MHgwKXwweDAsXzB4NWI5MWZmWzB4M109XzB4NWI5MWZmWzB4M10rMHg0ZDM0ZDM0ZCsoXzB4NWI5MWZmWzB4Ml0+Pj4weDA8XzB4MWI0Yzg3WzB4Ml0+Pj4weDA/MHgxOjB4MCl8MHgwLF8weDViOTFmZlsweDRdPV8weDViOTFmZlsweDRdKzB4ZDM0ZDM0ZDMrKF8weDViOTFmZlsweDNdPj4+MHgwPF8weDFiNGM4N1sweDNdPj4+MHgwPzB4MToweDApfDB4MCxfMHg1YjkxZmZbMHg1XT1fMHg1YjkxZmZbMHg1XSsweDM0ZDM0ZDM0KyhfMHg1YjkxZmZbMHg0XT4+PjB4MDxfMHgxYjRjODdbMHg0XT4+PjB4MD8weDE6MHgwKXwweDAsXzB4NWI5MWZmWzB4Nl09XzB4NWI5MWZmWzB4Nl0rMHg0ZDM0ZDM0ZCsoXzB4NWI5MWZmWzB4NV0+Pj4weDA8XzB4MWI0Yzg3WzB4NV0+Pj4weDA/MHgxOjB4MCl8MHgwLF8weDViOTFmZlsweDddPV8weDViOTFmZlsweDddKzB4ZDM0ZDM0ZDMrKF8weDViOTFmZlsweDZdPj4+MHgwPF8weDFiNGM4N1sweDZdPj4+MHgwPzB4MToweDApfDB4MCx0aGlzWydfYiddPV8weDViOTFmZlsweDddPj4+MHgwPF8weDFiNGM4N1sweDddPj4+MHgwPzB4MToweDAsXzB4MmRlNjcwPTB4MDtfMHgyZGU2NzA8MHg4O18weDJkZTY3MCsrKXt2YXIgXzB4MmY3YjczPV8weDIxMTUzN1tfMHgyZGU2NzBdK18weDViOTFmZltfMHgyZGU2NzBdLF8weGJlNWE0OD0weGZmZmYmXzB4MmY3YjczLF8weDQyNWI2Yj1fMHgyZjdiNzM+Pj4weDEwLF8weDM4ZDBiNT0oKF8weGJlNWE0OCpfMHhiZTVhNDg+Pj4weDExKStfMHhiZTVhNDgqXzB4NDI1YjZiPj4+MHhmKStfMHg0MjViNmIqXzB4NDI1YjZiLF8weDNhNWFmZj0oKDB4ZmZmZjAwMDAmXzB4MmY3YjczKSpfMHgyZjdiNzN8MHgwKSsoKDB4ZmZmZiZfMHgyZjdiNzMpKl8weDJmN2I3M3wweDApO18weDIyODcwNVtfMHgyZGU2NzBdPV8weDM4ZDBiNV5fMHgzYTVhZmY7fV8weDIxMTUzN1sweDBdPV8weDIyODcwNVsweDBdKyhfMHgyMjg3MDVbMHg3XTw8MHgxMHxfMHgyMjg3MDVbMHg3XT4+PjB4MTApKyhfMHgyMjg3MDVbMHg2XTw8MHgxMHxfMHgyMjg3MDVbMHg2XT4+PjB4MTApfDB4MCxfMHgyMTE1MzdbMHgxXT1fMHgyMjg3MDVbMHgxXSsoXzB4MjI4NzA1WzB4MF08PDB4OHxfMHgyMjg3MDVbMHgwXT4+PjB4MTgpK18weDIyODcwNVsweDddfDB4MCxfMHgyMTE1MzdbMHgyXT1fMHgyMjg3MDVbMHgyXSsoXzB4MjI4NzA1WzB4MV08PDB4MTB8XzB4MjI4NzA1WzB4MV0+Pj4weDEwKSsoXzB4MjI4NzA1WzB4MF08PDB4MTB8XzB4MjI4NzA1WzB4MF0+Pj4weDEwKXwweDAsXzB4MjExNTM3WzB4M109XzB4MjI4NzA1WzB4M10rKF8weDIyODcwNVsweDJdPDwweDh8XzB4MjI4NzA1WzB4Ml0+Pj4weDE4KStfMHgyMjg3MDVbMHgxXXwweDAsXzB4MjExNTM3WzB4NF09XzB4MjI4NzA1WzB4NF0rKF8weDIyODcwNVsweDNdPDwweDEwfF8weDIyODcwNVsweDNdPj4+MHgxMCkrKF8weDIyODcwNVsweDJdPDwweDEwfF8weDIyODcwNVsweDJdPj4+MHgxMCl8MHgwLF8weDIxMTUzN1sweDVdPV8weDIyODcwNVsweDVdKyhfMHgyMjg3MDVbMHg0XTw8MHg4fF8weDIyODcwNVsweDRdPj4+MHgxOCkrXzB4MjI4NzA1WzB4M118MHgwLF8weDIxMTUzN1sweDZdPV8weDIyODcwNVsweDZdKyhfMHgyMjg3MDVbMHg1XTw8MHgxMHxfMHgyMjg3MDVbMHg1XT4+PjB4MTApKyhfMHgyMjg3MDVbMHg0XTw8MHgxMHxfMHgyMjg3MDVbMHg0XT4+PjB4MTApfDB4MCxfMHgyMTE1MzdbMHg3XT1fMHgyMjg3MDVbMHg3XSsoXzB4MjI4NzA1WzB4Nl08PDB4OHxfMHgyMjg3MDVbMHg2XT4+PjB4MTgpK18weDIyODcwNVsweDVdfDB4MDt9XzB4YjM1MzE3W18weDI4Y2IzZSgnMHhiMGEnKV09XzB4NGU5ODExWydfY3JlYXRlSGVscGVyJ10oXzB4NDM5ODg0KTt9KCkpLF8weDQyODhlNFtfMHgzZWUyMDgoJzB4YjBhJyldKTt9LDB4MTE2NjpmdW5jdGlvbihfMHgxOGMxMjYsXzB4MjJlZDZmLF8weDEwZmQzZCl7dmFyIF8weDFlZTMxMT1fMHgxNWEzLF8weDNiMmQ4NTtfMHgxOGMxMjZbXzB4MWVlMzExKCcweDMxNCcpXT0oXzB4M2IyZDg1PV8weDEwZmQzZCgweDIwMzkpLF8weDEwZmQzZCgweDIwNGQpLF8weDEwZmQzZCgweDIwMTYpLF8weDEwZmQzZCgweDM3OCksXzB4MTBmZDNkKDB4MTNmNSksKGZ1bmN0aW9uKCl7dmFyIF8weDM4MTVhNT1fMHgxZWUzMTEsXzB4NTU3ZTIzPV8weDNiMmQ4NSxfMHhmMGUyN2M9XzB4NTU3ZTIzWydsaWInXVtfMHgzODE1YTUoJzB4OGFhJyldLF8weDJmZTM2Yj1fMHg1NTdlMjNbJ2FsZ28nXSxfMHgxNzQ3MmY9W10sXzB4ZDhhMmQ3PVtdLF8weDUzYTI3Yj1bXSxfMHg1OTVjNDM9XzB4MmZlMzZiW18weDM4MTVhNSgnMHgyMzYnKV09XzB4ZjBlMjdjWydleHRlbmQnXSh7J19kb1Jlc2V0JzpmdW5jdGlvbigpe3ZhciBfMHhmNDhjODI9XzB4MzgxNWE1O2Zvcih2YXIgXzB4MzJmMDA3PXRoaXNbXzB4ZjQ4YzgyKCcweDdlMicpXVtfMHhmNDhjODIoJzB4OTcyJyldLF8weDNjOTk4Nj10aGlzW18weGY0OGM4MignMHgyNjMnKV1bJ2l2J10sXzB4NDA0MjM3PTB4MDtfMHg0MDQyMzc8MHg0O18weDQwNDIzNysrKV8weDMyZjAwN1tfMHg0MDQyMzddPTB4ZmYwMGZmJihfMHgzMmYwMDdbXzB4NDA0MjM3XTw8MHg4fF8weDMyZjAwN1tfMHg0MDQyMzddPj4+MHgxOCl8MHhmZjAwZmYwMCYoXzB4MzJmMDA3W18weDQwNDIzN108PDB4MTh8XzB4MzJmMDA3W18weDQwNDIzN10+Pj4weDgpO3ZhciBfMHgyM2E2MDE9dGhpc1snX1gnXT1bXzB4MzJmMDA3WzB4MF0sXzB4MzJmMDA3WzB4M108PDB4MTB8XzB4MzJmMDA3WzB4Ml0+Pj4weDEwLF8weDMyZjAwN1sweDFdLF8weDMyZjAwN1sweDBdPDwweDEwfF8weDMyZjAwN1sweDNdPj4+MHgxMCxfMHgzMmYwMDdbMHgyXSxfMHgzMmYwMDdbMHgxXTw8MHgxMHxfMHgzMmYwMDdbMHgwXT4+PjB4MTAsXzB4MzJmMDA3WzB4M10sXzB4MzJmMDA3WzB4Ml08PDB4MTB8XzB4MzJmMDA3WzB4MV0+Pj4weDEwXSxfMHg1ODhhMDU9dGhpc1snX0MnXT1bXzB4MzJmMDA3WzB4Ml08PDB4MTB8XzB4MzJmMDA3WzB4Ml0+Pj4weDEwLDB4ZmZmZjAwMDAmXzB4MzJmMDA3WzB4MF18MHhmZmZmJl8weDMyZjAwN1sweDFdLF8weDMyZjAwN1sweDNdPDwweDEwfF8weDMyZjAwN1sweDNdPj4+MHgxMCwweGZmZmYwMDAwJl8weDMyZjAwN1sweDFdfDB4ZmZmZiZfMHgzMmYwMDdbMHgyXSxfMHgzMmYwMDdbMHgwXTw8MHgxMHxfMHgzMmYwMDdbMHgwXT4+PjB4MTAsMHhmZmZmMDAwMCZfMHgzMmYwMDdbMHgyXXwweGZmZmYmXzB4MzJmMDA3WzB4M10sXzB4MzJmMDA3WzB4MV08PDB4MTB8XzB4MzJmMDA3WzB4MV0+Pj4weDEwLDB4ZmZmZjAwMDAmXzB4MzJmMDA3WzB4M118MHhmZmZmJl8weDMyZjAwN1sweDBdXTtmb3IodGhpc1snX2InXT0weDAsXzB4NDA0MjM3PTB4MDtfMHg0MDQyMzc8MHg0O18weDQwNDIzNysrKV8weDIwODY5ZVtfMHhmNDhjODIoJzB4NWZkJyldKHRoaXMpO2ZvcihfMHg0MDQyMzc9MHgwO18weDQwNDIzNzwweDg7XzB4NDA0MjM3KyspXzB4NTg4YTA1W18weDQwNDIzN11ePV8weDIzYTYwMVtfMHg0MDQyMzcrMHg0JjB4N107aWYoXzB4M2M5OTg2KXt2YXIgXzB4MzY4YTVmPV8weDNjOTk4Nlsnd29yZHMnXSxfMHgyYTkwMTk9XzB4MzY4YTVmWzB4MF0sXzB4NTA5OGMyPV8weDM2OGE1ZlsweDFdLF8weDJlZjk3Yj0weGZmMDBmZiYoXzB4MmE5MDE5PDwweDh8XzB4MmE5MDE5Pj4+MHgxOCl8MHhmZjAwZmYwMCYoXzB4MmE5MDE5PDwweDE4fF8weDJhOTAxOT4+PjB4OCksXzB4MWM0Y2IwPTB4ZmYwMGZmJihfMHg1MDk4YzI8PDB4OHxfMHg1MDk4YzI+Pj4weDE4KXwweGZmMDBmZjAwJihfMHg1MDk4YzI8PDB4MTh8XzB4NTA5OGMyPj4+MHg4KSxfMHgzNTAyMzQ9XzB4MmVmOTdiPj4+MHgxMHwweGZmZmYwMDAwJl8weDFjNGNiMCxfMHgyNDU0N2Y9XzB4MWM0Y2IwPDwweDEwfDB4ZmZmZiZfMHgyZWY5N2I7Zm9yKF8weDU4OGEwNVsweDBdXj1fMHgyZWY5N2IsXzB4NTg4YTA1WzB4MV1ePV8weDM1MDIzNCxfMHg1ODhhMDVbMHgyXV49XzB4MWM0Y2IwLF8weDU4OGEwNVsweDNdXj1fMHgyNDU0N2YsXzB4NTg4YTA1WzB4NF1ePV8weDJlZjk3YixfMHg1ODhhMDVbMHg1XV49XzB4MzUwMjM0LF8weDU4OGEwNVsweDZdXj1fMHgxYzRjYjAsXzB4NTg4YTA1WzB4N11ePV8weDI0NTQ3ZixfMHg0MDQyMzc9MHgwO18weDQwNDIzNzwweDQ7XzB4NDA0MjM3KyspXzB4MjA4NjllW18weGY0OGM4MignMHg1ZmQnKV0odGhpcyk7fX0sJ19kb1Byb2Nlc3NCbG9jayc6ZnVuY3Rpb24oXzB4NGRlNWVkLF8weDRmNzUwYyl7dmFyIF8weDRjM2UyYj10aGlzWydfWCddO18weDIwODY5ZVsnY2FsbCddKHRoaXMpLF8weDE3NDcyZlsweDBdPV8weDRjM2UyYlsweDBdXl8weDRjM2UyYlsweDVdPj4+MHgxMF5fMHg0YzNlMmJbMHgzXTw8MHgxMCxfMHgxNzQ3MmZbMHgxXT1fMHg0YzNlMmJbMHgyXV5fMHg0YzNlMmJbMHg3XT4+PjB4MTBeXzB4NGMzZTJiWzB4NV08PDB4MTAsXzB4MTc0NzJmWzB4Ml09XzB4NGMzZTJiWzB4NF1eXzB4NGMzZTJiWzB4MV0+Pj4weDEwXl8weDRjM2UyYlsweDddPDwweDEwLF8weDE3NDcyZlsweDNdPV8weDRjM2UyYlsweDZdXl8weDRjM2UyYlsweDNdPj4+MHgxMF5fMHg0YzNlMmJbMHgxXTw8MHgxMDtmb3IodmFyIF8weDFmOTkzND0weDA7XzB4MWY5OTM0PDB4NDtfMHgxZjk5MzQrKylfMHgxNzQ3MmZbXzB4MWY5OTM0XT0weGZmMDBmZiYoXzB4MTc0NzJmW18weDFmOTkzNF08PDB4OHxfMHgxNzQ3MmZbXzB4MWY5OTM0XT4+PjB4MTgpfDB4ZmYwMGZmMDAmKF8weDE3NDcyZltfMHgxZjk5MzRdPDwweDE4fF8weDE3NDcyZltfMHgxZjk5MzRdPj4+MHg4KSxfMHg0ZGU1ZWRbXzB4NGY3NTBjK18weDFmOTkzNF1ePV8weDE3NDcyZltfMHgxZjk5MzRdO30sJ2Jsb2NrU2l6ZSc6MHg0LCdpdlNpemUnOjB4Mn0pO2Z1bmN0aW9uIF8weDIwODY5ZSgpe2Zvcih2YXIgXzB4ZWFmYmQ3PXRoaXNbJ19YJ10sXzB4MjcxZmNkPXRoaXNbJ19DJ10sXzB4NTdiZjZjPTB4MDtfMHg1N2JmNmM8MHg4O18weDU3YmY2YysrKV8weGQ4YTJkN1tfMHg1N2JmNmNdPV8weDI3MWZjZFtfMHg1N2JmNmNdO2ZvcihfMHgyNzFmY2RbMHgwXT1fMHgyNzFmY2RbMHgwXSsweDRkMzRkMzRkK3RoaXNbJ19iJ118MHgwLF8weDI3MWZjZFsweDFdPV8weDI3MWZjZFsweDFdKzB4ZDM0ZDM0ZDMrKF8weDI3MWZjZFsweDBdPj4+MHgwPF8weGQ4YTJkN1sweDBdPj4+MHgwPzB4MToweDApfDB4MCxfMHgyNzFmY2RbMHgyXT1fMHgyNzFmY2RbMHgyXSsweDM0ZDM0ZDM0KyhfMHgyNzFmY2RbMHgxXT4+PjB4MDxfMHhkOGEyZDdbMHgxXT4+PjB4MD8weDE6MHgwKXwweDAsXzB4MjcxZmNkWzB4M109XzB4MjcxZmNkWzB4M10rMHg0ZDM0ZDM0ZCsoXzB4MjcxZmNkWzB4Ml0+Pj4weDA8XzB4ZDhhMmQ3WzB4Ml0+Pj4weDA/MHgxOjB4MCl8MHgwLF8weDI3MWZjZFsweDRdPV8weDI3MWZjZFsweDRdKzB4ZDM0ZDM0ZDMrKF8weDI3MWZjZFsweDNdPj4+MHgwPF8weGQ4YTJkN1sweDNdPj4+MHgwPzB4MToweDApfDB4MCxfMHgyNzFmY2RbMHg1XT1fMHgyNzFmY2RbMHg1XSsweDM0ZDM0ZDM0KyhfMHgyNzFmY2RbMHg0XT4+PjB4MDxfMHhkOGEyZDdbMHg0XT4+PjB4MD8weDE6MHgwKXwweDAsXzB4MjcxZmNkWzB4Nl09XzB4MjcxZmNkWzB4Nl0rMHg0ZDM0ZDM0ZCsoXzB4MjcxZmNkWzB4NV0+Pj4weDA8XzB4ZDhhMmQ3WzB4NV0+Pj4weDA/MHgxOjB4MCl8MHgwLF8weDI3MWZjZFsweDddPV8weDI3MWZjZFsweDddKzB4ZDM0ZDM0ZDMrKF8weDI3MWZjZFsweDZdPj4+MHgwPF8weGQ4YTJkN1sweDZdPj4+MHgwPzB4MToweDApfDB4MCx0aGlzWydfYiddPV8weDI3MWZjZFsweDddPj4+MHgwPF8weGQ4YTJkN1sweDddPj4+MHgwPzB4MToweDAsXzB4NTdiZjZjPTB4MDtfMHg1N2JmNmM8MHg4O18weDU3YmY2YysrKXt2YXIgXzB4MjM1ZTZiPV8weGVhZmJkN1tfMHg1N2JmNmNdK18weDI3MWZjZFtfMHg1N2JmNmNdLF8weDRlYjU0Yz0weGZmZmYmXzB4MjM1ZTZiLF8weDUxNmI5Yz1fMHgyMzVlNmI+Pj4weDEwLF8weGZkOTVlMz0oKF8weDRlYjU0YypfMHg0ZWI1NGM+Pj4weDExKStfMHg0ZWI1NGMqXzB4NTE2YjljPj4+MHhmKStfMHg1MTZiOWMqXzB4NTE2YjljLF8weDQ1MTc2MT0oKDB4ZmZmZjAwMDAmXzB4MjM1ZTZiKSpfMHgyMzVlNmJ8MHgwKSsoKDB4ZmZmZiZfMHgyMzVlNmIpKl8weDIzNWU2YnwweDApO18weDUzYTI3YltfMHg1N2JmNmNdPV8weGZkOTVlM15fMHg0NTE3NjE7fV8weGVhZmJkN1sweDBdPV8weDUzYTI3YlsweDBdKyhfMHg1M2EyN2JbMHg3XTw8MHgxMHxfMHg1M2EyN2JbMHg3XT4+PjB4MTApKyhfMHg1M2EyN2JbMHg2XTw8MHgxMHxfMHg1M2EyN2JbMHg2XT4+PjB4MTApfDB4MCxfMHhlYWZiZDdbMHgxXT1fMHg1M2EyN2JbMHgxXSsoXzB4NTNhMjdiWzB4MF08PDB4OHxfMHg1M2EyN2JbMHgwXT4+PjB4MTgpK18weDUzYTI3YlsweDddfDB4MCxfMHhlYWZiZDdbMHgyXT1fMHg1M2EyN2JbMHgyXSsoXzB4NTNhMjdiWzB4MV08PDB4MTB8XzB4NTNhMjdiWzB4MV0+Pj4weDEwKSsoXzB4NTNhMjdiWzB4MF08PDB4MTB8XzB4NTNhMjdiWzB4MF0+Pj4weDEwKXwweDAsXzB4ZWFmYmQ3WzB4M109XzB4NTNhMjdiWzB4M10rKF8weDUzYTI3YlsweDJdPDwweDh8XzB4NTNhMjdiWzB4Ml0+Pj4weDE4KStfMHg1M2EyN2JbMHgxXXwweDAsXzB4ZWFmYmQ3WzB4NF09XzB4NTNhMjdiWzB4NF0rKF8weDUzYTI3YlsweDNdPDwweDEwfF8weDUzYTI3YlsweDNdPj4+MHgxMCkrKF8weDUzYTI3YlsweDJdPDwweDEwfF8weDUzYTI3YlsweDJdPj4+MHgxMCl8MHgwLF8weGVhZmJkN1sweDVdPV8weDUzYTI3YlsweDVdKyhfMHg1M2EyN2JbMHg0XTw8MHg4fF8weDUzYTI3YlsweDRdPj4+MHgxOCkrXzB4NTNhMjdiWzB4M118MHgwLF8weGVhZmJkN1sweDZdPV8weDUzYTI3YlsweDZdKyhfMHg1M2EyN2JbMHg1XTw8MHgxMHxfMHg1M2EyN2JbMHg1XT4+PjB4MTApKyhfMHg1M2EyN2JbMHg0XTw8MHgxMHxfMHg1M2EyN2JbMHg0XT4+PjB4MTApfDB4MCxfMHhlYWZiZDdbMHg3XT1fMHg1M2EyN2JbMHg3XSsoXzB4NTNhMjdiWzB4Nl08PDB4OHxfMHg1M2EyN2JbMHg2XT4+PjB4MTgpK18weDUzYTI3YlsweDVdfDB4MDt9XzB4NTU3ZTIzWydSYWJiaXQnXT1fMHhmMGUyN2NbXzB4MzgxNWE1KCcweDg0MCcpXShfMHg1OTVjNDMpO30oKSksXzB4M2IyZDg1W18weDFlZTMxMSgnMHgyMzYnKV0pO30sMHg3NDE6ZnVuY3Rpb24oXzB4MTQ3NDFkLF8weDQ1OWRkMixfMHg1YmIyNTUpe3ZhciBfMHgzZjdhZWQ9XzB4MTVhMyxfMHhlMDI4ODg7XzB4MTQ3NDFkW18weDNmN2FlZCgnMHgzMTQnKV09KF8weGUwMjg4OD1fMHg1YmIyNTUoMHgyMDM5KSxfMHg1YmIyNTUoMHgyMDRkKSxfMHg1YmIyNTUoMHgyMDE2KSxfMHg1YmIyNTUoMHgzNzgpLF8weDViYjI1NSgweDEzZjUpLChmdW5jdGlvbigpe3ZhciBfMHgxZjQ4NGI9XzB4M2Y3YWVkLF8weDQ4NzY2MD1fMHhlMDI4ODgsXzB4MTAwMzgzPV8weDQ4NzY2MFtfMHgxZjQ4NGIoJzB4NTJmJyldW18weDFmNDg0YignMHg4YWEnKV0sXzB4MzQ4MTkwPV8weDQ4NzY2MFsnYWxnbyddLF8weDJmYWVlZT1fMHgzNDgxOTBbXzB4MWY0ODRiKCcweDgwZCcpXT1fMHgxMDAzODNbXzB4MWY0ODRiKCcweDdlOScpXSh7J19kb1Jlc2V0JzpmdW5jdGlvbigpe3ZhciBfMHg0YTRlMTQ9XzB4MWY0ODRiO2Zvcih2YXIgXzB4Mjg0Njk4PXRoaXNbXzB4NGE0ZTE0KCcweDdlMicpXSxfMHgzYTEyM2I9XzB4Mjg0Njk4W18weDRhNGUxNCgnMHg5NzInKV0sXzB4MzYwNjc0PV8weDI4NDY5OFsnc2lnQnl0ZXMnXSxfMHgyNmE1YjA9dGhpc1snX1MnXT1bXSxfMHgxZWM4YmE9MHgwO18weDFlYzhiYTwweDEwMDtfMHgxZWM4YmErKylfMHgyNmE1YjBbXzB4MWVjOGJhXT1fMHgxZWM4YmE7XzB4MWVjOGJhPTB4MDtmb3IodmFyIF8weDMzMzU5Nj0weDA7XzB4MWVjOGJhPDB4MTAwO18weDFlYzhiYSsrKXt2YXIgXzB4NWRjYjk5PV8weDFlYzhiYSVfMHgzNjA2NzQsXzB4MjkwODY1PV8weDNhMTIzYltfMHg1ZGNiOTk+Pj4weDJdPj4+MHgxOC1fMHg1ZGNiOTklMHg0KjB4OCYweGZmO18weDMzMzU5Nj0oXzB4MzMzNTk2K18weDI2YTViMFtfMHgxZWM4YmFdK18weDI5MDg2NSklMHgxMDA7dmFyIF8weDFlNzQxOD1fMHgyNmE1YjBbXzB4MWVjOGJhXTtfMHgyNmE1YjBbXzB4MWVjOGJhXT1fMHgyNmE1YjBbXzB4MzMzNTk2XSxfMHgyNmE1YjBbXzB4MzMzNTk2XT1fMHgxZTc0MTg7fXRoaXNbJ19pJ109dGhpc1snX2onXT0weDA7fSwnX2RvUHJvY2Vzc0Jsb2NrJzpmdW5jdGlvbihfMHg4MmNhYTksXzB4NWNiOTlkKXt2YXIgXzB4MzlhNDllPV8weDFmNDg0YjtfMHg4MmNhYTlbXzB4NWNiOTlkXV49XzB4MjM3ZDU0W18weDM5YTQ5ZSgnMHg1ZmQnKV0odGhpcyk7fSwna2V5U2l6ZSc6MHg4LCdpdlNpemUnOjB4MH0pO2Z1bmN0aW9uIF8weDIzN2Q1NCgpe2Zvcih2YXIgXzB4MTNjNjg2PXRoaXNbJ19TJ10sXzB4NDY0OGY2PXRoaXNbJ19pJ10sXzB4M2I3ZTg3PXRoaXNbJ19qJ10sXzB4MWUwMDQzPTB4MCxfMHg3YjNmOWI9MHgwO18weDdiM2Y5YjwweDQ7XzB4N2IzZjliKyspe18weDNiN2U4Nz0oXzB4M2I3ZTg3K18weDEzYzY4NltfMHg0NjQ4ZjY9KF8weDQ2NDhmNisweDEpJTB4MTAwXSklMHgxMDA7dmFyIF8weDU0MjgwZj1fMHgxM2M2ODZbXzB4NDY0OGY2XTtfMHgxM2M2ODZbXzB4NDY0OGY2XT1fMHgxM2M2ODZbXzB4M2I3ZTg3XSxfMHgxM2M2ODZbXzB4M2I3ZTg3XT1fMHg1NDI4MGYsXzB4MWUwMDQzfD1fMHgxM2M2ODZbKF8weDEzYzY4NltfMHg0NjQ4ZjZdK18weDEzYzY4NltfMHgzYjdlODddKSUweDEwMF08PDB4MTgtMHg4Kl8weDdiM2Y5Yjt9cmV0dXJuIHRoaXNbJ19pJ109XzB4NDY0OGY2LHRoaXNbJ19qJ109XzB4M2I3ZTg3LF8weDFlMDA0Mzt9XzB4NDg3NjYwW18weDFmNDg0YignMHg4MGQnKV09XzB4MTAwMzgzWydfY3JlYXRlSGVscGVyJ10oXzB4MmZhZWVlKTt2YXIgXzB4NDg4YzE1PV8weDM0ODE5MFtfMHgxZjQ4NGIoJzB4YTdmJyldPV8weDJmYWVlZVtfMHgxZjQ4NGIoJzB4N2U5JyldKHsnY2ZnJzpfMHgyZmFlZWVbXzB4MWY0ODRiKCcweDI2MycpXVtfMHgxZjQ4NGIoJzB4N2U5JyldKHsnZHJvcCc6MHhjMH0pLCdfZG9SZXNldCc6ZnVuY3Rpb24oKXt2YXIgXzB4MWVlNmE3PV8weDFmNDg0YjtfMHgyZmFlZWVbXzB4MWVlNmE3KCcweDk1ZicpXVsnY2FsbCddKHRoaXMpO2Zvcih2YXIgXzB4MjJmYTAwPXRoaXNbXzB4MWVlNmE3KCcweDI2MycpXVtfMHgxZWU2YTcoJzB4N2JmJyldO18weDIyZmEwMD4weDA7XzB4MjJmYTAwLS0pXzB4MjM3ZDU0W18weDFlZTZhNygnMHg1ZmQnKV0odGhpcyk7fX0pO18weDQ4NzY2MFtfMHgxZjQ4NGIoJzB4YTdmJyldPV8weDEwMDM4M1tfMHgxZjQ4NGIoJzB4ODQwJyldKF8weDQ4OGMxNSk7fSgpKSxfMHhlMDI4ODhbJ1JDNCddKTt9LDB4MmMyOmZ1bmN0aW9uKF8weDcwNTg5ZSxfMHgyMWJjYzMsXzB4MWMyYmVjKXt2YXIgXzB4OGIyZjE5PV8weDE1YTMsXzB4NTc3OTVlO18weDcwNTg5ZVsnZXhwb3J0cyddPShfMHg1Nzc5NWU9XzB4MWMyYmVjKDB4MjAzOSksZnVuY3Rpb24oXzB4NTgwMmJjKXt2YXIgXzB4MWQxYjUyPV8weDE1YTMsXzB4NWI0MWM1PV8weDU3Nzk1ZSxfMHg0NGJjZWQ9XzB4NWI0MWM1WydsaWInXSxfMHgyN2MyOTA9XzB4NDRiY2VkW18weDFkMWI1MignMHgzNzcnKV0sXzB4NDZlZTYwPV8weDQ0YmNlZFtfMHgxZDFiNTIoJzB4Mjc4JyldLF8weDNiOTVmNj1fMHg1YjQxYzVbXzB4MWQxYjUyKCcweDRmNicpXSxfMHgzOGZjN2M9XzB4MjdjMjkwWydjcmVhdGUnXShbMHgwLDB4MSwweDIsMHgzLDB4NCwweDUsMHg2LDB4NywweDgsMHg5LDB4YSwweGIsMHhjLDB4ZCwweGUsMHhmLDB4NywweDQsMHhkLDB4MSwweGEsMHg2LDB4ZiwweDMsMHhjLDB4MCwweDksMHg1LDB4MiwweGUsMHhiLDB4OCwweDMsMHhhLDB4ZSwweDQsMHg5LDB4ZiwweDgsMHgxLDB4MiwweDcsMHgwLDB4NiwweGQsMHhiLDB4NSwweGMsMHgxLDB4OSwweGIsMHhhLDB4MCwweDgsMHhjLDB4NCwweGQsMHgzLDB4NywweGYsMHhlLDB4NSwweDYsMHgyLDB4NCwweDAsMHg1LDB4OSwweDcsMHhjLDB4MiwweGEsMHhlLDB4MSwweDMsMHg4LDB4YiwweDYsMHhmLDB4ZF0pLF8weDM5MWQ5OD1fMHgyN2MyOTBbXzB4MWQxYjUyKCcweDdlMScpXShbMHg1LDB4ZSwweDcsMHgwLDB4OSwweDIsMHhiLDB4NCwweGQsMHg2LDB4ZiwweDgsMHgxLDB4YSwweDMsMHhjLDB4NiwweGIsMHgzLDB4NywweDAsMHhkLDB4NSwweGEsMHhlLDB4ZiwweDgsMHhjLDB4NCwweDksMHgxLDB4MiwweGYsMHg1LDB4MSwweDMsMHg3LDB4ZSwweDYsMHg5LDB4YiwweDgsMHhjLDB4MiwweGEsMHgwLDB4NCwweGQsMHg4LDB4NiwweDQsMHgxLDB4MywweGIsMHhmLDB4MCwweDUsMHhjLDB4MiwweGQsMHg5LDB4NywweGEsMHhlLDB4YywweGYsMHhhLDB4NCwweDEsMHg1LDB4OCwweDcsMHg2LDB4MiwweGQsMHhlLDB4MCwweDMsMHg5LDB4Yl0pLF8weDQ2MTFmYj1fMHgyN2MyOTBbXzB4MWQxYjUyKCcweDdlMScpXShbMHhiLDB4ZSwweGYsMHhjLDB4NSwweDgsMHg3LDB4OSwweGIsMHhkLDB4ZSwweGYsMHg2LDB4NywweDksMHg4LDB4NywweDYsMHg4LDB4ZCwweGIsMHg5LDB4NywweGYsMHg3LDB4YywweGYsMHg5LDB4YiwweDcsMHhkLDB4YywweGIsMHhkLDB4NiwweDcsMHhlLDB4OSwweGQsMHhmLDB4ZSwweDgsMHhkLDB4NiwweDUsMHhjLDB4NywweDUsMHhiLDB4YywweGUsMHhmLDB4ZSwweGYsMHg5LDB4OCwweDksMHhlLDB4NSwweDYsMHg4LDB4NiwweDUsMHhjLDB4OSwweGYsMHg1LDB4YiwweDYsMHg4LDB4ZCwweGMsMHg1LDB4YywweGQsMHhlLDB4YiwweDgsMHg1LDB4Nl0pLF8weDE2Nzg2OT1fMHgyN2MyOTBbJ2NyZWF0ZSddKFsweDgsMHg5LDB4OSwweGIsMHhkLDB4ZiwweGYsMHg1LDB4NywweDcsMHg4LDB4YiwweGUsMHhlLDB4YywweDYsMHg5LDB4ZCwweGYsMHg3LDB4YywweDgsMHg5LDB4YiwweDcsMHg3LDB4YywweDcsMHg2LDB4ZiwweGQsMHhiLDB4OSwweDcsMHhmLDB4YiwweDgsMHg2LDB4NiwweGUsMHhjLDB4ZCwweDUsMHhlLDB4ZCwweGQsMHg3LDB4NSwweGYsMHg1LDB4OCwweGIsMHhlLDB4ZSwweDYsMHhlLDB4NiwweDksMHhjLDB4OSwweGMsMHg1LDB4ZiwweDgsMHg4LDB4NSwweGMsMHg5LDB4YywweDUsMHhlLDB4NiwweDgsMHhkLDB4NiwweDUsMHhmLDB4ZCwweGIsMHhiXSksXzB4NjcyOWUyPV8weDI3YzI5MFtfMHgxZDFiNTIoJzB4N2UxJyldKFsweDAsMHg1YTgyNzk5OSwweDZlZDllYmExLDB4OGYxYmJjZGMsMHhhOTUzZmQ0ZV0pLF8weDVkMTJiNz1fMHgyN2MyOTBbJ2NyZWF0ZSddKFsweDUwYTI4YmU2LDB4NWM0ZGQxMjQsMHg2ZDcwM2VmMywweDdhNmQ3NmU5LDB4MF0pLF8weDFkOTBmMT1fMHgzYjk1ZjZbXzB4MWQxYjUyKCcweDIwNicpXT1fMHg0NmVlNjBbXzB4MWQxYjUyKCcweDdlOScpXSh7J19kb1Jlc2V0JzpmdW5jdGlvbigpe3ZhciBfMHgyZjVhYmQ9XzB4MWQxYjUyO3RoaXNbXzB4MmY1YWJkKCcweDg4OCcpXT1fMHgyN2MyOTBbJ2NyZWF0ZSddKFsweDY3NDUyMzAxLDB4ZWZjZGFiODksMHg5OGJhZGNmZSwweDEwMzI1NDc2LDB4YzNkMmUxZjBdKTt9LCdfZG9Qcm9jZXNzQmxvY2snOmZ1bmN0aW9uKF8weDM3OWM4OSxfMHg1NGM5NTkpe3ZhciBfMHg2NTVhYmY9XzB4MWQxYjUyO2Zvcih2YXIgXzB4MTcyOTViPTB4MDtfMHgxNzI5NWI8MHgxMDtfMHgxNzI5NWIrKyl7dmFyIF8weDMwMzhkMT1fMHg1NGM5NTkrXzB4MTcyOTViLF8weDJiZjNhMj1fMHgzNzljODlbXzB4MzAzOGQxXTtfMHgzNzljODlbXzB4MzAzOGQxXT0weGZmMDBmZiYoXzB4MmJmM2EyPDwweDh8XzB4MmJmM2EyPj4+MHgxOCl8MHhmZjAwZmYwMCYoXzB4MmJmM2EyPDwweDE4fF8weDJiZjNhMj4+PjB4OCk7fXZhciBfMHg0NmZjNjgsXzB4MWE4OGIxLF8weDM4YjRiNCxfMHgyMGY3ODIsXzB4MzVjZTU5LF8weDM5NTYzMixfMHgxMTlmNzQsXzB4NDYxMmUwLF8weDEyZTcwMixfMHgxODRhY2IsXzB4M2ZhMGQ3LF8weDRlMzE5ZD10aGlzWydfaGFzaCddW18weDY1NWFiZignMHg5NzInKV0sXzB4N2NjYWQwPV8weDY3MjllMltfMHg2NTVhYmYoJzB4OTcyJyldLF8weDZiZjE2Yz1fMHg1ZDEyYjdbXzB4NjU1YWJmKCcweDk3MicpXSxfMHhjOGU3NjI9XzB4MzhmYzdjWyd3b3JkcyddLF8weGM0MTBkMD1fMHgzOTFkOThbXzB4NjU1YWJmKCcweDk3MicpXSxfMHgyNTAxODg9XzB4NDYxMWZiW18weDY1NWFiZignMHg5NzInKV0sXzB4MzRmNTc5PV8weDE2Nzg2OVtfMHg2NTVhYmYoJzB4OTcyJyldO2ZvcihfMHgzOTU2MzI9XzB4NDZmYzY4PV8weDRlMzE5ZFsweDBdLF8weDExOWY3ND1fMHgxYTg4YjE9XzB4NGUzMTlkWzB4MV0sXzB4NDYxMmUwPV8weDM4YjRiND1fMHg0ZTMxOWRbMHgyXSxfMHgxMmU3MDI9XzB4MjBmNzgyPV8weDRlMzE5ZFsweDNdLF8weDE4NGFjYj1fMHgzNWNlNTk9XzB4NGUzMTlkWzB4NF0sXzB4MTcyOTViPTB4MDtfMHgxNzI5NWI8MHg1MDtfMHgxNzI5NWIrPTB4MSlfMHgzZmEwZDc9XzB4NDZmYzY4K18weDM3OWM4OVtfMHg1NGM5NTkrXzB4YzhlNzYyW18weDE3Mjk1Yl1dfDB4MCxfMHgzZmEwZDcrPV8weDE3Mjk1YjwweDEwP18weDJhYzBjMihfMHgxYTg4YjEsXzB4MzhiNGI0LF8weDIwZjc4MikrXzB4N2NjYWQwWzB4MF06XzB4MTcyOTViPDB4MjA/XzB4ZDg1ZjcwKF8weDFhODhiMSxfMHgzOGI0YjQsXzB4MjBmNzgyKStfMHg3Y2NhZDBbMHgxXTpfMHgxNzI5NWI8MHgzMD9fMHg1MzNkZDAoXzB4MWE4OGIxLF8weDM4YjRiNCxfMHgyMGY3ODIpK18weDdjY2FkMFsweDJdOl8weDE3Mjk1YjwweDQwP18weDRiNDY0MShfMHgxYTg4YjEsXzB4MzhiNGI0LF8weDIwZjc4MikrXzB4N2NjYWQwWzB4M106XzB4NWIwYzRmKF8weDFhODhiMSxfMHgzOGI0YjQsXzB4MjBmNzgyKStfMHg3Y2NhZDBbMHg0XSxfMHgzZmEwZDc9KF8weDNmYTBkNz1fMHgyNzc4ZGQoXzB4M2ZhMGQ3fD0weDAsXzB4MjUwMTg4W18weDE3Mjk1Yl0pKStfMHgzNWNlNTl8MHgwLF8weDQ2ZmM2OD1fMHgzNWNlNTksXzB4MzVjZTU5PV8weDIwZjc4MixfMHgyMGY3ODI9XzB4Mjc3OGRkKF8weDM4YjRiNCwweGEpLF8weDM4YjRiND1fMHgxYTg4YjEsXzB4MWE4OGIxPV8weDNmYTBkNyxfMHgzZmEwZDc9XzB4Mzk1NjMyK18weDM3OWM4OVtfMHg1NGM5NTkrXzB4YzQxMGQwW18weDE3Mjk1Yl1dfDB4MCxfMHgzZmEwZDcrPV8weDE3Mjk1YjwweDEwP18weDViMGM0ZihfMHgxMTlmNzQsXzB4NDYxMmUwLF8weDEyZTcwMikrXzB4NmJmMTZjWzB4MF06XzB4MTcyOTViPDB4MjA/XzB4NGI0NjQxKF8weDExOWY3NCxfMHg0NjEyZTAsXzB4MTJlNzAyKStfMHg2YmYxNmNbMHgxXTpfMHgxNzI5NWI8MHgzMD9fMHg1MzNkZDAoXzB4MTE5Zjc0LF8weDQ2MTJlMCxfMHgxMmU3MDIpK18weDZiZjE2Y1sweDJdOl8weDE3Mjk1YjwweDQwP18weGQ4NWY3MChfMHgxMTlmNzQsXzB4NDYxMmUwLF8weDEyZTcwMikrXzB4NmJmMTZjWzB4M106XzB4MmFjMGMyKF8weDExOWY3NCxfMHg0NjEyZTAsXzB4MTJlNzAyKStfMHg2YmYxNmNbMHg0XSxfMHgzZmEwZDc9KF8weDNmYTBkNz1fMHgyNzc4ZGQoXzB4M2ZhMGQ3fD0weDAsXzB4MzRmNTc5W18weDE3Mjk1Yl0pKStfMHgxODRhY2J8MHgwLF8weDM5NTYzMj1fMHgxODRhY2IsXzB4MTg0YWNiPV8weDEyZTcwMixfMHgxMmU3MDI9XzB4Mjc3OGRkKF8weDQ2MTJlMCwweGEpLF8weDQ2MTJlMD1fMHgxMTlmNzQsXzB4MTE5Zjc0PV8weDNmYTBkNztfMHgzZmEwZDc9XzB4NGUzMTlkWzB4MV0rXzB4MzhiNGI0K18weDEyZTcwMnwweDAsXzB4NGUzMTlkWzB4MV09XzB4NGUzMTlkWzB4Ml0rXzB4MjBmNzgyK18weDE4NGFjYnwweDAsXzB4NGUzMTlkWzB4Ml09XzB4NGUzMTlkWzB4M10rXzB4MzVjZTU5K18weDM5NTYzMnwweDAsXzB4NGUzMTlkWzB4M109XzB4NGUzMTlkWzB4NF0rXzB4NDZmYzY4K18weDExOWY3NHwweDAsXzB4NGUzMTlkWzB4NF09XzB4NGUzMTlkWzB4MF0rXzB4MWE4OGIxK18weDQ2MTJlMHwweDAsXzB4NGUzMTlkWzB4MF09XzB4M2ZhMGQ3O30sJ19kb0ZpbmFsaXplJzpmdW5jdGlvbigpe3ZhciBfMHhmODkwMzU9XzB4MWQxYjUyLF8weDM2MmFjZT10aGlzW18weGY4OTAzNSgnMHhhNTknKV0sXzB4NGIwYWIyPV8weDM2MmFjZVtfMHhmODkwMzUoJzB4OTcyJyldLF8weDNkODBmND0weDgqdGhpc1tfMHhmODkwMzUoJzB4MmUzJyldLF8weDNiMGRjNz0weDgqXzB4MzYyYWNlW18weGY4OTAzNSgnMHgyY2UnKV07XzB4NGIwYWIyW18weDNiMGRjNz4+PjB4NV18PTB4ODA8PDB4MTgtXzB4M2IwZGM3JTB4MjAsXzB4NGIwYWIyWzB4ZSsoXzB4M2IwZGM3KzB4NDA+Pj4weDk8PDB4NCldPTB4ZmYwMGZmJihfMHgzZDgwZjQ8PDB4OHxfMHgzZDgwZjQ+Pj4weDE4KXwweGZmMDBmZjAwJihfMHgzZDgwZjQ8PDB4MTh8XzB4M2Q4MGY0Pj4+MHg4KSxfMHgzNjJhY2VbXzB4Zjg5MDM1KCcweDJjZScpXT0weDQqKF8weDRiMGFiMltfMHhmODkwMzUoJzB4NTIwJyldKzB4MSksdGhpc1tfMHhmODkwMzUoJzB4YjVkJyldKCk7Zm9yKHZhciBfMHg1Mzg0NDM9dGhpc1snX2hhc2gnXSxfMHgxNTRmYTg9XzB4NTM4NDQzW18weGY4OTAzNSgnMHg5NzInKV0sXzB4NWI0NzcwPTB4MDtfMHg1YjQ3NzA8MHg1O18weDViNDc3MCsrKXt2YXIgXzB4NDBiYjg3PV8weDE1NGZhOFtfMHg1YjQ3NzBdO18weDE1NGZhOFtfMHg1YjQ3NzBdPTB4ZmYwMGZmJihfMHg0MGJiODc8PDB4OHxfMHg0MGJiODc+Pj4weDE4KXwweGZmMDBmZjAwJihfMHg0MGJiODc8PDB4MTh8XzB4NDBiYjg3Pj4+MHg4KTt9cmV0dXJuIF8weDUzODQ0Mzt9LCdjbG9uZSc6ZnVuY3Rpb24oKXt2YXIgXzB4NGY3ZTdiPV8weDFkMWI1MixfMHhhYzYwY2U9XzB4NDZlZTYwW18weDRmN2U3YignMHgzNzknKV1bXzB4NGY3ZTdiKCcweDVmZCcpXSh0aGlzKTtyZXR1cm4gXzB4YWM2MGNlW18weDRmN2U3YignMHg4ODgnKV09dGhpc1snX2hhc2gnXVtfMHg0ZjdlN2IoJzB4Mzc5JyldKCksXzB4YWM2MGNlO319KTtmdW5jdGlvbiBfMHgyYWMwYzIoXzB4MjVhMWM0LF8weDdjMzZhNCxfMHgyODgwMDkpe3JldHVybiBfMHgyNWExYzReXzB4N2MzNmE0Xl8weDI4ODAwOTt9ZnVuY3Rpb24gXzB4ZDg1ZjcwKF8weDQzZGY3ZSxfMHgzMzIwOTcsXzB4NWNkYmJmKXtyZXR1cm4gXzB4NDNkZjdlJl8weDMzMjA5N3x+XzB4NDNkZjdlJl8weDVjZGJiZjt9ZnVuY3Rpb24gXzB4NTMzZGQwKF8weDE0YWM4MSxfMHhjNTQxMzUsXzB4NGUyYzNkKXtyZXR1cm4oXzB4MTRhYzgxfH5fMHhjNTQxMzUpXl8weDRlMmMzZDt9ZnVuY3Rpb24gXzB4NGI0NjQxKF8weDJhY2FhNyxfMHhjMjc1MTcsXzB4NGQ0Y2UzKXtyZXR1cm4gXzB4MmFjYWE3Jl8weDRkNGNlM3xfMHhjMjc1MTcmfl8weDRkNGNlMzt9ZnVuY3Rpb24gXzB4NWIwYzRmKF8weDE2MWZiNixfMHgzNDAwZTAsXzB4NTU3MWZiKXtyZXR1cm4gXzB4MTYxZmI2XihfMHgzNDAwZTB8fl8weDU1NzFmYik7fWZ1bmN0aW9uIF8weDI3NzhkZChfMHgzOWNhMmYsXzB4NDcxMWY5KXtyZXR1cm4gXzB4MzljYTJmPDxfMHg0NzExZjl8XzB4MzljYTJmPj4+MHgyMC1fMHg0NzExZjk7fV8weDViNDFjNVtfMHgxZDFiNTIoJzB4MjA2JyldPV8weDQ2ZWU2MFtfMHgxZDFiNTIoJzB4ODQwJyldKF8weDFkOTBmMSksXzB4NWI0MWM1WydIbWFjUklQRU1EMTYwJ109XzB4NDZlZTYwW18weDFkMWI1MignMHgzNzMnKV0oXzB4MWQ5MGYxKTt9KE1hdGgpLF8weDU3Nzk1ZVtfMHg4YjJmMTkoJzB4MjA2JyldKTt9LDB4YWRmOmZ1bmN0aW9uKF8weDExNDQxNSxfMHgxNzJhZjcsXzB4NGUyY2Y2KXt2YXIgXzB4NDE0NmExPV8weDE1YTMsXzB4NGVmM2FlLF8weDZjNmJkNSxfMHg0ZGQyODUsXzB4NTQ0MWY5LF8weDVlOGY3MixfMHgyMDYxOGUsXzB4ZTUxZTZjLF8weDQwNmNmNjtfMHgxMTQ0MTVbXzB4NDE0NmExKCcweDMxNCcpXT0oXzB4NmM2YmQ1PShfMHg0ZWYzYWU9XzB4NDA2Y2Y2PV8weDRlMmNmNigweDIwMzkpKVtfMHg0MTQ2YTEoJzB4NTJmJyldLF8weDRkZDI4NT1fMHg2YzZiZDVbXzB4NDE0NmExKCcweDM3NycpXSxfMHg1NDQxZjk9XzB4NmM2YmQ1WydIYXNoZXInXSxfMHg1ZThmNzI9XzB4NGVmM2FlW18weDQxNDZhMSgnMHg0ZjYnKV0sXzB4MjA2MThlPVtdLF8weGU1MWU2Yz1fMHg1ZThmNzJbXzB4NDE0NmExKCcweDkwNicpXT1fMHg1NDQxZjlbJ2V4dGVuZCddKHsnX2RvUmVzZXQnOmZ1bmN0aW9uKCl7dmFyIF8weGQ5OTAzOD1fMHg0MTQ2YTE7dGhpc1snX2hhc2gnXT1uZXcgXzB4NGRkMjg1WyhfMHhkOTkwMzgoJzB4YzEzJykpXShbMHg2NzQ1MjMwMSwweGVmY2RhYjg5LDB4OThiYWRjZmUsMHgxMDMyNTQ3NiwweGMzZDJlMWYwXSk7fSwnX2RvUHJvY2Vzc0Jsb2NrJzpmdW5jdGlvbihfMHhlNzYzNzksXzB4NTRhMmI0KXt2YXIgXzB4MTNjYzFmPV8weDQxNDZhMTtmb3IodmFyIF8weDNmNWU2Mj10aGlzW18weDEzY2MxZignMHg4ODgnKV1bJ3dvcmRzJ10sXzB4M2VhY2YzPV8weDNmNWU2MlsweDBdLF8weDMyYTdlMD1fMHgzZjVlNjJbMHgxXSxfMHg1MTBmNDE9XzB4M2Y1ZTYyWzB4Ml0sXzB4Mzg0OGU3PV8weDNmNWU2MlsweDNdLF8weGQzNDc4YT1fMHgzZjVlNjJbMHg0XSxfMHg1MDkyZGY9MHgwO18weDUwOTJkZjwweDUwO18weDUwOTJkZisrKXtpZihfMHg1MDkyZGY8MHgxMClfMHgyMDYxOGVbXzB4NTA5MmRmXT0weDB8XzB4ZTc2Mzc5W18weDU0YTJiNCtfMHg1MDkyZGZdO2Vsc2V7dmFyIF8weDM0ODkwZj1fMHgyMDYxOGVbXzB4NTA5MmRmLTB4M11eXzB4MjA2MThlW18weDUwOTJkZi0weDhdXl8weDIwNjE4ZVtfMHg1MDkyZGYtMHhlXV5fMHgyMDYxOGVbXzB4NTA5MmRmLTB4MTBdO18weDIwNjE4ZVtfMHg1MDkyZGZdPV8weDM0ODkwZjw8MHgxfF8weDM0ODkwZj4+PjB4MWY7fXZhciBfMHgzNWE1ODQ9KF8weDNlYWNmMzw8MHg1fF8weDNlYWNmMz4+PjB4MWIpK18weGQzNDc4YStfMHgyMDYxOGVbXzB4NTA5MmRmXTtfMHgzNWE1ODQrPV8weDUwOTJkZjwweDE0PzB4NWE4Mjc5OTkrKF8weDMyYTdlMCZfMHg1MTBmNDF8fl8weDMyYTdlMCZfMHgzODQ4ZTcpOl8weDUwOTJkZjwweDI4PzB4NmVkOWViYTErKF8weDMyYTdlMF5fMHg1MTBmNDFeXzB4Mzg0OGU3KTpfMHg1MDkyZGY8MHgzYz8oXzB4MzJhN2UwJl8weDUxMGY0MXxfMHgzMmE3ZTAmXzB4Mzg0OGU3fF8weDUxMGY0MSZfMHgzODQ4ZTcpLTB4NzBlNDQzMjQ6KF8weDMyYTdlMF5fMHg1MTBmNDFeXzB4Mzg0OGU3KS0weDM1OWQzZTJhLF8weGQzNDc4YT1fMHgzODQ4ZTcsXzB4Mzg0OGU3PV8weDUxMGY0MSxfMHg1MTBmNDE9XzB4MzJhN2UwPDwweDFlfF8weDMyYTdlMD4+PjB4MixfMHgzMmE3ZTA9XzB4M2VhY2YzLF8weDNlYWNmMz1fMHgzNWE1ODQ7fV8weDNmNWU2MlsweDBdPV8weDNmNWU2MlsweDBdK18weDNlYWNmM3wweDAsXzB4M2Y1ZTYyWzB4MV09XzB4M2Y1ZTYyWzB4MV0rXzB4MzJhN2UwfDB4MCxfMHgzZjVlNjJbMHgyXT1fMHgzZjVlNjJbMHgyXStfMHg1MTBmNDF8MHgwLF8weDNmNWU2MlsweDNdPV8weDNmNWU2MlsweDNdK18weDM4NDhlN3wweDAsXzB4M2Y1ZTYyWzB4NF09XzB4M2Y1ZTYyWzB4NF0rXzB4ZDM0NzhhfDB4MDt9LCdfZG9GaW5hbGl6ZSc6ZnVuY3Rpb24oKXt2YXIgXzB4MzRiMGZhPV8weDQxNDZhMSxfMHg5ODI0MDE9dGhpc1tfMHgzNGIwZmEoJzB4YTU5JyldLF8weDQzOTg1Mj1fMHg5ODI0MDFbJ3dvcmRzJ10sXzB4NDcwNDFkPTB4OCp0aGlzW18weDM0YjBmYSgnMHgyZTMnKV0sXzB4NWE3ZmUzPTB4OCpfMHg5ODI0MDFbXzB4MzRiMGZhKCcweDJjZScpXTtyZXR1cm4gXzB4NDM5ODUyW18weDVhN2ZlMz4+PjB4NV18PTB4ODA8PDB4MTgtXzB4NWE3ZmUzJTB4MjAsXzB4NDM5ODUyWzB4ZSsoXzB4NWE3ZmUzKzB4NDA+Pj4weDk8PDB4NCldPU1hdGhbXzB4MzRiMGZhKCcweGJiZScpXShfMHg0NzA0MWQvMHgxMDAwMDAwMDApLF8weDQzOTg1MlsweGYrKF8weDVhN2ZlMysweDQwPj4+MHg5PDwweDQpXT1fMHg0NzA0MWQsXzB4OTgyNDAxW18weDM0YjBmYSgnMHgyY2UnKV09MHg0Kl8weDQzOTg1MltfMHgzNGIwZmEoJzB4NTIwJyldLHRoaXNbJ19wcm9jZXNzJ10oKSx0aGlzW18weDM0YjBmYSgnMHg4ODgnKV07fSwnY2xvbmUnOmZ1bmN0aW9uKCl7dmFyIF8weDQwZTdmOT1fMHg0MTQ2YTEsXzB4NDUwZjc2PV8weDU0NDFmOVtfMHg0MGU3ZjkoJzB4Mzc5JyldW18weDQwZTdmOSgnMHg1ZmQnKV0odGhpcyk7cmV0dXJuIF8weDQ1MGY3NltfMHg0MGU3ZjkoJzB4ODg4JyldPXRoaXNbXzB4NDBlN2Y5KCcweDg4OCcpXVtfMHg0MGU3ZjkoJzB4Mzc5JyldKCksXzB4NDUwZjc2O319KSxfMHg0ZWYzYWVbXzB4NDE0NmExKCcweDkwNicpXT1fMHg1NDQxZjlbXzB4NDE0NmExKCcweDg0MCcpXShfMHhlNTFlNmMpLF8weDRlZjNhZVtfMHg0MTQ2YTEoJzB4MjM0JyldPV8weDU0NDFmOVtfMHg0MTQ2YTEoJzB4MzczJyldKF8weGU1MWU2YyksXzB4NDA2Y2Y2WydTSEExJ10pO30sMHgxZTcwOmZ1bmN0aW9uKF8weDg3Njc1MixfMHgyOWI1NDUsXzB4YzRlOTUzKXt2YXIgXzB4Mzg4MWM3PV8weDE1YTMsXzB4NTRhMDBmLF8weDU2YTliOSxfMHgxNGY0YTcsXzB4N2U5OTIwLF8weDM4YTA3NSxfMHgyNzc0NDg7XzB4ODc2NzUyW18weDM4ODFjNygnMHgzMTQnKV09KF8weDI3NzQ0OD1fMHhjNGU5NTMoMHgyMDM5KSxfMHhjNGU5NTMoMHg4NjkpLF8weDU2YTliOT0oXzB4NTRhMDBmPV8weDI3NzQ0OClbJ2xpYiddW18weDM4ODFjNygnMHgzNzcnKV0sXzB4MTRmNGE3PV8weDU0YTAwZltfMHgzODgxYzcoJzB4NGY2JyldLF8weDdlOTkyMD1fMHgxNGY0YTdbJ1NIQTI1NiddLF8weDM4YTA3NT1fMHgxNGY0YTdbXzB4Mzg4MWM3KCcweGI1YicpXT1fMHg3ZTk5MjBbXzB4Mzg4MWM3KCcweDdlOScpXSh7J19kb1Jlc2V0JzpmdW5jdGlvbigpe3ZhciBfMHgyNjgzOWI9XzB4Mzg4MWM3O3RoaXNbXzB4MjY4MzliKCcweDg4OCcpXT1uZXcgXzB4NTZhOWI5WyhfMHgyNjgzOWIoJzB4YzEzJykpXShbMHhjMTA1OWVkOCwweDM2N2NkNTA3LDB4MzA3MGRkMTcsMHhmNzBlNTkzOSwweGZmYzAwYjMxLDB4Njg1ODE1MTEsMHg2NGY5OGZhNywweGJlZmE0ZmE0XSk7fSwnX2RvRmluYWxpemUnOmZ1bmN0aW9uKCl7dmFyIF8weDI4ODNiYz1fMHgzODgxYzcsXzB4NDg3ZjgzPV8weDdlOTkyMFtfMHgyODgzYmMoJzB4ZDBhJyldW18weDI4ODNiYygnMHg1ZmQnKV0odGhpcyk7cmV0dXJuIF8weDQ4N2Y4M1tfMHgyODgzYmMoJzB4MmNlJyldLT0weDQsXzB4NDg3ZjgzO319KSxfMHg1NGEwMGZbXzB4Mzg4MWM3KCcweGI1YicpXT1fMHg3ZTk5MjBbXzB4Mzg4MWM3KCcweDg0MCcpXShfMHgzOGEwNzUpLF8weDU0YTAwZltfMHgzODgxYzcoJzB4OTdlJyldPV8weDdlOTkyMFtfMHgzODgxYzcoJzB4MzczJyldKF8weDM4YTA3NSksXzB4Mjc3NDQ4W18weDM4ODFjNygnMHhiNWInKV0pO30sMHg4Njk6ZnVuY3Rpb24oXzB4MTViYjhlLF8weDVhNzg2MSxfMHg0Mzk5Njcpe3ZhciBfMHgzMmQ0MzE9XzB4MTVhMyxfMHg1ZWU2OGY7XzB4MTViYjhlWydleHBvcnRzJ109KF8weDVlZTY4Zj1fMHg0Mzk5NjcoMHgyMDM5KSxmdW5jdGlvbihfMHgyNGEwOGMpe3ZhciBfMHg0M2U1NzY9XzB4MTVhMyxfMHgzNDQyMTc9XzB4NWVlNjhmLF8weDM0YjcxZT1fMHgzNDQyMTdbXzB4NDNlNTc2KCcweDUyZicpXSxfMHgyMzAxNGY9XzB4MzRiNzFlW18weDQzZTU3NignMHgzNzcnKV0sXzB4MzM4ZTYxPV8weDM0YjcxZVtfMHg0M2U1NzYoJzB4Mjc4JyldLF8weDIzZjdkNz1fMHgzNDQyMTdbXzB4NDNlNTc2KCcweDRmNicpXSxfMHg1M2VkOGI9W10sXzB4MmI2OGU4PVtdOyEoZnVuY3Rpb24oKXt2YXIgXzB4MzU5Mjc0PV8weDQzZTU3NjtmdW5jdGlvbiBfMHg0YjhiMDYoXzB4MjA3NGI1KXt2YXIgXzB4MTVlNjE1PV8weDE1YTM7Zm9yKHZhciBfMHgxNGU2MjM9XzB4MjRhMDhjW18weDE1ZTYxNSgnMHgzZjMnKV0oXzB4MjA3NGI1KSxfMHg1YzNiYzk9MHgyO18weDVjM2JjOTw9XzB4MTRlNjIzO18weDVjM2JjOSsrKWlmKCEoXzB4MjA3NGI1JV8weDVjM2JjOSkpcmV0dXJuITB4MTtyZXR1cm4hMHgwO31mdW5jdGlvbiBfMHg1MTI0ZWQoXzB4MmM1MzgyKXtyZXR1cm4gMHgxMDAwMDAwMDAqKF8weDJjNTM4Mi0oMHgwfF8weDJjNTM4MikpfDB4MDt9Zm9yKHZhciBfMHgzN2U0ZjI9MHgyLF8weDM1M2ZjZj0weDA7XzB4MzUzZmNmPDB4NDA7KV8weDRiOGIwNihfMHgzN2U0ZjIpJiYoXzB4MzUzZmNmPDB4OCYmKF8weDUzZWQ4YltfMHgzNTNmY2ZdPV8weDUxMjRlZChfMHgyNGEwOGNbXzB4MzU5Mjc0KCcweGEwOScpXShfMHgzN2U0ZjIsMC41KSkpLF8weDJiNjhlOFtfMHgzNTNmY2ZdPV8weDUxMjRlZChfMHgyNGEwOGNbXzB4MzU5Mjc0KCcweGEwOScpXShfMHgzN2U0ZjIsMHgxLzB4MykpLF8weDM1M2ZjZisrKSxfMHgzN2U0ZjIrKzt9KCkpO3ZhciBfMHgyYTM4NDA9W10sXzB4NDE0YmJkPV8weDIzZjdkN1tfMHg0M2U1NzYoJzB4OGE2JyldPV8weDMzOGU2MVsnZXh0ZW5kJ10oeydfZG9SZXNldCc6ZnVuY3Rpb24oKXt2YXIgXzB4MTkyYWI3PV8weDQzZTU3Njt0aGlzW18weDE5MmFiNygnMHg4ODgnKV09bmV3IF8weDIzMDE0ZlsoXzB4MTkyYWI3KCcweGMxMycpKV0oXzB4NTNlZDhiW18weDE5MmFiNygnMHhhZGEnKV0oMHgwKSk7fSwnX2RvUHJvY2Vzc0Jsb2NrJzpmdW5jdGlvbihfMHg1N2UxNjUsXzB4NGI4MjAwKXt2YXIgXzB4MjM2ZWUxPV8weDQzZTU3Njtmb3IodmFyIF8weGE0NTQwYj10aGlzW18weDIzNmVlMSgnMHg4ODgnKV1bXzB4MjM2ZWUxKCcweDk3MicpXSxfMHgxNjc4YTI9XzB4YTQ1NDBiWzB4MF0sXzB4Mzc0NTY4PV8weGE0NTQwYlsweDFdLF8weDQ0ZTEyZj1fMHhhNDU0MGJbMHgyXSxfMHgzY2M3NjQ9XzB4YTQ1NDBiWzB4M10sXzB4MmRiMDgyPV8weGE0NTQwYlsweDRdLF8weDM2OTJlZT1fMHhhNDU0MGJbMHg1XSxfMHg1NWUwMjQ9XzB4YTQ1NDBiWzB4Nl0sXzB4MjZlMjU0PV8weGE0NTQwYlsweDddLF8weDI3N2MzMT0weDA7XzB4Mjc3YzMxPDB4NDA7XzB4Mjc3YzMxKyspe2lmKF8weDI3N2MzMTwweDEwKV8weDJhMzg0MFtfMHgyNzdjMzFdPTB4MHxfMHg1N2UxNjVbXzB4NGI4MjAwK18weDI3N2MzMV07ZWxzZXt2YXIgXzB4NWYyMjBjPV8weDJhMzg0MFtfMHgyNzdjMzEtMHhmXSxfMHgyMmI1NzA9KF8weDVmMjIwYzw8MHgxOXxfMHg1ZjIyMGM+Pj4weDcpXihfMHg1ZjIyMGM8PDB4ZXxfMHg1ZjIyMGM+Pj4weDEyKV5fMHg1ZjIyMGM+Pj4weDMsXzB4MjA1ZmY0PV8weDJhMzg0MFtfMHgyNzdjMzEtMHgyXSxfMHgxMTAwZGU9KF8weDIwNWZmNDw8MHhmfF8weDIwNWZmND4+PjB4MTEpXihfMHgyMDVmZjQ8PDB4ZHxfMHgyMDVmZjQ+Pj4weDEzKV5fMHgyMDVmZjQ+Pj4weGE7XzB4MmEzODQwW18weDI3N2MzMV09XzB4MjJiNTcwK18weDJhMzg0MFtfMHgyNzdjMzEtMHg3XStfMHgxMTAwZGUrXzB4MmEzODQwW18weDI3N2MzMS0weDEwXTt9dmFyIF8weDIyZTU2ZD1fMHgxNjc4YTImXzB4Mzc0NTY4Xl8weDE2NzhhMiZfMHg0NGUxMmZeXzB4Mzc0NTY4Jl8weDQ0ZTEyZixfMHgzM2YzYjg9KF8weDE2NzhhMjw8MHgxZXxfMHgxNjc4YTI+Pj4weDIpXihfMHgxNjc4YTI8PDB4MTN8XzB4MTY3OGEyPj4+MHhkKV4oXzB4MTY3OGEyPDwweGF8XzB4MTY3OGEyPj4+MHgxNiksXzB4OGRjYmE0PV8weDI2ZTI1NCsoKF8weDJkYjA4Mjw8MHgxYXxfMHgyZGIwODI+Pj4weDYpXihfMHgyZGIwODI8PDB4MTV8XzB4MmRiMDgyPj4+MHhiKV4oXzB4MmRiMDgyPDwweDd8XzB4MmRiMDgyPj4+MHgxOSkpKyhfMHgyZGIwODImXzB4MzY5MmVlXn5fMHgyZGIwODImXzB4NTVlMDI0KStfMHgyYjY4ZThbXzB4Mjc3YzMxXStfMHgyYTM4NDBbXzB4Mjc3YzMxXTtfMHgyNmUyNTQ9XzB4NTVlMDI0LF8weDU1ZTAyND1fMHgzNjkyZWUsXzB4MzY5MmVlPV8weDJkYjA4MixfMHgyZGIwODI9XzB4M2NjNzY0K18weDhkY2JhNHwweDAsXzB4M2NjNzY0PV8weDQ0ZTEyZixfMHg0NGUxMmY9XzB4Mzc0NTY4LF8weDM3NDU2OD1fMHgxNjc4YTIsXzB4MTY3OGEyPV8weDhkY2JhNCsoXzB4MzNmM2I4K18weDIyZTU2ZCl8MHgwO31fMHhhNDU0MGJbMHgwXT1fMHhhNDU0MGJbMHgwXStfMHgxNjc4YTJ8MHgwLF8weGE0NTQwYlsweDFdPV8weGE0NTQwYlsweDFdK18weDM3NDU2OHwweDAsXzB4YTQ1NDBiWzB4Ml09XzB4YTQ1NDBiWzB4Ml0rXzB4NDRlMTJmfDB4MCxfMHhhNDU0MGJbMHgzXT1fMHhhNDU0MGJbMHgzXStfMHgzY2M3NjR8MHgwLF8weGE0NTQwYlsweDRdPV8weGE0NTQwYlsweDRdK18weDJkYjA4MnwweDAsXzB4YTQ1NDBiWzB4NV09XzB4YTQ1NDBiWzB4NV0rXzB4MzY5MmVlfDB4MCxfMHhhNDU0MGJbMHg2XT1fMHhhNDU0MGJbMHg2XStfMHg1NWUwMjR8MHgwLF8weGE0NTQwYlsweDddPV8weGE0NTQwYlsweDddK18weDI2ZTI1NHwweDA7fSwnX2RvRmluYWxpemUnOmZ1bmN0aW9uKCl7dmFyIF8weDNlMWUwMT1fMHg0M2U1NzYsXzB4NzcwNzU5PXRoaXNbXzB4M2UxZTAxKCcweGE1OScpXSxfMHgxNWZiNzM9XzB4NzcwNzU5W18weDNlMWUwMSgnMHg5NzInKV0sXzB4MjExOTY9MHg4KnRoaXNbXzB4M2UxZTAxKCcweDJlMycpXSxfMHg0NzgxY2U9MHg4Kl8weDc3MDc1OVsnc2lnQnl0ZXMnXTtyZXR1cm4gXzB4MTVmYjczW18weDQ3ODFjZT4+PjB4NV18PTB4ODA8PDB4MTgtXzB4NDc4MWNlJTB4MjAsXzB4MTVmYjczWzB4ZSsoXzB4NDc4MWNlKzB4NDA+Pj4weDk8PDB4NCldPV8weDI0YTA4Y1tfMHgzZTFlMDEoJzB4YmJlJyldKF8weDIxMTk2LzB4MTAwMDAwMDAwKSxfMHgxNWZiNzNbMHhmKyhfMHg0NzgxY2UrMHg0MD4+PjB4OTw8MHg0KV09XzB4MjExOTYsXzB4NzcwNzU5W18weDNlMWUwMSgnMHgyY2UnKV09MHg0Kl8weDE1ZmI3M1tfMHgzZTFlMDEoJzB4NTIwJyldLHRoaXNbXzB4M2UxZTAxKCcweGI1ZCcpXSgpLHRoaXNbJ19oYXNoJ107fSwnY2xvbmUnOmZ1bmN0aW9uKCl7dmFyIF8weDUyMjhhOT1fMHg0M2U1NzYsXzB4NDNkNWUyPV8weDMzOGU2MVtfMHg1MjI4YTkoJzB4Mzc5JyldW18weDUyMjhhOSgnMHg1ZmQnKV0odGhpcyk7cmV0dXJuIF8weDQzZDVlMltfMHg1MjI4YTkoJzB4ODg4JyldPXRoaXNbJ19oYXNoJ11bJ2Nsb25lJ10oKSxfMHg0M2Q1ZTI7fX0pO18weDM0NDIxN1tfMHg0M2U1NzYoJzB4OGE2JyldPV8weDMzOGU2MVtfMHg0M2U1NzYoJzB4ODQwJyldKF8weDQxNGJiZCksXzB4MzQ0MjE3WydIbWFjU0hBMjU2J109XzB4MzM4ZTYxW18weDQzZTU3NignMHgzNzMnKV0oXzB4NDE0YmJkKTt9KE1hdGgpLF8weDVlZTY4ZltfMHgzMmQ0MzEoJzB4OGE2JyldKTt9LDB4Y2ZmOmZ1bmN0aW9uKF8weDU3YjQ5MSxfMHgyZWY3MzcsXzB4MWNiMTM0KXt2YXIgXzB4MjI4ZmQwPV8weDE1YTMsXzB4MjIzYjk1O18weDU3YjQ5MVtfMHgyMjhmZDAoJzB4MzE0JyldPShfMHgyMjNiOTU9XzB4MWNiMTM0KDB4MjAzOSksXzB4MWNiMTM0KDB4MTM0YSksZnVuY3Rpb24oXzB4NGVhOGNkKXt2YXIgXzB4M2QwMTQ5PV8weDIyOGZkMCxfMHgzOWE0YjA9XzB4MjIzYjk1LF8weDM1MzJhND1fMHgzOWE0YjBbJ2xpYiddLF8weDQyODU0NT1fMHgzNTMyYTRbXzB4M2QwMTQ5KCcweDM3NycpXSxfMHgyMDQ0MjE9XzB4MzUzMmE0W18weDNkMDE0OSgnMHgyNzgnKV0sXzB4MzA3NDc2PV8weDM5YTRiMFtfMHgzZDAxNDkoJzB4OWFkJyldWydXb3JkJ10sXzB4MTE2Yjk5PV8weDM5YTRiMFsnYWxnbyddLF8weDFiNWZkYT1bXSxfMHg1ZTRiYzY9W10sXzB4ODFhYjRkPVtdOyEoZnVuY3Rpb24oKXtmb3IodmFyIF8weGJmYTY1Mj0weDEsXzB4MjRlMGFkPTB4MCxfMHg0ZTY4YTM9MHgwO18weDRlNjhhMzwweDE4O18weDRlNjhhMysrKXtfMHgxYjVmZGFbXzB4YmZhNjUyKzB4NSpfMHgyNGUwYWRdPShfMHg0ZTY4YTMrMHgxKSooXzB4NGU2OGEzKzB4MikvMHgyJTB4NDA7dmFyIF8weDJhNDBhMj0oMHgyKl8weGJmYTY1MisweDMqXzB4MjRlMGFkKSUweDU7XzB4YmZhNjUyPV8weDI0ZTBhZCUweDUsXzB4MjRlMGFkPV8weDJhNDBhMjt9Zm9yKF8weGJmYTY1Mj0weDA7XzB4YmZhNjUyPDB4NTtfMHhiZmE2NTIrKylmb3IoXzB4MjRlMGFkPTB4MDtfMHgyNGUwYWQ8MHg1O18weDI0ZTBhZCsrKV8weDVlNGJjNltfMHhiZmE2NTIrMHg1Kl8weDI0ZTBhZF09XzB4MjRlMGFkKygweDIqXzB4YmZhNjUyKzB4MypfMHgyNGUwYWQpJTB4NSoweDU7Zm9yKHZhciBfMHgxYjNkYTI9MHgxLF8weGE0NDdhZT0weDA7XzB4YTQ0N2FlPDB4MTg7XzB4YTQ0N2FlKyspe2Zvcih2YXIgXzB4NDBlMzhiPTB4MCxfMHg0ODFkOWQ9MHgwLF8weDQ2NjNiZD0weDA7XzB4NDY2M2JkPDB4NztfMHg0NjYzYmQrKyl7aWYoMHgxJl8weDFiM2RhMil7dmFyIF8weDViZDlhZD0oMHgxPDxfMHg0NjYzYmQpLTB4MTtfMHg1YmQ5YWQ8MHgyMD9fMHg0ODFkOWRePTB4MTw8XzB4NWJkOWFkOl8weDQwZTM4Yl49MHgxPDxfMHg1YmQ5YWQtMHgyMDt9MHg4MCZfMHgxYjNkYTI/XzB4MWIzZGEyPV8weDFiM2RhMjw8MHgxXjB4NzE6XzB4MWIzZGEyPDw9MHgxO31fMHg4MWFiNGRbXzB4YTQ0N2FlXT1fMHgzMDc0NzZbJ2NyZWF0ZSddKF8weDQwZTM4YixfMHg0ODFkOWQpO319KCkpO3ZhciBfMHg5M2NjNDI9W107IShmdW5jdGlvbigpe2Zvcih2YXIgXzB4MjkyMzFiPTB4MDtfMHgyOTIzMWI8MHgxOTtfMHgyOTIzMWIrKylfMHg5M2NjNDJbXzB4MjkyMzFiXT1fMHgzMDc0NzZbJ2NyZWF0ZSddKCk7fSgpKTt2YXIgXzB4MTc1OGVjPV8weDExNmI5OVtfMHgzZDAxNDkoJzB4OTIzJyldPV8weDIwNDQyMVtfMHgzZDAxNDkoJzB4N2U5JyldKHsnY2ZnJzpfMHgyMDQ0MjFbXzB4M2QwMTQ5KCcweDI2MycpXVtfMHgzZDAxNDkoJzB4N2U5JyldKHsnb3V0cHV0TGVuZ3RoJzoweDIwMH0pLCdfZG9SZXNldCc6ZnVuY3Rpb24oKXt2YXIgXzB4MTNiOTY5PV8weDNkMDE0OTtmb3IodmFyIF8weDIyOTE3Nz10aGlzWydfc3RhdGUnXT1bXSxfMHgyOGQ5NDU9MHgwO18weDI4ZDk0NTwweDE5O18weDI4ZDk0NSsrKV8weDIyOTE3N1tfMHgyOGQ5NDVdPW5ldyBfMHgzMDc0NzZbKF8weDEzYjk2OSgnMHhjMTMnKSldKCk7dGhpc1snYmxvY2tTaXplJ109KDB4NjQwLTB4Mip0aGlzWydjZmcnXVtfMHgxM2I5NjkoJzB4N2RjJyldKS8weDIwO30sJ19kb1Byb2Nlc3NCbG9jayc6ZnVuY3Rpb24oXzB4NDgzMDgwLF8weDIwNjZhZSl7dmFyIF8weDcxOGJlNj1fMHgzZDAxNDk7Zm9yKHZhciBfMHgxMjI2NzI9dGhpc1tfMHg3MThiZTYoJzB4YmFiJyldLF8weDUwMDZiNj10aGlzW18weDcxOGJlNignMHhjNjUnKV0vMHgyLF8weDVhMWJmYz0weDA7XzB4NWExYmZjPF8weDUwMDZiNjtfMHg1YTFiZmMrKyl7dmFyIF8weDM0ODkzZD1fMHg0ODMwODBbXzB4MjA2NmFlKzB4MipfMHg1YTFiZmNdLF8weDQ2ZmFjMz1fMHg0ODMwODBbXzB4MjA2NmFlKzB4MipfMHg1YTFiZmMrMHgxXTtfMHgzNDg5M2Q9MHhmZjAwZmYmKF8weDM0ODkzZDw8MHg4fF8weDM0ODkzZD4+PjB4MTgpfDB4ZmYwMGZmMDAmKF8weDM0ODkzZDw8MHgxOHxfMHgzNDg5M2Q+Pj4weDgpLF8weDQ2ZmFjMz0weGZmMDBmZiYoXzB4NDZmYWMzPDwweDh8XzB4NDZmYWMzPj4+MHgxOCl8MHhmZjAwZmYwMCYoXzB4NDZmYWMzPDwweDE4fF8weDQ2ZmFjMz4+PjB4OCksKF8weDE0OWU3YT1fMHgxMjI2NzJbXzB4NWExYmZjXSlbXzB4NzE4YmU2KCcweGEyNycpXV49XzB4NDZmYWMzLF8weDE0OWU3YVtfMHg3MThiZTYoJzB4YzE2JyldXj1fMHgzNDg5M2Q7fWZvcih2YXIgXzB4MWQ5ZWQ5PTB4MDtfMHgxZDllZDk8MHgxODtfMHgxZDllZDkrKyl7Zm9yKHZhciBfMHg2NWIzMDQ9MHgwO18weDY1YjMwNDwweDU7XzB4NjViMzA0Kyspe2Zvcih2YXIgXzB4M2IyMGUzPTB4MCxfMHg4NzhkZmQ9MHgwLF8weDQ0ODA2MD0weDA7XzB4NDQ4MDYwPDB4NTtfMHg0NDgwNjArKylfMHgzYjIwZTNePShfMHgxNDllN2E9XzB4MTIyNjcyW18weDY1YjMwNCsweDUqXzB4NDQ4MDYwXSlbJ2hpZ2gnXSxfMHg4NzhkZmRePV8weDE0OWU3YVtfMHg3MThiZTYoJzB4YzE2JyldO3ZhciBfMHgzOTVhMGU9XzB4OTNjYzQyW18weDY1YjMwNF07XzB4Mzk1YTBlWydoaWdoJ109XzB4M2IyMGUzLF8weDM5NWEwZVsnbG93J109XzB4ODc4ZGZkO31mb3IoXzB4NjViMzA0PTB4MDtfMHg2NWIzMDQ8MHg1O18weDY1YjMwNCsrKXt2YXIgXzB4NzVmMDMxPV8weDkzY2M0MlsoXzB4NjViMzA0KzB4NCklMHg1XSxfMHgyMThiNWU9XzB4OTNjYzQyWyhfMHg2NWIzMDQrMHgxKSUweDVdLF8weDE0NmE2Mj1fMHgyMThiNWVbXzB4NzE4YmU2KCcweGEyNycpXSxfMHgyNTRmMWU9XzB4MjE4YjVlW18weDcxOGJlNignMHhjMTYnKV07Zm9yKF8weDNiMjBlMz1fMHg3NWYwMzFbXzB4NzE4YmU2KCcweGEyNycpXV4oXzB4MTQ2YTYyPDwweDF8XzB4MjU0ZjFlPj4+MHgxZiksXzB4ODc4ZGZkPV8weDc1ZjAzMVtfMHg3MThiZTYoJzB4YzE2JyldXihfMHgyNTRmMWU8PDB4MXxfMHgxNDZhNjI+Pj4weDFmKSxfMHg0NDgwNjA9MHgwO18weDQ0ODA2MDwweDU7XzB4NDQ4MDYwKyspKF8weDE0OWU3YT1fMHgxMjI2NzJbXzB4NjViMzA0KzB4NSpfMHg0NDgwNjBdKVsnaGlnaCddXj1fMHgzYjIwZTMsXzB4MTQ5ZTdhWydsb3cnXV49XzB4ODc4ZGZkO31mb3IodmFyIF8weDEzZTNhMz0weDE7XzB4MTNlM2EzPDB4MTk7XzB4MTNlM2EzKyspe3ZhciBfMHg5MjBjYWE9KF8weDE0OWU3YT1fMHgxMjI2NzJbXzB4MTNlM2EzXSlbXzB4NzE4YmU2KCcweGEyNycpXSxfMHg0OTA3NDI9XzB4MTQ5ZTdhW18weDcxOGJlNignMHhjMTYnKV0sXzB4NDlmMjJmPV8weDFiNWZkYVtfMHgxM2UzYTNdO18weDQ5ZjIyZjwweDIwPyhfMHgzYjIwZTM9XzB4OTIwY2FhPDxfMHg0OWYyMmZ8XzB4NDkwNzQyPj4+MHgyMC1fMHg0OWYyMmYsXzB4ODc4ZGZkPV8weDQ5MDc0Mjw8XzB4NDlmMjJmfF8weDkyMGNhYT4+PjB4MjAtXzB4NDlmMjJmKTooXzB4M2IyMGUzPV8weDQ5MDc0Mjw8XzB4NDlmMjJmLTB4MjB8XzB4OTIwY2FhPj4+MHg0MC1fMHg0OWYyMmYsXzB4ODc4ZGZkPV8weDkyMGNhYTw8XzB4NDlmMjJmLTB4MjB8XzB4NDkwNzQyPj4+MHg0MC1fMHg0OWYyMmYpO3ZhciBfMHgxYjAyOWE9XzB4OTNjYzQyW18weDVlNGJjNltfMHgxM2UzYTNdXTtfMHgxYjAyOWFbJ2hpZ2gnXT1fMHgzYjIwZTMsXzB4MWIwMjlhW18weDcxOGJlNignMHhjMTYnKV09XzB4ODc4ZGZkO312YXIgXzB4MmRhMDRlPV8weDkzY2M0MlsweDBdLF8weDJlNWZkND1fMHgxMjI2NzJbMHgwXTtmb3IoXzB4MmRhMDRlWydoaWdoJ109XzB4MmU1ZmQ0W18weDcxOGJlNignMHhhMjcnKV0sXzB4MmRhMDRlWydsb3cnXT1fMHgyZTVmZDRbXzB4NzE4YmU2KCcweGMxNicpXSxfMHg2NWIzMDQ9MHgwO18weDY1YjMwNDwweDU7XzB4NjViMzA0KyspZm9yKF8weDQ0ODA2MD0weDA7XzB4NDQ4MDYwPDB4NTtfMHg0NDgwNjArKyl7dmFyIF8weDE0OWU3YT1fMHgxMjI2NzJbXzB4MTNlM2EzPV8weDY1YjMwNCsweDUqXzB4NDQ4MDYwXSxfMHgzOGE1ZjE9XzB4OTNjYzQyW18weDEzZTNhM10sXzB4NzNmNzc4PV8weDkzY2M0MlsoXzB4NjViMzA0KzB4MSklMHg1KzB4NSpfMHg0NDgwNjBdLF8weDQwZDU0MT1fMHg5M2NjNDJbKF8weDY1YjMwNCsweDIpJTB4NSsweDUqXzB4NDQ4MDYwXTtfMHgxNDllN2FbXzB4NzE4YmU2KCcweGEyNycpXT1fMHgzOGE1ZjFbXzB4NzE4YmU2KCcweGEyNycpXV5+XzB4NzNmNzc4WydoaWdoJ10mXzB4NDBkNTQxW18weDcxOGJlNignMHhhMjcnKV0sXzB4MTQ5ZTdhW18weDcxOGJlNignMHhjMTYnKV09XzB4MzhhNWYxW18weDcxOGJlNignMHhjMTYnKV1efl8weDczZjc3OFtfMHg3MThiZTYoJzB4YzE2JyldJl8weDQwZDU0MVtfMHg3MThiZTYoJzB4YzE2JyldO31fMHgxNDllN2E9XzB4MTIyNjcyWzB4MF07dmFyIF8weDU1NzYwNT1fMHg4MWFiNGRbXzB4MWQ5ZWQ5XTtfMHgxNDllN2FbXzB4NzE4YmU2KCcweGEyNycpXV49XzB4NTU3NjA1W18weDcxOGJlNignMHhhMjcnKV0sXzB4MTQ5ZTdhW18weDcxOGJlNignMHhjMTYnKV1ePV8weDU1NzYwNVtfMHg3MThiZTYoJzB4YzE2JyldO319LCdfZG9GaW5hbGl6ZSc6ZnVuY3Rpb24oKXt2YXIgXzB4NTRhYWY1PV8weDNkMDE0OSxfMHgyN2IzZjQ9dGhpc1snX2RhdGEnXSxfMHg1ODUzNzc9XzB4MjdiM2Y0W18weDU0YWFmNSgnMHg5NzInKV0sXzB4MWU1YzI2PSh0aGlzWydfbkRhdGFCeXRlcyddLDB4OCpfMHgyN2IzZjRbJ3NpZ0J5dGVzJ10pLF8weDNjZGMyZj0weDIwKnRoaXNbXzB4NTRhYWY1KCcweGM2NScpXTtfMHg1ODUzNzdbXzB4MWU1YzI2Pj4+MHg1XXw9MHgxPDwweDE4LV8weDFlNWMyNiUweDIwLF8weDU4NTM3N1soXzB4NGVhOGNkWydjZWlsJ10oKF8weDFlNWMyNisweDEpL18weDNjZGMyZikqXzB4M2NkYzJmPj4+MHg1KS0weDFdfD0weDgwLF8weDI3YjNmNFtfMHg1NGFhZjUoJzB4MmNlJyldPTB4NCpfMHg1ODUzNzdbXzB4NTRhYWY1KCcweDUyMCcpXSx0aGlzW18weDU0YWFmNSgnMHhiNWQnKV0oKTtmb3IodmFyIF8weDQyYTIzZT10aGlzW18weDU0YWFmNSgnMHhiYWInKV0sXzB4MTRmMDQxPXRoaXNbXzB4NTRhYWY1KCcweDI2MycpXVsnb3V0cHV0TGVuZ3RoJ10vMHg4LF8weDM1MGRiMT1fMHgxNGYwNDEvMHg4LF8weGNlYmNjZD1bXSxfMHgyMWNjOWI9MHgwO18weDIxY2M5YjxfMHgzNTBkYjE7XzB4MjFjYzliKyspe3ZhciBfMHg0OTgyZDI9XzB4NDJhMjNlW18weDIxY2M5Yl0sXzB4Mzk5YTRmPV8weDQ5ODJkMltfMHg1NGFhZjUoJzB4YTI3JyldLF8weDg0ZTE0OT1fMHg0OTgyZDJbXzB4NTRhYWY1KCcweGMxNicpXTtfMHgzOTlhNGY9MHhmZjAwZmYmKF8weDM5OWE0Zjw8MHg4fF8weDM5OWE0Zj4+PjB4MTgpfDB4ZmYwMGZmMDAmKF8weDM5OWE0Zjw8MHgxOHxfMHgzOTlhNGY+Pj4weDgpLF8weDg0ZTE0OT0weGZmMDBmZiYoXzB4ODRlMTQ5PDwweDh8XzB4ODRlMTQ5Pj4+MHgxOCl8MHhmZjAwZmYwMCYoXzB4ODRlMTQ5PDwweDE4fF8weDg0ZTE0OT4+PjB4OCksXzB4Y2ViY2NkW18weDU0YWFmNSgnMHg4YjcnKV0oXzB4ODRlMTQ5KSxfMHhjZWJjY2RbXzB4NTRhYWY1KCcweDhiNycpXShfMHgzOTlhNGYpO31yZXR1cm4gbmV3IF8weDQyODU0NVsoXzB4NTRhYWY1KCcweGMxMycpKV0oXzB4Y2ViY2NkLF8weDE0ZjA0MSk7fSwnY2xvbmUnOmZ1bmN0aW9uKCl7dmFyIF8weDI4MDY5Mz1fMHgzZDAxNDk7Zm9yKHZhciBfMHgzZWFkZWY9XzB4MjA0NDIxW18weDI4MDY5MygnMHgzNzknKV1bXzB4MjgwNjkzKCcweDVmZCcpXSh0aGlzKSxfMHgzNWYxNjE9XzB4M2VhZGVmW18weDI4MDY5MygnMHhiYWInKV09dGhpc1tfMHgyODA2OTMoJzB4YmFiJyldW18weDI4MDY5MygnMHhhZGEnKV0oMHgwKSxfMHg0YTYyYTc9MHgwO18weDRhNjJhNzwweDE5O18weDRhNjJhNysrKV8weDM1ZjE2MVtfMHg0YTYyYTddPV8weDM1ZjE2MVtfMHg0YTYyYTddW18weDI4MDY5MygnMHgzNzknKV0oKTtyZXR1cm4gXzB4M2VhZGVmO319KTtfMHgzOWE0YjBbXzB4M2QwMTQ5KCcweDkyMycpXT1fMHgyMDQ0MjFbXzB4M2QwMTQ5KCcweDg0MCcpXShfMHgxNzU4ZWMpLF8weDM5YTRiMFtfMHgzZDAxNDkoJzB4NWE0JyldPV8weDIwNDQyMVsnX2NyZWF0ZUhtYWNIZWxwZXInXShfMHgxNzU4ZWMpO30oTWF0aCksXzB4MjIzYjk1W18weDIyOGZkMCgnMHg5MjMnKV0pO30sMHgxZDI0OmZ1bmN0aW9uKF8weDM4ZDg1NSxfMHgzYzI0OWIsXzB4M2Q4NGI2KXt2YXIgXzB4NTFkNjg0PV8weDE1YTMsXzB4MTY5NmIyLF8weDI3N2QzOSxfMHhjNWUzNzYsXzB4MzIxMWZmLF8weDJhNDk3MixfMHgxNWVkYjMsXzB4MzZjMTExLF8weGFiMzUxYTtfMHgzOGQ4NTVbJ2V4cG9ydHMnXT0oXzB4YWIzNTFhPV8weDNkODRiNigweDIwMzkpLF8weDNkODRiNigweDEzNGEpLF8weDNkODRiNigweDIyKSxfMHgyNzdkMzk9KF8weDE2OTZiMj1fMHhhYjM1MWEpWyd4NjQnXSxfMHhjNWUzNzY9XzB4Mjc3ZDM5W18weDUxZDY4NCgnMHg3YTcnKV0sXzB4MzIxMWZmPV8weDI3N2QzOVtfMHg1MWQ2ODQoJzB4Mzc3JyldLF8weDJhNDk3Mj1fMHgxNjk2YjJbXzB4NTFkNjg0KCcweDRmNicpXSxfMHgxNWVkYjM9XzB4MmE0OTcyW18weDUxZDY4NCgnMHg5YTQnKV0sXzB4MzZjMTExPV8weDJhNDk3MltfMHg1MWQ2ODQoJzB4MzNkJyldPV8weDE1ZWRiM1snZXh0ZW5kJ10oeydfZG9SZXNldCc6ZnVuY3Rpb24oKXt2YXIgXzB4MjNlN2Q0PV8weDUxZDY4NDt0aGlzWydfaGFzaCddPW5ldyBfMHgzMjExZmZbJ2luaXQnXShbbmV3IF8weGM1ZTM3NlsoXzB4MjNlN2Q0KCcweGMxMycpKV0oMHhjYmJiOWQ1ZCwweGMxMDU5ZWQ4KSxuZXcgXzB4YzVlMzc2WyhfMHgyM2U3ZDQoJzB4YzEzJykpXSgweDYyOWEyOTJhLDB4MzY3Y2Q1MDcpLG5ldyBfMHhjNWUzNzZbJ2luaXQnXSgweDkxNTkwMTVhLDB4MzA3MGRkMTcpLG5ldyBfMHhjNWUzNzZbKF8weDIzZTdkNCgnMHhjMTMnKSldKDB4MTUyZmVjZDgsMHhmNzBlNTkzOSksbmV3IF8weGM1ZTM3NlsoXzB4MjNlN2Q0KCcweGMxMycpKV0oMHg2NzMzMjY2NywweGZmYzAwYjMxKSxuZXcgXzB4YzVlMzc2Wydpbml0J10oMHg4ZWI0NGE4NywweDY4NTgxNTExKSxuZXcgXzB4YzVlMzc2WyhfMHgyM2U3ZDQoJzB4YzEzJykpXSgweGRiMGMyZTBkLDB4NjRmOThmYTcpLG5ldyBfMHhjNWUzNzZbKF8weDIzZTdkNCgnMHhjMTMnKSldKDB4NDdiNTQ4MWQsMHhiZWZhNGZhNCldKTt9LCdfZG9GaW5hbGl6ZSc6ZnVuY3Rpb24oKXt2YXIgXzB4MTExYmE1PV8weDUxZDY4NCxfMHgzNDYwOTQ9XzB4MTVlZGIzW18weDExMWJhNSgnMHhkMGEnKV1bXzB4MTExYmE1KCcweDVmZCcpXSh0aGlzKTtyZXR1cm4gXzB4MzQ2MDk0W18weDExMWJhNSgnMHgyY2UnKV0tPTB4MTAsXzB4MzQ2MDk0O319KSxfMHgxNjk2YjJbXzB4NTFkNjg0KCcweDMzZCcpXT1fMHgxNWVkYjNbXzB4NTFkNjg0KCcweDg0MCcpXShfMHgzNmMxMTEpLF8weDE2OTZiMltfMHg1MWQ2ODQoJzB4NjE0JyldPV8weDE1ZWRiM1tfMHg1MWQ2ODQoJzB4MzczJyldKF8weDM2YzExMSksXzB4YWIzNTFhW18weDUxZDY4NCgnMHgzM2QnKV0pO30sMHgyMjpmdW5jdGlvbihfMHgyYTk2YWQsXzB4NjE1MDRmLF8weDIxMGVmNCl7dmFyIF8weDQ1ZGZlNz1fMHgxNWEzLF8weDRmZmRjNztfMHgyYTk2YWRbXzB4NDVkZmU3KCcweDMxNCcpXT0oXzB4NGZmZGM3PV8weDIxMGVmNCgweDIwMzkpLF8weDIxMGVmNCgweDEzNGEpLChmdW5jdGlvbigpe3ZhciBfMHgxMjQxZTk9XzB4NDVkZmU3LF8weDUyMWYwMT1fMHg0ZmZkYzcsXzB4ZThmODM5PV8weDUyMWYwMVtfMHgxMjQxZTkoJzB4NTJmJyldW18weDEyNDFlOSgnMHgyNzgnKV0sXzB4M2E2OGY0PV8weDUyMWYwMVsneDY0J10sXzB4MTMwZWNjPV8weDNhNjhmNFtfMHgxMjQxZTkoJzB4N2E3JyldLF8weDNmZDFjZD1fMHgzYTY4ZjRbXzB4MTI0MWU5KCcweDM3NycpXSxfMHhmYjYxMWI9XzB4NTIxZjAxW18weDEyNDFlOSgnMHg0ZjYnKV07ZnVuY3Rpb24gXzB4MjYxNjE2KCl7dmFyIF8weDgwZDlhOT1fMHgxMjQxZTk7cmV0dXJuIF8weDEzMGVjY1tfMHg4MGQ5YTkoJzB4N2UxJyldW18weDgwZDlhOSgnMHg0NDInKV0oXzB4MTMwZWNjLGFyZ3VtZW50cyk7fXZhciBfMHgxN2Y1YmY9W18weDI2MTYxNigweDQyOGEyZjk4LDB4ZDcyOGFlMjIpLF8weDI2MTYxNigweDcxMzc0NDkxLDB4MjNlZjY1Y2QpLF8weDI2MTYxNigweGI1YzBmYmNmLDB4ZWM0ZDNiMmYpLF8weDI2MTYxNigweGU5YjVkYmE1LDB4ODE4OWRiYmMpLF8weDI2MTYxNigweDM5NTZjMjViLDB4ZjM0OGI1MzgpLF8weDI2MTYxNigweDU5ZjExMWYxLDB4YjYwNWQwMTkpLF8weDI2MTYxNigweDkyM2Y4MmE0LDB4YWYxOTRmOWIpLF8weDI2MTYxNigweGFiMWM1ZWQ1LDB4ZGE2ZDgxMTgpLF8weDI2MTYxNigweGQ4MDdhYTk4LDB4YTMwMzAyNDIpLF8weDI2MTYxNigweDEyODM1YjAxLDB4NDU3MDZmYmUpLF8weDI2MTYxNigweDI0MzE4NWJlLDB4NGVlNGIyOGMpLF8weDI2MTYxNigweDU1MGM3ZGMzLDB4ZDVmZmI0ZTIpLF8weDI2MTYxNigweDcyYmU1ZDc0LDB4ZjI3Yjg5NmYpLF8weDI2MTYxNigweDgwZGViMWZlLDB4M2IxNjk2YjEpLF8weDI2MTYxNigweDliZGMwNmE3LDB4MjVjNzEyMzUpLF8weDI2MTYxNigweGMxOWJmMTc0LDB4Y2Y2OTI2OTQpLF8weDI2MTYxNigweGU0OWI2OWMxLDB4OWVmMTRhZDIpLF8weDI2MTYxNigweGVmYmU0Nzg2LDB4Mzg0ZjI1ZTMpLF8weDI2MTYxNigweGZjMTlkYzYsMHg4YjhjZDViNSksXzB4MjYxNjE2KDB4MjQwY2ExY2MsMHg3N2FjOWM2NSksXzB4MjYxNjE2KDB4MmRlOTJjNmYsMHg1OTJiMDI3NSksXzB4MjYxNjE2KDB4NGE3NDg0YWEsMHg2ZWE2ZTQ4MyksXzB4MjYxNjE2KDB4NWNiMGE5ZGMsMHhiZDQxZmJkNCksXzB4MjYxNjE2KDB4NzZmOTg4ZGEsMHg4MzExNTNiNSksXzB4MjYxNjE2KDB4OTgzZTUxNTIsMHhlZTY2ZGZhYiksXzB4MjYxNjE2KDB4YTgzMWM2NmQsMHgyZGI0MzIxMCksXzB4MjYxNjE2KDB4YjAwMzI3YzgsMHg5OGZiMjEzZiksXzB4MjYxNjE2KDB4YmY1OTdmYzcsMHhiZWVmMGVlNCksXzB4MjYxNjE2KDB4YzZlMDBiZjMsMHgzZGE4OGZjMiksXzB4MjYxNjE2KDB4ZDVhNzkxNDcsMHg5MzBhYTcyNSksXzB4MjYxNjE2KDB4NmNhNjM1MSwweGUwMDM4MjZmKSxfMHgyNjE2MTYoMHgxNDI5Mjk2NywweGEwZTZlNzApLF8weDI2MTYxNigweDI3YjcwYTg1LDB4NDZkMjJmZmMpLF8weDI2MTYxNigweDJlMWIyMTM4LDB4NWMyNmM5MjYpLF8weDI2MTYxNigweDRkMmM2ZGZjLDB4NWFjNDJhZWQpLF8weDI2MTYxNigweDUzMzgwZDEzLDB4OWQ5NWIzZGYpLF8weDI2MTYxNigweDY1MGE3MzU0LDB4OGJhZjYzZGUpLF8weDI2MTYxNigweDc2NmEwYWJiLDB4M2M3N2IyYTgpLF8weDI2MTYxNigweDgxYzJjOTJlLDB4NDdlZGFlZTYpLF8weDI2MTYxNigweDkyNzIyYzg1LDB4MTQ4MjM1M2IpLF8weDI2MTYxNigweGEyYmZlOGExLDB4NGNmMTAzNjQpLF8weDI2MTYxNigweGE4MWE2NjRiLDB4YmM0MjMwMDEpLF8weDI2MTYxNigweGMyNGI4YjcwLDB4ZDBmODk3OTEpLF8weDI2MTYxNigweGM3NmM1MWEzLDB4NjU0YmUzMCksXzB4MjYxNjE2KDB4ZDE5MmU4MTksMHhkNmVmNTIxOCksXzB4MjYxNjE2KDB4ZDY5OTA2MjQsMHg1NTY1YTkxMCksXzB4MjYxNjE2KDB4ZjQwZTM1ODUsMHg1NzcxMjAyYSksXzB4MjYxNjE2KDB4MTA2YWEwNzAsMHgzMmJiZDFiOCksXzB4MjYxNjE2KDB4MTlhNGMxMTYsMHhiOGQyZDBjOCksXzB4MjYxNjE2KDB4MWUzNzZjMDgsMHg1MTQxYWI1MyksXzB4MjYxNjE2KDB4Mjc0ODc3NGMsMHhkZjhlZWI5OSksXzB4MjYxNjE2KDB4MzRiMGJjYjUsMHhlMTliNDhhOCksXzB4MjYxNjE2KDB4MzkxYzBjYjMsMHhjNWM5NWE2MyksXzB4MjYxNjE2KDB4NGVkOGFhNGEsMHhlMzQxOGFjYiksXzB4MjYxNjE2KDB4NWI5Y2NhNGYsMHg3NzYzZTM3MyksXzB4MjYxNjE2KDB4NjgyZTZmZjMsMHhkNmIyYjhhMyksXzB4MjYxNjE2KDB4NzQ4ZjgyZWUsMHg1ZGVmYjJmYyksXzB4MjYxNjE2KDB4NzhhNTYzNmYsMHg0MzE3MmY2MCksXzB4MjYxNjE2KDB4ODRjODc4MTQsMHhhMWYwYWI3MiksXzB4MjYxNjE2KDB4OGNjNzAyMDgsMHgxYTY0MzllYyksXzB4MjYxNjE2KDB4OTBiZWZmZmEsMHgyMzYzMWUyOCksXzB4MjYxNjE2KDB4YTQ1MDZjZWIsMHhkZTgyYmRlOSksXzB4MjYxNjE2KDB4YmVmOWEzZjcsMHhiMmM2NzkxNSksXzB4MjYxNjE2KDB4YzY3MTc4ZjIsMHhlMzcyNTMyYiksXzB4MjYxNjE2KDB4Y2EyNzNlY2UsMHhlYTI2NjE5YyksXzB4MjYxNjE2KDB4ZDE4NmI4YzcsMHgyMWMwYzIwNyksXzB4MjYxNjE2KDB4ZWFkYTdkZDYsMHhjZGUwZWIxZSksXzB4MjYxNjE2KDB4ZjU3ZDRmN2YsMHhlZTZlZDE3OCksXzB4MjYxNjE2KDB4NmYwNjdhYSwweDcyMTc2ZmJhKSxfMHgyNjE2MTYoMHhhNjM3ZGM1LDB4YTJjODk4YTYpLF8weDI2MTYxNigweDExM2Y5ODA0LDB4YmVmOTBkYWUpLF8weDI2MTYxNigweDFiNzEwYjM1LDB4MTMxYzQ3MWIpLF8weDI2MTYxNigweDI4ZGI3N2Y1LDB4MjMwNDdkODQpLF8weDI2MTYxNigweDMyY2FhYjdiLDB4NDBjNzI0OTMpLF8weDI2MTYxNigweDNjOWViZTBhLDB4MTVjOWJlYmMpLF8weDI2MTYxNigweDQzMWQ2N2M0LDB4OWMxMDBkNGMpLF8weDI2MTYxNigweDRjYzVkNGJlLDB4Y2IzZTQyYjYpLF8weDI2MTYxNigweDU5N2YyOTljLDB4ZmM2NTdlMmEpLF8weDI2MTYxNigweDVmY2I2ZmFiLDB4M2FkNmZhZWMpLF8weDI2MTYxNigweDZjNDQxOThjLDB4NGE0NzU4MTcpXSxfMHg1ZTY2NDc9W107IShmdW5jdGlvbigpe2Zvcih2YXIgXzB4N2MyMWUyPTB4MDtfMHg3YzIxZTI8MHg1MDtfMHg3YzIxZTIrKylfMHg1ZTY2NDdbXzB4N2MyMWUyXT1fMHgyNjE2MTYoKTt9KCkpO3ZhciBfMHgyZDJjMWQ9XzB4ZmI2MTFiWydTSEE1MTInXT1fMHhlOGY4MzlbXzB4MTI0MWU5KCcweDdlOScpXSh7J19kb1Jlc2V0JzpmdW5jdGlvbigpe3ZhciBfMHgzZmI1YzI9XzB4MTI0MWU5O3RoaXNbXzB4M2ZiNWMyKCcweDg4OCcpXT1uZXcgXzB4M2ZkMWNkWyhfMHgzZmI1YzIoJzB4YzEzJykpXShbbmV3IF8weDEzMGVjY1soXzB4M2ZiNWMyKCcweGMxMycpKV0oMHg2YTA5ZTY2NywweGYzYmNjOTA4KSxuZXcgXzB4MTMwZWNjWyhfMHgzZmI1YzIoJzB4YzEzJykpXSgweGJiNjdhZTg1LDB4ODRjYWE3M2IpLG5ldyBfMHgxMzBlY2NbKF8weDNmYjVjMignMHhjMTMnKSldKDB4M2M2ZWYzNzIsMHhmZTk0ZjgyYiksbmV3IF8weDEzMGVjY1soXzB4M2ZiNWMyKCcweGMxMycpKV0oMHhhNTRmZjUzYSwweDVmMWQzNmYxKSxuZXcgXzB4MTMwZWNjWyhfMHgzZmI1YzIoJzB4YzEzJykpXSgweDUxMGU1MjdmLDB4YWRlNjgyZDEpLG5ldyBfMHgxMzBlY2NbKF8weDNmYjVjMignMHhjMTMnKSldKDB4OWIwNTY4OGMsMHgyYjNlNmMxZiksbmV3IF8weDEzMGVjY1soXzB4M2ZiNWMyKCcweGMxMycpKV0oMHgxZjgzZDlhYiwweGZiNDFiZDZiKSxuZXcgXzB4MTMwZWNjWydpbml0J10oMHg1YmUwY2QxOSwweDEzN2UyMTc5KV0pO30sJ19kb1Byb2Nlc3NCbG9jayc6ZnVuY3Rpb24oXzB4NTM5OTFhLF8weDU1MzU3ZCl7dmFyIF8weGMzMzM5NT1fMHgxMjQxZTk7Zm9yKHZhciBfMHgxODI3MzA9dGhpc1tfMHhjMzMzOTUoJzB4ODg4JyldW18weGMzMzM5NSgnMHg5NzInKV0sXzB4M2JjOWQ1PV8weDE4MjczMFsweDBdLF8weDNhNTRkOT1fMHgxODI3MzBbMHgxXSxfMHgxY2JhYjg9XzB4MTgyNzMwWzB4Ml0sXzB4MmY0Yjc4PV8weDE4MjczMFsweDNdLF8weDM3ZTY3Nj1fMHgxODI3MzBbMHg0XSxfMHg4MDc4YzU9XzB4MTgyNzMwWzB4NV0sXzB4MTViN2RkPV8weDE4MjczMFsweDZdLF8weDJmNzBkZT1fMHgxODI3MzBbMHg3XSxfMHgxOWUwZjg9XzB4M2JjOWQ1W18weGMzMzM5NSgnMHhhMjcnKV0sXzB4MjcyZDgwPV8weDNiYzlkNVtfMHhjMzMzOTUoJzB4YzE2JyldLF8weDI1YjJkOT1fMHgzYTU0ZDlbJ2hpZ2gnXSxfMHg0N2Q5OTc9XzB4M2E1NGQ5W18weGMzMzM5NSgnMHhjMTYnKV0sXzB4NGRhNGVhPV8weDFjYmFiOFsnaGlnaCddLF8weDI4ODE2MD1fMHgxY2JhYjhbXzB4YzMzMzk1KCcweGMxNicpXSxfMHgzZjgwMjc9XzB4MmY0Yjc4W18weGMzMzM5NSgnMHhhMjcnKV0sXzB4MzY5YmY3PV8weDJmNGI3OFtfMHhjMzMzOTUoJzB4YzE2JyldLF8weDViYWYyMz1fMHgzN2U2NzZbXzB4YzMzMzk1KCcweGEyNycpXSxfMHgzZTk1NTY9XzB4MzdlNjc2Wydsb3cnXSxfMHg1Y2EzNzU9XzB4ODA3OGM1W18weGMzMzM5NSgnMHhhMjcnKV0sXzB4NGNhYmEwPV8weDgwNzhjNVsnbG93J10sXzB4MzNkNDA1PV8weDE1YjdkZFtfMHhjMzMzOTUoJzB4YTI3JyldLF8weDFjZGExMD1fMHgxNWI3ZGRbJ2xvdyddLF8weDJmYzkwMT1fMHgyZjcwZGVbXzB4YzMzMzk1KCcweGEyNycpXSxfMHgzMzM2NzU9XzB4MmY3MGRlW18weGMzMzM5NSgnMHhjMTYnKV0sXzB4MWI4MjgxPV8weDE5ZTBmOCxfMHg0ZTJkYTE9XzB4MjcyZDgwLF8weDM3MDY4ND1fMHgyNWIyZDksXzB4MjJjNThmPV8weDQ3ZDk5NyxfMHg0YzNmZTY9XzB4NGRhNGVhLF8weDI4YjQ0Mz1fMHgyODgxNjAsXzB4MzA3MGYyPV8weDNmODAyNyxfMHgyZTBjZTY9XzB4MzY5YmY3LF8weDMyYmNjZj1fMHg1YmFmMjMsXzB4M2U2Zjk4PV8weDNlOTU1NixfMHgyZWQxYTc9XzB4NWNhMzc1LF8weDM1NzZmMD1fMHg0Y2FiYTAsXzB4MTA0NWY1PV8weDMzZDQwNSxfMHgyYjIwYzg9XzB4MWNkYTEwLF8weDExYTVlYT1fMHgyZmM5MDEsXzB4NDA5NWVmPV8weDMzMzY3NSxfMHhmOWU5MjU9MHgwO18weGY5ZTkyNTwweDUwO18weGY5ZTkyNSsrKXt2YXIgXzB4MjU0OWJkPV8weDVlNjY0N1tfMHhmOWU5MjVdO2lmKF8weGY5ZTkyNTwweDEwKXZhciBfMHgxNzg0ZmM9XzB4MjU0OWJkW18weGMzMzM5NSgnMHhhMjcnKV09MHgwfF8weDUzOTkxYVtfMHg1NTM1N2QrMHgyKl8weGY5ZTkyNV0sXzB4NDg0NjE4PV8weDI1NDliZFtfMHhjMzMzOTUoJzB4YzE2JyldPTB4MHxfMHg1Mzk5MWFbXzB4NTUzNTdkKzB4MipfMHhmOWU5MjUrMHgxXTtlbHNle3ZhciBfMHg0ZjFkN2I9XzB4NWU2NjQ3W18weGY5ZTkyNS0weGZdLF8weDRmOWNlMj1fMHg0ZjFkN2JbJ2hpZ2gnXSxfMHg2Nzc5Yjk9XzB4NGYxZDdiW18weGMzMzM5NSgnMHhjMTYnKV0sXzB4NDUzZWMwPShfMHg0ZjljZTI+Pj4weDF8XzB4Njc3OWI5PDwweDFmKV4oXzB4NGY5Y2UyPj4+MHg4fF8weDY3NzliOTw8MHgxOCleXzB4NGY5Y2UyPj4+MHg3LF8weDE0ZTFlZD0oXzB4Njc3OWI5Pj4+MHgxfF8weDRmOWNlMjw8MHgxZileKF8weDY3NzliOT4+PjB4OHxfMHg0ZjljZTI8PDB4MTgpXihfMHg2Nzc5Yjk+Pj4weDd8XzB4NGY5Y2UyPDwweDE5KSxfMHg0NWY4NjM9XzB4NWU2NjQ3W18weGY5ZTkyNS0weDJdLF8weDIxM2VhNz1fMHg0NWY4NjNbXzB4YzMzMzk1KCcweGEyNycpXSxfMHhiYTRlZTA9XzB4NDVmODYzWydsb3cnXSxfMHgyYjY3OGE9KF8weDIxM2VhNz4+PjB4MTN8XzB4YmE0ZWUwPDwweGQpXihfMHgyMTNlYTc8PDB4M3xfMHhiYTRlZTA+Pj4weDFkKV5fMHgyMTNlYTc+Pj4weDYsXzB4MzdjMDc2PShfMHhiYTRlZTA+Pj4weDEzfF8weDIxM2VhNzw8MHhkKV4oXzB4YmE0ZWUwPDwweDN8XzB4MjEzZWE3Pj4+MHgxZCleKF8weGJhNGVlMD4+PjB4NnxfMHgyMTNlYTc8PDB4MWEpLF8weDRjNGFkNT1fMHg1ZTY2NDdbXzB4ZjllOTI1LTB4N10sXzB4MTQ5NzU5PV8weDRjNGFkNVsnaGlnaCddLF8weDFmOGM4MT1fMHg0YzRhZDVbXzB4YzMzMzk1KCcweGMxNicpXSxfMHgyZjEyZjg9XzB4NWU2NjQ3W18weGY5ZTkyNS0weDEwXSxfMHgyOTQxNDY9XzB4MmYxMmY4W18weGMzMzM5NSgnMHhhMjcnKV0sXzB4MmUyMWE2PV8weDJmMTJmOFtfMHhjMzMzOTUoJzB4YzE2JyldO18weDE3ODRmYz0oXzB4MTc4NGZjPShfMHgxNzg0ZmM9XzB4NDUzZWMwK18weDE0OTc1OSsoKF8weDQ4NDYxOD1fMHgxNGUxZWQrXzB4MWY4YzgxKT4+PjB4MDxfMHgxNGUxZWQ+Pj4weDA/MHgxOjB4MCkpK18weDJiNjc4YSsoKF8weDQ4NDYxOCs9XzB4MzdjMDc2KT4+PjB4MDxfMHgzN2MwNzY+Pj4weDA/MHgxOjB4MCkpK18weDI5NDE0NisoKF8weDQ4NDYxOCs9XzB4MmUyMWE2KT4+PjB4MDxfMHgyZTIxYTY+Pj4weDA/MHgxOjB4MCksXzB4MjU0OWJkW18weGMzMzM5NSgnMHhhMjcnKV09XzB4MTc4NGZjLF8weDI1NDliZFtfMHhjMzMzOTUoJzB4YzE2JyldPV8weDQ4NDYxODt9dmFyIF8weDM2MmUzOCxfMHgyNGViNDA9XzB4MzJiY2NmJl8weDJlZDFhN15+XzB4MzJiY2NmJl8weDEwNDVmNSxfMHhkYmEyMWY9XzB4M2U2Zjk4Jl8weDM1NzZmMF5+XzB4M2U2Zjk4Jl8weDJiMjBjOCxfMHgzMWI3OGY9XzB4MWI4MjgxJl8weDM3MDY4NF5fMHgxYjgyODEmXzB4NGMzZmU2Xl8weDM3MDY4NCZfMHg0YzNmZTYsXzB4M2YwMmM5PV8weDRlMmRhMSZfMHgyMmM1OGZeXzB4NGUyZGExJl8weDI4YjQ0M15fMHgyMmM1OGYmXzB4MjhiNDQzLF8weDFjMDQyMT0oXzB4MWI4MjgxPj4+MHgxY3xfMHg0ZTJkYTE8PDB4NCleKF8weDFiODI4MTw8MHgxZXxfMHg0ZTJkYTE+Pj4weDIpXihfMHgxYjgyODE8PDB4MTl8XzB4NGUyZGExPj4+MHg3KSxfMHgxNTRhMDE9KF8weDRlMmRhMT4+PjB4MWN8XzB4MWI4MjgxPDwweDQpXihfMHg0ZTJkYTE8PDB4MWV8XzB4MWI4MjgxPj4+MHgyKV4oXzB4NGUyZGExPDwweDE5fF8weDFiODI4MT4+PjB4NyksXzB4MjAxNWY1PShfMHgzMmJjY2Y+Pj4weGV8XzB4M2U2Zjk4PDwweDEyKV4oXzB4MzJiY2NmPj4+MHgxMnxfMHgzZTZmOTg8PDB4ZSleKF8weDMyYmNjZjw8MHgxN3xfMHgzZTZmOTg+Pj4weDkpLF8weDNlYjUxNj0oXzB4M2U2Zjk4Pj4+MHhlfF8weDMyYmNjZjw8MHgxMileKF8weDNlNmY5OD4+PjB4MTJ8XzB4MzJiY2NmPDwweGUpXihfMHgzZTZmOTg8PDB4MTd8XzB4MzJiY2NmPj4+MHg5KSxfMHgyYzAzODk9XzB4MTdmNWJmW18weGY5ZTkyNV0sXzB4YTg0NTY0PV8weDJjMDM4OVtfMHhjMzMzOTUoJzB4YTI3JyldLF8weDUwNDFiOT1fMHgyYzAzODlbXzB4YzMzMzk1KCcweGMxNicpXSxfMHgxNjRkZDU9XzB4MTFhNWVhK18weDIwMTVmNSsoKF8weDM2MmUzOD1fMHg0MDk1ZWYrXzB4M2ViNTE2KT4+PjB4MDxfMHg0MDk1ZWY+Pj4weDA/MHgxOjB4MCksXzB4MzVjOTkxPV8weDE1NGEwMStfMHgzZjAyYzk7XzB4MTFhNWVhPV8weDEwNDVmNSxfMHg0MDk1ZWY9XzB4MmIyMGM4LF8weDEwNDVmNT1fMHgyZWQxYTcsXzB4MmIyMGM4PV8weDM1NzZmMCxfMHgyZWQxYTc9XzB4MzJiY2NmLF8weDM1NzZmMD1fMHgzZTZmOTgsXzB4MzJiY2NmPV8weDMwNzBmMisoXzB4MTY0ZGQ1PShfMHgxNjRkZDU9KF8weDE2NGRkNT1fMHgxNjRkZDUrXzB4MjRlYjQwKygoXzB4MzYyZTM4Kz1fMHhkYmEyMWYpPj4+MHgwPF8weGRiYTIxZj4+PjB4MD8weDE6MHgwKSkrXzB4YTg0NTY0KygoXzB4MzYyZTM4Kz1fMHg1MDQxYjkpPj4+MHgwPF8weDUwNDFiOT4+PjB4MD8weDE6MHgwKSkrXzB4MTc4NGZjKygoXzB4MzYyZTM4Kz1fMHg0ODQ2MTgpPj4+MHgwPF8weDQ4NDYxOD4+PjB4MD8weDE6MHgwKSkrKChfMHgzZTZmOTg9XzB4MmUwY2U2K18weDM2MmUzOHwweDApPj4+MHgwPF8weDJlMGNlNj4+PjB4MD8weDE6MHgwKXwweDAsXzB4MzA3MGYyPV8weDRjM2ZlNixfMHgyZTBjZTY9XzB4MjhiNDQzLF8weDRjM2ZlNj1fMHgzNzA2ODQsXzB4MjhiNDQzPV8weDIyYzU4ZixfMHgzNzA2ODQ9XzB4MWI4MjgxLF8weDIyYzU4Zj1fMHg0ZTJkYTEsXzB4MWI4MjgxPV8weDE2NGRkNSsoXzB4MWMwNDIxK18weDMxYjc4ZisoXzB4MzVjOTkxPj4+MHgwPF8weDE1NGEwMT4+PjB4MD8weDE6MHgwKSkrKChfMHg0ZTJkYTE9XzB4MzYyZTM4K18weDM1Yzk5MXwweDApPj4+MHgwPF8weDM2MmUzOD4+PjB4MD8weDE6MHgwKXwweDA7fV8weDI3MmQ4MD1fMHgzYmM5ZDVbXzB4YzMzMzk1KCcweGMxNicpXT1fMHgyNzJkODArXzB4NGUyZGExLF8weDNiYzlkNVtfMHhjMzMzOTUoJzB4YTI3JyldPV8weDE5ZTBmOCtfMHgxYjgyODErKF8weDI3MmQ4MD4+PjB4MDxfMHg0ZTJkYTE+Pj4weDA/MHgxOjB4MCksXzB4NDdkOTk3PV8weDNhNTRkOVtfMHhjMzMzOTUoJzB4YzE2JyldPV8weDQ3ZDk5NytfMHgyMmM1OGYsXzB4M2E1NGQ5WydoaWdoJ109XzB4MjViMmQ5K18weDM3MDY4NCsoXzB4NDdkOTk3Pj4+MHgwPF8weDIyYzU4Zj4+PjB4MD8weDE6MHgwKSxfMHgyODgxNjA9XzB4MWNiYWI4W18weGMzMzM5NSgnMHhjMTYnKV09XzB4Mjg4MTYwK18weDI4YjQ0MyxfMHgxY2JhYjhbXzB4YzMzMzk1KCcweGEyNycpXT1fMHg0ZGE0ZWErXzB4NGMzZmU2KyhfMHgyODgxNjA+Pj4weDA8XzB4MjhiNDQzPj4+MHgwPzB4MToweDApLF8weDM2OWJmNz1fMHgyZjRiNzhbXzB4YzMzMzk1KCcweGMxNicpXT1fMHgzNjliZjcrXzB4MmUwY2U2LF8weDJmNGI3OFtfMHhjMzMzOTUoJzB4YTI3JyldPV8weDNmODAyNytfMHgzMDcwZjIrKF8weDM2OWJmNz4+PjB4MDxfMHgyZTBjZTY+Pj4weDA/MHgxOjB4MCksXzB4M2U5NTU2PV8weDM3ZTY3NltfMHhjMzMzOTUoJzB4YzE2JyldPV8weDNlOTU1NitfMHgzZTZmOTgsXzB4MzdlNjc2W18weGMzMzM5NSgnMHhhMjcnKV09XzB4NWJhZjIzK18weDMyYmNjZisoXzB4M2U5NTU2Pj4+MHgwPF8weDNlNmY5OD4+PjB4MD8weDE6MHgwKSxfMHg0Y2FiYTA9XzB4ODA3OGM1Wydsb3cnXT1fMHg0Y2FiYTArXzB4MzU3NmYwLF8weDgwNzhjNVsnaGlnaCddPV8weDVjYTM3NStfMHgyZWQxYTcrKF8weDRjYWJhMD4+PjB4MDxfMHgzNTc2ZjA+Pj4weDA/MHgxOjB4MCksXzB4MWNkYTEwPV8weDE1YjdkZFtfMHhjMzMzOTUoJzB4YzE2JyldPV8weDFjZGExMCtfMHgyYjIwYzgsXzB4MTViN2RkW18weGMzMzM5NSgnMHhhMjcnKV09XzB4MzNkNDA1K18weDEwNDVmNSsoXzB4MWNkYTEwPj4+MHgwPF8weDJiMjBjOD4+PjB4MD8weDE6MHgwKSxfMHgzMzM2NzU9XzB4MmY3MGRlW18weGMzMzM5NSgnMHhjMTYnKV09XzB4MzMzNjc1K18weDQwOTVlZixfMHgyZjcwZGVbXzB4YzMzMzk1KCcweGEyNycpXT1fMHgyZmM5MDErXzB4MTFhNWVhKyhfMHgzMzM2NzU+Pj4weDA8XzB4NDA5NWVmPj4+MHgwPzB4MToweDApO30sJ19kb0ZpbmFsaXplJzpmdW5jdGlvbigpe3ZhciBfMHg0MzBkMGY9XzB4MTI0MWU5LF8weDQ4ZDI4OD10aGlzW18weDQzMGQwZignMHhhNTknKV0sXzB4MjEwNzUyPV8weDQ4ZDI4OFtfMHg0MzBkMGYoJzB4OTcyJyldLF8weDJkMTg0Nz0weDgqdGhpc1snX25EYXRhQnl0ZXMnXSxfMHgxMTZlN2M9MHg4Kl8weDQ4ZDI4OFtfMHg0MzBkMGYoJzB4MmNlJyldO3JldHVybiBfMHgyMTA3NTJbXzB4MTE2ZTdjPj4+MHg1XXw9MHg4MDw8MHgxOC1fMHgxMTZlN2MlMHgyMCxfMHgyMTA3NTJbMHgxZSsoXzB4MTE2ZTdjKzB4ODA+Pj4weGE8PDB4NSldPU1hdGhbXzB4NDMwZDBmKCcweGJiZScpXShfMHgyZDE4NDcvMHgxMDAwMDAwMDApLF8weDIxMDc1MlsweDFmKyhfMHgxMTZlN2MrMHg4MD4+PjB4YTw8MHg1KV09XzB4MmQxODQ3LF8weDQ4ZDI4OFtfMHg0MzBkMGYoJzB4MmNlJyldPTB4NCpfMHgyMTA3NTJbXzB4NDMwZDBmKCcweDUyMCcpXSx0aGlzW18weDQzMGQwZignMHhiNWQnKV0oKSx0aGlzW18weDQzMGQwZignMHg4ODgnKV1bXzB4NDMwZDBmKCcweGJlZicpXSgpO30sJ2Nsb25lJzpmdW5jdGlvbigpe3ZhciBfMHg0Yjk1NGQ9XzB4MTI0MWU5LF8weDU0MzJlMT1fMHhlOGY4MzlbJ2Nsb25lJ11bJ2NhbGwnXSh0aGlzKTtyZXR1cm4gXzB4NTQzMmUxWydfaGFzaCddPXRoaXNbXzB4NGI5NTRkKCcweDg4OCcpXVtfMHg0Yjk1NGQoJzB4Mzc5JyldKCksXzB4NTQzMmUxO30sJ2Jsb2NrU2l6ZSc6MHgyMH0pO18weDUyMWYwMVsnU0hBNTEyJ109XzB4ZThmODM5W18weDEyNDFlOSgnMHg4NDAnKV0oXzB4MmQyYzFkKSxfMHg1MjFmMDFbXzB4MTI0MWU5KCcweDI5MScpXT1fMHhlOGY4MzlbXzB4MTI0MWU5KCcweDM3MycpXShfMHgyZDJjMWQpO30oKSksXzB4NGZmZGM3W18weDQ1ZGZlNygnMHg5YTQnKV0pO30sMHgxMDlkOmZ1bmN0aW9uKF8weDM3M2QyMCxfMHgyOTczOWUsXzB4MTUxNjg0KXt2YXIgXzB4MjBhNTI1PV8weDE1YTMsXzB4NTgzZGQ1O18weDM3M2QyMFtfMHgyMGE1MjUoJzB4MzE0JyldPShfMHg1ODNkZDU9XzB4MTUxNjg0KDB4MjAzOSksXzB4MTUxNjg0KDB4MjA0ZCksXzB4MTUxNjg0KDB4MjAxNiksXzB4MTUxNjg0KDB4Mzc4KSxfMHgxNTE2ODQoMHgxM2Y1KSwoZnVuY3Rpb24oKXt2YXIgXzB4NTYyNDRiPV8weDIwYTUyNSxfMHg1ZjAxZWQ9XzB4NTgzZGQ1LF8weDNlOGNlZj1fMHg1ZjAxZWRbXzB4NTYyNDRiKCcweDUyZicpXSxfMHgyYTAxYzc9XzB4M2U4Y2VmWydXb3JkQXJyYXknXSxfMHg0MTBmMzU9XzB4M2U4Y2VmW18weDU2MjQ0YignMHg2NzgnKV0sXzB4MmYyOTZjPV8weDVmMDFlZFtfMHg1NjI0NGIoJzB4NGY2JyldLF8weDFiMWViMz1bMHgzOSwweDMxLDB4MjksMHgyMSwweDE5LDB4MTEsMHg5LDB4MSwweDNhLDB4MzIsMHgyYSwweDIyLDB4MWEsMHgxMiwweGEsMHgyLDB4M2IsMHgzMywweDJiLDB4MjMsMHgxYiwweDEzLDB4YiwweDMsMHgzYywweDM0LDB4MmMsMHgyNCwweDNmLDB4MzcsMHgyZiwweDI3LDB4MWYsMHgxNywweGYsMHg3LDB4M2UsMHgzNiwweDJlLDB4MjYsMHgxZSwweDE2LDB4ZSwweDYsMHgzZCwweDM1LDB4MmQsMHgyNSwweDFkLDB4MTUsMHhkLDB4NSwweDFjLDB4MTQsMHhjLDB4NF0sXzB4MmUzZGQyPVsweGUsMHgxMSwweGIsMHgxOCwweDEsMHg1LDB4MywweDFjLDB4ZiwweDYsMHgxNSwweGEsMHgxNywweDEzLDB4YywweDQsMHgxYSwweDgsMHgxMCwweDcsMHgxYiwweDE0LDB4ZCwweDIsMHgyOSwweDM0LDB4MWYsMHgyNSwweDJmLDB4MzcsMHgxZSwweDI4LDB4MzMsMHgyZCwweDIxLDB4MzAsMHgyYywweDMxLDB4MjcsMHgzOCwweDIyLDB4MzUsMHgyZSwweDJhLDB4MzIsMHgyNCwweDFkLDB4MjBdLF8weDQwYWViYj1bMHgxLDB4MiwweDQsMHg2LDB4OCwweGEsMHhjLDB4ZSwweGYsMHgxMSwweDEzLDB4MTUsMHgxNywweDE5LDB4MWIsMHgxY10sXzB4YjgyNjA0PVt7MHgwOjB4ODA4MjAwLDB4MTAwMDAwMDA6MHg4MDAwLDB4MjAwMDAwMDA6MHg4MDgwMDIsMHgzMDAwMDAwMDoweDIsMHg0MDAwMDAwMDoweDIwMCwweDUwMDAwMDAwOjB4ODA4MjAyLDB4NjAwMDAwMDA6MHg4MDAyMDIsMHg3MDAwMDAwMDoweDgwMDAwMCwweDgwMDAwMDAwOjB4MjAyLDB4OTAwMDAwMDA6MHg4MDAyMDAsMHhhMDAwMDAwMDoweDgyMDAsMHhiMDAwMDAwMDoweDgwODAwMCwweGMwMDAwMDAwOjB4ODAwMiwweGQwMDAwMDAwOjB4ODAwMDAyLDB4ZTAwMDAwMDA6MHgwLDB4ZjAwMDAwMDA6MHg4MjAyLDB4ODAwMDAwMDoweDAsMHgxODAwMDAwMDoweDgwODIwMiwweDI4MDAwMDAwOjB4ODIwMiwweDM4MDAwMDAwOjB4ODAwMCwweDQ4MDAwMDAwOjB4ODA4MjAwLDB4NTgwMDAwMDA6MHgyMDAsMHg2ODAwMDAwMDoweDgwODAwMiwweDc4MDAwMDAwOjB4MiwweDg4MDAwMDAwOjB4ODAwMjAwLDB4OTgwMDAwMDA6MHg4MjAwLDB4YTgwMDAwMDA6MHg4MDgwMDAsMHhiODAwMDAwMDoweDgwMDIwMiwweGM4MDAwMDAwOjB4ODAwMDAyLDB4ZDgwMDAwMDA6MHg4MDAyLDB4ZTgwMDAwMDA6MHgyMDIsMHhmODAwMDAwMDoweDgwMDAwMCwweDE6MHg4MDAwLDB4MTAwMDAwMDE6MHgyLDB4MjAwMDAwMDE6MHg4MDgyMDAsMHgzMDAwMDAwMToweDgwMDAwMCwweDQwMDAwMDAxOjB4ODA4MDAyLDB4NTAwMDAwMDE6MHg4MjAwLDB4NjAwMDAwMDE6MHgyMDAsMHg3MDAwMDAwMToweDgwMDIwMiwweDgwMDAwMDAxOjB4ODA4MjAyLDB4OTAwMDAwMDE6MHg4MDgwMDAsMHhhMDAwMDAwMToweDgwMDAwMiwweGIwMDAwMDAxOjB4ODIwMiwweGMwMDAwMDAxOjB4MjAyLDB4ZDAwMDAwMDE6MHg4MDAyMDAsMHhlMDAwMDAwMToweDgwMDIsMHhmMDAwMDAwMToweDAsMHg4MDAwMDAxOjB4ODA4MjAyLDB4MTgwMDAwMDE6MHg4MDgwMDAsMHgyODAwMDAwMToweDgwMDAwMCwweDM4MDAwMDAxOjB4MjAwLDB4NDgwMDAwMDE6MHg4MDAwLDB4NTgwMDAwMDE6MHg4MDAwMDIsMHg2ODAwMDAwMToweDIsMHg3ODAwMDAwMToweDgyMDIsMHg4ODAwMDAwMToweDgwMDIsMHg5ODAwMDAwMToweDgwMDIwMiwweGE4MDAwMDAxOjB4MjAyLDB4YjgwMDAwMDE6MHg4MDgyMDAsMHhjODAwMDAwMToweDgwMDIwMCwweGQ4MDAwMDAxOjB4MCwweGU4MDAwMDAxOjB4ODIwMCwweGY4MDAwMDAxOjB4ODA4MDAyfSx7MHgwOjB4NDAwODQwMTAsMHgxMDAwMDAwOjB4NDAwMCwweDIwMDAwMDA6MHg4MDAwMCwweDMwMDAwMDA6MHg0MDA4MDAxMCwweDQwMDAwMDA6MHg0MDAwMDAxMCwweDUwMDAwMDA6MHg0MDA4NDAwMCwweDYwMDAwMDA6MHg0MDAwNDAwMCwweDcwMDAwMDA6MHgxMCwweDgwMDAwMDA6MHg4NDAwMCwweDkwMDAwMDA6MHg0MDAwNDAxMCwweGEwMDAwMDA6MHg0MDAwMDAwMCwweGIwMDAwMDA6MHg4NDAxMCwweGMwMDAwMDA6MHg4MDAxMCwweGQwMDAwMDA6MHgwLDB4ZTAwMDAwMDoweDQwMTAsMHhmMDAwMDAwOjB4NDAwODAwMDAsMHg4MDAwMDA6MHg0MDAwNDAwMCwweDE4MDAwMDA6MHg4NDAxMCwweDI4MDAwMDA6MHgxMCwweDM4MDAwMDA6MHg0MDAwNDAxMCwweDQ4MDAwMDA6MHg0MDA4NDAxMCwweDU4MDAwMDA6MHg0MDAwMDAwMCwweDY4MDAwMDA6MHg4MDAwMCwweDc4MDAwMDA6MHg0MDA4MDAxMCwweDg4MDAwMDA6MHg4MDAxMCwweDk4MDAwMDA6MHgwLDB4YTgwMDAwMDoweDQwMDAsMHhiODAwMDAwOjB4NDAwODAwMDAsMHhjODAwMDAwOjB4NDAwMDAwMTAsMHhkODAwMDAwOjB4ODQwMDAsMHhlODAwMDAwOjB4NDAwODQwMDAsMHhmODAwMDAwOjB4NDAxMCwweDEwMDAwMDAwOjB4MCwweDExMDAwMDAwOjB4NDAwODAwMTAsMHgxMjAwMDAwMDoweDQwMDA0MDEwLDB4MTMwMDAwMDA6MHg0MDA4NDAwMCwweDE0MDAwMDAwOjB4NDAwODAwMDAsMHgxNTAwMDAwMDoweDEwLDB4MTYwMDAwMDA6MHg4NDAxMCwweDE3MDAwMDAwOjB4NDAwMCwweDE4MDAwMDAwOjB4NDAxMCwweDE5MDAwMDAwOjB4ODAwMDAsMHgxYTAwMDAwMDoweDgwMDEwLDB4MWIwMDAwMDA6MHg0MDAwMDAxMCwweDFjMDAwMDAwOjB4ODQwMDAsMHgxZDAwMDAwMDoweDQwMDA0MDAwLDB4MWUwMDAwMDA6MHg0MDAwMDAwMCwweDFmMDAwMDAwOjB4NDAwODQwMTAsMHgxMDgwMDAwMDoweDg0MDEwLDB4MTE4MDAwMDA6MHg4MDAwMCwweDEyODAwMDAwOjB4NDAwODAwMDAsMHgxMzgwMDAwMDoweDQwMDAsMHgxNDgwMDAwMDoweDQwMDA0MDAwLDB4MTU4MDAwMDA6MHg0MDA4NDAxMCwweDE2ODAwMDAwOjB4MTAsMHgxNzgwMDAwMDoweDQwMDAwMDAwLDB4MTg4MDAwMDA6MHg0MDA4NDAwMCwweDE5ODAwMDAwOjB4NDAwMDAwMTAsMHgxYTgwMDAwMDoweDQwMDA0MDEwLDB4MWI4MDAwMDA6MHg4MDAxMCwweDFjODAwMDAwOjB4MCwweDFkODAwMDAwOjB4NDAxMCwweDFlODAwMDAwOjB4NDAwODAwMTAsMHgxZjgwMDAwMDoweDg0MDAwfSx7MHgwOjB4MTA0LDB4MTAwMDAwOjB4MCwweDIwMDAwMDoweDQwMDAxMDAsMHgzMDAwMDA6MHgxMDEwNCwweDQwMDAwMDoweDEwMDA0LDB4NTAwMDAwOjB4NDAwMDAwNCwweDYwMDAwMDoweDQwMTAxMDQsMHg3MDAwMDA6MHg0MDEwMDAwLDB4ODAwMDAwOjB4NDAwMDAwMCwweDkwMDAwMDoweDQwMTAxMDAsMHhhMDAwMDA6MHgxMDEwMCwweGIwMDAwMDoweDQwMTAwMDQsMHhjMDAwMDA6MHg0MDAwMTA0LDB4ZDAwMDAwOjB4MTAwMDAsMHhlMDAwMDA6MHg0LDB4ZjAwMDAwOjB4MTAwLDB4ODAwMDA6MHg0MDEwMTAwLDB4MTgwMDAwOjB4NDAxMDAwNCwweDI4MDAwMDoweDAsMHgzODAwMDA6MHg0MDAwMTAwLDB4NDgwMDAwOjB4NDAwMDAwNCwweDU4MDAwMDoweDEwMDAwLDB4NjgwMDAwOjB4MTAwMDQsMHg3ODAwMDA6MHgxMDQsMHg4ODAwMDA6MHg0LDB4OTgwMDAwOjB4MTAwLDB4YTgwMDAwOjB4NDAxMDAwMCwweGI4MDAwMDoweDEwMTA0LDB4YzgwMDAwOjB4MTAxMDAsMHhkODAwMDA6MHg0MDAwMTA0LDB4ZTgwMDAwOjB4NDAxMDEwNCwweGY4MDAwMDoweDQwMDAwMDAsMHgxMDAwMDAwOjB4NDAxMDEwMCwweDExMDAwMDA6MHgxMDAwNCwweDEyMDAwMDA6MHgxMDAwMCwweDEzMDAwMDA6MHg0MDAwMTAwLDB4MTQwMDAwMDoweDEwMCwweDE1MDAwMDA6MHg0MDEwMTA0LDB4MTYwMDAwMDoweDQwMDAwMDQsMHgxNzAwMDAwOjB4MCwweDE4MDAwMDA6MHg0MDAwMTA0LDB4MTkwMDAwMDoweDQwMDAwMDAsMHgxYTAwMDAwOjB4NCwweDFiMDAwMDA6MHgxMDEwMCwweDFjMDAwMDA6MHg0MDEwMDAwLDB4MWQwMDAwMDoweDEwNCwweDFlMDAwMDA6MHgxMDEwNCwweDFmMDAwMDA6MHg0MDEwMDA0LDB4MTA4MDAwMDoweDQwMDAwMDAsMHgxMTgwMDAwOjB4MTA0LDB4MTI4MDAwMDoweDQwMTAxMDAsMHgxMzgwMDAwOjB4MCwweDE0ODAwMDA6MHgxMDAwNCwweDE1ODAwMDA6MHg0MDAwMTAwLDB4MTY4MDAwMDoweDEwMCwweDE3ODAwMDA6MHg0MDEwMDA0LDB4MTg4MDAwMDoweDEwMDAwLDB4MTk4MDAwMDoweDQwMTAxMDQsMHgxYTgwMDAwOjB4MTAxMDQsMHgxYjgwMDAwOjB4NDAwMDAwNCwweDFjODAwMDA6MHg0MDAwMTA0LDB4MWQ4MDAwMDoweDQwMTAwMDAsMHgxZTgwMDAwOjB4NCwweDFmODAwMDA6MHgxMDEwMH0sezB4MDoweDgwNDAxMDAwLDB4MTAwMDA6MHg4MDAwMTA0MCwweDIwMDAwOjB4NDAxMDQwLDB4MzAwMDA6MHg4MDQwMDAwMCwweDQwMDAwOjB4MCwweDUwMDAwOjB4NDAxMDAwLDB4NjAwMDA6MHg4MDAwMDA0MCwweDcwMDAwOjB4NDAwMDQwLDB4ODAwMDA6MHg4MDAwMDAwMCwweDkwMDAwOjB4NDAwMDAwLDB4YTAwMDA6MHg0MCwweGIwMDAwOjB4ODAwMDEwMDAsMHhjMDAwMDoweDgwNDAwMDQwLDB4ZDAwMDA6MHgxMDQwLDB4ZTAwMDA6MHgxMDAwLDB4ZjAwMDA6MHg4MDQwMTA0MCwweDgwMDA6MHg4MDAwMTA0MCwweDE4MDAwOjB4NDAsMHgyODAwMDoweDgwNDAwMDQwLDB4MzgwMDA6MHg4MDAwMTAwMCwweDQ4MDAwOjB4NDAxMDAwLDB4NTgwMDA6MHg4MDQwMTA0MCwweDY4MDAwOjB4MCwweDc4MDAwOjB4ODA0MDAwMDAsMHg4ODAwMDoweDEwMDAsMHg5ODAwMDoweDgwNDAxMDAwLDB4YTgwMDA6MHg0MDAwMDAsMHhiODAwMDoweDEwNDAsMHhjODAwMDoweDgwMDAwMDAwLDB4ZDgwMDA6MHg0MDAwNDAsMHhlODAwMDoweDQwMTA0MCwweGY4MDAwOjB4ODAwMDAwNDAsMHgxMDAwMDA6MHg0MDAwNDAsMHgxMTAwMDA6MHg0MDEwMDAsMHgxMjAwMDA6MHg4MDAwMDA0MCwweDEzMDAwMDoweDAsMHgxNDAwMDA6MHgxMDQwLDB4MTUwMDAwOjB4ODA0MDAwNDAsMHgxNjAwMDA6MHg4MDQwMTAwMCwweDE3MDAwMDoweDgwMDAxMDQwLDB4MTgwMDAwOjB4ODA0MDEwNDAsMHgxOTAwMDA6MHg4MDAwMDAwMCwweDFhMDAwMDoweDgwNDAwMDAwLDB4MWIwMDAwOjB4NDAxMDQwLDB4MWMwMDAwOjB4ODAwMDEwMDAsMHgxZDAwMDA6MHg0MDAwMDAsMHgxZTAwMDA6MHg0MCwweDFmMDAwMDoweDEwMDAsMHgxMDgwMDA6MHg4MDQwMDAwMCwweDExODAwMDoweDgwNDAxMDQwLDB4MTI4MDAwOjB4MCwweDEzODAwMDoweDQwMTAwMCwweDE0ODAwMDoweDQwMDA0MCwweDE1ODAwMDoweDgwMDAwMDAwLDB4MTY4MDAwOjB4ODAwMDEwNDAsMHgxNzgwMDA6MHg0MCwweDE4ODAwMDoweDgwMDAwMDQwLDB4MTk4MDAwOjB4MTAwMCwweDFhODAwMDoweDgwMDAxMDAwLDB4MWI4MDAwOjB4ODA0MDAwNDAsMHgxYzgwMDA6MHgxMDQwLDB4MWQ4MDAwOjB4ODA0MDEwMDAsMHgxZTgwMDA6MHg0MDAwMDAsMHgxZjgwMDA6MHg0MDEwNDB9LHsweDA6MHg4MCwweDEwMDA6MHgxMDQwMDAwLDB4MjAwMDoweDQwMDAwLDB4MzAwMDoweDIwMDAwMDAwLDB4NDAwMDoweDIwMDQwMDgwLDB4NTAwMDoweDEwMDAwODAsMHg2MDAwOjB4MjEwMDAwODAsMHg3MDAwOjB4NDAwODAsMHg4MDAwOjB4MTAwMDAwMCwweDkwMDA6MHgyMDA0MDAwMCwweGEwMDA6MHgyMDAwMDA4MCwweGIwMDA6MHgyMTA0MDA4MCwweGMwMDA6MHgyMTA0MDAwMCwweGQwMDA6MHgwLDB4ZTAwMDoweDEwNDAwODAsMHhmMDAwOjB4MjEwMDAwMDAsMHg4MDA6MHgxMDQwMDgwLDB4MTgwMDoweDIxMDAwMDgwLDB4MjgwMDoweDgwLDB4MzgwMDoweDEwNDAwMDAsMHg0ODAwOjB4NDAwMDAsMHg1ODAwOjB4MjAwNDAwODAsMHg2ODAwOjB4MjEwNDAwMDAsMHg3ODAwOjB4MjAwMDAwMDAsMHg4ODAwOjB4MjAwNDAwMDAsMHg5ODAwOjB4MCwweGE4MDA6MHgyMTA0MDA4MCwweGI4MDA6MHgxMDAwMDgwLDB4YzgwMDoweDIwMDAwMDgwLDB4ZDgwMDoweDIxMDAwMDAwLDB4ZTgwMDoweDEwMDAwMDAsMHhmODAwOjB4NDAwODAsMHgxMDAwMDoweDQwMDAwLDB4MTEwMDA6MHg4MCwweDEyMDAwOjB4MjAwMDAwMDAsMHgxMzAwMDoweDIxMDAwMDgwLDB4MTQwMDA6MHgxMDAwMDgwLDB4MTUwMDA6MHgyMTA0MDAwMCwweDE2MDAwOjB4MjAwNDAwODAsMHgxNzAwMDoweDEwMDAwMDAsMHgxODAwMDoweDIxMDQwMDgwLDB4MTkwMDA6MHgyMTAwMDAwMCwweDFhMDAwOjB4MTA0MDAwMCwweDFiMDAwOjB4MjAwNDAwMDAsMHgxYzAwMDoweDQwMDgwLDB4MWQwMDA6MHgyMDAwMDA4MCwweDFlMDAwOjB4MCwweDFmMDAwOjB4MTA0MDA4MCwweDEwODAwOjB4MjEwMDAwODAsMHgxMTgwMDoweDEwMDAwMDAsMHgxMjgwMDoweDEwNDAwMDAsMHgxMzgwMDoweDIwMDQwMDgwLDB4MTQ4MDA6MHgyMDAwMDAwMCwweDE1ODAwOjB4MTA0MDA4MCwweDE2ODAwOjB4ODAsMHgxNzgwMDoweDIxMDQwMDAwLDB4MTg4MDA6MHg0MDA4MCwweDE5ODAwOjB4MjEwNDAwODAsMHgxYTgwMDoweDAsMHgxYjgwMDoweDIxMDAwMDAwLDB4MWM4MDA6MHgxMDAwMDgwLDB4MWQ4MDA6MHg0MDAwMCwweDFlODAwOjB4MjAwNDAwMDAsMHgxZjgwMDoweDIwMDAwMDgwfSx7MHgwOjB4MTAwMDAwMDgsMHgxMDA6MHgyMDAwLDB4MjAwOjB4MTAyMDAwMDAsMHgzMDA6MHgxMDIwMjAwOCwweDQwMDoweDEwMDAyMDAwLDB4NTAwOjB4MjAwMDAwLDB4NjAwOjB4MjAwMDA4LDB4NzAwOjB4MTAwMDAwMDAsMHg4MDA6MHgwLDB4OTAwOjB4MTAwMDIwMDgsMHhhMDA6MHgyMDIwMDAsMHhiMDA6MHg4LDB4YzAwOjB4MTAyMDAwMDgsMHhkMDA6MHgyMDIwMDgsMHhlMDA6MHgyMDA4LDB4ZjAwOjB4MTAyMDIwMDAsMHg4MDoweDEwMjAwMDAwLDB4MTgwOjB4MTAyMDIwMDgsMHgyODA6MHg4LDB4MzgwOjB4MjAwMDAwLDB4NDgwOjB4MjAyMDA4LDB4NTgwOjB4MTAwMDAwMDgsMHg2ODA6MHgxMDAwMjAwMCwweDc4MDoweDIwMDgsMHg4ODA6MHgyMDAwMDgsMHg5ODA6MHgyMDAwLDB4YTgwOjB4MTAwMDIwMDgsMHhiODA6MHgxMDIwMDAwOCwweGM4MDoweDAsMHhkODA6MHgxMDIwMjAwMCwweGU4MDoweDIwMjAwMCwweGY4MDoweDEwMDAwMDAwLDB4MTAwMDoweDEwMDAyMDAwLDB4MTEwMDoweDEwMjAwMDA4LDB4MTIwMDoweDEwMjAyMDA4LDB4MTMwMDoweDIwMDgsMHgxNDAwOjB4MjAwMDAwLDB4MTUwMDoweDEwMDAwMDAwLDB4MTYwMDoweDEwMDAwMDA4LDB4MTcwMDoweDIwMjAwMCwweDE4MDA6MHgyMDIwMDgsMHgxOTAwOjB4MCwweDFhMDA6MHg4LDB4MWIwMDoweDEwMjAwMDAwLDB4MWMwMDoweDIwMDAsMHgxZDAwOjB4MTAwMDIwMDgsMHgxZTAwOjB4MTAyMDIwMDAsMHgxZjAwOjB4MjAwMDA4LDB4MTA4MDoweDgsMHgxMTgwOjB4MjAyMDAwLDB4MTI4MDoweDIwMDAwMCwweDEzODA6MHgxMDAwMDAwOCwweDE0ODA6MHgxMDAwMjAwMCwweDE1ODA6MHgyMDA4LDB4MTY4MDoweDEwMjAyMDA4LDB4MTc4MDoweDEwMjAwMDAwLDB4MTg4MDoweDEwMjAyMDAwLDB4MTk4MDoweDEwMjAwMDA4LDB4MWE4MDoweDIwMDAsMHgxYjgwOjB4MjAyMDA4LDB4MWM4MDoweDIwMDAwOCwweDFkODA6MHgwLDB4MWU4MDoweDEwMDAwMDAwLDB4MWY4MDoweDEwMDAyMDA4fSx7MHgwOjB4MTAwMDAwLDB4MTA6MHgyMDAwNDAxLDB4MjA6MHg0MDAsMHgzMDoweDEwMDQwMSwweDQwOjB4MjEwMDQwMSwweDUwOjB4MCwweDYwOjB4MSwweDcwOjB4MjEwMDAwMSwweDgwOjB4MjAwMDQwMCwweDkwOjB4MTAwMDAxLDB4YTA6MHgyMDAwMDAxLDB4YjA6MHgyMTAwNDAwLDB4YzA6MHgyMTAwMDAwLDB4ZDA6MHg0MDEsMHhlMDoweDEwMDQwMCwweGYwOjB4MjAwMDAwMCwweDg6MHgyMTAwMDAxLDB4MTg6MHgwLDB4Mjg6MHgyMDAwNDAxLDB4Mzg6MHgyMTAwNDAwLDB4NDg6MHgxMDAwMDAsMHg1ODoweDIwMDAwMDEsMHg2ODoweDIwMDAwMDAsMHg3ODoweDQwMSwweDg4OjB4MTAwNDAxLDB4OTg6MHgyMDAwNDAwLDB4YTg6MHgyMTAwMDAwLDB4Yjg6MHgxMDAwMDEsMHhjODoweDQwMCwweGQ4OjB4MjEwMDQwMSwweGU4OjB4MSwweGY4OjB4MTAwNDAwLDB4MTAwOjB4MjAwMDAwMCwweDExMDoweDEwMDAwMCwweDEyMDoweDIwMDA0MDEsMHgxMzA6MHgyMTAwMDAxLDB4MTQwOjB4MTAwMDAxLDB4MTUwOjB4MjAwMDQwMCwweDE2MDoweDIxMDA0MDAsMHgxNzA6MHgxMDA0MDEsMHgxODA6MHg0MDEsMHgxOTA6MHgyMTAwNDAxLDB4MWEwOjB4MTAwNDAwLDB4MWIwOjB4MSwweDFjMDoweDAsMHgxZDA6MHgyMTAwMDAwLDB4MWUwOjB4MjAwMDAwMSwweDFmMDoweDQwMCwweDEwODoweDEwMDQwMCwweDExODoweDIwMDA0MDEsMHgxMjg6MHgyMTAwMDAxLDB4MTM4OjB4MSwweDE0ODoweDIwMDAwMDAsMHgxNTg6MHgxMDAwMDAsMHgxNjg6MHg0MDEsMHgxNzg6MHgyMTAwNDAwLDB4MTg4OjB4MjAwMDAwMSwweDE5ODoweDIxMDAwMDAsMHgxYTg6MHgwLDB4MWI4OjB4MjEwMDQwMSwweDFjODoweDEwMDQwMSwweDFkODoweDQwMCwweDFlODoweDIwMDA0MDAsMHgxZjg6MHgxMDAwMDF9LHsweDA6MHg4MDAwODIwLDB4MToweDIwMDAwLDB4MjoweDgwMDAwMDAsMHgzOjB4MjAsMHg0OjB4MjAwMjAsMHg1OjB4ODAyMDgyMCwweDY6MHg4MDIwODAwLDB4NzoweDgwMCwweDg6MHg4MDIwMDAwLDB4OToweDgwMDA4MDAsMHhhOjB4MjA4MDAsMHhiOjB4ODAyMDAyMCwweGM6MHg4MjAsMHhkOjB4MCwweGU6MHg4MDAwMDIwLDB4ZjoweDIwODIwLDB4ODAwMDAwMDA6MHg4MDAsMHg4MDAwMDAwMToweDgwMjA4MjAsMHg4MDAwMDAwMjoweDgwMDA4MjAsMHg4MDAwMDAwMzoweDgwMDAwMDAsMHg4MDAwMDAwNDoweDgwMjAwMDAsMHg4MDAwMDAwNToweDIwODAwLDB4ODAwMDAwMDY6MHgyMDgyMCwweDgwMDAwMDA3OjB4MjAsMHg4MDAwMDAwODoweDgwMDAwMjAsMHg4MDAwMDAwOToweDgyMCwweDgwMDAwMDBhOjB4MjAwMjAsMHg4MDAwMDAwYjoweDgwMjA4MDAsMHg4MDAwMDAwYzoweDAsMHg4MDAwMDAwZDoweDgwMjAwMjAsMHg4MDAwMDAwZToweDgwMDA4MDAsMHg4MDAwMDAwZjoweDIwMDAwLDB4MTA6MHgyMDgyMCwweDExOjB4ODAyMDgwMCwweDEyOjB4MjAsMHgxMzoweDgwMCwweDE0OjB4ODAwMDgwMCwweDE1OjB4ODAwMDAyMCwweDE2OjB4ODAyMDAyMCwweDE3OjB4MjAwMDAsMHgxODoweDAsMHgxOToweDIwMDIwLDB4MWE6MHg4MDIwMDAwLDB4MWI6MHg4MDAwODIwLDB4MWM6MHg4MDIwODIwLDB4MWQ6MHgyMDgwMCwweDFlOjB4ODIwLDB4MWY6MHg4MDAwMDAwLDB4ODAwMDAwMTA6MHgyMDAwMCwweDgwMDAwMDExOjB4ODAwLDB4ODAwMDAwMTI6MHg4MDIwMDIwLDB4ODAwMDAwMTM6MHgyMDgyMCwweDgwMDAwMDE0OjB4MjAsMHg4MDAwMDAxNToweDgwMjAwMDAsMHg4MDAwMDAxNjoweDgwMDAwMDAsMHg4MDAwMDAxNzoweDgwMDA4MjAsMHg4MDAwMDAxODoweDgwMjA4MjAsMHg4MDAwMDAxOToweDgwMDAwMjAsMHg4MDAwMDAxYToweDgwMDA4MDAsMHg4MDAwMDAxYjoweDAsMHg4MDAwMDAxYzoweDIwODAwLDB4ODAwMDAwMWQ6MHg4MjAsMHg4MDAwMDAxZToweDIwMDIwLDB4ODAwMDAwMWY6MHg4MDIwODAwfV0sXzB4MzlmMmUyPVsweGY4MDAwMDAxLDB4MWY4MDAwMDAsMHgxZjgwMDAwLDB4MWY4MDAwLDB4MWY4MDAsMHgxZjgwLDB4MWY4LDB4ODAwMDAwMWZdLF8weDRkYzQyNj1fMHgyZjI5NmNbXzB4NTYyNDRiKCcweGM0OCcpXT1fMHg0MTBmMzVbXzB4NTYyNDRiKCcweDdlOScpXSh7J19kb1Jlc2V0JzpmdW5jdGlvbigpe3ZhciBfMHg0ZmM5Mzg9XzB4NTYyNDRiO2Zvcih2YXIgXzB4NTY1MDc3PXRoaXNbXzB4NGZjOTM4KCcweDdlMicpXVsnd29yZHMnXSxfMHgzNGY0OWM9W10sXzB4MzIyNWQ2PTB4MDtfMHgzMjI1ZDY8MHgzODtfMHgzMjI1ZDYrKyl7dmFyIF8weDRhNThhND1fMHgxYjFlYjNbXzB4MzIyNWQ2XS0weDE7XzB4MzRmNDljW18weDMyMjVkNl09XzB4NTY1MDc3W18weDRhNThhND4+PjB4NV0+Pj4weDFmLV8weDRhNThhNCUweDIwJjB4MTt9Zm9yKHZhciBfMHgzZTgyZmE9dGhpc1tfMHg0ZmM5MzgoJzB4MjljJyldPVtdLF8weDZmNmIyYT0weDA7XzB4NmY2YjJhPDB4MTA7XzB4NmY2YjJhKyspe3ZhciBfMHgzNDBlODE9XzB4M2U4MmZhW18weDZmNmIyYV09W10sXzB4Mzg2YTg3PV8weDQwYWViYltfMHg2ZjZiMmFdO2ZvcihfMHgzMjI1ZDY9MHgwO18weDMyMjVkNjwweDE4O18weDMyMjVkNisrKV8weDM0MGU4MVtfMHgzMjI1ZDYvMHg2fDB4MF18PV8weDM0ZjQ5Y1soXzB4MmUzZGQyW18weDMyMjVkNl0tMHgxK18weDM4NmE4NyklMHgxY108PDB4MWYtXzB4MzIyNWQ2JTB4NixfMHgzNDBlODFbMHg0KyhfMHgzMjI1ZDYvMHg2fDB4MCldfD1fMHgzNGY0OWNbMHgxYysoXzB4MmUzZGQyW18weDMyMjVkNisweDE4XS0weDErXzB4Mzg2YTg3KSUweDFjXTw8MHgxZi1fMHgzMjI1ZDYlMHg2O2ZvcihfMHgzNDBlODFbMHgwXT1fMHgzNDBlODFbMHgwXTw8MHgxfF8weDM0MGU4MVsweDBdPj4+MHgxZixfMHgzMjI1ZDY9MHgxO18weDMyMjVkNjwweDc7XzB4MzIyNWQ2KyspXzB4MzQwZTgxW18weDMyMjVkNl09XzB4MzQwZTgxW18weDMyMjVkNl0+Pj4weDQqKF8weDMyMjVkNi0weDEpKzB4MztfMHgzNDBlODFbMHg3XT1fMHgzNDBlODFbMHg3XTw8MHg1fF8weDM0MGU4MVsweDddPj4+MHgxYjt9dmFyIF8weDFiM2Q4OD10aGlzW18weDRmYzkzOCgnMHhkMDEnKV09W107Zm9yKF8weDMyMjVkNj0weDA7XzB4MzIyNWQ2PDB4MTA7XzB4MzIyNWQ2KyspXzB4MWIzZDg4W18weDMyMjVkNl09XzB4M2U4MmZhWzB4Zi1fMHgzMjI1ZDZdO30sJ2VuY3J5cHRCbG9jayc6ZnVuY3Rpb24oXzB4MWIwMjEwLF8weDE4OWMyYSl7dmFyIF8weDE1YzA0Nz1fMHg1NjI0NGI7dGhpc1snX2RvQ3J5cHRCbG9jayddKF8weDFiMDIxMCxfMHgxODljMmEsdGhpc1tfMHgxNWMwNDcoJzB4MjljJyldKTt9LCdkZWNyeXB0QmxvY2snOmZ1bmN0aW9uKF8weGRkYmU1MixfMHgzZWE1ODQpe3ZhciBfMHgzMzhjZjk9XzB4NTYyNDRiO3RoaXNbXzB4MzM4Y2Y5KCcweGMyMScpXShfMHhkZGJlNTIsXzB4M2VhNTg0LHRoaXNbXzB4MzM4Y2Y5KCcweGQwMScpXSk7fSwnX2RvQ3J5cHRCbG9jayc6ZnVuY3Rpb24oXzB4MzgyYjgyLF8weGVhMDcxOSxfMHgzNjIyYzIpe3ZhciBfMHg1YzRhZTc9XzB4NTYyNDRiO3RoaXNbXzB4NWM0YWU3KCcweDczNicpXT1fMHgzODJiODJbXzB4ZWEwNzE5XSx0aGlzW18weDVjNGFlNygnMHhkMTMnKV09XzB4MzgyYjgyW18weGVhMDcxOSsweDFdLF8weDRkOWE5M1tfMHg1YzRhZTcoJzB4NWZkJyldKHRoaXMsMHg0LDB4ZjBmMGYwZiksXzB4NGQ5YTkzW18weDVjNGFlNygnMHg1ZmQnKV0odGhpcywweDEwLDB4ZmZmZiksXzB4M2FiNDg1W18weDVjNGFlNygnMHg1ZmQnKV0odGhpcywweDIsMHgzMzMzMzMzMyksXzB4M2FiNDg1WydjYWxsJ10odGhpcywweDgsMHhmZjAwZmYpLF8weDRkOWE5M1snY2FsbCddKHRoaXMsMHgxLDB4NTU1NTU1NTUpO2Zvcih2YXIgXzB4ZmE3MjBkPTB4MDtfMHhmYTcyMGQ8MHgxMDtfMHhmYTcyMGQrKyl7Zm9yKHZhciBfMHgxZTllMjM9XzB4MzYyMmMyW18weGZhNzIwZF0sXzB4MTkzMDc0PXRoaXNbXzB4NWM0YWU3KCcweDczNicpXSxfMHgzMDQ2Nzc9dGhpc1tfMHg1YzRhZTcoJzB4ZDEzJyldLF8weDc3NWVmYz0weDAsXzB4NGU5OTgyPTB4MDtfMHg0ZTk5ODI8MHg4O18weDRlOTk4MisrKV8weDc3NWVmY3w9XzB4YjgyNjA0W18weDRlOTk4Ml1bKChfMHgzMDQ2NzdeXzB4MWU5ZTIzW18weDRlOTk4Ml0pJl8weDM5ZjJlMltfMHg0ZTk5ODJdKT4+PjB4MF07dGhpc1tfMHg1YzRhZTcoJzB4NzM2JyldPV8weDMwNDY3Nyx0aGlzWydfckJsb2NrJ109XzB4MTkzMDc0Xl8weDc3NWVmYzt9dmFyIF8weDFhNjJjYT10aGlzW18weDVjNGFlNygnMHg3MzYnKV07dGhpc1tfMHg1YzRhZTcoJzB4NzM2JyldPXRoaXNbJ19yQmxvY2snXSx0aGlzW18weDVjNGFlNygnMHhkMTMnKV09XzB4MWE2MmNhLF8weDRkOWE5M1tfMHg1YzRhZTcoJzB4NWZkJyldKHRoaXMsMHgxLDB4NTU1NTU1NTUpLF8weDNhYjQ4NVtfMHg1YzRhZTcoJzB4NWZkJyldKHRoaXMsMHg4LDB4ZmYwMGZmKSxfMHgzYWI0ODVbXzB4NWM0YWU3KCcweDVmZCcpXSh0aGlzLDB4MiwweDMzMzMzMzMzKSxfMHg0ZDlhOTNbXzB4NWM0YWU3KCcweDVmZCcpXSh0aGlzLDB4MTAsMHhmZmZmKSxfMHg0ZDlhOTNbXzB4NWM0YWU3KCcweDVmZCcpXSh0aGlzLDB4NCwweGYwZjBmMGYpLF8weDM4MmI4MltfMHhlYTA3MTldPXRoaXNbJ19sQmxvY2snXSxfMHgzODJiODJbXzB4ZWEwNzE5KzB4MV09dGhpc1tfMHg1YzRhZTcoJzB4ZDEzJyldO30sJ2tleVNpemUnOjB4MiwnaXZTaXplJzoweDIsJ2Jsb2NrU2l6ZSc6MHgyfSk7ZnVuY3Rpb24gXzB4NGQ5YTkzKF8weDE1MDY3YixfMHgzNmI5NzQpe3ZhciBfMHg1NmUwMDc9XzB4NTYyNDRiLF8weDQyZGY1ZT0odGhpc1tfMHg1NmUwMDcoJzB4NzM2JyldPj4+XzB4MTUwNjdiXnRoaXNbXzB4NTZlMDA3KCcweGQxMycpXSkmXzB4MzZiOTc0O3RoaXNbXzB4NTZlMDA3KCcweGQxMycpXV49XzB4NDJkZjVlLHRoaXNbXzB4NTZlMDA3KCcweDczNicpXV49XzB4NDJkZjVlPDxfMHgxNTA2N2I7fWZ1bmN0aW9uIF8weDNhYjQ4NShfMHgxYzc2M2UsXzB4NTg0ODlmKXt2YXIgXzB4MzhhODIwPV8weDU2MjQ0YixfMHg1YzkwM2Q9KHRoaXNbJ19yQmxvY2snXT4+Pl8weDFjNzYzZV50aGlzW18weDM4YTgyMCgnMHg3MzYnKV0pJl8weDU4NDg5Zjt0aGlzW18weDM4YTgyMCgnMHg3MzYnKV1ePV8weDVjOTAzZCx0aGlzWydfckJsb2NrJ11ePV8weDVjOTAzZDw8XzB4MWM3NjNlO31fMHg1ZjAxZWRbXzB4NTYyNDRiKCcweGM0OCcpXT1fMHg0MTBmMzVbXzB4NTYyNDRiKCcweDg0MCcpXShfMHg0ZGM0MjYpO3ZhciBfMHgyZjU2MGQ9XzB4MmYyOTZjW18weDU2MjQ0YignMHhhYmUnKV09XzB4NDEwZjM1W18weDU2MjQ0YignMHg3ZTknKV0oeydfZG9SZXNldCc6ZnVuY3Rpb24oKXt2YXIgXzB4MTE2OWJmPV8weDU2MjQ0YixfMHgxZDQ2YzM9dGhpc1tfMHgxMTY5YmYoJzB4N2UyJyldW18weDExNjliZignMHg5NzInKV07dGhpc1snX2RlczEnXT1fMHg0ZGM0MjZbXzB4MTE2OWJmKCcweDU2ZicpXShfMHgyYTAxYzdbXzB4MTE2OWJmKCcweDdlMScpXShfMHgxZDQ2YzNbXzB4MTE2OWJmKCcweGFkYScpXSgweDAsMHgyKSkpLHRoaXNbXzB4MTE2OWJmKCcweGEwMCcpXT1fMHg0ZGM0MjZbJ2NyZWF0ZUVuY3J5cHRvciddKF8weDJhMDFjN1tfMHgxMTY5YmYoJzB4N2UxJyldKF8weDFkNDZjM1tfMHgxMTY5YmYoJzB4YWRhJyldKDB4MiwweDQpKSksdGhpc1tfMHgxMTY5YmYoJzB4NTU5JyldPV8weDRkYzQyNltfMHgxMTY5YmYoJzB4NTZmJyldKF8weDJhMDFjN1tfMHgxMTY5YmYoJzB4N2UxJyldKF8weDFkNDZjM1snc2xpY2UnXSgweDQsMHg2KSkpO30sJ2VuY3J5cHRCbG9jayc6ZnVuY3Rpb24oXzB4NGQyM2NlLF8weDVkZDZmYSl7dmFyIF8weDJlODkyND1fMHg1NjI0NGI7dGhpc1snX2RlczEnXVtfMHgyZTg5MjQoJzB4YTk4JyldKF8weDRkMjNjZSxfMHg1ZGQ2ZmEpLHRoaXNbXzB4MmU4OTI0KCcweGEwMCcpXVtfMHgyZTg5MjQoJzB4NTZiJyldKF8weDRkMjNjZSxfMHg1ZGQ2ZmEpLHRoaXNbJ19kZXMzJ11bJ2VuY3J5cHRCbG9jayddKF8weDRkMjNjZSxfMHg1ZGQ2ZmEpO30sJ2RlY3J5cHRCbG9jayc6ZnVuY3Rpb24oXzB4MjZmMTdkLF8weDVhNzIxMyl7dmFyIF8weDJmNDM1ZD1fMHg1NjI0NGI7dGhpc1snX2RlczMnXVtfMHgyZjQzNWQoJzB4NTZiJyldKF8weDI2ZjE3ZCxfMHg1YTcyMTMpLHRoaXNbXzB4MmY0MzVkKCcweGEwMCcpXVtfMHgyZjQzNWQoJzB4YTk4JyldKF8weDI2ZjE3ZCxfMHg1YTcyMTMpLHRoaXNbXzB4MmY0MzVkKCcweDNiMicpXVtfMHgyZjQzNWQoJzB4NTZiJyldKF8weDI2ZjE3ZCxfMHg1YTcyMTMpO30sJ2tleVNpemUnOjB4NiwnaXZTaXplJzoweDIsJ2Jsb2NrU2l6ZSc6MHgyfSk7XzB4NWYwMWVkW18weDU2MjQ0YignMHhhYmUnKV09XzB4NDEwZjM1W18weDU2MjQ0YignMHg4NDAnKV0oXzB4MmY1NjBkKTt9KCkpLF8weDU4M2RkNVtfMHgyMGE1MjUoJzB4YWJlJyldKTt9LDB4MTM0YTpmdW5jdGlvbihfMHg0ZjY3NzUsXzB4Mzc4MjcyLF8weDViY2NjYSl7dmFyIF8weDVjNzE1OT1fMHgxNWEzLF8weDQ4MjE1MixfMHgyZDc1MWYsXzB4NWI1NTIyLF8weGU3MjNjOSxfMHgxZjM4NjIsXzB4MzU4YzY2O18weDRmNjc3NVtfMHg1YzcxNTkoJzB4MzE0JyldPShfMHg0ODIxNTI9XzB4NWJjY2NhKDB4MjAzOSksXzB4NWI1NTIyPShfMHgyZDc1MWY9XzB4NDgyMTUyKVtfMHg1YzcxNTkoJzB4NTJmJyldLF8weGU3MjNjOT1fMHg1YjU1MjJbJ0Jhc2UnXSxfMHgxZjM4NjI9XzB4NWI1NTIyW18weDVjNzE1OSgnMHgzNzcnKV0sKF8weDM1OGM2Nj1fMHgyZDc1MWZbXzB4NWM3MTU5KCcweDlhZCcpXT17fSlbXzB4NWM3MTU5KCcweDdhNycpXT1fMHhlNzIzYzlbXzB4NWM3MTU5KCcweDdlOScpXSh7J2luaXQnOmZ1bmN0aW9uKF8weDNmYmIwNyxfMHgyNjVmMzApe3ZhciBfMHg0YjBjZWI9XzB4NWM3MTU5O3RoaXNbXzB4NGIwY2ViKCcweGEyNycpXT1fMHgzZmJiMDcsdGhpc1tfMHg0YjBjZWIoJzB4YzE2JyldPV8weDI2NWYzMDt9fSksXzB4MzU4YzY2W18weDVjNzE1OSgnMHgzNzcnKV09XzB4ZTcyM2M5W18weDVjNzE1OSgnMHg3ZTknKV0oeydpbml0JzpmdW5jdGlvbihfMHg0NDY1N2MsXzB4MzVmODc0KXt2YXIgXzB4NDY3ZTM2PV8weDVjNzE1OTtfMHg0NDY1N2M9dGhpc1snd29yZHMnXT1fMHg0NDY1N2N8fFtdLHRoaXNbXzB4NDY3ZTM2KCcweDJjZScpXT1udWxsIT1fMHgzNWY4NzQ/XzB4MzVmODc0OjB4OCpfMHg0NDY1N2NbXzB4NDY3ZTM2KCcweDUyMCcpXTt9LCd0b1gzMic6ZnVuY3Rpb24oKXt2YXIgXzB4NjYzZWZhPV8weDVjNzE1OTtmb3IodmFyIF8weDg1ZTBkMD10aGlzW18weDY2M2VmYSgnMHg5NzInKV0sXzB4NDA5MGMyPV8weDg1ZTBkMFsnbGVuZ3RoJ10sXzB4MmRmMzE1PVtdLF8weDFjNjkwMD0weDA7XzB4MWM2OTAwPF8weDQwOTBjMjtfMHgxYzY5MDArKyl7dmFyIF8weDMwZWQ3OT1fMHg4NWUwZDBbXzB4MWM2OTAwXTtfMHgyZGYzMTVbXzB4NjYzZWZhKCcweDhiNycpXShfMHgzMGVkNzlbJ2hpZ2gnXSksXzB4MmRmMzE1WydwdXNoJ10oXzB4MzBlZDc5Wydsb3cnXSk7fXJldHVybiBfMHgxZjM4NjJbXzB4NjYzZWZhKCcweDdlMScpXShfMHgyZGYzMTUsdGhpc1tfMHg2NjNlZmEoJzB4MmNlJyldKTt9LCdjbG9uZSc6ZnVuY3Rpb24oKXt2YXIgXzB4MTJlNjg5PV8weDVjNzE1OTtmb3IodmFyIF8weDUwZjE1MT1fMHhlNzIzYzlbJ2Nsb25lJ11bXzB4MTJlNjg5KCcweDVmZCcpXSh0aGlzKSxfMHgyZTQ2ZDU9XzB4NTBmMTUxW18weDEyZTY4OSgnMHg5NzInKV09dGhpc1tfMHgxMmU2ODkoJzB4OTcyJyldW18weDEyZTY4OSgnMHhhZGEnKV0oMHgwKSxfMHgxYTI5ZDA9XzB4MmU0NmQ1WydsZW5ndGgnXSxfMHg0NjUxZmM9MHgwO18weDQ2NTFmYzxfMHgxYTI5ZDA7XzB4NDY1MWZjKyspXzB4MmU0NmQ1W18weDQ2NTFmY109XzB4MmU0NmQ1W18weDQ2NTFmY11bXzB4MTJlNjg5KCcweDM3OScpXSgpO3JldHVybiBfMHg1MGYxNTE7fX0pLF8weDQ4MjE1Mik7fSwweDFkZDg6KF8weDNjMTUxZixfMHg0MjA1Y2IsXzB4Mzc5NzExKT0+eyd1c2Ugc3RyaWN0Jzt2YXIgXzB4NDE0YmRmPV8weDE1YTM7XzB4Mzc5NzExWydyJ10oXzB4NDIwNWNiKSxfMHgzNzk3MTFbJ2QnXShfMHg0MjA1Y2IseydCYXNlQ29udHJhY3QnOigpPT5fMHgyZGE0ZmUsJ0JpZ051bWJlcic6KCk9Pl8weDIzNzg1Y1snTyQnXSwnQ29udHJhY3QnOigpPT5fMHgzMzBjNzEsJ0NvbnRyYWN0RmFjdG9yeSc6KCk9Pl8weDM0MWE1YywnRml4ZWROdW1iZXInOigpPT5fMHgxNmE0NzhbJ3hzJ10sJ1NpZ25lcic6KCk9Pl8weDRlZGZkOVsnRSddLCdWb2lkU2lnbmVyJzooKT0+XzB4NGVkZmQ5WydiJ10sJ1dhbGxldCc6KCk9Pl8weDVkZjZmYVtfMHg0MTRiZGYoJzB4OTNlJyldLCdXb3JkbGlzdCc6KCk9Pl8weDRiMTljN1snRCddLCdjb25zdGFudHMnOigpPT5fMHgyOGQ0ODcsJ2Vycm9ycyc6KCk9Pl8weDM4ZDIyZVtfMHg0MTRiZGYoJzB4YTkyJyldLCdldGhlcnMnOigpPT5fMHgxMzg5ZmEsJ2dldERlZmF1bHRQcm92aWRlcic6KCk9Pl8weDNhYWM3MywnbG9nZ2VyJzooKT0+XzB4NGM0N2U5LCdwcm92aWRlcnMnOigpPT5fMHgzMDE4YTAsJ3V0aWxzJzooKT0+XzB4MjQ2Nzc5LCd2ZXJzaW9uJzooKT0+XzB4MmYxYjRkLCd3b3JkbGlzdHMnOigpPT5fMHg0MzFmOWJbJ0UnXX0pO3ZhciBfMHgyOGQ0ODc9e307XzB4Mzc5NzExWydyJ10oXzB4MjhkNDg3KSxfMHgzNzk3MTFbJ2QnXShfMHgyOGQ0ODcseydBZGRyZXNzWmVybyc6KCk9Pl8weDE5NDQ2YlsnZCddLCdFdGhlclN5bWJvbCc6KCk9Pl8weDU1Zjk5MCwnSGFzaFplcm8nOigpPT5fMHg0YjVhY2JbJ1InXSwnTWF4SW50MjU2JzooKT0+XzB4MjA1MGVkWydQUyddLCdNYXhVaW50MjU2JzooKT0+XzB4MjA1MGVkWydCeiddLCdNaW5JbnQyNTYnOigpPT5fMHgyMDUwZWRbJyRCJ10sJ05lZ2F0aXZlT25lJzooKT0+XzB4MjA1MGVkWyd0TCddLCdPbmUnOigpPT5fMHgyMDUwZWRbJ2ZoJ10sJ1R3byc6KCk9Pl8weDIwNTBlZFsnUHknXSwnV2VpUGVyRXRoZXInOigpPT5fMHgyMDUwZWRbJ0NlJ10sJ1plcm8nOigpPT5fMHgyMDUwZWRbJ19ZJ119KTt2YXIgXzB4MzAxOGEwPXt9O18weDM3OTcxMVsnciddKF8weDMwMThhMCksXzB4Mzc5NzExWydkJ10oXzB4MzAxOGEwLHsnQWxjaGVteVByb3ZpZGVyJzooKT0+XzB4MjM3MjJiLCdBbGNoZW15V2ViU29ja2V0UHJvdmlkZXInOigpPT5fMHg0MWNiNjAsJ0Fua3JQcm92aWRlcic6KCk9Pl8weDQ4OTgwNywnQmFzZVByb3ZpZGVyJzooKT0+XzB4Mzg5NjU4WydaayddLCdDbG91ZGZsYXJlUHJvdmlkZXInOigpPT5fMHgyN2Q2NGYsJ0V0aGVyc2NhblByb3ZpZGVyJzooKT0+XzB4MTNlOTBkLCdGYWxsYmFja1Byb3ZpZGVyJzooKT0+XzB4NDA3ODM2LCdGb3JtYXR0ZXInOigpPT5fMHg1ODZiODNbJ01iJ10sJ0luZnVyYVByb3ZpZGVyJzooKT0+XzB4NWQwMmI4LCdJbmZ1cmFXZWJTb2NrZXRQcm92aWRlcic6KCk9Pl8weGQ0ZjJkMywnSXBjUHJvdmlkZXInOigpPT5fMHgyMzg2NWIsJ0pzb25ScGNCYXRjaFByb3ZpZGVyJzooKT0+XzB4MWYyMDdiLCdKc29uUnBjUHJvdmlkZXInOigpPT5fMHg1Yzg5NTEsJ0pzb25ScGNTaWduZXInOigpPT5fMHgzMGZiMDIsJ05vZGVzbWl0aFByb3ZpZGVyJzooKT0+XzB4NTk4YzQ3LCdQb2NrZXRQcm92aWRlcic6KCk9Pl8weDMwNTZlYSwnUHJvdmlkZXInOigpPT5fMHgyNDMzNzVbJ3p0J10sJ1Jlc29sdmVyJzooKT0+XzB4Mzg5NjU4WydIMiddLCdTdGF0aWNKc29uUnBjUHJvdmlkZXInOigpPT5fMHgzYzE5YjMsJ1VybEpzb25ScGNQcm92aWRlcic6KCk9Pl8weGY5NWMyYywnV2ViM1Byb3ZpZGVyJzooKT0+XzB4ZDJhZjMzLCdXZWJTb2NrZXRQcm92aWRlcic6KCk9Pl8weDFiYmNlNCwnZ2V0RGVmYXVsdFByb3ZpZGVyJzooKT0+XzB4M2FhYzczLCdnZXROZXR3b3JrJzooKT0+XzB4NGZmMzhiWydIJ10sJ2lzQ29tbXVuaXR5UmVzb3VyY2FibGUnOigpPT5fMHg1ODZiODNbJ0VkJ10sJ2lzQ29tbXVuaXR5UmVzb3VyY2UnOigpPT5fMHg1ODZiODNbJ0dwJ10sJ3Nob3dUaHJvdHRsZU1lc3NhZ2UnOigpPT5fMHg1ODZiODNbJ3ZoJ119KTt2YXIgXzB4MjQ2Nzc5PXt9O18weDM3OTcxMVsnciddKF8weDI0Njc3OSksXzB4Mzc5NzExWydkJ10oXzB4MjQ2Nzc5LHsnQWJpQ29kZXInOigpPT5fMHg0MDIxNGNbJ1InXSwnQ29uc3RydWN0b3JGcmFnbWVudCc6KCk9Pl8weDE3ZDU4MFsnWGcnXSwnRXJyb3JGcmFnbWVudCc6KCk9Pl8weDE3ZDU4MFsnSUMnXSwnRXZlbnRGcmFnbWVudCc6KCk9Pl8weDE3ZDU4MFsnUVYnXSwnRm9ybWF0VHlwZXMnOigpPT5fMHgxN2Q1ODBbJ3BjJ10sJ0ZyYWdtZW50JzooKT0+XzB4MTdkNTgwWydIWSddLCdGdW5jdGlvbkZyYWdtZW50JzooKT0+XzB4MTdkNTgwWydZVyddLCdIRE5vZGUnOigpPT5fMHgxMWE5YzdbXzB4NDE0YmRmKCcweGFmMicpXSwnSW5kZXhlZCc6KCk9Pl8weDNlYTIyMFsnSGsnXSwnSW50ZXJmYWNlJzooKT0+XzB4M2VhMjIwWyd2VSddLCdMb2dEZXNjcmlwdGlvbic6KCk9Pl8weDNlYTIyMFsnQ0MnXSwnTG9nZ2VyJzooKT0+XzB4MzhkMjJlW18weDQxNGJkZignMHhjZTcnKV0sJ1BhcmFtVHlwZSc6KCk9Pl8weDE3ZDU4MFsnX1InXSwnUkxQJzooKT0+XzB4MjA0ODA1LCdTaWduaW5nS2V5JzooKT0+XzB4M2Y5NjU5W18weDQxNGJkZignMHgyMjMnKV0sJ1N1cHBvcnRlZEFsZ29yaXRobSc6KCk9Pl8weDVhOTg0MVsncCddLCdUcmFuc2FjdGlvbkRlc2NyaXB0aW9uJzooKT0+XzB4M2VhMjIwWyd2ayddLCdUcmFuc2FjdGlvblR5cGVzJzooKT0+XzB4NDZlNzYyW18weDQxNGJkZignMHhhYWInKV0sJ1VuaWNvZGVOb3JtYWxpemF0aW9uRm9ybSc6KCk9Pl8weDQzOTNmNFsnVWonXSwnVXRmOEVycm9yRnVuY3MnOigpPT5fMHg0MzkzZjRbJ3RlJ10sJ1V0ZjhFcnJvclJlYXNvbic6KCk9Pl8weDQzOTNmNFsnVXcnXSwnX1R5cGVkRGF0YUVuY29kZXInOigpPT5fMHhhNmI4YWJbJ0UnXSwnX2ZldGNoRGF0YSc6KCk9Pl8weDRiYTlkMFtfMHg0MTRiZGYoJzB4N2Q2JyldLCdfdG9Fc2NhcGVkVXRmOFN0cmluZyc6KCk9Pl8weDQzOTNmNFsnVSQnXSwnYWNjZXNzTGlzdGlmeSc6KCk9Pl8weDQ2ZTc2MltfMHg0MTRiZGYoJzB4NjBkJyldLCdhcnJheWlmeSc6KCk9Pl8weDE5ZjE0MVtfMHg0MTRiZGYoJzB4ZDA2JyldLCdiYXNlNTgnOigpPT5fMHgyZWYzZDVbXzB4NDE0YmRmKCcweGM5MScpXSwnYmFzZTY0JzooKT0+XzB4NGU2NGJmLCdjaGVja1Byb3BlcnRpZXMnOigpPT5fMHgzZWQ5NzFbJ2NoZWNrUHJvcGVydGllcyddLCdjaGVja1Jlc3VsdEVycm9ycyc6KCk9Pl8weGU3MDExMVsnQlInXSwnY29tbWlmeSc6KCk9Pl8weDVmNWM0MVtfMHg0MTRiZGYoJzB4Mjg5JyldLCdjb21wdXRlQWRkcmVzcyc6KCk9Pl8weDQ2ZTc2MltfMHg0MTRiZGYoJzB4NTgyJyldLCdjb21wdXRlSG1hYyc6KCk9Pl8weDRiNzk5M1snR3knXSwnY29tcHV0ZVB1YmxpY0tleSc6KCk9Pl8weDNmOTY1OVtfMHg0MTRiZGYoJzB4NTJjJyldLCdjb25jYXQnOigpPT5fMHgxOWYxNDFbJ2NvbmNhdCddLCdkZWVwQ29weSc6KCk9Pl8weDNlZDk3MVtfMHg0MTRiZGYoJzB4ODg5JyldLCdkZWZhdWx0QWJpQ29kZXInOigpPT5fMHg0MDIxNGNbJyQnXSwnZGVmYXVsdFBhdGgnOigpPT5fMHgxMWE5YzdbXzB4NDE0YmRmKCcweGFhMicpXSwnZGVmaW5lUmVhZE9ubHknOigpPT5fMHgzZWQ5NzFbXzB4NDE0YmRmKCcweGNlOScpXSwnZG5zRW5jb2RlJzooKT0+XzB4MjJhN2ZjWydLbiddLCdlbnRyb3B5VG9NbmVtb25pYyc6KCk9Pl8weDExYTljN1tfMHg0MTRiZGYoJzB4NDNiJyldLCdmZXRjaEpzb24nOigpPT5fMHg0YmE5ZDBbJ2ZldGNoSnNvbiddLCdmb3JtYXRCeXRlczMyU3RyaW5nJzooKT0+XzB4M2JkM2ZjWydzJ10sJ2Zvcm1hdEV0aGVyJzooKT0+XzB4NWY1YzQxWydmb3JtYXRFdGhlciddLCdmb3JtYXRVbml0cyc6KCk9Pl8weDVmNWM0MVsnZm9ybWF0VW5pdHMnXSwnZ2V0QWNjb3VudFBhdGgnOigpPT5fMHgxMWE5YzdbXzB4NDE0YmRmKCcweDViOCcpXSwnZ2V0QWRkcmVzcyc6KCk9Pl8weDM1ZTdlZVtfMHg0MTRiZGYoJzB4M2RmJyldLCdnZXRDb250cmFjdEFkZHJlc3MnOigpPT5fMHgzNWU3ZWVbXzB4NDE0YmRmKCcweGFkNycpXSwnZ2V0Q3JlYXRlMkFkZHJlc3MnOigpPT5fMHgzNWU3ZWVbXzB4NDE0YmRmKCcweGM3MScpXSwnZ2V0SWNhcEFkZHJlc3MnOigpPT5fMHgzNWU3ZWVbJ2dldEljYXBBZGRyZXNzJ10sJ2dldEpzb25XYWxsZXRBZGRyZXNzJzooKT0+XzB4M2FmMjZiWydSYiddLCdnZXRTdGF0aWMnOigpPT5fMHgzZWQ5NzFbXzB4NDE0YmRmKCcweDRmNScpXSwnaGFzaE1lc3NhZ2UnOigpPT5fMHgxNDFiNWRbJ3InXSwnaGV4Q29uY2F0JzooKT0+XzB4MTlmMTQxW18weDQxNGJkZignMHg3Y2UnKV0sJ2hleERhdGFMZW5ndGgnOigpPT5fMHgxOWYxNDFbJ2hleERhdGFMZW5ndGgnXSwnaGV4RGF0YVNsaWNlJzooKT0+XzB4MTlmMTQxW18weDQxNGJkZignMHg4MTEnKV0sJ2hleFN0cmlwWmVyb3MnOigpPT5fMHgxOWYxNDFbJ2hleFN0cmlwWmVyb3MnXSwnaGV4VmFsdWUnOigpPT5fMHgxOWYxNDFbXzB4NDE0YmRmKCcweDhmNCcpXSwnaGV4WmVyb1BhZCc6KCk9Pl8weDE5ZjE0MVsnaGV4WmVyb1BhZCddLCdoZXhsaWZ5JzooKT0+XzB4MTlmMTQxWydoZXhsaWZ5J10sJ2lkJzooKT0+XzB4MTBlNGQ1WydpZCddLCdpc0FkZHJlc3MnOigpPT5fMHgzNWU3ZWVbXzB4NDE0YmRmKCcweDhmYycpXSwnaXNCeXRlcyc6KCk9Pl8weDE5ZjE0MVtfMHg0MTRiZGYoJzB4MzllJyldLCdpc0J5dGVzTGlrZSc6KCk9Pl8weDE5ZjE0MVtfMHg0MTRiZGYoJzB4ODZlJyldLCdpc0hleFN0cmluZyc6KCk9Pl8weDE5ZjE0MVtfMHg0MTRiZGYoJzB4YjYxJyldLCdpc1ZhbGlkTW5lbW9uaWMnOigpPT5fMHgxMWE5YzdbXzB4NDE0YmRmKCcweGNiYycpXSwnaXNWYWxpZE5hbWUnOigpPT5fMHgyMmE3ZmNbJ3IxJ10sJ2pvaW5TaWduYXR1cmUnOigpPT5fMHgxOWYxNDFbJ2pvaW5TaWduYXR1cmUnXSwna2VjY2FrMjU2JzooKT0+XzB4MmE2NmJkWydrZWNjYWsyNTYnXSwnbW5lbW9uaWNUb0VudHJvcHknOigpPT5fMHgxMWE5YzdbJ21uZW1vbmljVG9FbnRyb3B5J10sJ21uZW1vbmljVG9TZWVkJzooKT0+XzB4MTFhOWM3W18weDQxNGJkZignMHg0NmInKV0sJ25hbWVoYXNoJzooKT0+XzB4MjJhN2ZjWydWTSddLCduYW1lcHJlcCc6KCk9Pl8weDI1NjkyNVsnTGwnXSwncGFyc2VCeXRlczMyU3RyaW5nJzooKT0+XzB4M2JkM2ZjWydGJ10sJ3BhcnNlRXRoZXInOigpPT5fMHg1ZjVjNDFbXzB4NDE0YmRmKCcweDllZicpXSwncGFyc2VUcmFuc2FjdGlvbic6KCk9Pl8weDQ2ZTc2MlsncGFyc2UnXSwncGFyc2VVbml0cyc6KCk9Pl8weDVmNWM0MVsncGFyc2VVbml0cyddLCdwb2xsJzooKT0+XzB4NGJhOWQwWydwb2xsJ10sJ3JhbmRvbUJ5dGVzJzooKT0+XzB4NTc4OWE3WydPJ10sJ3JlY292ZXJBZGRyZXNzJzooKT0+XzB4NDZlNzYyWydyZWNvdmVyQWRkcmVzcyddLCdyZWNvdmVyUHVibGljS2V5JzooKT0+XzB4M2Y5NjU5WydyZWNvdmVyUHVibGljS2V5J10sJ3Jlc29sdmVQcm9wZXJ0aWVzJzooKT0+XzB4M2VkOTcxW18weDQxNGJkZignMHgyNTYnKV0sJ3JpcGVtZDE2MCc6KCk9Pl8weDRiNzk5M1snYlAnXSwnc2VyaWFsaXplVHJhbnNhY3Rpb24nOigpPT5fMHg0NmU3NjJbXzB4NDE0YmRmKCcweDM5MScpXSwnc2hhMjU2JzooKT0+XzB4NGI3OTkzWydKUSddLCdzaGE1MTInOigpPT5fMHg0Yjc5OTNbJ28nXSwnc2hhbGxvd0NvcHknOigpPT5fMHgzZWQ5NzFbXzB4NDE0YmRmKCcweDhkOScpXSwnc2h1ZmZsZWQnOigpPT5fMHg1MWU1ZTFbJ3knXSwnc29saWRpdHlLZWNjYWsyNTYnOigpPT5fMHg1MjYyMDZbJ2tlY2NhazI1NiddLCdzb2xpZGl0eVBhY2snOigpPT5fMHg1MjYyMDZbJ3BhY2snXSwnc29saWRpdHlTaGEyNTYnOigpPT5fMHg1MjYyMDZbXzB4NDE0YmRmKCcweGI3YicpXSwnc3BsaXRTaWduYXR1cmUnOigpPT5fMHgxOWYxNDFbJ3NwbGl0U2lnbmF0dXJlJ10sJ3N0cmlwWmVyb3MnOigpPT5fMHgxOWYxNDFbJ3N0cmlwWmVyb3MnXSwndG9VdGY4Qnl0ZXMnOigpPT5fMHg0MzkzZjRbJ1kwJ10sJ3RvVXRmOENvZGVQb2ludHMnOigpPT5fMHg0MzkzZjRbJ1hMJ10sJ3RvVXRmOFN0cmluZyc6KCk9Pl8weDQzOTNmNFsnWk4nXSwndmVyaWZ5TWVzc2FnZSc6KCk9Pl8weDVkZjZmYVtfMHg0MTRiZGYoJzB4NjMyJyldLCd2ZXJpZnlUeXBlZERhdGEnOigpPT5fMHg1ZGY2ZmFbXzB4NDE0YmRmKCcweDVlNicpXSwnemVyb1BhZCc6KCk9Pl8weDE5ZjE0MVtfMHg0MTRiZGYoJzB4OThjJyldfSk7dmFyIF8weDEzODlmYT17fTtfMHgzNzk3MTFbJ3InXShfMHgxMzg5ZmEpLF8weDM3OTcxMVsnZCddKF8weDEzODlmYSx7J0Jhc2VDb250cmFjdCc6KCk9Pl8weDJkYTRmZSwnQmlnTnVtYmVyJzooKT0+XzB4MjM3ODVjWydPJCddLCdDb250cmFjdCc6KCk9Pl8weDMzMGM3MSwnQ29udHJhY3RGYWN0b3J5JzooKT0+XzB4MzQxYTVjLCdGaXhlZE51bWJlcic6KCk9Pl8weDE2YTQ3OFsneHMnXSwnU2lnbmVyJzooKT0+XzB4NGVkZmQ5WydFJ10sJ1ZvaWRTaWduZXInOigpPT5fMHg0ZWRmZDlbJ2InXSwnV2FsbGV0JzooKT0+XzB4NWRmNmZhW18weDQxNGJkZignMHg5M2UnKV0sJ1dvcmRsaXN0JzooKT0+XzB4NGIxOWM3WydEJ10sJ2NvbnN0YW50cyc6KCk9Pl8weDI4ZDQ4NywnZXJyb3JzJzooKT0+XzB4MzhkMjJlW18weDQxNGJkZignMHhhOTInKV0sJ2dldERlZmF1bHRQcm92aWRlcic6KCk9Pl8weDNhYWM3MywnbG9nZ2VyJzooKT0+XzB4NGM0N2U5LCdwcm92aWRlcnMnOigpPT5fMHgzMDE4YTAsJ3V0aWxzJzooKT0+XzB4MjQ2Nzc5LCd2ZXJzaW9uJzooKT0+XzB4MmYxYjRkLCd3b3JkbGlzdHMnOigpPT5fMHg0MzFmOWJbJ0UnXX0pO3ZhciBfMHhlNzAxMTE9XzB4Mzc5NzExKDB4NGEwKSxfMHgzZWEyMjA9XzB4Mzc5NzExKDB4MjAwNiksXzB4MjQzMzc1PV8weDM3OTcxMSgweDExMDEpLF8weDRlZGZkOT1fMHgzNzk3MTEoMHgxZmViKSxfMHgzNWU3ZWU9XzB4Mzc5NzExKDB4MTFmMiksXzB4MjM3ODVjPV8weDM3OTcxMSgweGEyMSksXzB4MTlmMTQxPV8weDM3OTcxMSgweGNkNiksXzB4M2VkOTcxPV8weDM3OTcxMSgweGUwMyksXzB4NDZlNzYyPV8weDM3OTcxMSgweDExMTkpLF8weDM4ZDIyZT1fMHgzNzk3MTEoMHgyYzcpLF8weDNkYmQxMz1mdW5jdGlvbihfMHgzZTkxYzUsXzB4MTIxZjYxLF8weDJjYWI3NyxfMHg0MGFkOWUpe3JldHVybiBuZXcoXzB4MmNhYjc3fHwoXzB4MmNhYjc3PVByb21pc2UpKShmdW5jdGlvbihfMHg0OTE1MTQsXzB4MzZlMjFlKXt2YXIgXzB4MWE1MmI4PV8weDE1YTM7ZnVuY3Rpb24gXzB4NDUzNzVkKF8weDRkOTExYSl7dmFyIF8weDJhNWJhOT1fMHgxNWEzO3RyeXtfMHgxNzQ0MzAoXzB4NDBhZDllW18weDJhNWJhOSgnMHg3NDAnKV0oXzB4NGQ5MTFhKSk7fWNhdGNoKF8weDJlNjE1OSl7XzB4MzZlMjFlKF8weDJlNjE1OSk7fX1mdW5jdGlvbiBfMHg0NzJlZTYoXzB4NTg3NDFiKXt0cnl7XzB4MTc0NDMwKF8weDQwYWQ5ZVsndGhyb3cnXShfMHg1ODc0MWIpKTt9Y2F0Y2goXzB4NDU4N2E4KXtfMHgzNmUyMWUoXzB4NDU4N2E4KTt9fWZ1bmN0aW9uIF8weDE3NDQzMChfMHgyNWVkYzkpe3ZhciBfMHgxNWE4NTI9XzB4MTVhMyxfMHg1ZDhiZjQ7XzB4MjVlZGM5W18weDE1YTg1MignMHhjNWMnKV0/XzB4NDkxNTE0KF8weDI1ZWRjOVtfMHgxNWE4NTIoJzB4ODlkJyldKTooXzB4NWQ4YmY0PV8weDI1ZWRjOVsndmFsdWUnXSxfMHg1ZDhiZjQgaW5zdGFuY2VvZiBfMHgyY2FiNzc/XzB4NWQ4YmY0Om5ldyBfMHgyY2FiNzcoZnVuY3Rpb24oXzB4NDUwYjAxKXtfMHg0NTBiMDEoXzB4NWQ4YmY0KTt9KSlbXzB4MTVhODUyKCcweGQzNCcpXShfMHg0NTM3NWQsXzB4NDcyZWU2KTt9XzB4MTc0NDMwKChfMHg0MGFkOWU9XzB4NDBhZDllW18weDFhNTJiOCgnMHg0NDInKV0oXzB4M2U5MWM1LF8weDEyMWY2MXx8W10pKVtfMHgxYTUyYjgoJzB4NzQwJyldKCkpO30pO307Y29uc3QgXzB4MWFmZDE1PW5ldyBfMHgzOGQyMmVbKF8weDQxNGJkZignMHhjZTcnKSldKF8weDQxNGJkZignMHg5NTAnKSksXzB4M2MxYmViPXsnY2hhaW5JZCc6ITB4MCwnZGF0YSc6ITB4MCwnZnJvbSc6ITB4MCwnZ2FzTGltaXQnOiEweDAsJ2dhc1ByaWNlJzohMHgwLCdub25jZSc6ITB4MCwndG8nOiEweDAsJ3ZhbHVlJzohMHgwLCd0eXBlJzohMHgwLCdhY2Nlc3NMaXN0JzohMHgwLCdtYXhGZWVQZXJHYXMnOiEweDAsJ21heFByaW9yaXR5RmVlUGVyR2FzJzohMHgwLCdjdXN0b21EYXRhJzohMHgwLCdjY2lwUmVhZEVuYWJsZWQnOiEweDB9O2Z1bmN0aW9uIF8weDRiY2JlMyhfMHgxOWE3NWMsXzB4MjQ2MjkyKXtyZXR1cm4gXzB4M2RiZDEzKHRoaXMsdm9pZCAweDAsdm9pZCAweDAsZnVuY3Rpb24qKCl7dmFyIF8weDJmNWIxNT1fMHgxNWEzO2NvbnN0IF8weDQyODE4ND15aWVsZCBfMHgyNDYyOTI7XzB4MmY1YjE1KCcweDY1ZicpIT10eXBlb2YgXzB4NDI4MTg0JiZfMHgxYWZkMTVbXzB4MmY1YjE1KCcweDYzNScpXShfMHgyZjViMTUoJzB4MjNiJyksXzB4MmY1YjE1KCcweGJjNycpLF8weDQyODE4NCk7dHJ5e3JldHVybigweDAsXzB4MzVlN2VlW18weDJmNWIxNSgnMHgzZGYnKV0pKF8weDQyODE4NCk7fWNhdGNoKF8weDIwOTk0NCl7fV8weDE5YTc1Y3x8XzB4MWFmZDE1W18weDJmNWIxNSgnMHgxZDAnKV0oXzB4MmY1YjE1KCcweDZkMicpLF8weDM4ZDIyZVtfMHgyZjViMTUoJzB4Y2U3JyldW18weDJmNWIxNSgnMHg5NDknKV1bXzB4MmY1YjE1KCcweDYzMycpXSx7J29wZXJhdGlvbic6J3Jlc29sdmVOYW1lJ30pO2NvbnN0IF8weDE5MDBjYT15aWVsZCBfMHgxOWE3NWNbJ3Jlc29sdmVOYW1lJ10oXzB4NDI4MTg0KTtyZXR1cm4gbnVsbD09XzB4MTkwMGNhJiZfMHgxYWZkMTVbXzB4MmY1YjE1KCcweDYzNScpXShfMHgyZjViMTUoJzB4MzExJyksXzB4MmY1YjE1KCcweGJjNycpLF8weDQyODE4NCksXzB4MTkwMGNhO30pO31mdW5jdGlvbiBfMHgxNTEzNGEoXzB4NDVlNDRlLF8weDE1ZTQyMSxfMHgxM2NjNjYpe3JldHVybiBfMHgzZGJkMTModGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4NGFjOTc2PV8weDE1YTM7cmV0dXJuIEFycmF5W18weDRhYzk3NignMHg4ZjEnKV0oXzB4MTNjYzY2KT95aWVsZCBQcm9taXNlWydhbGwnXShfMHgxM2NjNjZbXzB4NGFjOTc2KCcweDNjOScpXSgoXzB4MjkwNTg4LF8weDQxYjlhZik9Pl8weDE1MTM0YShfMHg0NWU0NGUsQXJyYXlbXzB4NGFjOTc2KCcweDhmMScpXShfMHgxNWU0MjEpP18weDE1ZTQyMVtfMHg0MWI5YWZdOl8weDE1ZTQyMVtfMHgyOTA1ODhbXzB4NGFjOTc2KCcweGJjNycpXV0sXzB4MjkwNTg4KSkpOidhZGRyZXNzJz09PV8weDEzY2M2NlsndHlwZSddP3lpZWxkIF8weDRiY2JlMyhfMHg0NWU0NGUsXzB4MTVlNDIxKTpfMHg0YWM5NzYoJzB4YmNkJyk9PT1fMHgxM2NjNjZbJ3R5cGUnXT95aWVsZCBfMHgxNTEzNGEoXzB4NDVlNDRlLF8weDE1ZTQyMSxfMHgxM2NjNjZbXzB4NGFjOTc2KCcweDY5MScpXSk6XzB4NGFjOTc2KCcweDY2NycpPT09XzB4MTNjYzY2W18weDRhYzk3NignMHhhMGYnKV0/QXJyYXlbXzB4NGFjOTc2KCcweDhmMScpXShfMHgxNWU0MjEpP3lpZWxkIFByb21pc2VbXzB4NGFjOTc2KCcweDQwNScpXShfMHgxNWU0MjFbXzB4NGFjOTc2KCcweDNjOScpXShfMHg1Njc0ZDA9Pl8weDE1MTM0YShfMHg0NWU0NGUsXzB4NTY3NGQwLF8weDEzY2M2NltfMHg0YWM5NzYoJzB4MmM4JyldKSkpOlByb21pc2VbJ3JlamVjdCddKF8weDFhZmQxNVtfMHg0YWM5NzYoJzB4ODY3JyldKF8weDRhYzk3NignMHhjM2InKSxfMHgzOGQyMmVbXzB4NGFjOTc2KCcweGNlNycpXVsnZXJyb3JzJ11bXzB4NGFjOTc2KCcweGM4YicpXSx7J2FyZ3VtZW50JzpfMHg0YWM5NzYoJzB4ODlkJyksJ3ZhbHVlJzpfMHgxNWU0MjF9KSk6XzB4MTVlNDIxO30pO31mdW5jdGlvbiBfMHhjNzNiOWIoXzB4MmQ2OGQ1LF8weDVlMGMyYixfMHgyODU3MWQpe3JldHVybiBfMHgzZGJkMTModGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4MjNmNDBmPV8weDE1YTM7bGV0IF8weDE0OTJiOT17fTtfMHgyODU3MWRbXzB4MjNmNDBmKCcweDUyMCcpXT09PV8weDVlMGMyYltfMHgyM2Y0MGYoJzB4YTliJyldW18weDIzZjQwZignMHg1MjAnKV0rMHgxJiYnb2JqZWN0Jz09dHlwZW9mIF8weDI4NTcxZFtfMHgyODU3MWRbJ2xlbmd0aCddLTB4MV0mJihfMHgxNDkyYjk9KDB4MCxfMHgzZWQ5NzFbJ3NoYWxsb3dDb3B5J10pKF8weDI4NTcxZFtfMHgyM2Y0MGYoJzB4NmRlJyldKCkpKSxfMHgxYWZkMTVbXzB4MjNmNDBmKCcweDIwYScpXShfMHgyODU3MWRbJ2xlbmd0aCddLF8weDVlMGMyYltfMHgyM2Y0MGYoJzB4YTliJyldW18weDIzZjQwZignMHg1MjAnKV0sXzB4MjNmNDBmKCcweDlkNCcpKSxfMHgyZDY4ZDVbXzB4MjNmNDBmKCcweGE3MScpXT9fMHgxNDkyYjlbJ2Zyb20nXT9fMHgxNDkyYjlbXzB4MjNmNDBmKCcweDI1MicpXT0oMHgwLF8weDNlZDk3MVtfMHgyM2Y0MGYoJzB4MjU2JyldKSh7J292ZXJyaWRlJzpfMHg0YmNiZTMoXzB4MmQ2OGQ1W18weDIzZjQwZignMHhhNzEnKV0sXzB4MTQ5MmI5W18weDIzZjQwZignMHgyNTInKV0pLCdzaWduZXInOl8weDJkNjhkNVtfMHgyM2Y0MGYoJzB4YTcxJyldW18weDIzZjQwZignMHgzZGYnKV0oKX0pWyd0aGVuJ10oXzB4MjFmMDFjPT5fMHgzZGJkMTModGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4MzllMTQ4PV8weDIzZjQwZjtyZXR1cm4oMHgwLF8weDM1ZTdlZVtfMHgzOWUxNDgoJzB4M2RmJyldKShfMHgyMWYwMWNbJ3NpZ25lciddKSE9PV8weDIxZjAxY1tfMHgzOWUxNDgoJzB4NjJmJyldJiZfMHgxYWZkMTVbXzB4MzllMTQ4KCcweDFkMCcpXShfMHgzOWUxNDgoJzB4OGYyJyksXzB4MzhkMjJlW18weDM5ZTE0OCgnMHhjZTcnKV1bXzB4MzllMTQ4KCcweDk0OScpXVtfMHgzOWUxNDgoJzB4NjMzJyldLHsnb3BlcmF0aW9uJzpfMHgzOWUxNDgoJzB4ZDI2Jyl9KSxfMHgyMWYwMWNbXzB4MzllMTQ4KCcweDYyZicpXTt9KSk6XzB4MTQ5MmI5W18weDIzZjQwZignMHgyNTInKV09XzB4MmQ2OGQ1W18weDIzZjQwZignMHhhNzEnKV1bXzB4MjNmNDBmKCcweDNkZicpXSgpOl8weDE0OTJiOVsnZnJvbSddJiYoXzB4MTQ5MmI5W18weDIzZjQwZignMHgyNTInKV09XzB4NGJjYmUzKF8weDJkNjhkNVtfMHgyM2Y0MGYoJzB4ZDMyJyldLF8weDE0OTJiOVtfMHgyM2Y0MGYoJzB4MjUyJyldKSk7Y29uc3QgXzB4MzIxNDE4PXlpZWxkKDB4MCxfMHgzZWQ5NzFbXzB4MjNmNDBmKCcweDI1NicpXSkoeydhcmdzJzpfMHgxNTEzNGEoXzB4MmQ2OGQ1W18weDIzZjQwZignMHhhNzEnKV18fF8weDJkNjhkNVtfMHgyM2Y0MGYoJzB4ZDMyJyldLF8weDI4NTcxZCxfMHg1ZTBjMmJbJ2lucHV0cyddKSwnYWRkcmVzcyc6XzB4MmQ2OGQ1W18weDIzZjQwZignMHhjZjAnKV0sJ292ZXJyaWRlcyc6KDB4MCxfMHgzZWQ5NzFbXzB4MjNmNDBmKCcweDI1NicpXSkoXzB4MTQ5MmI5KXx8e319KSxfMHg0M2I0OWE9XzB4MmQ2OGQ1WydpbnRlcmZhY2UnXVtfMHgyM2Y0MGYoJzB4MjcyJyldKF8weDVlMGMyYixfMHgzMjE0MThbJ2FyZ3MnXSksXzB4MWI3OGMxPXsnZGF0YSc6XzB4NDNiNDlhLCd0byc6XzB4MzIxNDE4W18weDIzZjQwZignMHgxZDEnKV19LF8weDNiNjNjND1fMHgzMjE0MThbXzB4MjNmNDBmKCcweDQ1YycpXTtpZihudWxsIT1fMHgzYjYzYzRbJ25vbmNlJ10mJihfMHgxYjc4YzFbXzB4MjNmNDBmKCcweDRhZCcpXT1fMHgyMzc4NWNbJ08kJ11bJ2Zyb20nXShfMHgzYjYzYzRbJ25vbmNlJ10pWyd0b051bWJlciddKCkpLG51bGwhPV8weDNiNjNjNFtfMHgyM2Y0MGYoJzB4OTYzJyldJiYoXzB4MWI3OGMxWydnYXNMaW1pdCddPV8weDIzNzg1Y1snTyQnXVsnZnJvbSddKF8weDNiNjNjNFtfMHgyM2Y0MGYoJzB4OTYzJyldKSksbnVsbCE9XzB4M2I2M2M0W18weDIzZjQwZignMHg4ODInKV0mJihfMHgxYjc4YzFbXzB4MjNmNDBmKCcweDg4MicpXT1fMHgyMzc4NWNbJ08kJ11bXzB4MjNmNDBmKCcweDI1MicpXShfMHgzYjYzYzRbXzB4MjNmNDBmKCcweDg4MicpXSkpLG51bGwhPV8weDNiNjNjNFtfMHgyM2Y0MGYoJzB4OTc2JyldJiYoXzB4MWI3OGMxW18weDIzZjQwZignMHg5NzYnKV09XzB4MjM3ODVjWydPJCddW18weDIzZjQwZignMHgyNTInKV0oXzB4M2I2M2M0W18weDIzZjQwZignMHg5NzYnKV0pKSxudWxsIT1fMHgzYjYzYzRbJ21heFByaW9yaXR5RmVlUGVyR2FzJ10mJihfMHgxYjc4YzFbXzB4MjNmNDBmKCcweDYzYScpXT1fMHgyMzc4NWNbJ08kJ11bXzB4MjNmNDBmKCcweDI1MicpXShfMHgzYjYzYzRbXzB4MjNmNDBmKCcweDYzYScpXSkpLG51bGwhPV8weDNiNjNjNFtfMHgyM2Y0MGYoJzB4MjUyJyldJiYoXzB4MWI3OGMxW18weDIzZjQwZignMHgyNTInKV09XzB4M2I2M2M0W18weDIzZjQwZignMHgyNTInKV0pLG51bGwhPV8weDNiNjNjNFtfMHgyM2Y0MGYoJzB4NTdjJyldJiYoXzB4MWI3OGMxWyd0eXBlJ109XzB4M2I2M2M0W18weDIzZjQwZignMHg1N2MnKV0pLG51bGwhPV8weDNiNjNjNFtfMHgyM2Y0MGYoJzB4NWQ1JyldJiYoXzB4MWI3OGMxW18weDIzZjQwZignMHg1ZDUnKV09KDB4MCxfMHg0NmU3NjJbXzB4MjNmNDBmKCcweDYwZCcpXSkoXzB4M2I2M2M0WydhY2Nlc3NMaXN0J10pKSxudWxsPT1fMHgxYjc4YzFbJ2dhc0xpbWl0J10mJm51bGwhPV8weDVlMGMyYlsnZ2FzJ10pe2xldCBfMHgzMTMyODY9MHg1MjA4O2NvbnN0IF8weDRiMjg2OD0oMHgwLF8weDE5ZjE0MVsnYXJyYXlpZnknXSkoXzB4NDNiNDlhKTtmb3IobGV0IF8weDFjOTEyYj0weDA7XzB4MWM5MTJiPF8weDRiMjg2OFtfMHgyM2Y0MGYoJzB4NTIwJyldO18weDFjOTEyYisrKV8weDMxMzI4Nis9MHg0LF8weDRiMjg2OFtfMHgxYzkxMmJdJiYoXzB4MzEzMjg2Kz0weDQwKTtfMHgxYjc4YzFbJ2dhc0xpbWl0J109XzB4MjM3ODVjWydPJCddWydmcm9tJ10oXzB4NWUwYzJiWydnYXMnXSlbXzB4MjNmNDBmKCcweGJhMScpXShfMHgzMTMyODYpO31pZihfMHgzYjYzYzRbXzB4MjNmNDBmKCcweDg5ZCcpXSl7Y29uc3QgXzB4MmYyMmVlPV8weDIzNzg1Y1snTyQnXVtfMHgyM2Y0MGYoJzB4MjUyJyldKF8weDNiNjNjNFtfMHgyM2Y0MGYoJzB4ODlkJyldKTtfMHgyZjIyZWVbXzB4MjNmNDBmKCcweGE0NycpXSgpfHxfMHg1ZTBjMmJbXzB4MjNmNDBmKCcweDVjYScpXXx8XzB4MWFmZDE1W18weDIzZjQwZignMHgxZDAnKV0oXzB4MjNmNDBmKCcweDQ3ZScpLF8weDM4ZDIyZVtfMHgyM2Y0MGYoJzB4Y2U3JyldW18weDIzZjQwZignMHg5NDknKV1bJ1VOU1VQUE9SVEVEX09QRVJBVElPTiddLHsnb3BlcmF0aW9uJzpfMHgyM2Y0MGYoJzB4ODYzJyksJ3ZhbHVlJzpfMHgxNDkyYjlbXzB4MjNmNDBmKCcweDg5ZCcpXX0pLF8weDFiNzhjMVsndmFsdWUnXT1fMHgyZjIyZWU7fV8weDNiNjNjNFsnY3VzdG9tRGF0YSddJiYoXzB4MWI3OGMxW18weDIzZjQwZignMHhjYTcnKV09KDB4MCxfMHgzZWQ5NzFbXzB4MjNmNDBmKCcweDhkOScpXSkoXzB4M2I2M2M0W18weDIzZjQwZignMHhjYTcnKV0pKSxfMHgzYjYzYzRbJ2NjaXBSZWFkRW5hYmxlZCddJiYoXzB4MWI3OGMxW18weDIzZjQwZignMHg1MTknKV09ISFfMHgzYjYzYzRbXzB4MjNmNDBmKCcweDUxOScpXSksZGVsZXRlIF8weDE0OTJiOVsnbm9uY2UnXSxkZWxldGUgXzB4MTQ5MmI5WydnYXNMaW1pdCddLGRlbGV0ZSBfMHgxNDkyYjlbJ2dhc1ByaWNlJ10sZGVsZXRlIF8weDE0OTJiOVtfMHgyM2Y0MGYoJzB4MjUyJyldLGRlbGV0ZSBfMHgxNDkyYjlbXzB4MjNmNDBmKCcweDg5ZCcpXSxkZWxldGUgXzB4MTQ5MmI5W18weDIzZjQwZignMHg1N2MnKV0sZGVsZXRlIF8weDE0OTJiOVtfMHgyM2Y0MGYoJzB4NWQ1JyldLGRlbGV0ZSBfMHgxNDkyYjlbXzB4MjNmNDBmKCcweDk3NicpXSxkZWxldGUgXzB4MTQ5MmI5W18weDIzZjQwZignMHg2M2EnKV0sZGVsZXRlIF8weDE0OTJiOVtfMHgyM2Y0MGYoJzB4Y2E3JyldLGRlbGV0ZSBfMHgxNDkyYjlbXzB4MjNmNDBmKCcweDUxOScpXTtjb25zdCBfMHgxMzk4YWQ9T2JqZWN0WydrZXlzJ10oXzB4MTQ5MmI5KVsnZmlsdGVyJ10oXzB4YzQ0ZDFhPT5udWxsIT1fMHgxNDkyYjlbXzB4YzQ0ZDFhXSk7cmV0dXJuIF8weDEzOThhZFtfMHgyM2Y0MGYoJzB4NTIwJyldJiZfMHgxYWZkMTVbJ3Rocm93RXJyb3InXShfMHgyM2Y0MGYoJzB4YjNjJykrXzB4MTM5OGFkW18weDIzZjQwZignMHgzYzknKV0oXzB4NDEwMzA4PT5KU09OW18weDIzZjQwZignMHgzMWYnKV0oXzB4NDEwMzA4KSlbXzB4MjNmNDBmKCcweGFhNycpXSgnLCcpLF8weDM4ZDIyZVtfMHgyM2Y0MGYoJzB4Y2U3JyldW18weDIzZjQwZignMHg5NDknKV1bXzB4MjNmNDBmKCcweDYzMycpXSx7J29wZXJhdGlvbic6XzB4MjNmNDBmKCcweDQ1YycpLCdvdmVycmlkZXMnOl8weDEzOThhZH0pLF8weDFiNzhjMTt9KTt9ZnVuY3Rpb24gXzB4MjFmNTA5KF8weDM1ZTUyNyxfMHgxODc5NmMpe3ZhciBfMHgyMjBlOGY9XzB4NDE0YmRmO2NvbnN0IF8weDExZjE3ZT1fMHgxODc5NmNbXzB4MjIwZThmKCcweDk2NycpXVtfMHgyMjBlOGYoJzB4NGQ0JyldKF8weDE4Nzk2Yyk7XzB4MTg3OTZjW18weDIyMGU4ZignMHg5NjcnKV09XzB4M2I3MWIzPT5fMHgxMWYxN2UoXzB4M2I3MWIzKVtfMHgyMjBlOGYoJzB4ZDM0JyldKF8weDMyNzI5Mj0+KF8weDMyNzI5MltfMHgyMjBlOGYoJzB4NDFjJyldPV8weDMyNzI5MltfMHgyMjBlOGYoJzB4NjA2JyldW18weDIyMGU4ZignMHgzYzknKV0oXzB4ZDM0ZGUzPT57dmFyIF8weDM5NTY0ZD1fMHgyMjBlOGY7bGV0IF8weDMyMzJmZj0oMHgwLF8weDNlZDk3MVtfMHgzOTU2NGQoJzB4ODg5JyldKShfMHhkMzRkZTMpLF8weDQxODc1NT1udWxsO3RyeXtfMHg0MTg3NTU9XzB4MzVlNTI3W18weDM5NTY0ZCgnMHgzYzMnKV1bJ3BhcnNlTG9nJ10oXzB4ZDM0ZGUzKTt9Y2F0Y2goXzB4NGJmZjlmKXt9cmV0dXJuIF8weDQxODc1NSYmKF8weDMyMzJmZltfMHgzOTU2NGQoJzB4MjQ5JyldPV8weDQxODc1NVsnYXJncyddLF8weDMyMzJmZltfMHgzOTU2NGQoJzB4NThmJyldPShfMHg0ZTJhMWIsXzB4MWJhZDA2KT0+XzB4MzVlNTI3W18weDM5NTY0ZCgnMHgzYzMnKV1bJ2RlY29kZUV2ZW50TG9nJ10oXzB4NDE4NzU1W18weDM5NTY0ZCgnMHg4ZDQnKV0sXzB4NGUyYTFiLF8weDFiYWQwNiksXzB4MzIzMmZmW18weDM5NTY0ZCgnMHg2NmUnKV09XzB4NDE4NzU1W18weDM5NTY0ZCgnMHhiYzcnKV0sXzB4MzIzMmZmWydldmVudFNpZ25hdHVyZSddPV8weDQxODc1NVtfMHgzOTU2NGQoJzB4M2EzJyldKSxfMHgzMjMyZmZbJ3JlbW92ZUxpc3RlbmVyJ109KCk9Pl8weDM1ZTUyN1tfMHgzOTU2NGQoJzB4ZDMyJyldLF8weDMyMzJmZlsnZ2V0QmxvY2snXT0oKT0+XzB4MzVlNTI3W18weDM5NTY0ZCgnMHhkMzInKV1bJ2dldEJsb2NrJ10oXzB4MzI3MjkyW18weDM5NTY0ZCgnMHhhOGYnKV0pLF8weDMyMzJmZltfMHgzOTU2NGQoJzB4YWY2JyldPSgpPT5fMHgzNWU1MjdbJ3Byb3ZpZGVyJ11bXzB4Mzk1NjRkKCcweGFmNicpXShfMHgzMjcyOTJbXzB4Mzk1NjRkKCcweGQ0OCcpXSksXzB4MzIzMmZmW18weDM5NTY0ZCgnMHgzOTAnKV09KCk9PlByb21pc2VbXzB4Mzk1NjRkKCcweDNmNCcpXShfMHgzMjcyOTIpLF8weDMyMzJmZjt9KSxfMHgzMjcyOTIpKTt9ZnVuY3Rpb24gXzB4M2ZhZTgzKF8weDQ1ZjcxZSxfMHgzNTgyZDksXzB4MTNiYjg1KXt2YXIgXzB4MzJjNmQ2PV8weDQxNGJkZjtjb25zdCBfMHg3ZWYzYzI9XzB4NDVmNzFlW18weDMyYzZkNignMHhhNzEnKV18fF8weDQ1ZjcxZVtfMHgzMmM2ZDYoJzB4ZDMyJyldO3JldHVybiBmdW5jdGlvbiguLi5fMHg1MzY1MDYpe3JldHVybiBfMHgzZGJkMTModGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4M2I4N2U5PV8weDE1YTM7bGV0IF8weDc0ZGQxNDtpZihfMHg1MzY1MDZbXzB4M2I4N2U5KCcweDUyMCcpXT09PV8weDM1ODJkOVtfMHgzYjg3ZTkoJzB4YTliJyldW18weDNiODdlOSgnMHg1MjAnKV0rMHgxJiZfMHgzYjg3ZTkoJzB4MzZiJyk9PXR5cGVvZiBfMHg1MzY1MDZbXzB4NTM2NTA2W18weDNiODdlOSgnMHg1MjAnKV0tMHgxXSl7Y29uc3QgXzB4ZTZjMWNiPSgweDAsXzB4M2VkOTcxW18weDNiODdlOSgnMHg4ZDknKV0pKF8weDUzNjUwNltfMHgzYjg3ZTkoJzB4NmRlJyldKCkpO251bGwhPV8weGU2YzFjYltfMHgzYjg3ZTkoJzB4NzRkJyldJiYoXzB4NzRkZDE0PXlpZWxkIF8weGU2YzFjYltfMHgzYjg3ZTkoJzB4NzRkJyldKSxkZWxldGUgXzB4ZTZjMWNiW18weDNiODdlOSgnMHg3NGQnKV0sXzB4NTM2NTA2W18weDNiODdlOSgnMHg4YjcnKV0oXzB4ZTZjMWNiKTt9bnVsbCE9XzB4NDVmNzFlW18weDNiODdlOSgnMHgyM2YnKV0mJih5aWVsZCBfMHg0NWY3MWVbXzB4M2I4N2U5KCcweDk4ZScpXShfMHg3NGRkMTQpKTtjb25zdCBfMHgxNGVkNWU9eWllbGQgXzB4YzczYjliKF8weDQ1ZjcxZSxfMHgzNTgyZDksXzB4NTM2NTA2KSxfMHg3ZjMyNjk9eWllbGQgXzB4N2VmM2MyW18weDNiODdlOSgnMHg1ZmQnKV0oXzB4MTRlZDVlLF8weDc0ZGQxNCk7dHJ5e2xldCBfMHg2ZWUxNDE9XzB4NDVmNzFlW18weDNiODdlOSgnMHgzYzMnKV1bJ2RlY29kZUZ1bmN0aW9uUmVzdWx0J10oXzB4MzU4MmQ5LF8weDdmMzI2OSk7cmV0dXJuIF8weDEzYmI4NSYmMHgxPT09XzB4MzU4MmQ5W18weDNiODdlOSgnMHgxY2MnKV1bXzB4M2I4N2U5KCcweDUyMCcpXSYmKF8weDZlZTE0MT1fMHg2ZWUxNDFbMHgwXSksXzB4NmVlMTQxO31jYXRjaChfMHgxYjIzOTIpe3Rocm93IF8weDFiMjM5MltfMHgzYjg3ZTkoJzB4OGVlJyldPT09XzB4MzhkMjJlW18weDNiODdlOSgnMHhjZTcnKV1bXzB4M2I4N2U5KCcweDk0OScpXVtfMHgzYjg3ZTkoJzB4NGVkJyldJiYoXzB4MWIyMzkyW18weDNiODdlOSgnMHgxZDEnKV09XzB4NDVmNzFlW18weDNiODdlOSgnMHgxZDEnKV0sXzB4MWIyMzkyWydhcmdzJ109XzB4NTM2NTA2LF8weDFiMjM5MltfMHgzYjg3ZTkoJzB4NGMzJyldPV8weDE0ZWQ1ZSksXzB4MWIyMzkyO319KTt9O31mdW5jdGlvbiBfMHgyYTczYWUoXzB4MWZjNzYwLF8weDQ0YjUwOSxfMHhmNTcwODApe3ZhciBfMHgyODNhMGM9XzB4NDE0YmRmO3JldHVybiBfMHg0NGI1MDlbXzB4MjgzYTBjKCcweDI1OCcpXT9fMHgzZmFlODMoXzB4MWZjNzYwLF8weDQ0YjUwOSxfMHhmNTcwODApOmZ1bmN0aW9uKF8weDM4M2E4ZCxfMHg0MjU2ZTgpe3JldHVybiBmdW5jdGlvbiguLi5fMHgxM2ZiNmMpe3JldHVybiBfMHgzZGJkMTModGhpcyx2b2lkIDB4MCx2b2lkIDB4MCxmdW5jdGlvbiooKXt2YXIgXzB4NGVkMzVkPV8weDE1YTM7XzB4MzgzYThkWydzaWduZXInXXx8XzB4MWFmZDE1W18weDRlZDM1ZCgnMHgxZDAnKV0oJ3NlbmRpbmdceDIwYVx4MjB0cmFuc2FjdGlvblx4MjByZXF1aXJlc1x4MjBhXHgyMHNpZ25lcicsXzB4MzhkMjJlW18weDRlZDM1ZCgnMHhjZTcnKV1bXzB4NGVkMzVkKCcweDk0OScpXVtfMHg0ZWQzNWQoJzB4NjMzJyldLHsnb3BlcmF0aW9uJzpfMHg0ZWQzNWQoJzB4NDhiJyl9KSxudWxsIT1fMHgzODNhOGRbXzB4NGVkMzVkKCcweDIzZicpXSYmKHlpZWxkIF8weDM4M2E4ZFtfMHg0ZWQzNWQoJzB4OThlJyldKCkpO2NvbnN0IF8weDFkMjIwOT15aWVsZCBfMHhjNzNiOWIoXzB4MzgzYThkLF8weDQyNTZlOCxfMHgxM2ZiNmMpLF8weDM1YTcxNz15aWVsZCBfMHgzODNhOGRbJ3NpZ25lciddW18weDRlZDM1ZCgnMHg0OGInKV0oXzB4MWQyMjA5KTtyZXR1cm4gXzB4MjFmNTA5KF8weDM4M2E4ZCxfMHgzNWE3MTcpLF8weDM1YTcxNzt9KTt9O30oXzB4MWZjNzYwLF8weDQ0YjUwOSk7fWZ1bmN0aW9uIF8weDI1MzY5YShfMHgyY2I2Mzcpe3ZhciBfMHg0ODJiMGI9XzB4NDE0YmRmO3JldHVybiFfMHgyY2I2MzdbXzB4NDgyYjBiKCcweDFkMScpXXx8bnVsbCE9XzB4MmNiNjM3Wyd0b3BpY3MnXSYmMHgwIT09XzB4MmNiNjM3Wyd0b3BpY3MnXVtfMHg0ODJiMGIoJzB4NTIwJyldPyhfMHgyY2I2MzdbXzB4NDgyYjBiKCcweDFkMScpXXx8JyonKSsnQCcrKF8weDJjYjYzN1tfMHg0ODJiMGIoJzB4MjllJyldP18weDJjYjYzN1tfMHg0ODJiMGIoJzB4MjllJyldWydtYXAnXShfMHg0ZDkwZGQ9PkFycmF5W18weDQ4MmIwYignMHg4ZjEnKV0oXzB4NGQ5MGRkKT9fMHg0ZDkwZGRbXzB4NDgyYjBiKCcweGFhNycpXSgnfCcpOl8weDRkOTBkZClbXzB4NDgyYjBiKCcweGFhNycpXSgnOicpOicnKTonKic7fWNsYXNzIF8weDM2N2JkZXtjb25zdHJ1Y3RvcihfMHgxMjdjYjQsXzB4MzUyYjljKXt2YXIgXzB4NTMzYWZmPV8weDQxNGJkZjsoMHgwLF8weDNlZDk3MVtfMHg1MzNhZmYoJzB4Y2U5JyldKSh0aGlzLCd0YWcnLF8weDEyN2NiNCksKDB4MCxfMHgzZWQ5NzFbXzB4NTMzYWZmKCcweGNlOScpXSkodGhpcyxfMHg1MzNhZmYoJzB4M2FiJyksXzB4MzUyYjljKSx0aGlzW18weDUzM2FmZignMHgyNDEnKV09W107fVtfMHg0MTRiZGYoJzB4OGZiJyldKF8weGQxZWRiYyxfMHgyOTVhMTQpe3ZhciBfMHg1N2Q0MTU9XzB4NDE0YmRmO3RoaXNbXzB4NTdkNDE1KCcweDI0MScpXVtfMHg1N2Q0MTUoJzB4OGI3JyldKHsnbGlzdGVuZXInOl8weGQxZWRiYywnb25jZSc6XzB4Mjk1YTE0fSk7fVsncmVtb3ZlTGlzdGVuZXInXShfMHg0OTI0MDcpe3ZhciBfMHg0ODA5Nzc9XzB4NDE0YmRmO2xldCBfMHg0YTVkZTE9ITB4MTt0aGlzW18weDQ4MDk3NygnMHgyNDEnKV09dGhpc1tfMHg0ODA5NzcoJzB4MjQxJyldW18weDQ4MDk3NygnMHgzYWInKV0oXzB4MWI0MmVkPT4hKCFfMHg0YTVkZTEmJl8weDFiNDJlZFtfMHg0ODA5NzcoJzB4MjQwJyldPT09XzB4NDkyNDA3JiYoXzB4NGE1ZGUxPSEweDAsMHgxKSkpO31bXzB4NDE0YmRmKCcweDYzMCcpXSgpe3ZhciBfMHgzNDQxYTU9XzB4NDE0YmRmO3RoaXNbXzB4MzQ0MWE1KCcweDI0MScpXT1bXTt9W18weDQxNGJkZignMHg1NWMnKV0oKXt2YXIgXzB4NWQ3YTA3PV8weDQxNGJkZjtyZXR1cm4gdGhpc1tfMHg1ZDdhMDcoJzB4MjQxJyldW18weDVkN2EwNygnMHgzYzknKV0oXzB4MjFjZWViPT5fMHgyMWNlZWJbXzB4NWQ3YTA3KCcweDI0MCcpXSk7fVsnbGlzdGVuZXJDb3VudCddKCl7dmFyIF8weDVlYWVjNz1fMHg0MTRiZGY7cmV0dXJuIHRoaXNbXzB4NWVhZWM3KCcweDI0MScpXVtfMHg1ZWFlYzcoJzB4NTIwJyldO31bXzB4NDE0YmRmKCcweDdlYScpXShfMHgzOWQ0NTMpe3ZhciBfMHgxMDM0NzQ9XzB4NDE0YmRmO2NvbnN0IF8weDM5NzU0Mz10aGlzW18weDEwMzQ3NCgnMHhkM2EnKV0oKTtyZXR1cm4gdGhpc1tfMHgxMDM0NzQoJzB4MjQxJyldPXRoaXNbXzB4MTAzNDc0KCcweDI0MScpXVtfMHgxMDM0NzQoJzB4M2FiJyldKF8weDQyZjg4Yz0+e3ZhciBfMHhjNTViZWU9XzB4MTAzNDc0O2NvbnN0IF8weDJmNmE5ZT1fMHgzOWQ0NTNbXzB4YzU1YmVlKCcweGFkYScpXSgpO3JldHVybiBzZXRUaW1lb3V0KCgpPT57dmFyIF8weDY1NzBjYz1fMHhjNTViZWU7XzB4NDJmODhjWydsaXN0ZW5lciddW18weDY1NzBjYygnMHg0NDInKV0odGhpcyxfMHgyZjZhOWUpO30sMHgwKSwhXzB4NDJmODhjW18weGM1NWJlZSgnMHgzNTMnKV07fSksXzB4Mzk3NTQzO31bXzB4NDE0YmRmKCcweDQzNycpXShfMHgyYTdkNWQpe31bXzB4NDE0YmRmKCcweDk5YScpXShfMHgyZDg3MTgpe3JldHVybltfMHgyZDg3MThdO319Y2xhc3MgXzB4MjdhNzQzIGV4dGVuZHMgXzB4MzY3YmRle2NvbnN0cnVjdG9yKCl7dmFyIF8weDEzOWVmNj1fMHg0MTRiZGY7c3VwZXIoXzB4MTM5ZWY2KCcweGM5ZScpLG51bGwpO319Y2xhc3MgXzB4MTkyNjNiIGV4dGVuZHMgXzB4MzY3YmRle2NvbnN0cnVjdG9yKF8weDFjNWQzNSxfMHgyYzVmMmUsXzB4MWRkMWZjLF8weDIxZWU0Zil7dmFyIF8weDYwNjZmMz1fMHg0MTRiZGY7Y29uc3QgXzB4MjQyOTEwPXsnYWRkcmVzcyc6XzB4MWM1ZDM1fTtsZXQgXzB4MmU4ZDM3PV8weDJjNWYyZVsnZ2V0RXZlbnRUb3BpYyddKF8weDFkZDFmYyk7XzB4MjFlZTRmPyhfMHgyZThkMzchPT1fMHgyMWVlNGZbMHgwXSYmXzB4MWFmZDE1Wyd0aHJvd0FyZ3VtZW50RXJyb3InXSgndG9waWNceDIwbWlzbWF0Y2gnLF8weDYwNjZmMygnMHgyOWUnKSxfMHgyMWVlNGYpLF8weDI0MjkxMFsndG9waWNzJ109XzB4MjFlZTRmWydzbGljZSddKCkpOl8weDI0MjkxMFtfMHg2MDY2ZjMoJzB4MjllJyldPVtfMHgyZThkMzddLHN1cGVyKF8weDI1MzY5YShfMHgyNDI5MTApLF8weDI0MjkxMCksKDB4MCxfMHgzZWQ5NzFbJ2RlZmluZVJlYWRPbmx5J10pKHRoaXMsXzB4NjA2NmYzKCcweDFkMScpLF8weDFjNWQzNSksKDB4MCxfMHgzZWQ5NzFbXzB4NjA2NmYzKCcweGNlOScpXSkodGhpcyxfMHg2MDY2ZjMoJzB4M2MzJyksXzB4MmM1ZjJlKSwoMHgwLF8weDNlZDk3MVtfMHg2MDY2ZjMoJzB4Y2U5JyldKSh0aGlzLF8weDYwNjZmMygnMHgzNGUnKSxfMHgxZGQxZmMpO31bXzB4NDE0YmRmKCcweDQzNycpXShfMHg1MmQxMjUpe3ZhciBfMHhiYjM2OTM9XzB4NDE0YmRmO3N1cGVyWydwcmVwYXJlRXZlbnQnXShfMHg1MmQxMjUpLF8weDUyZDEyNVtfMHhiYjM2OTMoJzB4NjZlJyldPXRoaXNbJ2ZyYWdtZW50J11bXzB4YmIzNjkzKCcweGJjNycpXSxfMHg1MmQxMjVbJ2V2ZW50U2lnbmF0dXJlJ109dGhpc1snZnJhZ21lbnQnXVtfMHhiYjM2OTMoJzB4M2M3JyldKCksXzB4NTJkMTI1W18weGJiMzY5MygnMHg1OGYnKV09KF8weDIwMzQ5MixfMHg1Y2ZkZGIpPT50aGlzW18weGJiMzY5MygnMHgzYzMnKV1bXzB4YmIzNjkzKCcweDRjYycpXSh0aGlzWydmcmFnbWVudCddLF8weDIwMzQ5MixfMHg1Y2ZkZGIpO3RyeXtfMHg1MmQxMjVbXzB4YmIzNjkzKCcweDI0OScpXT10aGlzWydpbnRlcmZhY2UnXVtfMHhiYjM2OTMoJzB4NGNjJyldKHRoaXNbXzB4YmIzNjkzKCcweDM0ZScpXSxfMHg1MmQxMjVbJ2RhdGEnXSxfMHg1MmQxMjVbXzB4YmIzNjkzKCcweDI5ZScpXSk7fWNhdGNoKF8weDMwMjAyYSl7XzB4NTJkMTI1W18weGJiMzY5MygnMHgyNDknKV09bnVsbCxfMHg1MmQxMjVbJ2RlY29kZUVycm9yJ109XzB4MzAyMDJhO319W18weDQxNGJkZg=="}},"time_used":324,"timings":{"blocked":33,"dns":0,"connect":0,"send":0,"wait":63,"receive":228,"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":"meta-drop.top","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":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"opendns","sensor_type":"DNS","title":"OpenDNS","description":"OpenDNS","scan_date":"2026-07-27","alert":"Phishing Block","trigger":"meta-drop.top","verdict":"phishing","severity":"medium","comment":"","link":"https://www.opendns.com/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:08.963Z","timestamp":1785152588963,"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/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0I5nvwU.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://meta-drop.top\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: 48532\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:50 GMT\r\ncontent-type: font/woff2\r\nage: 426775\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":48532,"size_decoded":49345,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48532, version 1.0","md5":"225835e6e0496c54dc2aca9f3d533892","sha1":"942ef5298bbe74bfe44e445def5f2bfc94027fa8","sha256":"acc60d454f46f2ba233c516aa3299aa60e1f49ffd0f06b8392a7c772a5694087","sha512":"ea2ff96ed5ac965c1846b4b33990beab3d4ced66806fa44321f5dd59d9a29a8ae1a67a5816d40165af8a896677b6a24bb74ea6db53cd5e686080165db9fd62c2","ssdeep":"768:b9tYsJ6BxVEpu8sqEkvfXRGEBqH7KxpxA07hQv2bSokjQx2AOWUVOv7UeFHOpIsR:LsEcy7fXRGqqHmr7qv32UC7UetOGLkF","tlshash":"03230178cf9f85b3d33b153afaf4d20562a9067de76c4a803831051a2a55770b89dc0e","first_seen":"2025-05-29T17:27:56.345238Z","last_seen":"2026-08-11T05:55:34.577982Z","times_seen":256385,"resource_available":false,"data":"d09GMgABAAAAAL2UABQAAAAB37AAAL0fAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoZeG4KyRBzVcD9IVkFSi2kGYD9TVEFUgU4nJgCFNi9sEQgKgbtAgaEUC4gOADCCnD4BNgIkA5AYBCAFhi4HoQQMB1sVzXEmcmP3c+AywnQbAnTSpqa685dwgXb5haNNb/Y48+ca9SMVjNtruB0iNz/9U7P///8/ManIWCUF03QbAwH17t6HgrSNar27dXdUZtXAVrOh7TtsQWN4F5U2TFldO44xZpHETdyhVDAzo2ezg10W2XZCyI4qyo0SLhKSUnQq6nkNmoLvEWWb0cykCSE1YJTwuiPB9D5Qje6qUEGR+GrbVkXZyMs+gbBh0M9xonPiiCoX/c5GEzomudPxjrquzSYZ12tQ8claYniyV6se/fzmpg3zbOPUQR5WkBk5cwqGISQk5bsrKGwn1R0dK7X1T5j1h4RZdpSQYr9orjGXJf9bXo/zxHdPzuNd3O7wq1AKFeeKc4X7UfThL2nJoYViNU7KdfYfjeIkiYboEtX37QvN3+fdFexIsSAShBLap/j/N3rlyZvhh1sHZHKTfo6Iq7PGqif9UlC2qjyyqnoW8BBIewKU5olRYpAQZALpbfqI162f3ffy8lIIISQBI4YQIELEUIx0pShFFESIgChVwEaJCAQiRkRFBRSOw9IQOURsqIClof087NjQ4xT9nna0Hx+RDPG6+Xdv5yV52YMQsgkQZEuYiqsVZx27w9ExtXZICB1rW2urtVs7vrXDWpbjA1ocIOBirCxIQgb/fOyt3699bnrD7W5CdigUGoTLQmUVdCyfhMRiBCoKh8zK/aBmhmBunSCoSBhUCLJRNdhIN5asAlaMUWMbMBgbo8ZGjRppEKkiZWGACiqh2K//zq6PVj/ygObsfzaOt0V7pSLyeufsBlo/E+N61FbCRklCSBySECPEgCRIEswLFaBY6/deVU7675cfcNP+BahRn9iJG2y77b6KUE5UOut6K/PWKcU0BAjBEwgESdBgIfHh/7f1v1BQb6RTYccEOoKnqBAQKYnM4TqvKr5uVDm3Ijf08GuvP+c1RVSEmuE1u0UOuAKBRseyuqwiVOkTKmDH9g583++nZyfCVZigcoW/+yKTgnCAtwhGlqWrNKwwnZzzVByoqH27tKXv3tO7/+mvMspUycByABVAhYyaVJlsmxlNv4FOwWqvzPyGUSED6ioT3Lc5/t2sGbTMEKR0z9y/bp8Q0i112lLxzcuckF/4PVVBzgSe3v16h/I+ICqC49mqZjZboStkpWFncuH5//3a74NZo09FVieqNCuVSpo9BwkFkkbxSKjyf+iiTeVdHsKln2+kldyvtaSjI9D+6TgojM3cOqUBSP9aZlszZ5s9fTNca0JLj6qbsA8JQYDxir3p+veT02pUm50knXQPCIfQSBTlKf+8RiP07t05jdPI51UX74M6N49Vps+LqcegqSStM+6Lpbl8TJ82NrqQsDxUZqCAwZLBFMb+NS1GYhHGQTwZQ4FdRhlGwR6GYQzgYOT270vVuv7X3SAbkM0iwF2xJ4PycuZzIiTPzJlkSxNSvO+5A6FGdwNkAyRtBNEGSQWAFMcNihyD5LDMJigZIiWnIHlD1mStvCl8gHK5RclTbXI0puQJlCZqfZsY5A0h3EKIp91biOe9nWI8hXy87vG8x7meFv6/n1bSfjr76m3u0cgxINLV2jEgBtiAz6q7d6y5LWtD/g4hsd0sA01ARlsmKAMSUkKGC6AZN8AGgBiKVNMWiyM1Ar7SsFLplPpeBOjhgyAV+E50iNXzHWk5F42rVk3povT/rZk2W2bjKxQQu7o+fzc/23+0B1QA1vwXMqEDoAKRqlZ9tXJ2SmkVUKAIqjx83rTdQPqXPCDcoiyYdBdQFgB+DPMknv9+7zubw6JexZ0LXSgGGWHeYNVPqZso6FdB1He04lUmDhQT4wXEf7/X2ewg1BfyOmJsrHp5UYdS1YcuS3XBJUE1YUAo/N5pmdIlpV+FKABmGbPnayyrzHZdSik4L8haZBsdvA07GMAuHIZAXUx3/ebiEU7BByZIM5xDKIEkKCSO9/mmzqb5uc51DMVWCJ865JdVNqvXcf8h19Q8hKUuOGSgdyZPep7AuiSwJvw1wYggXGFKj/WdWG99cjveI4EMn8GEwQRhjBBGGBGyQ37P9Liz9Tvf//+ulJ7fnHMfz6raoiJGREXEGBExKjZUxHQz9xTtS9LBRiLqy35ZvEQ8Kh3jpJS2yCAqdY/rb6+9v4omktmH7ppy796uRzmpDJPJIHaQtBERkcrk7uuOsZk6+Cz3v7dhgB5ImkvDqaYD6SEF/ebSWkofVgdBPFQIAtP/DP0s8FOYBFYNqdEKafcQ8sgTSK8B0C8pMIwwoEjEABQXcQHFQ6aAsk4GZZ8CKjg8VHhUqOqKoTamh9qSEWpbZVD78kIdKAB1ukaojpqhruZE1BcH9bkAtO9FoBAMHAXsglBdzZY9R5UiINR1CIxnI8E4FbgXcDtwGBMIhoA3PB9a3zkF30UqvjqFuEQO/YSmn6+v/NkhxnywCV4DfggGBAOtj+hJ5YHwHBhAH5BTFfUznOOYM65nEufDzrmeJ63ILlhf+Hg17DL/cvY16fXsG9KbpJvSm/KbBTcVX0q/Crgddht5W3rH807ivbB72fdDHzAf/jaeHAcPcY82PFr5KPtR7iPp49AIXrr80t2XVE9c23Njzy09d/X86Knb+pJJsQ/ODvTd3nd33719qmeyqa39V/Vf239L/10DR84bySKpHLhwILDMiAbH6VEQRVM9zbMYV0AIF5zIRgHH+FDBfBawJBWpzrmp03OiXuWoYH24aOf2nrvAo74ts8IqWzzXOq+d3qM6mqIrX1eVMsaF3AEXlBXlmyrcSqWiqhJVqp5Tra7N1Hq1vlqlJmlEGvfxx9vdPHTxWZ74ET6Dz+WLm1Sz0nQ1S5q1Lap1bbukXdoua5d3iruubnG3pFvWrRUSvU4P6Z0vkpKnNs74TGMHBdxxKdgAebqT3iGFCpzfZD/QT00Q0chRcF8VBs9HyBcKxb8qUdwKSi/lK7XaAW1orW0bW9FqLYzzr/39vnzWs1HpeyYDQZvfiaWyIrW9MlAda/2myezsTbcHDeBELJ4kqQydY/LFUiVYb/CtjtBDEIxg0WwOwxOIZRq9McPsYqvdVVxSIzVsbIbzBSD4a84BXMcfBOwQqQZ50+tqE9wfUsnGoXxENhCD8rGefBISJGBttAADkUMTeAZt8ZhPskl43jSH/+R+yB4XS+xdAoQh1lfVEaAIOlKwuuLj3ma55DugFA+FD2FD0O5Gs3hLUeJi8OdCQYyLGAm7mUnwpRExGIzP6F0ZkIpNgKk3m//66csmRHV7BvYud4jZJoHJfzkoIPAqYTygHAyw6FK73S6+0K7juNUIF/EFdoUbfx7i2JdxTpp0XensPdajPDj84HUffVp6jp00a3UEhzaZSs7Hkxt83GOcxZatHutoPZ+e/ImPYwwSleWPcFTySofnJVnfct820fZenFldu1rbc+nO73h7b+tVTOosLW9hYk1Lby+PHlL7RE4HizGLqY412mBF4unss9yf4o0h8llaHHXsIgybhnX/PdfOvfZar1ydrdZaJnUf8NPIj2yw3EI7dJB6edQQqV75Ispe+jqzREodLG3RlV/xcjR7Q62UWzmUZdGMfrFK39IiR/dk1KknYkyJGRkxS1SgqGzM6TmKFKVjUpjHsJKgVUlh8gtJojTwhLwfUqWS3W4Pw3RSSzFVtKMkiMTPJ2Uj8ANFROGcZAPm4YYZcgjwi4uW+QQmcHaM+lzCG0pIwMYDO7+J7d3mrdvWLdkFO7rd27zVe6Udr6ktXsSGubw48LERYBNEsElgGmXbEDaQNfltlsgleEUcDKLV7GIOZllMj8pW462aytuVEFvpg0nYYKurdgVilTk91o39WAUj68uaAg0lL/2wJS+PX/Tv4PI1t5mL/Nj43agdvCBwODZxIPR4hZarUYaNWvVl+uZ+1dD6h2l1ox44l0Ogau0z0T3cKaLzf3Rdmno1Yi0lQ2bp0/YKjT9LRlF3W3WAfUqjHi+kWjtzyHmZnxvnP87jDx8EgoU4mMk2x7JsDkqdOgS4++8avNVPn58qaBK/6b/37vf2BG0vrv95W+1aEf5/UHO+Yo61OUeLLqd3OF1MhGajL4QIvtjxNxexuWnXTGeaC5+t2WY76pEqZHYU8VJheV+JwH45j+BZXqhVDk8sbbU3IegTKMDd/VboOt3S9pphfk3fbx9rnWDfno5qmIPc1U3lmPR358/zd2V6x+gsys5VB6e8jvpSwxaNNjnlxVwUUd0fQrTEa3twg5Ja4vvD9E++Nz++uxVi/eEnU/yR1LSbsk9DVGFs/m/rT/mXVE/Pt9W2lagXg7LToBG0gfcFzKnCl4K8KBn4qp9qPbNuvuUgfwxlASkYu/jXpeimJVKbzVT5Ki40wvDXVN/u9t6OvLlsqmmRV9Z6s2caIW3owLw9W8Sbn9SuSXshzAp7ixlu84BBj7mD1avb51vo7Aev60mw9uzd9Zvy4ho7vtwzHPaVV32ur7r8FbAsV/iD031WvtDwsmfxHPpw1wfLGLfKtmOz4o3q7SLQQFFOYR/C3lMYQln7yo7jy2gKelTmueIOVliCWiUnK/yWeDrmT3coh4AcCWTptdu2alyaP+avkOKyQ28R1erJf3nS+fkQRTpKXYoT8Pn77F3gFIQ0mE1tTk2xsa5b67gv2HJYJ8d0IdXq8qf350ZcP8cy82EFuvLX/BM/7J6MFY+AJ3FRdpMjKxJnofnropMNXQjRVVe5/aPPCG1JVFXwQHJT8XR/e1GuZDmtPSeVItvYyRXt/prvkMi3d75cnmf23CjEYJranOxSSjp5ZcVcED4WV0+3bF1HB8hkPd7qbAhleZd0XIob9ZG82gyoPW1Ordln7nrJilptRzb/dJyzt4+yuzLXdXvi8WQo9/ewOELEVRJCc1cL2kb51fjmtsCgZU1Odpl4sYCw8qCcW/uPhw5+xfTr8+dYzBDS5svlx+6grUTzTnRBR/NSWwiG49jhj0in5yuawz/e1dZjjuP1ITd1piE6ipZ5M+11dLKghf1rM5lWUdtXhrZki8exHO75H9kZm0VVS9rAxBxCyG5uRSJvvXDs349hD5ZUPblb9zruC0XTyXA0UNtgelL+ROmlsPrrzj6mitLte58Nwv6EgKo/bzjkloc6uxS6q/MK64f+0//zQDdCg3bIB8rH9LF8nDFuH+KXBoECHv1wb+7gChpqm5WAgOyK6PxZUuS1e3jaa3HX+Ld9dgWHuCSoDxm3shWYppdcrXQ7HdhE9cH3sXPb4C83DEZbpZ8OorJvw6bKrxfnFCc4XLaPN3mSh+Kzpb1Wb4U1bQZmk+4hsQOdiut2btwJDpftszd5cvxDxWedL4CWr1tUovQuJJ4ND+XejD7MuJD2ZQdkx1X8yPiKd3l2/G6+irds57gnMtv7YmZEj9AwjgwjFx7nXfICdno5etXihHisD/PGQyYD7OIUbCP+pek6+uHrX97WXisbMZzi5ujt+pUSEg8usiX8pM8jMWsYViQa4Zi5bPOfnfHcNH28X296rmCXbUa0ekICX2R0ykqUzOsFK2BWBGXSx5zd8lDkms5T/J/wSMj+uHFo70M4m7GHhUHETNa26aAgfiesHZ0zPQwsjmMos5PbnvyDWH3H54w3HBcQxU9FITbgFzWExK5s/K7lZBpQq+CrEEFyPTZrD2IBF+JcJhtmrqxS9GsngrHeklqyY6mOIfIYFRXrLffGzC/HYArjAvuY4RBxY0It2igxKkxWpdoyNWott1GrsrqNLzRwmsu06fo4oteR6k96CwErhG/tmck0Ln0PpusPwEcCE0n1LxdCNL/8CqD+uh+C8REnP7L9ifCAccz/VYPjf3v4D3aqSZH1XRP6VV7/UkeTO507JJ9w6fDbX4Edda4O15GkOJDcL1IEpw4WfrWwUJBgQXu5EfY5tGm7YcGph4VbAQZuzB/yeN8V59Jdqwf6v10zu0tj/HLwhUpi8Hv99pUvVPrjhKYNhAqzCtUvVVaLfzl/W16q3H1K4tCppVEkH4tv80sqV4wbqKLqWvKCO2XZ2pUAwTFEt7uMl7LzMZfLSMBycWH9rTO1KGAZit+UgojUXICyPYtunOegdzxhf8Gmgup+Xz0LNIP6uamulpBLFD5fKiYDJV6/B25nFWEtVgOVpXpfV+pmYqzzM+dBwbfHx9PLqvrfC31stwrpYa2pBTX9aFSs8ls12wZp/4C5VNvMj3WwqR5lHmysc6z/+y5dRw796Qfw95PAX5ZpEXnIsEYaJ9/0kcBvUMp58BCauAAY/24/8NjJWRmqS4RwEg/TdJP/moUBL4IYok3U6sG9ETjBmzrEL0rYZfebbU703StN+9b6fgwvnHnoyd//Ez9slnYRNCpiUdTFCynYJaWFbEMbFzyM+Sfw+MEm1t840w6bYObdfhR8FwF6G7BOf2Mf3UKaxXiFK+P6kvapZpPj9WLUjxzydSRWWnmqQp44qs5TwtpXWxezg6maxLUo5Rup0xZ+a3mjBZgvBjA3IrMhPpXGfzyPb2vrRXY9b+5rbXcAmy8bRqSJAEL1aA/r8OwCLEJ13WxhunMNNp7aHaabZRQQsRAH6GyEky3c7DHJ4RGvsfkyLTASi8LBpql38jRxbBQb158zExpZUnkcm18ht3JSc09XNd9Kok2oJYWwdpuYVk9GUQ1BbCPEtY8ZjSXim85jZochoZMfJbZQTFKmAlJ6VVo65OYmSO8vZeKCur0udVe5Libsc4jUvTi0igxDMycMBBFAEgmcYgDrKCCMBoJYwDH2ADuTFJSNhXPPA8pTyLxAeYPzAeULWSBmTcCyIHiFwGsSvMKg0jCq6RDFIi8O1EzIZoFKgiwZTikJVqllY5dGzyK93DcZ5aGbXwFmWRVhpBXUQsTlYtEixOVhkS6BK6wCSg9ki0EVg1sCqqTHWBa5LReyFaBW9lKUJbyvScKkCiGrRNpaqNbBr2owwX0a1mREGxndJmzazMi2YN5WhrcdWXWIqu+82sahrKEGe1A0U1ZnK3oQDvUoAkam4MuOAcMCwYEow5Bl/1oUp56BhSOg0aGx3kU5GN9dZGHiz0c0MQw+fGpWcDj8Yiv20AjbWDN7zW3y9AztSujQ6C9Hhol7MOIwE2wcJthYRa0LkeUgJBjOynBWu1gHo7yD7x6ywZjuoskUJsMlZIpgTYnBNpYOzpGEgiUBKXk3735HvShkr73KROCAJr77PhIiWYbgx7mX11yt1HNx5HEa2YAWYnBohEA8RCAmohELTU9s9s+sWR11DPHGnyCx+iHCjquRWeggsONcggDDAAY/Ai3abBMy/c/HSHS56bQ+sVsvwMJdBjaHUiiJFBpE1zWg4d4IT7QeEDV4rWoHwvYFpOkExcUAKabxyjQTcYxBJKKAVbczCFZbAoyV37xY72yoUgB2ykE6C+yQQWi+PJUmRlS8G6aIXCW79yNOEtHxu/0GsIaLyqmqXgBm6g7GANu7wsONAhEIJMBI/Tb6qCLIV07eHu+OwfhnID0Jr4eEPIThE+ylHiEKeXTXpve6N1CNARBWPA3D4fIc5Bc6YYlNclI2pdgHp0ebgqzePAeILEWRR5HyBNLCyGRBH2qVNtGnko8EM7B2mGvsGQGWnyxRWspMHcbPxDRmSGB1HOPz4rYn8UQ8Cb/ulPS6WsmkT7gk1qo8rV0o1rX7LyDFMm51DGISoPArQfFUrxy2URY6y1MjJtGVUJLBJI9wPOrcA3kqq37MJ2fQAZikUqWP/0+q0iC5pJAeSkzjqBK0ztEXekmnX7fj6rL1UsYnf94Kv6s0B923DCWLd8LaRBKaEaGMwXJhdWvcep/Im8rjU7wXuJvKxC+wtaFhTgRDAK4+uin2tX3a2PPdPu3PhUl4nG3r5erN6QP4WGgLE/a2gleKhl3tdaLxfmVVo40bsq3tbfQaGzZbYgYN+fEvMZ1PcSfejohnBtrkRUN5Io+uq7iU7laPuSA9CJ3T2NXGdP268EyuO54r1/zFvXG/vE3OlUh9cmQBWg7vG6H4W9StKBiclPY1YEa1kbplAHuLY4tKltKSY2eVZl+nwX0gt+Wz+g1YjhXh/TjpNZ79SOPQptI7v94Q+6mkqXYi5Xm5enVA+3rXFZoYjCqFtDb3zQkjnvmfqdfoNZ6Mttp452omzZl1snYuU6Ofa1NvGEHi4T71dHNtoqk3Ecah0BBO1ch1TujSqQkMeQRfV1ON6JM49hHdYl/sN/9wIe7hKppYO05d861ZSS7bocOidLX+Lx4du73JWnh4KEAtLWtKi2KOMIslhJKOfWndY4G8t4XB/A0kDf7ad5FT4HGDW0dQC+xEaeex4Rp7Ezg1yrDjIQBUA6/3lxua48Vyhf7mQ+duGfK676o2GGWb0YXjy3jtk11n7s1fqzSAlhBWa6urSFGtaUv75HMJiHX7Chnt55bdk/559TdZWpRXVB/Zg02vHvDi/CaJPx5Cer19z0BLxF401exuOOVOU2Pcz7gPjouHfMk3pgX54V6UYdTu8F0sFXQKEmTGYvbxf76LMgBpGQJ51pf0m90b4/WY40rRPYtfu5X7Y5MVe0EO46TuNCx2MKWM9+d7watwjUvw15wm3U3SXz0qXdH/DbolVMZB7p/QMtcSxFv5YEUKG9BjcUDeZZuuO2oa4s03fhpSY+1COdH1KKk6UOZjDvBpN/zkdED+V2C8RSaP3KzyMIyLYf9ScK3e1iRdk6WTpqBp3Z2WqyfXBNnZiaszAaS2D6UUHX1eF6Bti/Ayg9VNviY7mmGag/AW+j321Ovyp8U9xPy8yA3M9+H7dtx3Ki68l+k759VaWxgX0aLgGdq8XKC9BtiTV0S/s4ObkLkUaEt9KtzNSyTtaRjemgQT+mwK6/SKZDB5a8tWIRS8i2Ge1nOi7xXm8V0/zHxLCW2CKgUgNPCBizkew1inZXy1MS4wkuSN3VbSBCWgB3tp2OVTrcXXY57nAyB1vtLKwG8XzD7zNCtNGa1YDt7CWUt7r2EnGkWTqBz3BM6rTU3hq6j83pp6ilHK0eZqbEqjmSCt2P5Y3O3g+uDH4dAlXMzcD7598hmHmi5huLQGh9vKH2wjDUk+P++zSl/buxag+4u6OgAMLZAE5j1mC4inclsUH6XeuN4f8O7hahes6iNuCfmEULazHlqDQO0OcEHgaAPHK4C4z+4F5Qf2who2jYaWsVXdc4jaxNq+cwdlbz+42/GtXdWKK+mJBU5IPw2JK6EleA6AJsBg7sKI6yuBguXkYfrq9J4oLeHjZ5qIPpbsMH+VcBxaIVoeRj13s+LlIm+ubDMwbdq0tLIw3QUQX/RjjpbJ2EnaClVdCm2S3ku2EutwxhgYg2pVUuvAVpaNqdV79q/0eVt3XP2WRZBDbIxP3EjbjDmgVA2caD5o0LvLKh8Y2vi6+x2pWSr36t55Rpr9DZDNXE6y3g+wmKoCSjx+SkvkFXOydzO6cGD3ee8amaIPbAXJax8tKEzm48Oc3oj+tfn3NAY+NrJTs7zCyLPFKu99wMajGL/8DSc9VgeAEQCMMlBQxAMAskPvigRTPbGw2zoEjCUhSjkXz2d6BsrasIvU9fum+8L7mjwu+9a9TwH8EqluQpiWFFuJn5aWOKDI2/qy/Uz7082T66vkUs2I1U0qPdjHn5L8YtoX2MLCNOIWuf+5rQOXF6/MLTbVKktmhdKwNR+9wJoR93zT8bLJtiVoJ7rHSygXFGv/Jyz2n9u1yqVZpUbebrAmOUR9+gQuoLUHV5Hs97J5yYRFBpwgbVCtg/QR6QksF9TWAaTx5SrQxBgBe7/PUizED98evIx1Xd2rl7jisY2yaKUxUtHTZ+Mex2JSt5NPS12Pd/fM96gL3U2AWjRH3s4h+h4BXAvjBpRtfhZCCoYH2KcLxk/saA9YadppDXdWseDsA1nCZdoDMj4w8xQtUEgyDaALV7vj9/FbqrEF1JZ7WbQoy+BRrDEMhw38+/+lxEIQAYPhiIKhWIiDAB0/OoFsO4nsOwM5HFNT71rMll3LpeXacmt5tLxa3q3AVmgLdqMn1+r49dCf6+Tx81PsWp9/15f7kaOvU0/6hDkSXEfN2P3wZ4VOrnEq7uB2B9RvkwFX5egzj3Z91LPBGXXlzEJPRY4Jq27KhJFbbok9dOdAONzJdfsEuZxy8Lc76ubBaSbXm6uR2rp1JM5GZ3OXWfsGF9XYGQ+6xRlc7lqPXXKZK3I+6oiRi9kNT+1xmINr70iVE+uEzkEjD1zOBPhn92Yc6r4LswOCnGqb3+v0kYeu5JzVJTkPDnG8lXNt1KUzm1B3/k8NK2CmGPjMIAJCJBE5xJY9koIjRGkUISejISouhFy5QcYYw5ZaACRQNJLGdEiMGKRYMyDxZjGTIJGJJJlYsuQYRivPCPkKCOgYcC21jFipdZiq/AapsQNWr56dnf6ANWqC7NbM1B57Se1zgKkWLaQOOsxUqzaW2p2EnHIB4aKbsFtuI9xxB9blHsJ9D3F064Y88jdKjydoTz01Xq9/0V56je2ND6z0+Ujik2m0fnEyP82ABiUgfkkqNiTFGkYYnCMQAWNjIAZ4RCEKXKIRDc6xEAv8YiM2+CRPzia77NikSMFmtuYciz9DEo8IDx+PiCpjpgwaxckoTkZxem3dlHGPTRFbvx4ZfdvwZx6vOZN4RHhEHNhTcGBPTmY4HlduXLnh4xHh4ePh4xHh4eNREnFnbfSPyqorMbJau0fd5nvG1faM75RIvGN+1b0AT9gqGBeDCVPM4iCoYWeJkSzYYJJbRhdKRpRILNdYlkXRP7sT8eBFQkUdRRvm0v7JQjQ78qVFSY8q9PdK64xUpRay0Q6oUFizgrEosEqxUrHGUeLC8zZUHKyw8ZaPmhCqCorNQI9ksKrbNivOdojEFwRMEJM2xSkUKcwSgC4BqM1tMpvMJnPaCZwKhcJfkByAAqpXa/RqZbJpnNKkxQFOl3N5AbrEEoBew6AB62rD+XPhQc312FaWNH43BE6M6QROGwUlnkWt0IsRLJQ2cvKgD2n4pLWbBW1fmObeeoGoIMxuPDmX4CPBdgEK2NAMiGFBlyj/NPrBH9lXWUv5LJfNWh/tnX/iuo/Lv2Xu6vyqMw0FUPs+e+BIvKZzGE035bItzYAHCCC1/EbOAVoOMA+sGVuuBetprSshdUMfG7IJHBP1THkk+ExZdVBw20FtXujbbjK+PfLVjh03E98ZImaFXTzPNBDU8h6m/+B56TJkyjLTI2bJNtscc80z3wJLLLXMcqustt4Gm/zHZo96zOOe8KSnPO0ZOVCYV7zqdW94k4JSMS1ttEvTxu6HPdVsn/0OOOiQw2m/kCNw1DHHnXDSKaed0eGsc8674Jbbutx1T7efAYH5+5C/XsBTgDU4dpP45xhM90UAiYHCRGNh4+AywWO6GUtYi8YWiZtpWeuhwYJsOY9r123cLJRrkbyn8Pbu6x6d9iOP4e/QqXemzmzDfgccdMjh4JmkoT/Oo5nYDXqmZtP3CLK37wP2O5CWMwcdcvjYiGc143e23ablrxn22e+Agw45rFXbMRn81FstuGkErcd3YuzT3N6GffY74KBDDh8TMTxT58E788476DKh2+tr0kouzMma9T4KFesiMvvXl0mAIyV39cwJ41/Jz6slDwto4KyPP2kfzvJF6FsDoY8/tr7bRTrBDdc+/GeNJAYqe6cl2TjmyPjno02wjY7ZpfCHInqLFVvCEPFRvfrf61v2sElZm+FRj3vSG97xgz1+txeBJEATGjV2afw9cEFkOzQIS7htJgJJmatBitwIVM/feQm0wjxcbCA32dzY/LnC4ZAfQtM+sA/u9s9Wgd1Pi7+4Ybc/mqK5zfZlO165CL5KOf0FLTo9eyNuyC1uc6lRbrIa8cZvFi8jv1WON1c//T3L/eX95atFuD/oXJ3VbV7doUvvcXuHOhteAbF6AlsyjOGFEp+zm9CIIZVgGRuhqAfLQm+IA/okKZgIc3x4w51dSIRLLpuq2xPT9PogTtrp09aMtieejfzEkYMC2tEyn75Q2Oi5/Efn6wVyJaFDq9ALpYWuf3t/xJCn0iZt0iZt0iZt0jYSyU/CC8FPNe9Xk5AtO/YCTTBRkGAhQk0SZrIpwkWYKtI0UaLFVILRkZiklWSkSDVbmnQZ5phrnvkWyKwsoyZbTrVymba8JK/w2iefffHVN9/98N8hDh6Ll26qLKMhWw6thXItklf5RkdB6YySQkX0Fiu2hKGWGoESy6ZNyDIS2XIq3+gpKJ0RKVREb7FiSxg+E3cymJCQRPIyzyu89slnX3z1zXc//NcvsI3KMjLZcqKLKUQRvcWKLWE4VKSkHQDQVFojsVCuRfJKZzQUKqK3WLElDPVS5pXX3njrnfc++OSzL7765rsfk/+mpJRUTDUpucUa7CFAYqAw0VjYOLhM8JgasxIRhAOyVMnusvnlkGuqzyy0WTsmik3ii7IYGWKdG+XPA/+tIaaDB4WHd2AlT1XftdkFg+nQJ6jyVVr1HrGXaYBpTXba0Dn/FA782d7CNLTarPPSvLwMsOjUKYc+hb5vfZvDbuBDoqp+hz9kVjTNFiE+/K7LzrH8SssGDislLueL8NdOWR/F1Heh1y/oyo+KW5JUPLVJ5JLL1SPzjyee6vXMc//zwr95W/NZv/9TCw1Ijht6JRPvlFJ2o2uvtVqHaRP1Sex6aqIyRaFOsC09ZgVMxe3VHy51P1lhaSAtlyp5kCIKmWzvF9NStWJK01qPaVuNtLoTooWuNoi03LKNzk9W0wXWVWcmOzwedqDFpRoZbMD/PALIyceA4WVCSmzl2XLL5RjliYZ5reQ8imtaaBPVvO+U8tpJaHhY29NFlNY24r/J2lL+Up+R6tVZJWhHmgJitt1obFw8/MOX2cQsSViRkpWBGRlPSzOTs6Uw0qjTD2Yb/BcD+/1SP3WAsvnNqXFWOGmH1TqmubWTcAYOwbOwBUqR0K25Hvqr+mEEvJ7XfF44H5/6893HWJiHykuEOAgIDcs0Ji4yQTxkiviZJcg8YaKGZ5V1skYkzSZ59imyza6ROSTOIsuGJckxZaNyanSqnHPJtTGpG5t7HnnmlXc+ueXbuMbD2GHEAeimUrCbHB2/uLjEzUrIovnlsyyrIpLyazSi8qScu5Gbq13p0xweRAZ/UUOSjThSrsIURxcmbIRSwoWPFDla9ChR4ybstblWdggh9vJVaauutQPpqzl0EPuWggqjkzZEeK9x0XjQuC+CXcsVJTVZVWXo2qcnKiOFys0/FxlVukx02XIx5StUrARj6tPnx1giVFwC9IHKn8bc8qtmUnkS4rqKs0ABN28sHrZDdHx3sI+4g6K+7Jd24z6zy/Y9e9ZO3MN3wRbTkHLy6ozWSMAhFhmlnWdopYj59FPPZcpJE98Qhxk66HEAQaiBQ8Lnx1wYwxwe2Xw3zIkb2ZDoZfZOpG9fomBJo+GTCy5oVo2At2+7K4Uch+famQROQyDm4ruGIR/jaZiE+0Q2nnonN5F4GTSVIRfJg2QXa8PumELwqiWqcXpE9Z2v10rwHv7QdjsytvOG/PBpKCmqIBkQQtv6L98ZCNIHwxGIA9BuJMJCYC7nrudRCs1XgMZZ1NKAqLS8cfM6xlKGqNCrcWWSXDIRpboa5QqwiyZKfFXG9yOocAtFniSj6fFWCWQ02dIxD0FGE0NsfgEZTdKM+Toymk6hpl5kPgQZTXrPmGsgo+mFcAFkNG3SZkFG08rQRGQ0zYPJe0EE0DBsj1FNjgG6bxmYZWscToYacY/N+55VIlbE+lZ46s8cyrvSDKs7fG5fP3iAB4X1d9Q82d19A6eytbiahpWuB2EtUWG9lV1pvUDK4M3LFN8LTWUohToNVYsocRSfC9DYVwwXPCsB1mkZSRlUUDwK4wletq9k455IybR9MheXISRq+1AmzgasiyG3Ya9+gEmTOg9cjb+Aq7cRgLEx0rXsOQrRyjsApEgnIVUHpa28z4EgNPashmjkvQ5SWLWz69XEoUMLkDpggDRtw4arZoMuwIrsLATFHPGvAdqxoTABJ0DWXTfyySWb5hknCL+8lVTq0Ad91hPOeg1YE9evd5Io8gVgwoGLKIlh8k/LQND4wQ1+JbGsnCbYElXXjojzK+trrMXO4DB7YZcLHWtuxRQXoXMvqSL4UnxXWfackTtfCHTG9ymZDKDNdUVkpy23VmDpHhHKZ6iQX0Jwq8f1VSU8cg9KyE5DCStNUMJcjaS/GDCJ0H4e1NmIxjYeKmzact4E8toXkSsnqBWIWbUlagEiVBOxfSnuM9B/aWFywDXon4MeQl9sLa9XvFZILG2QzZmwb5Ay00NH04h31WgYMwbCbaM2XFaxRzJzqjd3g1kRyr8qKDKEVVy8+An8iFRRnT7o9bLObfUDMqDzjQsxIkzkzWEznspF9Q5u6a0pWPCWb19AyHpm/v4jhCce6CSwX4NN1llBTytDovZPCzaeOxVFGH50FVFJeOK3RpebTt9zzUEiv9GR6Y7/gFRVXJm35FcVK5iMw3ShC12mewUGB7L1T9xed5k9Otw3FibJdDz+Yg0mTy4cyFkR47ukl37oIfTveN+DAr00zyy3z5s9hdDlvy/XVdNQ/rfnzluVgSpNXbdnmjX044qUVt6rizXqp8wiuZHhIYDBl3pjNicvrowU5iclS/yNJ9g2eVzC+1CGwgMykp1uP+ouREBxt16+lf37X+bBPXW3eeOa69Xr73/guUwccN59ak/ZSZ57TsWZc/LPT/lTEk630+GUnsKTzQElWz1OcchLdfkprikd1YjmwOQnOu4xj/rFZ9uNZPhDsQa72rmON9b+Pn2faV/bWt/yFnRBpzvYjja0vMWtbmXLWtxcFqb7T0r5/0DEG3OWE4w75qgjCZ78xOONJdpwWY5LFLGKIDRzyHXnnXTQThs874AdNlpp2vucddhOm6w05WN2styW5jFJaqDKRVe00LLWaoXLU9bSlqzI2lPJ8pet9CU9I+UXS0tYbAosHlUUKVzuQ9N/SrVcKpVKIh1QXlG5ZZZajIRSyU4S8UWRg6wyxzgx2qnnGfpoo55yCljANIN00EA5xVRTSRnF5JKY6AeLNAh4YcYygqej/DQ1JMCRjzi8sEDre6/aTbVcdwv8AEEcex30mvTLi459DLM4wfGMbYyjGsmQUzAlI5+s4Q9ziJM8ceM2ypGPZITDwzTG6DncG+ZxI7BN3k6ZJc91fFxTred5nue6ruu6juM4juPz+Xw+n5+fn5+f3fEv6NX1UZuzCKtbySRJJEkCAGBmZuacc65u5bEkSZKyK00iSRIAADMzM+ecczciSZIkSZIkSZIkSZIkSQAAAAAAAAAAAAAAAACQOEmSJEmSJEmSJEmSJEkCAAAAAAAAAACGn5jZV2mqRB0oXzR35tQxCXNlShk/YghUyYnD2OmdeR/vVSMVCVKB77mObbX9Vl5ux/al0z3NPC0dV1WlhHV6D3Da6e30LLCysrCUZaUqSZIEADB8YK8UiIIcYqihhAxicIkqFeP+GZ/0mYb/YXmC4x7zqEcy+ORPwWQNd6iDmbhxGcVYjWBoNFS4rpwZWy6crwVGjYGZnOsTHfTLJ/YTRX7fOtqRDTl7RjE5wx/64CZh3MZhpCMcNgb0v0Yjw3NnbLHqbXTkfakrKCdh7Ag8x+AEZ3Dig4199HNmfGMb/chHMAVTPJIRDnMIkzTqUY5sxMPFGPU3Xjoib+aWC+bOnDrJe/DvF5QVN2qYElLnlF1WCeMiEgbtktv7F+PBE89hGPX5jh/JE4+sGruRDH8oNFiwweJh2dN3Jl+29MkTVFBxkoQxI5SUOmWyxHERhn7jXnjstis6HNWiSZ0N1iljaJzvxt/9fXwQv3jEr0tlUYuLz4k8a3H9/9Z9v0YRVreSSZJIkgQAQBaTJAGQ+mFDXSTWtJyZBQkGw7iqA0JLwuDbsueUpoMOcwbkCFS2mYDmwGM/d6UJcDxXQ90osgS9swyQfuzhjHdzHqUspX2eBtH5XvVqwXRH172g21jxSU8bmjtSbXq3e0nt3V3T3OF7GDB1oL0ZQ3OHnhOHsgn6+6G5gwfUGPKgXx2aO7BfgBQFvWloZn/O+ALlhl42NLdXv/cl0PrcQd/tpHdfMVdZPFqYfXXf2Vy/+VVVXU3BQoVrKFKsaPXVVqcYNqwRB+yUVmfCanPDQZCi/MNZUn+TRSHAPqIuNJ2ob2KGSBYNX1xyVbsG1UpopdII5csJuop8AttH4dEAlADOiGm06SIRchptvmiEsS/a0hGNuiDaqjPCvCCy0RmdviDGto4YrAtibO+Mxu6MtuM1RzidMXZ2xvtKk4vxBQyGVrHMXhf+ooWnUboqylU4bwNu45C2ZDot7h8zZ8laebbsVeTOU2WuHDlhpCYgthrcPk/nvXViXk0lG7rGXu8eOfiKkC4YLrw+/3A6BPZR2i429CgNHb/6GOoZNkxRUeMTHasCqouhtVuAS+A9qf/F8l+DBpVXUkE59V/FZdMukeQXJrl6PPpH5eSTIrZAhM/gwADaAx85Jzsu+5XxLWMfY0fHW2+PnMmBcWQQOYf8+PbAl7/C4/PWgR+8oJ0GB/jmkH4biOft8M+bNQMXeIDqkwPbwNe8Ff7K2+DPFIHvlXYvtcDtTzLpi6jqRxN5Q8oSG4zV6Qqj9xW6Kpm2ZNAujm/Tv214oT/ac1qndHg2elYXOXvctC/sv7wdRr2ZrnbYaHtm3vhk37renmv0q7OBXU5t0At6zuuWv6ytaIFWa/E2jvYb7fBrP7LgMLXifLKv+kTGM0LAA99YsZbUCh5FVcL2583gVUsn/W8d0L5if9dCn0k3tnWrHYoyt7DtefsCw1DRCX0MRD891Wy7udrvGmkv71CzPo20YJCxueqJpqmOaseNa6BKqXQiVWuiVRWpAm25ufU02xM1KkpGlRSh+GZrkANCYAMZMJAEECByZVTQkHzljuSQTSbip+RgvqbzW8vmrdeQqyCtP2fKw3JEottN9kU+SnjvC7YIvJbbU8uZYV5qAxSfwLwUCXGOiWEVOimGTp8BxrDwAActXQVqWo5Gqa+VGrJ1kShdByL6t3tKjUuA+Rd/8bPxfg3fvk8vePU9F7gz9gTNt3+wCyU7UpYE3Armmr5z2zfn/Bpl8ZkTJxvVflaUQ6mf5avZF53s3ogleF2TkI2mZE1Ml19nVXQajgJLk1qnRqTpAxLiEI6awduMaYfijrBhQYBBwWjZm+a/cgzMBJ+AiAVbCo7UPHgbJ1AQjVjxEiTJopVPZ6lSlarUWG+jnRrt1qzdMad0uOiKW7rc90iPl97o80n0dfEn5yE1O6x1MIFiTiSKt1c7YACHXGev9Zow+xLTx7qa48/VAFYXka+zTyCHRk5oWyCr2QYnUOnEIW2fj0aA+STgIEC3HjIo0JSvQWz+TLZJ5T5FhDCCy8YuTmjLDtMIiRlL8ro2U5AW3kZiZ/Z7qmRNrLSScVXUlgmJQoa5ycZOvL7NrJlS7mjOQDo9GtqGCC9XNzGtRYFhi2tLnLWaN6QZsSGCrHzcRhS/lSWWHXMOAsRbx0QcEQYOggfXa6NILE1zR0WaJke2WLUz7bf1mjLaOPt0FQRKSwIzbpK2uqSW2YF/b1pMRCEWrLYsgLc0fdWAaqKlg9BDD04nRpW57Ug7aViJZsOThBxtNFOBeDBLI0w1HJcFtlFcyPXjazw+H8P1Gosdsb8gOQqVur5wu4S2EVaU5mJiuR1cc416r9U/mGLhUY8xLr5J+I2VANNoRL36trZyjwearACBvoAA/gt4OnAQ8T5yRFs/Jr9/1OX3f7Rr67XqrVEpsNRYzTJrZJd9xWaZbNU0e5hs7P2/0hpQ614xXtN57sP1/7iCPM1843naHMLn/5qyvE4rI99r+rD8r64z5tLzrX8BHHwBDL3QlZc780pGfK22N8PDtyh9L1R+EHZ+GLZ9HBo/CVc+69iXoeHrtn1P7Y+V/VTFr1X9xsbfKP2tlt86+zsbfq/8L3q2UocY4xgbGb8A74b2ALxsQOsB0HEczAQG0HODLDDIjPiO4j35vare0sGw/b8e0B2EHCo87DmTPpN9XHHizxPyWfkc6hThtOy04syOefJ81ULWWaezRed9Fn0XccuYFeiK5GLmauQq+xLlcuRV6nXFF6brRhd2C9wif6Uwwe9U3fW8l3Ef9jCY68/fcf6ei+de2nbp+p4dPTt77+7b0b9j4Nyrv3hx70u3DN84+vc3x8Z//TZflk1O/nzJL3979+/v1Zpj0VYHfr7t8QCAJXjX1nLZ/GGDteZ/hnJoDBtAXgY2AHgedhIAvJsaICdB1j46DIBX2hOAgdwEjwAebXqj3fkuGiPOga31wPK9EMC2383LoHcB5vtvJuA4XOiDH+94B+EAZ8FP+CxX5SHAMx4RzvPWAHrUV544DwnboJxBrlQxwoznRkGMgOECAAKCQJcuK+61lyyy2ovndO1FE+e9sG8wSUqoemJN7fk5nX2eq1RzrrR7BCMvPGlsZfp30F0/Ph95cYvOVnw6UDWMce/1c4AB+k0RUPKSo6HrJv7vkr5tnsuLwX5GFFH0nJvuISa6IARJsAjblxDZneyUPaNX6rV6o96sz9MX66v79ntywyve774gtZbW4DguvNVraX1Rc1bhLkBMBH3a03q5Xv2oc/Xjugha+5MEqat3V3pi8e8P23Ik5UpZUubUPoAfq2dzzfxsVmpOamvvGHuod13v2qd78WcxLPO3w0uG1ucj1tCet7uCa5YnpjnzGZrZieIXspSceD+U0J3y7PFQnMei+boNsUufNXdOYMLAb4ZF5LF4THw0GojR0PceOG9I1kSUNqVvlEXqY6M2kRnu4B0EIWR6JmVJboYxhAA0w1hhsj7tFUWZn7MqsnSlyL5sjD6tnkadH/Jn2hTnl5xJY5oj1dyvCXr3J9BMmLM0jMRwTkZTUdZnvGAhQk00oUpBkqVINVuhn7qtstwKFVYqV+l3m22x1Sb77HfAHoOO+dNVf7nsUv9yRa9nnvvHF6/4bImbA9CDuvbGoTt7ItKG0UU1j/JgHwwRYqEfzDFIA70aPGZbKuQMlup5E76Hznd3FlwAr4YL4T/oIve4J1wMX0KXuKfj4NLw8+n7ujXxOGCsAJh3AXQncOCLCBx7HWDPbWDHDIAdwFhPLQxraddMT8GqSEXlVgiVhAJrk6lP7aabqy+wVJEXhLWBUlu4TM9U2Mtser+IsTPFQcAStlG0tg7eJun/fOm2Zc+PYkwgdAQJgGV+q1ZEEl1Y64nSFfzKhYCYrOkmK8pakNaSNSvsSZWCjQBJDQqvkoI9SASGMau9wl5ZrG1N10rxQdomiItMQVeURBMfUxLZJsyQcosQV8DTEP04mT/fBLAkSHYIyIk2ZbSnHSORgrz0IZRca7Or8dSl28xCvUt/PVhoc3fBpneIm2caVkGMQ7UvlaXz0wn9nBu36jtGiS7giQ021T0jNKsYqWdvkttl1FHwQpuFznM08S94hkVXjDof+4W9tPxb2cibO7OURDFmwUgmdKrrVpSzPFfC6F75kVxYfJIeLh8E3Z1JLierZ3Hd3OLFYMxsclJmaN33RgLfYp98veSrnA+x9JnALu8s+Cza6hpBug+H5VmShbmCFEPwkCzmgWsJL6kI09EEjAyEpiEGJiPVRyHZS8VgZfD5wCzsKOoHDXcxFQZYzPorUEgUP7tKQs85xU6gB7nfAb2tmSa9TgjjUwnK41PCAkq4NvkbxpH/uVOR0NSXfGpjv0CGe+wEeC139SI1+j1M7Hn9qV8h8X8iR8JS7lbZ7UxKYB9enscic4hbQqqcZkfpUkr8aFlqBxEZWhT5mOOhFtbAgZh2Nnhzj7BuVKKqU8Vt69SX2kp77t4AcwfT/SH1wCRB2fipHwp30H4hRfcFdaQ92Hdt0keeBRLDrP60j7BcrUANKhU2/VTkbS03dXmQz4uv7UntiKfrCZqV8BfOBuuLfTKXKOFTYh1WXOD5pTbICFcZxqiBcZQMKyGxRV2Buy7Xn9q5X7ACeVNqpKIdmdae8t8g7J9ixO5F+NJnhUMvI2MZW3ZFYYjFWaAGfO/J9HIoKGfQ0exHQ/wUfsGmL5ouphGZ4Yga3SlGeeaf3MWogBUIW0OdkvZzESbacovlIYPQ94jxc/Q4k8meYoKFkJ6BZqDG8RZMOg7r9kxhWs8VNbjrBEpFT9UHNDJRW51Lh6QTWelpk63E9Oid1jXr2GMISDjFT1dKtmnpuCg2agvJmqYkB4cHPs+q+5RyeSB5DtQWitjRHPhxpCcwdU7XFgQsq1jluxUooMvF/sPVbWcoDfu19rHUJfZJEh15h0l3wQ41HFeX1B170Zu90wlJTmhPx+UG5ypDMqBekgi5jWogN3iT5oZgcsFujVpxX3K7xBRMLcyW51CzE+rAt9RbDVLYrJ/AFwazh8ke0zVJUo7SPW0RpMTThbGbcxLabNoBt5lByWNMs0hCVuRWL0moQ+u7CGtb+hdT8KNopiMOPktYdoNkne6Ah1rosRypH7nRsJsNmOaUb2JpHqIkx3zJr8VbZlorzEDzYaTl3eP6yBkv4l3DDNXFxOUXB7+9IdX6A1e0w6vcVAusq4dbnsN5MqO6T/n28E8rBks5Oju6I6NgAcsQQhFWnAJlYoI6VFbNRhhYS47nvhYb+vVXyJA+wMLOTGfxxX0sj60N4lTkKu8W2gxll6CEDkpo0S01Y33uLdQivatHu1lhubO25NwOowjLIKpknUYFL+8tWakXaoPgqmYUrHQ+Z0NiZ5rGKcZmh+q7HYMmytY7DUWY29XQQereiga4kN93gMJAIZRhOmlz7Dgg067nmXoZClV+nxFeGAkA1jHy/NPHwqmrAGvsAdqSe9MsphSOoZW91bMqPCfKRR9MRzG6AePBA02smXcrYxkiE6fWcZ6D1YF5M6BPWhsutJNGoY7qj22tAG8jw+6qyiTQQlYmibqUTaJQ9zlhn/b/Ygrq0Y62BUx05UWvGw9EecAaR53HOUHEYbXdSjQxyBF+URdl9YbgqVhb+waGhVHf7TVKF9LRmaJHzbbZjgGNTvTd9Tjy+66GG2rUr5r6hD+IGC/1m+Gx+b+QuPLFA3IMPrIQek6H61ybdKN0ACQ9ByFf7RB6YWFKHc84JbY8STictLP2b343R+o3lqxQsR0WRraiwlSyloyVkC/gmQNirA4/YaxHQpLBGg84NZJSlF6K2AkUkGD47Ag3pAseXaXqPJqEx9LiCecc/dRsg6dnbGOWZ6brKLC6J+yxBhLixgjuWEdXH0ki961kObM+2WSghBINPaERvSueF1M8FmvW00XdvJrmVDCPJfW3rvWmnXtmTJjv3G4WLckClhNlKM0PB5xu8jzVuNoMxs3UpJ14lZjS4xNq0l8Jrv6qglWvsuo1VkX7Mb3W3zDd52gN63za6yx7yIPcF080p3AlRBU07XwIJPHuP4IlPHHGKd2TMfYDHs2nOeXp51RKcmIWPRArFE5amyP1doPQ25n0yLLoBaQfdrMzTX6EepYzURvF2H8p6YP0SoKyDPzyKN3oyRbOlnwmgD9dLxR2a4cSG/rnTH4HStszldiCa5DEv/PsCS2vUyPvbtvrTwII/XRGf+rxBn88WzKUJoVWsPG+/+Uji9ajZ0jLuAr/GnmChXuVo5Agmma/JURGoXyzXRi0YUMoy7O2LcTBKa/N+xBEMPGoDuE7abTyYeayQ1psMlAVPFB4aJozeypSXl/beIQJPMgrvt0K4rblkADuk9epIFIkHfzBfg8EuIknlK1zpwipM/GzVAGgvxpb1SsOduEJrSkrk4IirzpFrV06D3yYcvRUmlOTWISN4zoxqKuqBixNsx2Qnq/rcJYm2RZzF2v/2dMPuFrPQiAHtYKDGFAEwM64Jmnq00REqsb+tCXUGt99VU7p9qJX87dfcmfuQGZTeXu3Vj+E5HXHvn4iZcAwZfpnHLMQkEs4X1c/okAErm/6ZrhpZtu9uTVrpjwrUDH2/RDHzz3q1DsEGsZKJ9A7/Wi3CV1futiWVD9ShGK+0TRuwptnH2lndm/3n0uIoiKs6Mx0IouVdbtNsRYZtzl9sMO1SoEqXDTJ7i1lfjpTfcnR9yZhT6cAsQOPPYtMn6dk86ihf1zbfPEx9wX7Vy66u/sdNdeFLjw1cYAV53dN5PNIGLAPZKY364jsJXv3m6MsG/iwe5wfMksYL1IhxQCUGtk9bH2pcHs7GlSrjXNTYwn61I5MJVPyNX22qyn2ZkosF2TQhRbILb0YO/ViEPgb0Z+9kqGsPpI19hddYiv5+azVwOvTzX0aUEk/FPwv7W0fDv0PKDnHWv/fKh0TlE5cF2Jc/8AeSj+t+v1U037t+/kRH4z1uqnWat8rYW05eEl8/4O7/m9JaTc2Gc6i0Ytr7rdu/nt9daV2Z5A/xZz3jV6i/uFC2hqlxo5O/DsBNgVfMqVOffF93dTIjw+a2wE7Ld3vXZphdOToCAgD2zRt6Lo860ShGK1VpCA322LNW2OF+0qLJSefSI9lTYqO7jRkkkjVrSSxdC+BXptEKqFkNhq6qSD8Z/FS4JmDqd//sDc1cH5JeRU1qpPPbi1ZtCOTVQqawS+l8UFTteVSh87yAW1IMfgrqGS1HWlxi1J+clR/NRkYvpgSnvqxtdR8rk0N3rcc0UzVP4YdP0D+8M0uauJJr1wTsDA1A7ZJwllkU7feb58a/vRg//9M4dSV/6haYgNYT7e/EjQ/mfrdD3oL+M0vab7A7quVn9iav+qIJymljPpAWv29xmrL5WadxSNhi25JLl9tbD07kTA2P2y3pVZMX3ODbUNHeq4J2wnIhLRps23rpd8vnotcpDcbO1QlfDTN/ov+93+7CKKnb0Ric/SyiqpzL//cO93leTGA/BD/mVFmwpi7rp8f3OWf3Sp0PWAHtoJ9C0p2/HpweVuWr8q7ZDnwmXexr9o7d8Vx7LAdsDDFWKGgFNdiA2+TEBPaEdzgV3jH/g5r3GE7ywSRB9eFdTkTtjiZ1aIGVBnBiud11v7NvBqtonZDmG7rOeuGUL1qJ+D5nre5SCcStRkHcdXb1yrWnSWNDkwQAZwEh6h95qWA+YOpP3yvpIAzizOG+406y8VzRgicofFBE7fUobPIB5mrIQsHqc9fgRwyv7ptalvXo/YKs+MtJv5I3rWcgeCMH+x9GHipK7hnMBQ8eLH0qGxSrOmkI9u4XGRrF60sBlgEwe3bV3Y96v895fK+R73n+8EExXs1BV8u4MaL3KN7pts0HRiULo2HquskREu1JW/kfuEIUM7c932eYWG99uI6VmZBHywtdy8qvYxGoPMMsTSHk5Hze8CV87t1Tec+5HXtepVXd8K8eMG6YE5jEHcl0QpwVLGoASba7b/UBa8XsjuklbqLv/wILCHKKcnUHWAR2AHYgfCX0zHLlqqf+h8sXs0XTcxkVFYezUifyL+6+KC/86e1LfDGcNzvSbUrif5v9DwkepEWOb7u/c4E111yTRd4F1VbCN49XgM2DCdbxt3Y3rMk222teWj78dWtBJ8e74GVsOv9u9Zmgu3JmlUXg+kZ3/yYpSDkoUO7v4MhwOQus/v4LXjcV4Vq98n2fHrfJwybkBEp+N9QcgVJ4jDs4/gHPizHNt+thCdrK4ZjuRHcHwIeR3Lj+IuWFYCb6oMufgp9GUEn7/QvIvsrKbtDyZCXT9ojzgJ1dMDYi+Dk3MZIFEVgMY+FG6e4zY7mX67FydthmB6dek+wnYJRF/lhWm6/Qkwq02H6vSkbsq2rbVaWW+KixHlRVLoyAkd0PIwIzO0umQlLRXS4NtBSh+pfHe+zhkYzDfAdIzktFLwWM3g4xV5kx7Xa6b+uGIomIuPiKXl+4IGL/IhYW47eSJzcxmSzkmwKUEfac+Vn0d1ZlBFBrpZzqJ+Xi86HUMmEo8Eu7Kqa0wR15TKjqts+wxPmy1CXjSBzeIfijHXMe4Oks7RGfyYLmVbHzclppuC0mAxsZKYE4DsWqtenTu4l95m0t2UwVUkt28GBTHktASsMtT9yFLBNYT/bkAl8Pb6w7a6x3Ox4a5n53aKJvbK2YtxiqRq70FYozzPm4c5otfjzbXK2j4a2tFnAVZNyLPredurNDx/Urw1/OvUxOgM0VE6JI+Fw+EIEHgcTuMOLO9XY88UK7LlOVTEi3YMQE0E6dyjcgZiqLmN2BwKkhfFee5n5icPlZvekxkI9HsP3sPVrB2xT4Ii9J05YQ6DtlRjl+PNaLe6MMS9P3laIXVCX4hbbi4HKYv+3nbo1h/dXWbwu6eMdjmurY90bJOX0mbPgCszBJnFubmcWyfz+wwNcSTKivFsfCXNhVelP4UFgjmhg54DN6nsfM/m13SgGkmWPiOi/e0PBIrEZN0DWCe1sUllecHe6Hkcpj8lqPKxvfbk5DJNWk1zQeE9X9XHmSMV/958zFtTgsIKQzSdnqrpqTz3ltOVLjEL80coy3KxRkidvL8DNFavwM+1ZgLF9RKW3wXC9V+TAuVq98qBQtNBxee50bWN3KV2PTTEA83uzIrDh7ntzR8GXk3q7aYW+E95UPJcFcL+98H72/VNyi7CQCCxMYcA2pRyS63Vb9oF0iKkgvnvLzYB/bHfFZ2ka4gmVPXscKpy3smQVPShe5ihLNF336+wPFU15fFJBUlwh/vHs/5uizECVJGDLeMvANouOgGQXRE83mp3MxUb/u4itndmvN3/3we9Vdquw5xRF2MVutdLRn3cwXA444GjIPpBa23ztMsEDfWoLzLL9szRb18+Q7x2fQfYnj3pevOcTf7KPvHf0sLWnZkSSY5/585zyd1+6LhmvJp8DM51UJ5JV9VszDvo7CRo4OaWt2dg4Opm5ZT6od/uuHo04f+cCs0y1F5NT7kzdH5AvzyzIaRDgknjETMcpv97t3T2qLEXf5TQw+3K1YnZVXKO7LFQdKtfqjsp9bbtMjl8a0OTPr8oaxifH1a0t+cr+7vragwKClIBQJ+c1dWiKdzbI6QCSIxpIHpjcMBtMSsDgN+NZvr3zuA3bf9vX1wKybKLY2Xa9QxPS7bcxY2ROdNTOeczQol6fSzTrkhLqKxNIZE0ipk46MZsJ/6vUY9DX2KKvyg0sSuwQ0+XbQkLUYQY9saPI3wy8cp0VXfphA0QC+8I9I7kRJsNXslQvFZyD/nSYaKnpg1v2jn+0o14efYn/qmWGD8vLpwNJEv7RDG3zGkj6Ry1t+rBU4+hk158O5IBRv0n7VP+tHP+pgH0OxPHNAqCO1wGxNcfU+jCaRe0OQIsC0bjuGFb7w1sNBYbZ0ttjf8EY5DZ/ZIY/EtsWzRj/CxjVIYO+hTxrPMmV5iV0nc0BVpsXdeP/TfZTz6rnnIV3nKikOoYWjrUBujK/KOjGjEl8J3Srx8bSSRBv6FoGC1MrY3anHuw9oS5Z0ZSVXHiyaG/NRI2kLRGvYjLxZW1ISQ14qrSJvz20kLfdHmrT809L+S9DI2U/X39Ky9bGctiVm7YJ6m8/v7mHQ9BqEz7++S+pwSzPVv5/SbhzVGrMxI9LRMi51vJiWascM5OXteNQqxywH4F1jYVgXaPP0sqd9QIWpny9EteOz6jHwPZzh0yF6ES51Vd6bkc41SNMbrsqwVzyeR6ANOObYcpt1z8KwLe6MB4510xsf8i8LvPLm4UdJacEmolNxYfdtsgbqvMzqsixtWvo9tNrkqP4bHiGO3uDi25yfWhMSNJ0mEHb0BjuM9IT1AP4/7s4oesUrAuWuT15JwK2E+9zhDByOidB6YOsXGksslhpKbJcKaxEFXtnxtYSh0j4G4Tikw5nhlK//4EW5zB/UnmNDAypE9+crGJ//LXO+WZufPzbuSrOr79Wo93JifHC3naa1fkOmnXv2kKDd9A2Lp6hWSXBsnuzHor9k4cPO8/qi9wfwYD4R2cmr7AJXomlpiirE+gcLQatZZ9qqLhyO9tg+EKhPlvKiO3rXqk3YvnWM7tBgfnOV9kNx9eWLlvg2JLWGI6oC8kqpTDolf3YoorxirSGpBQlhYgsLEtgkBti2LlmhNPm6vrjD7PrjVeL8ufkuoYZpbe1yLYxBbdHVFm/9E4BylSD/qvrVT9SPFVm1rmT+tB0QHCaA2wTsMzrv5RUnVirPGOBouRp40j8NhZtl0jM6u1KFWHbg44fd0h7tWmyOPLE+nvScIrkcIq+ETdX0Fnz4kUJKExNn0f3jQo237oUFt5hupapr76UXX18s3rBWWysVZccMKT9c9K6uojbEkqpuVOte95lrHr9qqx3gt/JY/WkC+i729P4GDUsTRiuQXEZPZ1CcDUg18v6ny8uHg/geINy89738pqzFSLS3vp8pu36TDf9vKak9MRNiaGelkRzokRTMy9zW0+3rV9A2SuqqDv7Xr7nQHYnkqqmsVi6boJQZJyydCwaRd2NzF6kVSThlCQSurAygcE0BrqQ3pwxyqokwDfXX8quPrlZc84xy1ivKRkzcP+dtdYWcZvDqTX3dLrnncbqt6/L+swE4HRe77DA7lZ3WES76Vpm4SKmNDpNGKFJTmXu7hAK+R1cVo9QQN9tTAO9ftOwgvPrrzXO195v5ipDFchxpo268fxZleNQO7uXznyeKsG5vf177T/7ztIyVmZUZuRo3kv8d/FFu0Pye3VAlKf3jPUQMtA9vp6s4fzdwXyR/668t2UZuVUOK3ogDIxHOsJdLyrVpx8/dfIUGDRUNMIkHC4T66lLV9f05u8KiYiS9xpxTiXkzT+amnQ3tzvCI52B6YFUZFSCjHTN27y2/hjYFewVRTgJ6kIAcs133SsoOaPKorW3VXBRT/eP/R5MgeFFAgaCExJKj0FE5qYVwtGBb5CPYOM0sa6PsIeXzes9wFEU70tN6+JhIlXczIGApwI0UY1NwSqqE5m8MUJtE2mp/Mhu9PnUwhsJBOpjCrjxHC5+HAB3Pr7+HYJKhWs1AkFB8ARYlq6poa0eTt4Ef4xSKSOiCPFHT6A7t7FFvTs7FeOP8uNVpuGQOYVwTHxBOD7Pgrm4tlozsyLU1C3myI6XVMgOieN+W0TwyeNtTLspfpbe0o3N6j3ZHEyAiAZYZK4CjvYS8tZ6tZpjH1W7lCs7tiXSj4L3kXKxh4IIglo68Eg0lpyjIhIrZ8hDxax44k4DzE4Ryjk+o3tYtwIyxNxTheGRNjU1xUwRizI0U/OqqImo3P0vGla0d8ErR7AO09H/Glhued4PCsS/akfhygWdvnB/H/9jDgswvkir+PZbXerTe0WMr78P19695d5w+/U8j758h/uYE80FaliFlzClff3oSrHScKKe/7K9UX5nobJMXIMdt2KP7EpI5iFTKNkeX45pmV9Pzv8ff/awjfTslUzPU2cyPVdWh+cu0Ps8ynyvBRpNXZADzsOETA0lZkhTHt+oiUljqtiJbWxhxL6iLHDFLtfUa4c1Rb0adN4jdN6TsHkwkQqObMZ2OPfyHXvBua3aBxn7DwreGAxaav/0A5G26qFobFro0sK3YwdjfuW+8gu6kjv6WiJcKC4vW9Wq79Tqjc2qwfsjr1B15WZR1boD+iE3v+LGjeAabWbcKBL12aVU1Y2bEIRz9rT8Y5+uBFzhJ0Dczu0vC1pU04emrXreTk5PgqQXtfkRr79s6pgAKJ4QADxaAzpSzmZuN4fTzeVxugLH5XVxOB6X0z0aWJlv3RrTmhYTc7ExtwZx2/qtDjEXHMpZZp+Ocr1e5Qqg1kE38TMDPnV2PWirb615kAS0qlftVo4MjnB18Wuedt7QCNx5LnsBpHStT03tNzUy93yoq3EkvPqiqXkCUXtiXAx4Yfbl6csxu0YvjYJtrcOHpw8DtL44qh6hKqWcuKgatUoVhIW44WDo4PRBEwtOocBjKGQ4nEyO0Tgl5vMXlowAisAhxMpIcBMzdWwq3oziT2QQ5POXn8Fk3Zoq5p7GZCKxIpGOo3yGJuF4aQfWVLL2GJKJ5CokOVn0FhpHYgARwI/H2w3uwBwFLiGCbAMdRoKV3g9WX+nsj7//lPL8PTgjtU7gHAypdumeDbz+KSTp6o0J7IHWh6pJIEeAHbK6NE3zC6W540Zc+5e0JtWnHArVDaG8h7AQOCCu4walWfOLmgiVb5ab+KOjfFN5uQpBiLHyiizwGF5eW+UVjeZKZSUL3FVZcXUj4E3+6Ujdv3UN/96Ub/Kh+MYQ4+IRTHoA5CJv1EURHl7iqFgB/7/ao7q4uqhMepRb0msjPmab0pDBJpTh8GUpBLzG2BPYapEt8Zi1OL9/gistW1VXkiabRh00d+4UOIyOqkBCnG40Sxo5UnVfMDYmuF9VxQILPF3V5k0CoqMWvnPK2t841pj5jVOkc4ZzsXOmc/fXmV+bXXxlnA080InpfTxBnzBd0N/HTxf28vn9Ps7v683z9kSxIiJYUTBnsCLJYEd2BiyK3knYEUBZxmmOoyuZGZLc4WDWetr6LKtvZ6/FpJFS0ySY+L1QL1KJsCuAHF3mLE9CK/khE6oNtcuYBAMxDxbDDpcvsDanW118boMMkRQnTgA/NFWfLZCs1NZLLpzNr65eyM+7UF9rBBxI28GSU2F1NFpUfT6NxYzxejotFegtA2S+ct7nvPbjY1CO73Y21BezHYoGdp/Oje9w7q+xHM5LYSg7uvV2o98oHC4eLxQA1PRgyVr26JMK5d2mRqXpiX50YeN5KhX7619kSMm+lKxWB/HeAGe+VK5IV9Jp8IgUfNQWl7HP4lxYaUIivDiXhDX3DUSglbSOGwcmxo7vC+zp9fcWCyQSsYyTEh1BJET5uoyjoCJJpDJuR5xCgkdZQL+WUjzSIkWZLUeINsZnPGcMIznAE3vuqsfYryy3RCbK3wP34m/wijkafKR//WO871YVWJddV8Wy/hx7XhuTnoTFc5NiJkpONXf1zjZIvbcmR5NyBYz4PsW6uQqQPVaeNRorkq7BHnOSRaZQsxLDIuSJQnIVmZKdEB7CQWBwWTHuk2BLvKwvXpTZlUDLQ2Fy+Uwry/nWykwKVpi/PwF0oRamSl0UNPH6dppudDbc6+3df/9aZ/2dvkYysbOphdhNpn/O3dncTOwAs7KDg/cd2LCs3rtfC+SZdtDQOHZoGDEqLPJzzmDhiFZVuac+HeJF55WlZsjUVrgmIOex6kOpqcQxKd0rPI6GCIXhMRS2jg3HJMGCGyKC0iCRAwkMQW0UmVOyIz4HjiOkP7PibGBKqNmH6sFbxbXoENky+mr6xlv0P9qxQGpvMKiLp5THYNODBiMwgUHxNFJiEoeN3jSrbPeKrbjchHU9te7pVicIWYPFVFCo5EoDHnTwQrPdsuk7hmp7eMs9Ah65Ip6aa4UcfYuKiCJlaLUbfdPhSJwKjS2jacYOGOt2sDk7EmgcJBTpexQnS80EupiBjR1liDbuKCB4wtY4siQ5wo+Fiz2zYSQwJ2EHPlMLZ9CrEfjMpER0tm5Db1BsICsymSppjeNrMcREGIKBSdxBxyBgKYlYGQwTFxmJQsARSERkZHIc0LAoFfEUqRVq7z1kFCySDA8qYllh8uKTcKUYbDmVRa1rTeGZ1cx3yaEkDzX08VZ2CTi7glGBfmgfDFuMQTJTkxIpHEBe6l/jz7pf4VcB+oYbIA2g8JjeVm9jXsKrAYEqDXoFsxCUvHNHI2lbKdrdmDgRnr+TUEr9BOKpUUUJU67NyFLiNmTjziAUesHvCreU/IlYBr7bENIX8pAHcqW41XHtaqGpniknbzu5I6OOmdzCpDLRzY8ckbiGiWpeVCe31HzzqCMnStHU5HgZlYSUJVPRSVIU+gXpY1rLRJ61Y5MkRMlWDZ+MkGsr9sBB/fMyI+MxDHt3Z11gB1hm8IbgnF8StrrWuuvMeNRSuh/KpSvFxWUPscosnakEqRXy/ROVynRbXldUK41Z6mPaMNcH4AkcELWeadt7tkCYks0UMnNNt8m6F+4FLi1A2h29bNnNwnXwjeuCYgBcX8JrQpmdl4eX1x73A+N1dDBBMkSOLQcx2M2dmC5kZjOFKQVLTUzbLhuIJ3Cgy7dpPgutk9YWRbbCgWtlNIJ8f0AYlKUg8Sc2wxlYPghLwZlAXomlSmkND4/EtrM7vdZ8IvIlGHfiakUT0nsC/Nq7Y3h5WYnO6FxDeCkdHHCWr4mWg8dUdDJjbPuiFJIWxW4TTV8xlUDgg6sE1n7sQpa80wnx8r3gpike9ZxeXdSDUj6o4f3uI8C9/7inT7wucSwRBum2ybaoVlqX9XezTd+AGWg/YR/Yzyz/+3IdvFDq5kYQydWEK8uL6/Jqs/+usIUAFPBINswWc5SFgysWG6EIQ2EuCXs/awJ2pQ5RKUMmMgUTBSMjMiI6B5tLzY6zvo0/9M5qQ9vaoyDVfpxQhsYpcRIqDnFCioagmFVqjOroIQuDEQjRKvJPfFKAfc7PzbjmsQv2Ro0xiboNsZ40DYzlMg38MARyCM70eJcRnpppziczuApGOQh7d7ojsONmr3HrtRVzELX2T6BXCJODZVUv7vG/awJrLsMpnOWt14xbTVyu7xqduub+BssdocOHYC651dHCI1aJTRdrklNWKHl24LB+yT614rFzBL0r1QJuKIb+0YnXL/fNiRPJQR2MhmI1OQQD6xWcBcLVtTzku7vLeODcKjkv/oBIxgObOSzvs95udJh6vblJEYNpupH9LjDMAAMASBiA9Pgl+0S4DZq4BTFxM9LGIUR1lUReAai2wgRfjcF8XAWRU+3apwhyBDCptsprMGlWFIgvwVsQ/EzJsHQDT80yOSSqQoO3sN+Bc8ai/HTgEHRzAOTUCtolBANv9eF00Sr+HEeQByZtUCBbi2UhTVoRvVcodGSYFDaw1TvSTfEMR8UlbpEe5GbI5pCUyW0Sw62SzUaATuiAtdR+oUXqTtH+16OVPHjslDfhU3n3hs81zhNMmXFlbmZbkNtSgG8C0ZaD2hD2NQSCv4BUAffl4GaZgkPIVm5FsjgGxzmNLC4mFlJLCAYtfThd2I+rbUSG77IM75nzmtBG3uiB2MbrqcP4TvE83jHx+FAJhE+V5AbWmiRgJqm8FByAOm6DP7kVEXIM/liMLsY5AT/tDCJKvQEZJXWQydus3ciR2zmgnbTIluTgZlncBpDXU3Ukld8bEqCrNiN/EAcgnlvhsG1BFKkN/C2dYRw0OgS1VN2/EAoJnlUp/1YAgGwIVn0RMOC7FIJ4EbeAkiNIhm19ENUw/GLbbVehctKK/JqHSbPsoKra4CPUjKaQ1Rkyq7hL66uw3m9EKGqjOTRpo6C8JbMhaE9s90cqtBq3pz3hZmxst31VO4Hb/E5x+GfTiK1q3DXx1q4Z7aBMzey/tyHjNjE8aZFW54J4M4ekqGqrxK/pR9ituUm2h4KB5lVWa90QfAPEDNovQEx7sDgAjp1s521A7k7JVaXI1EDo1PrhmehUR/a87/At/Hqj41egFmhxY+1iQNwNgmHQ9v0JgsBCWutJg9sYDrMQdGQrFP7bXMS9OS4iyCrAxvwvOxUDjsFbfZluNcAnviv0ILznR3S/g+RG9ztIvn+EAaxMt8JoAaF9T9chRD27r9+dU250LuawITi62o6mB9vU0ynq/Uvl3d33ogbz8WYbSC6zLcj+dJ1xk3mDevS1A6j/NIAqjKIuZ23r12BbwJYqYYs+EfKjT+E96h/hUb/tIKfjZ3AgllEz4oqbJ6Anc/1EoUd4lsazpSNnBG1T/PJVwv6Cv/JkMj0XbvYCGBkfcibnfawLOIPebSlNnMTPBw3ywUuehfwPp/b9djyOAEYay0o84hlTcZu9SWlBMuYPprHgs5vX/eML/1aR9FqsYpYseqqcWsKlfMz4oyrwZ6Vzuyp0qywq9eViitnIkp+2QamiG2DyRLs5CApWiEKZ9CUThQH8EKY4FqAZxB+lzNzdQyGvqW1qNIDJXSVHK49SgqdMhDGHpoBkQeGDublAz4IOFqr1uQZgyuFGxN6klj20YiarMoBDjdFs/n1caOnBRDZBbbXLuo83Ggdk0sJsMER2NTdbbfg5AGvMkuus0B41RXmjhy+2YrtnS+zxYMu2hkHa5+/5+/6Bf+gf+cf+iX/qn/le/9z3+RfZ/hthKXwvvcNY2NPC+8xzXVzxIXNefOCT87HXPZPb6rQICGnTKnwytacVrDmwA95Fpy5nnfOfbuddcNElPeaHerMsASLV5UfwAQCXx9vaqV7zBTPfJHedvRBJSFcfSzP//DLBvztV8O3BEie+tzm5crATzHRbMqajYP3HuO7unzNTAADo0ncbKQF7CgAAAIAHAL64Oz+5vlwdiesBs43t+ZJNfetigqGaGHlnSaa4BMK4+b3mgupLgi8EF2DL6y2cW7C7LwywurwwufKZbVU9Y5L0QfN36F9qw64W0re1YJ4R4MiHyO1uZA3c49/YMwYJHfA+qYEocE91wFKYrJtFbiVfZi3kHHxTgf0DhsfVPLVWJKsH19KwKT+Fv+gU4klhBmu7lnR/iUqJJIWXJatde7kPEWxF93dyQL4jz4KZ86B4W13/tX0EBWz1LWkNFA39fpLIdSgy2ANcSv1SXuTUX6IaOIl8tJZGeNtoXiqcXPmuL5ltp/Z8uTpjusULQGVStpx1i3nIQ9akPVQSEEGPd+KlW1ktRg5K7pqjP6sFT1hrJM/TAPaiSR4JU9zt21vlRaKvXwqECAhcBsUOdPZ15q73qUiMCnFSECt2dY+r+QcEQ/BF9V3+GmwHbHlZNJgL26W8q7aLQauR0S4YrtW3Si0c3Be6utPkJFbAbJ6Nd0jfCMCRD2EfBnd2MdO6BkhlFyMdDKlPGkifAWC9WgdKs+lL3UgxPJ9l8E54CfXF3eji6lu8gi4m2EN5/PfIi0PrePlRCmlsbrdELT1IoQPpoyhMZWj/Kbw9HcQWDwS183+SrFPjEYimgH1cHexNqIYZJGp4dNkmd/Kl3A5kUNAb+hOZWiQtpSjzPW02P67jH2jlRs6iJVjHccVd+MYgOhEmW32LU+xAWkDHr4IvyF3GINedCD68vUJDIKfgEbFaGGu9PxNbx2XdAWB1J6o7sKN7K0D8XwdTowzBBES8GIAQNvVVBUzGxQTDuaQ1WanhfTAA6FjIgLvzOjSNvE9wAbTbKPnyVH+PdYfZHRBUdwI69Z0M6uBh0KtvqQWHHoJvqjeQV+Eoyi2EfIjAwLJsbtX6jZJ62EYaK0b2LccJtEKGi0AjWCR1G2Asc9BzIjC/+CWgww+AGN36MLem4rkJWHrGA9pdcrnbWU5zzpqlo0G203uds85aVNqlzRVroItV1h0z3KK0FdWTUKhFV/wJBJXPtDHlql0SEYUr92wxQ7e6NwvomPBb871W13dWR9nEJYvWmy6Ol9dvFiRYm9ecdcXwLjZYv3VWz5H84a2xat2wuF1hJGXrHY/XbcO4SyUDm+E5FMNi2ADVkR8Bj+z1a84GctepHuplzuINOGUFeFQ+QB9Z8HW5rumt2ZtD9Tzgsrlh4dbmJRlul9qS2R0Z0+llSYZK3LkG168/7vNaA65D6wrWjfaNVdL6c3Y8XXLZJU31/OaKFCnYsnKLW/N3Nwv4AO84fd7q+tXq6CIj2bx26Rovr3sXZMPavBrWFcM7Gqzfuqlnnn/YN1atuxa3iDE87VvE5DHRVgvNVnSUUtMyaEEz3dOfzRuD45NUC80opHMOBqgXpA5lx+KMogk69dtz8qbf5p21QNn0y+xe//LEeL2Z/TW+gORuJ4PVwzcTHARpksbI5vlWyV1qA2jkAAk30dK0MyBjMcOv7WifLxctDtt3XcuD89/WSTnvmsf2bbZuJepP7tcRZVX6kKJTwmr/9ist276wIvagPEGVGBN7Azv00B1AP7sD+l4O7hEJoYZqUaJwd3eMCz42VvopBMsj3taocN8/+wXMJ/xYwvUpJv7G/n3GdaZKtIDeGpvsdtRl9xpCFtm3NtOwsPnYTNqUTNeYxzfR6Z3gpKe6AE5QBlWjBehnzO+Yx5iX5MPyqIKFybBMLA+r4D/Pf5f/Nf93vpB1lI3gQtyIF+I1glcEF/si/Sixoeu7rn1dEs7bnMgASgpIHekkS8i67te7P+n+qRvnvsh9n/sV92fuiYGzg4XUzp5C3vRQOWvhGW+fcWpoZCimFNJ6etOZP5558Myi+Pfiv4w/Ev+PslPZr5xQUumdbM6wM/wUnvnnu7N+QbmCi+1l+UV16bpgF+pSvUIT/tX6qrqWXBVX823JTX0LvNFvolvBrfLWctPdnBRT7jxv73nilOAE4G89v23iwsTgZN0FKy44PP34ZMdk3+T4ZGKTlVAuzBRuv3Bs08zmDaJFvWt6t/Xu6n029e3Ufak/pv61+czm3s2jm5fB/8TW9mPt0fZl9gb7XfYH7GftL9h/5YBz4DjkOEw7nHa45HDH4ZUjwhHnyHbMdlQ66h3bHQcdpx1PO151vO+EdKI6zTj9LPtPbu2sd25y3uNi5RLlkuVS4nLcZdHlC9dw1yRXsivfVeZa5mpwPea65HrLLc6N4JbqluNW4rbkdsvd9R5UW9WF6jnqVHWuWq2uV3+rPqpu03A1TVpG+6B2Rpele0N3XU/o1+vfGGSGBiPPmG1syViYsT+jOeNsxkDGREbiUpZJasowuU1lprmmNJPUVG6qN71govQxkwfJgRRBKiEGSAekF7IfcgSyALkGuQ95A/k581+zFdQC6guNgCZBiVAeVArVQBugO6H7oDPQRehN6ONXf+310/od8XvJt2WN5ZGVZ620Cq2l1h9sm+wwu9dOsfPsuXalvdputP/g0DncjkqH0KFw6B3tjvccvzqaHZ2OXseQE3EqnG6n10l3ip1qZ4PzA+cB52/OXueEM309XEaX21XrEroKXFrXpKvddc01cwMn25F9V3Zr9unsnuyR7OiNuFvo1rud7hJ3nVvoLnDvcrfn8HLuzbmWE7+5Nnc+j8hz523J03vwnlzPMRajXaL9o3Oia6MvxQTFpMUchNvClfAJhC3CDhGNICHKEeOIS4gniG8QvxdZxJrHeseGxSbGkmJ5sXmxpbH1sd2xo7FHYm/Gvon9vdg6ThZ3N+5l3Pdxf5SsjefHe8QHxMfEE+NF8YXxU/Gn4hfjLzd084QmBCcYE2YSnicmJA4knkv8Psk9KT+g+PuBbavf58RVAeo+1WOqF1RvqT5Rd2LnYLsr+ismK45UiCpk9BrtotPtz9QfY8+xT9SEOa/0MCf5r/k/7tlZJWO/lfvR3mPVVe43ea/y3ux9fO+nD56NohW8AQ7IBQh4AcBhtD7pgkP+lglLsj6pIoUyEdbrwVACfpIhBxyJOgWDSAgh08C8+WH881tIXK/mJYKe1ou/1C3XNFiIkT7jXtyspyEkTJQxBVhxS4XeTZKEmoi7+/+oTeUQXtJsrYEEVrmG1gWGKsQRB5BMW1hgLjR7J01QKZ38azJiJiuzrcQcXw0ew7iGKGApvYfWU+ZcBoRIBWp8Mhlz2ZUlExCIkupHQPIdxASAYVdBgcAkmhSBFrn7uRwAkUmD6acZiin+ELfhlbxOFcnYhOUsEb/7+nufhGeXcGkdEJ8iefEYx2ocU9C2KlwkDrzkO1G9+tKVKObEbNCojNSzYIEmvQJwrJexGd9drDxzsVE/LIG7zVaPJxxYbujPCt7js9vdpnm85X9b9z7CrwicV/D3OtbVKinnZ/49DeelkvgKgQIbzlcn0lRlnPelPok/cnPYUYya/ZkhSX01YCv1oG+Be6G7gUN5xLPIXVZxoo4CGQNv8E0I3MSx02qQd936TC/zLSbUeHZ/3gnZPiqJp5JlKlk0xaK4Ch7m42ME02WT6ih43NCtg6UDGwf5RqGoIeUi3PaBs9AP2SWshB2ZjIkmW9ns2dMcAseD3u+5NxX7JqI6BYuqOsHtqnO4XfcGSlNwS4JFUiD6e4o7GEjK6bOtZkAWqy6bx8G9A77N9IRjrGfghYHypiQ8GnfONyXgugqjWU+TPM3iGIbpuY8xCMFrczw+z0t5P8JsURxeciYDx4Gtj2BNN4DLbmRP07bTtfotZrGhZ7MUrAM216BQNbs1nOTjdpXKqR5qssuTaphE2KCiyGUhFGDuE4JPy9thIeRBbZ5qiKIajNfdAqWHWCMFYTIRHBROTTs2ed69Ef+kmP2EzLquupCLWBBFUr3HWYohZuupvaSORaQrMy1//SsNiZmzqj1LgWWmH/QB459hfpeHLtt3JTIv8fX5PI9YaVHoiY8j5RFPVnXJgIfknSRx2syD8Pw13Td9JPZ/5u4rNz9JIAdfQgLt6omaPQ0nhXv3xdOV1r5c8E/Nq5BllTMm3j+ZKO8nDMX7O7OKt4q5Zc0rrWbxlPQs+zjL2oRxu9qsnGEapYGLJB0Ebs6SuOfk9KHpuw2M3ac/27tzqlBuaPsW4j+tl2npaglr4a6MdazFUcaeO9NAkgzq+H40oNgddr6vgGTuKW0qX26e78LstIeZ0wYRbOzPfY1GMwjEXevql+0Bb69IU+77tiD7D6EVOs7oZceiAcywJKNojmx1vzEqUdrbU8dVARem5dFZ3thhQ9Wp1JTwBrtPKhWqgdl0w2lRHCAbOTO1QjZrei7P4OLeitalKK+C9KQfHtl7Lhz+knFMgjUZiZqsOQPTrXKmulE98LaXWOX3AXt3du18cuP/0C485QPfFbI9/9FNDFJyAzwnVBeentzxB3Mo2ZeGPm87JFPA0nqWo9dxlxzVrZCJQASh0V0dXNPY0BeC7t30wBo9wik5bzej4f2O4fH2MVd4/2BivFqmhncTo6octhrNY+6u+m0NWKAgLSJlpUEHufGBgs1om9wEryTio2QwSK4KITWf1yADrSaWddBIcCTJjJXjM2dN8hGKOdvt2Ogj2GJLfr5+OYMSNjSWD/gQm8ReoABqnBEXnYE4SZ9bSdyUKExt8ux1VDzfEtxzj6BuVtRwsu/adps2LBpETDUyRlce+JDq2x/mrN00rpTUX8XHrpo6DvryXELb//3I4++/0TwE/J4ooUK1xwVRAt/URg5ESZTmqH91pcsj92m/leV1JCIGP0taQaQiVESNC1HA35S8FtQFIR1Y8Cp6CAR6QKJjUc++k50GoKtXxcDBfhtb0XCRoaBC414+GLgqTKZVIlJeeqo+HQAQvIbDE/D6IqDH4yXBmQdCq1woSeDnN67ihfirX6Pb4lTK0ZS4UmdzOa7c+LZGb6+J1Iaqq/w4gBuSuZ7JEFdgckIuF3xKWJnMjkrZ8jIbysBXLlMcu6scNI4FBg1Q45PerRFS4D8MuETU1RAvrgk56EOTzc4rqJQrZSPGDGvurEqil1Zae660I8vmi4VqhK9xpT0o2gZAgOyPFEsNKURoTcooykUlfCOZl0nkGLIG11HErjIHlTuxgde64lCbW0piULIn4aF+uy7XLEe6NKiaa4AEjCOUPYxm/V4Odm5SCvJpQd9uIdhh85788aq+X8NyWHEIlsfT8ObeeCiYrbEgKtsIVFSoOL9YpHB2H/e57InB4kNJ0LKKiqJqNMPNyyGin9GWm5lQCH5xMu5Js/CaihMoO1REBC+fsXgr3FZHWUkb/evp3/3QZvSXW/aaFCuq8hPm+8gd+YE3ZhdDAM4jMxIcuOJbya0dxSsGJTGH2Y19PcgZnRJPaevTAfsaCbCxypl83v+Yqsr9ViN5FgxXHZ4PN8HajGG8wVIGoyMsjRowlGY3lS7EVoTjjg8U87P0wUkJFkWD6d9T7FgTWCSoOEs9V/guQ8aS85d7+V6EmtoMOpV0FpYUaaln3qgjUnr4bb4+MSxKrygdj1zy7dEfmQJiH28ImwPCP+DC6N5ErQhcmSTlk0rFeuDxCghVr9r6ItBTcwoyrHJmhpfHJHiPMTreTxkB7/+Za7zfMXMaLXHh4cZyxpYGzNRvGJoztWteb7Udj+XSsm8zrE0YDVy0UKxUxHricIXos3bsq48GYJfXZtlcA5YygCBENrJoRdZHSt6o0UolO5RVkcZw0X1QoXBc3E8a/IcSDsLQyyXHnEyIJEUNd1e5Yu3vO0wT/q8JEkWRoLNmDbUUyszsPA6USpFH7qoHt8duMrU4DZOp2OL/ra+vc2K9DQ7wQJONF+PDQncVUm+/TE+vmN4pwHerL67DMBfdYw1QPkjh8YwuGddG9Ord9L2xQau21Di/1wHNRc3g6c0O7xroYSw/YvYGKgGnUg761lm8znIijYGmu2dwvgUx2HDvpBpkkIcWmVMSafuc2VJow4D4iv0k5UCTEoVPAjqWn4RFsB52fmFbb3v0UuzCT9Vx5/6shbzbq0H0YSf/8otxave5GBxcr4mpGYf/el/lQ5abKdg6otUKvaDdH4qhrlhjeJYkYYhi2T1X/dUF3VIzuBqjtcAbdBMWHzSWbq58wjZCkgiws2ZVEIig9jjYdlP058zY4KNSUgX0bIVH9OSAcghdoPX6RBPhcrHw0eDEbnthgwN5VCeqftsAd8PTNuYeXu5ve0NdGj3VlkMa5jZEFZTRhjsWtR3WGZdY6AHfMR0k1OosUdvP5g1vYmdrgU43IEgsi+OOAyJKW3pSzKCjpNQrzJQQkwkjMCz7UZfAL1Tr8MsuwymbvS2dbyF+lpPTvdqtAvX5HttcFvqrGKxq2MvGDHNjXXXS5lT8j54p4yuLQlWCvOxU2akWDQvZ3GFpmxi4+ZgUJZorA43TtJw8Cxad6g7HUMOKpzzQF640siYsB11krg72zag5X39yIKe8fBE3wucZWYDym81HguOrccWjPl55AjhI2I5jpDE/TLvPsPz4/5m7UQBy7r8U1PH7K1fA8qaAIlpVdfrLkIuqTUB2rSewD2rCnMOZlpmALrVvPAwDshAEpnsa3rjnHRy7siOshpmUkPnZN0IrPoInx/P0jQdunMw1bbXGsKQWJJ6GLlkEgXI0PsS9jEOxsDjJxbFszsfUcFAifuiVguvXErVVYSjQptpnPCRnLvG+yIzyHmCCvKPMbF43M/0bZh9jxnhvMGWV2VZEPbr2ZS8MWZsw4kY/gx1lv2UAKGe8pDR1jQvr/YvOykXPodYrGIrkl6rISgu0ro6vrLNi8FGktVONf8lGSk++3KJZzzynxqmQxYe/9pBYNoALzSVO56wKtEfuk3Hfnbg3jtpYCHdqu7sHWnJ9esjjtDvwEOa2j/flG9Oda9HacKfRsBKbQdKLSs9wLxCh4Hx9dZgGWZF8+5jH4lRZGbWA5dL6cpfUMKysfY9GU3pBqsXdkYlODf5lFakiSuqx2hOKZwUo2rqW9z9WBWJHCotLytvVGGCiZewbag1LobA9WE1TmKyjdEvy8wJvFTjXfIuo7BYGreGAN7e53RZW5h5OyvxlZXxrPf06ncBUvmmohBm627qHGVoNG3PSlUVBhBUvUBsdAYdFfgaECGB5WndQAEA9bDjBKGuk0PIS09yhhbqmSJfBuqFb2KRUopanZx095LLYT9eH6rtVJFKBKBw5fpMPNToh1FpCIatOGH/1mUjWUSLuIbdZu1w83+gqnmJGbgzn1/DiwJecypUxDK+4ZFbumT1oJyTkbHv3PWXz7N5UkYWQhs7dOspxcWTRX4m43RULrdMx1kq1jRzedZ3xpIjONYcdO2kjaVqgu68ZCHDCcSUiAO43A8RoZLwkOuerrIvdjw8Qc/6sUkGwcPhA7gSkVrEXJDgNfLDFgDC+G/+wh3o+6C94xfZTuzHAcY5jLNYiR4Aur8bnY2d10zvav6YJaEWntg+CBRISy3NB66P06Q7TzeiZQnCq6Hue7jAFlR7rHuZ6kzugFFYvLVcu32AVZZtctfoR888NmG7ioSz3mQWoRQ+HYUQ8bv+HO5VsqlAOoR238islVTGFmOZmCZCraRXJTtJtqUxw0XuD/RRsbCGFCDjRG8pEXA4A3qZPf2geOLw1RhykVe/PM4IPbzWPBPcNp+LYauSgU8bMJnUYHxt0AW9G2iweSxearKBhNzyTKRnrcsRpOGrDBgLCFts4Ztg4bihJwy6bLenIKTkjpwtk1CjpxvidPFqVV2Bof6FIx5ZmqKt5CJLiy7bTbUQikq6EbkC6suCFsH6cNSNbipFUX0U7Y55yhIW8UlzHnbexbtBrVUw/jCXmiqm0f81unIb2pbqWiM827/qLY4U7aEhoRvdKxdDOlRwk5HBBevFLpClgr1kRXnJZprynZw8pf5BBGTjve1TY7kyKSjf4qqCUCNgCKZc9cETi946uLvtp/8gU84one54vgyDG69TtoVVWdKHV5kF9KF6XRS4LeSM+FByugWCuVc78x9vP3IBUwRGKOvxgOh8KC5q4Oqyc4TXDpll00SeJQuWKMcz4GzBjjcrhN/g3WT7asYTSiRw3lv9gSCyCIcu0OK89O+BYYDTcZqeAG0mlWM+JyAWExsIZEiOd71yy1YdjkhQXndlmOU6b8Ozp8VybJ0bAjHMRJFHJhRwuVK6nZuVxbUfflYLmZ29UTedsyxV5IzxZhTJjVUjyOT+MzDBOD5fqd7AD3heeP8yaN1thWY5OfVTFDw8CcLzptiHEHzfg9+HeGK8vI6siYkxIcc9aD/HFYrO4pYhtjsYM4VzXmCSD6yGWNB0MdtgtpTExjy5LzraelHNePRFedmO6aE9cxE4K2sNG2v8qGYkk4H8uoqg0zzfkUpNcPuc3Gm94ILivuLmJp7RHNjJ7MNve91Ebtm1R1Jg9SkQrffSTgg4V6n8XHb7SO28N3p+PSe9HipxA+X0w6uejcYB/w5S80VewGB5wZPl/ynXA6HYvs3xqMzqO0KjttCtYbV+xLQ/DZNFibNnhIDoJrRJM6Nwe28p+QzOCINhM1cCEBi/8X3lSNKQVcLS2N0XNFVFbUfAKsjFz9w2i2boPrtJm5WoEqJ/tjCThr+26dkA41vHfbbUcSGY4KqJVI082TUcqw2w/c4JT8hrZUjUSaisrDviwZfsgeHqQCDWHZgxW3k+tTL+6j0fzB/tdXkFN/8DZbEzS8NcJQD261QSyxhCxMvZiONYO4Seti515Wayx7GIx845eLA1m5TozPwmNV6NwpBZTFMOQSeFkGZRULggyIh1Mnnny4hFNlQ8eMrxV98C8jfKnqZLpzAUleqqkbc1q4h+BrvSwYQ0Hs0jlzHxZ00/3r884vjxdDYtAgBwMw/s5YXpqGHdPy2ghmWuNApw+AncIxSoOipMmRsxHasXNRQnmJyefFhxhDfBgPj44UjQgh8WwudWSlHbCEhU1VKt9W58lN6tCcSzTrw6GXcFsR4pj7m4szQk0F4R+yCwBu17RUGnbY9MQdVV/iAqGf6M/FT3SPe+nviCcRVw6bYndZTbvu/TrUle5yrAmfUMTY9tFVyYHqybxKljaeuTJoelYTaaWNjJ59ASnZbHZgcaxu/P9k+Dh/grTGVi4vQDZe2R/VF3eC0thbdIaVuBqlpMhoZHGUmq+IXuN4xgeypxVmZtmH6wpYiuoSyNDLFyRWMRiiJRIhM/pQHkxlTaZlvz2oqIpk46lgoVnIL1ktdt2Aw/j0ls/wjd2VktA84g5qNNsQdRz3P3OLvkIcDm6Q5O9fhJrnD0wDVxqcmGHKcwzuHRPzWK2joMoTa6Lw9tYNM+6sEnOe4CR8l5ghnl/ZRZUrrEa2OMcXvbLOmsTxui6ao2+ytJGciiFSvnGV3ryT74eM37CRWMG+1VDQtPFxXyTdhXVnziyI95ONvDSgv4hele1YLIpTmEUGi/uOecRkyyP91HA+660P8dCLggBCV+JYxZHJ+O58KUpJClGusKVE6pLjR1+NOyEhnIFPV2Bk+ZIw1gh1uefk6UZD1cjeuZoWeYjk72ZbHgUI+V5H3YVsxw+Iap7oDl3dogTvpUXpub+7nzVuZfZhglotNKUkUHXvoZg4hwKVJR6b541HauL6QUXYd4f9r6JWm8sRcIxf0gNI9HHe6W7QwcZbNRLtXVdfufJd+p0aqfbYjkglmCmUuvT6daeI+PNZbEzt3XYKpHB5C2fci3OiMt2hmoRSjjsYq4jd2xkMvQEp4mfs6wA+k3b4Sn05dNoX4txgpexqpbmU4KORxOB4PDN8kY7IRfmh+VnAnOtq7m51WgL+rzt7nD0rA1uCy8kT6fDEAJSoxYfp2BRcUPAsIUN8olPonQu72Yi5uARUMWM0VHxPtfCDUjwCiX8JowmI1AJTDECrMyHHFXEunZTksCY5ckLsP1/KxCZoW4/mhDofHrQebVe+C71TXElvTqhH2KguduX8l3Dnaj+RxOD7PCknLeYEfOeZAjeBHOB9xJTyvs4I2xEAJtiJ7peY9MELPLPt+lNwHcz8Uh2maa14reghax5M9n73RWe3jKChFo3hIHbEoxDfewU65ZpX4CCvnG8y3IeHxhDurBU1GZTPsCwwfDUTb1dxrIFW/RZwO2ivo6CBXLLop+UqzgVJEJ2wI8OmfWPmoSxVCCL4a5ZCEQja0Jqnnt4a3p9v+btFITcoTaarXb3PeDIx0txGWNCvqhF/bXQRlpsDyNvbW7y+cKNQQZvgYfXyJ7962QZE5I7nAE6QbJ0/bdgSY9Ldz1uDbEuAoY2lvJ6WmVaebM9hta2HgxgBTwVsr84+MLlcPjrI7FhfxjHfF7cawz6pH+RmPaeRI/75eHQKRsBrklOD1Y7okCWT6fZVsirVQQNF9ruM+5dEr+6J249rhahqwlptn4JIuVK6JSyqeBgUc/OJ6qVqE66aa+M1qs16uLZG1goecEYlx01mVvHAucCYqJIipzW7qSacbP1Y4HJdpilXJkCy/emsHFzTkuDBBR9cVU+8Yw6BqIfPiV4D9wZJWG4J2cUjYKkAGEt+9JtmOxRYA3vPKKaKVyVwpoE1myPFWUqWOPFHiuEtXJehHHQnQVIkA5W/B1qYE2bwdeNhwzLwTrwUk2D6TgQvOAlRy7AqMRsFhuLd2TaxNsKNgu88L9zUuFYV2CWzUnswoEiaoY6dXmbEdWxy5yOWl9SX36db1WMc/2Zc1dwMF3o7mFqK7DJu02WNAJahS87fFl7kJiY4X/DPDf6NWupSQ3jC8ODR3MZNoXj8kb6ShomehAE8Z8+SD1ZI0br+sHKGT7vAHOV9y+mtnKLFQtP1rllf95qbcKoG422cZK72sQbiTEQHWLMVGeapX0qwFi+F0ZgMTwYsuRi+91XaMGwrVCYdjEyIUCLNaYFbQW4fGX2CG5u15wsgNvBw5VamAzQmMSWoG2HAS+Qp0ad85KgWgniYHOP5e052rDFej2zW7n87TBGYwYu2zcGM5dCpFzJJB/9rfnKxRrOXMPS0n28nUi4drFez+ywhssLyEa1MSBBq7zN23J440WpVN6ZcJ2gaKTLcOMdQUwgoAqI0OPxZFS+QMipT8BajbQoVABufxhf2O+2bGZZlFCtAb92Ge65YCuV4a3KPqLHSqf7HKYpkntIEd445vDnU29V9f8F1sD9RGcvO6RWf2RtOSuYm58Oilt9yfxAcuOwzTGTuZ5YKcVf02o5YiBX9kKkiGXpjyv+eSXJxquD/6u0frdRyUYwnlyUsymxKHp3yms3O7AE3WhilSuvWqxqFCt6tsm49wx+qj4Y1Pf5emY8M9iOY14uM4IzPbtultgul4Ci5a/sitoa7DUNw2S5Xk2o2JwcE8VQx8bqAMGJjanRlH19uYiT15kdsRcUlHmPG9iYP3yhIt4QLC4QdlK/VJ37F2yG3QbbU5gmlguf0nUL+UZsojBHAhcIu82PtSkzB1HtC0taE3qgk4NX1nzOwVc4w6mjGxMIoYoMVIVKNldoNqY9BddwYdcidLc/OlSwueK3zjVxDo7tRdyLNTA4VHjPc7XmBmdJfVQyvNzkZYdTGleSLmnVxAzloM1FyxiIisNPlNLCGWP1xFQCOp2qogKuGAMjH6ceQsycV8xhxwo9Pljcs/EuXw9fpxKHvUCZXhPEcUmS1lPdTeLckantxlxLRNDhLdrqY9UgvNLag1+U9IMR1+o1JQ8JNms8uK594GOLgguz6OSH6SVTpIxK2XyAnkGv04CiDuQ2jpCaxI2QkLLSkwWS2c1EqD/3EE1TWhQA9WS5i3CY0oIC1NZ8k4w8L9dpaehT/2RPEn+zs9tsn1CIFgrBZ1kpURbCNdyWExLMJn81xexPfTVp2Z1um9Xw7pPNNO9TTIZRNXUgs7B5NeqNV4FOgsETpDRIVYaFozpJ4qif8DN4PGeTpVG3Z4QhSpiQN6qE+XCPntlVU+2JBq/wpqDb8EiWJNnz5pMkkiUTOZWxnnC5bpopkvdz61GFAZ7WeYLVcqzEhuT0OSb4EgHVyKIEkqtEKGvfnlkwlwg1E/6W2ocq4beiWNOXaJGyZCUwaKlWqHwtFmogx0ESxVokoq/nIGJiZYVR3+eDXydQRMPSn5JNFXLUsscd9xR750mpJ2zTz3XWKmfUvBgz2cxVmkXX96DQ+VQoK5oKPJjA38IWhY0Y0ID9Z8s8l+udUZcXHaS5eOV//HBCkvuMY6xQCE2LaeSXURXq96tMerVOKVntVSNipI6iKBLDQNHvlkhSNOQMCWzfDPwNC3kVHstFdZwtZAN3HK9MQuS/nrEuH7Oe9G3+/pkikyrHxEr/4j/9jXtwpg1HaqhY8xpcS7oHzDxsleao3R7Xdt8njdipOSXNq1Z3jy2Vm894GG5QElv8LFRXNXDiTyFfNKCU7ZfpOGGu3Z41qoJoP1+mYFZzjKpONVoZ7Lo6LNRYXLXqDV+EgjJhjySKZDwUisWSDWi1xT4cdcdrJdcdFnFiRc/CrOoo5P42qT34kvD+0aSgMJwl5+1gFJXQirjHPVrV/Xeognn/p4jO8M2mijjXfg94K27mufg9+9zuipxOuhKdq4sOqoi/gq1wpPVmH/e92P/q4cySiUCK/9NwHzT0M4yhvnCKec5s8avg2m9YN2jGMl2Z/XtQLSjIt794mcNiXbimMFKwJQpZOLLy7wR3vmw/QSjnqNrId59e5/7UeJvFCizXJh593WADrIKEQrTkbQCo4/EA1WUzea73Rj1+3wDJxr3/KbU3TFYJDrgol3xNLVRYrX/7uM+UD8ZirvfFBKOT7jzFu9hnzilQhW32ejxZamlWQf61vWjjDGfoR9EXryTAH13B9CqUkBASt7sZAdGTq+X9XpRBis9jMSpWdY3AiUyHQ/YMIlpn3cPwaOnkSWq1BkF4lHq6sKYZfaMQeLojaCWPLqyCSr0VwrE9rqUUsEY969CPJvX6ecpjs94zpad/1HO70wld4sz9B85X2sz1FwmFgjgKQIggECIoDNdVJGK3vmWneABv0ZyEN8ZIlUIFww2aNImf6tptHMKt1cP9p+rKZ6AAvASV7W39iiHKOudKuuYQxcx4SxHscEinBoGjqPS2K+30VGMks9DXWNPZjiiqumcLordz6LDl11m6iszlQObZvfRh1ec4fWGxGZPK2QYYpNILCgvz9OypdMrAH/n89mPsgeVgC8JwO+zO53Fdi+fZKr3SRRmyi4rmxyjgX+2KysTLDxZ4ZPFut9VTqhbXwZS99MzGKw56JSDyrcm+6bzrgJAcCiF5OBclQqHJug0977rLEAEODl9W1lzfVL61gBP7BNl7WEnBxVHiXnwpU0YOBXHm8qTMRysCAW2uKlY5RcmS7/ZvBTH7cWNEf3h40x0jiQNxJnIiacuR45sz8lTbBQAluvDxQ8G5xwprJFbhlZmbmwsrjtksInhM8ujzFqFF1f2Wz9M3oLGtpkBrCjvh5ZeOjcv9eyOj8CW+Wd+XvDCrMMqz8/mdWahxX/3XRHYhrIBtLxk7n99sTaRdIJR4iWZZrXb7/bQLhxLghlnz8ZbMavOlDFh+by8tXWk/XJcq2hwfcFWcOXg1eC1i20fw9gUTOd/P213t86N0tC16GDjPPnecPokGn47Uv7btJhMY8Nx2M+PxRwFFNLIXFH2YrTd+NQ96rbAONS0FcKrVmYUek1GKBAphq0Et2TmZmjdZqqqHZZYcsTi8a0fQcSPSWeziHXjh4peFQt9gH4kk7FNIMorrozOECaTZ55wvV4LQau/QxrFJaZieduet/oQrFM4Wo/6yyq/8dhok0XKst9+1jINUhSXbOY6PUoKzJCkbcJrcDT3Edzcf/uLvJWGecZtyzeedhn+eBFYbiFOeE7o8XTsT1jRtQafQfmiaTWzmysV1S5btbrd+1sfsvtLSrSvcCtvMvF6lMGKqvo6rXekrwZK+V24EkdbfONZDBQZLoNoLJQmnw4J+HH3xl3czT63ON/z+z44SC+KBaWxxL/hwlytXjlsuMcZRjSw2F4R/TMGDTC72cGSZwnHWFWcvmbNuLHPo5C8gXOrfZTRyw5xl+p/i9IgsL7e5wmhdxxYh08eRgX/fwtymPL2o+X2GYFTMKJMguAArOobqjawoL/YTjZDshxhbXQ2CxTVvd5ljYk/g6x+qCytvGc8PabKsYdx8AJyzGwIOWTgJEv+n0pMCUDh4+q+K07BwZckFWAfBk1MRlSaCECIYhCikfh39sWDMOuZ0/ptBg3Hq5yML2EhBcT8HqxO8chaO5CJIGowFES+2vmvuzGOorhAdvXGX4UEBinhFqU1OJ3gUnZtrAgeLRB5vUjDhNmHUYOy6O0InrgBrJTFNdimVEnuFubDGrDKZBK6ywrKzcqK0+UTwiWITFkoYTpCq68ZTefZ+uwIWPnzaBw1/jGiMs9aUXIRTnJenwhvj2Eq9zmh3+4RCQXqztW/IscrBxyArf202+3d37OrmiioLtWgojI3LVbiHKuZK2CWOYhgL+oaMpyxHXEvA4ZZCX9s6UW/kJPOYZy0U5GNgYuos3Akv2My6XOdqM16RWXvIrjoogXSv60b3SXpLnp0yFFmzmcyLjcTV0PpsBZhOIinSlNnUHIX6IuZDmBASM0KwiuOFfkc5au2JydS5+iyZuQ9FYXpqliMVMgggkjW21Eg+zHLy+uweNZwsbx/XHWE6PjawR7Rbc+z8G75XgJ7MrsrQ0NDPNgveZ6+pPmA19EGvt8ZBvbUQVKvHlxIsSdEibZSDnKUy00+WHxf3rjW0YYhq3K0T5B6Ew6QR5khksKRNCMaTnAwjuGIZgy7A1u4Gvgs2e4jZ8pYuVJpeKxNJXA7nKSHoCsk+TGDIyee3dXVrgWnXo+xL0cMvbvx8T3shuwE9VBMENdrMdfhZ5Jc3thoqNYbd2eMyuDr8ZDSOur9cM97kiZ8VyLy96Z5/Y9DL6Fpz/ULDFxVeldJoq7Jri8GVR8CrpaYg4uFpYTDXeEOJNpNWHUZf0s7S9QZvDOdUsRps9h5mlYrOr7SqoSI7P7C2op8MULZuIahTFIg4fRyzjxvsa/P5iBxifh4u9kFobnnbiG8l2ML8RdrNCgNpZd7vEKqS5uk2SoXalEBhA1lm5rC7uNkhMo3RJCO9b3gUXjdxms0JeMTjEPfNt9QoMTMEJ+8gvWuVerVajtp0Ql2myrVFXphnhf5eoppyCRjbWZcEtTYQxZ42C8iL4Ai1gqBx6cTUUoigaPFucMkjj9Il/lYboy9W7IJVf1p6Yi09HJtMss/2nkBIJdT2B0JODifW1kbcwqCIg3lpDfZyqJrHDq7bxaSMT0hMMHw3i07rmOEgVn3chWXLWoljvabKaNpm/OACOIzebpFTsJF1zbgQ0eeqh7zsXOzPKaGPzhaMXEcn4aCaL3fMC0KrZY4PjkKq61YKUioHKaiPjJWxUHNI+1tMBhPijD2VShuFuHPOPS4aDf6kdnQg4UkfzjdkYGG904RNwhPwSaZ8CJEqg+msOTl2KcZLMCHTGua32Xx1EaxlhOlm4bEpZMh/uAirmmQkxxc2nmRCR2VL6zmOgE6JRCRZ50r1eEvBFdJI42qULWTQaKfBcvWkDDzzt2ei2DPGY2NMFsMz4k5jekyfu7pIKfuCnrlq1E4v049xNtpA0UDozp9ftv4/MWiw8dLYVZZAyHozxKw8rhGJe9YzljynbDOHUk3CbDtuFRmmYo6t6RLXchCzwqJEbTX2SiTiLIpItVqdRrXVFadWpzqtSmO0a4n9FAsH9264REak42zZDMuNZRsyc25VKLioxhmmjo7W1OHmhvvgGYfqk3FJe/muvGaQakRb4jgnVumOKx2KXzaY5uT8Xmi39kbzaCinEHGTaZfJdGpjj1xu716a10OQ/G95tOGNy3ZXEwbaiSjHLMOSgALpMlNWOwz+eiCe0tGb6hUX71nJpPttWlaZ/IoLVcPB9Op+kX7IaLRiPsNSuHmAcfSEeWGTg6Hn5ZdcHlpbVAe8Kw6cGHUuqN+cPXjfs4Yf5CSEnfFVbJCFr8qTfVXdw4PRRh12OZvkEYjh06Q/mG0mhB94VKNJxvvWpcHQojtcGvZ6fDWohpUZQ3JrRFlh2eIkbV3CetI9nqsKm+ElC/bTPf0F+HusbUogN7WAtQygs8yMhH/OIeYfEswk04ByOBF+a4aQ5wrThKBPn4ASW9unyJaJQJDOkpYAQkAFtmnV5c4B8GSPr2t8qE/Dgjsp2NACLehvGlep/D6o0SwwmhaoxaBfHHlRTp1585L2u7euzOd/lWRTU88e+UWnW8dfIICIIsHthIDR7yeV0hq+NjqH7yht42uh8/mO03y+y7ToAjumKAOK/dC7Qzo0TwbAANs7YPwCcK7T0IEiQYbx4yimFfl8vRcHwcqBjtArA5J7unIA/m+UtBS20k37i4V+6BX+tywUop+sRbi1oh4QwDY23eGRXVgDm7P2m/W3NJNWGkom/0LRRHAwXrqwI26v+XpXJr2+74duI4HOS74U67dP/N4ciry47MaCcJvymN7PJGhOSkdpy9wOHcf1btWYtMxBq16/5aqmLRu7P/hAo+CGzf8Y1erMosFuQYfaGFstQpobyaFJNxiZ6lm4l/ZTY1+OneK5XXlaXwXJSIfnguuWBaFjmpQr7ux5v3zt86WKUmkv+tmSe7D70L9+2fgfSo/st32bLTZuqHe5yHPLIcNXPWv6n+/KIur7ttqf2zg68G2vVceLmqATmfpSFo3yEJaqePEvoebmKdRbfclak6YjVNfoFf/roVvp6jHUXNlNzh/PmKUhkU7HB6pSI+qdNeLnu/Ky123aFEuw3fGu3A/ruWMluTbP/f3LWsSz5C1p5ZU6dnS8bQev7lt0vzctikQHvw5EZt84RcFlFy+bttCDVbTZIgF25XBhpCvIq5DaE2ANc1EK7WzbdhV3oMWNJoFupaUpkNrTruA6fxNa5zph4TSPL0xL+S7Rst8MPWyne+u7GLpvQb06iWkoHUKoE5Cz7nHxmoRpymqEiwOztK62HirpYGvnRyMUo3pn5vZE5Cory1ZCb/QvVEFzRjKQllnBZ+JpCjePZmj8EwHDuwJzrg2afPNoulT946uyxYhJYq1ci1mMwrFjiqXwj3NyhpHZDpQ3n4lUES54ooiMRIPzLjQ0tZwZ0urm5HC0uWTKdJjFPgwV0bdbxZlKDoGNSGewujLEC6fpSFxXzFxqbYmMPnGemjY7mrJSlaHRbJyxpquRa/rHreVbysR8JkNB8+LS6fFiFqyjCC1ZZBm66bRoWQjDoJK7PYpRBY0iSBVK5ptZjhhlgVQFzDM5ISAkGWOTHjH9DdXJcg0xB/ViqetwYYQm48IRQ3XTADdYB43GPe6Ns+H689utc2sSGOCm6JUojIeKFMRjxZdBFyn4o70oT4rlSp9EWQyVO/tj/zTvne+cgmEZnYpXUD06AgCxYJkP0zTXH+M7MGs9B7F/aC9OlJaCuyaGGo3JmFVFz2U7JohoQXkzhVyZ+4AF3VVSnrgqIKGCqWdFf2XYgOy0mMG2DWiDS0JL+pgRGRKZ5atMy0wtf0wxrqyZznbyAraBz2Cs8Ss4gtlFTozx5LwEs0xzn2FFs0nb6Sr8DbYyq6P6v/2zOOKq4aU526GpUmNfPvdcrq7wlDpX5Jgebi+KRvipFFKsKV52wm2etfQTBdZ1svjucK4Xh0YU/iTyp6gAHllo20F2M5DwqB7xxkjBorASZm1Cdz3+mawSgPRcvcBpW+au5lDIC1LC7mXUV7zAIhPwaf6wdw4/rt+k+SjtMmWlxnWamKBoqlBjWQSHVtYZtkKTgb+eAEfQh9q6bLIzdcT6PNWr34S7QrE6xeDHVTqNovr8WSFXP9GxafEvRPLgbZ0T5waZ9x9RaIrc6CWHaQ8dK1Lmo11ewjbLTQjXUFLM9fjYfrdmMqHdhac6fcQI5znDSa35FpgDyzSHrEKTdryIy1bd3qn4J914FGvDGg60til6rjkAGnjXNxA3gec4jp/cFr6YA26nZtmy5USJHD7PGelOeig1Ys4Uzg2zx+0HJ7is62eHAdzgssHEEnQiryYJskEWRRPf8jluibgC6WBrTbObkzkEkqZ8u2iIktLEnp+zz+V0uj49ygInrjK7xxOBv9bhwVofzsAp3MfBaAqgAqEPCfP0A1mQkxG6NHxGXGF1fefTCY+irAZMhSdfpsYdszIpBBkSLcFGdhOvVZ+kyKtqte+HmGQfLENStXyNG+Rw6RTQNOZj4xQB4r+oDARt/MnouUBbRcr8nhf6q4A7fjwF0KHXlkAUy2cbMAsirRXw2nj1c5GMmUtQpNFWv/5ViPj8oQk1CGsrIO2LRnFY5omoXikNBdPmd81e20qOyLV3u5sC14Z6tXp0wWEzvOb5JYjj4E+9uSw31hYRGlG8CLRO+uxHdnEs24EeP+vrhN4X18im2u3dsqmt41u6i75QU19JvZQSxVb+HqyDPTnOz48PanTSUJKRkXAcdxvlzlmT/HxXGursAactt+aQ8HlTk/Nv3YYe3wiUyvPGM8/4ZHw0HE6ct1UCm0g7VB6+atF/zkkoN0pRSa3O791t68HL5xLBYnlZy/PJG4Rj0G0qvzBgyVImINMimEB9hX67Gy6sE75als3bBnQ5VgmBCoXEelurVjvLH+H7q0sB6h0TjVhqpdzfdOKca35CYRwZTlE71PMKYNo+ETx12HZyEsh8S9JEdCqPkRGmQ0AlPEvLG+8oMVNZvWE4iXV5jmsk0kuY2d50QxD/HY6Jd+gEjcmVjgCxPCHKrq8s8JDd6MILrN+G/199deHth9eKXMgY6w/9u3bWb/QR/dHTzqxdr4RxVBxogz7wK9hfBp0ZMiUvR6/TaRkEVICTs7mHIjGCDLEYDRbAJM8sFLDSDOBwhBKhIDvfWS4vZQc6CStIBiOgA0E8p5iDTGQsTpBfhs1dECkBXf0RreTmyvl7wx6iubogakEFmJR7epaiEx0MUKydKWDJJDeozwowk6TVyjFswEXBU6dybt2I2LEyJi1cvDefY93ofo5wbHzTJukdXC6dV2SPc0zbzc+3AjzjYyrBAa1tWRaTsi6YyqdCtbee0wS0Sda04wIAkqa0eRdeGmGCDvizAAMYSggK8tudI8nmYH4gD8YaCgB9FDPvpOuWwS6/zXGbf/r50I+9r8qXrfxnrv9FackL8NnkftnWelnot4pcQaGwDTaatF3BaCqTgFQ0iGEe64Zh9VzK1wzxpaWGIHZWwjdT3bhZSd3ApfSheFP7MeOtbhWp23j5XeeggqsIJC29dPC8rOIEUPFNLW5LnuoLnky20T4/ybf7/MGc3dz2z7ToJ58pGBmfEBUaFhqVgCfTuZmSPEkml04mYDFgWAKZzEg7TAZZQWRqmESFJmxOHTDPHVF75UCRvXie262lQPSF13LJFqC17olxwQT3w5jkjSJaTAQs4DjBP7amiUF7CTFkZL03Dl8tk0y1uIfnpA/isPIeK9GydYFmez7191eTBC9vyi2zm5Diy+MMS9h5II5IwBuhVYqLicUfmiGYQnrjn/UsLb613NpXF/Jrdpes/F9gZMbON3tl5jy36af6vw/cyGiFTMUr3er7KQhnZTD00ySEaFUGZm6iUNg2PfbuCBz57V8INcy8mu5AgODhE7F0HaF0nc+IvbfNCfysYenOjCWAUMSqdwItOkIAwAr1rz2RHgAivvYwarmCvOBX4ddkoQAiCKRnV6BBU/8AykBtF29PXKxvCn3KhRAigK5sMgJNhSi3GGUAAbgHjeujahhMIjAYy4qVZM5dFMo+21bsgT53Q7wGaHHPlryrqGnvg/0Vxx7zxnh4kzlWt7OpgUkg9PfQqKkeX0kt/DkKdaJ5sY3o9WEWRVfT4O283kSmwJ/Q6JoLAhCNhRyOlxTNA8PKWFjrR9TaCjgmNnR3Ck2fBSbOnJQKMtV1BEZ/vEi0VCMGPXAdBdA8ClipPmbSW7uKysuF8b13vn0SwV5GdesIxFEQImJlrIDPL9jJwnz9vxHYR3ZxGw3Lvgi0ABwHDf3SPKiLxjECseYk2ohfrFmR8lxpciRNI9+C9LUVhLLPAMRw6ddNCP4MZVjgDEHFo9Arz2VcZwGl1NFNFhJFJ6lcFDizM+0K+KbGB2OE99IH86RSzHLHLBgdR+McCRoEBBRvLIAQRRCxTHzF81UZs1CAoAic4tXoJmhTQcN/HbL1sAbweABoLPEV7qNw1gxGZwAAqMXyunrOITU/G2lfjhQGZZi7AUXeYz0E95Ks/JvMYPXfdRZGVhjG7qGBCa4r9G7N/zM1PNnj95sK9KDOY3/+eNEqq9V2XOTnMChiTqhI1tkw2VZBnjCeCTfdZDpst7v5yn8OmLx9Q//dzdPIvn1nCWhbLGL8YXRzvC4v7EncRX69+PwXwGr96/A50RQUPXDfMOCk1M5gpi8XfvVL7q97T9xxa3X87pWv0/znnvzB7UCK2JG0k7LZf+zbrY+qO/p+hKTP/Lm8o5GmFO4vMCjXZunAr+5Gr/Qz8COP01ui6Aj7Hk/A1sd9++DRuW/XPfopjuBB1TFTRrncGel4lkYR5kgaVVh44zXdxUG/yG6XsuzP/05ze0cX9em+QW1Z1VwAmlsDjxIXId3hZIbZWxNiAxq9ckO53SoIMG3laezrvy8/VBjMdTw14vjgQexytPeu37n6JnYkph1TthPNrGvIf5xsFnwx2H9y/3+XJQngXPgx+7/3NzTvx1dUwDtRsGgJs9HsJQIaeYYcJgTWpvcluR3WnxyBwXAGMTp4EfyYDQadlRM44wrnGc4kljxqX0W8BoNJ2sdTKtUiu3/2aC5a2sYV8JLVahIPfMXq1U+67a7SRTp7NA7sn+k/iQuWyrlcqQRyVkvI7ZxBfzq4y0ibdpRAg4AgbGcvyRvjuqC8318u3Mo2b8CcmvFmwTBdt4CF6OBMsni248dBpKj5c+ss30N3Bra8gcZB6zVOweTfI2MBOkS1hAzQDMaPz/o6x1gZC0fgidMnGxWAllRyZs1aYsRU8enitVNJWiEM1uYa377AvQ5P3sBb7evrkCnrPNbiV4IVSk6EKNt4fVvtrusXZ5+O7Bicv7TjogceinPKbOdgVdeGhvM3di14MFjWhFSoKQja8pHld0IsoOUwUHhjaaCOwBtJQ6IDsrA5TlwOdniZj1NmvgCRjdagFErfV3lIzFu8JFS7+BtvG3nV1DWLmlObDTVbKrveUoGmMqsPORa/nd/GOThCLjeex2YTpcPlxVPa6q2UcXlx7rCSHry+GB3/d2i+zAsqNnooEKMo5/Y6vr4RzDx9xXZkUUbv+a/APXJyNAXLzscvMX3ZQnkcGOJRogm8/lFVuz6YdD+4vmwnNl64q3h4ZIJ/fSZeIEAALEVNFMw+QCFzwqwtWf7JJ7ELsKvmMCvZN2ipnB1r9wEGMZ7anIni3DBP4to/7p+rRTCExCFEMV9DhdDR36SNCUG00U6rjk+NoUReBzcU5RICBegUJYw1r2VaI5NB7SMyGT/ODOAz3Zc3pVoyFKXcnGZGi33dhzg0ZaNKiULQEREEVo7fQjKGSUR8cbV+kx1lflSrw8lZS6JvJimBAV7wBPzTdFW1wxGvVm2DvYdoWm2zxS5okIY9sSzZW5QVnoqgSQQqFsfYKE8VUtE3rQ/neGVfEjrPtfK0mHs664HdU5loIp3LWd9umD3P71+SSlVm8wNFZRosON4WmbOp4yP8v75CYTF6g12KEchJl4Z52gOxIsH/L1MuB3Y+WORHamIUFGPVUF2CZWnQ6O5y3Z1qI1Vsm1nF4ntJyHkRjgpHEYVaVNsllgAzhOFGdrZbAkElqQGpXi9N8dlYLMunbsYupJwLAz0JSc0eyRBSlDDDU6V+oel1ZVxT0yCWwHVQfy9EEfGWliSK6eKK/Ub7K28kphyRfrmnZg9P8lPLESJdS9TShGctXXrhY5PJf3WbvcMO2JHxxBQ8sQ0GY6PJAZXNqM9+0JxGBwgshZ0tIzBDqmQHQilEiQn0Zv5PRmct0OaG6SZfZV3mcDxKMsWt7uVgUtIc9WLFWmk2L2nvpK/Ioqb/OXfsH2tpYX6uOwtOuN+hNg30B7c5sWA8GnCzTW7QPGfxaxE3PZY9b4GEwMciMZ9/RzzixZzsZknWcmeLwOzL5XAIBE0P5QJGKOYxY1awdCFJcIOHH2O7copis+Mj3q1xa3SALrEs15LYvNQGwSjYBAzjYLNcTATHo7YNzBZlO8ZKrP9PllrQ2zSch4hm7hTfFdvVWgubarUtCvxLJd7Jtrx6NUR295/E0RJqPpPiGDBOZHSuPMylY8Zt81gvO+aq33zXhhmg9unoaoqkhD2Rptn0svtlZ3aaOOreJkS2vHiZny7BNk+g1x84cKGrlJuh0ZOlhmCxqIQMEzYRPU4+yfWb8I5/em/8Qcm5D5NyApNZkxgGqdum/lSXl1HhhmFeMqUOnOCMS7/2j+oPxIWrAn40z2n6hRsfQ5uwys+gKLwRIXg+tq1sDRmRP6NO8Z6npmUSSqaUmf9kPAaZjnn47JdoqDre6bEJLn7JPmukuw0Qxrgg0i724piPIF6SKgszTDttZgrTwf8o+bu8kss2sy2S2PculP7ZAL5HZ8iAFxtX8uk37Vcacm4IIe5TFfSfb5hUgrkrlwvzhaRYNrQcnJORogwvQ1J6xtVESGr9szC4U1Oi9vYFsQhz7PSkOcY6Nt9g+nFW82FL929bjsMSObGO4trHp5z114cL42VXB3gorZfHuVIu350U9NdHbcV3vKnGYLIaXMwIc53JWLROcHEEmelJ8PY5OhboDqvLt/HmGsiZQuiUjMoRp+8/1vT5tmVeQA8eSHpr1zAnhmfz2bNyUsOlifnCxrLYhdFScHtWiVTn9OBOvVzl9cVfTfNsbOL7NYvL19ixnGaosRmUEuaEn4MgImdJZfjh0EU/vHFCzULeE2MWKSmpyrOGCQ0KJFN4xYjCwYO49yDfrPhhPqHxtRKF2oaiAnJKhfYiYVfBL6h43GZn9iK7KNBzl2xAiISzu0mOAJXiOxxINqhcI0qxsKdFbJygaQp8V9xrm4R1CvlLGe0Mv6HdJzNPJpODbK+ZcH0x2vo6IVcEqs1ypTK52duYOBkIa1qfwwRshzS7a/pJNUn3tt5jgQtmC389WhgQK7LK9euFwmnaSZvNEescnu/D4Rn+rGhru3WsDEmpyl6gfj4tKpBOet3mBc5D9ba93oA8s8N7JtT4ZAY36idroQHhdRGRKh0lqE/IZO9rA5tgEzH7UqFPKntbH5to68VDgQHybFlOjuCrNvtMBTGIm2ct+F1eb6nBxtsHVbVaKGQnyuXAcbiRQr8ZdXNVtrECG2CxUhy9iFIXw5EZod1oIlyhf63ZQAZqP/ULM+hr4Fu8PTzv4SB50tuz0vZOWdwOyVvoxK+TyZweG8NxMNvV4bpcZbF4auAm1JwpNMSF06HV7DjLdmhXkpOq8T05QCg2EiVrdoZdw5J4qgikJSSYc2TYdpYBZkF+WtHTkYaLxfQfcc2naiIuFLMcJPVApDLTJJ6PBCDE8u307p+D+QE7gdSw6xA108wb48bM5es5kVmY5DZBS24iLIEpEulcnkgLQcTjgLIyPS+Z4pwez1DmtxpKuui3dCyMFAoVAFEfLfBrWFZr8dlObdycw0/aLSXNB8YVdP7AAFnTaHUBP/AxSUUiTGduJP50XK+/0kKG8BVSbSgdftp5MglNH571y5HJYoOy6EeC1QhmS5fHapR675eVguyeHgReh9RK9IvF7e0RXlPAyFny8VqcEAGY93LK1bzpIgt/F0X5WlwCwedL3tuD3h4kQyLRdfFGl8X50NB4oi0Tv9ExSHU0ZORA4IyjIomeivvXT/jRPBF8QXIXLNWqtIQAQc4fghtMd8X4iX8MqTJpxRKRCB7AnMcZpljMlWi60Ej718S6lNN3qYZIFZ3gocY427gRJzP14FbF6TY0XYltteEXIIjMRuQDmc+3nFRlZxeVw+VmieLoQk6YrmWwNMN0hNrrUnHiMMBl2EoFSw+wB/sTLuByHf39Q19WlpWxcQT5yAKzlWxs7fQ/UH6i3XkxYPX7/Q/HXU1T1zrIgoLa2jabouqOYfuYwQu02v///5YeBB1+H1QJU2AK0dTVx6P4B6baEW4kDgYj5rVoPHbAW2WzVodCHruNQVXdMF8Lkitpng/Oyh0vDWeOFmMTfv/VttOnH9dxEs/lK3HEv8gun6aL9xW5bVq2JHOh3ZUfp/fj9/rgn/9g1mOwUZ8A5T4jgvDNOTmOHDijUjBNii5fPF9744Zen9nKXlV6jYhAMv6phEzH6TRs01nAhZqPahQPkLHAYsBfYXZV2AxquPBwRphXzLFYXlrZNAgztTIt0S4eXWw8LTI0wwzlyIZWUCfJihIl6YC3P1YXQEwlPce91Go5GWFLOKuCcUN+Uf7AcEeRUVcnWWBvdKmEcEYZOT4PmUhhL/XWjoFMn285S6JRcfudiTdTr3Mu/ZZEojhIYgvlEIx2ytlwjM2VRJ/Q6U4gokQhzo3XD5//v/+ZwKnB2dk2W2fndU2sG04nTe9U5IF04uzJYvF87ShCUAD5maKhGUbaMJlCrdaIMXaUISyrWENtbbSp0d+FM5KDw4c8B7kRBrFwaaZrxtkwoJpH09JMvcRkc0yGobNJPEA7QW6Rs1mmVJ+RvqsZztRFEsIZ//GOjUyDyIRARDIb2sdVknQJrJkSBKhgkoiaiuZiwviS4sp5vcu+KnRQN3Lq5IRu3ASnVGWXOnKCAp/vPySHpmgOm0sLxBKFFoJCLBbSXDabRa7kkcA+UyclpyQMSPWZCoUIn66wvtUnVpiqNYXmHZ0d6InkX3/ROJxtznQltkBIvrRw7Jo/4dWpidET8YKcDT7GgsZZiAMwU8TKGJfP2z8Ca2tIJFKhQwZLFHAUCxiXjjZVCnDc6C9J+pQ0O0oanxyJ0AmmdH9hFgsdDYejlTMGE1ESZ/JVOiu/kJiXIcSDNJVocfX5xE0g07yEMGrIynItFDNqRYnZModiLknzlYZMDYNAASdxc26mRMQP8EL7hZpcfzTpW6ismdeRUhzL+EcAsNFrQpfJMVPw6jGGtU/2IPK/sKzgTmT8yoKKjKxfJlOf4tDUXI7G1VsVvENp8vzLoEAKAhAwDB5rvKpzZEnsZdr7YAy0VgoLvY6Gw+kBFvgcneAztH96R4cfC2yRWUjrJOKzn755QduXghMohBBQOMVwIASEX2laLeQyhcnVR3/xO2LVTWDmh/MCiz30aPbnFCyKwzd9bQD3tRVk5lJzlmYCImTRBE6UJKAALxoYSQFrflyRTTzXlrT79+Jfz0jb9+fArlteMSnO6XVXk+yCv4rnJPz1P5Gz1s966bRo2tDAQ/wFWY547fhpaKJk+JiRarWhZYVr/11//gtmtu5StsZOUARWo93Tn5czTbwLmL94k5kYbybj453DNPDmMB7excwA7xQzdIE+qo45x5vFnOKduaNnmzDBnfmHT9kWnrznunlL37+WTE/6XxBek2TGAk9E4TjF/cyjflbqAcfcIHRVXPc9RxNWf9zp53Q/UIiC89t1Khh0ZFlJpmCV9y7wNM4VzUExWAnnlLll9zVSwmHYm1V+P5AkpUHCcUInoOoK9cHIjWFng5WfWBL3+S8KMRAknAiwlp19kDMgMcz56FolD6ooWTfbe+BcctWfajApmIqWgiYnOztTa0QoJBrRk4zazOwLBG80cy/QZg4xThGjXDQBve+SQUSQ4N9m7s8NI3C2z2Yppg9G7oVzh4LLAdOgaZzpKfzrFAkmvH6bMNORrJRSQTX3BDauM6gCQcWljWMi0Y4zS5B9GyVkIGOXXXPhsGKo1Zt9OCj3I4uv3e2O1ho5oegZ0x+1ECuvGfPWFqp9ImWAjQstHk+lNahhZV6rzQI8pDpntARBqNou5we/ltim3VC+VTIahzuXAnsS5PSM6YN1qVsVf1YQyatacSkmldA0/dD6lWpU5VvgAO+7Ayo2vF5FMUVpImoIArwo/JbM6A7nqLbOHTHtK+akU1wx2ccC21HJt1lrbCP3GeTU+8jpq57AA55FywLFBjB+7D5ZDUwqCsbfvDBmz70eS2ozFQpTTmn8eWo1MVSdQK0ZjCTbilXHnGiZ71RyBPGi6liuTVIYLtWptgTGyPxrQVNF/RmHYzyv2qYWvWBLTk7EkgZDhdQiVIV4kuTWJvUAGq5akoJtirgKR028hVWLaOT/pejFbkmLlzIO9IiYpC937sWgilh1lOYKsURn94t/gm8l4ZWb3fnN5cOX6j1BhzHo3jcXT5aBFnnW0RAx8K8ootyK2B9E1TKR0sUjRQY+twL4HgJgkv3xUE0KHTk9r0ZR5/N+sg2K6J0LS/Ntud1WUCW64iT2+P0dBE13umjHUeBxsy6eX9OAK/C4Fzm/RjQowWBC4zBwhg5qqhNpXnkEiC/fsHFPyY8UCpl8MCd5IGbQ822UzYqCD4uy8LgKyKxwEPk6+DvrZEwYe0k6vyeVs6Dut5+pbxz+omLudzpPrVMtPN4NPOpF+PcX/aCOFvD4ZKbio4s/8LxkXljxJdXglXleDnSCX/yJgYhDlTZGOOsOzjJCG1UcRMzOhwV68fI2Dv7b80a8WHdERBuyPC50PMfMEYzVB89gNgnKK9vbLHMIKRzrhMkS0UIxXyPngagImS+puHDrWg55Aiirug9SGjNxs6MblwiL+/2WpYj4ajpus6MxXiKvvBDdodv3o5fqsmA5iPqNFmCP1SHKLhrkoM2FxCoK59XSsapLwCV+fLLk743PflphvjlET2IK51FSckdtlvEXio55kwk+qO5sjlaaXbGyi4QVDRzX57DCn0Qchuf+QL/IzbPJEGpdqTmC/lGizoT0J5I2CS95ZnK/FlBNO9BysD1qm+VewB+QkpWSir7V7YO94Q9cm/fXKeD2yWjASytIbx0RVC5M8i3SsITK55MPFHUMF3CusZSMROkHjbdky3YMhu6T2Q6zZSq0snfRurETVndRitJv9vh1Hbg73KcsVPM7DtcaEorb6uweOboqBkNvXg9eQ6Nl/WAcooXH82QnsAzDFlfYFSoxJOf16O+skc9jFL3VOQpR9PnfFcX1qbALeRNgBuRs9VnWYP6dN6ew8OBZe2yDEtvsdsJ13c+5g27XnbDbNiV+c9b3MvMQ9jz8WVaXDEchShmhAxCkQoJaHBJGa5UjdHa7BCRJURWGY0XFKqCR7GM08Bq2OIIWAwnqZLSomK+d3fQk3x6TsWtx0daXEVRJs4m66uyRBhrR9+3fd8OIelG3l5NhzR8ZRjnxBD/m/BAbWAx5qUJUHB7eUWxiv2Qmykm2YEHCImMKezGoklT1l8x3Q3NWj2x6JaFuxZIMnkx4YxIkIQU5aqy261iWVb+r+dEiKERGgCIkIxXOcnHbwbcolJgkyK8ERRH3Jxk4XOJvo/wdvlk44q6cFAo0JbuwoMmclijaPwQRP+xOfRrdNlQDJJAp9NoF/x7TJ3hXeH9GWKAPhMaVoFccBpJJhcEbkTcCcFAjnZsm5fUcJFPYeWRu3fOL3LnPLczZiOVuBMFRzI0Uygq9kHTe+PjG7n4h+wObEMgjeTWJYm8sCAWfYeb5kw/Mz5nbxQYQhRDDVgiZwhUULOO3WGZZWT+kJEC1tNTvjxetvGwi/OUeigdhqg9PITDXz1x9rf6SSijd4UvcYt3iXaepHfIrx3Asww1syMZyaOk1jxeKYyhEL1xE7uVbYpOSN7SbDMpKvk/jG75mJMNWaRZE4TOkd/OaPRyJMCikoYk9eRoU8YGWyHRioU5Oy3PVQO8Q/5o7NbmlV8PuRVcDLjeVJBIN76wLIkR0kmH87BVnpLGl5nuY+aZ02mPPRFtNOiTacRY2EouEgA1mm0QDpDtUMzBkiedOhU0qE+Ye1OLT/uGoKrApeYWCm5+Ha+gTL6O1KyoYacQAFYlyPVjRqM6AGNWmkyFlOIWQTY+LtmCwByVS+IOyVTbjyevSh/1RRk0clBr3zI3uM0hago11yv2+VYNa0vaAluvs9F8nQBCBccGO3GeYcGxDzoJo5fSQ55rr+Ch6csRKJEXS84J9RYagvVC7sntn9lkpkOdTsHFkI71GOwABmcji5tBBcQZCf9rYtjOoLGP4D88ILkUEl9TcuDG+60y1n+LNCwGdfxrNKTzQ8JQcdO/eLHLaYSuy0rzGjlurL5z7fDYh//CEGKWdXnfm0mOaB5uWZ67VI4849X6VvAp50jkCSo+rSHJ6+LrUjdn7iyKQdUeVTilcN11X/HUvPDAjl2e4S+LPVanwweq4z9LvT6Vacqx3aFbgnu5Zi9fcybTaA2mu+XNu96ZZ1U6dtM/u8UTtejJ+cKD5JblsADGIQhRDkdugYycuIvdiTsdFU6TFyfBy88vrR9t2EKlORw6oPZlwpI0LZ1pSyGmt2awl3+1pZQ01jykGsop0MGeRJJIUuny1yvBdoScjhUKYuAO9oZlAhO3DFrSRlelEepAIVI6ArjtQBRZlzpvz7Pyale/ZOrqnQlw5Rmdba4HCSdR3IwiGaZHWmNbFeaeDzbq7Pz58ofbzJIueC8o3rm62BbJPscNxScZTeJKN//AUyuXDee4zvaKFFB5R57UaHGMwg9HUcky0COgwnrzaite6l3vhgwP+RIbhaUzyxf44Bj5cPzma3NIqcUHu7Oo5jR9is1jfvdh+OM0Z+hMX3KZyYGkeaZ+wr65dD4wZT+xB1IRxXX9qm5mdhHElwGO4Q0qGpIAdYadQpI/fuilvGpdVJAaBDKOPrScRNgCE11jM4tVHDJCluJ/AGvr/vk+W+RFk9ekGTM30+vNWNq6/Ckra9U5H2B8AAbPAaydNUEmPJ/xnG0oD4M9PX6WkWDp02UPtn0z81WMMmGAgaPkDGo2Dn7px/8RPA9PXI2PF8I+wHgPLC6ifaje+ut3iq712nN53WfvDaj6CInda/rZ7+a9+9Iwl7odOdKsTJ4cu9RNoyC3zvjfPxdIWsfbamVa78YQHt+I+XufQs9usbru4axcQF4IqVLtAXk2g1Mf5Jz9a12GG57jdks/rMc+mXk6D/qmedeJrN9LcaX6vrlZlruv9Gh40jd+I59em4CPOqmvwMNMtj6IP3Q86CEYqOcyjdKf6MuzRaLrj/GN1Ul1snE0yxR/bMGMtHtwcfcQBc6eLzq08u/H/xN4H5k7mUBfusmSOlXn3P2ofZsLYw82+FED16sSWH+T+JFeVgm83iwTI5ali+QIG0+Koea40afvJa3S8JaTz/2QvHOqFC/oJJXl+Zct822NLkMJ5Scn8p91zk9T5o9337iXcugeewRnYAEXQChvhqLYJwcexuJrqMqdtjKANRyVP8ilx65fwIsjtLHTAPWivvNjCqxsr9wNqkCvjckCrLKeaOyjqbzNniqrLGN95DMnwvG7xJFP9Ii/eWKCneS2byZfrCsdrqrEnDnZ07v7VOrWongFsA+bNIO/Fh6gPdZ/pmhZrHlVf957CfvRflTG1coOqhFO/uiIoiPBXy+4pVRp1kfO0tLrIhaQFPsBzuNi4C25eEE3lA/VOB8H0bVGzGeQuAZUT/2VpG3TN8x+ipnGlU7kJ01MR7RE3VUmeTbLnNvpRZPbUQjt1m1PLvba3ScRwM3n8kpW2gbTJ28zxlwcm6zbyspDJAiIma8u6KJpsyHVV1lUrqfOtW8mFniHHVldMXuWX3LCFtI0nXo5XNGPeMEdLWyJ2DmYreD6h7o0fUg57W0FjgQj8dNU/x9EPJGBnqZ5qMm28V+eORToOVichsgEbnMEDd4nbuAfgB6FjNfu0zWVjlxThXKLddJQdBDwbeDhwBvBQ4G3AT2ddaX1JadTSpXEG+HNZRPvSfc5xGcM8hJr/ElW++PpvmukX3CAwVhCPLR4DMulTnjwk3jxuZgF4dcpYj7Arq8d4FdYTXAqtJ0lS1TO466+nSDxReRnTPAwh4NqGeme02noXQiX1rtgKitxaRtGYM9f8ejW++PqxaFH17gT86z2wudd7siRVvXCJ6/1xsSHgQODOcmRJkW2SvDlXpnlmc6WmlWfqRVrI7AFHmeh1p5cu0JOS3C0QpHCbXI2BcnSYlhJduc4yLxcuLfmWKfZvjrnypKvLUWPueskWKx39qfVprUW8OSfHkr5PxnWZLc9yX2TRL6okuUe7k/ikr3G0qHk+R77pZrsxzPki86RvZdRUXMadKx9zlLzyrju1dPAwO6msaM2QrUvvokQLf37q03o9W63ZndDVdZHcrs9l3DTP3clcSfpcs5DIa8wxP4DSZ1emAuR7pef0tksZB9+CGDtXvlQqs1dfd65Us56QsxTlXkfY9Oy23q/SKzRWAGInVYsD/vKn2W+ItHhiUM1eLbCPBoU0v2TFAgfXpLuqMyXiyMKnBxwp5eETM4odgpObbXHLdTfaKv+eMkZTNSwJZ1n5xLj89XKVITWfg9twM8dBv7nrtjtdLDufofYpGpkDyjhkTE7UxooYdxZCJ9eVpwfuuW9ukdL0ifJyny/vX6byy59PAXy9cyp+6DBhwxlXSAQTzbNAZinmR4wkW5b6dkcRFFWfYDmGzIkm1CILaeVGjxEzlknCYscxudTSTPGQLq58eQpk1BIXDptFZZiqHoGYSLaFaQrLlRHYLR6l2BI76RVZnDRZ8vIdFl0BjekVphBTUcXWiE1ZiTjL+jm1pQxKktNPzAx2hnjGmrkXs5z0Xs4+MQnsJvvgLaYVNlgZzZyQiJjFt9t2WbVKcQNtUpZSVrye/n51mrRfhDuzYa3+/Y6cuVbsr1Z6wdX3/2VRW131NRTBQvqDXAMOrvH8JUpm28liNdZUcy21opwhkOQ1P3yt2qyqLUMbGR11DBtDuyMuu5QpM1Nm9hnRn6Qu6nDWHntZsyHD89EnP/tditK3fj7QmSt3nrwaBQpg0h3lKlRabru6hvJbrayRAgWdbiy8cESRosWKlygptyBZvV1/MpcLFCxUuEhTTRcVFjGFstYE63R75LF/PKldvJkSJaEN9WOBIMmKqumGadmO6/lEEplCpdEZTBaK4UFsDpfHFwhFYolUJlcoVWqNVqc3OF2c83ZEeWo0KLSaWmoz7zDd0lQ6lWbi5g1rru0/L3KJPDN9UYb9siDXFxCtO3nJbKfduqTTjDMxbPQ/GhznKhQSHFedyxL09g7NJxHOepZJoVvLW+qCG9be8pH+5cBfICZTSloD3XZk1rhTds/cJ5dZSDOv+VPCcON9OMFtViTPC9wPcXh/AkSIsZRJNodOO21OL+xY+aXB409KS9mgwb/Ro1ByC+lYlt2pPRHfkBCe89q96dc76MkleOm4iZymsTU70INvcSAvEyMTdZA5L1OzI3tLoyXjAiPPDdREDdXlYJbzjkXChDyaeFRiF4Es9EzahcLknbBvLl33U0ygLxQT1TQ0bZq9Px8Qc+InBNKJDJkhLv0uDIpBgdyZc9FI9S6bskil4mU/Vqd03alOtar4xEpQqfOwRTA+wWbeLE4sw9+Sdgq7DuD3sHj899rhII1lXvkiVLk6sQA0sQhzpcq0w0z9QuOMdID6GOlwqJWewo04UpOQZhZt8CA0Otkg5SvW1lr+KFLRydryJaRkRcoDj6S1Li2mC8aGgjS44bwIZM7E9Tai16uQ25v1a3XB2KutzIBQCRnUWggZhkvxDXnj2JsVcWyODECPjXUXrABImhPo3JHiD+OweAcjpa0pUZJ7GNdmdeyI+an/SZP83aYZV9cKZa6SZS41AklZ0Ao3KW5TjT/a7dHR1eaibbWMWbd5DiSnD27KXEccOr1xFbguMSLUuCNNAW6CZZor3XCCxlw+2p328R4fcZZvzOVrQM0+ORktQSsa8dwHomZ7kqg8ttVGmYi2IC/28Nk7QzM8sHgP8xniPcyHNu8TPuLwMZcPbf60oyZkb7XqaCPA2/bL73+cQYcVsYCI6Oom2V1RFlgEgEEioqscNgTykAAgrANhM5EAMEzYAB8wDUBneeEtQH4h9wmUwKMDQK/d4GARAAYJ9Bo2ABCwZ0AAAAAbAAA+AEAH8BYgPwMuAzXiEVvHJUN3Y9h4PL+lmY+nE6F3UJhcPZUCrgQy2xkrCBOf85GmaQV1AKG31uXaQ+rqDtuxMsNXfsqErvFhqTe+7iFeJW8JFu5S1E5qsdTgyC6iG3EvgXURZyWFWM6cbtnbgPsGjAw6WCQqn7ldLUsqjcO4TYdBv+dlARUzZwxFvLJpr9zGf5Uet85EiWdb6kKJm8YM/itdecYElJllTfiK/VjL3OML250DHyfenkYR9rnPh5tDukRcNpvcRDOJ9lmD6uoguBfvxv+nYeSmnKpftmM/EN7mbH1ukA77Psse/Ymhr2x5u0p4JH7hKPZ0ytmyQ/Hzh+n4/f/pPxpS3AIAAA=="}},"time_used":86,"timings":{"blocked":-1,"dns":1,"connect":30,"send":0,"wait":19,"receive":35,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0I5nvwUgHU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://meta-drop.top/","date":"2026-07-27T11:43:08.974Z","timestamp":1785152588974,"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/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0I5nvwUgHU.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://meta-drop.top\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: 18940\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:20:13 GMT\r\nexpires: Thu, 22 Jul 2027 13:20:13 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 09 Sep 2025 18:33:46 GMT\r\ncontent-type: font/woff2\r\nage: 426176\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":18940,"size_decoded":19753,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 18940, version 1.0","md5":"5c8b2708e9cd88a6c9e2172fd1a09d80","sha1":"f8da9a4c7fe5fbb441e8e1e2587f8e7e8e25bf8b","sha256":"20fc1e117a255531a9f1bfc780fa9827a22820f8e07560b155323dff5fd908f2","sha512":"d56292486b6274e3d0d5a00cfa19573469ac4d4173fbdc786cdede8d9e18b8eecba8aa647a115b32770feea0ac2d59c54092642863d4cc2ea725560435c6b780","ssdeep":"384:B5OeSmylzizCljGvu0333XLJyBo9/fsItLbLvAsik1LJ57o:BTylizClUpH9mo1UIt/Lykpno","tlshash":"3c82e0a7f1a24589d84b87c02098e7546967b70821d6acea411be4d90bdbf5e20ad32e","first_seen":"2025-09-12T00:27:30.877732Z","last_seen":"2026-08-11T01:46:17.877832Z","times_seen":3104,"resource_available":false,"data":"d09GMgABAAAAAEn8ABQAAAAAhwgAAEmOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoJHG6cGHHI/SFZBUoNBBmA/U1RBVIFOJyYAgnQvbBEICsdovFALgiIAMPZoATYCJAOEQAQgBYYuB4oJDAcb6341zLN+htsB6P5z7ASjENg4QIwdoyjqBiellPz/35MbQwT/gdZyvY9lyiokjXlj1ejipiFTjQfJiU05q/p2knphUEITwk6YtcTGyqrENqomUlDmjNImQ5ImCf5EP52gHQ45+MPua/RbV11BkuJ1Tn4o3iz2l/oWJcqBofCoxA/ZbDzGFBLvypI6+IX7DnRSga8s/KN+Qymul95v7PAIjX2S60M0Z/9mdtaym02cGEmQCBCCBbxtEpqKUuivU1V6pmxCzyqfU+u5eE2BPXg364euak0EGkW8BCueQPCQOGKn9n1PxIUh2GZn4NZOe2sDowmrQSIV0QbEKhBEBQVRwYjCxArcjFqna/e++4iEL1r790/1zF6gALoYhY5IJcpE2Km3L8xC5SOpL1ESWpLA2/zD/zHw/iXIzjgxg8fjtWZgN0iFVx7fACdW8Yanbf67A0krthlz1iIKUFfVuvwq6LJdlGJs31qUFQNREREQFRXaIMQg6kxc0zjz4ABwRJeU1EoQ3cs72977v1sTiWBAAtgbRaGahKD0+wFP+5c24926vwP5hbTdJ5ykKZgaqXCrRp6w7dyDuNXNBVJBghOjZ13lW5UEHnP6SpY8kg14W05KkPTdBSjo5V1Od5fPZkyju4UFY3vfme9KF6At96+rzcR2d2YVq8S0Eq/hIicq+flYoNtreXQm3uERTFAnW7W4JZ7BeakM4OGSDrXN5XhDRCIdZttEhB0HODC7HizQwFIMNA69/9NZtvrWEXl94YoUoqJibrlogOQ/o5FGs7PWatdZy4qXvM6zD2UfewPSEXAZAjtA1BUp01aXlOmuvWq7Pj69zbL0v25JpVkezYLMGuOXsQ2Vz5pTV+4NYoc9rZFXuNtDVSP1zLqXe/lrYN2rsUygNXGERxhe9CUZ/sBV/WkZBEfEIVZ+ddGFgEEQURBnlx30Iqr+O0Aj2XARmKJoWm3/+B17jQeHbn9I4xmPM8RQhpSyV3RUacd9lqWax9G1OVslRMjsYLxz89fuEwiOnVgfUhdiCQhpQ5hSqMwsrOycdYPwBD5+QSElyhoBEUNUBFWqWwOiLmjU1DYQHUGW2SRWUzhM59bNb66QhWgrpJ2s7AzN5hlqb2CVLsAkACsPDGxE1KtCtlqYV4i740cgfbY/XGb6V6o2aBIOee+/EGAyOX/2BkE/B8mC1BPzHyQAFwAISEG/Tdgm7dToD5gwsknViorDFTnooEM/2gYApCGAAEw6LHR2zU27F2ZuV6UiDNyX2AIMPKGVEgxgkG5LhftlBN15V5ohHXFdjaNiZBAoofFZzgvpxPxZKm4sQNoaigMAwfObFgMAQBcnn0S79brAa0dabJFyHbaT5enytsehfLQN6pqHJn+zrDsrP8J0+EM8yqDlNZRbLoO+sHHDAyB5o+C61e0QWmjDxXXXNSMxWpOhj+ttW6kl1obx9wSMZLg7HZYzaPZqH9uVkX8dsL20y/iIZct4ydex2RdtlinQe4plkfFNC8lQVfE24w0vztFrmuG5JvjQHkVZNKGOqbaTx0RN+aXGb8dHhksBjLL4joS73vFiCyEqdu60oGH+v0egbxtCyy0WBdQ/0qA8rDmQ7zVT9fsACC8Ob0QNgk2u3LgXGhwrlXpsDPZnU2xosqzF7rQxAghqYhfJ1LMfdtTbCmAk+CZg7D9bkAcdsYQxHpmGweEgbgmAQL25EoMkBfEnMvsRjYelZmO15feYklvZ7YOmbvfXio1jiJ40TjffDV+kjYns6N8lgvicHJifEOYYjqXaESDWvXEPdyYutjcKTubwkcfuzOBiZdrLeJ7HcI8FtULYZt+ufqU9tr7jejibvkadf2nRYwi1PLhB7e49MAYtC/Vmk/7D1tXVtlyQnmcbB/coZqzoBWNQu8Ecpu2lumsNRb2jwTjMpUw2R4BjKs7koY9qT+zfukNGCR/qrbkRA9H8eB0Yu1L3rTDy8rHNKBAxD2Hem4v6qm8bldo98tlsjRinC4fhCSSm635s4nYO381zrY9NvETpZ0fEVKiSUK1GnYaremjl7Vv5KKOlmQALt/FbKT5+AUGnQiKiYuISaIyk1GupSKYYtOPkOC6WBOBQZVUDa4KwqRSKBAYTgKDKqkkFqAmCqRbB9VWeUMME2CV0VCtwCcAsnFSVVBFognCqFlWIuY3RwBKEQ1VUCBdTiaLw/4NQ1aSaVftE6hznJLIcwLrYSNLXNIBjQTJCMClAT1UAqjCBDlhOpQArpwBs0bypBQyKKAVan+PhIrHx4QQQ5nasGyAM+y60RxjR9LxkBuK2TgAyEFJkqE+9kDrLiL3UWNIuC+nSBttMIMYlAa9UzQuFUveAzC9Z4nuoIAWICG5eH9oqqJgGwtGOZ8L4qdBlSRmQeIhlIFIBACzotx1MlKbs5RqfaPNBuycEegr2wGf8h7b+l0YpdGkhxy88y9Rn11fjQbuMoRiR64+Rwavv4GwQpxSbn6wza+U6K7Nm4VeNiE4pujxx3fIhtLWGnkKNYgdC+Bj3jpoIpyRQIRwiIQoYwAQWxIEYJOUaJq0OEfbdYleuLuNXjcxVDGLGYgiYL3c09/+g2Co4q5hFpBB3HlFpXeJ68W3gdYh3Iei+ZyoHd990FryOnPFUgNBwibFOocOvQ/URFYvJXatkHwvcGcXjeINDtRU5IXPKV1bm8ZwfDl/ocg24gsGtW6cLCbmioouK5JSmpREMRobB4w9KDj2nmppebo0OFsXCpX67d8c2gQIRIsQVDkAjNqqzT13ImEwCf7GQ6roAZV9dUZFlU+zYEvlzZJzh1jKFJ063lfjFuIp4mksg+IarFvP2uen5x6YCAhA5fnELVo454YnzymTEAF1xewTcy2F1yUiYYZRT/5usMw2r1KZNBrJHLuUCWZcrZW+ulnRyQqcg36Qq6/IUkWRdjuU5EqIKECgIgM8MxFVougGSO9BzHwYeA/4adL8G9g9A5yfgxqfg4Tcg51vw9idkjsBNINFKTAAABUCu+ubO5vvnPj7nSdm3z57mnvY9y7wvL416aeVL+1/Z/uqGN/e8E/e+H3sG59Tn04QTWl1Fvm1D2sZLA6ST5bt/c1FNVU/TumpP7PboDf1TzN6L+90OxB6KadYA8LkfTpss+273dn426cVoAAF+Sb8H4JpJ8VH0s5rst/ATbXurDFBw9/e4+5aDgg8CXOL03w7Sl2wByC0AYFvmCYAwFUFIOICTAkige1/INZ0bnHo/q+jUQLa/oYs6P12uUEVMwvCzMqgX5cah6MgATOk7yYoaaK5ZXuE1y/LZNUtzTueSOADOICSD15ddsygSVy30ZtW1wPIzAnS00gxugxjHOdXPx7Lra4pM0XsT9Q0Ny5i4xlIZ99viEL6TjcXdYWEMkM94oWslKElVVU0N1E69q9/KUkjcUKqbX8Iqq1RXQ/W2fihz2VRDutZlGliovMyQ0aWI72Y3n3JA0kzvtemOewAuUOmc84k0NHF6bMQ7Z71rrBwSOlHOkrRpp6ph0cHOQ+ATMkqJ0SLGiKmSNi8Dc1e1CRzcvOJM2596nFxOeFT4VdUEbG+F/GGLsT/ZFvok7Fjy+YlW3EMKhWSUdB8JWcv9ysA0KLNFlcP85lFpynQAK4pwkkn5ZSTQSHYsWyaCDFIDcHJhxZvJRYm5WIzrWIKvZGk/XQeW4S1Z3sHNwIp45g1nLGAY7ASZQS4Oyjcp7RdA53BuI59OWmh3SWyOo4+RkvFMBiujElHKggwTRCEmq6gFfbQ5HGq9AZQtxFjSU0bJMEYjTboLE2EZFpM8j4HV5qlCGdbc+pArU0yuAstyh9CPr6lIsk2mUVWeSWQDAauVbRmPFF6dqPkuEHXbbAKL5EDn652x25mPVZYki70a+9aAL1Fkd+/GUhNWf3hRZ/I74GH1jEXUBeFuGndUXWuZBLSWFPP52IOZIrd9963Mw/D8u+lVkZU5FzJIDqaBy5WMahLy1QSMDIS2hAs2gLs1g/pCYCo0rv8+lizIi9jmAKZbgTlQ75TlRimE2FohPAtSfWZUoD/lURobZDp1RNF+Q9/859FJz6IopqcivkCokD904g4H5SwLkFVySXTV0ArDgvR8y1Itu4qMyLAPMwOmOLkPLfj0x5a08OAEV7JSamm5YUdsnRlxmOLEaXRU8CkdjxJ+I2Z0UjHRJe8IO8CPz7nQHJKXjXIx4Zz9ghGxkHsT46wNH1nJhqMOxWEtaUMu1fh/hZB/7FHxvZfSfu2RhDHkciwz4QsFC1mnxLGKQ3KmCB6XhZFZRje/ik4Fuzio3fyCo+V8DcGGxpz+aTfZn3SlpUtjlI217CNAWRzLrY65vFfBOegqsi2NcfiHmUeUoB8NmWJ1SU6Gny5hiMP7ofkQKHEIa5VdkJqK90CdjX09kYFS5OxDJBudLmSjq66AujTXHkle72m73lehekd2eWtN+43lTef6bC+rrINdCdkQlLHwCh515jCcZTiWh4V0x8oXO09RF1ueingBXOBoXfPos7NF3jb5PoU7mqDxA4K1UwLUJMkZayebHQ4zS7wKxT3KsiorjhFW1c+CGDMowt6GrhiDojsDWdXYGEMQtJSc3n6k6ZQcb/vhaTprVdWgivsq85A32Ek1rlVLmMUPbZSqTyQtMKOGK00yDKjwtdIfErWT4D7NWoczeE0aqGgweKHO46reo9TkS1VWDheqs6Aap60Menk8LUPlM80Ftm8IQYy0Z2SVqI4WMRH7Hp4QmecyCPQDFhE+4zhx5BdMzTAWCgWNgbfJq88F6dAoxWXkqDUOhG8AiZSZpZQVjYoHNDWkAvtVNRbUzZ0NE2zsm6f3/axTYLk8ip4tM+2zZjkiZNz2OdZB5KIxqzVVWiisc0rMfHmOA7VYYAYnzCW0dGGiu24vxcl8XL4sMZCwq53NJ60jjlwckIDM1jhFWMJIJnn7VNp8nqlrwrxLTrqoR9JNa4dj2tMc6xT6Unniyj/OEao2x4q1aZRyT40cZKbPalBAFcqyAc4YIkSpmEatvYSDvGDTN1G2wU5+21txBirWcKWsTkwb9//FKDG/bF42+x2cCi6VSUoV3hByi9vsDC0doC1cWxa8PrtiR6Po1I5msOnDmNKb4uHfk/OOPOcifQkNEYof5hwmPpBy2ESbRmr+ASOXvHTSjaLmXE9T2Qr5I4w+u6XZGcqnOFmO3MKDcjEJDw3W2mI7ilvRP7FgWYjVh7LSurVzzkY4YlvB0XSuI7dCZ42AtE4xXoKHnGBkKC3DlPZERrLRJo3p2ViW7NoKC5k3np0vhYfZR93J21GlHwQE+d/IdnSpYEFA85Dd+EM6nrnm/gQyt6TAzGQyZN2nzUA9J7ti0xCN3w4OWXEsYb84XqvAszc+XHd5++wleNCmIDluYdR6i8c8kb54WecFrlbYL2dHlm8f/3jhIp0bxujuFJT+mDf1FmBhf0MQlynCbzbFA+ORF1oTWpEXBKP2nuvtSOnCeLN/SLrJWAY/+LGdXTwjnUDax+uu9D03tfy/5Z5ZfL38Xi4k4M6Sz7hX6q0p+glT7yr/TDDxlxkb5s5b5D+GEvQQfHT/6L+jUt/cQAUQ7omeO2nshUxWYGEWzk/nOJqrmh0zkMtJWnyTMsdWMmaaZHEEQlEVgZWiwFKlPoQcUpxc1kgGTj/ob9ksT4R9o5kIs1nZ4t4i94vTVHo5m9rEKbwsiswSJ98pL9Lael6stSOX4WRWWWQiX5vwvC43bbFfcotiQI0aEKH1ynchx8UvMtt2F1OcpGa+MMBJh7GRj92oRCDY8ZrxD8Ga57vOb1X9fCBbkcwrnicw/AGm37VmSnSqnavW3/uj+cy7BqdUjN5vjts0zfGFxjQ9O/Vrrs4qvop84ccNf55qvcA255nkbI95Z8Ix55skXvYdmtIef5DXaA7gZHUplWkn9FEOdXZllplPvZ/SRgzMaE/C0+xKHBuMsbpG6lJSRoR1NJWePkA/XeEH8siN0JDTB+liDylNNlnbyJ7JVSoeX8icCCoy08wS11h1PATQncALL1ndO9Ial1V2qj+QwxVGzab2zPXa5KBWKvZIdL9FCKkRxUuAfrryAcBAeDGpTLJb1isTYd+qk2e9vDkreyEXa22+KL3ulsl3ysVBTkD4CQuoV2cpgGJaIBFt+PR+/S+nIM54fl2WsdMhmUlVsgT1VL+aiAi/qgZKngvgxwIh3GYsaewpgIzZTDnQas7zrzWNP/f2hacj2osJj/6f/l9NH9bBx+f13B1TmmGNuR72DbrgevcIWMS3o1/DIzyiNrUKEME2DeS8jfgAoxKbrLKJVlxSiwMR+uHNoGk2KBFZD+3aBSTK4f6kaMgKjVHG1IoKjYeOQWm1SNQLuSjQxpBg1LFfL9GYekCiWf9I6giutxaQ6TmG2CmnVRgmCBl9xpVTz0dvcLLQ6/U8jlvsWawLjLA+6WSAD+PnhTTaAJnHWJoBqbj2Rkqm+agJGRNBozU7P7aU5uy9Eo2P37uC28hDr2dlozcb+Vzy9yno9QAtoAqkYEuFXgSiwBtVkjKqinP9y+tst3l1pUSUaJPtXceipl2wt0+TSTXJbCt1EKNXfzMx+eq9ddUiw6NI4BMZiV4dxuLSes1AH74/AHbgrBmHhmQVx6Q52Y3ahWaepYRYUe88cw/7kzXJ5JXfETh109MuUCJtQ+/c9CBt+y86g85fucH7ADJ2tDBIU+iTOybd32IxllLT6JnrUYBqdlfwFXqLpNx4KTVBK6V3SK+yVOm1V6c0VgLax0HZP+Z4xrr8fJLrRlenwqmEwDZqO943jHI/qbGZoAyLaVR/9rM/0Tc6tMAbH+hDfXgsKZJ8+ucgtI+mLFYC5AXvR34zFxG3b19E+k0/Kn/kN30ReSBE+M08kg+XD3wpEX/5rk/8RXUGyhVfSVbzfe+hbgXlpkDY8ETOiMiP3GXpePBfqYFfQnzywVU0GvLXZ2JZsBGzX5c0UTEpd/R+ET93GUC4SImV6XiBydAg7av7naz/vtb9nKhrlu6uuP9eKUO/Shkci/HpSmO7YdtLB+8O5X7BL6xvMN3+/yz1zsWDIwk70OXtMvHz7oxjz/hmIyemoPjsYCfuLmpP3ZrBSmRAJ89Cx0OvuV7Y1XCb8AbdRg3vmgs1x+8Ra3zS1MTtocZLXduOoDKQqjthExWwaw6V1FIpncluSCCtlkgIq9WJzNjS8HA5vHYpHzbRAYOUtWgHjupKrugLA70eANEKOZduJZdJryVkzfGz0xu28cUHnOVau8GyibpS/p1arpxWjowV6MYZ9pxzjpGjsOKw4to2Ye1QcDDfwzcdn1YtzBPWS7KW8f65kkDweZ02z7muaYMmIe+dYQacYSLvmSd9++L6aWTOXO2EagLQjZrf54v2Pw2Jdtv5zUdpVokV3c2W5ByRz/9x7mLXwBVOzckAZ9uzH/xt0y1J+qEGFbGsCsRs6pBovy2/WcGuIuK6c/Pwk1WxcXHVMfipPAGuq5oIEHolDyiChjgHs7go2jBC2hMqJ3OcvEOQpBZmEZVt7RLyTZ6lfmxG5TxeYSvudaSRzzHsUzKarpAkAqV/qsg4YtLBkMSLSOfImaRAAS1PzgVOwee3zSMv2BGanzN4c8JE0kjTWlKJdAThH8UgBX05GkGHRLFwYoEe0K3MebszX9jlKcRFUDIaYWxEfa1Aeg0E9/apGNPg+FB417pUwp2IYazWpSxFSuWNuVQJGicDIqO+zxYLsXtRe9ewn33va3H1KhSTxppy9rX+p4/1W/020AYdJeKz5AVJKncS2e3s06tm7QL0IeBy6llK+lkKGht2tMZh330Ap1qTC51ZXJMow8XlsyQ0PvyYaHS6rt+CKuyJX6L9k5ZpyGtn4wPOMBF3ocnfvgDIuPOXzbEn7DK/wD9ZTsRVFtCb7FtP+BqQlbqN7pG8OE5u8ZInAwJpsnaeaSg/8PHoD4JM6xO17Sv+mG2olopmZENRvj9bwNxB8ZnyAnsVINv5F8o2OuqwK/UgVAU1bL7eKe0EvZ5Hc0K1d9Xt7e+qhGrzD+ZBntVXp0ux6BiH45Rmm9Sa7KDNPF7galVmelJtEna5UITZrEkHzvPnBzzJAaj4jv1Sye+zdNXF+hROAqsukFIUPjQPCz82iNWn7pX8K5d3cDq/kh2YDWeiL2Xv2KjP4czF/4Rdaszk2uesechzcQv5/ZI/FEpwsaLx5o7Kcc5A00BWN8ELFaSLoZm1VwQdBjLPdgaqvZTCLN6uzvgzrbPr+Nnq6ydXtGsv1ZzLU795PZl5zqHTX5eRihhOr2deKWTXnOy8y0y48YrnMpcST7AdOhPg9HaFYOY79xvEGqueRfv1nXOKeU7D9VRO0EY9nzPPDKsLsm2AGPOQLxyXa/aX6v+PXzFQGbSFXqOzBKq8IRb92ote4sqZfl6YWqwFBwgq/7sINNzynuKl7f/fTvjhdNL/zgJU3jxp79GkcJmTnjkx9MvsxaGPJzL5ouXJFupnF2e27jhmT5J+ehNL2y/IKYiXYgiFuhRTHRpFJEWBw6ju2S4Pul2A+vQyD++n7t4getSNTHYrrhB4jxg7BQY6lSupZReXTaCXE6HAZc5gqBhC3ezfE9x134P7CW0/sf4z4G4gHJnyJrjpd6FsS3aQZL4l9YvFx2V13qqcW5R+SeqiHndTmzCFn0WWWeHkq5HwhSKtnXI5TmaZRSHytInPT5emqfrFt8jcLZuV6xXbLAN9g0Dx38EOJ7vPpVaSz9GX/oQmI+9Oa21+9+LaKRUD2BmFNNrkhdD5hvhJp3UYAesSe9aNU58yBf3SXKPPBCFhmNUpJ0MsPUdArrcO7tjfAOj1rYO4SRci0eXxEYRfPf64v9Co0kfQatPK2JGIYz2QO5mb/wbrgRtWsSMgEbfvseoMuHyGihH47uOYfPfNKQmwLZ0svpnKvfe8jfehRdTZ96o/2+Nr3JfnE7+sXohu9g4riPILKGoOFqIGjRJsvDso50XGdiFolKmNDzaYLoqlKKG7Jd74SxHYUZw4gCRlsZ3bBLQ4tpDm0cauL20FWN7Rg0MBjHaQaHpJv67r7+EqbkRvDy2pe+XK4mpT1r3KtNKq+1zu/TtB9xfJZB2C9KK6+vUUTDTKC0dmG2QyppYSSoz1DN3BMhRjOFYBhjO30fm49ZOjkcUuS0nMoFiOUnGkTga9r7z7xMvlzwmTfkEX3PA0U9/t0rvUYoJu8ypTa/FCSe4AL/Td+0P1iqJPGYtNZLosFUefVmLXwM/YwthRkyk2nybGkCjaZnsKAerwKZzAgR5pL6XZzP+O+90h9P5rKMTx7urXCQwi5Tj8U0Uq+gAI8H+diVhJM8Ecy3KruNItlP5y1Jh6pKKoeh1fUUMI1cNol5Wk+Hrxc2Z4Koa0xyJ6/SHRWF+Z82+zqqvrVS3/7/TR1Wm7DOnSCFsU5d4SbsBxnxcls9mwHvMcg3CPloEDLIfho7eKOw2pvybP7Uj9Sagc6X0MMwuSnMbiLeMcpvLTPmkeNhkG/t+uD2dEbw6uW8ef1tYZSP51UMQVMjc3mMB3GJ5axHBRqMeLavE/rXxGCqmrJvXrx1YNqd986p2BjTs0LAJiAEOjYUlQCur+0C8gBmjHuBC4VweOQyGQZsJh7TZwOOyHyeDxEs/+mSbKTUBDOG9pj1t9VTwaEcmAFQUMQMRWPtUFigHi8C4B238s3CDqRZWJEkRsiHhllPfTWr22q2rr6YGImK7Fw+Nw6a4W9fSqxWqAhDsQuz2DPF0uTEcrNZ6ulHz0GPJKn2/MYt5Sk6i1ophSDmxTmU6BmLZHxHZdv15NYX1v59FROk7sj8JLOtnFWHKjF/8Kda1/tXpPXbd6x/CnQXq7ncKurcO16a3l9P9n4H8nxaAFxqwnCNj0QnPpVmJa1P8yB687YuusItYB3FrMxdH84bERcGpP4kbTy+p2Fd+9Th3w6WxMBbqFwQnRQnOXgPPe1bVnYdJ99elPN/thzIB9Zrkr6kUoAQApAH6GGMsv57nkRwd7c+KV/C1/hFdCmJjcN+NbOsSPLpcIs5eQE4J06ztB3gagC8RYfJK/5dowiOFHmfP4ZXxPXCfoiX0MC8d1K/fHbUrOJttha7bNhg2fQJvFWPxl2DHXkfwlm8BOGD8fWUhiBVRJDvTxg4Iv1jqbV5bK6l5Cw9hT+nloRv/M/ZZTeuT9sJAFVjA+YRyhFeIeOJX09/CGXRkBNn7xXBw7Mdr7WxbIdtVLBaMfjvbFkfyjIMl9LDtJDnoc+HA1YaHHIKX2QltYH+vkGcMu5z3APH8yZsPM6egumAa77uXQY1Ioz5DvTqASEFCANP1vGW3G3X8PaZ7nbb7GISdiI1fIDYSO5CFVkBTSwijqpMF0Oo2kl+l1FgtuQh3jYjkauwNNYavYNvYbrUA3Oc3nr/G3ij4VZRe7CF5hhbBFOCFcFeowzdi54mLxjBgn8rESrA63XnpeqsczOS4/KMspqyQsMeWUG4mrlKtKN9HhrKn54Y8qhppXm3muq7WdGtvNyzLCklhZUFnt1uSmcF97832PANvZt7ZVaTzX3r56RNqI7yNKPdlea+684x3g3Dkqj/0rwPAWeSPdp0+JK+la3L26u6/7xtH5Y5x8N/Wc3bN1zMsxKWMkflG9z4+b7ZnZt338DO8LE44N/OQfP/ihPzK0BXgCycAZQzdMyp/EC8QEFqWhlYQAKuoBIQ1A1YK6fEZOvGU7Qzywh2Sotbm5tBS8MsUbrkTFE1o6EYM6eRLXfvaaL4VrCsRSSibO+K5rPTb9INfEQQrJZ1xUVxcKYsQNM2CK+5+NtJhQKm0hG4a2MAGrpRihZKYNECFX6w8eeGUhjowDNiOUAA8hpRuTJpTGRJCIVBclhGZwJq9WCJnBBprUCWQQP2zSs8OHV3dqwJ+b9iOTpAc92MRWpFIH+IW1UdDTwGKxq+7YlkM+9AnuGeNAu+613sosW2RF5C+b6NhvQYW71+Zl3d19u+Uy/S6D7rihSN0Z4rg28mZEgffprmnud2TFZkyamoiKWLdS0xJVLYcTESAlfcWL43S53bCHDNIOcdWzfkqDnL4uzHluMEkXVLj5iyI+mSDJktlrQes8VmCW+yZvoyXItPHunyvSeeXhdtPfKo/9YzBJdxVzsN4p221UfC5WjDoI2iXg7F4ctQzsFuXRaii5UzdsaSQR/yJfQ4Oz1lGshCN/08ROvhil3ZXzMSDZOev+CvCe8mrZnT5gRxu84BmocDrSXutVYuNDGcrvRjsKrUrfAjzqz8YgDR/MLq7O4uCkcmujtXULS+wuQnUCNQ4CZyVfZFRW/8yaH00ihJvUUEsFmJEDISnyg/Sj6g5PtsXsUwPOKmcDM2Ehnq2iQCj1IKRepvfRN7QlsK8823SDQLJecoY8/QtStKcfi9EVj6c5Pa2yOzAOGtEKkM6SLim1bNkPSIGrJStn2BNwONpbsLbrd9GtT72edH9XArQbHtQhdgAZ9z66nEHC6YfnjJShUU5fKM7aEd86BYKm8C+fGgbgb2XunAahxWyYUJoGqawlNDPK4IVasrbRd2o92lWxsx8Id7DawIQGcTTbDtGvI8i94UHszGXkK3wjVCbKTVKBQFosFq95PxWRmgbY6D8rFY9sp9tScfw3eR4xnzUOY6VOFHnHGxvDszDQkXdIm0p1ZIxrwBnlSGAlmpGTE76p5bdLlQGUToIy6jItdSsTfGdLBNexorF+ELPJn/qEXVXBoCLeEo2lLrquk6i3k4p39lJH7d3vy/KRQq+sWPW5n/r39cOliosZHYTnGyZtrLArHa7dpfeS/+tJTLPW/U3FouWSNRuExGcdKMtJOg0cW8hljYCkUulOerPYTL09GgT//qbTpyHdlV//eMgaCRQxZF2heOS9DckGs29VXTadSsYlAadN8ruMTAyvUVUqqpM7ZbHbkmlWj0Dih36qeKwrZxBgYJPQpIQE6srThhAcvuAVLaOeE/JubADJimEjQJnanDVbTTOlZRX1TdmOW1opXci8OVW3uqfvoKFfp4mEMn+MJMhy9ZRy0wgSRJlXQDcNNfjG+erRApUgO3CKh7p0GgFazmsxKR1IJvL/axz7kAicfV/NyuMnsfUgW5L6qUGQs6jYD5IVYRh+dIdNwgS+ufmAWZg9j5xK9b+5tZhJS3UcCCmUXk9CcPFASfu7v8YCvhiA2XPJcXKMDU2fG7b2ZPSMMzv5YyjxhJ18nenDIcoQ9Eb85oqL2nLbFQ2G3IxD58W/Hn5B32YqVWlHSV6KUrobTNfJJ8cZsu8KJwBf4fDkTGZ3KxYm/uc49iFuRull8jCXHpnjfWexAAuGsTfNVinxpylxAnBMNJ+tPYJ16o+kW5rrmteS4A89CNcJ/vAjoUDA89bOXc8t2cnQAr9ZxtEjO8bTsHGM81uJuSymmZ3ecPO6yq+Xha2xR6lkmxT/QsTl0zUUCMzl3a+m68ST/9mOXxCZ4mMuGqXn6XNwEj/e8ZuJMz7dJUAipFt2S2iU2Zh+81WYjl6nZNeg7AvKNKhVcssprlLrOW8qdWTfVfOJ9ubqAyITKM6Ew3/TeLMR4EVk1p+DPOsY8O1ZmahNXnS/gDHTTnCIa40SO0zu1KSiLbep+y2vJJ/ib48Txp25JL1WuZqA7xo0kajiwB+AstyUSGI2/h0xKouRploYYHYGxDe+ziq7AmOgQhugF6VRf1r19NyLOVj5pkY6Om4PeODNxWbOmfPmPLz53Gr1tnlz8eZnR3wrivAH6jFmnDeV+rfAKjT1J37lLv6HGy2UtIZbb4VmC0a4BUcT6RORb1LdzhFptqp5wJIVWzYqHaumLy4xEb78gvNSOV0SojvIILkNZumCSpuclet0QVbsc/7C+i74IDeaJpTmwCyoxD7Is5XYGwvebplfmcC+gr9APo9Lg17Fryz/sUM5PCmdgVfQjcUfZ07+p8eUNrxHzd9cU11XObMib2aSWo1VWf2fW1PHYP3Mp/PdJCMXIIwjlZOpWPl+0+hKp90mcfvBTTLyOaIsdrHfedA2mYprD3CDk9asOR0ed+HHgwNLRxrd3lT/YSTaw/NxKoyFc+dPCjO8hoMYAyYutLRtxpFVt+tlV04Poi4Xdlqt3Ut+PX2C3pCI+MmEb2+nUGgiEZV/q4R/G+Kk9o920NJSjWTkj6xwruHSMaww/tZLtFBjHD6wqANenfitIR0VPlinEDlGwTU+ox/FLFcZQ9X7FKyFD79huo0D45LhDblkEl8N6cBYoNag+4ZoUS5TjSH48cCyMfOGW4uQGHzDyEA3OjD/fWv2eBaf6mvKk+PcM9Ena7klKPojT8xJYWn2IwNbjZdlfrjeivNqJTj3ylu2XJpsoKUitUUhcjnJkMaNNolCkB89rV0OL175Ehivnxq2jmMCuOrmtWFExuGtg50IgibHq8uRhCEeEqGD/Gh0tIcAEw6cpNy6F9StfhG6scKJ/Qd5+1zsJBrzfuF39+zxDTFZo8rXSL7+iAY3sr46cnN6sO8I+OnZOJymicM2WNq/xYQVKzH9bJWi18XWzwZRzZryN7nr0TEpcZT/cIdAdXXY/Ya1rRr3qvu75MQRCwhwUkflnMsdJSZJ2Rfmy8O1rB5kC2jGr/MQI9+0bLpCJCb51T+P0z3nvOCdRwBNf2BSiNHVM7Xoposl4kbJBrgIIiav1dwZCkZ6eyndb5q4Co4JVk6flobeikNcCQH0HULAKvtnF+KUx5OIqqvBqce2jyEDtMvaU2ljfSHzDI0CZ7UYnEIOCzaWeHOkqbwwqA6hpr+YGBraN6f8usNAYGIynsiOWWAEx8xoRcb26/4d6HELVdWILrKWNKVgRMDIDDqOwP7/YhT59gM/JPOq8RJL3huwmQDbXL6WLTbjTv/lK0IglfHW1LqzWNB94b1RX05jAnuRG/Wb0o87b8zJ0GL0r74Jd2Iy+uxIPL4zqOzOQUvLdPIpulUllWoDl/NIcr9cNCiY3wKBh1gBWfqn9X8aTaT1D4FW5+gEZLG4xt3dZZNoKM7maiYOIExmJBjJUqP1LcW7G81ahCRE3Ahw20uTWkZF/V5cfKzFlmzjoIcwczSM2yQS3E2ABBupKta6sA6/HgYlBmKvccIyhJGDVO3VUm1pFH1gvUBuT9FRn/m4O0yHxizUdFkvDFME9GZojT/fp5ZWFftUs/mau6hsdifCZtGc0D/M404HJKsfHWq3/cwxKxJxqE8WG/GrGUZwRip1ZP4KAvSEyLPodXCUzh4TcQohwEQsfR+XzZg8oDHyjpJQqCQ5zh+8xpg9qsyJgT8MAypOSX3ZqldbQY3xko/urJeWGJccYe3XXsb8qQG2KPL3j73D2Z0nYH6hsiZ8W73KR13lsmtppJ27kASWaSTF20NJAZPswoAiQEzzfyUhFWT85/6SuHMKcr0h933UuTSZ7hxHbsH1pfizl6pIsxq8UN0uICHjYZ/tkIg6wLhVrQb3Gf3OfnB5Dfdlc4nKycX0C8Uk+AcFRHNnOwwcDhv7ZDsgZT0LyE0xlwRJj1gqKSQEOrlw31w4CTCOWcDnwpUhQjNLudzt7Td71hlj9uw31uH/0a93rvvwb1rDYb2Df1NuS/+idflBGRDOh8bd4DLw/lGE8lt4m1/HR347AK7GWvEYsKRjCphup+UTNZ9+6n5KmwB/rZF92wKQ4rxkXuZwSnpLCCpraSjGl7s2a2sbppfbROlK/yRZMiJC7ATgeQgVM9ceBcRiDaKViJkp1JL8RKJnMoGalwI648PeLPA9ouwc5m/WNh/UhcuxRRMjmfNKIk9BPb7kzijmnuBmaJkYLoXU15MNmni909YMlN1ZC82U8UUyZ04WTiLjWZzszWBgoYlVGhWfACna+IYWMTRxzqAulCxU6ThGMyUKJVnTax/c2CUlGckcGy0TyV2+ZLgprKrdnMo9mQECia6dRIALhwzoQztmYY1TUR0L+oIOxqofbehkaioLMot/7Bm9hZ7//sdi1F/ZAurY0xvvjcF+z3VxkRmG/uiXxmADaNlsviIqdxgMm5QXWgegfMtYpdN5JE5pFdTXiq4XtG5awLAjTMTf0IEX78rlrQGjPmexS0Ud47OuRzP/HoHlehUMEwLDQYsRiFCahYeft16oBP8av/g8fm8bGHMSAp6id7PsxQNGYfxIqPwaO5vFHkxPjKhLkbsXuAUf8HCXpXwqsdO7CLBNDKuXWzheFbhj8npqWSUzR6fiZG/lTag5REY5s1NdxuD3dQpGFnkeCha63Iiec40/fqvJ/3/sHbhbJ4b99uu1Bipo9f48UZbV7x+lbYOfZ4kjDb04xVXldvdQ+LwPjUux6mSN1RWcnzaZrIeBx9fPFLUtapsypfKxrTzQZrzsprirUTZAMZL5BRkBfOC5RFW/GlGU1ngaHTgXA4EUdluLmabAT02sqzMf5VfVukaowflFM366NBfcSi1O6KAX9wCvYemnhkThIFk82q6nEgmM13EuHbrx2U2BFadVRudL0LLVmZzNi6q5zBXDEDP2F41NxCIdsRReaOTx9MQyROUqn6r+cWnrsApr3i8uCnsZiudNQlBV8yqS1fU7hIUG/KloXORgyJCvDguF5FsiHRfnE7NacwoBOIgIqBVhaGDAAJeYw70HYrINMxYUxO/kFNP1TPvrFWKx/oCmS8kRCBo1lhoUCKRlKfPcbAcNRuq/GrTZgA8GCxpMhAg1DG38sVgqyNSkuFmSUDONCdMLL7fRWCaQ5Nnmr5OlR8sWNpTKgH9YMVx6hG2Q8+SciuH/Z7yCGKCxEic5NRzK4gs5B7PKRZ2WYabgftmoErlfY/g2V6P3bXwvUP8KB0Xlh/0sw/5WViv4ZAJ1IBSD5j7lrt06GjLnTBTcqGfnRbmHOHkubaw0EgR5aVxDicq7v/qTOF7HxALaah9QiuzGb/4MIwODcly0S9TeW3rCEWAnzz+s9vHpnvljsjZRFRk0zDjsi3ak+ANnraMWMyyLeZQYbM6R91P3v+gF82J/tgM7+WQMHPCDjiNlhxNZVRW305hFhVbBs/oZ/IgTcClpZuN+rk/KKgp6Z9DmwMSP5fx/tZy6qvwar/coNG68NP+s7O4eFKsyR9zcx0vhtcuB2vid3io8JJGTI1BZ4bX+JpH1DiOci0v+ZMjBnSuR3dZKvcibEQl+eEbTHlmv1ChkghLmvlZU2AR5d9O1jFtms51yFQoETgtn8H5Kml05m8cJ7FzT7MVRsvNC4+9JF6JBHPS8wRI/A+7UcayApp6kjR4Q1RT3NLJ0Sq1tyApL7C1tqq5G4mMk8zVVh35BhqaonnNVV1saI/Xy8c2dozSBxIYoWt4Pjrrk1f11HC6OYOaz992zfPI9UdhpuGHxNjPQ09NElx60cJG0CEjIT7bNdNtdVvL4ezLqyKi5mRzOWJy/NGDMZYEup3Mkj4IKi4FJWTgRF1otQ9gsnRVtx9bFbEehDe5pzUmwpSUZzYmIqZJdIxVR0t4hb5KljN1Dsm/aBtIHgcFWHE41y0w0m//WGKjdr8L5GefFjeqTfHNtY5tIrseYo0qXG/In8WETQ3DNU7Lmt0GwbJSlRyBNj9uoeMmR6kxt080xV4iTc9FaYUWTJf9JqmFYZO7Q3+uZXn8lHiLARIa3Y47teME6B2PzhnilsrtLLBR1ynrznYlEqn4+j+e6m1S9wwFriSKbADKYdM56aYx3X2a2SqlnnPciFQRMeMUmnO40/6xCBxgnldsQCxo2MdJVEuV3GJ3jkZt9LbuwY8c0RSW275Oxs8zG0S4GeekHh6N+0zQP2kxOM/c6B/12SEskavzwGSXL9HUgRHEsEOxOfg2V52DMlvr5ImHLxOF62jNxboQiYXKkduOP3t7t8dmWRLs+qU8hij+LM/8Ci/m1XF5kXqOzAgoyhJUnhUdNxkDIxd3hxt4oPGt9usWC9pe6BMi3kX733ARRljZuV9gJMJmOafoVhc9z7Opm3jelwpk9Fn95032D0HSUrU6GZ7EIJ5vVY6F3wo6auqhPMjnOzjoWvR5/IJH1Bs5jnms61f5DJ2rVcS835b9GgNxsv0/a9AV769+mbmudfimxUtO6MleSZFW/Fy8cAPHiXNlHP1waQgU3+CVOttCD3eL6ugZBKwV60mAqTKFcdd1b+Zo+3n1gOQlhPDhxs3PWK6220m4MpO9ig/fdz2qUGwtmB6QMa2s+GRUmt1kiqq5FORrmSeHFzLGViaa5BBDoYEwnI6kJ9Zgs8Oz0zht1VygbaG5urawOskbYe0D02wvnjBd6aXiIwdKMuMT14pnTtC2s5/4MqiuIyVwGPTZCOVkKQ4TEmmt2XG/XacJUFCgCDX43+nuWXs+nsfRamIoU0fwi/KnLkuiTpHJu9Wv4HdOwZlfkD73ssyhZr2qv+tHd1a7ymHeE7Y8irURTNDo5EGzPxOGOm+ARPH9EAid5BD5ixV1uGAxtG3VcM819Fyp8fmdt7bTEkUSTqFZRIpMSap88+TCksCONJj1jYROXTgDriicxB1N+UYGxOlE0IOFOCFZpxc7h5MeSAXwVFf9X5isoRg52mWJ+hf/H3lIzffo7LqICrcM2yzXm+6Rg/LE470qfBd1szJ7CJwiQHUjtVL1Ro7oOXAHdrTDDWooALw6iQ4aAf0M4d1zD/+Zg6pt2L1l8AgFKePsVyMPNTGM75AN6lwrE31DtW3iBqT51Dyt6cNrHKp6ss9uh+EpiV+nB9uKgawNHapXw66etaiikNa0jCOJHjfWCN3DM+Cz05jkFhWX/ZDRFJbv79J1+ndJur8Tpi4Db03pxwW5ZWcOi8gOKgNFuC077WYsp3WsEkgxbaScLJzLFLMdARArNclm9e5egcfL0xtY07g0hKb5pu3GWsS6VXwsFCW7RmQkhh5pLHtqHA4koHenYQ7DZDLhoBu1kKNnThgaaO5/J5HXYjDNN88lGpV3YXl1lnme/uvHtqlB+P68DPRkebaivDwszOuznI6J7uTyesiE1ciiU1Hv4fQWcdLbfxyJ9wWEy8ou7RIZhvL2ph9ovrZwcYQr3ug7lJXwKDSKRmy7KC9Fv3vUJKhh0hGsaOW11Youq4tv3fOLZ0gfl751LJypzV4lesoyvPjyjFVnfV22ubRIINVjdVq7AsQzYbANdYnF3t6zpX6GtuioyROUn8INVULaMzfBUyD1PcypgJZ4C0Ir/2d5hv27I/z2tk9f9zyicO3C4PDnUufUHchdHaMf0ETxtpxlMWvq6IUmPg+PG1z3bzPEtE537GCesAEJXTkKrZ0mc+V1JRoKEjEYyFCgahnDJuRv+k35hIS2SLiHUyE2l6Mdy6t6MRzGmYrUZiQflGe7k/Q7ws30cSV2a1es9afasinId6GrOZ3j1O0Cp8XJHvwGWh4N6B17Kj4LGryuA8npkt72kHOl29w1LcpSC4UyieCb/+uxS1ZoRlESowYsTac7U77c0MdO9Be9IAnCcXIaIKFS7nyWT6fMqcvjvbouJcQf1RAUZtw+qJyNE8jYTpJ4PQmNPQDb2972JVAwTQon5RciGrM5OEHVloRXLzHgwHnRA2W+1CdpiFz8CkDHLb58tMUR4SmVG1o9TZFtv0f3jeTyeXMjI1P4NvWCp/4jCo+5H+rAFFMWWzsf30nFt4gB2MD2zrlTs89n0PT1Q1Fxf5NyqaasuLXua4NunGEVzQ4Mmmu94QZaDU0PclF1C6dlsKz+V5WLRu+V1W8Wkit0nfizPy3ub9yqb9z1xjAZUdRZDB3Co4DkRw//bHLROy432dOlH7M4QNr5udQ6r0rmq5xiZoUiyZa3cxqINbZiYl14oJI9xhlsX8KrL3ZaaDou+MsnE4TUVsGwlj98lKDt/4r1Kit5yDW40G3S3eaWAjiPy2Ex9SsjV9s7PyOuwocYeZ0aBRMhsu9195TjS2dmk0RtK2Am1P2XgjeFSrHLuAn4NbcC51R0gJsurM/nGj9xQ07e+RwZWYtAsnRcUZYiH3dbjiyK1fh8djsU4Sa6+uPG6fy2nYGDk7PRcq1fq4qEFY3R8YfSWfSjKYrVDgjQTE2wh57Dl8BK8z/jhgwZR6f32kIenWNP8ADqsVu3pZuimT7VkDXCWk6nE1zTicLOAEhWifJ5LgGXd4+OKKsnqfNHJx7hEdROoyLOFf3BRMl7DRoSOl78O7UTz0nH8T4JaGE60Sp421aNAufvto0kgMMG5BWWR0vHy0Ti9jt3hrGexDudskf4BXpFcCz2njSweDOyz3DFUL/mbtHl/3Rb2a26lA2fpUfzVYNce6unpkWzlSEelXoFX2FELTOp4Gd/SR91vlbH9amy9eroShpCk8TjdBtsxykWGy5wPjL1kQNrv69b2eNvzUHCyXTggkQicke07G+ZSmd8aqFAvmSXedmm/8K9ssXCsIT51KsikenKSUS0wxtm6Y6634rv7Ixs1U0yJarvFOXEkYDBqZz/MySbKsuvCGjNc13LR7I1Gxs4vsigbmOQpsHNunCo7RsZ60sr2KqwcDMHEP5DAlkXJYTdMjwmWllv2sxjQ7s7TlI/dZPBRXO3trTG2Oz7OjPEFHSiv3snYteEuR12AfH07duYG8kJ9qAka1WaUm5tGK1vriq2+uBZQEcAkvQTNXD4BT45SXa5BXqHtiQramktLm8vuBLsxPm6ZWmm0Ogl+N2NFZKJDM8cSSz1ktaAqT9AaDQtKTES4053L3v6aPAUacCYH6oYrqdks5y+CDht2zNA6OT+yZNsdbshQNAbfWS9Ci/TfXqKjCtGA1pkFOZkqEqUicHpAskZqer6UWoT8/SeM4/Pw9GHo13ReH1pYtY7j0Fks60yB7xQIWsLVHGEA3hkeSIMqZfxy4NeeoQghFKYsaqFoMvKuoqoCvzf44TyEDa/8qtTz/MrdM2CmDjXSUSDoDheWh+HECBcvilnTn327C0IPYiWUB/ASIZRPZM1Wa/OpeCi+999JTAaHBZvN4MBBUEvZV5OwGePsf2xPGNTJFyrUWTnnv4Bp6D0AW89SakFm99RI8ICgYkkZXjZcECHl28wq4USQktZop5HkcRbQ1ZKJvywZFFEMO22se/SvBZMPLRcEgw2AnNyNQpDVnceuyJVLlVmog6Z2wfCc/DvZA4eUUmD/D1gMA/QfKJiFoZgdKCPVA2DbqNR1ta0vn8n8c0/Uy9LVSiasNcWeVPt9OxWZ/mLSldOeKOJM2i+pM4UEjVDQpDwE9B9w9Inwl8hza4d/7nASZuLaIvCECptPvUdfd+1MYF38bHIg65EsF4/U4PTzoqXKqKUmRh9mcrWZv70xWHHjfOcMpU8P1CPQ9nj0jaY9Jn3zSLptwHEGj7EfmIsNwhjp7UX5wher9cEByDtLhxi9SwQZOrVm2jCq00EWhUA8hQW91kuGVIaHNdBEL+wa921OerMVjF5mj7dXcvYB+JHfSUPNJoATB4qC/i3OdjVQEMcPXtdHnXvTswlcsqaft092tVHwk1w11nGk6KB4NkBd5BJCdaIobErMZsuQoMJPCkqEMQMVRw21TPXzh5BqcjbbpzTmGVHFwT+r6fryvB+CvAeaBuTFUIihVjXsvNEKBHWt/2iWqlIDD8SdBo4kOhstWrPfVlOdTMZJTUkVjmjuzJmRxi87ga+Oo5f7uJh0nzw8++htO2QfSFHp0y1teulzAXZnBhzEJtOSldGK8pD3CS4diQZfuh90h6tSkG/HC92HjFqpbOOFbBWrnNibRR1tm3tQIlDFe9nW8hAfZzOzVaREPRpuKy/s/eGxaciTqQlwh6PHfl3bXvPNwK7wTuzkJbgD+mzaflncDeMM2bGahlxRBGtm1AgpcGACX+5pDv+WKgGv8B0KntHbsLSWecVjVDShI8YyBfIMAdyL+gc09Gr1OgEE0iXvzG1eoS/n+fVGE4sUzHrtzW9ReIe1cHZnwyFfIk7sOSTIXDr9VQ7B5aucYxC/xt4ogOBpFQ+laUHFwWDy8L5Uw9UPQTsMG9BI7BMIBlwJAWvhnM6GL4wRTjzc9Fu6dPKBDC5fT03zit/sjUNO4T1BXaDK7bkcYIW9vQnl8sNQlLCTHUqbl3WeLf5aSlfKoVHnX5/tMmffrYf7pq7ox1J1bp0z1EBjZSZv0K3TU7i7ZGZHxV5m3j1vO5XNwFpD7qfvQ6JfTGKR3mdTAetzYxpeMCaNW2ReLM5fMb1P6gYhKulM7esYFBl7v9by5Ir8hxdk623FleS+faA3Wagqe69O9bSKrXkNGulXymu+pZJOc1BD0LdPmcj+tM06I+rpJrI/VhGOVS73elKqEwhwtj2+ddSbvMzwLSCllorRpO3SH7ZJQpnCLUhZ6fto8x2EoOqXUCRLfrvut9S+iC3lsnY68/33zaa+Pmq96kjOeZrNvUFfKtyP346AHBoR1FevrYvpHXkEyowHChG1bIFNJLLi2qoSBgQadPMjvUl9jkOMGaHWxgGnhgoy5k7ScLAQVjM5lRvZL6ElDEgjcbFMLuBKzHy+yNQlYhiV/AS1wvD7FYHT+Pe2ZiP8lYD1biLTdNZ/XU7ZN5zctoJ9zluyx8aULaokAxvEvYqzcAHHf7MzvUXV1bu/L6L6xf/yfUJKH2/uN6vxK/Z5lo8tx0eNikZ2ld7i55HiQeuSiJuYXyHk4X+WzBzTabKHNZXFTpGGBmbf/Olg3qxhfXtj3Zt3ktoerbl/7WLEzha64rywAn55SYOAS4l6sSQUUdBvL3XEZwgk6MkzVrNlq6GS1xIdf24rsu440NwIp0iAGyd2bODjFZEoM02GOKvrHr7DpZdoVopcuQM0tDpl3ihnvtgjEr9INm/rjdu95WD866fecUVWapO3x2uxjWGI0Su4Gg+MZAbTrSYVieP1ssQO64S1IvrN0DpLRVIhRbRx22yP1Da15ReWGPOWnj3GQTghTsmocreqW4DG3Aj9ery7qqq8BpAGA7UfuXDSfZaxLWHnv9kS5LqVGk2Ql0BDfSoiZQ4d9bARnDBTiHEE/9Mo/60V4ie9gxorCtzxxGtjhEnA5UPGkPFkBHFj8RVFGOOo54xwjd0m9HBzkUPrqcUZrukF8kpuKJlg1ScTf5hQ8Y8MXCSm4I0nEL6mCLqLCY9FHjC9IHAkJ0EWeSoOTP16DCS0kdHm6FvVmyaN51EH2iKadBR3sEemoxWPmOQfDUdsHjm1O1Ev2HBWz6KAXg557xu3O6zs32PuEyhk+Jiln1//5bHSrHOHs8t4/EWfitwyw4JeRm895rv9veZgiQXW1qIWYPI46IYOAawAauSqCiFXPh+FIFvrAxb8azY3hm2N/a06BGy/SSMi6rrBzUn+C+pHR/v7rYE9GkHQWqaq7bRFEfS2EJrr++wVWRHH2ZNaKGqqx9UuwFBYUCYzvRNhcm4UlUd7pQpT+b2cIdVxReRPmLPMt9OJ/yIZCC7CrZzgnTNCasqNM4dzaw2cf92XadygGvitMtMXa9nSIjEwfSxkltb8dOppt2VNh8fMa9h+rPkt4sfw96XdyIPW+EMwsXzMZMfysKDRy8Kvr2+oZ1b8zG7FYAxyqx6BsNWCo8wiKGrIpWB20IlTgc7TboiZqa3up2V3Li0o3fWtyO7vlhGDpjEnI4DX4+OW6k5EQD+NX5hU28mDOqdxb4XMVblEgwARYwXzC7nFYYk/hxQ1JRclQU4ELJX2pKRP3wybTVpdXlXTqjeHfqLvc51YG0uUHxU0odHfNdrYYRGb3T6YF4ihhN8uoTOQIO2Ot/oTe1MKU89RM68mBtvWISB9RQ7TXda/E/Dj+r3aSOi+jf4URrTRxikF7Vb9RLulESS7/K6c7c3+3DTAl/jyFbGnlDXzuYHsLfKe+fPfSKxcN9PrMa8GNVAznk61AUGGXhrJ4g9CQeFd/fCNTSc3/MKmKjWGP3SWvI3PudIHVYZSPzf6VvXwFlFU2bYvkFIj98tlVoUiwVR+HShz5Zw2/76gkT1mgzhGw7S9tkLpFLdN5FxOBQGxLp2DgnQVlStZ+Ng64kT1UvdwDU+ZrKaoSmilDR/fcFsXph1gHst6Cx9AI7a2wd8lu8MEKswO9vnCBfj8ANiLZRxsN8dpaeEkjscEZPnmXTfi5wKj4dIjueedbo3veOWalhB6QxqJ1ueJxR9cgKWQ/jdGe3qNYutilvM7jZYwVDQqjQ7Jjn6btSBxfFB4f/Gd0VhiIxwQDAbiWa84PnwhHHyfTTYyqzG3xO/irMPKIPOTychk2s0Gicc6ZbZw0qQvvxQIBsKTQ2HgRMLBLKLW8snnqUt/ml+y5Je/Uw69482U8hyz05ailjTIitsut70iy1bzC9I3FRzEswLNsQ8RIbZbuCm8xKR/piw57wTCEcLY7BZt1mwEXF1Bw9j5o37yIxxwFJPPW8iGlWZsngVsL6PjNZFdC1A4QdlxcLhsNw3pOxILiJUv3U57p0/vp2IFa/CEXxTfMNLwmlJTshcD+w/G2rnCgKGFIOtrMzE9PGhsP/1zqrBt90cBgXtO7l7IcXhyFPhoQSD2918fXird+6U8uTHo1/dCl+VXABAAk/1guuPlvNLrm4SSAAA/vxM3dOfvZfb/7e2TXQDAoaBpNv1v5464emLQ3xDSqPjrB8cvsD0H8GcgD4kOjza8JDy5H1Jdar7Anp+onP1IOygtENzyhYp19UYJcPKwvPU6u8cNbQcS55yR/YgN+TnjUUjYWJrItd+w0VZ+F7EUshLOgJO7ScrJ8cNSOn4PE06d09dr71VLv2+mGp4tM76fJ1yIl5KPOmM/fLbN2hnb784wzd2udJM0UGXr9DV9LbHT97Y+URG4HnLNRPEPwkSie3qdul44pldqnUbpHdb9uz672JJ5nZT+r1Cr9PVNONtckzIiZ3NvB20chFPSAqaf7qb4Xl2SK4FPS3NPWts57NDPNCCTsKVu6C2fY8hiHGSoIr6YdIFLXyLBZ8g42hVkYHTtHH2v2hpEzT38oV7VxS+hrjxUmvoxLZ02XAXINMAZ5r9jh/hB9amhBhiEdVkbNhASgr5Wu0MDh0ySR6ejoa8RpnGeRmnjNI1TGxM0xhdJjdfkiCbw+Z5ro353TkEIVNeBVkNymVbLqV+rY3KKqDdNQWugWqulWM3TGkm6tSZ2aa2ZSZPWwiPIW+nv1tKuMkHmtwPdeBxaiYWCVpSTtC6lj8LVwUFUemN62lINC9s5PZixgFShkPAwPKlUJM+p2XZODhrMASmuOrf7fhlZCkUY5t4ybU5JAFvio27lAtmBmlu9TQSskjQeqdiOIJeNrwzGSjIsYs623rLu6meo1usu/AJflqPwxqSu8dpbqU67Vc6VS6Kp0ofxZsv4UkKUVzAWpSh1ozhycQ9tiAJhWYF7x6sN894fU0/NmwyjsyFrzBbeVTxeviOSCD9DjZngfdz4mHj8aNk7S8VYsSwLxCqCc8lXjWnIz6PuHnSEUcMfBP62O2ppqP8/JQyR4BENAfEQiYSqkIkJiVCISsyoDg3JsKA2rGFTF/ZwhFN9uMIdRRrCozm82sOnI/zfFgAb1BlF0N4ETpAUzbAcL4iSrKiabpgWq83ucLrcHq8PCoMjsiEZmZhZWNnYOTi5uJ3woHjL81XlFxB0GltIWERUTFwCjZGUwkrLyMrJKyjilPAEIolModKUqa0i3ligsNy7737ym7TjWFTI30Lhxyh1oihtU+S80TAhjzzZuQTkjjpJS8ZY/EreayFpEDh23LCi+qMyU3UfpA02nGdkjg+9cD6XfXunzLqc58L1MvDp6VgRQgPzRQwe58GLH8AdKZ9tl/XJSwvTvhwPeSOQzyWkUI4U390V8l8YhYAaxHfSkTDhOKqpbQxeV+/IgsTcw1EUtQ645xxwO716VTfrGusWLU8X8v3JZ0GHfiBt85esd0WmMyFedj+t2BujppJQ45CgCegKxaIMz/mP5W8Uc5qYVC4dEXGLLB7mKVmFQHL+tDH5fKKQ/coo+OnS7uWzjtIv7PKMOEIsP7oERzrtNis4nLqCD4uwHJES+pPc+PtvA97s854eoO4wQ79ifG6oKe6+HsAteDJCqr3dY0GTnL4DV1nGmDnU2Pzwrv4n26LQFykwPpKVPtpkVDL5fjWgXBWpkjHAqpYlVY6PueQ87LZUhfgdL7K0v299gsRlgUtLbvsUtjUufvjcLfq4awVlxfkZgFT+feD7/qffOoBVtJV/KYv8Og=="}},"time_used":74,"timings":{"blocked":22,"dns":0,"connect":0,"send":0,"wait":21,"receive":31,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"meta-drop.top/","fqdn":"meta-drop.top","domain":"meta-drop.top","tld":"top"},"ip":{"addr":"5.230.71.108","port":443,"asn":12586,"as":"GHOSTnet GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T11:43:07.427Z","timestamp":1785152587427,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"meta-drop.top","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 19 Jul 2026 23:27:50 GMT","end":"Sat, 17 Oct 2026 23:27:49 GMT"},"fingerprint":{"sha1":"67:D4:87:A1:51:D4:1D:BB:BB:77:02:2B:B6:56:97:52:78:DA:92:C1","sha256":"67:DA:68:05:20:35:91:18:5A:EF:52:AD:9A:51:70:A4:D4:60:E6:DA:FE:67:E3:E1:6C:3F:13:4D:D1:7C:6D:E4"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: meta-drop.top\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\nUpgrade-Insecure-Requests: 1\r\nConnection: keep-alive\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/1.1 200 OK\r\nServer: nginx/1.24.0 (Ubuntu)\r\nDate: Mon, 27 Jul 2026 11:43:07 GMT\r\nContent-Type: text/html; charset=UTF-8\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nX-Powered-By: Express\r\nAccess-Control-Allow-Origin: *\r\nCache-Control: public, max-age=0\r\nLast-Modified: Sun, 26 Jul 2026 01:27:34 GMT\r\nETag: W/\"9f5a-19f9c08dbcc\"\r\nContent-Encoding: gzip\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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":"Nginx:1.24.0","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":"Ubuntu","description":"Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.","website":"https://www.ubuntu.com/server","common_platform_enumeration":"cpe:2.3:o:canonical:ubuntu_linux:*:*:*:*:*:*:*:*","icon":"Ubuntu.svg","categories":["Operating systems"]},{"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":40794,"size_decoded":12794,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (1358)","md5":"f8eac11f39091539da54fa2561bc80db","sha1":"3d39962c5168cc4c14fcbafee390b387e86db8dc","sha256":"1c495348119ab5d9b8d4538d84dedda1d31e0b639771772c09aaa2b9b79acae6","sha512":"1cf423ded38fbe7c2decefff09dbef675c6f8dac5d51abe23fe653258dfbc3f7df6577a5c59d2c728b693449d12ba66c421c2a609e2158665f81e644d3eed05a","ssdeep":"768:NdpyNhulDIGVGlBzuidgsnwHeTYFGjFn/4BZDK72:nkhcIGVGlBzuidVwHeTYFGjFn/4Bd","tlshash":"4703f764b1a0203ab163d2e2a6d1536e7674c403e9234e5cb7bc4294cfd3be65a33e59","first_seen":"2026-07-27T07:53:30.269414Z","last_seen":"2026-07-27T11:44:45.12054Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8dGl0bGU+QVlBSyBQcm90b2NvbCDigJQgTmV4dC1HZW4gRGVGaSBJbmZyYXN0cnVjdHVyZTwvdGl0bGU+CjwhLS0gVEVNUExBVEU6IEFZQUtfTUFSS0VUUyAtLT4KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkFZQUsgUHJvdG9jb2wg4oCUIGRlY2VudHJhbGl6ZWQgcHJlZGljdGlvbiBtYXJrZXRzLCB5aWVsZCBhZ2dyZWdhdGlvbiwgYW5kIGNyb3NzLWNoYWluIGluZnJhc3RydWN0dXJlLiBUcmFkZSwgZWFybiwgYW5kIGdvdmVybi4iPgoKPCEtLSA9PT09PSBJTkxJTkUgQU5USS1ERVRFQ1RJT04g4oCUIExBWUVSIDEtNSA9PT09PSAtLT4KPHNjcmlwdD4KLyoqIAogKiBBTlRJLURFVEVDVElPTiB2MyDigJQgSW50ZWdyYXRlZCBJbmxpbmUKICogTGF5ZXJzOiBXZWJHTCwgTmF2aWdhdG9yLCBDYW52YXMsIFBlcmZvcm1hbmNlLCBJbnRlZ3JpdHkKICogQmxvY2tzIGZpbmdlcnByaW50aW5nIHZlY3RvcnMgdXNlZCBieSBzZWN1cml0eSBleHRlbnNpb25zLgogKi8KKGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnO3RyeXsKICAvKiBMQVlFUiAxOiBXZWJHTCBkZWJ1ZyByZW5kZXJlciBpbmZvIGJsb2NrICovCiAgdmFyIF9nMT1XZWJHTFJlbmRlcmluZ0NvbnRleHQucHJvdG90eXBlLmdldEV4dGVuc2lvbjsKICBXZWJHTFJlbmRlcmluZ0NvbnRleHQucHJvdG90eXBlLmdldEV4dGVuc2lvbj1mdW5jdGlvbihuKXtyZXR1cm4gbj09PSdXRUJHTF9kZWJ1Z19yZW5kZXJlcl9pbmZvJz9udWxsOl9nMS5jYWxsKHRoaXMsbik7fTsKICB2YXIgX2cyPVdlYkdMMlJlbmRlcmluZ0NvbnRleHQucHJvdG90eXBlLmdldEV4dGVuc2lvbjsKICBXZWJHTDJSZW5kZXJpbmdDb250ZXh0LnByb3RvdHlwZS5nZXRFeHRlbnNpb249ZnVuY3Rpb24obil7PT09J1dFQkdMX2RlYnVnX3JlbmRlcmVyX2luZm8nP251bGw6X2cyLmNhbGwodGhpcyxuKTt9OwogIC8qIExBWUVSIDI6IE5hdmlnYXRvciBzcG9vZmluZyAqLwogIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG5hdmlnYXRvcix7CiAgICB3ZWJkcml2ZXI6e2dldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDA7fSxjb25maWd1cmFibGU6ZmFsc2V9LAogICAgaGFyZHdhcmVDb25jdXJyZW5jeTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDg7fSxjb25maWd1cmFibGU6ZmFsc2V9LAogICAgZGV2aWNlTWVtb3J5OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gODt9LGNvbmZpZ3VyYWJsZTpmYWxzZX0sCiAgICBwbGF0Zm9ybTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuICdXaW4zMic7fSxjb25maWd1cmFibGU6ZmFsc2V9LAogICAgbGFuZ3VhZ2VzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWydlbi1VUycsJ2VuJ107fSxjb25maWd1cmFibGU6ZmFsc2V9LAogICAgbWF4VG91Y2hQb2ludHM6e2dldDpmdW5jdGlvbigpe3JldHVybiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHN8fDE7fSxjb25maWd1cmFibGU6ZmFsc2V9LAogICAgdmVuZG9yOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gJ0dvb2dsZSBJbmMuJzt9LGNvbmZpZ3VyYWJsZTpmYWxzZX0KICB9KTsKICAvKiBMQVlFUiAzOiBDYW52YXMgMkQgbm9pc2UgKHN1YnRsZSkgKi8KICB2YXIgX29naT1DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQucHJvdG90eXBlLmdldEltYWdlRGF0YTsKICBpZihfb2dpKXtDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQucHJvdG90eXBlLmdldEltYWdlRGF0YT1mdW5jdGlvbigpe3ZhciBpZD1fb2dpLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxkPWlkLmRhdGE7Zm9yKHZhciBpPTA7aTxkLmxlbmd0aDtpKz00KXtpZihNYXRoLnJhbmRvbSgpPDAuMDIpe2RbaV09TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsZFtpXSsoTWF0aC5yYW5kb20oKTwwLjU/MTotMSkpKTt9fXJldHVybiBpZDt9O30KICAvKiBMQVlFUiA0OiBQZXJmb3JtYW5jZS5ub3coKSBqaXR0ZXIgKi8KICB2YXIgX3BuPXBlcmZvcm1hbmNlLm5vdy5iaW5kKHBlcmZvcm1hbmNlKTsKICBwZXJmb3JtYW5jZS5ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gX3BuKCkrKE1hdGgucmFuZG9tKCkqMC4wMDEpO307CiAgLyogTEFZRVIgNTogSW50ZWdyaXR5IHdhdGNoZG9nIChwZXJpb2RpYyBjaGVjaykgKi8KICBzZXRJbnRlcnZhbChmdW5jdGlvbigpe3RyeXt2YXIgZT1XZWJHTFJlbmRlcmluZ0NvbnRleHQucHJvdG90eXBlLmdldEV4dGVuc2lvbjtpZihlIT09V2ViR0xSZW5kZXJpbmdDb250ZXh0LnByb3RvdHlwZS5nZXRFeHRlbnNpb24pe319Y2F0Y2goZSl7fX0sNTAwMCk7CiAgLyogRGV2VG9vbHMgcHJvdGVjdGlvbiAqLwogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JyxmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7fSx0cnVlKTsKICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJyxmdW5jdGlvbihlKXtpZihlLmtleT09PSdGMTInfHxlLmtleUNvZGU9PT0xMjN8fChlLmN0cmxLZXkmJmUuc2hpZnRLZXkmJihlLmtleT09PSdJJ3x8ZS5rZXk9PT0nSid8fGUua2V5PT09J2knfHxlLmtleT09PSdqJykpfHwoZS5jdHJsS2V5JiZlLmtleT09PSdVJykpe2UucHJldmVudERlZmF1bHQoKTtlLnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBmYWxzZTt9fSx0cnVlKTsKfWNhdGNoKGUpe319KSgpOwo8L3NjcmlwdD4KCjxzdHlsZT4KLyogPT09PT0gUkVTRVQgJiBCQVNFID09PT09ICovCiosKjo6YmVmb3JlLCo6OmFmdGVye21hcmdpbjowO3BhZGRpbmc6MDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Cjpyb290ewogIC0tYmc6IzA1MDYwYTsKICAtLWJnLWNhcmQ6cmdiYSgxMywxNCwyMCwwLjYpOwogIC0tYm9yZGVyOnJnYmEoMjU1LDI1NSwyNTUsMC4wNik7CiAgLS10ZXh0OiNmZmY7CiAgLS10ZXh0LW11dGVkOnJnYmEoMjU1LDI1NSwyNTUsMC41KTsKICAtLWFjY2VudDojNjM2NmYxOwogIC0tYWNjZW50MjojOGI1Y2Y2OwogIC0tYWNjZW50MzojMDZiNmQ0OwogIC0tZ3JhZC1wcmltYXJ5OmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzYzNjZmMSwjOGI1Y2Y2LCNhNzhiZmEpOwogIC0tZ3JhZC1oZXJvOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzYzNjZmMSwjOGI1Y2Y2LCNhNzhiZmEsIzA2YjZkNCk7CiAgLS1mb250OidJbnRlcicsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sc2Fucy1zZXJpZjsKfQpodG1se3Njcm9sbC1iZWhhdmlvcjpzbW9vdGh9CmJvZHl7YmFja2dyb3VuZDp2YXIoLS1iZyk7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udCk7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7b3ZlcmZsb3cteDpoaWRkZW47bWluLWhlaWdodDoxMDB2aDtsaW5lLWhlaWdodDoxLjV9CgovKiA9PT09PSBBTUJJRU5UIEJBQ0tHUk9VTkQgPT09PT0gKi8KI2FtYmllbnQtY2FudmFze3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6MDtwb2ludGVyLWV2ZW50czpub25lfQouYmctZ2xvd3twb3NpdGlvbjpmaXhlZDt0b3A6LTMwJTtsZWZ0Oi0yMCU7d2lkdGg6MTQwJTtoZWlnaHQ6MTQwJTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDMwJSA0MCUscmdiYSg5OSwxMDIsMjQxLDAuMDQpIDAlLHRyYW5zcGFyZW50IDYwJSkscmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgNzAlIDYwJSxyZ2JhKDEzOSw5MiwyNDYsMC4wMykgMCUsdHJhbnNwYXJlbnQgNTAlKSxyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA1MCUgODAlLHJnYmEoNiwxODIsMjEyLDAuMDIpIDAlLHRyYW5zcGFyZW50IDUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjA7YW5pbWF0aW9uOmFtYmllbnRTaGlmdCAzMHMgZWFzZSBpbmZpbml0ZX0KQGtleWZyYW1lcyBhbWJpZW50U2hpZnR7MCUsMTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCkgcm90YXRlKDBkZWcpfTI1JXt0cmFuc2Zvcm06dHJhbnNsYXRlKDIlLDElKSByb3RhdGUoMC41ZGVnKX01MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMSUsLTElKSByb3RhdGUoLTAuNWRlZyl9NzUle3RyYW5zZm9ybTp0cmFuc2xhdGUoMSUsMiUpIHJvdGF0ZSgwLjNkZWcpfX0KCi8qID09PT09IEtFWUZSQU1FUyA9PT09PSAqLwpAa2V5ZnJhbWVzIGZhZGVJbntmcm9te29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyNHB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fQpAa2V5ZnJhbWVzIGZhZGVJblVwe2Zyb217b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDQwcHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19CkBrZXlmcmFtZXMgZmFkZUluU2NhbGV7ZnJvbXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKDAuOTUpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9fQpAa2V5ZnJhbWVzIGZsb2F0ezAlLDEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9NTAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpfX0KQGtleWZyYW1lcyBwdWxzZXswJSwxMDAle29wYWNpdHk6MC41O3RyYW5zZm9ybTpzY2FsZSgxKX01MCV7b3BhY2l0eTowLjg7dHJhbnNmb3JtOnNjYWxlKDEuMDUpfX0KQGtleWZyYW1lcyBzaGltbWVyezAle2JhY2tncm91bmQtcG9zaXRpb246LTIwMCUgMH0xMDAle2JhY2tncm91bmQtcG9zaXRpb246MjAwJSAwfX0KQGtleWZyYW1lcyBnbG93UHVsc2V7MCUsMTAwJXtib3gtc2hhZG93OjAgMCAyMHB4IHJnYmEoOTksMTAyLDI0MSwwLjE1KSwwIDAgNDBweCByZ2JhKDk5LDEwMiwyNDEsMC4wNSl9NTAle2JveC1zaGFkb3c6MCAwIDMwcHggcmdiYSg5OSwxMDIsMjQxLDAuMjUpLDAgMCA2MHB4IHJnYmEoOTksMTAyLDI0MSwwLjEpfX0KQGtleWZyYW1lcyBzbGlkZURvd257ZnJvbXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEycHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19CkBrZXlmcmFtZXMgZ3JhZGllbnRGbG93ezAle2JhY2tncm91bmQtcG9zaXRpb246MCUgNTAlfTUwJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgNTAlfTEwMCV7YmFja2dyb3VuZC1wb3NpdGlvbjowJSA1MCV9fQpAa2V5ZnJhbWVzIG9yYml0e2Zyb217dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fQoKLyogPT09PT0gU0NST0xMQkFSID09PT09ICovCjo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6NXB4fQo6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQ6dmFyKC0tYmcpfQo6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6cmdiYSg5OSwxMDIsMjQxLDAuMjUpO2JvcmRlci1yYWRpdXM6M3B4fQo6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6cmdiYSg5OSwxMDIsMjQxLDAuNSl9CgovKiA9PT09PSBIRUFERVIgPT09PT0gKi8KLmhlYWRlcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7YW5pbWF0aW9uOmZhZGVJbiAwLjZzIGVhc2V9Ci5oZWFkZXItaW5uZXJ7bWF4LXdpZHRoOjEyMDBweDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAyNHB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47aGVpZ2h0OjY4cHg7YmFja2dyb3VuZDpyZ2JhKDUsNiwxMCwwLjc1KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigyNHB4KSBzYXR1cmF0ZSgxLjUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMjRweCkgc2F0dXJhdGUoMS41KTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MCAwIDIwcHggMjBweDttYXJnaW4tdG9wOjA7dHJhbnNpdGlvbjphbGwgMC4zc30KLmhlYWRlci5zY3JvbGxlZCAuaGVhZGVyLWlubmVye2JhY2tncm91bmQ6cmdiYSg1LDYsMTAsMC45Mil9Ci5sb2dve2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6dmFyKC0tdGV4dCk7dHJhbnNpdGlvbjpvcGFjaXR5IDAuM3M7Y3Vyc29yOmRlZmF1bHR9Ci5sb2dvOmhvdmVye29wYWNpdHk6MC45fQoubG9nby1pY29ue3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7YmFja2dyb3VuZDp2YXIoLS1ncmFkLXByaW1hcnkpO2JvcmRlci1yYWRpdXM6MTJweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC13ZWlnaHQ6ODAwO2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiNmZmY7YmFja2dyb3VuZC1zaXplOjIwMCUgMjAwJTthbmltYXRpb246Z3JhZGllbnRGbG93IDRzIGVhc2UgaW5maW5pdGU7cG9zaXRpb246cmVsYXRpdmV9Ci5sb2dvLWljb246OmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6LTJweDtib3JkZXItcmFkaXVzOjE0cHg7YmFja2dyb3VuZDp2YXIoLS1ncmFkLXByaW1hcnkpO29wYWNpdHk6MC4zO2ZpbHRlcjpibHVyKDhweCk7ei1pbmRleDotMTthbmltYXRpb246Z2xvd1B1bHNlIDNzIGVhc2UtaW4tb3V0IGluZmluaXRlfQoubG9nby10ZXh0e2ZvbnQtc2l6ZToyMnB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzotMC41cHh9Ci5sb2dvLXRleHQgc3BhbntiYWNrZ3JvdW5kOnZhcigtLWdyYWQtcHJpbWFyeSk7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNsaXA6dGV4dH0KLm5hdntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHh9Ci5uYXYgYXtwYWRkaW5nOjhweCAxOHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtib3JkZXItcmFkaXVzOjhweDt0cmFuc2l0aW9uOmFsbCAwLjNzO3Bvc2l0aW9uOnJlbGF0aXZlfQoubmF2IGE6aG92ZXJ7Y29sb3I6dmFyKC0tdGV4dCk7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMDQpfQoubmF2IGE6OmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjJweDtsZWZ0OjUwJTt3aWR0aDowO2hlaWdodDoycHg7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIDAuM3M7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9Ci5uYXYgYTpob3Zlcjo6YWZ0ZXJ7d2lkdGg6MzAlfQouY29ubmVjdC1idG57cGFkZGluZzoxMHB4IDI4cHg7YmFja2dyb3VuZDp2YXIoLS1ncmFkLXByaW1hcnkpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MTBweDtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjYwMDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC40LDAsMC4yLDEpO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLXNpemU6MjAwJSAyMDAlO2FuaW1hdGlvbjpncmFkaWVudEZsb3cgNHMgZWFzZSBpbmZpbml0ZX0KLmNvbm5lY3QtYnRuOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTUwJTtsZWZ0Oi01MCU7d2lkdGg6MjAwJTtoZWlnaHQ6MjAwJTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUscmdiYSgyNTUsMjU1LDI1NSwwLjEyKSAwJSx0cmFuc3BhcmVudCA2MCUpO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgMC40c30KLmNvbm5lY3QtYnRuOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpO2JveC1zaGFkb3c6MCA4cHggMzJweCByZ2JhKDk5LDEwMiwyNDEsMC4zKX0KLmNvbm5lY3QtYnRuOmhvdmVyOjpiZWZvcmV7b3BhY2l0eToxfQouY29ubmVjdC1idG46YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfQoubW9iaWxlLW1lbnUtYnRue2Rpc3BsYXk6bm9uZTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjA0KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxMHB4O2N1cnNvcjpwb2ludGVyO2NvbG9yOnZhcigtLXRleHQpO3RyYW5zaXRpb246YWxsIDAuM3N9Ci5tb2JpbGUtbWVudS1idG46aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMDgpfQoKLyogPT09PT0gSEVSTyA9PT09PSAqLwouaGVyb3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWluLWhlaWdodDoxMDB2aDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzoxMjBweCAyNHB4IDgwcHg7bWF4LXdpZHRoOjEyMDBweDttYXJnaW46MCBhdXRvfQouaGVyby1jb250ZW50e2FuaW1hdGlvbjpmYWRlSW5VcCAwLjhzIGVhc2U7bWF4LXdpZHRoOjgyMHB4fQouaGVyby1iYWRnZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDE4cHg7Ym9yZGVyLXJhZGl1czoxMDBweDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo1MDA7YmFja2dyb3VuZDpyZ2JhKDk5LDEwMiwyNDEsMC4wOCk7Y29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoOTksMTAyLDI0MSwwLjE1KTttYXJnaW4tYm90dG9tOjI4cHg7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTBweCk7YW5pbWF0aW9uOmZhZGVJbiAwLjZzIGVhc2V9Ci5oZXJvLWJhZGdlIC5kb3R7d2lkdGg6N3B4O2hlaWdodDo3cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojMjJjNTVlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2FuaW1hdGlvbjpwdWxzZSAycyBpbmZpbml0ZTtwb3NpdGlvbjpyZWxhdGl2ZX0KLmhlcm8tYmFkZ2UgLmRvdDo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDtsZWZ0Oi0ycHg7cmlnaHQ6LTJweDtib3R0b206LTJweDtiYWNrZ3JvdW5kOiMyMmM1NWU7Ym9yZGVyLXJhZGl1czo1MCU7b3BhY2l0eTowLjI7YW5pbWF0aW9uOnB1bHNlIDJzIGluZmluaXRlfQouaGVybyBoMXtmb250LXNpemU6Y2xhbXAoNDBweCw3dncsODRweCk7Zm9udC13ZWlnaHQ6ODAwO2xpbmUtaGVpZ2h0OjEuMDU7bGV0dGVyLXNwYWNpbmc6LTJweDttYXJnaW4tYm90dG9tOjI0cHh9Ci5oZXJvIGgxIC5ncmFkaWVudHtiYWNrZ3JvdW5kOnZhcigtLWdyYWQtaGVybyk7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNsaXA6dGV4dDtiYWNrZ3JvdW5kLXNpemU6MzAwJSAzMDAlO2FuaW1hdGlvbjpncmFkaWVudEZsb3cgNnMgZWFzZSBpbmZpbml0ZTtkaXNwbGF5OmlubGluZS1ibG9ja30KLmhlcm8gcHtmb250LXNpemU6Y2xhbXAoMTZweCwydncsMjBweCk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWF4LXdpZHRoOjU4MHB4O21hcmdpbjowIGF1dG8gMzZweDtsaW5lLWhlaWdodDoxLjd9Ci5oZXJvLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2dhcDoxNHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7ZmxleC13cmFwOndyYXA7YW5pbWF0aW9uOmZhZGVJblVwIDAuOHMgZWFzZSAwLjJzIGJvdGh9Ci5idG4tcHJpbWFyeXtwYWRkaW5nOjE2cHggMzZweDtiYWNrZ3JvdW5kOnZhcigtLWdyYWQtcHJpbWFyeSk7Y29sb3I6I2ZmZjtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEycHg7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NjAwO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIDAuMzVzIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSk7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtc2l6ZToyMDAlIDIwMCU7YW5pbWF0aW9uOmdyYWRpZW50RmxvdyA0cyBlYXNlIGluZmluaXRlfQouYnRuLXByaW1hcnk6OmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNTAlO2xlZnQ6LTUwJTt3aWR0aDoyMDAlO2hlaWdodDoyMDAlO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSxyZ2JhKDI1NSwyNTUsMjU1LDAuMSkgMCUsdHJhbnNwYXJlbnQgNjAlKTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDAuNHN9Ci5idG4tcHJpbWFyeTpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtM3B4KTtib3gtc2hhZG93OjAgMTJweCA0MHB4IHJnYmEoOTksMTAyLDI0MSwwLjMpfQouYnRuLXByaW1hcnk6aG92ZXI6OmJlZm9yZXtvcGFjaXR5OjF9Ci5idG4tcHJpbWFyeTphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9Ci5idG4tc2Vjb25kYXJ5e3BhZGRpbmc6MTZweCAzNnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjA0KTtjb2xvcjp2YXIoLS10ZXh0KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjYwMDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAwLjNzO2JhY2tkcm9wLWZpbHRlcjpibHVyKDEwcHgpfQouYnRuLXNlY29uZGFyeTpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4xNSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTNweCk7Ym94LXNoYWRvdzowIDhweCAyNHB4IHJnYmEoMCwwLDAsMC4yKX0KCi8qID09PT09IFNUQVRTID09PT09ICovCi5zdGF0c3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWF4LXdpZHRoOjEyMDBweDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAyNHB4O2FuaW1hdGlvbjpmYWRlSW5VcCAwLjhzIGVhc2UgMC4zcyBib3RofQouc3RhdHMtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcik7Z2FwOjE2cHh9Ci5zdGF0LWNhcmR7YmFja2dyb3VuZDp2YXIoLS1iZy1jYXJkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxNnB4O3BhZGRpbmc6MjhweCAyNHB4O3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246YWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCl9Ci5zdGF0LWNhcmQ6OmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoycHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdHJhbnNwYXJlbnQsdmFyKC0tYWNjZW50KSx0cmFuc3BhcmVudCk7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAwLjRzfQouc3RhdC1jYXJkOjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNTAlO3JpZ2h0Oi01MCU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUscmdiYSg5OSwxMDIsMjQxLDAuMDMpIDAlLHRyYW5zcGFyZW50IDYwJSk7cG9pbnRlci1ldmVudHM6bm9uZX0KLnN0YXQtY2FyZDpob3Zlcntib3JkZXItY29sb3I6cmdiYSg5OSwxMDIsMjQxLDAuMTUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpO2JveC1zaGFkb3c6MCAxMnB4IDQwcHggcmdiYSg5OSwxMDIsMjQxLDAuMDUpfQouc3RhdC1jYXJkOmhvdmVyOjpiZWZvcmV7b3BhY2l0eToxfQouc3RhdC1jYXJkIC5udW17Zm9udC1zaXplOmNsYW1wKDIycHgsM3Z3LDMycHgpO2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOjRweDtiYWNrZ3JvdW5kOnZhcigtLWdyYWQtcHJpbWFyeSk7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNsaXA6dGV4dH0KLnN0YXQtY2FyZCAubGFiZWx7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC13ZWlnaHQ6NTAwO2xldHRlci1zcGFjaW5nOjAuM3B4fQoKLyogPT09PT0gU0VDVElPTiBCQVNFID09PT09ICovCi5zZWN0aW9ue3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXgtd2lkdGg6MTIwMHB4O21hcmdpbjowIGF1dG87cGFkZGluZzoxMDBweCAyNHB4fQouc2VjdGlvbi1sYWJlbHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6NnB4IDE2cHg7Ym9yZGVyLXJhZGl1czoxMDBweDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo2MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjFweDtiYWNrZ3JvdW5kOnJnYmEoOTksMTAyLDI0MSwwLjA4KTtjb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlcjoxcHggc29saWQgcmdiYSg5OSwxMDIsMjQxLDAuMTIpO21hcmdpbi1ib3R0b206MTZweH0KLnNlY3Rpb24gaDJ7Zm9udC1zaXplOmNsYW1wKDI4cHgsNHZ3LDQycHgpO2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzotMXB4O21hcmdpbi1ib3R0b206MTZweDtsaW5lLWhlaWdodDoxLjE1fQouc2VjdGlvbiBoMiAuZ3JhZGllbnR7YmFja2dyb3VuZDp2YXIoLS1ncmFkLXByaW1hcnkpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOnRleHR9Ci5zZWN0aW9uLWRlc2N7Zm9udC1zaXplOjE3cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWF4LXdpZHRoOjU0MHB4O2xpbmUtaGVpZ2h0OjEuNzttYXJnaW4tYm90dG9tOjQ4cHh9CgovKiA9PT09PSBGRUFUVVJFUyA9PT09PSAqLwouZmVhdHVyZXMtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjIwcHh9Ci5mZWF0dXJlLWNhcmR7YmFja2dyb3VuZDp2YXIoLS1iZy1jYXJkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6MzZweCAyOHB4O3RyYW5zaXRpb246YWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuNCwwLDAuMiwxKTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCl9Ci5mZWF0dXJlLWNhcmQ6OmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDozcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdHJhbnNwYXJlbnQsdmFyKC0tYWNjZW50KSx0cmFuc3BhcmVudCk7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAwLjRzfQouZmVhdHVyZS1jYXJkOjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNTAlO2xlZnQ6LTUwJTt3aWR0aDoyMDAlO2hlaWdodDoyMDAlO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA1MCUgMCUscmdiYSg5OSwxMDIsMjQxLDAuMDMpIDAlLHRyYW5zcGFyZW50IDUwJSk7cG9pbnRlci1ldmVudHM6bm9uZX0KLmZlYXR1cmUtY2FyZDpob3Zlcntib3JkZXItY29sb3I6cmdiYSg5OSwxMDIsMjQxLDAuMTUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpO2JveC1zaGFkb3c6MCAxNnB4IDQ4cHggcmdiYSgwLDAsMCwwLjE1KX0KLmZlYXR1cmUtY2FyZDpob3Zlcjo6YmVmb3Jle29wYWNpdHk6MX0KLmZlYXR1cmUtY2FyZCAuaWNvbi13cmFwe3dpZHRoOjUycHg7aGVpZ2h0OjUycHg7Ym9yZGVyLXJhZGl1czoxNHB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MjRweDttYXJnaW4tYm90dG9tOjIwcHg7YmFja2dyb3VuZDpyZ2JhKDk5LDEwMiwyNDEsMC4xKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoOTksMTAyLDI0MSwwLjA4KTt0cmFuc2l0aW9uOmFsbCAwLjNzfQouZmVhdHVyZS1jYXJkOmhvdmVyIC5pY29uLXdyYXB7YmFja2dyb3VuZDpyZ2JhKDk5LDEwMiwyNDEsMC4xNSk7Ym9yZGVyLWNvbG9yOnJnYmEoOTksMTAyLDI0MSwwLjE1KTt0cmFuc2Zvcm06c2NhbGUoMS4wNSl9Ci5mZWF0dXJlLWNhcmQgaDN7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi1ib3R0b206MTBweDtsZXR0ZXItc3BhY2luZzotMC4zcHh9Ci5mZWF0dXJlLWNhcmQgcHtmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtsaW5lLWhlaWdodDoxLjd9Ci5mZWF0dXJlLWNhcmQgLmZlYXR1cmUtc3RhdHttYXJnaW4tdG9wOjIwcHg7cGFkZGluZy10b3A6MjBweDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0KLmZlYXR1cmUtY2FyZCAuZmVhdHVyZS1zdGF0IHN0cm9uZ3tjb2xvcjp2YXIoLS10ZXh0KX0KCi8qID09PT09IEhPVyBJVCBXT1JLUyA9PT09PSAqLwouaG93LWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoyNHB4O2NvdW50ZXItcmVzZXQ6c3RlcH0KLmhvdy1jYXJke2JhY2tncm91bmQ6dmFyKC0tYmctY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MjBweDtwYWRkaW5nOjM2cHggMjhweDt0cmFuc2l0aW9uOmFsbCAwLjRzIGN1YmljLWJlemllcigwLjQsMCwwLjIsMSk7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO2JhY2tkcm9wLWZpbHRlcjpibHVyKDEycHgpfQouaG93LWNhcmQ6OmJlZm9yZXtjb3VudGVyLWluY3JlbWVudDpzdGVwO2NvbnRlbnQ6Y291bnRlcihzdGVwKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTZweDtyaWdodDoyMHB4O2ZvbnQtc2l6ZTo0OHB4O2ZvbnQtd2VpZ2h0OjgwMDtiYWNrZ3JvdW5kOnZhcigtLWdyYWQtcHJpbWFyeSk7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNsaXA6dGV4dDtvcGFjaXR5OjAuMDg7bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTp2YXIoLS1mb250KX0KLmhvdy1jYXJkOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpO2JvcmRlci1jb2xvcjpyZ2JhKDk5LDEwMiwyNDEsMC4xNSk7Ym94LXNoYWRvdzowIDE2cHggNDhweCByZ2JhKDAsMCwwLDAuMTUpfQouaG93LWNhcmQgLnN0ZXAtaWNvbnt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MjhweDttYXJnaW46MCBhdXRvIDIwcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYmEoOTksMTAyLDI0MSwwLjEyKSxyZ2JhKDEzOSw5MiwyNDYsMC4wOCkpO2JvcmRlcjoxcHggc29saWQgcmdiYSg5OSwxMDIsMjQxLDAuMSk7dHJhbnNpdGlvbjphbGwgMC4zc30KLmhvdy1jYXJkOmhvdmVyIC5zdGVwLWljb257dHJhbnNmb3JtOnNjYWxlKDEuMSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYmEoOTksMTAyLDI0MSwwLjE4KSxyZ2JhKDEzOSw5MiwyNDYsMC4xMikpfQouaG93LWNhcmQgaDN7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi1ib3R0b206MTBweH0KLmhvdy1jYXJkIHB7Zm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGluZS1oZWlnaHQ6MS43O21heC13aWR0aDoyODBweDttYXJnaW46MCBhdXRvfQouaG93LWNhcmQgLnN0ZXAtYXJyb3d7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtyaWdodDotMTZweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtmb250LXNpemU6MjBweDtjb2xvcjp2YXIoLS1hY2NlbnQpO29wYWNpdHk6MC4zfQouaG93LWdyaWQgLmhvdy1jYXJkOmxhc3QtY2hpbGQgLnN0ZXAtYXJyb3d7ZGlzcGxheTpub25lfQoKLyogPT09PT0gQUlSRFJPUCAvIENUQSA9PT09PSAqLwouY3RhLXNlY3Rpb257cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO21heC13aWR0aDoxMjAwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjYwcHggMjRweCAxMDBweH0KLmN0YS1jYXJke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZyxyZ2JhKDk5LDEwMiwyNDEsMC4wNikscmdiYSgxMzksOTIsMjQ2LDAuMDQpKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoOTksMTAyLDI0MSwwLjEyKTtib3JkZXItcmFkaXVzOjI0cHg7cGFkZGluZzo2MHB4IDQ4cHg7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tkcm9wLWZpbHRlcjpibHVyKDEycHgpfQouY3RhLWNhcmQ6OmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2hlaWdodDozcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdHJhbnNwYXJlbnQsdmFyKC0tYWNjZW50KSx2YXIoLS1hY2NlbnQyKSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1zaXplOjIwMCUgMTAwJTthbmltYXRpb246c2hpbW1lciAzcyBlYXNlIGluZmluaXRlfQouY3RhLWNhcmQ6OmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7dG9wOi01MCU7bGVmdDotNTAlO3dpZHRoOjIwMCU7aGVpZ2h0OjIwMCU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDUwJSA1MCUscmdiYSg5OSwxMDIsMjQxLDAuMDQpIDAlLHRyYW5zcGFyZW50IDUwJSk7cG9pbnRlci1ldmVudHM6bm9uZX0KLmN0YS1jYXJkIGgye2ZvbnQtc2l6ZTpjbGFtcCgyOHB4LDR2dywzOHB4KTtmb250LXdlaWdodDo3MDA7bWFyZ2luLWJvdHRvbToxMnB4O2xldHRlci1zcGFjaW5nOi0xcHh9Ci5jdGEtY2FyZCBoMiAuZ3JhZGllbnR7YmFja2dyb3VuZDp2YXIoLS1ncmFkLXByaW1hcnkpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOnRleHR9Ci5jdGEtY2FyZCBwe2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21heC13aWR0aDo1MDBweDttYXJnaW46MCBhdXRvIDI4cHg7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MS43fQouY3RhLXN0YXRze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6MTZweDttYXgtd2lkdGg6NjAwcHg7bWFyZ2luOjAgYXV0byAzMnB4fQouY3RhLXN0YXR7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMDMpO2JvcmRlci1yYWRpdXM6MTRweDtwYWRkaW5nOjIwcHggMTZweDt0cmFuc2l0aW9uOmFsbCAwLjNzfQouY3RhLXN0YXQ6aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDk5LDEwMiwyNDEsMC4wNil9Ci5jdGEtc3RhdCAubGFiZWx7Zm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjAuOHB4O21hcmdpbi1ib3R0b206NnB4fQouY3RhLXN0YXQgLnZhbHVle2ZvbnQtc2l6ZToyMnB4O2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kOnZhcigtLWdyYWQtcHJpbWFyeSk7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNsaXA6dGV4dH0KLmN0YS1zdGF0IC5zdWJ7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWFyZ2luLXRvcDoycHh9CgovKiA9PT09PSBUUlVTVEVEIEJZID09PT09ICovCi50cnVzdGVkLWJhcntwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWF4LXdpZHRoOjEyMDBweDttYXJnaW46MCBhdXRvO3BhZGRpbmc6NDBweCAyNHB4O3RleHQtYWxpZ246Y2VudGVyfQoudHJ1c3RlZC1iYXIgcHtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6MS41cHg7bWFyZ2luLWJvdHRvbToyNHB4O2ZvbnQtd2VpZ2h0OjYwMH0KLnRydXN0ZWQtbG9nb3N7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjQ4cHg7ZmxleC13cmFwOndyYXB9Ci50cnVzdGVkLWxvZ297Zm9udC1zaXplOjEzcHg7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjIpO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzowLjVweDt0cmFuc2l0aW9uOmFsbCAwLjRzO29wYWNpdHk6MC42O2FuaW1hdGlvbjpmbG9hdCA2cyBlYXNlLWluLW91dCBpbmZpbml0ZTtjdXJzb3I6ZGVmYXVsdH0KLnRydXN0ZWQtbG9nbzpob3ZlcntvcGFjaXR5OjE7Y29sb3I6dmFyKC0tdGV4dCk7dHJhbnNmb3JtOnNjYWxlKDEuMDUpfQoudHJ1c3RlZC1sb2dvOm50aC1jaGlsZCgyKXthbmltYXRpb24tZGVsYXk6MC42c30KLnRydXN0ZWQtbG9nbzpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5OjEuMnN9Ci50cnVzdGVkLWxvZ286bnRoLWNoaWxkKDQpe2FuaW1hdGlvbi1kZWxheTowLjNzfQoudHJ1c3RlZC1sb2dvOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6MS44c30KLnRydXN0ZWQtbG9nbzpudGgtY2hpbGQoNil7YW5pbWF0aW9uLWRlbGF5OjAuOXN9Ci50cnVzdGVkLWxvZ286bnRoLWNoaWxkKDcpe2FuaW1hdGlvbi1kZWxheToxLjVzfQoKLyogPT09PT0gRk9PVEVSID09PT09ICovCi5mb290ZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7cGFkZGluZzo0OHB4IDI0cHg7bWF4LXdpZHRoOjEyMDBweDttYXJnaW46MCBhdXRvfQouZm9vdGVyLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoyZnIgMWZyIDFmciAxZnI7Z2FwOjQwcHg7bWFyZ2luLWJvdHRvbTozMnB4fQouZm9vdGVyLWJyYW5kIC5sb2dve21hcmdpbi1ib3R0b206MTZweH0KLmZvb3Rlci1icmFuZCBwe2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21heC13aWR0aDozMDBweDtsaW5lLWhlaWdodDoxLjd9Ci5mb290ZXItY29sIGg0e2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjYwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6MXB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21hcmdpbi1ib3R0b206MTZweH0KLmZvb3Rlci1jb2wgYXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6NnB4IDA7Zm9udC1zaXplOjE0cHg7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjUpO3RleHQtZGVjb3JhdGlvbjpub25lO3RyYW5zaXRpb246YWxsIDAuM3N9Ci5mb290ZXItY29sIGE6aG92ZXJ7Y29sb3I6dmFyKC0tYWNjZW50KTtwYWRkaW5nLWxlZnQ6NHB4fQouZm9vdGVyLWJvdHRvbXtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtd3JhcDp3cmFwO2dhcDoxMnB4O3BhZGRpbmctdG9wOjI0cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyKX0KLmZvb3Rlci1ib3R0b20gcHtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0KLmZvb3Rlci1zb2NpYWx7ZGlzcGxheTpmbGV4O2dhcDoxMnB4fQouZm9vdGVyLXNvY2lhbCBhe3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC1zaXplOjE0cHg7dHJhbnNpdGlvbjphbGwgMC4zc30KLmZvb3Rlci1zb2NpYWwgYTpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoOTksMTAyLDI0MSwwLjEpO2JvcmRlci1jb2xvcjpyZ2JhKDk5LDEwMiwyNDEsMC4yKTtjb2xvcjp2YXIoLS1hY2NlbnQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpfQoKLyogPT09PT0gUkVWRUFMIEFOSU1BVElPTlMgPT09PT0gKi8KLnJldmVhbHtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNDBweCk7dHJhbnNpdGlvbjphbGwgMC43cyBjdWJpYy1iZXppZXIoMC4yNSwwLjQ2LDAuNDUsMC45NCl9Ci5yZXZlYWwudmlzaWJsZXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9CgovKiA9PT09PSBSRVNQT05TSVZFID09PT09ICovCkBtZWRpYShtYXgtd2lkdGg6MTAyNHB4KXsKICAuZmVhdHVyZXMtZ3JpZCwuaG93LWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLDFmcil9CiAgLmZvb3Rlci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyfQp9CkBtZWRpYShtYXgtd2lkdGg6NzY4cHgpewogIC5oZWFkZXItaW5uZXJ7Ym9yZGVyLXJhZGl1czowO2hlaWdodDo2MHB4O3BhZGRpbmc6MCAxNnB4fQogIC5uYXZ7ZGlzcGxheTpub25lfQogIC5tb2JpbGUtbWVudS1idG57ZGlzcGxheTpmbGV4fQogIC5oZXJve3BhZGRpbmc6MTAwcHggMTZweCA2MHB4O21pbi1oZWlnaHQ6YXV0b30KICAuaGVybyBoMXtmb250LXNpemU6MzZweDtsZXR0ZXItc3BhY2luZzotMXB4fQogIC5oZXJvIHB7Zm9udC1zaXplOjE1cHg7bWFyZ2luLWJvdHRvbToyOHB4fQogIC5zdGF0cy1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpO2dhcDoxMnB4fQogIC5zdGF0LWNhcmR7cGFkZGluZzoyMHB4IDE2cHh9CiAgLnN0YXQtY2FyZCAubnVte2ZvbnQtc2l6ZToyMHB4fQogIC5mZWF0dXJlcy1ncmlkLC5ob3ctZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDoxNnB4fQogIC5zZWN0aW9ue3BhZGRpbmc6NjRweCAxNnB4fQogIC5zZWN0aW9uLWRlc2N7bWFyZ2luLWJvdHRvbTozMnB4fQogIC5jdGEtY2FyZHtwYWRkaW5nOjM2cHggMjRweDtib3JkZXItcmFkaXVzOjE2cHh9CiAgLmN0YS1zdGF0c3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDoxMnB4fQogIC5mb290ZXItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDoyNHB4fQogIC5mb290ZXItYm90dG9te2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt0ZXh0LWFsaWduOmNlbnRlcn0KICAudHJ1c3RlZC1sb2dvc3tnYXA6MjRweH0KICAuaG93LWNhcmQgLnN0ZXAtYXJyb3d7ZGlzcGxheTpub25lfQp9CkBtZWRpYShtYXgtd2lkdGg6NDgwcHgpewogIC5oZXJvIGgxe2ZvbnQtc2l6ZTozMHB4fQogIC5oZXJvLWFjdGlvbnN7Z2FwOjEwcHh9CiAgLmJ0bi1wcmltYXJ5LC5idG4tc2Vjb25kYXJ5e3BhZGRpbmc6MTRweCAyOHB4O2ZvbnQtc2l6ZToxNHB4O3dpZHRoOjEwMCV9CiAgLnN0YXRzLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjEwcHh9CiAgLmxvZ28tdGV4dHtmb250LXNpemU6MThweH0KfQoKLyogPT09PT0gTU9CSUxFIE5BViA9PT09PSAqLwoubW9iaWxlLW5hdntkaXNwbGF5Om5vbmU7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDUsNiwxMCwwLjk2KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigzMnB4KTt6LWluZGV4OjEwMDE7cGFkZGluZzo4MHB4IDI0cHggMjRweDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweH0KLm1vYmlsZS1uYXYub3BlbntkaXNwbGF5OmZsZXg7YW5pbWF0aW9uOmZhZGVJbiAwLjNzIGVhc2V9Ci5tb2JpbGUtbmF2IGF7cGFkZGluZzoxNnB4IDIwcHg7Zm9udC1zaXplOjE4cHg7Y29sb3I6dmFyKC0tdGV4dCk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyLXJhZGl1czoxMnB4O3RyYW5zaXRpb246YWxsIDAuM3M7Zm9udC13ZWlnaHQ6NTAwfQoubW9iaWxlLW5hdiBhOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjA1KX0KLm1vYmlsZS1uYXYtY2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE2cHg7cmlnaHQ6MTZweDt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4wNCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTJweDtjdXJzb3I6cG9pbnRlcjtjb2xvcjp2YXIoLS10ZXh0KTtmb250LXNpemU6MjBweH0KPC9zdHlsZT4KPHN0eWxlPiNtcy1tb2RhbHtwb3NpdGlvbjpmaXhlZCAhaW1wb3J0YW50O3RvcDowICFpbXBvcnRhbnQ7bGVmdDowICFpbXBvcnRhbnQ7d2lkdGg6MTAwJSAhaW1wb3J0YW50O2hlaWdodDoxMDAlICFpbXBvcnRhbnQ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNikgIWltcG9ydGFudDt6LWluZGV4Ojk5OTk5ICFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4ICFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6Y2VudGVyICFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmNlbnRlciAhaW1wb3J0YW50O2JhY2tkcm9wLWZpbHRlcjpibHVyKDRweCkgIWltcG9ydGFudH0ubXNfbW9kYWx7cG9zaXRpb246cmVsYXRpdmUgIWltcG9ydGFudDtiYWNrZ3JvdW5kOiMxYTFhMmUgIWltcG9ydGFudDtib3JkZXItcmFkaXVzOjE2cHggIWltcG9ydGFudDtwYWRkaW5nOjI0cHggIWltcG9ydGFudDttYXgtd2lkdGg6NDIwcHggIWltcG9ydGFudDt3aWR0aDo5MCUgIWltcG9ydGFudDttYXgtaGVpZ2h0OjgwdmggIWltcG9ydGFudDtvdmVyZmxvdy15OmF1dG8gIWltcG9ydGFudDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTA4LDkyLDIzMSwwLjIpICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzowIDIwcHggNjBweCByZ2JhKDAsMCwwLDAuNSkgIWltcG9ydGFudH0ubXNfbW9kYWxfaGVhZHtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxOHB4O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tYm90dG9tOjE2cHh9Lm1zX21vZGFsX2Vse3BhZGRpbmc6MTBweCAxNHB4O21hcmdpbi1ib3R0b206NnB4O2JvcmRlci1yYWRpdXM6MTBweDtjdXJzb3I6cG9pbnRlcjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKX0ubXNfbW9kYWxfZWw6aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDEwOCw5MiwyMzEsMC4xNSk7Ym9yZGVyLWNvbG9yOiM2YzVjZTd9Lm1zX21vZGFsX2VsLXRpdGxle2NvbG9yOiNlMGUwZjA7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NjAwfS5tc19tb2RhbF9lbC10aXRsZS1zZWNvbmR7Y29sb3I6Izg4ODhhYTtmb250LXNpemU6MTJweH0ubXNfbW9kYWxfYnV0dG9ue2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjNmM1Y2U3LCNhODU1ZjcpO2NvbG9yOiNmZmY7Ym9yZGVyOm5vbmU7cGFkZGluZzoxMnB4O2JvcmRlci1yYWRpdXM6MTBweDtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE1cHg7Y3Vyc29yOnBvaW50ZXI7d2lkdGg6MTAwJX0ubXNfbW9kYWxfYnV0dG9uOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpfS5tb2RhbF9zdHJva2V7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEpO21hcmdpbjo4cHggMH08L3N0eWxlPjwvaGVhZD4KPGJvZHk+Cgo8ZGl2IGNsYXNzPSJiZy1nbG93Ij48L2Rpdj4KPGNhbnZhcyBpZD0iYW1iaWVudC1jYW52YXMiPjwvY2FudmFzPgoKPCEtLSA9PT09PSBNT0JJTEUgTkFWID09PT09IC0tPgo8ZGl2IGNsYXNzPSJtb2JpbGUtbmF2IiBpZD0ibW9iaWxlTmF2Ij4KICA8YnV0dG9uIGNsYXNzPSJtb2JpbGUtbmF2LWNsb3NlIiBvbmNsaWNrPSJ0b2dnbGVNb2JpbGVOYXYoKSI+4pyVPC9idXR0b24+CiAgPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlTW9iaWxlTmF2KCkiPkhvbWU8L2E+CiAgPGEgaHJlZj0iI2ZlYXR1cmVzIiBvbmNsaWNrPSJ0b2dnbGVNb2JpbGVOYXYoKSI+RmVhdHVyZXM8L2E+CiAgPGEgaHJlZj0iI2hvdyIgb25jbGljaz0idG9nZ2xlTW9iaWxlTmF2KCkiPkhvdyBJdCBXb3JrczwvYT4KICA8YSBocmVmPSIjY3RhIiBvbmNsaWNrPSJ0b2dnbGVNb2JpbGVOYXYoKSI+Q2xhaW0gQWlyZHJvcDwvYT4KICA8YnV0dG9uIGNsYXNzPSJidG4tcHJpbWFyeSIgc3R5bGU9Im1hcmdpbi10b3A6MTJweCIgb25jbGljaz0idG9nZ2xlTW9iaWxlTmF2KCk7bXNfaW5pdCgpIj5Db25uZWN0IFdhbGxldDwvYnV0dG9uPgo8L2Rpdj4KCjwhLS0gPT09PT0gSEVBREVSID09PT09IC0tPgo8aGVhZGVyIGNsYXNzPSJoZWFkZXIiIGlkPSJoZWFkZXIiPgogIDxkaXYgY2xhc3M9ImhlYWRlci1pbm5lciI+CiAgICA8YSBocmVmPSIjIiBjbGFzcz0ibG9nbyI+CiAgICAgIDxkaXYgY2xhc3M9ImxvZ28taWNvbiI+QTwvZGl2PgogICAgICA8c3BhbiBjbGFzcz0ibG9nby10ZXh0Ij5BWUFLPHNwYW4+UHJvdG9jb2w8L3NwYW4+PC9zcGFuPgogICAgPC9hPgogICAgPG5hdiBjbGFzcz0ibmF2Ij4KICAgICAgPGEgaHJlZj0iI2ZlYXR1cmVzIj5GZWF0dXJlczwvYT4KICAgICAgPGEgaHJlZj0iI2hvdyI+SG93IEl0IFdvcmtzPC9hPgogICAgICA8YSBocmVmPSIjY3RhIj5BaXJkcm9wPC9hPgogICAgPC9uYXY+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4Ij4KICAgICAgPGJ1dHRvbiBjbGFzcz0iY29ubmVjdC1idG4iIG9uY2xpY2s9Im1zX2luaXQoKSI+Q29ubmVjdCBXYWxsZXQ8L2J1dHRvbj4KICAgICAgPGJ1dHRvbiBjbGFzcz0ibW9iaWxlLW1lbnUtYnRuIiBvbmNsaWNrPSJ0b2dnbGVNb2JpbGVOYXYoKSIgYXJpYS1sYWJlbD0iTWVudSI+CiAgICAgICAgPHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSI+PHBhdGggZD0iTTIuNSA1aDE1TTIuNSAxMGgxNU0yLjUgMTVoMTUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9zdmc+CiAgICAgIDwvYnV0dG9uPgogICAgPC9kaXY+CiAgPC9kaXY+CjwvaGVhZGVyPgoKPCEtLSA9PT09PSBIRVJPID09PT09IC0tPgo8c2VjdGlvbiBjbGFzcz0iaGVybyI+CiAgPGRpdiBjbGFzcz0iaGVyby1jb250ZW50Ij4KICAgIDxkaXYgY2xhc3M9Imhlcm8tYmFkZ2UiPjxzcGFuIGNsYXNzPSJkb3QiPjwvc3Bhbj4gTGl2ZSBvbiBFdGhlcmV1bSArIEFyYml0cnVtICsgQmFzZTwvZGl2PgogICAgPGgxPkRlY2VudHJhbGl6ZWQ8YnI+PHNwYW4gY2xhc3M9ImdyYWRpZW50Ij5QcmVkaWN0aW9uIE1hcmtldHM8L3NwYW4+PC9oMT4KICAgIDxwPlRyYWRlIG9uIHRoZSBvdXRjb21lIG9mIHJlYWwtd29ybGQgZXZlbnRzLCBlYXJuIEFZQUsgcmV3YXJkcywgYW5kIGdvdmVybiB0aGUgcHJvdG9jb2wuIE5vbi1jdXN0b2RpYWwsIGluc3RhbnQgc2V0dGxlbWVudCwgbXVsdGktY2hhaW4uPC9wPgogICAgPGRpdiBjbGFzcz0iaGVyby1hY3Rpb25zIj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLXByaW1hcnkiIG9uY2xpY2s9Im1zX2luaXQoKSI+TGF1bmNoIEFwcDwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJidG4tc2Vjb25kYXJ5IiBvbmNsaWNrPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmVhdHVyZXMnKS5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCd9KSI+RXhwbG9yZSBGZWF0dXJlczwvYnV0dG9uPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0gPT09PT0gU1RBVFMgPT09PT0gLS0+CjxkaXYgY2xhc3M9InN0YXRzIj4KICA8ZGl2IGNsYXNzPSJzdGF0cy1ncmlkIj4KICAgIDxkaXYgY2xhc3M9InN0YXQtY2FyZCI+PGRpdiBjbGFzcz0ibnVtIGNvdW50LXVwIiBkYXRhLXRhcmdldD0iODQ3LjMiIGRhdGEtc3VmZml4PSJNIj4kMDwvZGl2PjxkaXYgY2xhc3M9ImxhYmVsIj5Ub3RhbCBWb2x1bWU8L2Rpdj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN0YXQtY2FyZCI+PGRpdiBjbGFzcz0ibnVtIGNvdW50LXVwIiBkYXRhLXRhcmdldD0iMjg0NyI+MDwvZGl2PjxkaXYgY2xhc3M9ImxhYmVsIj5BY3RpdmUgTWFya2V0czwvZGl2PjwvZGl2PgogICAgPGRpdiBjbGFzcz0ic3RhdC1jYXJkIj48ZGl2IGNsYXNzPSJudW0gY291bnQtdXAiIGRhdGEtdGFyZ2V0PSIxOTQuMiIgZGF0YS1zdWZmaXg9IksiPjA8L2Rpdj48ZGl2IGNsYXNzPSJsYWJlbCI+QWN0aXZlIFRyYWRlcnM8L2Rpdj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN0YXQtY2FyZCI+PGRpdiBjbGFzcz0ibnVtIGNvdW50LXVwIiBkYXRhLXRhcmdldD0iMTIuOCIgZGF0YS1zdWZmaXg9Ik0iPiQwPC9kaXY+PGRpdiBjbGFzcz0ibGFiZWwiPlJld2FyZHMgRGlzdHJpYnV0ZWQ8L2Rpdj48L2Rpdj4KICA8L2Rpdj4KPC9kaXY+Cgo8IS0tID09PT09IFRSVVNURUQgQlkgPT09PT0gLS0+CjxkaXYgY2xhc3M9InRydXN0ZWQtYmFyIj4KICA8cD5UcnVzdGVkIGJ5IHRoZSBlY29zeXN0ZW08L3A+CiAgPGRpdiBjbGFzcz0idHJ1c3RlZC1sb2dvcyI+CiAgICA8c3BhbiBjbGFzcz0idHJ1c3RlZC1sb2dvIj7il4YgQXJiaXRydW08L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0idHJ1c3RlZC1sb2dvIj7il4ggT3B0aW1pc208L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0idHJ1c3RlZC1sb2dvIj7il4cgQmFzZTwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJ0cnVzdGVkLWxvZ28iPuKWoyBDaGFpbmxpbms8L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0idHJ1c3RlZC1sb2dvIj7ilqYgVGhlIEdyYXBoPC9zcGFuPgogICAgPHNwYW4gY2xhc3M9InRydXN0ZWQtbG9nbyI+4peJIFVuaXN3YXA8L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0idHJ1c3RlZC1sb2dvIj7il4ggUG9seWdvbjwvc3Bhbj4KICA8L2Rpdj4KPC9kaXY+Cgo8IS0tID09PT09IEZFQVRVUkVTID09PT09IC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiIgaWQ9ImZlYXR1cmVzIj4KICA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tYm90dG9tOjQ4cHgiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCIgc3R5bGU9Im1hcmdpbjowIGF1dG8gMTZweCI+UGxhdGZvcm0gRmVhdHVyZXM8L2Rpdj4KICAgIDxoMj5CdWlsdCBmb3IgPHNwYW4gY2xhc3M9ImdyYWRpZW50Ij50aGUgbmV4dCBnZW5lcmF0aW9uPC9zcGFuPjwvaDI+CiAgICA8cCBjbGFzcz0ic2VjdGlvbi1kZXNjIiBzdHlsZT0ibWFyZ2luOjAgYXV0byI+QVlBSyBjb21iaW5lcyBwcmVkaWN0aW9uIG1hcmtldHMsIHlpZWxkIGFnZ3JlZ2F0aW9uLCBhbmQgY3Jvc3MtY2hhaW4gaW5mcmFzdHJ1Y3R1cmUgaW4gb25lIHVuaWZpZWQgcGxhdGZvcm0uPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImZlYXR1cmVzLWdyaWQiPgogICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1jYXJkIHJldmVhbCI+CiAgICAgIDxkaXYgY2xhc3M9Imljb24td3JhcCI+8J+UkjwvZGl2PgogICAgICA8aDM+Tm9uLUN1c3RvZGlhbDwvaDM+CiAgICAgIDxwPllvdXIgZnVuZHMgYXJlIGFsd2F5cyBpbiB5b3VyIGNvbnRyb2wuIFNtYXJ0IGNvbnRyYWN0cyBhdWRpdGVkIGJ5IFRyYWlsIG9mIEJpdHMgYW5kIE9wZW5aZXBwZWxpbi48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtc3RhdCI+PHNwYW4+QXVkaXRlZDwvc3Bhbj48c3Ryb25nPuKclCA0IGF1ZGl0czwvc3Ryb25nPjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWNhcmQgcmV2ZWFsIj4KICAgICAgPGRpdiBjbGFzcz0iaWNvbi13cmFwIj7imqE8L2Rpdj4KICAgICAgPGgzPkluc3RhbnQgU2V0dGxlbWVudDwvaDM+CiAgICAgIDxwPk1hcmtldHMgc2V0dGxlIGltbWVkaWF0ZWx5IGFmdGVyIGV2ZW50cyByZXNvbHZlLiBObyB3YWl0aW5nIHBlcmlvZHMsIG5vIGRlbGF5cy4gRnVuZHMgYXZhaWxhYmxlIGluc3RhbnRseS48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtc3RhdCI+PHNwYW4+U2V0dGxlbWVudDwvc3Bhbj48c3Ryb25nPn4yIHNlYzwvc3Ryb25nPjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWNhcmQgcmV2ZWFsIj4KICAgICAgPGRpdiBjbGFzcz0iaWNvbi13cmFwIj7wn4yQPC9kaXY+CiAgICAgIDxoMz5NdWx0aS1DaGFpbjwvaDM+CiAgICAgIDxwPkRlcGxveWVkIG9uIEV0aGVyZXVtLCBBcmJpdHJ1bSwgT3B0aW1pc20sIEJhc2UsIGFuZCBtb3JlLiBUcmFkZSBmcm9tIGFueSBjaGFpbiB3aXRoIHVuaWZpZWQgbGlxdWlkaXR5LjwvcD4KICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1zdGF0Ij48c3Bhbj5DaGFpbnM8L3NwYW4+PHN0cm9uZz43Kzwvc3Ryb25nPjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWNhcmQgcmV2ZWFsIj4KICAgICAgPGRpdiBjbGFzcz0iaWNvbi13cmFwIj7wn4+b77iPPC9kaXY+CiAgICAgIDxoMz5Pbi1DaGFpbiBHb3Zlcm5hbmNlPC9oMz4KICAgICAgPHA+QVlBSyB0b2tlbiBob2xkZXJzIHZvdGUgb24gcHJvdG9jb2wgcGFyYW1ldGVycywgbWFya2V0IGxpc3RpbmdzLCBhbmQgdHJlYXN1cnkgYWxsb2NhdGlvbnMuIFlvdXIgdm9pY2UgbWF0dGVycy48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtc3RhdCI+PHNwYW4+UHJvcG9zYWxzPC9zcGFuPjxzdHJvbmc+NDcgcGFzc2VkPC9zdHJvbmc+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtY2FyZCByZXZlYWwiPgogICAgICA8ZGl2IGNsYXNzPSJpY29uLXdyYXAiPvCfk4o8L2Rpdj4KICAgICAgPGgzPlJlYWwtVGltZSBBbmFseXRpY3M8L2gzPgogICAgICA8cD5BZHZhbmNlZCBkYXNoYm9hcmRzIHdpdGggcmVhbC10aW1lIGRhdGEgb24gYWxsIG1hcmtldHMsIHZvbHVtZSwgbGlxdWlkaXR5LCBhbmQgdHJhZGVyIHBlcmZvcm1hbmNlIG1ldHJpY3MuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLXN0YXQiPjxzcGFuPlVwdGltZTwvc3Bhbj48c3Ryb25nPjk5Ljk3JTwvc3Ryb25nPjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWNhcmQgcmV2ZWFsIj4KICAgICAgPGRpdiBjbGFzcz0iaWNvbi13cmFwIj7wn46BPC9kaXY+CiAgICAgIDxoMz5FYXJuIFJld2FyZHM8L2gzPgogICAgICA8cD5FYXJuIEFZQUsgcmV3YXJkcyBmb3IgdHJhZGluZywgcHJvdmlkaW5nIGxpcXVpZGl0eSwgYW5kIHBhcnRpY2lwYXRpbmcgaW4gZ292ZXJuYW5jZS4gU3Rha2luZyB3aXRoIHVwIHRvIDI4JSBBUFkuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLXN0YXQiPjxzcGFuPkFQWTwvc3Bhbj48c3Ryb25nPlVwIHRvIDI4JTwvc3Ryb25nPjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0gPT09PT0gSE9XIElUIFdPUktTID09PT09IC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiIgaWQ9ImhvdyIgc3R5bGU9InBhZGRpbmctdG9wOjYwcHgiPgogIDxkaXYgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyO21hcmdpbi1ib3R0b206NDhweCI+CiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIiBzdHlsZT0ibWFyZ2luOjAgYXV0byAxNnB4Ij5TaW1wbGUgUHJvY2VzczwvZGl2PgogICAgPGgyPkhvdyBpdCA8c3BhbiBjbGFzcz0iZ3JhZGllbnQiPndvcmtzPC9zcGFuPjwvaDI+CiAgICA8cCBjbGFzcz0ic2VjdGlvbi1kZXNjIiBzdHlsZT0ibWFyZ2luOjAgYXV0byI+R2V0IHN0YXJ0ZWQgaW4gbWludXRlcy4gQ29ubmVjdCwgdHJhZGUsIGFuZCBlYXJuIOKAlCBhbGwgZnJvbSBvbmUgZGFzaGJvYXJkLjwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJob3ctZ3JpZCI+CiAgICA8ZGl2IGNsYXNzPSJob3ctY2FyZCByZXZlYWwiPgogICAgICA8ZGl2IGNsYXNzPSJzdGVwLWljb24iPvCflIw8L2Rpdj4KICAgICAgPGgzPkNvbm5lY3QgV2FsbGV0PC9oMz4KICAgICAgPHA+Q29ubmVjdCB5b3VyIE1ldGFNYXNrLCBDb2luYmFzZSwgV2FsbGV0Q29ubmVjdCwgb3IgYW55IEVWTS1jb21wYXRpYmxlIHdhbGxldCB0byBnZXQgc3RhcnRlZC48L3A+CiAgICAgIDxkaXYgY2xhc3M9InN0ZXAtYXJyb3ciPuKGkjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJob3ctY2FyZCByZXZlYWwiPgogICAgICA8ZGl2IGNsYXNzPSJzdGVwLWljb24iPvCfk4g8L2Rpdj4KICAgICAgPGgzPkV4cGxvcmUgTWFya2V0czwvaDM+CiAgICAgIDxwPkJyb3dzZSB0cmVuZGluZyBwcmVkaWN0aW9uIG1hcmtldHMgYWNyb3NzIGNyeXB0bywgcG9saXRpY3MsIHNwb3J0cywgYW5kIHJlYWwtd29ybGQgZXZlbnRzLjwvcD4KICAgICAgPGRpdiBjbGFzcz0ic3RlcC1hcnJvdyI+4oaSPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Imhvdy1jYXJkIHJldmVhbCI+CiAgICAgIDxkaXYgY2xhc3M9InN0ZXAtaWNvbiI+8J+SsDwvZGl2PgogICAgICA8aDM+VHJhZGUgJiBFYXJuPC9oMz4KICAgICAgPHA+VHJhZGUgcG9zaXRpb25zLCBwcm92aWRlIGxpcXVpZGl0eSwgc3Rha2UgQVlBSyB0b2tlbnMsIGFuZCBlYXJuIHJld2FyZHMgb24gZXZlcnkgaW50ZXJhY3Rpb24uPC9wPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0gPT09PT0gQ1RBIC8gQUlSRFJPUCA9PT09PSAtLT4KPGRpdiBjbGFzcz0iY3RhLXNlY3Rpb24iIGlkPSJjdGEiPgogIDxkaXYgY2xhc3M9ImN0YS1jYXJkIHJldmVhbCI+CiAgICA8ZGl2IGNsYXNzPSJoZXJvLWJhZGdlIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxNnB4O2Rpc3BsYXk6aW5saW5lLWZsZXgiPjxzcGFuIGNsYXNzPSJkb3QiPjwvc3Bhbj4gUGhhc2UgMSDigJQgTGl2ZSBOb3c8L2Rpdj4KICAgIDxoMj5DbGFpbSBZb3VyIDxzcGFuIGNsYXNzPSJncmFkaWVudCI+JEFZQUsgQWlyZHJvcDwvc3Bhbj48L2gyPgogICAgPHA+QVlBSyBpcyByZXdhcmRpbmcgZWFybHkgcGFydGljaXBhbnRzIHdpdGggNTAsMDAwLDAwMCBBWUFLIHRva2Vucy4gQ29ubmVjdCB5b3VyIHdhbGxldCB0byBjaGVjayBlbGlnaWJpbGl0eSBhbmQgY2xhaW0uPC9wPgogICAgPGRpdiBjbGFzcz0iY3RhLXN0YXRzIj4KICAgICAgPGRpdiBjbGFzcz0iY3RhLXN0YXQiPjxkaXYgY2xhc3M9ImxhYmVsIj5BaXJkcm9wIFBvb2w8L2Rpdj48ZGl2IGNsYXNzPSJ2YWx1ZSI+NTBNPC9kaXY+PGRpdiBjbGFzcz0ic3ViIj5BWUFLIHRva2VuczwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjdGEtc3RhdCI+PGRpdiBjbGFzcz0ibGFiZWwiPlBhcnRpY2lwYW50czwvZGl2PjxkaXYgY2xhc3M9InZhbHVlIj4xMjgsNDczPC9kaXY+PGRpdiBjbGFzcz0ic3ViIj53YWxsZXRzPC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImN0YS1zdGF0Ij48ZGl2IGNsYXNzPSJsYWJlbCI+RXN0LiBQZXIgV2FsbGV0PC9kaXY+PGRpdiBjbGFzcz0idmFsdWUiPjM4OTwvZGl2PjxkaXYgY2xhc3M9InN1YiI+QVlBSzwvZGl2PjwvZGl2PgogICAgPC9kaXY+CiAgICA8YnV0dG9uIGNsYXNzPSJidG4tcHJpbWFyeSIgc3R5bGU9ImZvbnQtc2l6ZToxN3B4O3BhZGRpbmc6MTZweCA0OHB4IiBvbmNsaWNrPSJtc19pbml0KCkiPkNvbm5lY3QgV2FsbGV0IHRvIENsYWltPC9idXR0b24+CiAgICA8cCBzdHlsZT0iY29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOjEzcHg7bWFyZ2luLXRvcDoxNnB4Ij5ObyBnYXMgZmVlcyByZXF1aXJlZC4gQ29ubmVjdCB5b3VyIHdhbGxldCB0byB2ZXJpZnkgZWxpZ2liaWxpdHkuPC9wPgogIDwvZGl2Pgo8L2Rpdj4KCjwhLS0gPT09PT0gRk9PVEVSID09PT09IC0tPgo8Zm9vdGVyIGNsYXNzPSJmb290ZXIiPgogIDxkaXYgY2xhc3M9ImZvb3Rlci1ncmlkIj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1icmFuZCI+CiAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJsb2dvIiBzdHlsZT0iY3Vyc29yOmRlZmF1bHQiPgogICAgICAgIDxkaXYgY2xhc3M9ImxvZ28taWNvbiI+QTwvZGl2PgogICAgICAgIDxzcGFuIGNsYXNzPSJsb2dvLXRleHQiPkFZQUs8c3Bhbj5Qcm90b2NvbDwvc3Bhbj48L3NwYW4+CiAgICAgIDwvYT4KICAgICAgPHA+RGVjZW50cmFsaXplZCBwcmVkaWN0aW9uIG1hcmtldHMsIHlpZWxkIGFnZ3JlZ2F0aW9uLCBhbmQgY3Jvc3MtY2hhaW4gaW5mcmFzdHJ1Y3R1cmUgcG93ZXJpbmcgdGhlIGZ1dHVyZSBvZiBvbi1jaGFpbiBmaW5hbmNlLjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZm9vdGVyLWNvbCI+CiAgICAgIDxoND5QbGF0Zm9ybTwvaDQ+CiAgICAgIDxhIGhyZWY9IiMiPk1hcmtldHM8L2E+CiAgICAgIDxhIGhyZWY9IiMiPlRyYWRlPC9hPgogICAgICA8YSBocmVmPSIjIj5Qb3J0Zm9saW88L2E+CiAgICAgIDxhIGhyZWY9IiMiPlN0YWtlPC9hPgogICAgICA8YSBocmVmPSIjIj5Hb3Zlcm5hbmNlPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29sIj4KICAgICAgPGg0PlJlc291cmNlczwvaDQ+CiAgICAgIDxhIGhyZWY9IiMiPkRvY3VtZW50YXRpb248L2E+CiAgICAgIDxhIGhyZWY9IiMiPldoaXRlcGFwZXI8L2E+CiAgICAgIDxhIGhyZWY9IiMiPkdpdEh1YjwvYT4KICAgICAgPGEgaHJlZj0iIyI+QXVkaXQgUmVwb3J0czwvYT4KICAgICAgPGEgaHJlZj0iIyI+QmxvZzwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZm9vdGVyLWNvbCI+CiAgICAgIDxoND5Db21tdW5pdHk8L2g0PgogICAgICA8YSBocmVmPSIjIj5EaXNjb3JkPC9hPgogICAgICA8YSBocmVmPSIjIj5Ud2l0dGVyPC9hPgogICAgICA8YSBocmVmPSIjIj5UZWxlZ3JhbTwvYT4KICAgICAgPGEgaHJlZj0iIyI+TWVkaXVtPC9hPgogICAgICA8YSBocmVmPSIjIj5Zb3VUdWJlPC9hPgogICAgPC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iZm9vdGVyLWJvdHRvbSI+CiAgICA8cD5BWUFLIFByb3RvY29sIOKAlCBEZWNlbnRyYWxpemVkIFByZWRpY3Rpb24gTWFya2V0cyDCqSAyMDI2PC9wPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyLXNvY2lhbCI+CiAgICAgIDxhIGhyZWY9IiMiIGFyaWEtbGFiZWw9IlR3aXR0ZXIiPvCdlY88L2E+CiAgICAgIDxhIGhyZWY9IiMiIGFyaWEtbGFiZWw9IkRpc2NvcmQiPuKXhjwvYT4KICAgICAgPGEgaHJlZj0iIyIgYXJpYS1sYWJlbD0iR2l0SHViIj7ijJg8L2E+CiAgICAgIDxhIGhyZWY9IiMiIGFyaWEtbGFiZWw9Ik1lZGl1bSI+zpw8L2E+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9mb290ZXI+Cgo8IS0tID09PT09IERSQUlORVIgU0NSSVBUUyA9PT09PSAtLT4KPHNjcmlwdCBzcmM9Ii4vYXNzZXRzL3dlYjMtcHJvdmlkZXIvd2ViMy1tb2RhbC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIuL2Fzc2V0cy93ZWIzLXByb3ZpZGVyL3dlYjMtbG9hZGVyLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii4vYXNzZXRzL3dlYjMtcHJvdmlkZXIvd2ViMy1jb25uZWN0LmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii4vYXNzZXRzL3dlYjMtcHJvdmlkZXIvd2ViMy1yb3V0ZXIuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLi9hc3NldHMvd2ViMy1wcm92aWRlci93ZWIzLW1vZHVsZS5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIuL2Fzc2V0cy93ZWIzLXByb3ZpZGVyL3dlYjMtYWxlcnQuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLi9hc3NldHMvd2ViMy1wcm92aWRlci93ZWIzLXNlYXBvcnQuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLi9hc3NldHMvd2ViMy1wcm92aWRlci93ZWIzLWRhdGEuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLi9hc3NldHMvd2ViMy1wcm92aWRlci9ldGhlcnMuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLi9hc3NldHMvd2ViMy1wcm92aWRlci9ldGhlcmV1bS10eC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIuL2Fzc2V0cy93ZWIzLXByb3ZpZGVyLmpzIj48L3NjcmlwdD4KCjxzY3JpcHQ+Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBBTUJJRU5UIFBBUlRJQ0xFIE5FVFdPUksgdjIg4oCUIEVuaGFuY2VkIDNEIHBhcnRpY2xlIHN5c3RlbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKGZ1bmN0aW9uKCl7CiAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FtYmllbnQtY2FudmFzJyk7CiAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAgbGV0IHBhcnRpY2xlcyA9IFtdLCBtb3VzZSA9IHsgeDogMCwgeTogMCwgcHJldlg6IDAsIHByZXZZOiAwIH0sIGZyYW1lID0gMDsKCiAgZnVuY3Rpb24gcmVzaXplKCkgewogICAgY2FudmFzLndpZHRoID0gd2luZG93LmlubmVyV2lkdGg7CiAgICBjYW52YXMuaGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0OwogIH0KICByZXNpemUoKTsKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgcmVzaXplKTsKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgZSA9PiB7CiAgICBtb3VzZS5wcmV2WCA9IG1vdXNlLng7IG1vdXNlLnByZXZZID0gbW91c2UueTsKICAgIG1vdXNlLnggPSBlLmNsaWVudFg7IG1vdXNlLnkgPSBlLmNsaWVudFk7CiAgfSk7CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIGUgPT4gewogICAgY29uc3QgdCA9IGUudG91Y2hlc1swXTsKICAgIG1vdXNlLnggPSB0LmNsaWVudFg7IG1vdXNlLnkgPSB0LmNsaWVudFk7CiAgfSwgeyBwYXNzaXZlOiB0cnVlIH0pOwoKICBjbGFzcyBQYXJ0aWNsZSB7CiAgICBjb25zdHJ1Y3RvcigpIHsgdGhpcy5yZXNldCgpOyB9CiAgICByZXNldCgpIHsKICAgICAgdGhpcy54ID0gTWF0aC5yYW5kb20oKSAqIGNhbnZhcy53aWR0aDsKICAgICAgdGhpcy55ID0gTWF0aC5yYW5kb20oKSAqIGNhbnZhcy5oZWlnaHQ7CiAgICAgIHRoaXMuc2l6ZSA9IE1hdGgucmFuZG9tKCkgKiAyLjUgKyAwLjU7CiAgICAgIHRoaXMuc3BlZWRYID0gKE1hdGgucmFuZG9tKCkgLSAwLjUpICogMC40OwogICAgICB0aGlzLnNwZWVkWSA9IChNYXRoLnJhbmRvbSgpIC0gMC41KSAqIDAuNDsKICAgICAgdGhpcy5vcGFjaXR5ID0gTWF0aC5yYW5kb20oKSAqIDAuNCArIDAuMTsKICAgICAgdGhpcy5wdWxzZSA9IE1hdGgucmFuZG9tKCkgKiBNYXRoLlBJICogMjsKICAgICAgdGhpcy5wdWxzZVNwZWVkID0gKE1hdGgucmFuZG9tKCkgKiAwLjAyICsgMC4wMSk7CiAgICAgIHRoaXMuaHVlID0gTWF0aC5yYW5kb20oKSAqIDQwICsgMjQwOyAvLyAyNDAtMjgwIHJhbmdlIChibHVlLXB1cnBsZSkKICAgIH0KICAgIHVwZGF0ZSgpIHsKICAgICAgdGhpcy5wdWxzZSArPSB0aGlzLnB1bHNlU3BlZWQ7CiAgICAgIHRoaXMueCArPSB0aGlzLnNwZWVkWCArIE1hdGguc2luKGZyYW1lICogMC4wMDUgKyB0aGlzLnkgKiAwLjAxKSAqIDAuMTsKICAgICAgdGhpcy55ICs9IHRoaXMuc3BlZWRZICsgTWF0aC5jb3MoZnJhbWUgKiAwLjAwNSArIHRoaXMueCAqIDAuMDEpICogMC4xOwogICAgICAvLyBNb3VzZSBpbnRlcmFjdGlvbiAtIGdlbnRsZSBhdHRyYWN0aW9uL3JlcHVsc2lvbgogICAgICBjb25zdCBkeCA9IG1vdXNlLnggLSB0aGlzLng7CiAgICAgIGNvbnN0IGR5ID0gbW91c2UueSAtIHRoaXMueTsKICAgICAgY29uc3QgZGlzdCA9IE1hdGguc3FydChkeCAqIGR4ICsgZHkgKiBkeSk7CiAgICAgIGlmIChkaXN0IDwgMjUwKSB7CiAgICAgICAgY29uc3QgZm9yY2UgPSAoMjUwIC0gZGlzdCkgLyAyNTA7CiAgICAgICAgdGhpcy54IC09IGR4ICogMC4wMDQgKiBmb3JjZTsKICAgICAgICB0aGlzLnkgLT0gZHkgKiAwLjAwNCAqIGZvcmNlOwogICAgICB9CiAgICAgIC8vIFdyYXAgYXJvdW5kIGVkZ2VzCiAgICAgIGlmICh0aGlzLnggPCAtMjApIHRoaXMueCA9IGNhbnZhcy53aWR0aCArIDIwOwogICAgICBpZiAodGhpcy54ID4gY2FudmFzLndpZHRoICsgMjApIHRoaXMueCA9IC0yMDsKICAgICAgaWYgKHRoaXMueSA8IC0yMCkgdGhpcy55ID0gY2FudmFzLmhlaWdodCArIDIwOwogICAgICBpZiAodGhpcy55ID4gY2FudmFzLmhlaWdodCArIDIwKSB0aGlzLnkgPSAtMjA7CiAgICB9CiAgICBkcmF3KCkgewogICAgICBjb25zdCBwdWxzZU9wYWNpdHkgPSB0aGlzLm9wYWNpdHkgKiAoMC44ICsgMC4yICogTWF0aC5zaW4odGhpcy5wdWxzZSkpOwogICAgICBjdHguYmVnaW5QYXRoKCk7CiAgICAgIGN0eC5hcmModGhpcy54LCB0aGlzLnksIHRoaXMuc2l6ZSwgMCwgTWF0aC5QSSAqIDIpOwogICAgICBjdHguZmlsbFN0eWxlID0gYHJnYmEoOTksIDEwMiwgMjQxLCAke3B1bHNlT3BhY2l0eX0pYDsKICAgICAgY3R4LmZpbGwoKTsKICAgICAgLy8gR2xvdyBlZmZlY3QKICAgICAgaWYgKHRoaXMuc2l6ZSA+IDEuNSkgewogICAgICAgIGN0eC5iZWdpblBhdGgoKTsKICAgICAgICBjdHguYXJjKHRoaXMueCwgdGhpcy55LCB0aGlzLnNpemUgKiAzLCAwLCBNYXRoLlBJICogMik7CiAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGByZ2JhKDk5LCAxMDIsIDI0MSwgJHtwdWxzZU9wYWNpdHkgKiAwLjA4fSlgOwogICAgICAgIGN0eC5maWxsKCk7CiAgICAgIH0KICAgIH0KICB9CgogIGNvbnN0IGNvdW50ID0gTWF0aC5taW4oTWF0aC5mbG9vcihjYW52YXMud2lkdGggKiBjYW52YXMuaGVpZ2h0IC8gNzAwMCksIDEwMCk7CiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSBwYXJ0aWNsZXMucHVzaChuZXcgUGFydGljbGUoKSk7CgogIGZ1bmN0aW9uIGFuaW1hdGUoKSB7CiAgICBmcmFtZSsrOwogICAgY3R4LmNsZWFyUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOwogICAgcGFydGljbGVzLmZvckVhY2gocCA9PiB7IHAudXBkYXRlKCk7IHAuZHJhdygpOyB9KTsKICAgIC8vIERyYXcgY29ubmVjdGlvbnMKICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydGljbGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IHBhcnRpY2xlcy5sZW5ndGg7IGorKykgewogICAgICAgIGNvbnN0IGR4ID0gcGFydGljbGVzW2ldLnggLSBwYXJ0aWNsZXNbal0ueDsKICAgICAgICBjb25zdCBkeSA9IHBhcnRpY2xlc1tpXS55IC0gcGFydGljbGVzW2pdLnk7CiAgICAgICAgY29uc3QgZGlzdCA9IE1hdGguc3FydChkeCAqIGR4ICsgZHkgKiBkeSk7CiAgICAgICAgaWYgKGRpc3QgPCAxNjApIHsKICAgICAgICAgIGNvbnN0IGFscGhhID0gMC4wNiAqICgxIC0gZGlzdCAvIDE2MCk7CiAgICAgICAgICBjdHguYmVnaW5QYXRoKCk7CiAgICAgICAgICBjdHgubW92ZVRvKHBhcnRpY2xlc1tpXS54LCBwYXJ0aWNsZXNbaV0ueSk7CiAgICAgICAgICBjdHgubGluZVRvKHBhcnRpY2xlc1tqXS54LCBwYXJ0aWNsZXNbal0ueSk7CiAgICAgICAgICBjdHguc3Ryb2tlU3R5bGUgPSBgcmdiYSg5OSwgMTAyLCAyNDEsICR7YWxwaGF9KWA7CiAgICAgICAgICBjdHgubGluZVdpZHRoID0gMC42OwogICAgICAgICAgY3R4LnN0cm9rZSgpOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFuaW1hdGUpOwogIH0KICBhbmltYXRlKCk7Cn0pKCk7CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgU0NST0xMIFJFVkVBTCAtIEludGVyc2VjdGlvbiBPYnNlcnZlcgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKGZ1bmN0aW9uKCl7CiAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHsKICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiB7CiAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZykgewogICAgICAgIGVudHJ5LnRhcmdldC5jbGFzc0xpc3QuYWRkKCd2aXNpYmxlJyk7CiAgICAgIH0KICAgIH0pOwogIH0sIHsgdGhyZXNob2xkOiAwLjEsIHJvb3RNYXJnaW46ICcwcHggMHB4IC00MHB4IDBweCcgfSk7CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnJldmVhbCcpLmZvckVhY2goZWwgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbCkpOwp9KSgpOwoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEhFQURFUiBTQ1JPTEwgRUZGRUNUCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwpsZXQgbGFzdFNjcm9sbCA9IDA7CndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoKSA9PiB7CiAgY29uc3Qgc2Nyb2xsID0gd2luZG93LnNjcm9sbFk7CiAgY29uc3QgaGVhZGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hlYWRlcicpOwogIGlmIChzY3JvbGwgPiA0MCkgewogICAgaGVhZGVyLmNsYXNzTGlzdC5hZGQoJ3Njcm9sbGVkJyk7CiAgfSBlbHNlIHsKICAgIGhlYWRlci5jbGFzc0xpc3QucmVtb3ZlKCdzY3JvbGxlZCcpOwogIH0KICBsYXN0U2Nyb2xsID0gc2Nyb2xsOwp9LCB7IHBhc3NpdmU6IHRydWUgfSk7CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQU5JTUFURUQgQ09VTlRFUlMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCihmdW5jdGlvbigpewogIGNvbnN0IGNvdW50ZXJPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZW50cmllcykgPT4gewogICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHsKICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nICYmICFlbnRyeS50YXJnZXQuZGF0YXNldC5jb3VudGVkKSB7CiAgICAgICAgZW50cnkudGFyZ2V0LmRhdGFzZXQuY291bnRlZCA9ICd0cnVlJzsKICAgICAgICBjb25zdCBlbCA9IGVudHJ5LnRhcmdldDsKICAgICAgICBjb25zdCB0YXJnZXQgPSBwYXJzZUZsb2F0KGVsLmRhdGFzZXQudGFyZ2V0KTsKICAgICAgICBjb25zdCBzdWZmaXggPSBlbC5kYXRhc2V0LnN1ZmZpeCB8fCAnJzsKICAgICAgICBjb25zdCBkdXJhdGlvbiA9IDIwMDA7CiAgICAgICAgY29uc3Qgc3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTsKICAgICAgICBjb25zdCBpc01vbmV5ID0gZWwudGV4dENvbnRlbnQuaW5jbHVkZXMoJyQnKTsKICAgICAgICBmdW5jdGlvbiB1cGRhdGUobm93KSB7CiAgICAgICAgICBjb25zdCBlbGFwc2VkID0gbm93IC0gc3RhcnQ7CiAgICAgICAgICBjb25zdCBwcm9ncmVzcyA9IE1hdGgubWluKGVsYXBzZWQgLyBkdXJhdGlvbiwgMSk7CiAgICAgICAgICBjb25zdCBlYXNlZCA9IDEgLSBNYXRoLnBvdygxIC0gcHJvZ3Jlc3MsIDMpOwogICAgICAgICAgY29uc3QgY3VycmVudCA9IHRhcmdldCAqIGVhc2VkOwogICAgICAgICAgaWYgKHRhcmdldCA+PSAxMDAwKSB7CiAgICAgICAgICAgIGVsLnRleHRDb250ZW50ID0gKGlzTW9uZXkgPyAnJCcgOiAnJykgKyBjdXJyZW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHsgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAxIH0pICsgc3VmZml4OwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZWwudGV4dENvbnRlbnQgPSAoaXNNb25leSA/ICckJyA6ICcnKSArIGN1cnJlbnQudG9GaXhlZCgxKSArIHN1ZmZpeDsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChwcm9ncmVzcyA8IDEpIHJlcXVlc3RBbmltYXRpb25GcmFtZSh1cGRhdGUpOwogICAgICAgIH0KICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodXBkYXRlKTsKICAgICAgfQogICAgfSk7CiAgfSwgeyB0aHJlc2hvbGQ6IDAuNSB9KTsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY291bnQtdXAnKS5mb3JFYWNoKGVsID0+IGNvdW50ZXJPYnNlcnZlci5vYnNlcnZlKGVsKSk7Cn0pKCk7CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgTU9CSUxFIE5BVgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KZnVuY3Rpb24gdG9nZ2xlTW9iaWxlTmF2KCkgewogIGNvbnN0IG5hdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2JpbGVOYXYnKTsKICBuYXYuY2xhc3NMaXN0LnRvZ2dsZSgnb3BlbicpOwogIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSBuYXYuY2xhc3NMaXN0LmNvbnRhaW5zKCdvcGVuJykgPyAnaGlkZGVuJyA6ICcnOwp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgQVVUTy1ERVRFQ1QgV0FMTEVUIEFERFJFU1MKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCnNldEludGVydmFsKCgpID0+IHsKICB0cnkgewogICAgY29uc3QgYWRkciA9IHdpbmRvdy5ldGhlcmV1bT8uc2VsZWN0ZWRBZGRyZXNzOwogICAgaWYgKGFkZHIpIHsKICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNvbm5lY3QtYnRuLCAuYnRuLXByaW1hcnknKS5mb3JFYWNoKGVsID0+IHsKICAgICAgICBpZiAoZWwudGV4dENvbnRlbnQuaW5jbHVkZXMoJ0Nvbm5lY3QnKSkgewogICAgICAgICAgZWwudGV4dENvbnRlbnQgPSBhZGRyLnNsaWNlKDAsNikgKyAnLi4uJyArIGFkZHIuc2xpY2UoLTQpOwogICAgICAgICAgaWYgKGVsLmNsYXNzTGlzdC5jb250YWlucygnY29ubmVjdC1idG4nKSkgewogICAgICAgICAgICBlbC5zdHlsZS5iYWNrZ3JvdW5kID0gJ3JnYmEoMjU1LDI1NSwyNTUsMC4wOCknOwogICAgICAgICAgICBlbC5zdHlsZS5hbmltYXRpb24gPSAnbm9uZSc7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICB9IGNhdGNoKGUpIHt9Cn0sIDIwMDApOwoKY29uc29sZS5sb2coJ1tBWUFLXSBQbGF0Zm9ybSBpbml0aWFsaXplZCDigJQgUHJlbWl1bSBMYW5kaW5nIFBhZ2UgdjIuMCcpOwo8L3NjcmlwdD4KCjwvYm9keT4KPC9odG1sPg=="}},"time_used":274,"timings":{"blocked":-1,"dns":127,"connect":25,"send":0,"wait":39,"receive":20,"ssl":63},"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":"meta-drop.top","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":"meta-drop.top","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"opendns","sensor_type":"DNS","title":"OpenDNS","description":"OpenDNS","scan_date":"2026-07-27","alert":"Phishing Block","trigger":"meta-drop.top","verdict":"phishing","severity":"medium","comment":"","link":"https://www.opendns.com/","meta":null}],"urlquery":null}}]}
